# PaCkAgE DaTaStReAm
WSwebmin 1 46237
# end of header
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          0707010003e0fe000081a40000000000000001000000013d1ff8ef000000d6000000200000000000000000000000000000001100000003WSwebmin/pkginfo  PKG=WSwebmin
NAME=Webmin - Web-based system administration
ARCH=Solaris 2.5
VERSION=0.990
CATEGORY=application
VENDOR=Webmin Software
EMAIL=jcameron@webmin.com
PSTAMP=Jamie Cameron
BASEDIR=/opt/webmin
CLASSES=none
  0707010003e0f4000081a40000000000000001000000013d1ff9bb00096e4f000000200000000000000000000000000000001000000003WSwebmin/pkgmap   : 1 46237
1 f none /etc/rc3.d/S99webmin 0755 root bin 944 5470 1025499831
1 f none LICENCE 0600 root bin 1592 56884 1025499831
1 f none LICENCE.ja 0600 root bin 1654 62895 1025499832
1 f none README 0600 root bin 1156 39017 1025499831
1 d none acl 0700 root bin
1 f none acl/acl-lib.pl 0600 root bin 11569 29019 1025499857
1 f none acl/acl_security.pl 0600 root bin 6687 20937 1025499857
1 f none acl/cert_form.cgi 0700 root bin 1380 49580 1025499856
1 f none acl/cert_issue.cgi 0700 root bin 1573 65268 1025499857
1 f none acl/cert_output.cgi 0700 root bin 218 18089 1025499857
1 f none acl/config 0600 root bin 51 4673 1025499857
1 f none acl/config-debian-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-freebsd 0600 root bin 41 3718 1025499857
1 f none acl/config-generic-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-gentoo-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-macos-1.3 0600 root bin 41 3718 1025499857
1 f none acl/config-macos-1.4 0600 root bin 41 3718 1025499857
1 f none acl/config-mandrake-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-msc-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-open-linux-3.1e 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.1 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.2 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.3 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.1 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.2 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.3 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-8.0 0600 root bin 41 3718 1025499857
1 f none acl/config.info 0600 root bin 156 14031 1025499857
1 f none acl/config.info.ca 0600 root bin 182 16660 1025499857
1 f none acl/config.info.cz 0600 root bin 46 4309 1025499857
1 f none acl/config.info.de 0600 root bin 169 15175 1025499857
1 f none acl/config.info.es 0600 root bin 117 11036 1025499857
1 f none acl/config.info.hu 0600 root bin 142 13995 1025499857
1 f none acl/config.info.ja_JP.euc 0600 root bin 117 18030 1025499857
1 f none acl/config.info.nl 0600 root bin 110 10046 1025499857
1 f none acl/config.info.pl 0600 root bin 198 19310 1025499857
1 f none acl/config.info.ru_RU 0600 root bin 117 19765 1025499857
1 f none acl/config.info.ru_SU 0600 root bin 117 17850 1025499857
1 f none acl/config.info.sv 0600 root bin 102 9688 1025499857
1 f none acl/config.info.tr 0600 root bin 108 11053 1025499857
1 f none acl/config.info.zh_CN 0600 root bin 88 11060 1025499857
1 f none acl/config.info.zh_TW.Big5 0600 root bin 41 4869 1025499857
1 f none acl/convert.cgi 0700 root bin 2657 14524 1025499857
1 f none acl/convert_form.cgi 0700 root bin 1557 2399 1025499857
1 f none acl/defaultacl 0600 root bin 140 11626 1025499857
1 f none acl/delete_group.cgi 0700 root bin 1251 38724 1025499857
1 f none acl/delete_session.cgi 0700 root bin 338 30252 1025499857
1 f none acl/delete_user.cgi 0700 root bin 653 54295 1025499857
1 f none acl/edit_acl.cgi 0700 root bin 2293 57167 1025499857
1 f none acl/edit_group.cgi 0700 root bin 2498 5269 1025499857
1 f none acl/edit_sync.cgi 0700 root bin 1046 23051 1025499857
1 f none acl/edit_unix.cgi 0700 root bin 977 18275 1025499857
1 f none acl/edit_user.cgi 0700 root bin 8572 32164 1025499857
1 f none acl/feedback_files.pl 0600 root bin 232 19940 1025499857
1 d none acl/images 0700 root bin
1 f none acl/images/cert.gif 0600 root bin 1420 41188 1025499857
1 f none acl/images/convert.gif 0600 root bin 1798 17771 1025499857
1 f none acl/images/empty.gif 0600 root bin 64 5363 1025499857
1 f none acl/images/icon.gif 0600 root bin 1932 44305 1025499857
1 f none acl/images/sessions.gif 0600 root bin 1705 53289 1025499857
1 f none acl/images/sync.gif 0600 root bin 1708 10354 1025499857
1 f none acl/images/tick.gif 0600 root bin 75 7211 1025499857
1 f none acl/images/unix.gif 0600 root bin 390 43396 1025499857
1 f none acl/index.cgi 0700 root bin 7453 40861 1025499857
1 d none acl/lang 0700 root bin
1 f none acl/lang/ca 0600 root bin 9491 51671 1025499857
1 f none acl/lang/cz 0600 root bin 3005 53904 1025499857
1 f none acl/lang/de 0600 root bin 11481 24596 1025499856
1 f none acl/lang/en 0600 root bin 9186 8705 1025499856
1 f none acl/lang/es 0600 root bin 7502 57258 1025499856
1 f none acl/lang/fr 0600 root bin 8449 40044 1025499856
1 f none acl/lang/hu 0600 root bin 4476 11421 1025499857
1 f none acl/lang/it 0600 root bin 9593 50879 1025499857
1 f none acl/lang/ja_JP.euc 0600 root bin 6744 48156 1025499857
1 f none acl/lang/ko_KR.euc 0600 root bin 6311 59856 1025499857
1 f none acl/lang/nl 0600 root bin 6264 64538 1025499857
1 f none acl/lang/pl 0600 root bin 9574 50985 1025499857
1 f none acl/lang/pt 0600 root bin 901 20988 1025499856
1 f none acl/lang/ru_RU 0600 root bin 6061 61575 1025499857
1 f none acl/lang/ru_SU 0600 root bin 6073 26652 1025499857
1 f none acl/lang/sv 0600 root bin 5907 56461 1025499857
1 f none acl/lang/tr 0600 root bin 4335 4591 1025499857
1 f none acl/lang/zh_CN 0600 root bin 3105 58802 1025499856
1 f none acl/lang/zh_TW.Big5 0600 root bin 2317 44127 1025499856
1 f none acl/list_sessions.cgi 0700 root bin 1448 53651 1025499857
1 f none acl/log_parser.pl 0600 root bin 1180 26605 1025499857
1 f none acl/module.info 0600 root bin 538 56525 1025499882
1 f none acl/openssl.cnf 0600 root bin 6166 1333 1025499857
1 f none acl/save_acl.cgi 0700 root bin 1722 10760 1025499857
1 f none acl/save_group.cgi 0700 root bin 3018 44736 1025499857
1 f none acl/save_sync.cgi 0700 root bin 498 44123 1025499857
1 f none acl/save_unix.cgi 0700 root bin 508 43746 1025499857
1 f none acl/save_user.cgi 0700 root bin 8066 28565 1025499857
1 f none acl/useradmin_update.pl 0600 root bin 2138 40919 1025499857
1 f none acl_security.pl 0600 root bin 5049 21408 1025499832
1 d none apache 0700 root bin
1 f none apache/acl_security.pl 0600 root bin 3996 63788 1025499857
1 f none apache/allmanual_form.cgi 0700 root bin 1179 33650 1025499857
1 f none apache/allmanual_save.cgi 0700 root bin 497 41103 1025499857
1 f none apache/apache-lib.pl 0600 root bin 25248 58704 1025499857
1 f none apache/auth-lib.pl 0600 root bin 2866 19742 1025499857
1 f none apache/autoindex.pl 0600 root bin 9756 40683 1025499857
1 f none apache/browsermatch.pl 0600 root bin 2204 37722 1025499857
1 f none apache/cache.pl 0600 root bin 3063 62798 1025499857
1 f none apache/change_dir.cgi 0700 root bin 1391 44312 1025499857
1 f none apache/change_files.cgi 0700 root bin 1262 34092 1025499857
1 f none apache/config-aix 0600 root bin 195 18337 1025499857
1 f none apache/config-cobalt-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-corel-linux 0600 root bin 307 28723 1025499857
1 f none apache/config-debian-linux 0600 root bin 307 28723 1025499857
1 f none apache/config-freebsd 0600 root bin 335 31658 1025499857
1 f none apache/config-generic-linux 0600 root bin 216 20308 1025499857
1 f none apache/config-gentoo-linux 0600 root bin 287 26925 1025499857
1 f none apache/config-hpux 0600 root bin 216 20308 1025499857
1 f none apache/config-irix 0600 root bin 216 20308 1025499857
1 f none apache/config-lfs-linux 0600 root bin 398 37664 1025499857
1 f none apache/config-macos 0600 root bin 428 40752 1025499857
1 f none apache/config-macos-1.3 0600 root bin 277 26190 1025499857
1 f none apache/config-macos-1.4 0600 root bin 277 26190 1025499857
1 f none apache/config-mandrake-linux 0600 root bin 272 23894 1025499857
1 f none apache/config-msc-linux 0600 root bin 196 18425 1025499857
1 f none apache/config-netbsd 0600 root bin 316 29941 1025499857
1 f none apache/config-open-linux-2.3 0600 root bin 272 24366 1025499857
1 f none apache/config-open-linux-2.3e 0600 root bin 258 23053 1025499857
1 f none apache/config-open-linux-2.4 0600 root bin 258 23053 1025499857
1 f none apache/config-open-linux-2.5 0600 root bin 355 32260 1025499857
1 f none apache/config-open-linux-3.1e 0600 root bin 355 32260 1025499857
1 f none apache/config-openbsd 0600 root bin 278 26379 1025499857
1 f none apache/config-openserver 0600 root bin 356 33497 1025499857
1 f none apache/config-osf1 0600 root bin 216 20308 1025499857
1 f none apache/config-redhat-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-redhat-linux-7.0 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.1 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.2 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.3 0600 root bin 288 25309 1025499857
1 f none apache/config-slackware-linux 0600 root bin 107 9986 1025499857
1 f none apache/config-slackware-linux-7.0 0600 root bin 244 22846 1025499857
1 f none apache/config-slackware-linux-7.1 0600 root bin 244 22846 1025499857
1 f none apache/config-slackware-linux-8.0 0600 root bin 283 26596 1025499857
1 f none apache/config-slackware-linux-8.1 0600 root bin 283 26596 1025499858
1 f none apache/config-solaris 0600 root bin 216 20308 1025499857
1 f none apache/config-suse-linux 0600 root bin 309 29175 1025499857
1 f none apache/config-suse-linux-7.1 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-7.2 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-7.3 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-8.0 0600 root bin 307 28951 1025499857
1 f none apache/config-turbo-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-unixware 0600 root bin 356 33497 1025499857
1 f none apache/config.info 0600 root bin 758 4748 1025499857
1 f none apache/config.info.ca 0600 root bin 782 8632 1025499857
1 f none apache/config.info.de 0600 root bin 681 63547 1025499857
1 f none apache/config.info.es 0600 root bin 743 5993 1025499857
1 f none apache/config.info.fr 0600 root bin 711 742 1025499857
1 f none apache/config.info.hu 0600 root bin 732 9955 1025499857
1 f none apache/config.info.ja_JP.euc 0600 root bin 545 9285 1025499857
1 f none apache/config.info.nl 0600 root bin 647 60293 1025499857
1 f none apache/config.info.pl 0600 root bin 838 16535 1025499857
1 f none apache/config.info.pt_BR 0600 root bin 842 16193 1025499857
1 f none apache/config.info.ru_RU 0600 root bin 659 41593 1025499857
1 f none apache/config.info.ru_SU 0600 root bin 659 32481 1025499857
1 f none apache/config.info.sv 0600 root bin 635 62153 1025499857
1 f none apache/config.info.tr 0600 root bin 644 63990 1025499857
1 f none apache/config.info.zh_CN 0600 root bin 469 64171 1025499857
1 f none apache/config.info.zh_TW.Big5 0600 root bin 548 611 1025499857
1 f none apache/config_solaris.txt.1.25 0600 root bin 81 7515 1025499857
1 f none apache/core.pl 0600 root bin 37065 44690 1025499857
1 f none apache/create_dir.cgi 0700 root bin 1061 19939 1025499857
1 f none apache/create_files.cgi 0700 root bin 833 2546 1025499857
1 f none apache/create_htaccess.cgi 0700 root bin 1348 42687 1025499857
1 f none apache/create_virt.cgi 0700 root bin 3916 44942 1025499857
1 f none apache/defaultacl 0600 root bin 81 6717 1025499857
1 f none apache/delete_htaccess.cgi 0700 root bin 558 47804 1025499857
1 f none apache/dir_index.cgi 0700 root bin 2561 11219 1025499857
1 f none apache/edit_authgroup.cgi 0700 root bin 1606 3577 1025499857
1 f none apache/edit_authuser.cgi 0700 root bin 1845 23552 1025499857
1 f none apache/edit_defines.cgi 0700 root bin 803 2650 1025499857
1 f none apache/edit_dir.cgi 0700 root bin 1291 44549 1025499857
1 f none apache/edit_files.cgi 0700 root bin 1297 46398 1025499857
1 f none apache/edit_global.cgi 0700 root bin 2088 38075 1025499857
1 f none apache/edit_gmime_type.cgi 0700 root bin 1259 37766 1025499857
1 f none apache/edit_htaccess.cgi 0700 root bin 1194 36985 1025499857
1 f none apache/edit_virt.cgi 0700 root bin 1378 51497 1025499857
1 f none apache/feedback_files.pl 0600 root bin 125 9983 1025499857
1 f none apache/files_index.cgi 0700 root bin 2195 50598 1025499857
1 f none apache/find_htaccess.cgi 0700 root bin 1758 12185 1025499857
1 f none apache/htaccess.cgi 0700 root bin 1504 59983 1025499857
1 f none apache/htaccess_index.cgi 0700 root bin 2866 34059 1025499857
1 d none apache/images 0700 root bin
1 f none apache/images/def.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/defines.gif 0600 root bin 706 16967 1025499857
1 f none apache/images/dir.gif 0600 root bin 266 29430 1025499857
1 f none apache/images/doc.gif 0600 root bin 245 29407 1025499857
1 f none apache/images/edit.gif 0600 root bin 478 48537 1025499857
1 f none apache/images/icon.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/recon.gif 0600 root bin 592 64167 1025499857
1 f none apache/images/show.gif 0600 root bin 323 37244 1025499857
1 f none apache/images/type_icon_0.gif 0600 root bin 259 29070 1025499857
1 f none apache/images/type_icon_1.gif 0600 root bin 478 58145 1025499857
1 f none apache/images/type_icon_10.gif 0600 root bin 208 23229 1025499857
1 f none apache/images/type_icon_11.gif 0600 root bin 388 40285 1025499857
1 f none apache/images/type_icon_12.gif 0600 root bin 286 31680 1025499857
1 f none apache/images/type_icon_13.gif 0600 root bin 214 23452 1025499857
1 f none apache/images/type_icon_14.gif 0600 root bin 364 43760 1025499857
1 f none apache/images/type_icon_15.gif 0600 root bin 969 27469 1025499857
1 f none apache/images/type_icon_16.gif 0600 root bin 691 5431 1025499857
1 f none apache/images/type_icon_17.gif 0600 root bin 1029 56191 1025499857
1 f none apache/images/type_icon_18.gif 0600 root bin 957 2730 1025499857
1 f none apache/images/type_icon_19.gif 0600 root bin 405 48317 1025499857
1 f none apache/images/type_icon_2.gif 0600 root bin 281 32091 1025499857
1 f none apache/images/type_icon_3.gif 0600 root bin 470 52260 1025499857
1 f none apache/images/type_icon_4.gif 0600 root bin 275 34570 1025499857
1 f none apache/images/type_icon_5.gif 0600 root bin 373 41729 1025499857
1 f none apache/images/type_icon_6.gif 0600 root bin 395 44484 1025499857
1 f none apache/images/type_icon_7.gif 0600 root bin 394 41034 1025499857
1 f none apache/images/type_icon_8.gif 0600 root bin 390 43396 1025499857
1 f none apache/images/type_icon_9.gif 0600 root bin 460 53918 1025499857
1 f none apache/images/virt.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/virt_index.gif 0600 root bin 2654 62271 1025499857
1 f none apache/index.cgi 0700 root bin 11978 35696 1025499857
1 d none apache/lang 0700 root bin
1 f none apache/lang/ca 0600 root bin 40721 31448 1025499857
1 f none apache/lang/de 0600 root bin 11727 54885 1025499857
1 f none apache/lang/en 0600 root bin 35642 30514 1025499857
1 f none apache/lang/es 0600 root bin 36505 34163 1025499857
1 f none apache/lang/fr 0600 root bin 36323 43115 1025499857
1 f none apache/lang/hu 0600 root bin 28072 9268 1025499857
1 f none apache/lang/it 0600 root bin 31929 9658 1025499857
1 f none apache/lang/ja_JP.euc 0600 root bin 32629 42630 1025499857
1 f none apache/lang/ko_KR.euc 0600 root bin 29102 50748 1025499857
1 f none apache/lang/nl 0600 root bin 32787 40972 1025499857
1 f none apache/lang/pl 0600 root bin 35171 31672 1025499857
1 f none apache/lang/pt 0600 root bin 10017 54712 1025499857
1 f none apache/lang/pt_BR 0600 root bin 11696 28307 1025499857
1 f none apache/lang/ru_RU 0600 root bin 9822 27879 1025499857
1 f none apache/lang/ru_SU 0600 root bin 9909 13750 1025499857
1 f none apache/lang/sv 0600 root bin 31911 6096 1025499857
1 f none apache/lang/tr 0600 root bin 30724 44450 1025499857
1 f none apache/lang/zh_CN 0600 root bin 22679 40462 1025499857
1 f none apache/lang/zh_TW.Big5 0600 root bin 7380 26599 1025499857
1 f none apache/list_authgroups.cgi 0700 root bin 1487 51697 1025499857
1 f none apache/list_authusers.cgi 0700 root bin 1978 29335 1025499857
1 f none apache/log_parser.pl 0600 root bin 3563 12417 1025499857
1 f none apache/manual_form.cgi 0700 root bin 2552 6670 1025499857
1 f none apache/manual_save.cgi 0700 root bin 1725 4434 1025499857
1 f none apache/mod_access.pl 0600 root bin 3152 44817 1025499857
1 f none apache/mod_actions.pl 0600 root bin 2618 4267 1025499857
1 f none apache/mod_alias.pl 0600 root bin 5321 35699 1025499857
1 f none apache/mod_asis.pl 0600 root bin 125 10531 1025499857
1 f none apache/mod_auth.pl 0600 root bin 1883 22312 1025499857
1 f none apache/mod_auth_dbm.pl 0600 root bin 1832 15984 1025499857
1 f none apache/mod_autoindex.pl 0600 root bin 2145 40277 1025499857
1 f none apache/mod_browser.pl 0600 root bin 274 23709 1025499857
1 f none apache/mod_cache.pl 0600 root bin 3032 38066 1025499857
1 f none apache/mod_cern_meta.pl 0600 root bin 1152 26386 1025499857
1 f none apache/mod_cgi.pl 0600 root bin 1288 40877 1025499857
1 f none apache/mod_dir.pl 0600 root bin 1085 15578 1025499857
1 f none apache/mod_disk_cache.pl 0600 root bin 1050 17714 1025499857
1 f none apache/mod_env.pl 0600 root bin 2077 28496 1025499857
1 f none apache/mod_expires.pl.broken 0600 root bin 3295 51150 1025499857
1 f none apache/mod_ext_filter.pl 0600 root bin 2743 22066 1025499857
1 f none apache/mod_imap.pl 0600 root bin 2403 64653 1025499857
1 f none apache/mod_include.pl 0600 root bin 601 50046 1025499857
1 f none apache/mod_info.pl 0600 root bin 145 12617 1025499857
1 f none apache/mod_log_agent.pl 0600 root bin 1101 24147 1025499857
1 f none apache/mod_log_common.pl 0600 root bin 1168 29749 1025499857
1 f none apache/mod_log_config.pl 0600 root bin 4453 13823 1025499857
1 f none apache/mod_log_referer.pl 0600 root bin 1625 1986 1025499857
1 f none apache/mod_mem_cache.pl 0600 root bin 1124 28934 1025499857
1 f none apache/mod_mime.pl 0600 root bin 6312 52087 1025499857
1 f none apache/mod_mime_magic.pl 0600 root bin 521 43594 1025499857
1 f none apache/mod_negotiation.pl 0600 root bin 1209 34436 1025499857
1 f none apache/mod_perl.pl 0600 root bin 147 12898 1025499857
1 f none apache/mod_php.pl 0600 root bin 93 8070 1025499857
1 f none apache/mod_php3.pl 0600 root bin 147 12618 1025499857
1 f none apache/mod_php4.pl 0600 root bin 2191 41280 1025499857
1 f none apache/mod_proxy.pl 0600 root bin 8874 29940 1025499857
1 f none apache/mod_setenvif.pl 0600 root bin 3113 41145 1025499857
1 f none apache/mod_speling.pl 0600 root bin 565 46556 1025499857
1 f none apache/mod_ssl.pl 0600 root bin 3262 4270 1025499857
1 f none apache/mod_status.pl 0600 root bin 542 45268 1025499857
1 f none apache/mod_suexec.pl 0600 root bin 1268 42014 1025499857
1 f none apache/mod_userdir.pl 0600 root bin 2504 59616 1025499857
1 f none apache/mod_vhost_alias.pl 0600 root bin 2299 64754 1025499857
1 f none apache/module.info 0600 root bin 769 10338 1025499882
1 f none apache/mpm_netware.pl 0600 root bin 1288 41159 1025499857
1 f none apache/mpm_winnt.pl 0600 root bin 797 63829 1025499857
1 f none apache/notes 0600 root bin 1147 38271 1025499857
1 f none apache/perchild.pl 0600 root bin 4144 7229 1025499857
1 f none apache/prefork.pl 0600 root bin 792 58253 1025499857
1 f none apache/reconfig.cgi 0700 root bin 567 48627 1025499857
1 f none apache/reconfig_form.cgi 0700 root bin 2068 36901 1025499857
1 f none apache/remove_vserv.pl 0700 root bin 886 4844 1025499857
1 f none apache/restart.cgi 0700 root bin 1820 16254 1025499857
1 f none apache/save_authgroup.cgi 0700 root bin 1124 27262 1025499857
1 f none apache/save_authuser.cgi 0700 root bin 1200 31716 1025499857
1 f none apache/save_defines.cgi 0700 root bin 447 38964 1025499857
1 f none apache/save_dir.cgi 0700 root bin 744 63459 1025499857
1 f none apache/save_files.cgi 0700 root bin 751 64921 1025499857
1 f none apache/save_global.cgi 0700 root bin 514 44173 1025499857
1 f none apache/save_gmime_type.cgi 0700 root bin 736 58727 1025499857
1 f none apache/save_htaccess.cgi 0700 root bin 677 59309 1025499857
1 f none apache/save_sync.cgi 0700 root bin 494 42571 1025499857
1 f none apache/save_virt.cgi 0700 root bin 734 63058 1025499857
1 f none apache/save_vserv.cgi 0700 root bin 2910 33086 1025499857
1 f none apache/search_virt.cgi 0700 root bin 4173 64845 1025499857
1 f none apache/show.cgi 0700 root bin 3787 35559 1025499857
1 f none apache/show_dir.cgi 0700 root bin 2095 36692 1025499857
1 f none apache/show_files.cgi 0700 root bin 2095 36850 1025499857
1 f none apache/show_htaccess.cgi 0700 root bin 2119 35065 1025499857
1 f none apache/show_virt.cgi 0700 root bin 2173 40072 1025499857
1 f none apache/start.cgi 0700 root bin 2126 42705 1025499857
1 f none apache/stop.cgi 0700 root bin 1054 19995 1025499857
1 f none apache/useradmin_update.pl 0600 root bin 957 7549 1025499857
1 f none apache/virt_index.cgi 0700 root bin 4971 5024 1025499857
1 f none apache/worker.pl 0600 root bin 1606 61749 1025499857
1 d none at 0700 root bin
1 f none at/acl_security.pl 0600 root bin 1249 36971 1025499876
1 f none at/at-lib.pl 0600 root bin 861 1940 1025499876
1 f none at/config-corel-linux 0600 root bin 40 3868 1025499876
1 f none at/config-debian-linux 0600 root bin 40 3868 1025499876
1 f none at/config-debian-linux-3.0 0600 root bin 45 4349 1025499876
1 f none at/config-freebsd 0600 root bin 37 3482 1025499876
1 f none at/config-generic-linux 0600 root bin 40 3868 1025499876
1 f none at/config-gentoo-linux 0600 root bin 39 3745 1025499876
1 f none at/config-macos 0600 root bin 35 3282 1025499876
1 f none at/config-mandrake-linux 0600 root bin 36 3438 1025499876
1 f none at/config-msc-linux 0600 root bin 36 3438 1025499876
1 f none at/config-netbsd 0600 root bin 37 3482 1025499876
1 f none at/config-open-linux 0600 root bin 41 3915 1025499876
1 f none at/config-openserver 0600 root bin 50 4886 1025499876
1 f none at/config-redhat-linux 0600 root bin 36 3438 1025499876
1 f none at/config-slackware-linux 0600 root bin 40 3868 1025499876
1 f none at/config-solaris 0600 root bin 47 4554 1025499876
1 f none at/config-suse-linux 0600 root bin 40 3868 1025499876
1 f none at/config-turbo-linux 0600 root bin 36 3438 1025499876
1 f none at/config.info 0600 root bin 97 9038 1025499876
1 f none at/config.info.ca 0600 root bin 111 10131 1025499876
1 f none at/config.info.de 0600 root bin 106 9822 1025499876
1 f none at/config.info.pl 0600 root bin 106 9909 1025499876
1 f none at/config.info.zh_TW.Big5 0600 root bin 86 9169 1025499876
1 f none at/create_job.cgi 0700 root bin 922 10453 1025499876
1 f none at/defaultacl 0600 root bin 25 2143 1025499876
1 f none at/delete_job.cgi 0700 root bin 422 35366 1025499876
1 f none at/edit_job.cgi 0700 root bin 1497 57948 1025499876
1 f none at/freebsd-lib.pl 0600 root bin 1056 11982 1025499876
1 d none at/images 0700 root bin
1 f none at/images/icon.gif 0600 root bin 560 2219 1025499876
1 f none at/index.cgi 0700 root bin 3077 51891 1025499876
1 d none at/lang 0700 root bin
1 f none at/lang/ca 0600 root bin 1254 53934 1025499876
1 f none at/lang/de 0600 root bin 1934 41648 1025499876
1 f none at/lang/en 0600 root bin 1119 40417 1025499876
1 f none at/lang/hu 0600 root bin 1326 6070 1025499876
1 f none at/lang/it 0600 root bin 1272 56524 1025499876
1 f none at/lang/pl 0600 root bin 1235 57609 1025499876
1 f none at/lang/zh_TW.Big5 0600 root bin 873 49848 1025499876
1 f none at/linux-lib.pl 0600 root bin 1054 11809 1025499876
1 f none at/macos-lib.pl 0600 root bin 1024 9334 1025499876
1 f none at/module.info 0600 root bin 408 39382 1025499882
1 f none at/openserver-lib.pl 0600 root bin 985 7858 1025499876
1 f none at/solaris-lib.pl 0600 root bin 1006 9459 1025499876
1 d none bind8 0700 root bin
1 f none bind8/acl_security.pl 0600 root bin 6594 14266 1025499858
1 f none bind8/bind8-lib.pl 0600 root bin 26784 30322 1025499858
1 f none bind8/conf_acls.cgi 0700 root bin 910 8822 1025499858
1 f none bind8/conf_controls.cgi 0700 root bin 3137 57710 1025499859
1 f none bind8/conf_files.cgi 0700 root bin 1302 44440 1025499858
1 f none bind8/conf_forwarding.cgi 0700 root bin 1499 61871 1025499859
1 f none bind8/conf_logging.cgi 0700 root bin 6663 9269 1025499858
1 f none bind8/conf_misc.cgi 0700 root bin 2194 52174 1025499858
1 f none bind8/conf_net.cgi 0700 root bin 2656 21194 1025499858
1 f none bind8/conf_servers.cgi 0700 root bin 1763 13583 1025499858
1 f none bind8/conf_zonedef.cgi 0700 root bin 4123 16080 1025499858
1 f none bind8/config-aix 0600 root bin 272 25241 1025499859
1 f none bind8/config-cobalt-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-corel-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-debian-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-debian-linux-2.2 0600 root bin 282 26201 1025499858
1 f none bind8/config-debian-linux-3.0 0600 root bin 282 26201 1025499859
1 f none bind8/config-freebsd-2.1 0600 root bin 283 26311 1025499859
1 f none bind8/config-freebsd-2.2 0600 root bin 283 26311 1025499859
1 f none bind8/config-freebsd-3.0 0600 root bin 284 26403 1025499858
1 f none bind8/config-freebsd-3.1 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.2 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.3 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.4 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.5 0600 root bin 277 25741 1025499859
1 f none bind8/config-freebsd-4.0 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.1 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.2 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.3 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.4 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.5 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.6 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-5.0 0600 root bin 284 26403 1025499858
1 f none bind8/config-generic-linux 0600 root bin 305 28331 1025499859
1 f none bind8/config-gentoo-linux 0600 root bin 350 32533 1025499859
1 f none bind8/config-hpux 0600 root bin 277 25741 1025499858
1 f none bind8/config-irix 0600 root bin 277 25741 1025499858
1 f none bind8/config-macos 0600 root bin 283 26305 1025499858
1 f none bind8/config-macos-1.3 0600 root bin 277 25741 1025499859
1 f none bind8/config-macos-1.4 0600 root bin 277 25741 1025499859
1 f none bind8/config-mandrake-linux 0600 root bin 316 29325 1025499859
1 f none bind8/config-msc-linux 0600 root bin 311 28919 1025499859
1 f none bind8/config-netbsd 0600 root bin 284 26403 1025499859
1 f none bind8/config-open-linux 0600 root bin 316 29325 1025499858
1 f none bind8/config-openbsd-2.5 0600 root bin 277 25741 1025499858
1 f none bind8/config-openbsd-2.6 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.7 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.8 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.9 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-3.0 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-3.1 0600 root bin 277 25741 1025499859
1 f none bind8/config-openserver 0600 root bin 277 25741 1025499858
1 f none bind8/config-osf1 0600 root bin 277 25741 1025499858
1 f none bind8/config-redhat-linux 0600 root bin 316 29325 1025499859
1 f none bind8/config-redhat-linux-7.1 0600 root bin 350 32479 1025499859
1 f none bind8/config-redhat-linux-7.2 0600 root bin 350 32479 1025499859
1 f none bind8/config-redhat-linux-7.3 0600 root bin 350 32479 1025499859
1 f none bind8/config-slackware-linux 0600 root bin 277 25741 1025499859
1 f none bind8/config-slackware-linux-8.0 0600 root bin 311 28895 1025499859
1 f none bind8/config-slackware-linux-8.1 0600 root bin 311 28895 1025499859
1 f none bind8/config-solaris 0600 root bin 292 27032 1025499858
1 f none bind8/config-solaris-7 0600 root bin 280 26002 1025499858
1 f none bind8/config-solaris-8 0600 root bin 280 26002 1025499858
1 f none bind8/config-solaris-9 0600 root bin 280 26002 1025499859
1 f none bind8/config-suse-linux 0600 root bin 277 25742 1025499858
1 f none bind8/config-turbo-linux 0600 root bin 277 25743 1025499858
1 f none bind8/config-unixware 0600 root bin 318 29549 1025499858
1 f none bind8/config.info 0600 root bin 1513 5642 1025499859
1 f none bind8/config.info.ca 0600 root bin 1694 25207 1025499859
1 f none bind8/config.info.cz 0600 root bin 367 35370 1025499859
1 f none bind8/config.info.de 0600 root bin 426 38134 1025499858
1 f none bind8/config.info.es 0600 root bin 1394 63647 1025499858
1 f none bind8/config.info.fr 0600 root bin 325 29458 1025499858
1 f none bind8/config.info.pl 0600 root bin 1417 5767 1025499859
1 f none bind8/config.info.pt_BR 0600 root bin 1395 969 1025499859
1 f none bind8/config.info.ru_RU 0600 root bin 326 53131 1025499859
1 f none bind8/config.info.ru_SU 0600 root bin 326 48740 1025499858
1 f none bind8/config.info.sv 0600 root bin 1080 37166 1025499858
1 f none bind8/config.info.tr 0600 root bin 582 62912 1025499859
1 f none bind8/config.info.zh_CN 0600 root bin 667 20999 1025499858
1 f none bind8/config.info.zh_TW.Big5 0600 root bin 294 38132 1025499858
1 f none bind8/convert_form.cgi 0700 root bin 87 7619 1025499859
1 f none bind8/convert_master.cgi 0700 root bin 839 2140 1025499859
1 f none bind8/convert_slave.cgi 0700 root bin 800 788 1025499859
1 f none bind8/create_forward.cgi 0700 root bin 2725 19034 1025499858
1 f none bind8/create_hint.cgi 0700 root bin 1662 3488 1025499859
1 f none bind8/create_master.cgi 0700 root bin 7904 30488 1025499858
1 f none bind8/create_slave.cgi 0700 root bin 4621 34861 1025499858
1 f none bind8/create_view.cgi 0700 root bin 1176 29374 1025499859
1 f none bind8/db.cache 0600 root bin 2769 34340 1025499858
1 f none bind8/defaultacl 0600 root bin 153 12920 1025499858
1 f none bind8/delete_view.cgi 0700 root bin 2499 5011 1025499859
1 f none bind8/delete_zone.cgi 0700 root bin 5741 6913 1025499858
1 f none bind8/dns_boot.cgi 0700 root bin 1849 25079 1025499858
1 f none bind8/edit_forward.cgi 0700 root bin 2532 12629 1025499858
1 f none bind8/edit_hint.cgi 0700 root bin 905 10639 1025499859
1 f none bind8/edit_master.cgi 0700 root bin 4765 56738 1025499858
1 f none bind8/edit_options.cgi 0700 root bin 2975 55103 1025499858
1 f none bind8/edit_record.cgi 0700 root bin 933 11334 1025499858
1 f none bind8/edit_recs.cgi 0700 root bin 4140 56564 1025499858
1 f none bind8/edit_slave.cgi 0700 root bin 5619 55470 1025499858
1 f none bind8/edit_soa.cgi 0700 root bin 2740 33489 1025499858
1 f none bind8/edit_stub.cgi 0700 root bin 5619 55470 1025499858
1 f none bind8/edit_text.cgi 0700 root bin 1339 47966 1025499858
1 f none bind8/edit_view.cgi 0700 root bin 1582 726 1025499859
1 f none bind8/feedback_files.pl 0600 root bin 510 39942 1025499859
1 f none bind8/find_free.cgi 0700 root bin 6580 40837 1025499859
1 f none bind8/find_zones.cgi 0700 root bin 1670 17 1025499858
1 f none bind8/forward_form.cgi 0700 root bin 1480 59044 1025499858
1 f none bind8/hint_form.cgi 0700 root bin 1705 10061 1025499859
1 d none bind8/images 0700 root bin
1 f none bind8/images/A.gif 0600 root bin 307 33387 1025499858
1 f none bind8/images/AAAA.gif 0600 root bin 401 37604 1025499858
1 f none bind8/images/ALL.gif 0600 root bin 287 32969 1025499858
1 f none bind8/images/CNAME.gif 0600 root bin 423 47985 1025499858
1 f none bind8/images/HINFO.gif 0600 root bin 376 45931 1025499858
1 f none bind8/images/LOC.gif 0600 root bin 401 46723 1025499858
1 f none bind8/images/MX.gif 0600 root bin 453 51436 1025499858
1 f none bind8/images/NS.gif 0600 root bin 439 48965 1025499858
1 f none bind8/images/PTR.gif 0600 root bin 373 41933 1025499858
1 f none bind8/images/RP.gif 0600 root bin 425 46682 1025499858
1 f none bind8/images/TXT.gif 0600 root bin 406 46790 1025499858
1 f none bind8/images/WKS.gif 0600 root bin 450 49749 1025499858
1 f none bind8/images/acls.gif 0600 root bin 275 34570 1025499858
1 f none bind8/images/controls.gif 0600 root bin 364 43854 1025499858
1 f none bind8/images/files.gif 0600 root bin 266 29430 1025499858
1 f none bind8/images/findfree.gif 0600 root bin 1582 26323 1025499858
1 f none bind8/images/forward.gif 0600 root bin 2022 61873 1025499858
1 f none bind8/images/forwarding.gif 0600 root bin 315 42734 1025499858
1 f none bind8/images/gen.gif 0600 root bin 319 37191 1025499858
1 f none bind8/images/hint.gif 0600 root bin 2345 37294 1025499858
1 f none bind8/images/icon.gif 0600 root bin 2015 43699 1025499858
1 f none bind8/images/logging.gif 0600 root bin 470 52260 1025499858
1 f none bind8/images/master.gif 0600 root bin 1942 49324 1025499858
1 f none bind8/images/misc.gif 0600 root bin 460 53918 1025499858
1 f none bind8/images/net.gif 0600 root bin 478 58145 1025499858
1 f none bind8/images/no-home.gif 0600 root bin 3768 28252 1025499858
1 f none bind8/images/options.gif 0600 root bin 333 39703 1025499858
1 f none bind8/images/servers.gif 0600 root bin 372 46326 1025499858
1 f none bind8/images/slave.gif 0600 root bin 1920 13163 1025499858
1 f none bind8/images/soa.gif 0600 root bin 434 46821 1025499858
1 f none bind8/images/stub.gif 0600 root bin 1902 9175 1025499858
1 f none bind8/images/text.gif 0600 root bin 305 37957 1025499858
1 f none bind8/images/view.gif 0600 root bin 2075 21934 1025499858
1 f none bind8/images/whois.gif 0600 root bin 630 3495 1025499858
1 f none bind8/images/zonedef.gif 0600 root bin 1692 33173 1025499858
1 f none bind8/index.cgi 0700 root bin 9194 9572 1025499858
1 d none bind8/lang 0700 root bin
1 f none bind8/lang/ca 0600 root bin 23889 45051 1025499858
1 f none bind8/lang/cz 0600 root bin 14145 33816 1025499858
1 f none bind8/lang/de 0600 root bin 21550 580 1025499858
1 f none bind8/lang/en 0600 root bin 22082 35536 1025499858
1 f none bind8/lang/es 0600 root bin 18538 5563 1025499858
1 f none bind8/lang/fr 0600 root bin 19771 7945 1025499858
1 f none bind8/lang/it 0600 root bin 13958 58819 1025499858
1 f none bind8/lang/ja_JP.euc 0600 root bin 16261 26052 1025499858
1 f none bind8/lang/ja_JP.jis 0600 root bin 16261 42906 1025499858
1 f none bind8/lang/ko_KR.euc 0600 root bin 15005 59606 1025499858
1 f none bind8/lang/pl 0600 root bin 22041 24259 1025499858
1 f none bind8/lang/pt 0600 root bin 14067 64378 1025499858
1 f none bind8/lang/pt_BR 0600 root bin 21980 52577 1025499858
1 f none bind8/lang/ru_RU 0600 root bin 13953 32442 1025499858
1 f none bind8/lang/ru_SU 0600 root bin 14040 28293 1025499858
1 f none bind8/lang/sv 0600 root bin 16561 54937 1025499858
1 f none bind8/lang/tr 0600 root bin 15526 26694 1025499858
1 f none bind8/lang/zh_CN 0600 root bin 11868 60217 1025499858
1 f none bind8/lang/zh_TW.Big5 0600 root bin 10861 38411 1025499858
1 f none bind8/list_gen.cgi 0700 root bin 2331 55335 1025499859
1 f none bind8/log_parser.pl 0600 root bin 1455 52175 1025499859
1 f none bind8/master_form.cgi 0700 root bin 4089 19767 1025499858
1 f none bind8/module.info 0600 root bin 798 8485 1025499882
1 f none bind8/move_zone.cgi 0700 root bin 919 12469 1025499859
1 f none bind8/records-lib.pl 0600 root bin 13376 464 1025499858
1 f none bind8/restart.cgi 0700 root bin 360 30429 1025499858
1 f none bind8/restart_slave.cgi 0700 root bin 1269 37255 1025499859
1 f none bind8/restart_zone.cgi 0700 root bin 679 57474 1025499859
1 f none bind8/save_acls.cgi 0700 root bin 816 65215 1025499858
1 f none bind8/save_controls.cgi 0700 root bin 1856 14526 1025499859
1 f none bind8/save_files.cgi 0700 root bin 753 64226 1025499858
1 f none bind8/save_forward.cgi 0700 root bin 797 1691 1025499858
1 f none bind8/save_forwarding.cgi 0700 root bin 909 13095 1025499858
1 f none bind8/save_gen.cgi 0700 root bin 3341 51771 1025499859
1 f none bind8/save_logging.cgi 0700 root bin 2558 63954 1025499859
1 f none bind8/save_master.cgi 0700 root bin 1053 24862 1025499858
1 f none bind8/save_misc.cgi 0700 root bin 1255 41318 1025499859
1 f none bind8/save_net.cgi 0700 root bin 1542 59049 1025499859
1 f none bind8/save_record.cgi 0700 root bin 13864 31567 1025499858
1 f none bind8/save_servers.cgi 0700 root bin 1352 40782 1025499858
1 f none bind8/save_slave.cgi 0700 root bin 1502 60806 1025499858
1 f none bind8/save_soa.cgi 0700 root bin 2195 50132 1025499859
1 f none bind8/save_text.cgi 0700 root bin 856 6537 1025499858
1 f none bind8/save_view.cgi 0700 root bin 641 54842 1025499859
1 f none bind8/save_zonedef.cgi 0700 root bin 2097 43140 1025499858
1 f none bind8/slave_form.cgi 0700 root bin 2315 692 1025499858
1 f none bind8/start.cgi 0700 root bin 1211 33523 1025499858
1 f none bind8/stub_form.cgi 0700 root bin 2315 692 1025499858
1 f none bind8/view_form.cgi 0700 root bin 1421 55609 1025499859
1 f none bind8/whois-servers 0600 root bin 2730 28687 1025499859
1 f none bind8/whois.cgi 0700 root bin 1467 52258 1025499859
1 d none bsdexports 0700 root bin
1 f none bsdexports/bsdexports-lib.pl 0600 root bin 2270 48842 1025499861
1 f none bsdexports/config-freebsd 0600 root bin 86 8059 1025499861
1 f none bsdexports/config-macos 0600 root bin 165 14488 1025499861
1 f none bsdexports/config-netbsd 0600 root bin 86 8059 1025499861
1 f none bsdexports/config-openbsd 0600 root bin 86 8059 1025499860
1 f none bsdexports/config-openserver 0600 root bin 107 9331 1025499861
1 f none bsdexports/config.info 0600 root bin 81 7694 1025499860
1 f none bsdexports/config.info.ca 0600 root bin 91 8497 1025499861
1 f none bsdexports/config.info.de 0600 root bin 89 8415 1025499860
1 f none bsdexports/config.info.es 0600 root bin 96 9175 1025499861
1 f none bsdexports/config.info.fr 0600 root bin 95 8995 1025499861
1 f none bsdexports/config.info.hu 0600 root bin 95 9566 1025499861
1 f none bsdexports/config.info.pl 0600 root bin 90 8640 1025499861
1 f none bsdexports/config.info.sv 0600 root bin 91 8760 1025499860
1 f none bsdexports/config.info.tr 0600 root bin 90 8928 1025499861
1 f none bsdexports/config.info.zh_CN 0600 root bin 77 9357 1025499861
1 f none bsdexports/config.info.zh_TW.Big5 0600 root bin 73 8564 1025499861
1 f none bsdexports/delete_export.cgi 0700 root bin 270 23772 1025499860
1 f none bsdexports/edit_export.cgi 0700 root bin 4132 12639 1025499860
1 d none bsdexports/images 0700 root bin
1 f none bsdexports/images/icon.gif 0600 root bin 245 29407 1025499861
1 f none bsdexports/index.cgi 0700 root bin 1380 46498 1025499861
1 f none bsdexports/module.info 0600 root bin 477 46877 1025499882
1 f none bsdexports/notes 0600 root bin 373 33536 1025499860
1 f none bsdexports/restart_mountd.cgi 0700 root bin 337 28778 1025499861
1 f none bsdexports/save_export.cgi 0700 root bin 4343 17134 1025499860
1 d none burner 0700 root bin
1 f none burner/burn.cgi 0700 root bin 2235 39742 1025499880
1 f none burner/burner-lib.pl 0600 root bin 1300 40409 1025499880
1 f none burner/config 0600 root bin 56 5014 1025499880
1 f none burner/edit_dev.cgi 0700 root bin 1349 44429 1025499880
1 f none burner/edit_mkisofs.cgi 0700 root bin 1624 5408 1025499880
1 f none burner/edit_profile.cgi 0700 root bin 5117 22893 1025499880
1 f none burner/feedback_files.pl 0600 root bin 229 18608 1025499880
1 d none burner/images 0700 root bin
1 f none burner/images/cdrom.gif 0600 root bin 8441 59018 1025499880
1 f none burner/images/dev.gif 0600 root bin 2345 21365 1025499880
1 f none burner/images/icon.gif 0600 root bin 2313 29117 1025499880
1 f none burner/images/mkisofs.gif 0600 root bin 2367 19179 1025499880
1 f none burner/index.cgi 0700 root bin 1969 27986 1025499880
1 d none burner/lang 0700 root bin
1 f none burner/lang/ca 0600 root bin 5785 11083 1025499880
1 f none burner/lang/en 0600 root bin 5194 14509 1025499880
1 f none burner/lang/zh_TW.Big5 0600 root bin 3670 8544 1025499880
1 f none burner/module.info 0600 root bin 126 11327 1025499882
1 f none burner/save_dev.cgi 0700 root bin 435 36734 1025499880
1 f none burner/save_mkisofs.cgi 0700 root bin 329 28442 1025499880
1 f none burner/save_profile.cgi 0700 root bin 7765 57149 1025499880
1 d none caldera 0700 root bin
1 f none caldera/Alphabet.gif 0600 root bin 8492 3248 1025499871
1 d none caldera/acl 0700 root bin
1 d none caldera/acl/images 0700 root bin
1 f none caldera/acl/images/icon.gif 0600 root bin 519 54805 1025499871
1 d none caldera/apache 0700 root bin
1 d none caldera/apache/images 0700 root bin
1 f none caldera/apache/images/icon.gif 0600 root bin 578 3342 1025499872
1 d none caldera/at 0700 root bin
1 d none caldera/at/images 0700 root bin
1 f none caldera/at/images/icon.gif 0600 root bin 476 1123 1025499874
1 d none caldera/bind8 0700 root bin
1 d none caldera/bind8/images 0700 root bin
1 f none caldera/bind8/images/icon.gif 0600 root bin 540 65158 1025499873
1 d none caldera/bsdexports 0700 root bin
1 d none caldera/bsdexports/images 0700 root bin
1 f none caldera/bsdexports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/burner 0700 root bin
1 d none caldera/burner/images 0700 root bin
1 f none caldera/burner/images/icon.gif 0600 root bin 1292 57730 1025499874
1 d none caldera/certmgr 0700 root bin
1 d none caldera/certmgr/images 0700 root bin
1 f none caldera/certmgr/images/icon.gif 0600 root bin 300 34616 1025499873
1 d none caldera/cfengine 0700 root bin
1 d none caldera/cfengine/images 0700 root bin
1 f none caldera/cfengine/images/icon.gif 0600 root bin 1275 19176 1025499874
1 d none caldera/cluster-software 0700 root bin
1 d none caldera/cluster-software/images 0700 root bin
1 f none caldera/cluster-software/images/icon.gif 0600 root bin 589 3315 1025499874
1 d none caldera/cluster-useradmin 0700 root bin
1 d none caldera/cluster-useradmin/images 0700 root bin
1 f none caldera/cluster-useradmin/images/icon.gif 0600 root bin 551 62511 1025499874
1 d none caldera/cluster-webmin 0700 root bin
1 d none caldera/cluster-webmin/images 0700 root bin
1 f none caldera/cluster-webmin/images/icon.gif 0600 root bin 589 5882 1025499874
1 f none caldera/config 0600 root bin 25 2180 1025499873
1 d none caldera/cpan 0700 root bin
1 d none caldera/cpan/images 0700 root bin
1 f none caldera/cpan/images/icon.gif 0600 root bin 1248 64931 1025499872
1 d none caldera/cron 0700 root bin
1 d none caldera/cron/images 0700 root bin
1 f none caldera/cron/images/icon.gif 0600 root bin 507 49655 1025499873
1 d none caldera/custom 0700 root bin
1 d none caldera/custom/images 0700 root bin
1 f none caldera/custom/images/icon.gif 0600 root bin 590 1709 1025499873
1 d none caldera/dfsadmin 0700 root bin
1 d none caldera/dfsadmin/images 0700 root bin
1 f none caldera/dfsadmin/images/icon.gif 0600 root bin 568 64197 1025499871
1 d none caldera/dhcpd 0700 root bin
1 d none caldera/dhcpd/images 0700 root bin
1 f none caldera/dhcpd/images/icon.gif 0600 root bin 546 1598 1025499871
1 d none caldera/dnsadmin 0700 root bin
1 d none caldera/dnsadmin/images 0700 root bin
1 f none caldera/dnsadmin/images/icon.gif 0600 root bin 540 65158 1025499871
1 d none caldera/exports 0700 root bin
1 d none caldera/exports/images 0700 root bin
1 f none caldera/exports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/fdisk 0700 root bin
1 d none caldera/fdisk/images 0700 root bin
1 f none caldera/fdisk/images/icon.gif 0600 root bin 553 1748 1025499873
1 d none caldera/fetchmail 0700 root bin
1 d none caldera/fetchmail/images 0700 root bin
1 f none caldera/fetchmail/images/icon.gif 0600 root bin 753 38886 1025499873
1 d none caldera/file 0700 root bin
1 d none caldera/file/images 0700 root bin
1 f none caldera/file/images/icon.gif 0600 root bin 522 65367 1025499872
1 d none caldera/firewall 0700 root bin
1 d none caldera/firewall/images 0700 root bin
1 d none caldera/format 0700 root bin
1 d none caldera/format/images 0700 root bin
1 f none caldera/format/images/icon.gif 0600 root bin 553 1748 1025499872
1 d none caldera/fsdump 0700 root bin
1 d none caldera/fsdump/images 0700 root bin
1 f none caldera/fsdump/images/icon.gif 0600 root bin 1276 16818 1025499874
1 d none caldera/grub 0700 root bin
1 d none caldera/grub/images 0700 root bin
1 f none caldera/grub/images/icon.gif 0600 root bin 1197 28237 1025499873
1 d none caldera/heartbeat 0700 root bin
1 d none caldera/heartbeat/images 0700 root bin
1 f none caldera/heartbeat/images/icon.gif 0600 root bin 1312 30355 1025499874
1 d none caldera/help 0700 root bin
1 d none caldera/help/images 0700 root bin
1 f none caldera/help/images/icon.gif 0600 root bin 609 4737 1025499872
1 d none caldera/hpuxexports 0700 root bin
1 d none caldera/hpuxexports/images 0700 root bin
1 f none caldera/hpuxexports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/images 0700 root bin
1 f none caldera/images/blue-bg.gif 0600 root bin 799 17967 1025499871
1 f none caldera/images/folder-off.gif 0600 root bin 38 2324 1025499871
1 f none caldera/images/folder-on.gif 0600 root bin 1011 36755 1025499871
1 f none caldera/images/gradient-bg.gif 0600 root bin 230 33700 1025499871
1 d none caldera/images/letters 0700 root bin
1 f none caldera/images/letters/100.gif 0600 root bin 164 17949 1025499872
1 f none caldera/images/letters/101.gif 0600 root bin 155 16396 1025499871
1 f none caldera/images/letters/102.gif 0600 root bin 134 11272 1025499872
1 f none caldera/images/letters/103.gif 0600 root bin 171 18578 1025499871
1 f none caldera/images/letters/104.gif 0600 root bin 147 14679 1025499872
1 f none caldera/images/letters/105.gif 0600 root bin 88 9163 1025499871
1 f none caldera/images/letters/106.gif 0600 root bin 133 11738 1025499872
1 f none caldera/images/letters/107.gif 0600 root bin 152 16988 1025499871
1 f none caldera/images/letters/108.gif 0600 root bin 86 6834 1025499872
1 f none caldera/images/letters/109.gif 0600 root bin 229 20369 1025499871
1 f none caldera/images/letters/110.gif 0600 root bin 143 15657 1025499871
1 f none caldera/images/letters/111.gif 0600 root bin 162 17456 1025499872
1 f none caldera/images/letters/112.gif 0600 root bin 159 17329 1025499871
1 f none caldera/images/letters/113.gif 0600 root bin 159 17214 1025499872
1 f none caldera/images/letters/114.gif 0600 root bin 124 10972 1025499871
1 f none caldera/images/letters/115.gif 0600 root bin 154 17189 1025499872
1 f none caldera/images/letters/116.gif 0600 root bin 142 13087 1025499871
1 f none caldera/images/letters/117.gif 0600 root bin 145 15269 1025499872
1 f none caldera/images/letters/118.gif 0600 root bin 151 17611 1025499871
1 f none caldera/images/letters/119.gif 0600 root bin 187 20982 1025499872
1 f none caldera/images/letters/120.gif 0600 root bin 155 17761 1025499871
1 f none caldera/images/letters/121.gif 0600 root bin 160 17928 1025499871
1 f none caldera/images/letters/122.gif 0600 root bin 138 13922 1025499871
1 f none caldera/images/letters/123.gif 0600 root bin 86 7577 1025499871
1 f none caldera/images/letters/124.gif 0600 root bin 132 13794 1025499871
1 f none caldera/images/letters/125.gif 0600 root bin 123 12585 1025499871
1 f none caldera/images/letters/126.gif 0600 root bin 178 19324 1025499871
1 f none caldera/images/letters/192.gif 0600 root bin 178 19459 1025499871
1 f none caldera/images/letters/193.gif 0600 root bin 184 18919 1025499871
1 f none caldera/images/letters/194.gif 0600 root bin 183 20694 1025499871
1 f none caldera/images/letters/195.gif 0600 root bin 182 21236 1025499871
1 f none caldera/images/letters/196.gif 0600 root bin 182 20704 1025499871
1 f none caldera/images/letters/197.gif 0600 root bin 184 19794 1025499871
1 f none caldera/images/letters/198.gif 0600 root bin 182 17624 1025499871
1 f none caldera/images/letters/199.gif 0600 root bin 153 15459 1025499871
1 f none caldera/images/letters/200.gif 0600 root bin 152 15471 1025499871
1 f none caldera/images/letters/201.gif 0600 root bin 159 15431 1025499871
1 f none caldera/images/letters/202.gif 0600 root bin 155 14927 1025499871
1 f none caldera/images/letters/203.gif 0600 root bin 129 12675 1025499871
1 f none caldera/images/letters/204.gif 0600 root bin 128 11578 1025499871
1 f none caldera/images/letters/205.gif 0600 root bin 136 12072 1025499871
1 f none caldera/images/letters/206.gif 0600 root bin 133 11882 1025499871
1 f none caldera/images/letters/207.gif 0600 root bin 122 11752 1025499871
1 f none caldera/images/letters/208.gif 0600 root bin 178 20342 1025499871
1 f none caldera/images/letters/209.gif 0600 root bin 198 21299 1025499871
1 f none caldera/images/letters/210.gif 0600 root bin 199 20780 1025499871
1 f none caldera/images/letters/211.gif 0600 root bin 202 21844 1025499871
1 f none caldera/images/letters/212.gif 0600 root bin 198 19064 1025499871
1 f none caldera/images/letters/213.gif 0600 root bin 198 19245 1025499871
1 f none caldera/images/letters/214.gif 0600 root bin 204 21942 1025499871
1 f none caldera/images/letters/215.gif 0600 root bin 177 18626 1025499871
1 f none caldera/images/letters/216.gif 0600 root bin 179 17906 1025499871
1 f none caldera/images/letters/217.gif 0600 root bin 184 19073 1025499871
1 f none caldera/images/letters/218.gif 0600 root bin 182 20310 1025499871
1 f none caldera/images/letters/219.gif 0600 root bin 134 12675 1025499872
1 f none caldera/images/letters/220.gif 0600 root bin 154 16287 1025499872
1 f none caldera/images/letters/221.gif 0600 root bin 174 21434 1025499871
1 f none caldera/images/letters/222.gif 0600 root bin 162 17996 1025499872
1 f none caldera/images/letters/223.gif 0600 root bin 165 17854 1025499871
1 f none caldera/images/letters/224.gif 0600 root bin 168 19258 1025499872
1 f none caldera/images/letters/225.gif 0600 root bin 170 18129 1025499871
1 f none caldera/images/letters/226.gif 0600 root bin 168 17201 1025499872
1 f none caldera/images/letters/227.gif 0600 root bin 171 18608 1025499871
1 f none caldera/images/letters/228.gif 0600 root bin 186 19781 1025499872
1 f none caldera/images/letters/229.gif 0600 root bin 158 17395 1025499871
1 f none caldera/images/letters/230.gif 0600 root bin 166 16975 1025499871
1 f none caldera/images/letters/231.gif 0600 root bin 162 17510 1025499872
1 f none caldera/images/letters/232.gif 0600 root bin 173 18480 1025499871
1 f none caldera/images/letters/233.gif 0600 root bin 168 19290 1025499872
1 f none caldera/images/letters/234.gif 0600 root bin 125 11989 1025499871
1 f none caldera/images/letters/235.gif 0600 root bin 123 11319 1025499872
1 f none caldera/images/letters/236.gif 0600 root bin 132 11923 1025499871
1 f none caldera/images/letters/237.gif 0600 root bin 131 12561 1025499871
1 f none caldera/images/letters/238.gif 0600 root bin 120 11981 1025499871
1 f none caldera/images/letters/239.gif 0600 root bin 160 17666 1025499871
1 f none caldera/images/letters/240.gif 0600 root bin 169 17990 1025499871
1 f none caldera/images/letters/241.gif 0600 root bin 170 17725 1025499871
1 f none caldera/images/letters/242.gif 0600 root bin 174 19411 1025499871
1 f none caldera/images/letters/243.gif 0600 root bin 173 18551 1025499871
1 f none caldera/images/letters/244.gif 0600 root bin 173 17784 1025499871
1 f none caldera/images/letters/245.gif 0600 root bin 128 12424 1025499871
1 f none caldera/images/letters/246.gif 0600 root bin 166 17517 1025499871
1 f none caldera/images/letters/247.gif 0600 root bin 148 14627 1025499871
1 f none caldera/images/letters/248.gif 0600 root bin 146 15060 1025499871
1 f none caldera/images/letters/249.gif 0600 root bin 159 15310 1025499871
1 f none caldera/images/letters/250.gif 0600 root bin 158 16128 1025499871
1 f none caldera/images/letters/251.gif 0600 root bin 133 11282 1025499871
1 f none caldera/images/letters/252.gif 0600 root bin 153 14828 1025499871
1 f none caldera/images/letters/253.gif 0600 root bin 174 19504 1025499871
1 f none caldera/images/letters/254.gif 0600 root bin 0 0 1025499871
1 f none caldera/images/letters/255.gif 0600 root bin 0 0 1025499871
1 f none caldera/images/letters/32.gif 0600 root bin 123 14068 1025499872
1 f none caldera/images/letters/33.gif 0600 root bin 94 9882 1025499871
1 f none caldera/images/letters/34.gif 0600 root bin 126 10164 1025499872
1 f none caldera/images/letters/35.gif 0600 root bin 168 18937 1025499871
1 f none caldera/images/letters/36.gif 0600 root bin 172 19405 1025499872
1 f none caldera/images/letters/37.gif 0600 root bin 202 19915 1025499871
1 f none caldera/images/letters/38.gif 0600 root bin 194 20945 1025499872
1 f none caldera/images/letters/39.gif 0600 root bin 82 7765 1025499871
1 f none caldera/images/letters/40.gif 0600 root bin 138 14958 1025499871
1 f none caldera/images/letters/41.gif 0600 root bin 136 13658 1025499872
1 f none caldera/images/letters/42.gif 0600 root bin 148 16556 1025499871
1 f none caldera/images/letters/43.gif 0600 root bin 128 11344 1025499872
1 f none caldera/images/letters/44.gif 0600 root bin 111 9028 1025499871
1 f none caldera/images/letters/45.gif 0600 root bin 63 4757 1025499872
1 f none caldera/images/letters/46.gif 0600 root bin 76 6659 1025499871
1 f none caldera/images/letters/47.gif 0600 root bin 142 15800 1025499872
1 f none caldera/images/letters/48.gif 0600 root bin 166 18775 1025499871
1 f none caldera/images/letters/49.gif 0600 root bin 125 11191 1025499872
1 f none caldera/images/letters/50.gif 0600 root bin 153 16292 1025499871
1 f none caldera/images/letters/51.gif 0600 root bin 164 17431 1025499871
1 f none caldera/images/letters/52.gif 0600 root bin 148 15925 1025499871
1 f none caldera/images/letters/53.gif 0600 root bin 160 17003 1025499871
1 f none caldera/images/letters/54.gif 0600 root bin 168 18886 1025499871
1 f none caldera/images/letters/55.gif 0600 root bin 141 14209 1025499871
1 f none caldera/images/letters/56.gif 0600 root bin 173 18253 1025499871
1 f none caldera/images/letters/57.gif 0600 root bin 169 18324 1025499871
1 f none caldera/images/letters/58.gif 0600 root bin 83 7658 1025499871
1 f none caldera/images/letters/59.gif 0600 root bin 120 10686 1025499871
1 f none caldera/images/letters/60.gif 0600 root bin 138 14839 1025499871
1 f none caldera/images/letters/61.gif 0600 root bin 91 8129 1025499871
1 f none caldera/images/letters/62.gif 0600 root bin 138 16067 1025499871
1 f none caldera/images/letters/63.gif 0600 root bin 145 16103 1025499871
1 f none caldera/images/letters/64.gif 0600 root bin 251 23489 1025499871
1 f none caldera/images/letters/65.gif 0600 root bin 167 19518 1025499871
1 f none caldera/images/letters/66.gif 0600 root bin 168 18711 1025499871
1 f none caldera/images/letters/67.gif 0600 root bin 173 19285 1025499871
1 f none caldera/images/letters/68.gif 0600 root bin 164 18069 1025499871
1 f none caldera/images/letters/69.gif 0600 root bin 146 14806 1025499871
1 f none caldera/images/letters/70.gif 0600 root bin 138 12253 1025499871
1 f none caldera/images/letters/71.gif 0600 root bin 181 19629 1025499872
1 f none caldera/images/letters/72.gif 0600 root bin 119 10435 1025499871
1 f none caldera/images/letters/73.gif 0600 root bin 91 9025 1025499872
1 f none caldera/images/letters/74.gif 0600 root bin 138 13463 1025499871
1 f none caldera/images/letters/75.gif 0600 root bin 170 20045 1025499872
1 f none caldera/images/letters/76.gif 0600 root bin 104 11184 1025499871
1 f none caldera/images/letters/77.gif 0600 root bin 203 23221 1025499872
1 f none caldera/images/letters/78.gif 0600 root bin 166 17696 1025499871
1 f none caldera/images/letters/79.gif 0600 root bin 186 19415 1025499872
1 f none caldera/images/letters/80.gif 0600 root bin 149 16434 1025499872
1 f none caldera/images/letters/81.gif 0600 root bin 183 19515 1025499871
1 f none caldera/images/letters/82.gif 0600 root bin 162 18394 1025499872
1 f none caldera/images/letters/83.gif 0600 root bin 183 19698 1025499871
1 f none caldera/images/letters/84.gif 0600 root bin 87 8745 1025499872
1 f none caldera/images/letters/85.gif 0600 root bin 166 18124 1025499871
1 f none caldera/images/letters/86.gif 0600 root bin 168 17676 1025499872
1 f none caldera/images/letters/87.gif 0600 root bin 225 23256 1025499871
1 f none caldera/images/letters/88.gif 0600 root bin 169 18685 1025499872
1 f none caldera/images/letters/89.gif 0600 root bin 156 16276 1025499871
1 f none caldera/images/letters/90.gif 0600 root bin 154 17474 1025499871
1 f none caldera/images/letters/91.gif 0600 root bin 207 22771 1025499871
1 f none caldera/images/letters/93.gif 0600 root bin 143 15787 1025499871
1 f none caldera/images/letters/94.gif 0600 root bin 85 8941 1025499871
1 f none caldera/images/letters/95.gif 0600 root bin 106 9247 1025499871
1 f none caldera/images/letters/96.gif 0600 root bin 130 13073 1025499871
1 f none caldera/images/letters/97.gif 0600 root bin 156 17417 1025499871
1 f none caldera/images/letters/98.gif 0600 root bin 159 18635 1025499871
1 f none caldera/images/letters/99.gif 0600 root bin 150 16089 1025499871
1 f none caldera/images/main-bg-pixel.gif 0600 root bin 35 1293 1025499872
1 f none caldera/images/nav2bg.gif 0600 root bin 97 10212 1025499872
1 f none caldera/images/navbg.gif 0600 root bin 110 11543 1025499871
1 f none caldera/images/pixel-white.gif 0600 root bin 799 17884 1025499872
1 f none caldera/images/spacer.gif 0600 root bin 43 1850 1025499871
1 f none caldera/images/top-grad-stretch.gif 0600 root bin 62 3276 1025499872
1 f none caldera/images/webmin-header.gif 0600 root bin 7992 20869 1025499872
1 f none caldera/index.cgi 0700 root bin 1662 4562 1025499873
1 f none caldera/index_body.cgi 0700 root bin 116 9603 1025499873
1 f none caldera/index_top.cgi 0700 root bin 5553 17957 1025499872
1 d none caldera/inetd 0700 root bin
1 d none caldera/inetd/images 0700 root bin
1 f none caldera/inetd/images/icon.gif 0600 root bin 565 1415 1025499871
1 d none caldera/init 0700 root bin
1 d none caldera/init/images 0700 root bin
1 f none caldera/init/images/icon.gif 0600 root bin 621 2820 1025499873
1 d none caldera/inittab 0700 root bin
1 d none caldera/inittab/images 0700 root bin
1 f none caldera/inittab/images/icon.gif 0600 root bin 569 474 1025499871
1 d none caldera/ipcache 0700 root bin
1 d none caldera/ipcache/images 0700 root bin
1 d none caldera/ipchains 0700 root bin
1 d none caldera/ipchains/images 0700 root bin
1 f none caldera/ipchains/images/icon.gif 0600 root bin 344 38790 1025499873
1 d none caldera/ipweb 0700 root bin
1 d none caldera/ipweb/images 0700 root bin
1 d none caldera/jabber 0700 root bin
1 d none caldera/jabber/images 0700 root bin
1 f none caldera/jabber/images/icon.gif 0600 root bin 713 38667 1025499874
1 d none caldera/lilo 0700 root bin
1 d none caldera/lilo/images 0700 root bin
1 f none caldera/lilo/images/icon.gif 0600 root bin 623 5629 1025499873
1 d none caldera/link 0700 root bin
1 d none caldera/link/images 0700 root bin
1 f none caldera/link/images/icon.gif 0600 root bin 676 48992 1025499873
1 d none caldera/lkmload 0700 root bin
1 d none caldera/lkmload/images 0700 root bin
1 f none caldera/lkmload/images/icon.gif 0600 root bin 284 33796 1025499873
1 d none caldera/lpadmin 0700 root bin
1 d none caldera/lpadmin/images 0700 root bin
1 f none caldera/lpadmin/images/icon.gif 0600 root bin 524 59033 1025499871
1 d none caldera/lvm 0700 root bin
1 d none caldera/lvm/images 0700 root bin
1 f none caldera/lvm/images/icon.gif 0600 root bin 1207 45869 1025499874
1 d none caldera/majordomo 0700 root bin
1 d none caldera/majordomo/images 0700 root bin
1 f none caldera/majordomo/images/icon.gif 0600 root bin 518 56989 1025499872
1 d none caldera/man 0700 root bin
1 d none caldera/man/images 0700 root bin
1 f none caldera/man/images/icon.gif 0600 root bin 519 53301 1025499872
1 d none caldera/mon 0700 root bin
1 d none caldera/mon/images 0700 root bin
1 f none caldera/mon/images/icon.gif 0600 root bin 1271 5988 1025499874
1 d none caldera/mount 0700 root bin
1 d none caldera/mount/images 0700 root bin
1 f none caldera/mount/images/icon.gif 0600 root bin 536 64712 1025499871
1 d none caldera/mysql 0700 root bin
1 d none caldera/mysql/images 0700 root bin
1 f none caldera/mysql/images/icon.gif 0600 root bin 560 1203 1025499873
1 d none caldera/net 0700 root bin
1 d none caldera/net/images 0700 root bin
1 f none caldera/net/images/icon.gif 0600 root bin 549 63360 1025499872
1 d none caldera/nis 0700 root bin
1 d none caldera/nis/images 0700 root bin
1 f none caldera/nis/images/icon.gif 0600 root bin 679 48679 1025499873
1 d none caldera/openldap 0700 root bin
1 d none caldera/openldap/images 0700 root bin
1 f none caldera/openldap/images/icon.gif 0600 root bin 347 39224 1025499873
1 d none caldera/openslp 0700 root bin
1 d none caldera/openslp/images 0700 root bin
1 f none caldera/openslp/images/icon.gif 0600 root bin 298 35857 1025499873
1 d none caldera/palace 0700 root bin
1 d none caldera/palace/images 0700 root bin
1 f none caldera/palace/images/icon.gif 0600 root bin 762 43430 1025499874
1 d none caldera/pam 0700 root bin
1 d none caldera/pam/images 0700 root bin
1 f none caldera/pam/images/icon.gif 0600 root bin 728 39917 1025499872
1 d none caldera/pap 0700 root bin
1 d none caldera/pap/images 0700 root bin
1 f none caldera/pap/images/icon.gif 0600 root bin 544 59315 1025499872
1 d none caldera/passwd 0700 root bin
1 d none caldera/passwd/images 0700 root bin
1 f none caldera/passwd/images/icon.gif 0600 root bin 467 63123 1025499873
1 d none caldera/postfix 0700 root bin
1 d none caldera/postfix/images 0700 root bin
1 f none caldera/postfix/images/icon.gif 0600 root bin 603 2547 1025499871
1 d none caldera/postgresql 0700 root bin
1 d none caldera/postgresql/images 0700 root bin
1 f none caldera/postgresql/images/icon.gif 0600 root bin 560 1203 1025499871
1 d none caldera/proc 0700 root bin
1 d none caldera/proc/images 0700 root bin
1 f none caldera/proc/images/icon.gif 0600 root bin 570 1927 1025499871
1 d none caldera/procmail 0700 root bin
1 d none caldera/procmail/images 0700 root bin
1 f none caldera/procmail/images/icon.gif 0600 root bin 1206 986 1025499874
1 d none caldera/proftpd 0700 root bin
1 d none caldera/proftpd/images 0700 root bin
1 f none caldera/proftpd/images/icon.gif 0600 root bin 731 33765 1025499874
1 d none caldera/pserver 0700 root bin
1 d none caldera/pserver/images 0700 root bin
1 f none caldera/pserver/images/icon.gif 0600 root bin 1171 52131 1025499874
1 d none caldera/qmailadmin 0700 root bin
1 d none caldera/qmailadmin/images 0700 root bin
1 f none caldera/qmailadmin/images/icon.gif 0600 root bin 1209 41768 1025499874
1 d none caldera/quota 0700 root bin
1 d none caldera/quota/images 0700 root bin
1 f none caldera/quota/images/icon.gif 0600 root bin 547 575 1025499871
1 d none caldera/raid 0700 root bin
1 d none caldera/raid/images 0700 root bin
1 f none caldera/raid/images/icon.gif 0600 root bin 559 500 1025499871
1 d none caldera/samba 0700 root bin
1 d none caldera/samba/images 0700 root bin
1 f none caldera/samba/images/icon.gif 0600 root bin 484 49319 1025499872
1 d none caldera/sendmail 0700 root bin
1 d none caldera/sendmail/images 0700 root bin
1 f none caldera/sendmail/images/icon.gif 0600 root bin 568 1480 1025499872
1 d none caldera/sentry 0700 root bin
1 d none caldera/sentry/images 0700 root bin
1 f none caldera/sentry/images/icon.gif 0600 root bin 741 45960 1025499874
1 d none caldera/servers 0700 root bin
1 d none caldera/servers/images 0700 root bin
1 f none caldera/servers/images/icon.gif 0600 root bin 549 114 1025499872
1 d none caldera/shell 0700 root bin
1 d none caldera/shell/images 0700 root bin
1 f none caldera/shell/images/icon.gif 0600 root bin 968 53572 1025499872
1 d none caldera/shellinabox 0700 root bin
1 d none caldera/shellinabox/images 0700 root bin
1 f none caldera/shellinabox/images/icon.gif 0600 root bin 1335 5931 1025499874
1 d none caldera/software 0700 root bin
1 d none caldera/software/images 0700 root bin
1 f none caldera/software/images/icon.gif 0600 root bin 589 3315 1025499872
1 d none caldera/squid 0700 root bin
1 d none caldera/squid/images 0700 root bin
1 f none caldera/squid/images/icon.gif 0600 root bin 561 2069 1025499872
1 d none caldera/ssh 0700 root bin
1 d none caldera/ssh/images 0700 root bin
1 f none caldera/ssh/images/icon.gif 0600 root bin 513 3 1025499873
1 d none caldera/sshd 0700 root bin
1 d none caldera/sshd/images 0700 root bin
1 f none caldera/sshd/images/icon.gif 0600 root bin 513 3 1025499874
1 d none caldera/status 0700 root bin
1 d none caldera/status/images 0700 root bin
1 f none caldera/status/images/icon.gif 0600 root bin 1284 51185 1025499871
1 d none caldera/stunnel 0700 root bin
1 d none caldera/stunnel/images 0700 root bin
1 f none caldera/stunnel/images/icon.gif 0600 root bin 740 27193 1025499874
1 f none caldera/style.css 0600 root bin 1697 59925 1025499871
1 d none caldera/syslog 0700 root bin
1 d none caldera/syslog/images 0700 root bin
1 f none caldera/syslog/images/icon.gif 0600 root bin 541 61760 1025499871
1 d none caldera/tcpd 0700 root bin
1 d none caldera/tcpd/images 0700 root bin
1 d none caldera/telnet 0700 root bin
1 d none caldera/telnet/images 0700 root bin
1 f none caldera/telnet/images/icon.gif 0600 root bin 513 3 1025499872
1 f none caldera/template.gif 0600 root bin 634 43333 1025499871
1 f none caldera/theme.info 0600 root bin 47 3868 1025499882
1 d none caldera/time 0700 root bin
1 d none caldera/time/images 0700 root bin
1 f none caldera/time/images/icon.gif 0600 root bin 556 773 1025499871
1 d none caldera/useradmin 0700 root bin
1 d none caldera/useradmin/images 0700 root bin
1 f none caldera/useradmin/images/icon.gif 0600 root bin 551 62511 1025499871
1 d none caldera/usermin 0700 root bin
1 d none caldera/usermin/images 0700 root bin
1 f none caldera/usermin/images/icon.gif 0600 root bin 571 586 1025499873
1 d none caldera/vnc 0700 root bin
1 d none caldera/vnc/images 0700 root bin
1 f none caldera/vnc/images/icon.gif 0600 root bin 826 17137 1025499871
1 d none caldera/volution 0700 root bin
1 d none caldera/volution/images 0700 root bin
1 f none caldera/volution/images/icon.gif 0600 root bin 549 63360 1025499873
1 d none caldera/webmin 0700 root bin
1 d none caldera/webmin/images 0700 root bin
1 f none caldera/webmin/images/icon.gif 0600 root bin 589 5882 1025499871
1 d none caldera/webminlog 0700 root bin
1 d none caldera/webminlog/images 0700 root bin
1 f none caldera/webminlog/images/icon.gif 0600 root bin 541 61760 1025499872
1 d none caldera/wuftpd 0700 root bin
1 d none caldera/wuftpd/images 0700 root bin
1 f none caldera/wuftpd/images/icon.gif 0600 root bin 552 932 1025499873
1 d none caldera/xinetd 0700 root bin
1 d none caldera/xinetd/images 0700 root bin
1 f none caldera/xinetd/images/icon.gif 0600 root bin 565 1415 1025499871
1 d none cfengine 0700 root bin
1 f none cfengine/add.cgi 0700 root bin 2099 40398 1025499882
1 f none cfengine/cfengine-lib.pl 0600 root bin 23313 44822 1025499882
1 f none cfengine/cluster.cgi 0700 root bin 2592 3194 1025499882
1 f none cfengine/config 0600 root bin 113 10573 1025499882
1 f none cfengine/config-cobalt-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-debian-linux 0600 root bin 94 8748 1025499882
1 f none cfengine/config-mandrake-linux 0600 root bin 205 18968 1025499882
1 f none cfengine/config-msc-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-open-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-redhat-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-suse-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-turbo-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config.info 0600 root bin 392 36149 1025499882
1 f none cfengine/delete_host.cgi 0700 root bin 266 22630 1025499882
1 f none cfengine/down.cgi 0700 root bin 345 28045 1025499882
1 f none cfengine/edit_cfd.cgi 0700 root bin 1093 25441 1025499882
1 f none cfengine/edit_class.cgi 0700 root bin 36918 32227 1025499882
1 f none cfengine/edit_host.cgi 0700 root bin 1962 34122 1025499882
1 f none cfengine/edit_push.cgi 0700 root bin 1777 13869 1025499882
1 f none cfengine/feedback_files.pl 0600 root bin 104 8614 1025499882
1 d none cfengine/help 0700 root bin
1 f none cfengine/help/cfd.html 0600 root bin 923 19531 1025499882
1 f none cfengine/help/edit.html 0600 root bin 1597 13124 1025499882
1 f none cfengine/help/hosts.html 0600 root bin 1251 49502 1025499882
1 f none cfengine/help/intro.html 0600 root bin 1281 51655 1025499882
1 f none cfengine/help/push.html 0600 root bin 562 52307 1025499882
1 f none cfengine/help/run.html 0600 root bin 290 25994 1025499882
1 d none cfengine/images 0700 root bin
1 f none cfengine/images/cfd.gif 0600 root bin 272 33549 1025499882
1 f none cfengine/images/down.gif 0600 root bin 108 8892 1025499882
1 f none cfengine/images/gap.gif 0600 root bin 73 6048 1025499882
1 f none cfengine/images/hosts.gif 0600 root bin 2575 13688 1025499882
1 f none cfengine/images/icon.gif 0600 root bin 2612 18019 1025499882
1 f none cfengine/images/push.gif 0600 root bin 415 48303 1025499882
1 f none cfengine/images/run.gif 0600 root bin 1037 58438 1025499882
1 f none cfengine/images/up.gif 0600 root bin 103 9086 1025499882
1 f none cfengine/index.cgi 0700 root bin 2110 38844 1025499882
1 d none cfengine/lang 0700 root bin
1 f none cfengine/lang/en 0600 root bin 19985 52620 1025499882
1 f none cfengine/list_hosts.cgi 0700 root bin 2177 51029 1025499882
1 f none cfengine/log_parser.pl 0600 root bin 479 40956 1025499882
1 f none cfengine/module.info 0600 root bin 85 7577 1025499882
1 f none cfengine/push.cgi 0700 root bin 629 51596 1025499882
1 f none cfengine/run.cgi 0700 root bin 840 65316 1025499882
1 f none cfengine/run_form.cgi 0700 root bin 574 48138 1025499882
1 f none cfengine/save_class.cgi 0700 root bin 20895 42332 1025499882
1 f none cfengine/save_push.cgi 0700 root bin 881 8661 1025499882
1 f none cfengine/start.cgi 0700 root bin 463 38825 1025499882
1 f none cfengine/stop.cgi 0700 root bin 486 40590 1025499882
1 f none cfengine/up.cgi 0700 root bin 341 27625 1025499882
1 f none changepass.pl 0700 root bin 1873 21667 1025499831
1 f none chooser.cgi 0700 root bin 4080 54133 1025499831
1 d none cluster-software 0700 root bin
1 f none cluster-software/add.cgi 0700 root bin 2176 46011 1025499878
1 f none cluster-software/close.cgi 0700 root bin 422 35675 1025499878
1 f none cluster-software/closeall.cgi 0700 root bin 208 18127 1025499878
1 f none cluster-software/cluster-software-lib.pl 0600 root bin 1969 30656 1025499878
1 f none cluster-software/config 0600 root bin 12 1091 1025499878
1 f none cluster-software/config.info 0600 root bin 51 4548 1025499878
1 f none cluster-software/config.info.ca 0600 root bin 65 5857 1025499878
1 f none cluster-software/delete_host.cgi 0700 root bin 260 22124 1025499878
1 f none cluster-software/delete_pack.cgi 0700 root bin 3470 8021 1025499878
1 f none cluster-software/do_install.cgi 0700 root bin 5453 19012 1025499878
1 f none cluster-software/do_install_serial.cgi 0700 root bin 3695 27539 1025499878
1 f none cluster-software/edit_host.cgi 0700 root bin 3398 10995 1025499878
1 f none cluster-software/edit_pack.cgi 0700 root bin 3245 5642 1025499878
1 d none cluster-software/help 0700 root bin
1 f none cluster-software/help/delete_pack.ca.html 0600 root bin 149 13770 1025499878
1 f none cluster-software/help/delete_pack.html 0600 root bin 150 13188 1025499878
1 f none cluster-software/help/edit_host.ca.html 0600 root bin 479 44499 1025499878
1 f none cluster-software/help/edit_host.html 0600 root bin 415 37365 1025499878
1 f none cluster-software/help/edit_pack.ca.html 0600 root bin 585 54377 1025499878
1 f none cluster-software/help/edit_pack.html 0600 root bin 591 53422 1025499878
1 f none cluster-software/help/install_pack.ca.html 0600 root bin 269 25490 1025499878
1 f none cluster-software/help/install_pack.html 0600 root bin 237 21384 1025499878
1 f none cluster-software/help/intro.ca.html 0600 root bin 2253 15002 1025499878
1 f none cluster-software/help/intro.html 0600 root bin 1957 47654 1025499878
1 f none cluster-software/help/search.ca.html 0600 root bin 327 30585 1025499878
1 f none cluster-software/help/search.html 0600 root bin 262 23739 1025499878
1 d none cluster-software/images 0700 root bin
1 f none cluster-software/images/close.gif 0600 root bin 112 11697 1025499878
1 f none cluster-software/images/icon.gif 0600 root bin 411 48555 1025499878
1 f none cluster-software/images/open.gif 0600 root bin 107 10761 1025499878
1 f none cluster-software/images/pack.gif 0600 root bin 123 11211 1025499878
1 f none cluster-software/index.cgi 0700 root bin 3254 10833 1025499878
1 f none cluster-software/install_pack.cgi 0700 root bin 4249 18920 1025499878
1 d none cluster-software/lang 0700 root bin
1 f none cluster-software/lang/ca 0600 root bin 4216 1885 1025499878
1 f none cluster-software/lang/en 0600 root bin 3799 22562 1025499878
1 f none cluster-software/lang/hu 0600 root bin 3905 64478 1025499878
1 f none cluster-software/list_pack.cgi 0700 root bin 2373 53302 1025499878
1 f none cluster-software/module.info 0600 root bin 317 30340 1025499882
1 f none cluster-software/open.cgi 0700 root bin 288 24265 1025499878
1 f none cluster-software/openall.cgi 0700 root bin 528 42269 1025499878
1 f none cluster-software/refresh.cgi 0700 root bin 2844 14586 1025499878
1 f none cluster-software/search.cgi 0700 root bin 1366 40879 1025499878
1 d none cluster-useradmin 0700 root bin
1 f none cluster-useradmin/add.cgi 0700 root bin 2034 36051 1025499878
1 f none cluster-useradmin/cluster-useradmin-lib.pl 0600 root bin 2732 23768 1025499878
1 f none cluster-useradmin/config 0600 root bin 12 1091 1025499878
1 f none cluster-useradmin/config.info 0600 root bin 51 4548 1025499878
1 f none cluster-useradmin/config.info.ca 0600 root bin 65 5857 1025499878
1 f none cluster-useradmin/create_group.cgi 0700 root bin 2226 52955 1025499878
1 f none cluster-useradmin/create_user.cgi 0700 root bin 9153 2899 1025499878
1 f none cluster-useradmin/delete_group.cgi 0700 root bin 2626 12281 1025499878
1 f none cluster-useradmin/delete_host.cgi 0700 root bin 263 22403 1025499878
1 f none cluster-useradmin/delete_user.cgi 0700 root bin 4603 37999 1025499878
1 f none cluster-useradmin/edit_group.cgi 0700 root bin 4605 61564 1025499878
1 f none cluster-useradmin/edit_host.cgi 0700 root bin 2514 8615 1025499878
1 f none cluster-useradmin/edit_user.cgi 0700 root bin 17235 55313 1025499878
1 f none cluster-useradmin/group_form.cgi 0700 root bin 1882 30907 1025499878
1 d none cluster-useradmin/help 0700 root bin
1 f none cluster-useradmin/help/intro.ca.html 0600 root bin 1689 28709 1025499878
1 f none cluster-useradmin/help/intro.html 0600 root bin 1469 3288 1025499878
1 d none cluster-useradmin/images 0700 root bin
1 f none cluster-useradmin/images/icon.gif 0600 root bin 501 58927 1025499878
1 f none cluster-useradmin/index.cgi 0700 root bin 4181 28823 1025499878
1 d none cluster-useradmin/lang 0700 root bin
1 f none cluster-useradmin/lang/ca 0600 root bin 4637 40850 1025499878
1 f none cluster-useradmin/lang/en 0600 root bin 4189 62586 1025499878
1 f none cluster-useradmin/module.info 0600 root bin 374 35688 1025499882
1 f none cluster-useradmin/refresh.cgi 0700 root bin 1910 20758 1025499878
1 f none cluster-useradmin/save_group.cgi 0700 root bin 3838 37892 1025499878
1 f none cluster-useradmin/save_user.cgi 0700 root bin 12079 28960 1025499878
1 f none cluster-useradmin/search_group.cgi 0700 root bin 1745 397 1025499878
1 f none cluster-useradmin/search_user.cgi 0700 root bin 1762 312 1025499878
1 f none cluster-useradmin/sync.cgi 0700 root bin 5098 3353 1025499878
1 f none cluster-useradmin/sync_form.cgi 0700 root bin 3465 34738 1025499878
1 f none cluster-useradmin/user_form.cgi 0700 root bin 9077 33194 1025499878
1 d none cluster-webmin 0700 root bin
1 f none cluster-webmin/add.cgi 0700 root bin 2556 11423 1025499882
1 f none cluster-webmin/cluster-webmin-lib.pl 0600 root bin 4305 18650 1025499882
1 f none cluster-webmin/config 0600 root bin 12 1091 1025499882
1 f none cluster-webmin/config.info 0600 root bin 51 4548 1025499882
1 f none cluster-webmin/create_group.cgi 0700 root bin 3059 42826 1025499882
1 f none cluster-webmin/create_user.cgi 0700 root bin 3750 25380 1025499882
1 f none cluster-webmin/delete_group.cgi 0700 root bin 3319 60516 1025499882
1 f none cluster-webmin/delete_host.cgi 0700 root bin 254 21425 1025499882
1 f none cluster-webmin/delete_mod.cgi 0700 root bin 4264 2410 1025499882
1 f none cluster-webmin/delete_user.cgi 0700 root bin 2214 40631 1025499882
1 f none cluster-webmin/edit_acl.cgi 0700 root bin 4341 16756 1025499882
1 f none cluster-webmin/edit_group.cgi 0700 root bin 6454 16818 1025499882
1 f none cluster-webmin/edit_host.cgi 0700 root bin 3725 35927 1025499882
1 f none cluster-webmin/edit_mod.cgi 0700 root bin 6613 47198 1025499882
1 f none cluster-webmin/edit_user.cgi 0700 root bin 8701 13094 1025499882
1 f none cluster-webmin/group_form.cgi 0700 root bin 3028 646 1025499882
1 d none cluster-webmin/images 0700 root bin
1 f none cluster-webmin/images/icon.gif 0600 root bin 2325 2301 1025499882
1 f none cluster-webmin/index.cgi 0700 root bin 5828 31126 1025499882
1 f none cluster-webmin/install.cgi 0700 root bin 7043 14782 1025499882
1 d none cluster-webmin/lang 0700 root bin
1 f none cluster-webmin/lang/en 0600 root bin 8417 51436 1025499882
1 f none cluster-webmin/module.info 0600 root bin 108 9866 1025499882
1 f none cluster-webmin/refresh.cgi 0700 root bin 3669 10744 1025499882
1 f none cluster-webmin/save_acl.cgi 0700 root bin 3474 12703 1025499882
1 f none cluster-webmin/save_group.cgi 0700 root bin 4662 30776 1025499882
1 f none cluster-webmin/save_user.cgi 0700 root bin 5203 64972 1025499882
1 f none cluster-webmin/user_form.cgi 0700 root bin 4435 55335 1025499882
1 f none config-aix 0600 root bin 142 12238 1025499831
1 f none config-cobalt-linux 0600 root bin 204 18226 1025499832
1 f none config-corel-linux 0600 root bin 204 18226 1025499831
1 f none config-debian-linux 0600 root bin 204 18226 1025499831
1 f none config-freebsd 0600 root bin 212 19055 1025499831
1 f none config-generic-linux 0600 root bin 204 18226 1025499832
1 f none config-gentoo-linux 0600 root bin 204 18226 1025499832
1 f none config-hpux 0600 root bin 215 19239 1025499831
1 f none config-irix 0600 root bin 241 21378 1025499831
1 f none config-macos 0600 root bin 224 20096 1025499831
1 f none config-mandrake-linux 0600 root bin 204 18226 1025499832
1 f none config-msc-linux 0600 root bin 204 18226 1025499832
1 f none config-netbsd 0600 root bin 255 23026 1025499832
1 f none config-open-linux 0600 root bin 204 18226 1025499831
1 f none config-openbsd 0600 root bin 213 19065 1025499831
1 f none config-openserver 0600 root bin 199 17590 1025499831
1 f none config-osf1 0600 root bin 223 19753 1025499831
1 f none config-redhat-linux 0600 root bin 204 18226 1025499830
1 f none config-slackware-linux 0600 root bin 204 18226 1025499830
1 f none config-solaris 0600 root bin 265 23620 1025499830
1 f none config-suse-linux 0600 root bin 204 18226 1025499831
1 f none config-turbo-linux 0600 root bin 204 18226 1025499831
1 f none config-unixware 0600 root bin 258 22957 1025499831
1 f none config.cgi 0700 root bin 5450 14834 1025499830
1 f none config_save.cgi 0700 root bin 2061 26796 1025499831
1 f none copyconfig.pl 0600 root bin 2197 38665 1025499831
1 d none cpan 0700 root bin
1 f none cpan/config 0600 root bin 99 9295 1025499871
1 f none cpan/config.info 0600 root bin 63 5402 1025499871
1 f none cpan/config.info.ca 0600 root bin 84 7266 1025499871
1 f none cpan/config.info.de 0600 root bin 67 5608 1025499871
1 f none cpan/config.info.es 0600 root bin 75 6669 1025499871
1 f none cpan/config.info.hu 0600 root bin 70 6340 1025499871
1 f none cpan/config.info.nl 0600 root bin 65 5627 1025499871
1 f none cpan/config.info.pl 0600 root bin 71 6644 1025499871
1 f none cpan/config.info.ru_RU 0600 root bin 69 10003 1025499871
1 f none cpan/config.info.ru_SU 0600 root bin 69 9189 1025499871
1 f none cpan/config.info.sv 0600 root bin 74 6691 1025499871
1 f none cpan/config.info.zh_CN 0600 root bin 55 6145 1025499871
1 f none cpan/config.info.zh_TW.Big5 0600 root bin 57 7028 1025499871
1 f none cpan/cpan-lib.pl 0600 root bin 3124 35839 1025499871
1 f none cpan/cpan.cgi 0700 root bin 3492 5211 1025499871
1 f none cpan/download.cgi 0700 root bin 5438 38651 1025499871
1 f none cpan/edit_mod.cgi 0700 root bin 1926 23611 1025499871
1 d none cpan/images 0700 root bin
1 f none cpan/images/cat.gif 0600 root bin 112 11697 1025499870
1 f none cpan/images/icon.gif 0600 root bin 969 27469 1025499870
1 f none cpan/images/mod.gif 0600 root bin 123 11211 1025499870
1 f none cpan/index.cgi 0700 root bin 2246 55803 1025499871
1 f none cpan/install.cgi 0700 root bin 1993 29068 1025499871
1 d none cpan/lang 0700 root bin
1 f none cpan/lang/ca 0600 root bin 2547 50988 1025499870
1 f none cpan/lang/de 0600 root bin 3181 27377 1025499870
1 f none cpan/lang/en 0600 root bin 2670 54450 1025499870
1 f none cpan/lang/es 0600 root bin 2282 24986 1025499870
1 f none cpan/lang/fr 0600 root bin 2370 29475 1025499870
1 f none cpan/lang/hu 0600 root bin 2376 45949 1025499870
1 f none cpan/lang/ja_JP.euc 0600 root bin 2356 10081 1025499870
1 f none cpan/lang/ko_KR.euc 0600 root bin 2010 9270 1025499870
1 f none cpan/lang/nl 0600 root bin 2290 20955 1025499870
1 f none cpan/lang/pl 0600 root bin 2385 37770 1025499870
1 f none cpan/lang/ru_RU 0600 root bin 890 9921 1025499870
1 f none cpan/lang/ru_SU 0600 root bin 891 62971 1025499870
1 f none cpan/lang/sv 0600 root bin 2224 18246 1025499870
1 f none cpan/lang/zh_CN 0600 root bin 1576 15582 1025499870
1 f none cpan/lang/zh_TW.Big5 0600 root bin 1809 28005 1025499871
1 f none cpan/module.info 0600 root bin 369 37022 1025499882
1 f none cpan/uninstall.cgi 0700 root bin 1094 23125 1025499871
1 d none cron 0700 root bin
1 f none cron/acl_security.pl 0600 root bin 1559 62418 1025499832
1 f none cron/config-aix 0600 root bin 277 25648 1025499832
1 f none cron/config-cobalt-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-corel-linux 0600 root bin 333 31193 1025499832
1 f none cron/config-debian-linux 0600 root bin 262 24454 1025499832
1 f none cron/config-debian-linux-2.1 0600 root bin 336 31639 1025499832
1 f none cron/config-debian-linux-2.2 0600 root bin 336 31639 1025499832
1 f none cron/config-debian-linux-3.0 0600 root bin 336 31639 1025499832
1 f none cron/config-freebsd 0600 root bin 269 24962 1025499832
1 f none cron/config-generic-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-gentoo-linux 0600 root bin 324 30403 1025499832
1 f none cron/config-hpux 0600 root bin 280 25696 1025499832
1 f none cron/config-irix 0600 root bin 282 26821 1025499832
1 f none cron/config-macos 0600 root bin 268 24952 1025499832
1 f none cron/config-mandrake-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-msc-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-netbsd 0600 root bin 269 24962 1025499832
1 f none cron/config-open-linux 0600 root bin 357 33431 1025499832
1 f none cron/config-openbsd 0600 root bin 269 24962 1025499832
1 f none cron/config-openserver 0600 root bin 255 23888 1025499832
1 f none cron/config-osf1 0600 root bin 294 27834 1025499832
1 f none cron/config-redhat-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-slackware-linux 0600 root bin 212 19866 1025499832
1 f none cron/config-solaris 0600 root bin 255 23888 1025499832
1 f none cron/config-suse-linux 0600 root bin 295 27402 1025499832
1 f none cron/config-suse-linux-7.0 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.1 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.2 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.3 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-8.0 0600 root bin 301 28006 1025499832
1 f none cron/config-turbo-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-unixware 0600 root bin 255 23888 1025499832
1 f none cron/config.info 0600 root bin 704 65142 1025499832
1 f none cron/config.info.ca 0600 root bin 833 12213 1025499832
1 f none cron/config.info.cz 0600 root bin 752 12663 1025499832
1 f none cron/config.info.de 0600 root bin 879 16041 1025499832
1 f none cron/config.info.es 0600 root bin 878 16712 1025499832
1 f none cron/config.info.fr 0600 root bin 830 14401 1025499832
1 f none cron/config.info.nl 0600 root bin 845 13803 1025499832
1 f none cron/config.info.pl 0600 root bin 845 18254 1025499832
1 f none cron/config.info.ru_RU 0600 root bin 843 10210 1025499832
1 f none cron/config.info.ru_SU 0600 root bin 843 62511 1025499832
1 f none cron/config.info.sv 0600 root bin 767 9231 1025499832
1 f none cron/config.info.tr 0600 root bin 841 21223 1025499832
1 f none cron/config.info.zh_CN 0600 root bin 555 14398 1025499832
1 f none cron/config.info.zh_TW.Big5 0600 root bin 664 24842 1025499832
1 f none cron/cron-lib.pl 0600 root bin 11777 46028 1025499832
1 f none cron/cron_editor.pl 0700 root bin 477 37288 1025499832
1 f none cron/defaultacl 0600 root bin 33 2806 1025499832
1 f none cron/delete_cron.cgi 0700 root bin 428 35936 1025499832
1 f none cron/edit_allow.cgi 0700 root bin 1268 40794 1025499832
1 f none cron/edit_cron.cgi 0700 root bin 3408 14495 1025499832
1 f none cron/edit_env.cgi 0700 root bin 1064 21667 1025499832
1 f none cron/exec_cron.cgi 0700 root bin 1968 20585 1025499832
1 f none cron/feedback_files.pl 0600 root bin 319 26317 1025499832
1 d none cron/help 0700 root bin
1 f none cron/help/help.ca.html 0600 root bin 3475 40313 1025499832
1 f none cron/help/help.es.html 0600 root bin 3237 17898 1025499832
1 f none cron/help/help.fr.html 0600 root bin 3375 46252 1025499832
1 f none cron/help/help.html 0600 root bin 3237 17898 1025499832
1 f none cron/help/help.it.html 0600 root bin 3579 45362 1025499832
1 f none cron/help/help.nl.html 0600 root bin 3716 2422 1025499832
1 f none cron/help/help.sv.html 0600 root bin 3052 19517 1025499832
1 f none cron/help/help.zh_TW.Big5.html 0600 root bin 2163 16451 1025499832
1 f none cron/help/intro.ca.html 0600 root bin 186 17002 1025499832
1 f none cron/help/intro.es.html 0600 root bin 198 18146 1025499832
1 f none cron/help/intro.fr.html 0600 root bin 180 17267 1025499832
1 f none cron/help/intro.html 0600 root bin 169 14811 1025499832
1 f none cron/help/intro.hu.html 0600 root bin 176 17230 1025499832
1 f none cron/help/intro.it.html 0600 root bin 181 15982 1025499832
1 f none cron/help/intro.nl.html 0600 root bin 193 17377 1025499832
1 f none cron/help/intro.sv.html 0600 root bin 159 14846 1025499832
1 f none cron/help/intro.zh_TW.Big5.html 0600 root bin 130 17950 1025499832
1 d none cron/images 0700 root bin
1 f none cron/images/icon.gif 0600 root bin 1970 19235 1025499832
1 f none cron/index.cgi 0700 root bin 2781 13795 1025499832
1 d none cron/lang 0700 root bin
1 f none cron/lang/ca 0600 root bin 2849 3314 1025499832
1 f none cron/lang/cz 0600 root bin 2254 43132 1025499832
1 f none cron/lang/de 0600 root bin 2585 45763 1025499832
1 f none cron/lang/en 0600 root bin 2506 35052 1025499832
1 f none cron/lang/es 0600 root bin 2837 2147 1025499832
1 f none cron/lang/fr 0600 root bin 2947 25821 1025499832
1 f none cron/lang/hu 0600 root bin 2598 7121 1025499832
1 f none cron/lang/it 0600 root bin 2668 51353 1025499832
1 f none cron/lang/ja_JP.euc 0600 root bin 2521 23235 1025499832
1 f none cron/lang/ko_KR.euc 0600 root bin 2411 64716 1025499832
1 f none cron/lang/nl 0600 root bin 2871 7069 1025499832
1 f none cron/lang/pl 0600 root bin 2818 14868 1025499832
1 f none cron/lang/pt 0600 root bin 2678 60329 1025499832
1 f none cron/lang/ru_RU 0600 root bin 2348 58730 1025499832
1 f none cron/lang/ru_SU 0600 root bin 2382 29588 1025499832
1 f none cron/lang/sv 0600 root bin 2300 29827 1025499832
1 f none cron/lang/tr 0600 root bin 2975 829 1025499832
1 f none cron/lang/zh_CN 0600 root bin 1967 6705 1025499832
1 f none cron/lang/zh_TW.Big5 0600 root bin 2337 44101 1025499832
1 f none cron/log_parser.pl 0600 root bin 1050 17963 1025499832
1 f none cron/module.info 0600 root bin 850 23158 1025499882
1 f none cron/save_allow.cgi 0700 root bin 510 45014 1025499832
1 f none cron/save_cron.cgi 0700 root bin 2195 46427 1025499832
1 f none cron/save_env.cgi 0700 root bin 462 36121 1025499832
1 f none cron/useradmin_update.pl 0600 root bin 821 1862 1025499832
1 d none custom 0700 root bin
1 f none custom/acl_security.pl 0700 root bin 1580 61053 1025499864
1 f none custom/config 0600 root bin 15 1393 1025499864
1 f none custom/config.info 0600 root bin 81 7407 1025499864
1 f none custom/config.info.ca 0600 root bin 100 9440 1025499864
1 f none custom/config.info.nl 0600 root bin 88 8307 1025499864
1 f none custom/config.info.pl 0600 root bin 109 10920 1025499864
1 f none custom/custom-lib.pl 0600 root bin 3567 11597 1025499864
1 f none custom/defaultacl 0600 root bin 25 2048 1025499864
1 f none custom/edit_cmd.cgi 0700 root bin 3959 57214 1025499864
1 f none custom/edit_file.cgi 0700 root bin 3038 54056 1025499864
1 f none custom/feedback_files.pl 0600 root bin 208 17396 1025499864
1 f none custom/form.cgi 0700 root bin 1778 9681 1025499864
1 d none custom/help 0700 root bin
1 f none custom/help/after.ca.html 0600 root bin 217 20339 1025499864
1 f none custom/help/after.html 0600 root bin 212 19122 1025499864
1 f none custom/help/after.nl.html 0600 root bin 244 22466 1025499864
1 f none custom/help/after.pl.html 0600 root bin 225 21411 1025499864
1 f none custom/help/before.ca.html 0600 root bin 213 19762 1025499864
1 f none custom/help/before.html 0600 root bin 207 18483 1025499864
1 f none custom/help/before.nl.html 0600 root bin 245 23002 1025499864
1 f none custom/help/before.pl.html 0600 root bin 234 22345 1025499864
1 f none custom/help/cmd.ca.html 0600 root bin 1757 20625 1025499864
1 f none custom/help/cmd.es.html 0600 root bin 1853 33823 1025499864
1 f none custom/help/cmd.fr.html 0600 root bin 1820 33063 1025499864
1 f none custom/help/cmd.html 0600 root bin 1659 10847 1025499864
1 f none custom/help/cmd.nl.html 0600 root bin 1862 29317 1025499864
1 f none custom/help/cmd.pl.html 0600 root bin 1812 34492 1025499864
1 f none custom/help/cmd.sv.html 0600 root bin 1686 22556 1025499864
1 f none custom/help/cmd.zh_TW.Big5.html 0600 root bin 1229 25556 1025499864
1 f none custom/help/command.ca.html 0600 root bin 175 15170 1025499864
1 f none custom/help/command.es.html 0600 root bin 192 16894 1025499864
1 f none custom/help/command.fr.html 0600 root bin 221 20575 1025499864
1 f none custom/help/command.html 0600 root bin 183 15886 1025499864
1 f none custom/help/command.nl.html 0600 root bin 204 18038 1025499864
1 f none custom/help/command.pl.html 0600 root bin 220 20081 1025499864
1 f none custom/help/command.sv.html 0600 root bin 164 14806 1025499864
1 f none custom/help/command.zh_TW.Big5.html 0600 root bin 151 17620 1025499864
1 f none custom/help/create.ca.html 0600 root bin 193 17863 1025499864
1 f none custom/help/create.es.html 0600 root bin 190 17709 1025499864
1 f none custom/help/create.fr.html 0600 root bin 217 20668 1025499864
1 f none custom/help/create.html 0600 root bin 172 15241 1025499864
1 f none custom/help/create.nl.html 0600 root bin 214 19503 1025499864
1 f none custom/help/create.pl.html 0600 root bin 199 19330 1025499864
1 f none custom/help/create.sv.html 0600 root bin 184 17157 1025499864
1 f none custom/help/create.zh_TW.Big5.html 0600 root bin 131 17470 1025499864
1 f none custom/help/desc.ca.html 0600 root bin 241 22027 1025499864
1 f none custom/help/desc.es.html 0600 root bin 175 16290 1025499864
1 f none custom/help/desc.fr.html 0600 root bin 172 15583 1025499864
1 f none custom/help/desc.html 0600 root bin 251 22848 1025499864
1 f none custom/help/desc.nl.html 0600 root bin 233 20911 1025499864
1 f none custom/help/desc.pl.html 0600 root bin 247 23866 1025499864
1 f none custom/help/desc.sv.html 0600 root bin 139 13013 1025499864
1 f none custom/help/desc.zh_TW.Big5.html 0600 root bin 111 14526 1025499864
1 f none custom/help/edit.ca.html 0600 root bin 108 10106 1025499864
1 f none custom/help/edit.es.html 0600 root bin 116 10493 1025499864
1 f none custom/help/edit.fr.html 0600 root bin 122 11650 1025499864
1 f none custom/help/edit.html 0600 root bin 110 9811 1025499864
1 f none custom/help/edit.nl.html 0600 root bin 121 11006 1025499864
1 f none custom/help/edit.pl.html 0600 root bin 131 12808 1025499864
1 f none custom/help/edit.sv.html 0600 root bin 111 10251 1025499864
1 f none custom/help/edit.zh_TW.Big5.html 0600 root bin 82 9853 1025499864
1 f none custom/help/editor.ca.html 0600 root bin 339 31689 1025499864
1 f none custom/help/editor.html 0600 root bin 328 29257 1025499864
1 f none custom/help/editor.nl.html 0600 root bin 355 32140 1025499864
1 f none custom/help/editor.pl.html 0600 root bin 348 34302 1025499864
1 f none custom/help/fcreate.ca.html 0600 root bin 186 17154 1025499864
1 f none custom/help/fcreate.html 0600 root bin 168 14810 1025499864
1 f none custom/help/fcreate.pl.html 0600 root bin 185 18037 1025499864
1 f none custom/help/fdesc.ca.html 0600 root bin 241 22027 1025499864
1 f none custom/help/fdesc.html 0600 root bin 247 22441 1025499864
1 f none custom/help/fdesc.nl.html 0600 root bin 234 20947 1025499864
1 f none custom/help/fdesc.pl.html 0600 root bin 242 23319 1025499864
1 f none custom/help/fedit.ca.html 0600 root bin 136 12571 1025499864
1 f none custom/help/fedit.html 0600 root bin 114 10139 1025499864
1 f none custom/help/fedit.pl.html 0600 root bin 128 12426 1025499864
1 f none custom/help/file.ca.html 0600 root bin 201 18696 1025499864
1 f none custom/help/file.html 0600 root bin 219 19582 1025499864
1 f none custom/help/file.nl.html 0600 root bin 261 23878 1025499864
1 f none custom/help/file.pl.html 0600 root bin 234 22438 1025499864
1 f none custom/help/fintro.ca.html 0600 root bin 518 48491 1025499864
1 f none custom/help/fintro.html 0600 root bin 491 44091 1025499864
1 f none custom/help/fintro.nl.html 0600 root bin 588 54097 1025499864
1 f none custom/help/fintro.pl.html 0600 root bin 609 61920 1025499864
1 f none custom/help/intro.ca.html 0600 root bin 938 23596 1025499864
1 f none custom/help/intro.es.html 0600 root bin 949 24437 1025499864
1 f none custom/help/intro.fr.html 0600 root bin 855 16516 1025499864
1 f none custom/help/intro.html 0600 root bin 850 12694 1025499864
1 f none custom/help/intro.nl.html 0600 root bin 821 9417 1025499864
1 f none custom/help/intro.pl.html 0600 root bin 958 31291 1025499864
1 f none custom/help/intro.sv.html 0600 root bin 844 17501 1025499864
1 f none custom/help/intro.zh_TW.Big5.html 0600 root bin 534 13073 1025499864
1 f none custom/help/noshow.html 0600 root bin 191 17223 1025499864
1 f none custom/help/order.ca.html 0600 root bin 245 23368 1025499864
1 f none custom/help/order.html 0600 root bin 227 20560 1025499864
1 f none custom/help/order.nl.html 0600 root bin 235 21584 1025499864
1 f none custom/help/owner.ca.html 0600 root bin 462 42923 1025499864
1 f none custom/help/owner.html 0600 root bin 428 38663 1025499864
1 f none custom/help/owner.nl.html 0600 root bin 501 45619 1025499864
1 f none custom/help/owner.pl.html 0600 root bin 552 54100 1025499864
1 f none custom/help/perms.ca.html 0600 root bin 433 40008 1025499864
1 f none custom/help/perms.html 0600 root bin 431 38912 1025499864
1 f none custom/help/perms.nl.html 0600 root bin 441 40167 1025499864
1 f none custom/help/perms.pl.html 0600 root bin 462 44225 1025499864
1 f none custom/help/raw.ca.html 0600 root bin 302 27228 1025499864
1 f none custom/help/raw.es.html 0600 root bin 321 29387 1025499864
1 f none custom/help/raw.fr.html 0600 root bin 329 30750 1025499864
1 f none custom/help/raw.html 0600 root bin 296 26713 1025499864
1 f none custom/help/raw.nl.html 0600 root bin 314 27861 1025499864
1 f none custom/help/raw.pl.html 0600 root bin 323 30441 1025499864
1 f none custom/help/raw.sv.html 0600 root bin 259 24142 1025499864
1 f none custom/help/raw.zh_TW.Big5.html 0600 root bin 232 28963 1025499864
1 f none custom/help/run.ca.html 0600 root bin 136 11770 1025499864
1 f none custom/help/run.es.html 0600 root bin 135 11595 1025499864
1 f none custom/help/run.fr.html 0600 root bin 163 15021 1025499864
1 f none custom/help/run.html 0600 root bin 131 11296 1025499864
1 f none custom/help/run.nl.html 0600 root bin 143 12453 1025499864
1 f none custom/help/run.pl.html 0600 root bin 135 12366 1025499864
1 f none custom/help/run.sv.html 0600 root bin 125 11216 1025499864
1 f none custom/help/run.zh_TW.Big5.html 0600 root bin 100 11733 1025499864
1 f none custom/help/user.ca.html 0600 root bin 305 27849 1025499864
1 f none custom/help/user.es.html 0600 root bin 328 30217 1025499864
1 f none custom/help/user.fr.html 0600 root bin 332 31929 1025499864
1 f none custom/help/user.html 0600 root bin 265 23853 1025499864
1 f none custom/help/user.nl.html 0600 root bin 370 33841 1025499864
1 f none custom/help/user.pl.html 0600 root bin 358 35304 1025499864
1 f none custom/help/user.sv.html 0600 root bin 267 26592 1025499864
1 f none custom/help/user.zh_TW.Big5.html 0600 root bin 207 28179 1025499864
1 d none custom/images 0700 root bin
1 f none custom/images/icon.gif 0600 root bin 379 44892 1025499864
1 f none custom/index.cgi 0700 root bin 4097 46071 1025499864
1 d none custom/lang 0700 root bin
1 f none custom/lang/ca 0600 root bin 2910 13240 1025499864
1 f none custom/lang/de 0600 root bin 2916 13095 1025499864
1 f none custom/lang/en 0600 root bin 2584 46298 1025499864
1 f none custom/lang/es 0600 root bin 2621 52798 1025499864
1 f none custom/lang/fr 0600 root bin 2925 23667 1025499864
1 f none custom/lang/hu 0600 root bin 1190 57681 1025499864
1 f none custom/lang/ja_JP.euc 0600 root bin 1442 15288 1025499864
1 f none custom/lang/ko_KR.euc 0600 root bin 1268 47026 1025499864
1 f none custom/lang/nl 0600 root bin 2775 3492 1025499864
1 f none custom/lang/pl 0600 root bin 2833 17500 1025499864
1 f none custom/lang/pt 0600 root bin 1200 52024 1025499864
1 f none custom/lang/ru_RU 0600 root bin 1159 60672 1025499864
1 f none custom/lang/ru_SU 0600 root bin 1162 44391 1025499864
1 f none custom/lang/sv 0600 root bin 1597 24261 1025499864
1 f none custom/lang/tr 0600 root bin 1328 11531 1025499864
1 f none custom/lang/zh_CN 0600 root bin 1013 10438 1025499864
1 f none custom/lang/zh_TW.Big5 0600 root bin 893 45111 1025499864
1 f none custom/log_parser.pl 0600 root bin 553 45950 1025499864
1 f none custom/module.info 0600 root bin 533 59415 1025499882
1 f none custom/run.cgi 0700 root bin 2281 44226 1025499864
1 f none custom/save.cgi 0700 root bin 1053 19051 1025499864
1 f none custom/save_cmd.cgi 0700 root bin 1488 48833 1025499864
1 f none custom/save_file.cgi 0700 root bin 1546 57197 1025499864
1 f none custom/view.cgi 0700 root bin 767 65320 1025499864
1 f none date_chooser.cgi 0700 root bin 2182 38360 1025499832
1 f none defaultacl 0600 root bin 50 4276 1025499832
1 f none defaulttheme 0600 root bin 10 945 1025499832
1 d none dfsadmin 0700 root bin
1 f none dfsadmin/config-openserver 0600 root bin 123 11745 1025499832
1 f none dfsadmin/config-solaris 0600 root bin 153 14665 1025499832
1 f none dfsadmin/config-unixware 0600 root bin 123 11745 1025499832
1 f none dfsadmin/config.info 0600 root bin 181 17129 1025499832
1 f none dfsadmin/config.info.ca 0600 root bin 231 22007 1025499833
1 f none dfsadmin/config.info.de 0600 root bin 140 13045 1025499832
1 f none dfsadmin/config.info.es 0600 root bin 169 16484 1025499832
1 f none dfsadmin/config.info.fr 0600 root bin 159 14849 1025499832
1 f none dfsadmin/config.info.hu 0600 root bin 201 20128 1025499833
1 f none dfsadmin/config.info.pl 0600 root bin 221 22527 1025499833
1 f none dfsadmin/config.info.sv 0600 root bin 160 15816 1025499832
1 f none dfsadmin/config.info.tr 0600 root bin 133 13932 1025499833
1 f none dfsadmin/config.info.zh_CN 0600 root bin 107 13555 1025499833
1 f none dfsadmin/config.info.zh_TW.Big5 0600 root bin 137 17670 1025499832
1 f none dfsadmin/delete_share.cgi 0700 root bin 315 26635 1025499832
1 f none dfsadmin/dfs-lib.pl 0600 root bin 2873 26094 1025499832
1 f none dfsadmin/edit_share.cgi 0700 root bin 6063 36060 1025499832
1 d none dfsadmin/help 0700 root bin
1 f none dfsadmin/help/aclok.ca.html 0600 root bin 207 19199 1025499832
1 f none dfsadmin/help/aclok.es.html 0600 root bin 216 19779 1025499832
1 f none dfsadmin/help/aclok.fr.html 0600 root bin 222 20644 1025499832
1 f none dfsadmin/help/aclok.html 0600 root bin 179 15766 1025499832
1 f none dfsadmin/help/aclok.pl.html 0600 root bin 193 18310 1025499832
1 f none dfsadmin/help/aclok.sv.html 0600 root bin 169 15825 1025499832
1 f none dfsadmin/help/aclok.zh_TW.Big5.html 0600 root bin 132 18062 1025499832
1 f none dfsadmin/help/anon.ca.html 0600 root bin 250 22938 1025499832
1 f none dfsadmin/help/anon.es.html 0600 root bin 248 23089 1025499832
1 f none dfsadmin/help/anon.fr.html 0600 root bin 228 20659 1025499832
1 f none dfsadmin/help/anon.html 0600 root bin 229 20309 1025499832
1 f none dfsadmin/help/anon.pl.html 0600 root bin 252 24576 1025499832
1 f none dfsadmin/help/anon.sv.html 0600 root bin 245 23821 1025499832
1 f none dfsadmin/help/anon.zh_TW.Big5.html 0600 root bin 134 17324 1025499832
1 f none dfsadmin/help/create_share.ca.html 0600 root bin 108 9655 1025499832
1 f none dfsadmin/help/create_share.es.html 0600 root bin 128 11810 1025499832
1 f none dfsadmin/help/create_share.fr.html 0600 root bin 117 10149 1025499832
1 f none dfsadmin/help/create_share.html 0600 root bin 105 9075 1025499832
1 f none dfsadmin/help/create_share.pl.html 0600 root bin 114 10818 1025499832
1 f none dfsadmin/help/create_share.sv.html 0600 root bin 103 9084 1025499832
1 f none dfsadmin/help/create_share.zh_TW.Big5.html 0600 root bin 96 12212 1025499832
1 f none dfsadmin/help/des.ca.html 0600 root bin 157 14375 1025499832
1 f none dfsadmin/help/des.es.html 0600 root bin 173 16079 1025499832
1 f none dfsadmin/help/des.fr.html 0600 root bin 176 15818 1025499832
1 f none dfsadmin/help/des.html 0600 root bin 138 12319 1025499832
1 f none dfsadmin/help/des.pl.html 0600 root bin 166 15678 1025499832
1 f none dfsadmin/help/des.sv.html 0600 root bin 148 14134 1025499832
1 f none dfsadmin/help/des.zh_TW.Big5.html 0600 root bin 112 14722 1025499832
1 f none dfsadmin/help/desc.ca.html 0600 root bin 90 8435 1025499832
1 f none dfsadmin/help/desc.es.html 0600 root bin 96 9145 1025499832
1 f none dfsadmin/help/desc.fr.html 0600 root bin 76 6549 1025499832
1 f none dfsadmin/help/desc.html 0600 root bin 86 7772 1025499832
1 f none dfsadmin/help/desc.pl.html 0600 root bin 93 8628 1025499832
1 f none dfsadmin/help/desc.sv.html 0600 root bin 69 6208 1025499832
1 f none dfsadmin/help/desc.zh_TW.Big5.html 0600 root bin 62 8066 1025499832
1 f none dfsadmin/help/dir.ca.html 0600 root bin 166 15157 1025499832
1 f none dfsadmin/help/dir.es.html 0600 root bin 200 18668 1025499832
1 f none dfsadmin/help/dir.fr.html 0600 root bin 201 19256 1025499832
1 f none dfsadmin/help/dir.html 0600 root bin 167 15332 1025499832
1 f none dfsadmin/help/dir.pl.html 0600 root bin 178 16811 1025499832
1 f none dfsadmin/help/dir.sv.html 0600 root bin 155 14182 1025499832
1 f none dfsadmin/help/dir.zh_TW.Big5.html 0600 root bin 105 14879 1025499832
1 f none dfsadmin/help/edit_share.ca.html 0600 root bin 126 11321 1025499832
1 f none dfsadmin/help/edit_share.es.html 0600 root bin 151 13965 1025499832
1 f none dfsadmin/help/edit_share.fr.html 0600 root bin 132 11735 1025499832
1 f none dfsadmin/help/edit_share.html 0600 root bin 124 10801 1025499832
1 f none dfsadmin/help/edit_share.pl.html 0600 root bin 126 11724 1025499832
1 f none dfsadmin/help/edit_share.sv.html 0600 root bin 115 10581 1025499832
1 f none dfsadmin/help/edit_share.zh_TW.Big5.html 0600 root bin 103 13033 1025499832
1 f none dfsadmin/help/index.ca.html 0600 root bin 253 23742 1025499832
1 f none dfsadmin/help/index.es.html 0600 root bin 290 27303 1025499832
1 f none dfsadmin/help/index.fr.html 0600 root bin 263 24468 1025499832
1 f none dfsadmin/help/index.html 0600 root bin 256 22883 1025499832
1 f none dfsadmin/help/index.pl.html 0600 root bin 270 26104 1025499832
1 f none dfsadmin/help/index.sv.html 0600 root bin 247 23442 1025499832
1 f none dfsadmin/help/index.zh_TW.Big5.html 0600 root bin 164 21290 1025499832
1 f none dfsadmin/help/intro.ca.html 0600 root bin 1098 35943 1025499832
1 f none dfsadmin/help/intro.es.html 0600 root bin 1216 48514 1025499832
1 f none dfsadmin/help/intro.fr.html 0600 root bin 967 26328 1025499832
1 f none dfsadmin/help/intro.html 0600 root bin 1004 26535 1025499832
1 f none dfsadmin/help/intro.pl.html 0600 root bin 1137 47860 1025499832
1 f none dfsadmin/help/intro.sv.html 0600 root bin 948 25650 1025499832
1 f none dfsadmin/help/intro.zh_TW.Big5.html 0600 root bin 656 29202 1025499832
1 f none dfsadmin/help/kerberos.ca.html 0600 root bin 168 15455 1025499832
1 f none dfsadmin/help/kerberos.es.html 0600 root bin 179 16767 1025499832
1 f none dfsadmin/help/kerberos.fr.html 0600 root bin 185 16939 1025499832
1 f none dfsadmin/help/kerberos.html 0600 root bin 148 13537 1025499832
1 f none dfsadmin/help/kerberos.pl.html 0600 root bin 174 16600 1025499832
1 f none dfsadmin/help/kerberos.sv.html 0600 root bin 160 15559 1025499832
1 f none dfsadmin/help/kerberos.zh_TW.Big5.html 0600 root bin 122 16121 1025499832
1 f none dfsadmin/help/nfs.ca.html 0600 root bin 1232 51125 1025499832
1 f none dfsadmin/help/nfs.es.html 0600 root bin 1309 58426 1025499832
1 f none dfsadmin/help/nfs.fr.html 0600 root bin 1198 50169 1025499832
1 f none dfsadmin/help/nfs.html 0600 root bin 1093 35121 1025499832
1 f none dfsadmin/help/nfs.pl.html 0600 root bin 1289 64869 1025499832
1 f none dfsadmin/help/nfs.sv.html 0600 root bin 1143 45843 1025499832
1 f none dfsadmin/help/nfs.zh_TW.Big5.html 0600 root bin 673 36722 1025499832
1 f none dfsadmin/help/public.ca.html 0600 root bin 189 17457 1025499832
1 f none dfsadmin/help/public.es.html 0600 root bin 225 21586 1025499832
1 f none dfsadmin/help/public.fr.html 0600 root bin 174 15685 1025499832
1 f none dfsadmin/help/public.html 0600 root bin 176 15399 1025499832
1 f none dfsadmin/help/public.pl.html 0600 root bin 198 19426 1025499832
1 f none dfsadmin/help/public.sv.html 0600 root bin 173 15883 1025499832
1 f none dfsadmin/help/public.zh_TW.Big5.html 0600 root bin 132 16389 1025499832
1 f none dfsadmin/help/ro.ca.html 0600 root bin 1643 10458 1025499832
1 f none dfsadmin/help/ro.es.html 0600 root bin 1756 25868 1025499832
1 f none dfsadmin/help/ro.fr.html 0600 root bin 1489 2105 1025499832
1 f none dfsadmin/help/ro.html 0600 root bin 1442 56768 1025499832
1 f none dfsadmin/help/ro.pl.html 0600 root bin 1723 25019 1025499832
1 f none dfsadmin/help/ro.sv.html 0600 root bin 1637 16639 1025499832
1 f none dfsadmin/help/ro.zh_TW.Big5.html 0600 root bin 1116 13563 1025499832
1 f none dfsadmin/help/root.ca.html 0600 root bin 1268 42297 1025499832
1 f none dfsadmin/help/root.es.html 0600 root bin 1348 53748 1025499832
1 f none dfsadmin/help/root.fr.html 0600 root bin 1154 36543 1025499832
1 f none dfsadmin/help/root.html 0600 root bin 1141 31167 1025499832
1 f none dfsadmin/help/root.pl.html 0600 root bin 1334 54375 1025499832
1 f none dfsadmin/help/root.sv.html 0600 root bin 1172 39343 1025499832
1 f none dfsadmin/help/root.zh_TW.Big5.html 0600 root bin 884 45753 1025499832
1 f none dfsadmin/help/rw.ca.html 0600 root bin 1748 19606 1025499832
1 f none dfsadmin/help/rw.es.html 0600 root bin 1766 26526 1025499832
1 f none dfsadmin/help/rw.fr.html 0600 root bin 1688 21701 1025499832
1 f none dfsadmin/help/rw.html 0600 root bin 1496 61838 1025499832
1 f none dfsadmin/help/rw.pl.html 0600 root bin 1848 36793 1025499832
1 f none dfsadmin/help/rw.sv.html 0600 root bin 1676 19145 1025499832
1 f none dfsadmin/help/rw.zh_TW.Big5.html 0600 root bin 1068 4826 1025499832
1 f none dfsadmin/help/share.ca.html 0600 root bin 444 40989 1025499832
1 f none dfsadmin/help/share.es.html 0600 root bin 497 46400 1025499832
1 f none dfsadmin/help/share.fr.html 0600 root bin 447 41505 1025499832
1 f none dfsadmin/help/share.html 0600 root bin 403 36209 1025499832
1 f none dfsadmin/help/share.pl.html 0600 root bin 487 48059 1025499832
1 f none dfsadmin/help/share.sv.html 0600 root bin 441 43443 1025499832
1 f none dfsadmin/help/share.zh_TW.Big5.html 0600 root bin 275 40234 1025499832
1 f none dfsadmin/help/sub.ca.html 0600 root bin 140 12851 1025499832
1 f none dfsadmin/help/sub.es.html 0600 root bin 149 13849 1025499832
1 f none dfsadmin/help/sub.fr.html 0600 root bin 146 13743 1025499832
1 f none dfsadmin/help/sub.html 0600 root bin 130 11757 1025499832
1 f none dfsadmin/help/sub.pl.html 0600 root bin 139 13508 1025499832
1 f none dfsadmin/help/sub.sv.html 0600 root bin 153 14720 1025499832
1 f none dfsadmin/help/sub.zh_TW.Big5.html 0600 root bin 91 12052 1025499832
1 f none dfsadmin/help/suid.ca.html 0600 root bin 255 23953 1025499832
1 f none dfsadmin/help/suid.es.html 0600 root bin 283 26861 1025499832
1 f none dfsadmin/help/suid.fr.html 0600 root bin 288 26919 1025499832
1 f none dfsadmin/help/suid.html 0600 root bin 228 20882 1025499832
1 f none dfsadmin/help/suid.pl.html 0600 root bin 288 27770 1025499832
1 f none dfsadmin/help/suid.sv.html 0600 root bin 252 24513 1025499832
1 f none dfsadmin/help/suid.zh_TW.Big5.html 0600 root bin 178 25090 1025499832
1 d none dfsadmin/images 0700 root bin
1 f none dfsadmin/images/icon.gif 0600 root bin 245 29407 1025499832
1 f none dfsadmin/images/share.gif 0600 root bin 1565 51055 1025499832
1 f none dfsadmin/index.cgi 0700 root bin 2416 61848 1025499832
1 d none dfsadmin/lang 0700 root bin
1 f none dfsadmin/lang/ca 0600 root bin 167 14561 1025499833
1 f none dfsadmin/lang/de 0600 root bin 211 18636 1025499833
1 f none dfsadmin/lang/en 0600 root bin 161 14012 1025499832
1 f none dfsadmin/lang/es 0600 root bin 198 18422 1025499832
1 f none dfsadmin/lang/fr 0600 root bin 175 16390 1025499833
1 f none dfsadmin/lang/hu 0600 root bin 277 26818 1025499833
1 f none dfsadmin/lang/ja_JP.euc 0600 root bin 191 25313 1025499833
1 f none dfsadmin/lang/ko_KR.euc 0600 root bin 162 19643 1025499833
1 f none dfsadmin/lang/pl 0600 root bin 171 15971 1025499832
1 f none dfsadmin/lang/sv 0600 root bin 179 16237 1025499832
1 f none dfsadmin/lang/tr 0600 root bin 199 21226 1025499832
1 f none dfsadmin/log_parser.pl 0600 root bin 882 5972 1025499833
1 f none dfsadmin/low.risk 0600 root bin 11 971 1025499833
1 f none dfsadmin/low.skill 0600 root bin 17 1430 1025499833
1 f none dfsadmin/medium.risk 0600 root bin 11 971 1025499833
1 f none dfsadmin/medium.skill 0600 root bin 17 1429 1025499833
1 f none dfsadmin/module.info 0600 root bin 416 39791 1025499882
1 f none dfsadmin/restart_sharing.cgi 0700 root bin 491 41523 1025499832
1 f none dfsadmin/save_share.cgi 0700 root bin 3846 55095 1025499832
1 d none dhcpd 0700 root bin
1 f none dhcpd/acl_security.pl 0600 root bin 8977 15018 1025499863
1 f none dhcpd/config-cobalt-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-corel-linux 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-debian-linux 0600 root bin 155 14365 1025499863
1 f none dhcpd/config-freebsd 0600 root bin 169 15681 1025499863
1 f none dhcpd/config-generic-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-gentoo-linux 0600 root bin 164 15185 1025499863
1 f none dhcpd/config-irix 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-mandrake-linux 0600 root bin 133 12361 1025499863
1 f none dhcpd/config-msc-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-netbsd 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-open-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-open-linux-3.1e 0600 root bin 155 14352 1025499863
1 f none dhcpd/config-openbsd 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-openserver 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-osf1 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-redhat-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-redhat-linux-6.0 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-6.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-6.2 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-7.0 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.1 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.2 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.3 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-slackware-linux 0600 root bin 156 14495 1025499863
1 f none dhcpd/config-slackware-linux-4.0 0600 root bin 162 15057 1025499863
1 f none dhcpd/config-slackware-linux-7.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-slackware-linux-8.0 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-slackware-linux-8.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-solaris 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-suse-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-suse-linux-7.1 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-7.2 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-7.3 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-8.0 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-turbo-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-unixware 0600 root bin 182 16948 1025499863
1 f none dhcpd/config.info 0600 root bin 407 36131 1025499863
1 f none dhcpd/config.info.ca 0600 root bin 516 46637 1025499863
1 f none dhcpd/config.info.de 0600 root bin 255 22678 1025499863
1 f none dhcpd/config.info.es 0600 root bin 509 46627 1025499863
1 f none dhcpd/config.info.fr 0600 root bin 269 24548 1025499863
1 f none dhcpd/config.info.nl 0600 root bin 376 34208 1025499863
1 f none dhcpd/config.info.pl 0600 root bin 513 48299 1025499863
1 f none dhcpd/config.info.ru_RU 0600 root bin 237 38087 1025499863
1 f none dhcpd/config.info.ru_SU 0600 root bin 237 34547 1025499863
1 f none dhcpd/config.info.sv 0600 root bin 383 36049 1025499863
1 f none dhcpd/config.info.tr 0600 root bin 241 25129 1025499863
1 f none dhcpd/config.info.zh_CN 0600 root bin 162 22384 1025499863
1 f none dhcpd/config.info.zh_TW.Big5 0600 root bin 175 21215 1025499863
1 f none dhcpd/confirm_delete.cgi 0700 root bin 3129 50994 1025499863
1 f none dhcpd/defaultacl 0600 root bin 213 18108 1025499863
1 f none dhcpd/delete_all.cgi 0700 root bin 2157 40848 1025499863
1 f none dhcpd/delete_lease.cgi 0700 root bin 1123 25040 1025499863
1 f none dhcpd/dhcpd-lib.pl 0700 root bin 18253 37767 1025499863
1 f none dhcpd/edit_group.cgi 0700 root bin 7387 62322 1025499863
1 f none dhcpd/edit_host.cgi 0700 root bin 10312 17689 1025499863
1 f none dhcpd/edit_options.cgi 0700 root bin 6978 43805 1025499863
1 f none dhcpd/edit_pool.cgi 0700 root bin 2807 35461 1025499863
1 f none dhcpd/edit_shared.cgi 0700 root bin 5179 20534 1025499863
1 f none dhcpd/edit_subnet.cgi 0700 root bin 6473 59307 1025499863
1 d none dhcpd/help 0700 root bin
1 f none dhcpd/help/acl.ca.html 0600 root bin 2470 23299 1025499863
1 f none dhcpd/help/acl.html 0600 root bin 2268 1754 1025499863
1 f none dhcpd/help/acl_info.ca.html 0600 root bin 2068 56050 1025499863
1 f none dhcpd/help/acl_info.html 0600 root bin 1879 35282 1025499863
1 f none dhcpd/help/acl_info.nl.html 0600 root bin 2163 57747 1025499863
1 f none dhcpd/help/acl_info.pl.html 0600 root bin 2253 18388 1025499863
1 d none dhcpd/images 0700 root bin
1 f none dhcpd/images/ctree0.gif 0600 root bin 2591 34363 1025499863
1 f none dhcpd/images/ctree1.gif 0600 root bin 2756 52491 1025499863
1 f none dhcpd/images/ctree2.gif 0600 root bin 2651 39628 1025499863
1 f none dhcpd/images/ctree3.gif 0600 root bin 2808 59676 1025499863
1 f none dhcpd/images/group.gif 0600 root bin 251 29940 1025499863
1 f none dhcpd/images/host.gif 0600 root bin 256 29904 1025499863
1 f none dhcpd/images/icon.gif 0600 root bin 311 35196 1025499863
1 f none dhcpd/images/pool.gif 0600 root bin 387 47873 1025499863
1 f none dhcpd/images/shared.gif 0600 root bin 272 30116 1025499863
1 f none dhcpd/images/subnet.gif 0600 root bin 273 32767 1025499863
1 f none dhcpd/index.cgi 0700 root bin 13965 32347 1025499863
1 d none dhcpd/lang 0700 root bin
1 f none dhcpd/lang/ca 0600 root bin 11826 16740 1025499863
1 f none dhcpd/lang/de 0600 root bin 6138 58888 1025499863
1 f none dhcpd/lang/en 0600 root bin 10421 5043 1025499863
1 f none dhcpd/lang/es 0600 root bin 11804 25358 1025499863
1 f none dhcpd/lang/fr 0600 root bin 12186 13025 1025499863
1 f none dhcpd/lang/ja_JP.euc 0600 root bin 11425 7228 1025499863
1 f none dhcpd/lang/ja_JP.jis 0600 root bin 11425 17662 1025499863
1 f none dhcpd/lang/ko_KR.euc 0600 root bin 10035 60199 1025499863
1 f none dhcpd/lang/nl 0600 root bin 10887 55129 1025499863
1 f none dhcpd/lang/pl 0600 root bin 11679 55207 1025499863
1 f none dhcpd/lang/pt 0600 root bin 6005 59265 1025499863
1 f none dhcpd/lang/ru_RU 0600 root bin 5664 51112 1025499863
1 f none dhcpd/lang/ru_SU 0600 root bin 5680 39277 1025499863
1 f none dhcpd/lang/sv 0600 root bin 10943 34119 1025499863
1 f none dhcpd/lang/tr 0600 root bin 6439 11377 1025499863
1 f none dhcpd/lang/zh_CN 0600 root bin 4173 57978 1025499863
1 f none dhcpd/lang/zh_TW.Big5 0600 root bin 4473 44792 1025499863
1 f none dhcpd/list_leases.cgi 0700 root bin 4787 35902 1025499863
1 f none dhcpd/log_parser.pl 0600 root bin 844 4827 1025499863
1 f none dhcpd/module.info 0600 root bin 663 63691 1025499882
1 f none dhcpd/params-lib.pl 0600 root bin 6621 16823 1025499863
1 f none dhcpd/restart.cgi 0700 root bin 555 47070 1025499863
1 f none dhcpd/save_group.cgi 0700 root bin 4065 56533 1025499863
1 f none dhcpd/save_host.cgi 0700 root bin 3797 39006 1025499863
1 f none dhcpd/save_options.cgi 0700 root bin 5211 21130 1025499863
1 f none dhcpd/save_pool.cgi 0700 root bin 2082 31453 1025499863
1 f none dhcpd/save_shared.cgi 0700 root bin 6337 28399 1025499863
1 f none dhcpd/save_subnet.cgi 0700 root bin 6305 26084 1025499863
1 f none dhcpd/start.cgi 0700 root bin 704 58419 1025499863
1 d none dnsadmin 0700 root bin
1 f none dnsadmin/acl_security.pl 0600 root bin 2962 47028 1025499833
1 f none dnsadmin/change_soa.cgi 0700 root bin 1125 27939 1025499833
1 f none dnsadmin/config-aix 0600 root bin 226 21571 1025499833
1 f none dnsadmin/config-cobalt-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-debian-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-debian-linux-2.2 0600 root bin 240 22689 1025499833
1 f none dnsadmin/config-debian-linux-3.0 0600 root bin 240 22689 1025499833
1 f none dnsadmin/config-freebsd 0600 root bin 238 22644 1025499833
1 f none dnsadmin/config-hpux 0600 root bin 230 21972 1025499833
1 f none dnsadmin/config-irix 0600 root bin 230 21968 1025499833
1 f none dnsadmin/config-mandrake-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-msc-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-open-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-openbsd 0600 root bin 237 22559 1025499833
1 f none dnsadmin/config-openserver 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config-osf1 0600 root bin 237 22634 1025499833
1 f none dnsadmin/config-redhat-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-slackware-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-solaris 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config-suse-linux 0600 root bin 235 22230 1025499833
1 f none dnsadmin/config-turbo-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-unixware 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config.info 0600 root bin 370 33420 1025499833
1 f none dnsadmin/config.info.ca 0600 root bin 425 39732 1025499833
1 f none dnsadmin/config.info.de 0600 root bin 361 32902 1025499833
1 f none dnsadmin/config.info.es 0600 root bin 377 35265 1025499833
1 f none dnsadmin/config.info.fr 0600 root bin 375 34607 1025499833
1 f none dnsadmin/config.info.pl 0600 root bin 372 35537 1025499833
1 f none dnsadmin/config.info.ru_RU 0600 root bin 338 55171 1025499833
1 f none dnsadmin/config.info.ru_SU 0600 root bin 338 50601 1025499833
1 f none dnsadmin/config.info.sv 0600 root bin 314 30315 1025499833
1 f none dnsadmin/config.info.tr 0600 root bin 340 34829 1025499833
1 f none dnsadmin/config.info.zh_CN 0600 root bin 237 31153 1025499833
1 f none dnsadmin/config.info.zh_TW.Big5 0600 root bin 265 33554 1025499833
1 f none dnsadmin/create_master.cgi 0700 root bin 2939 36843 1025499833
1 f none dnsadmin/create_slave.cgi 0700 root bin 2065 24774 1025499833
1 f none dnsadmin/db.cache 0600 root bin 2769 34340 1025499833
1 f none dnsadmin/defaultacl 0600 root bin 63 5396 1025499833
1 f none dnsadmin/delete_zone.cgi 0700 root bin 3531 19511 1025499833
1 f none dnsadmin/dns-lib.pl 0600 root bin 5230 64001 1025499833
1 f none dnsadmin/dns_boot.cgi 0700 root bin 1259 42361 1025499833
1 f none dnsadmin/edit_master.cgi 0700 root bin 3869 37841 1025499833
1 f none dnsadmin/edit_record.cgi 0700 root bin 805 1067 1025499833
1 f none dnsadmin/edit_recs.cgi 0700 root bin 2627 54686 1025499833
1 f none dnsadmin/edit_slave.cgi 0700 root bin 1672 8255 1025499833
1 f none dnsadmin/edit_text.cgi 0700 root bin 1152 33702 1025499833
1 d none dnsadmin/help 0700 root bin
1 f none dnsadmin/help/intro..zh_TW.Big5.html 0600 root bin 2733 26159 1025499833
1 f none dnsadmin/help/intro.ca.html 0600 root bin 4325 56693 1025499833
1 f none dnsadmin/help/intro.html 0600 root bin 3978 17279 1025499833
1 f none dnsadmin/help/intro.sv.html 0600 root bin 3710 14993 1025499833
1 f none dnsadmin/help/intro.zh_TW.Big5.html 0600 root bin 2733 26159 1025499833
1 d none dnsadmin/images 0700 root bin
1 f none dnsadmin/images/dnsadmin.gif 0600 root bin 2256 3033 1025499833
1 f none dnsadmin/images/icon.gif 0600 root bin 2031 38844 1025499833
1 f none dnsadmin/index.cgi 0700 root bin 6628 10600 1025499833
1 d none dnsadmin/lang 0700 root bin
1 f none dnsadmin/lang/ca 0600 root bin 1204 45204 1025499833
1 f none dnsadmin/lang/en 0600 root bin 975 24948 1025499833
1 f none dnsadmin/lang/es 0600 root bin 1075 35740 1025499833
1 f none dnsadmin/lang/fr 0600 root bin 1112 44366 1025499833
1 f none dnsadmin/lang/ja_JP.euc 0600 root bin 1124 35290 1025499833
1 f none dnsadmin/lang/pl 0600 root bin 1066 39713 1025499833
1 f none dnsadmin/lang/sv 0600 root bin 987 30698 1025499833
1 f none dnsadmin/lang/zh_CN 0600 root bin 789 47031 1025499833
1 f none dnsadmin/log_parser.pl 0600 root bin 1190 31237 1025499833
1 f none dnsadmin/master_form.cgi 0700 root bin 2042 42794 1025499833
1 f none dnsadmin/module.info 0600 root bin 737 1499 1025499882
1 f none dnsadmin/restart.cgi 0700 root bin 270 22286 1025499833
1 f none dnsadmin/save_master.cgi 0700 root bin 1685 1881 1025499833
1 f none dnsadmin/save_record.cgi 0700 root bin 9085 60231 1025499833
1 f none dnsadmin/save_slave.cgi 0700 root bin 1201 34345 1025499833
1 f none dnsadmin/save_text.cgi 0700 root bin 584 48706 1025499833
1 f none dnsadmin/save_zonedef.cgi 0700 root bin 821 3907 1025499833
1 f none dnsadmin/slave_form.cgi 0700 root bin 1494 61951 1025499833
1 f none dnsadmin/start.cgi 0700 root bin 179 15114 1025499833
1 d none exports 0700 root bin
1 f none exports/config-aix 0600 root bin 155 13713 1025499834
1 f none exports/config-cobalt-linux 0600 root bin 246 22204 1025499834
1 f none exports/config-corel-linux 0600 root bin 202 18378 1025499834
1 f none exports/config-debian-linux 0600 root bin 202 18378 1025499833
1 f none exports/config-debian-linux-2.2 0600 root bin 202 18288 1025499834
1 f none exports/config-debian-linux-3.0 0600 root bin 202 18288 1025499834
1 f none exports/config-generic-linux 0600 root bin 165 14896 1025499834
1 f none exports/config-gentoo-linux 0600 root bin 188 16872 1025499834
1 f none exports/config-mandrake-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-msc-linux 0600 root bin 188 16872 1025499834
1 f none exports/config-open-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-redhat-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-slackware-linux 0600 root bin 165 14896 1025499834
1 f none exports/config-slackware-linux-8.0 0600 root bin 111 10401 1025499834
1 f none exports/config-slackware-linux-8.1 0600 root bin 111 10401 1025499834
1 f none exports/config-suse-linux 0600 root bin 204 18506 1025499833
1 f none exports/config-suse-linux-7.1 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-7.2 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-7.3 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-8.0 0600 root bin 202 18282 1025499834
1 f none exports/config-turbo-linux 0600 root bin 190 16942 1025499834
1 f none exports/config.info 0600 root bin 92 8928 1025499834
1 f none exports/config.info.ca 0600 root bin 122 11571 1025499834
1 f none exports/config.info.de 0600 root bin 111 10726 1025499833
1 f none exports/config.info.es 0600 root bin 123 11831 1025499834
1 f none exports/config.info.fr 0600 root bin 111 10863 1025499834
1 f none exports/config.info.pl 0600 root bin 79 7422 1025499834
1 f none exports/config.info.ru_RU 0600 root bin 115 19744 1025499834
1 f none exports/config.info.ru_SU 0600 root bin 115 17755 1025499834
1 f none exports/config.info.sv 0600 root bin 103 10082 1025499833
1 f none exports/config.info.tr 0600 root bin 103 10279 1025499834
1 f none exports/config.info.zh_CN 0600 root bin 77 11978 1025499834
1 f none exports/config.info.zh_TW.Big5 0600 root bin 79 10997 1025499834
1 f none exports/edit_export.cgi 0700 root bin 7217 3150 1025499833
1 f none exports/exports-lib.pl 0600 root bin 4097 53072 1025499833
1 d none exports/help 0700 root bin
1 f none exports/help/active.ca.html 0600 root bin 138 12415 1025499834
1 f none exports/help/active.es.html 0600 root bin 173 15944 1025499834
1 f none exports/help/active.html 0600 root bin 142 12427 1025499833
1 f none exports/help/active.pl.html 0600 root bin 165 15513 1025499834
1 f none exports/help/active.sv.html 0600 root bin 173 15729 1025499833
1 f none exports/help/active.zh_TW.Big5.html 0600 root bin 115 14282 1025499833
1 f none exports/help/anongid.ca.html 0600 root bin 250 22627 1025499834
1 f none exports/help/anongid.es.html 0600 root bin 261 24181 1025499833
1 f none exports/help/anongid.fr.html 0600 root bin 256 24603 1025499833
1 f none exports/help/anongid.html 0600 root bin 238 21710 1025499833
1 f none exports/help/anongid.pl.html 0600 root bin 257 24917 1025499834
1 f none exports/help/anongid.sv.html 0600 root bin 237 22568 1025499833
1 f none exports/help/anongid.zh_TW.Big5.html 0600 root bin 176 24485 1025499833
1 f none exports/help/anonuid.ca.html 0600 root bin 259 23642 1025499834
1 f none exports/help/anonuid.es.html 0600 root bin 269 25071 1025499833
1 f none exports/help/anonuid.fr.html 0600 root bin 254 24371 1025499833
1 f none exports/help/anonuid.html 0600 root bin 233 21174 1025499833
1 f none exports/help/anonuid.pl.html 0600 root bin 289 29017 1025499834
1 f none exports/help/anonuid.sv.html 0600 root bin 245 23776 1025499833
1 f none exports/help/anonuid.zh_TW.Big5.html 0600 root bin 188 27079 1025499833
1 f none exports/help/client.ca.html 0600 root bin 1245 41954 1025499834
1 f none exports/help/client.es.html 0600 root bin 1304 51158 1025499833
1 f none exports/help/client.fr.html 0600 root bin 917 21052 1025499833
1 f none exports/help/client.html 0600 root bin 1121 31240 1025499833
1 f none exports/help/client.pl.html 0600 root bin 1330 59406 1025499834
1 f none exports/help/client.sv.html 0600 root bin 1170 40873 1025499833
1 f none exports/help/client.zh_TW.Big5.html 0600 root bin 795 38110 1025499833
1 f none exports/help/create_export.ca.html 0600 root bin 137 12748 1025499834
1 f none exports/help/create_export.es.html 0600 root bin 144 13491 1025499833
1 f none exports/help/create_export.fr.html 0600 root bin 130 12081 1025499833
1 f none exports/help/create_export.html 0600 root bin 137 12345 1025499833
1 f none exports/help/create_export.pl.html 0600 root bin 162 16066 1025499834
1 f none exports/help/create_export.sv.html 0600 root bin 145 13455 1025499833
1 f none exports/help/create_export.zh_TW.Big5.html 0600 root bin 91 12673 1025499833
1 f none exports/help/dir.ca.html 0600 root bin 385 35506 1025499834
1 f none exports/help/dir.es.html 0600 root bin 394 36792 1025499833
1 f none exports/help/dir.fr.html 0600 root bin 345 33392 1025499833
1 f none exports/help/dir.html 0600 root bin 351 32338 1025499833
1 f none exports/help/dir.pl.html 0600 root bin 348 34093 1025499834
1 f none exports/help/dir.sv.html 0600 root bin 342 31991 1025499833
1 f none exports/help/dir.zh_TW.Big5.html 0600 root bin 241 33928 1025499833
1 f none exports/help/edit_export.ca.html 0600 root bin 167 15805 1025499834
1 f none exports/help/edit_export.es.html 0600 root bin 163 15514 1025499833
1 f none exports/help/edit_export.fr.html 0600 root bin 163 15038 1025499833
1 f none exports/help/edit_export.html 0600 root bin 156 14213 1025499833
1 f none exports/help/edit_export.pl.html 0600 root bin 186 18906 1025499834
1 f none exports/help/edit_export.sv.html 0600 root bin 138 13285 1025499833
1 f none exports/help/edit_export.zh_TW.Big5.html 0600 root bin 105 14927 1025499833
1 f none exports/help/insecure.ca.html 0600 root bin 273 24814 1025499834
1 f none exports/help/insecure.es.html 0600 root bin 311 28380 1025499833
1 f none exports/help/insecure.fr.html 0600 root bin 281 26027 1025499833
1 f none exports/help/insecure.html 0600 root bin 240 21591 1025499833
1 f none exports/help/insecure.pl.html 0600 root bin 293 29139 1025499834
1 f none exports/help/insecure.sv.html 0600 root bin 257 24691 1025499833
1 f none exports/help/insecure.zh_TW.Big5.html 0600 root bin 182 24321 1025499833
1 f none exports/help/intro.ca.html 0600 root bin 985 25840 1025499834
1 f none exports/help/intro.es.html 0600 root bin 1008 28046 1025499833
1 f none exports/help/intro.fr.html 0600 root bin 949 22959 1025499833
1 f none exports/help/intro.html 0600 root bin 877 13882 1025499833
1 f none exports/help/intro.pl.html 0600 root bin 955 28214 1025499834
1 f none exports/help/intro.sv.html 0600 root bin 869 17246 1025499833
1 f none exports/help/intro.zh_TW.Big5.html 0600 root bin 607 17268 1025499833
1 f none exports/help/link_relative.ca.html 0600 root bin 430 39810 1025499834
1 f none exports/help/link_relative.es.html 0600 root bin 433 39765 1025499833
1 f none exports/help/link_relative.fr.html 0600 root bin 139 12522 1025499833
1 f none exports/help/link_relative.html 0600 root bin 394 35169 1025499833
1 f none exports/help/link_relative.pl.html 0600 root bin 441 42067 1025499834
1 f none exports/help/link_relative.sv.html 0600 root bin 368 34100 1025499833
1 f none exports/help/link_relative.zh_TW.Big5.html 0600 root bin 313 40510 1025499833
1 f none exports/help/nfs.ca.html 0600 root bin 1167 45083 1025499834
1 f none exports/help/nfs.es.html 0600 root bin 1295 56913 1025499833
1 f none exports/help/nfs.fr.html 0600 root bin 1198 50376 1025499833
1 f none exports/help/nfs.html 0600 root bin 1093 35121 1025499833
1 f none exports/help/nfs.pl.html 0600 root bin 1292 440 1025499834
1 f none exports/help/nfs.sv.html 0600 root bin 1142 45833 1025499833
1 f none exports/help/nfs.zh_TW.Big5.html 0600 root bin 668 36100 1025499833
1 f none exports/help/noaccess.ca.html 0600 root bin 273 26304 1025499834
1 f none exports/help/noaccess.es.html 0600 root bin 280 26776 1025499833
1 f none exports/help/noaccess.fr.html 0600 root bin 286 27612 1025499833
1 f none exports/help/noaccess.html 0600 root bin 277 25556 1025499833
1 f none exports/help/noaccess.pl.html 0600 root bin 307 30500 1025499834
1 f none exports/help/noaccess.sv.html 0600 root bin 255 24902 1025499833
1 f none exports/help/noaccess.zh_TW.Big5.html 0600 root bin 184 27467 1025499833
1 f none exports/help/ro.ca.html 0600 root bin 184 16871 1025499834
1 f none exports/help/ro.es.html 0600 root bin 203 18692 1025499833
1 f none exports/help/ro.fr.html 0600 root bin 215 19644 1025499833
1 f none exports/help/ro.html 0600 root bin 175 15505 1025499833
1 f none exports/help/ro.pl.html 0600 root bin 201 19628 1025499834
1 f none exports/help/ro.sv.html 0600 root bin 179 16909 1025499834
1 f none exports/help/ro.zh_TW.Big5.html 0600 root bin 130 18228 1025499833
1 f none exports/help/squash.ca.html 0600 root bin 707 61784 1025499834
1 f none exports/help/squash.es.html 0600 root bin 727 65393 1025499833
1 f none exports/help/squash.fr.html 0600 root bin 752 3735 1025499834
1 f none exports/help/squash.html 0600 root bin 659 58359 1025499833
1 f none exports/help/squash.pl.html 0600 root bin 795 10570 1025499834
1 f none exports/help/squash.sv.html 0600 root bin 702 65167 1025499833
1 f none exports/help/squash.zh_TW.Big5.html 0600 root bin 511 6096 1025499833
1 f none exports/help/squash_gids.ca.html 0600 root bin 334 28815 1025499834
1 f none exports/help/squash_gids.es.html 0600 root bin 329 28245 1025499833
1 f none exports/help/squash_gids.fr.html 0600 root bin 410 37598 1025499833
1 f none exports/help/squash_gids.html 0600 root bin 296 25283 1025499833
1 f none exports/help/squash_gids.pl.html 0600 root bin 321 29539 1025499834
1 f none exports/help/squash_gids.sv.html 0600 root bin 299 25953 1025499833
1 f none exports/help/squash_gids.zh_TW.Big5.html 0600 root bin 239 28329 1025499833
1 f none exports/help/squash_uids.ca.html 0600 root bin 344 29872 1025499834
1 f none exports/help/squash_uids.es.html 0600 root bin 339 29659 1025499833
1 f none exports/help/squash_uids.fr.html 0600 root bin 407 37312 1025499833
1 f none exports/help/squash_uids.html 0600 root bin 314 27179 1025499833
1 f none exports/help/squash_uids.pl.html 0600 root bin 342 32534 1025499834
1 f none exports/help/squash_uids.sv.html 0600 root bin 295 26192 1025499833
1 f none exports/help/squash_uids.zh_TW.Big5.html 0600 root bin 239 30231 1025499833
1 d none exports/images 0700 root bin
1 f none exports/images/export.gif 0600 root bin 1565 51055 1025499834
1 f none exports/images/icon.gif 0600 root bin 245 29407 1025499834
1 f none exports/index.cgi 0700 root bin 2256 43338 1025499834
1 d none exports/lang 0700 root bin
1 f none exports/lang/ca 0600 root bin 2370 29246 1025499833
1 f none exports/lang/de 0600 root bin 2015 60814 1025499833
1 f none exports/lang/en 0600 root bin 2106 1442 1025499833
1 f none exports/lang/es 0600 root bin 2376 30380 1025499833
1 f none exports/lang/fr 0600 root bin 2336 31959 1025499833
1 f none exports/lang/ja_JP.euc 0600 root bin 2424 26197 1025499833
1 f none exports/lang/ko_KR.euc 0600 root bin 2167 41055 1025499833
1 f none exports/lang/pl 0600 root bin 2330 33704 1025499833
1 f none exports/lang/pt 0600 root bin 1767 44298 1025499833
1 f none exports/lang/ru_RU 0600 root bin 1742 38036 1025499833
1 f none exports/lang/ru_SU 0600 root bin 1745 9565 1025499833
1 f none exports/lang/sv 0600 root bin 2309 27723 1025499833
1 f none exports/lang/tr 0600 root bin 1919 1394 1025499833
1 f none exports/lang/zh_CN 0600 root bin 1492 15263 1025499833
1 f none exports/lang/zh_TW.Big5 0600 root bin 1388 49416 1025499833
1 f none exports/log_parser.pl 0600 root bin 913 9228 1025499834
1 f none exports/low.risk 0600 root bin 11 971 1025499834
1 f none exports/low.skill 0600 root bin 17 1430 1025499834
1 f none exports/medium.risk 0600 root bin 11 971 1025499834
1 f none exports/medium.skill 0600 root bin 9 770 1025499834
1 f none exports/module.info 0600 root bin 618 61545 1025499882
1 f none exports/restart_mountd.cgi 0700 root bin 522 44498 1025499834
1 f none exports/save_export.cgi 0700 root bin 3204 64103 1025499834
1 f none fastrpc.cgi 0700 root bin 7150 29316 1025499832
1 f none favicon.ico 0600 root bin 2303 63158 1025499832
1 d none fdisk 0700 root bin
1 f none fdisk/acl_security.pl 0600 root bin 1435 51820 1025499842
1 f none fdisk/apply_hdparm.cgi 0700 root bin 1349 36539 1025499841
1 f none fdisk/config 0600 root bin 0 0 1025499842
1 f none fdisk/defaultacl 0600 root bin 26 2188 1025499842
1 f none fdisk/edit_hdparm.cgi 0700 root bin 4268 45963 1025499842
1 f none fdisk/edit_part.cgi 0700 root bin 7426 56352 1025499842
1 f none fdisk/fdisk-lib.pl 0600 root bin 25567 24792 1025499842
1 f none fdisk/feedback_files.pl 0600 root bin 115 9009 1025499842
1 f none fdisk/fsck.cgi 0700 root bin 581 46994 1025499842
1 f none fdisk/fsck_form.cgi 0700 root bin 860 7774 1025499842
1 d none fdisk/help 0700 root bin
1 f none fdisk/help/A.ca.html 0600 root bin 156 14041 1025499842
1 f none fdisk/help/A.es.html 0600 root bin 152 14245 1025499842
1 f none fdisk/help/A.fr.html 0600 root bin 91 8730 1025499842
1 f none fdisk/help/A.html 0600 root bin 115 10279 1025499842
1 f none fdisk/help/A.hu.html 0600 root bin 128 13346 1025499842
1 f none fdisk/help/A.pl.html 0600 root bin 147 14727 1025499842
1 f none fdisk/help/A.sv.html 0600 root bin 118 10901 1025499842
1 f none fdisk/help/A.zh_TW.Big5.html 0600 root bin 84 10876 1025499842
1 f none fdisk/help/K.ca.html 0600 root bin 509 47607 1025499842
1 f none fdisk/help/K.es.html 0600 root bin 496 46003 1025499842
1 f none fdisk/help/K.fr.html 0600 root bin 536 49703 1025499842
1 f none fdisk/help/K.html 0600 root bin 397 35668 1025499842
1 f none fdisk/help/K.hu.html 0600 root bin 446 47244 1025499842
1 f none fdisk/help/K.pl.html 0600 root bin 507 49272 1025499842
1 f none fdisk/help/K.sv.html 0600 root bin 405 38597 1025499842
1 f none fdisk/help/K.zh_TW.Big5.html 0600 root bin 258 33920 1025499842
1 f none fdisk/help/P.ca.html 0600 root bin 905 18000 1025499842
1 f none fdisk/help/P.es.html 0600 root bin 980 25888 1025499842
1 f none fdisk/help/P.fr.html 0600 root bin 774 6520 1025499842
1 f none fdisk/help/P.html 0600 root bin 817 8632 1025499842
1 f none fdisk/help/P.hu.html 0600 root bin 862 24310 1025499842
1 f none fdisk/help/P.pl.html 0600 root bin 959 29078 1025499842
1 f none fdisk/help/P.sv.html 0600 root bin 736 5537 1025499842
1 f none fdisk/help/P.zh_TW.Big5.html 0600 root bin 511 8947 1025499842
1 f none fdisk/help/S.ca.html 0600 root bin 881 13683 1025499842
1 f none fdisk/help/S.es.html 0600 root bin 974 22562 1025499842
1 f none fdisk/help/S.fr.html 0600 root bin 1043 30875 1025499842
1 f none fdisk/help/S.html 0600 root bin 816 6905 1025499842
1 f none fdisk/help/S.pl.html 0600 root bin 902 21043 1025499842
1 f none fdisk/help/S.sv.html 0600 root bin 789 8799 1025499842
1 f none fdisk/help/S.zh_TW.Big5.html 0600 root bin 490 64078 1025499842
1 f none fdisk/help/W.ca.html 0600 root bin 140 12245 1025499842
1 f none fdisk/help/W.es.html 0600 root bin 151 14073 1025499842
1 f none fdisk/help/W.fr.html 0600 root bin 128 12603 1025499842
1 f none fdisk/help/W.html 0600 root bin 114 10176 1025499842
1 f none fdisk/help/W.pl.html 0600 root bin 131 12578 1025499842
1 f none fdisk/help/W.sv.html 0600 root bin 103 9306 1025499842
1 f none fdisk/help/W.zh_TW.Big5.html 0600 root bin 83 10651 1025499842
1 f none fdisk/help/X.ca.html 0600 root bin 549 50398 1025499842
1 f none fdisk/help/X.es.html 0600 root bin 570 52469 1025499842
1 f none fdisk/help/X.fr.html 0600 root bin 661 62263 1025499842
1 f none fdisk/help/X.html 0600 root bin 467 41466 1025499842
1 f none fdisk/help/X.pl.html 0600 root bin 650 64205 1025499842
1 f none fdisk/help/X.sv.html 0600 root bin 497 48312 1025499842
1 f none fdisk/help/X.zh_TW.Big5.html 0600 root bin 331 46072 1025499842
1 f none fdisk/help/a.ca.html 0600 root bin 730 2298 1025499842
1 f none fdisk/help/a.fr.html 0600 root bin 651 62289 1025499842
1 f none fdisk/help/a.html 0600 root bin 634 57966 1025499842
1 f none fdisk/help/a.pl.html 0600 root bin 780 14782 1025499842
1 f none fdisk/help/a.sv.html 0600 root bin 620 62122 1025499842
1 f none fdisk/help/a.zh_TW.Big5.html 0600 root bin 394 58912 1025499842
1 f none fdisk/help/c.ca.html 0600 root bin 468 41685 1025499842
1 f none fdisk/help/c.fr.html 0600 root bin 387 35846 1025499842
1 f none fdisk/help/c.html 0600 root bin 366 31836 1025499842
1 f none fdisk/help/c.pl.html 0600 root bin 409 38907 1025499842
1 f none fdisk/help/c.sv.html 0600 root bin 357 33253 1025499842
1 f none fdisk/help/c.zh_TW.Big5.html 0600 root bin 274 35462 1025499842
1 f none fdisk/help/d.ca.html 0600 root bin 717 1298 1025499842
1 f none fdisk/help/d.fr.html 0600 root bin 587 55308 1025499842
1 f none fdisk/help/d.html 0600 root bin 684 62258 1025499842
1 f none fdisk/help/d.pl.html 0600 root bin 793 12124 1025499842
1 f none fdisk/help/d.sv.html 0600 root bin 672 685 1025499842
1 f none fdisk/help/d.zh_TW.Big5.html 0600 root bin 411 56092 1025499842
1 f none fdisk/help/edit.ca.html 0600 root bin 348 30880 1025499842
1 f none fdisk/help/edit.fr.html 0600 root bin 380 34872 1025499842
1 f none fdisk/help/edit.html 0600 root bin 296 26019 1025499842
1 f none fdisk/help/edit.sv.html 0600 root bin 282 27114 1025499842
1 f none fdisk/help/edit.zh_TW.Big5.html 0600 root bin 235 32187 1025499842
1 f none fdisk/help/index.ca.html 0600 root bin 1130 37200 1025499842
1 f none fdisk/help/index.fr.html 0600 root bin 1362 61466 1025499842
1 f none fdisk/help/index.html 0600 root bin 1004 24495 1025499842
1 f none fdisk/help/index.sv.html 0600 root bin 1010 31453 1025499842
1 f none fdisk/help/index.zh_TW.Big5.html 0600 root bin 665 28520 1025499842
1 f none fdisk/help/k.ca.html 0600 root bin 463 43406 1025499842
1 f none fdisk/help/k.fr.html 0600 root bin 464 43783 1025499842
1 f none fdisk/help/k.html 0600 root bin 366 33008 1025499842
1 f none fdisk/help/k.pl.html 0600 root bin 436 42114 1025499842
1 f none fdisk/help/k.sv.html 0600 root bin 380 36197 1025499842
1 f none fdisk/help/k.zh_TW.Big5.html 0600 root bin 273 34534 1025499842
1 f none fdisk/help/m.ca.html 0600 root bin 1336 57877 1025499842
1 f none fdisk/help/m.fr.html 0600 root bin 1253 52364 1025499842
1 f none fdisk/help/m.html 0600 root bin 1151 38410 1025499842
1 f none fdisk/help/m.pl.html 0600 root bin 1330 504 1025499842
1 f none fdisk/help/m.sv.html 0600 root bin 1257 56042 1025499842
1 f none fdisk/help/m.zh_TW.Big5.html 0600 root bin 782 45607 1025499842
1 f none fdisk/help/r.ca.html 0600 root bin 154 14278 1025499842
1 f none fdisk/help/r.fr.html 0600 root bin 162 15378 1025499842
1 f none fdisk/help/r.html 0600 root bin 123 11101 1025499842
1 f none fdisk/help/r.pl.html 0600 root bin 179 16975 1025499842
1 f none fdisk/help/r.sv.html 0600 root bin 133 12960 1025499842
1 f none fdisk/help/r.zh_TW.Big5.html 0600 root bin 86 12143 1025499842
1 f none fdisk/help/u.ca.html 0600 root bin 772 6084 1025499842
1 f none fdisk/help/u.fr.html 0600 root bin 660 62615 1025499842
1 f none fdisk/help/u.html 0600 root bin 640 58768 1025499842
1 f none fdisk/help/u.pl.html 0600 root bin 777 10814 1025499842
1 f none fdisk/help/u.sv.html 0600 root bin 670 64521 1025499842
1 f none fdisk/help/u.zh_TW.Big5.html 0600 root bin 403 53718 1025499842
1 d none fdisk/images 0700 root bin
1 f none fdisk/images/ext.gif 0600 root bin 36 1456 1025499842
1 f none fdisk/images/gap.gif 0600 root bin 44 2023 1025499842
1 f none fdisk/images/icon.gif 0600 root bin 308 36936 1025499842
1 f none fdisk/images/use.gif 0600 root bin 36 1215 1025499842
1 f none fdisk/index.cgi 0700 root bin 4927 34813 1025499842
1 d none fdisk/lang 0700 root bin
1 f none fdisk/lang/ca 0600 root bin 8178 49694 1025499842
1 f none fdisk/lang/de 0600 root bin 7341 38142 1025499842
1 f none fdisk/lang/en 0600 root bin 7523 43594 1025499842
1 f none fdisk/lang/es 0600 root bin 7715 11256 1025499842
1 f none fdisk/lang/fr 0600 root bin 7811 40404 1025499842
1 f none fdisk/lang/hu 0600 root bin 6383 11535 1025499842
1 f none fdisk/lang/ja_JP.euc 0600 root bin 7188 21889 1025499842
1 f none fdisk/lang/ko_KR.euc 0600 root bin 6297 32393 1025499842
1 f none fdisk/lang/pl 0600 root bin 7575 32405 1025499842
1 f none fdisk/lang/pt 0600 root bin 5669 24358 1025499842
1 f none fdisk/lang/ru_RU 0600 root bin 5396 22157 1025499842
1 f none fdisk/lang/ru_SU 0600 root bin 5407 61895 1025499842
1 f none fdisk/lang/sv 0600 root bin 6879 11972 1025499842
1 f none fdisk/lang/tr 0600 root bin 6416 12953 1025499842
1 f none fdisk/lang/zh_CN 0600 root bin 4892 58422 1025499842
1 f none fdisk/lang/zh_TW.Big5 0600 root bin 4828 34049 1025499841
1 f none fdisk/log_parser.pl 0600 root bin 1571 50683 1025499842
1 f none fdisk/make_tags.pl 0700 root bin 210 14222 1025499842
1 f none fdisk/mkfs.cgi 0700 root bin 851 4391 1025499842
1 f none fdisk/mkfs_form.cgi 0700 root bin 999 18765 1025499842
1 f none fdisk/module.info 0600 root bin 762 17500 1025499882
1 f none fdisk/reboot.cgi 0700 root bin 271 23148 1025499842
1 f none fdisk/save_part.cgi 0700 root bin 3374 12860 1025499842
1 f none fdisk/tunefs.cgi 0700 root bin 713 59335 1025499842
1 f none fdisk/tunefs_form.cgi 0700 root bin 883 10914 1025499842
1 f none feedback.cgi 0700 root bin 6531 56409 1025499832
1 f none feedback_form.cgi 0700 root bin 3304 18371 1025499832
1 d none fetchmail 0700 root bin
1 f none fetchmail/acl_security.pl 0600 root bin 1259 37930 1025499875
1 f none fetchmail/check.cgi 0700 root bin 1202 29866 1025499875
1 f none fetchmail/config 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-cobalt-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-corel-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-debian-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-gentoo-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-mandrake-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-msc-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-open-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-redhat-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-slackware-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-suse-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-turbo-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config.info 0600 root bin 220 20138 1025499875
1 f none fetchmail/config.info.ca 0600 root bin 275 25663 1025499875
1 f none fetchmail/config.info.de 0600 root bin 249 23043 1025499875
1 f none fetchmail/config.info.es 0600 root bin 276 26023 1025499875
1 f none fetchmail/config.info.it 0600 root bin 220 20138 1025499875
1 f none fetchmail/config.info.pl 0600 root bin 302 29583 1025499875
1 f none fetchmail/defaultacl 0600 root bin 25 2143 1025499875
1 f none fetchmail/edit_global.cgi 0700 root bin 2538 15394 1025499875
1 f none fetchmail/edit_poll.cgi 0700 root bin 5558 590 1025499875
1 f none fetchmail/feedback_files.pl 0600 root bin 266 21349 1025499875
1 f none fetchmail/fetchmail-lib.pl 0600 root bin 5297 13866 1025499875
1 d none fetchmail/images 0700 root bin
1 f none fetchmail/images/hand.png 0600 root bin 2408 32761 1025499875
1 f none fetchmail/images/icon.gif 0600 root bin 1326 63624 1025499875
1 f none fetchmail/images/old.gif 0600 root bin 325 36457 1025499875
1 f none fetchmail/index.cgi 0700 root bin 4109 64350 1025499875
1 d none fetchmail/lang 0700 root bin
1 f none fetchmail/lang/ca 0600 root bin 4131 36 1025499875
1 f none fetchmail/lang/de 0600 root bin 4872 55976 1025499875
1 f none fetchmail/lang/en 0600 root bin 3457 62881 1025499875
1 f none fetchmail/lang/es 0600 root bin 3717 28744 1025499875
1 f none fetchmail/lang/it 0600 root bin 3190 37837 1025499875
1 f none fetchmail/lang/ja_JP.euc 0600 root bin 1007 15514 1025499875
1 f none fetchmail/lang/ko_KR.euc 0600 root bin 898 60291 1025499875
1 f none fetchmail/lang/pl 0600 root bin 3674 34172 1025499875
1 f none fetchmail/log_parser.pl 0600 root bin 1317 38358 1025499875
1 f none fetchmail/module.info 0600 root bin 276 27334 1025499882
1 f none fetchmail/run_file.cgi 0700 root bin 167 14054 1025499875
1 f none fetchmail/save_global.cgi 0700 root bin 1574 296 1025499875
1 f none fetchmail/save_poll.cgi 0700 root bin 3009 48051 1025499875
1 f none fetchmail/start.cgi 0700 root bin 548 45560 1025499875
1 f none fetchmail/stop.cgi 0700 root bin 410 33391 1025499875
1 d none file 0700 root bin
1 f none file/ACLEditor.class 0600 root bin 5519 46995 1025499862
1 f none file/ACLEntry.class 0600 root bin 2838 56022 1025499862
1 f none file/ACLWindow.class 0600 root bin 5793 16833 1025499862
1 f none file/AttributeEditor.class 0600 root bin 3875 13233 1025499862
1 f none file/AttributesWindow.class 0600 root bin 4488 50446 1025499862
1 f none file/BorderPanel.class 0600 root bin 1446 4753 1025499862
1 f none file/BorderPanel.java 0700 root bin 765 58285 1025499862
1 f none file/CbButton.class 0600 root bin 4861 19409 1025499862
1 f none file/CbButton.java 0600 root bin 5443 26769 1025499861
1 f none file/CbButtonCallback.class 0600 root bin 241 16019 1025499862
1 f none file/CbButtonGroup.class 0600 root bin 747 39501 1025499862
1 f none file/CbColorButton.class 0600 root bin 1788 40052 1025499862
1 f none file/CbColorButton.java 0600 root bin 947 7942 1025499862
1 f none file/CbColorWindow.class 0600 root bin 3954 55038 1025499862
1 f none file/CbColorWindow.java 0600 root bin 5257 37084 1025499862
1 f none file/CbColorWindowCallback.class 0600 root bin 363 26150 1025499862
1 f none file/CbColorWindowCube.class 0600 root bin 1831 47508 1025499861
1 f none file/CbColorWindowSwatch.class 0600 root bin 1790 39012 1025499862
1 f none file/CbImageChooser.class 0600 root bin 1285 5767 1025499862
1 f none file/CbImageChooser.java 0600 root bin 4700 46122 1025499861
1 f none file/CbImageFileWindow.class 0600 root bin 3699 54358 1025499861
1 f none file/CbScrollbar.class 0600 root bin 4330 39507 1025499862
1 f none file/CbScrollbar.java 0600 root bin 7820 13914 1025499861
1 f none file/CbScrollbarArrow.class 0600 root bin 2028 37155 1025499862
1 f none file/CbScrollbarCallback.class 0600 root bin 274 18301 1025499862
1 f none file/CbSlider.class 0600 root bin 3732 55388 1025499862
1 f none file/CbSlider.java 0600 root bin 4622 28249 1025499861
1 f none file/CbSliderCallback.class 0600 root bin 240 15352 1025499862
1 f none file/DFSAdminExport.class 0600 root bin 1892 57844 1025499862
1 f none file/DeleteWindow.class 0600 root bin 3331 45544 1025499862
1 f none file/EXTWindow.class 0600 root bin 4055 26059 1025499862
1 f none file/EditorWindow.class 0600 root bin 5939 18772 1025499862
1 f none file/ErrorWindow.class 0600 root bin 1323 15257 1025499862
1 f none file/ErrorWindow.java 0600 root bin 557 46152 1025499862
1 f none file/FileAttribute.class 0600 root bin 1216 11145 1025499862
1 f none file/FileManager.class 0600 root bin 17631 20512 1025499862
1 f none file/FileManager.java 0600 root bin 81352 40075 1025499862
1 f none file/FileNode.class 0600 root bin 2032 63010 1025499861
1 f none file/FileSystem.class 0600 root bin 1400 23728 1025499862
1 f none file/FixedFrame.class 0600 root bin 1105 54585 1025499862
1 f none file/FixedFrame.java 0600 root bin 701 56084 1025499862
1 f none file/GrayPanel.class 0600 root bin 632 35006 1025499861
1 f none file/GrayPanel.java 0600 root bin 177 14890 1025499861
1 f none file/Hierarchy.class 0600 root bin 5755 19736 1025499862
1 f none file/Hierarchy.java 0600 root bin 7627 18970 1025499862
1 f none file/HierarchyCallback.class 0600 root bin 324 21287 1025499862
1 f none file/HierarchyNode.class 0600 root bin 612 30973 1025499862
1 f none file/LineInputStream.class 0600 root bin 1838 12147 1025499861
1 f none file/LineInputStream.java 0700 root bin 2127 45435 1025499862
1 f none file/LinedPanel.class 0600 root bin 1352 8767 1025499861
1 f none file/LinedPanel.java 0600 root bin 712 53631 1025499862
1 f none file/LinkWindow.class 0600 root bin 3685 5840 1025499861
1 f none file/LinuxExport.class 0600 root bin 2045 1013 1025499862
1 f none file/Makefile 0600 root bin 122 10701 1025499861
1 f none file/MkdirWindow.class 0600 root bin 3719 8980 1025499862
1 f none file/MultiColumn.class 0600 root bin 8153 34238 1025499862
1 f none file/MultiColumn.java 0600 root bin 9826 53606 1025499861
1 f none file/MultiColumnCallback.class 0600 root bin 263 17903 1025499862
1 f none file/MultiLabel.class 0600 root bin 1814 54263 1025499861
1 f none file/MyFlowLayout.java 0600 root bin 6627 60000 1025499862
1 f none file/OverwriteWindow.class 0600 root bin 3248 39657 1025499861
1 f none file/PermissionsPanel.class 0600 root bin 1626 36693 1025499862
1 f none file/PropertiesWindow.class 0600 root bin 6904 16525 1025499862
1 f none file/RemoteFile.class 0600 root bin 3785 45679 1025499862
1 f none file/RenameWindow.class 0600 root bin 4222 32082 1025499862
1 f none file/ResizePanel.class 0600 root bin 2375 63409 1025499862
1 f none file/ResizePanel.java 0600 root bin 2036 36261 1025499862
1 f none file/SambaShare.class 0600 root bin 1783 50057 1025499862
1 f none file/ScrollImage.class 0600 root bin 2865 40852 1025499862
1 f none file/SearchWindow.class 0600 root bin 7844 32460 1025499862
1 f none file/SharingWindow.class 0600 root bin 10839 65259 1025499862
1 f none file/StaticTextField.class 0600 root bin 508 24333 1025499862
1 f none file/StaticTextField.java 0600 root bin 338 28277 1025499861
1 f none file/StringJoiner.class 0600 root bin 840 43468 1025499862
1 f none file/StringSplitter.class 0600 root bin 1194 62800 1025499862
1 f none file/StringSplitter.java 0600 root bin 1970 31966 1025499862
1 f none file/TabSelector.class 0600 root bin 2818 29199 1025499862
1 f none file/TabbedDisplayPanel.class 0600 root bin 1580 28851 1025499861
1 f none file/TabbedPanel.class 0600 root bin 1344 9732 1025499862
1 f none file/TabbedPanel.java 0600 root bin 4111 58688 1025499861
1 f none file/ThirdsLayout.class 0600 root bin 1607 30560 1025499862
1 f none file/Util.class 0600 root bin 3762 30508 1025499862
1 f none file/Util.java 0600 root bin 2597 6912 1025499862
1 f none file/acl_security.pl 0600 root bin 1733 11419 1025499861
1 f none file/chmod.cgi 0700 root bin 1902 17652 1025499862
1 f none file/config-cobalt-linux 0600 root bin 424 36923 1025499862
1 f none file/config-corel-linux 0600 root bin 424 36923 1025499862
1 f none file/config-debian-linux 0600 root bin 424 36923 1025499862
1 f none file/config-generic-linux 0600 root bin 424 36923 1025499862
1 f none file/config-irix 0600 root bin 126 11106 1025499862
1 f none file/config-mandrake-linux 0600 root bin 424 36923 1025499862
1 f none file/config-msc-linux 0600 root bin 424 36923 1025499862
1 f none file/config-open-linux 0600 root bin 424 36923 1025499862
1 f none file/config-redhat-linux 0600 root bin 424 36923 1025499862
1 f none file/config-slackware-linux 0600 root bin 424 36923 1025499862
1 f none file/config-solaris 0600 root bin 215 18643 1025499862
1 f none file/config-suse-linux 0600 root bin 424 36923 1025499862
1 f none file/config-turbo-linux 0600 root bin 424 36923 1025499862
1 f none file/copy.cgi 0700 root bin 1060 17889 1025499862
1 f none file/defaultacl 0600 root bin 50 4089 1025499862
1 f none file/delete.cgi 0700 root bin 416 33979 1025499862
1 f none file/file-lib.pl 0600 root bin 2032 20458 1025499861
1 f none file/filesystems.cgi 0700 root bin 1208 24550 1025499862
1 f none file/getattrs.cgi 0700 root bin 789 57708 1025499862
1 f none file/getext.cgi 0700 root bin 482 37223 1025499862
1 f none file/getfacl.cgi 0700 root bin 697 50228 1025499862
1 d none file/images 0700 root bin
1 f none file/images/acl.gif 0600 root bin 193 19935 1025499862
1 f none file/images/add.gif 0600 root bin 118 12512 1025499862
1 f none file/images/attr.gif 0600 root bin 180 20262 1025499862
1 f none file/images/binary.gif 0600 root bin 97 8992 1025499862
1 f none file/images/cancel.gif 0600 root bin 107 9763 1025499862
1 f none file/images/copy.gif 0600 root bin 113 11556 1025499862
1 f none file/images/cut.gif 0600 root bin 119 11873 1025499862
1 f none file/images/device.gif 0600 root bin 90 7520 1025499862
1 f none file/images/dir.gif 0600 root bin 88 8637 1025499862
1 f none file/images/down.gif 0600 root bin 128 14408 1025499862
1 f none file/images/edit.gif 0600 root bin 138 13129 1025499862
1 f none file/images/ext.gif 0600 root bin 1159 27345 1025499862
1 f none file/images/file.gif 0600 root bin 1754 7118 1025499862
1 f none file/images/icon.gif 0600 root bin 266 29430 1025499862
1 f none file/images/image.gif 0600 root bin 124 11467 1025499862
1 f none file/images/makelink.gif 0600 root bin 127 14672 1025499862
1 f none file/images/mkdir.gif 0600 root bin 106 11958 1025499862
1 f none file/images/new.gif 0600 root bin 85 9773 1025499862
1 f none file/images/open.gif 0600 root bin 114 13145 1025499862
1 f none file/images/paste.gif 0600 root bin 152 15179 1025499862
1 f none file/images/pipe.gif 0600 root bin 107 8758 1025499862
1 f none file/images/props.gif 0600 root bin 117 13273 1025499862
1 f none file/images/refresh.gif 0600 root bin 92 9815 1025499862
1 f none file/images/rename.gif 0600 root bin 144 15370 1025499862
1 f none file/images/ret.gif 0600 root bin 229 25553 1025499862
1 f none file/images/run.gif 0600 root bin 130 13008 1025499862
1 f none file/images/save.gif 0600 root bin 92 7921 1025499862
1 f none file/images/sdir.gif 0600 root bin 180 18300 1025499862
1 f none file/images/search.gif 0600 root bin 131 12536 1025499862
1 f none file/images/share.gif 0600 root bin 132 13595 1025499862
1 f none file/images/sub.gif 0600 root bin 96 11275 1025499862
1 f none file/images/symlink.gif 0600 root bin 87 7991 1025499862
1 f none file/images/text.gif 0600 root bin 91 8129 1025499862
1 f none file/images/unknown.gif 0600 root bin 79 7261 1025499862
1 f none file/images/upload.gif 0600 root bin 154 16502 1025499862
1 f none file/images/view.gif 0600 root bin 138 14182 1025499862
1 f none file/index.cgi 0700 root bin 1517 61562 1025499862
1 d none file/lang 0700 root bin
1 f none file/lang.cgi 0700 root bin 194 16320 1025499862
1 f none file/lang/ca 0600 root bin 9041 62010 1025499861
1 f none file/lang/de 0600 root bin 4834 56513 1025499861
1 f none file/lang/en 0600 root bin 8186 35435 1025499861
1 f none file/lang/es 0600 root bin 7019 9132 1025499861
1 f none file/lang/fr 0600 root bin 7467 65047 1025499861
1 f none file/lang/it 0600 root bin 4354 10319 1025499861
1 f none file/lang/ja_JP.euc 0600 root bin 6683 22813 1025499861
1 f none file/lang/ko_KR.euc 0600 root bin 5986 20769 1025499861
1 f none file/lang/pl 0600 root bin 11525 53932 1025499861
1 f none file/lang/pt 0600 root bin 4524 40204 1025499861
1 f none file/lang/ru_RU 0600 root bin 4305 30265 1025499861
1 f none file/lang/ru_SU 0600 root bin 4326 37526 1025499861
1 f none file/lang/sv 0600 root bin 4261 9029 1025499861
1 f none file/lang/tr 0600 root bin 5723 49183 1025499861
1 f none file/lang/zh_CN 0600 root bin 4807 50018 1025499861
1 f none file/lang/zh_TW.Big5 0600 root bin 3197 58318 1025499861
1 f none file/list.cgi 0700 root bin 598 46233 1025499861
1 f none file/list_exports.cgi 0700 root bin 2358 50260 1025499862
1 f none file/list_shares.cgi 0700 root bin 1201 31564 1025499862
1 f none file/log_parser.pl 0600 root bin 1363 43370 1025499862
1 f none file/makelink.cgi 0700 root bin 534 44266 1025499861
1 f none file/mkdir.cgi 0700 root bin 452 36689 1025499861
1 f none file/module.info 0600 root bin 462 50778 1025499882
1 f none file/move.cgi 0700 root bin 596 48439 1025499862
1 f none file/rename.cgi 0700 root bin 457 37082 1025499861
1 f none file/root.cgi 0700 root bin 176 15352 1025499862
1 f none file/save.cgi 0700 root bin 549 42822 1025499861
1 f none file/save_export.cgi 0700 root bin 3930 46800 1025499862
1 f none file/save_share.cgi 0700 root bin 2534 763 1025499862
1 f none file/search.cgi 0700 root bin 749 57642 1025499862
1 f none file/setattrs.cgi 0700 root bin 884 65412 1025499862
1 f none file/setext.cgi 0700 root bin 383 30205 1025499862
1 f none file/setfacl.cgi 0700 root bin 820 60871 1025499862
1 f none file/show.cgi 0700 root bin 1438 40661 1025499861
1 f none file/upform.cgi 0700 root bin 883 9987 1025499862
1 f none file/upload.cgi 0700 root bin 877 1591 1025499862
1 d none format 0700 root bin
1 f none format/acl_security.pl 0600 root bin 1068 22010 1025499843
1 f none format/config 0600 root bin 84 7946 1025499844
1 f none format/config.info 0600 root bin 90 8170 1025499843
1 f none format/config.info.ca 0600 root bin 92 8190 1025499844
1 f none format/config.info.de 0600 root bin 100 9178 1025499843
1 f none format/config.info.es 0600 root bin 110 10270 1025499843
1 f none format/config.info.fr 0600 root bin 104 9664 1025499843
1 f none format/config.info.hu 0600 root bin 100 9316 1025499844
1 f none format/config.info.pl 0600 root bin 98 9372 1025499844
1 f none format/config.info.sv 0600 root bin 112 11320 1025499843
1 f none format/config.info.tr 0600 root bin 89 8312 1025499844
1 f none format/config.info.zh_CN 0600 root bin 82 8918 1025499844
1 f none format/config.info.zh_TW.Big5 0600 root bin 92 10498 1025499844
1 f none format/copy_part_form.cgi 0700 root bin 2727 21182 1025499843
1 f none format/defaultacl 0600 root bin 19 1625 1025499843
1 f none format/edit_disk.cgi 0700 root bin 2663 24288 1025499843
1 f none format/edit_part.cgi 0700 root bin 4835 3193 1025499844
1 f none format/format-lib.pl 0600 root bin 9040 38885 1025499844
1 f none format/fsck.cgi 0700 root bin 553 44859 1025499843
1 f none format/fsck_form.cgi 0700 root bin 886 10314 1025499844
1 d none format/help 0700 root bin
1 f none format/help/help.ca.html 0600 root bin 201 17064 1025499843
1 f none format/help/help.es.html 0600 root bin 205 17433 1025499843
1 f none format/help/help.html 0600 root bin 199 16460 1025499843
1 f none format/help/help.sv.html 0600 root bin 204 17228 1025499843
1 f none format/help/help.zh_TW.Big5.html 0600 root bin 177 16907 1025499843
1 d none format/images 0700 root bin
1 f none format/images/gap.gif 0600 root bin 44 2023 1025499843
1 f none format/images/icon.gif 0600 root bin 308 36936 1025499843
1 f none format/images/use.gif 0600 root bin 36 1215 1025499843
1 f none format/index.cgi 0700 root bin 2994 27470 1025499844
1 d none format/lang 0700 root bin
1 f none format/lang/ca 0600 root bin 6762 54777 1025499843
1 f none format/lang/de 0600 root bin 7219 23658 1025499843
1 f none format/lang/en 0600 root bin 6025 41637 1025499843
1 f none format/lang/es 0600 root bin 6097 49161 1025499843
1 f none format/lang/fr 0600 root bin 7309 61320 1025499843
1 f none format/lang/hu 0600 root bin 6746 62828 1025499843
1 f none format/lang/ja_JP.euc 0600 root bin 6543 24515 1025499843
1 f none format/lang/ko_KR.euc 0600 root bin 5928 20426 1025499843
1 f none format/lang/pl 0600 root bin 6794 24398 1025499843
1 f none format/lang/sv 0600 root bin 6317 24346 1025499843
1 f none format/lang/tr 0600 root bin 125 11583 1025499843
1 f none format/lang/zh_CN 0600 root bin 4415 18404 1025499843
1 f none format/lang/zh_TW.Big5 0600 root bin 4515 29147 1025499843
1 f none format/module.info 0600 root bin 588 62854 1025499882
1 f none format/newfs.cgi 0700 root bin 1172 24250 1025499843
1 f none format/newfs_form.cgi 0700 root bin 1579 64572 1025499844
1 f none format/save_part.cgi 0700 root bin 1034 20581 1025499843
1 f none format/tunefs.cgi 0700 root bin 892 6358 1025499844
1 f none format/tunefs_form.cgi 0700 root bin 1261 42436 1025499843
1 d none fsdump 0700 root bin
1 f none fsdump/backup.cgi 0700 root bin 691 56050 1025499881
1 f none fsdump/backup.pl 0700 root bin 944 8461 1025499881
1 f none fsdump/cobalt-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/corel-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/debian-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/edit_dump.cgi 0700 root bin 2730 25630 1025499881
1 f none fsdump/feedback_files.pl 0600 root bin 229 18608 1025499881
1 f none fsdump/freebsd-lib.pl 0600 root bin 7246 61065 1025499881
1 f none fsdump/fsdump-lib.pl 0600 root bin 2875 31347 1025499881
1 f none fsdump/generic-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/gentoo-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 d none fsdump/help 0700 root bin
1 f none fsdump/help/attribs.ca.html 0600 root bin 204 18942 1025499881
1 f none fsdump/help/attribs.html 0600 root bin 180 16119 1025499881
1 f none fsdump/help/create.ca.html 0600 root bin 252 22738 1025499881
1 f none fsdump/help/create.html 0600 root bin 249 21955 1025499881
1 f none fsdump/help/dest.ca.html 0600 root bin 370 33669 1025499881
1 f none fsdump/help/dest.html 0600 root bin 355 31471 1025499881
1 f none fsdump/help/dir.ca.html 0600 root bin 227 20222 1025499881
1 f none fsdump/help/dir.html 0600 root bin 211 18874 1025499881
1 f none fsdump/help/dump.ca.html 0600 root bin 216 19728 1025499881
1 f none fsdump/help/dump.html 0600 root bin 217 19772 1025499881
1 f none fsdump/help/edit.ca.html 0600 root bin 284 26344 1025499881
1 f none fsdump/help/edit.html 0600 root bin 277 24905 1025499881
1 f none fsdump/help/email.ca.html 0600 root bin 288 26544 1025499881
1 f none fsdump/help/email.html 0600 root bin 262 23520 1025499881
1 f none fsdump/help/enabled.ca.html 0600 root bin 292 27327 1025499881
1 f none fsdump/help/enabled.html 0600 root bin 274 24433 1025499881
1 f none fsdump/help/erase.ca.html 0600 root bin 278 25613 1025499881
1 f none fsdump/help/erase.html 0600 root bin 278 24723 1025499881
1 f none fsdump/help/intro.ca.html 0600 root bin 961 24471 1025499881
1 f none fsdump/help/intro.html 0600 root bin 797 7215 1025499881
1 f none fsdump/help/invent.ca.html 0600 root bin 218 20159 1025499881
1 f none fsdump/help/invent.html 0600 root bin 212 18977 1025499881
1 f none fsdump/help/label.ca.html 0600 root bin 111 10019 1025499881
1 f none fsdump/help/label.html 0600 root bin 108 9336 1025499881
1 f none fsdump/help/level.ca.html 0600 root bin 312 28976 1025499881
1 f none fsdump/help/level.html 0600 root bin 286 25645 1025499881
1 f none fsdump/help/max.ca.html 0600 root bin 172 15734 1025499881
1 f none fsdump/help/max.html 0600 root bin 161 14355 1025499881
1 f none fsdump/help/multi.ca.html 0600 root bin 305 27367 1025499881
1 f none fsdump/help/multi.html 0600 root bin 289 25426 1025499881
1 f none fsdump/help/nothing.html 0600 root bin 213 19303 1025499881
1 f none fsdump/help/offline.ca.html 0600 root bin 165 15188 1025499881
1 f none fsdump/help/offline.html 0600 root bin 154 13638 1025499881
1 f none fsdump/help/over.ca.html 0600 root bin 163 15222 1025499881
1 f none fsdump/help/over.html 0600 root bin 152 13443 1025499881
1 f none fsdump/help/overwrite.ca.html 0600 root bin 185 17339 1025499881
1 f none fsdump/help/overwrite.html 0600 root bin 200 18105 1025499881
1 f none fsdump/help/rdir.ca.html 0600 root bin 204 18959 1025499881
1 f none fsdump/help/rdir.html 0600 root bin 216 19573 1025499881
1 f none fsdump/help/restore.ca.html 0600 root bin 305 28081 1025499881
1 f none fsdump/help/restore.html 0600 root bin 271 24452 1025499881
1 f none fsdump/help/rfiles.ca.html 0600 root bin 361 32997 1025499881
1 f none fsdump/help/rfiles.html 0600 root bin 332 29764 1025499881
1 f none fsdump/help/rlabel.ca.html 0600 root bin 309 29342 1025499881
1 f none fsdump/help/rlabel.html 0600 root bin 295 27012 1025499881
1 f none fsdump/help/rmulti.ca.html 0600 root bin 418 38873 1025499881
1 f none fsdump/help/rmulti.html 0600 root bin 370 32915 1025499881
1 f none fsdump/help/rnoattribs.ca.html 0600 root bin 291 27371 1025499881
1 f none fsdump/help/rnoattribs.html 0600 root bin 236 21580 1025499881
1 f none fsdump/help/rover.ca.html 0600 root bin 229 21057 1025499881
1 f none fsdump/help/rover.html 0600 root bin 222 19975 1025499881
1 f none fsdump/help/rsrc.ca.html 0600 root bin 365 33310 1025499881
1 f none fsdump/help/rsrc.html 0600 root bin 353 31821 1025499881
1 f none fsdump/help/rtest.ca.html 0600 root bin 246 23209 1025499881
1 f none fsdump/help/rtest.html 0600 root bin 248 22139 1025499881
1 f none fsdump/help/update.ca.html 0600 root bin 227 20349 1025499881
1 f none fsdump/help/update.html 0600 root bin 207 18347 1025499881
1 f none fsdump/help/verify.ca.html 0600 root bin 222 20742 1025499881
1 f none fsdump/help/verify.html 0600 root bin 202 18230 1025499881
1 d none fsdump/images 0700 root bin
1 f none fsdump/images/icon.gif 0600 root bin 2367 60570 1025499881
1 f none fsdump/index.cgi 0700 root bin 1866 21272 1025499881
1 d none fsdump/lang 0700 root bin
1 f none fsdump/lang/ca 0600 root bin 4924 12063 1025499881
1 f none fsdump/lang/en 0600 root bin 4397 20578 1025499881
1 f none fsdump/lang/zh_TW.Big5 0600 root bin 3187 35485 1025499881
1 f none fsdump/linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/log_parser.pl 0600 root bin 718 59602 1025499881
1 f none fsdump/macos-lib.pl 0600 root bin 7246 61065 1025499881
1 f none fsdump/mandrake-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/module.info 0600 root bin 345 33845 1025499882
1 f none fsdump/msc-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/open-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/redhat-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/restore.cgi 0700 root bin 748 60341 1025499881
1 f none fsdump/restore_form.cgi 0700 root bin 873 6424 1025499881
1 f none fsdump/save_dump.cgi 0700 root bin 2933 35401 1025499881
1 f none fsdump/slackware-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/solaris-lib.pl 0600 root bin 6995 42097 1025499881
1 f none fsdump/suse-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/turbo-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/uninstall.pl 0600 root bin 347 28518 1025499881
1 f none group_chooser.cgi 0700 root bin 5366 27502 1025499831
1 d none grub 0700 root bin
1 f none grub/config 0600 root bin 69 6387 1025499875
1 f none grub/config-gentoo-linux 0600 root bin 65 5994 1025499875
1 f none grub/config-redhat-linux-7.2 0600 root bin 66 6072 1025499875
1 f none grub/config-redhat-linux-7.3 0600 root bin 66 6072 1025499875
1 f none grub/config.info 0600 root bin 118 10823 1025499875
1 f none grub/config.info.ca 0600 root bin 138 12849 1025499875
1 f none grub/config.info.es 0600 root bin 135 12766 1025499875
1 f none grub/config.info.pl 0600 root bin 134 12516 1025499875
1 f none grub/config.info.zh_TW.Big5 0600 root bin 84 10489 1025499875
1 f none grub/edit_global.cgi 0700 root bin 3128 58028 1025499875
1 f none grub/edit_title.cgi 0700 root bin 3589 23269 1025499875
1 f none grub/grub-lib.pl 0600 root bin 2085 24102 1025499875
1 d none grub/images 0700 root bin
1 f none grub/images/chain.gif 0600 root bin 2083 47306 1025499875
1 f none grub/images/grub.gif 0600 root bin 4197 30596 1025499875
1 f none grub/images/icon.gif 0600 root bin 1589 31962 1025499875
1 f none grub/images/kernel.gif 0600 root bin 1614 26487 1025499875
1 f none grub/index.cgi 0700 root bin 2253 50934 1025499875
1 f none grub/install.cgi 0700 root bin 1335 39905 1025499875
1 d none grub/lang 0700 root bin
1 f none grub/lang/ca 0600 root bin 3064 29501 1025499875
1 f none grub/lang/en 0600 root bin 2573 45793 1025499875
1 f none grub/lang/es 0600 root bin 2707 62142 1025499875
1 f none grub/lang/ja_JP.euc 0600 root bin 2754 20339 1025499875
1 f none grub/lang/ko_KR.euc 0600 root bin 2219 50324 1025499875
1 f none grub/lang/pl 0600 root bin 2711 3069 1025499875
1 f none grub/lang/zh_TW.Big5 0600 root bin 2038 1598 1025499875
1 f none grub/module.info 0600 root bin 377 34803 1025499882
1 f none grub/save_global.cgi 0700 root bin 1944 23991 1025499875
1 f none grub/save_title.cgi 0700 root bin 1803 9040 1025499875
1 d none heartbeat 0700 root bin
1 f none heartbeat/apply.cgi 0700 root bin 364 30022 1025499878
1 f none heartbeat/config 0600 root bin 224 20867 1025499878
1 f none heartbeat/config-freebsd 0600 root bin 267 24819 1025499878
1 f none heartbeat/config-generic-linux 0600 root bin 234 21846 1025499878
1 f none heartbeat/config-slackware-linux 0600 root bin 234 21846 1025499878
1 f none heartbeat/config.info 0600 root bin 408 38184 1025499878
1 f none heartbeat/config.info.ca 0600 root bin 468 45186 1025499878
1 f none heartbeat/config.info.hu 0600 root bin 443 47975 1025499878
1 f none heartbeat/edit_auth.cgi 0700 root bin 866 4031 1025499878
1 f none heartbeat/edit_conf.cgi 0700 root bin 4893 13311 1025499878
1 f none heartbeat/edit_node.cgi 0700 root bin 2994 41360 1025499878
1 f none heartbeat/edit_res.cgi 0700 root bin 955 8061 1025499878
1 f none heartbeat/feedback_files.pl 0600 root bin 110 9105 1025499878
1 f none heartbeat/heartbeat-lib.pl 0600 root bin 3545 7352 1025499877
1 d none heartbeat/images 0700 root bin
1 f none heartbeat/images/auth.gif 0600 root bin 275 34570 1025499877
1 f none heartbeat/images/conf.gif 0600 root bin 316 36595 1025499877
1 f none heartbeat/images/icon.gif 0600 root bin 2350 10238 1025499877
1 f none heartbeat/images/res.gif 0600 root bin 251 29940 1025499877
1 f none heartbeat/index.cgi 0700 root bin 1306 42024 1025499878
1 d none heartbeat/lang 0700 root bin
1 f none heartbeat/lang/ca 0600 root bin 3352 57152 1025499878
1 f none heartbeat/lang/en 0600 root bin 2902 12949 1025499877
1 f none heartbeat/lang/hu 0600 root bin 2097 23876 1025499878
1 f none heartbeat/module.info 0600 root bin 286 27243 1025499882
1 f none heartbeat/save_auth.cgi 0700 root bin 475 36530 1025499878
1 f none heartbeat/save_conf.cgi 0700 root bin 2459 7320 1025499878
1 f none heartbeat/save_node.cgi 0700 root bin 1303 37920 1025499878
1 f none heartbeat/start.cgi 0700 root bin 239 19958 1025499878
1 f none help.cgi 0700 root bin 2128 37997 1025499831
1 d none hpuxexports 0700 root bin
1 f none hpuxexports/config-hpux 0700 root bin 86 8436 1025499861
1 f none hpuxexports/config.info 0600 root bin 92 8928 1025499861
1 f none hpuxexports/config.info.ca 0600 root bin 122 11571 1025499861
1 f none hpuxexports/config.info.de 0600 root bin 111 10726 1025499861
1 f none hpuxexports/config.info.es 0600 root bin 123 11831 1025499861
1 f none hpuxexports/config.info.fr 0600 root bin 111 10863 1025499861
1 f none hpuxexports/config.info.pl 0600 root bin 79 7422 1025499861
1 f none hpuxexports/config.info.ru_RU 0600 root bin 115 19744 1025499861
1 f none hpuxexports/config.info.ru_SU 0600 root bin 115 17755 1025499861
1 f none hpuxexports/config.info.sv 0600 root bin 103 10082 1025499861
1 f none hpuxexports/config.info.tr 0600 root bin 103 10279 1025499861
1 f none hpuxexports/config.info.zh_CN 0600 root bin 77 11978 1025499861
1 f none hpuxexports/config.info.zh_TW.Big5 0600 root bin 118 15514 1025499861
1 f none hpuxexports/delete_export.cgi 0700 root bin 153 13096 1025499861
1 f none hpuxexports/edit_export.cgi 0700 root bin 1832 20191 1025499861
1 f none hpuxexports/exports-lib.pl 0600 root bin 3121 42633 1025499861
1 d none hpuxexports/help 0700 root bin
1 f none hpuxexports/help/active.ca.html 0600 root bin 140 12435 1025499861
1 f none hpuxexports/help/active.es.html 0600 root bin 173 15944 1025499861
1 f none hpuxexports/help/active.html 0600 root bin 142 12427 1025499861
1 f none hpuxexports/help/active.pl.html 0600 root bin 162 15201 1025499861
1 f none hpuxexports/help/active.sv.html 0600 root bin 173 15729 1025499861
1 f none hpuxexports/help/active.zh_TW.Big5.html 0600 root bin 115 14282 1025499861
1 f none hpuxexports/help/anon.ca.html 0600 root bin 228 21231 1025499861
1 f none hpuxexports/help/anon.es.html 0600 root bin 252 23548 1025499861
1 f none hpuxexports/help/anon.fr.html 0600 root bin 235 21380 1025499861
1 f none hpuxexports/help/anon.html 0600 root bin 217 19488 1025499861
1 f none hpuxexports/help/anon.pl.html 0600 root bin 268 26292 1025499861
1 f none hpuxexports/help/anon.sv.html 0600 root bin 252 24542 1025499861
1 f none hpuxexports/help/anon.zh_TW.Big5.html 0600 root bin 141 18045 1025499861
1 f none hpuxexports/help/async.ca.html 0600 root bin 1101 37022 1025499861
1 f none hpuxexports/help/async.html 0600 root bin 1037 30532 1025499861
1 f none hpuxexports/help/async.pl.html 0600 root bin 1053 38518 1025499861
1 f none hpuxexports/help/create_export.ca.html 0600 root bin 138 12758 1025499861
1 f none hpuxexports/help/create_export.es.html 0600 root bin 144 13491 1025499861
1 f none hpuxexports/help/create_export.fr.html 0600 root bin 130 12081 1025499861
1 f none hpuxexports/help/create_export.html 0600 root bin 137 12345 1025499861
1 f none hpuxexports/help/create_export.pl.html 0600 root bin 162 16066 1025499861
1 f none hpuxexports/help/create_export.sv.html 0600 root bin 145 13455 1025499861
1 f none hpuxexports/help/create_export.zh_TW.Big5.html 0600 root bin 91 12673 1025499861
1 f none hpuxexports/help/desc.ca.html 0600 root bin 98 9321 1025499861
1 f none hpuxexports/help/desc.es.html 0600 root bin 96 9145 1025499861
1 f none hpuxexports/help/desc.fr.html 0600 root bin 76 6549 1025499861
1 f none hpuxexports/help/desc.html 0600 root bin 86 7772 1025499861
1 f none hpuxexports/help/desc.pl.html 0600 root bin 79 7434 1025499861
1 f none hpuxexports/help/desc.sv.html 0600 root bin 69 6208 1025499861
1 f none hpuxexports/help/desc.zh_TW.Big5.html 0600 root bin 62 8066 1025499861
1 f none hpuxexports/help/dir.ca.html 0600 root bin 385 35506 1025499861
1 f none hpuxexports/help/dir.es.html 0600 root bin 394 36792 1025499861
1 f none hpuxexports/help/dir.fr.html 0600 root bin 345 33392 1025499861
1 f none hpuxexports/help/dir.html 0600 root bin 351 32338 1025499861
1 f none hpuxexports/help/dir.pl.html 0600 root bin 348 34093 1025499861
1 f none hpuxexports/help/dir.sv.html 0600 root bin 342 31991 1025499861
1 f none hpuxexports/help/dir.zh_TW.Big5.html 0600 root bin 241 33928 1025499861
1 f none hpuxexports/help/edit_export.ca.html 0600 root bin 167 15805 1025499861
1 f none hpuxexports/help/edit_export.es.html 0600 root bin 163 15514 1025499861
1 f none hpuxexports/help/edit_export.fr.html 0600 root bin 163 15038 1025499861
1 f none hpuxexports/help/edit_export.html 0600 root bin 156 14213 1025499861
1 f none hpuxexports/help/edit_export.pl.html 0600 root bin 186 18906 1025499861
1 f none hpuxexports/help/edit_export.sv.html 0600 root bin 138 13285 1025499861
1 f none hpuxexports/help/edit_export.zh_TW.Big5.html 0600 root bin 105 14927 1025499861
1 f none hpuxexports/help/help.ca.html 0600 root bin 203 17115 1025499861
1 f none hpuxexports/help/help.es.html 0600 root bin 209 17914 1025499861
1 f none hpuxexports/help/help.html 0600 root bin 200 16597 1025499861
1 f none hpuxexports/help/help.sv.html 0600 root bin 201 16858 1025499861
1 f none hpuxexports/help/help.zh_TW.Big5.html 0600 root bin 175 16447 1025499861
1 f none hpuxexports/help/index.ca.html 0600 root bin 253 23748 1025499861
1 f none hpuxexports/help/index.es.html 0600 root bin 290 27303 1025499861
1 f none hpuxexports/help/index.fr.html 0600 root bin 263 24468 1025499861
1 f none hpuxexports/help/index.html 0600 root bin 256 22883 1025499861
1 f none hpuxexports/help/index.pl.html 0600 root bin 284 27689 1025499861
1 f none hpuxexports/help/index.sv.html 0600 root bin 247 23442 1025499861
1 f none hpuxexports/help/index.zh_TW.Big5.html 0600 root bin 164 21290 1025499861
1 f none hpuxexports/help/intro.ca.html 0600 root bin 1031 29821 1025499861
1 f none hpuxexports/help/intro.es.html 0600 root bin 76 6701 1025499861
1 f none hpuxexports/help/intro.fr.html 0600 root bin 71 5700 1025499861
1 f none hpuxexports/help/intro.html 0600 root bin 901 16600 1025499861
1 f none hpuxexports/help/intro.pl.html 0600 root bin 1035 36976 1025499861
1 f none hpuxexports/help/intro.sv.html 0600 root bin 70 6104 1025499861
1 f none hpuxexports/help/intro.zh_TW.Big5.html 0600 root bin 54 5133 1025499861
1 f none hpuxexports/help/nfs.ca.html 0600 root bin 1167 45083 1025499861
1 f none hpuxexports/help/nfs.es.html 0600 root bin 1295 56913 1025499861
1 f none hpuxexports/help/nfs.fr.html 0600 root bin 1198 50376 1025499861
1 f none hpuxexports/help/nfs.html 0600 root bin 1093 35121 1025499861
1 f none hpuxexports/help/nfs.pl.html 0600 root bin 1292 440 1025499861
1 f none hpuxexports/help/nfs.sv.html 0600 root bin 1142 45833 1025499861
1 f none hpuxexports/help/nfs.zh_TW.Big5.html 0600 root bin 668 36100 1025499861
1 f none hpuxexports/help/root_access.ca.html 0600 root bin 136 12674 1025499861
1 f none hpuxexports/help/root_access.html 0600 root bin 134 12300 1025499861
1 f none hpuxexports/help/root_access.pl.html 0600 root bin 185 17932 1025499861
1 f none hpuxexports/help/squash_gids.ca.html 0600 root bin 344 29700 1025499861
1 f none hpuxexports/help/squash_gids.es.html 0600 root bin 329 28245 1025499861
1 f none hpuxexports/help/squash_gids.fr.html 0600 root bin 410 37598 1025499861
1 f none hpuxexports/help/squash_gids.html 0600 root bin 296 25283 1025499861
1 f none hpuxexports/help/squash_gids.pl.html 0600 root bin 321 29539 1025499861
1 f none hpuxexports/help/squash_gids.sv.html 0600 root bin 299 25953 1025499861
1 f none hpuxexports/help/squash_gids.zh_TW.Big5.html 0600 root bin 239 28329 1025499861
1 f none hpuxexports/help/squash_uids.ca.html 0600 root bin 362 31699 1025499861
1 f none hpuxexports/help/squash_uids.es.html 0600 root bin 339 29659 1025499861
1 f none hpuxexports/help/squash_uids.fr.html 0600 root bin 407 37312 1025499861
1 f none hpuxexports/help/squash_uids.html 0600 root bin 314 27179 1025499861
1 f none hpuxexports/help/squash_uids.pl.html 0600 root bin 342 32534 1025499861
1 f none hpuxexports/help/squash_uids.sv.html 0600 root bin 295 26192 1025499861
1 f none hpuxexports/help/squash_uids.zh_TW.Big5.html 0600 root bin 239 30231 1025499861
1 f none hpuxexports/help/user_access.ca.html 0600 root bin 131 12199 1025499861
1 f none hpuxexports/help/user_access.html 0600 root bin 141 12788 1025499861
1 f none hpuxexports/help/user_access.pl.html 0600 root bin 170 17149 1025499861
1 f none hpuxexports/hpux-lib.pl 0600 root bin 6830 6554 1025499861
1 f none hpuxexports/hpuxexports-lib.pl 0600 root bin 2620 11441 1025499861
1 d none hpuxexports/images 0700 root bin
1 f none hpuxexports/images/export.gif 0600 root bin 1565 51055 1025499861
1 f none hpuxexports/images/icon.gif 0600 root bin 245 29407 1025499861
1 f none hpuxexports/index.cgi 0700 root bin 2099 30962 1025499861
1 d none hpuxexports/lang 0700 root bin
1 f none hpuxexports/lang/ca 0600 root bin 3179 43134 1025499861
1 f none hpuxexports/lang/de 0600 root bin 2944 18591 1025499861
1 f none hpuxexports/lang/en 0600 root bin 2679 56287 1025499861
1 f none hpuxexports/lang/es 0600 root bin 3183 43618 1025499861
1 f none hpuxexports/lang/fr 0600 root bin 1852 51917 1025499861
1 f none hpuxexports/lang/pl 0600 root bin 3032 38901 1025499861
1 f none hpuxexports/lang/pt 0600 root bin 1767 44298 1025499861
1 f none hpuxexports/lang/ru_RU 0600 root bin 1742 38036 1025499861
1 f none hpuxexports/lang/ru_SU 0600 root bin 1745 9565 1025499861
1 f none hpuxexports/lang/sv 0600 root bin 1819 47270 1025499861
1 f none hpuxexports/lang/tr 0600 root bin 1919 1394 1025499861
1 f none hpuxexports/lang/zh_CN 0600 root bin 1254 51357 1025499861
1 f none hpuxexports/lang/zh_TW.Big5 0600 root bin 1339 42928 1025499861
1 f none hpuxexports/log_parser.pl 0600 root bin 913 9228 1025499861
1 f none hpuxexports/low.risk 0600 root bin 11 971 1025499861
1 f none hpuxexports/low.skill 0600 root bin 17 1430 1025499861
1 f none hpuxexports/medium.risk 0600 root bin 11 971 1025499861
1 f none hpuxexports/medium.skill 0600 root bin 9 770 1025499861
1 f none hpuxexports/module.info 0600 root bin 479 49589 1025499882
1 f none hpuxexports/restart_exporting.cgi 0700 root bin 591 49707 1025499861
1 f none hpuxexports/restart_mountd.cgi 0700 root bin 562 47562 1025499861
1 f none hpuxexports/save_export.cgi 0700 root bin 1056 20623 1025499861
1 d none images 0700 root bin
1 f none images/audio.gif 0600 root bin 221 20767 1025499831
1 f none images/back.gif 0600 root bin 41 2407 1025499831
1 f none images/binary.gif 0600 root bin 246 24143 1025499831
1 f none images/dir.gif 0600 root bin 225 21065 1025499831
1 f none images/image.gif 0600 root bin 309 27758 1025499831
1 f none images/lc1.gif 0600 root bin 42 2929 1025499831
1 f none images/lc2.gif 0600 root bin 42 2981 1025499831
1 f none images/left.gif 0600 root bin 118 12154 1025499831
1 d none images/letters 0700 root bin
1 f none images/letters/100.gif 0600 root bin 279 27562 1025499830
1 f none images/letters/101.gif 0600 root bin 263 23439 1025499830
1 f none images/letters/102.gif 0600 root bin 201 20319 1025499830
1 f none images/letters/103.gif 0600 root bin 321 29587 1025499830
1 f none images/letters/104.gif 0600 root bin 244 26065 1025499830
1 f none images/letters/105.gif 0600 root bin 111 10886 1025499830
1 f none images/letters/106.gif 0600 root bin 188 18256 1025499830
1 f none images/letters/107.gif 0600 root bin 264 24686 1025499830
1 f none images/letters/108.gif 0600 root bin 104 10349 1025499830
1 f none images/letters/109.gif 0600 root bin 325 34654 1025499830
1 f none images/letters/110.gif 0600 root bin 234 23843 1025499830
1 f none images/letters/111.gif 0600 root bin 279 26183 1025499830
1 f none images/letters/112.gif 0600 root bin 295 26799 1025499830
1 f none images/letters/113.gif 0600 root bin 293 27114 1025499830
1 f none images/letters/114.gif 0600 root bin 193 18528 1025499830
1 f none images/letters/115.gif 0600 root bin 270 25366 1025499830
1 f none images/letters/116.gif 0600 root bin 207 19561 1025499830
1 f none images/letters/117.gif 0600 root bin 240 22575 1025499830
1 f none images/letters/118.gif 0600 root bin 266 25314 1025499830
1 f none images/letters/119.gif 0600 root bin 365 36606 1025499831
1 f none images/letters/120.gif 0600 root bin 265 25455 1025499830
1 f none images/letters/121.gif 0600 root bin 295 28187 1025499830
1 f none images/letters/122.gif 0600 root bin 211 20556 1025499830
1 f none images/letters/123.gif 0600 root bin 238 21096 1025499830
1 f none images/letters/124.gif 0600 root bin 101 9707 1025499830
1 f none images/letters/125.gif 0600 root bin 222 20870 1025499830
1 f none images/letters/126.gif 0600 root bin 187 16788 1025499830
1 f none images/letters/177.iso-8859-2.gif 0600 root bin 305 26973 1025499830
1 f none images/letters/179.iso-8859-2.gif 0600 root bin 140 14861 1025499830
1 f none images/letters/182.iso-8859-2.gif 0600 root bin 300 27258 1025499830
1 f none images/letters/188.iso-8859-2.gif 0600 root bin 251 23768 1025499830
1 f none images/letters/191.iso-8859-2.gif 0600 root bin 231 24016 1025499830
1 f none images/letters/192.gif 0600 root bin 352 34646 1025499830
1 f none images/letters/193.gif 0600 root bin 358 36000 1025499830
1 f none images/letters/194.gif 0600 root bin 365 36227 1025499830
1 f none images/letters/195.gif 0600 root bin 365 35668 1025499830
1 f none images/letters/196.gif 0600 root bin 355 34107 1025499830
1 f none images/letters/197.gif 0600 root bin 379 38602 1025499830
1 f none images/letters/198.gif 0600 root bin 351 37147 1025499830
1 f none images/letters/199.gif 0600 root bin 353 32804 1025499830
1 f none images/letters/200.gif 0600 root bin 251 27060 1025499830
1 f none images/letters/201.gif 0600 root bin 218 23077 1025499830
1 f none images/letters/202.gif 0600 root bin 274 29823 1025499830
1 f none images/letters/203.gif 0600 root bin 225 26413 1025499830
1 f none images/letters/204.gif 0600 root bin 175 18968 1025499830
1 f none images/letters/205.gif 0600 root bin 170 18409 1025499830
1 f none images/letters/206.gif 0600 root bin 221 22667 1025499830
1 f none images/letters/207.gif 0600 root bin 186 20744 1025499830
1 f none images/letters/208.gif 0600 root bin 303 31886 1025499830
1 f none images/letters/208.iso-8859-9.gif 0600 root bin 353 32557 1025499831
1 f none images/letters/209.gif 0600 root bin 346 35016 1025499830
1 f none images/letters/210.gif 0600 root bin 390 38074 1025499830
1 f none images/letters/211.gif 0600 root bin 390 38833 1025499830
1 f none images/letters/211.iso-8859-2.gif 0600 root bin 390 38833 1025499830
1 f none images/letters/212.gif 0600 root bin 397 41145 1025499830
1 f none images/letters/213.gif 0600 root bin 397 40788 1025499830
1 f none images/letters/214.gif 0600 root bin 385 37414 1025499830
1 f none images/letters/214.iso-8859-9.gif 0600 root bin 385 37414 1025499831
1 f none images/letters/215.gif 0600 root bin 250 24630 1025499830
1 f none images/letters/216.gif 0600 root bin 421 41818 1025499830
1 f none images/letters/217.gif 0600 root bin 315 31197 1025499830
1 f none images/letters/218.gif 0600 root bin 309 30472 1025499830
1 f none images/letters/219.gif 0600 root bin 331 34203 1025499830
1 f none images/letters/220.gif 0600 root bin 322 33271 1025499830
1 f none images/letters/220.iso-8859-9.gif 0600 root bin 322 33271 1025499831
1 f none images/letters/221.gif 0600 root bin 304 32813 1025499830
1 f none images/letters/221.iso-8859-9.gif 0600 root bin 943 19877 1025499831
1 f none images/letters/222.gif 0600 root bin 247 25233 1025499830
1 f none images/letters/222.iso-8859-9.gif 0600 root bin 1129 39223 1025499831
1 f none images/letters/223.gif 0600 root bin 325 32432 1025499830
1 f none images/letters/224.gif 0600 root bin 295 28143 1025499830
1 f none images/letters/225.gif 0600 root bin 308 29496 1025499830
1 f none images/letters/226.gif 0600 root bin 324 31522 1025499830
1 f none images/letters/227.gif 0600 root bin 314 28095 1025499830
1 f none images/letters/228.gif 0600 root bin 316 31036 1025499830
1 f none images/letters/229.gif 0600 root bin 331 31326 1025499830
1 f none images/letters/230.gif 0600 root bin 386 37818 1025499830
1 f none images/letters/230.iso-8859-2.gif 0600 root bin 296 27244 1025499830
1 f none images/letters/231.gif 0600 root bin 301 28045 1025499830
1 f none images/letters/231.iso-8859-9.gif 0600 root bin 301 28045 1025499831
1 f none images/letters/232.gif 0600 root bin 290 27593 1025499830
1 f none images/letters/233.gif 0600 root bin 293 28966 1025499830
1 f none images/letters/234.gif 0600 root bin 308 29137 1025499830
1 f none images/letters/234.iso-8859-2.gif 0600 root bin 293 27115 1025499830
1 f none images/letters/235.gif 0600 root bin 301 28633 1025499831
1 f none images/letters/236.gif 0600 root bin 177 17083 1025499830
1 f none images/letters/237.gif 0600 root bin 153 16097 1025499830
1 f none images/letters/238.gif 0600 root bin 201 19741 1025499830
1 f none images/letters/239.gif 0600 root bin 170 18475 1025499830
1 f none images/letters/240.gif 0600 root bin 336 31502 1025499830
1 f none images/letters/240.iso-8859-9.gif 0600 root bin 1101 36086 1025499831
1 f none images/letters/241.gif 0600 root bin 287 30311 1025499830
1 f none images/letters/241.iso-8859-2.gif 0600 root bin 267 27687 1025499830
1 f none images/letters/242.gif 0600 root bin 309 28490 1025499830
1 f none images/letters/243.gif 0600 root bin 313 28806 1025499830
1 f none images/letters/243.iso-8859-2.gif 0600 root bin 313 28806 1025499830
1 f none images/letters/244.gif 0600 root bin 331 31804 1025499830
1 f none images/letters/245.gif 0600 root bin 326 30306 1025499830
1 f none images/letters/246.gif 0600 root bin 322 31517 1025499830
1 f none images/letters/246.iso-8859-9.gif 0600 root bin 322 31517 1025499831
1 f none images/letters/247.gif 0600 root bin 225 20364 1025499830
1 f none images/letters/248.gif 0600 root bin 328 33290 1025499830
1 f none images/letters/249.gif 0600 root bin 269 27936 1025499830
1 f none images/letters/250.gif 0600 root bin 274 27315 1025499830
1 f none images/letters/251.gif 0600 root bin 280 28240 1025499830
1 f none images/letters/252.gif 0600 root bin 278 29122 1025499830
1 f none images/letters/252.iso-8859-9.gif 0600 root bin 278 29122 1025499831
1 f none images/letters/253.gif 0600 root bin 325 29870 1025499830
1 f none images/letters/253.iso-8859-9.gif 0600 root bin 911 16833 1025499831
1 f none images/letters/254.gif 0600 root bin 317 31056 1025499830
1 f none images/letters/255.gif 0600 root bin 347 33191 1025499830
1 f none images/letters/32.gif 0600 root bin 108 9700 1025499830
1 f none images/letters/33.gif 0600 root bin 173 16113 1025499830
1 f none images/letters/34.gif 0600 root bin 153 14939 1025499830
1 f none images/letters/35.gif 0600 root bin 298 28853 1025499830
1 f none images/letters/36.gif 0600 root bin 344 32294 1025499830
1 f none images/letters/37.gif 0600 root bin 426 44588 1025499830
1 f none images/letters/38.gif 0600 root bin 349 33837 1025499830
1 f none images/letters/39.gif 0600 root bin 101 8646 1025499830
1 f none images/letters/40.gif 0600 root bin 234 19983 1025499830
1 f none images/letters/41.gif 0600 root bin 234 20373 1025499830
1 f none images/letters/42.gif 0600 root bin 193 18340 1025499830
1 f none images/letters/43.gif 0600 root bin 162 17885 1025499830
1 f none images/letters/44.gif 0600 root bin 151 13555 1025499830
1 f none images/letters/45.gif 0600 root bin 111 11049 1025499830
1 f none images/letters/46.gif 0600 root bin 87 8790 1025499830
1 f none images/letters/47.gif 0600 root bin 205 17673 1025499830
1 f none images/letters/48.gif 0600 root bin 300 29187 1025499830
1 f none images/letters/49.gif 0600 root bin 197 18188 1025499830
1 f none images/letters/50.gif 0600 root bin 270 26110 1025499830
1 f none images/letters/51.gif 0600 root bin 289 26741 1025499830
1 f none images/letters/52.gif 0600 root bin 261 26144 1025499830
1 f none images/letters/53.gif 0600 root bin 279 25679 1025499830
1 f none images/letters/54.gif 0600 root bin 313 29226 1025499830
1 f none images/letters/55.gif 0600 root bin 235 22518 1025499830
1 f none images/letters/56.gif 0600 root bin 310 29997 1025499830
1 f none images/letters/57.gif 0600 root bin 312 28140 1025499830
1 f none images/letters/58.gif 0600 root bin 116 11058 1025499830
1 f none images/letters/59.gif 0600 root bin 165 14215 1025499830
1 f none images/letters/60.gif 0600 root bin 223 20534 1025499830
1 f none images/letters/61.gif 0600 root bin 119 12052 1025499830
1 f none images/letters/62.gif 0600 root bin 226 19918 1025499830
1 f none images/letters/63.gif 0600 root bin 254 24977 1025499830
1 f none images/letters/64.gif 0600 root bin 464 48124 1025499830
1 f none images/letters/65.gif 0600 root bin 314 29902 1025499830
1 f none images/letters/66.gif 0600 root bin 279 28462 1025499830
1 f none images/letters/67.gif 0600 root bin 316 28609 1025499830
1 f none images/letters/68.gif 0600 root bin 286 29933 1025499830
1 f none images/letters/69.gif 0600 root bin 192 21014 1025499830
1 f none images/letters/70.gif 0600 root bin 185 20369 1025499830
1 f none images/letters/71.gif 0600 root bin 353 32557 1025499830
1 f none images/letters/72.gif 0600 root bin 192 21724 1025499830
1 f none images/letters/73.gif 0600 root bin 104 9813 1025499830
1 f none images/letters/74.gif 0600 root bin 234 22179 1025499830
1 f none images/letters/75.gif 0600 root bin 290 30104 1025499830
1 f none images/letters/76.gif 0600 root bin 168 17611 1025499830
1 f none images/letters/77.gif 0600 root bin 365 39576 1025499830
1 f none images/letters/78.gif 0600 root bin 309 33259 1025499830
1 f none images/letters/79.gif 0600 root bin 340 31918 1025499830
1 f none images/letters/80.gif 0600 root bin 244 25229 1025499830
1 f none images/letters/81.gif 0600 root bin 373 34966 1025499830
1 f none images/letters/82.gif 0600 root bin 278 27814 1025499830
1 f none images/letters/83.gif 0600 root bin 330 31206 1025499830
1 f none images/letters/84.gif 0600 root bin 179 18720 1025499830
1 f none images/letters/85.gif 0600 root bin 293 29284 1025499830
1 f none images/letters/86.gif 0600 root bin 297 32396 1025499830
1 f none images/letters/87.gif 0600 root bin 437 44621 1025499830
1 f none images/letters/88.gif 0600 root bin 321 31944 1025499830
1 f none images/letters/89.gif 0600 root bin 276 28941 1025499830
1 f none images/letters/90.gif 0600 root bin 246 24715 1025499830
1 f none images/letters/91.gif 0600 root bin 168 17799 1025499830
1 f none images/letters/93.gif 0600 root bin 168 18235 1025499830
1 f none images/letters/94.gif 0600 root bin 218 21191 1025499830
1 f none images/letters/95.gif 0600 root bin 120 11560 1025499830
1 f none images/letters/96.gif 0600 root bin 113 11663 1025499830
1 f none images/letters/97.gif 0600 root bin 280 25111 1025499830
1 f none images/letters/98.gif 0600 root bin 285 27842 1025499830
1 f none images/letters/99.gif 0600 root bin 264 23531 1025499830
1 f none images/newlogo.gif 0600 root bin 6835 33785 1025499831
1 f none images/rc1.gif 0600 root bin 43 3192 1025499831
1 f none images/rc2.gif 0600 root bin 43 3244 1025499831
1 f none images/right.gif 0600 root bin 135 13410 1025499830
1 f none images/smalllogo.gif 0600 root bin 4795 22264 1025499831
1 f none images/text.gif 0600 root bin 229 21640 1025499831
1 f none images/unknown.gif 0600 root bin 132 12527 1025499831
1 f none images/usermin.gif 0600 root bin 1441 38979 1025499831
1 f none images/webmin-mini.xpm 0600 root bin 528 22656 1025499831
1 f none images/webmin.gif 0600 root bin 1890 31149 1025499831
1 f none images/webmin.xpm 0600 root bin 1355 52866 1025499831
1 f none index.cgi 0700 root bin 7338 49704 1025499831
1 d none inetd 0700 root bin
1 f none inetd/config-aix 0600 root bin 276 25261 1025499834
1 f none inetd/config-cobalt-linux 0600 root bin 305 28868 1025499835
1 f none inetd/config-corel-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-debian-linux 0600 root bin 305 28868 1025499835
1 f none inetd/config-freebsd 0600 root bin 226 21355 1025499834
1 f none inetd/config-freebsd-2.1 0600 root bin 226 21353 1025499835
1 f none inetd/config-freebsd-2.2 0600 root bin 226 21353 1025499835
1 f none inetd/config-generic-linux 0600 root bin 251 23720 1025499835
1 f none inetd/config-hpux 0600 root bin 216 20445 1025499834
1 f none inetd/config-lfs-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-macos 0600 root bin 443 41192 1025499834
1 f none inetd/config-mandrake-linux 0600 root bin 336 31647 1025499835
1 f none inetd/config-msc-linux 0600 root bin 331 31241 1025499835
1 f none inetd/config-netbsd 0600 root bin 226 21357 1025499835
1 f none inetd/config-open-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-open-linux-3.1e 0600 root bin 327 30873 1025499835
1 f none inetd/config-openbsd 0600 root bin 209 19758 1025499834
1 f none inetd/config-openserver 0600 root bin 297 27338 1025499835
1 f none inetd/config-osf1 0600 root bin 276 25260 1025499835
1 f none inetd/config-redhat-linux 0600 root bin 336 31647 1025499835
1 f none inetd/config-slackware-linux 0600 root bin 256 24127 1025499835
1 f none inetd/config-solaris 0600 root bin 327 30321 1025499834
1 f none inetd/config-solaris-8 0600 root bin 327 30322 1025499835
1 f none inetd/config-solaris-9 0600 root bin 327 30322 1025499835
1 f none inetd/config-suse-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-suse-linux-6.3 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-6.4 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.0 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.1 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.2 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.3 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-8.0 0600 root bin 305 28867 1025499835
1 f none inetd/config-turbo-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-unixware 0600 root bin 297 27338 1025499835
1 f none inetd/config.info 0600 root bin 679 62297 1025499835
1 f none inetd/config.info.ca 0600 root bin 755 4030 1025499835
1 f none inetd/config.info.de 0600 root bin 684 63577 1025499835
1 f none inetd/config.info.es 0600 root bin 817 10545 1025499834
1 f none inetd/config.info.fr 0600 root bin 601 55500 1025499835
1 f none inetd/config.info.hu 0600 root bin 709 3564 1025499835
1 f none inetd/config.info.pl 0600 root bin 757 6277 1025499835
1 f none inetd/config.info.ru_RU 0600 root bin 572 23906 1025499835
1 f none inetd/config.info.ru_SU 0600 root bin 572 16398 1025499834
1 f none inetd/config.info.sv 0600 root bin 729 5827 1025499835
1 f none inetd/config.info.tr 0600 root bin 653 64928 1025499835
1 f none inetd/config.info.zh_CN 0600 root bin 500 539 1025499834
1 f none inetd/config.info.zh_TW.Big5 0600 root bin 489 57125 1025499834
1 f none inetd/delete_rpc.cgi 0700 root bin 563 43496 1025499835
1 f none inetd/delete_serv.cgi 0700 root bin 605 47519 1025499834
1 f none inetd/edit_rpc.cgi 0700 root bin 5706 5100 1025499835
1 f none inetd/edit_serv.cgi 0700 root bin 6749 30739 1025499835
1 d none inetd/help 0700 root bin
1 f none inetd/help/help.ca.html 0600 root bin 5754 59757 1025499835
1 f none inetd/help/help.es.html 0600 root bin 6032 12891 1025499835
1 f none inetd/help/help.html 0600 root bin 5578 29438 1025499835
1 f none inetd/help/help.sv.html 0600 root bin 5363 43365 1025499835
1 f none inetd/help/help.zh_TW.Big5.html 0600 root bin 3865 37445 1025499835
1 d none inetd/images 0700 root bin
1 f none inetd/images/icon.gif 0600 root bin 274 34263 1025499834
1 f none inetd/index.cgi 0700 root bin 3339 60666 1025499835
1 f none inetd/inetd-lib.pl 0600 root bin 5825 4855 1025499834
1 d none inetd/lang 0700 root bin
1 f none inetd/lang/ca 0600 root bin 4262 6039 1025499835
1 f none inetd/lang/cz 0600 root bin 2823 8613 1025499835
1 f none inetd/lang/de 0600 root bin 4461 24330 1025499835
1 f none inetd/lang/en 0600 root bin 4042 47725 1025499834
1 f none inetd/lang/es 0600 root bin 4230 4576 1025499834
1 f none inetd/lang/fr 0600 root bin 4599 45045 1025499835
1 f none inetd/lang/hu 0600 root bin 4861 32840 1025499834
1 f none inetd/lang/it 0600 root bin 4383 16273 1025499835
1 f none inetd/lang/ja_JP.euc 0600 root bin 4280 9463 1025499835
1 f none inetd/lang/ko_KR.euc 0600 root bin 3992 5800 1025499835
1 f none inetd/lang/pl 0600 root bin 4267 25115 1025499834
1 f none inetd/lang/sv 0600 root bin 4203 12767 1025499834
1 f none inetd/lang/tr 0600 root bin 4238 35455 1025499834
1 f none inetd/lang/zh_CN 0600 root bin 3223 34316 1025499834
1 f none inetd/lang/zh_TW.Big5 0600 root bin 3237 52220 1025499835
1 f none inetd/log_parser.pl 0600 root bin 892 6295 1025499835
1 f none inetd/module.info 0600 root bin 1305 65469 1025499882
1 f none inetd/restart_inetd.cgi 0700 root bin 302 25221 1025499835
1 f none inetd/save_rpc.cgi 0700 root bin 3539 16895 1025499834
1 f none inetd/save_serv.cgi 0700 root bin 5066 8790 1025499835
1 d none init 0700 root bin
1 f none init/acl_security.pl 0600 root bin 1298 44191 1025499836
1 f none init/atboot.pl 0700 root bin 4612 40767 1025499836
1 f none init/change_rl.cgi 0700 root bin 477 39586 1025499836
1 f none init/config-aix 0600 root bin 211 19914 1025499836
1 f none init/config-cobalt-linux-2.2 0600 root bin 229 21360 1025499836
1 f none init/config-cobalt-linux-4.0 0600 root bin 229 21360 1025499836
1 f none init/config-cobalt-linux-5.0 0600 root bin 244 22577 1025499836
1 f none init/config-cobalt-linux-6.0 0600 root bin 244 22577 1025499836
1 f none init/config-corel-linux 0600 root bin 166 15519 1025499836
1 f none init/config-debian-linux 0600 root bin 166 15519 1025499836
1 f none init/config-freebsd 0600 root bin 106 10195 1025499836
1 f none init/config-generic-linux 0600 root bin 225 20856 1025499836
1 f none init/config-hpux 0600 root bin 255 23214 1025499835
1 f none init/config-irix 0600 root bin 183 16720 1025499836
1 f none init/config-macos 0600 root bin 243 23920 1025499836
1 f none init/config-mandrake-linux 0600 root bin 264 24402 1025499836
1 f none init/config-msc-linux 0600 root bin 259 23996 1025499836
1 f none init/config-netbsd 0600 root bin 86 8363 1025499836
1 f none init/config-open-linux 0600 root bin 230 21517 1025499836
1 f none init/config-openbsd 0600 root bin 86 8363 1025499836
1 f none init/config-openserver 0600 root bin 198 17692 1025499836
1 f none init/config-osf1 0600 root bin 249 22977 1025499836
1 f none init/config-redhat-linux 0600 root bin 264 24402 1025499836
1 f none init/config-slackware-linux 0600 root bin 91 8769 1025499836
1 f none init/config-solaris 0600 root bin 200 18151 1025499836
1 f none init/config-suse-linux 0600 root bin 174 16324 1025499836
1 f none init/config-suse-linux-7.1 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-7.2 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-7.3 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-8.0 0600 root bin 184 17180 1025499836
1 f none init/config-turbo-linux 0600 root bin 244 22577 1025499836
1 f none init/config-unixware 0600 root bin 183 16725 1025499836
1 f none init/config.info 0600 root bin 955 23666 1025499836
1 f none init/config.info.ca 0600 root bin 1096 37825 1025499836
1 f none init/config.info.de 0600 root bin 1070 32186 1025499836
1 f none init/config.info.es 0600 root bin 887 18402 1025499836
1 f none init/config.info.fr 0600 root bin 583 56613 1025499836
1 f none init/config.info.pl 0600 root bin 1064 38271 1025499836
1 f none init/config.info.ru_RU 0600 root bin 576 36899 1025499836
1 f none init/config.info.ru_SU 0600 root bin 576 26293 1025499835
1 f none init/config.info.sv 0600 root bin 713 4556 1025499836
1 f none init/config.info.tr 0600 root bin 684 7003 1025499836
1 f none init/config.info.zh_CN 0600 root bin 448 62581 1025499836
1 f none init/config.info.zh_TW.Big5 0600 root bin 496 63516 1025499836
1 f none init/defaultacl 0600 root bin 40 3538 1025499836
1 f none init/delboot.pl 0700 root bin 1473 54772 1025499836
1 f none init/delete_action.cgi 0700 root bin 832 2702 1025499836
1 f none init/edit_action.cgi 0700 root bin 7803 37988 1025499835
1 f none init/edit_hostconfig.cgi 0700 root bin 6242 2655 1025499836
1 f none init/fix_action.cgi 0700 root bin 630 49956 1025499836
1 d none init/help 0700 root bin
1 f none init/help/help.ca.html 0600 root bin 203 17106 1025499836
1 f none init/help/help.de.html 0600 root bin 221 18789 1025499836
1 f none init/help/help.es.html 0600 root bin 212 18186 1025499836
1 f none init/help/help.html 0600 root bin 199 16460 1025499836
1 f none init/help/help.sv.html 0600 root bin 204 17228 1025499836
1 f none init/help/proc.ca.html 0600 root bin 76 6772 1025499836
1 f none init/help/proc.de.html 0600 root bin 89 7958 1025499836
1 f none init/help/proc.es.html 0600 root bin 78 7093 1025499836
1 f none init/help/proc.html 0600 root bin 70 6010 1025499836
1 f none init/help/proc.sv.html 0600 root bin 76 6749 1025499836
1 f none init/hostconfig-lib.pl 0700 root bin 8807 61701 1025499836
1 d none init/images 0700 root bin
1 f none init/images/icon.gif 0600 root bin 389 44270 1025499836
1 f none init/index.cgi 0700 root bin 6702 56018 1025499836
1 f none init/init-lib.pl 0700 root bin 7811 17300 1025499836
1 d none init/lang 0700 root bin
1 f none init/lang/ca 0600 root bin 6006 45417 1025499836
1 f none init/lang/de 0600 root bin 7202 14273 1025499836
1 f none init/lang/en 0600 root bin 5630 7219 1025499836
1 f none init/lang/es 0600 root bin 3389 63526 1025499836
1 f none init/lang/fr 0600 root bin 3555 28869 1025499836
1 f none init/lang/it 0600 root bin 2370 27399 1025499836
1 f none init/lang/ja_JP.euc 0600 root bin 3341 54832 1025499836
1 f none init/lang/ko_KR.euc 0600 root bin 2811 13181 1025499836
1 f none init/lang/pl 0600 root bin 4548 61550 1025499836
1 f none init/lang/pt 0600 root bin 2598 56748 1025499836
1 f none init/lang/ru_RU 0600 root bin 2668 18571 1025499836
1 f none init/lang/ru_SU 0600 root bin 2674 36713 1025499836
1 f none init/lang/sv 0600 root bin 3252 58530 1025499836
1 f none init/lang/tr 0600 root bin 3028 64299 1025499836
1 f none init/lang/zh_CN 0600 root bin 1942 27946 1025499836
1 f none init/lang/zh_TW.Big5 0600 root bin 1882 54194 1025499836
1 f none init/log_parser.pl 0600 root bin 1160 29565 1025499836
1 f none init/low.risk 0600 root bin 20 1755 1025499836
1 f none init/mass_start_stop.cgi 0700 root bin 1079 21806 1025499836
1 f none init/medium.risk 0600 root bin 20 1757 1025499836
1 f none init/modifyhostconfig.cgi 0700 root bin 1089 23101 1025499836
1 f none init/module.info 0600 root bin 788 19428 1025499882
1 f none init/reboot.cgi 0700 root bin 760 64691 1025499836
1 f none init/save_action.cgi 0700 root bin 7068 8881 1025499836
1 f none init/save_bootup.cgi 0700 root bin 1463 42453 1025499836
1 f none init/save_hostconfig_action.cgi 0700 root bin 4677 814 1025499836
1 f none init/save_local.cgi 0700 root bin 459 39155 1025499836
1 f none init/save_startscript.cgi 0700 root bin 1942 34932 1025499836
1 f none init/shutdown.cgi 0700 root bin 795 2371 1025499836
1 f none init/start_stop.cgi 0700 root bin 1155 28748 1025499836
1 f none init/uninstall.pl 0600 root bin 1518 59031 1025499836
1 d none inittab 0700 root bin
1 f none inittab/apply.cgi 0700 root bin 168 13996 1025499868
1 f none inittab/config 0600 root bin 26 2486 1025499868
1 f none inittab/config.info 0600 root bin 36 3304 1025499868
1 f none inittab/config.info.ca 0600 root bin 39 3741 1025499868
1 f none inittab/config.info.de 0600 root bin 35 3381 1025499868
1 f none inittab/config.info.es 0600 root bin 45 4268 1025499868
1 f none inittab/config.info.fr 0600 root bin 41 3807 1025499868
1 f none inittab/config.info.pl 0600 root bin 40 3890 1025499868
1 f none inittab/config.info.ru_RU 0600 root bin 36 4621 1025499868
1 f none inittab/config.info.ru_SU 0600 root bin 36 4358 1025499868
1 f none inittab/config.info.sv 0600 root bin 39 3914 1025499868
1 f none inittab/config.info.tr 0600 root bin 36 3601 1025499868
1 f none inittab/config.info.zh_CN 0600 root bin 34 4170 1025499868
1 f none inittab/config.info.zh_TW.Big5 0600 root bin 41 5269 1025499868
1 f none inittab/defaultacl 0600 root bin 10 867 1025499868
1 f none inittab/edit_inittab.cgi 0700 root bin 2826 18046 1025499868
1 d none inittab/help 0700 root bin
1 f none inittab/help/action.ca.html 0600 root bin 2825 60595 1025499868
1 f none inittab/help/action.es.html 0600 root bin 3232 33188 1025499868
1 f none inittab/help/action.fr.html 0600 root bin 2850 4415 1025499868
1 f none inittab/help/action.html 0600 root bin 2810 54908 1025499868
1 f none inittab/help/action.pl.html 0600 root bin 3108 31934 1025499868
1 f none inittab/help/action.ru_RU.html 0600 root bin 3045 21798 1025499868
1 f none inittab/help/action.ru_SU.html 0600 root bin 3045 27213 1025499868
1 f none inittab/help/action.sv.html 0600 root bin 2627 56712 1025499868
1 f none inittab/help/id.ca.html 0600 root bin 506 45582 1025499868
1 f none inittab/help/id.es.html 0600 root bin 493 44972 1025499868
1 f none inittab/help/id.fr.html 0600 root bin 532 49756 1025499868
1 f none inittab/help/id.html 0600 root bin 432 38739 1025499868
1 f none inittab/help/id.pl.html 0600 root bin 524 50334 1025499868
1 f none inittab/help/id.ru_RU.html 0600 root bin 455 15311 1025499868
1 f none inittab/help/id.ru_SU.html 0600 root bin 455 6185 1025499868
1 f none inittab/help/id.sv.html 0600 root bin 410 39268 1025499868
1 f none inittab/help/index.ca.html 0600 root bin 270 23724 1025499868
1 f none inittab/help/index.es.html 0600 root bin 274 24817 1025499868
1 f none inittab/help/index.fr.html 0600 root bin 267 25074 1025499868
1 f none inittab/help/index.html 0600 root bin 238 21270 1025499868
1 f none inittab/help/index.pl.html 0600 root bin 270 24728 1025499868
1 f none inittab/help/index.ru_RU.html 0600 root bin 249 38280 1025499868
1 f none inittab/help/index.ru_SU.html 0600 root bin 249 34593 1025499868
1 f none inittab/help/index.sv.html 0600 root bin 245 22326 1025499868
1 f none inittab/help/process.ca.html 0600 root bin 423 39177 1025499868
1 f none inittab/help/process.es.html 0600 root bin 451 41131 1025499868
1 f none inittab/help/process.fr.html 0600 root bin 289 26878 1025499868
1 f none inittab/help/process.html 0600 root bin 409 36656 1025499868
1 f none inittab/help/process.pl.html 0600 root bin 399 37486 1025499868
1 f none inittab/help/process.ru_RU.html 0600 root bin 182 29647 1025499868
1 f none inittab/help/process.ru_SU.html 0600 root bin 182 26542 1025499868
1 f none inittab/help/process.sv.html 0600 root bin 356 33638 1025499868
1 f none inittab/help/runlevels.ca.html 0600 root bin 422 38078 1025499868
1 f none inittab/help/runlevels.es.html 0600 root bin 458 41834 1025499868
1 f none inittab/help/runlevels.fr.html 0600 root bin 441 41184 1025499868
1 f none inittab/help/runlevels.html 0600 root bin 378 33672 1025499868
1 f none inittab/help/runlevels.pl.html 0600 root bin 469 44626 1025499868
1 f none inittab/help/runlevels.ru_RU.html 0600 root bin 400 5252 1025499868
1 f none inittab/help/runlevels.ru_SU.html 0600 root bin 400 62915 1025499868
1 f none inittab/help/runlevels.sv.html 0600 root bin 373 36442 1025499868
1 d none inittab/images 0700 root bin
1 f none inittab/images/icon.gif 0600 root bin 296 35073 1025499868
1 f none inittab/index.cgi 0700 root bin 2266 43888 1025499868
1 f none inittab/inittab-lib.pl 0700 root bin 1426 37263 1025499868
1 d none inittab/lang 0700 root bin
1 f none inittab/lang/ca 0600 root bin 1693 32684 1025499868
1 f none inittab/lang/de 0600 root bin 1344 65204 1025499868
1 f none inittab/lang/en 0600 root bin 1566 18892 1025499868
1 f none inittab/lang/es 0600 root bin 1463 9698 1025499868
1 f none inittab/lang/fr 0600 root bin 1620 30138 1025499868
1 f none inittab/lang/ja_JP.euc 0600 root bin 1268 39414 1025499868
1 f none inittab/lang/ko_KR.euc 0600 root bin 1235 29351 1025499868
1 f none inittab/lang/pl 0600 root bin 1376 4972 1025499868
1 f none inittab/lang/ru_RU 0600 root bin 1268 3681 1025499868
1 f none inittab/lang/ru_SU 0600 root bin 1271 53076 1025499868
1 f none inittab/lang/sv 0600 root bin 1347 2279 1025499868
1 f none inittab/lang/tr 0600 root bin 1464 26878 1025499868
1 f none inittab/lang/zh_CN 0600 root bin 1054 9905 1025499868
1 f none inittab/lang/zh_TW.Big5 0600 root bin 998 55480 1025499868
1 f none inittab/log_parser.pl 0600 root bin 713 59265 1025499868
1 f none inittab/module.info 0600 root bin 783 19312 1025499882
1 f none inittab/new_inittab.cgi 0700 root bin 2056 28924 1025499868
1 f none inittab/save_inittab.cgi 0700 root bin 1664 56385 1025499868
1 f none install-module.pl 0700 root bin 2800 20833 1025499832
1 f none install-type 0600 root bin 12 1142 1025505203
1 d none jabber 0700 root bin
1 f none jabber/config 0600 root bin 152 14352 1025499880
1 f none jabber/config-cobalt-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-debian-linux 0600 root bin 166 15551 1025499880
1 f none jabber/config-mandrake-linux 0600 root bin 203 18912 1025499880
1 f none jabber/config-msc-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-redhat-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-suse-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-turbo-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config.info 0600 root bin 283 26306 1025499880
1 f none jabber/config.info.ca 0600 root bin 314 29007 1025499880
1 f none jabber/edit_admin.cgi 0700 root bin 1713 11411 1025499880
1 f none jabber/edit_file.cgi 0700 root bin 709 60129 1025499880
1 f none jabber/edit_filter.cgi 0700 root bin 1413 49324 1025499880
1 f none jabber/edit_general.cgi 0700 root bin 1752 14925 1025499880
1 f none jabber/edit_ips.cgi 0700 root bin 1638 2215 1025499880
1 f none jabber/edit_karma.cgi 0700 root bin 2876 34879 1025499880
1 f none jabber/edit_messages.cgi 0700 root bin 2532 14304 1025499880
1 f none jabber/edit_modules.cgi 0700 root bin 1399 44951 1025499880
1 d none jabber/help 0700 root bin
1 f none jabber/help/admin.ca.html 0600 root bin 412 39000 1025499880
1 f none jabber/help/admin.html 0600 root bin 391 35853 1025499880
1 f none jabber/help/file.ca.html 0600 root bin 298 28162 1025499880
1 f none jabber/help/file.html 0600 root bin 240 21216 1025499880
1 f none jabber/help/filter.ca.html 0600 root bin 637 57599 1025499880
1 f none jabber/help/filter.html 0600 root bin 580 50724 1025499880
1 f none jabber/help/general.ca.html 0600 root bin 975 21246 1025499880
1 f none jabber/help/general.html 0600 root bin 824 6091 1025499880
1 f none jabber/help/intro.ca.html 0600 root bin 369 34939 1025499880
1 f none jabber/help/intro.html 0600 root bin 309 28086 1025499879
1 f none jabber/help/ips.ca.html 0600 root bin 622 56209 1025499880
1 f none jabber/help/ips.html 0600 root bin 573 49994 1025499880
1 f none jabber/help/karma.ca.html 0600 root bin 773 5301 1025499880
1 f none jabber/help/karma.html 0600 root bin 733 64229 1025499880
1 f none jabber/help/messages.ca.html 0600 root bin 717 64568 1025499880
1 f none jabber/help/messages.html 0600 root bin 705 61693 1025499880
1 f none jabber/help/modules.ca.html 0600 root bin 377 35257 1025499880
1 f none jabber/help/modules.html 0600 root bin 345 31178 1025499880
1 d none jabber/images 0700 root bin
1 f none jabber/images/admin.gif 0600 root bin 200 23141 1025499880
1 f none jabber/images/file.gif 0600 root bin 305 37957 1025499880
1 f none jabber/images/filter.gif 0600 root bin 957 2730 1025499880
1 f none jabber/images/general.gif 0600 root bin 792 48919 1025499880
1 f none jabber/images/icon.gif 0600 root bin 792 48919 1025499880
1 f none jabber/images/ips.gif 0600 root bin 275 34570 1025499880
1 f none jabber/images/karma.gif 0600 root bin 1961 21105 1025499880
1 f none jabber/images/messages.gif 0600 root bin 314 42505 1025499880
1 f none jabber/images/misc.gif 0600 root bin 460 53918 1025499880
1 f none jabber/images/modules.gif 0600 root bin 281 32091 1025499880
1 f none jabber/index.cgi 0700 root bin 4022 63959 1025499880
1 f none jabber/jabber-lib.pl 0600 root bin 4136 53700 1025499880
1 d none jabber/lang 0700 root bin
1 f none jabber/lang/ca 0600 root bin 6345 21432 1025499879
1 f none jabber/lang/en 0600 root bin 5414 50714 1025499879
1 f none jabber/module.info 0600 root bin 106 9280 1025499882
1 f none jabber/restart.cgi 0700 root bin 540 43246 1025499880
1 f none jabber/save_admin.cgi 0700 root bin 1189 27470 1025499880
1 f none jabber/save_file.cgi 0700 root bin 609 48923 1025499880
1 f none jabber/save_filter.cgi 0700 root bin 926 8081 1025499880
1 f none jabber/save_general.cgi 0700 root bin 1803 15291 1025499880
1 f none jabber/save_ips.cgi 0700 root bin 985 9800 1025499880
1 f none jabber/save_karma.cgi 0700 root bin 1298 36249 1025499880
1 f none jabber/save_messages.cgi 0700 root bin 1322 40518 1025499880
1 f none jabber/save_modules.cgi 0700 root bin 754 60300 1025499880
1 f none jabber/start.cgi 0700 root bin 192 16080 1025499880
1 f none jabber/stop.cgi 0700 root bin 446 35054 1025499880
1 f none javascript-lib.pl 0600 root bin 15042 19697 1025499832
1 d none kdestyle 0700 root bin
1 d none kdestyle/acl 0700 root bin
1 d none kdestyle/acl/images 0700 root bin
1 f none kdestyle/acl/images/icon.gif 0600 root bin 2274 32699 1025499876
1 d none kdestyle/apache 0700 root bin
1 d none kdestyle/apache/images 0700 root bin
1 f none kdestyle/apache/images/icon.gif 0600 root bin 576 2286 1025499876
1 d none kdestyle/bind8 0700 root bin
1 d none kdestyle/bind8/images 0700 root bin
1 f none kdestyle/bind8/images/icon.gif 0600 root bin 2250 18454 1025499876
1 d none kdestyle/bsdexports 0700 root bin
1 d none kdestyle/bsdexports/images 0700 root bin
1 f none kdestyle/bsdexports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/cdbackup 0700 root bin
1 d none kdestyle/cdbackup/images 0700 root bin
1 f none kdestyle/cdbackup/images/icon.gif 0600 root bin 2313 29117 1025499876
1 d none kdestyle/cpan 0700 root bin
1 d none kdestyle/cpan/images 0700 root bin
1 f none kdestyle/cpan/images/icon.gif 0600 root bin 737 8350 1025499876
1 d none kdestyle/cron 0700 root bin
1 d none kdestyle/cron/images 0700 root bin
1 f none kdestyle/cron/images/icon.gif 0600 root bin 2022 47703 1025499876
1 d none kdestyle/custom 0700 root bin
1 d none kdestyle/custom/images 0700 root bin
1 f none kdestyle/custom/images/icon.gif 0600 root bin 361 42791 1025499876
1 d none kdestyle/dfsadmin 0700 root bin
1 d none kdestyle/dfsadmin/images 0700 root bin
1 f none kdestyle/dfsadmin/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/dhcpd 0700 root bin
1 d none kdestyle/dhcpd/images 0700 root bin
1 f none kdestyle/dhcpd/images/icon.gif 0600 root bin 1492 13470 1025499876
1 d none kdestyle/dnsadmin 0700 root bin
1 d none kdestyle/dnsadmin/images 0700 root bin
1 f none kdestyle/dnsadmin/images/icon.gif 0600 root bin 2248 12814 1025499876
1 d none kdestyle/exports 0700 root bin
1 d none kdestyle/exports/images 0700 root bin
1 f none kdestyle/exports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/fdisk 0700 root bin
1 d none kdestyle/fdisk/images 0700 root bin
1 f none kdestyle/fdisk/images/icon.gif 0600 root bin 1891 28598 1025499876
1 d none kdestyle/file 0700 root bin
1 d none kdestyle/file/images 0700 root bin
1 f none kdestyle/file/images/icon.gif 0600 root bin 1259 10524 1025499876
1 d none kdestyle/format 0700 root bin
1 d none kdestyle/format/images 0700 root bin
1 f none kdestyle/format/images/icon.gif 0600 root bin 1891 28598 1025499876
1 d none kdestyle/hpuxexports 0700 root bin
1 d none kdestyle/hpuxexports/images 0700 root bin
1 f none kdestyle/hpuxexports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/inetd 0700 root bin
1 d none kdestyle/inetd/images 0700 root bin
1 f none kdestyle/inetd/images/icon.gif 0600 root bin 1341 11729 1025499876
1 d none kdestyle/init 0700 root bin
1 d none kdestyle/init/images 0700 root bin
1 f none kdestyle/init/images/icon.gif 0600 root bin 1492 43250 1025499876
1 d none kdestyle/initnetwork 0700 root bin
1 d none kdestyle/initnetwork/images 0700 root bin
1 f none kdestyle/initnetwork/images/icon.gif 0600 root bin 472 56702 1025499876
1 d none kdestyle/inittab 0700 root bin
1 d none kdestyle/inittab/images 0700 root bin
1 f none kdestyle/inittab/images/icon.gif 0600 root bin 1955 40904 1025499877
1 d none kdestyle/ipchains 0700 root bin
1 d none kdestyle/ipchains/images 0700 root bin
1 f none kdestyle/ipchains/images/icon.gif 0600 root bin 2485 25444 1025499877
1 d none kdestyle/lilo 0700 root bin
1 d none kdestyle/lilo/images 0700 root bin
1 f none kdestyle/lilo/images/icon.gif 0600 root bin 1798 6052 1025499877
1 d none kdestyle/lpadmin 0700 root bin
1 d none kdestyle/lpadmin/images 0700 root bin
1 f none kdestyle/lpadmin/images/icon.gif 0600 root bin 1828 60725 1025499877
1 d none kdestyle/majordomo 0700 root bin
1 d none kdestyle/majordomo/images 0700 root bin
1 f none kdestyle/majordomo/images/icon.gif 0600 root bin 2247 33675 1025499877
1 d none kdestyle/man 0700 root bin
1 d none kdestyle/man/images 0700 root bin
1 f none kdestyle/man/images/icon.gif 0600 root bin 1335 193 1025499877
1 d none kdestyle/mount 0700 root bin
1 d none kdestyle/mount/images 0700 root bin
1 f none kdestyle/mount/images/icon.gif 0600 root bin 1767 14942 1025499877
1 d none kdestyle/mysql 0700 root bin
1 d none kdestyle/mysql/images 0700 root bin
1 f none kdestyle/mysql/images/icon.gif 0600 root bin 767 18018 1025499877
1 d none kdestyle/net 0700 root bin
1 d none kdestyle/net/images 0700 root bin
1 f none kdestyle/net/images/icon.gif 0600 root bin 2442 34322 1025499877
1 d none kdestyle/pam 0700 root bin
1 d none kdestyle/pam/images 0700 root bin
1 f none kdestyle/pam/images/icon.gif 0600 root bin 1671 52858 1025499877
1 d none kdestyle/pap 0700 root bin
1 d none kdestyle/pap/images 0700 root bin
1 f none kdestyle/pap/images/icon.gif 0600 root bin 1778 2979 1025499877
1 d none kdestyle/postfix 0700 root bin
1 d none kdestyle/postfix/images 0700 root bin
1 f none kdestyle/postfix/images/icon.gif 0600 root bin 1729 59226 1025499877
1 d none kdestyle/postgresql 0700 root bin
1 d none kdestyle/postgresql/images 0700 root bin
1 f none kdestyle/postgresql/images/icon.gif 0600 root bin 2326 14400 1025499877
1 d none kdestyle/proc 0700 root bin
1 d none kdestyle/proc/images 0700 root bin
1 f none kdestyle/proc/images/icon.gif 0600 root bin 2230 46896 1025499877
1 d none kdestyle/quota 0700 root bin
1 d none kdestyle/quota/images 0700 root bin
1 f none kdestyle/quota/images/icon.gif 0600 root bin 2020 46607 1025499877
1 d none kdestyle/raid 0700 root bin
1 d none kdestyle/raid/images 0700 root bin
1 f none kdestyle/raid/images/icon.gif 0600 root bin 1861 34775 1025499877
1 d none kdestyle/samba 0700 root bin
1 d none kdestyle/samba/images 0700 root bin
1 f none kdestyle/samba/images/icon.gif 0600 root bin 1089 52489 1025499877
1 d none kdestyle/sendmail 0700 root bin
1 d none kdestyle/sendmail/images 0700 root bin
1 f none kdestyle/sendmail/images/icon.gif 0600 root bin 2006 17609 1025499877
1 d none kdestyle/servers 0700 root bin
1 d none kdestyle/servers/images 0700 root bin
1 f none kdestyle/servers/images/icon.gif 0600 root bin 1526 31216 1025499877
1 d none kdestyle/software 0700 root bin
1 d none kdestyle/software/images 0700 root bin
1 f none kdestyle/software/images/icon.gif 0600 root bin 1444 35536 1025499877
1 d none kdestyle/squid 0700 root bin
1 d none kdestyle/squid/images 0700 root bin
1 f none kdestyle/squid/images/icon.gif 0600 root bin 1107 21547 1025499877
1 d none kdestyle/ssh 0700 root bin
1 d none kdestyle/ssh/images 0700 root bin
1 f none kdestyle/ssh/images/icon.gif 0600 root bin 1877 60023 1025499877
1 d none kdestyle/status 0700 root bin
1 d none kdestyle/status/images 0700 root bin
1 f none kdestyle/status/images/icon.gif 0600 root bin 1709 34002 1025499877
1 d none kdestyle/syslog 0700 root bin
1 d none kdestyle/syslog/images 0700 root bin
1 f none kdestyle/syslog/images/icon.gif 0600 root bin 2121 33917 1025499877
1 d none kdestyle/telnet 0700 root bin
1 d none kdestyle/telnet/images 0700 root bin
1 f none kdestyle/telnet/images/icon.gif 0600 root bin 2187 24082 1025499877
1 f none kdestyle/theme.info 0600 root bin 54 4427 1025499882
1 d none kdestyle/time 0700 root bin
1 d none kdestyle/time/images 0700 root bin
1 f none kdestyle/time/images/icon.gif 0600 root bin 1647 2402 1025499877
1 d none kdestyle/useradmin 0700 root bin
1 d none kdestyle/useradmin/images 0700 root bin
1 f none kdestyle/useradmin/images/icon.gif 0600 root bin 1951 48287 1025499877
1 d none kdestyle/webmin 0700 root bin
1 d none kdestyle/webmin/images 0700 root bin
1 f none kdestyle/webmin/images/icon.gif 0600 root bin 2303 63158 1025499877
1 d none kdestyle/webminlog 0700 root bin
1 d none kdestyle/webminlog/images 0700 root bin
1 f none kdestyle/webminlog/images/icon.gif 0600 root bin 2121 33917 1025499877
1 d none kdestyle/wuftpd 0700 root bin
1 d none kdestyle/wuftpd/images 0700 root bin
1 f none kdestyle/wuftpd/images/icon.gif 0600 root bin 1611 7782 1025499877
1 d none kdestyle/xinetd 0700 root bin
1 d none kdestyle/xinetd/images 0700 root bin
1 f none kdestyle/xinetd/images/icon.gif 0600 root bin 1341 11729 1025499877
1 d none lang 0700 root bin
1 f none lang/ca 0600 root bin 6863 58600 1025499831
1 f none lang/cz 0600 root bin 1536 20472 1025499831
1 f none lang/de 0600 root bin 7916 5631 1025499831
1 f none lang/en 0600 root bin 6619 24263 1025499831
1 f none lang/es 0600 root bin 4263 7871 1025499831
1 f none lang/fr 0600 root bin 4304 17893 1025499831
1 f none lang/he 0600 root bin 2119 64373 1025499831
1 f none lang/hu 0600 root bin 3276 3190 1025499831
1 f none lang/it 0600 root bin 1925 47244 1025499831
1 f none lang/ja_JP.euc 0600 root bin 3913 12629 1025499831
1 f none lang/ko_KR.euc 0600 root bin 3539 7724 1025499831
1 f none lang/nl 0600 root bin 4117 57502 1025499831
1 f none lang/no 0600 root bin 2006 51173 1025499831
1 f none lang/pl 0600 root bin 4140 12709 1025499831
1 f none lang/pt 0600 root bin 1760 35123 1025499831
1 f none lang/pt_BR 0600 root bin 1725 32424 1025499831
1 f none lang/ru_RU 0600 root bin 3923 26231 1025499831
1 f none lang/ru_SU 0600 root bin 3941 44330 1025499831
1 f none lang/si 0600 root bin 1040 10143 1025499831
1 f none lang/sv 0600 root bin 2422 34359 1025499831
1 f none lang/th 0600 root bin 3815 27441 1025499831
1 f none lang/tr 0600 root bin 2798 18961 1025499831
1 f none lang/zh_CN 0600 root bin 2869 45445 1025499831
1 f none lang/zh_TW.Big5 0600 root bin 4993 20145 1025499831
1 f none lang_list.txt 0600 root bin 879 11581 1025499831
1 d none lilo 0700 root bin
1 f none lilo/apply.cgi 0700 root bin 467 38374 1025499864
1 f none lilo/config 0600 root bin 45 4190 1025499864
1 f none lilo/config-lfs-linux 0600 root bin 45 4190 1025499864
1 f none lilo/config.info 0600 root bin 84 7524 1025499864
1 f none lilo/config.info.ca 0600 root bin 101 9318 1025499864
1 f none lilo/config.info.de 0600 root bin 97 9057 1025499864
1 f none lilo/config.info.es 0600 root bin 110 10331 1025499864
1 f none lilo/config.info.fr 0600 root bin 114 10283 1025499864
1 f none lilo/config.info.hu 0600 root bin 114 12602 1025499864
1 f none lilo/config.info.ja_JP.euc 0600 root bin 57 7376 1025499864
1 f none lilo/config.info.pl 0600 root bin 100 9444 1025499864
1 f none lilo/config.info.ru_RU 0600 root bin 89 15052 1025499864
1 f none lilo/config.info.ru_SU 0600 root bin 89 13444 1025499864
1 f none lilo/config.info.sv 0600 root bin 105 10221 1025499864
1 f none lilo/config.info.tr 0600 root bin 92 9698 1025499864
1 f none lilo/config.info.zh_CN 0600 root bin 68 9291 1025499864
1 f none lilo/config.info.zh_TW.Big5 0600 root bin 65 7654 1025499864
1 f none lilo/edit_global.cgi 0700 root bin 4603 52625 1025499864
1 f none lilo/edit_image.cgi 0700 root bin 5379 53253 1025499864
1 f none lilo/edit_other.cgi 0700 root bin 2142 47929 1025499864
1 d none lilo/images 0700 root bin
1 f none lilo/images/icon.gif 0600 root bin 1855 57767 1025499864
1 f none lilo/images/image.gif 0600 root bin 1614 26487 1025499864
1 f none lilo/images/other.gif 0600 root bin 2083 47306 1025499864
1 f none lilo/index.cgi 0700 root bin 2783 26947 1025499864
1 d none lilo/lang 0700 root bin
1 f none lilo/lang/ca 0600 root bin 3562 9671 1025499864
1 f none lilo/lang/cz 0600 root bin 2697 63476 1025499864
1 f none lilo/lang/de 0600 root bin 2850 10099 1025499864
1 f none lilo/lang/en 0600 root bin 3374 56585 1025499864
1 f none lilo/lang/es 0600 root bin 3866 41034 1025499864
1 f none lilo/lang/fr 0600 root bin 3823 46471 1025499864
1 f none lilo/lang/hu 0600 root bin 2839 38926 1025499864
1 f none lilo/lang/ja_JP.euc 0600 root bin 3648 7052 1025499864
1 f none lilo/lang/ko_KR.euc 0600 root bin 3000 16195 1025499864
1 f none lilo/lang/pl 0600 root bin 3591 27174 1025499864
1 f none lilo/lang/pt 0600 root bin 2764 9093 1025499864
1 f none lilo/lang/ru_RU 0600 root bin 2743 7720 1025499864
1 f none lilo/lang/ru_SU 0600 root bin 2747 31838 1025499864
1 f none lilo/lang/sv 0600 root bin 3314 2989 1025499864
1 f none lilo/lang/tr 0600 root bin 3625 8257 1025499864
1 f none lilo/lang/zh_CN 0600 root bin 2457 17305 1025499864
1 f none lilo/lang/zh_TW.Big5 0600 root bin 2118 16237 1025499864
1 f none lilo/lilo-lib.pl 0600 root bin 4869 46996 1025499864
1 f none lilo/log_parser.pl 0600 root bin 852 5562 1025499864
1 f none lilo/module.info 0600 root bin 893 26128 1025499882
1 f none lilo/save_global.cgi 0700 root bin 1465 51785 1025499864
1 f none lilo/save_image.cgi 0700 root bin 2680 23489 1025499864
1 f none lilo/save_other.cgi 0700 root bin 1334 44924 1025499864
1 d none lpadmin 0700 root bin
1 f none lpadmin/acl_security.pl 0600 root bin 3826 48540 1025499858
1 f none lpadmin/ascii.txt 0600 root bin 4291 41053 1025499858
1 f none lpadmin/base_coas_driver 0700 root bin 560 39252 1025499858
1 f none lpadmin/bw.fig 0600 root bin 2811 5685 1025499858
1 f none lpadmin/bw.ps 0600 root bin 6615 11601 1025499858
1 f none lpadmin/caldera-driver.pl 0600 root bin 12471 56211 1025499858
1 f none lpadmin/cancel_all.cgi 0700 root bin 448 37073 1025499858
1 f none lpadmin/cancel_job.cgi 0700 root bin 590 47930 1025499858
1 f none lpadmin/catalog.devices 0400 root bin 12641 50532 1025499858
1 f none lpadmin/colour.fig 0600 root bin 2984 13358 1025499858
1 f none lpadmin/colour.ps 0600 root bin 6792 22515 1025499858
1 f none lpadmin/config-corel-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-debian-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-freebsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-generic-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-gentoo-linux 0600 root bin 221 21113 1025499858
1 f none lpadmin/config-hpux 0600 root bin 296 28415 1025499858
1 f none lpadmin/config-irix 0600 root bin 184 17667 1025499858
1 f none lpadmin/config-macos 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-mandrake-linux 0600 root bin 218 20863 1025499858
1 f none lpadmin/config-mandrake-linux-8.0 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-mandrake-linux-8.1 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-mandrake-linux-8.2 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-msc-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-netbsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-open-linux 0600 root bin 282 27124 1025499858
1 f none lpadmin/config-open-linux-3.1e 0600 root bin 212 20393 1025499858
1 f none lpadmin/config-openbsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-redhat-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-redhat-linux-7.0 0600 root bin 225 21536 1025499858
1 f none lpadmin/config-redhat-linux-7.1 0600 root bin 228 21883 1025499858
1 f none lpadmin/config-redhat-linux-7.2 0600 root bin 336 31706 1025499858
1 f none lpadmin/config-redhat-linux-7.3 0600 root bin 336 31706 1025499858
1 f none lpadmin/config-slackware-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-solaris 0600 root bin 322 30299 1025499858
1 f none lpadmin/config-suse-linux 0600 root bin 199 19060 1025499858
1 f none lpadmin/config-turbo-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-unixware 0600 root bin 275 25405 1025499858
1 f none lpadmin/config.info 0600 root bin 996 28011 1025499858
1 f none lpadmin/config.info.ca 0600 root bin 1020 30689 1025499858
1 f none lpadmin/config.info.de 0600 root bin 941 23523 1025499858
1 f none lpadmin/config.info.es 0600 root bin 894 18853 1025499858
1 f none lpadmin/config.info.fr 0600 root bin 557 52725 1025499858
1 f none lpadmin/config.info.hu 0600 root bin 685 1165 1025499858
1 f none lpadmin/config.info.ja_JP.euc 0600 root bin 673 24286 1025499858
1 f none lpadmin/config.info.nl 0600 root bin 907 19955 1025499858
1 f none lpadmin/config.info.pl 0600 root bin 951 27752 1025499858
1 f none lpadmin/config.info.ru_RU 0600 root bin 494 1498 1025499858
1 f none lpadmin/config.info.ru_SU 0600 root bin 494 62916 1025499858
1 f none lpadmin/config.info.sv 0600 root bin 640 62231 1025499858
1 f none lpadmin/config.info.tr 0600 root bin 541 55908 1025499858
1 f none lpadmin/config.info.zh_CN 0600 root bin 496 62518 1025499858
1 f none lpadmin/config.info.zh_TW.Big5 0600 root bin 480 54539 1025499858
1 f none lpadmin/cups-driver.pl 0600 root bin 6273 21584 1025499858
1 f none lpadmin/cups-lib.pl 0600 root bin 6632 63659 1025499858
1 f none lpadmin/defaultacl 0600 root bin 54 4416 1025499858
1 f none lpadmin/delete_printer.cgi 0700 root bin 799 1229 1025499858
1 f none lpadmin/drivers 0600 root bin 18779 62412 1025499858
1 f none lpadmin/edit_printer.cgi 0700 root bin 10372 56705 1025499858
1 f none lpadmin/freebsd-lib.pl 0600 root bin 6736 12754 1025499858
1 f none lpadmin/hpux-driver.pl 0600 root bin 3149 57507 1025499858
1 f none lpadmin/hpux-lib.pl 0600 root bin 9300 21643 1025499858
1 d none lpadmin/images 0700 root bin
1 f none lpadmin/images/icon.gif 0600 root bin 330 38844 1025499858
1 f none lpadmin/index.cgi 0700 root bin 4120 57607 1025499858
1 f none lpadmin/irix-driver.pl 0600 root bin 3149 57498 1025499858
1 f none lpadmin/irix-lib.pl 0600 root bin 10176 30553 1025499858
1 d none lpadmin/lang 0700 root bin
1 f none lpadmin/lang/ca 0600 root bin 8675 45736 1025499858
1 f none lpadmin/lang/de 0600 root bin 9131 9423 1025499858
1 f none lpadmin/lang/en 0600 root bin 7596 58568 1025499858
1 f none lpadmin/lang/es 0600 root bin 8788 54993 1025499858
1 f none lpadmin/lang/fr 0600 root bin 8770 1550 1025499858
1 f none lpadmin/lang/hu 0600 root bin 7230 55793 1025499858
1 f none lpadmin/lang/it 0600 root bin 5354 50360 1025499858
1 f none lpadmin/lang/ja_JP.euc 0600 root bin 8263 31761 1025499858
1 f none lpadmin/lang/ko_KR.euc 0600 root bin 7369 54745 1025499858
1 f none lpadmin/lang/nl 0600 root bin 8009 38326 1025499858
1 f none lpadmin/lang/pl 0600 root bin 8612 65413 1025499858
1 f none lpadmin/lang/pt 0600 root bin 5386 4151 1025499858
1 f none lpadmin/lang/ru_RU 0600 root bin 4784 16068 1025499858
1 f none lpadmin/lang/ru_SU 0600 root bin 4796 9248 1025499858
1 f none lpadmin/lang/sv 0600 root bin 7847 46249 1025499858
1 f none lpadmin/lang/tr 0600 root bin 5943 44008 1025499858
1 f none lpadmin/lang/zh_CN 0600 root bin 5161 16568 1025499858
1 f none lpadmin/lang/zh_TW.Big5 0600 root bin 4062 55186 1025499858
1 f none lpadmin/linux-lib.pl 0600 root bin 8272 57125 1025499858
1 f none lpadmin/list_jobs.cgi 0700 root bin 2301 47410 1025499858
1 f none lpadmin/log_parser.pl 0600 root bin 896 7664 1025499858
1 f none lpadmin/lpadmin-lib.pl 0600 root bin 14168 60283 1025499858
1 f none lpadmin/lprng-lib.pl 0600 root bin 9603 29304 1025499858
1 f none lpadmin/module.info 0600 root bin 786 19927 1025499882
1 f none lpadmin/old-caldera-driver.pl 0600 root bin 9911 64191 1025499858
1 f none lpadmin/openbsd-lib.pl 0600 root bin 6736 12754 1025499858
1 f none lpadmin/printconf-driver.pl 0600 root bin 9627 36554 1025499858
1 f none lpadmin/redhat-driver.pl 0600 root bin 12651 19074 1025499858
1 f none lpadmin/restart.cgi 0700 root bin 301 25952 1025499858
1 f none lpadmin/save_printer.cgi 0700 root bin 5200 19330 1025499858
1 f none lpadmin/solaris-lib.pl 0600 root bin 7065 34370 1025499858
1 f none lpadmin/sortdrivers-by-drv.pl 0700 root bin 228 16477 1025499858
1 f none lpadmin/sortdrivers.pl 0700 root bin 248 17959 1025499858
1 f none lpadmin/start.cgi 0700 root bin 383 31748 1025499858
1 f none lpadmin/stop.cgi 0700 root bin 374 31063 1025499858
1 f none lpadmin/stp 0600 root bin 2512 59283 1025499858
1 f none lpadmin/suse-driver.pl 0600 root bin 10669 33710 1025499858
1 f none lpadmin/test_form.cgi 0700 root bin 862 9932 1025499858
1 f none lpadmin/test_print.cgi 0700 root bin 1059 17160 1025499858
1 f none lpadmin/unixware-lib.pl 0600 root bin 7431 61072 1025499858
1 f none lpadmin/view_job.cgi 0700 root bin 877 3811 1025499858
1 f none lpadmin/webmin-driver.pl 0600 root bin 1065 31373 1025499858
1 d none lvm 0700 root bin
1 f none lvm/edit_lv.cgi 0700 root bin 5100 19696 1025499881
1 f none lvm/edit_pv.cgi 0700 root bin 2177 46160 1025499881
1 f none lvm/edit_vg.cgi 0700 root bin 1836 19875 1025499881
1 f none lvm/feedback_files.pl 0600 root bin 155 11949 1025499881
1 d none lvm/images 0700 root bin
1 f none lvm/images/hdd_unmount.png 0600 root bin 2904 35646 1025499881
1 f none lvm/images/icon.gif 0600 root bin 1617 50579 1025499881
1 f none lvm/images/lv.gif 0600 root bin 1920 36402 1025499881
1 f none lvm/images/pv.gif 0600 root bin 1920 40263 1025499881
1 f none lvm/images/snap.gif 0600 root bin 1955 39361 1025499881
1 f none lvm/images/vg.gif 0600 root bin 1617 50579 1025499881
1 f none lvm/index.cgi 0700 root bin 3160 47033 1025499881
1 f none lvm/init.cgi 0700 root bin 461 35831 1025499881
1 d none lvm/lang 0700 root bin
1 f none lvm/lang/ca 0600 root bin 6222 60251 1025499881
1 f none lvm/lang/en 0600 root bin 5661 1937 1025499881
1 f none lvm/lang/zh_TW.Big5 0600 root bin 4114 24995 1025499881
1 f none lvm/log_parser.pl 0600 root bin 585 47897 1025499881
1 f none lvm/lvm-lib.pl 0600 root bin 9129 1576 1025499881
1 f none lvm/mkfs.cgi 0700 root bin 843 4059 1025499881
1 f none lvm/mkfs_form.cgi 0700 root bin 873 7763 1025499881
1 f none lvm/module.info 0600 root bin 323 31750 1025499882
1 f none lvm/save_lv.cgi 0700 root bin 4515 20491 1025499881
1 f none lvm/save_pv.cgi 0700 root bin 1675 2404 1025499881
1 f none lvm/save_vg.cgi 0700 root bin 1892 17395 1025499881
1 d none majordomo 0700 root bin
1 f none majordomo/acl_security.pl 0600 root bin 1971 31681 1025499863
1 f none majordomo/alias_setup.cgi 0700 root bin 867 6137 1025499863
1 f none majordomo/config 0600 root bin 102 9749 1025499863
1 f none majordomo/config-aix 0600 root bin 80 7479 1025499863
1 f none majordomo/config-debian-linux-2.2 0600 root bin 98 9242 1025499863
1 f none majordomo/config-debian-linux-3.0 0600 root bin 98 9242 1025499864
1 f none majordomo/config-msc-linux 0600 root bin 98 9242 1025499864
1 f none majordomo/config-netbsd 0600 root bin 114 10905 1025499864
1 f none majordomo/config-open-linux 0600 root bin 98 9242 1025499863
1 f none majordomo/config-open-linux-2.4 0600 root bin 129 12290 1025499864
1 f none majordomo/config-suse-linux-6.1 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.2 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.3 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.4 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-7.0 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.1 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.2 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.3 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-8.0 0600 root bin 85 7932 1025499864
1 f none majordomo/config.info 0600 root bin 415 38956 1025499863
1 f none majordomo/config.info.ca 0600 root bin 505 48019 1025499864
1 f none majordomo/config.info.de 0600 root bin 206 19208 1025499863
1 f none majordomo/config.info.es 0600 root bin 520 49273 1025499863
1 f none majordomo/config.info.fr 0600 root bin 188 17562 1025499863
1 f none majordomo/config.info.pl 0600 root bin 457 45025 1025499864
1 f none majordomo/config.info.ru_RU 0600 root bin 171 26714 1025499864
1 f none majordomo/config.info.ru_SU 0600 root bin 171 24484 1025499863
1 f none majordomo/config.info.sv 0600 root bin 375 36838 1025499863
1 f none majordomo/config.info.tr 0600 root bin 406 41447 1025499864
1 f none majordomo/config.info.zh_CN 0600 root bin 273 37172 1025499863
1 f none majordomo/config.info.zh_TW.Big5 0600 root bin 143 17188 1025499863
1 f none majordomo/create_digest.cgi 0700 root bin 5404 59742 1025499863
1 f none majordomo/create_form.cgi 0700 root bin 1608 4668 1025499863
1 f none majordomo/create_list.cgi 0700 root bin 4147 19535 1025499863
1 f none majordomo/defaultacl 0600 root bin 44 3677 1025499863
1 f none majordomo/delete_list.cgi 0700 root bin 3340 3292 1025499863
1 f none majordomo/digest_form.cgi 0700 root bin 1670 9678 1025499863
1 f none majordomo/edit_access.cgi 0700 root bin 3680 46340 1025499863
1 f none majordomo/edit_digest.cgi 0700 root bin 1504 63037 1025499863
1 f none majordomo/edit_global.cgi 0700 root bin 1363 50764 1025499863
1 f none majordomo/edit_head.cgi 0700 root bin 1189 35851 1025499863
1 f none majordomo/edit_info.cgi 0700 root bin 1847 24243 1025499863
1 f none majordomo/edit_list.cgi 0700 root bin 1328 44630 1025499863
1 f none majordomo/edit_members.cgi 0700 root bin 2225 54657 1025499863
1 f none majordomo/edit_mesg.cgi 0700 root bin 1833 22744 1025499863
1 f none majordomo/edit_misc.cgi 0700 root bin 1375 49922 1025499863
1 f none majordomo/edit_subs.cgi 0700 root bin 3962 5478 1025499863
1 f none majordomo/feedback_files.pl 0600 root bin 359 29852 1025499864
1 d none majordomo/images 0700 root bin
1 f none majordomo/images/access.gif 0600 root bin 275 34570 1025499863
1 f none majordomo/images/dig.gif 0600 root bin 377 41028 1025499863
1 f none majordomo/images/digest.gif 0600 root bin 2466 26349 1025499863
1 f none majordomo/images/head.gif 0600 root bin 215 25149 1025499863
1 f none majordomo/images/icon.gif 0600 root bin 335 37082 1025499863
1 f none majordomo/images/info.gif 0600 root bin 318 36739 1025499863
1 f none majordomo/images/list.gif 0600 root bin 335 37082 1025499863
1 f none majordomo/images/members.gif 0600 root bin 390 43396 1025499863
1 f none majordomo/images/mesg.gif 0600 root bin 258 31067 1025499863
1 f none majordomo/images/misc.gif 0600 root bin 460 53918 1025499863
1 f none majordomo/images/mod.gif 0600 root bin 330 39587 1025499863
1 f none majordomo/images/subs.gif 0600 root bin 330 36057 1025499863
1 f none majordomo/index.cgi 0700 root bin 4975 16060 1025499863
1 d none majordomo/lang 0700 root bin
1 f none majordomo/lang/ca 0600 root bin 11371 41789 1025499864
1 f none majordomo/lang/de 0600 root bin 12050 44492 1025499864
1 f none majordomo/lang/en 0600 root bin 9900 22239 1025499863
1 f none majordomo/lang/es 0600 root bin 11305 40634 1025499864
1 f none majordomo/lang/ja_JP.euc 0600 root bin 10070 60055 1025499864
1 f none majordomo/lang/ja_JP.jis 0600 root bin 10070 60055 1025499864
1 f none majordomo/lang/ko_KR.euc 0600 root bin 8994 30179 1025499864
1 f none majordomo/lang/sv 0600 root bin 10790 18913 1025499864
1 f none majordomo/lang/tr 0600 root bin 10082 61236 1025499864
1 f none majordomo/lang/zh_CN 0600 root bin 7251 4434 1025499864
1 f none majordomo/log_parser.pl 0600 root bin 984 16185 1025499864
1 f none majordomo/majordomo-lib.pl 0600 root bin 8009 20527 1025499863
1 f none majordomo/module.info 0600 root bin 844 22582 1025499882
1 f none majordomo/save_access.cgi 0700 root bin 1424 52044 1025499863
1 f none majordomo/save_auto.cgi 0700 root bin 606 52904 1025499863
1 f none majordomo/save_digest.cgi 0700 root bin 1128 30986 1025499863
1 f none majordomo/save_global.cgi 0700 root bin 984 20011 1025499863
1 f none majordomo/save_head.cgi 0700 root bin 654 56341 1025499863
1 f none majordomo/save_info.cgi 0700 root bin 1261 38536 1025499863
1 f none majordomo/save_members.cgi 0700 root bin 2329 61956 1025499863
1 f none majordomo/save_mesg.cgi 0700 root bin 1280 43006 1025499863
1 f none majordomo/save_misc.cgi 0700 root bin 694 59504 1025499863
1 f none majordomo/save_subs.cgi 0700 root bin 2411 6039 1025499863
1 f none majordomo/useradmin_update.pl 0600 root bin 1484 55194 1025499863
1 f none maketemp.pl 0600 root bin 343 24397 1025499832
1 d none man 0700 root bin
1 f none man/config-aix 0600 root bin 87 7415 1025499868
1 f none man/config-cobalt-linux 0600 root bin 222 19664 1025499868
1 f none man/config-corel-linux 0600 root bin 270 23876 1025499868
1 f none man/config-debian-linux 0600 root bin 228 20242 1025499868
1 f none man/config-freebsd 0600 root bin 93 7993 1025499868
1 f none man/config-generic-linux 0600 root bin 329 29066 1025499868
1 f none man/config-gentoo-linux 0600 root bin 228 20242 1025499868
1 f none man/config-hpux 0600 root bin 129 11252 1025499868
1 f none man/config-irix 0600 root bin 166 14909 1025499868
1 f none man/config-lfs-linux 0600 root bin 205 18119 1025499868
1 f none man/config-macos 0600 root bin 116 10194 1025499868
1 f none man/config-mandrake-linux 0600 root bin 330 29395 1025499868
1 f none man/config-msc-linux 0600 root bin 322 28594 1025499868
1 f none man/config-netbsd 0600 root bin 93 7993 1025499868
1 f none man/config-open-linux 0600 root bin 307 27227 1025499868
1 f none man/config-open-linux-3.1e 0700 root bin 317 28361 1025499868
1 f none man/config-openbsd 0600 root bin 93 7993 1025499868
1 f none man/config-openserver 0600 root bin 165 14201 1025499868
1 f none man/config-osf1 0600 root bin 129 11252 1025499868
1 f none man/config-redhat-linux 0600 root bin 301 26656 1025499868
1 f none man/config-redhat-linux-7.0 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.1 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.2 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.3 0600 root bin 330 29395 1025499868
1 f none man/config-slackware-linux 0600 root bin 294 26209 1025499868
1 f none man/config-solaris 0600 root bin 90 7607 1025499868
1 f none man/config-suse-linux 0600 root bin 299 26817 1025499868
1 f none man/config-suse-linux-7.1 0600 root bin 341 30725 1025499868
1 f none man/config-suse-linux-7.2 0600 root bin 347 31303 1025499868
1 f none man/config-suse-linux-7.3 0600 root bin 347 31303 1025499868
1 f none man/config-suse-linux-8.0 0600 root bin 347 31303 1025499868
1 f none man/config-turbo-linux 0600 root bin 354 31875 1025499868
1 f none man/config.info 0600 root bin 550 50869 1025499868
1 f none man/config.info.ca 0600 root bin 599 56035 1025499868
1 f none man/config.info.de 0600 root bin 624 57212 1025499868
1 f none man/config.info.es 0600 root bin 636 60205 1025499868
1 f none man/config.info.fr 0600 root bin 211 19478 1025499868
1 f none man/config.info.hu 0600 root bin 248 25715 1025499868
1 f none man/config.info.pl 0600 root bin 660 64899 1025499868
1 f none man/config.info.ru_RU 0600 root bin 211 38368 1025499868
1 f none man/config.info.ru_SU 0600 root bin 212 34234 1025499868
1 f none man/config.info.sv 0600 root bin 602 58289 1025499868
1 f none man/config.info.tr 0600 root bin 196 21161 1025499868
1 f none man/config.info.zh_CN 0600 root bin 279 34641 1025499868
1 f none man/config.info.zh_TW.Big5 0600 root bin 121 15874 1025499868
1 d none man/help 0700 root bin
1 f none man/help/intro.ca.html 0600 root bin 632 58827 1025499868
1 f none man/help/intro.de.html 0600 root bin 841 10618 1025499868
1 f none man/help/intro.es.html 0600 root bin 678 63931 1025499868
1 f none man/help/intro.fr.html 0600 root bin 722 2084 1025499868
1 f none man/help/intro.html 0600 root bin 622 56403 1025499868
1 f none man/help/intro.hu.html 0600 root bin 780 12842 1025499868
1 f none man/help/intro.it.html 0600 root bin 726 1070 1025499868
1 f none man/help/intro.pl.html 0600 root bin 662 693 1025499868
1 f none man/help/intro.ru_RU.html 0600 root bin 624 54265 1025499868
1 f none man/help/intro.ru_SU.html 0600 root bin 624 40190 1025499868
1 f none man/help/intro.sv.html 0600 root bin 631 60934 1025499868
1 d none man/images 0700 root bin
1 f none man/images/icon.gif 0600 root bin 1128 40241 1025499868
1 f none man/index.cgi 0700 root bin 2418 1774 1025499868
1 d none man/lang 0700 root bin
1 f none man/lang/ca 0600 root bin 2257 21593 1025499868
1 f none man/lang/cz 0600 root bin 494 47795 1025499868
1 f none man/lang/de 0600 root bin 2753 53098 1025499868
1 f none man/lang/en 0600 root bin 2030 61672 1025499868
1 f none man/lang/es 0600 root bin 2440 37044 1025499868
1 f none man/lang/fr 0600 root bin 2264 18327 1025499868
1 f none man/lang/hu 0600 root bin 646 62878 1025499868
1 f none man/lang/it 0600 root bin 2325 23536 1025499868
1 f none man/lang/ja_JP.euc 0600 root bin 1902 2479 1025499868
1 f none man/lang/ko_KR.euc 0600 root bin 1526 63025 1025499868
1 f none man/lang/pl 0600 root bin 2283 27970 1025499868
1 f none man/lang/ru_RU 0600 root bin 499 15198 1025499868
1 f none man/lang/ru_SU 0600 root bin 500 8622 1025499868
1 f none man/lang/sv 0600 root bin 1778 44329 1025499868
1 f none man/lang/tr 0600 root bin 535 57266 1025499868
1 f none man/lang/zh_CN 0600 root bin 403 54807 1025499868
1 f none man/lang/zh_TW.Big5 0600 root bin 376 45036 1025499868
1 f none man/man-lib.pl 0600 root bin 475 36372 1025499868
1 f none man/module.info 0600 root bin 782 17524 1025499882
1 f none man/save_check.cgi 0700 root bin 532 44597 1025499868
1 f none man/search.cgi 0700 root bin 10581 39499 1025499868
1 f none man/view_doc.cgi 0700 root bin 1504 50140 1025499868
1 f none man/view_howto.cgi 0700 root bin 1087 19683 1025499868
1 f none man/view_kde.cgi 0700 root bin 1533 53458 1025499868
1 f none man/view_kernel.cgi 0700 root bin 1491 50004 1025499868
1 f none man/view_man.cgi 0700 root bin 2137 27406 1025499868
1 f none man/view_perl.cgi 0700 root bin 708 56176 1025499868
1 f none mime.types 0700 root bin 11317 26665 1025499831
1 f none miniserv.pem 0600 root bin 974 11791 1025499831
1 f none miniserv.pl 0700 root bin 54673 5579 1025499831
1 d none mon 0700 root bin
1 f none mon/README 0600 root bin 287 25510 1025499878
1 f none mon/config 0600 root bin 176 16365 1025499878
1 f none mon/config.info 0600 root bin 290 25746 1025499878
1 f none mon/config.info.ca 0600 root bin 312 28658 1025499878
1 f none mon/create_watch.cgi 0700 root bin 287 23639 1025499878
1 f none mon/edit_auth.cgi 0700 root bin 1471 51505 1025499878
1 f none mon/edit_global.cgi 0700 root bin 2059 42067 1025499878
1 f none mon/edit_service.cgi 0700 root bin 8188 61508 1025499878
1 f none mon/edit_user.cgi 0700 root bin 1408 54173 1025499878
1 f none mon/edit_watch.cgi 0700 root bin 2262 53755 1025499878
1 f none mon/feedback_files.pl 0600 root bin 113 9349 1025499878
1 d none mon/help 0700 root bin
1 f none mon/help/hostgroup.ca.html 0600 root bin 474 43211 1025499878
1 f none mon/help/hostgroup.html 0600 root bin 440 40020 1025499878
1 f none mon/help/intro.ca.html 0600 root bin 337 30113 1025499878
1 f none mon/help/intro.html 0600 root bin 297 25878 1025499878
1 f none mon/help/monshow.ca.html 0600 root bin 253 22904 1025499878
1 f none mon/help/monshow.html 0600 root bin 249 22066 1025499878
1 f none mon/help/service.ca.html 0600 root bin 12320 11701 1025499878
1 f none mon/help/service.html 0600 root bin 11812 63456 1025499878
1 f none mon/hostgroups.cgi 0700 root bin 2546 20810 1025499878
1 d none mon/images 0700 root bin
1 f none mon/images/auth.gif 0600 root bin 275 34570 1025499878
1 f none mon/images/global.gif 0600 root bin 2775 65145 1025499878
1 f none mon/images/groups.gif 0600 root bin 251 29940 1025499878
1 f none mon/images/icon.gif 0600 root bin 1461 48839 1025499878
1 f none mon/images/mon.gif 0600 root bin 1293 9011 1025499878
1 f none mon/images/mon_conf.gif 0600 root bin 296 35073 1025499878
1 f none mon/images/mon_global.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/mon_status.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/periods.gif 0600 root bin 474 53500 1025499878
1 f none mon/images/status.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/users.gif 0600 root bin 390 43396 1025499878
1 f none mon/images/watches.gif 0600 root bin 2075 21934 1025499878
1 f none mon/index.cgi 0700 root bin 1581 64582 1025499878
1 d none mon/lang 0700 root bin
1 f none mon/lang/.en.swp 0600 root bin 12288 45965 1025499878
1 f none mon/lang/ca 0600 root bin 7968 44136 1025499878
1 f none mon/lang/en 0600 root bin 7002 9614 1025499878
1 f none mon/list_groups.cgi 0700 root bin 845 3740 1025499878
1 f none mon/list_periods.cgi 0700 root bin 2154 34726 1025499878
1 f none mon/list_users.cgi 0700 root bin 1067 16531 1025499878
1 f none mon/list_watches.cgi 0700 root bin 1305 38011 1025499878
1 f none mon/module.info 0600 root bin 291 27493 1025499882
1 f none mon/mon-lib.pl 0700 root bin 7999 13697 1025499878
1 f none mon/mon.cgi 0700 root bin 836 1120 1025499878
1 f none mon/mon_action.cgi 0700 root bin 421 35441 1025499878
1 f none mon/mon_status.cgi 0700 root bin 460 39705 1025499878
1 f none mon/moncmd.cgi 0700 root bin 1631 8377 1025499878
1 f none mon/moncmd.diff 0600 root bin 2580 44408 1025499878
1 f none mon/moncmd.pl 0700 root bin 5792 37704 1025499878
1 f none mon/monshow.cgi 0700 root bin 29579 40639 1025499878
1 f none mon/monshow.diff 0600 root bin 9162 8408 1025499878
1 f none mon/monshowrc 0600 root bin 166 13923 1025499878
1 f none mon/restart.cgi 0700 root bin 430 34299 1025499878
1 f none mon/save_auth.cgi 0700 root bin 599 45775 1025499878
1 f none mon/save_config.cgi 0700 root bin 2225 52670 1025499878
1 f none mon/save_global.cgi 0700 root bin 1749 7629 1025499878
1 f none mon/save_groups.cgi 0700 root bin 662 54585 1025499878
1 f none mon/save_periods.cgi 0700 root bin 1147 20587 1025499878
1 f none mon/save_service.cgi 0700 root bin 4823 39170 1025499878
1 f none mon/save_user.cgi 0700 root bin 823 859 1025499878
1 f none mon/save_watch.cgi 0700 root bin 376 31372 1025499878
1 f none mon/services.cgi 0700 root bin 5745 44223 1025499878
1 f none mon/start.cgi 0700 root bin 232 19267 1025499878
1 f none mon/stop.cgi 0700 root bin 426 33387 1025499878
1 d none mount 0700 root bin
1 f none mount/cobalt-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/config-cobalt-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-corel-linux 0600 root bin 114 11127 1025499837
1 f none mount/config-debian-linux 0600 root bin 160 15433 1025499837
1 f none mount/config-freebsd 0600 root bin 126 12305 1025499836
1 f none mount/config-generic-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-gentoo-linux 0600 root bin 123 12049 1025499837
1 f none mount/config-hpux 0600 root bin 126 12305 1025499836
1 f none mount/config-irix 0600 root bin 129 12421 1025499837
1 f none mount/config-lfs-linux 0600 root bin 108 10361 1025499837
1 f none mount/config-macos 0600 root bin 104 10257 1025499837
1 f none mount/config-mandrake-linux 0600 root bin 140 13551 1025499837
1 f none mount/config-msc-linux 0600 root bin 140 13551 1025499837
1 f none mount/config-open-linux 0600 root bin 112 10809 1025499837
1 f none mount/config-open-linux-3.1e 0600 root bin 131 12445 1025499837
1 f none mount/config-openbsd 0600 root bin 126 12305 1025499836
1 f none mount/config-osf1 0600 root bin 184 17769 1025499837
1 f none mount/config-redhat-linux 0600 root bin 116 11322 1025499837
1 f none mount/config-redhat-linux-5.0 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-5.1 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-5.2 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-6.0 0600 root bin 145 14111 1025499837
1 f none mount/config-redhat-linux-6.1 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-6.2 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.0 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.1 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.2 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.3 0600 root bin 140 13551 1025499837
1 f none mount/config-slackware-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-solaris 0600 root bin 159 15377 1025499837
1 f none mount/config-suse-linux 0600 root bin 116 11344 1025499837
1 f none mount/config-turbo-linux 0600 root bin 145 14111 1025499836
1 f none mount/config-turbo-linux-4.0 0600 root bin 145 14111 1025499837
1 f none mount/config-unixware 0600 root bin 159 15377 1025499837
1 f none mount/config.info 0600 root bin 339 31828 1025499837
1 f none mount/config.info.ca 0600 root bin 433 41119 1025499837
1 f none mount/config.info.de 0600 root bin 367 34415 1025499837
1 f none mount/config.info.es 0600 root bin 429 40239 1025499836
1 f none mount/config.info.fr 0600 root bin 392 37181 1025499837
1 f none mount/config.info.pl 0600 root bin 453 45018 1025499837
1 f none mount/config.info.ru_RU 0600 root bin 381 59990 1025499837
1 f none mount/config.info.ru_SU 0600 root bin 381 54867 1025499837
1 f none mount/config.info.sv 0600 root bin 358 35344 1025499837
1 f none mount/config.info.tr 0600 root bin 390 39377 1025499837
1 f none mount/config.info.zh_CN 0600 root bin 295 38884 1025499837
1 f none mount/config.info.zh_TW.Big5 0600 root bin 337 42208 1025499836
1 f none mount/corel-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/create_swap.cgi 0700 root bin 434 38055 1025499837
1 f none mount/debian-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/edit_mount.cgi 0700 root bin 6402 57854 1025499837
1 f none mount/freebsd-lib.pl 0700 root bin 26868 15171 1025499837
1 f none mount/freebsd-mounts-2 0700 root bin 8917 52409 1025499836
1 f none mount/freebsd-mounts-2.c 0600 root bin 1319 37901 1025499836
1 f none mount/freebsd-mounts-3 0700 root bin 4713 741 1025499836
1 f none mount/freebsd-mounts-3.c 0400 root bin 1262 35294 1025499837
1 f none mount/freebsd-mounts-4 0700 root bin 4878 11027 1025499836
1 f none mount/freebsd-mounts-4.c 0400 root bin 1262 35294 1025499836
1 f none mount/generic-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/gentoo-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 d none mount/help 0700 root bin
1 f none mount/help/help.ca.html 0600 root bin 24653 16889 1025499837
1 f none mount/help/help.html 0600 root bin 20595 60265 1025499837
1 f none mount/help/help.sv.html 0600 root bin 20704 35176 1025499837
1 f none mount/help/help.zh_TW.Big5.html 0600 root bin 14675 50356 1025499837
1 f none mount/hpux-lib.pl 0600 root bin 36759 49266 1025499837
1 d none mount/images 0700 root bin
1 f none mount/images/auto.gif 0600 root bin 2248 19392 1025499837
1 f none mount/images/autofs.gif 0600 root bin 2248 19392 1025499837
1 f none mount/images/cachefs.gif 0600 root bin 2336 3570 1025499837
1 f none mount/images/ext.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/ext2.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/fat.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/hpfs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/hsfs.gif 0600 root bin 1591 15553 1025499837
1 f none mount/images/icon.gif 0600 root bin 345 37063 1025499837
1 f none mount/images/iso9660.gif 0600 root bin 1591 15553 1025499837
1 f none mount/images/lofs.gif 0600 root bin 1219 43674 1025499837
1 f none mount/images/minix.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/msdos.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/nfs.gif 0600 root bin 1565 51055 1025499837
1 f none mount/images/pcfs.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/reiserfs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/rumba.gif 0600 root bin 1898 34077 1025499837
1 f none mount/images/smbfs.gif 0600 root bin 1898 34077 1025499837
1 f none mount/images/star.gif 0600 root bin 2100 58961 1025499837
1 f none mount/images/swap.gif 0600 root bin 2427 23882 1025499837
1 f none mount/images/sysv.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/tmpfs.gif 0600 root bin 2462 26131 1025499837
1 f none mount/images/udfs.gif 0600 root bin 1685 3476 1025499837
1 f none mount/images/ufs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/umsdos.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/vfat.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/xmemfs.gif 0600 root bin 2462 26131 1025499837
1 f none mount/index.cgi 0700 root bin 3703 26318 1025499837
1 f none mount/irix-lib.pl 0600 root bin 49762 40174 1025499837
1 d none mount/lang 0700 root bin
1 f none mount/lang/ca 0600 root bin 12879 44362 1025499837
1 f none mount/lang/de 0600 root bin 12088 28324 1025499837
1 f none mount/lang/en 0600 root bin 11680 44444 1025499836
1 f none mount/lang/es 0600 root bin 12582 19456 1025499837
1 f none mount/lang/fr 0600 root bin 12900 5313 1025499836
1 f none mount/lang/hu 0600 root bin 11437 5717 1025499837
1 f none mount/lang/ja_JP.euc 0600 root bin 12115 658 1025499837
1 f none mount/lang/ko_KR.euc 0600 root bin 11447 62280 1025499837
1 f none mount/lang/pl 0600 root bin 12771 13621 1025499837
1 f none mount/lang/ru_RU 0600 root bin 11526 17763 1025499837
1 f none mount/lang/ru_SU 0600 root bin 11534 57108 1025499837
1 f none mount/lang/sv 0600 root bin 11681 18981 1025499837
1 f none mount/lang/tr 0600 root bin 11730 20033 1025499837
1 f none mount/lang/zh_CN 0600 root bin 8970 54974 1025499836
1 f none mount/lang/zh_TW.Big5 0600 root bin 8789 40854 1025499836
1 f none mount/lfs-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/linux-lib.pl 0700 root bin 64546 62971 1025499836
1 f none mount/log_parser.pl 0600 root bin 519 43529 1025499837
1 f none mount/low.risk 0600 root bin 24 2036 1025499837
1 f none mount/low.skill 0600 root bin 65 6038 1025499837
1 f none mount/macos-lib.pl 0700 root bin 3655 42590 1025499837
1 f none mount/macos-mounts 0700 root bin 9816 17491 1025499837
1 f none mount/macos-mounts.c 0400 root bin 1012 15834 1025499837
1 f none mount/mandrake-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/medium.risk 0600 root bin 11 971 1025499837
1 f none mount/medium.skill 0600 root bin 41 3795 1025499837
1 f none mount/module.info 0600 root bin 957 41493 1025499882
1 f none mount/mount-lib.pl 0600 root bin 4272 31279 1025499837
1 f none mount/mount.cgi 0700 root bin 415 33171 1025499837
1 f none mount/msc-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/nfs_export.cgi 0700 root bin 1001 14500 1025499837
1 f none mount/nfs_server.cgi 0700 root bin 1784 8245 1025499837
1 f none mount/open-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/openbsd-lib.pl 0700 root bin 23943 37973 1025499837
1 f none mount/openbsd-mounts-2 0700 root bin 25634 27408 1025499837
1 f none mount/openbsd-mounts-2.c 0600 root bin 1058 19310 1025499836
1 f none mount/openbsd-mounts-3 0700 root bin 25369 11541 1025499837
1 f none mount/osf1-lib.pl 0600 root bin 49514 21113 1025499837
1 f none mount/redhat-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/save_mount.cgi 0700 root bin 12732 921 1025499837
1 f none mount/slackware-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/smb_server.cgi 0700 root bin 1484 52891 1025499836
1 f none mount/smb_share.cgi 0700 root bin 1411 43874 1025499837
1 f none mount/solaris-lib.pl 0600 root bin 57451 21823 1025499837
1 f none mount/suse-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/turbo-linux-lib.pl 0700 root bin 64546 62971 1025499836
1 f none mount/unixware-lib.pl 0700 root bin 57528 55609 1025499836
1 f none mount/unmount.cgi 0700 root bin 424 34033 1025499837
1 d none mscstyle3 0700 root bin
1 d none mscstyle3/acl 0700 root bin
1 d none mscstyle3/acl/images 0700 root bin
1 f none mscstyle3/acl/images/icon.gif 0600 root bin 2274 32699 1025499878
1 d none mscstyle3/apache 0700 root bin
1 d none mscstyle3/apache/images 0700 root bin
1 f none mscstyle3/apache/images/icon.gif 0600 root bin 576 2286 1025499878
1 d none mscstyle3/apache2 0700 root bin
1 d none mscstyle3/apache2/images 0700 root bin
1 f none mscstyle3/apache2/images/icon.gif 0600 root bin 576 2286 1025499879
1 d none mscstyle3/bind8 0700 root bin
1 d none mscstyle3/bind8/images 0700 root bin
1 f none mscstyle3/bind8/images/icon.gif 0600 root bin 2250 18454 1025499878
1 d none mscstyle3/bsdexports 0700 root bin
1 d none mscstyle3/bsdexports/images 0700 root bin
1 f none mscstyle3/bsdexports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/cdbackup 0700 root bin
1 d none mscstyle3/cdbackup/images 0700 root bin
1 f none mscstyle3/cdbackup/images/icon.gif 0600 root bin 2313 29117 1025499878
1 f none mscstyle3/config 0600 root bin 107 9117 1025499879
1 f none mscstyle3/config.info 0600 root bin 18 1405 1025499879
1 d none mscstyle3/cpan 0700 root bin
1 d none mscstyle3/cpan/images 0700 root bin
1 f none mscstyle3/cpan/images/icon.gif 0600 root bin 737 8350 1025499878
1 d none mscstyle3/cron 0700 root bin
1 d none mscstyle3/cron/images 0700 root bin
1 f none mscstyle3/cron/images/icon.gif 0600 root bin 2022 47703 1025499878
1 d none mscstyle3/custom 0700 root bin
1 d none mscstyle3/custom/images 0700 root bin
1 f none mscstyle3/custom/images/icon.gif 0600 root bin 361 42791 1025499878
1 d none mscstyle3/dfsadmin 0700 root bin
1 d none mscstyle3/dfsadmin/images 0700 root bin
1 f none mscstyle3/dfsadmin/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/dhcpd 0700 root bin
1 d none mscstyle3/dhcpd/images 0700 root bin
1 f none mscstyle3/dhcpd/images/icon.gif 0600 root bin 1492 13470 1025499878
1 d none mscstyle3/dnsadmin 0700 root bin
1 d none mscstyle3/dnsadmin/images 0700 root bin
1 f none mscstyle3/dnsadmin/images/icon.gif 0600 root bin 2248 12814 1025499878
1 d none mscstyle3/exports 0700 root bin
1 d none mscstyle3/exports/images 0700 root bin
1 f none mscstyle3/exports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/fdisk 0700 root bin
1 d none mscstyle3/fdisk/images 0700 root bin
1 f none mscstyle3/fdisk/images/icon.gif 0600 root bin 1891 28598 1025499878
1 d none mscstyle3/file 0700 root bin
1 d none mscstyle3/file/images 0700 root bin
1 f none mscstyle3/file/images/icon.gif 0600 root bin 1259 10524 1025499878
1 d none mscstyle3/format 0700 root bin
1 d none mscstyle3/format/images 0700 root bin
1 f none mscstyle3/format/images/icon.gif 0600 root bin 1891 28598 1025499878
1 d none mscstyle3/hpuxexports 0700 root bin
1 d none mscstyle3/hpuxexports/images 0700 root bin
1 f none mscstyle3/hpuxexports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/images 0700 root bin
1 f none mscstyle3/images/arrow.jpg 0600 root bin 1663 37098 1025499879
1 d none mscstyle3/images/cats 0700 root bin
1 f none mscstyle3/images/cats/apps.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats/cluster.jpg 0600 root bin 2769 55042 1025499879
1 f none mscstyle3/images/cats/hardware.jpg 0600 root bin 2817 3012 1025499879
1 f none mscstyle3/images/cats/kororaweb.jpg 0600 root bin 2667 42726 1025499879
1 f none mscstyle3/images/cats/login.jpg 0600 root bin 2822 60332 1025499879
1 f none mscstyle3/images/cats/mail.jpg 0600 root bin 2685 46844 1025499879
1 f none mscstyle3/images/cats/net.jpg 0600 root bin 1041 35239 1025499879
1 f none mscstyle3/images/cats/others.jpg 0600 root bin 2662 42082 1025499879
1 f none mscstyle3/images/cats/servers.jpg 0600 root bin 2779 57155 1025499879
1 f none mscstyle3/images/cats/system.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats/unknown.jpg 0600 root bin 2827 3923 1025499879
1 f none mscstyle3/images/cats/usermin.jpg 0600 root bin 2779 57599 1025499879
1 f none mscstyle3/images/cats/webmin.jpg 0600 root bin 2769 56898 1025499879
1 d none mscstyle3/images/cats_over 0700 root bin
1 f none mscstyle3/images/cats_over/apps.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats_over/cluster.jpg 0600 root bin 2769 55042 1025499879
1 f none mscstyle3/images/cats_over/hardware.jpg 0600 root bin 2817 3012 1025499879
1 f none mscstyle3/images/cats_over/kororaweb.jpg 0600 root bin 2667 42726 1025499879
1 f none mscstyle3/images/cats_over/login.jpg 0600 root bin 2822 60332 1025499879
1 f none mscstyle3/images/cats_over/mail.jpg 0600 root bin 2685 46844 1025499879
1 f none mscstyle3/images/cats_over/net.jpg 0600 root bin 1041 35239 1025499879
1 f none mscstyle3/images/cats_over/others.jpg 0600 root bin 2662 42082 1025499879
1 f none mscstyle3/images/cats_over/servers.jpg 0600 root bin 2779 57155 1025499879
1 f none mscstyle3/images/cats_over/system.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats_over/unknown.jpg 0600 root bin 2827 3923 1025499879
1 f none mscstyle3/images/cats_over/usermin.jpg 0600 root bin 2779 57599 1025499879
1 f none mscstyle3/images/cats_over/webmin.jpg 0600 root bin 2769 56898 1025499879
1 f none mscstyle3/images/jjs3_logo.gif 0600 root bin 2943 57077 1025499879
1 d none mscstyle3/images/letters2 0700 root bin
1 f none mscstyle3/images/letters2/100.gif 0600 root bin 1006 43243 1025499879
1 f none mscstyle3/images/letters2/101.gif 0600 root bin 1023 43199 1025499879
1 f none mscstyle3/images/letters2/102.gif 0600 root bin 539 15380 1025499879
1 f none mscstyle3/images/letters2/103.gif 0600 root bin 1001 46929 1025499879
1 f none mscstyle3/images/letters2/104.gif 0600 root bin 588 9083 1025499879
1 f none mscstyle3/images/letters2/105.gif 0600 root bin 308 40551 1025499879
1 f none mscstyle3/images/letters2/106.gif 0600 root bin 523 17873 1025499879
1 f none mscstyle3/images/letters2/107.gif 0600 root bin 592 8357 1025499879
1 f none mscstyle3/images/letters2/108.gif 0600 root bin 307 40328 1025499879
1 f none mscstyle3/images/letters2/109.gif 0600 root bin 1077 33833 1025499879
1 f none mscstyle3/images/letters2/110.gif 0600 root bin 590 8424 1025499879
1 f none mscstyle3/images/letters2/111.gif 0600 root bin 1028 42329 1025499879
1 f none mscstyle3/images/letters2/112.gif 0600 root bin 1004 45193 1025499879
1 f none mscstyle3/images/letters2/113.gif 0600 root bin 1005 45342 1025499879
1 f none mscstyle3/images/letters2/114.gif 0600 root bin 542 14575 1025499879
1 f none mscstyle3/images/letters2/115.gif 0600 root bin 574 10689 1025499879
1 f none mscstyle3/images/letters2/116.gif 0600 root bin 541 15036 1025499879
1 f none mscstyle3/images/letters2/117.gif 0600 root bin 992 47001 1025499879
1 f none mscstyle3/images/letters2/118.gif 0600 root bin 1011 42516 1025499879
1 f none mscstyle3/images/letters2/119.gif 0600 root bin 1059 38295 1025499879
1 f none mscstyle3/images/letters2/120.gif 0600 root bin 1010 43779 1025499879
1 f none mscstyle3/images/letters2/121.gif 0600 root bin 1010 42509 1025499879
1 f none mscstyle3/images/letters2/122.gif 0600 root bin 567 12679 1025499879
1 f none mscstyle3/images/letters2/123.gif 0600 root bin 557 11301 1025499879
1 f none mscstyle3/images/letters2/124.gif 0600 root bin 310 40195 1025499879
1 f none mscstyle3/images/letters2/125.gif 0600 root bin 558 11203 1025499879
1 f none mscstyle3/images/letters2/126.gif 0600 root bin 992 44862 1025499879
1 f none mscstyle3/images/letters2/177.iso-8859-2.gif 0600 root bin 1011 41821 1025499879
1 f none mscstyle3/images/letters2/179.iso-8859-2.gif 0600 root bin 547 12415 1025499879
1 f none mscstyle3/images/letters2/182.iso-8859-2.gif 0600 root bin 989 42185 1025499879
1 f none mscstyle3/images/letters2/188.iso-8859-2.gif 0600 root bin 986 43538 1025499879
1 f none mscstyle3/images/letters2/191.iso-8859-2.gif 0600 root bin 986 43981 1025499879
1 f none mscstyle3/images/letters2/192.gif 0600 root bin 1041 41113 1025499879
1 f none mscstyle3/images/letters2/193.gif 0600 root bin 1040 41584 1025499879
1 f none mscstyle3/images/letters2/194.gif 0600 root bin 1024 43428 1025499879
1 f none mscstyle3/images/letters2/195.gif 0600 root bin 1038 42526 1025499879
1 f none mscstyle3/images/letters2/196.gif 0600 root bin 1040 40713 1025499879
1 f none mscstyle3/images/letters2/197.gif 0600 root bin 1042 39062 1025499879
1 f none mscstyle3/images/letters2/198.gif 0600 root bin 1049 42705 1025499879
1 f none mscstyle3/images/letters2/199.gif 0600 root bin 1041 40780 1025499879
1 f none mscstyle3/images/letters2/200.gif 0600 root bin 549 13856 1025499879
1 f none mscstyle3/images/letters2/201.gif 0600 root bin 568 10415 1025499879
1 f none mscstyle3/images/letters2/202.gif 0600 root bin 565 13872 1025499879
1 f none mscstyle3/images/letters2/203.gif 0600 root bin 549 13558 1025499879
1 f none mscstyle3/images/letters2/204.gif 0600 root bin 542 14189 1025499879
1 f none mscstyle3/images/letters2/205.gif 0600 root bin 525 17594 1025499879
1 f none mscstyle3/images/letters2/206.gif 0600 root bin 555 12947 1025499879
1 f none mscstyle3/images/letters2/207.gif 0600 root bin 558 11277 1025499879
1 f none mscstyle3/images/letters2/208.gif 0600 root bin 1012 42632 1025499879
1 f none mscstyle3/images/letters2/208.iso-8859-9.gif 0600 root bin 1055 37599 1025499879
1 f none mscstyle3/images/letters2/209.gif 0600 root bin 596 9331 1025499879
1 f none mscstyle3/images/letters2/210.gif 0600 root bin 1060 37867 1025499879
1 f none mscstyle3/images/letters2/211.gif 0600 root bin 1060 35805 1025499879
1 f none mscstyle3/images/letters2/211.iso-8859-2.gif 0600 root bin 1060 35805 1025499879
1 f none mscstyle3/images/letters2/212.gif 0600 root bin 1041 39899 1025499879
1 f none mscstyle3/images/letters2/213.gif 0600 root bin 1058 36723 1025499879
1 f none mscstyle3/images/letters2/214.gif 0600 root bin 1059 36627 1025499879
1 f none mscstyle3/images/letters2/214.iso-8859-9.gif 0600 root bin 1059 36627 1025499879
1 f none mscstyle3/images/letters2/215.gif 0600 root bin 992 45498 1025499879
1 f none mscstyle3/images/letters2/216.gif 0600 root bin 1059 39334 1025499879
1 f none mscstyle3/images/letters2/217.gif 0600 root bin 592 8316 1025499879
1 f none mscstyle3/images/letters2/218.gif 0600 root bin 592 8080 1025499879
1 f none mscstyle3/images/letters2/219.gif 0600 root bin 592 7429 1025499879
1 f none mscstyle3/images/letters2/220.gif 0600 root bin 589 8395 1025499879
1 f none mscstyle3/images/letters2/220.iso-8859-9.gif 0600 root bin 589 8395 1025499879
1 f none mscstyle3/images/letters2/221.gif 0600 root bin 1028 39786 1025499879
1 f none mscstyle3/images/letters2/221.iso-8859-9.gif 0600 root bin 524 17511 1025499879
1 f none mscstyle3/images/letters2/222.gif 0600 root bin 590 8732 1025499879
1 f none mscstyle3/images/letters2/222.iso-8859-9.gif 0600 root bin 1029 39435 1025499879
1 f none mscstyle3/images/letters2/223.gif 0600 root bin 585 8531 1025499879
1 f none mscstyle3/images/letters2/224.gif 0600 root bin 1004 43425 1025499879
1 f none mscstyle3/images/letters2/225.gif 0600 root bin 1005 42696 1025499879
1 f none mscstyle3/images/letters2/226.gif 0600 root bin 1024 40275 1025499879
1 f none mscstyle3/images/letters2/227.gif 0600 root bin 1004 45099 1025499879
1 f none mscstyle3/images/letters2/228.gif 0600 root bin 1005 43748 1025499879
1 f none mscstyle3/images/letters2/229.gif 0600 root bin 1024 40932 1025499879
1 f none mscstyle3/images/letters2/230.gif 0600 root bin 1102 35464 1025499879
1 f none mscstyle3/images/letters2/230.iso-8859-2.gif 0600 root bin 993 43307 1025499879
1 f none mscstyle3/images/letters2/231.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/231.iso-8859-9.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/231.iso.8859-9.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/232.gif 0600 root bin 1023 42930 1025499879
1 f none mscstyle3/images/letters2/233.gif 0600 root bin 1023 42208 1025499879
1 f none mscstyle3/images/letters2/234.gif 0600 root bin 1022 43856 1025499879
1 f none mscstyle3/images/letters2/234.iso-8859-2.gif 0600 root bin 993 43881 1025499879
1 f none mscstyle3/images/letters2/235.gif 0600 root bin 1023 40784 1025499879
1 f none mscstyle3/images/letters2/236.gif 0600 root bin 541 14519 1025499879
1 f none mscstyle3/images/letters2/237.gif 0600 root bin 542 13666 1025499879
1 f none mscstyle3/images/letters2/238.gif 0600 root bin 541 14471 1025499879
1 f none mscstyle3/images/letters2/239.gif 0600 root bin 555 11738 1025499879
1 f none mscstyle3/images/letters2/240.gif 0600 root bin 1005 45162 1025499879
1 f none mscstyle3/images/letters2/240.iso-8859-9.gif 0600 root bin 1011 46323 1025499879
1 f none mscstyle3/images/letters2/241.gif 0600 root bin 990 46465 1025499879
1 f none mscstyle3/images/letters2/241.iso-8859-2.gif 0600 root bin 588 5936 1025499879
1 f none mscstyle3/images/letters2/242.gif 0600 root bin 1028 42969 1025499879
1 f none mscstyle3/images/letters2/243.gif 0600 root bin 1028 40211 1025499879
1 f none mscstyle3/images/letters2/243.iso-8859-2.gif 0600 root bin 1028 40211 1025499879
1 f none mscstyle3/images/letters2/244.gif 0600 root bin 1028 41367 1025499879
1 f none mscstyle3/images/letters2/245.gif 0600 root bin 1026 41348 1025499879
1 f none mscstyle3/images/letters2/246.gif 0600 root bin 1028 39883 1025499879
1 f none mscstyle3/images/letters2/246.iso-8859-9.gif 0600 root bin 1028 39883 1025499879
1 f none mscstyle3/images/letters2/247.gif 0600 root bin 989 44790 1025499879
1 f none mscstyle3/images/letters2/248.gif 0600 root bin 1006 45848 1025499879
1 f none mscstyle3/images/letters2/249.gif 0600 root bin 993 46696 1025499879
1 f none mscstyle3/images/letters2/250.gif 0600 root bin 990 46102 1025499879
1 f none mscstyle3/images/letters2/251.gif 0600 root bin 592 8207 1025499879
1 f none mscstyle3/images/letters2/252.gif 0600 root bin 593 6905 1025499879
1 f none mscstyle3/images/letters2/252.iso-8859-9.gif 0600 root bin 593 6905 1025499879
1 f none mscstyle3/images/letters2/253.gif 0600 root bin 1010 42120 1025499879
1 f none mscstyle3/images/letters2/253.iso-8859-9.gif 0600 root bin 526 17295 1025499879
1 f none mscstyle3/images/letters2/254.gif 0600 root bin 1007 44502 1025499879
1 f none mscstyle3/images/letters2/255.gif 0600 root bin 592 7501 1025499879
1 f none mscstyle3/images/letters2/32.gif 0600 root bin 542 14405 1025499879
1 f none mscstyle3/images/letters2/33.gif 0600 root bin 310 40564 1025499879
1 f none mscstyle3/images/letters2/34.gif 0600 root bin 558 11797 1025499879
1 f none mscstyle3/images/letters2/35.gif 0600 root bin 585 11066 1025499879
1 f none mscstyle3/images/letters2/36.gif 0600 root bin 571 11234 1025499879
1 f none mscstyle3/images/letters2/37.gif 0600 root bin 1062 37400 1025499879
1 f none mscstyle3/images/letters2/38.gif 0600 root bin 1019 44557 1025499879
1 f none mscstyle3/images/letters2/39.gif 0600 root bin 296 42569 1025499879
1 f none mscstyle3/images/letters2/40.gif 0600 root bin 542 14650 1025499879
1 f none mscstyle3/images/letters2/41.gif 0600 root bin 542 14460 1025499879
1 f none mscstyle3/images/letters2/42.gif 0600 root bin 558 12221 1025499879
1 f none mscstyle3/images/letters2/43.gif 0600 root bin 989 47633 1025499879
1 f none mscstyle3/images/letters2/44.gif 0600 root bin 310 40006 1025499879
1 f none mscstyle3/images/letters2/45.gif 0600 root bin 541 15202 1025499879
1 f none mscstyle3/images/letters2/46.gif 0600 root bin 510 20195 1025499879
1 f none mscstyle3/images/letters2/47.gif 0600 root bin 558 10868 1025499879
1 f none mscstyle3/images/letters2/48.gif 0600 root bin 590 9010 1025499879
1 f none mscstyle3/images/letters2/49.gif 0600 root bin 540 15561 1025499879
1 f none mscstyle3/images/letters2/50.gif 0600 root bin 584 9283 1025499879
1 f none mscstyle3/images/letters2/51.gif 0600 root bin 990 45705 1025499879
1 f none mscstyle3/images/letters2/52.gif 0600 root bin 1007 44010 1025499879
1 f none mscstyle3/images/letters2/53.gif 0600 root bin 585 9733 1025499879
1 f none mscstyle3/images/letters2/54.gif 0600 root bin 1008 44532 1025499879
1 f none mscstyle3/images/letters2/55.gif 0600 root bin 572 8948 1025499879
1 f none mscstyle3/images/letters2/56.gif 0600 root bin 588 8533 1025499879
1 f none mscstyle3/images/letters2/57.gif 0600 root bin 1006 44327 1025499879
1 f none mscstyle3/images/letters2/58.gif 0600 root bin 526 16868 1025499879
1 f none mscstyle3/images/letters2/59.gif 0600 root bin 310 39413 1025499879
1 f none mscstyle3/images/letters2/60.gif 0600 root bin 990 45812 1025499879
1 f none mscstyle3/images/letters2/61.gif 0600 root bin 1003 43510 1025499879
1 f none mscstyle3/images/letters2/62.gif 0600 root bin 1010 44066 1025499879
1 f none mscstyle3/images/letters2/63.gif 0600 root bin 992 44027 1025499879
1 f none mscstyle3/images/letters2/64.gif 0600 root bin 1042 38907 1025499879
1 f none mscstyle3/images/letters2/65.gif 0600 root bin 1041 40119 1025499879
1 f none mscstyle3/images/letters2/66.gif 0600 root bin 586 10590 1025499879
1 f none mscstyle3/images/letters2/67.gif 0600 root bin 1043 40012 1025499879
1 f none mscstyle3/images/letters2/68.gif 0600 root bin 1004 46563 1025499879
1 f none mscstyle3/images/letters2/69.gif 0600 root bin 547 15136 1025499879
1 f none mscstyle3/images/letters2/70.gif 0600 root bin 554 14171 1025499879
1 f none mscstyle3/images/letters2/71.gif 0600 root bin 1055 37599 1025499879
1 f none mscstyle3/images/letters2/72.gif 0600 root bin 579 10686 1025499879
1 f none mscstyle3/images/letters2/73.gif 0600 root bin 524 18096 1025499879
1 f none mscstyle3/images/letters2/74.gif 0600 root bin 575 8728 1025499879
1 f none mscstyle3/images/letters2/75.gif 0600 root bin 586 9316 1025499879
1 f none mscstyle3/images/letters2/76.gif 0600 root bin 574 9876 1025499879
1 f none mscstyle3/images/letters2/77.gif 0600 root bin 1039 42553 1025499879
1 f none mscstyle3/images/letters2/78.gif 0600 root bin 605 9909 1025499879
1 f none mscstyle3/images/letters2/79.gif 0600 root bin 1041 40225 1025499879
1 f none mscstyle3/images/letters2/80.gif 0600 root bin 589 8919 1025499879
1 f none mscstyle3/images/letters2/81.gif 0600 root bin 1053 41381 1025499879
1 f none mscstyle3/images/letters2/82.gif 0600 root bin 581 11709 1025499879
1 f none mscstyle3/images/letters2/83.gif 0600 root bin 989 47058 1025499879
1 f none mscstyle3/images/letters2/84.gif 0600 root bin 571 10321 1025499879
1 f none mscstyle3/images/letters2/85.gif 0600 root bin 593 7365 1025499879
1 f none mscstyle3/images/letters2/86.gif 0600 root bin 1029 41623 1025499879
1 f none mscstyle3/images/letters2/87.gif 0600 root bin 1078 36565 1025499879
1 f none mscstyle3/images/letters2/88.gif 0600 root bin 1026 42793 1025499879
1 f none mscstyle3/images/letters2/89.gif 0600 root bin 1029 40525 1025499879
1 f none mscstyle3/images/letters2/90.gif 0600 root bin 587 7856 1025499879
1 f none mscstyle3/images/letters2/91.gif 0600 root bin 526 17304 1025499879
1 f none mscstyle3/images/letters2/93.gif 0600 root bin 540 15142 1025499879
1 f none mscstyle3/images/letters2/94.gif 0600 root bin 993 47531 1025499879
1 f none mscstyle3/images/letters2/95.gif 0600 root bin 587 9580 1025499879
1 f none mscstyle3/images/letters2/96.gif 0600 root bin 542 14890 1025499879
1 f none mscstyle3/images/letters2/97.gif 0600 root bin 1023 41531 1025499879
1 f none mscstyle3/images/letters2/98.gif 0600 root bin 1007 44433 1025499879
1 f none mscstyle3/images/letters2/99.gif 0600 root bin 1008 42191 1025499879
1 f none mscstyle3/images/msctile.jpg 0600 root bin 1038 26032 1025499879
1 f none mscstyle3/images/msctile2.jpg 0600 root bin 658 21521 1025499879
1 d none mscstyle3/images/nav 0700 root bin
1 f none mscstyle3/images/nav/Thumbs.db 0600 root bin 6656 18361 1025499879
1 f none mscstyle3/images/nav/bg.jpg 0600 root bin 8373 63842 1025499879
1 f none mscstyle3/images/nav/bottom_bg.jpg 0600 root bin 458 24437 1025499879
1 f none mscstyle3/images/nav/bottom_left.jpg 0600 root bin 382 15962 1025499879
1 f none mscstyle3/images/nav/bottom_shadow.jpg 0600 root bin 437 23624 1025499879
1 f none mscstyle3/images/nav/bottom_shadow2.jpg 0600 root bin 386 16789 1025499879
1 f none mscstyle3/images/nav/left.jpg 0600 root bin 691 52723 1025499879
1 f none mscstyle3/images/nav/sep.jpg 0600 root bin 1147 42069 1025499879
1 f none mscstyle3/images/nav/text_bg.jpg 0600 root bin 1538 25084 1025499879
1 f none mscstyle3/images/nav/text_left.jpg 0600 root bin 425 20315 1025499879
1 f none mscstyle3/images/nav/text_sep.jpg 0600 root bin 552 36879 1025499879
1 d none mscstyle3/images/tabs 0700 root bin
1 f none mscstyle3/images/tabs/Thumbs.db 0600 root bin 5120 59276 1025499879
1 f none mscstyle3/images/tabs/bg.jpg 0600 root bin 333 14989 1025499879
1 f none mscstyle3/images/tabs/blue_left.jpg 0600 root bin 548 35621 1025499879
1 f none mscstyle3/images/tabs/blue_right.jpg 0600 root bin 699 53007 1025499879
1 f none mscstyle3/images/tabs/bottom.jpg 0600 root bin 438 22459 1025499879
1 f none mscstyle3/images/tabs/left.jpg 0600 root bin 394 21304 1025499879
1 f none mscstyle3/images/tabs/left_bottom.jpg 0600 root bin 413 19487 1025499879
1 f none mscstyle3/images/tabs/right.jpg 0600 root bin 434 25795 1025499879
1 f none mscstyle3/images/tabs/right_bottom.jpg 0600 root bin 427 21473 1025499879
1 f none mscstyle3/images/tabs/shadow.jpg 0600 root bin 386 16789 1025499879
1 f none mscstyle3/images/tabs/white_left.jpg 0600 root bin 407 22940 1025499879
1 f none mscstyle3/images/tabs/white_right.jpg 0600 root bin 469 31733 1025499879
1 f none mscstyle3/images/tabs/yellow_left.jpg 0600 root bin 595 41975 1025499879
1 f none mscstyle3/images/tabs/yellow_right.jpg 0600 root bin 749 60511 1025499879
1 f none mscstyle3/images/theme_by.jpg 0700 root bin 6974 57683 1025499879
1 d none mscstyle3/images/top_bar 0700 root bin
1 f none mscstyle3/images/top_bar/bg.jpg 0600 root bin 434 22866 1025499879
1 f none mscstyle3/images/top_bar/feedback.jpg 0600 root bin 1209 60624 1025499879
1 f none mscstyle3/images/top_bar/left.jpg 0600 root bin 491 29092 1025499879
1 f none mscstyle3/images/top_bar/logout.jpg 0600 root bin 3074 19083 1025499879
1 f none mscstyle3/images/top_bar/msc_logo.jpg 0600 root bin 3352 1918 1025499879
1 f none mscstyle3/images/top_bar/right.jpg 0600 root bin 496 31047 1025499879
1 f none mscstyle3/images/top_bar/shadow.jpg 0600 root bin 388 16345 1025499879
1 f none mscstyle3/images/top_bar/shadow_bg.jpg 0600 root bin 715 57462 1025499879
1 f none mscstyle3/images/top_bar/top_sep.jpg 0600 root bin 424 26940 1025499879
1 f none mscstyle3/images/top_bar/webmin_logo.jpg 0700 root bin 3654 37640 1025499879
1 f none mscstyle3/images/webmin_icon.png 0600 root bin 840 30935 1025499879
1 f none mscstyle3/images/white_bar.jpg 0600 root bin 363 14357 1025499879
1 f none mscstyle3/images/white_bar2.jpg 0600 root bin 310 8845 1025499879
1 f none mscstyle3/index.cgi 0700 root bin 5504 38115 1025499879
1 d none mscstyle3/inetd 0700 root bin
1 d none mscstyle3/inetd/images 0700 root bin
1 f none mscstyle3/inetd/images/icon.gif 0600 root bin 1341 11729 1025499878
1 d none mscstyle3/init 0700 root bin
1 d none mscstyle3/init/images 0700 root bin
1 f none mscstyle3/init/images/icon.gif 0600 root bin 1492 43250 1025499878
1 d none mscstyle3/initnetwork 0700 root bin
1 d none mscstyle3/initnetwork/images 0700 root bin
1 f none mscstyle3/initnetwork/images/icon.gif 0600 root bin 472 56702 1025499878
1 d none mscstyle3/inittab 0700 root bin
1 d none mscstyle3/inittab/images 0700 root bin
1 f none mscstyle3/inittab/images/icon.gif 0600 root bin 1955 40904 1025499878
1 d none mscstyle3/ipchains 0700 root bin
1 d none mscstyle3/ipchains/images 0700 root bin
1 f none mscstyle3/ipchains/images/icon.gif 0600 root bin 2485 25444 1025499878
1 d none mscstyle3/lilo 0700 root bin
1 d none mscstyle3/lilo/images 0700 root bin
1 f none mscstyle3/lilo/images/icon.gif 0600 root bin 1798 6052 1025499878
1 d none mscstyle3/lpadmin 0700 root bin
1 d none mscstyle3/lpadmin/images 0700 root bin
1 f none mscstyle3/lpadmin/images/icon.gif 0600 root bin 1828 60725 1025499879
1 d none mscstyle3/majordomo 0700 root bin
1 d none mscstyle3/majordomo/images 0700 root bin
1 f none mscstyle3/majordomo/images/icon.gif 0600 root bin 2247 33675 1025499879
1 d none mscstyle3/man 0700 root bin
1 d none mscstyle3/man/images 0700 root bin
1 f none mscstyle3/man/images/icon.gif 0600 root bin 1335 193 1025499879
1 d none mscstyle3/mount 0700 root bin
1 d none mscstyle3/mount/images 0700 root bin
1 f none mscstyle3/mount/images/icon.gif 0600 root bin 1767 14942 1025499879
1 d none mscstyle3/mysql 0700 root bin
1 d none mscstyle3/mysql/images 0700 root bin
1 f none mscstyle3/mysql/images/icon.gif 0600 root bin 1370 5187 1025499879
1 d none mscstyle3/net 0700 root bin
1 d none mscstyle3/net/images 0700 root bin
1 f none mscstyle3/net/images/icon.gif 0600 root bin 2442 34322 1025499879
1 d none mscstyle3/pam 0700 root bin
1 d none mscstyle3/pam/images 0700 root bin
1 f none mscstyle3/pam/images/icon.gif 0600 root bin 1671 52858 1025499879
1 d none mscstyle3/pap 0700 root bin
1 d none mscstyle3/pap/images 0700 root bin
1 f none mscstyle3/pap/images/icon.gif 0600 root bin 1778 2979 1025499879
1 d none mscstyle3/postfix 0700 root bin
1 d none mscstyle3/postfix/images 0700 root bin
1 f none mscstyle3/postfix/images/icon.gif 0600 root bin 1729 59226 1025499879
1 d none mscstyle3/postgresql 0700 root bin
1 d none mscstyle3/postgresql/images 0700 root bin
1 f none mscstyle3/postgresql/images/icon.gif 0600 root bin 2326 14400 1025499879
1 d none mscstyle3/proc 0700 root bin
1 d none mscstyle3/proc/images 0700 root bin
1 f none mscstyle3/proc/images/icon.gif 0600 root bin 2230 46896 1025499879
1 d none mscstyle3/quota 0700 root bin
1 d none mscstyle3/quota/images 0700 root bin
1 f none mscstyle3/quota/images/icon.gif 0600 root bin 2020 46607 1025499879
1 d none mscstyle3/raid 0700 root bin
1 d none mscstyle3/raid/images 0700 root bin
1 f none mscstyle3/raid/images/icon.gif 0600 root bin 1861 34775 1025499879
1 d none mscstyle3/samba 0700 root bin
1 d none mscstyle3/samba/images 0700 root bin
1 f none mscstyle3/samba/images/icon.gif 0600 root bin 1089 52489 1025499879
1 d none mscstyle3/sendmail 0700 root bin
1 d none mscstyle3/sendmail/images 0700 root bin
1 f none mscstyle3/sendmail/images/icon.gif 0600 root bin 2006 17609 1025499879
1 d none mscstyle3/servers 0700 root bin
1 d none mscstyle3/servers/images 0700 root bin
1 f none mscstyle3/servers/images/icon.gif 0600 root bin 1526 31216 1025499879
1 d none mscstyle3/software 0700 root bin
1 d none mscstyle3/software/images 0700 root bin
1 f none mscstyle3/software/images/icon.gif 0600 root bin 1444 35536 1025499879
1 d none mscstyle3/squid 0700 root bin
1 d none mscstyle3/squid/images 0700 root bin
1 f none mscstyle3/squid/images/icon.gif 0600 root bin 1107 21547 1025499879
1 d none mscstyle3/ssh 0700 root bin
1 d none mscstyle3/ssh/images 0700 root bin
1 f none mscstyle3/ssh/images/icon.gif 0600 root bin 1877 60023 1025499879
1 d none mscstyle3/status 0700 root bin
1 d none mscstyle3/status/images 0700 root bin
1 f none mscstyle3/status/images/icon.gif 0600 root bin 1709 34002 1025499879
1 d none mscstyle3/syslog 0700 root bin
1 d none mscstyle3/syslog/images 0700 root bin
1 f none mscstyle3/syslog/images/icon.gif 0600 root bin 2121 33917 1025499879
1 d none mscstyle3/telnet 0700 root bin
1 d none mscstyle3/telnet/images 0700 root bin
1 f none mscstyle3/telnet/images/icon.gif 0600 root bin 2187 24082 1025499879
1 f none mscstyle3/theme.info 0600 root bin 49 3985 1025499882
1 f none mscstyle3/theme.pl 0700 root bin 16336 60416 1025499879
1 d none mscstyle3/time 0700 root bin
1 d none mscstyle3/time/images 0700 root bin
1 f none mscstyle3/time/images/icon.gif 0600 root bin 1647 2402 1025499879
1 d none mscstyle3/unauthenticated 0700 root bin
1 f none mscstyle3/unauthenticated/apache.gif 0600 root bin 524 52842 1025499879
1 d none mscstyle3/useradmin 0700 root bin
1 d none mscstyle3/useradmin/images 0700 root bin
1 f none mscstyle3/useradmin/images/icon.gif 0600 root bin 1951 48287 1025499879
1 d none mscstyle3/webmin 0700 root bin
1 d none mscstyle3/webmin/images 0700 root bin
1 f none mscstyle3/webmin/images/icon.gif 0600 root bin 2303 63158 1025499879
1 d none mscstyle3/webminlog 0700 root bin
1 d none mscstyle3/webminlog/images 0700 root bin
1 f none mscstyle3/webminlog/images/icon.gif 0600 root bin 2121 33917 1025499879
1 d none mscstyle3/wuftpd 0700 root bin
1 d none mscstyle3/wuftpd/images 0700 root bin
1 f none mscstyle3/wuftpd/images/icon.gif 0600 root bin 1611 7782 1025499879
1 d none mscstyle3/xinetd 0700 root bin
1 d none mscstyle3/xinetd/images 0700 root bin
1 f none mscstyle3/xinetd/images/icon.gif 0600 root bin 1341 11729 1025499879
1 d none mysql 0700 root bin
1 f none mysql/acl_security.pl 0600 root bin 3653 35958 1025499867
1 f none mysql/backup_db.cgi 0700 root bin 1465 55783 1025499868
1 f none mysql/backup_form.cgi 0700 root bin 1734 15925 1025499868
1 f none mysql/config 0600 root bin 357 33767 1025499868
1 f none mysql/config-aix 0600 root bin 305 28855 1025499868
1 f none mysql/config-cobalt-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-debian-linux 0600 root bin 254 23622 1025499867
1 f none mysql/config-debian-linux-2.2 0600 root bin 325 29975 1025499867
1 f none mysql/config-debian-linux-3.0 0600 root bin 325 29975 1025499868
1 f none mysql/config-freebsd 0600 root bin 305 28855 1025499867
1 f none mysql/config-gentoo-linux 0600 root bin 271 25609 1025499868
1 f none mysql/config-mandrake-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-msc-linux 0600 root bin 285 26973 1025499868
1 f none mysql/config-netbsd 0600 root bin 291 27448 1025499868
1 f none mysql/config-open-linux 0600 root bin 281 26421 1025499867
1 f none mysql/config-redhat-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-redhat-linux-7.0 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.1 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.2 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.3 0600 root bin 283 26621 1025499868
1 f none mysql/config-slackware-linux-8.0 0600 root bin 287 26706 1025499868
1 f none mysql/config-slackware-linux-8.1 0600 root bin 287 26706 1025499868
1 f none mysql/config-suse-linux 0600 root bin 273 25833 1025499867
1 f none mysql/config-suse-linux-7.1 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-7.2 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-7.3 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-8.0 0600 root bin 271 25609 1025499868
1 f none mysql/config-turbo-linux 0600 root bin 281 26421 1025499867
1 f none mysql/config.info 0600 root bin 681 62383 1025499868
1 f none mysql/config.info.ca 0600 root bin 737 3023 1025499868
1 f none mysql/config.info.cz 0600 root bin 360 37414 1025499868
1 f none mysql/config.info.de 0600 root bin 370 34444 1025499867
1 f none mysql/config.info.es 0600 root bin 742 4519 1025499867
1 f none mysql/config.info.hu 0600 root bin 407 41922 1025499868
1 f none mysql/config.info.pl 0600 root bin 779 9766 1025499868
1 f none mysql/config.info.sv 0600 root bin 657 64427 1025499867
1 f none mysql/config.info.tr 0600 root bin 374 38254 1025499868
1 f none mysql/config.info.zh_CN 0600 root bin 262 36389 1025499867
1 f none mysql/config.info.zh_TW.Big5 0600 root bin 306 39265 1025499867
1 f none mysql/create_table.cgi 0700 root bin 1653 63869 1025499867
1 f none mysql/defaultacl 0600 root bin 67 5649 1025499867
1 f none mysql/drop_dbase.cgi 0700 root bin 1475 55437 1025499868
1 f none mysql/drop_table.cgi 0700 root bin 1261 39270 1025499868
1 f none mysql/edit_cpriv.cgi 0700 root bin 2946 45212 1025499868
1 f none mysql/edit_db.cgi 0700 root bin 2349 59554 1025499867
1 f none mysql/edit_dbase.cgi 0700 root bin 2401 64441 1025499867
1 f none mysql/edit_field.cgi 0700 root bin 5375 43873 1025499867
1 f none mysql/edit_host.cgi 0700 root bin 1889 22854 1025499867
1 f none mysql/edit_table.cgi 0700 root bin 2614 19141 1025499867
1 f none mysql/edit_tpriv.cgi 0700 root bin 3058 53406 1025499868
1 f none mysql/edit_user.cgi 0700 root bin 2541 11088 1025499867
1 f none mysql/exec.cgi 0700 root bin 1798 11030 1025499867
1 f none mysql/exec_file.cgi 0700 root bin 1305 41023 1025499868
1 f none mysql/exec_form.cgi 0700 root bin 3088 62850 1025499867
1 d none mysql/help 0700 root bin
1 f none mysql/help/backup_form.ca.html 0600 root bin 629 57006 1025499867
1 f none mysql/help/backup_form.html 0600 root bin 504 45475 1025499867
1 f none mysql/help/cpriv.ca.html 0600 root bin 452 40106 1025499867
1 f none mysql/help/cpriv.es.html 0600 root bin 489 43613 1025499867
1 f none mysql/help/cpriv.html 0600 root bin 448 39427 1025499867
1 f none mysql/help/cpriv.sv.html 0600 root bin 397 38237 1025499867
1 f none mysql/help/cpriv.zh_TW.Big5.html 0600 root bin 291 38621 1025499867
1 f none mysql/help/cprivs.ca.html 0600 root bin 597 55378 1025499867
1 f none mysql/help/cprivs.es.html 0600 root bin 614 56877 1025499867
1 f none mysql/help/cprivs.html 0600 root bin 547 49639 1025499867
1 f none mysql/help/cprivs.sv.html 0600 root bin 516 51616 1025499867
1 f none mysql/help/cprivs.zh_TW.Big5.html 0600 root bin 321 49054 1025499867
1 f none mysql/help/create_cpriv.ca.html 0600 root bin 288 26511 1025499867
1 f none mysql/help/create_cpriv.es.html 0600 root bin 277 25477 1025499867
1 f none mysql/help/create_cpriv.html 0600 root bin 248 22493 1025499867
1 f none mysql/help/create_cpriv.sv.html 0600 root bin 235 23183 1025499867
1 f none mysql/help/create_cpriv.zh_TW.Big5.html 0600 root bin 159 21475 1025499867
1 f none mysql/help/create_db.ca.html 0600 root bin 303 27404 1025499867
1 f none mysql/help/create_db.es.html 0600 root bin 305 27752 1025499867
1 f none mysql/help/create_db.html 0600 root bin 254 23041 1025499867
1 f none mysql/help/create_db.sv.html 0600 root bin 240 23359 1025499867
1 f none mysql/help/create_db.zh_TW.Big5.html 0600 root bin 160 21495 1025499867
1 f none mysql/help/create_field.ca.html 0600 root bin 281 25466 1025499867
1 f none mysql/help/create_field.es.html 0600 root bin 277 25440 1025499867
1 f none mysql/help/create_field.html 0600 root bin 244 21435 1025499867
1 f none mysql/help/create_field.sv.html 0600 root bin 245 23461 1025499867
1 f none mysql/help/create_field.zh_TW.Big5.html 0600 root bin 170 23472 1025499867
1 f none mysql/help/create_tpriv.ca.html 0600 root bin 282 25863 1025499867
1 f none mysql/help/create_tpriv.es.html 0600 root bin 285 26057 1025499867
1 f none mysql/help/create_tpriv.html 0600 root bin 248 22505 1025499867
1 f none mysql/help/create_tpriv.sv.html 0600 root bin 238 23269 1025499867
1 f none mysql/help/create_tpriv.zh_TW.Big5.html 0600 root bin 159 21706 1025499867
1 f none mysql/help/create_user.ca.html 0600 root bin 247 22409 1025499867
1 f none mysql/help/create_user.es.html 0600 root bin 251 22665 1025499867
1 f none mysql/help/create_user.html 0600 root bin 210 18467 1025499867
1 f none mysql/help/create_user.sv.html 0600 root bin 221 21084 1025499867
1 f none mysql/help/create_user.zh_TW.Big5.html 0600 root bin 162 21963 1025499867
1 f none mysql/help/db.ca.html 0600 root bin 704 62036 1025499868
1 f none mysql/help/db.es.html 0600 root bin 749 622 1025499867
1 f none mysql/help/db.html 0600 root bin 628 54715 1025499867
1 f none mysql/help/db.sv.html 0600 root bin 620 58726 1025499867
1 f none mysql/help/db.zh_TW.Big5.html 0600 root bin 435 57249 1025499867
1 f none mysql/help/dbs.ca.html 0600 root bin 539 49108 1025499868
1 f none mysql/help/dbs.es.html 0600 root bin 551 51695 1025499867
1 f none mysql/help/dbs.html 0600 root bin 486 44736 1025499867
1 f none mysql/help/dbs.sv.html 0600 root bin 469 46295 1025499867
1 f none mysql/help/dbs.zh_TW.Big5.html 0600 root bin 357 52733 1025499867
1 f none mysql/help/edit_cpriv.ca.html 0600 root bin 345 31944 1025499868
1 f none mysql/help/edit_cpriv.es.html 0600 root bin 343 31359 1025499867
1 f none mysql/help/edit_cpriv.html 0600 root bin 309 27736 1025499867
1 f none mysql/help/edit_cpriv.sv.html 0600 root bin 296 29033 1025499867
1 f none mysql/help/edit_cpriv.zh_TW.Big5.html 0600 root bin 216 28715 1025499867
1 f none mysql/help/edit_db.ca.html 0600 root bin 358 32757 1025499868
1 f none mysql/help/edit_db.es.html 0600 root bin 359 32777 1025499867
1 f none mysql/help/edit_db.html 0600 root bin 310 27848 1025499867
1 f none mysql/help/edit_db.sv.html 0600 root bin 296 28897 1025499867
1 f none mysql/help/edit_db.zh_TW.Big5.html 0600 root bin 216 28865 1025499867
1 f none mysql/help/edit_dbase.ca.html 0600 root bin 522 46369 1025499868
1 f none mysql/help/edit_dbase.es.html 0600 root bin 506 45361 1025499867
1 f none mysql/help/edit_dbase.html 0600 root bin 423 37518 1025499867
1 f none mysql/help/edit_dbase.sv.html 0600 root bin 446 42636 1025499867
1 f none mysql/help/edit_dbase.zh_TW.Big5.html 0600 root bin 304 45974 1025499867
1 f none mysql/help/edit_field.ca.html 0600 root bin 427 38740 1025499868
1 f none mysql/help/edit_field.es.html 0600 root bin 398 36390 1025499867
1 f none mysql/help/edit_field.html 0600 root bin 358 31732 1025499867
1 f none mysql/help/edit_field.sv.html 0600 root bin 316 30510 1025499867
1 f none mysql/help/edit_field.zh_TW.Big5.html 0600 root bin 258 36839 1025499867
1 f none mysql/help/edit_table.ca.html 0600 root bin 630 56849 1025499868
1 f none mysql/help/edit_table.es.html 0600 root bin 623 57042 1025499867
1 f none mysql/help/edit_table.html 0600 root bin 549 49176 1025499867
1 f none mysql/help/edit_table.sv.html 0600 root bin 532 51846 1025499867
1 f none mysql/help/edit_table.zh_TW.Big5.html 0600 root bin 372 57953 1025499867
1 f none mysql/help/edit_tpriv.ca.html 0600 root bin 343 31745 1025499868
1 f none mysql/help/edit_tpriv.es.html 0600 root bin 356 32666 1025499867
1 f none mysql/help/edit_tpriv.html 0600 root bin 308 27623 1025499867
1 f none mysql/help/edit_tpriv.sv.html 0600 root bin 298 29090 1025499867
1 f none mysql/help/edit_tpriv.zh_TW.Big5.html 0600 root bin 220 29470 1025499867
1 f none mysql/help/edit_user.ca.html 0600 root bin 296 26853 1025499868
1 f none mysql/help/edit_user.es.html 0600 root bin 303 27196 1025499867
1 f none mysql/help/edit_user.html 0600 root bin 268 23530 1025499867
1 f none mysql/help/edit_user.sv.html 0600 root bin 271 26174 1025499867
1 f none mysql/help/edit_user.zh_TW.Big5.html 0600 root bin 213 27268 1025499867
1 f none mysql/help/exec_form.ca.html 0600 root bin 249 23707 1025499868
1 f none mysql/help/exec_form.es.html 0600 root bin 260 24162 1025499867
1 f none mysql/help/exec_form.html 0600 root bin 203 18090 1025499867
1 f none mysql/help/exec_form.sv.html 0600 root bin 215 20241 1025499867
1 f none mysql/help/exec_form.zh_TW.Big5.html 0600 root bin 180 22733 1025499867
1 f none mysql/help/field.ca.html 0600 root bin 945 17852 1025499868
1 f none mysql/help/field.es.html 0600 root bin 983 22252 1025499867
1 f none mysql/help/field.html 0600 root bin 904 14001 1025499867
1 f none mysql/help/field.sv.html 0600 root bin 883 18208 1025499867
1 f none mysql/help/field.zh_TW.Big5.html 0600 root bin 632 18126 1025499867
1 f none mysql/help/intro.ca.html 0600 root bin 796 7518 1025499868
1 f none mysql/help/intro.es.html 0600 root bin 837 11714 1025499867
1 f none mysql/help/intro.html 0600 root bin 699 63800 1025499867
1 f none mysql/help/intro.sv.html 0600 root bin 715 4207 1025499867
1 f none mysql/help/intro.zh_TW.Big5.html 0600 root bin 484 5331 1025499867
1 f none mysql/help/newdb_form.ca.html 0600 root bin 373 32745 1025499868
1 f none mysql/help/newdb_form.es.html 0600 root bin 393 35129 1025499867
1 f none mysql/help/newdb_form.html 0600 root bin 344 30615 1025499867
1 f none mysql/help/newdb_form.sv.html 0600 root bin 292 27182 1025499867
1 f none mysql/help/newdb_form.zh_TW.Big5.html 0600 root bin 249 37472 1025499867
1 f none mysql/help/table_form.ca.html 0600 root bin 369 32823 1025499868
1 f none mysql/help/table_form.es.html 0600 root bin 393 35354 1025499867
1 f none mysql/help/table_form.html 0600 root bin 345 30464 1025499867
1 f none mysql/help/table_form.sv.html 0600 root bin 306 28850 1025499867
1 f none mysql/help/table_form.zh_TW.Big5.html 0600 root bin 256 38915 1025499867
1 f none mysql/help/tpriv.ca.html 0600 root bin 660 58706 1025499868
1 f none mysql/help/tpriv.es.html 0600 root bin 664 59256 1025499867
1 f none mysql/help/tpriv.html 0600 root bin 614 54166 1025499867
1 f none mysql/help/tpriv.sv.html 0600 root bin 526 51452 1025499867
1 f none mysql/help/tpriv.zh_TW.Big5.html 0600 root bin 410 56879 1025499867
1 f none mysql/help/tprivs.ca.html 0600 root bin 673 62594 1025499868
1 f none mysql/help/tprivs.es.html 0600 root bin 687 63607 1025499867
1 f none mysql/help/tprivs.html 0600 root bin 595 54084 1025499867
1 f none mysql/help/tprivs.sv.html 0600 root bin 550 54119 1025499867
1 f none mysql/help/tprivs.zh_TW.Big5.html 0600 root bin 351 52647 1025499867
1 f none mysql/help/user.ca.html 0600 root bin 863 11025 1025499868
1 f none mysql/help/user.es.html 0600 root bin 923 16990 1025499867
1 f none mysql/help/user.html 0600 root bin 787 2723 1025499867
1 f none mysql/help/user.sv.html 0600 root bin 792 8332 1025499867
1 f none mysql/help/user.zh_TW.Big5.html 0600 root bin 532 3731 1025499867
1 f none mysql/help/users.ca.html 0600 root bin 626 57743 1025499868
1 f none mysql/help/users.es.html 0600 root bin 637 58558 1025499867
1 f none mysql/help/users.html 0600 root bin 549 49754 1025499867
1 f none mysql/help/users.sv.html 0600 root bin 503 50304 1025499867
1 f none mysql/help/users.zh_TW.Big5.html 0600 root bin 363 53693 1025499867
1 d none mysql/images 0700 root bin
1 f none mysql/images/cprivs.gif 0600 root bin 399 49837 1025499867
1 f none mysql/images/db.gif 0600 root bin 462 58683 1025499867
1 f none mysql/images/dbs.gif 0600 root bin 507 62354 1025499867
1 f none mysql/images/delete.gif 0600 root bin 66 4724 1025499867
1 f none mysql/images/edit.gif 0600 root bin 60 4152 1025499867
1 f none mysql/images/hosts.gif 0600 root bin 412 49712 1025499867
1 f none mysql/images/icon.gif 0600 root bin 1370 5187 1025499867
1 f none mysql/images/mysql.gif 0600 root bin 2371 12001 1025499867
1 f none mysql/images/table.gif 0600 root bin 366 49508 1025499867
1 f none mysql/images/tprivs.gif 0600 root bin 447 56041 1025499867
1 f none mysql/images/users.gif 0600 root bin 293 35470 1025499867
1 f none mysql/import.cgi 0700 root bin 1637 2434 1025499868
1 f none mysql/index.cgi 0700 root bin 4818 58398 1025499868
1 d none mysql/lang 0700 root bin
1 f none mysql/lang/ca 0600 root bin 17991 38608 1025499867
1 f none mysql/lang/cz 0600 root bin 10353 61552 1025499867
1 f none mysql/lang/de 0600 root bin 11608 50801 1025499867
1 f none mysql/lang/en 0600 root bin 15509 3210 1025499867
1 f none mysql/lang/es 0600 root bin 17256 46110 1025499867
1 f none mysql/lang/he 0600 root bin 11465 41092 1025499867
1 f none mysql/lang/hu 0600 root bin 14727 24590 1025499867
1 f none mysql/lang/it 0600 root bin 8843 51862 1025499867
1 f none mysql/lang/ja_JP.euc 0600 root bin 14936 5295 1025499867
1 f none mysql/lang/ko_KR.euc 0600 root bin 13552 53553 1025499867
1 f none mysql/lang/pl 0600 root bin 16880 53996 1025499867
1 f none mysql/lang/sv 0600 root bin 15345 54199 1025499867
1 f none mysql/lang/tr 0600 root bin 12492 46721 1025499867
1 f none mysql/lang/zh_CN 0600 root bin 8848 4555 1025499867
1 f none mysql/lang/zh_TW.Big5 0600 root bin 7355 35187 1025499867
1 f none mysql/list_cprivs.cgi 0700 root bin 1829 13209 1025499868
1 f none mysql/list_dbs.cgi 0700 root bin 1547 53760 1025499867
1 f none mysql/list_hosts.cgi 0700 root bin 1409 45685 1025499868
1 f none mysql/list_tprivs.cgi 0700 root bin 1828 12721 1025499867
1 f none mysql/list_users.cgi 0700 root bin 2237 51783 1025499868
1 f none mysql/log_parser.pl 0600 root bin 2227 44086 1025499868
1 f none mysql/login.cgi 0700 root bin 524 45282 1025499867
1 f none mysql/module.info 0600 root bin 515 51944 1025499882
1 f none mysql/mysql-lib.pl 0600 root bin 7524 53711 1025499867
1 f none mysql/newdb.cgi 0700 root bin 1229 31941 1025499868
1 f none mysql/newdb_form.cgi 0700 root bin 1536 61776 1025499867
1 f none mysql/save_cpriv.cgi 0700 root bin 2713 12317 1025499867
1 f none mysql/save_db.cgi 0700 root bin 2594 61958 1025499867
1 f none mysql/save_field.cgi 0700 root bin 3067 47087 1025499868
1 f none mysql/save_host.cgi 0700 root bin 2161 32837 1025499868
1 f none mysql/save_sync.cgi 0700 root bin 398 35044 1025499868
1 f none mysql/save_tpriv.cgi 0700 root bin 2614 5245 1025499867
1 f none mysql/save_user.cgi 0700 root bin 2683 11612 1025499867
1 f none mysql/start.cgi 0700 root bin 335 27452 1025499868
1 f none mysql/stop.cgi 0700 root bin 378 31294 1025499867
1 f none mysql/table_form.cgi 0700 root bin 2188 48556 1025499868
1 f none mysql/useradmin_update.pl 0600 root bin 2758 28688 1025499868
1 f none mysql/view_table.cgi 0700 root bin 11080 63754 1025499867
1 d none net 0700 root bin
1 f none net/acl_security.pl 0600 root bin 1929 28359 1025499863
1 f none net/cobalt-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/config-cobalt-linux 0600 root bin 22 2114 1025499863
1 f none net/config-debian-linux 0600 root bin 22 2114 1025499863
1 f none net/config-freebsd 0600 root bin 22 2114 1025499863
1 f none net/config-lfs-linux 0600 root bin 22 2114 1025499862
1 f none net/config-mandrake-linux 0600 root bin 22 2114 1025499863
1 f none net/config-msc-linux 0600 root bin 22 2114 1025499863
1 f none net/config-netbsd 0600 root bin 22 2114 1025499863
1 f none net/config-open-linux 0600 root bin 22 2114 1025499862
1 f none net/config-openbsd 0600 root bin 22 2114 1025499863
1 f none net/config-redhat-linux 0600 root bin 22 2114 1025499863
1 f none net/config-solaris 0600 root bin 22 2114 1025499863
1 f none net/config-suse-linux 0600 root bin 22 2114 1025499863
1 f none net/config-turbo-linux 0600 root bin 22 2114 1025499862
1 f none net/config-unixware 0600 root bin 22 2114 1025499863
1 f none net/config.info 0600 root bin 46 4335 1025499863
1 f none net/config.info.ca 0600 root bin 57 5126 1025499863
1 f none net/config.info.de 0600 root bin 64 5979 1025499863
1 f none net/config.info.es 0600 root bin 61 5919 1025499862
1 f none net/config.info.fr 0600 root bin 52 4872 1025499863
1 f none net/config.info.ja_JP.euc 0600 root bin 50 7833 1025499863
1 f none net/config.info.pl 0600 root bin 71 6775 1025499863
1 f none net/config.info.ru_RU 0600 root bin 46 7727 1025499863
1 f none net/config.info.ru_SU 0600 root bin 46 6970 1025499862
1 f none net/config.info.sv 0600 root bin 42 3880 1025499863
1 f none net/config.info.tr 0600 root bin 62 6401 1025499863
1 f none net/config.info.zh_CN 0600 root bin 34 5205 1025499862
1 f none net/config.info.zh_TW.Big5 0600 root bin 34 4644 1025499863
1 f none net/debian-linux-lib.pl 0600 root bin 16968 32449 1025499863
1 f none net/defaultacl 0600 root bin 30 2465 1025499863
1 f none net/edit_aifc.cgi 0700 root bin 3917 51701 1025499863
1 f none net/edit_bifc.cgi 0700 root bin 4094 62012 1025499863
1 f none net/edit_host.cgi 0700 root bin 1308 45200 1025499863
1 f none net/feedback_files.pl 0600 root bin 76 6212 1025499863
1 f none net/freebsd-lib.pl 0600 root bin 10809 58759 1025499863
1 d none net/images 0700 root bin
1 f none net/images/dns.gif 0600 root bin 374 42949 1025499863
1 f none net/images/hosts.gif 0600 root bin 307 35512 1025499863
1 f none net/images/icon.gif 0600 root bin 364 43854 1025499863
1 f none net/images/ifcs.gif 0600 root bin 362 43063 1025499863
1 f none net/images/routes.gif 0600 root bin 315 37774 1025499863
1 f none net/index.cgi 0700 root bin 513 42164 1025499863
1 d none net/lang 0700 root bin
1 f none net/lang/ca 0600 root bin 4911 13001 1025499863
1 f none net/lang/cz 0600 root bin 3061 29138 1025499863
1 f none net/lang/de 0600 root bin 5814 14072 1025499863
1 f none net/lang/en 0600 root bin 4388 16569 1025499863
1 f none net/lang/es 0600 root bin 4792 586 1025499863
1 f none net/lang/fr 0600 root bin 4902 11995 1025499863
1 f none net/lang/ja_JP.euc 0600 root bin 4152 9580 1025499863
1 f none net/lang/ko_KR.euc 0600 root bin 3693 57438 1025499863
1 f none net/lang/pl 0600 root bin 4693 64966 1025499863
1 f none net/lang/pt 0600 root bin 3304 58301 1025499863
1 f none net/lang/ru_RU 0600 root bin 3446 57843 1025499863
1 f none net/lang/ru_SU 0600 root bin 3452 4421 1025499863
1 f none net/lang/sv 0600 root bin 3932 52301 1025499863
1 f none net/lang/tr 0600 root bin 3874 4207 1025499863
1 f none net/lang/zh_CN 0600 root bin 2728 46686 1025499863
1 f none net/lang/zh_TW.Big5 0600 root bin 2605 8615 1025499863
1 f none net/list_dns.cgi 0700 root bin 1469 57412 1025499863
1 f none net/list_hosts.cgi 0700 root bin 996 14820 1025499863
1 f none net/list_ifcs.cgi 0700 root bin 3157 48743 1025499863
1 f none net/list_routes.cgi 0700 root bin 600 51310 1025499863
1 f none net/log_parser.pl 0600 root bin 725 60646 1025499863
1 f none net/mandrake-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/module.info 0600 root bin 1171 48940 1025499882
1 f none net/msc-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/net-lib.pl 0600 root bin 1454 49805 1025499863
1 f none net/netbsd-lib.pl 0600 root bin 10804 58254 1025499863
1 f none net/open-linux-lib.pl 0600 root bin 11572 8588 1025499863
1 f none net/openbsd-lib.pl 0600 root bin 12990 33528 1025499863
1 f none net/redhat-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/save_aifc.cgi 0700 root bin 2689 10612 1025499862
1 f none net/save_bifc.cgi 0700 root bin 2808 19517 1025499863
1 f none net/save_dns.cgi 0700 root bin 883 5059 1025499862
1 f none net/save_host.cgi 0700 root bin 1144 26535 1025499863
1 f none net/save_routes.cgi 0700 root bin 289 25170 1025499863
1 f none net/slackware-linux-lib.pl 0600 root bin 2441 60195 1025499863
1 f none net/solaris-lib.pl 0600 root bin 10723 47866 1025499863
1 f none net/suse-linux-8.0-lib.pl 0600 root bin 13433 8811 1025499863
1 f none net/suse-linux-lib.pl 0600 root bin 15130 59924 1025499862
1 f none net/turbo-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/unixware-lib.pl 0600 root bin 10429 25659 1025499863
1 f none newmods.pl 0700 root bin 582 42068 1025499831
1 d none nis 0700 root bin
1 f none nis/build.cgi 0700 root bin 168 14175 1025499875
1 f none nis/config-debian-linux 0600 root bin 167 15897 1025499875
1 f none nis/config-generic-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-mandrake-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-msc-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-open-linux 0600 root bin 164 15560 1025499875
1 f none nis/config-redhat-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-slackware-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-solaris 0600 root bin 167 16089 1025499875
1 f none nis/config-solaris-8 0600 root bin 199 19277 1025499875
1 f none nis/config-solaris-9 0600 root bin 199 19277 1025499875
1 f none nis/config-suse-linux 0600 root bin 163 15463 1025499875
1 f none nis/config.info 0600 root bin 260 24031 1025499875
1 f none nis/config.info.ca 0600 root bin 291 27345 1025499875
1 f none nis/config.info.es 0600 root bin 193 18344 1025499875
1 f none nis/config.info.pl 0600 root bin 299 28736 1025499875
1 f none nis/config.info.sv 0600 root bin 163 16195 1025499875
1 f none nis/debian-linux-lib.pl 0600 root bin 13361 22301 1025499875
1 f none nis/edit_aliases.cgi 0700 root bin 1221 37529 1025499875
1 f none nis/edit_client.cgi 0700 root bin 1311 45251 1025499875
1 f none nis/edit_ethers.cgi 0700 root bin 1156 32277 1025499875
1 f none nis/edit_group.cgi 0700 root bin 1840 24729 1025499875
1 f none nis/edit_group_shadow.cgi 0700 root bin 1866 27236 1025499875
1 f none nis/edit_hosts.cgi 0700 root bin 1330 46591 1025499875
1 f none nis/edit_netgroup.cgi 0700 root bin 2048 34221 1025499875
1 f none nis/edit_netmasks.cgi 0700 root bin 1180 34929 1025499875
1 f none nis/edit_networks.cgi 0700 root bin 1369 50907 1025499875
1 f none nis/edit_passwd.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_passwd_shadow.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_passwd_shadow_full.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_protocols.cgi 0700 root bin 1369 51203 1025499875
1 f none nis/edit_rpc.cgi 0700 root bin 1317 44960 1025499875
1 f none nis/edit_security.cgi 0700 root bin 1809 8328 1025499875
1 f none nis/edit_server.cgi 0700 root bin 604 50433 1025499875
1 f none nis/edit_services.cgi 0700 root bin 1544 64303 1025499875
1 f none nis/edit_services2.cgi 0700 root bin 1546 64331 1025499875
1 f none nis/edit_switch.cgi 0700 root bin 1672 60660 1025499875
1 f none nis/edit_tables.cgi 0700 root bin 6365 38620 1025499875
1 f none nis/feedback_files.pl 0600 root bin 157 12964 1025499875
1 d none nis/images 0700 root bin
1 f none nis/images/client.gif 0600 root bin 272 33549 1025499875
1 f none nis/images/icon.gif 0600 root bin 413 46276 1025499875
1 f none nis/images/security.gif 0600 root bin 275 34570 1025499875
1 f none nis/images/server.gif 0600 root bin 415 48303 1025499875
1 f none nis/images/switch.gif 0600 root bin 282 35935 1025499875
1 f none nis/images/tables.gif 0600 root bin 366 49508 1025499875
1 f none nis/index.cgi 0700 root bin 778 62968 1025499875
1 d none nis/lang 0700 root bin
1 f none nis/lang/ca 0600 root bin 9942 39532 1025499875
1 f none nis/lang/en 0600 root bin 8982 6916 1025499875
1 f none nis/lang/es 0600 root bin 9787 25766 1025499875
1 f none nis/lang/fr 0600 root bin 10322 18002 1025499875
1 f none nis/lang/ja_JP.euc 0600 root bin 9335 1937 1025499875
1 f none nis/lang/ko_KR.euc 0600 root bin 8430 38373 1025499875
1 f none nis/lang/pl 0600 root bin 9978 228 1025499875
1 f none nis/lang/sv 0600 root bin 9608 38854 1025499875
1 f none nis/lang/zh_TW.Big5 0600 root bin 7612 18996 1025499875
1 f none nis/mandrake-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/module.info 0600 root bin 460 48023 1025499882
1 f none nis/msc-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/nis-lib.pl 0600 root bin 7104 19413 1025499875
1 f none nis/nisupdate.conf 0600 root bin 1982 36044 1025499875
1 f none nis/old_edit_passwd_shadow.cgi 0700 root bin 4715 61163 1025499875
1 f none nis/open-linux-lib.pl 0600 root bin 10943 12637 1025499875
1 f none nis/redhat-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/save_aliases.cgi 0700 root bin 755 61038 1025499875
1 f none nis/save_client.cgi 0700 root bin 669 54815 1025499875
1 f none nis/save_ethers.cgi 0700 root bin 768 62888 1025499875
1 f none nis/save_file.cgi 0700 root bin 562 44952 1025499875
1 f none nis/save_group.cgi 0700 root bin 945 8697 1025499875
1 f none nis/save_group_shadow.cgi 0700 root bin 1064 17685 1025499875
1 f none nis/save_hosts.cgi 0700 root bin 764 62401 1025499875
1 f none nis/save_netgroup.cgi 0700 root bin 1076 18722 1025499875
1 f none nis/save_netmasks.cgi 0700 root bin 759 63279 1025499875
1 f none nis/save_networks.cgi 0700 root bin 797 518 1025499875
1 f none nis/save_passwd_shadow.cgi 0700 root bin 2466 61345 1025499875
1 f none nis/save_protocols.cgi 0700 root bin 812 1905 1025499875
1 f none nis/save_rpc.cgi 0700 root bin 752 61179 1025499875
1 f none nis/save_security.cgi 0700 root bin 822 64446 1025499875
1 f none nis/save_server.cgi 0700 root bin 190 16372 1025499875
1 f none nis/save_services.cgi 0700 root bin 781 64370 1025499875
1 f none nis/save_services2.cgi 0700 root bin 782 64420 1025499875
1 f none nis/save_switch.cgi 0700 root bin 539 42772 1025499875
1 f none nis/slackware-linux-lib.pl 0600 root bin 13140 7041 1025499875
1 f none nis/solaris-lib.pl 0600 root bin 9949 15296 1025499875
1 f none nis/suse-linux-lib.pl 0600 root bin 15147 29370 1025499875
1 f none os_list.txt 0600 root bin 13200 36944 1025499831
1 f none oschooser.pl 0600 root bin 2682 10333 1025499831
1 d none pam 0700 root bin
1 f none pam/config-cobalt-linux 0600 root bin 251 24204 1025499874
1 f none pam/config-corel-linux 0600 root bin 240 23294 1025499874
1 f none pam/config-debian-linux 0600 root bin 240 23294 1025499874
1 f none pam/config-generic-linux 0600 root bin 252 24318 1025499875
1 f none pam/config-gentoo-linux 0600 root bin 240 23294 1025499875
1 f none pam/config-mandrake-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-msc-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-open-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-redhat-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-suse-linux 0600 root bin 252 24456 1025499874
1 f none pam/config-turbo-linux 0600 root bin 252 24318 1025499874
1 f none pam/config.info 0600 root bin 163 15043 1025499874
1 f none pam/config.info.ca 0600 root bin 172 15864 1025499875
1 f none pam/config.info.es 0600 root bin 181 16914 1025499874
1 f none pam/config.info.pl 0600 root bin 157 14745 1025499874
1 f none pam/config.info.sv 0600 root bin 173 16230 1025499874
1 f none pam/create_form.cgi 0700 root bin 1014 20589 1025499874
1 f none pam/create_pam.cgi 0700 root bin 1780 1412 1025499874
1 f none pam/delete_pam.cgi 0700 root bin 286 23041 1025499874
1 f none pam/edit_mod.cgi 0700 root bin 2611 11720 1025499874
1 f none pam/edit_pam.cgi 0700 root bin 2933 31166 1025499874
1 f none pam/feedback_files.pl 0600 root bin 182 14689 1025499875
1 d none pam/images 0700 root bin
1 f none pam/images/down.gif 0600 root bin 108 8892 1025499874
1 f none pam/images/gap.gif 0600 root bin 73 6048 1025499874
1 f none pam/images/icon.gif 0600 root bin 275 34570 1025499874
1 f none pam/images/up.gif 0600 root bin 103 9086 1025499874
1 f none pam/index.cgi 0700 root bin 1348 41680 1025499874
1 d none pam/lang 0700 root bin
1 f none pam/lang/ca 0600 root bin 9228 34292 1025499874
1 f none pam/lang/en 0600 root bin 8019 41072 1025499874
1 f none pam/lang/es 0600 root bin 9423 54086 1025499874
1 f none pam/lang/fr 0600 root bin 10035 52904 1025499874
1 f none pam/lang/ja_JP.euc 0600 root bin 8233 22532 1025499874
1 f none pam/lang/ja_JP.jis 0600 root bin 8233 18425 1025499874
1 f none pam/lang/ko_KR.euc 0600 root bin 7259 30528 1025499874
1 f none pam/lang/pl 0600 root bin 9281 1833 1025499874
1 f none pam/lang/sv 0600 root bin 8316 40678 1025499874
1 f none pam/lang/zh_TW.Big5 0600 root bin 6694 30568 1025499874
1 f none pam/log_parser.pl 0600 root bin 818 467 1025499874
1 f none pam/module.info 0600 root bin 464 44053 1025499882
1 f none pam/move.cgi 0700 root bin 592 46501 1025499874
1 f none pam/pam-lib.pl 0600 root bin 2773 19689 1025499874
1 f none pam/pam_cracklib.so.pl 0600 root bin 1156 31546 1025499874
1 f none pam/pam_deny.so.pl 0600 root bin 51 4181 1025499874
1 f none pam/pam_env.so.pl 0600 root bin 1600 55957 1025499874
1 f none pam/pam_filter.so.pl 0600 root bin 53 4395 1025499874
1 f none pam/pam_group.so.pl 0600 root bin 1585 60372 1025499874
1 f none pam/pam_listfile.so.pl 0600 root bin 2286 56346 1025499874
1 f none pam/pam_mail.so.pl 0600 root bin 2177 46694 1025499874
1 f none pam/pam_motd.so.pl 0600 root bin 770 63947 1025499874
1 f none pam/pam_nologin.so.pl 0600 root bin 54 4507 1025499874
1 f none pam/pam_permit.so.pl 0600 root bin 53 4406 1025499874
1 f none pam/pam_pwdb.so.pl 0600 root bin 1678 6370 1025499874
1 f none pam/pam_rhosts_auth.so.pl 0600 root bin 1773 19801 1025499874
1 f none pam/pam_rootok.so.pl 0600 root bin 53 4419 1025499874
1 f none pam/pam_securetty.so.pl 0600 root bin 603 51028 1025499874
1 f none pam/pam_shells.so.pl 0600 root bin 601 50548 1025499874
1 f none pam/pam_stack.so.pl 0600 root bin 714 58222 1025499874
1 f none pam/pam_tally.so.pl 0600 root bin 2121 44967 1025499874
1 f none pam/pam_time.so.pl 0600 root bin 1425 47128 1025499874
1 f none pam/pam_wheel.so.pl 0600 root bin 1477 57315 1025499874
1 f none pam/save_mod.cgi 0700 root bin 1601 53797 1025499874
1 f none pam/template.pl 0600 root bin 162 14372 1025499874
1 d none pap 0700 root bin
1 f none pap/config-corel-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-debian-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-freebsd 0600 root bin 45 4249 1025499856
1 f none pap/config-generic-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-gentoo-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-mandrake-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-msc-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-open-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-redhat-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-slackware-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-suse-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-turbo-linux 0600 root bin 45 4249 1025499856
1 f none pap/config.info 0600 root bin 89 7970 1025499856
1 f none pap/config.info.ca 0600 root bin 104 9430 1025499856
1 f none pap/config.info.de 0600 root bin 125 11263 1025499856
1 f none pap/config.info.es 0600 root bin 113 10146 1025499856
1 f none pap/config.info.fr 0600 root bin 104 9181 1025499856
1 f none pap/config.info.pl 0600 root bin 84 7595 1025499856
1 f none pap/config.info.sv 0600 root bin 104 9726 1025499856
1 f none pap/config.info.tr 0600 root bin 105 10166 1025499856
1 f none pap/config.info.zh_CN 0600 root bin 75 10385 1025499856
1 f none pap/config.info.zh_TW.Big5 0600 root bin 75 8418 1025499856
1 f none pap/edit_secret.cgi 0700 root bin 3259 5979 1025499856
1 d none pap/images 0700 root bin
1 f none pap/images/icon.gif 0600 root bin 279 33204 1025499856
1 f none pap/index.cgi 0700 root bin 2049 33263 1025499856
1 d none pap/lang 0700 root bin
1 f none pap/lang/ca 0600 root bin 1705 31001 1025499856
1 f none pap/lang/de 0600 root bin 2411 20261 1025499856
1 f none pap/lang/en 0600 root bin 1520 11228 1025499856
1 f none pap/lang/es 0600 root bin 1701 29819 1025499856
1 f none pap/lang/ja_JP.euc 0600 root bin 1633 32769 1025499856
1 f none pap/lang/ja_JP.jis 0600 root bin 1633 59572 1025499856
1 f none pap/lang/ko_KR.euc 0600 root bin 1464 65111 1025499856
1 f none pap/lang/pl 0600 root bin 1728 40186 1025499856
1 f none pap/lang/sv 0600 root bin 1588 24404 1025499856
1 f none pap/lang/zh_CN 0600 root bin 1254 34247 1025499856
1 f none pap/lang/zh_TW.Big5 0600 root bin 1223 17944 1025499856
1 f none pap/log_parser.pl 0600 root bin 678 57039 1025499856
1 f none pap/module.info 0600 root bin 756 11426 1025499882
1 f none pap/pap-lib.pl 0600 root bin 1627 61425 1025499856
1 f none pap/save_secret.cgi 0700 root bin 1410 48606 1025499856
1 f none pap/save_sync.cgi 0700 root bin 493 42266 1025499856
1 f none pap/useradmin_update.pl 0600 root bin 1474 55080 1025499856
1 d none passwd 0700 root bin
1 f none passwd/acl_security.pl 0600 root bin 3185 59066 1025499875
1 f none passwd/config 0600 root bin 39 3515 1025499875
1 f none passwd/config.info 0600 root bin 229 21169 1025499875
1 f none passwd/config.info.ca 0600 root bin 284 26384 1025499875
1 f none passwd/config.info.de 0600 root bin 281 25901 1025499875
1 f none passwd/config.info.es 0600 root bin 210 19598 1025499875
1 f none passwd/config.info.nl 0600 root bin 183 17163 1025499876
1 f none passwd/config.info.pl 0600 root bin 221 22468 1025499875
1 f none passwd/config.info.zh_TW.Big5 0600 root bin 135 19190 1025499876
1 f none passwd/defaultacl 0600 root bin 49 4123 1025499875
1 f none passwd/edit_passwd.cgi 0700 root bin 1493 59611 1025499875
1 d none passwd/images 0700 root bin
1 f none passwd/images/icon.gif 0600 root bin 304 36662 1025499875
1 f none passwd/index.cgi 0700 root bin 2607 9292 1025499875
1 d none passwd/lang 0700 root bin
1 f none passwd/lang/ca 0600 root bin 1702 31482 1025499875
1 f none passwd/lang/de 0600 root bin 2348 12762 1025499875
1 f none passwd/lang/en 0600 root bin 1439 4901 1025499875
1 f none passwd/lang/es 0600 root bin 1659 25459 1025499875
1 f none passwd/lang/fr 0600 root bin 1816 42398 1025499875
1 f none passwd/lang/hu 0600 root bin 1579 37010 1025499875
1 f none passwd/lang/nl 0600 root bin 1689 31750 1025499875
1 f none passwd/lang/pl 0600 root bin 1520 24035 1025499875
1 f none passwd/lang/zh_TW.Big5 0600 root bin 1136 20603 1025499875
1 f none passwd/log_parser.pl 0600 root bin 423 36331 1025499875
1 f none passwd/module.info 0600 root bin 248 23696 1025499882
1 f none passwd/passwd-lib.pl 0600 root bin 816 63665 1025499875
1 f none passwd/save_passwd.cgi 0700 root bin 3441 14033 1025499875
1 f none perlpath.pl 0600 root bin 573 43086 1025499831
1 i pkginfo 214 18093 1025505519
1 d none postfix 0700 root bin
1 f none postfix/acl_security.pl 0600 root bin 5302 47655 1025499869
1 f none postfix/address_rewriting.cgi 0700 root bin 1793 25682 1025499869
1 f none postfix/aliases.cgi 0700 root bin 2525 14950 1025499869
1 f none postfix/canonical.cgi 0700 root bin 1981 41673 1025499869
1 f none postfix/canonical_edit.cgi 0700 root bin 1303 46828 1025499869
1 f none postfix/config 0600 root bin 269 26913 1025499869
1 f none postfix/config-freebsd 0600 root bin 303 30156 1025499869
1 f none postfix/config-mandrake-linux 0600 root bin 269 26913 1025499869
1 f none postfix/config-msc-linux 0600 root bin 269 26913 1025499869
1 f none postfix/config-netbsd 0600 root bin 269 26913 1025499869
1 f none postfix/config.info 0600 root bin 453 43470 1025499869
1 f none postfix/config.info.ca 0600 root bin 524 50657 1025499869
1 f none postfix/config.info.de 0600 root bin 507 49225 1025499869
1 f none postfix/config.info.es 0600 root bin 454 43571 1025499869
1 f none postfix/config.info.fr 0600 root bin 590 57721 1025499869
1 f none postfix/config.info.pl 0600 root bin 541 54283 1025499869
1 f none postfix/config.info.sv 0600 root bin 532 55163 1025499869
1 f none postfix/config.info.tr 0600 root bin 442 43988 1025499869
1 f none postfix/config.info.zh_CN 0600 root bin 350 45538 1025499869
1 f none postfix/config.info.zh_TW.Big5 0600 root bin 397 48480 1025499869
1 f none postfix/debug.cgi 0700 root bin 1472 60762 1025499868
1 f none postfix/defaultacl 0600 root bin 176 15669 1025499868
1 f none postfix/edit_alias.cgi 0700 root bin 1747 16195 1025499868
1 f none postfix/edit_canonical_mappings.cgi 0700 root bin 1716 14934 1025499868
1 f none postfix/edit_mapping.cgi 0700 root bin 1814 22260 1025499869
1 f none postfix/general.cgi 0700 root bin 4405 53118 1025499869
1 d none postfix/help 0700 root bin
1 f none postfix/help/aliases.ca.html 0600 root bin 1058 28451 1025499869
1 f none postfix/help/aliases.es.html 0600 root bin 1194 42268 1025499869
1 f none postfix/help/aliases.html 0600 root bin 1058 28451 1025499869
1 f none postfix/help/aliases.pl.html 0600 root bin 1252 54805 1025499869
1 f none postfix/help/aliases.sv.html 0600 root bin 1140 40407 1025499869
1 f none postfix/help/canonical.ca.html 0600 root bin 2567 33175 1025499869
1 f none postfix/help/canonical.es.html 0600 root bin 2827 63324 1025499869
1 f none postfix/help/canonical.html 0600 root bin 2567 33175 1025499869
1 f none postfix/help/canonical.pl.html 0600 root bin 3091 36598 1025499869
1 f none postfix/help/canonical.sv.html 0600 root bin 2749 6374 1025499869
1 f none postfix/help/general_opts.ca.html 0600 root bin 368 33798 1025499869
1 f none postfix/help/general_opts.es.html 0600 root bin 433 40965 1025499869
1 f none postfix/help/general_opts.html 0600 root bin 368 33798 1025499869
1 f none postfix/help/general_opts.pl.html 0600 root bin 417 41945 1025499869
1 f none postfix/help/general_opts.sv.html 0600 root bin 358 34920 1025499869
1 f none postfix/help/intro.ca.html 0600 root bin 508 45962 1025499869
1 f none postfix/help/intro.es.html 0600 root bin 600 55967 1025499869
1 f none postfix/help/intro.html 0600 root bin 508 45962 1025499869
1 f none postfix/help/intro.pl.html 0600 root bin 571 56420 1025499869
1 f none postfix/help/intro.sv.html 0600 root bin 569 54859 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.ca.html 0600 root bin 244 22023 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.es.html 0600 root bin 296 26377 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.html 0600 root bin 244 22023 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.pl.html 0600 root bin 304 29029 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.sv.html 0600 root bin 235 21753 1025499869
1 f none postfix/help/opt_access_map_reject_code.ca.html 0600 root bin 308 27577 1025499869
1 f none postfix/help/opt_access_map_reject_code.es.html 0600 root bin 324 29159 1025499869
1 f none postfix/help/opt_access_map_reject_code.html 0600 root bin 308 27577 1025499869
1 f none postfix/help/opt_access_map_reject_code.pl.html 0600 root bin 289 26813 1025499869
1 f none postfix/help/opt_access_map_reject_code.sv.html 0600 root bin 278 26934 1025499869
1 f none postfix/help/opt_alias_database.ca.html 0600 root bin 603 54014 1025499869
1 f none postfix/help/opt_alias_database.es.html 0600 root bin 647 58903 1025499869
1 f none postfix/help/opt_alias_database.html 0600 root bin 603 54014 1025499869
1 f none postfix/help/opt_alias_database.pl.html 0600 root bin 598 55329 1025499869
1 f none postfix/help/opt_alias_database.sv.html 0600 root bin 594 54280 1025499869
1 f none postfix/help/opt_alias_maps.ca.html 0600 root bin 563 49967 1025499869
1 f none postfix/help/opt_alias_maps.es.html 0600 root bin 601 53195 1025499869
1 f none postfix/help/opt_alias_maps.html 0600 root bin 563 49967 1025499869
1 f none postfix/help/opt_alias_maps.pl.html 0600 root bin 617 58816 1025499869
1 f none postfix/help/opt_alias_maps.sv.html 0600 root bin 589 54295 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.ca.html 0600 root bin 269 24539 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.es.html 0600 root bin 291 26686 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.html 0600 root bin 269 24539 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.pl.html 0600 root bin 319 30964 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.sv.html 0600 root bin 290 27503 1025499869
1 f none postfix/help/opt_allow_mail_to_files.ca.html 0600 root bin 259 23467 1025499869
1 f none postfix/help/opt_allow_mail_to_files.es.html 0600 root bin 294 26977 1025499869
1 f none postfix/help/opt_allow_mail_to_files.html 0600 root bin 259 23467 1025499869
1 f none postfix/help/opt_allow_mail_to_files.pl.html 0600 root bin 310 29815 1025499869
1 f none postfix/help/opt_allow_mail_to_files.sv.html 0600 root bin 280 26439 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.ca.html 0600 root bin 577 53228 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.es.html 0600 root bin 694 105 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.html 0600 root bin 577 53228 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.pl.html 0600 root bin 640 63046 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.sv.html 0600 root bin 594 57299 1025499869
1 f none postfix/help/opt_always_bcc.ca.html 0600 root bin 273 24962 1025499869
1 f none postfix/help/opt_always_bcc.es.html 0600 root bin 271 25003 1025499869
1 f none postfix/help/opt_always_bcc.html 0600 root bin 273 24962 1025499869
1 f none postfix/help/opt_always_bcc.pl.html 0600 root bin 305 30339 1025499869
1 f none postfix/help/opt_always_bcc.sv.html 0600 root bin 278 25937 1025499869
1 f none postfix/help/opt_best_mx_transport.ca.html 0600 root bin 474 42836 1025499869
1 f none postfix/help/opt_best_mx_transport.es.html 0600 root bin 524 48003 1025499869
1 f none postfix/help/opt_best_mx_transport.html 0600 root bin 474 42836 1025499869
1 f none postfix/help/opt_best_mx_transport.pl.html 0600 root bin 524 50417 1025499869
1 f none postfix/help/opt_best_mx_transport.sv.html 0600 root bin 500 47464 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.ca.html 0600 root bin 242 21923 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.es.html 0600 root bin 316 28217 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.html 0600 root bin 242 21923 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.pl.html 0600 root bin 297 28535 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.sv.html 0600 root bin 245 22661 1025499869
1 f none postfix/help/opt_bounce_size_limit.ca.html 0600 root bin 217 19840 1025499869
1 f none postfix/help/opt_bounce_size_limit.es.html 0600 root bin 235 21854 1025499869
1 f none postfix/help/opt_bounce_size_limit.html 0600 root bin 217 19840 1025499869
1 f none postfix/help/opt_bounce_size_limit.pl.html 0600 root bin 253 24824 1025499869
1 f none postfix/help/opt_bounce_size_limit.sv.html 0600 root bin 245 23103 1025499869
1 f none postfix/help/opt_canonical_maps.ca.html 0600 root bin 760 2970 1025499869
1 f none postfix/help/opt_canonical_maps.es.html 0600 root bin 795 7332 1025499869
1 f none postfix/help/opt_canonical_maps.html 0600 root bin 760 2970 1025499869
1 f none postfix/help/opt_canonical_maps.pl.html 0600 root bin 905 21728 1025499869
1 f none postfix/help/opt_canonical_maps.sv.html 0600 root bin 807 12756 1025499869
1 f none postfix/help/opt_command_time_limit.ca.html 0600 root bin 510 46441 1025499869
1 f none postfix/help/opt_command_time_limit.es.html 0600 root bin 546 50715 1025499869
1 f none postfix/help/opt_command_time_limit.html 0600 root bin 510 46441 1025499869
1 f none postfix/help/opt_command_time_limit.pl.html 0600 root bin 601 59798 1025499869
1 f none postfix/help/opt_command_time_limit.sv.html 0600 root bin 563 54924 1025499869
1 f none postfix/help/opt_daemon_timeout.ca.html 0600 root bin 230 20845 1025499869
1 f none postfix/help/opt_daemon_timeout.es.html 0600 root bin 267 24952 1025499869
1 f none postfix/help/opt_daemon_timeout.html 0600 root bin 230 20845 1025499869
1 f none postfix/help/opt_daemon_timeout.pl.html 0600 root bin 242 23698 1025499869
1 f none postfix/help/opt_daemon_timeout.sv.html 0600 root bin 258 24965 1025499869
1 f none postfix/help/opt_debug_peer_level.ca.html 0600 root bin 333 30529 1025499869
1 f none postfix/help/opt_debug_peer_level.es.html 0600 root bin 366 34058 1025499869
1 f none postfix/help/opt_debug_peer_level.html 0600 root bin 333 30529 1025499869
1 f none postfix/help/opt_debug_peer_level.pl.html 0600 root bin 333 31867 1025499869
1 f none postfix/help/opt_debug_peer_level.sv.html 0600 root bin 332 32250 1025499869
1 f none postfix/help/opt_debug_peer_list.ca.html 0600 root bin 549 49414 1025499869
1 f none postfix/help/opt_debug_peer_list.es.html 0600 root bin 596 54541 1025499869
1 f none postfix/help/opt_debug_peer_list.html 0600 root bin 549 49414 1025499869
1 f none postfix/help/opt_debug_peer_list.pl.html 0600 root bin 588 55832 1025499869
1 f none postfix/help/opt_debug_peer_list.sv.html 0600 root bin 549 52852 1025499869
1 f none postfix/help/opt_default_database_type.ca.html 0600 root bin 361 32267 1025499869
1 f none postfix/help/opt_default_database_type.es.html 0600 root bin 405 36188 1025499869
1 f none postfix/help/opt_default_database_type.html 0600 root bin 361 32267 1025499869
1 f none postfix/help/opt_default_database_type.pl.html 0600 root bin 406 38193 1025499869
1 f none postfix/help/opt_default_database_type.sv.html 0600 root bin 368 34255 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.ca.html 0600 root bin 358 32936 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.es.html 0600 root bin 352 33379 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.html 0600 root bin 358 32936 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.pl.html 0600 root bin 407 39875 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.sv.html 0600 root bin 355 34386 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.ca.html 0600 root bin 332 30466 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.es.html 0600 root bin 360 34094 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.html 0600 root bin 332 30466 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.pl.html 0600 root bin 349 34409 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.sv.html 0600 root bin 329 31840 1025499869
1 f none postfix/help/opt_default_privs.ca.html 0600 root bin 358 31273 1025499869
1 f none postfix/help/opt_default_privs.es.html 0600 root bin 407 35596 1025499869
1 f none postfix/help/opt_default_privs.html 0600 root bin 358 31273 1025499869
1 f none postfix/help/opt_default_privs.pl.html 0600 root bin 418 39752 1025499869
1 f none postfix/help/opt_default_privs.sv.html 0600 root bin 375 35166 1025499869
1 f none postfix/help/opt_default_process_limit.ca.html 0600 root bin 230 21148 1025499869
1 f none postfix/help/opt_default_process_limit.es.html 0600 root bin 240 22734 1025499869
1 f none postfix/help/opt_default_process_limit.html 0600 root bin 230 21148 1025499869
1 f none postfix/help/opt_default_process_limit.pl.html 0600 root bin 235 23035 1025499869
1 f none postfix/help/opt_default_process_limit.sv.html 0600 root bin 210 20165 1025499869
1 f none postfix/help/opt_default_transport.ca.html 0600 root bin 323 29977 1025499869
1 f none postfix/help/opt_default_transport.es.html 0600 root bin 341 31368 1025499869
1 f none postfix/help/opt_default_transport.html 0600 root bin 323 29977 1025499869
1 f none postfix/help/opt_default_transport.pl.html 0600 root bin 359 34417 1025499869
1 f none postfix/help/opt_default_transport.sv.html 0600 root bin 319 30244 1025499869
1 f none postfix/help/opt_defer_transports.ca.html 0600 root bin 371 34261 1025499869
1 f none postfix/help/opt_defer_transports.es.html 0600 root bin 403 37485 1025499869
1 f none postfix/help/opt_defer_transports.html 0600 root bin 371 34261 1025499869
1 f none postfix/help/opt_defer_transports.pl.html 0600 root bin 395 38875 1025499869
1 f none postfix/help/opt_defer_transports.sv.html 0600 root bin 345 33184 1025499869
1 f none postfix/help/opt_delay_notice_recipient.ca.html 0600 root bin 240 21705 1025499869
1 f none postfix/help/opt_delay_notice_recipient.es.html 0600 root bin 297 26686 1025499869
1 f none postfix/help/opt_delay_notice_recipient.html 0600 root bin 240 21705 1025499869
1 f none postfix/help/opt_delay_notice_recipient.pl.html 0600 root bin 297 28771 1025499869
1 f none postfix/help/opt_delay_notice_recipient.sv.html 0600 root bin 250 23467 1025499869
1 f none postfix/help/opt_delay_warning_time.ca.html 0600 root bin 264 23838 1025499869
1 f none postfix/help/opt_delay_warning_time.es.html 0600 root bin 260 23851 1025499869
1 f none postfix/help/opt_delay_warning_time.html 0600 root bin 264 23838 1025499869
1 f none postfix/help/opt_delay_warning_time.pl.html 0600 root bin 310 30437 1025499869
1 f none postfix/help/opt_delay_warning_time.sv.html 0600 root bin 309 29427 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.ca.html 0600 root bin 214 19509 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.es.html 0600 root bin 233 22086 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.html 0600 root bin 214 19509 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.pl.html 0600 root bin 232 22446 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.sv.html 0600 root bin 210 20312 1025499869
1 f none postfix/help/opt_deliver_lock_delay.ca.html 0600 root bin 205 18719 1025499869
1 f none postfix/help/opt_deliver_lock_delay.es.html 0600 root bin 225 21008 1025499869
1 f none postfix/help/opt_deliver_lock_delay.html 0600 root bin 205 18719 1025499869
1 f none postfix/help/opt_deliver_lock_delay.pl.html 0600 root bin 245 23570 1025499869
1 f none postfix/help/opt_deliver_lock_delay.sv.html 0600 root bin 200 18976 1025499869
1 f none postfix/help/opt_desfault_destination_concurrency_limit.es.html 0600 root bin 352 33379 1025499869
1 f none postfix/help/opt_disable_vfy_command.es.html 0600 root bin 283 26033 1025499869
1 f none postfix/help/opt_disable_vrfy_command.ca.html 0600 root bin 236 21133 1025499869
1 f none postfix/help/opt_disable_vrfy_command.html 0600 root bin 236 21133 1025499869
1 f none postfix/help/opt_disable_vrfy_command.pl.html 0600 root bin 226 21284 1025499869
1 f none postfix/help/opt_disable_vrfy_command.sv.html 0600 root bin 248 23202 1025499869
1 f none postfix/help/opt_double_bounce_sender.ca.html 0600 root bin 328 29770 1025499869
1 f none postfix/help/opt_double_bounce_sender.es.html 0600 root bin 389 36113 1025499869
1 f none postfix/help/opt_double_bounce_sender.html 0600 root bin 328 29770 1025499869
1 f none postfix/help/opt_double_bounce_sender.pl.html 0600 root bin 368 36141 1025499869
1 f none postfix/help/opt_double_bounce_sender.sv.html 0600 root bin 324 30719 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.ca.html 0600 root bin 255 23454 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.es.html 0600 root bin 271 25565 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.html 0600 root bin 255 23454 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.pl.html 0600 root bin 262 26113 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.sv.html 0600 root bin 244 23069 1025499869
1 f none postfix/help/opt_empty_address_recipient.ca.html 0600 root bin 319 28447 1025499869
1 f none postfix/help/opt_empty_address_recipient.es.html 0600 root bin 346 30702 1025499869
1 f none postfix/help/opt_empty_address_recipient.html 0600 root bin 319 28447 1025499869
1 f none postfix/help/opt_empty_address_recipient.pl.html 0600 root bin 368 34521 1025499869
1 f none postfix/help/opt_empty_address_recipient.sv.html 0600 root bin 332 30564 1025499869
1 f none postfix/help/opt_error_notice_recipient.ca.html 0600 root bin 240 21759 1025499869
1 f none postfix/help/opt_error_notice_recipient.es.html 0600 root bin 310 27893 1025499869
1 f none postfix/help/opt_error_notice_recipient.html 0600 root bin 240 21759 1025499869
1 f none postfix/help/opt_error_notice_recipient.pl.html 0600 root bin 292 28171 1025499869
1 f none postfix/help/opt_error_notice_recipient.sv.html 0600 root bin 239 22175 1025499869
1 f none postfix/help/opt_fallback_relay.ca.html 0600 root bin 405 36503 1025499869
1 f none postfix/help/opt_fallback_relay.es.html 0600 root bin 414 38303 1025499869
1 f none postfix/help/opt_fallback_relay.html 0600 root bin 405 36503 1025499869
1 f none postfix/help/opt_fallback_relay.pl.html 0600 root bin 478 46932 1025499869
1 f none postfix/help/opt_fallback_relay.sv.html 0600 root bin 419 40102 1025499869
1 f none postfix/help/opt_fallback_transport.ca.html 0600 root bin 372 33974 1025499869
1 f none postfix/help/opt_fallback_transport.es.html 0600 root bin 395 36555 1025499869
1 f none postfix/help/opt_fallback_transport.html 0600 root bin 372 33974 1025499869
1 f none postfix/help/opt_fallback_transport.pl.html 0600 root bin 396 38028 1025499869
1 f none postfix/help/opt_fallback_transport.sv.html 0600 root bin 356 33544 1025499869
1 f none postfix/help/opt_fork_attempts.ca.html 0600 root bin 167 14949 1025499869
1 f none postfix/help/opt_fork_attempts.es.html 0600 root bin 175 16352 1025499869
1 f none postfix/help/opt_fork_attempts.html 0600 root bin 167 14949 1025499869
1 f none postfix/help/opt_fork_attempts.pl.html 0600 root bin 180 16866 1025499869
1 f none postfix/help/opt_fork_attempts.sv.html 0600 root bin 188 18055 1025499869
1 f none postfix/help/opt_fork_delay.ca.html 0600 root bin 170 15267 1025499869
1 f none postfix/help/opt_fork_delay.es.html 0600 root bin 191 17401 1025499869
1 f none postfix/help/opt_fork_delay.html 0600 root bin 170 15267 1025499869
1 f none postfix/help/opt_fork_delay.pl.html 0600 root bin 208 19760 1025499869
1 f none postfix/help/opt_fork_delay.sv.html 0600 root bin 181 16819 1025499869
1 f none postfix/help/opt_forward_path.ca.html 0600 root bin 709 62396 1025499869
1 f none postfix/help/opt_forward_path.es.html 0600 root bin 799 6897 1025499869
1 f none postfix/help/opt_forward_path.html 0600 root bin 709 62396 1025499869
1 f none postfix/help/opt_forward_path.pl.html 0600 root bin 774 6076 1025499869
1 f none postfix/help/opt_forward_path.sv.html 0600 root bin 684 63458 1025499869
1 f none postfix/help/opt_hash_queue_depth.ca.html 0600 root bin 400 37013 1025499869
1 f none postfix/help/opt_hash_queue_depth.es.html 0600 root bin 443 41740 1025499869
1 f none postfix/help/opt_hash_queue_depth.html 0600 root bin 400 37013 1025499869
1 f none postfix/help/opt_hash_queue_depth.pl.html 0600 root bin 427 42523 1025499869
1 f none postfix/help/opt_hash_queue_depth.sv.html 0600 root bin 393 37804 1025499869
1 f none postfix/help/opt_hash_queue_names.ca.html 0600 root bin 592 54376 1025499869
1 f none postfix/help/opt_hash_queue_names.es.html 0600 root bin 673 62524 1025499869
1 f none postfix/help/opt_hash_queue_names.html 0600 root bin 592 54376 1025499869
1 f none postfix/help/opt_hash_queue_names.pl.html 0600 root bin 674 997 1025499869
1 f none postfix/help/opt_hash_queue_names.sv.html 0600 root bin 625 61615 1025499869
1 f none postfix/help/opt_header_size_limit.ca.html 0600 root bin 290 26394 1025499869
1 f none postfix/help/opt_header_size_limit.es.html 0600 root bin 304 27826 1025499869
1 f none postfix/help/opt_header_size_limit.html 0600 root bin 290 26394 1025499869
1 f none postfix/help/opt_header_size_limit.pl.html 0600 root bin 325 33236 1025499869
1 f none postfix/help/opt_header_size_limit.sv.html 0600 root bin 322 31261 1025499869
1 f none postfix/help/opt_home_mailbox.ca.html 0600 root bin 438 38475 1025499869
1 f none postfix/help/opt_home_mailbox.es.html 0600 root bin 478 42779 1025499869
1 f none postfix/help/opt_home_mailbox.html 0600 root bin 438 38475 1025499869
1 f none postfix/help/opt_home_mailbox.pl.html 0600 root bin 518 49479 1025499869
1 f none postfix/help/opt_home_mailbox.sv.html 0600 root bin 444 42056 1025499869
1 f none postfix/help/opt_hopcount_limit.ca.html 0600 root bin 220 19693 1025499869
1 f none postfix/help/opt_hopcount_limit.es.html 0600 root bin 228 21042 1025499869
1 f none postfix/help/opt_hopcount_limit.html 0600 root bin 220 19693 1025499869
1 f none postfix/help/opt_hopcount_limit.pl.html 0600 root bin 260 25067 1025499869
1 f none postfix/help/opt_hopcount_limit.sv.html 0600 root bin 226 20815 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.ca.html 0600 root bin 328 29915 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.es.html 0600 root bin 386 35876 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.html 0600 root bin 328 29915 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.pl.html 0600 root bin 371 35129 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.sv.html 0600 root bin 355 34540 1025499869
1 f none postfix/help/opt_inet_interfaces.ca.html 0600 root bin 486 43573 1025499869
1 f none postfix/help/opt_inet_interfaces.es.html 0600 root bin 523 47470 1025499869
1 f none postfix/help/opt_inet_interfaces.html 0600 root bin 486 43573 1025499869
1 f none postfix/help/opt_inet_interfaces.pl.html 0600 root bin 524 49771 1025499869
1 f none postfix/help/opt_inet_interfaces.sv.html 0600 root bin 474 44480 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.ca.html 0600 root bin 495 45255 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.es.html 0600 root bin 505 46690 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.html 0600 root bin 495 45255 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.pl.html 0600 root bin 635 62823 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.sv.html 0600 root bin 515 49249 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.ca.html 0600 root bin 332 30079 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.es.html 0600 root bin 350 32004 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.html 0600 root bin 332 30079 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.pl.html 0600 root bin 326 30142 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.sv.html 0600 root bin 324 31135 1025499869
1 f none postfix/help/opt_ipc_idle.ca.html 0600 root bin 337 31013 1025499869
1 f none postfix/help/opt_ipc_idle.es.html 0600 root bin 395 36855 1025499869
1 f none postfix/help/opt_ipc_idle.html 0600 root bin 337 31013 1025499869
1 f none postfix/help/opt_ipc_idle.pl.html 0600 root bin 400 39658 1025499869
1 f none postfix/help/opt_ipc_idle.sv.html 0600 root bin 343 32651 1025499869
1 f none postfix/help/opt_ipc_timeout.ca.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.es.html 0600 root bin 347 32549 1025499869
1 f none postfix/help/opt_ipc_timeout.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.pl.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.sv.html 0600 root bin 317 30701 1025499869
1 f none postfix/help/opt_line_length_limit.ca.html 0600 root bin 271 24992 1025499869
1 f none postfix/help/opt_line_length_limit.es.html 0600 root bin 298 27959 1025499869
1 f none postfix/help/opt_line_length_limit.html 0600 root bin 271 24992 1025499869
1 f none postfix/help/opt_line_length_limit.pl.html 0600 root bin 335 33196 1025499869
1 f none postfix/help/opt_line_length_limit.sv.html 0600 root bin 284 27435 1025499869
1 f none postfix/help/opt_local_command_shell.ca.html 0600 root bin 823 8670 1025499869
1 f none postfix/help/opt_local_command_shell.es.html 0600 root bin 870 14365 1025499869
1 f none postfix/help/opt_local_command_shell.html 0600 root bin 823 8670 1025499869
1 f none postfix/help/opt_local_command_shell.pl.html 0600 root bin 908 23172 1025499869
1 f none postfix/help/opt_local_command_shell.sv.html 0600 root bin 785 8631 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.ca.html 0600 root bin 609 56100 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.es.html 0600 root bin 625 58973 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.html 0600 root bin 609 56100 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.pl.html 0600 root bin 632 61526 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.sv.html 0600 root bin 637 61893 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.ca.html 0600 root bin 511 47636 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.es.html 0600 root bin 550 52385 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.html 0600 root bin 511 47636 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.pl.html 0600 root bin 537 52632 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.sv.html 0600 root bin 532 52068 1025499869
1 f none postfix/help/opt_local_recipient_maps.ca.html 0600 root bin 721 210 1025499869
1 f none postfix/help/opt_local_recipient_maps.es.html 0600 root bin 810 9118 1025499869
1 f none postfix/help/opt_local_recipient_maps.html 0600 root bin 721 210 1025499869
1 f none postfix/help/opt_local_recipient_maps.pl.html 0600 root bin 830 15733 1025499869
1 f none postfix/help/opt_local_recipient_maps.sv.html 0600 root bin 728 3449 1025499869
1 f none postfix/help/opt_local_transport.ca.html 0600 root bin 431 38966 1025499869
1 f none postfix/help/opt_local_transport.es.html 0600 root bin 436 39734 1025499869
1 f none postfix/help/opt_local_transport.html 0600 root bin 431 38966 1025499869
1 f none postfix/help/opt_local_transport.pl.html 0600 root bin 444 42661 1025499869
1 f none postfix/help/opt_local_transport.sv.html 0600 root bin 452 43134 1025499869
1 f none postfix/help/opt_luser_relay.ca.html 0600 root bin 904 14514 1025499869
1 f none postfix/help/opt_luser_relay.es.html 0600 root bin 1014 26587 1025499869
1 f none postfix/help/opt_luser_relay.html 0600 root bin 904 14514 1025499869
1 f none postfix/help/opt_luser_relay.pl.html 0600 root bin 953 22220 1025499869
1 f none postfix/help/opt_luser_relay.sv.html 0600 root bin 876 15154 1025499869
1 f none postfix/help/opt_mail_name.ca.html 0600 root bin 223 19704 1025499869
1 f none postfix/help/opt_mail_name.es.html 0600 root bin 263 23313 1025499869
1 f none postfix/help/opt_mail_name.html 0600 root bin 223 19704 1025499869
1 f none postfix/help/opt_mail_name.pl.html 0600 root bin 256 24257 1025499869
1 f none postfix/help/opt_mail_name.sv.html 0600 root bin 211 18758 1025499869
1 f none postfix/help/opt_mail_owner.ca.html 0600 root bin 428 35427 1025499869
1 f none postfix/help/opt_mail_owner.es.html 0600 root bin 490 40602 1025499869
1 f none postfix/help/opt_mail_owner.html 0600 root bin 428 35427 1025499869
1 f none postfix/help/opt_mail_owner.pl.html 0600 root bin 453 40642 1025499869
1 f none postfix/help/opt_mail_owner.sv.html 0600 root bin 429 40821 1025499869
1 f none postfix/help/opt_mail_spool_directory.ca.html 0600 root bin 224 20197 1025499869
1 f none postfix/help/opt_mail_spool_directory.es.html 0600 root bin 237 21299 1025499869
1 f none postfix/help/opt_mail_spool_directory.html 0600 root bin 224 20197 1025499869
1 f none postfix/help/opt_mail_spool_directory.pl.html 0600 root bin 236 22349 1025499869
1 f none postfix/help/opt_mail_spool_directory.sv.html 0600 root bin 196 18372 1025499869
1 f none postfix/help/opt_mail_version.ca.html 0600 root bin 239 21496 1025499869
1 f none postfix/help/opt_mail_version.es.html 0600 root bin 254 23241 1025499869
1 f none postfix/help/opt_mail_version.html 0600 root bin 239 21496 1025499869
1 f none postfix/help/opt_mail_version.pl.html 0600 root bin 252 24606 1025499869
1 f none postfix/help/opt_mail_version.sv.html 0600 root bin 232 21967 1025499869
1 f none postfix/help/opt_mailbox_command.ca.html 0600 root bin 1180 36863 1025499869
1 f none postfix/help/opt_mailbox_command.es.html 0600 root bin 1299 48689 1025499869
1 f none postfix/help/opt_mailbox_command.html 0600 root bin 1180 36863 1025499869
1 f none postfix/help/opt_mailbox_command.pl.html 0600 root bin 1354 60164 1025499869
1 f none postfix/help/opt_mailbox_command.sv.html 0600 root bin 1234 50287 1025499869
1 f none postfix/help/opt_mailbox_transport.ca.html 0600 root bin 471 43332 1025499869
1 f none postfix/help/opt_mailbox_transport.es.html 0600 root bin 472 43793 1025499869
1 f none postfix/help/opt_mailbox_transport.html 0600 root bin 471 43332 1025499869
1 f none postfix/help/opt_mailbox_transport.pl.html 0600 root bin 501 47724 1025499869
1 f none postfix/help/opt_mailbox_transport.sv.html 0600 root bin 459 42901 1025499869
1 f none postfix/help/opt_maps_rbl_domains.ca.html 0600 root bin 531 48699 1025499869
1 f none postfix/help/opt_maps_rbl_domains.es.html 0600 root bin 611 56753 1025499869
1 f none postfix/help/opt_maps_rbl_domains.html 0600 root bin 531 48699 1025499869
1 f none postfix/help/opt_maps_rbl_domains.pl.html 0600 root bin 565 55446 1025499869
1 f none postfix/help/opt_maps_rbl_domains.sv.html 0600 root bin 505 49170 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.ca.html 0600 root bin 356 32119 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.html 0600 root bin 356 32119 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.pl.html 0600 root bin 343 31359 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.sv.html 0600 root bin 341 32839 1025499869
1 f none postfix/help/opt_masquerade_domains.ca.html 0600 root bin 573 52036 1025499869
1 f none postfix/help/opt_masquerade_domains.html 0600 root bin 573 52036 1025499869
1 f none postfix/help/opt_masquerade_domains.pl.html 0600 root bin 610 59418 1025499869
1 f none postfix/help/opt_masquerade_domains.sv.html 0600 root bin 559 53317 1025499869
1 f none postfix/help/opt_masquerade_exceptions.ca.html 0600 root bin 358 32824 1025499869
1 f none postfix/help/opt_masquerade_exceptions.html 0600 root bin 358 32824 1025499869
1 f none postfix/help/opt_masquerade_exceptions.pl.html 0600 root bin 373 36671 1025499869
1 f none postfix/help/opt_masquerade_exceptions.sv.html 0600 root bin 390 38168 1025499869
1 f none postfix/help/opt_max_idle.ca.html 0600 root bin 282 25836 1025499869
1 f none postfix/help/opt_max_idle.html 0600 root bin 282 25836 1025499869
1 f none postfix/help/opt_max_idle.pl.html 0600 root bin 305 29885 1025499869
1 f none postfix/help/opt_max_idle.sv.html 0600 root bin 276 27475 1025499869
1 f none postfix/help/opt_max_use.ca.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.pl.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.sv.html 0600 root bin 283 27947 1025499869
1 f none postfix/help/opt_maximal_backoff_time.ca.html 0600 root bin 235 21491 1025499869
1 f none postfix/help/opt_maximal_backoff_time.html 0600 root bin 235 21491 1025499869
1 f none postfix/help/opt_maximal_backoff_time.pl.html 0600 root bin 243 23825 1025499869
1 f none postfix/help/opt_maximal_backoff_time.sv.html 0600 root bin 235 23010 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.ca.html 0600 root bin 241 21910 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.html 0600 root bin 241 21910 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.pl.html 0600 root bin 306 29396 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.sv.html 0600 root bin 281 26337 1025499869
1 f none postfix/help/opt_message_size_limit.ca.html 0600 root bin 190 17105 1025499869
1 f none postfix/help/opt_message_size_limit.html 0600 root bin 190 17105 1025499869
1 f none postfix/help/opt_message_size_limit.pl.html 0600 root bin 213 20505 1025499869
1 f none postfix/help/opt_message_size_limit.sv.html 0600 root bin 198 18479 1025499869
1 f none postfix/help/opt_minimal_backoff_time.ca.html 0600 root bin 361 33402 1025499869
1 f none postfix/help/opt_minimal_backoff_time.html 0600 root bin 361 33402 1025499869
1 f none postfix/help/opt_minimal_backoff_time.pl.html 0600 root bin 427 42563 1025499869
1 f none postfix/help/opt_minimal_backoff_time.sv.html 0600 root bin 357 35362 1025499869
1 f none postfix/help/opt_mydestination.ca.html 0600 root bin 852 8809 1025499869
1 f none postfix/help/opt_mydestination.html 0600 root bin 852 8809 1025499869
1 f none postfix/help/opt_mydestination.pl.html 0600 root bin 920 20908 1025499869
1 f none postfix/help/opt_mydestination.sv.html 0600 root bin 823 11749 1025499869
1 f none postfix/help/opt_mydomain.ca.html 0600 root bin 314 28656 1025499869
1 f none postfix/help/opt_mydomain.html 0600 root bin 314 28656 1025499869
1 f none postfix/help/opt_mydomain.pl.html 0600 root bin 335 32103 1025499869
1 f none postfix/help/opt_mydomain.sv.html 0600 root bin 295 28742 1025499869
1 f none postfix/help/opt_myhostname.ca.html 0600 root bin 352 31917 1025499869
1 f none postfix/help/opt_myhostname.html 0600 root bin 352 31917 1025499869
1 f none postfix/help/opt_myhostname.pl.html 0600 root bin 388 37200 1025499869
1 f none postfix/help/opt_myhostname.sv.html 0600 root bin 350 34153 1025499869
1 f none postfix/help/opt_mynetworks.ca.html 0600 root bin 806 7689 1025499869
1 f none postfix/help/opt_mynetworks.html 0600 root bin 806 7689 1025499869
1 f none postfix/help/opt_mynetworks.pl.html 0600 root bin 790 11450 1025499869
1 f none postfix/help/opt_mynetworks.sv.html 0600 root bin 777 9438 1025499869
1 f none postfix/help/opt_myorigin.ca.html 0600 root bin 432 39028 1025499869
1 f none postfix/help/opt_myorigin.html 0600 root bin 432 39028 1025499869
1 f none postfix/help/opt_myorigin.pl.html 0600 root bin 477 46181 1025499869
1 f none postfix/help/opt_myorigin.sv.html 0600 root bin 404 38448 1025499869
1 f none postfix/help/opt_notify_classes.ca.html 0600 root bin 1518 8056 1025499869
1 f none postfix/help/opt_notify_classes.html 0600 root bin 1518 8056 1025499869
1 f none postfix/help/opt_notify_classes.pl.html 0600 root bin 1616 27039 1025499869
1 f none postfix/help/opt_notify_classes.sv.html 0600 root bin 1497 11814 1025499869
1 f none postfix/help/opt_prepend_delivered_header.ca.html 0600 root bin 432 38764 1025499869
1 f none postfix/help/opt_prepend_delivered_header.html 0600 root bin 432 38764 1025499869
1 f none postfix/help/opt_prepend_delivered_header.pl.html 0600 root bin 468 44901 1025499869
1 f none postfix/help/opt_prepend_delivered_header.sv.html 0600 root bin 451 42246 1025499869
1 f none postfix/help/opt_process_id_directory.ca.html 0600 root bin 271 24776 1025499869
1 f none postfix/help/opt_process_id_directory.html 0600 root bin 271 24776 1025499869
1 f none postfix/help/opt_process_id_directory.pl.html 0600 root bin 295 28927 1025499869
1 f none postfix/help/opt_process_id_directory.sv.html 0600 root bin 232 22472 1025499869
1 f none postfix/help/opt_program_directory.ca.html 0600 root bin 242 22221 1025499869
1 f none postfix/help/opt_program_directory.html 0600 root bin 242 22221 1025499869
1 f none postfix/help/opt_program_directory.pl.html 0600 root bin 261 25431 1025499869
1 f none postfix/help/opt_program_directory.sv.html 0600 root bin 221 20757 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.ca.html 0600 root bin 191 17367 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.html 0600 root bin 191 17367 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.pl.html 0600 root bin 199 18751 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.sv.html 0600 root bin 190 17692 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.ca.html 0600 root bin 270 24936 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.html 0600 root bin 270 24936 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.pl.html 0600 root bin 292 28726 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.sv.html 0600 root bin 257 24801 1025499869
1 f none postfix/help/opt_queue_directory.ca.html 0600 root bin 232 21334 1025499869
1 f none postfix/help/opt_queue_directory.html 0600 root bin 232 21334 1025499869
1 f none postfix/help/opt_queue_directory.pl.html 0600 root bin 261 25464 1025499869
1 f none postfix/help/opt_queue_directory.sv.html 0600 root bin 202 19582 1025499869
1 f none postfix/help/opt_queue_minfree.ca.html 0600 root bin 290 26072 1025499869
1 f none postfix/help/opt_queue_minfree.html 0600 root bin 290 26072 1025499869
1 f none postfix/help/opt_queue_minfree.pl.html 0600 root bin 326 31304 1025499869
1 f none postfix/help/opt_queue_minfree.sv.html 0600 root bin 285 27360 1025499869
1 f none postfix/help/opt_queue_run_delay.ca.html 0600 root bin 217 19628 1025499869
1 f none postfix/help/opt_queue_run_delay.html 0600 root bin 217 19628 1025499869
1 f none postfix/help/opt_queue_run_delay.pl.html 0600 root bin 235 22809 1025499869
1 f none postfix/help/opt_queue_run_delay.sv.html 0600 root bin 232 22504 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.ca.html 0600 root bin 373 33389 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.html 0600 root bin 373 33389 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.pl.html 0600 root bin 459 44336 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.sv.html 0600 root bin 394 38426 1025499869
1 f none postfix/help/opt_recipient_delimiter.ca.html 0600 root bin 594 53809 1025499869
1 f none postfix/help/opt_recipient_delimiter.html 0600 root bin 594 53809 1025499869
1 f none postfix/help/opt_recipient_delimiter.pl.html 0600 root bin 708 2785 1025499869
1 f none postfix/help/opt_recipient_delimiter.sv.html 0600 root bin 624 59032 1025499869
1 f none postfix/help/opt_reject_code.ca.html 0600 root bin 290 25649 1025499869
1 f none postfix/help/opt_reject_code.html 0600 root bin 290 25649 1025499869
1 f none postfix/help/opt_reject_code.pl.html 0600 root bin 311 28651 1025499869
1 f none postfix/help/opt_reject_code.sv.html 0600 root bin 271 25605 1025499869
1 f none postfix/help/opt_relay_domains.ca.html 0600 root bin 901 17254 1025499869
1 f none postfix/help/opt_relay_domains.html 0600 root bin 901 17254 1025499869
1 f none postfix/help/opt_relay_domains.pl.html 0600 root bin 967 28184 1025499869
1 f none postfix/help/opt_relay_domains.sv.html 0600 root bin 908 21962 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.ca.html 0600 root bin 316 28402 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.html 0600 root bin 316 28402 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.pl.html 0600 root bin 314 29434 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.sv.html 0600 root bin 321 31045 1025499869
1 f none postfix/help/opt_relayhost.ca.html 0600 root bin 587 53262 1025499869
1 f none postfix/help/opt_relayhost.html 0600 root bin 587 53262 1025499869
1 f none postfix/help/opt_relayhost.pl.html 0600 root bin 708 6198 1025499869
1 f none postfix/help/opt_relayhost.sv.html 0600 root bin 574 53971 1025499869
1 f none postfix/help/opt_relocated_maps.ca.html 0600 root bin 406 36582 1025499869
1 f none postfix/help/opt_relocated_maps.html 0600 root bin 406 36582 1025499869
1 f none postfix/help/opt_relocated_maps.pl.html 0600 root bin 451 43848 1025499869
1 f none postfix/help/opt_relocated_maps.sv.html 0600 root bin 401 38150 1025499869
1 f none postfix/help/opt_sample.ca.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sample.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sample.sv.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sender_canonical_maps.ca.html 0600 root bin 358 31971 1025499869
1 f none postfix/help/opt_sender_canonical_maps.html 0600 root bin 358 31971 1025499869
1 f none postfix/help/opt_sender_canonical_maps.pl.html 0600 root bin 450 43408 1025499869
1 f none postfix/help/opt_sender_canonical_maps.sv.html 0600 root bin 388 38130 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.ca.html 0600 root bin 369 33212 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.html 0600 root bin 369 33212 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.pl.html 0600 root bin 423 41113 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.sv.html 0600 root bin 386 36565 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.ca.html 0600 root bin 487 43663 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.html 0600 root bin 487 43663 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.pl.html 0600 root bin 558 54017 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.sv.html 0600 root bin 485 45324 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.ca.html 0600 root bin 347 30956 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.html 0600 root bin 347 30956 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.pl.html 0600 root bin 392 37088 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.sv.html 0600 root bin 344 32183 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.ca.html 0600 root bin 448 40981 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.html 0600 root bin 448 40981 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.pl.html 0600 root bin 486 47266 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.sv.html 0600 root bin 440 42526 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.ca.html 0600 root bin 455 42494 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.html 0600 root bin 455 42494 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.pl.html 0600 root bin 512 50573 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.sv.html 0600 root bin 484 47488 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.ca.html 0600 root bin 362 33729 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.html 0600 root bin 362 33729 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.pl.html 0600 root bin 396 38777 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.sv.html 0600 root bin 356 34428 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.ca.html 0600 root bin 420 38195 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.html 0600 root bin 420 38195 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.pl.html 0600 root bin 451 44212 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.sv.html 0600 root bin 396 38096 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.ca.html 0600 root bin 352 31132 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.html 0600 root bin 352 31132 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.pl.html 0600 root bin 397 37264 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.sv.html 0600 root bin 344 31429 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.ca.html 0600 root bin 246 22100 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.html 0600 root bin 246 22100 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.pl.html 0600 root bin 283 26429 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.sv.html 0600 root bin 238 21824 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.ca.html 0600 root bin 348 30908 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.html 0600 root bin 348 30908 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.pl.html 0600 root bin 394 37072 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.sv.html 0600 root bin 336 30866 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.ca.html 0600 root bin 289 25792 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.html 0600 root bin 289 25792 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.pl.html 0600 root bin 298 27872 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.sv.html 0600 root bin 319 30356 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.ca.html 0600 root bin 231 20771 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.html 0600 root bin 231 20771 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.pl.html 0600 root bin 226 20589 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.sv.html 0600 root bin 216 20319 1025499869
1 f none postfix/help/opt_smtpd_banner.ca.html 0600 root bin 510 45634 1025499869
1 f none postfix/help/opt_smtpd_banner.html 0600 root bin 510 45634 1025499869
1 f none postfix/help/opt_smtpd_banner.pl.html 0600 root bin 507 49273 1025499869
1 f none postfix/help/opt_smtpd_banner.sv.html 0600 root bin 519 49236 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.ca.html 0600 root bin 719 1020 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.html 0600 root bin 719 1020 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.pl.html 0600 root bin 741 6731 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.sv.html 0600 root bin 723 4526 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.ca.html 0600 root bin 357 32303 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.html 0600 root bin 357 32303 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.pl.html 0600 root bin 393 37804 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.sv.html 0600 root bin 332 30824 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.ca.html 0600 root bin 488 44096 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.html 0600 root bin 488 44096 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.pl.html 0600 root bin 509 48802 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.sv.html 0600 root bin 494 46554 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.ca.html 0600 root bin 262 24043 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.html 0600 root bin 262 24043 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.pl.html 0600 root bin 278 27653 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.sv.html 0600 root bin 261 24351 1025499869
1 f none postfix/help/opt_smtpd_helo_required.ca.html 0600 root bin 225 20528 1025499869
1 f none postfix/help/opt_smtpd_helo_required.html 0600 root bin 225 20528 1025499869
1 f none postfix/help/opt_smtpd_helo_required.pl.html 0600 root bin 197 18423 1025499869
1 f none postfix/help/opt_smtpd_helo_required.sv.html 0600 root bin 185 17187 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.ca.html 0600 root bin 1638 16242 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.html 0600 root bin 1638 16242 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.pl.html 0600 root bin 1831 39090 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.sv.html 0600 root bin 1623 23192 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.ca.html 0600 root bin 227 20830 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.html 0600 root bin 227 20830 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.pl.html 0600 root bin 231 22429 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.sv.html 0600 root bin 213 20096 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.ca.html 0600 root bin 4248 54746 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.html 0600 root bin 4248 54746 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.pl.html 0600 root bin 4666 41328 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.sv.html 0600 root bin 4223 6242 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.ca.html 0600 root bin 1949 46311 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.html 0600 root bin 1949 46311 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.pl.html 0600 root bin 2186 6845 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.sv.html 0600 root bin 1963 56374 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.ca.html 0600 root bin 333 30718 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.html 0600 root bin 333 30718 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.pl.html 0600 root bin 339 33521 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.sv.html 0600 root bin 377 36476 1025499869
1 f none postfix/help/opt_smtpd_timeout.ca.html 0600 root bin 422 38047 1025499869
1 f none postfix/help/opt_smtpd_timeout.html 0600 root bin 422 38047 1025499869
1 f none postfix/help/opt_smtpd_timeout.pl.html 0600 root bin 448 42655 1025499869
1 f none postfix/help/opt_smtpd_timeout.sv.html 0600 root bin 445 42782 1025499869
1 f none postfix/help/opt_stale_lock_time.ca.html 0600 root bin 230 20680 1025499869
1 f none postfix/help/opt_stale_lock_time.html 0600 root bin 230 20680 1025499869
1 f none postfix/help/opt_stale_lock_time.pl.html 0600 root bin 270 25759 1025499869
1 f none postfix/help/opt_stale_lock_time.sv.html 0600 root bin 268 25874 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.ca.html 0600 root bin 453 41388 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.html 0600 root bin 453 41388 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.pl.html 0600 root bin 563 55080 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.sv.html 0600 root bin 478 47227 1025499869
1 f none postfix/help/opt_swap_bangpath.ca.html 0600 root bin 196 17284 1025499869
1 f none postfix/help/opt_swap_bangpath.html 0600 root bin 196 17284 1025499869
1 f none postfix/help/opt_swap_bangpath.pl.html 0600 root bin 226 21265 1025499869
1 f none postfix/help/opt_swap_bangpath.sv.html 0600 root bin 212 20079 1025499869
1 f none postfix/help/opt_transport_maps.ca.html 0600 root bin 585 52992 1025499869
1 f none postfix/help/opt_transport_maps.html 0600 root bin 585 52992 1025499869
1 f none postfix/help/opt_transport_maps.pl.html 0600 root bin 651 61570 1025499869
1 f none postfix/help/opt_transport_maps.sv.html 0600 root bin 580 54338 1025499869
1 f none postfix/help/opt_transport_retry_time.ca.html 0600 root bin 266 24487 1025499869
1 f none postfix/help/opt_transport_retry_time.html 0600 root bin 266 24487 1025499869
1 f none postfix/help/opt_transport_retry_time.pl.html 0600 root bin 303 30105 1025499869
1 f none postfix/help/opt_transport_retry_time.sv.html 0600 root bin 268 25333 1025499869
1 f none postfix/help/opt_trigger_timeout.ca.html 0600 root bin 270 24599 1025499869
1 f none postfix/help/opt_trigger_timeout.html 0600 root bin 270 24599 1025499869
1 f none postfix/help/opt_trigger_timeout.pl.html 0600 root bin 266 25540 1025499869
1 f none postfix/help/opt_trigger_timeout.sv.html 0600 root bin 298 28147 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.ca.html 0600 root bin 379 34781 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.html 0600 root bin 379 34781 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.pl.html 0600 root bin 376 35181 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.sv.html 0600 root bin 374 36089 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.ca.html 0600 root bin 367 33531 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.html 0600 root bin 367 33531 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.pl.html 0600 root bin 372 34923 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.sv.html 0600 root bin 380 36402 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.ca.html 0600 root bin 340 31006 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.html 0600 root bin 340 31006 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.pl.html 0600 root bin 326 30297 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.sv.html 0600 root bin 338 32461 1025499869
1 f none postfix/help/opt_virtual_maps.ca.html 0600 root bin 546 49730 1025499869
1 f none postfix/help/opt_virtual_maps.html 0600 root bin 546 49730 1025499869
1 f none postfix/help/opt_virtual_maps.pl.html 0600 root bin 593 56013 1025499869
1 f none postfix/help/opt_virtual_maps.sv.html 0600 root bin 556 52697 1025499869
1 f none postfix/help/relay_rules.ca.html 0600 root bin 887 14393 1025499869
1 f none postfix/help/relay_rules.html 0600 root bin 887 14393 1025499869
1 f none postfix/help/relay_rules.pl.html 0600 root bin 965 23710 1025499869
1 f none postfix/help/relay_rules.sv.html 0600 root bin 889 17128 1025499869
1 f none postfix/help/relocated.ca.html 0600 root bin 999 23761 1025499869
1 f none postfix/help/relocated.html 0600 root bin 999 23761 1025499869
1 f none postfix/help/relocated.pl.html 0600 root bin 1212 50254 1025499869
1 f none postfix/help/relocated.sv.html 0600 root bin 1040 32699 1025499869
1 f none postfix/help/smtpd_restrictions.ca.html 0600 root bin 748 1878 1025499869
1 f none postfix/help/smtpd_restrictions.html 0600 root bin 748 1878 1025499869
1 f none postfix/help/smtpd_restrictions.pl.html 0600 root bin 869 13847 1025499869
1 f none postfix/help/smtpd_restrictions.sv.html 0600 root bin 739 4198 1025499869
1 f none postfix/help/transport.ca.html 0600 root bin 1259 48454 1025499869
1 f none postfix/help/transport.html 0600 root bin 1259 48454 1025499869
1 f none postfix/help/transport.pl.html 0600 root bin 1429 6053 1025499869
1 f none postfix/help/transport.sv.html 0600 root bin 1246 52865 1025499869
1 f none postfix/help/virtual.ca.html 0600 root bin 2544 29524 1025499869
1 f none postfix/help/virtual.html 0600 root bin 2544 29524 1025499869
1 f none postfix/help/virtual.pl.html 0600 root bin 2863 9502 1025499869
1 f none postfix/help/virtual.sv.html 0600 root bin 2588 46129 1025499869
1 d none postfix/images 0700 root bin
1 f none postfix/images/address_rewriting.gif 0600 root bin 2408 23089 1025499868
1 f none postfix/images/aliases.gif 0600 root bin 1924 54355 1025499868
1 f none postfix/images/canonical.gif 0600 root bin 2900 56537 1025499868
1 f none postfix/images/debug.gif 0600 root bin 2135 2464 1025499868
1 f none postfix/images/general.gif 0600 root bin 1522 34231 1025499868
1 f none postfix/images/icon.gif 0600 root bin 1840 18870 1025499868
1 f none postfix/images/ldap.gif 0600 root bin 1755 23281 1025499868
1 f none postfix/images/local_delivery.gif 0600 root bin 2367 22078 1025499868
1 f none postfix/images/rate.gif 0600 root bin 1821 20669 1025499868
1 f none postfix/images/relocated.gif 0600 root bin 1785 37348 1025499868
1 f none postfix/images/resource.gif 0600 root bin 1507 54943 1025499868
1 f none postfix/images/smtp.gif 0600 root bin 1709 12844 1025499868
1 f none postfix/images/smtpd.gif 0600 root bin 1828 38020 1025499868
1 f none postfix/images/transport.gif 0600 root bin 1291 18231 1025499868
1 f none postfix/images/virtual.gif 0600 root bin 1632 9195 1025499868
1 f none postfix/index.cgi 0700 root bin 3140 1181 1025499869
1 d none postfix/lang 0700 root bin
1 f none postfix/lang/ca 0600 root bin 17094 24825 1025499869
1 f none postfix/lang/de 0600 root bin 16779 50245 1025499868
1 f none postfix/lang/en 0600 root bin 15302 35521 1025499869
1 f none postfix/lang/es 0600 root bin 16658 53830 1025499869
1 f none postfix/lang/fr 0600 root bin 17255 3019 1025499868
1 f none postfix/lang/ja_JP.euc 0600 root bin 14380 52551 1025499869
1 f none postfix/lang/ja_JP.jis 0600 root bin 14380 4837 1025499869
1 f none postfix/lang/ko_KR.euc 0600 root bin 13370 3119 1025499869
1 f none postfix/lang/pl 0600 root bin 17659 24764 1025499869
1 f none postfix/lang/sv 0600 root bin 14457 33119 1025499869
1 f none postfix/lang/zh_CN 0600 root bin 10494 43774 1025499869
1 f none postfix/lang/zh_TW.Big5 0600 root bin 10740 64150 1025499869
1 f none postfix/ldap.cgi 0700 root bin 1620 7746 1025499868
1 f none postfix/local_delivery.cgi 0700 root bin 2856 54467 1025499869
1 f none postfix/maps_edit.cgi 0700 root bin 2173 51162 1025499869
1 f none postfix/module.info 0600 root bin 500 52534 1025499882
1 f none postfix/postfix-lib.pl 0600 root bin 13697 38145 1025499868
1 f none postfix/rate.cgi 0700 root bin 1738 19752 1025499869
1 f none postfix/relocated.cgi 0700 root bin 1592 4979 1025499869
1 f none postfix/resource.cgi 0700 root bin 2214 60624 1025499868
1 f none postfix/save_alias.cgi 0700 root bin 1924 29599 1025499869
1 f none postfix/save_map.cgi 0700 root bin 2260 57855 1025499869
1 f none postfix/save_opts.cgi 0700 root bin 787 2325 1025499869
1 f none postfix/save_opts_aliases.cgi 0700 root bin 787 2269 1025499868
1 f none postfix/save_opts_canonical.cgi 0700 root bin 865 9525 1025499868
1 f none postfix/save_opts_misc.cgi 0700 root bin 832 6397 1025499868
1 f none postfix/save_opts_relocated.cgi 0700 root bin 865 9569 1025499869
1 f none postfix/save_opts_transport.cgi 0700 root bin 865 9801 1025499868
1 f none postfix/save_opts_virtual.cgi 0700 root bin 857 8881 1025499869
1 f none postfix/smtp.cgi 0700 root bin 2355 8178 1025499869
1 f none postfix/smtpd.cgi 0700 root bin 3120 8491 1025499868
1 f none postfix/start.cgi 0700 root bin 808 5049 1025499869
1 f none postfix/stop.cgi 0700 root bin 786 3276 1025499868
1 f none postfix/transport.cgi 0700 root bin 1585 5008 1025499869
1 f none postfix/virtual.cgi 0700 root bin 1562 2363 1025499868
1 d none postgresql 0700 root bin
1 f none postgresql/acl_security.pl 0600 root bin 2592 14068 1025499870
1 f none postgresql/config 0600 root bin 299 27684 1025499870
1 f none postgresql/config-cobalt-linux 0600 root bin 247 22562 1025499870
1 f none postgresql/config-debian-linux 0600 root bin 242 22860 1025499870
1 f none postgresql/config-freebsd 0600 root bin 284 26037 1025499870
1 f none postgresql/config-gentoo-linux 0600 root bin 236 22399 1025499870
1 f none postgresql/config-mandrake-linux 0600 root bin 230 21529 1025499870
1 f none postgresql/config-msc-linux 0600 root bin 215 20260 1025499870
1 f none postgresql/config-netbsd 0600 root bin 258 23919 1025499870
1 f none postgresql/config-redhat-linux 0600 root bin 225 21072 1025499870
1 f none postgresql/config-redhat-linux-7.0 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.1 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.2 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.3 0600 root bin 244 22934 1025499870
1 f none postgresql/config-suse-linux 0600 root bin 240 22459 1025499870
1 f none postgresql/config-suse-linux-7.0 0600 root bin 230 21503 1025499870
1 f none postgresql/config-suse-linux-7.1 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-7.2 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-7.3 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-8.0 0600 root bin 232 21721 1025499870
1 f none postgresql/config.info 0600 root bin 549 49874 1025499870
1 f none postgresql/config.info.ca 0600 root bin 613 56777 1025499870
1 f none postgresql/config.info.es 0600 root bin 560 52391 1025499870
1 f none postgresql/config.info.ja_JP.euc 0600 root bin 400 52548 1025499870
1 f none postgresql/config.info.pl 0600 root bin 561 54750 1025499870
1 f none postgresql/config.info.sv 0600 root bin 504 49508 1025499870
1 f none postgresql/config.info.zh_CN 0600 root bin 301 41551 1025499870
1 f none postgresql/config.info.zh_TW.Big5 0600 root bin 425 51321 1025499870
1 f none postgresql/create_table.cgi 0700 root bin 1095 20850 1025499869
1 f none postgresql/defaultacl 0600 root bin 39 3177 1025499869
1 f none postgresql/down.cgi 0700 root bin 595 48234 1025499870
1 f none postgresql/drop_dbase.cgi 0700 root bin 1115 25904 1025499870
1 f none postgresql/drop_field.cgi 0700 root bin 3376 3052 1025499870
1 f none postgresql/drop_table.cgi 0700 root bin 1128 28005 1025499870
1 f none postgresql/edit_dbase.cgi 0700 root bin 2112 45427 1025499869
1 f none postgresql/edit_field.cgi 0700 root bin 2618 17884 1025499869
1 f none postgresql/edit_grant.cgi 0700 root bin 2641 12666 1025499869
1 f none postgresql/edit_group.cgi 0700 root bin 2005 34373 1025499870
1 f none postgresql/edit_host.cgi 0700 root bin 3500 20691 1025499870
1 f none postgresql/edit_table.cgi 0700 root bin 2774 32982 1025499869
1 f none postgresql/edit_user.cgi 0700 root bin 2519 11911 1025499869
1 f none postgresql/exec.cgi 0700 root bin 914 6456 1025499870
1 f none postgresql/exec_form.cgi 0700 root bin 635 54416 1025499869
1 d none postgresql/help 0700 root bin
1 f none postgresql/help/create_field.ca.html 0600 root bin 1 10 1025499870
1 f none postgresql/help/create_field.es.html 0600 root bin 596 53505 1025499870
1 f none postgresql/help/create_field.html 0600 root bin 561 48629 1025499870
1 f none postgresql/help/create_field.it.html 0600 root bin 535 47332 1025499870
1 f none postgresql/help/create_field.ja_JP.euc.html 0600 root bin 589 29243 1025499870
1 f none postgresql/help/create_field.pl.html 0600 root bin 605 55276 1025499870
1 f none postgresql/help/drop_field.html 0600 root bin 478 43050 1025499870
1 f none postgresql/help/edit_dbase.ca.html 0600 root bin 519 46349 1025499870
1 f none postgresql/help/edit_dbase.es.html 0600 root bin 481 42936 1025499870
1 f none postgresql/help/edit_dbase.html 0600 root bin 423 37518 1025499870
1 f none postgresql/help/edit_dbase.it.html 0600 root bin 489 44192 1025499870
1 f none postgresql/help/edit_dbase.ja_JP.euc.html 0600 root bin 518 25740 1025499870
1 f none postgresql/help/edit_dbase.pl.html 0600 root bin 539 51921 1025499870
1 f none postgresql/help/edit_field.ca.html 0600 root bin 355 32056 1025499870
1 f none postgresql/help/edit_field.es.html 0600 root bin 355 32142 1025499870
1 f none postgresql/help/edit_field.html 0600 root bin 324 28665 1025499870
1 f none postgresql/help/edit_field.it.html 0600 root bin 388 35244 1025499870
1 f none postgresql/help/edit_field.ja_JP.euc.html 0600 root bin 375 64570 1025499870
1 f none postgresql/help/edit_field.pl.html 0600 root bin 334 32023 1025499870
1 f none postgresql/help/edit_table.ca.html 0600 root bin 627 56212 1025499870
1 f none postgresql/help/edit_table.es.html 0600 root bin 619 56570 1025499870
1 f none postgresql/help/edit_table.html 0600 root bin 554 49718 1025499870
1 f none postgresql/help/edit_table.it.html 0600 root bin 560 50329 1025499870
1 f none postgresql/help/edit_table.ja_JP.euc.html 0600 root bin 572 34381 1025499870
1 f none postgresql/help/edit_table.pl.html 0600 root bin 622 59682 1025499870
1 f none postgresql/help/exec_form.ca.html 0600 root bin 234 22116 1025499870
1 f none postgresql/help/exec_form.es.html 0600 root bin 268 24069 1025499870
1 f none postgresql/help/exec_form.html 0600 root bin 203 18090 1025499870
1 f none postgresql/help/exec_form.it.html 0600 root bin 236 21525 1025499870
1 f none postgresql/help/exec_form.ja_JP.euc.html 0600 root bin 191 29733 1025499870
1 f none postgresql/help/exec_form.pl.html 0600 root bin 282 25887 1025499870
1 f none postgresql/help/intro.ca.html 0600 root bin 803 8003 1025499870
1 f none postgresql/help/intro.es.html 0600 root bin 846 13181 1025499870
1 f none postgresql/help/intro.html 0600 root bin 705 64541 1025499870
1 f none postgresql/help/intro.it.html 0600 root bin 768 4842 1025499870
1 f none postgresql/help/intro.ja_JP.euc.html 0600 root bin 686 50992 1025499870
1 f none postgresql/help/intro.pl.html 0600 root bin 863 18597 1025499870
1 f none postgresql/help/list_grants.ca.html 0600 root bin 506 46930 1025499870
1 f none postgresql/help/list_grants.es.html 0600 root bin 451 41853 1025499870
1 f none postgresql/help/list_grants.html 0600 root bin 461 41961 1025499870
1 f none postgresql/help/list_grants.it.html 0600 root bin 472 43364 1025499870
1 f none postgresql/help/list_grants.ja_JP.euc.html 0600 root bin 473 17388 1025499870
1 f none postgresql/help/list_grants.pl.html 0600 root bin 492 47924 1025499870
1 f none postgresql/help/list_groups.ca.html 0600 root bin 231 20775 1025499870
1 f none postgresql/help/list_groups.es.html 0600 root bin 244 22287 1025499870
1 f none postgresql/help/list_groups.html 0600 root bin 221 19655 1025499870
1 f none postgresql/help/list_groups.it.html 0600 root bin 288 26295 1025499870
1 f none postgresql/help/list_groups.ja_JP.euc.html 0600 root bin 246 39964 1025499870
1 f none postgresql/help/list_groups.pl.html 0600 root bin 274 26587 1025499870
1 f none postgresql/help/list_hosts.ca.html 0600 root bin 1205 44470 1025499870
1 f none postgresql/help/list_hosts.es.html 0600 root bin 1268 50833 1025499870
1 f none postgresql/help/list_hosts.html 0600 root bin 1103 33612 1025499870
1 f none postgresql/help/list_hosts.it.html 0600 root bin 1170 40269 1025499870
1 f none postgresql/help/list_hosts.ja_JP.euc.html 0600 root bin 1019 38787 1025499870
1 f none postgresql/help/list_hosts.pl.html 0600 root bin 1237 52688 1025499870
1 f none postgresql/help/list_users.ca.html 0600 root bin 321 29326 1025499870
1 f none postgresql/help/list_users.es.html 0600 root bin 341 31468 1025499870
1 f none postgresql/help/list_users.html 0600 root bin 312 28351 1025499870
1 f none postgresql/help/list_users.it.html 0600 root bin 319 29026 1025499870
1 f none postgresql/help/list_users.ja_JP.euc.html 0600 root bin 289 47800 1025499870
1 f none postgresql/help/list_users.pl.html 0600 root bin 367 37053 1025499870
1 f none postgresql/help/newdb_form.ca.html 0600 root bin 346 30566 1025499870
1 f none postgresql/help/newdb_form.es.html 0600 root bin 362 32677 1025499870
1 f none postgresql/help/newdb_form.html 0600 root bin 301 26790 1025499870
1 f none postgresql/help/newdb_form.it.html 0600 root bin 251 22128 1025499870
1 f none postgresql/help/newdb_form.ja_JP.euc.html 0600 root bin 334 56174 1025499870
1 f none postgresql/help/newdb_form.pl.html 0600 root bin 315 31160 1025499870
1 f none postgresql/help/table_form.ca.html 0600 root bin 529 47913 1025499870
1 f none postgresql/help/table_form.es.html 0600 root bin 558 50827 1025499870
1 f none postgresql/help/table_form.html 0600 root bin 501 44498 1025499870
1 f none postgresql/help/table_form.it.html 0600 root bin 571 50885 1025499870
1 f none postgresql/help/table_form.ja_JP.euc.html 0600 root bin 448 12106 1025499870
1 f none postgresql/help/table_form.pl.html 0600 root bin 550 53931 1025499870
1 f none postgresql/help/view_table.ca.html 0600 root bin 782 3355 1025499870
1 f none postgresql/help/view_table.es.html 0600 root bin 804 6571 1025499870
1 f none postgresql/help/view_table.html 0600 root bin 708 61084 1025499870
1 f none postgresql/help/view_table.it.html 0600 root bin 776 2880 1025499870
1 f none postgresql/help/view_table.ja_JP.euc.html 0600 root bin 630 34731 1025499870
1 f none postgresql/help/view_table.pl.html 0600 root bin 799 7952 1025499870
1 d none postgresql/images 0700 root bin
1 f none postgresql/images/db.gif 0600 root bin 462 58683 1025499869
1 f none postgresql/images/down.gif 0600 root bin 108 8892 1025499869
1 f none postgresql/images/gap.gif 0600 root bin 73 6048 1025499869
1 f none postgresql/images/grants.gif 0600 root bin 1869 17073 1025499869
1 f none postgresql/images/groups.gif 0600 root bin 401 45436 1025499869
1 f none postgresql/images/hosts.gif 0600 root bin 412 49712 1025499869
1 f none postgresql/images/icon.gif 0600 root bin 1752 25416 1025499869
1 f none postgresql/images/table.gif 0600 root bin 366 49508 1025499869
1 f none postgresql/images/up.gif 0600 root bin 103 9086 1025499869
1 f none postgresql/images/users.gif 0600 root bin 293 35470 1025499869
1 f none postgresql/index.cgi 0700 root bin 4512 34631 1025499870
1 d none postgresql/lang 0700 root bin
1 f none postgresql/lang/ca 0600 root bin 10679 15752 1025499870
1 f none postgresql/lang/en 0600 root bin 9973 14308 1025499870
1 f none postgresql/lang/es 0600 root bin 10370 60363 1025499870
1 f none postgresql/lang/it 0600 root bin 10295 45720 1025499870
1 f none postgresql/lang/ja_JP.euc 0600 root bin 9670 50472 1025499870
1 f none postgresql/lang/ko_KR.euc 0600 root bin 8528 29469 1025499870
1 f none postgresql/lang/pl 0600 root bin 10430 42209 1025499870
1 f none postgresql/lang/sv 0600 root bin 9428 2014 1025499870
1 f none postgresql/lang/zh_CN 0600 root bin 6612 43163 1025499870
1 f none postgresql/lang/zh_TW.Big5 0600 root bin 7325 35113 1025499870
1 f none postgresql/list_grants.cgi 0700 root bin 2211 38751 1025499869
1 f none postgresql/list_groups.cgi 0700 root bin 1229 32880 1025499869
1 f none postgresql/list_hosts.cgi 0700 root bin 1705 2056 1025499870
1 f none postgresql/list_locals.cgi 0700 root bin 808 65017 1025499869
1 f none postgresql/list_users.cgi 0700 root bin 1231 33087 1025499870
1 f none postgresql/log_parser.pl 0600 root bin 1583 62265 1025499870
1 f none postgresql/login.cgi 0700 root bin 511 44492 1025499869
1 f none postgresql/module.info 0600 root bin 427 44427 1025499882
1 f none postgresql/newdb.cgi 0700 root bin 696 57516 1025499870
1 f none postgresql/newdb_form.cgi 0700 root bin 935 13771 1025499869
1 f none postgresql/postgresql-lib.pl 0600 root bin 8763 18977 1025499869
1 f none postgresql/save_field.cgi 0700 root bin 769 61079 1025499870
1 f none postgresql/save_grant.cgi 0700 root bin 1045 14083 1025499870
1 f none postgresql/save_group.cgi 0700 root bin 1287 41066 1025499869
1 f none postgresql/save_host.cgi 0700 root bin 1988 26204 1025499870
1 f none postgresql/save_user.cgi 0700 root bin 1240 33131 1025499869
1 f none postgresql/start.cgi 0700 root bin 396 33244 1025499870
1 f none postgresql/stop.cgi 0700 root bin 610 49486 1025499869
1 f none postgresql/table_form.cgi 0700 root bin 1811 20324 1025499870
1 f none postgresql/up.cgi 0700 root bin 591 47814 1025499870
1 f none postgresql/view_table.cgi 0700 root bin 5803 62923 1025499869
1 i postinstall 406 37191 1025505346
1 i preremove 301 24986 1025505347
1 d none proc 0700 root bin
1 f none proc/acl_security.pl 0600 root bin 1352 45821 1025499844
1 f none proc/config-aix 0600 root bin 44 4242 1025499849
1 f none proc/config-cobalt-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-corel-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-debian-linux 0600 root bin 45 4333 1025499847
1 f none proc/config-freebsd 0600 root bin 47 4503 1025499844
1 f none proc/config-generic-linux 0600 root bin 45 4333 1025499850
1 f none proc/config-gentoo-linux 0600 root bin 45 4333 1025499850
1 f none proc/config-hpux 0600 root bin 44 4225 1025499844
1 f none proc/config-irix 0600 root bin 44 4242 1025499844
1 f none proc/config-macos 0600 root bin 45 4300 1025499844
1 f none proc/config-mandrake-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-msc-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-netbsd 0600 root bin 47 4503 1025499849
1 f none proc/config-open-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-openbsd 0600 root bin 47 4519 1025499849
1 f none proc/config-openserver 0600 root bin 44 4242 1025499849
1 f none proc/config-osf1 0600 root bin 43 4101 1025499849
1 f none proc/config-redhat-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-slackware-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-solaris 0600 root bin 44 4242 1025499844
1 f none proc/config-suse-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-turbo-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-unixware 0600 root bin 44 4242 1025499849
1 f none proc/config.info 0600 root bin 275 25461 1025499849
1 f none proc/config.info.ca 0600 root bin 346 31954 1025499849
1 f none proc/config.info.de 0600 root bin 313 29196 1025499847
1 f none proc/config.info.es 0600 root bin 336 32015 1025499844
1 f none proc/config.info.fr 0600 root bin 315 29481 1025499849
1 f none proc/config.info.hu 0600 root bin 293 29930 1025499849
1 f none proc/config.info.pl 0600 root bin 321 31751 1025499849
1 f none proc/config.info.ru_RU 0600 root bin 333 54501 1025499849
1 f none proc/config.info.ru_SU 0600 root bin 333 49596 1025499844
1 f none proc/config.info.sv 0600 root bin 311 30774 1025499847
1 f none proc/config.info.tr 0600 root bin 298 33075 1025499849
1 f none proc/config.info.zh_CN 0600 root bin 214 28029 1025499844
1 f none proc/config.info.zh_TW.Big5 0600 root bin 248 31411 1025499844
1 f none proc/defaultacl 0600 root bin 30 2414 1025499844
1 f none proc/edit_proc.cgi 0700 root bin 4271 17354 1025499844
1 f none proc/freebsd-lib.pl 0600 root bin 1756 3770 1025499848
1 d none proc/help 0700 root bin
1 f none proc/help/cmd.ca.html 0600 root bin 265 22944 1025499849
1 f none proc/help/cmd.es.html 0600 root bin 268 23498 1025499849
1 f none proc/help/cmd.fr.html 0600 root bin 315 29069 1025499848
1 f none proc/help/cmd.html 0600 root bin 252 21766 1025499848
1 f none proc/help/cmd.hu.html 0600 root bin 305 29028 1025499849
1 f none proc/help/cmd.pl.html 0600 root bin 310 28863 1025499849
1 f none proc/help/cmd.sv.html 0600 root bin 274 24966 1025499849
1 f none proc/help/cmd.zh_TW.Big5.html 0600 root bin 224 26337 1025499849
1 f none proc/help/cpu.ca.html 0600 root bin 699 64698 1025499849
1 f none proc/help/cpu.es.html 0600 root bin 699 64377 1025499849
1 f none proc/help/cpu.fr.html 0600 root bin 799 9819 1025499848
1 f none proc/help/cpu.html 0600 root bin 648 58183 1025499848
1 f none proc/help/cpu.hu.html 0600 root bin 698 3883 1025499849
1 f none proc/help/cpu.pl.html 0600 root bin 792 12411 1025499849
1 f none proc/help/cpu.sv.html 0600 root bin 613 58086 1025499849
1 f none proc/help/cpu.zh_TW.Big5.html 0600 root bin 512 7083 1025499848
1 f none proc/help/edit_proc.ca.html 0600 root bin 1688 20570 1025499849
1 f none proc/help/edit_proc.es.html 0600 root bin 1709 23936 1025499849
1 f none proc/help/edit_proc.fr.html 0600 root bin 1789 36384 1025499849
1 f none proc/help/edit_proc.html 0600 root bin 1576 8931 1025499849
1 f none proc/help/edit_proc.hu.html 0600 root bin 1622 30657 1025499849
1 f none proc/help/edit_proc.pl.html 0600 root bin 1772 39251 1025499849
1 f none proc/help/edit_proc.sv.html 0600 root bin 1579 16966 1025499849
1 f none proc/help/edit_proc.zh_TW.Big5.html 0600 root bin 1097 23020 1025499849
1 f none proc/help/input.ca.html 0600 root bin 242 21903 1025499849
1 f none proc/help/input.es.html 0600 root bin 242 22324 1025499849
1 f none proc/help/input.fr.html 0600 root bin 139 12752 1025499848
1 f none proc/help/input.html 0600 root bin 221 19885 1025499848
1 f none proc/help/input.hu.html 0600 root bin 216 21120 1025499849
1 f none proc/help/input.pl.html 0600 root bin 246 23634 1025499849
1 f none proc/help/input.sv.html 0600 root bin 237 22461 1025499849
1 f none proc/help/input.zh_TW.Big5.html 0600 root bin 161 22271 1025499848
1 f none proc/help/intro.ca.html 0600 root bin 1213 47052 1025499849
1 f none proc/help/intro.es.html 0600 root bin 1283 52771 1025499848
1 f none proc/help/intro.fr.html 0600 root bin 1442 8027 1025499849
1 f none proc/help/intro.html 0600 root bin 1138 37941 1025499849
1 f none proc/help/intro.hu.html 0600 root bin 1316 3428 1025499849
1 f none proc/help/intro.pl.html 0600 root bin 1301 61902 1025499849
1 f none proc/help/intro.sv.html 0600 root bin 1113 42899 1025499848
1 f none proc/help/intro.zh_TW.Big5.html 0600 root bin 825 53257 1025499849
1 f none proc/help/mode.ca.html 0600 root bin 432 37173 1025499849
1 f none proc/help/mode.es.html 0600 root bin 417 37315 1025499849
1 f none proc/help/mode.fr.html 0600 root bin 414 38829 1025499849
1 f none proc/help/mode.html 0600 root bin 372 32806 1025499849
1 f none proc/help/mode.hu.html 0600 root bin 376 38048 1025499849
1 f none proc/help/mode.pl.html 0600 root bin 430 40256 1025499849
1 f none proc/help/mode.sv.html 0600 root bin 337 32111 1025499848
1 f none proc/help/mode.zh_TW.Big5.html 0600 root bin 278 38063 1025499849
1 f none proc/help/nice.ca.html 0600 root bin 547 51318 1025499849
1 f none proc/help/nice.es.html 0600 root bin 499 45984 1025499849
1 f none proc/help/nice.fr.html 0600 root bin 523 50397 1025499848
1 f none proc/help/nice.html 0600 root bin 445 41008 1025499849
1 f none proc/help/nice.hu.html 0600 root bin 436 44626 1025499849
1 f none proc/help/nice.pl.html 0600 root bin 539 53989 1025499849
1 f none proc/help/nice.sv.html 0600 root bin 457 45294 1025499849
1 f none proc/help/nice.zh_TW.Big5.html 0600 root bin 358 54257 1025499848
1 f none proc/help/overview.ca.html 0600 root bin 78 7252 1025499849
1 f none proc/help/overview.es.html 0600 root bin 87 8224 1025499849
1 f none proc/help/overview.fr.html 0600 root bin 78 7267 1025499849
1 f none proc/help/overview.html 0600 root bin 73 6679 1025499849
1 f none proc/help/overview.hu.html 0600 root bin 90 9019 1025499849
1 f none proc/help/overview.pl.html 0600 root bin 86 8157 1025499849
1 f none proc/help/overview.sv.html 0600 root bin 68 6483 1025499849
1 f none proc/help/overview.zh_TW.Big5.html 0600 root bin 66 8897 1025499849
1 f none proc/help/run.ca.html 0600 root bin 234 21706 1025499849
1 f none proc/help/run.es.html 0600 root bin 245 22755 1025499849
1 f none proc/help/run.fr.html 0600 root bin 246 23254 1025499849
1 f none proc/help/run.html 0600 root bin 231 20976 1025499848
1 f none proc/help/run.hu.html 0600 root bin 247 24890 1025499849
1 f none proc/help/run.pl.html 0600 root bin 302 30034 1025499849
1 f none proc/help/run.sv.html 0600 root bin 235 22476 1025499849
1 f none proc/help/run.zh_TW.Big5.html 0600 root bin 154 21978 1025499848
1 f none proc/help/scpu.ca.html 0600 root bin 152 13760 1025499849
1 f none proc/help/scpu.es.html 0600 root bin 141 12917 1025499848
1 f none proc/help/scpu.fr.html 0600 root bin 192 18002 1025499848
1 f none proc/help/scpu.html 0600 root bin 137 12406 1025499849
1 f none proc/help/scpu.hu.html 0600 root bin 153 14998 1025499849
1 f none proc/help/scpu.pl.html 0600 root bin 166 16639 1025499849
1 f none proc/help/scpu.sv.html 0600 root bin 136 12733 1025499849
1 f none proc/help/scpu.zh_TW.Big5.html 0600 root bin 106 13593 1025499849
1 f none proc/help/search.ca.html 0600 root bin 700 64314 1025499849
1 f none proc/help/search.es.html 0600 root bin 734 2343 1025499849
1 f none proc/help/search.fr.html 0600 root bin 784 8279 1025499848
1 f none proc/help/search.html 0600 root bin 665 59582 1025499849
1 f none proc/help/search.hu.html 0600 root bin 701 4885 1025499849
1 f none proc/help/search.pl.html 0600 root bin 786 12643 1025499849
1 f none proc/help/search.sv.html 0600 root bin 669 64653 1025499849
1 f none proc/help/search.zh_TW.Big5.html 0600 root bin 504 5798 1025499849
1 f none proc/help/sfiles.ca.html 0600 root bin 233 21616 1025499849
1 f none proc/help/sfiles.es.html 0600 root bin 227 21110 1025499849
1 f none proc/help/sfiles.fr.html 0600 root bin 270 25805 1025499849
1 f none proc/help/sfiles.html 0600 root bin 208 18956 1025499849
1 f none proc/help/sfiles.hu.html 0600 root bin 266 27099 1025499849
1 f none proc/help/sfiles.pl.html 0600 root bin 239 23586 1025499849
1 f none proc/help/sfiles.sv.html 0600 root bin 215 20537 1025499849
1 f none proc/help/sfiles.zh_TW.Big5.html 0600 root bin 135 20006 1025499849
1 f none proc/help/sfs.ca.html 0600 root bin 421 39865 1025499849
1 f none proc/help/sfs.es.html 0600 root bin 451 42949 1025499849
1 f none proc/help/sfs.fr.html 0600 root bin 428 41268 1025499849
1 f none proc/help/sfs.html 0600 root bin 375 34611 1025499849
1 f none proc/help/sfs.hu.html 0600 root bin 442 46091 1025499849
1 f none proc/help/sfs.pl.html 0600 root bin 503 51106 1025499849
1 f none proc/help/sfs.sv.html 0600 root bin 397 38359 1025499849
1 f none proc/help/sfs.zh_TW.Big5.html 0600 root bin 219 33879 1025499849
1 f none proc/help/signore.ca.html 0600 root bin 263 24178 1025499849
1 f none proc/help/signore.html 0600 root bin 240 21763 1025499849
1 f none proc/help/signore.pl.html 0600 root bin 256 25885 1025499849
1 f none proc/help/size.ca.html 0600 root bin 823 11870 1025499849
1 f none proc/help/size.es.html 0600 root bin 808 10294 1025499849
1 f none proc/help/size.fr.html 0600 root bin 805 11771 1025499849
1 f none proc/help/size.html 0600 root bin 711 65079 1025499849
1 f none proc/help/size.hu.html 0600 root bin 863 22590 1025499849
1 f none proc/help/size.pl.html 0600 root bin 861 20805 1025499849
1 f none proc/help/size.sv.html 0600 root bin 688 398 1025499849
1 f none proc/help/size.zh_TW.Big5.html 0600 root bin 565 19558 1025499849
1 f none proc/help/smatch.ca.html 0600 root bin 289 26924 1025499849
1 f none proc/help/smatch.es.html 0600 root bin 259 24299 1025499848
1 f none proc/help/smatch.fr.html 0600 root bin 293 27640 1025499849
1 f none proc/help/smatch.html 0600 root bin 227 20836 1025499848
1 f none proc/help/smatch.hu.html 0600 root bin 282 28162 1025499849
1 f none proc/help/smatch.pl.html 0600 root bin 247 24406 1025499849
1 f none proc/help/smatch.sv.html 0600 root bin 242 23088 1025499849
1 f none proc/help/smatch.zh_TW.Big5.html 0600 root bin 160 20553 1025499849
1 f none proc/help/ssocket.ca.html 0600 root bin 159 14891 1025499849
1 f none proc/help/ssocket.html 0600 root bin 140 12852 1025499849
1 f none proc/help/suser.ca.html 0600 root bin 114 10097 1025499849
1 f none proc/help/suser.es.html 0600 root bin 132 12218 1025499849
1 f none proc/help/suser.fr.html 0600 root bin 126 11708 1025499849
1 f none proc/help/suser.html 0600 root bin 102 9127 1025499849
1 f none proc/help/suser.hu.html 0600 root bin 144 14221 1025499849
1 f none proc/help/suser.pl.html 0600 root bin 127 12626 1025499849
1 f none proc/help/suser.sv.html 0600 root bin 103 9659 1025499849
1 f none proc/help/suser.zh_TW.Big5.html 0600 root bin 77 10731 1025499848
1 f none proc/help/tree.ca.html 0600 root bin 330 30065 1025499849
1 f none proc/help/tree.es.html 0600 root bin 335 30745 1025499849
1 f none proc/help/tree.fr.html 0600 root bin 357 34136 1025499849
1 f none proc/help/tree.html 0600 root bin 320 29040 1025499849
1 f none proc/help/tree.hu.html 0600 root bin 339 33075 1025499849
1 f none proc/help/tree.pl.html 0600 root bin 384 37356 1025499849
1 f none proc/help/tree.sv.html 0600 root bin 305 29367 1025499849
1 f none proc/help/tree.zh_TW.Big5.html 0600 root bin 256 35954 1025499849
1 f none proc/help/user.ca.html 0600 root bin 354 32190 1025499849
1 f none proc/help/user.es.html 0600 root bin 443 40824 1025499849
1 f none proc/help/user.fr.html 0600 root bin 460 44455 1025499848
1 f none proc/help/user.html 0600 root bin 381 34198 1025499849
1 f none proc/help/user.hu.html 0600 root bin 395 39558 1025499849
1 f none proc/help/user.pl.html 0600 root bin 454 44865 1025499849
1 f none proc/help/user.sv.html 0600 root bin 328 31359 1025499849
1 f none proc/help/user.zh_TW.Big5.html 0600 root bin 296 42704 1025499848
1 f none proc/hpux-lib.pl 0600 root bin 1937 12545 1025499849
1 d none proc/images 0700 root bin
1 f none proc/images/icon.gif 0600 root bin 359 41333 1025499844
1 f none proc/index.cgi 0700 root bin 470 38729 1025499849
1 f none proc/index_cpu.cgi 0700 root bin 1134 24118 1025499844
1 f none proc/index_run.cgi 0700 root bin 1006 18642 1025499849
1 f none proc/index_search.cgi 0700 root bin 6317 41683 1025499849
1 f none proc/index_size.cgi 0700 root bin 1221 30761 1025499849
1 f none proc/index_tree.cgi 0700 root bin 1456 49620 1025499848
1 f none proc/index_user.cgi 0700 root bin 1258 32459 1025499844
1 f none proc/kill_proc.cgi 0700 root bin 724 58617 1025499844
1 f none proc/kill_proc_list.cgi 0700 root bin 795 64841 1025499844
1 d none proc/lang 0700 root bin
1 f none proc/lang/ca 0600 root bin 3351 53356 1025499846
1 f none proc/lang/de 0600 root bin 2050 1167 1025499844
1 f none proc/lang/en 0600 root bin 3684 17026 1025499844
1 f none proc/lang/es 0600 root bin 3159 35157 1025499844
1 f none proc/lang/fr 0600 root bin 3338 62672 1025499844
1 f none proc/lang/hu 0600 root bin 2012 9721 1025499845
1 f none proc/lang/ja_JP.euc 0600 root bin 2682 21333 1025499845
1 f none proc/lang/ko_KR.euc 0600 root bin 2539 61514 1025499845
1 f none proc/lang/pl 0600 root bin 3228 55104 1025499845
1 f none proc/lang/pt 0600 root bin 2171 13786 1025499844
1 f none proc/lang/ru_RU 0600 root bin 1983 48100 1025499845
1 f none proc/lang/ru_SU 0600 root bin 2011 26152 1025499845
1 f none proc/lang/sv 0600 root bin 2706 64192 1025499845
1 f none proc/lang/tr 0600 root bin 2253 42843 1025499845
1 f none proc/lang/zh_CN 0600 root bin 2009 59830 1025499844
1 f none proc/lang/zh_TW.Big5 0600 root bin 1697 16282 1025499844
1 f none proc/linux-lib.pl 0600 root bin 4592 22131 1025499844
1 f none proc/log_parser.pl 0600 root bin 988 9988 1025499849
1 f none proc/low.skill 0600 root bin 9 770 1025499849
1 f none proc/macos-lib.pl 0600 root bin 1645 55250 1025499844
1 f none proc/medium.risk 0600 root bin 21 1904 1025499849
1 f none proc/medium.skill 0600 root bin 9 770 1025499849
1 f none proc/module.info 0600 root bin 767 17373 1025499882
1 f none proc/open_files.cgi 0700 root bin 3042 36497 1025499850
1 f none proc/openbsd-lib.pl 0600 root bin 1292 32949 1025499850
1 f none proc/osf-lib.pl 0600 root bin 1920 18204 1025499844
1 f none proc/proc-lib.pl 0600 root bin 6210 9879 1025499844
1 f none proc/renice_proc.cgi 0700 root bin 341 29330 1025499844
1 f none proc/run.cgi 0700 root bin 880 3382 1025499849
1 f none proc/sysv-lib.pl 0600 root bin 2276 47447 1025499847
1 d none procmail 0700 root bin
1 f none procmail/config 0600 root bin 27 2617 1025499882
1 f none procmail/config.info 0600 root bin 44 4144 1025499882
1 f none procmail/down.cgi 0700 root bin 210 17340 1025499882
1 f none procmail/edit_env.cgi 0700 root bin 1326 44658 1025499882
1 f none procmail/edit_recipe.cgi 0700 root bin 3655 29529 1025499882
1 d none procmail/images 0700 root bin
1 f none procmail/images/down.gif 0600 root bin 108 8892 1025499882
1 f none procmail/images/gap.gif 0600 root bin 73 6048 1025499882
1 f none procmail/images/icon.gif 0600 root bin 1526 1442 1025499882
1 f none procmail/images/up.gif 0600 root bin 103 9086 1025499882
1 f none procmail/index.cgi 0700 root bin 2701 64497 1025499882
1 d none procmail/lang 0700 root bin
1 f none procmail/lang/en 0600 root bin 2862 4598 1025499882
1 f none procmail/module.info 0600 root bin 85 7563 1025499882
1 f none procmail/procmail-lib.pl 0600 root bin 4682 15894 1025499882
1 f none procmail/save_env.cgi 0700 root bin 582 47344 1025499882
1 f none procmail/save_recipe.cgi 0700 root bin 1926 12220 1025499882
1 f none procmail/up.cgi 0700 root bin 206 16920 1025499882
1 d none proftpd 0700 root bin
1 f none proftpd/allmanual_form.cgi 0700 root bin 1077 25313 1025499877
1 f none proftpd/allmanual_save.cgi 0700 root bin 365 29682 1025499877
1 f none proftpd/anon_index.cgi 0700 root bin 2887 40056 1025499877
1 f none proftpd/apply.cgi 0700 root bin 194 15987 1025499877
1 f none proftpd/config 0600 root bin 137 13257 1025499877
1 f none proftpd/config-cobalt-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-debian-linux 0600 root bin 151 14577 1025499877
1 f none proftpd/config-freebsd 0600 root bin 134 12986 1025499877
1 f none proftpd/config-gentoo-linux 0600 root bin 123 11963 1025499877
1 f none proftpd/config-mandrake-linux 0600 root bin 156 14983 1025499877
1 f none proftpd/config-msc-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-open-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-redhat-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-slackware-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-suse-linux 0600 root bin 151 14577 1025499877
1 f none proftpd/config-turbo-linux 0600 root bin 156 14983 1025499877
1 f none proftpd/config.info 0600 root bin 201 18058 1025499877
1 f none proftpd/config.info.ca 0600 root bin 240 22403 1025499877
1 f none proftpd/config.info.es 0600 root bin 239 21987 1025499877
1 f none proftpd/config.info.pl 0600 root bin 254 24169 1025499877
1 f none proftpd/create_dir.cgi 0700 root bin 801 943 1025499877
1 f none proftpd/create_ftpaccess.cgi 0700 root bin 765 63316 1025499877
1 f none proftpd/create_limit.cgi 0700 root bin 1030 18527 1025499877
1 f none proftpd/create_virt.cgi 0700 root bin 964 15816 1025499877
1 f none proftpd/delete_ftpaccess.cgi 0700 root bin 414 35484 1025499877
1 f none proftpd/dir_index.cgi 0700 root bin 2511 9827 1025499877
1 f none proftpd/edit_anon.cgi 0700 root bin 1167 34055 1025499877
1 f none proftpd/edit_aserv.cgi 0700 root bin 1955 31829 1025499877
1 f none proftpd/edit_dir.cgi 0700 root bin 1768 18623 1025499877
1 f none proftpd/edit_dserv.cgi 0700 root bin 1773 18577 1025499877
1 f none proftpd/edit_ftpaccess.cgi 0700 root bin 1109 29591 1025499877
1 f none proftpd/edit_ftpusers.cgi 0700 root bin 568 48617 1025499877
1 f none proftpd/edit_global.cgi 0700 root bin 980 17211 1025499877
1 f none proftpd/edit_limit.cgi 0700 root bin 3205 7657 1025499877
1 f none proftpd/edit_lserv.cgi 0700 root bin 3611 39013 1025499877
1 f none proftpd/edit_net.cgi 0700 root bin 742 61672 1025499877
1 f none proftpd/edit_virt.cgi 0700 root bin 1033 22298 1025499877
1 f none proftpd/edit_vserv.cgi 0700 root bin 1436 54734 1025499877
1 f none proftpd/feedback_files.pl 0600 root bin 126 10140 1025499877
1 f none proftpd/find_ftpaccess.cgi 0700 root bin 1030 17310 1025499877
1 f none proftpd/ftpaccess.cgi 0700 root bin 1364 48199 1025499877
1 f none proftpd/ftpaccess_index.cgi 0700 root bin 1850 21258 1025499877
1 d none proftpd/images 0700 root bin
1 f none proftpd/images/anon.gif 0600 root bin 237 27060 1025499877
1 f none proftpd/images/dir.gif 0600 root bin 266 29430 1025499877
1 f none proftpd/images/dirs.gif 0600 root bin 266 29430 1025499877
1 f none proftpd/images/edit.gif 0600 root bin 478 48537 1025499877
1 f none proftpd/images/ftpusers.gif 0600 root bin 390 43396 1025499877
1 f none proftpd/images/icon.gif 0600 root bin 1547 60213 1025499877
1 f none proftpd/images/limit.gif 0600 root bin 296 34436 1025499877
1 f none proftpd/images/log.gif 0600 root bin 470 52260 1025499877
1 f none proftpd/images/misc.gif 0600 root bin 460 53918 1025499877
1 f none proftpd/images/type_icon_0.gif 0600 root bin 478 58145 1025499877
1 f none proftpd/images/type_icon_1.gif 0600 root bin 470 52260 1025499877
1 f none proftpd/images/type_icon_2.gif 0600 root bin 373 41729 1025499877
1 f none proftpd/images/type_icon_3.gif 0600 root bin 275 34570 1025499877
1 f none proftpd/images/type_icon_4.gif 0600 root bin 460 53918 1025499877
1 f none proftpd/images/type_icon_5.gif 0600 root bin 390 43396 1025499877
1 f none proftpd/images/type_icon_6.gif 0600 root bin 304 36662 1025499877
1 f none proftpd/images/virt.gif 0600 root bin 1547 60213 1025499877
1 f none proftpd/index.cgi 0700 root bin 7192 49098 1025499877
1 d none proftpd/lang 0700 root bin
1 f none proftpd/lang/ca 0600 root bin 18974 52217 1025499877
1 f none proftpd/lang/en 0600 root bin 16516 65097 1025499877
1 f none proftpd/lang/es 0600 root bin 17185 19876 1025499877
1 f none proftpd/lang/it 0600 root bin 16062 22285 1025499877
1 f none proftpd/lang/pl 0600 root bin 18597 8428 1025499877
1 f none proftpd/limit_index.cgi 0700 root bin 2486 9411 1025499877
1 f none proftpd/log_parser.pl 0600 root bin 2712 17935 1025499877
1 f none proftpd/manual_form.cgi 0700 root bin 3104 46953 1025499877
1 f none proftpd/manual_save.cgi 0700 root bin 2271 45768 1025499877
1 f none proftpd/mod_auth.pl 0600 root bin 2281 52347 1025499877
1 f none proftpd/mod_core.pl 0600 root bin 39226 22388 1025499877
1 f none proftpd/mod_ldap.pl 0600 root bin 9226 63001 1025499877
1 f none proftpd/mod_log.pl 0600 root bin 3213 57101 1025499877
1 f none proftpd/mod_ls.pl 0600 root bin 1639 2276 1025499877
1 f none proftpd/mod_pam.pl 0600 root bin 676 53967 1025499877
1 f none proftpd/mod_readme.pl 0600 root bin 426 36025 1025499877
1 f none proftpd/mod_site.pl 0600 root bin 443 36051 1025499877
1 f none proftpd/mod_unixpw.pl 0600 root bin 1578 2092 1025499877
1 f none proftpd/module.info 0600 root bin 147 13105 1025499882
1 f none proftpd/proftpd-lib.pl 0600 root bin 15893 41472 1025499877
1 f none proftpd/save_anon.cgi 0700 root bin 600 51355 1025499877
1 f none proftpd/save_aserv.cgi 0700 root bin 1468 55578 1025499877
1 f none proftpd/save_dir.cgi 0700 root bin 760 63782 1025499877
1 f none proftpd/save_dserv.cgi 0700 root bin 1163 29434 1025499877
1 f none proftpd/save_ftpaccess.cgi 0700 root bin 492 42666 1025499877
1 f none proftpd/save_ftpusers.cgi 0700 root bin 377 31709 1025499877
1 f none proftpd/save_global.cgi 0700 root bin 902 10416 1025499877
1 f none proftpd/save_limit.cgi 0700 root bin 922 11104 1025499877
1 f none proftpd/save_lserv.cgi 0700 root bin 1566 60433 1025499877
1 f none proftpd/save_virt.cgi 0700 root bin 502 43227 1025499877
1 f none proftpd/save_vserv.cgi 0700 root bin 1506 59025 1025499877
1 f none proftpd/start.cgi 0700 root bin 500 41403 1025499877
1 f none proftpd/virt_index.cgi 0700 root bin 2852 34206 1025499877
1 f none prototype 0644 root other 421914 36832 1025505346
1 d none pserver 0700 root bin
1 f none pserver/config 0600 root bin 59 5710 1025499882
1 f none pserver/config.info 0600 root bin 168 15607 1025499882
1 f none pserver/cvsweb.cgi 0700 root bin 85425 35222 1025499882
1 f none pserver/cvsweb.conf 0600 root bin 10064 34819 1025499882
1 f none pserver/edit_access.cgi 0700 root bin 1724 10083 1025499882
1 f none pserver/edit_config.cgi 0700 root bin 2312 57847 1025499882
1 f none pserver/edit_passwd.cgi 0700 root bin 2003 37276 1025499882
1 f none pserver/feedback_files.pl 0600 root bin 124 10591 1025499882
1 f none pserver/header.html 0600 root bin 785 3817 1025499882
1 d none pserver/images 0700 root bin
1 f none pserver/images/access.gif 0600 root bin 275 34570 1025499882
1 f none pserver/images/config.gif 0600 root bin 265 33770 1025499882
1 f none pserver/images/cvsweb.gif 0600 root bin 266 29430 1025499882
1 f none pserver/images/icon.gif 0600 root bin 2632 23323 1025499882
1 f none pserver/images/passwd.gif 0600 root bin 390 43396 1025499882
1 f none pserver/index.cgi 0700 root bin 2314 55453 1025499882
1 d none pserver/lang 0700 root bin
1 f none pserver/lang/en 0600 root bin 4050 50665 1025499882
1 f none pserver/list_passwd.cgi 0700 root bin 1954 30637 1025499882
1 f none pserver/log_parser.pl 0600 root bin 450 38357 1025499882
1 f none pserver/module.info 0600 root bin 74 6494 1025499882
1 f none pserver/pserver-lib.pl 0600 root bin 4002 44586 1025499882
1 f none pserver/save_access.cgi 0700 root bin 1018 17601 1025499882
1 f none pserver/save_config.cgi 0700 root bin 969 14814 1025499882
1 f none pserver/save_passwd.cgi 0700 root bin 1437 50443 1025499882
1 f none pserver/save_sync.cgi 0700 root bin 515 45231 1025499882
1 f none pserver/setup.cgi 0700 root bin 3184 53572 1025499882
1 f none pserver/useradmin_update.pl 0600 root bin 1185 30494 1025499882
1 d none qmailadmin 0700 root bin
1 f none qmailadmin/autoreply.pl 0700 root bin 2485 56092 1025499878
1 f none qmailadmin/config 0600 root bin 49 4455 1025499878
1 f none qmailadmin/config.info 0600 root bin 252 22915 1025499878
1 f none qmailadmin/config.info.ca 0600 root bin 267 24317 1025499878
1 f none qmailadmin/delete_queue.cgi 0700 root bin 610 49365 1025499878
1 f none qmailadmin/delete_queues.cgi 0700 root bin 609 48417 1025499878
1 f none qmailadmin/detach_queue.cgi 0700 root bin 529 45126 1025499878
1 f none qmailadmin/edit_alias.cgi 0700 root bin 280 23417 1025499878
1 f none qmailadmin/edit_assign.cgi 0700 root bin 315 26808 1025499878
1 f none qmailadmin/edit_ffile.cgi 0700 root bin 1673 64164 1025499878
1 f none qmailadmin/edit_rfile.cgi 0700 root bin 810 3157 1025499878
1 f none qmailadmin/edit_route.cgi 0700 root bin 299 25253 1025499878
1 f none qmailadmin/edit_virt.cgi 0700 root bin 292 24625 1025499878
1 f none qmailadmin/feedback_files.pl 0600 root bin 120 10367 1025499878
1 f none qmailadmin/filter.pl 0700 root bin 1569 43520 1025499878
1 d none qmailadmin/help 0700 root bin
1 d none qmailadmin/images 0700 root bin
1 f none qmailadmin/images/aliases.gif 0600 root bin 397 47679 1025499878
1 f none qmailadmin/images/assigns.gif 0600 root bin 390 43396 1025499878
1 f none qmailadmin/images/bads.gif 0600 root bin 362 42008 1025499878
1 f none qmailadmin/images/boxes.gif 0600 root bin 367 47932 1025499878
1 f none qmailadmin/images/icon.gif 0600 root bin 1945 19068 1025499878
1 f none qmailadmin/images/locals.gif 0600 root bin 266 31279 1025499878
1 f none qmailadmin/images/opts.gif 0600 root bin 460 53918 1025499878
1 f none qmailadmin/images/percents.gif 0600 root bin 230 27050 1025499878
1 f none qmailadmin/images/queue.gif 0600 root bin 374 42022 1025499878
1 f none qmailadmin/images/rcpts.gif 0600 root bin 355 39320 1025499878
1 f none qmailadmin/images/routes.gif 0600 root bin 248 28427 1025499878
1 f none qmailadmin/images/virts.gif 0600 root bin 451 55525 1025499878
1 f none qmailadmin/index.cgi 0700 root bin 2354 63316 1025499878
1 d none qmailadmin/lang 0700 root bin
1 f none qmailadmin/lang/ca 0600 root bin 10910 49905 1025499878
1 f none qmailadmin/lang/en 0600 root bin 9628 49542 1025499878
1 f none qmailadmin/lang/it 0600 root bin 9539 40822 1025499878
1 f none qmailadmin/list_aliases.cgi 0700 root bin 2109 37620 1025499878
1 f none qmailadmin/list_assigns.cgi 0700 root bin 1698 4829 1025499878
1 f none qmailadmin/list_bads.cgi 0700 root bin 731 62729 1025499878
1 f none qmailadmin/list_locals.cgi 0700 root bin 1037 22837 1025499878
1 f none qmailadmin/list_opts.cgi 0700 root bin 3332 20156 1025499878
1 f none qmailadmin/list_percents.cgi 0700 root bin 773 1047 1025499878
1 f none qmailadmin/list_queue.cgi 0700 root bin 1522 60698 1025499878
1 f none qmailadmin/list_rcpts.cgi 0700 root bin 1310 46724 1025499878
1 f none qmailadmin/list_routes.cgi 0700 root bin 2234 53117 1025499878
1 f none qmailadmin/list_virts.cgi 0700 root bin 1681 5432 1025499878
1 f none qmailadmin/log_parser.pl 0600 root bin 890 6434 1025499878
1 f none qmailadmin/module.info 0600 root bin 120 10948 1025499882
1 f none qmailadmin/qmail-lib.pl 0600 root bin 18142 59874 1025499878
1 f none qmailadmin/save_alias.cgi 0700 root bin 2324 44283 1025499878
1 f none qmailadmin/save_assign.cgi 0700 root bin 1414 50052 1025499878
1 f none qmailadmin/save_bads.cgi 0700 root bin 351 28921 1025499878
1 f none qmailadmin/save_defroute.cgi 0700 root bin 659 52433 1025499878
1 f none qmailadmin/save_ffile.cgi 0700 root bin 593 47866 1025499878
1 f none qmailadmin/save_locals.cgi 0700 root bin 360 29708 1025499878
1 f none qmailadmin/save_opts.cgi 0700 root bin 1538 65394 1025499878
1 f none qmailadmin/save_percents.cgi 0700 root bin 370 31135 1025499878
1 f none qmailadmin/save_rcpts.cgi 0700 root bin 621 52006 1025499878
1 f none qmailadmin/save_rfile.cgi 0700 root bin 246 20248 1025499878
1 f none qmailadmin/save_route.cgi 0700 root bin 997 15849 1025499878
1 f none qmailadmin/save_virt.cgi 0700 root bin 1667 81 1025499878
1 f none qmailadmin/start.cgi 0700 root bin 327 27043 1025499878
1 f none qmailadmin/stop.cgi 0700 root bin 327 27291 1025499878
1 f none qmailadmin/view_queue.cgi 0700 root bin 2469 3625 1025499878
1 d none quota 0700 root bin
1 f none quota/acl_security.pl 0600 root bin 6179 42148 1025499851
1 f none quota/activate.cgi 0700 root bin 632 51940 1025499851
1 f none quota/check_quotas.cgi 0700 root bin 693 59894 1025499851
1 f none quota/cobalt-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/config-cobalt-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-corel-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-debian-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-freebsd 0600 root bin 527 50919 1025499851
1 f none quota/config-generic-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-gentoo-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-hpux 0600 root bin 268 26523 1025499851
1 f none quota/config-mandrake-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-msc-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-netbsd 0600 root bin 527 50919 1025499853
1 f none quota/config-open-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-openbsd 0600 root bin 527 50919 1025499851
1 f none quota/config-redhat-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-redhat-linux-7.1 0600 root bin 536 51472 1025499853
1 f none quota/config-redhat-linux-7.2 0600 root bin 536 51472 1025499853
1 f none quota/config-redhat-linux-7.3 0600 root bin 536 51472 1025499853
1 f none quota/config-slackware-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-solaris 0600 root bin 268 26523 1025499852
1 f none quota/config-suse-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-turbo-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-unixware 0600 root bin 268 26523 1025499851
1 f none quota/config.info 0600 root bin 962 25536 1025499852
1 f none quota/config.info.ca 0600 root bin 1099 38269 1025499853
1 f none quota/config.info.de 0600 root bin 1123 42607 1025499852
1 f none quota/config.info.es 0600 root bin 1017 31761 1025499851
1 f none quota/config.info.fr 0600 root bin 1107 40559 1025499851
1 f none quota/config.info.nl 0600 root bin 1101 40760 1025499853
1 f none quota/config.info.pl 0600 root bin 1023 37220 1025499852
1 f none quota/config.info.ru_RU 0600 root bin 1081 56174 1025499852
1 f none quota/config.info.ru_SU 0600 root bin 1081 37794 1025499851
1 f none quota/config.info.sv 0600 root bin 1102 45610 1025499852
1 f none quota/config.info.tr 0600 root bin 1016 42203 1025499852
1 f none quota/config.info.zh_CN 0600 root bin 750 46673 1025499851
1 f none quota/config.info.zh_TW.Big5 0600 root bin 695 25140 1025499851
1 f none quota/copy_group.cgi 0700 root bin 1356 45827 1025499851
1 f none quota/copy_group_form.cgi 0700 root bin 1119 31767 1025499852
1 f none quota/copy_user.cgi 0700 root bin 1275 40205 1025499851
1 f none quota/copy_user_form.cgi 0700 root bin 1107 30665 1025499851
1 f none quota/corel-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/debian-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/defaultacl 0600 root bin 86 7305 1025499852
1 f none quota/edgrace.pl 0700 root bin 454 34487 1025499851
1 f none quota/edit_group_quota.cgi 0700 root bin 2295 64464 1025499852
1 f none quota/edit_user_quota.cgi 0700 root bin 2268 61523 1025499851
1 f none quota/edquota.pl 0700 root bin 511 37982 1025499852
1 f none quota/freebsd-lib.pl 0600 root bin 9083 64093 1025499852
1 f none quota/generic-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/gentoo-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/group_filesys.cgi 0700 root bin 2544 15563 1025499852
1 f none quota/group_grace_form.cgi 0700 root bin 1795 18415 1025499851
1 f none quota/group_grace_save.cgi 0700 root bin 780 65444 1025499852
1 d none quota/help 0700 root bin
1 f none quota/help/copy_group.ca.html 0600 root bin 562 49303 1025499852
1 f none quota/help/copy_group.es.html 0600 root bin 577 53059 1025499852
1 f none quota/help/copy_group.fr.html 0600 root bin 540 49430 1025499852
1 f none quota/help/copy_group.html 0600 root bin 508 45349 1025499852
1 f none quota/help/copy_group.nl.html 0600 root bin 550 49778 1025499852
1 f none quota/help/copy_group.pl.html 0600 root bin 569 54091 1025499852
1 f none quota/help/copy_group.sv.html 0600 root bin 547 50592 1025499852
1 f none quota/help/copy_group.zh_TW.Big5.html 0600 root bin 355 49939 1025499852
1 f none quota/help/copy_user.ca.html 0600 root bin 589 52114 1025499852
1 f none quota/help/copy_user.es.html 0600 root bin 614 56810 1025499852
1 f none quota/help/copy_user.fr.html 0600 root bin 574 53147 1025499852
1 f none quota/help/copy_user.html 0600 root bin 528 47118 1025499852
1 f none quota/help/copy_user.nl.html 0600 root bin 604 54983 1025499852
1 f none quota/help/copy_user.pl.html 0600 root bin 682 2124 1025499852
1 f none quota/help/copy_user.sv.html 0600 root bin 592 55783 1025499852
1 f none quota/help/copy_user.zh_TW.Big5.html 0600 root bin 374 54457 1025499852
1 f none quota/help/edit_group_quota.ca.html 0600 root bin 215 19828 1025499852
1 f none quota/help/edit_group_quota.es.html 0600 root bin 223 20494 1025499852
1 f none quota/help/edit_group_quota.fr.html 0600 root bin 207 19511 1025499852
1 f none quota/help/edit_group_quota.html 0600 root bin 189 16785 1025499852
1 f none quota/help/edit_group_quota.nl.html 0600 root bin 219 20063 1025499852
1 f none quota/help/edit_group_quota.pl.html 0600 root bin 240 23810 1025499852
1 f none quota/help/edit_group_quota.sv.html 0600 root bin 225 22089 1025499852
1 f none quota/help/edit_group_quota.zh_TW.Big5.html 0600 root bin 141 21101 1025499852
1 f none quota/help/edit_user_quota.ca.html 0600 root bin 221 20405 1025499852
1 f none quota/help/edit_user_quota.es.html 0600 root bin 227 20932 1025499852
1 f none quota/help/edit_user_quota.fr.html 0600 root bin 185 17415 1025499852
1 f none quota/help/edit_user_quota.html 0600 root bin 187 16565 1025499852
1 f none quota/help/edit_user_quota.nl.html 0600 root bin 216 19647 1025499852
1 f none quota/help/edit_user_quota.pl.html 0600 root bin 253 25386 1025499852
1 f none quota/help/edit_user_quota.sv.html 0600 root bin 232 23113 1025499852
1 f none quota/help/edit_user_quota.zh_TW.Big5.html 0600 root bin 145 21961 1025499852
1 f none quota/help/group_filesys.ca.html 0600 root bin 701 64700 1025499852
1 f none quota/help/group_filesys.es.html 0600 root bin 687 63536 1025499852
1 f none quota/help/group_filesys.fr.html 0600 root bin 708 483 1025499852
1 f none quota/help/group_filesys.html 0600 root bin 600 54307 1025499852
1 f none quota/help/group_filesys.nl.html 0600 root bin 733 2271 1025499852
1 f none quota/help/group_filesys.pl.html 0600 root bin 700 3819 1025499852
1 f none quota/help/group_filesys.sv.html 0600 root bin 572 55884 1025499852
1 f none quota/help/group_filesys.zh_TW.Big5.html 0600 root bin 421 62783 1025499852
1 f none quota/help/group_grace.ca.html 0600 root bin 439 41446 1025499852
1 f none quota/help/group_grace.es.html 0600 root bin 500 46515 1025499852
1 f none quota/help/group_grace.fr.html 0600 root bin 354 32867 1025499852
1 f none quota/help/group_grace.html 0600 root bin 405 36925 1025499852
1 f none quota/help/group_grace.nl.html 0600 root bin 412 38853 1025499852
1 f none quota/help/group_grace.pl.html 0600 root bin 528 52581 1025499852
1 f none quota/help/group_grace.sv.html 0600 root bin 422 41634 1025499852
1 f none quota/help/group_grace.zh_TW.Big5.html 0600 root bin 219 33145 1025499852
1 f none quota/help/intro.ca.html 0600 root bin 2676 48768 1025499852
1 f none quota/help/intro.es.html 0600 root bin 2901 7513 1025499852
1 f none quota/help/intro.fr.html 0600 root bin 2472 31164 1025499852
1 f none quota/help/intro.html 0600 root bin 2358 16768 1025499852
1 f none quota/help/intro.nl.html 0600 root bin 2862 2926 1025499852
1 f none quota/help/intro.pl.html 0600 root bin 2893 26861 1025499852
1 f none quota/help/intro.sv.html 0600 root bin 2258 23094 1025499852
1 f none quota/help/intro.zh_TW.Big5.html 0600 root bin 1727 58000 1025499852
1 f none quota/help/list_groups.ca.html 0600 root bin 1338 58001 1025499852
1 f none quota/help/list_groups.es.html 0600 root bin 1454 4279 1025499852
1 f none quota/help/list_groups.fr.html 0600 root bin 1442 4451 1025499852
1 f none quota/help/list_groups.html 0600 root bin 1208 43466 1025499852
1 f none quota/help/list_groups.nl.html 0600 root bin 1557 12091 1025499852
1 f none quota/help/list_groups.pl.html 0600 root bin 1383 7862 1025499852
1 f none quota/help/list_groups.sv.html 0600 root bin 1286 61222 1025499852
1 f none quota/help/list_users.ca.html 0600 root bin 1162 42045 1025499852
1 f none quota/help/list_users.es.html 0600 root bin 1268 52893 1025499852
1 f none quota/help/list_users.fr.html 0600 root bin 1232 49835 1025499852
1 f none quota/help/list_users.html 0600 root bin 1024 26533 1025499852
1 f none quota/help/list_users.nl.html 0600 root bin 1328 57002 1025499852
1 f none quota/help/list_users.pl.html 0600 root bin 1262 63634 1025499852
1 f none quota/help/list_users.sv.html 0600 root bin 1143 48400 1025499852
1 f none quota/help/list_users.zh_TW.Big5.html 0600 root bin 674 36211 1025499852
1 f none quota/help/user_filesys.ca.html 0600 root bin 711 291 1025499852
1 f none quota/help/user_filesys.es.html 0600 root bin 683 63380 1025499852
1 f none quota/help/user_filesys.fr.html 0600 root bin 705 121 1025499852
1 f none quota/help/user_filesys.html 0600 root bin 594 53647 1025499852
1 f none quota/help/user_filesys.nl.html 0600 root bin 752 4289 1025499852
1 f none quota/help/user_filesys.pl.html 0600 root bin 745 9311 1025499852
1 f none quota/help/user_filesys.sv.html 0600 root bin 591 58455 1025499852
1 f none quota/help/user_filesys.zh_TW.Big5.html 0600 root bin 431 64933 1025499852
1 f none quota/help/user_grace.ca.html 0600 root bin 445 42103 1025499852
1 f none quota/help/user_grace.es.html 0600 root bin 493 45940 1025499852
1 f none quota/help/user_grace.fr.html 0600 root bin 356 32994 1025499852
1 f none quota/help/user_grace.html 0600 root bin 402 36527 1025499852
1 f none quota/help/user_grace.nl.html 0600 root bin 427 40519 1025499852
1 f none quota/help/user_grace.pl.html 0600 root bin 545 54678 1025499852
1 f none quota/help/user_grace.sv.html 0600 root bin 432 42970 1025499852
1 f none quota/help/user_grace.zh_TW.Big5.html 0600 root bin 221 33901 1025499852
1 f none quota/hpux-lib.pl 0600 root bin 6232 32672 1025499851
1 d none quota/images 0700 root bin
1 f none quota/images/icon.gif 0600 root bin 334 40887 1025499852
1 f none quota/index.cgi 0700 root bin 3277 59781 1025499851
1 d none quota/lang 0700 root bin
1 f none quota/lang/ca 0600 root bin 10001 38409 1025499851
1 f none quota/lang/en 0600 root bin 8566 22550 1025499851
1 f none quota/lang/es 0600 root bin 9710 8879 1025499851
1 f none quota/lang/fr 0600 root bin 10420 33792 1025499851
1 f none quota/lang/ja_JP.euc 0600 root bin 8916 55415 1025499851
1 f none quota/lang/ko_KR.euc 0600 root bin 8414 19752 1025499851
1 f none quota/lang/nl 0600 root bin 9553 3910 1025499851
1 f none quota/lang/pl 0600 root bin 9930 14223 1025499851
1 f none quota/lang/pt 0600 root bin 26 2615 1025499851
1 f none quota/lang/sv 0600 root bin 8487 58586 1025499851
1 f none quota/lang/tr 0600 root bin 9263 43782 1025499851
1 f none quota/lang/zh_CN 0600 root bin 6445 11886 1025499851
1 f none quota/lang/zh_TW.Big5 0600 root bin 7133 2958 1025499851
1 f none quota/linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/list_groups.cgi 0700 root bin 3348 17956 1025499851
1 f none quota/list_users.cgi 0700 root bin 4344 33613 1025499851
1 f none quota/log_parser.pl 0600 root bin 1237 33862 1025499852
1 f none quota/mandrake-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/module.info 0600 root bin 672 4989 1025499882
1 f none quota/msc-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/netbsd-lib.pl 0600 root bin 9083 64093 1025499853
1 f none quota/notes 0700 root bin 1737 27368 1025499852
1 f none quota/open-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/openbsd-lib.pl 0600 root bin 9083 64093 1025499852
1 f none quota/quota-lib.pl 0700 root bin 5377 40831 1025499852
1 f none quota/redhat-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/save_group_quota.cgi 0700 root bin 1081 26627 1025499851
1 f none quota/save_sync.cgi 0700 root bin 730 61349 1025499851
1 f none quota/save_user_quota.cgi 0700 root bin 1062 24849 1025499851
1 f none quota/slackware-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/solaris-lib.pl 0700 root bin 6546 57019 1025499852
1 f none quota/suse-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/turbo-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/unixware-lib.pl 0700 root bin 6373 46066 1025499851
1 f none quota/user_filesys.cgi 0700 root bin 2533 14627 1025499851
1 f none quota/user_grace_form.cgi 0700 root bin 1789 17881 1025499852
1 f none quota/user_grace_save.cgi 0700 root bin 775 64964 1025499851
1 f none quota/useradmin_update.pl 0600 root bin 1034 17930 1025499851
1 d none raid 0700 root bin
1 f none raid/config 0600 root bin 41 3842 1025499868
1 f none raid/config.info 0600 root bin 67 5959 1025499868
1 f none raid/config.info.ca 0600 root bin 83 7251 1025499868
1 f none raid/config.info.cz 0600 root bin 72 6941 1025499868
1 f none raid/config.info.de 0600 root bin 68 6160 1025499868
1 f none raid/config.info.es 0600 root bin 86 7678 1025499868
1 f none raid/config.info.pl 0600 root bin 76 6748 1025499868
1 f none raid/config.info.ru_RU 0600 root bin 70 10931 1025499868
1 f none raid/config.info.ru_SU 0600 root bin 70 9837 1025499868
1 f none raid/config.info.sv 0600 root bin 72 6944 1025499868
1 f none raid/config.info.tr 0600 root bin 73 7328 1025499868
1 f none raid/config.info.zh_CN 0600 root bin 52 6474 1025499868
1 f none raid/config.info.zh_TW.Big5 0600 root bin 55 7500 1025499868
1 f none raid/create_raid.cgi 0700 root bin 1995 22040 1025499868
1 d none raid/images 0700 root bin
1 f none raid/images/0.gif 0600 root bin 556 65328 1025499868
1 f none raid/images/0.ia.gif 0600 root bin 556 64702 1025499868
1 f none raid/images/1.gif 0600 root bin 573 4807 1025499868
1 f none raid/images/1.ia.gif 0600 root bin 573 4297 1025499868
1 f none raid/images/4.gif 0600 root bin 1283 33606 1025499868
1 f none raid/images/4.ia.gif 0600 root bin 1284 35876 1025499868
1 f none raid/images/5.gif 0600 root bin 1211 18091 1025499868
1 f none raid/images/5.ia.gif 0600 root bin 1209 15450 1025499868
1 f none raid/images/disk.gif 0600 root bin 219 24798 1025499868
1 f none raid/images/icon.gif 0600 root bin 1547 64202 1025499868
1 f none raid/images/linear.gif 0600 root bin 571 65116 1025499868
1 f none raid/images/linear.ia.gif 0600 root bin 571 64481 1025499868
1 f none raid/index.cgi 0700 root bin 1483 55817 1025499868
1 d none raid/lang 0700 root bin
1 f none raid/lang/ca 0600 root bin 2955 11127 1025499868
1 f none raid/lang/cz 0600 root bin 2262 32350 1025499868
1 f none raid/lang/de 0600 root bin 2707 56156 1025499868
1 f none raid/lang/en 0600 root bin 2660 47137 1025499868
1 f none raid/lang/es 0600 root bin 2802 63944 1025499868
1 f none raid/lang/fr 0600 root bin 2995 15784 1025499868
1 f none raid/lang/ja_JP.euc 0600 root bin 2704 50110 1025499868
1 f none raid/lang/ko_KR.euc 0600 root bin 2282 40081 1025499868
1 f none raid/lang/pl 0600 root bin 2665 61800 1025499868
1 f none raid/lang/ru_RU 0600 root bin 2549 5030 1025499868
1 f none raid/lang/ru_SU 0600 root bin 2555 36483 1025499868
1 f none raid/lang/sv 0600 root bin 2534 44517 1025499868
1 f none raid/lang/zh_CN 0600 root bin 1907 50320 1025499868
1 f none raid/lang/zh_TW.Big5 0600 root bin 2013 62973 1025499868
1 f none raid/log_parser.pl 0600 root bin 799 1225 1025499868
1 f none raid/mkfs.cgi 0700 root bin 1124 26146 1025499868
1 f none raid/module.info 0600 root bin 546 51356 1025499882
1 f none raid/raid-lib.pl 0600 root bin 4865 46658 1025499868
1 f none raid/raid_form.cgi 0700 root bin 4690 50548 1025499868
1 f none raid/save_raid.cgi 0700 root bin 1466 54624 1025499868
1 f none raid/view_raid.cgi 0700 root bin 4043 60197 1025499868
1 f none referer_save.cgi 0700 root bin 315 27093 1025499832
1 f none rpc.cgi 0700 root bin 3966 39883 1025499832
1 f none run-uninstalls.pl 0700 root bin 442 36630 1025499832
1 d none samba 0700 root bin
1 f none samba/acl_security.pl 0600 root bin 10802 31392 1025499839
1 f none samba/ask_epass.cgi 0700 root bin 1524 1960 1025499838
1 f none samba/conf_misc.cgi 0700 root bin 5066 33055 1025499838
1 f none samba/conf_net.cgi 0700 root bin 4693 56241 1025499839
1 f none samba/conf_pass.cgi 0700 root bin 3909 59091 1025499839
1 f none samba/conf_print.cgi 0700 root bin 2353 1234 1025499838
1 f none samba/conf_smb.cgi 0700 root bin 6343 3950 1025499837
1 f none samba/config-aix 0600 root bin 429 41359 1025499838
1 f none samba/config-cobalt-linux 0600 root bin 461 43560 1025499838
1 f none samba/config-corel-linux 0600 root bin 439 41363 1025499838
1 f none samba/config-debian-linux 0600 root bin 427 40238 1025499838
1 f none samba/config-debian-linux-2.1 0600 root bin 413 38952 1025499838
1 f none samba/config-debian-linux-2.2 0600 root bin 594 55975 1025499838
1 f none samba/config-debian-linux-3.0 0600 root bin 594 55975 1025499839
1 f none samba/config-freebsd 0600 root bin 621 58934 1025499837
1 f none samba/config-generic-linux 0600 root bin 545 51455 1025499839
1 f none samba/config-gentoo-linux 0600 root bin 588 55525 1025499839
1 f none samba/config-hpux 0600 root bin 456 43935 1025499837
1 f none samba/config-irix 0600 root bin 475 45750 1025499838
1 f none samba/config-lfs-linux 0600 root bin 461 43560 1025499838
1 f none samba/config-macos 0600 root bin 503 47509 1025499839
1 f none samba/config-mandrake-linux 0600 root bin 577 54327 1025499839
1 f none samba/config-mandrake-linux-8.1 0600 root bin 564 53052 1025499839
1 f none samba/config-mandrake-linux-8.2 0600 root bin 564 53052 1025499839
1 f none samba/config-msc-linux 0600 root bin 523 49318 1025499839
1 f none samba/config-netbsd 0600 root bin 548 51829 1025499839
1 f none samba/config-open-linux 0600 root bin 525 49954 1025499838
1 f none samba/config-openbsd 0600 root bin 547 51784 1025499837
1 f none samba/config-openserver 0600 root bin 475 45750 1025499838
1 f none samba/config-osf1 0600 root bin 475 45750 1025499838
1 f none samba/config-redhat-linux 0600 root bin 533 50130 1025499839
1 f none samba/config-redhat-linux-7.0 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.1 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.2 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.3 0600 root bin 563 53042 1025499839
1 f none samba/config-slackware-linux 0600 root bin 500 47248 1025499839
1 f none samba/config-slackware-linux-7.0 0600 root bin 492 46598 1025499837
1 f none samba/config-slackware-linux-7.1 0600 root bin 492 46598 1025499839
1 f none samba/config-slackware-linux-8.0 0600 root bin 581 54920 1025499839
1 f none samba/config-slackware-linux-8.1 0600 root bin 581 54920 1025499839
1 f none samba/config-solaris 0600 root bin 475 45750 1025499838
1 f none samba/config-suse-linux 0600 root bin 547 51740 1025499838
1 f none samba/config-suse-linux-7.3 0600 root bin 565 53429 1025499839
1 f none samba/config-suse-linux-8.0 0600 root bin 565 53429 1025499839
1 f none samba/config-turbo-linux 0600 root bin 461 43560 1025499837
1 f none samba/config-unixware 0600 root bin 475 45750 1025499838
1 f none samba/config.info 0600 root bin 514 47607 1025499839
1 f none samba/config.info.ca 0600 root bin 569 53496 1025499839
1 f none samba/config.info.es 0600 root bin 655 62037 1025499837
1 f none samba/config.info.fr 0600 root bin 504 46405 1025499838
1 f none samba/config.info.pl 0600 root bin 609 59134 1025499839
1 f none samba/config.info.ru_RU 0600 root bin 436 1079 1025499839
1 f none samba/config.info.ru_SU 0600 root bin 436 61267 1025499838
1 f none samba/config.info.sv 0600 root bin 610 61564 1025499838
1 f none samba/config.info.tr 0600 root bin 424 42760 1025499839
1 f none samba/config.info.zh_CN 0600 root bin 436 56579 1025499838
1 f none samba/config.info.zh_TW.Big5 0600 root bin 383 47132 1025499837
1 f none samba/create_copy.cgi 0700 root bin 903 11212 1025499838
1 f none samba/defaultacl 0600 root bin 289 25584 1025499839
1 f none samba/delete_euser.cgi 0700 root bin 523 45083 1025499838
1 f none samba/delete_share.cgi 0700 root bin 691 58895 1025499837
1 f none samba/edit_epass.cgi 0700 root bin 1040 18722 1025499838
1 f none samba/edit_euser.cgi 0700 root bin 3122 65113 1025499837
1 f none samba/edit_fmisc.cgi 0700 root bin 3381 23196 1025499838
1 f none samba/edit_fname.cgi 0700 root bin 2426 8084 1025499838
1 f none samba/edit_fperm.cgi 0700 root bin 2412 7879 1025499838
1 f none samba/edit_fshare.cgi 0700 root bin 3903 55750 1025499839
1 f none samba/edit_popts.cgi 0700 root bin 3963 7390 1025499839
1 f none samba/edit_pshare.cgi 0700 root bin 4418 30696 1025499838
1 f none samba/edit_sec.cgi 0700 root bin 5870 36128 1025499837
1 f none samba/edit_sync.cgi 0700 root bin 999 20191 1025499838
1 d none samba/help 0700 root bin
1 f none samba/help/help.ca.html 0600 root bin 10547 15391 1025499839
1 f none samba/help/help.es.html 0600 root bin 9123 31020 1025499839
1 f none samba/help/help.html 0600 root bin 8975 13575 1025499839
1 f none samba/help/help.it.html 0600 root bin 8975 13575 1025499839
1 f none samba/help/help.sv.html 0600 root bin 9205 34553 1025499839
1 d none samba/images 0700 root bin
1 f none samba/images/icon.gif 0600 root bin 1089 52489 1025499838
1 f none samba/images/icon_0.gif 0600 root bin 313 36739 1025499838
1 f none samba/images/icon_1.gif 0600 root bin 333 38555 1025499838
1 f none samba/images/icon_2.gif 0600 root bin 275 34570 1025499838
1 f none samba/images/icon_3.gif 0600 root bin 330 38844 1025499838
1 f none samba/images/icon_4.gif 0600 root bin 460 53918 1025499838
1 f none samba/images/icon_5.gif 0600 root bin 327 38178 1025499838
1 f none samba/images/icon_6.gif 0600 root bin 380 41077 1025499838
1 f none samba/images/icon_7.gif 0600 root bin 332 37563 1025499838
1 f none samba/images/icon_8.gif 0600 root bin 493 57210 1025499838
1 f none samba/images/icon_9.gif 0600 root bin 1163 25692 1025499838
1 f none samba/index.cgi 0700 root bin 7329 4576 1025499838
1 f none samba/kill_user.cgi 0700 root bin 776 429 1025499837
1 d none samba/lang 0700 root bin
1 f none samba/lang/ca 0600 root bin 20634 21884 1025499837
1 f none samba/lang/de 0600 root bin 21522 29931 1025499837
1 f none samba/lang/en 0600 root bin 17933 63688 1025499837
1 f none samba/lang/es 0600 root bin 21595 49163 1025499837
1 f none samba/lang/fr 0600 root bin 22117 558 1025499837
1 f none samba/lang/it 0600 root bin 17902 60805 1025499837
1 f none samba/lang/ja_JP.euc 0600 root bin 18649 31713 1025499837
1 f none samba/lang/ko_KR.euc 0600 root bin 17217 17998 1025499837
1 f none samba/lang/pl 0600 root bin 20678 56143 1025499837
1 f none samba/lang/ru_RU 0600 root bin 14705 21523 1025499837
1 f none samba/lang/ru_SU 0600 root bin 14742 62712 1025499837
1 f none samba/lang/sv 0600 root bin 20088 49601 1025499837
1 f none samba/lang/tr 0600 root bin 16008 20078 1025499837
1 f none samba/lang/zh_CN 0600 root bin 11484 8588 1025499837
1 f none samba/lang/zh_TW.Big5 0600 root bin 14047 57431 1025499837
1 f none samba/log_parser.pl 0600 root bin 1379 46676 1025499839
1 f none samba/logout.cgi 0700 root bin 364 31784 1025499839
1 f none samba/make_epass.cgi 0700 root bin 3436 60943 1025499838
1 f none samba/module.info 0600 root bin 904 27205 1025499882
1 f none samba/opts.pl.dev 0600 root bin 6524 9621 1025499839
1 f none samba/restart.cgi 0700 root bin 987 18040 1025499838
1 f none samba/samba-lib.pl 0600 root bin 14499 17206 1025499838
1 f none samba/save_copy.cgi 0700 root bin 722 61764 1025499839
1 f none samba/save_euser.cgi 0700 root bin 1594 64664 1025499839
1 f none samba/save_fmisc.cgi 0700 root bin 1378 55368 1025499837
1 f none samba/save_fname.cgi 0700 root bin 1071 28506 1025499838
1 f none samba/save_fperm.cgi 0700 root bin 1169 37486 1025499837
1 f none samba/save_fshare.cgi 0700 root bin 1910 26427 1025499837
1 f none samba/save_misc.cgi 0700 root bin 2160 53541 1025499839
1 f none samba/save_net.cgi 0700 root bin 2008 27882 1025499839
1 f none samba/save_pass.cgi 0700 root bin 2372 61036 1025499837
1 f none samba/save_popts.cgi 0700 root bin 1288 48373 1025499838
1 f none samba/save_print.cgi 0700 root bin 977 18657 1025499839
1 f none samba/save_pshare.cgi 0700 root bin 2047 35200 1025499838
1 f none samba/save_sec.cgi 0700 root bin 2225 54965 1025499837
1 f none samba/save_smb.cgi 0700 root bin 2232 54548 1025499838
1 f none samba/save_sync.cgi 0700 root bin 646 55528 1025499838
1 f none samba/start.cgi 0700 root bin 794 2556 1025499839
1 f none samba/swat.cgi 0700 root bin 3539 21982 1025499837
1 f none samba/swat_save.cgi 0700 root bin 574 49015 1025499837
1 f none samba/useradmin_update.pl 0600 root bin 2517 541 1025499837
1 f none samba/view_users.cgi 0700 root bin 2281 52129 1025499839
1 d none sendmail 0700 root bin
1 f none sendmail/access-lib.pl 0600 root bin 4391 20000 1025499859
1 f none sendmail/acl_security.pl 0600 root bin 12185 5974 1025499859
1 f none sendmail/aliases-lib.pl 0600 root bin 5935 62846 1025499859
1 f none sendmail/autoreply.pl 0700 root bin 2751 10593 1025499860
1 f none sendmail/boxes-lib.pl 0600 root bin 23080 11558 1025499859
1 f none sendmail/build.cgi 0700 root bin 1996 33714 1025499860
1 f none sendmail/config-aix 0600 root bin 424 38595 1025499860
1 f none sendmail/config-cobalt-linux 0600 root bin 514 48262 1025499859
1 f none sendmail/config-corel-linux 0600 root bin 379 35234 1025499859
1 f none sendmail/config-debian-linux 0600 root bin 458 42838 1025499859
1 f none sendmail/config-debian-linux-2.1 0600 root bin 463 43304 1025499859
1 f none sendmail/config-debian-linux-2.2 0600 root bin 463 43304 1025499859
1 f none sendmail/config-debian-linux-3.0 0600 root bin 463 43304 1025499860
1 f none sendmail/config-freebsd 0600 root bin 505 47341 1025499859
1 f none sendmail/config-freebsd-4.0 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.1 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.2 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.3 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.4 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.5 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.6 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-5.0 0600 root bin 510 47807 1025499859
1 f none sendmail/config-generic-linux 0700 root bin 523 49019 1025499860
1 f none sendmail/config-hpux 0600 root bin 376 35137 1025499859
1 f none sendmail/config-irix 0600 root bin 448 41762 1025499859
1 f none sendmail/config-macos 0600 root bin 508 47816 1025499859
1 f none sendmail/config-macos-1.3 0600 root bin 513 48282 1025499860
1 f none sendmail/config-macos-1.4 0600 root bin 513 48282 1025499860
1 f none sendmail/config-mandrake-linux 0600 root bin 507 47635 1025499860
1 f none sendmail/config-mandrake-linux-8.2 0600 root bin 512 48101 1025499860
1 f none sendmail/config-msc-linux 0600 root bin 427 40112 1025499860
1 f none sendmail/config-netbsd 0600 root bin 490 45882 1025499860
1 f none sendmail/config-open-linux 0600 root bin 522 49048 1025499859
1 f none sendmail/config-open-linux-2.5 0600 root bin 527 49514 1025499860
1 f none sendmail/config-open-linux-3.1e 0600 root bin 527 49514 1025499860
1 f none sendmail/config-openbsd 0600 root bin 390 36485 1025499859
1 f none sendmail/config-openserver 0600 root bin 423 39728 1025499859
1 f none sendmail/config-osf1 0600 root bin 389 36468 1025499860
1 f none sendmail/config-redhat-linux 0600 root bin 505 47415 1025499860
1 f none sendmail/config-redhat-linux-7.1 0600 root bin 507 47635 1025499860
1 f none sendmail/config-redhat-linux-7.2 0600 root bin 507 47635 1025499860
1 f none sendmail/config-redhat-linux-7.3 0600 root bin 507 47635 1025499860
1 f none sendmail/config-slackware-linux 0600 root bin 374 34768 1025499860
1 f none sendmail/config-slackware-linux-8.0 0700 root bin 523 49019 1025499860
1 f none sendmail/config-slackware-linux-8.1 0700 root bin 523 49019 1025499860
1 f none sendmail/config-solaris 0600 root bin 492 46164 1025499859
1 f none sendmail/config-solaris-7 0600 root bin 581 54629 1025499859
1 f none sendmail/config-solaris-8 0600 root bin 581 54629 1025499859
1 f none sendmail/config-solaris-9 0600 root bin 581 54629 1025499860
1 f none sendmail/config-suse-linux 0600 root bin 443 41414 1025499859
1 f none sendmail/config-turbo-linux 0600 root bin 505 47415 1025499859
1 f none sendmail/config-unixware 0600 root bin 417 39107 1025499859
1 f none sendmail/config.info 0600 root bin 1773 31223 1025499860
1 f none sendmail/config.info.ca 0600 root bin 1892 44670 1025499860
1 f none sendmail/config.info.cz 0600 root bin 1011 27413 1025499860
1 f none sendmail/config.info.de 0600 root bin 1176 42621 1025499859
1 f none sendmail/config.info.es 0600 root bin 1434 2420 1025499859
1 f none sendmail/config.info.fr 0600 root bin 1014 30389 1025499859
1 f none sendmail/config.info.pl 0600 root bin 1454 9564 1025499860
1 f none sendmail/config.info.ru_RU 0600 root bin 894 9900 1025499860
1 f none sendmail/config.info.ru_SU 0600 root bin 894 62934 1025499859
1 f none sendmail/config.info.sv 0600 root bin 1127 44013 1025499859
1 f none sendmail/config.info.tr 0600 root bin 1110 49944 1025499860
1 f none sendmail/config.info.zh_CN 0600 root bin 831 51095 1025499859
1 f none sendmail/config.info.zh_TW.Big5 0600 root bin 890 55785 1025499859
1 f none sendmail/create_file.cgi 0700 root bin 1462 55868 1025499860
1 f none sendmail/defaultacl 0600 root bin 268 21895 1025499859
1 f none sendmail/defines 0600 root bin 3819 36650 1025499860
1 f none sendmail/del_mailq.cgi 0700 root bin 841 1745 1025499859
1 f none sendmail/del_mailqs.cgi 0700 root bin 1105 21972 1025499860
1 f none sendmail/delete_mail.cgi 0700 root bin 1549 62042 1025499859
1 f none sendmail/detach.cgi 0700 root bin 731 60574 1025499859
1 f none sendmail/domain-lib.pl 0600 root bin 3095 50150 1025499859
1 f none sendmail/edit_access.cgi 0700 root bin 446 38122 1025499859
1 f none sendmail/edit_afile.cgi 0700 root bin 930 13005 1025499859
1 f none sendmail/edit_alias.cgi 0700 root bin 716 60172 1025499859
1 f none sendmail/edit_domain.cgi 0700 root bin 446 38335 1025499860
1 f none sendmail/edit_feature.cgi 0700 root bin 4508 38178 1025499860
1 f none sendmail/edit_ffile.cgi 0700 root bin 1795 8822 1025499860
1 f none sendmail/edit_file.cgi 0700 root bin 2465 9391 1025499859
1 f none sendmail/edit_generic.cgi 0700 root bin 537 45836 1025499859
1 f none sendmail/edit_mailer.cgi 0700 root bin 448 38742 1025499859
1 f none sendmail/edit_rfile.cgi 0700 root bin 957 15830 1025499859
1 f none sendmail/edit_virtuser.cgi 0700 root bin 627 54239 1025499859
1 f none sendmail/features-lib.pl 0600 root bin 4296 1740 1025499860
1 f none sendmail/feedback_files.pl 0600 root bin 397 31269 1025499860
1 f none sendmail/filter.pl 0700 root bin 1863 512 1025499860
1 f none sendmail/flushq.cgi 0700 root bin 533 44147 1025499859
1 f none sendmail/generics-lib.pl 0600 root bin 3142 55912 1025499859
1 d none sendmail/help 0700 root bin
1 f none sendmail/help/alias_enabled.ca.html 0600 root bin 155 14563 1025499860
1 f none sendmail/help/alias_enabled.es.html 0600 root bin 158 14528 1025499859
1 f none sendmail/help/alias_enabled.fr.html 0600 root bin 152 14392 1025499859
1 f none sendmail/help/alias_enabled.html 0600 root bin 146 13259 1025499859
1 f none sendmail/help/alias_enabled.pl.html 0600 root bin 168 15991 1025499860
1 f none sendmail/help/alias_enabled.ru_RU.html 0600 root bin 160 29950 1025499860
1 f none sendmail/help/alias_enabled.ru_SU.html 0600 root bin 160 26642 1025499859
1 f none sendmail/help/alias_enabled.sv.html 0600 root bin 162 15168 1025499860
1 f none sendmail/help/alias_enabled.zh_TW.Big5.html 0600 root bin 101 12885 1025499860
1 f none sendmail/help/alias_name.ca.html 0600 root bin 213 19206 1025499860
1 f none sendmail/help/alias_name.es.html 0600 root bin 229 20851 1025499860
1 f none sendmail/help/alias_name.fr.html 0600 root bin 206 18230 1025499860
1 f none sendmail/help/alias_name.html 0600 root bin 184 16205 1025499859
1 f none sendmail/help/alias_name.pl.html 0600 root bin 194 18214 1025499860
1 f none sendmail/help/alias_name.ru_RU.html 0600 root bin 213 34525 1025499860
1 f none sendmail/help/alias_name.ru_SU.html 0600 root bin 213 31107 1025499860
1 f none sendmail/help/alias_name.sv.html 0600 root bin 204 19545 1025499859
1 f none sendmail/help/alias_name.zh_TW.Big5.html 0600 root bin 150 18129 1025499860
1 f none sendmail/help/alias_to.ca.html 0600 root bin 1036 24434 1025499860
1 f none sendmail/help/alias_to.es.html 0600 root bin 1054 28458 1025499859
1 f none sendmail/help/alias_to.fr.html 0600 root bin 923 19327 1025499859
1 f none sendmail/help/alias_to.html 0600 root bin 938 16585 1025499860
1 f none sendmail/help/alias_to.pl.html 0600 root bin 1071 36829 1025499860
1 f none sendmail/help/alias_to.ru_RU.html 0600 root bin 1013 53201 1025499860
1 f none sendmail/help/alias_to.ru_SU.html 0600 root bin 1013 32931 1025499859
1 f none sendmail/help/alias_to.sv.html 0600 root bin 941 20203 1025499859
1 f none sendmail/help/alias_to.zh_TW.Big5.html 0600 root bin 655 23935 1025499859
1 f none sendmail/help/aliases.ca.html 0600 root bin 1040 30408 1025499860
1 f none sendmail/help/aliases.es.html 0600 root bin 1087 34379 1025499860
1 f none sendmail/help/aliases.fr.html 0600 root bin 1073 33899 1025499860
1 f none sendmail/help/aliases.html 0600 root bin 981 22987 1025499859
1 f none sendmail/help/aliases.pl.html 0600 root bin 1096 41048 1025499860
1 f none sendmail/help/aliases.ru_RU.html 0600 root bin 1113 2776 1025499860
1 f none sendmail/help/aliases.ru_SU.html 0600 root bin 1113 46479 1025499859
1 f none sendmail/help/aliases.sv.html 0600 root bin 950 24703 1025499859
1 f none sendmail/help/aliases.zh_TW.Big5.html 0600 root bin 731 30339 1025499860
1 f none sendmail/help/edit_alias.ca.html 0600 root bin 235 21890 1025499860
1 f none sendmail/help/edit_alias.es.html 0600 root bin 240 22050 1025499860
1 f none sendmail/help/edit_alias.fr.html 0600 root bin 120 11011 1025499860
1 f none sendmail/help/edit_alias.html 0600 root bin 203 18026 1025499859
1 f none sendmail/help/edit_alias.pl.html 0600 root bin 210 20437 1025499860
1 f none sendmail/help/edit_alias.ru_RU.html 0600 root bin 248 46163 1025499860
1 f none sendmail/help/edit_alias.ru_SU.html 0600 root bin 248 41095 1025499860
1 f none sendmail/help/edit_alias.sv.html 0600 root bin 196 18239 1025499859
1 f none sendmail/help/edit_alias.zh_TW.Big5.html 0600 root bin 153 19795 1025499860
1 f none sendmail/help/intro.ca.html 0600 root bin 2059 57283 1025499860
1 f none sendmail/help/intro.es.html 0600 root bin 2176 5704 1025499859
1 f none sendmail/help/intro.fr.html 0600 root bin 2114 518 1025499860
1 f none sendmail/help/intro.html 0600 root bin 1914 42152 1025499859
1 f none sendmail/help/intro.pl.html 0600 root bin 2253 25078 1025499860
1 f none sendmail/help/intro.ru_RU.html 0600 root bin 2294 23137 1025499860
1 f none sendmail/help/intro.ru_SU.html 0600 root bin 2294 42000 1025499859
1 f none sendmail/help/intro.sv.html 0600 root bin 1874 46282 1025499859
1 f none sendmail/help/intro.zh_TW.Big5.html 0600 root bin 1335 50205 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ca.html 0600 root bin 188 17471 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.es.html 0600 root bin 230 21702 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.fr.html 0600 root bin 221 20943 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.html 0600 root bin 207 18846 1025499859
1 f none sendmail/help/opt_ConnectionRateThrottle.pl.html 0600 root bin 296 30036 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ru_RU.html 0600 root bin 231 44231 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ru_SU.html 0600 root bin 231 38999 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.sv.html 0600 root bin 250 23625 1025499859
1 f none sendmail/help/opt_ConnectionRateThrottle.zh_TW.Big5.html 0600 root bin 150 21482 1025499860
1 f none sendmail/help/opt_DH.ca.html 0600 root bin 352 32815 1025499860
1 f none sendmail/help/opt_DH.es.html 0600 root bin 356 33710 1025499860
1 f none sendmail/help/opt_DH.fr.html 0600 root bin 367 35430 1025499860
1 f none sendmail/help/opt_DH.html 0600 root bin 301 27492 1025499860
1 f none sendmail/help/opt_DH.pl.html 0600 root bin 370 37509 1025499860
1 f none sendmail/help/opt_DH.ru_RU.html 0600 root bin 366 5034 1025499860
1 f none sendmail/help/opt_DH.ru_SU.html 0600 root bin 366 62232 1025499859
1 f none sendmail/help/opt_DH.sv.html 0600 root bin 325 30404 1025499859
1 f none sendmail/help/opt_DH.zh_TW.Big5.html 0600 root bin 228 34651 1025499860
1 f none sendmail/help/opt_DR.ca.html 0600 root bin 399 36983 1025499860
1 f none sendmail/help/opt_DR.es.html 0600 root bin 417 39039 1025499860
1 f none sendmail/help/opt_DR.fr.html 0600 root bin 387 37018 1025499860
1 f none sendmail/help/opt_DR.html 0600 root bin 326 29828 1025499860
1 f none sendmail/help/opt_DR.pl.html 0600 root bin 403 40139 1025499860
1 f none sendmail/help/opt_DR.ru_RU.html 0600 root bin 412 13018 1025499860
1 f none sendmail/help/opt_DR.ru_SU.html 0600 root bin 412 3951 1025499859
1 f none sendmail/help/opt_DR.sv.html 0600 root bin 345 32809 1025499859
1 f none sendmail/help/opt_DR.zh_TW.Big5.html 0600 root bin 261 39126 1025499860
1 f none sendmail/help/opt_DS.ca.html 0600 root bin 339 31566 1025499860
1 f none sendmail/help/opt_DS.es.html 0600 root bin 344 32675 1025499860
1 f none sendmail/help/opt_DS.fr.html 0600 root bin 340 32047 1025499860
1 f none sendmail/help/opt_DS.html 0600 root bin 296 27277 1025499859
1 f none sendmail/help/opt_DS.pl.html 0600 root bin 380 38837 1025499860
1 f none sendmail/help/opt_DS.ru_RU.html 0600 root bin 364 4048 1025499860
1 f none sendmail/help/opt_DS.ru_SU.html 0600 root bin 364 61425 1025499860
1 f none sendmail/help/opt_DS.sv.html 0600 root bin 319 30173 1025499859
1 f none sendmail/help/opt_DS.zh_TW.Big5.html 0600 root bin 217 32303 1025499860
1 f none sendmail/help/opt_DaemonPortOptions.ca.html 0600 root bin 238 22172 1025499860
1 f none sendmail/help/opt_DaemonPortOptions.html 0600 root bin 224 20389 1025499860
1 f none sendmail/help/opt_ForwardPath.ca.html 0600 root bin 357 32105 1025499860
1 f none sendmail/help/opt_ForwardPath.es.html 0600 root bin 424 39512 1025499859
1 f none sendmail/help/opt_ForwardPath.fr.html 0600 root bin 384 36017 1025499860
1 f none sendmail/help/opt_ForwardPath.html 0600 root bin 337 30794 1025499859
1 f none sendmail/help/opt_ForwardPath.pl.html 0600 root bin 392 39521 1025499860
1 f none sendmail/help/opt_ForwardPath.ru_RU.html 0600 root bin 395 9252 1025499860
1 f none sendmail/help/opt_ForwardPath.ru_SU.html 0600 root bin 395 461 1025499859
1 f none sendmail/help/opt_ForwardPath.sv.html 0600 root bin 298 29170 1025499859
1 f none sendmail/help/opt_ForwardPath.zh_TW.Big5.html 0600 root bin 245 34755 1025499860
1 f none sendmail/help/opt_LogLevel.ca.html 0600 root bin 171 15772 1025499860
1 f none sendmail/help/opt_LogLevel.es.html 0600 root bin 169 15693 1025499859
1 f none sendmail/help/opt_LogLevel.fr.html 0600 root bin 160 14839 1025499859
1 f none sendmail/help/opt_LogLevel.html 0600 root bin 136 12338 1025499859
1 f none sendmail/help/opt_LogLevel.pl.html 0600 root bin 158 15027 1025499860
1 f none sendmail/help/opt_LogLevel.ru_RU.html 0600 root bin 168 28945 1025499860
1 f none sendmail/help/opt_LogLevel.ru_SU.html 0600 root bin 168 25977 1025499859
1 f none sendmail/help/opt_LogLevel.sv.html 0600 root bin 135 12560 1025499860
1 f none sendmail/help/opt_LogLevel.zh_TW.Big5.html 0600 root bin 112 14453 1025499860
1 f none sendmail/help/opt_MatchGECOS.ca.html 0600 root bin 381 34563 1025499860
1 f none sendmail/help/opt_MatchGECOS.html 0600 root bin 379 34210 1025499860
1 f none sendmail/help/opt_MatchGECOS.pl.html 0600 root bin 501 50108 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ca.html 0600 root bin 266 25597 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.es.html 0600 root bin 248 24042 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.fr.html 0600 root bin 235 22417 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.html 0600 root bin 219 20349 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.pl.html 0600 root bin 257 26099 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ru_RU.html 0600 root bin 289 56670 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ru_SU.html 0600 root bin 289 49887 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.sv.html 0600 root bin 264 25679 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.zh_TW.Big5.html 0600 root bin 156 21833 1025499859
1 f none sendmail/help/opt_MaxHopCount.ca.html 0600 root bin 193 18080 1025499860
1 f none sendmail/help/opt_MaxHopCount.html 0600 root bin 158 14332 1025499860
1 f none sendmail/help/opt_MaxHopCount.pl.html 0600 root bin 180 17927 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ca.html 0600 root bin 241 22398 1025499860
1 f none sendmail/help/opt_MaxMessageSize.es.html 0600 root bin 233 22224 1025499860
1 f none sendmail/help/opt_MaxMessageSize.fr.html 0600 root bin 239 21859 1025499860
1 f none sendmail/help/opt_MaxMessageSize.html 0600 root bin 205 18819 1025499860
1 f none sendmail/help/opt_MaxMessageSize.pl.html 0600 root bin 249 24751 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ru_RU.html 0600 root bin 267 52244 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ru_SU.html 0600 root bin 267 46018 1025499859
1 f none sendmail/help/opt_MaxMessageSize.sv.html 0600 root bin 182 17442 1025499859
1 f none sendmail/help/opt_MaxMessageSize.zh_TW.Big5.html 0600 root bin 163 23697 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ca.html 0600 root bin 156 14174 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.es.html 0600 root bin 172 16377 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.fr.html 0600 root bin 176 16119 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.html 0600 root bin 155 14304 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.pl.html 0600 root bin 190 19003 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ru_RU.html 0600 root bin 177 32508 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ru_SU.html 0600 root bin 177 28880 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.sv.html 0600 root bin 145 13793 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.zh_TW.Big5.html 0600 root bin 101 13195 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.ca.html 0600 root bin 295 27562 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.es.html 0600 root bin 309 28689 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.fr.html 0600 root bin 361 33872 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.html 0600 root bin 289 26554 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.pl.html 0600 root bin 353 35284 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.ru_RU.html 0600 root bin 402 12604 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.ru_SU.html 0600 root bin 402 3452 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.sv.html 0600 root bin 321 31615 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.zh_TW.Big5.html 0600 root bin 194 28486 1025499860
1 f none sendmail/help/opt_MinQueueAge.ca.html 0600 root bin 185 16864 1025499860
1 f none sendmail/help/opt_MinQueueAge.es.html 0600 root bin 178 16621 1025499860
1 f none sendmail/help/opt_MinQueueAge.fr.html 0600 root bin 194 17299 1025499860
1 f none sendmail/help/opt_MinQueueAge.html 0600 root bin 160 14446 1025499860
1 f none sendmail/help/opt_MinQueueAge.pl.html 0600 root bin 178 17830 1025499860
1 f none sendmail/help/opt_MinQueueAge.ru_RU.html 0600 root bin 213 37258 1025499860
1 f none sendmail/help/opt_MinQueueAge.ru_SU.html 0600 root bin 213 33212 1025499859
1 f none sendmail/help/opt_MinQueueAge.sv.html 0600 root bin 186 18786 1025499859
1 f none sendmail/help/opt_MinQueueAge.zh_TW.Big5.html 0600 root bin 112 14611 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ca.html 0600 root bin 312 28890 1025499860
1 f none sendmail/help/opt_PostMasterCopy.es.html 0600 root bin 300 28012 1025499859
1 f none sendmail/help/opt_PostMasterCopy.fr.html 0600 root bin 304 27972 1025499859
1 f none sendmail/help/opt_PostMasterCopy.html 0600 root bin 291 26661 1025499860
1 f none sendmail/help/opt_PostMasterCopy.pl.html 0600 root bin 356 34890 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ru_RU.html 0600 root bin 354 63880 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ru_SU.html 0600 root bin 354 56683 1025499859
1 f none sendmail/help/opt_PostMasterCopy.sv.html 0600 root bin 288 27649 1025499860
1 f none sendmail/help/opt_PostMasterCopy.zh_TW.Big5.html 0600 root bin 199 24999 1025499859
1 f none sendmail/help/opt_QueueDirectory.ca.html 0600 root bin 228 21183 1025499860
1 f none sendmail/help/opt_QueueDirectory.es.html 0600 root bin 217 20158 1025499860
1 f none sendmail/help/opt_QueueDirectory.fr.html 0600 root bin 252 22910 1025499860
1 f none sendmail/help/opt_QueueDirectory.html 0600 root bin 199 18383 1025499859
1 f none sendmail/help/opt_QueueDirectory.pl.html 0600 root bin 203 19451 1025499860
1 f none sendmail/help/opt_QueueDirectory.ru_RU.html 0600 root bin 222 41160 1025499860
1 f none sendmail/help/opt_QueueDirectory.ru_SU.html 0600 root bin 222 36515 1025499860
1 f none sendmail/help/opt_QueueDirectory.sv.html 0600 root bin 216 20438 1025499859
1 f none sendmail/help/opt_QueueDirectory.zh_TW.Big5.html 0600 root bin 137 18535 1025499860
1 f none sendmail/help/opt_QueueLA.ca.html 0600 root bin 303 28640 1025499860
1 f none sendmail/help/opt_QueueLA.es.html 0600 root bin 292 27511 1025499859
1 f none sendmail/help/opt_QueueLA.fr.html 0600 root bin 302 27812 1025499860
1 f none sendmail/help/opt_QueueLA.html 0600 root bin 258 24057 1025499859
1 f none sendmail/help/opt_QueueLA.pl.html 0600 root bin 350 35996 1025499860
1 f none sendmail/help/opt_QueueLA.ru_RU.html 0600 root bin 315 62978 1025499860
1 f none sendmail/help/opt_QueueLA.ru_SU.html 0600 root bin 315 55260 1025499859
1 f none sendmail/help/opt_QueueLA.sv.html 0600 root bin 317 31194 1025499860
1 f none sendmail/help/opt_QueueLA.zh_TW.Big5.html 0600 root bin 159 23614 1025499860
1 f none sendmail/help/opt_RefuseLA.ca.html 0600 root bin 360 34411 1025499860
1 f none sendmail/help/opt_RefuseLA.es.html 0600 root bin 336 31765 1025499860
1 f none sendmail/help/opt_RefuseLA.fr.html 0600 root bin 358 33436 1025499860
1 f none sendmail/help/opt_RefuseLA.html 0600 root bin 299 27748 1025499859
1 f none sendmail/help/opt_RefuseLA.pl.html 0600 root bin 388 39190 1025499860
1 f none sendmail/help/opt_RefuseLA.ru_RU.html 0600 root bin 339 207 1025499860
1 f none sendmail/help/opt_RefuseLA.ru_SU.html 0600 root bin 339 57992 1025499860
1 f none sendmail/help/opt_RefuseLA.sv.html 0600 root bin 362 35132 1025499859
1 f none sendmail/help/opt_RefuseLA.zh_TW.Big5.html 0600 root bin 193 28943 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ca.html 0600 root bin 285 26002 1025499860
1 f none sendmail/help/opt_SendMimeErrors.es.html 0600 root bin 302 27802 1025499859
1 f none sendmail/help/opt_SendMimeErrors.fr.html 0600 root bin 281 25941 1025499860
1 f none sendmail/help/opt_SendMimeErrors.html 0600 root bin 254 22980 1025499859
1 f none sendmail/help/opt_SendMimeErrors.pl.html 0600 root bin 357 35380 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ru_RU.html 0600 root bin 298 55612 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ru_SU.html 0600 root bin 298 49092 1025499859
1 f none sendmail/help/opt_SendMimeErrors.sv.html 0600 root bin 265 24728 1025499860
1 f none sendmail/help/opt_SendMimeErrors.zh_TW.Big5.html 0600 root bin 182 23731 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ca.html 0600 root bin 430 39799 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.es.html 0600 root bin 463 43525 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.fr.html 0600 root bin 453 41602 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.html 0600 root bin 401 36641 1025499859
1 f none sendmail/help/opt_Timeout.queuereturn.pl.html 0600 root bin 465 46481 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ru_RU.html 0600 root bin 431 15652 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ru_SU.html 0600 root bin 431 6110 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.sv.html 0600 root bin 412 40505 1025499859
1 f none sendmail/help/opt_Timeout.queuereturn.zh_TW.Big5.html 0600 root bin 283 41773 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ca.html 0600 root bin 399 36643 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.es.html 0600 root bin 464 43722 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.fr.html 0600 root bin 434 40240 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.html 0600 root bin 395 36105 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.pl.html 0600 root bin 444 44817 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ru_RU.html 0600 root bin 405 9549 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ru_SU.html 0600 root bin 405 1003 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.sv.html 0600 root bin 370 36314 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.zh_TW.Big5.html 0600 root bin 248 35337 1025499859
1 f none sendmail/help/opt_dmode.ca.html 0600 root bin 596 50617 1025499860
1 f none sendmail/help/opt_dmode.es.html 0600 root bin 635 56399 1025499860
1 f none sendmail/help/opt_dmode.html 0600 root bin 562 48658 1025499860
1 f none sendmail/help/opt_dmode.pl.html 0600 root bin 672 62133 1025499860
1 f none sendmail/help/units.ca.html 0600 root bin 249 21674 1025499860
1 f none sendmail/help/units.es.html 0600 root bin 256 22582 1025499859
1 f none sendmail/help/units.fr.html 0600 root bin 283 25353 1025499859
1 f none sendmail/help/units.html 0600 root bin 235 19861 1025499859
1 f none sendmail/help/units.pl.html 0600 root bin 258 23120 1025499860
1 f none sendmail/help/units.ru_RU.html 0600 root bin 274 43485 1025499860
1 f none sendmail/help/units.ru_SU.html 0600 root bin 274 38909 1025499860
1 f none sendmail/help/units.sv.html 0600 root bin 251 22007 1025499859
1 f none sendmail/help/units.zh_TW.Big5.html 0600 root bin 176 19394 1025499859
1 d none sendmail/images 0700 root bin
1 f none sendmail/images/access.gif 0600 root bin 290 34434 1025499859
1 f none sendmail/images/aliases.gif 0600 root bin 397 47679 1025499859
1 f none sendmail/images/attach.gif 0600 root bin 77 4645 1025499859
1 f none sendmail/images/boxes.gif 0600 root bin 367 47932 1025499859
1 f none sendmail/images/cgs.gif 0600 root bin 376 48320 1025499859
1 f none sendmail/images/cws.gif 0600 root bin 266 31279 1025499859
1 f none sendmail/images/domains.gif 0600 root bin 256 30700 1025499859
1 f none sendmail/images/down.gif 0600 root bin 108 8892 1025499859
1 f none sendmail/images/features.gif 0600 root bin 434 52182 1025499859
1 f none sendmail/images/gap.gif 0600 root bin 73 6048 1025499859
1 f none sendmail/images/generics.gif 0600 root bin 389 49281 1025499859
1 f none sendmail/images/icon.gif 0600 root bin 314 42505 1025499859
1 f none sendmail/images/mailers.gif 0600 root bin 248 28427 1025499859
1 f none sendmail/images/mailq.gif 0600 root bin 374 42022 1025499859
1 f none sendmail/images/masq.gif 0600 root bin 335 37345 1025499859
1 f none sendmail/images/opts.gif 0600 root bin 460 53918 1025499859
1 f none sendmail/images/p1.gif 0600 root bin 55 3891 1025499859
1 f none sendmail/images/p2.gif 0600 root bin 55 3822 1025499859
1 f none sendmail/images/read.gif 0600 root bin 63 4500 1025499859
1 f none sendmail/images/relay.gif 0600 root bin 392 50435 1025499859
1 f none sendmail/images/special.gif 0600 root bin 62 4807 1025499859
1 f none sendmail/images/trusts.gif 0600 root bin 390 43396 1025499859
1 f none sendmail/images/up.gif 0600 root bin 103 9086 1025499859
1 f none sendmail/images/virtusers.gif 0600 root bin 451 55525 1025499859
1 f none sendmail/index.cgi 0700 root bin 5086 30702 1025499859
1 d none sendmail/lang 0700 root bin
1 f none sendmail/lang/ca 0600 root bin 34323 32867 1025499859
1 f none sendmail/lang/cz 0600 root bin 19191 20017 1025499859
1 f none sendmail/lang/de 0600 root bin 25313 2795 1025499859
1 f none sendmail/lang/en 0600 root bin 30676 41105 1025499859
1 f none sendmail/lang/es 0600 root bin 27397 45079 1025499859
1 f none sendmail/lang/fr 0600 root bin 21203 16626 1025499859
1 f none sendmail/lang/ja_JP.euc 0600 root bin 23934 40137 1025499859
1 f none sendmail/lang/ja_JP.jis 0600 root bin 23934 54972 1025499859
1 f none sendmail/lang/ko_KR.euc 0600 root bin 22139 7904 1025499859
1 f none sendmail/lang/pl 0600 root bin 28279 2372 1025499859
1 f none sendmail/lang/pt 0600 root bin 20946 6741 1025499859
1 f none sendmail/lang/ru_RU 0600 root bin 20023 4940 1025499859
1 f none sendmail/lang/ru_SU 0600 root bin 20056 35293 1025499859
1 f none sendmail/lang/sv 0600 root bin 23891 59768 1025499859
1 f none sendmail/lang/tr 0600 root bin 23442 22168 1025499859
1 f none sendmail/lang/zh_CN 0600 root bin 15768 55496 1025499859
1 f none sendmail/lang/zh_TW.Big5 0600 root bin 14756 5634 1025499859
1 f none sendmail/list_access.cgi 0700 root bin 2354 60082 1025499859
1 f none sendmail/list_aliases.cgi 0700 root bin 2955 36847 1025499860
1 f none sendmail/list_boxes.cgi 0700 root bin 2450 251 1025499859
1 f none sendmail/list_cgs.cgi 0700 root bin 1255 36921 1025499860
1 f none sendmail/list_cws.cgi 0700 root bin 1289 39661 1025499859
1 f none sendmail/list_domains.cgi 0700 root bin 1919 23868 1025499859
1 f none sendmail/list_features.cgi 0700 root bin 3048 49299 1025499860
1 f none sendmail/list_generics.cgi 0700 root bin 3286 11158 1025499859
1 f none sendmail/list_mail.cgi 0700 root bin 7249 1373 1025499859
1 f none sendmail/list_mailers.cgi 0700 root bin 2178 45590 1025499859
1 f none sendmail/list_mailq.cgi 0700 root bin 4562 35776 1025499859
1 f none sendmail/list_masq.cgi 0700 root bin 1497 56565 1025499859
1 f none sendmail/list_opts.cgi 0700 root bin 7063 55636 1025499859
1 f none sendmail/list_relay.cgi 0700 root bin 1596 64860 1025499860
1 f none sendmail/list_trusts.cgi 0700 root bin 1297 40839 1025499859
1 f none sendmail/list_us 0600 root bin 1 10 1025499859
1 f none sendmail/list_virtusers.cgi 0700 root bin 3220 369 1025499859
1 f none sendmail/log_parser.pl 0600 root bin 1363 44594 1025499860
1 f none sendmail/mail_search.cgi 0700 root bin 3282 7547 1025499860
1 f none sendmail/mailers-lib.pl 0600 root bin 4420 24466 1025499859
1 f none sendmail/manual_features.cgi 0700 root bin 372 31548 1025499860
1 f none sendmail/module.info 0600 root bin 775 13713 1025499882
1 f none sendmail/move.cgi 0700 root bin 565 48917 1025499860
1 f none sendmail/qdetach.cgi 0700 root bin 946 12690 1025499860
1 f none sendmail/reply_mail.cgi 0700 root bin 8155 59626 1025499859
1 f none sendmail/save_access.cgi 0700 root bin 1807 11001 1025499859
1 f none sendmail/save_afile.cgi 0700 root bin 434 35674 1025499859
1 f none sendmail/save_alias.cgi 0700 root bin 4149 62423 1025499860
1 f none sendmail/save_cgs.cgi 0700 root bin 1092 22284 1025499860
1 f none sendmail/save_cws.cgi 0700 root bin 1136 25807 1025499860
1 f none sendmail/save_domain.cgi 0700 root bin 1185 31328 1025499859
1 f none sendmail/save_feature.cgi 0700 root bin 2372 54055 1025499860
1 f none sendmail/save_ffile.cgi 0700 root bin 717 58221 1025499860
1 f none sendmail/save_file.cgi 0700 root bin 2501 8238 1025499860
1 f none sendmail/save_generic.cgi 0700 root bin 1349 45434 1025499859
1 f none sendmail/save_mailer.cgi 0700 root bin 1440 52099 1025499859
1 f none sendmail/save_masq.cgi 0700 root bin 1410 47364 1025499859
1 f none sendmail/save_opts.cgi 0700 root bin 2794 35658 1025499859
1 f none sendmail/save_relay.cgi 0700 root bin 1074 22074 1025499859
1 f none sendmail/save_rfile.cgi 0700 root bin 370 30615 1025499859
1 f none sendmail/save_trusts.cgi 0700 root bin 1122 25893 1025499859
1 f none sendmail/save_virtuser.cgi 0700 root bin 2960 42542 1025499859
1 f none sendmail/send_mail.cgi 0700 root bin 5375 20329 1025499859
1 f none sendmail/sendmail-lib.pl 0600 root bin 5474 41082 1025499860
1 f none sendmail/start.cgi 0700 root bin 505 43263 1025499860
1 f none sendmail/stop.cgi 0700 root bin 499 42202 1025499859
1 f none sendmail/useradmin_update.pl 0600 root bin 1131 25834 1025499859
1 f none sendmail/view_mail.cgi 0700 root bin 6919 29500 1025499859
1 f none sendmail/view_mailq.cgi 0700 root bin 4331 19010 1025499859
1 f none sendmail/virtusers-lib.pl 0600 root bin 5144 18307 1025499859
1 d none sentry 0700 root bin
1 f none sentry/config 0600 root bin 386 38969 1025499882
1 f none sentry/config-cobalt-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-debian-linux 0600 root bin 469 47398 1025499882
1 f none sentry/config-gentoo-linux 0600 root bin 417 41965 1025499882
1 f none sentry/config-mandrake-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-msc-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-open-linux 0600 root bin 478 47677 1025499882
1 f none sentry/config-redhat-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-suse-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-turbo-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config.info 0600 root bin 875 17986 1025499882
1 f none sentry/config.info.ca 0600 root bin 1009 32621 1025499882
1 f none sentry/edit_hostsentry.cgi 0700 root bin 3962 60642 1025499882
1 f none sentry/edit_logcheck.cgi 0700 root bin 4044 62694 1025499882
1 f none sentry/edit_portsentry.cgi 0700 root bin 5606 5716 1025499882
1 d none sentry/help 0700 root bin
1 f none sentry/help/hostsentry.ca.html 0600 root bin 1821 36631 1025499882
1 f none sentry/help/hostsentry.html 0600 root bin 1650 15839 1025499882
1 f none sentry/help/intro.ca.html 0600 root bin 363 33867 1025499882
1 f none sentry/help/intro.html 0600 root bin 356 33260 1025499882
1 f none sentry/help/logcheck.ca.html 0600 root bin 1436 65469 1025499882
1 f none sentry/help/logcheck.html 0600 root bin 1265 47142 1025499882
1 f none sentry/help/portsentry.ca.html 0600 root bin 2459 28641 1025499882
1 f none sentry/help/portsentry.html 0600 root bin 2341 9603 1025499882
1 d none sentry/images 0700 root bin
1 f none sentry/images/hostsentry.gif 0600 root bin 390 43396 1025499882
1 f none sentry/images/icon.gif 0600 root bin 1094 17027 1025499882
1 f none sentry/images/logcheck.gif 0600 root bin 470 52260 1025499882
1 f none sentry/images/portsentry.gif 0600 root bin 362 43063 1025499882
1 f none sentry/index.cgi 0700 root bin 1087 25380 1025499882
1 d none sentry/lang 0700 root bin
1 f none sentry/lang/ca 0600 root bin 6746 1651 1025499882
1 f none sentry/lang/en 0600 root bin 5925 46964 1025499882
1 f none sentry/log_parser.pl 0600 root bin 433 37906 1025499882
1 f none sentry/module.info 0600 root bin 117 10743 1025499882
1 f none sentry/save_hostsentry.cgi 0700 root bin 2306 57812 1025499882
1 f none sentry/save_logcheck.cgi 0700 root bin 2482 4837 1025499882
1 f none sentry/save_portsentry.cgi 0700 root bin 2681 19700 1025499882
1 f none sentry/sentry-lib.pl 0600 root bin 3328 10231 1025499882
1 f none sentry/start_hostsentry.cgi 0700 root bin 451 38298 1025499882
1 f none sentry/start_portsentry.cgi 0700 root bin 356 31053 1025499882
1 f none sentry/stop_hostsentry.cgi 0700 root bin 569 48015 1025499882
1 f none sentry/stop_portsentry.cgi 0700 root bin 585 49461 1025499882
1 d none servers 0700 root bin
1 f none servers/acl_security.pl 0600 root bin 1869 17427 1025499865
1 f none servers/config 0600 root bin 80 7499 1025499865
1 f none servers/config.info 0600 root bin 280 25239 1025499864
1 f none servers/config.info.ca 0600 root bin 283 25559 1025499865
1 f none servers/config.info.cz 0600 root bin 54 5369 1025499865
1 f none servers/config.info.de 0600 root bin 312 27828 1025499865
1 f none servers/config.info.es 0600 root bin 121 11477 1025499865
1 f none servers/config.info.hu 0600 root bin 139 13964 1025499865
1 f none servers/config.info.pl 0600 root bin 110 10690 1025499865
1 f none servers/config.info.sv 0600 root bin 96 9127 1025499865
1 f none servers/config.info.tr 0600 root bin 110 11393 1025499865
1 f none servers/config.info.zh_CN 0600 root bin 64 9280 1025499865
1 f none servers/config.info.zh_TW.Big5 0600 root bin 46 5814 1025499865
1 f none servers/defaultacl 0600 root bin 24 1970 1025499865
1 f none servers/edit_serv.cgi 0700 root bin 3803 52829 1025499865
1 f none servers/feedback_files.pl 0600 root bin 203 17020 1025499865
1 f none servers/find.cgi 0700 root bin 2940 24471 1025499864
1 d none servers/images 0700 root bin
1 f none servers/images/cal_spin.gif 0600 root bin 37393 15581 1025499865
1 f none servers/images/caldera.gif 0600 root bin 2740 55513 1025499865
1 f none servers/images/debian.gif 0600 root bin 2155 8335 1025499865
1 f none servers/images/freebsd.gif 0600 root bin 1664 481 1025499865
1 f none servers/images/hpux.gif 0600 root bin 435 50957 1025499865
1 f none servers/images/icon.gif 0600 root bin 1526 31216 1025499865
1 f none servers/images/irix.gif 0600 root bin 718 31023 1025499865
1 f none servers/images/linux.gif 0600 root bin 2028 31581 1025499865
1 f none servers/images/mac.gif 0600 root bin 2203 2868 1025499865
1 f none servers/images/mandrake.gif 0600 root bin 997 9791 1025499865
1 f none servers/images/msc.gif 0600 root bin 2029 45865 1025499865
1 f none servers/images/openbsd.gif 0600 root bin 1664 481 1025499865
1 f none servers/images/redhat.gif 0600 root bin 1385 16437 1025499865
1 f none servers/images/sco.gif 0600 root bin 502 60123 1025499865
1 f none servers/images/solaris.gif 0600 root bin 858 61299 1025499865
1 f none servers/images/suse.gif 0600 root bin 496 3496 1025499865
1 f none servers/images/unknown.gif 0600 root bin 2256 52530 1025499865
1 f none servers/index.cgi 0700 root bin 3393 7238 1025499864
1 d none servers/lang 0700 root bin
1 f none servers/lang/ca 0600 root bin 2318 22896 1025499865
1 f none servers/lang/cz 0600 root bin 897 26670 1025499865
1 f none servers/lang/de 0600 root bin 2971 5247 1025499865
1 f none servers/lang/en 0600 root bin 2045 61467 1025499864
1 f none servers/lang/es 0600 root bin 1897 49366 1025499865
1 f none servers/lang/fr 0600 root bin 2090 6148 1025499865
1 f none servers/lang/hu 0600 root bin 1516 18409 1025499865
1 f none servers/lang/ja_JP.euc 0600 root bin 1746 59449 1025499865
1 f none servers/lang/ko_KR.euc 0600 root bin 1576 25262 1025499865
1 f none servers/lang/pl 0600 root bin 2264 26727 1025499865
1 f none servers/lang/pt 0600 root bin 972 28504 1025499864
1 f none servers/lang/ru_RU 0600 root bin 948 26957 1025499865
1 f none servers/lang/ru_SU 0600 root bin 952 13232 1025499865
1 f none servers/lang/sv 0600 root bin 1737 38190 1025499865
1 f none servers/lang/tr 0600 root bin 1209 57314 1025499865
1 f none servers/lang/zh_CN 0600 root bin 1273 56031 1025499864
1 f none servers/lang/zh_TW.Big5 0600 root bin 756 32931 1025499864
1 f none servers/link.cgi 0700 root bin 2653 11436 1025499865
1 f none servers/log_parser.pl 0600 root bin 681 57337 1025499865
1 f none servers/module.info 0600 root bin 550 57726 1025499882
1 f none servers/save_serv.cgi 0700 root bin 2679 8022 1025499865
1 f none servers/servers-lib.pl 0600 root bin 2968 32596 1025499864
1 f none session_login.cgi 0700 root bin 2327 63342 1025499832
1 f none setup.sh 0700 root bin 17889 37556 1025499831
1 d none shell 0700 root bin
1 f none shell/acl_security.pl 0600 root bin 699 59727 1025499875
1 f none shell/defaultacl 0600 root bin 10 970 1025499875
1 d none shell/images 0700 root bin
1 f none shell/images/icon.gif 0600 root bin 2678 14014 1025499875
1 f none shell/images/shell.jpg 0600 root bin 46154 22692 1025499875
1 f none shell/index.cgi 0700 root bin 2321 51344 1025499875
1 d none shell/lang 0700 root bin
1 f none shell/lang/ca 0600 root bin 389 36100 1025499875
1 f none shell/lang/de 0600 root bin 985 15802 1025499875
1 f none shell/lang/en 0600 root bin 366 34673 1025499875
1 f none shell/lang/es 0600 root bin 350 32805 1025499875
1 f none shell/lang/fr 0600 root bin 375 36465 1025499875
1 f none shell/lang/hu 0600 root bin 463 46956 1025499875
1 f none shell/lang/ja_JP.euc 0600 root bin 324 50876 1025499875
1 f none shell/lang/ko_KR.euc 0600 root bin 263 38619 1025499875
1 f none shell/lang/pl 0600 root bin 413 41747 1025499875
1 f none shell/lang/zh_TW.Big5 0600 root bin 261 34504 1025499875
1 f none shell/module.info 0600 root bin 208 20927 1025499882
1 f none shell/shell-lib.pl 0600 root bin 57 4201 1025499875
1 d none software 0700 root bin
1 f none software/aix-lib.pl 0600 root bin 18895 55202 1025499855
1 f none software/apt-lib.pl 0600 root bin 2255 61043 1025499855
1 f none software/apt_find.cgi 0700 root bin 1800 6508 1025499855
1 f none software/apt_upgrade.cgi 0700 root bin 1772 9018 1025499855
1 f none software/close.cgi 0700 root bin 376 31562 1025499855
1 f none software/closeall.cgi 0700 root bin 158 13767 1025499855
1 f none software/config-aix 0600 root bin 19 1881 1025499855
1 f none software/config-cobalt-linux 0600 root bin 19 1894 1025499855
1 f none software/config-corel-linux 0600 root bin 22 2170 1025499853
1 f none software/config-debian-linux 0600 root bin 22 2170 1025499854
1 f none software/config-freebsd 0600 root bin 23 2290 1025499853
1 f none software/config-gentoo-linux 0600 root bin 22 2188 1025499855
1 f none software/config-hpux 0600 root bin 20 2012 1025499853
1 f none software/config-mandrake-linux 0600 root bin 19 1894 1025499855
1 f none software/config-msc-linux 0600 root bin 19 1894 1025499855
1 f none software/config-netbsd 0600 root bin 23 2290 1025499855
1 f none software/config-open-linux 0600 root bin 19 1894 1025499853
1 f none software/config-openbsd 0600 root bin 23 2306 1025499853
1 f none software/config-openserver 0600 root bin 22 2178 1025499855
1 f none software/config-redhat-linux 0600 root bin 19 1894 1025499855
1 f none software/config-slackware-linux 0600 root bin 25 2516 1025499855
1 f none software/config-solaris 0600 root bin 22 2178 1025499853
1 f none software/config-suse-linux 0600 root bin 19 1894 1025499853
1 f none software/config-turbo-linux 0600 root bin 19 1894 1025499853
1 f none software/config-unixware 0600 root bin 22 2178 1025499855
1 f none software/config.info 0600 root bin 148 13749 1025499855
1 f none software/config.info.ca 0600 root bin 139 12763 1025499855
1 f none software/config.info.de 0600 root bin 124 11527 1025499854
1 f none software/config.info.es 0600 root bin 131 12285 1025499853
1 f none software/config.info.fr 0600 root bin 133 12664 1025499855
1 f none software/config.info.pl 0600 root bin 129 12217 1025499855
1 f none software/config.info.ru_RU 0600 root bin 128 15193 1025499855
1 f none software/config.info.ru_SU 0600 root bin 128 14490 1025499853
1 f none software/config.info.sv 0600 root bin 224 21124 1025499854
1 f none software/config.info.tr 0600 root bin 122 11535 1025499855
1 f none software/config.info.zh_CN 0600 root bin 115 12209 1025499853
1 f none software/config.info.zh_TW.Big5 0600 root bin 117 12026 1025499853
1 f none software/debian-lib.pl 0600 root bin 5049 14565 1025499853
1 f none software/delete_file.cgi 0700 root bin 245 20900 1025499853
1 f none software/delete_pack.cgi 0700 root bin 1396 47224 1025499855
1 f none software/do_install.cgi 0700 root bin 1666 64771 1025499853
1 f none software/edit_pack.cgi 0700 root bin 2104 45865 1025499853
1 f none software/emerge-lib.pl 0600 root bin 6355 49345 1025499855
1 f none software/emerge_find.cgi 0700 root bin 1535 49356 1025499855
1 f none software/file_info.cgi 0700 root bin 2245 44376 1025499853
1 f none software/freebsd-lib.pl 0600 root bin 4622 41685 1025499855
1 d none software/help 0700 root bin
1 f none software/help/aix_accept.ca.html 0600 root bin 216 20209 1025499855
1 f none software/help/aix_accept.html 0600 root bin 196 17667 1025499855
1 f none software/help/aix_auto.ca.html 0600 root bin 1208 49244 1025499855
1 f none software/help/aix_auto.html 0600 root bin 1167 42386 1025499855
1 f none software/help/aix_clean.ca.html 0600 root bin 534 51094 1025499855
1 f none software/help/aix_clean.html 0600 root bin 468 43645 1025499855
1 f none software/help/aix_commit.ca.html 0600 root bin 3192 41417 1025499855
1 f none software/help/aix_commit.html 0600 root bin 3004 11802 1025499855
1 f none software/help/aix_detail.ca.html 0600 root bin 156 14005 1025499855
1 f none software/help/aix_detail.html 0600 root bin 157 13955 1025499855
1 f none software/help/aix_device.ca.html 0600 root bin 271 24548 1025499855
1 f none software/help/aix_device.html 0600 root bin 245 21713 1025499855
1 f none software/help/aix_extend.ca.html 0600 root bin 1100 35618 1025499855
1 f none software/help/aix_extend.html 0600 root bin 1035 28470 1025499855
1 f none software/help/aix_include.ca.html 0600 root bin 489 45762 1025499855
1 f none software/help/aix_include.html 0600 root bin 451 41203 1025499855
1 f none software/help/aix_license.ca.html 0600 root bin 386 37014 1025499855
1 f none software/help/aix_license.html 0600 root bin 315 29125 1025499855
1 f none software/help/aix_overwrite.ca.html 0600 root bin 550 51107 1025499855
1 f none software/help/aix_overwrite.html 0600 root bin 508 44848 1025499855
1 f none software/help/aix_preview.ca.html 0600 root bin 916 22714 1025499855
1 f none software/help/aix_preview.html 0600 root bin 833 11380 1025499855
1 f none software/help/aix_process.ca.html 0600 root bin 505 46036 1025499855
1 f none software/help/aix_process.html 0600 root bin 488 43798 1025499855
1 f none software/help/aix_save.ca.html 0600 root bin 907 20820 1025499855
1 f none software/help/aix_save.html 0600 root bin 901 16484 1025499855
1 f none software/help/aix_software.ca.html 0600 root bin 268 24764 1025499855
1 f none software/help/aix_software.html 0600 root bin 245 21828 1025499855
1 f none software/help/aix_verify.ca.html 0600 root bin 643 60887 1025499855
1 f none software/help/aix_verify.html 0600 root bin 595 54704 1025499855
1 f none software/help/delete.ca.html 0600 root bin 269 25410 1025499855
1 f none software/help/delete.es.html 0600 root bin 287 26584 1025499854
1 f none software/help/delete.fr.html 0600 root bin 267 25841 1025499854
1 f none software/help/delete.html 0600 root bin 248 22423 1025499854
1 f none software/help/delete.hu.html 0600 root bin 251 25772 1025499855
1 f none software/help/delete.pl.html 0600 root bin 273 27240 1025499855
1 f none software/help/delete.sv.html 0600 root bin 227 21177 1025499854
1 f none software/help/delete.zh_TW.Big5.html 0600 root bin 173 25631 1025499854
1 f none software/help/edit_pack.ca.html 0600 root bin 280 26801 1025499855
1 f none software/help/edit_pack.es.html 0600 root bin 286 26838 1025499854
1 f none software/help/edit_pack.fr.html 0600 root bin 292 27660 1025499854
1 f none software/help/edit_pack.html 0600 root bin 251 22693 1025499854
1 f none software/help/edit_pack.hu.html 0600 root bin 261 26555 1025499855
1 f none software/help/edit_pack.pl.html 0600 root bin 262 25413 1025499855
1 f none software/help/edit_pack.sv.html 0600 root bin 230 21600 1025499854
1 f none software/help/edit_pack.zh_TW.Big5.html 0600 root bin 163 22607 1025499854
1 f none software/help/excludedocs.ca.html 0600 root bin 162 15359 1025499855
1 f none software/help/excludedocs.es.html 0600 root bin 174 16729 1025499854
1 f none software/help/excludedocs.fr.html 0600 root bin 172 16064 1025499854
1 f none software/help/excludedocs.html 0600 root bin 168 15421 1025499854
1 f none software/help/excludedocs.hu.html 0600 root bin 141 14047 1025499855
1 f none software/help/excludedocs.pl.html 0600 root bin 184 17998 1025499855
1 f none software/help/excludedocs.sv.html 0600 root bin 160 15284 1025499854
1 f none software/help/excludedocs.zh_TW.Big5.html 0600 root bin 94 13036 1025499854
1 f none software/help/file_info.ca.html 0600 root bin 271 25333 1025499855
1 f none software/help/file_info.es.html 0600 root bin 291 27403 1025499854
1 f none software/help/file_info.fr.html 0600 root bin 268 25042 1025499854
1 f none software/help/file_info.html 0600 root bin 250 22424 1025499854
1 f none software/help/file_info.pl.html 0600 root bin 277 27313 1025499855
1 f none software/help/file_info.sv.html 0600 root bin 226 21528 1025499854
1 f none software/help/file_info.zh_TW.Big5.html 0600 root bin 142 21176 1025499854
1 f none software/help/install.ca.html 0600 root bin 189 17939 1025499855
1 f none software/help/install.es.html 0600 root bin 183 17494 1025499854
1 f none software/help/install.fr.html 0600 root bin 193 18291 1025499854
1 f none software/help/install.html 0600 root bin 173 15690 1025499854
1 f none software/help/install.pl.html 0600 root bin 157 14834 1025499855
1 f none software/help/install.sv.html 0600 root bin 154 14748 1025499854
1 f none software/help/install.zh_TW.Big5.html 0600 root bin 90 12293 1025499854
1 f none software/help/intro.ca.html 0600 root bin 2172 3932 1025499855
1 f none software/help/intro.es.html 0600 root bin 2322 21475 1025499854
1 f none software/help/intro.fr.html 0600 root bin 2384 30703 1025499854
1 f none software/help/intro.html 0600 root bin 2022 51766 1025499854
1 f none software/help/intro.pl.html 0600 root bin 2305 30438 1025499855
1 f none software/help/intro.sv.html 0600 root bin 2020 63013 1025499854
1 f none software/help/intro.zh_TW.Big5.html 0600 root bin 1348 61875 1025499854
1 f none software/help/list_pack.ca.html 0600 root bin 885 11688 1025499855
1 f none software/help/list_pack.es.html 0600 root bin 974 22774 1025499854
1 f none software/help/list_pack.fr.html 0600 root bin 928 17843 1025499854
1 f none software/help/list_pack.html 0600 root bin 828 6916 1025499854
1 f none software/help/list_pack.pl.html 0600 root bin 966 26099 1025499855
1 f none software/help/list_pack.sv.html 0600 root bin 750 3988 1025499854
1 f none software/help/list_pack.zh_TW.Big5.html 0600 root bin 607 17689 1025499854
1 f none software/help/nodeps.ca.html 0600 root bin 177 16974 1025499855
1 f none software/help/nodeps.es.html 0600 root bin 182 17147 1025499855
1 f none software/help/nodeps.fr.html 0600 root bin 201 18905 1025499854
1 f none software/help/nodeps.html 0600 root bin 190 17352 1025499854
1 f none software/help/nodeps.pl.html 0600 root bin 209 20807 1025499855
1 f none software/help/nodeps.sv.html 0600 root bin 175 16421 1025499854
1 f none software/help/nodeps.zh_TW.Big5.html 0600 root bin 118 16916 1025499854
1 f none software/help/noscripts.ca.html 0600 root bin 208 20165 1025499855
1 f none software/help/noscripts.es.html 0600 root bin 221 21381 1025499855
1 f none software/help/noscripts.fr.html 0600 root bin 200 19036 1025499854
1 f none software/help/noscripts.html 0600 root bin 193 17780 1025499854
1 f none software/help/noscripts.pl.html 0600 root bin 192 18960 1025499855
1 f none software/help/noscripts.sv.html 0600 root bin 202 19687 1025499854
1 f none software/help/noscripts.zh_TW.Big5.html 0600 root bin 120 17330 1025499854
1 f none software/help/oldpackage.ca.html 0600 root bin 253 24015 1025499855
1 f none software/help/oldpackage.es.html 0600 root bin 285 27403 1025499854
1 f none software/help/oldpackage.fr.html 0600 root bin 320 30046 1025499854
1 f none software/help/oldpackage.html 0600 root bin 245 22183 1025499854
1 f none software/help/oldpackage.pl.html 0600 root bin 282 27891 1025499855
1 f none software/help/oldpackage.sv.html 0600 root bin 254 23708 1025499854
1 f none software/help/oldpackage.zh_TW.Big5.html 0600 root bin 188 27441 1025499854
1 f none software/help/replacefiles.ca.html 0600 root bin 255 24344 1025499855
1 f none software/help/replacefiles.es.html 0600 root bin 271 26124 1025499854
1 f none software/help/replacefiles.fr.html 0600 root bin 271 26204 1025499854
1 f none software/help/replacefiles.html 0600 root bin 245 22577 1025499854
1 f none software/help/replacefiles.pl.html 0600 root bin 243 23837 1025499855
1 f none software/help/replacefiles.sv.html 0600 root bin 242 23116 1025499854
1 f none software/help/replacefiles.zh_TW.Big5.html 0600 root bin 156 22497 1025499854
1 f none software/help/replacepkgs.ca.html 0600 root bin 139 12971 1025499855
1 f none software/help/replacepkgs.es.html 0600 root bin 142 13281 1025499854
1 f none software/help/replacepkgs.fr.html 0600 root bin 144 13898 1025499855
1 f none software/help/replacepkgs.html 0600 root bin 144 12970 1025499854
1 f none software/help/replacepkgs.pl.html 0600 root bin 151 14651 1025499855
1 f none software/help/replacepkgs.sv.html 0600 root bin 136 12819 1025499854
1 f none software/help/replacepkgs.zh_TW.Big5.html 0600 root bin 118 15922 1025499854
1 f none software/help/root.ca.html 0600 root bin 159 14589 1025499855
1 f none software/help/root.es.html 0600 root bin 162 15458 1025499854
1 f none software/help/root.fr.html 0600 root bin 163 15263 1025499854
1 f none software/help/root.html 0600 root bin 147 13472 1025499854
1 f none software/help/root.pl.html 0600 root bin 146 13884 1025499855
1 f none software/help/root.sv.html 0600 root bin 155 14758 1025499855
1 f none software/help/root.zh_TW.Big5.html 0600 root bin 108 14534 1025499854
1 f none software/help/search.ca.html 0600 root bin 196 17409 1025499855
1 f none software/help/search.es.html 0600 root bin 219 20429 1025499855
1 f none software/help/search.fr.html 0600 root bin 211 19627 1025499854
1 f none software/help/search.html 0600 root bin 163 14371 1025499854
1 f none software/help/search.pl.html 0600 root bin 198 19683 1025499855
1 f none software/help/search.sv.html 0600 root bin 169 16671 1025499855
1 f none software/help/search.zh_TW.Big5.html 0600 root bin 101 14181 1025499854
1 f none software/help/upgrade.ca.html 0600 root bin 202 19058 1025499855
1 f none software/help/upgrade.es.html 0600 root bin 222 21162 1025499854
1 f none software/help/upgrade.fr.html 0600 root bin 235 22844 1025499854
1 f none software/help/upgrade.html 0600 root bin 203 18411 1025499854
1 f none software/help/upgrade.pl.html 0600 root bin 213 21309 1025499855
1 f none software/help/upgrade.sv.html 0600 root bin 189 18003 1025499854
1 f none software/help/upgrade.zh_TW.Big5.html 0600 root bin 140 19733 1025499854
1 f none software/hpux-lib.pl 0600 root bin 10171 8197 1025499855
1 d none software/images 0700 root bin
1 f none software/images/close.gif 0600 root bin 112 11697 1025499853
1 f none software/images/icon.gif 0600 root bin 297 35022 1025499853
1 f none software/images/open.gif 0600 root bin 107 10761 1025499853
1 f none software/images/pack.gif 0600 root bin 123 11211 1025499853
1 f none software/index.cgi 0700 root bin 1961 39264 1025499855
1 f none software/install_pack.cgi 0700 root bin 3716 35463 1025499855
1 d none software/lang 0700 root bin
1 f none software/lang/ca 0600 root bin 8478 21783 1025499853
1 f none software/lang/cz 0600 root bin 3642 20343 1025499853
1 f none software/lang/de 0600 root bin 4098 62035 1025499853
1 f none software/lang/en 0600 root bin 7991 27289 1025499853
1 f none software/lang/es 0600 root bin 7122 24343 1025499853
1 f none software/lang/fr 0600 root bin 7556 12191 1025499853
1 f none software/lang/hu 0600 root bin 3884 14078 1025499853
1 f none software/lang/ja_JP.euc 0600 root bin 7084 38655 1025499853
1 f none software/lang/ko_KR.euc 0600 root bin 6188 12370 1025499853
1 f none software/lang/pl 0600 root bin 7077 39445 1025499853
1 f none software/lang/pt 0600 root bin 3874 49620 1025499853
1 f none software/lang/ru_RU 0600 root bin 3649 60098 1025499853
1 f none software/lang/ru_SU 0600 root bin 3662 12744 1025499853
1 f none software/lang/sv 0600 root bin 5789 35194 1025499853
1 f none software/lang/tr 0600 root bin 3672 47457 1025499853
1 f none software/lang/zh_CN 0600 root bin 2816 57467 1025499853
1 f none software/lang/zh_TW.Big5 0600 root bin 2889 26975 1025499853
1 f none software/list_pack.cgi 0700 root bin 2182 36018 1025499855
1 f none software/log_parser.pl 0600 root bin 886 6802 1025499855
1 f none software/module.info 0600 root bin 1035 36353 1025499882
1 f none software/open.cgi 0700 root bin 252 20980 1025499855
1 f none software/openall.cgi 0700 root bin 427 33315 1025499855
1 f none software/openbsd-lib.pl 0600 root bin 4615 41352 1025499853
1 f none software/pkgadd-lib.pl 0600 root bin 6541 50932 1025499853
1 f none software/rhn-lib.pl 0600 root bin 3252 7029 1025499855
1 f none software/rhn.cgi 0700 root bin 1265 33291 1025499855
1 f none software/rhn_check.cgi 0700 root bin 1848 18710 1025499855
1 f none software/rpm-lib.pl 0600 root bin 7608 15808 1025499853
1 f none software/rpmfind.cgi 0700 root bin 2510 49916 1025499855
1 f none software/search.cgi 0700 root bin 1490 50243 1025499853
1 f none software/slackware-lib.pl 0600 root bin 5795 56657 1025499853
1 f none software/software-lib.pl 0600 root bin 4828 63365 1025499855
1 f none software/tree.cgi 0700 root bin 2160 35851 1025499855
1 f none software/view.cgi 0700 root bin 905 1162 1025499855
1 d none squid 0700 root bin
1 f none squid/acl.cgi 0700 root bin 9451 25993 1025499860
1 f none squid/acl_save.cgi 0700 root bin 6728 55398 1025499860
1 f none squid/acl_security.pl 0700 root bin 1465 56082 1025499860
1 f none squid/always.cgi 0700 root bin 2021 36133 1025499860
1 f none squid/always_save.cgi 0700 root bin 1040 20867 1025499860
1 f none squid/cachemgr.cgi 0700 root bin 483 38595 1025499860
1 f none squid/calamaris.cgi 0700 root bin 2355 52361 1025499860
1 f none squid/chown.cgi 0700 root bin 1462 53388 1025499860
1 f none squid/clear.cgi 0700 root bin 2625 14638 1025499860
1 f none squid/config-aix 0600 root bin 293 27300 1025499860
1 f none squid/config-cobalt-linux 0600 root bin 292 27207 1025499860
1 f none squid/config-corel-linux 0600 root bin 266 24722 1025499860
1 f none squid/config-debian-linux 0600 root bin 266 24722 1025499860
1 f none squid/config-freebsd 0600 root bin 323 30254 1025499860
1 f none squid/config-generic-linux 0600 root bin 333 31218 1025499860
1 f none squid/config-gentoo-linux 0600 root bin 340 31845 1025499860
1 f none squid/config-hpux 0600 root bin 333 31218 1025499860
1 f none squid/config-irix 0600 root bin 333 31218 1025499860
1 f none squid/config-lfs-linux 0600 root bin 302 28210 1025499860
1 f none squid/config-macos 0600 root bin 333 31218 1025499860
1 f none squid/config-mandrake-linux 0600 root bin 355 33145 1025499860
1 f none squid/config-mandrake-linux-8.0 0600 root bin 350 32714 1025499860
1 f none squid/config-mandrake-linux-8.1 0600 root bin 350 32714 1025499860
1 f none squid/config-mandrake-linux-8.2 0600 root bin 350 32714 1025499860
1 f none squid/config-msc-linux 0600 root bin 350 32832 1025499860
1 f none squid/config-netbsd 0600 root bin 288 26835 1025499860
1 f none squid/config-open-linux 0600 root bin 357 33291 1025499860
1 f none squid/config-open-linux-3.1e 0600 root bin 359 33437 1025499860
1 f none squid/config-openbsd 0600 root bin 323 30254 1025499860
1 f none squid/config-openserver 0600 root bin 333 31218 1025499860
1 f none squid/config-osf1 0600 root bin 333 31218 1025499860
1 f none squid/config-redhat-linux 0600 root bin 269 25038 1025499860
1 f none squid/config-redhat-linux-6.0 0600 root bin 355 33145 1025499860
1 f none squid/config-redhat-linux-6.1 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-6.2 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.0 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.1 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.2 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.3 0600 root bin 350 32714 1025499860
1 f none squid/config-slackware-linux 0600 root bin 333 31218 1025499860
1 f none squid/config-solaris 0600 root bin 333 31218 1025499860
1 f none squid/config-suse-linux 0600 root bin 260 24185 1025499860
1 f none squid/config-turbo-linux 0600 root bin 269 25038 1025499860
1 f none squid/config-unixware 0600 root bin 333 31218 1025499860
1 f none squid/config.info 0600 root bin 754 4338 1025499860
1 f none squid/config.info.ca 0600 root bin 899 19090 1025499860
1 f none squid/config.info.de 0600 root bin 546 51188 1025499860
1 f none squid/config.info.es 0600 root bin 635 60537 1025499860
1 f none squid/config.info.fr 0600 root bin 573 54349 1025499860
1 f none squid/config.info.it 0600 root bin 612 56781 1025499860
1 f none squid/config.info.pl 0600 root bin 768 8450 1025499860
1 f none squid/config.info.ru_RU 0600 root bin 282 43222 1025499860
1 f none squid/config.info.ru_SU 0600 root bin 282 39479 1025499860
1 f none squid/config.info.sv 0600 root bin 592 59284 1025499860
1 f none squid/config.info.tr 0600 root bin 351 35830 1025499860
1 f none squid/config.info.zh_CN 0600 root bin 373 49812 1025499860
1 f none squid/config.info.zh_TW.Big5 0600 root bin 296 37235 1025499860
1 f none squid/defaultacl 0600 root bin 145 12656 1025499860
1 f none squid/edit_acl.cgi 0700 root bin 3818 37024 1025499860
1 f none squid/edit_admin.cgi 0700 root bin 3172 61664 1025499860
1 f none squid/edit_auth.cgi 0700 root bin 2316 59090 1025499860
1 f none squid/edit_cache.cgi 0700 root bin 8549 33477 1025499860
1 f none squid/edit_cache_host.cgi 0700 root bin 7077 51767 1025499860
1 f none squid/edit_icp.cgi 0700 root bin 5702 53416 1025499860
1 f none squid/edit_logs.cgi 0700 root bin 2934 44359 1025499860
1 f none squid/edit_mem.cgi 0700 root bin 2681 23570 1025499860
1 f none squid/edit_misc.cgi 0700 root bin 4374 26954 1025499860
1 f none squid/edit_nauth.cgi 0700 root bin 1417 46635 1025499860
1 f none squid/edit_nuser.cgi 0700 root bin 1901 29186 1025499860
1 f none squid/edit_ports.cgi 0700 root bin 2430 1747 1025499860
1 f none squid/edit_progs.cgi 0700 root bin 3183 3180 1025499860
1 f none squid/edit_smem.cgi 0700 root bin 5016 7831 1025499860
1 f none squid/edit_sports.cgi 0700 root bin 2426 63114 1025499860
1 f none squid/edit_user.cgi 0700 root bin 1549 1386 1025499860
1 d none squid/help 0700 root bin
1 f none squid/help/edit_acl.ca.html 0600 root bin 1705 25708 1025499860
1 f none squid/help/edit_acl.es.html 0600 root bin 1755 28763 1025499860
1 f none squid/help/edit_acl.html 0600 root bin 1604 11481 1025499860
1 f none squid/help/edit_acl.it.html 0600 root bin 1604 11481 1025499860
1 f none squid/help/edit_acl.pl.html 0600 root bin 1670 29190 1025499860
1 f none squid/help/edit_acl.sv.html 0600 root bin 1601 25651 1025499860
1 f none squid/help/edit_acl.zh_TW.Big5.html 0600 root bin 1050 7963 1025499860
1 f none squid/help/edit_admin.ca.html 0600 root bin 1979 46654 1025499860
1 f none squid/help/edit_admin.es.html 0600 root bin 2145 2002 1025499860
1 f none squid/help/edit_admin.html 0600 root bin 1912 40607 1025499860
1 f none squid/help/edit_admin.it.html 0600 root bin 1912 40607 1025499860
1 f none squid/help/edit_admin.pl.html 0600 root bin 2197 17847 1025499860
1 f none squid/help/edit_admin.sv.html 0600 root bin 2055 63967 1025499860
1 f none squid/help/edit_admin.zh_TW.Big5.html 0600 root bin 1319 45222 1025499860
1 f none squid/help/edit_cache.ca.html 0600 root bin 5257 17876 1025499860
1 f none squid/help/edit_cache.es.html 0600 root bin 5679 63390 1025499860
1 f none squid/help/edit_cache.html 0600 root bin 4913 44493 1025499860
1 f none squid/help/edit_cache.it.html 0600 root bin 4913 44493 1025499860
1 f none squid/help/edit_cache.pl.html 0600 root bin 5657 26499 1025499860
1 f none squid/help/edit_cache.sv.html 0600 root bin 5142 38183 1025499860
1 f none squid/help/edit_cache.zh_TW.Big5.html 0600 root bin 3273 60685 1025499860
1 f none squid/help/edit_icp.ca.html 0600 root bin 1875 39171 1025499860
1 f none squid/help/edit_icp.es.html 0600 root bin 1982 53906 1025499860
1 f none squid/help/edit_icp.html 0600 root bin 1767 27711 1025499860
1 f none squid/help/edit_icp.it.html 0600 root bin 1767 27711 1025499860
1 f none squid/help/edit_icp.pl.html 0600 root bin 2147 13562 1025499860
1 f none squid/help/edit_icp.sv.html 0600 root bin 1942 58290 1025499860
1 f none squid/help/edit_icp.zh_TW.Big5.html 0600 root bin 1215 36493 1025499860
1 f none squid/help/edit_logs.ca.html 0600 root bin 4950 58521 1025499860
1 f none squid/help/edit_logs.es.html 0600 root bin 5359 37455 1025499860
1 f none squid/help/edit_logs.html 0600 root bin 4331 57704 1025499860
1 f none squid/help/edit_logs.it.html 0600 root bin 4331 57704 1025499860
1 f none squid/help/edit_logs.pl.html 0600 root bin 4915 21185 1025499860
1 f none squid/help/edit_logs.sv.html 0600 root bin 4700 61488 1025499860
1 f none squid/help/edit_logs.zh_TW.Big5.html 0600 root bin 2925 23016 1025499860
1 f none squid/help/edit_mem.ca.html 0600 root bin 2893 207 1025499860
1 f none squid/help/edit_mem.es.html 0600 root bin 3011 10689 1025499860
1 f none squid/help/edit_mem.html 0600 root bin 2666 39745 1025499860
1 f none squid/help/edit_mem.it.html 0600 root bin 2666 39745 1025499860
1 f none squid/help/edit_mem.pl.html 0600 root bin 2941 24522 1025499860
1 f none squid/help/edit_mem.sv.html 0600 root bin 2979 31371 1025499860
1 f none squid/help/edit_mem.zh_TW.Big5.html 0600 root bin 1702 42456 1025499860
1 f none squid/help/edit_misc.ca.html 0600 root bin 5307 29759 1025499860
1 f none squid/help/edit_misc.es.html 0600 root bin 5511 51303 1025499860
1 f none squid/help/edit_misc.html 0600 root bin 4875 42352 1025499860
1 f none squid/help/edit_misc.it.html 0600 root bin 4875 42352 1025499860
1 f none squid/help/edit_misc.pl.html 0600 root bin 5615 29372 1025499860
1 f none squid/help/edit_misc.sv.html 0600 root bin 5218 43626 1025499860
1 f none squid/help/edit_misc.zh_TW.Big5.html 0600 root bin 3485 11729 1025499860
1 f none squid/help/edit_ports.ca.html 0600 root bin 1073 29589 1025499860
1 f none squid/help/edit_ports.es.html 0600 root bin 1192 42145 1025499860
1 f none squid/help/edit_ports.html 0600 root bin 1082 29084 1025499860
1 f none squid/help/edit_ports.it.html 0600 root bin 1082 29084 1025499860
1 f none squid/help/edit_ports.pl.html 0600 root bin 1141 43212 1025499860
1 f none squid/help/edit_ports.sv.html 0600 root bin 1153 43373 1025499860
1 f none squid/help/edit_ports.zh_TW.Big5.html 0600 root bin 727 27715 1025499860
1 f none squid/help/edit_progs.ca.html 0600 root bin 3376 46861 1025499860
1 f none squid/help/edit_progs.es.html 0600 root bin 3661 12756 1025499860
1 f none squid/help/edit_progs.html 0600 root bin 3248 31437 1025499860
1 f none squid/help/edit_progs.it.html 0600 root bin 3248 31437 1025499860
1 f none squid/help/edit_progs.pl.html 0600 root bin 3604 26151 1025499860
1 f none squid/help/edit_progs.sv.html 0600 root bin 3462 8384 1025499860
1 f none squid/help/edit_progs.zh_TW.Big5.html 0600 root bin 2103 18323 1025499860
1 f none squid/help/intro.ca.html 0600 root bin 1235 49801 1025499860
1 f none squid/help/intro.es.html 0600 root bin 1569 16644 1025499860
1 f none squid/help/intro.html 0600 root bin 1431 156 1025499860
1 f none squid/help/intro.it.html 0600 root bin 1431 156 1025499860
1 f none squid/help/intro.pl.html 0600 root bin 1603 27219 1025499860
1 f none squid/help/intro.sv.html 0600 root bin 1590 24644 1025499860
1 f none squid/help/intro.zh_TW.Big5.html 0600 root bin 1017 6104 1025499860
1 f none squid/http_access.cgi 0700 root bin 2039 37214 1025499860
1 f none squid/http_access_save.cgi 0700 root bin 1029 20074 1025499860
1 f none squid/icp_access.cgi 0700 root bin 1959 29279 1025499860
1 f none squid/icp_access_save.cgi 0700 root bin 1008 17295 1025499860
1 d none squid/images 0700 root bin
1 f none squid/images/acl.gif 0600 root bin 275 34570 1025499860
1 f none squid/images/admin.gif 0600 root bin 200 23141 1025499860
1 f none squid/images/auth.gif 0600 root bin 390 43396 1025499860
1 f none squid/images/cache.gif 0600 root bin 266 29430 1025499860
1 f none squid/images/cachemgr.gif 0600 root bin 256 29660 1025499860
1 f none squid/images/calamaris.gif 0600 root bin 1069 49684 1025499860
1 f none squid/images/clear.gif 0600 root bin 239 27917 1025499860
1 f none squid/images/down.gif 0600 root bin 108 8892 1025499860
1 f none squid/images/gap.gif 0600 root bin 73 6048 1025499860
1 f none squid/images/icon.gif 0600 root bin 340 38435 1025499860
1 f none squid/images/icp.gif 0600 root bin 259 29070 1025499860
1 f none squid/images/logs.gif 0600 root bin 470 52260 1025499860
1 f none squid/images/mem.gif 0600 root bin 251 28945 1025499860
1 f none squid/images/misc.gif 0600 root bin 460 53918 1025499860
1 f none squid/images/nauth.gif 0600 root bin 390 43396 1025499860
1 f none squid/images/ports.gif 0600 root bin 478 58145 1025499860
1 f none squid/images/progs.gif 0600 root bin 295 36758 1025499860
1 f none squid/images/smem.gif 0600 root bin 251 28945 1025499860
1 f none squid/images/sports.gif 0600 root bin 478 58145 1025499860
1 f none squid/images/up.gif 0600 root bin 103 9086 1025499860
1 f none squid/index.cgi 0700 root bin 5092 61040 1025499860
1 f none squid/init_cache.cgi 0700 root bin 1565 61806 1025499860
1 d none squid/lang 0700 root bin
1 f none squid/lang/ca 0600 root bin 23353 45631 1025499860
1 f none squid/lang/de 0600 root bin 19827 22028 1025499860
1 f none squid/lang/en 0600 root bin 20653 20545 1025499860
1 f none squid/lang/es 0600 root bin 23489 7379 1025499860
1 f none squid/lang/fr 0600 root bin 23153 37252 1025499860
1 f none squid/lang/it 0600 root bin 20338 55280 1025499860
1 f none squid/lang/ja_JP.euc 0600 root bin 20622 41328 1025499860
1 f none squid/lang/ja_JP.jis 0600 root bin 20622 30215 1025499860
1 f none squid/lang/ko_KR.euc 0600 root bin 18482 2484 1025499860
1 f none squid/lang/pl 0600 root bin 23150 41577 1025499860
1 f none squid/lang/ru_RU 0600 root bin 17125 26082 1025499860
1 f none squid/lang/ru_SU 0600 root bin 17163 43828 1025499860
1 f none squid/lang/sv 0600 root bin 21138 31178 1025499860
1 f none squid/lang/tr 0600 root bin 18959 47369 1025499860
1 f none squid/lang/zh_CN 0600 root bin 15007 24151 1025499860
1 f none squid/lang/zh_TW.Big5 0600 root bin 13700 8559 1025499860
1 f none squid/log_parser.pl 0600 root bin 804 2349 1025499860
1 f none squid/low.risk 0600 root bin 11 971 1025499860
1 f none squid/low.skill 0600 root bin 9 771 1025499860
1 f none squid/medium.risk 0600 root bin 11 971 1025499860
1 f none squid/medium.skill 0600 root bin 9 770 1025499860
1 f none squid/module.info 0600 root bin 768 13995 1025499882
1 f none squid/move_always.cgi 0700 root bin 621 53951 1025499860
1 f none squid/move_http.cgi 0700 root bin 598 51554 1025499860
1 f none squid/move_icp.cgi 0700 root bin 587 50102 1025499860
1 f none squid/move_never.cgi 0700 root bin 610 52708 1025499860
1 f none squid/never.cgi 0700 root bin 2009 34777 1025499860
1 f none squid/never_save.cgi 0700 root bin 1019 18494 1025499860
1 f none squid/parser-lib.pl 0600 root bin 3232 57964 1025499860
1 f none squid/restart.cgi 0700 root bin 335 28746 1025499860
1 f none squid/save_admin.cgi 0700 root bin 2266 58362 1025499860
1 f none squid/save_auth.cgi 0700 root bin 1289 40403 1025499860
1 f none squid/save_cache.cgi 0700 root bin 5640 59278 1025499860
1 f none squid/save_cache_host.cgi 0700 root bin 3180 49832 1025499860
1 f none squid/save_icp.cgi 0700 root bin 1056 24811 1025499860
1 f none squid/save_logs.cgi 0700 root bin 1727 13218 1025499860
1 f none squid/save_mem.cgi 0700 root bin 1604 1661 1025499860
1 f none squid/save_misc.cgi 0700 root bin 2267 56697 1025499860
1 f none squid/save_nuser.cgi 0700 root bin 1781 8757 1025499860
1 f none squid/save_ports.cgi 0700 root bin 1884 25521 1025499860
1 f none squid/save_progs.cgi 0700 root bin 2380 3376 1025499860
1 f none squid/save_smem.cgi 0700 root bin 3313 61609 1025499860
1 f none squid/save_sports.cgi 0700 root bin 1609 998 1025499860
1 f none squid/save_user.cgi 0700 root bin 1207 32273 1025499860
1 f none squid/squid-auth.pl 0700 root bin 345 24976 1025499860
1 f none squid/squid-lib.pl 0600 root bin 12254 46873 1025499860
1 f none squid/start.cgi 0700 root bin 992 16228 1025499860
1 f none squid/stop.cgi 0700 root bin 681 55558 1025499860
1 f none squid/useradmin_update.pl 0600 root bin 2912 37169 1025499860
1 d none sshd 0700 root bin
1 f none sshd/apply.cgi 0700 root bin 191 15654 1025499877
1 f none sshd/config 0600 root bin 202 19093 1025499877
1 f none sshd/config-debian-linux-2.2 0600 root bin 234 22088 1025499877
1 f none sshd/config-debian-linux-3.0 0600 root bin 234 22088 1025499877
1 f none sshd/config-macos-1.3 0600 root bin 194 18331 1025499877
1 f none sshd/config-macos-1.4 0600 root bin 194 18331 1025499877
1 f none sshd/config-mandrake-linux-7.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-7.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.0 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-open-linux-3.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.0 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.3 0600 root bin 240 22594 1025499877
1 f none sshd/config-slackware-linux-8.0 0600 root bin 236 22224 1025499877
1 f none sshd/config-slackware-linux-8.1 0600 root bin 236 22224 1025499877
1 f none sshd/config-suse-linux-7.1 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-7.2 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-7.3 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-8.0 0600 root bin 235 22188 1025499877
1 f none sshd/config-turbo-linux-7.0 0600 root bin 240 22594 1025499877
1 f none sshd/config.info 0600 root bin 268 24579 1025499877
1 f none sshd/config.info.ca 0600 root bin 338 32306 1025499877
1 f none sshd/config.info.de 0600 root bin 311 29217 1025499877
1 f none sshd/config.info.pl 0600 root bin 305 29771 1025499877
1 f none sshd/edit_access.cgi 0700 root bin 3650 36403 1025499877
1 f none sshd/edit_host.cgi 0700 root bin 10640 10978 1025499877
1 f none sshd/edit_misc.cgi 0700 root bin 5772 2177 1025499877
1 f none sshd/edit_net.cgi 0700 root bin 4340 19651 1025499877
1 f none sshd/edit_sync.cgi 0700 root bin 906 11336 1025499877
1 f none sshd/edit_users.cgi 0700 root bin 9126 19973 1025499877
1 d none sshd/help 0700 root bin
1 f none sshd/help/access.ca.html 0600 root bin 800 7245 1025499877
1 f none sshd/help/access.html 0600 root bin 772 3983 1025499877
1 f none sshd/help/access.pl.html 0600 root bin 878 19790 1025499877
1 f none sshd/help/chost.ca.html 0600 root bin 68 5776 1025499877
1 f none sshd/help/chost.html 0600 root bin 59 5077 1025499877
1 f none sshd/help/chost.pl.html 0600 root bin 62 5527 1025499877
1 f none sshd/help/ehost.ca.html 0600 root bin 66 5577 1025499877
1 f none sshd/help/ehost.html 0600 root bin 57 4871 1025499877
1 f none sshd/help/ehost.pl.html 0600 root bin 61 5374 1025499877
1 f none sshd/help/host.ca.html 0600 root bin 1606 7539 1025499877
1 f none sshd/help/host.html 0600 root bin 1403 58013 1025499877
1 f none sshd/help/host.pl.html 0600 root bin 1527 13453 1025499877
1 f none sshd/help/hosts.ca.html 0600 root bin 693 63833 1025499877
1 f none sshd/help/hosts.html 0600 root bin 595 54720 1025499877
1 f none sshd/help/hosts.pl.html 0600 root bin 595 54720 1025499877
1 f none sshd/help/intro.ca.html 0600 root bin 1098 37384 1025499877
1 f none sshd/help/intro.html 0600 root bin 996 26072 1025499877
1 f none sshd/help/intro.pl.html 0600 root bin 1108 44074 1025499877
1 f none sshd/help/misc.ca.html 0600 root bin 1070 28506 1025499877
1 f none sshd/help/misc.html 0600 root bin 915 15390 1025499877
1 f none sshd/help/misc.pl.html 0600 root bin 1031 33375 1025499877
1 f none sshd/help/net.ca.html 0600 root bin 887 11607 1025499877
1 f none sshd/help/net.html 0600 root bin 802 5002 1025499877
1 f none sshd/help/net.pl.html 0600 root bin 864 15637 1025499877
1 f none sshd/help/users.ca.html 0600 root bin 1125 33828 1025499877
1 f none sshd/help/users.html 0600 root bin 1011 23043 1025499877
1 f none sshd/help/users.pl.html 0600 root bin 1223 51187 1025499877
1 d none sshd/images 0700 root bin
1 f none sshd/images/access.gif 0600 root bin 275 34570 1025499877
1 f none sshd/images/host.gif 0600 root bin 256 29904 1025499877
1 f none sshd/images/hosts.gif 0600 root bin 251 29940 1025499877
1 f none sshd/images/icon.gif 0600 root bin 275 33384 1025499877
1 f none sshd/images/misc.gif 0600 root bin 460 53918 1025499877
1 f none sshd/images/net.gif 0600 root bin 478 58145 1025499877
1 f none sshd/images/sync.gif 0600 root bin 200 23141 1025499877
1 f none sshd/images/users.gif 0600 root bin 390 43396 1025499877
1 f none sshd/index.cgi 0700 root bin 3334 9280 1025499877
1 d none sshd/lang 0700 root bin
1 f none sshd/lang/ca 0600 root bin 8530 33401 1025499877
1 f none sshd/lang/de 0600 root bin 8539 26626 1025499877
1 f none sshd/lang/en 0600 root bin 7309 38534 1025499877
1 f none sshd/lang/it 0600 root bin 7292 36973 1025499877
1 f none sshd/lang/pl 0600 root bin 7948 5399 1025499877
1 f none sshd/list_hosts.cgi 0700 root bin 782 63831 1025499877
1 f none sshd/log_parser.pl 0600 root bin 527 44077 1025499877
1 f none sshd/module.info 0600 root bin 111 9655 1025499882
1 f none sshd/save_access.cgi 0700 root bin 1632 5155 1025499877
1 f none sshd/save_host.cgi 0700 root bin 4507 30185 1025499877
1 f none sshd/save_misc.cgi 0700 root bin 2477 4169 1025499877
1 f none sshd/save_net.cgi 0700 root bin 1817 18669 1025499877
1 f none sshd/save_sync.cgi 0700 root bin 463 41043 1025499877
1 f none sshd/save_users.cgi 0700 root bin 2669 22851 1025499877
1 f none sshd/sshd-lib.pl 0600 root bin 3869 28941 1025499877
1 f none sshd/start.cgi 0700 root bin 398 32480 1025499877
1 f none sshd/useradmin_update.pl 0600 root bin 873 6261 1025499877
1 d none status 0700 root bin
1 f none status/acl_security.pl 0600 root bin 847 5743 1025499870
1 f none status/apache-monitor.pl 0600 root bin 858 3259 1025499870
1 f none status/bind8-monitor.pl 0600 root bin 1071 18917 1025499870
1 f none status/cfengine-monitor.pl 0600 root bin 420 34905 1025499870
1 f none status/change-monitor.pl 0600 root bin 733 59397 1025499870
1 f none status/config 0600 root bin 27 2518 1025499870
1 f none status/config-corel-linux 0600 root bin 46 4109 1025499870
1 f none status/config-debian-linux 0600 root bin 61 5555 1025499870
1 f none status/config-freebsd 0600 root bin 46 4109 1025499870
1 f none status/config-generic-linux 0600 root bin 61 5555 1025499870
1 f none status/config-hpux 0600 root bin 41 3852 1025499870
1 f none status/config-mandrake-linux 0600 root bin 61 5555 1025499870
1 f none status/config-msc-linux 0600 root bin 61 5555 1025499870
1 f none status/config-netbsd 0600 root bin 46 4109 1025499870
1 f none status/config-open-linux 0600 root bin 61 5555 1025499870
1 f none status/config-redhat-linux 0600 root bin 61 5555 1025499870
1 f none status/config-slackware-linux 0600 root bin 61 5555 1025499870
1 f none status/config-solaris 0600 root bin 41 3852 1025499870
1 f none status/config-suse-linux 0600 root bin 61 5555 1025499870
1 f none status/config-turbo-linux 0600 root bin 61 5555 1025499870
1 f none status/config.info 0600 root bin 309 28270 1025499870
1 f none status/config.info.ca 0600 root bin 278 25686 1025499870
1 f none status/config.info.de 0600 root bin 191 17989 1025499870
1 f none status/config.info.es 0600 root bin 146 13666 1025499870
1 f none status/config.info.nl 0600 root bin 125 11474 1025499870
1 f none status/config.info.pl 0600 root bin 146 14019 1025499870
1 f none status/config.info.sv 0600 root bin 147 13924 1025499870
1 f none status/config.info.zh_CN 0600 root bin 125 11474 1025499870
1 f none status/defaultacl 0600 root bin 15 1181 1025499870
1 f none status/dhcpd-monitor.pl 0600 root bin 580 46241 1025499870
1 f none status/dnsadmin-monitor.pl 0600 root bin 612 49367 1025499870
1 f none status/edit_mon.cgi 0700 root bin 3769 43215 1025499870
1 f none status/edit_sched.cgi 0700 root bin 4144 18115 1025499870
1 f none status/exec-monitor.pl 0600 root bin 436 36194 1025499870
1 f none status/feedback_files.pl 0600 root bin 175 14235 1025499870
1 f none status/file-monitor.pl 0600 root bin 1624 64120 1025499870
1 f none status/hostsentry-monitor.pl 0600 root bin 467 40086 1025499870
1 f none status/http-monitor.pl 0600 root bin 3140 44164 1025499870
1 d none status/images 0700 root bin
1 f none status/images/down.gif 0600 root bin 91 7953 1025499870
1 f none status/images/icon.gif 0600 root bin 2075 21934 1025499870
1 f none status/images/not.gif 0600 root bin 87 6388 1025499870
1 f none status/images/quest.gif 0600 root bin 79 6114 1025499870
1 f none status/images/up.gif 0600 root bin 86 7526 1025499870
1 f none status/index.cgi 0700 root bin 2990 40712 1025499870
1 f none status/inetd-monitor.pl 0600 root bin 347 28938 1025499870
1 f none status/jabber-monitor.pl 0600 root bin 602 48991 1025499870
1 d none status/lang 0700 root bin
1 f none status/lang/ca 0600 root bin 5946 44630 1025499870
1 f none status/lang/de 0600 root bin 6069 50939 1025499870
1 f none status/lang/en 0600 root bin 5861 29626 1025499870
1 f none status/lang/es 0600 root bin 4804 3301 1025499870
1 f none status/lang/fr 0600 root bin 5818 41538 1025499870
1 f none status/lang/ja_JP.euc 0600 root bin 3550 54296 1025499870
1 f none status/lang/ko_KR.euc 0600 root bin 3158 45002 1025499870
1 f none status/lang/nl 0600 root bin 2958 18865 1025499870
1 f none status/lang/pl 0600 root bin 5623 31636 1025499870
1 f none status/lang/sv 0600 root bin 3185 51207 1025499870
1 f none status/lang/zh_CN 0600 root bin 2080 21635 1025499870
1 f none status/load-monitor.pl 0600 root bin 1253 34389 1025499870
1 f none status/log_parser.pl 0600 root bin 373 32306 1025499870
1 f none status/module.info 0600 root bin 427 45869 1025499882
1 f none status/mon-monitor.pl 0600 root bin 427 34425 1025499870
1 f none status/monitor.pl 0700 root bin 4341 21277 1025499870
1 f none status/mysql-monitor.pl 0600 root bin 394 33304 1025499870
1 f none status/nfs-monitor.pl 0600 root bin 342 28754 1025499870
1 f none status/ping-monitor.pl 0600 root bin 1248 35988 1025499870
1 f none status/portsentry-monitor.pl 0600 root bin 481 41610 1025499870
1 f none status/postfix-monitor.pl 0600 root bin 453 38810 1025499870
1 f none status/postgresql-monitor.pl 0600 root bin 429 37017 1025499870
1 f none status/proc-monitor.pl 0600 root bin 589 48034 1025499870
1 f none status/qmailadmin-monitor.pl 0600 root bin 431 36064 1025499870
1 f none status/samba-monitor.pl 0600 root bin 398 33356 1025499870
1 f none status/save_mon.cgi 0700 root bin 1967 26010 1025499870
1 f none status/save_sched.cgi 0700 root bin 3414 17563 1025499870
1 f none status/sendmail-monitor.pl 0600 root bin 611 49934 1025499870
1 d none status/services 0700 root bin
1 f none status/services/apache.serv 0600 root bin 69 6341 1025499870
1 f none status/services/bind8.serv 0600 root bin 55 4709 1025499870
1 f none status/services/dhcpd.serv 0600 root bin 51 4588 1025499870
1 f none status/services/dnsadmin.serv 0600 root bin 66 5924 1025499870
1 f none status/services/inetd.serv 0600 root bin 68 6261 1025499870
1 f none status/services/mysql.serv 0600 root bin 61 5713 1025499870
1 f none status/services/nfs.serv 0600 root bin 45 4077 1025499870
1 f none status/services/postfix.serv 0600 root bin 60 5848 1025499870
1 f none status/services/postgresql.serv 0600 root bin 91 8740 1025499870
1 f none status/services/qmailadmin.serv 0600 root bin 67 6383 1025499870
1 f none status/services/samba.serv 0600 root bin 53 4903 1025499870
1 f none status/services/sendmail.serv 0600 root bin 64 6104 1025499870
1 f none status/services/squid.serv 0600 root bin 58 5502 1025499870
1 f none status/services/xinetd.serv 0600 root bin 67 6402 1025499870
1 f none status/space-monitor.pl 0600 root bin 1533 55169 1025499870
1 f none status/squid-monitor.pl 0600 root bin 826 409 1025499870
1 f none status/status-lib.pl 0600 root bin 3663 39446 1025499870
1 f none status/tcp-monitor.pl 0600 root bin 1535 60353 1025499870
1 f none status/traffic-monitor.pl 0600 root bin 2353 53505 1025499870
1 f none status/uninstall.pl 0600 root bin 449 36810 1025499870
1 f none status/usermin-monitor.pl 0600 root bin 496 41374 1025499870
1 f none status/webmin-monitor.pl 0600 root bin 356 29447 1025499870
1 f none status/xinetd-monitor.pl 0600 root bin 476 38213 1025499870
1 d none stunnel 0700 root bin
1 f none stunnel/apply.cgi 0700 root bin 434 34842 1025499880
1 f none stunnel/config 0600 root bin 37 3634 1025499880
1 f none stunnel/config-gentoo-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config-mandrake-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config-redhat-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config.info 0600 root bin 91 8419 1025499880
1 f none stunnel/config.info.ca 0600 root bin 120 11047 1025499880
1 f none stunnel/edit_stunnel.cgi 0700 root bin 5997 22059 1025499880
1 f none stunnel/feedback_files.pl 0600 root bin 205 17526 1025499880
1 d none stunnel/help 0700 root bin
1 d none stunnel/images 0700 root bin
1 f none stunnel/images/icon.gif 0600 root bin 1332 44465 1025499880
1 f none stunnel/images/tunnel.jpg 0600 root bin 9954 7331 1025499880
1 f none stunnel/index.cgi 0700 root bin 2918 30441 1025499880
1 d none stunnel/lang 0700 root bin
1 f none stunnel/lang/ca 0600 root bin 2894 11132 1025499880
1 f none stunnel/lang/en 0600 root bin 2663 51266 1025499880
1 f none stunnel/log_parser.pl 0600 root bin 453 39056 1025499880
1 f none stunnel/module.info 0600 root bin 94 8403 1025499882
1 f none stunnel/save_stunnel.cgi 0700 root bin 2415 55451 1025499880
1 f none stunnel/stunnel-lib.pl 0600 root bin 8512 550 1025499880
1 f none switch_skill.cgi 0700 root bin 278 24051 1025499832
1 f none switch_user.cgi 0700 root bin 355 29048 1025499831
1 d none syslog 0700 root bin
1 f none syslog/config-aix 0600 root bin 282 25366 1025499867
1 f none syslog/config-cobalt-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-corel-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-debian-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-freebsd 0600 root bin 295 26801 1025499867
1 f none syslog/config-generic-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-gentoo-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-hpux 0600 root bin 262 23689 1025499867
1 f none syslog/config-irix 0600 root bin 251 22488 1025499867
1 f none syslog/config-macos 0600 root bin 312 28527 1025499867
1 f none syslog/config-mandrake-linux 0600 root bin 551 51394 1025499867
1 f none syslog/config-msc-linux 0600 root bin 555 51787 1025499867
1 f none syslog/config-netbsd 0600 root bin 266 24057 1025499867
1 f none syslog/config-open-linux 0600 root bin 509 47283 1025499867
1 f none syslog/config-openbsd 0600 root bin 295 26803 1025499867
1 f none syslog/config-openserver 0600 root bin 269 24385 1025499867
1 f none syslog/config-redhat-linux 0600 root bin 551 51394 1025499867
1 f none syslog/config-slackware-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-solaris 0600 root bin 381 34919 1025499867
1 f none syslog/config-suse-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-suse-linux-7.2 0600 root bin 284 25776 1025499867
1 f none syslog/config-suse-linux-7.3 0600 root bin 284 25776 1025499867
1 f none syslog/config-suse-linux-8.0 0600 root bin 284 25776 1025499867
1 f none syslog/config-turbo-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-unixware 0600 root bin 282 25366 1025499867
1 f none syslog/config.info 0600 root bin 568 50673 1025499867
1 f none syslog/config.info.ca 0600 root bin 641 58168 1025499867
1 f none syslog/config.info.de 0600 root bin 669 60816 1025499867
1 f none syslog/config.info.es 0600 root bin 690 63692 1025499867
1 f none syslog/config.info.fr 0600 root bin 645 58468 1025499867
1 f none syslog/config.info.hu 0600 root bin 814 16712 1025499867
1 f none syslog/config.info.pl 0600 root bin 663 62524 1025499867
1 f none syslog/config.info.ru_RU 0600 root bin 646 40824 1025499867
1 f none syslog/config.info.ru_SU 0600 root bin 646 30957 1025499867
1 f none syslog/config.info.sv 0600 root bin 591 55564 1025499867
1 f none syslog/config.info.tr 0600 root bin 675 3133 1025499867
1 f none syslog/config.info.zh_CN 0600 root bin 440 61912 1025499867
1 f none syslog/config.info.zh_TW.Big5 0600 root bin 478 60935 1025499867
1 f none syslog/edit_log.cgi 0700 root bin 6792 6081 1025499867
1 d none syslog/images 0700 root bin
1 f none syslog/images/icon.gif 0600 root bin 470 52260 1025499867
1 f none syslog/index.cgi 0700 root bin 5020 55269 1025499867
1 d none syslog/lang 0700 root bin
1 f none syslog/lang/ca 0600 root bin 2921 12231 1025499867
1 f none syslog/lang/de 0600 root bin 3522 60556 1025499867
1 f none syslog/lang/en 0600 root bin 2358 21655 1025499867
1 f none syslog/lang/es 0600 root bin 2917 13561 1025499867
1 f none syslog/lang/fr 0600 root bin 2381 24262 1025499867
1 f none syslog/lang/hu 0600 root bin 2647 9762 1025499867
1 f none syslog/lang/ja_JP.euc 0600 root bin 2541 35699 1025499867
1 f none syslog/lang/ko_KR.euc 0600 root bin 2375 1134 1025499867
1 f none syslog/lang/pl 0600 root bin 2695 356 1025499867
1 f none syslog/lang/ru_RU 0600 root bin 2362 65032 1025499867
1 f none syslog/lang/ru_SU 0600 root bin 2367 29686 1025499867
1 f none syslog/lang/sv 0600 root bin 2625 55470 1025499867
1 f none syslog/lang/tr 0600 root bin 2360 47368 1025499867
1 f none syslog/lang/zh_CN 0600 root bin 1948 15013 1025499867
1 f none syslog/lang/zh_TW.Big5 0600 root bin 1722 23633 1025499867
1 f none syslog/log_parser.pl 0600 root bin 662 56097 1025499867
1 f none syslog/low.risk 0600 root bin 20 1734 1025499867
1 f none syslog/low.skill 0600 root bin 8 660 1025499867
1 f none syslog/m4.cgi 0700 root bin 768 60051 1025499867
1 f none syslog/medium.risk 0600 root bin 11 971 1025499867
1 f none syslog/module.info 0600 root bin 721 10874 1025499882
1 f none syslog/restart.cgi 0700 root bin 330 27314 1025499867
1 f none syslog/save_log.cgi 0700 root bin 3273 56691 1025499867
1 f none syslog/start.cgi 0700 root bin 178 14818 1025499867
1 f none syslog/syslog-lib.pl 0600 root bin 3293 41307 1025499867
1 d none telnet 0700 root bin
1 f none telnet/config 0600 root bin 37 3142 1025499864
1 f none telnet/config-macos-1.3 0600 root bin 37 3143 1025499864
1 f none telnet/config-macos-1.4 0600 root bin 37 3143 1025499864
1 f none telnet/config-open-linux-3.1e 0600 root bin 37 3143 1025499864
1 f none telnet/config.info 0600 root bin 402 35862 1025499864
1 f none telnet/config.info.ca 0600 root bin 354 32371 1025499864
1 f none telnet/config.info.de 0600 root bin 372 33477 1025499864
1 f none telnet/config.info.es 0600 root bin 226 20873 1025499864
1 f none telnet/config.info.fr 0600 root bin 73 7167 1025499864
1 f none telnet/config.info.pl 0600 root bin 286 27019 1025499864
1 f none telnet/config.info.ru_RU 0600 root bin 83 14703 1025499864
1 f none telnet/config.info.ru_SU 0600 root bin 83 13139 1025499864
1 f none telnet/config.info.sv 0600 root bin 180 16767 1025499864
1 f none telnet/config.info.tr 0600 root bin 62 6423 1025499864
1 f none telnet/config.info.zh_CN 0600 root bin 104 14152 1025499864
1 f none telnet/config.info.zh_TW.Big5 0600 root bin 51 6911 1025499864
1 d none telnet/images 0700 root bin
1 f none telnet/images/icon.gif 0600 root bin 235 29270 1025499864
1 f none telnet/index.cgi 0700 root bin 2410 59363 1025499864
1 f none telnet/jta20.jar 0600 root bin 212305 45345 1025499864
1 d none telnet/lang 0700 root bin
1 f none telnet/lang/ca 0600 root bin 491 45631 1025499864
1 f none telnet/lang/cz 0600 root bin 342 31331 1025499864
1 f none telnet/lang/de 0600 root bin 1024 16988 1025499864
1 f none telnet/lang/en 0600 root bin 532 48426 1025499864
1 f none telnet/lang/es 0600 root bin 459 42503 1025499864
1 f none telnet/lang/fr 0600 root bin 307 28615 1025499864
1 f none telnet/lang/it 0600 root bin 288 26411 1025499864
1 f none telnet/lang/ja_JP.euc 0600 root bin 523 4642 1025499864
1 f none telnet/lang/ko_KR.euc 0600 root bin 463 63215 1025499864
1 f none telnet/lang/pl 0600 root bin 499 46740 1025499864
1 f none telnet/lang/pt 0600 root bin 299 27900 1025499864
1 f none telnet/lang/ru_RU 0600 root bin 328 49869 1025499864
1 f none telnet/lang/ru_SU 0600 root bin 328 45569 1025499864
1 f none telnet/lang/sv 0600 root bin 470 43568 1025499864
1 f none telnet/lang/tr 0600 root bin 492 49391 1025499864
1 f none telnet/lang/zh_CN 0600 root bin 379 48525 1025499864
1 f none telnet/lang/zh_TW.Big5 0600 root bin 250 27064 1025499864
1 f none telnet/module.info 0600 root bin 524 51136 1025499882
1 f none telnet/ssh.conf 0600 root bin 1716 11517 1025499864
1 f none telnet/telnet.conf 0600 root bin 2876 26700 1025499864
1 f none thirdparty.pl 0600 root bin 1770 7116 1025499831
1 d none time 0700 root bin
1 f none time/acl_security.pl 0600 root bin 783 58232 1025499866
1 f none time/apply.cgi 0700 root bin 3779 31365 1025499865
1 f none time/config 0600 root bin 116 10888 1025499866
1 f none time/config-freebsd 0600 root bin 27 2291 1025499866
1 f none time/config-hpux 0600 root bin 27 2289 1025499866
1 f none time/config-macos 0600 root bin 116 10888 1025499866
1 f none time/config-netbsd 0600 root bin 27 2291 1025499866
1 f none time/config-openserver 0600 root bin 27 2289 1025499866
1 f none time/config-solaris 0600 root bin 116 10887 1025499866
1 f none time/config.info 0600 root bin 360 32594 1025499866
1 f none time/config.info.ca 0600 root bin 427 38435 1025499866
1 f none time/config.info.cz 0600 root bin 82 8499 1025499866
1 f none time/config.info.de 0600 root bin 397 35700 1025499865
1 f none time/config.info.es 0600 root bin 423 38747 1025499866
1 f none time/config.info.fr 0600 root bin 82 7904 1025499866
1 f none time/config.info.ja_JP.euc 0600 root bin 334 49184 1025499866
1 f none time/config.info.pl 0600 root bin 414 39118 1025499866
1 f none time/config.info.ru_RU 0600 root bin 87 17358 1025499866
1 f none time/config.info.ru_SU 0600 root bin 87 15327 1025499865
1 f none time/config.info.sv 0600 root bin 303 29399 1025499865
1 f none time/config.info.tr 0600 root bin 122 12427 1025499866
1 f none time/config.info.zh_CN 0600 root bin 144 22508 1025499865
1 f none time/config.info.zh_TW.Big5 0600 root bin 45 7274 1025499866
1 f none time/defaultacl 0600 root bin 30 2610 1025499866
1 d none time/help 0700 root bin
1 f none time/help/hardware_time.ca.html 0600 root bin 64 5633 1025499865
1 f none time/help/hardware_time.de.html 0600 root bin 67 5789 1025499865
1 f none time/help/hardware_time.es.html 0600 root bin 60 5183 1025499865
1 f none time/help/hardware_time.fr.html 0600 root bin 74 7200 1025499865
1 f none time/help/hardware_time.html 0600 root bin 51 4473 1025499865
1 f none time/help/hardware_time.hu.html 0600 root bin 51 5021 1025499865
1 f none time/help/hardware_time.pl.html 0600 root bin 64 6070 1025499865
1 f none time/help/hardware_time.ru_RU.html 0600 root bin 80 13854 1025499865
1 f none time/help/hardware_time.ru_SU.html 0600 root bin 80 12544 1025499865
1 f none time/help/hardware_time.sv.html 0600 root bin 54 5023 1025499865
1 f none time/help/hardware_time.zh_TW.Big5.html 0600 root bin 46 4676 1025499865
1 f none time/help/index.ca.html 0600 root bin 246 22364 1025499865
1 f none time/help/index.de.html 0600 root bin 234 21231 1025499865
1 f none time/help/index.es.html 0600 root bin 246 22261 1025499865
1 f none time/help/index.fr.html 0600 root bin 202 19197 1025499865
1 f none time/help/index.html 0600 root bin 213 19097 1025499865
1 f none time/help/index.hu.html 0600 root bin 240 25296 1025499865
1 f none time/help/index.pl.html 0600 root bin 265 25886 1025499865
1 f none time/help/index.ru_RU.html 0600 root bin 308 58097 1025499865
1 f none time/help/index.ru_SU.html 0600 root bin 308 51404 1025499865
1 f none time/help/index.sv.html 0600 root bin 227 22254 1025499865
1 f none time/help/index.zh_TW.Big5.html 0600 root bin 117 14961 1025499865
1 f none time/help/system_time.ca.html 0600 root bin 58 5003 1025499865
1 f none time/help/system_time.de.html 0600 root bin 57 4936 1025499865
1 f none time/help/system_time.es.html 0600 root bin 59 5165 1025499865
1 f none time/help/system_time.fr.html 0600 root bin 84 8275 1025499865
1 f none time/help/system_time.html 0600 root bin 62 5649 1025499865
1 f none time/help/system_time.hu.html 0600 root bin 60 5883 1025499865
1 f none time/help/system_time.pl.html 0600 root bin 83 7805 1025499865
1 f none time/help/system_time.ru_RU.html 0600 root bin 64 10448 1025499865
1 f none time/help/system_time.ru_SU.html 0600 root bin 64 9539 1025499865
1 f none time/help/system_time.sv.html 0600 root bin 60 5460 1025499865
1 f none time/help/system_time.zh_TW.Big5.html 0600 root bin 41 5176 1025499865
1 f none time/help/timeserver.ca.html 0600 root bin 273 24604 1025499865
1 f none time/help/timeserver.de.html 0600 root bin 276 24507 1025499865
1 f none time/help/timeserver.es.html 0600 root bin 280 25253 1025499865
1 f none time/help/timeserver.fr.html 0600 root bin 251 23871 1025499865
1 f none time/help/timeserver.html 0600 root bin 236 21254 1025499865
1 f none time/help/timeserver.hu.html 0600 root bin 259 26652 1025499865
1 f none time/help/timeserver.pl.html 0600 root bin 286 28117 1025499865
1 f none time/help/timeserver.ru_RU.html 0600 root bin 290 53031 1025499865
1 f none time/help/timeserver.ru_SU.html 0600 root bin 290 47238 1025499865
1 f none time/help/timeserver.sv.html 0600 root bin 211 20223 1025499865
1 f none time/help/timeserver.zh_TW.Big5.html 0600 root bin 178 23279 1025499865
1 d none time/images 0700 root bin
1 f none time/images/icon.gif 0600 root bin 529 63918 1025499866
1 f none time/index.cgi 0700 root bin 6074 64522 1025499866
1 d none time/lang 0700 root bin
1 f none time/lang/ca 0600 root bin 1602 18717 1025499865
1 f none time/lang/cz 0600 root bin 1134 53474 1025499865
1 f none time/lang/de 0600 root bin 2023 49609 1025499865
1 f none time/lang/en 0600 root bin 1337 60216 1025499865
1 f none time/lang/es 0600 root bin 1482 7906 1025499865
1 f none time/lang/fr 0600 root bin 1541 24247 1025499865
1 f none time/lang/hu 0600 root bin 982 39904 1025499865
1 f none time/lang/ja_JP.euc 0600 root bin 1343 4830 1025499865
1 f none time/lang/ja_JP.jis 0600 root bin 1343 31974 1025499865
1 f none time/lang/ko_KR.euc 0600 root bin 1305 56489 1025499865
1 f none time/lang/pl 0600 root bin 1505 19611 1025499865
1 f none time/lang/ru_RU 0600 root bin 913 24465 1025499865
1 f none time/lang/ru_SU 0600 root bin 918 10490 1025499865
1 f none time/lang/sv 0600 root bin 1308 65505 1025499865
1 f none time/lang/tr 0600 root bin 1430 14858 1025499865
1 f none time/lang/zh_CN 0600 root bin 974 8413 1025499865
1 f none time/lang/zh_TW.Big5 0600 root bin 898 45722 1025499865
1 f none time/log_parser.pl 0600 root bin 764 64259 1025499866
1 f none time/module.info 0600 root bin 666 4981 1025499882
1 f none time/time-lib.pl 0700 root bin 1218 23671 1025499866
1 f none time/time.js 0600 root bin 785 57362 1025499866
1 f none time/try.cgi 0700 root bin 185 13029 1025499865
1 f none user_chooser.cgi 0700 root bin 4424 23771 1025499831
1 d none useradmin 0700 root bin
1 f none useradmin/acl_security.pl 0600 root bin 9262 39130 1025499839
1 f none useradmin/aix-lib.pl 0600 root bin 1339 42225 1025499841
1 f none useradmin/batch_exec.cgi 0700 root bin 16294 43930 1025499841
1 f none useradmin/batch_form.cgi 0700 root bin 3026 63476 1025499841
1 f none useradmin/cobalt-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/config-aix 0600 root bin 491 45931 1025499841
1 f none useradmin/config-cobalt-linux 0600 root bin 407 37550 1025499841
1 f none useradmin/config-corel-linux 0600 root bin 362 33211 1025499839
1 f none useradmin/config-debian-linux 0600 root bin 362 33211 1025499840
1 f none useradmin/config-freebsd 0600 root bin 409 37786 1025499839
1 f none useradmin/config-generic-linux 0600 root bin 374 34478 1025499841
1 f none useradmin/config-gentoo-linux 0600 root bin 334 30633 1025499841
1 f none useradmin/config-hpux 0600 root bin 356 32800 1025499839
1 f none useradmin/config-irix 0600 root bin 515 48107 1025499841
1 f none useradmin/config-macos 0600 root bin 341 31311 1025499841
1 f none useradmin/config-mandrake-linux 0600 root bin 379 34830 1025499841
1 f none useradmin/config-msc-linux 0600 root bin 374 34479 1025499841
1 f none useradmin/config-netbsd 0600 root bin 386 35500 1025499841
1 f none useradmin/config-open-linux 0600 root bin 384 35572 1025499839
1 f none useradmin/config-openbsd 0600 root bin 399 36871 1025499839
1 f none useradmin/config-openserver 0600 root bin 618 58048 1025499841
1 f none useradmin/config-osf1 0600 root bin 356 32798 1025499841
1 f none useradmin/config-redhat-linux 0600 root bin 374 34479 1025499841
1 f none useradmin/config-slackware-linux 0600 root bin 360 33123 1025499841
1 f none useradmin/config-solaris 0600 root bin 372 34144 1025499839
1 f none useradmin/config-suse-linux 0600 root bin 374 34478 1025499839
1 f none useradmin/config-turbo-linux 0600 root bin 374 34478 1025499839
1 f none useradmin/config-unixware 0600 root bin 372 34144 1025499841
1 f none useradmin/config.info 0600 root bin 1980 49331 1025499841
1 f none useradmin/config.info.ca 0600 root bin 2211 7434 1025499841
1 f none useradmin/config.info.de 0600 root bin 1135 38863 1025499840
1 f none useradmin/config.info.es 0600 root bin 1632 20779 1025499839
1 f none useradmin/config.info.fr 0600 root bin 1157 43634 1025499841
1 f none useradmin/config.info.ja_JP.euc 0600 root bin 1318 2044 1025499841
1 f none useradmin/config.info.nl 0600 root bin 1704 27045 1025499841
1 f none useradmin/config.info.pl 0600 root bin 1852 49799 1025499841
1 f none useradmin/config.info.pt_BR 0600 root bin 1717 32035 1025499841
1 f none useradmin/config.info.ru_RU 0600 root bin 1026 42201 1025499841
1 f none useradmin/config.info.ru_SU 0600 root bin 1027 25670 1025499839
1 f none useradmin/config.info.sv 0600 root bin 1189 48896 1025499840
1 f none useradmin/config.info.tr 0600 root bin 1080 46790 1025499841
1 f none useradmin/config.info.zh_CN 0600 root bin 820 53304 1025499839
1 f none useradmin/config.info.zh_TW.Big5 0600 root bin 778 35261 1025499839
1 f none useradmin/corel-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/debian-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/defaultacl 0600 root bin 230 19708 1025499839
1 f none useradmin/delete_group.cgi 0700 root bin 1825 18502 1025499839
1 f none useradmin/delete_user.cgi 0700 root bin 4411 22034 1025499841
1 f none useradmin/edit_group.cgi 0700 root bin 3704 44170 1025499841
1 f none useradmin/edit_user.cgi 0700 root bin 17893 61824 1025499839
1 f none useradmin/freebsd-lib.pl 0600 root bin 1261 35095 1025499841
1 f none useradmin/generic-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/gentoo-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 d none useradmin/help 0700 root bin
1 f none useradmin/help.html 0600 root bin 6949 14638 1025499839
1 f none useradmin/help/2nd.ca.html 0600 root bin 260 24098 1025499840
1 f none useradmin/help/2nd.es.html 0600 root bin 285 26532 1025499840
1 f none useradmin/help/2nd.fr.html 0600 root bin 306 28813 1025499840
1 f none useradmin/help/2nd.html 0600 root bin 255 23348 1025499840
1 f none useradmin/help/2nd.nl.html 0600 root bin 274 24857 1025499840
1 f none useradmin/help/2nd.pl.html 0600 root bin 297 29708 1025499840
1 f none useradmin/help/2nd.ru_RU.html 0600 root bin 310 60392 1025499840
1 f none useradmin/help/2nd.ru_SU.html 0600 root bin 310 53224 1025499840
1 f none useradmin/help/2nd.sv.html 0600 root bin 250 24942 1025499840
1 f none useradmin/help/2nd.zh_TW.Big5.html 0600 root bin 133 20331 1025499840
1 f none useradmin/help/ask.ca.html 0600 root bin 215 20205 1025499841
1 f none useradmin/help/ask.html 0600 root bin 181 16109 1025499840
1 f none useradmin/help/change.ca.html 0600 root bin 179 16017 1025499840
1 f none useradmin/help/change.es.html 0600 root bin 179 15883 1025499840
1 f none useradmin/help/change.fr.html 0600 root bin 172 15841 1025499840
1 f none useradmin/help/change.html 0600 root bin 152 13713 1025499840
1 f none useradmin/help/change.nl.html 0600 root bin 193 17264 1025499840
1 f none useradmin/help/change.pl.html 0600 root bin 130 12198 1025499840
1 f none useradmin/help/change.ru_RU.html 0600 root bin 143 23651 1025499840
1 f none useradmin/help/change.ru_SU.html 0600 root bin 143 21215 1025499840
1 f none useradmin/help/change.sv.html 0600 root bin 133 13001 1025499840
1 f none useradmin/help/change.zh_TW.Big5.html 0600 root bin 108 13845 1025499840
1 f none useradmin/help/change2.ca.html 0600 root bin 250 22949 1025499840
1 f none useradmin/help/change2.es.html 0600 root bin 241 21507 1025499840
1 f none useradmin/help/change2.fr.html 0600 root bin 274 25258 1025499840
1 f none useradmin/help/change2.html 0600 root bin 210 18765 1025499840
1 f none useradmin/help/change2.nl.html 0600 root bin 248 22272 1025499840
1 f none useradmin/help/change2.pl.html 0600 root bin 221 21677 1025499840
1 f none useradmin/help/change2.ru_RU.html 0600 root bin 206 38447 1025499840
1 f none useradmin/help/change2.ru_SU.html 0600 root bin 206 33948 1025499840
1 f none useradmin/help/change2.sv.html 0600 root bin 201 20120 1025499840
1 f none useradmin/help/change2.zh_TW.Big5.html 0600 root bin 136 19986 1025499840
1 f none useradmin/help/chgid.ca.html 0600 root bin 505 46216 1025499840
1 f none useradmin/help/chgid.es.html 0600 root bin 596 55259 1025499840
1 f none useradmin/help/chgid.fr.html 0600 root bin 566 54315 1025499840
1 f none useradmin/help/chgid.html 0600 root bin 476 42541 1025499840
1 f none useradmin/help/chgid.nl.html 0600 root bin 555 49010 1025499840
1 f none useradmin/help/chgid.pl.html 0600 root bin 571 56463 1025499840
1 f none useradmin/help/chgid.ru_RU.html 0600 root bin 536 35778 1025499840
1 f none useradmin/help/chgid.ru_SU.html 0600 root bin 536 24067 1025499840
1 f none useradmin/help/chgid.sv.html 0600 root bin 426 40374 1025499840
1 f none useradmin/help/chgid.zh_TW.Big5.html 0600 root bin 325 50498 1025499840
1 f none useradmin/help/chuid.ca.html 0600 root bin 494 45136 1025499840
1 f none useradmin/help/chuid.es.html 0600 root bin 596 55141 1025499840
1 f none useradmin/help/chuid.fr.html 0600 root bin 602 57388 1025499840
1 f none useradmin/help/chuid.html 0600 root bin 465 41366 1025499840
1 f none useradmin/help/chuid.nl.html 0600 root bin 590 52220 1025499840
1 f none useradmin/help/chuid.pl.html 0600 root bin 568 56199 1025499840
1 f none useradmin/help/chuid.ru_RU.html 0600 root bin 511 30604 1025499840
1 f none useradmin/help/chuid.ru_SU.html 0600 root bin 511 19383 1025499840
1 f none useradmin/help/chuid.sv.html 0600 root bin 427 40753 1025499840
1 f none useradmin/help/chuid.zh_TW.Big5.html 0600 root bin 329 51741 1025499840
1 f none useradmin/help/class.ca.html 0600 root bin 237 21134 1025499840
1 f none useradmin/help/class.es.html 0600 root bin 250 22416 1025499840
1 f none useradmin/help/class.fr.html 0600 root bin 290 26365 1025499840
1 f none useradmin/help/class.html 0600 root bin 218 19318 1025499840
1 f none useradmin/help/class.nl.html 0600 root bin 253 22372 1025499840
1 f none useradmin/help/class.pl.html 0600 root bin 257 24598 1025499840
1 f none useradmin/help/class.ru_RU.html 0600 root bin 250 41896 1025499840
1 f none useradmin/help/class.ru_SU.html 0600 root bin 250 37392 1025499840
1 f none useradmin/help/class.sv.html 0600 root bin 234 22409 1025499840
1 f none useradmin/help/class.zh_TW.Big5.html 0600 root bin 167 21066 1025499840
1 f none useradmin/help/copy_files.ca.html 0600 root bin 460 42011 1025499840
1 f none useradmin/help/copy_files.es.html 0600 root bin 472 43718 1025499840
1 f none useradmin/help/copy_files.fr.html 0600 root bin 444 41504 1025499840
1 f none useradmin/help/copy_files.html 0600 root bin 423 37809 1025499840
1 f none useradmin/help/copy_files.nl.html 0600 root bin 503 44552 1025499840
1 f none useradmin/help/copy_files.pl.html 0600 root bin 502 47955 1025499840
1 f none useradmin/help/copy_files.ru_RU.html 0600 root bin 451 12531 1025499840
1 f none useradmin/help/copy_files.ru_SU.html 0600 root bin 451 3910 1025499840
1 f none useradmin/help/copy_files.sv.html 0600 root bin 398 37847 1025499840
1 f none useradmin/help/copy_files.zh_TW.Big5.html 0600 root bin 311 41531 1025499840
1 f none useradmin/help/create_group.ca.html 0600 root bin 177 16115 1025499840
1 f none useradmin/help/create_group.es.html 0600 root bin 215 19669 1025499840
1 f none useradmin/help/create_group.fr.html 0600 root bin 200 18785 1025499840
1 f none useradmin/help/create_group.html 0600 root bin 184 16453 1025499840
1 f none useradmin/help/create_group.nl.html 0600 root bin 209 18682 1025499840
1 f none useradmin/help/create_group.pl.html 0600 root bin 165 16496 1025499840
1 f none useradmin/help/create_group.ru_RU.html 0600 root bin 190 35357 1025499840
1 f none useradmin/help/create_group.ru_SU.html 0600 root bin 190 31494 1025499840
1 f none useradmin/help/create_group.sv.html 0600 root bin 190 18218 1025499840
1 f none useradmin/help/create_group.zh_TW.Big5.html 0600 root bin 132 19440 1025499840
1 f none useradmin/help/create_user.ca.html 0600 root bin 111 10006 1025499840
1 f none useradmin/help/create_user.es.html 0600 root bin 112 10147 1025499840
1 f none useradmin/help/create_user.fr.html 0600 root bin 124 11504 1025499840
1 f none useradmin/help/create_user.html 0600 root bin 98 8578 1025499840
1 f none useradmin/help/create_user.nl.html 0600 root bin 107 9489 1025499840
1 f none useradmin/help/create_user.pl.html 0600 root bin 110 10810 1025499840
1 f none useradmin/help/create_user.ru_RU.html 0600 root bin 106 18610 1025499840
1 f none useradmin/help/create_user.ru_SU.html 0600 root bin 106 16783 1025499840
1 f none useradmin/help/create_user.sv.html 0600 root bin 115 10932 1025499840
1 f none useradmin/help/create_user.zh_TW.Big5.html 0600 root bin 142 21516 1025499840
1 f none useradmin/help/edit_group.ca.html 0600 root bin 160 14503 1025499840
1 f none useradmin/help/edit_group.es.html 0600 root bin 197 18075 1025499840
1 f none useradmin/help/edit_group.fr.html 0600 root bin 201 18548 1025499840
1 f none useradmin/help/edit_group.html 0600 root bin 175 15573 1025499840
1 f none useradmin/help/edit_group.nl.html 0600 root bin 185 16770 1025499840
1 f none useradmin/help/edit_group.pl.html 0600 root bin 168 16461 1025499840
1 f none useradmin/help/edit_group.ru_RU.html 0600 root bin 173 32122 1025499840
1 f none useradmin/help/edit_group.ru_SU.html 0600 root bin 173 28633 1025499840
1 f none useradmin/help/edit_group.sv.html 0600 root bin 144 13507 1025499840
1 f none useradmin/help/edit_group.zh_TW.Big5.html 0600 root bin 124 17752 1025499840
1 f none useradmin/help/edit_user.ca.html 0600 root bin 163 14847 1025499840
1 f none useradmin/help/edit_user.es.html 0600 root bin 203 18732 1025499840
1 f none useradmin/help/edit_user.fr.html 0600 root bin 209 20022 1025499840
1 f none useradmin/help/edit_user.html 0600 root bin 177 15805 1025499840
1 f none useradmin/help/edit_user.nl.html 0600 root bin 197 18027 1025499840
1 f none useradmin/help/edit_user.pl.html 0600 root bin 189 18842 1025499840
1 f none useradmin/help/edit_user.ru_RU.html 0600 root bin 220 42787 1025499840
1 f none useradmin/help/edit_user.ru_SU.html 0600 root bin 220 37880 1025499840
1 f none useradmin/help/edit_user.sv.html 0600 root bin 160 15515 1025499840
1 f none useradmin/help/edit_user.zh_TW.Big5.html 0600 root bin 130 19042 1025499840
1 f none useradmin/help/expire.ca.html 0600 root bin 134 12034 1025499840
1 f none useradmin/help/expire.es.html 0600 root bin 146 13097 1025499840
1 f none useradmin/help/expire.fr.html 0600 root bin 148 13633 1025499840
1 f none useradmin/help/expire.html 0600 root bin 152 13555 1025499840
1 f none useradmin/help/expire.nl.html 0600 root bin 177 16071 1025499840
1 f none useradmin/help/expire.pl.html 0600 root bin 142 13931 1025499840
1 f none useradmin/help/expire.ru_RU.html 0600 root bin 181 34573 1025499840
1 f none useradmin/help/expire.ru_SU.html 0600 root bin 181 30581 1025499840
1 f none useradmin/help/expire.sv.html 0600 root bin 143 14034 1025499840
1 f none useradmin/help/expire.zh_TW.Big5.html 0600 root bin 101 14269 1025499840
1 f none useradmin/help/expire2.ca.html 0600 root bin 187 16794 1025499840
1 f none useradmin/help/expire2.es.html 0600 root bin 180 16155 1025499840
1 f none useradmin/help/expire2.fr.html 0600 root bin 196 17919 1025499840
1 f none useradmin/help/expire2.html 0600 root bin 188 16688 1025499840
1 f none useradmin/help/expire2.nl.html 0600 root bin 207 18627 1025499840
1 f none useradmin/help/expire2.pl.html 0600 root bin 142 13931 1025499840
1 f none useradmin/help/expire2.ru_RU.html 0600 root bin 168 30032 1025499840
1 f none useradmin/help/expire2.ru_SU.html 0600 root bin 168 26768 1025499840
1 f none useradmin/help/expire2.sv.html 0600 root bin 187 18189 1025499840
1 f none useradmin/help/expire2.zh_TW.Big5.html 0600 root bin 133 18486 1025499840
1 f none useradmin/help/extra.ca.html 0600 root bin 318 28989 1025499840
1 f none useradmin/help/extra.html 0600 root bin 248 22699 1025499840
1 f none useradmin/help/extra.nl.html 0600 root bin 294 26910 1025499840
1 f none useradmin/help/findform.ca.html 0600 root bin 288 26588 1025499840
1 f none useradmin/help/findform.es.html 0600 root bin 297 27576 1025499840
1 f none useradmin/help/findform.fr.html 0600 root bin 356 33278 1025499840
1 f none useradmin/help/findform.html 0600 root bin 265 23578 1025499840
1 f none useradmin/help/findform.nl.html 0600 root bin 350 32063 1025499840
1 f none useradmin/help/findform.pl.html 0600 root bin 372 37326 1025499840
1 f none useradmin/help/findform.ru_RU.html 0600 root bin 352 2188 1025499840
1 f none useradmin/help/findform.ru_SU.html 0600 root bin 352 59859 1025499840
1 f none useradmin/help/findform.sv.html 0600 root bin 337 32994 1025499840
1 f none useradmin/help/findform.zh_TW.Big5.html 0600 root bin 209 31420 1025499840
1 f none useradmin/help/flags.ca.html 0600 root bin 753 825 1025499840
1 f none useradmin/help/flags.html 0600 root bin 597 52780 1025499840
1 f none useradmin/help/flags.nl.html 0600 root bin 735 526 1025499840
1 f none useradmin/help/flags.pl.html 0600 root bin 601 57122 1025499840
1 f none useradmin/help/gchgid.ca.html 0600 root bin 502 45748 1025499840
1 f none useradmin/help/gchgid.es.html 0600 root bin 579 53479 1025499840
1 f none useradmin/help/gchgid.fr.html 0600 root bin 542 51532 1025499840
1 f none useradmin/help/gchgid.html 0600 root bin 494 44112 1025499840
1 f none useradmin/help/gchgid.pl.html 0600 root bin 587 58372 1025499840
1 f none useradmin/help/gchgid.ru_RU.html 0600 root bin 597 45717 1025499840
1 f none useradmin/help/gchgid.ru_SU.html 0600 root bin 597 32865 1025499840
1 f none useradmin/help/gchgid.sv.html 0600 root bin 470 44229 1025499840
1 f none useradmin/help/gchgid.zh_TW.Big5.html 0600 root bin 328 51346 1025499840
1 f none useradmin/help/ggid.ca.html 0600 root bin 397 35977 1025499840
1 f none useradmin/help/ggid.es.html 0600 root bin 401 35721 1025499840
1 f none useradmin/help/ggid.fr.html 0600 root bin 460 43613 1025499840
1 f none useradmin/help/ggid.html 0600 root bin 377 33496 1025499840
1 f none useradmin/help/ggid.nl.html 0600 root bin 443 39317 1025499840
1 f none useradmin/help/ggid.pl.html 0600 root bin 397 38166 1025499840
1 f none useradmin/help/ggid.ru_RU.html 0600 root bin 369 680 1025499840
1 f none useradmin/help/ggid.ru_SU.html 0600 root bin 369 58693 1025499840
1 f none useradmin/help/ggid.sv.html 0600 root bin 401 38051 1025499840
1 f none useradmin/help/ggid.zh_TW.Big5.html 0600 root bin 273 38966 1025499840
1 f none useradmin/help/ggroup.ca.html 0600 root bin 143 12467 1025499840
1 f none useradmin/help/ggroup.es.html 0600 root bin 165 14788 1025499840
1 f none useradmin/help/ggroup.fr.html 0600 root bin 148 13138 1025499840
1 f none useradmin/help/ggroup.html 0600 root bin 146 13043 1025499840
1 f none useradmin/help/ggroup.nl.html 0600 root bin 176 15692 1025499840
1 f none useradmin/help/ggroup.pl.html 0600 root bin 145 14199 1025499840
1 f none useradmin/help/ggroup.ru_RU.html 0600 root bin 140 25516 1025499840
1 f none useradmin/help/ggroup.ru_SU.html 0600 root bin 140 22574 1025499840
1 f none useradmin/help/ggroup.sv.html 0600 root bin 145 13649 1025499840
1 f none useradmin/help/ggroup.zh_TW.Big5.html 0600 root bin 110 15628 1025499840
1 f none useradmin/help/gmembers.ca.html 0600 root bin 417 38349 1025499840
1 f none useradmin/help/gmembers.es.html 0600 root bin 473 43384 1025499840
1 f none useradmin/help/gmembers.fr.html 0600 root bin 475 42721 1025499840
1 f none useradmin/help/gmembers.html 0600 root bin 432 38911 1025499840
1 f none useradmin/help/gmembers.nl.html 0600 root bin 477 42970 1025499840
1 f none useradmin/help/gmembers.pl.html 0600 root bin 484 48004 1025499840
1 f none useradmin/help/gmembers.ru_RU.html 0600 root bin 503 30245 1025499840
1 f none useradmin/help/gmembers.ru_SU.html 0600 root bin 503 18943 1025499840
1 f none useradmin/help/gmembers.sv.html 0600 root bin 448 43318 1025499840
1 f none useradmin/help/gmembers.zh_TW.Big5.html 0600 root bin 273 39194 1025499840
1 f none useradmin/help/gpasswd.ca.html 0600 root bin 151 13389 1025499840
1 f none useradmin/help/gpasswd.es.html 0600 root bin 142 12654 1025499840
1 f none useradmin/help/gpasswd.fr.html 0600 root bin 174 16324 1025499840
1 f none useradmin/help/gpasswd.html 0600 root bin 124 11202 1025499840
1 f none useradmin/help/gpasswd.nl.html 0600 root bin 142 13021 1025499841
1 f none useradmin/help/gpasswd.pl.html 0600 root bin 127 12596 1025499840
1 f none useradmin/help/gpasswd.ru_RU.html 0600 root bin 145 26479 1025499840
1 f none useradmin/help/gpasswd.ru_SU.html 0600 root bin 145 23568 1025499840
1 f none useradmin/help/gpasswd.sv.html 0600 root bin 106 10476 1025499840
1 f none useradmin/help/gpasswd.zh_TW.Big5.html 0600 root bin 92 12315 1025499840
1 f none useradmin/help/group.ca.html 0600 root bin 551 50252 1025499840
1 f none useradmin/help/group.es.html 0600 root bin 601 55452 1025499840
1 f none useradmin/help/group.fr.html 0600 root bin 546 51470 1025499840
1 f none useradmin/help/group.html 0600 root bin 506 45779 1025499840
1 f none useradmin/help/group.nl.html 0600 root bin 654 59555 1025499841
1 f none useradmin/help/group.pl.html 0600 root bin 601 59933 1025499840
1 f none useradmin/help/group.ru_RU.html 0600 root bin 638 57358 1025499840
1 f none useradmin/help/group.ru_SU.html 0600 root bin 638 42467 1025499840
1 f none useradmin/help/group.sv.html 0600 root bin 449 44728 1025499840
1 f none useradmin/help/group.zh_TW.Big5.html 0600 root bin 291 43622 1025499840
1 f none useradmin/help/home.ca.html 0600 root bin 563 52030 1025499840
1 f none useradmin/help/home.es.html 0600 root bin 590 55047 1025499840
1 f none useradmin/help/home.fr.html 0600 root bin 617 58774 1025499840
1 f none useradmin/help/home.html 0600 root bin 530 48028 1025499840
1 f none useradmin/help/home.nl.html 0600 root bin 675 61646 1025499841
1 f none useradmin/help/home.pl.html 0600 root bin 601 59404 1025499840
1 f none useradmin/help/home.ru_RU.html 0600 root bin 730 8263 1025499840
1 f none useradmin/help/home.ru_SU.html 0600 root bin 730 57711 1025499840
1 f none useradmin/help/home.sv.html 0600 root bin 534 51421 1025499840
1 f none useradmin/help/home.zh_TW.Big5.html 0600 root bin 404 58991 1025499840
1 f none useradmin/help/homeph.ca.html 0600 root bin 145 12944 1025499840
1 f none useradmin/help/homeph.html 0600 root bin 130 11488 1025499840
1 f none useradmin/help/homeph.nl.html 0600 root bin 166 15026 1025499841
1 f none useradmin/help/inactive.ca.html 0600 root bin 169 14955 1025499840
1 f none useradmin/help/inactive.es.html 0600 root bin 102 9429 1025499840
1 f none useradmin/help/inactive.fr.html 0600 root bin 110 10196 1025499840
1 f none useradmin/help/inactive.html 0600 root bin 146 12988 1025499840
1 f none useradmin/help/inactive.nl.html 0600 root bin 176 15742 1025499841
1 f none useradmin/help/inactive.pl.html 0600 root bin 188 18325 1025499840
1 f none useradmin/help/inactive.ru_RU.html 0600 root bin 186 35559 1025499840
1 f none useradmin/help/inactive.ru_SU.html 0600 root bin 186 31408 1025499840
1 f none useradmin/help/inactive.sv.html 0600 root bin 134 12202 1025499840
1 f none useradmin/help/inactive.zh_TW.Big5.html 0600 root bin 72 9956 1025499840
1 f none useradmin/help/intro.ca.html 0600 root bin 2497 26532 1025499840
1 f none useradmin/help/intro.es.html 0600 root bin 2559 36652 1025499840
1 f none useradmin/help/intro.fr.html 0600 root bin 2593 44645 1025499840
1 f none useradmin/help/intro.html 0600 root bin 2220 628 1025499840
1 f none useradmin/help/intro.nl.html 0600 root bin 2643 39913 1025499841
1 f none useradmin/help/intro.pl.html 0600 root bin 2551 52863 1025499840
1 f none useradmin/help/intro.ru_RU.html 0600 root bin 2552 18470 1025499840
1 f none useradmin/help/intro.ru_SU.html 0600 root bin 2552 27997 1025499840
1 f none useradmin/help/intro.sv.html 0600 root bin 2244 19144 1025499840
1 f none useradmin/help/intro.zh_TW.Big5.html 0600 root bin 1504 24540 1025499840
1 f none useradmin/help/list_logins.ca.html 0600 root bin 263 24296 1025499840
1 f none useradmin/help/list_logins.es.html 0600 root bin 291 26648 1025499840
1 f none useradmin/help/list_logins.fr.html 0600 root bin 285 25832 1025499840
1 f none useradmin/help/list_logins.html 0600 root bin 249 22601 1025499840
1 f none useradmin/help/list_logins.nl.html 0600 root bin 329 29752 1025499841
1 f none useradmin/help/list_logins.pl.html 0600 root bin 295 29100 1025499840
1 f none useradmin/help/list_logins.ru_RU.html 0600 root bin 286 53885 1025499840
1 f none useradmin/help/list_logins.ru_SU.html 0600 root bin 286 47686 1025499840
1 f none useradmin/help/list_logins.sv.html 0600 root bin 261 25612 1025499840
1 f none useradmin/help/list_logins.zh_TW.Big5.html 0600 root bin 162 23971 1025499840
1 f none useradmin/help/makehome.ca.html 0600 root bin 186 17100 1025499840
1 f none useradmin/help/makehome.es.html 0600 root bin 192 17517 1025499840
1 f none useradmin/help/makehome.fr.html 0600 root bin 180 17319 1025499840
1 f none useradmin/help/makehome.html 0600 root bin 184 16607 1025499840
1 f none useradmin/help/makehome.pl.html 0600 root bin 226 22148 1025499840
1 f none useradmin/help/makehome.ru_RU.html 0600 root bin 180 31369 1025499840
1 f none useradmin/help/makehome.ru_SU.html 0600 root bin 180 27995 1025499840
1 f none useradmin/help/makehome.sv.html 0600 root bin 180 16750 1025499840
1 f none useradmin/help/makehome.zh_TW.Big5.html 0600 root bin 141 19842 1025499840
1 f none useradmin/help/max.ca.html 0600 root bin 238 22276 1025499840
1 f none useradmin/help/max.es.html 0600 root bin 256 23764 1025499840
1 f none useradmin/help/max.fr.html 0600 root bin 225 21031 1025499840
1 f none useradmin/help/max.html 0600 root bin 196 17843 1025499840
1 f none useradmin/help/max.nl.html 0600 root bin 254 23426 1025499841
1 f none useradmin/help/max.pl.html 0600 root bin 235 23218 1025499840
1 f none useradmin/help/max.ru_RU.html 0600 root bin 222 41418 1025499840
1 f none useradmin/help/max.ru_SU.html 0600 root bin 222 36711 1025499840
1 f none useradmin/help/max.sv.html 0600 root bin 228 22761 1025499840
1 f none useradmin/help/max.zh_TW.Big5.html 0600 root bin 125 17819 1025499840
1 f none useradmin/help/max_weeks.ca.html 0600 root bin 244 23067 1025499840
1 f none useradmin/help/max_weeks.html 0600 root bin 199 18172 1025499840
1 f none useradmin/help/max_weeks.pl.html 0600 root bin 221 21434 1025499840
1 f none useradmin/help/min.ca.html 0600 root bin 117 10679 1025499840
1 f none useradmin/help/min.es.html 0600 root bin 117 11111 1025499840
1 f none useradmin/help/min.fr.html 0600 root bin 120 10885 1025499840
1 f none useradmin/help/min.html 0600 root bin 106 9699 1025499840
1 f none useradmin/help/min.nl.html 0600 root bin 129 11960 1025499841
1 f none useradmin/help/min.pl.html 0600 root bin 128 12524 1025499840
1 f none useradmin/help/min.ru_RU.html 0600 root bin 99 17617 1025499840
1 f none useradmin/help/min.ru_SU.html 0600 root bin 99 15711 1025499840
1 f none useradmin/help/min.sv.html 0600 root bin 117 11370 1025499840
1 f none useradmin/help/min.zh_TW.Big5.html 0600 root bin 61 7892 1025499840
1 f none useradmin/help/min_weeks.ca.html 0600 root bin 125 11565 1025499840
1 f none useradmin/help/min_weeks.html 0600 root bin 108 9919 1025499840
1 f none useradmin/help/min_weeks.nl.html 0600 root bin 129 12014 1025499841
1 f none useradmin/help/min_weeks.pl.html 0600 root bin 115 10875 1025499840
1 f none useradmin/help/movehome.ca.html 0600 root bin 329 30610 1025499840
1 f none useradmin/help/movehome.es.html 0600 root bin 376 34941 1025499840
1 f none useradmin/help/movehome.fr.html 0600 root bin 362 35175 1025499840
1 f none useradmin/help/movehome.html 0600 root bin 327 29793 1025499840
1 f none useradmin/help/movehome.nl.html 0600 root bin 310 28430 1025499841
1 f none useradmin/help/movehome.pl.html 0600 root bin 360 35558 1025499840
1 f none useradmin/help/movehome.ru_RU.html 0600 root bin 363 4447 1025499840
1 f none useradmin/help/movehome.ru_SU.html 0600 root bin 363 61788 1025499840
1 f none useradmin/help/movehome.sv.html 0600 root bin 295 28554 1025499840
1 f none useradmin/help/movehome.zh_TW.Big5.html 0600 root bin 229 33005 1025499840
1 f none useradmin/help/office.ca.html 0600 root bin 144 12811 1025499840
1 f none useradmin/help/office.html 0600 root bin 134 11779 1025499840
1 f none useradmin/help/office.nl.html 0600 root bin 174 15404 1025499841
1 f none useradmin/help/others.ca.html 0600 root bin 365 33568 1025499840
1 f none useradmin/help/others.html 0600 root bin 335 30184 1025499840
1 f none useradmin/help/pass.ca.html 0600 root bin 1400 54147 1025499840
1 f none useradmin/help/pass.es.html 0600 root bin 1449 61800 1025499840
1 f none useradmin/help/pass.fr.html 0600 root bin 1437 63707 1025499840
1 f none useradmin/help/pass.html 0600 root bin 1214 40482 1025499840
1 f none useradmin/help/pass.nl.html 0600 root bin 1512 2969 1025499841
1 f none useradmin/help/pass.pl.html 0600 root bin 1293 57013 1025499840
1 f none useradmin/help/pass.ru_RU.html 0600 root bin 1440 53150 1025499840
1 f none useradmin/help/pass.ru_SU.html 0600 root bin 1440 25793 1025499840
1 f none useradmin/help/pass.sv.html 0600 root bin 1190 47025 1025499840
1 f none useradmin/help/pass.zh_TW.Big5.html 0600 root bin 827 43495 1025499840
1 f none useradmin/help/real.ca.html 0600 root bin 175 15435 1025499840
1 f none useradmin/help/real.es.html 0600 root bin 183 16802 1025499840
1 f none useradmin/help/real.fr.html 0600 root bin 193 17749 1025499840
1 f none useradmin/help/real.html 0600 root bin 158 14050 1025499840
1 f none useradmin/help/real.nl.html 0600 root bin 228 20712 1025499841
1 f none useradmin/help/real.pl.html 0600 root bin 201 19353 1025499840
1 f none useradmin/help/real.ru_RU.html 0600 root bin 208 37343 1025499840
1 f none useradmin/help/real.ru_SU.html 0600 root bin 208 33142 1025499840
1 f none useradmin/help/real.sv.html 0600 root bin 136 12637 1025499840
1 f none useradmin/help/real.zh_TW.Big5.html 0600 root bin 134 18696 1025499840
1 f none useradmin/help/shell.ca.html 0600 root bin 868 13092 1025499840
1 f none useradmin/help/shell.es.html 0600 root bin 881 14571 1025499840
1 f none useradmin/help/shell.fr.html 0600 root bin 895 16399 1025499840
1 f none useradmin/help/shell.html 0600 root bin 786 3970 1025499840
1 f none useradmin/help/shell.nl.html 0600 root bin 910 16421 1025499841
1 f none useradmin/help/shell.pl.html 0600 root bin 944 27804 1025499840
1 f none useradmin/help/shell.ru_RU.html 0600 root bin 936 31203 1025499840
1 f none useradmin/help/shell.ru_SU.html 0600 root bin 936 14071 1025499840
1 f none useradmin/help/shell.sv.html 0600 root bin 847 14369 1025499840
1 f none useradmin/help/shell.zh_TW.Big5.html 0600 root bin 661 20606 1025499840
1 f none useradmin/help/uid.ca.html 0600 root bin 725 64771 1025499840
1 f none useradmin/help/uid.es.html 0600 root bin 756 2791 1025499840
1 f none useradmin/help/uid.fr.html 0600 root bin 788 10405 1025499840
1 f none useradmin/help/uid.html 0600 root bin 676 59366 1025499840
1 f none useradmin/help/uid.nl.html 0600 root bin 918 15854 1025499841
1 f none useradmin/help/uid.pl.html 0600 root bin 846 17277 1025499840
1 f none useradmin/help/uid.ru_RU.html 0600 root bin 814 17175 1025499840
1 f none useradmin/help/uid.ru_SU.html 0600 root bin 814 109 1025499840
1 f none useradmin/help/uid.sv.html 0600 root bin 710 2694 1025499840
1 f none useradmin/help/uid.zh_TW.Big5.html 0600 root bin 513 8053 1025499840
1 f none useradmin/help/user.ca.html 0600 root bin 82 6954 1025499840
1 f none useradmin/help/user.es.html 0600 root bin 97 8521 1025499840
1 f none useradmin/help/user.fr.html 0600 root bin 120 10793 1025499840
1 f none useradmin/help/user.html 0600 root bin 82 7187 1025499840
1 f none useradmin/help/user.nl.html 0600 root bin 99 8878 1025499841
1 f none useradmin/help/user.pl.html 0600 root bin 94 8955 1025499840
1 f none useradmin/help/user.ru_RU.html 0600 root bin 97 17264 1025499840
1 f none useradmin/help/user.ru_SU.html 0600 root bin 97 15468 1025499840
1 f none useradmin/help/user.sv.html 0600 root bin 90 8664 1025499840
1 f none useradmin/help/user.zh_TW.Big5.html 0600 root bin 73 9401 1025499840
1 f none useradmin/help/warn.ca.html 0600 root bin 170 15155 1025499840
1 f none useradmin/help/warn.es.html 0600 root bin 172 15730 1025499840
1 f none useradmin/help/warn.fr.html 0600 root bin 208 19845 1025499840
1 f none useradmin/help/warn.html 0600 root bin 142 12897 1025499840
1 f none useradmin/help/warn.nl.html 0600 root bin 173 15951 1025499841
1 f none useradmin/help/warn.pl.html 0600 root bin 153 14992 1025499840
1 f none useradmin/help/warn.ru_RU.html 0600 root bin 237 44715 1025499840
1 f none useradmin/help/warn.ru_SU.html 0600 root bin 237 39546 1025499840
1 f none useradmin/help/warn.sv.html 0600 root bin 149 14590 1025499840
1 f none useradmin/help/warn.zh_TW.Big5.html 0600 root bin 89 12407 1025499840
1 f none useradmin/help/workph.ca.html 0600 root bin 153 13713 1025499840
1 f none useradmin/help/workph.html 0600 root bin 132 11709 1025499840
1 f none useradmin/help/workph.nl.html 0600 root bin 170 15392 1025499841
1 f none useradmin/hpux-lib.pl 0600 root bin 1192 30005 1025499841
1 d none useradmin/images 0700 root bin
1 f none useradmin/images/group.gif 0600 root bin 498 56003 1025499839
1 f none useradmin/images/icon.gif 0600 root bin 390 43396 1025499839
1 f none useradmin/images/user.gif 0600 root bin 223 25871 1025499839
1 f none useradmin/index.cgi 0700 root bin 10843 7156 1025499841
1 f none useradmin/irix-lib.pl 0600 root bin 1263 36263 1025499841
1 d none useradmin/lang 0700 root bin
1 f none useradmin/lang/ca 0600 root bin 15707 39274 1025499840
1 f none useradmin/lang/cz 0600 root bin 8371 13566 1025499840
1 f none useradmin/lang/de 0600 root bin 13298 1152 1025499839
1 f none useradmin/lang/en 0600 root bin 14683 48231 1025499839
1 f none useradmin/lang/es 0600 root bin 14740 15085 1025499839
1 f none useradmin/lang/fr 0600 root bin 15924 41408 1025499839
1 f none useradmin/lang/he 0600 root bin 8326 56722 1025499839
1 f none useradmin/lang/ja_JP.euc 0600 root bin 12746 12522 1025499840
1 f none useradmin/lang/ko_KR.euc 0600 root bin 11760 16102 1025499840
1 f none useradmin/lang/nl 0600 root bin 15371 4829 1025499840
1 f none useradmin/lang/pl 0600 root bin 15514 37951 1025499840
1 f none useradmin/lang/pt 0600 root bin 7147 35348 1025499839
1 f none useradmin/lang/pt_BR 0600 root bin 14870 62188 1025499840
1 f none useradmin/lang/ru_RU 0600 root bin 8662 19900 1025499840
1 f none useradmin/lang/ru_SU 0600 root bin 8672 13942 1025499839
1 f none useradmin/lang/sv 0600 root bin 12536 42574 1025499839
1 f none useradmin/lang/tr 0600 root bin 9292 54596 1025499839
1 f none useradmin/lang/zh_CN 0600 root bin 6487 10769 1025499839
1 f none useradmin/lang/zh_TW.Big5 0600 root bin 11486 56804 1025499839
1 f none useradmin/linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/list_logins.cgi 0700 root bin 1831 14374 1025499840
1 f none useradmin/list_who.cgi 0700 root bin 1035 17123 1025499841
1 f none useradmin/log_parser.pl 0600 root bin 1576 58873 1025499841
1 f none useradmin/low.risk 0600 root bin 302 27343 1025499841
1 f none useradmin/low.skill 0600 root bin 50 4436 1025499841
1 f none useradmin/macos-lib.pl 0600 root bin 1128 23881 1025499841
1 f none useradmin/mandrake-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/many_create.cgi 0700 root bin 3933 42648 1025499839
1 f none useradmin/many_form.cgi 0700 root bin 1419 56112 1025499839
1 f none useradmin/medium.risk 0600 root bin 142 12415 1025499841
1 f none useradmin/medium.skill 0600 root bin 8 672 1025499841
1 f none useradmin/module.info 0600 root bin 848 24942 1025499882
1 f none useradmin/msc-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/my_group_chooser.cgi 0700 root bin 4736 47667 1025499841
1 f none useradmin/my_user_chooser.cgi 0700 root bin 4386 21398 1025499841
1 f none useradmin/netbsd-lib.pl 0600 root bin 1261 35095 1025499841
1 f none useradmin/open-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/openbsd-lib.pl 0600 root bin 1261 35095 1025499839
1 f none useradmin/openserver-lib.pl 0600 root bin 1356 44108 1025499841
1 f none useradmin/osf1-lib.pl 0600 root bin 1181 28866 1025499840
1 f none useradmin/redhat-linux-lib.pl 0600 root bin 5033 46571 1025499840
1 f none useradmin/save_group.cgi 0700 root bin 3239 62401 1025499839
1 f none useradmin/save_user.cgi 0700 root bin 15998 9731 1025499839
1 f none useradmin/search_group.cgi 0700 root bin 1368 36018 1025499841
1 f none useradmin/search_user.cgi 0700 root bin 1466 43602 1025499841
1 f none useradmin/slackware-linux-lib.pl 0600 root bin 5033 46571 1025499840
1 f none useradmin/solaris-lib.pl 0600 root bin 1533 56019 1025499841
1 f none useradmin/suse-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/turbo-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/unixware-lib.pl 0600 root bin 1297 39350 1025499839
1 f none useradmin/user-lib.pl 0600 root bin 24858 15695 1025499839
1 d none usermin 0700 root bin
1 f none usermin/bootup.cgi 0700 root bin 4167 61394 1025499881
1 f none usermin/change_access.cgi 0700 root bin 738 64997 1025499881
1 f none usermin/change_bind.cgi 0700 root bin 1512 57069 1025499881
1 f none usermin/change_lang.cgi 0700 root bin 322 27991 1025499881
1 f none usermin/change_os.cgi 0700 root bin 516 44508 1025499881
1 f none usermin/change_session.cgi 0700 root bin 2790 51369 1025499881
1 f none usermin/change_ssl.cgi 0700 root bin 395 35229 1025499881
1 f none usermin/change_theme.cgi 0700 root bin 630 56275 1025499881
1 f none usermin/change_ui.cgi 0700 root bin 479 42104 1025499881
1 f none usermin/change_users.cgi 0700 root bin 902 10186 1025499881
1 f none usermin/config 0600 root bin 25 2437 1025499881
1 f none usermin/config.info 0600 root bin 46 4532 1025499881
1 f none usermin/config.info.ca 0600 root bin 50 4861 1025499881
1 f none usermin/config.info.zh_TW.Big5 0600 root bin 30 3554 1025499881
1 f none usermin/delete_mod.cgi 0700 root bin 3341 3569 1025499881
1 f none usermin/edit_access.cgi 0700 root bin 1668 10729 1025499881
1 f none usermin/edit_acl.cgi 0700 root bin 686 55383 1025499881
1 f none usermin/edit_assignment.cgi 0700 root bin 1245 36721 1025499881
1 f none usermin/edit_bind.cgi 0700 root bin 1039 23051 1025499881
1 f none usermin/edit_categories.cgi 0700 root bin 1490 57521 1025499881
1 f none usermin/edit_configs.cgi 0700 root bin 9400 38861 1025499881
1 f none usermin/edit_defacl.cgi 0700 root bin 909 12189 1025499881
1 f none usermin/edit_lang.cgi 0700 root bin 883 7578 1025499881
1 f none usermin/edit_mods.cgi 0700 root bin 2240 57786 1025499881
1 f none usermin/edit_os.cgi 0700 root bin 1851 19420 1025499881
1 f none usermin/edit_session.cgi 0700 root bin 3748 63561 1025499881
1 f none usermin/edit_ssl.cgi 0700 root bin 951 13980 1025499881
1 f none usermin/edit_themes.cgi 0700 root bin 1818 23518 1025499881
1 f none usermin/edit_ui.cgi 0700 root bin 1742 15736 1025499881
1 f none usermin/edit_upgrade.cgi 0700 root bin 1487 62355 1025499881
1 f none usermin/edit_users.cgi 0700 root bin 1425 57064 1025499881
1 f none usermin/feedback_files.pl 0600 root bin 137 11584 1025499881
1 d none usermin/images 0700 root bin
1 f none usermin/images/access.gif 0600 root bin 275 34570 1025499880
1 f none usermin/images/acl.gif 0600 root bin 2295 39355 1025499881
1 f none usermin/images/assignment.gif 0600 root bin 2295 39355 1025499881
1 f none usermin/images/bind.gif 0600 root bin 478 58145 1025499880
1 f none usermin/images/categories.gif 0600 root bin 1820 56835 1025499881
1 f none usermin/images/configs.gif 0600 root bin 332 37424 1025499881
1 f none usermin/images/defacl.gif 0600 root bin 200 23141 1025499881
1 f none usermin/images/icon.gif 0600 root bin 1945 5218 1025499880
1 f none usermin/images/lang.gif 0600 root bin 405 48317 1025499880
1 f none usermin/images/mods.gif 0600 root bin 281 32091 1025499880
1 f none usermin/images/os.gif 0600 root bin 393 45957 1025499880
1 f none usermin/images/session.gif 0600 root bin 1705 53289 1025499881
1 f none usermin/images/ssl.gif 0600 root bin 364 43760 1025499881
1 f none usermin/images/themes.gif 0600 root bin 1946 832 1025499881
1 f none usermin/images/ui.gif 0600 root bin 1558 33481 1025499881
1 f none usermin/images/upgrade.gif 0600 root bin 184 20358 1025499881
1 f none usermin/images/users.gif 0600 root bin 390 43396 1025499881
1 f none usermin/index.cgi 0700 root bin 2826 34608 1025499881
1 f none usermin/install_mod.cgi 0700 root bin 2444 60395 1025499881
1 f none usermin/install_theme.cgi 0700 root bin 2004 26624 1025499881
1 d none usermin/lang 0700 root bin
1 f none usermin/lang/ca 0600 root bin 15971 15563 1025499880
1 f none usermin/lang/en 0600 root bin 16452 30507 1025499880
1 f none usermin/lang/zh_TW.Big5 0600 root bin 11898 51082 1025499880
1 f none usermin/log_parser.pl 0600 root bin 1154 29149 1025499881
1 f none usermin/module.info 0600 root bin 141 13260 1025499882
1 f none usermin/save_acl.cgi 0700 root bin 313 26574 1025499881
1 f none usermin/save_assignment.cgi 0700 root bin 567 48548 1025499881
1 f none usermin/save_categories.cgi 0700 root bin 1030 21355 1025499881
1 f none usermin/save_configs.cgi 0700 root bin 1741 4987 1025499881
1 f none usermin/save_defacl.cgi 0700 root bin 581 51099 1025499881
1 f none usermin/save_uconfigs.cgi 0700 root bin 1701 3623 1025499881
1 f none usermin/start.cgi 0700 root bin 181 15446 1025499881
1 f none usermin/stop.cgi 0700 root bin 335 27661 1025499881
1 f none usermin/upgrade.cgi 0700 root bin 4593 37372 1025499881
1 f none usermin/usermin-lib.pl 0600 root bin 12047 49899 1025499881
1 f none version 0600 root bin 6 266 1025499832
1 f none web-lib.pl 0700 root bin 78925 11260 1025499831
1 d none webmin 0700 root bin
1 f none webmin-caldera-init 0700 root bin 990 11661 1025499831
1 f none webmin-daemon 0600 root bin 80 6541 1025499831
1 f none webmin-init 0700 root bin 944 5470 1025499831
1 f none webmin-pam 0600 root bin 164 15374 1025499832
1 f none webmin/change_access.cgi 0700 root bin 2731 8419 1025499851
1 f none webmin/change_anon.cgi 0700 root bin 733 61080 1025499851
1 f none webmin/change_bind.cgi 0700 root bin 1691 3896 1025499850
1 f none webmin/change_ca.cgi 0700 root bin 559 46688 1025499850
1 f none webmin/change_lang.cgi 0700 root bin 331 28462 1025499850
1 f none webmin/change_log.cgi 0700 root bin 1147 31979 1025499851
1 f none webmin/change_os.cgi 0700 root bin 525 44909 1025499851
1 f none webmin/change_proxy.cgi 0700 root bin 819 5109 1025499850
1 f none webmin/change_referers.cgi 0700 root bin 472 40937 1025499851
1 f none webmin/change_session.cgi 0700 root bin 2773 47592 1025499851
1 f none webmin/change_ssl.cgi 0700 root bin 560 46772 1025499851
1 f none webmin/change_startpage.cgi 0700 root bin 699 60703 1025499851
1 f none webmin/change_syslet.cgi 0700 root bin 916 12365 1025499851
1 f none webmin/change_theme.cgi 0700 root bin 812 3981 1025499851
1 f none webmin/change_ui.cgi 0700 root bin 979 14637 1025499851
1 f none webmin/clone_mod.cgi 0700 root bin 1347 41791 1025499851
1 f none webmin/config 0600 root bin 48 4249 1025499851
1 f none webmin/delete_mod.cgi 0700 root bin 2021 30380 1025499850
1 f none webmin/edit_access.cgi 0700 root bin 1659 9734 1025499850
1 f none webmin/edit_anon.cgi 0700 root bin 1079 20768 1025499851
1 f none webmin/edit_assignment.cgi 0700 root bin 1191 31524 1025499851
1 f none webmin/edit_bind.cgi 0700 root bin 1030 22056 1025499851
1 f none webmin/edit_ca.cgi 0700 root bin 2752 33243 1025499851
1 f none webmin/edit_categories.cgi 0700 root bin 1522 58851 1025499851
1 f none webmin/edit_lang.cgi 0700 root bin 850 4446 1025499851
1 f none webmin/edit_log.cgi 0700 root bin 2744 35041 1025499850
1 f none webmin/edit_mods.cgi 0700 root bin 3437 22396 1025499850
1 f none webmin/edit_os.cgi 0700 root bin 1774 11958 1025499850
1 f none webmin/edit_proxy.cgi 0700 root bin 1724 16801 1025499851
1 f none webmin/edit_referers.cgi 0700 root bin 1035 22799 1025499851
1 f none webmin/edit_session.cgi 0700 root bin 3707 59521 1025499851
1 f none webmin/edit_ssl.cgi 0700 root bin 919 10804 1025499850
1 f none webmin/edit_startpage.cgi 0700 root bin 2643 25820 1025499850
1 f none webmin/edit_syslet.cgi 0700 root bin 998 19657 1025499851
1 f none webmin/edit_themes.cgi 0700 root bin 1792 21360 1025499851
1 f none webmin/edit_ui.cgi 0700 root bin 2483 6899 1025499850
1 f none webmin/edit_upgrade.cgi 0700 root bin 4237 31909 1025499850
1 f none webmin/feedback_files.pl 0600 root bin 126 10585 1025499851
1 d none webmin/images 0700 root bin
1 f none webmin/images/access.gif 0600 root bin 275 34570 1025499850
1 f none webmin/images/anon.gif 0600 root bin 237 27060 1025499850
1 f none webmin/images/assignment.gif 0600 root bin 2295 39355 1025499850
1 f none webmin/images/bind.gif 0600 root bin 478 58145 1025499850
1 f none webmin/images/ca.gif 0600 root bin 1420 41188 1025499850
1 f none webmin/images/categories.gif 0600 root bin 1820 56835 1025499850
1 f none webmin/images/icon.gif 0600 root bin 2288 61818 1025499850
1 f none webmin/images/lang.gif 0600 root bin 405 48317 1025499850
1 f none webmin/images/log.gif 0600 root bin 470 52260 1025499850
1 f none webmin/images/mods.gif 0600 root bin 281 32091 1025499850
1 f none webmin/images/os.gif 0600 root bin 393 45957 1025499850
1 f none webmin/images/proxy.gif 0600 root bin 214 23452 1025499850
1 f none webmin/images/referers.gif 0600 root bin 827 31730 1025499850
1 f none webmin/images/session.gif 0600 root bin 1705 53289 1025499850
1 f none webmin/images/ssl.gif 0600 root bin 364 43760 1025499850
1 f none webmin/images/startpage.gif 0600 root bin 1511 40217 1025499850
1 f none webmin/images/syslet.gif 0600 root bin 922 41762 1025499850
1 f none webmin/images/themes.gif 0600 root bin 1946 832 1025499850
1 f none webmin/images/ui.gif 0600 root bin 1558 33481 1025499850
1 f none webmin/images/upgrade.gif 0600 root bin 184 20358 1025499850
1 f none webmin/index.cgi 0700 root bin 2021 35121 1025499851
1 f none webmin/install_mod.cgi 0700 root bin 2652 10785 1025499850
1 f none webmin/install_theme.cgi 0700 root bin 2106 33701 1025499851
1 d none webmin/lang 0700 root bin
1 f none webmin/lang/ca 0600 root bin 26147 4623 1025499851
1 f none webmin/lang/cz 0600 root bin 10199 40740 1025499851
1 f none webmin/lang/de 0600 root bin 19225 38623 1025499850
1 f none webmin/lang/en 0600 root bin 24436 54023 1025499850
1 f none webmin/lang/es 0600 root bin 21779 49687 1025499850
1 f none webmin/lang/fr 0600 root bin 24931 41877 1025499850
1 f none webmin/lang/he 0600 root bin 14302 10182 1025499851
1 f none webmin/lang/hu 0600 root bin 8100 56769 1025499851
1 f none webmin/lang/it 0600 root bin 12226 31877 1025499851
1 f none webmin/lang/ja_JP.euc 0600 root bin 19692 64000 1025499851
1 f none webmin/lang/ko_KR.euc 0600 root bin 17446 40761 1025499851
1 f none webmin/lang/nl 0600 root bin 21708 15137 1025499851
1 f none webmin/lang/pl 0600 root bin 23706 11543 1025499851
1 f none webmin/lang/pt 0600 root bin 7804 27720 1025499850
1 f none webmin/lang/ru_RU 0600 root bin 19498 41188 1025499851
1 f none webmin/lang/ru_SU 0600 root bin 20044 28882 1025499851
1 f none webmin/lang/sv 0600 root bin 19126 29994 1025499850
1 f none webmin/lang/tr 0600 root bin 13534 44676 1025499851
1 f none webmin/lang/zh_CN 0600 root bin 11707 25201 1025499850
1 f none webmin/lang/zh_TW.Big5 0600 root bin 16383 13546 1025499850
1 f none webmin/log_parser.pl 0600 root bin 979 15022 1025499851
1 f none webmin/low.risk 0600 root bin 10 879 1025499851
1 f none webmin/low.skill 0600 root bin 41 3913 1025499851
1 f none webmin/medium.risk 0600 root bin 10 879 1025499851
1 f none webmin/medium.skill 0600 root bin 71 6773 1025499851
1 f none webmin/module.info 0600 root bin 568 58994 1025499882
1 f none webmin/save_assignment.cgi 0700 root bin 475 40702 1025499851
1 f none webmin/save_categories.cgi 0700 root bin 841 4175 1025499851
1 f none webmin/setup_ca.cgi 0700 root bin 1284 43103 1025499850
1 f none webmin/stop_ca.cgi 0700 root bin 1062 23723 1025499850
1 f none webmin/uninstall.pl 0600 root bin 379 30885 1025499851
1 f none webmin/update.cgi 0700 root bin 3374 57272 1025499851
1 f none webmin/update.pl 0700 root bin 3535 7791 1025499851
1 f none webmin/update_sched.cgi 0700 root bin 2294 53420 1025499851
1 f none webmin/upgrade.cgi 0700 root bin 6867 21864 1025499851
1 f none webmin/webmin-lib.pl 0600 root bin 12057 30305 1025499851
1 d none webminlog 0700 root bin
1 d none webminlog/images 0700 root bin
1 f none webminlog/images/icon.gif 0600 root bin 470 52260 1025499869
1 f none webminlog/index.cgi 0700 root bin 2202 54616 1025499869
1 d none webminlog/lang 0700 root bin
1 f none webminlog/lang/ca 0600 root bin 2391 27220 1025499869
1 f none webminlog/lang/de 0600 root bin 2861 60978 1025499869
1 f none webminlog/lang/en 0600 root bin 2041 58055 1025499869
1 f none webminlog/lang/es 0600 root bin 2319 23516 1025499869
1 f none webminlog/lang/fr 0600 root bin 2390 32778 1025499869
1 f none webminlog/lang/hu 0600 root bin 1801 51220 1025499869
1 f none webminlog/lang/ja_JP.euc 0600 root bin 2003 14385 1025499869
1 f none webminlog/lang/ko_KR.euc 0600 root bin 1810 41329 1025499869
1 f none webminlog/lang/nl 0600 root bin 1713 30442 1025499869
1 f none webminlog/lang/pl 0600 root bin 2373 34826 1025499869
1 f none webminlog/lang/sv 0600 root bin 2035 64617 1025499869
1 f none webminlog/lang/tr 0600 root bin 1685 43069 1025499869
1 f none webminlog/lang/zh_CN 0600 root bin 1325 38110 1025499869
1 f none webminlog/lang/zh_TW.Big5 0600 root bin 1687 6702 1025499869
1 f none webminlog/module.info 0600 root bin 487 48899 1025499882
1 f none webminlog/search.cgi 0700 root bin 3935 30927 1025499869
1 f none webminlog/view.cgi 0700 root bin 3106 45723 1025499869
1 f none webminlog/webminlog-lib.pl 0600 root bin 846 55666 1025499869
1 d none wuftpd 0700 root bin
1 f none wuftpd/config-aix 0600 root bin 188 18293 1025499866
1 f none wuftpd/config-corel-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-debian-linux 0600 root bin 231 22382 1025499866
1 f none wuftpd/config-freebsd 0600 root bin 192 18712 1025499866
1 f none wuftpd/config-generic-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-hpux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-lfs-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-macos 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-mandrake-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-msc-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-netbsd 0600 root bin 190 18468 1025499867
1 f none wuftpd/config-open-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-openbsd 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-openserver 0600 root bin 174 16932 1025499867
1 f none wuftpd/config-osf1 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-redhat-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-slackware-linux 0600 root bin 186 18120 1025499867
1 f none wuftpd/config-solaris 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-suse-linux 0600 root bin 186 18120 1025499866
1 f none wuftpd/config-turbo-linux 0600 root bin 211 20484 1025499866
1 f none wuftpd/config.info 0600 root bin 269 24949 1025499867
1 f none wuftpd/config.info.ca 0600 root bin 315 30166 1025499867
1 f none wuftpd/config.info.de 0600 root bin 307 28835 1025499866
1 f none wuftpd/config.info.es 0600 root bin 354 34039 1025499866
1 f none wuftpd/config.info.fr 0600 root bin 292 27649 1025499867
1 f none wuftpd/config.info.hu 0600 root bin 308 29889 1025499867
1 f none wuftpd/config.info.pl 0600 root bin 368 35279 1025499867
1 f none wuftpd/config.info.ru_RU 0600 root bin 281 39562 1025499867
1 f none wuftpd/config.info.ru_SU 0600 root bin 281 36684 1025499866
1 f none wuftpd/config.info.sv 0600 root bin 329 33897 1025499866
1 f none wuftpd/config.info.tr 0600 root bin 284 29026 1025499867
1 f none wuftpd/config.info.zh_CN 0600 root bin 224 30551 1025499866
1 f none wuftpd/config.info.zh_TW.Big5 0600 root bin 250 30404 1025499866
1 f none wuftpd/edit_acl.cgi 0700 root bin 8452 13344 1025499867
1 f none wuftpd/edit_alias.cgi 0700 root bin 1277 39128 1025499866
1 f none wuftpd/edit_anon.cgi 0700 root bin 3748 37239 1025499867
1 f none wuftpd/edit_class.cgi 0700 root bin 2845 31265 1025499866
1 f none wuftpd/edit_log.cgi 0700 root bin 2363 484 1025499866
1 f none wuftpd/edit_message.cgi 0700 root bin 4455 31162 1025499867
1 f none wuftpd/edit_misc.cgi 0700 root bin 2909 36064 1025499867
1 f none wuftpd/edit_net.cgi 0700 root bin 2641 14746 1025499866
1 f none wuftpd/edit_perm.cgi 0700 root bin 3257 60321 1025499867
1 d none wuftpd/help 0700 root bin
1 f none wuftpd/help/acl.ca.html 0600 root bin 1776 33911 1025499867
1 f none wuftpd/help/acl.es.html 0600 root bin 2010 55943 1025499866
1 f none wuftpd/help/acl.fr.html 0600 root bin 1867 45631 1025499866
1 f none wuftpd/help/acl.html 0600 root bin 1681 21673 1025499866
1 f none wuftpd/help/acl.pl.html 0600 root bin 1913 59633 1025499866
1 f none wuftpd/help/acl.ru_RU.html 0600 root bin 1743 5959 1025499867
1 f none wuftpd/help/acl.ru_SU.html 0600 root bin 1743 31859 1025499866
1 f none wuftpd/help/acl.sv.html 0600 root bin 1808 45452 1025499866
1 f none wuftpd/help/acl.zh_TW.Big5.html 0600 root bin 1118 37616 1025499866
1 f none wuftpd/help/alias.ca.html 0600 root bin 815 8107 1025499867
1 f none wuftpd/help/alias.es.html 0600 root bin 891 14903 1025499866
1 f none wuftpd/help/alias.fr.html 0600 root bin 871 15074 1025499866
1 f none wuftpd/help/alias.html 0600 root bin 794 5231 1025499866
1 f none wuftpd/help/alias.pl.html 0600 root bin 858 16961 1025499866
1 f none wuftpd/help/alias.ru_RU.html 0600 root bin 841 11352 1025499867
1 f none wuftpd/help/alias.ru_SU.html 0600 root bin 841 62182 1025499866
1 f none wuftpd/help/alias.sv.html 0600 root bin 812 11085 1025499866
1 f none wuftpd/help/alias.zh_TW.Big5.html 0600 root bin 577 6548 1025499866
1 f none wuftpd/help/anon.ca.html 0600 root bin 1858 40639 1025499867
1 f none wuftpd/help/anon.es.html 0600 root bin 1965 52353 1025499866
1 f none wuftpd/help/anon.fr.html 0600 root bin 1954 56721 1025499866
1 f none wuftpd/help/anon.html 0600 root bin 1747 28115 1025499866
1 f none wuftpd/help/anon.pl.html 0600 root bin 1687 34820 1025499866
1 f none wuftpd/help/anon.ru_RU.html 0600 root bin 1907 19601 1025499867
1 f none wuftpd/help/anon.ru_SU.html 0600 root bin 1907 46248 1025499866
1 f none wuftpd/help/anon.sv.html 0600 root bin 1718 33016 1025499866
1 f none wuftpd/help/anon.zh_TW.Big5.html 0600 root bin 1171 33896 1025499866
1 f none wuftpd/help/class.ca.html 0600 root bin 1463 1976 1025499867
1 f none wuftpd/help/class.es.html 0600 root bin 1636 17058 1025499866
1 f none wuftpd/help/class.fr.html 0600 root bin 1573 16940 1025499866
1 f none wuftpd/help/class.html 0600 root bin 1353 54491 1025499866
1 f none wuftpd/help/class.pl.html 0600 root bin 1541 17102 1025499866
1 f none wuftpd/help/class.ru_RU.html 0600 root bin 1552 19877 1025499867
1 f none wuftpd/help/class.ru_SU.html 0600 root bin 1552 53373 1025499866
1 f none wuftpd/help/class.sv.html 0600 root bin 1450 6442 1025499866
1 f none wuftpd/help/class.zh_TW.Big5.html 0600 root bin 960 63184 1025499866
1 f none wuftpd/help/intro.ca.html 0600 root bin 965 24333 1025499867
1 f none wuftpd/help/intro.es.html 0600 root bin 1048 32491 1025499866
1 f none wuftpd/help/intro.fr.html 0600 root bin 949 24397 1025499866
1 f none wuftpd/help/intro.html 0600 root bin 897 15896 1025499866
1 f none wuftpd/help/intro.pl.html 0600 root bin 933 27202 1025499867
1 f none wuftpd/help/intro.ru_RU.html 0600 root bin 986 53387 1025499867
1 f none wuftpd/help/intro.ru_SU.html 0600 root bin 986 32498 1025499866
1 f none wuftpd/help/intro.sv.html 0600 root bin 862 17907 1025499866
1 f none wuftpd/help/intro.zh_TW.Big5.html 0600 root bin 594 17946 1025499866
1 f none wuftpd/help/log.ca.html 0600 root bin 850 10447 1025499867
1 f none wuftpd/help/log.es.html 0600 root bin 900 16382 1025499866
1 f none wuftpd/help/log.fr.html 0600 root bin 784 8639 1025499866
1 f none wuftpd/help/log.html 0600 root bin 674 59865 1025499866
1 f none wuftpd/help/log.pl.html 0600 root bin 755 6640 1025499866
1 f none wuftpd/help/log.ru_RU.html 0600 root bin 710 58211 1025499867
1 f none wuftpd/help/log.ru_SU.html 0600 root bin 710 45403 1025499866
1 f none wuftpd/help/log.sv.html 0600 root bin 699 1506 1025499866
1 f none wuftpd/help/log.zh_TW.Big5.html 0600 root bin 562 9783 1025499866
1 f none wuftpd/help/message.ca.html 0600 root bin 1057 31945 1025499867
1 f none wuftpd/help/message.es.html 0600 root bin 1139 39945 1025499866
1 f none wuftpd/help/message.fr.html 0600 root bin 1140 42545 1025499866
1 f none wuftpd/help/message.html 0600 root bin 997 24543 1025499866
1 f none wuftpd/help/message.pl.html 0600 root bin 1046 40631 1025499866
1 f none wuftpd/help/message.ru_RU.html 0600 root bin 1057 9525 1025499867
1 f none wuftpd/help/message.ru_SU.html 0600 root bin 1057 50301 1025499866
1 f none wuftpd/help/message.sv.html 0600 root bin 933 25761 1025499866
1 f none wuftpd/help/message.zh_TW.Big5.html 0600 root bin 585 24191 1025499866
1 f none wuftpd/help/misc.ca.html 0600 root bin 730 649 1025499867
1 f none wuftpd/help/misc.es.html 0600 root bin 732 634 1025499866
1 f none wuftpd/help/misc.fr.html 0600 root bin 784 8025 1025499866
1 f none wuftpd/help/misc.html 0600 root bin 649 58257 1025499866
1 f none wuftpd/help/misc.pl.html 0600 root bin 663 64020 1025499867
1 f none wuftpd/help/misc.ru_RU.html 0600 root bin 659 57025 1025499867
1 f none wuftpd/help/misc.ru_SU.html 0600 root bin 659 42779 1025499866
1 f none wuftpd/help/misc.sv.html 0600 root bin 626 59938 1025499866
1 f none wuftpd/help/misc.zh_TW.Big5.html 0600 root bin 421 59017 1025499866
1 f none wuftpd/help/net.ca.html 0600 root bin 477 43512 1025499867
1 f none wuftpd/help/net.es.html 0600 root bin 482 43909 1025499866
1 f none wuftpd/help/net.fr.html 0600 root bin 458 43350 1025499866
1 f none wuftpd/help/net.html 0600 root bin 409 37080 1025499866
1 f none wuftpd/help/net.pl.html 0600 root bin 438 42821 1025499866
1 f none wuftpd/help/net.ru_RU.html 0600 root bin 431 16091 1025499867
1 f none wuftpd/help/net.ru_SU.html 0600 root bin 431 6444 1025499866
1 f none wuftpd/help/net.sv.html 0600 root bin 387 37504 1025499866
1 f none wuftpd/help/net.zh_TW.Big5.html 0600 root bin 249 35417 1025499866
1 f none wuftpd/help/perm.ca.html 0600 root bin 1076 34893 1025499867
1 f none wuftpd/help/perm.es.html 0600 root bin 1153 42329 1025499866
1 f none wuftpd/help/perm.fr.html 0600 root bin 1195 49315 1025499866
1 f none wuftpd/help/perm.html 0600 root bin 1008 26425 1025499866
1 f none wuftpd/help/perm.pl.html 0600 root bin 1077 42472 1025499866
1 f none wuftpd/help/perm.ru_RU.html 0600 root bin 1142 26522 1025499867
1 f none wuftpd/help/perm.ru_SU.html 0600 root bin 1142 65427 1025499866
1 f none wuftpd/help/perm.sv.html 0600 root bin 988 29850 1025499866
1 f none wuftpd/help/perm.zh_TW.Big5.html 0600 root bin 610 25449 1025499866
1 d none wuftpd/images 0700 root bin
1 f none wuftpd/images/acl.gif 0600 root bin 275 34570 1025499866
1 f none wuftpd/images/alias.gif 0600 root bin 208 23229 1025499866
1 f none wuftpd/images/aliases.gif 0600 root bin 208 23229 1025499866
1 f none wuftpd/images/anon.gif 0600 root bin 237 27060 1025499866
1 f none wuftpd/images/class.gif 0600 root bin 390 43396 1025499866
1 f none wuftpd/images/icon.gif 0600 root bin 407 48215 1025499866
1 f none wuftpd/images/log.gif 0600 root bin 470 52260 1025499866
1 f none wuftpd/images/message.gif 0600 root bin 377 47845 1025499866
1 f none wuftpd/images/misc.gif 0600 root bin 460 53918 1025499866
1 f none wuftpd/images/net.gif 0600 root bin 478 58145 1025499866
1 f none wuftpd/images/perm.gif 0600 root bin 332 37563 1025499866
1 f none wuftpd/index.cgi 0700 root bin 4429 18488 1025499867
1 d none wuftpd/lang 0700 root bin
1 f none wuftpd/lang/ca 0600 root bin 9511 52924 1025499866
1 f none wuftpd/lang/de 0600 root bin 9658 59597 1025499866
1 f none wuftpd/lang/en 0600 root bin 8466 7357 1025499866
1 f none wuftpd/lang/es 0600 root bin 9827 17176 1025499866
1 f none wuftpd/lang/fr 0600 root bin 9550 3090 1025499866
1 f none wuftpd/lang/hu 0600 root bin 9214 39835 1025499866
1 f none wuftpd/lang/ja_JP.euc 0600 root bin 8602 1825 1025499866
1 f none wuftpd/lang/ja_JP.jis 0600 root bin 8602 35185 1025499866
1 f none wuftpd/lang/ko_KR.euc 0600 root bin 8058 16143 1025499866
1 f none wuftpd/lang/pl 0600 root bin 9020 36517 1025499866
1 f none wuftpd/lang/ru_RU 0600 root bin 9018 5577 1025499866
1 f none wuftpd/lang/ru_SU 0600 root bin 9028 58457 1025499866
1 f none wuftpd/lang/sv 0600 root bin 9336 6732 1025499866
1 f none wuftpd/lang/tr 0600 root bin 9199 40344 1025499866
1 f none wuftpd/lang/zh_CN 0600 root bin 6113 64969 1025499866
1 f none wuftpd/lang/zh_TW.Big5 0600 root bin 6443 43738 1025499866
1 f none wuftpd/log_parser.pl 0600 root bin 387 33716 1025499867
1 f none wuftpd/module.info 0600 root bin 636 60983 1025499882
1 f none wuftpd/restart.cgi 0700 root bin 302 24994 1025499866
1 f none wuftpd/save_acl.cgi 0700 root bin 3971 48097 1025499866
1 f none wuftpd/save_alias.cgi 0700 root bin 876 4741 1025499867
1 f none wuftpd/save_anon.cgi 0700 root bin 1611 63592 1025499867
1 f none wuftpd/save_class.cgi 0700 root bin 1714 3320 1025499866
1 f none wuftpd/save_log.cgi 0700 root bin 897 5003 1025499867
1 f none wuftpd/save_message.cgi 0700 root bin 2566 3860 1025499866
1 f none wuftpd/save_misc.cgi 0700 root bin 1505 53047 1025499867
1 f none wuftpd/save_net.cgi 0700 root bin 1619 62960 1025499867
1 f none wuftpd/save_perm.cgi 0700 root bin 1390 44913 1025499866
1 f none wuftpd/start.cgi 0700 root bin 227 18711 1025499867
1 f none wuftpd/wuftpd-lib.pl 0600 root bin 2186 35097 1025499866
1 d none xinetd 0700 root bin
1 f none xinetd/config 0600 root bin 148 14014 1025499870
1 f none xinetd/config-debian-linux 0600 root bin 122 11674 1025499870
1 f none xinetd/config-freebsd 0600 root bin 121 11650 1025499870
1 f none xinetd/config-gentoo-linux 0600 root bin 123 11794 1025499870
1 f none xinetd/config-mandrake-linux 0600 root bin 128 12200 1025499870
1 f none xinetd/config-msc-linux 0600 root bin 123 11794 1025499870
1 f none xinetd/config-redhat-linux 0600 root bin 128 12200 1025499870
1 f none xinetd/config-suse-linux 0600 root bin 124 11906 1025499870
1 f none xinetd/config-suse-linux-7.1 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-7.2 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-7.3 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-8.0 0600 root bin 123 11794 1025499870
1 f none xinetd/config.info 0600 root bin 151 14086 1025499870
1 f none xinetd/config.info.ca 0600 root bin 176 16250 1025499870
1 f none xinetd/config.info.es 0600 root bin 183 17025 1025499870
1 f none xinetd/config.info.hu 0600 root bin 156 15451 1025499870
1 f none xinetd/config.info.pl 0600 root bin 175 16940 1025499870
1 f none xinetd/config.info.sv 0600 root bin 165 16546 1025499870
1 f none xinetd/config.info.zh_CN 0600 root bin 125 15737 1025499870
1 f none xinetd/config.info.zh_TW.Big5 0600 root bin 117 13882 1025499870
1 f none xinetd/edit_defaults.cgi 0700 root bin 3769 45363 1025499870
1 f none xinetd/edit_serv.cgi 0700 root bin 7177 1450 1025499870
1 f none xinetd/feedback_files.pl 0600 root bin 131 10762 1025499870
1 d none xinetd/images 0700 root bin
1 f none xinetd/images/icon.gif 0600 root bin 291 36589 1025499870
1 f none xinetd/index.cgi 0700 root bin 3156 51895 1025499870
1 d none xinetd/lang 0700 root bin
1 f none xinetd/lang/ca 0600 root bin 6467 21351 1025499870
1 f none xinetd/lang/en 0600 root bin 4154 3053 1025499870
1 f none xinetd/lang/es 0600 root bin 4818 7803 1025499870
1 f none xinetd/lang/fr 0600 root bin 4846 12159 1025499870
1 f none xinetd/lang/hu 0600 root bin 4808 51120 1025499870
1 f none xinetd/lang/it 0600 root bin 4697 52070 1025499870
1 f none xinetd/lang/ja_JP.euc 0600 root bin 4349 39930 1025499870
1 f none xinetd/lang/ko_KR.euc 0600 root bin 3836 2857 1025499870
1 f none xinetd/lang/pl 0600 root bin 4719 16785 1025499870
1 f none xinetd/lang/sv 0600 root bin 4583 63930 1025499870
1 f none xinetd/lang/zh_CN 0600 root bin 3303 2978 1025499870
1 f none xinetd/lang/zh_TW.Big5 0600 root bin 3359 43128 1025499870
1 f none xinetd/log_parser.pl 0600 root bin 656 55335 1025499870
1 f none xinetd/module.info 0600 root bin 482 50925 1025499882
1 f none xinetd/restart.cgi 0700 root bin 266 22348 1025499870
1 f none xinetd/save_defaults.cgi 0700 root bin 1529 56550 1025499870
1 f none xinetd/save_serv.cgi 0700 root bin 4427 25822 1025499870
1 f none xinetd/start.cgi 0700 root bin 296 25051 1025499870
1 f none xinetd/xinetd-lib.pl 0600 root bin 3747 27208 1025499870
 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!                                                                                                                                                                                                                                                                                                                                                                0707010003e0fe000081a40000000000000001000000013d1ff8ef000000d6000000200000000000000000000000000000000800000003pkginfo   PKG=WSwebmin
NAME=Webmin - Web-based system administration
ARCH=Solaris 2.5
VERSION=0.990
CATEGORY=application
VENDOR=Webmin Software
EMAIL=jcameron@webmin.com
PSTAMP=Jamie Cameron
BASEDIR=/opt/webmin
CLASSES=none
  0707010003e0f4000081a40000000000000001000000013d1ff9bb00096e4f000000200000000000000000000000000000000700000003pkgmap    : 1 46237
1 f none /etc/rc3.d/S99webmin 0755 root bin 944 5470 1025499831
1 f none LICENCE 0600 root bin 1592 56884 1025499831
1 f none LICENCE.ja 0600 root bin 1654 62895 1025499832
1 f none README 0600 root bin 1156 39017 1025499831
1 d none acl 0700 root bin
1 f none acl/acl-lib.pl 0600 root bin 11569 29019 1025499857
1 f none acl/acl_security.pl 0600 root bin 6687 20937 1025499857
1 f none acl/cert_form.cgi 0700 root bin 1380 49580 1025499856
1 f none acl/cert_issue.cgi 0700 root bin 1573 65268 1025499857
1 f none acl/cert_output.cgi 0700 root bin 218 18089 1025499857
1 f none acl/config 0600 root bin 51 4673 1025499857
1 f none acl/config-debian-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-freebsd 0600 root bin 41 3718 1025499857
1 f none acl/config-generic-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-gentoo-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-macos-1.3 0600 root bin 41 3718 1025499857
1 f none acl/config-macos-1.4 0600 root bin 41 3718 1025499857
1 f none acl/config-mandrake-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-msc-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-open-linux-3.1e 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.1 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.2 0600 root bin 41 3718 1025499857
1 f none acl/config-redhat-linux-7.3 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.1 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.2 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-7.3 0600 root bin 41 3718 1025499857
1 f none acl/config-suse-linux-8.0 0600 root bin 41 3718 1025499857
1 f none acl/config.info 0600 root bin 156 14031 1025499857
1 f none acl/config.info.ca 0600 root bin 182 16660 1025499857
1 f none acl/config.info.cz 0600 root bin 46 4309 1025499857
1 f none acl/config.info.de 0600 root bin 169 15175 1025499857
1 f none acl/config.info.es 0600 root bin 117 11036 1025499857
1 f none acl/config.info.hu 0600 root bin 142 13995 1025499857
1 f none acl/config.info.ja_JP.euc 0600 root bin 117 18030 1025499857
1 f none acl/config.info.nl 0600 root bin 110 10046 1025499857
1 f none acl/config.info.pl 0600 root bin 198 19310 1025499857
1 f none acl/config.info.ru_RU 0600 root bin 117 19765 1025499857
1 f none acl/config.info.ru_SU 0600 root bin 117 17850 1025499857
1 f none acl/config.info.sv 0600 root bin 102 9688 1025499857
1 f none acl/config.info.tr 0600 root bin 108 11053 1025499857
1 f none acl/config.info.zh_CN 0600 root bin 88 11060 1025499857
1 f none acl/config.info.zh_TW.Big5 0600 root bin 41 4869 1025499857
1 f none acl/convert.cgi 0700 root bin 2657 14524 1025499857
1 f none acl/convert_form.cgi 0700 root bin 1557 2399 1025499857
1 f none acl/defaultacl 0600 root bin 140 11626 1025499857
1 f none acl/delete_group.cgi 0700 root bin 1251 38724 1025499857
1 f none acl/delete_session.cgi 0700 root bin 338 30252 1025499857
1 f none acl/delete_user.cgi 0700 root bin 653 54295 1025499857
1 f none acl/edit_acl.cgi 0700 root bin 2293 57167 1025499857
1 f none acl/edit_group.cgi 0700 root bin 2498 5269 1025499857
1 f none acl/edit_sync.cgi 0700 root bin 1046 23051 1025499857
1 f none acl/edit_unix.cgi 0700 root bin 977 18275 1025499857
1 f none acl/edit_user.cgi 0700 root bin 8572 32164 1025499857
1 f none acl/feedback_files.pl 0600 root bin 232 19940 1025499857
1 d none acl/images 0700 root bin
1 f none acl/images/cert.gif 0600 root bin 1420 41188 1025499857
1 f none acl/images/convert.gif 0600 root bin 1798 17771 1025499857
1 f none acl/images/empty.gif 0600 root bin 64 5363 1025499857
1 f none acl/images/icon.gif 0600 root bin 1932 44305 1025499857
1 f none acl/images/sessions.gif 0600 root bin 1705 53289 1025499857
1 f none acl/images/sync.gif 0600 root bin 1708 10354 1025499857
1 f none acl/images/tick.gif 0600 root bin 75 7211 1025499857
1 f none acl/images/unix.gif 0600 root bin 390 43396 1025499857
1 f none acl/index.cgi 0700 root bin 7453 40861 1025499857
1 d none acl/lang 0700 root bin
1 f none acl/lang/ca 0600 root bin 9491 51671 1025499857
1 f none acl/lang/cz 0600 root bin 3005 53904 1025499857
1 f none acl/lang/de 0600 root bin 11481 24596 1025499856
1 f none acl/lang/en 0600 root bin 9186 8705 1025499856
1 f none acl/lang/es 0600 root bin 7502 57258 1025499856
1 f none acl/lang/fr 0600 root bin 8449 40044 1025499856
1 f none acl/lang/hu 0600 root bin 4476 11421 1025499857
1 f none acl/lang/it 0600 root bin 9593 50879 1025499857
1 f none acl/lang/ja_JP.euc 0600 root bin 6744 48156 1025499857
1 f none acl/lang/ko_KR.euc 0600 root bin 6311 59856 1025499857
1 f none acl/lang/nl 0600 root bin 6264 64538 1025499857
1 f none acl/lang/pl 0600 root bin 9574 50985 1025499857
1 f none acl/lang/pt 0600 root bin 901 20988 1025499856
1 f none acl/lang/ru_RU 0600 root bin 6061 61575 1025499857
1 f none acl/lang/ru_SU 0600 root bin 6073 26652 1025499857
1 f none acl/lang/sv 0600 root bin 5907 56461 1025499857
1 f none acl/lang/tr 0600 root bin 4335 4591 1025499857
1 f none acl/lang/zh_CN 0600 root bin 3105 58802 1025499856
1 f none acl/lang/zh_TW.Big5 0600 root bin 2317 44127 1025499856
1 f none acl/list_sessions.cgi 0700 root bin 1448 53651 1025499857
1 f none acl/log_parser.pl 0600 root bin 1180 26605 1025499857
1 f none acl/module.info 0600 root bin 538 56525 1025499882
1 f none acl/openssl.cnf 0600 root bin 6166 1333 1025499857
1 f none acl/save_acl.cgi 0700 root bin 1722 10760 1025499857
1 f none acl/save_group.cgi 0700 root bin 3018 44736 1025499857
1 f none acl/save_sync.cgi 0700 root bin 498 44123 1025499857
1 f none acl/save_unix.cgi 0700 root bin 508 43746 1025499857
1 f none acl/save_user.cgi 0700 root bin 8066 28565 1025499857
1 f none acl/useradmin_update.pl 0600 root bin 2138 40919 1025499857
1 f none acl_security.pl 0600 root bin 5049 21408 1025499832
1 d none apache 0700 root bin
1 f none apache/acl_security.pl 0600 root bin 3996 63788 1025499857
1 f none apache/allmanual_form.cgi 0700 root bin 1179 33650 1025499857
1 f none apache/allmanual_save.cgi 0700 root bin 497 41103 1025499857
1 f none apache/apache-lib.pl 0600 root bin 25248 58704 1025499857
1 f none apache/auth-lib.pl 0600 root bin 2866 19742 1025499857
1 f none apache/autoindex.pl 0600 root bin 9756 40683 1025499857
1 f none apache/browsermatch.pl 0600 root bin 2204 37722 1025499857
1 f none apache/cache.pl 0600 root bin 3063 62798 1025499857
1 f none apache/change_dir.cgi 0700 root bin 1391 44312 1025499857
1 f none apache/change_files.cgi 0700 root bin 1262 34092 1025499857
1 f none apache/config-aix 0600 root bin 195 18337 1025499857
1 f none apache/config-cobalt-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-corel-linux 0600 root bin 307 28723 1025499857
1 f none apache/config-debian-linux 0600 root bin 307 28723 1025499857
1 f none apache/config-freebsd 0600 root bin 335 31658 1025499857
1 f none apache/config-generic-linux 0600 root bin 216 20308 1025499857
1 f none apache/config-gentoo-linux 0600 root bin 287 26925 1025499857
1 f none apache/config-hpux 0600 root bin 216 20308 1025499857
1 f none apache/config-irix 0600 root bin 216 20308 1025499857
1 f none apache/config-lfs-linux 0600 root bin 398 37664 1025499857
1 f none apache/config-macos 0600 root bin 428 40752 1025499857
1 f none apache/config-macos-1.3 0600 root bin 277 26190 1025499857
1 f none apache/config-macos-1.4 0600 root bin 277 26190 1025499857
1 f none apache/config-mandrake-linux 0600 root bin 272 23894 1025499857
1 f none apache/config-msc-linux 0600 root bin 196 18425 1025499857
1 f none apache/config-netbsd 0600 root bin 316 29941 1025499857
1 f none apache/config-open-linux-2.3 0600 root bin 272 24366 1025499857
1 f none apache/config-open-linux-2.3e 0600 root bin 258 23053 1025499857
1 f none apache/config-open-linux-2.4 0600 root bin 258 23053 1025499857
1 f none apache/config-open-linux-2.5 0600 root bin 355 32260 1025499857
1 f none apache/config-open-linux-3.1e 0600 root bin 355 32260 1025499857
1 f none apache/config-openbsd 0600 root bin 278 26379 1025499857
1 f none apache/config-openserver 0600 root bin 356 33497 1025499857
1 f none apache/config-osf1 0600 root bin 216 20308 1025499857
1 f none apache/config-redhat-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-redhat-linux-7.0 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.1 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.2 0600 root bin 288 25309 1025499857
1 f none apache/config-redhat-linux-7.3 0600 root bin 288 25309 1025499857
1 f none apache/config-slackware-linux 0600 root bin 107 9986 1025499857
1 f none apache/config-slackware-linux-7.0 0600 root bin 244 22846 1025499857
1 f none apache/config-slackware-linux-7.1 0600 root bin 244 22846 1025499857
1 f none apache/config-slackware-linux-8.0 0600 root bin 283 26596 1025499857
1 f none apache/config-slackware-linux-8.1 0600 root bin 283 26596 1025499858
1 f none apache/config-solaris 0600 root bin 216 20308 1025499857
1 f none apache/config-suse-linux 0600 root bin 309 29175 1025499857
1 f none apache/config-suse-linux-7.1 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-7.2 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-7.3 0600 root bin 307 28951 1025499857
1 f none apache/config-suse-linux-8.0 0600 root bin 307 28951 1025499857
1 f none apache/config-turbo-linux 0600 root bin 206 19237 1025499857
1 f none apache/config-unixware 0600 root bin 356 33497 1025499857
1 f none apache/config.info 0600 root bin 758 4748 1025499857
1 f none apache/config.info.ca 0600 root bin 782 8632 1025499857
1 f none apache/config.info.de 0600 root bin 681 63547 1025499857
1 f none apache/config.info.es 0600 root bin 743 5993 1025499857
1 f none apache/config.info.fr 0600 root bin 711 742 1025499857
1 f none apache/config.info.hu 0600 root bin 732 9955 1025499857
1 f none apache/config.info.ja_JP.euc 0600 root bin 545 9285 1025499857
1 f none apache/config.info.nl 0600 root bin 647 60293 1025499857
1 f none apache/config.info.pl 0600 root bin 838 16535 1025499857
1 f none apache/config.info.pt_BR 0600 root bin 842 16193 1025499857
1 f none apache/config.info.ru_RU 0600 root bin 659 41593 1025499857
1 f none apache/config.info.ru_SU 0600 root bin 659 32481 1025499857
1 f none apache/config.info.sv 0600 root bin 635 62153 1025499857
1 f none apache/config.info.tr 0600 root bin 644 63990 1025499857
1 f none apache/config.info.zh_CN 0600 root bin 469 64171 1025499857
1 f none apache/config.info.zh_TW.Big5 0600 root bin 548 611 1025499857
1 f none apache/config_solaris.txt.1.25 0600 root bin 81 7515 1025499857
1 f none apache/core.pl 0600 root bin 37065 44690 1025499857
1 f none apache/create_dir.cgi 0700 root bin 1061 19939 1025499857
1 f none apache/create_files.cgi 0700 root bin 833 2546 1025499857
1 f none apache/create_htaccess.cgi 0700 root bin 1348 42687 1025499857
1 f none apache/create_virt.cgi 0700 root bin 3916 44942 1025499857
1 f none apache/defaultacl 0600 root bin 81 6717 1025499857
1 f none apache/delete_htaccess.cgi 0700 root bin 558 47804 1025499857
1 f none apache/dir_index.cgi 0700 root bin 2561 11219 1025499857
1 f none apache/edit_authgroup.cgi 0700 root bin 1606 3577 1025499857
1 f none apache/edit_authuser.cgi 0700 root bin 1845 23552 1025499857
1 f none apache/edit_defines.cgi 0700 root bin 803 2650 1025499857
1 f none apache/edit_dir.cgi 0700 root bin 1291 44549 1025499857
1 f none apache/edit_files.cgi 0700 root bin 1297 46398 1025499857
1 f none apache/edit_global.cgi 0700 root bin 2088 38075 1025499857
1 f none apache/edit_gmime_type.cgi 0700 root bin 1259 37766 1025499857
1 f none apache/edit_htaccess.cgi 0700 root bin 1194 36985 1025499857
1 f none apache/edit_virt.cgi 0700 root bin 1378 51497 1025499857
1 f none apache/feedback_files.pl 0600 root bin 125 9983 1025499857
1 f none apache/files_index.cgi 0700 root bin 2195 50598 1025499857
1 f none apache/find_htaccess.cgi 0700 root bin 1758 12185 1025499857
1 f none apache/htaccess.cgi 0700 root bin 1504 59983 1025499857
1 f none apache/htaccess_index.cgi 0700 root bin 2866 34059 1025499857
1 d none apache/images 0700 root bin
1 f none apache/images/def.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/defines.gif 0600 root bin 706 16967 1025499857
1 f none apache/images/dir.gif 0600 root bin 266 29430 1025499857
1 f none apache/images/doc.gif 0600 root bin 245 29407 1025499857
1 f none apache/images/edit.gif 0600 root bin 478 48537 1025499857
1 f none apache/images/icon.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/recon.gif 0600 root bin 592 64167 1025499857
1 f none apache/images/show.gif 0600 root bin 323 37244 1025499857
1 f none apache/images/type_icon_0.gif 0600 root bin 259 29070 1025499857
1 f none apache/images/type_icon_1.gif 0600 root bin 478 58145 1025499857
1 f none apache/images/type_icon_10.gif 0600 root bin 208 23229 1025499857
1 f none apache/images/type_icon_11.gif 0600 root bin 388 40285 1025499857
1 f none apache/images/type_icon_12.gif 0600 root bin 286 31680 1025499857
1 f none apache/images/type_icon_13.gif 0600 root bin 214 23452 1025499857
1 f none apache/images/type_icon_14.gif 0600 root bin 364 43760 1025499857
1 f none apache/images/type_icon_15.gif 0600 root bin 969 27469 1025499857
1 f none apache/images/type_icon_16.gif 0600 root bin 691 5431 1025499857
1 f none apache/images/type_icon_17.gif 0600 root bin 1029 56191 1025499857
1 f none apache/images/type_icon_18.gif 0600 root bin 957 2730 1025499857
1 f none apache/images/type_icon_19.gif 0600 root bin 405 48317 1025499857
1 f none apache/images/type_icon_2.gif 0600 root bin 281 32091 1025499857
1 f none apache/images/type_icon_3.gif 0600 root bin 470 52260 1025499857
1 f none apache/images/type_icon_4.gif 0600 root bin 275 34570 1025499857
1 f none apache/images/type_icon_5.gif 0600 root bin 373 41729 1025499857
1 f none apache/images/type_icon_6.gif 0600 root bin 395 44484 1025499857
1 f none apache/images/type_icon_7.gif 0600 root bin 394 41034 1025499857
1 f none apache/images/type_icon_8.gif 0600 root bin 390 43396 1025499857
1 f none apache/images/type_icon_9.gif 0600 root bin 460 53918 1025499857
1 f none apache/images/virt.gif 0600 root bin 524 52842 1025499857
1 f none apache/images/virt_index.gif 0600 root bin 2654 62271 1025499857
1 f none apache/index.cgi 0700 root bin 11978 35696 1025499857
1 d none apache/lang 0700 root bin
1 f none apache/lang/ca 0600 root bin 40721 31448 1025499857
1 f none apache/lang/de 0600 root bin 11727 54885 1025499857
1 f none apache/lang/en 0600 root bin 35642 30514 1025499857
1 f none apache/lang/es 0600 root bin 36505 34163 1025499857
1 f none apache/lang/fr 0600 root bin 36323 43115 1025499857
1 f none apache/lang/hu 0600 root bin 28072 9268 1025499857
1 f none apache/lang/it 0600 root bin 31929 9658 1025499857
1 f none apache/lang/ja_JP.euc 0600 root bin 32629 42630 1025499857
1 f none apache/lang/ko_KR.euc 0600 root bin 29102 50748 1025499857
1 f none apache/lang/nl 0600 root bin 32787 40972 1025499857
1 f none apache/lang/pl 0600 root bin 35171 31672 1025499857
1 f none apache/lang/pt 0600 root bin 10017 54712 1025499857
1 f none apache/lang/pt_BR 0600 root bin 11696 28307 1025499857
1 f none apache/lang/ru_RU 0600 root bin 9822 27879 1025499857
1 f none apache/lang/ru_SU 0600 root bin 9909 13750 1025499857
1 f none apache/lang/sv 0600 root bin 31911 6096 1025499857
1 f none apache/lang/tr 0600 root bin 30724 44450 1025499857
1 f none apache/lang/zh_CN 0600 root bin 22679 40462 1025499857
1 f none apache/lang/zh_TW.Big5 0600 root bin 7380 26599 1025499857
1 f none apache/list_authgroups.cgi 0700 root bin 1487 51697 1025499857
1 f none apache/list_authusers.cgi 0700 root bin 1978 29335 1025499857
1 f none apache/log_parser.pl 0600 root bin 3563 12417 1025499857
1 f none apache/manual_form.cgi 0700 root bin 2552 6670 1025499857
1 f none apache/manual_save.cgi 0700 root bin 1725 4434 1025499857
1 f none apache/mod_access.pl 0600 root bin 3152 44817 1025499857
1 f none apache/mod_actions.pl 0600 root bin 2618 4267 1025499857
1 f none apache/mod_alias.pl 0600 root bin 5321 35699 1025499857
1 f none apache/mod_asis.pl 0600 root bin 125 10531 1025499857
1 f none apache/mod_auth.pl 0600 root bin 1883 22312 1025499857
1 f none apache/mod_auth_dbm.pl 0600 root bin 1832 15984 1025499857
1 f none apache/mod_autoindex.pl 0600 root bin 2145 40277 1025499857
1 f none apache/mod_browser.pl 0600 root bin 274 23709 1025499857
1 f none apache/mod_cache.pl 0600 root bin 3032 38066 1025499857
1 f none apache/mod_cern_meta.pl 0600 root bin 1152 26386 1025499857
1 f none apache/mod_cgi.pl 0600 root bin 1288 40877 1025499857
1 f none apache/mod_dir.pl 0600 root bin 1085 15578 1025499857
1 f none apache/mod_disk_cache.pl 0600 root bin 1050 17714 1025499857
1 f none apache/mod_env.pl 0600 root bin 2077 28496 1025499857
1 f none apache/mod_expires.pl.broken 0600 root bin 3295 51150 1025499857
1 f none apache/mod_ext_filter.pl 0600 root bin 2743 22066 1025499857
1 f none apache/mod_imap.pl 0600 root bin 2403 64653 1025499857
1 f none apache/mod_include.pl 0600 root bin 601 50046 1025499857
1 f none apache/mod_info.pl 0600 root bin 145 12617 1025499857
1 f none apache/mod_log_agent.pl 0600 root bin 1101 24147 1025499857
1 f none apache/mod_log_common.pl 0600 root bin 1168 29749 1025499857
1 f none apache/mod_log_config.pl 0600 root bin 4453 13823 1025499857
1 f none apache/mod_log_referer.pl 0600 root bin 1625 1986 1025499857
1 f none apache/mod_mem_cache.pl 0600 root bin 1124 28934 1025499857
1 f none apache/mod_mime.pl 0600 root bin 6312 52087 1025499857
1 f none apache/mod_mime_magic.pl 0600 root bin 521 43594 1025499857
1 f none apache/mod_negotiation.pl 0600 root bin 1209 34436 1025499857
1 f none apache/mod_perl.pl 0600 root bin 147 12898 1025499857
1 f none apache/mod_php.pl 0600 root bin 93 8070 1025499857
1 f none apache/mod_php3.pl 0600 root bin 147 12618 1025499857
1 f none apache/mod_php4.pl 0600 root bin 2191 41280 1025499857
1 f none apache/mod_proxy.pl 0600 root bin 8874 29940 1025499857
1 f none apache/mod_setenvif.pl 0600 root bin 3113 41145 1025499857
1 f none apache/mod_speling.pl 0600 root bin 565 46556 1025499857
1 f none apache/mod_ssl.pl 0600 root bin 3262 4270 1025499857
1 f none apache/mod_status.pl 0600 root bin 542 45268 1025499857
1 f none apache/mod_suexec.pl 0600 root bin 1268 42014 1025499857
1 f none apache/mod_userdir.pl 0600 root bin 2504 59616 1025499857
1 f none apache/mod_vhost_alias.pl 0600 root bin 2299 64754 1025499857
1 f none apache/module.info 0600 root bin 769 10338 1025499882
1 f none apache/mpm_netware.pl 0600 root bin 1288 41159 1025499857
1 f none apache/mpm_winnt.pl 0600 root bin 797 63829 1025499857
1 f none apache/notes 0600 root bin 1147 38271 1025499857
1 f none apache/perchild.pl 0600 root bin 4144 7229 1025499857
1 f none apache/prefork.pl 0600 root bin 792 58253 1025499857
1 f none apache/reconfig.cgi 0700 root bin 567 48627 1025499857
1 f none apache/reconfig_form.cgi 0700 root bin 2068 36901 1025499857
1 f none apache/remove_vserv.pl 0700 root bin 886 4844 1025499857
1 f none apache/restart.cgi 0700 root bin 1820 16254 1025499857
1 f none apache/save_authgroup.cgi 0700 root bin 1124 27262 1025499857
1 f none apache/save_authuser.cgi 0700 root bin 1200 31716 1025499857
1 f none apache/save_defines.cgi 0700 root bin 447 38964 1025499857
1 f none apache/save_dir.cgi 0700 root bin 744 63459 1025499857
1 f none apache/save_files.cgi 0700 root bin 751 64921 1025499857
1 f none apache/save_global.cgi 0700 root bin 514 44173 1025499857
1 f none apache/save_gmime_type.cgi 0700 root bin 736 58727 1025499857
1 f none apache/save_htaccess.cgi 0700 root bin 677 59309 1025499857
1 f none apache/save_sync.cgi 0700 root bin 494 42571 1025499857
1 f none apache/save_virt.cgi 0700 root bin 734 63058 1025499857
1 f none apache/save_vserv.cgi 0700 root bin 2910 33086 1025499857
1 f none apache/search_virt.cgi 0700 root bin 4173 64845 1025499857
1 f none apache/show.cgi 0700 root bin 3787 35559 1025499857
1 f none apache/show_dir.cgi 0700 root bin 2095 36692 1025499857
1 f none apache/show_files.cgi 0700 root bin 2095 36850 1025499857
1 f none apache/show_htaccess.cgi 0700 root bin 2119 35065 1025499857
1 f none apache/show_virt.cgi 0700 root bin 2173 40072 1025499857
1 f none apache/start.cgi 0700 root bin 2126 42705 1025499857
1 f none apache/stop.cgi 0700 root bin 1054 19995 1025499857
1 f none apache/useradmin_update.pl 0600 root bin 957 7549 1025499857
1 f none apache/virt_index.cgi 0700 root bin 4971 5024 1025499857
1 f none apache/worker.pl 0600 root bin 1606 61749 1025499857
1 d none at 0700 root bin
1 f none at/acl_security.pl 0600 root bin 1249 36971 1025499876
1 f none at/at-lib.pl 0600 root bin 861 1940 1025499876
1 f none at/config-corel-linux 0600 root bin 40 3868 1025499876
1 f none at/config-debian-linux 0600 root bin 40 3868 1025499876
1 f none at/config-debian-linux-3.0 0600 root bin 45 4349 1025499876
1 f none at/config-freebsd 0600 root bin 37 3482 1025499876
1 f none at/config-generic-linux 0600 root bin 40 3868 1025499876
1 f none at/config-gentoo-linux 0600 root bin 39 3745 1025499876
1 f none at/config-macos 0600 root bin 35 3282 1025499876
1 f none at/config-mandrake-linux 0600 root bin 36 3438 1025499876
1 f none at/config-msc-linux 0600 root bin 36 3438 1025499876
1 f none at/config-netbsd 0600 root bin 37 3482 1025499876
1 f none at/config-open-linux 0600 root bin 41 3915 1025499876
1 f none at/config-openserver 0600 root bin 50 4886 1025499876
1 f none at/config-redhat-linux 0600 root bin 36 3438 1025499876
1 f none at/config-slackware-linux 0600 root bin 40 3868 1025499876
1 f none at/config-solaris 0600 root bin 47 4554 1025499876
1 f none at/config-suse-linux 0600 root bin 40 3868 1025499876
1 f none at/config-turbo-linux 0600 root bin 36 3438 1025499876
1 f none at/config.info 0600 root bin 97 9038 1025499876
1 f none at/config.info.ca 0600 root bin 111 10131 1025499876
1 f none at/config.info.de 0600 root bin 106 9822 1025499876
1 f none at/config.info.pl 0600 root bin 106 9909 1025499876
1 f none at/config.info.zh_TW.Big5 0600 root bin 86 9169 1025499876
1 f none at/create_job.cgi 0700 root bin 922 10453 1025499876
1 f none at/defaultacl 0600 root bin 25 2143 1025499876
1 f none at/delete_job.cgi 0700 root bin 422 35366 1025499876
1 f none at/edit_job.cgi 0700 root bin 1497 57948 1025499876
1 f none at/freebsd-lib.pl 0600 root bin 1056 11982 1025499876
1 d none at/images 0700 root bin
1 f none at/images/icon.gif 0600 root bin 560 2219 1025499876
1 f none at/index.cgi 0700 root bin 3077 51891 1025499876
1 d none at/lang 0700 root bin
1 f none at/lang/ca 0600 root bin 1254 53934 1025499876
1 f none at/lang/de 0600 root bin 1934 41648 1025499876
1 f none at/lang/en 0600 root bin 1119 40417 1025499876
1 f none at/lang/hu 0600 root bin 1326 6070 1025499876
1 f none at/lang/it 0600 root bin 1272 56524 1025499876
1 f none at/lang/pl 0600 root bin 1235 57609 1025499876
1 f none at/lang/zh_TW.Big5 0600 root bin 873 49848 1025499876
1 f none at/linux-lib.pl 0600 root bin 1054 11809 1025499876
1 f none at/macos-lib.pl 0600 root bin 1024 9334 1025499876
1 f none at/module.info 0600 root bin 408 39382 1025499882
1 f none at/openserver-lib.pl 0600 root bin 985 7858 1025499876
1 f none at/solaris-lib.pl 0600 root bin 1006 9459 1025499876
1 d none bind8 0700 root bin
1 f none bind8/acl_security.pl 0600 root bin 6594 14266 1025499858
1 f none bind8/bind8-lib.pl 0600 root bin 26784 30322 1025499858
1 f none bind8/conf_acls.cgi 0700 root bin 910 8822 1025499858
1 f none bind8/conf_controls.cgi 0700 root bin 3137 57710 1025499859
1 f none bind8/conf_files.cgi 0700 root bin 1302 44440 1025499858
1 f none bind8/conf_forwarding.cgi 0700 root bin 1499 61871 1025499859
1 f none bind8/conf_logging.cgi 0700 root bin 6663 9269 1025499858
1 f none bind8/conf_misc.cgi 0700 root bin 2194 52174 1025499858
1 f none bind8/conf_net.cgi 0700 root bin 2656 21194 1025499858
1 f none bind8/conf_servers.cgi 0700 root bin 1763 13583 1025499858
1 f none bind8/conf_zonedef.cgi 0700 root bin 4123 16080 1025499858
1 f none bind8/config-aix 0600 root bin 272 25241 1025499859
1 f none bind8/config-cobalt-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-corel-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-debian-linux 0600 root bin 277 25741 1025499858
1 f none bind8/config-debian-linux-2.2 0600 root bin 282 26201 1025499858
1 f none bind8/config-debian-linux-3.0 0600 root bin 282 26201 1025499859
1 f none bind8/config-freebsd-2.1 0600 root bin 283 26311 1025499859
1 f none bind8/config-freebsd-2.2 0600 root bin 283 26311 1025499859
1 f none bind8/config-freebsd-3.0 0600 root bin 284 26403 1025499858
1 f none bind8/config-freebsd-3.1 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.2 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.3 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.4 0600 root bin 277 25741 1025499858
1 f none bind8/config-freebsd-3.5 0600 root bin 277 25741 1025499859
1 f none bind8/config-freebsd-4.0 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.1 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.2 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.3 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.4 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.5 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-4.6 0600 root bin 284 26403 1025499859
1 f none bind8/config-freebsd-5.0 0600 root bin 284 26403 1025499858
1 f none bind8/config-generic-linux 0600 root bin 305 28331 1025499859
1 f none bind8/config-gentoo-linux 0600 root bin 350 32533 1025499859
1 f none bind8/config-hpux 0600 root bin 277 25741 1025499858
1 f none bind8/config-irix 0600 root bin 277 25741 1025499858
1 f none bind8/config-macos 0600 root bin 283 26305 1025499858
1 f none bind8/config-macos-1.3 0600 root bin 277 25741 1025499859
1 f none bind8/config-macos-1.4 0600 root bin 277 25741 1025499859
1 f none bind8/config-mandrake-linux 0600 root bin 316 29325 1025499859
1 f none bind8/config-msc-linux 0600 root bin 311 28919 1025499859
1 f none bind8/config-netbsd 0600 root bin 284 26403 1025499859
1 f none bind8/config-open-linux 0600 root bin 316 29325 1025499858
1 f none bind8/config-openbsd-2.5 0600 root bin 277 25741 1025499858
1 f none bind8/config-openbsd-2.6 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.7 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.8 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-2.9 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-3.0 0600 root bin 277 25741 1025499859
1 f none bind8/config-openbsd-3.1 0600 root bin 277 25741 1025499859
1 f none bind8/config-openserver 0600 root bin 277 25741 1025499858
1 f none bind8/config-osf1 0600 root bin 277 25741 1025499858
1 f none bind8/config-redhat-linux 0600 root bin 316 29325 1025499859
1 f none bind8/config-redhat-linux-7.1 0600 root bin 350 32479 1025499859
1 f none bind8/config-redhat-linux-7.2 0600 root bin 350 32479 1025499859
1 f none bind8/config-redhat-linux-7.3 0600 root bin 350 32479 1025499859
1 f none bind8/config-slackware-linux 0600 root bin 277 25741 1025499859
1 f none bind8/config-slackware-linux-8.0 0600 root bin 311 28895 1025499859
1 f none bind8/config-slackware-linux-8.1 0600 root bin 311 28895 1025499859
1 f none bind8/config-solaris 0600 root bin 292 27032 1025499858
1 f none bind8/config-solaris-7 0600 root bin 280 26002 1025499858
1 f none bind8/config-solaris-8 0600 root bin 280 26002 1025499858
1 f none bind8/config-solaris-9 0600 root bin 280 26002 1025499859
1 f none bind8/config-suse-linux 0600 root bin 277 25742 1025499858
1 f none bind8/config-turbo-linux 0600 root bin 277 25743 1025499858
1 f none bind8/config-unixware 0600 root bin 318 29549 1025499858
1 f none bind8/config.info 0600 root bin 1513 5642 1025499859
1 f none bind8/config.info.ca 0600 root bin 1694 25207 1025499859
1 f none bind8/config.info.cz 0600 root bin 367 35370 1025499859
1 f none bind8/config.info.de 0600 root bin 426 38134 1025499858
1 f none bind8/config.info.es 0600 root bin 1394 63647 1025499858
1 f none bind8/config.info.fr 0600 root bin 325 29458 1025499858
1 f none bind8/config.info.pl 0600 root bin 1417 5767 1025499859
1 f none bind8/config.info.pt_BR 0600 root bin 1395 969 1025499859
1 f none bind8/config.info.ru_RU 0600 root bin 326 53131 1025499859
1 f none bind8/config.info.ru_SU 0600 root bin 326 48740 1025499858
1 f none bind8/config.info.sv 0600 root bin 1080 37166 1025499858
1 f none bind8/config.info.tr 0600 root bin 582 62912 1025499859
1 f none bind8/config.info.zh_CN 0600 root bin 667 20999 1025499858
1 f none bind8/config.info.zh_TW.Big5 0600 root bin 294 38132 1025499858
1 f none bind8/convert_form.cgi 0700 root bin 87 7619 1025499859
1 f none bind8/convert_master.cgi 0700 root bin 839 2140 1025499859
1 f none bind8/convert_slave.cgi 0700 root bin 800 788 1025499859
1 f none bind8/create_forward.cgi 0700 root bin 2725 19034 1025499858
1 f none bind8/create_hint.cgi 0700 root bin 1662 3488 1025499859
1 f none bind8/create_master.cgi 0700 root bin 7904 30488 1025499858
1 f none bind8/create_slave.cgi 0700 root bin 4621 34861 1025499858
1 f none bind8/create_view.cgi 0700 root bin 1176 29374 1025499859
1 f none bind8/db.cache 0600 root bin 2769 34340 1025499858
1 f none bind8/defaultacl 0600 root bin 153 12920 1025499858
1 f none bind8/delete_view.cgi 0700 root bin 2499 5011 1025499859
1 f none bind8/delete_zone.cgi 0700 root bin 5741 6913 1025499858
1 f none bind8/dns_boot.cgi 0700 root bin 1849 25079 1025499858
1 f none bind8/edit_forward.cgi 0700 root bin 2532 12629 1025499858
1 f none bind8/edit_hint.cgi 0700 root bin 905 10639 1025499859
1 f none bind8/edit_master.cgi 0700 root bin 4765 56738 1025499858
1 f none bind8/edit_options.cgi 0700 root bin 2975 55103 1025499858
1 f none bind8/edit_record.cgi 0700 root bin 933 11334 1025499858
1 f none bind8/edit_recs.cgi 0700 root bin 4140 56564 1025499858
1 f none bind8/edit_slave.cgi 0700 root bin 5619 55470 1025499858
1 f none bind8/edit_soa.cgi 0700 root bin 2740 33489 1025499858
1 f none bind8/edit_stub.cgi 0700 root bin 5619 55470 1025499858
1 f none bind8/edit_text.cgi 0700 root bin 1339 47966 1025499858
1 f none bind8/edit_view.cgi 0700 root bin 1582 726 1025499859
1 f none bind8/feedback_files.pl 0600 root bin 510 39942 1025499859
1 f none bind8/find_free.cgi 0700 root bin 6580 40837 1025499859
1 f none bind8/find_zones.cgi 0700 root bin 1670 17 1025499858
1 f none bind8/forward_form.cgi 0700 root bin 1480 59044 1025499858
1 f none bind8/hint_form.cgi 0700 root bin 1705 10061 1025499859
1 d none bind8/images 0700 root bin
1 f none bind8/images/A.gif 0600 root bin 307 33387 1025499858
1 f none bind8/images/AAAA.gif 0600 root bin 401 37604 1025499858
1 f none bind8/images/ALL.gif 0600 root bin 287 32969 1025499858
1 f none bind8/images/CNAME.gif 0600 root bin 423 47985 1025499858
1 f none bind8/images/HINFO.gif 0600 root bin 376 45931 1025499858
1 f none bind8/images/LOC.gif 0600 root bin 401 46723 1025499858
1 f none bind8/images/MX.gif 0600 root bin 453 51436 1025499858
1 f none bind8/images/NS.gif 0600 root bin 439 48965 1025499858
1 f none bind8/images/PTR.gif 0600 root bin 373 41933 1025499858
1 f none bind8/images/RP.gif 0600 root bin 425 46682 1025499858
1 f none bind8/images/TXT.gif 0600 root bin 406 46790 1025499858
1 f none bind8/images/WKS.gif 0600 root bin 450 49749 1025499858
1 f none bind8/images/acls.gif 0600 root bin 275 34570 1025499858
1 f none bind8/images/controls.gif 0600 root bin 364 43854 1025499858
1 f none bind8/images/files.gif 0600 root bin 266 29430 1025499858
1 f none bind8/images/findfree.gif 0600 root bin 1582 26323 1025499858
1 f none bind8/images/forward.gif 0600 root bin 2022 61873 1025499858
1 f none bind8/images/forwarding.gif 0600 root bin 315 42734 1025499858
1 f none bind8/images/gen.gif 0600 root bin 319 37191 1025499858
1 f none bind8/images/hint.gif 0600 root bin 2345 37294 1025499858
1 f none bind8/images/icon.gif 0600 root bin 2015 43699 1025499858
1 f none bind8/images/logging.gif 0600 root bin 470 52260 1025499858
1 f none bind8/images/master.gif 0600 root bin 1942 49324 1025499858
1 f none bind8/images/misc.gif 0600 root bin 460 53918 1025499858
1 f none bind8/images/net.gif 0600 root bin 478 58145 1025499858
1 f none bind8/images/no-home.gif 0600 root bin 3768 28252 1025499858
1 f none bind8/images/options.gif 0600 root bin 333 39703 1025499858
1 f none bind8/images/servers.gif 0600 root bin 372 46326 1025499858
1 f none bind8/images/slave.gif 0600 root bin 1920 13163 1025499858
1 f none bind8/images/soa.gif 0600 root bin 434 46821 1025499858
1 f none bind8/images/stub.gif 0600 root bin 1902 9175 1025499858
1 f none bind8/images/text.gif 0600 root bin 305 37957 1025499858
1 f none bind8/images/view.gif 0600 root bin 2075 21934 1025499858
1 f none bind8/images/whois.gif 0600 root bin 630 3495 1025499858
1 f none bind8/images/zonedef.gif 0600 root bin 1692 33173 1025499858
1 f none bind8/index.cgi 0700 root bin 9194 9572 1025499858
1 d none bind8/lang 0700 root bin
1 f none bind8/lang/ca 0600 root bin 23889 45051 1025499858
1 f none bind8/lang/cz 0600 root bin 14145 33816 1025499858
1 f none bind8/lang/de 0600 root bin 21550 580 1025499858
1 f none bind8/lang/en 0600 root bin 22082 35536 1025499858
1 f none bind8/lang/es 0600 root bin 18538 5563 1025499858
1 f none bind8/lang/fr 0600 root bin 19771 7945 1025499858
1 f none bind8/lang/it 0600 root bin 13958 58819 1025499858
1 f none bind8/lang/ja_JP.euc 0600 root bin 16261 26052 1025499858
1 f none bind8/lang/ja_JP.jis 0600 root bin 16261 42906 1025499858
1 f none bind8/lang/ko_KR.euc 0600 root bin 15005 59606 1025499858
1 f none bind8/lang/pl 0600 root bin 22041 24259 1025499858
1 f none bind8/lang/pt 0600 root bin 14067 64378 1025499858
1 f none bind8/lang/pt_BR 0600 root bin 21980 52577 1025499858
1 f none bind8/lang/ru_RU 0600 root bin 13953 32442 1025499858
1 f none bind8/lang/ru_SU 0600 root bin 14040 28293 1025499858
1 f none bind8/lang/sv 0600 root bin 16561 54937 1025499858
1 f none bind8/lang/tr 0600 root bin 15526 26694 1025499858
1 f none bind8/lang/zh_CN 0600 root bin 11868 60217 1025499858
1 f none bind8/lang/zh_TW.Big5 0600 root bin 10861 38411 1025499858
1 f none bind8/list_gen.cgi 0700 root bin 2331 55335 1025499859
1 f none bind8/log_parser.pl 0600 root bin 1455 52175 1025499859
1 f none bind8/master_form.cgi 0700 root bin 4089 19767 1025499858
1 f none bind8/module.info 0600 root bin 798 8485 1025499882
1 f none bind8/move_zone.cgi 0700 root bin 919 12469 1025499859
1 f none bind8/records-lib.pl 0600 root bin 13376 464 1025499858
1 f none bind8/restart.cgi 0700 root bin 360 30429 1025499858
1 f none bind8/restart_slave.cgi 0700 root bin 1269 37255 1025499859
1 f none bind8/restart_zone.cgi 0700 root bin 679 57474 1025499859
1 f none bind8/save_acls.cgi 0700 root bin 816 65215 1025499858
1 f none bind8/save_controls.cgi 0700 root bin 1856 14526 1025499859
1 f none bind8/save_files.cgi 0700 root bin 753 64226 1025499858
1 f none bind8/save_forward.cgi 0700 root bin 797 1691 1025499858
1 f none bind8/save_forwarding.cgi 0700 root bin 909 13095 1025499858
1 f none bind8/save_gen.cgi 0700 root bin 3341 51771 1025499859
1 f none bind8/save_logging.cgi 0700 root bin 2558 63954 1025499859
1 f none bind8/save_master.cgi 0700 root bin 1053 24862 1025499858
1 f none bind8/save_misc.cgi 0700 root bin 1255 41318 1025499859
1 f none bind8/save_net.cgi 0700 root bin 1542 59049 1025499859
1 f none bind8/save_record.cgi 0700 root bin 13864 31567 1025499858
1 f none bind8/save_servers.cgi 0700 root bin 1352 40782 1025499858
1 f none bind8/save_slave.cgi 0700 root bin 1502 60806 1025499858
1 f none bind8/save_soa.cgi 0700 root bin 2195 50132 1025499859
1 f none bind8/save_text.cgi 0700 root bin 856 6537 1025499858
1 f none bind8/save_view.cgi 0700 root bin 641 54842 1025499859
1 f none bind8/save_zonedef.cgi 0700 root bin 2097 43140 1025499858
1 f none bind8/slave_form.cgi 0700 root bin 2315 692 1025499858
1 f none bind8/start.cgi 0700 root bin 1211 33523 1025499858
1 f none bind8/stub_form.cgi 0700 root bin 2315 692 1025499858
1 f none bind8/view_form.cgi 0700 root bin 1421 55609 1025499859
1 f none bind8/whois-servers 0600 root bin 2730 28687 1025499859
1 f none bind8/whois.cgi 0700 root bin 1467 52258 1025499859
1 d none bsdexports 0700 root bin
1 f none bsdexports/bsdexports-lib.pl 0600 root bin 2270 48842 1025499861
1 f none bsdexports/config-freebsd 0600 root bin 86 8059 1025499861
1 f none bsdexports/config-macos 0600 root bin 165 14488 1025499861
1 f none bsdexports/config-netbsd 0600 root bin 86 8059 1025499861
1 f none bsdexports/config-openbsd 0600 root bin 86 8059 1025499860
1 f none bsdexports/config-openserver 0600 root bin 107 9331 1025499861
1 f none bsdexports/config.info 0600 root bin 81 7694 1025499860
1 f none bsdexports/config.info.ca 0600 root bin 91 8497 1025499861
1 f none bsdexports/config.info.de 0600 root bin 89 8415 1025499860
1 f none bsdexports/config.info.es 0600 root bin 96 9175 1025499861
1 f none bsdexports/config.info.fr 0600 root bin 95 8995 1025499861
1 f none bsdexports/config.info.hu 0600 root bin 95 9566 1025499861
1 f none bsdexports/config.info.pl 0600 root bin 90 8640 1025499861
1 f none bsdexports/config.info.sv 0600 root bin 91 8760 1025499860
1 f none bsdexports/config.info.tr 0600 root bin 90 8928 1025499861
1 f none bsdexports/config.info.zh_CN 0600 root bin 77 9357 1025499861
1 f none bsdexports/config.info.zh_TW.Big5 0600 root bin 73 8564 1025499861
1 f none bsdexports/delete_export.cgi 0700 root bin 270 23772 1025499860
1 f none bsdexports/edit_export.cgi 0700 root bin 4132 12639 1025499860
1 d none bsdexports/images 0700 root bin
1 f none bsdexports/images/icon.gif 0600 root bin 245 29407 1025499861
1 f none bsdexports/index.cgi 0700 root bin 1380 46498 1025499861
1 f none bsdexports/module.info 0600 root bin 477 46877 1025499882
1 f none bsdexports/notes 0600 root bin 373 33536 1025499860
1 f none bsdexports/restart_mountd.cgi 0700 root bin 337 28778 1025499861
1 f none bsdexports/save_export.cgi 0700 root bin 4343 17134 1025499860
1 d none burner 0700 root bin
1 f none burner/burn.cgi 0700 root bin 2235 39742 1025499880
1 f none burner/burner-lib.pl 0600 root bin 1300 40409 1025499880
1 f none burner/config 0600 root bin 56 5014 1025499880
1 f none burner/edit_dev.cgi 0700 root bin 1349 44429 1025499880
1 f none burner/edit_mkisofs.cgi 0700 root bin 1624 5408 1025499880
1 f none burner/edit_profile.cgi 0700 root bin 5117 22893 1025499880
1 f none burner/feedback_files.pl 0600 root bin 229 18608 1025499880
1 d none burner/images 0700 root bin
1 f none burner/images/cdrom.gif 0600 root bin 8441 59018 1025499880
1 f none burner/images/dev.gif 0600 root bin 2345 21365 1025499880
1 f none burner/images/icon.gif 0600 root bin 2313 29117 1025499880
1 f none burner/images/mkisofs.gif 0600 root bin 2367 19179 1025499880
1 f none burner/index.cgi 0700 root bin 1969 27986 1025499880
1 d none burner/lang 0700 root bin
1 f none burner/lang/ca 0600 root bin 5785 11083 1025499880
1 f none burner/lang/en 0600 root bin 5194 14509 1025499880
1 f none burner/lang/zh_TW.Big5 0600 root bin 3670 8544 1025499880
1 f none burner/module.info 0600 root bin 126 11327 1025499882
1 f none burner/save_dev.cgi 0700 root bin 435 36734 1025499880
1 f none burner/save_mkisofs.cgi 0700 root bin 329 28442 1025499880
1 f none burner/save_profile.cgi 0700 root bin 7765 57149 1025499880
1 d none caldera 0700 root bin
1 f none caldera/Alphabet.gif 0600 root bin 8492 3248 1025499871
1 d none caldera/acl 0700 root bin
1 d none caldera/acl/images 0700 root bin
1 f none caldera/acl/images/icon.gif 0600 root bin 519 54805 1025499871
1 d none caldera/apache 0700 root bin
1 d none caldera/apache/images 0700 root bin
1 f none caldera/apache/images/icon.gif 0600 root bin 578 3342 1025499872
1 d none caldera/at 0700 root bin
1 d none caldera/at/images 0700 root bin
1 f none caldera/at/images/icon.gif 0600 root bin 476 1123 1025499874
1 d none caldera/bind8 0700 root bin
1 d none caldera/bind8/images 0700 root bin
1 f none caldera/bind8/images/icon.gif 0600 root bin 540 65158 1025499873
1 d none caldera/bsdexports 0700 root bin
1 d none caldera/bsdexports/images 0700 root bin
1 f none caldera/bsdexports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/burner 0700 root bin
1 d none caldera/burner/images 0700 root bin
1 f none caldera/burner/images/icon.gif 0600 root bin 1292 57730 1025499874
1 d none caldera/certmgr 0700 root bin
1 d none caldera/certmgr/images 0700 root bin
1 f none caldera/certmgr/images/icon.gif 0600 root bin 300 34616 1025499873
1 d none caldera/cfengine 0700 root bin
1 d none caldera/cfengine/images 0700 root bin
1 f none caldera/cfengine/images/icon.gif 0600 root bin 1275 19176 1025499874
1 d none caldera/cluster-software 0700 root bin
1 d none caldera/cluster-software/images 0700 root bin
1 f none caldera/cluster-software/images/icon.gif 0600 root bin 589 3315 1025499874
1 d none caldera/cluster-useradmin 0700 root bin
1 d none caldera/cluster-useradmin/images 0700 root bin
1 f none caldera/cluster-useradmin/images/icon.gif 0600 root bin 551 62511 1025499874
1 d none caldera/cluster-webmin 0700 root bin
1 d none caldera/cluster-webmin/images 0700 root bin
1 f none caldera/cluster-webmin/images/icon.gif 0600 root bin 589 5882 1025499874
1 f none caldera/config 0600 root bin 25 2180 1025499873
1 d none caldera/cpan 0700 root bin
1 d none caldera/cpan/images 0700 root bin
1 f none caldera/cpan/images/icon.gif 0600 root bin 1248 64931 1025499872
1 d none caldera/cron 0700 root bin
1 d none caldera/cron/images 0700 root bin
1 f none caldera/cron/images/icon.gif 0600 root bin 507 49655 1025499873
1 d none caldera/custom 0700 root bin
1 d none caldera/custom/images 0700 root bin
1 f none caldera/custom/images/icon.gif 0600 root bin 590 1709 1025499873
1 d none caldera/dfsadmin 0700 root bin
1 d none caldera/dfsadmin/images 0700 root bin
1 f none caldera/dfsadmin/images/icon.gif 0600 root bin 568 64197 1025499871
1 d none caldera/dhcpd 0700 root bin
1 d none caldera/dhcpd/images 0700 root bin
1 f none caldera/dhcpd/images/icon.gif 0600 root bin 546 1598 1025499871
1 d none caldera/dnsadmin 0700 root bin
1 d none caldera/dnsadmin/images 0700 root bin
1 f none caldera/dnsadmin/images/icon.gif 0600 root bin 540 65158 1025499871
1 d none caldera/exports 0700 root bin
1 d none caldera/exports/images 0700 root bin
1 f none caldera/exports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/fdisk 0700 root bin
1 d none caldera/fdisk/images 0700 root bin
1 f none caldera/fdisk/images/icon.gif 0600 root bin 553 1748 1025499873
1 d none caldera/fetchmail 0700 root bin
1 d none caldera/fetchmail/images 0700 root bin
1 f none caldera/fetchmail/images/icon.gif 0600 root bin 753 38886 1025499873
1 d none caldera/file 0700 root bin
1 d none caldera/file/images 0700 root bin
1 f none caldera/file/images/icon.gif 0600 root bin 522 65367 1025499872
1 d none caldera/firewall 0700 root bin
1 d none caldera/firewall/images 0700 root bin
1 d none caldera/format 0700 root bin
1 d none caldera/format/images 0700 root bin
1 f none caldera/format/images/icon.gif 0600 root bin 553 1748 1025499872
1 d none caldera/fsdump 0700 root bin
1 d none caldera/fsdump/images 0700 root bin
1 f none caldera/fsdump/images/icon.gif 0600 root bin 1276 16818 1025499874
1 d none caldera/grub 0700 root bin
1 d none caldera/grub/images 0700 root bin
1 f none caldera/grub/images/icon.gif 0600 root bin 1197 28237 1025499873
1 d none caldera/heartbeat 0700 root bin
1 d none caldera/heartbeat/images 0700 root bin
1 f none caldera/heartbeat/images/icon.gif 0600 root bin 1312 30355 1025499874
1 d none caldera/help 0700 root bin
1 d none caldera/help/images 0700 root bin
1 f none caldera/help/images/icon.gif 0600 root bin 609 4737 1025499872
1 d none caldera/hpuxexports 0700 root bin
1 d none caldera/hpuxexports/images 0700 root bin
1 f none caldera/hpuxexports/images/icon.gif 0600 root bin 568 64197 1025499873
1 d none caldera/images 0700 root bin
1 f none caldera/images/blue-bg.gif 0600 root bin 799 17967 1025499871
1 f none caldera/images/folder-off.gif 0600 root bin 38 2324 1025499871
1 f none caldera/images/folder-on.gif 0600 root bin 1011 36755 1025499871
1 f none caldera/images/gradient-bg.gif 0600 root bin 230 33700 1025499871
1 d none caldera/images/letters 0700 root bin
1 f none caldera/images/letters/100.gif 0600 root bin 164 17949 1025499872
1 f none caldera/images/letters/101.gif 0600 root bin 155 16396 1025499871
1 f none caldera/images/letters/102.gif 0600 root bin 134 11272 1025499872
1 f none caldera/images/letters/103.gif 0600 root bin 171 18578 1025499871
1 f none caldera/images/letters/104.gif 0600 root bin 147 14679 1025499872
1 f none caldera/images/letters/105.gif 0600 root bin 88 9163 1025499871
1 f none caldera/images/letters/106.gif 0600 root bin 133 11738 1025499872
1 f none caldera/images/letters/107.gif 0600 root bin 152 16988 1025499871
1 f none caldera/images/letters/108.gif 0600 root bin 86 6834 1025499872
1 f none caldera/images/letters/109.gif 0600 root bin 229 20369 1025499871
1 f none caldera/images/letters/110.gif 0600 root bin 143 15657 1025499871
1 f none caldera/images/letters/111.gif 0600 root bin 162 17456 1025499872
1 f none caldera/images/letters/112.gif 0600 root bin 159 17329 1025499871
1 f none caldera/images/letters/113.gif 0600 root bin 159 17214 1025499872
1 f none caldera/images/letters/114.gif 0600 root bin 124 10972 1025499871
1 f none caldera/images/letters/115.gif 0600 root bin 154 17189 1025499872
1 f none caldera/images/letters/116.gif 0600 root bin 142 13087 1025499871
1 f none caldera/images/letters/117.gif 0600 root bin 145 15269 1025499872
1 f none caldera/images/letters/118.gif 0600 root bin 151 17611 1025499871
1 f none caldera/images/letters/119.gif 0600 root bin 187 20982 1025499872
1 f none caldera/images/letters/120.gif 0600 root bin 155 17761 1025499871
1 f none caldera/images/letters/121.gif 0600 root bin 160 17928 1025499871
1 f none caldera/images/letters/122.gif 0600 root bin 138 13922 1025499871
1 f none caldera/images/letters/123.gif 0600 root bin 86 7577 1025499871
1 f none caldera/images/letters/124.gif 0600 root bin 132 13794 1025499871
1 f none caldera/images/letters/125.gif 0600 root bin 123 12585 1025499871
1 f none caldera/images/letters/126.gif 0600 root bin 178 19324 1025499871
1 f none caldera/images/letters/192.gif 0600 root bin 178 19459 1025499871
1 f none caldera/images/letters/193.gif 0600 root bin 184 18919 1025499871
1 f none caldera/images/letters/194.gif 0600 root bin 183 20694 1025499871
1 f none caldera/images/letters/195.gif 0600 root bin 182 21236 1025499871
1 f none caldera/images/letters/196.gif 0600 root bin 182 20704 1025499871
1 f none caldera/images/letters/197.gif 0600 root bin 184 19794 1025499871
1 f none caldera/images/letters/198.gif 0600 root bin 182 17624 1025499871
1 f none caldera/images/letters/199.gif 0600 root bin 153 15459 1025499871
1 f none caldera/images/letters/200.gif 0600 root bin 152 15471 1025499871
1 f none caldera/images/letters/201.gif 0600 root bin 159 15431 1025499871
1 f none caldera/images/letters/202.gif 0600 root bin 155 14927 1025499871
1 f none caldera/images/letters/203.gif 0600 root bin 129 12675 1025499871
1 f none caldera/images/letters/204.gif 0600 root bin 128 11578 1025499871
1 f none caldera/images/letters/205.gif 0600 root bin 136 12072 1025499871
1 f none caldera/images/letters/206.gif 0600 root bin 133 11882 1025499871
1 f none caldera/images/letters/207.gif 0600 root bin 122 11752 1025499871
1 f none caldera/images/letters/208.gif 0600 root bin 178 20342 1025499871
1 f none caldera/images/letters/209.gif 0600 root bin 198 21299 1025499871
1 f none caldera/images/letters/210.gif 0600 root bin 199 20780 1025499871
1 f none caldera/images/letters/211.gif 0600 root bin 202 21844 1025499871
1 f none caldera/images/letters/212.gif 0600 root bin 198 19064 1025499871
1 f none caldera/images/letters/213.gif 0600 root bin 198 19245 1025499871
1 f none caldera/images/letters/214.gif 0600 root bin 204 21942 1025499871
1 f none caldera/images/letters/215.gif 0600 root bin 177 18626 1025499871
1 f none caldera/images/letters/216.gif 0600 root bin 179 17906 1025499871
1 f none caldera/images/letters/217.gif 0600 root bin 184 19073 1025499871
1 f none caldera/images/letters/218.gif 0600 root bin 182 20310 1025499871
1 f none caldera/images/letters/219.gif 0600 root bin 134 12675 1025499872
1 f none caldera/images/letters/220.gif 0600 root bin 154 16287 1025499872
1 f none caldera/images/letters/221.gif 0600 root bin 174 21434 1025499871
1 f none caldera/images/letters/222.gif 0600 root bin 162 17996 1025499872
1 f none caldera/images/letters/223.gif 0600 root bin 165 17854 1025499871
1 f none caldera/images/letters/224.gif 0600 root bin 168 19258 1025499872
1 f none caldera/images/letters/225.gif 0600 root bin 170 18129 1025499871
1 f none caldera/images/letters/226.gif 0600 root bin 168 17201 1025499872
1 f none caldera/images/letters/227.gif 0600 root bin 171 18608 1025499871
1 f none caldera/images/letters/228.gif 0600 root bin 186 19781 1025499872
1 f none caldera/images/letters/229.gif 0600 root bin 158 17395 1025499871
1 f none caldera/images/letters/230.gif 0600 root bin 166 16975 1025499871
1 f none caldera/images/letters/231.gif 0600 root bin 162 17510 1025499872
1 f none caldera/images/letters/232.gif 0600 root bin 173 18480 1025499871
1 f none caldera/images/letters/233.gif 0600 root bin 168 19290 1025499872
1 f none caldera/images/letters/234.gif 0600 root bin 125 11989 1025499871
1 f none caldera/images/letters/235.gif 0600 root bin 123 11319 1025499872
1 f none caldera/images/letters/236.gif 0600 root bin 132 11923 1025499871
1 f none caldera/images/letters/237.gif 0600 root bin 131 12561 1025499871
1 f none caldera/images/letters/238.gif 0600 root bin 120 11981 1025499871
1 f none caldera/images/letters/239.gif 0600 root bin 160 17666 1025499871
1 f none caldera/images/letters/240.gif 0600 root bin 169 17990 1025499871
1 f none caldera/images/letters/241.gif 0600 root bin 170 17725 1025499871
1 f none caldera/images/letters/242.gif 0600 root bin 174 19411 1025499871
1 f none caldera/images/letters/243.gif 0600 root bin 173 18551 1025499871
1 f none caldera/images/letters/244.gif 0600 root bin 173 17784 1025499871
1 f none caldera/images/letters/245.gif 0600 root bin 128 12424 1025499871
1 f none caldera/images/letters/246.gif 0600 root bin 166 17517 1025499871
1 f none caldera/images/letters/247.gif 0600 root bin 148 14627 1025499871
1 f none caldera/images/letters/248.gif 0600 root bin 146 15060 1025499871
1 f none caldera/images/letters/249.gif 0600 root bin 159 15310 1025499871
1 f none caldera/images/letters/250.gif 0600 root bin 158 16128 1025499871
1 f none caldera/images/letters/251.gif 0600 root bin 133 11282 1025499871
1 f none caldera/images/letters/252.gif 0600 root bin 153 14828 1025499871
1 f none caldera/images/letters/253.gif 0600 root bin 174 19504 1025499871
1 f none caldera/images/letters/254.gif 0600 root bin 0 0 1025499871
1 f none caldera/images/letters/255.gif 0600 root bin 0 0 1025499871
1 f none caldera/images/letters/32.gif 0600 root bin 123 14068 1025499872
1 f none caldera/images/letters/33.gif 0600 root bin 94 9882 1025499871
1 f none caldera/images/letters/34.gif 0600 root bin 126 10164 1025499872
1 f none caldera/images/letters/35.gif 0600 root bin 168 18937 1025499871
1 f none caldera/images/letters/36.gif 0600 root bin 172 19405 1025499872
1 f none caldera/images/letters/37.gif 0600 root bin 202 19915 1025499871
1 f none caldera/images/letters/38.gif 0600 root bin 194 20945 1025499872
1 f none caldera/images/letters/39.gif 0600 root bin 82 7765 1025499871
1 f none caldera/images/letters/40.gif 0600 root bin 138 14958 1025499871
1 f none caldera/images/letters/41.gif 0600 root bin 136 13658 1025499872
1 f none caldera/images/letters/42.gif 0600 root bin 148 16556 1025499871
1 f none caldera/images/letters/43.gif 0600 root bin 128 11344 1025499872
1 f none caldera/images/letters/44.gif 0600 root bin 111 9028 1025499871
1 f none caldera/images/letters/45.gif 0600 root bin 63 4757 1025499872
1 f none caldera/images/letters/46.gif 0600 root bin 76 6659 1025499871
1 f none caldera/images/letters/47.gif 0600 root bin 142 15800 1025499872
1 f none caldera/images/letters/48.gif 0600 root bin 166 18775 1025499871
1 f none caldera/images/letters/49.gif 0600 root bin 125 11191 1025499872
1 f none caldera/images/letters/50.gif 0600 root bin 153 16292 1025499871
1 f none caldera/images/letters/51.gif 0600 root bin 164 17431 1025499871
1 f none caldera/images/letters/52.gif 0600 root bin 148 15925 1025499871
1 f none caldera/images/letters/53.gif 0600 root bin 160 17003 1025499871
1 f none caldera/images/letters/54.gif 0600 root bin 168 18886 1025499871
1 f none caldera/images/letters/55.gif 0600 root bin 141 14209 1025499871
1 f none caldera/images/letters/56.gif 0600 root bin 173 18253 1025499871
1 f none caldera/images/letters/57.gif 0600 root bin 169 18324 1025499871
1 f none caldera/images/letters/58.gif 0600 root bin 83 7658 1025499871
1 f none caldera/images/letters/59.gif 0600 root bin 120 10686 1025499871
1 f none caldera/images/letters/60.gif 0600 root bin 138 14839 1025499871
1 f none caldera/images/letters/61.gif 0600 root bin 91 8129 1025499871
1 f none caldera/images/letters/62.gif 0600 root bin 138 16067 1025499871
1 f none caldera/images/letters/63.gif 0600 root bin 145 16103 1025499871
1 f none caldera/images/letters/64.gif 0600 root bin 251 23489 1025499871
1 f none caldera/images/letters/65.gif 0600 root bin 167 19518 1025499871
1 f none caldera/images/letters/66.gif 0600 root bin 168 18711 1025499871
1 f none caldera/images/letters/67.gif 0600 root bin 173 19285 1025499871
1 f none caldera/images/letters/68.gif 0600 root bin 164 18069 1025499871
1 f none caldera/images/letters/69.gif 0600 root bin 146 14806 1025499871
1 f none caldera/images/letters/70.gif 0600 root bin 138 12253 1025499871
1 f none caldera/images/letters/71.gif 0600 root bin 181 19629 1025499872
1 f none caldera/images/letters/72.gif 0600 root bin 119 10435 1025499871
1 f none caldera/images/letters/73.gif 0600 root bin 91 9025 1025499872
1 f none caldera/images/letters/74.gif 0600 root bin 138 13463 1025499871
1 f none caldera/images/letters/75.gif 0600 root bin 170 20045 1025499872
1 f none caldera/images/letters/76.gif 0600 root bin 104 11184 1025499871
1 f none caldera/images/letters/77.gif 0600 root bin 203 23221 1025499872
1 f none caldera/images/letters/78.gif 0600 root bin 166 17696 1025499871
1 f none caldera/images/letters/79.gif 0600 root bin 186 19415 1025499872
1 f none caldera/images/letters/80.gif 0600 root bin 149 16434 1025499872
1 f none caldera/images/letters/81.gif 0600 root bin 183 19515 1025499871
1 f none caldera/images/letters/82.gif 0600 root bin 162 18394 1025499872
1 f none caldera/images/letters/83.gif 0600 root bin 183 19698 1025499871
1 f none caldera/images/letters/84.gif 0600 root bin 87 8745 1025499872
1 f none caldera/images/letters/85.gif 0600 root bin 166 18124 1025499871
1 f none caldera/images/letters/86.gif 0600 root bin 168 17676 1025499872
1 f none caldera/images/letters/87.gif 0600 root bin 225 23256 1025499871
1 f none caldera/images/letters/88.gif 0600 root bin 169 18685 1025499872
1 f none caldera/images/letters/89.gif 0600 root bin 156 16276 1025499871
1 f none caldera/images/letters/90.gif 0600 root bin 154 17474 1025499871
1 f none caldera/images/letters/91.gif 0600 root bin 207 22771 1025499871
1 f none caldera/images/letters/93.gif 0600 root bin 143 15787 1025499871
1 f none caldera/images/letters/94.gif 0600 root bin 85 8941 1025499871
1 f none caldera/images/letters/95.gif 0600 root bin 106 9247 1025499871
1 f none caldera/images/letters/96.gif 0600 root bin 130 13073 1025499871
1 f none caldera/images/letters/97.gif 0600 root bin 156 17417 1025499871
1 f none caldera/images/letters/98.gif 0600 root bin 159 18635 1025499871
1 f none caldera/images/letters/99.gif 0600 root bin 150 16089 1025499871
1 f none caldera/images/main-bg-pixel.gif 0600 root bin 35 1293 1025499872
1 f none caldera/images/nav2bg.gif 0600 root bin 97 10212 1025499872
1 f none caldera/images/navbg.gif 0600 root bin 110 11543 1025499871
1 f none caldera/images/pixel-white.gif 0600 root bin 799 17884 1025499872
1 f none caldera/images/spacer.gif 0600 root bin 43 1850 1025499871
1 f none caldera/images/top-grad-stretch.gif 0600 root bin 62 3276 1025499872
1 f none caldera/images/webmin-header.gif 0600 root bin 7992 20869 1025499872
1 f none caldera/index.cgi 0700 root bin 1662 4562 1025499873
1 f none caldera/index_body.cgi 0700 root bin 116 9603 1025499873
1 f none caldera/index_top.cgi 0700 root bin 5553 17957 1025499872
1 d none caldera/inetd 0700 root bin
1 d none caldera/inetd/images 0700 root bin
1 f none caldera/inetd/images/icon.gif 0600 root bin 565 1415 1025499871
1 d none caldera/init 0700 root bin
1 d none caldera/init/images 0700 root bin
1 f none caldera/init/images/icon.gif 0600 root bin 621 2820 1025499873
1 d none caldera/inittab 0700 root bin
1 d none caldera/inittab/images 0700 root bin
1 f none caldera/inittab/images/icon.gif 0600 root bin 569 474 1025499871
1 d none caldera/ipcache 0700 root bin
1 d none caldera/ipcache/images 0700 root bin
1 d none caldera/ipchains 0700 root bin
1 d none caldera/ipchains/images 0700 root bin
1 f none caldera/ipchains/images/icon.gif 0600 root bin 344 38790 1025499873
1 d none caldera/ipweb 0700 root bin
1 d none caldera/ipweb/images 0700 root bin
1 d none caldera/jabber 0700 root bin
1 d none caldera/jabber/images 0700 root bin
1 f none caldera/jabber/images/icon.gif 0600 root bin 713 38667 1025499874
1 d none caldera/lilo 0700 root bin
1 d none caldera/lilo/images 0700 root bin
1 f none caldera/lilo/images/icon.gif 0600 root bin 623 5629 1025499873
1 d none caldera/link 0700 root bin
1 d none caldera/link/images 0700 root bin
1 f none caldera/link/images/icon.gif 0600 root bin 676 48992 1025499873
1 d none caldera/lkmload 0700 root bin
1 d none caldera/lkmload/images 0700 root bin
1 f none caldera/lkmload/images/icon.gif 0600 root bin 284 33796 1025499873
1 d none caldera/lpadmin 0700 root bin
1 d none caldera/lpadmin/images 0700 root bin
1 f none caldera/lpadmin/images/icon.gif 0600 root bin 524 59033 1025499871
1 d none caldera/lvm 0700 root bin
1 d none caldera/lvm/images 0700 root bin
1 f none caldera/lvm/images/icon.gif 0600 root bin 1207 45869 1025499874
1 d none caldera/majordomo 0700 root bin
1 d none caldera/majordomo/images 0700 root bin
1 f none caldera/majordomo/images/icon.gif 0600 root bin 518 56989 1025499872
1 d none caldera/man 0700 root bin
1 d none caldera/man/images 0700 root bin
1 f none caldera/man/images/icon.gif 0600 root bin 519 53301 1025499872
1 d none caldera/mon 0700 root bin
1 d none caldera/mon/images 0700 root bin
1 f none caldera/mon/images/icon.gif 0600 root bin 1271 5988 1025499874
1 d none caldera/mount 0700 root bin
1 d none caldera/mount/images 0700 root bin
1 f none caldera/mount/images/icon.gif 0600 root bin 536 64712 1025499871
1 d none caldera/mysql 0700 root bin
1 d none caldera/mysql/images 0700 root bin
1 f none caldera/mysql/images/icon.gif 0600 root bin 560 1203 1025499873
1 d none caldera/net 0700 root bin
1 d none caldera/net/images 0700 root bin
1 f none caldera/net/images/icon.gif 0600 root bin 549 63360 1025499872
1 d none caldera/nis 0700 root bin
1 d none caldera/nis/images 0700 root bin
1 f none caldera/nis/images/icon.gif 0600 root bin 679 48679 1025499873
1 d none caldera/openldap 0700 root bin
1 d none caldera/openldap/images 0700 root bin
1 f none caldera/openldap/images/icon.gif 0600 root bin 347 39224 1025499873
1 d none caldera/openslp 0700 root bin
1 d none caldera/openslp/images 0700 root bin
1 f none caldera/openslp/images/icon.gif 0600 root bin 298 35857 1025499873
1 d none caldera/palace 0700 root bin
1 d none caldera/palace/images 0700 root bin
1 f none caldera/palace/images/icon.gif 0600 root bin 762 43430 1025499874
1 d none caldera/pam 0700 root bin
1 d none caldera/pam/images 0700 root bin
1 f none caldera/pam/images/icon.gif 0600 root bin 728 39917 1025499872
1 d none caldera/pap 0700 root bin
1 d none caldera/pap/images 0700 root bin
1 f none caldera/pap/images/icon.gif 0600 root bin 544 59315 1025499872
1 d none caldera/passwd 0700 root bin
1 d none caldera/passwd/images 0700 root bin
1 f none caldera/passwd/images/icon.gif 0600 root bin 467 63123 1025499873
1 d none caldera/postfix 0700 root bin
1 d none caldera/postfix/images 0700 root bin
1 f none caldera/postfix/images/icon.gif 0600 root bin 603 2547 1025499871
1 d none caldera/postgresql 0700 root bin
1 d none caldera/postgresql/images 0700 root bin
1 f none caldera/postgresql/images/icon.gif 0600 root bin 560 1203 1025499871
1 d none caldera/proc 0700 root bin
1 d none caldera/proc/images 0700 root bin
1 f none caldera/proc/images/icon.gif 0600 root bin 570 1927 1025499871
1 d none caldera/procmail 0700 root bin
1 d none caldera/procmail/images 0700 root bin
1 f none caldera/procmail/images/icon.gif 0600 root bin 1206 986 1025499874
1 d none caldera/proftpd 0700 root bin
1 d none caldera/proftpd/images 0700 root bin
1 f none caldera/proftpd/images/icon.gif 0600 root bin 731 33765 1025499874
1 d none caldera/pserver 0700 root bin
1 d none caldera/pserver/images 0700 root bin
1 f none caldera/pserver/images/icon.gif 0600 root bin 1171 52131 1025499874
1 d none caldera/qmailadmin 0700 root bin
1 d none caldera/qmailadmin/images 0700 root bin
1 f none caldera/qmailadmin/images/icon.gif 0600 root bin 1209 41768 1025499874
1 d none caldera/quota 0700 root bin
1 d none caldera/quota/images 0700 root bin
1 f none caldera/quota/images/icon.gif 0600 root bin 547 575 1025499871
1 d none caldera/raid 0700 root bin
1 d none caldera/raid/images 0700 root bin
1 f none caldera/raid/images/icon.gif 0600 root bin 559 500 1025499871
1 d none caldera/samba 0700 root bin
1 d none caldera/samba/images 0700 root bin
1 f none caldera/samba/images/icon.gif 0600 root bin 484 49319 1025499872
1 d none caldera/sendmail 0700 root bin
1 d none caldera/sendmail/images 0700 root bin
1 f none caldera/sendmail/images/icon.gif 0600 root bin 568 1480 1025499872
1 d none caldera/sentry 0700 root bin
1 d none caldera/sentry/images 0700 root bin
1 f none caldera/sentry/images/icon.gif 0600 root bin 741 45960 1025499874
1 d none caldera/servers 0700 root bin
1 d none caldera/servers/images 0700 root bin
1 f none caldera/servers/images/icon.gif 0600 root bin 549 114 1025499872
1 d none caldera/shell 0700 root bin
1 d none caldera/shell/images 0700 root bin
1 f none caldera/shell/images/icon.gif 0600 root bin 968 53572 1025499872
1 d none caldera/shellinabox 0700 root bin
1 d none caldera/shellinabox/images 0700 root bin
1 f none caldera/shellinabox/images/icon.gif 0600 root bin 1335 5931 1025499874
1 d none caldera/software 0700 root bin
1 d none caldera/software/images 0700 root bin
1 f none caldera/software/images/icon.gif 0600 root bin 589 3315 1025499872
1 d none caldera/squid 0700 root bin
1 d none caldera/squid/images 0700 root bin
1 f none caldera/squid/images/icon.gif 0600 root bin 561 2069 1025499872
1 d none caldera/ssh 0700 root bin
1 d none caldera/ssh/images 0700 root bin
1 f none caldera/ssh/images/icon.gif 0600 root bin 513 3 1025499873
1 d none caldera/sshd 0700 root bin
1 d none caldera/sshd/images 0700 root bin
1 f none caldera/sshd/images/icon.gif 0600 root bin 513 3 1025499874
1 d none caldera/status 0700 root bin
1 d none caldera/status/images 0700 root bin
1 f none caldera/status/images/icon.gif 0600 root bin 1284 51185 1025499871
1 d none caldera/stunnel 0700 root bin
1 d none caldera/stunnel/images 0700 root bin
1 f none caldera/stunnel/images/icon.gif 0600 root bin 740 27193 1025499874
1 f none caldera/style.css 0600 root bin 1697 59925 1025499871
1 d none caldera/syslog 0700 root bin
1 d none caldera/syslog/images 0700 root bin
1 f none caldera/syslog/images/icon.gif 0600 root bin 541 61760 1025499871
1 d none caldera/tcpd 0700 root bin
1 d none caldera/tcpd/images 0700 root bin
1 d none caldera/telnet 0700 root bin
1 d none caldera/telnet/images 0700 root bin
1 f none caldera/telnet/images/icon.gif 0600 root bin 513 3 1025499872
1 f none caldera/template.gif 0600 root bin 634 43333 1025499871
1 f none caldera/theme.info 0600 root bin 47 3868 1025499882
1 d none caldera/time 0700 root bin
1 d none caldera/time/images 0700 root bin
1 f none caldera/time/images/icon.gif 0600 root bin 556 773 1025499871
1 d none caldera/useradmin 0700 root bin
1 d none caldera/useradmin/images 0700 root bin
1 f none caldera/useradmin/images/icon.gif 0600 root bin 551 62511 1025499871
1 d none caldera/usermin 0700 root bin
1 d none caldera/usermin/images 0700 root bin
1 f none caldera/usermin/images/icon.gif 0600 root bin 571 586 1025499873
1 d none caldera/vnc 0700 root bin
1 d none caldera/vnc/images 0700 root bin
1 f none caldera/vnc/images/icon.gif 0600 root bin 826 17137 1025499871
1 d none caldera/volution 0700 root bin
1 d none caldera/volution/images 0700 root bin
1 f none caldera/volution/images/icon.gif 0600 root bin 549 63360 1025499873
1 d none caldera/webmin 0700 root bin
1 d none caldera/webmin/images 0700 root bin
1 f none caldera/webmin/images/icon.gif 0600 root bin 589 5882 1025499871
1 d none caldera/webminlog 0700 root bin
1 d none caldera/webminlog/images 0700 root bin
1 f none caldera/webminlog/images/icon.gif 0600 root bin 541 61760 1025499872
1 d none caldera/wuftpd 0700 root bin
1 d none caldera/wuftpd/images 0700 root bin
1 f none caldera/wuftpd/images/icon.gif 0600 root bin 552 932 1025499873
1 d none caldera/xinetd 0700 root bin
1 d none caldera/xinetd/images 0700 root bin
1 f none caldera/xinetd/images/icon.gif 0600 root bin 565 1415 1025499871
1 d none cfengine 0700 root bin
1 f none cfengine/add.cgi 0700 root bin 2099 40398 1025499882
1 f none cfengine/cfengine-lib.pl 0600 root bin 23313 44822 1025499882
1 f none cfengine/cluster.cgi 0700 root bin 2592 3194 1025499882
1 f none cfengine/config 0600 root bin 113 10573 1025499882
1 f none cfengine/config-cobalt-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-debian-linux 0600 root bin 94 8748 1025499882
1 f none cfengine/config-mandrake-linux 0600 root bin 205 18968 1025499882
1 f none cfengine/config-msc-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-open-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-redhat-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-suse-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config-turbo-linux 0600 root bin 215 20028 1025499882
1 f none cfengine/config.info 0600 root bin 392 36149 1025499882
1 f none cfengine/delete_host.cgi 0700 root bin 266 22630 1025499882
1 f none cfengine/down.cgi 0700 root bin 345 28045 1025499882
1 f none cfengine/edit_cfd.cgi 0700 root bin 1093 25441 1025499882
1 f none cfengine/edit_class.cgi 0700 root bin 36918 32227 1025499882
1 f none cfengine/edit_host.cgi 0700 root bin 1962 34122 1025499882
1 f none cfengine/edit_push.cgi 0700 root bin 1777 13869 1025499882
1 f none cfengine/feedback_files.pl 0600 root bin 104 8614 1025499882
1 d none cfengine/help 0700 root bin
1 f none cfengine/help/cfd.html 0600 root bin 923 19531 1025499882
1 f none cfengine/help/edit.html 0600 root bin 1597 13124 1025499882
1 f none cfengine/help/hosts.html 0600 root bin 1251 49502 1025499882
1 f none cfengine/help/intro.html 0600 root bin 1281 51655 1025499882
1 f none cfengine/help/push.html 0600 root bin 562 52307 1025499882
1 f none cfengine/help/run.html 0600 root bin 290 25994 1025499882
1 d none cfengine/images 0700 root bin
1 f none cfengine/images/cfd.gif 0600 root bin 272 33549 1025499882
1 f none cfengine/images/down.gif 0600 root bin 108 8892 1025499882
1 f none cfengine/images/gap.gif 0600 root bin 73 6048 1025499882
1 f none cfengine/images/hosts.gif 0600 root bin 2575 13688 1025499882
1 f none cfengine/images/icon.gif 0600 root bin 2612 18019 1025499882
1 f none cfengine/images/push.gif 0600 root bin 415 48303 1025499882
1 f none cfengine/images/run.gif 0600 root bin 1037 58438 1025499882
1 f none cfengine/images/up.gif 0600 root bin 103 9086 1025499882
1 f none cfengine/index.cgi 0700 root bin 2110 38844 1025499882
1 d none cfengine/lang 0700 root bin
1 f none cfengine/lang/en 0600 root bin 19985 52620 1025499882
1 f none cfengine/list_hosts.cgi 0700 root bin 2177 51029 1025499882
1 f none cfengine/log_parser.pl 0600 root bin 479 40956 1025499882
1 f none cfengine/module.info 0600 root bin 85 7577 1025499882
1 f none cfengine/push.cgi 0700 root bin 629 51596 1025499882
1 f none cfengine/run.cgi 0700 root bin 840 65316 1025499882
1 f none cfengine/run_form.cgi 0700 root bin 574 48138 1025499882
1 f none cfengine/save_class.cgi 0700 root bin 20895 42332 1025499882
1 f none cfengine/save_push.cgi 0700 root bin 881 8661 1025499882
1 f none cfengine/start.cgi 0700 root bin 463 38825 1025499882
1 f none cfengine/stop.cgi 0700 root bin 486 40590 1025499882
1 f none cfengine/up.cgi 0700 root bin 341 27625 1025499882
1 f none changepass.pl 0700 root bin 1873 21667 1025499831
1 f none chooser.cgi 0700 root bin 4080 54133 1025499831
1 d none cluster-software 0700 root bin
1 f none cluster-software/add.cgi 0700 root bin 2176 46011 1025499878
1 f none cluster-software/close.cgi 0700 root bin 422 35675 1025499878
1 f none cluster-software/closeall.cgi 0700 root bin 208 18127 1025499878
1 f none cluster-software/cluster-software-lib.pl 0600 root bin 1969 30656 1025499878
1 f none cluster-software/config 0600 root bin 12 1091 1025499878
1 f none cluster-software/config.info 0600 root bin 51 4548 1025499878
1 f none cluster-software/config.info.ca 0600 root bin 65 5857 1025499878
1 f none cluster-software/delete_host.cgi 0700 root bin 260 22124 1025499878
1 f none cluster-software/delete_pack.cgi 0700 root bin 3470 8021 1025499878
1 f none cluster-software/do_install.cgi 0700 root bin 5453 19012 1025499878
1 f none cluster-software/do_install_serial.cgi 0700 root bin 3695 27539 1025499878
1 f none cluster-software/edit_host.cgi 0700 root bin 3398 10995 1025499878
1 f none cluster-software/edit_pack.cgi 0700 root bin 3245 5642 1025499878
1 d none cluster-software/help 0700 root bin
1 f none cluster-software/help/delete_pack.ca.html 0600 root bin 149 13770 1025499878
1 f none cluster-software/help/delete_pack.html 0600 root bin 150 13188 1025499878
1 f none cluster-software/help/edit_host.ca.html 0600 root bin 479 44499 1025499878
1 f none cluster-software/help/edit_host.html 0600 root bin 415 37365 1025499878
1 f none cluster-software/help/edit_pack.ca.html 0600 root bin 585 54377 1025499878
1 f none cluster-software/help/edit_pack.html 0600 root bin 591 53422 1025499878
1 f none cluster-software/help/install_pack.ca.html 0600 root bin 269 25490 1025499878
1 f none cluster-software/help/install_pack.html 0600 root bin 237 21384 1025499878
1 f none cluster-software/help/intro.ca.html 0600 root bin 2253 15002 1025499878
1 f none cluster-software/help/intro.html 0600 root bin 1957 47654 1025499878
1 f none cluster-software/help/search.ca.html 0600 root bin 327 30585 1025499878
1 f none cluster-software/help/search.html 0600 root bin 262 23739 1025499878
1 d none cluster-software/images 0700 root bin
1 f none cluster-software/images/close.gif 0600 root bin 112 11697 1025499878
1 f none cluster-software/images/icon.gif 0600 root bin 411 48555 1025499878
1 f none cluster-software/images/open.gif 0600 root bin 107 10761 1025499878
1 f none cluster-software/images/pack.gif 0600 root bin 123 11211 1025499878
1 f none cluster-software/index.cgi 0700 root bin 3254 10833 1025499878
1 f none cluster-software/install_pack.cgi 0700 root bin 4249 18920 1025499878
1 d none cluster-software/lang 0700 root bin
1 f none cluster-software/lang/ca 0600 root bin 4216 1885 1025499878
1 f none cluster-software/lang/en 0600 root bin 3799 22562 1025499878
1 f none cluster-software/lang/hu 0600 root bin 3905 64478 1025499878
1 f none cluster-software/list_pack.cgi 0700 root bin 2373 53302 1025499878
1 f none cluster-software/module.info 0600 root bin 317 30340 1025499882
1 f none cluster-software/open.cgi 0700 root bin 288 24265 1025499878
1 f none cluster-software/openall.cgi 0700 root bin 528 42269 1025499878
1 f none cluster-software/refresh.cgi 0700 root bin 2844 14586 1025499878
1 f none cluster-software/search.cgi 0700 root bin 1366 40879 1025499878
1 d none cluster-useradmin 0700 root bin
1 f none cluster-useradmin/add.cgi 0700 root bin 2034 36051 1025499878
1 f none cluster-useradmin/cluster-useradmin-lib.pl 0600 root bin 2732 23768 1025499878
1 f none cluster-useradmin/config 0600 root bin 12 1091 1025499878
1 f none cluster-useradmin/config.info 0600 root bin 51 4548 1025499878
1 f none cluster-useradmin/config.info.ca 0600 root bin 65 5857 1025499878
1 f none cluster-useradmin/create_group.cgi 0700 root bin 2226 52955 1025499878
1 f none cluster-useradmin/create_user.cgi 0700 root bin 9153 2899 1025499878
1 f none cluster-useradmin/delete_group.cgi 0700 root bin 2626 12281 1025499878
1 f none cluster-useradmin/delete_host.cgi 0700 root bin 263 22403 1025499878
1 f none cluster-useradmin/delete_user.cgi 0700 root bin 4603 37999 1025499878
1 f none cluster-useradmin/edit_group.cgi 0700 root bin 4605 61564 1025499878
1 f none cluster-useradmin/edit_host.cgi 0700 root bin 2514 8615 1025499878
1 f none cluster-useradmin/edit_user.cgi 0700 root bin 17235 55313 1025499878
1 f none cluster-useradmin/group_form.cgi 0700 root bin 1882 30907 1025499878
1 d none cluster-useradmin/help 0700 root bin
1 f none cluster-useradmin/help/intro.ca.html 0600 root bin 1689 28709 1025499878
1 f none cluster-useradmin/help/intro.html 0600 root bin 1469 3288 1025499878
1 d none cluster-useradmin/images 0700 root bin
1 f none cluster-useradmin/images/icon.gif 0600 root bin 501 58927 1025499878
1 f none cluster-useradmin/index.cgi 0700 root bin 4181 28823 1025499878
1 d none cluster-useradmin/lang 0700 root bin
1 f none cluster-useradmin/lang/ca 0600 root bin 4637 40850 1025499878
1 f none cluster-useradmin/lang/en 0600 root bin 4189 62586 1025499878
1 f none cluster-useradmin/module.info 0600 root bin 374 35688 1025499882
1 f none cluster-useradmin/refresh.cgi 0700 root bin 1910 20758 1025499878
1 f none cluster-useradmin/save_group.cgi 0700 root bin 3838 37892 1025499878
1 f none cluster-useradmin/save_user.cgi 0700 root bin 12079 28960 1025499878
1 f none cluster-useradmin/search_group.cgi 0700 root bin 1745 397 1025499878
1 f none cluster-useradmin/search_user.cgi 0700 root bin 1762 312 1025499878
1 f none cluster-useradmin/sync.cgi 0700 root bin 5098 3353 1025499878
1 f none cluster-useradmin/sync_form.cgi 0700 root bin 3465 34738 1025499878
1 f none cluster-useradmin/user_form.cgi 0700 root bin 9077 33194 1025499878
1 d none cluster-webmin 0700 root bin
1 f none cluster-webmin/add.cgi 0700 root bin 2556 11423 1025499882
1 f none cluster-webmin/cluster-webmin-lib.pl 0600 root bin 4305 18650 1025499882
1 f none cluster-webmin/config 0600 root bin 12 1091 1025499882
1 f none cluster-webmin/config.info 0600 root bin 51 4548 1025499882
1 f none cluster-webmin/create_group.cgi 0700 root bin 3059 42826 1025499882
1 f none cluster-webmin/create_user.cgi 0700 root bin 3750 25380 1025499882
1 f none cluster-webmin/delete_group.cgi 0700 root bin 3319 60516 1025499882
1 f none cluster-webmin/delete_host.cgi 0700 root bin 254 21425 1025499882
1 f none cluster-webmin/delete_mod.cgi 0700 root bin 4264 2410 1025499882
1 f none cluster-webmin/delete_user.cgi 0700 root bin 2214 40631 1025499882
1 f none cluster-webmin/edit_acl.cgi 0700 root bin 4341 16756 1025499882
1 f none cluster-webmin/edit_group.cgi 0700 root bin 6454 16818 1025499882
1 f none cluster-webmin/edit_host.cgi 0700 root bin 3725 35927 1025499882
1 f none cluster-webmin/edit_mod.cgi 0700 root bin 6613 47198 1025499882
1 f none cluster-webmin/edit_user.cgi 0700 root bin 8701 13094 1025499882
1 f none cluster-webmin/group_form.cgi 0700 root bin 3028 646 1025499882
1 d none cluster-webmin/images 0700 root bin
1 f none cluster-webmin/images/icon.gif 0600 root bin 2325 2301 1025499882
1 f none cluster-webmin/index.cgi 0700 root bin 5828 31126 1025499882
1 f none cluster-webmin/install.cgi 0700 root bin 7043 14782 1025499882
1 d none cluster-webmin/lang 0700 root bin
1 f none cluster-webmin/lang/en 0600 root bin 8417 51436 1025499882
1 f none cluster-webmin/module.info 0600 root bin 108 9866 1025499882
1 f none cluster-webmin/refresh.cgi 0700 root bin 3669 10744 1025499882
1 f none cluster-webmin/save_acl.cgi 0700 root bin 3474 12703 1025499882
1 f none cluster-webmin/save_group.cgi 0700 root bin 4662 30776 1025499882
1 f none cluster-webmin/save_user.cgi 0700 root bin 5203 64972 1025499882
1 f none cluster-webmin/user_form.cgi 0700 root bin 4435 55335 1025499882
1 f none config-aix 0600 root bin 142 12238 1025499831
1 f none config-cobalt-linux 0600 root bin 204 18226 1025499832
1 f none config-corel-linux 0600 root bin 204 18226 1025499831
1 f none config-debian-linux 0600 root bin 204 18226 1025499831
1 f none config-freebsd 0600 root bin 212 19055 1025499831
1 f none config-generic-linux 0600 root bin 204 18226 1025499832
1 f none config-gentoo-linux 0600 root bin 204 18226 1025499832
1 f none config-hpux 0600 root bin 215 19239 1025499831
1 f none config-irix 0600 root bin 241 21378 1025499831
1 f none config-macos 0600 root bin 224 20096 1025499831
1 f none config-mandrake-linux 0600 root bin 204 18226 1025499832
1 f none config-msc-linux 0600 root bin 204 18226 1025499832
1 f none config-netbsd 0600 root bin 255 23026 1025499832
1 f none config-open-linux 0600 root bin 204 18226 1025499831
1 f none config-openbsd 0600 root bin 213 19065 1025499831
1 f none config-openserver 0600 root bin 199 17590 1025499831
1 f none config-osf1 0600 root bin 223 19753 1025499831
1 f none config-redhat-linux 0600 root bin 204 18226 1025499830
1 f none config-slackware-linux 0600 root bin 204 18226 1025499830
1 f none config-solaris 0600 root bin 265 23620 1025499830
1 f none config-suse-linux 0600 root bin 204 18226 1025499831
1 f none config-turbo-linux 0600 root bin 204 18226 1025499831
1 f none config-unixware 0600 root bin 258 22957 1025499831
1 f none config.cgi 0700 root bin 5450 14834 1025499830
1 f none config_save.cgi 0700 root bin 2061 26796 1025499831
1 f none copyconfig.pl 0600 root bin 2197 38665 1025499831
1 d none cpan 0700 root bin
1 f none cpan/config 0600 root bin 99 9295 1025499871
1 f none cpan/config.info 0600 root bin 63 5402 1025499871
1 f none cpan/config.info.ca 0600 root bin 84 7266 1025499871
1 f none cpan/config.info.de 0600 root bin 67 5608 1025499871
1 f none cpan/config.info.es 0600 root bin 75 6669 1025499871
1 f none cpan/config.info.hu 0600 root bin 70 6340 1025499871
1 f none cpan/config.info.nl 0600 root bin 65 5627 1025499871
1 f none cpan/config.info.pl 0600 root bin 71 6644 1025499871
1 f none cpan/config.info.ru_RU 0600 root bin 69 10003 1025499871
1 f none cpan/config.info.ru_SU 0600 root bin 69 9189 1025499871
1 f none cpan/config.info.sv 0600 root bin 74 6691 1025499871
1 f none cpan/config.info.zh_CN 0600 root bin 55 6145 1025499871
1 f none cpan/config.info.zh_TW.Big5 0600 root bin 57 7028 1025499871
1 f none cpan/cpan-lib.pl 0600 root bin 3124 35839 1025499871
1 f none cpan/cpan.cgi 0700 root bin 3492 5211 1025499871
1 f none cpan/download.cgi 0700 root bin 5438 38651 1025499871
1 f none cpan/edit_mod.cgi 0700 root bin 1926 23611 1025499871
1 d none cpan/images 0700 root bin
1 f none cpan/images/cat.gif 0600 root bin 112 11697 1025499870
1 f none cpan/images/icon.gif 0600 root bin 969 27469 1025499870
1 f none cpan/images/mod.gif 0600 root bin 123 11211 1025499870
1 f none cpan/index.cgi 0700 root bin 2246 55803 1025499871
1 f none cpan/install.cgi 0700 root bin 1993 29068 1025499871
1 d none cpan/lang 0700 root bin
1 f none cpan/lang/ca 0600 root bin 2547 50988 1025499870
1 f none cpan/lang/de 0600 root bin 3181 27377 1025499870
1 f none cpan/lang/en 0600 root bin 2670 54450 1025499870
1 f none cpan/lang/es 0600 root bin 2282 24986 1025499870
1 f none cpan/lang/fr 0600 root bin 2370 29475 1025499870
1 f none cpan/lang/hu 0600 root bin 2376 45949 1025499870
1 f none cpan/lang/ja_JP.euc 0600 root bin 2356 10081 1025499870
1 f none cpan/lang/ko_KR.euc 0600 root bin 2010 9270 1025499870
1 f none cpan/lang/nl 0600 root bin 2290 20955 1025499870
1 f none cpan/lang/pl 0600 root bin 2385 37770 1025499870
1 f none cpan/lang/ru_RU 0600 root bin 890 9921 1025499870
1 f none cpan/lang/ru_SU 0600 root bin 891 62971 1025499870
1 f none cpan/lang/sv 0600 root bin 2224 18246 1025499870
1 f none cpan/lang/zh_CN 0600 root bin 1576 15582 1025499870
1 f none cpan/lang/zh_TW.Big5 0600 root bin 1809 28005 1025499871
1 f none cpan/module.info 0600 root bin 369 37022 1025499882
1 f none cpan/uninstall.cgi 0700 root bin 1094 23125 1025499871
1 d none cron 0700 root bin
1 f none cron/acl_security.pl 0600 root bin 1559 62418 1025499832
1 f none cron/config-aix 0600 root bin 277 25648 1025499832
1 f none cron/config-cobalt-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-corel-linux 0600 root bin 333 31193 1025499832
1 f none cron/config-debian-linux 0600 root bin 262 24454 1025499832
1 f none cron/config-debian-linux-2.1 0600 root bin 336 31639 1025499832
1 f none cron/config-debian-linux-2.2 0600 root bin 336 31639 1025499832
1 f none cron/config-debian-linux-3.0 0600 root bin 336 31639 1025499832
1 f none cron/config-freebsd 0600 root bin 269 24962 1025499832
1 f none cron/config-generic-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-gentoo-linux 0600 root bin 324 30403 1025499832
1 f none cron/config-hpux 0600 root bin 280 25696 1025499832
1 f none cron/config-irix 0600 root bin 282 26821 1025499832
1 f none cron/config-macos 0600 root bin 268 24952 1025499832
1 f none cron/config-mandrake-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-msc-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-netbsd 0600 root bin 269 24962 1025499832
1 f none cron/config-open-linux 0600 root bin 357 33431 1025499832
1 f none cron/config-openbsd 0600 root bin 269 24962 1025499832
1 f none cron/config-openserver 0600 root bin 255 23888 1025499832
1 f none cron/config-osf1 0600 root bin 294 27834 1025499832
1 f none cron/config-redhat-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-slackware-linux 0600 root bin 212 19866 1025499832
1 f none cron/config-solaris 0600 root bin 255 23888 1025499832
1 f none cron/config-suse-linux 0600 root bin 295 27402 1025499832
1 f none cron/config-suse-linux-7.0 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.1 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.2 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-7.3 0600 root bin 301 28006 1025499832
1 f none cron/config-suse-linux-8.0 0600 root bin 301 28006 1025499832
1 f none cron/config-turbo-linux 0600 root bin 315 29496 1025499832
1 f none cron/config-unixware 0600 root bin 255 23888 1025499832
1 f none cron/config.info 0600 root bin 704 65142 1025499832
1 f none cron/config.info.ca 0600 root bin 833 12213 1025499832
1 f none cron/config.info.cz 0600 root bin 752 12663 1025499832
1 f none cron/config.info.de 0600 root bin 879 16041 1025499832
1 f none cron/config.info.es 0600 root bin 878 16712 1025499832
1 f none cron/config.info.fr 0600 root bin 830 14401 1025499832
1 f none cron/config.info.nl 0600 root bin 845 13803 1025499832
1 f none cron/config.info.pl 0600 root bin 845 18254 1025499832
1 f none cron/config.info.ru_RU 0600 root bin 843 10210 1025499832
1 f none cron/config.info.ru_SU 0600 root bin 843 62511 1025499832
1 f none cron/config.info.sv 0600 root bin 767 9231 1025499832
1 f none cron/config.info.tr 0600 root bin 841 21223 1025499832
1 f none cron/config.info.zh_CN 0600 root bin 555 14398 1025499832
1 f none cron/config.info.zh_TW.Big5 0600 root bin 664 24842 1025499832
1 f none cron/cron-lib.pl 0600 root bin 11777 46028 1025499832
1 f none cron/cron_editor.pl 0700 root bin 477 37288 1025499832
1 f none cron/defaultacl 0600 root bin 33 2806 1025499832
1 f none cron/delete_cron.cgi 0700 root bin 428 35936 1025499832
1 f none cron/edit_allow.cgi 0700 root bin 1268 40794 1025499832
1 f none cron/edit_cron.cgi 0700 root bin 3408 14495 1025499832
1 f none cron/edit_env.cgi 0700 root bin 1064 21667 1025499832
1 f none cron/exec_cron.cgi 0700 root bin 1968 20585 1025499832
1 f none cron/feedback_files.pl 0600 root bin 319 26317 1025499832
1 d none cron/help 0700 root bin
1 f none cron/help/help.ca.html 0600 root bin 3475 40313 1025499832
1 f none cron/help/help.es.html 0600 root bin 3237 17898 1025499832
1 f none cron/help/help.fr.html 0600 root bin 3375 46252 1025499832
1 f none cron/help/help.html 0600 root bin 3237 17898 1025499832
1 f none cron/help/help.it.html 0600 root bin 3579 45362 1025499832
1 f none cron/help/help.nl.html 0600 root bin 3716 2422 1025499832
1 f none cron/help/help.sv.html 0600 root bin 3052 19517 1025499832
1 f none cron/help/help.zh_TW.Big5.html 0600 root bin 2163 16451 1025499832
1 f none cron/help/intro.ca.html 0600 root bin 186 17002 1025499832
1 f none cron/help/intro.es.html 0600 root bin 198 18146 1025499832
1 f none cron/help/intro.fr.html 0600 root bin 180 17267 1025499832
1 f none cron/help/intro.html 0600 root bin 169 14811 1025499832
1 f none cron/help/intro.hu.html 0600 root bin 176 17230 1025499832
1 f none cron/help/intro.it.html 0600 root bin 181 15982 1025499832
1 f none cron/help/intro.nl.html 0600 root bin 193 17377 1025499832
1 f none cron/help/intro.sv.html 0600 root bin 159 14846 1025499832
1 f none cron/help/intro.zh_TW.Big5.html 0600 root bin 130 17950 1025499832
1 d none cron/images 0700 root bin
1 f none cron/images/icon.gif 0600 root bin 1970 19235 1025499832
1 f none cron/index.cgi 0700 root bin 2781 13795 1025499832
1 d none cron/lang 0700 root bin
1 f none cron/lang/ca 0600 root bin 2849 3314 1025499832
1 f none cron/lang/cz 0600 root bin 2254 43132 1025499832
1 f none cron/lang/de 0600 root bin 2585 45763 1025499832
1 f none cron/lang/en 0600 root bin 2506 35052 1025499832
1 f none cron/lang/es 0600 root bin 2837 2147 1025499832
1 f none cron/lang/fr 0600 root bin 2947 25821 1025499832
1 f none cron/lang/hu 0600 root bin 2598 7121 1025499832
1 f none cron/lang/it 0600 root bin 2668 51353 1025499832
1 f none cron/lang/ja_JP.euc 0600 root bin 2521 23235 1025499832
1 f none cron/lang/ko_KR.euc 0600 root bin 2411 64716 1025499832
1 f none cron/lang/nl 0600 root bin 2871 7069 1025499832
1 f none cron/lang/pl 0600 root bin 2818 14868 1025499832
1 f none cron/lang/pt 0600 root bin 2678 60329 1025499832
1 f none cron/lang/ru_RU 0600 root bin 2348 58730 1025499832
1 f none cron/lang/ru_SU 0600 root bin 2382 29588 1025499832
1 f none cron/lang/sv 0600 root bin 2300 29827 1025499832
1 f none cron/lang/tr 0600 root bin 2975 829 1025499832
1 f none cron/lang/zh_CN 0600 root bin 1967 6705 1025499832
1 f none cron/lang/zh_TW.Big5 0600 root bin 2337 44101 1025499832
1 f none cron/log_parser.pl 0600 root bin 1050 17963 1025499832
1 f none cron/module.info 0600 root bin 850 23158 1025499882
1 f none cron/save_allow.cgi 0700 root bin 510 45014 1025499832
1 f none cron/save_cron.cgi 0700 root bin 2195 46427 1025499832
1 f none cron/save_env.cgi 0700 root bin 462 36121 1025499832
1 f none cron/useradmin_update.pl 0600 root bin 821 1862 1025499832
1 d none custom 0700 root bin
1 f none custom/acl_security.pl 0700 root bin 1580 61053 1025499864
1 f none custom/config 0600 root bin 15 1393 1025499864
1 f none custom/config.info 0600 root bin 81 7407 1025499864
1 f none custom/config.info.ca 0600 root bin 100 9440 1025499864
1 f none custom/config.info.nl 0600 root bin 88 8307 1025499864
1 f none custom/config.info.pl 0600 root bin 109 10920 1025499864
1 f none custom/custom-lib.pl 0600 root bin 3567 11597 1025499864
1 f none custom/defaultacl 0600 root bin 25 2048 1025499864
1 f none custom/edit_cmd.cgi 0700 root bin 3959 57214 1025499864
1 f none custom/edit_file.cgi 0700 root bin 3038 54056 1025499864
1 f none custom/feedback_files.pl 0600 root bin 208 17396 1025499864
1 f none custom/form.cgi 0700 root bin 1778 9681 1025499864
1 d none custom/help 0700 root bin
1 f none custom/help/after.ca.html 0600 root bin 217 20339 1025499864
1 f none custom/help/after.html 0600 root bin 212 19122 1025499864
1 f none custom/help/after.nl.html 0600 root bin 244 22466 1025499864
1 f none custom/help/after.pl.html 0600 root bin 225 21411 1025499864
1 f none custom/help/before.ca.html 0600 root bin 213 19762 1025499864
1 f none custom/help/before.html 0600 root bin 207 18483 1025499864
1 f none custom/help/before.nl.html 0600 root bin 245 23002 1025499864
1 f none custom/help/before.pl.html 0600 root bin 234 22345 1025499864
1 f none custom/help/cmd.ca.html 0600 root bin 1757 20625 1025499864
1 f none custom/help/cmd.es.html 0600 root bin 1853 33823 1025499864
1 f none custom/help/cmd.fr.html 0600 root bin 1820 33063 1025499864
1 f none custom/help/cmd.html 0600 root bin 1659 10847 1025499864
1 f none custom/help/cmd.nl.html 0600 root bin 1862 29317 1025499864
1 f none custom/help/cmd.pl.html 0600 root bin 1812 34492 1025499864
1 f none custom/help/cmd.sv.html 0600 root bin 1686 22556 1025499864
1 f none custom/help/cmd.zh_TW.Big5.html 0600 root bin 1229 25556 1025499864
1 f none custom/help/command.ca.html 0600 root bin 175 15170 1025499864
1 f none custom/help/command.es.html 0600 root bin 192 16894 1025499864
1 f none custom/help/command.fr.html 0600 root bin 221 20575 1025499864
1 f none custom/help/command.html 0600 root bin 183 15886 1025499864
1 f none custom/help/command.nl.html 0600 root bin 204 18038 1025499864
1 f none custom/help/command.pl.html 0600 root bin 220 20081 1025499864
1 f none custom/help/command.sv.html 0600 root bin 164 14806 1025499864
1 f none custom/help/command.zh_TW.Big5.html 0600 root bin 151 17620 1025499864
1 f none custom/help/create.ca.html 0600 root bin 193 17863 1025499864
1 f none custom/help/create.es.html 0600 root bin 190 17709 1025499864
1 f none custom/help/create.fr.html 0600 root bin 217 20668 1025499864
1 f none custom/help/create.html 0600 root bin 172 15241 1025499864
1 f none custom/help/create.nl.html 0600 root bin 214 19503 1025499864
1 f none custom/help/create.pl.html 0600 root bin 199 19330 1025499864
1 f none custom/help/create.sv.html 0600 root bin 184 17157 1025499864
1 f none custom/help/create.zh_TW.Big5.html 0600 root bin 131 17470 1025499864
1 f none custom/help/desc.ca.html 0600 root bin 241 22027 1025499864
1 f none custom/help/desc.es.html 0600 root bin 175 16290 1025499864
1 f none custom/help/desc.fr.html 0600 root bin 172 15583 1025499864
1 f none custom/help/desc.html 0600 root bin 251 22848 1025499864
1 f none custom/help/desc.nl.html 0600 root bin 233 20911 1025499864
1 f none custom/help/desc.pl.html 0600 root bin 247 23866 1025499864
1 f none custom/help/desc.sv.html 0600 root bin 139 13013 1025499864
1 f none custom/help/desc.zh_TW.Big5.html 0600 root bin 111 14526 1025499864
1 f none custom/help/edit.ca.html 0600 root bin 108 10106 1025499864
1 f none custom/help/edit.es.html 0600 root bin 116 10493 1025499864
1 f none custom/help/edit.fr.html 0600 root bin 122 11650 1025499864
1 f none custom/help/edit.html 0600 root bin 110 9811 1025499864
1 f none custom/help/edit.nl.html 0600 root bin 121 11006 1025499864
1 f none custom/help/edit.pl.html 0600 root bin 131 12808 1025499864
1 f none custom/help/edit.sv.html 0600 root bin 111 10251 1025499864
1 f none custom/help/edit.zh_TW.Big5.html 0600 root bin 82 9853 1025499864
1 f none custom/help/editor.ca.html 0600 root bin 339 31689 1025499864
1 f none custom/help/editor.html 0600 root bin 328 29257 1025499864
1 f none custom/help/editor.nl.html 0600 root bin 355 32140 1025499864
1 f none custom/help/editor.pl.html 0600 root bin 348 34302 1025499864
1 f none custom/help/fcreate.ca.html 0600 root bin 186 17154 1025499864
1 f none custom/help/fcreate.html 0600 root bin 168 14810 1025499864
1 f none custom/help/fcreate.pl.html 0600 root bin 185 18037 1025499864
1 f none custom/help/fdesc.ca.html 0600 root bin 241 22027 1025499864
1 f none custom/help/fdesc.html 0600 root bin 247 22441 1025499864
1 f none custom/help/fdesc.nl.html 0600 root bin 234 20947 1025499864
1 f none custom/help/fdesc.pl.html 0600 root bin 242 23319 1025499864
1 f none custom/help/fedit.ca.html 0600 root bin 136 12571 1025499864
1 f none custom/help/fedit.html 0600 root bin 114 10139 1025499864
1 f none custom/help/fedit.pl.html 0600 root bin 128 12426 1025499864
1 f none custom/help/file.ca.html 0600 root bin 201 18696 1025499864
1 f none custom/help/file.html 0600 root bin 219 19582 1025499864
1 f none custom/help/file.nl.html 0600 root bin 261 23878 1025499864
1 f none custom/help/file.pl.html 0600 root bin 234 22438 1025499864
1 f none custom/help/fintro.ca.html 0600 root bin 518 48491 1025499864
1 f none custom/help/fintro.html 0600 root bin 491 44091 1025499864
1 f none custom/help/fintro.nl.html 0600 root bin 588 54097 1025499864
1 f none custom/help/fintro.pl.html 0600 root bin 609 61920 1025499864
1 f none custom/help/intro.ca.html 0600 root bin 938 23596 1025499864
1 f none custom/help/intro.es.html 0600 root bin 949 24437 1025499864
1 f none custom/help/intro.fr.html 0600 root bin 855 16516 1025499864
1 f none custom/help/intro.html 0600 root bin 850 12694 1025499864
1 f none custom/help/intro.nl.html 0600 root bin 821 9417 1025499864
1 f none custom/help/intro.pl.html 0600 root bin 958 31291 1025499864
1 f none custom/help/intro.sv.html 0600 root bin 844 17501 1025499864
1 f none custom/help/intro.zh_TW.Big5.html 0600 root bin 534 13073 1025499864
1 f none custom/help/noshow.html 0600 root bin 191 17223 1025499864
1 f none custom/help/order.ca.html 0600 root bin 245 23368 1025499864
1 f none custom/help/order.html 0600 root bin 227 20560 1025499864
1 f none custom/help/order.nl.html 0600 root bin 235 21584 1025499864
1 f none custom/help/owner.ca.html 0600 root bin 462 42923 1025499864
1 f none custom/help/owner.html 0600 root bin 428 38663 1025499864
1 f none custom/help/owner.nl.html 0600 root bin 501 45619 1025499864
1 f none custom/help/owner.pl.html 0600 root bin 552 54100 1025499864
1 f none custom/help/perms.ca.html 0600 root bin 433 40008 1025499864
1 f none custom/help/perms.html 0600 root bin 431 38912 1025499864
1 f none custom/help/perms.nl.html 0600 root bin 441 40167 1025499864
1 f none custom/help/perms.pl.html 0600 root bin 462 44225 1025499864
1 f none custom/help/raw.ca.html 0600 root bin 302 27228 1025499864
1 f none custom/help/raw.es.html 0600 root bin 321 29387 1025499864
1 f none custom/help/raw.fr.html 0600 root bin 329 30750 1025499864
1 f none custom/help/raw.html 0600 root bin 296 26713 1025499864
1 f none custom/help/raw.nl.html 0600 root bin 314 27861 1025499864
1 f none custom/help/raw.pl.html 0600 root bin 323 30441 1025499864
1 f none custom/help/raw.sv.html 0600 root bin 259 24142 1025499864
1 f none custom/help/raw.zh_TW.Big5.html 0600 root bin 232 28963 1025499864
1 f none custom/help/run.ca.html 0600 root bin 136 11770 1025499864
1 f none custom/help/run.es.html 0600 root bin 135 11595 1025499864
1 f none custom/help/run.fr.html 0600 root bin 163 15021 1025499864
1 f none custom/help/run.html 0600 root bin 131 11296 1025499864
1 f none custom/help/run.nl.html 0600 root bin 143 12453 1025499864
1 f none custom/help/run.pl.html 0600 root bin 135 12366 1025499864
1 f none custom/help/run.sv.html 0600 root bin 125 11216 1025499864
1 f none custom/help/run.zh_TW.Big5.html 0600 root bin 100 11733 1025499864
1 f none custom/help/user.ca.html 0600 root bin 305 27849 1025499864
1 f none custom/help/user.es.html 0600 root bin 328 30217 1025499864
1 f none custom/help/user.fr.html 0600 root bin 332 31929 1025499864
1 f none custom/help/user.html 0600 root bin 265 23853 1025499864
1 f none custom/help/user.nl.html 0600 root bin 370 33841 1025499864
1 f none custom/help/user.pl.html 0600 root bin 358 35304 1025499864
1 f none custom/help/user.sv.html 0600 root bin 267 26592 1025499864
1 f none custom/help/user.zh_TW.Big5.html 0600 root bin 207 28179 1025499864
1 d none custom/images 0700 root bin
1 f none custom/images/icon.gif 0600 root bin 379 44892 1025499864
1 f none custom/index.cgi 0700 root bin 4097 46071 1025499864
1 d none custom/lang 0700 root bin
1 f none custom/lang/ca 0600 root bin 2910 13240 1025499864
1 f none custom/lang/de 0600 root bin 2916 13095 1025499864
1 f none custom/lang/en 0600 root bin 2584 46298 1025499864
1 f none custom/lang/es 0600 root bin 2621 52798 1025499864
1 f none custom/lang/fr 0600 root bin 2925 23667 1025499864
1 f none custom/lang/hu 0600 root bin 1190 57681 1025499864
1 f none custom/lang/ja_JP.euc 0600 root bin 1442 15288 1025499864
1 f none custom/lang/ko_KR.euc 0600 root bin 1268 47026 1025499864
1 f none custom/lang/nl 0600 root bin 2775 3492 1025499864
1 f none custom/lang/pl 0600 root bin 2833 17500 1025499864
1 f none custom/lang/pt 0600 root bin 1200 52024 1025499864
1 f none custom/lang/ru_RU 0600 root bin 1159 60672 1025499864
1 f none custom/lang/ru_SU 0600 root bin 1162 44391 1025499864
1 f none custom/lang/sv 0600 root bin 1597 24261 1025499864
1 f none custom/lang/tr 0600 root bin 1328 11531 1025499864
1 f none custom/lang/zh_CN 0600 root bin 1013 10438 1025499864
1 f none custom/lang/zh_TW.Big5 0600 root bin 893 45111 1025499864
1 f none custom/log_parser.pl 0600 root bin 553 45950 1025499864
1 f none custom/module.info 0600 root bin 533 59415 1025499882
1 f none custom/run.cgi 0700 root bin 2281 44226 1025499864
1 f none custom/save.cgi 0700 root bin 1053 19051 1025499864
1 f none custom/save_cmd.cgi 0700 root bin 1488 48833 1025499864
1 f none custom/save_file.cgi 0700 root bin 1546 57197 1025499864
1 f none custom/view.cgi 0700 root bin 767 65320 1025499864
1 f none date_chooser.cgi 0700 root bin 2182 38360 1025499832
1 f none defaultacl 0600 root bin 50 4276 1025499832
1 f none defaulttheme 0600 root bin 10 945 1025499832
1 d none dfsadmin 0700 root bin
1 f none dfsadmin/config-openserver 0600 root bin 123 11745 1025499832
1 f none dfsadmin/config-solaris 0600 root bin 153 14665 1025499832
1 f none dfsadmin/config-unixware 0600 root bin 123 11745 1025499832
1 f none dfsadmin/config.info 0600 root bin 181 17129 1025499832
1 f none dfsadmin/config.info.ca 0600 root bin 231 22007 1025499833
1 f none dfsadmin/config.info.de 0600 root bin 140 13045 1025499832
1 f none dfsadmin/config.info.es 0600 root bin 169 16484 1025499832
1 f none dfsadmin/config.info.fr 0600 root bin 159 14849 1025499832
1 f none dfsadmin/config.info.hu 0600 root bin 201 20128 1025499833
1 f none dfsadmin/config.info.pl 0600 root bin 221 22527 1025499833
1 f none dfsadmin/config.info.sv 0600 root bin 160 15816 1025499832
1 f none dfsadmin/config.info.tr 0600 root bin 133 13932 1025499833
1 f none dfsadmin/config.info.zh_CN 0600 root bin 107 13555 1025499833
1 f none dfsadmin/config.info.zh_TW.Big5 0600 root bin 137 17670 1025499832
1 f none dfsadmin/delete_share.cgi 0700 root bin 315 26635 1025499832
1 f none dfsadmin/dfs-lib.pl 0600 root bin 2873 26094 1025499832
1 f none dfsadmin/edit_share.cgi 0700 root bin 6063 36060 1025499832
1 d none dfsadmin/help 0700 root bin
1 f none dfsadmin/help/aclok.ca.html 0600 root bin 207 19199 1025499832
1 f none dfsadmin/help/aclok.es.html 0600 root bin 216 19779 1025499832
1 f none dfsadmin/help/aclok.fr.html 0600 root bin 222 20644 1025499832
1 f none dfsadmin/help/aclok.html 0600 root bin 179 15766 1025499832
1 f none dfsadmin/help/aclok.pl.html 0600 root bin 193 18310 1025499832
1 f none dfsadmin/help/aclok.sv.html 0600 root bin 169 15825 1025499832
1 f none dfsadmin/help/aclok.zh_TW.Big5.html 0600 root bin 132 18062 1025499832
1 f none dfsadmin/help/anon.ca.html 0600 root bin 250 22938 1025499832
1 f none dfsadmin/help/anon.es.html 0600 root bin 248 23089 1025499832
1 f none dfsadmin/help/anon.fr.html 0600 root bin 228 20659 1025499832
1 f none dfsadmin/help/anon.html 0600 root bin 229 20309 1025499832
1 f none dfsadmin/help/anon.pl.html 0600 root bin 252 24576 1025499832
1 f none dfsadmin/help/anon.sv.html 0600 root bin 245 23821 1025499832
1 f none dfsadmin/help/anon.zh_TW.Big5.html 0600 root bin 134 17324 1025499832
1 f none dfsadmin/help/create_share.ca.html 0600 root bin 108 9655 1025499832
1 f none dfsadmin/help/create_share.es.html 0600 root bin 128 11810 1025499832
1 f none dfsadmin/help/create_share.fr.html 0600 root bin 117 10149 1025499832
1 f none dfsadmin/help/create_share.html 0600 root bin 105 9075 1025499832
1 f none dfsadmin/help/create_share.pl.html 0600 root bin 114 10818 1025499832
1 f none dfsadmin/help/create_share.sv.html 0600 root bin 103 9084 1025499832
1 f none dfsadmin/help/create_share.zh_TW.Big5.html 0600 root bin 96 12212 1025499832
1 f none dfsadmin/help/des.ca.html 0600 root bin 157 14375 1025499832
1 f none dfsadmin/help/des.es.html 0600 root bin 173 16079 1025499832
1 f none dfsadmin/help/des.fr.html 0600 root bin 176 15818 1025499832
1 f none dfsadmin/help/des.html 0600 root bin 138 12319 1025499832
1 f none dfsadmin/help/des.pl.html 0600 root bin 166 15678 1025499832
1 f none dfsadmin/help/des.sv.html 0600 root bin 148 14134 1025499832
1 f none dfsadmin/help/des.zh_TW.Big5.html 0600 root bin 112 14722 1025499832
1 f none dfsadmin/help/desc.ca.html 0600 root bin 90 8435 1025499832
1 f none dfsadmin/help/desc.es.html 0600 root bin 96 9145 1025499832
1 f none dfsadmin/help/desc.fr.html 0600 root bin 76 6549 1025499832
1 f none dfsadmin/help/desc.html 0600 root bin 86 7772 1025499832
1 f none dfsadmin/help/desc.pl.html 0600 root bin 93 8628 1025499832
1 f none dfsadmin/help/desc.sv.html 0600 root bin 69 6208 1025499832
1 f none dfsadmin/help/desc.zh_TW.Big5.html 0600 root bin 62 8066 1025499832
1 f none dfsadmin/help/dir.ca.html 0600 root bin 166 15157 1025499832
1 f none dfsadmin/help/dir.es.html 0600 root bin 200 18668 1025499832
1 f none dfsadmin/help/dir.fr.html 0600 root bin 201 19256 1025499832
1 f none dfsadmin/help/dir.html 0600 root bin 167 15332 1025499832
1 f none dfsadmin/help/dir.pl.html 0600 root bin 178 16811 1025499832
1 f none dfsadmin/help/dir.sv.html 0600 root bin 155 14182 1025499832
1 f none dfsadmin/help/dir.zh_TW.Big5.html 0600 root bin 105 14879 1025499832
1 f none dfsadmin/help/edit_share.ca.html 0600 root bin 126 11321 1025499832
1 f none dfsadmin/help/edit_share.es.html 0600 root bin 151 13965 1025499832
1 f none dfsadmin/help/edit_share.fr.html 0600 root bin 132 11735 1025499832
1 f none dfsadmin/help/edit_share.html 0600 root bin 124 10801 1025499832
1 f none dfsadmin/help/edit_share.pl.html 0600 root bin 126 11724 1025499832
1 f none dfsadmin/help/edit_share.sv.html 0600 root bin 115 10581 1025499832
1 f none dfsadmin/help/edit_share.zh_TW.Big5.html 0600 root bin 103 13033 1025499832
1 f none dfsadmin/help/index.ca.html 0600 root bin 253 23742 1025499832
1 f none dfsadmin/help/index.es.html 0600 root bin 290 27303 1025499832
1 f none dfsadmin/help/index.fr.html 0600 root bin 263 24468 1025499832
1 f none dfsadmin/help/index.html 0600 root bin 256 22883 1025499832
1 f none dfsadmin/help/index.pl.html 0600 root bin 270 26104 1025499832
1 f none dfsadmin/help/index.sv.html 0600 root bin 247 23442 1025499832
1 f none dfsadmin/help/index.zh_TW.Big5.html 0600 root bin 164 21290 1025499832
1 f none dfsadmin/help/intro.ca.html 0600 root bin 1098 35943 1025499832
1 f none dfsadmin/help/intro.es.html 0600 root bin 1216 48514 1025499832
1 f none dfsadmin/help/intro.fr.html 0600 root bin 967 26328 1025499832
1 f none dfsadmin/help/intro.html 0600 root bin 1004 26535 1025499832
1 f none dfsadmin/help/intro.pl.html 0600 root bin 1137 47860 1025499832
1 f none dfsadmin/help/intro.sv.html 0600 root bin 948 25650 1025499832
1 f none dfsadmin/help/intro.zh_TW.Big5.html 0600 root bin 656 29202 1025499832
1 f none dfsadmin/help/kerberos.ca.html 0600 root bin 168 15455 1025499832
1 f none dfsadmin/help/kerberos.es.html 0600 root bin 179 16767 1025499832
1 f none dfsadmin/help/kerberos.fr.html 0600 root bin 185 16939 1025499832
1 f none dfsadmin/help/kerberos.html 0600 root bin 148 13537 1025499832
1 f none dfsadmin/help/kerberos.pl.html 0600 root bin 174 16600 1025499832
1 f none dfsadmin/help/kerberos.sv.html 0600 root bin 160 15559 1025499832
1 f none dfsadmin/help/kerberos.zh_TW.Big5.html 0600 root bin 122 16121 1025499832
1 f none dfsadmin/help/nfs.ca.html 0600 root bin 1232 51125 1025499832
1 f none dfsadmin/help/nfs.es.html 0600 root bin 1309 58426 1025499832
1 f none dfsadmin/help/nfs.fr.html 0600 root bin 1198 50169 1025499832
1 f none dfsadmin/help/nfs.html 0600 root bin 1093 35121 1025499832
1 f none dfsadmin/help/nfs.pl.html 0600 root bin 1289 64869 1025499832
1 f none dfsadmin/help/nfs.sv.html 0600 root bin 1143 45843 1025499832
1 f none dfsadmin/help/nfs.zh_TW.Big5.html 0600 root bin 673 36722 1025499832
1 f none dfsadmin/help/public.ca.html 0600 root bin 189 17457 1025499832
1 f none dfsadmin/help/public.es.html 0600 root bin 225 21586 1025499832
1 f none dfsadmin/help/public.fr.html 0600 root bin 174 15685 1025499832
1 f none dfsadmin/help/public.html 0600 root bin 176 15399 1025499832
1 f none dfsadmin/help/public.pl.html 0600 root bin 198 19426 1025499832
1 f none dfsadmin/help/public.sv.html 0600 root bin 173 15883 1025499832
1 f none dfsadmin/help/public.zh_TW.Big5.html 0600 root bin 132 16389 1025499832
1 f none dfsadmin/help/ro.ca.html 0600 root bin 1643 10458 1025499832
1 f none dfsadmin/help/ro.es.html 0600 root bin 1756 25868 1025499832
1 f none dfsadmin/help/ro.fr.html 0600 root bin 1489 2105 1025499832
1 f none dfsadmin/help/ro.html 0600 root bin 1442 56768 1025499832
1 f none dfsadmin/help/ro.pl.html 0600 root bin 1723 25019 1025499832
1 f none dfsadmin/help/ro.sv.html 0600 root bin 1637 16639 1025499832
1 f none dfsadmin/help/ro.zh_TW.Big5.html 0600 root bin 1116 13563 1025499832
1 f none dfsadmin/help/root.ca.html 0600 root bin 1268 42297 1025499832
1 f none dfsadmin/help/root.es.html 0600 root bin 1348 53748 1025499832
1 f none dfsadmin/help/root.fr.html 0600 root bin 1154 36543 1025499832
1 f none dfsadmin/help/root.html 0600 root bin 1141 31167 1025499832
1 f none dfsadmin/help/root.pl.html 0600 root bin 1334 54375 1025499832
1 f none dfsadmin/help/root.sv.html 0600 root bin 1172 39343 1025499832
1 f none dfsadmin/help/root.zh_TW.Big5.html 0600 root bin 884 45753 1025499832
1 f none dfsadmin/help/rw.ca.html 0600 root bin 1748 19606 1025499832
1 f none dfsadmin/help/rw.es.html 0600 root bin 1766 26526 1025499832
1 f none dfsadmin/help/rw.fr.html 0600 root bin 1688 21701 1025499832
1 f none dfsadmin/help/rw.html 0600 root bin 1496 61838 1025499832
1 f none dfsadmin/help/rw.pl.html 0600 root bin 1848 36793 1025499832
1 f none dfsadmin/help/rw.sv.html 0600 root bin 1676 19145 1025499832
1 f none dfsadmin/help/rw.zh_TW.Big5.html 0600 root bin 1068 4826 1025499832
1 f none dfsadmin/help/share.ca.html 0600 root bin 444 40989 1025499832
1 f none dfsadmin/help/share.es.html 0600 root bin 497 46400 1025499832
1 f none dfsadmin/help/share.fr.html 0600 root bin 447 41505 1025499832
1 f none dfsadmin/help/share.html 0600 root bin 403 36209 1025499832
1 f none dfsadmin/help/share.pl.html 0600 root bin 487 48059 1025499832
1 f none dfsadmin/help/share.sv.html 0600 root bin 441 43443 1025499832
1 f none dfsadmin/help/share.zh_TW.Big5.html 0600 root bin 275 40234 1025499832
1 f none dfsadmin/help/sub.ca.html 0600 root bin 140 12851 1025499832
1 f none dfsadmin/help/sub.es.html 0600 root bin 149 13849 1025499832
1 f none dfsadmin/help/sub.fr.html 0600 root bin 146 13743 1025499832
1 f none dfsadmin/help/sub.html 0600 root bin 130 11757 1025499832
1 f none dfsadmin/help/sub.pl.html 0600 root bin 139 13508 1025499832
1 f none dfsadmin/help/sub.sv.html 0600 root bin 153 14720 1025499832
1 f none dfsadmin/help/sub.zh_TW.Big5.html 0600 root bin 91 12052 1025499832
1 f none dfsadmin/help/suid.ca.html 0600 root bin 255 23953 1025499832
1 f none dfsadmin/help/suid.es.html 0600 root bin 283 26861 1025499832
1 f none dfsadmin/help/suid.fr.html 0600 root bin 288 26919 1025499832
1 f none dfsadmin/help/suid.html 0600 root bin 228 20882 1025499832
1 f none dfsadmin/help/suid.pl.html 0600 root bin 288 27770 1025499832
1 f none dfsadmin/help/suid.sv.html 0600 root bin 252 24513 1025499832
1 f none dfsadmin/help/suid.zh_TW.Big5.html 0600 root bin 178 25090 1025499832
1 d none dfsadmin/images 0700 root bin
1 f none dfsadmin/images/icon.gif 0600 root bin 245 29407 1025499832
1 f none dfsadmin/images/share.gif 0600 root bin 1565 51055 1025499832
1 f none dfsadmin/index.cgi 0700 root bin 2416 61848 1025499832
1 d none dfsadmin/lang 0700 root bin
1 f none dfsadmin/lang/ca 0600 root bin 167 14561 1025499833
1 f none dfsadmin/lang/de 0600 root bin 211 18636 1025499833
1 f none dfsadmin/lang/en 0600 root bin 161 14012 1025499832
1 f none dfsadmin/lang/es 0600 root bin 198 18422 1025499832
1 f none dfsadmin/lang/fr 0600 root bin 175 16390 1025499833
1 f none dfsadmin/lang/hu 0600 root bin 277 26818 1025499833
1 f none dfsadmin/lang/ja_JP.euc 0600 root bin 191 25313 1025499833
1 f none dfsadmin/lang/ko_KR.euc 0600 root bin 162 19643 1025499833
1 f none dfsadmin/lang/pl 0600 root bin 171 15971 1025499832
1 f none dfsadmin/lang/sv 0600 root bin 179 16237 1025499832
1 f none dfsadmin/lang/tr 0600 root bin 199 21226 1025499832
1 f none dfsadmin/log_parser.pl 0600 root bin 882 5972 1025499833
1 f none dfsadmin/low.risk 0600 root bin 11 971 1025499833
1 f none dfsadmin/low.skill 0600 root bin 17 1430 1025499833
1 f none dfsadmin/medium.risk 0600 root bin 11 971 1025499833
1 f none dfsadmin/medium.skill 0600 root bin 17 1429 1025499833
1 f none dfsadmin/module.info 0600 root bin 416 39791 1025499882
1 f none dfsadmin/restart_sharing.cgi 0700 root bin 491 41523 1025499832
1 f none dfsadmin/save_share.cgi 0700 root bin 3846 55095 1025499832
1 d none dhcpd 0700 root bin
1 f none dhcpd/acl_security.pl 0600 root bin 8977 15018 1025499863
1 f none dhcpd/config-cobalt-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-corel-linux 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-debian-linux 0600 root bin 155 14365 1025499863
1 f none dhcpd/config-freebsd 0600 root bin 169 15681 1025499863
1 f none dhcpd/config-generic-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-gentoo-linux 0600 root bin 164 15185 1025499863
1 f none dhcpd/config-irix 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-mandrake-linux 0600 root bin 133 12361 1025499863
1 f none dhcpd/config-msc-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-netbsd 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-open-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-open-linux-3.1e 0600 root bin 155 14352 1025499863
1 f none dhcpd/config-openbsd 0600 root bin 153 14148 1025499863
1 f none dhcpd/config-openserver 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-osf1 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-redhat-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-redhat-linux-6.0 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-6.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-6.2 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-redhat-linux-7.0 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.1 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.2 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-redhat-linux-7.3 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-slackware-linux 0600 root bin 156 14495 1025499863
1 f none dhcpd/config-slackware-linux-4.0 0600 root bin 162 15057 1025499863
1 f none dhcpd/config-slackware-linux-7.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-slackware-linux-8.0 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-slackware-linux-8.1 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-solaris 0600 root bin 146 13489 1025499863
1 f none dhcpd/config-suse-linux 0600 root bin 161 14957 1025499863
1 f none dhcpd/config-suse-linux-7.1 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-7.2 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-7.3 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-suse-linux-8.0 0600 root bin 159 14723 1025499863
1 f none dhcpd/config-turbo-linux 0600 root bin 150 13890 1025499863
1 f none dhcpd/config-unixware 0600 root bin 182 16948 1025499863
1 f none dhcpd/config.info 0600 root bin 407 36131 1025499863
1 f none dhcpd/config.info.ca 0600 root bin 516 46637 1025499863
1 f none dhcpd/config.info.de 0600 root bin 255 22678 1025499863
1 f none dhcpd/config.info.es 0600 root bin 509 46627 1025499863
1 f none dhcpd/config.info.fr 0600 root bin 269 24548 1025499863
1 f none dhcpd/config.info.nl 0600 root bin 376 34208 1025499863
1 f none dhcpd/config.info.pl 0600 root bin 513 48299 1025499863
1 f none dhcpd/config.info.ru_RU 0600 root bin 237 38087 1025499863
1 f none dhcpd/config.info.ru_SU 0600 root bin 237 34547 1025499863
1 f none dhcpd/config.info.sv 0600 root bin 383 36049 1025499863
1 f none dhcpd/config.info.tr 0600 root bin 241 25129 1025499863
1 f none dhcpd/config.info.zh_CN 0600 root bin 162 22384 1025499863
1 f none dhcpd/config.info.zh_TW.Big5 0600 root bin 175 21215 1025499863
1 f none dhcpd/confirm_delete.cgi 0700 root bin 3129 50994 1025499863
1 f none dhcpd/defaultacl 0600 root bin 213 18108 1025499863
1 f none dhcpd/delete_all.cgi 0700 root bin 2157 40848 1025499863
1 f none dhcpd/delete_lease.cgi 0700 root bin 1123 25040 1025499863
1 f none dhcpd/dhcpd-lib.pl 0700 root bin 18253 37767 1025499863
1 f none dhcpd/edit_group.cgi 0700 root bin 7387 62322 1025499863
1 f none dhcpd/edit_host.cgi 0700 root bin 10312 17689 1025499863
1 f none dhcpd/edit_options.cgi 0700 root bin 6978 43805 1025499863
1 f none dhcpd/edit_pool.cgi 0700 root bin 2807 35461 1025499863
1 f none dhcpd/edit_shared.cgi 0700 root bin 5179 20534 1025499863
1 f none dhcpd/edit_subnet.cgi 0700 root bin 6473 59307 1025499863
1 d none dhcpd/help 0700 root bin
1 f none dhcpd/help/acl.ca.html 0600 root bin 2470 23299 1025499863
1 f none dhcpd/help/acl.html 0600 root bin 2268 1754 1025499863
1 f none dhcpd/help/acl_info.ca.html 0600 root bin 2068 56050 1025499863
1 f none dhcpd/help/acl_info.html 0600 root bin 1879 35282 1025499863
1 f none dhcpd/help/acl_info.nl.html 0600 root bin 2163 57747 1025499863
1 f none dhcpd/help/acl_info.pl.html 0600 root bin 2253 18388 1025499863
1 d none dhcpd/images 0700 root bin
1 f none dhcpd/images/ctree0.gif 0600 root bin 2591 34363 1025499863
1 f none dhcpd/images/ctree1.gif 0600 root bin 2756 52491 1025499863
1 f none dhcpd/images/ctree2.gif 0600 root bin 2651 39628 1025499863
1 f none dhcpd/images/ctree3.gif 0600 root bin 2808 59676 1025499863
1 f none dhcpd/images/group.gif 0600 root bin 251 29940 1025499863
1 f none dhcpd/images/host.gif 0600 root bin 256 29904 1025499863
1 f none dhcpd/images/icon.gif 0600 root bin 311 35196 1025499863
1 f none dhcpd/images/pool.gif 0600 root bin 387 47873 1025499863
1 f none dhcpd/images/shared.gif 0600 root bin 272 30116 1025499863
1 f none dhcpd/images/subnet.gif 0600 root bin 273 32767 1025499863
1 f none dhcpd/index.cgi 0700 root bin 13965 32347 1025499863
1 d none dhcpd/lang 0700 root bin
1 f none dhcpd/lang/ca 0600 root bin 11826 16740 1025499863
1 f none dhcpd/lang/de 0600 root bin 6138 58888 1025499863
1 f none dhcpd/lang/en 0600 root bin 10421 5043 1025499863
1 f none dhcpd/lang/es 0600 root bin 11804 25358 1025499863
1 f none dhcpd/lang/fr 0600 root bin 12186 13025 1025499863
1 f none dhcpd/lang/ja_JP.euc 0600 root bin 11425 7228 1025499863
1 f none dhcpd/lang/ja_JP.jis 0600 root bin 11425 17662 1025499863
1 f none dhcpd/lang/ko_KR.euc 0600 root bin 10035 60199 1025499863
1 f none dhcpd/lang/nl 0600 root bin 10887 55129 1025499863
1 f none dhcpd/lang/pl 0600 root bin 11679 55207 1025499863
1 f none dhcpd/lang/pt 0600 root bin 6005 59265 1025499863
1 f none dhcpd/lang/ru_RU 0600 root bin 5664 51112 1025499863
1 f none dhcpd/lang/ru_SU 0600 root bin 5680 39277 1025499863
1 f none dhcpd/lang/sv 0600 root bin 10943 34119 1025499863
1 f none dhcpd/lang/tr 0600 root bin 6439 11377 1025499863
1 f none dhcpd/lang/zh_CN 0600 root bin 4173 57978 1025499863
1 f none dhcpd/lang/zh_TW.Big5 0600 root bin 4473 44792 1025499863
1 f none dhcpd/list_leases.cgi 0700 root bin 4787 35902 1025499863
1 f none dhcpd/log_parser.pl 0600 root bin 844 4827 1025499863
1 f none dhcpd/module.info 0600 root bin 663 63691 1025499882
1 f none dhcpd/params-lib.pl 0600 root bin 6621 16823 1025499863
1 f none dhcpd/restart.cgi 0700 root bin 555 47070 1025499863
1 f none dhcpd/save_group.cgi 0700 root bin 4065 56533 1025499863
1 f none dhcpd/save_host.cgi 0700 root bin 3797 39006 1025499863
1 f none dhcpd/save_options.cgi 0700 root bin 5211 21130 1025499863
1 f none dhcpd/save_pool.cgi 0700 root bin 2082 31453 1025499863
1 f none dhcpd/save_shared.cgi 0700 root bin 6337 28399 1025499863
1 f none dhcpd/save_subnet.cgi 0700 root bin 6305 26084 1025499863
1 f none dhcpd/start.cgi 0700 root bin 704 58419 1025499863
1 d none dnsadmin 0700 root bin
1 f none dnsadmin/acl_security.pl 0600 root bin 2962 47028 1025499833
1 f none dnsadmin/change_soa.cgi 0700 root bin 1125 27939 1025499833
1 f none dnsadmin/config-aix 0600 root bin 226 21571 1025499833
1 f none dnsadmin/config-cobalt-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-debian-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-debian-linux-2.2 0600 root bin 240 22689 1025499833
1 f none dnsadmin/config-debian-linux-3.0 0600 root bin 240 22689 1025499833
1 f none dnsadmin/config-freebsd 0600 root bin 238 22644 1025499833
1 f none dnsadmin/config-hpux 0600 root bin 230 21972 1025499833
1 f none dnsadmin/config-irix 0600 root bin 230 21968 1025499833
1 f none dnsadmin/config-mandrake-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-msc-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-open-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-openbsd 0600 root bin 237 22559 1025499833
1 f none dnsadmin/config-openserver 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config-osf1 0600 root bin 237 22634 1025499833
1 f none dnsadmin/config-redhat-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-slackware-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-solaris 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config-suse-linux 0600 root bin 235 22230 1025499833
1 f none dnsadmin/config-turbo-linux 0600 root bin 235 22229 1025499833
1 f none dnsadmin/config-unixware 0600 root bin 229 21832 1025499833
1 f none dnsadmin/config.info 0600 root bin 370 33420 1025499833
1 f none dnsadmin/config.info.ca 0600 root bin 425 39732 1025499833
1 f none dnsadmin/config.info.de 0600 root bin 361 32902 1025499833
1 f none dnsadmin/config.info.es 0600 root bin 377 35265 1025499833
1 f none dnsadmin/config.info.fr 0600 root bin 375 34607 1025499833
1 f none dnsadmin/config.info.pl 0600 root bin 372 35537 1025499833
1 f none dnsadmin/config.info.ru_RU 0600 root bin 338 55171 1025499833
1 f none dnsadmin/config.info.ru_SU 0600 root bin 338 50601 1025499833
1 f none dnsadmin/config.info.sv 0600 root bin 314 30315 1025499833
1 f none dnsadmin/config.info.tr 0600 root bin 340 34829 1025499833
1 f none dnsadmin/config.info.zh_CN 0600 root bin 237 31153 1025499833
1 f none dnsadmin/config.info.zh_TW.Big5 0600 root bin 265 33554 1025499833
1 f none dnsadmin/create_master.cgi 0700 root bin 2939 36843 1025499833
1 f none dnsadmin/create_slave.cgi 0700 root bin 2065 24774 1025499833
1 f none dnsadmin/db.cache 0600 root bin 2769 34340 1025499833
1 f none dnsadmin/defaultacl 0600 root bin 63 5396 1025499833
1 f none dnsadmin/delete_zone.cgi 0700 root bin 3531 19511 1025499833
1 f none dnsadmin/dns-lib.pl 0600 root bin 5230 64001 1025499833
1 f none dnsadmin/dns_boot.cgi 0700 root bin 1259 42361 1025499833
1 f none dnsadmin/edit_master.cgi 0700 root bin 3869 37841 1025499833
1 f none dnsadmin/edit_record.cgi 0700 root bin 805 1067 1025499833
1 f none dnsadmin/edit_recs.cgi 0700 root bin 2627 54686 1025499833
1 f none dnsadmin/edit_slave.cgi 0700 root bin 1672 8255 1025499833
1 f none dnsadmin/edit_text.cgi 0700 root bin 1152 33702 1025499833
1 d none dnsadmin/help 0700 root bin
1 f none dnsadmin/help/intro..zh_TW.Big5.html 0600 root bin 2733 26159 1025499833
1 f none dnsadmin/help/intro.ca.html 0600 root bin 4325 56693 1025499833
1 f none dnsadmin/help/intro.html 0600 root bin 3978 17279 1025499833
1 f none dnsadmin/help/intro.sv.html 0600 root bin 3710 14993 1025499833
1 f none dnsadmin/help/intro.zh_TW.Big5.html 0600 root bin 2733 26159 1025499833
1 d none dnsadmin/images 0700 root bin
1 f none dnsadmin/images/dnsadmin.gif 0600 root bin 2256 3033 1025499833
1 f none dnsadmin/images/icon.gif 0600 root bin 2031 38844 1025499833
1 f none dnsadmin/index.cgi 0700 root bin 6628 10600 1025499833
1 d none dnsadmin/lang 0700 root bin
1 f none dnsadmin/lang/ca 0600 root bin 1204 45204 1025499833
1 f none dnsadmin/lang/en 0600 root bin 975 24948 1025499833
1 f none dnsadmin/lang/es 0600 root bin 1075 35740 1025499833
1 f none dnsadmin/lang/fr 0600 root bin 1112 44366 1025499833
1 f none dnsadmin/lang/ja_JP.euc 0600 root bin 1124 35290 1025499833
1 f none dnsadmin/lang/pl 0600 root bin 1066 39713 1025499833
1 f none dnsadmin/lang/sv 0600 root bin 987 30698 1025499833
1 f none dnsadmin/lang/zh_CN 0600 root bin 789 47031 1025499833
1 f none dnsadmin/log_parser.pl 0600 root bin 1190 31237 1025499833
1 f none dnsadmin/master_form.cgi 0700 root bin 2042 42794 1025499833
1 f none dnsadmin/module.info 0600 root bin 737 1499 1025499882
1 f none dnsadmin/restart.cgi 0700 root bin 270 22286 1025499833
1 f none dnsadmin/save_master.cgi 0700 root bin 1685 1881 1025499833
1 f none dnsadmin/save_record.cgi 0700 root bin 9085 60231 1025499833
1 f none dnsadmin/save_slave.cgi 0700 root bin 1201 34345 1025499833
1 f none dnsadmin/save_text.cgi 0700 root bin 584 48706 1025499833
1 f none dnsadmin/save_zonedef.cgi 0700 root bin 821 3907 1025499833
1 f none dnsadmin/slave_form.cgi 0700 root bin 1494 61951 1025499833
1 f none dnsadmin/start.cgi 0700 root bin 179 15114 1025499833
1 d none exports 0700 root bin
1 f none exports/config-aix 0600 root bin 155 13713 1025499834
1 f none exports/config-cobalt-linux 0600 root bin 246 22204 1025499834
1 f none exports/config-corel-linux 0600 root bin 202 18378 1025499834
1 f none exports/config-debian-linux 0600 root bin 202 18378 1025499833
1 f none exports/config-debian-linux-2.2 0600 root bin 202 18288 1025499834
1 f none exports/config-debian-linux-3.0 0600 root bin 202 18288 1025499834
1 f none exports/config-generic-linux 0600 root bin 165 14896 1025499834
1 f none exports/config-gentoo-linux 0600 root bin 188 16872 1025499834
1 f none exports/config-mandrake-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-msc-linux 0600 root bin 188 16872 1025499834
1 f none exports/config-open-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-redhat-linux 0600 root bin 198 17684 1025499834
1 f none exports/config-slackware-linux 0600 root bin 165 14896 1025499834
1 f none exports/config-slackware-linux-8.0 0600 root bin 111 10401 1025499834
1 f none exports/config-slackware-linux-8.1 0600 root bin 111 10401 1025499834
1 f none exports/config-suse-linux 0600 root bin 204 18506 1025499833
1 f none exports/config-suse-linux-7.1 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-7.2 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-7.3 0600 root bin 202 18282 1025499834
1 f none exports/config-suse-linux-8.0 0600 root bin 202 18282 1025499834
1 f none exports/config-turbo-linux 0600 root bin 190 16942 1025499834
1 f none exports/config.info 0600 root bin 92 8928 1025499834
1 f none exports/config.info.ca 0600 root bin 122 11571 1025499834
1 f none exports/config.info.de 0600 root bin 111 10726 1025499833
1 f none exports/config.info.es 0600 root bin 123 11831 1025499834
1 f none exports/config.info.fr 0600 root bin 111 10863 1025499834
1 f none exports/config.info.pl 0600 root bin 79 7422 1025499834
1 f none exports/config.info.ru_RU 0600 root bin 115 19744 1025499834
1 f none exports/config.info.ru_SU 0600 root bin 115 17755 1025499834
1 f none exports/config.info.sv 0600 root bin 103 10082 1025499833
1 f none exports/config.info.tr 0600 root bin 103 10279 1025499834
1 f none exports/config.info.zh_CN 0600 root bin 77 11978 1025499834
1 f none exports/config.info.zh_TW.Big5 0600 root bin 79 10997 1025499834
1 f none exports/edit_export.cgi 0700 root bin 7217 3150 1025499833
1 f none exports/exports-lib.pl 0600 root bin 4097 53072 1025499833
1 d none exports/help 0700 root bin
1 f none exports/help/active.ca.html 0600 root bin 138 12415 1025499834
1 f none exports/help/active.es.html 0600 root bin 173 15944 1025499834
1 f none exports/help/active.html 0600 root bin 142 12427 1025499833
1 f none exports/help/active.pl.html 0600 root bin 165 15513 1025499834
1 f none exports/help/active.sv.html 0600 root bin 173 15729 1025499833
1 f none exports/help/active.zh_TW.Big5.html 0600 root bin 115 14282 1025499833
1 f none exports/help/anongid.ca.html 0600 root bin 250 22627 1025499834
1 f none exports/help/anongid.es.html 0600 root bin 261 24181 1025499833
1 f none exports/help/anongid.fr.html 0600 root bin 256 24603 1025499833
1 f none exports/help/anongid.html 0600 root bin 238 21710 1025499833
1 f none exports/help/anongid.pl.html 0600 root bin 257 24917 1025499834
1 f none exports/help/anongid.sv.html 0600 root bin 237 22568 1025499833
1 f none exports/help/anongid.zh_TW.Big5.html 0600 root bin 176 24485 1025499833
1 f none exports/help/anonuid.ca.html 0600 root bin 259 23642 1025499834
1 f none exports/help/anonuid.es.html 0600 root bin 269 25071 1025499833
1 f none exports/help/anonuid.fr.html 0600 root bin 254 24371 1025499833
1 f none exports/help/anonuid.html 0600 root bin 233 21174 1025499833
1 f none exports/help/anonuid.pl.html 0600 root bin 289 29017 1025499834
1 f none exports/help/anonuid.sv.html 0600 root bin 245 23776 1025499833
1 f none exports/help/anonuid.zh_TW.Big5.html 0600 root bin 188 27079 1025499833
1 f none exports/help/client.ca.html 0600 root bin 1245 41954 1025499834
1 f none exports/help/client.es.html 0600 root bin 1304 51158 1025499833
1 f none exports/help/client.fr.html 0600 root bin 917 21052 1025499833
1 f none exports/help/client.html 0600 root bin 1121 31240 1025499833
1 f none exports/help/client.pl.html 0600 root bin 1330 59406 1025499834
1 f none exports/help/client.sv.html 0600 root bin 1170 40873 1025499833
1 f none exports/help/client.zh_TW.Big5.html 0600 root bin 795 38110 1025499833
1 f none exports/help/create_export.ca.html 0600 root bin 137 12748 1025499834
1 f none exports/help/create_export.es.html 0600 root bin 144 13491 1025499833
1 f none exports/help/create_export.fr.html 0600 root bin 130 12081 1025499833
1 f none exports/help/create_export.html 0600 root bin 137 12345 1025499833
1 f none exports/help/create_export.pl.html 0600 root bin 162 16066 1025499834
1 f none exports/help/create_export.sv.html 0600 root bin 145 13455 1025499833
1 f none exports/help/create_export.zh_TW.Big5.html 0600 root bin 91 12673 1025499833
1 f none exports/help/dir.ca.html 0600 root bin 385 35506 1025499834
1 f none exports/help/dir.es.html 0600 root bin 394 36792 1025499833
1 f none exports/help/dir.fr.html 0600 root bin 345 33392 1025499833
1 f none exports/help/dir.html 0600 root bin 351 32338 1025499833
1 f none exports/help/dir.pl.html 0600 root bin 348 34093 1025499834
1 f none exports/help/dir.sv.html 0600 root bin 342 31991 1025499833
1 f none exports/help/dir.zh_TW.Big5.html 0600 root bin 241 33928 1025499833
1 f none exports/help/edit_export.ca.html 0600 root bin 167 15805 1025499834
1 f none exports/help/edit_export.es.html 0600 root bin 163 15514 1025499833
1 f none exports/help/edit_export.fr.html 0600 root bin 163 15038 1025499833
1 f none exports/help/edit_export.html 0600 root bin 156 14213 1025499833
1 f none exports/help/edit_export.pl.html 0600 root bin 186 18906 1025499834
1 f none exports/help/edit_export.sv.html 0600 root bin 138 13285 1025499833
1 f none exports/help/edit_export.zh_TW.Big5.html 0600 root bin 105 14927 1025499833
1 f none exports/help/insecure.ca.html 0600 root bin 273 24814 1025499834
1 f none exports/help/insecure.es.html 0600 root bin 311 28380 1025499833
1 f none exports/help/insecure.fr.html 0600 root bin 281 26027 1025499833
1 f none exports/help/insecure.html 0600 root bin 240 21591 1025499833
1 f none exports/help/insecure.pl.html 0600 root bin 293 29139 1025499834
1 f none exports/help/insecure.sv.html 0600 root bin 257 24691 1025499833
1 f none exports/help/insecure.zh_TW.Big5.html 0600 root bin 182 24321 1025499833
1 f none exports/help/intro.ca.html 0600 root bin 985 25840 1025499834
1 f none exports/help/intro.es.html 0600 root bin 1008 28046 1025499833
1 f none exports/help/intro.fr.html 0600 root bin 949 22959 1025499833
1 f none exports/help/intro.html 0600 root bin 877 13882 1025499833
1 f none exports/help/intro.pl.html 0600 root bin 955 28214 1025499834
1 f none exports/help/intro.sv.html 0600 root bin 869 17246 1025499833
1 f none exports/help/intro.zh_TW.Big5.html 0600 root bin 607 17268 1025499833
1 f none exports/help/link_relative.ca.html 0600 root bin 430 39810 1025499834
1 f none exports/help/link_relative.es.html 0600 root bin 433 39765 1025499833
1 f none exports/help/link_relative.fr.html 0600 root bin 139 12522 1025499833
1 f none exports/help/link_relative.html 0600 root bin 394 35169 1025499833
1 f none exports/help/link_relative.pl.html 0600 root bin 441 42067 1025499834
1 f none exports/help/link_relative.sv.html 0600 root bin 368 34100 1025499833
1 f none exports/help/link_relative.zh_TW.Big5.html 0600 root bin 313 40510 1025499833
1 f none exports/help/nfs.ca.html 0600 root bin 1167 45083 1025499834
1 f none exports/help/nfs.es.html 0600 root bin 1295 56913 1025499833
1 f none exports/help/nfs.fr.html 0600 root bin 1198 50376 1025499833
1 f none exports/help/nfs.html 0600 root bin 1093 35121 1025499833
1 f none exports/help/nfs.pl.html 0600 root bin 1292 440 1025499834
1 f none exports/help/nfs.sv.html 0600 root bin 1142 45833 1025499833
1 f none exports/help/nfs.zh_TW.Big5.html 0600 root bin 668 36100 1025499833
1 f none exports/help/noaccess.ca.html 0600 root bin 273 26304 1025499834
1 f none exports/help/noaccess.es.html 0600 root bin 280 26776 1025499833
1 f none exports/help/noaccess.fr.html 0600 root bin 286 27612 1025499833
1 f none exports/help/noaccess.html 0600 root bin 277 25556 1025499833
1 f none exports/help/noaccess.pl.html 0600 root bin 307 30500 1025499834
1 f none exports/help/noaccess.sv.html 0600 root bin 255 24902 1025499833
1 f none exports/help/noaccess.zh_TW.Big5.html 0600 root bin 184 27467 1025499833
1 f none exports/help/ro.ca.html 0600 root bin 184 16871 1025499834
1 f none exports/help/ro.es.html 0600 root bin 203 18692 1025499833
1 f none exports/help/ro.fr.html 0600 root bin 215 19644 1025499833
1 f none exports/help/ro.html 0600 root bin 175 15505 1025499833
1 f none exports/help/ro.pl.html 0600 root bin 201 19628 1025499834
1 f none exports/help/ro.sv.html 0600 root bin 179 16909 1025499834
1 f none exports/help/ro.zh_TW.Big5.html 0600 root bin 130 18228 1025499833
1 f none exports/help/squash.ca.html 0600 root bin 707 61784 1025499834
1 f none exports/help/squash.es.html 0600 root bin 727 65393 1025499833
1 f none exports/help/squash.fr.html 0600 root bin 752 3735 1025499834
1 f none exports/help/squash.html 0600 root bin 659 58359 1025499833
1 f none exports/help/squash.pl.html 0600 root bin 795 10570 1025499834
1 f none exports/help/squash.sv.html 0600 root bin 702 65167 1025499833
1 f none exports/help/squash.zh_TW.Big5.html 0600 root bin 511 6096 1025499833
1 f none exports/help/squash_gids.ca.html 0600 root bin 334 28815 1025499834
1 f none exports/help/squash_gids.es.html 0600 root bin 329 28245 1025499833
1 f none exports/help/squash_gids.fr.html 0600 root bin 410 37598 1025499833
1 f none exports/help/squash_gids.html 0600 root bin 296 25283 1025499833
1 f none exports/help/squash_gids.pl.html 0600 root bin 321 29539 1025499834
1 f none exports/help/squash_gids.sv.html 0600 root bin 299 25953 1025499833
1 f none exports/help/squash_gids.zh_TW.Big5.html 0600 root bin 239 28329 1025499833
1 f none exports/help/squash_uids.ca.html 0600 root bin 344 29872 1025499834
1 f none exports/help/squash_uids.es.html 0600 root bin 339 29659 1025499833
1 f none exports/help/squash_uids.fr.html 0600 root bin 407 37312 1025499833
1 f none exports/help/squash_uids.html 0600 root bin 314 27179 1025499833
1 f none exports/help/squash_uids.pl.html 0600 root bin 342 32534 1025499834
1 f none exports/help/squash_uids.sv.html 0600 root bin 295 26192 1025499833
1 f none exports/help/squash_uids.zh_TW.Big5.html 0600 root bin 239 30231 1025499833
1 d none exports/images 0700 root bin
1 f none exports/images/export.gif 0600 root bin 1565 51055 1025499834
1 f none exports/images/icon.gif 0600 root bin 245 29407 1025499834
1 f none exports/index.cgi 0700 root bin 2256 43338 1025499834
1 d none exports/lang 0700 root bin
1 f none exports/lang/ca 0600 root bin 2370 29246 1025499833
1 f none exports/lang/de 0600 root bin 2015 60814 1025499833
1 f none exports/lang/en 0600 root bin 2106 1442 1025499833
1 f none exports/lang/es 0600 root bin 2376 30380 1025499833
1 f none exports/lang/fr 0600 root bin 2336 31959 1025499833
1 f none exports/lang/ja_JP.euc 0600 root bin 2424 26197 1025499833
1 f none exports/lang/ko_KR.euc 0600 root bin 2167 41055 1025499833
1 f none exports/lang/pl 0600 root bin 2330 33704 1025499833
1 f none exports/lang/pt 0600 root bin 1767 44298 1025499833
1 f none exports/lang/ru_RU 0600 root bin 1742 38036 1025499833
1 f none exports/lang/ru_SU 0600 root bin 1745 9565 1025499833
1 f none exports/lang/sv 0600 root bin 2309 27723 1025499833
1 f none exports/lang/tr 0600 root bin 1919 1394 1025499833
1 f none exports/lang/zh_CN 0600 root bin 1492 15263 1025499833
1 f none exports/lang/zh_TW.Big5 0600 root bin 1388 49416 1025499833
1 f none exports/log_parser.pl 0600 root bin 913 9228 1025499834
1 f none exports/low.risk 0600 root bin 11 971 1025499834
1 f none exports/low.skill 0600 root bin 17 1430 1025499834
1 f none exports/medium.risk 0600 root bin 11 971 1025499834
1 f none exports/medium.skill 0600 root bin 9 770 1025499834
1 f none exports/module.info 0600 root bin 618 61545 1025499882
1 f none exports/restart_mountd.cgi 0700 root bin 522 44498 1025499834
1 f none exports/save_export.cgi 0700 root bin 3204 64103 1025499834
1 f none fastrpc.cgi 0700 root bin 7150 29316 1025499832
1 f none favicon.ico 0600 root bin 2303 63158 1025499832
1 d none fdisk 0700 root bin
1 f none fdisk/acl_security.pl 0600 root bin 1435 51820 1025499842
1 f none fdisk/apply_hdparm.cgi 0700 root bin 1349 36539 1025499841
1 f none fdisk/config 0600 root bin 0 0 1025499842
1 f none fdisk/defaultacl 0600 root bin 26 2188 1025499842
1 f none fdisk/edit_hdparm.cgi 0700 root bin 4268 45963 1025499842
1 f none fdisk/edit_part.cgi 0700 root bin 7426 56352 1025499842
1 f none fdisk/fdisk-lib.pl 0600 root bin 25567 24792 1025499842
1 f none fdisk/feedback_files.pl 0600 root bin 115 9009 1025499842
1 f none fdisk/fsck.cgi 0700 root bin 581 46994 1025499842
1 f none fdisk/fsck_form.cgi 0700 root bin 860 7774 1025499842
1 d none fdisk/help 0700 root bin
1 f none fdisk/help/A.ca.html 0600 root bin 156 14041 1025499842
1 f none fdisk/help/A.es.html 0600 root bin 152 14245 1025499842
1 f none fdisk/help/A.fr.html 0600 root bin 91 8730 1025499842
1 f none fdisk/help/A.html 0600 root bin 115 10279 1025499842
1 f none fdisk/help/A.hu.html 0600 root bin 128 13346 1025499842
1 f none fdisk/help/A.pl.html 0600 root bin 147 14727 1025499842
1 f none fdisk/help/A.sv.html 0600 root bin 118 10901 1025499842
1 f none fdisk/help/A.zh_TW.Big5.html 0600 root bin 84 10876 1025499842
1 f none fdisk/help/K.ca.html 0600 root bin 509 47607 1025499842
1 f none fdisk/help/K.es.html 0600 root bin 496 46003 1025499842
1 f none fdisk/help/K.fr.html 0600 root bin 536 49703 1025499842
1 f none fdisk/help/K.html 0600 root bin 397 35668 1025499842
1 f none fdisk/help/K.hu.html 0600 root bin 446 47244 1025499842
1 f none fdisk/help/K.pl.html 0600 root bin 507 49272 1025499842
1 f none fdisk/help/K.sv.html 0600 root bin 405 38597 1025499842
1 f none fdisk/help/K.zh_TW.Big5.html 0600 root bin 258 33920 1025499842
1 f none fdisk/help/P.ca.html 0600 root bin 905 18000 1025499842
1 f none fdisk/help/P.es.html 0600 root bin 980 25888 1025499842
1 f none fdisk/help/P.fr.html 0600 root bin 774 6520 1025499842
1 f none fdisk/help/P.html 0600 root bin 817 8632 1025499842
1 f none fdisk/help/P.hu.html 0600 root bin 862 24310 1025499842
1 f none fdisk/help/P.pl.html 0600 root bin 959 29078 1025499842
1 f none fdisk/help/P.sv.html 0600 root bin 736 5537 1025499842
1 f none fdisk/help/P.zh_TW.Big5.html 0600 root bin 511 8947 1025499842
1 f none fdisk/help/S.ca.html 0600 root bin 881 13683 1025499842
1 f none fdisk/help/S.es.html 0600 root bin 974 22562 1025499842
1 f none fdisk/help/S.fr.html 0600 root bin 1043 30875 1025499842
1 f none fdisk/help/S.html 0600 root bin 816 6905 1025499842
1 f none fdisk/help/S.pl.html 0600 root bin 902 21043 1025499842
1 f none fdisk/help/S.sv.html 0600 root bin 789 8799 1025499842
1 f none fdisk/help/S.zh_TW.Big5.html 0600 root bin 490 64078 1025499842
1 f none fdisk/help/W.ca.html 0600 root bin 140 12245 1025499842
1 f none fdisk/help/W.es.html 0600 root bin 151 14073 1025499842
1 f none fdisk/help/W.fr.html 0600 root bin 128 12603 1025499842
1 f none fdisk/help/W.html 0600 root bin 114 10176 1025499842
1 f none fdisk/help/W.pl.html 0600 root bin 131 12578 1025499842
1 f none fdisk/help/W.sv.html 0600 root bin 103 9306 1025499842
1 f none fdisk/help/W.zh_TW.Big5.html 0600 root bin 83 10651 1025499842
1 f none fdisk/help/X.ca.html 0600 root bin 549 50398 1025499842
1 f none fdisk/help/X.es.html 0600 root bin 570 52469 1025499842
1 f none fdisk/help/X.fr.html 0600 root bin 661 62263 1025499842
1 f none fdisk/help/X.html 0600 root bin 467 41466 1025499842
1 f none fdisk/help/X.pl.html 0600 root bin 650 64205 1025499842
1 f none fdisk/help/X.sv.html 0600 root bin 497 48312 1025499842
1 f none fdisk/help/X.zh_TW.Big5.html 0600 root bin 331 46072 1025499842
1 f none fdisk/help/a.ca.html 0600 root bin 730 2298 1025499842
1 f none fdisk/help/a.fr.html 0600 root bin 651 62289 1025499842
1 f none fdisk/help/a.html 0600 root bin 634 57966 1025499842
1 f none fdisk/help/a.pl.html 0600 root bin 780 14782 1025499842
1 f none fdisk/help/a.sv.html 0600 root bin 620 62122 1025499842
1 f none fdisk/help/a.zh_TW.Big5.html 0600 root bin 394 58912 1025499842
1 f none fdisk/help/c.ca.html 0600 root bin 468 41685 1025499842
1 f none fdisk/help/c.fr.html 0600 root bin 387 35846 1025499842
1 f none fdisk/help/c.html 0600 root bin 366 31836 1025499842
1 f none fdisk/help/c.pl.html 0600 root bin 409 38907 1025499842
1 f none fdisk/help/c.sv.html 0600 root bin 357 33253 1025499842
1 f none fdisk/help/c.zh_TW.Big5.html 0600 root bin 274 35462 1025499842
1 f none fdisk/help/d.ca.html 0600 root bin 717 1298 1025499842
1 f none fdisk/help/d.fr.html 0600 root bin 587 55308 1025499842
1 f none fdisk/help/d.html 0600 root bin 684 62258 1025499842
1 f none fdisk/help/d.pl.html 0600 root bin 793 12124 1025499842
1 f none fdisk/help/d.sv.html 0600 root bin 672 685 1025499842
1 f none fdisk/help/d.zh_TW.Big5.html 0600 root bin 411 56092 1025499842
1 f none fdisk/help/edit.ca.html 0600 root bin 348 30880 1025499842
1 f none fdisk/help/edit.fr.html 0600 root bin 380 34872 1025499842
1 f none fdisk/help/edit.html 0600 root bin 296 26019 1025499842
1 f none fdisk/help/edit.sv.html 0600 root bin 282 27114 1025499842
1 f none fdisk/help/edit.zh_TW.Big5.html 0600 root bin 235 32187 1025499842
1 f none fdisk/help/index.ca.html 0600 root bin 1130 37200 1025499842
1 f none fdisk/help/index.fr.html 0600 root bin 1362 61466 1025499842
1 f none fdisk/help/index.html 0600 root bin 1004 24495 1025499842
1 f none fdisk/help/index.sv.html 0600 root bin 1010 31453 1025499842
1 f none fdisk/help/index.zh_TW.Big5.html 0600 root bin 665 28520 1025499842
1 f none fdisk/help/k.ca.html 0600 root bin 463 43406 1025499842
1 f none fdisk/help/k.fr.html 0600 root bin 464 43783 1025499842
1 f none fdisk/help/k.html 0600 root bin 366 33008 1025499842
1 f none fdisk/help/k.pl.html 0600 root bin 436 42114 1025499842
1 f none fdisk/help/k.sv.html 0600 root bin 380 36197 1025499842
1 f none fdisk/help/k.zh_TW.Big5.html 0600 root bin 273 34534 1025499842
1 f none fdisk/help/m.ca.html 0600 root bin 1336 57877 1025499842
1 f none fdisk/help/m.fr.html 0600 root bin 1253 52364 1025499842
1 f none fdisk/help/m.html 0600 root bin 1151 38410 1025499842
1 f none fdisk/help/m.pl.html 0600 root bin 1330 504 1025499842
1 f none fdisk/help/m.sv.html 0600 root bin 1257 56042 1025499842
1 f none fdisk/help/m.zh_TW.Big5.html 0600 root bin 782 45607 1025499842
1 f none fdisk/help/r.ca.html 0600 root bin 154 14278 1025499842
1 f none fdisk/help/r.fr.html 0600 root bin 162 15378 1025499842
1 f none fdisk/help/r.html 0600 root bin 123 11101 1025499842
1 f none fdisk/help/r.pl.html 0600 root bin 179 16975 1025499842
1 f none fdisk/help/r.sv.html 0600 root bin 133 12960 1025499842
1 f none fdisk/help/r.zh_TW.Big5.html 0600 root bin 86 12143 1025499842
1 f none fdisk/help/u.ca.html 0600 root bin 772 6084 1025499842
1 f none fdisk/help/u.fr.html 0600 root bin 660 62615 1025499842
1 f none fdisk/help/u.html 0600 root bin 640 58768 1025499842
1 f none fdisk/help/u.pl.html 0600 root bin 777 10814 1025499842
1 f none fdisk/help/u.sv.html 0600 root bin 670 64521 1025499842
1 f none fdisk/help/u.zh_TW.Big5.html 0600 root bin 403 53718 1025499842
1 d none fdisk/images 0700 root bin
1 f none fdisk/images/ext.gif 0600 root bin 36 1456 1025499842
1 f none fdisk/images/gap.gif 0600 root bin 44 2023 1025499842
1 f none fdisk/images/icon.gif 0600 root bin 308 36936 1025499842
1 f none fdisk/images/use.gif 0600 root bin 36 1215 1025499842
1 f none fdisk/index.cgi 0700 root bin 4927 34813 1025499842
1 d none fdisk/lang 0700 root bin
1 f none fdisk/lang/ca 0600 root bin 8178 49694 1025499842
1 f none fdisk/lang/de 0600 root bin 7341 38142 1025499842
1 f none fdisk/lang/en 0600 root bin 7523 43594 1025499842
1 f none fdisk/lang/es 0600 root bin 7715 11256 1025499842
1 f none fdisk/lang/fr 0600 root bin 7811 40404 1025499842
1 f none fdisk/lang/hu 0600 root bin 6383 11535 1025499842
1 f none fdisk/lang/ja_JP.euc 0600 root bin 7188 21889 1025499842
1 f none fdisk/lang/ko_KR.euc 0600 root bin 6297 32393 1025499842
1 f none fdisk/lang/pl 0600 root bin 7575 32405 1025499842
1 f none fdisk/lang/pt 0600 root bin 5669 24358 1025499842
1 f none fdisk/lang/ru_RU 0600 root bin 5396 22157 1025499842
1 f none fdisk/lang/ru_SU 0600 root bin 5407 61895 1025499842
1 f none fdisk/lang/sv 0600 root bin 6879 11972 1025499842
1 f none fdisk/lang/tr 0600 root bin 6416 12953 1025499842
1 f none fdisk/lang/zh_CN 0600 root bin 4892 58422 1025499842
1 f none fdisk/lang/zh_TW.Big5 0600 root bin 4828 34049 1025499841
1 f none fdisk/log_parser.pl 0600 root bin 1571 50683 1025499842
1 f none fdisk/make_tags.pl 0700 root bin 210 14222 1025499842
1 f none fdisk/mkfs.cgi 0700 root bin 851 4391 1025499842
1 f none fdisk/mkfs_form.cgi 0700 root bin 999 18765 1025499842
1 f none fdisk/module.info 0600 root bin 762 17500 1025499882
1 f none fdisk/reboot.cgi 0700 root bin 271 23148 1025499842
1 f none fdisk/save_part.cgi 0700 root bin 3374 12860 1025499842
1 f none fdisk/tunefs.cgi 0700 root bin 713 59335 1025499842
1 f none fdisk/tunefs_form.cgi 0700 root bin 883 10914 1025499842
1 f none feedback.cgi 0700 root bin 6531 56409 1025499832
1 f none feedback_form.cgi 0700 root bin 3304 18371 1025499832
1 d none fetchmail 0700 root bin
1 f none fetchmail/acl_security.pl 0600 root bin 1259 37930 1025499875
1 f none fetchmail/check.cgi 0700 root bin 1202 29866 1025499875
1 f none fetchmail/config 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-cobalt-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-corel-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-debian-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-gentoo-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-mandrake-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-msc-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-open-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-redhat-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-slackware-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-suse-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config-turbo-linux 0600 root bin 87 8396 1025499875
1 f none fetchmail/config.info 0600 root bin 220 20138 1025499875
1 f none fetchmail/config.info.ca 0600 root bin 275 25663 1025499875
1 f none fetchmail/config.info.de 0600 root bin 249 23043 1025499875
1 f none fetchmail/config.info.es 0600 root bin 276 26023 1025499875
1 f none fetchmail/config.info.it 0600 root bin 220 20138 1025499875
1 f none fetchmail/config.info.pl 0600 root bin 302 29583 1025499875
1 f none fetchmail/defaultacl 0600 root bin 25 2143 1025499875
1 f none fetchmail/edit_global.cgi 0700 root bin 2538 15394 1025499875
1 f none fetchmail/edit_poll.cgi 0700 root bin 5558 590 1025499875
1 f none fetchmail/feedback_files.pl 0600 root bin 266 21349 1025499875
1 f none fetchmail/fetchmail-lib.pl 0600 root bin 5297 13866 1025499875
1 d none fetchmail/images 0700 root bin
1 f none fetchmail/images/hand.png 0600 root bin 2408 32761 1025499875
1 f none fetchmail/images/icon.gif 0600 root bin 1326 63624 1025499875
1 f none fetchmail/images/old.gif 0600 root bin 325 36457 1025499875
1 f none fetchmail/index.cgi 0700 root bin 4109 64350 1025499875
1 d none fetchmail/lang 0700 root bin
1 f none fetchmail/lang/ca 0600 root bin 4131 36 1025499875
1 f none fetchmail/lang/de 0600 root bin 4872 55976 1025499875
1 f none fetchmail/lang/en 0600 root bin 3457 62881 1025499875
1 f none fetchmail/lang/es 0600 root bin 3717 28744 1025499875
1 f none fetchmail/lang/it 0600 root bin 3190 37837 1025499875
1 f none fetchmail/lang/ja_JP.euc 0600 root bin 1007 15514 1025499875
1 f none fetchmail/lang/ko_KR.euc 0600 root bin 898 60291 1025499875
1 f none fetchmail/lang/pl 0600 root bin 3674 34172 1025499875
1 f none fetchmail/log_parser.pl 0600 root bin 1317 38358 1025499875
1 f none fetchmail/module.info 0600 root bin 276 27334 1025499882
1 f none fetchmail/run_file.cgi 0700 root bin 167 14054 1025499875
1 f none fetchmail/save_global.cgi 0700 root bin 1574 296 1025499875
1 f none fetchmail/save_poll.cgi 0700 root bin 3009 48051 1025499875
1 f none fetchmail/start.cgi 0700 root bin 548 45560 1025499875
1 f none fetchmail/stop.cgi 0700 root bin 410 33391 1025499875
1 d none file 0700 root bin
1 f none file/ACLEditor.class 0600 root bin 5519 46995 1025499862
1 f none file/ACLEntry.class 0600 root bin 2838 56022 1025499862
1 f none file/ACLWindow.class 0600 root bin 5793 16833 1025499862
1 f none file/AttributeEditor.class 0600 root bin 3875 13233 1025499862
1 f none file/AttributesWindow.class 0600 root bin 4488 50446 1025499862
1 f none file/BorderPanel.class 0600 root bin 1446 4753 1025499862
1 f none file/BorderPanel.java 0700 root bin 765 58285 1025499862
1 f none file/CbButton.class 0600 root bin 4861 19409 1025499862
1 f none file/CbButton.java 0600 root bin 5443 26769 1025499861
1 f none file/CbButtonCallback.class 0600 root bin 241 16019 1025499862
1 f none file/CbButtonGroup.class 0600 root bin 747 39501 1025499862
1 f none file/CbColorButton.class 0600 root bin 1788 40052 1025499862
1 f none file/CbColorButton.java 0600 root bin 947 7942 1025499862
1 f none file/CbColorWindow.class 0600 root bin 3954 55038 1025499862
1 f none file/CbColorWindow.java 0600 root bin 5257 37084 1025499862
1 f none file/CbColorWindowCallback.class 0600 root bin 363 26150 1025499862
1 f none file/CbColorWindowCube.class 0600 root bin 1831 47508 1025499861
1 f none file/CbColorWindowSwatch.class 0600 root bin 1790 39012 1025499862
1 f none file/CbImageChooser.class 0600 root bin 1285 5767 1025499862
1 f none file/CbImageChooser.java 0600 root bin 4700 46122 1025499861
1 f none file/CbImageFileWindow.class 0600 root bin 3699 54358 1025499861
1 f none file/CbScrollbar.class 0600 root bin 4330 39507 1025499862
1 f none file/CbScrollbar.java 0600 root bin 7820 13914 1025499861
1 f none file/CbScrollbarArrow.class 0600 root bin 2028 37155 1025499862
1 f none file/CbScrollbarCallback.class 0600 root bin 274 18301 1025499862
1 f none file/CbSlider.class 0600 root bin 3732 55388 1025499862
1 f none file/CbSlider.java 0600 root bin 4622 28249 1025499861
1 f none file/CbSliderCallback.class 0600 root bin 240 15352 1025499862
1 f none file/DFSAdminExport.class 0600 root bin 1892 57844 1025499862
1 f none file/DeleteWindow.class 0600 root bin 3331 45544 1025499862
1 f none file/EXTWindow.class 0600 root bin 4055 26059 1025499862
1 f none file/EditorWindow.class 0600 root bin 5939 18772 1025499862
1 f none file/ErrorWindow.class 0600 root bin 1323 15257 1025499862
1 f none file/ErrorWindow.java 0600 root bin 557 46152 1025499862
1 f none file/FileAttribute.class 0600 root bin 1216 11145 1025499862
1 f none file/FileManager.class 0600 root bin 17631 20512 1025499862
1 f none file/FileManager.java 0600 root bin 81352 40075 1025499862
1 f none file/FileNode.class 0600 root bin 2032 63010 1025499861
1 f none file/FileSystem.class 0600 root bin 1400 23728 1025499862
1 f none file/FixedFrame.class 0600 root bin 1105 54585 1025499862
1 f none file/FixedFrame.java 0600 root bin 701 56084 1025499862
1 f none file/GrayPanel.class 0600 root bin 632 35006 1025499861
1 f none file/GrayPanel.java 0600 root bin 177 14890 1025499861
1 f none file/Hierarchy.class 0600 root bin 5755 19736 1025499862
1 f none file/Hierarchy.java 0600 root bin 7627 18970 1025499862
1 f none file/HierarchyCallback.class 0600 root bin 324 21287 1025499862
1 f none file/HierarchyNode.class 0600 root bin 612 30973 1025499862
1 f none file/LineInputStream.class 0600 root bin 1838 12147 1025499861
1 f none file/LineInputStream.java 0700 root bin 2127 45435 1025499862
1 f none file/LinedPanel.class 0600 root bin 1352 8767 1025499861
1 f none file/LinedPanel.java 0600 root bin 712 53631 1025499862
1 f none file/LinkWindow.class 0600 root bin 3685 5840 1025499861
1 f none file/LinuxExport.class 0600 root bin 2045 1013 1025499862
1 f none file/Makefile 0600 root bin 122 10701 1025499861
1 f none file/MkdirWindow.class 0600 root bin 3719 8980 1025499862
1 f none file/MultiColumn.class 0600 root bin 8153 34238 1025499862
1 f none file/MultiColumn.java 0600 root bin 9826 53606 1025499861
1 f none file/MultiColumnCallback.class 0600 root bin 263 17903 1025499862
1 f none file/MultiLabel.class 0600 root bin 1814 54263 1025499861
1 f none file/MyFlowLayout.java 0600 root bin 6627 60000 1025499862
1 f none file/OverwriteWindow.class 0600 root bin 3248 39657 1025499861
1 f none file/PermissionsPanel.class 0600 root bin 1626 36693 1025499862
1 f none file/PropertiesWindow.class 0600 root bin 6904 16525 1025499862
1 f none file/RemoteFile.class 0600 root bin 3785 45679 1025499862
1 f none file/RenameWindow.class 0600 root bin 4222 32082 1025499862
1 f none file/ResizePanel.class 0600 root bin 2375 63409 1025499862
1 f none file/ResizePanel.java 0600 root bin 2036 36261 1025499862
1 f none file/SambaShare.class 0600 root bin 1783 50057 1025499862
1 f none file/ScrollImage.class 0600 root bin 2865 40852 1025499862
1 f none file/SearchWindow.class 0600 root bin 7844 32460 1025499862
1 f none file/SharingWindow.class 0600 root bin 10839 65259 1025499862
1 f none file/StaticTextField.class 0600 root bin 508 24333 1025499862
1 f none file/StaticTextField.java 0600 root bin 338 28277 1025499861
1 f none file/StringJoiner.class 0600 root bin 840 43468 1025499862
1 f none file/StringSplitter.class 0600 root bin 1194 62800 1025499862
1 f none file/StringSplitter.java 0600 root bin 1970 31966 1025499862
1 f none file/TabSelector.class 0600 root bin 2818 29199 1025499862
1 f none file/TabbedDisplayPanel.class 0600 root bin 1580 28851 1025499861
1 f none file/TabbedPanel.class 0600 root bin 1344 9732 1025499862
1 f none file/TabbedPanel.java 0600 root bin 4111 58688 1025499861
1 f none file/ThirdsLayout.class 0600 root bin 1607 30560 1025499862
1 f none file/Util.class 0600 root bin 3762 30508 1025499862
1 f none file/Util.java 0600 root bin 2597 6912 1025499862
1 f none file/acl_security.pl 0600 root bin 1733 11419 1025499861
1 f none file/chmod.cgi 0700 root bin 1902 17652 1025499862
1 f none file/config-cobalt-linux 0600 root bin 424 36923 1025499862
1 f none file/config-corel-linux 0600 root bin 424 36923 1025499862
1 f none file/config-debian-linux 0600 root bin 424 36923 1025499862
1 f none file/config-generic-linux 0600 root bin 424 36923 1025499862
1 f none file/config-irix 0600 root bin 126 11106 1025499862
1 f none file/config-mandrake-linux 0600 root bin 424 36923 1025499862
1 f none file/config-msc-linux 0600 root bin 424 36923 1025499862
1 f none file/config-open-linux 0600 root bin 424 36923 1025499862
1 f none file/config-redhat-linux 0600 root bin 424 36923 1025499862
1 f none file/config-slackware-linux 0600 root bin 424 36923 1025499862
1 f none file/config-solaris 0600 root bin 215 18643 1025499862
1 f none file/config-suse-linux 0600 root bin 424 36923 1025499862
1 f none file/config-turbo-linux 0600 root bin 424 36923 1025499862
1 f none file/copy.cgi 0700 root bin 1060 17889 1025499862
1 f none file/defaultacl 0600 root bin 50 4089 1025499862
1 f none file/delete.cgi 0700 root bin 416 33979 1025499862
1 f none file/file-lib.pl 0600 root bin 2032 20458 1025499861
1 f none file/filesystems.cgi 0700 root bin 1208 24550 1025499862
1 f none file/getattrs.cgi 0700 root bin 789 57708 1025499862
1 f none file/getext.cgi 0700 root bin 482 37223 1025499862
1 f none file/getfacl.cgi 0700 root bin 697 50228 1025499862
1 d none file/images 0700 root bin
1 f none file/images/acl.gif 0600 root bin 193 19935 1025499862
1 f none file/images/add.gif 0600 root bin 118 12512 1025499862
1 f none file/images/attr.gif 0600 root bin 180 20262 1025499862
1 f none file/images/binary.gif 0600 root bin 97 8992 1025499862
1 f none file/images/cancel.gif 0600 root bin 107 9763 1025499862
1 f none file/images/copy.gif 0600 root bin 113 11556 1025499862
1 f none file/images/cut.gif 0600 root bin 119 11873 1025499862
1 f none file/images/device.gif 0600 root bin 90 7520 1025499862
1 f none file/images/dir.gif 0600 root bin 88 8637 1025499862
1 f none file/images/down.gif 0600 root bin 128 14408 1025499862
1 f none file/images/edit.gif 0600 root bin 138 13129 1025499862
1 f none file/images/ext.gif 0600 root bin 1159 27345 1025499862
1 f none file/images/file.gif 0600 root bin 1754 7118 1025499862
1 f none file/images/icon.gif 0600 root bin 266 29430 1025499862
1 f none file/images/image.gif 0600 root bin 124 11467 1025499862
1 f none file/images/makelink.gif 0600 root bin 127 14672 1025499862
1 f none file/images/mkdir.gif 0600 root bin 106 11958 1025499862
1 f none file/images/new.gif 0600 root bin 85 9773 1025499862
1 f none file/images/open.gif 0600 root bin 114 13145 1025499862
1 f none file/images/paste.gif 0600 root bin 152 15179 1025499862
1 f none file/images/pipe.gif 0600 root bin 107 8758 1025499862
1 f none file/images/props.gif 0600 root bin 117 13273 1025499862
1 f none file/images/refresh.gif 0600 root bin 92 9815 1025499862
1 f none file/images/rename.gif 0600 root bin 144 15370 1025499862
1 f none file/images/ret.gif 0600 root bin 229 25553 1025499862
1 f none file/images/run.gif 0600 root bin 130 13008 1025499862
1 f none file/images/save.gif 0600 root bin 92 7921 1025499862
1 f none file/images/sdir.gif 0600 root bin 180 18300 1025499862
1 f none file/images/search.gif 0600 root bin 131 12536 1025499862
1 f none file/images/share.gif 0600 root bin 132 13595 1025499862
1 f none file/images/sub.gif 0600 root bin 96 11275 1025499862
1 f none file/images/symlink.gif 0600 root bin 87 7991 1025499862
1 f none file/images/text.gif 0600 root bin 91 8129 1025499862
1 f none file/images/unknown.gif 0600 root bin 79 7261 1025499862
1 f none file/images/upload.gif 0600 root bin 154 16502 1025499862
1 f none file/images/view.gif 0600 root bin 138 14182 1025499862
1 f none file/index.cgi 0700 root bin 1517 61562 1025499862
1 d none file/lang 0700 root bin
1 f none file/lang.cgi 0700 root bin 194 16320 1025499862
1 f none file/lang/ca 0600 root bin 9041 62010 1025499861
1 f none file/lang/de 0600 root bin 4834 56513 1025499861
1 f none file/lang/en 0600 root bin 8186 35435 1025499861
1 f none file/lang/es 0600 root bin 7019 9132 1025499861
1 f none file/lang/fr 0600 root bin 7467 65047 1025499861
1 f none file/lang/it 0600 root bin 4354 10319 1025499861
1 f none file/lang/ja_JP.euc 0600 root bin 6683 22813 1025499861
1 f none file/lang/ko_KR.euc 0600 root bin 5986 20769 1025499861
1 f none file/lang/pl 0600 root bin 11525 53932 1025499861
1 f none file/lang/pt 0600 root bin 4524 40204 1025499861
1 f none file/lang/ru_RU 0600 root bin 4305 30265 1025499861
1 f none file/lang/ru_SU 0600 root bin 4326 37526 1025499861
1 f none file/lang/sv 0600 root bin 4261 9029 1025499861
1 f none file/lang/tr 0600 root bin 5723 49183 1025499861
1 f none file/lang/zh_CN 0600 root bin 4807 50018 1025499861
1 f none file/lang/zh_TW.Big5 0600 root bin 3197 58318 1025499861
1 f none file/list.cgi 0700 root bin 598 46233 1025499861
1 f none file/list_exports.cgi 0700 root bin 2358 50260 1025499862
1 f none file/list_shares.cgi 0700 root bin 1201 31564 1025499862
1 f none file/log_parser.pl 0600 root bin 1363 43370 1025499862
1 f none file/makelink.cgi 0700 root bin 534 44266 1025499861
1 f none file/mkdir.cgi 0700 root bin 452 36689 1025499861
1 f none file/module.info 0600 root bin 462 50778 1025499882
1 f none file/move.cgi 0700 root bin 596 48439 1025499862
1 f none file/rename.cgi 0700 root bin 457 37082 1025499861
1 f none file/root.cgi 0700 root bin 176 15352 1025499862
1 f none file/save.cgi 0700 root bin 549 42822 1025499861
1 f none file/save_export.cgi 0700 root bin 3930 46800 1025499862
1 f none file/save_share.cgi 0700 root bin 2534 763 1025499862
1 f none file/search.cgi 0700 root bin 749 57642 1025499862
1 f none file/setattrs.cgi 0700 root bin 884 65412 1025499862
1 f none file/setext.cgi 0700 root bin 383 30205 1025499862
1 f none file/setfacl.cgi 0700 root bin 820 60871 1025499862
1 f none file/show.cgi 0700 root bin 1438 40661 1025499861
1 f none file/upform.cgi 0700 root bin 883 9987 1025499862
1 f none file/upload.cgi 0700 root bin 877 1591 1025499862
1 d none format 0700 root bin
1 f none format/acl_security.pl 0600 root bin 1068 22010 1025499843
1 f none format/config 0600 root bin 84 7946 1025499844
1 f none format/config.info 0600 root bin 90 8170 1025499843
1 f none format/config.info.ca 0600 root bin 92 8190 1025499844
1 f none format/config.info.de 0600 root bin 100 9178 1025499843
1 f none format/config.info.es 0600 root bin 110 10270 1025499843
1 f none format/config.info.fr 0600 root bin 104 9664 1025499843
1 f none format/config.info.hu 0600 root bin 100 9316 1025499844
1 f none format/config.info.pl 0600 root bin 98 9372 1025499844
1 f none format/config.info.sv 0600 root bin 112 11320 1025499843
1 f none format/config.info.tr 0600 root bin 89 8312 1025499844
1 f none format/config.info.zh_CN 0600 root bin 82 8918 1025499844
1 f none format/config.info.zh_TW.Big5 0600 root bin 92 10498 1025499844
1 f none format/copy_part_form.cgi 0700 root bin 2727 21182 1025499843
1 f none format/defaultacl 0600 root bin 19 1625 1025499843
1 f none format/edit_disk.cgi 0700 root bin 2663 24288 1025499843
1 f none format/edit_part.cgi 0700 root bin 4835 3193 1025499844
1 f none format/format-lib.pl 0600 root bin 9040 38885 1025499844
1 f none format/fsck.cgi 0700 root bin 553 44859 1025499843
1 f none format/fsck_form.cgi 0700 root bin 886 10314 1025499844
1 d none format/help 0700 root bin
1 f none format/help/help.ca.html 0600 root bin 201 17064 1025499843
1 f none format/help/help.es.html 0600 root bin 205 17433 1025499843
1 f none format/help/help.html 0600 root bin 199 16460 1025499843
1 f none format/help/help.sv.html 0600 root bin 204 17228 1025499843
1 f none format/help/help.zh_TW.Big5.html 0600 root bin 177 16907 1025499843
1 d none format/images 0700 root bin
1 f none format/images/gap.gif 0600 root bin 44 2023 1025499843
1 f none format/images/icon.gif 0600 root bin 308 36936 1025499843
1 f none format/images/use.gif 0600 root bin 36 1215 1025499843
1 f none format/index.cgi 0700 root bin 2994 27470 1025499844
1 d none format/lang 0700 root bin
1 f none format/lang/ca 0600 root bin 6762 54777 1025499843
1 f none format/lang/de 0600 root bin 7219 23658 1025499843
1 f none format/lang/en 0600 root bin 6025 41637 1025499843
1 f none format/lang/es 0600 root bin 6097 49161 1025499843
1 f none format/lang/fr 0600 root bin 7309 61320 1025499843
1 f none format/lang/hu 0600 root bin 6746 62828 1025499843
1 f none format/lang/ja_JP.euc 0600 root bin 6543 24515 1025499843
1 f none format/lang/ko_KR.euc 0600 root bin 5928 20426 1025499843
1 f none format/lang/pl 0600 root bin 6794 24398 1025499843
1 f none format/lang/sv 0600 root bin 6317 24346 1025499843
1 f none format/lang/tr 0600 root bin 125 11583 1025499843
1 f none format/lang/zh_CN 0600 root bin 4415 18404 1025499843
1 f none format/lang/zh_TW.Big5 0600 root bin 4515 29147 1025499843
1 f none format/module.info 0600 root bin 588 62854 1025499882
1 f none format/newfs.cgi 0700 root bin 1172 24250 1025499843
1 f none format/newfs_form.cgi 0700 root bin 1579 64572 1025499844
1 f none format/save_part.cgi 0700 root bin 1034 20581 1025499843
1 f none format/tunefs.cgi 0700 root bin 892 6358 1025499844
1 f none format/tunefs_form.cgi 0700 root bin 1261 42436 1025499843
1 d none fsdump 0700 root bin
1 f none fsdump/backup.cgi 0700 root bin 691 56050 1025499881
1 f none fsdump/backup.pl 0700 root bin 944 8461 1025499881
1 f none fsdump/cobalt-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/corel-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/debian-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/edit_dump.cgi 0700 root bin 2730 25630 1025499881
1 f none fsdump/feedback_files.pl 0600 root bin 229 18608 1025499881
1 f none fsdump/freebsd-lib.pl 0600 root bin 7246 61065 1025499881
1 f none fsdump/fsdump-lib.pl 0600 root bin 2875 31347 1025499881
1 f none fsdump/generic-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/gentoo-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 d none fsdump/help 0700 root bin
1 f none fsdump/help/attribs.ca.html 0600 root bin 204 18942 1025499881
1 f none fsdump/help/attribs.html 0600 root bin 180 16119 1025499881
1 f none fsdump/help/create.ca.html 0600 root bin 252 22738 1025499881
1 f none fsdump/help/create.html 0600 root bin 249 21955 1025499881
1 f none fsdump/help/dest.ca.html 0600 root bin 370 33669 1025499881
1 f none fsdump/help/dest.html 0600 root bin 355 31471 1025499881
1 f none fsdump/help/dir.ca.html 0600 root bin 227 20222 1025499881
1 f none fsdump/help/dir.html 0600 root bin 211 18874 1025499881
1 f none fsdump/help/dump.ca.html 0600 root bin 216 19728 1025499881
1 f none fsdump/help/dump.html 0600 root bin 217 19772 1025499881
1 f none fsdump/help/edit.ca.html 0600 root bin 284 26344 1025499881
1 f none fsdump/help/edit.html 0600 root bin 277 24905 1025499881
1 f none fsdump/help/email.ca.html 0600 root bin 288 26544 1025499881
1 f none fsdump/help/email.html 0600 root bin 262 23520 1025499881
1 f none fsdump/help/enabled.ca.html 0600 root bin 292 27327 1025499881
1 f none fsdump/help/enabled.html 0600 root bin 274 24433 1025499881
1 f none fsdump/help/erase.ca.html 0600 root bin 278 25613 1025499881
1 f none fsdump/help/erase.html 0600 root bin 278 24723 1025499881
1 f none fsdump/help/intro.ca.html 0600 root bin 961 24471 1025499881
1 f none fsdump/help/intro.html 0600 root bin 797 7215 1025499881
1 f none fsdump/help/invent.ca.html 0600 root bin 218 20159 1025499881
1 f none fsdump/help/invent.html 0600 root bin 212 18977 1025499881
1 f none fsdump/help/label.ca.html 0600 root bin 111 10019 1025499881
1 f none fsdump/help/label.html 0600 root bin 108 9336 1025499881
1 f none fsdump/help/level.ca.html 0600 root bin 312 28976 1025499881
1 f none fsdump/help/level.html 0600 root bin 286 25645 1025499881
1 f none fsdump/help/max.ca.html 0600 root bin 172 15734 1025499881
1 f none fsdump/help/max.html 0600 root bin 161 14355 1025499881
1 f none fsdump/help/multi.ca.html 0600 root bin 305 27367 1025499881
1 f none fsdump/help/multi.html 0600 root bin 289 25426 1025499881
1 f none fsdump/help/nothing.html 0600 root bin 213 19303 1025499881
1 f none fsdump/help/offline.ca.html 0600 root bin 165 15188 1025499881
1 f none fsdump/help/offline.html 0600 root bin 154 13638 1025499881
1 f none fsdump/help/over.ca.html 0600 root bin 163 15222 1025499881
1 f none fsdump/help/over.html 0600 root bin 152 13443 1025499881
1 f none fsdump/help/overwrite.ca.html 0600 root bin 185 17339 1025499881
1 f none fsdump/help/overwrite.html 0600 root bin 200 18105 1025499881
1 f none fsdump/help/rdir.ca.html 0600 root bin 204 18959 1025499881
1 f none fsdump/help/rdir.html 0600 root bin 216 19573 1025499881
1 f none fsdump/help/restore.ca.html 0600 root bin 305 28081 1025499881
1 f none fsdump/help/restore.html 0600 root bin 271 24452 1025499881
1 f none fsdump/help/rfiles.ca.html 0600 root bin 361 32997 1025499881
1 f none fsdump/help/rfiles.html 0600 root bin 332 29764 1025499881
1 f none fsdump/help/rlabel.ca.html 0600 root bin 309 29342 1025499881
1 f none fsdump/help/rlabel.html 0600 root bin 295 27012 1025499881
1 f none fsdump/help/rmulti.ca.html 0600 root bin 418 38873 1025499881
1 f none fsdump/help/rmulti.html 0600 root bin 370 32915 1025499881
1 f none fsdump/help/rnoattribs.ca.html 0600 root bin 291 27371 1025499881
1 f none fsdump/help/rnoattribs.html 0600 root bin 236 21580 1025499881
1 f none fsdump/help/rover.ca.html 0600 root bin 229 21057 1025499881
1 f none fsdump/help/rover.html 0600 root bin 222 19975 1025499881
1 f none fsdump/help/rsrc.ca.html 0600 root bin 365 33310 1025499881
1 f none fsdump/help/rsrc.html 0600 root bin 353 31821 1025499881
1 f none fsdump/help/rtest.ca.html 0600 root bin 246 23209 1025499881
1 f none fsdump/help/rtest.html 0600 root bin 248 22139 1025499881
1 f none fsdump/help/update.ca.html 0600 root bin 227 20349 1025499881
1 f none fsdump/help/update.html 0600 root bin 207 18347 1025499881
1 f none fsdump/help/verify.ca.html 0600 root bin 222 20742 1025499881
1 f none fsdump/help/verify.html 0600 root bin 202 18230 1025499881
1 d none fsdump/images 0700 root bin
1 f none fsdump/images/icon.gif 0600 root bin 2367 60570 1025499881
1 f none fsdump/index.cgi 0700 root bin 1866 21272 1025499881
1 d none fsdump/lang 0700 root bin
1 f none fsdump/lang/ca 0600 root bin 4924 12063 1025499881
1 f none fsdump/lang/en 0600 root bin 4397 20578 1025499881
1 f none fsdump/lang/zh_TW.Big5 0600 root bin 3187 35485 1025499881
1 f none fsdump/linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/log_parser.pl 0600 root bin 718 59602 1025499881
1 f none fsdump/macos-lib.pl 0600 root bin 7246 61065 1025499881
1 f none fsdump/mandrake-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/module.info 0600 root bin 345 33845 1025499882
1 f none fsdump/msc-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/open-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/redhat-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/restore.cgi 0700 root bin 748 60341 1025499881
1 f none fsdump/restore_form.cgi 0700 root bin 873 6424 1025499881
1 f none fsdump/save_dump.cgi 0700 root bin 2933 35401 1025499881
1 f none fsdump/slackware-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/solaris-lib.pl 0600 root bin 6995 42097 1025499881
1 f none fsdump/suse-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/turbo-linux-lib.pl 0600 root bin 13535 23019 1025499881
1 f none fsdump/uninstall.pl 0600 root bin 347 28518 1025499881
1 f none group_chooser.cgi 0700 root bin 5366 27502 1025499831
1 d none grub 0700 root bin
1 f none grub/config 0600 root bin 69 6387 1025499875
1 f none grub/config-gentoo-linux 0600 root bin 65 5994 1025499875
1 f none grub/config-redhat-linux-7.2 0600 root bin 66 6072 1025499875
1 f none grub/config-redhat-linux-7.3 0600 root bin 66 6072 1025499875
1 f none grub/config.info 0600 root bin 118 10823 1025499875
1 f none grub/config.info.ca 0600 root bin 138 12849 1025499875
1 f none grub/config.info.es 0600 root bin 135 12766 1025499875
1 f none grub/config.info.pl 0600 root bin 134 12516 1025499875
1 f none grub/config.info.zh_TW.Big5 0600 root bin 84 10489 1025499875
1 f none grub/edit_global.cgi 0700 root bin 3128 58028 1025499875
1 f none grub/edit_title.cgi 0700 root bin 3589 23269 1025499875
1 f none grub/grub-lib.pl 0600 root bin 2085 24102 1025499875
1 d none grub/images 0700 root bin
1 f none grub/images/chain.gif 0600 root bin 2083 47306 1025499875
1 f none grub/images/grub.gif 0600 root bin 4197 30596 1025499875
1 f none grub/images/icon.gif 0600 root bin 1589 31962 1025499875
1 f none grub/images/kernel.gif 0600 root bin 1614 26487 1025499875
1 f none grub/index.cgi 0700 root bin 2253 50934 1025499875
1 f none grub/install.cgi 0700 root bin 1335 39905 1025499875
1 d none grub/lang 0700 root bin
1 f none grub/lang/ca 0600 root bin 3064 29501 1025499875
1 f none grub/lang/en 0600 root bin 2573 45793 1025499875
1 f none grub/lang/es 0600 root bin 2707 62142 1025499875
1 f none grub/lang/ja_JP.euc 0600 root bin 2754 20339 1025499875
1 f none grub/lang/ko_KR.euc 0600 root bin 2219 50324 1025499875
1 f none grub/lang/pl 0600 root bin 2711 3069 1025499875
1 f none grub/lang/zh_TW.Big5 0600 root bin 2038 1598 1025499875
1 f none grub/module.info 0600 root bin 377 34803 1025499882
1 f none grub/save_global.cgi 0700 root bin 1944 23991 1025499875
1 f none grub/save_title.cgi 0700 root bin 1803 9040 1025499875
1 d none heartbeat 0700 root bin
1 f none heartbeat/apply.cgi 0700 root bin 364 30022 1025499878
1 f none heartbeat/config 0600 root bin 224 20867 1025499878
1 f none heartbeat/config-freebsd 0600 root bin 267 24819 1025499878
1 f none heartbeat/config-generic-linux 0600 root bin 234 21846 1025499878
1 f none heartbeat/config-slackware-linux 0600 root bin 234 21846 1025499878
1 f none heartbeat/config.info 0600 root bin 408 38184 1025499878
1 f none heartbeat/config.info.ca 0600 root bin 468 45186 1025499878
1 f none heartbeat/config.info.hu 0600 root bin 443 47975 1025499878
1 f none heartbeat/edit_auth.cgi 0700 root bin 866 4031 1025499878
1 f none heartbeat/edit_conf.cgi 0700 root bin 4893 13311 1025499878
1 f none heartbeat/edit_node.cgi 0700 root bin 2994 41360 1025499878
1 f none heartbeat/edit_res.cgi 0700 root bin 955 8061 1025499878
1 f none heartbeat/feedback_files.pl 0600 root bin 110 9105 1025499878
1 f none heartbeat/heartbeat-lib.pl 0600 root bin 3545 7352 1025499877
1 d none heartbeat/images 0700 root bin
1 f none heartbeat/images/auth.gif 0600 root bin 275 34570 1025499877
1 f none heartbeat/images/conf.gif 0600 root bin 316 36595 1025499877
1 f none heartbeat/images/icon.gif 0600 root bin 2350 10238 1025499877
1 f none heartbeat/images/res.gif 0600 root bin 251 29940 1025499877
1 f none heartbeat/index.cgi 0700 root bin 1306 42024 1025499878
1 d none heartbeat/lang 0700 root bin
1 f none heartbeat/lang/ca 0600 root bin 3352 57152 1025499878
1 f none heartbeat/lang/en 0600 root bin 2902 12949 1025499877
1 f none heartbeat/lang/hu 0600 root bin 2097 23876 1025499878
1 f none heartbeat/module.info 0600 root bin 286 27243 1025499882
1 f none heartbeat/save_auth.cgi 0700 root bin 475 36530 1025499878
1 f none heartbeat/save_conf.cgi 0700 root bin 2459 7320 1025499878
1 f none heartbeat/save_node.cgi 0700 root bin 1303 37920 1025499878
1 f none heartbeat/start.cgi 0700 root bin 239 19958 1025499878
1 f none help.cgi 0700 root bin 2128 37997 1025499831
1 d none hpuxexports 0700 root bin
1 f none hpuxexports/config-hpux 0700 root bin 86 8436 1025499861
1 f none hpuxexports/config.info 0600 root bin 92 8928 1025499861
1 f none hpuxexports/config.info.ca 0600 root bin 122 11571 1025499861
1 f none hpuxexports/config.info.de 0600 root bin 111 10726 1025499861
1 f none hpuxexports/config.info.es 0600 root bin 123 11831 1025499861
1 f none hpuxexports/config.info.fr 0600 root bin 111 10863 1025499861
1 f none hpuxexports/config.info.pl 0600 root bin 79 7422 1025499861
1 f none hpuxexports/config.info.ru_RU 0600 root bin 115 19744 1025499861
1 f none hpuxexports/config.info.ru_SU 0600 root bin 115 17755 1025499861
1 f none hpuxexports/config.info.sv 0600 root bin 103 10082 1025499861
1 f none hpuxexports/config.info.tr 0600 root bin 103 10279 1025499861
1 f none hpuxexports/config.info.zh_CN 0600 root bin 77 11978 1025499861
1 f none hpuxexports/config.info.zh_TW.Big5 0600 root bin 118 15514 1025499861
1 f none hpuxexports/delete_export.cgi 0700 root bin 153 13096 1025499861
1 f none hpuxexports/edit_export.cgi 0700 root bin 1832 20191 1025499861
1 f none hpuxexports/exports-lib.pl 0600 root bin 3121 42633 1025499861
1 d none hpuxexports/help 0700 root bin
1 f none hpuxexports/help/active.ca.html 0600 root bin 140 12435 1025499861
1 f none hpuxexports/help/active.es.html 0600 root bin 173 15944 1025499861
1 f none hpuxexports/help/active.html 0600 root bin 142 12427 1025499861
1 f none hpuxexports/help/active.pl.html 0600 root bin 162 15201 1025499861
1 f none hpuxexports/help/active.sv.html 0600 root bin 173 15729 1025499861
1 f none hpuxexports/help/active.zh_TW.Big5.html 0600 root bin 115 14282 1025499861
1 f none hpuxexports/help/anon.ca.html 0600 root bin 228 21231 1025499861
1 f none hpuxexports/help/anon.es.html 0600 root bin 252 23548 1025499861
1 f none hpuxexports/help/anon.fr.html 0600 root bin 235 21380 1025499861
1 f none hpuxexports/help/anon.html 0600 root bin 217 19488 1025499861
1 f none hpuxexports/help/anon.pl.html 0600 root bin 268 26292 1025499861
1 f none hpuxexports/help/anon.sv.html 0600 root bin 252 24542 1025499861
1 f none hpuxexports/help/anon.zh_TW.Big5.html 0600 root bin 141 18045 1025499861
1 f none hpuxexports/help/async.ca.html 0600 root bin 1101 37022 1025499861
1 f none hpuxexports/help/async.html 0600 root bin 1037 30532 1025499861
1 f none hpuxexports/help/async.pl.html 0600 root bin 1053 38518 1025499861
1 f none hpuxexports/help/create_export.ca.html 0600 root bin 138 12758 1025499861
1 f none hpuxexports/help/create_export.es.html 0600 root bin 144 13491 1025499861
1 f none hpuxexports/help/create_export.fr.html 0600 root bin 130 12081 1025499861
1 f none hpuxexports/help/create_export.html 0600 root bin 137 12345 1025499861
1 f none hpuxexports/help/create_export.pl.html 0600 root bin 162 16066 1025499861
1 f none hpuxexports/help/create_export.sv.html 0600 root bin 145 13455 1025499861
1 f none hpuxexports/help/create_export.zh_TW.Big5.html 0600 root bin 91 12673 1025499861
1 f none hpuxexports/help/desc.ca.html 0600 root bin 98 9321 1025499861
1 f none hpuxexports/help/desc.es.html 0600 root bin 96 9145 1025499861
1 f none hpuxexports/help/desc.fr.html 0600 root bin 76 6549 1025499861
1 f none hpuxexports/help/desc.html 0600 root bin 86 7772 1025499861
1 f none hpuxexports/help/desc.pl.html 0600 root bin 79 7434 1025499861
1 f none hpuxexports/help/desc.sv.html 0600 root bin 69 6208 1025499861
1 f none hpuxexports/help/desc.zh_TW.Big5.html 0600 root bin 62 8066 1025499861
1 f none hpuxexports/help/dir.ca.html 0600 root bin 385 35506 1025499861
1 f none hpuxexports/help/dir.es.html 0600 root bin 394 36792 1025499861
1 f none hpuxexports/help/dir.fr.html 0600 root bin 345 33392 1025499861
1 f none hpuxexports/help/dir.html 0600 root bin 351 32338 1025499861
1 f none hpuxexports/help/dir.pl.html 0600 root bin 348 34093 1025499861
1 f none hpuxexports/help/dir.sv.html 0600 root bin 342 31991 1025499861
1 f none hpuxexports/help/dir.zh_TW.Big5.html 0600 root bin 241 33928 1025499861
1 f none hpuxexports/help/edit_export.ca.html 0600 root bin 167 15805 1025499861
1 f none hpuxexports/help/edit_export.es.html 0600 root bin 163 15514 1025499861
1 f none hpuxexports/help/edit_export.fr.html 0600 root bin 163 15038 1025499861
1 f none hpuxexports/help/edit_export.html 0600 root bin 156 14213 1025499861
1 f none hpuxexports/help/edit_export.pl.html 0600 root bin 186 18906 1025499861
1 f none hpuxexports/help/edit_export.sv.html 0600 root bin 138 13285 1025499861
1 f none hpuxexports/help/edit_export.zh_TW.Big5.html 0600 root bin 105 14927 1025499861
1 f none hpuxexports/help/help.ca.html 0600 root bin 203 17115 1025499861
1 f none hpuxexports/help/help.es.html 0600 root bin 209 17914 1025499861
1 f none hpuxexports/help/help.html 0600 root bin 200 16597 1025499861
1 f none hpuxexports/help/help.sv.html 0600 root bin 201 16858 1025499861
1 f none hpuxexports/help/help.zh_TW.Big5.html 0600 root bin 175 16447 1025499861
1 f none hpuxexports/help/index.ca.html 0600 root bin 253 23748 1025499861
1 f none hpuxexports/help/index.es.html 0600 root bin 290 27303 1025499861
1 f none hpuxexports/help/index.fr.html 0600 root bin 263 24468 1025499861
1 f none hpuxexports/help/index.html 0600 root bin 256 22883 1025499861
1 f none hpuxexports/help/index.pl.html 0600 root bin 284 27689 1025499861
1 f none hpuxexports/help/index.sv.html 0600 root bin 247 23442 1025499861
1 f none hpuxexports/help/index.zh_TW.Big5.html 0600 root bin 164 21290 1025499861
1 f none hpuxexports/help/intro.ca.html 0600 root bin 1031 29821 1025499861
1 f none hpuxexports/help/intro.es.html 0600 root bin 76 6701 1025499861
1 f none hpuxexports/help/intro.fr.html 0600 root bin 71 5700 1025499861
1 f none hpuxexports/help/intro.html 0600 root bin 901 16600 1025499861
1 f none hpuxexports/help/intro.pl.html 0600 root bin 1035 36976 1025499861
1 f none hpuxexports/help/intro.sv.html 0600 root bin 70 6104 1025499861
1 f none hpuxexports/help/intro.zh_TW.Big5.html 0600 root bin 54 5133 1025499861
1 f none hpuxexports/help/nfs.ca.html 0600 root bin 1167 45083 1025499861
1 f none hpuxexports/help/nfs.es.html 0600 root bin 1295 56913 1025499861
1 f none hpuxexports/help/nfs.fr.html 0600 root bin 1198 50376 1025499861
1 f none hpuxexports/help/nfs.html 0600 root bin 1093 35121 1025499861
1 f none hpuxexports/help/nfs.pl.html 0600 root bin 1292 440 1025499861
1 f none hpuxexports/help/nfs.sv.html 0600 root bin 1142 45833 1025499861
1 f none hpuxexports/help/nfs.zh_TW.Big5.html 0600 root bin 668 36100 1025499861
1 f none hpuxexports/help/root_access.ca.html 0600 root bin 136 12674 1025499861
1 f none hpuxexports/help/root_access.html 0600 root bin 134 12300 1025499861
1 f none hpuxexports/help/root_access.pl.html 0600 root bin 185 17932 1025499861
1 f none hpuxexports/help/squash_gids.ca.html 0600 root bin 344 29700 1025499861
1 f none hpuxexports/help/squash_gids.es.html 0600 root bin 329 28245 1025499861
1 f none hpuxexports/help/squash_gids.fr.html 0600 root bin 410 37598 1025499861
1 f none hpuxexports/help/squash_gids.html 0600 root bin 296 25283 1025499861
1 f none hpuxexports/help/squash_gids.pl.html 0600 root bin 321 29539 1025499861
1 f none hpuxexports/help/squash_gids.sv.html 0600 root bin 299 25953 1025499861
1 f none hpuxexports/help/squash_gids.zh_TW.Big5.html 0600 root bin 239 28329 1025499861
1 f none hpuxexports/help/squash_uids.ca.html 0600 root bin 362 31699 1025499861
1 f none hpuxexports/help/squash_uids.es.html 0600 root bin 339 29659 1025499861
1 f none hpuxexports/help/squash_uids.fr.html 0600 root bin 407 37312 1025499861
1 f none hpuxexports/help/squash_uids.html 0600 root bin 314 27179 1025499861
1 f none hpuxexports/help/squash_uids.pl.html 0600 root bin 342 32534 1025499861
1 f none hpuxexports/help/squash_uids.sv.html 0600 root bin 295 26192 1025499861
1 f none hpuxexports/help/squash_uids.zh_TW.Big5.html 0600 root bin 239 30231 1025499861
1 f none hpuxexports/help/user_access.ca.html 0600 root bin 131 12199 1025499861
1 f none hpuxexports/help/user_access.html 0600 root bin 141 12788 1025499861
1 f none hpuxexports/help/user_access.pl.html 0600 root bin 170 17149 1025499861
1 f none hpuxexports/hpux-lib.pl 0600 root bin 6830 6554 1025499861
1 f none hpuxexports/hpuxexports-lib.pl 0600 root bin 2620 11441 1025499861
1 d none hpuxexports/images 0700 root bin
1 f none hpuxexports/images/export.gif 0600 root bin 1565 51055 1025499861
1 f none hpuxexports/images/icon.gif 0600 root bin 245 29407 1025499861
1 f none hpuxexports/index.cgi 0700 root bin 2099 30962 1025499861
1 d none hpuxexports/lang 0700 root bin
1 f none hpuxexports/lang/ca 0600 root bin 3179 43134 1025499861
1 f none hpuxexports/lang/de 0600 root bin 2944 18591 1025499861
1 f none hpuxexports/lang/en 0600 root bin 2679 56287 1025499861
1 f none hpuxexports/lang/es 0600 root bin 3183 43618 1025499861
1 f none hpuxexports/lang/fr 0600 root bin 1852 51917 1025499861
1 f none hpuxexports/lang/pl 0600 root bin 3032 38901 1025499861
1 f none hpuxexports/lang/pt 0600 root bin 1767 44298 1025499861
1 f none hpuxexports/lang/ru_RU 0600 root bin 1742 38036 1025499861
1 f none hpuxexports/lang/ru_SU 0600 root bin 1745 9565 1025499861
1 f none hpuxexports/lang/sv 0600 root bin 1819 47270 1025499861
1 f none hpuxexports/lang/tr 0600 root bin 1919 1394 1025499861
1 f none hpuxexports/lang/zh_CN 0600 root bin 1254 51357 1025499861
1 f none hpuxexports/lang/zh_TW.Big5 0600 root bin 1339 42928 1025499861
1 f none hpuxexports/log_parser.pl 0600 root bin 913 9228 1025499861
1 f none hpuxexports/low.risk 0600 root bin 11 971 1025499861
1 f none hpuxexports/low.skill 0600 root bin 17 1430 1025499861
1 f none hpuxexports/medium.risk 0600 root bin 11 971 1025499861
1 f none hpuxexports/medium.skill 0600 root bin 9 770 1025499861
1 f none hpuxexports/module.info 0600 root bin 479 49589 1025499882
1 f none hpuxexports/restart_exporting.cgi 0700 root bin 591 49707 1025499861
1 f none hpuxexports/restart_mountd.cgi 0700 root bin 562 47562 1025499861
1 f none hpuxexports/save_export.cgi 0700 root bin 1056 20623 1025499861
1 d none images 0700 root bin
1 f none images/audio.gif 0600 root bin 221 20767 1025499831
1 f none images/back.gif 0600 root bin 41 2407 1025499831
1 f none images/binary.gif 0600 root bin 246 24143 1025499831
1 f none images/dir.gif 0600 root bin 225 21065 1025499831
1 f none images/image.gif 0600 root bin 309 27758 1025499831
1 f none images/lc1.gif 0600 root bin 42 2929 1025499831
1 f none images/lc2.gif 0600 root bin 42 2981 1025499831
1 f none images/left.gif 0600 root bin 118 12154 1025499831
1 d none images/letters 0700 root bin
1 f none images/letters/100.gif 0600 root bin 279 27562 1025499830
1 f none images/letters/101.gif 0600 root bin 263 23439 1025499830
1 f none images/letters/102.gif 0600 root bin 201 20319 1025499830
1 f none images/letters/103.gif 0600 root bin 321 29587 1025499830
1 f none images/letters/104.gif 0600 root bin 244 26065 1025499830
1 f none images/letters/105.gif 0600 root bin 111 10886 1025499830
1 f none images/letters/106.gif 0600 root bin 188 18256 1025499830
1 f none images/letters/107.gif 0600 root bin 264 24686 1025499830
1 f none images/letters/108.gif 0600 root bin 104 10349 1025499830
1 f none images/letters/109.gif 0600 root bin 325 34654 1025499830
1 f none images/letters/110.gif 0600 root bin 234 23843 1025499830
1 f none images/letters/111.gif 0600 root bin 279 26183 1025499830
1 f none images/letters/112.gif 0600 root bin 295 26799 1025499830
1 f none images/letters/113.gif 0600 root bin 293 27114 1025499830
1 f none images/letters/114.gif 0600 root bin 193 18528 1025499830
1 f none images/letters/115.gif 0600 root bin 270 25366 1025499830
1 f none images/letters/116.gif 0600 root bin 207 19561 1025499830
1 f none images/letters/117.gif 0600 root bin 240 22575 1025499830
1 f none images/letters/118.gif 0600 root bin 266 25314 1025499830
1 f none images/letters/119.gif 0600 root bin 365 36606 1025499831
1 f none images/letters/120.gif 0600 root bin 265 25455 1025499830
1 f none images/letters/121.gif 0600 root bin 295 28187 1025499830
1 f none images/letters/122.gif 0600 root bin 211 20556 1025499830
1 f none images/letters/123.gif 0600 root bin 238 21096 1025499830
1 f none images/letters/124.gif 0600 root bin 101 9707 1025499830
1 f none images/letters/125.gif 0600 root bin 222 20870 1025499830
1 f none images/letters/126.gif 0600 root bin 187 16788 1025499830
1 f none images/letters/177.iso-8859-2.gif 0600 root bin 305 26973 1025499830
1 f none images/letters/179.iso-8859-2.gif 0600 root bin 140 14861 1025499830
1 f none images/letters/182.iso-8859-2.gif 0600 root bin 300 27258 1025499830
1 f none images/letters/188.iso-8859-2.gif 0600 root bin 251 23768 1025499830
1 f none images/letters/191.iso-8859-2.gif 0600 root bin 231 24016 1025499830
1 f none images/letters/192.gif 0600 root bin 352 34646 1025499830
1 f none images/letters/193.gif 0600 root bin 358 36000 1025499830
1 f none images/letters/194.gif 0600 root bin 365 36227 1025499830
1 f none images/letters/195.gif 0600 root bin 365 35668 1025499830
1 f none images/letters/196.gif 0600 root bin 355 34107 1025499830
1 f none images/letters/197.gif 0600 root bin 379 38602 1025499830
1 f none images/letters/198.gif 0600 root bin 351 37147 1025499830
1 f none images/letters/199.gif 0600 root bin 353 32804 1025499830
1 f none images/letters/200.gif 0600 root bin 251 27060 1025499830
1 f none images/letters/201.gif 0600 root bin 218 23077 1025499830
1 f none images/letters/202.gif 0600 root bin 274 29823 1025499830
1 f none images/letters/203.gif 0600 root bin 225 26413 1025499830
1 f none images/letters/204.gif 0600 root bin 175 18968 1025499830
1 f none images/letters/205.gif 0600 root bin 170 18409 1025499830
1 f none images/letters/206.gif 0600 root bin 221 22667 1025499830
1 f none images/letters/207.gif 0600 root bin 186 20744 1025499830
1 f none images/letters/208.gif 0600 root bin 303 31886 1025499830
1 f none images/letters/208.iso-8859-9.gif 0600 root bin 353 32557 1025499831
1 f none images/letters/209.gif 0600 root bin 346 35016 1025499830
1 f none images/letters/210.gif 0600 root bin 390 38074 1025499830
1 f none images/letters/211.gif 0600 root bin 390 38833 1025499830
1 f none images/letters/211.iso-8859-2.gif 0600 root bin 390 38833 1025499830
1 f none images/letters/212.gif 0600 root bin 397 41145 1025499830
1 f none images/letters/213.gif 0600 root bin 397 40788 1025499830
1 f none images/letters/214.gif 0600 root bin 385 37414 1025499830
1 f none images/letters/214.iso-8859-9.gif 0600 root bin 385 37414 1025499831
1 f none images/letters/215.gif 0600 root bin 250 24630 1025499830
1 f none images/letters/216.gif 0600 root bin 421 41818 1025499830
1 f none images/letters/217.gif 0600 root bin 315 31197 1025499830
1 f none images/letters/218.gif 0600 root bin 309 30472 1025499830
1 f none images/letters/219.gif 0600 root bin 331 34203 1025499830
1 f none images/letters/220.gif 0600 root bin 322 33271 1025499830
1 f none images/letters/220.iso-8859-9.gif 0600 root bin 322 33271 1025499831
1 f none images/letters/221.gif 0600 root bin 304 32813 1025499830
1 f none images/letters/221.iso-8859-9.gif 0600 root bin 943 19877 1025499831
1 f none images/letters/222.gif 0600 root bin 247 25233 1025499830
1 f none images/letters/222.iso-8859-9.gif 0600 root bin 1129 39223 1025499831
1 f none images/letters/223.gif 0600 root bin 325 32432 1025499830
1 f none images/letters/224.gif 0600 root bin 295 28143 1025499830
1 f none images/letters/225.gif 0600 root bin 308 29496 1025499830
1 f none images/letters/226.gif 0600 root bin 324 31522 1025499830
1 f none images/letters/227.gif 0600 root bin 314 28095 1025499830
1 f none images/letters/228.gif 0600 root bin 316 31036 1025499830
1 f none images/letters/229.gif 0600 root bin 331 31326 1025499830
1 f none images/letters/230.gif 0600 root bin 386 37818 1025499830
1 f none images/letters/230.iso-8859-2.gif 0600 root bin 296 27244 1025499830
1 f none images/letters/231.gif 0600 root bin 301 28045 1025499830
1 f none images/letters/231.iso-8859-9.gif 0600 root bin 301 28045 1025499831
1 f none images/letters/232.gif 0600 root bin 290 27593 1025499830
1 f none images/letters/233.gif 0600 root bin 293 28966 1025499830
1 f none images/letters/234.gif 0600 root bin 308 29137 1025499830
1 f none images/letters/234.iso-8859-2.gif 0600 root bin 293 27115 1025499830
1 f none images/letters/235.gif 0600 root bin 301 28633 1025499831
1 f none images/letters/236.gif 0600 root bin 177 17083 1025499830
1 f none images/letters/237.gif 0600 root bin 153 16097 1025499830
1 f none images/letters/238.gif 0600 root bin 201 19741 1025499830
1 f none images/letters/239.gif 0600 root bin 170 18475 1025499830
1 f none images/letters/240.gif 0600 root bin 336 31502 1025499830
1 f none images/letters/240.iso-8859-9.gif 0600 root bin 1101 36086 1025499831
1 f none images/letters/241.gif 0600 root bin 287 30311 1025499830
1 f none images/letters/241.iso-8859-2.gif 0600 root bin 267 27687 1025499830
1 f none images/letters/242.gif 0600 root bin 309 28490 1025499830
1 f none images/letters/243.gif 0600 root bin 313 28806 1025499830
1 f none images/letters/243.iso-8859-2.gif 0600 root bin 313 28806 1025499830
1 f none images/letters/244.gif 0600 root bin 331 31804 1025499830
1 f none images/letters/245.gif 0600 root bin 326 30306 1025499830
1 f none images/letters/246.gif 0600 root bin 322 31517 1025499830
1 f none images/letters/246.iso-8859-9.gif 0600 root bin 322 31517 1025499831
1 f none images/letters/247.gif 0600 root bin 225 20364 1025499830
1 f none images/letters/248.gif 0600 root bin 328 33290 1025499830
1 f none images/letters/249.gif 0600 root bin 269 27936 1025499830
1 f none images/letters/250.gif 0600 root bin 274 27315 1025499830
1 f none images/letters/251.gif 0600 root bin 280 28240 1025499830
1 f none images/letters/252.gif 0600 root bin 278 29122 1025499830
1 f none images/letters/252.iso-8859-9.gif 0600 root bin 278 29122 1025499831
1 f none images/letters/253.gif 0600 root bin 325 29870 1025499830
1 f none images/letters/253.iso-8859-9.gif 0600 root bin 911 16833 1025499831
1 f none images/letters/254.gif 0600 root bin 317 31056 1025499830
1 f none images/letters/255.gif 0600 root bin 347 33191 1025499830
1 f none images/letters/32.gif 0600 root bin 108 9700 1025499830
1 f none images/letters/33.gif 0600 root bin 173 16113 1025499830
1 f none images/letters/34.gif 0600 root bin 153 14939 1025499830
1 f none images/letters/35.gif 0600 root bin 298 28853 1025499830
1 f none images/letters/36.gif 0600 root bin 344 32294 1025499830
1 f none images/letters/37.gif 0600 root bin 426 44588 1025499830
1 f none images/letters/38.gif 0600 root bin 349 33837 1025499830
1 f none images/letters/39.gif 0600 root bin 101 8646 1025499830
1 f none images/letters/40.gif 0600 root bin 234 19983 1025499830
1 f none images/letters/41.gif 0600 root bin 234 20373 1025499830
1 f none images/letters/42.gif 0600 root bin 193 18340 1025499830
1 f none images/letters/43.gif 0600 root bin 162 17885 1025499830
1 f none images/letters/44.gif 0600 root bin 151 13555 1025499830
1 f none images/letters/45.gif 0600 root bin 111 11049 1025499830
1 f none images/letters/46.gif 0600 root bin 87 8790 1025499830
1 f none images/letters/47.gif 0600 root bin 205 17673 1025499830
1 f none images/letters/48.gif 0600 root bin 300 29187 1025499830
1 f none images/letters/49.gif 0600 root bin 197 18188 1025499830
1 f none images/letters/50.gif 0600 root bin 270 26110 1025499830
1 f none images/letters/51.gif 0600 root bin 289 26741 1025499830
1 f none images/letters/52.gif 0600 root bin 261 26144 1025499830
1 f none images/letters/53.gif 0600 root bin 279 25679 1025499830
1 f none images/letters/54.gif 0600 root bin 313 29226 1025499830
1 f none images/letters/55.gif 0600 root bin 235 22518 1025499830
1 f none images/letters/56.gif 0600 root bin 310 29997 1025499830
1 f none images/letters/57.gif 0600 root bin 312 28140 1025499830
1 f none images/letters/58.gif 0600 root bin 116 11058 1025499830
1 f none images/letters/59.gif 0600 root bin 165 14215 1025499830
1 f none images/letters/60.gif 0600 root bin 223 20534 1025499830
1 f none images/letters/61.gif 0600 root bin 119 12052 1025499830
1 f none images/letters/62.gif 0600 root bin 226 19918 1025499830
1 f none images/letters/63.gif 0600 root bin 254 24977 1025499830
1 f none images/letters/64.gif 0600 root bin 464 48124 1025499830
1 f none images/letters/65.gif 0600 root bin 314 29902 1025499830
1 f none images/letters/66.gif 0600 root bin 279 28462 1025499830
1 f none images/letters/67.gif 0600 root bin 316 28609 1025499830
1 f none images/letters/68.gif 0600 root bin 286 29933 1025499830
1 f none images/letters/69.gif 0600 root bin 192 21014 1025499830
1 f none images/letters/70.gif 0600 root bin 185 20369 1025499830
1 f none images/letters/71.gif 0600 root bin 353 32557 1025499830
1 f none images/letters/72.gif 0600 root bin 192 21724 1025499830
1 f none images/letters/73.gif 0600 root bin 104 9813 1025499830
1 f none images/letters/74.gif 0600 root bin 234 22179 1025499830
1 f none images/letters/75.gif 0600 root bin 290 30104 1025499830
1 f none images/letters/76.gif 0600 root bin 168 17611 1025499830
1 f none images/letters/77.gif 0600 root bin 365 39576 1025499830
1 f none images/letters/78.gif 0600 root bin 309 33259 1025499830
1 f none images/letters/79.gif 0600 root bin 340 31918 1025499830
1 f none images/letters/80.gif 0600 root bin 244 25229 1025499830
1 f none images/letters/81.gif 0600 root bin 373 34966 1025499830
1 f none images/letters/82.gif 0600 root bin 278 27814 1025499830
1 f none images/letters/83.gif 0600 root bin 330 31206 1025499830
1 f none images/letters/84.gif 0600 root bin 179 18720 1025499830
1 f none images/letters/85.gif 0600 root bin 293 29284 1025499830
1 f none images/letters/86.gif 0600 root bin 297 32396 1025499830
1 f none images/letters/87.gif 0600 root bin 437 44621 1025499830
1 f none images/letters/88.gif 0600 root bin 321 31944 1025499830
1 f none images/letters/89.gif 0600 root bin 276 28941 1025499830
1 f none images/letters/90.gif 0600 root bin 246 24715 1025499830
1 f none images/letters/91.gif 0600 root bin 168 17799 1025499830
1 f none images/letters/93.gif 0600 root bin 168 18235 1025499830
1 f none images/letters/94.gif 0600 root bin 218 21191 1025499830
1 f none images/letters/95.gif 0600 root bin 120 11560 1025499830
1 f none images/letters/96.gif 0600 root bin 113 11663 1025499830
1 f none images/letters/97.gif 0600 root bin 280 25111 1025499830
1 f none images/letters/98.gif 0600 root bin 285 27842 1025499830
1 f none images/letters/99.gif 0600 root bin 264 23531 1025499830
1 f none images/newlogo.gif 0600 root bin 6835 33785 1025499831
1 f none images/rc1.gif 0600 root bin 43 3192 1025499831
1 f none images/rc2.gif 0600 root bin 43 3244 1025499831
1 f none images/right.gif 0600 root bin 135 13410 1025499830
1 f none images/smalllogo.gif 0600 root bin 4795 22264 1025499831
1 f none images/text.gif 0600 root bin 229 21640 1025499831
1 f none images/unknown.gif 0600 root bin 132 12527 1025499831
1 f none images/usermin.gif 0600 root bin 1441 38979 1025499831
1 f none images/webmin-mini.xpm 0600 root bin 528 22656 1025499831
1 f none images/webmin.gif 0600 root bin 1890 31149 1025499831
1 f none images/webmin.xpm 0600 root bin 1355 52866 1025499831
1 f none index.cgi 0700 root bin 7338 49704 1025499831
1 d none inetd 0700 root bin
1 f none inetd/config-aix 0600 root bin 276 25261 1025499834
1 f none inetd/config-cobalt-linux 0600 root bin 305 28868 1025499835
1 f none inetd/config-corel-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-debian-linux 0600 root bin 305 28868 1025499835
1 f none inetd/config-freebsd 0600 root bin 226 21355 1025499834
1 f none inetd/config-freebsd-2.1 0600 root bin 226 21353 1025499835
1 f none inetd/config-freebsd-2.2 0600 root bin 226 21353 1025499835
1 f none inetd/config-generic-linux 0600 root bin 251 23720 1025499835
1 f none inetd/config-hpux 0600 root bin 216 20445 1025499834
1 f none inetd/config-lfs-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-macos 0600 root bin 443 41192 1025499834
1 f none inetd/config-mandrake-linux 0600 root bin 336 31647 1025499835
1 f none inetd/config-msc-linux 0600 root bin 331 31241 1025499835
1 f none inetd/config-netbsd 0600 root bin 226 21357 1025499835
1 f none inetd/config-open-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-open-linux-3.1e 0600 root bin 327 30873 1025499835
1 f none inetd/config-openbsd 0600 root bin 209 19758 1025499834
1 f none inetd/config-openserver 0600 root bin 297 27338 1025499835
1 f none inetd/config-osf1 0600 root bin 276 25260 1025499835
1 f none inetd/config-redhat-linux 0600 root bin 336 31647 1025499835
1 f none inetd/config-slackware-linux 0600 root bin 256 24127 1025499835
1 f none inetd/config-solaris 0600 root bin 327 30321 1025499834
1 f none inetd/config-solaris-8 0600 root bin 327 30322 1025499835
1 f none inetd/config-solaris-9 0600 root bin 327 30322 1025499835
1 f none inetd/config-suse-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-suse-linux-6.3 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-6.4 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.0 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.1 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.2 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-7.3 0600 root bin 305 28867 1025499835
1 f none inetd/config-suse-linux-8.0 0600 root bin 305 28867 1025499835
1 f none inetd/config-turbo-linux 0600 root bin 305 28868 1025499834
1 f none inetd/config-unixware 0600 root bin 297 27338 1025499835
1 f none inetd/config.info 0600 root bin 679 62297 1025499835
1 f none inetd/config.info.ca 0600 root bin 755 4030 1025499835
1 f none inetd/config.info.de 0600 root bin 684 63577 1025499835
1 f none inetd/config.info.es 0600 root bin 817 10545 1025499834
1 f none inetd/config.info.fr 0600 root bin 601 55500 1025499835
1 f none inetd/config.info.hu 0600 root bin 709 3564 1025499835
1 f none inetd/config.info.pl 0600 root bin 757 6277 1025499835
1 f none inetd/config.info.ru_RU 0600 root bin 572 23906 1025499835
1 f none inetd/config.info.ru_SU 0600 root bin 572 16398 1025499834
1 f none inetd/config.info.sv 0600 root bin 729 5827 1025499835
1 f none inetd/config.info.tr 0600 root bin 653 64928 1025499835
1 f none inetd/config.info.zh_CN 0600 root bin 500 539 1025499834
1 f none inetd/config.info.zh_TW.Big5 0600 root bin 489 57125 1025499834
1 f none inetd/delete_rpc.cgi 0700 root bin 563 43496 1025499835
1 f none inetd/delete_serv.cgi 0700 root bin 605 47519 1025499834
1 f none inetd/edit_rpc.cgi 0700 root bin 5706 5100 1025499835
1 f none inetd/edit_serv.cgi 0700 root bin 6749 30739 1025499835
1 d none inetd/help 0700 root bin
1 f none inetd/help/help.ca.html 0600 root bin 5754 59757 1025499835
1 f none inetd/help/help.es.html 0600 root bin 6032 12891 1025499835
1 f none inetd/help/help.html 0600 root bin 5578 29438 1025499835
1 f none inetd/help/help.sv.html 0600 root bin 5363 43365 1025499835
1 f none inetd/help/help.zh_TW.Big5.html 0600 root bin 3865 37445 1025499835
1 d none inetd/images 0700 root bin
1 f none inetd/images/icon.gif 0600 root bin 274 34263 1025499834
1 f none inetd/index.cgi 0700 root bin 3339 60666 1025499835
1 f none inetd/inetd-lib.pl 0600 root bin 5825 4855 1025499834
1 d none inetd/lang 0700 root bin
1 f none inetd/lang/ca 0600 root bin 4262 6039 1025499835
1 f none inetd/lang/cz 0600 root bin 2823 8613 1025499835
1 f none inetd/lang/de 0600 root bin 4461 24330 1025499835
1 f none inetd/lang/en 0600 root bin 4042 47725 1025499834
1 f none inetd/lang/es 0600 root bin 4230 4576 1025499834
1 f none inetd/lang/fr 0600 root bin 4599 45045 1025499835
1 f none inetd/lang/hu 0600 root bin 4861 32840 1025499834
1 f none inetd/lang/it 0600 root bin 4383 16273 1025499835
1 f none inetd/lang/ja_JP.euc 0600 root bin 4280 9463 1025499835
1 f none inetd/lang/ko_KR.euc 0600 root bin 3992 5800 1025499835
1 f none inetd/lang/pl 0600 root bin 4267 25115 1025499834
1 f none inetd/lang/sv 0600 root bin 4203 12767 1025499834
1 f none inetd/lang/tr 0600 root bin 4238 35455 1025499834
1 f none inetd/lang/zh_CN 0600 root bin 3223 34316 1025499834
1 f none inetd/lang/zh_TW.Big5 0600 root bin 3237 52220 1025499835
1 f none inetd/log_parser.pl 0600 root bin 892 6295 1025499835
1 f none inetd/module.info 0600 root bin 1305 65469 1025499882
1 f none inetd/restart_inetd.cgi 0700 root bin 302 25221 1025499835
1 f none inetd/save_rpc.cgi 0700 root bin 3539 16895 1025499834
1 f none inetd/save_serv.cgi 0700 root bin 5066 8790 1025499835
1 d none init 0700 root bin
1 f none init/acl_security.pl 0600 root bin 1298 44191 1025499836
1 f none init/atboot.pl 0700 root bin 4612 40767 1025499836
1 f none init/change_rl.cgi 0700 root bin 477 39586 1025499836
1 f none init/config-aix 0600 root bin 211 19914 1025499836
1 f none init/config-cobalt-linux-2.2 0600 root bin 229 21360 1025499836
1 f none init/config-cobalt-linux-4.0 0600 root bin 229 21360 1025499836
1 f none init/config-cobalt-linux-5.0 0600 root bin 244 22577 1025499836
1 f none init/config-cobalt-linux-6.0 0600 root bin 244 22577 1025499836
1 f none init/config-corel-linux 0600 root bin 166 15519 1025499836
1 f none init/config-debian-linux 0600 root bin 166 15519 1025499836
1 f none init/config-freebsd 0600 root bin 106 10195 1025499836
1 f none init/config-generic-linux 0600 root bin 225 20856 1025499836
1 f none init/config-hpux 0600 root bin 255 23214 1025499835
1 f none init/config-irix 0600 root bin 183 16720 1025499836
1 f none init/config-macos 0600 root bin 243 23920 1025499836
1 f none init/config-mandrake-linux 0600 root bin 264 24402 1025499836
1 f none init/config-msc-linux 0600 root bin 259 23996 1025499836
1 f none init/config-netbsd 0600 root bin 86 8363 1025499836
1 f none init/config-open-linux 0600 root bin 230 21517 1025499836
1 f none init/config-openbsd 0600 root bin 86 8363 1025499836
1 f none init/config-openserver 0600 root bin 198 17692 1025499836
1 f none init/config-osf1 0600 root bin 249 22977 1025499836
1 f none init/config-redhat-linux 0600 root bin 264 24402 1025499836
1 f none init/config-slackware-linux 0600 root bin 91 8769 1025499836
1 f none init/config-solaris 0600 root bin 200 18151 1025499836
1 f none init/config-suse-linux 0600 root bin 174 16324 1025499836
1 f none init/config-suse-linux-7.1 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-7.2 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-7.3 0600 root bin 184 17180 1025499836
1 f none init/config-suse-linux-8.0 0600 root bin 184 17180 1025499836
1 f none init/config-turbo-linux 0600 root bin 244 22577 1025499836
1 f none init/config-unixware 0600 root bin 183 16725 1025499836
1 f none init/config.info 0600 root bin 955 23666 1025499836
1 f none init/config.info.ca 0600 root bin 1096 37825 1025499836
1 f none init/config.info.de 0600 root bin 1070 32186 1025499836
1 f none init/config.info.es 0600 root bin 887 18402 1025499836
1 f none init/config.info.fr 0600 root bin 583 56613 1025499836
1 f none init/config.info.pl 0600 root bin 1064 38271 1025499836
1 f none init/config.info.ru_RU 0600 root bin 576 36899 1025499836
1 f none init/config.info.ru_SU 0600 root bin 576 26293 1025499835
1 f none init/config.info.sv 0600 root bin 713 4556 1025499836
1 f none init/config.info.tr 0600 root bin 684 7003 1025499836
1 f none init/config.info.zh_CN 0600 root bin 448 62581 1025499836
1 f none init/config.info.zh_TW.Big5 0600 root bin 496 63516 1025499836
1 f none init/defaultacl 0600 root bin 40 3538 1025499836
1 f none init/delboot.pl 0700 root bin 1473 54772 1025499836
1 f none init/delete_action.cgi 0700 root bin 832 2702 1025499836
1 f none init/edit_action.cgi 0700 root bin 7803 37988 1025499835
1 f none init/edit_hostconfig.cgi 0700 root bin 6242 2655 1025499836
1 f none init/fix_action.cgi 0700 root bin 630 49956 1025499836
1 d none init/help 0700 root bin
1 f none init/help/help.ca.html 0600 root bin 203 17106 1025499836
1 f none init/help/help.de.html 0600 root bin 221 18789 1025499836
1 f none init/help/help.es.html 0600 root bin 212 18186 1025499836
1 f none init/help/help.html 0600 root bin 199 16460 1025499836
1 f none init/help/help.sv.html 0600 root bin 204 17228 1025499836
1 f none init/help/proc.ca.html 0600 root bin 76 6772 1025499836
1 f none init/help/proc.de.html 0600 root bin 89 7958 1025499836
1 f none init/help/proc.es.html 0600 root bin 78 7093 1025499836
1 f none init/help/proc.html 0600 root bin 70 6010 1025499836
1 f none init/help/proc.sv.html 0600 root bin 76 6749 1025499836
1 f none init/hostconfig-lib.pl 0700 root bin 8807 61701 1025499836
1 d none init/images 0700 root bin
1 f none init/images/icon.gif 0600 root bin 389 44270 1025499836
1 f none init/index.cgi 0700 root bin 6702 56018 1025499836
1 f none init/init-lib.pl 0700 root bin 7811 17300 1025499836
1 d none init/lang 0700 root bin
1 f none init/lang/ca 0600 root bin 6006 45417 1025499836
1 f none init/lang/de 0600 root bin 7202 14273 1025499836
1 f none init/lang/en 0600 root bin 5630 7219 1025499836
1 f none init/lang/es 0600 root bin 3389 63526 1025499836
1 f none init/lang/fr 0600 root bin 3555 28869 1025499836
1 f none init/lang/it 0600 root bin 2370 27399 1025499836
1 f none init/lang/ja_JP.euc 0600 root bin 3341 54832 1025499836
1 f none init/lang/ko_KR.euc 0600 root bin 2811 13181 1025499836
1 f none init/lang/pl 0600 root bin 4548 61550 1025499836
1 f none init/lang/pt 0600 root bin 2598 56748 1025499836
1 f none init/lang/ru_RU 0600 root bin 2668 18571 1025499836
1 f none init/lang/ru_SU 0600 root bin 2674 36713 1025499836
1 f none init/lang/sv 0600 root bin 3252 58530 1025499836
1 f none init/lang/tr 0600 root bin 3028 64299 1025499836
1 f none init/lang/zh_CN 0600 root bin 1942 27946 1025499836
1 f none init/lang/zh_TW.Big5 0600 root bin 1882 54194 1025499836
1 f none init/log_parser.pl 0600 root bin 1160 29565 1025499836
1 f none init/low.risk 0600 root bin 20 1755 1025499836
1 f none init/mass_start_stop.cgi 0700 root bin 1079 21806 1025499836
1 f none init/medium.risk 0600 root bin 20 1757 1025499836
1 f none init/modifyhostconfig.cgi 0700 root bin 1089 23101 1025499836
1 f none init/module.info 0600 root bin 788 19428 1025499882
1 f none init/reboot.cgi 0700 root bin 760 64691 1025499836
1 f none init/save_action.cgi 0700 root bin 7068 8881 1025499836
1 f none init/save_bootup.cgi 0700 root bin 1463 42453 1025499836
1 f none init/save_hostconfig_action.cgi 0700 root bin 4677 814 1025499836
1 f none init/save_local.cgi 0700 root bin 459 39155 1025499836
1 f none init/save_startscript.cgi 0700 root bin 1942 34932 1025499836
1 f none init/shutdown.cgi 0700 root bin 795 2371 1025499836
1 f none init/start_stop.cgi 0700 root bin 1155 28748 1025499836
1 f none init/uninstall.pl 0600 root bin 1518 59031 1025499836
1 d none inittab 0700 root bin
1 f none inittab/apply.cgi 0700 root bin 168 13996 1025499868
1 f none inittab/config 0600 root bin 26 2486 1025499868
1 f none inittab/config.info 0600 root bin 36 3304 1025499868
1 f none inittab/config.info.ca 0600 root bin 39 3741 1025499868
1 f none inittab/config.info.de 0600 root bin 35 3381 1025499868
1 f none inittab/config.info.es 0600 root bin 45 4268 1025499868
1 f none inittab/config.info.fr 0600 root bin 41 3807 1025499868
1 f none inittab/config.info.pl 0600 root bin 40 3890 1025499868
1 f none inittab/config.info.ru_RU 0600 root bin 36 4621 1025499868
1 f none inittab/config.info.ru_SU 0600 root bin 36 4358 1025499868
1 f none inittab/config.info.sv 0600 root bin 39 3914 1025499868
1 f none inittab/config.info.tr 0600 root bin 36 3601 1025499868
1 f none inittab/config.info.zh_CN 0600 root bin 34 4170 1025499868
1 f none inittab/config.info.zh_TW.Big5 0600 root bin 41 5269 1025499868
1 f none inittab/defaultacl 0600 root bin 10 867 1025499868
1 f none inittab/edit_inittab.cgi 0700 root bin 2826 18046 1025499868
1 d none inittab/help 0700 root bin
1 f none inittab/help/action.ca.html 0600 root bin 2825 60595 1025499868
1 f none inittab/help/action.es.html 0600 root bin 3232 33188 1025499868
1 f none inittab/help/action.fr.html 0600 root bin 2850 4415 1025499868
1 f none inittab/help/action.html 0600 root bin 2810 54908 1025499868
1 f none inittab/help/action.pl.html 0600 root bin 3108 31934 1025499868
1 f none inittab/help/action.ru_RU.html 0600 root bin 3045 21798 1025499868
1 f none inittab/help/action.ru_SU.html 0600 root bin 3045 27213 1025499868
1 f none inittab/help/action.sv.html 0600 root bin 2627 56712 1025499868
1 f none inittab/help/id.ca.html 0600 root bin 506 45582 1025499868
1 f none inittab/help/id.es.html 0600 root bin 493 44972 1025499868
1 f none inittab/help/id.fr.html 0600 root bin 532 49756 1025499868
1 f none inittab/help/id.html 0600 root bin 432 38739 1025499868
1 f none inittab/help/id.pl.html 0600 root bin 524 50334 1025499868
1 f none inittab/help/id.ru_RU.html 0600 root bin 455 15311 1025499868
1 f none inittab/help/id.ru_SU.html 0600 root bin 455 6185 1025499868
1 f none inittab/help/id.sv.html 0600 root bin 410 39268 1025499868
1 f none inittab/help/index.ca.html 0600 root bin 270 23724 1025499868
1 f none inittab/help/index.es.html 0600 root bin 274 24817 1025499868
1 f none inittab/help/index.fr.html 0600 root bin 267 25074 1025499868
1 f none inittab/help/index.html 0600 root bin 238 21270 1025499868
1 f none inittab/help/index.pl.html 0600 root bin 270 24728 1025499868
1 f none inittab/help/index.ru_RU.html 0600 root bin 249 38280 1025499868
1 f none inittab/help/index.ru_SU.html 0600 root bin 249 34593 1025499868
1 f none inittab/help/index.sv.html 0600 root bin 245 22326 1025499868
1 f none inittab/help/process.ca.html 0600 root bin 423 39177 1025499868
1 f none inittab/help/process.es.html 0600 root bin 451 41131 1025499868
1 f none inittab/help/process.fr.html 0600 root bin 289 26878 1025499868
1 f none inittab/help/process.html 0600 root bin 409 36656 1025499868
1 f none inittab/help/process.pl.html 0600 root bin 399 37486 1025499868
1 f none inittab/help/process.ru_RU.html 0600 root bin 182 29647 1025499868
1 f none inittab/help/process.ru_SU.html 0600 root bin 182 26542 1025499868
1 f none inittab/help/process.sv.html 0600 root bin 356 33638 1025499868
1 f none inittab/help/runlevels.ca.html 0600 root bin 422 38078 1025499868
1 f none inittab/help/runlevels.es.html 0600 root bin 458 41834 1025499868
1 f none inittab/help/runlevels.fr.html 0600 root bin 441 41184 1025499868
1 f none inittab/help/runlevels.html 0600 root bin 378 33672 1025499868
1 f none inittab/help/runlevels.pl.html 0600 root bin 469 44626 1025499868
1 f none inittab/help/runlevels.ru_RU.html 0600 root bin 400 5252 1025499868
1 f none inittab/help/runlevels.ru_SU.html 0600 root bin 400 62915 1025499868
1 f none inittab/help/runlevels.sv.html 0600 root bin 373 36442 1025499868
1 d none inittab/images 0700 root bin
1 f none inittab/images/icon.gif 0600 root bin 296 35073 1025499868
1 f none inittab/index.cgi 0700 root bin 2266 43888 1025499868
1 f none inittab/inittab-lib.pl 0700 root bin 1426 37263 1025499868
1 d none inittab/lang 0700 root bin
1 f none inittab/lang/ca 0600 root bin 1693 32684 1025499868
1 f none inittab/lang/de 0600 root bin 1344 65204 1025499868
1 f none inittab/lang/en 0600 root bin 1566 18892 1025499868
1 f none inittab/lang/es 0600 root bin 1463 9698 1025499868
1 f none inittab/lang/fr 0600 root bin 1620 30138 1025499868
1 f none inittab/lang/ja_JP.euc 0600 root bin 1268 39414 1025499868
1 f none inittab/lang/ko_KR.euc 0600 root bin 1235 29351 1025499868
1 f none inittab/lang/pl 0600 root bin 1376 4972 1025499868
1 f none inittab/lang/ru_RU 0600 root bin 1268 3681 1025499868
1 f none inittab/lang/ru_SU 0600 root bin 1271 53076 1025499868
1 f none inittab/lang/sv 0600 root bin 1347 2279 1025499868
1 f none inittab/lang/tr 0600 root bin 1464 26878 1025499868
1 f none inittab/lang/zh_CN 0600 root bin 1054 9905 1025499868
1 f none inittab/lang/zh_TW.Big5 0600 root bin 998 55480 1025499868
1 f none inittab/log_parser.pl 0600 root bin 713 59265 1025499868
1 f none inittab/module.info 0600 root bin 783 19312 1025499882
1 f none inittab/new_inittab.cgi 0700 root bin 2056 28924 1025499868
1 f none inittab/save_inittab.cgi 0700 root bin 1664 56385 1025499868
1 f none install-module.pl 0700 root bin 2800 20833 1025499832
1 f none install-type 0600 root bin 12 1142 1025505203
1 d none jabber 0700 root bin
1 f none jabber/config 0600 root bin 152 14352 1025499880
1 f none jabber/config-cobalt-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-debian-linux 0600 root bin 166 15551 1025499880
1 f none jabber/config-mandrake-linux 0600 root bin 203 18912 1025499880
1 f none jabber/config-msc-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-redhat-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-suse-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config-turbo-linux 0600 root bin 190 17868 1025499880
1 f none jabber/config.info 0600 root bin 283 26306 1025499880
1 f none jabber/config.info.ca 0600 root bin 314 29007 1025499880
1 f none jabber/edit_admin.cgi 0700 root bin 1713 11411 1025499880
1 f none jabber/edit_file.cgi 0700 root bin 709 60129 1025499880
1 f none jabber/edit_filter.cgi 0700 root bin 1413 49324 1025499880
1 f none jabber/edit_general.cgi 0700 root bin 1752 14925 1025499880
1 f none jabber/edit_ips.cgi 0700 root bin 1638 2215 1025499880
1 f none jabber/edit_karma.cgi 0700 root bin 2876 34879 1025499880
1 f none jabber/edit_messages.cgi 0700 root bin 2532 14304 1025499880
1 f none jabber/edit_modules.cgi 0700 root bin 1399 44951 1025499880
1 d none jabber/help 0700 root bin
1 f none jabber/help/admin.ca.html 0600 root bin 412 39000 1025499880
1 f none jabber/help/admin.html 0600 root bin 391 35853 1025499880
1 f none jabber/help/file.ca.html 0600 root bin 298 28162 1025499880
1 f none jabber/help/file.html 0600 root bin 240 21216 1025499880
1 f none jabber/help/filter.ca.html 0600 root bin 637 57599 1025499880
1 f none jabber/help/filter.html 0600 root bin 580 50724 1025499880
1 f none jabber/help/general.ca.html 0600 root bin 975 21246 1025499880
1 f none jabber/help/general.html 0600 root bin 824 6091 1025499880
1 f none jabber/help/intro.ca.html 0600 root bin 369 34939 1025499880
1 f none jabber/help/intro.html 0600 root bin 309 28086 1025499879
1 f none jabber/help/ips.ca.html 0600 root bin 622 56209 1025499880
1 f none jabber/help/ips.html 0600 root bin 573 49994 1025499880
1 f none jabber/help/karma.ca.html 0600 root bin 773 5301 1025499880
1 f none jabber/help/karma.html 0600 root bin 733 64229 1025499880
1 f none jabber/help/messages.ca.html 0600 root bin 717 64568 1025499880
1 f none jabber/help/messages.html 0600 root bin 705 61693 1025499880
1 f none jabber/help/modules.ca.html 0600 root bin 377 35257 1025499880
1 f none jabber/help/modules.html 0600 root bin 345 31178 1025499880
1 d none jabber/images 0700 root bin
1 f none jabber/images/admin.gif 0600 root bin 200 23141 1025499880
1 f none jabber/images/file.gif 0600 root bin 305 37957 1025499880
1 f none jabber/images/filter.gif 0600 root bin 957 2730 1025499880
1 f none jabber/images/general.gif 0600 root bin 792 48919 1025499880
1 f none jabber/images/icon.gif 0600 root bin 792 48919 1025499880
1 f none jabber/images/ips.gif 0600 root bin 275 34570 1025499880
1 f none jabber/images/karma.gif 0600 root bin 1961 21105 1025499880
1 f none jabber/images/messages.gif 0600 root bin 314 42505 1025499880
1 f none jabber/images/misc.gif 0600 root bin 460 53918 1025499880
1 f none jabber/images/modules.gif 0600 root bin 281 32091 1025499880
1 f none jabber/index.cgi 0700 root bin 4022 63959 1025499880
1 f none jabber/jabber-lib.pl 0600 root bin 4136 53700 1025499880
1 d none jabber/lang 0700 root bin
1 f none jabber/lang/ca 0600 root bin 6345 21432 1025499879
1 f none jabber/lang/en 0600 root bin 5414 50714 1025499879
1 f none jabber/module.info 0600 root bin 106 9280 1025499882
1 f none jabber/restart.cgi 0700 root bin 540 43246 1025499880
1 f none jabber/save_admin.cgi 0700 root bin 1189 27470 1025499880
1 f none jabber/save_file.cgi 0700 root bin 609 48923 1025499880
1 f none jabber/save_filter.cgi 0700 root bin 926 8081 1025499880
1 f none jabber/save_general.cgi 0700 root bin 1803 15291 1025499880
1 f none jabber/save_ips.cgi 0700 root bin 985 9800 1025499880
1 f none jabber/save_karma.cgi 0700 root bin 1298 36249 1025499880
1 f none jabber/save_messages.cgi 0700 root bin 1322 40518 1025499880
1 f none jabber/save_modules.cgi 0700 root bin 754 60300 1025499880
1 f none jabber/start.cgi 0700 root bin 192 16080 1025499880
1 f none jabber/stop.cgi 0700 root bin 446 35054 1025499880
1 f none javascript-lib.pl 0600 root bin 15042 19697 1025499832
1 d none kdestyle 0700 root bin
1 d none kdestyle/acl 0700 root bin
1 d none kdestyle/acl/images 0700 root bin
1 f none kdestyle/acl/images/icon.gif 0600 root bin 2274 32699 1025499876
1 d none kdestyle/apache 0700 root bin
1 d none kdestyle/apache/images 0700 root bin
1 f none kdestyle/apache/images/icon.gif 0600 root bin 576 2286 1025499876
1 d none kdestyle/bind8 0700 root bin
1 d none kdestyle/bind8/images 0700 root bin
1 f none kdestyle/bind8/images/icon.gif 0600 root bin 2250 18454 1025499876
1 d none kdestyle/bsdexports 0700 root bin
1 d none kdestyle/bsdexports/images 0700 root bin
1 f none kdestyle/bsdexports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/cdbackup 0700 root bin
1 d none kdestyle/cdbackup/images 0700 root bin
1 f none kdestyle/cdbackup/images/icon.gif 0600 root bin 2313 29117 1025499876
1 d none kdestyle/cpan 0700 root bin
1 d none kdestyle/cpan/images 0700 root bin
1 f none kdestyle/cpan/images/icon.gif 0600 root bin 737 8350 1025499876
1 d none kdestyle/cron 0700 root bin
1 d none kdestyle/cron/images 0700 root bin
1 f none kdestyle/cron/images/icon.gif 0600 root bin 2022 47703 1025499876
1 d none kdestyle/custom 0700 root bin
1 d none kdestyle/custom/images 0700 root bin
1 f none kdestyle/custom/images/icon.gif 0600 root bin 361 42791 1025499876
1 d none kdestyle/dfsadmin 0700 root bin
1 d none kdestyle/dfsadmin/images 0700 root bin
1 f none kdestyle/dfsadmin/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/dhcpd 0700 root bin
1 d none kdestyle/dhcpd/images 0700 root bin
1 f none kdestyle/dhcpd/images/icon.gif 0600 root bin 1492 13470 1025499876
1 d none kdestyle/dnsadmin 0700 root bin
1 d none kdestyle/dnsadmin/images 0700 root bin
1 f none kdestyle/dnsadmin/images/icon.gif 0600 root bin 2248 12814 1025499876
1 d none kdestyle/exports 0700 root bin
1 d none kdestyle/exports/images 0700 root bin
1 f none kdestyle/exports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/fdisk 0700 root bin
1 d none kdestyle/fdisk/images 0700 root bin
1 f none kdestyle/fdisk/images/icon.gif 0600 root bin 1891 28598 1025499876
1 d none kdestyle/file 0700 root bin
1 d none kdestyle/file/images 0700 root bin
1 f none kdestyle/file/images/icon.gif 0600 root bin 1259 10524 1025499876
1 d none kdestyle/format 0700 root bin
1 d none kdestyle/format/images 0700 root bin
1 f none kdestyle/format/images/icon.gif 0600 root bin 1891 28598 1025499876
1 d none kdestyle/hpuxexports 0700 root bin
1 d none kdestyle/hpuxexports/images 0700 root bin
1 f none kdestyle/hpuxexports/images/icon.gif 0600 root bin 991 60887 1025499876
1 d none kdestyle/inetd 0700 root bin
1 d none kdestyle/inetd/images 0700 root bin
1 f none kdestyle/inetd/images/icon.gif 0600 root bin 1341 11729 1025499876
1 d none kdestyle/init 0700 root bin
1 d none kdestyle/init/images 0700 root bin
1 f none kdestyle/init/images/icon.gif 0600 root bin 1492 43250 1025499876
1 d none kdestyle/initnetwork 0700 root bin
1 d none kdestyle/initnetwork/images 0700 root bin
1 f none kdestyle/initnetwork/images/icon.gif 0600 root bin 472 56702 1025499876
1 d none kdestyle/inittab 0700 root bin
1 d none kdestyle/inittab/images 0700 root bin
1 f none kdestyle/inittab/images/icon.gif 0600 root bin 1955 40904 1025499877
1 d none kdestyle/ipchains 0700 root bin
1 d none kdestyle/ipchains/images 0700 root bin
1 f none kdestyle/ipchains/images/icon.gif 0600 root bin 2485 25444 1025499877
1 d none kdestyle/lilo 0700 root bin
1 d none kdestyle/lilo/images 0700 root bin
1 f none kdestyle/lilo/images/icon.gif 0600 root bin 1798 6052 1025499877
1 d none kdestyle/lpadmin 0700 root bin
1 d none kdestyle/lpadmin/images 0700 root bin
1 f none kdestyle/lpadmin/images/icon.gif 0600 root bin 1828 60725 1025499877
1 d none kdestyle/majordomo 0700 root bin
1 d none kdestyle/majordomo/images 0700 root bin
1 f none kdestyle/majordomo/images/icon.gif 0600 root bin 2247 33675 1025499877
1 d none kdestyle/man 0700 root bin
1 d none kdestyle/man/images 0700 root bin
1 f none kdestyle/man/images/icon.gif 0600 root bin 1335 193 1025499877
1 d none kdestyle/mount 0700 root bin
1 d none kdestyle/mount/images 0700 root bin
1 f none kdestyle/mount/images/icon.gif 0600 root bin 1767 14942 1025499877
1 d none kdestyle/mysql 0700 root bin
1 d none kdestyle/mysql/images 0700 root bin
1 f none kdestyle/mysql/images/icon.gif 0600 root bin 767 18018 1025499877
1 d none kdestyle/net 0700 root bin
1 d none kdestyle/net/images 0700 root bin
1 f none kdestyle/net/images/icon.gif 0600 root bin 2442 34322 1025499877
1 d none kdestyle/pam 0700 root bin
1 d none kdestyle/pam/images 0700 root bin
1 f none kdestyle/pam/images/icon.gif 0600 root bin 1671 52858 1025499877
1 d none kdestyle/pap 0700 root bin
1 d none kdestyle/pap/images 0700 root bin
1 f none kdestyle/pap/images/icon.gif 0600 root bin 1778 2979 1025499877
1 d none kdestyle/postfix 0700 root bin
1 d none kdestyle/postfix/images 0700 root bin
1 f none kdestyle/postfix/images/icon.gif 0600 root bin 1729 59226 1025499877
1 d none kdestyle/postgresql 0700 root bin
1 d none kdestyle/postgresql/images 0700 root bin
1 f none kdestyle/postgresql/images/icon.gif 0600 root bin 2326 14400 1025499877
1 d none kdestyle/proc 0700 root bin
1 d none kdestyle/proc/images 0700 root bin
1 f none kdestyle/proc/images/icon.gif 0600 root bin 2230 46896 1025499877
1 d none kdestyle/quota 0700 root bin
1 d none kdestyle/quota/images 0700 root bin
1 f none kdestyle/quota/images/icon.gif 0600 root bin 2020 46607 1025499877
1 d none kdestyle/raid 0700 root bin
1 d none kdestyle/raid/images 0700 root bin
1 f none kdestyle/raid/images/icon.gif 0600 root bin 1861 34775 1025499877
1 d none kdestyle/samba 0700 root bin
1 d none kdestyle/samba/images 0700 root bin
1 f none kdestyle/samba/images/icon.gif 0600 root bin 1089 52489 1025499877
1 d none kdestyle/sendmail 0700 root bin
1 d none kdestyle/sendmail/images 0700 root bin
1 f none kdestyle/sendmail/images/icon.gif 0600 root bin 2006 17609 1025499877
1 d none kdestyle/servers 0700 root bin
1 d none kdestyle/servers/images 0700 root bin
1 f none kdestyle/servers/images/icon.gif 0600 root bin 1526 31216 1025499877
1 d none kdestyle/software 0700 root bin
1 d none kdestyle/software/images 0700 root bin
1 f none kdestyle/software/images/icon.gif 0600 root bin 1444 35536 1025499877
1 d none kdestyle/squid 0700 root bin
1 d none kdestyle/squid/images 0700 root bin
1 f none kdestyle/squid/images/icon.gif 0600 root bin 1107 21547 1025499877
1 d none kdestyle/ssh 0700 root bin
1 d none kdestyle/ssh/images 0700 root bin
1 f none kdestyle/ssh/images/icon.gif 0600 root bin 1877 60023 1025499877
1 d none kdestyle/status 0700 root bin
1 d none kdestyle/status/images 0700 root bin
1 f none kdestyle/status/images/icon.gif 0600 root bin 1709 34002 1025499877
1 d none kdestyle/syslog 0700 root bin
1 d none kdestyle/syslog/images 0700 root bin
1 f none kdestyle/syslog/images/icon.gif 0600 root bin 2121 33917 1025499877
1 d none kdestyle/telnet 0700 root bin
1 d none kdestyle/telnet/images 0700 root bin
1 f none kdestyle/telnet/images/icon.gif 0600 root bin 2187 24082 1025499877
1 f none kdestyle/theme.info 0600 root bin 54 4427 1025499882
1 d none kdestyle/time 0700 root bin
1 d none kdestyle/time/images 0700 root bin
1 f none kdestyle/time/images/icon.gif 0600 root bin 1647 2402 1025499877
1 d none kdestyle/useradmin 0700 root bin
1 d none kdestyle/useradmin/images 0700 root bin
1 f none kdestyle/useradmin/images/icon.gif 0600 root bin 1951 48287 1025499877
1 d none kdestyle/webmin 0700 root bin
1 d none kdestyle/webmin/images 0700 root bin
1 f none kdestyle/webmin/images/icon.gif 0600 root bin 2303 63158 1025499877
1 d none kdestyle/webminlog 0700 root bin
1 d none kdestyle/webminlog/images 0700 root bin
1 f none kdestyle/webminlog/images/icon.gif 0600 root bin 2121 33917 1025499877
1 d none kdestyle/wuftpd 0700 root bin
1 d none kdestyle/wuftpd/images 0700 root bin
1 f none kdestyle/wuftpd/images/icon.gif 0600 root bin 1611 7782 1025499877
1 d none kdestyle/xinetd 0700 root bin
1 d none kdestyle/xinetd/images 0700 root bin
1 f none kdestyle/xinetd/images/icon.gif 0600 root bin 1341 11729 1025499877
1 d none lang 0700 root bin
1 f none lang/ca 0600 root bin 6863 58600 1025499831
1 f none lang/cz 0600 root bin 1536 20472 1025499831
1 f none lang/de 0600 root bin 7916 5631 1025499831
1 f none lang/en 0600 root bin 6619 24263 1025499831
1 f none lang/es 0600 root bin 4263 7871 1025499831
1 f none lang/fr 0600 root bin 4304 17893 1025499831
1 f none lang/he 0600 root bin 2119 64373 1025499831
1 f none lang/hu 0600 root bin 3276 3190 1025499831
1 f none lang/it 0600 root bin 1925 47244 1025499831
1 f none lang/ja_JP.euc 0600 root bin 3913 12629 1025499831
1 f none lang/ko_KR.euc 0600 root bin 3539 7724 1025499831
1 f none lang/nl 0600 root bin 4117 57502 1025499831
1 f none lang/no 0600 root bin 2006 51173 1025499831
1 f none lang/pl 0600 root bin 4140 12709 1025499831
1 f none lang/pt 0600 root bin 1760 35123 1025499831
1 f none lang/pt_BR 0600 root bin 1725 32424 1025499831
1 f none lang/ru_RU 0600 root bin 3923 26231 1025499831
1 f none lang/ru_SU 0600 root bin 3941 44330 1025499831
1 f none lang/si 0600 root bin 1040 10143 1025499831
1 f none lang/sv 0600 root bin 2422 34359 1025499831
1 f none lang/th 0600 root bin 3815 27441 1025499831
1 f none lang/tr 0600 root bin 2798 18961 1025499831
1 f none lang/zh_CN 0600 root bin 2869 45445 1025499831
1 f none lang/zh_TW.Big5 0600 root bin 4993 20145 1025499831
1 f none lang_list.txt 0600 root bin 879 11581 1025499831
1 d none lilo 0700 root bin
1 f none lilo/apply.cgi 0700 root bin 467 38374 1025499864
1 f none lilo/config 0600 root bin 45 4190 1025499864
1 f none lilo/config-lfs-linux 0600 root bin 45 4190 1025499864
1 f none lilo/config.info 0600 root bin 84 7524 1025499864
1 f none lilo/config.info.ca 0600 root bin 101 9318 1025499864
1 f none lilo/config.info.de 0600 root bin 97 9057 1025499864
1 f none lilo/config.info.es 0600 root bin 110 10331 1025499864
1 f none lilo/config.info.fr 0600 root bin 114 10283 1025499864
1 f none lilo/config.info.hu 0600 root bin 114 12602 1025499864
1 f none lilo/config.info.ja_JP.euc 0600 root bin 57 7376 1025499864
1 f none lilo/config.info.pl 0600 root bin 100 9444 1025499864
1 f none lilo/config.info.ru_RU 0600 root bin 89 15052 1025499864
1 f none lilo/config.info.ru_SU 0600 root bin 89 13444 1025499864
1 f none lilo/config.info.sv 0600 root bin 105 10221 1025499864
1 f none lilo/config.info.tr 0600 root bin 92 9698 1025499864
1 f none lilo/config.info.zh_CN 0600 root bin 68 9291 1025499864
1 f none lilo/config.info.zh_TW.Big5 0600 root bin 65 7654 1025499864
1 f none lilo/edit_global.cgi 0700 root bin 4603 52625 1025499864
1 f none lilo/edit_image.cgi 0700 root bin 5379 53253 1025499864
1 f none lilo/edit_other.cgi 0700 root bin 2142 47929 1025499864
1 d none lilo/images 0700 root bin
1 f none lilo/images/icon.gif 0600 root bin 1855 57767 1025499864
1 f none lilo/images/image.gif 0600 root bin 1614 26487 1025499864
1 f none lilo/images/other.gif 0600 root bin 2083 47306 1025499864
1 f none lilo/index.cgi 0700 root bin 2783 26947 1025499864
1 d none lilo/lang 0700 root bin
1 f none lilo/lang/ca 0600 root bin 3562 9671 1025499864
1 f none lilo/lang/cz 0600 root bin 2697 63476 1025499864
1 f none lilo/lang/de 0600 root bin 2850 10099 1025499864
1 f none lilo/lang/en 0600 root bin 3374 56585 1025499864
1 f none lilo/lang/es 0600 root bin 3866 41034 1025499864
1 f none lilo/lang/fr 0600 root bin 3823 46471 1025499864
1 f none lilo/lang/hu 0600 root bin 2839 38926 1025499864
1 f none lilo/lang/ja_JP.euc 0600 root bin 3648 7052 1025499864
1 f none lilo/lang/ko_KR.euc 0600 root bin 3000 16195 1025499864
1 f none lilo/lang/pl 0600 root bin 3591 27174 1025499864
1 f none lilo/lang/pt 0600 root bin 2764 9093 1025499864
1 f none lilo/lang/ru_RU 0600 root bin 2743 7720 1025499864
1 f none lilo/lang/ru_SU 0600 root bin 2747 31838 1025499864
1 f none lilo/lang/sv 0600 root bin 3314 2989 1025499864
1 f none lilo/lang/tr 0600 root bin 3625 8257 1025499864
1 f none lilo/lang/zh_CN 0600 root bin 2457 17305 1025499864
1 f none lilo/lang/zh_TW.Big5 0600 root bin 2118 16237 1025499864
1 f none lilo/lilo-lib.pl 0600 root bin 4869 46996 1025499864
1 f none lilo/log_parser.pl 0600 root bin 852 5562 1025499864
1 f none lilo/module.info 0600 root bin 893 26128 1025499882
1 f none lilo/save_global.cgi 0700 root bin 1465 51785 1025499864
1 f none lilo/save_image.cgi 0700 root bin 2680 23489 1025499864
1 f none lilo/save_other.cgi 0700 root bin 1334 44924 1025499864
1 d none lpadmin 0700 root bin
1 f none lpadmin/acl_security.pl 0600 root bin 3826 48540 1025499858
1 f none lpadmin/ascii.txt 0600 root bin 4291 41053 1025499858
1 f none lpadmin/base_coas_driver 0700 root bin 560 39252 1025499858
1 f none lpadmin/bw.fig 0600 root bin 2811 5685 1025499858
1 f none lpadmin/bw.ps 0600 root bin 6615 11601 1025499858
1 f none lpadmin/caldera-driver.pl 0600 root bin 12471 56211 1025499858
1 f none lpadmin/cancel_all.cgi 0700 root bin 448 37073 1025499858
1 f none lpadmin/cancel_job.cgi 0700 root bin 590 47930 1025499858
1 f none lpadmin/catalog.devices 0400 root bin 12641 50532 1025499858
1 f none lpadmin/colour.fig 0600 root bin 2984 13358 1025499858
1 f none lpadmin/colour.ps 0600 root bin 6792 22515 1025499858
1 f none lpadmin/config-corel-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-debian-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-freebsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-generic-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-gentoo-linux 0600 root bin 221 21113 1025499858
1 f none lpadmin/config-hpux 0600 root bin 296 28415 1025499858
1 f none lpadmin/config-irix 0600 root bin 184 17667 1025499858
1 f none lpadmin/config-macos 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-mandrake-linux 0600 root bin 218 20863 1025499858
1 f none lpadmin/config-mandrake-linux-8.0 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-mandrake-linux-8.1 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-mandrake-linux-8.2 0600 root bin 249 23835 1025499858
1 f none lpadmin/config-msc-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-netbsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-open-linux 0600 root bin 282 27124 1025499858
1 f none lpadmin/config-open-linux-3.1e 0600 root bin 212 20393 1025499858
1 f none lpadmin/config-openbsd 0600 root bin 203 19438 1025499858
1 f none lpadmin/config-redhat-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-redhat-linux-7.0 0600 root bin 225 21536 1025499858
1 f none lpadmin/config-redhat-linux-7.1 0600 root bin 228 21883 1025499858
1 f none lpadmin/config-redhat-linux-7.2 0600 root bin 336 31706 1025499858
1 f none lpadmin/config-redhat-linux-7.3 0600 root bin 336 31706 1025499858
1 f none lpadmin/config-slackware-linux 0600 root bin 201 19267 1025499858
1 f none lpadmin/config-solaris 0600 root bin 322 30299 1025499858
1 f none lpadmin/config-suse-linux 0600 root bin 199 19060 1025499858
1 f none lpadmin/config-turbo-linux 0600 root bin 201 19257 1025499858
1 f none lpadmin/config-unixware 0600 root bin 275 25405 1025499858
1 f none lpadmin/config.info 0600 root bin 996 28011 1025499858
1 f none lpadmin/config.info.ca 0600 root bin 1020 30689 1025499858
1 f none lpadmin/config.info.de 0600 root bin 941 23523 1025499858
1 f none lpadmin/config.info.es 0600 root bin 894 18853 1025499858
1 f none lpadmin/config.info.fr 0600 root bin 557 52725 1025499858
1 f none lpadmin/config.info.hu 0600 root bin 685 1165 1025499858
1 f none lpadmin/config.info.ja_JP.euc 0600 root bin 673 24286 1025499858
1 f none lpadmin/config.info.nl 0600 root bin 907 19955 1025499858
1 f none lpadmin/config.info.pl 0600 root bin 951 27752 1025499858
1 f none lpadmin/config.info.ru_RU 0600 root bin 494 1498 1025499858
1 f none lpadmin/config.info.ru_SU 0600 root bin 494 62916 1025499858
1 f none lpadmin/config.info.sv 0600 root bin 640 62231 1025499858
1 f none lpadmin/config.info.tr 0600 root bin 541 55908 1025499858
1 f none lpadmin/config.info.zh_CN 0600 root bin 496 62518 1025499858
1 f none lpadmin/config.info.zh_TW.Big5 0600 root bin 480 54539 1025499858
1 f none lpadmin/cups-driver.pl 0600 root bin 6273 21584 1025499858
1 f none lpadmin/cups-lib.pl 0600 root bin 6632 63659 1025499858
1 f none lpadmin/defaultacl 0600 root bin 54 4416 1025499858
1 f none lpadmin/delete_printer.cgi 0700 root bin 799 1229 1025499858
1 f none lpadmin/drivers 0600 root bin 18779 62412 1025499858
1 f none lpadmin/edit_printer.cgi 0700 root bin 10372 56705 1025499858
1 f none lpadmin/freebsd-lib.pl 0600 root bin 6736 12754 1025499858
1 f none lpadmin/hpux-driver.pl 0600 root bin 3149 57507 1025499858
1 f none lpadmin/hpux-lib.pl 0600 root bin 9300 21643 1025499858
1 d none lpadmin/images 0700 root bin
1 f none lpadmin/images/icon.gif 0600 root bin 330 38844 1025499858
1 f none lpadmin/index.cgi 0700 root bin 4120 57607 1025499858
1 f none lpadmin/irix-driver.pl 0600 root bin 3149 57498 1025499858
1 f none lpadmin/irix-lib.pl 0600 root bin 10176 30553 1025499858
1 d none lpadmin/lang 0700 root bin
1 f none lpadmin/lang/ca 0600 root bin 8675 45736 1025499858
1 f none lpadmin/lang/de 0600 root bin 9131 9423 1025499858
1 f none lpadmin/lang/en 0600 root bin 7596 58568 1025499858
1 f none lpadmin/lang/es 0600 root bin 8788 54993 1025499858
1 f none lpadmin/lang/fr 0600 root bin 8770 1550 1025499858
1 f none lpadmin/lang/hu 0600 root bin 7230 55793 1025499858
1 f none lpadmin/lang/it 0600 root bin 5354 50360 1025499858
1 f none lpadmin/lang/ja_JP.euc 0600 root bin 8263 31761 1025499858
1 f none lpadmin/lang/ko_KR.euc 0600 root bin 7369 54745 1025499858
1 f none lpadmin/lang/nl 0600 root bin 8009 38326 1025499858
1 f none lpadmin/lang/pl 0600 root bin 8612 65413 1025499858
1 f none lpadmin/lang/pt 0600 root bin 5386 4151 1025499858
1 f none lpadmin/lang/ru_RU 0600 root bin 4784 16068 1025499858
1 f none lpadmin/lang/ru_SU 0600 root bin 4796 9248 1025499858
1 f none lpadmin/lang/sv 0600 root bin 7847 46249 1025499858
1 f none lpadmin/lang/tr 0600 root bin 5943 44008 1025499858
1 f none lpadmin/lang/zh_CN 0600 root bin 5161 16568 1025499858
1 f none lpadmin/lang/zh_TW.Big5 0600 root bin 4062 55186 1025499858
1 f none lpadmin/linux-lib.pl 0600 root bin 8272 57125 1025499858
1 f none lpadmin/list_jobs.cgi 0700 root bin 2301 47410 1025499858
1 f none lpadmin/log_parser.pl 0600 root bin 896 7664 1025499858
1 f none lpadmin/lpadmin-lib.pl 0600 root bin 14168 60283 1025499858
1 f none lpadmin/lprng-lib.pl 0600 root bin 9603 29304 1025499858
1 f none lpadmin/module.info 0600 root bin 786 19927 1025499882
1 f none lpadmin/old-caldera-driver.pl 0600 root bin 9911 64191 1025499858
1 f none lpadmin/openbsd-lib.pl 0600 root bin 6736 12754 1025499858
1 f none lpadmin/printconf-driver.pl 0600 root bin 9627 36554 1025499858
1 f none lpadmin/redhat-driver.pl 0600 root bin 12651 19074 1025499858
1 f none lpadmin/restart.cgi 0700 root bin 301 25952 1025499858
1 f none lpadmin/save_printer.cgi 0700 root bin 5200 19330 1025499858
1 f none lpadmin/solaris-lib.pl 0600 root bin 7065 34370 1025499858
1 f none lpadmin/sortdrivers-by-drv.pl 0700 root bin 228 16477 1025499858
1 f none lpadmin/sortdrivers.pl 0700 root bin 248 17959 1025499858
1 f none lpadmin/start.cgi 0700 root bin 383 31748 1025499858
1 f none lpadmin/stop.cgi 0700 root bin 374 31063 1025499858
1 f none lpadmin/stp 0600 root bin 2512 59283 1025499858
1 f none lpadmin/suse-driver.pl 0600 root bin 10669 33710 1025499858
1 f none lpadmin/test_form.cgi 0700 root bin 862 9932 1025499858
1 f none lpadmin/test_print.cgi 0700 root bin 1059 17160 1025499858
1 f none lpadmin/unixware-lib.pl 0600 root bin 7431 61072 1025499858
1 f none lpadmin/view_job.cgi 0700 root bin 877 3811 1025499858
1 f none lpadmin/webmin-driver.pl 0600 root bin 1065 31373 1025499858
1 d none lvm 0700 root bin
1 f none lvm/edit_lv.cgi 0700 root bin 5100 19696 1025499881
1 f none lvm/edit_pv.cgi 0700 root bin 2177 46160 1025499881
1 f none lvm/edit_vg.cgi 0700 root bin 1836 19875 1025499881
1 f none lvm/feedback_files.pl 0600 root bin 155 11949 1025499881
1 d none lvm/images 0700 root bin
1 f none lvm/images/hdd_unmount.png 0600 root bin 2904 35646 1025499881
1 f none lvm/images/icon.gif 0600 root bin 1617 50579 1025499881
1 f none lvm/images/lv.gif 0600 root bin 1920 36402 1025499881
1 f none lvm/images/pv.gif 0600 root bin 1920 40263 1025499881
1 f none lvm/images/snap.gif 0600 root bin 1955 39361 1025499881
1 f none lvm/images/vg.gif 0600 root bin 1617 50579 1025499881
1 f none lvm/index.cgi 0700 root bin 3160 47033 1025499881
1 f none lvm/init.cgi 0700 root bin 461 35831 1025499881
1 d none lvm/lang 0700 root bin
1 f none lvm/lang/ca 0600 root bin 6222 60251 1025499881
1 f none lvm/lang/en 0600 root bin 5661 1937 1025499881
1 f none lvm/lang/zh_TW.Big5 0600 root bin 4114 24995 1025499881
1 f none lvm/log_parser.pl 0600 root bin 585 47897 1025499881
1 f none lvm/lvm-lib.pl 0600 root bin 9129 1576 1025499881
1 f none lvm/mkfs.cgi 0700 root bin 843 4059 1025499881
1 f none lvm/mkfs_form.cgi 0700 root bin 873 7763 1025499881
1 f none lvm/module.info 0600 root bin 323 31750 1025499882
1 f none lvm/save_lv.cgi 0700 root bin 4515 20491 1025499881
1 f none lvm/save_pv.cgi 0700 root bin 1675 2404 1025499881
1 f none lvm/save_vg.cgi 0700 root bin 1892 17395 1025499881
1 d none majordomo 0700 root bin
1 f none majordomo/acl_security.pl 0600 root bin 1971 31681 1025499863
1 f none majordomo/alias_setup.cgi 0700 root bin 867 6137 1025499863
1 f none majordomo/config 0600 root bin 102 9749 1025499863
1 f none majordomo/config-aix 0600 root bin 80 7479 1025499863
1 f none majordomo/config-debian-linux-2.2 0600 root bin 98 9242 1025499863
1 f none majordomo/config-debian-linux-3.0 0600 root bin 98 9242 1025499864
1 f none majordomo/config-msc-linux 0600 root bin 98 9242 1025499864
1 f none majordomo/config-netbsd 0600 root bin 114 10905 1025499864
1 f none majordomo/config-open-linux 0600 root bin 98 9242 1025499863
1 f none majordomo/config-open-linux-2.4 0600 root bin 129 12290 1025499864
1 f none majordomo/config-suse-linux-6.1 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.2 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.3 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-6.4 0600 root bin 85 7932 1025499863
1 f none majordomo/config-suse-linux-7.0 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.1 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.2 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-7.3 0600 root bin 85 7932 1025499864
1 f none majordomo/config-suse-linux-8.0 0600 root bin 85 7932 1025499864
1 f none majordomo/config.info 0600 root bin 415 38956 1025499863
1 f none majordomo/config.info.ca 0600 root bin 505 48019 1025499864
1 f none majordomo/config.info.de 0600 root bin 206 19208 1025499863
1 f none majordomo/config.info.es 0600 root bin 520 49273 1025499863
1 f none majordomo/config.info.fr 0600 root bin 188 17562 1025499863
1 f none majordomo/config.info.pl 0600 root bin 457 45025 1025499864
1 f none majordomo/config.info.ru_RU 0600 root bin 171 26714 1025499864
1 f none majordomo/config.info.ru_SU 0600 root bin 171 24484 1025499863
1 f none majordomo/config.info.sv 0600 root bin 375 36838 1025499863
1 f none majordomo/config.info.tr 0600 root bin 406 41447 1025499864
1 f none majordomo/config.info.zh_CN 0600 root bin 273 37172 1025499863
1 f none majordomo/config.info.zh_TW.Big5 0600 root bin 143 17188 1025499863
1 f none majordomo/create_digest.cgi 0700 root bin 5404 59742 1025499863
1 f none majordomo/create_form.cgi 0700 root bin 1608 4668 1025499863
1 f none majordomo/create_list.cgi 0700 root bin 4147 19535 1025499863
1 f none majordomo/defaultacl 0600 root bin 44 3677 1025499863
1 f none majordomo/delete_list.cgi 0700 root bin 3340 3292 1025499863
1 f none majordomo/digest_form.cgi 0700 root bin 1670 9678 1025499863
1 f none majordomo/edit_access.cgi 0700 root bin 3680 46340 1025499863
1 f none majordomo/edit_digest.cgi 0700 root bin 1504 63037 1025499863
1 f none majordomo/edit_global.cgi 0700 root bin 1363 50764 1025499863
1 f none majordomo/edit_head.cgi 0700 root bin 1189 35851 1025499863
1 f none majordomo/edit_info.cgi 0700 root bin 1847 24243 1025499863
1 f none majordomo/edit_list.cgi 0700 root bin 1328 44630 1025499863
1 f none majordomo/edit_members.cgi 0700 root bin 2225 54657 1025499863
1 f none majordomo/edit_mesg.cgi 0700 root bin 1833 22744 1025499863
1 f none majordomo/edit_misc.cgi 0700 root bin 1375 49922 1025499863
1 f none majordomo/edit_subs.cgi 0700 root bin 3962 5478 1025499863
1 f none majordomo/feedback_files.pl 0600 root bin 359 29852 1025499864
1 d none majordomo/images 0700 root bin
1 f none majordomo/images/access.gif 0600 root bin 275 34570 1025499863
1 f none majordomo/images/dig.gif 0600 root bin 377 41028 1025499863
1 f none majordomo/images/digest.gif 0600 root bin 2466 26349 1025499863
1 f none majordomo/images/head.gif 0600 root bin 215 25149 1025499863
1 f none majordomo/images/icon.gif 0600 root bin 335 37082 1025499863
1 f none majordomo/images/info.gif 0600 root bin 318 36739 1025499863
1 f none majordomo/images/list.gif 0600 root bin 335 37082 1025499863
1 f none majordomo/images/members.gif 0600 root bin 390 43396 1025499863
1 f none majordomo/images/mesg.gif 0600 root bin 258 31067 1025499863
1 f none majordomo/images/misc.gif 0600 root bin 460 53918 1025499863
1 f none majordomo/images/mod.gif 0600 root bin 330 39587 1025499863
1 f none majordomo/images/subs.gif 0600 root bin 330 36057 1025499863
1 f none majordomo/index.cgi 0700 root bin 4975 16060 1025499863
1 d none majordomo/lang 0700 root bin
1 f none majordomo/lang/ca 0600 root bin 11371 41789 1025499864
1 f none majordomo/lang/de 0600 root bin 12050 44492 1025499864
1 f none majordomo/lang/en 0600 root bin 9900 22239 1025499863
1 f none majordomo/lang/es 0600 root bin 11305 40634 1025499864
1 f none majordomo/lang/ja_JP.euc 0600 root bin 10070 60055 1025499864
1 f none majordomo/lang/ja_JP.jis 0600 root bin 10070 60055 1025499864
1 f none majordomo/lang/ko_KR.euc 0600 root bin 8994 30179 1025499864
1 f none majordomo/lang/sv 0600 root bin 10790 18913 1025499864
1 f none majordomo/lang/tr 0600 root bin 10082 61236 1025499864
1 f none majordomo/lang/zh_CN 0600 root bin 7251 4434 1025499864
1 f none majordomo/log_parser.pl 0600 root bin 984 16185 1025499864
1 f none majordomo/majordomo-lib.pl 0600 root bin 8009 20527 1025499863
1 f none majordomo/module.info 0600 root bin 844 22582 1025499882
1 f none majordomo/save_access.cgi 0700 root bin 1424 52044 1025499863
1 f none majordomo/save_auto.cgi 0700 root bin 606 52904 1025499863
1 f none majordomo/save_digest.cgi 0700 root bin 1128 30986 1025499863
1 f none majordomo/save_global.cgi 0700 root bin 984 20011 1025499863
1 f none majordomo/save_head.cgi 0700 root bin 654 56341 1025499863
1 f none majordomo/save_info.cgi 0700 root bin 1261 38536 1025499863
1 f none majordomo/save_members.cgi 0700 root bin 2329 61956 1025499863
1 f none majordomo/save_mesg.cgi 0700 root bin 1280 43006 1025499863
1 f none majordomo/save_misc.cgi 0700 root bin 694 59504 1025499863
1 f none majordomo/save_subs.cgi 0700 root bin 2411 6039 1025499863
1 f none majordomo/useradmin_update.pl 0600 root bin 1484 55194 1025499863
1 f none maketemp.pl 0600 root bin 343 24397 1025499832
1 d none man 0700 root bin
1 f none man/config-aix 0600 root bin 87 7415 1025499868
1 f none man/config-cobalt-linux 0600 root bin 222 19664 1025499868
1 f none man/config-corel-linux 0600 root bin 270 23876 1025499868
1 f none man/config-debian-linux 0600 root bin 228 20242 1025499868
1 f none man/config-freebsd 0600 root bin 93 7993 1025499868
1 f none man/config-generic-linux 0600 root bin 329 29066 1025499868
1 f none man/config-gentoo-linux 0600 root bin 228 20242 1025499868
1 f none man/config-hpux 0600 root bin 129 11252 1025499868
1 f none man/config-irix 0600 root bin 166 14909 1025499868
1 f none man/config-lfs-linux 0600 root bin 205 18119 1025499868
1 f none man/config-macos 0600 root bin 116 10194 1025499868
1 f none man/config-mandrake-linux 0600 root bin 330 29395 1025499868
1 f none man/config-msc-linux 0600 root bin 322 28594 1025499868
1 f none man/config-netbsd 0600 root bin 93 7993 1025499868
1 f none man/config-open-linux 0600 root bin 307 27227 1025499868
1 f none man/config-open-linux-3.1e 0700 root bin 317 28361 1025499868
1 f none man/config-openbsd 0600 root bin 93 7993 1025499868
1 f none man/config-openserver 0600 root bin 165 14201 1025499868
1 f none man/config-osf1 0600 root bin 129 11252 1025499868
1 f none man/config-redhat-linux 0600 root bin 301 26656 1025499868
1 f none man/config-redhat-linux-7.0 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.1 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.2 0600 root bin 330 29395 1025499868
1 f none man/config-redhat-linux-7.3 0600 root bin 330 29395 1025499868
1 f none man/config-slackware-linux 0600 root bin 294 26209 1025499868
1 f none man/config-solaris 0600 root bin 90 7607 1025499868
1 f none man/config-suse-linux 0600 root bin 299 26817 1025499868
1 f none man/config-suse-linux-7.1 0600 root bin 341 30725 1025499868
1 f none man/config-suse-linux-7.2 0600 root bin 347 31303 1025499868
1 f none man/config-suse-linux-7.3 0600 root bin 347 31303 1025499868
1 f none man/config-suse-linux-8.0 0600 root bin 347 31303 1025499868
1 f none man/config-turbo-linux 0600 root bin 354 31875 1025499868
1 f none man/config.info 0600 root bin 550 50869 1025499868
1 f none man/config.info.ca 0600 root bin 599 56035 1025499868
1 f none man/config.info.de 0600 root bin 624 57212 1025499868
1 f none man/config.info.es 0600 root bin 636 60205 1025499868
1 f none man/config.info.fr 0600 root bin 211 19478 1025499868
1 f none man/config.info.hu 0600 root bin 248 25715 1025499868
1 f none man/config.info.pl 0600 root bin 660 64899 1025499868
1 f none man/config.info.ru_RU 0600 root bin 211 38368 1025499868
1 f none man/config.info.ru_SU 0600 root bin 212 34234 1025499868
1 f none man/config.info.sv 0600 root bin 602 58289 1025499868
1 f none man/config.info.tr 0600 root bin 196 21161 1025499868
1 f none man/config.info.zh_CN 0600 root bin 279 34641 1025499868
1 f none man/config.info.zh_TW.Big5 0600 root bin 121 15874 1025499868
1 d none man/help 0700 root bin
1 f none man/help/intro.ca.html 0600 root bin 632 58827 1025499868
1 f none man/help/intro.de.html 0600 root bin 841 10618 1025499868
1 f none man/help/intro.es.html 0600 root bin 678 63931 1025499868
1 f none man/help/intro.fr.html 0600 root bin 722 2084 1025499868
1 f none man/help/intro.html 0600 root bin 622 56403 1025499868
1 f none man/help/intro.hu.html 0600 root bin 780 12842 1025499868
1 f none man/help/intro.it.html 0600 root bin 726 1070 1025499868
1 f none man/help/intro.pl.html 0600 root bin 662 693 1025499868
1 f none man/help/intro.ru_RU.html 0600 root bin 624 54265 1025499868
1 f none man/help/intro.ru_SU.html 0600 root bin 624 40190 1025499868
1 f none man/help/intro.sv.html 0600 root bin 631 60934 1025499868
1 d none man/images 0700 root bin
1 f none man/images/icon.gif 0600 root bin 1128 40241 1025499868
1 f none man/index.cgi 0700 root bin 2418 1774 1025499868
1 d none man/lang 0700 root bin
1 f none man/lang/ca 0600 root bin 2257 21593 1025499868
1 f none man/lang/cz 0600 root bin 494 47795 1025499868
1 f none man/lang/de 0600 root bin 2753 53098 1025499868
1 f none man/lang/en 0600 root bin 2030 61672 1025499868
1 f none man/lang/es 0600 root bin 2440 37044 1025499868
1 f none man/lang/fr 0600 root bin 2264 18327 1025499868
1 f none man/lang/hu 0600 root bin 646 62878 1025499868
1 f none man/lang/it 0600 root bin 2325 23536 1025499868
1 f none man/lang/ja_JP.euc 0600 root bin 1902 2479 1025499868
1 f none man/lang/ko_KR.euc 0600 root bin 1526 63025 1025499868
1 f none man/lang/pl 0600 root bin 2283 27970 1025499868
1 f none man/lang/ru_RU 0600 root bin 499 15198 1025499868
1 f none man/lang/ru_SU 0600 root bin 500 8622 1025499868
1 f none man/lang/sv 0600 root bin 1778 44329 1025499868
1 f none man/lang/tr 0600 root bin 535 57266 1025499868
1 f none man/lang/zh_CN 0600 root bin 403 54807 1025499868
1 f none man/lang/zh_TW.Big5 0600 root bin 376 45036 1025499868
1 f none man/man-lib.pl 0600 root bin 475 36372 1025499868
1 f none man/module.info 0600 root bin 782 17524 1025499882
1 f none man/save_check.cgi 0700 root bin 532 44597 1025499868
1 f none man/search.cgi 0700 root bin 10581 39499 1025499868
1 f none man/view_doc.cgi 0700 root bin 1504 50140 1025499868
1 f none man/view_howto.cgi 0700 root bin 1087 19683 1025499868
1 f none man/view_kde.cgi 0700 root bin 1533 53458 1025499868
1 f none man/view_kernel.cgi 0700 root bin 1491 50004 1025499868
1 f none man/view_man.cgi 0700 root bin 2137 27406 1025499868
1 f none man/view_perl.cgi 0700 root bin 708 56176 1025499868
1 f none mime.types 0700 root bin 11317 26665 1025499831
1 f none miniserv.pem 0600 root bin 974 11791 1025499831
1 f none miniserv.pl 0700 root bin 54673 5579 1025499831
1 d none mon 0700 root bin
1 f none mon/README 0600 root bin 287 25510 1025499878
1 f none mon/config 0600 root bin 176 16365 1025499878
1 f none mon/config.info 0600 root bin 290 25746 1025499878
1 f none mon/config.info.ca 0600 root bin 312 28658 1025499878
1 f none mon/create_watch.cgi 0700 root bin 287 23639 1025499878
1 f none mon/edit_auth.cgi 0700 root bin 1471 51505 1025499878
1 f none mon/edit_global.cgi 0700 root bin 2059 42067 1025499878
1 f none mon/edit_service.cgi 0700 root bin 8188 61508 1025499878
1 f none mon/edit_user.cgi 0700 root bin 1408 54173 1025499878
1 f none mon/edit_watch.cgi 0700 root bin 2262 53755 1025499878
1 f none mon/feedback_files.pl 0600 root bin 113 9349 1025499878
1 d none mon/help 0700 root bin
1 f none mon/help/hostgroup.ca.html 0600 root bin 474 43211 1025499878
1 f none mon/help/hostgroup.html 0600 root bin 440 40020 1025499878
1 f none mon/help/intro.ca.html 0600 root bin 337 30113 1025499878
1 f none mon/help/intro.html 0600 root bin 297 25878 1025499878
1 f none mon/help/monshow.ca.html 0600 root bin 253 22904 1025499878
1 f none mon/help/monshow.html 0600 root bin 249 22066 1025499878
1 f none mon/help/service.ca.html 0600 root bin 12320 11701 1025499878
1 f none mon/help/service.html 0600 root bin 11812 63456 1025499878
1 f none mon/hostgroups.cgi 0700 root bin 2546 20810 1025499878
1 d none mon/images 0700 root bin
1 f none mon/images/auth.gif 0600 root bin 275 34570 1025499878
1 f none mon/images/global.gif 0600 root bin 2775 65145 1025499878
1 f none mon/images/groups.gif 0600 root bin 251 29940 1025499878
1 f none mon/images/icon.gif 0600 root bin 1461 48839 1025499878
1 f none mon/images/mon.gif 0600 root bin 1293 9011 1025499878
1 f none mon/images/mon_conf.gif 0600 root bin 296 35073 1025499878
1 f none mon/images/mon_global.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/mon_status.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/periods.gif 0600 root bin 474 53500 1025499878
1 f none mon/images/status.gif 0600 root bin 316 36595 1025499878
1 f none mon/images/users.gif 0600 root bin 390 43396 1025499878
1 f none mon/images/watches.gif 0600 root bin 2075 21934 1025499878
1 f none mon/index.cgi 0700 root bin 1581 64582 1025499878
1 d none mon/lang 0700 root bin
1 f none mon/lang/.en.swp 0600 root bin 12288 45965 1025499878
1 f none mon/lang/ca 0600 root bin 7968 44136 1025499878
1 f none mon/lang/en 0600 root bin 7002 9614 1025499878
1 f none mon/list_groups.cgi 0700 root bin 845 3740 1025499878
1 f none mon/list_periods.cgi 0700 root bin 2154 34726 1025499878
1 f none mon/list_users.cgi 0700 root bin 1067 16531 1025499878
1 f none mon/list_watches.cgi 0700 root bin 1305 38011 1025499878
1 f none mon/module.info 0600 root bin 291 27493 1025499882
1 f none mon/mon-lib.pl 0700 root bin 7999 13697 1025499878
1 f none mon/mon.cgi 0700 root bin 836 1120 1025499878
1 f none mon/mon_action.cgi 0700 root bin 421 35441 1025499878
1 f none mon/mon_status.cgi 0700 root bin 460 39705 1025499878
1 f none mon/moncmd.cgi 0700 root bin 1631 8377 1025499878
1 f none mon/moncmd.diff 0600 root bin 2580 44408 1025499878
1 f none mon/moncmd.pl 0700 root bin 5792 37704 1025499878
1 f none mon/monshow.cgi 0700 root bin 29579 40639 1025499878
1 f none mon/monshow.diff 0600 root bin 9162 8408 1025499878
1 f none mon/monshowrc 0600 root bin 166 13923 1025499878
1 f none mon/restart.cgi 0700 root bin 430 34299 1025499878
1 f none mon/save_auth.cgi 0700 root bin 599 45775 1025499878
1 f none mon/save_config.cgi 0700 root bin 2225 52670 1025499878
1 f none mon/save_global.cgi 0700 root bin 1749 7629 1025499878
1 f none mon/save_groups.cgi 0700 root bin 662 54585 1025499878
1 f none mon/save_periods.cgi 0700 root bin 1147 20587 1025499878
1 f none mon/save_service.cgi 0700 root bin 4823 39170 1025499878
1 f none mon/save_user.cgi 0700 root bin 823 859 1025499878
1 f none mon/save_watch.cgi 0700 root bin 376 31372 1025499878
1 f none mon/services.cgi 0700 root bin 5745 44223 1025499878
1 f none mon/start.cgi 0700 root bin 232 19267 1025499878
1 f none mon/stop.cgi 0700 root bin 426 33387 1025499878
1 d none mount 0700 root bin
1 f none mount/cobalt-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/config-cobalt-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-corel-linux 0600 root bin 114 11127 1025499837
1 f none mount/config-debian-linux 0600 root bin 160 15433 1025499837
1 f none mount/config-freebsd 0600 root bin 126 12305 1025499836
1 f none mount/config-generic-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-gentoo-linux 0600 root bin 123 12049 1025499837
1 f none mount/config-hpux 0600 root bin 126 12305 1025499836
1 f none mount/config-irix 0600 root bin 129 12421 1025499837
1 f none mount/config-lfs-linux 0600 root bin 108 10361 1025499837
1 f none mount/config-macos 0600 root bin 104 10257 1025499837
1 f none mount/config-mandrake-linux 0600 root bin 140 13551 1025499837
1 f none mount/config-msc-linux 0600 root bin 140 13551 1025499837
1 f none mount/config-open-linux 0600 root bin 112 10809 1025499837
1 f none mount/config-open-linux-3.1e 0600 root bin 131 12445 1025499837
1 f none mount/config-openbsd 0600 root bin 126 12305 1025499836
1 f none mount/config-osf1 0600 root bin 184 17769 1025499837
1 f none mount/config-redhat-linux 0600 root bin 116 11322 1025499837
1 f none mount/config-redhat-linux-5.0 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-5.1 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-5.2 0600 root bin 145 14111 1025499836
1 f none mount/config-redhat-linux-6.0 0600 root bin 145 14111 1025499837
1 f none mount/config-redhat-linux-6.1 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-6.2 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.0 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.1 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.2 0600 root bin 140 13551 1025499837
1 f none mount/config-redhat-linux-7.3 0600 root bin 140 13551 1025499837
1 f none mount/config-slackware-linux 0600 root bin 87 8555 1025499837
1 f none mount/config-solaris 0600 root bin 159 15377 1025499837
1 f none mount/config-suse-linux 0600 root bin 116 11344 1025499837
1 f none mount/config-turbo-linux 0600 root bin 145 14111 1025499836
1 f none mount/config-turbo-linux-4.0 0600 root bin 145 14111 1025499837
1 f none mount/config-unixware 0600 root bin 159 15377 1025499837
1 f none mount/config.info 0600 root bin 339 31828 1025499837
1 f none mount/config.info.ca 0600 root bin 433 41119 1025499837
1 f none mount/config.info.de 0600 root bin 367 34415 1025499837
1 f none mount/config.info.es 0600 root bin 429 40239 1025499836
1 f none mount/config.info.fr 0600 root bin 392 37181 1025499837
1 f none mount/config.info.pl 0600 root bin 453 45018 1025499837
1 f none mount/config.info.ru_RU 0600 root bin 381 59990 1025499837
1 f none mount/config.info.ru_SU 0600 root bin 381 54867 1025499837
1 f none mount/config.info.sv 0600 root bin 358 35344 1025499837
1 f none mount/config.info.tr 0600 root bin 390 39377 1025499837
1 f none mount/config.info.zh_CN 0600 root bin 295 38884 1025499837
1 f none mount/config.info.zh_TW.Big5 0600 root bin 337 42208 1025499836
1 f none mount/corel-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/create_swap.cgi 0700 root bin 434 38055 1025499837
1 f none mount/debian-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/edit_mount.cgi 0700 root bin 6402 57854 1025499837
1 f none mount/freebsd-lib.pl 0700 root bin 26868 15171 1025499837
1 f none mount/freebsd-mounts-2 0700 root bin 8917 52409 1025499836
1 f none mount/freebsd-mounts-2.c 0600 root bin 1319 37901 1025499836
1 f none mount/freebsd-mounts-3 0700 root bin 4713 741 1025499836
1 f none mount/freebsd-mounts-3.c 0400 root bin 1262 35294 1025499837
1 f none mount/freebsd-mounts-4 0700 root bin 4878 11027 1025499836
1 f none mount/freebsd-mounts-4.c 0400 root bin 1262 35294 1025499836
1 f none mount/generic-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/gentoo-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 d none mount/help 0700 root bin
1 f none mount/help/help.ca.html 0600 root bin 24653 16889 1025499837
1 f none mount/help/help.html 0600 root bin 20595 60265 1025499837
1 f none mount/help/help.sv.html 0600 root bin 20704 35176 1025499837
1 f none mount/help/help.zh_TW.Big5.html 0600 root bin 14675 50356 1025499837
1 f none mount/hpux-lib.pl 0600 root bin 36759 49266 1025499837
1 d none mount/images 0700 root bin
1 f none mount/images/auto.gif 0600 root bin 2248 19392 1025499837
1 f none mount/images/autofs.gif 0600 root bin 2248 19392 1025499837
1 f none mount/images/cachefs.gif 0600 root bin 2336 3570 1025499837
1 f none mount/images/ext.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/ext2.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/fat.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/hpfs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/hsfs.gif 0600 root bin 1591 15553 1025499837
1 f none mount/images/icon.gif 0600 root bin 345 37063 1025499837
1 f none mount/images/iso9660.gif 0600 root bin 1591 15553 1025499837
1 f none mount/images/lofs.gif 0600 root bin 1219 43674 1025499837
1 f none mount/images/minix.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/msdos.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/nfs.gif 0600 root bin 1565 51055 1025499837
1 f none mount/images/pcfs.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/reiserfs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/rumba.gif 0600 root bin 1898 34077 1025499837
1 f none mount/images/smbfs.gif 0600 root bin 1898 34077 1025499837
1 f none mount/images/star.gif 0600 root bin 2100 58961 1025499837
1 f none mount/images/swap.gif 0600 root bin 2427 23882 1025499837
1 f none mount/images/sysv.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/tmpfs.gif 0600 root bin 2462 26131 1025499837
1 f none mount/images/udfs.gif 0600 root bin 1685 3476 1025499837
1 f none mount/images/ufs.gif 0600 root bin 2016 34725 1025499837
1 f none mount/images/umsdos.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/vfat.gif 0600 root bin 2291 51542 1025499837
1 f none mount/images/xmemfs.gif 0600 root bin 2462 26131 1025499837
1 f none mount/index.cgi 0700 root bin 3703 26318 1025499837
1 f none mount/irix-lib.pl 0600 root bin 49762 40174 1025499837
1 d none mount/lang 0700 root bin
1 f none mount/lang/ca 0600 root bin 12879 44362 1025499837
1 f none mount/lang/de 0600 root bin 12088 28324 1025499837
1 f none mount/lang/en 0600 root bin 11680 44444 1025499836
1 f none mount/lang/es 0600 root bin 12582 19456 1025499837
1 f none mount/lang/fr 0600 root bin 12900 5313 1025499836
1 f none mount/lang/hu 0600 root bin 11437 5717 1025499837
1 f none mount/lang/ja_JP.euc 0600 root bin 12115 658 1025499837
1 f none mount/lang/ko_KR.euc 0600 root bin 11447 62280 1025499837
1 f none mount/lang/pl 0600 root bin 12771 13621 1025499837
1 f none mount/lang/ru_RU 0600 root bin 11526 17763 1025499837
1 f none mount/lang/ru_SU 0600 root bin 11534 57108 1025499837
1 f none mount/lang/sv 0600 root bin 11681 18981 1025499837
1 f none mount/lang/tr 0600 root bin 11730 20033 1025499837
1 f none mount/lang/zh_CN 0600 root bin 8970 54974 1025499836
1 f none mount/lang/zh_TW.Big5 0600 root bin 8789 40854 1025499836
1 f none mount/lfs-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/linux-lib.pl 0700 root bin 64546 62971 1025499836
1 f none mount/log_parser.pl 0600 root bin 519 43529 1025499837
1 f none mount/low.risk 0600 root bin 24 2036 1025499837
1 f none mount/low.skill 0600 root bin 65 6038 1025499837
1 f none mount/macos-lib.pl 0700 root bin 3655 42590 1025499837
1 f none mount/macos-mounts 0700 root bin 9816 17491 1025499837
1 f none mount/macos-mounts.c 0400 root bin 1012 15834 1025499837
1 f none mount/mandrake-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/medium.risk 0600 root bin 11 971 1025499837
1 f none mount/medium.skill 0600 root bin 41 3795 1025499837
1 f none mount/module.info 0600 root bin 957 41493 1025499882
1 f none mount/mount-lib.pl 0600 root bin 4272 31279 1025499837
1 f none mount/mount.cgi 0700 root bin 415 33171 1025499837
1 f none mount/msc-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/nfs_export.cgi 0700 root bin 1001 14500 1025499837
1 f none mount/nfs_server.cgi 0700 root bin 1784 8245 1025499837
1 f none mount/open-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/openbsd-lib.pl 0700 root bin 23943 37973 1025499837
1 f none mount/openbsd-mounts-2 0700 root bin 25634 27408 1025499837
1 f none mount/openbsd-mounts-2.c 0600 root bin 1058 19310 1025499836
1 f none mount/openbsd-mounts-3 0700 root bin 25369 11541 1025499837
1 f none mount/osf1-lib.pl 0600 root bin 49514 21113 1025499837
1 f none mount/redhat-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/save_mount.cgi 0700 root bin 12732 921 1025499837
1 f none mount/slackware-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/smb_server.cgi 0700 root bin 1484 52891 1025499836
1 f none mount/smb_share.cgi 0700 root bin 1411 43874 1025499837
1 f none mount/solaris-lib.pl 0600 root bin 57451 21823 1025499837
1 f none mount/suse-linux-lib.pl 0700 root bin 64546 62971 1025499837
1 f none mount/turbo-linux-lib.pl 0700 root bin 64546 62971 1025499836
1 f none mount/unixware-lib.pl 0700 root bin 57528 55609 1025499836
1 f none mount/unmount.cgi 0700 root bin 424 34033 1025499837
1 d none mscstyle3 0700 root bin
1 d none mscstyle3/acl 0700 root bin
1 d none mscstyle3/acl/images 0700 root bin
1 f none mscstyle3/acl/images/icon.gif 0600 root bin 2274 32699 1025499878
1 d none mscstyle3/apache 0700 root bin
1 d none mscstyle3/apache/images 0700 root bin
1 f none mscstyle3/apache/images/icon.gif 0600 root bin 576 2286 1025499878
1 d none mscstyle3/apache2 0700 root bin
1 d none mscstyle3/apache2/images 0700 root bin
1 f none mscstyle3/apache2/images/icon.gif 0600 root bin 576 2286 1025499879
1 d none mscstyle3/bind8 0700 root bin
1 d none mscstyle3/bind8/images 0700 root bin
1 f none mscstyle3/bind8/images/icon.gif 0600 root bin 2250 18454 1025499878
1 d none mscstyle3/bsdexports 0700 root bin
1 d none mscstyle3/bsdexports/images 0700 root bin
1 f none mscstyle3/bsdexports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/cdbackup 0700 root bin
1 d none mscstyle3/cdbackup/images 0700 root bin
1 f none mscstyle3/cdbackup/images/icon.gif 0600 root bin 2313 29117 1025499878
1 f none mscstyle3/config 0600 root bin 107 9117 1025499879
1 f none mscstyle3/config.info 0600 root bin 18 1405 1025499879
1 d none mscstyle3/cpan 0700 root bin
1 d none mscstyle3/cpan/images 0700 root bin
1 f none mscstyle3/cpan/images/icon.gif 0600 root bin 737 8350 1025499878
1 d none mscstyle3/cron 0700 root bin
1 d none mscstyle3/cron/images 0700 root bin
1 f none mscstyle3/cron/images/icon.gif 0600 root bin 2022 47703 1025499878
1 d none mscstyle3/custom 0700 root bin
1 d none mscstyle3/custom/images 0700 root bin
1 f none mscstyle3/custom/images/icon.gif 0600 root bin 361 42791 1025499878
1 d none mscstyle3/dfsadmin 0700 root bin
1 d none mscstyle3/dfsadmin/images 0700 root bin
1 f none mscstyle3/dfsadmin/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/dhcpd 0700 root bin
1 d none mscstyle3/dhcpd/images 0700 root bin
1 f none mscstyle3/dhcpd/images/icon.gif 0600 root bin 1492 13470 1025499878
1 d none mscstyle3/dnsadmin 0700 root bin
1 d none mscstyle3/dnsadmin/images 0700 root bin
1 f none mscstyle3/dnsadmin/images/icon.gif 0600 root bin 2248 12814 1025499878
1 d none mscstyle3/exports 0700 root bin
1 d none mscstyle3/exports/images 0700 root bin
1 f none mscstyle3/exports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/fdisk 0700 root bin
1 d none mscstyle3/fdisk/images 0700 root bin
1 f none mscstyle3/fdisk/images/icon.gif 0600 root bin 1891 28598 1025499878
1 d none mscstyle3/file 0700 root bin
1 d none mscstyle3/file/images 0700 root bin
1 f none mscstyle3/file/images/icon.gif 0600 root bin 1259 10524 1025499878
1 d none mscstyle3/format 0700 root bin
1 d none mscstyle3/format/images 0700 root bin
1 f none mscstyle3/format/images/icon.gif 0600 root bin 1891 28598 1025499878
1 d none mscstyle3/hpuxexports 0700 root bin
1 d none mscstyle3/hpuxexports/images 0700 root bin
1 f none mscstyle3/hpuxexports/images/icon.gif 0600 root bin 991 60887 1025499878
1 d none mscstyle3/images 0700 root bin
1 f none mscstyle3/images/arrow.jpg 0600 root bin 1663 37098 1025499879
1 d none mscstyle3/images/cats 0700 root bin
1 f none mscstyle3/images/cats/apps.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats/cluster.jpg 0600 root bin 2769 55042 1025499879
1 f none mscstyle3/images/cats/hardware.jpg 0600 root bin 2817 3012 1025499879
1 f none mscstyle3/images/cats/kororaweb.jpg 0600 root bin 2667 42726 1025499879
1 f none mscstyle3/images/cats/login.jpg 0600 root bin 2822 60332 1025499879
1 f none mscstyle3/images/cats/mail.jpg 0600 root bin 2685 46844 1025499879
1 f none mscstyle3/images/cats/net.jpg 0600 root bin 1041 35239 1025499879
1 f none mscstyle3/images/cats/others.jpg 0600 root bin 2662 42082 1025499879
1 f none mscstyle3/images/cats/servers.jpg 0600 root bin 2779 57155 1025499879
1 f none mscstyle3/images/cats/system.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats/unknown.jpg 0600 root bin 2827 3923 1025499879
1 f none mscstyle3/images/cats/usermin.jpg 0600 root bin 2779 57599 1025499879
1 f none mscstyle3/images/cats/webmin.jpg 0600 root bin 2769 56898 1025499879
1 d none mscstyle3/images/cats_over 0700 root bin
1 f none mscstyle3/images/cats_over/apps.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats_over/cluster.jpg 0600 root bin 2769 55042 1025499879
1 f none mscstyle3/images/cats_over/hardware.jpg 0600 root bin 2817 3012 1025499879
1 f none mscstyle3/images/cats_over/kororaweb.jpg 0600 root bin 2667 42726 1025499879
1 f none mscstyle3/images/cats_over/login.jpg 0600 root bin 2822 60332 1025499879
1 f none mscstyle3/images/cats_over/mail.jpg 0600 root bin 2685 46844 1025499879
1 f none mscstyle3/images/cats_over/net.jpg 0600 root bin 1041 35239 1025499879
1 f none mscstyle3/images/cats_over/others.jpg 0600 root bin 2662 42082 1025499879
1 f none mscstyle3/images/cats_over/servers.jpg 0600 root bin 2779 57155 1025499879
1 f none mscstyle3/images/cats_over/system.jpg 0600 root bin 2694 49329 1025499879
1 f none mscstyle3/images/cats_over/unknown.jpg 0600 root bin 2827 3923 1025499879
1 f none mscstyle3/images/cats_over/usermin.jpg 0600 root bin 2779 57599 1025499879
1 f none mscstyle3/images/cats_over/webmin.jpg 0600 root bin 2769 56898 1025499879
1 f none mscstyle3/images/jjs3_logo.gif 0600 root bin 2943 57077 1025499879
1 d none mscstyle3/images/letters2 0700 root bin
1 f none mscstyle3/images/letters2/100.gif 0600 root bin 1006 43243 1025499879
1 f none mscstyle3/images/letters2/101.gif 0600 root bin 1023 43199 1025499879
1 f none mscstyle3/images/letters2/102.gif 0600 root bin 539 15380 1025499879
1 f none mscstyle3/images/letters2/103.gif 0600 root bin 1001 46929 1025499879
1 f none mscstyle3/images/letters2/104.gif 0600 root bin 588 9083 1025499879
1 f none mscstyle3/images/letters2/105.gif 0600 root bin 308 40551 1025499879
1 f none mscstyle3/images/letters2/106.gif 0600 root bin 523 17873 1025499879
1 f none mscstyle3/images/letters2/107.gif 0600 root bin 592 8357 1025499879
1 f none mscstyle3/images/letters2/108.gif 0600 root bin 307 40328 1025499879
1 f none mscstyle3/images/letters2/109.gif 0600 root bin 1077 33833 1025499879
1 f none mscstyle3/images/letters2/110.gif 0600 root bin 590 8424 1025499879
1 f none mscstyle3/images/letters2/111.gif 0600 root bin 1028 42329 1025499879
1 f none mscstyle3/images/letters2/112.gif 0600 root bin 1004 45193 1025499879
1 f none mscstyle3/images/letters2/113.gif 0600 root bin 1005 45342 1025499879
1 f none mscstyle3/images/letters2/114.gif 0600 root bin 542 14575 1025499879
1 f none mscstyle3/images/letters2/115.gif 0600 root bin 574 10689 1025499879
1 f none mscstyle3/images/letters2/116.gif 0600 root bin 541 15036 1025499879
1 f none mscstyle3/images/letters2/117.gif 0600 root bin 992 47001 1025499879
1 f none mscstyle3/images/letters2/118.gif 0600 root bin 1011 42516 1025499879
1 f none mscstyle3/images/letters2/119.gif 0600 root bin 1059 38295 1025499879
1 f none mscstyle3/images/letters2/120.gif 0600 root bin 1010 43779 1025499879
1 f none mscstyle3/images/letters2/121.gif 0600 root bin 1010 42509 1025499879
1 f none mscstyle3/images/letters2/122.gif 0600 root bin 567 12679 1025499879
1 f none mscstyle3/images/letters2/123.gif 0600 root bin 557 11301 1025499879
1 f none mscstyle3/images/letters2/124.gif 0600 root bin 310 40195 1025499879
1 f none mscstyle3/images/letters2/125.gif 0600 root bin 558 11203 1025499879
1 f none mscstyle3/images/letters2/126.gif 0600 root bin 992 44862 1025499879
1 f none mscstyle3/images/letters2/177.iso-8859-2.gif 0600 root bin 1011 41821 1025499879
1 f none mscstyle3/images/letters2/179.iso-8859-2.gif 0600 root bin 547 12415 1025499879
1 f none mscstyle3/images/letters2/182.iso-8859-2.gif 0600 root bin 989 42185 1025499879
1 f none mscstyle3/images/letters2/188.iso-8859-2.gif 0600 root bin 986 43538 1025499879
1 f none mscstyle3/images/letters2/191.iso-8859-2.gif 0600 root bin 986 43981 1025499879
1 f none mscstyle3/images/letters2/192.gif 0600 root bin 1041 41113 1025499879
1 f none mscstyle3/images/letters2/193.gif 0600 root bin 1040 41584 1025499879
1 f none mscstyle3/images/letters2/194.gif 0600 root bin 1024 43428 1025499879
1 f none mscstyle3/images/letters2/195.gif 0600 root bin 1038 42526 1025499879
1 f none mscstyle3/images/letters2/196.gif 0600 root bin 1040 40713 1025499879
1 f none mscstyle3/images/letters2/197.gif 0600 root bin 1042 39062 1025499879
1 f none mscstyle3/images/letters2/198.gif 0600 root bin 1049 42705 1025499879
1 f none mscstyle3/images/letters2/199.gif 0600 root bin 1041 40780 1025499879
1 f none mscstyle3/images/letters2/200.gif 0600 root bin 549 13856 1025499879
1 f none mscstyle3/images/letters2/201.gif 0600 root bin 568 10415 1025499879
1 f none mscstyle3/images/letters2/202.gif 0600 root bin 565 13872 1025499879
1 f none mscstyle3/images/letters2/203.gif 0600 root bin 549 13558 1025499879
1 f none mscstyle3/images/letters2/204.gif 0600 root bin 542 14189 1025499879
1 f none mscstyle3/images/letters2/205.gif 0600 root bin 525 17594 1025499879
1 f none mscstyle3/images/letters2/206.gif 0600 root bin 555 12947 1025499879
1 f none mscstyle3/images/letters2/207.gif 0600 root bin 558 11277 1025499879
1 f none mscstyle3/images/letters2/208.gif 0600 root bin 1012 42632 1025499879
1 f none mscstyle3/images/letters2/208.iso-8859-9.gif 0600 root bin 1055 37599 1025499879
1 f none mscstyle3/images/letters2/209.gif 0600 root bin 596 9331 1025499879
1 f none mscstyle3/images/letters2/210.gif 0600 root bin 1060 37867 1025499879
1 f none mscstyle3/images/letters2/211.gif 0600 root bin 1060 35805 1025499879
1 f none mscstyle3/images/letters2/211.iso-8859-2.gif 0600 root bin 1060 35805 1025499879
1 f none mscstyle3/images/letters2/212.gif 0600 root bin 1041 39899 1025499879
1 f none mscstyle3/images/letters2/213.gif 0600 root bin 1058 36723 1025499879
1 f none mscstyle3/images/letters2/214.gif 0600 root bin 1059 36627 1025499879
1 f none mscstyle3/images/letters2/214.iso-8859-9.gif 0600 root bin 1059 36627 1025499879
1 f none mscstyle3/images/letters2/215.gif 0600 root bin 992 45498 1025499879
1 f none mscstyle3/images/letters2/216.gif 0600 root bin 1059 39334 1025499879
1 f none mscstyle3/images/letters2/217.gif 0600 root bin 592 8316 1025499879
1 f none mscstyle3/images/letters2/218.gif 0600 root bin 592 8080 1025499879
1 f none mscstyle3/images/letters2/219.gif 0600 root bin 592 7429 1025499879
1 f none mscstyle3/images/letters2/220.gif 0600 root bin 589 8395 1025499879
1 f none mscstyle3/images/letters2/220.iso-8859-9.gif 0600 root bin 589 8395 1025499879
1 f none mscstyle3/images/letters2/221.gif 0600 root bin 1028 39786 1025499879
1 f none mscstyle3/images/letters2/221.iso-8859-9.gif 0600 root bin 524 17511 1025499879
1 f none mscstyle3/images/letters2/222.gif 0600 root bin 590 8732 1025499879
1 f none mscstyle3/images/letters2/222.iso-8859-9.gif 0600 root bin 1029 39435 1025499879
1 f none mscstyle3/images/letters2/223.gif 0600 root bin 585 8531 1025499879
1 f none mscstyle3/images/letters2/224.gif 0600 root bin 1004 43425 1025499879
1 f none mscstyle3/images/letters2/225.gif 0600 root bin 1005 42696 1025499879
1 f none mscstyle3/images/letters2/226.gif 0600 root bin 1024 40275 1025499879
1 f none mscstyle3/images/letters2/227.gif 0600 root bin 1004 45099 1025499879
1 f none mscstyle3/images/letters2/228.gif 0600 root bin 1005 43748 1025499879
1 f none mscstyle3/images/letters2/229.gif 0600 root bin 1024 40932 1025499879
1 f none mscstyle3/images/letters2/230.gif 0600 root bin 1102 35464 1025499879
1 f none mscstyle3/images/letters2/230.iso-8859-2.gif 0600 root bin 993 43307 1025499879
1 f none mscstyle3/images/letters2/231.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/231.iso-8859-9.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/231.iso.8859-9.gif 0600 root bin 1008 45132 1025499879
1 f none mscstyle3/images/letters2/232.gif 0600 root bin 1023 42930 1025499879
1 f none mscstyle3/images/letters2/233.gif 0600 root bin 1023 42208 1025499879
1 f none mscstyle3/images/letters2/234.gif 0600 root bin 1022 43856 1025499879
1 f none mscstyle3/images/letters2/234.iso-8859-2.gif 0600 root bin 993 43881 1025499879
1 f none mscstyle3/images/letters2/235.gif 0600 root bin 1023 40784 1025499879
1 f none mscstyle3/images/letters2/236.gif 0600 root bin 541 14519 1025499879
1 f none mscstyle3/images/letters2/237.gif 0600 root bin 542 13666 1025499879
1 f none mscstyle3/images/letters2/238.gif 0600 root bin 541 14471 1025499879
1 f none mscstyle3/images/letters2/239.gif 0600 root bin 555 11738 1025499879
1 f none mscstyle3/images/letters2/240.gif 0600 root bin 1005 45162 1025499879
1 f none mscstyle3/images/letters2/240.iso-8859-9.gif 0600 root bin 1011 46323 1025499879
1 f none mscstyle3/images/letters2/241.gif 0600 root bin 990 46465 1025499879
1 f none mscstyle3/images/letters2/241.iso-8859-2.gif 0600 root bin 588 5936 1025499879
1 f none mscstyle3/images/letters2/242.gif 0600 root bin 1028 42969 1025499879
1 f none mscstyle3/images/letters2/243.gif 0600 root bin 1028 40211 1025499879
1 f none mscstyle3/images/letters2/243.iso-8859-2.gif 0600 root bin 1028 40211 1025499879
1 f none mscstyle3/images/letters2/244.gif 0600 root bin 1028 41367 1025499879
1 f none mscstyle3/images/letters2/245.gif 0600 root bin 1026 41348 1025499879
1 f none mscstyle3/images/letters2/246.gif 0600 root bin 1028 39883 1025499879
1 f none mscstyle3/images/letters2/246.iso-8859-9.gif 0600 root bin 1028 39883 1025499879
1 f none mscstyle3/images/letters2/247.gif 0600 root bin 989 44790 1025499879
1 f none mscstyle3/images/letters2/248.gif 0600 root bin 1006 45848 1025499879
1 f none mscstyle3/images/letters2/249.gif 0600 root bin 993 46696 1025499879
1 f none mscstyle3/images/letters2/250.gif 0600 root bin 990 46102 1025499879
1 f none mscstyle3/images/letters2/251.gif 0600 root bin 592 8207 1025499879
1 f none mscstyle3/images/letters2/252.gif 0600 root bin 593 6905 1025499879
1 f none mscstyle3/images/letters2/252.iso-8859-9.gif 0600 root bin 593 6905 1025499879
1 f none mscstyle3/images/letters2/253.gif 0600 root bin 1010 42120 1025499879
1 f none mscstyle3/images/letters2/253.iso-8859-9.gif 0600 root bin 526 17295 1025499879
1 f none mscstyle3/images/letters2/254.gif 0600 root bin 1007 44502 1025499879
1 f none mscstyle3/images/letters2/255.gif 0600 root bin 592 7501 1025499879
1 f none mscstyle3/images/letters2/32.gif 0600 root bin 542 14405 1025499879
1 f none mscstyle3/images/letters2/33.gif 0600 root bin 310 40564 1025499879
1 f none mscstyle3/images/letters2/34.gif 0600 root bin 558 11797 1025499879
1 f none mscstyle3/images/letters2/35.gif 0600 root bin 585 11066 1025499879
1 f none mscstyle3/images/letters2/36.gif 0600 root bin 571 11234 1025499879
1 f none mscstyle3/images/letters2/37.gif 0600 root bin 1062 37400 1025499879
1 f none mscstyle3/images/letters2/38.gif 0600 root bin 1019 44557 1025499879
1 f none mscstyle3/images/letters2/39.gif 0600 root bin 296 42569 1025499879
1 f none mscstyle3/images/letters2/40.gif 0600 root bin 542 14650 1025499879
1 f none mscstyle3/images/letters2/41.gif 0600 root bin 542 14460 1025499879
1 f none mscstyle3/images/letters2/42.gif 0600 root bin 558 12221 1025499879
1 f none mscstyle3/images/letters2/43.gif 0600 root bin 989 47633 1025499879
1 f none mscstyle3/images/letters2/44.gif 0600 root bin 310 40006 1025499879
1 f none mscstyle3/images/letters2/45.gif 0600 root bin 541 15202 1025499879
1 f none mscstyle3/images/letters2/46.gif 0600 root bin 510 20195 1025499879
1 f none mscstyle3/images/letters2/47.gif 0600 root bin 558 10868 1025499879
1 f none mscstyle3/images/letters2/48.gif 0600 root bin 590 9010 1025499879
1 f none mscstyle3/images/letters2/49.gif 0600 root bin 540 15561 1025499879
1 f none mscstyle3/images/letters2/50.gif 0600 root bin 584 9283 1025499879
1 f none mscstyle3/images/letters2/51.gif 0600 root bin 990 45705 1025499879
1 f none mscstyle3/images/letters2/52.gif 0600 root bin 1007 44010 1025499879
1 f none mscstyle3/images/letters2/53.gif 0600 root bin 585 9733 1025499879
1 f none mscstyle3/images/letters2/54.gif 0600 root bin 1008 44532 1025499879
1 f none mscstyle3/images/letters2/55.gif 0600 root bin 572 8948 1025499879
1 f none mscstyle3/images/letters2/56.gif 0600 root bin 588 8533 1025499879
1 f none mscstyle3/images/letters2/57.gif 0600 root bin 1006 44327 1025499879
1 f none mscstyle3/images/letters2/58.gif 0600 root bin 526 16868 1025499879
1 f none mscstyle3/images/letters2/59.gif 0600 root bin 310 39413 1025499879
1 f none mscstyle3/images/letters2/60.gif 0600 root bin 990 45812 1025499879
1 f none mscstyle3/images/letters2/61.gif 0600 root bin 1003 43510 1025499879
1 f none mscstyle3/images/letters2/62.gif 0600 root bin 1010 44066 1025499879
1 f none mscstyle3/images/letters2/63.gif 0600 root bin 992 44027 1025499879
1 f none mscstyle3/images/letters2/64.gif 0600 root bin 1042 38907 1025499879
1 f none mscstyle3/images/letters2/65.gif 0600 root bin 1041 40119 1025499879
1 f none mscstyle3/images/letters2/66.gif 0600 root bin 586 10590 1025499879
1 f none mscstyle3/images/letters2/67.gif 0600 root bin 1043 40012 1025499879
1 f none mscstyle3/images/letters2/68.gif 0600 root bin 1004 46563 1025499879
1 f none mscstyle3/images/letters2/69.gif 0600 root bin 547 15136 1025499879
1 f none mscstyle3/images/letters2/70.gif 0600 root bin 554 14171 1025499879
1 f none mscstyle3/images/letters2/71.gif 0600 root bin 1055 37599 1025499879
1 f none mscstyle3/images/letters2/72.gif 0600 root bin 579 10686 1025499879
1 f none mscstyle3/images/letters2/73.gif 0600 root bin 524 18096 1025499879
1 f none mscstyle3/images/letters2/74.gif 0600 root bin 575 8728 1025499879
1 f none mscstyle3/images/letters2/75.gif 0600 root bin 586 9316 1025499879
1 f none mscstyle3/images/letters2/76.gif 0600 root bin 574 9876 1025499879
1 f none mscstyle3/images/letters2/77.gif 0600 root bin 1039 42553 1025499879
1 f none mscstyle3/images/letters2/78.gif 0600 root bin 605 9909 1025499879
1 f none mscstyle3/images/letters2/79.gif 0600 root bin 1041 40225 1025499879
1 f none mscstyle3/images/letters2/80.gif 0600 root bin 589 8919 1025499879
1 f none mscstyle3/images/letters2/81.gif 0600 root bin 1053 41381 1025499879
1 f none mscstyle3/images/letters2/82.gif 0600 root bin 581 11709 1025499879
1 f none mscstyle3/images/letters2/83.gif 0600 root bin 989 47058 1025499879
1 f none mscstyle3/images/letters2/84.gif 0600 root bin 571 10321 1025499879
1 f none mscstyle3/images/letters2/85.gif 0600 root bin 593 7365 1025499879
1 f none mscstyle3/images/letters2/86.gif 0600 root bin 1029 41623 1025499879
1 f none mscstyle3/images/letters2/87.gif 0600 root bin 1078 36565 1025499879
1 f none mscstyle3/images/letters2/88.gif 0600 root bin 1026 42793 1025499879
1 f none mscstyle3/images/letters2/89.gif 0600 root bin 1029 40525 1025499879
1 f none mscstyle3/images/letters2/90.gif 0600 root bin 587 7856 1025499879
1 f none mscstyle3/images/letters2/91.gif 0600 root bin 526 17304 1025499879
1 f none mscstyle3/images/letters2/93.gif 0600 root bin 540 15142 1025499879
1 f none mscstyle3/images/letters2/94.gif 0600 root bin 993 47531 1025499879
1 f none mscstyle3/images/letters2/95.gif 0600 root bin 587 9580 1025499879
1 f none mscstyle3/images/letters2/96.gif 0600 root bin 542 14890 1025499879
1 f none mscstyle3/images/letters2/97.gif 0600 root bin 1023 41531 1025499879
1 f none mscstyle3/images/letters2/98.gif 0600 root bin 1007 44433 1025499879
1 f none mscstyle3/images/letters2/99.gif 0600 root bin 1008 42191 1025499879
1 f none mscstyle3/images/msctile.jpg 0600 root bin 1038 26032 1025499879
1 f none mscstyle3/images/msctile2.jpg 0600 root bin 658 21521 1025499879
1 d none mscstyle3/images/nav 0700 root bin
1 f none mscstyle3/images/nav/Thumbs.db 0600 root bin 6656 18361 1025499879
1 f none mscstyle3/images/nav/bg.jpg 0600 root bin 8373 63842 1025499879
1 f none mscstyle3/images/nav/bottom_bg.jpg 0600 root bin 458 24437 1025499879
1 f none mscstyle3/images/nav/bottom_left.jpg 0600 root bin 382 15962 1025499879
1 f none mscstyle3/images/nav/bottom_shadow.jpg 0600 root bin 437 23624 1025499879
1 f none mscstyle3/images/nav/bottom_shadow2.jpg 0600 root bin 386 16789 1025499879
1 f none mscstyle3/images/nav/left.jpg 0600 root bin 691 52723 1025499879
1 f none mscstyle3/images/nav/sep.jpg 0600 root bin 1147 42069 1025499879
1 f none mscstyle3/images/nav/text_bg.jpg 0600 root bin 1538 25084 1025499879
1 f none mscstyle3/images/nav/text_left.jpg 0600 root bin 425 20315 1025499879
1 f none mscstyle3/images/nav/text_sep.jpg 0600 root bin 552 36879 1025499879
1 d none mscstyle3/images/tabs 0700 root bin
1 f none mscstyle3/images/tabs/Thumbs.db 0600 root bin 5120 59276 1025499879
1 f none mscstyle3/images/tabs/bg.jpg 0600 root bin 333 14989 1025499879
1 f none mscstyle3/images/tabs/blue_left.jpg 0600 root bin 548 35621 1025499879
1 f none mscstyle3/images/tabs/blue_right.jpg 0600 root bin 699 53007 1025499879
1 f none mscstyle3/images/tabs/bottom.jpg 0600 root bin 438 22459 1025499879
1 f none mscstyle3/images/tabs/left.jpg 0600 root bin 394 21304 1025499879
1 f none mscstyle3/images/tabs/left_bottom.jpg 0600 root bin 413 19487 1025499879
1 f none mscstyle3/images/tabs/right.jpg 0600 root bin 434 25795 1025499879
1 f none mscstyle3/images/tabs/right_bottom.jpg 0600 root bin 427 21473 1025499879
1 f none mscstyle3/images/tabs/shadow.jpg 0600 root bin 386 16789 1025499879
1 f none mscstyle3/images/tabs/white_left.jpg 0600 root bin 407 22940 1025499879
1 f none mscstyle3/images/tabs/white_right.jpg 0600 root bin 469 31733 1025499879
1 f none mscstyle3/images/tabs/yellow_left.jpg 0600 root bin 595 41975 1025499879
1 f none mscstyle3/images/tabs/yellow_right.jpg 0600 root bin 749 60511 1025499879
1 f none mscstyle3/images/theme_by.jpg 0700 root bin 6974 57683 1025499879
1 d none mscstyle3/images/top_bar 0700 root bin
1 f none mscstyle3/images/top_bar/bg.jpg 0600 root bin 434 22866 1025499879
1 f none mscstyle3/images/top_bar/feedback.jpg 0600 root bin 1209 60624 1025499879
1 f none mscstyle3/images/top_bar/left.jpg 0600 root bin 491 29092 1025499879
1 f none mscstyle3/images/top_bar/logout.jpg 0600 root bin 3074 19083 1025499879
1 f none mscstyle3/images/top_bar/msc_logo.jpg 0600 root bin 3352 1918 1025499879
1 f none mscstyle3/images/top_bar/right.jpg 0600 root bin 496 31047 1025499879
1 f none mscstyle3/images/top_bar/shadow.jpg 0600 root bin 388 16345 1025499879
1 f none mscstyle3/images/top_bar/shadow_bg.jpg 0600 root bin 715 57462 1025499879
1 f none mscstyle3/images/top_bar/top_sep.jpg 0600 root bin 424 26940 1025499879
1 f none mscstyle3/images/top_bar/webmin_logo.jpg 0700 root bin 3654 37640 1025499879
1 f none mscstyle3/images/webmin_icon.png 0600 root bin 840 30935 1025499879
1 f none mscstyle3/images/white_bar.jpg 0600 root bin 363 14357 1025499879
1 f none mscstyle3/images/white_bar2.jpg 0600 root bin 310 8845 1025499879
1 f none mscstyle3/index.cgi 0700 root bin 5504 38115 1025499879
1 d none mscstyle3/inetd 0700 root bin
1 d none mscstyle3/inetd/images 0700 root bin
1 f none mscstyle3/inetd/images/icon.gif 0600 root bin 1341 11729 1025499878
1 d none mscstyle3/init 0700 root bin
1 d none mscstyle3/init/images 0700 root bin
1 f none mscstyle3/init/images/icon.gif 0600 root bin 1492 43250 1025499878
1 d none mscstyle3/initnetwork 0700 root bin
1 d none mscstyle3/initnetwork/images 0700 root bin
1 f none mscstyle3/initnetwork/images/icon.gif 0600 root bin 472 56702 1025499878
1 d none mscstyle3/inittab 0700 root bin
1 d none mscstyle3/inittab/images 0700 root bin
1 f none mscstyle3/inittab/images/icon.gif 0600 root bin 1955 40904 1025499878
1 d none mscstyle3/ipchains 0700 root bin
1 d none mscstyle3/ipchains/images 0700 root bin
1 f none mscstyle3/ipchains/images/icon.gif 0600 root bin 2485 25444 1025499878
1 d none mscstyle3/lilo 0700 root bin
1 d none mscstyle3/lilo/images 0700 root bin
1 f none mscstyle3/lilo/images/icon.gif 0600 root bin 1798 6052 1025499878
1 d none mscstyle3/lpadmin 0700 root bin
1 d none mscstyle3/lpadmin/images 0700 root bin
1 f none mscstyle3/lpadmin/images/icon.gif 0600 root bin 1828 60725 1025499879
1 d none mscstyle3/majordomo 0700 root bin
1 d none mscstyle3/majordomo/images 0700 root bin
1 f none mscstyle3/majordomo/images/icon.gif 0600 root bin 2247 33675 1025499879
1 d none mscstyle3/man 0700 root bin
1 d none mscstyle3/man/images 0700 root bin
1 f none mscstyle3/man/images/icon.gif 0600 root bin 1335 193 1025499879
1 d none mscstyle3/mount 0700 root bin
1 d none mscstyle3/mount/images 0700 root bin
1 f none mscstyle3/mount/images/icon.gif 0600 root bin 1767 14942 1025499879
1 d none mscstyle3/mysql 0700 root bin
1 d none mscstyle3/mysql/images 0700 root bin
1 f none mscstyle3/mysql/images/icon.gif 0600 root bin 1370 5187 1025499879
1 d none mscstyle3/net 0700 root bin
1 d none mscstyle3/net/images 0700 root bin
1 f none mscstyle3/net/images/icon.gif 0600 root bin 2442 34322 1025499879
1 d none mscstyle3/pam 0700 root bin
1 d none mscstyle3/pam/images 0700 root bin
1 f none mscstyle3/pam/images/icon.gif 0600 root bin 1671 52858 1025499879
1 d none mscstyle3/pap 0700 root bin
1 d none mscstyle3/pap/images 0700 root bin
1 f none mscstyle3/pap/images/icon.gif 0600 root bin 1778 2979 1025499879
1 d none mscstyle3/postfix 0700 root bin
1 d none mscstyle3/postfix/images 0700 root bin
1 f none mscstyle3/postfix/images/icon.gif 0600 root bin 1729 59226 1025499879
1 d none mscstyle3/postgresql 0700 root bin
1 d none mscstyle3/postgresql/images 0700 root bin
1 f none mscstyle3/postgresql/images/icon.gif 0600 root bin 2326 14400 1025499879
1 d none mscstyle3/proc 0700 root bin
1 d none mscstyle3/proc/images 0700 root bin
1 f none mscstyle3/proc/images/icon.gif 0600 root bin 2230 46896 1025499879
1 d none mscstyle3/quota 0700 root bin
1 d none mscstyle3/quota/images 0700 root bin
1 f none mscstyle3/quota/images/icon.gif 0600 root bin 2020 46607 1025499879
1 d none mscstyle3/raid 0700 root bin
1 d none mscstyle3/raid/images 0700 root bin
1 f none mscstyle3/raid/images/icon.gif 0600 root bin 1861 34775 1025499879
1 d none mscstyle3/samba 0700 root bin
1 d none mscstyle3/samba/images 0700 root bin
1 f none mscstyle3/samba/images/icon.gif 0600 root bin 1089 52489 1025499879
1 d none mscstyle3/sendmail 0700 root bin
1 d none mscstyle3/sendmail/images 0700 root bin
1 f none mscstyle3/sendmail/images/icon.gif 0600 root bin 2006 17609 1025499879
1 d none mscstyle3/servers 0700 root bin
1 d none mscstyle3/servers/images 0700 root bin
1 f none mscstyle3/servers/images/icon.gif 0600 root bin 1526 31216 1025499879
1 d none mscstyle3/software 0700 root bin
1 d none mscstyle3/software/images 0700 root bin
1 f none mscstyle3/software/images/icon.gif 0600 root bin 1444 35536 1025499879
1 d none mscstyle3/squid 0700 root bin
1 d none mscstyle3/squid/images 0700 root bin
1 f none mscstyle3/squid/images/icon.gif 0600 root bin 1107 21547 1025499879
1 d none mscstyle3/ssh 0700 root bin
1 d none mscstyle3/ssh/images 0700 root bin
1 f none mscstyle3/ssh/images/icon.gif 0600 root bin 1877 60023 1025499879
1 d none mscstyle3/status 0700 root bin
1 d none mscstyle3/status/images 0700 root bin
1 f none mscstyle3/status/images/icon.gif 0600 root bin 1709 34002 1025499879
1 d none mscstyle3/syslog 0700 root bin
1 d none mscstyle3/syslog/images 0700 root bin
1 f none mscstyle3/syslog/images/icon.gif 0600 root bin 2121 33917 1025499879
1 d none mscstyle3/telnet 0700 root bin
1 d none mscstyle3/telnet/images 0700 root bin
1 f none mscstyle3/telnet/images/icon.gif 0600 root bin 2187 24082 1025499879
1 f none mscstyle3/theme.info 0600 root bin 49 3985 1025499882
1 f none mscstyle3/theme.pl 0700 root bin 16336 60416 1025499879
1 d none mscstyle3/time 0700 root bin
1 d none mscstyle3/time/images 0700 root bin
1 f none mscstyle3/time/images/icon.gif 0600 root bin 1647 2402 1025499879
1 d none mscstyle3/unauthenticated 0700 root bin
1 f none mscstyle3/unauthenticated/apache.gif 0600 root bin 524 52842 1025499879
1 d none mscstyle3/useradmin 0700 root bin
1 d none mscstyle3/useradmin/images 0700 root bin
1 f none mscstyle3/useradmin/images/icon.gif 0600 root bin 1951 48287 1025499879
1 d none mscstyle3/webmin 0700 root bin
1 d none mscstyle3/webmin/images 0700 root bin
1 f none mscstyle3/webmin/images/icon.gif 0600 root bin 2303 63158 1025499879
1 d none mscstyle3/webminlog 0700 root bin
1 d none mscstyle3/webminlog/images 0700 root bin
1 f none mscstyle3/webminlog/images/icon.gif 0600 root bin 2121 33917 1025499879
1 d none mscstyle3/wuftpd 0700 root bin
1 d none mscstyle3/wuftpd/images 0700 root bin
1 f none mscstyle3/wuftpd/images/icon.gif 0600 root bin 1611 7782 1025499879
1 d none mscstyle3/xinetd 0700 root bin
1 d none mscstyle3/xinetd/images 0700 root bin
1 f none mscstyle3/xinetd/images/icon.gif 0600 root bin 1341 11729 1025499879
1 d none mysql 0700 root bin
1 f none mysql/acl_security.pl 0600 root bin 3653 35958 1025499867
1 f none mysql/backup_db.cgi 0700 root bin 1465 55783 1025499868
1 f none mysql/backup_form.cgi 0700 root bin 1734 15925 1025499868
1 f none mysql/config 0600 root bin 357 33767 1025499868
1 f none mysql/config-aix 0600 root bin 305 28855 1025499868
1 f none mysql/config-cobalt-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-debian-linux 0600 root bin 254 23622 1025499867
1 f none mysql/config-debian-linux-2.2 0600 root bin 325 29975 1025499867
1 f none mysql/config-debian-linux-3.0 0600 root bin 325 29975 1025499868
1 f none mysql/config-freebsd 0600 root bin 305 28855 1025499867
1 f none mysql/config-gentoo-linux 0600 root bin 271 25609 1025499868
1 f none mysql/config-mandrake-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-msc-linux 0600 root bin 285 26973 1025499868
1 f none mysql/config-netbsd 0600 root bin 291 27448 1025499868
1 f none mysql/config-open-linux 0600 root bin 281 26421 1025499867
1 f none mysql/config-redhat-linux 0600 root bin 281 26421 1025499868
1 f none mysql/config-redhat-linux-7.0 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.1 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.2 0600 root bin 283 26621 1025499868
1 f none mysql/config-redhat-linux-7.3 0600 root bin 283 26621 1025499868
1 f none mysql/config-slackware-linux-8.0 0600 root bin 287 26706 1025499868
1 f none mysql/config-slackware-linux-8.1 0600 root bin 287 26706 1025499868
1 f none mysql/config-suse-linux 0600 root bin 273 25833 1025499867
1 f none mysql/config-suse-linux-7.1 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-7.2 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-7.3 0600 root bin 271 25609 1025499868
1 f none mysql/config-suse-linux-8.0 0600 root bin 271 25609 1025499868
1 f none mysql/config-turbo-linux 0600 root bin 281 26421 1025499867
1 f none mysql/config.info 0600 root bin 681 62383 1025499868
1 f none mysql/config.info.ca 0600 root bin 737 3023 1025499868
1 f none mysql/config.info.cz 0600 root bin 360 37414 1025499868
1 f none mysql/config.info.de 0600 root bin 370 34444 1025499867
1 f none mysql/config.info.es 0600 root bin 742 4519 1025499867
1 f none mysql/config.info.hu 0600 root bin 407 41922 1025499868
1 f none mysql/config.info.pl 0600 root bin 779 9766 1025499868
1 f none mysql/config.info.sv 0600 root bin 657 64427 1025499867
1 f none mysql/config.info.tr 0600 root bin 374 38254 1025499868
1 f none mysql/config.info.zh_CN 0600 root bin 262 36389 1025499867
1 f none mysql/config.info.zh_TW.Big5 0600 root bin 306 39265 1025499867
1 f none mysql/create_table.cgi 0700 root bin 1653 63869 1025499867
1 f none mysql/defaultacl 0600 root bin 67 5649 1025499867
1 f none mysql/drop_dbase.cgi 0700 root bin 1475 55437 1025499868
1 f none mysql/drop_table.cgi 0700 root bin 1261 39270 1025499868
1 f none mysql/edit_cpriv.cgi 0700 root bin 2946 45212 1025499868
1 f none mysql/edit_db.cgi 0700 root bin 2349 59554 1025499867
1 f none mysql/edit_dbase.cgi 0700 root bin 2401 64441 1025499867
1 f none mysql/edit_field.cgi 0700 root bin 5375 43873 1025499867
1 f none mysql/edit_host.cgi 0700 root bin 1889 22854 1025499867
1 f none mysql/edit_table.cgi 0700 root bin 2614 19141 1025499867
1 f none mysql/edit_tpriv.cgi 0700 root bin 3058 53406 1025499868
1 f none mysql/edit_user.cgi 0700 root bin 2541 11088 1025499867
1 f none mysql/exec.cgi 0700 root bin 1798 11030 1025499867
1 f none mysql/exec_file.cgi 0700 root bin 1305 41023 1025499868
1 f none mysql/exec_form.cgi 0700 root bin 3088 62850 1025499867
1 d none mysql/help 0700 root bin
1 f none mysql/help/backup_form.ca.html 0600 root bin 629 57006 1025499867
1 f none mysql/help/backup_form.html 0600 root bin 504 45475 1025499867
1 f none mysql/help/cpriv.ca.html 0600 root bin 452 40106 1025499867
1 f none mysql/help/cpriv.es.html 0600 root bin 489 43613 1025499867
1 f none mysql/help/cpriv.html 0600 root bin 448 39427 1025499867
1 f none mysql/help/cpriv.sv.html 0600 root bin 397 38237 1025499867
1 f none mysql/help/cpriv.zh_TW.Big5.html 0600 root bin 291 38621 1025499867
1 f none mysql/help/cprivs.ca.html 0600 root bin 597 55378 1025499867
1 f none mysql/help/cprivs.es.html 0600 root bin 614 56877 1025499867
1 f none mysql/help/cprivs.html 0600 root bin 547 49639 1025499867
1 f none mysql/help/cprivs.sv.html 0600 root bin 516 51616 1025499867
1 f none mysql/help/cprivs.zh_TW.Big5.html 0600 root bin 321 49054 1025499867
1 f none mysql/help/create_cpriv.ca.html 0600 root bin 288 26511 1025499867
1 f none mysql/help/create_cpriv.es.html 0600 root bin 277 25477 1025499867
1 f none mysql/help/create_cpriv.html 0600 root bin 248 22493 1025499867
1 f none mysql/help/create_cpriv.sv.html 0600 root bin 235 23183 1025499867
1 f none mysql/help/create_cpriv.zh_TW.Big5.html 0600 root bin 159 21475 1025499867
1 f none mysql/help/create_db.ca.html 0600 root bin 303 27404 1025499867
1 f none mysql/help/create_db.es.html 0600 root bin 305 27752 1025499867
1 f none mysql/help/create_db.html 0600 root bin 254 23041 1025499867
1 f none mysql/help/create_db.sv.html 0600 root bin 240 23359 1025499867
1 f none mysql/help/create_db.zh_TW.Big5.html 0600 root bin 160 21495 1025499867
1 f none mysql/help/create_field.ca.html 0600 root bin 281 25466 1025499867
1 f none mysql/help/create_field.es.html 0600 root bin 277 25440 1025499867
1 f none mysql/help/create_field.html 0600 root bin 244 21435 1025499867
1 f none mysql/help/create_field.sv.html 0600 root bin 245 23461 1025499867
1 f none mysql/help/create_field.zh_TW.Big5.html 0600 root bin 170 23472 1025499867
1 f none mysql/help/create_tpriv.ca.html 0600 root bin 282 25863 1025499867
1 f none mysql/help/create_tpriv.es.html 0600 root bin 285 26057 1025499867
1 f none mysql/help/create_tpriv.html 0600 root bin 248 22505 1025499867
1 f none mysql/help/create_tpriv.sv.html 0600 root bin 238 23269 1025499867
1 f none mysql/help/create_tpriv.zh_TW.Big5.html 0600 root bin 159 21706 1025499867
1 f none mysql/help/create_user.ca.html 0600 root bin 247 22409 1025499867
1 f none mysql/help/create_user.es.html 0600 root bin 251 22665 1025499867
1 f none mysql/help/create_user.html 0600 root bin 210 18467 1025499867
1 f none mysql/help/create_user.sv.html 0600 root bin 221 21084 1025499867
1 f none mysql/help/create_user.zh_TW.Big5.html 0600 root bin 162 21963 1025499867
1 f none mysql/help/db.ca.html 0600 root bin 704 62036 1025499868
1 f none mysql/help/db.es.html 0600 root bin 749 622 1025499867
1 f none mysql/help/db.html 0600 root bin 628 54715 1025499867
1 f none mysql/help/db.sv.html 0600 root bin 620 58726 1025499867
1 f none mysql/help/db.zh_TW.Big5.html 0600 root bin 435 57249 1025499867
1 f none mysql/help/dbs.ca.html 0600 root bin 539 49108 1025499868
1 f none mysql/help/dbs.es.html 0600 root bin 551 51695 1025499867
1 f none mysql/help/dbs.html 0600 root bin 486 44736 1025499867
1 f none mysql/help/dbs.sv.html 0600 root bin 469 46295 1025499867
1 f none mysql/help/dbs.zh_TW.Big5.html 0600 root bin 357 52733 1025499867
1 f none mysql/help/edit_cpriv.ca.html 0600 root bin 345 31944 1025499868
1 f none mysql/help/edit_cpriv.es.html 0600 root bin 343 31359 1025499867
1 f none mysql/help/edit_cpriv.html 0600 root bin 309 27736 1025499867
1 f none mysql/help/edit_cpriv.sv.html 0600 root bin 296 29033 1025499867
1 f none mysql/help/edit_cpriv.zh_TW.Big5.html 0600 root bin 216 28715 1025499867
1 f none mysql/help/edit_db.ca.html 0600 root bin 358 32757 1025499868
1 f none mysql/help/edit_db.es.html 0600 root bin 359 32777 1025499867
1 f none mysql/help/edit_db.html 0600 root bin 310 27848 1025499867
1 f none mysql/help/edit_db.sv.html 0600 root bin 296 28897 1025499867
1 f none mysql/help/edit_db.zh_TW.Big5.html 0600 root bin 216 28865 1025499867
1 f none mysql/help/edit_dbase.ca.html 0600 root bin 522 46369 1025499868
1 f none mysql/help/edit_dbase.es.html 0600 root bin 506 45361 1025499867
1 f none mysql/help/edit_dbase.html 0600 root bin 423 37518 1025499867
1 f none mysql/help/edit_dbase.sv.html 0600 root bin 446 42636 1025499867
1 f none mysql/help/edit_dbase.zh_TW.Big5.html 0600 root bin 304 45974 1025499867
1 f none mysql/help/edit_field.ca.html 0600 root bin 427 38740 1025499868
1 f none mysql/help/edit_field.es.html 0600 root bin 398 36390 1025499867
1 f none mysql/help/edit_field.html 0600 root bin 358 31732 1025499867
1 f none mysql/help/edit_field.sv.html 0600 root bin 316 30510 1025499867
1 f none mysql/help/edit_field.zh_TW.Big5.html 0600 root bin 258 36839 1025499867
1 f none mysql/help/edit_table.ca.html 0600 root bin 630 56849 1025499868
1 f none mysql/help/edit_table.es.html 0600 root bin 623 57042 1025499867
1 f none mysql/help/edit_table.html 0600 root bin 549 49176 1025499867
1 f none mysql/help/edit_table.sv.html 0600 root bin 532 51846 1025499867
1 f none mysql/help/edit_table.zh_TW.Big5.html 0600 root bin 372 57953 1025499867
1 f none mysql/help/edit_tpriv.ca.html 0600 root bin 343 31745 1025499868
1 f none mysql/help/edit_tpriv.es.html 0600 root bin 356 32666 1025499867
1 f none mysql/help/edit_tpriv.html 0600 root bin 308 27623 1025499867
1 f none mysql/help/edit_tpriv.sv.html 0600 root bin 298 29090 1025499867
1 f none mysql/help/edit_tpriv.zh_TW.Big5.html 0600 root bin 220 29470 1025499867
1 f none mysql/help/edit_user.ca.html 0600 root bin 296 26853 1025499868
1 f none mysql/help/edit_user.es.html 0600 root bin 303 27196 1025499867
1 f none mysql/help/edit_user.html 0600 root bin 268 23530 1025499867
1 f none mysql/help/edit_user.sv.html 0600 root bin 271 26174 1025499867
1 f none mysql/help/edit_user.zh_TW.Big5.html 0600 root bin 213 27268 1025499867
1 f none mysql/help/exec_form.ca.html 0600 root bin 249 23707 1025499868
1 f none mysql/help/exec_form.es.html 0600 root bin 260 24162 1025499867
1 f none mysql/help/exec_form.html 0600 root bin 203 18090 1025499867
1 f none mysql/help/exec_form.sv.html 0600 root bin 215 20241 1025499867
1 f none mysql/help/exec_form.zh_TW.Big5.html 0600 root bin 180 22733 1025499867
1 f none mysql/help/field.ca.html 0600 root bin 945 17852 1025499868
1 f none mysql/help/field.es.html 0600 root bin 983 22252 1025499867
1 f none mysql/help/field.html 0600 root bin 904 14001 1025499867
1 f none mysql/help/field.sv.html 0600 root bin 883 18208 1025499867
1 f none mysql/help/field.zh_TW.Big5.html 0600 root bin 632 18126 1025499867
1 f none mysql/help/intro.ca.html 0600 root bin 796 7518 1025499868
1 f none mysql/help/intro.es.html 0600 root bin 837 11714 1025499867
1 f none mysql/help/intro.html 0600 root bin 699 63800 1025499867
1 f none mysql/help/intro.sv.html 0600 root bin 715 4207 1025499867
1 f none mysql/help/intro.zh_TW.Big5.html 0600 root bin 484 5331 1025499867
1 f none mysql/help/newdb_form.ca.html 0600 root bin 373 32745 1025499868
1 f none mysql/help/newdb_form.es.html 0600 root bin 393 35129 1025499867
1 f none mysql/help/newdb_form.html 0600 root bin 344 30615 1025499867
1 f none mysql/help/newdb_form.sv.html 0600 root bin 292 27182 1025499867
1 f none mysql/help/newdb_form.zh_TW.Big5.html 0600 root bin 249 37472 1025499867
1 f none mysql/help/table_form.ca.html 0600 root bin 369 32823 1025499868
1 f none mysql/help/table_form.es.html 0600 root bin 393 35354 1025499867
1 f none mysql/help/table_form.html 0600 root bin 345 30464 1025499867
1 f none mysql/help/table_form.sv.html 0600 root bin 306 28850 1025499867
1 f none mysql/help/table_form.zh_TW.Big5.html 0600 root bin 256 38915 1025499867
1 f none mysql/help/tpriv.ca.html 0600 root bin 660 58706 1025499868
1 f none mysql/help/tpriv.es.html 0600 root bin 664 59256 1025499867
1 f none mysql/help/tpriv.html 0600 root bin 614 54166 1025499867
1 f none mysql/help/tpriv.sv.html 0600 root bin 526 51452 1025499867
1 f none mysql/help/tpriv.zh_TW.Big5.html 0600 root bin 410 56879 1025499867
1 f none mysql/help/tprivs.ca.html 0600 root bin 673 62594 1025499868
1 f none mysql/help/tprivs.es.html 0600 root bin 687 63607 1025499867
1 f none mysql/help/tprivs.html 0600 root bin 595 54084 1025499867
1 f none mysql/help/tprivs.sv.html 0600 root bin 550 54119 1025499867
1 f none mysql/help/tprivs.zh_TW.Big5.html 0600 root bin 351 52647 1025499867
1 f none mysql/help/user.ca.html 0600 root bin 863 11025 1025499868
1 f none mysql/help/user.es.html 0600 root bin 923 16990 1025499867
1 f none mysql/help/user.html 0600 root bin 787 2723 1025499867
1 f none mysql/help/user.sv.html 0600 root bin 792 8332 1025499867
1 f none mysql/help/user.zh_TW.Big5.html 0600 root bin 532 3731 1025499867
1 f none mysql/help/users.ca.html 0600 root bin 626 57743 1025499868
1 f none mysql/help/users.es.html 0600 root bin 637 58558 1025499867
1 f none mysql/help/users.html 0600 root bin 549 49754 1025499867
1 f none mysql/help/users.sv.html 0600 root bin 503 50304 1025499867
1 f none mysql/help/users.zh_TW.Big5.html 0600 root bin 363 53693 1025499867
1 d none mysql/images 0700 root bin
1 f none mysql/images/cprivs.gif 0600 root bin 399 49837 1025499867
1 f none mysql/images/db.gif 0600 root bin 462 58683 1025499867
1 f none mysql/images/dbs.gif 0600 root bin 507 62354 1025499867
1 f none mysql/images/delete.gif 0600 root bin 66 4724 1025499867
1 f none mysql/images/edit.gif 0600 root bin 60 4152 1025499867
1 f none mysql/images/hosts.gif 0600 root bin 412 49712 1025499867
1 f none mysql/images/icon.gif 0600 root bin 1370 5187 1025499867
1 f none mysql/images/mysql.gif 0600 root bin 2371 12001 1025499867
1 f none mysql/images/table.gif 0600 root bin 366 49508 1025499867
1 f none mysql/images/tprivs.gif 0600 root bin 447 56041 1025499867
1 f none mysql/images/users.gif 0600 root bin 293 35470 1025499867
1 f none mysql/import.cgi 0700 root bin 1637 2434 1025499868
1 f none mysql/index.cgi 0700 root bin 4818 58398 1025499868
1 d none mysql/lang 0700 root bin
1 f none mysql/lang/ca 0600 root bin 17991 38608 1025499867
1 f none mysql/lang/cz 0600 root bin 10353 61552 1025499867
1 f none mysql/lang/de 0600 root bin 11608 50801 1025499867
1 f none mysql/lang/en 0600 root bin 15509 3210 1025499867
1 f none mysql/lang/es 0600 root bin 17256 46110 1025499867
1 f none mysql/lang/he 0600 root bin 11465 41092 1025499867
1 f none mysql/lang/hu 0600 root bin 14727 24590 1025499867
1 f none mysql/lang/it 0600 root bin 8843 51862 1025499867
1 f none mysql/lang/ja_JP.euc 0600 root bin 14936 5295 1025499867
1 f none mysql/lang/ko_KR.euc 0600 root bin 13552 53553 1025499867
1 f none mysql/lang/pl 0600 root bin 16880 53996 1025499867
1 f none mysql/lang/sv 0600 root bin 15345 54199 1025499867
1 f none mysql/lang/tr 0600 root bin 12492 46721 1025499867
1 f none mysql/lang/zh_CN 0600 root bin 8848 4555 1025499867
1 f none mysql/lang/zh_TW.Big5 0600 root bin 7355 35187 1025499867
1 f none mysql/list_cprivs.cgi 0700 root bin 1829 13209 1025499868
1 f none mysql/list_dbs.cgi 0700 root bin 1547 53760 1025499867
1 f none mysql/list_hosts.cgi 0700 root bin 1409 45685 1025499868
1 f none mysql/list_tprivs.cgi 0700 root bin 1828 12721 1025499867
1 f none mysql/list_users.cgi 0700 root bin 2237 51783 1025499868
1 f none mysql/log_parser.pl 0600 root bin 2227 44086 1025499868
1 f none mysql/login.cgi 0700 root bin 524 45282 1025499867
1 f none mysql/module.info 0600 root bin 515 51944 1025499882
1 f none mysql/mysql-lib.pl 0600 root bin 7524 53711 1025499867
1 f none mysql/newdb.cgi 0700 root bin 1229 31941 1025499868
1 f none mysql/newdb_form.cgi 0700 root bin 1536 61776 1025499867
1 f none mysql/save_cpriv.cgi 0700 root bin 2713 12317 1025499867
1 f none mysql/save_db.cgi 0700 root bin 2594 61958 1025499867
1 f none mysql/save_field.cgi 0700 root bin 3067 47087 1025499868
1 f none mysql/save_host.cgi 0700 root bin 2161 32837 1025499868
1 f none mysql/save_sync.cgi 0700 root bin 398 35044 1025499868
1 f none mysql/save_tpriv.cgi 0700 root bin 2614 5245 1025499867
1 f none mysql/save_user.cgi 0700 root bin 2683 11612 1025499867
1 f none mysql/start.cgi 0700 root bin 335 27452 1025499868
1 f none mysql/stop.cgi 0700 root bin 378 31294 1025499867
1 f none mysql/table_form.cgi 0700 root bin 2188 48556 1025499868
1 f none mysql/useradmin_update.pl 0600 root bin 2758 28688 1025499868
1 f none mysql/view_table.cgi 0700 root bin 11080 63754 1025499867
1 d none net 0700 root bin
1 f none net/acl_security.pl 0600 root bin 1929 28359 1025499863
1 f none net/cobalt-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/config-cobalt-linux 0600 root bin 22 2114 1025499863
1 f none net/config-debian-linux 0600 root bin 22 2114 1025499863
1 f none net/config-freebsd 0600 root bin 22 2114 1025499863
1 f none net/config-lfs-linux 0600 root bin 22 2114 1025499862
1 f none net/config-mandrake-linux 0600 root bin 22 2114 1025499863
1 f none net/config-msc-linux 0600 root bin 22 2114 1025499863
1 f none net/config-netbsd 0600 root bin 22 2114 1025499863
1 f none net/config-open-linux 0600 root bin 22 2114 1025499862
1 f none net/config-openbsd 0600 root bin 22 2114 1025499863
1 f none net/config-redhat-linux 0600 root bin 22 2114 1025499863
1 f none net/config-solaris 0600 root bin 22 2114 1025499863
1 f none net/config-suse-linux 0600 root bin 22 2114 1025499863
1 f none net/config-turbo-linux 0600 root bin 22 2114 1025499862
1 f none net/config-unixware 0600 root bin 22 2114 1025499863
1 f none net/config.info 0600 root bin 46 4335 1025499863
1 f none net/config.info.ca 0600 root bin 57 5126 1025499863
1 f none net/config.info.de 0600 root bin 64 5979 1025499863
1 f none net/config.info.es 0600 root bin 61 5919 1025499862
1 f none net/config.info.fr 0600 root bin 52 4872 1025499863
1 f none net/config.info.ja_JP.euc 0600 root bin 50 7833 1025499863
1 f none net/config.info.pl 0600 root bin 71 6775 1025499863
1 f none net/config.info.ru_RU 0600 root bin 46 7727 1025499863
1 f none net/config.info.ru_SU 0600 root bin 46 6970 1025499862
1 f none net/config.info.sv 0600 root bin 42 3880 1025499863
1 f none net/config.info.tr 0600 root bin 62 6401 1025499863
1 f none net/config.info.zh_CN 0600 root bin 34 5205 1025499862
1 f none net/config.info.zh_TW.Big5 0600 root bin 34 4644 1025499863
1 f none net/debian-linux-lib.pl 0600 root bin 16968 32449 1025499863
1 f none net/defaultacl 0600 root bin 30 2465 1025499863
1 f none net/edit_aifc.cgi 0700 root bin 3917 51701 1025499863
1 f none net/edit_bifc.cgi 0700 root bin 4094 62012 1025499863
1 f none net/edit_host.cgi 0700 root bin 1308 45200 1025499863
1 f none net/feedback_files.pl 0600 root bin 76 6212 1025499863
1 f none net/freebsd-lib.pl 0600 root bin 10809 58759 1025499863
1 d none net/images 0700 root bin
1 f none net/images/dns.gif 0600 root bin 374 42949 1025499863
1 f none net/images/hosts.gif 0600 root bin 307 35512 1025499863
1 f none net/images/icon.gif 0600 root bin 364 43854 1025499863
1 f none net/images/ifcs.gif 0600 root bin 362 43063 1025499863
1 f none net/images/routes.gif 0600 root bin 315 37774 1025499863
1 f none net/index.cgi 0700 root bin 513 42164 1025499863
1 d none net/lang 0700 root bin
1 f none net/lang/ca 0600 root bin 4911 13001 1025499863
1 f none net/lang/cz 0600 root bin 3061 29138 1025499863
1 f none net/lang/de 0600 root bin 5814 14072 1025499863
1 f none net/lang/en 0600 root bin 4388 16569 1025499863
1 f none net/lang/es 0600 root bin 4792 586 1025499863
1 f none net/lang/fr 0600 root bin 4902 11995 1025499863
1 f none net/lang/ja_JP.euc 0600 root bin 4152 9580 1025499863
1 f none net/lang/ko_KR.euc 0600 root bin 3693 57438 1025499863
1 f none net/lang/pl 0600 root bin 4693 64966 1025499863
1 f none net/lang/pt 0600 root bin 3304 58301 1025499863
1 f none net/lang/ru_RU 0600 root bin 3446 57843 1025499863
1 f none net/lang/ru_SU 0600 root bin 3452 4421 1025499863
1 f none net/lang/sv 0600 root bin 3932 52301 1025499863
1 f none net/lang/tr 0600 root bin 3874 4207 1025499863
1 f none net/lang/zh_CN 0600 root bin 2728 46686 1025499863
1 f none net/lang/zh_TW.Big5 0600 root bin 2605 8615 1025499863
1 f none net/list_dns.cgi 0700 root bin 1469 57412 1025499863
1 f none net/list_hosts.cgi 0700 root bin 996 14820 1025499863
1 f none net/list_ifcs.cgi 0700 root bin 3157 48743 1025499863
1 f none net/list_routes.cgi 0700 root bin 600 51310 1025499863
1 f none net/log_parser.pl 0600 root bin 725 60646 1025499863
1 f none net/mandrake-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/module.info 0600 root bin 1171 48940 1025499882
1 f none net/msc-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/net-lib.pl 0600 root bin 1454 49805 1025499863
1 f none net/netbsd-lib.pl 0600 root bin 10804 58254 1025499863
1 f none net/open-linux-lib.pl 0600 root bin 11572 8588 1025499863
1 f none net/openbsd-lib.pl 0600 root bin 12990 33528 1025499863
1 f none net/redhat-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/save_aifc.cgi 0700 root bin 2689 10612 1025499862
1 f none net/save_bifc.cgi 0700 root bin 2808 19517 1025499863
1 f none net/save_dns.cgi 0700 root bin 883 5059 1025499862
1 f none net/save_host.cgi 0700 root bin 1144 26535 1025499863
1 f none net/save_routes.cgi 0700 root bin 289 25170 1025499863
1 f none net/slackware-linux-lib.pl 0600 root bin 2441 60195 1025499863
1 f none net/solaris-lib.pl 0600 root bin 10723 47866 1025499863
1 f none net/suse-linux-8.0-lib.pl 0600 root bin 13433 8811 1025499863
1 f none net/suse-linux-lib.pl 0600 root bin 15130 59924 1025499862
1 f none net/turbo-linux-lib.pl 0600 root bin 14214 23637 1025499863
1 f none net/unixware-lib.pl 0600 root bin 10429 25659 1025499863
1 f none newmods.pl 0700 root bin 582 42068 1025499831
1 d none nis 0700 root bin
1 f none nis/build.cgi 0700 root bin 168 14175 1025499875
1 f none nis/config-debian-linux 0600 root bin 167 15897 1025499875
1 f none nis/config-generic-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-mandrake-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-msc-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-open-linux 0600 root bin 164 15560 1025499875
1 f none nis/config-redhat-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-slackware-linux 0600 root bin 163 15463 1025499875
1 f none nis/config-solaris 0600 root bin 167 16089 1025499875
1 f none nis/config-solaris-8 0600 root bin 199 19277 1025499875
1 f none nis/config-solaris-9 0600 root bin 199 19277 1025499875
1 f none nis/config-suse-linux 0600 root bin 163 15463 1025499875
1 f none nis/config.info 0600 root bin 260 24031 1025499875
1 f none nis/config.info.ca 0600 root bin 291 27345 1025499875
1 f none nis/config.info.es 0600 root bin 193 18344 1025499875
1 f none nis/config.info.pl 0600 root bin 299 28736 1025499875
1 f none nis/config.info.sv 0600 root bin 163 16195 1025499875
1 f none nis/debian-linux-lib.pl 0600 root bin 13361 22301 1025499875
1 f none nis/edit_aliases.cgi 0700 root bin 1221 37529 1025499875
1 f none nis/edit_client.cgi 0700 root bin 1311 45251 1025499875
1 f none nis/edit_ethers.cgi 0700 root bin 1156 32277 1025499875
1 f none nis/edit_group.cgi 0700 root bin 1840 24729 1025499875
1 f none nis/edit_group_shadow.cgi 0700 root bin 1866 27236 1025499875
1 f none nis/edit_hosts.cgi 0700 root bin 1330 46591 1025499875
1 f none nis/edit_netgroup.cgi 0700 root bin 2048 34221 1025499875
1 f none nis/edit_netmasks.cgi 0700 root bin 1180 34929 1025499875
1 f none nis/edit_networks.cgi 0700 root bin 1369 50907 1025499875
1 f none nis/edit_passwd.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_passwd_shadow.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_passwd_shadow_full.cgi 0700 root bin 4889 6137 1025499875
1 f none nis/edit_protocols.cgi 0700 root bin 1369 51203 1025499875
1 f none nis/edit_rpc.cgi 0700 root bin 1317 44960 1025499875
1 f none nis/edit_security.cgi 0700 root bin 1809 8328 1025499875
1 f none nis/edit_server.cgi 0700 root bin 604 50433 1025499875
1 f none nis/edit_services.cgi 0700 root bin 1544 64303 1025499875
1 f none nis/edit_services2.cgi 0700 root bin 1546 64331 1025499875
1 f none nis/edit_switch.cgi 0700 root bin 1672 60660 1025499875
1 f none nis/edit_tables.cgi 0700 root bin 6365 38620 1025499875
1 f none nis/feedback_files.pl 0600 root bin 157 12964 1025499875
1 d none nis/images 0700 root bin
1 f none nis/images/client.gif 0600 root bin 272 33549 1025499875
1 f none nis/images/icon.gif 0600 root bin 413 46276 1025499875
1 f none nis/images/security.gif 0600 root bin 275 34570 1025499875
1 f none nis/images/server.gif 0600 root bin 415 48303 1025499875
1 f none nis/images/switch.gif 0600 root bin 282 35935 1025499875
1 f none nis/images/tables.gif 0600 root bin 366 49508 1025499875
1 f none nis/index.cgi 0700 root bin 778 62968 1025499875
1 d none nis/lang 0700 root bin
1 f none nis/lang/ca 0600 root bin 9942 39532 1025499875
1 f none nis/lang/en 0600 root bin 8982 6916 1025499875
1 f none nis/lang/es 0600 root bin 9787 25766 1025499875
1 f none nis/lang/fr 0600 root bin 10322 18002 1025499875
1 f none nis/lang/ja_JP.euc 0600 root bin 9335 1937 1025499875
1 f none nis/lang/ko_KR.euc 0600 root bin 8430 38373 1025499875
1 f none nis/lang/pl 0600 root bin 9978 228 1025499875
1 f none nis/lang/sv 0600 root bin 9608 38854 1025499875
1 f none nis/lang/zh_TW.Big5 0600 root bin 7612 18996 1025499875
1 f none nis/mandrake-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/module.info 0600 root bin 460 48023 1025499882
1 f none nis/msc-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/nis-lib.pl 0600 root bin 7104 19413 1025499875
1 f none nis/nisupdate.conf 0600 root bin 1982 36044 1025499875
1 f none nis/old_edit_passwd_shadow.cgi 0700 root bin 4715 61163 1025499875
1 f none nis/open-linux-lib.pl 0600 root bin 10943 12637 1025499875
1 f none nis/redhat-linux-lib.pl 0600 root bin 13539 44306 1025499875
1 f none nis/save_aliases.cgi 0700 root bin 755 61038 1025499875
1 f none nis/save_client.cgi 0700 root bin 669 54815 1025499875
1 f none nis/save_ethers.cgi 0700 root bin 768 62888 1025499875
1 f none nis/save_file.cgi 0700 root bin 562 44952 1025499875
1 f none nis/save_group.cgi 0700 root bin 945 8697 1025499875
1 f none nis/save_group_shadow.cgi 0700 root bin 1064 17685 1025499875
1 f none nis/save_hosts.cgi 0700 root bin 764 62401 1025499875
1 f none nis/save_netgroup.cgi 0700 root bin 1076 18722 1025499875
1 f none nis/save_netmasks.cgi 0700 root bin 759 63279 1025499875
1 f none nis/save_networks.cgi 0700 root bin 797 518 1025499875
1 f none nis/save_passwd_shadow.cgi 0700 root bin 2466 61345 1025499875
1 f none nis/save_protocols.cgi 0700 root bin 812 1905 1025499875
1 f none nis/save_rpc.cgi 0700 root bin 752 61179 1025499875
1 f none nis/save_security.cgi 0700 root bin 822 64446 1025499875
1 f none nis/save_server.cgi 0700 root bin 190 16372 1025499875
1 f none nis/save_services.cgi 0700 root bin 781 64370 1025499875
1 f none nis/save_services2.cgi 0700 root bin 782 64420 1025499875
1 f none nis/save_switch.cgi 0700 root bin 539 42772 1025499875
1 f none nis/slackware-linux-lib.pl 0600 root bin 13140 7041 1025499875
1 f none nis/solaris-lib.pl 0600 root bin 9949 15296 1025499875
1 f none nis/suse-linux-lib.pl 0600 root bin 15147 29370 1025499875
1 f none os_list.txt 0600 root bin 13200 36944 1025499831
1 f none oschooser.pl 0600 root bin 2682 10333 1025499831
1 d none pam 0700 root bin
1 f none pam/config-cobalt-linux 0600 root bin 251 24204 1025499874
1 f none pam/config-corel-linux 0600 root bin 240 23294 1025499874
1 f none pam/config-debian-linux 0600 root bin 240 23294 1025499874
1 f none pam/config-generic-linux 0600 root bin 252 24318 1025499875
1 f none pam/config-gentoo-linux 0600 root bin 240 23294 1025499875
1 f none pam/config-mandrake-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-msc-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-open-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-redhat-linux 0600 root bin 252 24318 1025499874
1 f none pam/config-suse-linux 0600 root bin 252 24456 1025499874
1 f none pam/config-turbo-linux 0600 root bin 252 24318 1025499874
1 f none pam/config.info 0600 root bin 163 15043 1025499874
1 f none pam/config.info.ca 0600 root bin 172 15864 1025499875
1 f none pam/config.info.es 0600 root bin 181 16914 1025499874
1 f none pam/config.info.pl 0600 root bin 157 14745 1025499874
1 f none pam/config.info.sv 0600 root bin 173 16230 1025499874
1 f none pam/create_form.cgi 0700 root bin 1014 20589 1025499874
1 f none pam/create_pam.cgi 0700 root bin 1780 1412 1025499874
1 f none pam/delete_pam.cgi 0700 root bin 286 23041 1025499874
1 f none pam/edit_mod.cgi 0700 root bin 2611 11720 1025499874
1 f none pam/edit_pam.cgi 0700 root bin 2933 31166 1025499874
1 f none pam/feedback_files.pl 0600 root bin 182 14689 1025499875
1 d none pam/images 0700 root bin
1 f none pam/images/down.gif 0600 root bin 108 8892 1025499874
1 f none pam/images/gap.gif 0600 root bin 73 6048 1025499874
1 f none pam/images/icon.gif 0600 root bin 275 34570 1025499874
1 f none pam/images/up.gif 0600 root bin 103 9086 1025499874
1 f none pam/index.cgi 0700 root bin 1348 41680 1025499874
1 d none pam/lang 0700 root bin
1 f none pam/lang/ca 0600 root bin 9228 34292 1025499874
1 f none pam/lang/en 0600 root bin 8019 41072 1025499874
1 f none pam/lang/es 0600 root bin 9423 54086 1025499874
1 f none pam/lang/fr 0600 root bin 10035 52904 1025499874
1 f none pam/lang/ja_JP.euc 0600 root bin 8233 22532 1025499874
1 f none pam/lang/ja_JP.jis 0600 root bin 8233 18425 1025499874
1 f none pam/lang/ko_KR.euc 0600 root bin 7259 30528 1025499874
1 f none pam/lang/pl 0600 root bin 9281 1833 1025499874
1 f none pam/lang/sv 0600 root bin 8316 40678 1025499874
1 f none pam/lang/zh_TW.Big5 0600 root bin 6694 30568 1025499874
1 f none pam/log_parser.pl 0600 root bin 818 467 1025499874
1 f none pam/module.info 0600 root bin 464 44053 1025499882
1 f none pam/move.cgi 0700 root bin 592 46501 1025499874
1 f none pam/pam-lib.pl 0600 root bin 2773 19689 1025499874
1 f none pam/pam_cracklib.so.pl 0600 root bin 1156 31546 1025499874
1 f none pam/pam_deny.so.pl 0600 root bin 51 4181 1025499874
1 f none pam/pam_env.so.pl 0600 root bin 1600 55957 1025499874
1 f none pam/pam_filter.so.pl 0600 root bin 53 4395 1025499874
1 f none pam/pam_group.so.pl 0600 root bin 1585 60372 1025499874
1 f none pam/pam_listfile.so.pl 0600 root bin 2286 56346 1025499874
1 f none pam/pam_mail.so.pl 0600 root bin 2177 46694 1025499874
1 f none pam/pam_motd.so.pl 0600 root bin 770 63947 1025499874
1 f none pam/pam_nologin.so.pl 0600 root bin 54 4507 1025499874
1 f none pam/pam_permit.so.pl 0600 root bin 53 4406 1025499874
1 f none pam/pam_pwdb.so.pl 0600 root bin 1678 6370 1025499874
1 f none pam/pam_rhosts_auth.so.pl 0600 root bin 1773 19801 1025499874
1 f none pam/pam_rootok.so.pl 0600 root bin 53 4419 1025499874
1 f none pam/pam_securetty.so.pl 0600 root bin 603 51028 1025499874
1 f none pam/pam_shells.so.pl 0600 root bin 601 50548 1025499874
1 f none pam/pam_stack.so.pl 0600 root bin 714 58222 1025499874
1 f none pam/pam_tally.so.pl 0600 root bin 2121 44967 1025499874
1 f none pam/pam_time.so.pl 0600 root bin 1425 47128 1025499874
1 f none pam/pam_wheel.so.pl 0600 root bin 1477 57315 1025499874
1 f none pam/save_mod.cgi 0700 root bin 1601 53797 1025499874
1 f none pam/template.pl 0600 root bin 162 14372 1025499874
1 d none pap 0700 root bin
1 f none pap/config-corel-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-debian-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-freebsd 0600 root bin 45 4249 1025499856
1 f none pap/config-generic-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-gentoo-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-mandrake-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-msc-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-open-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-redhat-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-slackware-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-suse-linux 0600 root bin 45 4249 1025499856
1 f none pap/config-turbo-linux 0600 root bin 45 4249 1025499856
1 f none pap/config.info 0600 root bin 89 7970 1025499856
1 f none pap/config.info.ca 0600 root bin 104 9430 1025499856
1 f none pap/config.info.de 0600 root bin 125 11263 1025499856
1 f none pap/config.info.es 0600 root bin 113 10146 1025499856
1 f none pap/config.info.fr 0600 root bin 104 9181 1025499856
1 f none pap/config.info.pl 0600 root bin 84 7595 1025499856
1 f none pap/config.info.sv 0600 root bin 104 9726 1025499856
1 f none pap/config.info.tr 0600 root bin 105 10166 1025499856
1 f none pap/config.info.zh_CN 0600 root bin 75 10385 1025499856
1 f none pap/config.info.zh_TW.Big5 0600 root bin 75 8418 1025499856
1 f none pap/edit_secret.cgi 0700 root bin 3259 5979 1025499856
1 d none pap/images 0700 root bin
1 f none pap/images/icon.gif 0600 root bin 279 33204 1025499856
1 f none pap/index.cgi 0700 root bin 2049 33263 1025499856
1 d none pap/lang 0700 root bin
1 f none pap/lang/ca 0600 root bin 1705 31001 1025499856
1 f none pap/lang/de 0600 root bin 2411 20261 1025499856
1 f none pap/lang/en 0600 root bin 1520 11228 1025499856
1 f none pap/lang/es 0600 root bin 1701 29819 1025499856
1 f none pap/lang/ja_JP.euc 0600 root bin 1633 32769 1025499856
1 f none pap/lang/ja_JP.jis 0600 root bin 1633 59572 1025499856
1 f none pap/lang/ko_KR.euc 0600 root bin 1464 65111 1025499856
1 f none pap/lang/pl 0600 root bin 1728 40186 1025499856
1 f none pap/lang/sv 0600 root bin 1588 24404 1025499856
1 f none pap/lang/zh_CN 0600 root bin 1254 34247 1025499856
1 f none pap/lang/zh_TW.Big5 0600 root bin 1223 17944 1025499856
1 f none pap/log_parser.pl 0600 root bin 678 57039 1025499856
1 f none pap/module.info 0600 root bin 756 11426 1025499882
1 f none pap/pap-lib.pl 0600 root bin 1627 61425 1025499856
1 f none pap/save_secret.cgi 0700 root bin 1410 48606 1025499856
1 f none pap/save_sync.cgi 0700 root bin 493 42266 1025499856
1 f none pap/useradmin_update.pl 0600 root bin 1474 55080 1025499856
1 d none passwd 0700 root bin
1 f none passwd/acl_security.pl 0600 root bin 3185 59066 1025499875
1 f none passwd/config 0600 root bin 39 3515 1025499875
1 f none passwd/config.info 0600 root bin 229 21169 1025499875
1 f none passwd/config.info.ca 0600 root bin 284 26384 1025499875
1 f none passwd/config.info.de 0600 root bin 281 25901 1025499875
1 f none passwd/config.info.es 0600 root bin 210 19598 1025499875
1 f none passwd/config.info.nl 0600 root bin 183 17163 1025499876
1 f none passwd/config.info.pl 0600 root bin 221 22468 1025499875
1 f none passwd/config.info.zh_TW.Big5 0600 root bin 135 19190 1025499876
1 f none passwd/defaultacl 0600 root bin 49 4123 1025499875
1 f none passwd/edit_passwd.cgi 0700 root bin 1493 59611 1025499875
1 d none passwd/images 0700 root bin
1 f none passwd/images/icon.gif 0600 root bin 304 36662 1025499875
1 f none passwd/index.cgi 0700 root bin 2607 9292 1025499875
1 d none passwd/lang 0700 root bin
1 f none passwd/lang/ca 0600 root bin 1702 31482 1025499875
1 f none passwd/lang/de 0600 root bin 2348 12762 1025499875
1 f none passwd/lang/en 0600 root bin 1439 4901 1025499875
1 f none passwd/lang/es 0600 root bin 1659 25459 1025499875
1 f none passwd/lang/fr 0600 root bin 1816 42398 1025499875
1 f none passwd/lang/hu 0600 root bin 1579 37010 1025499875
1 f none passwd/lang/nl 0600 root bin 1689 31750 1025499875
1 f none passwd/lang/pl 0600 root bin 1520 24035 1025499875
1 f none passwd/lang/zh_TW.Big5 0600 root bin 1136 20603 1025499875
1 f none passwd/log_parser.pl 0600 root bin 423 36331 1025499875
1 f none passwd/module.info 0600 root bin 248 23696 1025499882
1 f none passwd/passwd-lib.pl 0600 root bin 816 63665 1025499875
1 f none passwd/save_passwd.cgi 0700 root bin 3441 14033 1025499875
1 f none perlpath.pl 0600 root bin 573 43086 1025499831
1 i pkginfo 214 18093 1025505519
1 d none postfix 0700 root bin
1 f none postfix/acl_security.pl 0600 root bin 5302 47655 1025499869
1 f none postfix/address_rewriting.cgi 0700 root bin 1793 25682 1025499869
1 f none postfix/aliases.cgi 0700 root bin 2525 14950 1025499869
1 f none postfix/canonical.cgi 0700 root bin 1981 41673 1025499869
1 f none postfix/canonical_edit.cgi 0700 root bin 1303 46828 1025499869
1 f none postfix/config 0600 root bin 269 26913 1025499869
1 f none postfix/config-freebsd 0600 root bin 303 30156 1025499869
1 f none postfix/config-mandrake-linux 0600 root bin 269 26913 1025499869
1 f none postfix/config-msc-linux 0600 root bin 269 26913 1025499869
1 f none postfix/config-netbsd 0600 root bin 269 26913 1025499869
1 f none postfix/config.info 0600 root bin 453 43470 1025499869
1 f none postfix/config.info.ca 0600 root bin 524 50657 1025499869
1 f none postfix/config.info.de 0600 root bin 507 49225 1025499869
1 f none postfix/config.info.es 0600 root bin 454 43571 1025499869
1 f none postfix/config.info.fr 0600 root bin 590 57721 1025499869
1 f none postfix/config.info.pl 0600 root bin 541 54283 1025499869
1 f none postfix/config.info.sv 0600 root bin 532 55163 1025499869
1 f none postfix/config.info.tr 0600 root bin 442 43988 1025499869
1 f none postfix/config.info.zh_CN 0600 root bin 350 45538 1025499869
1 f none postfix/config.info.zh_TW.Big5 0600 root bin 397 48480 1025499869
1 f none postfix/debug.cgi 0700 root bin 1472 60762 1025499868
1 f none postfix/defaultacl 0600 root bin 176 15669 1025499868
1 f none postfix/edit_alias.cgi 0700 root bin 1747 16195 1025499868
1 f none postfix/edit_canonical_mappings.cgi 0700 root bin 1716 14934 1025499868
1 f none postfix/edit_mapping.cgi 0700 root bin 1814 22260 1025499869
1 f none postfix/general.cgi 0700 root bin 4405 53118 1025499869
1 d none postfix/help 0700 root bin
1 f none postfix/help/aliases.ca.html 0600 root bin 1058 28451 1025499869
1 f none postfix/help/aliases.es.html 0600 root bin 1194 42268 1025499869
1 f none postfix/help/aliases.html 0600 root bin 1058 28451 1025499869
1 f none postfix/help/aliases.pl.html 0600 root bin 1252 54805 1025499869
1 f none postfix/help/aliases.sv.html 0600 root bin 1140 40407 1025499869
1 f none postfix/help/canonical.ca.html 0600 root bin 2567 33175 1025499869
1 f none postfix/help/canonical.es.html 0600 root bin 2827 63324 1025499869
1 f none postfix/help/canonical.html 0600 root bin 2567 33175 1025499869
1 f none postfix/help/canonical.pl.html 0600 root bin 3091 36598 1025499869
1 f none postfix/help/canonical.sv.html 0600 root bin 2749 6374 1025499869
1 f none postfix/help/general_opts.ca.html 0600 root bin 368 33798 1025499869
1 f none postfix/help/general_opts.es.html 0600 root bin 433 40965 1025499869
1 f none postfix/help/general_opts.html 0600 root bin 368 33798 1025499869
1 f none postfix/help/general_opts.pl.html 0600 root bin 417 41945 1025499869
1 f none postfix/help/general_opts.sv.html 0600 root bin 358 34920 1025499869
1 f none postfix/help/intro.ca.html 0600 root bin 508 45962 1025499869
1 f none postfix/help/intro.es.html 0600 root bin 600 55967 1025499869
1 f none postfix/help/intro.html 0600 root bin 508 45962 1025499869
1 f none postfix/help/intro.pl.html 0600 root bin 571 56420 1025499869
1 f none postfix/help/intro.sv.html 0600 root bin 569 54859 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.ca.html 0600 root bin 244 22023 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.es.html 0600 root bin 296 26377 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.html 0600 root bin 244 22023 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.pl.html 0600 root bin 304 29029 1025499869
1 f none postfix/help/opt_2bounce_notice_recipient.sv.html 0600 root bin 235 21753 1025499869
1 f none postfix/help/opt_access_map_reject_code.ca.html 0600 root bin 308 27577 1025499869
1 f none postfix/help/opt_access_map_reject_code.es.html 0600 root bin 324 29159 1025499869
1 f none postfix/help/opt_access_map_reject_code.html 0600 root bin 308 27577 1025499869
1 f none postfix/help/opt_access_map_reject_code.pl.html 0600 root bin 289 26813 1025499869
1 f none postfix/help/opt_access_map_reject_code.sv.html 0600 root bin 278 26934 1025499869
1 f none postfix/help/opt_alias_database.ca.html 0600 root bin 603 54014 1025499869
1 f none postfix/help/opt_alias_database.es.html 0600 root bin 647 58903 1025499869
1 f none postfix/help/opt_alias_database.html 0600 root bin 603 54014 1025499869
1 f none postfix/help/opt_alias_database.pl.html 0600 root bin 598 55329 1025499869
1 f none postfix/help/opt_alias_database.sv.html 0600 root bin 594 54280 1025499869
1 f none postfix/help/opt_alias_maps.ca.html 0600 root bin 563 49967 1025499869
1 f none postfix/help/opt_alias_maps.es.html 0600 root bin 601 53195 1025499869
1 f none postfix/help/opt_alias_maps.html 0600 root bin 563 49967 1025499869
1 f none postfix/help/opt_alias_maps.pl.html 0600 root bin 617 58816 1025499869
1 f none postfix/help/opt_alias_maps.sv.html 0600 root bin 589 54295 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.ca.html 0600 root bin 269 24539 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.es.html 0600 root bin 291 26686 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.html 0600 root bin 269 24539 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.pl.html 0600 root bin 319 30964 1025499869
1 f none postfix/help/opt_allow_mail_to_commands.sv.html 0600 root bin 290 27503 1025499869
1 f none postfix/help/opt_allow_mail_to_files.ca.html 0600 root bin 259 23467 1025499869
1 f none postfix/help/opt_allow_mail_to_files.es.html 0600 root bin 294 26977 1025499869
1 f none postfix/help/opt_allow_mail_to_files.html 0600 root bin 259 23467 1025499869
1 f none postfix/help/opt_allow_mail_to_files.pl.html 0600 root bin 310 29815 1025499869
1 f none postfix/help/opt_allow_mail_to_files.sv.html 0600 root bin 280 26439 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.ca.html 0600 root bin 577 53228 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.es.html 0600 root bin 694 105 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.html 0600 root bin 577 53228 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.pl.html 0600 root bin 640 63046 1025499869
1 f none postfix/help/opt_allow_untrusted_routing.sv.html 0600 root bin 594 57299 1025499869
1 f none postfix/help/opt_always_bcc.ca.html 0600 root bin 273 24962 1025499869
1 f none postfix/help/opt_always_bcc.es.html 0600 root bin 271 25003 1025499869
1 f none postfix/help/opt_always_bcc.html 0600 root bin 273 24962 1025499869
1 f none postfix/help/opt_always_bcc.pl.html 0600 root bin 305 30339 1025499869
1 f none postfix/help/opt_always_bcc.sv.html 0600 root bin 278 25937 1025499869
1 f none postfix/help/opt_best_mx_transport.ca.html 0600 root bin 474 42836 1025499869
1 f none postfix/help/opt_best_mx_transport.es.html 0600 root bin 524 48003 1025499869
1 f none postfix/help/opt_best_mx_transport.html 0600 root bin 474 42836 1025499869
1 f none postfix/help/opt_best_mx_transport.pl.html 0600 root bin 524 50417 1025499869
1 f none postfix/help/opt_best_mx_transport.sv.html 0600 root bin 500 47464 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.ca.html 0600 root bin 242 21923 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.es.html 0600 root bin 316 28217 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.html 0600 root bin 242 21923 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.pl.html 0600 root bin 297 28535 1025499869
1 f none postfix/help/opt_bounce_notice_recipient.sv.html 0600 root bin 245 22661 1025499869
1 f none postfix/help/opt_bounce_size_limit.ca.html 0600 root bin 217 19840 1025499869
1 f none postfix/help/opt_bounce_size_limit.es.html 0600 root bin 235 21854 1025499869
1 f none postfix/help/opt_bounce_size_limit.html 0600 root bin 217 19840 1025499869
1 f none postfix/help/opt_bounce_size_limit.pl.html 0600 root bin 253 24824 1025499869
1 f none postfix/help/opt_bounce_size_limit.sv.html 0600 root bin 245 23103 1025499869
1 f none postfix/help/opt_canonical_maps.ca.html 0600 root bin 760 2970 1025499869
1 f none postfix/help/opt_canonical_maps.es.html 0600 root bin 795 7332 1025499869
1 f none postfix/help/opt_canonical_maps.html 0600 root bin 760 2970 1025499869
1 f none postfix/help/opt_canonical_maps.pl.html 0600 root bin 905 21728 1025499869
1 f none postfix/help/opt_canonical_maps.sv.html 0600 root bin 807 12756 1025499869
1 f none postfix/help/opt_command_time_limit.ca.html 0600 root bin 510 46441 1025499869
1 f none postfix/help/opt_command_time_limit.es.html 0600 root bin 546 50715 1025499869
1 f none postfix/help/opt_command_time_limit.html 0600 root bin 510 46441 1025499869
1 f none postfix/help/opt_command_time_limit.pl.html 0600 root bin 601 59798 1025499869
1 f none postfix/help/opt_command_time_limit.sv.html 0600 root bin 563 54924 1025499869
1 f none postfix/help/opt_daemon_timeout.ca.html 0600 root bin 230 20845 1025499869
1 f none postfix/help/opt_daemon_timeout.es.html 0600 root bin 267 24952 1025499869
1 f none postfix/help/opt_daemon_timeout.html 0600 root bin 230 20845 1025499869
1 f none postfix/help/opt_daemon_timeout.pl.html 0600 root bin 242 23698 1025499869
1 f none postfix/help/opt_daemon_timeout.sv.html 0600 root bin 258 24965 1025499869
1 f none postfix/help/opt_debug_peer_level.ca.html 0600 root bin 333 30529 1025499869
1 f none postfix/help/opt_debug_peer_level.es.html 0600 root bin 366 34058 1025499869
1 f none postfix/help/opt_debug_peer_level.html 0600 root bin 333 30529 1025499869
1 f none postfix/help/opt_debug_peer_level.pl.html 0600 root bin 333 31867 1025499869
1 f none postfix/help/opt_debug_peer_level.sv.html 0600 root bin 332 32250 1025499869
1 f none postfix/help/opt_debug_peer_list.ca.html 0600 root bin 549 49414 1025499869
1 f none postfix/help/opt_debug_peer_list.es.html 0600 root bin 596 54541 1025499869
1 f none postfix/help/opt_debug_peer_list.html 0600 root bin 549 49414 1025499869
1 f none postfix/help/opt_debug_peer_list.pl.html 0600 root bin 588 55832 1025499869
1 f none postfix/help/opt_debug_peer_list.sv.html 0600 root bin 549 52852 1025499869
1 f none postfix/help/opt_default_database_type.ca.html 0600 root bin 361 32267 1025499869
1 f none postfix/help/opt_default_database_type.es.html 0600 root bin 405 36188 1025499869
1 f none postfix/help/opt_default_database_type.html 0600 root bin 361 32267 1025499869
1 f none postfix/help/opt_default_database_type.pl.html 0600 root bin 406 38193 1025499869
1 f none postfix/help/opt_default_database_type.sv.html 0600 root bin 368 34255 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.ca.html 0600 root bin 358 32936 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.es.html 0600 root bin 352 33379 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.html 0600 root bin 358 32936 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.pl.html 0600 root bin 407 39875 1025499869
1 f none postfix/help/opt_default_destination_concurrency_limit.sv.html 0600 root bin 355 34386 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.ca.html 0600 root bin 332 30466 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.es.html 0600 root bin 360 34094 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.html 0600 root bin 332 30466 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.pl.html 0600 root bin 349 34409 1025499869
1 f none postfix/help/opt_default_destination_recipient_limit.sv.html 0600 root bin 329 31840 1025499869
1 f none postfix/help/opt_default_privs.ca.html 0600 root bin 358 31273 1025499869
1 f none postfix/help/opt_default_privs.es.html 0600 root bin 407 35596 1025499869
1 f none postfix/help/opt_default_privs.html 0600 root bin 358 31273 1025499869
1 f none postfix/help/opt_default_privs.pl.html 0600 root bin 418 39752 1025499869
1 f none postfix/help/opt_default_privs.sv.html 0600 root bin 375 35166 1025499869
1 f none postfix/help/opt_default_process_limit.ca.html 0600 root bin 230 21148 1025499869
1 f none postfix/help/opt_default_process_limit.es.html 0600 root bin 240 22734 1025499869
1 f none postfix/help/opt_default_process_limit.html 0600 root bin 230 21148 1025499869
1 f none postfix/help/opt_default_process_limit.pl.html 0600 root bin 235 23035 1025499869
1 f none postfix/help/opt_default_process_limit.sv.html 0600 root bin 210 20165 1025499869
1 f none postfix/help/opt_default_transport.ca.html 0600 root bin 323 29977 1025499869
1 f none postfix/help/opt_default_transport.es.html 0600 root bin 341 31368 1025499869
1 f none postfix/help/opt_default_transport.html 0600 root bin 323 29977 1025499869
1 f none postfix/help/opt_default_transport.pl.html 0600 root bin 359 34417 1025499869
1 f none postfix/help/opt_default_transport.sv.html 0600 root bin 319 30244 1025499869
1 f none postfix/help/opt_defer_transports.ca.html 0600 root bin 371 34261 1025499869
1 f none postfix/help/opt_defer_transports.es.html 0600 root bin 403 37485 1025499869
1 f none postfix/help/opt_defer_transports.html 0600 root bin 371 34261 1025499869
1 f none postfix/help/opt_defer_transports.pl.html 0600 root bin 395 38875 1025499869
1 f none postfix/help/opt_defer_transports.sv.html 0600 root bin 345 33184 1025499869
1 f none postfix/help/opt_delay_notice_recipient.ca.html 0600 root bin 240 21705 1025499869
1 f none postfix/help/opt_delay_notice_recipient.es.html 0600 root bin 297 26686 1025499869
1 f none postfix/help/opt_delay_notice_recipient.html 0600 root bin 240 21705 1025499869
1 f none postfix/help/opt_delay_notice_recipient.pl.html 0600 root bin 297 28771 1025499869
1 f none postfix/help/opt_delay_notice_recipient.sv.html 0600 root bin 250 23467 1025499869
1 f none postfix/help/opt_delay_warning_time.ca.html 0600 root bin 264 23838 1025499869
1 f none postfix/help/opt_delay_warning_time.es.html 0600 root bin 260 23851 1025499869
1 f none postfix/help/opt_delay_warning_time.html 0600 root bin 264 23838 1025499869
1 f none postfix/help/opt_delay_warning_time.pl.html 0600 root bin 310 30437 1025499869
1 f none postfix/help/opt_delay_warning_time.sv.html 0600 root bin 309 29427 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.ca.html 0600 root bin 214 19509 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.es.html 0600 root bin 233 22086 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.html 0600 root bin 214 19509 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.pl.html 0600 root bin 232 22446 1025499869
1 f none postfix/help/opt_deliver_lock_attempts.sv.html 0600 root bin 210 20312 1025499869
1 f none postfix/help/opt_deliver_lock_delay.ca.html 0600 root bin 205 18719 1025499869
1 f none postfix/help/opt_deliver_lock_delay.es.html 0600 root bin 225 21008 1025499869
1 f none postfix/help/opt_deliver_lock_delay.html 0600 root bin 205 18719 1025499869
1 f none postfix/help/opt_deliver_lock_delay.pl.html 0600 root bin 245 23570 1025499869
1 f none postfix/help/opt_deliver_lock_delay.sv.html 0600 root bin 200 18976 1025499869
1 f none postfix/help/opt_desfault_destination_concurrency_limit.es.html 0600 root bin 352 33379 1025499869
1 f none postfix/help/opt_disable_vfy_command.es.html 0600 root bin 283 26033 1025499869
1 f none postfix/help/opt_disable_vrfy_command.ca.html 0600 root bin 236 21133 1025499869
1 f none postfix/help/opt_disable_vrfy_command.html 0600 root bin 236 21133 1025499869
1 f none postfix/help/opt_disable_vrfy_command.pl.html 0600 root bin 226 21284 1025499869
1 f none postfix/help/opt_disable_vrfy_command.sv.html 0600 root bin 248 23202 1025499869
1 f none postfix/help/opt_double_bounce_sender.ca.html 0600 root bin 328 29770 1025499869
1 f none postfix/help/opt_double_bounce_sender.es.html 0600 root bin 389 36113 1025499869
1 f none postfix/help/opt_double_bounce_sender.html 0600 root bin 328 29770 1025499869
1 f none postfix/help/opt_double_bounce_sender.pl.html 0600 root bin 368 36141 1025499869
1 f none postfix/help/opt_double_bounce_sender.sv.html 0600 root bin 324 30719 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.ca.html 0600 root bin 255 23454 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.es.html 0600 root bin 271 25565 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.html 0600 root bin 255 23454 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.pl.html 0600 root bin 262 26113 1025499869
1 f none postfix/help/opt_duplicate_filter_limit.sv.html 0600 root bin 244 23069 1025499869
1 f none postfix/help/opt_empty_address_recipient.ca.html 0600 root bin 319 28447 1025499869
1 f none postfix/help/opt_empty_address_recipient.es.html 0600 root bin 346 30702 1025499869
1 f none postfix/help/opt_empty_address_recipient.html 0600 root bin 319 28447 1025499869
1 f none postfix/help/opt_empty_address_recipient.pl.html 0600 root bin 368 34521 1025499869
1 f none postfix/help/opt_empty_address_recipient.sv.html 0600 root bin 332 30564 1025499869
1 f none postfix/help/opt_error_notice_recipient.ca.html 0600 root bin 240 21759 1025499869
1 f none postfix/help/opt_error_notice_recipient.es.html 0600 root bin 310 27893 1025499869
1 f none postfix/help/opt_error_notice_recipient.html 0600 root bin 240 21759 1025499869
1 f none postfix/help/opt_error_notice_recipient.pl.html 0600 root bin 292 28171 1025499869
1 f none postfix/help/opt_error_notice_recipient.sv.html 0600 root bin 239 22175 1025499869
1 f none postfix/help/opt_fallback_relay.ca.html 0600 root bin 405 36503 1025499869
1 f none postfix/help/opt_fallback_relay.es.html 0600 root bin 414 38303 1025499869
1 f none postfix/help/opt_fallback_relay.html 0600 root bin 405 36503 1025499869
1 f none postfix/help/opt_fallback_relay.pl.html 0600 root bin 478 46932 1025499869
1 f none postfix/help/opt_fallback_relay.sv.html 0600 root bin 419 40102 1025499869
1 f none postfix/help/opt_fallback_transport.ca.html 0600 root bin 372 33974 1025499869
1 f none postfix/help/opt_fallback_transport.es.html 0600 root bin 395 36555 1025499869
1 f none postfix/help/opt_fallback_transport.html 0600 root bin 372 33974 1025499869
1 f none postfix/help/opt_fallback_transport.pl.html 0600 root bin 396 38028 1025499869
1 f none postfix/help/opt_fallback_transport.sv.html 0600 root bin 356 33544 1025499869
1 f none postfix/help/opt_fork_attempts.ca.html 0600 root bin 167 14949 1025499869
1 f none postfix/help/opt_fork_attempts.es.html 0600 root bin 175 16352 1025499869
1 f none postfix/help/opt_fork_attempts.html 0600 root bin 167 14949 1025499869
1 f none postfix/help/opt_fork_attempts.pl.html 0600 root bin 180 16866 1025499869
1 f none postfix/help/opt_fork_attempts.sv.html 0600 root bin 188 18055 1025499869
1 f none postfix/help/opt_fork_delay.ca.html 0600 root bin 170 15267 1025499869
1 f none postfix/help/opt_fork_delay.es.html 0600 root bin 191 17401 1025499869
1 f none postfix/help/opt_fork_delay.html 0600 root bin 170 15267 1025499869
1 f none postfix/help/opt_fork_delay.pl.html 0600 root bin 208 19760 1025499869
1 f none postfix/help/opt_fork_delay.sv.html 0600 root bin 181 16819 1025499869
1 f none postfix/help/opt_forward_path.ca.html 0600 root bin 709 62396 1025499869
1 f none postfix/help/opt_forward_path.es.html 0600 root bin 799 6897 1025499869
1 f none postfix/help/opt_forward_path.html 0600 root bin 709 62396 1025499869
1 f none postfix/help/opt_forward_path.pl.html 0600 root bin 774 6076 1025499869
1 f none postfix/help/opt_forward_path.sv.html 0600 root bin 684 63458 1025499869
1 f none postfix/help/opt_hash_queue_depth.ca.html 0600 root bin 400 37013 1025499869
1 f none postfix/help/opt_hash_queue_depth.es.html 0600 root bin 443 41740 1025499869
1 f none postfix/help/opt_hash_queue_depth.html 0600 root bin 400 37013 1025499869
1 f none postfix/help/opt_hash_queue_depth.pl.html 0600 root bin 427 42523 1025499869
1 f none postfix/help/opt_hash_queue_depth.sv.html 0600 root bin 393 37804 1025499869
1 f none postfix/help/opt_hash_queue_names.ca.html 0600 root bin 592 54376 1025499869
1 f none postfix/help/opt_hash_queue_names.es.html 0600 root bin 673 62524 1025499869
1 f none postfix/help/opt_hash_queue_names.html 0600 root bin 592 54376 1025499869
1 f none postfix/help/opt_hash_queue_names.pl.html 0600 root bin 674 997 1025499869
1 f none postfix/help/opt_hash_queue_names.sv.html 0600 root bin 625 61615 1025499869
1 f none postfix/help/opt_header_size_limit.ca.html 0600 root bin 290 26394 1025499869
1 f none postfix/help/opt_header_size_limit.es.html 0600 root bin 304 27826 1025499869
1 f none postfix/help/opt_header_size_limit.html 0600 root bin 290 26394 1025499869
1 f none postfix/help/opt_header_size_limit.pl.html 0600 root bin 325 33236 1025499869
1 f none postfix/help/opt_header_size_limit.sv.html 0600 root bin 322 31261 1025499869
1 f none postfix/help/opt_home_mailbox.ca.html 0600 root bin 438 38475 1025499869
1 f none postfix/help/opt_home_mailbox.es.html 0600 root bin 478 42779 1025499869
1 f none postfix/help/opt_home_mailbox.html 0600 root bin 438 38475 1025499869
1 f none postfix/help/opt_home_mailbox.pl.html 0600 root bin 518 49479 1025499869
1 f none postfix/help/opt_home_mailbox.sv.html 0600 root bin 444 42056 1025499869
1 f none postfix/help/opt_hopcount_limit.ca.html 0600 root bin 220 19693 1025499869
1 f none postfix/help/opt_hopcount_limit.es.html 0600 root bin 228 21042 1025499869
1 f none postfix/help/opt_hopcount_limit.html 0600 root bin 220 19693 1025499869
1 f none postfix/help/opt_hopcount_limit.pl.html 0600 root bin 260 25067 1025499869
1 f none postfix/help/opt_hopcount_limit.sv.html 0600 root bin 226 20815 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.ca.html 0600 root bin 328 29915 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.es.html 0600 root bin 386 35876 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.html 0600 root bin 328 29915 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.pl.html 0600 root bin 371 35129 1025499869
1 f none postfix/help/opt_ignore_mx_lookup_error.sv.html 0600 root bin 355 34540 1025499869
1 f none postfix/help/opt_inet_interfaces.ca.html 0600 root bin 486 43573 1025499869
1 f none postfix/help/opt_inet_interfaces.es.html 0600 root bin 523 47470 1025499869
1 f none postfix/help/opt_inet_interfaces.html 0600 root bin 486 43573 1025499869
1 f none postfix/help/opt_inet_interfaces.pl.html 0600 root bin 524 49771 1025499869
1 f none postfix/help/opt_inet_interfaces.sv.html 0600 root bin 474 44480 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.ca.html 0600 root bin 495 45255 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.es.html 0600 root bin 505 46690 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.html 0600 root bin 495 45255 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.pl.html 0600 root bin 635 62823 1025499869
1 f none postfix/help/opt_initial_destination_concurrency.sv.html 0600 root bin 515 49249 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.ca.html 0600 root bin 332 30079 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.es.html 0600 root bin 350 32004 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.html 0600 root bin 332 30079 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.pl.html 0600 root bin 326 30142 1025499869
1 f none postfix/help/opt_invalid_hostname_reject_code.sv.html 0600 root bin 324 31135 1025499869
1 f none postfix/help/opt_ipc_idle.ca.html 0600 root bin 337 31013 1025499869
1 f none postfix/help/opt_ipc_idle.es.html 0600 root bin 395 36855 1025499869
1 f none postfix/help/opt_ipc_idle.html 0600 root bin 337 31013 1025499869
1 f none postfix/help/opt_ipc_idle.pl.html 0600 root bin 400 39658 1025499869
1 f none postfix/help/opt_ipc_idle.sv.html 0600 root bin 343 32651 1025499869
1 f none postfix/help/opt_ipc_timeout.ca.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.es.html 0600 root bin 347 32549 1025499869
1 f none postfix/help/opt_ipc_timeout.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.pl.html 0600 root bin 318 28955 1025499869
1 f none postfix/help/opt_ipc_timeout.sv.html 0600 root bin 317 30701 1025499869
1 f none postfix/help/opt_line_length_limit.ca.html 0600 root bin 271 24992 1025499869
1 f none postfix/help/opt_line_length_limit.es.html 0600 root bin 298 27959 1025499869
1 f none postfix/help/opt_line_length_limit.html 0600 root bin 271 24992 1025499869
1 f none postfix/help/opt_line_length_limit.pl.html 0600 root bin 335 33196 1025499869
1 f none postfix/help/opt_line_length_limit.sv.html 0600 root bin 284 27435 1025499869
1 f none postfix/help/opt_local_command_shell.ca.html 0600 root bin 823 8670 1025499869
1 f none postfix/help/opt_local_command_shell.es.html 0600 root bin 870 14365 1025499869
1 f none postfix/help/opt_local_command_shell.html 0600 root bin 823 8670 1025499869
1 f none postfix/help/opt_local_command_shell.pl.html 0600 root bin 908 23172 1025499869
1 f none postfix/help/opt_local_command_shell.sv.html 0600 root bin 785 8631 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.ca.html 0600 root bin 609 56100 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.es.html 0600 root bin 625 58973 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.html 0600 root bin 609 56100 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.pl.html 0600 root bin 632 61526 1025499869
1 f none postfix/help/opt_local_destination_concurrency_limit.sv.html 0600 root bin 637 61893 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.ca.html 0600 root bin 511 47636 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.es.html 0600 root bin 550 52385 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.html 0600 root bin 511 47636 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.pl.html 0600 root bin 537 52632 1025499869
1 f none postfix/help/opt_local_destination_recipient_limit.sv.html 0600 root bin 532 52068 1025499869
1 f none postfix/help/opt_local_recipient_maps.ca.html 0600 root bin 721 210 1025499869
1 f none postfix/help/opt_local_recipient_maps.es.html 0600 root bin 810 9118 1025499869
1 f none postfix/help/opt_local_recipient_maps.html 0600 root bin 721 210 1025499869
1 f none postfix/help/opt_local_recipient_maps.pl.html 0600 root bin 830 15733 1025499869
1 f none postfix/help/opt_local_recipient_maps.sv.html 0600 root bin 728 3449 1025499869
1 f none postfix/help/opt_local_transport.ca.html 0600 root bin 431 38966 1025499869
1 f none postfix/help/opt_local_transport.es.html 0600 root bin 436 39734 1025499869
1 f none postfix/help/opt_local_transport.html 0600 root bin 431 38966 1025499869
1 f none postfix/help/opt_local_transport.pl.html 0600 root bin 444 42661 1025499869
1 f none postfix/help/opt_local_transport.sv.html 0600 root bin 452 43134 1025499869
1 f none postfix/help/opt_luser_relay.ca.html 0600 root bin 904 14514 1025499869
1 f none postfix/help/opt_luser_relay.es.html 0600 root bin 1014 26587 1025499869
1 f none postfix/help/opt_luser_relay.html 0600 root bin 904 14514 1025499869
1 f none postfix/help/opt_luser_relay.pl.html 0600 root bin 953 22220 1025499869
1 f none postfix/help/opt_luser_relay.sv.html 0600 root bin 876 15154 1025499869
1 f none postfix/help/opt_mail_name.ca.html 0600 root bin 223 19704 1025499869
1 f none postfix/help/opt_mail_name.es.html 0600 root bin 263 23313 1025499869
1 f none postfix/help/opt_mail_name.html 0600 root bin 223 19704 1025499869
1 f none postfix/help/opt_mail_name.pl.html 0600 root bin 256 24257 1025499869
1 f none postfix/help/opt_mail_name.sv.html 0600 root bin 211 18758 1025499869
1 f none postfix/help/opt_mail_owner.ca.html 0600 root bin 428 35427 1025499869
1 f none postfix/help/opt_mail_owner.es.html 0600 root bin 490 40602 1025499869
1 f none postfix/help/opt_mail_owner.html 0600 root bin 428 35427 1025499869
1 f none postfix/help/opt_mail_owner.pl.html 0600 root bin 453 40642 1025499869
1 f none postfix/help/opt_mail_owner.sv.html 0600 root bin 429 40821 1025499869
1 f none postfix/help/opt_mail_spool_directory.ca.html 0600 root bin 224 20197 1025499869
1 f none postfix/help/opt_mail_spool_directory.es.html 0600 root bin 237 21299 1025499869
1 f none postfix/help/opt_mail_spool_directory.html 0600 root bin 224 20197 1025499869
1 f none postfix/help/opt_mail_spool_directory.pl.html 0600 root bin 236 22349 1025499869
1 f none postfix/help/opt_mail_spool_directory.sv.html 0600 root bin 196 18372 1025499869
1 f none postfix/help/opt_mail_version.ca.html 0600 root bin 239 21496 1025499869
1 f none postfix/help/opt_mail_version.es.html 0600 root bin 254 23241 1025499869
1 f none postfix/help/opt_mail_version.html 0600 root bin 239 21496 1025499869
1 f none postfix/help/opt_mail_version.pl.html 0600 root bin 252 24606 1025499869
1 f none postfix/help/opt_mail_version.sv.html 0600 root bin 232 21967 1025499869
1 f none postfix/help/opt_mailbox_command.ca.html 0600 root bin 1180 36863 1025499869
1 f none postfix/help/opt_mailbox_command.es.html 0600 root bin 1299 48689 1025499869
1 f none postfix/help/opt_mailbox_command.html 0600 root bin 1180 36863 1025499869
1 f none postfix/help/opt_mailbox_command.pl.html 0600 root bin 1354 60164 1025499869
1 f none postfix/help/opt_mailbox_command.sv.html 0600 root bin 1234 50287 1025499869
1 f none postfix/help/opt_mailbox_transport.ca.html 0600 root bin 471 43332 1025499869
1 f none postfix/help/opt_mailbox_transport.es.html 0600 root bin 472 43793 1025499869
1 f none postfix/help/opt_mailbox_transport.html 0600 root bin 471 43332 1025499869
1 f none postfix/help/opt_mailbox_transport.pl.html 0600 root bin 501 47724 1025499869
1 f none postfix/help/opt_mailbox_transport.sv.html 0600 root bin 459 42901 1025499869
1 f none postfix/help/opt_maps_rbl_domains.ca.html 0600 root bin 531 48699 1025499869
1 f none postfix/help/opt_maps_rbl_domains.es.html 0600 root bin 611 56753 1025499869
1 f none postfix/help/opt_maps_rbl_domains.html 0600 root bin 531 48699 1025499869
1 f none postfix/help/opt_maps_rbl_domains.pl.html 0600 root bin 565 55446 1025499869
1 f none postfix/help/opt_maps_rbl_domains.sv.html 0600 root bin 505 49170 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.ca.html 0600 root bin 356 32119 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.html 0600 root bin 356 32119 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.pl.html 0600 root bin 343 31359 1025499869
1 f none postfix/help/opt_maps_rbl_reject_code.sv.html 0600 root bin 341 32839 1025499869
1 f none postfix/help/opt_masquerade_domains.ca.html 0600 root bin 573 52036 1025499869
1 f none postfix/help/opt_masquerade_domains.html 0600 root bin 573 52036 1025499869
1 f none postfix/help/opt_masquerade_domains.pl.html 0600 root bin 610 59418 1025499869
1 f none postfix/help/opt_masquerade_domains.sv.html 0600 root bin 559 53317 1025499869
1 f none postfix/help/opt_masquerade_exceptions.ca.html 0600 root bin 358 32824 1025499869
1 f none postfix/help/opt_masquerade_exceptions.html 0600 root bin 358 32824 1025499869
1 f none postfix/help/opt_masquerade_exceptions.pl.html 0600 root bin 373 36671 1025499869
1 f none postfix/help/opt_masquerade_exceptions.sv.html 0600 root bin 390 38168 1025499869
1 f none postfix/help/opt_max_idle.ca.html 0600 root bin 282 25836 1025499869
1 f none postfix/help/opt_max_idle.html 0600 root bin 282 25836 1025499869
1 f none postfix/help/opt_max_idle.pl.html 0600 root bin 305 29885 1025499869
1 f none postfix/help/opt_max_idle.sv.html 0600 root bin 276 27475 1025499869
1 f none postfix/help/opt_max_use.ca.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.pl.html 0600 root bin 270 24723 1025499869
1 f none postfix/help/opt_max_use.sv.html 0600 root bin 283 27947 1025499869
1 f none postfix/help/opt_maximal_backoff_time.ca.html 0600 root bin 235 21491 1025499869
1 f none postfix/help/opt_maximal_backoff_time.html 0600 root bin 235 21491 1025499869
1 f none postfix/help/opt_maximal_backoff_time.pl.html 0600 root bin 243 23825 1025499869
1 f none postfix/help/opt_maximal_backoff_time.sv.html 0600 root bin 235 23010 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.ca.html 0600 root bin 241 21910 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.html 0600 root bin 241 21910 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.pl.html 0600 root bin 306 29396 1025499869
1 f none postfix/help/opt_maximal_queue_lifetime.sv.html 0600 root bin 281 26337 1025499869
1 f none postfix/help/opt_message_size_limit.ca.html 0600 root bin 190 17105 1025499869
1 f none postfix/help/opt_message_size_limit.html 0600 root bin 190 17105 1025499869
1 f none postfix/help/opt_message_size_limit.pl.html 0600 root bin 213 20505 1025499869
1 f none postfix/help/opt_message_size_limit.sv.html 0600 root bin 198 18479 1025499869
1 f none postfix/help/opt_minimal_backoff_time.ca.html 0600 root bin 361 33402 1025499869
1 f none postfix/help/opt_minimal_backoff_time.html 0600 root bin 361 33402 1025499869
1 f none postfix/help/opt_minimal_backoff_time.pl.html 0600 root bin 427 42563 1025499869
1 f none postfix/help/opt_minimal_backoff_time.sv.html 0600 root bin 357 35362 1025499869
1 f none postfix/help/opt_mydestination.ca.html 0600 root bin 852 8809 1025499869
1 f none postfix/help/opt_mydestination.html 0600 root bin 852 8809 1025499869
1 f none postfix/help/opt_mydestination.pl.html 0600 root bin 920 20908 1025499869
1 f none postfix/help/opt_mydestination.sv.html 0600 root bin 823 11749 1025499869
1 f none postfix/help/opt_mydomain.ca.html 0600 root bin 314 28656 1025499869
1 f none postfix/help/opt_mydomain.html 0600 root bin 314 28656 1025499869
1 f none postfix/help/opt_mydomain.pl.html 0600 root bin 335 32103 1025499869
1 f none postfix/help/opt_mydomain.sv.html 0600 root bin 295 28742 1025499869
1 f none postfix/help/opt_myhostname.ca.html 0600 root bin 352 31917 1025499869
1 f none postfix/help/opt_myhostname.html 0600 root bin 352 31917 1025499869
1 f none postfix/help/opt_myhostname.pl.html 0600 root bin 388 37200 1025499869
1 f none postfix/help/opt_myhostname.sv.html 0600 root bin 350 34153 1025499869
1 f none postfix/help/opt_mynetworks.ca.html 0600 root bin 806 7689 1025499869
1 f none postfix/help/opt_mynetworks.html 0600 root bin 806 7689 1025499869
1 f none postfix/help/opt_mynetworks.pl.html 0600 root bin 790 11450 1025499869
1 f none postfix/help/opt_mynetworks.sv.html 0600 root bin 777 9438 1025499869
1 f none postfix/help/opt_myorigin.ca.html 0600 root bin 432 39028 1025499869
1 f none postfix/help/opt_myorigin.html 0600 root bin 432 39028 1025499869
1 f none postfix/help/opt_myorigin.pl.html 0600 root bin 477 46181 1025499869
1 f none postfix/help/opt_myorigin.sv.html 0600 root bin 404 38448 1025499869
1 f none postfix/help/opt_notify_classes.ca.html 0600 root bin 1518 8056 1025499869
1 f none postfix/help/opt_notify_classes.html 0600 root bin 1518 8056 1025499869
1 f none postfix/help/opt_notify_classes.pl.html 0600 root bin 1616 27039 1025499869
1 f none postfix/help/opt_notify_classes.sv.html 0600 root bin 1497 11814 1025499869
1 f none postfix/help/opt_prepend_delivered_header.ca.html 0600 root bin 432 38764 1025499869
1 f none postfix/help/opt_prepend_delivered_header.html 0600 root bin 432 38764 1025499869
1 f none postfix/help/opt_prepend_delivered_header.pl.html 0600 root bin 468 44901 1025499869
1 f none postfix/help/opt_prepend_delivered_header.sv.html 0600 root bin 451 42246 1025499869
1 f none postfix/help/opt_process_id_directory.ca.html 0600 root bin 271 24776 1025499869
1 f none postfix/help/opt_process_id_directory.html 0600 root bin 271 24776 1025499869
1 f none postfix/help/opt_process_id_directory.pl.html 0600 root bin 295 28927 1025499869
1 f none postfix/help/opt_process_id_directory.sv.html 0600 root bin 232 22472 1025499869
1 f none postfix/help/opt_program_directory.ca.html 0600 root bin 242 22221 1025499869
1 f none postfix/help/opt_program_directory.html 0600 root bin 242 22221 1025499869
1 f none postfix/help/opt_program_directory.pl.html 0600 root bin 261 25431 1025499869
1 f none postfix/help/opt_program_directory.sv.html 0600 root bin 221 20757 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.ca.html 0600 root bin 191 17367 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.html 0600 root bin 191 17367 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.pl.html 0600 root bin 199 18751 1025499869
1 f none postfix/help/opt_qmgr_message_active_limit.sv.html 0600 root bin 190 17692 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.ca.html 0600 root bin 270 24936 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.html 0600 root bin 270 24936 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.pl.html 0600 root bin 292 28726 1025499869
1 f none postfix/help/opt_qmgr_message_recipient_limit.sv.html 0600 root bin 257 24801 1025499869
1 f none postfix/help/opt_queue_directory.ca.html 0600 root bin 232 21334 1025499869
1 f none postfix/help/opt_queue_directory.html 0600 root bin 232 21334 1025499869
1 f none postfix/help/opt_queue_directory.pl.html 0600 root bin 261 25464 1025499869
1 f none postfix/help/opt_queue_directory.sv.html 0600 root bin 202 19582 1025499869
1 f none postfix/help/opt_queue_minfree.ca.html 0600 root bin 290 26072 1025499869
1 f none postfix/help/opt_queue_minfree.html 0600 root bin 290 26072 1025499869
1 f none postfix/help/opt_queue_minfree.pl.html 0600 root bin 326 31304 1025499869
1 f none postfix/help/opt_queue_minfree.sv.html 0600 root bin 285 27360 1025499869
1 f none postfix/help/opt_queue_run_delay.ca.html 0600 root bin 217 19628 1025499869
1 f none postfix/help/opt_queue_run_delay.html 0600 root bin 217 19628 1025499869
1 f none postfix/help/opt_queue_run_delay.pl.html 0600 root bin 235 22809 1025499869
1 f none postfix/help/opt_queue_run_delay.sv.html 0600 root bin 232 22504 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.ca.html 0600 root bin 373 33389 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.html 0600 root bin 373 33389 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.pl.html 0600 root bin 459 44336 1025499869
1 f none postfix/help/opt_recipient_canonical_maps.sv.html 0600 root bin 394 38426 1025499869
1 f none postfix/help/opt_recipient_delimiter.ca.html 0600 root bin 594 53809 1025499869
1 f none postfix/help/opt_recipient_delimiter.html 0600 root bin 594 53809 1025499869
1 f none postfix/help/opt_recipient_delimiter.pl.html 0600 root bin 708 2785 1025499869
1 f none postfix/help/opt_recipient_delimiter.sv.html 0600 root bin 624 59032 1025499869
1 f none postfix/help/opt_reject_code.ca.html 0600 root bin 290 25649 1025499869
1 f none postfix/help/opt_reject_code.html 0600 root bin 290 25649 1025499869
1 f none postfix/help/opt_reject_code.pl.html 0600 root bin 311 28651 1025499869
1 f none postfix/help/opt_reject_code.sv.html 0600 root bin 271 25605 1025499869
1 f none postfix/help/opt_relay_domains.ca.html 0600 root bin 901 17254 1025499869
1 f none postfix/help/opt_relay_domains.html 0600 root bin 901 17254 1025499869
1 f none postfix/help/opt_relay_domains.pl.html 0600 root bin 967 28184 1025499869
1 f none postfix/help/opt_relay_domains.sv.html 0600 root bin 908 21962 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.ca.html 0600 root bin 316 28402 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.html 0600 root bin 316 28402 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.pl.html 0600 root bin 314 29434 1025499869
1 f none postfix/help/opt_relay_domains_reject_code.sv.html 0600 root bin 321 31045 1025499869
1 f none postfix/help/opt_relayhost.ca.html 0600 root bin 587 53262 1025499869
1 f none postfix/help/opt_relayhost.html 0600 root bin 587 53262 1025499869
1 f none postfix/help/opt_relayhost.pl.html 0600 root bin 708 6198 1025499869
1 f none postfix/help/opt_relayhost.sv.html 0600 root bin 574 53971 1025499869
1 f none postfix/help/opt_relocated_maps.ca.html 0600 root bin 406 36582 1025499869
1 f none postfix/help/opt_relocated_maps.html 0600 root bin 406 36582 1025499869
1 f none postfix/help/opt_relocated_maps.pl.html 0600 root bin 451 43848 1025499869
1 f none postfix/help/opt_relocated_maps.sv.html 0600 root bin 401 38150 1025499869
1 f none postfix/help/opt_sample.ca.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sample.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sample.sv.html 0600 root bin 58 4603 1025499869
1 f none postfix/help/opt_sender_canonical_maps.ca.html 0600 root bin 358 31971 1025499869
1 f none postfix/help/opt_sender_canonical_maps.html 0600 root bin 358 31971 1025499869
1 f none postfix/help/opt_sender_canonical_maps.pl.html 0600 root bin 450 43408 1025499869
1 f none postfix/help/opt_sender_canonical_maps.sv.html 0600 root bin 388 38130 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.ca.html 0600 root bin 369 33212 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.html 0600 root bin 369 33212 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.pl.html 0600 root bin 423 41113 1025499869
1 f none postfix/help/opt_smtp_connect_timeout.sv.html 0600 root bin 386 36565 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.ca.html 0600 root bin 487 43663 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.html 0600 root bin 487 43663 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.pl.html 0600 root bin 558 54017 1025499869
1 f none postfix/help/opt_smtp_data_done_timeout.sv.html 0600 root bin 485 45324 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.ca.html 0600 root bin 347 30956 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.html 0600 root bin 347 30956 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.pl.html 0600 root bin 392 37088 1025499869
1 f none postfix/help/opt_smtp_data_init_timeout.sv.html 0600 root bin 344 32183 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.ca.html 0600 root bin 448 40981 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.html 0600 root bin 448 40981 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.pl.html 0600 root bin 486 47266 1025499869
1 f none postfix/help/opt_smtp_data_xfer_timeout.sv.html 0600 root bin 440 42526 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.ca.html 0600 root bin 455 42494 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.html 0600 root bin 455 42494 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.pl.html 0600 root bin 512 50573 1025499869
1 f none postfix/help/opt_smtp_destination_concurrency_limit.sv.html 0600 root bin 484 47488 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.ca.html 0600 root bin 362 33729 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.html 0600 root bin 362 33729 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.pl.html 0600 root bin 396 38777 1025499869
1 f none postfix/help/opt_smtp_destination_recipient_limit.sv.html 0600 root bin 356 34428 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.ca.html 0600 root bin 420 38195 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.html 0600 root bin 420 38195 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.pl.html 0600 root bin 451 44212 1025499869
1 f none postfix/help/opt_smtp_helo_timeout.sv.html 0600 root bin 396 38096 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.ca.html 0600 root bin 352 31132 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.html 0600 root bin 352 31132 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.pl.html 0600 root bin 397 37264 1025499869
1 f none postfix/help/opt_smtp_mail_timeout.sv.html 0600 root bin 344 31429 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.ca.html 0600 root bin 246 22100 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.html 0600 root bin 246 22100 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.pl.html 0600 root bin 283 26429 1025499869
1 f none postfix/help/opt_smtp_quit_timeout.sv.html 0600 root bin 238 21824 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.ca.html 0600 root bin 348 30908 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.html 0600 root bin 348 30908 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.pl.html 0600 root bin 394 37072 1025499869
1 f none postfix/help/opt_smtp_rcpt_timeout.sv.html 0600 root bin 336 30866 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.ca.html 0600 root bin 289 25792 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.html 0600 root bin 289 25792 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.pl.html 0600 root bin 298 27872 1025499869
1 f none postfix/help/opt_smtp_skip_4xx_greeting.sv.html 0600 root bin 319 30356 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.ca.html 0600 root bin 231 20771 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.html 0600 root bin 231 20771 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.pl.html 0600 root bin 226 20589 1025499869
1 f none postfix/help/opt_smtp_skip_quit_response.sv.html 0600 root bin 216 20319 1025499869
1 f none postfix/help/opt_smtpd_banner.ca.html 0600 root bin 510 45634 1025499869
1 f none postfix/help/opt_smtpd_banner.html 0600 root bin 510 45634 1025499869
1 f none postfix/help/opt_smtpd_banner.pl.html 0600 root bin 507 49273 1025499869
1 f none postfix/help/opt_smtpd_banner.sv.html 0600 root bin 519 49236 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.ca.html 0600 root bin 719 1020 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.html 0600 root bin 719 1020 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.pl.html 0600 root bin 741 6731 1025499869
1 f none postfix/help/opt_smtpd_client_restrictions.sv.html 0600 root bin 723 4526 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.ca.html 0600 root bin 357 32303 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.html 0600 root bin 357 32303 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.pl.html 0600 root bin 393 37804 1025499869
1 f none postfix/help/opt_smtpd_error_sleep_time.sv.html 0600 root bin 332 30824 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.ca.html 0600 root bin 488 44096 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.html 0600 root bin 488 44096 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.pl.html 0600 root bin 509 48802 1025499869
1 f none postfix/help/opt_smtpd_etrn_restrictions.sv.html 0600 root bin 494 46554 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.ca.html 0600 root bin 262 24043 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.html 0600 root bin 262 24043 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.pl.html 0600 root bin 278 27653 1025499869
1 f none postfix/help/opt_smtpd_hard_error_limit.sv.html 0600 root bin 261 24351 1025499869
1 f none postfix/help/opt_smtpd_helo_required.ca.html 0600 root bin 225 20528 1025499869
1 f none postfix/help/opt_smtpd_helo_required.html 0600 root bin 225 20528 1025499869
1 f none postfix/help/opt_smtpd_helo_required.pl.html 0600 root bin 197 18423 1025499869
1 f none postfix/help/opt_smtpd_helo_required.sv.html 0600 root bin 185 17187 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.ca.html 0600 root bin 1638 16242 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.html 0600 root bin 1638 16242 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.pl.html 0600 root bin 1831 39090 1025499869
1 f none postfix/help/opt_smtpd_helo_restrictions.sv.html 0600 root bin 1623 23192 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.ca.html 0600 root bin 227 20830 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.html 0600 root bin 227 20830 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.pl.html 0600 root bin 231 22429 1025499869
1 f none postfix/help/opt_smtpd_recipient_limit.sv.html 0600 root bin 213 20096 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.ca.html 0600 root bin 4248 54746 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.html 0600 root bin 4248 54746 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.pl.html 0600 root bin 4666 41328 1025499869
1 f none postfix/help/opt_smtpd_recipient_restrictions.sv.html 0600 root bin 4223 6242 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.ca.html 0600 root bin 1949 46311 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.html 0600 root bin 1949 46311 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.pl.html 0600 root bin 2186 6845 1025499869
1 f none postfix/help/opt_smtpd_sender_restrictions.sv.html 0600 root bin 1963 56374 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.ca.html 0600 root bin 333 30718 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.html 0600 root bin 333 30718 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.pl.html 0600 root bin 339 33521 1025499869
1 f none postfix/help/opt_smtpd_soft_error_limit.sv.html 0600 root bin 377 36476 1025499869
1 f none postfix/help/opt_smtpd_timeout.ca.html 0600 root bin 422 38047 1025499869
1 f none postfix/help/opt_smtpd_timeout.html 0600 root bin 422 38047 1025499869
1 f none postfix/help/opt_smtpd_timeout.pl.html 0600 root bin 448 42655 1025499869
1 f none postfix/help/opt_smtpd_timeout.sv.html 0600 root bin 445 42782 1025499869
1 f none postfix/help/opt_stale_lock_time.ca.html 0600 root bin 230 20680 1025499869
1 f none postfix/help/opt_stale_lock_time.html 0600 root bin 230 20680 1025499869
1 f none postfix/help/opt_stale_lock_time.pl.html 0600 root bin 270 25759 1025499869
1 f none postfix/help/opt_stale_lock_time.sv.html 0600 root bin 268 25874 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.ca.html 0600 root bin 453 41388 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.html 0600 root bin 453 41388 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.pl.html 0600 root bin 563 55080 1025499869
1 f none postfix/help/opt_sun_mailtool_compatibility.sv.html 0600 root bin 478 47227 1025499869
1 f none postfix/help/opt_swap_bangpath.ca.html 0600 root bin 196 17284 1025499869
1 f none postfix/help/opt_swap_bangpath.html 0600 root bin 196 17284 1025499869
1 f none postfix/help/opt_swap_bangpath.pl.html 0600 root bin 226 21265 1025499869
1 f none postfix/help/opt_swap_bangpath.sv.html 0600 root bin 212 20079 1025499869
1 f none postfix/help/opt_transport_maps.ca.html 0600 root bin 585 52992 1025499869
1 f none postfix/help/opt_transport_maps.html 0600 root bin 585 52992 1025499869
1 f none postfix/help/opt_transport_maps.pl.html 0600 root bin 651 61570 1025499869
1 f none postfix/help/opt_transport_maps.sv.html 0600 root bin 580 54338 1025499869
1 f none postfix/help/opt_transport_retry_time.ca.html 0600 root bin 266 24487 1025499869
1 f none postfix/help/opt_transport_retry_time.html 0600 root bin 266 24487 1025499869
1 f none postfix/help/opt_transport_retry_time.pl.html 0600 root bin 303 30105 1025499869
1 f none postfix/help/opt_transport_retry_time.sv.html 0600 root bin 268 25333 1025499869
1 f none postfix/help/opt_trigger_timeout.ca.html 0600 root bin 270 24599 1025499869
1 f none postfix/help/opt_trigger_timeout.html 0600 root bin 270 24599 1025499869
1 f none postfix/help/opt_trigger_timeout.pl.html 0600 root bin 266 25540 1025499869
1 f none postfix/help/opt_trigger_timeout.sv.html 0600 root bin 298 28147 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.ca.html 0600 root bin 379 34781 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.html 0600 root bin 379 34781 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.pl.html 0600 root bin 376 35181 1025499869
1 f none postfix/help/opt_unknown_address_reject_code.sv.html 0600 root bin 374 36089 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.ca.html 0600 root bin 367 33531 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.html 0600 root bin 367 33531 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.pl.html 0600 root bin 372 34923 1025499869
1 f none postfix/help/opt_unknown_client_reject_code.sv.html 0600 root bin 380 36402 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.ca.html 0600 root bin 340 31006 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.html 0600 root bin 340 31006 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.pl.html 0600 root bin 326 30297 1025499869
1 f none postfix/help/opt_unknown_hostname_reject_code.sv.html 0600 root bin 338 32461 1025499869
1 f none postfix/help/opt_virtual_maps.ca.html 0600 root bin 546 49730 1025499869
1 f none postfix/help/opt_virtual_maps.html 0600 root bin 546 49730 1025499869
1 f none postfix/help/opt_virtual_maps.pl.html 0600 root bin 593 56013 1025499869
1 f none postfix/help/opt_virtual_maps.sv.html 0600 root bin 556 52697 1025499869
1 f none postfix/help/relay_rules.ca.html 0600 root bin 887 14393 1025499869
1 f none postfix/help/relay_rules.html 0600 root bin 887 14393 1025499869
1 f none postfix/help/relay_rules.pl.html 0600 root bin 965 23710 1025499869
1 f none postfix/help/relay_rules.sv.html 0600 root bin 889 17128 1025499869
1 f none postfix/help/relocated.ca.html 0600 root bin 999 23761 1025499869
1 f none postfix/help/relocated.html 0600 root bin 999 23761 1025499869
1 f none postfix/help/relocated.pl.html 0600 root bin 1212 50254 1025499869
1 f none postfix/help/relocated.sv.html 0600 root bin 1040 32699 1025499869
1 f none postfix/help/smtpd_restrictions.ca.html 0600 root bin 748 1878 1025499869
1 f none postfix/help/smtpd_restrictions.html 0600 root bin 748 1878 1025499869
1 f none postfix/help/smtpd_restrictions.pl.html 0600 root bin 869 13847 1025499869
1 f none postfix/help/smtpd_restrictions.sv.html 0600 root bin 739 4198 1025499869
1 f none postfix/help/transport.ca.html 0600 root bin 1259 48454 1025499869
1 f none postfix/help/transport.html 0600 root bin 1259 48454 1025499869
1 f none postfix/help/transport.pl.html 0600 root bin 1429 6053 1025499869
1 f none postfix/help/transport.sv.html 0600 root bin 1246 52865 1025499869
1 f none postfix/help/virtual.ca.html 0600 root bin 2544 29524 1025499869
1 f none postfix/help/virtual.html 0600 root bin 2544 29524 1025499869
1 f none postfix/help/virtual.pl.html 0600 root bin 2863 9502 1025499869
1 f none postfix/help/virtual.sv.html 0600 root bin 2588 46129 1025499869
1 d none postfix/images 0700 root bin
1 f none postfix/images/address_rewriting.gif 0600 root bin 2408 23089 1025499868
1 f none postfix/images/aliases.gif 0600 root bin 1924 54355 1025499868
1 f none postfix/images/canonical.gif 0600 root bin 2900 56537 1025499868
1 f none postfix/images/debug.gif 0600 root bin 2135 2464 1025499868
1 f none postfix/images/general.gif 0600 root bin 1522 34231 1025499868
1 f none postfix/images/icon.gif 0600 root bin 1840 18870 1025499868
1 f none postfix/images/ldap.gif 0600 root bin 1755 23281 1025499868
1 f none postfix/images/local_delivery.gif 0600 root bin 2367 22078 1025499868
1 f none postfix/images/rate.gif 0600 root bin 1821 20669 1025499868
1 f none postfix/images/relocated.gif 0600 root bin 1785 37348 1025499868
1 f none postfix/images/resource.gif 0600 root bin 1507 54943 1025499868
1 f none postfix/images/smtp.gif 0600 root bin 1709 12844 1025499868
1 f none postfix/images/smtpd.gif 0600 root bin 1828 38020 1025499868
1 f none postfix/images/transport.gif 0600 root bin 1291 18231 1025499868
1 f none postfix/images/virtual.gif 0600 root bin 1632 9195 1025499868
1 f none postfix/index.cgi 0700 root bin 3140 1181 1025499869
1 d none postfix/lang 0700 root bin
1 f none postfix/lang/ca 0600 root bin 17094 24825 1025499869
1 f none postfix/lang/de 0600 root bin 16779 50245 1025499868
1 f none postfix/lang/en 0600 root bin 15302 35521 1025499869
1 f none postfix/lang/es 0600 root bin 16658 53830 1025499869
1 f none postfix/lang/fr 0600 root bin 17255 3019 1025499868
1 f none postfix/lang/ja_JP.euc 0600 root bin 14380 52551 1025499869
1 f none postfix/lang/ja_JP.jis 0600 root bin 14380 4837 1025499869
1 f none postfix/lang/ko_KR.euc 0600 root bin 13370 3119 1025499869
1 f none postfix/lang/pl 0600 root bin 17659 24764 1025499869
1 f none postfix/lang/sv 0600 root bin 14457 33119 1025499869
1 f none postfix/lang/zh_CN 0600 root bin 10494 43774 1025499869
1 f none postfix/lang/zh_TW.Big5 0600 root bin 10740 64150 1025499869
1 f none postfix/ldap.cgi 0700 root bin 1620 7746 1025499868
1 f none postfix/local_delivery.cgi 0700 root bin 2856 54467 1025499869
1 f none postfix/maps_edit.cgi 0700 root bin 2173 51162 1025499869
1 f none postfix/module.info 0600 root bin 500 52534 1025499882
1 f none postfix/postfix-lib.pl 0600 root bin 13697 38145 1025499868
1 f none postfix/rate.cgi 0700 root bin 1738 19752 1025499869
1 f none postfix/relocated.cgi 0700 root bin 1592 4979 1025499869
1 f none postfix/resource.cgi 0700 root bin 2214 60624 1025499868
1 f none postfix/save_alias.cgi 0700 root bin 1924 29599 1025499869
1 f none postfix/save_map.cgi 0700 root bin 2260 57855 1025499869
1 f none postfix/save_opts.cgi 0700 root bin 787 2325 1025499869
1 f none postfix/save_opts_aliases.cgi 0700 root bin 787 2269 1025499868
1 f none postfix/save_opts_canonical.cgi 0700 root bin 865 9525 1025499868
1 f none postfix/save_opts_misc.cgi 0700 root bin 832 6397 1025499868
1 f none postfix/save_opts_relocated.cgi 0700 root bin 865 9569 1025499869
1 f none postfix/save_opts_transport.cgi 0700 root bin 865 9801 1025499868
1 f none postfix/save_opts_virtual.cgi 0700 root bin 857 8881 1025499869
1 f none postfix/smtp.cgi 0700 root bin 2355 8178 1025499869
1 f none postfix/smtpd.cgi 0700 root bin 3120 8491 1025499868
1 f none postfix/start.cgi 0700 root bin 808 5049 1025499869
1 f none postfix/stop.cgi 0700 root bin 786 3276 1025499868
1 f none postfix/transport.cgi 0700 root bin 1585 5008 1025499869
1 f none postfix/virtual.cgi 0700 root bin 1562 2363 1025499868
1 d none postgresql 0700 root bin
1 f none postgresql/acl_security.pl 0600 root bin 2592 14068 1025499870
1 f none postgresql/config 0600 root bin 299 27684 1025499870
1 f none postgresql/config-cobalt-linux 0600 root bin 247 22562 1025499870
1 f none postgresql/config-debian-linux 0600 root bin 242 22860 1025499870
1 f none postgresql/config-freebsd 0600 root bin 284 26037 1025499870
1 f none postgresql/config-gentoo-linux 0600 root bin 236 22399 1025499870
1 f none postgresql/config-mandrake-linux 0600 root bin 230 21529 1025499870
1 f none postgresql/config-msc-linux 0600 root bin 215 20260 1025499870
1 f none postgresql/config-netbsd 0600 root bin 258 23919 1025499870
1 f none postgresql/config-redhat-linux 0600 root bin 225 21072 1025499870
1 f none postgresql/config-redhat-linux-7.0 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.1 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.2 0600 root bin 230 21529 1025499870
1 f none postgresql/config-redhat-linux-7.3 0600 root bin 244 22934 1025499870
1 f none postgresql/config-suse-linux 0600 root bin 240 22459 1025499870
1 f none postgresql/config-suse-linux-7.0 0600 root bin 230 21503 1025499870
1 f none postgresql/config-suse-linux-7.1 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-7.2 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-7.3 0600 root bin 232 21721 1025499870
1 f none postgresql/config-suse-linux-8.0 0600 root bin 232 21721 1025499870
1 f none postgresql/config.info 0600 root bin 549 49874 1025499870
1 f none postgresql/config.info.ca 0600 root bin 613 56777 1025499870
1 f none postgresql/config.info.es 0600 root bin 560 52391 1025499870
1 f none postgresql/config.info.ja_JP.euc 0600 root bin 400 52548 1025499870
1 f none postgresql/config.info.pl 0600 root bin 561 54750 1025499870
1 f none postgresql/config.info.sv 0600 root bin 504 49508 1025499870
1 f none postgresql/config.info.zh_CN 0600 root bin 301 41551 1025499870
1 f none postgresql/config.info.zh_TW.Big5 0600 root bin 425 51321 1025499870
1 f none postgresql/create_table.cgi 0700 root bin 1095 20850 1025499869
1 f none postgresql/defaultacl 0600 root bin 39 3177 1025499869
1 f none postgresql/down.cgi 0700 root bin 595 48234 1025499870
1 f none postgresql/drop_dbase.cgi 0700 root bin 1115 25904 1025499870
1 f none postgresql/drop_field.cgi 0700 root bin 3376 3052 1025499870
1 f none postgresql/drop_table.cgi 0700 root bin 1128 28005 1025499870
1 f none postgresql/edit_dbase.cgi 0700 root bin 2112 45427 1025499869
1 f none postgresql/edit_field.cgi 0700 root bin 2618 17884 1025499869
1 f none postgresql/edit_grant.cgi 0700 root bin 2641 12666 1025499869
1 f none postgresql/edit_group.cgi 0700 root bin 2005 34373 1025499870
1 f none postgresql/edit_host.cgi 0700 root bin 3500 20691 1025499870
1 f none postgresql/edit_table.cgi 0700 root bin 2774 32982 1025499869
1 f none postgresql/edit_user.cgi 0700 root bin 2519 11911 1025499869
1 f none postgresql/exec.cgi 0700 root bin 914 6456 1025499870
1 f none postgresql/exec_form.cgi 0700 root bin 635 54416 1025499869
1 d none postgresql/help 0700 root bin
1 f none postgresql/help/create_field.ca.html 0600 root bin 1 10 1025499870
1 f none postgresql/help/create_field.es.html 0600 root bin 596 53505 1025499870
1 f none postgresql/help/create_field.html 0600 root bin 561 48629 1025499870
1 f none postgresql/help/create_field.it.html 0600 root bin 535 47332 1025499870
1 f none postgresql/help/create_field.ja_JP.euc.html 0600 root bin 589 29243 1025499870
1 f none postgresql/help/create_field.pl.html 0600 root bin 605 55276 1025499870
1 f none postgresql/help/drop_field.html 0600 root bin 478 43050 1025499870
1 f none postgresql/help/edit_dbase.ca.html 0600 root bin 519 46349 1025499870
1 f none postgresql/help/edit_dbase.es.html 0600 root bin 481 42936 1025499870
1 f none postgresql/help/edit_dbase.html 0600 root bin 423 37518 1025499870
1 f none postgresql/help/edit_dbase.it.html 0600 root bin 489 44192 1025499870
1 f none postgresql/help/edit_dbase.ja_JP.euc.html 0600 root bin 518 25740 1025499870
1 f none postgresql/help/edit_dbase.pl.html 0600 root bin 539 51921 1025499870
1 f none postgresql/help/edit_field.ca.html 0600 root bin 355 32056 1025499870
1 f none postgresql/help/edit_field.es.html 0600 root bin 355 32142 1025499870
1 f none postgresql/help/edit_field.html 0600 root bin 324 28665 1025499870
1 f none postgresql/help/edit_field.it.html 0600 root bin 388 35244 1025499870
1 f none postgresql/help/edit_field.ja_JP.euc.html 0600 root bin 375 64570 1025499870
1 f none postgresql/help/edit_field.pl.html 0600 root bin 334 32023 1025499870
1 f none postgresql/help/edit_table.ca.html 0600 root bin 627 56212 1025499870
1 f none postgresql/help/edit_table.es.html 0600 root bin 619 56570 1025499870
1 f none postgresql/help/edit_table.html 0600 root bin 554 49718 1025499870
1 f none postgresql/help/edit_table.it.html 0600 root bin 560 50329 1025499870
1 f none postgresql/help/edit_table.ja_JP.euc.html 0600 root bin 572 34381 1025499870
1 f none postgresql/help/edit_table.pl.html 0600 root bin 622 59682 1025499870
1 f none postgresql/help/exec_form.ca.html 0600 root bin 234 22116 1025499870
1 f none postgresql/help/exec_form.es.html 0600 root bin 268 24069 1025499870
1 f none postgresql/help/exec_form.html 0600 root bin 203 18090 1025499870
1 f none postgresql/help/exec_form.it.html 0600 root bin 236 21525 1025499870
1 f none postgresql/help/exec_form.ja_JP.euc.html 0600 root bin 191 29733 1025499870
1 f none postgresql/help/exec_form.pl.html 0600 root bin 282 25887 1025499870
1 f none postgresql/help/intro.ca.html 0600 root bin 803 8003 1025499870
1 f none postgresql/help/intro.es.html 0600 root bin 846 13181 1025499870
1 f none postgresql/help/intro.html 0600 root bin 705 64541 1025499870
1 f none postgresql/help/intro.it.html 0600 root bin 768 4842 1025499870
1 f none postgresql/help/intro.ja_JP.euc.html 0600 root bin 686 50992 1025499870
1 f none postgresql/help/intro.pl.html 0600 root bin 863 18597 1025499870
1 f none postgresql/help/list_grants.ca.html 0600 root bin 506 46930 1025499870
1 f none postgresql/help/list_grants.es.html 0600 root bin 451 41853 1025499870
1 f none postgresql/help/list_grants.html 0600 root bin 461 41961 1025499870
1 f none postgresql/help/list_grants.it.html 0600 root bin 472 43364 1025499870
1 f none postgresql/help/list_grants.ja_JP.euc.html 0600 root bin 473 17388 1025499870
1 f none postgresql/help/list_grants.pl.html 0600 root bin 492 47924 1025499870
1 f none postgresql/help/list_groups.ca.html 0600 root bin 231 20775 1025499870
1 f none postgresql/help/list_groups.es.html 0600 root bin 244 22287 1025499870
1 f none postgresql/help/list_groups.html 0600 root bin 221 19655 1025499870
1 f none postgresql/help/list_groups.it.html 0600 root bin 288 26295 1025499870
1 f none postgresql/help/list_groups.ja_JP.euc.html 0600 root bin 246 39964 1025499870
1 f none postgresql/help/list_groups.pl.html 0600 root bin 274 26587 1025499870
1 f none postgresql/help/list_hosts.ca.html 0600 root bin 1205 44470 1025499870
1 f none postgresql/help/list_hosts.es.html 0600 root bin 1268 50833 1025499870
1 f none postgresql/help/list_hosts.html 0600 root bin 1103 33612 1025499870
1 f none postgresql/help/list_hosts.it.html 0600 root bin 1170 40269 1025499870
1 f none postgresql/help/list_hosts.ja_JP.euc.html 0600 root bin 1019 38787 1025499870
1 f none postgresql/help/list_hosts.pl.html 0600 root bin 1237 52688 1025499870
1 f none postgresql/help/list_users.ca.html 0600 root bin 321 29326 1025499870
1 f none postgresql/help/list_users.es.html 0600 root bin 341 31468 1025499870
1 f none postgresql/help/list_users.html 0600 root bin 312 28351 1025499870
1 f none postgresql/help/list_users.it.html 0600 root bin 319 29026 1025499870
1 f none postgresql/help/list_users.ja_JP.euc.html 0600 root bin 289 47800 1025499870
1 f none postgresql/help/list_users.pl.html 0600 root bin 367 37053 1025499870
1 f none postgresql/help/newdb_form.ca.html 0600 root bin 346 30566 1025499870
1 f none postgresql/help/newdb_form.es.html 0600 root bin 362 32677 1025499870
1 f none postgresql/help/newdb_form.html 0600 root bin 301 26790 1025499870
1 f none postgresql/help/newdb_form.it.html 0600 root bin 251 22128 1025499870
1 f none postgresql/help/newdb_form.ja_JP.euc.html 0600 root bin 334 56174 1025499870
1 f none postgresql/help/newdb_form.pl.html 0600 root bin 315 31160 1025499870
1 f none postgresql/help/table_form.ca.html 0600 root bin 529 47913 1025499870
1 f none postgresql/help/table_form.es.html 0600 root bin 558 50827 1025499870
1 f none postgresql/help/table_form.html 0600 root bin 501 44498 1025499870
1 f none postgresql/help/table_form.it.html 0600 root bin 571 50885 1025499870
1 f none postgresql/help/table_form.ja_JP.euc.html 0600 root bin 448 12106 1025499870
1 f none postgresql/help/table_form.pl.html 0600 root bin 550 53931 1025499870
1 f none postgresql/help/view_table.ca.html 0600 root bin 782 3355 1025499870
1 f none postgresql/help/view_table.es.html 0600 root bin 804 6571 1025499870
1 f none postgresql/help/view_table.html 0600 root bin 708 61084 1025499870
1 f none postgresql/help/view_table.it.html 0600 root bin 776 2880 1025499870
1 f none postgresql/help/view_table.ja_JP.euc.html 0600 root bin 630 34731 1025499870
1 f none postgresql/help/view_table.pl.html 0600 root bin 799 7952 1025499870
1 d none postgresql/images 0700 root bin
1 f none postgresql/images/db.gif 0600 root bin 462 58683 1025499869
1 f none postgresql/images/down.gif 0600 root bin 108 8892 1025499869
1 f none postgresql/images/gap.gif 0600 root bin 73 6048 1025499869
1 f none postgresql/images/grants.gif 0600 root bin 1869 17073 1025499869
1 f none postgresql/images/groups.gif 0600 root bin 401 45436 1025499869
1 f none postgresql/images/hosts.gif 0600 root bin 412 49712 1025499869
1 f none postgresql/images/icon.gif 0600 root bin 1752 25416 1025499869
1 f none postgresql/images/table.gif 0600 root bin 366 49508 1025499869
1 f none postgresql/images/up.gif 0600 root bin 103 9086 1025499869
1 f none postgresql/images/users.gif 0600 root bin 293 35470 1025499869
1 f none postgresql/index.cgi 0700 root bin 4512 34631 1025499870
1 d none postgresql/lang 0700 root bin
1 f none postgresql/lang/ca 0600 root bin 10679 15752 1025499870
1 f none postgresql/lang/en 0600 root bin 9973 14308 1025499870
1 f none postgresql/lang/es 0600 root bin 10370 60363 1025499870
1 f none postgresql/lang/it 0600 root bin 10295 45720 1025499870
1 f none postgresql/lang/ja_JP.euc 0600 root bin 9670 50472 1025499870
1 f none postgresql/lang/ko_KR.euc 0600 root bin 8528 29469 1025499870
1 f none postgresql/lang/pl 0600 root bin 10430 42209 1025499870
1 f none postgresql/lang/sv 0600 root bin 9428 2014 1025499870
1 f none postgresql/lang/zh_CN 0600 root bin 6612 43163 1025499870
1 f none postgresql/lang/zh_TW.Big5 0600 root bin 7325 35113 1025499870
1 f none postgresql/list_grants.cgi 0700 root bin 2211 38751 1025499869
1 f none postgresql/list_groups.cgi 0700 root bin 1229 32880 1025499869
1 f none postgresql/list_hosts.cgi 0700 root bin 1705 2056 1025499870
1 f none postgresql/list_locals.cgi 0700 root bin 808 65017 1025499869
1 f none postgresql/list_users.cgi 0700 root bin 1231 33087 1025499870
1 f none postgresql/log_parser.pl 0600 root bin 1583 62265 1025499870
1 f none postgresql/login.cgi 0700 root bin 511 44492 1025499869
1 f none postgresql/module.info 0600 root bin 427 44427 1025499882
1 f none postgresql/newdb.cgi 0700 root bin 696 57516 1025499870
1 f none postgresql/newdb_form.cgi 0700 root bin 935 13771 1025499869
1 f none postgresql/postgresql-lib.pl 0600 root bin 8763 18977 1025499869
1 f none postgresql/save_field.cgi 0700 root bin 769 61079 1025499870
1 f none postgresql/save_grant.cgi 0700 root bin 1045 14083 1025499870
1 f none postgresql/save_group.cgi 0700 root bin 1287 41066 1025499869
1 f none postgresql/save_host.cgi 0700 root bin 1988 26204 1025499870
1 f none postgresql/save_user.cgi 0700 root bin 1240 33131 1025499869
1 f none postgresql/start.cgi 0700 root bin 396 33244 1025499870
1 f none postgresql/stop.cgi 0700 root bin 610 49486 1025499869
1 f none postgresql/table_form.cgi 0700 root bin 1811 20324 1025499870
1 f none postgresql/up.cgi 0700 root bin 591 47814 1025499870
1 f none postgresql/view_table.cgi 0700 root bin 5803 62923 1025499869
1 i postinstall 406 37191 1025505346
1 i preremove 301 24986 1025505347
1 d none proc 0700 root bin
1 f none proc/acl_security.pl 0600 root bin 1352 45821 1025499844
1 f none proc/config-aix 0600 root bin 44 4242 1025499849
1 f none proc/config-cobalt-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-corel-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-debian-linux 0600 root bin 45 4333 1025499847
1 f none proc/config-freebsd 0600 root bin 47 4503 1025499844
1 f none proc/config-generic-linux 0600 root bin 45 4333 1025499850
1 f none proc/config-gentoo-linux 0600 root bin 45 4333 1025499850
1 f none proc/config-hpux 0600 root bin 44 4225 1025499844
1 f none proc/config-irix 0600 root bin 44 4242 1025499844
1 f none proc/config-macos 0600 root bin 45 4300 1025499844
1 f none proc/config-mandrake-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-msc-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-netbsd 0600 root bin 47 4503 1025499849
1 f none proc/config-open-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-openbsd 0600 root bin 47 4519 1025499849
1 f none proc/config-openserver 0600 root bin 44 4242 1025499849
1 f none proc/config-osf1 0600 root bin 43 4101 1025499849
1 f none proc/config-redhat-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-slackware-linux 0600 root bin 45 4333 1025499849
1 f none proc/config-solaris 0600 root bin 44 4242 1025499844
1 f none proc/config-suse-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-turbo-linux 0600 root bin 45 4333 1025499844
1 f none proc/config-unixware 0600 root bin 44 4242 1025499849
1 f none proc/config.info 0600 root bin 275 25461 1025499849
1 f none proc/config.info.ca 0600 root bin 346 31954 1025499849
1 f none proc/config.info.de 0600 root bin 313 29196 1025499847
1 f none proc/config.info.es 0600 root bin 336 32015 1025499844
1 f none proc/config.info.fr 0600 root bin 315 29481 1025499849
1 f none proc/config.info.hu 0600 root bin 293 29930 1025499849
1 f none proc/config.info.pl 0600 root bin 321 31751 1025499849
1 f none proc/config.info.ru_RU 0600 root bin 333 54501 1025499849
1 f none proc/config.info.ru_SU 0600 root bin 333 49596 1025499844
1 f none proc/config.info.sv 0600 root bin 311 30774 1025499847
1 f none proc/config.info.tr 0600 root bin 298 33075 1025499849
1 f none proc/config.info.zh_CN 0600 root bin 214 28029 1025499844
1 f none proc/config.info.zh_TW.Big5 0600 root bin 248 31411 1025499844
1 f none proc/defaultacl 0600 root bin 30 2414 1025499844
1 f none proc/edit_proc.cgi 0700 root bin 4271 17354 1025499844
1 f none proc/freebsd-lib.pl 0600 root bin 1756 3770 1025499848
1 d none proc/help 0700 root bin
1 f none proc/help/cmd.ca.html 0600 root bin 265 22944 1025499849
1 f none proc/help/cmd.es.html 0600 root bin 268 23498 1025499849
1 f none proc/help/cmd.fr.html 0600 root bin 315 29069 1025499848
1 f none proc/help/cmd.html 0600 root bin 252 21766 1025499848
1 f none proc/help/cmd.hu.html 0600 root bin 305 29028 1025499849
1 f none proc/help/cmd.pl.html 0600 root bin 310 28863 1025499849
1 f none proc/help/cmd.sv.html 0600 root bin 274 24966 1025499849
1 f none proc/help/cmd.zh_TW.Big5.html 0600 root bin 224 26337 1025499849
1 f none proc/help/cpu.ca.html 0600 root bin 699 64698 1025499849
1 f none proc/help/cpu.es.html 0600 root bin 699 64377 1025499849
1 f none proc/help/cpu.fr.html 0600 root bin 799 9819 1025499848
1 f none proc/help/cpu.html 0600 root bin 648 58183 1025499848
1 f none proc/help/cpu.hu.html 0600 root bin 698 3883 1025499849
1 f none proc/help/cpu.pl.html 0600 root bin 792 12411 1025499849
1 f none proc/help/cpu.sv.html 0600 root bin 613 58086 1025499849
1 f none proc/help/cpu.zh_TW.Big5.html 0600 root bin 512 7083 1025499848
1 f none proc/help/edit_proc.ca.html 0600 root bin 1688 20570 1025499849
1 f none proc/help/edit_proc.es.html 0600 root bin 1709 23936 1025499849
1 f none proc/help/edit_proc.fr.html 0600 root bin 1789 36384 1025499849
1 f none proc/help/edit_proc.html 0600 root bin 1576 8931 1025499849
1 f none proc/help/edit_proc.hu.html 0600 root bin 1622 30657 1025499849
1 f none proc/help/edit_proc.pl.html 0600 root bin 1772 39251 1025499849
1 f none proc/help/edit_proc.sv.html 0600 root bin 1579 16966 1025499849
1 f none proc/help/edit_proc.zh_TW.Big5.html 0600 root bin 1097 23020 1025499849
1 f none proc/help/input.ca.html 0600 root bin 242 21903 1025499849
1 f none proc/help/input.es.html 0600 root bin 242 22324 1025499849
1 f none proc/help/input.fr.html 0600 root bin 139 12752 1025499848
1 f none proc/help/input.html 0600 root bin 221 19885 1025499848
1 f none proc/help/input.hu.html 0600 root bin 216 21120 1025499849
1 f none proc/help/input.pl.html 0600 root bin 246 23634 1025499849
1 f none proc/help/input.sv.html 0600 root bin 237 22461 1025499849
1 f none proc/help/input.zh_TW.Big5.html 0600 root bin 161 22271 1025499848
1 f none proc/help/intro.ca.html 0600 root bin 1213 47052 1025499849
1 f none proc/help/intro.es.html 0600 root bin 1283 52771 1025499848
1 f none proc/help/intro.fr.html 0600 root bin 1442 8027 1025499849
1 f none proc/help/intro.html 0600 root bin 1138 37941 1025499849
1 f none proc/help/intro.hu.html 0600 root bin 1316 3428 1025499849
1 f none proc/help/intro.pl.html 0600 root bin 1301 61902 1025499849
1 f none proc/help/intro.sv.html 0600 root bin 1113 42899 1025499848
1 f none proc/help/intro.zh_TW.Big5.html 0600 root bin 825 53257 1025499849
1 f none proc/help/mode.ca.html 0600 root bin 432 37173 1025499849
1 f none proc/help/mode.es.html 0600 root bin 417 37315 1025499849
1 f none proc/help/mode.fr.html 0600 root bin 414 38829 1025499849
1 f none proc/help/mode.html 0600 root bin 372 32806 1025499849
1 f none proc/help/mode.hu.html 0600 root bin 376 38048 1025499849
1 f none proc/help/mode.pl.html 0600 root bin 430 40256 1025499849
1 f none proc/help/mode.sv.html 0600 root bin 337 32111 1025499848
1 f none proc/help/mode.zh_TW.Big5.html 0600 root bin 278 38063 1025499849
1 f none proc/help/nice.ca.html 0600 root bin 547 51318 1025499849
1 f none proc/help/nice.es.html 0600 root bin 499 45984 1025499849
1 f none proc/help/nice.fr.html 0600 root bin 523 50397 1025499848
1 f none proc/help/nice.html 0600 root bin 445 41008 1025499849
1 f none proc/help/nice.hu.html 0600 root bin 436 44626 1025499849
1 f none proc/help/nice.pl.html 0600 root bin 539 53989 1025499849
1 f none proc/help/nice.sv.html 0600 root bin 457 45294 1025499849
1 f none proc/help/nice.zh_TW.Big5.html 0600 root bin 358 54257 1025499848
1 f none proc/help/overview.ca.html 0600 root bin 78 7252 1025499849
1 f none proc/help/overview.es.html 0600 root bin 87 8224 1025499849
1 f none proc/help/overview.fr.html 0600 root bin 78 7267 1025499849
1 f none proc/help/overview.html 0600 root bin 73 6679 1025499849
1 f none proc/help/overview.hu.html 0600 root bin 90 9019 1025499849
1 f none proc/help/overview.pl.html 0600 root bin 86 8157 1025499849
1 f none proc/help/overview.sv.html 0600 root bin 68 6483 1025499849
1 f none proc/help/overview.zh_TW.Big5.html 0600 root bin 66 8897 1025499849
1 f none proc/help/run.ca.html 0600 root bin 234 21706 1025499849
1 f none proc/help/run.es.html 0600 root bin 245 22755 1025499849
1 f none proc/help/run.fr.html 0600 root bin 246 23254 1025499849
1 f none proc/help/run.html 0600 root bin 231 20976 1025499848
1 f none proc/help/run.hu.html 0600 root bin 247 24890 1025499849
1 f none proc/help/run.pl.html 0600 root bin 302 30034 1025499849
1 f none proc/help/run.sv.html 0600 root bin 235 22476 1025499849
1 f none proc/help/run.zh_TW.Big5.html 0600 root bin 154 21978 1025499848
1 f none proc/help/scpu.ca.html 0600 root bin 152 13760 1025499849
1 f none proc/help/scpu.es.html 0600 root bin 141 12917 1025499848
1 f none proc/help/scpu.fr.html 0600 root bin 192 18002 1025499848
1 f none proc/help/scpu.html 0600 root bin 137 12406 1025499849
1 f none proc/help/scpu.hu.html 0600 root bin 153 14998 1025499849
1 f none proc/help/scpu.pl.html 0600 root bin 166 16639 1025499849
1 f none proc/help/scpu.sv.html 0600 root bin 136 12733 1025499849
1 f none proc/help/scpu.zh_TW.Big5.html 0600 root bin 106 13593 1025499849
1 f none proc/help/search.ca.html 0600 root bin 700 64314 1025499849
1 f none proc/help/search.es.html 0600 root bin 734 2343 1025499849
1 f none proc/help/search.fr.html 0600 root bin 784 8279 1025499848
1 f none proc/help/search.html 0600 root bin 665 59582 1025499849
1 f none proc/help/search.hu.html 0600 root bin 701 4885 1025499849
1 f none proc/help/search.pl.html 0600 root bin 786 12643 1025499849
1 f none proc/help/search.sv.html 0600 root bin 669 64653 1025499849
1 f none proc/help/search.zh_TW.Big5.html 0600 root bin 504 5798 1025499849
1 f none proc/help/sfiles.ca.html 0600 root bin 233 21616 1025499849
1 f none proc/help/sfiles.es.html 0600 root bin 227 21110 1025499849
1 f none proc/help/sfiles.fr.html 0600 root bin 270 25805 1025499849
1 f none proc/help/sfiles.html 0600 root bin 208 18956 1025499849
1 f none proc/help/sfiles.hu.html 0600 root bin 266 27099 1025499849
1 f none proc/help/sfiles.pl.html 0600 root bin 239 23586 1025499849
1 f none proc/help/sfiles.sv.html 0600 root bin 215 20537 1025499849
1 f none proc/help/sfiles.zh_TW.Big5.html 0600 root bin 135 20006 1025499849
1 f none proc/help/sfs.ca.html 0600 root bin 421 39865 1025499849
1 f none proc/help/sfs.es.html 0600 root bin 451 42949 1025499849
1 f none proc/help/sfs.fr.html 0600 root bin 428 41268 1025499849
1 f none proc/help/sfs.html 0600 root bin 375 34611 1025499849
1 f none proc/help/sfs.hu.html 0600 root bin 442 46091 1025499849
1 f none proc/help/sfs.pl.html 0600 root bin 503 51106 1025499849
1 f none proc/help/sfs.sv.html 0600 root bin 397 38359 1025499849
1 f none proc/help/sfs.zh_TW.Big5.html 0600 root bin 219 33879 1025499849
1 f none proc/help/signore.ca.html 0600 root bin 263 24178 1025499849
1 f none proc/help/signore.html 0600 root bin 240 21763 1025499849
1 f none proc/help/signore.pl.html 0600 root bin 256 25885 1025499849
1 f none proc/help/size.ca.html 0600 root bin 823 11870 1025499849
1 f none proc/help/size.es.html 0600 root bin 808 10294 1025499849
1 f none proc/help/size.fr.html 0600 root bin 805 11771 1025499849
1 f none proc/help/size.html 0600 root bin 711 65079 1025499849
1 f none proc/help/size.hu.html 0600 root bin 863 22590 1025499849
1 f none proc/help/size.pl.html 0600 root bin 861 20805 1025499849
1 f none proc/help/size.sv.html 0600 root bin 688 398 1025499849
1 f none proc/help/size.zh_TW.Big5.html 0600 root bin 565 19558 1025499849
1 f none proc/help/smatch.ca.html 0600 root bin 289 26924 1025499849
1 f none proc/help/smatch.es.html 0600 root bin 259 24299 1025499848
1 f none proc/help/smatch.fr.html 0600 root bin 293 27640 1025499849
1 f none proc/help/smatch.html 0600 root bin 227 20836 1025499848
1 f none proc/help/smatch.hu.html 0600 root bin 282 28162 1025499849
1 f none proc/help/smatch.pl.html 0600 root bin 247 24406 1025499849
1 f none proc/help/smatch.sv.html 0600 root bin 242 23088 1025499849
1 f none proc/help/smatch.zh_TW.Big5.html 0600 root bin 160 20553 1025499849
1 f none proc/help/ssocket.ca.html 0600 root bin 159 14891 1025499849
1 f none proc/help/ssocket.html 0600 root bin 140 12852 1025499849
1 f none proc/help/suser.ca.html 0600 root bin 114 10097 1025499849
1 f none proc/help/suser.es.html 0600 root bin 132 12218 1025499849
1 f none proc/help/suser.fr.html 0600 root bin 126 11708 1025499849
1 f none proc/help/suser.html 0600 root bin 102 9127 1025499849
1 f none proc/help/suser.hu.html 0600 root bin 144 14221 1025499849
1 f none proc/help/suser.pl.html 0600 root bin 127 12626 1025499849
1 f none proc/help/suser.sv.html 0600 root bin 103 9659 1025499849
1 f none proc/help/suser.zh_TW.Big5.html 0600 root bin 77 10731 1025499848
1 f none proc/help/tree.ca.html 0600 root bin 330 30065 1025499849
1 f none proc/help/tree.es.html 0600 root bin 335 30745 1025499849
1 f none proc/help/tree.fr.html 0600 root bin 357 34136 1025499849
1 f none proc/help/tree.html 0600 root bin 320 29040 1025499849
1 f none proc/help/tree.hu.html 0600 root bin 339 33075 1025499849
1 f none proc/help/tree.pl.html 0600 root bin 384 37356 1025499849
1 f none proc/help/tree.sv.html 0600 root bin 305 29367 1025499849
1 f none proc/help/tree.zh_TW.Big5.html 0600 root bin 256 35954 1025499849
1 f none proc/help/user.ca.html 0600 root bin 354 32190 1025499849
1 f none proc/help/user.es.html 0600 root bin 443 40824 1025499849
1 f none proc/help/user.fr.html 0600 root bin 460 44455 1025499848
1 f none proc/help/user.html 0600 root bin 381 34198 1025499849
1 f none proc/help/user.hu.html 0600 root bin 395 39558 1025499849
1 f none proc/help/user.pl.html 0600 root bin 454 44865 1025499849
1 f none proc/help/user.sv.html 0600 root bin 328 31359 1025499849
1 f none proc/help/user.zh_TW.Big5.html 0600 root bin 296 42704 1025499848
1 f none proc/hpux-lib.pl 0600 root bin 1937 12545 1025499849
1 d none proc/images 0700 root bin
1 f none proc/images/icon.gif 0600 root bin 359 41333 1025499844
1 f none proc/index.cgi 0700 root bin 470 38729 1025499849
1 f none proc/index_cpu.cgi 0700 root bin 1134 24118 1025499844
1 f none proc/index_run.cgi 0700 root bin 1006 18642 1025499849
1 f none proc/index_search.cgi 0700 root bin 6317 41683 1025499849
1 f none proc/index_size.cgi 0700 root bin 1221 30761 1025499849
1 f none proc/index_tree.cgi 0700 root bin 1456 49620 1025499848
1 f none proc/index_user.cgi 0700 root bin 1258 32459 1025499844
1 f none proc/kill_proc.cgi 0700 root bin 724 58617 1025499844
1 f none proc/kill_proc_list.cgi 0700 root bin 795 64841 1025499844
1 d none proc/lang 0700 root bin
1 f none proc/lang/ca 0600 root bin 3351 53356 1025499846
1 f none proc/lang/de 0600 root bin 2050 1167 1025499844
1 f none proc/lang/en 0600 root bin 3684 17026 1025499844
1 f none proc/lang/es 0600 root bin 3159 35157 1025499844
1 f none proc/lang/fr 0600 root bin 3338 62672 1025499844
1 f none proc/lang/hu 0600 root bin 2012 9721 1025499845
1 f none proc/lang/ja_JP.euc 0600 root bin 2682 21333 1025499845
1 f none proc/lang/ko_KR.euc 0600 root bin 2539 61514 1025499845
1 f none proc/lang/pl 0600 root bin 3228 55104 1025499845
1 f none proc/lang/pt 0600 root bin 2171 13786 1025499844
1 f none proc/lang/ru_RU 0600 root bin 1983 48100 1025499845
1 f none proc/lang/ru_SU 0600 root bin 2011 26152 1025499845
1 f none proc/lang/sv 0600 root bin 2706 64192 1025499845
1 f none proc/lang/tr 0600 root bin 2253 42843 1025499845
1 f none proc/lang/zh_CN 0600 root bin 2009 59830 1025499844
1 f none proc/lang/zh_TW.Big5 0600 root bin 1697 16282 1025499844
1 f none proc/linux-lib.pl 0600 root bin 4592 22131 1025499844
1 f none proc/log_parser.pl 0600 root bin 988 9988 1025499849
1 f none proc/low.skill 0600 root bin 9 770 1025499849
1 f none proc/macos-lib.pl 0600 root bin 1645 55250 1025499844
1 f none proc/medium.risk 0600 root bin 21 1904 1025499849
1 f none proc/medium.skill 0600 root bin 9 770 1025499849
1 f none proc/module.info 0600 root bin 767 17373 1025499882
1 f none proc/open_files.cgi 0700 root bin 3042 36497 1025499850
1 f none proc/openbsd-lib.pl 0600 root bin 1292 32949 1025499850
1 f none proc/osf-lib.pl 0600 root bin 1920 18204 1025499844
1 f none proc/proc-lib.pl 0600 root bin 6210 9879 1025499844
1 f none proc/renice_proc.cgi 0700 root bin 341 29330 1025499844
1 f none proc/run.cgi 0700 root bin 880 3382 1025499849
1 f none proc/sysv-lib.pl 0600 root bin 2276 47447 1025499847
1 d none procmail 0700 root bin
1 f none procmail/config 0600 root bin 27 2617 1025499882
1 f none procmail/config.info 0600 root bin 44 4144 1025499882
1 f none procmail/down.cgi 0700 root bin 210 17340 1025499882
1 f none procmail/edit_env.cgi 0700 root bin 1326 44658 1025499882
1 f none procmail/edit_recipe.cgi 0700 root bin 3655 29529 1025499882
1 d none procmail/images 0700 root bin
1 f none procmail/images/down.gif 0600 root bin 108 8892 1025499882
1 f none procmail/images/gap.gif 0600 root bin 73 6048 1025499882
1 f none procmail/images/icon.gif 0600 root bin 1526 1442 1025499882
1 f none procmail/images/up.gif 0600 root bin 103 9086 1025499882
1 f none procmail/index.cgi 0700 root bin 2701 64497 1025499882
1 d none procmail/lang 0700 root bin
1 f none procmail/lang/en 0600 root bin 2862 4598 1025499882
1 f none procmail/module.info 0600 root bin 85 7563 1025499882
1 f none procmail/procmail-lib.pl 0600 root bin 4682 15894 1025499882
1 f none procmail/save_env.cgi 0700 root bin 582 47344 1025499882
1 f none procmail/save_recipe.cgi 0700 root bin 1926 12220 1025499882
1 f none procmail/up.cgi 0700 root bin 206 16920 1025499882
1 d none proftpd 0700 root bin
1 f none proftpd/allmanual_form.cgi 0700 root bin 1077 25313 1025499877
1 f none proftpd/allmanual_save.cgi 0700 root bin 365 29682 1025499877
1 f none proftpd/anon_index.cgi 0700 root bin 2887 40056 1025499877
1 f none proftpd/apply.cgi 0700 root bin 194 15987 1025499877
1 f none proftpd/config 0600 root bin 137 13257 1025499877
1 f none proftpd/config-cobalt-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-debian-linux 0600 root bin 151 14577 1025499877
1 f none proftpd/config-freebsd 0600 root bin 134 12986 1025499877
1 f none proftpd/config-gentoo-linux 0600 root bin 123 11963 1025499877
1 f none proftpd/config-mandrake-linux 0600 root bin 156 14983 1025499877
1 f none proftpd/config-msc-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-open-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-redhat-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-slackware-linux 0600 root bin 115 11149 1025499877
1 f none proftpd/config-suse-linux 0600 root bin 151 14577 1025499877
1 f none proftpd/config-turbo-linux 0600 root bin 156 14983 1025499877
1 f none proftpd/config.info 0600 root bin 201 18058 1025499877
1 f none proftpd/config.info.ca 0600 root bin 240 22403 1025499877
1 f none proftpd/config.info.es 0600 root bin 239 21987 1025499877
1 f none proftpd/config.info.pl 0600 root bin 254 24169 1025499877
1 f none proftpd/create_dir.cgi 0700 root bin 801 943 1025499877
1 f none proftpd/create_ftpaccess.cgi 0700 root bin 765 63316 1025499877
1 f none proftpd/create_limit.cgi 0700 root bin 1030 18527 1025499877
1 f none proftpd/create_virt.cgi 0700 root bin 964 15816 1025499877
1 f none proftpd/delete_ftpaccess.cgi 0700 root bin 414 35484 1025499877
1 f none proftpd/dir_index.cgi 0700 root bin 2511 9827 1025499877
1 f none proftpd/edit_anon.cgi 0700 root bin 1167 34055 1025499877
1 f none proftpd/edit_aserv.cgi 0700 root bin 1955 31829 1025499877
1 f none proftpd/edit_dir.cgi 0700 root bin 1768 18623 1025499877
1 f none proftpd/edit_dserv.cgi 0700 root bin 1773 18577 1025499877
1 f none proftpd/edit_ftpaccess.cgi 0700 root bin 1109 29591 1025499877
1 f none proftpd/edit_ftpusers.cgi 0700 root bin 568 48617 1025499877
1 f none proftpd/edit_global.cgi 0700 root bin 980 17211 1025499877
1 f none proftpd/edit_limit.cgi 0700 root bin 3205 7657 1025499877
1 f none proftpd/edit_lserv.cgi 0700 root bin 3611 39013 1025499877
1 f none proftpd/edit_net.cgi 0700 root bin 742 61672 1025499877
1 f none proftpd/edit_virt.cgi 0700 root bin 1033 22298 1025499877
1 f none proftpd/edit_vserv.cgi 0700 root bin 1436 54734 1025499877
1 f none proftpd/feedback_files.pl 0600 root bin 126 10140 1025499877
1 f none proftpd/find_ftpaccess.cgi 0700 root bin 1030 17310 1025499877
1 f none proftpd/ftpaccess.cgi 0700 root bin 1364 48199 1025499877
1 f none proftpd/ftpaccess_index.cgi 0700 root bin 1850 21258 1025499877
1 d none proftpd/images 0700 root bin
1 f none proftpd/images/anon.gif 0600 root bin 237 27060 1025499877
1 f none proftpd/images/dir.gif 0600 root bin 266 29430 1025499877
1 f none proftpd/images/dirs.gif 0600 root bin 266 29430 1025499877
1 f none proftpd/images/edit.gif 0600 root bin 478 48537 1025499877
1 f none proftpd/images/ftpusers.gif 0600 root bin 390 43396 1025499877
1 f none proftpd/images/icon.gif 0600 root bin 1547 60213 1025499877
1 f none proftpd/images/limit.gif 0600 root bin 296 34436 1025499877
1 f none proftpd/images/log.gif 0600 root bin 470 52260 1025499877
1 f none proftpd/images/misc.gif 0600 root bin 460 53918 1025499877
1 f none proftpd/images/type_icon_0.gif 0600 root bin 478 58145 1025499877
1 f none proftpd/images/type_icon_1.gif 0600 root bin 470 52260 1025499877
1 f none proftpd/images/type_icon_2.gif 0600 root bin 373 41729 1025499877
1 f none proftpd/images/type_icon_3.gif 0600 root bin 275 34570 1025499877
1 f none proftpd/images/type_icon_4.gif 0600 root bin 460 53918 1025499877
1 f none proftpd/images/type_icon_5.gif 0600 root bin 390 43396 1025499877
1 f none proftpd/images/type_icon_6.gif 0600 root bin 304 36662 1025499877
1 f none proftpd/images/virt.gif 0600 root bin 1547 60213 1025499877
1 f none proftpd/index.cgi 0700 root bin 7192 49098 1025499877
1 d none proftpd/lang 0700 root bin
1 f none proftpd/lang/ca 0600 root bin 18974 52217 1025499877
1 f none proftpd/lang/en 0600 root bin 16516 65097 1025499877
1 f none proftpd/lang/es 0600 root bin 17185 19876 1025499877
1 f none proftpd/lang/it 0600 root bin 16062 22285 1025499877
1 f none proftpd/lang/pl 0600 root bin 18597 8428 1025499877
1 f none proftpd/limit_index.cgi 0700 root bin 2486 9411 1025499877
1 f none proftpd/log_parser.pl 0600 root bin 2712 17935 1025499877
1 f none proftpd/manual_form.cgi 0700 root bin 3104 46953 1025499877
1 f none proftpd/manual_save.cgi 0700 root bin 2271 45768 1025499877
1 f none proftpd/mod_auth.pl 0600 root bin 2281 52347 1025499877
1 f none proftpd/mod_core.pl 0600 root bin 39226 22388 1025499877
1 f none proftpd/mod_ldap.pl 0600 root bin 9226 63001 1025499877
1 f none proftpd/mod_log.pl 0600 root bin 3213 57101 1025499877
1 f none proftpd/mod_ls.pl 0600 root bin 1639 2276 1025499877
1 f none proftpd/mod_pam.pl 0600 root bin 676 53967 1025499877
1 f none proftpd/mod_readme.pl 0600 root bin 426 36025 1025499877
1 f none proftpd/mod_site.pl 0600 root bin 443 36051 1025499877
1 f none proftpd/mod_unixpw.pl 0600 root bin 1578 2092 1025499877
1 f none proftpd/module.info 0600 root bin 147 13105 1025499882
1 f none proftpd/proftpd-lib.pl 0600 root bin 15893 41472 1025499877
1 f none proftpd/save_anon.cgi 0700 root bin 600 51355 1025499877
1 f none proftpd/save_aserv.cgi 0700 root bin 1468 55578 1025499877
1 f none proftpd/save_dir.cgi 0700 root bin 760 63782 1025499877
1 f none proftpd/save_dserv.cgi 0700 root bin 1163 29434 1025499877
1 f none proftpd/save_ftpaccess.cgi 0700 root bin 492 42666 1025499877
1 f none proftpd/save_ftpusers.cgi 0700 root bin 377 31709 1025499877
1 f none proftpd/save_global.cgi 0700 root bin 902 10416 1025499877
1 f none proftpd/save_limit.cgi 0700 root bin 922 11104 1025499877
1 f none proftpd/save_lserv.cgi 0700 root bin 1566 60433 1025499877
1 f none proftpd/save_virt.cgi 0700 root bin 502 43227 1025499877
1 f none proftpd/save_vserv.cgi 0700 root bin 1506 59025 1025499877
1 f none proftpd/start.cgi 0700 root bin 500 41403 1025499877
1 f none proftpd/virt_index.cgi 0700 root bin 2852 34206 1025499877
1 f none prototype 0644 root other 421914 36832 1025505346
1 d none pserver 0700 root bin
1 f none pserver/config 0600 root bin 59 5710 1025499882
1 f none pserver/config.info 0600 root bin 168 15607 1025499882
1 f none pserver/cvsweb.cgi 0700 root bin 85425 35222 1025499882
1 f none pserver/cvsweb.conf 0600 root bin 10064 34819 1025499882
1 f none pserver/edit_access.cgi 0700 root bin 1724 10083 1025499882
1 f none pserver/edit_config.cgi 0700 root bin 2312 57847 1025499882
1 f none pserver/edit_passwd.cgi 0700 root bin 2003 37276 1025499882
1 f none pserver/feedback_files.pl 0600 root bin 124 10591 1025499882
1 f none pserver/header.html 0600 root bin 785 3817 1025499882
1 d none pserver/images 0700 root bin
1 f none pserver/images/access.gif 0600 root bin 275 34570 1025499882
1 f none pserver/images/config.gif 0600 root bin 265 33770 1025499882
1 f none pserver/images/cvsweb.gif 0600 root bin 266 29430 1025499882
1 f none pserver/images/icon.gif 0600 root bin 2632 23323 1025499882
1 f none pserver/images/passwd.gif 0600 root bin 390 43396 1025499882
1 f none pserver/index.cgi 0700 root bin 2314 55453 1025499882
1 d none pserver/lang 0700 root bin
1 f none pserver/lang/en 0600 root bin 4050 50665 1025499882
1 f none pserver/list_passwd.cgi 0700 root bin 1954 30637 1025499882
1 f none pserver/log_parser.pl 0600 root bin 450 38357 1025499882
1 f none pserver/module.info 0600 root bin 74 6494 1025499882
1 f none pserver/pserver-lib.pl 0600 root bin 4002 44586 1025499882
1 f none pserver/save_access.cgi 0700 root bin 1018 17601 1025499882
1 f none pserver/save_config.cgi 0700 root bin 969 14814 1025499882
1 f none pserver/save_passwd.cgi 0700 root bin 1437 50443 1025499882
1 f none pserver/save_sync.cgi 0700 root bin 515 45231 1025499882
1 f none pserver/setup.cgi 0700 root bin 3184 53572 1025499882
1 f none pserver/useradmin_update.pl 0600 root bin 1185 30494 1025499882
1 d none qmailadmin 0700 root bin
1 f none qmailadmin/autoreply.pl 0700 root bin 2485 56092 1025499878
1 f none qmailadmin/config 0600 root bin 49 4455 1025499878
1 f none qmailadmin/config.info 0600 root bin 252 22915 1025499878
1 f none qmailadmin/config.info.ca 0600 root bin 267 24317 1025499878
1 f none qmailadmin/delete_queue.cgi 0700 root bin 610 49365 1025499878
1 f none qmailadmin/delete_queues.cgi 0700 root bin 609 48417 1025499878
1 f none qmailadmin/detach_queue.cgi 0700 root bin 529 45126 1025499878
1 f none qmailadmin/edit_alias.cgi 0700 root bin 280 23417 1025499878
1 f none qmailadmin/edit_assign.cgi 0700 root bin 315 26808 1025499878
1 f none qmailadmin/edit_ffile.cgi 0700 root bin 1673 64164 1025499878
1 f none qmailadmin/edit_rfile.cgi 0700 root bin 810 3157 1025499878
1 f none qmailadmin/edit_route.cgi 0700 root bin 299 25253 1025499878
1 f none qmailadmin/edit_virt.cgi 0700 root bin 292 24625 1025499878
1 f none qmailadmin/feedback_files.pl 0600 root bin 120 10367 1025499878
1 f none qmailadmin/filter.pl 0700 root bin 1569 43520 1025499878
1 d none qmailadmin/help 0700 root bin
1 d none qmailadmin/images 0700 root bin
1 f none qmailadmin/images/aliases.gif 0600 root bin 397 47679 1025499878
1 f none qmailadmin/images/assigns.gif 0600 root bin 390 43396 1025499878
1 f none qmailadmin/images/bads.gif 0600 root bin 362 42008 1025499878
1 f none qmailadmin/images/boxes.gif 0600 root bin 367 47932 1025499878
1 f none qmailadmin/images/icon.gif 0600 root bin 1945 19068 1025499878
1 f none qmailadmin/images/locals.gif 0600 root bin 266 31279 1025499878
1 f none qmailadmin/images/opts.gif 0600 root bin 460 53918 1025499878
1 f none qmailadmin/images/percents.gif 0600 root bin 230 27050 1025499878
1 f none qmailadmin/images/queue.gif 0600 root bin 374 42022 1025499878
1 f none qmailadmin/images/rcpts.gif 0600 root bin 355 39320 1025499878
1 f none qmailadmin/images/routes.gif 0600 root bin 248 28427 1025499878
1 f none qmailadmin/images/virts.gif 0600 root bin 451 55525 1025499878
1 f none qmailadmin/index.cgi 0700 root bin 2354 63316 1025499878
1 d none qmailadmin/lang 0700 root bin
1 f none qmailadmin/lang/ca 0600 root bin 10910 49905 1025499878
1 f none qmailadmin/lang/en 0600 root bin 9628 49542 1025499878
1 f none qmailadmin/lang/it 0600 root bin 9539 40822 1025499878
1 f none qmailadmin/list_aliases.cgi 0700 root bin 2109 37620 1025499878
1 f none qmailadmin/list_assigns.cgi 0700 root bin 1698 4829 1025499878
1 f none qmailadmin/list_bads.cgi 0700 root bin 731 62729 1025499878
1 f none qmailadmin/list_locals.cgi 0700 root bin 1037 22837 1025499878
1 f none qmailadmin/list_opts.cgi 0700 root bin 3332 20156 1025499878
1 f none qmailadmin/list_percents.cgi 0700 root bin 773 1047 1025499878
1 f none qmailadmin/list_queue.cgi 0700 root bin 1522 60698 1025499878
1 f none qmailadmin/list_rcpts.cgi 0700 root bin 1310 46724 1025499878
1 f none qmailadmin/list_routes.cgi 0700 root bin 2234 53117 1025499878
1 f none qmailadmin/list_virts.cgi 0700 root bin 1681 5432 1025499878
1 f none qmailadmin/log_parser.pl 0600 root bin 890 6434 1025499878
1 f none qmailadmin/module.info 0600 root bin 120 10948 1025499882
1 f none qmailadmin/qmail-lib.pl 0600 root bin 18142 59874 1025499878
1 f none qmailadmin/save_alias.cgi 0700 root bin 2324 44283 1025499878
1 f none qmailadmin/save_assign.cgi 0700 root bin 1414 50052 1025499878
1 f none qmailadmin/save_bads.cgi 0700 root bin 351 28921 1025499878
1 f none qmailadmin/save_defroute.cgi 0700 root bin 659 52433 1025499878
1 f none qmailadmin/save_ffile.cgi 0700 root bin 593 47866 1025499878
1 f none qmailadmin/save_locals.cgi 0700 root bin 360 29708 1025499878
1 f none qmailadmin/save_opts.cgi 0700 root bin 1538 65394 1025499878
1 f none qmailadmin/save_percents.cgi 0700 root bin 370 31135 1025499878
1 f none qmailadmin/save_rcpts.cgi 0700 root bin 621 52006 1025499878
1 f none qmailadmin/save_rfile.cgi 0700 root bin 246 20248 1025499878
1 f none qmailadmin/save_route.cgi 0700 root bin 997 15849 1025499878
1 f none qmailadmin/save_virt.cgi 0700 root bin 1667 81 1025499878
1 f none qmailadmin/start.cgi 0700 root bin 327 27043 1025499878
1 f none qmailadmin/stop.cgi 0700 root bin 327 27291 1025499878
1 f none qmailadmin/view_queue.cgi 0700 root bin 2469 3625 1025499878
1 d none quota 0700 root bin
1 f none quota/acl_security.pl 0600 root bin 6179 42148 1025499851
1 f none quota/activate.cgi 0700 root bin 632 51940 1025499851
1 f none quota/check_quotas.cgi 0700 root bin 693 59894 1025499851
1 f none quota/cobalt-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/config-cobalt-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-corel-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-debian-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-freebsd 0600 root bin 527 50919 1025499851
1 f none quota/config-generic-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-gentoo-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-hpux 0600 root bin 268 26523 1025499851
1 f none quota/config-mandrake-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-msc-linux 0600 root bin 533 51293 1025499853
1 f none quota/config-netbsd 0600 root bin 527 50919 1025499853
1 f none quota/config-open-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-openbsd 0600 root bin 527 50919 1025499851
1 f none quota/config-redhat-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-redhat-linux-7.1 0600 root bin 536 51472 1025499853
1 f none quota/config-redhat-linux-7.2 0600 root bin 536 51472 1025499853
1 f none quota/config-redhat-linux-7.3 0600 root bin 536 51472 1025499853
1 f none quota/config-slackware-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-solaris 0600 root bin 268 26523 1025499852
1 f none quota/config-suse-linux 0600 root bin 533 51293 1025499852
1 f none quota/config-turbo-linux 0600 root bin 533 51293 1025499851
1 f none quota/config-unixware 0600 root bin 268 26523 1025499851
1 f none quota/config.info 0600 root bin 962 25536 1025499852
1 f none quota/config.info.ca 0600 root bin 1099 38269 1025499853
1 f none quota/config.info.de 0600 root bin 1123 42607 1025499852
1 f none quota/config.info.es 0600 root bin 1017 31761 1025499851
1 f none quota/config.info.fr 0600 root bin 1107 40559 1025499851
1 f none quota/config.info.nl 0600 root bin 1101 40760 1025499853
1 f none quota/config.info.pl 0600 root bin 1023 37220 1025499852
1 f none quota/config.info.ru_RU 0600 root bin 1081 56174 1025499852
1 f none quota/config.info.ru_SU 0600 root bin 1081 37794 1025499851
1 f none quota/config.info.sv 0600 root bin 1102 45610 1025499852
1 f none quota/config.info.tr 0600 root bin 1016 42203 1025499852
1 f none quota/config.info.zh_CN 0600 root bin 750 46673 1025499851
1 f none quota/config.info.zh_TW.Big5 0600 root bin 695 25140 1025499851
1 f none quota/copy_group.cgi 0700 root bin 1356 45827 1025499851
1 f none quota/copy_group_form.cgi 0700 root bin 1119 31767 1025499852
1 f none quota/copy_user.cgi 0700 root bin 1275 40205 1025499851
1 f none quota/copy_user_form.cgi 0700 root bin 1107 30665 1025499851
1 f none quota/corel-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/debian-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/defaultacl 0600 root bin 86 7305 1025499852
1 f none quota/edgrace.pl 0700 root bin 454 34487 1025499851
1 f none quota/edit_group_quota.cgi 0700 root bin 2295 64464 1025499852
1 f none quota/edit_user_quota.cgi 0700 root bin 2268 61523 1025499851
1 f none quota/edquota.pl 0700 root bin 511 37982 1025499852
1 f none quota/freebsd-lib.pl 0600 root bin 9083 64093 1025499852
1 f none quota/generic-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/gentoo-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/group_filesys.cgi 0700 root bin 2544 15563 1025499852
1 f none quota/group_grace_form.cgi 0700 root bin 1795 18415 1025499851
1 f none quota/group_grace_save.cgi 0700 root bin 780 65444 1025499852
1 d none quota/help 0700 root bin
1 f none quota/help/copy_group.ca.html 0600 root bin 562 49303 1025499852
1 f none quota/help/copy_group.es.html 0600 root bin 577 53059 1025499852
1 f none quota/help/copy_group.fr.html 0600 root bin 540 49430 1025499852
1 f none quota/help/copy_group.html 0600 root bin 508 45349 1025499852
1 f none quota/help/copy_group.nl.html 0600 root bin 550 49778 1025499852
1 f none quota/help/copy_group.pl.html 0600 root bin 569 54091 1025499852
1 f none quota/help/copy_group.sv.html 0600 root bin 547 50592 1025499852
1 f none quota/help/copy_group.zh_TW.Big5.html 0600 root bin 355 49939 1025499852
1 f none quota/help/copy_user.ca.html 0600 root bin 589 52114 1025499852
1 f none quota/help/copy_user.es.html 0600 root bin 614 56810 1025499852
1 f none quota/help/copy_user.fr.html 0600 root bin 574 53147 1025499852
1 f none quota/help/copy_user.html 0600 root bin 528 47118 1025499852
1 f none quota/help/copy_user.nl.html 0600 root bin 604 54983 1025499852
1 f none quota/help/copy_user.pl.html 0600 root bin 682 2124 1025499852
1 f none quota/help/copy_user.sv.html 0600 root bin 592 55783 1025499852
1 f none quota/help/copy_user.zh_TW.Big5.html 0600 root bin 374 54457 1025499852
1 f none quota/help/edit_group_quota.ca.html 0600 root bin 215 19828 1025499852
1 f none quota/help/edit_group_quota.es.html 0600 root bin 223 20494 1025499852
1 f none quota/help/edit_group_quota.fr.html 0600 root bin 207 19511 1025499852
1 f none quota/help/edit_group_quota.html 0600 root bin 189 16785 1025499852
1 f none quota/help/edit_group_quota.nl.html 0600 root bin 219 20063 1025499852
1 f none quota/help/edit_group_quota.pl.html 0600 root bin 240 23810 1025499852
1 f none quota/help/edit_group_quota.sv.html 0600 root bin 225 22089 1025499852
1 f none quota/help/edit_group_quota.zh_TW.Big5.html 0600 root bin 141 21101 1025499852
1 f none quota/help/edit_user_quota.ca.html 0600 root bin 221 20405 1025499852
1 f none quota/help/edit_user_quota.es.html 0600 root bin 227 20932 1025499852
1 f none quota/help/edit_user_quota.fr.html 0600 root bin 185 17415 1025499852
1 f none quota/help/edit_user_quota.html 0600 root bin 187 16565 1025499852
1 f none quota/help/edit_user_quota.nl.html 0600 root bin 216 19647 1025499852
1 f none quota/help/edit_user_quota.pl.html 0600 root bin 253 25386 1025499852
1 f none quota/help/edit_user_quota.sv.html 0600 root bin 232 23113 1025499852
1 f none quota/help/edit_user_quota.zh_TW.Big5.html 0600 root bin 145 21961 1025499852
1 f none quota/help/group_filesys.ca.html 0600 root bin 701 64700 1025499852
1 f none quota/help/group_filesys.es.html 0600 root bin 687 63536 1025499852
1 f none quota/help/group_filesys.fr.html 0600 root bin 708 483 1025499852
1 f none quota/help/group_filesys.html 0600 root bin 600 54307 1025499852
1 f none quota/help/group_filesys.nl.html 0600 root bin 733 2271 1025499852
1 f none quota/help/group_filesys.pl.html 0600 root bin 700 3819 1025499852
1 f none quota/help/group_filesys.sv.html 0600 root bin 572 55884 1025499852
1 f none quota/help/group_filesys.zh_TW.Big5.html 0600 root bin 421 62783 1025499852
1 f none quota/help/group_grace.ca.html 0600 root bin 439 41446 1025499852
1 f none quota/help/group_grace.es.html 0600 root bin 500 46515 1025499852
1 f none quota/help/group_grace.fr.html 0600 root bin 354 32867 1025499852
1 f none quota/help/group_grace.html 0600 root bin 405 36925 1025499852
1 f none quota/help/group_grace.nl.html 0600 root bin 412 38853 1025499852
1 f none quota/help/group_grace.pl.html 0600 root bin 528 52581 1025499852
1 f none quota/help/group_grace.sv.html 0600 root bin 422 41634 1025499852
1 f none quota/help/group_grace.zh_TW.Big5.html 0600 root bin 219 33145 1025499852
1 f none quota/help/intro.ca.html 0600 root bin 2676 48768 1025499852
1 f none quota/help/intro.es.html 0600 root bin 2901 7513 1025499852
1 f none quota/help/intro.fr.html 0600 root bin 2472 31164 1025499852
1 f none quota/help/intro.html 0600 root bin 2358 16768 1025499852
1 f none quota/help/intro.nl.html 0600 root bin 2862 2926 1025499852
1 f none quota/help/intro.pl.html 0600 root bin 2893 26861 1025499852
1 f none quota/help/intro.sv.html 0600 root bin 2258 23094 1025499852
1 f none quota/help/intro.zh_TW.Big5.html 0600 root bin 1727 58000 1025499852
1 f none quota/help/list_groups.ca.html 0600 root bin 1338 58001 1025499852
1 f none quota/help/list_groups.es.html 0600 root bin 1454 4279 1025499852
1 f none quota/help/list_groups.fr.html 0600 root bin 1442 4451 1025499852
1 f none quota/help/list_groups.html 0600 root bin 1208 43466 1025499852
1 f none quota/help/list_groups.nl.html 0600 root bin 1557 12091 1025499852
1 f none quota/help/list_groups.pl.html 0600 root bin 1383 7862 1025499852
1 f none quota/help/list_groups.sv.html 0600 root bin 1286 61222 1025499852
1 f none quota/help/list_users.ca.html 0600 root bin 1162 42045 1025499852
1 f none quota/help/list_users.es.html 0600 root bin 1268 52893 1025499852
1 f none quota/help/list_users.fr.html 0600 root bin 1232 49835 1025499852
1 f none quota/help/list_users.html 0600 root bin 1024 26533 1025499852
1 f none quota/help/list_users.nl.html 0600 root bin 1328 57002 1025499852
1 f none quota/help/list_users.pl.html 0600 root bin 1262 63634 1025499852
1 f none quota/help/list_users.sv.html 0600 root bin 1143 48400 1025499852
1 f none quota/help/list_users.zh_TW.Big5.html 0600 root bin 674 36211 1025499852
1 f none quota/help/user_filesys.ca.html 0600 root bin 711 291 1025499852
1 f none quota/help/user_filesys.es.html 0600 root bin 683 63380 1025499852
1 f none quota/help/user_filesys.fr.html 0600 root bin 705 121 1025499852
1 f none quota/help/user_filesys.html 0600 root bin 594 53647 1025499852
1 f none quota/help/user_filesys.nl.html 0600 root bin 752 4289 1025499852
1 f none quota/help/user_filesys.pl.html 0600 root bin 745 9311 1025499852
1 f none quota/help/user_filesys.sv.html 0600 root bin 591 58455 1025499852
1 f none quota/help/user_filesys.zh_TW.Big5.html 0600 root bin 431 64933 1025499852
1 f none quota/help/user_grace.ca.html 0600 root bin 445 42103 1025499852
1 f none quota/help/user_grace.es.html 0600 root bin 493 45940 1025499852
1 f none quota/help/user_grace.fr.html 0600 root bin 356 32994 1025499852
1 f none quota/help/user_grace.html 0600 root bin 402 36527 1025499852
1 f none quota/help/user_grace.nl.html 0600 root bin 427 40519 1025499852
1 f none quota/help/user_grace.pl.html 0600 root bin 545 54678 1025499852
1 f none quota/help/user_grace.sv.html 0600 root bin 432 42970 1025499852
1 f none quota/help/user_grace.zh_TW.Big5.html 0600 root bin 221 33901 1025499852
1 f none quota/hpux-lib.pl 0600 root bin 6232 32672 1025499851
1 d none quota/images 0700 root bin
1 f none quota/images/icon.gif 0600 root bin 334 40887 1025499852
1 f none quota/index.cgi 0700 root bin 3277 59781 1025499851
1 d none quota/lang 0700 root bin
1 f none quota/lang/ca 0600 root bin 10001 38409 1025499851
1 f none quota/lang/en 0600 root bin 8566 22550 1025499851
1 f none quota/lang/es 0600 root bin 9710 8879 1025499851
1 f none quota/lang/fr 0600 root bin 10420 33792 1025499851
1 f none quota/lang/ja_JP.euc 0600 root bin 8916 55415 1025499851
1 f none quota/lang/ko_KR.euc 0600 root bin 8414 19752 1025499851
1 f none quota/lang/nl 0600 root bin 9553 3910 1025499851
1 f none quota/lang/pl 0600 root bin 9930 14223 1025499851
1 f none quota/lang/pt 0600 root bin 26 2615 1025499851
1 f none quota/lang/sv 0600 root bin 8487 58586 1025499851
1 f none quota/lang/tr 0600 root bin 9263 43782 1025499851
1 f none quota/lang/zh_CN 0600 root bin 6445 11886 1025499851
1 f none quota/lang/zh_TW.Big5 0600 root bin 7133 2958 1025499851
1 f none quota/linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/list_groups.cgi 0700 root bin 3348 17956 1025499851
1 f none quota/list_users.cgi 0700 root bin 4344 33613 1025499851
1 f none quota/log_parser.pl 0600 root bin 1237 33862 1025499852
1 f none quota/mandrake-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/module.info 0600 root bin 672 4989 1025499882
1 f none quota/msc-linux-lib.pl 0600 root bin 11623 62486 1025499853
1 f none quota/netbsd-lib.pl 0600 root bin 9083 64093 1025499853
1 f none quota/notes 0700 root bin 1737 27368 1025499852
1 f none quota/open-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/openbsd-lib.pl 0600 root bin 9083 64093 1025499852
1 f none quota/quota-lib.pl 0700 root bin 5377 40831 1025499852
1 f none quota/redhat-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/save_group_quota.cgi 0700 root bin 1081 26627 1025499851
1 f none quota/save_sync.cgi 0700 root bin 730 61349 1025499851
1 f none quota/save_user_quota.cgi 0700 root bin 1062 24849 1025499851
1 f none quota/slackware-linux-lib.pl 0600 root bin 11623 62486 1025499852
1 f none quota/solaris-lib.pl 0700 root bin 6546 57019 1025499852
1 f none quota/suse-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/turbo-linux-lib.pl 0600 root bin 11623 62486 1025499851
1 f none quota/unixware-lib.pl 0700 root bin 6373 46066 1025499851
1 f none quota/user_filesys.cgi 0700 root bin 2533 14627 1025499851
1 f none quota/user_grace_form.cgi 0700 root bin 1789 17881 1025499852
1 f none quota/user_grace_save.cgi 0700 root bin 775 64964 1025499851
1 f none quota/useradmin_update.pl 0600 root bin 1034 17930 1025499851
1 d none raid 0700 root bin
1 f none raid/config 0600 root bin 41 3842 1025499868
1 f none raid/config.info 0600 root bin 67 5959 1025499868
1 f none raid/config.info.ca 0600 root bin 83 7251 1025499868
1 f none raid/config.info.cz 0600 root bin 72 6941 1025499868
1 f none raid/config.info.de 0600 root bin 68 6160 1025499868
1 f none raid/config.info.es 0600 root bin 86 7678 1025499868
1 f none raid/config.info.pl 0600 root bin 76 6748 1025499868
1 f none raid/config.info.ru_RU 0600 root bin 70 10931 1025499868
1 f none raid/config.info.ru_SU 0600 root bin 70 9837 1025499868
1 f none raid/config.info.sv 0600 root bin 72 6944 1025499868
1 f none raid/config.info.tr 0600 root bin 73 7328 1025499868
1 f none raid/config.info.zh_CN 0600 root bin 52 6474 1025499868
1 f none raid/config.info.zh_TW.Big5 0600 root bin 55 7500 1025499868
1 f none raid/create_raid.cgi 0700 root bin 1995 22040 1025499868
1 d none raid/images 0700 root bin
1 f none raid/images/0.gif 0600 root bin 556 65328 1025499868
1 f none raid/images/0.ia.gif 0600 root bin 556 64702 1025499868
1 f none raid/images/1.gif 0600 root bin 573 4807 1025499868
1 f none raid/images/1.ia.gif 0600 root bin 573 4297 1025499868
1 f none raid/images/4.gif 0600 root bin 1283 33606 1025499868
1 f none raid/images/4.ia.gif 0600 root bin 1284 35876 1025499868
1 f none raid/images/5.gif 0600 root bin 1211 18091 1025499868
1 f none raid/images/5.ia.gif 0600 root bin 1209 15450 1025499868
1 f none raid/images/disk.gif 0600 root bin 219 24798 1025499868
1 f none raid/images/icon.gif 0600 root bin 1547 64202 1025499868
1 f none raid/images/linear.gif 0600 root bin 571 65116 1025499868
1 f none raid/images/linear.ia.gif 0600 root bin 571 64481 1025499868
1 f none raid/index.cgi 0700 root bin 1483 55817 1025499868
1 d none raid/lang 0700 root bin
1 f none raid/lang/ca 0600 root bin 2955 11127 1025499868
1 f none raid/lang/cz 0600 root bin 2262 32350 1025499868
1 f none raid/lang/de 0600 root bin 2707 56156 1025499868
1 f none raid/lang/en 0600 root bin 2660 47137 1025499868
1 f none raid/lang/es 0600 root bin 2802 63944 1025499868
1 f none raid/lang/fr 0600 root bin 2995 15784 1025499868
1 f none raid/lang/ja_JP.euc 0600 root bin 2704 50110 1025499868
1 f none raid/lang/ko_KR.euc 0600 root bin 2282 40081 1025499868
1 f none raid/lang/pl 0600 root bin 2665 61800 1025499868
1 f none raid/lang/ru_RU 0600 root bin 2549 5030 1025499868
1 f none raid/lang/ru_SU 0600 root bin 2555 36483 1025499868
1 f none raid/lang/sv 0600 root bin 2534 44517 1025499868
1 f none raid/lang/zh_CN 0600 root bin 1907 50320 1025499868
1 f none raid/lang/zh_TW.Big5 0600 root bin 2013 62973 1025499868
1 f none raid/log_parser.pl 0600 root bin 799 1225 1025499868
1 f none raid/mkfs.cgi 0700 root bin 1124 26146 1025499868
1 f none raid/module.info 0600 root bin 546 51356 1025499882
1 f none raid/raid-lib.pl 0600 root bin 4865 46658 1025499868
1 f none raid/raid_form.cgi 0700 root bin 4690 50548 1025499868
1 f none raid/save_raid.cgi 0700 root bin 1466 54624 1025499868
1 f none raid/view_raid.cgi 0700 root bin 4043 60197 1025499868
1 f none referer_save.cgi 0700 root bin 315 27093 1025499832
1 f none rpc.cgi 0700 root bin 3966 39883 1025499832
1 f none run-uninstalls.pl 0700 root bin 442 36630 1025499832
1 d none samba 0700 root bin
1 f none samba/acl_security.pl 0600 root bin 10802 31392 1025499839
1 f none samba/ask_epass.cgi 0700 root bin 1524 1960 1025499838
1 f none samba/conf_misc.cgi 0700 root bin 5066 33055 1025499838
1 f none samba/conf_net.cgi 0700 root bin 4693 56241 1025499839
1 f none samba/conf_pass.cgi 0700 root bin 3909 59091 1025499839
1 f none samba/conf_print.cgi 0700 root bin 2353 1234 1025499838
1 f none samba/conf_smb.cgi 0700 root bin 6343 3950 1025499837
1 f none samba/config-aix 0600 root bin 429 41359 1025499838
1 f none samba/config-cobalt-linux 0600 root bin 461 43560 1025499838
1 f none samba/config-corel-linux 0600 root bin 439 41363 1025499838
1 f none samba/config-debian-linux 0600 root bin 427 40238 1025499838
1 f none samba/config-debian-linux-2.1 0600 root bin 413 38952 1025499838
1 f none samba/config-debian-linux-2.2 0600 root bin 594 55975 1025499838
1 f none samba/config-debian-linux-3.0 0600 root bin 594 55975 1025499839
1 f none samba/config-freebsd 0600 root bin 621 58934 1025499837
1 f none samba/config-generic-linux 0600 root bin 545 51455 1025499839
1 f none samba/config-gentoo-linux 0600 root bin 588 55525 1025499839
1 f none samba/config-hpux 0600 root bin 456 43935 1025499837
1 f none samba/config-irix 0600 root bin 475 45750 1025499838
1 f none samba/config-lfs-linux 0600 root bin 461 43560 1025499838
1 f none samba/config-macos 0600 root bin 503 47509 1025499839
1 f none samba/config-mandrake-linux 0600 root bin 577 54327 1025499839
1 f none samba/config-mandrake-linux-8.1 0600 root bin 564 53052 1025499839
1 f none samba/config-mandrake-linux-8.2 0600 root bin 564 53052 1025499839
1 f none samba/config-msc-linux 0600 root bin 523 49318 1025499839
1 f none samba/config-netbsd 0600 root bin 548 51829 1025499839
1 f none samba/config-open-linux 0600 root bin 525 49954 1025499838
1 f none samba/config-openbsd 0600 root bin 547 51784 1025499837
1 f none samba/config-openserver 0600 root bin 475 45750 1025499838
1 f none samba/config-osf1 0600 root bin 475 45750 1025499838
1 f none samba/config-redhat-linux 0600 root bin 533 50130 1025499839
1 f none samba/config-redhat-linux-7.0 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.1 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.2 0600 root bin 563 53042 1025499839
1 f none samba/config-redhat-linux-7.3 0600 root bin 563 53042 1025499839
1 f none samba/config-slackware-linux 0600 root bin 500 47248 1025499839
1 f none samba/config-slackware-linux-7.0 0600 root bin 492 46598 1025499837
1 f none samba/config-slackware-linux-7.1 0600 root bin 492 46598 1025499839
1 f none samba/config-slackware-linux-8.0 0600 root bin 581 54920 1025499839
1 f none samba/config-slackware-linux-8.1 0600 root bin 581 54920 1025499839
1 f none samba/config-solaris 0600 root bin 475 45750 1025499838
1 f none samba/config-suse-linux 0600 root bin 547 51740 1025499838
1 f none samba/config-suse-linux-7.3 0600 root bin 565 53429 1025499839
1 f none samba/config-suse-linux-8.0 0600 root bin 565 53429 1025499839
1 f none samba/config-turbo-linux 0600 root bin 461 43560 1025499837
1 f none samba/config-unixware 0600 root bin 475 45750 1025499838
1 f none samba/config.info 0600 root bin 514 47607 1025499839
1 f none samba/config.info.ca 0600 root bin 569 53496 1025499839
1 f none samba/config.info.es 0600 root bin 655 62037 1025499837
1 f none samba/config.info.fr 0600 root bin 504 46405 1025499838
1 f none samba/config.info.pl 0600 root bin 609 59134 1025499839
1 f none samba/config.info.ru_RU 0600 root bin 436 1079 1025499839
1 f none samba/config.info.ru_SU 0600 root bin 436 61267 1025499838
1 f none samba/config.info.sv 0600 root bin 610 61564 1025499838
1 f none samba/config.info.tr 0600 root bin 424 42760 1025499839
1 f none samba/config.info.zh_CN 0600 root bin 436 56579 1025499838
1 f none samba/config.info.zh_TW.Big5 0600 root bin 383 47132 1025499837
1 f none samba/create_copy.cgi 0700 root bin 903 11212 1025499838
1 f none samba/defaultacl 0600 root bin 289 25584 1025499839
1 f none samba/delete_euser.cgi 0700 root bin 523 45083 1025499838
1 f none samba/delete_share.cgi 0700 root bin 691 58895 1025499837
1 f none samba/edit_epass.cgi 0700 root bin 1040 18722 1025499838
1 f none samba/edit_euser.cgi 0700 root bin 3122 65113 1025499837
1 f none samba/edit_fmisc.cgi 0700 root bin 3381 23196 1025499838
1 f none samba/edit_fname.cgi 0700 root bin 2426 8084 1025499838
1 f none samba/edit_fperm.cgi 0700 root bin 2412 7879 1025499838
1 f none samba/edit_fshare.cgi 0700 root bin 3903 55750 1025499839
1 f none samba/edit_popts.cgi 0700 root bin 3963 7390 1025499839
1 f none samba/edit_pshare.cgi 0700 root bin 4418 30696 1025499838
1 f none samba/edit_sec.cgi 0700 root bin 5870 36128 1025499837
1 f none samba/edit_sync.cgi 0700 root bin 999 20191 1025499838
1 d none samba/help 0700 root bin
1 f none samba/help/help.ca.html 0600 root bin 10547 15391 1025499839
1 f none samba/help/help.es.html 0600 root bin 9123 31020 1025499839
1 f none samba/help/help.html 0600 root bin 8975 13575 1025499839
1 f none samba/help/help.it.html 0600 root bin 8975 13575 1025499839
1 f none samba/help/help.sv.html 0600 root bin 9205 34553 1025499839
1 d none samba/images 0700 root bin
1 f none samba/images/icon.gif 0600 root bin 1089 52489 1025499838
1 f none samba/images/icon_0.gif 0600 root bin 313 36739 1025499838
1 f none samba/images/icon_1.gif 0600 root bin 333 38555 1025499838
1 f none samba/images/icon_2.gif 0600 root bin 275 34570 1025499838
1 f none samba/images/icon_3.gif 0600 root bin 330 38844 1025499838
1 f none samba/images/icon_4.gif 0600 root bin 460 53918 1025499838
1 f none samba/images/icon_5.gif 0600 root bin 327 38178 1025499838
1 f none samba/images/icon_6.gif 0600 root bin 380 41077 1025499838
1 f none samba/images/icon_7.gif 0600 root bin 332 37563 1025499838
1 f none samba/images/icon_8.gif 0600 root bin 493 57210 1025499838
1 f none samba/images/icon_9.gif 0600 root bin 1163 25692 1025499838
1 f none samba/index.cgi 0700 root bin 7329 4576 1025499838
1 f none samba/kill_user.cgi 0700 root bin 776 429 1025499837
1 d none samba/lang 0700 root bin
1 f none samba/lang/ca 0600 root bin 20634 21884 1025499837
1 f none samba/lang/de 0600 root bin 21522 29931 1025499837
1 f none samba/lang/en 0600 root bin 17933 63688 1025499837
1 f none samba/lang/es 0600 root bin 21595 49163 1025499837
1 f none samba/lang/fr 0600 root bin 22117 558 1025499837
1 f none samba/lang/it 0600 root bin 17902 60805 1025499837
1 f none samba/lang/ja_JP.euc 0600 root bin 18649 31713 1025499837
1 f none samba/lang/ko_KR.euc 0600 root bin 17217 17998 1025499837
1 f none samba/lang/pl 0600 root bin 20678 56143 1025499837
1 f none samba/lang/ru_RU 0600 root bin 14705 21523 1025499837
1 f none samba/lang/ru_SU 0600 root bin 14742 62712 1025499837
1 f none samba/lang/sv 0600 root bin 20088 49601 1025499837
1 f none samba/lang/tr 0600 root bin 16008 20078 1025499837
1 f none samba/lang/zh_CN 0600 root bin 11484 8588 1025499837
1 f none samba/lang/zh_TW.Big5 0600 root bin 14047 57431 1025499837
1 f none samba/log_parser.pl 0600 root bin 1379 46676 1025499839
1 f none samba/logout.cgi 0700 root bin 364 31784 1025499839
1 f none samba/make_epass.cgi 0700 root bin 3436 60943 1025499838
1 f none samba/module.info 0600 root bin 904 27205 1025499882
1 f none samba/opts.pl.dev 0600 root bin 6524 9621 1025499839
1 f none samba/restart.cgi 0700 root bin 987 18040 1025499838
1 f none samba/samba-lib.pl 0600 root bin 14499 17206 1025499838
1 f none samba/save_copy.cgi 0700 root bin 722 61764 1025499839
1 f none samba/save_euser.cgi 0700 root bin 1594 64664 1025499839
1 f none samba/save_fmisc.cgi 0700 root bin 1378 55368 1025499837
1 f none samba/save_fname.cgi 0700 root bin 1071 28506 1025499838
1 f none samba/save_fperm.cgi 0700 root bin 1169 37486 1025499837
1 f none samba/save_fshare.cgi 0700 root bin 1910 26427 1025499837
1 f none samba/save_misc.cgi 0700 root bin 2160 53541 1025499839
1 f none samba/save_net.cgi 0700 root bin 2008 27882 1025499839
1 f none samba/save_pass.cgi 0700 root bin 2372 61036 1025499837
1 f none samba/save_popts.cgi 0700 root bin 1288 48373 1025499838
1 f none samba/save_print.cgi 0700 root bin 977 18657 1025499839
1 f none samba/save_pshare.cgi 0700 root bin 2047 35200 1025499838
1 f none samba/save_sec.cgi 0700 root bin 2225 54965 1025499837
1 f none samba/save_smb.cgi 0700 root bin 2232 54548 1025499838
1 f none samba/save_sync.cgi 0700 root bin 646 55528 1025499838
1 f none samba/start.cgi 0700 root bin 794 2556 1025499839
1 f none samba/swat.cgi 0700 root bin 3539 21982 1025499837
1 f none samba/swat_save.cgi 0700 root bin 574 49015 1025499837
1 f none samba/useradmin_update.pl 0600 root bin 2517 541 1025499837
1 f none samba/view_users.cgi 0700 root bin 2281 52129 1025499839
1 d none sendmail 0700 root bin
1 f none sendmail/access-lib.pl 0600 root bin 4391 20000 1025499859
1 f none sendmail/acl_security.pl 0600 root bin 12185 5974 1025499859
1 f none sendmail/aliases-lib.pl 0600 root bin 5935 62846 1025499859
1 f none sendmail/autoreply.pl 0700 root bin 2751 10593 1025499860
1 f none sendmail/boxes-lib.pl 0600 root bin 23080 11558 1025499859
1 f none sendmail/build.cgi 0700 root bin 1996 33714 1025499860
1 f none sendmail/config-aix 0600 root bin 424 38595 1025499860
1 f none sendmail/config-cobalt-linux 0600 root bin 514 48262 1025499859
1 f none sendmail/config-corel-linux 0600 root bin 379 35234 1025499859
1 f none sendmail/config-debian-linux 0600 root bin 458 42838 1025499859
1 f none sendmail/config-debian-linux-2.1 0600 root bin 463 43304 1025499859
1 f none sendmail/config-debian-linux-2.2 0600 root bin 463 43304 1025499859
1 f none sendmail/config-debian-linux-3.0 0600 root bin 463 43304 1025499860
1 f none sendmail/config-freebsd 0600 root bin 505 47341 1025499859
1 f none sendmail/config-freebsd-4.0 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.1 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.2 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.3 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.4 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.5 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-4.6 0600 root bin 510 47807 1025499860
1 f none sendmail/config-freebsd-5.0 0600 root bin 510 47807 1025499859
1 f none sendmail/config-generic-linux 0700 root bin 523 49019 1025499860
1 f none sendmail/config-hpux 0600 root bin 376 35137 1025499859
1 f none sendmail/config-irix 0600 root bin 448 41762 1025499859
1 f none sendmail/config-macos 0600 root bin 508 47816 1025499859
1 f none sendmail/config-macos-1.3 0600 root bin 513 48282 1025499860
1 f none sendmail/config-macos-1.4 0600 root bin 513 48282 1025499860
1 f none sendmail/config-mandrake-linux 0600 root bin 507 47635 1025499860
1 f none sendmail/config-mandrake-linux-8.2 0600 root bin 512 48101 1025499860
1 f none sendmail/config-msc-linux 0600 root bin 427 40112 1025499860
1 f none sendmail/config-netbsd 0600 root bin 490 45882 1025499860
1 f none sendmail/config-open-linux 0600 root bin 522 49048 1025499859
1 f none sendmail/config-open-linux-2.5 0600 root bin 527 49514 1025499860
1 f none sendmail/config-open-linux-3.1e 0600 root bin 527 49514 1025499860
1 f none sendmail/config-openbsd 0600 root bin 390 36485 1025499859
1 f none sendmail/config-openserver 0600 root bin 423 39728 1025499859
1 f none sendmail/config-osf1 0600 root bin 389 36468 1025499860
1 f none sendmail/config-redhat-linux 0600 root bin 505 47415 1025499860
1 f none sendmail/config-redhat-linux-7.1 0600 root bin 507 47635 1025499860
1 f none sendmail/config-redhat-linux-7.2 0600 root bin 507 47635 1025499860
1 f none sendmail/config-redhat-linux-7.3 0600 root bin 507 47635 1025499860
1 f none sendmail/config-slackware-linux 0600 root bin 374 34768 1025499860
1 f none sendmail/config-slackware-linux-8.0 0700 root bin 523 49019 1025499860
1 f none sendmail/config-slackware-linux-8.1 0700 root bin 523 49019 1025499860
1 f none sendmail/config-solaris 0600 root bin 492 46164 1025499859
1 f none sendmail/config-solaris-7 0600 root bin 581 54629 1025499859
1 f none sendmail/config-solaris-8 0600 root bin 581 54629 1025499859
1 f none sendmail/config-solaris-9 0600 root bin 581 54629 1025499860
1 f none sendmail/config-suse-linux 0600 root bin 443 41414 1025499859
1 f none sendmail/config-turbo-linux 0600 root bin 505 47415 1025499859
1 f none sendmail/config-unixware 0600 root bin 417 39107 1025499859
1 f none sendmail/config.info 0600 root bin 1773 31223 1025499860
1 f none sendmail/config.info.ca 0600 root bin 1892 44670 1025499860
1 f none sendmail/config.info.cz 0600 root bin 1011 27413 1025499860
1 f none sendmail/config.info.de 0600 root bin 1176 42621 1025499859
1 f none sendmail/config.info.es 0600 root bin 1434 2420 1025499859
1 f none sendmail/config.info.fr 0600 root bin 1014 30389 1025499859
1 f none sendmail/config.info.pl 0600 root bin 1454 9564 1025499860
1 f none sendmail/config.info.ru_RU 0600 root bin 894 9900 1025499860
1 f none sendmail/config.info.ru_SU 0600 root bin 894 62934 1025499859
1 f none sendmail/config.info.sv 0600 root bin 1127 44013 1025499859
1 f none sendmail/config.info.tr 0600 root bin 1110 49944 1025499860
1 f none sendmail/config.info.zh_CN 0600 root bin 831 51095 1025499859
1 f none sendmail/config.info.zh_TW.Big5 0600 root bin 890 55785 1025499859
1 f none sendmail/create_file.cgi 0700 root bin 1462 55868 1025499860
1 f none sendmail/defaultacl 0600 root bin 268 21895 1025499859
1 f none sendmail/defines 0600 root bin 3819 36650 1025499860
1 f none sendmail/del_mailq.cgi 0700 root bin 841 1745 1025499859
1 f none sendmail/del_mailqs.cgi 0700 root bin 1105 21972 1025499860
1 f none sendmail/delete_mail.cgi 0700 root bin 1549 62042 1025499859
1 f none sendmail/detach.cgi 0700 root bin 731 60574 1025499859
1 f none sendmail/domain-lib.pl 0600 root bin 3095 50150 1025499859
1 f none sendmail/edit_access.cgi 0700 root bin 446 38122 1025499859
1 f none sendmail/edit_afile.cgi 0700 root bin 930 13005 1025499859
1 f none sendmail/edit_alias.cgi 0700 root bin 716 60172 1025499859
1 f none sendmail/edit_domain.cgi 0700 root bin 446 38335 1025499860
1 f none sendmail/edit_feature.cgi 0700 root bin 4508 38178 1025499860
1 f none sendmail/edit_ffile.cgi 0700 root bin 1795 8822 1025499860
1 f none sendmail/edit_file.cgi 0700 root bin 2465 9391 1025499859
1 f none sendmail/edit_generic.cgi 0700 root bin 537 45836 1025499859
1 f none sendmail/edit_mailer.cgi 0700 root bin 448 38742 1025499859
1 f none sendmail/edit_rfile.cgi 0700 root bin 957 15830 1025499859
1 f none sendmail/edit_virtuser.cgi 0700 root bin 627 54239 1025499859
1 f none sendmail/features-lib.pl 0600 root bin 4296 1740 1025499860
1 f none sendmail/feedback_files.pl 0600 root bin 397 31269 1025499860
1 f none sendmail/filter.pl 0700 root bin 1863 512 1025499860
1 f none sendmail/flushq.cgi 0700 root bin 533 44147 1025499859
1 f none sendmail/generics-lib.pl 0600 root bin 3142 55912 1025499859
1 d none sendmail/help 0700 root bin
1 f none sendmail/help/alias_enabled.ca.html 0600 root bin 155 14563 1025499860
1 f none sendmail/help/alias_enabled.es.html 0600 root bin 158 14528 1025499859
1 f none sendmail/help/alias_enabled.fr.html 0600 root bin 152 14392 1025499859
1 f none sendmail/help/alias_enabled.html 0600 root bin 146 13259 1025499859
1 f none sendmail/help/alias_enabled.pl.html 0600 root bin 168 15991 1025499860
1 f none sendmail/help/alias_enabled.ru_RU.html 0600 root bin 160 29950 1025499860
1 f none sendmail/help/alias_enabled.ru_SU.html 0600 root bin 160 26642 1025499859
1 f none sendmail/help/alias_enabled.sv.html 0600 root bin 162 15168 1025499860
1 f none sendmail/help/alias_enabled.zh_TW.Big5.html 0600 root bin 101 12885 1025499860
1 f none sendmail/help/alias_name.ca.html 0600 root bin 213 19206 1025499860
1 f none sendmail/help/alias_name.es.html 0600 root bin 229 20851 1025499860
1 f none sendmail/help/alias_name.fr.html 0600 root bin 206 18230 1025499860
1 f none sendmail/help/alias_name.html 0600 root bin 184 16205 1025499859
1 f none sendmail/help/alias_name.pl.html 0600 root bin 194 18214 1025499860
1 f none sendmail/help/alias_name.ru_RU.html 0600 root bin 213 34525 1025499860
1 f none sendmail/help/alias_name.ru_SU.html 0600 root bin 213 31107 1025499860
1 f none sendmail/help/alias_name.sv.html 0600 root bin 204 19545 1025499859
1 f none sendmail/help/alias_name.zh_TW.Big5.html 0600 root bin 150 18129 1025499860
1 f none sendmail/help/alias_to.ca.html 0600 root bin 1036 24434 1025499860
1 f none sendmail/help/alias_to.es.html 0600 root bin 1054 28458 1025499859
1 f none sendmail/help/alias_to.fr.html 0600 root bin 923 19327 1025499859
1 f none sendmail/help/alias_to.html 0600 root bin 938 16585 1025499860
1 f none sendmail/help/alias_to.pl.html 0600 root bin 1071 36829 1025499860
1 f none sendmail/help/alias_to.ru_RU.html 0600 root bin 1013 53201 1025499860
1 f none sendmail/help/alias_to.ru_SU.html 0600 root bin 1013 32931 1025499859
1 f none sendmail/help/alias_to.sv.html 0600 root bin 941 20203 1025499859
1 f none sendmail/help/alias_to.zh_TW.Big5.html 0600 root bin 655 23935 1025499859
1 f none sendmail/help/aliases.ca.html 0600 root bin 1040 30408 1025499860
1 f none sendmail/help/aliases.es.html 0600 root bin 1087 34379 1025499860
1 f none sendmail/help/aliases.fr.html 0600 root bin 1073 33899 1025499860
1 f none sendmail/help/aliases.html 0600 root bin 981 22987 1025499859
1 f none sendmail/help/aliases.pl.html 0600 root bin 1096 41048 1025499860
1 f none sendmail/help/aliases.ru_RU.html 0600 root bin 1113 2776 1025499860
1 f none sendmail/help/aliases.ru_SU.html 0600 root bin 1113 46479 1025499859
1 f none sendmail/help/aliases.sv.html 0600 root bin 950 24703 1025499859
1 f none sendmail/help/aliases.zh_TW.Big5.html 0600 root bin 731 30339 1025499860
1 f none sendmail/help/edit_alias.ca.html 0600 root bin 235 21890 1025499860
1 f none sendmail/help/edit_alias.es.html 0600 root bin 240 22050 1025499860
1 f none sendmail/help/edit_alias.fr.html 0600 root bin 120 11011 1025499860
1 f none sendmail/help/edit_alias.html 0600 root bin 203 18026 1025499859
1 f none sendmail/help/edit_alias.pl.html 0600 root bin 210 20437 1025499860
1 f none sendmail/help/edit_alias.ru_RU.html 0600 root bin 248 46163 1025499860
1 f none sendmail/help/edit_alias.ru_SU.html 0600 root bin 248 41095 1025499860
1 f none sendmail/help/edit_alias.sv.html 0600 root bin 196 18239 1025499859
1 f none sendmail/help/edit_alias.zh_TW.Big5.html 0600 root bin 153 19795 1025499860
1 f none sendmail/help/intro.ca.html 0600 root bin 2059 57283 1025499860
1 f none sendmail/help/intro.es.html 0600 root bin 2176 5704 1025499859
1 f none sendmail/help/intro.fr.html 0600 root bin 2114 518 1025499860
1 f none sendmail/help/intro.html 0600 root bin 1914 42152 1025499859
1 f none sendmail/help/intro.pl.html 0600 root bin 2253 25078 1025499860
1 f none sendmail/help/intro.ru_RU.html 0600 root bin 2294 23137 1025499860
1 f none sendmail/help/intro.ru_SU.html 0600 root bin 2294 42000 1025499859
1 f none sendmail/help/intro.sv.html 0600 root bin 1874 46282 1025499859
1 f none sendmail/help/intro.zh_TW.Big5.html 0600 root bin 1335 50205 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ca.html 0600 root bin 188 17471 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.es.html 0600 root bin 230 21702 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.fr.html 0600 root bin 221 20943 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.html 0600 root bin 207 18846 1025499859
1 f none sendmail/help/opt_ConnectionRateThrottle.pl.html 0600 root bin 296 30036 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ru_RU.html 0600 root bin 231 44231 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.ru_SU.html 0600 root bin 231 38999 1025499860
1 f none sendmail/help/opt_ConnectionRateThrottle.sv.html 0600 root bin 250 23625 1025499859
1 f none sendmail/help/opt_ConnectionRateThrottle.zh_TW.Big5.html 0600 root bin 150 21482 1025499860
1 f none sendmail/help/opt_DH.ca.html 0600 root bin 352 32815 1025499860
1 f none sendmail/help/opt_DH.es.html 0600 root bin 356 33710 1025499860
1 f none sendmail/help/opt_DH.fr.html 0600 root bin 367 35430 1025499860
1 f none sendmail/help/opt_DH.html 0600 root bin 301 27492 1025499860
1 f none sendmail/help/opt_DH.pl.html 0600 root bin 370 37509 1025499860
1 f none sendmail/help/opt_DH.ru_RU.html 0600 root bin 366 5034 1025499860
1 f none sendmail/help/opt_DH.ru_SU.html 0600 root bin 366 62232 1025499859
1 f none sendmail/help/opt_DH.sv.html 0600 root bin 325 30404 1025499859
1 f none sendmail/help/opt_DH.zh_TW.Big5.html 0600 root bin 228 34651 1025499860
1 f none sendmail/help/opt_DR.ca.html 0600 root bin 399 36983 1025499860
1 f none sendmail/help/opt_DR.es.html 0600 root bin 417 39039 1025499860
1 f none sendmail/help/opt_DR.fr.html 0600 root bin 387 37018 1025499860
1 f none sendmail/help/opt_DR.html 0600 root bin 326 29828 1025499860
1 f none sendmail/help/opt_DR.pl.html 0600 root bin 403 40139 1025499860
1 f none sendmail/help/opt_DR.ru_RU.html 0600 root bin 412 13018 1025499860
1 f none sendmail/help/opt_DR.ru_SU.html 0600 root bin 412 3951 1025499859
1 f none sendmail/help/opt_DR.sv.html 0600 root bin 345 32809 1025499859
1 f none sendmail/help/opt_DR.zh_TW.Big5.html 0600 root bin 261 39126 1025499860
1 f none sendmail/help/opt_DS.ca.html 0600 root bin 339 31566 1025499860
1 f none sendmail/help/opt_DS.es.html 0600 root bin 344 32675 1025499860
1 f none sendmail/help/opt_DS.fr.html 0600 root bin 340 32047 1025499860
1 f none sendmail/help/opt_DS.html 0600 root bin 296 27277 1025499859
1 f none sendmail/help/opt_DS.pl.html 0600 root bin 380 38837 1025499860
1 f none sendmail/help/opt_DS.ru_RU.html 0600 root bin 364 4048 1025499860
1 f none sendmail/help/opt_DS.ru_SU.html 0600 root bin 364 61425 1025499860
1 f none sendmail/help/opt_DS.sv.html 0600 root bin 319 30173 1025499859
1 f none sendmail/help/opt_DS.zh_TW.Big5.html 0600 root bin 217 32303 1025499860
1 f none sendmail/help/opt_DaemonPortOptions.ca.html 0600 root bin 238 22172 1025499860
1 f none sendmail/help/opt_DaemonPortOptions.html 0600 root bin 224 20389 1025499860
1 f none sendmail/help/opt_ForwardPath.ca.html 0600 root bin 357 32105 1025499860
1 f none sendmail/help/opt_ForwardPath.es.html 0600 root bin 424 39512 1025499859
1 f none sendmail/help/opt_ForwardPath.fr.html 0600 root bin 384 36017 1025499860
1 f none sendmail/help/opt_ForwardPath.html 0600 root bin 337 30794 1025499859
1 f none sendmail/help/opt_ForwardPath.pl.html 0600 root bin 392 39521 1025499860
1 f none sendmail/help/opt_ForwardPath.ru_RU.html 0600 root bin 395 9252 1025499860
1 f none sendmail/help/opt_ForwardPath.ru_SU.html 0600 root bin 395 461 1025499859
1 f none sendmail/help/opt_ForwardPath.sv.html 0600 root bin 298 29170 1025499859
1 f none sendmail/help/opt_ForwardPath.zh_TW.Big5.html 0600 root bin 245 34755 1025499860
1 f none sendmail/help/opt_LogLevel.ca.html 0600 root bin 171 15772 1025499860
1 f none sendmail/help/opt_LogLevel.es.html 0600 root bin 169 15693 1025499859
1 f none sendmail/help/opt_LogLevel.fr.html 0600 root bin 160 14839 1025499859
1 f none sendmail/help/opt_LogLevel.html 0600 root bin 136 12338 1025499859
1 f none sendmail/help/opt_LogLevel.pl.html 0600 root bin 158 15027 1025499860
1 f none sendmail/help/opt_LogLevel.ru_RU.html 0600 root bin 168 28945 1025499860
1 f none sendmail/help/opt_LogLevel.ru_SU.html 0600 root bin 168 25977 1025499859
1 f none sendmail/help/opt_LogLevel.sv.html 0600 root bin 135 12560 1025499860
1 f none sendmail/help/opt_LogLevel.zh_TW.Big5.html 0600 root bin 112 14453 1025499860
1 f none sendmail/help/opt_MatchGECOS.ca.html 0600 root bin 381 34563 1025499860
1 f none sendmail/help/opt_MatchGECOS.html 0600 root bin 379 34210 1025499860
1 f none sendmail/help/opt_MatchGECOS.pl.html 0600 root bin 501 50108 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ca.html 0600 root bin 266 25597 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.es.html 0600 root bin 248 24042 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.fr.html 0600 root bin 235 22417 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.html 0600 root bin 219 20349 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.pl.html 0600 root bin 257 26099 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ru_RU.html 0600 root bin 289 56670 1025499860
1 f none sendmail/help/opt_MaxDaemonChildren.ru_SU.html 0600 root bin 289 49887 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.sv.html 0600 root bin 264 25679 1025499859
1 f none sendmail/help/opt_MaxDaemonChildren.zh_TW.Big5.html 0600 root bin 156 21833 1025499859
1 f none sendmail/help/opt_MaxHopCount.ca.html 0600 root bin 193 18080 1025499860
1 f none sendmail/help/opt_MaxHopCount.html 0600 root bin 158 14332 1025499860
1 f none sendmail/help/opt_MaxHopCount.pl.html 0600 root bin 180 17927 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ca.html 0600 root bin 241 22398 1025499860
1 f none sendmail/help/opt_MaxMessageSize.es.html 0600 root bin 233 22224 1025499860
1 f none sendmail/help/opt_MaxMessageSize.fr.html 0600 root bin 239 21859 1025499860
1 f none sendmail/help/opt_MaxMessageSize.html 0600 root bin 205 18819 1025499860
1 f none sendmail/help/opt_MaxMessageSize.pl.html 0600 root bin 249 24751 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ru_RU.html 0600 root bin 267 52244 1025499860
1 f none sendmail/help/opt_MaxMessageSize.ru_SU.html 0600 root bin 267 46018 1025499859
1 f none sendmail/help/opt_MaxMessageSize.sv.html 0600 root bin 182 17442 1025499859
1 f none sendmail/help/opt_MaxMessageSize.zh_TW.Big5.html 0600 root bin 163 23697 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ca.html 0600 root bin 156 14174 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.es.html 0600 root bin 172 16377 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.fr.html 0600 root bin 176 16119 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.html 0600 root bin 155 14304 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.pl.html 0600 root bin 190 19003 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ru_RU.html 0600 root bin 177 32508 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.ru_SU.html 0600 root bin 177 28880 1025499859
1 f none sendmail/help/opt_MaxQueueRunSize.sv.html 0600 root bin 145 13793 1025499860
1 f none sendmail/help/opt_MaxQueueRunSize.zh_TW.Big5.html 0600 root bin 101 13195 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.ca.html 0600 root bin 295 27562 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.es.html 0600 root bin 309 28689 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.fr.html 0600 root bin 361 33872 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.html 0600 root bin 289 26554 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.pl.html 0600 root bin 353 35284 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.ru_RU.html 0600 root bin 402 12604 1025499860
1 f none sendmail/help/opt_MinFreeBlocks.ru_SU.html 0600 root bin 402 3452 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.sv.html 0600 root bin 321 31615 1025499859
1 f none sendmail/help/opt_MinFreeBlocks.zh_TW.Big5.html 0600 root bin 194 28486 1025499860
1 f none sendmail/help/opt_MinQueueAge.ca.html 0600 root bin 185 16864 1025499860
1 f none sendmail/help/opt_MinQueueAge.es.html 0600 root bin 178 16621 1025499860
1 f none sendmail/help/opt_MinQueueAge.fr.html 0600 root bin 194 17299 1025499860
1 f none sendmail/help/opt_MinQueueAge.html 0600 root bin 160 14446 1025499860
1 f none sendmail/help/opt_MinQueueAge.pl.html 0600 root bin 178 17830 1025499860
1 f none sendmail/help/opt_MinQueueAge.ru_RU.html 0600 root bin 213 37258 1025499860
1 f none sendmail/help/opt_MinQueueAge.ru_SU.html 0600 root bin 213 33212 1025499859
1 f none sendmail/help/opt_MinQueueAge.sv.html 0600 root bin 186 18786 1025499859
1 f none sendmail/help/opt_MinQueueAge.zh_TW.Big5.html 0600 root bin 112 14611 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ca.html 0600 root bin 312 28890 1025499860
1 f none sendmail/help/opt_PostMasterCopy.es.html 0600 root bin 300 28012 1025499859
1 f none sendmail/help/opt_PostMasterCopy.fr.html 0600 root bin 304 27972 1025499859
1 f none sendmail/help/opt_PostMasterCopy.html 0600 root bin 291 26661 1025499860
1 f none sendmail/help/opt_PostMasterCopy.pl.html 0600 root bin 356 34890 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ru_RU.html 0600 root bin 354 63880 1025499860
1 f none sendmail/help/opt_PostMasterCopy.ru_SU.html 0600 root bin 354 56683 1025499859
1 f none sendmail/help/opt_PostMasterCopy.sv.html 0600 root bin 288 27649 1025499860
1 f none sendmail/help/opt_PostMasterCopy.zh_TW.Big5.html 0600 root bin 199 24999 1025499859
1 f none sendmail/help/opt_QueueDirectory.ca.html 0600 root bin 228 21183 1025499860
1 f none sendmail/help/opt_QueueDirectory.es.html 0600 root bin 217 20158 1025499860
1 f none sendmail/help/opt_QueueDirectory.fr.html 0600 root bin 252 22910 1025499860
1 f none sendmail/help/opt_QueueDirectory.html 0600 root bin 199 18383 1025499859
1 f none sendmail/help/opt_QueueDirectory.pl.html 0600 root bin 203 19451 1025499860
1 f none sendmail/help/opt_QueueDirectory.ru_RU.html 0600 root bin 222 41160 1025499860
1 f none sendmail/help/opt_QueueDirectory.ru_SU.html 0600 root bin 222 36515 1025499860
1 f none sendmail/help/opt_QueueDirectory.sv.html 0600 root bin 216 20438 1025499859
1 f none sendmail/help/opt_QueueDirectory.zh_TW.Big5.html 0600 root bin 137 18535 1025499860
1 f none sendmail/help/opt_QueueLA.ca.html 0600 root bin 303 28640 1025499860
1 f none sendmail/help/opt_QueueLA.es.html 0600 root bin 292 27511 1025499859
1 f none sendmail/help/opt_QueueLA.fr.html 0600 root bin 302 27812 1025499860
1 f none sendmail/help/opt_QueueLA.html 0600 root bin 258 24057 1025499859
1 f none sendmail/help/opt_QueueLA.pl.html 0600 root bin 350 35996 1025499860
1 f none sendmail/help/opt_QueueLA.ru_RU.html 0600 root bin 315 62978 1025499860
1 f none sendmail/help/opt_QueueLA.ru_SU.html 0600 root bin 315 55260 1025499859
1 f none sendmail/help/opt_QueueLA.sv.html 0600 root bin 317 31194 1025499860
1 f none sendmail/help/opt_QueueLA.zh_TW.Big5.html 0600 root bin 159 23614 1025499860
1 f none sendmail/help/opt_RefuseLA.ca.html 0600 root bin 360 34411 1025499860
1 f none sendmail/help/opt_RefuseLA.es.html 0600 root bin 336 31765 1025499860
1 f none sendmail/help/opt_RefuseLA.fr.html 0600 root bin 358 33436 1025499860
1 f none sendmail/help/opt_RefuseLA.html 0600 root bin 299 27748 1025499859
1 f none sendmail/help/opt_RefuseLA.pl.html 0600 root bin 388 39190 1025499860
1 f none sendmail/help/opt_RefuseLA.ru_RU.html 0600 root bin 339 207 1025499860
1 f none sendmail/help/opt_RefuseLA.ru_SU.html 0600 root bin 339 57992 1025499860
1 f none sendmail/help/opt_RefuseLA.sv.html 0600 root bin 362 35132 1025499859
1 f none sendmail/help/opt_RefuseLA.zh_TW.Big5.html 0600 root bin 193 28943 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ca.html 0600 root bin 285 26002 1025499860
1 f none sendmail/help/opt_SendMimeErrors.es.html 0600 root bin 302 27802 1025499859
1 f none sendmail/help/opt_SendMimeErrors.fr.html 0600 root bin 281 25941 1025499860
1 f none sendmail/help/opt_SendMimeErrors.html 0600 root bin 254 22980 1025499859
1 f none sendmail/help/opt_SendMimeErrors.pl.html 0600 root bin 357 35380 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ru_RU.html 0600 root bin 298 55612 1025499860
1 f none sendmail/help/opt_SendMimeErrors.ru_SU.html 0600 root bin 298 49092 1025499859
1 f none sendmail/help/opt_SendMimeErrors.sv.html 0600 root bin 265 24728 1025499860
1 f none sendmail/help/opt_SendMimeErrors.zh_TW.Big5.html 0600 root bin 182 23731 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ca.html 0600 root bin 430 39799 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.es.html 0600 root bin 463 43525 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.fr.html 0600 root bin 453 41602 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.html 0600 root bin 401 36641 1025499859
1 f none sendmail/help/opt_Timeout.queuereturn.pl.html 0600 root bin 465 46481 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ru_RU.html 0600 root bin 431 15652 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.ru_SU.html 0600 root bin 431 6110 1025499860
1 f none sendmail/help/opt_Timeout.queuereturn.sv.html 0600 root bin 412 40505 1025499859
1 f none sendmail/help/opt_Timeout.queuereturn.zh_TW.Big5.html 0600 root bin 283 41773 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ca.html 0600 root bin 399 36643 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.es.html 0600 root bin 464 43722 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.fr.html 0600 root bin 434 40240 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.html 0600 root bin 395 36105 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.pl.html 0600 root bin 444 44817 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ru_RU.html 0600 root bin 405 9549 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.ru_SU.html 0600 root bin 405 1003 1025499859
1 f none sendmail/help/opt_Timeout.queuewarn.sv.html 0600 root bin 370 36314 1025499860
1 f none sendmail/help/opt_Timeout.queuewarn.zh_TW.Big5.html 0600 root bin 248 35337 1025499859
1 f none sendmail/help/opt_dmode.ca.html 0600 root bin 596 50617 1025499860
1 f none sendmail/help/opt_dmode.es.html 0600 root bin 635 56399 1025499860
1 f none sendmail/help/opt_dmode.html 0600 root bin 562 48658 1025499860
1 f none sendmail/help/opt_dmode.pl.html 0600 root bin 672 62133 1025499860
1 f none sendmail/help/units.ca.html 0600 root bin 249 21674 1025499860
1 f none sendmail/help/units.es.html 0600 root bin 256 22582 1025499859
1 f none sendmail/help/units.fr.html 0600 root bin 283 25353 1025499859
1 f none sendmail/help/units.html 0600 root bin 235 19861 1025499859
1 f none sendmail/help/units.pl.html 0600 root bin 258 23120 1025499860
1 f none sendmail/help/units.ru_RU.html 0600 root bin 274 43485 1025499860
1 f none sendmail/help/units.ru_SU.html 0600 root bin 274 38909 1025499860
1 f none sendmail/help/units.sv.html 0600 root bin 251 22007 1025499859
1 f none sendmail/help/units.zh_TW.Big5.html 0600 root bin 176 19394 1025499859
1 d none sendmail/images 0700 root bin
1 f none sendmail/images/access.gif 0600 root bin 290 34434 1025499859
1 f none sendmail/images/aliases.gif 0600 root bin 397 47679 1025499859
1 f none sendmail/images/attach.gif 0600 root bin 77 4645 1025499859
1 f none sendmail/images/boxes.gif 0600 root bin 367 47932 1025499859
1 f none sendmail/images/cgs.gif 0600 root bin 376 48320 1025499859
1 f none sendmail/images/cws.gif 0600 root bin 266 31279 1025499859
1 f none sendmail/images/domains.gif 0600 root bin 256 30700 1025499859
1 f none sendmail/images/down.gif 0600 root bin 108 8892 1025499859
1 f none sendmail/images/features.gif 0600 root bin 434 52182 1025499859
1 f none sendmail/images/gap.gif 0600 root bin 73 6048 1025499859
1 f none sendmail/images/generics.gif 0600 root bin 389 49281 1025499859
1 f none sendmail/images/icon.gif 0600 root bin 314 42505 1025499859
1 f none sendmail/images/mailers.gif 0600 root bin 248 28427 1025499859
1 f none sendmail/images/mailq.gif 0600 root bin 374 42022 1025499859
1 f none sendmail/images/masq.gif 0600 root bin 335 37345 1025499859
1 f none sendmail/images/opts.gif 0600 root bin 460 53918 1025499859
1 f none sendmail/images/p1.gif 0600 root bin 55 3891 1025499859
1 f none sendmail/images/p2.gif 0600 root bin 55 3822 1025499859
1 f none sendmail/images/read.gif 0600 root bin 63 4500 1025499859
1 f none sendmail/images/relay.gif 0600 root bin 392 50435 1025499859
1 f none sendmail/images/special.gif 0600 root bin 62 4807 1025499859
1 f none sendmail/images/trusts.gif 0600 root bin 390 43396 1025499859
1 f none sendmail/images/up.gif 0600 root bin 103 9086 1025499859
1 f none sendmail/images/virtusers.gif 0600 root bin 451 55525 1025499859
1 f none sendmail/index.cgi 0700 root bin 5086 30702 1025499859
1 d none sendmail/lang 0700 root bin
1 f none sendmail/lang/ca 0600 root bin 34323 32867 1025499859
1 f none sendmail/lang/cz 0600 root bin 19191 20017 1025499859
1 f none sendmail/lang/de 0600 root bin 25313 2795 1025499859
1 f none sendmail/lang/en 0600 root bin 30676 41105 1025499859
1 f none sendmail/lang/es 0600 root bin 27397 45079 1025499859
1 f none sendmail/lang/fr 0600 root bin 21203 16626 1025499859
1 f none sendmail/lang/ja_JP.euc 0600 root bin 23934 40137 1025499859
1 f none sendmail/lang/ja_JP.jis 0600 root bin 23934 54972 1025499859
1 f none sendmail/lang/ko_KR.euc 0600 root bin 22139 7904 1025499859
1 f none sendmail/lang/pl 0600 root bin 28279 2372 1025499859
1 f none sendmail/lang/pt 0600 root bin 20946 6741 1025499859
1 f none sendmail/lang/ru_RU 0600 root bin 20023 4940 1025499859
1 f none sendmail/lang/ru_SU 0600 root bin 20056 35293 1025499859
1 f none sendmail/lang/sv 0600 root bin 23891 59768 1025499859
1 f none sendmail/lang/tr 0600 root bin 23442 22168 1025499859
1 f none sendmail/lang/zh_CN 0600 root bin 15768 55496 1025499859
1 f none sendmail/lang/zh_TW.Big5 0600 root bin 14756 5634 1025499859
1 f none sendmail/list_access.cgi 0700 root bin 2354 60082 1025499859
1 f none sendmail/list_aliases.cgi 0700 root bin 2955 36847 1025499860
1 f none sendmail/list_boxes.cgi 0700 root bin 2450 251 1025499859
1 f none sendmail/list_cgs.cgi 0700 root bin 1255 36921 1025499860
1 f none sendmail/list_cws.cgi 0700 root bin 1289 39661 1025499859
1 f none sendmail/list_domains.cgi 0700 root bin 1919 23868 1025499859
1 f none sendmail/list_features.cgi 0700 root bin 3048 49299 1025499860
1 f none sendmail/list_generics.cgi 0700 root bin 3286 11158 1025499859
1 f none sendmail/list_mail.cgi 0700 root bin 7249 1373 1025499859
1 f none sendmail/list_mailers.cgi 0700 root bin 2178 45590 1025499859
1 f none sendmail/list_mailq.cgi 0700 root bin 4562 35776 1025499859
1 f none sendmail/list_masq.cgi 0700 root bin 1497 56565 1025499859
1 f none sendmail/list_opts.cgi 0700 root bin 7063 55636 1025499859
1 f none sendmail/list_relay.cgi 0700 root bin 1596 64860 1025499860
1 f none sendmail/list_trusts.cgi 0700 root bin 1297 40839 1025499859
1 f none sendmail/list_us 0600 root bin 1 10 1025499859
1 f none sendmail/list_virtusers.cgi 0700 root bin 3220 369 1025499859
1 f none sendmail/log_parser.pl 0600 root bin 1363 44594 1025499860
1 f none sendmail/mail_search.cgi 0700 root bin 3282 7547 1025499860
1 f none sendmail/mailers-lib.pl 0600 root bin 4420 24466 1025499859
1 f none sendmail/manual_features.cgi 0700 root bin 372 31548 1025499860
1 f none sendmail/module.info 0600 root bin 775 13713 1025499882
1 f none sendmail/move.cgi 0700 root bin 565 48917 1025499860
1 f none sendmail/qdetach.cgi 0700 root bin 946 12690 1025499860
1 f none sendmail/reply_mail.cgi 0700 root bin 8155 59626 1025499859
1 f none sendmail/save_access.cgi 0700 root bin 1807 11001 1025499859
1 f none sendmail/save_afile.cgi 0700 root bin 434 35674 1025499859
1 f none sendmail/save_alias.cgi 0700 root bin 4149 62423 1025499860
1 f none sendmail/save_cgs.cgi 0700 root bin 1092 22284 1025499860
1 f none sendmail/save_cws.cgi 0700 root bin 1136 25807 1025499860
1 f none sendmail/save_domain.cgi 0700 root bin 1185 31328 1025499859
1 f none sendmail/save_feature.cgi 0700 root bin 2372 54055 1025499860
1 f none sendmail/save_ffile.cgi 0700 root bin 717 58221 1025499860
1 f none sendmail/save_file.cgi 0700 root bin 2501 8238 1025499860
1 f none sendmail/save_generic.cgi 0700 root bin 1349 45434 1025499859
1 f none sendmail/save_mailer.cgi 0700 root bin 1440 52099 1025499859
1 f none sendmail/save_masq.cgi 0700 root bin 1410 47364 1025499859
1 f none sendmail/save_opts.cgi 0700 root bin 2794 35658 1025499859
1 f none sendmail/save_relay.cgi 0700 root bin 1074 22074 1025499859
1 f none sendmail/save_rfile.cgi 0700 root bin 370 30615 1025499859
1 f none sendmail/save_trusts.cgi 0700 root bin 1122 25893 1025499859
1 f none sendmail/save_virtuser.cgi 0700 root bin 2960 42542 1025499859
1 f none sendmail/send_mail.cgi 0700 root bin 5375 20329 1025499859
1 f none sendmail/sendmail-lib.pl 0600 root bin 5474 41082 1025499860
1 f none sendmail/start.cgi 0700 root bin 505 43263 1025499860
1 f none sendmail/stop.cgi 0700 root bin 499 42202 1025499859
1 f none sendmail/useradmin_update.pl 0600 root bin 1131 25834 1025499859
1 f none sendmail/view_mail.cgi 0700 root bin 6919 29500 1025499859
1 f none sendmail/view_mailq.cgi 0700 root bin 4331 19010 1025499859
1 f none sendmail/virtusers-lib.pl 0600 root bin 5144 18307 1025499859
1 d none sentry 0700 root bin
1 f none sentry/config 0600 root bin 386 38969 1025499882
1 f none sentry/config-cobalt-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-debian-linux 0600 root bin 469 47398 1025499882
1 f none sentry/config-gentoo-linux 0600 root bin 417 41965 1025499882
1 f none sentry/config-mandrake-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-msc-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-open-linux 0600 root bin 478 47677 1025499882
1 f none sentry/config-redhat-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-suse-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config-turbo-linux 0600 root bin 465 46379 1025499882
1 f none sentry/config.info 0600 root bin 875 17986 1025499882
1 f none sentry/config.info.ca 0600 root bin 1009 32621 1025499882
1 f none sentry/edit_hostsentry.cgi 0700 root bin 3962 60642 1025499882
1 f none sentry/edit_logcheck.cgi 0700 root bin 4044 62694 1025499882
1 f none sentry/edit_portsentry.cgi 0700 root bin 5606 5716 1025499882
1 d none sentry/help 0700 root bin
1 f none sentry/help/hostsentry.ca.html 0600 root bin 1821 36631 1025499882
1 f none sentry/help/hostsentry.html 0600 root bin 1650 15839 1025499882
1 f none sentry/help/intro.ca.html 0600 root bin 363 33867 1025499882
1 f none sentry/help/intro.html 0600 root bin 356 33260 1025499882
1 f none sentry/help/logcheck.ca.html 0600 root bin 1436 65469 1025499882
1 f none sentry/help/logcheck.html 0600 root bin 1265 47142 1025499882
1 f none sentry/help/portsentry.ca.html 0600 root bin 2459 28641 1025499882
1 f none sentry/help/portsentry.html 0600 root bin 2341 9603 1025499882
1 d none sentry/images 0700 root bin
1 f none sentry/images/hostsentry.gif 0600 root bin 390 43396 1025499882
1 f none sentry/images/icon.gif 0600 root bin 1094 17027 1025499882
1 f none sentry/images/logcheck.gif 0600 root bin 470 52260 1025499882
1 f none sentry/images/portsentry.gif 0600 root bin 362 43063 1025499882
1 f none sentry/index.cgi 0700 root bin 1087 25380 1025499882
1 d none sentry/lang 0700 root bin
1 f none sentry/lang/ca 0600 root bin 6746 1651 1025499882
1 f none sentry/lang/en 0600 root bin 5925 46964 1025499882
1 f none sentry/log_parser.pl 0600 root bin 433 37906 1025499882
1 f none sentry/module.info 0600 root bin 117 10743 1025499882
1 f none sentry/save_hostsentry.cgi 0700 root bin 2306 57812 1025499882
1 f none sentry/save_logcheck.cgi 0700 root bin 2482 4837 1025499882
1 f none sentry/save_portsentry.cgi 0700 root bin 2681 19700 1025499882
1 f none sentry/sentry-lib.pl 0600 root bin 3328 10231 1025499882
1 f none sentry/start_hostsentry.cgi 0700 root bin 451 38298 1025499882
1 f none sentry/start_portsentry.cgi 0700 root bin 356 31053 1025499882
1 f none sentry/stop_hostsentry.cgi 0700 root bin 569 48015 1025499882
1 f none sentry/stop_portsentry.cgi 0700 root bin 585 49461 1025499882
1 d none servers 0700 root bin
1 f none servers/acl_security.pl 0600 root bin 1869 17427 1025499865
1 f none servers/config 0600 root bin 80 7499 1025499865
1 f none servers/config.info 0600 root bin 280 25239 1025499864
1 f none servers/config.info.ca 0600 root bin 283 25559 1025499865
1 f none servers/config.info.cz 0600 root bin 54 5369 1025499865
1 f none servers/config.info.de 0600 root bin 312 27828 1025499865
1 f none servers/config.info.es 0600 root bin 121 11477 1025499865
1 f none servers/config.info.hu 0600 root bin 139 13964 1025499865
1 f none servers/config.info.pl 0600 root bin 110 10690 1025499865
1 f none servers/config.info.sv 0600 root bin 96 9127 1025499865
1 f none servers/config.info.tr 0600 root bin 110 11393 1025499865
1 f none servers/config.info.zh_CN 0600 root bin 64 9280 1025499865
1 f none servers/config.info.zh_TW.Big5 0600 root bin 46 5814 1025499865
1 f none servers/defaultacl 0600 root bin 24 1970 1025499865
1 f none servers/edit_serv.cgi 0700 root bin 3803 52829 1025499865
1 f none servers/feedback_files.pl 0600 root bin 203 17020 1025499865
1 f none servers/find.cgi 0700 root bin 2940 24471 1025499864
1 d none servers/images 0700 root bin
1 f none servers/images/cal_spin.gif 0600 root bin 37393 15581 1025499865
1 f none servers/images/caldera.gif 0600 root bin 2740 55513 1025499865
1 f none servers/images/debian.gif 0600 root bin 2155 8335 1025499865
1 f none servers/images/freebsd.gif 0600 root bin 1664 481 1025499865
1 f none servers/images/hpux.gif 0600 root bin 435 50957 1025499865
1 f none servers/images/icon.gif 0600 root bin 1526 31216 1025499865
1 f none servers/images/irix.gif 0600 root bin 718 31023 1025499865
1 f none servers/images/linux.gif 0600 root bin 2028 31581 1025499865
1 f none servers/images/mac.gif 0600 root bin 2203 2868 1025499865
1 f none servers/images/mandrake.gif 0600 root bin 997 9791 1025499865
1 f none servers/images/msc.gif 0600 root bin 2029 45865 1025499865
1 f none servers/images/openbsd.gif 0600 root bin 1664 481 1025499865
1 f none servers/images/redhat.gif 0600 root bin 1385 16437 1025499865
1 f none servers/images/sco.gif 0600 root bin 502 60123 1025499865
1 f none servers/images/solaris.gif 0600 root bin 858 61299 1025499865
1 f none servers/images/suse.gif 0600 root bin 496 3496 1025499865
1 f none servers/images/unknown.gif 0600 root bin 2256 52530 1025499865
1 f none servers/index.cgi 0700 root bin 3393 7238 1025499864
1 d none servers/lang 0700 root bin
1 f none servers/lang/ca 0600 root bin 2318 22896 1025499865
1 f none servers/lang/cz 0600 root bin 897 26670 1025499865
1 f none servers/lang/de 0600 root bin 2971 5247 1025499865
1 f none servers/lang/en 0600 root bin 2045 61467 1025499864
1 f none servers/lang/es 0600 root bin 1897 49366 1025499865
1 f none servers/lang/fr 0600 root bin 2090 6148 1025499865
1 f none servers/lang/hu 0600 root bin 1516 18409 1025499865
1 f none servers/lang/ja_JP.euc 0600 root bin 1746 59449 1025499865
1 f none servers/lang/ko_KR.euc 0600 root bin 1576 25262 1025499865
1 f none servers/lang/pl 0600 root bin 2264 26727 1025499865
1 f none servers/lang/pt 0600 root bin 972 28504 1025499864
1 f none servers/lang/ru_RU 0600 root bin 948 26957 1025499865
1 f none servers/lang/ru_SU 0600 root bin 952 13232 1025499865
1 f none servers/lang/sv 0600 root bin 1737 38190 1025499865
1 f none servers/lang/tr 0600 root bin 1209 57314 1025499865
1 f none servers/lang/zh_CN 0600 root bin 1273 56031 1025499864
1 f none servers/lang/zh_TW.Big5 0600 root bin 756 32931 1025499864
1 f none servers/link.cgi 0700 root bin 2653 11436 1025499865
1 f none servers/log_parser.pl 0600 root bin 681 57337 1025499865
1 f none servers/module.info 0600 root bin 550 57726 1025499882
1 f none servers/save_serv.cgi 0700 root bin 2679 8022 1025499865
1 f none servers/servers-lib.pl 0600 root bin 2968 32596 1025499864
1 f none session_login.cgi 0700 root bin 2327 63342 1025499832
1 f none setup.sh 0700 root bin 17889 37556 1025499831
1 d none shell 0700 root bin
1 f none shell/acl_security.pl 0600 root bin 699 59727 1025499875
1 f none shell/defaultacl 0600 root bin 10 970 1025499875
1 d none shell/images 0700 root bin
1 f none shell/images/icon.gif 0600 root bin 2678 14014 1025499875
1 f none shell/images/shell.jpg 0600 root bin 46154 22692 1025499875
1 f none shell/index.cgi 0700 root bin 2321 51344 1025499875
1 d none shell/lang 0700 root bin
1 f none shell/lang/ca 0600 root bin 389 36100 1025499875
1 f none shell/lang/de 0600 root bin 985 15802 1025499875
1 f none shell/lang/en 0600 root bin 366 34673 1025499875
1 f none shell/lang/es 0600 root bin 350 32805 1025499875
1 f none shell/lang/fr 0600 root bin 375 36465 1025499875
1 f none shell/lang/hu 0600 root bin 463 46956 1025499875
1 f none shell/lang/ja_JP.euc 0600 root bin 324 50876 1025499875
1 f none shell/lang/ko_KR.euc 0600 root bin 263 38619 1025499875
1 f none shell/lang/pl 0600 root bin 413 41747 1025499875
1 f none shell/lang/zh_TW.Big5 0600 root bin 261 34504 1025499875
1 f none shell/module.info 0600 root bin 208 20927 1025499882
1 f none shell/shell-lib.pl 0600 root bin 57 4201 1025499875
1 d none software 0700 root bin
1 f none software/aix-lib.pl 0600 root bin 18895 55202 1025499855
1 f none software/apt-lib.pl 0600 root bin 2255 61043 1025499855
1 f none software/apt_find.cgi 0700 root bin 1800 6508 1025499855
1 f none software/apt_upgrade.cgi 0700 root bin 1772 9018 1025499855
1 f none software/close.cgi 0700 root bin 376 31562 1025499855
1 f none software/closeall.cgi 0700 root bin 158 13767 1025499855
1 f none software/config-aix 0600 root bin 19 1881 1025499855
1 f none software/config-cobalt-linux 0600 root bin 19 1894 1025499855
1 f none software/config-corel-linux 0600 root bin 22 2170 1025499853
1 f none software/config-debian-linux 0600 root bin 22 2170 1025499854
1 f none software/config-freebsd 0600 root bin 23 2290 1025499853
1 f none software/config-gentoo-linux 0600 root bin 22 2188 1025499855
1 f none software/config-hpux 0600 root bin 20 2012 1025499853
1 f none software/config-mandrake-linux 0600 root bin 19 1894 1025499855
1 f none software/config-msc-linux 0600 root bin 19 1894 1025499855
1 f none software/config-netbsd 0600 root bin 23 2290 1025499855
1 f none software/config-open-linux 0600 root bin 19 1894 1025499853
1 f none software/config-openbsd 0600 root bin 23 2306 1025499853
1 f none software/config-openserver 0600 root bin 22 2178 1025499855
1 f none software/config-redhat-linux 0600 root bin 19 1894 1025499855
1 f none software/config-slackware-linux 0600 root bin 25 2516 1025499855
1 f none software/config-solaris 0600 root bin 22 2178 1025499853
1 f none software/config-suse-linux 0600 root bin 19 1894 1025499853
1 f none software/config-turbo-linux 0600 root bin 19 1894 1025499853
1 f none software/config-unixware 0600 root bin 22 2178 1025499855
1 f none software/config.info 0600 root bin 148 13749 1025499855
1 f none software/config.info.ca 0600 root bin 139 12763 1025499855
1 f none software/config.info.de 0600 root bin 124 11527 1025499854
1 f none software/config.info.es 0600 root bin 131 12285 1025499853
1 f none software/config.info.fr 0600 root bin 133 12664 1025499855
1 f none software/config.info.pl 0600 root bin 129 12217 1025499855
1 f none software/config.info.ru_RU 0600 root bin 128 15193 1025499855
1 f none software/config.info.ru_SU 0600 root bin 128 14490 1025499853
1 f none software/config.info.sv 0600 root bin 224 21124 1025499854
1 f none software/config.info.tr 0600 root bin 122 11535 1025499855
1 f none software/config.info.zh_CN 0600 root bin 115 12209 1025499853
1 f none software/config.info.zh_TW.Big5 0600 root bin 117 12026 1025499853
1 f none software/debian-lib.pl 0600 root bin 5049 14565 1025499853
1 f none software/delete_file.cgi 0700 root bin 245 20900 1025499853
1 f none software/delete_pack.cgi 0700 root bin 1396 47224 1025499855
1 f none software/do_install.cgi 0700 root bin 1666 64771 1025499853
1 f none software/edit_pack.cgi 0700 root bin 2104 45865 1025499853
1 f none software/emerge-lib.pl 0600 root bin 6355 49345 1025499855
1 f none software/emerge_find.cgi 0700 root bin 1535 49356 1025499855
1 f none software/file_info.cgi 0700 root bin 2245 44376 1025499853
1 f none software/freebsd-lib.pl 0600 root bin 4622 41685 1025499855
1 d none software/help 0700 root bin
1 f none software/help/aix_accept.ca.html 0600 root bin 216 20209 1025499855
1 f none software/help/aix_accept.html 0600 root bin 196 17667 1025499855
1 f none software/help/aix_auto.ca.html 0600 root bin 1208 49244 1025499855
1 f none software/help/aix_auto.html 0600 root bin 1167 42386 1025499855
1 f none software/help/aix_clean.ca.html 0600 root bin 534 51094 1025499855
1 f none software/help/aix_clean.html 0600 root bin 468 43645 1025499855
1 f none software/help/aix_commit.ca.html 0600 root bin 3192 41417 1025499855
1 f none software/help/aix_commit.html 0600 root bin 3004 11802 1025499855
1 f none software/help/aix_detail.ca.html 0600 root bin 156 14005 1025499855
1 f none software/help/aix_detail.html 0600 root bin 157 13955 1025499855
1 f none software/help/aix_device.ca.html 0600 root bin 271 24548 1025499855
1 f none software/help/aix_device.html 0600 root bin 245 21713 1025499855
1 f none software/help/aix_extend.ca.html 0600 root bin 1100 35618 1025499855
1 f none software/help/aix_extend.html 0600 root bin 1035 28470 1025499855
1 f none software/help/aix_include.ca.html 0600 root bin 489 45762 1025499855
1 f none software/help/aix_include.html 0600 root bin 451 41203 1025499855
1 f none software/help/aix_license.ca.html 0600 root bin 386 37014 1025499855
1 f none software/help/aix_license.html 0600 root bin 315 29125 1025499855
1 f none software/help/aix_overwrite.ca.html 0600 root bin 550 51107 1025499855
1 f none software/help/aix_overwrite.html 0600 root bin 508 44848 1025499855
1 f none software/help/aix_preview.ca.html 0600 root bin 916 22714 1025499855
1 f none software/help/aix_preview.html 0600 root bin 833 11380 1025499855
1 f none software/help/aix_process.ca.html 0600 root bin 505 46036 1025499855
1 f none software/help/aix_process.html 0600 root bin 488 43798 1025499855
1 f none software/help/aix_save.ca.html 0600 root bin 907 20820 1025499855
1 f none software/help/aix_save.html 0600 root bin 901 16484 1025499855
1 f none software/help/aix_software.ca.html 0600 root bin 268 24764 1025499855
1 f none software/help/aix_software.html 0600 root bin 245 21828 1025499855
1 f none software/help/aix_verify.ca.html 0600 root bin 643 60887 1025499855
1 f none software/help/aix_verify.html 0600 root bin 595 54704 1025499855
1 f none software/help/delete.ca.html 0600 root bin 269 25410 1025499855
1 f none software/help/delete.es.html 0600 root bin 287 26584 1025499854
1 f none software/help/delete.fr.html 0600 root bin 267 25841 1025499854
1 f none software/help/delete.html 0600 root bin 248 22423 1025499854
1 f none software/help/delete.hu.html 0600 root bin 251 25772 1025499855
1 f none software/help/delete.pl.html 0600 root bin 273 27240 1025499855
1 f none software/help/delete.sv.html 0600 root bin 227 21177 1025499854
1 f none software/help/delete.zh_TW.Big5.html 0600 root bin 173 25631 1025499854
1 f none software/help/edit_pack.ca.html 0600 root bin 280 26801 1025499855
1 f none software/help/edit_pack.es.html 0600 root bin 286 26838 1025499854
1 f none software/help/edit_pack.fr.html 0600 root bin 292 27660 1025499854
1 f none software/help/edit_pack.html 0600 root bin 251 22693 1025499854
1 f none software/help/edit_pack.hu.html 0600 root bin 261 26555 1025499855
1 f none software/help/edit_pack.pl.html 0600 root bin 262 25413 1025499855
1 f none software/help/edit_pack.sv.html 0600 root bin 230 21600 1025499854
1 f none software/help/edit_pack.zh_TW.Big5.html 0600 root bin 163 22607 1025499854
1 f none software/help/excludedocs.ca.html 0600 root bin 162 15359 1025499855
1 f none software/help/excludedocs.es.html 0600 root bin 174 16729 1025499854
1 f none software/help/excludedocs.fr.html 0600 root bin 172 16064 1025499854
1 f none software/help/excludedocs.html 0600 root bin 168 15421 1025499854
1 f none software/help/excludedocs.hu.html 0600 root bin 141 14047 1025499855
1 f none software/help/excludedocs.pl.html 0600 root bin 184 17998 1025499855
1 f none software/help/excludedocs.sv.html 0600 root bin 160 15284 1025499854
1 f none software/help/excludedocs.zh_TW.Big5.html 0600 root bin 94 13036 1025499854
1 f none software/help/file_info.ca.html 0600 root bin 271 25333 1025499855
1 f none software/help/file_info.es.html 0600 root bin 291 27403 1025499854
1 f none software/help/file_info.fr.html 0600 root bin 268 25042 1025499854
1 f none software/help/file_info.html 0600 root bin 250 22424 1025499854
1 f none software/help/file_info.pl.html 0600 root bin 277 27313 1025499855
1 f none software/help/file_info.sv.html 0600 root bin 226 21528 1025499854
1 f none software/help/file_info.zh_TW.Big5.html 0600 root bin 142 21176 1025499854
1 f none software/help/install.ca.html 0600 root bin 189 17939 1025499855
1 f none software/help/install.es.html 0600 root bin 183 17494 1025499854
1 f none software/help/install.fr.html 0600 root bin 193 18291 1025499854
1 f none software/help/install.html 0600 root bin 173 15690 1025499854
1 f none software/help/install.pl.html 0600 root bin 157 14834 1025499855
1 f none software/help/install.sv.html 0600 root bin 154 14748 1025499854
1 f none software/help/install.zh_TW.Big5.html 0600 root bin 90 12293 1025499854
1 f none software/help/intro.ca.html 0600 root bin 2172 3932 1025499855
1 f none software/help/intro.es.html 0600 root bin 2322 21475 1025499854
1 f none software/help/intro.fr.html 0600 root bin 2384 30703 1025499854
1 f none software/help/intro.html 0600 root bin 2022 51766 1025499854
1 f none software/help/intro.pl.html 0600 root bin 2305 30438 1025499855
1 f none software/help/intro.sv.html 0600 root bin 2020 63013 1025499854
1 f none software/help/intro.zh_TW.Big5.html 0600 root bin 1348 61875 1025499854
1 f none software/help/list_pack.ca.html 0600 root bin 885 11688 1025499855
1 f none software/help/list_pack.es.html 0600 root bin 974 22774 1025499854
1 f none software/help/list_pack.fr.html 0600 root bin 928 17843 1025499854
1 f none software/help/list_pack.html 0600 root bin 828 6916 1025499854
1 f none software/help/list_pack.pl.html 0600 root bin 966 26099 1025499855
1 f none software/help/list_pack.sv.html 0600 root bin 750 3988 1025499854
1 f none software/help/list_pack.zh_TW.Big5.html 0600 root bin 607 17689 1025499854
1 f none software/help/nodeps.ca.html 0600 root bin 177 16974 1025499855
1 f none software/help/nodeps.es.html 0600 root bin 182 17147 1025499855
1 f none software/help/nodeps.fr.html 0600 root bin 201 18905 1025499854
1 f none software/help/nodeps.html 0600 root bin 190 17352 1025499854
1 f none software/help/nodeps.pl.html 0600 root bin 209 20807 1025499855
1 f none software/help/nodeps.sv.html 0600 root bin 175 16421 1025499854
1 f none software/help/nodeps.zh_TW.Big5.html 0600 root bin 118 16916 1025499854
1 f none software/help/noscripts.ca.html 0600 root bin 208 20165 1025499855
1 f none software/help/noscripts.es.html 0600 root bin 221 21381 1025499855
1 f none software/help/noscripts.fr.html 0600 root bin 200 19036 1025499854
1 f none software/help/noscripts.html 0600 root bin 193 17780 1025499854
1 f none software/help/noscripts.pl.html 0600 root bin 192 18960 1025499855
1 f none software/help/noscripts.sv.html 0600 root bin 202 19687 1025499854
1 f none software/help/noscripts.zh_TW.Big5.html 0600 root bin 120 17330 1025499854
1 f none software/help/oldpackage.ca.html 0600 root bin 253 24015 1025499855
1 f none software/help/oldpackage.es.html 0600 root bin 285 27403 1025499854
1 f none software/help/oldpackage.fr.html 0600 root bin 320 30046 1025499854
1 f none software/help/oldpackage.html 0600 root bin 245 22183 1025499854
1 f none software/help/oldpackage.pl.html 0600 root bin 282 27891 1025499855
1 f none software/help/oldpackage.sv.html 0600 root bin 254 23708 1025499854
1 f none software/help/oldpackage.zh_TW.Big5.html 0600 root bin 188 27441 1025499854
1 f none software/help/replacefiles.ca.html 0600 root bin 255 24344 1025499855
1 f none software/help/replacefiles.es.html 0600 root bin 271 26124 1025499854
1 f none software/help/replacefiles.fr.html 0600 root bin 271 26204 1025499854
1 f none software/help/replacefiles.html 0600 root bin 245 22577 1025499854
1 f none software/help/replacefiles.pl.html 0600 root bin 243 23837 1025499855
1 f none software/help/replacefiles.sv.html 0600 root bin 242 23116 1025499854
1 f none software/help/replacefiles.zh_TW.Big5.html 0600 root bin 156 22497 1025499854
1 f none software/help/replacepkgs.ca.html 0600 root bin 139 12971 1025499855
1 f none software/help/replacepkgs.es.html 0600 root bin 142 13281 1025499854
1 f none software/help/replacepkgs.fr.html 0600 root bin 144 13898 1025499855
1 f none software/help/replacepkgs.html 0600 root bin 144 12970 1025499854
1 f none software/help/replacepkgs.pl.html 0600 root bin 151 14651 1025499855
1 f none software/help/replacepkgs.sv.html 0600 root bin 136 12819 1025499854
1 f none software/help/replacepkgs.zh_TW.Big5.html 0600 root bin 118 15922 1025499854
1 f none software/help/root.ca.html 0600 root bin 159 14589 1025499855
1 f none software/help/root.es.html 0600 root bin 162 15458 1025499854
1 f none software/help/root.fr.html 0600 root bin 163 15263 1025499854
1 f none software/help/root.html 0600 root bin 147 13472 1025499854
1 f none software/help/root.pl.html 0600 root bin 146 13884 1025499855
1 f none software/help/root.sv.html 0600 root bin 155 14758 1025499855
1 f none software/help/root.zh_TW.Big5.html 0600 root bin 108 14534 1025499854
1 f none software/help/search.ca.html 0600 root bin 196 17409 1025499855
1 f none software/help/search.es.html 0600 root bin 219 20429 1025499855
1 f none software/help/search.fr.html 0600 root bin 211 19627 1025499854
1 f none software/help/search.html 0600 root bin 163 14371 1025499854
1 f none software/help/search.pl.html 0600 root bin 198 19683 1025499855
1 f none software/help/search.sv.html 0600 root bin 169 16671 1025499855
1 f none software/help/search.zh_TW.Big5.html 0600 root bin 101 14181 1025499854
1 f none software/help/upgrade.ca.html 0600 root bin 202 19058 1025499855
1 f none software/help/upgrade.es.html 0600 root bin 222 21162 1025499854
1 f none software/help/upgrade.fr.html 0600 root bin 235 22844 1025499854
1 f none software/help/upgrade.html 0600 root bin 203 18411 1025499854
1 f none software/help/upgrade.pl.html 0600 root bin 213 21309 1025499855
1 f none software/help/upgrade.sv.html 0600 root bin 189 18003 1025499854
1 f none software/help/upgrade.zh_TW.Big5.html 0600 root bin 140 19733 1025499854
1 f none software/hpux-lib.pl 0600 root bin 10171 8197 1025499855
1 d none software/images 0700 root bin
1 f none software/images/close.gif 0600 root bin 112 11697 1025499853
1 f none software/images/icon.gif 0600 root bin 297 35022 1025499853
1 f none software/images/open.gif 0600 root bin 107 10761 1025499853
1 f none software/images/pack.gif 0600 root bin 123 11211 1025499853
1 f none software/index.cgi 0700 root bin 1961 39264 1025499855
1 f none software/install_pack.cgi 0700 root bin 3716 35463 1025499855
1 d none software/lang 0700 root bin
1 f none software/lang/ca 0600 root bin 8478 21783 1025499853
1 f none software/lang/cz 0600 root bin 3642 20343 1025499853
1 f none software/lang/de 0600 root bin 4098 62035 1025499853
1 f none software/lang/en 0600 root bin 7991 27289 1025499853
1 f none software/lang/es 0600 root bin 7122 24343 1025499853
1 f none software/lang/fr 0600 root bin 7556 12191 1025499853
1 f none software/lang/hu 0600 root bin 3884 14078 1025499853
1 f none software/lang/ja_JP.euc 0600 root bin 7084 38655 1025499853
1 f none software/lang/ko_KR.euc 0600 root bin 6188 12370 1025499853
1 f none software/lang/pl 0600 root bin 7077 39445 1025499853
1 f none software/lang/pt 0600 root bin 3874 49620 1025499853
1 f none software/lang/ru_RU 0600 root bin 3649 60098 1025499853
1 f none software/lang/ru_SU 0600 root bin 3662 12744 1025499853
1 f none software/lang/sv 0600 root bin 5789 35194 1025499853
1 f none software/lang/tr 0600 root bin 3672 47457 1025499853
1 f none software/lang/zh_CN 0600 root bin 2816 57467 1025499853
1 f none software/lang/zh_TW.Big5 0600 root bin 2889 26975 1025499853
1 f none software/list_pack.cgi 0700 root bin 2182 36018 1025499855
1 f none software/log_parser.pl 0600 root bin 886 6802 1025499855
1 f none software/module.info 0600 root bin 1035 36353 1025499882
1 f none software/open.cgi 0700 root bin 252 20980 1025499855
1 f none software/openall.cgi 0700 root bin 427 33315 1025499855
1 f none software/openbsd-lib.pl 0600 root bin 4615 41352 1025499853
1 f none software/pkgadd-lib.pl 0600 root bin 6541 50932 1025499853
1 f none software/rhn-lib.pl 0600 root bin 3252 7029 1025499855
1 f none software/rhn.cgi 0700 root bin 1265 33291 1025499855
1 f none software/rhn_check.cgi 0700 root bin 1848 18710 1025499855
1 f none software/rpm-lib.pl 0600 root bin 7608 15808 1025499853
1 f none software/rpmfind.cgi 0700 root bin 2510 49916 1025499855
1 f none software/search.cgi 0700 root bin 1490 50243 1025499853
1 f none software/slackware-lib.pl 0600 root bin 5795 56657 1025499853
1 f none software/software-lib.pl 0600 root bin 4828 63365 1025499855
1 f none software/tree.cgi 0700 root bin 2160 35851 1025499855
1 f none software/view.cgi 0700 root bin 905 1162 1025499855
1 d none squid 0700 root bin
1 f none squid/acl.cgi 0700 root bin 9451 25993 1025499860
1 f none squid/acl_save.cgi 0700 root bin 6728 55398 1025499860
1 f none squid/acl_security.pl 0700 root bin 1465 56082 1025499860
1 f none squid/always.cgi 0700 root bin 2021 36133 1025499860
1 f none squid/always_save.cgi 0700 root bin 1040 20867 1025499860
1 f none squid/cachemgr.cgi 0700 root bin 483 38595 1025499860
1 f none squid/calamaris.cgi 0700 root bin 2355 52361 1025499860
1 f none squid/chown.cgi 0700 root bin 1462 53388 1025499860
1 f none squid/clear.cgi 0700 root bin 2625 14638 1025499860
1 f none squid/config-aix 0600 root bin 293 27300 1025499860
1 f none squid/config-cobalt-linux 0600 root bin 292 27207 1025499860
1 f none squid/config-corel-linux 0600 root bin 266 24722 1025499860
1 f none squid/config-debian-linux 0600 root bin 266 24722 1025499860
1 f none squid/config-freebsd 0600 root bin 323 30254 1025499860
1 f none squid/config-generic-linux 0600 root bin 333 31218 1025499860
1 f none squid/config-gentoo-linux 0600 root bin 340 31845 1025499860
1 f none squid/config-hpux 0600 root bin 333 31218 1025499860
1 f none squid/config-irix 0600 root bin 333 31218 1025499860
1 f none squid/config-lfs-linux 0600 root bin 302 28210 1025499860
1 f none squid/config-macos 0600 root bin 333 31218 1025499860
1 f none squid/config-mandrake-linux 0600 root bin 355 33145 1025499860
1 f none squid/config-mandrake-linux-8.0 0600 root bin 350 32714 1025499860
1 f none squid/config-mandrake-linux-8.1 0600 root bin 350 32714 1025499860
1 f none squid/config-mandrake-linux-8.2 0600 root bin 350 32714 1025499860
1 f none squid/config-msc-linux 0600 root bin 350 32832 1025499860
1 f none squid/config-netbsd 0600 root bin 288 26835 1025499860
1 f none squid/config-open-linux 0600 root bin 357 33291 1025499860
1 f none squid/config-open-linux-3.1e 0600 root bin 359 33437 1025499860
1 f none squid/config-openbsd 0600 root bin 323 30254 1025499860
1 f none squid/config-openserver 0600 root bin 333 31218 1025499860
1 f none squid/config-osf1 0600 root bin 333 31218 1025499860
1 f none squid/config-redhat-linux 0600 root bin 269 25038 1025499860
1 f none squid/config-redhat-linux-6.0 0600 root bin 355 33145 1025499860
1 f none squid/config-redhat-linux-6.1 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-6.2 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.0 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.1 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.2 0600 root bin 350 32714 1025499860
1 f none squid/config-redhat-linux-7.3 0600 root bin 350 32714 1025499860
1 f none squid/config-slackware-linux 0600 root bin 333 31218 1025499860
1 f none squid/config-solaris 0600 root bin 333 31218 1025499860
1 f none squid/config-suse-linux 0600 root bin 260 24185 1025499860
1 f none squid/config-turbo-linux 0600 root bin 269 25038 1025499860
1 f none squid/config-unixware 0600 root bin 333 31218 1025499860
1 f none squid/config.info 0600 root bin 754 4338 1025499860
1 f none squid/config.info.ca 0600 root bin 899 19090 1025499860
1 f none squid/config.info.de 0600 root bin 546 51188 1025499860
1 f none squid/config.info.es 0600 root bin 635 60537 1025499860
1 f none squid/config.info.fr 0600 root bin 573 54349 1025499860
1 f none squid/config.info.it 0600 root bin 612 56781 1025499860
1 f none squid/config.info.pl 0600 root bin 768 8450 1025499860
1 f none squid/config.info.ru_RU 0600 root bin 282 43222 1025499860
1 f none squid/config.info.ru_SU 0600 root bin 282 39479 1025499860
1 f none squid/config.info.sv 0600 root bin 592 59284 1025499860
1 f none squid/config.info.tr 0600 root bin 351 35830 1025499860
1 f none squid/config.info.zh_CN 0600 root bin 373 49812 1025499860
1 f none squid/config.info.zh_TW.Big5 0600 root bin 296 37235 1025499860
1 f none squid/defaultacl 0600 root bin 145 12656 1025499860
1 f none squid/edit_acl.cgi 0700 root bin 3818 37024 1025499860
1 f none squid/edit_admin.cgi 0700 root bin 3172 61664 1025499860
1 f none squid/edit_auth.cgi 0700 root bin 2316 59090 1025499860
1 f none squid/edit_cache.cgi 0700 root bin 8549 33477 1025499860
1 f none squid/edit_cache_host.cgi 0700 root bin 7077 51767 1025499860
1 f none squid/edit_icp.cgi 0700 root bin 5702 53416 1025499860
1 f none squid/edit_logs.cgi 0700 root bin 2934 44359 1025499860
1 f none squid/edit_mem.cgi 0700 root bin 2681 23570 1025499860
1 f none squid/edit_misc.cgi 0700 root bin 4374 26954 1025499860
1 f none squid/edit_nauth.cgi 0700 root bin 1417 46635 1025499860
1 f none squid/edit_nuser.cgi 0700 root bin 1901 29186 1025499860
1 f none squid/edit_ports.cgi 0700 root bin 2430 1747 1025499860
1 f none squid/edit_progs.cgi 0700 root bin 3183 3180 1025499860
1 f none squid/edit_smem.cgi 0700 root bin 5016 7831 1025499860
1 f none squid/edit_sports.cgi 0700 root bin 2426 63114 1025499860
1 f none squid/edit_user.cgi 0700 root bin 1549 1386 1025499860
1 d none squid/help 0700 root bin
1 f none squid/help/edit_acl.ca.html 0600 root bin 1705 25708 1025499860
1 f none squid/help/edit_acl.es.html 0600 root bin 1755 28763 1025499860
1 f none squid/help/edit_acl.html 0600 root bin 1604 11481 1025499860
1 f none squid/help/edit_acl.it.html 0600 root bin 1604 11481 1025499860
1 f none squid/help/edit_acl.pl.html 0600 root bin 1670 29190 1025499860
1 f none squid/help/edit_acl.sv.html 0600 root bin 1601 25651 1025499860
1 f none squid/help/edit_acl.zh_TW.Big5.html 0600 root bin 1050 7963 1025499860
1 f none squid/help/edit_admin.ca.html 0600 root bin 1979 46654 1025499860
1 f none squid/help/edit_admin.es.html 0600 root bin 2145 2002 1025499860
1 f none squid/help/edit_admin.html 0600 root bin 1912 40607 1025499860
1 f none squid/help/edit_admin.it.html 0600 root bin 1912 40607 1025499860
1 f none squid/help/edit_admin.pl.html 0600 root bin 2197 17847 1025499860
1 f none squid/help/edit_admin.sv.html 0600 root bin 2055 63967 1025499860
1 f none squid/help/edit_admin.zh_TW.Big5.html 0600 root bin 1319 45222 1025499860
1 f none squid/help/edit_cache.ca.html 0600 root bin 5257 17876 1025499860
1 f none squid/help/edit_cache.es.html 0600 root bin 5679 63390 1025499860
1 f none squid/help/edit_cache.html 0600 root bin 4913 44493 1025499860
1 f none squid/help/edit_cache.it.html 0600 root bin 4913 44493 1025499860
1 f none squid/help/edit_cache.pl.html 0600 root bin 5657 26499 1025499860
1 f none squid/help/edit_cache.sv.html 0600 root bin 5142 38183 1025499860
1 f none squid/help/edit_cache.zh_TW.Big5.html 0600 root bin 3273 60685 1025499860
1 f none squid/help/edit_icp.ca.html 0600 root bin 1875 39171 1025499860
1 f none squid/help/edit_icp.es.html 0600 root bin 1982 53906 1025499860
1 f none squid/help/edit_icp.html 0600 root bin 1767 27711 1025499860
1 f none squid/help/edit_icp.it.html 0600 root bin 1767 27711 1025499860
1 f none squid/help/edit_icp.pl.html 0600 root bin 2147 13562 1025499860
1 f none squid/help/edit_icp.sv.html 0600 root bin 1942 58290 1025499860
1 f none squid/help/edit_icp.zh_TW.Big5.html 0600 root bin 1215 36493 1025499860
1 f none squid/help/edit_logs.ca.html 0600 root bin 4950 58521 1025499860
1 f none squid/help/edit_logs.es.html 0600 root bin 5359 37455 1025499860
1 f none squid/help/edit_logs.html 0600 root bin 4331 57704 1025499860
1 f none squid/help/edit_logs.it.html 0600 root bin 4331 57704 1025499860
1 f none squid/help/edit_logs.pl.html 0600 root bin 4915 21185 1025499860
1 f none squid/help/edit_logs.sv.html 0600 root bin 4700 61488 1025499860
1 f none squid/help/edit_logs.zh_TW.Big5.html 0600 root bin 2925 23016 1025499860
1 f none squid/help/edit_mem.ca.html 0600 root bin 2893 207 1025499860
1 f none squid/help/edit_mem.es.html 0600 root bin 3011 10689 1025499860
1 f none squid/help/edit_mem.html 0600 root bin 2666 39745 1025499860
1 f none squid/help/edit_mem.it.html 0600 root bin 2666 39745 1025499860
1 f none squid/help/edit_mem.pl.html 0600 root bin 2941 24522 1025499860
1 f none squid/help/edit_mem.sv.html 0600 root bin 2979 31371 1025499860
1 f none squid/help/edit_mem.zh_TW.Big5.html 0600 root bin 1702 42456 1025499860
1 f none squid/help/edit_misc.ca.html 0600 root bin 5307 29759 1025499860
1 f none squid/help/edit_misc.es.html 0600 root bin 5511 51303 1025499860
1 f none squid/help/edit_misc.html 0600 root bin 4875 42352 1025499860
1 f none squid/help/edit_misc.it.html 0600 root bin 4875 42352 1025499860
1 f none squid/help/edit_misc.pl.html 0600 root bin 5615 29372 1025499860
1 f none squid/help/edit_misc.sv.html 0600 root bin 5218 43626 1025499860
1 f none squid/help/edit_misc.zh_TW.Big5.html 0600 root bin 3485 11729 1025499860
1 f none squid/help/edit_ports.ca.html 0600 root bin 1073 29589 1025499860
1 f none squid/help/edit_ports.es.html 0600 root bin 1192 42145 1025499860
1 f none squid/help/edit_ports.html 0600 root bin 1082 29084 1025499860
1 f none squid/help/edit_ports.it.html 0600 root bin 1082 29084 1025499860
1 f none squid/help/edit_ports.pl.html 0600 root bin 1141 43212 1025499860
1 f none squid/help/edit_ports.sv.html 0600 root bin 1153 43373 1025499860
1 f none squid/help/edit_ports.zh_TW.Big5.html 0600 root bin 727 27715 1025499860
1 f none squid/help/edit_progs.ca.html 0600 root bin 3376 46861 1025499860
1 f none squid/help/edit_progs.es.html 0600 root bin 3661 12756 1025499860
1 f none squid/help/edit_progs.html 0600 root bin 3248 31437 1025499860
1 f none squid/help/edit_progs.it.html 0600 root bin 3248 31437 1025499860
1 f none squid/help/edit_progs.pl.html 0600 root bin 3604 26151 1025499860
1 f none squid/help/edit_progs.sv.html 0600 root bin 3462 8384 1025499860
1 f none squid/help/edit_progs.zh_TW.Big5.html 0600 root bin 2103 18323 1025499860
1 f none squid/help/intro.ca.html 0600 root bin 1235 49801 1025499860
1 f none squid/help/intro.es.html 0600 root bin 1569 16644 1025499860
1 f none squid/help/intro.html 0600 root bin 1431 156 1025499860
1 f none squid/help/intro.it.html 0600 root bin 1431 156 1025499860
1 f none squid/help/intro.pl.html 0600 root bin 1603 27219 1025499860
1 f none squid/help/intro.sv.html 0600 root bin 1590 24644 1025499860
1 f none squid/help/intro.zh_TW.Big5.html 0600 root bin 1017 6104 1025499860
1 f none squid/http_access.cgi 0700 root bin 2039 37214 1025499860
1 f none squid/http_access_save.cgi 0700 root bin 1029 20074 1025499860
1 f none squid/icp_access.cgi 0700 root bin 1959 29279 1025499860
1 f none squid/icp_access_save.cgi 0700 root bin 1008 17295 1025499860
1 d none squid/images 0700 root bin
1 f none squid/images/acl.gif 0600 root bin 275 34570 1025499860
1 f none squid/images/admin.gif 0600 root bin 200 23141 1025499860
1 f none squid/images/auth.gif 0600 root bin 390 43396 1025499860
1 f none squid/images/cache.gif 0600 root bin 266 29430 1025499860
1 f none squid/images/cachemgr.gif 0600 root bin 256 29660 1025499860
1 f none squid/images/calamaris.gif 0600 root bin 1069 49684 1025499860
1 f none squid/images/clear.gif 0600 root bin 239 27917 1025499860
1 f none squid/images/down.gif 0600 root bin 108 8892 1025499860
1 f none squid/images/gap.gif 0600 root bin 73 6048 1025499860
1 f none squid/images/icon.gif 0600 root bin 340 38435 1025499860
1 f none squid/images/icp.gif 0600 root bin 259 29070 1025499860
1 f none squid/images/logs.gif 0600 root bin 470 52260 1025499860
1 f none squid/images/mem.gif 0600 root bin 251 28945 1025499860
1 f none squid/images/misc.gif 0600 root bin 460 53918 1025499860
1 f none squid/images/nauth.gif 0600 root bin 390 43396 1025499860
1 f none squid/images/ports.gif 0600 root bin 478 58145 1025499860
1 f none squid/images/progs.gif 0600 root bin 295 36758 1025499860
1 f none squid/images/smem.gif 0600 root bin 251 28945 1025499860
1 f none squid/images/sports.gif 0600 root bin 478 58145 1025499860
1 f none squid/images/up.gif 0600 root bin 103 9086 1025499860
1 f none squid/index.cgi 0700 root bin 5092 61040 1025499860
1 f none squid/init_cache.cgi 0700 root bin 1565 61806 1025499860
1 d none squid/lang 0700 root bin
1 f none squid/lang/ca 0600 root bin 23353 45631 1025499860
1 f none squid/lang/de 0600 root bin 19827 22028 1025499860
1 f none squid/lang/en 0600 root bin 20653 20545 1025499860
1 f none squid/lang/es 0600 root bin 23489 7379 1025499860
1 f none squid/lang/fr 0600 root bin 23153 37252 1025499860
1 f none squid/lang/it 0600 root bin 20338 55280 1025499860
1 f none squid/lang/ja_JP.euc 0600 root bin 20622 41328 1025499860
1 f none squid/lang/ja_JP.jis 0600 root bin 20622 30215 1025499860
1 f none squid/lang/ko_KR.euc 0600 root bin 18482 2484 1025499860
1 f none squid/lang/pl 0600 root bin 23150 41577 1025499860
1 f none squid/lang/ru_RU 0600 root bin 17125 26082 1025499860
1 f none squid/lang/ru_SU 0600 root bin 17163 43828 1025499860
1 f none squid/lang/sv 0600 root bin 21138 31178 1025499860
1 f none squid/lang/tr 0600 root bin 18959 47369 1025499860
1 f none squid/lang/zh_CN 0600 root bin 15007 24151 1025499860
1 f none squid/lang/zh_TW.Big5 0600 root bin 13700 8559 1025499860
1 f none squid/log_parser.pl 0600 root bin 804 2349 1025499860
1 f none squid/low.risk 0600 root bin 11 971 1025499860
1 f none squid/low.skill 0600 root bin 9 771 1025499860
1 f none squid/medium.risk 0600 root bin 11 971 1025499860
1 f none squid/medium.skill 0600 root bin 9 770 1025499860
1 f none squid/module.info 0600 root bin 768 13995 1025499882
1 f none squid/move_always.cgi 0700 root bin 621 53951 1025499860
1 f none squid/move_http.cgi 0700 root bin 598 51554 1025499860
1 f none squid/move_icp.cgi 0700 root bin 587 50102 1025499860
1 f none squid/move_never.cgi 0700 root bin 610 52708 1025499860
1 f none squid/never.cgi 0700 root bin 2009 34777 1025499860
1 f none squid/never_save.cgi 0700 root bin 1019 18494 1025499860
1 f none squid/parser-lib.pl 0600 root bin 3232 57964 1025499860
1 f none squid/restart.cgi 0700 root bin 335 28746 1025499860
1 f none squid/save_admin.cgi 0700 root bin 2266 58362 1025499860
1 f none squid/save_auth.cgi 0700 root bin 1289 40403 1025499860
1 f none squid/save_cache.cgi 0700 root bin 5640 59278 1025499860
1 f none squid/save_cache_host.cgi 0700 root bin 3180 49832 1025499860
1 f none squid/save_icp.cgi 0700 root bin 1056 24811 1025499860
1 f none squid/save_logs.cgi 0700 root bin 1727 13218 1025499860
1 f none squid/save_mem.cgi 0700 root bin 1604 1661 1025499860
1 f none squid/save_misc.cgi 0700 root bin 2267 56697 1025499860
1 f none squid/save_nuser.cgi 0700 root bin 1781 8757 1025499860
1 f none squid/save_ports.cgi 0700 root bin 1884 25521 1025499860
1 f none squid/save_progs.cgi 0700 root bin 2380 3376 1025499860
1 f none squid/save_smem.cgi 0700 root bin 3313 61609 1025499860
1 f none squid/save_sports.cgi 0700 root bin 1609 998 1025499860
1 f none squid/save_user.cgi 0700 root bin 1207 32273 1025499860
1 f none squid/squid-auth.pl 0700 root bin 345 24976 1025499860
1 f none squid/squid-lib.pl 0600 root bin 12254 46873 1025499860
1 f none squid/start.cgi 0700 root bin 992 16228 1025499860
1 f none squid/stop.cgi 0700 root bin 681 55558 1025499860
1 f none squid/useradmin_update.pl 0600 root bin 2912 37169 1025499860
1 d none sshd 0700 root bin
1 f none sshd/apply.cgi 0700 root bin 191 15654 1025499877
1 f none sshd/config 0600 root bin 202 19093 1025499877
1 f none sshd/config-debian-linux-2.2 0600 root bin 234 22088 1025499877
1 f none sshd/config-debian-linux-3.0 0600 root bin 234 22088 1025499877
1 f none sshd/config-macos-1.3 0600 root bin 194 18331 1025499877
1 f none sshd/config-macos-1.4 0600 root bin 194 18331 1025499877
1 f none sshd/config-mandrake-linux-7.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-7.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.0 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-mandrake-linux-8.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-open-linux-3.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.0 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.1 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.2 0600 root bin 240 22594 1025499877
1 f none sshd/config-redhat-linux-7.3 0600 root bin 240 22594 1025499877
1 f none sshd/config-slackware-linux-8.0 0600 root bin 236 22224 1025499877
1 f none sshd/config-slackware-linux-8.1 0600 root bin 236 22224 1025499877
1 f none sshd/config-suse-linux-7.1 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-7.2 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-7.3 0600 root bin 235 22188 1025499877
1 f none sshd/config-suse-linux-8.0 0600 root bin 235 22188 1025499877
1 f none sshd/config-turbo-linux-7.0 0600 root bin 240 22594 1025499877
1 f none sshd/config.info 0600 root bin 268 24579 1025499877
1 f none sshd/config.info.ca 0600 root bin 338 32306 1025499877
1 f none sshd/config.info.de 0600 root bin 311 29217 1025499877
1 f none sshd/config.info.pl 0600 root bin 305 29771 1025499877
1 f none sshd/edit_access.cgi 0700 root bin 3650 36403 1025499877
1 f none sshd/edit_host.cgi 0700 root bin 10640 10978 1025499877
1 f none sshd/edit_misc.cgi 0700 root bin 5772 2177 1025499877
1 f none sshd/edit_net.cgi 0700 root bin 4340 19651 1025499877
1 f none sshd/edit_sync.cgi 0700 root bin 906 11336 1025499877
1 f none sshd/edit_users.cgi 0700 root bin 9126 19973 1025499877
1 d none sshd/help 0700 root bin
1 f none sshd/help/access.ca.html 0600 root bin 800 7245 1025499877
1 f none sshd/help/access.html 0600 root bin 772 3983 1025499877
1 f none sshd/help/access.pl.html 0600 root bin 878 19790 1025499877
1 f none sshd/help/chost.ca.html 0600 root bin 68 5776 1025499877
1 f none sshd/help/chost.html 0600 root bin 59 5077 1025499877
1 f none sshd/help/chost.pl.html 0600 root bin 62 5527 1025499877
1 f none sshd/help/ehost.ca.html 0600 root bin 66 5577 1025499877
1 f none sshd/help/ehost.html 0600 root bin 57 4871 1025499877
1 f none sshd/help/ehost.pl.html 0600 root bin 61 5374 1025499877
1 f none sshd/help/host.ca.html 0600 root bin 1606 7539 1025499877
1 f none sshd/help/host.html 0600 root bin 1403 58013 1025499877
1 f none sshd/help/host.pl.html 0600 root bin 1527 13453 1025499877
1 f none sshd/help/hosts.ca.html 0600 root bin 693 63833 1025499877
1 f none sshd/help/hosts.html 0600 root bin 595 54720 1025499877
1 f none sshd/help/hosts.pl.html 0600 root bin 595 54720 1025499877
1 f none sshd/help/intro.ca.html 0600 root bin 1098 37384 1025499877
1 f none sshd/help/intro.html 0600 root bin 996 26072 1025499877
1 f none sshd/help/intro.pl.html 0600 root bin 1108 44074 1025499877
1 f none sshd/help/misc.ca.html 0600 root bin 1070 28506 1025499877
1 f none sshd/help/misc.html 0600 root bin 915 15390 1025499877
1 f none sshd/help/misc.pl.html 0600 root bin 1031 33375 1025499877
1 f none sshd/help/net.ca.html 0600 root bin 887 11607 1025499877
1 f none sshd/help/net.html 0600 root bin 802 5002 1025499877
1 f none sshd/help/net.pl.html 0600 root bin 864 15637 1025499877
1 f none sshd/help/users.ca.html 0600 root bin 1125 33828 1025499877
1 f none sshd/help/users.html 0600 root bin 1011 23043 1025499877
1 f none sshd/help/users.pl.html 0600 root bin 1223 51187 1025499877
1 d none sshd/images 0700 root bin
1 f none sshd/images/access.gif 0600 root bin 275 34570 1025499877
1 f none sshd/images/host.gif 0600 root bin 256 29904 1025499877
1 f none sshd/images/hosts.gif 0600 root bin 251 29940 1025499877
1 f none sshd/images/icon.gif 0600 root bin 275 33384 1025499877
1 f none sshd/images/misc.gif 0600 root bin 460 53918 1025499877
1 f none sshd/images/net.gif 0600 root bin 478 58145 1025499877
1 f none sshd/images/sync.gif 0600 root bin 200 23141 1025499877
1 f none sshd/images/users.gif 0600 root bin 390 43396 1025499877
1 f none sshd/index.cgi 0700 root bin 3334 9280 1025499877
1 d none sshd/lang 0700 root bin
1 f none sshd/lang/ca 0600 root bin 8530 33401 1025499877
1 f none sshd/lang/de 0600 root bin 8539 26626 1025499877
1 f none sshd/lang/en 0600 root bin 7309 38534 1025499877
1 f none sshd/lang/it 0600 root bin 7292 36973 1025499877
1 f none sshd/lang/pl 0600 root bin 7948 5399 1025499877
1 f none sshd/list_hosts.cgi 0700 root bin 782 63831 1025499877
1 f none sshd/log_parser.pl 0600 root bin 527 44077 1025499877
1 f none sshd/module.info 0600 root bin 111 9655 1025499882
1 f none sshd/save_access.cgi 0700 root bin 1632 5155 1025499877
1 f none sshd/save_host.cgi 0700 root bin 4507 30185 1025499877
1 f none sshd/save_misc.cgi 0700 root bin 2477 4169 1025499877
1 f none sshd/save_net.cgi 0700 root bin 1817 18669 1025499877
1 f none sshd/save_sync.cgi 0700 root bin 463 41043 1025499877
1 f none sshd/save_users.cgi 0700 root bin 2669 22851 1025499877
1 f none sshd/sshd-lib.pl 0600 root bin 3869 28941 1025499877
1 f none sshd/start.cgi 0700 root bin 398 32480 1025499877
1 f none sshd/useradmin_update.pl 0600 root bin 873 6261 1025499877
1 d none status 0700 root bin
1 f none status/acl_security.pl 0600 root bin 847 5743 1025499870
1 f none status/apache-monitor.pl 0600 root bin 858 3259 1025499870
1 f none status/bind8-monitor.pl 0600 root bin 1071 18917 1025499870
1 f none status/cfengine-monitor.pl 0600 root bin 420 34905 1025499870
1 f none status/change-monitor.pl 0600 root bin 733 59397 1025499870
1 f none status/config 0600 root bin 27 2518 1025499870
1 f none status/config-corel-linux 0600 root bin 46 4109 1025499870
1 f none status/config-debian-linux 0600 root bin 61 5555 1025499870
1 f none status/config-freebsd 0600 root bin 46 4109 1025499870
1 f none status/config-generic-linux 0600 root bin 61 5555 1025499870
1 f none status/config-hpux 0600 root bin 41 3852 1025499870
1 f none status/config-mandrake-linux 0600 root bin 61 5555 1025499870
1 f none status/config-msc-linux 0600 root bin 61 5555 1025499870
1 f none status/config-netbsd 0600 root bin 46 4109 1025499870
1 f none status/config-open-linux 0600 root bin 61 5555 1025499870
1 f none status/config-redhat-linux 0600 root bin 61 5555 1025499870
1 f none status/config-slackware-linux 0600 root bin 61 5555 1025499870
1 f none status/config-solaris 0600 root bin 41 3852 1025499870
1 f none status/config-suse-linux 0600 root bin 61 5555 1025499870
1 f none status/config-turbo-linux 0600 root bin 61 5555 1025499870
1 f none status/config.info 0600 root bin 309 28270 1025499870
1 f none status/config.info.ca 0600 root bin 278 25686 1025499870
1 f none status/config.info.de 0600 root bin 191 17989 1025499870
1 f none status/config.info.es 0600 root bin 146 13666 1025499870
1 f none status/config.info.nl 0600 root bin 125 11474 1025499870
1 f none status/config.info.pl 0600 root bin 146 14019 1025499870
1 f none status/config.info.sv 0600 root bin 147 13924 1025499870
1 f none status/config.info.zh_CN 0600 root bin 125 11474 1025499870
1 f none status/defaultacl 0600 root bin 15 1181 1025499870
1 f none status/dhcpd-monitor.pl 0600 root bin 580 46241 1025499870
1 f none status/dnsadmin-monitor.pl 0600 root bin 612 49367 1025499870
1 f none status/edit_mon.cgi 0700 root bin 3769 43215 1025499870
1 f none status/edit_sched.cgi 0700 root bin 4144 18115 1025499870
1 f none status/exec-monitor.pl 0600 root bin 436 36194 1025499870
1 f none status/feedback_files.pl 0600 root bin 175 14235 1025499870
1 f none status/file-monitor.pl 0600 root bin 1624 64120 1025499870
1 f none status/hostsentry-monitor.pl 0600 root bin 467 40086 1025499870
1 f none status/http-monitor.pl 0600 root bin 3140 44164 1025499870
1 d none status/images 0700 root bin
1 f none status/images/down.gif 0600 root bin 91 7953 1025499870
1 f none status/images/icon.gif 0600 root bin 2075 21934 1025499870
1 f none status/images/not.gif 0600 root bin 87 6388 1025499870
1 f none status/images/quest.gif 0600 root bin 79 6114 1025499870
1 f none status/images/up.gif 0600 root bin 86 7526 1025499870
1 f none status/index.cgi 0700 root bin 2990 40712 1025499870
1 f none status/inetd-monitor.pl 0600 root bin 347 28938 1025499870
1 f none status/jabber-monitor.pl 0600 root bin 602 48991 1025499870
1 d none status/lang 0700 root bin
1 f none status/lang/ca 0600 root bin 5946 44630 1025499870
1 f none status/lang/de 0600 root bin 6069 50939 1025499870
1 f none status/lang/en 0600 root bin 5861 29626 1025499870
1 f none status/lang/es 0600 root bin 4804 3301 1025499870
1 f none status/lang/fr 0600 root bin 5818 41538 1025499870
1 f none status/lang/ja_JP.euc 0600 root bin 3550 54296 1025499870
1 f none status/lang/ko_KR.euc 0600 root bin 3158 45002 1025499870
1 f none status/lang/nl 0600 root bin 2958 18865 1025499870
1 f none status/lang/pl 0600 root bin 5623 31636 1025499870
1 f none status/lang/sv 0600 root bin 3185 51207 1025499870
1 f none status/lang/zh_CN 0600 root bin 2080 21635 1025499870
1 f none status/load-monitor.pl 0600 root bin 1253 34389 1025499870
1 f none status/log_parser.pl 0600 root bin 373 32306 1025499870
1 f none status/module.info 0600 root bin 427 45869 1025499882
1 f none status/mon-monitor.pl 0600 root bin 427 34425 1025499870
1 f none status/monitor.pl 0700 root bin 4341 21277 1025499870
1 f none status/mysql-monitor.pl 0600 root bin 394 33304 1025499870
1 f none status/nfs-monitor.pl 0600 root bin 342 28754 1025499870
1 f none status/ping-monitor.pl 0600 root bin 1248 35988 1025499870
1 f none status/portsentry-monitor.pl 0600 root bin 481 41610 1025499870
1 f none status/postfix-monitor.pl 0600 root bin 453 38810 1025499870
1 f none status/postgresql-monitor.pl 0600 root bin 429 37017 1025499870
1 f none status/proc-monitor.pl 0600 root bin 589 48034 1025499870
1 f none status/qmailadmin-monitor.pl 0600 root bin 431 36064 1025499870
1 f none status/samba-monitor.pl 0600 root bin 398 33356 1025499870
1 f none status/save_mon.cgi 0700 root bin 1967 26010 1025499870
1 f none status/save_sched.cgi 0700 root bin 3414 17563 1025499870
1 f none status/sendmail-monitor.pl 0600 root bin 611 49934 1025499870
1 d none status/services 0700 root bin
1 f none status/services/apache.serv 0600 root bin 69 6341 1025499870
1 f none status/services/bind8.serv 0600 root bin 55 4709 1025499870
1 f none status/services/dhcpd.serv 0600 root bin 51 4588 1025499870
1 f none status/services/dnsadmin.serv 0600 root bin 66 5924 1025499870
1 f none status/services/inetd.serv 0600 root bin 68 6261 1025499870
1 f none status/services/mysql.serv 0600 root bin 61 5713 1025499870
1 f none status/services/nfs.serv 0600 root bin 45 4077 1025499870
1 f none status/services/postfix.serv 0600 root bin 60 5848 1025499870
1 f none status/services/postgresql.serv 0600 root bin 91 8740 1025499870
1 f none status/services/qmailadmin.serv 0600 root bin 67 6383 1025499870
1 f none status/services/samba.serv 0600 root bin 53 4903 1025499870
1 f none status/services/sendmail.serv 0600 root bin 64 6104 1025499870
1 f none status/services/squid.serv 0600 root bin 58 5502 1025499870
1 f none status/services/xinetd.serv 0600 root bin 67 6402 1025499870
1 f none status/space-monitor.pl 0600 root bin 1533 55169 1025499870
1 f none status/squid-monitor.pl 0600 root bin 826 409 1025499870
1 f none status/status-lib.pl 0600 root bin 3663 39446 1025499870
1 f none status/tcp-monitor.pl 0600 root bin 1535 60353 1025499870
1 f none status/traffic-monitor.pl 0600 root bin 2353 53505 1025499870
1 f none status/uninstall.pl 0600 root bin 449 36810 1025499870
1 f none status/usermin-monitor.pl 0600 root bin 496 41374 1025499870
1 f none status/webmin-monitor.pl 0600 root bin 356 29447 1025499870
1 f none status/xinetd-monitor.pl 0600 root bin 476 38213 1025499870
1 d none stunnel 0700 root bin
1 f none stunnel/apply.cgi 0700 root bin 434 34842 1025499880
1 f none stunnel/config 0600 root bin 37 3634 1025499880
1 f none stunnel/config-gentoo-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config-mandrake-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config-redhat-linux 0600 root bin 31 3064 1025499880
1 f none stunnel/config.info 0600 root bin 91 8419 1025499880
1 f none stunnel/config.info.ca 0600 root bin 120 11047 1025499880
1 f none stunnel/edit_stunnel.cgi 0700 root bin 5997 22059 1025499880
1 f none stunnel/feedback_files.pl 0600 root bin 205 17526 1025499880
1 d none stunnel/help 0700 root bin
1 d none stunnel/images 0700 root bin
1 f none stunnel/images/icon.gif 0600 root bin 1332 44465 1025499880
1 f none stunnel/images/tunnel.jpg 0600 root bin 9954 7331 1025499880
1 f none stunnel/index.cgi 0700 root bin 2918 30441 1025499880
1 d none stunnel/lang 0700 root bin
1 f none stunnel/lang/ca 0600 root bin 2894 11132 1025499880
1 f none stunnel/lang/en 0600 root bin 2663 51266 1025499880
1 f none stunnel/log_parser.pl 0600 root bin 453 39056 1025499880
1 f none stunnel/module.info 0600 root bin 94 8403 1025499882
1 f none stunnel/save_stunnel.cgi 0700 root bin 2415 55451 1025499880
1 f none stunnel/stunnel-lib.pl 0600 root bin 8512 550 1025499880
1 f none switch_skill.cgi 0700 root bin 278 24051 1025499832
1 f none switch_user.cgi 0700 root bin 355 29048 1025499831
1 d none syslog 0700 root bin
1 f none syslog/config-aix 0600 root bin 282 25366 1025499867
1 f none syslog/config-cobalt-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-corel-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-debian-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-freebsd 0600 root bin 295 26801 1025499867
1 f none syslog/config-generic-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-gentoo-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-hpux 0600 root bin 262 23689 1025499867
1 f none syslog/config-irix 0600 root bin 251 22488 1025499867
1 f none syslog/config-macos 0600 root bin 312 28527 1025499867
1 f none syslog/config-mandrake-linux 0600 root bin 551 51394 1025499867
1 f none syslog/config-msc-linux 0600 root bin 555 51787 1025499867
1 f none syslog/config-netbsd 0600 root bin 266 24057 1025499867
1 f none syslog/config-open-linux 0600 root bin 509 47283 1025499867
1 f none syslog/config-openbsd 0600 root bin 295 26803 1025499867
1 f none syslog/config-openserver 0600 root bin 269 24385 1025499867
1 f none syslog/config-redhat-linux 0600 root bin 551 51394 1025499867
1 f none syslog/config-slackware-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-solaris 0600 root bin 381 34919 1025499867
1 f none syslog/config-suse-linux 0600 root bin 288 26169 1025499867
1 f none syslog/config-suse-linux-7.2 0600 root bin 284 25776 1025499867
1 f none syslog/config-suse-linux-7.3 0600 root bin 284 25776 1025499867
1 f none syslog/config-suse-linux-8.0 0600 root bin 284 25776 1025499867
1 f none syslog/config-turbo-linux 0600 root bin 284 25776 1025499867
1 f none syslog/config-unixware 0600 root bin 282 25366 1025499867
1 f none syslog/config.info 0600 root bin 568 50673 1025499867
1 f none syslog/config.info.ca 0600 root bin 641 58168 1025499867
1 f none syslog/config.info.de 0600 root bin 669 60816 1025499867
1 f none syslog/config.info.es 0600 root bin 690 63692 1025499867
1 f none syslog/config.info.fr 0600 root bin 645 58468 1025499867
1 f none syslog/config.info.hu 0600 root bin 814 16712 1025499867
1 f none syslog/config.info.pl 0600 root bin 663 62524 1025499867
1 f none syslog/config.info.ru_RU 0600 root bin 646 40824 1025499867
1 f none syslog/config.info.ru_SU 0600 root bin 646 30957 1025499867
1 f none syslog/config.info.sv 0600 root bin 591 55564 1025499867
1 f none syslog/config.info.tr 0600 root bin 675 3133 1025499867
1 f none syslog/config.info.zh_CN 0600 root bin 440 61912 1025499867
1 f none syslog/config.info.zh_TW.Big5 0600 root bin 478 60935 1025499867
1 f none syslog/edit_log.cgi 0700 root bin 6792 6081 1025499867
1 d none syslog/images 0700 root bin
1 f none syslog/images/icon.gif 0600 root bin 470 52260 1025499867
1 f none syslog/index.cgi 0700 root bin 5020 55269 1025499867
1 d none syslog/lang 0700 root bin
1 f none syslog/lang/ca 0600 root bin 2921 12231 1025499867
1 f none syslog/lang/de 0600 root bin 3522 60556 1025499867
1 f none syslog/lang/en 0600 root bin 2358 21655 1025499867
1 f none syslog/lang/es 0600 root bin 2917 13561 1025499867
1 f none syslog/lang/fr 0600 root bin 2381 24262 1025499867
1 f none syslog/lang/hu 0600 root bin 2647 9762 1025499867
1 f none syslog/lang/ja_JP.euc 0600 root bin 2541 35699 1025499867
1 f none syslog/lang/ko_KR.euc 0600 root bin 2375 1134 1025499867
1 f none syslog/lang/pl 0600 root bin 2695 356 1025499867
1 f none syslog/lang/ru_RU 0600 root bin 2362 65032 1025499867
1 f none syslog/lang/ru_SU 0600 root bin 2367 29686 1025499867
1 f none syslog/lang/sv 0600 root bin 2625 55470 1025499867
1 f none syslog/lang/tr 0600 root bin 2360 47368 1025499867
1 f none syslog/lang/zh_CN 0600 root bin 1948 15013 1025499867
1 f none syslog/lang/zh_TW.Big5 0600 root bin 1722 23633 1025499867
1 f none syslog/log_parser.pl 0600 root bin 662 56097 1025499867
1 f none syslog/low.risk 0600 root bin 20 1734 1025499867
1 f none syslog/low.skill 0600 root bin 8 660 1025499867
1 f none syslog/m4.cgi 0700 root bin 768 60051 1025499867
1 f none syslog/medium.risk 0600 root bin 11 971 1025499867
1 f none syslog/module.info 0600 root bin 721 10874 1025499882
1 f none syslog/restart.cgi 0700 root bin 330 27314 1025499867
1 f none syslog/save_log.cgi 0700 root bin 3273 56691 1025499867
1 f none syslog/start.cgi 0700 root bin 178 14818 1025499867
1 f none syslog/syslog-lib.pl 0600 root bin 3293 41307 1025499867
1 d none telnet 0700 root bin
1 f none telnet/config 0600 root bin 37 3142 1025499864
1 f none telnet/config-macos-1.3 0600 root bin 37 3143 1025499864
1 f none telnet/config-macos-1.4 0600 root bin 37 3143 1025499864
1 f none telnet/config-open-linux-3.1e 0600 root bin 37 3143 1025499864
1 f none telnet/config.info 0600 root bin 402 35862 1025499864
1 f none telnet/config.info.ca 0600 root bin 354 32371 1025499864
1 f none telnet/config.info.de 0600 root bin 372 33477 1025499864
1 f none telnet/config.info.es 0600 root bin 226 20873 1025499864
1 f none telnet/config.info.fr 0600 root bin 73 7167 1025499864
1 f none telnet/config.info.pl 0600 root bin 286 27019 1025499864
1 f none telnet/config.info.ru_RU 0600 root bin 83 14703 1025499864
1 f none telnet/config.info.ru_SU 0600 root bin 83 13139 1025499864
1 f none telnet/config.info.sv 0600 root bin 180 16767 1025499864
1 f none telnet/config.info.tr 0600 root bin 62 6423 1025499864
1 f none telnet/config.info.zh_CN 0600 root bin 104 14152 1025499864
1 f none telnet/config.info.zh_TW.Big5 0600 root bin 51 6911 1025499864
1 d none telnet/images 0700 root bin
1 f none telnet/images/icon.gif 0600 root bin 235 29270 1025499864
1 f none telnet/index.cgi 0700 root bin 2410 59363 1025499864
1 f none telnet/jta20.jar 0600 root bin 212305 45345 1025499864
1 d none telnet/lang 0700 root bin
1 f none telnet/lang/ca 0600 root bin 491 45631 1025499864
1 f none telnet/lang/cz 0600 root bin 342 31331 1025499864
1 f none telnet/lang/de 0600 root bin 1024 16988 1025499864
1 f none telnet/lang/en 0600 root bin 532 48426 1025499864
1 f none telnet/lang/es 0600 root bin 459 42503 1025499864
1 f none telnet/lang/fr 0600 root bin 307 28615 1025499864
1 f none telnet/lang/it 0600 root bin 288 26411 1025499864
1 f none telnet/lang/ja_JP.euc 0600 root bin 523 4642 1025499864
1 f none telnet/lang/ko_KR.euc 0600 root bin 463 63215 1025499864
1 f none telnet/lang/pl 0600 root bin 499 46740 1025499864
1 f none telnet/lang/pt 0600 root bin 299 27900 1025499864
1 f none telnet/lang/ru_RU 0600 root bin 328 49869 1025499864
1 f none telnet/lang/ru_SU 0600 root bin 328 45569 1025499864
1 f none telnet/lang/sv 0600 root bin 470 43568 1025499864
1 f none telnet/lang/tr 0600 root bin 492 49391 1025499864
1 f none telnet/lang/zh_CN 0600 root bin 379 48525 1025499864
1 f none telnet/lang/zh_TW.Big5 0600 root bin 250 27064 1025499864
1 f none telnet/module.info 0600 root bin 524 51136 1025499882
1 f none telnet/ssh.conf 0600 root bin 1716 11517 1025499864
1 f none telnet/telnet.conf 0600 root bin 2876 26700 1025499864
1 f none thirdparty.pl 0600 root bin 1770 7116 1025499831
1 d none time 0700 root bin
1 f none time/acl_security.pl 0600 root bin 783 58232 1025499866
1 f none time/apply.cgi 0700 root bin 3779 31365 1025499865
1 f none time/config 0600 root bin 116 10888 1025499866
1 f none time/config-freebsd 0600 root bin 27 2291 1025499866
1 f none time/config-hpux 0600 root bin 27 2289 1025499866
1 f none time/config-macos 0600 root bin 116 10888 1025499866
1 f none time/config-netbsd 0600 root bin 27 2291 1025499866
1 f none time/config-openserver 0600 root bin 27 2289 1025499866
1 f none time/config-solaris 0600 root bin 116 10887 1025499866
1 f none time/config.info 0600 root bin 360 32594 1025499866
1 f none time/config.info.ca 0600 root bin 427 38435 1025499866
1 f none time/config.info.cz 0600 root bin 82 8499 1025499866
1 f none time/config.info.de 0600 root bin 397 35700 1025499865
1 f none time/config.info.es 0600 root bin 423 38747 1025499866
1 f none time/config.info.fr 0600 root bin 82 7904 1025499866
1 f none time/config.info.ja_JP.euc 0600 root bin 334 49184 1025499866
1 f none time/config.info.pl 0600 root bin 414 39118 1025499866
1 f none time/config.info.ru_RU 0600 root bin 87 17358 1025499866
1 f none time/config.info.ru_SU 0600 root bin 87 15327 1025499865
1 f none time/config.info.sv 0600 root bin 303 29399 1025499865
1 f none time/config.info.tr 0600 root bin 122 12427 1025499866
1 f none time/config.info.zh_CN 0600 root bin 144 22508 1025499865
1 f none time/config.info.zh_TW.Big5 0600 root bin 45 7274 1025499866
1 f none time/defaultacl 0600 root bin 30 2610 1025499866
1 d none time/help 0700 root bin
1 f none time/help/hardware_time.ca.html 0600 root bin 64 5633 1025499865
1 f none time/help/hardware_time.de.html 0600 root bin 67 5789 1025499865
1 f none time/help/hardware_time.es.html 0600 root bin 60 5183 1025499865
1 f none time/help/hardware_time.fr.html 0600 root bin 74 7200 1025499865
1 f none time/help/hardware_time.html 0600 root bin 51 4473 1025499865
1 f none time/help/hardware_time.hu.html 0600 root bin 51 5021 1025499865
1 f none time/help/hardware_time.pl.html 0600 root bin 64 6070 1025499865
1 f none time/help/hardware_time.ru_RU.html 0600 root bin 80 13854 1025499865
1 f none time/help/hardware_time.ru_SU.html 0600 root bin 80 12544 1025499865
1 f none time/help/hardware_time.sv.html 0600 root bin 54 5023 1025499865
1 f none time/help/hardware_time.zh_TW.Big5.html 0600 root bin 46 4676 1025499865
1 f none time/help/index.ca.html 0600 root bin 246 22364 1025499865
1 f none time/help/index.de.html 0600 root bin 234 21231 1025499865
1 f none time/help/index.es.html 0600 root bin 246 22261 1025499865
1 f none time/help/index.fr.html 0600 root bin 202 19197 1025499865
1 f none time/help/index.html 0600 root bin 213 19097 1025499865
1 f none time/help/index.hu.html 0600 root bin 240 25296 1025499865
1 f none time/help/index.pl.html 0600 root bin 265 25886 1025499865
1 f none time/help/index.ru_RU.html 0600 root bin 308 58097 1025499865
1 f none time/help/index.ru_SU.html 0600 root bin 308 51404 1025499865
1 f none time/help/index.sv.html 0600 root bin 227 22254 1025499865
1 f none time/help/index.zh_TW.Big5.html 0600 root bin 117 14961 1025499865
1 f none time/help/system_time.ca.html 0600 root bin 58 5003 1025499865
1 f none time/help/system_time.de.html 0600 root bin 57 4936 1025499865
1 f none time/help/system_time.es.html 0600 root bin 59 5165 1025499865
1 f none time/help/system_time.fr.html 0600 root bin 84 8275 1025499865
1 f none time/help/system_time.html 0600 root bin 62 5649 1025499865
1 f none time/help/system_time.hu.html 0600 root bin 60 5883 1025499865
1 f none time/help/system_time.pl.html 0600 root bin 83 7805 1025499865
1 f none time/help/system_time.ru_RU.html 0600 root bin 64 10448 1025499865
1 f none time/help/system_time.ru_SU.html 0600 root bin 64 9539 1025499865
1 f none time/help/system_time.sv.html 0600 root bin 60 5460 1025499865
1 f none time/help/system_time.zh_TW.Big5.html 0600 root bin 41 5176 1025499865
1 f none time/help/timeserver.ca.html 0600 root bin 273 24604 1025499865
1 f none time/help/timeserver.de.html 0600 root bin 276 24507 1025499865
1 f none time/help/timeserver.es.html 0600 root bin 280 25253 1025499865
1 f none time/help/timeserver.fr.html 0600 root bin 251 23871 1025499865
1 f none time/help/timeserver.html 0600 root bin 236 21254 1025499865
1 f none time/help/timeserver.hu.html 0600 root bin 259 26652 1025499865
1 f none time/help/timeserver.pl.html 0600 root bin 286 28117 1025499865
1 f none time/help/timeserver.ru_RU.html 0600 root bin 290 53031 1025499865
1 f none time/help/timeserver.ru_SU.html 0600 root bin 290 47238 1025499865
1 f none time/help/timeserver.sv.html 0600 root bin 211 20223 1025499865
1 f none time/help/timeserver.zh_TW.Big5.html 0600 root bin 178 23279 1025499865
1 d none time/images 0700 root bin
1 f none time/images/icon.gif 0600 root bin 529 63918 1025499866
1 f none time/index.cgi 0700 root bin 6074 64522 1025499866
1 d none time/lang 0700 root bin
1 f none time/lang/ca 0600 root bin 1602 18717 1025499865
1 f none time/lang/cz 0600 root bin 1134 53474 1025499865
1 f none time/lang/de 0600 root bin 2023 49609 1025499865
1 f none time/lang/en 0600 root bin 1337 60216 1025499865
1 f none time/lang/es 0600 root bin 1482 7906 1025499865
1 f none time/lang/fr 0600 root bin 1541 24247 1025499865
1 f none time/lang/hu 0600 root bin 982 39904 1025499865
1 f none time/lang/ja_JP.euc 0600 root bin 1343 4830 1025499865
1 f none time/lang/ja_JP.jis 0600 root bin 1343 31974 1025499865
1 f none time/lang/ko_KR.euc 0600 root bin 1305 56489 1025499865
1 f none time/lang/pl 0600 root bin 1505 19611 1025499865
1 f none time/lang/ru_RU 0600 root bin 913 24465 1025499865
1 f none time/lang/ru_SU 0600 root bin 918 10490 1025499865
1 f none time/lang/sv 0600 root bin 1308 65505 1025499865
1 f none time/lang/tr 0600 root bin 1430 14858 1025499865
1 f none time/lang/zh_CN 0600 root bin 974 8413 1025499865
1 f none time/lang/zh_TW.Big5 0600 root bin 898 45722 1025499865
1 f none time/log_parser.pl 0600 root bin 764 64259 1025499866
1 f none time/module.info 0600 root bin 666 4981 1025499882
1 f none time/time-lib.pl 0700 root bin 1218 23671 1025499866
1 f none time/time.js 0600 root bin 785 57362 1025499866
1 f none time/try.cgi 0700 root bin 185 13029 1025499865
1 f none user_chooser.cgi 0700 root bin 4424 23771 1025499831
1 d none useradmin 0700 root bin
1 f none useradmin/acl_security.pl 0600 root bin 9262 39130 1025499839
1 f none useradmin/aix-lib.pl 0600 root bin 1339 42225 1025499841
1 f none useradmin/batch_exec.cgi 0700 root bin 16294 43930 1025499841
1 f none useradmin/batch_form.cgi 0700 root bin 3026 63476 1025499841
1 f none useradmin/cobalt-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/config-aix 0600 root bin 491 45931 1025499841
1 f none useradmin/config-cobalt-linux 0600 root bin 407 37550 1025499841
1 f none useradmin/config-corel-linux 0600 root bin 362 33211 1025499839
1 f none useradmin/config-debian-linux 0600 root bin 362 33211 1025499840
1 f none useradmin/config-freebsd 0600 root bin 409 37786 1025499839
1 f none useradmin/config-generic-linux 0600 root bin 374 34478 1025499841
1 f none useradmin/config-gentoo-linux 0600 root bin 334 30633 1025499841
1 f none useradmin/config-hpux 0600 root bin 356 32800 1025499839
1 f none useradmin/config-irix 0600 root bin 515 48107 1025499841
1 f none useradmin/config-macos 0600 root bin 341 31311 1025499841
1 f none useradmin/config-mandrake-linux 0600 root bin 379 34830 1025499841
1 f none useradmin/config-msc-linux 0600 root bin 374 34479 1025499841
1 f none useradmin/config-netbsd 0600 root bin 386 35500 1025499841
1 f none useradmin/config-open-linux 0600 root bin 384 35572 1025499839
1 f none useradmin/config-openbsd 0600 root bin 399 36871 1025499839
1 f none useradmin/config-openserver 0600 root bin 618 58048 1025499841
1 f none useradmin/config-osf1 0600 root bin 356 32798 1025499841
1 f none useradmin/config-redhat-linux 0600 root bin 374 34479 1025499841
1 f none useradmin/config-slackware-linux 0600 root bin 360 33123 1025499841
1 f none useradmin/config-solaris 0600 root bin 372 34144 1025499839
1 f none useradmin/config-suse-linux 0600 root bin 374 34478 1025499839
1 f none useradmin/config-turbo-linux 0600 root bin 374 34478 1025499839
1 f none useradmin/config-unixware 0600 root bin 372 34144 1025499841
1 f none useradmin/config.info 0600 root bin 1980 49331 1025499841
1 f none useradmin/config.info.ca 0600 root bin 2211 7434 1025499841
1 f none useradmin/config.info.de 0600 root bin 1135 38863 1025499840
1 f none useradmin/config.info.es 0600 root bin 1632 20779 1025499839
1 f none useradmin/config.info.fr 0600 root bin 1157 43634 1025499841
1 f none useradmin/config.info.ja_JP.euc 0600 root bin 1318 2044 1025499841
1 f none useradmin/config.info.nl 0600 root bin 1704 27045 1025499841
1 f none useradmin/config.info.pl 0600 root bin 1852 49799 1025499841
1 f none useradmin/config.info.pt_BR 0600 root bin 1717 32035 1025499841
1 f none useradmin/config.info.ru_RU 0600 root bin 1026 42201 1025499841
1 f none useradmin/config.info.ru_SU 0600 root bin 1027 25670 1025499839
1 f none useradmin/config.info.sv 0600 root bin 1189 48896 1025499840
1 f none useradmin/config.info.tr 0600 root bin 1080 46790 1025499841
1 f none useradmin/config.info.zh_CN 0600 root bin 820 53304 1025499839
1 f none useradmin/config.info.zh_TW.Big5 0600 root bin 778 35261 1025499839
1 f none useradmin/corel-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/debian-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/defaultacl 0600 root bin 230 19708 1025499839
1 f none useradmin/delete_group.cgi 0700 root bin 1825 18502 1025499839
1 f none useradmin/delete_user.cgi 0700 root bin 4411 22034 1025499841
1 f none useradmin/edit_group.cgi 0700 root bin 3704 44170 1025499841
1 f none useradmin/edit_user.cgi 0700 root bin 17893 61824 1025499839
1 f none useradmin/freebsd-lib.pl 0600 root bin 1261 35095 1025499841
1 f none useradmin/generic-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/gentoo-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 d none useradmin/help 0700 root bin
1 f none useradmin/help.html 0600 root bin 6949 14638 1025499839
1 f none useradmin/help/2nd.ca.html 0600 root bin 260 24098 1025499840
1 f none useradmin/help/2nd.es.html 0600 root bin 285 26532 1025499840
1 f none useradmin/help/2nd.fr.html 0600 root bin 306 28813 1025499840
1 f none useradmin/help/2nd.html 0600 root bin 255 23348 1025499840
1 f none useradmin/help/2nd.nl.html 0600 root bin 274 24857 1025499840
1 f none useradmin/help/2nd.pl.html 0600 root bin 297 29708 1025499840
1 f none useradmin/help/2nd.ru_RU.html 0600 root bin 310 60392 1025499840
1 f none useradmin/help/2nd.ru_SU.html 0600 root bin 310 53224 1025499840
1 f none useradmin/help/2nd.sv.html 0600 root bin 250 24942 1025499840
1 f none useradmin/help/2nd.zh_TW.Big5.html 0600 root bin 133 20331 1025499840
1 f none useradmin/help/ask.ca.html 0600 root bin 215 20205 1025499841
1 f none useradmin/help/ask.html 0600 root bin 181 16109 1025499840
1 f none useradmin/help/change.ca.html 0600 root bin 179 16017 1025499840
1 f none useradmin/help/change.es.html 0600 root bin 179 15883 1025499840
1 f none useradmin/help/change.fr.html 0600 root bin 172 15841 1025499840
1 f none useradmin/help/change.html 0600 root bin 152 13713 1025499840
1 f none useradmin/help/change.nl.html 0600 root bin 193 17264 1025499840
1 f none useradmin/help/change.pl.html 0600 root bin 130 12198 1025499840
1 f none useradmin/help/change.ru_RU.html 0600 root bin 143 23651 1025499840
1 f none useradmin/help/change.ru_SU.html 0600 root bin 143 21215 1025499840
1 f none useradmin/help/change.sv.html 0600 root bin 133 13001 1025499840
1 f none useradmin/help/change.zh_TW.Big5.html 0600 root bin 108 13845 1025499840
1 f none useradmin/help/change2.ca.html 0600 root bin 250 22949 1025499840
1 f none useradmin/help/change2.es.html 0600 root bin 241 21507 1025499840
1 f none useradmin/help/change2.fr.html 0600 root bin 274 25258 1025499840
1 f none useradmin/help/change2.html 0600 root bin 210 18765 1025499840
1 f none useradmin/help/change2.nl.html 0600 root bin 248 22272 1025499840
1 f none useradmin/help/change2.pl.html 0600 root bin 221 21677 1025499840
1 f none useradmin/help/change2.ru_RU.html 0600 root bin 206 38447 1025499840
1 f none useradmin/help/change2.ru_SU.html 0600 root bin 206 33948 1025499840
1 f none useradmin/help/change2.sv.html 0600 root bin 201 20120 1025499840
1 f none useradmin/help/change2.zh_TW.Big5.html 0600 root bin 136 19986 1025499840
1 f none useradmin/help/chgid.ca.html 0600 root bin 505 46216 1025499840
1 f none useradmin/help/chgid.es.html 0600 root bin 596 55259 1025499840
1 f none useradmin/help/chgid.fr.html 0600 root bin 566 54315 1025499840
1 f none useradmin/help/chgid.html 0600 root bin 476 42541 1025499840
1 f none useradmin/help/chgid.nl.html 0600 root bin 555 49010 1025499840
1 f none useradmin/help/chgid.pl.html 0600 root bin 571 56463 1025499840
1 f none useradmin/help/chgid.ru_RU.html 0600 root bin 536 35778 1025499840
1 f none useradmin/help/chgid.ru_SU.html 0600 root bin 536 24067 1025499840
1 f none useradmin/help/chgid.sv.html 0600 root bin 426 40374 1025499840
1 f none useradmin/help/chgid.zh_TW.Big5.html 0600 root bin 325 50498 1025499840
1 f none useradmin/help/chuid.ca.html 0600 root bin 494 45136 1025499840
1 f none useradmin/help/chuid.es.html 0600 root bin 596 55141 1025499840
1 f none useradmin/help/chuid.fr.html 0600 root bin 602 57388 1025499840
1 f none useradmin/help/chuid.html 0600 root bin 465 41366 1025499840
1 f none useradmin/help/chuid.nl.html 0600 root bin 590 52220 1025499840
1 f none useradmin/help/chuid.pl.html 0600 root bin 568 56199 1025499840
1 f none useradmin/help/chuid.ru_RU.html 0600 root bin 511 30604 1025499840
1 f none useradmin/help/chuid.ru_SU.html 0600 root bin 511 19383 1025499840
1 f none useradmin/help/chuid.sv.html 0600 root bin 427 40753 1025499840
1 f none useradmin/help/chuid.zh_TW.Big5.html 0600 root bin 329 51741 1025499840
1 f none useradmin/help/class.ca.html 0600 root bin 237 21134 1025499840
1 f none useradmin/help/class.es.html 0600 root bin 250 22416 1025499840
1 f none useradmin/help/class.fr.html 0600 root bin 290 26365 1025499840
1 f none useradmin/help/class.html 0600 root bin 218 19318 1025499840
1 f none useradmin/help/class.nl.html 0600 root bin 253 22372 1025499840
1 f none useradmin/help/class.pl.html 0600 root bin 257 24598 1025499840
1 f none useradmin/help/class.ru_RU.html 0600 root bin 250 41896 1025499840
1 f none useradmin/help/class.ru_SU.html 0600 root bin 250 37392 1025499840
1 f none useradmin/help/class.sv.html 0600 root bin 234 22409 1025499840
1 f none useradmin/help/class.zh_TW.Big5.html 0600 root bin 167 21066 1025499840
1 f none useradmin/help/copy_files.ca.html 0600 root bin 460 42011 1025499840
1 f none useradmin/help/copy_files.es.html 0600 root bin 472 43718 1025499840
1 f none useradmin/help/copy_files.fr.html 0600 root bin 444 41504 1025499840
1 f none useradmin/help/copy_files.html 0600 root bin 423 37809 1025499840
1 f none useradmin/help/copy_files.nl.html 0600 root bin 503 44552 1025499840
1 f none useradmin/help/copy_files.pl.html 0600 root bin 502 47955 1025499840
1 f none useradmin/help/copy_files.ru_RU.html 0600 root bin 451 12531 1025499840
1 f none useradmin/help/copy_files.ru_SU.html 0600 root bin 451 3910 1025499840
1 f none useradmin/help/copy_files.sv.html 0600 root bin 398 37847 1025499840
1 f none useradmin/help/copy_files.zh_TW.Big5.html 0600 root bin 311 41531 1025499840
1 f none useradmin/help/create_group.ca.html 0600 root bin 177 16115 1025499840
1 f none useradmin/help/create_group.es.html 0600 root bin 215 19669 1025499840
1 f none useradmin/help/create_group.fr.html 0600 root bin 200 18785 1025499840
1 f none useradmin/help/create_group.html 0600 root bin 184 16453 1025499840
1 f none useradmin/help/create_group.nl.html 0600 root bin 209 18682 1025499840
1 f none useradmin/help/create_group.pl.html 0600 root bin 165 16496 1025499840
1 f none useradmin/help/create_group.ru_RU.html 0600 root bin 190 35357 1025499840
1 f none useradmin/help/create_group.ru_SU.html 0600 root bin 190 31494 1025499840
1 f none useradmin/help/create_group.sv.html 0600 root bin 190 18218 1025499840
1 f none useradmin/help/create_group.zh_TW.Big5.html 0600 root bin 132 19440 1025499840
1 f none useradmin/help/create_user.ca.html 0600 root bin 111 10006 1025499840
1 f none useradmin/help/create_user.es.html 0600 root bin 112 10147 1025499840
1 f none useradmin/help/create_user.fr.html 0600 root bin 124 11504 1025499840
1 f none useradmin/help/create_user.html 0600 root bin 98 8578 1025499840
1 f none useradmin/help/create_user.nl.html 0600 root bin 107 9489 1025499840
1 f none useradmin/help/create_user.pl.html 0600 root bin 110 10810 1025499840
1 f none useradmin/help/create_user.ru_RU.html 0600 root bin 106 18610 1025499840
1 f none useradmin/help/create_user.ru_SU.html 0600 root bin 106 16783 1025499840
1 f none useradmin/help/create_user.sv.html 0600 root bin 115 10932 1025499840
1 f none useradmin/help/create_user.zh_TW.Big5.html 0600 root bin 142 21516 1025499840
1 f none useradmin/help/edit_group.ca.html 0600 root bin 160 14503 1025499840
1 f none useradmin/help/edit_group.es.html 0600 root bin 197 18075 1025499840
1 f none useradmin/help/edit_group.fr.html 0600 root bin 201 18548 1025499840
1 f none useradmin/help/edit_group.html 0600 root bin 175 15573 1025499840
1 f none useradmin/help/edit_group.nl.html 0600 root bin 185 16770 1025499840
1 f none useradmin/help/edit_group.pl.html 0600 root bin 168 16461 1025499840
1 f none useradmin/help/edit_group.ru_RU.html 0600 root bin 173 32122 1025499840
1 f none useradmin/help/edit_group.ru_SU.html 0600 root bin 173 28633 1025499840
1 f none useradmin/help/edit_group.sv.html 0600 root bin 144 13507 1025499840
1 f none useradmin/help/edit_group.zh_TW.Big5.html 0600 root bin 124 17752 1025499840
1 f none useradmin/help/edit_user.ca.html 0600 root bin 163 14847 1025499840
1 f none useradmin/help/edit_user.es.html 0600 root bin 203 18732 1025499840
1 f none useradmin/help/edit_user.fr.html 0600 root bin 209 20022 1025499840
1 f none useradmin/help/edit_user.html 0600 root bin 177 15805 1025499840
1 f none useradmin/help/edit_user.nl.html 0600 root bin 197 18027 1025499840
1 f none useradmin/help/edit_user.pl.html 0600 root bin 189 18842 1025499840
1 f none useradmin/help/edit_user.ru_RU.html 0600 root bin 220 42787 1025499840
1 f none useradmin/help/edit_user.ru_SU.html 0600 root bin 220 37880 1025499840
1 f none useradmin/help/edit_user.sv.html 0600 root bin 160 15515 1025499840
1 f none useradmin/help/edit_user.zh_TW.Big5.html 0600 root bin 130 19042 1025499840
1 f none useradmin/help/expire.ca.html 0600 root bin 134 12034 1025499840
1 f none useradmin/help/expire.es.html 0600 root bin 146 13097 1025499840
1 f none useradmin/help/expire.fr.html 0600 root bin 148 13633 1025499840
1 f none useradmin/help/expire.html 0600 root bin 152 13555 1025499840
1 f none useradmin/help/expire.nl.html 0600 root bin 177 16071 1025499840
1 f none useradmin/help/expire.pl.html 0600 root bin 142 13931 1025499840
1 f none useradmin/help/expire.ru_RU.html 0600 root bin 181 34573 1025499840
1 f none useradmin/help/expire.ru_SU.html 0600 root bin 181 30581 1025499840
1 f none useradmin/help/expire.sv.html 0600 root bin 143 14034 1025499840
1 f none useradmin/help/expire.zh_TW.Big5.html 0600 root bin 101 14269 1025499840
1 f none useradmin/help/expire2.ca.html 0600 root bin 187 16794 1025499840
1 f none useradmin/help/expire2.es.html 0600 root bin 180 16155 1025499840
1 f none useradmin/help/expire2.fr.html 0600 root bin 196 17919 1025499840
1 f none useradmin/help/expire2.html 0600 root bin 188 16688 1025499840
1 f none useradmin/help/expire2.nl.html 0600 root bin 207 18627 1025499840
1 f none useradmin/help/expire2.pl.html 0600 root bin 142 13931 1025499840
1 f none useradmin/help/expire2.ru_RU.html 0600 root bin 168 30032 1025499840
1 f none useradmin/help/expire2.ru_SU.html 0600 root bin 168 26768 1025499840
1 f none useradmin/help/expire2.sv.html 0600 root bin 187 18189 1025499840
1 f none useradmin/help/expire2.zh_TW.Big5.html 0600 root bin 133 18486 1025499840
1 f none useradmin/help/extra.ca.html 0600 root bin 318 28989 1025499840
1 f none useradmin/help/extra.html 0600 root bin 248 22699 1025499840
1 f none useradmin/help/extra.nl.html 0600 root bin 294 26910 1025499840
1 f none useradmin/help/findform.ca.html 0600 root bin 288 26588 1025499840
1 f none useradmin/help/findform.es.html 0600 root bin 297 27576 1025499840
1 f none useradmin/help/findform.fr.html 0600 root bin 356 33278 1025499840
1 f none useradmin/help/findform.html 0600 root bin 265 23578 1025499840
1 f none useradmin/help/findform.nl.html 0600 root bin 350 32063 1025499840
1 f none useradmin/help/findform.pl.html 0600 root bin 372 37326 1025499840
1 f none useradmin/help/findform.ru_RU.html 0600 root bin 352 2188 1025499840
1 f none useradmin/help/findform.ru_SU.html 0600 root bin 352 59859 1025499840
1 f none useradmin/help/findform.sv.html 0600 root bin 337 32994 1025499840
1 f none useradmin/help/findform.zh_TW.Big5.html 0600 root bin 209 31420 1025499840
1 f none useradmin/help/flags.ca.html 0600 root bin 753 825 1025499840
1 f none useradmin/help/flags.html 0600 root bin 597 52780 1025499840
1 f none useradmin/help/flags.nl.html 0600 root bin 735 526 1025499840
1 f none useradmin/help/flags.pl.html 0600 root bin 601 57122 1025499840
1 f none useradmin/help/gchgid.ca.html 0600 root bin 502 45748 1025499840
1 f none useradmin/help/gchgid.es.html 0600 root bin 579 53479 1025499840
1 f none useradmin/help/gchgid.fr.html 0600 root bin 542 51532 1025499840
1 f none useradmin/help/gchgid.html 0600 root bin 494 44112 1025499840
1 f none useradmin/help/gchgid.pl.html 0600 root bin 587 58372 1025499840
1 f none useradmin/help/gchgid.ru_RU.html 0600 root bin 597 45717 1025499840
1 f none useradmin/help/gchgid.ru_SU.html 0600 root bin 597 32865 1025499840
1 f none useradmin/help/gchgid.sv.html 0600 root bin 470 44229 1025499840
1 f none useradmin/help/gchgid.zh_TW.Big5.html 0600 root bin 328 51346 1025499840
1 f none useradmin/help/ggid.ca.html 0600 root bin 397 35977 1025499840
1 f none useradmin/help/ggid.es.html 0600 root bin 401 35721 1025499840
1 f none useradmin/help/ggid.fr.html 0600 root bin 460 43613 1025499840
1 f none useradmin/help/ggid.html 0600 root bin 377 33496 1025499840
1 f none useradmin/help/ggid.nl.html 0600 root bin 443 39317 1025499840
1 f none useradmin/help/ggid.pl.html 0600 root bin 397 38166 1025499840
1 f none useradmin/help/ggid.ru_RU.html 0600 root bin 369 680 1025499840
1 f none useradmin/help/ggid.ru_SU.html 0600 root bin 369 58693 1025499840
1 f none useradmin/help/ggid.sv.html 0600 root bin 401 38051 1025499840
1 f none useradmin/help/ggid.zh_TW.Big5.html 0600 root bin 273 38966 1025499840
1 f none useradmin/help/ggroup.ca.html 0600 root bin 143 12467 1025499840
1 f none useradmin/help/ggroup.es.html 0600 root bin 165 14788 1025499840
1 f none useradmin/help/ggroup.fr.html 0600 root bin 148 13138 1025499840
1 f none useradmin/help/ggroup.html 0600 root bin 146 13043 1025499840
1 f none useradmin/help/ggroup.nl.html 0600 root bin 176 15692 1025499840
1 f none useradmin/help/ggroup.pl.html 0600 root bin 145 14199 1025499840
1 f none useradmin/help/ggroup.ru_RU.html 0600 root bin 140 25516 1025499840
1 f none useradmin/help/ggroup.ru_SU.html 0600 root bin 140 22574 1025499840
1 f none useradmin/help/ggroup.sv.html 0600 root bin 145 13649 1025499840
1 f none useradmin/help/ggroup.zh_TW.Big5.html 0600 root bin 110 15628 1025499840
1 f none useradmin/help/gmembers.ca.html 0600 root bin 417 38349 1025499840
1 f none useradmin/help/gmembers.es.html 0600 root bin 473 43384 1025499840
1 f none useradmin/help/gmembers.fr.html 0600 root bin 475 42721 1025499840
1 f none useradmin/help/gmembers.html 0600 root bin 432 38911 1025499840
1 f none useradmin/help/gmembers.nl.html 0600 root bin 477 42970 1025499840
1 f none useradmin/help/gmembers.pl.html 0600 root bin 484 48004 1025499840
1 f none useradmin/help/gmembers.ru_RU.html 0600 root bin 503 30245 1025499840
1 f none useradmin/help/gmembers.ru_SU.html 0600 root bin 503 18943 1025499840
1 f none useradmin/help/gmembers.sv.html 0600 root bin 448 43318 1025499840
1 f none useradmin/help/gmembers.zh_TW.Big5.html 0600 root bin 273 39194 1025499840
1 f none useradmin/help/gpasswd.ca.html 0600 root bin 151 13389 1025499840
1 f none useradmin/help/gpasswd.es.html 0600 root bin 142 12654 1025499840
1 f none useradmin/help/gpasswd.fr.html 0600 root bin 174 16324 1025499840
1 f none useradmin/help/gpasswd.html 0600 root bin 124 11202 1025499840
1 f none useradmin/help/gpasswd.nl.html 0600 root bin 142 13021 1025499841
1 f none useradmin/help/gpasswd.pl.html 0600 root bin 127 12596 1025499840
1 f none useradmin/help/gpasswd.ru_RU.html 0600 root bin 145 26479 1025499840
1 f none useradmin/help/gpasswd.ru_SU.html 0600 root bin 145 23568 1025499840
1 f none useradmin/help/gpasswd.sv.html 0600 root bin 106 10476 1025499840
1 f none useradmin/help/gpasswd.zh_TW.Big5.html 0600 root bin 92 12315 1025499840
1 f none useradmin/help/group.ca.html 0600 root bin 551 50252 1025499840
1 f none useradmin/help/group.es.html 0600 root bin 601 55452 1025499840
1 f none useradmin/help/group.fr.html 0600 root bin 546 51470 1025499840
1 f none useradmin/help/group.html 0600 root bin 506 45779 1025499840
1 f none useradmin/help/group.nl.html 0600 root bin 654 59555 1025499841
1 f none useradmin/help/group.pl.html 0600 root bin 601 59933 1025499840
1 f none useradmin/help/group.ru_RU.html 0600 root bin 638 57358 1025499840
1 f none useradmin/help/group.ru_SU.html 0600 root bin 638 42467 1025499840
1 f none useradmin/help/group.sv.html 0600 root bin 449 44728 1025499840
1 f none useradmin/help/group.zh_TW.Big5.html 0600 root bin 291 43622 1025499840
1 f none useradmin/help/home.ca.html 0600 root bin 563 52030 1025499840
1 f none useradmin/help/home.es.html 0600 root bin 590 55047 1025499840
1 f none useradmin/help/home.fr.html 0600 root bin 617 58774 1025499840
1 f none useradmin/help/home.html 0600 root bin 530 48028 1025499840
1 f none useradmin/help/home.nl.html 0600 root bin 675 61646 1025499841
1 f none useradmin/help/home.pl.html 0600 root bin 601 59404 1025499840
1 f none useradmin/help/home.ru_RU.html 0600 root bin 730 8263 1025499840
1 f none useradmin/help/home.ru_SU.html 0600 root bin 730 57711 1025499840
1 f none useradmin/help/home.sv.html 0600 root bin 534 51421 1025499840
1 f none useradmin/help/home.zh_TW.Big5.html 0600 root bin 404 58991 1025499840
1 f none useradmin/help/homeph.ca.html 0600 root bin 145 12944 1025499840
1 f none useradmin/help/homeph.html 0600 root bin 130 11488 1025499840
1 f none useradmin/help/homeph.nl.html 0600 root bin 166 15026 1025499841
1 f none useradmin/help/inactive.ca.html 0600 root bin 169 14955 1025499840
1 f none useradmin/help/inactive.es.html 0600 root bin 102 9429 1025499840
1 f none useradmin/help/inactive.fr.html 0600 root bin 110 10196 1025499840
1 f none useradmin/help/inactive.html 0600 root bin 146 12988 1025499840
1 f none useradmin/help/inactive.nl.html 0600 root bin 176 15742 1025499841
1 f none useradmin/help/inactive.pl.html 0600 root bin 188 18325 1025499840
1 f none useradmin/help/inactive.ru_RU.html 0600 root bin 186 35559 1025499840
1 f none useradmin/help/inactive.ru_SU.html 0600 root bin 186 31408 1025499840
1 f none useradmin/help/inactive.sv.html 0600 root bin 134 12202 1025499840
1 f none useradmin/help/inactive.zh_TW.Big5.html 0600 root bin 72 9956 1025499840
1 f none useradmin/help/intro.ca.html 0600 root bin 2497 26532 1025499840
1 f none useradmin/help/intro.es.html 0600 root bin 2559 36652 1025499840
1 f none useradmin/help/intro.fr.html 0600 root bin 2593 44645 1025499840
1 f none useradmin/help/intro.html 0600 root bin 2220 628 1025499840
1 f none useradmin/help/intro.nl.html 0600 root bin 2643 39913 1025499841
1 f none useradmin/help/intro.pl.html 0600 root bin 2551 52863 1025499840
1 f none useradmin/help/intro.ru_RU.html 0600 root bin 2552 18470 1025499840
1 f none useradmin/help/intro.ru_SU.html 0600 root bin 2552 27997 1025499840
1 f none useradmin/help/intro.sv.html 0600 root bin 2244 19144 1025499840
1 f none useradmin/help/intro.zh_TW.Big5.html 0600 root bin 1504 24540 1025499840
1 f none useradmin/help/list_logins.ca.html 0600 root bin 263 24296 1025499840
1 f none useradmin/help/list_logins.es.html 0600 root bin 291 26648 1025499840
1 f none useradmin/help/list_logins.fr.html 0600 root bin 285 25832 1025499840
1 f none useradmin/help/list_logins.html 0600 root bin 249 22601 1025499840
1 f none useradmin/help/list_logins.nl.html 0600 root bin 329 29752 1025499841
1 f none useradmin/help/list_logins.pl.html 0600 root bin 295 29100 1025499840
1 f none useradmin/help/list_logins.ru_RU.html 0600 root bin 286 53885 1025499840
1 f none useradmin/help/list_logins.ru_SU.html 0600 root bin 286 47686 1025499840
1 f none useradmin/help/list_logins.sv.html 0600 root bin 261 25612 1025499840
1 f none useradmin/help/list_logins.zh_TW.Big5.html 0600 root bin 162 23971 1025499840
1 f none useradmin/help/makehome.ca.html 0600 root bin 186 17100 1025499840
1 f none useradmin/help/makehome.es.html 0600 root bin 192 17517 1025499840
1 f none useradmin/help/makehome.fr.html 0600 root bin 180 17319 1025499840
1 f none useradmin/help/makehome.html 0600 root bin 184 16607 1025499840
1 f none useradmin/help/makehome.pl.html 0600 root bin 226 22148 1025499840
1 f none useradmin/help/makehome.ru_RU.html 0600 root bin 180 31369 1025499840
1 f none useradmin/help/makehome.ru_SU.html 0600 root bin 180 27995 1025499840
1 f none useradmin/help/makehome.sv.html 0600 root bin 180 16750 1025499840
1 f none useradmin/help/makehome.zh_TW.Big5.html 0600 root bin 141 19842 1025499840
1 f none useradmin/help/max.ca.html 0600 root bin 238 22276 1025499840
1 f none useradmin/help/max.es.html 0600 root bin 256 23764 1025499840
1 f none useradmin/help/max.fr.html 0600 root bin 225 21031 1025499840
1 f none useradmin/help/max.html 0600 root bin 196 17843 1025499840
1 f none useradmin/help/max.nl.html 0600 root bin 254 23426 1025499841
1 f none useradmin/help/max.pl.html 0600 root bin 235 23218 1025499840
1 f none useradmin/help/max.ru_RU.html 0600 root bin 222 41418 1025499840
1 f none useradmin/help/max.ru_SU.html 0600 root bin 222 36711 1025499840
1 f none useradmin/help/max.sv.html 0600 root bin 228 22761 1025499840
1 f none useradmin/help/max.zh_TW.Big5.html 0600 root bin 125 17819 1025499840
1 f none useradmin/help/max_weeks.ca.html 0600 root bin 244 23067 1025499840
1 f none useradmin/help/max_weeks.html 0600 root bin 199 18172 1025499840
1 f none useradmin/help/max_weeks.pl.html 0600 root bin 221 21434 1025499840
1 f none useradmin/help/min.ca.html 0600 root bin 117 10679 1025499840
1 f none useradmin/help/min.es.html 0600 root bin 117 11111 1025499840
1 f none useradmin/help/min.fr.html 0600 root bin 120 10885 1025499840
1 f none useradmin/help/min.html 0600 root bin 106 9699 1025499840
1 f none useradmin/help/min.nl.html 0600 root bin 129 11960 1025499841
1 f none useradmin/help/min.pl.html 0600 root bin 128 12524 1025499840
1 f none useradmin/help/min.ru_RU.html 0600 root bin 99 17617 1025499840
1 f none useradmin/help/min.ru_SU.html 0600 root bin 99 15711 1025499840
1 f none useradmin/help/min.sv.html 0600 root bin 117 11370 1025499840
1 f none useradmin/help/min.zh_TW.Big5.html 0600 root bin 61 7892 1025499840
1 f none useradmin/help/min_weeks.ca.html 0600 root bin 125 11565 1025499840
1 f none useradmin/help/min_weeks.html 0600 root bin 108 9919 1025499840
1 f none useradmin/help/min_weeks.nl.html 0600 root bin 129 12014 1025499841
1 f none useradmin/help/min_weeks.pl.html 0600 root bin 115 10875 1025499840
1 f none useradmin/help/movehome.ca.html 0600 root bin 329 30610 1025499840
1 f none useradmin/help/movehome.es.html 0600 root bin 376 34941 1025499840
1 f none useradmin/help/movehome.fr.html 0600 root bin 362 35175 1025499840
1 f none useradmin/help/movehome.html 0600 root bin 327 29793 1025499840
1 f none useradmin/help/movehome.nl.html 0600 root bin 310 28430 1025499841
1 f none useradmin/help/movehome.pl.html 0600 root bin 360 35558 1025499840
1 f none useradmin/help/movehome.ru_RU.html 0600 root bin 363 4447 1025499840
1 f none useradmin/help/movehome.ru_SU.html 0600 root bin 363 61788 1025499840
1 f none useradmin/help/movehome.sv.html 0600 root bin 295 28554 1025499840
1 f none useradmin/help/movehome.zh_TW.Big5.html 0600 root bin 229 33005 1025499840
1 f none useradmin/help/office.ca.html 0600 root bin 144 12811 1025499840
1 f none useradmin/help/office.html 0600 root bin 134 11779 1025499840
1 f none useradmin/help/office.nl.html 0600 root bin 174 15404 1025499841
1 f none useradmin/help/others.ca.html 0600 root bin 365 33568 1025499840
1 f none useradmin/help/others.html 0600 root bin 335 30184 1025499840
1 f none useradmin/help/pass.ca.html 0600 root bin 1400 54147 1025499840
1 f none useradmin/help/pass.es.html 0600 root bin 1449 61800 1025499840
1 f none useradmin/help/pass.fr.html 0600 root bin 1437 63707 1025499840
1 f none useradmin/help/pass.html 0600 root bin 1214 40482 1025499840
1 f none useradmin/help/pass.nl.html 0600 root bin 1512 2969 1025499841
1 f none useradmin/help/pass.pl.html 0600 root bin 1293 57013 1025499840
1 f none useradmin/help/pass.ru_RU.html 0600 root bin 1440 53150 1025499840
1 f none useradmin/help/pass.ru_SU.html 0600 root bin 1440 25793 1025499840
1 f none useradmin/help/pass.sv.html 0600 root bin 1190 47025 1025499840
1 f none useradmin/help/pass.zh_TW.Big5.html 0600 root bin 827 43495 1025499840
1 f none useradmin/help/real.ca.html 0600 root bin 175 15435 1025499840
1 f none useradmin/help/real.es.html 0600 root bin 183 16802 1025499840
1 f none useradmin/help/real.fr.html 0600 root bin 193 17749 1025499840
1 f none useradmin/help/real.html 0600 root bin 158 14050 1025499840
1 f none useradmin/help/real.nl.html 0600 root bin 228 20712 1025499841
1 f none useradmin/help/real.pl.html 0600 root bin 201 19353 1025499840
1 f none useradmin/help/real.ru_RU.html 0600 root bin 208 37343 1025499840
1 f none useradmin/help/real.ru_SU.html 0600 root bin 208 33142 1025499840
1 f none useradmin/help/real.sv.html 0600 root bin 136 12637 1025499840
1 f none useradmin/help/real.zh_TW.Big5.html 0600 root bin 134 18696 1025499840
1 f none useradmin/help/shell.ca.html 0600 root bin 868 13092 1025499840
1 f none useradmin/help/shell.es.html 0600 root bin 881 14571 1025499840
1 f none useradmin/help/shell.fr.html 0600 root bin 895 16399 1025499840
1 f none useradmin/help/shell.html 0600 root bin 786 3970 1025499840
1 f none useradmin/help/shell.nl.html 0600 root bin 910 16421 1025499841
1 f none useradmin/help/shell.pl.html 0600 root bin 944 27804 1025499840
1 f none useradmin/help/shell.ru_RU.html 0600 root bin 936 31203 1025499840
1 f none useradmin/help/shell.ru_SU.html 0600 root bin 936 14071 1025499840
1 f none useradmin/help/shell.sv.html 0600 root bin 847 14369 1025499840
1 f none useradmin/help/shell.zh_TW.Big5.html 0600 root bin 661 20606 1025499840
1 f none useradmin/help/uid.ca.html 0600 root bin 725 64771 1025499840
1 f none useradmin/help/uid.es.html 0600 root bin 756 2791 1025499840
1 f none useradmin/help/uid.fr.html 0600 root bin 788 10405 1025499840
1 f none useradmin/help/uid.html 0600 root bin 676 59366 1025499840
1 f none useradmin/help/uid.nl.html 0600 root bin 918 15854 1025499841
1 f none useradmin/help/uid.pl.html 0600 root bin 846 17277 1025499840
1 f none useradmin/help/uid.ru_RU.html 0600 root bin 814 17175 1025499840
1 f none useradmin/help/uid.ru_SU.html 0600 root bin 814 109 1025499840
1 f none useradmin/help/uid.sv.html 0600 root bin 710 2694 1025499840
1 f none useradmin/help/uid.zh_TW.Big5.html 0600 root bin 513 8053 1025499840
1 f none useradmin/help/user.ca.html 0600 root bin 82 6954 1025499840
1 f none useradmin/help/user.es.html 0600 root bin 97 8521 1025499840
1 f none useradmin/help/user.fr.html 0600 root bin 120 10793 1025499840
1 f none useradmin/help/user.html 0600 root bin 82 7187 1025499840
1 f none useradmin/help/user.nl.html 0600 root bin 99 8878 1025499841
1 f none useradmin/help/user.pl.html 0600 root bin 94 8955 1025499840
1 f none useradmin/help/user.ru_RU.html 0600 root bin 97 17264 1025499840
1 f none useradmin/help/user.ru_SU.html 0600 root bin 97 15468 1025499840
1 f none useradmin/help/user.sv.html 0600 root bin 90 8664 1025499840
1 f none useradmin/help/user.zh_TW.Big5.html 0600 root bin 73 9401 1025499840
1 f none useradmin/help/warn.ca.html 0600 root bin 170 15155 1025499840
1 f none useradmin/help/warn.es.html 0600 root bin 172 15730 1025499840
1 f none useradmin/help/warn.fr.html 0600 root bin 208 19845 1025499840
1 f none useradmin/help/warn.html 0600 root bin 142 12897 1025499840
1 f none useradmin/help/warn.nl.html 0600 root bin 173 15951 1025499841
1 f none useradmin/help/warn.pl.html 0600 root bin 153 14992 1025499840
1 f none useradmin/help/warn.ru_RU.html 0600 root bin 237 44715 1025499840
1 f none useradmin/help/warn.ru_SU.html 0600 root bin 237 39546 1025499840
1 f none useradmin/help/warn.sv.html 0600 root bin 149 14590 1025499840
1 f none useradmin/help/warn.zh_TW.Big5.html 0600 root bin 89 12407 1025499840
1 f none useradmin/help/workph.ca.html 0600 root bin 153 13713 1025499840
1 f none useradmin/help/workph.html 0600 root bin 132 11709 1025499840
1 f none useradmin/help/workph.nl.html 0600 root bin 170 15392 1025499841
1 f none useradmin/hpux-lib.pl 0600 root bin 1192 30005 1025499841
1 d none useradmin/images 0700 root bin
1 f none useradmin/images/group.gif 0600 root bin 498 56003 1025499839
1 f none useradmin/images/icon.gif 0600 root bin 390 43396 1025499839
1 f none useradmin/images/user.gif 0600 root bin 223 25871 1025499839
1 f none useradmin/index.cgi 0700 root bin 10843 7156 1025499841
1 f none useradmin/irix-lib.pl 0600 root bin 1263 36263 1025499841
1 d none useradmin/lang 0700 root bin
1 f none useradmin/lang/ca 0600 root bin 15707 39274 1025499840
1 f none useradmin/lang/cz 0600 root bin 8371 13566 1025499840
1 f none useradmin/lang/de 0600 root bin 13298 1152 1025499839
1 f none useradmin/lang/en 0600 root bin 14683 48231 1025499839
1 f none useradmin/lang/es 0600 root bin 14740 15085 1025499839
1 f none useradmin/lang/fr 0600 root bin 15924 41408 1025499839
1 f none useradmin/lang/he 0600 root bin 8326 56722 1025499839
1 f none useradmin/lang/ja_JP.euc 0600 root bin 12746 12522 1025499840
1 f none useradmin/lang/ko_KR.euc 0600 root bin 11760 16102 1025499840
1 f none useradmin/lang/nl 0600 root bin 15371 4829 1025499840
1 f none useradmin/lang/pl 0600 root bin 15514 37951 1025499840
1 f none useradmin/lang/pt 0600 root bin 7147 35348 1025499839
1 f none useradmin/lang/pt_BR 0600 root bin 14870 62188 1025499840
1 f none useradmin/lang/ru_RU 0600 root bin 8662 19900 1025499840
1 f none useradmin/lang/ru_SU 0600 root bin 8672 13942 1025499839
1 f none useradmin/lang/sv 0600 root bin 12536 42574 1025499839
1 f none useradmin/lang/tr 0600 root bin 9292 54596 1025499839
1 f none useradmin/lang/zh_CN 0600 root bin 6487 10769 1025499839
1 f none useradmin/lang/zh_TW.Big5 0600 root bin 11486 56804 1025499839
1 f none useradmin/linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/list_logins.cgi 0700 root bin 1831 14374 1025499840
1 f none useradmin/list_who.cgi 0700 root bin 1035 17123 1025499841
1 f none useradmin/log_parser.pl 0600 root bin 1576 58873 1025499841
1 f none useradmin/low.risk 0600 root bin 302 27343 1025499841
1 f none useradmin/low.skill 0600 root bin 50 4436 1025499841
1 f none useradmin/macos-lib.pl 0600 root bin 1128 23881 1025499841
1 f none useradmin/mandrake-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/many_create.cgi 0700 root bin 3933 42648 1025499839
1 f none useradmin/many_form.cgi 0700 root bin 1419 56112 1025499839
1 f none useradmin/medium.risk 0600 root bin 142 12415 1025499841
1 f none useradmin/medium.skill 0600 root bin 8 672 1025499841
1 f none useradmin/module.info 0600 root bin 848 24942 1025499882
1 f none useradmin/msc-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/my_group_chooser.cgi 0700 root bin 4736 47667 1025499841
1 f none useradmin/my_user_chooser.cgi 0700 root bin 4386 21398 1025499841
1 f none useradmin/netbsd-lib.pl 0600 root bin 1261 35095 1025499841
1 f none useradmin/open-linux-lib.pl 0600 root bin 5033 46571 1025499841
1 f none useradmin/openbsd-lib.pl 0600 root bin 1261 35095 1025499839
1 f none useradmin/openserver-lib.pl 0600 root bin 1356 44108 1025499841
1 f none useradmin/osf1-lib.pl 0600 root bin 1181 28866 1025499840
1 f none useradmin/redhat-linux-lib.pl 0600 root bin 5033 46571 1025499840
1 f none useradmin/save_group.cgi 0700 root bin 3239 62401 1025499839
1 f none useradmin/save_user.cgi 0700 root bin 15998 9731 1025499839
1 f none useradmin/search_group.cgi 0700 root bin 1368 36018 1025499841
1 f none useradmin/search_user.cgi 0700 root bin 1466 43602 1025499841
1 f none useradmin/slackware-linux-lib.pl 0600 root bin 5033 46571 1025499840
1 f none useradmin/solaris-lib.pl 0600 root bin 1533 56019 1025499841
1 f none useradmin/suse-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/turbo-linux-lib.pl 0600 root bin 5033 46571 1025499839
1 f none useradmin/unixware-lib.pl 0600 root bin 1297 39350 1025499839
1 f none useradmin/user-lib.pl 0600 root bin 24858 15695 1025499839
1 d none usermin 0700 root bin
1 f none usermin/bootup.cgi 0700 root bin 4167 61394 1025499881
1 f none usermin/change_access.cgi 0700 root bin 738 64997 1025499881
1 f none usermin/change_bind.cgi 0700 root bin 1512 57069 1025499881
1 f none usermin/change_lang.cgi 0700 root bin 322 27991 1025499881
1 f none usermin/change_os.cgi 0700 root bin 516 44508 1025499881
1 f none usermin/change_session.cgi 0700 root bin 2790 51369 1025499881
1 f none usermin/change_ssl.cgi 0700 root bin 395 35229 1025499881
1 f none usermin/change_theme.cgi 0700 root bin 630 56275 1025499881
1 f none usermin/change_ui.cgi 0700 root bin 479 42104 1025499881
1 f none usermin/change_users.cgi 0700 root bin 902 10186 1025499881
1 f none usermin/config 0600 root bin 25 2437 1025499881
1 f none usermin/config.info 0600 root bin 46 4532 1025499881
1 f none usermin/config.info.ca 0600 root bin 50 4861 1025499881
1 f none usermin/config.info.zh_TW.Big5 0600 root bin 30 3554 1025499881
1 f none usermin/delete_mod.cgi 0700 root bin 3341 3569 1025499881
1 f none usermin/edit_access.cgi 0700 root bin 1668 10729 1025499881
1 f none usermin/edit_acl.cgi 0700 root bin 686 55383 1025499881
1 f none usermin/edit_assignment.cgi 0700 root bin 1245 36721 1025499881
1 f none usermin/edit_bind.cgi 0700 root bin 1039 23051 1025499881
1 f none usermin/edit_categories.cgi 0700 root bin 1490 57521 1025499881
1 f none usermin/edit_configs.cgi 0700 root bin 9400 38861 1025499881
1 f none usermin/edit_defacl.cgi 0700 root bin 909 12189 1025499881
1 f none usermin/edit_lang.cgi 0700 root bin 883 7578 1025499881
1 f none usermin/edit_mods.cgi 0700 root bin 2240 57786 1025499881
1 f none usermin/edit_os.cgi 0700 root bin 1851 19420 1025499881
1 f none usermin/edit_session.cgi 0700 root bin 3748 63561 1025499881
1 f none usermin/edit_ssl.cgi 0700 root bin 951 13980 1025499881
1 f none usermin/edit_themes.cgi 0700 root bin 1818 23518 1025499881
1 f none usermin/edit_ui.cgi 0700 root bin 1742 15736 1025499881
1 f none usermin/edit_upgrade.cgi 0700 root bin 1487 62355 1025499881
1 f none usermin/edit_users.cgi 0700 root bin 1425 57064 1025499881
1 f none usermin/feedback_files.pl 0600 root bin 137 11584 1025499881
1 d none usermin/images 0700 root bin
1 f none usermin/images/access.gif 0600 root bin 275 34570 1025499880
1 f none usermin/images/acl.gif 0600 root bin 2295 39355 1025499881
1 f none usermin/images/assignment.gif 0600 root bin 2295 39355 1025499881
1 f none usermin/images/bind.gif 0600 root bin 478 58145 1025499880
1 f none usermin/images/categories.gif 0600 root bin 1820 56835 1025499881
1 f none usermin/images/configs.gif 0600 root bin 332 37424 1025499881
1 f none usermin/images/defacl.gif 0600 root bin 200 23141 1025499881
1 f none usermin/images/icon.gif 0600 root bin 1945 5218 1025499880
1 f none usermin/images/lang.gif 0600 root bin 405 48317 1025499880
1 f none usermin/images/mods.gif 0600 root bin 281 32091 1025499880
1 f none usermin/images/os.gif 0600 root bin 393 45957 1025499880
1 f none usermin/images/session.gif 0600 root bin 1705 53289 1025499881
1 f none usermin/images/ssl.gif 0600 root bin 364 43760 1025499881
1 f none usermin/images/themes.gif 0600 root bin 1946 832 1025499881
1 f none usermin/images/ui.gif 0600 root bin 1558 33481 1025499881
1 f none usermin/images/upgrade.gif 0600 root bin 184 20358 1025499881
1 f none usermin/images/users.gif 0600 root bin 390 43396 1025499881
1 f none usermin/index.cgi 0700 root bin 2826 34608 1025499881
1 f none usermin/install_mod.cgi 0700 root bin 2444 60395 1025499881
1 f none usermin/install_theme.cgi 0700 root bin 2004 26624 1025499881
1 d none usermin/lang 0700 root bin
1 f none usermin/lang/ca 0600 root bin 15971 15563 1025499880
1 f none usermin/lang/en 0600 root bin 16452 30507 1025499880
1 f none usermin/lang/zh_TW.Big5 0600 root bin 11898 51082 1025499880
1 f none usermin/log_parser.pl 0600 root bin 1154 29149 1025499881
1 f none usermin/module.info 0600 root bin 141 13260 1025499882
1 f none usermin/save_acl.cgi 0700 root bin 313 26574 1025499881
1 f none usermin/save_assignment.cgi 0700 root bin 567 48548 1025499881
1 f none usermin/save_categories.cgi 0700 root bin 1030 21355 1025499881
1 f none usermin/save_configs.cgi 0700 root bin 1741 4987 1025499881
1 f none usermin/save_defacl.cgi 0700 root bin 581 51099 1025499881
1 f none usermin/save_uconfigs.cgi 0700 root bin 1701 3623 1025499881
1 f none usermin/start.cgi 0700 root bin 181 15446 1025499881
1 f none usermin/stop.cgi 0700 root bin 335 27661 1025499881
1 f none usermin/upgrade.cgi 0700 root bin 4593 37372 1025499881
1 f none usermin/usermin-lib.pl 0600 root bin 12047 49899 1025499881
1 f none version 0600 root bin 6 266 1025499832
1 f none web-lib.pl 0700 root bin 78925 11260 1025499831
1 d none webmin 0700 root bin
1 f none webmin-caldera-init 0700 root bin 990 11661 1025499831
1 f none webmin-daemon 0600 root bin 80 6541 1025499831
1 f none webmin-init 0700 root bin 944 5470 1025499831
1 f none webmin-pam 0600 root bin 164 15374 1025499832
1 f none webmin/change_access.cgi 0700 root bin 2731 8419 1025499851
1 f none webmin/change_anon.cgi 0700 root bin 733 61080 1025499851
1 f none webmin/change_bind.cgi 0700 root bin 1691 3896 1025499850
1 f none webmin/change_ca.cgi 0700 root bin 559 46688 1025499850
1 f none webmin/change_lang.cgi 0700 root bin 331 28462 1025499850
1 f none webmin/change_log.cgi 0700 root bin 1147 31979 1025499851
1 f none webmin/change_os.cgi 0700 root bin 525 44909 1025499851
1 f none webmin/change_proxy.cgi 0700 root bin 819 5109 1025499850
1 f none webmin/change_referers.cgi 0700 root bin 472 40937 1025499851
1 f none webmin/change_session.cgi 0700 root bin 2773 47592 1025499851
1 f none webmin/change_ssl.cgi 0700 root bin 560 46772 1025499851
1 f none webmin/change_startpage.cgi 0700 root bin 699 60703 1025499851
1 f none webmin/change_syslet.cgi 0700 root bin 916 12365 1025499851
1 f none webmin/change_theme.cgi 0700 root bin 812 3981 1025499851
1 f none webmin/change_ui.cgi 0700 root bin 979 14637 1025499851
1 f none webmin/clone_mod.cgi 0700 root bin 1347 41791 1025499851
1 f none webmin/config 0600 root bin 48 4249 1025499851
1 f none webmin/delete_mod.cgi 0700 root bin 2021 30380 1025499850
1 f none webmin/edit_access.cgi 0700 root bin 1659 9734 1025499850
1 f none webmin/edit_anon.cgi 0700 root bin 1079 20768 1025499851
1 f none webmin/edit_assignment.cgi 0700 root bin 1191 31524 1025499851
1 f none webmin/edit_bind.cgi 0700 root bin 1030 22056 1025499851
1 f none webmin/edit_ca.cgi 0700 root bin 2752 33243 1025499851
1 f none webmin/edit_categories.cgi 0700 root bin 1522 58851 1025499851
1 f none webmin/edit_lang.cgi 0700 root bin 850 4446 1025499851
1 f none webmin/edit_log.cgi 0700 root bin 2744 35041 1025499850
1 f none webmin/edit_mods.cgi 0700 root bin 3437 22396 1025499850
1 f none webmin/edit_os.cgi 0700 root bin 1774 11958 1025499850
1 f none webmin/edit_proxy.cgi 0700 root bin 1724 16801 1025499851
1 f none webmin/edit_referers.cgi 0700 root bin 1035 22799 1025499851
1 f none webmin/edit_session.cgi 0700 root bin 3707 59521 1025499851
1 f none webmin/edit_ssl.cgi 0700 root bin 919 10804 1025499850
1 f none webmin/edit_startpage.cgi 0700 root bin 2643 25820 1025499850
1 f none webmin/edit_syslet.cgi 0700 root bin 998 19657 1025499851
1 f none webmin/edit_themes.cgi 0700 root bin 1792 21360 1025499851
1 f none webmin/edit_ui.cgi 0700 root bin 2483 6899 1025499850
1 f none webmin/edit_upgrade.cgi 0700 root bin 4237 31909 1025499850
1 f none webmin/feedback_files.pl 0600 root bin 126 10585 1025499851
1 d none webmin/images 0700 root bin
1 f none webmin/images/access.gif 0600 root bin 275 34570 1025499850
1 f none webmin/images/anon.gif 0600 root bin 237 27060 1025499850
1 f none webmin/images/assignment.gif 0600 root bin 2295 39355 1025499850
1 f none webmin/images/bind.gif 0600 root bin 478 58145 1025499850
1 f none webmin/images/ca.gif 0600 root bin 1420 41188 1025499850
1 f none webmin/images/categories.gif 0600 root bin 1820 56835 1025499850
1 f none webmin/images/icon.gif 0600 root bin 2288 61818 1025499850
1 f none webmin/images/lang.gif 0600 root bin 405 48317 1025499850
1 f none webmin/images/log.gif 0600 root bin 470 52260 1025499850
1 f none webmin/images/mods.gif 0600 root bin 281 32091 1025499850
1 f none webmin/images/os.gif 0600 root bin 393 45957 1025499850
1 f none webmin/images/proxy.gif 0600 root bin 214 23452 1025499850
1 f none webmin/images/referers.gif 0600 root bin 827 31730 1025499850
1 f none webmin/images/session.gif 0600 root bin 1705 53289 1025499850
1 f none webmin/images/ssl.gif 0600 root bin 364 43760 1025499850
1 f none webmin/images/startpage.gif 0600 root bin 1511 40217 1025499850
1 f none webmin/images/syslet.gif 0600 root bin 922 41762 1025499850
1 f none webmin/images/themes.gif 0600 root bin 1946 832 1025499850
1 f none webmin/images/ui.gif 0600 root bin 1558 33481 1025499850
1 f none webmin/images/upgrade.gif 0600 root bin 184 20358 1025499850
1 f none webmin/index.cgi 0700 root bin 2021 35121 1025499851
1 f none webmin/install_mod.cgi 0700 root bin 2652 10785 1025499850
1 f none webmin/install_theme.cgi 0700 root bin 2106 33701 1025499851
1 d none webmin/lang 0700 root bin
1 f none webmin/lang/ca 0600 root bin 26147 4623 1025499851
1 f none webmin/lang/cz 0600 root bin 10199 40740 1025499851
1 f none webmin/lang/de 0600 root bin 19225 38623 1025499850
1 f none webmin/lang/en 0600 root bin 24436 54023 1025499850
1 f none webmin/lang/es 0600 root bin 21779 49687 1025499850
1 f none webmin/lang/fr 0600 root bin 24931 41877 1025499850
1 f none webmin/lang/he 0600 root bin 14302 10182 1025499851
1 f none webmin/lang/hu 0600 root bin 8100 56769 1025499851
1 f none webmin/lang/it 0600 root bin 12226 31877 1025499851
1 f none webmin/lang/ja_JP.euc 0600 root bin 19692 64000 1025499851
1 f none webmin/lang/ko_KR.euc 0600 root bin 17446 40761 1025499851
1 f none webmin/lang/nl 0600 root bin 21708 15137 1025499851
1 f none webmin/lang/pl 0600 root bin 23706 11543 1025499851
1 f none webmin/lang/pt 0600 root bin 7804 27720 1025499850
1 f none webmin/lang/ru_RU 0600 root bin 19498 41188 1025499851
1 f none webmin/lang/ru_SU 0600 root bin 20044 28882 1025499851
1 f none webmin/lang/sv 0600 root bin 19126 29994 1025499850
1 f none webmin/lang/tr 0600 root bin 13534 44676 1025499851
1 f none webmin/lang/zh_CN 0600 root bin 11707 25201 1025499850
1 f none webmin/lang/zh_TW.Big5 0600 root bin 16383 13546 1025499850
1 f none webmin/log_parser.pl 0600 root bin 979 15022 1025499851
1 f none webmin/low.risk 0600 root bin 10 879 1025499851
1 f none webmin/low.skill 0600 root bin 41 3913 1025499851
1 f none webmin/medium.risk 0600 root bin 10 879 1025499851
1 f none webmin/medium.skill 0600 root bin 71 6773 1025499851
1 f none webmin/module.info 0600 root bin 568 58994 1025499882
1 f none webmin/save_assignment.cgi 0700 root bin 475 40702 1025499851
1 f none webmin/save_categories.cgi 0700 root bin 841 4175 1025499851
1 f none webmin/setup_ca.cgi 0700 root bin 1284 43103 1025499850
1 f none webmin/stop_ca.cgi 0700 root bin 1062 23723 1025499850
1 f none webmin/uninstall.pl 0600 root bin 379 30885 1025499851
1 f none webmin/update.cgi 0700 root bin 3374 57272 1025499851
1 f none webmin/update.pl 0700 root bin 3535 7791 1025499851
1 f none webmin/update_sched.cgi 0700 root bin 2294 53420 1025499851
1 f none webmin/upgrade.cgi 0700 root bin 6867 21864 1025499851
1 f none webmin/webmin-lib.pl 0600 root bin 12057 30305 1025499851
1 d none webminlog 0700 root bin
1 d none webminlog/images 0700 root bin
1 f none webminlog/images/icon.gif 0600 root bin 470 52260 1025499869
1 f none webminlog/index.cgi 0700 root bin 2202 54616 1025499869
1 d none webminlog/lang 0700 root bin
1 f none webminlog/lang/ca 0600 root bin 2391 27220 1025499869
1 f none webminlog/lang/de 0600 root bin 2861 60978 1025499869
1 f none webminlog/lang/en 0600 root bin 2041 58055 1025499869
1 f none webminlog/lang/es 0600 root bin 2319 23516 1025499869
1 f none webminlog/lang/fr 0600 root bin 2390 32778 1025499869
1 f none webminlog/lang/hu 0600 root bin 1801 51220 1025499869
1 f none webminlog/lang/ja_JP.euc 0600 root bin 2003 14385 1025499869
1 f none webminlog/lang/ko_KR.euc 0600 root bin 1810 41329 1025499869
1 f none webminlog/lang/nl 0600 root bin 1713 30442 1025499869
1 f none webminlog/lang/pl 0600 root bin 2373 34826 1025499869
1 f none webminlog/lang/sv 0600 root bin 2035 64617 1025499869
1 f none webminlog/lang/tr 0600 root bin 1685 43069 1025499869
1 f none webminlog/lang/zh_CN 0600 root bin 1325 38110 1025499869
1 f none webminlog/lang/zh_TW.Big5 0600 root bin 1687 6702 1025499869
1 f none webminlog/module.info 0600 root bin 487 48899 1025499882
1 f none webminlog/search.cgi 0700 root bin 3935 30927 1025499869
1 f none webminlog/view.cgi 0700 root bin 3106 45723 1025499869
1 f none webminlog/webminlog-lib.pl 0600 root bin 846 55666 1025499869
1 d none wuftpd 0700 root bin
1 f none wuftpd/config-aix 0600 root bin 188 18293 1025499866
1 f none wuftpd/config-corel-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-debian-linux 0600 root bin 231 22382 1025499866
1 f none wuftpd/config-freebsd 0600 root bin 192 18712 1025499866
1 f none wuftpd/config-generic-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-hpux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-lfs-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-macos 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-mandrake-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-msc-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-netbsd 0600 root bin 190 18468 1025499867
1 f none wuftpd/config-open-linux 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-openbsd 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-openserver 0600 root bin 174 16932 1025499867
1 f none wuftpd/config-osf1 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-redhat-linux 0600 root bin 186 18099 1025499867
1 f none wuftpd/config-slackware-linux 0600 root bin 186 18120 1025499867
1 f none wuftpd/config-solaris 0600 root bin 186 18099 1025499866
1 f none wuftpd/config-suse-linux 0600 root bin 186 18120 1025499866
1 f none wuftpd/config-turbo-linux 0600 root bin 211 20484 1025499866
1 f none wuftpd/config.info 0600 root bin 269 24949 1025499867
1 f none wuftpd/config.info.ca 0600 root bin 315 30166 1025499867
1 f none wuftpd/config.info.de 0600 root bin 307 28835 1025499866
1 f none wuftpd/config.info.es 0600 root bin 354 34039 1025499866
1 f none wuftpd/config.info.fr 0600 root bin 292 27649 1025499867
1 f none wuftpd/config.info.hu 0600 root bin 308 29889 1025499867
1 f none wuftpd/config.info.pl 0600 root bin 368 35279 1025499867
1 f none wuftpd/config.info.ru_RU 0600 root bin 281 39562 1025499867
1 f none wuftpd/config.info.ru_SU 0600 root bin 281 36684 1025499866
1 f none wuftpd/config.info.sv 0600 root bin 329 33897 1025499866
1 f none wuftpd/config.info.tr 0600 root bin 284 29026 1025499867
1 f none wuftpd/config.info.zh_CN 0600 root bin 224 30551 1025499866
1 f none wuftpd/config.info.zh_TW.Big5 0600 root bin 250 30404 1025499866
1 f none wuftpd/edit_acl.cgi 0700 root bin 8452 13344 1025499867
1 f none wuftpd/edit_alias.cgi 0700 root bin 1277 39128 1025499866
1 f none wuftpd/edit_anon.cgi 0700 root bin 3748 37239 1025499867
1 f none wuftpd/edit_class.cgi 0700 root bin 2845 31265 1025499866
1 f none wuftpd/edit_log.cgi 0700 root bin 2363 484 1025499866
1 f none wuftpd/edit_message.cgi 0700 root bin 4455 31162 1025499867
1 f none wuftpd/edit_misc.cgi 0700 root bin 2909 36064 1025499867
1 f none wuftpd/edit_net.cgi 0700 root bin 2641 14746 1025499866
1 f none wuftpd/edit_perm.cgi 0700 root bin 3257 60321 1025499867
1 d none wuftpd/help 0700 root bin
1 f none wuftpd/help/acl.ca.html 0600 root bin 1776 33911 1025499867
1 f none wuftpd/help/acl.es.html 0600 root bin 2010 55943 1025499866
1 f none wuftpd/help/acl.fr.html 0600 root bin 1867 45631 1025499866
1 f none wuftpd/help/acl.html 0600 root bin 1681 21673 1025499866
1 f none wuftpd/help/acl.pl.html 0600 root bin 1913 59633 1025499866
1 f none wuftpd/help/acl.ru_RU.html 0600 root bin 1743 5959 1025499867
1 f none wuftpd/help/acl.ru_SU.html 0600 root bin 1743 31859 1025499866
1 f none wuftpd/help/acl.sv.html 0600 root bin 1808 45452 1025499866
1 f none wuftpd/help/acl.zh_TW.Big5.html 0600 root bin 1118 37616 1025499866
1 f none wuftpd/help/alias.ca.html 0600 root bin 815 8107 1025499867
1 f none wuftpd/help/alias.es.html 0600 root bin 891 14903 1025499866
1 f none wuftpd/help/alias.fr.html 0600 root bin 871 15074 1025499866
1 f none wuftpd/help/alias.html 0600 root bin 794 5231 1025499866
1 f none wuftpd/help/alias.pl.html 0600 root bin 858 16961 1025499866
1 f none wuftpd/help/alias.ru_RU.html 0600 root bin 841 11352 1025499867
1 f none wuftpd/help/alias.ru_SU.html 0600 root bin 841 62182 1025499866
1 f none wuftpd/help/alias.sv.html 0600 root bin 812 11085 1025499866
1 f none wuftpd/help/alias.zh_TW.Big5.html 0600 root bin 577 6548 1025499866
1 f none wuftpd/help/anon.ca.html 0600 root bin 1858 40639 1025499867
1 f none wuftpd/help/anon.es.html 0600 root bin 1965 52353 1025499866
1 f none wuftpd/help/anon.fr.html 0600 root bin 1954 56721 1025499866
1 f none wuftpd/help/anon.html 0600 root bin 1747 28115 1025499866
1 f none wuftpd/help/anon.pl.html 0600 root bin 1687 34820 1025499866
1 f none wuftpd/help/anon.ru_RU.html 0600 root bin 1907 19601 1025499867
1 f none wuftpd/help/anon.ru_SU.html 0600 root bin 1907 46248 1025499866
1 f none wuftpd/help/anon.sv.html 0600 root bin 1718 33016 1025499866
1 f none wuftpd/help/anon.zh_TW.Big5.html 0600 root bin 1171 33896 1025499866
1 f none wuftpd/help/class.ca.html 0600 root bin 1463 1976 1025499867
1 f none wuftpd/help/class.es.html 0600 root bin 1636 17058 1025499866
1 f none wuftpd/help/class.fr.html 0600 root bin 1573 16940 1025499866
1 f none wuftpd/help/class.html 0600 root bin 1353 54491 1025499866
1 f none wuftpd/help/class.pl.html 0600 root bin 1541 17102 1025499866
1 f none wuftpd/help/class.ru_RU.html 0600 root bin 1552 19877 1025499867
1 f none wuftpd/help/class.ru_SU.html 0600 root bin 1552 53373 1025499866
1 f none wuftpd/help/class.sv.html 0600 root bin 1450 6442 1025499866
1 f none wuftpd/help/class.zh_TW.Big5.html 0600 root bin 960 63184 1025499866
1 f none wuftpd/help/intro.ca.html 0600 root bin 965 24333 1025499867
1 f none wuftpd/help/intro.es.html 0600 root bin 1048 32491 1025499866
1 f none wuftpd/help/intro.fr.html 0600 root bin 949 24397 1025499866
1 f none wuftpd/help/intro.html 0600 root bin 897 15896 1025499866
1 f none wuftpd/help/intro.pl.html 0600 root bin 933 27202 1025499867
1 f none wuftpd/help/intro.ru_RU.html 0600 root bin 986 53387 1025499867
1 f none wuftpd/help/intro.ru_SU.html 0600 root bin 986 32498 1025499866
1 f none wuftpd/help/intro.sv.html 0600 root bin 862 17907 1025499866
1 f none wuftpd/help/intro.zh_TW.Big5.html 0600 root bin 594 17946 1025499866
1 f none wuftpd/help/log.ca.html 0600 root bin 850 10447 1025499867
1 f none wuftpd/help/log.es.html 0600 root bin 900 16382 1025499866
1 f none wuftpd/help/log.fr.html 0600 root bin 784 8639 1025499866
1 f none wuftpd/help/log.html 0600 root bin 674 59865 1025499866
1 f none wuftpd/help/log.pl.html 0600 root bin 755 6640 1025499866
1 f none wuftpd/help/log.ru_RU.html 0600 root bin 710 58211 1025499867
1 f none wuftpd/help/log.ru_SU.html 0600 root bin 710 45403 1025499866
1 f none wuftpd/help/log.sv.html 0600 root bin 699 1506 1025499866
1 f none wuftpd/help/log.zh_TW.Big5.html 0600 root bin 562 9783 1025499866
1 f none wuftpd/help/message.ca.html 0600 root bin 1057 31945 1025499867
1 f none wuftpd/help/message.es.html 0600 root bin 1139 39945 1025499866
1 f none wuftpd/help/message.fr.html 0600 root bin 1140 42545 1025499866
1 f none wuftpd/help/message.html 0600 root bin 997 24543 1025499866
1 f none wuftpd/help/message.pl.html 0600 root bin 1046 40631 1025499866
1 f none wuftpd/help/message.ru_RU.html 0600 root bin 1057 9525 1025499867
1 f none wuftpd/help/message.ru_SU.html 0600 root bin 1057 50301 1025499866
1 f none wuftpd/help/message.sv.html 0600 root bin 933 25761 1025499866
1 f none wuftpd/help/message.zh_TW.Big5.html 0600 root bin 585 24191 1025499866
1 f none wuftpd/help/misc.ca.html 0600 root bin 730 649 1025499867
1 f none wuftpd/help/misc.es.html 0600 root bin 732 634 1025499866
1 f none wuftpd/help/misc.fr.html 0600 root bin 784 8025 1025499866
1 f none wuftpd/help/misc.html 0600 root bin 649 58257 1025499866
1 f none wuftpd/help/misc.pl.html 0600 root bin 663 64020 1025499867
1 f none wuftpd/help/misc.ru_RU.html 0600 root bin 659 57025 1025499867
1 f none wuftpd/help/misc.ru_SU.html 0600 root bin 659 42779 1025499866
1 f none wuftpd/help/misc.sv.html 0600 root bin 626 59938 1025499866
1 f none wuftpd/help/misc.zh_TW.Big5.html 0600 root bin 421 59017 1025499866
1 f none wuftpd/help/net.ca.html 0600 root bin 477 43512 1025499867
1 f none wuftpd/help/net.es.html 0600 root bin 482 43909 1025499866
1 f none wuftpd/help/net.fr.html 0600 root bin 458 43350 1025499866
1 f none wuftpd/help/net.html 0600 root bin 409 37080 1025499866
1 f none wuftpd/help/net.pl.html 0600 root bin 438 42821 1025499866
1 f none wuftpd/help/net.ru_RU.html 0600 root bin 431 16091 1025499867
1 f none wuftpd/help/net.ru_SU.html 0600 root bin 431 6444 1025499866
1 f none wuftpd/help/net.sv.html 0600 root bin 387 37504 1025499866
1 f none wuftpd/help/net.zh_TW.Big5.html 0600 root bin 249 35417 1025499866
1 f none wuftpd/help/perm.ca.html 0600 root bin 1076 34893 1025499867
1 f none wuftpd/help/perm.es.html 0600 root bin 1153 42329 1025499866
1 f none wuftpd/help/perm.fr.html 0600 root bin 1195 49315 1025499866
1 f none wuftpd/help/perm.html 0600 root bin 1008 26425 1025499866
1 f none wuftpd/help/perm.pl.html 0600 root bin 1077 42472 1025499866
1 f none wuftpd/help/perm.ru_RU.html 0600 root bin 1142 26522 1025499867
1 f none wuftpd/help/perm.ru_SU.html 0600 root bin 1142 65427 1025499866
1 f none wuftpd/help/perm.sv.html 0600 root bin 988 29850 1025499866
1 f none wuftpd/help/perm.zh_TW.Big5.html 0600 root bin 610 25449 1025499866
1 d none wuftpd/images 0700 root bin
1 f none wuftpd/images/acl.gif 0600 root bin 275 34570 1025499866
1 f none wuftpd/images/alias.gif 0600 root bin 208 23229 1025499866
1 f none wuftpd/images/aliases.gif 0600 root bin 208 23229 1025499866
1 f none wuftpd/images/anon.gif 0600 root bin 237 27060 1025499866
1 f none wuftpd/images/class.gif 0600 root bin 390 43396 1025499866
1 f none wuftpd/images/icon.gif 0600 root bin 407 48215 1025499866
1 f none wuftpd/images/log.gif 0600 root bin 470 52260 1025499866
1 f none wuftpd/images/message.gif 0600 root bin 377 47845 1025499866
1 f none wuftpd/images/misc.gif 0600 root bin 460 53918 1025499866
1 f none wuftpd/images/net.gif 0600 root bin 478 58145 1025499866
1 f none wuftpd/images/perm.gif 0600 root bin 332 37563 1025499866
1 f none wuftpd/index.cgi 0700 root bin 4429 18488 1025499867
1 d none wuftpd/lang 0700 root bin
1 f none wuftpd/lang/ca 0600 root bin 9511 52924 1025499866
1 f none wuftpd/lang/de 0600 root bin 9658 59597 1025499866
1 f none wuftpd/lang/en 0600 root bin 8466 7357 1025499866
1 f none wuftpd/lang/es 0600 root bin 9827 17176 1025499866
1 f none wuftpd/lang/fr 0600 root bin 9550 3090 1025499866
1 f none wuftpd/lang/hu 0600 root bin 9214 39835 1025499866
1 f none wuftpd/lang/ja_JP.euc 0600 root bin 8602 1825 1025499866
1 f none wuftpd/lang/ja_JP.jis 0600 root bin 8602 35185 1025499866
1 f none wuftpd/lang/ko_KR.euc 0600 root bin 8058 16143 1025499866
1 f none wuftpd/lang/pl 0600 root bin 9020 36517 1025499866
1 f none wuftpd/lang/ru_RU 0600 root bin 9018 5577 1025499866
1 f none wuftpd/lang/ru_SU 0600 root bin 9028 58457 1025499866
1 f none wuftpd/lang/sv 0600 root bin 9336 6732 1025499866
1 f none wuftpd/lang/tr 0600 root bin 9199 40344 1025499866
1 f none wuftpd/lang/zh_CN 0600 root bin 6113 64969 1025499866
1 f none wuftpd/lang/zh_TW.Big5 0600 root bin 6443 43738 1025499866
1 f none wuftpd/log_parser.pl 0600 root bin 387 33716 1025499867
1 f none wuftpd/module.info 0600 root bin 636 60983 1025499882
1 f none wuftpd/restart.cgi 0700 root bin 302 24994 1025499866
1 f none wuftpd/save_acl.cgi 0700 root bin 3971 48097 1025499866
1 f none wuftpd/save_alias.cgi 0700 root bin 876 4741 1025499867
1 f none wuftpd/save_anon.cgi 0700 root bin 1611 63592 1025499867
1 f none wuftpd/save_class.cgi 0700 root bin 1714 3320 1025499866
1 f none wuftpd/save_log.cgi 0700 root bin 897 5003 1025499867
1 f none wuftpd/save_message.cgi 0700 root bin 2566 3860 1025499866
1 f none wuftpd/save_misc.cgi 0700 root bin 1505 53047 1025499867
1 f none wuftpd/save_net.cgi 0700 root bin 1619 62960 1025499867
1 f none wuftpd/save_perm.cgi 0700 root bin 1390 44913 1025499866
1 f none wuftpd/start.cgi 0700 root bin 227 18711 1025499867
1 f none wuftpd/wuftpd-lib.pl 0600 root bin 2186 35097 1025499866
1 d none xinetd 0700 root bin
1 f none xinetd/config 0600 root bin 148 14014 1025499870
1 f none xinetd/config-debian-linux 0600 root bin 122 11674 1025499870
1 f none xinetd/config-freebsd 0600 root bin 121 11650 1025499870
1 f none xinetd/config-gentoo-linux 0600 root bin 123 11794 1025499870
1 f none xinetd/config-mandrake-linux 0600 root bin 128 12200 1025499870
1 f none xinetd/config-msc-linux 0600 root bin 123 11794 1025499870
1 f none xinetd/config-redhat-linux 0600 root bin 128 12200 1025499870
1 f none xinetd/config-suse-linux 0600 root bin 124 11906 1025499870
1 f none xinetd/config-suse-linux-7.1 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-7.2 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-7.3 0600 root bin 123 11794 1025499870
1 f none xinetd/config-suse-linux-8.0 0600 root bin 123 11794 1025499870
1 f none xinetd/config.info 0600 root bin 151 14086 1025499870
1 f none xinetd/config.info.ca 0600 root bin 176 16250 1025499870
1 f none xinetd/config.info.es 0600 root bin 183 17025 1025499870
1 f none xinetd/config.info.hu 0600 root bin 156 15451 1025499870
1 f none xinetd/config.info.pl 0600 root bin 175 16940 1025499870
1 f none xinetd/config.info.sv 0600 root bin 165 16546 1025499870
1 f none xinetd/config.info.zh_CN 0600 root bin 125 15737 1025499870
1 f none xinetd/config.info.zh_TW.Big5 0600 root bin 117 13882 1025499870
1 f none xinetd/edit_defaults.cgi 0700 root bin 3769 45363 1025499870
1 f none xinetd/edit_serv.cgi 0700 root bin 7177 1450 1025499870
1 f none xinetd/feedback_files.pl 0600 root bin 131 10762 1025499870
1 d none xinetd/images 0700 root bin
1 f none xinetd/images/icon.gif 0600 root bin 291 36589 1025499870
1 f none xinetd/index.cgi 0700 root bin 3156 51895 1025499870
1 d none xinetd/lang 0700 root bin
1 f none xinetd/lang/ca 0600 root bin 6467 21351 1025499870
1 f none xinetd/lang/en 0600 root bin 4154 3053 1025499870
1 f none xinetd/lang/es 0600 root bin 4818 7803 1025499870
1 f none xinetd/lang/fr 0600 root bin 4846 12159 1025499870
1 f none xinetd/lang/hu 0600 root bin 4808 51120 1025499870
1 f none xinetd/lang/it 0600 root bin 4697 52070 1025499870
1 f none xinetd/lang/ja_JP.euc 0600 root bin 4349 39930 1025499870
1 f none xinetd/lang/ko_KR.euc 0600 root bin 3836 2857 1025499870
1 f none xinetd/lang/pl 0600 root bin 4719 16785 1025499870
1 f none xinetd/lang/sv 0600 root bin 4583 63930 1025499870
1 f none xinetd/lang/zh_CN 0600 root bin 3303 2978 1025499870
1 f none xinetd/lang/zh_TW.Big5 0600 root bin 3359 43128 1025499870
1 f none xinetd/log_parser.pl 0600 root bin 656 55335 1025499870
1 f none xinetd/module.info 0600 root bin 482 50925 1025499882
1 f none xinetd/restart.cgi 0700 root bin 266 22348 1025499870
1 f none xinetd/save_defaults.cgi 0700 root bin 1529 56550 1025499870
1 f none xinetd/save_serv.cgi 0700 root bin 4427 25822 1025499870
1 f none xinetd/start.cgi 0700 root bin 296 25051 1025499870
1 f none xinetd/xinetd-lib.pl 0600 root bin 3747 27208 1025499870
 0707010006912d000041ed0000000000000001000000023d1ffb0200000000000000200000000000000000000000000000000800000003install   0707010006912e000081a40000000000000001000000013d1ff84200000196000000200000000000000000000000000000001400000003install/postinstall   echo "Executing postinstall script .."
cd /opt/webmin
config_dir=/etc/webmin
var_dir=/var/webmin
perl=/usr/local/bin/perl
autoos=1
port=10000
login=root
crypt=`grep "^root:" /etc/shadow | cut -f 2 -d :`
host=`hostname`
ssl=0
atboot=0
nochown=1
autothird=1
noperlpath=1
nouninstall=1
export config_dir var_dir perl autoos port login crypt host ssl atboot nochown autothird noperlpath nouninstall
./setup.sh
  0707010006912f000081a40000000000000001000000013d1ff8430000012d000000200000000000000000000000000000001200000003install/preremove echo "In preremove script.."
/etc/webmin/stop
grep root=/opt/webmin /etc/webmin/miniserv.conf >/dev/null 2>&1
if [ "$?" = 0 -a "$KEEP_ETC_WEBMIN" = "" ]; then
	# Package is being removed, and no new version of webmin
	# has taken it's place. Delete the config files
	rm -rf /etc/webmin /var/webmin
fi
   0707010003e103000041ed00000000000000010000004d3d1ffbb300000000000000200000000000000000000000000000000600000003reloc 0707010003e104000081a40000000000000002000000013d1fe2b700000638000000200000000000000000000000000000000e00000003reloc/LICENCE ---------------------------------------------------------
 Copyright (c) Jamie Cameron
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 3. Neither the name of the developer nor the names of contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE DEVELOPER OR CONTRIBUTORS BE LIABLE
 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 SUCH DAMAGE.
 ---------------------------------------------------------

0707010003e105000081a40000000000000002000000013d1fe2b800000676000000200000000000000000000000000000001100000003reloc/LICENCE.ja  Japanese translation is released under following license.
---------------------------------------------------------
 Copyright (c) Kazuya Sakakihara
 All rights reserved.

 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
 are met:
 1. Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
 3. Neither the name of the developer nor the names of contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

 THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND
 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ARE DISCLAIMED.  IN NO EVENT SHALL THE DEVELOPER OR CONTRIBUTORS BE LIABLE
 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 SUCH DAMAGE.
 ---------------------------------------------------------

  0707010003e106000081a40000000000000002000000013d1fe2b700000484000000200000000000000000000000000000000d00000003reloc/README  Webmin Version 0.990
--------------------
Webmin is a web-based interface for system administration for Unix. 
Using any browser that supports tables and forms, you can setup user
accounts, Apache, internet services, DNS, file sharing and so on. 

Webmin consists of a simple web server, and a number of CGI programs
which directly update system files like /etc/inetd.conf and /etc/passwd.
The web server and all CGI programs are written in Perl version 5, and use
only the standard perl modules. 

To setup webmin, simply run the  setup.sh  shell script, which should be
found in the same directory as this README file. This will setup Webmin
to run from that directory.

You can also upgrade an existing webmin install by running setup.sh
from the new version and entering the same configuration directory as
last time.

After running setup.sh, do not delete this directory as it contains
all the scripts and programs that will be used by Webmin when it is running.
Unlike many other programs, the Webmin scripts do not get copied to another
location when installing.

For more information, see http://www.webmin.com/

Jamie Cameron
jcameron@webmin.com

0707010003e107000041ed0000000000000001000000043d1ff9bf00000000000000200000000000000000000000000000000a00000003reloc/acl 0707010003e108000081a40000000000000002000000013d1fe2d100002d31000000200000000000000000000000000000001500000003reloc/acl/acl-lib.pl  # acl-lib.pl
# Library for editing webmin users, passwords and access rights

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# list_users()
# Returns a list of hashes containing user details
sub list_users
{
local(%miniserv, $_, @rv, %acl);
&read_acl(undef, \%acl);
&get_miniserv_config(\%miniserv);
open(PWFILE, $miniserv{'userfile'});
while(<PWFILE>) {
	s/\r|\n//g;
	local @user = split(/:/, $_);
	if (@user) {
		local(%user);
		$user{'name'} = $user[0];
		$user{'pass'} = $user[1];
		$user{'sync'} = $user[2];
		$user{'cert'} = $user[3];
		if ($user[4] =~ /^(allow|deny)\s+(.*)/) {
			$user{$1} = $2;
			}
		$user{'modules'} = $acl{$user[0]};
		$user{'lang'} = $gconfig{"lang_$user[0]"};
		$user{'notabs'} = $gconfig{"notabs_$user[0]"};
		$user{'skill'} = $gconfig{"skill_$user[0]"};
		$user{'risk'} = $gconfig{"risk_$user[0]"};
		$user{'theme'} = $gconfig{"theme_$user[0]"};
		$user{'ownmods'} = [ split(/\s+/,
					   $gconfig{"ownmods_$user[0]"}) ];
		push(@rv, \%user);
		}
	}
close(PWFILE);
return @rv;
}

# list_groups()
# Returns a list of hashes, one per group.
# Group membership is stored in /etc/webmin/webmin.groups, and other attributes
# in the config file.
sub list_groups
{
local @rv;
open(GROUPS, "$config_directory/webmin.groups");
while(<GROUPS>) {
	s/\r|\n//g;
	local @g = split(/:/, $_);
	local $group = { 'name' => $g[0],
			 'members' => [ split(/\s+/, $g[1]) ],
			 'modules' => [ split(/\s+/, $g[2]) ],
			 'desc' => $g[3],
			 'ownmods' => [ split(/\s+/, $g[4]) ] };
	push(@rv, $group);
	}
close(GROUPS);
return @rv;
}

# list_modules()
# Returns a list of the dirs of all modules available on this system
sub list_modules
{
return map { $_->{'dir'} } &list_module_infos();
}

# list_module_infos()
# Returns a list of the details of all  modules available on this system
sub list_module_infos
{
local @mods = grep { &check_os_support($_) } &get_all_module_infos();
return sort { $a->{'desc'} cmp $b->{'desc'} } @mods;
}

# create_user(&details, clone)
sub create_user
{
local(%user, %miniserv, @mods);
%user = %{$_[0]};

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
if ($user{'theme'}) {
	$miniserv{"preroot_".$user{'name'}} = $user{'theme'};
	}
elsif (defined($user{'theme'})) {
	$miniserv{"preroot_".$user{'name'}} = $miniserv{'root'};
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

&lock_file($miniserv{'userfile'});
open(PWFILE, ">> $miniserv{'userfile'}");
print PWFILE "$user{'name'}:$user{'pass'}:$user{'sync'}:$user{'cert'}:",
	$user{'allow'} ? "allow $user{'allow'}" :
	$user{'deny'} ? "deny $user{'deny'}" : "","\n";
close(PWFILE);
&unlock_file($miniserv{'userfile'});

&lock_file(&acl_filename());
@mods = &list_modules();
open(ACL, ">> ".&acl_filename());
print ACL &acl_line(\%user, \@mods);
close(ACL);
&unlock_file(&acl_filename());

delete($gconfig{"lang_".$user{'name'}});
$gconfig{"lang_".$user{'name'}} = $user{'lang'} if ($user{'lang'});
delete($gconfig{"notabs_".$user{'name'}});
$gconfig{"notabs_".$user{'name'}} = $user{'notabs'} if ($user{'notabs'});
delete($gconfig{"skill_".$user{'name'}});
$gconfig{"skill_".$user{'name'}} = $user{'skill'} if ($user{'skill'});
delete($gconfig{"risk_".$user{'name'}});
$gconfig{"risk_".$user{'name'}} = $user{'risk'} if ($user{'risk'});
delete($gconfig{"ownmods_".$user{'name'}});
$gconfig{"ownmods_".$user{'name'}} = join(" ", @{$user{'ownmods'}})
	if (@{$user{'ownmods'}});
delete($gconfig{"theme_".$user{'name'}});
$gconfig{"theme_".$user{'name'}} = $user{'theme'} if (defined($user{'theme'}));
&write_file("$config_directory/config", \%gconfig);

if ($_[1]) {
	foreach $m (@mods) {
		local $file = "$config_directory/$m/$_[1].acl";
		local $dest = "$config_directory/$m/$user{'name'}.acl";
		if (-r $file) {
			local %macl;
			&read_file($file, \%macl);
			&write_file($dest, \%macl);
			}
		}
	}
}

# modify_user(name, &details)
sub modify_user
{
local(%user, %miniserv, @pwfile, @acl, @mods, $_, $m);
%user = %{$_[1]};

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
delete($miniserv{"preroot_".$_[0]});
if ($user{'theme'}) {
	$miniserv{"preroot_".$user{'name'}} = $user{'theme'};
	}
elsif (defined($user{'theme'})) {
	$miniserv{"preroot_".$user{'name'}} = $miniserv{'root'};
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

&lock_file($miniserv{'userfile'});
open(PWFILE, $miniserv{'userfile'});
@pwfile = <PWFILE>;
close(PWFILE);
open(PWFILE, "> $miniserv{'userfile'}");
foreach (@pwfile) {
	if (/^([^:]+):([^:\s]+)/ && $1 eq $_[0]) {
		print PWFILE "$user{'name'}:$user{'pass'}:",
			     "$user{'sync'}:$user{'cert'}:",
			$user{'allow'} ? "allow $user{'allow'}" :
			$user{'deny'} ? "deny $user{'deny'}" : "","\n";
		}
	else { print PWFILE $_; }
	}
close(PWFILE);
&unlock_file($miniserv{'userfile'});

&lock_file(&acl_filename());
@mods = &list_modules();
open(ACL, &acl_filename());
@acl = <ACL>;
close(ACL);
open(ACL, "> ".&acl_filename());
foreach (@acl) {
	if (/^(\S+):/ && $1 eq $_[0]) {
		print ACL &acl_line($_[1], \@mods);
		}
	else { print ACL $_; }
	}
close(ACL);
&unlock_file(&acl_filename());

delete($gconfig{"lang_".$_[0]});
$gconfig{"lang_".$user{'name'}} = $user{'lang'} if ($user{'lang'});
delete($gconfig{"notabs_".$_[0]});
$gconfig{"notabs_".$user{'name'}} = $user{'notabs'} if ($user{'notabs'});
delete($gconfig{"skill_".$_[0]});
$gconfig{"skill_".$user{'name'}} = $user{'skill'} if ($user{'skill'});
delete($gconfig{"risk_".$_[0]});
$gconfig{"risk_".$user{'name'}} = $user{'risk'} if ($user{'risk'});
delete($gconfig{"ownmods_".$_[0]});
$gconfig{"ownmods_".$user{'name'}} = join(" ", @{$user{'ownmods'}})
	if (@{$user{'ownmods'}});
delete($gconfig{"theme_".$_[0]});
$gconfig{"theme_".$user{'name'}} = $user{'theme'} if (defined($user{'theme'}));
&write_file("$config_directory/config", \%gconfig);

foreach $m (@mods, "") {
	local $file = "$config_directory/$m/$_[0].acl";
	if (-r $file) {
		rename($file, "$config_directory/$m/$user{'name'}.acl");
		}
	}

if ($miniserv{'session'} && $_[0] ne $user{'name'}) {
	# Modify all sessions for the renamed user
	&open_session_db(\%miniserv);
	foreach $s (keys %sessiondb) {
		local ($u,$t) = split(/\s+/, $sessiondb{$s});
		if ($u eq $_[0]) {
			$sessiondb{$s} = "$user{'name'} $t";
			}
		}
	dbmclose(%sessiondb);
	}
}

# delete_user(name)
# Delete some user from the ACL and password files
sub delete_user
{
local($_, @pwfile, @acl, %miniserv);

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
delete($miniserv{"preroot_".$_[0]});
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

&lock_file($miniserv{'userfile'});
open(PWFILE, $miniserv{'userfile'});
@pwfile = <PWFILE>;
close(PWFILE);
open(PWFILE, "> $miniserv{'userfile'}");
foreach (@pwfile) {
	if (!/^([^:]+):([^:\s]+)/ || $1 ne $_[0]) { print PWFILE $_; }
	}
close(PWFILE);
&unlock_file($miniserv{'userfile'});

&lock_file(&acl_filename());
open(ACL, &acl_filename());
@acl = <ACL>;
close(ACL);
open(ACL, "> ".&acl_filename());
foreach (@acl) {
	if (!/^([^:]+):/ || $1 ne $_[0]) { print ACL $_; }
	}
close(ACL);
&unlock_file(&acl_filename());

delete($gconfig{"lang_".$_[0]});
delete($gconfig{"notabs_".$_[0]});
delete($gconfig{"skill_".$_[0]});
delete($gconfig{"risk_".$_[0]});
delete($gconfig{"ownmods_".$_[0]});
delete($gconfig{"theme_".$_[0]});
&write_file("$config_directory/config", \%gconfig);

unlink(map { "$config_directory/$_/$_[0].acl" } &list_modules());

if ($miniserv{'session'}) {
	# Delete all sessions for the deleted user
	&open_session_db(\%miniserv);
	foreach $s (keys %sessiondb) {
		local ($u,$t) = split(/\s+/, $sessiondb{$s});
		if ($u eq $_[0]) {
			delete($sessiondb{$s});
			}
		}
	dbmclose(%sessiondb);
	}
}

# create_group(&group)
# Add a new webmin group
sub create_group
{
&lock_file("$config_directory/webmin.groups");
open(GROUP, ">>$config_directory/webmin.groups");
print GROUP &group_line($_[0]),"\n";
close(GROUP);
&unlock_file("$config_directory/webmin.groups");
}

# modify_group(name, &group)
# Update a webmin group
sub modify_group
{
&lock_file("$config_directory/webmin.groups");
local $lref = &read_file_lines("$config_directory/webmin.groups");
foreach $l (@$lref) {
	if ($l =~ /^([^:]+):/ && $1 eq $_[0]) {
		$l = &group_line($_[1]);
		}
	}
&flush_file_lines();
&unlock_file("$config_directory/webmin.groups");

foreach $m (@{$_[1]->{'modules'}}, "") {
	local $file = "$config_directory/$m/$_[0].acl";
	if (-r $file) {
		rename($file, "$config_directory/$m/$_[1]->{'name'}.acl");
		}
	}
}

# delete_group(name)
# Delete a webmin group
sub delete_group
{
&lock_file("$config_directory/webmin.groups");
local $lref = &read_file_lines("$config_directory/webmin.groups");
@$lref = grep { !/^([^:]+):/ || $1 ne $_[0] } @$lref;
&flush_file_lines();
&unlock_file("$config_directory/webmin.groups");
unlink(map { "$config_directory/$_/$_[0].acl" } &list_modules());
}

# group_line(&group)
sub group_line
{
return join(":", $_[0]->{'name'},
		 join(" ", @{$_[0]->{'members'}}),
		 join(" ", @{$_[0]->{'modules'}}),
		 $_[0]->{'desc'},
		 join(" ", @{$_[0]->{'ownmods'}}) );
}

# acl_line(&user, &allmodules)
# Internal function to generate an ACL file line
sub acl_line
{
local(%user);
%user = %{$_[0]};
return "$user{'name'}: ".join(' ', @{$user{'modules'}})."\n";
}

# can_edit_user(user, [&groups])
sub can_edit_user
{
return 1 if ($access{'users'} eq '*');
local $u;
local $glist = $_[1] ? $_[1] : [ &list_groups() ];
foreach $u (split(/\s+/, $access{'users'})) {
	if ($u =~ /^_(\S+)$/) {
		foreach $g (@$glist) {
			return 1 if ($g->{'name'} eq $1 &&
				     &indexof($_[0], @{$g->{'members'}}) >= 0);
			}
		}
	else {
		return 1 if ($u eq $_[0]);
		}
	}
return 0;
}

# open_session_db(\%miniserv)
sub open_session_db
{
local $sfile = $_[0]->{'sessiondb'} ? $_[0]->{'sessiondb'} :
	       $_[0]->{'pidfile'} =~ /^(.*)\/[^\/]+$/ ? "$1/sessiondb"
						      : return;
eval "use SDBM_File";
dbmopen(%sessiondb, $sfile, 0700);
eval { $sessiondb{'1111111111'} = 'foo bar' };
if ($@) {
	dbmclose(%sessiondb);
	eval "use NDBM_File";
	dbmopen(%sessiondb, $sfile, 0700);
	}
}

# update_members(&allusers, &allgroups, &modules, &members)
# Update the members users and groups of some group
sub update_members
{
foreach $m (@{$_[3]}) {
	local ($u) = grep { $_->{'name'} eq $m } @{$_[0]};
	if ($u) {
		$u->{'modules'} = [ @{$_[2]}, @{$u->{'ownmods'}} ];
		&modify_user($u->{'name'}, $u);
		}
	local ($g) = grep { $_->{'name'} eq $m } @{$_[1]};
	if ($g) {
		$g->{'modules'} = [ @{$_[2]}, @{$g->{'ownmods'}} ];
		&modify_group($g->{'name'}, $g);
		&update_members($_[0], $_[1], $_[2], $g->{'members'});
		}
	}
}

# copy_acl_files(from, to, &modules)
# Copy all .acl files from some user or group to another in a list of modules
sub copy_acl_files
{
local $m;
foreach $m (@{$_[2]}) {
	unlink("$config_directory/$m/$_[1].acl");
	local %acl;
	if (&read_file("$config_directory/$m/$_[0].acl", \%acl)) {
		&write_file("$config_directory/$m/$_[1].acl", \%acl);
		}
	}
}

# set_acl_files(&allusers, &allgroups, module, &members, &access)
sub set_acl_files
{
foreach $m (@{$_[3]}) {
	local ($u) = grep { $_->{'name'} eq $m } @{$_[0]};
	local ($g) = grep { $_->{'name'} eq $m } @{$_[1]};
	if ($u || $g) {
		local $n = $u ? $u->{'name'} : $g->{'name'};
		&lock_file("$config_directory/$_[2]/$n.acl");
		&write_file("$config_directory/$_[2]/$n.acl", $_[4]);
		chmod(0640, "$config_directory/$_[2]/$n.acl");
		&unlock_file("$config_directory/$_[2]/$n.acl");
		}
	if ($g) {
		&set_acl_files($_[0], $_[1], $_[2], $g->{'members'}, $_[4]);
		}
	}
}

1;

   0707010003e109000081a40000000000000002000000013d1fe2d100001a1f000000200000000000000000000000000000001a00000003reloc/acl/acl_security.pl 
do 'acl-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the acl module
sub acl_security_form
{
local $o = $_[0];
print "<tr> <td valign=top><b>$text{'acl_users'}</b></td>\n";
print "<td valign=top>\n";
printf "<input type=radio name=users_def value=1 %s> %s\n",
	$o->{'users'} eq '*' ? 'checked' : '', $text{'acl_uall'};
printf "<input type=radio name=users_def value=0 %s> %s<br>\n",
	$o->{'users'} eq '*' ? '' : 'checked', $text{'acl_usel'};
print "<select name=users multiple size=6 width=150>\n";
map { $ucan{$_}++ } split(/\s+/, $o->{'users'});
foreach $u (&list_users()) {
	printf "<option %s>%s\n",
		$ucan{$u->{'name'}} ? 'selected' : '',
		$u->{'name'};
	}
foreach $g (&list_groups()) {
	printf "<option %s value=%s>%s\n",
		$ucan{'_'.$g->{'name'}} ? 'selected' : '',
		'_'.$g->{'name'}, &text('acl_gr', $g->{'name'});
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'acl_mods'}</b></td> ",
      "<td valign=top>\n";
printf "<input type=radio name=mode value=0 %s> %s&nbsp;\n",
	$o->{'mode'} == 0 ? 'checked' : '', $text{'acl_all'};
printf "<input type=radio name=mode value=1 %s> %s<br>\n",
	$o->{'mode'} == 1 ? 'checked' : '', $text{'acl_own'};
printf "<input type=radio name=mode value=2 %s> %s<br>\n",
	$o->{'mode'} == 2 ? 'checked' : '', $text{'acl_sel'};
print "&nbsp;&nbsp;&nbsp;<select name=mods multiple size=6>\n";
map { $mcan{$_}++ } split(/\s+/, $o->{'mods'});
foreach $m (&list_module_infos()) {
	printf "<option value=%s %s>%s\n",
		$m->{'dir'}, $mcan{$m->{'dir'}} ? 'selected' :'',
		$m->{'desc'};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'acl_create'}</b></td> <td>\n";
printf "<input type=radio name=create value=1 %s> $text{'yes'}\n",
	$o->{'create'} ? 'checked' : '';
printf "<input type=radio name=create value=0 %s> $text{'no'}</td>\n",
	$o->{'create'} ? '' : 'checked';

print "<td><b>$text{'acl_delete'}</b></td> <td>\n";
printf "<input type=radio name=delete value=1 %s> $text{'yes'}\n",
	$o->{'delete'} ? 'checked' : '';
printf "<input type=radio name=delete value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'delete'} ? '' : 'checked';

print "<tr> <td><b>$text{'acl_rename'}</b></td> <td>\n";
printf "<input type=radio name=rename value=1 %s> $text{'yes'}\n",
	$o->{'rename'} ? 'checked' : '';
printf "<input type=radio name=rename value=0 %s> $text{'no'}</td>\n",
	$o->{'rename'} ? '' : 'checked';

print "<td><b>$text{'acl_acl'}</b></td> <td>\n";
printf "<input type=radio name=acl value=1 %s> $text{'yes'}\n",
	$o->{'acl'} ? 'checked' : '';
printf "<input type=radio name=acl value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'acl'} ? '' : 'checked';

print "<tr> <td><b>$text{'acl_cert'}</b></td> <td>\n";
printf "<input type=radio name=cert value=1 %s> $text{'yes'}\n",
	$o->{'cert'} ? 'checked' : '';
printf "<input type=radio name=cert value=0 %s> $text{'no'}</td>\n",
	$o->{'cert'} ? '' : 'checked';

print "<td><b>$text{'acl_others'}</b></td> <td>\n";
printf "<input type=radio name=others value=1 %s> $text{'yes'}\n",
	$o->{'others'} ? 'checked' : '';
printf "<input type=radio name=others value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'others'} ? '' : 'checked';

print "<tr> <td><b>$text{'acl_chcert'}</b></td> <td>\n";
printf "<input type=radio name=chcert value=1 %s> $text{'yes'}\n",
	$o->{'chcert'} ? 'checked' : '';
printf "<input type=radio name=chcert value=0 %s> $text{'no'}</td>\n",
	$o->{'chcert'} ? '' : 'checked';

print "<td><b>$text{'acl_lang'}</b></td> <td>\n";
printf "<input type=radio name=lang value=1 %s> $text{'yes'}\n",
	$o->{'lang'} ? 'checked' : '';
printf "<input type=radio name=lang value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'lang'} ? '' : 'checked';

print "<tr> <td><b>$text{'acl_perms'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=perms value=1 %s> $text{'acl_perms_1'}\n",
	$o->{'perms'} ? 'checked' : '';
printf "<input type=radio name=perms value=0 %s> $text{'acl_perms_0'}</td>\n",
	$o->{'perms'} ? '' : 'checked';
print "</tr>\n";

print "<tr> <td><b>$text{'acl_sync'}</b></td> <td>\n";
printf "<input type=radio name=sync value=1 %s> $text{'yes'}\n",
	$o->{'sync'} ? 'checked' : '';
printf "<input type=radio name=sync value=0 %s> $text{'no'}</td>\n",
	$o->{'sync'} ? '' : 'checked';

print "<td><b>$text{'acl_unix'}</b></td> <td>\n";
printf "<input type=radio name=unix value=1 %s> $text{'yes'}\n",
	$o->{'unix'} ? 'checked' : '';
printf "<input type=radio name=unix value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'unix'} ? '' : 'checked';

print "<tr> <td><b>$text{'acl_sessions'}</b></td> <td>\n";
printf "<input type=radio name=sessions value=1 %s> $text{'yes'}\n",
	$o->{'sessions'} ? 'checked' : '';
printf "<input type=radio name=sessions value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'sessions'} ? '' : 'checked';

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_groups'}</b></td> <td valign=top>\n";
printf "<input type=radio name=groups value=1 %s> $text{'yes'}\n",
	$o->{'groups'} == 1 ? 'checked' : '';
printf "<input type=radio name=groups value=0 %s> $text{'no'}</td>\n",
	$o->{'groups'} == 0 ? 'checked' : '';

print "<td valign=top><b>$text{'acl_gassign'}</b></td> <td>\n";
printf "<input type=radio name=gassign_def value=1 %s> %s\n",
	$o->{'gassign'} eq '*' ? 'checked' : '', $text{'acl_gall'};
printf "<input type=radio name=gassign_def value=0 %s> %s<br>\n",
	$o->{'gassign'} eq '*' ? '' : 'checked', $text{'acl_gsel'};
print "<select name=gassign multiple size=3 width=150>\n";
map { $gcan{$_}++ } split(/\s+/, $o->{'gassign'});
printf "<option value=_none %s>&lt;%s&gt;\n",
	$gcan{'_none'} ? 'selected' : '', $text{'acl_gnone'};
foreach $g (&list_groups()) {
	printf "<option %s>%s\n",
		$gcan{$g->{'name'}} ? 'selected' : '', $g->{'name'};
	}
print "</select></td> </tr>\n";
}

# acl_security_save(&options)
# Parse the form for security options for the acl module
sub acl_security_save
{
if ($in{'users_def'}) {
	$_[0]->{'users'} = '*';
	}
else {
	$_[0]->{'users'} = join(" ", split(/\0/, $in{'users'}));
	}
$_[0]->{'mode'} = $in{'mode'};
$_[0]->{'mods'} = $in{'mode'} == 2 ? join(" ", split(/\0/, $in{'mods'}))
				   : undef;
$_[0]->{'create'} = $in{'create'};
$_[0]->{'groups'} = $in{'groups'};
$_[0]->{'delete'} = $in{'delete'};
$_[0]->{'rename'} = $in{'rename'};
$_[0]->{'acl'} = $in{'acl'};
$_[0]->{'others'} = $in{'others'};
$_[0]->{'cert'} = $in{'cert'};
$_[0]->{'chcert'} = $in{'chcert'};
$_[0]->{'lang'} = $in{'lang'};
$_[0]->{'perms'} = $in{'perms'};
$_[0]->{'gassign'} = $in{'gassign_def'} ? '*' :
		     join(" ", split(/\0/, $in{'gassign'}));
$_[0]->{'sync'} = $in{'sync'};
$_[0]->{'unix'} = $in{'unix'};
$_[0]->{'sessions'} = $in{'sessions'};
}

 0707010003e10a000081e40000000000000002000000013d1fe2d000000564000000200000000000000000000000000000001800000003reloc/acl/cert_form.cgi   #!/usr/local/bin/perl
# cert_form.cgi

require './acl-lib.pl';
&header($text{'cert_title'}, "");
print "<hr>\n";
eval "use Net::SSLeay";

print "<p>$text{'cert_msg'}<p>\n";
if ($ENV{'SSL_USER'}) {
	print &text('cert_already', "<tt>$ENV{'SSL_USER'}</tt>"),
	      "<p>\n";
	}
print "<form action=cert_issue.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'cert_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'cert_cn'}</b></td>\n";
print "<td><input name=commonName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'cert_email'}</b></td>\n";
print "<td><input name=emailAddress size=30></td> </tr>\n";

print "<tr> <td><b>$text{'cert_ou'}</b></td>\n";
print "<td><input name=organizationalUnitName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'cert_o'}</b></td>\n";
print "<td><input name=organizationName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'cert_sp'}</b></td>\n";
print "<td><input name=stateOrProvinceName size=15></td> </tr>\n";

print "<tr> <td><b>$text{'cert_c'}</b></td>\n";
print "<td><input name=countryName size=2></td> </tr>\n";

print "<tr> <td><b>$text{'cert_key'}</b></td>\n";
print "<td><keygen name=key></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'cert_issue'}'>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003e10b000081e40000000000000002000000013d1fe2d100000625000000200000000000000000000000000000001900000003reloc/acl/cert_issue.cgi  #!/usr/local/bin/perl
# cert_issue.cgi

require './acl-lib.pl';
&ReadParse();

&error_setup($text{'cert_err'});
$in{'key'} || &error($text{'cert_ekey'});
&get_miniserv_config(\%miniserv);

# Create the new key
$temp1 = &tempname();
$temp2 = &tempname();
open(IN, ">$temp1");
foreach $k ("emailAddress", "organizationalUnitName", "organizationName",
	    "stateOrProvinceName", "countryName", "commonName") {
	print IN "$k = $in{$k}\n";
	}
$in{'key'} =~ s/\s//g;
print IN "SPKAC = $in{'key'}\n";
close(IN);
$ssleay = &backquote_logged("$config{'ssleay'} ca -spkac $temp1 -out $temp2 -config $module_config_directory/openssl.cnf 2>&1");
unlink($temp1);
if ($?) {
	&error("<pre>$ssleay</pre>");
	}
else {
	# Display status and redirect to actual cert file
	$| = 1;
	&header($text{'cert_title'}, "");
	print "<hr>\n";
	print "<p>",&text('cert_ok', $in{'commonName'}),"<p>\n";
	print "<script>\n";
	print "location = 'cert_output.cgi?file=$temp2'\n";
	print "</script>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});

	# Update the miniserv users file
	&lock_file($miniserv{'userfile'});
	$lref = &read_file_lines($miniserv{'userfile'});
	foreach $l (@$lref) {
		@u = split(/:/, $l);
		if ($u[0] eq $base_remote_user) {
			$l = "$u[0]:$u[1]:$u[2]:/C=$in{'countryName'}/ST=$in{'stateOrProvinceName'}/O=$in{'organizationName'}/OU=$in{'organizationalUnitName'}/CN=$in{'commonName'}/Email=$in{'emailAddress'}";
			}
		}
	&flush_file_lines();
	&unlock_file($miniserv{'userfile'});

	sleep(1);
	&restart_miniserv();
	&webmin_log("cert", undef, $base_remote_user, \%in);
	}

   0707010003e10c000081e40000000000000002000000013d1fe2d1000000da000000200000000000000000000000000000001a00000003reloc/acl/cert_output.cgi #!/usr/local/bin/perl
# cert_issue.cgi

require './acl-lib.pl';
&ReadParse();
print "Content-type: application/x-x509-user-cert\n\n";
open(OUT, $in{'file'});
while(<OUT>) {
	print;
	}
close(OUT);
unlink($in{'file'});

  0707010003e10d000081a40000000000000002000000013d1fe2d100000033000000200000000000000000000000000000001100000003reloc/acl/config  ssleay=/usr/local/ssl/bin/openssl
select=0
order=0
 0707010003e10e000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001e00000003reloc/acl/config-debian-linux ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e10f000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001900000003reloc/acl/config-freebsd  ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e110000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001f00000003reloc/acl/config-generic-linux    ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e111000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001e00000003reloc/acl/config-gentoo-linux ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e112000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001b00000003reloc/acl/config-macos-1.3    ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e113000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001b00000003reloc/acl/config-macos-1.4    ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e114000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002000000003reloc/acl/config-mandrake-linux   ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e115000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001b00000003reloc/acl/config-msc-linux    ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e116000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002100000003reloc/acl/config-open-linux-3.1e  ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e117000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000001e00000003reloc/acl/config-redhat-linux ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e118000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002200000003reloc/acl/config-redhat-linux-7.1 ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e119000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002200000003reloc/acl/config-redhat-linux-7.2 ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e11a000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002200000003reloc/acl/config-redhat-linux-7.3 ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e225000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002000000003reloc/acl/config-suse-linux-7.1   ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e226000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002000000003reloc/acl/config-suse-linux-7.2   ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e227000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002000000003reloc/acl/config-suse-linux-7.3   ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e228000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002000000003reloc/acl/config-suse-linux-8.0   ssleay=/usr/bin/openssl
select=0
order=0
   0707010003e229000081a40000000000000002000000013d1fe2d10000009c000000200000000000000000000000000000001600000003reloc/acl/config.info ssleay=Path to openssl or ssleay program,0
select=Display user modules in,1,0-Table,1-Pulldown menu
order=Sort users and groups by,1,0-Order in file,1-Name
0707010003e22a000081a40000000000000002000000013d1fe2d1000000b6000000200000000000000000000000000000001900000003reloc/acl/config.info.ca  ssleay=Camí del programa openssl o ssleay,0
select=Mostra els mòduls d'usuaris amb,1,0-Taula,1-Menú desplegable
order=Ordena els usuaris i grups per,1,0-L'ordre del fitxer,1-El nom

  0707010003e22b000081a40000000000000002000000013d1fe2d10000002e000000200000000000000000000000000000001900000003reloc/acl/config.info.cz  ssleay=Cesta k programu openssl nebo ssleay,0
  0707010003e22c000081a40000000000000002000000013d1fe2d1000000a9000000200000000000000000000000000000001900000003reloc/acl/config.info.de  ssleay=Pfad zu OpenSSL oder SSLeay,0
select=Zeige Benutzer-Module als,1,0-Tabelle,1-Auswahlliste
order=Sortiere Benutzer und Gruppen nach,1,0-Reihenfolge in Datei,1-Name   0707010003e22d000081a40000000000000002000000013d1fe2d100000075000000200000000000000000000000000000001900000003reloc/acl/config.info.es  ssleay=Trayectoria al programa openssl o ssleay,0
select=Mostrar módulos de usuario en,1,0-Tabla,1-Menú de persianas
   0707010003e22e000081a40000000000000002000000013d1fe2d10000008e000000200000000000000000000000000000001900000003reloc/acl/config.info.hu  ssleay=Az <code>openssl</code> vagy <code>ssleay</code> program teljes elérési útja,0
select=A modulok megjelenítsi módja,1,0-Táblázat,1-Menü
  0707010003e22f000081a40000000000000002000000013d1fe2d100000075000000200000000000000000000000000000002000000003reloc/acl/config.info.ja_JP.euc   ssleay=openssl¥×¥í¥°¥é¥à¤Þ¤¿¤Ïssleay¥×¥í¥°¥é¥à¤Î¥Ñ¥¹,0
select=¥æ¡¼¥¶¥â¥¸¥å¡¼¥ë¤ÎÉ½¼¨ÊýË¡,1,0-É½,1-¥×¥ë¥À¥¦¥ó¥á¥Ë¥å¡¼
   0707010003e230000081a40000000000000002000000013d1fe2d10000006e000000200000000000000000000000000000001900000003reloc/acl/config.info.nl  ssleay=Pad naar openssl of ssleay programma,0
select=Geef gebruiker modules weer in,1,0-Tabel,1-Pulldown menu
  0707010003e231000081a40000000000000002000000013d1fe2d1000000c6000000200000000000000000000000000000001900000003reloc/acl/config.info.pl  ssleay=Scie¿ka do programu openssl lub ssleay,0
select=Wy¶wietl modu³y u¿ytkownika w,1,0-Tabeli,1-Rozwijalnym menu
order=Porz±dkuj u¿ytkowników i&nbap;grupy wg,1,0-Kolejno¶ci w&nbsp;zbiorze,1-Nazwy
  0707010003e232000081a40000000000000002000000013d1fe2d100000075000000200000000000000000000000000000001c00000003reloc/acl/config.info.ru_RU   select=Îòîáðàæàòü ìîäóëè ïîëüçîâàòåëÿ êàê,1,0-Òàáëèöó,1-Âûïàäàþùåå ìåíþ
ssleay=Ïóòü ê ïðîãðàììå openssl èëè ssleay,0
   0707010003e233000081a40000000000000002000000013d1fe2d100000075000000200000000000000000000000000000001c00000003reloc/acl/config.info.ru_SU   ssleay=ðÕÔØ Ë ÐÒÏÇÒÁÍÍÅ openssl ÉÌÉ ssleay,0
select=ïÔÏÂÒÁÖÁÔØ ÍÏÄÕÌÉ ÐÏÌØÚÏ×ÁÔÅÌÑ ËÁË,1,0-ôÁÂÌÉÃÕ,1-÷ÙÐÁÄÁÀÝÅÅ ÍÅÎÀ
   0707010003e234000081a40000000000000002000000013d1fe2d100000066000000200000000000000000000000000000001900000003reloc/acl/config.info.sv  ssleay=Sökväg till openssl- eller ssleay-program,0
select=Visa moduler i,1,0-Tabell,1-Rullgardinsmeny
  0707010003e235000081a40000000000000002000000013d1fe2d10000006c000000200000000000000000000000000000001900000003reloc/acl/config.info.tr  ssleay=Openssl ya da ssleay programý yolu,0
select=Kullanýcý modüllerini burada görüntüle,1,0-Tablo,1-Menü

0707010003e236000081a40000000000000002000000013d1fe2d100000058000000200000000000000000000000000000001c00000003reloc/acl/config.info.zh_CN   ssleay=Openssl »òÕß Ssleay ³ÌÐòµÄÂ·¾¶,0
select=ÏÔÊ¾ÓÃ»§Ä£¿éÒÔ,1,0-Table,1-Pulldown ²Ëµ¥
0707010003e237000081a40000000000000002000000013d1fe2d100000029000000200000000000000000000000000000002100000003reloc/acl/config.info.zh_TW.Big5  ssleay=¨ì openssl ©Î ssleay µ{¦¡ªº¸ô®|,0
   0707010003e238000081e40000000000000002000000013d1fe2d100000a61000000200000000000000000000000000000001600000003reloc/acl/convert.cgi #!/usr/local/bin/perl
# convert.cgi
# Convert unix to webmin users

require './acl-lib.pl';
&ReadParse();
&error_setup($text{'convert_err'});
$access{'sync'} && $access{'create'} || &error($text{'convert_ecannot'});
&foreign_require("useradmin", "user-lib.pl");

# Validate inputs
if ($access{'gassign'} ne '*') {
	@gcan = split(/\s+/, $access{'gassign'});
	&indexof($in{'wgroup'}, @gcan) >= 0 ||
		&error($text{'convert_ewgroup2'});
	}
if ($in{'conv'} == 1) {
	$in{'users'} =~ /\S/ || &error($text{'convert_eusers'});
	map { $users{$_}++ } split(/\s+/, $in{'users'});
	}
elsif ($in{'conv'} == 2) {
	map { $nusers{$_}++ } split(/\s+/, $in{'nusers'});
	}
elsif ($in{'conv'} == 3) {
	$gid = getgrnam($in{'group'});
	defined($gid) || &error($text{'convert_egroup'});
	}
elsif ($in{'conv'} == 4) {
	$in{'min'} =~ /^\d+$/ || &error($text{'convert_emin'});
	$in{'max'} =~ /^\d+$/ || &error($text{'convert_emax'});
	}

# Get the group to add to
foreach $g (&list_groups()) {
	$group = $g if ($g->{'name'} eq $in{'wgroup'});
	}
$group || &error($text{'convert_ewgroup'});

# Convert matching users
&header($text{'convert_title'}, "");
print "<hr>\n";
print "<h3>$text{'convert_msg'}</h3>\n";
print "<table border width=100%><tr><td bgcolor=#c0c0c0><pre>\n";
map { $exists{$_->{'name'}}++ } &list_users();
foreach $u (&foreign_call("useradmin", "list_users")) {
	local $ok;
	if ($in{'conv'} == 0) {
		$ok = 1;
		}
	elsif ($in{'conv'} == 1) {
		$ok = $users{$u->{'user'}};
		}
	elsif ($in{'conv'} == 2) {
		$ok = !$nusers{$u->{'user'}};
		}
	elsif ($in{'conv'} == 3) {
		$ok = $u->{'gid'} == $gid;
		}
	elsif ($in{'conv'} == 4) {
		$ok = $u->{'uid'} >= $in{'min'} &&
		      $u->{'uid'} <= $in{'max'};
		}
	if (!$ok) {
		print &text('convert_skip', $u->{'user'}),"\n";
		}
	elsif ($exists{$u->{'user'}}) {
		print "<i>",&text('convert_exists', $u->{'user'}),"</i>\n";
		}
	else {
		# Actually add the user
		print "<b>",&text('convert_added', $u->{'user'}),"</b>\n";
		local $user = { 'name' => $u->{'user'},
				'pass' => $u->{'pass'},
				'sync' => $in{'sync'},
				'modules' => $group->{'modules'} };
		&create_user($user);
		foreach $m (@{$group->{'modules'}}, "") {
			local %groupacl;
			if (&read_file("$config_directory/$m/$in{'wgroup'}.acl",
				       \%groupacl)) {
				&write_file(
					"$config_directory/$m/$u->{'user'}.acl",
					\%groupacl);
				}
			}

		push(@{$group->{'members'}}, $u->{'user'});
		$exists{$u->{'user'}}++;
		}
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');

# Finish off
&modify_group($group->{'name'}, $group);
&restart_miniserv();

print "</pre></td></tr></table><br>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003e239000081e40000000000000002000000013d1fe2d100000615000000200000000000000000000000000000001b00000003reloc/acl/convert_form.cgi    #!/usr/local/bin/perl
# convert_form.cgi
# Display a form for converting unix users to webmin users

require './acl-lib.pl';
$access{'sync'} && $access{'create'} || &error($text{'convert_ecannot'});
&header($text{'convert_title'}, "");
print "<hr>\n";

@glist = &list_groups();
if ($access{'gassign'} ne '*') {
	@gcan = split(/\s+/, $access{'gassign'});
	@glist = grep { &indexof($_->{'name'}, @gcan) >= 0 } @glist;
	}
if (!@glist) {
	print "$text{'convert_nogroups'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<form action=convert.cgi>\n";
print "$text{'convert_desc'}<p>\n";
print "<input type=radio name=conv value=0 checked> $text{'convert_0'}<br>\n";
print "<input type=radio name=conv value=1> $text{'convert_1'} ",
      "<input name=users size=40> ",&user_chooser_button("users",1),"<br>\n";
print "<input type=radio name=conv value=2> $text{'convert_2'} ",
      "<input name=nusers size=40> ",&user_chooser_button("nusers",1),"<br>\n";
print "<input type=radio name=conv value=3> $text{'convert_3'} ",
      &unix_group_input("group"),"<br>\n";
print "<input type=radio name=conv value=4> $text{'convert_4'} ",
      "<input name=min size=6> - <input name=max size=6><p>\n";

print "$text{'convert_group'} <select name=wgroup>\n";
foreach $g (@glist) {
	print "<option>$g->{'name'}\n";
	}
print "</select><br>\n";
print "<input type=checkbox name=sync value=1> $text{'convert_sync'}<br>\n";
print "<input type=submit value='$text{'convert_ok'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003e23a000081a40000000000000002000000013d1fe2d10000008c000000200000000000000000000000000000001500000003reloc/acl/defaultacl  users=*
mode=0
create=1
delete=1
rename=1
others=1
cert=1
acl=1
chcert=1
lang=1
groups=1
gassign=*
perms=0
sync=1
unix=1
theme=1
sessions=1
0707010003e23b000081e40000000000000002000000013d1fe2d1000004e3000000200000000000000000000000000000001b00000003reloc/acl/delete_group.cgi    #!/usr/local/bin/perl
# delete_group.cgi
# Delete a group (and maybe it's members)

require './acl-lib.pl';
&ReadParse();
&error_setup($text{'gdelete_err'});
$access{'groups'} || &error($text{'gdelete_ecannot'});
@glist = &list_groups();
($group) = grep { $_->{'name'} eq $in{'group'} } @glist;
@mems = @{$group->{'members'}};
foreach $m (@mems) {
	($mg) = grep { $_->{'name'} eq $m } @glist;
	&error($text{'gdelete_esub'}) if ($mg);
	}

if (&indexof($base_remote_user, @mems) >= 0) {
	&error($text{'gdelete_euser'});
	}
elsif (@mems && !$in{'confirm'}) {
	# Ask if the user really wants to delete the group and members
	&header($text{'gdelete_title'}, "");
	print "<hr>\n";
	print "<center><form action=delete_group.cgi>\n";
	print "<input type=hidden name=group value='$in{'group'}'>\n";
	print &text('gdelete_desc', "<tt>$in{'group'}</tt>",
		    "<tt>".join(" ", @mems)."</tt>"),"<p>\n";
	print "<input type=submit name=confirm value='$text{'gdelete_ok'}'>\n";
	print "</form></center><hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# Delete the group (and members if any)
	&delete_group($in{'group'});
	foreach $u (@mems) {
		&delete_user($u);
		}
	&restart_miniserv();
	&webmin_log("delete", "group", $in{'group'});
	&redirect("");
	}

 0707010003e23c000081e40000000000000002000000013d1fe2d100000152000000200000000000000000000000000000001d00000003reloc/acl/delete_session.cgi  #!/usr/local/bin/perl
# delete_session.cgi
# Delete a single session

require './acl-lib.pl';
&ReadParse();
$access{'sessions'} || &error($text{'sessions_ecannot'});

&get_miniserv_config(\%miniserv);
&open_session_db(\%miniserv);
delete($sessiondb{$in{'id'}});
dbmclose(%sessiondb);
&restart_miniserv();
&redirect("list_sessions.cgi");

  0707010003e23d000081e40000000000000002000000013d1fe2d10000028d000000200000000000000000000000000000001a00000003reloc/acl/delete_user.cgi #!/usr/local/bin/perl
# delete_user.cgi
# Delete a webmin user

require './acl-lib.pl';
&ReadParse();
&error_setup($text{'delete_err'});
$access{'delete'} || &error($text{'delete_ecannot'});
&can_edit_user($in{'user'}) || &error($text{'delete_euser'});
if ($base_remote_user eq $in{'user'}) {
	&error($text{'delete_eself'});
	}
&delete_user($in{'user'});
foreach $g (&list_groups()) {
	local @mems = @{$g->{'members'}};
	local $i = &indexof($in{'user'}, @mems);
	if ($i >= 0) {
		splice(@mems, $i, 1);
		$g->{'members'} = \@mems;
		&modify_group($g->{'name'}, $g);
		}
	}
&restart_miniserv();
&webmin_log("delete", "user", $in{'user'});
&redirect("");

   0707010003e23e000081e40000000000000002000000013d1fe2d1000008f5000000200000000000000000000000000000001700000003reloc/acl/edit_acl.cgi    #!/usr/local/bin/perl
# edit_acl.cgi
# Display a form for editing the access control options for some module

require './acl-lib.pl';
&ReadParse();
$access{'acl'} || &error($text{'acl_emod'});
if ($in{'group'}) {
	$access{'groups'} || &error($text{'acl_egroup'});
	$who = $in{'group'};
	}
else {
	foreach $u (&list_users()) {
		$me = $u if ($u->{'name'} eq $base_remote_user);
		}
	@mcan = $access{'mode'} == 1 ? @{$me->{'modules'}} :
		$access{'mode'} == 2 ? split(/\s+/, $access{'mods'}) :
				       ( &list_modules() , "" );
	&indexof($in{'mod'}, @mcan) >= 0 || &error($text{'acl_emod'});
	&can_edit_user($in{'user'}) || &error($text{'acl_euser'});
	$who = $in{'user'};
	}

&header($text{'acl_title'}, "", -r &help_file($in{'mod'}, "acl_info") ?
	[ "acl_info", $in{'mod'} ] : undef);
%minfo = $in{'mod'} ? &get_module_info($in{'mod'})
		    : ( 'desc' => $text{'index_global'} );
print "<center><font size=+1>",
      &text($in{'group'} ? 'acl_title3' : 'acl_title2', "<tt>$who</tt>",
	    "<tt>$minfo{'desc'}</tt>"),"</font></center>\n";
print "<hr>\n";
%access = &get_module_acl($who, $in{'mod'});

# display the form
print "<form method=post action=save_acl.cgi>\n";
print "<input type=hidden name=_acl_mod value=$in{'mod'}>\n";
if ($in{'group'}) {
	print "<input type=hidden name=_acl_group value=$who>\n";
	}
else {
	print "<input type=hidden name=_acl_user value=$who>\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('acl_options', $minfo{'desc'}),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($in{'mod'}) {
	print "<tr> <td><b>$text{'acl_config'}</b></td> <td>\n";
	printf "<input type=radio name=noconfig value=0 %s> $text{'yes'}\n",
		$access{'noconfig'} ? "" : "checked";
	printf "<input type=radio name=noconfig value=1 %s> $text{'no'}</td>\n",
		$access{'noconfig'} ? "checked" : "";
	print "<td width=50% colspan=2></td> </tr>\n";
	}

if (-r "$root_directory/$in{'mod'}/acl_security.pl") {
	print "<tr> <td colspan=4><hr></td> </tr>\n" if ($in{'mod'});
	&foreign_require($in{'mod'}, "acl_security.pl");
	&foreign_call($in{'mod'}, "acl_security_form", \%access);
	}

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003e23f000081e40000000000000002000000013d1fe2d1000009c2000000200000000000000000000000000000001900000003reloc/acl/edit_group.cgi  #!/usr/local/bin/perl
# edit_group.cgi
# Edit or create a webmin group

require './acl-lib.pl';
&ReadParse();
$access{'groups'} || &error($text{'gedit_ecannot'});
if ($in{'group'}) {
	# Editing an existing group
	&header($text{'gedit_title'}, "");
	foreach $g (&list_groups()) {
		if ($g->{'name'} eq $in{'group'}) {
			%group = %$g;
			}
		}
	}
else {
	# Creating a new group
	&header($text{'gedit_title2'}, "");
	}
print "<hr>\n";

print "<form action=save_group.cgi>\n";
print "<input type=hidden name=old value=\"$in{'group'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'gedit_rights'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'gedit_group'}</b></td>\n";
print "<td><input name=name size=25 value=\"$group{'name'}\"></td>\n";

@glist = grep { $_->{'name'} ne $group{'name'} } &list_groups();
@mcan = $access{'gassign'} eq '*' ?
		( ( map { $_->{'name'} } @glist ), '_none' ) :
		split(/\s+/, $access{'gassign'});
map { $gcan{$_}++ } @mcan;
if (@glist && %gcan) {
	print "<td><b>$text{'edit_group'}</b></td>\n";
	print "<td><select name=group>\n";
	foreach $g (@glist) {
		local $mem = &indexof($group{'name'}, @{$g->{'members'}}) >= 0;
		next if (!$gcan{$g->{'name'}} && !$mem);
		printf "<option %s>%s\n",
			$mem ?  'selected' : '', $g->{'name'};
		$group = $g if ($mem);
		}
	printf "<option value='' %s>&lt;%s&gt;\n",
		$group ? '' : 'selected', $text{'edit_none'}
			if ($gcan{'_none'});
	print "</select></td>\n";
	}
print "</tr>\n";

@mlist = &list_module_infos();
map { $has{$_}++ } @{$group{'modules'}};
print "<tr> <td valign=top><b>$text{'gedit_modules'}</b></td>\n";
print "<td colspan=3><table width=100% cellpadding=0 cellspacing=0>\n";
foreach $m (@mlist) {
	local $md = $m->{'dir'};
	if (!$sw) { print "<tr>\n"; }
	print "<td width=50%>";
	printf"<input type=checkbox name=mod value=$md %s> %s\n",
	      $has{$md} ? "checked" : "", $m->{'desc'};
	print "</td>";
	if ($sw) { print "<tr>\n"; }
	$sw = !$sw;
	}
print "</table></td> </tr>\n";
print "</table></td> </tr></table>\n";

print "<table width=100%> <tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
if ($in{'group'}) {
	print "</form><form action=delete_group.cgi>\n";
	print "<input type=hidden name=group value=\"$in{'group'}\">\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td></form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003e240000081e40000000000000002000000013d1fe2d100000416000000200000000000000000000000000000001800000003reloc/acl/edit_sync.cgi   #!/usr/local/bin/perl
# edit_sync.cgi
# Display unix/webmin user synchronization

require './acl-lib.pl';
$access{'sync'} && $access{'create'} && $access{'delete'} ||
	&error($text{'sync_ecannot'});
&header($text{'sync_title'}, "");
print "<hr>\n";

@glist = &list_groups();
if (!@glist) {
	print "<p>$text{'sync_nogroups'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<form action=save_sync.cgi>\n";
print "<b>$text{'sync_desc'}</b><p>\n";
printf "<input type=checkbox name=create value=1 %s> %s<p>\n",
	$config{'sync_create'} ? "checked" : "", $text{'sync_create'};
printf "<input type=checkbox name=delete value=1 %s> %s<p>\n",
	$config{'sync_delete'} ? "checked" : "", $text{'sync_delete'};

print "$text{'sync_group'} <select name=group>\n";
foreach $g (@glist) {
	printf "<option %s>%s\n",
		$g->{'name'} eq $config{'sync_group'} ? "selected" : "",
		$g->{'name'};
	}
print "</select><p>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003e241000081e40000000000000002000000013d1fe2d1000003d1000000200000000000000000000000000000001800000003reloc/acl/edit_unix.cgi   #!/usr/local/bin/perl
# edit_unix.cgi
# Choose a user whose permissions will be used for logins that don't
# match any webmin user, but have unix accounts

require './acl-lib.pl';
$access{'unix'} && $access{'create'} && $access{'delete'} ||
	&error($text{'unix_ecannot'});
&header($text{'unix_title'}, "");
print "<hr>\n";

print "$text{'unix_desc'}<p>\n";
&get_miniserv_config(\%miniserv);

print "<form action=save_unix.cgi>\n";
printf "<input type=radio name=unix_def value=1 %s> %s<br>\n",
	$miniserv{'unixauth'} ? '' : 'checked', $text{'unix_def'};
printf "<input type=radio name=unix_def value=0 %s> %s\n",
	$miniserv{'unixauth'} ? 'checked' : '', $text{'unix_user'};
print "<select name=user>\n";
foreach $u (&list_users()) {
	printf "<option %s>%s\n",
		$miniserv{'unixauth'} eq $u->{'name'} ? 'selected' : '',
		$u->{'name'};
	}
print "</select><br>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003e242000081e40000000000000002000000013d1fe2d10000217c000000200000000000000000000000000000001800000003reloc/acl/edit_user.cgi   #!/usr/local/bin/perl
# edit_user.cgi
# Edit a new or existing webmin user

require './acl-lib.pl';
&foreign_require("webmin", "webmin-lib.pl");

&ReadParse();
if ($in{'user'}) {
	# Editing an existing user
	&can_edit_user($in{'user'}) || &error($text{'edit_euser'});
	&header($text{'edit_title'}, "");
	foreach $u (&list_users()) {
		if ($u->{'name'} eq $in{'user'}) {
			%user = %$u;
			}
		if ($u->{'name'} eq $base_remote_user) {
			$me = $u;
			}
		}
	}
else {
	# Creating a new user
	$access{'create'} || &error($text{'edit_ecreate'});
	&header($text{'edit_title2'}, "");
	foreach $u (&list_users()) {
		if ($u->{'name'} eq $in{'clone'}) {
			$user{'modules'} = $u->{'modules'};
			$user{'lang'} = $u->{'lang'};
			}
		if ($u->{'name'} eq $base_remote_user) {
			$me = $u;
			}
		}
	$user{'skill'} = $user{'risk'} = 'high' if ($in{'risk'});
	}
print "<hr>\n";

print "<form action=save_user.cgi>\n";
if ($in{'user'}) {
	print "<input type=hidden name=old value=\"$user{'name'}\">\n";
	print "<input type=hidden name=oldpass value=\"$user{'pass'}\">\n";
	}
if ($in{'clone'}) {
	print "<input type=hidden name=clone value=\"$in{'clone'}\">\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_rights'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_user'}</b></td>\n";
if ($access{'rename'} || !$in{'user'}) {
	print "<td><input name=name size=25 ",
	      "value=\"$user{'name'}\"></td>\n";
	}
else {
	print "<td>$user{'name'}</td>\n";
	}

@glist = &list_groups();
@mcan = $access{'gassign'} eq '*' ?
		( ( map { $_->{'name'} } @glist ), '_none' ) :
		split(/\s+/, $access{'gassign'});
map { $gcan{$_}++ } @mcan;
if (@glist && %gcan && !$in{'risk'} && !$user{'risk'}) {
	print "<td><b>$text{'edit_group'}</b></td>\n";
	print "<td><select name=group>\n";
	foreach $g (@glist) {
		local $mem = &indexof($user{'name'}, @{$g->{'members'}}) >= 0;
		next if (!$gcan{$g->{'name'}} && !$mem);
		printf "<option %s>%s\n",
			$mem ?  'selected' : '', $g->{'name'};
		$group = $g if ($mem);
		}
	printf "<option value='' %s>&lt;%s&gt;\n",
		$group ? '' : 'selected', $text{'edit_none'}
			if ($gcan{'_none'});
	print "</select></td>\n";
	}
print "</tr>\n";

print "<tr> <td><b>$text{'edit_pass'}</b></td> <td colspan=3>\n";
print "<select name=pass_def>\n";
printf "<option value=0 %s> $text{'edit_set'} ..\n",
	$in{'user'} ? "" : "selected";
if ($in{'user'}) {
	printf "<option value=1 %s> %s\n",
		$user{'sync'} || $user{'pass'} eq 'x' || $user{'pass'} eq '*LK*' ?
			"" : "selected", $text{'edit_dont'};
	}
printf "<option value=3 %s> $text{'edit_unix'}\n",
	$user{'pass'} eq 'x' ? "selected" : "";
if ($user{'sync'}) {
	printf "<option value=2 %s> $text{'edit_same'}\n",
		$user{'sync'} && $user{'pass'} ne 'x' ? "selected" : "";
	}
printf "<option value=4 %s> $text{'edit_lock'}\n",
	$user{'pass'} eq '*LK*' ? "selected" : "";
print "</select><input type=password name=pass size=25></td> </tr>\n";

if ($access{'chcert'}) {
	print "<tr> <td><b>$text{'edit_cert'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=cert_def value=1 %s> %s\n",
		$user{'cert'} ? '' : 'checked', $text{'edit_none'};
	printf "<input type=radio name=cert_def value=0 %s>\n",
		$user{'cert'} ? 'checked' : '';
	print "<input name=cert size=50 value='$user{'cert'}'></td> </tr>\n";
	}

if ($access{'lang'}) {
	print "<tr> <td><b>$text{'edit_lang'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=lang_def value=1 %s> %s\n",
		$user{'lang'} ? '' : 'checked', $text{'default'};
	printf "<input type=radio name=lang_def value=0 %s>\n",
		$user{'lang'} ? 'checked' : '';
	print "<select name=lang>\n";
	foreach $l (&list_languages()) {
		printf "<option value=%s %s>%s (%s)\n",
			$l->{'lang'},
			$user{'lang'} eq $l->{'lang'} ? 'selected' : '',
			$l->{'desc'}, uc($l->{'lang'});
		}
	print "</select></td> </tr>\n";
	}

print "<tr> <td><b>$text{'edit_notabs'}</b></td> <td colspan=2>\n";
printf "<input type=radio name=notabs value=1 %s> %s\n",
	$user{'notabs'} == 1 ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=notabs value=2 %s> %s\n",
	$user{'notabs'} == 2 ? 'checked' : '', $text{'no'};
printf "<input type=radio name=notabs value=0 %s> %s</td> </tr>\n",
	$user{'notabs'} == 0 ? 'checked' : '', $text{'default'};

print "<tr> <td><b>$text{'edit_theme'}</b></td> <td colspan=2>\n";
printf "<input type=radio name=theme_def value=1 %s> %s\n",
	defined($user{'theme'}) ? "" : "checked", $text{'edit_themeglobal'};
printf "<input type=radio name=theme_def value=0 %s>\n",
	defined($user{'theme'}) ? "checked" : "";
print "<select name=theme>\n";
foreach $t ( { 'desc' => $text{'edit_themedef'} },
	     &foreign_call("webmin", "list_themes")) {
	printf "<option value='%s' %s>%s\n",
		$t->{'dir'}, $user{'theme'} eq $t->{'dir'} ? 'selected' : '',
		$t->{'desc'};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'edit_ips'}</b></td> <td colspan=3><table><tr>\n";
printf "<td nowrap><input name=ipmode type=radio value=0 %s> %s<br>\n",
	$user{'allow'} || $user{'deny'} ? '' : 'checked', $text{'edit_all'};
printf "<input name=ipmode type=radio value=1 %s> %s<br>\n",
	$user{'allow'} ? 'checked' : '', $text{'edit_allow'};
printf "<input name=ipmode type=radio value=2 %s> %s</td> <td>\n",
	$user{'deny'} ? 'checked' : '', $text{'edit_deny'};
print "<textarea name=ips rows=4 cols=30>",
      join("\n", split(/\s+/, $user{'allow'} ? $user{'allow'} : $user{'deny'})),
      "</textarea></td>\n";
print "</td> <td>$text{'edit_ipdesc'}</td></tr></table> </tr>\n";

if ($user{'risk'} || $in{'risk'}) {
	# Creating or editing a risk-level user
	print "<tr> <td><b>$text{'edit_risk'}</b></td> <td colspan=3>\n";
	foreach $s ('high', 'medium', 'low') {
		printf "<input type=radio name=risk value='%s' %s> %s\n",
		    $s, $user{'risk'} eq $s ? 'checked' : '',
		    $text{"edit_risk_$s"};
		}
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'edit_skill'}</b></td> <td colspan=3>\n";
	foreach $s ('high', 'medium', 'low') {
		printf "<input type=radio name=skill value='%s' %s> %s\n",
		    $s, $user{'skill'} eq $s ? 'checked' : '',
		    $text{"skill_$s"};
		}
	print "</td> </tr>\n";
	}
else {
	# Creating or editing a normal user
	@mcan = $access{'mode'} == 1 ? @{$me->{'modules'}} :
		$access{'mode'} == 2 ? split(/\s+/, $access{'mods'}) :
				       &list_modules();
	map { $mcan{$_}++ } @mcan;
	map { $has{$_}++ } @{$user{'modules'}};
	map { $has{$_} = 0 } $group ? @{$group->{'modules'}} : ();

	@mlist = grep { $access{'others'} || $has{$_->{'dir'}} || $mcan{$_->{'dir'}} } &list_module_infos();
	print "<tr> <td valign=top><b>$text{'edit_modules'}</b><br>",
	      "$text{'edit_groupmods'}</td>\n";
	print "<td colspan=3><table width=100% cellpadding=0 cellspacing=0>\n";
	foreach $m (@mlist) {
		local $md = $m->{'dir'};
		if (!$sw) { print "<tr>\n"; }
		print "<td width=50%>";
		if ($mcan{$md}) {
			printf"<input type=checkbox name=mod value=$md %s> %s\n",
			      $has{$md} ? "checked" : "", $m->{'desc'};
			}
		else {
			printf "<img src=images/%s.gif> %s\n",
			    $has{$md} ? 'tick' : 'empty', $m->{'desc'};
			}
		print "</td>";
		if ($sw) { print "<tr>\n"; }
		$sw = !$sw;
		}
	print "</table></td> </tr>\n";
	}
print "</table></td> </tr></table>\n";

print "<table width=100%> <tr>\n";
print "<td align=left width=25%><input type=submit value=\"$text{'save'}\"></td></form>\n";
if ($in{'user'}) {
	if ($access{'create'} && !$group) {
		print "<form action=edit_user.cgi>\n";
		print "<input type=hidden name=clone value=\"$in{'user'}\">\n";
		print "<td align=center width=25%>",
		      "<input type=submit value=\"$text{'edit_clone'}\">",
		      "</td></form>\n";
		}
	else { print "<td width=25%></td>\n"; }

	if (&foreign_check("webminlog")) {
		print "<form action=/webminlog/search.cgi>\n";
		print "<input type=hidden name=uall value=0>\n";
		print "<input type=hidden name=user value='$in{'user'}'>\n";
		print "<input type=hidden name=mall value=1>\n";
		print "<input type=hidden name=tall value=0>\n";
		print "<td align=center width=25%>",
		      "<input type=submit value=\"$text{'edit_log'}\">",
		      "</td></form>\n";
		}
	else { print "<td width=25%></td>\n"; }

	if ($access{'delete'}) {
		print "<form action=delete_user.cgi>\n";
		print "<input type=hidden name=user value=\"$in{'user'}\">\n";
		print "<td align=right width=25%>",
		      "<input type=submit value=\"$text{'delete'}\"></td></form>\n";
		}
	else { print "<td width=25%></td>\n"; }
	}
print "</tr> </table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003e243000081a40000000000000002000000013d1fe2d1000000e8000000200000000000000000000000000000001c00000003reloc/acl/feedback_files.pl   
do 'acl-lib.pl';

sub feedback_files
{
return ( "$config_directory/miniserv.conf",
	 "$config_directory/miniserv.users",
	 "$config_directory/webmin.acl",
	 "$config_directory/webmin.groups",
	 "$config_directory/config" );
}

1;

0707010005c17f000041ed0000000000000001000000023d1ff9be00000000000000200000000000000000000000000000001100000003reloc/acl/images  0707010005c180000081a40000000000000002000000013d1fe2d10000058c000000200000000000000000000000000000001a00000003reloc/acl/images/cert.gif GIF89a0 0 Æ  ÿÿÿ’’ŒÂÂ´þþìæÎÄÞº¬þúìúöìîÚÌêÖÌöêÜæÊ¼Þ¾´Â~tÒ¢”Îš”Â†|¾~tÎž”ÆŠ„âÆ¼Ê’„Ú¶¬ÖªœÒ¦œúòä¾ztêÒÄÂ‚|Ê’ŒæÒÄ¶fdÒªœÆŽ„Ê–ŒòæÜúúìêÚÌºrlºvl¶jdîÞÔöîäÚ²¤æÆ¼Ö®¤öòäÊŽ„ââÔææÜÖÖÌÚÚÌ¶¶¬ªª¤žž”ÆÆ¼òêÜÆ†|Êš”¾vlºndâÂ´ÞÞÔšš”‚‚|ŠŠ„îîäÞÚÌÒž”ööìº¶¬²®¤ÊÊ¼žš”ŽŽ„ÎÎÄòòä––ŒæâÔzzt¾¾´¦¦œrnlÒÒÄ~~t††|®ª¤–’Œ¢¢œ®®¤Š†|âÞÔ¾º´êêÜÞÞÌVVTŽŠ„²²¤rrlîîÜææÔÎÎ¼ÆÆ´ÆÂ´ÊÆ¼ÒÎÄÎÊ¼ÖÖÄööäîêÜºº¬ššŒ¶²¬²²¬Â¾´’Ž„¦¢œòîä®ªœ¢¢”ªªœêæÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“‚—˜™š›œž–¢£¤¥¦¤§¯—¯¦	
«²±¯ !"¼#$ÉË§%&'()*æ£+,£¸&"-°”:  Ù (Zx —l &8pXÁp:V˜˜ðbÀ¦è€CF2)&Lèð :
!&ˆ€@¡á€4jØ¸Ñ‡:v€…nÀ=J(hHÂÇ A„ièa‘ŽŽ*âÁ¦¨"0ŒØ8BbF2Èp*ê•’$þ@”,)Òv 2eZëŽ2À¤I <õf\ŠD&„'^lŠ-ãÅŽ…ø`˜²(ÄbbBw âÎ¤ŠprÊ1’'P¢ü ˆŒ¸S¨T©ñÃÊ•X²Ø°D‹  M~ÔPbC	”ÆyEÝµ¹\VóRP’€AÃF”,GjXù±$Pª@Y¢úÈŒ'Nrc‚eK“(´ipùáRºa&18)Ò¥ýBÆ„œ1AÂ1¸ 	þ·ÐIGŠ9^` 	!Êvx „¢!VQ}–b@ D Xq	1|ÆOüEbDAÅAüÐ…,Ž‘"DþCÿ‘þActLÀ %1	šeçœ…Y8
=`ŠÂe—!AÅˆ¥DQeÈ`3 aÅH@ƒSÐÅ‰g &)a)fÌ0i¨q3„ÑÅPtqÃPŒ˜®1ƒY‚¶%>8’LÑ… 3´Q„^hÒ„AžâÆa¸ÑÅpÜà6ø Z–
p†W±>¦W±mÑ‰æ«û­%†£Ã‚žAKÊ‘S‚ePðÄÄ6L¨bvGVDF§]¡ÄP4HÊAÔ ‡4Ì‘×ÅQ]¸ š³Dq‘…Ô‡™QÐ ƒ[ø0ƒ“Úrn@QƒrDÁÅ2„,²?*f
[t‘…«²¸aŽ—–ÕQ‡]2,»ŒfÞ@BaÐ@Ç>,K
jÌ†4€¤±miZ¹Ç×eD­vÜ!>p-åµJD¡+qøŒ…XÄÅ[‹—(VÒÍË²ìÇeÜv³qÀÀÈéåÃ€LÑÙøpèn”¸MÈ
ƒv5DAr¸ÅF€G »	M¢WPÐ°+4ÜpqAÃT’‘ÞçXòÉí¸ã %¼÷îûïÀ' ;0707010005c181000081a40000000000000002000000013d1fe2d100000706000000200000000000000000000000000000001d00000003reloc/acl/images/convert.gif  GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**,    0 0  þ å	H° ÁƒåJÈ°¡C‚–]{H±âÀu†Y´ÃÑ"C	Ûh1;·°!Ç“2†‘®e$žœI@Âe§\5ñÆè”$KèÎDù€Mƒ…<0‚†²+O%‚YphÇ¢FZJ­Ê•1òÆ°ºÍ ªVk=*+OQ$\ñ0°¨¸5¸¶¯ß¬-ib„îÝ¶¦¨‚Õ{µàßÇY%˜¤qL¢\3ÀüÀÐBÈ—!"Ö¶\	cHRP´D	‚þ{î´
ÍQ!«Z=ábÍƒMSöìµò˜q¸"AN4fÝk‡iØ(0Äc7ìë¼Y6f
YþíXeÂÆ¿	°³@°#ÊÆ‘Ÿ3'L‰Àe«Îp¹¡-ÂÚTí´çÙ{ž93«<Á…<ç\ òpCA<m@a”]E|ŸÝ—„»($É¯òÈÌaÄB‘aè:¶­q7Ö¬Ãà<*D2ÉØ£Š@ÅÆáAè˜ãM&`3#åäæMùÄ“éÄ@¤ŒFÊ¨3¡@3Q!’´rE#ÎvD QÈŸvG´LŒà–¿¤À`ŒÐ!OßÄ sÈé%^„Î2€&RH!ËèâF¬£‰)¯ŒAæ?ØhÏBÕY:’˜Ó¡8°Ì-þˆ¤Ñ+§¸qHÌhrŠsHñ†?¥6zÐ9ŒXcKž0’‹Và ©…4;x²ƒÀàó[
{((M)¤°(Ð€Žc\@Ë5cH0†El·/z›Ð¿L$ÐWø)Ï((±Ð:ˆôãÄ70¦C-¼‹¦<t\a	,°pqE"¨úP Ïh‰–¢5ÓÄ95òC(¯@3 ÐÂE; Ä9²©	I€"¯9L"œ5¢Ëˆ¼rÚ)à‹q‘‰¤-ñ„À×X3Èº¤Œ#o™ÒD€2±M…J`@óŠ2ŽäÓ5É)uáÊ
yL!çDáîÍYòÌÛ83ÔHJ¼¶‹'),J3°|P3q ®¯C
üòg¬;ì‚*7ì±ôè)µàŽò\cëÓ
#™DÉ4éš(Ë€¨ío{’@×aÉÀ ˜ÂÈKLípÿŽÉ òE+tL\ˆ%æÌ|Óžláä/ÍQz¦x½Eï\ðÃ¼â\"Ý.êçß´‰ìÐ‚%§†š:á}Ï# #|Ð…W0BêV°†—2K€¦ÐEó%“À	Î¯˜A(HB|`ƒPF	Køm…+|ÍA ;  0707010005c182000081a40000000000000002000000013d1fe2d100000040000000200000000000000000000000000000001b00000003reloc/acl/images/empty.gif    GIF87a  ¡  ppp ¤ øüø   ,       „ í¿žqºj)ËšwŽYá4JÁ‰¦h ;0707010005c183000081a40000000000000002000000013d1fe2d10000078c000000200000000000000000000000000000001a00000003reloc/acl/images/icon.gif GIF89a0 0 ç  fffjjj¾¾¾ÒÒÎÞÞÞzzzNNNêêæ’’’F>>îîêžžž...ööòÂÂÂ¦¦¦&&&ÆÆÆÂ¶²úúöºººÊÊÆ¾²®
þþú

®®®ââÞRRRÚÚÚÖÎÊ
ÎÎÊ~~znnn>66º²®VVV†††"òòîæâÞš’ŽFFFÖÖÒZZZÂ¾º¶²®ÎÊÆ:::nfbÒÎÊvvvææâ.*&ššš"Ž†‚ÊÆÂÆÂ¾bb^Æ¾º222JJJÎÆ¾®¦¦²²²¦žšÚÖÒêæâÂº¶îêæ
¢¢¢ÖÒÎªªªÞÚÖÒÊÂúöö^ZVâÞÚ
òîêrjfþúúrrr¢––*"’Š†RJF–––***JBBZRRöòò¢š–ÊÂ¾
¾¶²"""Æººb^^"ž–’¶¶¶ŠŠŠ666ÎÆÂêêêFB:‚‚‚>:6®ª¦ÒÊÆîîîÚÖÖbZV

ÊÂÂâââÞÚÚ²®®Ê¾ºÚÒÒ
¦¢¢öööÎÆÆÒÎÎâÞÞ
¢žš2**ÒÊÊêææþþþòòöBBB–’’rnnž’Ž62.vrrŽŠ†ÂººÖÎÎæââÊÆÆîêêÊÊÊÎÊÊ
&&""B::úúúÎÎÎòòòÖÖÖæææÆ¾¾ÖÒÒ¾¶¶"




ÒÒÒ.**òîî¶²²nffrjjbZZº²²š’’^ZZRJJ®ªªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ /	8°•#‚*\ÈPa,#Jœ¸æ	ˆ53jøJ… ‘^m¹°•Z:bá(ÏA’0_=2„§B+K6ˆ<á²ÌŒ&Ûx	e©ƒÀUÚ<	RÀ@@€b‘ú©P—½dÉ‘Ïk^„RJƒ†E‚ ÒÂt«Í¥W‡8E C‡JÏ‘jÀ84ŠÈ´€Eˆ€åŠ@‰yˆ$h‚Î/OôPV¡<±4u´i†€C7(ÃBÁ‡—_™ªt	Ð¨))åúS„@¤GDTÔÈq¤œ? „.@ÀŽ/>¤ˆ (²` 6ÛVØqkUÚ­Zå!Äd€„(Àþ˜	]¼ü*\>0—bÑ°Ôê‚cn´ôÈPâÉ1+±-€¹’VyÅ•RŠ+D@+’A(o=2Â%	±À&Œ1ˆoðÀEd8l0`{\B\‚®¸¢ ±p¤Þ[´q[q¤ƒl€ ’¢Ã%`¡ dØ•çâ‚.¶(P!\âH D¸ÐJ!4$p,O¸ *8hÁAJAÌ ¤ Úá¥‚.*!+JÄR /– ¢U€@Â‹!–Ì¢†K°"I­À9ÄRÃ	@g”¥4`€BËGf©Ð†B¼„¦°qÊ‰ øÈþºØ‚Ž'yOºøÄrÁ<€ÇT­4‘…@rI+%ðÁ	 èqAŒØ‚!—Øž:¹àPQ
,u| ÐmLuI%‘ä‡%î)`‹ ²‚·à GM¥‘+:	‹T|páÄ 9Ò—¸@H À€-‹´°Ä~@Hv€Á0nÂ‰bÃ—pñH—$B$BÁ¬DAÂpÄBFiá€@qÁµˆ)ƒ&7€PUø”Hò†,…Ô1iZhX0ƒ:’–-ì@´¥–]ÊÉT(€P+xÖ
!QÙèE? éÆŒ Èþ ¤õ‡D° ¥.
Ð"ˆ§ˆÐA„ÓÞWBÐ%á€ <òDZ­ °BàƒCI6¤+PM¸ûD„ÈRÅË:H$³°9 M
—Çà†+Xœ‹yäÑBàáÂ%–hÐ^X	ˆ”5Ó.¤øáÑ—ønxá½G”€õ<â“#¢@òD±Œö-–Gç%¿CØNPÅd@‹Nø´öƒ+Ú‚àG¸ˆX‚m°„ùBq<‰¤¥}Â9Ú@ÈVá„ÐÁð(¸R …£`öäWC "#Qè\Ñ=  ]Q/Á=’P"¯ðŸFdXœöPAuT™àC"J)ˆQ!iX
‰âJAœ#BQ!RTP·FxE,ân†.Ú¢»8%
dAJtÑbÆìQ±[V$#`rgCˆñ†k¤ãˆÇ5–‡‰ñVòÇ:r{ƒLÈ“ò¾Dž1Ž’#G ;0707010005c184000081a40000000000000002000000013d1fe2d1000006a9000000200000000000000000000000000000001e00000003reloc/acl/images/sessions.gif GIF89a0 0 ç  ÿÿÿþþþßÞî¡ Ø®¬í¯­î¦¤à¯­ï­«ì¦¤ß›Ñ¢¡Ú¬ªê­¬ì­«ë®­î®¬îääêÖÖîlj²][˜YW‘[Y•ig­ki¯ZY”‰†àON‚`^^]›VTVU›˜þœ™ÿááë×Öë‹Ï“Ùts©ŠˆÊ–”á›ê•“Ý©¦ÿš˜å›™é—•á”’Ü’ÙŒŠÎ‘Ž×§¥ûª§þª§ÿ©§ÿ¨¦ÿ©¦þ¨¦þ©§þååíäääÉÊÉÉÉÉÈÈÈÊËÊÇÈÇÈÉÈÊÊÊèéèâââÌÍÌ½¾½ÍÎÍÄÅÄÁÂÁÆÇÆÅÆÅæææßàß¨©¨ŸŸŸŠ‹ŠžŸž‰‰‰ŽŽŽ~~¤¥¤‘’‘………Ž°±°ŒŒŒ˜˜˜ˆˆˆ…†…ŒŒˆ‰ˆ†††¥¥¥‰Š‰’“’‘‘‘ŽŽ€£££‚ƒ‚|||„…„ª«ªƒ„ƒ©ª©êêêÌÎÌÃÄÃÂÃÂ»»»¾¾¾»¼»µµµ¹º¹¦§¦¾¿¾·¸·ÀÀÀµ¶µ¼½¼º»º¸¹¸¿À¿­®­áááÍÍÍÀÁÀ‹Œ‹“”“•–•›››´µ´›œ›§¨§¡¢¡™š™£¤£±±±èèèàáà³³³±²±°°°¶·¶éééâãâ»½»ËÌËÃÅÃßßßìììçççtutooolmlttt_`_hhhWWWaaaÛÛÛàààãããÎÏÎÁÃÁõõõåæåmmmsss€€€nonefez{zrsrîîîëëëÇÉÇÓÔÓÑÒÑÌÌÌ¹¶¹±¯±²°²ÈÇÈéêé»¹»±°±ÍËÍ²³²³´³}~}jkjqqq¨§¨®¯®„„„´´´áâá¯¯¯”””¨¦¨¯°¯ÄÃÄÌÊÌÍÌÍÕÖÕÔÕÔÓÓÓÖ×ÖÒÒÒÕÕÕÒÓÒÔÔÔÖÖÖÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈQ£€
8€€@0Y€@ƒZ"€ù€ÀL8€I@'O;K>ˆ a…
.`È aÃR<| "„Õ«X³^¥Êµ+U#H”0qE
+X´pñF3h¬¨±ÂFtíâ­{—.9hèøxð=|ü ¤GÅ{òÃñä>$âcÈd!B<oÂxèÒ>„)bÄÈ‘#FÈ6Ò£uíÖ±eëÖÝ#ÉnÝJzYb„	mÜMœ´~%Š”)TªX¹2K-[¸tñòL1cÈþ”)cæÌx*hÒxQ³æ	›6eÜ¼Ó:N9ræ0¡£¤Ž;Là‘GzìÁGJøñÇ€"HuÔáG{ÑÃJ$!è1ˆtgD„èVÈnFF€¬q"h€qÝf$2†"z,ÂH#R8‚Ç#D"	nDâ6	%¿éÖ#•,!Œøa‰^²Ä€È˜`âÇ]2ÂG‘Ef¢‰øµ¦$™j&é&Šl"§‘'"Af›ä©çž|ò¹GœõÁ‰ÆÁId'ž À¢Œ6ê(£Ÿ j(„Š(£RŠ)§ òÈ¡©(úè¨F
è$ªÈ‘ÄK$ÁÄþt$q[kˆŠJ*©¦Æ™É*hâ¶&‘B°"ì°Ä[¬€&§›pÊÑš³Î¾)-²€Úg"Š…àVH†tëí·à‚ÛŠ¤”râˆ¯²ýQ$“¸âî»ðÆï+’¢Š,±È2-³ÔbK‘Übë­æÊæ®œæJ rÇ˜‡â20Á¥JÚ„*oQˆ³hæ¢ËÇ ‡,²È»Hj~H <[œÓfLn¥…d«ñÊlòbóÍ¹I+©öºg/¾ô/ÀÐa´ÑKü¶s0¼öšsœÂX'L11ÅÀq'@£´Å©â§2²i>+ŒZƒL2ÊcÅ2¤0#K3_WëŒ'æLmw‘Â<SÉ%ÐT1Ò4cx3ÏÔ'(Î)vœÓP#ùäÕ´¼3(ªÄœí‰y³Ür’;ÇÁƒ5×`“6Û\ÃM6Ül³ÍêÜ\³6Ù`s5´cÓîÙèÒ7Úxó1ðÞt£ËéÖtƒM5ïüóÐG/ýôÔWoýõ ;   0707010005c185000081a40000000000000002000000013d1fe2d1000006ac000000200000000000000000000000000000001a00000003reloc/acl/images/sync.gif GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**,    0 0  þ å	H° ÁƒåJÈ°¡C‚–]{H±âÀu†Y´ÃÑ"C	Ûh1;·°!Ç“2†‘®e$žœ™Òà²S®šxctJ’%tg¢¬9°FÐP Svå	¢D0
íHT ¥$Ðª\#o«+Ð<’:µª<t¬<E‘pÅCQP?pjVž%MŒÐ½Û¦A®s©V•`nÆ1‰rÍ@óC;uå-CD„«%0l¹Æ$ d‡Ö<wZ…æ‚¨U-‹žp±æ…¦Y“‡+$ŸÒAcÖ½v˜†3[´ÅeÍ²1SÈjÇ*6þMÀ€‚Q
¦xÎœ0%—þ­:Ãå†¶ Ò§j‡²vÈ™­zÂEÞ¹`xÈãF!^(é©1UCm×Ð2I¸±‹B’œñJ!ð€ÌF¼ðÂW |@:¥­! ËpcÍ:öÍ£B$“¼ˆ=ª$˜h
”Þ@è˜ãM&\¥ÇH9¨yÓD>ñ¤CA:1ÈÈ!”ž‡
1
4òd#ºAÃ…h“žòlgÜvOB¹LŒœ&3ež“#tÈÓÁ71@Åa69&‡eöég™¦¼2F!’üƒ6ñ¼T6þéhŸU0£É)zÌ!Åþ,Ú¤“vúäžì 0ø<ehyÚé5cH0†þElÏ©ímJª¢ ÄBë ÒßD˜q•9P´\ƒåˆOÂÂÅ‰ #‰ ñL’dåÉÐ“5ÓÄ9 ÚD0-\´ ˜Ù2z+­ ‚Pé%“ˆcèr"¯œ61¶—aC´ÊÃE&‰X)ÏO¤ Ð5Ö²†.i ãD¶J¦´ ,+G@¡ÒÐ¼¢Œ#ù`¬mJ]x®BžSÈ9Qø@Gn–<£²»5Ò„ íâI
Ë„Ò,ÂL;ÛJ‘¿|áØk ÂÃ»HËM{ìuJ-xƒ¢<×ˆÆ:Á´ÂH&@üµG"Ge#Jàò %{à€”Êu–Èó(¦0rÅËÂòöÊ5½ãm#¨|Ñ
Ëb‰9nóížlqÎ<¿äVÈ2·p`Jæ‹[ôÎ?lQÀ+’%Ò0Ðè‚úí›ûÈ-XrŠ0>43vßš{ôŒøÐÅ+ŒÈQ_­šVÕˆ%`0bŠ.Ãgè´’Û;4ý+3TYM,3ˆ2ã“ŸB¿éÚA ;0707010005c186000081a40000000000000002000000013d1fe2d10000004b000000200000000000000000000000000000001a00000003reloc/acl/images/tick.gif GIF87a  ¡  ppp ¤ øüø   ,       $„ í¿ÄoŠ8©´qgÝyÚÅ4ŸÓ}é™³ºìCöß ; 0707010005c187000081a40000000000000002000000013d1fe2d100000186000000200000000000000000000000000000001a00000003reloc/acl/images/unix.gif GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010003e244000081e40000000000000002000000013d1fe2d100001d1d000000200000000000000000000000000000001400000003reloc/acl/index.cgi   #!/usr/local/bin/perl
# index.cgi
# List all webmin users

require './acl-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1);

@glist = &list_groups();
foreach $g (@glist) {
	foreach $gm (@{$g->{'members'}}) {
		$ingroup{$gm} = $g;
		}
	}

@ulist = &list_users();
foreach $u (@ulist) {
	$me = $u if ($u->{'name'} eq $base_remote_user);
	}
@mcan = $access{'mode'} == 1 ? @{$me->{'modules'}} :
	$access{'mode'} == 2 ? split(/\s+/, $access{'mods'}) :
			       &list_modules();
map { $mcan{$_}++ } @mcan;

if ($config{'order'}) {
	@ulist = sort { $a->{'name'} cmp $b->{'name'} } @ulist;
	@glist = sort { $a->{'name'} cmp $b->{'name'} } @glist;
	}

foreach $m (&list_module_infos()) {
	$modname{$m->{'dir'}} = $m->{'desc'};
	}
print "<hr>\n";
print "<h3>$text{'index_users'}</h3>\n";
foreach $u (@ulist) {
	next if (!&can_edit_user($u->{'name'}, \@glist));
	if (!$header) {
		print "<a href=edit_user.cgi>$text{'index_create'}</a><br>\n"
			if ($access{'create'});
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'index_user'}</b></td>\n";
		print "<td><b>$text{'index_modules'}</b></td> </tr>\n";
		$header++;
		}
	print "<tr $cb>\n";
	printf "<td valign=top><a href=\"edit_user.cgi?user=%s\">%s</a></td>\n",
		&urlize($u->{'name'}), $u->{'name'};
	if ($u->{'risk'}) {
		# Just display risk and skill levels
		print "<td><table width=100% cellpadding=1 cellspacing=1><tr>\n";
		print "<td width=33%><b>$text{'edit_risk'}</b> : ",
		      $text{'edit_risk_'.$u->{'risk'}},"</td>\n";
		print "<td width=33%><b>$text{'edit_skill'}</b> : ",
		      $text{'skill_'.$u->{'skill'}},"</td>\n";
		print "<td width=33%></td>\n";
		print "</tr></table></td></tr>\n";
		}
	elsif ($ingroup{$u->{'name'}}) {
		# Display group membership
		print "<td><table width=100% cellpadding=1 cellspacing=1>\n";
		print "<tr> <td colspan=3>",&text('index_modgroups',
		      "<tt>$ingroup{$u->{'name'}}->{'name'}</tt>"),
		      "</td> </tr>\n";
		$done = 0;
		foreach $m (@{$u->{'ownmods'}}) {
			if ($done%3 == 0) { print "<tr>\n"; }
			print "<td width=33%>";
			if ($mcan{$m} && $access{'acl'}) {
				print "<a href='edit_acl.cgi?mod=",
				      &urlize($m),"&user=",
				      &urlize($u->{'name'}),
				      "'>$modname{$m}</a>";
				}
			else {
				print $modname{$m};
				}
			print "</td>\n";
			if ($done%3 == 2) { print "<tr>\n"; }
			$done++;
			}
		while($done++ % 3) { print "<td width=33%></td>\n"; }
		print "</table></td></tr>\n";
		}
	elsif ($config{'select'}) {
		# Display select input
		print "<form action=edit_acl.cgi><td>\n";
		print "<input type=hidden name=user value='$u->{'name'}'>\n";
		if ($access{'acl'}) {
			print "<input type=submit ",
			      "value='$text{'index_edit'}'>\n";
			}
		print "<select name=mod>\n";
		print "<option value=''>$text{'index_global'}\n";
		foreach $m (@{$u->{'modules'}}) {
			if ($modname{$m}) {
				print "<option value=$m>$modname{$m}\n";
				}
			}
		print "</select></td></form></tr>\n";
		}
	else {
		# Display as table of modules
		print "<td><table width=100% cellpadding=1 cellspacing=1>\n";
		print "<tr> <td width=33%>\n";
		if ($access{'acl'}) {
			print "<a href='edit_acl.cgi?mod=&user=",
			      &urlize($u->{'name'}),
			      "'>$text{'index_global'}</a></td>";
			$done = 1;
			}
		foreach $m (sort { $modname{$a} cmp $modname{$b} }
				 @{$u->{'modules'}}) {
			if ($modname{$m}) {
				if ($done%3 == 0) { print "<tr>\n"; }
				print "<td width=33%>";
				if ($mcan{$m} && $access{'acl'}) {
					print "<a href='edit_acl.cgi?mod=",
					      &urlize($m),"&user=",
					      &urlize($u->{'name'}),
					      "'>$modname{$m}</a>";
					}
				else {
					print $modname{$m};
					}
				print "</td>\n";
				if ($done%3 == 2) { print "<tr>\n"; }
				$done++;
				}
			}
		while($done++ % 3) { print "<td width=33%></td>\n"; }
		print "</table></td></tr>\n";
		}
	}
if ($header) {
	print "</table>\n";
	}
else {
	print "<b>$text{'index_nousers'}</b><p>\n";
	}
print "<a href=edit_user.cgi>$text{'index_create'}</a>\n"
	if ($access{'create'});
print "<p>\n";

if ($access{'groups'}) {
	print "<hr>\n";
	print "<h3>$text{'index_groups'}</h3>\n";
	foreach $g (@glist) {
		if (!$gheader) {
			print "<a href=edit_group.cgi>$text{'index_gcreate'}</a><br>\n";
			print "<table border width=100%>\n";
			print "<tr $tb> <td><b>$text{'index_group'}</b></td>\n";
			print "<td><b>$text{'index_members'}</b></td>\n";
			print "<td><b>$text{'index_modules'}</b></td> </tr>\n";
			$gheader++;
			}
		print "<tr $cb> <td valign=top>\n";
		printf "<a href='edit_group.cgi?group=%s'>%s</a></td>\n",
			&urlize($g->{'name'}), $g->{'name'};
		print "<td valign=top>",join(" ", @{$g->{'members'}}),
		      "&nbsp;</td>\n";
		if ($ingroup{$g->{'name'}}) {
			# Display group membership
			print "<td><table width=100% cellpadding=1 ",
			      "cellspacing=1>\n";
			print "<tr> <td colspan=3>",&text('index_modgroups',
			      "<tt>$ingroup{$g->{'name'}}->{'name'}</tt>"),
			      "</td> </tr>\n";
			$done = 0;
			foreach $m (@{$g->{'ownmods'}}) {
				if ($done%3 == 0) { print "<tr>\n"; }
				print "<td width=33%>";
				if ($mcan{$m} && $access{'acl'}) {
					print "<a href='edit_acl.cgi?mod=",
					      &urlize($m),"&group=",
					      &urlize($g->{'name'}),
					      "'>$modname{$m}</a>";
					}
				else {
					print $modname{$m};
					}
				print "</td>\n";
				if ($done%3 == 2) { print "<tr>\n"; }
				$done++;
				}
			while($done++ % 3) { print "<td width=33%></td>\n"; }
			print "</table></td></tr>\n";
			}
		else {
			# Display as table of modules
			print "<td><table width=100% cellpadding=1 ",
			      "cellspacing=1>\n";
			print "<tr> <td width=33%><a href='edit_acl.cgi?",
			      "mod=&user=",&urlize($g->{'name'}),
			      "'>$text{'index_global'}</a></td>";
			$done = 1;
			foreach $m (sort { $modname{$a} cmp $modname{$b} }
					 @{$g->{'modules'}}) {
				if ($modname{$m}) {
					if ($done%3 == 0) { print "<tr>\n"; }
					print "<td width=33%>";
					print "<a href='edit_acl.cgi?mod=",
					      &urlize($m),"&group=",
					      &urlize($g->{'name'}),
					      "'>$modname{$m}</a>";
					print "</td>\n";
					if ($done%3 == 2) { print "<tr>\n"; }
					$done++;
					}
				}
			while($done++ % 3) { print "<td width=33%></td>\n"; }
			print "</table></td></tr>\n";
			}
		}
	if ($gheader) {
		print "</table>\n";
		}
	else {
		print "<b>$text{'index_nogroups'}</b><p>\n";
		}
	print "<a href=edit_group.cgi>$text{'index_gcreate'}</a><p>\n";
	}

&get_miniserv_config(\%miniserv);
if ($access{'sync'} && &foreign_check("useradmin")) {
	push(@icons, "images/convert.gif");
	push(@links, "convert_form.cgi");
	push(@titles, $text{'index_convert'});
	}
if ($access{'sync'} && $access{'create'} && $access{'delete'}) {
	push(@icons, "images/sync.gif");
	push(@links, "edit_sync.cgi");
	push(@titles, $text{'index_sync'});
	}
if ($access{'unix'} && $access{'create'} && $access{'delete'}) {
	push(@icons, "images/unix.gif");
	push(@links, "edit_unix.cgi");
	push(@titles, $text{'index_unix'});
	}
if ($access{'sessions'} && $miniserv{'session'}) {
	push(@icons, "images/sessions.gif");
	push(@links, "list_sessions.cgi");
	push(@titles, $text{'index_sessions'});
	}
if (uc($ENV{'HTTPS'}) eq "ON" && $miniserv{'ca'}) {
	push(@icons, "images/cert.gif");
	push(@links, "cert_form.cgi");
	push(@titles, $text{'index_cert'});
	}

if (@icons) {
	print "<hr>\n";
	&icons_table(\@links, \@titles, \@icons);
	}

print "<hr>\n";
&footer("/", $text{'index'});


   0707010005c188000041ed0000000000000001000000023d1ff9bf00000000000000200000000000000000000000000000000f00000003reloc/acl/lang    0707010005c189000081a40000000000000002000000013d1fe2d100002513000000200000000000000000000000000000001200000003reloc/acl/lang/ca index_title=Usuaris de Webmin 
index_user=Usuari
index_modules=Mòduls
index_create=Crea un nou usuari Webmin
index_rcreate=Crea un nou usuari de nivell de risc
index_convert=Converteix els usuaris Unix a usuaris Webmin
index_cert=Demana un certificat SSL
index_certmsg=Fes clic en aquest botó per demanar un certificat SSL que et permetrà de connectar a Webmin de forma segura sense haver d'introduir un nom d'usuari i una contrasenya.
index_return=a la llista d'usuaris
index_none=Cap
index_edit=Edició del Mòdul ACL:
index_global=ACL Global
index_users=Usuaris Webmin
index_groups=Grups Webmin
index_group=Grup
index_nousers=No hi ha cap usuari Webmin editable definit.
index_nogroups=No hi ha cap grup Webmin editable definit.
index_gcreate=Crea un nou grup Webmin
index_members=Membres
index_modgroups=Mòduls del grup $1
index_sync=Configura la sincronització d'usuaris Unix
index_unix=Configura l'autenticació d'usuaris Unix

edit_title=Edició d'Usuari Webmin
edit_title2=Creació d'Usuari Webmin
edit_rights=Drets d'accés de l'usuari Webmin
edit_user=Usuari
edit_group=Membre del grup
edit_pass=Contrasenya
edit_same=La mateixa de Unix
edit_lock=No s'accepta cap contrasenya
edit_pam=Autenticació PAM
edit_unix=Autenticació Unix
edit_dont=No ho canviïs
edit_set=Estableix a
edit_modules=Mòduls
edit_clone=Clona
edit_lang=Idioma
edit_notabs=Categorització de mòduls
edit_cert=Nom del certificat SSL
edit_none=Cap
edit_ips=Control d'accés IP
edit_all=Permet-lo des de totes les adreces
edit_allow=Permet-lo només des de les adreces llistades
edit_deny=Denega'l des de les adreces llistades
edit_ipdesc=El control d'accés IP de l'usuari funciona igual que el control d'accés IP global del mòdul de Configuració de Webmin. Només si l'usuari passa els controls globals s'aplicaran també els d'aquí.
edit_skill=Nivell expert
edit_risk=Nivell de risc
edit_risk_high=Superusuari
edit_risk_medium=Administrador
edit_risk_low=Usuari normal
edit_groupmods=(A més a més dels mòduls del grup)
edit_euser=No tens permís per editar aquest usuari
edit_ecreate=No tens permís per crear usuaris
edit_theme=Tema personal
edit_themeglobal=De la Configuració de Webmin
edit_themedef=Tema per defecte de Webmin
edit_log=Mostra els Registres

save_err=No he pogut desar l'usuari
save_ename='$1' no és un nom d'usuari vàlid
save_edup=El nom d'usuari '$1' ja existeix
save_edeny=no et pots denegar l'accés al mòdul d'usuaris de Webmin a tu mateix.
save_eos=L'opció de contrasenya "La mateixa de Unix" no està suportada pel sistema operatiu.
save_emd5=L'opció de contrasenya "La mateixa de Unix" no es pot fer servir en sistemes que utilitzen el xifratge MD5
save_eunix=L'usuari unix '$1' no existeix
save_emod=No pots concedir accés al mòdul '$1'
save_ecreate=No tens permís per crear usuaris
save_euser=No tens permís per editar aquest usuari
save_ecolon=Les contrasenyes no poden contenir el caràcter :
save_eself=La teva adreça IP actual ($1) quedaria denegada
save_epam=L'autenticació PAM no està disponible, ja que el mòdul <tt>Authen::PAM</tt> de Perl no està instal·lat o no funciona adequadament.
save_egroup=No tens permís per assignar a aquest grup
save_epam2=Pots fer servir el mòdul Webmin de Mòduls per <a href='$1'>descarregar i instal·lar ara Authen::PAM</a>.
save_enone=No has introduït cap adreça
save_enet='$1' no és una adreça de xarxa vàlida
save_emask='$1' no és una màscara de subxarxa vàlida
save_eip='$1' no és una adreça IP ni una adreça de xarxa completa
save_ehost=No he pogut trobar l'adreça IP de '$1'

delete_err=No he pogut suprimir l'usuari
delete_eself=No et pots esborrar a tu mateix
delete_ecannot=No tens permís per suprimir usuaris
delete_euser=No tens permís per suprimir aquest usuari

cert_title=Petició de Certificat
cert_issue=Emissió de Certificat
cert_header=Detalls del nou certificat
cert_msg=Aquest formulari permet demanar un cerfificat client SSL que es farà servir en el futur per concedir-te l'accés a Webmin, en lloc del teu nom d'usuari i contrasenya. Això és més segur, però com que l'autenticació és automàtica, no podràs canviar a un usuari diferent fent servir el certificat.
cert_cn=El teu nom
cert_email=La teva adreça e-mail
cert_ou=Departament
cert_o=Organització
cert_sp=Comarca
cert_c=Codi de país
cert_key=Mida de la clau
cert_ok=El teu certificat de $1 s'ha generat amb èxit i s'ha instal·lat al teu navegador.
cert_ekey=No s'ha tramès la nova clau SSL al teu navegador - pot ser que no suporti certificats client SSL.
cert_eca=No he pogut establir l'autoritat certificadora: $1
cert_already=Atenció - ja estàs utilitzant el certificat $1.

acl_title=Control d'Accés al Mòdul
acl_title2=Per a $1 de $2
acl_title3=Per al grup $1 de $2
acl_options=Opcions de control d'accés de $1
acl_config=Pot editar la configuració del mòdul
acl_uall=Tots els usuaris
acl_usel=Seleccionats. ..
acl_users=Usuaris que poden ser editats
acl_mods=Pot concedir accés a
acl_all=Tots els mòduls
acl_gr=Membres de $1
acl_own=Només els seus propis mòduls
acl_sel=Mòduls seleccionats...
acl_create=Pot crear usuaris nous
acl_delete=Pot suprimir usuaris
acl_rename=Pot renomenar usuaris
acl_acl=Pot editar el control d'accés al mòdul
acl_lang=Pot canviar l'idioma
acl_chcert=Pot canviar el nom del certificat SSL
acl_euser=No tens permís per editar l'ACL d'aquest usuari
acl_egroup=No tens permís per editar ACLs de grups
acl_emod=No tens permís per editar l'ACL d'aquest mòdul
acl_others=Pot veure mòduls inaccessibles
acl_cert=Pot demanar certificat
acl_err=No he pogut desar el control d'accés
acl_groups=Pot editar grups
acl_gassign=Pot assignar usuaris a grups
acl_gall=Tots els grups
acl_gsel=Seleccionats...
acl_gnone=Cap
acl_perms=Els grups creats de nou obtenen
acl_perms_1=El mateix control d'accés al mòdul que el creador
acl_perms_0=El control d'accés al mòdul per defecte
acl_sync=Pot configurar la sincronització d'usuaris
acl_unix=Pot configurar l'autenticació Unix

log_modify=He modificat l'usuari Webmin $1
log_rename=He renomenat l'usuari Webmin $1 a $2
log_create=He creat l'usuari Webmin $1
log_clone=He clonat l'usuari Webmin $1 a $2
log_delete=He suprimit l'usuari Webmin $1
log_acl=He actualitzat l'accés de $1 a $2
log_cert=He emès el certificat de l'usuari $1
log_modify_g=He modificat el grup Webmin $1
log_rename_g=He renomenat el grup Webmin $1 a $2
log_create_g=He creat el grup Webmin $1
log_delete_g=He suprimit el grup Webmin $1

gedit_ecannot=No tens permís per editar grups
gedit_title=Edició de Grups Webmin
gedit_title2=Creació de Grup Webmin
gedit_group=Nom del grup
gedit_rights=Drets d'accés del grup Webmin
gedit_modules=Mòduls dels membres

gdelete_err=No he pogut suprimir el grup
gdelete_ecannot=No tens permís per suprimir grups
gdelete_euser=No pots suprimir el teu propi grup
gdelete_title=Suprimeix el Grup
gdelete_desc=Segur que vols suprimir el grup $1 el usuaris membres $2?
gdelete_ok=Suprimeix el Grup

gsave_err=No he pogut desar el grup
gsave_ename=Falta el nom del grup o no és vàlid
gsave_edup=EL nom del grup ja està en ús

convert_title=Conversió d'Usuaris
convert_nogroups=No hi ha cap grup Webmin definit. Cal crear almenys un grup per tal de definir els permisos dels usuaris convertits.
convert_desc=Aquest formulari permet la conversió dels usuaris Unix existents a usuaris Webmin. Els permisos de cada usuari Webmin es determinaran segons el grup seleccionat més avall.
convert_0=Tots els usuaris
convert_1=Només els usuaris
convert_2=Tots excepte els usuaris
convert_3=Usuaris amb grup
convert_4=Usuaris amb UID en el rang
convert_ecannot=No tens permís per convertir l'usuari Unix
convert_group=Assigna els nous usuaris al grup Webmin
convert_sync=Fes servir la mateixa contrasenya com a usuari Unix en un futur
convert_ok=Converteix-los Ja
convert_err=No he pogut convertir els usuaris
convert_eusers=No s'ha introduït cap usuari per convertir
convert_egroup=El grup Unix no existeix
convert_emin=UID mínim invàlid
convert_emax=UID màxim invàlid
convert_ewgroup=Aquest grup Webmin no existeix
convert_ewgroup2=No tens permís per assignar nous usuaris a aquest grup
convert_skip=Ometent $1
convert_exists=$1 ja existeix
convert_added=S'està afegint $1
convert_msg=Convertint usuaris Unix...

sync_title=Sincronització d'usuari Unix
sync_desc=Aquest formulari permet configurar la sincronització automàtica dels usuaris Unix creats a través de Webmin i els usuaris d'aquest mòdul.
sync_nogroups=No hi ha cap grup Webmin definit al sistema. Hi ha d'haver almenys un grup creat per establir l'accés dels usuaris creats.
sync_create=Crea un usuari Webmin quan es creï un usuari Unix.
sync_update=Quan s'actualitza un usuari Unix, actualitza l'usuari Webmin que hi coincideixi.
sync_delete=Quan se suprimeixi un usuari Unix, suprimeix l'usuari Webmin que hi coincideixi.
sync_group=Assigna nous usuaris al grup Webmin
sync_ecannot=No tens permís per configurar la sincronització.

unix_title=Autenticació d'Usuaris Unix
unix_desc=Aquesta pàgina permet configurar Webmin per validar els intents de connexió contra la llista d'usuaris del sistema i PAM. Això pot ser útil si tens un gran nombre d'usuaris Unix als quals vols donar accés a Webmin.
unix_def=Permet la connexió només als usuaris de Webmin
unix_user=Permet la connexió a qualsevol usuari Unix amb els permisos d'aquest
unix_ecannot=No tens permís per configurar l'autenticació d'usuaris Unix
unix_epam=L'autenticació d'usuaris Unix no està disponible, donat que el mòdul de Perl <tt>Authen::PAM</tt> no està instal·lat o no funciona adequadament.


 0707010005c18a000081a40000000000000002000000013d1fe2d100000bbd000000200000000000000000000000000000001200000003reloc/acl/lang/cz index_title=Webmin u¾ivatelé
index_user=U¾ivatel
index_modules=Moduly
index_create=Vytvoøit nového u¾ivatele
index_cert=Vy¾adovat SSL certifikát
index_certmsg=Stisknutím tlaèítka bude vy¾adován SSL certifikát a bude mo¾né se bezpeènì pøihlásit bez nutnosti zadávat jméno a heslo
index_return=seznam u¾ivatelù

edit_title=Editovat Webmin u¾ivatele
edit_title2=Vytvoøit Webmin u¾ivatele
edit_rights=U¾ivatelské práva
edit_user=Jméno
edit_pass=Heslo
edit_same=Stejné jako systémové
edit_dont=Nemìnit
edit_set=Nastavit
edit_modules=Moduly
edit_clone=Klonovat
edit_lang=Jazyk
edit_notabs=Kategorizovat moduly?
edit_cert=Jméno SSL certifikátu
edit_none=Nic
edit_euser=Nemáte oprávnìní editovat tohoto u¾ivatele
edit_ecreate=Nemáte oprávnìní vytvoøit u¾ivatele

save_err=Chyba pøi ukládání u¾ivatele
save_ename='$1' není platné jméno u¾ivatele
save_edup=U¾ivatel  '$1' ji¾ existuje
save_edeny=nemù¾ete zru¹it vlastní pøístup k Webmin U¾ivatelskému modulu
save_eos=Stejná hesla jako systémová nejsou na va¹em systému podporována 
save_emd5=Stejná hesla jako systémová nemohou být pou¾ita na systému s MD5 kryptováním
save_eunix=Systémový u¾ivatel '$1' neexistuje
save_emod=Nemáte oprávnìní pøístupu k modulu '$1'
save_ecreate=Nemáte oprávnìní vytváøet u¾ivatele
save_euser=Nemáte oprávnìní editovat tohoto u¾ivatele
save_ecolon=Heslo nemù¾e obsahovat znak : character

delete_err=Chyba pøi odstraòování u¾ivatele
delete_eself=nemù¾ete smazat sám sebe
delete_ecannot=Nemáte oprávnìní mazat u¾ivatele
delete_euser=Nemáte oprávnìní smazat tohoto u¾ivatele

cert_title=Vy¾adovat certifikát
cert_issue=Issue Certificate
cert_header=Vlastnosti nového certifikátu
cert_msg=Tento formuláø umo¾òuje nastavit vy¾adování SSL klientského certifikátu, který bude v budoucnu pou¾it pøi nastavování pøístupu k Webminu namísto u¾ivatelského jména a hesla. Je to více bezpeèné, ale proto¾e autentizace je automatická, nebudete moci pøepnout se za jiného u¾ivatele, pokud budete u¾ívat tento certifikát.
cert_cn=Va¹e jméno
cert_email=Emailová adresa
cert_ou=Oddìlení
cert_o=Organizace
cert_sp=Stát
cert_c=Kód zemì
cert_key=Velikost klíèe
cert_ok=Vá¹ certifikát pro $1 byl úspì¹nì generován a instalován ve va¹em browseru .
cert_ekey=A new SSL key was not submitted by your browser - maybe it does not support SSL client certificates.
cert_eca=Chyba pøi nastavování certifikátu: $1
cert_already=Varování - u¾ jste pou¾il certifikát $1.

acl_title=Nastavení pøístupu k modulùm
acl_title2=Pro $1 v $2
acl_options=$1 vlastnosti pøístupu 
acl_config=Mù¾e mìnit nastavení modulu?
acl_users=Editovatelní u¾ivatelé
acl_mods=Mù¾e povolit pøístup k 
acl_all=V¹echny moduly
acl_own=Pouze jeho vlastní moduly
acl_sel=Vybrané moduly..
acl_create=Mù¾e vytvoøit nového u¾ivatele?
acl_delete=Mù¾e vymazat u¾ivatele?
acl_rename=Mù¾e pøejmenovat u¾ivatele?
acl_euser=Nemáte povolení editovat ACL pro tohoto u¾ivatele
acl_emod=Nemáte povolení editovat ACL pro tento modul
acl_others=Mù¾e vidìt nepøístupné moduly?
acl_cert=Mù¾e vy¾adovat certifikát?
   0707010005c18b000081a40000000000000002000000013d1fe2d000002cd9000000200000000000000000000000000000001200000003reloc/acl/lang/de #        webmin-0.97     acl/lang/de
#
#        created: ??.??.????                 by:???
#        last modified: 28-may-2002          Rev.: 28-05-2002
#        last modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                     durch: ???
# letzte &Auml;nderung: 28.05.2002        Rev.: 28.05.2002
# zuletzt modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Webmin-Benutzer

index_user=Benutzer
index_modules=Module
index_create=Einen neuen Webmin-Benutzer anlegen
index_rcreate=Einen neuen 'risk-level'-Benutzer anlegen
index_convert=Konvertiere Unix- zu Webmin-Benutzer
index_cert=Fordere ein SSL-Zertifikat an
index_certmsg=Klicken Sie auf diese Schaltfl&auml;che, um ein SSL-Zertifikat anzufordern, das es Ihnen erlauben wird, sich sicher in Webmin anzumelden, ohne einen Benutzernamen und ein Kennwort anzugeben.
index_return=Benutzerliste
index_none=Keine
index_edit=Bearbeite Modul-ACL:
index_global=Globale Zugriffskontroll-Liste (ACL)
index_users=Webmin-Benutzer
index_groups=Webmin-Gruppen
index_group=Gruppe
index_nousers=Keine editierbaren Webmin-Benutzer angegeben.
index_nogroups=Keine editierbaren Webmin-Gruppen angegeben.
index_gcreate=Erzeuge eine neue Webmin-Gruppe
index_members=Mitglieder
index_modgroups=Module von Gruppe $1
index_sync=Konfiguriere Unix Benutzer-Synchronisation
index_unix=Konfiguriere Unix Benutzer-Authentifizierung

edit_title=Webmin-Benutzer bearbeiten
edit_title2=Webmin-Benutzer anlegen
edit_rights=Webmin-Benutzerzugriffsrechte
edit_user=Benutzername
edit_group=Mitglied der Gruppe
edit_pass=Kennwort
edit_same=Dasselbe wie bei Unix
edit_lock=Kein Pa&szlig;wort akzeptiert
edit_pam=PAM-Authentifizierung
edit_unix=Unix-Authentifizierung
edit_dont=Nicht &auml;ndern
edit_set=Einstellen auf
edit_modules=Module
edit_clone=Klonen
edit_lang=Sprache
edit_notabs=Module in Kategorien aufteilen?
edit_cert=SSL-Zertifikatsname
edit_none=Keine
edit_ips=IP-Zugangskontrolle
edit_all=Gestatte Zugriff von allen Adressen
edit_allow=Gestatte Zugriff nur von aufgelisteten Adressen
edit_deny=Verweigere von aufgelisteten Adressen
edit_ipdesc=Die Benutzer IP-Zugangskontrolle funktioniert auf die gleiche Weise wie die globale IP-Zugriffskontrolle im Webmin-Konfigurationsmodul. Nur wenn ein Benutzer die globale Kontrolle passiert, werden diese Regeln hier &uuml;berpr&uuml;ft werden.
edit_skill=Experten-Level
edit_risk=Risiko-Level
edit_risk_high='Super-User'
edit_risk_medium=Administrator
edit_risk_low=Normaler Benutzer
edit_groupmods=(Zus&auml;tzlich zu Modulen der Gruppe)
edit_euser=Sie haben keine Berechtigung, diesen Benutzer zu bearbeiten
edit_ecreate=Sie haben keine Berechtigung, einen Benutzer anzulegen
edit_theme=Pers&ouml;nliches Motiv
edit_themeglobal=aus Webmin-Konfiguration
edit_themedef=Standard Webmin-Motiv
edit_log=Zeige Aufzeichnungen

save_err=Fehler beim Speichern des Benutzers
save_ename='$1' ist kein g&uuml;ltiger Benutzername
save_edup=Der Benutzername '$1' wird bereits genutzt
save_edeny=Sie k&ouml;nnen sich nicht selbst das Zugriffsrecht auf Webmin-Benutzer entziehen
save_eos=Die Option "Dasselbe Kennwort wie bei Unix" wird nicht von Ihrem Betriebssystem unterst&uuml;tzt.
save_emd5=Die Option "Dasselbe Kennwort wie bei Unix" kann nicht auf Systemen mit MD5-verschl&uuml;sselten Kennw&ouml;rtern benutzt werden.
save_eunix=Der Benutzer '$1' existiert nicht
save_emod=Sie haben keine Berechtigung, den Zugriff auf das Modul '$1' zu gew&auml;hren
save_ecreate=Sie haben keine Berechtigung, einen Benutzer anzulegen
save_euser=Sie haben keine Berechtigung, diesen Benutzer zu bearbeiten
save_ecolon=Kennw&ouml;rter d&uuml;rfen keinen Doppelpunkt (:) enthalten
save_eself=Ihrer aktuellen IP-Adresse ($1) w&uuml;rde der Zugriff verweigert
save_epam=PAM-Authentifizierung ist nicht verf&uuml;gbar, da das <tt>Authen::PAM</tt> Perl-Modul nicht installiert ist oder nicht richtig arbeitet.
save_epam2=Sie k&ouml;nnen das Webmin-Modul 'Perl-Module' benutzen um <a href='$1'>Authen::PAM herunterzuladen und zu installieren </a>.
save_egroup=Sie haben keine Erlaubnis, dieser Gruppe jemanden zuzuweisen
save_enone=Keine Adressen eingegeben
save_enet='$1' ist keine g&uuml;ltige Netzwerk-Adresse
save_emask='$1' ist keine g&uuml;ltige Netzmaske
save_eip='$1' ist keine vollst&auml;ndige IP- oder Netzwerk-Adresse
save_ehost=Keine IP-Adresse f&uuml;r '$1' gefunden

delete_err=Fehler beim L&ouml;schen des Benutzers
delete_eself=Sie d&uuml;rfen sich selber nicht l&ouml;schen
delete_ecannot=Sie haben keine Berechtigung, Benutzer zu l&ouml;schen
delete_euser=Sie haben keine Berechtigung, diesen Benutzer zu l&ouml;schen

cert_title=Zertifikatsanfrage
cert_issue=Zertifikat ausstellen
cert_header=Details des neuen Zertifikats
cert_msg=Dieses Formular erlaubt es Ihnen, ein SSL-Client-Zertifikat zu beantragen, das Ihnen in Zukunft ohne Eingabe von Benutzername und Kennwort Zugriff auf Webmin gestattet. Dies ist sicherer, aber da diese Authentifizierung automatisch geschieht, ist es nicht m&ouml;glich, zu einem anderen Benutzer zu wechseln, wenn Zertifikatsauthentifizierung gew&auml;hlt wird.
cert_cn=Ihr Name
cert_email=E-Mail-Adresse
cert_ou=Abteilung
cert_o=Organisation
cert_sp=Bundesland
cert_c=L&auml;ndercode
cert_key=Schl&uuml;sselgr&ouml;&szlig;e
cert_ok=Ihr Zertifikat f&uuml;r $1 wurde erfolgreich generiert und in Ihrem Web-Browser installiert.
cert_ekey=Ein neuer SSL-Schl&uuml;ssel wurde nicht von Ihrem Browser &uuml;bertragen - vielleicht unterst&uuml;tzt Ihr Browser keine Client-Zertifikate.
cert_eca=Das Erstellen der Zertifikatsautorit&auml;t schlug fehl : $1
cert_already=Warnung - Sie benutzen bereits das Zertifikat $1.

acl_title=Modulzugriffskontrolle
acl_title2=F&uuml;r $1 in $2
acl_title3=F&uuml;r Gruppe $1 in $2
acl_options=$1 Zugriffskontrolleinstellungen
acl_config=Darf Modulkonfiguration bearbeiten?
acl_uall=Alle Benutzer
acl_usel=Ausgew&auml;hlte ...
acl_gr=Mitglieder von $1
acl_users=Benutzer, die bearbeitet werden d&uuml;rfen
acl_mods=Darf Zugriff gew&auml;hren auf
acl_all=alle Module
acl_own=nur seine eigenen Module
acl_sel=ausgew&auml;hlte Module ..
acl_create=Darf neue Benutzer erstellen?
acl_delete=Darf Benutzer l&ouml;schen?
acl_rename=Darf Benutzer umbenennen?
acl_acl=Darf Modulzugriffskontrollen bearbeiten?
acl_lang=Darf Sprache &auml;ndern?
acl_chcert=Kann den SSL-Zertifikatsnamen &auml;ndern?
acl_euser=Sie haben keine Berechtigung, die Zugriffskontrollliste (ACL) f&uuml;r diesen Benutzer zu bearbeiten
acl_egroup=Sie haben keine Berechtigung, die Zugriffskontroll-Liste (ACLs) der Gruppen zu bearbeiten
acl_emod=Sie haben keine Berechtigung, die Zugriffskontroll-Liste (ACL) f&uuml;r dieses Modul zu bearbeiten
acl_others=Kann Module sehen, auf die er keinen Zugriff hat?
acl_cert=Darf Zertifikat beantragen?
acl_err=Fehler beim Speichern der Zugriffskontroll-Liste
acl_groups=Kann Gruppen bearbeiten?
acl_gassign=Kann Benutzer zu Gruppen hinzuf&uuml;gen
acl_gall=Alle Gruppen
acl_gsel=Ausgew&auml;hlte ...
acl_gnone=Keine
acl_perms=Neu erzeugte Benutzer erhalten
acl_perms_1=Gleiche Modul-Zugriffskontrolle wie Ersteller
acl_perms_0=Standard Modul-Zugriffskontrolle
acl_sync=Kann Benutzer-Synchronisation ver&auml;ndern?
acl_unix=Kann Unix-Authentifizierung ver&auml;ndern?

log_modify=Webmin-Benutzer $1 modifiziert
log_rename=Webmin-Benutzer $1 zu $2 umbenannt
log_create=Webmin-Benutzer $1 erzeugt
log_clone=Webmin-Benutzer $1 zu $2 dupliziert
log_delete=Webmin-Benutzer $1 gel&ouml;scht
log_acl=Zugriff f&uuml;r $1 in $2 aktualisiert
log_cert=Ausgegebenes Zertifikat f&uuml;r Benutzer $1
log_modify_g=Webmin-Gruppe $1 modifiziert
log_rename_g=Webmin-Gruppe $1 to $2 umbenannt
log_create_g=Webmin-Gruppe $1 erzeugt
log_delete_g=Webmin-Gruppe $1 gel&ouml;scht

gedit_ecannot=Sie sind nicht berechtigt, Gruppen zu bearbeiten
gedit_title=Bearbeite Webmin-Gruppe
gedit_title2=Erzeuge Webmin-Gruppe
gedit_group=Gruppen-Name
gedit_rights=Webmin-Gruppe Zugriffsrechte
gedit_modules=Erlaubte Module

gdelete_err=Fehler beim L&ouml;schen einer Gruppe
gdelete_ecannot=Sie sind nicht berechtigt, Gruppen zu l&ouml;schen
gdelete_euser=Sie k&ouml;nnen Ihre eigene Gruppe nicht l&ouml;schen
gdelete_title=L&ouml;sche Gruppe
gdelete_desc=Sind Sie sicher, da&szlig; Sie die Gruppe $1 und Benutzer $2 l&ouml;schen wollen?
gdelete_ok=Gruppe l&ouml;schen

gsave_err=Fehler beim Speichern der Gruppe
gsave_ename=Fehlender oder ung&uuml;ltiger Gruppen-Name
gsave_edup=Gruppen-Name wird bereits benutzt

convert_title=Benutzer konvertieren
convert_ecannot=Sie sind nicht berechtigt, Unix-Benutzer zu konvertieren
convert_nogroups=Auf Ihrem System wurden keine Webmin-Gruppen definiert. Wenigstens eine Gruppe mu&szlig; vor der Konvertierung angelegt sein, um Rechte f&uuml;r die konvertierten Benutzer zu definieren.
convert_desc=Dieses Formular erlaubt Ihnen, existierende Unix-Benutzer zu Webmin-Benutzer zu konvertieren. Die Rechte jedes neuen Webmin-Benutzers werden durch die unten ausgew&auml;hlte Gruppe bestimmt.
convert_0=Alle Benutzer
convert_1=Nur Benutzer
convert_2=Alle au&szlig;er Benutzer
convert_3=Benutzer mit Gruppe
convert_4=Benutzer mit UIDs im Bereich
convert_group=Zuweisung neuer Benutzer zur Webmin-Gruppe
convert_sync=Benutze zuk&uuml;nftig das gleiche Pa&szlig;wort wie Unix-Benutzer?
convert_ok=Konvertiere jetzt
convert_err=Fehler beim Konvertieren der Benutzer
convert_eusers=Keine Benutzer zum Konvertieren eingegeben
convert_egroup=Unix-Gruppe existiert nicht
convert_emin=Ung&uuml;ltige kleinste UID
convert_emax=Ung&uuml;ltige gr&ouml;&szlig;te UID
convert_ewgroup=Keine solche Webmin-Gruppe
convert_ewgroup2=Sie sind nicht berechtigt, neue Benutzer zu dieser Gruppe hinzuzuf&uuml;gen.
convert_skip=$1 wurde &uuml;bersprungen
convert_exists=$1 existiert bereits
convert_added=$1 wurde hinzugef&uuml;gt
convert_msg=Konvertiere Unix-Benutzer ...

sync_title=Unix Benutzer-Synchronisation
sync_desc=Dieses Formular erlaubt Ihnen die Konfiguration der automatischen Synchronisation von Unix-Benutzern die durch Webmin erzeugt wurden und Benutzern in diesem Modul.
sync_nogroups=Es wurden keine Webmin-Gruppen auf Ihrem System definiert. Wenigstens eine Gruppe mu&szlig; angelegt sein, um den Zugriff f&uuml;r erzeugte Benutzer einzustellen.
sync_create=Erzeuge einen Webmin-Benutzer wenn ein Unix-Benutzer erzeugt wird.
sync_update=Aktualisiere den passenden Webmin-Benutzer wenn ein Unix-Benutzer aktualisiert wird.
sync_delete=L&ouml;sche den passenden Webmin-Benutzer wenn ein Unix-Benutzer gel&ouml;scht wird.
sync_group=Zuweisung neuer Benutzer zur Webmin-Gruppe
sync_ecannot=Sie sind nicht berechtigt, die Benutzer-Synchronisation zu bearbeiten.

unix_title=Unix-Benutzer Authentifizierung
unix_desc=Diese Seite erlaubt Ihnen Webmin zu konfigurieren, um Anmeldeversuche gegen die System-Benutzerliste und PAM abzugleichen. Dies kann n&uuml;tzlich sein, wenn Sie eine gro&szlig;e Anzahl bestehender Unix-Benutzer haben, denen Sie Zugriff auf Webmin geben wollen.
unix_def=Erlaube nur Webmin-Benutzern die Anmeldung
unix_user=Erlaube jedem Unix-Benutzer die Anmeldung mit Zugriffs-Rechten des Benutzers
unix_ecannot=Sie sind nicht berechtigt, die Unix-Benutzer Authentifizierung zu bearbeiten.
unix_epam=Unix-Authentifizierung ist nicht verf&uuml;gbar, da das <tt>Authen::PAM</tt> Perl-Modul nicht installiert ist oder nicht richtig arbeitet.   0707010005c18c000081a40000000000000002000000013d1fe2d0000023e2000000200000000000000000000000000000001200000003reloc/acl/lang/en index_title=Webmin Users
index_user=User
index_modules=Modules
index_create=Create a new Webmin user
index_rcreate=Create a new risk-level user
index_convert=Convert Unix to Webmin users
index_cert=Request an SSL certificate
index_certmsg=Click this button to request an SSL certificate that will allow you to securely login to Webmin without having to enter a username and password.
index_return=user list
index_none=None
index_edit=Edit Module ACL :
index_global=Global ACL
index_users=Webmin Users
index_groups=Webmin Groups
index_group=Group
index_nousers=No editable Webmin users defined.
index_nogroups=No editable Webmin groups defined.
index_gcreate=Create a new Webmin group
index_members=Members
index_modgroups=Modules from group $1
index_sync=Configure Unix user synchronization
index_unix=Configure Unix user authentication
index_sessions=View login sessions

edit_title=Edit Webmin User
edit_title2=Create Webmin User
edit_rights=Webmin user access rights
edit_user=Username
edit_group=Member of group
edit_pass=Password
edit_same=Same as Unix
edit_lock=No password accepted
edit_pam=PAM authentication
edit_unix=Unix authentication
edit_dont=Don't change
edit_set=Set to
edit_modules=Modules
edit_clone=Clone
edit_lang=Language
edit_notabs=Categorise modules?
edit_cert=SSL certificate name
edit_none=None
edit_ips=IP access control
edit_all=Allow from all addresses
edit_allow=Only allow from listed addresses
edit_deny=Deny from listed addresses
edit_ipdesc=User IP access control works in the same way as the global IP access control in the Webmin Configuration module. Only if a user passes the global controls will those here be checked as well.
edit_skill=Skill level
edit_risk=Risk level
edit_risk_high=Super user
edit_risk_medium=Admin user
edit_risk_low=Normal user
edit_groupmods=(In addition to modules from group)
edit_euser=You are not allowed to edit this user
edit_ecreate=You are not allowed to create users
edit_theme=Personal theme
edit_themeglobal=From Webmin Configuration
edit_themedef=Default Webmin theme
edit_log=View Logs

save_err=Failed to save user
save_ename='$1' is not a valid username
save_edup=The username '$1' is already in use
save_edeny=you cannot deny yourself access to the Webmin Users module
save_eos=The Same as Unix password option is not supported on your operating system.
save_emd5=The Same as Unix password option cannot be used on systems with MD5 encryption
save_eunix=The Unix user '$1' does not exist
save_emod=You cannot grant access to module '$1'
save_ecreate=You are not allowed to create users
save_euser=You are not allowed to edit this user
save_ecolon=Passwords cannot contain the : character
save_eself=Your current IP address ($1) would be denied
save_epam=PAM authentication is not available as the <tt>Authen::PAM</tt> Perl module is not installed or not working properly.
save_epam2=You can use Webmin's Perl Modules module to <a href='$1'>download and install Authen::PAM</a> now.
save_egroup=You are not allowed to assign to that group
save_enone=No addresses entered
save_enet='$1' is not a valid network address
save_emask='$1' is not a valid netmask
save_eip='$1' is not a complete IP or network address
save_ehost=Failed to find IP address for '$1'

delete_err=Failed to delete user
delete_eself=You cannot delete yourself
delete_ecannot=You are not allowed to delete users
delete_euser=You are not allowed to delete this user

cert_title=Request Certificate
cert_issue=Issue Certificate
cert_header=New certificate details
cert_msg=This form allows you to request an SSL client certificate that will be used in future to grant you access to Webmin instead of your username and password. This is more secure, but because the authentication is automatic you will not be able to switch to a different user when using the certificate.
cert_cn=Your name
cert_email=Email address
cert_ou=Department
cert_o=Organisation
cert_sp=State
cert_c=Country code
cert_key=Key size
cert_ok=Your certificate for $1 has been successfully generated and installed in your web browser.
cert_ekey=A new SSL key was not submitted by your browser - maybe it does not support SSL client certificates.
cert_eca=Failed to setup certificate authority : $1
cert_already=Warning - you are already using the certificate $1.

acl_title=Module Access Control
acl_title2=For $1 in $2
acl_title3=For group $1 in $2
acl_options=$1 access control options
acl_config=Can edit module configuration?
acl_uall=All users
acl_usel=Selected ..
acl_gr=Members of $1
acl_users=Users who can be edited
acl_mods=Can grant access to
acl_all=All modules
acl_own=Only his own modules
acl_sel=Selected modules ..
acl_create=Can create new users?
acl_delete=Can delete users?
acl_rename=Can rename users?
acl_acl=Can edit module access control?
acl_lang=Can change language?
acl_chcert=Can change SSL certificate name?
acl_euser=You are not allowed to edit the ACL for this user
acl_egroup=You are not allowed to edit group ACLs
acl_emod=You are not allowed to edit the ACL for this module
acl_others=Can see inaccessible modules?
acl_cert=Can request certificate?
acl_err=Failed to save access control
acl_groups=Can edit groups?
acl_gassign=Can assign users to groups
acl_gall=All groups
acl_gsel=Selected ..
acl_gnone=None
acl_perms=Newly created users get
acl_perms_1=Same module access control as creator
acl_perms_0=Default module access control
acl_sync=Can configure user synchronization?
acl_unix=Can configure unix authentication?
acl_sessions=Can view and cancel login sessions?

log_modify=Modified Webmin user $1
log_rename=Renamed Webmin user $1 to $2
log_create=Created Webmin user $1
log_clone=Cloned Webmin user $1 to $2
log_delete=Deleted Webmin user $1
log_acl=Updated access for $1 in $2
log_cert=Issued certificate for user $1
log_modify_g=Modified Webmin group $1
log_rename_g=Renamed Webmin group $1 to $2
log_create_g=Created Webmin group $1
log_delete_g=Deleted Webmin group $1

gedit_ecannot=You are not allowed to edit groups
gedit_title=Edit Webmin Group
gedit_title2=Create Webmin Group
gedit_group=Group name
gedit_rights=Webmin group access rights
gedit_modules=Members' modules

gdelete_err=Failed to delete group
gdelete_ecannot=You are not allowed to delete groups
gdelete_euser=You cannot delete your own group
gdelete_esub=Groups with subgroups cannot be deleted
gdelete_title=Delete Group
gdelete_desc=Are you sure you want to delete the group $1 and its member users $2 ?
gdelete_ok=Delete Group

gsave_err=Failed to save group
gsave_ename=Missing or invalid group name
gsave_edup=Group name is already in use

convert_title=Convert Users
convert_ecannot=You are not allowed to convert Unix user
convert_nogroups=No Webmin groups have been defined on your system. At least one group must be created before converting in order to define permissions for the converted users.
convert_desc=This form allows you to convert existing Unix users to Webmin users. The permissions of each new Webmin user will be determined by the group selected below.
convert_0=All users
convert_1=Only users
convert_2=All except users
convert_3=Users with group
convert_4=Users with UIDs in range
convert_group=Assign new users to Webmin group
convert_sync=Use same password as Unix user in future?
convert_ok=Convert Now
convert_err=Failed to convert users
convert_eusers=No users to convert entered
convert_egroup=Unix group does not exist
convert_emin=Invalid minimum UID
convert_emax=Invalid maximum UID
convert_ewgroup=No such Webmin group
convert_ewgroup2=You are not allowed to assign new users to this group
convert_skip=$1 being skipped
convert_exists=$1 already exists
convert_added=$1 being added
convert_msg=Converting Unix users...

sync_title=Unix User Synchronization
sync_desc=This form allows you to configure the automatic synchronization of Unix users created through Webmin and users in this module.
sync_nogroups=No Webmin groups have been defined on your system. At least one group must be created to set the access for created users.
sync_create=Create a Webmin user when a Unix user is created.
sync_update=Update the matching Webmin user when a Unix user is updated.
sync_delete=Delete the matching Webmin user when a Unix user is deleted.
sync_group=Assign new users to Webmin group
sync_ecannot=You are not allowed to configure user synchronization.

unix_title=Unix User Authentication
unix_desc=This page allows you to configure Webmin to validate login attempts against the system user list and PAM. This can be useful if you have a large number of existing Unix users who you want to give access to Webmin.
unix_def=Only allow Webmin users to login
unix_user=Allow any Unix user to login with permissions of user
unix_ecannot=You are not allowed to configure Unix user authentication
unix_epam=Unix authentication is not available as the <tt>Authen::PAM</tt> Perl module is not installed or not working properly.

sessions_title=Current Login Sessions
sessions_desc=Current Webmin session logins are listed below. To cancel an existing session and force the user to login again, click on its session ID.
sessions_id=Session ID
sessions_user=Webmin user
sessions_login=Logged in at
sessions_lview=View logs..

  0707010005c18d000081a40000000000000002000000013d1fe2d000001d4e000000200000000000000000000000000000001200000003reloc/acl/lang/es index_title=Usuarios de Webmin
index_user=Usuario
index_modules=Módulos
index_create=Crear un nuevo usuario de Webmin
index convert=Convert usuarios Unix a Webmin
index_rcreate=Crear un nuevo usuario de nivel de riesgo
index_cert=Requerir un certificado SSL
index_certmsg=Haz click en este botón para requerir un certificado SSL que te permita hacer un login seguro a Webmin sin tener que digitar un nombre de usuario y su clave de acceso.
index_return=lista de usuarios
index_none=Ninguno
index_edit=Editar Módulo ACL:
index_global=ACL Global
index_users=Usuarios de Webmin
index_groups=Grupos de Webmin
index_group=Grupo
index_nousers=No se han definido usuarios editables de Webmin.
index_nogroups=No se han definido grupos editables de Webmin.
index_gcreate=Crear un nuevo grupo de Webmin
index_members=Miembros
index_modgroups=Módulos desde el grupo $1

edit_title=Editar Usuario de Webmin
edit_title2=Crear Usuario de Webmin
edit_rights=Derechos de acceso de usuario de Webmin
edit_user=Nombre de Usuario
edit_group=Miembro de grupo
edit_pass=Clave de Acceso
edit_same=Igual que en Unix
edit_pam=Autenticación PAM
edit_dont=No cambiar
edit_set=Poner a
edit_modules=Módulos
edit_clone=Clon
edit_lang=Lenguage
edit_notabs=¿Pongo los módulos por Categorías?
edit_cert=Nombre de certificado SSL
edit_none=Ninguno
edit_ips=Control de acceso a IP
edit_all=Permitir desde todas las direcciones
edit_allow=Sólo permitir desde direcciones listadas
edit_deny=Denegar desde direcciones listadas
edit_ipdesc=El control de acceso de usuario a IP funciona al igual que el control global de acceso a IP en el módulo de Configuración de Webmin. Sólo si un usuario pasa los controles globales se realizará el chequeo aquí también.
edit_skill=Nivel de inteligencia
edit_risk=Nivel de riesgo
edit_risk_high=Super usuario
edit_risk_medium=Usuario de Administración
edit_risk_low=Usuario normal
edit_groupmods=(Añadido a los módulos de grupo)
edit_euser=No estás autorizado a editar este usuario
edit_ecreate=No estás autorizado a crear usuarios

save_err=Error al salvar usuario
save_ename='$1' no es un nombre de usuario válido
save_edup=El nombre de usuario '$1' ya está existe
save_edeny=no te puedes denegar a ti mismo acceso al módulo de Usuarios de Webmin
save_eos=La misma opción que la clave de acceso de Unix no está soportada por tu sistema operativo.
save_emd5=La misma opción que la clave de acceso de Unix no puede ser usada en sistemas con encriptación MD5
save_eunix=El usuario Unix '$1' no existe
save_emod=No puedes conceder acceso al módulo '$1'
save_ecreate=No estás autorizado a crear usuarios
save_euser=No estás autorizado a editar este usuario
save_ecolon=Las claves de acceso no pueden contener el carácter ':'
save_eself=Tu dirección IP actual ($1) sería denegada
save_epam=La autenticación PAM no está disponible ya que el módulo de Perl <tt>Authen::PAM</tt> no está instalado o no funciona adecuádamente.
save_egroup=No estás autorizado a asignar a ese grupo

delete_err=No puedo borrar este usuario
delete_eself=No te puedes borrar a ti mismo
delete_ecannot=No estás autorizado a borrar usuarios
delete_euser=No estás autorizado a borrar este usuario

cert_title=Requerir Certificado
cert_issue=Adjuntar Certificado
cert_header=Detalles del Nuevo certificado
cert_msg=Este formuario te permite requerir un certificado de cliente SSL que será usado en el futuro para garantizarte el acceso a Webmin en vez de tu nombre de usuario y clave de aceso. Esto es más seguro, pero debido a que la autentificación, es automática no podrás cambiar a un usuario diferente cuando uses el certificado.
cert_cn=Tu nombre
cert_email=Dirección de Correo
cert_ou=Departamento
cert_o=Organización
cert_sp=Estado
cert_c=Código de País
cert_key=Medida de Clave
cert_ok=Tu certificado para $1 ha sido generado con éxito e instalado en tu navegador de web.
cert_ekey=Una nueva clave SSL no fue lanzada por tu navegador - quizá no soporta certificados de cliente SSL.
cert_eca=No pude configurar autoridad de certificado: $1
cert_already=Aviso - ya estás usandi el certificado $1.

acl_title=Control de Acceso a Módulo
acl_title2=Para $1 en $2
acl_title3=Para grupo $1 en $2
acl_options=$1 opciones de control de acceso
acl_config=¿Puede editar la configuración del módulo?
acl_uall=Todos los usuarios
acl_usel=Los seleccionados...
acl_users=Usuarios que pueden ser editados
acl_mods=Puede conceder acceso a
acl_all=Todos los módulos
acl_own=Sólo sus propios módulos
acl_sel=Módulos seleccionados...
acl_create=¿Puede crear nuevos usuarios?
acl_delete=¿Puede borrar usuarios?
acl_rename=¿Puede renombrar usuarios?
acl_acl=¿Puedo editar control de acceso al módulo?
acl_lang=¿Puedo cambiar el lenguaje?
acl_chcert=¿Puedo cambiar el nombre de certificado SSL?
acl_euser=No estás autorizado a editar la ACL de este usuario
acl_egroup=No estás autorizad a editar la ACL de este grupo
acl_emod=No estás autorizado a editar la ACL de este módulo
acl_others=¿Puede ver los módulos inaccesibles?
acl_cert=¿Puedo requerir el certificado?
acl_err=No pude salvar control de acceso
acl_groups=¿Puede editar grupos?
acl_gassign=Puede asignar usuarios a grupos
acl_gall=Todos los grupos
acl_gsel=Los seleccionados...
acl_gnone=Ninguno
acl_perms=Recién creada obtención de usuarios
acl_perms_1=Mismo módulo de control de acceso que el creador
acl_perms_0=Módulo por defecto de control de acceso

log_modify=Modificado usuario de Webmin $1
log_rename=Renombrado usuario de Webmin $1 por $2
log_create=Creado usuario de Webmin $1
log_clone=Clonado usuario de Webmin $1 en $2
log_delete=Borrado usuario de Webmin $1
log_acl=Actualizado acceso de $1 en $2
log_cert=Emitido certificado para usuario $1
log_modify_g=Modificado grupo de Webmin $1
log_rename_g=Renombrado grupo de Webmin $1 a $2
log_create_g=Creado grupo de Webmin $1
log_delete_g=Borrado grupo de Webmin $1

gedit_ecannot=No estás autorizado a editar grupos
gedit_title=Editar Grupo de Webmin
gedit_title2=Crear Grupo de Webmin
gedit_group=Nombre de Grupo
gedit_rights=Derechos de acceso a grupo de Webmin
gedit_modules=Módulos de Miembros

gdelete_err=No pude borrar el grupo
gdelete_ecannot=No estás autorizado a borrar grupos
gdelete_euser=No puedes borrar tu propio grupo
gdelete_title=Borrar Grupo
gdelete_desc=¿Estás seguro de quere borrar el grupo $1 y sus usuarios miembro $2?
gdelete_ok=Borrar Grupo

gsave_err=No pude salvar grupo
gsave_ename=Nombre de grupo sin poner o inválido
gsave_edup=Nombre de grupo ya está en uso

convert_title=Convertir Usuarios
convert_nogroups=No se han definido grupos de Webmin en tu sistema. Al menos un grupo debe de ser creado antes de convertir con el fin de definir permisos para los usuarios convertidos.
convert_desc=Este formulario te permite convertir usuarios Unix ya existentes a usuarios de Webmin. Los permisos de cada usuario de Webmin son determinados por el grupo seleccionado debajo.
convert_0=Todos los usuarios
convert_1=Sólo los usuarios
convert_2=Todos excepto los usuarios
convert_3=Usuarios con grupo
convert_4=Usuarios con UID en rango
convert_group=Asignar nuevos usuarios a grupo de Webmin
convert_ok=Convertir Ahora
convert_err=No pude convertir usuarios
convert_eusers=No se han digitado usuarios que convertir
convert_egroup=El grupo de Unix no existe
convert_emin=UID mínima inválida
convert_emax=UID máxima inválida
convert_ewgroup=No existe tal grupo de Webmin
convert_skip=$1 siendo saltado
convert_exists=$1 ya existe
convert_added=$1 Siendo añadido
convert_msg=Convirtiendo usuarios Unix...
  0707010005c18e000081a40000000000000002000000013d1fe2d000002101000000200000000000000000000000000000001200000003reloc/acl/lang/fr index_title=Utilisateurs Webmin
index_user=Utilisateurs
index_modules=Modules autorisés
index_create=Créer un nouvel utilisateur Webmin
index_rcreate=Créer un nouvel utilisateur à niveau de risque
index_convert=Convertir un utilisateur du système (Unix) en utilisateur Webmin
index_cert=Demander un certificat SSL
index_certmsg=Cliquez sur ce bouton pour demander un certificat SSL qui vous permettra de vous connecter à Webmin de manière sûre sans avoir besoin d'entrer un nom d'utilisateur et un mot de passe.
index_return=la liste des utilisateurs
index_none=Aucun
index_edit=Éditer le module ACL :
index_global=ACL global
index_users=Les utilisateurs
index_groups=Les groupes
index_group=Groupe
index_nousers=Aucun utilisateur Webmin éditable n'est défini.
index_nogroups=Aucun groupe Webmin éditable n'est défini.
index_gcreate=Créer un nouveau groupe d'utilisateur
index_members=Les membres
index_modgroups=Modules du groupe $1

edit_title=Éditer un utilisateur Webmin
edit_title2=Créer un utilisateur Webmin
edit_rights=Droits d'accès de l'utilisateur Webmin
edit_user=Nom d'utilisateur
edit_group=Membre du groupe
edit_pass=Mot de passe
edit_same=Semblable à celui du système
edit_pam=Authentification PAM
edit_dont=Inchangé
edit_set=Remplacer par
edit_modules=Modules autorisés
edit_clone=Dupliquer
edit_lang=Langue
edit_notabs=Catégoriser les modules?
edit_cert=Nom du certificat SSL
edit_none=Aucun
edit_ips=Contrôle d'accès par adresse IP
edit_all=Autoriser depuis toutes les adresses
edit_allow=Autoriser uniquement depuis les adresses spécifiées
edit_deny=Refuser depuis les adresses spécifiées
edit_ipdesc=Le contrôle d'accès par adresses IP fonctionne de la même manière pour un utilisateur que son équivalent global dans le module de configuration de Webmin. Ces contrôles ne seront effectués que si l'utilisateur a passé avec succès les contrôles globaux.
edit_skill=Niveau de compétence
edit_risk=Niveau de risque
edit_risk_high=Super-utilisateur
edit_risk_medium=Utilisateur administrateur
edit_risk_low=Utilisateur normal
edit_groupmods=(en plus des modules du groupe)
edit_euser=Vous n'êtes pas autorisé à éditer cet utilisateur
edit_ecreate=Vous n'êtes pas autorisé à créer un utilisateur

save_err=Impossible de sauvegarder l'utilisateur
save_ename='$1' n'est pas un nom d'utilisateur valide
save_edup=L'utilisateur '$1' existe déjà
save_edeny=Vous ne pouvez pas vous interdire d'avoir accès au module de configuration des utilisateurs Webmin
save_eos=L'option "mot de passe semblable à celui du système" n'est pas supportée par votre système d'exploitation
save_emd5=L'option "mot de passe semblable à celui du système" ne peut pas être sélectionnée avec un chiffrage par MD5
save_eunix=Le compte système '$1' n'existe pas
save_emod=Vous ne pouvez pas donner l'accès au module $1
save_ecreate=Vous n'êtes pas autorisé à créer un utilisateur
save_euser=Vous n'êtes pas autorisé à éditer cet utilisateur
save_ecolon=Les mots de passe ne peuvent pas contenir le caractère ":"
save_eself=Votre adresse IP actuelle ($1) serait refusée
save_epam=L'authentification PAM n'est pas disponible car le module Perl <tt>Authen::PAM</tt> n'est pas installé ou ne fonctionne pas correctement.
save_egroup=Vous n'avez sélectionné aucun groupe d'où obtenir la liste des modules

delete_err=Impossible de supprimer cet utilisateur
delete_eself=Vous ne pouvez vous supprimer vous-même
delete_ecannot=Vous n'êtes pas autorisé à supprimer un utilisateur
delete_euser=Vous n'êtes pas autorisé à supprimer cet utilisateur

cert_title=Demande d'un certificat
cert_issue=Délivrer un nouveau certificat
cert_header=Détails pour le nouveau certificat
cert_msg=Ce formulaire vous permet de demander un certificat SSL client, qui sera ensuite utilisé pour vous permettre l'accès à Webmin sans avoir à taper vos nom et mot de passe. Cette méthode est plus sûre, mais comme l'authentification est automatique, vous ne pourrez plus changer d'utilisateur quand vous utiliserez le certificat.
cert_cn=Votre nom
cert_email=Adresse électronique
cert_ou=Département
cert_o=Organisation
cert_sp=État
cert_c=Code du pays
cert_key=Taille de la clef
cert_ok=Votre certificat pour $1 a été généré avec succès et est installé dans votre navigateur web.
cert_ekey=Votre navigateur n'a pas envoyé de nouvelle clef SSL. Peut-être qu'il ne supporte pas les certificats SSL client.
cert_eca=Impossible de définir l'autorité du certificat: $1
cert_already=Attention, vous utilisez déjà le certificat $1.

acl_title=Contrôle d'accès du module
acl_title2=De $2 pour l'utilisateur $1
acl_title3=De $2 pour le groupe $1
acl_options=Contrôle d'accès du module $1
acl_config=Peut éditer la configuration du module ?
acl_uall=Tous les utilisateurs
acl_usel=Sélectionné...
acl_users=Utilisateurs pouvant être édités
acl_mods=Peut donner accès à
acl_all=Tous les modules
acl_own=Seulement ses modules
acl_sel=Modules sélectionnés...
acl_create=Peut créer un nouvel utilisateur ?
acl_delete=Peut supprimer un utilisateur ?
acl_rename=Peut renommer un utilisateur ?
acl_acl=Peut éditer les contrôles d'accès au module ?
acl_lang=Peut changer la langue ?
acl_chcert=Peut changer le nom du certificat SSL ?
acl_euser=Vous n'êtes pas autorisé à éditer le contrôle d'accès pour cet utilisateur
acl_egroup=Vous n'êtes pas autorisé à éditer les ACL de groupe
acl_emod=Vous n'êtes pas autorisé à éditer le contrôle d'accès de ce module
acl_others=Peut voir les modules inaccessibles ?
acl_cert=Peut demander un certificat ?
acl_err=Impossible d'enregistrer les contrôles d'accès
acl_groups=Peut éditer les groupes ?
acl_gassign=Peux assigner un utilisateur à des groupes
acl_gall=Tous les groupes
acl_gsel=Sélectionnés...
acl_gnone=Aucun
acl_perms=Les nouveaux utilisateurs créés ont 
acl_perms_1=Même contrôle d'accès au module que le créateur
acl_perms_0=Contrôle d'accès au module par défaut



log_modify=Modifié l'utilisateur Webmin $1
log_rename=Renommé l'utilisateur Webmin $1 en $2
log_create=Créé l'utilisateur Webmin $1
log_clone=Cloné l'utilisateur Webmin $1 en $2
log_delete=Détruit l'utilisateur Webmin $1
log_acl=Mis à jour l'accès pour $1 dans $2
log_cert=Créé un certificat pour l'utilisateur $1
log_modify_g=Modifié le groupe Webmin $1
log_rename_g=Renommé le groupe Webmin $1 en $2
log_create_g=Créé le groupe Webmin $1
log_delete_g=Détruit le groupe Webmin $1

gedit_ecannot=Vous n'êtes pas autorisé à éditer des groupes
gedit_title=Édition d'un groupe Webmin
gedit_title2=Création d'un groupe Webmin
gedit_group=Nom du groupe
gedit_rights=Droits d'accès du groupe Webmin
gedit_modules=Modules accessibles aux membres

gdelete_err=Impossible de détruire le groupe
gdelete_ecannot=Vous n'êtes pas autorisé à détruire des groupes
gdelete_euser=Vous ne pouvez pas détruire votre propre groupe
gdelete_title=Destruction du groupe
gdelete_desc=Voulez-vous vraiment détruire le groupe $1 et les utilisateurs qui en sont membres $2?
gdelete_ok=Détruire le groupe

gsave_err=Impossible d'enregistrer le groupe
gsave_ename=Nom du groupe manquant ou non valide
gsave_edup=Ce nom de groupe est déjà utilisé

convert_title=Convertir les utilisateurs
convert_nogroups=Aucun groupe Webmin n'a été défini sur votre système. Vous devez créer au moins un groupe avant de réaliser la conversion, afin que les droits des utilisateurs convertis soient définis.
convert_desc=Ce formulaire vous permet de convertir des utilisateurs définis sur votre système (UNIX) en utilisateurs Webmin. Les droits de chaque nouvel utilisateur Webmin seront déterminés au moyen du groupe sélectionné ci-dessous.
convert_0=Tous les utilisateurs
convert_1=Seulement les utilisateurs
convert_2=Tout le monde, sauf les utilisateurs
convert_3=Utilisateurs du groupe
convert_4=Utilisateurs dont l'IUD figure dans l'intervalle
convert_group=Assigner les nouveaux utilsateurs au groupe Webmin
convert_sync=Utiliser à l'avenir le même mot de passe que l'utilisateur Unix ?
convert_ok=Convertir maintenant
convert_err=Impossible de convertir les utilisateurs
convert_eusers=Aucun utilisateur à convertir entré
convert_egroup=Le groupe Unix n'existe pas
convert_emin=UID minimum non valide
convert_emax=UID maximum non valide
convert_ewgroup=Groupe Webmin inexistant
convert_ewgroup2=Vous n'êtes pas autorisé à assigner de nouveaux utilisateurs à ce groupe
convert_skip=$1 sera ignoré 
convert_exists=$1 existe déjà
convert_added=$1 a été ajouté
convert_msg=Les utilisateurs du système sont en train d'être convertis...
   0707010005c1f4000081a40000000000000002000000013d1fe2d10000117c000000200000000000000000000000000000001200000003reloc/acl/lang/hu index_title=Webmin felhasználók
index_user=Felhasználó
index_modules=Modulok, melyekhez hozzáférhet
index_create=Új Webmin felhasználó létrehozása
index_cert=SSL igazolvány kérése
index_certmsg=Ezt a gombot nyomd meg, ha egy SSL igazolványt akarsz kérni, mely a továbbiakban lehetõvé teszi, hogy a Webmin szerverre biztonságos módon, azonosító és jelszó használata nélkül léphess be.
index_return=a felhasználók listájához
index_none=Egyik sem
index_edit=A modulhoz való hozzáférés változtatása:

edit_title=Felhasználói profil módosítása
edit_title2=Új felhasználó felvétele
edit_rights=A Webmin felhasználó hozzáférési jogai
edit_user=Azonosító
edit_pass=Jelszó
edit_same=Ugyanaz, mint az operációs rendszerhez
edit_dont=Változatlan
edit_set=Új
edit_modules=Modulok
edit_clone=Klónozás
edit_lang=Nyelv
edit_notabs=Modulok kategorizálva?
edit_cert=Az SSL igazolványon szereplõ név
edit_none=Nincs
edit_ips=IP hozzáférési lista
edit_all=Bárhonnan beléphet
edit_allow=Csak a megadott címekrõl
edit_deny=A felsoroltak kivételével bárhonnan
edit_ipdesc=A felhasználói szintû hozzáférési lista pont úgy mûködik, mint a "Webmin konfigurálása" nevû modulban a globális IP hozzáférési lista. A felhasználó gépének mindkét lista szerinti ellenõrzésnek meg kell felelnie.
edit_euser=Nincs jogod felhasználói adatok módosításához
edit_ecreate=Nincs jogod új felhasználó felvételéhez

save_err=Nem sikerült elmenteni
save_ename='$1' hibás azonosító
save_edup=A '$1' azonosító már foglalt
save_edeny=Nem tilthatod meg magadnak a hozzáférést a "Webmin felhasználók" modulhoz
save_eos=Az operációs rendszer nem engedi, hogy az õ jelszavát használd
save_emd5=Ha az operációs rendszer jelszava MD5 titkosítású, nem használható a Webminhez
save_eunix=Az operációs rendszernek nincs '$1' azonosítójú felhasználója
save_emod=Nem adhatsz hozzáférési jogokat a '$1' modulhoz
save_ecreate=Nem hozhatsz létre új felhasználókat
save_euser=Nem módosíthatod ennek a felhasználónak az adatait
save_ecolon=A jelszóban nem lehet kettõspont (:)
save_eself=Nem tilthatod le a sajat IP címedet ($1)

delete_err=Nem sikerült a törlés
delete_eself=Nem törölheted önmagadat
delete_ecannot=Nincs jogod felhasználókat törölni
delete_euser=Nincs jogod törölni ezt a felhasználót

cert_title=Igazolvány kérése
cert_issue=Igazolvány kiadása
cert_header=Az új igazolvány tartalma
cert_msg=Ezen az oldalon egy SSL (Secure Socket Layer) igazolványt kérhetsz. Ennek használatával a böngészõd titkosított kommunikációt folytat a Webminnel, és egy digitális aláírással azonosítja magát ahelyett, hogy minden alkalommal (lehallgatható módon) beküldené az azonosítódat és jelszavadat. Ez biztonságosabb, de az automatikus azonosítás miatt nem tudsz felhasználót váltani.<p>Ha netán le van tiltva a JavaScript a böngészõdben, most engedélyezd egy kicsit!
cert_cn=Név
cert_email=E-mail cím
cert_ou=Szervezeti egység
cert_o=Szervezet
cert_sp=Ország
cert_c=Országkód
cert_key=Kulcsméret [bit]
cert_ok=A(z) '$1' névre kiállított igazolvány elkészült, és bekerült a böngészõdbe.
cert_ekey=Az új SSL kulcsot nem sikerült átadni a böngészõdnek. Talán azért, mert nem támogatja az kliensoldali SSL igazolványokat.
cert_eca=Nem sikerült a hitelesítõ központ felállítása: $1
cert_already=Figyelem! Már van egy igazolványod: $1.

acl_title=Hozzáférési jogok
acl_title2=$1 számára a "$2" modulhoz
acl_options=A "$1" modul feletti hatáskör
acl_config=Megváltoztathatja a modul konfigurációját?
acl_users=A megváltoztatható felhasználók listája
acl_mods=Mihez adhat jogokat?
acl_all=Minden modulhoz
acl_own=Csak a saját moduljaihoz
acl_sel=Az alant megjelölt modulokhoz
acl_create=Létrehozhat új felhasználókat?
acl_delete=Törölhet felhasználókat?
acl_rename=Átnevezhet felhasználókat?
acl_acl=Megváltoztathatja a modul hozzáférési jogait?
acl_lang=Megváltoztathatja a nyelvet?
acl_chcert=Megváltoztathatja az SSL igazolványon álló nevet?
acl_euser=Nincs jogod ezen felhasználó hozzáférési jogait megváltoztatni
acl_emod=Nincs jogod ezen modul hozzáférési jogait megváltoztatni
acl_others=Láthatja az elérhetetlen modulokat?
acl_cert=Kérhet SSL igazolványt?
acl_err=Nem sikerült elmenteni a hozzáférési jogokat

log_modify=$1 Webmin felhasználó módosítása
log_rename=$1 Webmin felhasználó átnevezése $2-ra/re
log_create=$1 Webmin felhasználó létrehozása
log_clone=$1 Webmin felhasználó klónozása $2 néven
log_delete=$1 Webmin felhasználó törlése
log_acl=$1 jogai a $2 modulhoz módosítva
log_cert=Igazolvány kiadása $1 felhasználó számára

0707010005c1f5000081a40000000000000002000000013d1fe2d100002579000000200000000000000000000000000000001200000003reloc/acl/lang/it index_title=Utenti Webmin 
index_user=Utente
index_modules=Moduli
index_create=Crea un nuovo utente Webmin
index_rcreate=Create a new risk-level user
index_convert=Converti gli utenti Unix ad utenti Webmin
index_cert=Richiedi un certificato SSL
index_certmsg=Clicca questo pulsante per richiedere un certificato SSL che ti permetter&agrave; di entrare in modo sicuro in Webmin senza dover inserire nome utente e password.
index_return=Lista Utenti
index_none=Nessuno
index_edit=Modifica il Modulo ACL :
index_global=ACL Globale 
index_users=Utenti Webmin
index_groups=Gruppi Webmin
index_group=Gruppo
index_nousers=Non &egrave; definito nessun utente Webmin modificabile.
index_nogroups=Non &egrave; definito nessun gruppo Webmin modificabile. 
index_gcreate=Crea un nuovo gruppo Webmin
index_members=Membri
index_modgroups=Moduli dal gruppo $1
index_sync=Configura la sincronizzazione utenti Unix
index_unix=Configura l'autenticazione utenti Unix

edit_title=Modifica l'Utente Webmin
edit_title2=Crea un Utente Webmin
edit_rights=Diritti d'accesso per l'utente Webmin
edit_user=Username
edit_group=Membro del gruppo

edit_pass=Password
edit_same=Stessa di Unix
edit_lock=Nessuna password accettata
edit_pam=Autenticazione PAM 
edit_dont=Non cambiare
edit_set=Imposta a
edit_modules=Moduli
edit_clone=Copia
edit_lang=Lingua
edit_notabs=Dividi i moduli per categorie?
edit_cert=Nome certificato SSL
edit_none=Nessuno
edit_ips=Controllo di accesso IP 
edit_all=Permetti da tutti gli indirizzi
edit_allow=Permetti solo dagli indirizzi in lista
edit_deny=Nega dagli indirizzi in lista
edit_ipdesc=Il controllo di accesso IP funziona alla stessa maniera del controllo di accesso globale nel modulo Configurazione Webmin. Solo se un utente passa i controlli globali verranno controllati anche questi.  
edit_skill=Livello d'esperienza
edit_risk=Livello di rischio
edit_risk_high=Super user
edit_risk_medium=Admin user
edit_risk_low=Normal user
edit_groupmods=(In aggiunta ai moduli dal gruppo)
edit_euser=Non hai i permessi per modificare questo utente
edit_ecreate=Non hai i permessi per creare nuovi utenti
edit_theme=Tema personale
edit_themeglobal=Dalla Configurazione Webmin
edit_themedef=Tema Webmin di default 

save_err=Errore nel salvataggio dell'utente
save_ename='$1' non &egrave; uno Username nome valido
save_edup=Lo username '$1' &egrave; gia' utilizzato
save_edeny=Non puoi negare a te stesso l'accesso al modulo Utenti Webmin
save_eos=The Same as Unix password option is not supported on your operating system.
save_emd5=The Same as Unix password option cannot be used on systems with MD5 encryption
save_eunix=L'utente Unix '$1' non esiste
save_emod=Non puoi dare accesso al modulo '$1'
save_ecreate=Non hai i permessi per creare utenti
save_euser=Non hai i permessi per modificare questo utente
save_ecolon=Le password non possono contenere il carattere :
save_eself=Il tuo indirizzo IP attuale ($1) verrebbe negato
save_epam=L'autenticazione PAM non &egrave; disponibile in quanto il modulo Perl <tt>Authen::PAM</tt> non &egrave; installato o non funziona correttamente.
save_epam2=Puoi usare il modulo Moduli Perl di Webmin per <a href='$1'>scaricare ed installare Authen::PAM</a> adesso.
save_egroup=Non hai i permessi per assegnare a quel gruppo

delete_err=Errore nell'eliminazione dell'utente
delete_eself=Non puoi eliminare te stesso
delete_ecannot=Non hai i permessi per eliminare utenti
delete_euser=Non hai i permessi per eliminare questo utente

cert_title=Richiesta Certificato
cert_issue=Emetti Certificato
cert_header=Dettagli del nuovo certificato
cert_msg=Questo maschera ti permette di richiedere un certificato client SSL che verr&agrave; usato in futuro per permetterti l'accesso a Webmin invece che il tuo username e password. E' pi&ugrave; sicuro, ma siccome l'autenticazione &egrave; automatica non potrai passare ad un utente diverso usando il certificato.
cert_cn=Tuo nome
cert_email=Indirizzo Email
cert_ou=Dipartimento
cert_o=Organizzazione
cert_sp=Stato
cert_c=Codice Stato
cert_key=Dimensione chiave
cert_ok=Il tuo certificato per $1 &egrave; stato generato ed installato nel tuo browser.
cert_ekey=Il tuo browser non ha emesso una nuova chiave SSL - forse non supporta i certificati client SSL.
cert_eca=Impostazione dell'autority del certificato fallita : $1
cert_already=Attenzione - stai gi&agrave; usando il certificato $1.


acl_title=Controllo di Accesso ai Moduli
acl_title2=Per $1 in $2
acl_title3=Per il gruppo $1 in $2
acl_options=$1 opzioni di accesso
acl_config=Pu&ograve; modificare la configurazione del modulo?
acl_uall=Tutti gli utenti
acl_usel=Selezionati ..
acl_gr=Membri di $1
acl_users=Utenti che pu&ograve; modificare
acl_mods=Pu&ograve; dare accesso a
acl_all=Tutti i moduli
acl_own=Solo ai suoi moduli
acl_sel=Moduli selezionati ..
acl_create=Pu&ograve; creare nuovi utenti?
acl_delete=Pu&ograve; eliminare gli utenti?
acl_rename=Pu&ograve; rinominare gli utenti?
acl_acl=Pu&ograve; modificare i controlli di accesso?
acl_lang=Pu&ograve; modificare la lingua?
acl_chcert=Pu&ograve; modificare il nome del certificato SSL?
acl_euser=Non hai i permessi per modificare l'accesso di questo utente
acl_emod=Non hai i permessi per modificare l'accesso per questo modulo
acl_egroup=Non hai i permessi per modificare le ACL di gruppo
acl_others=Pu&ograve; vedere i moduli inaccessibili?
acl_cert=Pu&ograve; richiedere certificati?
acl_err=Salvataggio del controllo di accesso fallito
acl_groups=Pu&ograve; modificare i gruppo?
acl_gassign=Pu&ograve; assegnare utenti ai gruppi
acl_gall=Tutti i gruppi
acl_gsel=Selezionati ..
acl_gnone=Nessuno
acl_perms=I nuovi utenti creati ricevono
acl_perms_1=Gli stessi controlli di accesso ai moduli del loro creatore
acl_perms_0=I controlli di accesso ai moduli di default
acl_sync=Pu&ograve; configurare la sincronizzazione utente?
acl_unix=Pu&ograve; configurare l'autenticazione unix?

log_modify=Modificato l'utente Webmin $1
log_rename=Rinominato l'utente Webmin $1 in $2
log_create=Creato l'utente Webmin $1
log_clone=Clonato l'utente Webmin $1 in $2
log_delete=Eliminato l'utente Webmin $1
log_acl=Aggiornato l'accesso per $1 in $2
log_cert=Emesso certificato per l'utente $1
log_modify_g=Modificato il gruppo Webmin $1
log_rename_g=Rinominato il gruppo Webmin $1 in $2
log_create_g=Creato il gruppo Webmin  $1
log_delete_g=Eliminato il gruppo Webmin $1

gedit_ecannot=Non hai i permessi per modificare i gruppi
gedit_title=Modifica Gruppo Webmin
gedit_title2=Crea Gruppo Webmin
gedit_group=Nome gruppo
gedit_rights=Diritti di accesso Gruppo Webmin
gedit_modules=Moduli dei membri

gdelete_err=Eliminazione gruppo fallita
gdelete_ecannot=Non hai i permessi per eliminare i gruppi
gdelete_euser=Non puoi eliminare il tuo stesso gruppo
gdelete_title=Elimina Gruppo
gdelete_desc=Sei sicuro di voler eliminare il gruppo $1 ed i suoi utenti membri $2 ?
gdelete_ok=Elimina Gruppo

gsave_err=Salvataggio gruppo fallito
gsave_ename=Nome gruppo mancante o non valido
gsave_edup=Nome gruppo gi&agrave; in uso

convert_title=Converti Utenti
convert_ecannot=Non hai i permessi per convertire gli utenti Unix
convert_nogroups=Non &egrave; stato definito nessun gruppo Webmin nel tuo sistema. Bisogna creare almeno un gruppo prima di convertire per poter definire i permessi degli utenti convertiti.
convert_desc=Questa maschera ti permette di convertire gli utenti Unix esistenti in utenti Webmin. I permessi di ogni nuovo utente Webmin saranno determinati dal gruppo selezionato sotto.
convert_0=Tutti gli utenti
convert_1=Solo gli utenti
convert_2=Tutti eccetto 
convert_3=Utenti con gurppo
convert_4=Utenti con UID nel range
convert_group=Assegna i nuovi utenti al gruppo Webmin
convert_sync=Usa la stessa password di Unix in futuro?
convert_ok=Converti Adesso
convert_err=Conversione utenti fallita
convert_eusers=Non c'erano inseriti gli utenti da convertire
convert_egroup=Il gruppo Unix non esiste
convert_emin=UID minimo non valido
convert_emax=UID massimo non valido
convert_ewgroup=Il gruppo Webmin non esiste
convert_ewgroup2=Non hai i permessi per assegnare nuovi utenti a questo gruppo
convert_skip=$1 viene saltato
convert_exists=$1 esiste gi&agrave;
convert_added=$1 viene aggiunto
convert_msg=Conversione utenti Unix in corso...

sync_title=Sincronizzazione Utenti Unix
sync_desc=Questa maschera ti permette di configurare la sincronizzazione automatica degli utenti Unix creati con Webmin e gli utenti in questo modulo.
sync_nogroups=Nessun gruppo Webmin definito nel tuo sistema. Bisogna creare almeno un gruppo per impostare l'accesso per gli utenti creati.
sync_create=Crea un utente Webmin quando un utente Unix viene creato.
sync_update=Aggiorna l'utente Webmin corrispondente quando un untente Unix viene aggiornato.
sync_delete=Elimina l'utente Webmin corrispondente quando un utente Unix viene Eliminato.
sync_group=Assegna i nuovi utenti al gruppo Webmin
sync_ecannot=Non hai i permessi per configurare la sincronizzazione utente.

unix_title=Autenticazione Utenti Unix
unix_desc=Questa pagina ti permette di configurare Webmin per convalidare i tentativi di login nella lista utenti di sistema e PAM. Pu&ograve; essere utile se hai un grande numero di utenti Unix esistenti ai quali vuoi dare accesso a Webmin.
unix_def=Permetti solo agli utenti Webmin di entrare
unix_user=Permetti a qualsiasi utente Unix di entrare con i permessi di utente
unix_ecannot=Non hai i permessi per configurare l'autenticazione utenti Unix
unix_epam=L'autenticazione Unix non &egrave; disponibile in quanto il modulo Perl <tt>Authen::PAM</tt> non &egrave; installato o non funziona correttamente.
   0707010005c1f6000081a40000000000000002000000013d1fe2d100001a58000000200000000000000000000000000000001900000003reloc/acl/lang/ja_JP.euc  index_title=Webmin¥æ¡¼¥¶
index_user=¥æ¡¼¥¶
index_modules=¥â¥¸¥å¡¼¥ë
index_create=¿·¤·¤¤Webmin¥æ¡¼¥¶¤òºîÀ®
index_rcreate=¿·¤·¤¤¥ê¥¹¥¯¥ì¥Ù¥ë¥æ¡¼¥¶¤òºîÀ®
index_convert=Unix¤òWebmin¤ËÊÑ´¹
index_cert=SSL¾ÚÌÀ½ñ¤òÍ×µá
index_certmsg=¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþÎÏ¤»¤º¤ËWebmin¤Ë°ÂÁ´¤Ë¥í¥°¥¤¥ó¤¹¤ë¤¿¤á¤ÎSSL¾ÚÌÀ½ñ¤òÍ×µá¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_return=¥æ¡¼¥¶°ìÍ÷
index_none=¤Ê¤·
index_edit=¥â¥¸¥å¡¼¥ëACL¤òÊÔ½¸
index_global=¥°¥í¡¼¥Ð¥ëACL
index_users=Webmin¥æ¡¼¥¶
index_groups=Webmin¥°¥ë¡¼¥×
index_group=¥°¥ë¡¼¥×
index_nousers=ÊÔ½¸²ÄÇ½¤ÊWebmin¥æ¡¼¥¶¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_nogroups=ÊÔ½¸²ÄÇ½¤ÊWebmin¥°¥ë¡¼¥×¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_gcreate=¿·¤·¤¤Webmin¥°¥ë¡¼¥×¤òºîÀ®
index_members=¥á¥ó¥Ð¡¼
index_modgroups=¥°¥ë¡¼¥×$1¤Î¥â¥¸¥å¡¼¥ë

edit_title=Webmin¥æ¡¼¥¶¤ÎÊÔ½¸
edit_title2=Webmin¥æ¡¼¥¶¤ÎºîÀ®
edit_rights=Webmin¥æ¡¼¥¶¤Î¥¢¥¯¥»¥¹¸¢
edit_user=¥æ¡¼¥¶Ì¾
edit_group=¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼
edit_pass=¥Ñ¥¹¥ï¡¼¥É
edit_same=Unix¤ÈÆ±¤¸
edit_pam=PAMÇ§¾Ú
edit_dont=ÊÑ¹¹¤Ê¤·
edit_set=ÊÑ¹¹:
edit_modules=¥â¥¸¥å¡¼¥ë
edit_clone=Ê£À½
edit_lang=¸À¸ì
edit_notabs=¥â¥¸¥å¡¼¥ë¤òÊ¬Îà¤·¤Þ¤¹¤«?
edit_cert=SSL¾ÚÌÀ½ñ¤ÎÌ¾Á°
edit_none=¤Ê¤·
edit_ips=IP¥¢¥¯¥»¥¹À©¸æ
edit_all=¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä
edit_allow=»ØÄê¤·¤¿¥¢¥É¥ì¥¹¤«¤é¤Î¥¢¥¯¥»¥¹¤Î¤ßµö²Ä
edit_deny=»ØÄê¤·¤¿¥¢¥É¥ì¥¹¤«¤é¤Î¥¢¥¯¥»¥¹¤òµñÈÝ
edit_ipdesc=¥æ¡¼¥¶Ã±°Ì¤ÎIP¥¢¥¯¥»¥¹À©¸æ¤Ï¡¢WebminÀßÄê¥â¥¸¥å¡¼¥ë¤Î¥°¥í¡¼¥Ð¥ëIP¥¢¥¯¥»¥¹À©¸æ¤ÈÆ±ÍÍ¤Ëµ¡Ç½¤·¤Þ¤¹¡£¥°¥í¡¼¥Ð¥ë¤ÊÀ©¸æ¤ò¥æ¡¼¥¶¤¬ÄÌ²á¤·¤¿¤È¤­¤Î¤ß¡¢¤³¤³¤Ç¤ÎÀßÄê¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
edit_skill=µ»½Ñ¥ì¥Ù¥ë
edit_risk=¥ê¥¹¥¯¥ì¥Ù¥ë
edit_risk_high=¥¹¡¼¥Ñ¥æ¡¼¥¶
edit_risk_medium=´ÉÍý¥æ¡¼¥¶
edit_risk_low=ÄÌ¾ï¤Î¥æ¡¼¥¶
edit_groupmods=(¥°¥ë¡¼¥×¤ÇÀßÄê¤·¤¿¥â¥¸¥å¡¼¥ë¤ËÄÉ²Ã)
edit_euser=¤³¤Î¥æ¡¼¥¶¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
edit_ecreate=¥æ¡¼¥¶¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó

save_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ename='$1'¤ÏÍ­¸ú¤Ê¥æ¡¼¥¶Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
save_edup=¥æ¡¼¥¶Ì¾'$1'¤Ï¤¹¤Ç¤Ë¥æ¡¼¥¶¤È¤·¤ÆÂ¸ºß¤·¤Þ¤¹
save_edeny=¼«Ê¬¼«¿È¤ÎWebmin¥æ¡¼¥¶¥â¥¸¥å¡¼¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òµñÈÝ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
save_eos=¤³¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¡ÖUnix¤ÈÆ±¤¸¡×¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
save_emd5=¡ÖUnix¤ÈÆ±¤¸¡×¥Ñ¥¹¥ï¡¼¥É¥ª¥×¥·¥ç¥ó¤Ï¡¢MD5°Å¹æ²½¤òÍÑ¤¤¤ë¥·¥¹¥Æ¥à¤Ç¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó
save_eunix=Unix¥æ¡¼¥¶'$1'¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_emod=¥â¥¸¥å¡¼¥ë'$1'¤Ø¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤Ç¤­¤Þ¤»¤ó
save_ecreate=¥æ¡¼¥¶¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
save_euser=¤³¤Î¥æ¡¼¥¶¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
save_ecolon=¥Ñ¥¹¥ï¡¼¥É¤Ë¡Ö:¡×Ê¸»ú¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
save_eself=¸½ºß¤ÎIP¥¢¥É¥ì¥¹ ($1) ¤ÏµñÈÝ¤µ¤ì¤Þ¤¹
save_epam=<tt>Authen::PAM</tt> Perl¥â¥¸¥å¡¼¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢Àµ¾ï¤ËÆ°ºî¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢PAMÇ§¾Ú¤òÍøÍÑ¤Ç¤­¤Þ¤»¤ó¡£
save_egroup=¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó

delete_err=¥æ¡¼¥¶¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
delete_eself=¼«Ê¬¼«¿È¤òºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
delete_ecannot=¥æ¡¼¥¶¤òºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
delete_euser=¤³¤Î¥æ¡¼¥¶¤òºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
cert_title=¾ÚÌÀ½ñ¤ÎÍ×µá
cert_issue=¾ÚÌÀ½ñ¤ÎÈ¯¹Ô
cert_header=¿·¤·¤¤¾ÚÌÀ½ñ¤Î¾ÜºÙ
cert_msg=¤³¤Î¥Õ¥©¡¼¥à¤ò»ÈÍÑ¤¹¤ë¤È¡¢º£¸åWebmin¤Ø¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ëºÝ¤Ë¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ¤µ¤ì¤ëSSL¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤òÍ×µá¤Ç¤­¤Þ¤¹¡£SSL¤Ï¤è¤ê°ÂÁ´¤Ç¤¹¤¬¡¢Ç§¾Ú¤Ï¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤ë¤¿¤á¡¢¾ÚÌÀ½ñ¤ò»ÈÍÑÃæ¤ËÊÌ¤Î¥æ¡¼¥¶¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
cert_cn=¤ªÌ¾Á°
cert_email=Email¥¢¥É¥ì¥¹
cert_ou=Éô½ð
cert_o=ÁÈ¿¥
cert_sp=¸©
cert_c=¹ñ¥³¡¼¥É
cert_key=¥­¡¼¤Î¥µ¥¤¥º
cert_ok=$1¤Î¾ÚÌÀ½ñ¤ÏÀµ¾ï¤ËÀ¸À®¤µ¤ì¡¢¤´»ÈÍÑ¤ÎWeb¥Ö¥é¥¦¥¶¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤·¤¿¡£
cert_ekey=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤«¤é¿·¤·¤¤SSL¥­¡¼¤ÏÁ÷¿®¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿ - ¥Ö¥é¥¦¥¶¤¬SSL¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
cert_eca=¾ÚÌÀ½ñ¤Î¸¢¸Â¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $1
cert_already=·Ù¹ð - ¤¹¤Ç¤Ë¾ÚÌÀ½ñ$1¤ò»ÈÍÑ¤·¤Æ¤¤¤Þ¤¹¡£

acl_title=¥â¥¸¥å¡¼¥ë¤Î¥¢¥¯¥»¥¹À©¸æ
acl_title2=$2¤Ë¤ª¤±¤ë$1
acl_title3=$2¤Ë¤ª¤±¤ë¥°¥ë¡¼¥×$1
acl_options=$1¤Î¥¢¥¯¥»¥¹À©¸æ¥ª¥×¥·¥ç¥ó
acl_config=¥â¥¸¥å¡¼¥ëÀßÄê¤ÎÊÔ½¸¤òµö²Ä¤·¤Þ¤¹¤«?
acl_uall=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_usel=ÁªÂò¤·¤¿¥æ¡¼¥¶..
acl_users=ÊÔ½¸²ÄÇ½¤Ê¥æ¡¼¥¶
acl_mods=¥¢¥¯¥»¥¹¤Îµö²ÄÂÐ¾Ý
acl_all=¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë
acl_own=½êÍ­¤¹¤ë¥â¥¸¥å¡¼¥ë¤Î¤ß
acl_sel=ÁªÂò¤·¤¿¥â¥¸¥å¡¼¥ë..
acl_create=¿·¤·¤¤¥æ¡¼¥¶¤ÎºîÀ®¤òµö²Ä¤·¤Þ¤¹¤«?
acl_delete=¥æ¡¼¥¶¤Îºï½ü¤òµö²Ä¤·¤Þ¤¹¤«?
acl_rename=¥æ¡¼¥¶¤ÎÌ¾Á°¤ÎÊÑ¹¹¤òµö²Ä¤·¤Þ¤¹¤«?
acl_acl=¥â¥¸¥å¡¼¥ë¤Î¥¢¥¯¥»¥¹À©¸æ¤ÎÊÔ½¸¤òµö²Ä¤·¤Þ¤¹¤«?
acl_lang=¸À¸ì¤ÎÊÑ¹¹¤òµö²Ä¤·¤Þ¤¹¤«?
acl_chcert=SSL¾ÚÌÀ½ñ¤ÎÌ¾Á°¤ÎÊÑ¹¹¤òµö²Ä¤·¤Þ¤¹¤«?
acl_euser=¤³¤Î¥æ¡¼¥¶¤ÎACL¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
acl_egroup=¥°¥ë¡¼¥×ACL¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
acl_emod=¤³¤Î¥â¥¸¥å¡¼¥ë¤ÎACL¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
acl_others=¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¥â¥¸¥å¡¼¥ë¤ÎÉ½¼¨¤òµö²Ä¤·¤Þ¤¹¤«?
acl_cert=¾ÚÌÀ½ñ¤ÎÍ×µá¤òµö²Ä¤·¤Þ¤¹¤«?
acl_err=¥¢¥¯¥»¥¹À©¸æ¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
acl_groups=¥°¥ë¡¼¥×¤ÎÊÔ½¸¤òµö²Ä¤·¤Þ¤¹¤«?
acl_gassign=¥æ¡¼¥¶¤ò¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¤«
acl_gall=¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
acl_gsel=ÁªÂòºÑ¤ß ..
acl_gnone=¤Ê¤·

log_modify=Webmin¥æ¡¼¥¶$1¤ò½¤Àµ¤·¤Þ¤·¤¿
log_rename=Webmin¥æ¡¼¥¶$1¤ÎÌ¾Á°¤ò$2¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_create=Webmin¥æ¡¼¥¶$1¤òºîÀ®¤·¤Þ¤·¤¿
log_clone=Webmin¥æ¡¼¥¶$1¤ÎÊ£À½¤È¤·¤Æ$2¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=Webmin¥æ¡¼¥¶$1¤òºï½ü¤·¤Þ¤·¤¿
log_acl=$2¤Ë¤ª¤±¤ë$1¤Î¥¢¥¯¥»¥¹¸¢¤ò¹¹¿·¤·¤Þ¤·¤¿
log_cert=¥æ¡¼¥¶$1¤Î¾ÚÌÀ½ñ¤òÈ¯¹Ô¤·¤Þ¤·¤¿
log_modify_g=Webmin¥°¥ë¡¼¥×$1¤ò½¤Àµ¤·¤Þ¤·¤¿
log_rename_g=Webmin¥°¥ë¡¼¥×$1¤ÎÌ¾Á°¤ò$2¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_create_g=Webmin¥°¥ë¡¼¥×$1¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_g=Webmin¥°¥ë¡¼¥×$1¤òºï½ü¤·¤Þ¤·¤¿

gedit_ecannot=¥°¥ë¡¼¥×¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
gedit_title=Webmin¤ÎÊÔ½¸
gedit_title2=Webmin¥°¥ë¡¼¥×¤ÎºîÀ®
gedit_group=¥°¥ë¡¼¥×Ì¾
gedit_rights=Webmin¥°¥ë¡¼¥×¤Î¥¢¥¯¥»¥¹¸¢
gedit_modules=¥á¥ó¥Ð¡¼¤Î¥â¥¸¥å¡¼¥ë

gdelete_err=¥°¥ë¡¼¥×¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
gdelete_ecannot=¥°¥ë¡¼¥×¤òºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
gdelete_euser=¼«Ê¬¼«¿È¤Î¥°¥ë¡¼¥×¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
gdelete_title=¥°¥ë¡¼¥×¤Îºï½ü
gdelete_desc=¥°¥ë¡¼¥×$1¤È¤½¤Î¥á¥ó¥Ð¡¼¥æ¡¼¥¶$2¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?
gdelete_ok=¥°¥ë¡¼¥×¤Îºï½ü

gsave_err=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
gsave_ename=¥°¥ë¡¼¥×Ì¾¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢Ìµ¸ú¤Ç¤¹
gsave_edup=¤½¤Î¥°¥ë¡¼¥×Ì¾¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹

convert_title=¥æ¡¼¥¶¤ÎÊÑ´¹
convert_nogroups=¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¾å¤ËÄêµÁ¤µ¤ì¤¿Webmin¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó¡£ÊÑ´¹¤µ¤ì¤¿¥æ¡¼¥¶¤Îµö²Ä¤òÄêµÁ¤¹¤ë¤Ë¤Ï¡¢ÊÑ´¹Á°¤ËºÇÄã1¤Ä¤Î¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
convert_desc=¤³¤Î¥Õ¥©¡¼¥à¤Ë¤è¤ê´ûÂ¸¤ÎUnix¥æ¡¼¥¶¤òWebmin¥æ¡¼¥¶¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¿·µ¬Webmin¥æ¡¼¥¶¤Îµö²Ä¤Ï¡¢²¼µ­¤ËÁªÂò¤µ¤ì¤¿¥°¥ë¡¼¥×¤Ë¤è¤êÈ½ÃÇ¤µ¤ì¤Þ¤¹¡£
convert_0=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
convert_1=Ã±ÆÈ¥æ¡¼¥¶
convert_2=¥æ¡¼¥¶¤ò½ü¤¯¤¹¤Ù¤Æ
convert_3=¥°¥ë¡¼¥×¤ò»ý¤Ä¥æ¡¼¥¶
convert_4=ÈÏ°ÏÆâ¤ËUID¤ò»ý¤Ä¥æ¡¼¥¶
convert_group=¿·¤·¤¤¥æ¡¼¥¶¤òWebmin¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤ë
convert_ok=º£¤¹¤°ÊÑ´¹
convert_err=¥æ¡¼¥¶¤òÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
convert_eusers=ÊÑ´¹¤¹¤ë¥æ¡¼¥¶¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
convert_egroup=Unix¥°¥ë¡¼¥×¤ÏÂ¸ºß¤·¤Þ¤»¤ó
convert_emin=ºÇ¾®UID¤ÏÌµ¸ú¤Ç¤¹
convert_emax=ºÇÂçUID¤ÏÌµ¸ú¤Ç¤¹
convert_ewgroup=¤½¤ÎWebmin¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó
convert_skip=$1 ¤¬¥¹¥­¥Ã¥×¤µ¤ì¤Þ¤·¤¿
convert_exists=$1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
convert_added=$1 ¤¬ÄÉ²Ã¤µ¤ì¤Þ¤·¤¿
convert_msg=Unix¥æ¡¼¥¶¤òÊÑ´¹Ãæ...

0707010005c224000081a40000000000000002000000013d1fe2d1000018a7000000200000000000000000000000000000001900000003reloc/acl/lang/ko_KR.euc  index_title=Webmin »ç¿ëÀÚ
index_user=»ç¿ëÀÚ
index_modules=¸ðµâ
index_create=»õ Webmin »ç¿ëÀÚ ÀÛ¼º
index_rcreate=»õ À§Çè ¼öÁØ »ç¿ëÀÚ ÀÛ¼º
index_convert=À¯´Ð½º »ç¿ëÀÚ¸¦ Webmin »ç¿ëÀÚ·Î º¯È¯
index_cert=SSL ÀÎÁõ¼­ ¿äÃ»
index_certmsg=ÀÌ ¹öÆ°À» ´­·¯ SSL ÀÎÁõ¼­¸¦ ¿äÃ»ÇÏ½Ê½Ã¿À. ÀÌ ÀÎÁõ¼­¸¦ »ç¿ëÇÏ¸é »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÏÁö ¾Ê°í Webmin¿¡ ¾ÈÀüÇÏ°Ô ·Î±×ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_return=»ç¿ëÀÚ ¸ñ·Ï
index_none=¾øÀ½
index_edit=¸ðµâ ACL ÆíÁý:
index_global=±Û·Î¹ú ACL
index_users=Webmin »ç¿ëÀÚ
index_groups=Webmin ±×·ì
index_group=±×·ì
index_nousers=Á¤ÀÇµÈ ÆíÁý °¡´ÉÇÑ Webmin »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù.
index_nogroups=Á¤ÀÇµÈ ÆíÁý °¡´ÉÇÑ Webmin ±×·ìÀÌ ¾ø½À´Ï´Ù.
index_gcreate=»õ Webmin ±×·ì ÀÛ¼º
index_members=±¸¼º¿ø
index_modgroups=±×·ì $1ÀÇ ¸ðµâ

edit_title=Webmin »ç¿ëÀÚ ÆíÁý
edit_title2=Webmin »ç¿ëÀÚ ÀÛ¼º
edit_rights=Webmin »ç¿ëÀÚ Á¢±Ù ±ÇÇÑ
edit_user=»ç¿ëÀÚ ÀÌ¸§
edit_group=±×·ì ±¸¼º¿ø
edit_pass=ÆÐ½º¿öµå
edit_same=À¯´Ð½º¿Í µ¿ÀÏ
edit_pam=PAM ÀÎÁõ
edit_dont=º¯°æ ¾ÈÇÔ
edit_set=¼³Á¤ ´ë»ó
edit_modules=¸ðµâ
edit_clone=º¹Á¦
edit_lang=¾ð¾î
edit_notabs=¸ðµâ ¹üÁÖ¸¦ ÁöÁ¤ÇÕ´Ï±î?
edit_cert=SSL ÀÎÁõ¼­ ÀÌ¸§
edit_none=¾øÀ½
edit_ips=IP Á¢±Ù Á¦¾î
edit_all=¸ðµç ÁÖ¼Ò¿¡ ´ëÇØ Çã¿ë
edit_allow=³ª¿­µÈ ÁÖ¼Ò¿¡ ´ëÇØ¼­¸¸ Çã¿ë
edit_deny=³ª¿­µÈ ÁÖ¼Ò¿¡ ´ëÇØ °ÅºÎ
edit_ipdesc=Webmin ±¸¼º ¸ðµâ¿¡¼­ »ç¿ëÀÚ IP Á¢±Ù Á¦¾î´Â ±Û·Î¹ú IP Á¢±Ù Á¦¾î¿Í µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿ÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ ±Û·Î¹ú Á¦¾î¸¦ Àü´ÞÇÑ °æ¿ì¿¡¸¸ ¿©±â¿¡ È®ÀÎ Ç¥½ÃµË´Ï´Ù.
edit_skill=°í±Þ ¼öÁØ
edit_risk=À§Çè ¼öÁØ
edit_risk_high=½´ÆÛ »ç¿ëÀÚ
edit_risk_medium=°ü¸®ÀÚ »ç¿ëÀÚ
edit_risk_low=ÀÏ¹Ý »ç¿ëÀÚ
edit_groupmods=(±×·ìÀÇ ¸ðµâ Æ÷ÇÔ)
edit_euser=ÀÌ »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_ecreate=»ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

save_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ename='$1'Àº(´Â) À¯È¿ÇÑ »ç¿ëÀÚ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
save_edup=»ç¿ëÀÚ ÀÌ¸§ '$1'Àº(´Â) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
save_edeny=Webmin »ç¿ëÀÚ ¸ðµâ¿¡ ´ëÇÑ Á¢±ÙÀ» ÀÚ½ÅÀÌ Á÷Á¢ °ÅºÎÇÒ ¼ö ¾ø½À´Ï´Ù
save_eos=[À¯´Ð½º¿Í µ¿ÀÏÇÑ] ÆÐ½º¿öµå ¿É¼ÇÀº ÀÌ ¿î¿µ Ã¼Á¦¿¡¼­ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
save_emd5=[À¯´Ð½º¿Í µ¿ÀÏÇÑ] ÆÐ½º¿öµå ¿É¼ÇÀ» MD5 ¾ÏÈ£È­¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
save_eunix=À¯´Ð½º »ç¿ëÀÚ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_emod=¸ðµâ '$1'¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» ºÎ¿©ÇÒ ¼ö ¾ø½À´Ï´Ù
save_ecreate=»ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
save_euser=ÀÌ »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_ecolon=ÆÐ½º¿öµå¿¡ : ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
save_eself=ÇöÀç IP ÁÖ¼Ò($1)´Â °ÅºÎµË´Ï´Ù
save_epam=Perl ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÏÁö ¾ÊÀ¸¹Ç·Î PAM ÀÎÁõÀ» <tt>Authen::PAM</tt>À¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
save_egroup=ÇØ´ç ±×·ì¿¡ ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù

delete_err=»ç¿ëÀÚ¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
delete_eself=ÀÚ½ÅÀº »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_ecannot=»ç¿ëÀÚ¸¦ »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_euser=ÀÌ »ç¿ëÀÚ¸¦ »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù

cert_title=ÀÎÁõ¼­ ¿äÃ»
cert_issue=ÀÎÁõ¼­ ¹ßÇà
cert_header=»õ ÀÎÁõ¼­ Á¤º¸
cert_msg=ÀÌ ¾ç½ÄÀ» »ç¿ëÇÏ¸é ³ªÁß¿¡ »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå ´ë½Å, Webmin¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â µ¥ »ç¿ëµÉ SSL Å¬¶óÀÌ¾ðÆ® ÀÎÁõ¼­¸¦ ¿äÃ»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº º¸´Ù ¾ÈÀüÇÑ ¹æ¹ýÀÌÁö¸¸, ÀÎÁõÀº ÀÚµ¿À¸·Î ÀÌ·ç¾îÁö±â ¶§¹®¿¡ ÀÎÁõ¼­¸¦ »ç¿ëÇÒ ¶§ ´Ù¸¥ »ç¿ëÀÚ·Î ÀüÈ¯ÇÒ ¼ö ¾ø½À´Ï´Ù.
cert_cn=ÀÌ¸§
cert_email=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
cert_ou=ºÎ¼­
cert_o=Á¶Á÷
cert_sp=½Ã/µµ
cert_c=±¹°¡ ÄÚµå
cert_key=Å° Å©±â
cert_ok=$1¿¡ ´ëÇÑ »ç¿ëÀÚ ÀÎÁõ¼­°¡ ¼º°øÀûÀ¸·Î »ý¼ºµÇ¾î À¥ ºê¶ó¿ìÀú¿¡ ¼³Ä¡µÇ¾ú½À´Ï´Ù.
cert_ekey=ºê¶ó¿ìÀú¿¡¼­ »õ SSL Å°¸¦ Á¦ÃâÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ºê¶ó¿ìÀú¿¡¼­ SSL Å¬¶óÀÌ¾ðÆ® ÀÎÁõ¼­¸¦ Áö¿øÇÏÁö ¾Ê´Â °ÍÀÏ ¼ö ÀÖ½À´Ï´Ù.
cert_eca=ÀÎÁõ¼­ ±ÇÇÑÀ» ¼³Á¤ÇÏÁö ¸øÇß½À´Ï´Ù:  $1
cert_already=°æ°í - ÀÌ¹Ì ÀÎÁõ¼­ $1À»(¸¦) »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù.

acl_title=¸ðµâ Á¢±Ù Á¦¾î
acl_title2=$2ÀÇ $1
acl_title3=$2ÀÇ ±×·ì $1
acl_options=$1 Á¢±Ù Á¦¾î ¿É¼Ç
acl_config=¸ðµâ ±¸¼ºÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_uall=¸ðµç »ç¿ëÀÚ
acl_usel=¼±ÅÃÇÑ »ç¿ëÀÚ..
acl_users=ÆíÁýÇÒ ¼ö ¾ø´Â »ç¿ëÀÚ
acl_mods=Á¢±Ù ±ÇÇÑ ºÎ¿©°¡ °¡´ÉÇÑ ¸ðµâ
acl_all=¸ðµç ¸ðµâ
acl_own=ÀÚ½ÅÀÇ ¸ðµâ¸¸
acl_sel=¼±ÅÃÇÑ ¸ðµâ..
acl_create=»õ »ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_delete=»ç¿ëÀÚ¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_rename=»ç¿ëÀÚ ÀÌ¸§À» ¹Ù²Ü ¼ö ÀÖ½À´Ï±î?
acl_acl=¸ðµâ Á¢±Ù Á¦¾î¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_lang=¾ð¾î¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï±î?
acl_chcert=SSL ÀÎÁõ¼­ ÀÌ¸§À» º¯°æÇÒ ¼ö ÀÖ½À´Ï±î?
acl_euser=ÀÌ »ç¿ëÀÚÀÇ ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acl_egroup=±×·ì ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acl_emod=ÀÌ ¸ðµâÀÇ ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acl_others=Á¢±Ù ºÒ°¡´ÉÇÑ ¸ðµâÀ» º¼ ¼ö ÀÖ½À´Ï±î?
acl_cert=ÀÎÁõ¼­¸¦ ¿äÃ»ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_err=Á¢±Ù Á¦¾î¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
acl_groups=±×·ìÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_gassign=»ç¿ëÀÚ ÇÒ´çÀÌ °¡´ÉÇÑ ±×·ì
acl_gall=¸ðµç ±×·ì
acl_gsel=¼±ÅÃÇÑ ±×·ì..
acl_gnone=¾øÀ½

log_modify=Webmin »ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_rename=Webmin »ç¿ëÀÚ ÀÌ¸§ÀÌ $1¿¡¼­ $2(À¸)·Î ¹Ù²ñ
log_create=Webmin »ç¿ëÀÚ $1ÀÛ¼ºµÊ
log_clone=Webmin »ç¿ëÀÚ $1ÀÌ(°¡) $2(À¸)·Î º¹Á¦µÊ
log_delete=Webmin »ç¿ëÀÚ $1»èÁ¦µÊ
log_acl=$2ÀÇ $1¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑ ¾÷µ¥ÀÌÆ®µÊ
log_cert=»ç¿ëÀÚ $1¿¡ ´ëÇÑ ÀÎÁõ¼­ ¹ßÇàµÊ
log_modify_g=Webmin ±×·ì $1 ¼öÁ¤µÊ
log_rename_g=Webmin ±×·ì ÀÌ¸§ÀÌ $1¿¡¼­ $2(À¸)·Î ¹Ù²ñ
log_create_g=Webmin ±×·ì $1ÀÛ¼ºµÊ
log_delete_g=Webmin ±×·ì $1»èÁ¦µÊ

gedit_ecannot=±×·ìÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
gedit_title=Webmin ±×·ì ÆíÁý
gedit_title2=Webmin ±×·ì ÀÛ¼º
gedit_group=±×·ì ÀÌ¸§
gedit_rights=Webmin ±×·ì Á¢±Ù ±ÇÇÑ
gedit_modules=±¸¼º¿ø ¸ðµâ

gdelete_err=±×·ìÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
gdelete_ecannot=±×·ìÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
gdelete_euser=ÀÚ½ÅÀÇ ±×·ìÀº »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
gdelete_title=±×·ì »èÁ¦
gdelete_desc=±×·ì $1 ¹× ÇØ´ç ±¸¼º¿ø »ç¿ëÀÚ $2À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
gdelete_ok=±×·ì »èÁ¦

gsave_err=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
gsave_ename=¾ø°Å³ª À¯È¿ÇÏÁö ¾ÊÀº ±×·ì ÀÌ¸§
gsave_edup=ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ´Â ±×·ì ÀÌ¸§ÀÔ´Ï´Ù

convert_title=»ç¿ëÀÚ º¯È¯
convert_nogroups=½Ã½ºÅÛ¿¡ Á¤ÀÇµÈ Webmin ±×·ìÀÌ ¾ø½À´Ï´Ù. º¯È¯µÈ »ç¿ëÀÚÀÇ »ç¿ë ±ÇÇÑÀ» Á¤ÀÇÇÏ·Á¸é, º¯È¯ÇÏ±â Àü¿¡ Àû¾îµµ ÇÏ³ªÀÇ ±×·ìÀ» ÀÛ¼ºÇØ¾ß ÇÕ´Ï´Ù.
convert_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ±âÁ¸ À¯´Ð½º»ç¿ëÀÚ¸¦ Webmin »ç¿ëÀÚ·Î º¯È¯ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡ ¼±ÅÃµÈ ±×·ìÀ» ±âÁØÀ¸·Î °¢ ½Å±Ô Webmin »ç¿ëÀÚÀÇ »ç¿ë ±ÇÇÑÀÌ °áÁ¤µË´Ï´Ù.
convert_0=¸ðµç »ç¿ëÀÚ
convert_1=»ç¿ëÀÚ¸¸
convert_2=»ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
convert_3=±×·ìÀÌ ÀÖ´Â »ç¿ëÀÚ
convert_4=¹üÀ§ ³»ÀÇ UID°¡ ÀÖ´Â »ç¿ëÀÚ
convert_group=»õ »ç¿ëÀÚ¸¦ Webmin ±×·ì¿¡ ÇÒ´ç
convert_ok=Áö±Ý º¯È¯
convert_err=»ç¿ëÀÚ¸¦ º¯È¯ÇÏÁö ¸øÇß½À´Ï´Ù
convert_eusers=º¯È¯ÇÒ »ç¿ëÀÚ¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
convert_egroup=À¯´Ð½º ±×·ìÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
convert_emin=Àß¸øµÈ UID ÃÖ¼Ò °ª
convert_emax=Àß¸øµÈ UID ÃÖ´ë °ª
convert_ewgroup=ÇØ´ç Webmin ±×·ìÀÌ ¾ø½À´Ï´Ù
convert_skip=$1ÀÌ(°¡) »ý·«µË´Ï´Ù
convert_exists=$1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
convert_added=$1ÀÌ(°¡) Ãß°¡µË´Ï´Ù
convert_msg=??? »ç¿ëÀÚ º¯È¯ Áß...
 0707010005c225000081a40000000000000002000000013d1fe2d100001878000000200000000000000000000000000000001200000003reloc/acl/lang/nl index_title=Webmin Gebruikers
index_user=Gebruikers
index_modules=Modules
index_create=Maak een nieuwe Webmin gebruiker
index_rcreate=Maak een nieuwe risico-niveau gebruiker aan
index_cert=Vraag een SSL certificaat aan
index_certmsg=Klik op deze knop om een SSL certificaat aan te vragen welke u de mogelijk geeft u beveiligd aan te melden bij de Webmin server zondere een gebruikersnaam of wachtwoord op te hoeven geven.
index_return=gebruikers lijst
index_none=Geen
index_edit=Bewerk Module ACL :
index_global=Globale ACL
index_users=Webmin Gebruikers
index_groups=Webmin Groepen
index_group=Groep
index_nousers=Geen bewerkbare Webmin gebruikers gedefinieerd.
index_nogroups=Geen bewerkbare Webmin groepen gedefinieerd.
index_gcreate=Maak een nieuwe gebruikersgroep aan.
index_members=Leden
index_modgroups=Leden van de groep $1

edit_title=Bewerk Webmin Gebruiker
edit_title2=Maak een Webmin Gebruiker aan
edit_rights=Webmin gebruiker toegangsrechten
edit_user=Gebruikersnaam
edit_group=Lid van de groep
edit_pass=Wachtwoord
edit_same=Hetzelfde als Unix
edit_pam=PAM authenticatie
edit_dont=Niet wijzigen
edit_set=Wijzig in
edit_modules=Modules
edit_clone=Kloon
edit_lang=Taal
edit_notabs=Categoriseer modules?
edit_cert=SSL certificaat naam
edit_none=Geen
edit_ips=IP toegangscontrole
edit_all=Accepteer van alle adressen
edit_allow=Accepteer adressen in de lijst
edit_deny=Weiger adressen in de lijst
edit_ipdesc=Gebruiker IP toegangscontrole werk op de zelfde manier als de globale IP toegangscontrole in de Webmin Configuratie module. Alleen als de gebruiker door de globale regels word geaccepteerd zullen de rechen ook door de ze regels worden gecontroleerd.
edit_skill=Ervaring niveau
edit_risk=Risico Niveau
edit_risk_high=Super gebruiker
edit_risk_medium=Administrator gebruiker
edit_risk_low=Normale gebruiker
edit_groupmods=(Als toevoeging op modules uit groep)
edit_euser=U bent niet gemachtigd om deze gebruiker te bewerken
edit_ecreate=U bent niet gemachtigd om gebruikers aan te maken

save_err=Fout bij het opslaan van de gebruiker
save_ename='$1' is geen geldige gebruikersnaam
save_edup=De gebruikersnaam '$1' is al in gebruik
save_edeny=U kunt niet u zelf de de toegang tot de Webmin gebruikers module ontnemen
save_eos=De hetzelfde als Unix wachtwoord optie wordt niet ondersteund door uw besturingssysteem.
save_emd5=De hetzelfde als Unix wachtwoord optie kan niet worden gebruikt op systemen met MD5 encryptie
save_eunix=De Unix gebruiker '$1' bestaat niet
save_emod=U kunt geen toegangsrechten toewijzen aan module '$1'
save_ecreate=U bent niet gemachtigd om gebruikers aan te maken
save_euser=U bent niet gemachtigd om deze gebruikers te bewerken
save_ecolon=Wachtwoorden kunnen het : teken niet bevatten
save_eself=Uw huidige IP adres ($1) zou worden geweigerd
save_epam=PAM authenticatie is niet beschikbaar als de <tt>Authen::PAM</tt> Perl module niet geinstalleerd of niet goed werkt.
save_egroup=Geen groep geselceteerd om modules van op te halen

delete_err=Fout bij het verwijderen van de gebruiker
delete_eself=u kunt niet uzelf verwijderen
delete_ecannot=U bent niet gemachtigd om gebruikers te verwijderen
delete_euser=U bent niet gemachtigd om deze gebruiker te verwijderen

cert_title=Certificaat aanvragen
cert_issue=Geef Certificaat uit
cert_header=Nieuwe certificaat details
cert_msg=Dit formulier stelt u in staat om een SSL client certificaat aan te vragen, welke in de toekomst gebruikt zal worden om u toegang tot webmin te verschaffen, in plaats van uw gebruikersnaam en wachtwoord. Dit is veiliger, maar omdat de verifiering automatisch is kunt u niet van gebruiker wisselen wanneer u een certificaat gebruikt.
cert_cn=Uw naam
cert_email=Email adres
cert_ou=Departement
cert_o=Organisatie
cert_sp=Staat/Provincie
cert_c=Land code
cert_key=Sleute groote
cert_ok=Uw certificaat voor $1 is met succes aangemaakt en geinstalleerd in uw webbrowser.
cert_ekey=Een nieuwe SSL sleutel is niet verstuurd door uw browser - wellicht ondersteund het geen SSL client certificaten.
cert_eca=Fout bij het instellen van de certificaat authoriteit : $1
cert_already=Waarschuing - u maakt reeds gebruik van het volgende certificaat: $1.

acl_title=Module Toegang Controle
acl_title2=Voor $1 in $2
acl_options=$1 toegangscontrole opties
acl_config=Kan module configuratie bewerken?
acl_uall=Alle gebruikers
acl_usel=Geselecteerd ..
acl_users=Gebruikers die bewerkt kunne worden
acl_mods=Kan toegang geven tot
acl_all=Alle modules
acl_own=Alleen zijn eigen modules
acl_sel=Geselected modules ..
acl_create=Kan nieuwe gebruikers aanmaken?
acl_delete=Kan gebruikers verwijderen?
acl_groups=Kan groepen bewerken?
acl_rename=Kan gebruikers hernoemen?
acl_acl=Kan module toegangscontrole bewerken?
acl_lang=Kan taal weizigen?
acl_chcert=Kan SSL certificaat naam wijzigen?
acl_euser=U bent niet gemachtigd om de ACL voor deze gebruiker te bewerken
acl_egroup=U bent niet bevoegd om groep ACLs te bewerken
acl_emod=U bent niet gemachtigd om groep ACLs te bewerken
acl_others=Kan niet toegankelijke modules zien?
acl_cert=Kan certificaat aanvragen?
acl_err=Fout bij het opslaan van de toegangscontrole

log_modify=Aangepaste Webmin gebruiker $1
log_rename=Webmin gebruiker hernoemd van $1 naar $2
log_create=Webmin gebruier $1 aangemaakt
log_clone=Webmin gebruiker gekloond van $1 naar $2
log_delete=Webmin gebruiker $1 verwijderd
log_acl=Toegang voor $1 in $2 aangepast
log_cert=Certificaat uitgegeven voor gebruiker $1
log_modify_g=Gewijzigde Webmin groep $1
log_rename_g=Webmin groep $1 hernoemd naar $2
log_create_g=Webmin groep $1 aangemaakt
log_delete_g=Webmin groep $1 verwijderd

gedit_ecannot=U bent niet gemachtigd om groepen te bewerken
gedit_title=Bewerk Webmin Groep
gedit_title2=Maak Webmin Groep aan
gedit_group=Groep naam
gedit_rights=Webmin groep toegangsrechten
gedit_modules=Leden modules

gdelete_err=Fout bij het verwijderen van de groep
gdelete_ecannot=U bent niet gemachtigd om groepen te verwijderen
gdelete_euser=U kunt niet uw eigen groep verwijderen
gdelete_title=Verwijderen Groep
gdelete_desc=Weet u zeker dat u de groep $1 en haar leden $2 wilt verwijderen?
gdelete_ok=Verwijderen Groep

gsave_err=Fout bij het opslaan van de groep
gsave_ename=Ontbrekende of ongeldige groep naam
gsave_edup=Groep naam bestaat al

0707010005c226000081a40000000000000002000000013d1fe2d100002566000000200000000000000000000000000000001200000003reloc/acl/lang/pl index_title=U¿ytkownicy Webmina
index_user=U¿ytkownik
index_modules=Modu³y
index_create=Utwórz nowego u¿ytkownika Webmina
index_rcreate=Utwórz nowego u¿ytkownika o&nbsp;okre¶lonym poziomie ryzyka
index_convert=Przekszta³æ u¿ytkowników Uniksa w&nbsp;u¿ytkowników Webmina
index_cert=Popro¶ o certyfikat SSL
index_certmsg=Naci¶nij ten przycisk, aby poprosiæ o&nbsp;certyfikat SSL, który pozwoli Ci siê bezpiecznie zalogowaæ do Webmina bez konieczno¶ci podawania nazwy u¿ytkownika i&nbsp;has³a.
index_return=listy u¿ytkowników
index_none=Brak
index_edit=Zmieñ ACL dla modu³u&nbsp;:
index_global=Ogólne ACL-e
index_users=U¿ytkownicy Webmina
index_groups=Grupy Webmina
index_group=Grupa
index_nousers=Nie zdefiniowano modyfikowalnych u¿ytkowników Webmina.
index_nogroups=Nie zdefiniowano modyfikowalnych grup Webmina.
index_gcreate=Utwórz now± grupê Webmina
index_members=Cz³onkowie
index_modgroups=Modu³y z&nbsp;grupy $1
index_sync=Konfiguruj synchronizacjê u¿ytkowników Uniksa
index_unix=Konfiguruj autoryzacjê u¿ytkowników Uniksa

edit_title=Modyfikuj u¿ytkownika Webmina
edit_title2=Nowy u¿ytkownik Webmina
edit_rights=Prawa dostêpu dla u¿ytkownika Webmina
edit_user=Nazwa u¿ytkownika
edit_group=Cz³onek grupy
edit_pass=Has³o
edit_same=Uniksowe
edit_pam=Autoryzacja przez PAM
edit_dont=Nie zmieniaj
edit_set=Ustaw
edit_modules=Modu³y
edit_clone=Kopiuj
edit_lang=Jêzyk
edit_notabs=Klasyfikowaæ modu³y?
edit_cert=Nazwa certyfikatu SSL
edit_none=Brak
edit_ips=Kontrola dostêpu wed³ug adresu IP
edit_all=Wpu¶æ z&nbsp;dowolnego adresu
edit_allow=Wpu¶æ tylko z&nbsp;adresów
edit_deny=Nie wpuszczaj z&nbsp;adresów
edit_ipdesc=Kontrola dostêpu wed³ug adresu IP na poziomie u¿ytkownika dzia³a w&nbsp;ten sam sposób, jak ogólna kontrola dostêpu po IP w&nbsp;module <tt>Konfiguracja Webmina</tt>. Tzn. te regu³y maj± zastosowanie tylko je¶li u¿ytkownik przejdzie najpierw przez kontrolê ogóln±.
edit_skill=Poziom umiejêtno¶ci
edit_risk=Poziom ryzyka
edit_risk_high=Nadu¿ytkownik
edit_risk_medium=Administrator
edit_risk_low=Zwyk³y u¿ytkownik
edit_groupmods=(Dodatkowo oprócz modu³ów z&nbsp;grupy)
edit_euser=Nie masz uprawnieñ do zmiany danych dla tego u¿ytkownika
edit_ecreate=Nie masz uprawnieñ do tworzenia u¿ytkowników

save_err=Nie uda³o sie zachowaæ u¿ytkownika
save_ename='$1' nie jest prawid³ow± nazw± u¿ytkownika
save_edup=U¿ytkownik '$1' ju¿ istnieje
save_edeny=nie mo¿esz zablokowaæ sobie dostêpu do modu³u <tt>U¿ytkownicy Webmina</tt>
save_eos=Opcja has³o "Uniksowe" nie jest wspomagana przez twój system operacyjny.
save_emd5=Opcja has³o "Uniksowe" nie mo¿e byæ stosowana na systemach z&nbsp;kodowaniem hase³ MD5
save_eunix=U¿ytkownik uniksowy '$1' nie istnieje
save_emod=Nie mo¿esz przekazaæ uprawnieñ do modu³u '$1'
save_ecreate=Nie masz uprawnieñ do tworzenia u¿ytkowników
save_euser=Nie masz uprawnieñ do modyfikacji tego u¿ytkownika
save_ecolon=Has³a nie mog± zawieraæ znaku ':'
save_eself=Twój obecny adres IP ($1) zosta³by zablokowany
save_epam=Autoryzacja poprzez PAM nie jest dostêpna, gdy¿ nie zainstalowano modu³u Perla <tt>Authen::PAM</tt> lub nie pracuje on poprawnie.
save_epam2=Mo¿esz w&nbsp;tej chwili <a href='$1'>pobraæ i&nbsp; zainstalowaæ Authen::PAM</a> za pomoc± modu³u Webmina Modu³y Perla
save_egroup=Nie masz uprawnieñ do przyporz±dkowywania do tej grupy

delete_err=Nie uda³o siê usun±æ u¿ytkownika
delete_eself=nie mo¿esz usun±æ samego siebie
delete_ecannot=Nie wolno ci usuwaæ u¿ytkowników
delete_euser=Nie wolno ci usun±æ tego u¿ytkownika

cert_title=Popro¶ o certyfikat
cert_issue=Certyfikat wydany
cert_header=Dane nowego certifikatu
cert_msg=Formularz umo¿liwia ci poprosiæ o certyfikat SSL, który pozwoli ci siê bezpiecznie zalogowaæ do Webmina bez konieczno¶ci podawania nazwy u¿ytkownika i has³a. Takie rozwi±zanie jest bezpieczniejsze, ale uniemo¿liwia prze³±czenia u¿ytkownika Webmina po wlogowaniu. 
cert_cn=Twoje imie
cert_email=Adres e-mail
cert_ou=Wydzia³
cert_o=Organizacja
cert_sp=Stan
cert_c=Kod kraju
cert_key=D³ugo¶æ klucza
cert_ok=Twój certyfikat dla $1 zosta³ pomy¶lnie wygenerowany i&nbsp;zainstalowany w&nbsp;twojej przegl±darce.
cert_ekey=Twoja przegl±darka zamówi³a nowy klucz SSL - byæ mo¿e nie obs³uguje ona certyfikatów SSL po stronie klienta.
cert_eca=Nie uda³o sie ustawiæ centrum autoryzacji&nbsp;: $1
cert_already=Uwaga - ju¿ u¿ywasz certyfikatu $1.

acl_title=Kontrola dostêpu do modu³u
acl_title2=$2 dla u¿ytkownika $1
acl_title3=$2 dla grupy $1
acl_options=Opcje kontroli dostêpu do $1
acl_config=Mo¿e zmieniaæ konfiguracjê modu³u
acl_uall=Wszystkich u¿ytkowników
acl_usel=Wybranych ..
acl_gr=Cz³onków $1
acl_users=U¿ytkownicy, których mo¿na zmieniaæ
acl_mods=Mo¿e zapewniæ dostêp do
acl_all=Wszystkich modu³ów
acl_own=Tylko w³asnych moduów
acl_sel=Wybranych modu³ów ..
acl_create=Mo¿e tworzyæ nowych u¿ytkowników?
acl_delete=Mo¿e usuwaæ u¿ytkowników?
acl_rename=Mo¿e zmieniaæ nazwy u¿ytkowników?
acl_acl=Mo¿e zmieniaæ prawa dostêpu do modu³u?
acl_lang=Mo¿e zmieniaæ jêzyk?
acl_chcert=Mo¿e zmieniaæ nazwê certyfikatu SSL?
acl_euser=Nie masz uprawnieñ do zmiany ACL-i dla tego u¿ytkownika
acl_egroup=Nie masz uprawnieñ do zmiany ACL-i dla grupy
acl_emod=Nie masz uprawnieñ do zmiany tego ACL dla tego modu³u
acl_others=Mo¿e widzieæ niedostêpne modu³y?
acl_cert=Mo¿e poprosiæ o&nbsp;certyfikat?
acl_err=Nie uda³o siê zachowaæ opcji ACL-i
acl_groups=Mo¿e zmieniaæ grupy?
acl_gassign=Mo¿e przyporz±dkowywaæ u¿ytkowników do grup
acl_gall=Wszystkich
acl_gsel=Wybranych ..
acl_gnone=¯adnej
acl_perms=Nowo utworzeni u¿ytkownicy otrzymuj± prawa dostêpu do modu³ów
acl_perms_1=takie, jakie ma tworz±cy
acl_perms_0=domy¶lne
acl_sync=Mo¿e konfigurowaæ synchronizacjê u¿ytkowników?
acl_unix=Mo¿e konfigurowaæ autoryzacjê u¿ytkowników?

log_modify=Zmodyfikowano u¿ytkownika Webmina $1
log_rename=Przemianowano u¿ytkownika Webmina $1 na $2
log_create=Utworzono u¿ytkownika Webmina $1
log_clone=Powielono u¿ytkownika Webmina z $1 na $2
log_delete=Usuniêto u¿ytkownika Webmina $1
log_acl=Zmodyfikowano dostêp dla $1 do $2
log_cert=Utworzono certyfikat dla u¿ytkownika $1
log_modify_g=Zmodyfikowano grupê Webmina $1
log_rename_g=Przemianowano grupê Webmina $1 na $2
log_create_g=Utworzono grupê Webmina $1
log_delete_g=Usuniêto grupê Webmina $1

gedit_ecannot=Nie masz uprawnieñ do zmiany grup
gedit_title=Zmieñ grupê Webmina
gedit_title2=Utwórz grupê Webmina
gedit_group=Nazwa grupy
gedit_rights=Prawa dostêpu dla grupy Webmina
gedit_modules=Modu³y cz³onków

gdelete_err=Nie uda³o siê usun±æ grupy
gdelete_ecannot=Nie masz uprawnieñ do usuwania grup
gdelete_euser=Nie mo¿esz usun±æ w³asnej grupy
gdelete_title=Usuñ grupê
gdelete_desc=Czy na pewno chcesz usun±æ grupê $1 wraz z&nbsp;jej cz³onkami $2&nbsp;?
gdelete_ok=Usuñ grupê

gsave_err=Nie uda³o siê zachowaæ grupy
gsave_ename=Nie podana lub niepoprawna nazwa grupy
gsave_edup=Nazwa grupy jest ju¿ u¿ywana

convert_title=Przekszta³æ u¿ytkowników
convert_ecannot=Nie masz uprawnieñ do przekszta³cania u¿ytkownika Uniksa
convert_nogroups=W&nbsp;systemie nie zdefiniowano grup Webmina. Musisz utworzyæ przynajmniej jedn± grupê przed konwersj±, aby okre¶liæ uprawnienia dla przekszta³conych u¿ytkowników.
convert_desc=Za pomoc± tego formularza mo¿esz przekszta³ciæ istniej±cych u¿ytkowników Uniksa w&nbsp;u¿ytkowników Webmina. Uprawnienia ka¿dego z&nbsp;nowych u¿ytkowników Webmina bêd± okre¶lone przez podanie poni¿ej grupy.
convert_0=Wszystkich
convert_1=Wybranych
convert_2=Wszystkich oprócz
convert_3=U¿ytkowników z&nbsp;grupy
convert_4=U¿ytkowników z&nbsp;zakresu UID-ów
convert_group=Przypisywaæ nowych u¿ytkowników do grupy Webmina
convert_sync=U¿ywaæ w&nbsp;przysz³o¶ci tego samego has³a co u¿ytkownik uniksowy?
convert_ok=Przekszta³æ teraz
convert_err=Nie uda³o siê przekszta³ciæ u¿ytkowników
convert_eusers=Nie podano u¿ytkowników do przekszta³cenia
convert_egroup=Grupa Uniksa nie istnieje
convert_emin=Niepoprawny minimalny UID
convert_emax=Niepoprawny maksymalny UID
convert_ewgroup=Nie ma takiej grupy Webmina
convert_ewgroup2=Nie masz uprawnieñ do przypisywania nowych u¿ytkowników do tej grupy
convert_skip=Pomijanie $1
convert_exists=$1 ju¿ istnieje
convert_added=Dodawanie $1
convert_msg=Przekszta³canie u¿ytkowników Uniksa...

sync_title=Synchronizacja u¿ytkowników Uniksa
sync_desc=Za pomoc± tego formularza mo¿esz skonfigurowaæ automatyczn± synchronizacjê u¿ytkowników Uniksa tworzonymi poprzez Webmina z&nbsp;u¿ytkownikami w&nbsp;tym module.
sync_nogroups=W&nbsp;systemie nie zdefiniowano ¿adnej grupy Webmina. Aby ustawiæ dostep dla tworzonych u¿ytkowników, trzeba utworzyæ co najmniej jedn± grupê.
sync_create=Twórz u¿ytkownika Webmina, gdy tworzony jest u¿ytkownik Uniksa.
sync_update=Aktualizuj odpowiedniego u¿ytkownika Webmina, gdy aktualizowany jest u¿ytkownik Uniksa.
sync_delete=Usuwaj odpowiedniego u¿ytkownika Webmina, gdy usuwany jest u¿ytkownik Uniksa.
sync_group=Przypisuj nowych u¿ytkowników do grupy Webmina
sync_ecannot=Nie masz uprawnieñ do konfigurowania synchronizacji u¿ytkowników.

unix_title=Autoryzacja u¿ytkowników Uniksa
unix_desc=Za pmoc± tej strony mo¿esz skonfigurowaæ Webmina, aby zatwierdza³ próby logowania na podstawie listy u¿ytkowników systemu i&nbsp;PAM. Mo¿e to byæ przydatne, gdy liczba u¿ytkowników Uniksa, którym chcesz daæ dostêp do Webmina jest du¿a.
unix_def=Pozwól logowaæ siê jedynie u¿ytkownikom Webmin
unix_user=Zezwól na logowanie siê dowolnego u¿ytkownika Uniksa na prawach u¿ytkownika
unix_ecannot=Nie masz uprawnieñ do konfigurowania autoryzacjai u¿ytkowników Uniksa.
unix_epam=Autoryzacja uniksowa jest niedostêpna, gdy¿ modu³ Perla <tt>Authen::PAM</tt> nie jest zainstalowany lub nie dzia³a on poprawnie.
  0707010005c227000081a40000000000000002000000013d1fe2d000000385000000200000000000000000000000000000001200000003reloc/acl/lang/pt index_title=Utilizador do Webmin
index_user=Utilizador
index_modules=Módulos
index_create=Criar novo utilizador do Webmin
index_return=lista de utilizadores

edit_title=Editar Utilizador do Webmin
edit_title2=Criar Utilizador do Webmin
edit_rights=Direitos de acesso do utilizador do Webmin
edit_user=Nome do Utilizador
edit_pass=Palvra de Passe
edit_same=Como no Unix
edit_dont=Não alterar
edit_set=Configurar para
edit_modules=Módulos
edit_clone=Clone

save_err=Erro ao guardar utilizador
save_ename='$1' não é um nome de utilizador válido
save_edup=O nome de utilizador '$1' já está a ser usado
save_edeny=você não pode negar acesso a si mesmo relativamente ao módulo de utilizadores do Webmin
save_eunix=O utilizador de Unix '$1' não existe

acl_title=Controlo de Acesso do Módulo
acl_title2=Para $1 em $2
acl_options=$1 opções de contolo de acesso
acl_config=Pode editar configurações do módulo?
   0707010005c277000081a40000000000000002000000013d1fe2d1000017ad000000200000000000000000000000000000001500000003reloc/acl/lang/ru_RU  index_create=Ñîçäàòü íîâîãî ïîëüçîâàòåëÿ
index_modules=Ìîäóëè
acl_title=Óïðàâëåíèå Äîñòóïîì ê Ìîäóëÿì
save_err=Îøèáêà ïðè ñîõðàíåíèè ïîëüçîâàòåëÿ
edit_pass=Ïàðîëü
acl_config=Ìîæåò ìåíÿòü êîíôèãóðàöèþ ìîäóëÿ?
index_title=Ïîëüçîâàòåëè Webmin
save_edup=Èìÿ ïîëüçîâàòåëÿ '$1' óæå èñïîëüçóåòñÿ
edit_modules=Ìîäóëè
edit_user=Èìÿ ïîëüçîâàòåëÿ
edit_set=Óñòàíîâèòü
index_user=Ïîëüçîâàòåëü
acl_title2=Äëÿ $1 â $2
save_edeny=âû íå ìîæåòå ñàìè ñåáå çàïðåòèòü äîñòóï ê ìîäóëþ ïîëüçîâàòåëåé Webmin
edit_title=Ðåäàêòèðîâàíèå Ïîëüçîâàòåëÿ Webmin
edit_same=Òàêîé-æå êàê â Unix
save_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ïîëüçîâàòåëÿ
edit_clone=Êëîíèðîâàòü
edit_rights=Ïðàâà äîñòóïà ïîëüçîâàòåëÿ Webmin
save_eunix=Unix ïîëçîâàòåëü '$1' íå ñóùåñòâóåò
index_return=ñïèñîê ïîëüçîâàòåëåé
edit_title2=Ñîçäàíèå Ïîëüçîâàòåëÿ Webmin
edit_dont=Íå ìåíÿòü
acl_options=$1 ïàðàìåòðû óïðàâëåíèÿ äîñòóïîì
gedit_title2=Ñîçäàíèå ãðóïïû Webmin
gdelete_ecannot=Âàì íå ðàçðåøåíî óäàëÿòü ãðóïïû
index_members=×ëåíû
acl_mods=Ìîæåò ðàçäàâàòü ïðàâà äîñòóïà äëÿ
gsave_edup=Èìÿ ãðóïïû óæå çàäåéñòâîâàíî
edit_pam=PAM àóòåíòèôèêàöèÿ
index_group=Ãðóïïà
edit_groupmods=(Â äîïîëíåíèå ê ìîäóëÿì èç ãðóïïû)
index_nousers=Íå îïðåäåëåíî íè îäíîãî ïîëüçîâàòåëÿ äîñòóïíîãî äëÿ ðåäàêòèðîâàíèÿ.
index_users=Ïîëüçîâàòåëè
gedit_title=Ðåäàêòèðîâàíèå ãðóïïû Webmin
log_modify_g=Èçìåíåíà ãðóïïà Webmin  $1
log_cert=Âûäàí ñåðòèôèêàò äëÿ ïîëüçîâàòåëÿ $1
edit_risk_low=Îáû÷íûé ïîëüçîâàòåëü
cert_title=Çàïðîñ ñåðòèôèêàòà
cert_already=Âíèìàíèå! - Âû óæå èñïîëüçóåòå ñåðòèôèêàò $1.
index_gcreate=Ñîçäàòü íîâóþ ãðóïïó ïîëüçîâàòåëåé
edit_cert=Èìÿ SSL ñåðòèôèêàòà
index_nogroups=Íå îïðåäåëåíî íè îäíîé ãðóïïû äîñòóïíîé äëÿ ðåäàêòèðîâàíèÿ.
delete_euser=Âàì íå ðàçðåøåíî óäàëÿòü äàííîãî ïîëüçîâàòåëÿ
cert_header=Ïîäðîáíîñòè íîâîãî ñåðòèôèêàòà
cert_eca=Îøèáêà ïðè óñòàíîâêå àâòîðèçàöèè ïî ñåðòèôèêàòàì : $1
acl_err=Îøèáêà ïðè ñîõðàíåíèè ïðàâ äîñòóïà
save_emd5=Ïàðàìåòð ïàðîëÿ "òàêé-æå êàê â Unix" íå ìîæåò áûòü èñïîëüçîâàí íà ñèñòåìå èñïîëüçóþùåé øèôðîâàíèå MD5
gsave_ename=Îòñóòñòâóåò èëè íåâåðíîå èìÿ ãðóïïû
gdelete_title=Óäàëåíèå ãðóïïû
edit_all=Ðàçðåøåí ñî âñåõ àäðåñîâ
acl_acl=Ìîæåò êîíòðîëëèðîâàòü äîñòóï ê ìîäóëþ?
delete_eself=Âû íå ìîæåòå óäàëèòü ñàìè ñåáÿ
gdelete_err=Îøèáêà ïðè óäàëåíèè ãðóïïû
acl_delete=Ìîæåò óäàëÿòü ïîëüçîâàòåëåé?
index_cert=Çàïðîñèòü SSL ñåðòèôèêàò
gedit_modules=Ìîäóëè ÷ëåíîâ ãðóïïû
index_global=Ãëîáàëüíûå ACL
acl_usel=Âûáðàííûå ..
log_modify=Èçìåíåí ïîëüçîâàòåëü Webmin $1
save_ecolon=Ïàðîëè íå ìîãóò ñîäåðæàòü ñèìâîëà : 
save_epam=PAM àóòåíòèôèêàöèÿ íåäîñòóïíà ò.ê. Perl ìîäóëü <tt>Authen::PAM</tt> íå óñòàíîâëåí èëè ðàáîòàåò íåêîððåêòíî.
edit_ips=Êîíòðîëü äîñòóïà ïî IP
save_euser=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííîãî ïîëüçîâàòåëÿ
edit_group=×ëåí ãðóïïû
save_emod=Âû íå ìîæåòå ðàçðåøèòü äîñòóï ê ìîäóëþ '$1'
log_delete=Óäàëåí ïîëüçîâàòåëü Webmin $1
gedit_ecannot=Âàì íå ðàçðåøåíð ðåäàêòèðîâàòü ãðóïïû
cert_msg=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì çàïðîñèòü SSL ñåðòèôèêàò êëèåíòà, êîòîðûé áóäåò èñïîëüçîâàòüñÿ äëÿ ïîëó÷åíèÿ äîñòóïà ê Webmin ñåðâåðó âìåñòî Âàøåãî èìåíè ïîëüçîâàòåëÿ è ïàðîëÿ. Ýòî íàìíîãî áåçîïàñíåå, íî ïîñêîëüêó àóòåíòèôèêàöèÿ áóäåò îñóùåñòâëÿòüñÿ àâòîìàòè÷åñêè, Âàì áóäåò íåäîñòóïíî ïåðåêëþ÷åíèå íà äðóãîãî ïîëüçîâàòåëÿ.
save_eos=Ïàðàìåòð ïàðîëÿ "òàêé-æå êàê â Unix" íå ïîääåðæèâàåòñÿ Âàøåé îïåðàöèîííîé ñèñòåìîé.
edit_none=Îòñóòñòâóåò
cert_issue=Âûïóñê ñåðòèôèêàòà
gdelete_desc=Âû óâåðåíû, ÷òî õîòèòå óäàëèòü ãðóïïó $1 è å£ ÷ëåíîâ $2 ?
save_eself=Âàø òåêóùèé IP àäðåñ ($1) áóäåò çàïðåùåí
edit_risk_high=Ñóïåð-ïîëüçîâàòåëü
edit_ipdesc=Êîíòðîëü äîñòóïà ïî IP äëÿ ïîëüçîâàòåëÿ ðàáîòàåò òàê-æå, êàê è ãëîáàëüíûé êîíòðîëü äîñòóïà ïî IP â ìîäóëå "Êîíôèãóðàöèÿ Webmin". Äàííàÿ ïðîâåðêà äîñòóïà îñóùåñòâëÿåòñÿ òîëüêî åñëè ïîëüçîâàòåëü ïðîøåë ãëîáàëüíûé êîíòðîëü äîñòóïà.
edit_risk_medium=Àäìèíèñòðàòîð
edit_ecreate=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîëüçîâàòåëåé
log_rename_g=Ïåðåèìåíîâàíà ãðóïïà Webmin $1 â $2
acl_egroup=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ACL ãðóïï
acl_own=Òîëüêî åãî ëè÷íûå ìîäóëè
index_none=Îòñóòñòâóåò
acl_rename=Ìîæåò ïåðåèìåíîâûâàòü ïîëüçîâàòåëåé?
acl_all=Âñå ìîäóëè
edit_euser=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííîãî ïîëüçîâàòåëÿ
edit_notabs=Ðàçäåëÿòü ìîäóëè ïî êàòåãîðèÿì?
acl_groups=Ìîæåò ðåäàêòèðîâàòü ãðóïïû?
acl_lang=Ìîæåò ìåíÿòü ÿçûê?
acl_emod=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ACL äëÿ äàííîãî ìîäóëÿ
cert_email=Àäðåñ e-mail
log_rename=Ïåðåèìåíîâàí ïîëüçîâàòåëü Webmin $1 â $2
gedit_group=Èìÿ ãðóïïû
log_delete_g=Óäàëåíà ãðóïïà Webmin $1
delete_ecannot=Âàì íå ðàçðåøåíî óäàëÿòü ïîëüçîâàòåëåé
log_create_g=Ñîçäàíà ãðóïïà Webmin $1
cert_ekey=Íîâûé SSL êëþ÷ íå áûë ïîäïèñàí Âàøèì áðàóçåðîì - âîçìîæíî áðàóçåð íå ïîääåðæèâàåò SSL ñåðòèôèêàòû êëèåíòà.
index_rcreate=Ñîçäàòü íîâîãî ïîëüçîâàòåëÿ ñ çàäàííûì ðèñêîì
edit_risk=Óðîâåíü ðèñêîâ
cert_cn=Âàøå èìÿ
save_egroup=Íå âûáðàíû ãðóïïû äëÿ ïîëó÷åíèÿ ñïèñêà ìîäóëåé
acl_users=Ïîëüçîâàòåëè äîñòóïíûå äëÿ ðåäàêòèðîâàíèÿ
acl_create=Ìîæåò ñîçäàâàòü íîâûõ ïîëüçîâàòåëåé?
edit_skill=Óðîâåíü îïûòà
acl_others=Ìîæåò âèäåòü íåäîñòóïíûå ìîäóëè?
edit_allow=Ðàçðåøåí òîëüêî ñ ïåðå÷èñëåííûõ àäðåñîâ
save_ecreate=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîëüçîâàòåëåé
edit_lang=ßçûê
cert_ok=Âàø ñåðòèôèêàò äëÿ $1 áûë óñïåøíî ñãåíåðèðîâàí è óñòàíîâëåí íà Âàø âåá áðàóçåð.
acl_chcert=Ìîæåò ìåíÿòü èìÿ SSL ñåðòèôèêàòà?
index_certmsg=SSL ñåðòèôèêàò ïîçâîëèò Âàì áåçîïàñíî ðåãèñòðèðîâàòüñÿ íà Webmin ñåðâåðå áåç èñïîëüçîâàíèÿ èìåíè ïîëüçîâàòåëÿ è ïàðîëÿ.
cert_c=Êîä ñòðàíû
cert_sp=Øòàò
log_acl=Îáíîâëåí äîñòóï äëÿ $1 â $2
cert_ou=Îòäåë
log_clone= Êëîíèðîâàí ïîëüçîâàòåëü Webmin $1 â $2
gdelete_ok=Óäàëèòü ãðóïïó
acl_euser=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ACL äëÿ äàííîãî ïîëüçîâàòåëÿ
acl_sel=Âûáðàííûå ìîäóëè ..
log_create=Ñîçäàí ïîëüçîâàòåëü Webmin $1
edit_deny=Çàïðåùåí ñ ïåðå÷èñëåííûõ àäðåñîâ
cert_key=Ðàçìåð êëþ÷à
index_modgroups=Ìîäóëè ãðóïïû $1
index_groups=Ãðóïïû
delete_err=Îøèáêà ïðè óäàëåíèè ïîëüçîâàòåëÿ
cert_o=Îðãàíèçàöèÿ
index_edit=Ðåäàêòèðîâàíèå ACL ìîäóëÿ :
gedit_rights=Ïðàâà äîñòóïà ãðóïïû
gdelete_euser=Âû íå ìîæåòå óäàëèòü Âàøó ñîáñòâåííóþ ãðóïïó
acl_cert=Ìîæåò çàïðàøèâàòü ñåðòèôèêàò?
acl_uall=Âñå ïîëüçîâàòåëè
gsave_err=Îøèáêà ïðè ñîõðàíåíèè ãðóïïû
   0707010005c278000081a40000000000000002000000013d1fe2d1000017b9000000200000000000000000000000000000001500000003reloc/acl/lang/ru_SU  index_title=ðÏÌØÚÏ×ÁÔÅÌÉ Webmin
index_user=ðÏÌØÚÏ×ÁÔÅÌØ
index_modules=íÏÄÕÌÉ
index_create=óÏÚÄÁÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
index_return=ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ Webmin
edit_title2=óÏÚÄÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ Webmin
edit_rights=ðÒÁ×Á ÄÏÓÔÕÐÁ ÐÏÌØÚÏ×ÁÔÅÌÑ Webmin
edit_user=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ
edit_pass=ðÁÒÏÌØ
edit_same=ôÁËÏÊ-ÖÅ ËÁË × Unix
edit_dont=îÅ ÍÅÎÑÔØ
edit_set=õÓÔÁÎÏ×ÉÔØ
edit_modules=íÏÄÕÌÉ
edit_clone=ëÌÏÎÉÒÏ×ÁÔØ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_edup=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ '$1' ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ
save_edeny=×Ù ÎÅ ÍÏÖÅÔÅ ÓÁÍÉ ÓÅÂÅ ÚÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ë ÍÏÄÕÌÀ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Webmin
save_eunix=Unix ÐÏÌÚÏ×ÁÔÅÌØ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

acl_title=õÐÒÁ×ÌÅÎÉÅ äÏÓÔÕÐÏÍ Ë íÏÄÕÌÑÍ
acl_title2=äÌÑ $1 × $2
acl_options=$1 ÐÁÒÁÍÅÔÒÙ ÕÐÒÁ×ÌÅÎÉÑ ÄÏÓÔÕÐÏÍ
acl_config=íÏÖÅÔ ÍÅÎÑÔØ ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ?
acl_acl=íÏÖÅÔ ËÏÎÔÒÏÌÌÉÒÏ×ÁÔØ ÄÏÓÔÕÐ Ë ÍÏÄÕÌÀ?
acl_all=÷ÓÅ ÍÏÄÕÌÉ
acl_cert=íÏÖÅÔ ÚÁÐÒÁÛÉ×ÁÔØ ÓÅÒÔÉÆÉËÁÔ?
acl_chcert=íÏÖÅÔ ÍÅÎÑÔØ ÉÍÑ SSL ÓÅÒÔÉÆÉËÁÔÁ?
acl_create=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ?
acl_delete=íÏÖÅÔ ÕÄÁÌÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ?
acl_egroup=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ACL ÇÒÕÐÐ
acl_emod=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ACL ÄÌÑ ÄÁÎÎÏÇÏ ÍÏÄÕÌÑ
acl_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÁ× ÄÏÓÔÕÐÁ
acl_euser=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ACL ÄÌÑ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
acl_groups=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÒÕÐÐÙ?
acl_lang=íÏÖÅÔ ÍÅÎÑÔØ ÑÚÙË?
acl_mods=íÏÖÅÔ ÒÁÚÄÁ×ÁÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÌÑ
acl_others=íÏÖÅÔ ×ÉÄÅÔØ ÎÅÄÏÓÔÕÐÎÙÅ ÍÏÄÕÌÉ?
acl_own=ôÏÌØËÏ ÅÇÏ ÌÉÞÎÙÅ ÍÏÄÕÌÉ
acl_rename=íÏÖÅÔ ÐÅÒÅÉÍÅÎÏ×Ù×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ?
acl_sel=÷ÙÂÒÁÎÎÙÅ ÍÏÄÕÌÉ ..
acl_uall=÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
acl_usel=÷ÙÂÒÁÎÎÙÅ ..
acl_users=ðÏÌØÚÏ×ÁÔÅÌÉ ÄÏÓÔÕÐÎÙÅ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ

cert_already=÷ÎÉÍÁÎÉÅ! - ÷Ù ÕÖÅ ÉÓÐÏÌØÚÕÅÔÅ ÓÅÒÔÉÆÉËÁÔ $1.
cert_c=ëÏÄ ÓÔÒÁÎÙ
cert_cn=÷ÁÛÅ ÉÍÑ
cert_eca=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ Á×ÔÏÒÉÚÁÃÉÉ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ : $1
cert_ekey=îÏ×ÙÊ SSL ËÌÀÞ ÎÅ ÂÙÌ ÐÏÄÐÉÓÁÎ ÷ÁÛÉÍ ÂÒÁÕÚÅÒÏÍ - ×ÏÚÍÏÖÎÏ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL ÓÅÒÔÉÆÉËÁÔÙ ËÌÉÅÎÔÁ.
cert_email=áÄÒÅÓ e-mail
cert_header=ðÏÄÒÏÂÎÏÓÔÉ ÎÏ×ÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ
cert_issue=÷ÙÐÕÓË ÓÅÒÔÉÆÉËÁÔÁ
cert_key=òÁÚÍÅÒ ËÌÀÞÁ
cert_msg=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÚÁÐÒÏÓÉÔØ SSL ÓÅÒÔÉÆÉËÁÔ ËÌÉÅÎÔÁ, ËÏÔÏÒÙÊ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÓÔÕÐÁ Ë Webmin ÓÅÒ×ÅÒÕ ×ÍÅÓÔÏ ÷ÁÛÅÇÏ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÁÒÏÌÑ. üÔÏ ÎÁÍÎÏÇÏ ÂÅÚÏÐÁÓÎÅÅ, ÎÏ ÐÏÓËÏÌØËÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÑ ÂÕÄÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, ÷ÁÍ ÂÕÄÅÔ ÎÅÄÏÓÔÕÐÎÏ ÐÅÒÅËÌÀÞÅÎÉÅ ÎÁ ÄÒÕÇÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ.
cert_o=ïÒÇÁÎÉÚÁÃÉÑ
cert_ok=÷ÁÛ ÓÅÒÔÉÆÉËÁÔ ÄÌÑ $1 ÂÙÌ ÕÓÐÅÛÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÎ É ÕÓÔÁÎÏ×ÌÅÎ ÎÁ ÷ÁÛ ×ÅÂ ÂÒÁÕÚÅÒ.
cert_ou=ïÔÄÅÌ
cert_sp=ûÔÁÔ
cert_title=úÁÐÒÏÓ ÓÅÒÔÉÆÉËÁÔÁ

delete_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
delete_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
delete_eself=÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÓÁÍÉ ÓÅÂÑ
delete_euser=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

edit_all=òÁÚÒÅÛÅÎ ÓÏ ×ÓÅÈ ÁÄÒÅÓÏ×
edit_allow=òÁÚÒÅÛÅÎ ÔÏÌØËÏ Ó ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÁÄÒÅÓÏ×
edit_cert=éÍÑ SSL ÓÅÒÔÉÆÉËÁÔÁ
edit_deny=úÁÐÒÅÝÅÎ Ó ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÁÄÒÅÓÏ×
edit_ecreate=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
edit_euser=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
edit_group=þÌÅÎ ÇÒÕÐÐÙ
edit_groupmods=(÷ ÄÏÐÏÌÎÅÎÉÅ Ë ÍÏÄÕÌÑÍ ÉÚ ÇÒÕÐÐÙ)
edit_ipdesc=ëÏÎÔÒÏÌØ ÄÏÓÔÕÐÁ ÐÏ IP ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÒÁÂÏÔÁÅÔ ÔÁË-ÖÅ, ËÁË É ÇÌÏÂÁÌØÎÙÊ ËÏÎÔÒÏÌØ ÄÏÓÔÕÐÁ ÐÏ IP × ÍÏÄÕÌÅ "ëÏÎÆÉÇÕÒÁÃÉÑ Webmin". äÁÎÎÁÑ ÐÒÏ×ÅÒËÁ ÄÏÓÔÕÐÁ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÅÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÐÒÏÛÅÌ ÇÌÏÂÁÌØÎÙÊ ËÏÎÔÒÏÌØ ÄÏÓÔÕÐÁ.
edit_ips=ëÏÎÔÒÏÌØ ÄÏÓÔÕÐÁ ÐÏ IP
edit_lang=ñÚÙË
edit_none=ïÔÓÕÔÓÔ×ÕÅÔ
edit_notabs=òÁÚÄÅÌÑÔØ ÍÏÄÕÌÉ ÐÏ ËÁÔÅÇÏÒÉÑÍ?
edit_pam=PAM ÁÕÔÅÎÔÉÆÉËÁÃÉÑ
edit_risk=õÒÏ×ÅÎØ ÒÉÓËÏ×
edit_risk_high=óÕÐÅÒ-ÐÏÌØÚÏ×ÁÔÅÌØ
edit_risk_low=ïÂÙÞÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
edit_risk_medium=áÄÍÉÎÉÓÔÒÁÔÏÒ
edit_skill=õÒÏ×ÅÎØ ÏÐÙÔÁ

gdelete_desc=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÇÒÕÐÐÕ $1 É Å£ ÞÌÅÎÏ× $2 ?
gdelete_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÇÒÕÐÐÙ
gdelete_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÇÒÕÐÐÙ
gdelete_euser=÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÷ÁÛÕ ÓÏÂÓÔ×ÅÎÎÕÀ ÇÒÕÐÐÕ
gdelete_ok=õÄÁÌÉÔØ ÇÒÕÐÐÕ
gdelete_title=õÄÁÌÅÎÉÅ ÇÒÕÐÐÙ

gedit_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÒ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÒÕÐÐÙ
gedit_group=éÍÑ ÇÒÕÐÐÙ
gedit_modules=íÏÄÕÌÉ ÞÌÅÎÏ× ÇÒÕÐÐÙ
gedit_rights=ðÒÁ×Á ÄÏÓÔÕÐÁ ÇÒÕÐÐÙ
gedit_title2=óÏÚÄÁÎÉÅ ÇÒÕÐÐÙ Webmin
gedit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÇÒÕÐÐÙ Webmin

gsave_edup=éÍÑ ÇÒÕÐÐÙ ÕÖÅ ÚÁÄÅÊÓÔ×Ï×ÁÎÏ
gsave_ename=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÇÒÕÐÐÙ
gsave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÇÒÕÐÐÙ

index_cert=úÁÐÒÏÓÉÔØ SSL ÓÅÒÔÉÆÉËÁÔ
index_certmsg=SSL ÓÅÒÔÉÆÉËÁÔ ÐÏÚ×ÏÌÉÔ ÷ÁÍ ÂÅÚÏÐÁÓÎÏ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ ÎÁ Webmin ÓÅÒ×ÅÒÅ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÁÒÏÌÑ.
index_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ACL ÍÏÄÕÌÑ :
index_gcreate=óÏÚÄÁÔØ ÎÏ×ÕÀ ÇÒÕÐÐÕ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_global=çÌÏÂÁÌØÎÙÅ ACL
index_group=çÒÕÐÐÁ
index_groups=çÒÕÐÐÙ
index_members=þÌÅÎÙ
index_modgroups=íÏÄÕÌÉ ÇÒÕÐÐÙ $1
index_nogroups=îÅ ÏÐÒÅÄÅÌÅÎÏ ÎÉ ÏÄÎÏÊ ÇÒÕÐÐÙ ÄÏÓÔÕÐÎÏÊ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ.
index_none=ïÔÓÕÔÓÔ×ÕÅÔ
index_nousers=îÅ ÏÐÒÅÄÅÌÅÎÏ ÎÉ ÏÄÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÓÔÕÐÎÏÇÏ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ.
index_rcreate=óÏÚÄÁÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ Ó ÚÁÄÁÎÎÙÍ ÒÉÓËÏÍ
index_users=ðÏÌØÚÏ×ÁÔÅÌÉ

log_acl=ïÂÎÏ×ÌÅÎ ÄÏÓÔÕÐ ÄÌÑ $1 × $2
log_cert=÷ÙÄÁÎ ÓÅÒÔÉÆÉËÁÔ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ $1
log_clone= ëÌÏÎÉÒÏ×ÁÎ ÐÏÌØÚÏ×ÁÔÅÌØ Webmin $1 × $2
log_create=óÏÚÄÁÎ ÐÏÌØÚÏ×ÁÔÅÌØ Webmin $1
log_create_g=óÏÚÄÁÎÁ ÇÒÕÐÐÁ Webmin $1
log_delete=õÄÁÌÅÎ ÐÏÌØÚÏ×ÁÔÅÌØ Webmin $1
log_delete_g=õÄÁÌÅÎÁ ÇÒÕÐÐÁ Webmin $1
log_modify=éÚÍÅÎÅÎ ÐÏÌØÚÏ×ÁÔÅÌØ Webmin $1
log_modify_g=éÚÍÅÎÅÎÁ ÇÒÕÐÐÁ Webmin  $1
log_rename=ðÅÒÅÉÍÅÎÏ×ÁÎ ÐÏÌØÚÏ×ÁÔÅÌØ Webmin $1 × $2
log_rename_g=ðÅÒÅÉÍÅÎÏ×ÁÎÁ ÇÒÕÐÐÁ Webmin $1 × $2

save_ecolon=ðÁÒÏÌÉ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ ÓÉÍ×ÏÌÁ : 
save_ecreate=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
save_egroup=îÅ ×ÙÂÒÁÎÙ ÇÒÕÐÐÙ ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÓÐÉÓËÁ ÍÏÄÕÌÅÊ
save_emd5=ðÁÒÁÍÅÔÒ ÐÁÒÏÌÑ "ÔÁËÊ-ÖÅ ËÁË × Unix" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ÎÁ ÓÉÓÔÅÍÅ ÉÓÐÏÌØÚÕÀÝÅÊ ÛÉÆÒÏ×ÁÎÉÅ MD5
save_emod=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÁÚÒÅÛÉÔØ ÄÏÓÔÕÐ Ë ÍÏÄÕÌÀ '$1'
save_eos=ðÁÒÁÍÅÔÒ ÐÁÒÏÌÑ "ÔÁËÊ-ÖÅ ËÁË × Unix" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÷ÁÛÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÏÊ.
save_epam=PAM ÁÕÔÅÎÔÉÆÉËÁÃÉÑ ÎÅÄÏÓÔÕÐÎÁ Ô.Ë. Perl ÍÏÄÕÌØ <tt>Authen::PAM</tt> ÎÅ ÕÓÔÁÎÏ×ÌÅÎ ÉÌÉ ÒÁÂÏÔÁÅÔ ÎÅËÏÒÒÅËÔÎÏ.
save_eself=÷ÁÛ ÔÅËÕÝÉÊ IP ÁÄÒÅÓ ($1) ÂÕÄÅÔ ÚÁÐÒÅÝÅÎ
save_euser=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
   0707010005c279000081a40000000000000002000000013d1fe2d100001713000000200000000000000000000000000000001200000003reloc/acl/lang/sv index_title=Webmin-användare
index_user=Användare
index_modules=Moduler
index_create=Skapa ny Webmin-användare
index_rcreate=Skapa ny risknivå-användare
index_cert=Skapa en SSL-certifikatbegäran
index_certmsg=Tryck på denna knapp för att skicka efter ett SSL-certifikat som gör det möjligt för dig att logga in på Webmin säkert, utan att behöva använda användarnamn och lösenord.
index_return=användarlista
index_none=Ingen
index_edit=Ändra ACL-modul:
index_global=Global ACL
index_users=Webmin-användare
index_groups=Webmin-grupper
index_group=Grupp
index_nousers=Det finns inga ändringsbara Webmin-användare.
index_nogroups=Det finns inga ändringsbara Webmin-grupper.
index_gcreate=Skapa en ny Webmin-grupp
index_members=Medlemmar
index_modgroups=Moduler från grupp $1

edit_title=Ändra Webmin-användare
edit_title2=Skapa ny Webmin-användare
edit_rights=Åtkomsträttigheter för Webmin-användare
edit_user=Användarnamn
edit_group=Medlem i grupp
edit_pass=Lösenord
edit_same=Samma som i Unix
edit_pam=PAM-autentisering
edit_dont=Ändra inte
edit_set=Sätt till
edit_modules=Moduler
edit_clone=Klona
edit_lang=Språk
edit_notabs=Kategorisera moduler?
edit_cert=SSL-certifikatnamn
edit_none=Inget
edit_ips=IP-styrd åtkomstkontroll
edit_all=Tillåt från alla adresser
edit_allow=Tillåt endast från angivna adresser
edit_deny=Tillåt ej från angivna adresser
edit_ipdesc=Användarbaserad IP-styrd åtkomstkontroll fungerar på samma sätt som den globala IP-styrda åtkomstkontrollen i konfigurationsmodulen för Webmin. Endast ifall användaren har passerat den globala kontrollen kommer reglerna här att kontrolleras. 
edit_skill=Skicklighetsnivå
edit_risk=Risknivå
edit_risk_high=Superanvändare
edit_risk_medium=Administratör
edit_risk_low=Vanlig användare
edit_groupmods=(utöver moduler från gruppen)
edit_euser=Du får inte ändra något för denna användare
edit_ecreate=Du får inte skapa användare

save_err=Det gick inte att spara användare
save_ename='$1' är inget giltigt användarnamn
save_edup=Det finns redan en användare '$1'
save_edeny=Du kan inte ta bort din egen åtkomsträttighet till Webmin-användarmodulen
save_eos=Alternativet Samma som i Unix stöds inte av ditt operativsystem
save_emd5=Alternativet Samma som i Unix kan inte användas på system med MD5-kryptering
save_eunix=Unix-användaren '$1' finns inte
save_emod=Du får inte ge åtkomsträttighet till '$1'-modulen
save_ecreate=Du får inte skapa användare
save_euser=Du får inte ändra något för denna användare
save_ecolon=Lösenord för ej innehålla tecknet :
save_eself=Din nuvarande IP-adress ($1) skulle nekas åtkomst
save_epam=PAM-autentiseringen finns inte tillgänglig eftersom Perl-modulen <tt>Authen::PAM</tt> inte har installerats eller inte fungerar ordentligt.
save_egroup=Du får inte lägga till användare till denna grupp.

delete_err=Det gick inte att radera användare
delete_eself=Du får inte radera dig själv
delete_ecannot=Du får inte radera användare
delete_euser=Du får inte radera denna användare

cert_title=Certifikatbegäran
cert_issue=Skapa certifikat
cert_header=Uppgifter om nytt certifikat
cert_msg=Här kan du skapa en certifikatbegäran till din SSL-klient. Certifikatet används sedan för att du ska kunna komma åt Webmin utan att använda användarnamn och lösenord. Detta är ett säkrare sätt, men eftersom autenticeringen sker automatiskt kommer du inte att kunna byta till en annnan användare medan du använder certifikatet.
cert_cn=Ditt namn
cert_email=E-postadress
cert_ou=Avdelning
cert_o=Organisation
cert_sp=Land
cert_c=Landskod
cert_key=Nyckelstorlek
cert_ok=Ditt certifikat för $1 har genererats och laddats in i din webbrowser.
cert_ekey=Din browser genererade ingen SSL-nyckel - möjligen stödjer den inte SSL-certifikat.
cert_eca=Det gick inte att kontakta en pålitlig tredjepart: $1
cert_already=Varning: du använder redan certifikat $1.

acl_title=Åtkomstkontroll för moduler
acl_title2=För $1 i $2
acl_options=Åtkomstkontrollinställningar för $1
acl_config=Ändra modulkonfigurering?
acl_uall=Alla användare
acl_usel=Angivna ...
acl_users=Användare som får ändras
acl_mods=Kunna ge åtkomsträttigheter till
acl_all=Alla moduler
acl_own=Bara egna moduler
acl_sel=Valda moduler ...
acl_create=Kunna skapa nya användare?
acl_delete=Kunna radera användare?
acl_rename=Kunna byta namn på användare?
acl_acl=Kunna ändra åtkomsträttigheter för moduler?
acl_lang=Kunna ändra språk?
acl_chcert=Kunna ändra SSL-certifikatnamn?
acl_euser=Du får inte ändra ACL:en för denna användare
acl_egroup=Du får inte ändra grupp-ACL:er
acl_emod=Du får inte ändra ACL:en för denna modul
acl_others=Kunna se moduler som inte går att komma åt?
acl_cert=Kunna begära certifikat?
acl_err=Det gick inte att spara åtkomsträttigheter
acl_groups=Kunna ändra grupper?
acl_gassign=Kunna lägga användare till grupper
acl_gall=Alla grupper
acl_gsel=Angivna ...
acl_gnone=Inga

log_modify=Ändrade Webmin-användare $1
log_rename=Bytte namn på Webmin-användare $1 till $2
log_create=Skapade Webmin-användare $1
log_clone=Klonade Webmin-användare $1 till $2
log_delete=Tog bort Webmin-användare $1
log_acl=Ändrade åtkomst för $1 i $2
log_cert=Utfärdade certifikat för användare $1
log_modify_g=Ändrade Webmin-grupp $1
log_rename_g=Bytte namn på Webmin-grupp $1 till $2
log_create_g=Skapade Webmin-grupp $1
log_delete_g=Tog bort Webmin-grupp $1

gedit_ecannot=Du får inte ändra några grupper
gedit_title=Ändra Webmin-grupp
gedit_title2=Skapa Webmin-grupp
gedit_group=Gruppnamn
gedit_rights=Åtkomsträttigheter för Webmin-grupp
gedit_modules=Medlemsmoduler

gdelete_err=Det gick inte att ta bort gruppen
gdelete_ecannot=Du får inte ta bort grupper
gdelete_euser=Du får inte ta bort din egen grupp
gdelete_title=Ta bort grupp
gdelete_desc=Vill du verkligen ta bort gruppen $1 och dess medlemmar, användarna $2 ?
gdelete_ok=Ta bort grupp

gsave_err=Det gick inte att spara gruppen
gsave_ename=Gruppnamn saknas eller är ogiltigt
gsave_edup=Gruppnamnet används redan

 0707010005c27a000081a40000000000000002000000013d1fe2d1000010ef000000200000000000000000000000000000001200000003reloc/acl/lang/tr index_title=Webmin Kullanýcýlarý
index_user=Kullanýcý
index_modules=Modüller
index_create=Yeni bir Webmin kullanýcýsý oluþtur
index_cert=SSL sertifikasý gereklidir
index_certmsg=Bir kullanýcý adý ve þifreye ihtiyaç olmadan Webmin'e güvenli olarak girebilmek için gerekli olan SSL sertifikasýný için bu butonu týklayýnýz
index_return=kullanýcý listesi
index_none=Hiçbiri

edit_title=Webmin Kullanýcýsýnýn Özelliklerini Deðiþtir
edit_title2=Webmin Kullanýcýsý Oluþtur
edit_rights=Webmin yeni kullanýcý izinleri 
edit_user=Kullanýcý Adý
edit_pass=Parola
edit_same=Unix ile ayný
edit_dont=Deðiþtirilmedi
edit_set=Yeni Parola
edit_modules=Modüller
edit_clone=Aynýsýný Oluþtur
edit_lang=Dil
edit_notabs=Modüller Sýnýflandýrýlsýn?
edit_cert=SSL sertifika ismi
edit_none=Hiçbiri
edit_ips=IP Giriþ Kontrol
edit_all=Bütün adreslerden kabul et
edit_allow=Sadece listeli adreslerden kabul et
edit_deny=Listeli adreslere izin verme
edit_ipdesc=Kullanýcý IP giriþ kontrolü Webmin yapýlandýrma modülündeki genel IP giriþ kontrolüne benzer yolla çalýþýr.Kullanýcý genel kontrolleri geçerse bir defa daha kontrol edilmiþ olacaktýr. 
edit_euser=Bu kullanýcýnýn özelliklerini deðiþtirmenize izin verilmemiþtir 
edit_ecreate=Kullanýcý oluþturmanýza izin verilmemiþtir

save_err=Kullanýcý kayýtlarý kaydedilirken hata oluþtu.
save_ename='$1' doðru bir kullanýcý adý deðildir. (valid=doðru)
save_edup='$1' kullanýcý adý sistemde vardýr.
save_edeny=Webmin Kullanýcýlarý modülünü kendinizin deðiþtirmenize izin verilmemiþtir.
save_eos=Unix Þifresi ile Ayný seçeneði iþletim sisteminiz tarafýndan desteklenmemektedir.
save_emd5=Unix Þifresi ile Ayný seçeneði sisteminizde MD5 þifreleme yöntemi ile birlikte kullanýlamaz.
save_eunix='$1' Unix kullanýcýsý sistemde yoktur.
save_emod='$1' modülünün izinlerini deðiþtiremezsiniz.
save_ecreate=Kullanýcý oluþturmanýz izin verilmemiþtir.
save_euser=Bu kullanýcýnýn özelliklerini deðiþtirmenize izin verilmemiþtir.
save_ecolon=Parola : karakterini içermemelidir.
save_eself=Mevcut IP adresinize ($1) istenirse izin verilmeyebilir.

delete_err=Kullanýcýnýn silinmesinde hata oluþtu
delete_eself=Kendi kullanýcýnýzý silemezsiniz
delete_ecannot=Kullanýcý silmenize izin verilmemiþtir
delete_euser=Bu kullanýcýyý silmenize izin verilmemiþtir

cert_title=Gerekli Sertifika
cert_issue=Sertifika Baþlýðý
cert_header=Yeni Sertifika Detaylarý
cert_mesg=Bu form kullanýcý adýnýz ve þifrenize izinler verilmek için gelecekte kullanýlmak üzere bir istemci sertifikasýna ihtiyaç duymaktadýr.Bu çok gizlidir, çünkü onaylama otomatiktir. Siz sertifika kullanýlýrken bu kullanýcýyý kaðatýp farklý bir kullanýcý olarak giremezsiniz. 
cert_cn=Ýsminiz
cert_email=E-posta adresiniz
cert_ou=Bölümünüz
cert_o=Kurum ve Þirket Ýsmi
cert_sp=Ülke
cert_c=Bulunduðunuz þehrin plaka numarasý
cert_key=Anahtar Boyutu
cert_ok=$1 için gerekli olan sertifikanýz baþarýyla oluþturuldu ve web tarayýcýnýza kuruldu
cert_ekey=Yeni SSL anahtarý tarayýcýnýza yerleþtirilemedi.Tarayýcýnýz SSL istemci sertifikalarýný desteklemiyor olabilir.
cert_eca=Sertifikanýn onaylama kurulumunda hata oluþtu
cert_already=Uyarý- $1 sertifikasýný her zaman kullanmaktasýnýz

acl_title=Modül Ýzin Kontrolü
acl_title2=$2'de $1 için
acl_options=$1 Ýzin Kontrol Seçenekleri
acl_config=Modül ayarlarýný deðiþtirebilsin
acl_users=Özellikleri deðiþtirilebilmiþ olan kullanýcýlar
acl_mods=Ýzin verilebilir mi?
acl_all=Bütün modüller
acl_own=Sadece kendi modülleriniz
acl_sel=Seçilen modüller ..
acl_create=Yeni kullanýcýlar oluþturabilsin
acl_delete=Kullanýcýlarý silebilsin
acl_rename=Kullanýcýlarý yeniden isimlendirebilsin
acl_euser=Bu kullanýcý için giriþ izinlerini deðiþtiremezsiniz
acl_acl=Giriþ kontrol modülünü deðiþtirebilsin mi?
acl_lang=Dili deðiþtirebilsin mi?
acl_chcert=SSL sertifikasýnýn ismini deðiþtirebilsin mi?
acl_emod=Bu modül için giriþ izinlerini deðiþtiremezsiniz
acl_others=Ýzin verilmeyen modüller görüntülensin
acl_cert=Sertifika isteyebilsin?
acl_err=Giriþ kontrollerinin kaydedilmesinde hata oluþtu.

log_modify=Webmin kullanýcýsý $1 deðiþtirildi.
log_rename=Webmin kullanýcýsý $1, $2 olarak yeniden adlandýrýldý.
log_create=Webmin kullanýcýsý $1 oluþturuldu.
log_clone=Webmin kullanýcýsý $1, $2'ye kopyalandý.
log_delete=Webmin kullanýcýsý $1 silindi.
log_acl=$2'de $1 için giriþler güncellendi.
log_cert=$1 kullanýcýsý için sertifika yayýnlandý.

 0707010005c27b000081a40000000000000002000000013d1fe2d000000c21000000200000000000000000000000000000001500000003reloc/acl/lang/zh_CN  index_title=Webmin ÓÃ»§¹ÜÀí
index_user=ÓÃ»§
index_modules=Ä£¿é
index_create=´´½¨ÐÂÓÃ»§
index_rcreate=´´½¨ÐÂµÄÎ£ÏÕ¼¶±ðÓÃ»§
index_cert=ÐèÒª SSL ÑéÖ¤
index_certmsg=µã»÷´Ë°´Å¥ÇëÇóÒ»¸öSSLÑéÖ¤, Ê¹Äú²»ÐèÒªÊäÈëÓÃ»§ÃûºÍ¿ÚÁî¼´ÄÜ°²È«µØµÇÂ¼ Webmin¡£
index_return=ÓÃ»§ÁÐ±í
index_none=ÎÞ
index_edit=±à¼­ ACL Ä£¿é£º
index_global=È«¾Ö ACL
edit_title=±à¼­ Webmin ÓÃ»§
edit_title2=´´½¨ Webmin ÓÃ»§
edit_rights=Webmin ÓÃ»§·ÃÎÊÈ¨ÏÞ
edit_user=ÓÃ»§Ãû
edit_pass=¿ÚÁî
edit_same=Óë Unix ÏàÍ¬
edit_pam=PAM ÑéÖ¤
edit_dont=²»±ä
edit_set=ÉèÖÃÎª
edit_modules=Ä£¿é
edit_clone=¿ËÂ¡
edit_lang=ÓïÑÔ
edit_notabs=Ä£¿é·ÖÀà£¿
edit_cert=SSL ÑéÖ¤Ãû³Æ
edit_none=ÎÞ
edit_ips=IP ·ÃÎÊ¿ØÖÆ
edit_all=ÔÊÐí´ÓÈÎºÎµØÖ··ÃÎÊ
edit_allow=Ö»ÔÊÐí´ÓÁÐ³öµØÖ··ÃÎÊ
edit_deny=½ûÖ¹´ÓÁÐ³öµÄµØÖ··ÃÎÊ
edit_ipdesc=ÓÃ»§µÄ IP ·ÃÎÊ¿ØÖÆÓëWebminÅäÖÃÄ£¿éÖÐµÄÈ«¾ÖIP·ÃÎÊ¿ØÖÆÏàÍ¬¡£Ö»ÓÐµ±Ò»¸öÓÃ»§Í¨¹ýÈ«¾Ö¿ØÖÆÊ±£¬ÕâÀï²ÅÄÜÍ¨¹ý¡£
edit_skill=ÊìÁ·³Ì¶È
edit_risk=Î£ÏÕ¼¶±ð
edit_risk_high=³¬¼¶ÓÃ»§
edit_risk_medium=¹ÜÀíÓÃ»§
edit_risk_low=ÆÕÍ¨ÓÃ»§
edit_euser=ÄúÃ»ÓÐ±à¼­Õâ¸öÓÃ»§µÄÈ¨ÏÞ
edit_ecreate=ÄúÃ»ÓÐ´´½¨ÓÃ»§µÄÈ¨ÏÞ
save_err=±£´æÓÃ»§Ê§°Ü
save_ename=´íÎóµÄÓÃ»§Ãû '$1'
save_edup=ÓÃ»§Ãû '$1' ÒÑ¾­´æÔÚ
save_edeny=²»ÄÜÈ¡Ïû×Ô¼º¶Ô Webmin ÓÃ»§Ä£¿éµÄ¿ØÖÆÈ¨
save_eos=ÄúµÄ²Ù×÷ÏµÍ³²»Ö§³Ö¡°ÓëUNIX ÏàÍ¬¡±µÄ¿ÚÁîÑ¡Ïî¡£
save_emd5=¡°ÓëUNIX ÏàÍ¬¡±µÄ¿ÚÁîÑ¡Ïî²»ÄÜÓÃÓïÊ¹ÓÃMD5¼ÓÃÜµÄÏµÍ³ÉÏ¡£
save_eunix=Unix ÓÃ»§ '$1' ²»´æÔÚ
save_emod=Äú²»ÄÜÊÚÓè¶ÔÄ£¿é '$1' µÄ·ÃÎÊÈ¨
save_ecreate=Ã»ÓÐ´´½¨ÓÃ»§µÄÈ¨ÏÞ
save_euser=Ã»ÓÐ±à¼­ÓÃ»§µÄÈ¨ÏÞ
save_ecolon=¿ÚÁî²»ÄÜ°üº¬ : ×Ö·û
save_eself=ÄúÄ¿Ç°Ê¹ÓÃµÄ IP µØÖ· ($1) ±»¾Ü¾ø¡£
save_epam=Òò<tt>Authen::PAM</tt> Perl Ä£¿éÃ»ÓÐ°²×°»ò²»ÄÜÕý³£¹¤×÷£¬PAM ÑéÖ¤²»¿ÉÓÃ¡£
delete_err=É¾³ýÓÃ»§Ê§°Ü
delete_eself=²»ÄÜÉ¾³ý×Ô¼º
delete_ecannot=Ã»ÓÐÉ¾³ýÓÃ»§µÄÈ¨ÏÞ
delete_euser=Ã»ÓÐÉ¾³ýÕâ¸öÓÃ»§µÄÈ¨ÏÞ
cert_title=ÐèÒªÑéÖ¤
cert_issue=·¢·ÅÑéÖ¤
cert_header=ÐÂÑéÖ¤ÏêÏ¸ÏûÏ¢
cert_msg=´Ë±íµ¥ÓÃÀ´ÉêÇëÒ»¸ö SSL ¿Í»§¶ËµÄÑéÖ¤£¬ÔÚÒÔºó´ËÑéÖ¤½«±»ÓÃÀ´ÊÚÓèÄú¶ÔwebminµÄ·ÃÎÊ£¬¶ø²»ÐèÒªÄúÊäÈëÓÃ»§ÃûºÍ¿ÚÁî¡£´Ë·½·¨¸üÎª°²È«£¬µ«ÊÇÒòÎªÑéÖ¤½ø³ÌÊÇ×Ô¶¯µÄ£¬Äú½«²»ÄÜÇÐ»»µ½±ðµÄÓÃ»§¡£
cert_cn=ÄúµÄÐÕÃû
cert_email=Email µØÖ·
cert_ou=²¿ÃÅ
cert_o=×éÖ¯
cert_sp=Ê¡ÊÐ
cert_c=¹ú¼Ò´úÂë
cert_key=ÃÜÔ¿³¤¶È
cert_ok=ÄúÓÃÓÚ $1 µÄÑéÖ¤ÒÑ¾­³É¹¦µØÉú³É²¢ÇÒ°²×°µ½ÁËÄúµÄä¯ÀÀÆ÷ÖÐ¡£
cert_ekey=ä¯ÀÀÆ÷Ã»ÓÐÌá½»ÐÂµÄ SSL ÃÜÔ¿¡£¿ÉÄÜÄúµÄä¯ÀÀÆ÷²»Ö§³Ö SSL ¿Í»§ÑéÖ¤¡£
cert_eca=ÉèÖÃÑéÖ¤Ê§°Ü : $1
cert_already=¾¯¸æ - ÄúÒÑ¾­Ê¹ÓÃÑéÖ¤ $1¡£
acl_title=Ä£¿é·ÃÎÊ¿ØÖÆ
acl_title2=$2 ÖÐµÄ $1
acl_options=$1 ·ÃÎÊ¿ØÖÆÑ¡Ïî
acl_config=ÊÇ·ñ¿ÉÒÔ±à¼­Ä£¿éÅäÖÃ£¿
acl_uall=ËùÓÐÓÃ»§
acl_usel=Ñ¡Ôñ ..
acl_users=¿É±»±à¼­µÄÓÃ»§
acl_mods=¿ÉÒÔÊÚÈ¨¸ø
acl_all=ËùÓÐÄ£¿é
acl_own=Ö»ÓÐ×Ô¼ºµÄÄ£¿é
acl_sel=ÒÑ±»Ñ¡ÖÐµÄÄ£¿é ..
acl_create=ÊÇ·ñ¿ÉÒÔ´´½¨ÐÂÓÃ»§£¿
acl_delete=ÊÇ·ñ¿ÉÒÔÉ¾³ýÓÃ»§£¿
acl_rename=ÊÇ·ñ¿ÉÒÔÖØÃüÃûÓÃ»§£¿
acl_acl=ÄÜ·ñ±à¼­Ä£¿é·ÃÎÊ¿ØÖÆ£¿
acl_lang=ÊÇ·ñ¿ÉÒÔ¸Ä±äÓïÑÔ£¿
acl_chcert=ÊÇ·ñ¿ÉÒÔ¸Ä±ä SSL ÑéÖ¤Ãû³Æ£¿
acl_euser=Ã»ÓÐ±à¼­Õâ¸öÓÃ»§µÄACLµÄÈ¨ÏÞ
acl_emod=Ã»ÓÐ±à¼­Õâ¸öÄ£¿éµÄACLµÄÈ¨ÏÞ
acl_others=ÊÇ·ñ¿ÉÒÔ¿´µ½²»ÄÜ·ÃÎÊµÄÄ£¿é£¿
acl_cert=ÊÇ·ñÐèÒªÑéÖ¤£¿
acl_err=±£´æ·ÃÎÊ¿ØÖÆÊ§°Ü
log_modify=ÐÞ¸Ä Webmin ÓÃ»§ $1
log_rename=¸ü¸Ä Webmin ÓÃ»§Ãû $1 Îª $2
log_create=´´½¨ Webmin ÓÃ»§ $1
log_clone=¸´ÖÆ Webmin ÓÃ»§ $1 µ½ $2
log_delete=É¾³ý Webmin ÓÃ»§ $1
log_acl=¸üÐÂ $1 ÔÚ $2 ÖÐµÄ·ÃÎÊ
log_cert=·¢·ÅÑéÖ¤¸øÓÃ»§ $1
   0707010005c27c000081a40000000000000002000000013d1fe2d00000090d000000200000000000000000000000000000001a00000003reloc/acl/lang/zh_TW.Big5 index_title=Webmin ¨Ï¥ÎªÌ
index_user=¨Ï¥ÎªÌ
index_modules=¼Ò²Õ
index_create=«Ø¥ß·sªº Webmin ¨Ï¥ÎªÌ
index_cert=­n¨D SSL »{ÃÒ
index_certmsg=«ö¤U³o­Ó«ö¶s¥i¥H­n¨D¨Ï¥Î SSL »{ÃÒ. ³o¥i¥H¨Ï±z¦w¥þªºµn¤J¨ì Webmin ¤¤¥B¤£»Ý­n¿é¤J¨Ï¥ÎªÌ¦WºÙ»P±K½X.
index_return=¨Ï¥ÎªÌ¦Cªí

edit_title=½s¿è Webmin ¨Ï¥ÎªÌ
edit_title2=«Ø¥ß Webmin ¨Ï¥ÎªÌ
edit_rights=Webmin ¨Ï¥ÎªÌ¦s¨úÅv¤O
edit_user=¨Ï¥ÎªÌ¦WºÙ
edit_pass=±K½X
edit_same=»P Unix ¨t²Î¬Û¦P
edit_dont=¤£­n§ïÅÜ
edit_set=³]©w¦¨
edit_modules=¼Ò²Õ
edit_clone=½Æ»s
edit_lang=»y¨¥
edit_notabs=¬O§_¨Ï¥Î¼Ò²Õ¤ÀÃþ?
edit_cert=SSL »{ÃÒ¦WºÙ
edit_none=µL
edit_euser=±z¤£³Q¤¹³\½s¿è³o­Ó¨Ï¥ÎªÌ
edit_ecreate=±z¤£³Q¤¹³\«Ø¥ß¨Ï¥ÎªÌ

save_err=Àx¦s¨Ï¥ÎªÌ¥¢±Ñ
save_ename='$1' ¤£¬O¤@­Ó¦³®Äªº¨Ï¥ÎªÌ¦WºÙ
save_edup=¨Ï¥ÎªÌ¦WºÙ '$1' ¤w¸g³Q¨Ï¥Î¤F
save_edeny=±z¤£¯à©Úµ´±z¦Û¤v¦s¨ú Webmin ¨Ï¥ÎªÌ¼Ò²Õ
save_eos=»P Unix ¨t²Î¬Û¦P±K½Xªº¥\¯à¤£³Q±zªº§@·~¨t²Î¤ä´©.
save_emd5=»P Unix ¨t²Î¬Û¦P±K½Xªº¥\¯à¤£¯à¥Î¦b¨Ï¥Î MD5 ½s½Xªº¨t²Î¤W.
save_eunix=Unix ¨Ï¥ÎªÌ '$1' ¤£¦s¦b
save_emod=±z¤£³Q±ÂÅv¦s¨ú¼Ò²Õ '$1'
save_ecreate=±z¤£³Q¤¹³\«Ø¥ß·s¨Ï¥ÎªÌ
save_euser=±z¤£³Q¤¹³\½s¿è³o­Ó¨Ï¥ÎªÌ
save_ecolon=±K½X¤£¯à¥]§t ':' ¦r¤¸

delete_err=§R°£¨Ï¥ÎªÌ¥¢±Ñ
delete_eself=±z¤£¯à§R°£±z¦Û¤v
delete_ecannot=±z¤£³Q¤¹³\§R°£¨Ï¥ÎªÌ
delete_euser=±z¤£³Q¤¹³\§R°£³o­Ó¨Ï¥ÎªÌ

cert_title=­n¨D»{ÃÒ
cert_issue=µo¥X»{ÃÒ
cert_header=·s»{ÃÒ¸Ô²Ó¸ê®Æ
cert_msg=³o­Óªí³æ¤¹³\±z­n¨D¤@­Ó SSL ªº«È¤áºÝ»{ÃÒ, ±z±N¥i¥H¨Ï¥Î³o­Ó»{ÃÒ¨Ó±ÂÅv±z¦s¨ú Webmin ¦Ó¤£»Ý­n¿é¤J¨Ï¥ÎªÌ¦WºÙ»P±K½X. ³o±N·|§ó¥[¦w¥þ, ¦ý¦]¬°»{ÃÒ¬O¦Û°Ê³B²zªº, ©Ò¥H¨Ï¥Î»{ÃÒ®É±z±N¤£¯à¤Á´«¨ì¨ä¥L¨Ï¥ÎªÌ.
cert_cn=±zªº¨Ï¥ÎªÌ¦WºÙ
cert_email=¹q¤l¶l¥ó¦ì§}
cert_ou=¤u§@³æ¦ì
cert_o=²ÕÂ´¦WºÙ
cert_sp=¦{(¬Ù)
cert_c=°ê®a¥N½X
cert_key=ÂêÆ_ªø«×
cert_ok=±zµ¹ $1 ªº»{ÃÒ¤w¸g¦Û°Ê±ÂÅv¨Ã¥B¦w¸Ë¦b±zªºÂsÄý¾¹¤¤.
cert_ekey=±zªºÂsÄý¾¹¨Ã¥¼°e¥X¤@­Ó·sªº SSL ÂêÆ_ - ¥i¯à¬O¤£¤ä´© SSL «È¤áºÝ»{ÃÒ.
cert_eca=³]©w»{ÃÒ±ÂÅv¥¢±Ñ : $1
cert_already=Äµ§i - ±z¥Ø«e¥¿¨Ï¥Î»{ÃÒ $1.

acl_title=¼Ò²Õ¦s¨ú±±¨î
acl_title2=µ¹ $1 ¦b $2
acl_options=$1 ¦s¨ú±±¨î¿ï¶µ
acl_config=¬O§_¥i¥H½s¿è¼Ò²Õ²ÕºA?
acl_users=¨Ï¥ÎªÌ¬O¥i¥H³Q½s¿èªº
acl_mods=¬O§_¥i¥H±ÂÅv¦s¨ú?
acl_all=©Ò¦³¼Ò²Õ
acl_own=¥u¦³¥L¦Û¤vªº¼Ò²Õ
acl_sel=¿ï¾Üªº¼Ò²Õ ..
acl_create=¬O§_¥i¥H«Ø¥ß·s¨Ï¥ÎªÌ?
acl_delete=¬O§_¥i¥H§R°£¨Ï¥ÎªÌ?
acl_rename=¬O§_¥i¥HÅÜ§ó¨Ï¥ÎªÌ¦WºÙ?
acl_euser=±z¤£³Q¤¹³\½s¿è³o­Ó¨Ï¥ÎªÌªº¦s¨ú±±¨î¦Cªí
acl_emod=±z¤£³Q¤¹³\½s¿è³o­Ó¼Ò²Õªº¦s¨ú±±¨î¦Cªí
acl_others=¬O§_¥i¥H¬Ý¨ì¤£¥i¦s¨úªº¼Ò²Õ?
acl_cert=¬O§_¥i¥H­n¨D»{ÃÒ?
   0707010003e245000081e40000000000000002000000013d1fe2d1000005a8000000200000000000000000000000000000001c00000003reloc/acl/list_sessions.cgi   #!/usr/local/bin/perl
# list_sessions.cgi
# Display current login sessions

require './acl-lib.pl';
$access{'sessions'} || &error($text{'sessions_ecannot'});
&header($text{'sessions_title'}, "");
print "<hr>\n";

&get_miniserv_config(\%miniserv);
&open_session_db(\%miniserv);

foreach $u (&list_users()) {
	$hasuser{$u->{'name'}}++;
	}

print "<b>$text{'sessions_desc'}</b><p>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'sessions_id'}</b></td> ",
      "<td><b>$text{'sessions_user'}</b></td> ",
      "<td><b>$text{'sessions_login'}</b></td> ",
      "<td><br></td> </tr>\n";
foreach $k (sort { @a=split(/\s+/, $sessiondb{$a}); @b=split(/\s+/, $sessiondb{$b}); $b[1] <=> $a[1] } keys %sessiondb) {
	next if ($k =~ /^1111111/);
	local ($user, $ltime) = split(/\s+/, $sessiondb{$k});
	print "<tr $cb>\n";
	print "<td><a href='delete_session.cgi?id=$k'>$k</a></td>\n";
	if ($hasuser{$user}) {
		print "<td><a href='edit_user.cgi?user=$user'>$user</a></td>\n";
		}
	elsif ($miniserv{'unixauth'}) {
		print "<td>$user (<a href='edit_user.cgi?user=$miniserv{'unixauth'}'>$miniserv{'unixauth'}</a>)</td>\n";
		}
	else {
		print "<td>$user</td>\n";
		}
	local $tm = localtime($ltime);
	print "<td><tt>$tm</tt></td>\n";
	print "<td><a href='/webminlog/search.cgi?uall=1&mall=1&tall=1&sid=$k'>",
	      "$text{'sessions_lview'}</a></td>\n";
	print "</tr>\n";
	}
print "</table><br>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003e246000081a40000000000000002000000013d1fe2d10000049c000000200000000000000000000000000000001800000003reloc/acl/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'acl-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
local $g = $type eq 'group' ? "_g" : "";
if ($action eq 'modify') {
	if ($p->{'old'} ne $p->{'name'}) {
		return &text('log_rename'.$g, "<tt>$p->{'old'}</tt>",
					      "<tt>$p->{'name'}</tt>");
		}
	else {
		return &text('log_modify'.$g,
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
elsif ($action eq 'create') {
	if ($p->{'clone'}) {
		return &text('log_clone'.$g, "<tt>$p->{'clone'}</tt>",
			     "<tt>".&html_escape($object)."</tt>");
		}
	else {
		return &text('log_create'.$g,
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
elsif ($action eq 'delete') {
	return &text('log_delete'.$g, "<tt>$object</tt>");
	}
elsif ($action eq 'acl') {
	return &text('log_acl', "<tt>$object</tt>",
		     "<i>".&html_escape($p->{'moddesc'})."</i>");
	}
elsif ($action eq 'cert') {
	return &text('log_cert', "<tt>".&html_escape($object)."</tt>");
	}
else {
	return undef;
	}
}

0707010003e247000081a40000000000000002000000013d1fe2ea0000021a000000200000000000000000000000000000001600000003reloc/acl/module.info desc_nl=Webmin Gebruikers
desc_ru_SU=ðÏÌØÚÏ×ÁÔÅÌÉ Webmin
risk=high
desc_ko_KR.euc= Webmin »ç¿ëÀÚ
desc_zh_TW.Big5=Webmin ¨Ï¥ÎªÌ
desc_pl=U¿ytkownicy Webmina
desc_de=Webmin Benutzer
name=AdminUsers
desc_pt=Utilizadores do Webmin
desc_zh_CN=Webmin ÓÃ»§¹ÜÀí
category=webmin
desc_tr=Webmin Kullanýcýlarý
desc=Webmin Users
desc_es=Usuarios de Webmin
desc_sv=Webmin-användare
desc_fr=Utilisateurs Webmin
desc_ja_JP.euc=Webmin ¥æ¡¼¥¶
depends=0.990
version=0.990
desc_hu=Webmin felhasználók
desc_ca=Usuaris de Webmin
desc_ru_RU=Ïîëüçîâàòåëè Webmin
  0707010003e248000081a40000000000000002000000013d1fe2d100001816000000200000000000000000000000000000001600000003reloc/acl/openssl.cnf #
# OpenSSL example configuration file.
# This is mostly being used for generation of certificate requests.
#

RANDFILE		= $ENV::HOME/.rnd
oid_file		= $ENV::HOME/.oid
oid_section		= new_oids

# To use this configuration file with the "-extfile" option of the
# "openssl x509" utility, name here the section containing the
# X.509v3 extensions to use:
# extensions		= 
# (Alternatively, use a configuration file that has only
# X.509v3 extensions in its main [= default] section.)

[ new_oids ]

# We can add new OIDs in here for use by 'ca' and 'req'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6

####################################################################
[ ca ]
default_ca	= CA_default		# The default ca section

####################################################################
[ CA_default ]

dir		= DIRECTORY		# Where everything is kept
certs		= $dir/certs		# Where the issued certs are kept
crl_dir		= $dir/crl		# Where the issued crl are kept
database	= $dir/index.txt	# database index file.
new_certs_dir	= $dir/newcerts		# default place for new certs.

certificate	= $dir/ca.pem 		# The CA certificate
serial		= $dir/serial 		# The current serial number
crl		= $dir/crl.pem 		# The current CRL
private_key	= $dir/ca.pem   	# The private key
RANDFILE	= $dir/.rand		# private random number file

x509_extensions	= usr_cert		# The extentions to add to the cert

# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
# so this is commented out by default to leave a V1 CRL.
# crl_extensions	= crl_ext

default_days	= 365			# how long to certify for
default_crl_days= 365			# how long before next CRL
default_md	= md5			# which md to use.
preserve	= no			# keep passed DN ordering

# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy		= policy_anything

# For the CA policy
[ policy_match ]
countryName		= match
stateOrProvinceName	= match
organizationName	= match
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName		= optional
stateOrProvinceName	= optional
localityName		= optional
organizationName	= optional
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

####################################################################
[ req ]
default_bits		= 1024
default_keyfile 	= privkey.pem
distinguished_name	= req_distinguished_name
attributes		= req_attributes
x509_extensions	= v3_ca	# The extentions to add to the self signed cert

[ req_distinguished_name ]
countryName			= Country Name (2 letter code)
countryName_default		= 
countryName_min			= 2
countryName_max			= 2

stateOrProvinceName		= State or Province Name (full name)
stateOrProvinceName_default	= 

localityName			= Locality Name (eg, city)

0.organizationName		= Organization Name (eg, company)
0.organizationName_default	= Webmin

# we can do this but it is not needed normally :-)
#1.organizationName		= Second Organization Name (eg, company)
#1.organizationName_default	= World Wide Web Pty Ltd

organizationalUnitName		= Organizational Unit Name (eg, section)
#organizationalUnitName_default	=

commonName			= Common Name (eg, YOUR name)
commonName_max			= 64

emailAddress			= Email Address
emailAddress_max		= 40

# SET-ex3			= SET extension number 3

[ req_attributes ]
challengePassword		= A challenge password
challengePassword_min		= 4
challengePassword_max		= 20

unstructuredName		= An optional company name

[ usr_cert ]

# These extensions are added when 'ca' signs a request.

# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.

basicConstraints=CA:FALSE

# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.

# This is OK for an SSL server.
# nsCertType			= server

# For an object signing certificate this would be used.
# nsCertType = objsign

# For normal client use this is typical
# nsCertType = client, email

# and for everything including object signing:
# nsCertType = client, email, objsign

# This is typical in keyUsage for a client certificate.
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment

# This will be displayed in Netscape's comment listbox.
nsComment			= "OpenSSL Generated Certificate"

# PKIX recommendations harmless if included in all certificates.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always

# This stuff is for subjectAltName and issuerAltname.
# Import the email address.
# subjectAltName=email:copy

# Copy subject details
# issuerAltName=issuer:copy

#nsCaRevocationUrl		= http://www.domain.dom/ca-crl.pem
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName

[ v3_ca ]

# Extensions for a typical CA


# PKIX recommendation.

subjectKeyIdentifier=hash

authorityKeyIdentifier=keyid:always,issuer:always

# This is what PKIX recommends but some broken software chokes on critical
# extensions.
#basicConstraints = critical,CA:true
# So we do this instead.
basicConstraints = CA:true

# Key usage: this is typical for a CA certificate. However since it will
# prevent it being used as an test self-signed certificate it is best
# left out by default.
# keyUsage = cRLSign, keyCertSign

# Some might want this also
# nsCertType = sslCA, emailCA

# Include email address in subject alt name: another PKIX recommendation
# subjectAltName=email:copy
# Copy issuer details
# issuerAltName=issuer:copy

# RAW DER hex encoding of an extension: beware experts only!
# 1.2.3.5=RAW:02:03
# You can even override a supported extension:
# basicConstraints= critical, RAW:30:03:01:01:FF

[ crl_ext ]

# CRL extensions.
# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.

# issuerAltName=issuer:copy
authorityKeyIdentifier=keyid:always,issuer:always
  0707010003e249000081e40000000000000002000000013d1fe2d1000006ba000000200000000000000000000000000000001700000003reloc/acl/save_acl.cgi    #!/usr/local/bin/perl
# save_acl.cgi
# Save access control options for some module

require './acl-lib.pl';
&ReadParse();
if ($in{'_acl_group'}) {
	$access{'groups'} || &error($text{'acl_egroup'});
	$who = $in{'_acl_group'};
	}
else {
	foreach $u (&list_users()) {
		$me = $u if ($u->{'name'} eq $base_remote_user);
		}
	@mcan = $access{'mode'} == 1 ? @{$me->{'modules'}} :
		$access{'mode'} == 2 ? split(/\s+/, $access{'mods'}) :
				       ( &list_modules(), "" );
	&indexof($in{'_acl_mod'}, @mcan) >= 0 || &error($text{'acl_emod'});
	&can_edit_user($in{'_acl_user'}) || &error($text{'acl_euser'});
	$who = $in{'_acl_user'};
	}

&error_setup($text{'acl_err'});
$maccess{'noconfig'} = $in{'noconfig'};
if (-r "../$in{'_acl_mod'}/acl_security.pl") {
	&foreign_require($in{'_acl_mod'}, "acl_security.pl");
	if ($in{'_acl_mod'}) {
		eval "\%$in{'_acl_mod'}::in = \%in";
		}
	else {
		%global::in = %in;
		}
	&foreign_call($in{'_acl_mod'}, "acl_security_save", \%maccess, \%in);
	}
&lock_file("$config_directory/$in{'_acl_mod'}/$who.acl");
&write_file("$config_directory/$in{'_acl_mod'}/$who.acl",
	    \%maccess);
chmod(0640, "$config_directory/$in{'_acl_mod'}/$who.acl");
&unlock_file("$config_directory/$in{'_acl_mod'}/$who.acl");
%minfo = $in{'_acl_mod'} ? &get_module_info($in{'_acl_mod'})
			 : ( 'desc' => $text{'index_global'} );

if ($in{'_acl_group'}) {
	# Recursively update the ACL for all member users and groups
	@ulist = &list_users();
	@glist = &list_groups();
	($group) = grep { $_->{'name'} eq $in{'_acl_group'} } @glist;
	&set_acl_files(\@ulist, \@glist, $in{'_acl_mod'}, $group->{'members'},
		       \%maccess);
	}

$in{'moddesc'} = $minfo{'desc'};
&webmin_log("acl", undef, $who, \%in);
&redirect("");

  0707010003e24a000081e40000000000000002000000013d1fe2d100000bca000000200000000000000000000000000000001900000003reloc/acl/save_group.cgi  #!/usr/local/bin/perl
# save_group.cgi
# Create, modify or delete a webmin group

require './acl-lib.pl';
&ReadParse();
@glist = &list_groups();
@ulist = &list_users();
if ($in{'old'}) {
	foreach $g (@glist) {
		$old = $g if ($g->{'name'} eq $in{'old'});
		}
	$group{'members'} = $old->{'members'};
	}
&error_setup($text{'gsave_err'});

# Check for duplicate group names
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('gsave_ename', $in{'name'}));
if (!$in{'old'} || $in{'old'} ne $in{'name'}) {
	foreach $g (@glist, &list_users()) {
		if ($g->{'name'} eq $in{'name'}) {
			&error(&text('gsave_edup', $in{'name'}));
			}
		}
	&error(&text('gsave_edup', $in{'name'})) if ($in{'name'} eq 'webmin');
	}

# Find the current group
if ($in{'old'}) {
	foreach $g (&list_groups()) {
		if (&indexof($in{'old'}, @{$g->{'members'}}) >= 0) {
			$oldgroup = $g;
			}
		}
	}

if (defined($in{'group'})) {
	# Check if group is allowed
	if ($access{'gassign'} ne '*') {
		local @gcan = split(/\s+/, $access{'gassign'});
		$in{'group'} && &indexof($in{'group'}, @gcan) >= 0 ||
		  !$in{'group'} && &indexof('_none', @gcan) >= 0 ||
		  $oldgroup && $oldgroup->{'name'} eq $in{'group'} ||
			&error($text{'save_egroup'});
		}

	# Store group membership
	@glist = &list_groups();
	($group) = grep { $_->{'name'} eq $in{'group'} } @glist;
	if ($in{'group'} ne ($oldgroup ? $oldgroup->{'name'} : '')) {
		# Group has changed - update the member lists
		if ($oldgroup) {
			$oldgroup->{'members'} =
				[ grep { $_ ne $in{'name'} }
				  @{$oldgroup->{'members'}} ];
			&modify_group($oldgroup->{'name'}, $oldgroup);
			}
		if ($group) {
			push(@{$group->{'members'}}, $in{'name'});
			&modify_group($in{'group'}, $group);
			}
		}
	}

# Work out group modules
@mods = split(/\0/, $in{'mod'});

if ($oldgroup) {
	# Remove modules from the old group
	@mods = grep { &indexof($_, @{$oldgroup->{'modules'}}) < 0 } @mods;
	}

if ($group) {
	# Add modules from group to list
	local @ownmods;
	foreach $m (@mods) {
		push(@ownmods, $m)
			if (&indexof($m, @{$group->{'modules'}}) < 0);
		}
	@mods = &unique(@mods, @{$group->{'modules'}});
	$group{'ownmods'} = \@ownmods;

	# Copy ACL files for parent group
	local $name = $in{'old'} ? $in{'old'} : $in{'name'};
	foreach $m (@{$group->{'modules'}}, "") {
		local %groupacl;
		unlink("$config_directory/$m/$name.acl");
		if (&read_file("$config_directory/$m/$in{'group'}.acl",
			       \%groupacl)) {
			&write_file("$config_directory/$m/$name.acl",
				    \%groupacl);
			}
		}
	}

# Store group options
$group{'modules'} = \@mods;
$group{'name'} = $in{'name'};

if ($in{'old'}) {
	# update group
	&modify_group($in{'old'}, \%group);

	# recursively update all member users and groups
	&update_members(\@ulist, \@glist, $group{'modules'},
			$old->{'members'});
	}
else {
	# create group
	&create_group(\%group);
	}
&restart_miniserv();
if ($in{'old'}) {
	&webmin_log("modify", "group", $in{'old'}, \%in);
	}
else {
	&webmin_log("create", "group", $group{'name'}, \%in);
	}
&redirect("");

  0707010003e24b000081e40000000000000002000000013d1fe2d1000001f2000000200000000000000000000000000000001800000003reloc/acl/save_sync.cgi   #!/usr/local/bin/perl
# save_sync.cgi
# Save unix/webmin user synchronization

require './acl-lib.pl';
&ReadParse();
$access{'sync'} && $access{'create'} && $access{'delete'} ||
	&error($text{'sync_ecannot'});
&lock_file("$module_config_directory/config");
$config{'sync_create'} = $in{'create'};
$config{'sync_delete'} = $in{'delete'};
$config{'sync_group'} = $in{'group'};
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&redirect("");

  0707010003e24c000081e40000000000000002000000013d1fe2d1000001fc000000200000000000000000000000000000001800000003reloc/acl/save_unix.cgi   #!/usr/local/bin/perl
# edit_unix.cgi
# Save automatic unix user authentication options

require './acl-lib.pl';
&ReadParse();
$access{'unix'} && $access{'create'} && $access{'delete'} ||
	&error($text{'unix_ecannot'});

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
if ($in{'unix_def'}) {
	delete($miniserv{'unixauth'});
	}
else {
	$miniserv{'unixauth'} = $in{'user'};
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&restart_miniserv();
&redirect("");

0707010003e24d000081e40000000000000002000000013d1fe2d100001f82000000200000000000000000000000000000001800000003reloc/acl/save_user.cgi   #!/usr/local/bin/perl
# save_user.cgi
# Modify or create a webmin user

$| = 1;
require './acl-lib.pl';
&ReadParse();
@ulist = &list_users();
if ($in{'old'}) {
	$in{'name'} = $in{'old'} if (!$access{'rename'});
	&can_edit_user($in{'old'}) || &error($text{'save_euser'});
	foreach $u (@ulist) {
		$old = $u if ($u->{'name'} eq $in{'old'});
		}
	}
else {
	$access{'create'} || &error($text{'save_ecreate'});
	}
&error_setup($text{'save_err'});

$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('save_ename', $in{'name'}));
if (!$in{'old'} || $in{'old'} ne $in{'name'}) {
	foreach $u (@ulist, &list_groups()) {
		if ($u->{'name'} eq $in{'name'}) {
			&error(&text('save_edup', $in{'name'}));
			}
		}
	&error(&text('save_edup', $in{'name'})) if ($in{'name'} eq 'webmin');
	}

foreach $u (@ulist) {
	if ($u->{'name'} eq $base_remote_user) {
		$me = $u;
		}
	}

# Find the current group
if ($in{'old'}) {
	foreach $g (&list_groups()) {
		if (&indexof($in{'old'}, @{$g->{'members'}}) >= 0) {
			$oldgroup = $g;
			}
		}
	}

if ($in{'risk'}) {
	# Just store the skill and risk levels
	$user{'skill'} = $in{'skill'};
	$user{'risk'} = $in{'risk'};
	delete($user{'modules'});
	}
else {
	if (defined($in{'group'})) {
		# Check if group is allowed
		if ($access{'gassign'} ne '*') {
			local @gcan = split(/\s+/, $access{'gassign'});
			$in{'group'} && &indexof($in{'group'}, @gcan) >= 0 ||
			  !$in{'group'} && &indexof('_none', @gcan) >= 0 ||
			  $oldgroup && $oldgroup->{'name'} eq $in{'group'} ||
				&error($text{'save_egroup'});
			}

		# Store group membership
		@glist = &list_groups();
		($group) = grep { $_->{'name'} eq $in{'group'} } @glist;
		if ($in{'group'} ne ($oldgroup ? $oldgroup->{'name'} : '')) {
			# Group has changed - update the member lists
			if ($oldgroup) {
				$oldgroup->{'members'} =
					[ grep { $_ ne $in{'old'} }
					  @{$oldgroup->{'members'}} ];
				&modify_group($oldgroup->{'name'}, $oldgroup);
				}
			if ($group) {
				push(@{$group->{'members'}}, $in{'name'});
				&modify_group($in{'group'}, $group);
				}
			}
		}

	# Store manually selected modules
	@mcan = $access{'mode'} == 1 ? @{$me->{'modules'}} :
		$access{'mode'} == 2 ? split(/\s+/, $access{'mods'}) :
				       &list_modules();
	map { $mcan{$_}++ } @mcan;

	@mods = split(/\0/, $in{'mod'});
	foreach $m (@mods) {
		$mcan{$m} || &error(&text('save_emod', $m));
		}
	if ($in{'old'}) {
		# Add modules that this user already has, but were not
		# allowed to be changed or are not available for this OS
		foreach $m (@{$old->{'modules'}}) {
			push(@mods, $m) if (!$mcan{$m});
			}
		}
	if ($base_remote_user eq $in{'old'} &&
	    &indexof("acl", @mods) == -1 &&
	    (!$group || &indexof("acl", @{$group->{'modules'}}) == -1)) {
		&error($text{'save_edeny'});
		}

	if ($oldgroup) {
		# Remove modules from the old group
		@mods = grep { &indexof($_, @{$oldgroup->{'modules'}}) < 0 }
			     @mods;
		}

	if (!$in{'old'} && $access{'perms'}) {
		# Copy .acl files from creator to new user
		&copy_acl_files($me->{'name'}, $in{'name'}, $me->{'modules'});
		}

	if ($group) {
		# Add modules from group to list
		local @ownmods;
		foreach $m (@mods) {
			push(@ownmods, $m)
				if (&indexof($m, @{$group->{'modules'}}) < 0);
			}
		@mods = &unique(@mods, @{$group->{'modules'}});
		$user{'ownmods'} = \@ownmods;

		# Copy ACL files for group
		local $name = $in{'old'} ? $in{'old'} : $in{'name'};
		&copy_acl_files($in{'group'}, $name,
				[ @{$group->{'modules'}}, "" ]);
		}
	$user{'modules'} = \@mods;
	delete($user{'skill'});
	delete($user{'risk'});
	}

$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
$user{'name'} = $in{'name'};
$user{'lang'} = !$access{'lang'} ? $old->{'lang'} :
		$in{'lang_def'} ? undef : $in{'lang'};
$user{'theme'} = !$access{'theme'} ? $old->{'theme'} :
		 $in{'theme_def'} ? undef : $in{'theme'};
$user{'cert'} = !$access{'chcert'} ? $old->{'cert'} :
		$in{'cert_def'} ? undef : $in{'cert'};
$user{'notabs'} = $in{'notabs'};
$raddr = $ENV{'REMOTE_ADDR'};
if ($in{'ipmode'}) {
	@hosts = split(/\s+/, $in{"ips"});
	if (!@hosts) { &error($text{'save_enone'}); }
	foreach $h (@hosts) {
		if ($h =~ /^([0-9\.]+)\/([0-9\.]+)$/) {
			&check_ipaddress($1) ||
				&error(&text('save_enet', $1));
			&check_ipaddress($2) ||
				&error(&text('save_emask', $2));
			$i = $h;
			}
		elsif ($h =~ /^[0-9\.]+$/) {
			&check_ipaddress($h) ||
				&error(&text('save_eip', $h));
			$i = $h;
			}
		elsif ($h =~ /^\*\.(\S+)$/) {
			$i = $h;
			}
		elsif ($h eq 'LOCAL') {
			$i = 'LOCAL';
			}
		elsif (!($i = join('.', unpack("CCCC", inet_aton($h))))) {
			&error(&text('save_ehost', $h));
			}
		push(@ips, $i);
		}
	}
if ($in{'ipmode'} == 1) {
	$user{'allow'} = join(" ", @ips);
	if ($old->{'name'} eq $base_remote_user && !&ip_match($raddr, @ips)) {
		&error(&text('save_eself', $raddr));
		}
	}
elsif ($in{'ipmode'} == 2) {
	$user{'deny'} = join(" ", @ips);
	if ($old->{'name'} eq $base_remote_user && &ip_match($raddr, @ips)) {
		&error(&text('save_eself', $raddr));
		}
	}
if ($in{'pass_def'} == 0) {
	$in{'pass'} =~ /:/ && &error($text{'save_ecolon'});
	$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
	$user{'pass'} = crypt($in{'pass'}, $salt);
	$user{'sync'} = 0;
	}
elsif ($in{'pass_def'} == 1) {
	$user{'pass'} = $in{'oldpass'};
	$user{'sync'} = 0;
	}
elsif ($in{'pass_def'} == 3) {
	# is PAM installed? (no longer needed)
	#eval "use Authen::PAM";
	#&error($text{'save_epam'}."<p>".&text('save_epam2', "/cpan/download.cgi?source=3&cpan=Authen::PAM")) if ($@);
	#if (!ref($pamh = new Authen::PAM("webmin", "root", \&pam_conv_func))) {
	#	&error($text{'save_epam'});
	#	}
	$user{'pass'} = 'x';
	$user{'sync'} = 0;
	}
elsif ($in{'pass_def'} == 4) {
	$user{'pass'} = '*LK*';
	$user{'sync'} = 0;
	}
else {
	&foreign_check("useradmin") || &error($text{'save_eos'});
	&foreign_require("useradmin", "user-lib.pl");
	foreach $uu (&foreign_call("useradmin", "list_users")) {
		$user{'pass'} = $uu->{'pass'} if ($uu->{'user'} eq $in{'name'});
		}
	defined($user{'pass'}) ||
		&error(&text('save_eunix', $in{'name'}));
	if ($user{'pass'} =~ /^\$1\$/ && crypt("foo", "xx") !~ /^\$1\$/ &&
	    crypt('test', '$1$A9wB3O18$zaZgqrEmb9VNltWTL454R/') ne
		  '$1$A9wB3O18$zaZgqrEmb9VNltWTL454R/') {
		&error($text{'save_emd5'});
		}
	$user{'sync'} = 1;
	}

if ($in{'old'}) {
	# update user and all ACLs
	&modify_user($in{'old'}, \%user);
	foreach $u (&list_users()) {
		%uaccess = &get_module_acl($u->{'name'});
		local @au = split(/\s+/, $uaccess{'users'});
		local $idx = &indexof($in{'old'}, @au);
		if ($idx != -1) {
			$au[$idx] = $in{'name'};
			$uaccess{'users'} = join(" ", @au);
			&save_module_acl(\%uaccess, $u->{'name'});
			}
		}
	}
else {
	# create and add to access list
	&create_user(\%user, $in{'clone'});
	if ($access{'users'} ne '*') {
		$access{'users'} .= " ".$in{'name'};
		&save_module_acl(\%access);
		}
	%aclacl = &get_module_acl();
	&save_module_acl(\%aclacl, $in{'name'});
	}
&restart_miniserv();
delete($in{'pass'});
if ($in{'old'}) {
	&webmin_log("modify", "user", $in{'old'}, \%in);
	}
else {
	&webmin_log("create", "user", $user{'name'}, \%in);
	}
&redirect("");

# ip_match(ip, [match]+)
# Checks an IP address against a list of IPs, networks and networks/masks
sub ip_match
{
local(@io, @mo, @ms, $i, $j);
@io = split(/\./, $_[0]);
local $hn = gethostbyaddr(inet_aton($_[0]), AF_INET);
undef($hn) if ((&to_ipaddress($hn))[0] ne $_[0]);
for($i=1; $i<@_; $i++) {
	local $mismatch = 0;
	if ($_[$i] =~ /^(\S+)\/(\S+)$/) {
		# Compare with network/mask
		@mo = split(/\./, $1); @ms = split(/\./, $2);
		for($j=0; $j<4; $j++) {
			if ((int($io[$j]) & int($ms[$j])) != int($mo[$j])) {
				$mismatch = 1;
				}
			}
		}
	elsif ($_[$i] =~ /^\*(\.\S+)$/) {
		# Compare with hostname regexp
		$mismatch = 1 if ($hn !~ /$1$/);
		}
	elsif ($_[$i] eq 'LOCAL') {
		# Just assume OK for now
		}
	else {
		# Compare with IP or network
		@mo = split(/\./, $_[$i]);
		while(@mo && !$mo[$#mo]) { pop(@mo); }
		for($j=0; $j<@mo; $j++) {
			if ($mo[$j] != $io[$j]) {
				$mismatch = 1;
				}
			}
		}
	return 1 if (!$mismatch);
	}
return 0;
}

  0707010003e24e000081a40000000000000002000000013d1fe2d10000085a000000200000000000000000000000000000001e00000003reloc/acl/useradmin_update.pl 
do "acl-lib.pl";

# useradmin_create_user(&details)
# Create a new webmin user in the group
sub useradmin_create_user
{
return if (!$config{'sync_create'});
local ($group) = grep { $_->{'name'} eq $config{'sync_group'} }
		      &list_groups();
return if (!$group);
local $user = { 'name' => $_[0]->{'user'},
		'pass' => $_[0]->{'pass'},
		'sync' => 1,
		'modules' => $group->{'modules'} };
&create_user($user);
push(@{$group->{'members'}}, $user->{'name'});
&modify_group($group->{'name'}, $group);

foreach $m (@{$group->{'modules'}}, "") {
	local %groupacl;
	unlink("$config_directory/$m/$user->{'name'}.acl");
	if (&read_file("$config_directory/$m/$group->{'name'}.acl",
		       \%groupacl)) {
		&write_file("$config_directory/$m/$user->{'name'}.acl",
			    \%groupacl);
		}
	}
&restart_miniserv();
}

# useradmin_delete_user(&details)
# Delete this webmin user if in sync
sub useradmin_delete_user
{
return if (!$config{'sync_delete'});
local @list = &list_users();
foreach $u (@list) {
	if ($u->{'name'} eq $_[0]->{'user'}) {
		&delete_user($u->{'name'});
		&restart_miniserv();
		}
	}
foreach $g (&list_groups()) {
	local @mems = @{$g->{'members'}};
	local $i = &indexof($_[0]->{'user'}, @mems);
	if ($i >= 0) {
		splice(@mems, $i, 1);
		$g->{'members'} = \@mems;
		&modify_group($g->{'name'}, $g);
		}
	}
}

# useradmin_modify_user(&details)
# Update this users password if in sync
sub useradmin_modify_user
{
return if ($_[0]->{'passmode'} == 4 && $_[0]->{'olduser'} eq $_[0]->{'user'});
foreach $u (&list_users()) {
	if ($u->{'name'} eq $_[0]->{'olduser'} && $u->{'sync'}) {
		$u->{'name'} = $_[0]->{'user'};
		$u->{'pass'} = $_[0]->{'passmode'} == 3 ?
			crypt($_[0]->{'plainpass'}, substr(time(), 0, 2)) :
			$_[0]->{'pass'};
		&modify_user($_[0]->{'olduser'}, $u);
		&restart_miniserv();
		}

	# Check other users' acl module acls
	local %uaccess = &get_module_acl($u->{'name'});
	local @au = split(/\s+/, $uaccess{'users'});
	local $idx = &indexof($_[0]->{'olduser'}, @au);
	if ($idx != -1) {
		$au[$idx] = $_[0]->{'user'};
		$uaccess{'users'} = join(" ", @au);
		&save_module_acl(\%uaccess, $u->{'name'});
		}
	}
}

1;

  0707010003e24f000081a40000000000000002000000013d1fe2b8000013b9000000200000000000000000000000000000001600000003reloc/acl_security.pl 
do 'web-lib.pl';
&init_config();

# acl_security_form(&options)
# Output HTML for editing global security options
sub acl_security_form
{
local $o = $_[0];

print "<tr> <td><b>$text{'acl_root'}</b></td>\n";
printf "<td><input type=radio name=root_def value=1 %s> %s\n",
	$o->{'root'} ? '' : 'checked', $text{'acl_home'};
printf "<input type=radio name=root_def value=0 %s>\n",
	$o->{'root'} ? 'checked' : '';
print "<input name=root size=30 value='$o->{'root'}'></td>\n";

print "<tr> <td colspan=2><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_uedit'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=uedit_mode value=0 %s> $text{'acl_uedit_all'}\n",
	$o->{'uedit_mode'} == 0 ? "checked" : "";
printf "<input type=radio name=uedit_mode value=1 %s> $text{'acl_uedit_none'}<br>\n",
	$o->{'uedit_mode'} == 1 ? "checked" : "";
printf "<input type=radio name=uedit_mode value=2 %s> $text{'acl_uedit_only'}\n",
	$o->{'uedit_mode'} == 2 ? "checked" : "";
printf "<input name=uedit_can size=40 value='%s'> %s<br>\n",
	$o->{'uedit_mode'} == 2 ? $o->{'uedit'} : "",
	&user_chooser_button("uedit_can", 1);
printf "<input type=radio name=uedit_mode value=3 %s> $text{'acl_uedit_except'}\n",
	$o->{'uedit_mode'} == 3 ? "checked" : "";
printf "<input name=uedit_cannot size=40 value='%s'> %s<br>\n",
	$o->{'uedit_mode'} == 3 ? $o->{'uedit'} : "",
	&user_chooser_button("uedit_cannot", 1);
printf "<input type=radio name=uedit_mode value=4 %s> $text{'acl_uedit_uid'}\n",
	$o->{'uedit_mode'} == 4 ? "checked" : "";
printf "<input name=uedit_uid size=6 value='%s'> - \n",
	$o->{'uedit_mode'} == 4 ? $o->{'uedit'} : "";
printf "<input name=uedit_uid2 size=6 value='%s'><br>\n",
	$o->{'uedit_mode'} == 4 ? $o->{'uedit2'} : "";
printf "<input type=radio name=uedit_mode value=5 %s> $text{'acl_uedit_group'}\n",
	$o->{'uedit_mode'} == 5 ? "checked" : "";
printf "<input name=uedit_group size=8 value='%s'> %s</td> </tr>\n",
	$o->{'uedit_mode'} == 5 ? $dummy=getgrgid($o->{'uedit'}) : "",
	&group_chooser_button("uedit_group", 0);

print "<tr> <td valign=top><b>$text{'acl_gedit'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=gedit_mode value=0 %s> $text{'acl_gedit_all'}\n",
	$o->{'gedit_mode'} == 0 ? "checked" : "";
printf "<input type=radio name=gedit_mode value=1 %s> $text{'acl_gedit_none'}<br>\n",
	$o->{'gedit_mode'} == 1 ? "checked" : "";
printf "<input type=radio name=gedit_mode value=2 %s> $text{'acl_gedit_only'}\n",
	$o->{'gedit_mode'} == 2 ? "checked" : "";
printf "<input name=gedit_can size=40 value='%s'> %s<br>\n",
	$o->{'gedit_mode'} == 2 ? $o->{'gedit'} : "",
	&group_chooser_button("gedit_can", 1);
printf "<input type=radio name=gedit_mode value=3 %s> $text{'acl_gedit_except'}\n",
	$o->{'gedit_mode'} == 3 ? "checked" : "";
printf "<input name=gedit_cannot size=40 value='%s'> %s<br>\n",
	$o->{'gedit_mode'} == 3 ? $o->{'gedit'} : "",
	&group_chooser_button("gedit_cannot", 1);
printf "<input type=radio name=gedit_mode value=4 %s> $text{'acl_gedit_gid'}\n",
	$o->{'gedit_mode'} == 4 ? "checked" : "";
printf "<input name=gedit_gid size=6 value='%s'> -\n",
	$o->{'gedit_mode'} == 4 ? $o->{'gedit'} : "";
printf "<input name=gedit_gid2 size=6 value='%s'></td> </tr>\n",
	$o->{'gedit_mode'} == 4 ? $o->{'gedit2'} : "";

print "<tr> <td colspan=2><hr></td> </tr>\n";

print "<tr> <td><b>$text{'acl_feedback'}</b></td> <td>\n";
printf "<input type=radio name=feedback value=2 %s> %s\n",
	$o->{'feedback'} == 2 ? "checked" : "", $text{'acl_feedback2'};
printf "<input type=radio name=feedback value=1 %s> %s\n",
	$o->{'feedback'} == 1 ? "checked" : "", $text{'acl_feedback1'};
printf "<input type=radio name=feedback value=0 %s> %s</td> </tr>\n",
	$o->{'feedback'} == 0 ? "checked" : "", $text{'acl_feedback0'};

print "<tr> <td colspan=2><hr></td> </tr>\n";
print "<tr> <td><b>$text{'acl_rpc'}</b></td> <td>\n";
printf "<input type=radio name=rpc value=1 %s> %s\n",
	$o->{'rpc'} == 1 ? "checked" : "", $text{'acl_rpc1'};
printf "<input type=radio name=rpc value=2 %s> %s\n",
	$o->{'rpc'} == 2 ? "checked" : "", $text{'acl_rpc2'};
printf "<input type=radio name=rpc value=0 %s> %s</td> </tr>\n",
	$o->{'rpc'} == 0 ? "checked" : "", $text{'acl_rpc0'};
}

# acl_security_save(&options)
# Parse the form for global security options
sub acl_security_save
{
$_[0]->{'root'} = $in{'root_def'} ? undef : $in{'root'};

$_[0]->{'uedit_mode'} = $in{'uedit_mode'};
$_[0]->{'uedit'} = $in{'uedit_mode'} == 2 ? $in{'uedit_can'} :
		   $in{'uedit_mode'} == 3 ? $in{'uedit_cannot'} :
		   $in{'uedit_mode'} == 4 ? $in{'uedit_uid'} :
		   $in{'uedit_mode'} == 5 ? getgrnam($in{'uedit_group'}) : "";
$_[0]->{'uedit2'} = $in{'uedit_mode'} == 4 ? $in{'uedit_uid2'} : undef;

$_[0]->{'gedit_mode'} = $in{'gedit_mode'};
$_[0]->{'gedit'} = $in{'gedit_mode'} == 2 ? $in{'gedit_can'} :
		   $in{'gedit_mode'} == 3 ? $in{'gedit_cannot'} :
		   $in{'gedit_mode'} == 4 ? $in{'gedit_gid'} : "";
$_[0]->{'gedit2'} = $in{'gedit_mode'} == 4 ? $in{'gedit_gid2'} : undef;
$_[0]->{'feedback'} = $in{'feedback'};
$_[0]->{'rpc'} = $in{'rpc'};
}

   0707010005c286000041ed0000000000000001000000043d1ff9c900000000000000200000000000000000000000000000000d00000003reloc/apache  0707010005c289000081a40000000000000002000000013d1fe2d100000f9c000000200000000000000000000000000000001d00000003reloc/apache/acl_security.pl  
require 'apache-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the apache module
sub acl_security_form
{
print "<tr> <td valign=top rowspan=4><b>$text{'acl_virts'}</b></td>\n";
print "<td rowspan=4 valign=top>\n";
printf "<input type=radio name=virts_def value=1 %s> %s\n",
	$_[0]->{'virts'} eq '*' ? 'checked' : '', $text{'acl_vall'};
printf "<input type=radio name=virts_def value=0 %s> %s<br>\n",
	$_[0]->{'virts'} eq '*' ? '' : 'checked', $text{'acl_vsel'};
print "<select name=virts multiple size=5>\n";
local $conf = &get_config();
local @virts = ( { 'value' => '__default__' },
		 &find_directive_struct("VirtualHost", $conf) );
local ($v, %vcan);
map { $vcan{$_}++ } split(/\s+/, $_[0]->{'virts'});
foreach $v (@virts) {
	local $vn = &virt_acl_name($v);
	printf "<option value=\"%s\" %s>%s\n",
		$vn, $vcan{$vn} ? "selected" : "",
		$vn eq "__default__" ? $text{'acl_defserv'} : $vn;
	}
print "</select></td>\n";

print "<td><b>$text{'acl_global'}</b></td> <td><select name=global>\n";
printf "<option value=1 %s> $text{'yes'}\n",
	$_[0]->{'global'} == 1 ? "selected" : "";
printf "<option value=2 %s> $text{'acl_htaccess'}\n",
	$_[0]->{'global'} == 2 ? "selected" : "";
printf "<option value=0 %s> $text{'no'}</select></td> </tr>\n",
	$_[0]->{'global'} == 0 ? "selected" : "";

print "<tr> <td><b>$text{'acl_create'}</b></td> <td>\n";
printf "<input type=radio name=create value=1 %s> $text{'yes'}\n",
	$_[0]->{'create'} ? "checked" : "";
printf "<input type=radio name=create value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'create'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_vuser'}</b></td> <td>\n";
printf "<input type=radio name=vuser value=1 %s> $text{'yes'}\n",
	$_[0]->{'vuser'} ? "checked" : "";
printf "<input type=radio name=vuser value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'vuser'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_vaddr'}</b></td> <td>\n";
printf "<input type=radio name=vaddr value=1 %s> $text{'yes'}\n",
	$_[0]->{'vaddr'} ? "checked" : "";
printf "<input type=radio name=vaddr value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'vaddr'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_pipe'}</b></td> <td>\n";
printf "<input type=radio name=pipe value=1 %s> $text{'yes'}\n",
	$_[0]->{'pipe'} ? "checked" : "";
printf "<input type=radio name=pipe value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'pipe'} ? "" : "checked";

print "<td><b>$text{'acl_stop'}</b></td> <td>\n";
printf "<input type=radio name=stop value=1 %s> $text{'yes'}\n",
	$_[0]->{'stop'} ? "checked" : "";
printf "<input type=radio name=stop value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'stop'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_dir'}</b></td>\n";
printf "<td colspan=3><input name=dir size=30 value='%s'> %s</td> </tr>\n",
	$_[0]->{'dir'}, &file_chooser_button("dir", 1);

print "<tr> <td valign=top><b>$text{'acl_types'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=types_def value=1 %s> $text{'acl_all'}&nbsp;\n",
	$_[0]->{'types'} eq '*' ? "checked" : "";
printf "<input type=radio name=types_def value=0 %s> $text{'acl_sel'}<br>\n",
	$_[0]->{'types'} eq '*' ? "" : "checked";
map { $types{$_}++ } split(/\s+/, $_[0]->{'types'});
print "<select name=types size=5 multiple>\n";
for($i=0; $text{"type_$i"}; $i++) {
	printf "<option value=\"%d\" %s>%s\n",
		$i, $types{$i} ? "selected" : "", $text{"type_$i"};
	}
print "</select></td> </tr>\n";
}

# acl_security_save(&options)
# Parse the form for security options for the apache module
sub acl_security_save
{
if ($in{'virts_def'}) {
	$_[0]->{'virts'} = "*";
	}
else {
	$_[0]->{'virts'} = join(" ", split(/\0/, $in{'virts'}));
	}
$_[0]->{'global'} = $in{'global'};
$_[0]->{'create'} = $in{'create'};
$_[0]->{'vuser'} = $in{'vuser'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'vaddr'} = $in{'vaddr'};
$_[0]->{'dir'} = $in{'dir'};
$_[0]->{'types'} = $in{'types_def'} ? '*'
				    : join(" ", split(/\0/, $in{'types'}));
$_[0]->{'pipe'} = $in{'pipe'};
}

0707010005c28a000081e40000000000000002000000013d1fe2d10000049b000000200000000000000000000000000000002000000003reloc/apache/allmanual_form.cgi   #!/usr/local/bin/perl
# allmanual_form.cgi
# Display a text box for manually editing directives from one of the files

require './apache-lib.pl';
&ReadParse();
$access{'types'} eq '*' && $access{'virts'} eq '*' ||
	&error($text{'manual_ecannot'});
&header($text{'manual_configs'}, "");
print "<hr>\n";

$conf = &get_config();
@files = grep { -f $_ } &unique(map { $_->{'file'} } @$conf);
$in{'file'} = $files[0] if (!$in{'file'});
print "<form action=allmanual_form.cgi>\n";
print "<input type=submit value='$text{'manual_file'}'>\n";
print "<select name=file>\n";
foreach $f (@files) {
	printf "<option %s>%s\n",
		$f eq $in{'file'} ? 'selected' : '', $f;
	$found++ if ($f eq $in{'file'});
	}
print "</select></form>\n";
$found || &error($text{'manual_efile'});

print "<form action=allmanual_save.cgi method=post ",
      "enctype=multipart/form-data>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<textarea name=data rows=20 cols=80>";
open(FILE, $in{'file'});
while(<FILE>) { print &html_escape($_); }
close(FILE);
print "</textarea><br>\n";
print "<input type=submit value='$text{'save'}'>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010005c28b000081e40000000000000002000000013d1fe2d1000001f1000000200000000000000000000000000000002000000003reloc/apache/allmanual_save.cgi   #!/usr/local/bin/perl
# allmanual_save.cgi
# Save an entire config file

require './apache-lib.pl';
&ReadParseMime();
$access{'types'} eq '*' && $access{'virts'} eq '*' ||
	&error($text{'manual_ecannot'});

$conf = &get_config();
@files = &unique(map { $_->{'file'} } @$conf);
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});

$in{'data'} =~ s/\r//g;
open(FILE, ">$in{'file'}");
print FILE $in{'data'};
close(FILE);
&redirect("allmanual_form.cgi?file=".&urlize($in{'file'}));

   0707010005c28c000081a40000000000000002000000013d1fe2d1000062a0000000200000000000000000000000000000001b00000003reloc/apache/apache-lib.pl    # apache-lib.pl
# Common functions for apache configuration

$directive_type_count = 19;

if ($module_name ne 'htaccess') {
	do '../web-lib.pl';
	&init_config();
	%access = &get_module_acl();
	@access_types = $access{'types'} eq '*' ? (0 .. $directive_type_count)
						: split(/\s+/, $access{'types'});
	}
else {
	@access_types = (0 .. $directive_type_count);
	}
map { $access_types{$_}++ } @access_types;

# Read the site-specific setup file, then require in all the module-specific
# .pl files
local $mcd = $config{'webmin_apache'} || $module_config_directory;
if (&read_file("$mcd/site", \%site)) {
	local($m, $f, $d);
	$httpd_size = $site{'size'};
	foreach $m (split(/\s+/, $site{'modules'})) {
		if ($m =~ /(\S+)\/(\S+)/) { $httpd_modules{$1} = $2; }
		}
	foreach $f (split(/\s+/, $site{'htaccess'})) {
		if (-r $f) { push(@htaccess_files, $f); }
		}
	foreach $m (keys %httpd_modules) {
		do "$m.pl";
		}
	foreach $d (split(/\s+/, $site{'defines'})) {
		$httpd_defines{$d}++;
		}
	}
foreach $d (split(/\s+/, $config{'defines'})) {
	$httpd_defines{$d}++;
	}

# parse_config_file(handle, lines, file)
# Parses lines of text from some config file into a data structure. The
# return value is an array of references, one for each directive in the file.
# Each reference points to an associative array containing
#  line -	The line number this directive is at
#  eline -	The line number this directive ends at
#  file -	The file this directive is from
#  type -	0 for a normal directive, 1 for a container directive
#  name -	The name of this directive
#  value -	Value (possibly with spaces)
#  members -	For type 1, a reference to the array of members
sub parse_config_file
{
local($fh, @rv, $line, %dummy);
$fh = $_[0];
$dummy{'line'} = $dummy{'eline'} = $_[1]-1;
$dummy{'file'} = $_[2];
$dummy{'type'} = 0;
$dummy{'name'} = "dummy";
@rv = (\%dummy);
while($line = <$fh>) {
	chop;
	$line =~ s/^\s*#.*$//g;
	if ($line =~ /^\s*<\/(\S+)\s*(.*)>/) {
		# end of a container directive. This can only happen in a
		# recursive call to this function
		$_[1]++;
		last;
		}
	elsif ($line =~ /^\s*<IfModule\s+(\!?)(\S+)\.c>/i) {
		# start of an IfModule block. Read it, and if the module
		# exists put the directives in this section.
		local ($not, $mod) = ($1, $2);
		local $oldline = $_[1];
		$_[1]++;
		local @dirs = &parse_config_file($fh, $_[1], $_[2]);
		if (!$not && $httpd_modules{$mod} ||
		    $not && !$httpd_modules{$mod}) {
			# use the directives..
			push(@rv, { 'line', $oldline,
				    'eline', $oldline,
				    'file', $_[2],
				    'name', "<IfModule $not$mod>" });
			push(@rv, @dirs);
			push(@rv, { 'line', $_[1]-1,
				    'eline', $_[1]-1,
				    'file', $_[2],
				    'name', "</IfModule>" });
			}
		}
	elsif ($line =~ /^\s*<IfDefine\s+(\!?)(\S+)>/i) {
		# start of an IfDefine block. Read it, and if the define
		# exists put the directives in this section
		local ($not, $def) = ($1, $2);
		local $oldline = $_[1];
		$_[1]++;
		local @dirs = &parse_config_file($fh, $_[1], $_[2]);
		if (!$not && $httpd_defines{$def} ||
		    $not && !$httpd_defines{$def}) {
			# use the directives..
			push(@rv, { 'line', $oldline,
				    'eline', $oldline,
				    'file', $_[2],
				    'name', "<IfDefine $not$def>" });
			push(@rv, @dirs);
			push(@rv, { 'line', $_[1]-1,
				    'eline', $_[1]-1,
				    'file', $_[2],
				    'name', "</IfDefine>" });
			}
		}
	elsif ($line =~ /^\s*<(\S+)\s*(.*)>/) {
		# start of a container directive. The first member is a dummy
		# directive at the same line as the container
		local(%dir, @members);
		%dir = ('line', $_[1],
			'file', $_[2],
			'type', 1,
			'name', $1,
			'value', $2);
		$dir{'value'} =~ s/\s+$//g;
		$dir{'words'} = &wsplit($dir{'value'});
		$_[1]++;
		@members = &parse_config_file($fh, $_[1], $_[2]);
		$dir{'members'} = \@members;
		$dir{'eline'} = $_[1]-1;
		push(@rv, \%dir);
		}
	elsif ($line =~ /^\s*(\S+)\s*(.*)$/) {
		# normal directive
		local(%dir);
		%dir = ('line', $_[1],
			'eline', $_[1],
			'file', $_[2],
			'type', 0,
			'name', $1,
			'value', $2);
		if ($dir{'value'} =~ s/\\$//g) {
			# multi-line directive!
			while($line = <$fh>) {
				chop($line);
				$cont = ($line =~ s/\\$//g);
				$dir{'value'} .= $line;
				$dir{'eline'} = ++$_[1];
				if (!$cont) { last; }
				}
			}
		$dir{'value'} =~ s/\s+$//g;
		$dir{'words'} = &wsplit($dir{'value'});
		push(@rv, \%dir);
		$_[1]++;
		}
	else {
		# blank or comment line
		$_[1]++;
		}
	}
return @rv;
}

# wsplit(string)
# Splits a string like  foo "foo \"bar\"" bazzz  into an array of words
sub wsplit
{
local($s, @rv); $s = $_[0];
$s =~ s/\\\"/\0/g;
while($s =~ /^"([^"]*)"\s*(.*)$/ || $s =~ /^(\S+)\s*(.*)$/) {
	$w = $1; $s = $2;
	$w =~ s/\0/"/g; push(@rv, $w);
	}
return \@rv;
}

# wjoin(word, word, ...)
sub wjoin
{
local(@rv, $w);
foreach $w (@_) {
	if ($w =~ /^\S+$/) { push(@rv, $w); }
	else { push(@rv, "\"$w\""); }
	}
return join(' ', @rv);
}

# find_directive(name, &directives)
# Returns the values of directives matching some name
sub find_directive
{
local(@rv, $i, @vals, $dref);
foreach $ref (@{$_[1]}) {
	if (lc($ref->{'name'}) eq lc($_[0])) {
		push(@vals, $ref->{'value'});
		}
	}
return wantarray ? @vals : !@vals ? undef : $vals[$#vals];
}

# find_directive_struct(name, &directives)
# Returns references to directives maching some name
sub find_directive_struct
{
local(@rv, $i, @vals);
foreach $ref (@{$_[1]}) {
	if (lc($ref->{'name'}) eq lc($_[0])) {
		push(@vals, $ref);
		}
	}
return wantarray ? @vals : !@vals ? undef : $vals[$#vals];
}

# find_vdirective(name, &virtualdirectives, &directives)
# Looks for some directive in a <VirtualHost> section, and then in the 
# main section
sub find_vdirective
{
if ($_[1]) {
	$rv = &find_directive($_[0], $_[1]);
	if ($rv) { return $rv; }
	}
return &find_directive($_[0], $_[2]);
}

# get_config()
# Returns the entire config structure
sub get_config
{
local($acc, $res, $lnum, $conf, @virt, $v, $mref, $inc);
if (@get_config_cache) {
	return \@get_config_cache;
	}

# read primary config file
$conf = $config{'httpd_conf'};
if (!$conf) { $conf = "$config{'httpd_dir'}/conf/httpd.conf"; }
if (!-r $conf) { $conf = "$config{'httpd_dir'}/etc/httpd.conf"; }
return undef if (!-r $conf);
@get_config_cache = &get_config_file($conf);

# Read main resource and access config files
$lnum = 0;
$res = &find_directive("ResourceConfig", \@get_config_cache);
if (!$res) { $res = $config{'srm_conf'}; }
if (!$res) { $res = "$config{'httpd_dir'}/conf/srm.conf"; }
if (!-r $res) { $res = "$config{'httpd_dir'}/etc/srm.conf"; }
push(@get_config_cache, &get_config_file($res));

$lnum = 0;
$acc = &find_directive("AccessConfig", \@get_config_cache);
if (!$acc) { $acc = $config{'access_conf'}; }
if (!$acc) { $acc = "$config{'httpd_dir'}/conf/access.conf"; }
if (!-r $acc) { $acc = "$config{'httpd_dir'}/etc/access.conf"; }
push(@get_config_cache, &get_config_file($acc));

# Read extra config files in VirtualHost sections
@virt = &find_directive_struct("VirtualHost", \@get_config_cache);
foreach $v (@virt) {
	$mref = $v->{'members'};
	if ($res = &find_directive("ResourceConfig", $mref)) {
		if ($res !~ /^\//) { $res = "$config{'httpd_dir'}/$res"; }
		push(@$mref, &get_config_file($res));
		}
	if ($acc = &find_directive("AccessConfig", $mref)) {
		if ($acc !~ /^\//) { $acc = "$config{'httpd_dir'}/$acc"; }
		push(@$mref, &get_config_file($acc));
		}
	}

return \@get_config_cache;
}

# get_config_file(filename)
sub get_config_file
{
local @rv;
if (opendir(DIR, $_[0])) {
	# Is a directory .. parse all files!
	local @files = readdir(DIR);
	closedir(DIR);
	foreach $f (@files) {
		next if ($f =~ /^\./);
		push(@rv, &get_config_file("$_[0]/$f"));
		}
	}
else {
	# Just a normal config file
	local $lnum = 0;
	open(CONF, $_[0]);
	@rv = &parse_config_file(CONF, $lnum, $_[0]);
	close(CONF);
	}

# Expand Include directives
foreach $inc (&find_directive("Include", \@rv)) {
	if ($inc !~ /^\//) { $inc = "$config{'httpd_dir'}/$inc"; }
	local @incs = glob($inc);
	foreach $ginc (@incs) {
		push(@rv, &get_config_file($ginc));
		}
	}

return @rv;
}

# get_virtual_config(index)
sub get_virtual_config
{
local($conf, $c, $v);
$conf = &get_config();
if (!$_[0]) { $c = $conf; $v = undef; }
else {
	$c = $conf->[$_[0]]->{'members'};
	$v = $conf->[$_[0]];
	}
return wantarray ? ($c, $v) : $c;
}

# get_htaccess_config(file)
sub get_htaccess_config
{
local($lnum, @conf);
open(HTACCESS, $_[0]);
@conf = &parse_config_file(HTACCESS, $lnum, $_[0]);
close(HTACCESS);
return \@conf;
}

# save_directive(name, &values, &directives, &config)
# Updates the config file(s) and the directives structure with new values
# for the given directives.
# If a directive's value is merely being changed, then its value only needs
# to be updated in the directives array and in the file.
sub save_directive
{
local($i, @old, $lref, $change, $len, $v);
@old = &find_directive_struct($_[0], $_[2]);
for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
	$v = ${$_[1]}[$i];
	if ($i >= @old) {
		# a new directive is being added. If other directives of this
		# type exist, add it after them. Otherwise, put it at the end of
		# the first file in the section
		if ($change) {
			# Have changed some old directive.. add this new one
			# after it, and update change
			local(%v, $j);
			%v = (	"line", $change->{'line'}+1,
				"eline", $change->{'line'}+1,
				"file", $change->{'file'},
				"type", 0,
				"name", $_[0],
				"value", $v);
			$j = &indexof($change, @{$_[2]})+1;
			&renumber($_[3], $v{'line'}, $v{'file'}, 1);
			splice(@{$_[2]}, $j, 0, \%v);
			$lref = &read_file_lines($v{'file'});
			splice(@$lref, $v{'line'}, 0, "$_[0] $v");
			$change = \%v;
			}
		else {
			# Adding a new directive to the end of the list
			# in this section
			local($f, %v, $j);
			$f = $_[2]->[0]->{'file'};
			for($j=0; $_[2]->[$j]->{'file'} eq $f; $j++) { }
			$l = $_[2]->[$j-1]->{'eline'}+1;
			%v = (	"line", $l,
				"eline", $l,
				"file", $f,
				"type", 0,
				"name", $_[0],
				"value", $v);
			&renumber($_[3], $l, $f, 1);
			splice(@{$_[2]}, $j, 0, \%v);
			$lref = &read_file_lines($f);
			splice(@$lref, $l, 0, "$_[0] $v");
			}
		}
	elsif ($i >= @{$_[1]}) {
		# a directive was deleted
		$lref = &read_file_lines($old[$i]->{'file'});
		$idx = &indexof($old[$i], @{$_[2]});
		splice(@{$_[2]}, $idx, 1);
		$len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		splice(@$lref, $old[$i]->{'line'}, $len);
		&renumber($_[3], $old[$i]->{'line'}, $old[$i]->{'file'}, -$len);
		}
	else {
		# just changing the value
		$lref = &read_file_lines($old[$i]->{'file'});
		$len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		&renumber($_[3], $old[$i]->{'eline'}+1,
			  $old[$i]->{'file'},1-$len);
		$old[$i]->{'value'} = $v;
		$old[$i]->{'eline'} = $old[$i]->{'line'};
		splice(@$lref, $old[$i]->{'line'}, $len, "$_[0] $v");
		$change = $old[$i];
		}
	}
}

# renumber(&config, line, file, offset)
# Recursively changes the line number of all directives from some file 
# beyond the given line.
sub renumber
{
local($d);
if (!$_[3]) { return; }
foreach $d (@{$_[0]}) {
	if ($d->{'file'} eq $_[2] && $d->{'line'} >= $_[1]) {
		$d->{'line'} += $_[3];
		}
	if ($d->{'file'} eq $_[2] && $d->{'eline'} >= $_[1]) {
		$d->{'eline'} += $_[3];
		}
	if ($d->{'type'}) {
		&renumber($d->{'members'}, $_[1], $_[2], $_[3]);
		}
	}
}

# server_root(path, &directives)
sub server_root
{
if ($_[0] =~ /^\//) { return $_[0]; }
else { return "$config{'httpd_dir'}/$_[0]"; }
}

sub dump_config
{
local($c, $mref);
print "<table border>\n";
print "<tr> <td>Name</td> <td>Value</td> <td>File</td> <td>Line</td> </tr>\n";
foreach $c (@_) {
	printf "<tr> <td>%s</td> <td>%s</td><td>%s</td><td>%s</td> </tr>\n",
		$c->{'name'}, $c->{'value'}, $c->{'file'}, $c->{'line'};
	if ($c->{'type'}) {
		print "<tr> <td colspan=4>\n";
		$mref = $c->{'members'};
		&dump_config(@$mref);
		print "</td> </tr>\n";
		}
	}
print "</table>\n";
}

sub def
{
return $_[0] ? $_[0] : $_[1];
}

# make_directives(ref, version, module)
sub make_directives
{
local(@rv, $aref);
$aref = $_[0];
local $ver = $_[1];
if ($ver =~ /^(1)\.(3)(\d+)$/) {
	$ver = sprintf "%d.%d%2.2d", $1, $2, $3;
	}
foreach $d (@$aref) {
	local(%dir);
	$dir{'name'} = $d->[0];
	$dir{'multiple'} = $d->[1];
	$dir{'type'} = int($d->[2]);
	$dir{'subtype'} = $d->[2] - $dir{'type'};
	$dir{'module'} = $_[2];
	$dir{'version'} = $ver;
	$dir{'priority'} = $d->[5];
	foreach $c (split(/\s+/, $d->[3])) { $dir{$c}++; }
	if (!$d->[4]) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^-([\d\.]+)$/ && $ver < $1) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^([\d\.]+)$/ && $ver >= $1) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^([\d\.]+)-([\d\.]+)$/ && $ver >= $1 && $ver < $2)
		{ push(@rv, \%dir); }
	}
return @rv;
}


# editable_directives(type, context)
# Returns an array of references to associative arrays, one for each 
# directive of the given type that can be used in the given context
sub editable_directives
{
local($m, $func, @rv, %done);
foreach $m (keys %httpd_modules) {
	$func = $m."_directives";
	push(@rv, &$func($httpd_modules{$m}));
	}
@rv = grep { $_->{'type'} == $_[0] && $_->{$_[1]} &&
	     !$done{$_->{'name'}}++ } @rv;
@rv = sort { local $td = $a->{'subtype'} <=> $b->{'subtype'};
	     local $pd = $b->{'priority'} <=> $a->{'priority'};
	     local $md = $a->{'module'} cmp $b->{'module'};
	     $td ? $td : $pd ? $pd : $md ? $md : $a->{'name'} cmp $b->{'name'} }
		@rv;
return @rv;
}

# generate_inputs(&editors, &directives)
# Displays a 2-column list of options, for use inside a table
sub generate_inputs
{
local($e, $sw, @args, @rv, $func, $lastsub);
foreach $e (@{$_[0]}) {
	if (defined($lastsub) && $lastsub != $e->{'subtype'}) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";
		}
	$lastsub = $e->{'subtype'};
	if (!$sw) { print "<tr>\n"; }

	# Build arg list for the editing function. Each arg can be a single
	# directive struct, or a reference to an array of structures.
	$func = "edit";
	undef(@args);
	foreach $ed (split(/\s+/, $e->{'name'})) {
		local(@vals);
		$func .= "_$ed";
		@vals = &find_directive_struct($ed, $_[1]);
		if ($e->{'multiple'}) { push(@args, \@vals); }
		elsif (!@vals) { push(@args, undef); }
		else { push(@args, $vals[$#vals]); }
		}
	push(@args, $e);

	# call the function
	@rv = &$func(@args);
	if ($rv[0] >= 2) {
		# spans 2 columns..
		if ($sw) {
			# need to end this row
			print "<td colspan=2></td> </tr><tr>\n";
			}
		else { $sw = !$sw; }
		if ($rv[0] == 3) {
			# Takes up whole row
			print "<td colspan=4>$rv[2]</td>\n";
			}
		else {
			# Has title on left
			print "<td valign=top align=right width=25%><b>$rv[1]</b></td>\n";
			print "<td nowrap valign=top colspan=3 width=75%>$rv[2]</td>\n";
			}
		}
	else {
		# only spans one column
		print "<td valign=top align=right width=25%><b>$rv[1]</b></td>\n";
		print "<td nowrap valign=top width=25%>$rv[2]</td>\n";
		}

	if ($sw) { print "</tr>\n"; }
	$sw = !$sw;
	}
}

# parse_inputs(&editors, &directives, &config)
# Reads user choices from a form and update the directives and config files.
sub parse_inputs
{
# First call editor functions to get new values. Each function returns
# an array of references to arrays containing the new values for the directive.
foreach $e (@{$_[0]}) {
	@dirs = split(/\s+/, $e->{'name'});
	$func = "save_".join('_', @dirs);
	@rv = &$func($e);
	for($i=0; $i<@dirs; $i++) {
		push(@chname, $dirs[$i]);
		push(@chval, $rv[$i]);
		}
	}

# Assuming everything went OK, update the configuration
for($i=0; $i<@chname; $i++) {
	&save_directive($chname[$i], $chval[$i], $_[1], $_[2]);
	}
&flush_file_lines();
}

# opt_input(value, name, default, size)
sub opt_input
{
return sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[2]\n".
	       "<input type=radio name=$_[1]_def value=0 %s>\n".
	       "<input name=$_[1] size=$_[3] value='%s'>\n",
	defined($_[0]) ? "" : "checked",
	defined($_[0]) ? "checked" : "",
	$_[0];
}

# parse_opt(name, regexp, error)
sub parse_opt
{
local($i, $re);
if ($in{"$_[0]_def"}) { return ( [ ] ); }
for($i=1; $i<@_; $i+=2) {
	$re = $_[$i];
	if ($in{$_[0]} !~ /$re/) { &error($_[$i+1]); }
	}
return ( [ $in{$_[0]} ] );
}

# choice_input(value, name, default, [choice]+)
# Each choice is a display,value pair
sub choice_input
{
local($i, $rv);
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<input type=radio name=$_[1] value=\"$2\" %s> $1\n",
		lc($2) eq lc($_[0]) || !defined($_[0]) && lc($2) eq lc($_[2]) ? "checked" : "";
	}
return $rv;
}

# choice_input_vert(value, name, default, [choice]+)
# Each choice is a display,value pair
sub choice_input_vert
{
local($i, $rv);
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<input type=radio name=$_[1] value=\"$2\" %s> $1<br>\n",
		lc($2) eq lc($_[0]) || !defined($_[0]) &&
				       lc($2) eq lc($_[2]) ? "checked" : "";
	}
return $rv;
}

# parse_choice(name, default)
sub parse_choice
{
if (lc($in{$_[0]}) eq lc($_[1])) { return ( [ ] ); }
else { return ( [ $in{$_[0]} ] ); }
}

# select_input(value, name, default, [choice]+)
sub select_input
{
local($i, $rv);
$rv = "<select name=\"$_[1]\">\n";
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<option value=\"$2\" %s> $1\n",
		lc($2) eq lc($_[0]) || !defined($_[0]) && lc($2) eq lc($_[2]) ? "selected" : "";
	}
$rv .= "</select>\n";
return $rv;
}

# parse_choice(name, default)
sub parse_select
{
return &parse_choice(@_);
}

# handler_input(value, name)
sub handler_input
{
local($m, $func, @hl, $rv, $h);
local $conf = &get_config();
push(@hl, "");
foreach $m (keys %httpd_modules) {
	$func = $m."_handlers";
	if (defined(&$func)) {
		push(@hl, &$func($conf, $httpd_modules{$m}));
		}
	}
if (&indexof($_[0], @hl) < 0) { push(@hl, $_[0]); }
$rv = "<select name=$_[1]>\n";
foreach $h (&unique(@hl)) {
	$rv .= sprintf "<option value=\"$h\" %s>$h\n",
		$h eq $_[0] ? "selected" : "";
	}
$rv .= "</select>\n";
return $rv;
}

# parse_handler(name)
sub parse_handler
{
if ($in{$_[0]} eq "") { return ( [ ] ); }
else { return ( [ $in{$_[0]} ] ); }
}

# filters_input(&values, name)
sub filters_input
{
local($m, $func, @fl, $rv, $f);
local $conf = &get_config();
foreach $m (keys %httpd_modules) {
	$func = $m."_filters";
	if (defined(&$func)) {
		push(@fl, &$func($conf, $httpd_modules{$m}));
		}
	}
foreach $f (@{$_[0]}) {
	push(@fl, $f) if (&indexof($f, @fl) < 0);
	}
foreach $f (&unique(@fl)) {
	$rv .= sprintf "<input type=checkbox name=$_[1] value='%s' %s> %s\n",
			$f, &indexof($f, @{$_[0]}) < 0 ? "" : "checked", $f;
	}
return $rv;
}

# parse_filters(name)
sub parse_filters
{
local @f = split(/\0/, $in{$_[0]});
return @f ? ( [ join(";", @f) ] ) : ( [ ] );
}



# virtual_name(struct, [forlog])
sub virtual_name
{
if ($_[0]) {
	local $n = &find_directive("ServerName", $_[0]->{'members'});
	if ($n) {
		return &html_escape($_[0]->{'value'} =~ /:(\d+)$/ ? "$n:$1"
								  : $n);
		}
	else {
		return &html_escape($_[0]->{'value'});
		}
	}
else { return $_[1] ? "*" : $text{'default_serv'}; }
}

# dir_name(struct)
sub dir_name
{
local($dfm, $mat);
$_[0]->{'name'} =~ /^(Directory|Files|Location)(Match)?$/;
$dfm = $1; $mat = $2;
if ($mat) {
	return "$dfm regexp <tt>".&html_escape($_[0]->{'words'}->[0])."</tt>";
	}
elsif ($_[0]->{'words'}->[0] eq "~") {
	return "$dfm regexp <tt>".&html_escape($_[0]->{'words'}->[1])."</tt>";
	}
else { return "$dfm <tt>".&html_escape($_[0]->{'words'}->[0])."</tt>"; }
}

# list_user_file(file, &user,  &pass)
sub list_user_file
{
local($_);
open(USERS, $_[0]);
while(<USERS>) {
	/^(\S+):(\S+)/;
	push(@{$_[1]}, $1); $_[2]->{$1} = $2;
	}
close(USERS);
}


# config_icons(context, program)
# Displays up to 18 icons, one for each type of configuration directive, for
# some context (global, virtual, directory or htaccess)
sub config_icons
{
local($m, $func, $e, %etype, $i, $c);
foreach $m (sort { $a cmp $b } (keys %httpd_modules)) {
        $func = $m."_directives";
	foreach $e (&$func($httpd_modules{$m})) {
		if ($e->{$_[0]}) { $etype{$e->{'type'}}++; }
		}
        }
print "<table width=100% cellpadding=5>\n";
for($i=0; $text{"type_$i"}; $i++) {
	if ($etype{$i} && $access_types{$i}) {
		if ($c%5 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=20%>\n";
		&generate_icon("images/type_icon_$i.gif", $text{"type_$i"},
			       $_[1]."type=$i");
		print "</td>\n";
		if ($c%5 == 4) { print "<tr>\n"; }
		$c++;
		}
	}
for($i=2; $i<@_; $i++) {
	if ($c%5 == 0) { print "<tr>\n"; }
	print "<td valign=top align=center width=20%>\n";
	&generate_icon($_[$i]->{'icon'}, $_[$i]->{'name'}, $_[$i]->{'link'});
	print "</td>\n";
	if ($c%5 == 4) { print "<tr>\n"; }
	$c++;
	}
print "</table><p>\n";
}

# restart_button()
# Returns HTML for a link to put in the top-right corner of every page
sub restart_button
{
local($pidfile, $pidfilestr, $conf, $rv);
$conf = &get_config();
$pidfilestr = &find_directive_struct("PidFile", $conf);
$pidfile = $pidfilestr ? $pidfilestr->{'words'}->[0]
		       : "logs/httpd.pid";
$pidfile = &server_root($pidfile, $conf);
$args = "redir=".&urlize(&this_url());
if (open(PID, $pidfile) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	$rv = "<a href=\"restart.cgi?$args\">$text{'apache_apply'}</a><br>\n";
	if ($access{'stop'}) {
		$rv .= "<a href=\"stop.cgi?$args\">$text{'apache_stop'}</a>\n";
		}
	}
elsif ($access{'stop'}) {
	$rv = "<a href=\"start.cgi?$args\">$text{'apache_start'}</a><br>\n";
	}
return $rv;
}

# this_url()
# Returns the URL in the apache directory of the current script
sub this_url
{
local($url);
$url = $ENV{'SCRIPT_NAME'};
if ($ENV{'QUERY_STRING'} ne "") { $url .= "?$ENV{'QUERY_STRING'}"; }
return $url;
}

# find_all_directives(config, name)
# Recursively finds all directives of some type
sub find_all_directives
{
local(@rv, $d);
foreach $d (@{$_[0]}) {
	if ($d->{'name'} eq $_[1]) { push(@rv, $d); }
	if ($d->{'type'} == 1) {
		push(@rv, &find_all_directives($d->{'members'}, $_[1]));
		}
	}
return @rv;
}

# httpd_info(executable)
# Returns the httpd version and modules array
sub httpd_info
{
local(@mods, $verstr, $ver, $minor);
$verstr = `$_[0] -v 2>&1`;
if ($config{'httpd_version'}) {
	$config{'httpd_version'} =~ /(\d+)\.([\d\.]+)/;
	$ver = $1; $minor = $2; $minor =~ s/\.//g; $ver .= ".$minor";
	}
elsif ($verstr =~ /Apache(\S*)\/(\d+)\.([\d\.]+)/) {
	# standard apache
	$ver = $2; $minor = $3; $minor =~ s/\.//g; $ver .= ".$minor";
	}
elsif ($verstr =~ /HP\s*Apache-based\s*Web\s*Server(\S*)\/(\d+)\.([\d\.]+)/) {
	# HP's apache
	$ver = $2; $minor = $3; $minor =~ s/\.//g; $ver .= ".$minor";
	}
elsif ($verstr =~ /Red\s*Hat\s+Secure\/2\.0/i) {
	# redhat secure server 2.0
	$ver = 1.31;
	}
elsif ($verstr =~ /Red\s*Hat\s+Secure\/3\.0/i) {
	# redhat secure server 3.0
	$ver = 1.39;
	}
elsif (`rpm -q apache 2>&1` =~ /^apache-(\d+)\.([\d\.]+)/) {
	# got version from the RPM
	$ver = $1; $minor = $2; $minor =~ s/\.//g; $ver .= ".$minor";
	}
else {
	# couldn't get version
	return (0, undef);
	}
if ($ver < 1.2) {
	# apache 1.1 has no -l option! Use the standard list
	@mods = ("core", "mod_mime", "mod_access", "mod_auth", "mod_include",
		 "mod_negotiation", "mod_dir", "mod_cgi", "mod_userdir",
		 "mod_alias", "mod_env", "mod_log_common");
	}
else {
	# ask apache for the module list
	@mods = ("core");
	open(APACHE, "$_[0] -l |");
	while(<APACHE>) {
		if (/(\S+)\.c/) { push(@mods, $1); }
		}
	close(APACHE);
	@mods = &unique(@mods);
	}
return ($ver, \@mods);
}

# print_line(directive, text, indent, link)
sub print_line
{
local $line = $_[0]->{'line'} + 1;
local $lstr = "$_[0]->{'file'} ($line)";
local $txt = join("", @{$_[1]});
local $left = 85 - length($lstr) - $_[2];
if (length($txt) > $left) {
	$txt = substr($txt, 0, $left)." ..";
	}
local $txtlen = length($txt);
$txt = &html_escape($txt);
print " " x $_[2];
if ($_[3]) {
	print "<a href=\"$_[3]\">",$txt,"</a>";
	}
else { print $txt; }
print " " x (90 - $txtlen - $_[2] - length($lstr));
print $lstr,"\n";
}

# can_edit_virt(struct)
sub can_edit_virt
{
return 1 if ($access{'virts'} eq '*');
local %vcan;
map { $vcan{$_}++ } split(/\s+/, $access{'virts'});
return $vcan{&virt_acl_name($_[0])};
}

# virt_acl_name(struct)
sub virt_acl_name
{
return "__default__" if (!$_[0]);
local $n = &find_directive("ServerName", $_[0]->{'members'});
if ($n) {
	local $p;
	if ($_[0]->{'value'} =~ /(:\d+)/) { $p = $1; }
	return $n.$p;
	}
else {
	return $_[0]->{'value'};
	}
}

# allowed_auth_file(file)
sub allowed_auth_file
{
local $_;
return 1 if ($access{'dir'} eq '/');
return 0 if ($_[0] =~ /\.\./);
local $f = &server_root($_[0], &get_config());
return 0 if (-l $f && !&allowed_auth_file(readlink($f)));
local $l = length($access{'dir'});
return length($f) >= $l && substr($f, 0, $l) eq $access{'dir'};
}

sub lock_apache_files
{
local $conf = &get_config();
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
	&lock_file($f);
	}
}

sub unlock_apache_files
{
local $conf = &get_config();
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
	&unlock_file($f);
	}
}

# directive_lines(directive, ...)
sub directive_lines
{
local @rv;
foreach $d (@_) {
	next if ($d->{'name'} eq 'dummy');
	if ($d->{'type'}) {
		push(@rv, "<$d->{'name'} $d->{'value'}>");
		push(@rv, &directive_lines(@{$d->{'members'}}));
		push(@rv, "</$d->{'name'}>");
		}
	else {
		push(@rv, "$d->{'name'} $d->{'value'}");
		}
	}
return @rv;
}

1;

0707010005c28d000081a40000000000000002000000013d1fe2d100000b32000000200000000000000000000000000000001900000003reloc/apache/auth-lib.pl  # auth-lib.pl
# Functions for editing text and dbm user files

# list_authusers(file)
# Returns an array of user names from the given file
sub list_authusers
{
local($_, @rv);
open(HTPASSWD, $_[0]);
while(<HTPASSWD>) {
	if (/^(\S+):(\S*)/) { push(@rv, $1); }
	}
close(HTPASSWD);
return @rv;
}

# get_authuser(file, name)
sub get_authuser
{
local($_, $rv);
open(HTPASSWD, $_[0]);
while(<HTPASSWD>) {
	if (/^(\S+):(\S*)/ && $1 eq $_[1]) {
		$rv = { 'user' => $1 , 'pass' => $2 };
		}
	}
close(HTPASSWD);
return $rv;
}

# save_authuser(file, olduser, &details)
sub save_authuser
{
local($_, @htpasswd);
open(HTPASSWD, $_[0]);
@htpasswd = <HTPASSWD>;
close(HTPASSWD);
open(HTPASSWD, "> $_[0]");
foreach (@htpasswd) {
	if (/^(\S+):(\S*)/ && $1 eq $_[1]) {
		print HTPASSWD $_[2]->{'user'},":",$_[2]->{'pass'},"\n";
		}
	else { print HTPASSWD $_; }
	}
close(HTPASSWD);
}

# create_authuser(file, &details)
# Add a new user to a file
sub create_authuser
{
open(HTPASSWD, ">> $_[0]");
print HTPASSWD $_[1]->{'user'},":",$_[1]->{'pass'},"\n";
close(HTPASSWD);
}

# delete_authuser(file, user)
# Delete some user from a file
sub delete_authuser
{
local($_, @htpasswd);
open(HTPASSWD, $_[0]);
@htpasswd = <HTPASSWD>;
close(HTPASSWD);
open(HTPASSWD, "> $_[0]");
foreach (@htpasswd) {
	if (!/^(\S+):(\S*)/ || $1 ne $_[1]) { print HTPASSWD $_; }
	}
close(HTPASSWD);
}

###########################################################################
# Group Functions
###########################################################################

# list_authgroups(file)
# Returns an array of associative arrays containing information about
# groups from some text file
sub list_authgroups
{
local($_, @rv);
open(HTGROUP, $_[0]);
while(<HTGROUP>) {
	if (/^(\S+):\s*(.*)/) {
		local($gr, @mems);
		$gr = $1; @mems = split(/\s+/, $2);
		push(@rv, { 'group' => $gr, 'members' => \@mems });
		}
	}
close(HTGROUP);
return @rv;
}

# get_authgroup(file, group)
sub get_authgroup
{
local(@tmp, $t);
@tmp = &list_authgroups($_[0]);
foreach $t (@tmp) {
	if ($t->{'group'} eq $_[1]) { return $t; }
	}
return undef;
}

# create_authgroup(file, &details)
sub create_authgroup
{
open(HTGROUP, ">> $_[0]");
print HTGROUP $_[1]->{'group'},": ",join(' ', @{$_[1]->{'members'}}),"\n";
close(HTGROUP);
}

# save_authgroup(file, oldgroup, &details)
sub save_authgroup
{
open(HTGROUP, $_[0]);
@htgroup = <HTGROUP>;
close(HTGROUP);
open(HTGROUP, "> $_[0]");
foreach (@htgroup) {
	if (/^(\S+):\s*(.*)/ && $1 eq $_[1]) {
		print HTGROUP $_[2]->{'group'},": ",
			      join(' ', @{$_[2]->{'members'}}),"\n";
		}
	else { print HTGROUP $_; }
	}
close(HTGROUP);
}

# delete_authgroup(file, group)
sub delete_authgroup
{
open(HTGROUP, $_[0]);
@htgroup = <HTGROUP>;
close(HTGROUP);
open(HTGROUP, "> $_[0]");
foreach (@htgroup) {
	if (!/^(\S+):\s*(.*)/ || $1 ne $_[1]) { print HTGROUP $_; }
	}
close(HTGROUP);
}

1;

  0707010005c28e000081a40000000000000002000000013d1fe2d10000261c000000200000000000000000000000000000001a00000003reloc/apache/autoindex.pl # autoindex.pl
# Directives in both mod_dir.pl and mod_autoindex.pl

@AddIcon_dirs = ("AddIcon", "AddIconByType", "AddIconByEncoding");
@AddIcon_descs = ("$text{'autoindex_fname'}", "$text{'autoindex_mime'}", "$text{'autoindex_enc'}");

sub edit_AddIcon_AddIconByType_AddIconByEncoding
{
local($rv, @all, $i, $j, $icon, $alt, $mode, $file);
$rv = "<table border>\n".
"<tr $tb> <td><b>$text{'autoindex_icon'}</b></td> <td><b>$text{'autoindex_alt'}</b></td>\n".
"<td><b>$text{'autoindex_match'}</b></td> <td><b>$text{'autoindex_fte'}</b></td></tr>\n";
@all = (@{$_[0]}, @{$_[1]}, @{$_[2]});
for($i=0; $i<=@all; $i++) {
	$d = $all[$i];
	if ($d) {
		if ($d->{'value'} =~ /^\((.*),(\S+)\)\s*(.*)$/) {
			$alt = $1; $icon = $2; $file = $3;
			}
		elsif ($d->{'value'} =~ /^(\S+)\s*(.*)$/) {
			$alt = ""; $icon = $1; $file = $2;
			}
		$mode = &indexof($d->{'name'}, @AddIcon_dirs);
		}
	else { $alt = $icon = $file = ""; $mode = 0; }

	$rv .="<tr $cb>\n";
	$rv .="<td><input name=AddIcon_icon_$i size=25 value=\"$icon\"></td>\n";
	$rv .="<td><input name=AddIcon_alt_$i size=10 value=\"$alt\"></td>\n";
	$rv .="<td><select name=AddIcon_mode_$i>\n";
	for($j=0; $j<@AddIcon_descs; $j++) {
		$rv .= sprintf "<option value=$j %s>%s\n",
		        $mode == $j ? "selected" : "", $AddIcon_descs[$j];
		}
	$rv .="</select></td>\n";
	$rv .="<td><input name=AddIcon_file_$i size=20 value=\"$file\"></td>\n";
	$rv .="</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'autoindex_diricon'}", $rv);
}
sub save_AddIcon_AddIconByType_AddIconByEncoding
{
local($i, $icon, $alt, $file, $mode, $aref, @ai, @ait, @aie);
for($i=0; defined($in{"AddIcon_icon_$i"}); $i++) {
	$icon = $in{"AddIcon_icon_$i"}; $alt = $in{"AddIcon_alt_$i"};
	$mode = $in{"AddIcon_mode_$i"}; $file = $in{"AddIcon_file_$i"};
	if ($icon !~ /\S/ && $file !~ /\S/) { next; }
	$icon =~ /^\S+$/ || &error(&text('autoindex_eiconurl', $icon));
	$file =~ /\S/ || &error(&text('autoindex_emiss', $AddIcon_descs[$mode], $icon));
	$aref = $mode==0 ? \@ai : $mode==1 ? \@ait : \@aie;
	if ($alt) { push(@$aref, "($alt,$icon) $file"); }
	else { push(@$aref, "$icon $file"); }
	}
return ( \@ai, \@ait, \@aie );
}

sub edit_DefaultIcon
{
return (1, "$text{'autoindex_deficon'}",
        &opt_input($_[0]->{'value'}, "DefaultIcon", "$text{'autoindex_default'}", 20));
}
sub save_DefaultIcon
{
return &parse_opt("DefaultIcon", '^\S+$', "$text{'autoindex_edeficon'}");
}

@AddAlt_dirs = ("AddAlt", "AddAltByType", "AddAltByEncoding");
@AddAlt_descs = ("Filename", "MIME type", "Encoding");

sub edit_AddAlt_AddAltByType_AddAltByEncoding
{
local($rv, @all, $i, $j, $alt, $mode, $file);
$rv = "<table border>\n".
"<tr $tb> <td><b>$text{'autoindex_alt'}</b></td>\n".
"<td><b>$text{'autoindex_match'}</b></td> <td><b>$text{'autoindex_fte'}</b></td></tr>\n";
@all = (@{$_[0]}, @{$_[1]}, @{$_[2]});
for($i=0; $i<=@all; $i++) {
	$d = $all[$i];
	if ($d->{'value'}) {
		$alt = $d->{'words'}->[0];
		@w = @{$d->{'words'}};
		$file = join(' ', @w[1..$#w]);
		$mode = &indexof($d->{'name'}, @AddAlt_dirs);
		}
	else { $alt = $file = ""; $mode = 0; }

	$rv .="<tr $cb>\n";
	$rv .="<td><input name=AddAlt_alt_$i size=20 value=\"$alt\"></td>\n";
	$rv .="<td><select name=AddAlt_mode_$i>\n";
	for($j=0; $j<@AddAlt_descs; $j++) {
		$rv .= sprintf "<option value=$j %s>%s\n",
		        $mode == $j ? "selected" : "", $AddAlt_descs[$j];
		}
	$rv .="</select></td>\n";
	$rv .="<td><input name=AddAlt_file_$i size=20 value=\"$file\"></td>\n";
	$rv .="</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'autoindex_diralt'}", $rv);
}
sub save_AddAlt_AddAltByType_AddAltByEncoding
{
local($i, $alt, $file, $mode, $aref, @ai, @ait, @aie);
for($i=0; defined($alt = $in{"AddAlt_alt_$i"}); $i++) {
	$mode = $in{"AddAlt_mode_$i"}; $file = $in{"AddAlt_file_$i"};
	if ($alt !~ /\S/ && $file !~ /\S/) { next; }
	$file =~ /\S/ || &error(&text('autoindex_emissquot', $AddAlt_descs[$mode], $alt));
	$aref = $mode==0 ? \@ai : $mode==1 ? \@ait : \@aie;
	push(@$aref, "\"$alt\" $file");
	}
return ( \@ai, \@ait, \@aie );
}

sub edit_AddDescription
{
local($rv, $i, $desc, $file);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'autoindex_desc'}</b></td> <td><b>$text{'autoindex_fnames'}</b></td> </tr>\n";
for($i=0; $i<=@{$_[0]}; $i++) {
	if ($_[0]->[$i] && $_[0]->[$i]->{'value'} =~ /^"(.*)"\s*(.*)$/)
		{ $desc = $1; $file = $2; }
	else { $desc = $file = ""; }
	$rv .= "<tr $cb> <td><input size=40 name=AddDescription_desc_$i ".
	       "value=\"$desc\"></td>\n";
	$rv .= "<td><input size=20 name=AddDescription_file_$i ".
	       "value=\"$file\"></td> </tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'autoindex_dirdesc'}", $rv);
}
sub save_AddDescription
{
local($i, $desc, $file, @rv);
for($i=0; defined($in{"AddDescription_desc_$i"}); $i++) {
	$desc = $in{"AddDescription_desc_$i"};
	$file = $in{"AddDescription_file_$i"};
	if ($desc !~ /\S/ && $file !~ /\S/) { next; }
	$desc =~ /\S/ || &error(&text('autoindex_enodesc', $file));
	$file =~ /\S/ || &error(&text('autoindex_enofile', $desc));
	push(@rv, "\"$desc\" $file");
	}
return ( \@rv );
}

@IndexOptions_v =
	( "FancyIndexing", "ScanHTMLTitles", "IconHeight", "IconWidth",
	  "SuppressColumnSorting", "SuppressDescription",
	  "SuppressHTMLPreamble", "SuppressLastModified", "SuppressSize",
	  "IconsAreLinks", "NameWidth", "DescriptionWidth", "FoldersFirst",
	  "HTMLTable", "IgnoreClient", "SuppressIcon", "SuppressRules",
	  "TrackModified", "VersionSort" );
@IndexOptions_d =
	( $text{'autoindex_fancy'},
	  $text{'autoindex_htmltitle'},
	  $text{'autoindex_iheight'},
	  $text{'autoindex_iwidth'},
	  $text{'autoindex_sort'},
	  $text{'autoindex_fildesc'},
	  $text{'autoindex_htags'},
	  $text{'autoindex_mtime'},
	  $text{'autoindex_size'},
	  $text{'autoindex_iconlink'},
	  $text{'autoindex_fwidth'},
	  $text{'autoindex_dwidth'},
	  $text{'autoindex_dirfirst'},
	  $text{'autoindex_html'},
	  $text{'autoindex_client'},
	  $text{'autoindex_sicon'},
	  $text{'autoindex_srules'},
	  $text{'autoindex_track'},
	  $text{'autoindex_version'} );
@IndexOptions_i = ( 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 );
@IndexOptions_n = ( 0, 0, 1.3, 1.3,
	            1.3, 0,
		    1.3, 0, 0,
		    1.302, 1.302, 1.310, 1.310,
		    2.023, 2.023, 2.023, 2.023,
		    2.023, 2.0 );

sub edit_IndexOptions_FancyIndexing
{
local($o, %opts, $i, $rv);
$rv = &choice_input($_[0] || $_[1] ? 0 : 1, "IndexOptions_def", 1,
		    "$text{'autoindex_default2'},1", "$text{'autoindex_select'},0");
foreach $o (split(/\s+/, $_[0]->{'value'})) {
	if ($o =~ /^(\S+)=(\S+)$/) { $opts{$1} = $2; }
	else { $opts{$o} = -1; }
	}
if ($_[1]->{'value'} eq "on") { $opts{'FancyIndexing'} = -1; }
$rv .= "<table border><tr><td><table cellpadding=0>\n";
local $sw = 0;
for($i=0; $i<@IndexOptions_v; $i++) {
	$o = $IndexOptions_v[$i];
	next if ($_[2]->{'version'} < $IndexOptions_n[$i]);

	$rv .= "<tr>\n" if (!$sw);
	if ($IndexOptions_i[$i]) { $opts{$o} = -$opts{$o}-1; }
	$rv .= sprintf "<td><input type=checkbox name=Index_$o value=1 %s> %s\n",
	        $opts{$o} ? "checked" : "", $IndexOptions_d[$i];
	if ($o =~ /IconWidth|IconHeight/) {
		$rv .= "&nbsp;";
		$rv .= sprintf 
		        "<input type=radio name=Index_${o}_def value=1 %s> $text{'autoindex_default3'}\n",
		        $opts{$o} < 0 ? "checked" : "";
		$rv .= sprintf
		        "&nbsp;<input type=radio name=Index_${o}_def value=0 %s>\n",
		        $opts{$o} < 0 ? "" : "checked";
		$rv .= sprintf
		        "<input name=Index_${o}_wh size=5 value=\"%s\"> $text{'autoindex_pixels'}\n",
		        $opts{$o} < 0 ? "" : $opts{$o};
		}
	elsif ($o =~ /NameWidth|DescriptionWidth/) {
		$rv .= "&nbsp;";
		$rv .= sprintf
		        "<input name=Index_${o}_w size=5 value=\"%s\"> $text{'autoindex_chars'}\n",
		        $opts{$o} < 0 ? "" : $opts{$o};
		}
	$rv .= "</td>";
	$rv .= "</tr>\n" if ($sw);
	$sw = !$sw;
	}
$rv .= "</table></td></tr></table>\n";
return (2, "$text{'autoindex_diropt'}", $rv);
}
sub save_IndexOptions_FancyIndexing
{
local($i, $o, @rv, %opts);
if ($in{'IndexOptions_def'}) { return ( [ ], [ ] ); }
for($i=0; $i<@IndexOptions_v; $i++) {
	$o = $IndexOptions_v[$i];
	next if ($_[0]->{'version'} < $IndexOptions_n[$i]);

	if ($in{"Index_$o"}) { $opts{$o} = -1; }
	if ($o =~ /IconWidth|IconHeight/ &&
	    $in{"Index_${o}"} && !$in{"Index_${o}_def"}) {
		$in{"Index_${o}_wh"} =~ /^[1-9]\d*$/ ||
			&error(&text('autoindex_eiconsize', $in{"Index_${o}_wh"}));
		$opts{$o} = $in{"Index_${o}_wh"};
		}
	elsif ($o =~ /NameWidth|DescriptionWidth/ && $in{"Index_${o}"}) {
		$in{"Index_${o}_w"} =~ /^[1-9]\d*$/ ||
		    $in{"Index_${o}_w"} eq '*' ||
			&error(&text('autoindex_ewidth', $in{"Index_$(o)_h"}));
		$opts{$o} = $in{"Index_${o}_w"};
		}
	if ($IndexOptions_i[$i]) { $opts{$o} = -$opts{$o}-1; }
	if ($opts{$o} < 0) { push(@rv, "$o"); }
	elsif ($opts{$o} > 0) { push(@rv, "$o=$opts{$o}"); }
	}
return ( [ join(' ', @rv) ], [ ] );
}

sub edit_HeaderName
{
return (1, "$text{'autoindex_dirhead'}",
        &opt_input($_[0]->{'value'}, "HeaderName", "$text{'autoindex_default4'}", 20));
}
sub save_HeaderName
{
return &parse_opt("HeaderName", '^\S+$', "$text{'autoindex_edirhead'}");
}

sub edit_ReadmeName
{
return (1, "$text{'autoindex_dirfoot'}",
        &opt_input($_[0]->{'value'}, "ReadmeName", "$text{'autoindex_default4'}", 20));
}
sub save_ReadmeName
{
return &parse_opt("ReadmeName", '^\S+$', "$text{'autoindex_edirfoot'}");
}

sub edit_IndexIgnore
{
local($rv, $i, @ii);
foreach $i (@{$_[0]}) { push(@ii, split(/\s+/, $i->{'value'})); }
$rv = join("\n", @ii);
return (1, "$text{'autoindex_ignore'}",
        "<textarea name=IndexIgnore rows=5 cols=20>$rv</textarea>");
}
sub save_IndexIgnore
{
local(@rv); @rv = split(/\s+/, $in{'IndexIgnore'});
if (!@rv) { return ( [ ] ); }
else { return ( [ join(' ', @rv) ] ); }
}

1;

0707010005c517000081a40000000000000002000000013d1fe2d10000089c000000200000000000000000000000000000001d00000003reloc/apache/browsermatch.pl  #  browsermatch.pl
# Functions used in mod_browser.pl and mod_setenvif.pl

sub edit_BrowserMatch_BrowserMatchNoCase
{
local($d, @w, $i, @regex, @var, @val, @case, $rv);
foreach $d (@{$_[0]}, @{$_[1]}) {
	@w = @{$d->{'words'}};
	for($i=1; $i<@w; $i++) {
		push(@regex, $w[0]);
		if ($w[$i] =~ /^\!(\S+)$/) { push(@var, $1); push(@val, undef); }
		elsif ($w[$i] =~ /^(\S+)=(\S*)$/) { push(@var, $1); push(@val, $2); }
		else { push(@var, $w[$i]); push(@val, 1); }
		if ($d->{'name'} eq "BrowserMatch") { push(@case, 1); }
		else { push(@case, 0); }
		}
	}
push(@regex, ""); push(@var, ""); push(@val, ""); push(@case, 0);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'browsermatch_regexp'}</b></td> <td><b>$text{'browsermatch_case'}</b></td>\n".
      "<td><b>$text{'browsermatch_var'}</b></td> <td><b>$text{'browsermatch_value'}</b></td> </tr>\n";
for($i=0; $i<@regex; $i++) {
	$rv .= "<tr $cb>\n";
	$rv .= sprintf
	        "<td><input size=20 name=Browser_regex_$i value=\"%s\"></td>\n",
	        $regex[$i];
	$rv .= "<td>".&choice_input($case[$i], "Browser_case_$i", 1,
	       "$text{'yes'},1", "$text{'no'},0")."</td>\n";
	$rv .= sprintf
	        "<td><input size=20 name=Browser_var_$i value=\"%s\"></td>\n",
	        $var[$i];
	$rv .= "<td>".&opt_input($val[$i], "Browser_val_$i",
				 "$text{'browsermatch_clear'}", 10)."</td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'browsermatch_txt'}", $rv);
}
sub save_BrowserMatch_BrowserMatchNoCase
{
local($i, $regex, $case, $var, $val, $set, $lastbm, $lastbmnc, @bm, @bmnc);
for($i=0; defined($regex = $in{"Browser_regex_$i"}); $i++) {
	$case = $in{"Browser_case_$i"}; $var = $in{"Browser_var_$i"};
	if ($regex !~ /\S/ && $var !~ /\S/) { next; }
	$var =~ /^\S+$/ || &error(&text('browsermatch_evar', $var));
	$val = $in{"Browser_val_$i"};
	$set = $in{"Browser_val_${i}_def"} ? "!$var" :
		$val eq "1" ? $var : "$var=$val";
	if ($case) {
		if ($regex eq $lastbm) { $bm[$#bm] .= " $set"; }
		else { push(@bm, "\"$regex\" $set"); }
		$lastbm = $regex;
		}
	else {
		if ($regex eq $lastbmnc) { $bmnc[$#bmnc] .= " $set"; }
		else { push(@bmnc, "\"$regex\" $set"); }
		$lastbmnc = $regex;
		}
	}
return ( \@bm, \@bmnc );
}

1;

0707010005c518000081a40000000000000002000000013d1fe2d100000bf7000000200000000000000000000000000000001600000003reloc/apache/cache.pl # cache.pl
# Functions used by both mod_proxy.pl and the new apache caching modules

sub edit_CacheRoot
{
return (1, $text{'mod_proxy_dir'},
        &opt_input($_[0]->{'value'}, "CacheRoot", $text{'mod_proxy_none'}, 20).
        &file_chooser_button("CacheRoot", 0));
}
sub save_CacheRoot
{
$in{'CacheRoot_def'} || &allowed_auth_file($in{'CacheRoot'}) ||
	&error($text{'mod_proxy_eunder'});
return &parse_opt("CacheRoot", '^\S+$', $text{'mod_proxy_edir'});
}

sub edit_CacheSize
{
return (1, $text{'mod_proxy_size'},
        &opt_input($_[0]->{'value'}, "CacheSize", $text{'mod_proxy_default'}, 8)." kB");
}
sub save_CacheSize
{
return &parse_opt("CacheSize", '^\d+$', $text{'mod_proxy_esize'});
}

sub edit_CacheGcInterval
{
return (1, $text{'mod_proxy_garbage'},
        &opt_input($_[0]->{'value'}, "CacheGcInterval", $text{'mod_proxy_nogc'}, 6).
	$text{'mod_proxy_hours'});
}
sub save_CacheGcInterval
{
return &parse_opt("CacheGcInterval", '^\d+$',
                  $text{'mod_proxy_egarbage'});
}

sub edit_CacheMaxExpire
{
return (1, $text{'mod_proxy_maxexp'},
        &opt_input($_[0]->{'value'}, "CacheMaxExpire", $text{'mod_proxy_default'}, 6).
	$text{'mod_proxy_hours'});
}
sub save_CacheMaxExpire
{
return &parse_opt("CacheMaxExpire", '^\d+$',
                  $text{'mod_proxy_emaxexp'});
}

sub edit_CacheLastModifiedFactor
{
return (1, $text{'mod_proxy_expfac'},
        &opt_input($_[0]->{'value'}, "CacheLastModifiedFactor", $text{'mod_proxy_default'}, 6));
}
sub save_CacheLastModifiedFactor
{
return &parse_opt("CacheLastModifiedFactor", '^\d+$',
                  $text{'mod_proxy_eexpfac'});
}

sub edit_CacheDirLevels
{
return (1, $text{'mod_proxy_levels'},
        &opt_input($_[0]->{'value'}, "CacheDirLevels", $text{'mod_proxy_default'}, 6));
}
sub save_CacheDirLevels
{
return &parse_opt("CacheDirLevels", '^\d+$',
                  $text{'mod_proxy_elevels'});
}

sub edit_CacheDirLength
{
return (1, $text{'mod_proxy_length'},
        &opt_input($_[0]->{'value'}, "CacheDirLength", $text{'mod_proxy_default'}, 4));
}
sub save_CacheDirLength
{
return &parse_opt("CacheDirLength", '^\d+$',
                  $text{'mod_proxy_elength'});
}

sub edit_CacheDefaultExpire
{
return (1, $text{'mod_proxy_defexp'},
        &opt_input($_[0]->{'value'}, "CacheDefaultExpire", $text{'mod_proxy_default'}, 6).
	$text{'mod_proxy_hours'});
}
sub save_CacheDefaultExpire
{
return &parse_opt("CacheDefaultExpire", '^\d+$', $text{'mod_proxy_edefexp'});
}

sub edit_CacheForceCompletion
{
return (1, $text{'mod_proxy_finish'},
        &opt_input($_[0]->{'value'}, "CacheForceCompletion", $text{'mod_proxy_default'}, 6)."%");
}
sub save_CacheForceCompletion
{
return &parse_opt("CacheForceCompletion", '^\d+$',
		  $text{'mod_proxy_efinish'});
}

sub edit_NoCache
{
local($n, @n);
foreach $n (@{$_[0]}) { push(@n, $n->{'value'}); }
return (1, $text{'mod_proxy_nocache'},
        &opt_input(@n ? join(' ', @n) : undef, "NoCache", $text{'mod_proxy_none2'}, 20));
}
sub save_NoCache
{
return &parse_opt("NoCache", '\S', $text{'mod_proxy_enocache'});
}

1;

 0707010005c519000081e40000000000000002000000013d1fe2d10000056f000000200000000000000000000000000000001c00000003reloc/apache/change_dir.cgi   #!/usr/local/bin/perl
# change_dir.cgi
# Modify or delete a <Directory>, <Files> or <Location> clause

require './apache-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$d = $vconf->[$in{'idx'}];
&lock_file($d->{'file'});
$lref = &read_file_lines($d->{'file'});

if ($in{'delete'}) {
	# deleting a directive
	$conf = &get_config();
	$gap = $d->{'eline'} - $d->{'line'} + 1;
	splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1);
	splice(@$vconf, $in{'idx'}, 1);
	&renumber($conf, $d->{'line'}, $d->{'file'}, -$gap);
	}
else {
	# changing a directive
	&error_setup($text{'cdir_err2'});
	$in{'path'} || &error($text{'cdir_epath'});
	if ($in{'regexp'}) {
		$in{'type'} eq 'Proxy' && &error($text{'cdir_eproxy'});
		if ($httpd_modules{'core'} >= 1.3) {
			$newdir = "<$in{'type'}Match \"$in{'path'}\">";
			$enddir = "</$in{'type'}Match>";
			}
		else {
			$newdir = "<$in{'type'} ~ \"$in{'path'}\">";
			$enddir = "</$in{'type'}>";
			}
		}
	else {
		$newdir = "<$in{'type'} \"$in{'path'}\">";
		$enddir = "</$in{'type'}>";
		}
	$lref->[$d->{'line'}] = $newdir;
	$lref->[$d->{'eline'}] = $enddir;
	}
&flush_file_lines();
&unlock_file($d->{'file'});
&webmin_log("dir", $in{'delete'} ? 'delete' : 'save',
	    &virtual_name($v, 1).":".$d->{'words'}->[0], \%in);
&redirect("virt_index.cgi?virt=$in{'virt'}");

 0707010005c51a000081e40000000000000002000000013d1fe2d1000004ee000000200000000000000000000000000000001e00000003reloc/apache/change_files.cgi #!/usr/local/bin/perl
# change_files.cgi
# Modify or delete a <Files> clause in a .htaccess file

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
$hconf = &get_htaccess_config($in{'file'});
$d = $hconf->[$in{'idx'}];
&lock_file($d->{'file'});
$lref = &read_file_lines($d->{'file'});

if ($in{'delete'}) {
	# deleting a directive
	$gap = $d->{'eline'} - $d->{'line'} + 1;
	splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1);
	splice(@$hconf, $in{'idx'}, 1);
	&renumber($hconf, $d->{'line'}, $d->{'file'}, -$gap);
	}
else {
	# changing a directive
	if ($in{'regexp'}) {
		if ($httpd_modules{'core'} >= 1.3) {
			$newdir = "<FilesMatch \"$in{'path'}\">";
			$enddir = "</FilesMatch>";
			}
		else {
			$newdir = "<Files ~ \"$in{'path'}\">";
			$enddir = "</Files>";
			}
		}
	else {
		$newdir = "<Files \"$in{'path'}\">";
		$enddir = "</Files>";
		}
	$lref->[$d->{'line'}] = $newdir;
	$lref->[$d->{'eline'}] = $enddir;
	}
&flush_file_lines();
&unlock_file($d->{'file'});
&webmin_log("files", $in{'delete'} ? 'delete' : 'save',
	    "$in{'file'}:$d->{'words'}->[0]", \%in);
&redirect("htaccess_index.cgi?file=".&urlize($in{'file'}));

  0707010005c51b000081a40000000000000002000000013d1fe2d1000000c3000000200000000000000000000000000000001800000003reloc/apache/config-aix   httpd_path=/usr/local/bin/httpd
apachectl_path=/usr/local/bin/apachectl
httpd_conf=
httpd_dir=/usr/local
mime_types=
srm_conf=
access_conf=
show_list=0
show_order=0
max_servers=100
test_config=1
 0707010005c51c000081a40000000000000002000000013d1fe2d1000000ce000000200000000000000000000000000000002100000003reloc/apache/config-cobalt-linux  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
max_servers=100
test_config=1
  0707010005c51d000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002000000003reloc/apache/config-corel-linux   show_list=0
httpd_dir=/etc/apache
httpd_path=/usr/sbin/apache
httpd_conf=/etc/apache/httpd.conf
srm_conf=/etc/apache/srm.conf
access_conf=/etc/apache/access.conf
mime_types=/etc/apache/mime.types
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c51e000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002100000003reloc/apache/config-debian-linux  show_list=0
httpd_dir=/etc/apache
httpd_path=/usr/sbin/apache
httpd_conf=/etc/apache/httpd.conf
srm_conf=/etc/apache/srm.conf
access_conf=/etc/apache/access.conf
mime_types=/etc/apache/mime.types
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c51f000081a40000000000000002000000013d1fe2d10000014f000000200000000000000000000000000000001c00000003reloc/apache/config-freebsd   show_list=0
httpd_dir=/usr/local/etc/apache
httpd_path=/usr/local/sbin/httpd
apachectl_path=/usr/local/sbin/apachectl
httpd_conf=/usr/local/etc/apache/httpd.conf
mime_types=/usr/local/etc/apache/mime.types
srm_conf=/usr/local/etc/apache/srm.conf
access_conf=/usr/local/etc/apache/access.conf
show_order=0
max_servers=100
test_config=1
 0707010005c525000081a40000000000000002000000013d1fe2d1000000d8000000200000000000000000000000000000002200000003reloc/apache/config-generic-linux show_list=0
httpd_path=/usr/local/apache/bin/httpd
apachectl_path=/usr/local/apache/bin/apachectl
httpd_conf=
httpd_dir=/usr/local/apache
mime_types=
srm_conf=
access_conf=
show_order=0
max_servers=100
test_config=1
0707010005c526000081a40000000000000002000000013d1fe2d10000011f000000200000000000000000000000000000002100000003reloc/apache/config-gentoo-linux  show_list=0
httpd_dir=/etc/apache
httpd_path=/usr/sbin/apache
apachectl_path=/usr/sbin/apachectl
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
httpd_conf=/etc/apache/conf/apache.conf
mime_types=/etc/apache/conf/mime.types
show_order=0
max_servers=100
test_config=1
 0707010005c527000081a40000000000000002000000013d1fe2d1000000d8000000200000000000000000000000000000001900000003reloc/apache/config-hpux  show_list=0
httpd_path=/usr/local/apache/bin/httpd
apachectl_path=/usr/local/apache/bin/apachectl
httpd_conf=
httpd_dir=/usr/local/apache
mime_types=
srm_conf=
access_conf=
show_order=0
max_servers=100
test_config=1
0707010005c528000081a40000000000000002000000013d1fe2d1000000d8000000200000000000000000000000000000001900000003reloc/apache/config-irix  show_list=0
httpd_path=/usr/local/apache/bin/httpd
apachectl_path=/usr/local/apache/bin/apachectl
httpd_conf=
httpd_dir=/usr/local/apache
mime_types=
srm_conf=
access_conf=
show_order=0
max_servers=100
test_config=1
0707010005c55c000081a40000000000000002000000013d1fe2d1000090c9000000200000000000000000000000000000001500000003reloc/apache/core.pl  # core.pl
# Defines the core module directives

# core_directives(version)
# Returns ar array of references to associative arrays, each containing
# information about some directive. The keys of each array are:
#  name -	The name of this directive
#  type -	What kind of directive this in. Possible values are
#		0 - Processes and limits
#		1 - Networking and addresses
#		2 - Apache Modules
#		3 - Log files
#		4 - Access control
#		5 - document options
#		6 - MIME types
#		7 - Error handling
#		8 - Users and Groups
#		9 - Miscellaneous
#		10- Aliases and redirects
#		11- CGI programs
#		12- Directory indexing
#		13- Proxying
#		14- SSL
#		15- Perl
#		16- PHP
#		17- Vhost aliases
#		18- Filters
#		19- Character Sets
#  multiple -	Can this directive appear multiple times
#  global -	Can be used in the global server context
#  virtual -	Can be used in a VirtualHost section or in the global section
#  directory -	Can be used in a Directory section context
#  htaccess -	Can be used in a .htaccess file
sub core_directives
{
local($rv);
$rv = [	[ 'AccessFileName', 0, 5, 'virtual', undef, 5 ],
	[ 'AddDefaultCharset', 0, 19, 'virtual directory htaccess', 2.0 ],
	[ 'ClearModuleList AddModule', 1, 2, 'global' ],
	[ 'AllowOverride', 0, 5, 'directory' ],
	[ 'AuthName', 0, 4, 'directory htaccess', undef, 10 ],
	[ 'AuthType', 0, 4, 'directory htaccess', undef, 8 ],
	[ 'BindAddress Listen Port', 1, 1, 'global', -2.0 ],
	[ 'ContentDigest', 0, 5, 'virtual directory htaccess' ],
	[ 'CoreDumpDirectory', 0, 9, 'global', '1.3-2.0' ],
	[ 'DefaultType', 0, 6, 'virtual directory htaccess' ],
	[ 'DocumentRoot', 0, 5, 'virtual', undef, 10 ],
	[ 'ErrorDocument', 1, 7, 'virtual directory htaccess' ],
	[ 'ErrorLog', 0, 3, 'virtual' ],
	[ 'FileETag', 0, 5, 'virtual directory htaccess', 2.0 ],
	[ 'ForceType', 0, 6, 'directory htaccess', 2.0 ],
	[ 'Group', 0, 8, 'virtual', -2.0 ],
	[ 'HostNameLookups', 0, 1, 'virtual directory htaccess' ],
	[ 'IdentityCheck', 0, 1, 'virtual directory htaccess' ],
	[ 'KeepAlive MaxKeepAliveRequests', 0, 1, 'global' ],
	[ 'KeepAliveTimeout', 0, 1, 'global' ],
	[ 'ListenBacklog', 0, 1, 'global', '1.2-2.0' ],
	[ 'LockFile', 0, 9, 'global', -2.0 ],
	[ 'LimitRequestBody', 0, 0, 'virtual directory htaccess', 1.302 ],
	[ 'LimitRequestFields', 0, 0, 'global', 1.302 ],
	[ 'LimitRequestFieldsize', 0, 0, 'global', 1.302 ],
	[ 'LimitRequestLine', 0, 0, 'global', 1.302 ],
	[ 'LimitXMLRequestBody', 0, 0, 'virtual directory htaccess', 2.0 ],
	[ 'LogLevel', 0, 3, 'virtual', 2.0 ],
	[ 'MaxClients', 0, 0, 'global', -2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', -2.0 ],
	[ 'StartServers', 0, 0, 'global', -2.0 ],
	[ 'MinSpareServers', 0, 0, 'global', -2.0 ],
	[ 'MaxSpareServers', 0, 0, 'global', -2.0 ],
	[ 'NameVirtualHost', 1, 1, 'global', 1.3 ],
	[ 'Options', 0, 5, 'virtual directory htaccess', undef, 3 ],
	[ 'PidFile', 0, 9, 'global', -2.0 ],
	[ 'require', 0, 4, 'directory htaccess', undef, 6 ],
	[ 'RLimitCPU', 0, 0, 'virtual', 1.2 ],
	[ 'RLimitMEM', 0, 0, 'virtual', 1.2 ],
	[ 'RLimitNPROC', 0, 0, 'virtual', 1.2 ],
	[ 'Satisfy', 0, 4, 'directory htaccess', 1.2, 4 ],
	[ 'ScoreBoardFile', 0, 9, 'global', '1.2-2.0' ],
	[ 'SendBufferSize', 0, 1, 'global', -2.0 ],
	[ 'ServerAdmin', 0, 1, 'virtual' ],
	[ 'ServerAlias', 1, 1, 'virtual virtualonly', 1.2 ],
	[ 'ServerName', 0, 1, 'virtual' ],
	[ 'ServerPath', 0, 5, 'virtual' ],
	[ 'ServerType', 0, 9, 'global', -2.0 ],
	[ 'ServerTokens', 0, 9, 'global', 1.3 ],
	[ 'ServerSignature', 0, 5, 'virtual directory htaccess', 1.3 ],
	[ 'SetOutputFilter', 0, 18, 'virtual directory htaccess', 2.0 ],
	[ 'SetInputFilter', 0, 18, 'virtual directory htaccess', 2.0 ],
	[ 'TimeOut', 0, 1, 'global' ],
	[ 'UseCanonicalName', 0, 1, 'virtual directory htaccess', 1.3 ],
	[ 'User', 0, 8, 'virtual', -2.0, 10 ] ];
return &make_directives($rv, $_[0], "core");
}

# core_handlers(config, version)
# Returns an array of all available handlers
sub core_handlers
{
return ();
}

#########################################################################
# Process and limit directives
sub edit_MaxClients
{
return (1,
	$text{'core_maxconc'},
	&opt_input($_[0]->{'value'}, "MaxClients", $text{'core_default'}, 4));
}
sub save_MaxClients
{
return &parse_opt("MaxClients", '^\d+$',
		  $text{'core_emaxconc'});
}

sub edit_MaxKeepAliveRequests
{
return (1,
	$text{'core_maxkeep'},
	&opt_input($_[0]->{'value'}, "MaxKeepAliveRequests", $text{'core_default'}, 4));
}
sub save_MaxKeepAliveRequests
{
return &parse_opt("MaxKeepAliveRequests", '^\d+$',
		  $text{'core_emaxkeep'});
}

sub edit_MaxRequestsPerChild
{
return (1,
	$text{'core_maxreq'},
	&opt_input($_[0]->{'value'}, "MaxRequestsPerChild", $text{'core_default'}, 5));
}
sub save_MaxRequestsPerChild
{
return &parse_opt("MaxRequestsPerChild", '^\d+$',
		  $text{'core_emaxreq'});
}

sub edit_MinSpareServers
{
return (1,
	$text{'core_minspare'},
	&opt_input($_[0]->{'value'},"MinSpareServers",$text{'core_default'}, 4));
}
sub save_MinSpareServers
{
return &parse_opt("MinSpareServers", '^\d+$',
		  $text{'core_eminspare'});
}

sub edit_MaxSpareServers
{
return (1,
	$text{'core_maxspare'},
	&opt_input($_[0]->{'value'},"MaxSpareServers",$text{'core_default'}, 4));
}
sub save_MaxSpareServers
{
return &parse_opt("MaxSpareServers", '^\d+$',
		  $text{'core_emaxspare'});
}

sub edit_StartServers
{
return (1,
	$text{'core_initial'},
	&opt_input($_[0]->{'value'}, "StartServers", $text{'core_default'}, 4));
}
sub save_StartServers
{
return &parse_opt("StartServers", '^\d+$',
		  $text{'core_einitial'});
}

sub edit_RLimitCPU
{
return &rlimit_input("RLimitCPU", $text{'core_cpulimit'}, $_[0]);
}
sub save_RLimitCPU
{
return &parse_rlimit("RLimitCPU", $text{'core_cpulimit2'});
}

sub edit_RLimitMEM
{
return &rlimit_input("RLimitMEM", $text{'core_memlimit'}, $_[0]);
}
sub save_RLimitMEM
{
return &parse_rlimit("RLimitMEM", $text{'core_memlimit2'});
}

sub edit_RLimitNPROC
{
return &rlimit_input("RLimitNPROC", $text{'core_proclimit'}, $_[0]);
}
sub save_RLimitNPROC
{
return &parse_rlimit("RLimitNPROC", $text{'core_proclimit2'});
}

# rlimit_input(name, desc, value)
sub rlimit_input
{
local(@v, $rv);
@v = split(/\s+/, $_[2]->{'value'});
$rv = sprintf "<input type=radio name=$_[0]_mode value=0 %s> $text{'core_default'}<br>\n",
	@v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[0]_mode value=1 %s>\n",
	@v == 1 ? "checked" : "";
$rv .= sprintf "$text{'core_slimit'}<input name=$_[0]_soft1 size=5 value=\"%s\"><br>\n",
	@v == 1 ? $v[0] : "";
$rv .= sprintf "<input type=radio name=$_[0]_mode value=2 %s>\n",
	@v == 2 ? "checked" : "";
$rv .= sprintf "$text{'core_slimit'}<input name=$_[0]_soft2 size=5 value=\"%s\">\n",
	@v == 2 ? $v[0] : "";
$rv .= sprintf "$text{'core_hlimit'}<input name=$_[0]_hard2 size=5 value=\"%s\"><br>\n",
	@v == 2 ? $v[1] : "";
return (1, $_[1], $rv);
}

# parse_rlimit(name, desc)
sub parse_rlimit
{
if ($in{"$_[0]_mode"} == 0) { return ( [ ] ); }
elsif ($in{"$_[0]_mode"} == 1) {
	$in{"$_[0]_soft1"} =~ /^(\d+|max)$/ ||
		&error(&text('core_eslimit', $in{"$_[0]_soft1"}, $_[1]));
	return ( [ $in{"$_[0]_soft1"} ] );
	}
elsif ($in{"$_[0]_mode"} == 2) {
	$in{"$_[0]_soft2"} =~ /^(\d+|max)$/ ||
		&error(&text('core_eslimit', $in{"$_[0]_soft2"}, $_[1]));
	$in{"$_[0]_hard2"} =~ /^(\d+|max)$/ ||
		&error(&text('core_ehlimit', $in{"$_[0]_hard2"}, $_[1]));
	return ( [ $in{"$_[0]_soft2"}." ".$in{"$_[0]_hard2"} ] );
	}
}


#########################################################################
# Networking and address directives
sub edit_BindAddress_Listen_Port
{
local($bref, $lref, $pref, @blist, @plist, $inp);
$bref = $_[0]; $lref = $_[1]; $pref = $_[2];
if (@$lref) {
	# listen directives in use.. so BindAddress and Port are unused
	foreach $l (@$lref) {
		if ($l->{'value'} =~ /^(\S+):(\d+)$/) {
			push(@blist, $1); push(@plist, $2);
			}
		elsif ($l->{'value'} =~ /^(\d+)$/) {
			push(@blist, "*"); push(@plist, $1);
			}
		elsif ($l->{'value'} =~ /^(\S+)$/) {
			push(@blist, $1); push(@plist, undef);
			}
		}
	}
else {
	# no listen directives... check for BindAddress
	if (@$bref) { push(@blist, $bref->[@$bref-1]->{'value'}); }
	else { push(@blist, "*"); }
	push(@plist, undef);
	}
$port = @$pref ? $pref->[@$pref-1]->{'value'} : 80;
if ($_[3]->{'version'} < 2.0) {
	$inp = "<b>$text{'core_dport'}</b> <input name=Port size=6 value=\"$port\"><br>\n";
	}
$inp .=	"<table border>\n".
	"<tr $tb> <td><b>$text{'core_address'}</b></td> <td><b>$text{'core_port'}</b></td> </tr>\n";
for($i=0; $i<@blist+1; $i++) {
	$inp .= sprintf
		"<tr><td><input type=radio name=BindAddress_def_$i value=2 %s>".
		" $text{'core_none'} <input type=radio name=BindAddress_def_$i value=1 %s>".
		" $text{'core_all'} <input type=radio name=BindAddress_def_$i value=0 %s> ".
		"<input name=BindAddress_$i size=20 value=\"%s\"></td>",
		$blist[$i] ? "" : "checked",
		$blist[$i] eq "*" ? "checked" : "",
		$blist[$i] && $blist[$i] ne "*" ? "checked" : "",
		$blist[$i] eq "*" ? "" : $blist[$i];
	if ($_[3]->{'version'} < 2.0) {
		$inp .= "<td>".&opt_input($plist[$i], "Port_$i", "$text{'core_default'}", 5)."</td>";
		}
	else {
		$inp .= "<td><input name=Port_$i size=5 value='$plist[$i]'></td>\n";
		}
	}
$inp .= "</table>\n";
return (2, $text{'core_listen'}, $inp);
}
sub save_BindAddress_Listen_Port
{
local(@blist, @plist, $bdef, $b, $p);

# build list of addresses and ports
for($i=0; defined($in{"Port_$i"}); $i++) {
	$bdef = $in{"BindAddress_def_$i"}; $b = $in{"BindAddress_$i"};
	$pdef = $in{"Port_${i}_def"}; $p = $in{"Port_$i"};
	if ($bdef == 2) { next; }

	if ($bdef) { push(@blist, "*"); }
	elsif ($b =~ /^\S+$/ && gethostbyname($b)) { push(@blist, $b); }
	else { &error(&text('core_eaddress', $b)); }

	if ($pdef) { push(@plist, undef); }
	elsif ($p =~ /^\d+$/) { push(@plist, $p); }
	else { &error(&text('core_eport', $p)); }
	}
if (!@blist) { &error($text{'core_eoneaddr'}); }

# Return directives
if ($_[0]->{'version'} < 2.0) {
	# Older apaches have a port directive as well
	$in{'Port'} =~ /^\d+$/ || &error($text{'core_edefport'});
	if (@blist == 1 && !$plist[0]) {
		# Only one address, and the default port
		return ( $blist[0] eq "*" ? [ ] : [ $blist[0] ], [ ],
			 [ $in{'Port'} ] );
		}
	else {
		# More than one address, or a non-default port. Must use Listens
		for($i=0; $i<@blist; $i++) {
			if ($blist[$i] ne "*" && $plist[$i]) {
				push(@l, "$blist[$i]:$plist[$i]");
				}
			elsif ($blist[$i] ne "*") { push(@l, $blist[$i]); }
			elsif ($plist[$i]) { push(@l, "*:$plist[$i]"); }
			else { push(@l, $in{'Port'}); }
			}
		return ( [], \@l, [ $in{'Port'} ] );
		}
	}
else {
	# Apache 2.0 just uses Listen directives
	for($i=0; $i<@blist; $i++) {
		if ($blist[$i] ne "*" && $plist[$i]) {
			push(@l, "$blist[$i]:$plist[$i]");
			}
		elsif ($blist[$i] ne "*") { push(@l, $blist[$i]); }
		else { push(@l, "*:$plist[$i]"); }
		}
	return ( [], \@l );
	}
}

sub edit_KeepAlive_MaxKeepAliveRequests
{
$kref = $_[0]; $mref = $_[1];
if ($_[2]->{'version'} >= 1.2) {
	# two separate directives for keep-alives
	$inp = sprintf
		"<input type=radio name=KeepAlive_def value=0 %s> $text{'core_none'}\n".
		"<input type=radio name=KeepAlive_def value=1 %s> $text{'core_default'}\n".
		"<input type=radio name=KeepAlive_def value=2 %s> ".
		"<input name=KeepAlive size=5 value=\"%s\">",
		$kref->{'value'} =~ /off/i ? "checked" : "",
		$kref->{'value'} !~ /off/i && !$mref ? "checked" : "",
		$mref ? "checked" : "",
		$mref ? $mref->{'value'} : "";
	}
else {
	# only one directive
	$inp = sprintf
		"<input type=radio name=KeepAlive_def value=0 %s> $text{'core_none'}\n".
		"<input type=radio name=KeepAlive_def value=1 %s> $text{'core_default'}\n".
		"<input type=radio name=KeepAlive_def value=2 %s> ".
		"<input name=KeepAlive size=5 value=\"%s\">",
		$kref->{'value'} eq "0" ? "checked" : "",
		$kref ? "" : "checked" ,
		$kref->{'value'} ? "checked" : "",
		$kref->{'value'} ? $kref->{'value'} : "";
	}
return (1, $text{'core_multi'}, $inp);
}
sub save_KeepAlive_MaxKeepAliveRequests
{
if ($_[0]->{'version'} >= 1.2) {
	# two separate directives
	if ($in{'KeepAlive_def'} == 0) { return ( [ "off" ], [ ] ); }
	elsif ($in{'KeepAlive_def'} == 1) { return ( [ "on" ], [ ] ); }
	elsif ($in{'KeepAlive'} !~ /^\d+$/) {
		&error(&text('core_ekeep', $in{'KeepAlive'}));
		}
	else { return ( [ "on" ], [ $in{'KeepAlive'} ] ); }
	}
else {
	# only one directive
	if ($in{'KeepAlive_def'} == 0) { return ( [ 0 ], [ ] ); }
	elsif ($in{'KeepAlive_def'} == 1) { return ( [ ], [ ] ); }
	elsif ($in{'KeepAlive'} !~ /^\d+$/) {
		&error(&text('core_ekeep', $in{'KeepAlive'}));
		}
	else { return ( [ $in{'KeepAlive'} ], [ ] ); }
	}
}

sub edit_KeepAliveTimeout
{
return (1,
	$text{'core_keeptout'},
	&opt_input($_[0]->{'value'}, "KeepAliveTimeout", $text{'core_default'}, 5));
}
sub save_KeepAliveTimeout
{
return &parse_opt("KeepAliveTimeout", '^\d+$',
		  $text{'core_ekeeptout'});
}

sub edit_ListenBacklog
{
return (1,
	$text{'core_lqueue'},
	&opt_input($_[0]->{'value'}, "ListenBacklog", $text{'core_default'}, 4));
}
sub save_ListenBacklog
{
return &parse_opt("ListenBacklog", '^\d+$',
		  $text{'core_elqueue'});
}

sub edit_SendBufferSize
{
return (1,
	$text{'core_bufsize'},
	&opt_input($_[0]->{'value'}, "SendBufferSize", $text{'core_osdefault'}, 4));
}
sub save_SendBufferSize
{
return &parse_opt("SendBufferSize", '^\d+$',
		  $text{'core_ebufsize'});
}

sub edit_ServerAdmin
{
return (1, $text{'core_admin'},
        &opt_input($_[0]->{'value'}, "ServerAdmin", $text{'core_noadmin'}, 25));
}
sub save_ServerAdmin
{
return &parse_opt("ServerAdmin");
}

sub edit_TimeOut
{
return (1,
	$text{'core_rtout'},
	&opt_input($_[0]->{'value'}, "TimeOut", $text{'core_default'}, 4));
}
sub save_TimeOut
{
return &parse_opt("TimeOut", '^\d+$',
		  $text{'core_ertout'});
}

sub edit_UseCanonicalName
{
return (1, $text{'core_bhostname'},
        &choice_input($_[0]->{'value'}, "UseCanonicalName",
	               "", "$text{'yes'},off", "$text{'no'},on", "$text{'core_default'},"));
}
sub save_UseCanonicalName
{
return &parse_choice("UseCanonicalName", "");
}

sub edit_HostNameLookups
{
if ($_[1]->{'version'} >= 1.3) {
	return (1, $text{'core_lookup'},
		&choice_input($_[0]->{'value'}, "HostNameLookups", "",
		       "$text{'no'},off", "$text{'yes'},on", "$text{'core_ltwice'},double", "$text{'core_default'},"));
	}
else {
	return (1, $text{'core_lookup'},
		&choice_input($_[0]->{'value'}, "HostNameLookups", "",
			      "$text{'yes'},on", "$text{'no'},off", "$text{'core_default'},"));
	}
}
sub save_HostNameLookups
{
return &parse_choice("HostNameLookups", "");
}

sub edit_IdentityCheck
{
return (1, $text{'core_useauth'},
	&choice_input($_[0]->{'value'}, "IdentityCheck", "",
		      "$text{'yes'},on", "$text{'no'},off", "$text{'core_default'},"));
}
sub save_IdentityCheck
{
return &parse_choice("IdentityCheck", "");
}

sub edit_ServerAlias
{
local($a, @al);
foreach $a (@{$_[0]}) { push(@al, split(/\s+/, $a->{'value'})); }
return (1, $text{'core_altnames'},
	sprintf "<textarea name=ServerAlias rows=3 cols=25>%s</textarea>\n",
		join("\n", @al) );
}
sub save_ServerAlias
{
local(@al);
@al = split(/\s+/, $in{'ServerAlias'});
if (@al) { return ( [ join(' ', @al) ] ) }
else { return ( [ ] ); }
}

sub edit_ServerName
{
return (1, $text{'core_hostname'},
	&opt_input($_[0]->{'value'}, "ServerName", $text{'core_auto'}, 25));
}
sub save_ServerName
{
return &parse_opt("ServerName", '^\S+$', $text{'core_ehostname'});
}

sub edit_NameVirtualHost
{
local(@nv, $nv);
foreach $nv (@{$_[0]}) { push(@nv, $nv->{'value'}); }
return (1, $text{'core_virtaddr'},
	"<textarea name=NameVirtualHost rows=3 cols=30>".
	join("\n", @nv)."</textarea>");
}
sub save_NameVirtualHost
{
local(@nv, $nv, $addr);
@nv = split(/\s+/, $in{'NameVirtualHost'});
foreach $nv (@nv) {
	if ($nv =~ /^(\S+):(\d+|\*)$/) { $addr = $1; }
	else { $addr = $nv; }
	if (!gethostbyname($addr) && $addr ne '*') {
		&error(&text('core_evirtaddr', $addr));
		}
	}
if (@nv) { return ( \@nv ); }
else { return ( [ ] ); }
}

#########################################################################
# Document directives
sub edit_AccessFileName
{
return (1,
        $text{'core_optfile'},
        &opt_input($_[0]->{'value'}, "AccessFileName", $text{'core_default'}, 20));
}
sub save_AccessFileName
{
if ($_[0]->{'version'} < 1.3) {
	return &parse_opt("AccessFileName", '^(\S+)$',
	                  $text{'core_eoptfile'});
	}
else {
	return &parse_opt("AccessFileName", '\S',
			     $text{'core_enoopt'});
	}
}

@AllowOverride_v = ("AuthConfig", "FileInfo", "Indexes", "Limit", "Options");
@AllowOverride_d = ("$text{'core_auth'}", "$text{'core_mime'}",
                    "$text{'core_indexing'}", "$text{'core_hostacc'}",
                    "$text{'core_diropts'}");
sub edit_AllowOverride
{
local($rv, @ov, %over, $rv);
$rv = &choice_input($_[0] ? 0 : 1, "AllowOverride_def", 1,
		 "$text{'core_default'},1", "$text{'core_filesel'},0");
$rv .= "<table border><tr><td>\n";
if ($_[0]) { @ov = split(/\s+/, $_[0]->{'value'}); }
else { @ov = ("All"); }
foreach $ov (@ov) { $over{$ov}++; }
if ($over{'All'}) { foreach $ov (@AllowOverride_v) { $over{$ov}++; }	}
elsif ($over{'None'}) { %over = (); }

for($i=0; $i<@AllowOverride_v; $i++) {
	$rv .= sprintf "<input type=checkbox name=AllowOverride_%s %s> %s<br>\n",
	        $AllowOverride_v[$i],
	        $over{$AllowOverride_v[$i]} ? "checked" : "",
	        $AllowOverride_d[$i];
	}
$rv .= "</td></tr></table>\n";
return (1, $text{'core_overr'}, $rv);
}
sub save_AllowOverride
{
local(@ov, $ov);
if ($in{'AllowOverride_def'}) { return ( [ ] ); }
foreach $ov (@AllowOverride_v) {
	if ($in{"AllowOverride_$ov"}) { push(@ov, $ov); }
	}
if (!@ov) { return ( [ "None" ] ); }
elsif (@ov == @AllowOverride_v) { return ( [ "All" ] ); }
else { return ( [ join(' ', @ov) ] ); }
}

sub edit_ContentDigest
{
return (1,
	$text{'core_genmd5'},
	&choice_input($_[0]->{'value'}, "ContentDigest", "",
		      "$text{'yes'},on", "$text{'no'},off", "$text{'core_default'},"));
}
sub save_ContentDigest
{
return &parse_choice("ContentDigest", "");
}

sub edit_DocumentRoot
{
return (2, $text{'core_docroot'},
	&opt_input($_[0]->{'words'}->[0], "DocumentRoot", $text{'core_default'}, 40).
	&file_chooser_button("DocumentRoot", 1));
}
sub save_DocumentRoot
{
$in{'DocumentRoot_def'} || -d $in{'DocumentRoot'} ||
	&error(&text('core_enodoc', $in{'DocumentRoot'}));
return &parse_opt("DocumentRoot");
}

sub edit_Options
{
local(@po, @o, $o, %opts, $opts, $po, @pon, $i);
@po = ("ExecCGI", "FollowSymLinks", "Includes", "IncludesNOEXEC",
       "Indexes", "MultiViews", "SymLinksIfOwnerMatch");
@pon = ("$text{'core_execcgi'}", "$text{'core_flink'}",
	"$text{'core_inclexe'}", "$text{'core_incl'}",
	"$text{'core_genind'}", "$text{'core_genmview'}",
	"$text{'core_flinkmatch'}");
$opts = &choice_input($_[0] ? 0 : 1, "Options_def", 1, "$text{'core_default'},1",
		      "$text{'core_optsel'},0")."<br>\n";
@o = split(/\s+/, $_[0]->{'value'});
foreach $o (split(/\s+/, $_[0]->{'value'})) {
	if ($o =~ /^\+(.*)$/) { $opts{$1} = 2; }
	elsif ($o =~ /^\-(.*)$/) { $opts{$1} = 3; }
	else { $opts{$o} = 1; }
	}
if ($opts{'All'}) {
	local($all); $all = $opts{'All'};
	undef(%opts);
	foreach $o (grep {!/MultiViews/} @po) {
		$opts{$o} = $all;
		}
	}
$opts .= "<table border>\n";
$opts .= "<tr $tb> <td><b>$text{'core_option'}</b></td> <td><b>$text{'core_setdir'}</b></td>\n";
$opts .= "<td><b>$text{'core_merge'}</b></td> </tr>\n";
for($i=0; $i<@po; $i++) {
	$po = $po[$i];
	$opts .= "<tr $cb> <td><b>$pon[$i]</b></td> <td>\n";
	$opts .= sprintf "<input type=radio name=$po value=1 %s> $text{'yes'}\n",
			$opts{$po}==1 ? "checked" : "";
	$opts .= sprintf "<input type=radio name=$po value=0 %s> $text{'no'}\n",
			$opts{$po}==0 ? "checked" : "";
	$opts .= "</td> <td>\n";
	$opts .= sprintf "<input type=radio name=$po value=2 %s> $text{'core_enable'}\n",
			$opts{$po}==2 ? "checked" : "";
	$opts .= sprintf "<input type=radio name=$po value=3 %s> $text{'core_disable'}\n",
			$opts{$po}==3 ? "checked" : "";
	$opts .= "</td> </tr>\n";
	}
$opts .= "</table>\n";
return (2, $text{'core_diropts'}, $opts);
}
sub save_Options
{
local(@po, $po, @rv);
if ($in{'Options_def'}) { return ( [ ] ); }
@po = ("ExecCGI", "FollowSymLinks", "Includes", "IncludesNOEXEC",
       "Indexes", "MultiViews", "SymLinksIfOwnerMatch");
foreach $po (@po) {
	if ($in{$po} == 1) { push(@rv, $po); }
	elsif ($in{$po} == 2) { push(@rv, "+$po"); }
	elsif ($in{$po} == 3) { push(@rv, "-$po"); }
	}
return @rv ? ( [ join(' ', @rv) ] ) : ( [ "None" ] );
}

sub edit_ServerPath
{
return (2,
	$text{'core_virtpath'},
	&opt_input($_[0]->{'value'}, "ServerPath", $text{'core_default'}, 40).
	&file_chooser_button("ServerPath", 1));
}
sub save_ServerPath
{
return &parse_opt("ServerPath", '^\/\S*$',
		  $text{'core_evirtpath'});
}

sub edit_ServerSignature
{
return (1, $text{'core_footer'},
	&choice_input($_[0]->{'value'}, "ServerSignature", undef,
		      "$text{'core_sigemail'},Email", "$text{'core_signame'},On",
		      "$text{'core_signone'},Off", "$text{'core_default'},"));
}
sub save_ServerSignature
{
return &parse_choice("ServerSignature", undef);
}

sub edit_FileETag
{
local (%et, $rv);
map { $et{lc($_)}++ } @{$_[0]->{'words'}} if ($_[0]);
$rv .= sprintf "<input type=radio name=FileETag_def value=1 %s> %s\n",
			$_[0] ? "" : "checked", $text{'default'};
$rv .= sprintf "<input type=radio name=FileETag_def value=0 %s> %s\n",
			$_[0] ? "checked" : "", $text{'core_fileetag_sel'};
foreach $e ('INode', 'MTime', 'Size') {
	$rv .= sprintf "<input type=checkbox name=FileETag value=%s %s> %s\n",
			$e, $et{lc($e)} || $et{'all'} ? "checked" : "",
			$text{'core_fileetag_'.lc($e)};
	}
return (2, $text{'core_fileetag'}, $rv);
}
sub save_FileETag
{
if ($in{'FileETag_def'}) {
	return ( [ ] );
	}
else {
	local @e = split(/\0/, $in{'FileETag'});
	return @e ? ( [ join(" ", @e) ] ) : ( [ "None" ] );
	}
}

#########################################################################
# MIME directives directives
sub edit_DefaultType
{
return (1,
	$text{'core_defmime'},
	&opt_input($_[0]->{'value'}, "DefaultType", $text{'core_default'}, 20));
}
sub save_DefaultType
{
return &parse_opt("DefaultType", '^(\S+)\/(\S+)$',
		  $text{'core_edefmime'});
}

sub edit_ForceType
{
return (1, $text{'mod_mime_defmime'},
	&opt_input($_[0]->{'value'}, "ForceType", $text{'mod_mime_real'}, 15));
}
sub save_ForceType
{
return &parse_opt("ForceType", '^\S+\/\S+$', $text{'mod_mime_etype'});
}

sub edit_SetOutputFilter
{
local @vals = split(/[\s;]+/, $_[0]->{'value'});
return (2, $text{'core_outfilter'},
	&filters_input(\@vals, "SetOutputFilter"));
}
sub save_SetOutputFilter
{
return &parse_filters("SetOutputFilter");
}

sub edit_SetInputFilter
{
local @vals = split(/[\s;]+/, $_[0]->{'value'});
return (2, $text{'core_infilter'},
	&filters_input(\@vals, "SetInputFilter"));
}
sub save_SetInputFilter
{
return &parse_filters("SetInputFilter");
}

sub edit_AddDefaultCharset
{
local $rv;
local $m = lc($_[0]->{'value'}) eq 'off' ? 2 :
	   $_[0]->{'value'} ? 0 : 1;
$rv .= sprintf "<input type=radio name=AddDefaultCharset_def value=1 %s> %s\n",
		$m == 1 ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=AddDefaultCharset_def value=2 %s> %s\n",
		$m == 2 ? 'checked' : "", $text{'core_none'};
$rv .= sprintf "<input type=radio name=AddDefaultCharset_def value=0 %s>\n",
		$m == 0 ? "checked" : "";
$rv .= sprintf "<input name=AddDefaultCharset size=12 value='%s'>\n",
		$m == 0 ? $_[0]->{'value'} : "";
return (1, $text{'core_defchar'}, $rv);
}
sub save_AddDefaultCharset
{
if ($in{'AddDefaultCharset_def'} == 1) {
	return ( [ ] );
	}
elsif ($in{'AddDefaultCharset_def'} == 2) {
	return ( [ "Off" ] );
	}
else {
	$in{'AddDefaultCharset'} =~ /^\S+$/ || &error($text{'core_edefchar'});
	return ( [ $in{'AddDefaultCharset'} ] );
	}
}

#########################################################################
# Access control directives
sub edit_AuthName
{
my $val = $_[1]->{'version'} >= 1.3 ? $_[0]->{'words'}->[0]
				    : $_[0]->{'value'};
return (1, $text{'core_realm'},
        &opt_input($val, "AuthName", $text{'core_default'}, 25));
}
sub save_AuthName
{
return $in{'AuthName_def'}	 ? ( [ ] ) :
       $_[0]->{'version'} >= 1.3 ? ( [ "\"$in{'AuthName'}\"" ] ) :
				   ( [ $in{'AuthName'} ] );
}

sub edit_AuthType
{
local($rv, $a);
$rv = "<select name=AuthType>\n";
foreach $a ("", "Basic", "Digest") {
	$rv .= sprintf "<option %s>$a\n",
	        lc($_[0]->{'value'}) eq lc($a) ? "selected" : "";
	}
$rv .= "</select>";
return (1, $text{'core_authtype'}, $rv);
}
sub save_AuthType
{
if ($in{'AuthType'}) { return ( [ $in{'AuthType'} ] ); }
else { return ( [ ] ); }
}

sub edit_require
{
local($rv, $mode, $list);
$_[0]->{'value'} =~ /^(\S+)\s*(.*)$/; $mode = $1; $list = $2;
$rv = sprintf
      "<input type=radio name=require_mode value=0 %s> $text{'default'}<br>\n",
      $mode ? "" : "checked";
$rv .= sprintf
      "<input type=radio name=require_mode value=1 %s> $text{'core_users'}:\n",
      $mode eq "user" ? "checked" : "";
$rv .= sprintf
      "<input name=require_user size=20 value=\"%s\"><br>\n",
      $mode eq "user" ? $list : "";
$rv .= sprintf
      "<input type=radio name=require_mode value=2 %s> $text{'core_groups'}:\n",
      $mode eq "group" ? "checked" : "";
$rv .= sprintf
      "<input name=require_group size=20 value=\"%s\"><br>\n",
      $mode eq "group" ? $list : "";
$rv .= sprintf
      "<input type=radio name=require_mode value=3 %s> $text{'core_allusers'}:<br>\n",
      $mode eq "valid-user" ? "checked" : "";
return (1, $text{'core_authlog'}, $rv);
}
sub save_require
{
if ($in{'require_mode'} == 0) { return ( [ ] ); }
elsif ($in{'require_mode'} == 1) { return ( [ "user $in{'require_user'}" ] ); }
elsif ($in{'require_mode'} == 2) { return ( [ "group $in{'require_group'}" ] ); }
else { return ( [ "valid-user" ] ); }
}

sub edit_Satisfy
{
return (1, $text{'core_satisfy'},
	&choice_input_vert($_[0]->{'value'}, "Satisfy", "", "$text{'core_default'},",
			   "$text{'core_authall'},all","$text{'core_authany'},any"));
}
sub save_Satisfy
{
return &parse_choice("Satisfy", "");
}

#########################################################################
# Misc. directives
sub edit_CoreDumpDirectory
{
return (1, $text{'core_coredir'},
	 &opt_input($_[0]->{'value'}, "CoreDumpDirectory", $text{'core_sroot'}, 20).
	 &file_chooser_button("CoreDumpDirectory", 1));
}
sub save_CoreDumpDirectory
{
return &parse_opt("CoreDumpDirectory", '^\S+$', $text{'core_ecore'});
}

sub edit_LockFile
{
return (1, $text{'core_lockfile'},
        &opt_input($_[0]->{'value'}, "LockFile", $text{'core_default'}, 20).
        &file_chooser_button("LockFile", 0));
}
sub save_LockFile
{
return &parse_opt("LockFile", '^\S+', $text{'core_elock'});
}

sub edit_LimitRequestBody
{
return (1, $text{'core_maxbody'},
	&opt_input($_[0]->{'value'}, "LimitRequestBody", $text{'core_default'}, 8)
		.$text{'bytes'});
}
sub save_LimitRequestBody
{
return &parse_opt("LimitRequestBody", '^\d+$', $text{'core_ebody'});
}

sub edit_LimitXMLRequestBody
{
return (1, $text{'core_maxxml'},
	&opt_input($_[0]->{'value'}, "LimitXMLRequestBody",
		   $text{'core_default'}, 8).$text{'bytes'});
}
sub save_LimitXMLRequestBody
{
return &parse_opt("LimitXMLRequestBody", '^\d+$', $text{'core_exml'});
}



sub edit_LimitRequestFields
{
return (1, $text{'core_maxhead'},
	&opt_input($_[0]->{'value'}, "LimitRequestFields", $text{'core_default'}, 6));
}
sub save_LimitRequestFields
{
return &parse_opt("LimitRequestFields", '^\d+$', $text{'core_ehead'});
}

sub edit_LimitRequestFieldsize
{
return (1, $text{'core_maxshead'},
	&opt_input($_[0]->{'value'}, "LimitRequestFieldsize", $text{'core_default'}, 6));
}
sub save_LimitRequestFieldsize
{
return &parse_opt("LimitRequestFieldsize", '^\d+$', $text{'core_eshead'});
}

sub edit_LimitRequestLine
{
return (1, $text{'core_maxline'},
	&opt_input($_[0]->{'value'}, "LimitRequestLine", $text{'core_default'}, 6));
}
sub save_LimitRequestLine
{
return &parse_opt("LimitRequestLine", '^\d+$', $text{'core_eline'});
}

sub edit_PidFile
{
return (1, $text{'core_pid'},
        &opt_input($_[0]->{'value'}, "PidFile", $text{'core_default'}, 20).
        &file_chooser_button("PidFile", 0));
}
sub save_PidFile
{
return &parse_opt("PidFile", '^\S+$', $text{'core_epid'});
}

sub edit_ScoreBoardFile
{
return (1, $text{'core_memsco'},
        &opt_input($_[0]->{'value'}, "ScoreBoardFile", $text{'core_default'}, 20).
        &file_chooser_button("ScoreBoardFile", 0));
}
sub save_ScoreBoardFile
{
return &parse_opt("ScoreBoardFile", '^\S+$', $text{'core_escore'});
}

sub edit_ServerType
{
return (1, $text{'core_exec'},
        &choice_input($_[0]->{'value'}, "ServerType", "standalone",
                      "$text{'core_salone'},standalone", "$text{'core_inetd'},inetd"));
}
sub save_ServerType
{
return &parse_choice("ServerType", "standalone");
}

sub edit_ServerTokens
{
local $v = $_[0]->{'value'};
$v = "ProductOnly" if ($v eq "Prod");
return (1, $text{'core_header'},
	&select_input($v, "ServerTokens", "Full",
		      "$text{'core_verosmod'},Full",
		      "$text{'core_veros'},OS", "$text{'core_ver'},Min",
		      $_[1]->{'version'} >= 1.313 ?
			("$text{'core_product'},ProductOnly") : ()));
}
sub save_ServerTokens
{
return &parse_select("ServerTokens", "Full");
}

#########################################################################
# User/group directives
sub edit_Group
{
local($rv, @ginfo);
$rv = sprintf "<input type=radio name=Group value=0 %s>$text{'core_default'}&nbsp;\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=Group value=1 %s>$text{'core_group'}\n",
        $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "";
$rv .= sprintf "<input name=Group_name size=8 value=\"%s\"> %s&nbsp;\n",
	$_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "",
	&group_chooser_button("Group_name", 0);
$rv .= sprintf "<input type=radio name=Group value=2 %s>$text{'core_gid'}\n",
        $_[0]->{'value'} =~ /^#/ ? "checked" : "";
$rv .= sprintf "<input name=Group_id size=6 value=\"%s\">\n",
	 $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : "";
return (2, $text{'core_asgroup'}, $rv);
}
sub save_Group
{
if ($in{'Group'} == 0) { return ( [ ] ); }
elsif ($in{'Group'} == 1) { return ( [ $in{'Group_name'} ] ); }
elsif ($in{'Group_id'} !~ /^\-?\d+$/) {
	&error(&text('core_euid', $in{'Group_id'}));
	}
else { return ( [ "#$in{'Group_id'}" ] ); }
}

sub edit_User
{
local($rv, @uinfo);
$rv = sprintf "<input type=radio name=User value=0 %s>$text{'core_default'}&nbsp;\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=User value=1 %s>$text{'core_user'}\n",
        $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "";
$rv .= sprintf "<input name=User_name size=8 value=\"%s\"> %s&nbsp;\n",
	$_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "",
	&user_chooser_button("User_name", 0);
$rv .= sprintf "<input type=radio name=User value=2 %s>$text{'core_uid'}\n",
        $_[0]->{'value'} =~ /^#/ ? "checked" : "";
$rv .= sprintf "<input name=User_id size=6 value=\"%s\">\n",
	 $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : "";
return (2, $text{'core_asuser'}, $rv);
}
sub save_User
{
if ($in{'User'} == 0) { return ( [ ] ); }
elsif ($in{'User'} == 1) { return ( [ $in{'User_name'} ] ); }
elsif ($in{'User_id'} !~ /^\-?\d+$/) {
	&error(&text('core_egid', $in{'User_id'}));
	}
else { return ( [ "#$in{'User_id'}" ] ); }
}

#########################################################################
# Error handling directives
sub edit_ErrorDocument
{
local($rv, $len, $i);
$rv = "<table border width=100%>\n";
$rv .= "<tr $tb> <td><b>$text{'core_error'}</b></td> <td><b>$text{'core_resp'}</b></td> ".
       "<td><b>$text{'core_urlmsg'}</b></td> </tr>\n";
$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
	$v = $_[0]->[$i]->{'value'};
	if ($v =~ /^(\d+)\s+((http|ftp|gopher):\S+)$/)
		{ $code = $1; $type = 0; $url = $2; }
	elsif ($v =~ /^(\d+)\s+(\/.*)$/) { $code = $1; $type = 0; $url = $2; }
	elsif ($v =~ /^(\d+)\s+"(.*)"$/) { $code = $1; $type = 1; $url = $2; }
	elsif ($v =~ /^(\d+)\s+"?(.*)$/) { $code = $1; $type = 1; $url = $2; }
	else { $code = ""; $type = 0; $url = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=ErrorDocument_code_$i size=3 value=$code></td>\n";
	$rv .= "<td><input type=radio name=ErrorDocument_type_$i value=0 ".
	       ($type==0 ? "checked" : "").">$text{'core_tourl'}\n";
	$rv .= "<input type=radio name=ErrorDocument_type_$i value=1 ".
	       ($type==1 ? "checked" : "").">$text{'core_mesg'}</td>\n";
	$rv .= "<td><input name=ErrorDocument_url_$i size=40 value=\"$url\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'core_custom'}, $rv);
}
sub save_ErrorDocument
{
local($i, $code, $url, @rv);
for($i=0; defined($in{"ErrorDocument_code_$i"}); $i++) {
	$code = $in{"ErrorDocument_code_$i"}; $url = $in{"ErrorDocument_url_$i"};
	if ($code !~ /\S/ || $url !~ /\S/) { next; }
	$code =~ /^\d\d\d$/ || &error(&text('core_eerror', $code));
	if ($in{"ErrorDocument_type_$i"} == 0) {
		$url =~ /^\S+$/ || &error(&text('core_eurl', $url));
		push(@rv, "$code $url");
		}
	elsif ($_[0]->{'version'} >= 2.0) { push(@rv, "$code \"$url\""); }
	elsif ($_[0]->{'version'} >= 1.2) { push(@rv, "$code \"$url"); }
	else { push(@rv, "$code $url"); }
	}
return ( \@rv );
}

#########################################################################
# Logging directives
sub edit_ErrorLog
{
if ($_[1]->{'version'} < 1.3) {
	return (1, $text{'core_errfile'},
		&opt_input($_[0]->{'value'}, "ErrorLog", $text{'core_default'}, 20).
		&file_chooser_button("ErrorLog", 0));
	}
else {
	local $v = $_[0]->{'words'}->[0];
	local $t = !$v ? 3 :
		   $v eq 'syslog' ? 2 :
		   $v =~ /^\|/ ? 1 : 0;
	$rv = sprintf "<input type=radio name=ErrorLog_type value=3 %s>\n",
		$t == 3 ? "checked" : "";
	$rv .= "$text{'core_default'}";
	$rv .= sprintf "<input type=radio name=ErrorLog_type value=2 %s>\n",
		$t == 2 ? "checked" : "";
	$rv .= "$text{'core_syslog'}<br>\n";
	$rv .= sprintf "<input type=radio name=ErrorLog_type value=0 %s>\n",
		$t == 0 ? "checked" : "";
	$rv .= sprintf "$text{'core_filelog'}<input name=ErrorLog_file size=25 value='%s'>\n",
		$t == 0 ? $v : "";
	$rv .= sprintf "<input type=radio name=ErrorLog_type value=1 %s>\n",
		$t == 1 ? "checked" : "";
	$rv .= sprintf "$text{'core_proglog'}<input name=ErrorLog_prog size=25 value='%s'><br>\n",
		$t == 1 ? substr($v, 1) : "";
	return (2, $text{'core_logto'}, $rv);
	}
}
sub save_ErrorLog
{
if ($_[0]->{'version'} < 1.3) {
	$in{'ErrorLog_def'} || &allowed_auth_file($in{'ErrorLog'}) ||
		&error($text{'core_edirlog'});
	return &parse_opt("ErrorLog", '^\S+$', $text{'core_efilelog'});
	}
else {
	if ($in{'ErrorLog_type'} == 3) {
		return ( [ ] );
		}
	elsif ($in{'ErrorLog_type'} == 0) {
		$in{'ErrorLog_file'} =~ /\S/ ||
		    &error($text{'core_efilemiss'});
		&allowed_auth_file($in{'ErrorLog_file'}) ||
		    &error($text{'core_edirlog'});
		return ( [ $in{'ErrorLog_file'} ] );
		}
	elsif ($in{'ErrorLog_type'} == 1) {
		$in{'ErrorLog_prog'} =~ /\S/ ||
		    &error($text{'core_eprogmiss'});
		$access{'pipe'} ||
		    &error($text{'core_eperm'});
		return ( [ "\"|$in{'ErrorLog_prog'}\"" ] );
		}
	else {
		return ( [ "syslog" ] );
		}
	}
}

sub edit_LogLevel
{
return (1, $text{'core_loglevel'},
	&select_input($_[0]->{'value'}, "LogLevel", "",
		      "$text{'core_log_emerg'} (emerg),emerg",
		      "$text{'core_log_alert'} (alert),alert",
		      "$text{'core_log_crit'} (crit),crit",
		      "$text{'core_log_error'} (error),error",
		      "$text{'core_log_warn'} (warn),warn",
		      "$text{'core_log_notice'} (notice),notice",
		      "$text{'core_log_info'} (info),info",
		      "$text{'core_log_debug'} (debug),debug"));
}
sub save_LogLevel
{
return &parse_select("LogLevel", "");
}

#########################################################################
# Module directives
sub edit_ClearModuleList_AddModule
{
local($mods, @allmods, $d, %mods, $m, $i, $rv);
($ver, $mods) = &httpd_info($config{'httpd_path'});
@allmods = grep { !/^core$/ } @$mods;
local $conf = &get_config();
foreach $d (&find_directive_struct("LoadModule", $conf)) {
	if ($d->{'words'}->[1] =~ /(mod_\S+)\.(so|dll)/) {
		push(@allmods, $1);
		}
	elsif ($d->{'words'}->[1] =~ /lib([^\/\s]+)\.(so|dll)/) {
		push(@allmods, "mod_$1");
		}
	}

if (@{$_[0]}) {
	# Only selected modules have been enabled
	foreach $d (@{$_[1]}) {
		local $modc = $d->{'value'};
		$modc =~ s/\.c$//;
		$mods{$modc} = "checked";
		}
	}
else { foreach $m (@allmods) { $mods{$m} = "checked"; } }
$rv = &choice_input(@{$_[0]} ? 1 : 0, "ClearModuleList", 1,
		    "$text{'core_allmod'},0", "$text{'core_selmod'},1")."<br>\n";
$rv .= "<table>\n";
foreach $m (@allmods) {
	if ($i%4 == 0) { $rv .= "<tr>\n"; }
	$rv .= "<td><input name=AddModule type=checkbox value=$m $mods{$m}> $m</td>\n";
	if ($i++%4 == 3) { $rv .= "</tr>\n"; }
	}
$rv .= "</table>\n";
return (2, $text{'core_actmod'}, $rv);
}
sub save_ClearModuleList_AddModule
{
if ($in{'ClearModuleList'}) {
	local @mods = split(/\0/, $in{'AddModule'});
	return ( [ "" ], [ map { $_.".c" } @mods ] );
	}
else { return ( [ ], [ ] ); }
}

1;

   0707010005c529000081a40000000000000002000000013d1fe2d10000018e000000200000000000000000000000000000001e00000003reloc/apache/config-lfs-linux httpd_path=/usr/apache/bin/httpd
stop_cmd=/usr/apache/bin/apachectl stop
httpd_conf=/usr/apache/conf/httpd.conf
start_cmd=/usr/apache/bin/apachectl start
apachectl_path=/usr/apache/bin/apachectl
httpd_dir=/usr/apache
show_order=0
mime_types=/usr/apache/conf/mime.types
show_list=0
virt_file=
srm_conf=/usr/apache/conf/srm.conf
access_conf=/usr/apache/conf/access.conf
max_servers=100
test_config=1
  0707010005c52a000081a40000000000000002000000013d1fe2d1000001ac000000200000000000000000000000000000001a00000003reloc/apache/config-macos httpd_path=/usr/sbin/apache
apachectl_path=/usr/sbin/apachectl
start_cmd=
httpd_dir=/Local/Library/WebServer
virt_file=
access_conf=/Local/Library/WebServer/Configuration/access.conf
srm_conf=/Local/Library/WebServer/Configuration/srm.conf
stop_cmd=
httpd_conf=/Local/Library/WebServer/Configuration/apache.conf
show_list=0
mime_types=/Local/Library/WebServer/Configuration/mime.types
show_order=0
max_servers=100
test_config=1
0707010005c52b000081a40000000000000002000000013d1fe2d100000115000000200000000000000000000000000000001e00000003reloc/apache/config-macos-1.3 httpd_path=/usr/sbin/httpd
apachectl_path=/usr/sbin/apachectl
start_cmd=
httpd_dir=/etc/httpd
virt_file=
access_conf=/dev/null
srm_conf=/dev/null
stop_cmd=
httpd_conf=/etc/httpd/httpd.conf
show_list=0
mime_types=/etc/httpd/mime.types
show_order=0
max_servers=100
test_config=1
   0707010005c52c000081a40000000000000002000000013d1fe2d100000115000000200000000000000000000000000000001e00000003reloc/apache/config-macos-1.4 httpd_path=/usr/sbin/httpd
apachectl_path=/usr/sbin/apachectl
start_cmd=
httpd_dir=/etc/httpd
virt_file=
access_conf=/dev/null
srm_conf=/dev/null
stop_cmd=
httpd_conf=/etc/httpd/httpd.conf
show_list=0
mime_types=/etc/httpd/mime.types
show_order=0
max_servers=100
test_config=1
   0707010005c52d000081a40000000000000002000000013d1fe2d100000110000000200000000000000000000000000000002300000003reloc/apache/config-mandrake-linux    show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
defines=HAVE_PERL HAVE_PHP HAVE_PHP3 HAVE_PHP4 HAVE_DAV HAVE_ROAMING HAVE_SSL SSL
test_config=1
0707010005c52e000081a40000000000000002000000013d1fe2d1000000c4000000200000000000000000000000000000001e00000003reloc/apache/config-msc-linux show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/init.d/httpd start
stop_cmd=/etc/init.d/httpd stop
show_order=0
max_servers=100
test_config=1
0707010005c52f000081a40000000000000002000000013d1fe2d10000013c000000200000000000000000000000000000001b00000003reloc/apache/config-netbsd    show_list=0
httpd_dir=/usr/pkg/etc/httpd
httpd_path=/usr/pkg/sbin/httpd
apachectl_path=/usr/pkg/sbin/apachectl
httpd_conf=/usr/pkg/etc/httpd/httpd.conf
mime_types=/usr/pkg/etc/httpd/mime.types
srm_conf=/usr/pkg/etc/httpd/srm.conf
access_conf=/usr/pkg/etc/httpd/access.conf
show_order=0
max_servers=100
test_config=1
0707010005c531000081a40000000000000002000000013d1fe2d100000110000000200000000000000000000000000000002300000003reloc/apache/config-open-linux-2.3    show_list=0
httpd_dir=/etc/httpd/apache
httpd_path=/usr/sbin/httpd.apache
mime_types=/etc/mime.types
stop_cmd=/etc/rc.d/init.d/httpd stop
start_cmd=/etc/rc.d/init.d/httpd start
show_order=0
defines=AUTH_MYSQL DAV JSERV PERL PHP3 PHP4 ROAMING
max_servers=100
test_config=1
0707010005c532000081a40000000000000002000000013d1fe2d100000102000000200000000000000000000000000000002400000003reloc/apache/config-open-linux-2.3e   show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
stop_cmd=/etc/rc.d/init.d/httpd stop
start_cmd=/etc/rc.d/init.d/httpd start
show_order=0
defines=AUTH_MYSQL DAV JSERV PERL PHP3 PHP4 ROAMING
max_servers=100
test_config=1
  0707010005c533000081a40000000000000002000000013d1fe2d100000102000000200000000000000000000000000000002300000003reloc/apache/config-open-linux-2.4    show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
stop_cmd=/etc/rc.d/init.d/httpd stop
start_cmd=/etc/rc.d/init.d/httpd start
show_order=0
defines=AUTH_MYSQL DAV JSERV PERL PHP3 PHP4 ROAMING
max_servers=100
test_config=1
  0707010005c534000081a40000000000000002000000013d1fe2d100000163000000200000000000000000000000000000002300000003reloc/apache/config-open-linux-2.5    show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
stop_cmd=/etc/rc.d/init.d/httpd stop
start_cmd=/etc/rc.d/init.d/httpd start
show_order=0
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
defines=AUTH_MYSQL DAV JSERV PERL PHP3 PHP4 ROAMING
max_servers=100
test_config=1
 0707010005c535000081a40000000000000002000000013d1fe2d100000163000000200000000000000000000000000000002400000003reloc/apache/config-open-linux-3.1e   show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
stop_cmd=/etc/rc.d/init.d/httpd stop
start_cmd=/etc/rc.d/init.d/httpd start
show_order=0
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
defines=AUTH_MYSQL DAV JSERV PERL PHP3 PHP4 ROAMING
max_servers=100
test_config=1
 0707010005c536000081a40000000000000002000000013d1fe2d100000116000000200000000000000000000000000000001c00000003reloc/apache/config-openbsd   show_list=0
httpd_dir=/var/www
httpd_path=/usr/sbin/httpd
apachectl_path=/usr/sbin/apachectl
httpd_conf=/var/www/conf/httpd.conf
mime_types=/var/www/conf/mime.types
srm_conf=/var/www/conf/srm.conf
access_conf=/var/www/conf/access.conf
show_order=0
max_servers=100
test_config=1
  0707010005c537000081a40000000000000002000000013d1fe2d100000164000000200000000000000000000000000000001f00000003reloc/apache/config-openserver    show_list=0
httpd_path=/usr/local/lib/apache/bin/httpd
apachectl_path=/usr/local/lib/apache/bin/apachectl
httpd_conf=/usr/local/lib/apache/conf/httpd.conf
httpd_dir=/usr/local/lib/apache
mime_types=/usr/local/lib/apache/conf/mime.types
srm_conf=
access_conf=
start_cmd=/etc/apache start
stop_cmd=/etc/apache stop
show_order=0
max_servers=100
test_config=1
0707010005c538000081a40000000000000002000000013d1fe2d1000000d8000000200000000000000000000000000000001900000003reloc/apache/config-osf1  show_list=0
httpd_path=/usr/local/apache/bin/httpd
apachectl_path=/usr/local/apache/bin/apachectl
httpd_conf=
httpd_dir=/usr/local/apache
mime_types=
srm_conf=
access_conf=
show_order=0
max_servers=100
test_config=1
0707010005c539000081a40000000000000002000000013d1fe2d1000000ce000000200000000000000000000000000000002100000003reloc/apache/config-redhat-linux  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
max_servers=100
test_config=1
  0707010005c53a000081a40000000000000002000000013d1fe2d100000120000000200000000000000000000000000000002500000003reloc/apache/config-redhat-linux-7.0  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
defines=HAVE_PERL HAVE_PHP HAVE_PHP3 HAVE_PHP4 HAVE_DAV HAVE_ROAMING HAVE_SSL SSL
max_servers=100
test_config=1
0707010005c543000081a40000000000000002000000013d1fe2d1000000d8000000200000000000000000000000000000001c00000003reloc/apache/config-solaris   show_list=0
httpd_path=/usr/local/apache/bin/httpd
apachectl_path=/usr/local/apache/bin/apachectl
httpd_conf=
httpd_dir=/usr/local/apache
mime_types=
srm_conf=
access_conf=
show_order=0
max_servers=100
test_config=1
0707010005c53b000081a40000000000000002000000013d1fe2d100000120000000200000000000000000000000000000002500000003reloc/apache/config-redhat-linux-7.1  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
defines=HAVE_PERL HAVE_PHP HAVE_PHP3 HAVE_PHP4 HAVE_DAV HAVE_ROAMING HAVE_SSL SSL
max_servers=100
test_config=1
0707010005c53c000081a40000000000000002000000013d1fe2d100000120000000200000000000000000000000000000002500000003reloc/apache/config-redhat-linux-7.2  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
defines=HAVE_PERL HAVE_PHP HAVE_PHP3 HAVE_PHP4 HAVE_DAV HAVE_ROAMING HAVE_SSL SSL
max_servers=100
test_config=1
0707010005c53d000081a40000000000000002000000013d1fe2d100000120000000200000000000000000000000000000002500000003reloc/apache/config-redhat-linux-7.3  show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
defines=HAVE_PERL HAVE_PHP HAVE_PHP3 HAVE_PHP4 HAVE_DAV HAVE_ROAMING HAVE_SSL SSL
max_servers=100
test_config=1
0707010005c53e000081a40000000000000002000000013d1fe2d10000006b000000200000000000000000000000000000002400000003reloc/apache/config-slackware-linux   show_list=0
httpd_dir=/var/lib/httpd
httpd_path=/usr/sbin/httpd
show_order=0
max_servers=100
test_config=1
 0707010005c53f000081a40000000000000002000000013d1fe2d1000000f4000000200000000000000000000000000000002800000003reloc/apache/config-slackware-linux-7.0   httpd_path=/var/lib/apache/sbin/httpd
start_cmd=
apachectl_path=/var/lib/apache/sbin/apachectl
httpd_dir=/var/lib/apache
virt_file=
access_conf=
srm_conf=
stop_cmd=
httpd_conf=
mime_types=
show_order=0
show_list=0
max_servers=100
test_config=1
0707010005c540000081a40000000000000002000000013d1fe2d1000000f4000000200000000000000000000000000000002800000003reloc/apache/config-slackware-linux-7.1   httpd_path=/var/lib/apache/sbin/httpd
start_cmd=
apachectl_path=/var/lib/apache/sbin/apachectl
httpd_dir=/var/lib/apache
virt_file=
access_conf=
srm_conf=
stop_cmd=
httpd_conf=
mime_types=
show_order=0
show_list=0
max_servers=100
test_config=1
0707010005c541000081a40000000000000002000000013d1fe2d10000011b000000200000000000000000000000000000002800000003reloc/apache/config-slackware-linux-8.0   max_servers=100
httpd_dir=/etc/apache
httpd_path=/usr/sbin/httpd
show_list=0
show_order=0
test_config=1
httpd_conf=/etc/apache/httpd.conf
stop_cmd=
start_cmd=
access_conf=/etc/apache/access.conf
srm_conf=/etc/apache/srm.conf
virt_file=
mime_types=
apachectl_path=/usr/sbin/apachectl
 0707010005c542000081a40000000000000002000000013d1fe2d20000011b000000200000000000000000000000000000002800000003reloc/apache/config-slackware-linux-8.1   max_servers=100
httpd_dir=/etc/apache
httpd_path=/usr/sbin/httpd
show_list=0
show_order=0
test_config=1
httpd_conf=/etc/apache/httpd.conf
stop_cmd=
start_cmd=
access_conf=/etc/apache/access.conf
srm_conf=/etc/apache/srm.conf
virt_file=
mime_types=
apachectl_path=/usr/sbin/apachectl
 0707010005c544000081a40000000000000002000000013d1fe2d100000135000000200000000000000000000000000000001f00000003reloc/apache/config-suse-linux    show_list=0
httpd_dir=/usr/local/httpd
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
mime_types=/etc/httpd/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=/sbin/init.d/apache start
stop_cmd=/sbin/init.d/apache stop
show_order=0
max_servers=100
test_config=1
   0707010005c545000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002300000003reloc/apache/config-suse-linux-7.1    show_list=0
httpd_dir=/usr/local/httpd
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
mime_types=/etc/httpd/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c546000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002300000003reloc/apache/config-suse-linux-7.2    show_list=0
httpd_dir=/usr/local/httpd
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
mime_types=/etc/httpd/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c547000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002300000003reloc/apache/config-suse-linux-7.3    show_list=0
httpd_dir=/usr/local/httpd
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
mime_types=/etc/httpd/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c548000081a40000000000000002000000013d1fe2d100000133000000200000000000000000000000000000002300000003reloc/apache/config-suse-linux-8.0    show_list=0
httpd_dir=/usr/local/httpd
httpd_conf=/etc/httpd/httpd.conf
srm_conf=/etc/httpd/srm.conf
access_conf=/etc/httpd/access.conf
mime_types=/etc/httpd/mime.types
httpd_path=/usr/sbin/httpd
start_cmd=/etc/init.d/apache start
stop_cmd=/etc/init.d/apache stop
show_order=0
max_servers=100
test_config=1
 0707010005c549000081a40000000000000002000000013d1fe2d1000000ce000000200000000000000000000000000000002000000003reloc/apache/config-turbo-linux   show_list=0
httpd_dir=/etc/httpd
httpd_path=/usr/sbin/httpd
mime_types=/etc/mime.types
start_cmd=/etc/rc.d/init.d/httpd start
stop_cmd=/etc/rc.d/init.d/httpd stop
show_order=0
max_servers=100
test_config=1
  0707010005c54a000081a40000000000000002000000013d1fe2d100000164000000200000000000000000000000000000001d00000003reloc/apache/config-unixware  show_list=0
httpd_path=/usr/local/lib/apache/bin/httpd
apachectl_path=/usr/local/lib/apache/bin/apachectl
httpd_conf=/usr/local/lib/apache/conf/httpd.conf
httpd_dir=/usr/local/lib/apache
mime_types=/usr/local/lib/apache/conf/mime.types
srm_conf=
access_conf=
start_cmd=/etc/apache start
stop_cmd=/etc/apache stop
show_order=0
max_servers=100
test_config=1
0707010005c54b000081a40000000000000002000000013d1fe2d1000002f6000000200000000000000000000000000000001900000003reloc/apache/config.info  httpd_dir=Apache server root directory,0
httpd_path=Path to httpd executable,0
httpd_version=Apache version,3,Work out automatically
apachectl_path=Path to the apachectl command,3,None
start_cmd=Command to start apache,3,Automatic
stop_cmd=Command to stop apache,3,Automatic
show_list=Display virtual servers as,1,0-Icons,1-List
show_order=Order virtual servers by,1,0-Order in config files,1-Server name,2-IP Address
max_servers=Maximum number of servers to display,0,5
httpd_conf=Path to httpd.conf,3,Automatic
srm_conf=Path to srm.conf,3,Automatic
access_conf=Path to access.conf,3,Automatic
mime_types=Path to mime.types,3,Automatic
virt_file=File to add virtual servers to,3,httpd.conf
test_config=Test config file before applying changes?,1,1-Yes,0-No
  0707010005c54c000081a40000000000000002000000013d1fe2d10000030e000000200000000000000000000000000000001c00000003reloc/apache/config.info.ca   httpd_dir=Directori arrel del servidor Apache,0
httpd_path=Camí de l'executable httpd,0
apachectl_path=Camí de l'ordre apachectl,3,Cap
start_cmd=Ordre per iniciar Apache,3,Automàtica
stop_cmd=Ordre per aturar Apache,3,Automàtica
show_list=Mostra els servidors virtuals com,1,0-Icones,1-Llista
show_order=Ordena els servidors virtuals per,1,0-L'ordre dels fitxers de configuració,1-Nom de Servidor,2-Adreça IP
max_servers=Nombre màxim de servidors a mostrar,0,5
httpd_conf=Camí de httpd.conf,3,Automàtic
srm_conf=Camí de srm.conf,3,Automàtic
access_conf=Camí de access.conf,3,Automàtic
mime_types=Camí de mime.types,3,Automàtic
virt_file=Fitxer on s'afegeixen els servidors virtuals,3,httpd.conf
test_config=Comprova el fitxer de configuració abans d'aplicar els canvis,1,1-Sí,0-No

  0707010005c54d000081a40000000000000002000000013d1fe2d1000002a9000000200000000000000000000000000000001c00000003reloc/apache/config.info.de   httpd_dir=Apache Server Root Verzeichnis,0
httpd_path=Pfad zur ausf&uuml;hrbaren Datei httpd,0
apachectl_path=Pfad zum apachectl Kommando,3,None
start_cmd=Kommando zum starten von Apache,3,Automatisch
stop_cmd=Kommando zum stoppen von Apache,3,Automatisch
show_list=Zeige virtuelle Server an als,1,0-Icons,1-Liste
show_order=Sortiere virtuelle Server nach,1,0-Reihenfolge in Konfigurationsdatei(en),1-Server Name,2-IP Adresse
httpd_conf=Pfad zu httpd.conf,3,Automatisch
srm_conf=Pfad zu srm.conf,3,Automatisch
access_conf=Pfad zu access.conf,3,Automatisch
mime_types=Pfad zu mime.types,3,Automatisch
virt_file=Datei der virtuelle Server hinzugef&uuml;gt werden sollen,3,httpd.conf
   0707010005c54e000081a40000000000000002000000013d1fe2d1000002e7000000200000000000000000000000000000001c00000003reloc/apache/config.info.es   httpd_dir=Directorio raíz de servidor Apache,0
httpd_path=Trayectoria a ejecutable httpd,0
apachectl_path=Trayectoria a comando apachectl,3,Ninguna
start_cmd=Comando para arrancar apache,3,Automático
stop_cmd=Comando para parar apache,3,Automático
show_list=Mostrar servidores virtuales como,1,0-Iconos,1-Lista
show_order=Ordenar servidores virtuales por,1,0-Orden en archivos de configuración,1-Nombre de servidor,2-Dirección IP
max_servers=Máximo número de servidores a mostrar,0,5
httpd_conf=Trayectoria a httpd.conf,3,Automática
srm_conf=Trayectoria a srm.conf,3,Automática
access_conf=Trayectoria a access.conf,3,Automática
mime_types=Trayectoria a mime.types,3,Automática
virt_file=Archivo donde añadir servidores virtuales,3,httpd.conf
 0707010005c54f000081a40000000000000002000000013d1fe2d1000002c7000000200000000000000000000000000000001c00000003reloc/apache/config.info.fr   httpd_dir=Répertoire racine d'Apache,0
httpd_path=Chemin de l'exécutable httpd,0
apachectl_path=Chemin pour la commande apachectl,3,Aucun
start_cmd=Commande pour démarrer apache,3,Automatique
stop_cmd=Commande pour arrêter apache,3,Automatique
show_list=Affichage tout serveur virtuel comme,1,0-Icônes,1-Liste
show_order=Ordre des serveurs virtuels,1,0-Ordre dans le fichier de configuration,1-Nom de serveur,2-Adresse IP
httpd_conf=Chemin du fichier httpd.conf,3,Automatique
srm_conf=Chemin du fichier srm.conf,3,Automatique
access_conf=Chemin du fichier access.conf,3,Automatique
mime_types=Chemin du fichier mime.types,3,Automatique
virt_file=Fichier pour ajouter un serveur virtuel,3,httpd.conf
 0707010005c550000081a40000000000000002000000013d1fe2d1000002dc000000200000000000000000000000000000001c00000003reloc/apache/config.info.hu   httpd_dir=Apache kiszolgáló gyökérkönyvtár,0
httpd_path=Útvonal a futtatható httpd-hez,0
apachectl_path=Útvonal az apachectl parancshoz,3,Nincs
start_cmd=Parancs az apache elindításához,3,Automatikus
stop_cmd=Parancs az apache megállításához,3,Automatikus
show_list=Virtuális kiszolgák megjelenítése mint,1,0-Ikon,1-Lista
show_order=Virtuális kiszolgálók rendszerezése,1,0-A konfigurációs fájlok sorrendje szerint,1-Kiszolgáló neve alapján,2-IP-cím alapján
httpd_conf=Útvonal a httpd.conf-hoz,3,Automatikus
srm_conf=Útvonal az srm.conf-hoz,3,Automatikus
access_conf=Útvonal az access.conf-hoz,3,Automatikus
mime_types=Útvonal az mime.types-hoz,3,Automatikus
virt_file=Virtuális kiszolgálók hozzáadása az alábbi fájlhoz,3,httpd.conf
0707010005c551000081a40000000000000002000000013d1fe2d100000221000000200000000000000000000000000000002300000003reloc/apache/config.info.ja_JP.euc    httpd_dir=Apache¥µ¡¼¥Ð¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê,0
httpd_path=httpd¤Î¼Â¹Ô²ÄÇ½¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹,0
apachectl_path=apachectl¥³¥Þ¥ó¥É¤Î¥Ñ¥¹,3,¤Ê¤·
start_cmd=apache¤òµ¯Æ°¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É,3,¼«Æ°
stop_cmd=apache¤òÄä»ß¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É,3,¼«Æ°
show_list=²¾ÁÛ¥µ¡¼¥Ð¤ÎÉ½¼¨ÊýË¡,1,0-¥¢¥¤¥³¥ó,1-¥ê¥¹¥È
show_order=²¾ÁÛ¥µ¡¼¥Ð¤ÎÊÂ¤Ó½ç,1,0-ÀßÄê¥Õ¥¡¥¤¥ë½ç,1-¥µ¡¼¥ÐÌ¾,2-IP¥¢¥É¥ì¥¹
httpd_conf=httpd.conf¤Î¥Ñ¥¹,3,¼«Æ°
srm_conf=srm.conf¤Î¥Ñ¥¹,3,¼«Æ°
access_conf=access.conf¤Î¥Ñ¥¹,3,¼«Æ°
mime_types=mime.types¤Î¥Ñ¥¹,3,¼«Æ°
virt_file=²¾ÁÛ¥µ¡¼¥Ð¤òÄÉ²Ã¤¹¤ë¥Õ¥¡¥¤¥ë,3,httpd.conf
   0707010005c552000081a40000000000000002000000013d1fe2d100000287000000200000000000000000000000000000001c00000003reloc/apache/config.info.nl   httpd_dir=Apache server hoofd directory,0
httpd_path=Pad naar httpd programma,0
apachectl_path=Pad naar het apachectl commando,3,een
start_cmd=Commando om apache te starten,3,Automatisch
stop_cmd=Commando om apache te stoppen,3,Automatisch
show_list=Geef virtuele servers weer als,1,0-Iconen,1-Lijst
show_order=Sorteer virtuele servers op,1,0-Volgorde in configuratie bestand,1-Servernaam,2-IP Adres
httpd_conf=Pad naar httpd.conf,3,Automatisch
srm_conf=Pad naar srm.conf,3,Automatisch
access_conf=Pad naar access.conf,3,Automatisch
mime_types=Pad naar mime.types,3,Automatisch
virt_file=Bestand om virtuele servers aan toe te voegen,3,httpd.conf
 0707010005c553000081a40000000000000002000000013d1fe2d100000346000000200000000000000000000000000000001c00000003reloc/apache/config.info.pl   httpd_dir=Katalog g³ówny serwera Apache,0
httpd_path=¦cie¿ka do pliku programu httpd,0
apachectl_path=¦cie¿ka do polecenia apachectl,3,Brak
start_cmd=Polecenie uruchamiaj±ce apache'a,3,Automatycznie
stop_cmd=Polecenie zatrzymuj±ce apache'a,3,Automatycznie
show_list=Wy¶wietlanie serwerów wirtualnych jako,1,0-Ikony,1-Listê
show_order=Kolejno¶æ serwerów wirtualnych wg,1,0-Porz±dku w&nbsp;plikach konfiguracyjnych,1-Nazwy servera,2-Adresu IP
max_servers=Maksymalna liczba wy¶wietlanych serwerów,0,5
httpd_conf=¦cie¿ka do httpd.conf,3,Automatycznie
srm_conf=¦cie¿ka do srm.conf,3,Automatycznie
access_conf=¦cie¿ka do access.conf,3,Automatycznie
mime_types=¦cie¿ka do mime.types,3,Automatycznie
virt_file=Serwery wirtualne dodawane w&nbsp;pliku,3,httpd.conf
test_config=Sprawdzaæ plik konfiguracyjny przed zastosowaniem zmian?,1,1-Tak,0-Nie
  0707010005c554000081a40000000000000002000000013d1fe2d10000034a000000200000000000000000000000000000001f00000003reloc/apache/config.info.pt_BR    httpd_dir=Diretório raíz do servidor Apache,0
httpd_path=Caminho do executável httpd,0
apachectl_path=Caminho do comando apachectl,3,Nenhum
start_cmd=Comando para iniciar o apache,3,Automático
stop_cmd=Comando para parar o apache,3,Automático
show_list=Mostrar servidores virtuais como,1,0-Ícones,1-Lista
show_order=Ordenar servidores virtuais por,1,0-Ordem no arquivo de configuração,1-Nome do servidor,2-Endereço IP
max_servers=Número máximo de servidores a mostrar,0,5
httpd_conf=Caminho do arquivo httpd.conf,3,Automático
srm_conf=Caminho do arquivo srm.conf,3,Automático
access_conf=Caminho do arquivo access.conf,3,Automático
mime_types=Caminho do arquivo mime.types,3,Automático
virt_file=Arquivo de configuração de servidores virtuais,3,httpd.conf
test_config=Testar arquivo de configuração antes de aplicar alterações?,1,1-Sim,0-Não
  0707010005c555000081a40000000000000002000000013d1fe2d100000293000000200000000000000000000000000000001f00000003reloc/apache/config.info.ru_RU    httpd_path=Ïóòü ê èñïëîíÿåìîìó ìîäóëþ httpd,0
start_cmd=Êîìàíäà äëÿ ñòàðòà apache,3,Àâòîìàòè÷åñêè
apachectl_path=Ïóòü ê êîìàíäå apachectl,3,Íåò
httpd_dir=Êîðíåâîé êàòàëîã ñåðâåðà Apache,0
virt_file=Ôàéë äëÿ äîáàâëåíèÿ âèðòóàëüíûõ ñåðâåðîâ,3,httpd.conf
access_conf=Ïóòü ê access.conf,3,Àâòîìàòè÷åñêè
srm_conf=Ïóòü ê srm.conf,3,Àâòîìàòè÷åñêè
stop_cmd=Êîìàíäà äëÿ îñòàíîâêè apache,3,Àâòîìàòè÷åñêè
httpd_conf=Ïóòü ê httpd.conf,3,Àâòîìàòè÷åñêè
mime_types=Ïóòü ê mime.types,3,Àâòîìàòè÷åñêè
show_list=Ïîêàçûâàòü âèðòóàëüíûå ñåðâåðû êàê,1,0-Ïèêòîãðàììû,1-Ñïèñîê
show_order=Óïîðÿäî÷èòü âèðòóàëüíûå ñåðâåðû ïî,1,0-Êîíôèãóðàöèîííûì ôàéëàì,1-Èìåíàì ñåðâåðîâ,2-IP Àäðåñàì
 0707010005c556000081a40000000000000002000000013d1fe2d100000293000000200000000000000000000000000000001f00000003reloc/apache/config.info.ru_SU    httpd_dir=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ ÓÅÒ×ÅÒÁ Apache,0
httpd_path=ðÕÔØ Ë ÉÓÐÌÏÎÑÅÍÏÍÕ ÍÏÄÕÌÀ httpd,0
apachectl_path=ðÕÔØ Ë ËÏÍÁÎÄÅ apachectl,3,îÅÔ
start_cmd=ëÏÍÁÎÄÁ ÄÌÑ ÓÔÁÒÔÁ apache,3,á×ÔÏÍÁÔÉÞÅÓËÉ
stop_cmd=ëÏÍÁÎÄÁ ÄÌÑ ÏÓÔÁÎÏ×ËÉ apache,3,á×ÔÏÍÁÔÉÞÅÓËÉ
show_list=ðÏËÁÚÙ×ÁÔØ ×ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÙ ËÁË,1,0-ðÉËÔÏÇÒÁÍÍÙ,1-óÐÉÓÏË
show_order=õÐÏÒÑÄÏÞÉÔØ ×ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÙ ÐÏ,1,0-ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÍ ÆÁÊÌÁÍ,1-éÍÅÎÁÍ ÓÅÒ×ÅÒÏ×,2-IP áÄÒÅÓÁÍ
httpd_conf=ðÕÔØ Ë httpd.conf,3,á×ÔÏÍÁÔÉÞÅÓËÉ
srm_conf=ðÕÔØ Ë srm.conf,3,á×ÔÏÍÁÔÉÞÅÓËÉ
access_conf=ðÕÔØ Ë access.conf,3,á×ÔÏÍÁÔÉÞÅÓËÉ
mime_types=ðÕÔØ Ë mime.types,3,á×ÔÏÍÁÔÉÞÅÓËÉ
virt_file=æÁÊÌ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ×ÉÒÔÕÁÌØÎÙÈ ÓÅÒ×ÅÒÏ×,3,httpd.conf
 0707010005c557000081a40000000000000002000000013d1fe2d10000027b000000200000000000000000000000000000001c00000003reloc/apache/config.info.sv   httpd_dir=Apacheserver-rotkatalog,0
httpd_path=Sökväg till exekverbar httpd-fil,0
apachectl_path=Sökväg till kommando apachectl,3,Inget
start_cmd=Kommando för att starta apache,3,Automatisk
stop_cmd=Kommando för att stoppa apache,3,Automatisk
show_list=Visa virtuella servrar som,1,0-Ikoner,1-Lista
show_order=Sortera virtuella servrar,1,0-konfigurationsfilordning,1-servernamn,2-IP-adress
httpd_conf=Sökväg till httpd.conf,3,Automatisk
srm_conf=Sökväg till srm.conf,3,Automatisk
access_conf=Sökväg till access.conf,3,Automatisk
mime_types=Sökväg till mime.types,3,Automatisk
virt_file=Lägg till virtuella servrar i filen,3,httpd.conf
 0707010005c558000081a40000000000000002000000013d1fe2d100000284000000200000000000000000000000000000001c00000003reloc/apache/config.info.tr   httpd_dir=Apache sunucusu root dizini,0
httpd_path=httpd çalýþtýrýlabilirinin yolu,0
apachectl_path=apachectl komutunun yolu ,3,None
start_cmd=Apache'yi baþlatma komutu,3,Automatic
stop_cmd=Apache'yi durdurma komutu,3,Automatic
show_list=Sanal sunucularý þu þekilde görüntüle,1,0-Icons,1-List
show_order=Sanal sunucularýn görüntülenmesi,1,0-Yapýlandýrma dosyalarýyla,1-Sunucu adý,2-IP Adresi
httpd_conf=httpd.conf dosyasý yolu,3,Otomatik
srm_conf=srm.conf dosyasý yolu,3,Otomatik
access_conf=access.conf dosyasý yolu,3,Otomatik
mime_types=mime.types dosyasý yolu,3,Otomatik
virt_file=Sanal sunucularýn ekleneceði dosya,3,httpd.conf
0707010005c559000081a40000000000000002000000013d1fe2d1000001d5000000200000000000000000000000000000001f00000003reloc/apache/config.info.zh_CN    httpd_dir=Apache·þÎñÆ÷¸ùÄ¿Â¼,0
httpd_path=httpdÖ´ÐÐÎÄ¼þÂ·¾¶,0
apachectl_path=ÃüÁîapachectlµÄÂ·¾¶,3,Ã»ÓÐ
start_cmd=Æô¶¯apacheÃüÁî,3,×Ô¶¯
stop_cmd=Í£Ö¹apacheÃüÁî,3,×Ô¶¯
show_list=ÐéÄâ·þÎñÆ÷ÏÔÊ¾·½Ê½,1,0-Í¼±ê,1-ÁÐ±í
show_order=ÐéÄâ·þÎñÆ÷ÅÅÐò·½Ê½,1,0-°´ÅäÖÃÎÄ¼þµÄÉèÖÃ,1-°´·þÎñÆ÷Ãû,2-°´IPµØÖ·
httpd_conf=httpd.confµÄÂ·¾¶,3,×Ô¶¯
srm_conf=srm.confµÄÂ·¾¶,3,×Ô¶¯
access_conf=access.confµÄÂ·¾¶,3,×Ô¶¯
mime_types=mime.typesµÄÂ·¾¶,3,×Ô¶¯
virt_file=Ôö¼ÓÐéÄâ·þÎñÆ÷µÄÎÄ¼þ,3,httpd.conf
   0707010005c55a000081a40000000000000002000000013d1fe2d100000224000000200000000000000000000000000000002400000003reloc/apache/config.info.zh_TW.Big5   httpd_dir=Apache ¦øªA¾¹®Ú¥Ø¿ý,0
httpd_path=¨ì httpd °õ¦æÀÉªº¸ô®|,0
apachectl_path=¨ì Apachectl «ü¥Oªºªº¸ô®|,3,None
start_cmd=±Ò°Ê Apache ªº©R¥O,3,Automatic
stop_cmd=°±¤î Apache ªº©R¥O,3,Automatic
show_list=µêÀÀ¥D¾÷Åã¥Ü¼Ë¦¡,1,0-¹Ï¥Ü,1-¦Cªí
show_order=µêÀÀ¥D¾÷ªº±Æ¦C¤è¦¡,1,0-¨Ì¾Ú¦b²ÕºAÀÉ¤¤ªº¶¶§Ç,1-¨Ì¾Ú¦øªA¾¹¦WºÙ,2-¨Ì¾Ú IP ¦ì§}
httpd_conf=¨ì httpd.conf ªº¸ô®|,3,Automatic
srm_conf=¨ì srm.conf ªº¸ô®|,3,Automatic
access_conf=¨ì access.conf ªº¸ô®|,3,Automatic
mime_types=¨ì mime.types ªº¸ô®|,3,Automatic
virt_file=¼W¥[µêÀÀ¥D¾÷ªº³]©w¨ìÀÉ®×,3,httpd.conf
0707010005c55b000081a40000000000000002000000013d1fe2d100000051000000200000000000000000000000000000002500000003reloc/apache/config_solaris.txt.1.25  httpd_dir=/usr/local/webadmin/apache/test
httpd_path=/jaz/apache_1.2.5/src/httpd
   0707010005c55d000081e40000000000000002000000013d1fe2d100000425000000200000000000000000000000000000001c00000003reloc/apache/create_dir.cgi   #!/usr/local/bin/perl
# create_dir.cgi
# Create an empty <Directory>, <Files> or <Location> clause

require './apache-lib.pl';
&ReadParse();
&error_setup($text{'cdir_err'});
($vconf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$f = $vconf->[0]->{'file'};
for($j=0; $vconf->[$j]->{'file'} eq $f; $j++) { }
$l = $vconf->[$j-1]->{'eline'}+1;
&lock_file($f);
$lref = &read_file_lines($f);
$in{'path'} || &error($text{'cdir_epath'});

if ($in{'regexp'}) {
	$in{'type'} eq 'Proxy' && &error($text{'cdir_eproxy'});
	if ($httpd_modules{'core'} >= 1.3) {
		$newdir = "<$in{'type'}Match \"$in{'path'}\">";
		$enddir = "</$in{'type'}Match>";
		}
	else {
		$newdir = "<$in{'type'} ~ \"$in{'path'}\">";
		$enddir = "</$in{'type'}>";
		}
	}
else {
	$newdir = "<$in{'type'} \"$in{'path'}\">";
	$enddir = "</$in{'type'}>";
	}
splice(@$lref, $l, 0, ($newdir, $enddir));
&flush_file_lines();
&unlock_file($f);
&webmin_log("dir", "create", &virtual_name($v, 1).":$in{'path'}", \%in);
&redirect("virt_index.cgi?virt=$in{'virt'}");

   0707010005c55e000081e40000000000000002000000013d1fe2d100000341000000200000000000000000000000000000001e00000003reloc/apache/create_files.cgi #!/usr/local/bin/perl
# create_files.cgi
# Create an empty <Files> clause in a .htaccess file

require './apache-lib.pl';
$access{'global'} || &error($text{'htaccess_ecannot'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
&ReadParse();
&lock_file($in{'file'});
$lref = &read_file_lines($in{'file'});
if ($in{'regexp'}) {
	if ($httpd_modules{'core'} >= 1.3) {
		$newdir = "<FilesMatch \"$in{'path'}\">";
		$enddir = "</FilesMatch>";
		}
	else {
		$newdir = "<Files ~ \"$in{'path'}\">";
		$enddir = "</Files>";
		}
	}
else {
	$newdir = "<Files \"$in{'path'}\">";
	$enddir = "</Files>";
	}
push(@$lref, $newdir);
push(@$lref, $enddir);
&flush_file_lines();
&unlock_file($in{'file'});
&webmin_log("files", "create", "$in{'file'}:$in{'path'}", \%in);
&redirect("htaccess_index.cgi?file=".&urlize($in{'file'}));

   0707010005c55f000081e40000000000000002000000013d1fe2d100000544000000200000000000000000000000000000002100000003reloc/apache/create_htaccess.cgi  #!/usr/local/bin/perl
# create_htaccess.cgi
# Creates a new .htaccess file for some directory

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$conf = &get_config();

if (-d $in{'file'}) {
	# user entered a directory.. create a file in that directory
	$accfile = &find_directive("AccessFile", $conf);
	if (!$accfile) { $accfile = ".htaccess"; }
	$file = "$in{'file'}/$accfile";
	}
else { $file = $in{'file'}; }
&allowed_auth_file($file) ||
	&error($text{'htaccess_ecreate'});

# create the file (if needed), and add to the known list
&lock_file($file);
if (!(-r $file)) {
	open(HTACCESS, ">$file") || &error($!);
	close(HTACCESS);
	chmod(0755, $file);

	$u = &find_directive("User", $conf);
	if ($u =~ /#(\d+)/) { $u = $1; }
	elsif (defined($u)) { $u = getpwnam($u); }

	$g = &find_directive("Group", $conf);
	if ($g =~ /#(\d+)/) { $g = $1; }
	elsif (defined($g)) { $g = getgrnam($g); }

	chown(defined($u) ? $u : $< , defined($g) ? $g : $( , $file);
	}
&read_file("$module_config_directory/site", \%site);
@ht = split(/\s+/, $site{'htaccess'});
$site{'htaccess'} = join(' ', &unique(@ht, $file));
&write_file("$module_config_directory/site", \%site);
&unlock_file($file);
&webmin_log("htaccess", "create", $file);

# redirect to editing index
&redirect("htaccess_index.cgi?file=".&urlize($file));

0707010005c560000081e40000000000000002000000013d1fe2d100000f4c000000200000000000000000000000000000001d00000003reloc/apache/create_virt.cgi  #!/usr/local/bin/perl
# create_virt.cgi
# Create a new virtual host.

require './apache-lib.pl';
&ReadParse();
$access{'create'} || &error($text{'cvirt_ecannot'});
&error_setup($text{'cvirt_err'});
$conf = &get_config();

# Validate inputs
if ($in{'addr_def'}) {
	if ($httpd_modules{'core'} >= 1.2) { $addr = "_default_"; }
	else { $addr = "*"; }
	}
elsif ($in{'addr'} !~ /\S/) { &error($text{'cvirt_eaddr1'}); }
elsif (!gethostbyname($in{'addr'}) && !&check_ipaddress($in{'addr'}) &&
       $in{'addr'} ne '*')
	{ &error(&text('cvirt_eaddr2', $in{'addr'})); }
else { $addr = $in{'addr'}; }

if ($in{'port_mode'} == 0) { $port = ""; }
elsif ($in{'port_mode'} == 1) { $port = ":*"; }
elsif ($in{'port'} !~ /^\d+$/) { &error(&text('cvirt_eport', $in{'port'})); }
else { $port = ":$in{'port'}"; }
if (!$in{'name_def'} && $in{'name'} !~ /^\S+$/) {
	&error(&text('cvirt_ename', $in{'name'}));
	}

# Check if the virtual server already exists
if ($in{'name_def'}) {
	$aclname = "$addr$port";
	}
else {
	$aclname = "$in{'name'}$port";
	}
@virt = &find_directive_struct("VirtualHost", $conf);
foreach $v (@virt) {
	if (&virt_acl_name($v) eq $aclname) {
		&error($text{'cvirt_etaken'});
		}
	}

# Check if the root directory is allowed
!$in{'root'} || &allowed_auth_file($in{'root'}) ||
	&error(&text('cvirt_eroot3', $in{'root'}));

if ($in{'root'} && !-d $in{'root'}) {
	# create the document root
	mkdir($in{'root'}, 0755) ||
		&error(&text('cvirt_eroot2', $in{'root'}, $!));
	$user = &find_directive("User", $conf);
	$group = &find_directive("Group", $conf);
	$uid = $user ? getpwnam($user) : 0;
	$gid = $group ? getgrnam($group) : 0;
	chown($uid, $gid, $in{'root'});
	}

# find file to add to
if ($in{'fmode'} == 0) {
	# use the first file in config (usually httpd.conf)
	$vconf = &get_virtual_config();
	$f = $vconf->[0]->{'file'};
	for($j=0; $vconf->[$j]->{'file'} eq $f; $j++) { }
	$l = $vconf->[$j-1]->{'eline'}+1;
	}
elsif ($in{'fmode'} == 1) {
	$f = $config{'virt_file'};
	}
else {
	$f = $in{'file'};
	}
-r $f || open(FILE, ">>$f") || &error(&text('cvirt_efile', $f, $!));
close(FILE);

&lock_apache_files();
&lock_file($f);

local $ip = &to_ipaddress($in{'addr'});

if ($in{'listen'} && !$in{'addr_def'} && $ip) {
	# add Listen if needed
	local @listen = &find_directive("Listen", $conf);
	local $lfound;
	foreach $l (@listen) {
		$lfound++ if ($l eq '*' || $l =~ /^\*:\d+$/ ||
			      ($l =~ /^(\S+):\d+$/ && $1 eq $ip) || $l eq $ip);
		}
	if (!$lfound && @listen > 0) {
		# Apache is listening on some IP addresses, but not the
		# entered one.
		local $lip = $in{'port_mode'} == 2 ? "$ip:$in{'port'}" : $ip;
		&save_directive("Listen", [ @listen, $lip ], $conf, $conf);
		}
	}

# add NameVirtualHost if needed
if ($in{'nv'} && !$in{'addr_def'} && $ip) {
	local $found;
	local @nv = &find_directive("NameVirtualHost", $conf);
	foreach $nv (@nv) {
		$found++ if ($nv eq $ip ||
			     $nv =~ /^(\S+):(\S+)/ && $1 eq $ip ||
			     $nv eq '*');
		}
	if (!$found) {
		&save_directive("NameVirtualHost", [ @nv, $ip ], $conf, $conf);
		}
	}

# get directives from clone
if ($in{'clone'} ne '') {
	$clone = $conf->[$in{'clone'}];
	@cmems = grep { $_->{'name'} ne 'ServerName' &&
		        $_->{'name'} ne 'Port' &&
		        $_->{'name'} ne 'DocumentRoot' &&
		        $_->{'name'} ne 'ServerAlias' } @{$clone->{'members'}};
	@clines = &directive_lines(@cmems);
	}

$lref = &read_file_lines($f);
push(@$lref, "");
push(@$lref, "<VirtualHost $addr$port>");
push(@$lref, "DocumentRoot $in{'root'}") if ($in{'root'});
if (!$in{'name_def'}) {
	push(@$lref, "ServerName $in{'name'}");
	}
push(@$lref, @clines);
push(@$lref, "</VirtualHost>");
&flush_file_lines();
&unlock_file($f);
&unlock_apache_files();
&webmin_log("virt", "create", ($in{'name_def'} ? $addr : $in{'name'}).$port,
	    \%in);

# add to acl
if ($access{'virts'} ne '*') {
	$access{'virts'} .= " $aclname";
	&save_module_acl(\%access);
	}
&redirect("");

0707010005c561000081a40000000000000002000000013d1fe2d100000051000000200000000000000000000000000000001800000003reloc/apache/defaultacl   virts=*
global=1
create=1
vuser=1
noconfig=0
stop=1
vaddr=1
dir=/
types=*
pipe=1
   0707010005c562000081e40000000000000002000000013d1fe2d10000022e000000200000000000000000000000000000002100000003reloc/apache/delete_htaccess.cgi  #!/usr/local/bin/perl
# delete_htaccess.cgi
# Delete some .htaccess or similar file

require './apache-lib.pl';
&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error($text{'htaccess_edelete'});
&lock_file($in{'file'});
unlink($in{'file'});
&unlock_file($in{'file'});

&read_file("$module_config_directory/site", \%site);
@ht = split(/\s+/, $site{'htaccess'});
$site{'htaccess'} = join(' ', (grep { $_ ne $in{'file'} } @ht));
&write_file("$module_config_directory/site", \%site);
&webmin_log("htaccess", "delete", $in{'file'});
&redirect("htaccess.cgi");

  0707010005c563000081e40000000000000002000000013d1fe2d100000a01000000200000000000000000000000000000001b00000003reloc/apache/dir_index.cgi    #!/usr/local/bin/perl
# dir_index.cgi
# Display a menu of icons for per-directory options

require './apache-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$d = $conf->[$in{'idx'}];
&header($text{'dir_title'}, "",
	undef, undef, undef, undef, &restart_button());
print "<center><font size=+2>",&text('dir_header', &dir_name($d),
				     &virtual_name($v)),"</font></center>\n";
print "<hr>\n";
print "<h3>$text{'dir_title'}</h3>\n";
$sw_icon = { "icon" => "images/show.gif",
	     "name" => $text{'dir_show'},
	     "link" => "show.cgi?virt=$in{'virt'}&idx=$in{'idx'}" };
if ($access{'types'} eq '*') {
	$ed_icon = { "icon" => "images/edit.gif",
		     "name" => $text{'dir_edit'},
		     "link" =>
			"manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}" };
	}
&config_icons("directory", "edit_dir.cgi?virt=$in{'virt'}&idx=$in{'idx'}&",
	      $sw_icon, $ed_icon ? ( $ed_icon) : ( ));

print "<hr>\n";
print "<form action=change_dir.cgi>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'dir_opts'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'dir_type'}</b></td> <td><select name=type>\n";
foreach $t ($httpd_modules{'core'} >= 2.0 ?
		("Directory", "Files", "Location", "Proxy") :
	    $httpd_modules{'core'} >= 1.2 ? ("Directory", "Files", "Location")
					  : ("Directory", "Location")) {
	printf "<option value=%s %s>$text{'virt_'.$t}\n",
		$t, $d->{'name'} =~ /^$t/ ? "selected" : "";
	}
print "</select></td>\n";
if ($httpd_modules{'core'} >= 1.2) {
	print "<td><b>$text{'dir_regexp'}</b></td>\n";
	$regex = $d->{'words'}->[0] eq "~" || $d->{'name'} =~ /Match/i;
	printf "<td><input type=radio name=regexp value=0 %s> %s\n",
		$regex ? "" : "checked", $text{'dir_exact'};
	printf "<input type=radio name=regexp value=1 %s> %s</td>\n",
		$regex ? "checked" : "", $text{'dir_re'};
	print "</tr>\n";
	}
else { print "<td></td> </tr>\n"; }
print "<tr> <td><b>$text{'dir_path'}</b></td>\n";
printf "<td><input name=path size=40 value=\"%s\"></td>\n",
	$d->{'words'}->[0] eq "~" ? $d->{'words'}->[1] : $d->{'words'}->[0];
print "<td colspan=2 align=right>",
      "<input type=submit value=\"$text{'save'}\">&nbsp;",
      "<input type=submit value=\"$text{'delete'}\" name=delete></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'});


   0707010005c564000081e40000000000000002000000013d1fe2d100000646000000200000000000000000000000000000002000000003reloc/apache/edit_authgroup.cgi   #!/usr/local/bin/perl
# edit_authgroup.cgi
# Display a form for editing a new or existing group

require './apache-lib.pl';
require './auth-lib.pl';

&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authg_ecannot', $in{'file'}));
if (defined($in{'group'})) {
	# editing existing group
	&header($text{'authg_edit'}, "");
	$g = &get_authgroup($in{'file'}, $in{'group'});
	$group = $g->{'group'};
	@members = @{$g->{'members'}};
	$new = 0;
	}
else {
	# creating a new group
	&header($text{'authg_create'}, "");
	$new = 1;
	}
print "<center><font size=+2>",&text('authg_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_authgroup.cgi>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=url value=\"$in{'url'}\">\n";
if (!$new) { print "<input type=hidden name=oldgroup value=$in{'group'}>\n"; }
print "<table border> <tr $tb><td colspan=2><b>",
      ($new ? $text{'authg_create'} : $text{'authg_edit'}),
      "</b></td> </tr>\n";
print "<tr $cb> <td><b>$text{'authg_group'}</b></td>\n";
print "<td><input name=group size=20 value=\"$group\"></td> </tr>\n";
print "<tr $cb> <td valign=top><b>$text{'authg_mems'}</b></td>\n";
print "<td><textarea name=members rows=5 cols=60 wrap=on>",
	join(' ', @members),"</textarea></td> </tr>\n";

print "</table><p>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "&nbsp; <input type=submit value=\"$text{'delete'}\" name=delete>\n"
	if (!$new);
print "</form>\n";

print "<hr>\n";
&footer($in{'url'}, $text{'auth_return'});

  0707010005c565000081e40000000000000002000000013d1fe2d100000735000000200000000000000000000000000000001f00000003reloc/apache/edit_authuser.cgi    #!/usr/local/bin/perl
# edit_authuser.cgi
# Display a form for editing a user from a text file

require './apache-lib.pl';
require './auth-lib.pl';

&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authu_ecannot', $in{'file'}));
if (defined($in{'user'})) {
	# editing an existing user
	&header($text{'authu_edit'}, "");
	$u = &get_authuser($in{'file'}, $in{'user'});
	$user = $u->{'user'};
	$pass = $u->{'pass'};
	$new = 0;
	}
else {
	# creating a new user
	&header($text{'authu_create'}, "");
	$new = 1;
	}
print "<center><font size=+2>",&text('authu_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_authuser.cgi>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=url value=\"$in{'url'}\">\n";
if (!$new) { print "<input type=hidden name=olduser value=$in{'user'}>\n"; }

print "<table border>\n";
printf "<tr $tb> <td><b>%s</b></td> </tr>\n",
	$new ? $text{'authu_create'} : $text{'authu_edit'};
print "<tr $cb> <td><table>\n";

print "<tr $cb> <td><b>$text{'authu_user'}</b></td>\n";
print "<td><input name=user size=20 value=\"$user\"></td> </tr>\n";
print "<tr $cb> <td><b>$text{'authu_pass'}</b></td>\n";
printf "<td><input name=mode type=radio value=1 %s> $text{'authu_enc'}\n",
	$new ? '' : 'checked';
print "<input name=enc size=15 value='$pass'>\n";
printf "<input name=mode type=radio value=0 %s> $text{'authu_plain'}\n",
	$new ? 'checked' : '';
print "<input name=pass size=15></td> </tr>\n";

print "<tr> <td colspan=2 align=right>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit value=\"$text{'delete'}\" name=delete>\n"
	if (!$new);
print "</td> </tr></table></td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer($in{'url'}, $text{'authu_return'});

   0707010005c566000081e40000000000000002000000013d1fe2d100000323000000200000000000000000000000000000001e00000003reloc/apache/edit_defines.cgi #!/usr/local/bin/perl
# edit_defines.cgi
# Display a form for editing run-time httpd defines

require './apache-lib.pl';
$access{'global'}==1 || &error($text{'defines_ecannot'});
&header($text{'defines_title'}, "",
	undef, undef, undef, undef, &restart_button());
print "<hr>\n";

print "<form action=save_defines.cgi>\n";
print "<table width=100%><tr><td valign=top>\n";
print $text{'defines_desc'};
if ($config{'defines'}) {
	print "<p>",&text('defines_config',
			  "<tt><b>$config{'defines'}</b></tt>");
	}

print "</td> <td valign=top>\n";
print "<textarea name=defines rows=5 cols=20>",
	join("\n", split(/\s+/, $site{'defines'})),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\"></td>\n";
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
 0707010005c567000081e40000000000000002000000013d1fe2d10000050b000000200000000000000000000000000000001a00000003reloc/apache/edit_dir.cgi #!/usr/local/bin/perl
# edit_virt.cgi
# Display a form for editing some kind of per-directory options

require './apache-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
$d = $vconf->[$in{'idx'}];
$conf = $d->{'members'};
@dirs = &editable_directives($in{'type'}, 'directory');
&header($text{"type_$in{'type'}"}, "",
	undef, undef, undef, undef, &restart_button());
print "<center><font size=+2>",&text('dir_header', &dir_name($d),
				     &virtual_name($v)), "</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_dir.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('dir_header2', $text{"type_$in{'type'}"},
			       &dir_name($d)),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}", $text{'dir_return'});


 0707010005c568000081e40000000000000002000000013d1fe2d100000511000000200000000000000000000000000000001c00000003reloc/apache/edit_files.cgi   #!/usr/local/bin/perl
# edit_virt.cgi
# Display a form for editing some kind of per-directory options file

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
&allowed_auth_file($in{'file'}) || &error($text{'htindex_ecannot'});
$hconf = &get_htaccess_config($in{'file'});
$d = $hconf->[$in{'idx'}];
$conf = $d->{'members'};
@dirs = &editable_directives($in{'type'}, 'directory');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>",&text('htfile_header', &dir_name($d),
      "<tt>$in{'file'}</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_files.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('htfile_header2', $text{"type_$in{'type'}"},
	&dir_name($d)),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("htaccess_index.cgi?file=$in{'file'}", $text{'htindex_return'});


   0707010005c569000081e40000000000000002000000013d1fe2d100000828000000200000000000000000000000000000001d00000003reloc/apache/edit_global.cgi  #!/usr/local/bin/perl
# edit_global.cgi
# Display a form for editing some kind of global options

require './apache-lib.pl';
&ReadParse();
$conf = &get_config();
@dirs = &editable_directives($in{'type'}, 'global');
$access{'global'}==1 || &error($text{'global_ecannot'});
$access_types{$in{'type'}} ||
	&error($text{'etype'});
&header($text{"type_$in{'type'}"}, "",
	undef, undef, undef, undef, &restart_button());
print "<hr>\n";

print "<form method=post action=save_global.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",$text{"type_$in{'type'}"},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

if ($in{'type'} == 6) {
	print "<hr>\n";
	print "<h3>$text{'global_mime'}</h3>\n";
	print "$text{'global_mimedesc'}<p>\n";
	print "<a href=\"edit_gmime_type.cgi?file=$mfile\">",
	      "$text{'global_add'}</a><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td width=25%><b>$text{'global_type'}</b></td>\n";
	print "<td><b>$text{'global_ext'}</b></td>\n";
	print "<td width=25%><b>$text{'global_type'}</b></td>\n";
	print "<td><b>$text{'global_ext'}</b></td> </tr>\n";
	$mfile = &find_directive("TypesConfig", $conf);
	if (!$mfile) { $mfile = $config{'mime_types'}; }
	if (!$mfile) { $mfile = &server_root("etc/mime.types", $conf); }
	if (!-r $mfile) { $mfile = &server_root("conf/mime.types", $conf); }
	$mfile = &server_root($mfile, $conf);
	open(MIME, $mfile);
	$line = 0;
	while(<MIME>) {
		chop;
		s/#.*$//;
		if (/^\s*(\S+)\s*(.*)$/) {
			if (!$sw) { print "<tr $cb>\n"; }
			print "<td><a href=\"edit_gmime_type.cgi?line=$line",
			      "&file=$mfile\">$1</a></td> <td>$2<br></td>\n";
			if ($sw) { print "</tr>\n"; }
			$sw = !$sw;
			}
		$line++;
		}
	close(MIME);
	print "</table>\n";
	print "<a href=\"edit_gmime_type.cgi?file=$mfile\">",
	      "$text{'global_add'}</a><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});


0707010005c56a000081e40000000000000002000000013d1fe2d1000004eb000000200000000000000000000000000000002100000003reloc/apache/edit_gmime_type.cgi  #!/usr/local/bin/perl
# edit_gmime_type.cgi
# Display a form for editing a MIME type from the global list

require './apache-lib.pl';
&ReadParse();
$access{'global'}==1 || &error($text{'mime_ecannot'});
if (defined($in{'line'})) {
	&header($text{'mime_edit'}, "");
	open(MIME, $in{'file'});
	for($i=0; $i<=$in{'line'}; $i++) {
		$line = <MIME>;
		}
	close(MIME);
	$line =~ s/#.*$//;
	$line =~ /^\s*(\S+)\s*(.*)$/;
	$type = $1; @exts = split(/\s+/, $2);
	}
else {
	&header($text{'mime_add'}, "");
	}
print "<hr>\n";

print "<form method=post action=save_gmime_type.cgi>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
if ($type) {
	print "<input type=hidden name=line value=$in{'line'}>\n";
	}
print "<table border>\n";
print "<tr $tb> <td colspan=2><b>$text{'mime_header'}</b></td> </tr>\n";
print "<tr $cb> <td><b>$text{'mime_type'}</b></td>\n";
print "<td><input name=type size=40 value=\"$type\"></td> </tr>\n";
print "<tr $cb> <td valign=top><b>$text{'mime_ext'}</b></td>\n";
print "<td><textarea name=exts rows=5 cols=15>",join("\n", @exts),
      "</textarea></td> </tr>\n";
print "</table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_global.cgi?type=6", $text{'global_return'});

 0707010005c56b000081e40000000000000002000000013d1fe2d1000004aa000000200000000000000000000000000000001f00000003reloc/apache/edit_htaccess.cgi    #!/usr/local/bin/perl
# edit_htaccess.cgi
# Display a form for editing some kind of per-directory options file

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$access_types{$in{'type'}} ||
	&error($text{'etype'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
$conf = &get_htaccess_config($in{'file'});
@dirs = &editable_directives($in{'type'}, 'htaccess');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>",&text('htindex_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_htaccess.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('htindex_header2', $text{"type_$in{'type'}"},
			       "<tt>$in{'file'}</tt>"),"</td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("htaccess_index.cgi?file=$in{'file'}", "options file index");


  0707010005c56c000081e40000000000000002000000013d1fe2d100000562000000200000000000000000000000000000001b00000003reloc/apache/edit_virt.cgi    #!/usr/local/bin/perl
# edit_virt.cgi
# Display a form for editing some kind of per-server

require './apache-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
@dirs = &editable_directives($in{'type'}, 'virtual');
&header($text{"type_$in{'type'}"}, "",
	undef, undef, undef, undef, &restart_button());
print "<center><font size=+2>",&text('virt_header', &virtual_name($v)),
      "</font></center>\n";
print "<hr>\n";

if ($in{'type'} == 8 && !$access{'vuser'}) {
	print "$text{'virt_euser'} <p>\n";
	print "<hr>\n";
	&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'});
	exit;
	}

if (!$in{'virt'}) {
	@dirs = grep { !$_->{'virtualonly'} } @dirs;
	}

print "<form action=save_virt.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('virt_header2', $text{"type_$in{'type'}"},
			       &virtual_name($v)),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'});


  0707010005c56d000081a40000000000000002000000013d1fe2d10000007d000000200000000000000000000000000000001f00000003reloc/apache/feedback_files.pl    
do 'apache-lib.pl';

sub feedback_files
{
local $conf = &get_config();
return &unique(map { $_->{'file'} } @$conf);

}

1;

   0707010005c56e000081e40000000000000002000000013d1fe2d100000893000000200000000000000000000000000000001d00000003reloc/apache/files_index.cgi  #!/usr/local/bin/perl
# files_index.cgi
# Display a menu of icons for per-files options

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
$conf = &get_htaccess_config($in{'file'});
$d = $conf->[$in{'idx'}];
&header($text{'htfile_title'}, "");
print "<center><font size=+2>",&text('htfile_header', &dir_name($d),
	"<tt>$in{'file'}</tt>"),"</font></center><br>\n";
print "<hr>\n";
print "<h3>$text{'htfile_title'}</h3>\n";
$sw_icon = { "icon" => "images/show.gif",
	     "name" => $text{'htfile_show'},
	     "link" => "show.cgi?file=".&urlize($in{'file'})."&idx=$in{'idx'}" };
if ($access{'types'} eq '*') {
	$ed_icon = { "icon" => "images/edit.gif",
		     "name" => $text{'htfile_edit'},
		     "link" =>
			"manual_form.cgi?file=".&urlize($in{'file'})."&idx=$in{'idx'}" };
	}
&config_icons("directory", "edit_files.cgi?file=".&urlize($in{'file'})."&idx=$in{'idx'}&",
	      $sw_icon, $ed_icon ? ( $ed_icon ) : ( ));

print "<hr>\n";
print "<form action=change_files.cgi>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'htfile_apply'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'htindex_regexp'}</b></td>\n";
$regex = $d->{'words'}->[0] eq "~" || $d->{'name'} =~ /Match/i;
printf "<td colspan=3><input type=radio name=regexp value=0 %s> %s\n",
	$regex ? "" : "checked", $text{'htindex_exact'};
printf "<input type=radio name=regexp value=1 %s> %s</td> </tr>\n",
	$regex ? "checked" : "", $text{'htindex_re'};
print "<tr> <td><b>$text{'htindex_path'}</b></td>\n";
printf "<td><input name=path size=40 value=\"%s\"></td>\n",
	$d->{'words'}->[0] eq "~" ? $d->{'words'}->[1] : $d->{'words'}->[0];
print "<td colspan=2 align=right>",
      "<input type=submit value=\"$text{'save'}\">&nbsp;",
      "<input type=submit value=\"$text{'delete'}\" name=delete></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("htaccess_index.cgi?file=".&urlize($in{'file'}), $text{'htindex_return'});


 0707010005c56f000081e40000000000000002000000013d1fe2d1000006de000000200000000000000000000000000000001f00000003reloc/apache/find_htaccess.cgi    #!/usr/local/bin/perl
# find_htaccess.cgi
# Finds all per-directory options files under the all the document roots

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});

$in{'from'}=1 if ($access{'dir'} ne '/');
if ($in{'from'} == 1 && !(-d $in{'dir'})) {
	&error(&text('htaccess_edir', $in{'dir'}));
	}
&read_file("$module_config_directory/site", \%site);
foreach $f (split(/\s+/, $site{'htaccess'})) {
	if (-r $f) { push(@rv, $f); }
	}

# Find the default document root and access file
$conf = &get_config();
$def_htaccess = &find_directive("AccessFileName", $conf);
if (!$def_htaccess) { $def_htaccess = ".htaccess"; }
$def_root = &find_directive("DocumentRoot", $conf);
if (!$def_root) { $def_root = "/"; }

# find virtual server doc roots and access files
push(@dirs, $def_root); push(@files, $def_htaccess);
foreach $v (&find_directive_struct("VirtualHost", $conf)) {
	$root = &find_directive("DocumentRoot", $v->{'members'});
	push(@dirs, $root ? $root : $def_root);
	$htaccess = &find_directive("AccessFileName", $v->{'members'});
	push(@files, $htaccess ? $htaccess : $def_htaccess);
	}

if ($in{'from'} == 0) {
	# search under all directories
	for($i=0; $i<@dirs; $i++) {
		open(FIND, "find $dirs[$i] -name $files[$i] -print |");
		while(<FIND>) {
			s/\r|\n//g;
			push(@rv, $_);
			}
		close(FIND);
		}
	}
else {
	# search under the given directory only
	foreach $f (&unique(@files)) { push(@args, "-name $f"); }
	$args = join(' -o ', @args);
	open(FIND, "find $in{'dir'} $args -print |");
	while(<FIND>) {
		s/\r|\n//g;
		push(@rv, $_);
		}
	close(FIND);
	}

# save results
$site{'htaccess'} = join(' ', &unique(@rv));
&write_file("$module_config_directory/site", \%site);
&redirect("htaccess.cgi");

  0707010005c570000081e40000000000000002000000013d1fe2d1000005e0000000200000000000000000000000000000001a00000003reloc/apache/htaccess.cgi #!/usr/local/bin/perl
# htaccess.cgi
# Display a list of per-directory config files

require './apache-lib.pl';
$access{'global'} || &error($text{'htaccess_ecannot'});
&header($text{'htaccess_title'}, "");
print "<hr>\n";

print "$text{'htaccess_desc'} <p>\n";
@htaccess_files = grep { &allowed_auth_file($_) } @htaccess_files;
if (@htaccess_files) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'htaccess_title'}</b></td> </tr>\n";
	print "<tr $cb><td><table width=100%>\n";
	for($i=0; $i<@htaccess_files; $i++) {
		if ($i%2 == 0) { print "<tr>\n"; }
		print "<td width=50%><a href=\"htaccess_index.cgi?file=",
		      &urlize($htaccess_files[$i]),"\">",$htaccess_files[$i],
		      "</a></td>\n";
		if ($i%2 == 1) { print "</tr>\n"; }
		}
	print "</table></td></tr></table><p>\n";
	}
print "<form action=create_htaccess.cgi>\n";
print "<input type=submit value=\"$text{'htaccess_create'}\">\n";
print "<input name=file size=30>\n",
	&file_chooser_button("file", 0, 0);
print "</form>\n";

print "<form action=find_htaccess.cgi>\n";
print "<input type=submit value=\"$text{'htaccess_find'}\">\n";
if ($access{'dir'} eq '/') {
	print "<input type=radio name=from value=0 checked>",
	      "$text{'htaccess_auto'}&nbsp;&nbsp;\n";
	print "<input type=radio name=from value=1>\n";
	}
print "$text{'htaccess_from'}\n";
print "<input name=dir size=30 value=$access{'dir'}>\n",
	&file_chooser_button("dir", 1, 1);
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010005c571000081e40000000000000002000000013d1fe2d100000b32000000200000000000000000000000000000002000000003reloc/apache/htaccess_index.cgi   #!/usr/local/bin/perl
# htaccess_index.cgi
# Display a menu of icons for a per-directory options file

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
$conf = &get_htaccess_config($in{'file'});
&header($text{'htindex_title'}, "",
	undef, undef, undef, undef, "<a href=\"delete_htaccess.cgi?file=".
	&urlize($in{'file'})."\">$text{'htindex_delete'}</a>");
print "<center><font size=+2><tt>",&html_escape($in{'file'}),
      "</tt></font></center>\n";
print "<hr>\n";
print "<h3>$text{'htindex_opts'}</h3>\n";
$sw_icon = { "icon" => "images/show.gif",
	     "name" => $text{'htindex_show'},
	     "link" => "show.cgi?file=".&urlize($in{'file'}) };
if ($access{'types'} eq '*') {
	$ed_icon = { "icon" => "images/edit.gif",
		     "name" => $text{'htindex_edit'},
		     "link" => "manual_form.cgi?file=".&urlize($in{'file'}) };
	}
&config_icons("htaccess", "edit_htaccess.cgi?file=".&urlize($in{'file'})."&",
	      $sw_icon, $ed_icon ? ( $ed_icon ) : ( ));

@file = ( &find_directive_struct("Files", $conf),
          &find_directive_struct("FilesMatch", $conf) );
if (@file && $httpd_modules{'core'} >= 1.2) {
	# Files sub-directives
	print "<hr>\n";
	print "<h3>$text{'htindex_file'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $f (@file) {
		if ($i%3 == 0) { print "<tr>\n"; }
		$what = &dir_name($f);
		substr($what, 0, 1) = uc(substr($what, 0, 1));
		print "<td valign=top align=center width=33%>\n";
		&generate_icon("images/dir.gif", $what,
		       	"files_index.cgi?idx=".&indexof($f, @$conf).
			"&file=".&urlize($in{'file'}));
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%><br></td>\n"; }
	print "</table><p>\n";
	}

if ($httpd_modules{'core'} >= 1.2) {
	print "<form action=create_files.cgi>\n";
	print "<input type=hidden name=file value=$in{'file'}>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'htindex_create'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";
	print "<tr> <td><b>$text{'htindex_regexp'}</b></td>\n";
	$regex = $d->{'words'}->[0] eq "~" || $d->{'name'} =~ /Match/;
	printf "<td colspan=3><input type=radio name=regexp value=0 %s> %s\n",
		$regex ? "" : "checked", $text{'htindex_exact'};
	printf "<input type=radio name=regexp value=1 %s> %s</td> </tr>\n",
		$regex ? "checked" : "", $text{'htindex_re'};
	print "<tr> <td><b>$text{'htindex_path'}</b></td>\n";
	printf "<td><input name=path size=40 value=\"%s\"></td>\n",
		$d->{'words'}->[0] eq "~" ? $d->{'words'}->[1]
					  : $d->{'words'}->[0];
	print "<td colspan=2 align=right>",
	      "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
	print "</table></td></tr></table></form>\n";
	}

print "<hr>\n";
&footer("htaccess.cgi", $text{'htaccess_return'});


  0707010002706c000041ed0000000000000001000000023d1ff9c500000000000000200000000000000000000000000000001400000003reloc/apache/images   0707010002706d000081a40000000000000002000000013d1fe2d10000020c000000200000000000000000000000000000001c00000003reloc/apache/images/def.gif   GIF89a0 0 „  ÿÿÿ¥¥¥!½½Æ„„„ZZZ   ÿ cÎÎÎc ÿÿ œ1 ÿœ ÿÿ ÿBÿ„ ÿ1 ï ÿÿÎfff½RsssÿÎ kkk                        !ù    ,    0 0  þ  Ždižhª®lëŠÁ+Ït½
vn
¸î¸ÀÀg# Â!Q6,Êåk`¨‡˜´5 †„B¡Ýª¼ˆ…Á84Ì,ÇAQe7pU£qHÔÝy(jb‚&rU
{Œ&
†a‰–&…tlož#s	£c¦>±"±$™šˆnµ#´ ÀÁ²¿Ä¾³&¥s‡‰¶¿Ð%ÇÁÒÈ c‘“¯ÔÕÑáâà×{›’×ãÔßäÄä 
	aö‹ðÇòüÈ¾¾¨goÁ¨ð$ØNZ­€&Ì€d0¢(á6„¨9U5À­#
ÕŠàaƒ rW§…&OZ3‹ÙšŠN¼S±3Eƒº)P8m¦> ­©àè	>öªtsJÂMÔ
”¡:‡A&Q­:Ñ ±cEœÛ…3í,tî‘äª‹Á+·{
8ëv½FúŠ8@ €…#‚\°`À‚„¹T-<0\)1É•[(9ñãÄ g„  ;0707010002706e000081a40000000000000002000000013d1fe2d1000002c2000000200000000000000000000000000000002000000003reloc/apache/images/defines.gif   GIF89a0 0 „  ÿÿÿþþþ©©©ãããrrrUUUŽŽŽâââªªª   qqqÇÇÇTTT888ÆÆÆ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'Ždižhª®lëŽB,ŸQÆPÖ·q+A,&@#Q(B(‚qø<ŠDFÃQÔaZ.Q÷™®ˆÑAüÀ¿€hø¼dg¢^NPÓ"DH	€"	Š$‰‹}$l…–')f*D‘"…~s`L#z§&žŽ#£¢J#FµR~g°³¼F¨ÃÅ"S7Í=Ê¾—®"Äœ;Ö	ØSzJ‘ $Ä™&Ó#æ¼ËÎÍ|áWƒÒ¡zŒÑõ’½‘Ä	?cF$â”ŽÌ‡Ð¨<Aòa@‘ýê8U bÂ^J$ù–êI¨s&‚ˆDE¢Ú¶þJ8™²	É0cÊœI³¦Í›8KŒ3ˆAšURy)³Š•¡7Ñ¨a“à'Š%I”@ã ž+	\ÂL+5ž&¸FÈ"x áJVÏ±"p•%!QUhÛìÖñ†í“Ô[ÝÞÉíƒØ"=ó^²çGOÊ/B Ú;LäqƒË˜„í³X.>h‘0iD˜7#€”ŽÝ6—TÉ¤[_awc³ê_4:†—ÀlGz ´P} ŸÄqÍü.½øÕsóš¼trÎ@Ÿ»6mŸÑÀAKÁŒ²ôy­z|j~v1_>Hõiæ_±?§ 2@TC<ýçÚs$|/1žFmwÖ‚ÿ©ÆO@öôe 4‡äV	+°‡höÂm¥„ýd!Žˆ ;  0707010002706f000081a40000000000000002000000013d1fe2d10000010a000000200000000000000000000000000000001c00000003reloc/apache/images/dir.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  07070100027070000081a40000000000000002000000013d1fe2d1000000f5000000200000000000000000000000000000001c00000003reloc/apache/images/doc.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  Æ„©Ëí£œ´Ú[ƒÞ<`¹	âH
Û×å:ªª¨lÛu°!¯á,žŸ¦ãÍ<Ð$dù,9Ó1ÙruMè2Üñl—*’VÓ¾ºA(éJñz…ÆiiÍ3Ëfšû\ß£ù6ù×#‡(õ‡ˆ6¡¦x8WØ7HÈ§HTt·5‰©©ôxàIš 5ÄYŠ¶¨êª`[âÀZk[ëê4ð:¡Ë+áûûàÔ
,K|jx»ÌÜì\3ðÌ:@]m}M“Í-ü.>þ]  ;   07070100027071000081a40000000000000002000000013d1fe2d1000001de000000200000000000000000000000000000001d00000003reloc/apache/images/edit.gif  GIF89a0 0 „  ÿÿÿ™™™   ÌffÌ™fÿf™Ì™™ÌÌÌÌ™Ìÿ™3ÿÌ3Ì™3ÌÌ3îîîÿÌfÌÌ™bbb                                             !þMade with GIMP !ù    ,    0 0  þ  ŽdižhjhÀŽ.àÎ±jËéã¼~·>RÐüXÃ™ˆ&„½hÊeñ¹[ò®XêiF·àjW‹cŠ{;±Ä³Ýò9)n«kQ¨Ìü›÷FlM#†‚ˆqW‰F5R/š"†™+ld‘€œŒ ƒª‰’ §9Cš­†©M´x½SQ	†™}£TZorœ

jN­d’omÁÎmhuV1k„”	
ÂÚÆUvÝª,ÍÂÊe¾{PL}ð¹

¯Ñ›9$ìãtõ³áãš»‰à;ˆ‘ 	ôýø³"Þ‰`ø9sŽÐÅˆU@ç"¶"JÉ+¹²Bqýu|¢»ˆ1SNB7gƒ(Ev:†‹ rn“®$CQôÊ¡†X³jÝÊµ«×¯`ÃŠK¶¬Ù³]C  ;  07070100027072000081a40000000000000002000000013d1fe2d10000020c000000200000000000000000000000000000001d00000003reloc/apache/images/icon.gif  GIF89a0 0 „  ÿÿÿ¥¥¥!½½Æ„„„ZZZ   ÿ cÎÎÎc ÿÿ œ1 ÿœ ÿÿ ÿBÿ„ ÿ1 ï ÿÿÎfff½RsssÿÎ kkk                        !ù    ,    0 0  þ  Ždižhª®lëŠÁ+Ït½
vn
¸î¸ÀÀg# Â!Q6,Êåk`¨‡˜´5 †„B¡Ýª¼ˆ…Á84Ì,ÇAQe7pU£qHÔÝy(jb‚&rU
{Œ&
†a‰–&…tlož#s	£c¦>±"±$™šˆnµ#´ ÀÁ²¿Ä¾³&¥s‡‰¶¿Ð%ÇÁÒÈ c‘“¯ÔÕÑáâà×{›’×ãÔßäÄä 
	aö‹ðÇòüÈ¾¾¨goÁ¨ð$ØNZ­€&Ì€d0¢(á6„¨9U5À­#
ÕŠàaƒ rW§…&OZ3‹ÙšŠN¼S±3Eƒº)P8m¦> ­©àè	>öªtsJÂMÔ
”¡:‡A&Q­:Ñ ±cEœÛ…3í,tî‘äª‹Á+·{
8ëv½FúŠ8@ €…#‚\°`À‚„¹T-<0\)1É•[(9ñãÄ g„  ;07070100027073000081a40000000000000002000000013d1fe2d100000250000000200000000000000000000000000000001e00000003reloc/apache/images/recon.gif GIF89a0 0 ã  ÿÿÿUUUÇÇÇãããŽŽŽ   ªªªrrr999ÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿY XC@\Eª¦`5†§UØÓ`”{„ b‚0Ý*‚Cb0(þ GJÔP˜f·@µ0œ%YÊ ND£“("Œ¸Q…Q@‡,pÁZrÆIæ €	{B	|CT Š}Q4 „†€Ew/ODa0 pi~P1ŸA:q3u€Ua|+*TLq›pc )hi'm©-$;#œÇsÒwÐÕÖ×ØÙ" µ¶Õ›Ý‘Q:<<AŠ EÁB É|R,·U`X­Z]J`xò!*€¨-(Ö¹‰SgN;2ÂyHë‹(‚î*4AA.ì¨8š‡Æâ=I'*M“àP8mx”b!ŸR¥P©‚F³	¸^d²ç_.»TÄàŒ°b/j\+§ìçÏ´m›FM«×¯`ÃŠëíÞØQ¢”	‘ÐÄÇ-=à©ûànÊÊÔ)ãn‹ºFvœÎ‰I¬ÄEzç
ÓMF¼R¤ë‡Ñ¼pyfRÁjÀjÀ$x¡±ç =”•”b1c§X¦èêµ³²¬oÏêÞÍ»·ï¯Üè–µöRõ¸=’£[+»e :s*i–Š•}ZúÉú2‹B»¼Š—´¹ŽÍÂ‡÷ÒfKÐX‚  ;07070100027074000081a40000000000000002000000013d1fe2d100000143000000200000000000000000000000000000001d00000003reloc/apache/images/show.gif  GIF89a0 0 €  ÿÿÿ™™™!ù    ,    0 0  þ„©Ë­Á<È[¶mRz[$"¥XŽt^fRæ¾éü½àÎã;«3Õ~Ä\ÐÇC*$¦zÁä²eŒ:35šE9¬*¿ª24fNGÐê6Y6uËUXÞˆ_ŸÛs¿šöwg‡g3#øÕ7†Ää%•Å(æ´RduÄ†Sñ„f©êé¨y"ÖÔÄÕIã–¤›'';WF[‹›«K‚gh[¸g§¹48º7Jhó€ù³ú&sjØu$Ê<íÒˆòXt	xÈ”™Ž,n¾~M¼õ§ÚµÊJÆªº»Ïßï¿â¥Ø?*|f	ó¨Ñ«…oÕÛ‹M¼ZÒ©kXL6‚–Â=HvÊš$(Ê¸•‚×‘„ÃX‹¶4K@ ; 07070100027075000081a40000000000000002000000013d1fe2d100000103000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_0.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌ™™™fff!ù    ,    0 0  Ô„©Ëí£œ+Ø{Ý)ˆ~G€c]&šŠ¬d½¨:Ci±°Ê1v‡“'¬t`±`²¨0†€O1h·Úªáê€Ã-2elv Óì£q¿-qÝi¿SWiÈUƒ7ô¥·Çg¨q„hõÖ3527¹Ø¨TIˆ)õØ!¨çij)Ór(Zás`šw—…*‘Åµ5[ËÕ¦;ºû°ÖË\(<L5éa†æ§Y5fdàülÅØÔ¶“=u­½Êæâ®{CŽ=ØªK‹küV  ; 07070100027076000081a40000000000000002000000013d1fe2d1000001de000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_1.gif   GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100027077000081a40000000000000002000000013d1fe2d1000000d0000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_10.gif  GIF89a0 0 ¡  ÿÿÿÌÌÌ™™™fff!ù    ,    0 0  ¡„©Ëí£œô…{EÝ+ˆ/Üxx HŽæ‡¦ÛºÜÊÚ/^ëí› ƒ‘!ñû‹¼¥¥él$5Ñ†±š€Q±‰iÐ‚»É/W<>L·i-¼6W×/]¨L¹’Uj÷”C(Àç€62PxÁàfWhˆ1yGy‰ã²ˆy)G±É§3 CDšª*ÚV–fp5¶âYeB[{úŠp«ÛëËQ  ;07070100027078000081a40000000000000002000000013d1fe2d100000184000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_11.gif  GIF89a0 0 ã  ÿÿÿŽŽŽUUU   ªªªãããrrrÇÇÇ999ÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®lë¾p,ÏtÂ B!N7àùœ`ÉÄº€`È
•Ã@X±q ˜Z¬óJ1@Éj	»’ Æ'ÖÁ HLÜ;D~D\>xv8DH…D„”›y`ŠQu:{cozb:ˆ²d—:•¿Àf¦Œ¾D£yp©°“:ÉË–³¹»ÅÊD¤Ç§œÈ†¼jÄàyjZ:ëkØÛ˜T‹ÚrDÜÆ qÞÕ“`«—¹´.¼Cø+@‚4g¦©F*OÂLÐx­ê’jI &Ž)*ƒ`‚ÙXÉ²¥Ë—0cÊœI³¦Í›8srˆ  ;07070100027079000081a40000000000000002000000013d1fe2d10000011e000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_12.gif  GIF89a0 0 ã  ÿÿÿ™™™ÌÌÌ   fffÿÿ ÿ   ÿÿ ÿ                      !ù    ,    0 0  ËÈI«½8ëÍ»ÿ`(Žc œhª®d˜k·Óƒ¬Ÿ4`ß¹Œöƒ	‡¤b€ÀD1›N(¯¤<ê¨Ê¬ö7m­HÐ©P EãòSzzªÜ(´,ÇÍwõ;ªäwBrW!'„kkm{‹]…‚‡d’,”–{Qo)€—˜b•e¢q™j}œžŸ§3”±¯S‹R«¹®¶µ³ Ár´|Ž}¡Å³Í¤ÄºÉ¾½¾ÌµÙ±Û§Ý¢ß—á’ã…=çèéêëìíî ;  0707010002707a000081a40000000000000002000000013d1fe2d1000000d6000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_13.gif  GIF89a0 0 Â  ÿÿÿÿ  ÌÌÌ™™™fff         !ù    ,    0 0  ›ºÜþ0ÊÙ½ÚÌ»ÿÑŽŒHžèi¦ÞÊ¾p·sm+î­éü'üÀ`ppŽÈ$’PT:L›ÉPFkÓ#€š¼²‹,‘»¼€3gñVÛÅœÂ8ž¬¶åx·Býx%oo|Ohu}†/„NŒ_}VM’e6~™š›š=ž9Ÿ8¢¤¡¢§¥ª©ž­«¥¯<²°Ÿ´7·µº	 ;  0707010002707b000081a40000000000000002000000013d1fe2d10000016c000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_14.gif  GIF89a0 0 €  ÿÿÿ™™™!þMade with GIMP !ù    ,    0 0  þD€g¸çœ`‹,¼Y©T[s^)×fuæ’a£W‚)ôI¨ÏâëÎÆ]ë¨Õ–v \$V¤)—>¦ó¹4B§Tï˜(JCÛ¤ÆÚo{a­èƒ¢^ öç]/±ì[§8¼Ì¡#7âçôç¶b£¶Öò5ö†¸ÒWUyi©Bô¥	i’Iæ§úéY7Ù‘4DdÈ7Öµ‚ç#”zRK’âR—Ó(F¦wr¥sHBg+ÄåHè)sû$Å›x,Š[ª|
ÙØ¼=ºg­œlÜÀšÑšúÐÎ)ìX9þÝ»»Ù9<¼îXÍ‡‘‹*ž"%¾òš‡KÌºR,Äµ"øÍ”4p÷$¤xiO¤2?¥ýŠ‚#ŒH~Ïò`ÇQGhóêüŽZ'vFœ…Ìâëãrmè[¶ÌŒJ 	  ;0707010002707c000081a40000000000000002000000013d1fe2d1000003c9000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_15.gif  GIF89a0 0 „     •••@@@ÑÑÑjjj¸¸¸êêêÝÝÝvvv÷÷÷KKK§§§///ÅÅÅôôôæææüüüSSSoooîîîþþþùùùqqqïïïÿÿÿ   ,    0 0  þ 'Ždižhª®lë¾p,‹šAÓl"ÁÆú	AÐ(Dt£‚Ã (¬ A @  Œ2Ê#  4P
Âà,bQIc“i8	J °Xª/T ' a\ro/‘Aow%  –]‰CC3…A$Q]B2— Èªi­U1ÌUä¥¤ÖíN/Q·äg¿ü5xÐ ƒzèyGÀ úU	£‡BD¯ `àQHÎ€
@($åE7c]þ2!Ð@aÁ:	"ÈkPMŽ¶biâ	ðÁ"¶ âälxÐÌC1„| Š±*Ää¹bƒø%R¦Ã„yŒáW 
ÂbaAÀš\"x°¶l$7 À]$DèrŠ @ÑLÛÖÂ†ns,p „C  1pw·¶×í` #x_
$¸¡µÈC´°€˜]	òüI¸ …‡î¹ñ’÷°2žTDðUÁ‚”^÷€OAšMýaûéÕ?Ãw<t° ®øÃˆM@†™$8H¨ÅÈ<@yåpÁÌƒ…Ä[+.ù1Ÿ6üþáÕ„ ¼ÑvrØ"N<XäE èAD.hPÃG `@)”&HíX¤
2 0€lâ3ƒ‰Ü‰”¤Ê4…‹ÕPj¸Ð™œb¢Éw‹ç!N&“P¹@7Œá@Q# ð‹ÉÍ° ‚LüáC&4ŠÀ‚G A%›Ð,1ˆ'@ÆIæ—vŽàR–åá"@ud9mÚp-"È˜	PQÂ–~èW¤mPƒ…x8 .XQBa%8 G£  ¦`#ô	ËdêG	áä`#&ð‘©K&Èv–9'À“i u–@g³%€Ô(d(Q °@#(üÖ¨0{€4¼fj€#l°Î:ß‘²H¼Aî’n8 A&0{«Å@+Âk5n“Î€Î+e~ÒŒ7:$ Â2TÀ€
)d*ñ!  ;   07070100027082000081a40000000000000002000000013d1fe2d1000002b3000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_16.gif  GIF89a0 0 Ä  ©ß[i§šœ¨b_X‚‘ÑEU›ÌÊÉÿÿÿËÓõp€Èet·;K‘³½çP_¢uuyB?3)3dâáç††‰æêûEKl]c‡þýôöôôíêêú÷óòïï±³¿ÛÚÕ!Øæÿ!ù     ,    0 0  ÿ "Ždižhª®lë¾p,Ïtmßx®ï|ïÿÀš&#)n0ÁÑ¦Ã‹€Åa00,Ždw‘4Ôªµ(£Rypj™ƒ  68Ì `q7û©o0V}~ ‚‰~fQ-avhšf ›Tš£’*£ez­z
­®­gP(ve‹ÇÇN
žÈ 	ÈÏ`À%žááÓâá	æá†e$èážäùžÊ<h  Á/—ÀÚ&¢$Yž8ÐiÐì'€£5k@;
ôH@Á»Sþÿ¨È
 ý<%´'àÁ  @v$iòÁˆ
4þ‚ J=/°9€Ì((G c“¨D¤Äs4‡û F}é‰ß 8p8 ‘É	#8x‹ÄT]ƒ¢n¦ÎSH\‘až BXLn€Å%€àA Å‹ 8s8‚‡"NÜ´•‚*
î‚q « >	LÓs7¸ÄÑ%aeP¥OßVV€p:“Ÿî  A_yéA2c`ò=«~€¹©"ƒ€
ÈINŸÎº@k‘hƒp …ŒŸæN(
ŒqÀBÞÒÍEhãA{4`ÀÁ0lÔAÊƒTgÐÀ£5ùÇÆ† •……I„(âˆ$–hâ‰(¦¨âŠ,¶èâ!  ; 0707010002708c000081a40000000000000002000000013d1fe2d100000405000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_17.gif  GIF89a0 0 „  ÿÿÿ¥¥¥!½½Æ„„„ZZZ   ÿ cÎÎÎc ÿÿ œ1 ÿœ ÿÿ ÿBÿ„ ÿ1 ï ÿÿÎfff½RsssÿÎ kkkÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  þà'Ž_@ž(i¦lëŠë›Æ²(ÔèË‚ž·=àî3¸§`ªXB&}$èˆ@h:EÌã‰j=e¯ãY0Àîqü)ŸQêÁµºÆî„ÃaE6ƒwfz1}o#nc	

&€xƒXŠŒŽv“{"›‘D–Ÿ¡£¥§¨‹ª™²˜&
w¤Š­¤¦"¸º®½D ¢Á§À¯	»¦Ä»ÇÐÒÔ×Æ¹Ø½¢ŽÞÛÓ£Õçéë
ÞÏÑï¯ùÝ¸wØë…N;kÿ” ÏàÀyõ¼I€ `^Gþ ¤·pbEQíeÜ(°ABŽÐþ&¢Óµ€TÙ}€°’žË0A&ÈÙˆ]€\´|ÔŽË›?jofÍ–NÚdP` ÅŠô˜JºÔ¨=«d55«Pež%Z š‡`±®#Û6—ÃqÅ.À{U¯Ö x¤°AÝ·YE
&ŒÒ°[QÐß% ¢‚+Ù€rAŽ˜)h6ztãg
ˆu”À³åÐ¨U«J Áµ@Ú¶AC  Á#¡-8ð-›õ·Þ¿wp.õòæÅS£¬‘ÞºÈ?§PyoÈ½ƒ÷­½”šäTAãný{f·wØá¥¬~~´î×3CH_}1ùVí·ÙAD`z Zþe×(x# M)ˆf6a…™ñ'“ar9â‹€ÊTøL*ðÀ%ž(aˆ÷Ü·G¢_&Šàâ.1jôbŒ2¦hc.ïtã(<>ä94FF°£?˜’=Ð›’‰ å4%qTZiä”KÂ’UDÐÔ–a®pfišðfšM}9e—bF©‘rF2§š°èrfî9”™Á	è•ÑÓ –†öÉ(:KÚHišê1è¡#è¡‹jN4Š)	ž>
é§\!ª©Zb•M§ä€Jjj©vêj z¢
Fde«X¯’P`°–Ð«³‹«‘ÆrQì±'ë+£U…àì³ÓvJ@TAm³Þj	.©Ûv{B4ã’pX Á”n”òž°n»ï’Ëí¼"Xð ·¨Ë®»WÜK0	þlïÀù’@€¿#ü¯»+ì0Ä($Lñ	¼Æ?1Â,r
s\2É#“²Ê-×ðò3ËŒÆ8ç¬óÎ< ;   0707010002708d000081a40000000000000002000000013d1fe2d1000003bd000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_18.gif  GIF89a0 0 Æ  ÿÿÿüüüùùù÷÷÷ôôôóóóòòòñññðððïïïíííìììõõõçççëëëéééêêêèèèöööøøøäääŽŽŽÂÂÂÐÐÐÚÚÚàààÞÞÞßßßæææåååáááÏÏÏ»»»”””´´´ÝÝÝâââÜÜÜîîîããã–––þþþ©©©ÃÃÃ···ªªªŠŠŠØØØÕÕÕ‰‰‰³³³¼¼¼¨¨¨›››ÖÖÖÍÍÍ«««ÛÛÛÆÆÆÄÄÄ²²²ýýý¯¯¯ÓÓÓÇÇÇ¾¾¾±±±ÙÙÙ¬¬¬ûûûÈÈÈ¿¿¿ËËË×××ÊÊÊÌÌÌÅÅÅÎÎÎ¸¸¸ÑÑÑÔÔÔÀÀÀ°°°úúúÉÉÉ¹¹¹½½½ÁÁÁµµµÒÒÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽƒ–	


		˜‡	“š¬
§„	´
 !Â„"#$%%&
$Ê''$($ß„)*+ð:@0‘À ˜L<àÐ,Zè+ÔÀÅ‹(txàÉ BMvð #F°‰„dÌÐ BO¢>.ˆ@¡‰4> , †9,0qà`&êe¸!qg!8rd øÀÄ¬™ªyðð‚Æ§†tì‘DƒX•,àP®þ`õðñCÃT
0Ä†@‚Ä=¤@È»/PÐ`ÃDŠ>tÃH‰(vpBC	&#:CÃ	DØ ÉÑˆ
€À !‚&
#l€ Q%%:˜X`D‚Þ‰V$!áNÃÈ1°0¢Z&Ñ]h2R‰ìÒdÀð¼"P¢80Ÿ(ÈØ#
‚DJù‡¢Ür?¡(Má„XðÞ²Â2 ˜  ;,!‚ƒê ’=€F8Á›†T QÅ‡*¡Ã=h ;X‘¢†7¬pÄ‹6qÄ)¨xAä¨á `§âN ¡" P`$¡Ä‘IÈpÃ‘/ÑÄ‘C¡“ŠCÈpÁ‘4‘Å‘E,Ðß‘N ;   0707010002708e000081a40000000000000002000000013d1fe2d100000195000000200000000000000000000000000000002500000003reloc/apache/images/type_icon_19.gif  GIF89a0 0 Â  øüø   ø@øü ò) WQ«ÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊIk8gÛ´¿^p¢•b…nÏšž.Ç4=×xyç<ëô@_#(À£¦l
pÎ#3z¤QÓ«v‹m¸`m6L–zËèîï;h»Ý`^¨Ô·þPïzosqr wrJ‚o~~€v…‡qˆF“m•s£Š™}œž‘“¥†¯¤¥©vž«¡¯¹º‡ˆ©£ª ‚¼¤¹¿³}½Ÿ’^Ê—®™ÇÈÀ#^–Ñ¥ÐÓÉu‘0‰Ñv™˜†Ü‰tßÍ‡~Š…±ç‰Þ2^r³öwtñË0ÊÓîžüÕ¢·f:{Éôu›W­ ÁpRçKžÄ‡êúRøIŸµ;2¤¸QÞ>‰‡ÌBt™´‘E®ØP¥Lƒ)TŠ Ó
8úzNÁ!qº´é„£N£"•JUgÍªR¡b}  ;   0707010002708f000081a40000000000000002000000013d1fe2d100000119000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_2.gif   GIF89a0 0 ¡  ÿÿÿÈ  —  ÿ  !ù    ,    0 0  ê„©Ëí£œ´Ú‹³Þ<øÀ]Ÿ'„Ôð	ê`BÃ›®o«Œ/,Ü÷ØŽA®úJIÜ‰™€ñ‡L¢–3Ì'¼ê~I‘-›’‚AŸgK?Ieóy
ªc@ˆûËU+ã:ÇÝ'öµ#·G†ðg6–77Âd€è¶§B(EÇr y7©·‰ô˜‰B	ç´EHŠ˜4$6	ªú‡Æ4©‚»ê‰j{{˜+;ªÓk» üBÜÛp|§LüÐ<ô\l'Gíè'ý:ÑÜíK®ý­Z®š®ÙÝóGMƒk¦<_3í}oL·omî/ À4P  ;   07070100027090000081a40000000000000002000000013d1fe2d1000001d6000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_3.gif   GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100027091000081a40000000000000002000000013d1fe2d100000113000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_4.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100027092000081a40000000000000002000000013d1fe2d100000175000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_5.gif   GIF89a0 0 ã  ÿÿÿ™™™ÌÌÌfff ÿÿÿÿ   ÿ ÿ                         !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Žc œhª®d˜k·Ók¸€º@üÀß‰°Ád¾`¡@¶ŒÜnw
–MÁŠ¬pA§úš
h´o
ƒÈ¯®à0n¼¬3çîvwwyrH‚ˆxZ!'Tf}}<s‰ƒ‹ †2”•"<igj<TšŠœ˜¨„ŽR9‘£Žª©©§®u­~³µ¨·u’¿½Ä†§ÇHÉÊ3Œ°­ÐÃ2Á¹¸T]ÌÍ*§Ÿ Ö¸°=–ÛÔÏ×±=Þß‘ÅæÎ—õööº®â’§ þë÷ïÞ?wà¦‘óp`½‰ñW¿{F6êÝ…†#%ø(ñÆ{{P¥fa¡xÜžÁDA¤¦Í›8sêÜÉÓB ;   07070100027093000081a40000000000000002000000013d1fe2d10000018b000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_6.gif   GIF89a0 0 Â  ÿÿÿ™™™ ÿÿÿÿ    fffÌÌÌ ÿ !ù    ,    0 0  þºÜþ0Ê@k8?*z¿ZˆUÝ0 ¨6Vy¦Ä
ÅŽxŸŒÑ,îƒZŒdE¤qq
¿…ðˆ¦D)ãö|â`Õ«ÒjÕš\ƒ×,ºÉá8O‰>Ô…ƒþRÍé{ƒz}Iˆ‚„{†:Œ|+6—•™š›œ™ ¡!xO£¡¢©§§g;Cs<6¬ ³b¿€x¦wwUˆncAYr<ºÎ³ÊqÀ€TÍÄ]ÂZeÒÕKÛÎºR·ÝWËåçÖÄjÙ•¾à¬™îÃÂÅ®ôð»øúûü 
dià–&*d 	
 ‚à‚‚B„q!|Ù°ÃQ¢ˆyµj@$¤´sÜ–L«@Òã˜3Õ’Pùµ¢² %Å˜#÷Ø"º¤vŒæNqL þ°Ø	$	(†nr:2O!¦Y
 5à%Ã>H  ; 07070100027094000081a40000000000000002000000013d1fe2d10000018a000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_7.gif   GIF89a0 0 ã  ÿÿÿÇÇÇrrr999   UUUªªªãããŽŽŽÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(ŽdiÂ@¬…q˜b¬t]¼š¡ïˆµ w	}@¡2€9 ¤R8À‚‚OB©“Ö˜–YÈzñøâ% 9Û´ÒžWŽUí=‰ÓìNrX‚ˆ+	~+`‹€iA‘jM†šOVAd^U0?A|žª–6¥±²5A¶  ›5©ª¾˜5Y0¬B¦k0ÄÍÎ4ªWÌˆÂ$FAÆŠ4É%z4®ÖÅ&…ƒj0‹œb•"šâb¹ãÏî+ç!È« Áƒª„ ¬À®F‰†Ô8LÒ0E(•H·¢ÞP&ûì	™¡4&;(,±r7‡$ØAæÌ“sêÜÉ³§Ï  ;  07070100027095000081a40000000000000002000000013d1fe2d100000186000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_8.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100027096000081a40000000000000002000000013d1fe2d1000001cc000000200000000000000000000000000000002400000003reloc/apache/images/type_icon_9.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100027097000081a40000000000000002000000013d1fe2d10000020c000000200000000000000000000000000000001d00000003reloc/apache/images/virt.gif  GIF89a0 0 „  ÿÿÿ¥¥¥!½½Æ„„„ZZZ   ÿ cÎÎÎc ÿÿ œ1 ÿœ ÿÿ ÿBÿ„ ÿ1 ï ÿÿÎfff½RsssÿÎ kkk                        !ù    ,    0 0  þ  Ždižhª®lëŠÁ+Ït½
vn
¸î¸ÀÀg# Â!Q6,Êåk`¨‡˜´5 †„B¡Ýª¼ˆ…Á84Ì,ÇAQe7pU£qHÔÝy(jb‚&rU
{Œ&
†a‰–&…tlož#s	£c¦>±"±$™šˆnµ#´ ÀÁ²¿Ä¾³&¥s‡‰¶¿Ð%ÇÁÒÈ c‘“¯ÔÕÑáâà×{›’×ãÔßäÄä 
	aö‹ðÇòüÈ¾¾¨goÁ¨ð$ØNZ­€&Ì€d0¢(á6„¨9U5À­#
ÕŠàaƒ rW§…&OZ3‹ÙšŠN¼S±3Eƒº)P8m¦> ­©àè	>öªtsJÂMÔ
”¡:‡A&Q­:Ñ ±cEœÛ…3í,tî‘äª‹Á+·{
8ëv½FúŠ8@ €…#‚\°`À‚„¹T-<0\)1É•[(9ñãÄ g„  ;07070100027098000081a40000000000000002000000013d1fe2d100000a5e000000200000000000000000000000000000002300000003reloc/apache/images/virt_index.gif    GIF89a«0 ã  ÿÿÿUUU   rrr999ãããÇÇÇªªªŽŽŽÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿ!þMade with GIMP !ù    ,    «0  þÈI«½8ëÍ»ÿàv$A$H¨®lë‚2˜CúÞx®Wàûáç+$=ân™#
,ÃÀé™Ø¬pR×íÇ	‹§Äræ@J
Ä‚yžATWè¯ÓFïû-]zN	lDn…:viIDad-1•aŠŒ?|^‚{™£[	¡TjY–•›>¤-¯Om´‰*´±²HN˜p§TÂ¿È+Å?„ZËÐÉ-‡?©¦Á¹¢,ÐÇ¿Ð!ÐÌ»ÕéåæáMDÒNê,NrÄ?ñÓ-ãôNöy¸ö£@j€RB¯a†mù(ü"‰$ö† R‡
B	þ«X¹HïV£Ÿ„+÷Q£F‚EZv3†…–³
¬Èt©#†”w˜ÄFÏæ˜÷.åÄÓe¾"î äù.DXMsü³°+Ž{Í	ÙjÃU¾2L°“´´(]r6‹¥¶ ÊvXkdÃSAmUÂëv²7BÖd	ÃÖ
|+0QB&å>ù@imHPn+ÚDÛÉ_f ‡ÒðjoÚþª^MÙ™æZ—³ÅÍ}sB *QK—˜Ç“Gk£Q^æw‘Þ¾+¥´†¹Ô¡K¾Œ0ÁÓÙ$H	úÛT ŸíÔ
‚|	ÎRáó¸0C
·õµIýàþô<á´À{Í ðòµ”ÀÕ_~aàY´€ÉSñd¸§PÐŸRäÅáÎz"RÇ€ÎÄTg%Åk	íÑ;D|ôâÇ"„Ç\äÁkädAr@ZÐ‹XçYðWEž’<¥›R4u0dx˜ —¡È($^Ú³Ò<?úÐŽÕH„/)U5bh{,Xâ} Œ	&Qö1ƒŽcpÃ’_è¶^MR [¾™³_\U$ªÁYUe°¥›TFW¨@z™æ vAJlú¡_¸!–¢YîùaŸ›qTL£*2æ¢aâ›–E¥A™_XF†OkÁId•¡¢CK9pþU’¯\z`¨_NŠ«ÒêNö0#µÊåù&w|ûé§¸'Cƒ¹è•®ãÎÈ.ÞùDÜ®°HÀ\ÆÔÝ_è¤ùj¶™¥7AJ³9Wd³rÐU…–Â†ã¾+üJ…ï€ P¯ž¸>Q	’-!lƒ—ŽÉé1‹kOW|´Þ‘N´µVKfâg/0xî
,&ÁZÙ -„0ƒ„é»C·ÉEÎüÕ;A+ÍQÆ ;”bÏ<ÿÀð >îlm-ÉÇÇÊäÆ;æYÞÌ*Ô°Ö¶Øòà‰µˆqTÐãœê \]Éx° OÓ=7U~“-AJ;ÕÛ€Í¾–£þ5OðE,œÊDdÔ}{J„v‹¶”ç;/«¤7¥"uÞx»ëCTsº**z¡7]Ð¨çºüj^¡‚wïè°¿›aTcf¨­©®Œi°
µóz§•N§sï¼ý9èZo]îÑzëy¶WË¨Ä;RpaÄ|‚ÿ»ûµ„VWß'Î¸
)^Û8Øa¿»>cŠÓð^¯ömÛÛ §d§¡â¡TÝIýþâI½#¹@Œ„!—J\¡|‡‹ æzg7,aoo¼_ ©–à ˜
Uç@ú îVZÞìFÈ¿ñÅÏ‡Úö~%$JibW3+à»Îg9úN †ãáû<T5³¦pG¬•þ¡HDºÐ‡•ËØ1µÌ½@<¥j Æ‘KX/{,žþw¾6ŽLH
=ð¿<Þiõé£$ÄÊîJ]ÙEàL•´,âm-A#ü®4@¦	òL—sÅB«på`ŒzpC‰!ÂJ­V(nHì±oÀB¢(/'þ­“¸l¢ñðµ´v’
h-Ðµ;Ç˜±—‘¤É¿2#(NJ9Ê ®û ðk!äçF©>$Ð•õSàÎÄWËnñJÑŒfÝhäG:e’{ú3—ØŒÈÌØõ²ré›$ áQdéTúÌ@ŸH-Ù…q˜²<¦÷ªéË'Ròj¼|ˆþº’ÌÚÁ¤RÎ3åãØI£\Òì™Ç³ØÇ¼NúŠœäthÙÈPP4…@ÐÂYÜÃÐÛ-ôÐ&mG­+\ó?Í@,¿G}À´¡²»	LªÒ-ÒRAqÄ3*„3 åô¤­´hÐæoÁˆ
ˆËTJ‰µ Åì˜“´Rž>X£	ÊV;vu¯¼N4‹åÈ÷É­I©w‘RÁæG†ûÎÑZUJF-$_!	“‚Ó±ºcŠ.T`Ø-b~OPG7ÕŸÔORìÚhojN ê²¡A½¨'ôÇoºÓ‰€ªgk³jÚÊµ¤ÎêhôºØ>¡fŽ¬ÈmOÒþà8Û1µ·öäìb/ ŸEt¶«Pí6kB<ò¨aD«VÙ´˜>V·ZÝ(ÿ•TúõÎ¶^í¡èðöÅ—ÞsúÁ]qùfÔsº gÕ¡ ËÕJþð·Þ"”R
`Ë~ôé hôÝ‰m zßÅ`á7Hþnx²L…rEpãÖj©¬ND×J®vo#AƒÂ#¸WÀ-ù©rÅ²V%´‡[‰­Ù¼Æí½Õ¿®– Øà£"5¨$…ŠRX²Å÷rG®­okû§|žwœ*€0ƒ%^¤úsÃ÷e,‡³‘!tØ–H´ %PÊÚ‚õn¸G}T•’±’nòAj†‘þªÀp@©€FÂ	<c³Åñ¥ÊÄ#-®øHªbJä9ãcï¤¡ðEÎ  e>Ž1‚Í!‰G¬_Hfš‘Ü×¯"Ø6DE ~TÛ„¬zV%¾:ËÀÝr8ž¼=cM¯ÄMñá(t(bñEV“–BÎ®PÜ‘Íý˜4ö-¡*ß×¶ÃIæ(±{ù¾ŸBÏäŽ.„Ý)
CØÇÀ<ãŠît»©wÍ,®í}Ô¹Ýí¯a1n %½Yw?e¨8ju"4™5@qx7õÒîf”K¦px¨"ä\øßjÞx.>æQGAl¡/°ØÛz*!ž¤Ãþç&·Ù¦®5.þÞ*Cl¥ÿ<·q@oDÅ&‹„bTÝs¡?¯ßòV¯¼Ï¬Ÿf‘eÂh«dŒt5PtìÑö@ˆØd|ì†Öuî´¡ºDÁ4Ù]™¹¼ ‘Œ»PP•wâb…ŠÈÉG >"øäÞÉ
u`^ÚÈ 	/+¶Mxa‚¢c!30
|]šŒU#¢·»d@Ó¿ö
h,ç…2Ælþô¢Ø1ÏûÞûÞ!Žþ½ð‡OüâÁG?¾ò—ÏüæÿAÕÎ¾ô§O}^4·úØÏ¾ö±?èí{ÿûàï}–ÃOþò›ã>¿ú×Ïþ-H¼ýð¿ü5ŽÙùW  ;  0707010005c572000081e40000000000000002000000013d1fe2d100002eca000000200000000000000000000000000000001700000003reloc/apache/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display a list of all virtual servers, and links for various types
# of global configuration

require './apache-lib.pl';

# check for the base directory
if (!(-d $config{'httpd_dir'})) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr><p>\n";
	print &text('index_eroot', "<tt>$config{'httpd_dir'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# check for the executable
if (!-x $config{'httpd_path'} || -d $config{'httpd_path'}) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr><p>\n";
	print &text('index_eserver', "<tt>$config{'httpd_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# check if this is a new apache install, by looking for -dist files
$conf = "$config{'httpd_dir'}/etc";
if (!-d $conf) { $conf = "$config{'httpd_dir'}/conf"; }
if (!$config{'httpd_conf'} && !(-e "$conf/httpd.conf") &&
    (-e "$conf/httpd.conf-dist") && (-d $conf)) {
	# copy all the .dist files and fix up @@ServerRoot@@ references
	# Only needed for apache versions < 1.3, which don't do this as part
	# of the 'make install'
	$sroot = $config{'httpd_dir'};
	opendir(CONF, $conf);
	foreach $f (readdir(CONF)) {
		if ($f =~ /^(.*)-dist$/) {
			open(DIST, "$conf/$f");
			@dist = <DIST>;
			close(DIST);
			open(REAL, "> $conf/$1");
			foreach (@dist) {
				s/\/usr\/local\/etc\/httpd/$sroot/g;
				s/\@\@ServerRoot\@\@/$sroot/g;
				print REAL $_;
				}
			close(REAL);
			}
		}
	close(CONF);
	}

# check for the httpd.conf file
if ($config{'httpd_conf'}) { $htconf = $config{'httpd_conf'}; }
else { $htconf = "$conf/httpd.conf"; }
if (!-e $htconf) {
	# still doesn't exist!
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr><p>\n";
	print &text('index_econf', "<tt>$htconf</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# check if apache executable has changed..
@st = stat($config{'httpd_path'});
if ($st[7] != $httpd_size || $httpd_modules{'core'} < 1) {
	# Changed .. redirect to reconfig form
	&redirect("/$module_name/reconfig_form.cgi?size=$st[7]");
	exit;
	}

# check for multiple port directives
$conf = &get_config();
@prt = &find_directive("Port", $conf);
if (@prt > 1 && $httpd_modules{'core'} < 1.3) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr><p>\n";
	print &text('index_eports', 'Port'),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# add default server
if (&can_edit_virt()) {
	push(@vname, $text{'index_defserv'});
	push(@vlink, "virt_index.cgi");
	push(@vdesc, $text{'index_defdesc1'});
	push(@vaddr, $text{'index_any'});
	push(@vport, $text{'index_any'});
	push(@vserv, &def(&find_directive("ServerName", $conf),
			  $text{'index_auto'}));
	push(@vroot, &def(&find_directive("DocumentRoot", $conf),
			  $text{'index_auto'}));
	$showing_default++;
	}

# add other servers
@virt = &find_directive_struct("VirtualHost", $conf);
if ($httpd_modules{'core'} >= 1.3) {
	# build list of name-based virtual host IP addresses
	@nv = &find_directive("NameVirtualHost", $conf);
	foreach $nv (@nv) {
		$nv{$nv eq "*" ? "*" : &to_ipaddress($nv)}++;
		}
	}
elsif ($httpd_modules{'core'} >= 1.2) {
	# only one name-based virtual host IP address - the default address
	$ba = &find_directive("ServerName", $conf);
	$nv{&to_ipaddress($ba ? $ba : &get_system_hostname())}++;
	}
@virt = grep { &can_edit_virt($_) } @virt;
if ($config{'show_order'} == 1) {
	# sort by server name
	@virt = sort { &server_name_sort($a) cmp &server_name_sort($b) } @virt;
	}
elsif ($config{'show_order'} == 2) {
	# sort by IP address
	@virt = sort { &server_ip_sort($a) cmp &server_ip_sort($b) } @virt;
	}
foreach $v (@virt) {
	$vm = $v->{'members'};
	if ($v->{'value'} =~ /^(\S+):(\S+)$/) {
		$addr = $1;
		$port = $2;
		}
	else {
		$addr = $v->{'value'};
		if ($httpd_modules{'core'} < 2.0) {
			$port = &def(&find_directive("Port", $conf), 80);
			}
		else {
			$port = "*";
			}
		}
	push(@vname, $text{'index_virt'});
	push(@vlink, "virt_index.cgi?virt=".&indexof($v, @$conf));
	$sname = &find_directive("ServerName", $vm);
	if ($nv{"*"}) {
		if ($addr eq "_default_" || $addr eq "*") {
			push(@vdesc, &text('index_vnamed', "<tt>$sname</tt>"));
			}
		else {
			push(@vdesc, &text('index_vname', "<tt>$sname</tt>",
					   "<tt>$addr</tt>"));
			}
		}
	elsif ($addr ne "_default_" && $addr ne "*" && $nv{&to_ipaddress($addr)}) {
		push(@vdesc, &text('index_vname', "<tt>$sname</tt>",
				   "<tt>$addr</tt>"));
		}
	elsif (($addr eq "_default_" || $addr eq "*") && $port eq "*") {
		push(@vdesc, $text{'index_vdef'});
		$vdesc[0] = $text{'index_defdesc2'};
		}
	elsif ($addr eq "_default_" || $addr eq "*") {
		push(@vdesc, &text('index_vport', $port));
		}
	elsif ($port eq "*") {
		push(@vdesc, &text('index_vaddr', "<tt>$addr</tt>"));
		}
	else {
		push(@vdesc, &text('index_vaddrport', "<tt>$addr</tt>", $port));
		}
	push(@vaddr, $addr eq "_default_" || $addr eq "*" ? $text{'index_any'}
							  : $addr);
	push(@vport, $port eq "*" ? $text{'index_any'} : $port);
	push(@vserv, &def(&find_vdirective("ServerName", $vm, $conf),
			  $text{'index_auto'}));
	push(@vroot, &def(&find_vdirective("DocumentRoot", $vm, $conf),
			  $text{'index_default'}));
	$cname{$v} = sprintf "%s:%s (%s)", $vserv[@vserv-1], $vport[@vport-1],
					   $vroot[@vroot-1];
	}

# global config options
$ver = $httpd_modules{'core'};
$ver =~ s/^(\d+)\.(\d)(\d+)$/$1.$2.$3/;
&header($text{'index_title'}, "", undef, 1, 1, undef, &restart_button()."<br>".
	&help_search_link("apache", "man", "doc", "google"), undef, undef,
	&text('index_version', $ver));
if ($access{'global'}) {
	print "<hr>\n";
	print "<h3>$text{'index_global'}</h3>\n";
	if ($access{'global'} == 1) {
		$ht_icon = { "icon" => "images/dir.gif",
			     "name" => $text{'htaccess_title'},
			     "link" => "htaccess.cgi" };
		$rc_icon = { "icon" => "images/recon.gif",
			     "name" => $text{'reconfig_title'},
			     "link" =>
				"reconfig_form.cgi?size=$httpd_size&vol=1" };
		$df_icon = { "icon" => "images/defines.gif",
			     "name" => $text{'defines_title'},
			     "link" => "edit_defines.cgi" };
		$ed_icon = { "icon" => "images/edit.gif",
			     "name" => $text{'manual_configs'},
			     "link" => "allmanual_form.cgi" };
		$ds_icon = { "icon" => "images/virt.gif",
			     "name" => $text{'index_defserv'},
			     "link" => "virt_index.cgi" };
		&config_icons("global", "edit_global.cgi?",
			      $ht_icon, $rc_icon, $df_icon,
			      $access{'types'} eq '*' &&
			      $access{'virts'} eq "*" ? ( $ed_icon ) : ( ),
			      $showing_default &&
			      @vname > $config{'max_servers'} &&
			      $config{'max_servers'} ? ( $ds_icon ) : ( ) );
		}
	else {
		&icons_table([ "htaccess.cgi" ],
			     [ $text{'htaccess_title'} ],
			     [ "images/dir.gif" ]);
		}
	}

# show virtual hosts header
if ($access{'virts'}) {
	print "<hr>\n";
	print "<h3>$text{'index_virts'}</h3>\n";
	}

# display servers
$formno = 0;
if ($config{'max_servers'} && @vname > $config{'max_servers'}) {
	# as search form for people with lots and lots of servers
	print "<b>$text{'index_toomany'}</b><br>\n";
	print "<form action=search_virt.cgi>\n";
	print "<b>$text{'index_find'}</b> <select name=field>\n";
	print "<option value=name checked> $text{'index_name'}\n";
	print "<option value=port> $text{'index_port'}\n";
	print "<option value=addr> $text{'index_addr'}\n";
	print "<option value=root> $text{'index_root'}\n";
	print "</select> <select name=match>\n";
	print "<option value=0 checked>$text{'index_equals'}\n";
	print "<option value=1>$text{'index_matches'}\n";
	print "<option value=2>$text{'index_nequals'}\n";
	print "<option value=3>$text{'index_nmatches'}\n";
	print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'find'}\"></form>\n";
	$formno++;
	}
elsif ($config{'show_list'} && scalar(@vname)) {
	# as list for people with lots of servers
	print "<table width=100% border=1>\n";
	print "<tr $tb> <td><b>$text{'index_type'}</b></td> ",
	      "<td><b>$text{'index_addr'}</b></td> ",
	      "<td><b>$text{'index_port'}</b></td> ",
	      "<td><b>$text{'index_name'}</b></td> ",
	      "<td><b>$text{'index_root'}</b></td> </tr>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr $cb>\n";
		print "<td><a href=\"$vlink[$i]\">$vname[$i]</a></td>\n";
		print "<td>",&html_escape($vaddr[$i]),"</td>\n";
		print "<td>",&html_escape($vport[$i]),"</td>\n";
		print "<td>",&html_escape($vserv[$i]),"</td>\n";
		print "<td>",&html_escape($vroot[$i]),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	# as icons for niceness
	print "<table width=100% cellpadding=5>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr> <td valign=top align=center nowrap>";
		&generate_icon("images/virt.gif", $vname[$i], $vlink[$i]);
		print "</td> <td valign=top>\n";
		print "$vdesc[$i]<br>\n";
		print "<table width=100%><tr>\n";
		print "<td width=30%><b>$text{'index_addr'}</b> ",
		      &html_escape($vaddr[$i]),"<br>\n";
		print "<b>$text{'index_port'}</b> ",
		      &html_escape($vport[$i]),"</td>\n";
		print "<td width=70%><b>$text{'index_name'}</b> ",
		      &html_escape($vserv[$i]),"<br>\n";
		print "<b>$text{'index_root'}</b> ",
		      &html_escape($vroot[$i]),"</td> </tr>\n";
		print "</table></td> </tr>\n";
		}
	print "</table>\n";
	}

if ($access{'create'}) {
	print "<form action=create_virt.cgi>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'index_create'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";
	print "<tr> <td><b>$text{'index_addr'}</b></td>\n";
	print "<td>",&opt_input("", "addr", $text{'index_any'}, 20),
	      "</td> </tr>\n";

	print "<tr> <td></td>\n";
	print "<td><input type=checkbox name=nv value=1 checked> ",
	      "$text{'index_nv'}</td> </tr>\n";

	print "<tr> <td></td>\n";
	print "<td><input type=checkbox name=listen value=1 checked> ",
	      "$text{'index_listen'}</td> </tr>\n";


	print "<tr> <td><b>$text{'index_port'}</b></td>\n";
	print "<td>",&choice_input("0", "port_mode", "0",
				   "$text{'index_default'},0",
				   "$text{'index_any'},1", ",2"),
	      "<input name=port size=5></td> </tr>\n";

	print "<tr> <td><b>$text{'index_root'}</b></td>\n";
	print "<td><input name=root size=40>\n";
	print &file_chooser_button("root", 1, $formno);
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'index_name'}</b></td>\n";
	print "<td>",&opt_input("", "name", $text{'index_auto'}, 20),
	      "</td> </tr>\n";

	print "<tr> <td valign=top><b>$text{'index_file'}</b></td> <td>\n";
	printf "<input type=radio name=fmode value=0 %s> %s<br>\n",
		$config{'virt_file'} ? "" : "checked",
		&text('index_fmode0', "<tt>httpd.conf</tt>");
	printf "<input type=radio name=fmode value=1 checked> %s<br>\n",
		&text('index_fmode1', "<tt>$config{'virt_file'}</tt>")
		if ($config{'virt_file'});
	printf "<input type=radio name=fmode value=2> %s\n",
		$text{'index_fmode2'};
	printf "<input name=file size=30> %s</td> </tr>\n",
		&file_chooser_button("file");

	print "<tr> <td><b>$text{'index_clone'}</b></td>\n";
	print "<td><select name=clone>\n";
	print "<option value='' checked>$text{'index_noclone'}\n";
	foreach $v (@virt) {
		printf "<option value=%s>%s\n",
			&indexof($v, @$conf), $cname{$v};
		}
	print "</select> &nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
	print "</table></td></tr></table>\n";
	print "</form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

sub server_name_sort
{
return &def(&find_vdirective("ServerName", $_[0]->{'members'}, $conf),
	    $_[0]->{'value'});
}

sub server_ip_sort
{
local $addr = $_[0]->{'value'} =~ /^(\S+):(\S+)/ ? $1 : $_[0]->{'value'};
return $addr eq '_default_' || $addr eq '*' ? undef :
       &check_ipaddress($addr) ? $addr :
			         &to_ipaddress($addr);
}

  07070100027099000041ed0000000000000001000000023d1ff9c600000000000000200000000000000000000000000000001200000003reloc/apache/lang 0707010002709a000081a40000000000000002000000013d1fe2d100009f11000000200000000000000000000000000000001500000003reloc/apache/lang/ca  index_title=Servidor Web Apache
index_eroot=El directori arrel d'Apache $1 no existeix. Si tens instal·lat l'Apache, fes servir la <a href='$2'>configuració del mòdul</a> per corregir el camí.
index_eserver=L'executable servidor d'Apache $1 no existeix. Si tens instal·lat l'Apache, fes servir la <a href='$2'>configuració del mòdul</a> per corregir el camí.
index_econf=El fitxer de configuració d'Apache $1 no existeix. Si tens instal·lat l'Apache, fes servir la <a href='$2'>configuració del mòdul</a> per corregir el camí.
index_eports=La configuració d'Apache conté més d'una directiva $1. La versió actual de Webmin no pot gestionar adequadament aquesta configuració.
index_global=Configuració Global
index_virts=Servidors Virtuals
index_defserv=Servidor per Defecte
index_defdesc1=Defineix els valors per defecte de tots els altres servidors virtuals, i processa qualsevol petició no gestionada.
index_any=Qualsevol
index_default=Defecte
index_auto=Automàtic
index_virt=Servidor Virtual
index_vname=Gestiona el servidor $1 basat en noms sobre l'adreça $2.
index_vnamed=Gestiona el servidor $1 basat en noms sobre totes les adreces
index_vdef=Processa totes les peticions no gestionades per la resta de servidors virtuals.
index_defdesc2=Defineix els valors per defecte de tots els altres servidors virtuals.
index_vport=Processa totes les peticions del port $1 no gestionades per la resta de servidors virtuals.
index_vaddr=Gestiona totes les peticions sobre l'adreça $1.
index_vaddrport=Gestiona totes les peticions sobre l'adreça $1 del port $2.
index_type=Tipus
index_addr=Adreça
index_nv=Afegeix nom per l'adreça del servidor virtual (si cal)
index_listen=Escolta l'adreça (si cal)
index_port=Port
index_name=Nom del Servidor
index_root=Arrel dels Documents
index_create=Crea un nou Servidor Virtual
index_return=a la llista de servidors
index_toomany=Hi ha massa servidors virtuals al sistema com per mostrar-los en una pàgina
index_find=Busca els servidors que
index_equals=siguin iguals que
index_matches=coincideixin amb
index_nequals=no siguin iguals que
index_nmatches=no coincideixin amb
index_clone=Copia les directives de
index_noclone=Enlloc
index_version=Versió Apache $1
index_file=Afegeix un servidor virtual al fitxer
index_fmode0=Fitxer $i estàndard
index_fmode1=Fitxer de servidors virtuals $1
index_fmode2=Fitxers seleccionats...

cvirt_ecannot=No tens permís per crear un servidor virtual
cvirt_err=No he pogut crear el servidor virtual
cvirt_eaddr1=No has introduït cap adreça
cvirt_eaddr2='$1' no és una adreça vàlida
cvirt_eport='$1' no és un port vàlid
cvirt_ename='$1' no és un nom de servidor vàlid
cvirt_eroot1=Has d'introduir l'arrel dels documents
cvirt_eroot2=No he pogut crear el directori '$1': $2
cvirt_eroot3=No tens permis per fer servir el directori arrel '$1'
cvirt_etaken=Ja existeix un servidor virtual amb el mateix nom i el mateix port
cvirt_efile=No he pogut escriure a $1: $2

etype=No tens permís per editar opcions d'aquesta mena
efailed=No he pogut desar $1
apache_apply=Aplica els Canvis
apache_stop=Atura Apache
apache_start=Inicia Apache
auth_return=al control d'accés
default_serv=servidor per defecte
bytes=bytes

global_ecannot=No tens permís per editar les opcions globals
global_mime=Llista de tipus MIME globals
global_mimedesc=Fes clic sobre un tipus MIME de la llista de sota per editar-lo, o bé fes servir l'enllaç del peu de la pàgina per afegir-ne un de nou a la llista.
global_type=Tipus
global_ext=Extensions
global_add=Afegeix un nou tipus MIME
global_return=als tipus MIME

mime_ecannot=No tens permís per editar tipus MIME
mime_edit=Edició de tipus MIME
mime_add=Afegeix tipus MIME
mime_header=Extensions de fitxers a mapejar com a tipus MIME
mime_type=Tipus MIME
mime_ext=Extensions
mime_err=No he pogut desar el tipus MIME
mime_etype='$1' no és un tipus MIME vàlid

virt_title=Opcions del Servidor Virtual
virt_ecannot=NO pots editar aquest servidor virtual
virt_header=$1
virt_opts=Detalls del Servidor Virtual
virt_conf=Configuració del Servidor
virt_show=Mostra les Directives
virt_edit=Edita les Directives
virt_adddir=Crea Opcions de Directori, Fitxers o Ubicació
virt_type=Tipus
virt_Directory=Directori (Directory)
virt_Files=Fitxers (Files)
virt_Location=Ubicació (Location)
virt_Proxy=Proxy
virt_exact=Coincidència exacta<br>
virt_re=Coincidència amb l'expressió
virt_regexp=Expressió regular
virt_path=Camí
virt_return=a l'índex de servidors
virt_euser=No tens permís per canviar l'usuari o el grup d'aquest servidor virtual.
virt_header2=$1 de $2

vserv_title=Configuració de Servidor Virtual
vserv_ecannot=No pots editar l'adreça d'aquest servidor virtual
vserv_addr=Adreça
vserv_addrs=Adreces
vserv_port=Port
vserv_any=Qualsevol
vserv_default=Defecte
vserv_root=Arrel de Documents
vserv_name=Nom del Servidor
vserv_delete=Suprimeix el Servidor Virtual
vserv_err=NO he pogut desar el servidor virtual
vserv_eaddr1=No has introduït cap adreça
vserv_eaddr2='$1' no és una adreça vàlida
vserv_eport='$1' no és un port vàlid
vserv_eroot='$1' no és una arrel de documents vàlida
vserv_ename='$1' no és un nom de servidor vàlid
vserv_eaddrs=No has introduït cap adreça del servidor virtual

show_title=Directives
show_edit=Edita la directiva Apache:
show_these=Edita les directives manualment
show_ok=Edita

manual_configs=Edita els Fitxers de Configuració
manual_title=Edició de Directives
manual_header=Fes servir la caixa de text de sota per editar manualment les directives Apache de $1 que s'apliquen a aquest servidor virtual, directori or fitxers.
manual_ecannot=No tens permís per editar directives manualment
manual_file=Edita les Directives del Fitxer:
manual_efile=Fitxer de configuració Apache invàlid

dir_title=Opcions de Directori
dir_header=$1 a $2
dir_show=Mostra les Directives
dir_edit=Edita les Directives
dir_opts=Les opcions s'apliquen a...
dir_Directory=Directori (Directory)
dir_Files=Fitxers (Files)
dir_Location=Ubicació (Location)
dir_type=Tipus
dir_regexp=Expressió regular
dir_exact=Coincidència exacta<br>
dir_re=Coincidència amb l'expressió
dir_path=Camí
dir_return=a l'índex de directoris
dir_header2=$1 de $2

type_0=Processos i Límits
type_1=Xarxa i Adreces
type_2=Mòduls Apache
type_3=Fitxers de Registre
type_4=Control d'Accés
type_5=Opcions de Document
type_6=Tipus MIME
type_7=Gestió d'Errors
type_8=Usuari i Grup
type_9=Miscel·lània
type_10=Àlies i Redireccions
type_11=Programes CGI
type_12=Indexació de Directoris
type_13=Proxies
type_14=Opcions SSL
type_15=Perl
type_16=PHP
type_17=Hosts Virtuals Automàtics
type_18=Filtres
type_19=Idiomes

htaccess_title=Fitxers d'Opcions de Directori
htaccess_ecannot=No pots editar els fitxers htaccess
htaccess_desc=Es poden especificar opcions addicionals per directori amb un fitxer (anomenat normalment <tt>.htaccess</tt>) a cada directori. Les opcions s'apliquen a tots els fitxers del directori i a tots els subdirectoris, a menys que siguin redefinides per un altre fitxer d'opcions.
htaccess_create=Crea Fitxer d'Opcions
htaccess_find=Busca Fitxers d'Opcions
htaccess_auto=Automàticament
htaccess_from=Del directori
htaccess_return=a la llista de fitxers d'opcions
htaccess_edir='$1' no és un directori vàlid
htaccess_ecreate=No tens permís per crear aquest fitxer d'opcions
htaccess_edelete=No tens permís per suprimir aquest fitxer d'opcions

htindex_title=Fitxer d'Opcions de Directori
htindex_ecannot=No tens permís per editar aquest fitxer d'opcions
htindex_delete=Suprimeix el Fitxer
htindex_show=Mostra les Directives
htindex_edit=Edita les Directives
htindex_opts=Opcions de Directori (Directory)
htindex_file=Configuració de Fitxers (Files)
htindex_create=Crea opcions de Fitxers
htindex_regexp=Expressió regular
htindex_exact=Coincidència exacta<br>
htindex_re=Coincidència amb l'expressió
htindex_path=Camí
htindex_header=$1
htindex_header2=$1 del fitxer d'opcions $2
htindex_return=a l'índex de fitxers d'opcions

htfile_title=Opcions de Fitxers
htfile_header=$1 a $2
htfile_show=Mostra les Directives
htfile_edit=Edita les Directives
htfile_apply=Les opcions s'apliquen a...
htfile_header2=$1 de $2

reconfig_title=Reconfiguració de Mòduls Coneguts
reconfig_ecannot=No tens permís per reconfigurar l'Apache
reconfig_ever=No he pogut esbrinar la versió de l'executable servidor d'Apache $1. Comprova la <a href='$2'>configuració del mòdul</a> per assegurar que aquest és el camí correcte.
reconfig_desc1=La configuració d'Apache ha canviat, o bé Webmin encara no l'ha examinat. A sota hi ha una llista de mòduls Apache suportats per Webmin amb els mòduls instal·lats seleccionats. Pots seleccionar o desseleccionar mòduls si la llista no és correcta.
reconfig_desc2=A sota hi ha una llista de mòduls Apache suportats per Webmin tal que tots aquells mòduls instal·lats estan seleccionats. Si estàs fent servir mòduls carregats dinàmicament, llavors pot ser que hagis de seleccionar aquells que es carreguen dinàmicament.
reconfig_desc3=SI no estàs segur/a de quins mòduls estan suportats per Apache, configura-ho de totes maneres, Webmin normalment pot determinar automàticament quins són els mòduls suportats.
reconfig_ok=Configura

defines_title=Edició de Paràmetres Definits
defines_ecannot=No tens permís per editar definicions HTTPD
defines_desc=Quan s'inicia l'Apache, se li poden passar paràmetres amb l'opció de la línia d'ordres <tt>-D</tt>. Com que aquests paràmetres poden afectar les directives que es fan servir dins del fitxer de configuració, Webmin ha de saber quines se li passen a l'Apache quan s'executa. Introdueix aquests paràmetres a la caixa de text de la dreta.
defines_config=Tingues en compte que els paràmetres següents ja són coneguts: $1

authu_title=Llista d'Usuaris
authu_ecannot='$1' no és un fitxer de text d'usuaris permès
authu_header=Fitxer $1
authu_header2=Usuaris del fitxer de text $1
authu_none=No hi ha cap usuari al fitxer de text $1
authu_add=Afegeix un nou usuari
authu_return=a la llista d'usuaris
authu_edit=Edita l'Usuari
authu_create=Crea Usuari
authu_user=Usuari
authu_pass=Contrasenya
authu_enc=Xifrada...
authu_plain=Text planer...
authu_err=No he pogut desar l'usuari
authu_euser=No has introduït el nom de l'usuari
authu_euser2=L'usuari no pot contenir:
authu_edup=Ja existeix un usuari anomenat '$1'
authu_sync=Les opcions de sota permeten configurar Webmin per afegir, actualitzar o suprimir automàticament un usuari d'aquest fitxer de contrasenyes quan s'afegeix, modifica o suprimeix un usuari al mòdul d'<tt>Usuaris i Grups</tt>.
authu_screate=Afegeix un usuari quan s'afegeixi un usuari Unix
authu_sdelete=Suprimeix un usuari quan se suprimeixi un usuari Unix
authu_smodify=Canvia un usuari quan es canviï un usuari Unix

authg_title=Llista de Grups
authg_ecannot='$1' no és un fitxer de text de grups permès
authg_header=Fitxer $1
authg_header2=Grups del fitxer de text $1
authg_none=No hi ha cap grup al fitxer de text $1
authg_add=Afegeix un nou grup
authg_return=a la llista de grups
authg_edit=Edita el Grup
authg_create=Crea un Grup
authg_group=Nom del grup
authg_mems=Membres
authg_dont=No ho canviïs
authg_set=Estableix a...
authg_err=No he pogut desar el grup
authg_euser=No has introduït el nom del grup
authg_euser2=El nom del grup no pot contenir:
authg_edup=Ja existeix un grup anomenat '$1'

stop_err=No he pogut aturar l'Apache
stop_ecannot=No tens permís per aturar l'Apache
stop_epid=No he pogut obrir el fitxer de PID $1
stop_epid2=Fitxer de PID $1 invàlid
stop_esig=No he pogut enviar SIGTERM al procés $1

start_err=NO he pogut iniciar l'Apache
start_ecannot=No tens permís per iniciar l'Apache
start_ecmd=$1 ha fallat: $2
start_eunknown=Motiu desconegut

restart_err=No he pogut aplicar els canvis
restart_epid=No he pogut obrir el fitxer de PID $1
restart_epid2=Fitxer de PID $1 invàlid
restart_esig=No he pogut enviar SIGHUP al procés $1
restart_eunknown=Motiu desconegut

acl_virts=Servidors virtuals que aquest usuari pot editar
acl_vall=Tots els servidors
acl_vsel=Seleccionats...
acl_defserv=Servidor per Defecte
acl_global=Pot editar opcions globals
acl_htaccess=Només .htaccess
acl_create=Pot crear servidors virtuals
acl_vuser=Pot canviar usuaris de servidors virtuals
acl_vaddr=Pot canviar adreces de servidors virtuals
acl_pipe=Pot encadenar els registres a programes
acl_stop=Pot iniciar i aturar Apache
acl_dir=Limita els fitxers al directori
acl_types=Tipus de directives disponibles
acl_all=Tots
acl_sel=Seleccionats...

core_maxconc=Nombre màxim de peticions concurrents
core_maxkeep=Nombre màxim de <i>keepalives</i> per connexió
core_maxreq=Nombre màxim de peticions per procés servidor
core_minspare=Nombre mínim de processos servidors
core_maxspare=Nombre màxim de processos servidors
core_initial=Processos servidors inicials
core_emaxconc=El nombre màxim de peticions concurrents ha de ser un enter
core_emaxkeep=El nombre màxim de <i>keepalives</i> per connexió ha de ser un enter
core_emaxreq=El nombre màxim de peticions per procés servidor ha de ser un enter
core_eminspare=El nombre mínim de processos servidors ha de ser un enter
core_emaxspare=El nombre màxim de processos servidors ha de ser un enter
core_einitial=El nombre inicial de processos servidors ha de ser un enter
core_default=Defecte
core_cpulimit=Límit de recursos de la CPU
core_memlimit=Límit de recursos de memòria
core_proclimit=Límit de processos
core_cpulimit2=límit de recursos de la CPU
core_memlimit2=límit de recursos de memòria
core_proclimit2=límit de processos
core_slimit=Límit de programari
core_hlimit=Límit de maquinari
core_eslimit=$1 no és un $2 vàlid
core_ehlimit=$1 no és un $2 vàlid
core_dport=Port per defecte:
core_address=Adreça
core_port=Port
core_listen=Escolta les adreces i els ports
core_eaddress='$1' no és una adreça vàlida
core_eport='$1' no és un port vàlid
core_eoneaddr=Has d'especificar almenys una adreça
core_edefport=Port per defecte invàlid
core_multi=Múltiples peticions per connexió
core_ekeep='$1' no és un nombre de <i>keepalives</i> vàlid
core_ltwice=Consulta-ho dos cops
core_keeptout=Temps límit del <i>keepalive</i>
core_lqueue=Llargada de la cua d'escolta
core_bufsize=Mida del buffer de tramesa TCP
core_admin=Adreça de correu de l'administrador del servidor
core_rtout=Temps límit de petició
core_bhostname=Fes servir el nom de host subministrat pel fullejador
core_lookup=Consulta els noms de host
core_useauth=Fes consultes d'usuari RFC1413
core_altnames=Noms de servidors virtuals alternatius
core_hostname=Nom de host del servidor
core_virtaddr=Adreces dels noms de servidors virtuals
core_ekeeptout=El temps límit del<i>keepalive</i> ha de ser un enter
core_elqueue=La llargada de la cua d'escolta ha de ser un enter
core_ebufsize=La mida del buffer de tramesa TCP ha de ser un enter
core_ertout=El temps límit de petició ha de ser un enter
core_ehostname=Nom de host del servidor invàlid
core_osdefault=El del SO per defecte
core_noadmin=Cap
core_auto=Automàtic
core_evirtaddr='$1' no és una adreça vàlida per als noms de servidors virtuals
core_auth=Opcions d'autenticació
core_mime=Codificacions i tipus MIME
core_indexing=Indexació i fitxers índex
core_hostacc=Control d'accés al nom de host
core_diropts=Opcions de directori
core_filesel=Seleccionats a sota...
core_execcgi=Execució de programes CGI
core_flink=Segueix els enllaços simbòlics
core_inclexe=Inclusions de la part del servidor i executables
core_incl=Inclusions de la part del servidor
core_genind=Genera llistats del directori
core_genmview=Genera Vistes Múltiples
core_flinkmatch=Segueix els enllaços simbòlics si els usuaris coincideixen
core_optsel=Seleccionats a sota...
core_enable=Activa
core_disable=Desactiva
core_optfile=Fitxer d'opcions per directori
core_overr=Opcions que el fitxer pot obviar...
core_genmd5=Genera resums MD5
core_docroot=Directori arrel de documents
core_eoptfile=Només es permet un fitxer d'opcions
core_enoopt=No has introduït cap fitxer d'opcions
core_enodoc=L'arrel de documents '$1' no existeix
core_sigemail=Adreça de correu
core_signame=Nom del servidor
core_signone=Cap
core_virtpath=Camí del servidor virtual
core_footer=Peu del missatge d'error
core_evirtpath=El camí del servidor virtual ha de començar amb /
core_defmime=Tipus MIME per defecte
core_edefmime=El tipus MIME per defecte ha de ser de la forma tipus/subtipus
core_forcetype=Força el tipus MIME
core_eforcetype=El tipus MIME forçat ha de ser de la forma tipus/subtipus
core_realm =Nom del reialme d'autenticació
core_authtype=Tipus d'autenticació
core_authall=Tots els controls d'accés
core_authany=Qualsevol control d'accés
core_authlog=Restringeix l'accés a través de l'entrada
core_satisfy=Els clients han de satisfer
core_salone=Independent
core_inetd=Execució des d'inetd
core_verosmod=Versió i SO i mòduls
core_veros=Versió i SO
core_ver=Només versió
core_coredir=Directori de volcats del nucli
core_lockfile=Fitxer de bloqueig del servidor
core_maxbody=Mida màxima del cos de la petició
core_maxxml=Mida màxima del cos de la petició XML
core_maxhead=Capçaleres mínimes de la petició
core_maxshead=Mida mínima de la capçalera de la petició
core_maxline=Mida màxima de línia de petició
core_pid=Fitxer de PID del servidor
core_memsco=Fitxer de puntuacions de memòria compartida
core_exec=Execució del servidor
core_header=Capçalera HTTP del servidor
core_ecore=Directori de volcat del nucli invàlid
core_elock=Fitxer de bloqueig invàlid
core_ebody=Mida del cos de la petició invàlida
core_exml=Mida del cos de la petició XML
core_ehead=Nombre de capçaleres invàlid
core_eshead=Mida de capçalera invàlida
core_eline=Mida de línia de petició invàlida
core_epid=Fitxer de PID invàlid
core_escore=Fitxer de puntuació invàlid
core_sroot=Arrel del servidor
core_group=Nom del group
core_gid=ID del grup
core_user=Nom de l'usuari
core_uid=ID de l'usuari
core_asgroup=Executa com a grup Unix
core_asuser=Executa com a usuari Unix
core_euid='$1' no és un ID de grup vàlid
core_egid='$1' no és un ID d'usuari vàlid
core_tourl=Ves a l'URL...
core_mesg=Mostra el missatge...
core_error=Codi d'error
core_resp=Resposta
core_urlmsg=URL o missatge
core_custom=Respostes d'error personalitzades
core_eerror='$1' no és un codi d'error vàlid
core_eurl='$1' no és un URL vàlid
core_syslog=Registre del Sistema
core_filelog=Fitxer
core_proglog=Programa
core_errfile=Fitxer de registre d'errors
core_logto=Els errors es registren a
core_efilelog=Fitxer de registre d'errors invàlid
core_edirlog=El fitxer de registre d'errors no és al directori permès
core_efilemiss=Hi falta el fitxer de registre d'errors
core_eprogmiss=Hi falta el programa de registre d'errors
core_eperm=No terns permís per redireccionar els registres a programes
core_allmod=Tots els mòduls
core_selmod=Mòduls seleccionats...
core_actmod=Mòduls actius
core_option=Opció
core_setdir=Estableix pel directori
core_merge=Barrejat amb el pare
core_users=Només aquests usuaris
core_groups=Només aquests grups
core_allusers=Tots els usuaris vàlids
core_none=Cap
core_all=Totes
core_product=Només el producte
core_fileetag=Genera capçalera ETag a partir de
core_fileetag_sel=Atributs seleccionats:
core_fileetag_inode=Número d'INode
core_fileetag_mtime=Hora de darrera modificació
core_fileetag_size=Mida del fitxer
core_loglevel=Nivell de registre d'errors
core_log_emerg=Emergències - el sistema no es pot utilitzar
core_log_alert=Cal prendre una acció immediatament
core_log_crit=Condicions critiques
core_log_error=Condicions d'error
core_log_warn=Condicions d'avís
core_log_notice=Condicions normals però significatives
core_log_info=Informatiu
core_log_debug=Missatges de nivell de depuració
core_infilter=Aplica els filtres d'entrada per a tots els fitxers
core_outfilter=Aplica els filtres de sortida per a tots els fitxers
core_defchar=Joc de caràcters dels documents
core_edefchar=Hi falta el joc de caràcters dels documents o bé és invàlid

mod_negotiation_cache=Posa al cau els documents amb contingut negociat
mod_negotiation_pri=Prioritat d'idioma per a vistes múltiples
mod_negotiation_def=Defecte
mod_negotiation_epri=Hi falten les prioritats d'idioma

mod_cgi_logname=Registre de scripts CGI
mod_cgi_none=Cap
mod_cgi_elogname=Fitxer de registres de scripts CGI invàlid
mod_cgi_logsize=Mida màxima del fitxer de registre de CGIs
mod_cgi_default=Defecte
mod_cgi_elogsize=La mida del fitxer de registres de CGIs ha de ser un enter
mod_cgi_post=Mida màxima de les dades POST registrades
mod_cgi_epost=La mida màxima de les dades POST ha de ser un enter
mod_cgi_eunder=Els registres dels CGIs no són al directori permès

mod_alias_from=De
mod_alias_to=A
mod_alias_status=Estat
mod_alias_efrom='$1' no és un $2 vàlid
mod_alias_edest='$1' no és una destinació $2 vàlida
mod_alias_alias=Àlies del directori de documents
mod_alias_alias2=àlies de document
mod_alias_regexp=Expressions regulars àlies del directori de documents
mod_alias_regexp2=Expressió regular àlies del directori de documents
mod_alias_redir=Redireccions URL
mod_alias_redir2=Redirecció URL
mod_alias_rredir=Expressions regulars de redireccions URL
mod_alias_rredir2=Expressió regular de redirecció URL
mod_alias_tredir=Redireccions URL temporals
mod_alias_tredir2=redirecció URL temporal
mod_alias_predir=Redireccions URL permanents
mod_alias_predir2=Redirecció URL permanent
mod_alias_cgi=Àlies del directori CGI
mod_alias_cgi2=Àlies del directori CGI
mod_alias_rcgi=Expressions regulars d'àlies del directori CGI
mod_alias_rcgi2=Expressió regular d'àlies del directori CGI
mod_alias_estatus='$1' no és un estat vàlid

mod_proxy_proxy=Actua com a servidor proxy
mod_proxy_req=Peticions
mod_proxy_forw=Redirecciona a
mod_proxy_all=Tot
mod_proxy_match=Coincidint amb...
mod_proxy_pass=Peticions a passar a una altra proxy
mod_proxy_local=Camí URL local
mod_proxy_remote=URL Remot
mod_proxy_map=Mapeja els URLs locals a remots
mod_proxy_block=Bloqueja les peticions per als dominis
mod_proxy_eblock=No has donat cap domini per bloquejar
mod_proxy_type=Tipus
mod_proxy_noproxy=Sense proxy per a...
mod_proxy_nopass=No passis les peticions a una altra proxy per a...
mod_proxy_nodomain=Domini per a les peticions sense domini
mod_proxy_none=Cap
mod_proxy_enodomain=Domini per defecte invàlid
mod_proxy_connect=Ports amb CONNECT permès
mod_proxy_default=Defecte
mod_proxy_econnect=Ports CONNECT invàlids
mod_proxy_dir=Directori cau
mod_proxy_edir=Nom del directori cau invàlid
mod_proxy_size=Mida del cau
mod_proxy_esize=Mida del cau invàlida
mod_proxy_garbage=Interval de neteja del cau
mod_proxy_nogc=Mai
mod_proxy_hours=hores
mod_proxy_egarbage=Interval de neteja del cau invàlid
mod_proxy_maxexp=Temps màxim d'expiració dels fitxers al cau
mod_proxy_emaxexp=Temps màxim d'expiració dels fitxers al cau invàlid
mod_proxy_expfac=Factor de temps d'expiració de fitxers al cau
mod_proxy_eexpfac=Factor de temps d'expiració de fitxers al cau invàlid
mod_proxy_levels=Nivells de directori del cau
mod_proxy_elevels=Nombre de nivells de directori del cau invàlid
mod_proxy_length=Llargada del nom del directori cau
mod_proxy_elength=Llargada del nom del directori cau invàlida
mod_proxy_defexp=Temps d'expiració del cau per defecte
mod_proxy_edefexp=Temps d'expiració del cau per defecte invàlid
mod_proxy_finish=Acaba i posa la transferència al cau al cap de
mod_proxy_efinish=Percentatge de transferència invàlid
mod_proxy_nocache=No posis al cau els dominis
mod_proxy_none2=Cap
mod_proxy_none3=Cap
mod_proxy_enocache=No has donat cap domini per no posar al cau
mod_proxy_erequest='$1' no és una petició vàlida
mod_proxy_epurl='$1' no és un URL de proxy vàlid
mod_proxy_elurl='$1' no és un camí URL local vàlid
mod_proxy_erurl='$1' no és un URL remot vàlid
mod_proxy_eip='$1' no és una adreça IP vàlida
mod_proxy_ehost='$1' no és un nom de host vàlid
mod_proxy_edomain='$1' no és un domini vàlid
mod_proxy_enet='$1' no és una xarxa vàlida
mod_proxy_enetbit='$1' no és una parella xarxa/bits vàlida
mod_proxy_eunder=El directori cau no és al directori permès
mod_proxy_rurl=URL remot
mod_proxy_lurl=Camí de l'URL local
mod_proxy_headers=Mapeja la ubicació remota: capçaleres a local
mod_proxy_ip=Adreça IP
mod_proxy_host=Nom de host
mod_proxy_domain=Domini
mod_proxy_net=Xarxa IP
mod_proxy_netbit=Xarxa/bits
mod_proxy_maxfw=Nombre màxim de proxys a la cadena de petició
mod_proxy_emaxfs=El nombre màxim de proxys a la cadena de petició ha de ser un enter
mod_proxy_preserve=Conserva la capçalera Host: original
mod_proxy_timeout=Temps límit de petició de proxy en segons
mod_proxy_etimeout=El temps límit de petició de proxy ha de ser un nombre de segons
mod_proxy_via=Envia les capçaleres Via:

mod_log_agent_default=Defecte
mod_log_agent_file=Fitxer...
mod_log_agent_program=Programa...
mod_log_agent_log=Explora el fitxer de registre
mod_log_agent_efile=$1 no és un nom de fitxer de registre vàlid

mod_log_config_common=Format Comú de Registre
mod_log_config_named=Formats de registre amb nom
mod_log_config_nick=Àlies
mod_log_config_format=Format
mod_log_config_deflog=Format de registre per defecte
mod_log_config_default=Defecte
mod_log_config_write=Grava a
mod_log_config_filprog=Fitxer o programa
mod_log_config_file=Fitxer...
mod_log_config_program=Programa...
mod_log_config_log=Accedeix als fitxers de registre
mod_log_config_enick='$1' no és un àlies vàlid
mod_log_config_eformat=No has donat cap format de registre per a $1
mod_log_config_enofilprog=Hi falta el nom del fitxer de registre o del programa
mod_log_config_efilprog='$1' no és un nom permès de fitxer ni de programa
mod_log_config_eifset=L'opció 'If set' no es pot fer servir amb el format de registre per defecte

mod_log_referer_default=Defecte
mod_log_referer_file=Fitxer...
mod_log_referer_program=Programa...
mod_log_referer_log=Fitxer de registres de referències
mod_log_referer_nolog=No registris les referències de
mod_log_referer_elog=$1 no és un nom de registres de referències vàlid
mod_log_referer_edir=El registre de referències no és al directori permès

mod_status_msg=Mostra la informació d'estat ampliada

mod_mime_ext=Extensions
mod_mime_xtype=Tipus MIME extra
mod_mime_mtype=Tipus MIME
mod_mime_chandl=Gestors de contingut
mod_mime_cencs=Codificacions dels continguts
mod_mime_cenc=Codificació del contingut
mod_mime_clangs=Idiomes del contingut
mod_mime_clang=Idioma del contingut
mod_mime_defmime=Tracta tots els fitxers com a tipus MIME
mod_mime_real=Tipus real
mod_mime_etype=Tipus MIME invàlid
mod_mime_pass=Passa tots els fitxers al gestor
mod_mime_file=Fitxer de tipus MIME
mod_mime_default=Defecte
mod_mime_ignhand=Ignora els gestor per a les extensions
mod_mime_none=Cap
mod_mime_xchars=Jocs de caràcters extra
mod_mime_einvalid='$1' no és un $2 vàlid
mod_mime_eext=No has donat cap extensió per a $2 $1
mod_mime_type=Tipus
mod_mime_handler=Gestor
mod_mime_enc=Codificació
mod_mime_lang=Idioma
mod_mime_chars=Joc de caràcters
mod_mime_igntype=Ignora els tipus MIME per a l'extensió
mod_mime_ignenc=Ignora la codificació per a l'extensió
mod_mime_deflang=Idioma per defecte dels fitxers
mod_mime_edeflang=Hi falta l'idioma per defecte
mod_mime_outfilter=Filtres de sortida
mod_mime_infilter=Filtres d'entrada
mod_mime_filters=Filtres a aplicar
mod_mime_efext=No has donat cap extensió per al(s) filtre(s) $1

mod_setenvif_header=Capçalera
mod_setenvif_match=Coincideix amb
mod_setenvif_case=Sensible a caixa
mod_setenvif_var=Variable
mod_setenvif_value=Valor
mod_setenvif_txt=Conjunt de variables basat en les capçaleres de petició
mod_setenvif_eheader=Capçalera de petició '$1' invàlida
mod_setenvif_eregex=Expressió regular '$1' invàlida
mod_setenvif_evar=Nom de variable '$1' invàlid
mod_setenvif_clear=Neteja

mod_userdir_default=Defecte
mod_userdir_all=Tots els usuaris accessibles
mod_userdir_except=Tots els usuaris excepte
mod_userdir_dir=Directori WWW d'usuaris

mod_imap_action=Acció en cas d'ús incorrecte dels mapes d'imatges
mod_imap_default=Defecte
mod_imap_godefurl=Ves a l'URL per defecte
mod_imap_form=Mostra menú formatat
mod_imap_semiform=Mostra menú semiformatat
mod_imap_unform=Mostra menú sense formatar
mod_imap_disperr=Mostra l'error del servidor
mod_imap_donoth=No facis res
mod_imap_goimap=Ves al URL de mapa d'imatges
mod_imap_goref=Ves a l'URL referenciador
mod_imap_gourl=Ves a l'URL...
mod_imap_defact=Acció per defecte per als mapes d'imatges
mod_imap_default2=Defecte
mod_imap_root=Arrel del servidor
mod_imap_imapurl=URL de mapa d'imatge
mod_imap_refurl=URL referenciador
mod_imap_url=URL...
mod_imap_defbase=Base dels mapes d'imatges per defecte
mod_imap_eurl='$1' no és un URL vàlid

mod_speling_autocorr=Corregeix URLs mal escrits automàticament
mod_speling_default=Defecte

mod_actions_mime=Gestor / Tipus MIME
mod_actions_cgiurl=URL de scripts CGI
mod_actions_mimecgi=Accions CGI del gestor o tipus MIME
mod_actions_http=Mètode HTTP
mod_actions_cgi=Script CGI
mod_actions_httpcgi=Accions CGI del mètode HTTP
mod_actions_emime='$1' no és un gestor o un tipus MIME vàlid
mod_actions_ecgi='$1' no és un script CGI vàlid
mod_actions_enometh=No has triat cap mètode per al script CGI '$1'

mod_include_incl=Processa les inclusions dels fitxers amb bit d'execució
mod_include_set=Sí, i estableix la data de la darrera modificació
mod_include_default=Defecte

mod_dir_txt=Fitxers de llistat del directori

mod_autoindex_default=Defecte
mod_autoindex_asc=Ascendent
mod_autoindex_descend=Descendent
mod_autoindex_name=Nom
mod_autoindex_date=Data
mod_autoindex_size=Mida
mod_autoindex_desc=Descripció
mod_autoindex_sort=Ordena el llistat del directori per

browsermatch_regexp=Expressió regular del navegador
browsermatch_case=Sensible a caixa
browsermatch_var=Estableix la variable
browsermatch_value=Valor
browsermatch_txt=Conjunt de variables basat en el tipus de navegador
browsermatch_evar=Nom de variable '$1' invàlid
browsermatch_clear=Neteja

autoindex_fname=Nom de fitxer
autoindex_mime=Tipus MIME
autoindex_enc=Codificació
autoindex_icon=Icona
autoindex_alt=Text alternatiu
autoindex_match=Fes coincidir amb
autoindex_fte=Noms de fitxer, tipus o codificacions
autoindex_diricon=Icones del llistat del directori
autoindex_deficon=Icona del llistat del directori per defecte
autoindex_default=Defecte
autoindex_edeficon=URL d'icona per defecte
autoindex_diralt=Etiquetes ALT del llistat del directori
autoindex_desc=Descripció
autoindex_fnames=Noms de fitxers
autoindex_dirdesc=Descripcions del llistat del directori
autoindex_fancy=Mostra llistats del directori bufons
autoindex_htmltitle=Mostra títol HTML com a descripció
autoindex_iheight=Alçada de la icona
autoindex_iwidth=Amplada de la icona
autoindex_sort=Permet que l'usuari ordeni les columnes
autoindex_fildesc=Mostra les descripcions de fitxers
autoindex_htags=Mostra etiquetes de capçalera HTML
autoindex_mtime=Mostra els temps de la darrera modificació
autoindex_size=Mostra les mides dels fitxers
autoindex_iconlink=Inclou la icona a l'enllaç
autoindex_fwidth=Amplada del nom de fitxer
autoindex_dwidth=Amplada de la descripció
autoindex_dirfirst=Mostra primer els directoris
autoindex_default2=Defecte
autoindex_select=Selecciona...
autoindex_default3=Defecte
autoindex_pixels=píxels
autoindex_chars=caràcters
autoindex_diropt=Opcions del llistat del directori
autoindex_dirhead=Fitxer de capçalera del llistat del directori
autoindex_default4=Defecte
autoindex_edirhead=Nom del fitxer de capçalera invàlid
autoindex_dirfoot=Fitxer de peu del llistat del directori
autoindex_edirfoot=Nom del fitxer de peu invàlid
autoindex_ignore=Fitxers que cal ignorar al llistat del directori
autoindex_eiconurl='$1' no és un URL d'icona vàlid
autoindex_emiss=Hi falta $1 de $2
autoindex_emissquot=Hi falta $1 de '$2'
autoindex_enodesc=No ha la descripció del fitxer $1
autoindex_enofile=No hi cap fitxer per a la descripció '$1'
autoindex_eiconsize='$1' no és una mida d'icona vàlida
autoindex_ewidth='$1' no és una amplada vàlida
autoindex_html=Genera una taula HTML
autoindex_client=Ignora les variables del client
autoindex_sicon=Mostra les icones de fitxers
autoindex_srules=Mostra les línies &lt;hr&gt;
autoindex_track=Inclou ETags a la capçalera
autoindex_version=Ordena per cadenes de versió

mod_mime_magic_file=Fitxer de números màgics MIME
mod_mime_magic_none=Cap
mod_mime_magic_efile=Nom del fitxer de números màgics MIME invàlid

mod_env_var=Variable
mod_env_value=Valor
mod_env_pass=Transparent
mod_env_clear=Neteja
mod_env_set=Estableix a
mod_env_cgivar=Variables d'entorn per a scripts CGI
mod_env_passall=Passa totes les variables d'entorn als CGIs
mod_env_default=Defecte
mod_env_evar='$1' no és un nom de variable vàlid
mod_env_evalue='$1' no és un valor de variable vàlid

mod_access_order=Ordre de comprovació de l'accés:
mod_access_denyallow=Denega, després permet
mod_access_allowdeny=Permet, després denega
mod_access_mutual=Fallada mútua
mod_access_default=Defecte
mod_access_action=Acció
mod_access_cond=Condició
mod_access_all=Totes les peticions
mod_access_host=Peticions des del host...
mod_access_ip=Peticions des de la IP...
mod_access_pip=Peticions des de la IP parcial...
mod_access_mask=Peticions des de la xarxa/màscara...
mod_access_cidr=Peticions des de la xarxa/CIDR...
mod_access_var=Si la variable està establerta...
mod_access_allow=Permet
mod_access_deny=Denega
mod_access_restr=Restringeix l'accés
mod_access_eip='$1' no és una adreça IP vàlida
mod_access_epip='$1' no és una adreça IP parcial vàlida
mod_access_emask='$1' no és una parella xarxa/màscara vàlida
mod_access_ecidr='$1' no és una parella xarxa/CIDR vàlida
mod_access_evar='$1' no és un nom de variable vàlid

mod_auth_ufile=Fitxer de text d'usuaris
mod_auth_uedit=Edita els usuaris
mod_auth_gfile=Fitxer de text de grups
mod_auth_gedit=Edita els grups
mod_auth_pass=Passa els errors al mòdul següent
mod_auth_auth=Autenticació amb fitxer de text
mod_auth_eudir=El fitxer de text d'usuaris no és al directori permès
mod_auth_egdir=El fitxer de text de grups no és al directori permès
mod_auth_eufile=Nom de fitxer de text d'usuaris invàlid
mod_auth_egfile=Nom de fitxer de text de grups invàlid

mod_auth_dbm_ufile=Fitxer DBM d'usuaris
mod_auth_dbm_gfile=Fitxer DBM de grups
mod_auth_dbm_pass=Passa els errors al mòdul següent
mod_auth_dbm_auth=Autenticació amb fitxer DBM
mod_auth_dbm_eufile=Nom del fitxer DBM d'usuaris invàlid
mod_auth_dbm_egfile=Nom del fitxer DBM de grups invàlid
mod_auth_dbm_type=Tipus de fitxers DBM
mod_auth_dbm_default=Format DBM per defecte

mod_cern_meta_process=Processa els metafitxers de capçalera
mod_cern_meta_dir=Subdirectori dels metafitxers de capçalera
mod_cern_meta_default=Defecte
mod_cern_meta_edir=Nom del subdirectori dels metafitxers de capçalera
mod_cern_meta_suffix=Sufix de fitxer dels metafitxers de capçalera
mod_cern_meta_default2=Defecte
mod_cern_meta_esuffix=Sufix de metafitxer invàlid

mod_ssl_enable=Activa SSL
mod_ssl_proto=Protocols SSL
mod_ssl_cfile=Fitxer de certificats/claus privades
mod_ssl_default=Defecte
mod_ssl_ecfile=Hi falta el fitxer de certificats/claus privades
mod_ssl_kfile=Fitxer de claus privades
mod_ssl_ekfile=Hi falta el fitxer de claus privades
mod_ssl_clcert=Certificat client SSL
mod_ssl_nreq=No cal
mod_ssl_opt=Opcional
mod_ssl_req=Requerit
mod_ssl_optca=Opcional no CA
mod_ssl_cdepth=Profunditat del certificat client
mod_ssl_ecdepth=La profunditat del certificat ha de ser un enter
mod_ssl_log=Fitxer de registre SSL
mod_ssl_elog=Hi falta el fitxer de registre SSL
mod_ssl_onlyssl=Permet només l'accés SSL

log_global=He canviat les opcions globals $1
log_virtc=He creat el servidor $1
log_virts=He reconfigurat el servidor $1
log_virtd=He suprimit el servidor $1
log_virtm=He editat manualment el servidor $1
log_virt=He canviat $1 al servidor $2
log_dirc=He creat el directori $1
log_dirc_l=He creat el directori $1 del servidor $2
log_dirs=He canviat el directori $1
log_dirs_l=He canviat el directori $1 del servidor $2
log_dird=He suprimit el directori $1
log_dird_l=He suprimit el directori $1 del servidor $2
log_dirm=He editat manualment el directori $1
log_dirm_l=He editat manualment el directori $1 del servidor $2
log_dir=He canviat $1 del directori $2
log_dir_l=He canviat $1 del directori $2 del servidor $3
log_htaccessc=He creat el fitxer d'opcions $1
log_htaccessd=He suprimit el fitxer d'opcions $1
log_htaccessm=He editat manualment el fitxer d'opcions $1
log_htaccess=He canviat $1 del fitxer d'opcions $2
log_filesc=He creat el fitxer d'opcions $1
log_filesc_l=He creat el fitxer d'opcions de $1 al fitxer $2
log_filess=He canviat el fitxer d'opcions de $1
log_filess_l=He canviat el fitxer d'opcions de $1 al fitxer $2
log_filesd=He suprimit el fitxer d'opcions de $1
log_filesd_l=He suprimit el fitxer d'opcions de $1 al fitxer $2
log_filesm=He editat manualment el fitxer d'opcions de $1
log_filesm_l=He editat manualment el fitxer d'opcions de $1 al fitxer $2
log_files=He canviat $1 al fitxer d'opcions de $2
log_files_l=He canviat $1 al fitxer d'opcions de $2 al fitxer $3
log_mime_modify=He modificat el tipus MIME $1
log_mime_create=He afegit el tipus MIME $1
log_defines=He canviat els paràmetres definits
log_reconfig=He reconfigurat els mòduls coneguts
log_start=He iniciat el servidor web
log_stop=He aturat el servidor web
log_apply=He aplicat els canvis

search_title=Recerca de Servidors
search_notfound=No s'ha trobat cap servidor virtual que coincideixi

mod_php_value=Valors de la Configuració PHP
mod_php_flag=Paràmetres de Configuració PHP
mod_php_name_header=Paràmetre
mod_php_value_header=Valor
mod_php_ename='$1' no és un nom vàlid
mod_php_evalue='$1' no és un valor de $2 vàlid

mod_vhost_alias_root=Arrel del host virtual automàtica
mod_vhost_alias_ip=Fes servir l'adreça IP en lloc del nom de host
mod_vhost_alias_none=Cap
mod_vhost_alias_script=Cgi-bin del host virtual automàtic
mod_vhost_alias_eroot=Hi falta l'arrel de host virtual o bé no és vàlida
mod_vhost_alias_escript=Hi falta el cgi-bin del host virtual

worker_minspare=Nombre mínim de fils lliures
worker_maxspare=Nombre màxim de fils lliures
worker_eminspare=El nombre mínim de fils lliures ha de ser un enter
worker_emaxspare=El nombre màxim de fils lliures ha de ser un enter
worker_threads=Fils per procés fill
worker_ethreads=El nombre de fils per procés fill ha de ser un enter

perchild_sthreads=Fils inicials per procés fill
perchild_esthreads=El nombre de fils per procés fill ha de ser un enter
perchild_numservers=Nombre de processos fills
perchild_enumservers=El nombre de processos fills ha de ser un enter
perchild_maxthreads=Nombre màxim de fils per procés fill
perchild_emaxthreads=El nombre màxim de fils per procés fill ha de ser un enter
perchild_assign=Lliga virtual a procés fill
perchild_assignug=Amb UID $1 i GID $2
perchild_child=Assignacions UID del procés fill
perchild_num=Número de procés
perchild_uid=UID
perchild_gid=GID
perchild_enum=El número de procés ha de ser en enter diferent de zero
perchild_euid=El UID ha de ser un enter
perchild_egid=El GID ha de ser un enter
 
cache_enable=Actiu
cache_type=Emmagatzematge del cau
cache_disk=Disc
cache_mem=Memòria
cache_url=URL base o camí del cau
cache_endis=Camins i URLs per desar en el cau
cache_control=Ignora les peticions de continguts que no estan al cau
cache_lastmod=Ignora les respostes qun no hi ha capçalera Last-Modified
cache_on=Activa el cau
cache_eurl=Hi falta el camí o URL, o bé és inválid
cache_minfs=Mida mínima de fitxer per desar al cau
cache_maxfs=Mida màxima de fitxer per desar al cau
cache_eminfs=La mida mínima per desar al cau ha de ser un nombre de bytes
cache_emaxfs=La mida màxima per desar al cau ha de ser un nombre de bytes
cache_minos=Mida mínima d'objecte per desar en memòria
cache_maxos=Mida màxima d'objecte per desar en memòria
cache_eminos=La mida mínima d'objecte per desar en memòria ha de ser un nombre de bytes
cache_emaxos=La mida màxima d'objecte per desar en memòria ha de ser un nombre de bytes
cache_maxoc=Nombre màxim d'objectes per desar al cau de memòria
cache_emaxoc=El nombre màxim d'objectes per desar al cau de memòria ha de ser un enter
 
suexec_su=Executa els programes CGI com a
suexec_none=Usuari de la configuració global
suexec_user=L'usuari Unix
suexec_group=i el grup
suexec_euser=Hi falta l'usuari d'execució de programes CGI o bé és invàlid
suexec_egroup=Hi falta el grup d'execució de programes CGI o bé és invàlid
 
filter_name=Nom
filter_intype=Tipus MIME d'entrada
filter_outtype=Tipus MIME de sortida
filter_cmd=Ordre de filtratge
filter_preserve=Conserva la llargada
filter_in=Definicions del Filtre d'Entrada
filter_out=Definicions del Filtre de Sortida
filter_ename=Nom de filtre '$1' invàlid
filter_ecmd=Hi falta l'ordre del filtre '$1'
 
cdir_err=No he pogut crear les opcions per directori
cdir_err2=No he pogut desar les opcions per directori
cdir_epath=Hi falta el camí
cdir_eproxy=No es poden crear lopcions de proxy amb l'expressió de patrons de coincidència activad

   0707010002709b000081a40000000000000002000000013d1fe2d100002dcf000000200000000000000000000000000000001500000003reloc/apache/lang/de  index_title=Apache-Webserver
index_eroot=Das Apache-Root-Verzeichnis $1 existiert nicht. Wenn Apache installiert ist, passen Sie die <a href='$2'>Modulkonfiguration</a> an, um den korrekten Pfad zu benutzen.
index_eserver=Die ausf&uuml;hrbare Datei $1 des Apache-Server exististiert nicht. Wenn Apache installiert ist, passen Sie die  <a href='$2'>Modulkonfiguration</a> an, um den korrekten Pfad zu benutzen.
index_econf=Die Apache-Konfigurationsdatei $1 existiert nicht. Wenn Apache installiert ist, passen Sie die <a href='$2'>Modulkonfiguration</a> an, um den korrekten Pfad zu benutzen.
index_eports=Ihre Apache Konfiguration enth&auml;lt mehr als eine $1 Direktive. Die aktuelle Version von Webmin kann diese Einstellung nicht korrekt behandeln. 
index_global=Globale Konfiguration
index_virts=Virtuelle Server
index_defserv=Standard-Server
index_defdesc1=Definiert die Standard-Einstellungen f&uuml;r alle anderen virtuellen Server und beantwortet alle unbehandelten Anfragen.
index_any=Beliebig
index_default=Standard
index_auto=Automatisch
index_virt=Virtueller Server
index_vname=Behandelt den Namen-basierten Server $1 an Adresse $2.
index_vdef=Behandelt alle Anfragen, die nicht von anderen virtuellen Servers behandelt werden.
index_defdesc2=Definiert die Standardeinstellungen f&uuml;r alle anderen virtuellen Server und beantwortet alle unbehandelten Anfragen.
index_vport=Behandelt alle Anfragen auf Anschluss $1, die nicht von anderen virtuellen Servers behandelt werden.
index_vaddr=Behandelt alle Anfragen an Adresse $1.
index_vaddrport=Behandelt alle Anfragen an Adresse $1 auf Anschluss $2.
index_type=Typ
index_addr=Adresse
index_port=Anschluss
index_name=Server-Name
index_root=Dokumenten-Root
index_create=Einen neuen virtuellen Server anlegen
index_return=Server-Liste
cvirt_ecannot=Sie haben keine Berechtigung, virtuelle Server anzulegen
cvirt_err=Fehler beim Anlegen des virtuellen Server
cvirt_eaddr1=Keine Adresse angegeben
cvirt_eaddr2='$1' ist keine g&uuml;tige Adresse
cvirt_eport='$1' ist kein g&uuml;ltiger Anschluss
cvirt_ename='$1' ist kein g&uuml;ltiger Server-Name
cvirt_eroot1=Sie m&uuml;ssen ein Dokumenten-Root angeben
cvirt_eroot2=Fehler beim Anlegen des Verzeichnisses '$1' : $2
etype=Sie haben keine Berechtigung, Einstellungen dieses Typs zu bearbeiten
efailed=Fehler beim Speichern von $1
apache_apply=&Auml;nderungen zuweisen
apache_stop=Apache beenden
apache_start=Apache starten
auth_return=Zugriffskontrolle
global_ecannot=Sie haben keine Berechtigung, globale Optionen zu bearbeiten
global_mime=Globale MIME-Typenliste
global_mimedesc=Klicken Sie auf einen MIME-Typen aus der Liste, um ihn zu bearbeiten, oder benutzen Sie den Link unten auf der Seite, um einen neuen Typ zur Liste hinzuzuf&uuml;gen.
global_type=Typ
global_ext=Erweiterungen
global_add=Einen neuen MIME-Typ hinzuf&uuml;gen
global_return=MIME-Typen
mime_ecannot=Sie haben keine Berechtigung, MIME-Typen zu bearbeiten
mime_edit=MIME-Typ bearbeiten
mime_add=MIME-Typ hinzuf&uuml;gen
mime_header=Dateierweiterungen zu MIME Typenverkn&uuml;pfung
mime_type=MIME-Typ
mime_ext=Erweiterungen
mime_err=Fehler beim Speichern des MIME-Typs
mime_etype='$1' ist kein g&uuml;ltiger MIME-Typ
virt_ecannot=Sie k&ouml;nnen diesen virtuellen Server nicht bearbeiten.
virt_title=Einstellungen des virtuellen Servers
virt_header=F&uuml;r $1
virt_opts=Einstellungen des virtuellen Servers
virt_conf=Server-Konfiguration
virt_show=Zeige Direktiven
virt_adddir=Einstellungen f&uuml;r Per-Verzeichnis, Dateien oder Ort erstellen
virt_type=Typ
virt_exact=Exakte &Uuml;bereinstimmung
virt_re=&Uuml;bereinstimmung mit regul&auml;rem Ausdruck.
virt_path=Pfad
virt_return=Server-Index
virt_euser=Sie haben keine Berechtigung, Benutzer oder Gruppe f&uuml;r diesen virtuellen Server zu &auml;ndern
virt_header2=$1 f&uuml;r $2
vserv_title=Konfiguration des virtuellen Servers
vserv_ecannot=Sie k&ouml;nnen die Adresse dieses virtuellen Servers nicht &auml;ndern
vserv_addr=Adresse
vserv_port=Anschluss
vserv_any=Beliebig
vserv_default=Standard
vserv_root=Dokumenten-Root
vserv_name=Server-Name
vserv_delete=L&ouml;sche virtuellen Server
vserv_err=Fehler beim L&ouml;schen des virtuellen Servers
vserv_eaddr1=Keine Adresse angegeben
vserv_eaddr2='$1' ist keine g&uuml;tige Adresse
vserv_eport='$1' ist kein g&uuml;ltiger Anschluss
vserv_eroot='$1' ist kein g&uuml;ltiger Dokumenten-Root
vserv_ename='$1' ist kein g&uuml;ltiger Server-Name
show_title=Direktiven
show_edit=Bearbeite Apache-Direktive
show_these=Bearbeite Direktiven von Hand
show_ok=Bearbeiten
manual_header=Benutzen Sie das Textfeld unten, um die Apache-Direktiven in $1, die zu diesem virtuellen Server, Verzeichnis oder Datei geh&ouml;ren, von Hand zu bearbeiten.
dir_title=Per-Verzeichniseinstellungen
dir_header=F&uuml;r $1 auf $2
dir_show=Zeige Direktiven
dir_opts=Einstellungen anwenden auf..
dir_type=Typ
dir_regexp=Regul&auml;rer Ausdruck?
dir_exact=Exakte &Uuml;bereinstimmung
dir_re=&Uuml;bereinstimmung mit regul&auml;rem Ausdruck.
dir_path=Pfad
dir_return=Verzeichnis-Index
dir_header2=$1 f&uuml;r $2
type_0=Prozesse und Grenzwerte
type_1=Netzwerk und Adressen
type_2=Apache-Module
type_3=Protokolldateien
type_4=Zugriffskontrolle
type_5=Dokumentoptionen
type_6=MIME-Typen
type_7=Fehlerbehandlung
type_8=Benutzer und Gruppe
type_9=Verschiedenes
type_10=Aliases und Weiterleitungen
type_11=CGI-Programme
type_12=Verzeichnisindizierung
type_13=Proxying
type_14=SSL-Optionen
type_15=Perl
type_16=PHP
htaccess_title=Per-Verzeichniseinstellungsdateien
htaccess_ecannot=Sie k&ouml;nnen diese htaccess-Dateien nicht bearbeiten
htaccess_desc=Zus&auml;tzliche per-Verzeichniseinstellungen k&ouml;nnen in jedem Verzeichnis durch eine Datei (normalerweise <tt>.htaccess</tt> genannt) definiert werden. Diese Einstellungen betreffen alle Dateien in dem Verzeichnis und in allen Unterverzeichnissen, soweit sie nicht von einer anderen Optionsdatei &uuml;berschrieben werden. 
htaccess_create=Erstelle Einstellungsdatei
htaccess_find=Finde Einstellungsdatei
htaccess_auto=Automatisch
htaccess_from=Von Verzeichnis
htaccess_return=Einstellungsdateiliste
htaccess_edir='$1' ist kein g&uuml;ltiges Verzeichnis
htaccess_ecreate=Sie haben keine Berechtigung, diese Einstellungsdatei anzulegen.
htaccess_edelete=Sie haben keine Berechtigung, diese Einstellungsdatei zu l&ouml;schen.
htindex_ecannot=Sie haben keine Berechtigung, diese Einstellungsdatei zu bearbeiten.
htindex_title=Per-Verzeichniseinstellungsdatei
htindex_delete=Datei l&ouml;schen
htindex_show=Zeige Direktiven
htindex_opts=Per-Verzeichniseinstellungen
htindex_file=Per-Dateikonfiguration
htindex_create=Erstelle Per-Dateieinstellungen
htindex_regexp=Regul&auml;rer Ausdruck?
htindex_exact=Exakte &Uuml;bereinstimmung
htindex_re=&Uuml;bereinstimmung mit regul&auml;rem Ausdruck.
htindex_path=Pfad
htindex_header=F&uuml;r $1
htindex_header2=$1 f&uuml;r Einstellungsdatei $2
htindex_return=Einstellungsdateiliste
htfile_title=Per-Dateieinstellungen
htfile_header=F&uuml;r $1 in $2
htfile_show=Zeige Direktiven
htfile_apply=Einstellungen anwenden auf..
htfile_header2=$1 f&uuml;r $2
reconfig_title=Bekannte Module neu konfigurieren
reconfig_ecannot=Sie haben keine Berechtigung, Apache neu zu konfigurieren
reconfig_ever=Es war nicht m&ouml;glich, eine Versionsnummer f&uuml;r $1 zu bestimmen. &Uuml;berpr&uuml;fen Sie Ihre <a href='$2'>Modulkonfiguration</a>, um sicher zu gehen, dass der Pfad korrekt ist. 
reconfig_desc1=Ihre Apache-Konfiguration hat sich ge&auml;ndert oder wurde noch nicht von Webmin untersucht. Unten sehen Sie eine Liste mit allen von Webmin unterst&uuml;tzten Modulen von Apache, bei der die z. Z. installierten markiert sind. Sie k&ouml;nnen Module w&auml;hlen oder Auswahlen aufheben, wenn diese Liste nicht korrekt ist. 
reconfig_desc2=Unten sehen Sie eine Liste mit allen von Webmin unterst&uuml;tzten Apache-Modulen, bei der die z. Z. installierten markiert sind. Falls Sie dynamisch geladene Module benutzen, dann k&ouml;nnen Sie diese jetzt ausw&auml;hlen.
reconfig_desc3=Wenn Sie sich nicht sicher sind, welche Module von Apache auf ihrem System unterst&uuml;tzt werden, klicken Sie einfach auf <b>Konfigurieren</b>. Webmin wird versuchen, die unterst&uuml;tzten Module selbst&auml;ndig zu ermitteln.
reconfig_ok=Konfigurieren
defines_title=Definierte Parameter bearbeiten
defines_ecannot=Sie haben keine Berechtigung, httpd-Definitionen zu &auml;ndern
defines_desc=Wenn Apache gestartet wird, k&ouml;nnen Parameter mit der Befehlzeilenoption  <tt>-D</tt> &uuml;bergeben werden. Weil diese Parameter die Direktiven beeinflussen k&ouml;nnen, die in Ihren Kofigurationsdateien vorkommen, muss Webmin wissen, welche Parameter Apache beim Start &uuml;bergeben werden. Geben Sie die in Ihrem System benutzten Parameter in die Textfelder auf der rechten Seite ein.
authu_ecannot='$1' ist keine g&uuml;ltige Benutzertextdatei
authu_title=Benutzerliste
authu_header=In Datei $1
authu_header2=Benutzer von Textdatei $1
authu_none=Keine Benutzer in Textdatei $1
authu_add=Einen neuen Benutzer hinzuf&uuml;gen
authu_return=Benutzerliste
authu_edit=Benutzer bearbeiten
authu_create=Benutzer anlegen
authu_user=Benutzername
authu_pass=Kennwort
authu_enc=Verschl&uuml;sselt..
authu_plain=Klartext..
authu_err=Fehler beim Speichern des Benutzers
authu_euser=Kein Benutzername angegeben
authu_euser2=Benutzername darf keinen Doppelpunkt (:) enthalten
authu_edup=Ein Benutzer mit dem Namen '$1' existiert bereits
authu_sync=Die Einstellungen untern gestatten es Ihnen, Webmin so zu konfigurieren, dass Webmin Benutzer automatisch hinzuf&uuml;gen, &auml;ndern oder l&ouml;schen wird, wenn Benutzer im Modul <TT>Benutzer und Gruppen</TT> bearbeitet, angelegt oder entfernt werden.
authu_screate=F&uuml;ge Benutzer hinzu, wenn Unix-Benutzer angelegt wird
authu_sdelete=Entferne den Benutzer, wenn Unix-Benutzer gel&ouml;scht wird
authu_smodify=&Auml;ndere den Benutzer, wenn der Unix-Benutzer bearbeitet wurde
authg_ecannot='$1' ist keine g&uuml;ltige Gruppentextdatei
authg_title=Gruppenliste
authg_header=In Datei $1
authg_header2=Gruppen aus Textdatei $1
authg_none=Keine Gruppen in Textdatei $1
authg_add=Eine neue Gruppe hinzuf&uuml;gen
authg_return=Gruppenliste
authg_edit=Bearbeite Gruppe
authg_create=Gruppe anlegen
authg_group=Gruppenname
authg_mems=Mitglieder
authg_dont=Nicht &auml;ndern
authg_set=Einstellen auf..
authg_err=Fehler beim Speichern der Gruppe
authg_euser=Kein Gruppenname angegeben
authg_euser2=Gruppenname darf keinen Doppelpunkt (:) enthalten
authg_edup=Eine Gruppe mit dem Namen '$1' existiert bereits
stop_err=Fehler beim Beenden von Apache
stop_ecannot=Sie haben keine Berechtigung, Apache zu beenden
stop_epid=Fehler beim &Ouml;ffnen der PID-Datei $1
stop_epid2=Ung&uuml;ltige PID-Datei $1
stop_esig=Fehler beim Senden von SIGTERM an den Prozess $1
start_err=Fehler beim Starten von Apache
start_ecannot=Sie haben keine Berechtigung, Apache zu starten
start_ecmd=$1 schlug fehl: $2
start_eunknown=Unbekannter Grund
restart_err=Fehler beim Anwenden der &Auml;nderungen
restart_epid=Fehler beim &Ouml;ffnen der PID-Datei $1
restart_epid2=Ung&uuml;ltige PID-Datei $1
restart_esig=Fehler beim Senden von SIGHUP an Prozess $1
restart_eunknown=Unbekannter Grund
acl_virts=Virtuelle Server, die dieser Benutzer bearbeiten kann
acl_global=Darf globale Optionen bearbeiten?
acl_htaccess=nur .htaccess
acl_create=Darf virtuelle Server anlegen?
acl_vuser=Darf den Benutzer eines virtuellen Servers &auml;ndern?
acl_vaddr=Darf Adresse des virtuellen Servers &auml;ndern?
acl_pipe=Darf Protokolle an Programm leiten?
acl_stop=Darf Apache starten und beenden
acl_dir=Beschr&auml;nke Dateien auf Verzeichnis
acl_types=Verf&uuml;gbare Direktiventypen
acl_all=Alle
acl_sel=Ausgew&auml;hlte..
 0707010002709c000081a40000000000000002000000013d1fe2d100008b3a000000200000000000000000000000000000001500000003reloc/apache/lang/en  index_title=Apache Webserver
index_eroot=The Apache root directory $1 does not exist. If you have Apache installed, adjust the <a href='$2'>module configuration</a> to use the correct paths.
index_eserver=The Apache server executable $1 does not exist. If you have Apache installed, adjust the <a href='$2'>module configuration</a> to use the correct path.
index_econf=The Apache configuration file $1 does not exist. If you have Apache installed, adjust the <a href='$2'>module configuration</a> to use the correct path.
index_eports=Your Apache configuration contains more than 1 $1 directive. The current version of Webmin cannot properly handle this setup.
index_global=Global Configuration
index_virts=Virtual Servers
index_defserv=Default Server
index_defdesc1=Defines the default settings for all other virtual servers, and processes any unhandled requests.
index_any=Any
index_default=Default
index_auto=Automatic
index_virt=Virtual Server
index_vname=Handles the name-based server $1 on address $2.
index_vnamed=Handles the name-based server $1 on all addresses
index_vdef=Processes all requests not handled by other virtual servers.
index_defdesc2=Defines the default settings for all other virtual servers.
index_vport=Processes all requests on port $1 not handled by other virtual servers.
index_vaddr=Handles all requests to the address $1.
index_vaddrport=Handles all requests to the address $1 on port $2.
index_type=Type
index_addr=Address
index_nv=Add name virtual server address (if needed)
index_listen=Listen on address (if needed)
index_port=Port
index_name=Server Name
index_root=Document Root
index_create=Create a New Virtual Server
index_return=server list
index_toomany=There are too many virtual servers on your system to display on one page
index_find=Find servers where
index_equals=equals
index_matches=matches
index_nequals=not equals
index_nmatches=not matches
index_clone=Copy directives from
index_noclone=Nowhere
index_version=Apache version $1
index_file=Add virtual server to file
index_fmode0=Standard $1 file
index_fmode1=Virtual servers file $1
index_fmode2=Selected file..

cvirt_ecannot=You are not allowed to create a virtual server
cvirt_err=Failed to create virtual server
cvirt_eaddr1=No address entered
cvirt_eaddr2='$1' is not a valid address
cvirt_eport='$1' is not a valid port
cvirt_ename='$1' is not a valid server name
cvirt_eroot1=You must enter a document root
cvirt_eroot2=Failed to create directory '$1' : $2
cvirt_eroot3=You are not allowed to use the root directory '$1'
cvirt_etaken=A virtual server with the same name and port already exists
cvirt_efile=Failed to write to $1 : $2

etype=You are not allowed to edit options of this type
efailed=Failed to save $1
apache_apply=Apply Changes
apache_stop=Stop Apache
apache_start=Start Apache
auth_return=access control
default_serv=default server
bytes=bytes

global_ecannot=You are not allowed to edit global options
global_mime=Global MIME types list
global_mimedesc=Click on a MIME type from the list below to edit it, or use the link at the bottom of the page to add a new type to the list.
global_type=Type
global_ext=Extensions
global_add=Add a new MIME type
global_return=MIME types

mime_ecannot=You are not allowed to edit mime types
mime_edit=Edit MIME Type
mime_add=Add MIME Type
mime_header=Filename extensions to MIME type mapping
mime_type=MIME Type
mime_ext=Extensions
mime_err=Failed to save MIME type
mime_etype='$1' is not a valid MIME type

virt_ecannot=You cannot edit this virtual server
virt_title=Virtual Server Options
virt_header=For $1
virt_opts=Virtual Server Details
virt_conf=Server Configuration
virt_show=Show Directives
virt_edit=Edit Directives
virt_adddir=Create Per-Directory, Files or Location Options
virt_type=Type
virt_Directory=Directory
virt_Files=Files
virt_Location=Location
virt_Proxy=Proxy
virt_exact=Exact match
virt_re=Match regexp
virt_regexp=Regexp?
virt_path=Path
virt_return=server index
virt_euser=You are not allowed to change the user or group for this virtual server.
virt_header2=$1 for $2

vserv_title=Virtual Server Configuration
vserv_ecannot=You cannot edit this virtual server's address
vserv_addr=Address
vserv_addrs=Addresses
vserv_port=Port
vserv_any=Any
vserv_default=Default
vserv_root=Document Root
vserv_name=Server Name
vserv_delete=Delete Virtual Server
vserv_err=Failed to save virtual server
vserv_eaddr1=No address entered
vserv_eaddr2='$1' is not a valid address
vserv_eport='$1' is not a valid port
vserv_eroot='$1' is not a valid document root
vserv_ename='$1' is not a valid server name
vserv_eaddrs=No virtual server addresses entered

show_title=Directives
show_edit=Edit Apache directive:
show_these=Manually edit directives
show_ok=Edit

manual_configs=Edit Config Files
manual_title=Edit Directives
manual_header=Use the text box below to manually edit the Apache directives in $1 that apply to this virtual server, directory or files.
manual_ecannot=You are not allowed to manually edit directives
manual_file=Edit Directives in File:
manual_efile=Invalid Apache config file

dir_title=Per-Directory Options
dir_header=For $1 on $2
dir_show=Show Directives
dir_edit=Edit Directives
dir_opts=Options apply to ..
dir_Directory=Directory
dir_Files=Files
dir_Location=Location
dir_type=Type
dir_regexp=Regexp?
dir_exact=Exact match
dir_re=Match regexp
dir_path=Path
dir_return=directory index
dir_header2=$1 for $2

type_0=Processes and Limits
type_1=Networking and Addresses
type_2=Apache Modules
type_3=Log Files
type_4=Access Control
type_5=Document Options
type_6=MIME Types
type_7=Error Handling
type_8=User and Group
type_9=Miscellaneous
type_10=Aliases and Redirects
type_11=CGI Programs
type_12=Directory Indexing
type_13=Proxying
type_14=SSL Options
type_15=Perl
type_16=PHP
type_17=Automatic Virtual Hosts
type_18=Filters
type_19=Languages

htaccess_title=Per-Directory Options Files
htaccess_ecannot=You cannot edit htaccess files
htaccess_desc=Additional per-directory options can be specified in a file (usually called <tt>.htaccess</tt>) in each directory. The options apply to all files in that directory and any sub-directories, unless overridden by another options file.
htaccess_create=Create Options File
htaccess_find=Find Options Files
htaccess_auto=Automatically
htaccess_from=From directory
htaccess_return=options file list
htaccess_edir='$1' is not a valid directory
htaccess_ecreate=You are not allowed to create this options file
htaccess_edelete=You are not allowed to delete this options file

htindex_ecannot=You are not allowed to edit this options file
htindex_title=Per-Directory Options File
htindex_delete=Delete File
htindex_show=Show Directives
htindex_edit=Edit Directives
htindex_opts=Per-Directory Options
htindex_file=Per-File Configuration
htindex_create=Create Per-File Options
htindex_regexp=Regexp?
htindex_exact=Exact match
htindex_re=Match regexp
htindex_path=Path
htindex_header=For $1
htindex_header2=$1 for options file $2
htindex_return=options file index

htfile_title=Per-File Options
htfile_header=For $1 in $2
htfile_show=Show Directives
htfile_edit=Edit Directives
htfile_apply=Options apply to ..
htfile_header2=$1 for $2

reconfig_title=Re-Configure Known Modules
reconfig_ecannot=You are not allowed to reconfigure apache
reconfig_ever=Failed to get the version of Apache server executable $1. Check your <a href='$2'>module configuration</a> to make sure this is the correct path.
reconfig_desc1=Your Apache configuration has changed, or has not yet been examined by Webmin. Below is a list of all Apache modules supported by Webmin, with those currently installed selected. You may select or de-select modules if the list is incorrect.
reconfig_desc2=Below is a list of all Apache modules supported by Webmin, with those currently installed selected. If you are using dynamically loaded modules then you may need to select those that are dynamically loaded.
reconfig_desc3=If you are unsure which modules are supported by Apache on your system, just Configure as Webmin can normally work out the supported modules automatically.
reconfig_ok=Configure

defines_title=Edit Defined Parameters
defines_ecannot=You are not allowed to edit httpd defines
defines_desc=When Apache is started, parameters can be passed to it with the <tt>-D</tt> command line option. Because these parameters can affect which directives are used in your config files, Webmin needs to know which ones are passed to Apache when it is started up. Enter the parameters used on your system into the text field on the right.
defines_config=Note that the following defined parameters are already known : $1

authu_ecannot='$1' is not an allowed users text file
authu_title=User List
authu_header=In file $1
authu_header2=Users from text file $1
authu_none=No users in text file $1
authu_add=Add a new user
authu_return=user list
authu_edit=Edit User
authu_create=Create User
authu_user=Username
authu_pass=Password
authu_enc=Encrypted..
authu_plain=Plain text..
authu_err=Failed to save user
authu_euser=No username entered
authu_euser2=Username cannot contain a :
authu_edup=A user called '$1' already exists
authu_sync=The options below allow you to configure Webmin to automatically add, update or delete a user from this password file when a user is added, modified or removed in the <tt>Users and Groups</tt> module.
authu_screate=Add a user when a Unix user is added
authu_sdelete=Delete the user when a Unix user is deleted
authu_smodify=Change the user when a Unix user is changed

authg_ecannot='$1' is not an allowed groups text file
authg_title=Group List
authg_header=In file $1
authg_header2=Groups from text file $1
authg_none=No groups in text file $1
authg_add=Add a new group
authg_return=group list
authg_edit=Edit Group
authg_create=Create Group
authg_group=Group name
authg_mems=Members
authg_dont=Don't change
authg_set=Set to..
authg_err=Failed to save group
authg_euser=No group name entered
authg_euser2=Group name cannot contain a :
authg_edup=A group called '$1' already exists

stop_err=Failed to stop apache
stop_ecannot=You are not allowed to stop apache
stop_epid=Failed to open PID file $1
stop_epid2=Invalid PID file $1
stop_esig=Failed to send SIGTERM to process $1

start_err=Failed to start apache
start_ecannot=You are not allowed to start apache
start_ecmd=$1 failed : $2
start_eunknown=Unknown reason

restart_err=Failed to apply changes
restart_epid=Failed to open PID file $1
restart_epid2=Invalid PID file $1
restart_esig=Failed to send SIGHUP to process $1
restart_eunknown=Unknown reason

acl_virts=Virtual servers this user can edit
acl_vall=All servers
acl_vsel=Selected..
acl_defserv=Default Server
acl_global=Can edit global options?
acl_htaccess=.htaccess only
acl_create=Can create virtual servers?
acl_vuser=Can change virtual server users?
acl_vaddr=Can change virtual server addresses?
acl_pipe=Can pipe logs to programs?
acl_stop=Can stop and start Apache?
acl_dir=Limit files to directory
acl_types=Directive types available
acl_all=All
acl_sel=Selected..

core_maxconc=Maximum concurrent requests
core_maxkeep=Maximum keepalives per connection
core_maxreq=Maximum requests per server process
core_minspare=Minimum spare server processes
core_maxspare=Maximum spare server processes
core_initial=Initial server processes
core_emaxconc=Maximum concurrent requests must be an integer
core_emaxkeep=Maximum keepalives per connection must be an integer
core_emaxreq=Maximum requests per server process must be an integer
core_eminspare=Minimum spare server processes must be an integer
core_emaxspare=Maximum spare server processes must be an integer
core_einitial=Initial server processes must be an integer
core_default=Default
core_cpulimit=CPU resource limit
core_memlimit=Memory resource limit
core_proclimit=Process limit
core_cpulimit2=CPU resource limit
core_memlimit2=memory resource limit
core_proclimit2=process limit
core_slimit=Soft limit 
core_hlimit=Hard limit 
core_eslimit=$1 is not a valid soft $2
core_ehlimit=$1 is not a valid hard $2
core_dport=Default port:
core_address=Address
core_port=Port
core_listen=Listen on addresses and ports
core_eaddress='$1' is not a valid address
core_eport='$1' is not a valid port
core_eoneaddr=You must specify at least one address to listen on
core_edefport=Invalid default port
core_multi=Multiple requests per connection
core_ekeep='$1' is not a valid number of keepalives
core_ltwice=Lookup twice
core_keeptout=Keep-alive timeout
core_lqueue=Listen queue length
core_bufsize=TCP send buffer size
core_admin=Server admin email address
core_rtout=Request timeout
core_bhostname=Use hostname supplied by browser
core_lookup=Lookup hostnames
core_useauth=Do RFC1413 user lookups
core_altnames=Alternate virtual server names
core_hostname=Server hostname
core_virtaddr=Addresses for name virtual servers
core_ekeeptout=Keep-alive timeout must be an integer
core_elqueue=Listen queue length must be an integer
core_ebufsize=TCP send buffer size must be an integer
core_ertout=Request timeout must be an integer
core_ehostname=Invalid server hostname
core_osdefault=OS Default
core_noadmin=None
core_auto=Automatic
core_evirtaddr='$1' is not a valid address for name virtual servers
core_auth=Authentication options
core_mime=MIME types and encodings
core_indexing=Indexing and index files
core_hostacc=Hostname access control
core_diropts=Directory options
core_filesel=Selected below...
core_execcgi=Execute CGI programs
core_flink=Follow symbolic links
core_inclexe=Server-side includes and execs
core_incl=Server-side includes
core_genind=Generate directory indexes
core_genmview=Generate Multiviews
core_flinkmatch=Follow symbolic links if owners match
core_optsel=Selected below..
core_enable=Enable
core_disable=Disable
core_optfile=Per-directory options file
core_overr=Options file can override..
core_genmd5=Generate MD5 digests
core_docroot=Document root directory
core_eoptfile=Only one options file is allowed
core_enoopt=No options file entered
core_enodoc=Document root '$1' does not exist
core_sigemail=Email address
core_signame=Server name
core_signone=None
core_virtpath=Virtual server path
core_footer=Error message footer
core_evirtpath=Virtual server path must start with a /
core_defmime=Default MIME type
core_edefmime=Default MIME type must be in the form type/subtype
core_forcetype=Force MIME type
core_eforcetype=Forced MIME type must be in the form type/subtype
core_realm=Authentication realm name
core_authtype=Authentication type
core_authall=All access controls
core_authany=Any access control
core_authlog=Restrict access by login
core_satisfy=Clients must satisfy
core_salone=Standalone
core_inetd=Run from inetd
core_verosmod=Version and OS and modules
core_veros=Version and OS
core_ver=Version only
core_coredir=Core dump directory
core_lockfile=Server lock file
core_maxbody=Maximum request body size
core_maxxml=Maximum XML request body size
core_maxhead=Maximum headers in request
core_maxshead=Maximum request header size
core_maxline=Maximum request line size
core_pid=Server PID file
core_memsco=Shared memory scoreboard file
core_exec=Server execution
core_header=Server HTTP header
core_ecore=Invalid core dump directory
core_elock=Invalid lock file
core_ebody=Invalid request body size
core_exml=Invalid XML request body size
core_ehead=Invalid number of headers
core_eshead=Invalid header size
core_eline=Invalid request line size
core_epid=Invalid PID file
core_escore=Invalid scoreboard file
core_sroot=Server root
core_group=Group name
core_gid=Group ID
core_user=User name
core_uid=User ID
core_asgroup=Run as Unix group
core_asuser=Run as Unix user
core_euid='$1' is not a valid group ID
core_egid='$1' is not a valid user ID
core_tourl=Goto URL..
core_mesg=Show message..
core_error=Error code
core_resp=Response
core_urlmsg=URL or message
core_custom=Custom error responses
core_eerror='$1' is not a valid error code
core_eurl='$1' is not a valid URL
core_syslog=System Log
core_filelog=File 
core_proglog=Program 
core_errfile=Error log file
core_logto=Error log to
core_efilelog=Invalid error log file
core_edirlog=Error log file is not under the allowed directory
core_efilemiss=Missing error log file
core_eprogmiss=Missing error log program
core_eperm=You are not allowed to pipe logs to programs
core_allmod=All modules
core_selmod=Selected modules..
core_actmod=Active modules
core_option=Option
core_setdir=Set for directory
core_merge=Merge with parent
core_users=Only these users
core_groups=Only these groups
core_allusers=All valid users
core_none=None
core_all=All
core_product=Product only
core_fileetag=Generate ETag header from
core_fileetag_sel=Selected attributes :
core_fileetag_inode=INode number
core_fileetag_mtime=Last modified time
core_fileetag_size=File size
core_loglevel=Error log level
core_log_emerg=Emergencies - system is unusable
core_log_alert=Action must be taken immediately
core_log_crit=Critical Conditions
core_log_error=Error conditions
core_log_warn=Warning conditions
core_log_notice=Normal but significant conditions
core_log_info=Informational
core_log_debug=Debug-level messages
core_infilter=Apply input filters for all files
core_outfilter=Apply output filters for all files
core_defchar=Character set for documents
core_edefchar=Missing or invalid character set for documents

mod_negotiation_cache=Cache content-negotiated documents?
mod_negotiation_pri=Language priority for multi-views
mod_negotiation_def=Default
mod_negotiation_epri=Missing language priorities

mod_cgi_logname=CGI Script log
mod_cgi_none=None
mod_cgi_elogname=Invalid CGI script log file
mod_cgi_logsize=Maximum CGI log size
mod_cgi_default=Default
mod_cgi_elogsize=CGI log size must be an integer
mod_cgi_post=Maximum logged post data size
mod_cgi_epost=Post data size must be an integer
mod_cgi_eunder=CGI script log is not under the allowed directory

mod_alias_from=From
mod_alias_to=To
mod_alias_status=Status
mod_alias_efrom='$1' is not a valid $2
mod_alias_edest='$1' is not a valid $2 destination
mod_alias_alias=Document directory aliases
mod_alias_alias2=dokument alias
mod_alias_regexp=Regexp document directory aliases
mod_alias_regexp2=regexp document alias
mod_alias_redir=URL redirects
mod_alias_redir2=URL redirect
mod_alias_rredir=Regexp URL redirects
mod_alias_rredir2=regexp URL redirect
mod_alias_tredir=Temporary URL redirects
mod_alias_tredir2=temporary URL redirect
mod_alias_predir=Permanent URL redirects
mod_alias_predir2=permanent URL redirect
mod_alias_cgi=CGI directory aliases
mod_alias_cgi2=CGI directory alias
mod_alias_rcgi=Regexp CGI directory aliases
mod_alias_rcgi2=regexp CGI directory alias
mod_alias_estatus='$1' is not a valid status

mod_proxy_proxy=Act as proxy server?
mod_proxy_req=Requests
mod_proxy_forw=Forward to
mod_proxy_all=All
mod_proxy_match=Matching..
mod_proxy_pass=Requests to pass to another proxy
mod_proxy_local=Local URL path
mod_proxy_remote=Remote URL
mod_proxy_map=Map local to remote URLs
mod_proxy_block=Block requests to domains
mod_proxy_eblock=No domains given to block
mod_proxy_type=Type
mod_proxy_noproxy=No proxy for..
mod_proxy_nopass=Don't pass requests to another proxy for
mod_proxy_nodomain=Domain for requests with no domain
mod_proxy_none=None
mod_proxy_enodomain=Invalid default domain
mod_proxy_connect=Ports to which CONNECT is allowed
mod_proxy_default=Default
mod_proxy_econnect=Invalid CONNECT ports
mod_proxy_dir=Cache directory
mod_proxy_edir=Invalid cache directory name
mod_proxy_size=Cache size
mod_proxy_esize=Invalid cache size
mod_proxy_garbage=Cache garbage collection interval
mod_proxy_nogc=Never
mod_proxy_hours=hours
mod_proxy_egarbage=Invalid cache garbage collection interval
mod_proxy_maxexp=Cached file maximum expiry time
mod_proxy_emaxexp=Invalid cached file maximum expiry time
mod_proxy_expfac=Cached file expiry time factor
mod_proxy_eexpfac=Invalid cached file expiry time factor
mod_proxy_levels=Cache directory levels
mod_proxy_elevels=Invalid number of cache directory levels
mod_proxy_length=Cache directory name length
mod_proxy_elength=Invalid cache directory name length
mod_proxy_defexp=Cache default expiry time
mod_proxy_edefexp=Invalid default expiry time
mod_proxy_finish=Finish and cache transfer after
mod_proxy_efinish=Invalid transfer percentage
mod_proxy_nocache=Domains not to cache
mod_proxy_none2=None
mod_proxy_none3=None
mod_proxy_enocache=No domains not to cache given
mod_proxy_erequest='$1' is not a valid request
mod_proxy_epurl='$1' is not a valid proxy URL
mod_proxy_elurl='$1' is not a valid local URL path
mod_proxy_erurl='$1' is not a valid remote URL
mod_proxy_eip='$1' is not a valid IP address
mod_proxy_ehost='$1' is not a valid hostname
mod_proxy_edomain='$1' is not a valid domain
mod_proxy_enet='$1' is not a valid network
mod_proxy_enetbit='$1' is not a valid network/bits pair
mod_proxy_eunder=Cache directory is not under the allowed directory
mod_proxy_rurl=Remote URL
mod_proxy_lurl=Local URL path
mod_proxy_headers=Map remote Location: headers to local
mod_proxy_ip=IP address
mod_proxy_host=Hostname
mod_proxy_domain=Domain
mod_proxy_net=IP network
mod_proxy_netbit=Network/bits
mod_proxy_maxfw=Maximum proxies in request chain
mod_proxy_emaxfs=Maximum proxies in request chain must be an integer
mod_proxy_preserve=Preserve original Host: header
mod_proxy_timeout=Proxy request timeout in seconds
mod_proxy_etimeout=Proxy request timeout must be a number of seconds
mod_proxy_via=Set Via: headers

mod_log_agent_default=Default
mod_log_agent_file=File..
mod_log_agent_program=Program..
mod_log_agent_log=Browser log file
mod_log_agent_efile=$1 is not a valid agent log filename

mod_log_config_common=Common Log Format
mod_log_config_named=Named log formats
mod_log_config_nick=Nickname
mod_log_config_format=Format
mod_log_config_deflog=Default log format
mod_log_config_default=Default
mod_log_config_write=Write to
mod_log_config_filprog=File or program
mod_log_config_file=File..
mod_log_config_program=Program..
mod_log_config_log=Access log files
mod_log_config_enick='$1' is not a valid nickname
mod_log_config_eformat=No log format given for $1
mod_log_config_enofilprog=Missing log filename or program
mod_log_config_efilprog='$1' is not an allowed log filename or program
mod_log_config_eifset='If set' option cannot be used with the default log format

mod_log_referer_default=Default
mod_log_referer_file=File..
mod_log_referer_program=Program..
mod_log_referer_log=Referer log file
mod_log_referer_nolog=Don't log references from
mod_log_referer_elog=$1 is not a valid referer log filename
mod_log_referer_edir=referer log is not under the allowed directory

mod_status_msg=Display extended status information

mod_mime_ext=Extensions
mod_mime_xtype=Extra MIME types
mod_mime_mtype=MIME type
mod_mime_chandl=Content handlers
mod_mime_cencs=Content encodings
mod_mime_cenc=Content encoding
mod_mime_clangs=Content languages
mod_mime_clang=Content language
mod_mime_defmime=Treat all files as MIME type
mod_mime_real=Real type
mod_mime_etype=Invalid MIME type
mod_mime_pass=Pass all files to handler
mod_mime_file=MIME types file
mod_mime_default=Default
mod_mime_ignhand=Ignore handlers for extensions
mod_mime_none=None
mod_mime_xchars=Extra character sets
mod_mime_einvalid='$1' is not a valid $2
mod_mime_eext=No extensions given for $1 $2
mod_mime_type=Type
mod_mime_handler=Handler
mod_mime_enc=Encoding
mod_mime_lang=Language
mod_mime_chars=Charset
mod_mime_igntype=Ignore MIME types for extension
mod_mime_ignenc=Ignore encodings for extension
mod_mime_deflang=Default language for files
mod_mime_edeflang=Missing default language
mod_mime_outfilter=Output filters
mod_mime_infilter=Input filters
mod_mime_filters=Filters to apply
mod_mime_efext=No extensions given for filter(s) $1

mod_setenvif_header=Header
mod_setenvif_match=Match
mod_setenvif_case=Match case
mod_setenvif_var=Variable
mod_setenvif_value=Value
mod_setenvif_txt=Variables set based on request headers
mod_setenvif_eheader=Invalid request header '$1'
mod_setenvif_eregex=Invalid regular expression '$1'
mod_setenvif_evar=Invalid variable name '$1'
mod_setenvif_clear=Clear

mod_userdir_default=Default
mod_userdir_all=All users accessible
mod_userdir_except=All users except
mod_userdir_dir=User WWW directory

mod_imap_action=Action on incorrect use of imagemaps
mod_imap_default=Default
mod_imap_godefurl=Go to default URL
mod_imap_form=Show formatted menu
mod_imap_semiform=Show semi-formatted menu
mod_imap_unform=Show unformatted menu
mod_imap_disperr=Display server error
mod_imap_donoth=Do nothing
mod_imap_goimap=Go to imagemap URL
mod_imap_goref=Go to referring URL
mod_imap_gourl=Go to URL...
mod_imap_defact=Default action for imagemaps
mod_imap_default2=Default
mod_imap_root=Server root
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Referring URL
mod_imap_url=URL...
mod_imap_defbase=Default base for imagemaps
mod_imap_eurl='$1' is not a valid URL

mod_speling_autocorr=Automatically correct misspelled URLs?
mod_speling_default=Default

mod_actions_mime=Handler / MIME type
mod_actions_cgiurl=CGI script URL
mod_actions_mimecgi=Handler or MIME type CGI actions
mod_actions_http=HTTP method
mod_actions_cgi=CGI script
mod_actions_httpcgi=HTTP method CGI actions
mod_actions_emime='$1' is not a valid handler or MIME type
mod_actions_ecgi='$1' is not a valid CGI script
mod_actions_enometh=No method chosen for CGI script '$1'

mod_include_incl=Process includes on files with execute bit?
mod_include_set=Yes and set last-modified date
mod_include_default=Default

mod_dir_txt=Directory index files

mod_autoindex_default=Default
mod_autoindex_asc=Ascending
mod_autoindex_descend=Descending
mod_autoindex_name=Name
mod_autoindex_date=Date
mod_autoindex_size=Size
mod_autoindex_desc=Description
mod_autoindex_sort=Sort directory index by

browsermatch_regexp=Browser regex
browsermatch_case=Match case?
browsermatch_var=Set variable
browsermatch_value=Value
browsermatch_txt=Variables set based on browser type
browsermatch_evar=Invalid variable name '$1'
browsermatch_clear=Clear

autoindex_fname=Filename
autoindex_mime=MIME type
autoindex_enc=Encoding
autoindex_icon=Icon
autoindex_alt=Alt text
autoindex_match=Match by
autoindex_fte=Filenames, types or encodings
autoindex_diricon=Directory index icons
autoindex_deficon=Directory index default icon
autoindex_default=Default
autoindex_edeficon=Invalid default icon URL
autoindex_diralt=Directory index ALT tags
autoindex_desc=Description
autoindex_fnames=Filenames
autoindex_dirdesc=Directory index descriptions
autoindex_fancy=Display fancy directory indexes
autoindex_htmltitle=Display HTML title as description
autoindex_iheight=Icon height
autoindex_iwidth=Icon width
autoindex_sort=Allow user sorting of columns
autoindex_fildesc=Show file descriptions
autoindex_htags=Output HTML header tags
autoindex_mtime=Show last modified times
autoindex_size=Show file sizes
autoindex_iconlink=Include icon in link
autoindex_fwidth=Filename width
autoindex_dwidth=Description width
autoindex_dirfirst=Display directories first
autoindex_default2=Default
autoindex_select=Selected below...
autoindex_default3=Default
autoindex_pixels=pixels
autoindex_chars=chars
autoindex_diropt=Directory index options
autoindex_dirhead=Directory index header file
autoindex_default4=Default
autoindex_edirhead=Invalid index header filename
autoindex_dirfoot=Directory index footer file
autoindex_edirfoot=Invalid index footer filename
autoindex_ignore=Files to ignore in directory index
autoindex_eiconurl='$1' is not a valid icon url
autoindex_emiss=Missing $1 for $2
autoindex_emissquot=Missing $1 for '$2'
autoindex_enodesc=No description for file $1
autoindex_enofile=No files for description '$1'
autoindex_eiconsize='$1' is not a valid icon size
autoindex_ewidth='$1' is not a valid width
autoindex_html=Generate HTML table
autoindex_client=Ignore client variables
autoindex_sicon=Show file icons
autoindex_srules=Show &lt;hr&gt; lines
autoindex_track=Include ETags in header
autoindex_version=Sort by version strings

mod_mime_magic_file=MIME magic numbers file
mod_mime_magic_none=None
mod_mime_magic_efile=Invalid MIME magic numbers filename

mod_env_var=Variable
mod_env_value=Value
mod_env_pass=Pass through
mod_env_clear=Clear
mod_env_set=Set to..
mod_env_cgivar=Environment variables for CGI scripts
mod_env_passall=Pass all environment variables to CGIs
mod_env_default=Default
mod_env_evar='$1' is not a valid variable name
mod_env_evalue='$1' is not a valid variable value

mod_access_order=Access checking order:
mod_access_denyallow=Deny then allow
mod_access_allowdeny=Allow then deny
mod_access_mutual=Mutual failure
mod_access_default=Default
mod_access_action=Action
mod_access_cond=Condition
mod_access_all=All requests
mod_access_host=Request from host...
mod_access_ip=Request from IP..
mod_access_pip=Request from partial IP..
mod_access_mask=Request from net/netmask..
mod_access_cidr=Request from net/CIDR..
mod_access_var=If variable is set..
mod_access_allow=Allow
mod_access_deny=Deny
mod_access_restr=Restrict access
mod_access_eip='$1' is not a valid IP address
mod_access_epip='$1' is not a valid partial IP address
mod_access_emask='$1' is not a valid network/netmask pair
mod_access_ecidr='$1' is not a valid network/CIDR pair
mod_access_evar='$1' is not a valid variable name

mod_auth_ufile=User text file
mod_auth_uedit=Edit users
mod_auth_gfile=Group text file
mod_auth_gedit=Edit groups
mod_auth_pass=Pass failures to next module?
mod_auth_auth=Text file authentication
mod_auth_eudir=User text file is not under the allowed directory
mod_auth_egdir=Group text file is not under the allowed directory
mod_auth_eufile=Invalid user text file name
mod_auth_egfile=Invalid group text file name

mod_auth_dbm_ufile=User DBM file
mod_auth_dbm_gfile=Group DBM file
mod_auth_dbm_pass=Pass failures to next module?
mod_auth_dbm_auth=DBM file authentication
mod_auth_dbm_eufile=Invalid user DBM file name
mod_auth_dbm_egfile=Invalid group DBM file name
mod_auth_dbm_type=DBM files type
mod_auth_dbm_default=Default DBM format

mod_cern_meta_process=Process header metafiles
mod_cern_meta_dir=Subdirectory for header metafiles
mod_cern_meta_default=Default
mod_cern_meta_edir=Invalid metafile subdirectory name
mod_cern_meta_suffix=File suffix for header metafiles
mod_cern_meta_default2=Default
mod_cern_meta_esuffix=Invalid metafile suffix

mod_ssl_enable=Enable SSL?
mod_ssl_proto=SSL protocols
mod_ssl_cfile=Certificate/private key file
mod_ssl_default=Default
mod_ssl_ecfile=Missing certificate/private key file
mod_ssl_kfile=Private key file
mod_ssl_ekfile=Missing private key file
mod_ssl_clcert=Client SSL certificate
mod_ssl_nreq=Not required
mod_ssl_opt=Optional
mod_ssl_req=Required
mod_ssl_optca=Optional no CA
mod_ssl_cdepth=Client certificate depth
mod_ssl_ecdepth=Certificate depth must be an integer
mod_ssl_log=SSL log file
mod_ssl_elog=Missing SSL log file
mod_ssl_onlyssl=Allow SSL access only

log_global=Changed global $1 options
log_virtc=Created server $1
log_virts=Reconfigured server $1
log_virtd=Deleted server $1
log_virtm=Manually edited server $1
log_virt=Changed $1 in server $2
log_dirc=Created directory $1
log_dirc_l=Created directory $1 in server $2
log_dirs=Changed directory $1
log_dirs_l=Changed directory $1 in server $2
log_dird=Deleted directory $1
log_dird_l=Deleted directory $1 in server $2
log_dirm=Manually edited directory $1
log_dirm_l=Manually edited directory $1 in server $2
log_dir=Changed $1 in directory $2
log_dir_l=Changed $1 in directory $2 in server $3
log_htaccessc=Created options file $1
log_htaccessd=Deleted options file $1
log_htaccessm=Manually edited options file $1
log_htaccess=Changed $1 in options file $2
log_filesc=Created file options for $1
log_filesc_l=Created file options for $1 in file $2
log_filess=Changed file options for $1
log_filess_l=Changed file options for $1 in file $2
log_filesd=Deleted file options for $1
log_filesd_l=Deleted file options for $1 in file $2
log_filesm=Manually edited file options for $1
log_filesm_l=Manually edited file options for $1 in file $2
log_files=Changed $1 in file options for $2
log_files_l=Changed $1 in file options for $2 in file $3
log_mime_modify=Modified MIME type $1
log_mime_create=Added MIME type $1
log_defines=Changed defined parameters
log_reconfig=Reconfigured known modules
log_start=Started webserver
log_stop=Stopped webserver
log_apply=Applied changes

search_title=Find Servers
search_notfound=No matching virtual servers found

mod_php_value=PHP Configuration Values
mod_php_flag=PHP Configuration Flags
mod_php_name_header=Setting
mod_php_value_header=Value
mod_php_ename='$1' is an invalid name
mod_php_evalue='$1' is an invalid value for $2

mod_vhost_alias_root=Automatic virtual host root
mod_vhost_alias_ip=Use IP address instead of hostname?
mod_vhost_alias_none=None
mod_vhost_alias_script=Automatic virtual host cgi-bin
mod_vhost_alias_eroot=Missing or invalid virtual host root
mod_vhost_alias_escript=Missing or invalid virtual host cgi-bin

worker_minspare=Minimum spare threads
worker_maxspare=Maximum spare threads
worker_eminspare=Minimum spare threads must be an integer
worker_emaxspare=Maximum spare threads must be an integer
worker_threads=Threads per child process
worker_ethreads=Number of threads per child process must be an integer

perchild_sthreads=Initial threads per child process
perchild_esthreads=Number of threads per child process must be an integer
perchild_numservers=Number of child processes
perchild_enumservers=Number of child processes must be an integer
perchild_maxthreads=Maximum threads per child process
perchild_emaxthreads=Maximum threads per child process must be an integer
perchild_assign=Tie virtual to child process
perchild_assignug=With UID $1 and GID $2
perchild_child=Child process UID assignments
perchild_num=Process number
perchild_uid=UID
perchild_gid=GID
perchild_enum=Process number must be a non-zero integer
perchild_euid=UID must be an integer
perchild_egid=GID must be an integer

cache_enable=Active?
cache_type=Cache store
cache_disk=Disk
cache_mem=Memory
cache_url=Base URL or path to cache
cache_endis=Paths and URLs to cache
cache_control=Ignore requests for uncached content?
cache_lastmod=Ignore responses where there is no Last-Modified Header?
cache_on=Caching enabled?
cache_eurl=Missing or invalid URL or path
cache_minfs=Minimum file size to cache
cache_maxfs=Maximum file size to cache
cache_eminfs=Minimum file size to cache must be a number of bytes
cache_emaxfs=Maximum file size to cache must be a number of bytes
cache_minos=Minimum object size to cache in memory
cache_maxos=Maximum object size to cache in memory
cache_eminos=Minimum object size to cache must be a number of bytes
cache_emaxos=Maximum object size to cache must be a number of bytes
cache_maxoc=Maximum objects to cache in memory
cache_emaxoc=Number of objects to cache in memory must be an integer

suexec_su=Run CGI programs as
suexec_none=User from global configuration
suexec_user=Unix user
suexec_group=and group
suexec_euser=Missing or invalid user to run CGI programs as
suexec_egroup=Missing or invalid group to run CGI programs as

filter_name=Name
filter_intype=Input MIME type
filter_outtype=Output MIME type
filter_cmd=Filter command
filter_preserve=Preserves length?
filter_in=Input Filter Definitions
filter_out=Output Filter Definitions
filter_ename=Invalid filter name '$1'
filter_ecmd=Missing command for filter '$1'

cdir_err=Failed to create per-directory options
cdir_err2=Failed to save per-directory options
cdir_epath=Missing path
cdir_eproxy=Proxy options cannot be created with the match regexp option enabled
  0707010002709d000081a40000000000000002000000013d1fe2d100008e99000000200000000000000000000000000000001500000003reloc/apache/lang/es  index_title=Servidor Web Apache
index_eroot=El directorio raíz de Apache $1 no existe. Si tienes Apache instalado, ajusta la <a href='$2'>configuración del módulo</a> para que use la trayectoria correcta.
index_eserver=El ejecutable del servidor Apache $1 no existe. Si tienes Apache instalado, ajusta la <a href='$2'>configuración del módulo</a> para que use la trayectoria correcta.
index_econf=El archivo de configuración de Apache $1 no existe. Si tienes apache instalado, ajusta la <a href='$2'>configuración del módulo</a> para que use la trayectoria correcta.
index_eports=Tu configuración de Apache contiene más de 1 directiva $1. La versión actual de Webmin no puede manejar de forma adecuada está configuración.
index_global=Configuración Global
index_virts=Servidores Virtuales
index_defserv=Servidor por Defecto
index_defdesc1=Define las opciones por defecto para todos los otros sevidores virtuales y procesa cualquier requerimiento no manejado.
index_any=Cualquiera
index_default=Por defecto
index_auto=Automático
index_virt=Servidor Virtual
index_vname=Maneja el servidor basado en nombre $1 en la dirección $2.
index_vdef=Procesa todos los requerimientos no manejados por otros servidores virtuales.
index_defdesc2=Define las opciones por defecto para todos los otros servidores virtuales.
index_vport=Procesa todos los requerimientos en el puerto $1 no manejados por otros servidores virtuales.
index_vaddr=Maneja todos los requerimientos de la dirección $1.
index_vaddrport=Maneja todos los requerimientos de la dirección $1 en el puerto $2.
index_type=Tipo
index_addr=Dirección
index_nv=Añadir dirección de servidor virtual de nombres (si es necesario)
index_port=Puerto
index_name=Nombre del Servidor
index_root=Raíz para Documentos
index_create=Crear un Nuevo Servidor Virtual
index_return=lista de servidores
index_toomany=Hay demasiados servidores virtuales en tu sistema y no caben en una página
index_find=Hallar servidores que
index_equals=iguales a
index_matches=que coincidan con
index_nequals=no iguales a
index_nmatches=que no coincidan con

cvirt_ecannot=No estás autorizado a crear un servidor virtual
cvirt_err=Error al crear servidor virtual
cvirt_eaddr1=No se ha digitado dirección
cvirt_eaddr2='$1' no es una dirección válida
cvirt_eport='$1' no es un puerto válido
cvirt_ename='$1' no es un nombre de servidor válido
cvirt_eroot1=Debes digitar una raíz para documentos
cvirt_eroot2=Error al crear directorio '$1' : $2
vcirt_etaken=Ya existe un servidor virtual con el mismo nombre y puerto

etype=No estás autorizado a editar opciones de este tipo
efailed=Error al salvar $1
apache_apply=Aplicar Cambios
apache_stop=Parar Apache
apache_start=Arrancar Apache
auth_return=control de acceso
default_serv=servidor por defecto
bytes=octetos

global_ecannot=No estás autorizado a editar opciones globales
global_mime=Lista de tipos MIME Globales
global_mimedesc=Haz click en un tipo MIME de la lista inferior para editarlo o usa el enlace al final de la página para añadir un nuevo tipo a la lista.
global_type=Tipo
global_ext=Extensiones
global_add=Añadir un nuevo tipo MIME
global_return=Tipos MIME

mime_ecannot=No estás autorizado a editar tipos MIME
mime_edit=Editar Tipo MIME
mime_add=Añadir Tipo MIME
mime_header=Extensiones de nombre de archivo mapeadas a tipo MIME
mime_type=Tipo MIME
mime_ext=Extensiones
mime_err=Error al salvar tipo MIME
mime_etype='$1' no es un tipo MIME válido

virt_ecannot=No puedes editar este servidor virtual
virt_title=Opciones de Servidor Virtual
virt_header=Para $1
virt_opts=Opciones de Servidor Virtual
virt_conf=Configuración del Servidor
virt_show=Mostrar Directivas
virt_adddir=Crear Opciones de Por-Directorio, Archivos o Localización
virt_edit=Editar Directivas
virt_type=Tipo
virt_Directory=Directorio
virt_Files=Archivos
virt_Location=Localización
virt_exact=Coincidencia Exacta
virt_re=Coincidir con expresión
virt_regexp=¿Expresión?
virt_path=Trayectoria
virt_return=índice de servidor
virt_euser=No estás autorizado a cambiar el usuario o grupo de este servidor virtual.
virt_header2=$1 para $2

vserv_title=Configuración de Servidor Virtual
vserv_ecannot=No puedes editar esta dirección de servidor virtual
vserv_addr=Dirección
vserv_addrs=Direcciones
vserv_port=Puerto
vserv_any=Cualquiera
vserv_default=Por defecto
vserv_root=Raíz de Documento
vserv_name=Nombre de Servidor
vserv_delete=Borrar Servidor Virtual
vserv_err=Error al salvar servidor virtual
vserv_eaddr1=No se ha digitado dirección
vserv_eaddr2='$1' no es una dirección válida
vserv_eport='$1' no es un puerto válido
vserv_eroot='$1' no es una raíz de documentos válida
vserv_ename='$1' no es un nombre de servidor válido
vserv_eaddrs=No se han digitado direcciones de servidores virtuales

show_title=Directivas
show_edit=Editar directiva Apache:
show_these=Editar directivas manuálmente
show_ok=Editar

manual_title=Editar Directivas
manual_header=Usa la caja de texto inferior para editar manuálmente las directivas Apache en $1 que se aplican a este servidor virtual, directorio o archivos.
manual_ecannot=No estás autorizado a editar manuálmente las directivas

dir_title=Opciones de Por-Directorio
dir_header=Para $1 en $2
dir_show=Ver Directivas
dir_edit=Editar Directivas
dir_opts=Las opciones se aplican a...
dir_Directory=Directorio
dir_Files=Archivos
dir_Location=Localización
dir_type=Tipo
dir_regexp=¿Expresión?
dir_exact=coincidencia exacta
dir_re=Coincidir con expresión
dir_path=Trayectoria
dir_return=índice de directorio
dir_header2=$1 para $2

type_0=Límites y Procesos
type_1=Redes y Direcciones
type_2=Módulos Apache
type_3=Archivos de Historial
type_4=Control de Acceso
type_5=Opciones de Documento
type_6=Tipos MIME
type_7=Manejo de Errores
type_8=Usuarios y Grupos
type_9=Varios
type_10=Alias y Redireccionamientos
type_11=Programass CGI
type_12=Indizado de Directorio
type_13=Haciendo Proxy
type_14=Opciones SSL
type_15=Perl
type_16=PHP
type_17=Máquinas Virtuales Automáticas

htaccess_title=Archivos de Opciones de Por-Directorio
htaccess_ecannot=No puedes editar archivos 'htaccess'
htaccess_desc=Se pueden especificar en un archivo (normalmente llamado <tt>.htaccess</tt>) opciones adicionales de por-directorio dentro de cada directorio. Las opciones se aplican a todos los archivos de ese directorio y a cualquier subdirectorio, a menos que se indique lo contrario en otro archivo de opciones.
htaccess_create=Crear Archivo de Opciones
htaccess_find=Hallar Archivos de Opciones
htaccess_auto=Automáticamente
htaccess_from=Desde el directorio
htaccess_return=lista de archivos de opciones
htaccess_edir='$1' no es un directorio válido
htaccess_ecreate=No estás autorizado a crear este archivo de opciones
htaccess_edelete=No estás autorizado a borrar este archivo de opciones

htindex_ecannot=No estás autorizado a editar este archivo de opciones
htindex_title=Archivo de Opciones de Por-Directorio
htindex_delete=Borrar Archivo
htindex_show=Ver Directivas
htindex_edit=Editar Directivas
htindex_opts=Opciones de Por-Directorio
htindex_file=Configuración de Por-Archivo
htindex_create=Crear Opciones de Por-Archivo
htindex_regexp=¿Expresión?
htindex_exact=Coincidencia exacta
htindex_re=Coincidir con expresión
htindex_path=Trayectoria
htindex_header=Para $1
htindex_header2=$1 para archivo de opciones $2
htindex_return=índice de archivo de opciones

htfile_title=Opciones de Por-Archivo
htfile_header=Para $1 en $2
htfile_show=Ver Directivas
htfile_edit=Editar Directivas
htfile_apply=Las Opciones se aplican a...
htfile_header2=$1 para $2

reconfig_title=Reconfigurar Módulos Conocidos
reconfig_ecannot=No estás autorizado a reconfigurar apache
reconfig_ever=Error al obtener la versión del ejecutable del servidor Apache $1. Revisa tu <a href='$2'>configuración del módulo</a> para asegurarte de que su trayectoria es la correcta.
reconfig_desc1=Tu configuración Apache ha cambiado o todavía no ha sido examinada por Webmin. Abajo hay una lista de todos los módulos Apache soportados por Webmin en la que ya están seleccionados aquellos que ya están instalados. Puedes seleccionar o quitar módulos si la lista es incorrecta.
reconfig_desc2=Debajo hay una lista de todos los módulos Apache soportados por Webmin en la que ya están seleccionados aquellos que ya están instalados. Si estás usando módulos cargados dinámicamente necesitarás seleccionar aquellos que cargues de esa manera.
reconfig_desc3=Si no estás seguro de qué moulos están soportados por Apache en tu Sistema, sólo Configura ya que Webmin puede detectar los módulos soportados de forma automática.
reconfig_ok=Configurar

defines_title=Editar Parámetros Definidos
defines_ecannot=No estás autorizado a editar parámetros httpd definidos
defines_desc=Cuando Apache arranca, se le pueden pasar parámetros con la opción <tt>-D</tt> de línea de comando. A causa de que estos parámetros pueden afectar a las directivas que se usarán en tus archivos de configuración, Webmin necesita saber cuál son pasados a Apache cuando éste arranca. Digita los parámetros usados por tu sistema dentro del campo de texto de la derecha.
defines_config=Date cuenta de que los siguientes parámetros definidos ya son conocidos: $1

authu_ecannot='$1' no es un archivo de texto de usuario autorizado
authu_title=Lista de Usuarios
authu_header=En archivo $1
authu_header2=Usuarios de archivo de texto $1
authu_none=No hay usuarios en archivo de texto $1
authu_add=Añadir nuevo usuario
authu_return=lista de usuarios
authu_edit=Editar Usuario
authu_create=Crear Usuario
authu_user=Nombre de Usuario
authu_pass=Clave de Acceso
authu_dont=No cambiar
authu_set=Poner a...
authu_err=Error al salvar usuario
authu_euser=No se ha digitado nombre de usuario
authu_euser2=El nombre de usuario no puede contener un carácter ':'
authu_edup=Ya existe un usuario llamado '$1'
authu_sync=Las opciones de debajo te permiten configurar Webmin para que automáticamente añada, actualice o borre a un usuario de este archivo de claves de acceso cuando un usuario es añadido, modificado o borrado en el módulo de <tt>Usuarios y Grupos</tt>.
authu_screate=Añadir el usuario cuando se añada el de Unix
authu_sdelete=Borrar el usuario cuando se borre el de Unix
authu_smodify=Cambiar el usuario cuando se cambie el de Unix

authg_ecannot='$1' no es un archivo de texto de grupos autorizado
authg_title=Lista de Grupos
authg_header=En archivo $1
authg_header2=Grupos del archivo de texto $1
authg_none=No hay grupos en archivo de texto $1
authg_add=Añadir nuevo grupo
authg_return=lista de grupos
authg_edit=Editar Grupo
authg_create=Crear Grupo
authg_group=Nombre de Grupo
authg_mems=Miembros
authg_dont=No cambiar
authg_set=Poner a...
authg_err=Error al salvar grupo
authg_euser=No se ha digitado nombre de grupo
authg_euser2=El nombre de grupo no puede contener un carácter ':'
authg_edup=Ya existe un grupo llamado '$1'

stop_err=Error al parar apache
stop_ecannot=No estás autorizado a parar apache
stop_epid=Error al abrir archivo PID $1
stop_epid2=Archivo PID $1 inválido
stop_esig=Error al enviar SIGTERM al proceso $1

start_err=Error al arrancar apache
start_ecannot=No estás autorizado a arrancar apache
start_ecmd=$1 falló: $2
start_eunknown=Motivo desconocido

restart_err=Error al aplicar cambios
restart_epid=Error al abrir archivo PID $1
restart_epid2=Archivo PID $1 inválido
restart_esig=Error al enviar SIGHUP al proceso $1
restart_eunknown=Motivo desconocido

acl_virts=Servidores virtuales que este usuario puede editar
acl_vall=Todos los servidores
acl_vsel=Los seleccionados...
acl_defserv=Servidor por defecto
acl_global=¿Puedo editar opciones globales?
acl_htaccess=sólamente .htaccess
acl_create=¿Puedo crear servidores virtuales?
acl_vuser=¿Puedo cambiar usuarios de servidores virtuales?
acl_vaddr=¿Puedo cambiar direcciones de servidores virtuales?
acl_pipe=¿Puedo entubar historiales a programas?
acl_stop=¿Puedo parar y arrancar Apache?
acl_dir=Limitar archivos a directorio
acl_types=Tipos de Directivas disponibles
acl_all=Todas
acl_sel=Seleccionadas...

core_maxconc=Máximo número de requerimientos concurrentes
core_maxkeep=Máximo número de mantener_vivos por conexión
core_maxreq=Máximo número de requerimientos por proceso de servidor
core_minspare=Mínimo número de procesos de repuesto del servidor
core_maxspare=Máximo número de procesos de repuesto del servidor
core_initial=Procesos iniciales del servidor
core_emaxconc=Máximo número de requerimientos concurrentes debe de ser un entero
core_emaxkeep=Máximo número de mantener_vivos por conexión debe de ser un entero
core_emaxreq=Máximo número de requerimientos por proceso de servidor debe de ser un entero
core_eminspare=Mínimo número de procesos de servidor debe de ser un entero
core_emaxspare=Máximo número de procesos de repuesto del servidor debe de ser un entero
core_einitial=Procesos iniciales del servidor debe de ser un entero
core_default=Por defecto
core_cpulimit=Límite de recursos de UCP
core_memlimit=Límite de recursos de memoria
core_proclimit=Límite de procesos
core_cpulimit2=Límite de recursos de UCP
core_memlimit2=límite de recursos de memoria
core_proclimit2=límite de procesos
core_slimit=Límite por Soft
core_hlimit=Límite por Hard
core_eslimit=$1 no es un soft $2 válido
core_ehlimit=$1 no es un hard $2 válido
core_dport=Puerto por defecto:
core_address=Dirección
core_port=Puerto
core_listen=Escuchar en direcciones y puertos
core_eaddress='$1' no es una dirección válida
core_eport='$1' no es un puerto válido
core_eoneaddr=Debes de especificar al menos una dirección donde escuchar
core_edefport=Puerto por defecto inválido
core_multi=Requerimientos múltiples por conexión
core_ekeep='$1' no es un número válido de mantener_vivos
core_ltwice=Buscar dos veces
core_keeptout=Tiempo de espera para mantener_vivos
core_lqueue=Medida de cola para escuchar
core_bufsize=Medida de búfer de envío de TCP
core_admin=Dirección de correo del administrador del servidor
core_rtout=Tiempo de espera para requerimientos
core_bhostname=Usar el nombre de máquina suministrado por el navegador
core_lookup=Buscar nombres de máquina
core_useauth=Hacer búsquedas de usuario RFC1413
core_altnames=Nombres alternativos de servidor virtual
core_hostname=Nombre de máquina de servidor
core_virtaddr=Direcciones para servidores virtuales de nombres
core_ekeeptout=Tiempo de espera para mantener_vivos debe de ser un entero
core_elqueue=Medida de cola para escuchar debe de ser un entero
core_ebufsize=Búfer de envío de TCP debe de ser un entero
core_ertout=Tiempo de espera de requerimiento debe de ser un entero
core_ehostname=Servidor de nombres de máquina inválido
core_osdefault=Por defecto de SO
core_noadmin=Ninguno
core_auto=Automático
core_evirtaddr='$1' no es una dirección válida para servidores virtuales de nombres
core_auth=Opciones de autentificación
core_mime=Tipos MIME y codificaciones
core_indexing=Indexaciones y archivos de índice
core_hostacc=Control de acceso a nombre de máquina
core_diropts=Opciones de directorio
core_filesel=Seleccionado debajo...
core_execcgi=Ejecutar programas CGI
core_flink=Seguir enlaces simbólicos
core_inclexe=Inclusiones y ejecuciones del lado del servidor
core_incl=Inclusiones del lado del servidor
core_genind=Generar índices de directorio
core_genmview=Generar multivistas
core_flinkmatch=Seguir enlaces simbólicos si el propietario coincide
core_optsel=Seleccionado debajo...
core_enable=Activar
core_disable=Desactivar
core_optfile=Archivo de opciones de Por-directorio
core_overr=El archivo de opciones puede pasar por alto...
core_genmd5=Generar resumen MD5
core_docroot=Directorio raíz para documentos
core_eoptfile=Sólo está permitido un archivo de opciones
core_enoopt=No se ha digitado archivo de opciones
core_enodoc=El documento raíz '$1' no existe
core_sigemail=Dirección de correo
core_signame=Nombre de servidor
core_signone=Ninguno
core_virtpath=Trayectoria de servidor virtual
core_footer=Pie de mensaje de error
core_evirtpath=La trayectoria del servidor virtual debe de comenzar con una '/'
core_defmime=Tipo MIME por defecto
core_edefmime=Tipo MIME por defecto debe de estar en el formato tipo/subtipo
core_realm=Nombre de ámbito de autentificación
core_authtype=Tipo de Autentificación
core_authall=Todos los controles de acceso
core_authany=Cualquier control de acceso
core_authlog=Restringir acceso por login
core_satisfy=Los clientes deben de satisfacer
core_salone=Solo
core_inetd=Ejecutar desde inetd
core_verosmod=Versión y SO y módulos
core_veros=Versión y SO
core_ver=Versión sólamente
core_coredir=Directorio para volcados de memoria
core_lockfile=Archivo de bloqueo del servidor
core_maxbody=Medida máxima de cuerpo de requerimiento
core_maxhead=Cabeceras máximas en requerimiento
core_maxshead=Medida máxima de cabecera de requerimiento
core_maxline=Medida máxima de línea de requerimiento
core_pid=Archivo PID del Servidor
core_memsco=Archivo de puntuación de memoria compartida
core_exec=Ejecución de servidor
core_header=Cabecera HTTP de servidor
core_ecore=Directorio de volcado de memoria inválido
core_elock=Archivo de bloqueo inválido
core_ebody=Medida de cuerpo de requerimiento inválida
core_ehead=Número inválido de cabeceras
core_eshead=Medida inválida de cabecera
core_eline=Medida inválida de línea de requerimiento
core_epid=Archivo PID inválido
core_escore=Archivo de puntuación inválido
core_sroot=Raíz de Servidor
core_group= Nombre de grupo
core_gid= ID de grupo
core_user= Nombre de usuario
core_uid= ID de usuario
core_asgroup=Ejecutar como grupo de Unix
core_asuser=Ejecutar como usuario de Unix
core_euid='$1' no es una ID válida de grupo
core_egid='$1' no es una ID válida de usuario
core_tourl= Ir a Dirección (URL)...
core_mesg= Mostrar mensaje...
core_error=Código de error
core_resp=Respuesta
core_urlmsg=Dirección (URL) o mensaje
core_custom=respuestas a errores de Cliente
core_eerror='$1' no es un código de error válido
core_eurl='$1' no es una dirección (URL) válida
core_syslog=Historial de Sistema
core_filelog=Archivo
core_proglog=Programa 
core_errfile=Archivo de historial de errores
core_logto=Historial de errores a
core_efilelog=Archivo de historial de errores inválido
core_edirlog=El archivo de historial de errores no está bajo el directorio autorizado
core_efilemiss=Archivo de historial de error sin poner
core_eprogmiss=Programa de historial de errores sin poner
core_eperm=No estás autorizado a usar tuberías hacia los programas de historial
core_allmod=Todos los módulos
core_selmod=Los módulos seleccionados...
core_actmod=Módulos activos
core_option=Opción
core_setdir=Puesta para el directorio
core_merge=Fundir con el padre
core_users=Sólo estos usuarios
core_groups=Sólo estos grupos
core_allusers=Todos los usuarios válidos
core_none=Ninguno
core_all=Todos
core_product=Sólo producto

mod_negotiation_cache=¿Hago caché de los documentos de contenido-negociado?
mod_negotiation_pri=Prioridad de lenguaje para muti-vistas
mod_negotiation_def=Por defecto
mod_negotiation_epri=Prioridades de lenguage sin poner

mod_cgi_logname=Historial de guión CGI
mod_cgi_none=Ninguno
mod_cgi_elogname=Archivo de historial de guión CGI inválido
mod_cgi_logsize=Medida máxima de historial de CGI
mod_cgi_default=Por defecto
mod_cgi_elogsize=La medida del historial de CGI debe de ser un entero
mod_cgi_post=Medida máxima de historial de datos enviados
mod_cgi_epost=La medida de los datos enviados debe de ser un entero
mod_cgi_eunder=El historial de guión de CGI no está bajo el directorio autorizado

mod_alias_from=De
mod_alias_to=Para
mod_alias_status=Estado
mod_alias_efrom='$1' no es un $2 válido
mod_alias_edest='$1' no es un destino $2 válido
mod_alias_alias=Aliases de directorio de documento
mod_alias_alias2=Alias de documento
mod_alias_regexp=Aliases de directorio de documento de expresiones (regexp)
mod_alias_regexp2=Alias de expresión de documento
mod_alias_redir=Redirecciones URL
mod_alias_redir2=Redirección URL
mod_alias_rredir=Redirecciones de Expresiones URL
mod_alias_rredir2=Redirección de Expresión URL
mod_alias_tredir=Redirecciones de URL temporales
mod_alias_tredir2=Redirección de URL temporal
mod_alias_predir=Redirecciones de URL permanentes
mod_alias_predir2=Redirección de URL permanente
mod_alias_cgi=Aliases de directorio CGI
mod_alias_cgi2=Alias de directorio CGI
mod_alias_rcgi=Aliases de expresiones de directorio CGI
mod_alias_rcgi2=Alias de expresión de directorio CGI
mod_alias_estatus='$1' no es un estado válido

mod_proxy_proxy=¿Actúo como servidor proxy?
mod_proxy_req=Requerimientos
mod_proxy_forw=Remitir a
mod_proxy_all=Todos
mod_proxy_match=Qeu coincidan con...
mod_proxy_pass=Requerimientos a pasar a otro proxy
mod_proxy_local=Trayectoria de dirección (URL) local
mod_proxy_remote=Dirección (URL) remota
mod_proxy_map=Mapear direcciones (URL) locales a remotas
mod_proxy_block=Bloquear requerimientos a dominios
mod_proxy_eblock=No se han digitado dominios que bloquear
mod_proxy_type=Tipo
mod_proxy_noproxy=Sin proxy para...
mod_proxy_nopass=No pasar requerimientos a otro proxy para
mod_proxy_nodomain=Dominio para requerimientos sin dominio
mod_proxy_none=Ninguno
mod_proxy_enodomain=Dominio por defecto inválido
mod_proxy_connect=Puertos en los que se permite CONECTAR (CONNECT)
mod_proxy_default=Por defecto
mod_proxy_econnect=Puertos donde conectar inválidos
mod_proxy_dir=Directorio de caché
mod_proxy_edir=Nombre de directorio de caché inválido
mod_proxy_size=Medida de caché
mod_proxy_esize=Medida de caché inválida
mod_proxy_garbage=Intervalo de colección de basura de caché
mod_proxy_nogc=Nunca
mod_proxy_hours=horas
mod_proxy_egarbage=Intervalo de colección de basura de caché inválido
mod_proxy_maxexp=Tiempo máximo de expiración de archivo de caché
mod_proxy_emaxexp=Tiempo máximo de expiración de archivo de caché inválido
mod_proxy_expfac~=Factor de tiempo de expiración de archivo de caché
mod_proxy_eexpfac=Factor de tiempo de expiración de archivo de caché inválido
mod_proxy_levels=Niveles de directorio de caché
mod_proxy_elevels=Niveles de directorio de caché inválidos
mod_proxy_length=Medida de nombre de directorio de caché
mod_proxy_elength=Medida de nombre de directorio de caché inválida
mod_proxy_defexp=Tiempo de expiración por defecto de caché
mod_proxy_edefexp=Tiempo de expiración por defecto inválido
mod_proxy_finish=Acabar y hacer caché de transferencia después
mod_proxy_efinish=Porcentaje de transferencia inválido
mod_proxy_nocache=Dominios de los que no hacer caché
mod_proxy_none2=Ninguno
mod_proxy_none3=Ninguno
mod_proxy_enocache=No se han digitado dominios de los que no hacer caché
mod_proxy_erequest='$1' no es un requerimiento válido
mod_proxy_epurl='$1' no es una dirección (URL) de proxy válida
mod_proxy_elurl='$1' no es una trayectoria de dirección (URL) local válida
mod_proxy_erurl='$1' no es una dirección (URL) remota válida
mod_proxy_eip='$1' no es una dirección IP válida
mod_proxy_ehost='$1' no es un nombre válido de máquina
mod_proxy_edomain='$1' no es un dominio válido
mod_proxy_enet='$1' no es una red válida
mod_proxy_enetbit='$1' no es una red/par_de_bits válida
mod_proxy_eunder=directorio de caché no está bajo el directorio permitido
mod_proxy_rurl=Dirección (URL) remota
mod_proxy_lurl=Trayectoria de dirección (URL) local
mod_proxy_headers=Mapear Localización remota: cabeceras a local
mod_proxy_ip=Dirección IP
mod_proxy_host=Nombre de máquina
mod_proxy_domain=Dominio
mod_proxy_net=Red IP
mod_proxy_netbit=Red/bits

mod_log_agent_default=Por defecto
mod_log_agent_file=Archivo...
mod_log_agent_program=Programa...
mod_log_agent_log=Archivo de historial de navegador
mod_log_agent_efile=$1 no es un nombre de archivo de historial de agente válido

mod_log_config_common=Formato de Historial Común
mod_log_config_named=Formatos de historial de Named
mod_log_config_nick=Apodo
mod_log_config_format=Formato
mod_log_config_deflog=Formato por defecto de historial
mod_log_config_default=Por defecto
mod_log_config_write=Escribir a
mod_log_config_filprog=Archivo o programa
mod_log_config_file=Archivo...
mod_log_config_program=Programa...
mod_log_config_log=Archivos de historial de acceso
mod_log_config_enick='$1' no es un apodo válido
mod_log_config_eformat=No se ha digitado formato de historial para $1
mod_log_config_enofilprog=Nombre de archivo de historial o programa sin poner
mod_log_config_efilprog='$1' no es un nombre de archivo de historial o programa autorizado
mod_log_config_eifset=La opción 'If set' no se puede utilizar con el formato de historial por defecto

mod_log_referer_default=Por defecto
mod_log_referer_file=Archivo...
mod_log_referer_program=Programa...
mod_log_referer_log=Archivo de historial de referencias
mod_log_referer_nolog=No llevar historial de las referencias desde
mod_log_referer_elog=$1 no es un nombre de archivo de referencias válido
mod_log_referer_edir=historial de referencias no está bajo el directorio autorizado

mod_status_msg=Mostrar información extendida de estado

mod_mime_ext=Extensiones
mod_mime_xtype=Tipos MIME extra
mod_mime_mtype=Tipo MIME
mod_mime_chandl=Manejadores de contenido
mod_mime_cencs=Codificaciones de contenido
mod_mime_cenc=Codificación de contenido
mod_mime_clangs=Lenguages de Contenido
mod_mime_clang=Lenguage de Contenido
mod_mime_defmime=Trata todos los archivos como de tipo MIME
mod_mime_real=Tipo real
mod_mime_etype=Tipo MIME inválido
mod_mime_pass=Pasa todos los archivos al manejador
mod_mime_file=Archivo de tipos MIME
mod_mime_default=Por defecto
mod_mime_ignhand=Ignorar manejadores para extensiones
mod_mime_none=Ninguna
mod_mime_xchars=Conjuntos extra de caracteres
mod_mime_einvalid='$1' no es un $2 válido
mod_mime_19=No se han digitado extensiones para $1 $2
mod_mime_type=Tipo
mod_mime_handler=Manejador
mod_mime_enc=Codificación
mod_mime_lang=Lenguage
mod_mime_chars=Conjunto de caracteres
mod_mime_chars=Ignorar tipos MIME para extensión
mod_mime_igntype=Ignorar codificaciones para extensión

mod_setenvif_header=Cabecera
mod_setenvif_match=Coincidencia
mod_setenvif_case=Coincidencia de mayúsculas/minúsculas
mod_setenvif_var=Variable
mod_setenvif_value=Valor
mod_setenvif_txt=Variables puestas basadas en cabeceras de requerimiento
mod_setenvif_eheader=Cabecera de requerimiento '$1' inválida
mod_setenvif_eregex=Expresión regular '$1' inválida
mod_setenvif_evar=Nombre de variable '$1' inválida
mod_setenvif_clear=Limpiar

mod_userdir_default=Por defecto
mod_userdir_all=Accesible a todos los usuarios
mod_userdir_except=Todos los usarios excepto
mod_userdir_dir=Directorio WWW de Usuario

mod_imap_action=Acción cuando se haga uso incorrecto de mapas de imágenes
mod_imap_default=Por defecto
mod_imap_godefurl=Ir a dirección (URL) por defecto
mod_imap_form=Mostrar menú formateado
mod_imap_semiform=Mostrar menú semi-formateado
mod_imap_unform=Mostrar menú sin formato
mod_imap_disperr=Mostrar error de servidor
mod_imap_donoth=No hacer nada
mod_imap_goimap=Ir a dirección (URL) de mapa de imagen
mod_imap_goref=Ir a dirección (URL) a la que se hace referencia
mod_imap_gourl=Ir a dirección (URL)...
mod_imap_defact=Acción por defecto para mapas de imagen
mod_imap_default2=Por defecto
mod_imap_root=Raíz de Servidor
mod_imap_imapurl=Dirección (URL) de mapa de imagen
mod_imap_refurl=Dirección (URL) a la que se hace referencia
mod_imap_url=Dirección (URL)...
mod_imap_defbase=Base por defecto para mapas de imagen
mod_imap_eurl='$1' no es una dirección (URL) válida

mod_speling_autocorr=¿Corregir automáticamente direcciones (URL) con mala sintáxis?
mod_speling_default=Por defecto

mod_actions_mime=Manejador/tipo MIME
mod_actions_cgiurl=Dirección (URL) de guión CGI
mod_actions_mimecgi=Acciones CGI de Manejador o tipo MIME
mod_actions_http=Método HTTP
mod_actions_cgi=Guión CGI
mod_actions_httpcgi=Acciones CGI de método HTTP
mod_actions_emime='$1' no es un manejador o tipo MIME válido
mod_actions_ecgi='$1' no es un guión CGI válido
mod_actions_enometh=No se ha seleccionado método para guión CGI '$1'

mod_include_incl=¿Proceso incluye archivos con bit de ejecución?
mod_include_set=Sí y poner última fecha de modificación
mod_include_default=Por defecto

mod_dir_txt=Archivos de índice de directorio

mod_autoindex_default=Por defecto
mod_autoindex_asc=Ascendente
mod_autoindex_descend=Descendente
mod_autoindex_name=Nombre
mod_autoindex_date=Fecha
mod_autoindex_size=Medida
mod_autoindex_desc=Descripción
mod_autoindex_sort=Clasificar índice de directorio por

browsermatch_regexp=Expresiones de navegador
browsermatch_case=¿Coincidir mayúsculas/minúsculas?
browsermatch_var=Poner variable
browsermatch_value=Valor
browsermatch_txt=Variables puestas basadas en tipo de navegador
browsermatch_evar=Nombre de variable '$1' inválido
browsermatch_clear=Limpiar

autoindex_fname=Nombre de archivo
autoindex_mime=Tipo MIME
autoindex_enc=Codificación
autoindex_icon=Icono
autoindex_alt=Texto alternativo
autoindex_match=Que coincida con
autoindex_fte=Nombre de archivos, tipos o codificaciones
autoindex_diricon=Iconos de índice de directorio
autoindex_deficon=Icono por defecto de índice de directorio
autoindex_default=Por defecto
autoindex_edeficon=Dirección (URL) de icono por defecto inválida
autoindex_diralt=Marcas ALT de índice de directorio
autoindex_desc=Descripción
autoindex_fnames=Nombre de archivos
autoindex_dirdesc=Descripciones de índice de directorio
autoindex_fancy=Mostrar índices simpáticos de directorio
autoindex_htmltitle=Mostrar título HTML como descripción
autoindex_iheight=Altura de icono
autoindex_iwidth=Anchura de icono
autoindex_sort=Permitir al usuario la clasificación de columnas
autoindex_fildesc=Mostrar descripciones de archivo
autoindex_htags=Marcas de cabecera HTML de salida
autoindex_mtime=Mostrar tiempos de última modificación
autoindex_size=Mostrar medidas de archivo
autoindex_iconlink=Incluir icono en enlace
autoindex_fwidth=Ancho de nombre de archivo
autoindex_dwidth=Ancho de descripción
autoindex_dirfirst=Mostrar primero los directorios
autoindex_default2=Por defecto
autoindex_select=Seleccionado debajo...
autoindex_default3=Por defecto
autoindex_pixels=pixels
autoindex_chars=caracteres
autoindex_diropt=Opciones de índice de directorio
autoindex_dirhead=Archivo de cabecera de índice de directorio
autoindex_default4=Por defecto
autoindex_edirhead=Nombre de archivo de cabecera de índice inválido
autoindex_dirfoot=Archivo de pie de índice de directorio
autoindex_edirfoot=Nombre de pie de índice inválido
autoindex_ignore=Archivos a ignorar en índice de directorio
autoindex_eiconurl='$1' no es una dirección (URL) válida de icono
autoindex_emiss=Sin poner $1 para $2
autoindex_emissquot=Sin poner $1 para '$2'
autoindex_enodesc=No hay descripción para archivo $1
autoindex_enofile=No hay archivos para descripción '$1'
autoindex_eiconsize='$1' no es una medida válida de icono
autoindex_ewidth='$1' no es una anchura válida

mod_mime_magic_file=Archivo de números de magia de MIME
mod_mime_magic_none=Ninguno
mod_mime_magic_efile=Nombre de archivo de números de magia de MIME inválido

mod_env_var=Variable
mod_env_value=Valor
mod_env_pass=Paso a través
mod_env_clear=Limpiar
mod_env_set=Poner a...
mod_env_cgivar=Variables de entorno para guiones CGI
mod_env_passall=Pasar todas las variables de entorno a CGIs
mod_env_default=Por defecto
mod_env_evar='$1' no es un nombre válido de variable
mod_env_evalue='$1' no es un valor válido de variable

mod_access_order=Orden de chequeo de acceso:
mod_access_denyallow=Denegar y luego permitir
mod_access_allowdeny=Permitir y luego denegar
mod_access_mutual=Fallo mutuo
mod_access_default=Por defecto
mod_access_action=Acción
mod_access_cond=Condición
mod_access_all=Todos los requerimientos
mod_access_host=Requerimientos desde máquina...
mod_access_ip=Requerimientos desde IP...
mod_access_pip=Requerimientos desde IP parcial...
mod_access_mask=Requerimientos desde red/máscara de red...
mod_access_cidr=Requerimientos desde red/CIDR...
mod_access_var=Si la variable está puesta...
mod_access_allow=Permitir
mod_access_deny=Denegar
mod_access_restr=Restringir acceso
mod_access_eip='$1' no es una dirección IP válida
mod_access_epip='$1' no es una dirección IP parcial válida
mod_access_emask='$1' no es un par válido de red/máscara de red
mod_access_ecidr='$1' no es un par válido de red/CIDR
mod_access_evar='$1' no es un nombre válido de variable

mod_auth_ufile=Archivo de texto de usuario
mod_auth_uedit=Editar usuarios
mod_auth_gfile=Archivo de texto de grupo
mod_auth_gedit=Editar grupos
mod_auth_pass=¿Paso fallos al módulo siguiente?
mod_auth_auth=Autentificación de archivo de texto
mod_auth_eudir=Archivo de texto de usuario no está bajo el directorio autorizado
mod_auth_egdir=Archivo de texto de grupo no está bajo el directorio autorizado
mod_auth_eufile=Nombre de archivo de texto de usuario inválido
mod_auth_egfile=Nombre de archivo de texto de grupo inválido

mod_auth_dbm_ufile=Archivo DBM de usuario
mod_auth_dbm_gfile=Archivo DBM de grupo
mod_auth_dbm_pass=¿Paso los fallos al siguiente módulo?
mod_auth_dbm_auth=Autenticación de archivo DBM
mod_auth_dbm_eufile=Nombre de archivo DBM de usario inválido
mod_auth_dbm_egfile=Nombre de archivo DBM de grupo inválido

mod_cern_meta_process=Meta-archivos de cabecera de proceso
mod_cern_meta_dir=Subdirectorio para meta-archivos de cabecera
mod_cern_meta_default=Por defecto
mod_cern_meta_edir=Nombre de subdirectorio de meta-archivo inválido
mod_cern_meta_suffix=Sufijo de archivo para meta-archivos de cabecera
mod_cern_meta_default2=Por defecto
mod_cern_meta_esuffix=Sufijo de meta-archivo inválido

mod_ssl_enable=¿Activar SSL?
mod_ssl_proto=Protocolos SSL
mod_ssl_cfile=Archivo de Certificado/Clave privada
mod_ssl_default=Por defecto
mod_ssl_ecfile=Archivo de Certificado/Clave privada sin poner
mod_ssl_kfile=Archivo de clave privada
mod_ssl_ekfile=Archivo de clave privada sin poner
mod_ssl_clcert=Certificado SSL de cliente
mod_ssl_nreq=No requerido
mod_ssl_opt=Opcional
mod_ssl_req=Requerido
mod_ssl_optca=Opcional no CA
mod_ssl_cdepth=Profundidad del certificado de cliente
mod_ssl_ecdepth=La profundidad del certificado debe de ser un entero
mod_ssl_log=Archivo de historial SSL
mod_ssl_elog=Archivo de historial SSL sin poner
mod_ssl_onlyssl=Permitir solamente el acceso SSL

log_global=Cambiadas las opciones globales $1
log_virtc=Creado servidor $1
log_virts=Reconfigurado servidor $1
log_virtd=Borrado servidor $1
log_virtm=Servidor $1 editado manuálmente
log_virt=Cambiado $1 en servidor $2
log_dirc=Creado directorio $1
log_dirc_l=Creado directorio $1 en servidor $2
log_dirs=Cambiado directorio $1
log_dirs_l=Cambiado directorio $1 en servidor $2
log_dird=Borrado directorio $1
log_dird_l=Borrado directorio $1 en servidor $2
log_dirm=Directorio $1 editado manuálmente
log_dirm_l=Directorio $1 editado manuálmente en servidor $2
log_dir=Cambiado $1 en directorio $2
log_dir_l=Cambiado $1 en directorio $2 del servidor $3
log_htaccessc=Creado el archivo de opciones $1
log_htaccessd=Borrado el archivo de opciones $1
log_htaccessm=El archivo de opciones $1 ha sido editado manuálmente
log_htaccess=Cambiado $1 en archivo de opciones $2
log_filesc=Creadas opciones de archivo para $1
log_filesc_l=Creadas opciones de archivo para $1 en archivo $2
log_filess=Cambiadas opciones de archivo para $1
log_filess_l=Cambiadas opciones de archivo para $1 en archivo $2
log_filesd=Borradas opciones de archivo para $1
log_filesd_l=Borradas opciones de archivo para $1 en archivo $2
log_filesm=Editadas manuálmente opciones de archivo para $1
log_filesm_l=Editadas manuálmente opciones de archivo para $1 en archivo $2
log_files=Cambiado $1 en opciones de archivo para $2
log_files_l=Cambiado $1 en opciones de archivo para $2 en archivo $3
log_mime_modify=Modificado tipo MIME $1
log_mime_create=Añadido tipo MIME $1
log_defines=Cambiados los parámetros definidos
log_reconfig=Reconfigurados los módulos conocidos
log_start=Servidor de web arrancado
log_stop=Servidor de web parado
log_apply=Cambios aplicados

search_title=Hallar Servidores
search_notfound=No se han hallado servidores que coincidan

mod_php_value=Valores de Configuración PHP
mod_php_flag=Banderas de Configuración PHP
mod_php_name_header=Valores
mod_php_value_header=Valor
mod_php_ename='$1' es un nombre inválido
mod_php_evalue='$1' es un valor inválido para $2

mod_vhost_alias_root=Raíz de maquina virtual automática
mod_vhost_alias_ip=¿Uso dirección IP en vez de nombre de máquina?
mod_vhost_alias_none=Ninguna
mod_vhost_alias_script=cgi-bin de máquina virutual automática
mod_vhost_alias_eroot=Raíz de máquina virtual falta o es inválida
mod_vhost_alias_escript=cgi-bin de máquina virtual falta o es inválido

   0707010002709e000081a40000000000000002000000013d1fe2d100008de3000000200000000000000000000000000000001500000003reloc/apache/lang/fr  index_title=Serveur web Apache
index_eroot=Le répertoire racine d'Apache '$1' n'existe pas.  Si vous avez Apache d'installé, ajuster la <a href='$2'>configuration du module</a> avec les chemins corrects.
index_eserver=L'exécutable '$1' du serveur Apache n'existe pas.  Si vous avez Apache d'installé, ajuster la <a href='$2'>configuration du module</a> avec le chemin du fichier correct.
index_econf=Le fichier de configuration '$1' du serveur Apache n'existe pas.  Si vous avez Apache d'installé, ajuster la <a href='$2'>configuration du module</a> avec le chemin du correct du fichier de configuration.
index_eports=Votre configuration d'Apache contient plus que $1 directives.  La version courante de Webmin ne peut supporter cette configuration.
index_global=Configuration globale
index_virts=Serveurs virtuels
index_defserv=Serveur par Défaut
index_defdesc1=Définit la configuration par défaut pour tout autre serveur virtuel, et qui procède à toute requête qui n'est pas traité.
index_any=N'importe quel
index_default=Défaut
index_auto=Automatique
index_virt=Serveur Virtuel
index_vname=Prise en main du serveur basé sur le nom $1 sur l'adresse $2.
index_vdef=Traite tout requête qui ne sont pas prise en main par d'autre serveur virtuel
index_defdesc2=Définit la configuration par défaut de tout autre serveur virtuel
index_vport=Traite toute requête du port $1 qui ne sont pas prise en charge par tout autre serveur virtuel
index_vaddr=Traite toutes les requêtes de l'adresse $1.
index_vaddrport=Traite toutes les requêtes de l'adresse $1 sur le port $2.
index_type=Type
index_addr=Adresse
index_nv=Ajouter l'adresse d'un serveur virtuel de noms (si nécessaire)
index_port=Port
index_name=Nom du Serveur
index_root=Répertoire racine des documents
index_create=Créer un nouveau serveur virtuel
index_return=liste des serveurs
index_toomany=Il y a trop de serveurs virtuels sur votre sytème pour les afficher sur une seule page
index_find=Rechercher les serveurs où
index_equals=équivaut à
index_matches=correspond au motif
index_nequals=n'équivaut pas
index_nmatches=ne correspond pas au motif

cvirt_ecannot=Vous n'êtes pas autorisé à créer un serveur virtuel
cvirt_err=Impossible de créer un serveur virtuel
cvirt_eaddr1=Aucune adresse entrée
cvirt_eaddr2=$1 n'est pas une adresse valide
cvirt_eport=$1 n'est pas un port valide
cvirt_ename=$1 n'est pas un nom de serveur valide
cvirt_eroot1=Vous devez entrer le répertoire racine du document
cvirt_eroot2=N'a pu créer le répertoire '$1' : $2
cvirt_etaken=Un serveur virtuel ayant le même nom et le même port existe déjà

etype=Vous n'êtes pas autorisé à éditer les options de ce type
efailed=Impossible d'enregistrer '$1'
apache_apply=Appliquer tout Changement
apache_stop=Arrêter Apache
apache_start=Démarrer Apache
auth_return=contrôle de l'accès
default_serv=serveur par défaut
bytes=octets

global_ecannot=Vous n'êtes pas autorisé à éditer les options globales
global_mime=Liste de types globaux MIME
global_mimedesc=Cliquer sur le type MIME de la liste ci-dessous pour l'éditer ou utiliser le liens au bas de cette page pour ajouter un nouveau type
global_type=Type
global_ext=Extensions
global_add=Ajouter un nouveau type MIME
global_return=Liste de types MIME

mime_ecannot=Vous n'êtes pas autorisé à éditer un type MIME
mime_edit=Éditer un Type MIME
mime_add=Ajouter un Type MIME
mime_header=Extensions de fichier pour les plans du type MIME
mime_type=Type MIME
mime_ext=Extensions
mime_err=Impossible d'enregistrer le type MIME
mime_etype=$1 n'est pas un type MIME valide

virt_ecannot=Vous n'êtes pas autorisé à éditer ce serveur virtuel
virt_title=Options du serveur virtuel
virt_header=Pour $1
virt_opts=Options du serveur virtuel
virt_conf=Configuration du serveur
virt_show=Afficher toute directive
virt_edit=Éditer les directives
virt_adddir=Créer des options par répertoire, fichier ou endroit
virt_type=Type
virt_Directory=Répertoire
virt_Files=Fichiers
virt_Location=Lieu
virt_exact=Correspondance exacte
virt_re=Correspondre à une expression rationnelle
virt_regexp=Expression rationnelle ?
virt_path=Chemin
virt_return=index du serveur
virt_euser=Vous n'êtes pas autorisé à changer l'utilisateur ou le groupe de ce serveur virtuel
virt_header2=$1 de $2

vserv_title=Configuration du serveur virtuel
vserv_ecannot=Vous ne pouvez pas éditer les adresses de ce serveur virtuel
vserv_addr=Adresse
vserv_addrs=Adresses
vserv_port=Port
vserv_any=Tous
vserv_default=Défaut
vserv_root=Racine du document
vserv_name=Nom du Serveur
vserv_delete=Supprimer le serveur virtuel
vserv_err=Impossible d'enregistrer le serveur virtuel
vserv_eaddr1=Aucune adresse entrée
vserv_eaddr2=$1 n'est pas une adresse valide
vserv_eport=$1 n'est pas un port valide
vserv_eroot='$1' n'est pas un répertoire racine valide
vserv_ename=$1 n'est pas un nom de serveur valide
vserv_eaddrs=Aucune adresse de serveur virtuel entrée

show_title=Directives
show_edit=Éditer toutes directives d'Apache :
show_these=Éditer manuellement les directives
show_ok=Éditer

manual_title=Éditer les directives
manual_header=Utiliser la fenêtre de texte suivante pour éditer manuellement les directives d'apache dans $1. Ces directives s'appliquent à ce serveur virtuel, répertoire ou fichiers.
manual_ecannot=Vous n'êtes pas autorisé à éditer manuellement les directives

dir_title=Options par répertoire
dir_header=Pour $1 sur $2
dir_show=Afficher toutes les directives
dir_edit=Editer les directives
dir_opts=Options applicables à ..
dir_Directory=Répertoire
dir_Files=Fichiers
dir_Location=Lieu
dir_type=Type
dir_regexp=Expression rationnelle ?
dir_exact=Correspondance exacte
dir_re=Expression rationnelle correspondant
dir_path=Chemin
dir_return=index du répertoire
dir_header2=$1 pour $2

type_0=Limites et processus
type_1=Adresses et Réseau
type_2=Modules d'Apache
type_3=Fichiers log
type_4=Contrôle d'accès
type_5=Options des documents
type_6=Types MIME
type_7=Acheminement des erreurs
type_8=Utilisateur et groupe
type_9=Autre
type_10=Alias et redirections
type_11=Programmes CGI
type_12=Indexation du répertoire
type_13=Proxy
type_14=Options SSL
type_15=Perl
type_16=PHP
type_17=Hôtes virtuels automatiques


htaccess_title=Fichiers d'option par répertoire
htaccess_ecannot=Vous n'êtes pas autorisé à éditer un fichier htaccess
htaccess_desc=Des options par répertoire additionnel peuvent être spécifier dans un fichier (usuellement <tt>.htaccess</tt>) dans chaque répertoire.  Les options sont appliquées qu'à tous les fichiers dans ce répertoire et ses sous-répertoires, sauf s'ils ont eux-mêmes un fichier d'options.
htaccess_create=Créer un fichier d'options
htaccess_find=Trouver un fichier d'options
htaccess_auto=Automatiquement
htaccess_from=Du répertoire
htaccess_return=liste de tout fichier d'options
htaccess_edir='$1' n'est pas un répertoire valide
htaccess_ecreate=Vous n'êtes pas autorisé à créer ce fichier d'options
htaccess_edelete=Vous n'êtes pas autorisé à supprimer ce fichier d'options

htindex_ecannot=Vous n'êtes pas autorisé à éditer ce fichier d'option
htindex_title=Fichier d'options par répertoire
htindex_delete=Supprimer fichier
htindex_show=Afficher toutes les directives
htindex_edit=Editer les directives
htindex_opts=Options par répertoire
htindex_file=Configuration par fichier
htindex_create=Créer des options par fichier
htindex_regexp=Expression rationnelle ?
htindex_exact=Correspondance exacte
htindex_re=Expression rationnelle correspondante
htindex_path=Chemin
htindex_header=Pour $1
htindex_header2=$1 pour le fichier d'options '$2'
htindex_return=index des options de fichiers

htfile_title=Options Par fichier
htfile_header=Pour $1 dans $2
htfile_show=Afficher toutes directives
htfile_edit=Éditer les directives
htfile_apply=Options applicables à ...
htfile_header2=$1 pour $2

reconfig_title=Re-Configuration de tout Modules Connu
reconfig_ecannot=Vous n'êtes pas autorisé à reconfigurer Apache
reconfig_ever=Impossible de lire la version de l'exécutable '$1' du serveur Apache.  Vérifier votre <a href='$2'>configuration du module</a> pour vous assurer que le chemin est correct.
reconfig_desc1=Votre configuration d'Apache est changée, ou n'a pas encore été examiné par Webmin.  Ci-dessous ce trouve une liste de tout module d'Apache supporté par Webmin, avec ceux qui sont installés sélectionnés.  Vous pouvez sélectionner ou enlever si la liste est incorrecte.
reconfig_desc2=Ci-dessous ce trouve une liste de tout module d'Apache supporté par Webmin, avec ceux qui sont installés sélectionnés.  Si vous utilisé le chargement dynamique, vous pouvez avoir besoin de sélectionner ceux qui sont chargé dynamiquement.
reconfig_desc3=Si vous ne savez pas quels modules sont supportés par Apache sur votre système, faîtes votre configuration de façon à ce que Webmin puisse charger les modules supportés automatiquement.
reconfig_ok=Configurer

defines_title=Configuration de Paramètre Définit
defines_ecannot=Vous n'êtes pas autorisé à éditer un paramètre d'Apache
defines_desc=Quand Apache est lancé, tous paramètres peut être passé avec l'argument de la ligne de commande <tt>-D</tt>.  Parce que ces paramètres peuvent affecter les directives de vos fichiers de configuration, Webmin a besoin de savoir cet argument qui est passé à Apache quand il est démarré.  Entrer le paramètre utilisé sur votre système dans le champ de texte à votre droite.
defines_config=Remarquer que les paramêtres suivants sont déjà connus : $1


authu_ecannot='$1' n'est pas un fichier d'utilisateurs autorisés
authu_title=Liste d'Utilisateurs
authu_header=Dans le fichier '$1'
authu_header2=Utilisateurs du fichier texte '$1'
authu_none=Aucun utilisateur dans le fichier texte '$1'
authu_add=Ajouter un nouvel utilisateur
authu_return=liste d'utilisateur
authu_edit=Éditer un Utilisateur
authu_create=Créer un Utilisateur
authu_user=Nom d'utilisateur
authu_pass=Mot de passe
authu_enc=Encrypté
authu_plain=Texte...
authu_err=Impossible d'enregistrer l'utilisateur
authu_euser=Pas de nom d'utilisateur entré
authu_euser2=Le nom d'utilisateur ne peut contenir :
authu_edup=Un utilisateur $1 existe déjà
authu_sync=Cette options ci-dessous vous permet de configurer Webmin pour automatiquement ajouter, mettre à jour ou supprimer des utilisateurs de ce fichier de mot de passe quand un utilisateur est ajouter, modifié ou supprimer dans le module <tt>Utilisateurs et Groupes</tt>.
authu_screate=Ajouter un utilisateur quand un utilisateur Unix est ajouté
authu_sdelete=Supprimer l'utilisateur quand l'utilisateur Unix est supprimé
authu_smodify=Changer l'utilisateur quand un utilisateur Unix est changé

authg_ecannot='$1' n'est pas un fichier de groupe autorisé
authg_title=Liste des Groupes
authg_header=Dans le fichier '$1'
authg_header2=Groupes du fichier texte '$1'
authg_none=Aucun groupe dans le fichier texte '$1'
authg_add=Ajouter un nouveau groupe
authg_return=liste des groupes
authg_edit=Éditer un groupe
authg_create=Créer un groupe
authg_group=Nom de groupe
authg_mems=Membres
authg_dont=Ne pas changer
authg_set=Changer pour
authg_err=Impossible d'enregistrer le groupe
authg_euser=Pas de nom de groupe entré
authg_euser2=Le nom de groupe ne peut contenir un :
authg_edup=Un groupe appelé $1 existe déjà

stop_err=Vous n'êtes pas autorisé à arrêter Apache
stop_ecannot=Impossible d'arrêter Apache
stop_epid=Impossible d'ouvrir le fichier de numéro de processus '$1'
stop_epid2=Fichier de numéro de processus '$1' invalide
stop_esig=Impossible d'envoyer le signal d'arrêt au processus $1

start_err=Impossible de démarrer apache
start_ecannot=Vous n'êtes pas autorisé à démarrer apache
start_ecmd=$1 raté : $2
start_eunknown=Raison inconnue

restart_err=Impossible d'appliquer tous changements
restart_epid=Ne peut ouvrir le fichier PID '$1'
restart_epid2=Fichier PID invalide '$1'
restart_esig=Impossible d'envoyer SIGHUP au processus $1
restart_eunknown=Raison inconnue

acl_virts=Serveurs virtuels que cet utilisateur peut éditer
acl_vall=Tous les serveurs
acl_vsel=Sélectionné...
acl_defserv=Serveur par Défaut
acl_global=Peut éditer les options globale?
acl_htaccess=.htaccess seulement
acl_create=Peut créer un serveur virtuel?
acl_vuser=Peut changer les utilisateurs d'un serveur virtuel?
acl_vaddr=Peut changer les adresses d'un serveur virtuel?
acl_pipe=Peut rediriger les logs vers un programme?
acl_stop=Peut arrêter et démarrer Apache?
acl_dir=Limite de fichier au répertoire
acl_types=Type de directive disponible
acl_all=Tous
acl_sel=Sélectionné

core_maxconc=Requêtes concurrentes maximum
core_maxkeep=Keepalives maximum par connection
core_maxreq=Requêtes maximum par processus du serveur
core_minspare=Nombre minimum de processus en attente
core_maxspare=Nombre maximum de processus en attente
core_initial=Nombre initial de processus
core_emaxconc=Le nombre maximum de requêtes concurrentes doit être un entier
core_emaxkeep=Le nombre maximum de keepalives par connection doit être un entier
core_emaxreq=Le nombre maximum de requêtes par processus du serveur doit être un entier
core_eminspare=Le nombre minimum de de processus en attente doit être un entier
core_emaxspare=Le nombre maximum de de processus en attente doit être un entier
core_einitial=Le nombre initial de processus doit être un entier
core_default=Défaut
core_cpulimit=Limite de ressource processeur
core_memlimit=Limite de ressource mémoire
core_proclimit=Limite de processus
core_cpulimit2=limite de ressource processeur
core_memlimit2=limite de ressource mémoire
core_proclimit2=limite de processus
core_slimit=Limite douce 
core_hlimit=Limite dure 
core_eslimit=$1 n'est pas une $2 soft valide
core_ehlimit=$1 n'est pas une $2 soft valide
core_dport=Port par défaut:
core_address=Adresse
core_port=Port
core_listen=Ecouter sur les adresses et les ports
core_eaddress='$1' n'est pas une adresse valide
core_eport='$1' n'est pas un port valide
core_eoneaddr=Vous devez spécifier au moins une adresse sur laquelle écouter
core_edefport=Port par défaut invalide
core_multi=Requêtes multiples par connection
core_ekeep='$1' n'est pas un nombre valide de keepalives
core_ltwice=Rechercher deux fois
core_keeptout=Délai de keep-alive
core_lqueue=Longueur de la file d'écoute
core_bufsize=Taille du tampon d'envoi TCP
core_admin=Adresse électronique de l'administrateur du serveur
core_rtout=Délai maximum de requête
core_bhostname=Utiliser le nom de machine fourni par le navigateur
core_lookup=Rechercher les noms de machine
core_useauth=Faire une recherche RFC1413 des utilisateurs
core_altnames=Noms alternatifs du serveur virtuel
core_hostname=Nom de machine du serveur
core_virtaddr=Adresses des serveurs virtuels basés sur les noms
core_ekeeptout=Le délai maximum de keep-alive doit être un entier
core_elqueue=La longueur de queue d'écoute doit être un entier
core_ebufsize=La taille du tampon d'envoi TCP doit être un entier
core_ertout=Le délai maximum de requête doit être un entier
core_ehostname=Nom de machine invalide
core_osdefault=Défaut de l'OS
core_noadmin=Aucune
core_auto=Automatique
core_evirtaddr='$1' n'est pas une adresse valide pour des serveurs virtuals basés sur les noms
core_auth=Options d'authentification
core_mime=Types et encodages MIME
core_indexing=Indexation et fichiers index
core_hostacc=Contrôle d'accès
core_diropts=Options des répertoires
core_filesel=Sélectionné ci-dessous ...
core_execcgi=Executer des programmes CGI
core_flink=Suivre les liens symboliques
core_inclexe=Inclusions et exécutions du côté serveur
core_incl=Inclusions du côté serveur
core_genind=Générer des indexes des répertoires
core_genmview=Générer MultiViews
core_flinkmatch=Suivre les liens symboliques si les propriétaires sont identiques
core_optsel=Sélectionné ci-dessous ...
core_enable=Activer
core_disable=Désactiver
core_optfile=Fichier d'options par répertoire
core_overr=Le fichier d'options peut redéfinir ...
core_genmd5=Générer empreinte MD5
core_docroot=Répertoire racine
core_eoptfile=Seul un fichier d'options est permis
core_enoopt=Aucun fichier d'options donné
core_enodoc=La racine de documents '$1' n'existe pas
core_sigemail=Adresse électronique
core_signame=Nom de serveur
core_signone=Aucun
core_virtpath=Chemin du serveur virtuel
core_footer=Pied de page des messages d'erreur
core_evirtpath=Le chemin de serveur virtuel doit commencer par un /
core_defmime=Type MIME par défaut
core_edefmime=Le type MIME par défaut doit être de la forme : type/sous-type
core_realm=Nom de la zone d'authentification
core_authtype=Type d'authentification
core_authall=Tous les contrôles d'accès
core_authany=N'importe quel contrôle d'accès
core_authlog=Restreindre l'accès par login
core_satisfy=Les clients doivent satisfaire
core_salone=Indépendant
core_inetd=Lancé par inetd
core_verosmod=Version et OS et modules
core_veros=Version et OS
core_ver=Version seulement
core_coredir=Répertoire de core dump
core_lockfile=Fichier verrou du serveur
core_maxbody=Taille maximum de corps de requête
core_maxhead=Entêtes maximum dans une requête
core_maxshead=Taille maximum d'entête de requête
core_maxline=Taille maximum d'une ligne de requête
core_pid=Fichier PID du serveur
core_memsco=Fichier scoreboard de mémoire partagée
core_exec=Execution du serveur
core_header=Entête HTTP du serveur
core_ecore=Répertoire de core dump invalide
core_elock=Fichier verrou invalide
core_ebody=Taille de corps de requête invalide
core_ehead=Nombre d'entêtes invalide
core_eshead=Taille d'entête invalide
core_eline=Taille de ligne de requête invalide
core_epid=Fichier PID invalide
core_escore=Fichier scoreboard invalide
core_sroot=Racine du serveur
core_group=Nom de groupe
core_gid=ID de groupe
core_user=Nom d'utilisateur
core_uid=ID d'utilisateur
core_asgroup=Tourner sous le nom de groupe Unix
core_asuser=Tourner sous le nom d'utilisateur Unix
core_euid='$1' n'est pas une ID d'utilisateur valide
core_egid='$1' n'est pas une ID de groupe valide
core_tourl=Aller vers URL ...
core_mesg=Montrer message ...
core_error=Code d'erreur
core_resp=Réponse
core_urlmsg=URL ou message
core_custom=Messages d'erreur personnalisés
core_eerror='$1' n'est pas un code d'erreur valide
core_eurl='$1' n'est pas une URL valide
core_syslog=Syslog
core_filelog=Fichier 
core_proglog=Programme 
core_errfile=Fichier log des erreurs
core_logto=Log des erreurs vers
core_efilelog=Fichier log d'erreurs invalide
core_edirlog=Le fichier log d'erreurs n'est pas sous le répertoire permis
core_efilemiss=Fichier log d'erreurs manquant
core_eprogmiss=Programme de log d'erreurs manquant
core_eperm=Vous n'avez pas le droit de rediriger des logs vers des programmes
core_allmod=Tous les modules
core_selmod=Modules sélectionnés ...
core_actmod=Modules actifs
core_option=Option
core_setdir=Positionner pour répertoire
core_merge=Fusionner avec parent
core_users=Seulement ces utilisateurs
core_groups=Seulement ces groupes
core_allusers=Tous les utilisateurs valides
core_none=Aucun
core_all=Tous
core_product=Produit seulement

mod_negotiation_cache=Cacher les documents au contenu négocié ?
mod_negotiation_pri=Priorité des langues pour les vues multiples
mod_negotiation_def=Défaut
mod_negotiation_epri=Priorités des langues manquantes

mod_cgi_logname=Log des scripts CGI
mod_cgi_none=Aucun
mod_cgi_elogname=Fichier log des scripts CGI invalide
mod_cgi_logsize=Taille maximum des logs CGI
mod_cgi_default=Défaut
mod_cgi_elogsize=La taille des logs CGI doit être un entier
mod_cgi_post=Taille maximum loggée des données postées
mod_cgi_epost=La taille des données postées doit être un entier
mod_cgi_eunder=Le log des scripts CGI n'est pas sous le répertoire permis

mod_alias_from=De
mod_alias_to=Vers
mod_alias_status=Statut
mod_alias_efrom='$1' n'est pas un(e) $2 valide
mod_alias_edest='$1' n'est pas une destination valide pour un(e) $2
mod_alias_alias=Alias de répertoires de documents statiques
mod_alias_alias2=alias de répertoire de documents statiques
mod_alias_regexp=Expressions rationnelles d'alias de documents statiques
mod_alias_regexp2=expression rationnelle d'alias de documents statiques
mod_alias_redir=Redirections d'URL
mod_alias_redir2=redirection d'URL
mod_alias_rredir=Expressions rationnelles de redirection d'URL
mod_alias_rredir2=Expression rationnelle de redirection d'URL
mod_alias_tredir=Redirections temporaires d'URL
mod_alias_tredir2=redirection temporaire d'URL
mod_alias_predir=Redirections permanentes d'URL
mod_alias_predir2=redirection permanente d'URL
mod_alias_cgi=Alias de répertoires CGI
mod_alias_cgi2=alias de répertoire CGI
mod_alias_rcgi=Expressions rationnelles d'alias de répertoire CGI
mod_alias_rcgi2=expression rationnelle d'alias de répertoire CGI
mod_alias_estatus='$1' n'est pas un statut valide

mod_proxy_proxy=Agir comme un serveur proxy ?
mod_proxy_req=Requêtes
mod_proxy_forw=Transmettre à
mod_proxy_all=Toutes
mod_proxy_match=Semblable à ...
mod_proxy_pass=Requêtes à passer à un autre proxy
mod_proxy_local=Chemin de l'URL local
mod_proxy_remote=URL distant
mod_proxy_map=Lier des URLs locaux à des URLs distants
mod_proxy_block=Bloquer les requêtes vers les domaines
mod_proxy_eblock=Aucun domaine donné à bloquer
mod_proxy_type=Type
mod_proxy_noproxy=Pas de proxy pour ...
mod_proxy_nopass=Ne pas passer les requêtes à un autre proxy pour ...
mod_proxy_nodomain=Domaine pour les requêtes sans domaine
mod_proxy_none=Aucun
mod_proxy_enodomain=Domaine par défaut invalide
mod_proxy_connect=Ports sur lesquels CONNECT est permis
mod_proxy_default=Défaut
mod_proxy_econnect=Pour invalides pour CONNECT
mod_proxy_dir=Répertoire cache
mod_proxy_edir=Nom de répertoire cache invalide
mod_proxy_size=Taille de cache
mod_proxy_esize=Taille de cache invalide
mod_proxy_garbage=Intervalle du ramasse-miettes du cache
mod_proxy_nogc=Jamais
mod_proxy_hours=heures
mod_proxy_egarbage=Intervalle du ramasse-miettes invalide
mod_proxy_maxexp=Temps d'expiration maximum d'un fichier caché
mod_proxy_emaxexp=Temps d'expiration maximum d'un fichier caché invalide
mod_proxy_expfac=Facteur de temps d'expiration des fichiers cachés
mod_proxy_eexpfac=Facteur de temps d'expiration des fichiers cachés invalide
mod_proxy_levels=Niveaux de sous-répertoires dans le cache
mod_proxy_elevels=Nombre invalide de niveaux de sous-répertoires dans le cache
mod_proxy_length=Longueur maximum des noms de sous-répertoires de cache
mod_proxy_elength=Longueur maximum des noms de sous-répertoires de cache invalide
mod_proxy_defexp=Temps d'expiration par défaut du cache
mod_proxy_edefexp=Temps d'expiration par défaut du cache invalide
mod_proxy_finish=Finir et cacher le transfert après
mod_proxy_efinish=Pourcentage de transfert invalide
mod_proxy_nocache=Domaines à ne pas cacher
mod_proxy_none2=Aucun
mod_proxy_none3=Aucun
mod_proxy_enocache=Aucun domaine à ne pas cacher donné
mod_proxy_erequest='$1' n'est pas une requête valide
mod_proxy_epurl='$1' n'est pas un URL de proxy valide
mod_proxy_elurl='$1' n'est pas un chemin d'URL local valide
mod_proxy_erurl='$1' n'est pas un URL distant valide
mod_proxy_eip='$1' n'est pas une adresse IP valide
mod_proxy_ehost='$1' n'est pas un nom de machine valide
mod_proxy_edomain='$1' n'est pas un domaine valide
mod_proxy_enet='$1' n'est pas un réseau valide
mod_proxy_enetbit='$1' n'est pas une paire réseau/bits valide
mod_proxy_eunder=Le répertoire cache n'est pas sous le répertoire permis
mod_proxy_rurl=URL distant
mod_proxy_lurl=Chemin d'URL local
mod_proxy_headers=Lier entêtes distants Location: en local
mod_proxy_ip=Adresse IP
mod_proxy_host=Nom de machine
mod_proxy_domain=Domaine
mod_proxy_net=Réseau IP
mod_proxy_netbit=Réseau/bits

mod_log_agent_default=Défaut
mod_log_agent_file=Fichier ...
mod_log_agent_program=Programme ...
mod_log_agent_log=Fichier log du navigateur
mod_log_agent_efile=$1 n'est pas un nom de fichier de log d'agent valide

mod_log_config_common=Format commun de log
mod_log_config_named=Formats de log nommés
mod_log_config_nick=Nom
mod_log_config_format=Format
mod_log_config_deflog=Format de log par défaut
mod_log_config_default=Défaut
mod_log_config_write=Ecrire vers
mod_log_config_filprog=Fichier ou programme
mod_log_config_file=Fichier ...
mod_log_config_program=Programme ...
mod_log_config_log=Fichiers de log d'accès
mod_log_config_enick='$1' n'est pas un nom valide
mod_log_config_eformat=Aucun format de log donné pour $1
mod_log_config_enofilprog=Fichier ou programme de log manquant
mod_log_config_efilprog='$1' n'est pas un nom de fichier log ou un programme permis
# "If Set" isn't localized in mod_log_config.pl :(
mod_log_config_eifset=L'option 'If set' ne peut pas être utilisée avec le format de log par défaut

mod_log_referer_default=Défaut
mod_log_referer_file=Fichier ...
mod_log_referer_program=Programme ...
mod_log_referer_log=Fichier log des référents
mod_log_referer_nolog=Ne pas enregistrer les références depuis
mod_log_referer_elog=$1 n'est pas un nom de fichier log de référents valide
mod_log_referer_edir=Le log des référents n'est pas sous le répertoire permis

mod_status_msg=Afficher des informations de statut étendues

mod_mime_ext=Extensions
mod_mime_xtype=Types MIME supplémentaires
mod_mime_mtype=Type MIME
mod_mime_chandl=Manipulateurs du contenu
mod_mime_cencs=Encodages du contenu
mod_mime_cenc=Encodage du contenu
mod_mime_clangs=Langues du contenu
mod_mime_clang=Langue du contenu
mod_mime_defmime=Traiter tous les fichiers comme type MIME
mod_mime_real=Type réel
mod_mime_etype=Type MIME invalide
mod_mime_pass=Transmettre tous les fichiers au manipulateur
mod_mime_file=Fichier de types MIME
mod_mime_default=Défaut
mod_mime_ignhand=Ignorer manipulateurs pour les extensions
mod_mime_none=Aucune
mod_mime_xchars=Jeux de caractères supplémentaires
mod_mime_einvalid='$1' n'est pas un(e) $2 valide
mod_mime_eext=Aucune extension donnée pour $1 $2
mod_mime_type=Type
mod_mime_handler=Manipulateur
mod_mime_enc=Encodage
mod_mime_lang=Langue
mod_mime_chars=Jeu de caractères
mod_mime_igntype=Ignorer les types MIME pour les extensions
mod_mime_ignenc=Ignorer encodages pour les extensions

mod_setenvif_header=Entête
mod_setenvif_match=Correspondance
mod_setenvif_case=Correspondance min/maj
mod_setenvif_var=Variable
mod_setenvif_value=Valeur
mod_setenvif_txt=Variables positionnées selon les entêtes de requêtes
mod_setenvif_eheader=Entête de requête '$1' invalide
mod_setenvif_eregex=Expression rationnelle '$1' invalide
mod_setenvif_evar=Nom de variable '$1' invalide
mod_setenvif_clear=Effacer

mod_userdir_default=Défaut
mod_userdir_all=Tous les utilisateurs accessibles
mod_userdir_except=Tous les utilisateurs sauf
mod_userdir_dir=Répertoire WWW des utilisateurs

mod_imap_action=Action sur l'utilisation incorrecte des imagemaps
mod_imap_default=Défaut
mod_imap_godefurl=Aller vers l'URL par défaut
mod_imap_form=Montrer un menu formatté
mod_imap_semiform=Montrer un menu semi-formatté
mod_imap_unform=Montrer un menu non formaté
mod_imap_disperr=Afficher une erreur du serveur
mod_imap_donoth=Ne rien faire
mod_imap_goimap=Aller vers l'URL de l'imagemap
mod_imap_goref=Aller vers l'URL référent
mod_imap_gourl=Aller vers l'URL ...
mod_imap_defact=Action par défaut pour les imagemaps
mod_imap_default2=Défaut
mod_imap_root=Racine du serveur
mod_imap_imapurl=URL d'imagemap
mod_imap_refurl=URL référent
mod_imap_url=URL ...
mod_imap_defbase=Base par défaut pour les imagemaps
mod_imap_eurl='$1' n'est pas une URL valide

mod_speling_autocorr=Corriger automatiquement les URLs erronés ?
mod_speling_default=Défaut

mod_actions_mime=Manipulateur / type MIME
mod_actions_cgiurl=URL du script CGI
mod_actions_mimecgi=Actions CGI sur manipulateur ou type MIME
mod_actions_http=Méthode HTTP
mod_actions_cgi=Script CGI
mod_actions_httpcgi=Actions sur méthode HTTP
mod_actions_emime='$1' n'est pas un manipulateur valide ou un type MIME
mod_actions_ecgi='$1' n'est pas un script CGI valide
mod_actions_enometh=Aucune méthode choisie pour le script CGI '$1'

mod_include_incl=Traiter les inclusions sur les fichiers avec le bit d'exécution ?
mod_include_set=Oui et positionner la date de dernière modification
mod_include_default=Défaut

mod_dir_txt=Fichiers d'index du répertoire

mod_autoindex_default=Défaut
mod_autoindex_asc=Ascendant
mod_autoindex_descend=Descendant
mod_autoindex_name=Nom
mod_autoindex_date=Date
mod_autoindex_size=Taille
mod_autoindex_desc=Description
mod_autoindex_sort=Trier l'index du répertoire par

browsermatch_regexp=Expression rationnelle du navigateur
browsermatch_case=Correspondance min/maj ?
browsermatch_var=Positionner variable
browsermatch_value=Valeur
browsermatch_txt=Variables positionnées d'après le type de navigateur
browsermatch_evar=Nom de variable invalide '$1'
browsermatch_clear=Effacer

autoindex_fname=Nom de fichier
autoindex_mime=Type MIME
autoindex_enc=Encodage
autoindex_icon=Icône
autoindex_alt=Texte alternatif
autoindex_match=Correspondance par
autoindex_fte=Noms de fichier, types, encodages
autoindex_diricon=Icônes de l'index du répertoire
autoindex_deficon=Icône par défaut de l'index
autoindex_default=Défaut
autoindex_edeficon=URL invalide pour l'icône par défaut
autoindex_diralt=Balises ALT pour l'index
autoindex_desc=Description
autoindex_fnames=Noms de fichiers
autoindex_dirdesc=Descriptions de l'index
autoindex_fancy=Afficher des indexes de répertoires embellis
autoindex_htmltitle=Afficher le titre HTML comme description
autoindex_iheight=Hauteur d'icône
autoindex_iwidth=Largeur d'icône
autoindex_sort=Permettre le tri des colonnes par l'utilisateur
autoindex_fildesc=Montrer les descriptions des fichiers
autoindex_htags=Afficher les balises d'entête HTML
autoindex_mtime=Montrer les dates de dernière modification
autoindex_size=Montrer les tailles de fichier
autoindex_iconlink=Inclure icône dans lien
autoindex_fwidth=Largeur de nom de fichier
autoindex_dwidth=Largeur de description
autoindex_dirfirst=Afficher les répertoires en premier
autoindex_default2=Défaut
autoindex_select=Sélectionné ci-dessous ...
autoindex_default3=Défaut
autoindex_pixels=pixels
autoindex_chars=caractères
autoindex_diropt=Options d'index de répertoire
autoindex_dirhead=Fichier d'entête d'index de répertoire
autoindex_default4=Défaut
autoindex_edirhead=Nom de fichier d'entête d'index de répertoire
autoindex_dirfoot=Fichier de pied de page d'index
autoindex_edirfoot=Nom de fichier de pied de page d'index invalide
autoindex_ignore=Fichiers à ignorer dans l'index du répertoire
autoindex_eiconurl='$1' n'est pas un URL d'icône valide
autoindex_emiss=$1 manquant pour $2
autoindex_emissquot=$1 manquant pour '$2'
autoindex_enodesc=Aucune description pour le fichier $1
autoindex_enofile=Aucun fichier pour la description '$1'
autoindex_eiconsize='$1' n'est pas une taille d'icône valide
autoindex_ewidth='$1' n'est pas une largeur valide

mod_mime_magic_file=Fichier de nombres magiques MIME
mod_mime_magic_none=Aucun
mod_mime_magic_efile=Nom de fichier de nombres magiques MIME invalide

mod_env_var=Variable
mod_env_value=Valeur
mod_env_pass=Transmettre
mod_env_clear=Effacer
mod_env_set=Mettre à ...
mod_env_cgivar=Variables d'environnement pour scripts CGI
mod_env_passall=Transmettre toutes les variables d'environnement aux CGIs
mod_env_default=Défaut
mod_env_evar='$1' n'est pas un nom de variable valide
mod_env_evalue='$1' n'est pas une valeur de variable valide

mod_access_order=Ordre de vérification des accès:
mod_access_denyallow=Interdire puis permettre
mod_access_allowdeny=Permettre puis interdire
mod_access_mutual=Echec mutuel
mod_access_default=Défaut
mod_access_action=Action
mod_access_cond=Condition
mod_access_all=Toutes les requêtes
mod_access_host=Requêtes de la machine ...
mod_access_ip=Requêtes de l'IP ...
mod_access_pip=Requêtes de l'IP partielle ...
mod_access_mask=Requêtes de réseau/sous-réseau ...
mod_access_cidr=Requêtes de réseau/CIDR ...
mod_access_var=Si variable est positionnée ...
mod_access_allow=Permettre
mod_access_deny=Interdire
mod_access_restr=Restreindre l'accès
mod_access_eip='$1' n'est pas une adresse IP valide
mod_access_epip='$1' n'est pas une adresse IP partielle valide
mod_access_emask='$1' n'est pas une paire réseau/sous-réseau valide
mod_access_ecidr='$1' n'est pas une paire réseau/CIDR valide
mod_access_evar='$1' n'est pas un nom de variable valide

mod_auth_ufile=Fichier texte d'utilisateurs
mod_auth_uedit=Editer les utilisateurs
mod_auth_gfile=Fichier texte de groupes
mod_auth_gedit=Editer les groupes
mod_auth_pass=Transmettre les échecs au module suivant
mod_auth_auth=Authentification par fichier texte
mod_auth_eudir=Le fichier texte des utilisateurs n'est pas sous le répertoire permis
mod_auth_egdir=Le fichier texte des groupes n'est pas sous le répertoire permis
mod_auth_eufile=Nom de fichier texte d'utilisateurs invalide
mod_auth_egfile=Nom de fichier texte de groupes invalide

mod_auth_dbm_ufile=Fichier DBM d'utilisateurs
mod_auth_dbm_gfile=Fichier DBM de groupes
mod_auth_dbm_pass=Transmettre les échecs au module suivant ?
mod_auth_dbm_auth=Authentification par fichier DBM
mod_auth_dbm_eufile=Nom de fichier DBM d'utilisateurs invalide
mod_auth_dbm_egfile=Nom de fichier DBM de groupes invalide

mod_cern_meta_process=Traiter les méta-fichiers d'entête
mod_cern_meta_dir=Sous-répertoire pour les méta-fichiers d'entête
mod_cern_meta_default=Défaut
mod_cern_meta_edir=Nom de sous-répertoire de méta-fichier invalide
mod_cern_meta_suffix=Suffixe de fichier pour les méta-fichiers d'entête
mod_cern_meta_default2=Défaut
mod_cern_meta_esuffix=Suffixe de méta_ficher invalide

mod_ssl_enable=Activer SSL ?
mod_ssl_proto=Protocoles SSL
mod_ssl_cfile=Fichier certificat et clé privée
mod_ssl_default=Défaut
mod_ssl_ecfile=Fichier certificat et clé privée manquant
mod_ssl_kfile=Fichier clé privé
mod_ssl_ekfile=Fichier clé privé manquant
mod_ssl_clcert=Certificat client SSL
mod_ssl_nreq=Non requis
mod_ssl_opt=Optionnel
mod_ssl_req=Requis
mod_ssl_optca=Optionnel pas d'AC
mod_ssl_cdepth=Profondeur de certificats client
mod_ssl_ecdepth=La profondeur de certificats doit être un entier
mod_ssl_log=Fichier log SSL
mod_ssl_elog=Fichier log SSL manquant
mod_ssl_onlyssl=Permettre accès SSL seulement

log_global=Options globales $1 modifiées
log_virtc=Serveur $1 créé
log_virts=Serveur $1 reconfiguré
log_virtd=Serveur $1 effacé
log_virtm=Serveur $1 édité manuellement
log_virt=$1 modifié sur le serveur $2
log_dirc=Répertoire $1 créé
log_dirc_l=Répertoire $1 créé sur le serveur $2
log_dirs=Répertoire $1 modifié
log_dirs_l=Répertoire $1 modifié sur le serveur $2
log_dird=Répertoire $1 effacé
log_dird_l=Répertoire $1 effacé sur le serveur $2
log_dirm=Répertoire $1 édité manuellement
log_dirm_l=Répertoire $1 édité manuellement sur le serveur $2
log_dir=$1 modifié dans le répertoire $2
log_dir_l=$1 modifié dans le répertoire $2 sur le serveur $3
log_htaccessc=Fichier d'options $1 créé
log_htaccessd=Fichier d'options $1 effacé
log_htaccessm=Fichier d'options $1 édité manuellement
log_htaccess=$1 modifié dans le fichier d'options $2
log_filesc=Fichier d'options pour $1 créé
log_filesc_l=Fichier d'options pour $1 créé dans le fichier $2
log_filess=Fichier d'options pour $1 modifié
log_filess_l=Fichier d'options pour $1 modifié dans le fichier $2
log_filesd=Fichier d'options pour $1 effacé
log_filesd_l=Fichier d'options pour $1 effacé dans le fichier $2
log_filesm=Fichier d'options pour $1 édité manuellement
log_filesm_l=Fichier d'options pour $1 édité manuellement dans le fichier $2
log_files=$1 changé dans le fichier d'options pour $2
log_files_l=$1 changé dans le fichier d'options pour $2 dans le fichier $3
log_mime_modify=Type MIME $1 modifié
log_mime_create=Type MIME $1 ajouté
log_defines=Paramètres définis modifiés
log_reconfig=Modules connus reconfigurés
log_start=Serveur web démarré
log_stop=Serveur web arrêté
log_apply=Changements appliqués

search_title=Trouver les serveurs
search_notfound=Aucun serveur virtuel correspondant n'a été trouvé

mod_php_value=Valeurs de configuration PHP
mod_php_flag=Drapeaux de configuration PHP
mod_php_name_header=Réglage
mod_php_value_header=Valeur
mod_php_ename='$1' est un nom invalide
mod_php_evalue='$1' est une valeur invalide pour $2

mod_vhost_alias_root=Racine à interpoler pour les documents
mod_vhost_alias_ip=Utiliser l'adresse IP au lieu du nom de machine ?
mod_vhost_alias_none=Aucune
mod_vhost_alias_script=cgi-bin à interpoler
mod_vhost_alias_eroot=Racine des serveurs virtuels manquante ou invalide
mod_vhost_alias_escript=Racine des cgi-bin des serveur manquante ou invalide


 0707010002709f000081a40000000000000002000000013d1fe2d100006da8000000200000000000000000000000000000001500000003reloc/apache/lang/hu  index_title=Apache Webkiszolgáló
index_eroot=A $1 Apache gyökérkönyvtár nem létezik. Ha van Önnek telepített Apache, akkor a kérjük <a href='$2'>modulok beállítása</a> szekcióban adja meg a helyes útvonalakat.
index_eserver=A futtatandó $1 Apache kiszolgaló fájl nem létezik. Ha van Önnek telepített Apache, akkor a kérjük <a href='$2'>modulok beállítása</a> szekcióban adja meg a helyes útvonalakat.
index_econf=A(z) $1 Apache konfigurációs fájl nem létezik. Ha van Önnek telepített Apache, akkor a kérjük <a href='$2'>modulok beállítása</a> szekcióban adja meg a helyes útvonalakat.
index_eports=Az Ön Apache-ának beállításai egynél több $1 direktívát tartalmaznak. A Webmin jelenlegi verziója ezt a beállítást még nem tudja helyesen lekezelni.
index_global=Általános beállítások
index_virts=Virtuális kiszolgálók
index_defserv=Alapértelmezett kiszolgáló
index_defdesc1=Definiálja az alapértelmezett beállításait az összes egyéb virtuális kiszolgálónak és feldolgoz minden lekezeletlen kérelmet.
index_any=Akármelyik
index_default=Alapértelmezett
index_auto=Automatikus
index_virt=Virtuális kiszolgáló
index_vname=A(z) $1 név-bázisú kiszolgáló lekezelése a(z) $1 címen.
index_vdef=Az összes olyan kérelem feldolgozása, melyeket más virtuális kiszolgálók nem kezeltek le.
index_defdesc2=Meghatározza az alapértelmezett beállításokat a többi virtuális kiszolgáló számára.
index_vport=Feldolgozza az összes $1 portra érkezõ kérést, melyet más virtuális kiszolgálók nem kezeltek le.
index_vaddr=A(z) címre érkezõ összes kérelem lekezelése
index_vaddrport=A(z) $1 cím $2 portjára érkezõ összes kérelem lekezelése
index_type=Típus
index_addr=Cím
index_port=Port
index_name=Kiszolgáló neve
index_root=Dokumentum-gyökérkönyvtár
index_create=Új virtuális kiszolgáló létrehozása
index_return=a kiszolgálók listájához

cvirt_ecannot=Önnek nincs joga létrehozni virtuális kiszolgálót.
cvirt_err=A virtuális kiszolgáló létrehozása nem sikerült.
cvirt_eaddr1=Nem lett cím megadva.
cvirt_eaddr2=A(z) '$1' nem érvényes cím.
cvirt_eport=A(z) '$1' nem érvényes port.
cvirt_ename=A(z) '$1' nem érvényes kiszolgálónév.
cvirt_eroot1=A dokumentum-gyökérkönyvtárat muszáj megadni.
cvirt_eroot2=A(z) '$1' könyvtár létrehozása nem sikerült : $2

etype=Önnek nincs jogosultásga szerkeszteni ennek a típusnak az opcióit.
efailed=A(z) $1 elmentése nem sikerült
apache_apply=Változtatások érvényesítése
apache_stop=Apache leállítása
apache_start=Apache elindítása
auth_return=a hozzáférés-vezérléshez

global_ecannot=Önnek nincs jogosultásga szerkeszteni az általános opciókat.
global_mime=Általános MIME-típuslista
global_mimedesc=A szerkeszteshez kattintson egy listában szereplõ MIME-típusra vagy új típus hozzáadásához használja a lap alján lévõ linket.
global_type=Típus
global_ext=Kiterjesztés
global_add=Új MIME-típus hozzáadása
global_return=MIME-típusok

mime_ecannot=Önnek nincs jogosultsága szerkeszteni a MIME-típusokat.
mime_edit=MIME-típus szerkesztése
mime_add=MIME-típus hozzáadása
mime_header=Fájlnév kiterjesztések a MIME-típustérképhez
mime_type=MIME-típus
mime_ext=Kiterjesztések
mime_err=A MIME-típus elmentése nem sikerült
mime_etype=A(z) '$1' érvénytelen MIME-típus.

virt_ecannot=Ön nem tudja szerkeszteni ezt a virtuális kiszolgálót.
virt_title=Virtuális kiszolgáló opciói
virt_header=$1 részére
virt_opts=Virtuális kiszolgálók opciói
virt_conf=Kiszolgáló beállítása
virt_show=Direktívák megmutatása
virt_adddir=Könyvtárankénti, fájlonkénti elhelyezkedés szerinti kapcsolók létrehozása
virt_type=Típus
virt_exact=Pontos egyezés
virt_re=Regexp egyezés
virt_path=Útvonal
virt_return=a kiszolgáló indexéhez
virt_euser=Önnek nincs jogosultsága megváltoztatni a felhasználót vagy csoportot ennél a virtuális kiszolgálónál.
virt_header2=$1 for $2

vserv_title=Virtuális kiszolgáló beállításai
vserv_ecannot=Ön nem tudja szerkeszteni ennek a virtuális kiszolgálónak a címét.
vserv_addr=Cím
vserv_port=Port
vserv_any=Akármi
vserv_default=Alapértelmezett
vserv_root=Dokumentum-gyökérkönyvtár
vserv_name=Kiszolgáló neve
vserv_delete=Virtuális kiszolgáló törlése
vserv_err=A virtuális kiszolgáló elmentése nem sikerült.
vserv_eaddr1=Nem lett cím megadva.
vserv_eaddr2=A(z) '$1' érvénytelen cím.
vserv_eport=A(z) '$1' érvénytelen port.
vserv_eroot=A(z) '$1' érvénytelen dokumentum-gyökérkönyvtár.
vserv_ename=A(z) '$1' érvénytelen kiszolgálónév.

show_title=Direktívák
show_edit=Apache direktíva szerkesztése
show_these=Direktívák szerkesztése kézzel
show_ok=Szerkeszt

manual_header=Használja az alábbi szövegdobozokat a(z) $1 Apache-direktíváinak beállításához, hogy érvényesítse azokat ezen a virtuális kiszolgálón, könyvtáron vagy fájlokon.

dir_title=Könyvtárankénti kapcsolók
dir_header=$1 nek $2
dir_show=Direktívák megmutatása
dir_opts=Options apply to ..
dir_type=Típus
dir_regexp=Regexp?
dir_exact=Pontos egyezés
dir_re=Regexp egyezés
dir_path=Útvonal
dir_return=a könyvtár indexhez
dir_header2=$1 nek $2

type_0=Processzek és Limitek
type_1=Hálózat és Címek
type_2=Apache modulok
type_3=Naplófájlok
type_4=Hozzáférés-vezérlés
type_5=Dokumentum opciók
type_6=MIME-típusok
type_7=Hibakezelés
type_8=Felhasználók és Csoportok
type_9=Egyéb
type_10=Álnevek és Átirányítások
type_11=CGI programok
type_12=Könyvtárindexelés
type_13=Proxyzás
type_14=SSL opciók
type_15=Perl
type_16=PHP

htaccess_title=Könyvtárankénti opciófájlok
htaccess_ecannot=Önnek nincs jogosultsága a .htaccess fájlok szerkesztéséhez.
htaccess_desc=Minden egyes könyvtárban további könyvtárankénti kapcsolók adhatók meg egy fájlban (általában ezt <tt>.htaccess</tt>-nek hívják). Az opciók a könyvtár minden fájljára és alkönyvtárára vonatkoznak, kivéve ha azokhoz egy másik opciófájl tartozik.
htaccess_create=Opciófájl létrehozása
htaccess_find=Opciófájlok keresése
htaccess_auto=Automatikus
htaccess_from=Könyvtárban
htaccess_return=az opciófájlok listájához
htaccess_edir=A(z) '$1' egy érvénytelen könyvtár.
htaccess_ecreate=Önnek nincs jogosultsága létrehozni ezt az opciófájlt.
htaccess_edelete=Önnek nincs jogosultsága törölni ezt az opciófájlt.

htindex_ecannot=Önnek nincs jogosultsága szerkeszteni ezt az opciófájlt.
htindex_title=Könyvtárankénti opciófájl
htindex_delete=Fájl törlése
htindex_show=Direktívák megmutatása
htindex_opts=Könyvtárankénti opciók
htindex_file=Fájlonkénti konfiguráció
htindex_create=Fájlonkénti opciók létrehozása
htindex_regexp=Regexp?
htindex_exact=Pontos egyezés
htindex_re=Match regexp
htindex_path=Útvonal
htindex_header=$1 részére
htindex_header2=$1 a $2 opciófájl részére
htindex_return=opciófájlok indexéhez

htfile_title=Fájlonkénti opciók
htfile_header=$1 részére $2 ben
htfile_show=Direktívák megmutatása
htfile_apply=Kapcsolók elfogadása a...
htfile_header2=$1 a(z) $2 részére

reconfig_title=Az ismert modulok újrakonfigurálása
reconfig_ecannot=Önnek nincs jogosultsága az Apache újrakonfigurálásához.
reconfig_ever=A(z) $1 futtatható Apache kiszolgáló verziószámának lekérése nem sikerült. Ellenõrizze a <a href='$2'>modul konfiguráció</a>t, hogy biztos legyen abban, hogy ez a korrekt útvonal.
reconfig_desc1=Az Ön Apache beállítása megváltozott, vagy a Webmin még nem vizsgálta meg. Alább található egy lista az összes, Webmin által támogatott Apache-modulról, melyek közül a telepítettek be vannak jelölve. Ön akkor is kiválaszthat modulokat, ha a lista hibás, vagy nem teljes.
reconfig_desc2=Alább található egy lista a Webmin által támogatott Apache-modulokról, és melyek közül a jelenleg telepítettek ki vannak választva. Ha dinamikusan betöltõdõ modulokat használ, akkor lehetséges, hogy ki kell választania azokat is, amelyek dinamikusan fognak betöltõdni.
reconfig_ok=Beállít

defines_title=Definiált paraméterek szerkesztése
defines_ecannot=Önnek nincs jogosultsága szerkeszteni a httpd értelmezéseit.
defines_desc=Amikor az Apache indulásakor paraméterek adhatók át a <tt>-D</tt> parancssori kapcsolóval. Mivel ezek a paraméterek befolyásolják a konfigurációs fájlokban megadott direktívákat, a Webminnek szüksége van azokra, amelyeket az Apache induláskor megkap. Adja meg a rendszerén használt paramétereket a jobboldali szövegmezõben.

authu_ecannot=A(z) '$1' nem egy engedélyezett felhasználói szövegfájl.
authu_title=Felhasználólista
authu_header=A(z) $1 fájlban
authu_header2=A(z) $1 szövegfájlból vett felhasználók
authu_none=Nincs felhasználó a(z) $1 szövegfájlban.
authu_add=Új felhasználó hozzáadása
authu_return=a felhasználók listájához
authu_edit=Felhasználó szerkesztése
authu_create=Felhasználó létrehozása
authu_user=Felhasználónév
authu_pass=Jelszó
authu_enc=Titkosított...
authu_plain=Síma szöveg..
authu_err=A felhasználó elmentése nem sikerült.
authu_euser=Nem lett felhasználónév megadva
authu_euser2=A felhasználónév ilyet nem tartalmazhat :
authu_edup=A(z) '$1' felhasználó már létezik.
authu_sync=Az alábbi kapcsolókkal beállíthatja a Webmint, hogy automatikusan létrehozzon, frissítsen vagy töröljön egy felhasználót ebbõl a jelszófájlból, ha az létrejött, módosult vagy törlõdött a <tt>Felhasználók és Csoportok</tt> modulban.
authu_screate=Hozzáad egy felhasználót, ha egy Unix felhasználó létrejött
authu_sdelete=Töröli a felhasználót, ha a Unix felhasználó törlõdött
authu_smodify=Megváltoztatja a felhasználót, ha a Unix felhasználó változott

authg_ecannot=A(z) '$1' nem egy engedélyezett csoport szövegfájl.
authg_title=Csoportlista
authg_header=A(z) $1 fájlban
authg_header2=A(z) $1 szövegfájlból vett csoportok
authg_none=Nincs csoport a(z) $1 szövegfájlban
authg_add=Új csoport hozzáadása
authg_return=a csoportok listájához
authg_edit=Csoport szerkesztése
authg_create=Csoport létrehozása
authg_group=Csoport neve
authg_mems=Tagok
authg_dont=Nem változtat
authg_set=Beállít..
authg_err=A csoport elmentése nem sikerült.
authg_euser=Nem lett csoportnév megadva.
authg_euser2=A csoportnév ilyet nem tartalmazhat :
authg_edup=A(z) '$1' csoport már létezik.

stop_err=Az Apache leállítása nem sikerült
stop_ecannot=Önnek nincs jogosultsága az Apache leállításához
stop_epid=A(z) $1 PID fájl megnyitása nem sikerült.
stop_epid2=A(z) $1 érvénytelen PID fájl.
stop_esig=A SIGHUP jelzés küldése a $1 processznek sikertelen volt.

start_err=Az Apache elindítása nem sikerült.
start_ecannot=Önnek nincs jogosultsága elindítani az Apache-ot.
start_ecmd=$1 sikertelen : $2
start_eunknown=Ismeretlen ok.

restart_err=A változtatások érvényesítése nem sikerült.
restart_epid=A(z) $1 PID fájl megnyitása nem sikerült.
restart_epid2=A(z) $1 érvénytelen PID fájl.
restart_esig=A SIGHUP jelzés küldése a $1 processznek sikertelen volt.
restart_eunknown=Ismeretlen ok.

acl_virts=Ez a felhasználó virtuális kiszolgálókat tud szerkeszteni
acl_global=Általános kapcsolók szerkesztése?
acl_htaccess=csak .htaccess
acl_create=Létrehozhat virtuális kiszolgálókat?
acl_vuser=Tudja változtatni a virtuális kiszolgáló felhasználóit?
acl_vaddr=Tudja változtatni a virtuális kiszolgáló címét?
acl_pipe=Lehessen átpipe-olni a naplózást programok felé?
acl_stop=Le tudja állítani, el tudja indítani az Apache-ot?
acl_dir=Fájlok korlátozása könyvtárakra
acl_types=Elérhetõ direktívatípusok
acl_all=Mindet
acl_sel=Kiválasztottakat...

core_maxconc=Maximális konkurens lekérések
core_maxkeep=Maximális életbentartások (keepalives) kapcsolatonként
core_maxreq=Maximális lekérések szerverprocesszenként
core_minspare=Minimális tartalékkiszolgáló processzek
core_maxspare=Maximális tartalékkiszolgáló processzek
core_initial=Kezdõ kiszolgáló processzek
core_emaxconc=A maximális konkurens lekérések számának egésznek kell lennie.
core_emaxkeep=A kapcsolatonkénti maximális életbentartások (keepalives) számának egésznek kell lennie.
core_emaxreq=A szerverprocesszenkénti maximális lekérések számának egésznek kell lennie.
core_eminspare=A tartalékkiszolgálók minimális számának egésznek kell lennie.
core_emaxspare=A tartalékkiszolgálók maximális számának egésznek kell lennie.
core_einitial=A kezdõ kiszolgáló processzek számának egésznek kell lennie.
core_default=Alapértelmezett
core_cpulimit=CPU-kihasználtság korlát
core_memlimit=Memóriakihasználtság-korlát
core_proclimit=Processzkorlát
core_cpulimit2=CPU-kihasználtság korlát
core_memlimit2=memóriakihasználtság-korlát
core_proclimit2=processzkorlát
core_slimit=Könnyû korlát
core_hlimit=Kemény korlát
core_eslimit=$1 érvénytelen könnyû $2
core_ehlimit=$1 nem érvényes kemény $2
core_dport=Alapértelmezett port:
core_address=Cím
core_port=Port
core_listen=Címek és portok figyelése
core_eaddress=A(z) '$1' érvénytelen cím
core_eport=A(z) '$1' érvénytelen port
core_eoneaddr=Önnek legalább egy figyelendõ címet meg kell meghatároznia
core_edefport=Érvénytelen alapértelmezett port
core_multi=Többszörés lekérések kapcsolatonként
core_ekeep=A(z) '$1' nem érvényes szám az életbentartások (keepalives) meghatározására.
core_ltwice=Utánanéz kétszer
core_keeptout=Életbentartás idõtúllépése
core_lqueue=Sorbanállás hosszának figyelése
core_bufsize=TCP külési buffer mérete
core_admin=Kiszolgáló adminjának email címe
core_rtout=Lekérés idõtúllépése
core_bhostname=Use hostname supplied by browser
core_lookup=Lookup hostnames
core_useauth=Do RFC1413 user lookups
core_altnames=Alternate virtual server names
core_hostname=Kiszolgáló hosztneve
core_virtaddr=Addresses for name virtual servers
core_ekeeptout=Keep-alive timeout must be an integer
core_elqueue=Listen queue length must be an integer
core_ebufsize=TCP send buffer size must be an integer
core_ertout=Request timeout must be an integer
core_ehostname=Invalid server hostname
core_osdefault=OS Alapértelmezett
core_noadmin=Nem
core_auto=Automatic
core_ekeep='$1' is not a valid number of keepalives
core_evirtaddr='$1' is not a valid address for name virtual servers
core_auth=Authentication options
core_mime=MIME types and encodings
core_indexing=Indexing and index files
core_hostacc=Hostname access control
core_diropts=Directory options
core_filesel=Selected below...
core_execcgi=Execute CGI programs
core_flink=Follow symbolic links
core_inclexe=Server-side includes and execs
core_incl=Server-side includes
core_genind=Generate directory indexes
core_genmview=Generate Multiviews
core_flinkmatch=Follow symbolic links if owners match
core_optsel=Selected below..
core_enable=Enable
core_disable=Disable
core_optfile=Per-directory options file
core_overr=Options file can override..
core_genmd5=Generate MD5 digests
core_docroot=Document root directory
core_eoptfile=Only one options file is allowed
core_enoopt=Nem options file entered
core_enodoc=Document root '$1' does not exist
core_sigemail=Email address
core_signame=Server name
core_signone=Nem
core_virtpath=Virtual server path
core_footer=Error message footer
core_evirtpath=Virtual server path must start with a /
core_defmime=Alapértelmezett MIME Type
core_edefmime=Alapértelmezett MIME type must be in the form type/subtype
core_realm=Authentication realm name
core_authtype=Authentication type
core_authall=All access controls
core_authany=Any access control
core_authlog=Restrict access by login
core_satisfy=Clients must satisfy
core_salone=Standalone
core_inetd=Futtatás az inetd-bõl
core_verosmod=Version and OS and modules
core_veros=Version and OS
core_ver=Csak verzió
core_coredir=Core dump directory
core_lockfile=Server lock file
core_maxbody=Maximum request body size
core_maxhead=Maximum headers in request
core_maxshead=Maximum request header size
core_maxline=Maximum request line size
core_pid=Kiszolgáló PID fájlja
core_memsco=Shared memory scoreboard file
core_exec=Server execution
core_header=Server HTTP header
core_ecore=Invalid core dump directory
core_elock=Invalid lock file
core_ebody=Invalid request body size
core_ehead=Invalid number of headers
core_eshead=Invalid header size
core_eline=Invalid request line size
core_epid=Invalid PID file
core_escore=Invalid scoreboard file
core_sroot=Server root
core_group= Csoportnév
core_gid= Csoport ID
core_user= Felhasználói név
core_uid= Felhasználó ID
core_asgroup=Run as Unix group
core_asuser=Run as Unix user
core_euid='$1' is not a valid group ID
core_egid='$1' is not a valid user ID
core_tourl= Goto URL..
core_mesg= Show message..
core_error=Error code
core_resp=Response
core_urlmsg=URL or message
core_custom=Custom error responses
core_eerror='$1' is not a valid error code
core_eurl='$1' is not a valid URL
core_syslog=System Log
core_filelog=Fájl
core_proglog=Program 
core_errfile=Error log file
core_logto=Error log to
core_efilelog=Invalid error log file
core_edirlog=Error log file is not under the allowed directory
core_efilemiss=Missing error log file
core_eprogmiss=Missing error log program
core_eperm=You are not allowed to pipe logs to programs
core_allmod=All modules
core_selmod=Selected modules..
core_actmod=Active modules

core_option=Opció
core_setdir=Set for directory
core_merge=Merge with parent

mod_negotiation_cache=Cache content-negotiated documents?
mod_negotiation_pri=Language priority for multi-views
mod_negotiation_def=Alapértelmezett
mod_negotiation_epri=Missing language priorities
mod_cgi_logname=CGI Script log
mod_cgi_none=Nem
mod_cgi_elogname=Invalid CGI script log file
mod_cgi_logsize=Maximum CGI log size
mod_cgi_default=Alapértelmezett
mod_cgi_elogsize=CGI log size must be an integer
mod_cgi_post=Maximum logged post data size
mod_cgi_epost=Post data size must be an integer
mod_cgi_eunder=CGI script log is not under the allowed directory
mod_alias_efrom='$1' is not a valid $2
mod_alias_edest='$1' is not a valid $2 destination
mod_alias_alias=Document directory aliases
mod_alias_regexp=Regexp document directory aliases
mod_alias_redir=URL redirects
mod_alias_rredir=Regexp URL redirects
mod_alias_tredir=Temporary URL redirects
mod_alias_predir=Permanent URL redirects
mod_alias_cgi=CGI directory aliases
mod_alias_rcgi=Regexp CGI directory aliases
mod_alias_estatus='$1' is not a valid status
mod_proxy_proxy=Act as proxy server?
mod_proxy_req=Requests
mod_proxy_forw=Forward to
mod_proxy_all=All
mod_proxy_match=Matching..
mod_proxy_pass=Requests to pass to another proxy
mod_proxy_local=Local URL path
mod_proxy_remote=Remote URL
mod_proxy_map=Map local to remote URLs
mod_proxy_block=Block requests to domains
mod_proxy_eblock=Nem domains given to block
mod_proxy_type=Type
mod_proxy_noproxy=Nem proxy for..
mod_proxy_nopass=Don't pass requests to another proxy for
mod_proxy_nodomain=Domain for requests with no domain
mod_proxy_none=Nem
mod_proxy_enodomain=Invalid default domain
mod_proxy_connect=Ports to which CONNECT is allowed
mod_proxy_default=Alapértelmezett
mod_proxy_econnect=Invalid CONNECT ports
mod_proxy_dir=Cache directory
mod_proxy_edir=Invalid cache directory name
mod_proxy_size=Cache size
mod_proxy_esize=Invalid cache size
mod_proxy_garbage=Cache garbage collection interval
mod_proxy_nogc=Never
mod_proxy_hours=hours
mod_proxy_egarbage=Invalid cache garbage collection interval
mod_proxy_maxexp=Cached file maximum expiry time
mod_proxy_emaxexp=Invalid cached file maximum expiry time
mod_proxy_expfac~=Cached file expiry time factor
mod_proxy_eexpfac=Invalid cached file expiry time factor
mod_proxy_levels=Cache directory levels
mod_proxy_elevels=Invalid number of cache directory levels
mod_proxy_length=Cache directory name length
mod_proxy_elength=Invalid cache directory name length
mod_proxy_defexp=Cache default expiry time
mod_proxy_edefexp=Invalid default expiry time
mod_proxy_finish=Finish and cache transfer after
mod_proxy_efinish=Invalid transfer percentage
mod_proxy_nocache=Domains not to cache
mod_proxy_none2=Nem
mod_proxy_enocache=Nem domains not to cache given
mod_proxy_erequest='$1' is not a valid request
mod_proxy_epurl='$1' is not a valid proxy URL
mod_proxy_elurl='$1' is not a valid local URL path
mod_proxy_erurl='$1' is not a valid remote URL
mod_proxy_eip='$1' is not a valid IP address
mod_proxy_ehost='$1' is not a valid hostname
mod_proxy_edomain='$1' is not a valid domain
mod_proxy_enet='$1' is not a valid network
mod_proxy_enetbit='$1' is not a valid network/bits pair
mod_proxy_eunder=cache directory is not under the allowed directory
mod_proxy_rurl=Távoli URL
mod_proxy_lurl=Helyi URL útvonala
mod_proxy_headers=Map remote Location: headers to local
mod_log_agent_default=Alapértelmezett
mod_log_agent_file=Fájl..
mod_log_agent_program=Program..
mod_log_agent_log=Browser log file
mod_log_agent_efile=$1 is not a valid agent log filename
mod_log_config_common=Common Log Format
mod_log_config_named=Named log formats
mod_log_config_nick=Becenév
mod_log_config_format=Format
mod_log_config_deflog=Alapértelmezett log format
mod_log_config_default=Alapértelmezett
mod_log_config_write=Write to
mod_log_config_filprog=Fájl vagy program
mod_log_config_file=Fájl..
mod_log_config_program=Program..
mod_log_config_log=Access log files
mod_log_config_enick='$1' is not a valid nickname
mod_log_config_eformat=Nem log format given for $1
mod_log_config_enofilprog=Missing log filename or program
mod_log_config_efilprog='$1' is not an allowed log filename or program
mod_log_config_eifset='If set' option cannot be used with the default log format
mod_log_referer_default=Alapértelmezett
mod_log_referer_file=File..
mod_log_referer_program=Program..
mod_log_referer_log=Referer log file
mod_log_referer_nolog=Don't log references from
mod_log_referer_elog=$1 is not a valid referer log filename
mod_log_referer_edir=referer log is not under the allowed directory
mod_status_msg=Display extended status information
mod_mime_ext=Kiterjesztések
mod_mime_xtype=Extra MIME types
mod_mime_mtype=MIME-típus
mod_mime_chandl=Content handlers
mod_mime_cencs=Content encodings
mod_mime_cenc=Content encoding
mod_mime_clangs=Content languages
mod_mime_clang=Content language
mod_mime_defmime=Treat all files as MIME type
mod_mime_real=Valódi típus
mod_mime_etype=Invalid MIME type
mod_mime_pass=Pass all files to handler
mod_mime_file=MIME types file
mod_mime_default=Alapértelmezett
mod_mime_ignhand=Ignore handlers for extensions
mod_mime_none=Nem
mod_mime_xchars=Extra character sets
mod_mime_einvalid='$1' is not a valid $2
mod_mime_19=Nem extensions given for $1 $2

mod_mime_type=Típus
mod_mime_handler=Kezelõ
mod_mime_enc=Kódolás
mod_mime_lang=Nyelv
mod_mime_chars=Karaktertábla

mod_setenvif_header=Header
mod_setenvif_match=Match
mod_setenvif_case=Match case
mod_setenvif_var=Variable
mod_setenvif_value=Value
mod_setenvif_txt=Variables set based on request headers
mod_setenvif_eheader=Invalid request header '$1'
mod_setenvif_eregex=Invalid regular expression '$1'
mod_setenvif_evar=Invalid variable name '$1'
mod_userdir_default=Alapértelmezett
mod_userdir_all=All users accessible
mod_userdir_except=All users except
mod_userdir_dir=User WWW directory
mod_imap_action=Action on incorrect use of imagemaps
mod_imap_default=Alapértelmezett
mod_imap_godefurl=Go to default URL
mod_imap_form=Show formatted menu
mod_imap_semiform=Show semi-formatted menu
mod_imap_unform=Show unformatted menu
mod_imap_disperr=Display server error
mod_imap_donoth=Do nothing
mod_imap_goimap=Go to imagemap URL
mod_imap_goref=Go to referring URL
mod_imap_gourl=Go to URL...
mod_imap_defact=Alapértelmezett action for imagemaps
mod_imap_default2=Alapértelmezett
mod_imap_root=Server root
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Referring URL
mod_imap_url=URL...
mod_imap_defbase=Alapértelmezett base for imagemaps
mod_imap_eurl='$1' is not a valid URL
mod_speling_autocorr=Automatically correct misspelled URLs?
mod_speling_default=Alapértelmezett
mod_actions_mime=Handler / MIME type
mod_actions_cgiurl=CGI script URL
mod_actions_mimecgi=Handler or MIME type CGI actions
mod_actions_http=HTTP method
mod_actions_cgi=CGI script
mod_actions_httpcgi=HTTP method CGI actions
mod_actions_emime='$1' is not a valid handler or MIME type
mod_actions_ecgi='$1' is not a valid CGI script
mod_actions_enometh=Nem method chosen for CGI script '$1'
mod_include_incl=Process includes on files with execute bit?
mod_include_set=Igen and set last-modified date
mod_include_default=Alapértelmezett
mod_dir_txt=Directory index files
mod_autoindex_default=Alapértelmezett
mod_autoindex_asc=Ascending
mod_autoindex_descend=Descending
mod_autoindex_name=Név
mod_autoindex_date=Dátum
mod_autoindex_size=Méret
mod_autoindex_desc=Leírás
mod_autoindex_sort=Sort directory index by
browsermatch_regexp=Browser regex
browsermatch_case=Match case?
browsermatch_var=Változó beállítása
browsermatch_value=Érték
browsermatch_txt=Variables set based on browser type
browsermatch_evar=Invalid variable name '$1'
autoindex_fname=Fájlnév
autoindex_mime=MIME type
autoindex_enc=Kódolás
autoindex_icon=Ikon
autoindex_alt=Alt text
autoindex_match=Match by
autoindex_fte=Filenames, types or encodings
autoindex_diricon=Directory index icons
autoindex_deficon=Directory index default icon
autoindex_default=Alapértelmezett
autoindex_edeficon=Invalid default icon URL
autoindex_diralt=Directory index ALT tags
autoindex_desc=Description
autoindex_fnames=Filenames
autoindex_dirdesc=Directory index descriptions
autoindex_fancy=Display fancy directory indexes
autoindex_htmltitle=Display HTML title as description
autoindex_20=Icon height", "Icon width
autoindex_sort=Allow user sorting of columns
autoindex_fildesc=Show file descriptions
autoindex_htags=Output HTML header tags
autoindex_mtime=Show last modified times
autoindex_size=Show file sizes
autoindex_iconlink=Include icon in link
autoindex_fwidth=Fájlnév szélessége
autoindex_dwidth=Leírás szélessége
autoindex_dirfirst=Display directories first
autoindex_default2=Alapértelmezett
autoindex_select=Selected below...
autoindex_default3=Alapértelmezett
autoindex_pixels=pixelek
autoindex_chars=karakterek
autoindex_diropt=Directory index options
autoindex_dirhead=Directory index header file
autoindex_default4=Alapértelmezett
autoindex_edirhead=Invalid index header filename
autoindex_dirfoot=Directory index footer file
autoindex_edirfoot=Invalid index footer filename
autoindex_ignore=Files to ignore in directory index
autoindex_eiconurl='$1' is not a valid icon url
autoindex_emiss=Missing $1 for $2
autoindex_emissquot=Missing $1 for '$2'
autoindex_enodesc=Nem description for file $1
autoindex_enofile=Nem files for description '$1'
autoindex_eiconsize='$1' is not a valid icon size
autoindex_ewidth='$1' is not a valid width
mod_mime_magic_file=MIME magic numbers file
mod_mime_magic_none=Nem
mod_mime_magic_efile=Invalid MIME magic numbers filename
mod_env_var=Változó
mod_env_value=Érték
mod_env_pass=Pass through
mod_env_clear=Töröl
mod_env_set=Beállít..
mod_env_cgivar=Environment variables for CGI scripts
mod_env_passall=Pass all environment variables to CGIs
mod_env_default=Alapértelmezett
mod_env_evar='$1' is not a valid variable name
mod_env_evalue='$1' is not a valid variable value
mod_access_order=Access checking order:
mod_access_denyallow=Deny then allow
mod_access_allowdeny=Allow then deny
mod_access_mutual=Mutual failure
mod_access_default=Alapértelmezett
mod_access_action=Action
mod_access_cond=Condition
mod_access_all=All requests
mod_access_host=Request from host...
mod_access_ip=Request from IP..
mod_access_pip=Request from partial IP..
mod_access_mask=Request from net/netmask..
mod_access_cidr=Request from net/CIDR..
mod_access_var=If variable is set..
mod_access_restr=Restrict access
mod_access_eip='$1' is not a valid IP address
mod_access_epip='$1' is not a valid partial IP address
mod_access_emask='$1' is not a valid network/netmask pair
mod_access_ecidr='$1' is not a valid network/CIDR pair
mod_access_evar='$1' is not a valid variable name
mod_auth_ufile=User text file
mod_auth_uedit=Felhasználók szerkesztéses
mod_auth_gfile=Group text file
mod_auth_gedit=Csoportok szerkesztése
mod_auth_pass=Pass failures to next module?
mod_auth_auth=Text file authentication
mod_auth_eudir=User text file is not under the allowed directory
mod_auth_egdir=Group text file is not under the allowed directory
mod_cern_meta_process=Process header metafiles
mod_cern_meta_dir=Subdirectory for header metafiles
mod_cern_meta_default=Alapértelmezett
mod_cern_meta_edir=Invalid metafile subdirectory name
mod_cern_meta_suffix=File suffix for header metafiles
mod_cern_meta_default2=Alapértelmezett
mod_cern_meta_esuffix=Invalid metafile suffix
070701000270a0000081a40000000000000002000000013d1fe2d100007cb9000000200000000000000000000000000000001500000003reloc/apache/lang/it  index_title=Apache Webserver
index_eroot= La directory root di Apache $1 non esiste. Se Apache &egrave; installato, correggi la <a href='$2'>configurazione del modulo</a> per impostare i percorsi corretti.
index_eserver=Il file eseguibile di Apache server $1 non esiste. Se hai Apache installato, correggi la <a href='$2'>configurazione del modulo</a> per usare il percorso corretto.
index_econf=Il file di configurazione di Apache $1 non esiste. Se hai Apache installato, correggi la <a href='$2'>configurazione del modulo</a> per usare il percorso corretto.
index_eports=La tua configurazione di Apache contiene più di 1 direttive $1. La versione corrente di Webmin non può gestire propriamente questa impostazione.
index_global=Configurazione Globale
index_virts=Server Virtuali
index_defserv=Default Server
index_defdesc1=Definisce le impostazioni di default per tutti gli altri server virtuali, e si prende in carico ogni richiesta non gestita.
index_any=Qualsiasi
index_default=Default
index_auto=Automatico
index_virt=Server Virtuale
index_vname=Gestisce il name-based server $1 all'indirizzo $2.
index_vdef=Elabora tutte le richieste non gestite da altri server virtuali.
index_defdesc2=Definisce le impostazioni di default per tutti gli altri server virtuali.
index_vport=Elabora tutte le richieste alla porta $1 non gestite da altri server virtuali.
index_vaddr=Gestisce tutte le richieste all'indirizzo $1.
index_vaddrport=Gestisce tutte le richieste all'indirizzo $1 nella porta $2.
index_type=Tipo
index_addr=Indirizzo
index_nv={Add name virtual server address (if needed)}
index_port=Porta
index_name=Nome Server 
index_root=Document Root
index_create=Crea un nuovo Server Virtuale
index_return=lista server
index_toomany=There are too many virtual servers on your system to display on one page
index_find=Trova i server dove
index_equals=equals
index_matches=matches
index_nequals=not equals
index_nmatches=not matches
index_clone=Copy directives from
index_noclone=Nowhere

cvirt_ecannot=Non hai i permessi per creare un server virtuale
cvirt_err=Creazione del server virtuale fallita
cvirt_eaddr1=Non hai inserito l'indirizzo
cvirt_eaddr2='$1' non è un indirizzo valido
cvirt_eport='$1' non è una porta valida
cvirt_ename='$1' non è uno username valido
cvirt_eroot1=Devi inserire una 'document root'
cvirt_eroot2=Creazione della directory '$1' fallita: $2
cvirt_eroot3=Non hai i permessi per utilizzare la directory radice '$1'
cvirt_etaken=Esiste gi&agrave; un server virtuale con lo stesso nome ed indirizzo

etype=Non hai i permessi per modificare le opzioni di questo tipo
efailed=Salvataggio di $1 fallito
apache_apply=Applica Modifiche
apache_stop=Ferma Apache
apache_start=Avvia Apache
auth_return=controllo di accesso
default_serv=default server
bytes=bytes

global_ecannot=Non hai i permessi per modificare le opzioni globali
global_mime=Lista tipi MIME globali
global_mimedesc=Clicca su un tipo MIME nella lista sottostante per modificarlo, o usa il link alla fine della pagina per aggiungere un nuovo tipo alla lista.
global_type=Tipo
global_ext=Estensioni
global_add=Aggiungi un nuovo tipo MIME
global_return=Tipi MIME

mime_ecannot=Non hai i permessi per modificare i tipi mime
mime_edit=Modifica tipo MIME
mime_add=Aggiungi tipo MIME
mime_header=Mappatura delle estensioni ai tipi MIME
mime_type=Tipo MIME
mime_ext=Estensioni
mime_err=Salvataggio del tipo MIME fallito
mime_etype='$1' non &egrave un tipo MIME valido

virt_ecannot=Non puoi modificare questo server virtuale
virt_title=Opzioni Server Virtuale 
virt_header=Per $1
virt_opts=Opzioni Server Virtuale
virt_conf=Configurazione Server 
virt_show=Mostra Direttive
virt_adddir=Crea Opzioni per Directory, File o Locazione
virt_type=Tipo
virt_Directory=Directory
virt_Files=Files
virt_Location=Posizione
virt_exact={Exact match}
virt_re={Match regexp}
virt_regexp=Regexp?
virt_path=Percorso
virt_return=indice del server 
virt_euser=Non hai i permessi per cambiare l'utente o gruppo per questo server virtuale.
virt_header2=$1 per $2

vserv_title=Configurazione Server Virtuale
vserv_ecannot=Non puoi modificare l'indirizzo di questo server virtuale
vserv_addr=Indirizzo
vserv_addrs=Addresses
vserv_port=Porta
vserv_any=Qualsiasi
vserv_default=Default
vserv_root=Document Root
vserv_name=Nome Server
vserv_delete=Elimina Server Virtuale
vserv_err=Salvataggio del server virtuale fallito
vserv_eaddr1=Non hai inserito l'indirizzo
vserv_eaddr2='$1' non &egrave; un indirizzo valido
vserv_eport='$1' non &egrave; una porta valida
vserv_eroot='$1' non &egrave; una valida document root
vserv_ename='$1' non &egrave un nome server valido
vserv_eaddrs=Non hai inserito gli l'indirizzo del server virtuale

show_title=Direttive
show_edit=Modifica direttiva di Apache
show_these=Manually edit directives
show_ok=Modifica

manual_title=Modifica Direttive
manual_header=Usa la casella sotto per modificare le direttive Apache in $1 che sono applicate a questo server virtuale, directory o file.
manual_ecannot=Non hai i permessi per modificare manualmente le direttive

dir_title=Opzioni per Directory 
dir_header=Per $1 su $2
dir_show=Mostra Direttive
dir_edit=Modifica Direttive
dir_opts=Applica le opzioni a ..
dir_Directory=Directory
dir_Files=Files
dir_Location=Posizione
dir_type=Tipo
dir_regexp=Regexp?
dir_exact={Exact match}
dir_re={Match regexp}
dir_path=Percorso
dir_return=indice directory
dir_header2=$1 per $2

type_0=Processi e Limiti
type_1=Rete e Indirizzi
type_2=Moduli Apache 
type_3=File di Log
type_4=Controllo di Accesso
type_5=Opzioni Documento
type_6=Tipi MIME
type_7=Gestione Errori
type_8=Utenti e Gruppi 
type_9=Varie
type_10=Alias e Redirezioni
type_11=Programmi CGI 
type_12=Indicizzazione Directory
type_13=Proxying
type_14=Opzioni SSL 
type_15=Perl
type_16=PHP
type_17=Host Virtuali Automatici

htaccess_title=File di Opzioni per directory 
htaccess_ecannot=Non puoi modificare i file htaccess
htaccess_desc=Opzioni per directory aggiuntive possono essere specificate in un file (solitamente chiamato <tt>.htaccess</tt>) in ogni directory. Le opzioni sono applicate a tutti i file di quella directory e a tutte le sottodirectory, a meno che non vi siano altri file di opzioni.
htaccess_create=Crea File di Opzioni
htaccess_find=Trova File di Opzioni
htaccess_auto=Automaticamente
htaccess_from=Da directory
htaccess_return=lista file opzioni
htaccess_edir='$1' non &egrave; una directory valida
htaccess_ecreate=Non hai i permessi per creare questo file di opzioni
htaccess_edelete=Non hai i permessi per eliminare questo file di opzioni

htindex_ecannot=Non hai i permessi per modificare questo file di opzioni
htindex_title=File di Opzioni per directory
htindex_delete=Elimina File
htindex_show=Mostra Direttive
htindex_edit=Edit Directives
htindex_opts=Opzioni per directory
htindex_file=Configurazione File
htindex_create=Crea Opzioni File
htindex_regexp=Regexp?
htindex_exact={Exact match}
htindex_re={Match regexp}
htindex_path=Percorso
htindex_header=Per $1
htindex_header2=$1 per il file di opzioni $2
htindex_return=indice del file di opzioni

htfile_title=Opzioni dei File
htfile_header=Per $1 in $2
htfile_show=Mostra Direttive
htfile_apply=Le opzioni si applicano a ..
htfile_header2=$1 per $2

reconfig_title=Ri-Configura i Moduli Conosciuti
reconfig_ecannot=Non hai i permessi per riconfigurare Apache
reconfig_ever=Non riesco a leggere la versione del server Apache $1. Controlla la <a href='$2'>Configurazione del modulo</a> per accertarti che sia il percorso corretto.
reconfig_desc1=La configurazione di Apache &egrave; cambiata, o non &egrave; stata ancora esaminata da Webmin. Sotto c'&egrave; una lista di utti i moduli Apache supportati da Webmin, con quelli attualmente installati selezionati. Puoi selezionare o deselezionare i moduli se la lista non &egrave; corretta. 
reconfig_desc2=Sotto c'&egrave; una lista di tutti i moduli Apache supportati da Webmin, con quelli attualmente installati selezionati. Se stai usando moduli caricati dinamicamente potresti aver bisogno di selezionare quelli che sono caricati dinamicamente. 
reconfig_desc3=Se non sai quali moduli sono supportati da Apache sul tuo sistema, premi Configura in quanto Webmin pu&ograve; solitamente risolvere automaticamente i moduli supportati.
reconfig_ok=Configura

defines_title=Modifica i Parametri Definiti
defines_ecannot=Non hai i permessi per modificare le definizioni httpd
defines_desc=Quando Apache &egrave; avviato, i parametri possono venirgli passati con la linea di comando <tt>-D</tt>. Siccome questi parametri possono influenzare quali direttive vengono usate nel tuo file di configurazione, Webmin deve sapere quali vengono passati ad Apache quando viene avviato. Inserisci i parametri usati dal tuo sistema nel campo testo sulla destra
defines_config=Notare che i seguenti parametri definiti sono gi&agrave; conosciuti : $1

authu_ecannot='$1' non &egrave; un file di testo utente permesso
authu_title=Lista Utenti
authu_header=Nel file $1
authu_header2=Gli Utenti dal file di testo $1
authu_none=Non ci sono utenti nel file di testo $1
authu_add=Aggiungi un nuovo utente
authu_return=lista utenti
authu_edit=Modifica Utente
authu_create=Crea Utente
authu_user=Username
authu_pass=Password
authu_enc=Criptato..
authu_plain=In chiaro..
authu_err=Salvataggio dell'utente fallito
authu_euser=Username non inserito
authu_euser2=Username non pu&ograve; contenere un :
authu_edup=Un utente chiamato '$1' esiste gi&agrave;
authu_sync=Queste opzioni ti permettono di configurare Webmin in modo che automaticamente aggiunga, aggiorni o elimini un utente da questo file di password quando un utente viene aggiunto, modificato o eliminato nel modulo <tt>Utenti e Gruppi</tt>.
authu_screate=Aggiunge un utente quando un utente Unix viene aggiunto
authu_sdelete=Elimina l'utente quando un utente Unix viene eliminato
authu_smodify=Modifica l'utente quando un utente Unix viene modificato

authg_ecannot='$1' non &egrave; un file dei gruppi permesso
authg_title=Lista Gruppi
authg_header=Nel file $1
authg_header2=Gruppi dal file di testo $1
authg_none=Nessun gruppo nel file di testo $1
authg_add=Aggiungi un gruppo
authg_return=lista gruppi
authg_edit=Modifica Gruppo
authg_create=Crea Gruppo
authg_group=Nome Gruppo
authg_mems=Membri
authg_dont=Non modificare
authg_set=Imposta a..
authg_err=Salvataggio del gruppo fallito
authg_euser=Nome gruppo non inserito
authg_euser2=Il nome del gruppo non pu&ograve; contenere una :
authg_edup=Un gruppo chiamato '$1' esiste gi&agrave;

stop_err=Chiusura di apache fallita
stop_ecannot=Non hai i permessi per chiudere apache
stop_epid=Apertura del file PID $1 fallita
stop_epid2=File PID $1 non valido
stop_esig=Invio segnale SIGTEMR al processo $1 fallito

start_err=Avvio di apache fallito
start_ecannot=Non hai i permessi per avviare apache
start_ecmd=$1 fallito : $2
start_eunknown=Ragione sconosciuta

restart_err=Applicazione modifiche fallita
restart_epid=Apertura del file PID $1 fallita
restart_epid2=File PID $1 non valido
restart_esig=Invio del segnale SIGHUP al processo $1 fallito
restart_eunknown=Ragione sconosciuta

acl_virts=Server virtuali che possono essere modificati da questo utente
acl_vall=Tutti i server
acl_vsel=Selezionati..
acl_defserv=Server di Default
acl_global=Pu&ograve; modificare le opzioni globali?
acl_htaccess=solo .htaccess
acl_create=Pu&ograve; creare server virtuali?
acl_vuser=Pu&ograve; modificare gli utenti dei server virtuali?
acl_vaddr=Pu&ograve; modificare gli indirizzi dei server virtuali?
acl_pipe=Pu&ograve; inviare i log ai programmi?
acl_stop=Pu&ograve; fermare ed avviare Apache?
acl_dir=Limita i file alla directory
acl_types=Tipi di direttive disponibili
acl_all=Tutte
acl_sel=Selezionate..

core_maxconc=Richieste concorrenti massime 
core_maxkeep={keepalives} massime per connessione
core_maxreq=Richieste massime per processo server
core_minspare=Minimum spare server processes
core_maxspare=Maximum spare server processes
core_initial=Initial server processes
core_emaxconc=Maximum concurrent requests must be an integer
core_emaxkeep=Maximum keepalives per connection must be an integer
core_emaxreq=Maximum requests per server process must be an integer
core_eminspare=Minimum spare server processes must be an integer
core_emaxspare=Maximum spare server processes must be an integer
core_einitial=Initial server processes must be an integer
core_default=Default
core_cpulimit=CPU resource limit
core_memlimit=Memory resource limit
core_proclimit=Process limit
core_cpulimit2=CPU resource limit
core_memlimit2=memory resource limit
core_proclimit2=process limit
core_slimit=Soft limit 
core_hlimit=Hard limit 
core_eslimit=$1 is not a valid soft $2
core_ehlimit=$1 is not a valid hard $2
core_dport=Default port:
core_address=Address
core_port=Port
core_listen=Listen on addresses and ports
core_eaddress='$1' is not a valid address
core_eport='$1' is not a valid port
core_eoneaddr=You must specify at least one address to listen on
core_edefport=Invalid default port
core_multi=Multiple requests per connection
core_ekeep='$1' is not a valid number of keepalives
core_ltwice=Lookup twice
core_keeptout=Keep-alive timeout
core_lqueue=Listen queue length
core_bufsize=TCP send buffer size
core_admin=Server admin email address
core_rtout=Request timeout
core_bhostname=Use hostname supplied by browser
core_lookup=Lookup hostnames
core_useauth=Do RFC1413 user lookups
core_altnames=Alternate virtual server names
core_hostname=Server hostname
core_virtaddr=Addresses for name virtual servers
core_ekeeptout=Keep-alive timeout must be an integer
core_elqueue=Listen queue length must be an integer
core_ebufsize=TCP send buffer size must be an integer
core_ertout=Request timeout must be an integer
core_ehostname=Invalid server hostname
core_osdefault=OS Default
core_noadmin=None
core_auto=Automatic
core_evirtaddr='$1' is not a valid address for name virtual servers
core_auth=Authentication options
core_mime=MIME types and encodings
core_indexing=Indexing and index files
core_hostacc=Hostname access control
core_diropts=Directory options
core_filesel=Selected below...
core_execcgi=Execute CGI programs
core_flink=Follow symbolic links
core_inclexe=Server-side includes and execs
core_incl=Server-side includes
core_genind=Generate directory indexes
core_genmview=Generate Multiviews
core_flinkmatch=Follow symbolic links if owners match
core_optsel=Selected below..
core_enable=Enable
core_disable=Disable
core_optfile=Per-directory options file
core_overr=Options file can override..
core_genmd5=Generate MD5 digests
core_docroot=Document root directory
core_eoptfile=Only one options file is allowed
core_enoopt=No options file entered
core_enodoc=Document root '$1' does not exist
core_sigemail=Email address
core_signame=Server name
core_signone=None
core_virtpath=Virtual server path
core_footer=Error message footer
core_evirtpath=Virtual server path must start with a /
core_defmime=Default MIME Type
core_edefmime=Default MIME type must be in the form type/subtype
core_realm=Authentication realm name
core_authtype=Authentication type
core_authall=All access controls
core_authany=Any access control
core_authlog=Restrict access by login
core_satisfy=Clients must satisfy
core_salone=Standalone
core_inetd=Run from inetd
core_verosmod=Version and OS and modules
core_veros=Version and OS
core_ver=Version only
core_coredir=Core dump directory
core_lockfile=Server lock file
core_maxbody=Maximum request body size
core_maxhead=Maximum headers in request
core_maxshead=Maximum request header size
core_maxline=Maximum request line size
core_pid=Server PID file
core_memsco=Shared memory scoreboard file
core_exec=Server execution
core_header=Server HTTP header
core_ecore=Invalid core dump directory
core_elock=Invalid lock file
core_ebody=Invalid request body size
core_ehead=Invalid number of headers
core_eshead=Invalid header size
core_eline=Invalid request line size
core_epid=Invalid PID file
core_escore=Invalid scoreboard file
core_sroot=Server root
core_group=Group name
core_gid=Group ID
core_user=User name
core_uid=User ID
core_asgroup=Run as Unix group
core_asuser=Run as Unix user
core_euid='$1' is not a valid group ID
core_egid='$1' is not a valid user ID
core_tourl=Goto URL..
core_mesg=Show message..
core_error=Error code
core_resp=Response
core_urlmsg=URL or message
core_custom=Custom error responses
core_eerror='$1' is not a valid error code
core_eurl='$1' is not a valid URL
core_syslog=System Log
core_filelog=File 
core_proglog=Program 
core_errfile=Error log file
core_logto=Error log to
core_efilelog=Invalid error log file
core_edirlog=Error log file is not under the allowed directory
core_efilemiss=Missing error log file
core_eprogmiss=Missing error log program
core_eperm=You are not allowed to pipe logs to programs
core_allmod=All modules
core_selmod=Selected modules..
core_actmod=Active modules
core_option=Option
core_setdir=Set for directory
core_merge=Merge with parent
core_users=Only these users
core_groups=Only these groups
core_allusers=All valid users
core_none=None
core_all=All
core_product=Product only

mod_negotiation_cache=Cache content-negotiated documents?
mod_negotiation_pri=Language priority for multi-views
mod_negotiation_def=Default
mod_negotiation_epri=Missing language priorities

mod_cgi_logname=CGI Script log
mod_cgi_none=None
mod_cgi_elogname=Invalid CGI script log file
mod_cgi_logsize=Maximum CGI log size
mod_cgi_default=Default
mod_cgi_elogsize=CGI log size must be an integer
mod_cgi_post=Maximum logged post data size
mod_cgi_epost=Post data size must be an integer
mod_cgi_eunder=CGI script log is not under the allowed directory

mod_alias_from=From
mod_alias_to=To
mod_alias_status=Status
mod_alias_efrom='$1' is not a valid $2
mod_alias_edest='$1' is not a valid $2 destination
mod_alias_alias=Document directory aliases
mod_alias_alias2=dokument alias
mod_alias_regexp=Regexp document directory aliases
mod_alias_regexp2=regexp document alias
mod_alias_redir=URL redirects
mod_alias_redir2=URL redirect
mod_alias_rredir=Regexp URL redirects
mod_alias_rredir2=regexp URL redirect
mod_alias_tredir=Temporary URL redirects
mod_alias_tredir2=temporary URL redirect
mod_alias_predir=Permanent URL redirects
mod_alias_predir2=permanent URL redirect
mod_alias_cgi=CGI directory aliases
mod_alias_cgi2=CGI directory alias
mod_alias_rcgi=Regexp CGI directory aliases
mod_alias_rcgi2=regexp CGI directory alias
mod_alias_estatus='$1' is not a valid status

mod_proxy_proxy=Act as proxy server?
mod_proxy_req=Requests
mod_proxy_forw=Forward to
mod_proxy_all=All
mod_proxy_match=Matching..
mod_proxy_pass=Requests to pass to another proxy
mod_proxy_local=Local URL path
mod_proxy_remote=Remote URL
mod_proxy_map=Map local to remote URLs
mod_proxy_block=Block requests to domains
mod_proxy_eblock=No domains given to block
mod_proxy_type=Type
mod_proxy_noproxy=No proxy for..
mod_proxy_nopass=Don't pass requests to another proxy for
mod_proxy_nodomain=Domain for requests with no domain
mod_proxy_none=None
mod_proxy_enodomain=Invalid default domain
mod_proxy_connect=Ports to which CONNECT is allowed
mod_proxy_default=Default
mod_proxy_econnect=Invalid CONNECT ports
mod_proxy_dir=Cache directory
mod_proxy_edir=Invalid cache directory name
mod_proxy_size=Cache size
mod_proxy_esize=Invalid cache size
mod_proxy_garbage=Cache garbage collection interval
mod_proxy_nogc=Never
mod_proxy_hours=hours
mod_proxy_egarbage=Invalid cache garbage collection interval
mod_proxy_maxexp=Cached file maximum expiry time
mod_proxy_emaxexp=Invalid cached file maximum expiry time
mod_proxy_expfac=Cached file expiry time factor
mod_proxy_eexpfac=Invalid cached file expiry time factor
mod_proxy_levels=Cache directory levels
mod_proxy_elevels=Invalid number of cache directory levels
mod_proxy_length=Cache directory name length
mod_proxy_elength=Invalid cache directory name length
mod_proxy_defexp=Cache default expiry time
mod_proxy_edefexp=Invalid default expiry time
mod_proxy_finish=Finish and cache transfer after
mod_proxy_efinish=Invalid transfer percentage
mod_proxy_nocache=Domains not to cache
mod_proxy_none2=None
mod_proxy_none3=None
mod_proxy_enocache=No domains not to cache given
mod_proxy_erequest='$1' is not a valid request
mod_proxy_epurl='$1' is not a valid proxy URL
mod_proxy_elurl='$1' is not a valid local URL path
mod_proxy_erurl='$1' is not a valid remote URL
mod_proxy_eip='$1' is not a valid IP address
mod_proxy_ehost='$1' is not a valid hostname
mod_proxy_edomain='$1' is not a valid domain
mod_proxy_enet='$1' is not a valid network
mod_proxy_enetbit='$1' is not a valid network/bits pair
mod_proxy_eunder=Cache directory is not under the allowed directory
mod_proxy_rurl=Remote URL
mod_proxy_lurl=Local URL path
mod_proxy_headers=Map remote Location: headers to local
mod_proxy_ip=IP address
mod_proxy_host=Hostname
mod_proxy_domain=Domain
mod_proxy_net=IP network
mod_proxy_netbit=Network/bits

mod_log_agent_default=Default
mod_log_agent_file=File..
mod_log_agent_program=Program..
mod_log_agent_log=Browser log file
mod_log_agent_efile=$1 is not a valid agent log filename

mod_log_config_common=Common Log Format
mod_log_config_named=Named log formats
mod_log_config_nick=Nickname
mod_log_config_format=Format
mod_log_config_deflog=Default log format
mod_log_config_default=Default
mod_log_config_write=Write to
mod_log_config_filprog=File or program
mod_log_config_file=File..
mod_log_config_program=Program..
mod_log_config_log=Access log files
mod_log_config_enick='$1' is not a valid nickname
mod_log_config_eformat=No log format given for $1
mod_log_config_enofilprog=Missing log filename or program
mod_log_config_efilprog='$1' is not an allowed log filename or program
mod_log_config_eifset='If set' option cannot be used with the default log format

mod_log_referer_default=Default
mod_log_referer_file=File..
mod_log_referer_program=Program..
mod_log_referer_log=Referer log file
mod_log_referer_nolog=Don't log references from
mod_log_referer_elog=$1 is not a valid referer log filename
mod_log_referer_edir=referer log is not under the allowed directory

mod_status_msg=Display extended status information

mod_mime_ext=Extensions
mod_mime_xtype=Extra MIME types
mod_mime_mtype=MIME type
mod_mime_chandl=Content handlers
mod_mime_cencs=Content encodings
mod_mime_cenc=Content encoding
mod_mime_clangs=Content languages
mod_mime_clang=Content language
mod_mime_defmime=Treat all files as MIME type
mod_mime_real=Real type
mod_mime_etype=Invalid MIME type
mod_mime_pass=Pass all files to handler
mod_mime_file=MIME types file
mod_mime_default=Default
mod_mime_ignhand=Ignore handlers for extensions
mod_mime_none=None
mod_mime_xchars=Extra character sets
mod_mime_einvalid='$1' is not a valid $2
mod_mime_eext=No extensions given for $1 $2
mod_mime_type=Type
mod_mime_handler=Handler
mod_mime_enc=Encoding
mod_mime_lang=Language
mod_mime_chars=Charset
mod_mime_igntype=Ignore MIME types for extension
mod_mime_ignenc=Ignore encodings for extension

mod_setenvif_header=Header
mod_setenvif_match=Match
mod_setenvif_case=Match case
mod_setenvif_var=Variable
mod_setenvif_value=Value
mod_setenvif_txt=Variables set based on request headers
mod_setenvif_eheader=Invalid request header '$1'
mod_setenvif_eregex=Invalid regular expression '$1'
mod_setenvif_evar=Invalid variable name '$1'
mod_setenvif_clear=Clear

mod_userdir_default=Default
mod_userdir_all=All users accessible
mod_userdir_except=All users except
mod_userdir_dir=User WWW directory

mod_imap_action=Action on incorrect use of imagemaps
mod_imap_default=Default
mod_imap_godefurl=Go to default URL
mod_imap_form=Show formatted menu
mod_imap_semiform=Show semi-formatted menu
mod_imap_unform=Show unformatted menu
mod_imap_disperr=Display server error
mod_imap_donoth=Do nothing
mod_imap_goimap=Go to imagemap URL
mod_imap_goref=Go to referring URL
mod_imap_gourl=Go to URL...
mod_imap_defact=Default action for imagemaps
mod_imap_default2=Default
mod_imap_root=Server root
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Referring URL
mod_imap_url=URL...
mod_imap_defbase=Default base for imagemaps
mod_imap_eurl='$1' is not a valid URL

mod_speling_autocorr=Automatically correct misspelled URLs?
mod_speling_default=Default

mod_actions_mime=Handler / MIME type
mod_actions_cgiurl=CGI script URL
mod_actions_mimecgi=Handler or MIME type CGI actions
mod_actions_http=HTTP method
mod_actions_cgi=CGI script
mod_actions_httpcgi=HTTP method CGI actions
mod_actions_emime='$1' is not a valid handler or MIME type
mod_actions_ecgi='$1' is not a valid CGI script
mod_actions_enometh=No method chosen for CGI script '$1'

mod_include_incl=Process includes on files with execute bit?
mod_include_set=Yes and set last-modified date
mod_include_default=Default

mod_dir_txt=Directory index files

mod_autoindex_default=Default
mod_autoindex_asc=Ascending
mod_autoindex_descend=Descending
mod_autoindex_name=Name
mod_autoindex_date=Date
mod_autoindex_size=Size
mod_autoindex_desc=Description
mod_autoindex_sort=Sort directory index by

browsermatch_regexp=Browser regex
browsermatch_case=Match case?
browsermatch_var=Set variable
browsermatch_value=Value
browsermatch_txt=Variables set based on browser type
browsermatch_evar=Invalid variable name '$1'
browsermatch_clear=Clear

autoindex_fname=Filename
autoindex_mime=MIME type
autoindex_enc=Encoding
autoindex_icon=Icon
autoindex_alt=Alt text
autoindex_match=Match by
autoindex_fte=Filenames, types or encodings
autoindex_diricon=Directory index icons
autoindex_deficon=Directory index default icon
autoindex_default=Default
autoindex_edeficon=Invalid default icon URL
autoindex_diralt=Directory index ALT tags
autoindex_desc=Description
autoindex_fnames=Filenames
autoindex_dirdesc=Directory index descriptions
autoindex_fancy=Display fancy directory indexes
autoindex_htmltitle=Display HTML title as description
autoindex_iheight=Icon height
autoindex_iwidth=Icon width
autoindex_sort=Allow user sorting of columns
autoindex_fildesc=Show file descriptions
autoindex_htags=Output HTML header tags
autoindex_mtime=Show last modified times
autoindex_size=Show file sizes
autoindex_iconlink=Include icon in link
autoindex_fwidth=Filename width
autoindex_dwidth=Description width
autoindex_dirfirst=Display directories first
autoindex_default2=Default
autoindex_select=Selected below...
autoindex_default3=Default
autoindex_pixels=pixels
autoindex_chars=chars
autoindex_diropt=Directory index options
autoindex_dirhead=Directory index header file
autoindex_default4=Default
autoindex_edirhead=Invalid index header filename
autoindex_dirfoot=Directory index footer file
autoindex_edirfoot=Invalid index footer filename
autoindex_ignore=Files to ignore in directory index
autoindex_eiconurl='$1' is not a valid icon url
autoindex_emiss=Missing $1 for $2
autoindex_emissquot=Missing $1 for '$2'
autoindex_enodesc=No description for file $1
autoindex_enofile=No files for description '$1'
autoindex_eiconsize='$1' is not a valid icon size
autoindex_ewidth='$1' is not a valid width

mod_mime_magic_file=MIME magic numbers file
mod_mime_magic_none=None
mod_mime_magic_efile=Invalid MIME magic numbers filename

mod_env_var=Variable
mod_env_value=Value
mod_env_pass=Pass through
mod_env_clear=Clear
mod_env_set=Set to..
mod_env_cgivar=Environment variables for CGI scripts
mod_env_passall=Pass all environment variables to CGIs
mod_env_default=Default
mod_env_evar='$1' is not a valid variable name
mod_env_evalue='$1' is not a valid variable value

mod_access_order=Access checking order:
mod_access_denyallow=Deny then allow
mod_access_allowdeny=Allow then deny
mod_access_mutual=Mutual failure
mod_access_default=Default
mod_access_action=Action
mod_access_cond=Condition
mod_access_all=All requests
mod_access_host=Request from host...
mod_access_ip=Request from IP..
mod_access_pip=Request from partial IP..
mod_access_mask=Request from net/netmask..
mod_access_cidr=Request from net/CIDR..
mod_access_var=If variable is set..
mod_access_allow=Allow
mod_access_deny=Deny
mod_access_restr=Restrict access
mod_access_eip='$1' is not a valid IP address
mod_access_epip='$1' is not a valid partial IP address
mod_access_emask='$1' is not a valid network/netmask pair
mod_access_ecidr='$1' is not a valid network/CIDR pair
mod_access_evar='$1' is not a valid variable name

mod_auth_ufile=User text file
mod_auth_uedit=Edit users
mod_auth_gfile=Group text file
mod_auth_gedit=Edit groups
mod_auth_pass=Pass failures to next module?
mod_auth_auth=Text file authentication
mod_auth_eudir=User text file is not under the allowed directory
mod_auth_egdir=Group text file is not under the allowed directory
mod_auth_eufile=Invalid user text file name
mod_auth_egfile=Invalid group text file name

mod_auth_dbm_ufile=User DBM file
mod_auth_dbm_gfile=Group DBM file
mod_auth_dbm_pass=Pass failures to next module?
mod_auth_dbm_auth=DBM file authentication
mod_auth_dbm_eufile=Invalid user DBM file name
mod_auth_dbm_egfile=Invalid group DBM file name

mod_cern_meta_process=Process header metafiles
mod_cern_meta_dir=Subdirectory for header metafiles
mod_cern_meta_default=Default
mod_cern_meta_edir=Invalid metafile subdirectory name
mod_cern_meta_suffix=File suffix for header metafiles
mod_cern_meta_default2=Default
mod_cern_meta_esuffix=Invalid metafile suffix

mod_ssl_enable=Enable SSL?
mod_ssl_proto=SSL protocols
mod_ssl_cfile=Certificate/private key file
mod_ssl_default=Default
mod_ssl_ecfile=Missing certificate/private key file
mod_ssl_kfile=Private key file
mod_ssl_ekfile=Missing private key file
mod_ssl_clcert=Client SSL certificate
mod_ssl_nreq=Not required
mod_ssl_opt=Optional
mod_ssl_req=Required
mod_ssl_optca=Optional no CA
mod_ssl_cdepth=Client certificate depth
mod_ssl_ecdepth=Certificate depth must be an integer
mod_ssl_log=SSL log file
mod_ssl_elog=Missing SSL log file
mod_ssl_onlyssl=Allow SSL access only

log_global=Changed global $1 options
log_virtc=Created server $1
log_virts=Reconfigured server $1
log_virtd=Deleted server $1
log_virtm=Manually edited server $1
log_virt=Changed $1 in server $2
log_dirc=Created directory $1
log_dirc_l=Created directory $1 in server $2
log_dirs=Changed directory $1
log_dirs_l=Changed directory $1 in server $2
log_dird=Deleted directory $1
log_dird_l=Deleted directory $1 in server $2
log_dirm=Manually edited directory $1
log_dirm_l=Manually edited directory $1 in server $2
log_dir=Changed $1 in directory $2
log_dir_l=Changed $1 in directory $2 in server $3
log_htaccessc=Created options file $1
log_htaccessd=Deleted options file $1
log_htaccessm=Manually edited options file $1
log_htaccess=Changed $1 in options file $2
log_filesc=Created file options for $1
log_filesc_l=Created file options for $1 in file $2
log_filess=Changed file options for $1
log_filess_l=Changed file options for $1 in file $2
log_filesd=Deleted file options for $1
log_filesd_l=Deleted file options for $1 in file $2
log_filesm=Manually edited file options for $1
log_filesm_l=Manually edited file options for $1 in file $2
log_files=Changed $1 in file options for $2
log_files_l=Changed $1 in file options for $2 in file $3
log_mime_modify=Modified MIME type $1
log_mime_create=Added MIME type $1
log_defines=Changed defined parameters
log_reconfig=Reconfigured known modules
log_start=Started webserver
log_stop=Stopped webserver
log_apply=Applied changes

search_title=Find Servers
search_notfound=No matching virtual servers found

mod_php_value=PHP Configuration Values
mod_php_flag=PHP Configuration Flags
mod_php_name_header=Setting
mod_php_value_header=Value
mod_php_ename='$1' is an invalid name
mod_php_evalue='$1' is an invalid value for $2

mod_vhost_alias_root=Automatic virtual host root
mod_vhost_alias_ip=Use IP address instead of hostname?
mod_vhost_alias_none=None
mod_vhost_alias_script=Automatic virtual host cgi-bin
mod_vhost_alias_eroot=Missing or invalid virtual host root
mod_vhost_alias_escript=Missing or invalid virtual host cgi-bin

   070701000270a1000081a40000000000000002000000013d1fe2d100007f75000000200000000000000000000000000000001c00000003reloc/apache/lang/ja_JP.euc   index_title=Apache Web¥µ¡¼¥Ð
index_eroot=Apache¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê $1 ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Apache¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤è¤¦¤Ë<a href='$2'>¥â¥¸¥å¡¼¥ë¤ÎÀßÄê</a>¤òÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£
index_eserver=Apache¥µ¡¼¥Ð¤Î¼Â¹Ô²ÄÇ½¥Õ¥¡¥¤¥ë $1 ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Apache¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤è¤¦¤Ë<a href='$2'>¥â¥¸¥å¡¼¥ë¤ÎÀßÄê</a>¤òÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£
index_econf=Apache¤ÎÀßÄê¥Õ¥¡¥¤¥ë $1 ¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Apache¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤è¤¦¤Ë<a href='$2'>¥â¥¸¥å¡¼¥ë¤ÎÀßÄê</a>¤òÄ´À°¤·¤Æ¤¯¤À¤µ¤¤¡£
index_eports=Apache¤ÎÀßÄê¤Ë¡¢Ê£¿ô¤Î $1 ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎWebmin¤Ï¡¢¤³¤ÎÀßÄê¤òÀµ¤·¤¯½èÍý¤Ç¤­¤Þ¤»¤ó¡£
index_global=¥°¥í¡¼¥Ð¥ë¤ÊÀßÄê
index_virts=²¾ÁÛ¥µ¡¼¥Ð
index_defserv=¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð
index_defdesc1=Â¾¤Î¤¹¤Ù¤Æ¤Î²¾ÁÛ¥µ¡¼¥Ð¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤òÄêµÁ¤·¡¢½èÍý¤µ¤ì¤Ê¤«¤Ã¤¿Í×µá¤ò¤¹¤Ù¤Æ½èÍý¤·¤Þ¤¹¡£
index_any=Ç¤°Õ
index_default=¥Ç¥Õ¥©¥ë¥È
index_auto=¼«Æ°
index_virt=²¾ÁÛ¥µ¡¼¥Ð
index_vname=Ì¾Á°¤Ç»ØÄê¤µ¤ì¤¿¥µ¡¼¥Ð $1 ¤ò¥¢¥É¥ì¥¹ $2 ¤Ç½èÍý¤·¤Þ¤¹¡£
index_vdef=Â¾¤Î²¾ÁÛ¥µ¡¼¥Ð¤¬½èÍý¤·¤Ê¤¤Í×µá¤ò¤¹¤Ù¤Æ½èÍý¤·¤Þ¤¹¡£
index_defdesc2=Â¾¤Î¤¹¤Ù¤Æ¤Î²¾ÁÛ¥µ¡¼¥Ð¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤òÄêµÁ¤·¤Þ¤¹¡£
index_vport=Â¾¤Î²¾ÁÛ¥µ¡¼¥Ð¤¬½èÍý¤·¤Ê¤¤¥Ý¡¼¥È$1¤ÎÍ×µá¤ò¤¹¤Ù¤Æ½èÍý¤·¤Þ¤¹¡£
index_vaddr=¥¢¥É¥ì¥¹$1¤ËÂÐ¤¹¤ëÍ×µá¤ò¤¹¤Ù¤Æ½èÍý¤·¤Þ¤¹¡£
index_vaddrport=¥Ý¡¼¥È$2¤Ë¤ª¤±¤ë¥¢¥É¥ì¥¹$1¤ËÂÐ¤¹¤ëÍ×µá¤ò¤¹¤Ù¤Æ½èÍý¤·¤Þ¤¹¡£
index_type=¥¿¥¤¥×
index_addr=¥¢¥É¥ì¥¹
index_nv=(É¬Í×¤Ê¾ì¹ç)Ì¾Á°¤Ç»ØÄê¤¹¤ë²¾ÁÛ¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤òÄÉ²Ã¤¹¤ë
index_port=¥Ý¡¼¥È
index_name=¥µ¡¼¥ÐÌ¾
index_root=¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È
index_create=¿·¤·¤¤²¾ÁÛ¥µ¡¼¥Ð¤ÎºîÀ®
index_return=¥µ¡¼¥Ð°ìÍ÷
index_toomany=¥·¥¹¥Æ¥à¤Ë²¾ÁÛ¥µ¡¼¥Ð¤¬Â¿¿ô¤¢¤ë¤¿¤á1¥Ú¡¼¥¸¤òÉ½¼¨¤Ç¤­¤Þ¤»¤ó¡£
index_find=¥µ¡¼¥Ð¤Î¸¡º÷
index_equals=Åù¤·¤¤
index_matches=°ìÃ×
index_nequals=Åù¤·¤¯¤Ê¤¤
index_nmatches=°ìÃ×¤·¤Ê¤¤

cvirt_ecannot=²¾ÁÛ¥µ¡¼¥Ð¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
cvirt_err=²¾ÁÛ¥µ¡¼¥Ð¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cvirt_eaddr1=¥¢¥É¥ì¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
cvirt_eaddr2='$1'¤ÏÍ­¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
cvirt_eport='$1'¤ÏÍ­¸ú¤Ê¥Ý¡¼¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
cvirt_ename='$1'¤ÏÍ­¸ú¤Ê¥µ¡¼¥ÐÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
cvirt_eroot1=¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¤òÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤
cvirt_eroot2=¥Ç¥£¥ì¥¯¥È¥ê'$1'¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $2
cvirt_etaken=Æ±¤¸Ì¾Á°¤ª¤è¤Ó¥Ý¡¼¥È¤ò»ý¤Ä²¾ÁÛ¥µ¡¼¥Ð¤¬¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹

etype=¤³¤Î¥¿¥¤¥×¤Î¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
efailed=$1¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
apache_apply=ÊÑ¹¹¤òÅ¬ÍÑ
apache_stop=Apache¤òÄä»ß
apache_start=Apache¤òµ¯Æ°
auth_return=¥¢¥¯¥»¥¹À©¸æ
default_serv=¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð
bytes=¥Ð¥¤¥È

global_ecannot=¥°¥í¡¼¥Ð¥ë¤Ê¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó¡£
global_mime=¥°¥í¡¼¥Ð¥ë¤ÊMIME¥¿¥¤¥×°ìÍ÷
global_mimedesc=²¼µ­¤ÎMIME¥¿¥¤¥×°ìÍ÷¤ÎÃæ¤ÇMIME¥¿¥¤¥×¤ò¥¯¥ê¥Ã¥¯¤·¤ÆÊÔ½¸¤¹¤ë¤«¡¢¥Ú¡¼¥¸¤Î²¼Éô¤Î¥ê¥ó¥¯¤ò»È¤Ã¤Æ°ìÍ÷¤Ë¿·¤·¤¤MIME¥¿¥¤¥×¤òÄÉ²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
global_type=¥¿¥¤¥×
global_ext=³ÈÄ¥»Ò
global_add=¿·¤·¤¤MIME¥¿¥¤¥×¤òÄÉ²Ã
global_return=MIME¥¿¥¤¥×

mime_ecannot=MIME¥¿¥¤¥×¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó¡£
mime_edit=MIME¥¿¥¤¥×¤ÎÊÔ½¸
mime_add=MIME¥¿¥¤¥×¤ÎÄÉ²Ã
mime_header=¥Õ¥¡¥¤¥ëÌ¾³ÈÄ¥»Ò¤«¤éMIME¥¿¥¤¥×¤Ø¤Î³ä¤êÅö¤Æ
mime_type=MIME¥¿¥¤¥×
mime_ext=³ÈÄ¥»Ò
mime_err=MIME¥¿¥¤¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
mime_etype='$1'¤ÏÍ­¸ú¤ÊMIME¥¿¥¤¥×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

virt_ecannot=¤³¤Î²¾ÁÛ¥µ¡¼¥Ð¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
virt_title=²¾ÁÛ¥µ¡¼¥Ð¤Î¥ª¥×¥·¥ç¥ó
virt_header=$1¤Ë¤Ä¤¤¤Æ
virt_opts=²¾ÁÛ¥µ¡¼¥Ð¤Î¥ª¥×¥·¥ç¥ó
virt_conf=¥µ¡¼¥Ð¤ÎÀßÄê
virt_show=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÉ½¼¨
virt_edit=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÊÔ½¸
virt_adddir=¥Ç¥£¥ì¥¯¥È¥ê/¥Õ¥¡¥¤¥ë/¥í¥±¡¼¥·¥ç¥óËè¤Î¥ª¥×¥·¥ç¥ó¤ÎºîÀ®
virt_type=¥¿¥¤¥×
virt_Directory=¥Ç¥£¥ì¥¯¥È¥ê
virt_Files=¥Õ¥¡¥¤¥ë
virt_Location=¾ì½ê
virt_exact=Àµ³Î¤Ë°ìÃ×
virt_re=Àµµ¬É½¸½¤Ç°ìÃ×
virt_regexp=Àµµ¬É½¸½
virt_path=¥Ñ¥¹
virt_return=¥µ¡¼¥Ð¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹
virt_euser=¤¢¤Ê¤¿¤Ï¤³¤Î²¾ÁÛ¥µ¡¼¥Ð¤Î¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤òÊÑ¹¹¤¹¤ëµö²Ä¤òÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£
virt_header2=$2¤Î$1

vserv_title=²¾ÁÛ¥µ¡¼¥Ð¤ÎÀßÄê
vserv_ecannot=¤³¤Î²¾ÁÛ¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
vserv_addr=¥¢¥É¥ì¥¹
vserv_addrs=¥¢¥É¥ì¥¹
vserv_port=¥Ý¡¼¥È
vserv_any=Ç¤°Õ
vserv_default=¥Ç¥Õ¥©¥ë¥È
vserv_root=¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È
vserv_name=¥µ¡¼¥ÐÌ¾
vserv_delete=²¾ÁÛ¥µ¡¼¥Ð¤Îºï½ü
vserv_err=²¾ÁÛ¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
vserv_eaddr1=¥¢¥É¥ì¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
vserv_eaddr2='$1'¤ÏÍ­¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
vserv_eport='$1'¤ÏÍ­¸ú¤Ê¥Ý¡¼¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
vserv_eroot='$1'¤ÏÍ­¸ú¤Ê¥É¥­¥å¥á¥ó¥È¥ë¡¼¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
vserv_ename='$1'¤ÏÍ­¸ú¤Ê¥µ¡¼¥ÐÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
vserv_eaddrs=²¾ÁÛ¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

show_title=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö
show_edit=Apache¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÊÔ½¸:
show_these=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò¼êÆ°¤ÇÊÔ½¸
show_ok=ÊÔ½¸

manual_title=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÊÔ½¸
manual_header=¤³¤Î²¾ÁÛ¥µ¡¼¥Ð¡¢¥Ç¥£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤ËÅ¬ÍÑ¤¹¤ë$1¤ÎApache¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò¼êÆ°¤ÇÊÔ½¸¤¹¤ë¤Ë¤Ï¡¢²¼¤Î¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
manual_ecannot=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò¼êÆ°¤ÇÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó¡£

dir_title=¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó
dir_header=$2¤Î$1¤Ë¤Ä¤¤¤Æ
dir_show=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÉ½¼¨
dir_edit=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÊÔ½¸
dir_opts=¥ª¥×¥·¥ç¥ó¤ÎÅ¬ÍÑÂÐ¾Ý ..
dir_Directory=¥Ç¥£¥ì¥¯¥È¥ê
dir_Files=¥Õ¥¡¥¤¥ë
dir_Location=¾ì½ê
dir_type=¥¿¥¤¥×
dir_regexp=Àµµ¬É½¸½
dir_exact=Àµ³Î¤Ë°ìÃ×
dir_re=Àµµ¬É½¸½¤Ç°ìÃ×
dir_path=¥Ñ¥¹
dir_return=¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹
dir_header2=$2¤Î$1

type_0=¥×¥í¥»¥¹¤ÈÀ©¸Â
type_1=¥Í¥Ã¥È¥ï¡¼¥¯¤È¥¢¥É¥ì¥¹
type_2=Apache¥â¥¸¥å¡¼¥ë
type_3=¥í¥°¥Õ¥¡¥¤¥ë
type_4=¥¢¥¯¥»¥¹À©¸æ
type_5=¥É¥­¥å¥á¥ó¥È¤Î¥ª¥×¥·¥ç¥ó
type_6=MIME¥¿¥¤¥×
type_7=¥¨¥é¡¼½èÍý
type_8=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×
type_9=¤½¤ÎÂ¾
type_10=¥¨¥¤¥ê¥¢¥¹¤È¥ê¥À¥¤¥ì¥¯¥È
type_11=CGI¥×¥í¥°¥é¥à
type_12=¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹
type_13=¥×¥í¥­¥·
type_14=SSL¤Î¥ª¥×¥·¥ç¥ó
type_15=Perl
type_16=PHP

htaccess_title=¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë
htaccess_ecannot=htaccess¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
htaccess_desc=¥Ç¥£¥ì¥¯¥È¥êËè¤ÎÄÉ²Ã¥ª¥×¥·¥ç¥ó¤Ï³Æ¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë(ÄÌ¾ï¤Ï<tt>.htaccess</tt>¤È¸Æ¤Ð¤ì¤ë)¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£ÊÌ¤Î¥Õ¥¡¥¤¥ë¤¬Í¥Àè¤µ¤ì¤ë¾ì¹ç¤ò½ü¤¤¤Æ¡¢¥ª¥×¥·¥ç¥ó¤Ï¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÅ¬ÍÑ¤µ¤ì¤Þ¤¹¡£
htaccess_create=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤ÎºîÀ®
htaccess_find=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Î¸¡º÷
htaccess_auto=¼«Æ°
htaccess_from=¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê
htaccess_return=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Î°ìÍ÷
htaccess_edir='$1'¤ÏÍ­¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
htaccess_ecreate=¤³¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
htaccess_edelete=¤³¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó

htindex_ecannot=¤³¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
htindex_title=¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë
htindex_delete=¥Õ¥¡¥¤¥ë¤Îºï½ü
htindex_show=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÉ½¼¨
htindex_edit=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÊÔ½¸
htindex_opts=¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó
htindex_file=¥Õ¥¡¥¤¥ëËè¤ÎÀßÄê
htindex_create=¥Õ¥¡¥¤¥ëËè¤Î¥ª¥×¥·¥ç¥ó¤òºîÀ®
htindex_regexp=Àµµ¬É½¸½
htindex_exact=Àµ³Î¤Ë°ìÃ×
htindex_re=Àµµ¬É½¸½¤Ç°ìÃ×
htindex_path=¥Ñ¥¹
htindex_header=$1¤Ë¤Ä¤¤¤Æ
htindex_header2=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë$2¤Î$1
htindex_return=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹

htfile_title=¥Õ¥¡¥¤¥ëËè¤Î¥ª¥×¥·¥ç¥ó
htfile_header=$2¤Î$1¤Ë¤Ä¤¤¤Æ
htfile_show=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÉ½¼¨
htfile_edit=¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÊÔ½¸
htfile_apply=¥ª¥×¥·¥ç¥ó¤ÎÅ¬ÍÑÂÐ¾Ý ..
htfile_header2=$2¤Î$1

reconfig_title=´ûÃÎ¥â¥¸¥å¡¼¥ë¤ÎºÆÀßÄê
reconfig_ecannot=Apache¤òºÆÀßÄê¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
reconfig_ever=Apache¥µ¡¼¥Ð¤Î¼Â¹Ô²ÄÇ½¥Õ¥¡¥¤¥ë$1¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£<a href='$2'>¥â¥¸¥å¡¼¥ë¤ÎÀßÄê</a>¤Î¥Ñ¥¹¤ÎÀßÄê¤¬Àµ¤·¤¤¤«³ÎÇ§¤·¤Æ¤¯¤À¤µ¤¤¡£
reconfig_desc1=¤´»ÈÍÑ¤ÎApache¤ÎÀßÄê¤ÏÊÑ¹¹¤µ¤ì¤Æ¤¤¤ë¤«¡¢Webmin¤Ë¤è¤ë¸¡ºº¤¬¤Þ¤À¹Ô¤ï¤ì¤Æ¤¤¤Þ¤»¤ó¡£Webmin¤¬¥µ¥Ý¡¼¥È¤¹¤ë¤¹¤Ù¤Æ¤ÎApache¥â¥¸¥å¡¼¥ë¤Î°ìÍ÷¤ò²¼µ­¤Ë¼¨¤·¤Þ¤¹¡£¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥â¥¸¥å¡¼¥ë¤ÏÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤Î°ìÍ÷¤¬Àµ¤·¤¯¤Ê¤±¤ì¤Ð¡¢¥â¥¸¥å¡¼¥ë¤òÁªÂò¤Þ¤¿¤Ï²ò½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
reconfig_desc2=Webmin¤¬¥µ¥Ý¡¼¥È¤¹¤ë¤¹¤Ù¤Æ¤ÎApache¥â¥¸¥å¡¼¥ë¤Î°ìÍ÷¤ò²¼µ­¤Ë¼¨¤·¤Þ¤¹¡£¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥â¥¸¥å¡¼¥ë¤ÏÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£Æ°Åª¥í¡¼¥É¥â¥¸¥å¡¼¥ë¤ò»ÈÍÑ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Æ°Åª¤Ë¥í¡¼¥É¤µ¤ì¤ë¥â¥¸¥å¡¼¥ë¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
reconfig_desc3=¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¾å¤ÇApache¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥â¥¸¥å¡¼¥ë¤¬Ê¬¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢Webmin¤È¤·¤ÆÀßÄê¤¹¤ë¤È¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥â¥¸¥å¡¼¥ë¤¬¼«Æ°Åª¤ËÄÌ¾ï¤ÎÆ°ºî¤ò¤·¤Þ¤¹¡£
reconfig_ok=ÀßÄê

defines_title=ÄêµÁºÑ¤ß¥Ñ¥é¥á¡¼¥¿¤ÎÊÔ½¸
defines_ecannot=httpd¤Î¥Ñ¥é¥á¡¼¥¿ÄêµÁ¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
defines_desc=Apache¤Îµ¯Æ°»þ¤Ë¡¢<tt>-D</tt>¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ¤·¤Æ¥Ñ¥é¥á¡¼¥¿¤òÅÏ¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Ñ¥é¥á¡¼¥¿¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤É¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬»ÈÍÑ¤µ¤ì¤ë¤«¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤¿¤á¡¢Webmin¤Ï¡¢Apache¤Îµ¯Æ°»þ¤Ë¤É¤Î¤è¤¦¤Ê¥Ñ¥é¥á¡¼¥¿¤¬ÅÏ¤µ¤ì¤ë¤«¤òÃÎ¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ç»ÈÍÑ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥é¥á¡¼¥¿¤ò±¦Â¦¤Î¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤ËÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£
defines_config=°Ê²¼¤ÎÄêµÁºÑ¤ß¥Ñ¥é¥á¡¼¥¿¤Ë¤Ä¤¤¤Æ¤Ï¤¹¤Ç¤Ë´ØÃÎ¤·¤Æ¤¤¤Þ¤¹ : $1

authu_ecannot='$1'¤Ï¥¢¥¯¥»¥¹²ÄÇ½¥æ¡¼¥¶¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
authu_title=¥æ¡¼¥¶°ìÍ÷
authu_header=¥Õ¥¡¥¤¥ë$1¤Ë¤ª¤¤¤Æ
authu_header2=¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë$1¤Ç»ØÄê¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶
authu_none=¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë$1¤Ë¤Ï¥æ¡¼¥¶¤Ï»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
authu_add=¿·¤·¤¤¥æ¡¼¥¶¤ÎÄÉ²Ã
authu_return=¥æ¡¼¥¶°ìÍ÷
authu_edit=¥æ¡¼¥¶¤ÎÊÔ½¸
authu_create=¥æ¡¼¥¶¤ÎºîÀ®
authu_user=¥æ¡¼¥¶Ì¾
authu_pass=¥Ñ¥¹¥ï¡¼¥É
authu_enc=°Å¹æ²½..
authu_plain=¥×¥ì¡¼¥ó¥Æ¥­¥¹¥È..
authu_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
authu_euser=¥æ¡¼¥¶Ì¾¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
authu_euser2=¥æ¡¼¥¶Ì¾¤Ë¤Ï¼¡¤Î¤è¤¦¤ÊÊ¸»ú¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó :
authu_edup=¥æ¡¼¥¶'$1'¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
authu_sync=<tt>¥æ¡¼¥¶¤È¥°¥ë¡¼¥×</tt>¥â¥¸¥å¡¼¥ë¤Ç¥æ¡¼¥¶¤òÄÉ²Ã/½¤Àµ/ºï½ü¤·¤¿¤È¤­¤ËWebmin¤¬¤³¤Î¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶¤ò¼«Æ°Åª¤ËÄÉ²Ã/¹¹¿·/ºï½ü¤¹¤ë¤è¤¦¤ËÀßÄê¤¹¤ë¤Ë¤Ï¡¢²¼µ­¤Î¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹¡£
authu_screate=Unix¤Î¥æ¡¼¥¶¤¬ÄÉ²Ã¤µ¤ì¤¿¤È¤­¤Ë¥æ¡¼¥¶¤òÄÉ²Ã
authu_sdelete=Unix¤Î¥æ¡¼¥¶¤¬ºï½ü¤µ¤ì¤¿¤È¤­¤Ë¥æ¡¼¥¶¤òºï½ü
authu_smodify=Unix¤Î¥æ¡¼¥¶¤¬ÊÑ¹¹¤µ¤ì¤¿¤È¤­¤Ë¥æ¡¼¥¶¤òÊÑ¹¹

authg_ecannot='$1'¤Ï¥¢¥¯¥»¥¹²ÄÇ½¥°¥ë¡¼¥×¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
authg_title=¥°¥ë¡¼¥×°ìÍ÷
authg_header=¥Õ¥¡¥¤¥ë$1¤Ë¤ª¤¤¤Æ
authg_header2=¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë$1¤Ç»ØÄê¤µ¤ì¤Æ¤¤¤ë¥°¥ë¡¼¥×
authg_none=¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë$1¤Ë¤Ï¥°¥ë¡¼¥×¤Ï»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
authg_add=¿·¤·¤¤¥°¥ë¡¼¥×¤ÎÄÉ²Ã
authg_return=¥°¥ë¡¼¥×°ìÍ÷
authg_edit=¥°¥ë¡¼¥×¤ÎÊÔ½¸
authg_create=¥°¥ë¡¼¥×¤ÎºîÀ®
authg_group=¥°¥ë¡¼¥×Ì¾
authg_mems=¥á¥ó¥Ð¡¼
authg_dont=ÊÑ¹¹¤·¤Ê¤¤
authg_set=ÀßÄê..
authg_err=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
authg_euser=¥°¥ë¡¼¥×Ì¾¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
authg_euser2=¥°¥ë¡¼¥×Ì¾¤Ë¤Ï¼¡¤Î¤è¤¦¤ÊÊ¸»ú¤Ï»È¤¨¤Þ¤»¤ó :
authg_edup=¥°¥ë¡¼¥×'$1'¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹

stop_err=Apache¤òÄä»ß¤Ç¤­¤Þ¤»¤ó
stop_ecannot=Apache¤òÄä»ß¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
stop_epid=PID¥Õ¥¡¥¤¥ë$1¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
stop_epid2=Ìµ¸ú¤ÊPID¥Õ¥¡¥¤¥ë$1¤Ç¤¹
stop_esig=¥×¥í¥»¥¹$1¤ËSIGTERM¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

start_err=Apache¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
start_ecannot=Apache¤òµ¯Æ°¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
start_ecmd=$1 ¤Ï¼ºÇÔ¤·¤Þ¤·¤¿ : $2
start_eunknown=¸¶°ø¤ÏÉÔÌÀ¤Ç¤¹

restart_err=ÊÑ¹¹¤òÅ¬ÍÑ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
restart_epid=PID¥Õ¥¡¥¤¥ë$1¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿
restart_epid2=Ìµ¸ú¤ÊPID¥Õ¥¡¥¤¥ë$1¤Ç¤¹
restart_esig=¥×¥í¥»¥¹$1¤ËSIGHUP¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
restart_eunknown=¸¶°ø¤ÏÉÔÌÀ¤Ç¤¹

acl_virts=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë²¾ÁÛ¥µ¡¼¥Ð
acl_vall=¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð
acl_vsel=ÁªÂòºÑ¤ß..
acl_defserv=¥Ç¥Õ¥©¥ë¥È¤Î¥µ¡¼¥Ð
acl_global=¥°¥í¡¼¥Ð¥ë¤Ê¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤¹¤«?
acl_htaccess=.htaccess¤Î¤ß
acl_create=²¾ÁÛ¥µ¡¼¥Ð¤òºîÀ®¤Ç¤­¤Þ¤¹¤«?
acl_vuser=²¾ÁÛ¥µ¡¼¥Ð¤Î¥æ¡¼¥¶¤òÊÑ¹¹¤Ç¤­¤Þ¤¹¤«?
acl_vaddr=²¾ÁÛ¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹¤òÊÑ¹¹¤Ç¤­¤Þ¤¹¤«?
acl_pipe=¥í¥°¤ò¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤Ç¤­¤Þ¤¹¤«?
acl_stop=Apache¤òµ¯Æ°/Ää»ß¤Ç¤­¤Þ¤¹¤«?
acl_dir=¥Õ¥¡¥¤¥ë¤òÀ©¸Â¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê
acl_types=ÍøÍÑ²ÄÇ½¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Î¥¿¥¤¥×
acl_all=¤¹¤Ù¤Æ
acl_sel=ÁªÂòºÑ¤ß..

core_maxconc=ºÇÂçÆ±»þÍ×µá¿ô
core_maxkeep=ÀÜÂ³Ëè¤ÎºÇÂç¥­¡¼¥×¥¢¥é¥¤¥Ö¿ô
core_maxreq=¥µ¡¼¥Ð¥×¥í¥»¥¹Ëè¤ÎºÇÂçÍ×µá¿ô
core_minspare=Í½È÷¥µ¡¼¥Ð¥×¥í¥»¥¹¤ÎºÇ¾®¿ô
core_maxspare=Í½È÷¥µ¡¼¥Ð¥×¥í¥»¥¹¤ÎºÇÂç¿ô
core_initial=½é´ü¥µ¡¼¥Ð¥×¥í¥»¥¹¿ô
core_emaxconc=ºÇÂçÆ±»þÍ×µá¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_emaxkeep=ÀÜÂ³Ëè¤ÎºÇÂç¥­¡¼¥×¥¢¥é¥¤¥Ö¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_emaxreq=¥µ¡¼¥Ð¥×¥í¥»¥¹Ëè¤ÎºÇÂçÍ×µá¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_eminspare=Í½È÷¥µ¡¼¥Ð¥×¥í¥»¥¹¤ÎºÇ¾®¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_emaxspare=Í½È÷¥µ¡¼¥Ð¥×¥í¥»¥¹¤ÎºÇÂç¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_einitial=½é´ü¥µ¡¼¥Ð¥×¥í¥»¥¹¿ô¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_default=¥Ç¥Õ¥©¥ë¥È
core_cpulimit=CPU¥ê¥½¡¼¥¹¤ÎÀ©¸Â
core_memlimit=¥á¥â¥ê¥ê¥½¡¼¥¹¤ÎÀ©¸Â
core_proclimit=¥×¥í¥»¥¹¤ÎÀ©¸Â
core_cpulimit2=CPU¥ê¥½¡¼¥¹À©¸Â
core_memlimit2=¥á¥â¥ê¥ê¥½¡¼¥¹À©¸Â
core_proclimit2=¥×¥í¥»¥¹À©¸Â
core_slimit=¥½¥Õ¥ÈÀ©¸Â
core_hlimit=¥Ï¡¼¥ÉÀ©¸Â
core_eslimit=$1¤ÏÍ­¸ú¤Ê¥½¥Õ¥È$2¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_ehlimit=$1¤ÏÍ­¸ú¤Ê¥Ï¡¼¥É$2¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_dport=¥Ç¥Õ¥©¥ë¥È¤Î¥Ý¡¼¥È:
core_address=¥¢¥É¥ì¥¹
core_port=¥Ý¡¼¥È
core_listen=ÂÔ¤Á¼õ¤±ÂÐ¾Ý¤Î¥¢¥É¥ì¥¹¤È¥Ý¡¼¥È
core_eaddress='$1'¤ÏÍ­¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_eport='$1'¤ÏÍ­¸ú¤Ê¥Ý¡¼¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_eoneaddr=ÂÔ¤Á¼õ¤±ÂÐ¾Ý¤Î¥¢¥É¥ì¥¹¤ò¾¯¤Ê¤¯¤È¤â1¤Ä»ØÄê¤·¤Æ¤¯¤À¤µ¤¤
core_edefport=Ìµ¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Ý¡¼¥È¤Ç¤¹
core_multi=ÀÜÂ³Ëè¤ÎÊ£¿ôÍ×µá
core_ekeep='$1'¤ÏÍ­¸ú¤Ê¥­¡¼¥×¥¢¥é¥¤¥Ö¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_ltwice=2²ó¸¡º÷¤¹¤ë
core_keeptout=¥­¡¼¥×¥¢¥é¥¤¥Ö¤Î¥¿¥¤¥à¥¢¥¦¥È
core_lqueue=ÂÔ¤Á¼õ¤±¹ÔÎó¤ÎÄ¹¤µ
core_bufsize=TCPÁ÷¿®¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º
core_admin=¥µ¡¼¥Ð´ÉÍý¼Ô¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹
core_rtout=Í×µá¤Î¥¿¥¤¥à¥¢¥¦¥È
core_bhostname=¥Ö¥é¥¦¥¶¤¬¶¡µë¤¹¤ë¥Û¥¹¥ÈÌ¾¤ò»ÈÍÑ
core_lookup=¥Û¥¹¥ÈÌ¾¤Î¸¡º÷
core_useauth=RFC1413¤Ë¤è¤ë¥æ¡¼¥¶¸¡º÷¤ò¹Ô¤¦
core_altnames=²¾ÁÛ¥µ¡¼¥Ð¤ÎÊÌÌ¾
core_hostname=¥µ¡¼¥Ð¤Î¥Û¥¹¥ÈÌ¾
core_virtaddr=Ì¾Á°¤Ë¤è¤ë²¾ÁÛ¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹
core_ekeeptout=¥­¡¼¥×¥¢¥é¥¤¥Ö¤Î¥¿¥¤¥à¥¢¥¦¥È¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_elqueue=ÂÔ¤Á¼õ¤±¹ÔÎó¤ÎÄ¹¤µ¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¤ó
core_ebufsize=TCPÁ÷¿®¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_ertout=Í×µá¤Î¥¿¥¤¥à¥¢¥¦¥È¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_ehostname=¥µ¡¼¥Ð¤Î¥Û¥¹¥ÈÌ¾¤¬Ìµ¸ú¤Ç¤¹
core_osdefault=OS¤Î¥Ç¥Õ¥©¥ë¥È
core_noadmin=¤Ê¤·
core_auto=¼«Æ°
core_ekeep='$1'¤ÏÍ­¸ú¤Ê¥­¡¼¥×¥¢¥é¥¤¥Ö¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_evirtaddr='$1'¤ÏÌ¾Á°¤Ë¤è¤ë²¾ÁÛ¥µ¡¼¥Ð¤ÎÍ­¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_auth=Ç§¾Ú¥ª¥×¥·¥ç¥ó
core_mime=MIME¥¿¥¤¥×¤È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
core_indexing=¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë
core_hostacc=¥Û¥¹¥ÈÌ¾¤Ë¤è¤ë¥¢¥¯¥»¥¹À©¸æ
core_diropts=¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ª¥×¥·¥ç¥ó
core_filesel=²¼µ­¤ÇÁªÂò...
core_execcgi=CGI¥×¥í¥°¥é¥à¤Î¼Â¹Ô
core_flink=¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë
core_inclexe=¥µ¡¼¥Ð¥µ¥¤¥É¥¤¥ó¥¯¥ë¡¼¥É¤È¥µ¡¼¥Ð¥µ¥¤¥É¼Â¹Ô
core_incl=¥µ¡¼¥Ð¥µ¥¤¥É¥¤¥ó¥¯¥ë¡¼¥É
core_genind=¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÀ¸À®
core_genmview=¥Þ¥ë¥Á¥Ó¥å¡¼¤òÀ¸À®
core_flinkmatch=½êÍ­¼Ô¤¬°ìÃ×¤·¤¿¾ì¹ç¤Ë¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë
core_optsel=²¼µ­¤ÇÁªÂò..
core_enable=Í­¸ú
core_disable=Ìµ¸ú
core_optfile=¥Ç¥£¥ì¥¯¥È¥êËè¤Î¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë
core_overr=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤¬Í¥Àè..
core_genmd5=MD5¥À¥¤¥¸¥§¥¹¥È¤òÀ¸À®¤¹¤ë
core_docroot=¥É¥­¥å¥á¥ó¥È¤Î¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê
core_eoptfile=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤Ï1¤Ä¤Î¤ß»ÈÍÑ¤Ç¤­¤Þ¤¹
core_enoopt=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
core_enodoc=¥É¥­¥å¥á¥ó¥È¥ë¡¼¥È'$1'¤ÏÂ¸ºß¤·¤Þ¤»¤ó
core_sigemail=Email¥¢¥É¥ì¥¹
core_signame=¥µ¡¼¥ÐÌ¾
core_signone=¤Ê¤·
core_virtpath=²¾ÁÛ¥µ¡¼¥Ð¤Î¥Ñ¥¹
core_footer=¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Î¥Õ¥Ã¥¿
core_evirtpath=²¾ÁÛ¥µ¡¼¥Ð¤Î¥Ñ¥¹¤Ï/¤Ç»Ï¤Þ¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
core_defmime=¥Ç¥Õ¥©¥ë¥È¤ÎMIME¥¿¥¤¥×
core_edefmime=¥Ç¥Õ¥©¥ë¥È¤ÎMIME¥¿¥¤¥×¤Ïtype/subtype¤Î·Á¼°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
core_realm=Ç§¾ÚÎÎ°è¤ÎÌ¾Á°
core_authtype=Ç§¾Ú¤Î¥¿¥¤¥×
core_authall=¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹À©¸æ
core_authany=Ç¤°Õ¤Î¥¢¥¯¥»¥¹À©¸æ
core_authlog=¥í¥°¥¤¥ó¤Ë¤è¤ë¥¢¥¯¥»¥¹À©¸Â
core_satisfy=¥¯¥é¥¤¥¢¥ó¥È¤Î¾ò·ï
core_salone=¥¹¥¿¥ó¥É¥¢¥í¥ó
core_inetd=inetd¤«¤é¼Â¹Ô
core_verosmod=¥Ð¡¼¥¸¥ç¥ó¡¢OS¡¢¤ª¤è¤Ó¥â¥¸¥å¡¼¥ë
core_veros=¥Ð¡¼¥¸¥ç¥ó¤ÈOS
core_ver=¥Ð¡¼¥¸¥ç¥ó¤Î¤ß
core_coredir=¥³¥¢¥À¥ó¥×ÍÑ¥Ç¥£¥ì¥¯¥È¥ê
core_lockfile=¥µ¡¼¥Ð¥í¥Ã¥¯¥Õ¥¡¥¤¥ë
core_maxbody=Í×µá¤ÎºÇÂç¥Ü¥Ç¥£¥µ¥¤¥º
core_maxhead=Í×µá¤ÎºÇÂç¥Ø¥Ã¥À¿ô
core_maxshead=Í×µá¤ÎºÇÂç¥Ø¥Ã¥À¥µ¥¤¥º
core_maxline=Í×µá¤ÎºÇÂç¹Ô¥µ¥¤¥º
core_pid=¥µ¡¼¥Ð¤ÎPID¥Õ¥¡¥¤¥ë
core_memsco=¶¦Í­¥á¥â¥ê¥¹¥³¥¢¥Ü¡¼¥É¥Õ¥¡¥¤¥ë
core_exec=¥µ¡¼¥Ð¤Î¼Â¹Ô
core_header=¥µ¡¼¥Ð¤ÎHTTP¥Ø¥Ã¥À
core_ecore=Ìµ¸ú¤Ê¥³¥¢¥À¥ó¥×ÍÑ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹
core_elock=Ìµ¸ú¤Ê¥í¥Ã¥¯¥Õ¥¡¥¤¥ë¤Ç¤¹
core_ebody=Ìµ¸ú¤ÊÍ×µá¥Ü¥Ç¥£¥µ¥¤¥º¤Ç¤¹
core_ehead=Ìµ¸ú¤Ê¥Ø¥Ã¥À¿ô¤Ç¤¹
core_eshead=Ìµ¸ú¤Ê¥Ø¥Ã¥À¥µ¥¤¥º¤Ç¤¹
core_eline=Ìµ¸ú¤ÊÍ×µá¹Ô¥µ¥¤¥º¤Ç¤¹
core_epid=Ìµ¸ú¤ÊPID¥Õ¥¡¥¤¥ë¤Ç¤¹
core_escore=Ìµ¸ú¤Ê¥¹¥³¥¢¥Ü¡¼¥É¥Õ¥¡¥¤¥ë¤Ç¤¹
core_sroot=¥µ¡¼¥Ð¤Î¥ë¡¼¥È
core_group=¥°¥ë¡¼¥×Ì¾
core_gid=¥°¥ë¡¼¥×ID
core_user=¥æ¡¼¥¶Ì¾
core_uid=¥æ¡¼¥¶ID
core_asgroup=Unix¥°¥ë¡¼¥×¤È¤·¤Æ¼Â¹Ô
core_asuser=Unix¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
core_euid='$1'¤ÏÍ­¸ú¤Ê¥°¥ë¡¼¥×ID¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_egid='$1'¤ÏÍ­¸ú¤Ê¥æ¡¼¥¶ID¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_tourl=Å¾Á÷ÀèURL..
core_mesg=¥á¥Ã¥»¡¼¥¸¤òÉ½¼¨..
core_error=¥¨¥é¡¼¥³¡¼¥É
core_resp=±þÅú
core_urlmsg=URL¤Þ¤¿¤Ï¥á¥Ã¥»¡¼¥¸
core_custom=¥«¥¹¥¿¥à¤Î¥¨¥é¡¼±þÅú
core_eerror='$1'¤ÏÍ­¸ú¤Ê¥¨¥é¡¼¥³¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_eurl='$1'¤ÏÍ­¸ú¤ÊURL¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
core_syslog=¥·¥¹¥Æ¥à¥í¥°
core_filelog=¥Õ¥¡¥¤¥ë
core_proglog=¥×¥í¥°¥é¥à
core_errfile=¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë
core_logto=¥¨¥é¡¼¥í¥°¤Îµ­Ï¿Àè
core_efilelog=Ìµ¸ú¤Ê¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë¤Ç¤¹
core_edirlog=µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
core_efilemiss=¥¨¥é¡¼¥í¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
core_eprogmiss=¥¨¥é¡¼¥í¥°¥×¥í¥°¥é¥à¤¬¤¢¤ê¤Þ¤»¤ó
core_eperm=¥í¥°¤ò¥×¥í¥°¥é¥à¤Ë¥Ñ¥¤¥×¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
core_allmod=¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë
core_selmod=ÁªÂò¤·¤¿¥â¥¸¥å¡¼¥ë..
core_actmod=¥¢¥¯¥Æ¥£¥Ö¤Ê¥â¥¸¥å¡¼¥ë
core_option=¥ª¥×¥·¥ç¥ó
core_setdir=¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Ø¤·¤ÆÀßÄê
core_merge=¿Æ¤È¥Þ¡¼¥¸
core_users=¤³¤ì¤é¤Î¥æ¡¼¥¶¤Î¤ß
core_groups=¤³¤ì¤é¤Î¥°¥ë¡¼¥×¤Î¤ß
core_allusers=Í­¸ú¤Ê¥æ¡¼¥¶¤¹¤Ù¤Æ
core_none=¤Ê¤·
core_all=¤¹¤Ù¤Æ
core_product=À½ÉÊ¤Î¤ß

mod_negotiation_cache=ÆâÍÆ¤¬¸ò¾ÄºÑ¤ß¤Î¥É¥­¥å¥á¥ó¥È¤ò¥­¥ã¥Ã¥·¥å¤·¤Þ¤¹¤«?
mod_negotiation_pri=¥Þ¥ë¥Á¥Ó¥å¡¼¤Î¾ì¹ç¤Î¸À¸ì¤ÎÍ¥Àè½ç°Ì
mod_negotiation_def=¥Ç¥Õ¥©¥ë¥È
mod_negotiation_epri=¸À¸ì¤ÎÍ¥Àè½ç°Ì¤¬¤¢¤ê¤Þ¤»¤ó

mod_cgi_logname=CGI¥¹¥¯¥ê¥×¥È¤Î¥í¥°
mod_cgi_none=¤Ê¤·
mod_cgi_none=Ìµ¸ú¤ÊCGI¥¹¥¯¥ê¥×¥È¥í¥°¥Õ¥¡¥¤¥ë¤Ç¤¹
mod_cgi_logsize=CGI¥í¥°¤ÎºÇÂç¥µ¥¤¥º
mod_cgi_default=¥Ç¥Õ¥©¥ë¥È
mod_cgi_elogsize=CGI¥í¥°¤Î¥µ¥¤¥º¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
mod_cgi_post=¥í¥°¤Ëµ­Ï¿¤µ¤ì¤ë¥Ý¥¹¥È¥Ç¡¼¥¿¤ÎºÇÂç¥µ¥¤¥º
mod_cgi_epost=¥Ý¥¹¥È¥Ç¡¼¥¿¤Î¥µ¥¤¥º¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
mod_cgi_eunder=µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤ËCGI¥¹¥¯¥ê¥×¥È¥í¥°¤¬¤¢¤ê¤Þ¤»¤ó

mod_alias_from=¸µ
mod_alias_to=Àè
mod_alias_status=¥¹¥Æ¡¼¥¿¥¹
mod_alias_efrom='$1'¤ÏÍ­¸ú¤Ê$2¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_alias_edest='$1'¤ÏÍ­¸ú¤Ê$2¤Î°¸Àè¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_alias_alias=¥É¥­¥å¥á¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¨¥¤¥ê¥¢¥¹
mod_alias_alias2=¥É¥­¥å¥á¥ó¥È¥¨¥¤¥ê¥¢¥¹
mod_alias_regexp=Àµµ¬É½¸½¥É¥­¥å¥á¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¥¨¥¤¥ê¥¢¥¹
mod_alias_regexp2=Àµµ¬É½¸½¥É¥­¥å¥á¥ó¥È¥¨¥¤¥ê¥¢¥¹
mod_alias_redir=URL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_redir2=URL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_rredir=Àµµ¬É½¸½URL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_rredir2=Àµµ¬É½¸½URL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_tredir=°ì»þÅªURL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_tredir2=°ì»þÅªURL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_predir=¹±µ×ÅªURL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_predir2=¹±µ×ÅªURL¥ê¥À¥¤¥ì¥¯¥È
mod_alias_cgi=CGI¥Ç¥£¥ì¥¯¥È¥ê¥¨¥¤¥ê¥¢¥¹
mod_alias_cgi2=CGI¥Ç¥£¥ì¥¯¥È¥ê¥¨¥¤¥ê¥¢¥¹
mod_alias_rcgi=Àµµ¬É½¸½CGI¥Ç¥£¥ì¥¯¥È¥ê¥¨¥¤¥ê¥¢¥¹
mod_alias_rcgi2=Àµµ¬É½¸½CGI¥Ç¥£¥ì¥¯¥È¥ê¥¨¥¤¥ê¥¢¥¹
mod_alias_estatus='$1'¤ÏÍ­¸ú¤Ê¥¹¥Æ¡¼¥¿¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

mod_proxy_proxy=¥×¥í¥­¥·¥µ¡¼¥Ð¤È¤·¤ÆÆ°ºî¤µ¤»¤Þ¤¹¤«?
mod_proxy_req=Í×µá
mod_proxy_forw=Å¾Á÷Àè
mod_proxy_all=¤¹¤Ù¤Æ
mod_proxy_match=°ìÃ×..
mod_proxy_pass=ÊÌ¤Î¥×¥í¥­¥·¤ËÅÏ¤¹Í×µá
mod_proxy_local=¥í¡¼¥«¥ë¤ÎURL¥Ñ¥¹
mod_proxy_remote=¥ê¥â¡¼¥È¤ÎURL
mod_proxy_map=¥í¡¼¥«¥ëURL¤«¤é¥ê¥â¡¼¥ÈURL¤Ø¤Î¥Þ¥Ã¥×
mod_proxy_block=¥É¥á¥¤¥ó¤Ø¤ÎÍ×µá¤ò¥Ö¥í¥Ã¥¯¤¹¤ë
mod_proxy_eblock=¥Ö¥í¥Ã¥¯¤¹¤ë¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mod_proxy_type=¥¿¥¤¥×
mod_proxy_noproxy=¥×¥í¥­¥·¤ÎÂÐ¾Ý³°..
mod_proxy_nopass=ÊÌ¤Î¥×¥í¥­¥·¤ËÍ×µá¤òÅÏ¤µ¤Ê¤¤¾ì¹ç¤Î¾ò·ï
mod_proxy_nodomain=¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Ê¤¤Í×µá¤Ë»ÈÍÑ¤µ¤ì¤ë¥É¥á¥¤¥ó
mod_proxy_none=¤Ê¤·
mod_proxy_enodomain=¥Ç¥Õ¥©¥ë¥È¥É¥á¥¤¥ó¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_connect=CONNECT¤òµö²Ä¤¹¤ë¥Ý¡¼¥È
mod_proxy_default=¥Ç¥Õ¥©¥ë¥È
mod_proxy_econnect=CONNECT¥Ý¡¼¥È¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_dir=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥ê
mod_proxy_edir=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥êÌ¾¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_size=¥­¥ã¥Ã¥·¥å¤Î¥µ¥¤¥º
mod_proxy_esize=¥­¥ã¥Ã¥·¥å¤Î¥µ¥¤¥º¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_garbage=¥­¥ã¥Ã¥·¥å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î´Ö³Ö
mod_proxy_nogc=¤·¤Ê¤¤
mod_proxy_hours=»þ´Ö
mod_proxy_egarbage=¥­¥ã¥Ã¥·¥å¤Î¥¬¥Ù¡¼¥¸¥³¥ì¥¯¥·¥ç¥ó¤Î´Ö³Ö¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_maxexp=¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎºÇÂçÍ­¸ú»þ´Ö
mod_proxy_emaxexp=¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎºÇÂçÍ­¸ú»þ´Ö¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_expfac=¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÍ­¸ú»þ´Ö¤ÎÇÜ¿ô
mod_proxy_eexpfac=¥­¥ã¥Ã¥·¥å¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÍ­¸ú»þ´Ö¤ÎÇÜ¿ô¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_levels=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥ê¤Î³¬ÁØ
mod_proxy_elevels=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥ê¤Î³¬ÁØ¿ô¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_length=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥êÌ¾¤ÎÄ¹¤µ
mod_proxy_elength=¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥êÌ¾¤ÎÄ¹¤µ¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_defexp=¥­¥ã¥Ã¥·¥å¤Î¥Ç¥Õ¥©¥ë¥È¤ÎÍ­¸ú»þ´Ö
mod_proxy_edefexp=¥Ç¥Õ¥©¥ë¥È¤ÎÍ­¸ú»þ´Ö¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_finish=¥Ç¡¼¥¿Å¾Á÷¤ò´°Î»¤µ¤»¤Æ¥­¥ã¥Ã¥·¥å¤·¤Æ¤·¤Þ¤¦¤«¤É¤¦¤«¤Î´ð½à¤È¤Ê¤ë³ä¹ç
mod_proxy_efinish=Å¾Á÷¤Î¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤¬Ìµ¸ú¤Ç¤¹
mod_proxy_nocache=¥­¥ã¥Ã¥·¥å¤·¤Ê¤¤¥É¥á¥¤¥ó
mod_proxy_none2=¤Ê¤·
mod_proxy_none3=¤Ê¤·
mod_proxy_enocache=¥­¥ã¥Ã¥·¥åÂÐ¾Ý¤Î¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mod_proxy_erequest='$1'¤ÏÍ­¸ú¤ÊÍ×µá¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_epurl='$1'¤ÏÍ­¸ú¤Ê¥×¥í¥­¥·URL¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_elurl='$1'¤ÏÍ­¸ú¤Ê¥í¡¼¥«¥ëURL¥Ñ¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_erurl='$1'¤ÏÍ­¸ú¤Ê¥ê¥â¡¼¥ÈURL¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_eip='$1'¤ÏÍ­¸ú¤ÊIP¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_ehost='$1'¤ÏÍ­¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_edomain='$1'¤ÏÍ­¸ú¤Ê¥É¥á¥¤¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_enet='$1'¤ÏÍ­¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_enetbit='$1'¤ÏÍ­¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯/¥Ó¥Ã¥È¿ô¤Î¥Ú¥¢¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_proxy_eunder=µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥­¥ã¥Ã¥·¥å¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¤Þ¤»¤ó
mod_proxy_rurl=¥ê¥â¡¼¥ÈURL
mod_proxy_lurl=¥í¡¼¥«¥ëURL¥Ñ¥¹
mod_proxy_headers=¥ê¥â¡¼¥È¤ÎLocation:¥Ø¥Ã¥À¤«¤é¥í¡¼¥«¥ë¤Ø¤Î³ä¤êÅö¤Æ
mod_proxy_ip=IP¥¢¥É¥ì¥¹
mod_proxy_host=¥Û¥¹¥ÈÌ¾
mod_proxy_domain=¥É¥á¥¤¥ó
mod_proxy_net=IP ¥Í¥Ã¥È¥ï¡¼¥¯
mod_proxy_netbit=¥Í¥Ã¥È¥ï¡¼¥¯/¥Ó¥Ã¥È¿ô

mod_log_agent_default=¥Ç¥Õ¥©¥ë¥È
mod_log_agent_file=¥Õ¥¡¥¤¥ë..
mod_log_agent_program=¥×¥í¥°¥é¥à..
mod_log_agent_log=¥Ö¥é¥¦¥¶¥í¥°¥Õ¥¡¥¤¥ë
mod_log_agent_efile=$1¤ÏÍ­¸ú¤Ê¥¨¡¼¥¸¥§¥ó¥È¥í¥°¥Õ¥¡¥¤¥ëÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

mod_log_config_common=¶¦ÄÌ¥í¥°·Á¼°
mod_log_config_named=ÆÃÄê¤Î¥í¥°·Á¼°
mod_log_config_nick=Ì¾Á°
mod_log_config_format=·Á¼°
mod_log_config_deflog=¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°·Á¼°
mod_log_config_default=¥Ç¥Õ¥©¥ë¥È
mod_log_config_write=½ñ¤­¹þ¤ßÀè
mod_log_config_filprog=¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥×¥í¥°¥é¥à
mod_log_config_file=¥Õ¥¡¥¤¥ë..
mod_log_config_program=¥×¥í¥°¥é¥à..
mod_log_config_log=¥¢¥¯¥»¥¹¥í¥°¥Õ¥¡¥¤¥ë
mod_log_config_enick='$1'¤ÏÍ­¸ú¤ÊÌ¾Á°¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_log_config_eformat=$1¤Î¥í¥°·Á¼°¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mod_log_config_enofilprog=¥í¥°¥Õ¥¡¥¤¥ëÌ¾¤Þ¤¿¤Ï¥í¥°¥×¥í¥°¥é¥à¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mod_log_config_efilprog='$1'¤ÏÍ­¸ú¤Ê¥í¥°¥Õ¥¡¥¤¥ëÌ¾¤Þ¤¿¤Ï¥í¥°¥×¥í¥°¥é¥à¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_log_config_eifset='If set'¥ª¥×¥·¥ç¥ó¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°·Á¼°¤Ë¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó

mod_log_referer_default=¥Ç¥Õ¥©¥ë¥È
mod_log_referer_file=¥Õ¥¡¥¤¥ë..
mod_log_referer_program=¥×¥í¥°¥é¥à..
mod_log_referer_log=»²¾È¸µ¥í¥°¥Õ¥¡¥¤¥ë
mod_log_referer_nolog=»²¾È¸µ¥í¥°¤ÎÂÐ¾Ý³°
mod_log_referer_elog=$1¤ÏÍ­¸ú¤Ê»²¾È¸µ¥í¥°¥Õ¥¡¥¤¥ëÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_log_referer_edir=µö²Ä¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë»²¾È¸µ¥í¥°¤¬¤¢¤ê¤Þ¤»¤ó

mod_status_msg=³ÈÄ¥¥¹¥Æ¡¼¥¿¥¹¾ðÊó¤òÉ½¼¨

mod_mime_ext=³ÈÄ¥»Ò
mod_mime_xtype=ÄÉ²ÃMIME¥¿¥¤¥×
mod_mime_mtype=MIME¥¿¥¤¥×
mod_mime_chandl=¥³¥ó¥Æ¥ó¥È¥Ï¥ó¥É¥é
mod_mime_cencs=¥³¥ó¥Æ¥ó¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
mod_mime_cenc=¥³¥ó¥Æ¥ó¥È¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
mod_mime_clangs=¥³¥ó¥Æ¥ó¥È¤Î¸À¸ì
mod_mime_clang=¥³¥ó¥Æ¥ó¥È¤Î¸À¸ì
mod_mime_defmime=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¤³¤ÎMIME¥¿¥¤¥×¤È¤·¤Æ°·¤¦
mod_mime_real=¼ÂºÝ¤Î¥¿¥¤¥×
mod_mime_etype=Ìµ¸ú¤ÊMIME¥¿¥¤¥×¤Ç¤¹
mod_mime_pass=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¤³¤Î¥Ï¥ó¥É¥é¤ËÅÏ¤¹:
mod_mime_file=MIME¥¿¥¤¥×¥Õ¥¡¥¤¥ë
mod_mime_default=¥Ç¥Õ¥©¥ë¥È
mod_mime_ignhand=³ÈÄ¥»Ò¤´¤È¤Î¥Ï¥ó¥É¥é¤òÌµ»ë¤¹¤ë
mod_mime_none=¤Ê¤·
mod_mime_xchars=ÄÉ²Ã¤ÎÊ¸»ú½¸¹ç
mod_mime_einvalid='$1'¤ÏÍ­¸ú¤Ê$2¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_mime_eext=$1 $2¤Î³ÈÄ¥»Ò¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mod_mime_type=¥¿¥¤¥×
mod_mime_handler=¥Ï¥ó¥É¥é
mod_mime_enc=¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
mod_mime_lang=¸À¸ì
mod_mime_chars=Ê¸»ú½¸¹ç
mod_mime_igntype=MIME¥¿¥¤¥×¤òÌµ»ë¤¹¤ë³ÈÄ¥»Ò
mod_mime_ignenc=¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÌµ»ë¤¹¤ë³ÈÄ¥»Ò

mod_setenvif_header=¥Ø¥Ã¥À
mod_setenvif_match=°ìÃ×
mod_setenvif_case=ÂçÊ¸»ú¤È¾®Ê¸»ú¤ò¶èÊÌ¤·¤Æ°ìÃ×
mod_setenvif_var=ÊÑ¿ô
mod_setenvif_value=ÃÍ
mod_setenvif_txt=Í×µá¤Î¥Ø¥Ã¥À¤Ë´ð¤Å¤¤¤ÆÀßÄê¤µ¤ì¤ëÊÑ¿ô
mod_setenvif_eheader=Í×µá¤Î¥Ø¥Ã¥À'$1'¤ÏÌµ¸ú¤Ç¤¹
mod_setenvif_eregex=Àµµ¬É½¸½'$1'¤ÏÌµ¸ú¤Ç¤¹
mod_setenvif_evar=ÊÑ¿ôÌ¾'$1'¤ÏÌµ¸ú¤Ç¤¹
mod_setenvif_clear=¾Ãµî

mod_userdir_default=¥Ç¥Õ¥©¥ë¥È
mod_userdir_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬¥¢¥¯¥»¥¹²ÄÇ½
mod_userdir_except=»ØÄê¤·¤¿¥æ¡¼¥¶°Ê³°¤¹¤Ù¤Æ
mod_userdir_dir=¥æ¡¼¥¶¤ÎWWW¥Ç¥£¥ì¥¯¥È¥ê

mod_imap_action=¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤¬Àµ¤·¤¯¤Ê¤¤¾ì¹ç¤ÎÆ°ºî
mod_imap_default=¥Ç¥Õ¥©¥ë¥È
mod_imap_godefurl=¥Ç¥Õ¥©¥ë¥ÈURL¤Ë°ÜÆ°
mod_imap_form=À°·Á¤·¤¿¥á¥Ë¥å¡¼¤òÉ½¼¨
mod_imap_semiform=ÉôÊ¬Åª¤ËÀ°·Á¤·¤¿¥á¥Ë¥å¡¼¤òÉ½¼¨
mod_imap_unform=À°·Á¤·¤Æ¤¤¤Ê¤¤¥á¥Ë¥å¡¼¤òÉ½¼¨
mod_imap_disperr=¥µ¡¼¥Ð¥¨¥é¡¼¤òÉ½¼¨
mod_imap_donoth=²¿¤â¤·¤Ê¤¤
mod_imap_goimap=¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤ÎURL¤Ë°ÜÆ°
mod_imap_goref=»²¾È¸µ¤ÎURL¤Ë°ÜÆ°
mod_imap_gourl=URL¤Ë°ÜÆ°...
mod_imap_defact=¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤Î¥Ç¥Õ¥©¥ë¥ÈÆ°ºî
mod_imap_default2=¥Ç¥Õ¥©¥ë¥È
mod_imap_root=¥µ¡¼¥Ð¤Î¥ë¡¼¥È
mod_imap_imapurl=¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤ÎURL
mod_imap_refurl=»²¾È¸µURL
mod_imap_url=URL...
mod_imap_defbase=¥¤¥á¡¼¥¸¥Þ¥Ã¥×¤Î¥Ç¥Õ¥©¥ë¥È¥Ù¡¼¥¹
mod_imap_eurl='$1'¤ÏÍ­¸ú¤ÊURL¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

mod_speling_autocorr=¥¹¥Ú¥ë¤¬´Ö°ã¤Ã¤Æ¤¤¤ëURL¤ò¼«Æ°Åª¤Ë½¤Àµ¤·¤Þ¤¹¤«?
mod_speling_default=¥Ç¥Õ¥©¥ë¥È

mod_actions_mime=¥Ï¥ó¥É¥é / MIME¥¿¥¤¥×
mod_actions_cgiurl=CGI¥¹¥¯¥ê¥×¥È¤ÎURL
mod_actions_mimecgi=¥Ï¥ó¥É¥é¤Þ¤¿¤ÏMIME¥¿¥¤¥×¤ËÂÐ¤¹¤ëCGIÆ°ºî
mod_actions_http=HTTP¥á¥½¥Ã¥É
mod_actions_cgi=CGI¥¹¥¯¥ê¥×¥È
mod_actions_httpcgi=HTTP¥á¥½¥Ã¥É¤ËÂÐ¤¹¤ëCGIÆ°ºî
mod_actions_emime='$1'¤ÏÍ­¸ú¤Ê¥Ï¥ó¥É¥é¤Þ¤¿¤ÏMIME¥¿¥¤¥×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_actions_ecgi='$1'¤ÏÍ­¸ú¤ÊCGI¥¹¥¯¥ê¥×¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_actions_enometh=CGI¥¹¥¯¥ê¥×¥È'$1'¤Î¥á¥½¥Ã¥É¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

mod_include_incl=¼Â¹Ô²ÄÇ½¥Ó¥Ã¥È¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤ËÂÐ¤¹¤ë¥¤¥ó¥¯¥ë¡¼¥É¤ò½èÍý¤·¤Þ¤¹¤«¡©
mod_include_set=¤Ï¤¤(ºÇ½ª¹¹¿·Æü»þ¤âÀßÄê¤¹¤ë)
mod_include_default=¥Ç¥Õ¥©¥ë¥È

mod_dir_txt=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¥Õ¥¡¥¤¥ë

mod_autoindex_default=¥Ç¥Õ¥©¥ë¥È
mod_autoindex_asc=¾º½ç
mod_autoindex_desc=¹ß½ç
mod_autoindex_name=Ì¾Á°½ç
mod_autoindex_date=ÆüÉÕ½ç
mod_autoindex_size=¥µ¥¤¥º½ç
mod_autoindex_desc=ÀâÌÀ½ç
mod_autoindex_sort=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÊÂ¤Ó½ç

browsermatch_regexp=¥Ö¥é¥¦¥¶Ì¾¤ÎÀµµ¬É½¸½
browsermatch_case=ÂçÊ¸»ú¤È¾®Ê¸»ú¤Î¶èÊÌ
browsermatch_var=ÀßÄê¤¹¤ëÊÑ¿ô
browsermatch_value=ÃÍ
browsermatch_txt=¥Ö¥é¥¦¥¶¤Î¥¿¥¤¥×¤Ë´ð¤Å¤¤¤ÆÀßÄê¤µ¤ì¤ëÊÑ¿ô
browsermatch_evar='$1'¤ÏÌµ¸ú¤ÊÊÑ¿ôÌ¾¤Ç¤¹
browsermatch_clear=¾Ãµî

autoindex_fname=¥Õ¥¡¥¤¥ëÌ¾
autoindex_mime=MIME¥¿¥¤¥×
autoindex_enc=¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
autoindex_icon=¥¢¥¤¥³¥ó
autoindex_alt=ÂåÂØ(ALT)¥Æ¥­¥¹¥È
autoindex_match=°ìÃ×ÂÐ¾Ý
autoindex_fte=¥Õ¥¡¥¤¥ëÌ¾/MIME¥¿¥¤¥×/¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°
autoindex_diricon=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥¢¥¤¥³¥ó
autoindex_deficon=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¤¥³¥ó
autoindex_default=¥Ç¥Õ¥©¥ë¥È
autoindex_edeficon=¥Ç¥Õ¥©¥ë¥È¥¢¥¤¥³¥ó¤ÎURL¤¬Ìµ¸ú¤Ç¤¹
autoindex_diralt=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎALT¥¿¥°
autoindex_desc=ÀâÌÀ
autoindex_fnames=¥Õ¥¡¥¤¥ëÌ¾
autoindex_dirdesc=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÀâÌÀ
autoindex_fancy=¤­¤ì¤¤¤Ê¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÉ½¼¨
autoindex_htmltitle=HTML¤Î¥¿¥¤¥È¥ë¤òÀâÌÀ¤È¤·¤ÆÉ½¼¨
autoindex_iheight=¥¢¥¤¥³¥ó¤Î¹â¤µ
autoindex_iwidth=¥¢¥¤¥³¥ó¤ÎÉý
autoindex_sort=¥æ¡¼¥¶¤¬³ÆÎó¤ÎÊÂ¤Ó½ç¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë
autoindex_fildesc=¥Õ¥¡¥¤¥ë¤ÎÀâÌÀ¤òÉ½¼¨
autoindex_htags=HTML¥Ø¥Ã¥À¥¿¥°¤ò½ÐÎÏ
autoindex_mtime=ºÇ½ª¹¹¿·Æü»þ¤òÉ½¼¨
autoindex_size=¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤òÉ½¼¨
autoindex_iconlink=¥¢¥¤¥³¥ó¤Ë¤â¥ê¥ó¥¯¤òÉÕ¤±¤ë
autoindex_fwidth=¥Õ¥¡¥¤¥ëÌ¾¤ÎÉý
autoindex_dwidth=ÀâÌÀ¤ÎÉý
autoindex_dirfirst=¥Ç¥£¥ì¥¯¥È¥ê¤òÀè¤ËÉ½¼¨
autoindex_default2=¥Ç¥Õ¥©¥ë¥È
autoindex_select=²¼¤«¤éÁªÂò...
autoindex_default3=¥Ç¥Õ¥©¥ë¥È
autoindex_pixels=¥Ô¥¯¥»¥ë
autoindex_chars=Ê¸»ú
autoindex_diropt=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥ª¥×¥·¥ç¥ó
autoindex_dirhead=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë
autoindex_default4=¥Ç¥Õ¥©¥ë¥È
autoindex_edirhead=¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹
autoindex_dirfoot=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Õ¥Ã¥¿¥Õ¥¡¥¤¥ë
autoindex_edirfoot=¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥Õ¥Ã¥¿¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹
autoindex_ignore=¥Ç¥£¥ì¥¯¥È¥ê¥¤¥ó¥Ç¥Ã¥¯¥¹¤«¤é½ü³°¤¹¤ë¥Õ¥¡¥¤¥ë
autoindex_eiconurl='$1'¤ÏÍ­¸ú¤Ê¥¢¥¤¥³¥ó¤ÎURL¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
autoindex_emiss=$2¤Î$1¤¬¤¢¤ê¤Þ¤»¤ó
autoindex_emissquot='$2'¤Î$1¤¬¤¢¤ê¤Þ¤»¤ó
autoindex_enodesc=¥Õ¥¡¥¤¥ë$1¤ÎÀâÌÀ¤¬¤¢¤ê¤Þ¤»¤ó
autoindex_enofile=ÀâÌÀ'$1'¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
autoindex_eiconsize='$1'¤ÏÍ­¸ú¤Ê¥¢¥¤¥³¥ó¥µ¥¤¥º¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
autoindex_ewidth='$1'¤ÏÍ­¸ú¤ÊÉý¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

mod_mime_magic_file=MIME¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¥Õ¥¡¥¤¥ë
mod_mime_magic_none=¤Ê¤·
mod_mime_magic_efile=MIME¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹

mod_env_var=ÊÑ¿ô
mod_env_value=ÃÍ
mod_env_pass=¤½¤Î¤Þ¤ÞÅÏ¤¹
mod_env_clear=¾Ãµî
mod_env_set=ÀßÄê..
mod_env_cgivar=CGI¥¹¥¯¥ê¥×¥È¤Î´Ä¶­ÊÑ¿ô
mod_env_passall=¤¹¤Ù¤Æ¤Î´Ä¶­ÊÑ¿ô¤òCGI¤ËÅÏ¤¹
mod_env_default=¥Ç¥Õ¥©¥ë¥È
mod_env_evar='$1'¤ÏÍ­¸ú¤ÊÊÑ¿ôÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_env_evalue='$1'¤ÏÍ­¸ú¤ÊÊÑ¿ôÃÍ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£

mod_access_order=¥¢¥¯¥»¥¹¤Î¥Á¥§¥Ã¥¯½ç:
mod_access_denyallow=µñÈÝ¤Î¸å¤Ëµö²Ä
mod_access_allowdeny=µö²Ä¤Î¸å¤ËµñÈÝ
mod_access_mutual=µö²Ä¤ÈµñÈÝ¤ÎÎ¾Êý
mod_access_default=¥Ç¥Õ¥©¥ë¥È
mod_access_action=Æ°ºî
mod_access_cond=¾ò·ï
mod_access_all=¤¹¤Ù¤Æ¤ÎÍ×µá
mod_access_host=ÆÃÄê¤Î¥Û¥¹¥È¤«¤é¤ÎÍ×µá...
mod_access_ip=ÆÃÄê¤ÎIP¥¢¥É¥ì¥¹¤«¤é¤ÎÍ×µá..
mod_access_pip=ÆÃÄê¤ÎIP¥¢¥É¥ì¥¹ÈÏ°Ï¤«¤é¤ÎÍ×µá..
mod_access_mask=ÆÃÄê¤Î¥Í¥Ã¥È/¥Í¥Ã¥È¥Þ¥¹¥¯¤«¤é¤ÎÍ×µá..
mod_access_cidr=ÆÃÄê¤Î¥Í¥Ã¥È/CIDR¤«¤é¤ÎÍ×µá..
mod_access_var=ÆÃÄê¤ÎÊÑ¿ô¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤ë¾ì¹ç..
mod_access_allow=µö²Ä
mod_access_deny=µñÈÝ
mod_access_restr=¥¢¥¯¥»¥¹À©¸Â
mod_access_eip='$1'¤ÏÍ­¸ú¤ÊIP¥¢¥É¥ì¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_access_epip='$1'¤ÏÍ­¸ú¤ÊIP¥¢¥É¥ì¥¹ÈÏ°Ï¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_access_emask='$1'¤ÏÍ­¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯/¥Í¥Ã¥È¥Þ¥¹¥¯¤Î¥Ú¥¢¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_access_ecidr='$1'¤ÏÍ­¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯/CIDR¤Î¥Ú¥¢¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
mod_access_evar='$1'¤ÏÍ­¸ú¤ÊÊÑ¿ôÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

mod_auth_ufile=¥æ¡¼¥¶¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë
mod_auth_uedit=¥æ¡¼¥¶¤ÎÊÔ½¸
mod_auth_gfile=¥°¥ë¡¼¥×¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë
mod_auth_gedit=¥°¥ë¡¼¥×¤ÎÊÔ½¸
mod_auth_pass=¼ºÇÔ¤ò¼¡¤Î¥â¥¸¥å¡¼¥ë¤ËÅÏ¤·¤Þ¤¹¤«?
mod_auth_auth=¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ë¤è¤ëÇ§¾Ú
mod_auth_eudir=¥æ¡¼¥¶¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤¬µö²Ä¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ê¤Þ¤»¤ó
mod_auth_egdir=¥°¥ë¡¼¥×¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤¬µö²Ä¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ê¤Þ¤»¤ó
mod_auth_eufile=¥æ¡¼¥¶¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹
mod_auth_egfile=¥°¥ë¡¼¥×¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹

mod_auth_dbm_ufile=¥æ¡¼¥¶¤ÎDBM¥Õ¥¡¥¤¥ë
mod_auth_dbm_gfile=¥°¥ë¡¼¥×¤ÎDBM¥Õ¥¡¥¤¥ë
mod_auth_dbm_pass=¼ºÇÔ¤ò¼¡¤Î¥â¥¸¥å¡¼¥ë¤ËÅÏ¤·¤Þ¤¹¤«?
mod_auth_dbm_auth=DBM¥Õ¥¡¥¤¥ë¤Ë¤è¤ëÇ§¾Ú
mod_auth_dbm_eufile=¥æ¡¼¥¶¤ÎDBM¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹
mod_auth_dbm_egfile=¥°¥ë¡¼¥×¤ÎDBM¥Õ¥¡¥¤¥ë¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹

mod_cern_meta_process=¥Ø¥Ã¥À¥á¥¿¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤Þ¤¹¤«?
mod_cern_meta_dir=¥Ø¥Ã¥À¥á¥¿¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê
mod_cern_meta_default=¥Ç¥Õ¥©¥ë¥È
mod_cern_meta_edir=¥á¥¿¥Õ¥¡¥¤¥ëÍÑ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ÎÌ¾Á°¤¬Ìµ¸ú¤Ç¤¹
mod_cern_meta_suffix=¥Ø¥Ã¥À¥á¥¿¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò
mod_cern_meta_default2=¥Ç¥Õ¥©¥ë¥È
mod_cern_meta_esuffix=¥á¥¿¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤¬Ìµ¸ú¤Ç¤¹

mod_ssl_enable=SSL¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«?
mod_ssl_proto=SSL¥×¥í¥È¥³¥ë
mod_ssl_cfile=¾ÚÌÀ½ñ/¥×¥é¥¤¥Ù¡¼¥È¥­¡¼¥Õ¥¡¥¤¥ë
mod_ssl_default=¥Ç¥Õ¥©¥ë¥È
mod_ssl_ecfile=¾ÚÌÀ½ñ/¥×¥é¥¤¥Ù¡¼¥È¥­¡¼¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
mod_ssl_kfile=¥×¥é¥¤¥Ù¡¼¥È¥­¡¼¥Õ¥¡¥¤¥ë
mod_ssl_ekfile=¥×¥é¥¤¥Ù¡¼¥È¥­¡¼¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
mod_ssl_clcert=¥¯¥é¥¤¥¢¥ó¥ÈSSL¾ÚÌÀ½ñ
mod_ssl_nreq=ÉÔÍ×
mod_ssl_opt=¾ÊÎ¬²ÄÇ½
mod_ssl_req=É¬¿Ü
mod_ssl_optca=¾ÊÎ¬²ÄÇ½(CA¤Ê¤·)
mod_ssl_cdepth=¥¯¥é¥¤¥¢¥ó¥È¾ÚÌÀ½ñ¤Î³¬ÁØ
mod_ssl_ecdepth=¾ÚÌÀ½ñ¤Î³¬ÁØ¤ÏÀ°¿ô¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
mod_ssl_log=SSL¥í¥°¥Õ¥¡¥¤¥ë
mod_ssl_elog=SSL¥í¥°¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
mod_ssl_onlyssl=SSL¥¢¥¯¥»¥¹¤Î¤ß¤òµö²Ä¤·¤Þ¤¹¤«?

log_global=¥°¥í¡¼¥Ð¥ë¤Ê$1¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_virtc=¥µ¡¼¥Ð$1¤òºîÀ®¤·¤Þ¤·¤¿
log_virts=¥µ¡¼¥Ð$1¤òºÆÀßÄê¤·¤Þ¤·¤¿
log_virtd=¥µ¡¼¥Ð$1¤òºï½ü¤·¤Þ¤·¤¿
log_virtm=¥µ¡¼¥Ð$1¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_virt=¥µ¡¼¥Ð$2¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_dirc=¥Ç¥£¥ì¥¯¥È¥ê$1¤òºîÀ®¤·¤Þ¤·¤¿
log_dirc_l=¥µ¡¼¥Ð$2¤Ë¥Ç¥£¥ì¥¯¥È¥ê$1¤òºîÀ®¤·¤Þ¤·¤¿
log_dirs=¥Ç¥£¥ì¥¯¥È¥ê$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_dirs_l=¥µ¡¼¥Ð$2¤Î¥Ç¥£¥ì¥¯¥È¥ê$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_dird=¥Ç¥£¥ì¥¯¥È¥ê$1¤òºï½ü¤·¤Þ¤·¤¿
log_dird_l=¥µ¡¼¥Ð$2¤Î¥Ç¥£¥ì¥¯¥È¥ê$1¤òºï½ü¤·¤Þ¤·¤¿
log_dirm=¥Ç¥£¥ì¥¯¥È¥ê$1¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_dirm_l=¥µ¡¼¥Ð$2¤Î¥Ç¥£¥ì¥¯¥È¥ê$1¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_dir=¥Ç¥£¥ì¥¯¥È¥ê$2¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_dir_l=¥µ¡¼¥Ð$3¤Î¥Ç¥£¥ì¥¯¥È¥ê$2¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_htaccessc=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë$1¤òºîÀ®¤·¤Þ¤·¤¿
log_htaccessd=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë$1¤òºï½ü¤·¤Þ¤·¤¿
log_htaccessm=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë$1¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_htaccess=¥ª¥×¥·¥ç¥ó¥Õ¥¡¥¤¥ë$2¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_filesc=$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤·¤¿
log_filesc_l=¥Õ¥¡¥¤¥ë$2¤Î$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òºîÀ®¤·¤Þ¤·¤¿
log_filess=$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_filess_l=¥Õ¥¡¥¤¥ë$2¤Î$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_filesd=$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òºï½ü¤·¤Þ¤·¤¿
log_filesd_l=¥Õ¥¡¥¤¥ë$2¤Î$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤òºï½ü¤·¤Þ¤·¤¿
log_filesm=$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_filesm_l=¥Õ¥¡¥¤¥ë$2¤Î$1¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_files=$2¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_files_l=¥Õ¥¡¥¤¥ë$3¤Î$2¤Î¥Õ¥¡¥¤¥ë¥ª¥×¥·¥ç¥ó¤Î$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mime_modify=MIME¥¿¥¤¥×$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mime_create=MIME¥¿¥¤¥×$1¤òÄÉ²Ã¤·¤Þ¤·¤¿
log_defines=ÄêµÁºÑ¤ß¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_reconfig=´ûÃÎ¤Î¥â¥¸¥å¡¼¥ë¤òºÆÀßÄê¤·¤Þ¤·¤¿
log_start=Web¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_stop=Web¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿

search_title=¥µ¡¼¥Ð¤Î¸¡º÷
search_notfound=°ìÃ×¤¹¤ë²¾ÁÛ¥µ¡¼¥Ð¤ò¸¡½Ð¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

   070701000270a2000081a40000000000000002000000013d1fe2d1000071ae000000200000000000000000000000000000001c00000003reloc/apache/lang/ko_KR.euc   index_title=Apache Webserver
index_eroot=Apache ·çÆ® µð·ºÅä¸® $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. Apache°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é Á¤È®ÇÑ °æ·Î¸¦ »ç¿ëÇÏµµ·Ï <a href='$2'>¸ðµâ ±¸¼º</a>À» Á¶Á¤ÇÏ½Ê½Ã¿À.
index_eserver=Apache ¼­¹ö ½ÇÇà ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. Apache°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é Á¤È®ÇÑ °æ·Î¸¦ »ç¿ëÇÏµµ·Ï <a href='$2'>¸ðµâ ±¸¼º</a>À» Á¶Á¤ÇÏ½Ê½Ã¿À.
index_econf=Apache ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. Apache°¡ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é Á¤È®ÇÑ °æ·Î¸¦ »ç¿ëÇÏµµ·Ï <a href='$2'>¸ðµâ ±¸¼º</a>À» Á¶Á¤ÇÏ½Ê½Ã¿À.
index_eports=Apache ±¸¼º¿¡ µÑ ÀÌ»óÀÇ $1 Áö½Ã¾î°¡ ÀÖ½À´Ï´Ù. ÇöÀç Webmin ¹öÀüÀº ÀÌ ¼³Á¤À» ¿Ã¹Ù¸£°Ô Ã³¸®ÇÏÁö ¸øÇÕ´Ï´Ù.
index_global=±Û·Î¹ú ±¸¼º
index_virts=°¡»ó ¼­¹ö
index_defserv=±âº» ¼­¹ö
index_defdesc1=±âÅ¸ ¸ðµç °¡»ó ¼­¹ö¿¡ ´ëÇÑ ±âº» ¼³Á¤À» Á¤ÀÇÇÏ°í Ã³¸®µÇÁö ¾ÊÀº ¿äÃ»À» Ã³¸®ÇÕ´Ï´Ù.
index_any=ÀÓÀÇ
index_default=±âº»°ª
index_auto=ÀÚµ¿
index_virt=°¡»ó ¼­¹ö
index_vname=ÁÖ¼Ò $2¿¡ ÀÖ´Â ÀÌ¸§ ±â¹Ý ¼­¹ö $1À»(¸¦) Ã³¸®ÇÕ´Ï´Ù.
index_vdef=´Ù¸¥ °¡»ó ¼­¹ö°¡ Ã³¸®ÇÏÁö ¾ÊÀº ¸ðµç ¿äÃ»À» Ã³¸®ÇÕ´Ï´Ù.
index_defdesc2=´Ù¸¥ ¸ðµç °¡»ó ¼­¹ö¿¡ ´ëÇÑ ±âº» ¼³Á¤À» Á¤ÀÇÇÕ´Ï´Ù.
index_vport=´Ù¸¥ °¡»ó ¼­¹ö¿¡¼­ Ã³¸®ÇÏÁö ¾ÊÀº Æ÷Æ® $1ÀÇ ¸ðµç ¿äÃ»À» Ã³¸®ÇÕ´Ï´Ù.
index_vaddr=ÁÖ¼Ò $1¿¡ ´ëÇÑ ¸ðµç ¿äÃ»À» Ã³¸®ÇÕ´Ï´Ù.
index_vaddrport=Æ÷Æ® $2ÀÇ ÁÖ¼Ò $1¿¡ ´ëÇÑ ¸ðµç ¿äÃ»À» Ã³¸®ÇÕ´Ï´Ù.
index_type=À¯Çü
index_addr=ÁÖ¼Ò
index_nv=ÀÌ¸§ °¡»ó ¼­¹ö ÁÖ¼Ò Ãß°¡(ÇÊ¿äÇÑ °æ¿ì)
index_port=Æ÷Æ®
index_name=¼­¹ö ÀÌ¸§
index_root=¹®¼­ ·çÆ®
index_create=»õ °¡»ó ¼­¹ö ÀÛ¼º
index_return=¼­¹ö ¸ñ·Ï
index_toomany=½Ã½ºÅÛ¿¡ ÀÖ´Â °¡»ó ¼­¹ö°¡ ³Ê¹« ¸¹¾Æ ÇÑ ÆäÀÌÁö¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù
index_find=¼­¹ö Ã£±â
index_equals=°°À½
index_matches=ÀÏÄ¡
index_nequals=°°Áö ¾ÊÀ½
index_nmatches=ÀÏÄ¡ÇÏÁö ¾ÊÀ½

cvirt_ecannot=°¡»ó ¼­¹ö¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
cvirt_err=°¡»ó ¼­¹ö¸¦ ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
cvirt_eaddr1=ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
cvirt_eaddr2='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
cvirt_eport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù 
cvirt_ename='$1'Àº(´Â) À¯È¿ÇÑ ¼­¹ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
cvirt_eroot1=¹®¼­ ·çÆ®¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù
cvirt_eroot2=µð·ºÅä¸® '$1'À»(¸¦) ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù: $2
cvirt_etaken=°°Àº ÀÌ¸§°ú Æ÷Æ®¸¦ °®´Â °¡»ó ¼­¹ö°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù

etype=ÀÌ À¯ÇüÀÇ ¿É¼ÇÀº ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
efailed=$1À»(¸¦) ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù:
apache_apply=º¯°æ ³»¿ë Àû¿ë
apache_stop=Apache ÁßÁö
apache_start=Apache ½ÃÀÛ
auth_return=Á¢±Ù Á¦¾î
default_serv=±âº» ¼­¹ö
bytes=¹ÙÀÌÆ®

global_ecannot=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
global_mime=±Û·Î¹ú MIME À¯Çü ¸ñ·Ï
global_mimedesc=¾Æ·¡ ¸ñ·Ï¿¡¼­ MIME À¯ÇüÀ» ´­·¯ ÆíÁýÇÏ°Å³ª, ÆäÀÌÁö ¾Æ·¡ÂÊ¿¡ ÀÖ´Â ¸µÅ©¸¦ »ç¿ëÇÏ¿© ¸ñ·Ï¿¡ »õ À¯ÇüÀ» Ãß°¡ÇÏ½Ê½Ã¿À.
global_type=À¯Çü
global_ext=È®ÀåÀÚ
global_add=»õ MIME À¯Çü Ãß°¡
global_return=MIME À¯Çü

mime_ecannot=MIME À¯ÇüÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
mime_edit=MIME À¯Çü ÆíÁý
mime_add=MIME À¯Çü Ãß°¡
mime_header=MIME À¯Çü¿¡ ÆÄÀÏ ÀÌ¸§ È®ÀåÀÚ ¸ÅÇÎ
mime_type=MIME À¯Çü
mime_ext=È®ÀåÀÚ
mime_err=MIME À¯ÇüÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
mime_etype='$1'Àº(´Â) À¯È¿ÇÑ MIME À¯ÇüÀÌ ¾Æ´Õ´Ï´Ù

virt_ecannot=ÀÌ °¡»ó ¼­¹ö¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
virt_title=°¡»ó ¼­¹ö ¿É¼Ç
virt_header=$1
virt_opts=°¡»ó ¼­¹ö ¿É¼Ç
virt_conf=¼­¹ö ±¸¼º
virt_show=Áö½Ã¾î Ç¥½Ã
virt_edit=Áö½Ã¾î ÆíÁý
virt_adddir=µð·ºÅä¸® ´ÜÀ§, ÆÄÀÏ ´ÜÀ§ ¶Ç´Â À§Ä¡ ´ÜÀ§ ¿É¼Ç ÀÛ¼º
virt_type=À¯Çü
virt_Directory=µð·ºÅä¸®
virt_Files=ÆÄÀÏ
virt_Location=À§Ä¡
virt_exact=Á¤È®ÇÑ ÀÏÄ¡
virt_re=Á¤±Ô½Ä°ú ÀÏÄ¡
virt_regexp=Á¤±Ô½ÄÀÔ´Ï±î?
virt_path=°æ·Î
virt_return=¼­¹ö ÀÎµ¦½º
virt_euser=ÀÌ °¡»ó ¼­¹ö¿¡ ´ëÇÑ »ç¿ëÀÚ ¶Ç´Â ±×·ìÀ» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.
virt_header2=$2¿¡ ´ëÇÑ $1

vserv_title=°¡»ó ¼­¹ö ±¸¼º
vserv_ecannot=ÀÌ °¡»ó ¼­¹öÀÇ ÁÖ¼Ò¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
vserv_addr=ÁÖ¼Ò
vserv_addrs=ÁÖ¼Ò
vserv_port=Æ÷Æ®
vserv_any=ÀÓÀÇ
vserv_default=±âº»°ª
vserv_root=¹®¼­ ·çÆ®
vserv_name=¼­¹ö ÀÌ¸§
vserv_delete=°¡»ó ¼­¹ö »èÁ¦
vserv_err=°¡»ó ¼­¹ö¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
vserv_eaddr1=ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
vserv_eaddr2='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
vserv_eport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù 
vserv_eroot='$1'Àº(´Â) À¯È¿ÇÑ ¹®¼­ ·çÆ®°¡ ¾Æ´Õ´Ï´Ù 
vserv_ename='$1'Àº(´Â) À¯È¿ÇÑ ¼­¹ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
vserv_eaddrs=°¡»ó ¼­¹ö ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù

show_title=Áö½Ã¾î
show_edit=Apache Áö½Ã¾î ÆíÁý:
show_these=¼öµ¿À¸·Î Áö½Ã¾î ÆíÁý
show_ok=ÆíÁý

manual_title=Áö½Ã¾î ÆíÁý
manual_header=¾Æ·¡ÀÇ ÅØ½ºÆ® »óÀÚ¸¦ »ç¿ëÇÏ¿© ÀÌ °¡»ó ¼­¹ö, µð·ºÅä¸® ¶Ç´Â ÆÄÀÏ¿¡ Àû¿ëÇÒ $1ÀÇ Apache Áö½Ã¾î¸¦ ¼öµ¿À¸·Î ÆíÁýÇÏ½Ê½Ã¿À.
manual_ecannot=¼öµ¿À¸·Î Áö½Ã¾î¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

dir_title=µð·ºÅä¸® ´ÜÀ§ ¿É¼Ç
dir_header=$2ÀÇ $1
dir_show=Áö½Ã¾î Ç¥½Ã
dir_edit=Áö½Ã¾î ÆíÁý
dir_opts=¿É¼Ç Àû¿ë ´ë»ó..
dir_Directory=µð·ºÅä¸®
dir_Files=ÆÄÀÏ
dir_Location=À§Ä¡
dir_type=À¯Çü
dir_regexp=Á¤±Ô½ÄÀÔ´Ï±î?
dir_exact=Á¤È®ÇÑ ÀÏÄ¡
dir_re=Á¤±Ô½Ä°ú ÀÏÄ¡
dir_path=°æ·Î
dir_return=µð·ºÅä¸® ÀÎµ¦½º
dir_header2=$2¿¡ ´ëÇÑ $1

type_0=ÇÁ·Î¼¼½º ¹× Á¦ÇÑ
type_1=³×Æ®¿öÅ· ¹× ÁÖ¼Ò
type_2=Apache ¸ðµâ
type_3=·Î±× ÆÄÀÏ
type_4=Á¢±Ù Á¦¾î
type_5=¹®¼­ ¿É¼Ç
type_6=MIME À¯Çü
type_7=¿À·ù Ã³¸®
type_8=»ç¿ëÀÚ ¹× ±×·ì
type_9=±âÅ¸
type_10=º°Äª ¹× ¸®µð·ºÆ®
type_11=CGI ÇÁ·Î±×·¥
type_12=µð·ºÅä¸® ÀÎµ¦½Ì
type_13=ÇÁ·Ï½Ì
type_14=SSL ¿É¼Ç
type_15=Perl
type_16=PHP

htaccess_title=µð·ºÅä¸® ´ÜÀ§ ¿É¼Ç ÆÄÀÏ
htaccess_ecannot=htaccess ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
htaccess_desc=°¢ µð·ºÅä¸®¿¡ ÀÖ´Â ÆÄÀÏ(º¸Åë <tt>.htaccess</tt>¶ó°í ÇÔ)¿¡¼­ Ãß°¡ µð·ºÅä¸® ´ÜÀ§ ¿É¼ÇÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¿É¼Ç ÆÄÀÏ·Î µ¤¾î¾²Áö ¾Ê´Â ÇÑ ÇØ´ç µð·ºÅä¸® ¹× ÇÏÀ§ µð·ºÅä¸®¿¡ ÀÖ´Â ¸ðµç ÆÄÀÏ¿¡ ÀÌ ¿É¼ÇÀÌ Àû¿ëµË´Ï´Ù.
htaccess_create=¿É¼Ç ÆÄÀÏ ÀÛ¼º
htaccess_find=¿É¼Ç ÆÄÀÏ Ã£±â
htaccess_auto=ÀÚµ¿À¸·Î
htaccess_from=µð·ºÅä¸®¿¡¼­
htaccess_return=¿É¼Ç ÆÄÀÏ ¸ñ·Ï
htaccess_edir='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù 
htaccess_ecreate=ÀÌ ¿É¼Ç ÆÄÀÏÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
htaccess_edelete=ÀÌ ¿É¼Ç ÆÄÀÏÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù

htindex_ecannot=ÀÌ ¿É¼Ç ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
htindex_title=µð·ºÅä¸® ´ÜÀ§ ¿É¼Ç ÆÄÀÏ
htindex_delete=ÆÄÀÏ »èÁ¦
htindex_show=Áö½Ã¾î Ç¥½Ã
htindex_edit=Áö½Ã¾î ÆíÁý
htindex_opts=µð·ºÅä¸® ´ÜÀ§ ¿É¼Ç
htindex_file=ÆÄÀÏ ´ÜÀ§ ±¸¼º
htindex_create=ÆÄÀÏ ´ÜÀ§ ÀÛ¼º ¿É¼Ç
htindex_regexp=Á¤±Ô½ÄÀÔ´Ï±î?
htindex_exact=Á¤È®ÇÑ ÀÏÄ¡
htindex_re=Match Á¤±Ô½Ä
htindex_path=°æ·Î
htindex_header=$1
htindex_header2=¿É¼Ç ÆÄÀÏ $2¿¡ ´ëÇÑ $1
htindex_return=¿É¼Ç ÆÄÀÏ ÀÎµ¦½º

htfile_title=ÆÄÀÏ ´ÜÀ§ ¿É¼Ç
htfile_header=$2ÀÇ $1
htfile_show=Áö½Ã¾î Ç¥½Ã
htfile_edit=Áö½Ã¾î ÆíÁý
htfile_apply=¿É¼Ç Àû¿ë ´ë»ó..
htfile_header2=$2¿¡ ´ëÇÑ $1

reconfig_title=¾Ë ¼ö ¾ø´Â ¸ðµâ Àç±¸¼º
reconfig_ecannot=Apache¸¦ Àç±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
reconfig_ever=Apache ¼­¹ö ½ÇÇà ÆÄÀÏ $1ÀÇ ¹öÀüÀ» °¡Á®¿ÀÁö ¸øÇß½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>À» °Ë»çÇÏ¿© °æ·Î°¡ Á¤È®ÇÑÁö È®ÀÎÇÏ½Ê½Ã¿À.
reconfig_desc1=Apache ±¸¼ºÀÌ º¯°æµÇ¾ú°Å³ª ¾ÆÁ÷ WebminÀÌ Á¶»çÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ´ÙÀ½Àº WebminÀÌ Áö¿øÇÏ´Â ¸ðµç Apache ¸ðµâ ¸ñ·ÏÀ¸·Î, ÇöÀç ¼³Ä¡µÈ ¸ðµâÀÌ ¼±ÅÃµÇ¾î ÀÖ½À´Ï´Ù. ¸ñ·ÏÀÌ Àß¸øµÈ °æ¿ì, ¸ðµâÀ» ¼±ÅÃÇÏ°Å³ª ¼±ÅÃ ÇØÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù.
reconfig_desc2=´ÙÀ½Àº WebminÀÌ Áö¿øÇÏ´Â ¸ðµç Apache ¸ðµâ ¸ñ·ÏÀ¸·Î, ÇöÀç ¼³Ä¡µÈ ¸ðµâÀÌ ¼±ÅÃµÇ¾î ÀÖ½À´Ï´Ù. µ¿ÀûÀ¸·Î ·ÎµåµÈ ¸ðµâÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é µ¿ÀÏÇÑ À¯ÇüÀÇ ¸ðµâÀ» ¼±ÅÃÇØ¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù.
reconfig_desc3=Apache°¡ ¾î¶² ½Ã½ºÅÛ ¸ðµâÀ» Áö¿øÇÏ´ÂÁö Àß ¸ð¸£´Â °æ¿ì, [WebminÀ¸·Î ±¸¼º]À» ¼±ÅÃÇÏ¸é Áö¿øµÇ´Â ¸ðµâÀ» ÀÚµ¿À¸·Î Ã£À» ¼ö ÀÖ½À´Ï´Ù.
reconfig_ok=±¸¼º

defines_title=Á¤ÀÇµÈ ¸Å°³ º¯¼ö ÆíÁý
defines_ecannot=httpd Á¤ÀÇ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
defines_desc=Apache°¡ ½ÃÀÛµÇ¸é ¸Å°³ º¯¼ö°¡ <tt>-D</tt> ¸í·ÉÇà ¿É¼Ç°ú ÇÔ²² Àü´ÞµÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¸Å°³ º¯¼ö´Â ¾î¶² Áö½Ã¾î°¡ »ç¿ëÀÚÀÇ ±¸¼º ÆÄÀÏ¿¡ »ç¿ëµÇ´ÂÁö¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖÀ¸¹Ç·Î, WebminÀº ½ÃÀÛ ½Ã Apache¿¡ Àü´ÞµÇ´Â Áö½Ã¾î¸¦ ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. ½Ã½ºÅÛ¿¡ »ç¿ëµÈ ¸Å°³ º¯¼ö¸¦ ¿À¸¥ÂÊÀÇ ÅØ½ºÆ® ÇÊµå¿¡ ÀÔ·ÂÇÏ½Ê½Ã¿À.
defines_config=´ÙÀ½ Á¤ÀÇµÈ ¸Å°³ º¯¼ö´Â ÀÌ¹Ì ¾Ë·ÁÁ® ÀÖ´Ù´Â Á¡¿¡ À¯ÀÇÇÏ½Ê½Ã¿À:  $1

authu_ecannot='$1'Àº(´Â) Çã¿ëµÇ´Â »ç¿ëÀÚ ÅØ½ºÆ® ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
authu_title=»ç¿ëÀÚ ¸ñ·Ï
authu_header=ÆÄÀÏ $1
authu_header2=ÅØ½ºÆ® ÆÄÀÏ $1ÀÇ »ç¿ëÀÚ
authu_none=ÅØ½ºÆ® ÆÄÀÏ $1¿¡ »ç¿ëÀÚ ¾øÀ½
authu_add=»õ »ç¿ëÀÚ Ãß°¡
authu_return=»ç¿ëÀÚ ¸ñ·Ï
authu_edit=»ç¿ëÀÚ ÆíÁý
authu_create=»ç¿ëÀÚ ÀÛ¼º
authu_user=»ç¿ëÀÚ ÀÌ¸§
authu_pass=ÆÐ½º¿öµå
authu_enc=¾ÏÈ£È­µÊ..
authu_plain=ÀÏ¹Ý ÅØ½ºÆ®..
authu_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
authu_euser=»ç¿ëÀÚ ÀÌ¸§À» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
authu_euser2=»ç¿ëÀÚ ÀÌ¸§¿¡ ´ÙÀ½ ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù: 
authu_edup='$1'(ÀÌ)¶ó´Â »ç¿ëÀÚ°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù
authu_sync=¾Æ·¡ÀÇ ¿É¼ÇÀ» »ç¿ëÇÏ¸é <tt>»ç¿ëÀÚ ¹× ±×·ì</tt> ¸ðµâ¿¡¼­ »ç¿ëÀÚ°¡ Ãß°¡, ¼öÁ¤ ¶Ç´Â Á¦°ÅµÉ ¶§ ÀÌ ÆÐ½º¿öµå ÆÄÀÏ·ÎºÎÅÍ ÀÚµ¿À¸·Î »ç¿ëÀÚ¸¦ Ãß°¡, ¾÷µ¥ÀÌÆ® ¶Ç´Â »èÁ¦ÇÏµµ·Ï WebminÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
authu_screate=À¯´Ð½º »ç¿ëÀÚ°¡ Ãß°¡µÉ ¶§ »ç¿ëÀÚ Ãß°¡
authu_sdelete=À¯´Ð½º »ç¿ëÀÚ°¡ »èÁ¦µÉ ¶§ »ç¿ëÀÚ »èÁ¦
authu_smodify=À¯´Ð½º »ç¿ëÀÚ°¡ º¯°æµÉ ¶§ »ç¿ëÀÚ º¯°æ

authg_ecannot='$1'Àº(´Â) Çã¿ëµÇ´Â ±×·ì ÅØ½ºÆ® ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
authg_title=±×·ì ¸ñ·Ï
authg_header=ÆÄÀÏ $1
authg_header2=ÅØ½ºÆ® ÆÄÀÏ $1ÀÇ ±×·ì
authg_none=ÅØ½ºÆ® ÆÄÀÏ $1¿¡ ±×·ìÀÌ ¾ø½À´Ï´Ù
authg_add=»õ ±×·ì Ãß°¡
authg_return=±×·ì ¸ñ·Ï
authg_edit=±×·ì ÆíÁý
authg_create=±×·ì ÀÛ¼º
authg_group=±×·ì ÀÌ¸§
authg_mems=±¸¼º¿ø
authg_dont=º¯°æ ¾ÈÇÔ
authg_set=¼³Á¤ ´ë»ó..
authg_err=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
authg_euser=±×·ì ÀÌ¸§À» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
authg_euser2=±×·ì ÀÌ¸§¿¡ ´ÙÀ½ ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù: 
authg_edup='$1'(ÀÌ)¶ó´Â ±×·ìÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù

stop_err=Apache¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù
stop_ecannot=Apache¸¦ ÁßÁöÇÒ ¼ö ¾ø½À´Ï´Ù
stop_epid=PID ÆÄÀÏ $1À»(¸¦) ¿­Áö ¸øÇß½À´Ï´Ù
stop_epid2=Àß¸øµÈ PID ÆÄÀÏ $1
stop_esig=SIGTERMÀ» ÇÁ·Î¼¼½º $1·Î º¸³»Áö ¸øÇß½À´Ï´Ù

start_err=Apache¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
start_ecannot=Apache¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù
start_ecmd=$1 ½ÇÆÐ: $2
start_eunknown=¾Ë ¼ö ¾ø´Â ÀÌÀ¯

restart_err=º¯°æ ³»¿ëÀ» Àû¿ëÇÏÁö ¸øÇß½À´Ï´Ù
restart_epid=PID ÆÄÀÏ $1À»(¸¦) ¿­Áö ¸øÇß½À´Ï´Ù
restart_epid2=Àß¸øµÈ PID ÆÄÀÏ $1
restart_esig=SIGHUPÀ» ÇÁ·Î¼¼½º $1·Î º¸³»Áö ¸øÇß½À´Ï´Ù
restart_eunknown=¾Ë ¼ö ¾ø´Â ÀÌÀ¯

acl_virts=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â °¡»ó ¼­¹ö
acl_vall=¸ðµç ¼­¹ö
acl_vsel=¼±ÅÃÇÑ ¼­¹ö..
acl_defserv=±âº» ¼­¹ö
acl_global=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_htaccess=.htaccess¸¸
acl_create=°¡»ó ¼­¹ö¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_vuser=°¡»ó ¼­¹ö »ç¿ëÀÚ¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï±î?
acl_vaddr=°¡»ó ¼­¹ö ÁÖ¼Ò¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï±î?
acl_pipe=·Î±×¸¦ ÇÁ·Î±×·¥¿¡ ¿¬°áÇÒ ¼ö ÀÖ½À´Ï±î?
acl_stop=Apache¸¦ ÁßÁöÇß´Ù°¡ ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï±î?
acl_dir=ÆÄÀÏÀ» µð·ºÅä¸®·Î Á¦ÇÑ
acl_types=»ç¿ë °¡´ÉÇÑ Áö½Ã¾î À¯Çü
acl_all=¸ðµÎ
acl_sel=¼±ÅÃÇÑ À¯Çü..

core_maxconc=ÃÖ´ë µ¿½Ã ¿äÃ» ¼ö
core_maxkeep=¿¬°á ´ç ÃÖ´ë ¿¬°á À¯Áö ¼ö
core_maxreq=¼­¹ö ÇÁ·Î¼¼½º ´ç ÃÖ´ë ¿äÃ» ¼ö
core_minspare=ÃÖ¼Ò ¿©À¯ ¼­¹ö ÇÁ·Î¼¼½º ¼ö
core_maxspare=ÃÖ´ë ¿©À¯ ¼­¹ö ÇÁ·Î¼¼½º ¼ö
core_initial=ÃÊ±â ¼­¹ö ÇÁ·Î¼¼½º ¼ö
core_emaxconc=ÃÖ´ë µ¿½Ã ¿äÃ» ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_emaxkeep=¿¬°á ´ç ÃÖ´ë ¿¬°á À¯Áö ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_emaxreq=¼­¹ö ÇÁ·Î¼¼½º ´ç ÃÖ´ë ¿äÃ» ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_eminspare=ÃÖ¼Ò ¿©À¯ ¼­¹ö ÇÁ·Î¼¼½º ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_emaxspare=ÃÖ´ë ¿©À¯ ¼­¹ö ÇÁ·Î¼¼½º ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_einitial=ÃÊ±â ¼­¹ö ÇÁ·Î¼¼½º ¼ö´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_default=±âº»°ª
core_cpulimit=CPU ¸®¼Ò½º Á¦ÇÑ
core_memlimit=¸Þ¸ð¸® ¸®¼Ò½º Á¦ÇÑ
core_proclimit=ÇÁ·Î¼¼½º Á¦ÇÑ
core_cpulimit2=CPU ¸®¼Ò½º Á¦ÇÑ
core_memlimit2=¸Þ¸ð¸® ¸®¼Ò½º Á¦ÇÑ
core_proclimit2=ÇÁ·Î¼¼½º Á¦ÇÑ
core_slimit=¼ÒÇÁÆ® Á¦ÇÑ
core_hlimit=ÇÏµå Á¦ÇÑ
core_eslimit=$1Àº(´Â) À¯È¿ÇÑ ¼ÒÇÁÆ® $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù
core_ehlimit=$1Àº(´Â) À¯È¿ÇÑ ÇÏµå $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù
core_dport=±âº» Æ÷Æ®:
core_address=ÁÖ¼Ò
core_port=Æ÷Æ®
core_listen=ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ¼ö½Å ´ë±âÇÕ´Ï´Ù
core_eaddress='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
core_eport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù 
core_eoneaddr=¼ö½Å ´ë±âÇÒ ÁÖ¼Ò¸¦ ÇÏ³ª ÀÌ»ó ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù
core_edefport=Àß¸øµÈ ±âº» Æ÷Æ®
core_multi=¿¬°á ´ç ¿©·¯ °³ÀÇ ¿äÃ»
core_ekeep='$1'Àº(´Â) À¯È¿ÇÑ ¿¬°á À¯Áö ¼ö°¡ ¾Æ´Õ´Ï´Ù
core_ltwice=µÎ ¹ø Á¶È¸
core_keeptout=¿¬°á À¯Áö ½Ã°£ ÃÊ°ú
core_lqueue=¼ö½Å ´ë±âÇÒ ´ë±â¿­ ±æÀÌ
core_bufsize=TCP Àü¼Û ¹öÆÛ Å©±â
core_admin=¼­¹ö °ü¸®ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
core_rtout=¿äÃ» ½Ã°£ ÃÊ°ú
core_bhostname=ºê¶ó¿ìÀú¿¡¼­ °ø±ÞÇÑ È£½ºÆ® ÀÌ¸§ »ç¿ë
core_lookup=È£½ºÆ® ÀÌ¸§ Á¶È¸
core_useauth=RFC1413 »ç¿ëÀÚ Á¶È¸ ¼öÇà
core_altnames=´ëÃ¼ °¡»ó ¼­¹ö ÀÌ¸§
core_hostname=¼­¹ö È£½ºÆ® ÀÌ¸§
core_virtaddr=ÀÌ¸§ °¡»ó ¼­¹öÀÇ ÁÖ¼Ò
core_ekeeptout=¿¬°á À¯Áö ½Ã°£ ÃÊ°ú´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_elqueue=¼ö½Å ´ë±â ´ë±â¿­ ±æÀÌ´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_ebufsize=TCP Àü¼Û ¹öÆÛ Å©±â´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_ertout=¿äÃ» ½Ã°£ ÃÊ°ú´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
core_ehostname=Àß¸øµÈ ¼­¹ö È£½ºÆ® ÀÌ¸§ÀÔ´Ï´Ù
core_osdefault=OS ±âº»°ª
core_noadmin=¾øÀ½
core_auto=ÀÚµ¿
core_ekeep='$1'Àº(´Â) À¯È¿ÇÑ ¿¬°á À¯Áö ¼ö°¡ ¾Æ´Õ´Ï´Ù
core_evirtaddr='$1'Àº(´Â) ÀÌ¸§ °¡»ó ¼­¹ö¿¡ ´ëÇÑ À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
core_auth=ÀÎÁõ ¿É¼Ç
core_mime=MIME À¯Çü ¹× ÀÎÄÚµù
core_indexing=ÀÎµ¦½Ì ¹× ÀÎµ¦½º ÆÄÀÏ
core_hostacc=È£½ºÆ® ÀÌ¸§ Á¢±Ù Á¦¾î
core_diropts=µð·ºÅä¸® ¿É¼Ç
core_filesel=¾Æ·¡¿¡ ¼±ÅÃµÈ Ç×¸ñ...
core_execcgi=CGI ÇÁ·Î±×·¥ ½ÇÇà
core_flink=½Éº¼¸¯ ¸µÅ© µû¸£±â
core_inclexe=¼­¹öÃø includes ¹× execs
core_incl=¼­¹öÃø includes
core_genind=µð·ºÅä¸® ÀÎµ¦½º »ý¼º
core_genmview=´ÙÁß ºä »ý¼º
core_flinkmatch=¼ÒÀ¯ÁÖ°¡ ÀÏÄ¡ÇÏ¸é ½Éº¼¸¯ ¸µÅ© µû¸£±â
core_optsel= ¾Æ·¡¿¡ ¼±ÅÃµÈ Ç×¸ñ..
core_enable=»ç¿ë °¡´É
core_disable=»ç¿ë ºÒ´É
core_optfile=µð·ºÅä¸® ´ÜÀ§ ¿É¼Ç ÆÄÀÏ
core_overr=¿É¼Ç ÆÄÀÏÀº µ¤¾î¾µ ¼ö ÀÖ½À´Ï´Ù..
core_genmd5=MD5 ´ÙÀÌÁ¦½ºÆ® »ý¼º
core_docroot=¹®¼­ ·çÆ® µð·ºÅä¸®
core_eoptfile=ÇÏ³ªÀÇ ¿É¼Ç ÆÄÀÏ¸¸ Çã¿ëµË´Ï´Ù
core_enoopt=¿É¼Ç ÆÄÀÏÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
core_enodoc=¹®¼­ ·çÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
core_sigemail=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
core_signame=¼­¹ö ÀÌ¸§
core_signone=¾øÀ½
core_virtpath=°¡»ó ¼­¹ö °æ·Î
core_footer=¿À·ù ¸Þ½ÃÁö ¹Ù´Ú±Û
core_evirtpath=°¡»ó ¼­¹ö °æ·Î´Â /·Î ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù
core_defmime=±âº» MIME À¯Çü
core_edefmime=±âº» MIME À¯ÇüÀº 'À¯Çü/ÇÏÀ§-À¯Çü' Çü½ÄÀ» °¡Á®¾ß ÇÕ´Ï´Ù
core_realm=ÀÎÁõ realm ÀÌ¸§
core_authtype=ÀÎÁõ À¯Çü
core_authall=¸ðµç Á¢±Ù Á¦¾î
core_authany=ÀÓÀÇÀÇ Á¢±Ù Á¦¾î
core_authlog=·Î±×ÀÎÀ¸·Î Á¢±Ù Á¦ÇÑ
core_satisfy=Å¬¶óÀÌ¾ðÆ®°¡ ¸¸Á·ÇØ¾ß ÇÔ
core_salone=µ¶¸³Çü
core_inetd=inetd·ÎºÎÅÍ ½ÇÇà
core_verosmod=¹öÀü, OS, ¸ðµâ
core_veros=¹öÀü ¹× OS
core_ver=¹öÀü¸¸
core_coredir=ÇÙ½É ´ýÇÁ µð·ºÅä¸®
core_lockfile=¼­¹ö Àá±Ý ÆÄÀÏ
core_maxbody=¿äÃ»ÀÇ ÃÖ´ë º»¹® Å©±â
core_maxhead=¿äÃ»ÀÇ ÃÖ´ë Çì´õ ¼ö
core_maxshead=¿äÃ»ÀÇ ÃÖ´ë Çì´õ Å©±â
core_maxline=¿äÃ»ÀÇ ÃÖ´ë Çà Å©±â
core_pid=¼­¹ö PID ÆÄÀÏ
core_memsco=°øÀ¯ ¸Þ¸ð¸® ½ºÄÚ¾îº¸µå ÆÄÀÏ
core_exec=¼­¹ö ½ÇÇà
core_header=¼­¹ö HTTP Çì´õ
core_ecore=Àß¸øµÈ ÇÙ½É ´ýÇÁ µð·ºÅä¸®
core_elock=Àß¸øµÈ Àá±Ý ÆÄÀÏ
core_ebody=Àß¸øµÈ ¿äÃ» º»¹® Å©±â
core_ehead=Àß¸øµÈ Çì´õ ¼ö
core_eshead=Àß¸øµÈ Çì´õ Å©±â
core_eline=Àß¸øµÈ ¿äÃ» Çà Å©±â
core_epid=Àß¸øµÈ PID ÆÄÀÏ
core_escore=Àß¸øµÈ ½ºÄÚ¾îº¸µå ÆÄÀÏ
core_sroot=¼­¹ö ·çÆ®
core_group=±×·ì ÀÌ¸§
core_gid=±×·ì ID
core_user=»ç¿ëÀÚ ÀÌ¸§
core_uid= »ç¿ëÀÚ ID
core_asgroup=À¯´Ð½º ±×·ìÀ¸·Î ½ÇÇà
core_asuser=À¯´Ð½º »ç¿ëÀÚ·Î ½ÇÇà
core_euid='$1'Àº(´Â) À¯È¿ÇÑ ±×·ì ID°¡ ¾Æ´Õ´Ï´Ù 
core_egid='$1'Àº(´Â) À¯È¿ÇÑ »ç¿ëÀÚ ID°¡ ¾Æ´Õ´Ï´Ù 
core_tourl=URL·Î ÀÌµ¿..
core_mesg=¸Þ½ÃÁö Ç¥½Ã..
core_error=¿À·ù ÄÚµå
core_resp=ÀÀ´ä
core_urlmsg=URL ¶Ç´Â ¸Þ½ÃÁö
core_custom=»ç¿ëÀÚ Á¤ÀÇ ¿À·ù ÀÀ´ä
core_eerror='$1'Àº(´Â) À¯È¿ÇÑ ¿À·ù ÄÚµå°¡ ¾Æ´Õ´Ï´Ù
core_eurl='$1'Àº(´Â) À¯È¿ÇÑ URLÀÌ ¾Æ´Õ´Ï´Ù 
core_syslog=½Ã½ºÅÛ ·Î±×
core_filelog=ÆÄÀÏ
core_proglog=ÇÁ·Î±×·¥
core_errfile=¿À·ù ·Î±× ÆÄÀÏ
core_logto=¿À·ù ·Î±× À§Ä¡
core_efilelog=Àß¸øµÈ ¿À·ù ·Î±× ÆÄÀÏ
core_edirlog=¿À·ù ·Î±× ÆÄÀÏÀÌ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù
core_efilemiss=¾ø´Â ¿À·ù ·Î±× ÆÄÀÏ
core_eprogmiss=¾ø´Â ¿À·ù ·Î±× ÇÁ·Î±×·¥
core_eperm=·Î±×¸¦ ÇÁ·Î±×·¥¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù
core_allmod=¸ðµç ¸ðµâ
core_selmod=¼±ÅÃÇÑ ¸ðµâ..
core_actmod=È°¼º ¸ðµâ
core_option=¿É¼Ç
core_setdir=µð·ºÅä¸®¿¡ ´ëÇØ ¼³Á¤
core_merge=»óÀ§¿Í º´ÇÕ
core_users=ÇöÀç »ç¿ëÀÚ¸¸
core_groups=ÇöÀç ±×·ì¸¸
core_allusers=À¯È¿ÇÑ ¸ðµç »ç¿ëÀÚ
core_none=¾øÀ½
core_all=¸ðµÎ
core_product=Á¦Ç°¸¸

mod_negotiation_cache=Ä³½Ã ³»¿ë¹° Çù»ó ¹®¼­ÀÔ´Ï±î?
mod_negotiation_pri=´ÙÁß ºä¿¡ ´ëÇÑ ¾ð¾î ¿ì¼± ¼øÀ§
mod_negotiation_def=±âº»°ª
mod_negotiation_epri=¾ø´Â ¾ð¾î ¿ì¼± ¼øÀ§

mod_cgi_logname=CGI ½ºÅ©¸³Æ® ·Î±×
mod_cgi_none=¾øÀ½
mod_cgi_elogname=Àß¸øµÈ CGI ½ºÅ©¸³Æ® ·Î±× ÆÄÀÏ
mod_cgi_logsize=ÃÖ´ë CGI ·Î±× Å©±â
mod_cgi_default=±âº»°ª
mod_cgi_elogsize=CGI ·Î±× Å©±â´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
mod_cgi_post=·Î±×µÈ ÃÖ´ë °Ô½Ã µ¥ÀÌÅÍ Å©±â
mod_cgi_epost=°Ô½Ã µ¥ÀÌÅÍ Å©±â´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
mod_cgi_eunder=CGI ½ºÅ©¸³Æ® ·Î±×°¡ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù

mod_alias_from=½ÃÀÛ
mod_alias_to=³¡
mod_alias_status=»óÅÂ
mod_alias_efrom='$1'Àº(´Â) À¯È¿ÇÑ $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù 
mod_alias_edest='$1'Àº(´Â) À¯È¿ÇÑ $2  ¸ñÀûÁö°¡ ¾Æ´Õ´Ï´Ù 
mod_alias_alias=¹®¼­ µð·ºÅä¸® º°Äª
mod_alias_alias2=¹®¼­ º°Äª
mod_alias_regexp=Á¤±Ô½Ä ¹®¼­ µð·ºÅä¸® º°Äª
mod_alias_regexp2=Á¤±Ô½Ä ¹®¼­ º°Äª
mod_alias_redir=URL ¸®µð·ºÆ®
mod_alias_redir2=URL ¸®µð·ºÆ®
mod_alias_rredir=Á¤±Ô½Ä URL ¸®µð·ºÆ®
mod_alias_rredir2=Á¤±Ô½Ä URL ¸®µð·ºÆ®
mod_alias_tredir=ÀÓ½Ã URL ¸®µð·ºÆ®
mod_alias_tredir2=ÀÓ½Ã URL ¸®µð·ºÆ®
mod_alias_predir=¿µ±¸ URL ¸®µð·ºÆ®
mod_alias_predir2=¿µ±¸ URL ¸®µð·ºÆ®
mod_alias_cgi=CGI µð·ºÅä¸® º°Äª
mod_alias_cgi2=CGI µð·ºÅä¸® º°Äª
mod_alias_rcgi=Á¤±Ô½Ä CGI µð·ºÅä¸® º°Äª
mod_alias_rcgi2=Á¤±Ô½Ä CGI µð·ºÅä¸® º°Äª
mod_alias_estatus='$1'Àº(´Â) À¯È¿ÇÑ »óÅÂ°¡ ¾Æ´Õ´Ï´Ù 

mod_proxy_proxy=ÇÁ·Ï½Ã ¼­¹ö·Î µ¿ÀÛÇÕ´Ï±î?
mod_proxy_req=¿äÃ»
mod_proxy_forw=Àü´Þ ´ë»ó
mod_proxy_all=¸ðµÎ
mod_proxy_match=ÀÏÄ¡ Áß..
mod_proxy_pass=´Ù¸¥ ÇÁ·Ï½Ã·Î Àü´ÞÇÒ ¿äÃ»
mod_proxy_local=·ÎÄÃ URL °æ·Î
mod_proxy_remote=¿ø°Ý URL
mod_proxy_map=URLÀ» ·ÎÄÃ¿¡¼­ ¿ø°ÝÀ¸·Î ¸ÅÇÎ
mod_proxy_block=µµ¸ÞÀÎ¿¡ ´ëÇÑ ¿äÃ» Â÷´Ü
mod_proxy_eblock=Â÷´ÜÇÒ µµ¸ÞÀÎÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù
mod_proxy_type=À¯Çü
mod_proxy_noproxy=´ÙÀ½¿¡ ´ëÇÑ ÇÁ·Ï½Ã ¾øÀ½..
mod_proxy_nopass=´ÙÀ½°ú °°Àº °æ¿ì ´Ù¸¥ ÇÁ·Ï½Ã·Î ¿äÃ»À» Àü´Þ ¾ÈÇÔ
mod_proxy_nodomain=µµ¸ÞÀÎ ¾ø´Â ¿äÃ»¿¡ ´ëÇÑ µµ¸ÞÀÎ
mod_proxy_none=¾øÀ½
mod_proxy_enodomain=Àß¸øµÈ ±âº» µµ¸ÞÀÎ
mod_proxy_connect=¿¬°áÀÌ Çã¿ëµÇ´Â Æ÷Æ®
mod_proxy_default=±âº»°ª
mod_proxy_econnect=Àß¸øµÈ ¿¬°á Æ÷Æ®
mod_proxy_dir=Ä³½Ã µð·ºÅä¸®
mod_proxy_edir=Àß¸øµÈ Ä³½Ã µð·ºÅä¸® ÀÌ¸§
mod_proxy_size=Ä³½Ã Å©±â
mod_proxy_esize=Àß¸øµÈ Ä³½Ã Å©±â
mod_proxy_garbage=¾È¾²´Â Ä³½Ã ¼öÁý °£°Ý
mod_proxy_nogc=¾ÈÇÔ
mod_proxy_hours=½Ã
mod_proxy_egarbage=Àß¸øµÈ ¾È¾²´Â Ä³½Ã ¼öÁý °£°Ý
mod_proxy_maxexp=ÆÄÀÏ ÃÖ´ë ¸¸·á ½Ã°£ Ä³½ÃµÊ
mod_proxy_emaxexp=Àß¸øµÈ Ä³½ÃµÈ ÆÄÀÏ ÃÖ´ë ¸¸·á ½Ã°£
mod_proxy_expfac=ÆÄÀÏ ¸¸·á ½Ã°£ ÀÎ¼ö Ä³½ÃµÊ
mod_proxy_eexpfac=Àß¸øµÈ Ä³½ÃµÈ ÆÄÀÏ ¸¸·á ½Ã°£ ÀÎ¼ö
mod_proxy_levels=Ä³½Ã µð·ºÅä¸® ¼öÁØ
mod_proxy_elevels=Àß¸øµÈ Ä³½Ã µð·ºÅä¸® ¼öÁØ ¹øÈ£
mod_proxy_length=Ä³½Ã µð·ºÅä¸® ÀÌ¸§ ±æÀÌ
mod_proxy_elength=Àß¸øµÈ Ä³½Ã µð·ºÅä¸® ÀÌ¸§ ±æÀÌ
mod_proxy_defexp=Ä³½Ã ±âº» ¸¸·á ½Ã°£
mod_proxy_edefexp=Àß¸øµÈ ±âº» ¸¸·á ½Ã°£
mod_proxy_finish=´ÙÀ½ ½Ã°£ ÀÌÈÄ¿¡ Àü¼Û Á¾·á ¹× Ä³½Ã
mod_proxy_efinish=Àß¸øµÈ Àü¼Û ¹éºÐÀ²
mod_proxy_nocache=Ä³½ÃÇÏÁö ¾ÊÀ» µµ¸ÞÀÎ
mod_proxy_none2=¾øÀ½
mod_proxy_none3=¾øÀ½
mod_proxy_enocache=Ä³½ÃÇÏÁö ¾ÊÀ» µµ¸ÞÀÎÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù
mod_proxy_erequest='$1'Àº(´Â) À¯È¿ÇÑ ¿äÃ»ÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_epurl='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Ï½Ã URLÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_elurl='$1'Àº(´Â) À¯È¿ÇÑ ·ÎÄÃ URL °æ·Î°¡ ¾Æ´Õ´Ï´Ù
mod_proxy_erurl='$1'Àº(´Â) À¯È¿ÇÑ ¿ø°Ý URLÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
mod_proxy_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_edomain='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©°¡ ¾Æ´Õ´Ï´Ù
mod_proxy_enetbit='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©/ºñÆ® ½ÖÀÌ ¾Æ´Õ´Ï´Ù
mod_proxy_eunder=Ä³½Ã µð·ºÅä¸®°¡ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù
mod_proxy_rurl=¿ø°Ý URL
mod_proxy_lurl=·ÎÄÃ URL °æ·Î
mod_proxy_headers=¿ø°Ý À§Ä¡: Çì´õ¿¡¼­ ·ÎÄÃ·Î ¸ÅÇÎ
mod_proxy_ip=IP ÁÖ¼Ò
mod_proxy_host=È£½ºÆ® ÀÌ¸§
mod_proxy_domain=µµ¸ÞÀÎ
mod_proxy_net=IP ³×Æ®¿öÅ©
mod_proxy_netbit=³×Æ®¿öÅ©/ºñÆ®

mod_log_agent_default=±âº»°ª
mod_log_agent_file=ÆÄÀÏ..
mod_log_agent_program=ÇÁ·Î±×·¥..
mod_log_agent_log=ºê¶ó¿ìÀú ·Î±× ÆÄÀÏ
mod_log_agent_efile=$1Àº(´Â) À¯È¿ÇÑ ¿¡ÀÌÀüÆ® ·Î±× ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

mod_log_config_common=ÀÏ¹Ý ·Î±× Çü½Ä
mod_log_config_named=¸í¸íµÈ ·Î±× Çü½Ä
mod_log_config_nick=º°Äª
mod_log_config_format=Çü½Ä
mod_log_config_deflog=±âº» ·Î±× Çü½Ä
mod_log_config_default=±âº»°ª
mod_log_config_write=±â·Ï ´ë»ó
mod_log_config_filprog=ÆÄÀÏ ¶Ç´Â ÇÁ·Î±×·¥
mod_log_config_file=ÆÄÀÏ..
mod_log_config_program=ÇÁ·Î±×·¥..
mod_log_config_log=·Î±× ÆÄÀÏ Á¢±Ù
mod_log_config_enick='$1'Àº(´Â) À¯È¿ÇÑ º°ÄªÀÌ ¾Æ´Õ´Ï´Ù 
mod_log_config_eformat=$1¿¡ ´ëÇØ ÁÖ¾îÁø ·Î±× Çü½ÄÀÌ ¾ø½À´Ï´Ù
mod_log_config_enofilprog=¾ø´Â ·Î±× ÆÄÀÏ ÀÌ¸§ ¶Ç´Â ÇÁ·Î±×·¥
mod_log_config_efilprog='$1'Àº(´Â) Çã¿ëµÈ ·Î±× ÆÄÀÏ ÀÌ¸§ ¶Ç´Â ÇÁ·Î±×·¥ÀÌ ¾Æ´Õ´Ï´Ù
mod_log_config_eifset='If set' ¿É¼ÇÀº ±âº» ·Î±× Çü½Ä°ú ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù

mod_log_A©¬AcAU_default=±âº»°ª
mod_log_A©¬AcAU_file=ÆÄÀÏ..
mod_log_A©¬AcAU_program=ÇÁ·Î±×·¥..
mod_log_A©¬AcAU_log=ÁßÀçÀÚ ·Î±× ÆÄÀÏ
mod_log_A©¬AcAU_nolog=´ÙÀ½¿¡ ´ëÇÑ ÂüÁ¶ ·Î±× ¾ÈÇÔ
mod_log_A©¬AcAU_elog=$1Àº(´Â) À¯È¿ÇÑ ÁßÀçÀÚ ·Î±× ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
mod_log_A©¬AcAU_edir=ÁßÀçÀÚ ·Î±×°¡ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù

mod_status_msg=È®Àå »óÅÂ Á¤º¸ Ç¥½Ã

mod_mime_ext=È®ÀåÀÚ
mod_mime_xtype=Ãß°¡ MIME À¯Çü
mod_mime_mtype=MIME À¯Çü
mod_mime_chandl=ÄÁÅÙÆ® ÇÚµé·¯
mod_mime_cencs=ÄÁÅÙÆ® ÀÎÄÚµù
mod_mime_cenc=ÄÁÅÙÆ® ÀÎÄÚµù
mod_mime_clangs=ÄÁÅÙÆ® ¾ð¾î
mod_mime_clang=ÄÁÅÙÆ® ¾ð¾î
mod_mime_defmime=¸ðµç ÆÄÀÏÀ» MIME À¯ÇüÀ¸·Î Ãë±Þ
mod_mime_real=½ÇÁ¦ À¯Çü
mod_mime_etype=Àß¸øµÈ MIME À¯Çü
mod_mime_pass=¸ðµç ÆÄÀÏÀ» ÇÚµé·¯·Î Àü´Þ
mod_mime_file=MIME À¯Çü ÆÄÀÏ
mod_mime_default=±âº»°ª
mod_mime_ignhand=È®ÀåÀÚ¿¡ ´ëÇÑ ÇÚµé·¯ ¹«½Ã
mod_mime_none=¾øÀ½
mod_mime_xchars=Ãß°¡ ¹®ÀÚ ¼¼Æ®
mod_mime_einvalid='$1'Àº(´Â) À¯È¿ÇÑ $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù 
mod_mime_eext=$1 $2¿¡ ´ëÇØ ÁöÁ¤ÇÑ È®ÀåÀÚ°¡ ¾ø½À´Ï´Ù
mod_mime_type=À¯Çü
mod_mime_handler=ÇÚµé·¯
mod_mime_enc=ÀÎÄÚµù
mod_mime_lang=¾ð¾î
mod_mime_chars=¹®ÀÚ ¼¼Æ®
mod_mime_igntype=È®ÀåÀÚ¿¡ ´ëÇÑ MIME À¯Çü ¹«½Ã
mod_mime_ignenc=È®ÀåÀÚ¿¡ ´ëÇÑ ÀÎÄÚµù ¹«½Ã

mod_setenvif_header=Çì´õ
mod_setenvif_match=ÀÏÄ¡
mod_setenvif_case=´ë¼Ò¹®ÀÚ ±¸ºÐ
mod_setenvif_var=º¯¼ö
mod_setenvif_value=°ª
mod_setenvif_txt=¿äÃ» Çì´õ ±â¹ÝÀÇ º¯¼ö ¼¼Æ®
mod_setenvif_eheader=Àß¸øµÈ ¿äÃ» Çì´õ '$1'
mod_setenvif_eregex=Àß¸øµÈ Á¤±Ô Ç¥Çö½Ä '$1'
mod_setenvif_evar=Àß¸øµÈ º¯¼ö ÀÌ¸§ '$1'
mod_setenvif_clear=Áö¿ì±â

mod_userdir_default=±âº»°ª
mod_userdir_all=¸ðµç »ç¿ëÀÚ Á¢±Ù °¡´É
mod_userdir_except=´ÙÀ½À» Á¦¿ÜÇÑ ¸ðµç »ç¿ëÀÚ
mod_userdir_dir=»ç¿ëÀÚ WWW µð·ºÅä¸®

mod_imap_action=ÀÌ¹ÌÁö ¸ÊÀ» Àß¸ø »ç¿ëÇßÀ» ¶§ÀÇ µ¿ÀÛ
mod_imap_default=±âº»°ª
mod_imap_godefurl=±âº» URL·Î ÀÌµ¿
mod_imap_form=¼­½ÄÈ­µÈ ¸Þ´º Ç¥½Ã
mod_imap_semiform=¹Ý ¼­½ÄÈ­µÈ ¸Þ´º Ç¥½Ã
mod_imap_unform=¼­½ÄÈ­µÇÁö ¾ÊÀº ¸Þ´º Ç¥½Ã
mod_imap_disperr=¼­¹ö ¿À·ù Ç¥½Ã
mod_imap_donoth=µ¿ÀÛ ¾øÀ½
mod_imap_goimap=ÀÌ¹ÌÁö ¸Ê URL·Î ÀÌµ¿
mod_imap_goref=ÂüÁ¶ URL·Î ÀÌµ¿
mod_imap_gourl=URL·Î ÀÌµ¿...
mod_imap_defact=ÀÌ¹ÌÁö ¸Ê¿¡ ´ëÇÑ ±âº» µ¿ÀÛ
mod_imap_default2=±âº»°ª
mod_imap_root=¼­¹ö ·çÆ®
mod_imap_imapurl=ÀÌ¹ÌÁö ¸Ê URL
mod_imap_refurl=ÂüÁ¶ URL
mod_imap_url=URL...
mod_imap_defbase=ÀÌ¹ÌÁö ¸Ê¿¡ ´ëÇÑ ±âº» º£ÀÌ½º
mod_imap_eurl='$1'Àº(´Â) À¯È¿ÇÑ URLÀÌ ¾Æ´Õ´Ï´Ù 

mod_speling_autocorr=URL ¿ÀÅ¸¸¦ ÀÚµ¿À¸·Î Á¤Á¤ÇÕ´Ï±î?
mod_speling_default=±âº»°ª

mod_actions_mime=ÇÚµé·¯/MIME À¯Çü
mod_actions_cgiurl=CGI ½ºÅ©¸³Æ® URL
mod_actions_mimecgi=ÇÚµé·¯ ¶Ç´Â MIME À¯Çü CGI µ¿ÀÛ
mod_actions_http=HTTP ¸Þ¼­µå
mod_actions_cgi=CGI ½ºÅ©¸³Æ®
mod_actions_httpcgi=HTTP ¸Þ¼­µå CGI µ¿ÀÛ
mod_actions_emime='$1'Àº(´Â) À¯È¿ÇÑ ÇÚµé·¯ ¶Ç´Â MIME À¯ÇüÀÌ ¾Æ´Õ´Ï´Ù
mod_actions_ecgi='$1'Àº(´Â) À¯È¿ÇÑ CGI ½ºÅ©¸³Æ®°¡ ¾Æ´Õ´Ï´Ù 
mod_actions_enometh=CGI ½ºÅ©¸³Æ® '$1'¿¡ ´ëÇÑ ¸Þ¼­µå¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù

mod_include_incl=½ÇÇà ºñÆ®°¡ ÀÖ´Â ÆÄÀÏÀÇ includes¸¦ Ã³¸®ÇÕ´Ï±î?
mod_include_set=¼ö¶ô ÈÄ ¸¶Áö¸·À¸·Î ¼öÁ¤ÇÑ ³¯Â¥ ¼³Á¤
mod_include_default=±âº»°ª

mod_dir_txt=µð·ºÅä¸® ÀÎµ¦½º ÆÄÀÏ

mod_autoindex_default=±âº»°ª
mod_autoindex_asc=¿À¸§Â÷¼ø
mod_autoindex_descend=³»¸²Â÷¼ø
mod_autoindex_name=ÀÌ¸§
mod_autoindex_date=³¯Â¥
mod_autoindex_size=Å©±â
mod_autoindex_desc=¼³¸í
mod_autoindex_sort=µð·ºÅä¸® ÀÎµ¦½º Á¤·Ä ±âÁØ

browsermatch_regexp=ºê¶ó¿ìÀú Á¤±Ô½Ä
browsermatch_case=´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÕ´Ï±î?
browsermatch_var=º¯¼ö ¼³Á¤
browsermatch_value=°ª
browsermatch_txt=ºê¶ó¿ìÀú À¯ÇüÀ» ±âÁØÀ¸·Î ¼³Á¤µÈ º¯¼ö
browsermatch_evar=Àß¸øµÈ º¯¼ö ÀÌ¸§ '$1'
browsermatch_clear=Áö¿ì±â

autoindex_fname=ÆÄÀÏ ÀÌ¸§
autoindex_mime=MIME À¯Çü
autoindex_enc=ÀÎÄÚµù
autoindex_icon=¾ÆÀÌÄÜ
autoindex_alt=´ëÃ¼ ÅØ½ºÆ®
autoindex_match=±¸ºÐ ±âÁØ
autoindex_fte=ÆÄÀÏ ÀÌ¸§, À¯Çü ¶Ç´Â ÀÎÄÚµù
autoindex_diricon=µð·ºÅä¸® ÀÎµ¦½º ¾ÆÀÌÄÜ
autoindex_deficon=µð·ºÅä¸® ÀÎµ¦½º ±âº» ¾ÆÀÌÄÜ
autoindex_default=±âº»°ª
autoindex_edeficon=Àß¸øµÈ ±âº» ¾ÆÀÌÄÜ URL
autoindex_diralt=µð·ºÅä¸® ÀÎµ¦½º ALT ÅÂ±×
autoindex_desc=¼³¸í
autoindex_fnames=ÆÄÀÏ ÀÌ¸§
autoindex_dirdesc=µð·ºÅä¸® ÀÎµ¦½º ¸í·É
autoindex_fancy=ÆÒ½Ã µð·ºÅä¸® ÀÎµ¦½º Ç¥½Ã
autoindex_htmltitle=HTML Á¦¸ñÀ» ¼³¸í Çü½ÄÀ¸·Î Ç¥½Ã
autoindex_iheight=¾ÆÀÌÄÜ ³ôÀÌ
autoindex_iwidth=¾ÆÀÌÄÜ ³Êºñ
autoindex_sort=»ç¿ëÀÚÀÇ ¿­ Á¤·Ä Çã¿ë
autoindex_fildesc=ÆÄÀÏ ¼³¸í Ç¥½Ã
autoindex_htags=HTML Çì´õ ÅÂ±× Ãâ·Â
autoindex_mtime=¸¶Áö¸· ¼öÁ¤ ½Ã°£ Ç¥½Ã
autoindex_size=ÆÄÀÏ Å©±â Ç¥½Ã
autoindex_iconlink=¸µÅ©¿¡ ¾ÆÀÌÄÜ Æ÷ÇÔ
autoindex_fwidth=ÆÄÀÏ ÀÌ¸§ ³Êºñ
autoindex_dwidth=¼³¸í ³Êºñ
autoindex_dirfirst=¸Ç Ã³À½ µð·ºÅä¸® Ç¥½Ã
autoindex_default2=±âº»°ª
autoindex_select=¾Æ·¡¿¡ ¼±ÅÃµÈ Ç×¸ñ...
autoindex_default3=±âº»°ª
autoindex_pixels=ÇÈ¼¿
autoindex_chars=¹®ÀÚ
autoindex_diropt=µð·ºÅä¸® ÀÎµ¦½º ¿É¼Ç
autoindex_dirhead=µð·ºÅä¸® ÀÎµ¦½º ¸Ó¸®±Û ÆÄÀÏ
autoindex_default4=±âº»°ª
autoindex_edirhead=Àß¸øµÈ ÀÎµ¦½º ¸Ó¸®±Û ÆÄÀÏ ÀÌ¸§
autoindex_dirfoot=µð·ºÅä¸® ÀÎµ¦½º ¹Ù´Ú±Û ÆÄÀÏ
autoindex_edirfoot=Àß¸øµÈ ÀÎµ¦½º ¹Ù´Ú±Û ÆÄÀÏ ÀÌ¸§
autoindex_ignore=µð·ºÅä¸® ÀÎµ¦½º¿¡¼­ ¹«½ÃÇÒ ÆÄÀÏ
autoindex_eiconurl='$1'Àº(´Â) À¯È¿ÇÑ ¾ÆÀÌÄÜ URLÀÌ ¾Æ´Õ´Ï´Ù 
autoindex_emiss=$2¿¡ ´ëÇÑ $1ÀÌ(°¡) ¾ø½À´Ï´Ù
autoindex_emissquot='$2'¿¡ ´ëÇÑ $1ÀÌ(°¡) ¾ø½À´Ï´Ù
autoindex_enodesc=ÆÄÀÏ $1¿¡ ´ëÇÑ ¼³¸íÀÌ ¾ø½À´Ï´Ù
autoindex_enofile=¼³¸í '$1'¿¡ ´ëÇÑ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
autoindex_eiconsize='$1'Àº(´Â) À¯È¿ÇÑ ¾ÆÀÌÄÜ Å©±â°¡ ¾Æ´Õ´Ï´Ù 
autoindex_ewidth='$1'Àº(´Â) À¯È¿ÇÑ ³Êºñ°¡ ¾Æ´Õ´Ï´Ù 

mod_mime_magic_file=MIME ¸ÅÁ÷ ¼ýÀÚ ÆÄÀÏ
mod_mime_magic_none=¾øÀ½
mod_mime_magic_efile=Àß¸øµÈ MIME ¸ÅÁ÷ ¼ýÀÚ ÆÄÀÏ ÀÌ¸§

mod_env_var=º¯¼ö
mod_env_value=°ª
mod_env_pass=Àü´Þ ¹æ¹ý
mod_env_clear=Áö¿ì±â
mod_env_set=¼³Á¤ ´ë»ó..
mod_env_cgivar=CGI ½ºÅ©¸³Æ®¿¡ ´ëÇÑ È¯°æ º¯¼ö
mod_env_passall=CGI·Î ¸ðµç È¯°æ º¯¼ö¸¦ Àü´Þ
mod_env_default=±âº»°ª
mod_env_evar='$1'Àº(´Â) À¯È¿ÇÑ º¯¼ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
mod_env_evalue='$1'Àº(´Â) À¯È¿ÇÑ º¯¼ö °ªÀÌ ¾Æ´Õ´Ï´Ù 

mod_access_order=Á¢±Ù È®ÀÎ ¼ø¼­:
mod_access_denyallow=°ÅºÎ ÈÄ Çã¿ë
mod_access_allowdeny=Çã¿ë ÈÄ °ÅºÎ
mod_access_mutual=»óÈ£ ½ÇÆÐ
mod_access_default=±âº»°ª
mod_access_action=µ¿ÀÛ
mod_access_cond=Á¶°Ç
mod_access_all=¸ðµç ¿äÃ»
mod_access_host=È£½ºÆ®·ÎºÎÅÍ ¿äÃ»...
mod_access_ip=IP·ÎºÎÅÍ ¿äÃ»..
mod_access_pip=ºÎºÐ IP·ÎºÎÅÍ ¿äÃ»..
mod_access_mask=³Ý/³Ý¸¶½ºÅ©·ÎºÎÅÍ ¿äÃ»..
mod_access_cidr=³Ý/CIDR·ÎºÎÅÍ ¿äÃ»..
mod_access_var=º¯¼ö°¡ ¼³Á¤µÈ °æ¿ì..
mod_access_allow=Çã¿ë
mod_access_deny=°ÅºÎ
mod_access_restr=Á¢±Ù Á¦ÇÑ
mod_access_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
mod_access_epip='$1'Àº(´Â) À¯È¿ÇÑ ºÎºÐ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
mod_access_emask='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©/³Ý¸¶½ºÅ© ½ÖÀÌ ¾Æ´Õ´Ï´Ù
mod_access_ecidr='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©/CIDR ½ÖÀÌ ¾Æ´Õ´Ï´Ù
mod_access_evar='$1'Àº(´Â) À¯È¿ÇÑ º¯¼ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

mod_auth_ufile=»ç¿ëÀÚ ÅØ½ºÆ® ÆÄÀÏ
mod_auth_uedit=»ç¿ëÀÚ ÆíÁý
mod_auth_gfile=±×·ì ÅØ½ºÆ® ÆÄÀÏ
mod_auth_gedit=±×·ì ÆíÁý
mod_auth_pass=½ÇÆÐ¸¦ ´ÙÀ½ ¸ðµâ·Î Àü´ÞÇÕ´Ï±î?
mod_auth_auth=ÅØ½ºÆ® ÆÄÀÏ ÀÎÁõ
mod_auth_eudir=»ç¿ëÀÚ ÅØ½ºÆ® ÆÄÀÏÀÌ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù
mod_auth_egdir=±×·ì ÅØ½ºÆ® ÆÄÀÏÀÌ Çã¿ëµÈ µð·ºÅä¸®¿¡ ÀÖÁö ¾Ê½À´Ï´Ù
mod_auth_eufile=Àß¸øµÈ »ç¿ëÀÚ ÅØ½ºÆ® ÆÄÀÏ ÀÌ¸§
mod_auth_egfile=Àß¸øµÈ ±×·ì ÅØ½ºÆ® ÆÄÀÏ ÀÌ¸§

mod_auth_dbm_ufile=»ç¿ëÀÚ DBM ÆÄÀÏ
mod_auth_dbm_gfile=±×·ì DBM ÆÄÀÏ
mod_auth_dbm_pass=½ÇÆÐ¸¦ ´ÙÀ½ ¸ðµâ·Î Àü´ÞÇÕ´Ï±î?
mod_auth_dbm_auth=DBM ÆÄÀÏ ÀÎÁõ
mod_auth_dbm_eufile=Àß¸øµÈ »ç¿ëÀÚ DBM ÆÄÀÏ ÀÌ¸§
mod_auth_dbm_egfile=Àß¸øµÈ ±×·ì DBM ÆÄÀÏ ÀÌ¸§

mod_cern_meta_process=Çì´õ ¸ÞÅ¸ ÆÄÀÏ Ã³¸®
mod_cern_meta_dir=Çì´õ ¸ÞÅ¸ ÆÄÀÏ¿¡ ´ëÇÑ ÇÏÀ§ µð·ºÅä¸®
mod_cern_meta_default=±âº»°ª
mod_cern_meta_edir=Àß¸øµÈ ¸ÞÅ¸ ÆÄÀÏ ÇÏÀ§ µð·ºÅä¸® ÀÌ¸§
mod_cern_meta_suffix=Çì´õ ¸ÞÅ¸ ÆÄÀÏ¿¡ ´ëÇÑ ÆÄÀÏ Á¢¹Ì»ç
mod_cern_meta_default2=±âº»°ª
mod_cern_meta_esuffix=Àß¸øµÈ ¸ÞÅ¸ ÆÄÀÏ Á¢¹Ì»ç

mod_ssl_enable=SSLÀ» »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
mod_ssl_proto=SSL ÇÁ·ÎÅäÄÝ
mod_ssl_cfile=ÀÎÁõ¼­/°³ÀÎ Å° ÆÄÀÏ
mod_ssl_default=±âº»°ª
mod_ssl_ecfile=¾ø´Â ÀÎÁõ¼­/°³ÀÎ Å° ÆÄÀÏ
mod_ssl_kfile=°³ÀÎ Å° ÆÄÀÏ
mod_ssl_ekfile=¾ø´Â °³ÀÎ Å° ÆÄÀÏ
mod_ssl_clcert=Å¬¶óÀÌ¾ðÆ® SSL ÀÎÁõ¼­
mod_ssl_nreq=ÇÊ¿ä ¾øÀ½
mod_ssl_opt=¼±ÅÃÀû
mod_ssl_req=ÇÊ¼ö
mod_ssl_optca=¼±ÅÃÀû no CA
mod_ssl_cdepth=Å¬¶óÀÌ¾ðÆ® ÀÎÁõ¼­ ±íÀÌ
mod_ssl_ecdepth=ÀÎÁõ¼­ ±íÀÌ´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
mod_ssl_log=SSL ·Î±× ÆÄÀÏ
mod_ssl_elog=¾ø´Â SSL ·Î±× ÆÄÀÏ
mod_ssl_onlyssl=SSL Á¢±Ù¸¸ Çã¿ë

log_global=±Û·Î¹ú $1 ¿É¼Ç º¯°æµÊ
log_virtc=¼­¹ö $1 ÀÛ¼ºµÊ
log_virts=¼­¹ö $1 Àç±¸¼ºµÊ
log_virtd=¼­¹ö $1 »èÁ¦µÊ
log_virtm=¼­¹ö $1 ¼öµ¿À¸·Î ÆíÁýµÊ
log_virt=¼­¹ö $2ÀÇ $1 º¯°æµÊ
log_dirc=µð·ºÅä¸® $1 ÀÛ¼ºµÊ
log_dirc_l=¼­¹ö $2¿¡ µð·ºÅä¸® $1 ÀÛ¼ºµÊ
log_dirs=µð·ºÅä¸® $1 º¯°æµÊ
log_dirs_l=¼­¹ö $2ÀÇ µð·ºÅä¸® $1 º¯°æµÊ
log_dird=µð·ºÅä¸® $1 »èÁ¦µÊ
log_dird_l=¼­¹ö $2ÀÇ µð·ºÅä¸® $1 »èÁ¦µÊ
log_dirm=µð·ºÅä¸® $1 ¼öµ¿À¸·Î ÆíÁýµÊ
log_dirm_l=¼­¹ö $2ÀÇ µð·ºÅä¸® $1 ¼öµ¿À¸·Î ÆíÁýµÊ
log_dir=µð·ºÅä¸® $2ÀÇ $1 º¯°æµÊ
log_dir_l=¼­¹ö $3¿¡ ÀÖ´Â µð·ºÅä¸® $2ÀÇ $1 º¯°æµÊ
log_htaccessc=¿É¼Ç ÆÄÀÏ $1 ÀÛ¼ºµÊ
log_htaccessd=¿É¼Ç ÆÄÀÏ $1 »èÁ¦µÊ
log_htaccessm=¿É¼Ç ÆÄÀÏ $1 ¼öµ¿À¸·Î ÆíÁýµÊ
log_htaccess=¿É¼Ç ÆÄÀÏ $2ÀÇ $1 º¯°æµÊ
log_filesc=$1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç ÀÛ¼ºµÊ
log_filesc_l=ÆÄÀÏ $2ÀÇ $1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç ÀÛ¼ºµÊ
log_filess=$1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç º¯°æµÊ
log_filess_l=ÆÄÀÏ $2ÀÇ $1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç º¯°æµÊ
log_filesd=$1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç »èÁ¦µÊ
log_filesd_l=ÆÄÀÏ $2ÀÇ $1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç »èÁ¦µÊ
log_filesm=$1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç ¼öµ¿À¸·Î ÆíÁýµÊ
log_filesm_l=ÆÄÀÏ $2ÀÇ $1¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼Ç ¼öµ¿À¸·Î ÆíÁýµÊ
log_files=$2¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼ÇÀÇ $1 º¯°æµÊ
log_files_l=ÆÄÀÏ $3¿¡ ÀÖ´Â $2¿¡ ´ëÇÑ ÆÄÀÏ ¿É¼ÇÀÇ $1 º¯°æµÊ
log_mime_modify=MIME À¯Çü $1 ¼öÁ¤µÊ
log_mime_create=MIME À¯Çü $1 Ãß°¡µÊ
log_defines=Á¤ÀÇµÈ ¸Å°³ º¯¼ö º¯°æµÊ
log_reconfig=¾Ë ¼ö ¾ø´Â ¸ðµâ Àç±¸¼ºµÊ
log_start=À¥ ¼­¹ö ½ÃÀÛµÊ
log_stop=À¥ ¼­¹ö ÁßÁöµÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ

search_title=¼­¹ö Ã£±â
search_notfound=ÀÏÄ¡ÇÏ´Â °¡»ó ¼­¹ö°¡ ¾ø½À´Ï´Ù

  070701000270a3000081a40000000000000002000000013d1fe2d100008013000000200000000000000000000000000000001500000003reloc/apache/lang/nl  index_title=Apache Webserver
index_eroot=De Apache root directory $1 bestaat niet. Als u Apache heeft geinstalleerd, pas dan de <a href='$2'>module configuratie</a> aan om de juiste paden te gebruiken.
index_eserver=Het Apache server programma $1 bestaat niet. Als u Apache heeft geinstalleerd, pas dan de <a href='$2'>module configuratie</a> aan om de juiste paden te gebruiken.
index_econf=De Apache configuratie bestand $1 bestaat niet. Als u Apache heeft geinstalleerd, pas dan de <a href='$2'>module configuratie</a> aan om de juiste paden te gebruiken.
index_eports=Uw Apache configuratie bevat meer dan 1 $1 directive. De huidige versie van webmin kan ondersteund deze configuratie niet.
index_global=Globale Configuratie
index_virts=Virtuele Servers
index_defserv=Standaard Server
index_defdesc1=Definieerd de standaard instellingen voor alle andere viruele servers, en verwerkt alle niet beantwoorde verzoeken.
index_any=Alle
index_default=Standaard
index_auto=Automatisch
index_virt=Virtuele Server
index_vname=Verwerkt de op naam gebaseerde server $1 op adres $2.
index_vdef=Verwerkt alle verzoeken die niet door een andere virtuele server worden beantwoord.
index_defdesc2=Definieerd de standaard instellingen voor alle andere virtuele servers.
index_vport=Verwerkt alle processen op poort port $1 die niet door een andere virtuele server worden verwerkt.
index_vaddr=Verwerkt alle verzoeken aan het adres $1.
index_vaddrport=Verwerkt alle verzoeken aan het adres $1 op poort $2.
index_type=Type
index_addr=Adres
index_nv=Voeg naam viruele server toe (wanneer nodig)
index_port=Poort
index_name=Server Naam
index_root=Document Root
index_create=Maak een nieuwe Virtuele Server aan
index_return=server lijst

cvirt_ecannot=U bent niet bevoegd om een virtuele server aan te maken
cvirt_err=Fout bij het aanmaken van de virtuele server
cvirt_eaddr1=Geen adres ingevuld
cvirt_eaddr2='$1' is geen geldig adres
cvirt_eport='$1' is geen geldige poort
cvirt_ename='$1' is geen geldige server naam
cvirt_eroot1=U moet een documenten root opgeven
cvirt_eroot2=Fout bij het maken van directory '$1' : $2

etype=U bent niet bevoegd om de opties van dit type te bewerken
efailed=Fout bij het opslaan van $1
apache_apply=Wijzigingen toepassen
apache_stop=Apache Stoppen
apache_start=Apache Starten
auth_return=Toegangs controle
default_serv=standaard server
bytes=bytes

global_ecannot=U bent niet bevoegd om de globale opties te bewerken
global_mime=Globale MIME types lijst
global_mimedesc=Klik op een MIME type in de onderstaande lijst om het te bewerken, of gebruik de link onderaan de pagina om een nieuw type aan de lijst toe te voegen.
global_type=Type
global_ext=Extensies
global_add=Voeg een nieuw MIME type toe
global_return=MIME types

mime_ecannot=U bent niet bevoegd om myme types te bewerken
mime_edit=Bewerk MIME Type
mime_add=MIME Type Toevoegen
mime_header=Bestandsnaam extenties voor MIME type mapping
mime_type=MIME Type
mime_ext=Extensies
mime_err=Fout bij het opslaan van MIME type
mime_etype='$1' is geen geldig MIME type

virt_ecannot=U kunt deze virtuele server niet bewerken
virt_title=Virtuele Server Opties
virt_header=Voor $1
virt_opts=Virtuele Server Opties
virt_conf=Server Configuratie
virt_show=Toon Directives
virt_edit=Bewerk Directives
virt_adddir=Maak Per-Directory, Bestands of Locatie Opties aan
virt_type=Type
virt_Directory=Directory
virt_Files=Bestanden
virt_Location=Locatie
virt_exact=Exacte overeenkomst
virt_re=Match regexp
virt_regexp=Regexp?
virt_path=Pad
virt_return=server index
virt_euser=U bent niet bevoegd de gebruiker of groep van deze virtuele server te wijzigen.
virt_header2=$1 voor $2

vserv_title=Virtuele Server Configuratie
vserv_ecannot=U kunt niet het adres voor deze virtuele server bewerken
vserv_addr=Adres
vserv_addrs=Adressen
vserv_port=Poort
vserv_any=Alle
vserv_default=Standaard
vserv_root=Document Root
vserv_name=Server Naam
vserv_delete=Verwijder Virtuele Server
vserv_err=Fout bij het opslaan van virtuele server
vserv_eaddr1=Geen adres ingevuld
vserv_eaddr2='$1' is geen geldig adres
vserv_eport='$1' is geen geldige poort
vserv_eroot='$1' is geen geldige document root
vserv_ename='$1' is geen geldige server naam
vserv_eaddrs=Geen virtuele server adressen ingevoerd

show_title=Directives
show_edit=Bewerk Apache directive:
show_these=Bewerk directives met de hand
show_ok=Bewerk

manual_title=Bewerk Directives
manual_header=Gebruik het onderstaande tekstveld om de Apache directives in $1 die van toepassing zijn op deze virtuele server, directory of bestanden.
manual_ecannot=U bent niet bevoegd om directives met de hand te bewerken

dir_title=Per-Directory Opties
dir_header=Voor $1 op $2
dir_show=Geef Directives week
dir_edit=Bewerk Directives
dir_opts=opties van toepassing op ..
dir_Directory=Directory
dir_Files=Bestanden
dir_Location=Locatie
dir_type=Type
dir_regexp=Regexp?
dir_exact=Exacte match
dir_re=Match regexp
dir_path=Pad
dir_return=directory index
dir_header2=$1 voor $2

type_0=Processen en Limieten
type_1=Netwerken en Adressen
type_2=Apache Modules
type_3=Rapport Bestanden
type_4=Toegangs Controle
type_5=Document Opties
type_6=MIME Types
type_7=Fout afhandeling
type_8=Gebruiker en Groep
type_9=Overige
type_10=Aliassen en Redirects
type_11=CGI Programma's
type_12=Directory Indexing
type_13=Proxying
type_14=SSL Opties
type_15=Perl
type_16=PHP

htaccess_title=Per-Directory Optie Bestanden
htaccess_ecannot=U kunt htaccess bestanden niet bewerken
htaccess_desc=Additionele per-directory opties kunnen worden gespecificeerd in een bestand (meestal <tt>.htaccess</tt>) in iedere directory. De opties zijn van toepassing op alle bestanden in die directory en alle sub-directories, tenzij die hun eigen optie bestand hebben.
htaccess_create=Maak Optie bestand aan
htaccess_find=Zoek optie bestanden
htaccess_auto=Automatisch
htaccess_from=Van directory
htaccess_return=optie bestand lijst
htaccess_edir='$1' is geen geldige directory
htaccess_ecreate=U bent niet bevoegd om dit optie bestand aan te maken
htaccess_edelete=U bent niet bevoegd om dit optie bestand te verwijderen

htindex_ecannot=U bent niet bevoegd om dit optie bestand te bewerken
htindex_title=Per-Directory Optie Bestand
htindex_delete=Verwijder Bestand
htindex_show=Toon Directives
htindex_edit=Bewerk Directives
htindex_opts=Per-Directory Opties
htindex_file=Per-Bestands Configuratie
htindex_create=Maak Per-Bestands Opties aan
htindex_regexp=Regexp?
htindex_exact=Exacte overeenkomst
htindex_re=Match regexp
htindex_path=Pad
htindex_header=Voor $1
htindex_header2=$1 voor optie bestand $2
htindex_return=optie bestanden index

htfile_title=Per-File Opties
htfile_header=Voor $1 in $2
htfile_show=Toon Directives
htfile_edit=Bewerk Directives
htfile_apply=Opties van toepassign op ..
htfile_header2=$1 voor $2

reconfig_title=Herconfigureer Bekende Modules
reconfig_ecannot=U bent niet bevoegd om apache te herconfigureren
reconfig_ever=Fout bij het ophalen van de versie van het Apache server programma $1. Controleer uw <a href='$2'>module configuratie</a> om er zeker van te zijn dat het pad correct is.
reconfig_desc1=Uw Apache configuratie is gewijzigd, of is nog niet onderzocht door Webmin. Hieronder staat een lijst van alle Apache modules die door Webmin worden ondersteund, met degenen die nu zijn geinstalleerd geselecteerd. U kunt modules selecteren of deselecteren wanneer de lijst niet klopt.
reconfig_desc2=Hieronder staat een lijst van alle Apache modules die door Webmin worden ondersteund, met degenen die nu zijn geinstalleerd geselecteerd. Als u dynamisch geladen modules gebruikt moet u mogelijk de dynamisch geladen modules aanvinken.
reconfig_ok=Configureer

defines_title=Bewerk Gedefineerde Parameters
defines_ecannot=U bent niet bevoegd om httpd definities te bewerken
defines_desc=Wanneer Apache wordt gestart, kunnen parameters aan apache worden meegegeven met de <tt>-D</tt> command line optie. Omdat deze parameters invlied kunnen uitoefenen op welke directives gebruikt worden in uw configuratie bestanden, moet Webmin weten welke parameters er aan Apache worden meegegeven wanneer het wordt gestart. Vul de parameters die aan apache worden doorgegeven in in het rechtsstaande tekstveld.
defines_config=Merk op dat de volgende gedefinieerde parameters al bekend zijn: $1

authu_ecannot='$1' is niet een toegestaan gebruikers tekxt bestand
authu_title=Gebruikers Lijst
authu_header=In bestand $1
authu_header2=Gebruikers uit tekst bestand $1
authu_none=Geen gebruikers in het tekstbestand $1
authu_add=Voeg een nieuwe gebruiker toe
authu_return=gebruikerslijst
authu_edit=Bewerk gebruiker
authu_create=Maak genbruiker aan
authu_user=Gebruikersnaam
authu_pass=Wachtwoord
authu_enc=Versleuteld..
authu_plain=Niet versleutelde tekst ..
authu_err=Fout bij het opslaan van gebruiker
authu_euser=Geen gebruikersnaam ingevuld
authu_euser2=Het volgende teken mag niet gebruikt worden in een gebruikersnaam :
authu_edup=Een gebruiker '$1' bestaat reeds
authu_sync=De onderstaande opties stellen u in staat om Webmin te configureren voor het automatisch toevoegen, bijwerken of verwijderen van een gebruiker in dit wachtwoord bestand wanneer een gebruiker word toegevoegd, gewijzicht of verwijderd in de <tt>Gebruikers en Groepen</tt> module.
authu_screate=Voeg een gebruiker toe wanneer een Unix gebruiker wordt toegevoegd
authu_sdelete=Verwijder een gebruiker toe wanneer een Unix gebruiker wordt verwijderd
authu_smodify=Wijzig een gebruiker toe wanneer een Unix gebruiker wordt gewijzigd

authg_ecannot='$1' is niet een toegestaan groepen tekxt bestand
authg_title=Groepen lijst
authg_header=In bestand $1
authg_header2=Groepen uit tekst bestand $1
authg_none=Geen groepen in het tekstbestand $1
authg_add=Maak een nietwe groep aan
authg_return=groepen lijst
authg_edit=Bewerk groep
authg_create=Maak groep aan
authg_group=Groep naam
authg_mems=Leden
authg_dont=Niet wijzigen
authg_set=Wijzigen in..
authg_err=Fout bij het opslaan van de groep
authg_euser=Geen groepnaam ingevuld
authg_euser2=Het volgende teken mag niet gebruikt worden in een groepsnaam :
authg_edup=De groep '$1' bestaat al

stop_err=Fout bij het stoppen van apache
stop_ecannot=U bent niet bevoegd om apache te stoppen
stop_epid=Fout bij het openen van PID bestand $1
stop_epid2=Ongeldig PID bestand $1
stop_esig=Fout bij het sturen van SIGTERM naar proces $1

start_err=Fout bij het starten van apache
start_ecannot=U bent niet bevoegd om apache te starten
start_ecmd=$1 mislukt : $2
start_eunknown=Onbekende reden

restart_err=Fout bij het toepassen van de wijzigingen
restart_epid=Fout bij het openen van PID bestand $1
restart_epid2=Ongeldig PID bestand $1
restart_esig=Fout bij het sturen van SIGHUP naar proces $1
restart_eunknown=Onbekende reden

acl_virts=Virtuele servers welke deze  gebruiker kan bewerken
acl_vall=Alle servers
acl_vsel=Geselecteerd..
acl_defserv=Standaard Server
acl_global=Kan globale opties bewerken?
acl_htaccess=alleen .htaccess 
acl_create=Kan virtuele servers aanmaken?
acl_vuser=Kan virtuele server gebruikers wijzigen?
acl_vaddr=Kan virtuele server adressen wijzigen?
acl_pipe=Kan logs naar programma's pipen?
acl_stop=Kan Apache stoppen en starten ?
acl_dir=Beperk bestanden tot directory
acl_types=Beschikbaren directive types 
acl_all=Alle
acl_sel=Geselected..

core_maxconc=Maximum aantal opeenvolgende aanvragen
core_maxkeep=Maximum aantal keepalives per verbinding
core_maxreq=Maximum aantal aanvragen per server proces
core_minspare=Minimum aantal reserve server processen
core_maxspare=Maximum aantal reserve server processen
core_initial=Initiele server processen
core_emaxconc=Maximum aantal opeenvolgende aanvragen moet een integer zijn
core_emaxkeep=Maximum aantal keepalives per verbinding moet een integer zijn
core_emaxreq=Maximum aantal aanvragen per server proces moet een integer zijn
core_eminspare=Minimum aantal reserve server processen moet een integer zijn
core_emaxspare=Maximum aantal reserve server processen moet een integer zijn
core_einitial=Initiele server processen moet een integer zijn
core_default=STandaard
core_cpulimit=CPU resource limiet
core_memlimit=Geheugen resource limiet
core_proclimit=Proces limiet
core_cpulimit2=CPU resource limiet
core_memlimit2=geheugen resource limiet
core_proclimit2=proces limiet
core_slimit=Zachte limiet 
core_hlimit=Harde limiet 
core_eslimit=$1 is geen geldige zachte $2
core_ehlimit=$1 is geen geldige harde $2
core_dport=Standaard poort:
core_address=Adres
core_port=Poort
core_listen=Luister op adressen en poorten
core_eaddress='$1' is geen geldig adres
core_eport='$1' is geen geldige poort
core_eoneaddr=U moet minimaal een adres opgeven om op te luisteren
core_edefport=Ongeldige standaard poort
core_multi=Meerdere aanvragen per verbinding
core_ekeep='$1' is geen geldig aantal keepalives
core_ltwice=Twee keer opzoeken
core_keeptout=Keep-alive timeout
core_lqueue=Luister wachtrij lengte
core_bufsize=TCP zend buffer grote
core_admin=Server beheerder email adres
core_rtout=Aanvraag timeout
core_bhostname=Gebruik door de browser gebruikte hostnaam
core_lookup=Hostnamen opzoeken
core_useauth=Gebruik RFC1413 user lookups
core_altnames=Alternatieve virtuele server namen
core_hostname=Server hostnaam
core_virtaddr=Adressen voor naam virtuele servers
core_ekeeptout=Keep-alive timeout moet een integer zijn
core_elqueue=Luister wachtlijst lengte moet een integer zijn
core_ebufsize=TCP zend buffer grootte moet een integer zijn
core_ertout=Aanvraag timeout moet een integer zijn
core_ehostname=Ongeldige server hostnaam
core_osdefault=OS Standaard
core_noadmin=Geen
core_auto=Automatisch
core_evirtaddr='$1' is geen geldig adres voor naam virtuele server
core_auth=Authenticatie opties
core_mime=MIME types en versleutelingen
core_indexing=Indexering en index bestanden
core_hostacc=Hostname toegangs controle
core_diropts=Directory opties
core_filesel=Hieronder geselecteerd...
core_execcgi=Voer CGI programma's uit
core_flink=Volg symbolische links
core_inclexe=Server-zijde includes en execs
core_incl=Server-zijde includes
core_genind=Genereer directory indexen
core_genmview=Genereer Multiviews
core_flinkmatch=Volg symbolische links als de eigenaar overeenkomt
core_optsel=Hieronde geselecteerd
core_enable=Ingeschakeld
core_disable=Uitgeschakeld
core_optfile=Per-directory optie bestand
core_overr=Optie bestand kan vervangen..
core_genmd5=Genereer MD5 samenvattingen
core_root=Document hoofd directory
core_eoptfile=Slechts een optie bestand is toegestaan
core_enoopt=Geen optie bestand opgegeven
core_enodoc=Document hoofddirectory '$1' bestaat niet
core_sigemail=Email adres
core_signame=Server naam
core_signone=Geen
core_virtpath=Virtuale server pad
core_footer=Foutmelding message voettekst
core_evirtpath=Virtuale server pad moet met een / beginnen
core_defmime=Standaard MIME Type
core_edefmime=Standaard MIME type moet in de vorm type/subtype staan
core_realm=Verificatie realm naam
core_authtype=Verificatie type
core_authall=Alle toegangscontroles
core_authany=Iedere toegangscontrole
core_authlog=Beperk toegang met login
core_satisfy=Clienten moeten satisfy
core_salone=Standalone
core_inetd=Start vanuit inetd
core_verosmod=Versie en OS en modules
core_veros=Versie en OS
core_ver=Alleen Versie
core_coredir=Core dump directory
core_lockfile=Server slot bestand
core_maxbody=Maximum aanvraag body grootte
core_maxhead=Maximum aantal headers in aanvraag
core_maxshead=Maximum aanvraag header grootte
core_maxline=Maximum aanvraag line grootte
core_pid=Server PID vestand
core_memsco=Gedeeld geheugen scorebord bestand
core_exec=Server uitvoering
core_header=Server HTTP header
core_ecore=Ongeldige core dump directory
core_elock=Ongeldig slot bestand
core_ebody=Ongeldige aanvraag body grootte
core_ehead=Ongeldig aantal headers
core_eshead=Ongeldige header grootte
core_eline=Ongeldige aanvraag line grootte
core_epid=Ongeldig PID bestand
core_escore=Ongeldig scorebord bestand
core_sroot=Server hoofddirectory
core_group=Groep naam
core_gid=Groep ID
core_user=Gebrukersnaam
core_uid=GebruikersUser ID
core_asgroup=Voer als Unix groep uit
core_asuser=Voer als Unix gebruiker uit
core_euid='$1' is geen geldige groep ID
core_egid='$1' is geen geldige gebruikers ID
core_tourl=Ga naar URL..
core_mesg=Toon bericht..
core_error=Foutmelding code
core_resp=Reactie
core_urlmsg=URL of bericht
core_custom=Aangepaste foutmedings berichten
core_eerror='$1' is geen geldige foutmelding code
core_eurl='$1' is geen geldige URL
core_syslog=Systeem Log
core_filelog=Bestand 
core_proglog=Programma 
core_errfile=Fout rapport bestand
core_logto=Fouten rapporteren naar
core_efilelog=Ongeldig fout rapport bestand
core_edirlog=Fout rapport bestand bevindt zich niet onder de toegestane directory
core_efilemiss=Ontbrekend fout rapport bestand
core_eprogmiss=Ontbrekend fout rapport programma
core_eperm=U bent niet bevoegd om rapporten naar programma's door te sluizen
core_allmod=Alle modules
core_selmod=Geselecteerde modules..
core_actmod=Actieve modules
core_option=Opties
core_setdir=Instellen voor directory
core_merge=Samenvoegen met ouder
core_users=Alleen deze gebruikers
core_groups=Alleen deze groepen
core_allusers=Alle geldige gebruikers
core_none=Geen
core_all=Alle
core_product=Alleen product


mod_negotiation_0=Inhoud-overlegde documenten bufferen?
mod_negotiation_3=Taal prioriteit voor multi-views
mod_negotiation_def=Standaard
mod_negotiation_5=Ontbrekende taal prioriteiten

mod_cgi_0=CGI Script rapport
mod_cgi_1=Geen
mod_cgi_2=Ongeldig CGI script rapport bestand
mod_cgi_3=Maximum CGI rapport grootte
mod_cgi_4=Standaard
mod_cgi_5=CGI rapport grootte moet een integer zijn
mod_cgi_6=Maximum gerapporteerde post data grootte
mod_cgi_7=Standaard
mod_cgi_8=Post data grootte moet een integer zijn
mod_cgi_9=CGI script rapport bevindt zich niet onder de toegestane directory

mod_alias_from=Van
mod_alias_to=Naar
mod_alias_status=Status
mod_alias_efrom='$1' is geen geldige $2
mod_alias_edest='$1' is geen geldige $2 bestemming
mod_alias_alias=Document directory aliasen
mod_alias_alias2=document alias
mod_alias_regexp=Regexp document directory aliasen
mod_alias_regexp2=regexp document alias
mod_alias_redir=URL omleidingen
mod_alias_redir2=URL omleiding
mod_alias_rredir=Regexp URL omleidingen
mod_alias_rredir2=regexp URL omleiding
mod_alias_tredir=Tijdelijke URL omleidingen
mod_alias_tredir2=tijdelijke URL omleiding
mod_alias_predir=Permanente URL omleidingen
mod_alias_predir2=permanente URL omleiding
mod_alias_cgi=CGI directory aliasen
mod_alias_cgi2=CGI directory alias
mod_alias_rcgi=Regexp CGI directory aliasen
mod_alias_rcgi2=regexp CGI directory alias
mod_alias_status='$1' is geen geldige status

mod_proxy_proxy=Werk als proxy server?
mod_proxy_req=Aanvragen
mod_proxy_forw=Doorsturen naar
mod_proxy_all=Alle
mod_proxy_match=Overeenkomend met..
mod_proxy_pass=Aanvragen om door te sturen naar een andere proxy
mod_proxy_local=Locaal URL pad
mod_proxy_remote=Externe URL
mod_proxy_map=Vertaal locale naar externe URLs
mod_proxy_block=Blokeer aanvragen naar domeinen
mod_proxy_eblock=Geen domainen opgegeven om te blokkeren
mod_proxy_type=Type
mod_proxy_noproxy=Geen proxy voor..
mod_proxy_nopass=Stuur geen aanvragen naar een andere proxy door voor
mod_proxy_nodomain=Domein voor aanvragen zonder domein
mod_proxy_none=Geen
mod_proxy_enodomain=Ongeldig standaard domein
mod_proxy_connect=Poorten naar welke CONNECT is toegestaan
mod_proxy_default=Standaard
mod_proxy_econnect=Ongeldige CONNECT poorten
mod_proxy_dir=Buffer directory
mod_proxy_edir=Ongeldige buffer directory naam
mod_proxy_size=Buffer grootte
mod_proxy_esize=Ongeldige buffer grootte
mod_proxy_garbage=Buffer vuil ophaal interval
mod_proxy_nogc=Nooit
mod_proxy_hours=uren
mod_proxy_egarbage=Ongeldige buffer vuil ophaal interval
mod_proxy_maxexp=Gebufferd bestand maximale verlooptijd
mod_proxy_emaxexp=Ongeldige gebufferd bestand maximale verlooptijd
mod_proxy_expfac=Gebufferd bestand maximale verlooptijd factor
mod_proxy_eexpfac=Ongeldige gebufferd bestand maximale verlooptijd factor
mod_proxy_levels=Buffer directory niveaus
mod_proxy_elevels=Ongeldig aantal buffer directory niveaus
mod_proxy_length=Buffer directory naam lengte
mod_proxy_elength=Ongeldige buffer directory naam lengte
mod_proxy_defexp=Buffer standaard verlooptijd
mod_proxy_edefexp=Ongeldige standaard verlooptijd
mod_proxy_finish=Beeindig en buffer transfer na
mod_proxy_efinish=Ongeldig transfer percentage
mod_proxy_nocache=Domeinen die niet gebuffer moeten worden
mod_proxy_none2=Geen
mod_proxy_none3=Geen
mod_proxy_enocache=Geen ongebufferde domeinen opgegeven
mod_proxy_erequest='$1' is geen geldige aanvraag
mod_proxy_epurl='$1' is geen geldige proxy URL
mod_proxy_elurl='$1' is geen lokaal URL pad
mod_proxy_erurl='$1' is geen geldige externe URL
mod_proxy_eip='$1' is geen geldig IP adres
mod_proxy_ehost='$1' is geen geldige hostnaam
mod_proxy_edomain='$1' is geen geldig domein
mod_proxy_enet='$1' is geen geldig netwerk
mod_proxy_enetbit='$1' is geen geldig netwerk/bits paar
mod_proxy_eunder=Buffer directory bevindt zich niet onder de toegestane directory
mod_proxy_rurl=Externe URL
mod_proxy_lurl=Lokaal URL pad
mod_proxy_headers=Vertaal externe locatie: headers naar lokaal
mod_proxy_ip=IP adaresa
mod_proxy_host=Hostnaam
mod_proxy_domain=Domein
mod_proxy_net=IP netwerk
mod_proxy_netbit=Netwerk/bits

mod_log_agent_default=Standaard
mod_log_agent_file=Bestand..
mod_log_agent_program=Programma..
mod_log_agent_log=Browser rapport bestand
mod_log_agent_efile=$1 is geen geldig browser rapport bestand

mod_log_config_common=Veel gebruikte Rapport Formaten
mod_log_config_named=Benoemde Rapport Formaten
mod_log_config_nick=Bijnaam
mod_log_config_format=Formaat
mod_log_config_deflog=Standaard Rapport Formaat
mod_log_config_default=Standaard
mod_log_config_write=Schrijf naar
mod_log_config_filprog=Bestand of programma
mod_log_config_file=Bestand..
mod_log_config_program=Programma..
mod_log_config_log=Benader rapport bestanden
mod_log_config_enick='$1' is geen geldige bijnaam
mod_log_config_eformat=Geen rapport formaat opgegeven voor $1
mod_log_config_enofilprog=Ontbrekende bestandsnaam of programma
mod_log_config_efilprog='$1' is geen toegestane rapport bestandsnaam of programma
mod_log_config_eifset='Wanneer ingesteld' kunnen opties niet gebruikt worden met het standaard rapport formaat

mod_log_referer_default=Stadnaard
mod_log_referer_file=Bestand..
mod_log_referer_program=Programma..
mod_log_referer_log=Verwijzer rapport bestand
mod_log_referer_nolog=Verwijzingen niet rapporteren van
mod_log_referer_elog=$1 is geen geldig verwijzer rapport bestand
mod_log_referer_edir=verwijzer rapport bevindt zich niet onder de toegestane directory

mod_status_msg=Geef uitgebreide statusinformatie weer

mod_mime_ext=Extenties
mod_mime_xtype=Extra MIME typen
mod_mime_mtype=MIME type
mod_mime_chandl=Inhoud verwerkers
mod_mime_cencs=Inhoud coderingen
mod_mime_cenc=Inhoud coderingen
mod_mime_clangs=Inhoud talen
mod_mime_clang=Inhoud taal
mod_mime_defmime=Behanden alle bestanden als MIME type
mod_mime_real=Werkelijk  type
mod_mime_etype=Ongeldig MIME type
mod_mime_pass=Geef alle bestanden door aan vewerker 
mod_mime_file=MIME typen bestand
mod_mime_default=Standaard
mod_mime_ignhand=Negeer verwerkers voor extenties
mod_mime_none=Geen
mod_mime_xchars=Extra tekenverzameling 
mod_mime_einvalid='$1' is geen geldig $2
mod_mime_eext=Geen extensies opgegeven voor $1 $2
mod_mime_type=Type
mod_mime_handler=Verwerker
mod_mime_enc=Codering
mod_mime_lang=Taal
mod_mime_chars=tekenverzameling 
mod_mime_igntype=Negeer MIME typen voor extenties
mod_mime_ignenc=NEgeer coderingen voor extenties

mod_setenvif_header=Kop
mod_setenvif_match=Vergelijken
mod_setenvif_case=Vergelijk hoofd-/kleine letters 
mod_setenvif_var=Variable
mod_setenvif_value=Waarde
mod_setenvif_txt=Variablen instellen op basis van aanvraag kop
mod_setenvif_eheader=Ongeldige aanvraagkop '$1'
mod_setenvif_eregex=Ongeldige reguliere expressie  '$1'
mod_setenvif_evar=Ongeldige variablenaam '$1'
mod_setenvif_clear=Leeg maken

mod_userdir_default=Standaard
mod_userdir_all=Alle gebruikers toegankelijk
mod_userdir_except=Alle gebruikers uitgezonderd
mod_userdir_dir=Gebruikers WWW directory

mod_imap_action=Actie bij onjuist gebruik van imagemaps
mod_imap_default=Standaard
mod_imap_godefurl=Ga naar standaard URL
mod_imap_form=Geef geformatteerd menu weer
mod_imap_semiform=Geef semi-geformatteerd menu weer
mod_imap_unform=Geef ongeformatteerd menu weer
mod_imap_disperr=Geef server foutmelding weer
mod_imap_donoth=Doe niets
mod_imap_goimap=Ga naar imagemap URL
mod_imap_goref=Ga naar verwijzende URL
mod_imap_gourl=Ga naar URL URL...
mod_imap_defact=Stadnaard acties voor imagemaps
mod_imap_default2=Standaard
mod_imap_root=Server hoofddirectory
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Verwijzende URL
mod_imap_url=URL...
mod_imap_defbase=Stadnaard basis voor imagemaps
mod_imap_eurl='$1' is geen geldige URL

mod_speling_autocorr=Automatisch fout gespelde URLs corrigeren?
mod_speling_default=Standaard

mod_actions_mime=Verwerker / MIME type
mod_actions_cgiurl=CGI script URL
mod_actions_mimecgi=Verwerker of MIME type CGI acties
mod_actions_http=HTTP methode
mod_actions_cgi=CGI script
mod_actions_httpcgi=HTTP methode CGI acties
mod_actions_emime='$1' is geen geldige verwerker of MIME type
mod_actions_ecgi='$1' is geen geldig CGI script
mod_actions_enometh=Geen methode gekozen voor CGI script '$1'

mod_include_incl=Verwerk invoegingen op bestanden met uitvoer bit?
mod_include_set=Ja en stel het de laatst bewerktdatum in
mod_include_default=Standaard

mod_dir_txt=Directory index bestanden

mod_autoindex_default=Standaard
mod_autoindex_asc=Oplopend
mod_autoindex_descend=Aflopend
mod_autoindex_name=Naam
mod_autoindex_date=Datum
mod_autoindex_size=Grootte
mod_autoindex_desc=Omschrijving
mod_autoindex_sort=Sorteer directory index op

browsermatch_regexp=Browser regex
browsermatch_case=Verkelijk hoofd-/kleine letters?
browsermatch_var=Stel variable in
browsermatch_value=Waarde
browsermatch_txt=Variabelen instellen op basis van browsertype
browsermatch_evar=Ongeldige variabelenaam '$1'
browsermatch_clear=Leeg maken

autoindex_fname=Bestandsnaam
autoindex_mime=MIME type
autoindex_enc=Codering
autoindex_icon=Icoon
autoindex_alt=Alt tekst
autoindex_match=Vergelijk op
autoindex_fte=Bestandsnamen, typen of coderingen
autoindex_diricon=Directory index iconen
autoindex_deficon=Directory index standaard icoon
autoindex_default=Standaard
autoindex_edeficon=Ongeldig stadnaard icoon URL
autoindex_diralt=Directory index ALT tags
autoindex_desc=Omschrijving
autoindex_fnames=Bestandsnamen
autoindex_dirdesc=Directory index omschrijvingen
autoindex_fancy=Geef opgemaakte directory indexen weer
autoindex_htmltitle=Toon HTML titel als omschrijving
autoindex_iheight=Icoon hoogte
autoindex_iwidth=Icoon breedte
autoindex_sort=Sta gebruiker sortering van colommen toe
autoindex_fildesc=Geef bestandsomschrijvingen weer
autoindex_htags=Voer HTML hoofd tags uit
autoindex_mtime=Geef laatst bewert tijden weer
autoindex_size=Geef bestandsgrootes weer
autoindex_iconlink=Voe icoon in in link
autoindex_fwidth=Bestandsnaam breedte
autoindex_dwidth=Omschrijving breedte
autoindex_dirfirst=Toon directories eerst
autoindex_default2=Standaard
autoindex_select=Hieronder geselecteerd...
autoindex_default3=Standaard
autoindex_pixels=pixels
autoindex_chars=tekens
autoindex_diropt=Directory index opties
autoindex_dirhead=Directory index kop bestand
autoindex_default4=Stadnaard
autoindex_edirhead=Ongeldige index kop bestandsnaam
autoindex_dirfoot=Directory index voet bestandnaam
autoindex_edirfoot=Ongeldige index voet bestandnaam
autoindex_ignore=Bestanden om te negeren in directory index
autoindex_eiconurl='$1' is geen geldige icoon url
autoindex_emiss=Ontbrekende $1 voor $2
autoindex_emissquot=Ontbrekende $1 voor '$2'
autoindex_enodesc=Geen omschrijving voor bestand $1
autoindex_enofile=Geen bestanden voor omschrijving'$1'
autoindex_eiconsize='$1' is geen geldige icoon grootte
autoindex_ewidth='$1' is geen geldige breedte

mod_mime_magic_file=MIME magisch nummers bestandsnaam
mod_mime_magic_none=Geen
mod_mime_magic_efile=Ongeldig MIME magisch nummers bestandsnaam

mod_env_var=Variable
mod_env_value=Waarde
mod_env_pass=Geef door
mod_env_clear=Legen
mod_env_set=Instellen op..
mod_env_cgivar=Omgevingsvariabelen voor CGI scripts
mod_env_passall=Geef alle omgevingsvariabelen door aan CGIs
mod_env_default=Standaard
mod_env_evar='$1' is geen geldige variabelenaam
mod_env_evalue='$1' is geen geldige variabelewaarde

mod_access_order=Toegangscontrole volgorde:
mod_access_denyallow=Weigeren dan toestaan
mod_access_allowdeny=Toestaan dan weigeren
mod_access_mutual=Wederzijds mislukken
mod_access_default=Standaard
mod_access_action=Actie
mod_access_cond=Verbinding
mod_access_all=Alle aanvragen
mod_access_host=Aanvragen van host...
mod_access_ip=Aanvraag van IP..
mod_access_pip=Aanvraag van gedeeltelijk IP..
mod_access_mask=Aanvraag van net/netmask..
mod_access_cidr=Aanvraag van net/CIDR..
mod_access_var=Wanneer variable is ingesteld..
mod_access_allow=Toestaan
mod_access_deny=Weigeren
mod_access_restr=BEperk toegang
mod_access_eip='$1' is geen geldig IP adres
mod_access_epip='$1' is geen geldig gedeeltelijk IP adres
mod_access_emask='$1' is geen geldig network/netmask paar
mod_access_ecidr='$1' is geen geldig network/CIDR paar
mod_access_evar='$1' is geen geldige variable naam

mod_auth_ufile=Gebruikers tekst bestand
mod_auth_uedit=Gebruikers bewerken
mod_auth_gfile=Groep tekst bestand
mod_auth_gedit=Bewerk groepen
mod_auth_pass=Geef fouten door aan volgende module?
mod_auth_auth=Tekst bestand verificatie
mod_auth_eudir=Gebruikers tekst bestand bevindt zich niet onder de toegestane directory
mod_auth_egdir=Groep tekst bestand bevindt zich niet onder de toegestane directory
mod_auth_eufile=Ongeldige gebruikers tekst bestandsnaam
mod_auth_egfile=Ongeldige groep tekst bestandsnaam

mod_auth_dbm_ufile=Gebruiker DBM bestand
mod_auth_dbm_gfile=Groep DBM bestand
mod_auth_dbm_pass=Geef fouten door aan volgende module?
mod_auth_dbm_auth=DBM bestand verificatie
mod_auth_dbm_eufile=Ongeldige gebruikers DBM bestandsnaam     
mod_auth_dbm_egfile=Ongeldige groep DBM bestandsnaam          

mod_cern_meta_process=Verwerk header metafiles
mod_cern_meta_dir=Subdirectory voor header metafiles
mod_cern_meta_default=Standaard
mod_cern_meta_edir=Ongeldige metafile subdirectory naam
mod_cern_meta_suffix=BEstands voorvoegsel voor header metafiles
mod_cern_meta_default2=Standaard
mod_cern_meta_esuffix=Ongeldig metafile voorvoegsel

mod_ssl_enable=SSL inschakelen?
mod_ssl_proto=SSL protocollen
mod_ssl_cfile=Certificaat/prive sleutel bestand
mod_ssl_default=Standaard
mod_ssl_ecfile=Ontbrekend certificaat/prive sleutel bestand
mod_ssl_kfile=Prive sleutel bestand
mod_ssl_ekfile=Ontbrekend prive sleutel bestand
mod_ssl_clcert=Client SSL certificaat
mod_ssl_nreq=Niet vereist
mod_ssl_opt=Optioneel
mod_ssl_req=Vereist
mod_ssl_optca=Optioneel geen CA
mod_ssl_cdepth=Client certificaat diepte
mod_ssl_ecdepth=Certificate diepte moet een integer zijn
mod_ssl_log=SSL rapport bestand
mod_ssl_elog=Ontbrekend SSL rapport bestand
mod_ssl_onlyssl=Alleen SSL toegang toestaan

log_global=Gewijzigd grlobale $1 opties
log_virtc=Aangemaakt server $1
log_virts=Geherconfigureerd server $1
log_virtd=Verwijderd server $1
log_virtm=Handmatig bewerkt server $1
log_virt=Gewijzigd $1 in server $2
log_dirc=Aangemaakt directory $1
log_dirc_l=Aangemaakt directory $1 in server $2
log_dirs=Gewijzigd directory $1
log_dirs_l=Gewijzigd directory $1 in server $2
log_dird=Verwijderd directory $1
log_dird_l=Verwijderd directory $1 in server $2
log_dirm=Handmatig bewerkt directory $1
log_dirm_l=Handmatig bewerkt directory $1 in server $2
log_dir=Gewijzigd $1 in directory $2
log_dir_l=Gewijzigd $1 in directory $2 in server $3
log_htaccessc=Aangemaakt optiebestand $1
log_htaccessd=Verwijderd optiebestand $1
log_htaccessm=Handmatig bewerkt optie bestand $1
log_htaccess=Gewijzigd $1 in optie bestand $2
log_filesc=Aangemaakt bestandsopties voor $1
log_filesc_l=Aangemaakt bestandsopties voor $1 in bestand $2
log_filess=Gewijzigd bestandsopties voor $1
log_filess_l=Gewijzigd bestandsopties voor $1 in bestand $2
log_filesd=Verwijderd bestandsopties voor $1
log_filesd_l=Verwijderd bestandsopties voor $1 in bestand $2
log_filesm=Handmatig bewerkt bestandsopties voor $1
log_filesm_l=Handmatig bewerkt bestandsopties voor $1 in bestand $2
log_files=Gewijzigd $1 in bestandsopties voor $2
log_files_l=Gewijzigd $1 in bestandsopties voorr $2 in bestand $3
log_mime_modify=Gewijzigd MIME type $1
log_mime_create=Toegevoegd MIME type $1
log_defines=Gewijzigd gedefinieerde parameters
log_reconfig=Geherconfigureerd bekende modules
log_start=Gestart webserver
log_stop=Gestopt webserver
log_apply=Wijzigingen toegepast

 070701000270a4000081a40000000000000002000000013d1fe2d100008963000000200000000000000000000000000000001500000003reloc/apache/lang/pl  index_title=Serwer WWW Apache
index_eroot=G³ówny katalog Apache'a $1 nie istnieje. Je¶li Apache jest zainstalowany, sprawd¼ poprawno¶æ ¶cie¿ek w&nbsp;<a href='$2'>konfiguracji modu³u</a>.
index_eserver=Program serwera Apache $1 nie istnieje. Je¶li Apache jest zainstalowany, sprawd¼ poprawno¶æ ¶cie¿ek w&nbsp;<a href='$2'>konfiguracji modu³u</a>.
index_econf=Plik konfiguracji Apache'a $1 nie istnieje. Je¶li Apache jest zainstalowany, sprawd¼ poprawno¶æ ¶cie¿ek w&nbsp;<a href='$2'>konfiguracji modu³u</a>.
index_eports=Konfiguracja Apache'a zawiera wiêcej ni¿ 1 dyrektywê $1. Aktualna wersja Webmina nie obs³uguje tych ustawieñ.
index_global=Konfiguracja ogólna
index_virts=Serwery wirtualne
index_defserv=Serwer domy¶lny
index_defdesc1=Definiuje domy¶lne ustawienia dla wszystkich serwerów wirtualnych, procesów oraz wszystkich nie obs³ugiwanych ¿±dañ.
index_any=Dowolny
index_default=Domy¶lny
index_auto=Automatycznie
index_virt=Serwer wirtualny
index_vname=Obs³uguje bazuj±cy na nazwach serwer $1 o&nbsp;adresie $2
index_vdef=Przetwarza wszystkie ¿±dania nie obs³ugiwane przez pozosta³e serwery wirtualne.
index_defdesc2=Definiuje domy¶lne ustawienia dla pozosta³ych serwerów wirtualnych.
index_vport=Przetwarza wszystkie ¿±dania na porcie $1 nie obs³ugiwane przez pozosta³e serwery wirtualne.
index_vaddr=Obs³uguje wszystkie ¿±dania dla adresu $1.
index_vaddrport=Obs³uguje wszystkie ¿±dania dla adresu $1 na porcie $2.
index_type=Typ
index_addr=Adres
index_nv=Dodaj (je¶li trzeba) adres opartego na nazwach serwera wirtualnego
index_port=Port
index_name=Nazwa serwera
index_root=Katalog g³ówny dokumentu
index_create=Utwórz nowy serwer wirtualny
index_return=listy serwerów
index_toomany=Zdefiniowano za du¿o wirtualnych serwerów, aby je wszystkie pokazaæ na jednej stronie
index_find=Znajd¼ serwery, dla których
index_equals=jest
index_matches=zawiera
index_nequals=nie jest
index_nmatches=nie zawiera

cvirt_ecannot=Nie masz uprawnieñ do tworzenia serwera wirtualnego
cvirt_err=Utworzenie serwera wirtualnego nie powiod³o siê
cvirt_eaddr1=Nie wpisano adresu
cvirt_eaddr2='$1' nie jest poprawnym adresem
cvirt_eport='$1' nie jest poprawnym portem
cvirt_ename='$1' nie jest poprawn± nazw± serwera
cvirt_eroot1=Musisz wpisaæ katalog g³ówny dla dokumentów
cvirt_eroot2=Utworzenie katalogu '$1' nie powiod³o siê: $2
cvirt_etaken=Serwer wirtualny o&nbsp;takiej nazwie ju¿ istnieje na tym porcie

etype=Nie masz uprawnieñ do zmiany opcji tego typu
efailed=Nie uda³o siê zachowaæ $1
apache_apply=Zastosuj
apache_stop=Wy³±cz Apache'a
apache_start=Uruchom Apache'a
auth_return=kontroli dostêpu
default_serv=serwera domy¶lnego
bytes=bajtów

global_ecannot=Nie masz uprawnieñ do zmiany opcji ogólnych
global_mime=Globalna lista typów MIME
global_mimedesc=Kliknij na typie MIME z&nbsp;listy, by go zmieniæ lub skorzystaj z&nbsp;odno¶nika u&nbsp;do³u strony, by dodaæ typ do listy.
global_type=Typ
global_ext=Rozszerzenie
global_add=Dodaj nowy typ MIME
global_return=typów MIME

mime_ecannot=Nie masz uprawnieñ do zmian typów MIME
mime_edit=Zmieñ typ MIME
mime_add=Dodaj typ MIME
mime_header=Mapowanie rozszerzeñ dla typu MIME
mime_type=typ MIME
mime_ext=Rozszerzenie
mime_err=Nie uda³o siê zachowaæ typu MIME
mime_etype='$1' nie jest poprawnym typem MIME

virt_ecannot=Nie masz uprawnieñ do zmiany tego serwera wirtualnego
virt_title=Opcje serwera wirtualnego
virt_header=Dla $1
virt_opts=Opcje serwera wirtualnego
virt_conf=Konfiguracja serwera
virt_show=Poka¿ dyrektywy
virt_edit=Zmieñ dyrektywy
virt_adddir=Utwórz opcje dla plików, katalogów lub lokacji
virt_type=Dotyczy
virt_Directory=katalogu
virt_Files=plików
virt_Location=lokacji
virt_exact=Nie, dok³adny wzorzec
virt_re=Tak
virt_regexp=Wyr. regularne?
virt_path=¦cie¿ka
virt_return=indeksu serwerów
virt_euser=Nie masz uprawnieñ do zmiany u¿ytkownika lub grupy dla tego serwera wirtualnego
virt_header2=$1 dla $2

vserv_title=Konfiguracja serwera wirtualnego
vserv_ecannot=Nie mo¿esz zmieniaæ adresu tego serwera wirtualnego
vserv_addr=Adres
vserv_addrs=Adresy
vserv_port=Port
vserv_any=Dowolny
vserv_default=Domy¶lny
vserv_root=Katalog g³ówny dla dokumentu
vserv_name=Nazwa serwera
vserv_delete=Usuñ serwer wirtualny
vserv_err=Nie uda³o siê zachowaæ serwera wirtualnego
vserv_eaddr1=Nie podano adresu
vserv_eaddr2='$1' nie jest poprawnym adresem
vserv_eport='$1' nie jest poprawnym portem
vserv_eroot='$1' nie jest poprawnym katalogiem g³ównym dla dokumentów
vserv_ename='$1' nie jest poprawn± nazw± serwera
vserv_eaddrs=Nie podano ¿adnego adresu dla serwerów wirtualnych

show_title=Dyrektywy
show_edit=Zmieñ dyrektywy Apache'a:
show_these=Zmieñ rêcznie dyrektywy Apache'a
show_ok=Zmieñ

manual_title=Zmieñ dyrektywy
manual_header=U¿yj poni¿szej ramki, aby rêcznie zmieniæ dyrektywy Apache'a w&nbsp;$1, które dotycz± tego serwera wirtualnego, katalogu lub plików.
manual_ecannot=Nie masz uprawnieñ do rêcznej zmiany dyrektyw

dir_title=Opcje dotycz±ce katalogów
dir_header=Dla $1 na $2
dir_show=Poka¿ dyrektywy
dir_edit=Zmieñ dyrektywy
dir_opts=Opcje dotycz± ..
dir_Directory=katalogu
dir_Files=plików
dir_Location=lokacji
dir_type=Dotyczy
dir_regexp=Wyra¿enie regularne?
dir_exact=Dok³adny wzorzec
dir_re=Dopasuj wyra¿enie regularne
dir_path=¦cie¿ka
dir_return=indeksu katalogów
dir_header2=$1 dla $2

type_0=Procesy i&nbsp;ograniczenia
type_1=Sieæ oraz adresy
type_2=Modu³y Apache'a
type_3=Logowanie
type_4=Kontrola dostêpu
type_5=Opcje dokumentów
type_6=Typy MIME
type_7=Obs³uga b³êdów
type_8=U¿ytkownicy i&nbsp;grupy
type_9=Ró¿ne
type_10=Aliasy i&nbsp;przekierowania
type_11=Skrypty CGI
type_12=Indeksowanie katalogów
type_13=Serwery proxy
type_14=Opcje SSL
type_15=Perl
type_16=PHP
type_17=Automatyczne hosty wirtualne

htaccess_title=Pliki opcji dla katalogów
htaccess_ecannot=Nie mo¿esz modyfikowaæ plików <tt>htaccess</tt>
htaccess_desc=Dodatkowe opcje dla katalogów mog± byæ okre¶lone w&nbsp;pliku (z&nbsp;regu³y nazywanym <tt>.htaccess</tt>) w&nbsp;ka¿dym katalogu. Opcje dotycz± wszystkich plików w&nbsp;tym katalogu i&nbsp;wszystkich podkatalogach, o&nbsp;ile nie zostan± zmienione przez inny plik opcji.
htaccess_create=Utwórz plik opcji
htaccess_find=Znajd¼ pliki opcji
htaccess_auto=Automatycznie
htaccess_from=Od katalogu
htaccess_return=listy plików opcji
htaccess_edir='$1' nie jest poprawnym katalogiem
htaccess_ecreate=Nie masz uprawnieñ do tworzenia pliku opcji
htaccess_edelete=Nie masz uprawnieñ do kasowania tego pliku opcji

htindex_ecannot=Nie masz uprawnieñ do zmian tego pliku opcji
htindex_title=Plik opcji dotycz±cych katalogów
htindex_delete=Skasuj plik
htindex_show=Poka¿ dyrektywy
htindex_edit=Zmieñ dyrektywy
htindex_opts=Opcje dotycz±ce katalogów
htindex_file=Konfiguracja dotycz±ca plików
htindex_create=Utwórz opcje dotycz±ce katalogów
htindex_regexp=Wyra¿enie regularne?
htindex_exact=Dok³adny wzorzec
htindex_re=Dopasuj wyra¿enie regularne
htindex_path=¦cie¿ka
htindex_header=Dla $1
htindex_header2=$1 dla pliku opcji $2
htindex_return=pliku opcji

htfile_title=Opcje dotycz±ce plików
htfile_header=Dla $1 na $2
htfile_show=Poka¿ dyrektywy
htfile_edit=Zmieñ dyrektywy
htfile_apply=Opcje dotycz± ..
htfile_header2=$1 dla $2

reconfig_title=Rekonfiguruj znane modu³y
reconfig_ecannot=Nie masz uprawnieñ do rekonfiguracji Apache'a
reconfig_ever=Nie uda³o siê okre¶liæ wersji aplikacji serwera Apache $1. Sprawd¼ <a href='$2'>konfiguracjê modu³u</a>, aby upewniæ siê, ¿e podano poprawn± ¶cie¿kê.
reconfig_desc1=Konfiguracja Apache'a zosta³a zmieniona lub nie by³a jeszcze sprawdzana przez Webmina. Poni¿ej znajduje siê lista wszystkich obs³ugiwanych przez Webmina modu³ów Apache'a. Te z&nbsp;nich, które s± zainstalowane, zosta³y zaznaczone. Mo¿esz zaznaczyæ lub odznaczyæ niektóre z&nbsp;nich, je¶li lista nie jest prawdziwa.
reconfig_desc2=Poni¿ej znajduje siê lista wszystkich modu³ów Apache'a obs³ugiwanych przez Webmina, te które zosta³y zainstalowane s± zaznaczone. Je¶li korzystasz z&nbsp;dynamicznie uruchomionych modu³ów, powinienne¶ zaznaczyæ je rêcznie.
reconfig_desc3=Je¶li nie jeste¶ pewien, które modu³y Apache'a s± obs³ugiwane przez Twój system, po protu naci¶nij Rekonfiguruj, gdy¿ Webmin zazwyczaj potrafi okre¶liæ ich listê automatycznie.
reconfig_ok=Rekonfiguruj

defines_title=Zmieñ zdefiniowane parametry
defines_ecannot=Nie masz uprawnieñ do zmian definicji httpd
defines_desc=Podczas uruchamiania Apache'a parametry mog± byæ przekazywane za pomoc± opcji <tt>-D</tt> z&nbsp;linii poleceñ. Poniewa¿ parametry te mog± wp³ywaæ na dyrektywy u¿ywane w&nbsp;plikach konfiguracyjnych, Webmin musi wiedzieæ, które z&nbsp;nich przekazywane s± Apache'owi podczas uruchamiania. Wpisz te parametry w&nbsp;polu po prawej.
defines_config=Zauwa¿, ¿e nastêpuj±ce definiowalne parametry zosta³y ju¿ okre¶lone&nbsp;: $1

authu_ecannot='$1' nie jest plikiem z&nbsp;uprawnionymi u¿ytkownikami
authu_title=Lista u¿ytkowników
authu_header=W&nbsp;pliku $1
authu_header2=U¿ytkownicy z&nbsp;pliku $1
authu_none=Brak u¿ytkowników w&nbsp;pliku $1
authu_add=Dodaj nowego u¿ytkownika
authu_return=lista u¿ytkowników
authu_edit=Zmieñ u¿ytkownika
authu_create=Utwórz u¿ytkownika
authu_user=Nazwa u¿ytkownika
authu_pass=Has³o
authu_enc=Zakodowane..
authu_plain=Otwartym tekstem..
authu_err=Nie uda³o siê zachowaæ u¿ytkownika.
authu_euser=Nie podano nazwy u¿ytkownika
authu_euser2=Nazwa u¿ytkownika nie mo¿e zawieraæ&nbsp;':'
authu_edup=U¿ytkownik o&nbsp;nazwie '$1' ju¿ istnieje
authu_sync=Poni¿sze opcje pozwalaj± na skonfigurowanie Webmina tak, aby automatycznie dodawa³, uaktualnia³, kasowa³ u¿ytkownika z&nbsp;tego pliku hase³, gdy jest on dodawany, modyfikowany lub usuwany w&nbsp;module <tt>U¿ytkownicy i&nbsp;grupy</tt>
authu_screate=Twórz u¿ytkownika, gdy u¿ytkownik uniksowy jest tworzony
authu_sdelete=Usuwaj u¿ytkownika, gdy u¿ytkownik uniksowy jest usuwany
authu_smodify=Zmieniaj u¿ytkownika, gdy u¿ytkownik uniksowy jest zmieniany

authg_ecannot='$1' nie jest dopuszczalnym plikiem grup
authg_title=Lista grup
authg_header=W&nbsp;pliku $1
authg_header2=Grupy z&nbsp;pliku $1
authg_none=Brak grup w&nbsp;pliku $1
authg_add=Dodaj now± grupê
authg_return=listy grup
authg_edit=Zmieñ grupê
authg_create=Utwórz grupê
authg_group=Nazwa grupy
authg_mems=Cz³onkowie
authg_dont=Nie zmieniaj
authg_set=Zmieñ na..
authg_err=Nie uda³o siê zachowaæ grupy
authg_euser=Nie podano nazwy grupy
authg_euser2=Nazwa grupy nie mo¿e zawieraæ&nbsp;':'
authg_edup=Grupa o&nbsp;nazwie '$1' ju¿ istnieje

stop_err=Nie uda³o siê wy³±czyæ Apache'a
stop_ecannot=Nie masz uprawnieñ do wy³±czania Apache'a
stop_epid=Nie uda³o siê otworzyæ pliku z&nbsp;numerem PID $1
stop_epid2=Niepoprawny plik z&nbsp;numerem PID $1
stop_esig=Nie uda³o siê wys³aæ sygna³u SIGTERM do procesu $1

start_err=Uruchomienie Apache'a nie powiod³o siê
start_ecannot=Nie masz uprawnieñ do uruchamiania Apache'a
start_ecmd=$1 nie powiod³o siê&nbsp;: $2
start_eunknown=Nieznana przyczyna

restart_err=Nie uda³o siê zastosowaæ zmian
restart_epid=Nie uda³o siê otworzyæ piku z&nbsp;numerem PID $1
restart_epid2=Niepoprawny plik z&nbsp;numerem PID $1
restart_esig=Wysy³anie sygna³u SIGHUP do procesu $1
restart_eunknown=Nieznana przyczyna

acl_virts=Wirtualne serwery, które ten u¿ytkownik mo¿e zmieniaæ
acl_vall=Wszywtkie
acl_vsel=Wybrane..
acl_defserv=Serwer domy¶lny
acl_global=Mo¿e zmieniaæ ustawienia ogólne?
acl_htaccess=tylko .htaccess
acl_create=Mo¿e tworzyæ wirualne serwery?
acl_vuser=Mo¿e zmieniaæ u¿ytkowników serwera wirtualnego?
acl_vaddr=Mo¿e zmieniaæ adresy wirtualnych serwerów?
acl_pipe=Mo¿e przekierowywaæ logi do programów?
acl_stop=Mo¿e w³±czaæ i&nbsp;wy³±czaæ Apache'a
acl_dir=Limit ilo¶ci plików w&nbsp;katalogu
acl_types=Dostêpne typy dyrektyw
acl_all=Wszystkie
acl_sel=Wybrane..

core_maxconc=Maksymalna liczba jednoczesnych zapytañ
core_maxkeep=Maksymalna liczba podtrzymañ po³±czenia
core_maxreq=Maksymalna liczba zapytañ dla procesu serwera
core_minspare=Minimalna liczba zapasowych procesów serwera
core_maxspare=Maksymalna liczba zapasowych procesów serwera
core_initial=Pocz±tkowa liczba procesów serwera
core_emaxconc=Maksymalna liczba jednoczesnych zapytañ musi byæ liczb± ca³kowit±
core_emaxkeep=Maksymalna liczba podtrzymañ po³±czenia musi byæ liczb± ca³kowit±
core_emaxreq=Maksymalna liczba zapytañ dla procesu serwera musi byæ liczb± ca³kowit±
core_eminspare=Minimalna liczba zapasowych procesów serwera musi byæ liczb± ca³kowit±
core_emaxspare=Maksymalna liczba zapasowych procesów serwera musi byæ liczb± ca³kowit±
core_einitial=Pocz±tkowa liczba procesów serwera musi byæ liczb± ca³kowit±
core_default=Domy¶lne
core_cpulimit=Ograniczenie wykorzystania CPU
core_memlimit=Ograniczenie wykorzystania pamiêci
core_proclimit=Ograniczenie liczby procesów
core_cpulimit2=ograniczenie wykorzystania CPU
core_memlimit2=ograniczenie wykorzystania pamiêci
core_proclimit2=ograniczenie liczby procesów
core_slimit=Ograniczenie miêkkie
core_hlimit=Ograniczenie twarde
core_eslimit=$1 nie jest poprawnym miêkkim $2
core_ehlimit=$1 nie jest poprawnym twardym $2
core_dport=Domy¶lny port:
core_address=Adres
core_port=Port
core_listen=Nas³uchiwanie na adresach i&nbsp;portach
core_eaddress='$1' nie jest poprawnym adresem
core_eport='$1' nie jest poprawnym portem
core_eoneaddr=Musisz podaæ co najmniej jeden adres, na którym serwer bêdzie nas³uchiwaæ
core_edefport=Niepoprawny port domy¶lny
core_multi=Wielokrotne zapytania w&nbsp;jednym po³±czeniu
core_ekeep='$1' nie jest poprawn± liczb± podtrzymañ po³±czenia
core_ltwice=Poszukiwaæ dwukrotnie
core_keeptout=Czas przeterminowania podtrzymania po³±czenia
core_lqueue=Rozmiar kolejki nas³uchiwania
core_bufsize=Rozmiar bufora nadawczego TCP
core_admin=Adres e-mail administratora serwera
core_rtout=Czas przeterminowania zapytania
core_bhostname=U¿yæ nazwy hosta podanej przez przegl±darkê
core_lookup=Poszukiwaæ nazw hostów
core_useauth=Dokonywaæ identyfikacji u¿ytkowników wg RFC1413
core_altnames=Alternatywne nazwy serwerów wirtualnych
core_hostname=Nazwa hosta serwera
core_virtaddr=Adresy dla serwerów wirtualnych opartych na nazwach
core_ekeeptout=Czas przeterminowania podtrzymania musi byæ liczb± ca³kowit±
core_elqueue=Rozmiar kolejki nas³uchiwania musi byæ liczb± ca³kowit±
core_ebufsize=Rozmiar bufora nadawczego TCP musi byæ liczb± ca³kowit±
core_ertout=Czas przeterminowania zapytania musi byæ liczb± ca³kowit±
core_ehostname=Niepoprawna nazwa hosta serwera
core_osdefault=Domy¶lny dla OS
core_noadmin=Brak
core_auto=Automatycznie
core_evirtaddr='$1' nie jest poprawnym adresem dla opartych na nazwie serwerów wirtualnych
core_auth=Opcje autoryzacji
core_mime=Typy MIME i&nbsp;kodowanie
core_indexing=Indeksowanie i&nbsp;pliki indeksowe
core_hostacc=Kontrola dostêpu opatra o&nbsp;nazwy hostów
core_diropts=Opcje katalogów
core_filesel=Wybrane poni¿ej...
core_execcgi=Uruchamianie programy CGI
core_flink=¦ledzenie dowi±zañ sybmolicznych
core_inclexe=W³±czanie plików i&nbsp;programów po stronie serwera
core_incl=W³±czanie plików po stronie serwera
core_genind=Generowanie indeksów dla katalogów
core_genmview=Generowanie wielowidoki
core_flinkmatch=¦ledzenie dowi±zañ sybmolicznych przy zgodnym u¿ytkowniku
core_optsel=Ustawione poni¿ej..
core_enable=W³±czone
core_disable=Wy³±czone
core_optfile=Pliki opcji dla katalogów
core_overr=Opcje w&nbsp;pliku maj± priorytet..
core_genmd5=Generowaæ sumê kontroln± MD5
core_docroot=Katalog g³ówny dla dokumentów
core_eoptfile=Mo¿e byæ tylko jeden plik opcji
core_enoopt=Nie podano nazwy pliku opcji
core_enodoc=Katalog g³ówny dla dokumentów '$1' nie istnieje
core_sigemail=Adres e-mail
core_signame=Nazwa serwera
core_signone=Brak
core_virtpath=¦cie¿ka dla serwera wirtualnego
core_footer=Stopka komunikatu o&nbsp;b³êdzie
core_evirtpath=¦cie¿ka dla serwera wirtualnego musi siê zaczynaæ od /
core_defmime=Domy¶lny typ MIME
core_edefmime=Domy¶lny typ MIME musi byæ postaci typ/podtyp
core_realm=Nazwa dziedziny autoryzacji
core_authtype=Rodzaj autoryzacji
core_authall=Wszystkie rodzaje autoryzacji
core_authany=Dowolny rodzaj autoryzacji
core_authlog=Wymuszenie logowania
core_satisfy=Klienci musz± spe³niæ
core_salone=Wolnostoj±cy
core_inetd=Uruchamiany przez <tt>inetd</tt>
core_verosmod=Wersja OS i modu³y
core_veros=Wersja i OS
core_ver=Tylko wersja
core_coredir=Katalog zrzutu pamiêci
core_lockfile=Plik blokady serwera
core_maxbody=Maksymalny rozmiar czê¶ci podstawowej zapytania
core_maxhead=Maksymalna ilo¶æ nag³ówków w&nbsp;zapytaniu
core_maxshead=Maksymalny rozmiar nag³ówków w&nbsp;zapytaniu
core_maxline=Maksymalna d³ugo¶æ linii w&nbsp;zapytaniu
core_pid=Nr PID serwera
core_memsco=Plik rejestru pamiêci wspó³dzielonej
core_exec=Sposób uruchamiania serwera
core_header=Nag³ówek HTTP serwera
core_ecore=Niepoprawny katalog zrzutu pamiêci
core_elock=Niepoprawny plik blokady
core_ebody=Niepoprawny rozmiar czê¶ci podstawowej
core_ehead=Niepoprawna liczna nag³ówków
core_eshead=Niepoprawny rozmiar nag³ówka
core_eline=Niepoprawna d³ugo¶æ linii zapytania
core_epid=Niepoprawny plik numeru PID
core_escore=Niepoprawny plik rejestru
core_sroot=Katalog g³ówny serwera
core_group=Nazwa grupy
core_gid=Nr ID grupy
core_user=Nazwa u¿ytkownika
core_uid=Nr ID u¿ytkownika
core_asgroup=Uruchom jako grupa Uniksa
core_asuser=Uruchom jako u¿ytkownik Uniksa
core_euid='$1' nie jest poprawnym ID u¿ytkownika
core_egid='$1' nie jest poprawnym ID grupy
core_tourl=Przejd¼ do URL-a..
core_mesg=Poka¿ komunikat..
core_error=Kod b³êdu
core_resp=Odpowied¼
core_urlmsg=URL lub komunikat
core_custom=W³asne komunikaty b³êdów
core_eerror='$1' nie jest poprawnym kodem b³êdu
core_eurl='$1' nie jest poprawnym URL-em
core_syslog=Logowania systemowego
core_filelog=Pliku
core_proglog=Programu 
core_errfile=Plik logowania b³êdów
core_logto=B³êdy logowane do
core_efilelog=Niepoprawny plik logowania b³êdów
core_edirlog=Plik logowania b³êdów nie znajduje siê w&nbsp;dozwolonym katalogu
core_efilemiss=Brak pliku logowania b³êdów
core_eprogmiss=Brak programu logowania b³êdów
core_eperm=Nie masz uprawnieñ do przekierowywania logowania do programów
core_allmod=Wszystkie modu³y
core_selmod=Wybrane modu³y..
core_actmod=Modu³y aktywne
core_option=Opcja
core_setdir=Ustawiæ dla katalogu
core_merge=Uwzglêdniæ ustawienia dla nadrzêdnego
core_users=Tyko u¿ytkownicy
core_groups=Tyko grupy
core_allusers=Wszyscy dopuszczeni u¿ytkownicy
core_none=¯aden
core_all=Wszystkie
core_product=Tylko produkt

mod_negotiation_cache=Buforowaæ dokumenty o&nbsp;negocjowanej zawarto¶ci?
mod_negotiation_pri=Priorytety jêzyków dla wielowidoków
mod_negotiation_def=Default
mod_negotiation_epri=Nie podano priorytetów jêzyków

mod_cgi_logname=Plik logowania skryptów CGI
mod_cgi_none=Brak
mod_cgi_elogname=Niepoprawny plik logowania skryptów CGI
mod_cgi_logsize=Maksymalny rozmiar logu CGI
mod_cgi_default=Default
mod_cgi_elogsize=Rozmiar logu CGI musi byæ liczb± ca³kowit±.
mod_cgi_post=Maksymalny rozmiar logowanych przes³anych danych
mod_cgi_epost=Rozmiar przes³anych danych musi byæ liczb± ca³kowit±.
mod_cgi_eunder=Plik logowania skryptów CGI nie znajduje siê w&nbsp;dozwolonym katalogu.

mod_alias_from=Z
mod_alias_to=Do
mod_alias_status=Stan
mod_alias_efrom='$1' nie jest poprawnym $2.
mod_alias_edest='$1' nie jest poprawnym $2 celu.
mod_alias_alias=Aliasy katalogu dokumentów
mod_alias_alias2=aliasem dokumentu
mod_alias_regexp=Wyra¿enie regularne dla katalogu dokumentów
mod_alias_regexp2=wyra¿eniem regularnym dla dokumentów
mod_alias_redir=URL-e przekierowania
mod_alias_redir2=URL-em przekierowania
mod_alias_rredir=Wyra¿enie regularne dla URL-i przekierowania
mod_alias_rredir2=wyra¿eniem regularnym dla URL-i przekierowania
mod_alias_tredir=Tymczasowe URL-e przekierowania
mod_alias_tredir2=tymczasowym URL-em przekierowania
mod_alias_predir=Sta³e URL-e przekierowania
mod_alias_predir2=sta³ym URL-em przekierowania
mod_alias_cgi=Aliasy katalogów CGI
mod_alias_cgi2=aliasem katalogów CGI
mod_alias_rcgi=Wyra¿enie regularne dla katalogów CGI
mod_alias_rcgi2=wyra¿eniem regularnym dla katalogów CGI
mod_alias_estatus='$1' nie jest poprawnym stanem.

mod_proxy_proxy=Dzia³aæ jako serwer proxy?
mod_proxy_req=Zapytania
mod_proxy_forw=Przekierowaæ do
mod_proxy_all=Wszystkie
mod_proxy_match=Pasuj±ce do..
mod_proxy_pass=Zapytania przekazywane innym proxy
mod_proxy_local=¦cie¿ka lokalnego URL-a
mod_proxy_remote=Zdalny URL
mod_proxy_map=Zast±p lokalne URL-e zdalnymi
mod_proxy_block=Zablokowaæ zapytania do domen
mod_proxy_eblock=Nie podano domen do zablokowania
mod_proxy_type=Typ
mod_proxy_noproxy=Bez proxy dla..
mod_proxy_nopass=Nie przekazuj innym proxy zapytañ o
mod_proxy_nodomain=Domena dla zapytañ bez domeny
mod_proxy_none=Brak
mod_proxy_enodomain=Niepoprawna domy¶lna domena
mod_proxy_connect=Porty, do których zezwolono na CONNECT
mod_proxy_default=Domy¶lne
mod_proxy_econnect=Niepoprawne porty dla CONNECT
mod_proxy_dir=Katalog buforów cache
mod_proxy_edir=Niepoprawna nazwa katalogu buforów cache
mod_proxy_size=Rozmiar buforów cache
mod_proxy_esize=Niepoprawny rozmiar buforów cache
mod_proxy_garbage=Okres pomiêdzy czyszczeniami buforów cache
mod_proxy_nogc=Nie czy¶æ
mod_proxy_hours=godzin
mod_proxy_egarbage=Niepoprawny okres pomiêdzy czyszczeniami buforów cache
mod_proxy_maxexp=Maksymalny czas wa¿no¶ci buforowanego pliku
mod_proxy_emaxexp=Niepoprawny maksymalny czas wa¿no¶ci buforowanego pliku
mod_proxy_expfac=Czynnik dla czasu wa¿no¶ci buforowanego pliku
mod_proxy_eexpfac=Niepoprawny czynnik dla czasu wa¿no¶ci buforowanego pliku
mod_proxy_levels=Liczba poziomów katalogów buforów
mod_proxy_elevels=Niepoprawna liczba poziomów katalogów buforów
mod_proxy_length=D³ugo¶æ nazwy katalogu buforów
mod_proxy_elength=Niepoprawna d³ugo¶æ nazwy katalogu buforów
mod_proxy_defexp=Standardowy czas wa¿no¶ci buforów cache
mod_proxy_edefexp=Niepoprawny standardowy czas wa¿no¶ci buforów cache
mod_proxy_finish=Zakoñczyæ i&nbsp;buforowaæ przesy³anie po
mod_proxy_efinish=Niepoprawny procent przes³ania
mod_proxy_nocache=Domeny nie buforowane
mod_proxy_none2=Brak
mod_proxy_none3=Do ¿adnej
mod_proxy_enocache=Nie podano nie buforowanych domen
mod_proxy_erequest='$1' nie jest poprawnym zapytaniem
mod_proxy_epurl='$1' nie jest poprawnym URL-em dla proxy
mod_proxy_elurl='$1' nie jest poprawn± ¶cie¿k± lokalnego URL-a
mod_proxy_erurl='$1' nie jest poprawnym zdalnym URL-em
mod_proxy_eip='$1' nie jest poprawnym adresem IP
mod_proxy_ehost='$1' nie jest poprawn± nazw± hosta
mod_proxy_edomain='$1' nie jest poprawn± domen±
mod_proxy_enet='$1' nie jest poprawn± sieci±
mod_proxy_enetbit='$1' nie jest poprawn± par± sieæ/bity maski
mod_proxy_eunder=Katalog buforów cache nie znajduje siê w&nbsp;dozwolonym katalogu
mod_proxy_rurl=Zdalny URL
mod_proxy_lurl=¦cie¿ka lokalnego URL-a
mod_proxy_headers=Podmieniaæ zdaln± lokalizacjê: lokalne nag³ówki
mod_proxy_ip=Adres IP
mod_proxy_host=Nazwa hosta
mod_proxy_domain=Domena
mod_proxy_net=IP sieci
mod_proxy_netbit=Sieæ/bity maski

mod_log_agent_default=Domy¶lny
mod_log_agent_file=Plik..
mod_log_agent_program=Program..
mod_log_agent_log=Plik logowania przegl±darek
mod_log_agent_efile=$1 nie jest poprawn± nazw± pliku logowania przegl±darek

mod_log_config_common=Ogólny format logowania
mod_log_config_named=Nazwane formaty logowania
mod_log_config_nick=Skrót nazwy
mod_log_config_format=Format
mod_log_config_deflog=Domy¶lny format logowania
mod_log_config_default=Domy¶lny
mod_log_config_write=Zapisywaæ do
mod_log_config_filprog=Pliku lub programu
mod_log_config_file=Pliku..
mod_log_config_program=Programu..
mod_log_config_log=Pliki logowania dostêpu
mod_log_config_enick='$1' nie jest poprawn± nazw± skrócon±
mod_log_config_eformat=Brak formatu logów podanego dla $1
mod_log_config_enofilprog=Nie podano pliku ani programu logowania
mod_log_config_efilprog='$1' nie jest dozwolon± nazw± pliku lub programu logowania
mod_log_config_eifset=Opcji 'Je¶li ustawiono' nie mo¿na u¿yæ dla domy¶lnego formatu logowania

mod_log_referer_default=Domy¶lny
mod_log_referer_file=Plik..
mod_log_referer_program=Program..
mod_log_referer_log=Plik logowania odsy³añ
mod_log_referer_nolog=Nie logowaæ odsy³añ z
mod_log_referer_elog=$1 nie jest poprawn± nazw± pliku logowania odsy³añ
mod_log_referer_edir=log odsy³añ nie znajduje siê w&nbsp;dozwolonym katalogu

mod_status_msg=Czy pokazywaæ poszerzone informacje o&nbsp;stanie

mod_mime_ext=Rozszerzenia
mod_mime_xtype=Dodatkowe typy MIME
mod_mime_mtype=typ MIME
mod_mime_chandl=Uchwyty zawarto¶ci
mod_mime_cencs=Kodowania zawarto¶ci
mod_mime_cenc=kodowaniem zawarto¶ci
mod_mime_clangs=Jêzyki zawarto¶ci
mod_mime_clang=jêzykiem zawarto¶ci
mod_mime_defmime=Traktowaæ wszystkie pliki jako typu MIME
mod_mime_real=Typ reczywisty
mod_mime_etype=Niepoprawny typ MIME
mod_mime_pass=Przekazaæ wszystkie pliki do uchwytu
mod_mime_file=Plik typów MIME
mod_mime_default=Domy¶lny
mod_mime_ignhand=Ignorowaæ uchwyty dla rozszerzeñ
mod_mime_none=Brak
mod_mime_xchars=Dodatkowe zestawy znaków
mod_mime_einvalid='$1' nie jest porawnym $2
mod_mime_eext=Nie podano rozszerzeñ dla $1 $2
mod_mime_type=Typ
mod_mime_handler=Uchwyt
mod_mime_enc=Kodowanie
mod_mime_lang=Jêzyk
mod_mime_chars=Zestaw znaków
mod_mime_igntype=Ignorowaæ typy MIME dla rozszerzeñ
mod_mime_ignenc=Ignorowaæ kodowanie dla rozszerzeñ

mod_setenvif_header=Nag³ówek
mod_setenvif_match=Dopasowany do
mod_setenvif_case=Rozró¿nianie wielko¶ci liter
mod_setenvif_var=Zmienna
mod_setenvif_value=Warto¶æ
mod_setenvif_txt=Zmienne ustawiane na podstawie nag³ówków zapytania
mod_setenvif_eheader=Niepoprawy nag³ówek zapytania '$1'
mod_setenvif_eregex=Niepoprawne wyra¿enie regularne '$1'
mod_setenvif_evar=Niepoprawna nazwa zmiennej '$1'
mod_setenvif_clear=Wyczy¶æ

mod_userdir_default=Domy¶lny
mod_userdir_all=Wszyscy u¿ytkownicy
mod_userdir_except=Oprócz u¿ytkowników
mod_userdir_dir=Katalog WWW u¿ytkownika

mod_imap_action=Reakcja na nieprawid³owe u¿ycie 'imagemap'
mod_imap_default=Domy¶lna
mod_imap_godefurl=Przej¶æ do domy¶lnego URL-a
mod_imap_form=Pokazaæ sformatowane menu
mod_imap_semiform=Pokazaæ pó³-sformatowane menu
mod_imap_unform=Pokazaæ niesformatowane menu
mod_imap_disperr=Wy¶wietliæ b³±d serwera
mod_imap_donoth=Nic nie robiæ
mod_imap_goimap=Przej¶æ do URL-a 'imagemap'
mod_imap_goref=Przej¶æ do URL-a odsy³acza
mod_imap_gourl=Przej¶æ do URL-a...
mod_imap_defact=Domy¶lna reakcja dla 'imagemap'
mod_imap_default2=Domy¶lnie
mod_imap_root=Katalog g³ówny serwera
mod_imap_imapurl=URL 'imagemap'
mod_imap_refurl=URL odsy³acza
mod_imap_url=URL...
mod_imap_defbase=Domy¶lna baza dla 'imagemap'
mod_imap_eurl='$1' nie jest poprawnym URL-em

mod_speling_autocorr=Czy automatycznie poprawiaæ b³êdnie napisane URL-e?
mod_speling_default=Domy¶lnie

mod_actions_mime=Uchwyt / Typ MIME
mod_actions_cgiurl=CGI script URL
mod_actions_mimecgi=Akcje CGI dla uchwytu lub typu MIME
mod_actions_http=Metoda HTTP
mod_actions_cgi=Skrypt CGI
mod_actions_httpcgi=Akcje CGI dla metody HTTP
mod_actions_emime='$1' nie jest poprawnym uchwytem lub typem MIME
mod_actions_ecgi='$1' nie jest poprawnym skryptem CGI
mod_actions_enometh=Nie wybrano metody dla skryptu CGI '$1'

mod_include_incl=W³±czanie plików z&nbsp;bitem uruchamiania przez procesy?
mod_include_set=Tak i&nbsp;ustaw datê ostatniej modyfikacji
mod_include_default=Domy¶lnie

mod_dir_txt=Directory index files

mod_autoindex_default=Domy¶lne
mod_autoindex_asc=Rosn±co
mod_autoindex_descend=Malej±co
mod_autoindex_name=Nazwy
mod_autoindex_date=Daty
mod_autoindex_size=Rozmiaru
mod_autoindex_desc=Opisu
mod_autoindex_sort=Porz±dkowanie indeksu katalogu wg

browsermatch_regexp=Wyra¿enie reg. dla przegl±darki
browsermatch_case=Rozró¿niaæ wielko¶æ liter?
browsermatch_var=Ustawiæ zmienn±
browsermatch_value=Warto¶æ
browsermatch_txt=Zmienne ustawiane na podstawie rodzaju przegl±darki
browsermatch_evar=Niepoprawna nazwa zmiennej '$1'
browsermatch_clear=Wyczy¶æ

autoindex_fname=Nazwa pliku
autoindex_mime=Typ MIME
autoindex_enc=Kodowanie
autoindex_icon=Ikona
autoindex_alt=Tekst zastêpczy
autoindex_match=Dopasuj wg
autoindex_fte=Nazwy plików, typy i&nbsp;kodowanie
autoindex_diricon=Ikony dla indeksu katalogu
autoindex_deficon=Domy¶lna ikona dla indeksu katalogu
autoindex_default=Domy¶lnie
autoindex_edeficon=Niepoprawny URL dla domy¶lnej ikony
autoindex_diralt=Znaczniki ALT dla indeksów katalogów
autoindex_desc=Opis
autoindex_fnames=Nazwy plików
autoindex_dirdesc=Opisy indeksów katalogów
autoindex_fancy=Pokazywaæ osdobne indeksy katalogów
autoindex_htmltitle=Pokazywaæ tytu³ HTML jako opis
autoindex_iheight=Wysoko¶æ ikony
autoindex_iwidth=Szeroko¶æ ikony
autoindex_sort=Zezwoliæ u¿ytkownikowi na porz±dkowanie kolumn
autoindex_fildesc=Pokazywaæ opisy plików
autoindex_htags=Znaczniki nag³ówka wysy³anego HTML-u
autoindex_mtime=Pokazywaæ czas ostatniej modyfikacji
autoindex_size=Pokazywaæ rozmiary plików
autoindex_iconlink=Do³±czaæ ikonê do odsy³acza
autoindex_fwidth=Szeroko¶æ nazwy pliku
autoindex_dwidth=Szeroko¶æ opisu
autoindex_dirfirst=Pokazywaæ najpierw katalogi
autoindex_default2=Domy¶lne
autoindex_select=Zaznaczone poni¿ej...
autoindex_default3=Domy¶lna
autoindex_pixels=pikseli
autoindex_chars=znaków
autoindex_diropt=Opcje indeksu katalogu
autoindex_dirhead=Plik nag³ówków indeksu katalogu
autoindex_default4=Domy¶lny
autoindex_edirhead=Niepoprawna nazwa pliku nag³ówków indeksu
autoindex_dirfoot=Plik stopki indeksu katalogu
autoindex_edirfoot=Niepoprawna nazwa pliku stopki indeksu
autoindex_ignore=Pliki ignorowane w&nbsp;indeksie katalogu
autoindex_eiconurl='$1' nie jest poprawnym URL-em ikony
autoindex_emiss=Brak $1 dla $2
autoindex_emissquot=Brak $1 dla '$2'
autoindex_enodesc=Brak opisu dla pliku $1
autoindex_enofile=Brak plików do opisania '$1'
autoindex_eiconsize='$1' nie jest poprawnym rozmiarem ikony
autoindex_ewidth='$1' nie jest poprawn± szeroko¶ci±

mod_mime_magic_file=Plik magicznych liczb MIME
mod_mime_magic_none=Brak
mod_mime_magic_efile=Niepoprawna nazwa pliku magicznych liczb MIME

mod_env_var=Zmienna
mod_env_value=Warto¶æ
mod_env_pass=Pass through
mod_env_clear=Wyczy¶ciæ
mod_env_set=Ustawiæ na..
mod_env_cgivar=Zmienne ¶rodowiska dla skryptów CGI
mod_env_passall=Przekazywaæ wszystkie zmienne ¶rodowiska do CGI
mod_env_default=Domy¶lne
mod_env_evar='$1' nie jest poprawn± nazw± zmiennej
mod_env_evalue='$1' nie jest poprawn± warto¶ci± zmiennej

mod_access_order=Kolejno¶æ sprawdzania praw dostêpu:
mod_access_denyallow=Zabroñ, potem pozwól
mod_access_allowdeny=pozwól, potem zabroñ
mod_access_mutual=Obustronne niepowodzenie
mod_access_default=Domy¶lna
mod_access_action=Akcja
mod_access_cond=Warunek
mod_access_all=Wszystkie zapytania
mod_access_host=Zapytania z&nbsp;hosta...
mod_access_ip=Zapytania z&nbsp;IP..
mod_access_pip=Zapytania z&nbsp;czê¶ciowego IP..
mod_access_mask=Zapytania z&nbsp;sieci/maski..
mod_access_cidr=Zapytania z&nbsp;sieci/CIDR..
mod_access_var=Gdy ustawiona jest zmienna..
mod_access_allow=Pozwól
mod_access_deny=Zabroñ
mod_access_restr=Ogranicz dostêp
mod_access_eip='$1' nie jest poprawnym adresem IP
mod_access_epip='$1' nie jest poprawnym czê¶ciowym adresem IP
mod_access_emask='$1' nie jest poprawn± par± sieæ/maska
mod_access_ecidr='$1' nie jest poprawn± par± sieæ/CIDR
mod_access_evar='$1' nie jest poprawn± nazw± zmiennej

mod_auth_ufile=Plik tekstowy u¿ytkowników
mod_auth_uedit=Zmieñ u¿ytkowników
mod_auth_gfile=Plik tekstowy grup
mod_auth_gedit=Zmieñ grupy
mod_auth_pass=Czy przekazywaæ b³êdy do nastêpnego modu³u?
mod_auth_auth=Autoryzacja na podstawie plików tekstowych
mod_auth_eudir=Plik tekstowy u¿ytkowników nie znajduje siê w&nbsp;dozwolonym katalogu
mod_auth_egdir=Plik tekstowy grup nie znajduje siê w&nbsp;dozwolonym katalogu
mod_auth_eufile=Niepoprawna nazwa pliku tekstowego u¿ytkowników
mod_auth_egfile=Niepoprawna nazwa pliku tekstowego grup

mod_auth_dbm_ufile=Plik DBM u¿ytkowników
mod_auth_dbm_gfile=Plik DBM grup
mod_auth_dbm_pass=Czy przekazywaæ b³êdy do nastêpnego modu³u?
mod_auth_dbm_auth=Autoryzacja na podstawie plków DBM
mod_auth_dbm_eufile=Niepoprawna nazwa pliku DBM u¿ytkowników
mod_auth_dbm_egfile=Niepoprawna nazwa pliku DBM grup

mod_cern_meta_process=Przetwarzanie metaplików nag³ówków
mod_cern_meta_dir=Podkatalog dla metaplików nag³ówków
mod_cern_meta_default=Domy¶lny
mod_cern_meta_edir=Niepoprawna nazwa podkatalogu dla metaplików nag³ówków
mod_cern_meta_suffix=Zakoñczenie nazwy pliku dla metaplików nag³ówków
mod_cern_meta_default2=Domy¶lne
mod_cern_meta_esuffix=Niepoprawne zakoñczenie nazwy dla metaplików

mod_ssl_enable=Czy w³±czyæ SSL?
mod_ssl_proto=Protoko³y SSL
mod_ssl_cfile=Plik certifikatów/kluczy prywatnych
mod_ssl_default=Domy¶lny
mod_ssl_ecfile=Nie podano nazwy pliku certifikatów/kluczy prywatnych
mod_ssl_kfile=Plik kluczy prywatnych
mod_ssl_ekfile=Nie podano nazwy pliku pliku kluczy prywatnych
mod_ssl_clcert=Certifikat SSL klienta
mod_ssl_nreq=Nie wymagany
mod_ssl_opt=Nieobowi±zkowy
mod_ssl_req=Wymagany
mod_ssl_optca=Dopuszczalny brak CA
mod_ssl_cdepth=Stopieñ certyfikatu klienta
mod_ssl_ecdepth=Stopieñ certyfikatu musi byæ liczb± ca³kowit±
mod_ssl_log=Plik logowania SSL
mod_ssl_elog=Nie podano nazwy pliku logowania SSL
mod_ssl_onlyssl=Pozwalaæ wy³±cznie na dostêp SSL

log_global=Zmieniono opcje ogólne $1
log_virtc=Utworzono serwer $1
log_virts=Przekonfigurowano serwer $1
log_virtd=Usuniêto serwer $1
log_virtm=Rêcznie zmieniono serwer $1
log_virt=Zmieniono $1 dla serwera $2
log_dirc=Utworzono katalog $1
log_dirc_l=Utworzono katalog $1 dla serwera $2
log_dirs=Zmieniono katalog $1
log_dirs_l=Zmieniono katalog $1 dla serwera $2
log_dird=Usuniêto katalog $1
log_dird_l=Usuniêto katalog $1 dla serwera $2
log_dirm=Rêcznie zmieniono katalog $1
log_dirm_l=Rêcznie zmieniono katalog $1 dla serwera $2
log_dir=Zmieniono $1 w&nbsp;katalogu $2
log_dir_l=Zmieniono $1 w&nbsp;katalogu $2 dla serwera $3
log_htaccessc=Utworzono plik opcji $1
log_htaccessd=Usuniêto plik opcji $1
log_htaccessm=Rêcznie zmieniono plik opcji $1
log_htaccess=Zmieniono $1 w&nbsp;pliku opcji $2
log_filesc=Utworzono opcje plików dla $1
log_filesc_l=Utworzono w&nbsp;pliku $2 opcje plików dla $1
log_filess=Zmieniono opcje plików dla $1
log_filess_l=Zmieniono w&nbsp;pliku $2 opcje plików dla $1
log_filesd=Usuniêto opcje plików dla $1
log_filesd_l=Usuniêto z&nbsp;pliku $2 opcje plików dla $1
log_filesm=Rêcznie zmieniono opcje plików dla $1
log_filesm_l=Rêcznie zmieniono w&nbsp;pliku $2 opcje plików dla $1
log_files=Zmieniono $1 w&nbsp;opcjach plików dla $2
log_files_l=Zmieniono $1 w&nbsp;pliku $3 opcji plików dla $2
log_mime_modify=Zmieniono typ MIME $1
log_mime_create=Dodano typ MIME $1
log_defines=Zmieniono znane parametry
log_reconfig=Przekonfigurowano znane modu³y
log_start=Uruchomiono serwer WWW
log_stop=Zatrzymano serwer WWW
log_apply=Zastosowano zmiany

search_title=Znajd¼ serwery
search_notfound=Nie znaleziono odpowiednich serwerów wirtualnych

mod_php_value=Warto¶ci konfiguracyjne dla PHP
mod_php_flag=Flagi konfiguracyjne dla PHP
mod_php_name_header=Ustawienie
mod_php_value_header=Warto¶æ
mod_php_ename='$1' nie jest poprawn± nazw±
mod_php_evalue='$1' nie jest poprawn± warto¶ci± dla $2

mod_vhost_alias_root=Katalog g³ówny dla automatycznych hostów wirtualnych
mod_vhost_alias_ip=U¿ywaæ adresu IP zamiast nazwy hosta?
mod_vhost_alias_none=Brak
mod_vhost_alias_script=Katalog cgi-bin dla automatycznych hostów wirtualnych
mod_vhost_alias_eroot=Nie podano katalogu g³ównego dla automatycznych hostów wirtualnych
mod_vhost_alias_escript=Nie podano katalogu cgi-bin dla automatycznych hostów wirtualnych
 070701000270a5000081a40000000000000002000000013d1fe2d100002721000000200000000000000000000000000000001500000003reloc/apache/lang/pt  index_title=Servidor Web Apache
index_eroot=O directório raíz do Apache $1 não existe. Se tem o Apache instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar os caminhos correctos.
index_eserver=O ficheiro executável $1 do servidor Apache não existe. Se tem o Apache instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar o caminho correcto.
index_econf=O ficheiro de configuração $1 do Apache não existe. Se tem o Apache instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar o caminho correcto.
index_eports=A configuração do seu servidor Apache contém mais do que 1 directiva $1. A versão actual do Webmin não consegue trabalhar correctamente com esta configuração.
index_global=Configuração Geral
index_virts=Servidores Virtuais
index_defserv=Servidor Predefinido
index_defdesc1=Define os parametros predefinidos para todos os outros servidores virtuais e processa todos os pedidos não respondidos.
index_any=Qualquer
index_default=Predefinido
index_auto=Automático
index_virt=Servidor Virtual
index_vname=Suporta o servidor baseado no nome $1 no endereço $2.
index_vdef=Processa todos os pedidos não suportados por outros servidores virtuais.
index_defdesc2=Define os parâmetros predefinidos para todos os outros servidores virtuais.
index_vport=Processa todos os pedidos na porta $1 não suportados por outros servidores virtuais.
index_vaddr=Suporta todos os pedidos no endereço $1.
index_vaddrport=Suporta todos os pedidos do endereço $1 na porta $2.
index_type=Tipo
index_addr=Endereço
index_port=Porta
index_name=Nome do Servidor
index_root=Raíz do Documento
index_create=Criar Novo Servidor Virtual
index_return=lista de servidores

cvirt_ecannot=Você não está autorizado para criar um servidor virtual
cvirt_err=Erro ao criar servidor servidor virtual
cvirt_eaddr1=Endereço não introduzido
cvirt_eaddr2='$1' não é um endereço válido
cvirt_eport='$1' não é uma porta válida
cvirt_ename='$1' não é um nome de servidor válido
cvirt_eroot1=Tem de introduzir o documento de raíz
cvirt_eroot2=Erro ao criar o directório '$1' : $2

etype=Você não está autorizado para editar opções deste tipo
efailed=Erro ao guardar $1
apache_apply=Aplicar alterações
apache_stop=Encerrar o Apache
apache_start=Iniciar o Apache
auth_return=controlo de acesso

global_ecannot=Você não está autorizado para editar opções gerais
global_mime=Lista geral de tipos MIME
global_mimedesc=Clique num tipo de MIME da lista para editá-lo, ou use o enlace abaixo para adicionar um novo tipo à lista.
global_type=Tipo
global_ext=Extensões
global_add=Adicionar novo tipo de MIME
global_return=Tipos de MIME

mime_ecannot=Você não está autorizado para editar tipos de mime
mime_edit=Editar tipo de MIME
mime_add=Adicionar tipos de MIME
mime_header=Extensões de ficheiros para mapeamento MIME
mime_type=Tipos MIME
mime_ext=Extensões
mime_err=Erro ao guardar tipos de MIME
mime_etype='$1' não é um tipo MIME válido

virt_ecannot=Você não pode editar este servidor virtual
virt_title=Opções de Servidor Virtual
virt_header=Para $1
virt_opts=Opções de Servidor Virtual
virt_conf=Configuração de Servidor
virt_show=Mostrar Directivas
virt_adddir=Criar Por-Directório, Ficheiros ou Opções de Localização
virt_type=Tipo
virt_exact=valor exacto
virt_re=Igual a expressão
virt_path=Caminho
virt_return=index do servidor
virt_ecannot=Você não pode editar este servidor virtual
virt_euser=Você não está autorizado para alterar o utilizador ou o grupo deste servidor virtual.
virt_header2=$1 para $2

vserv_title=Configuração do Servidor Virtual
vserv_ecannot=Você não está autorizado para editar o endereço deste servidor virtual
vserv_addr=Endereço
vserv_port=Porta
vserv_any=Qualquer
vserv_default=Predefinido
vserv_root=Raíz do Documento
vserv_name=Nome do Servidor
vserv_delete=Apagar Servidor Virtual
vserv_err=Erro ao guardar o servidor virtual
vserv_eaddr1=Endereço não introduzido
vserv_eaddr2='$1' não é um endereço válido
vserv_eport='$1' não é uma porta válida
vserv_eroot='$1' não é um um documento de raíz válido
vserv_ename='$1' não é um nome de servidor válido

show_title=Directivas
show_edit=Editar a directiva do Apache
show_ok=Editar

dir_title=Opções Por-Directório
dir_header=Para $1 em $2
dir_show=Mostrar Directivas
dir_opts=Aplicar opções a ..
dir_type=Tipo
dir_regexp=Expressão?
dir_exact=valor exacto
dir_re=Igual a expressão
dir_path=Caminho
dir_return=index do directório
dir_header2=$1 para $2

type_0=Processos e Limites
type_1=Rede e Endereços
type_2=Módulos do Apache
type_3=Ficheiros de Historial
type_4=Controlo de Acesso
type_5=Opções do Documento
type_6=Tipos MIME
type_7=Suporte de Erros
type_8=Utilizador e Grupo
type_9=Miscelânea
type_10=Aliases e Redirecionamentos
type_11=Programas CGI
type_12=Indexação de Directórios
type_13=Proxying
type_14=Opções de SSL
type_15=Perl
type_16=PHP

htaccess_title=Opções de ficheiros Por-Directório
htaccess_ecannot=Você não pode editar ficheiros htaccess
htaccess_desc=Opções adicionais de Por-Directório podem ser especificadas num ficheiro (usualmente chamado <tt>.htaccess</tt>) em cada directório. As opções aplicam-se a todos os ficheiros do directório e em qualquer sub-directório, excepto se for sobreposto por outro ficheiro de configuração.
htaccess_create=Criar Ficheiro de Opções
htaccess_find=Procurar ficheiros de opções
htaccess_auto=Automaticamente
htaccess_from=Do directório
htaccess_return=lista de opções do ficheiro
htaccess_edir='$1' não é um directório válido
htaccess_ecreate=Você não está autorizado para criar este ficheiro de opções
htaccess_edelete=Você não está autorizado para apagar este ficheiro de opções

htindex_ecannot=Você não está autorizado para editar este ficheiro de opções
htindex_title=Ficheiro de Opções Por-Directório
htindex_delete=Apagar ficheiro
htindex_show=Mostrar directivas
htindex_opts=Opções Por-Directório
htindex_file=Configuração Por-Ficheiro
htindex_create=Criar Opções Por-Ficheiro
htindex_regexp=Expressão?
htindex_exact=Valor exacto
htindex_re=igual a expressão
htindex_path=Caminho
htindex_header=Para $1
htindex_header2=$1 para o ficheiro de opções $2
htindex_return=index do ficheiro de opções

htfile_title=Opções Por-Ficheiro
htfile_header=Para $1 em $2
htfile_show=Mostrar Directivas
htfile_apply=Opções aplicadas a ..
htfile_header2=$1 para $2

reconfig_title=Reconfigurar Módulos Conhecidos
reconfig_ecannot=Você não está autorizado para reconfigurar o Apache
reconfig_ever=Erro ao obter a versão do executável $1 do servidor Apache. Verifique a sua <a href='$2'>configuração de módulos</a> para ter a certeza que este é o caminho correcto.
reconfig_desc1=A configuração do Apache foi alterada, ou ainda não foi examinada pelo Webmin. Abaixo encontra-se uma lista de todos os módulos suportados pelo Webmin, nos quais estão instalados os seleccionados. Você pode seleccionar ou excluir os módulos se a lista estiver incorrecta.
reconfig_desc2=Abaixo excontra-se a lista de todos os módulos suportados pelo Webmin, dos quais estão selecionados os instalados. Se está a usar módulos carregados dinâmicamente então poderá precisar de seleccionar aqueles que estão dinâmicamente carregados.
reconfig_ok=Configurar

defines_title=Editar Parâmetros Definidos
defines_ecannot=Você não está autorizado para editar definições httpd
defines_desc=Quando o Apache é iniciado, os parâmetros são transmitidos para ele com a opção em linha de comando <tt>-D</tt>. Porque estes parâmetros podem afectar as directivas usadas na sua configuração, O Webmin necessita que elas sejam tranmitidas ao Apache aquando do seu arranque. Introduza no campo de texto da direita os parâmetros usados no seu sistema.

authu_ecannot='$1' não é um ficheiro de texto de utilizadores permitido
authu_title=Lista de Utilizadores
authu_header=No ficheiro $1
authu_header2=Utilizadores do ficheiro de texto $1
authu_none=Não utilizadores no ficheiro de texto $1
authu_add=Adicionar novo utilizador
authu_return=Lista de Utilizadores
authu_edit=Editar Utilizador
authu_create=Criar Utilizador
authu_user=Nome de Utilizador
authu_pass=Palavra de Passe
authu_dont=Não alterar
authu_set=Configurar para..
authu_err=Erro ao guardar utilizador
authu_euser=Sem nome de utilizador introduzido
authu_euser2=O nome de utilizador não pode conter :
authu_edup=Já existe um utilizador chamado '$1'

authg_ecannot='$1' não é um ficheiro de texto de grupos permitido
authg_title=Lista de Grupos
authg_header=No ficheiro $1
authg_header2=Grupos do ficheiro de texto $1
authg_none=Não há grupos no ficheiro de texto $1
authg_add=Adicionar novo grupo
authg_return=lista de grupos
authg_edit=Editar Grupo
authg_create=Criar Grupo
authg_group=Nome do grupo
authg_mems=Membros
authg_dont=Não alterar
authg_set=Configurar para..
authg_err=Erro ao guardar grupo
authg_euser=Não foi introduzido o nome de grupo
authg_euser2=O nome do grupo não pode conter :
authg_edup=Já existe um grupo chamado '$1'

stop_err=Erro ao parar o Apache
stop_ecannot=Você não está autorizado para parar o Apache
stop_epid=Erro ao abrir o ficheiro PID $1
stop_epid2=Ficheiro PID $1 inválido
stop_esig=Erro ao enviar o sinal SIGTERM para o processo $1

start_err=Erro ao iniciar o Apache
start_ecannot=Você não está autorizado para iniciar o Apache
start_ecmd=$1 falhou : $2
start_eunknown=Razão desconhecida

restart_err=Erro ao aplicar as alterações
restart_epid=Erro ao abrir o ficheiro PID $1
restart_epid2=Ficheiro PID $1 inválido
restart_esig=Erro ao enviar o sinal SIGHUP para o processo $1
restart_eunknown=Razão desconhecida

acl_virts=Servidores virtuais que este utilizador pode editar
acl_global=Pode editar as opções gerais?
acl_htaccess=apenas .htaccess
acl_create=Pode criar servidores virtuais?
acl_vuser=Pode alterar utilizadores dos servidores virtuais?
acl_vaddr=Pode alterar o endereço dos servidores virtuais?
acl_pipe=Pode canalizar historial para programas?
acl_stop=Pode iniciar e terminar o Apache?
acl_dir=Limitar ficheiros para o directório
acl_types=Tipos de directivas disponiveis
acl_all=Todos
acl_sel=Seleccionados..
   070701000270a6000081a40000000000000002000000013d1fe2d100002db0000000200000000000000000000000000000001800000003reloc/apache/lang/pt_BR   index_title=Servidor Web Apache
index_eroot=O diretório raíz do Apache $1 não existe. Se o Apache está instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar os caminhos corretos.
index_eserver=O arquivo executável $1 do servidor Apache não existe. Se o apache está instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar o caminho correto.
index_econf=O arquivo de configuração $1 do Apache não existe. Se o apache está instalado, ajuste a <a href='$2'>configuração do módulo</a> para usar o caminho correto.
index_eports=A configuração do seu servidor Apache contém mais do que 1 directiva $1. A versão atual do Webmin não consegue trabalhar corretamente com esta configuração.
index_global=Configuração Geral
index_virts=Servidores Virtuais
index_defserv=Servidor Predefinido
index_defdesc1=Define os parâmetros predefinidos para todos os outros servidores virtuais e processa todos os pedidos não respondidos.
index_any=Qualquer
index_default=Predefinido
index_auto=Automático
index_virt=Servidor Virtual
index_vname=Suporta o servidor baseado no nome $1 no endereço $2.
index_vdef=Processa todos os pedidos não suportados por outros servidores virtuais.
index_defdesc2=Define os parâmetros predefinidos para todos os outros servidores virtuais.
index_vport=Processa todos os pedidos na porta $1 não suportados por outros servidores virtuais.
index_vaddr=Suporta todos os pedidos no endereço $1.
index_vaddrport=Suporta todos os pedidos do endereço $1 na porta $2.
index_type=Tipo
index_addr=Endereço
index_nv=Adicionar um endereço de servidor virtual nomeado (se necessário)
index_port=Porta
index_name=Nome do Servidor
index_root=Raíz de Documentos
index_create=Criar Novo Servidor Virtual
index_return=lista de servidores
index_toomany=Há muitos servidores virtuais no seu sistema para mostrá-los todos numa página
index_find=Buscar servidores onde
index_equals=é igual a
index_matches=casa com
index_nequals=não é igual a
index_nmatches=não casa com

cvirt_ecannot=Você não está autorizado a criar um servidor virtual
cvirt_err=Erro ao criar servidor virtual
cvirt_eaddr1=Faltou o endereço
cvirt_eaddr2='$1' não é um endereço válido
cvirt_eport='$1' não é uma porta válida
cvirt_ename='$1' não é um nome de servidor válido
cvirt_eroot1=Você deve fornecer a raíz de documentos
cvirt_eroot2=Erro ao criar o diretório '$1' : $2
cvirt_eroot3=Você não está autorizado a usar o diretório raíz '$1'
cvirt_etaken=Já existe um servidor virtual com o mesmo nome e porta

etype=Você não está autorizado a editar opções deste tipo
efailed=Erro ao salvar $1
apache_apply=Aplicar alterações
apache_stop=Encerrar o Apache
apache_start=Iniciar o Apache
auth_return=controle de acesso
default_serv=servidor padrão
bytes=bytes

global_ecannot=Você não está autorizado a editar opções gerais
global_mime=Lista geral de tipos MIME
global_mimedesc=Clique num tipo de MIME da lista para editá-lo, ou use o link abaixo para adicionar um novo tipo à lista.
global_type=Tipo
global_ext=Extensões
global_add=Adicionar novo tipo MIME
global_return=Tipos MIME

mime_ecannot=Você não está autorizado a editar tipos MIME
mime_edit=Editar tipo MIME
mime_add=Adicionar tipos MIME
mime_header=Extensões de arquivos para mapeamento MIME
mime_type=Tipos MIME
mime_ext=Extensões
mime_err=Erro ao salvar tipos MIME
mime_etype='$1' não é um tipo MIME válido

virt_ecannot=Você não pode editar este servidor virtual
virt_title=Opções de Servidor Virtual
virt_header=Para $1
virt_opts=Opções de Servidor Virtual
virt_conf=Configuração de Servidor
virt_show=Mostrar Diretivas
virt_edit=Editar Diretivas
virt_adddir=Criar Opções de Diretório, de Arquivo ou de Localização
virt_type=Tipo
virt_Directory=Diretório
virt_Files=Arquivos
virt_Location=Localização
virt_exact=valor exato
virt_re=Igual a expressão
virt_regexp=Expressão regular?
virt_path=Caminho
virt_return=índice do servidor
virt_euser=Você não está autorizado a alterar o usuário ou o grupo deste servidor virtual.
virt_header2=$1 para $2

vserv_title=Configuração do Servidor Virtual
vserv_ecannot=Você não está autorizado a editar o endereço deste servidor virtual
vserv_addr=Endereço
vserv_addrs=Endereços
vserv_port=Porta
vserv_any=Qualquer
vserv_default=Predefinido
vserv_root=Raíz de Documentos
vserv_name=Nome do Servidor
vserv_delete=Apagar Servidor Virtual
vserv_err=Erro ao salvar o servidor virtual
vserv_eaddr1=Endereço não introduzido
vserv_eaddr2='$1' não é um endereço válido
vserv_eport='$1' não é uma porta válida
vserv_eroot='$1' não é um uma raíz de documentos válida
vserv_ename='$1' não é um nome de servidor válido
vserv_eaddrs=Faltou o endereço do servidor virtual

show_title=Diretivas
show_edit=Editar a diretiva do Apache
show_these=Editar as diretivas manualmente
show_ok=Editar

manual_title=Editar Diretivas
manual_header=Use a caixa de texto abaixo para editar manualmente as diretivas do Apache em $1 relacionadas a este servidor virtual, diretório ou arquivo.
manual_ecannot=Você não está autorizado a editar diretivas manualmente

dir_title=Opções de Diretório
dir_header=Para $1 em $2
dir_show=Mostrar Diretivas
dir_edit=Editar Diretivas
dir_opts=Aplicar opções a ..
dir_Directory=Diretório
dir_Files=Arquivos
dir_Location=Localização
dir_type=Tipo
dir_regexp=Expressão?
dir_exact=valor exato
dir_re=Igual a expressão
dir_path=Caminho
dir_return=índice do diretório
dir_header2=$1 para $2

type_0=Processos e Limites
type_1=Rede e Endereços
type_2=Módulos do Apache
type_3=Arquivos de Histórico
type_4=Controle de Acesso
type_5=Opções do Documento
type_6=Tipos MIME
type_7=Tratamento de Erros
type_8=Usuário e Grupo
type_9=Miscelânea
type_10=Aliases e Redirecionamentos
type_11=Programas CGI
type_12=Indexação de Diretórios
type_13=Proxying
type_14=Opções de SSL
type_15=Perl
type_16=PHP
type_17=Hosts Virtuais Automáticos

htaccess_title=Arquivos de opções de Diretório
htaccess_ecannot=Você não pode editar arquivos htaccess
htaccess_desc=Opções adicionais de Diretório podem ser especificadas num arquivo (usualmente chamado <tt>.htaccess</tt>) em cada diretório. As opções aplicam-se a todos os arquivos do diretório e em qualquer sub-diretório, exceto se for sobreposto por outro arquivo de configuração.
htaccess_create=Criar Arquivo de Opções
htaccess_find=Procurar arquivos de opções
htaccess_auto=Automaticamente
htaccess_from=Do diretório
htaccess_return=lista de opções do arquivo
htaccess_edir='$1' não é um diretório válido
htaccess_ecreate=Você não está autorizado a criar este arquivo de opções
htaccess_edelete=Você não está autorizado a remover este arquivo de opções

htindex_ecannot=Você não está autorizado a editar este arquivo de opções
htindex_title=Arquivo de Opções de Diretório
htindex_delete=Remover arquivo
htindex_show=Mostrar diretivas
htindex_edit=Editar diretivas
htindex_opts=Opções de Diretório
htindex_file=Configuração Por-Arquivo
htindex_create=Criar Opções Por-Arquivo
htindex_regexp=Expressão?
htindex_exact=Valor exato
htindex_re=igual a expressão
htindex_path=Caminho
htindex_header=Para $1
htindex_header2=$1 para o arquivo de opções $2
htindex_return=índice do arquivo de opções

htfile_title=Opções Por-Arquivo
htfile_header=Para $1 em $2
htfile_show=Mostrar Diretivas
htfile_edit=Editar Diretivas
htfile_apply=Opções aplicadas a ..
htfile_header2=$1 para $2

reconfig_title=Reconfigurar Módulos Conhecidos
reconfig_ecannot=Você não está autorizado a reconfigurar o Apache
reconfig_ever=Erro ao obter a versão do executável $1 do servidor Apache. Verifique a sua <a href='$2'>configuração de módulos</a> para ter certeza de que este é o caminho correto.
reconfig_desc1=A configuração do Apache foi alterada, ou ainda não foi examinada pelo Webmin. Abaixo encontra-se uma lista de todos os módulos suportados pelo Webmin, nos quais estão instalados os selecionados. Você pode selecionar ou excluir os módulos se a lista estiver incorreta.
reconfig_desc2=Abaixo excontra-se a lista de todos os módulos suportados pelo Webmin, dos quais estão selecionados os instalados. Se você está usando módulos carregados dinamicamente então poderá precisar selecionar aqueles que estão dinamicamente carregados.
reconfig_desc3=Se você não sabe que módulos são suportados pelo Apache no seu sistema apenas Configure pois o Webmin normalmente consegue identificar os módulos suportados automaticamente.
reconfig_ok=Configurar

defines_title=Editar Parâmetros Definidos
defines_ecannot=Você não está autorizado a editar definições httpd
defines_desc=Quando o Apache é iniciado os parâmetros são transmitidos para ele com a opção em linha de comando <tt>-D</tt>. Como estes parâmetros podem afetar as diretivas usadas na sua configuração, o Webmin precisa que elas sejam tranmitidas ao Apache durante sua iniciação. Insira no campo de texto da direita os parâmetros usados no seu sistema.
defines_config=Note que os seguintes parâmetros definidos já são conhecidos : $1

authu_ecannot='$1' não é um arquivo de texto de usuários permitido
authu_title=Lista de Usuários
authu_header=No arquivo $1
authu_header2=Usuários do arquivo de texto $1
authu_none=Não usuários no arquivo de texto $1
authu_add=Adicionar novo usuário
authu_return=Lista de Usuários
authu_edit=Editar Usuário
authu_create=Criar Usuário
authu_user=Nome de Usuário
authu_pass=Senha
authu_enc=Encriptado..
authu_plain=Em claro..
authu_err=Erro ao salvar usuário
authu_euser=Faltou o nome de usuário
authu_euser2=O nome de usuário não pode conter :
authu_edup=Já existe um usuário chamado '$1'
authu_sync=As opções abaixo permitem que você configure o Webmin para adicionar, modificar ou remover automaticamente um usuário deste arquivo de senhas quando um usuário é adicionado, modificado ou removido no módulo <tt>Usuários e Grupos</tt>.
authu_screate=Adicionar o usuário quando um usuário UNIX for adicionado
authu_sdelete=Remover o usuário quando um usuário UNIX for removido
authu_smodify=Modificar o usuário quando um usuário UNIX for modificado

authg_ecannot='$1' não é um arquivo de texto de grupos permitido
authg_title=Lista de Grupos
authg_header=No arquivo $1
authg_header2=Grupos do arquivo de texto $1
authg_none=Não há grupos no arquivo de texto $1
authg_add=Adicionar novo grupo
authg_return=lista de grupos
authg_edit=Editar Grupo
authg_create=Criar Grupo
authg_group=Nome do grupo
authg_mems=Membros
authg_dont=Não alterar
authg_set=Configurar para..
authg_err=Erro ao salvar grupo
authg_euser=Faltou o nome de grupo
authg_euser2=O nome do grupo não pode conter :
authg_edup=Já existe um grupo chamado '$1'

stop_err=Erro ao parar o Apache
stop_ecannot=Você não está autorizado a parar o Apache
stop_epid=Erro ao abrir o arquivo PID $1
stop_epid2=Arquivo PID $1 inválido
stop_esig=Erro ao enviar o sinal SIGTERM para o processo $1

start_err=Erro ao iniciar o Apache
start_ecannot=Você não está autorizado a iniciar o Apache
start_ecmd=$1 falhou : $2
start_eunknown=Razão desconhecida

restart_err=Erro ao aplicar as alterações
restart_epid=Erro ao abrir o arquivo PID $1
restart_epid2=Arquivo PID $1 inválido
restart_esig=Erro ao enviar o sinal SIGHUP para o processo $1
restart_eunknown=Razão desconhecida

acl_virts=Servidores virtuais que este usuário pode editar
acl_vall=Todos os servidores
acl_vsel=Selecionados..
acl_defserv=Servidor padrão
acl_global=Pode editar as opções gerais?
acl_htaccess=apenas .htaccess
acl_create=Pode criar servidores virtuais?
acl_vuser=Pode alterar usuários dos servidores virtuais?
acl_vaddr=Pode alterar o endereço dos servidores virtuais?
acl_pipe=Pode direcionar histórico para programas?
acl_stop=Pode iniciar e terminar o Apache?
acl_dir=Limitar arquivos para o diretório
acl_types=Tipos de diretivas disponíveis
acl_all=Todos
acl_sel=Selecionados..

070701000270a7000081a40000000000000002000000013d1fe2d10000265e000000200000000000000000000000000000001800000003reloc/apache/lang/ru_RU   htaccess_create=Ñîçäàòü Ôàéë Ïàðàìåòðîâ
acl_vuser=Ìîæåò ìåíÿòü ïîëüçîâàòåëåé âèðòóàëüíîãî ñåðâåðà?
virt_title=Ïàðàìåòðû Âèðòóàëüíîãî Ñåðâåðà
stop_epid=Îøèáêà ïðè îòêðûòèè PID ôàéëà $1
dir_header=Äëÿ $1 íà $2
apache_stop=Îñòàíîâèòü Apache
index_create=Ñîäàòü Íîâûé Âèðòóàëüíûé Ñåðâåð
apache_start=Ñòàðòîâàòü Apache
vserv_title=Êîíôèãóðàöèÿ Âèðòóàëüíîãî Ñåðâåðà
index_port=Ïîðò
index_default=Ïî óìîë÷àíèþ
vserv_any=Ëþáîé
dir_type=Òèï
start_ecmd=îøèêà äëÿ $1 : $2
index_vaddr=Îáðàáàòûâàåò âñå çàïðîñû íà àäðåñ $1.
authu_header=Â ôàéëå $1
index_auto=Àâòîìàòè÷åñêè
authg_header2=Ãðóïïû èç òåêñòîâîãî ôàéëà $1
reconfig_ecannot=Âàì íå ðàçðåøåíî ðåêîíôèãóðèðîâàòü apache
dir_re=Ñîâïàäåíèå ñ ðåã.âûð.
htfile_header2=$1 äëÿ $2
vserv_name=Èìÿ Ñåðâåðà
virt_exact=Òî÷íîå ñîâïàäåíèå
authu_create=Ñîçäàíèå Ïîëüçîâàòåëÿ
htfile_title=Ïîôàéëîâûå Ïàðàìåòðû
virt_header2=$1 äëÿ $2
index_eroot=Êîðíåâîé êàòàëîã Apache $1 íå ñóùåñòâóåò. Åñëè Apache èíñòàëëèðîâàí íà âàøåé ñèñòåìå, ïîïðàâòå <a href='$2'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ èñïîëüçîâàíèÿ êîððåêòíûõ ïóòåé.
authu_header2=Ïîëüçîâàòåëè èç òåêñòîâîãî ôàéëà $1
virt_show=Ïîêàçûâàòü Äèðåêòèâû
mime_add=Äîáàâëåíèå MIME òèïà
reconfig_desc1=Êîíôèãóðàöèÿ Apache èçìåíÿëàñü èëè íå áûëà ïðîâåðåíà Webminîì. Íèæå âû âèäèòå ñïèñîê âñåõ ìîäóëåé Apache ïîääåðæèâàåìûõ Webminîì. Èíñòàëëèðîâàííûå â äàííûé ìîìåíò ìîäóëè - âûáðàíû â ñïèñêå. Âû ìîæåòå âûáèðàòü èëè îòìåíÿòüâûáîð, åñëè äàííûé ñïèñîê íåâåðåí.
reconfig_desc2=Íèæå ïðèâåäåí ñïèñîê âñåõ ìîäóëåé Apache ïîääåðæèâàåìûõ Webminîì. Èíñòàëëèðîâàííûå â äàííûé ìîìåíò ìîäóëè - âûáðàíû â ñïèñêå. Åñëè âû èñïîëüçóåòå äèíàìè÷åñêè çàãðóæàåìûå ìîäóëè Apache, òî âîçìîæíî âàì íåîáõîäèìî âûáðàòü òå, êîòîðûå çàãðóæåíû äèíàìè÷åñêè.
dir_title=Ïîêàòàëîãîâûå ïàðàìåòðû
htfile_apply=Ïàðàìåòðû ïðèìåíèìû ê ..
index_econf=Ôàéë êîíôèãóðàöèè Apache $1 íå ñóùåñòâóåò. Åñëè Apache èíñòàëëèðîâàí íà âàøåé ñèñòåìå, ïîïðàâòå <a href='$2'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ èñïîëüçîâàíèÿ êîððåêòíûõ ïóòåé.
etype=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïàðàìåòðû äàííîãî òèïà.
authg_none=Íåò ãðóïï â òåêñòîâîì ôàéëå $1
vserv_delete=Óäàëèòü Âèðòóàëüíûé Ñåðâåð
authu_edit=Ðåäàêòèðîâàíèå Ïîëüçîâàòåëÿ
restart_err=Îøèáêà ïðè ïðèíÿòèè èçìåíåíèé
virt_header=Äëÿ $1
htaccess_title=Ôàéëû Ïîêàòàëîãîâûõ Ïàðàìåòðîâ
htaccess_edir='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êàòàëîãîì
type_0=Ïðîöåññû è Ëèìèòû
type_1=Ñåòåâûå Ïàðàìåòðû è Àäðåñà
index_vport=Îáðàáàòûâàåò âñå çàïðîñû íà $1 ïîðòó íå îáñëóæåííûå äðóãèìè âèðòóàëüíûìè ñåðâåðàìè.
acl_sel=Âûáðàííûå..
type_2=Ìîäóëè Apache
type_3=Æóðíàëüíûå Ôàéëû
index_eports=Âàøà êîíôèãóðàöèÿ Apache ñîäåðæèò áîëåå 1 äèðåêòèâû  $1. Òåêóùàÿ âåðñèÿ Webmin íå óìååò ïðàâèëüíî îáðàáàòûâàòü òàêóþ êîíôèãóðàöèþ
type_4=Êîíòðîëü Äîñòóïà
type_5=Ïàðàìåòðû Äîêóìåíòà
type_6=MIME Òèïû
type_7=Îáðàáîòêà Îøèáîê
type_8=Ïîëüçîâàòåëè è Ãðóïïû
type_9=Ïðî÷åå
vserv_default=Ïî óìîë÷àíèþ
index_root=Êîðåíü Äîêóìåíòîâ
acl_vaddr=Ìîæåò ìåíÿòü àäðåñà âèðòóàëüíîãî ñåðâåðà?
acl_global=Ìîæåò ðåäàêòèðîâàòü ãëîáàëüíûå ïàðàìåòðû?
start_eunknown=Ïðè÷èíà íåèçâåñòíà
dir_opts=Ïàðàìåòðû ïðèìåíèìû ê ..
apache_apply=Ïðèíÿòü Èçìåíåíèÿ
authg_euser2=Èìÿ ãðóïïû íå äîëæíî ñîäåðæàòü :
mime_etype='$1' íå ÿâëÿåòñÿ äîïóñòèìûì MIME òèïîì
auth_return=óïðàâëåíèå äîñòóïîì
dir_exact=Òî÷íîå ñîâïàäåíèå
authg_ecannot='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òåêñòîâûì ôàéëîì ãðóïï
defines_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü httpd îïðåäåëåíèÿ
htaccess_auto=Àâòîìàòè÷åñêè
virt_ecannot=Âû íå ìîæåòå ðåäàêòèðîâàòü äàííûé âèðòóàëüíûé ñåðâåð
authg_dont=Íå ìåíÿåòñÿ
authu_ecannot='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òåêñòîâûì ôàéëîì ïîëüçîâàòåëåé
htaccess_find=Íàéòè Ôàéë Ïàðàìåòðîâ
authu_set=Óñòàíîâèòü â..
global_mimedesc=Êëèêíèòå íà MIME òèïå èç ñïèñêà íèæå äëÿ åãî ðåäàêòèðîâàíèÿ èëè èñïîëüçóéòå ññûëêó âíèçó ñòðàíèöû äëÿ äîáàâëåíèÿ íîâîãî òèïà â ñïèñîê.
vserv_eport='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîðòîì
index_any=Ëþáîé
restart_epid=Îøèáêà ïðè îòêðûòèè PID ôàéëà $1
acl_all=Âñå
mime_type=MIME òèï
stop_esig=Îøèáêà ïðè îòñûëêå ñèãíàëà SIGTERM ïðîöåññó $1
authu_err=Îøèáêà ïðè ñîõðàíåíèè ïîëüçîâàòåëÿ
index_virts=Âèðòóàëüíûå Ñåðâåðû
cvirt_eport='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîðòîì
htindex_file=Ïîôàéëîâàÿ Êîíôèãóðàöèÿ
start_ecannot=Âàì íå ðàçðåøåíî ñòàðòîâàòü apache
index_defdesc1=Îïðåäåëÿåò óñòàíîâêè ïî óìîë÷àíèþ äëÿ âñåõ âèðòóàëüíûõ ñåðâåðîâ, è îáñëóæèâàåò âñå íåîáðàáîòàííûå çàïðîñû.
index_defdesc2=Îïðåäåëÿåò óñòàíîâêè ïî óìîë÷àíèþ äëÿ âñåõ äðóãèõ âèðòóàëüíûõ ñåðâåðîâ.
authg_euser=Èìÿ ãðóïïû íå ââåäåíî
authu_euser2=Èìÿ ïîëüçîâàòåëÿ íå äîëæíî ñîäåðæàòü :
defines_desc=Ïðè ñòàðòå Apache ïàðàìåòðû ìîãóò áûòü ïåðåäàíû åìó ïðè ïîìîùè ïàðàìåòðà <tt>-D</tt> â àðãóìåíòàõ êîìàíäíîé ñòðîêè. Ïîñêîëüêó äàííûå ïàðàìåòðû ìîãóò ìîãóò âëèÿòü íà èñïîëüçîâàíèå äèðåêòèâ èç ôàéëà êîíôèãóðàöèè, òî Webmin äîëæåí çíàòü äàííûå àðãóìåíòû. Ââåäèòå ïàðàìåòðû èñïîëüçóåìûå íà âàøåé ñèñòåìå â òåêñòîâîå ïîëå ñïðàâà.
index_virt=Âèðòóàëüíûé Ñåðâåð
authg_add=Äîáàâèòü íîâóþ ãðóïïó
type_10=Ïñåâäîíèìû è Ïåðåíàïðàâëåíèå
type_11=CGI Ïðîãðàììû
type_12=Èíäåêñàöèÿ Êàòàëîãîâ
type_13=Ïðîêñè
type_14=Ïàðàìåòðû SSL
show_edit=Ðåäàêòèðîâàíèå äèðåêòèâ Apache
type_15=Perl
type_16=PHP
stop_ecannot=Âàì íå ðàçðåøåíî îñòàíàâëèâàòü apache
mime_edit=Ðåäàêòèðîâàíèå MIME òèïà
vserv_addr=Àäðåñ
mime_header=Ñîîòâåòñòâèå ðàñøèðåíèé èìåí ôàéëîâ MIME òèïàì
global_return=MIME òèïû
index_eserver=Èñïîëíÿåìûé ìîäóëü Apache $1 íå ñóùåñòâóåò. Åñëè Apache èíñòàëëèðîâàí íà âàøåé ñèñòåìå, ïîïðàâòå <a href='$2'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ èñïîëüçîâàíèÿ êîððåêòíûõ ïóòåé.
authg_title=Ñïèñîê Ãðóïï
vserv_ecannot=Âû íå ìîæåòå ðåäàêòèðîâàòü àäðåñ äàííîãî âèðòóàëüíîãî ñåðâåðà
virt_type=Òèï
dir_path=Ïóòü
global_type=Òèï
index_name=Èìÿ Ñåðâåðà
stop_epid2=Íåâåðíûé PID ôàéë $1
dir_header2=$1 äëÿ $2
htindex_opts=Ïîêàòàëîãîâûå Ïàðàìåòðû
authu_pass=Ïàðîëü
vserv_eroot='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîðíåâûì êàòàëîãîì äëÿ äîêóìåíòîâ
htindex_regexp=Ðåã.âûð.?
global_ext=Ðàñøèðåíèÿ
htaccess_from=Èç êàòàëîãà
authg_edup=Ãðóïïà '$1' óæå ñóùåñòâóåò
acl_virts=Âèðòóàëüíûå ñåðâåðû, êîòîðûå ìîæåò ðåäàêòèðîâàòü äàííûé ïîëüçîâàòåëü
index_global=Ãëîáàëüíàÿ êîíôèãóðàöèÿ
virt_adddir=Ñîçäàíèå Ïîêàòàëîãîâî, Ïàðàìåòðîâ Ôàéëîâ èëè URL
acl_dir=Îãðàíè÷èòü ôàéëû êàòàëîãîì
cvirt_err=Îøèáêà ïðè ñîçäàíèè âèðòóàëüíîãî ñåðâåðà
mime_err=Îøèáêà ïðè ñîõðàíåíèè MIME òèïà
authu_none=Íåò ïîëüçîâàòåëåé â òåêñòîâîì ôàéëå $1
global_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ãëîáàëüíûå ïàðàìåòðû
index_title=Web ñåðâåð Apache
vserv_port=Ïîðò
show_title=Äèðåêòèâû
vserv_eaddr1=Àäðåñ íå ââåäåí
vserv_eaddr2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
dir_regexp=Ðåã.âûð.?
htindex_return=ìåíþ ôàéëà ïàðàìåòðîâ
htaccess_ecannot=Âû íå ìîæåòå ðåäàêòèðîâàòü ôàéëû htaccess
authg_return=ñïèñîê ãðóïï
acl_htaccess=òîëüêî .htaccess
dir_show=Ïîêàçàòü Äèðåêòèâû
cvirt_eroot1=Âû äîëæíû ââåñòè êîðíåâîé êàòàëîã äëÿ äîêóìåíòîâ
cvirt_eroot2=Îøèáêà ïðè ñîçäàíèè êàòàëîãà '$1' : $2
acl_create=Ìîæåò ñîçäàâàòü âèðòóàëüíûå ñåðâåðû?
authg_mems=×ëåíû
authu_euser=Èìÿ ïîëüçîâàòåëÿ íå ââåäåíî
virt_opts=Ïàðàìåòðû Âèðòóàëüíîãî Ñåðâåðà
htaccess_return=ñïèñîê ôàéëà ïàðàìåòðîâ
index_vname=Îáñëóæèâàåò èìåíîâàííûé ñåðâåð $1 íà àäðåñå $2.
acl_stop=Ìîæåò îñòàíàâëèâàòü Apache?
start_err=Îøèáêà ïðè ñòàðòå apache
index_return=ñïèñîê ñåðâåðîâ
global_add=Äîáàâèòü íîâûé MIME òèï
authu_dont=Íå ìåíÿåòñÿ
dir_return=ìåíþ êàòàëîãîâ
htfile_header=Äëÿ $1 â $2
htaccess_edelete=Âàì íå ðàçðåøåíî óäàëÿòü äàííûé ôàéë ïàðàìåòðîâ
authu_title=Ñïèñîê Ïîëüçîâàòåëåé
htindex_re=Ñîâïàäåíèå ñ ðåã.âûð.
restart_esig=Îøèáêà ïðè îòñûëêå ñèãíàëà SIGTERM ïðîöåññó $1
htaccess_desc=Äîïîëíèòåëüíûå ïîêàòàëîãîâûå ïàðàìåòðû ìîãóò áûòü óêàçàíû â ôàéëå (îáû÷íî íàçûâàåìîì <tt>.htaccess</tt>) â êàæäîì êàòàëîãå. Äàííûå ïàðàìåòðû ïðèìåíèìû êî âñåì ôàéëàì â ýòîì êàòàëîãå è âñåõ åãî ïîäêàòàëîãàõ, äî òåõ ïîð ïîêà íå âñòðåòèòñÿ íîâûé <tt>.htaccess</tt> ôàéë.
stop_err=Îøèáêà ïðè îñòàíîâå apache
htindex_header2=$1 äëÿ ôàéëà ïàðàìåòðîâ $2
reconfig_title=Ðåêîíôèãóðàöèÿ Èçâåñòíûõ Ìîäóëåé
cvirt_ecannot=Âàì íå ðàçðåøåíî ñîçäàâàòü âèðòóàëüíûé ñåðâåð
mime_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü MIME òèïû
htindex_title=Ïîêàòàëîãîâûé Ôàéë Ïàðàìåòðîâ
cvirt_eaddr1=Àäðåñ íå ââåäåí
cvirt_eaddr2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
vserv_root=Êîðåíü Äîêóìåíòîâ
virt_re=Ñîâïàäàåò ñ ðåã. âûð.
htfile_show=Ïîêàçûâàòü Äèðåêòèâû
acl_pipe=Ìîæåò ïåðåäàâàòü æóðíàëû ñîîáùåíèé íà âõîä ïðîãðàììû?
authg_edit=Ðåäàêòèðîâàíèå Ãðóïïû
vserv_err=Îøèáêà ïðè óäàëåíèè âèðòóàëüíîãî ñåðâåðà
htindex_path=Ïóòü
authg_set=Óñòàíîâèòü â..
index_defserv=Ñåðâåð Ïî óìîë÷àíèþ
htindex_delete=Óäàëèòü Ôàéë
authu_return=ñïèñîê ïîëüçîâàòåëåé
restart_epid2=Íåâåðíûé PID ôàéë $1
vserv_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ñåðâåðà
reconfig_ever=Îøèáêà ïðè âûÿñíåíèè âåðñèè èñïîëíÿåìîãî ìîäóëÿ $1 ñåðâåðà Apache. Ïðîâåðüòå <a href='$2'>êîíôèãóðàöèþ ìîäóëÿ</a>, ÷òîáû óáåäèòüñÿ â ïðàâèëüíîñòè ïóòåé.
defines_title=Ðåäàêòèðîâàíèå Îïðåäåëåííûõ Ïàðàìåòðîâ
authg_err=Îøèáêà ïðè ñîõðàíåíèè ãðóïïû
acl_types=Äîñòóïíûå òèïû äèðåêòèâ
authg_group=Èìÿ ãðóïïû
authu_user=Èìÿ ïîëüçîâàòåëÿ
htaccess_ecreate=Âàì íå ðàçðåøåíî ñîçäàâàòü äàííûé ôàéë ïàðàìåòðîâ
reconfig_ok=Íàñòðîèòü
htindex_exact=Ïîëíîå ñîâïàäåíèå
efailed=Îøèáêà ïðè ñîõðàíåíèè $1
virt_conf=Êîíôèãóðàöèÿ Ñåðâåðà
cvirt_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ñåðâåðà
index_addr=Àäðåñ
restart_eunknown=Ïðè÷èíà íåèçâåñòíà
index_type=Òèï
index_vdef=Îáðàáàòûâàåò âñå çàïðîñû íå îáñëóæåííûå äðóãèìè âèðòóàëüíûìè ñåðâåðàìè.
htindex_header=Äëÿ $1
authg_header=Â ôàéëå $1
virt_return=ìåíþ ñåðâåðà
htindex_create=Ñîçäàíèå Ïîôàéëîâûõ Ïàðàìåòðîâ
virt_euser=Âàì íå ðàçðåøåíî èçìåíÿòü ïîëüçîâàòåëÿ èëè ãðóïïó äëÿ äàííîãî âèðòóàëüíîãî ñåðâåðà.
authg_create=Ñîçäàíèå Ãðóïïû
index_vaddrport=Îáðàáàòûâàåò âñå çàïðîñû íà àäðåñ $1, ïîðò $2.
authu_add=Äîáàâèòü íîâîãî ïîëüçîâàòåëÿ
virt_path=Ïóòü
authu_edup=Ïîëüçîâàòåëü '$1' óæå ñóùåñòâóåò
htindex_show=Ïîêàçàòü Äèðåêòèâû
global_mime=Ãëîáàëüíûé ñïèñîê MIME òèïîâ
mime_ext=Ðàñøèðåíèÿ
show_ok=Ðåäàêòèðîâàòü
htindex_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííûé ôàéë ïàðàìåòðîâ
  070701000270a8000081a40000000000000002000000013d1fe2d1000026b5000000200000000000000000000000000000001800000003reloc/apache/lang/ru_SU   index_title=Web ÓÅÒ×ÅÒ Apache
index_eroot=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ Apache $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. åÓÌÉ Apache ÉÎÓÔÁÌÌÉÒÏ×ÁÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÐÏÐÒÁ×ÔÅ <a href='$2'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÒÒÅËÔÎÙÈ ÐÕÔÅÊ.
index_eserver=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ Apache $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. åÓÌÉ Apache ÉÎÓÔÁÌÌÉÒÏ×ÁÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÐÏÐÒÁ×ÔÅ <a href='$2'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÒÒÅËÔÎÙÈ ÐÕÔÅÊ.
index_econf=æÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ Apache $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. åÓÌÉ Apache ÉÎÓÔÁÌÌÉÒÏ×ÁÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÐÏÐÒÁ×ÔÅ <a href='$2'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÒÒÅËÔÎÙÈ ÐÕÔÅÊ.
index_eports=÷ÁÛÁ ËÏÎÆÉÇÕÒÁÃÉÑ Apache ÓÏÄÅÒÖÉÔ ÂÏÌÅÅ 1 ÄÉÒÅËÔÉ×Ù  $1. ôÅËÕÝÁÑ ×ÅÒÓÉÑ Webmin ÎÅ ÕÍÅÅÔ ÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÔØ ÔÁËÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ
index_global=çÌÏÂÁÌØÎÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ
index_virts=÷ÉÒÔÕÁÌØÎÙÅ óÅÒ×ÅÒÙ
index_defserv=óÅÒ×ÅÒ ðÏ ÕÍÏÌÞÁÎÉÀ
index_defdesc1=ïÐÒÅÄÅÌÑÅÔ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ×ÓÅÈ ×ÉÒÔÕÁÌØÎÙÈ ÓÅÒ×ÅÒÏ×, É ÏÂÓÌÕÖÉ×ÁÅÔ ×ÓÅ ÎÅÏÂÒÁÂÏÔÁÎÎÙÅ ÚÁÐÒÏÓÙ.
index_any=ìÀÂÏÊ
index_default=ðÏ ÕÍÏÌÞÁÎÉÀ
index_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
index_virt=÷ÉÒÔÕÁÌØÎÙÊ óÅÒ×ÅÒ
index_vname=ïÂÓÌÕÖÉ×ÁÅÔ ÉÍÅÎÏ×ÁÎÎÙÊ ÓÅÒ×ÅÒ $1 ÎÁ ÁÄÒÅÓÅ $2.
index_vdef=ïÂÒÁÂÁÔÙ×ÁÅÔ ×ÓÅ ÚÁÐÒÏÓÙ ÎÅ ÏÂÓÌÕÖÅÎÎÙÅ ÄÒÕÇÉÍÉ ×ÉÒÔÕÁÌØÎÙÍÉ ÓÅÒ×ÅÒÁÍÉ.
index_defdesc2=ïÐÒÅÄÅÌÑÅÔ ÕÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ×ÓÅÈ ÄÒÕÇÉÈ ×ÉÒÔÕÁÌØÎÙÈ ÓÅÒ×ÅÒÏ×.
index_vport=ïÂÒÁÂÁÔÙ×ÁÅÔ ×ÓÅ ÚÁÐÒÏÓÙ ÎÁ $1 ÐÏÒÔÕ ÎÅ ÏÂÓÌÕÖÅÎÎÙÅ ÄÒÕÇÉÍÉ ×ÉÒÔÕÁÌØÎÙÍÉ ÓÅÒ×ÅÒÁÍÉ.
index_vaddr=ïÂÒÁÂÁÔÙ×ÁÅÔ ×ÓÅ ÚÁÐÒÏÓÙ ÎÁ ÁÄÒÅÓ $1.
index_vaddrport=ïÂÒÁÂÁÔÙ×ÁÅÔ ×ÓÅ ÚÁÐÒÏÓÙ ÎÁ ÁÄÒÅÓ $1, ÐÏÒÔ $2.
index_type=ôÉÐ
index_addr=áÄÒÅÓ
index_port=ðÏÒÔ
index_name=éÍÑ óÅÒ×ÅÒÁ
index_root=ëÏÒÅÎØ äÏËÕÍÅÎÔÏ×
index_create=óÏÄÁÔØ îÏ×ÙÊ ÷ÉÒÔÕÁÌØÎÙÊ óÅÒ×ÅÒ
index_return=ÓÐÉÓÏË ÓÅÒ×ÅÒÏ×

cvirt_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ×ÉÒÔÕÁÌØÎÙÊ ÓÅÒ×ÅÒ
cvirt_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ
cvirt_eaddr1=áÄÒÅÓ ÎÅ ××ÅÄÅÎ
cvirt_eaddr2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
cvirt_eport='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÒÔÏÍ
cvirt_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÓÅÒ×ÅÒÁ
cvirt_eroot1=÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ËÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ ÄÌÑ ÄÏËÕÍÅÎÔÏ×
cvirt_eroot2=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÁÔÁÌÏÇÁ '$1' : $2

etype=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÄÁÎÎÏÇÏ ÔÉÐÁ.
efailed=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ $1
apache_apply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
apache_stop=ïÓÔÁÎÏ×ÉÔØ Apache
apache_start=óÔÁÒÔÏ×ÁÔØ Apache
auth_return=ÕÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ

global_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ
global_mime=çÌÏÂÁÌØÎÙÊ ÓÐÉÓÏË MIME ÔÉÐÏ×
global_mimedesc=ëÌÉËÎÉÔÅ ÎÁ MIME ÔÉÐÅ ÉÚ ÓÐÉÓËÁ ÎÉÖÅ ÄÌÑ ÅÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ ÓÓÙÌËÕ ×ÎÉÚÕ ÓÔÒÁÎÉÃÙ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ ÎÏ×ÏÇÏ ÔÉÐÁ × ÓÐÉÓÏË.
global_type=ôÉÐ
global_ext=òÁÓÛÉÒÅÎÉÑ
global_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ MIME ÔÉÐ
global_return=MIME ÔÉÐÙ

mime_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ MIME ÔÉÐÙ
mime_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ MIME ÔÉÐÁ
mime_add=äÏÂÁ×ÌÅÎÉÅ MIME ÔÉÐÁ
mime_header=óÏÏÔ×ÅÔÓÔ×ÉÅ ÒÁÓÛÉÒÅÎÉÊ ÉÍÅÎ ÆÁÊÌÏ× MIME ÔÉÐÁÍ
mime_type=MIME ÔÉÐ
mime_ext=òÁÓÛÉÒÅÎÉÑ
mime_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ MIME ÔÉÐÁ
mime_etype='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ MIME ÔÉÐÏÍ

virt_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ×ÉÒÔÕÁÌØÎÙÊ ÓÅÒ×ÅÒ
virt_title=ðÁÒÁÍÅÔÒÙ ÷ÉÒÔÕÁÌØÎÏÇÏ óÅÒ×ÅÒÁ
virt_header=äÌÑ $1
virt_opts=ðÁÒÁÍÅÔÒÙ ÷ÉÒÔÕÁÌØÎÏÇÏ óÅÒ×ÅÒÁ
virt_conf=ëÏÎÆÉÇÕÒÁÃÉÑ óÅÒ×ÅÒÁ
virt_show=ðÏËÁÚÙ×ÁÔØ äÉÒÅËÔÉ×Ù
virt_adddir=óÏÚÄÁÎÉÅ ðÏËÁÔÁÌÏÇÏ×Ï, ðÁÒÁÍÅÔÒÏ× æÁÊÌÏ× ÉÌÉ URL
virt_type=ôÉÐ
virt_exact=ôÏÞÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ
virt_re=óÏ×ÐÁÄÁÅÔ Ó ÒÅÇ. ×ÙÒ.
virt_path=ðÕÔØ
virt_return=ÍÅÎÀ ÓÅÒ×ÅÒÁ
virt_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ×ÉÒÔÕÁÌØÎÙÊ ÓÅÒ×ÅÒ
virt_euser=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÉÚÍÅÎÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ ÇÒÕÐÐÕ ÄÌÑ ÄÁÎÎÏÇÏ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ.
virt_header2=$1 ÄÌÑ $2

vserv_title=ëÏÎÆÉÇÕÒÁÃÉÑ ÷ÉÒÔÕÁÌØÎÏÇÏ óÅÒ×ÅÒÁ
vserv_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÁÄÒÅÓ ÄÁÎÎÏÇÏ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ
vserv_addr=áÄÒÅÓ
vserv_port=ðÏÒÔ
vserv_any=ìÀÂÏÊ
vserv_default=ðÏ ÕÍÏÌÞÁÎÉÀ
vserv_root=ëÏÒÅÎØ äÏËÕÍÅÎÔÏ×
vserv_name=éÍÑ óÅÒ×ÅÒÁ
vserv_delete=õÄÁÌÉÔØ ÷ÉÒÔÕÁÌØÎÙÊ óÅÒ×ÅÒ
vserv_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ
vserv_eaddr1=áÄÒÅÓ ÎÅ ××ÅÄÅÎ
vserv_eaddr2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
vserv_eport='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÒÔÏÍ
vserv_eroot='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÒÎÅ×ÙÍ ËÁÔÁÌÏÇÏÍ ÄÌÑ ÄÏËÕÍÅÎÔÏ×
vserv_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÓÅÒ×ÅÒÁ

show_title=äÉÒÅËÔÉ×Ù
show_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÄÉÒÅËÔÉ× Apache
show_ok=òÅÄÁËÔÉÒÏ×ÁÔØ

dir_title=ðÏËÁÔÁÌÏÇÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ
dir_header=äÌÑ $1 ÎÁ $2
dir_show=ðÏËÁÚÁÔØ äÉÒÅËÔÉ×Ù
dir_opts=ðÁÒÁÍÅÔÒÙ ÐÒÉÍÅÎÉÍÙ Ë ..
dir_type=ôÉÐ
dir_regexp=òÅÇ.×ÙÒ.?
dir_exact=ôÏÞÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ
dir_re=óÏ×ÐÁÄÅÎÉÅ Ó ÒÅÇ.×ÙÒ.
dir_path=ðÕÔØ
dir_return=ÍÅÎÀ ËÁÔÁÌÏÇÏ×
dir_header2=$1 ÄÌÑ $2

type_0=ðÒÏÃÅÓÓÙ É ìÉÍÉÔÙ
type_1=óÅÔÅ×ÙÅ ðÁÒÁÍÅÔÒÙ É áÄÒÅÓÁ
type_2=íÏÄÕÌÉ Apache
type_3=öÕÒÎÁÌØÎÙÅ æÁÊÌÙ
type_4=ëÏÎÔÒÏÌØ äÏÓÔÕÐÁ
type_5=ðÁÒÁÍÅÔÒÙ äÏËÕÍÅÎÔÁ
type_6=MIME ôÉÐÙ
type_7=ïÂÒÁÂÏÔËÁ ïÛÉÂÏË
type_8=ðÏÌØÚÏ×ÁÔÅÌÉ É çÒÕÐÐÙ
type_9=ðÒÏÞÅÅ
type_10=ðÓÅ×ÄÏÎÉÍÙ É ðÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ
type_11=CGI ðÒÏÇÒÁÍÍÙ
type_12=éÎÄÅËÓÁÃÉÑ ëÁÔÁÌÏÇÏ×
type_13=ðÒÏËÓÉ
type_14=ðÁÒÁÍÅÔÒÙ SSL
type_15=Perl
type_16=PHP

htaccess_title=æÁÊÌÙ ðÏËÁÔÁÌÏÇÏ×ÙÈ ðÁÒÁÍÅÔÒÏ×
htaccess_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÆÁÊÌÙ htaccess
htaccess_desc=äÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÏËÁÔÁÌÏÇÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ ÍÏÇÕÔ ÂÙÔØ ÕËÁÚÁÎÙ × ÆÁÊÌÅ (ÏÂÙÞÎÏ ÎÁÚÙ×ÁÅÍÏÍ <tt>.htaccess</tt>) × ËÁÖÄÏÍ ËÁÔÁÌÏÇÅ. äÁÎÎÙÅ ÐÁÒÁÍÅÔÒÙ ÐÒÉÍÅÎÉÍÙ ËÏ ×ÓÅÍ ÆÁÊÌÁÍ × ÜÔÏÍ ËÁÔÁÌÏÇÅ É ×ÓÅÈ ÅÇÏ ÐÏÄËÁÔÁÌÏÇÁÈ, ÄÏ ÔÅÈ ÐÏÒ ÐÏËÁ ÎÅ ×ÓÔÒÅÔÉÔÓÑ ÎÏ×ÙÊ <tt>.htaccess</tt> ÆÁÊÌ.
htaccess_create=óÏÚÄÁÔØ æÁÊÌ ðÁÒÁÍÅÔÒÏ×
htaccess_find=îÁÊÔÉ æÁÊÌ ðÁÒÁÍÅÔÒÏ×
htaccess_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
htaccess_from=éÚ ËÁÔÁÌÏÇÁ
htaccess_return=ÓÐÉÓÏË ÆÁÊÌÁ ÐÁÒÁÍÅÔÒÏ×
htaccess_edir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÁÔÁÌÏÇÏÍ
htaccess_ecreate=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÄÁÎÎÙÊ ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ×
htaccess_edelete=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÄÁÎÎÙÊ ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ×

htindex_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÆÁÊÌ ÐÁÒÁÍÅÔÒÏ×
htindex_title=ðÏËÁÔÁÌÏÇÏ×ÙÊ æÁÊÌ ðÁÒÁÍÅÔÒÏ×
htindex_delete=õÄÁÌÉÔØ æÁÊÌ
htindex_show=ðÏËÁÚÁÔØ äÉÒÅËÔÉ×Ù
htindex_opts=ðÏËÁÔÁÌÏÇÏ×ÙÅ ðÁÒÁÍÅÔÒÙ
htindex_file=ðÏÆÁÊÌÏ×ÁÑ ëÏÎÆÉÇÕÒÁÃÉÑ
htindex_create=óÏÚÄÁÎÉÅ ðÏÆÁÊÌÏ×ÙÈ ðÁÒÁÍÅÔÒÏ×
htindex_regexp=òÅÇ.×ÙÒ.?
htindex_exact=ðÏÌÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ
htindex_re=óÏ×ÐÁÄÅÎÉÅ Ó ÒÅÇ.×ÙÒ.
htindex_path=ðÕÔØ
htindex_header=äÌÑ $1
htindex_header2=$1 ÄÌÑ ÆÁÊÌÁ ÐÁÒÁÍÅÔÒÏ× $2
htindex_return=ÍÅÎÀ ÆÁÊÌÁ ÐÁÒÁÍÅÔÒÏ×

htfile_title=ðÏÆÁÊÌÏ×ÙÅ ðÁÒÁÍÅÔÒÙ
htfile_header=äÌÑ $1 × $2
htfile_show=ðÏËÁÚÙ×ÁÔØ äÉÒÅËÔÉ×Ù
htfile_apply=ðÁÒÁÍÅÔÒÙ ÐÒÉÍÅÎÉÍÙ Ë ..
htfile_header2=$1 ÄÌÑ $2

reconfig_title=òÅËÏÎÆÉÇÕÒÁÃÉÑ éÚ×ÅÓÔÎÙÈ íÏÄÕÌÅÊ
reconfig_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ apache
reconfig_ever=ïÛÉÂËÁ ÐÒÉ ×ÙÑÓÎÅÎÉÉ ×ÅÒÓÉÉ ÉÓÐÏÌÎÑÅÍÏÇÏ ÍÏÄÕÌÑ $1 ÓÅÒ×ÅÒÁ Apache. ðÒÏ×ÅÒØÔÅ <a href='$2'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a>, ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ × ÐÒÁ×ÉÌØÎÏÓÔÉ ÐÕÔÅÊ.
reconfig_desc1=ëÏÎÆÉÇÕÒÁÃÉÑ Apache ÉÚÍÅÎÑÌÁÓØ ÉÌÉ ÎÅ ÂÙÌÁ ÐÒÏ×ÅÒÅÎÁ WebminÏÍ. îÉÖÅ ×Ù ×ÉÄÉÔÅ ÓÐÉÓÏË ×ÓÅÈ ÍÏÄÕÌÅÊ Apache ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ WebminÏÍ. éÎÓÔÁÌÌÉÒÏ×ÁÎÎÙÅ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÍÏÄÕÌÉ - ×ÙÂÒÁÎÙ × ÓÐÉÓËÅ. ÷Ù ÍÏÖÅÔÅ ×ÙÂÉÒÁÔØ ÉÌÉ ÏÔÍÅÎÑÔØ×ÙÂÏÒ, ÅÓÌÉ ÄÁÎÎÙÊ ÓÐÉÓÏË ÎÅ×ÅÒÅÎ.
reconfig_desc2=îÉÖÅ ÐÒÉ×ÅÄÅÎ ÓÐÉÓÏË ×ÓÅÈ ÍÏÄÕÌÅÊ Apache ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ WebminÏÍ. éÎÓÔÁÌÌÉÒÏ×ÁÎÎÙÅ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÍÏÄÕÌÉ - ×ÙÂÒÁÎÙ × ÓÐÉÓËÅ. åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÄÉÎÁÍÉÞÅÓËÉ ÚÁÇÒÕÖÁÅÍÙÅ ÍÏÄÕÌÉ Apache, ÔÏ ×ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ×ÙÂÒÁÔØ ÔÅ, ËÏÔÏÒÙÅ ÚÁÇÒÕÖÅÎÙ ÄÉÎÁÍÉÞÅÓËÉ.
reconfig_ok=îÁÓÔÒÏÉÔØ

defines_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ïÐÒÅÄÅÌÅÎÎÙÈ ðÁÒÁÍÅÔÒÏ×
defines_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ httpd ÏÐÒÅÄÅÌÅÎÉÑ
defines_desc=ðÒÉ ÓÔÁÒÔÅ Apache ÐÁÒÁÍÅÔÒÙ ÍÏÇÕÔ ÂÙÔØ ÐÅÒÅÄÁÎÙ ÅÍÕ ÐÒÉ ÐÏÍÏÝÉ ÐÁÒÁÍÅÔÒÁ <tt>-D</tt> × ÁÒÇÕÍÅÎÔÁÈ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ. ðÏÓËÏÌØËÕ ÄÁÎÎÙÅ ÐÁÒÁÍÅÔÒÙ ÍÏÇÕÔ ÍÏÇÕÔ ×ÌÉÑÔØ ÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÄÉÒÅËÔÉ× ÉÚ ÆÁÊÌÁ ËÏÎÆÉÇÕÒÁÃÉÉ, ÔÏ Webmin ÄÏÌÖÅÎ ÚÎÁÔØ ÄÁÎÎÙÅ ÁÒÇÕÍÅÎÔÙ. ÷×ÅÄÉÔÅ ÐÁÒÁÍÅÔÒÙ ÉÓÐÏÌØÚÕÅÍÙÅ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ × ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ ÓÐÒÁ×Á.

authu_ecannot='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÅËÓÔÏ×ÙÍ ÆÁÊÌÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
authu_title=óÐÉÓÏË ðÏÌØÚÏ×ÁÔÅÌÅÊ
authu_header=÷ ÆÁÊÌÅ $1
authu_header2=ðÏÌØÚÏ×ÁÔÅÌÉ ÉÚ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ $1
authu_none=îÅÔ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × ÔÅËÓÔÏ×ÏÍ ÆÁÊÌÅ $1
authu_add=äÏÂÁ×ÉÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
authu_return=ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ
authu_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
authu_create=óÏÚÄÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
authu_user=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ
authu_pass=ðÁÒÏÌØ
authu_dont=îÅ ÍÅÎÑÅÔÓÑ
authu_set=õÓÔÁÎÏ×ÉÔØ ×..
authu_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
authu_euser=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ××ÅÄÅÎÏ
authu_euser2=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÄÏÌÖÎÏ ÓÏÄÅÒÖÁÔØ :
authu_edup=ðÏÌØÚÏ×ÁÔÅÌØ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ

authg_ecannot='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÅËÓÔÏ×ÙÍ ÆÁÊÌÏÍ ÇÒÕÐÐ
authg_title=óÐÉÓÏË çÒÕÐÐ
authg_header=÷ ÆÁÊÌÅ $1
authg_header2=çÒÕÐÐÙ ÉÚ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ $1
authg_none=îÅÔ ÇÒÕÐÐ × ÔÅËÓÔÏ×ÏÍ ÆÁÊÌÅ $1
authg_add=äÏÂÁ×ÉÔØ ÎÏ×ÕÀ ÇÒÕÐÐÕ
authg_return=ÓÐÉÓÏË ÇÒÕÐÐ
authg_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ çÒÕÐÐÙ
authg_create=óÏÚÄÁÎÉÅ çÒÕÐÐÙ
authg_group=éÍÑ ÇÒÕÐÐÙ
authg_mems=þÌÅÎÙ
authg_dont=îÅ ÍÅÎÑÅÔÓÑ
authg_set=õÓÔÁÎÏ×ÉÔØ ×..
authg_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÇÒÕÐÐÙ
authg_euser=éÍÑ ÇÒÕÐÐÙ ÎÅ ××ÅÄÅÎÏ
authg_euser2=éÍÑ ÇÒÕÐÐÙ ÎÅ ÄÏÌÖÎÏ ÓÏÄÅÒÖÁÔØ :
authg_edup=çÒÕÐÐÁ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ

stop_err=ïÛÉÂËÁ ÐÒÉ ÏÓÔÁÎÏ×Å apache
stop_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ apache
stop_epid=ïÛÉÂËÁ ÐÒÉ ÏÔËÒÙÔÉÉ PID ÆÁÊÌÁ $1
stop_epid2=îÅ×ÅÒÎÙÊ PID ÆÁÊÌ $1
stop_esig=ïÛÉÂËÁ ÐÒÉ ÏÔÓÙÌËÅ ÓÉÇÎÁÌÁ SIGTERM ÐÒÏÃÅÓÓÕ $1

start_err=ïÛÉÂËÁ ÐÒÉ ÓÔÁÒÔÅ apache
start_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÔÁÒÔÏ×ÁÔØ apache
start_ecmd=ÏÛÉËÁ ÄÌÑ $1 : $2
start_eunknown=ðÒÉÞÉÎÁ ÎÅÉÚ×ÅÓÔÎÁ

restart_err=ïÛÉÂËÁ ÐÒÉ ÐÒÉÎÑÔÉÉ ÉÚÍÅÎÅÎÉÊ
restart_epid=ïÛÉÂËÁ ÐÒÉ ÏÔËÒÙÔÉÉ PID ÆÁÊÌÁ $1
restart_epid2=îÅ×ÅÒÎÙÊ PID ÆÁÊÌ $1
restart_esig=ïÛÉÂËÁ ÐÒÉ ÏÔÓÙÌËÅ ÓÉÇÎÁÌÁ SIGTERM ÐÒÏÃÅÓÓÕ $1
restart_eunknown=ðÒÉÞÉÎÁ ÎÅÉÚ×ÅÓÔÎÁ

acl_virts=÷ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÙ, ËÏÔÏÒÙÅ ÍÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
acl_global=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ?
acl_htaccess=ÔÏÌØËÏ .htaccess
acl_create=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ×ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÙ?
acl_vuser=íÏÖÅÔ ÍÅÎÑÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ?
acl_vaddr=íÏÖÅÔ ÍÅÎÑÔØ ÁÄÒÅÓÁ ×ÉÒÔÕÁÌØÎÏÇÏ ÓÅÒ×ÅÒÁ?
acl_pipe=íÏÖÅÔ ÐÅÒÅÄÁ×ÁÔØ ÖÕÒÎÁÌÙ ÓÏÏÂÝÅÎÉÊ ÎÁ ×ÈÏÄ ÐÒÏÇÒÁÍÍÙ?
acl_stop=íÏÖÅÔ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ Apache?
acl_dir=ïÇÒÁÎÉÞÉÔØ ÆÁÊÌÙ ËÁÔÁÌÏÇÏÍ
acl_types=äÏÓÔÕÐÎÙÅ ÔÉÐÙ ÄÉÒÅËÔÉ×
acl_all=÷ÓÅ
acl_sel=÷ÙÂÒÁÎÎÙÅ..

   070701000270a9000081a40000000000000002000000013d1fe2d100007ca7000000200000000000000000000000000000001500000003reloc/apache/lang/sv  index_title=Apache Webserver
index_eroot=Apache-rotkatalogen $1 finns inte. Om du har installerat Apache, ändra <a href='$2'>modulkonfigureringen</a> så att rätt sökväg används.
index_eserver=Den exekverbara Apacheserverfilen $1 finns inte. Om du har installerat Apache, ändra <a href='$2'>modulkonfigureringen</a> så att rätt sökväg används.
index_econf=Apacheinställningsfilen $1 finns inte. Om du har installerat Apache, ändra <a href='$2'>modulkonfigureringen</a> så att rätt sökväg används.
index_eports=Din Apachekonfigurering innehåller mer än 1 $1-direktiv. Denna version av Webmin kan inte hantera denna inställning korrekt.
index_global=Globala inställningar
index_virts=Virtuella servrar
index_defserv=Defaultserver
index_defdesc1=Definierar standardinställningar för alla andra virtuella servrar och svarar på alla obesvarade anrop.
index_any=Alla
index_default=Standard
index_auto=Automatisk
index_virt=Virtuell server
index_vname=Hanterar den namnbaserade servern $1 på adress $2.
index_vdef=Svarar på alla obesvarade anrop som inte behandlas av andra virtuella servrar.
index_defdesc2=Definierar standardinställningar för alla andra virtuella servrar.
index_vport=Svarar på alla anrop till port $1 som inte behandlas av andra virtuella servrar.
index_vaddr=Hanterar alla anrop till adress $1.
index_vaddrport=Hanterar alla anrop till port $2 på adress $1.
index_type=Typ
index_addr=Adress
index_nv=Lägg till adress till namnad virtuell server (om det behövs)
index_port=Port
index_name=Servernamn
index_root=Dokumentrot
index_create=Skapa en ny virtuell server
index_return=serverlista

cvirt_ecannot=Du får inte skapa en virtuell server
cvirt_err=Det gick inte att skapa en virtuell server
cvirt_eaddr1=Ingen adress angiven
cvirt_eaddr2='$1' är inte en giltig adress
cvirt_eport='$1' är inte en giltig port
cvirt_ename='$1' är inte ett giltigt servernamn
cvirt_eroot1=Du måste ange en dokumentrot
cvirt_eroot2=Det gick inte att skapa katalogen '$1' : $2

etype=Du får inte ändra denna typ av inställningar
efailed=Det gick inte att spara $1
apache_apply=Genomför ändringar
apache_stop=Stanna Apache
apache_start=Starta Apache
auth_return=åtkomstkontroll
default_serv=Defaultserver
bytes=bytes

global_ecannot=Du får inte ändra globala inställningar
global_mime=Global MIME-typlista
global_mimedesc=Klicka på en MIME-typ i listan nedan för att ändra den eller använd länken längst ned på sidan för att lägga till en ny typ i listan.
global_type=Typ
global_ext=Filändelser
global_add=Lägg till en ny MIME-typ
global_return=MIME-typer

mime_ecannot=Du får inte ändra MIME-typer
mime_edit=Ändra MIME-typ
mime_add=Lägg till MIME-typ
mime_header=Förteckning över filändelser för olika MIME-typer
mime_type=MIME-typ
mime_ext=Filändelser
mime_err=Det gick inte att spara MIME-typ
mime_etype='$1' är inte en giltig MIME-typ

virt_ecannot=Du får inte ändra i denna virtuella server
virt_title=Tillval för virtuell server
virt_header=För $1
virt_opts=Tillval för virtuell server
virt_conf=Serverinställningar
virt_show=Visa direktiv
virt_edit=Ändra direktiv
virt_adddir=Skapa tillval för Per-Directory, Files or Location
virt_type=Typ
virt_Directory=Katalog
virt_Files=Filer
virt_Location=Plats
virt_exact=Exakt överensstämmelse
virt_re=Matcha reguljärt uttryck (regexp)
virt_regexp=Regexp?
virt_path=Sökväg
virt_return=serverindex
virt_euser=Du får inte ändra användare eller grupp för denna virtuella server.
virt_header2=$1 för $2

vserv_title=Inställningar för virtuella servrar
vserv_ecannot=Du får inte ändra adressen för denna virtuella server
vserv_addr=Adress
vserv_addrs=Adresser
vserv_port=Port
vserv_any=Alla
vserv_default=Standard
vserv_root=Dokumentrot
vserv_name=Servernamn
vserv_delete=Ta bort virtuell server
vserv_err=Det gick inte att spara den virtuella servern
vserv_eaddr1=Ingen adress angiven
vserv_eaddr2='$1' är inte en giltig adress
vserv_eport='$1' är inte en giltig port
vserv_eroot='$1' är inte en giltig dokumentrot
vserv_ename='$1' är inte ett giltigt servernamn
vserv_eaddrs=Du har inte angivit adresser till virtuella servrar

show_title=Direktiv
show_edit=Ändra Apache-direktiv
show_ok=Ändra
show_these=Ändra direktiv för hand

manual_title=Ändra direktiv
manual_header=I textrutan nedan kan du ändra i Apache-direktiven i $1 som gäller för denna virtuella server, katalog eller filer.
manual_ecannot=Du får inte ändra dessa direktiv för hand.

dir_title=Inställningar för Per-Directory
dir_header=För $1 på $2
dir_show=Visa direktiv
dir_edit=Ändra direktiv
dir_opts=Inställningarna gäller för ...
dir_Directory=Katalog
dir_Files=Filer
dir_Location=Plats
dir_type=Typ
dir_regexp=Reguljärt uttryck?
dir_exact=Exakt överensstämmelse
dir_re=Matcha reguljärt uttryck (regexp)
dir_path=Sökväg
dir_return=katalogindex
dir_header2=$1 för $2

type_0=Processer och begränsningar
type_1=Nätverk och adresser
type_2=Apache-moduler
type_3=Loggfiler
type_4=Åtkomstkontroll
type_5=Dokumentinställningar
type_6=MIME-typer
type_7=Felhantering
type_8=Användare och grupp
type_9=Blandat
type_10=Alias och vidaresändningar
type_11=CGI-program
type_12=Katalogindexering
type_13=Proxy-hantering
type_14=SSL-inställningar
type_15=Perl
type_16=PHP

htaccess_title=Per-Directory inställningsfiler
htaccess_ecannot=Du får inte ändra htaccess-filer
htaccess_desc=Ytterligare per-directory-inställningar kan göras i en fil (heter oftast <tt>.htaccess</tt>) i respektive katalog. Inställningarna gäller för alla filer i katalogen och dess underkataloger, om det inte finns andra inställningsfiler där.
htaccess_create=Skapa inställningsfil
htaccess_find=Sök inställningsfil
htaccess_auto=Automatiskt
htaccess_from=Från katalog
htaccess_return=lista över inställningsfiler
htaccess_edir='$1' är inte en giltig katalog
htaccess_ecreate=Du får inte skapa denna inställningsfil
htaccess_edelete=Du får inte ta bort denna inställningsfil

htindex_ecannot=Du får inte ändra denna inställningsfil
htindex_title=Per-Directory-inställningsfil
htindex_delete=Ta bort fil
htindex_show=Visa direktiv
htindex_edit=Ändra direktiv
htindex_opts=Per-Directory-inställningar
htindex_file=Per-File-inställningar
htindex_create=Skapa Per-File-inställningar
htindex_regexp=Reguljärt uttryck?
htindex_exact=Exakt överensstämmelse
htindex_re=Matcha reguljärt uttryck
htindex_path=Sökväg
htindex_header=För $1
htindex_header2=$1 för inställningsfil $2
htindex_return=Lista över inställningsfiler

htfile_title=Per-File-inställningar
htfile_header=För $1 i $2
htfile_show=Visa direktiv
htfile_edit=Ändra direktiv
htfile_apply=Inställningarna gäller för ...
htfile_header2=$1 för $2

reconfig_title=Ändra konfiguration för kända moduler
reconfig_ecannot=Du får inte ändra konfiguration för apache
reconfig_ever=Det gick inte att hitta någon versionsbeteckning för den exekverbara Apacheserver-filen $1. Kontrollera <a href='$2'>modulkonfigurationen</a> så att du har angivit rätt sökväg.
reconfig_desc1=Din Apache-konfiguration har ändrats eller har ännu inte kontrollerats av Webmin. Nedan finns en lista över alla Apache-moduler som Webmin stödjer, där installerade moduler är valda. Välj till eller bort moduler om listan inte är korrekt.
reconfig_desc2=Nedan fins en lista över alla Apache-moduler som Webmin stödjer, där installerade moduler är valda. Om du använder dynamiskt inlästa moduler kan du behöva välja till dessa.
reconfig_ok=Konfigurera

defines_title=Ändra definierade parametrar
defines_ecannot=Du får inte ändra httpd-definitioner
defines_desc=När du startar Apache, kan du ange parametrar med flaggan <tt>-D</tt>. Eftersom dessa parametrar kan påverka vilka direktiv som används i dina inställningsfiler måste Webmin veta vilka parametrar som ska vidarebefordras till Apache när det startas. Ange de parametrar som används på ditt system i textfältet till höger.
defines_config=Observera att följande parametrar redan är kända: $1

authu_ecannot='$1' är inte en tillåten användarfil
authu_title=Lista över användare
authu_header=I fil $1
authu_header2=Användare i textfil $1
authu_none=Inga användare i textfil $1
authu_add=Lägg till en ny användare
authu_return=användarlista
authu_edit=Ändra användare
authu_create=Skapa användare
authu_user=Användarnamn
authu_pass=Lösenord
authu_enc=Krypterat ...
authu_plain=Klartext ...
authu_err=Det gick inte att spara användare
authu_euser=Användarnamn ej angivet
authu_euser2=Användarnamn kan inte innehålla :
authu_edup=Det finns redan en användare med namn '$1'
authu_sync=I inställningarna nedan kan du konfigurera Webmin att automatiskt lägga till, uppdatera eller ta bort en användare från denna lösenordsfil när användaren läggs till, ändras eller tas bort i <tt>Användare och Grupper</tt>-modulen.
authu_screate=Lägg till en användare när Unix-användaren läggs till
authu_sdelete=Ta bort en användare när Unix-användaren tas bort
authu_smodify=Ändra en användare när Unix-användaren ändras

authg_ecannot='$1' är inte en tillåten grupp-textfil
authg_title=Lista över grupper
authg_header=Från fil $1
authg_header2=Grupper från textfil $1
authg_none=Inga grupper i textfil $1
authg_add=Lägg till en ny grupp
authg_return=lista över grupper
authg_edit=Ändra grupp
authg_create=Skapa grupp
authg_group=Gruppnamn
authg_mems=Medlemmar
authg_dont=Ändra inte
authg_set=Sätt till ...
authg_err=Det gick inte att spara grupp
authg_euser=Inget gruppnamn har angivits
authg_euser2=Gruppnamn kan inte innehålla :
authg_edup=Det finns redan en grupp med namn '$1'

stop_err=Det gick inte att stanna apache
stop_ecannot=Du får inte stanna apache
stop_epid=Det gick inte att öppna PID-fil $1
stop_epid2=Ogiltig PID-fil $1
stop_esig=Det gick inte att skicka SIGTERM till process $1

start_err=Det gick inte att starta apache
start_ecannot=Du får inte starta apache
start_ecmd=$1 Det gick inte: $2
start_eunknown=Okänd anledning

restart_err=Det gick inte att göra ändringarna
restart_epid=Det gick inte att öppna PID-fil $1
restart_epid2=Ogiltig PID-fil $1
restart_esig=Det gick inte att skicka SIGHUP till process $1
restart_eunknown=Okänd anledning

acl_virts=Virtuella servrar som denna användare kan ändra
acl_vall=Alla servrar
acl_vsel=Angivna ...
acl_defserv=Defaultserver
acl_global=Kunna ändra globala inställningar?
acl_htaccess=endast .htaccess
acl_create=Kunna skapa virtuella servrar?
acl_vuser=Kunna ändra användare för virtuella servrar?
acl_vaddr=Kunna ändra adress för virtuella servrar?
acl_pipe=Kunna skicka loggar till program?
acl_stop=Kunna starta och stanna Apache?
acl_dir=Begränsa filer till katalog
acl_types=Tillgängliga direktivtyper
acl_all=Alla
acl_sel=Angivna ...

core_maxconc=Maximalt antal samtidiga förfrågningar
core_maxkeep=Maximalt antal persistenta förfrågningar per anslutning
core_maxreq=Maximalt antal förfrågningar per serverprocess
core_minspare=Minimalt antal extra serverprocesser
core_maxspare=Maximalt antal extra serverprocesser
core_initial=Initialt antal serverprocesser
core_emaxconc=Maximalt antal förfrågningar måste vara ett heltal
core_emaxkeep=Maximalt antal persistenta förfrågningar per anslutning måste vara ett heltal
core_emaxreq=Maximalt antal förfrågningar per serverprocess måste vara ett heltal
core_eminspare=Minimalt antal extra serverprocesser måste vara ett heltal
core_emaxspare=Maximalt antal extra serverprocesser måste vara ett heltal
core_einitial=Initialt antal serverprocesser måste vara ett heltal
core_default=Standard
core_cpulimit=Gräns för utnyttjande av CPU
core_memlimit=Gräns för utnyttjande av minne
core_proclimit=Gräns för antal processer
core_cpulimit2=gräns för utnyttjande av CPU
core_memlimit2=gräns för utnyttjande av minne
core_proclimit2=gräns för antal processer
core_slimit=Mjuk gräns
core_hlimit=Hård gräns
core_eslimit=$1 är inte en giltig mjuk $2
core_ehlimit=$1 är inte en giltig hård $2
core_dport=Standardport:
core_address=Adress
core_port=Port
core_listen=Lyssna på adresser och portar
core_eaddress='$1' är inte en giltig adress
core_eport='$1' är inte en giltig port
core_eoneaddr=Du måste ange minst en adress att lyssna på
core_edefport=Ogiltig standardport
core_multi=Flera förfrågningar per anslutning
core_ekeep='$1' är inte ett giltigt värde på persistenta förfrågningar
core_ltwice=Slå upp två gånger
core_keeptout=Timeout för persistenta förfrågningar
core_lqueue=Lyssningsköstorlek
core_bufsize=Storlek på TCP-sändningsbuffert
core_admin=E-postadress till serverns administratör
core_rtout=Timeout för förfrågan
core_bhostname=Använd datornamn från webläsaren
core_lookup=Slå upp datornamn
core_useauth=Utför RFC1413-uppslagning av användare
core_altnames=Alternativa namn för virtuella servrar
core_hostname=Serverns datornamn
core_virtaddr=Adresser för namnbaserade virtuella servrar
core_ekeeptout=Timeout för persistenta förfrågningar måste vara ett heltal
core_elqueue=Lyssningsköstorlek måste vara ett heltal
core_ebufsize=TCP-sändningsbuffertens storlek måste vara ett heltal. 
core_ertout=Timeout för förfrågan måste vara ett heltal
core_ehostname=Ogiltigt datornamn för servern
core_osdefault=Operativsystemets standard
core_noadmin=Ingen
core_auto=Automatisk
core_ekeep='$1' är inte ett giltigt antal persistenta förfrågningar
core_evirtaddr='$1' är inte en giltig adress för namnbaserade virtuella servrar
core_auth=Autentiseringsinställningar
core_mime=MIME-typer och kodningar
core_indexing=Indexering och indexfiler
core_hostacc=Datornamnsbaserad åtkomstkontroll
core_diropts=Kataloginställningar
core_filesel=Angivna nedan...
core_execcgi=Kör CGI-program
core_flink=Följ symboliska länkar
core_inclexe=Serverbaserade inkluderingar och körningar
core_incl=Serverbaserade inkluderingar
core_genind=Skapa katalogindex
core_genmview=Skapa Multiviews
core_flinkmatch=Följ symboliska länkar om ägaren matchar
core_optsel=Angivna nedan...
core_enable=Aktivera
core_disable=Deaktivera
core_optfile=Inställningsfil för Per-directory
core_overr=Inställningsfilen gäller över ...
core_genmd5=Skapa MD5-sammandrag
core_docroot=Dokumentrotkatalog
core_eoptfile=Endast en inställningsfil är tillåten
core_enoopt=Du har inte angivit någon inställningsfil
core_enodoc=Dokumentrot '$1' finns inte
core_sigemail=E-postadress
core_signame=Servernamn
core_signone=Inget
core_virtpath=Sökväg för virtuell server
core_footer=Fotnot till felmeddelande
core_evirtpath=Sökväg för virtuell server måste börja med en /
core_defmime=Standard MIME-typ
core_edefmime=Standard MIME-typ måste vara på formen typ/undertyp
core_realm=Namn på autentiseringsområde
core_authtype=Autentiseringstyp
core_authall=Alla åtkomsträttigheter
core_authany=Någon åtkomsträttighet
core_authlog=Begränsa åtkomst via inloggning
core_satisfy=Klienter måste uppfylla
core_salone=Fristående
core_inetd=Kör från inetd
core_verosmod=Version och OS och moduler
core_veros=Version och OS
core_ver=Endast version
core_coredir=Katalog för core-fil
core_lockfile=Låsfil för server
core_maxbody=Maximal storlek på förfrågningens kropp
core_maxhead=Maximalt antal huvud i förfrågningen
core_maxshead=Maximal storlek på förfrågningens huvud
core_maxline=Maximal radlängd för förfrågningen
core_pid=Serverns PID-fil
core_memsco=Fil för minnesdelningens resultattabell
core_exec=Serverstart
core_header=Serverns HTTP-huvud
core_ecore=Ogiltig katalog för core-fil
core_elock=Ogiltig låsfil
core_ebody=Ogiltig storlek på förfrågningens kropp
core_ehead=Ogiltigt antal huvud i förfrågningen
core_eshead=Ogiltig storlek på förfrågningens huvud
core_eline=Ogiltig radlängd för förfrågningen
core_epid=Ogiltig PID-fil
core_escore=Ogiltig fil för minnesdelningens resultattabell
core_sroot=Serverroot
core_group= Gruppnamn
core_gid= Grupp-ID
core_user= Användarnamn
core_uid= Användar-ID
core_asgroup=Kör som Unix-grupp
core_asuser=Kör som Unix-användare
core_euid='$1' är inte ett giltigt grupp-ID
core_egid='$1' är inte ett giltigt användar-ID
core_tourl= Gå till URL ...
core_mesg= Visa meddelande ...
core_error=Felkod
core_resp=Respons
core_urlmsg=URL eller meddelande
core_custom=Egna felmeddelanden
core_eerror='$1' är inte en giltig felkod
core_eurl='$1' är inte en giltig URL
core_syslog=Systemlogg
core_filelog=Fil
core_proglog=Program
core_errfile=Felloggningsfil
core_logto=Logga fel till
core_efilelog=Ogiltig felloggningsfil
core_edirlog=Felloggningsfilen finns inte under den tillåtna katalogen
core_efilemiss=Felloggningsfil saknas
core_eprogmiss=Felloggningsprogram saknas
core_eperm=Du får inte skicka loggar till program
core_allmod=Alla moduler
core_selmod=Angivna moduler ...
core_actmod=Aktiva moduler
core_option=Val
core_setdir=Sätt för katalog
core_merge=Förena med förälder
core_users=Endast användare
core_groups=Endast grupper
core_allusers=Alla giltiga användare
core_none=Ingen
core_all=Alla
core_product=Endast produkt

mod_negotiation_cache=Cacha innehållsförhandlade dokument?
mod_negotiation_pri=Språkprioritet för multi-views
mod_negotiation_def=Standard
mod_negotiation_epri=Språkprioriteter saknas

mod_cgi_logname=Logg för CGI-script
mod_cgi_none=Ingen
mod_cgi_elogname=Ogiltig loggfil för CGI-script
mod_cgi_logsize=Maximal storlek för CGI-scriptslogg
mod_cgi_default=Standard
mod_cgi_elogsize=CGI-scriptsloggens storlek måste vara ett heltal
mod_cgi_post=Maximal postad datastorlek som loggas
mod_cgi_epost=Maximal postad datastorlek måste vara ett heltal
mod_cgi_eunder=CGI-scriptsloggen finns inte under den tillåtna katalogen
mod_alias_from=Från
mod_alias_to=Till
mod_alias_status=Status
mod_alias_efrom='$1' är inte en giltig $2
mod_alias_edest='$1' är inte en giltig destination för $2 
mod_alias_alias=Alias för dokumentkatalog
mod_alias_alias2=dokumentalias
mod_alias_regexp=Alias för dokumentkatalog (regexp)
mod_alias_regexp2=dokumentalias-regexp
mod_alias_redir=URL-hänvisningar
mod_alias_redir2=URL-hänvisning
mod_alias_rredir=URL-hänvisning (regexp)
mod_alias_rredir2=URL-hänvisning (regexp)
mod_alias_tredir=Temporär URL-hänvisning
mod_alias_tredir2=temporär URL-hänvisning
mod_alias_predir=Permanent URL-hänvisning
mod_alias_predir2=permanent URL-hänvisning
mod_alias_cgi=Alias för CGI-katalog
mod_alias_cgi2=alias för CGI-katalog
mod_alias_rcgi=Alias för CGI-katalog (regexp)
mod_alias_rcgi2=alias för CGI-katalog (regexp)
mod_alias_estatus='$1' är inte en giltig status

mod_proxy_proxy=Agera som proxy-server?
mod_proxy_req=Förfrågningar
mod_proxy_forw=Skicka vidare till
mod_proxy_all=Alla
mod_proxy_match=Matchande..
mod_proxy_pass=Förfrågningar som ska skickas vidare till annan proxy
mod_proxy_local=Lokal URL-sökväg
mod_proxy_remote=URL på annan server
mod_proxy_map=Översätt lokala URL:er till andra
mod_proxy_block=Blockera förfrågningar till dessa domäner
mod_proxy_eblock=Du har inte angivit någon domän att blockera
mod_proxy_type=Typ
mod_proxy_noproxy=Ingen proxy för ...
mod_proxy_nopass=Skicka inte förfrågningar till annan proxy för
mod_proxy_nodomain=Domän för förfrågningar utan domän
mod_proxy_none=Ingen
mod_proxy_enodomain=Ogiltig standarddomän
mod_proxy_connect=Portar som CONNECT är tillåtna till
mod_proxy_default=Standard
mod_proxy_econnect=Ogiltiga CONNECT-portar
mod_proxy_dir=Cachekatalog
mod_proxy_edir=Ogiltig cachekatalog
mod_proxy_size=Cachestorlek
mod_proxy_esize=Ogiltig cachestorlek
mod_proxy_garbage=Intervall för cacherensning
mod_proxy_nogc=Aldrig
mod_proxy_hours=timmar
mod_proxy_egarbage=Ogiltigt intervall för cacherensning
mod_proxy_maxexp=Maximal livslängd för cachade filer
mod_proxy_emaxexp=Ogiltig livslängd för cachade filer
mod_proxy_expfac~=Livslängdsfaktor för cachade filer
mod_proxy_eexpfac=Ogiltig livslängdsfaktor för cachade filer
mod_proxy_levels=Antal katalognivåer att cacha 
mod_proxy_elevels=Ogiltigt antal katalognivåer att cacha 
mod_proxy_length=Namnlängd för cachad katalog
mod_proxy_elength=Ogiltig namnlängd för cachad katalog
mod_proxy_defexp=Standardlivslängd för cachade filer
mod_proxy_edefexp=Ogiltig standardlivslängd för cachade filer
mod_proxy_finish=Slutför och cacha överföringen efter
mod_proxy_efinish=Ogiltig överföringsprocent
mod_proxy_nocache=Domäner som inte ska cachas
mod_proxy_none2=Inga
mod_proxy_none3=Ingen
mod_proxy_enocache=Du har inte angivit någon domän som inte ska cachas
mod_proxy_erequest='$1' är inte en giltig förfrågan
mod_proxy_epurl='$1' är inte en giltig proxy-URL
mod_proxy_elurl='$1' är inte en giltig sökväg för lokal URL
mod_proxy_erurl='$1' är inte en giltig URL på annan server
mod_proxy_eip='$1' är inte en giltig IP-adress
mod_proxy_ehost='$1' är inte ett giltigt datornamn
mod_proxy_edomain='$1' är inte en giltig domän
mod_proxy_enet='$1' är inte ett giltigt nätverk
mod_proxy_enetbit='$1' är inte ett giltigt par av nätverk/bitar
mod_proxy_eunder=cache-katalogen finns inte under den tillåtna katalogen
mod_proxy_rurl=URL på annan server
mod_proxy_lurl=Sökväg för lokal URL
mod_proxy_headers=Översätt andra Location:-huvuden till lokala
mod_proxy_ip=IP-adress
mod_proxy_host=Datornamn
mod_proxy_domain=Domän
mod_proxy_net=IP-nätverk
mod_proxy_netbit=Nätverk/bitar

mod_log_agent_default=Standard
mod_log_agent_file=Fil ...
mod_log_agent_program=Program ...
mod_log_agent_log=Loggfil för webbläsare
mod_log_agent_efile=$1 är inte ett giltigt namn för loggfil för webbläsare

mod_log_config_common=Gemensamt loggformat
mod_log_config_named=Namngivet loggformat
mod_log_config_nick=Kortnamn
mod_log_config_format=Format
mod_log_config_deflog=Standardformat
mod_log_config_default=Standard
mod_log_config_write=Skriv till
mod_log_config_filprog=Fil eller program
mod_log_config_file=Fil ...
mod_log_config_program=Program ...
mod_log_config_log=Åtkomstloggfiler
mod_log_config_enick='$1' är inte ett giltigt kortnamn
mod_log_config_eformat=Du har inte angivit något loggformat för $1
mod_log_config_enofilprog=Loggfil eller program saknas
mod_log_config_efilprog='$1' är inte ett giltigt loggfilnamn eller program
mod_log_config_eifset=Valet 'If set' kan inte användas med standardformatet för loggning

mod_log_referer_default=Standard
mod_log_referer_file=Fil ...
mod_log_referer_program=Program ...
mod_log_referer_log=Referensloggfil
mod_log_referer_nolog=Logga inte referenser från
mod_log_referer_elog=$1 är inte ett giltigt namn för referensloggen
mod_log_referer_edir=Referensloggen finns inte under den tillåtna katalogen

mod_status_msg=Visa utökad statusinformation

mod_mime_ext=Utökningar
mod_mime_xtype=Extra MIME-typer
mod_mime_mtype=MIME-typ
mod_mime_chandl=Innehållshanterare
mod_mime_cencs=Innehållskodningar
mod_mime_cenc=Innehållskodning
mod_mime_clangs=Innehållsspråk
mod_mime_clang=Innehållets språk
mod_mime_defmime=Behandla alla filer som MIME-typ
mod_mime_real=Verklig typ
mod_mime_etype=Ogiltig MIME-typ
mod_mime_pass=Skicka alla filer till hanterare
mod_mime_file=MIME-typsfil
mod_mime_default=Standard
mod_mime_ignhand=Ignorera hanterare för ändelse
mod_mime_none=Ingen
mod_mime_xchars=Extra teckenuppsättning
mod_mime_einvalid='$1' är inte en giltig $2
mod_mime_eext=Inga ändelser angivna för $1 $2
mod_mime_type=Typ
mod_mime_handler=Hanterare
mod_mime_enc=Kodning
mod_mime_lang=Språk
mod_mime_chars=Teckenuppsättning
mod_mime_igntype=Ignorera MIME-typer för ändelse
mod_mime_ignenc=Ignorera kodningar för ändelse

mod_setenvif_header=Ärenderad
mod_setenvif_match=Matcha
mod_setenvif_case=Matcha skiftläge
mod_setenvif_var=Variabel
mod_setenvif_value=Värde
mod_setenvif_txt=Variabler sätts baserat på förfrågningens ärende
mod_setenvif_eheader=Ogiltigt ärende '$1'
mod_setenvif_eregex=Ogiltigt reguljärt uttryck '$1'
mod_setenvif_evar=Ogiltigt variabelnamn '$1'
mod_setenvif_clear=Rensa

mod_userdir_default=Standard
mod_userdir_all=Alla användare åtkomliga
mod_userdir_except=Alla användare förutom
mod_userdir_dir=Användares WWW-katalog

mod_imap_action=Åtgärd vid felaktig användning av imagemaps
mod_imap_default=Standard
mod_imap_godefurl=Gå till standard-URL
mod_imap_form=Visa formaterad meny
mod_imap_semiform=Visa halvformaterad meny
mod_imap_unform=Visa oformaterad meny
mod_imap_disperr=Visa serverfel
mod_imap_donoth=Gör ingenting
mod_imap_goimap=Gå till imagemap-URL
mod_imap_goref=Gå till hänvisande URL
mod_imap_gourl=Gå till URL ...
mod_imap_defact=Standardåtgärd för imagemaps
mod_imap_default2=Standard
mod_imap_root=Serverroot
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Hänvisande URL
mod_imap_url=URL ...
mod_imap_defbase=Standardbas för imagemaps
mod_imap_eurl='$1' är inte en giltig URL

mod_speling_autocorr=Korrigera felstavade URL:er automatiskt?
mod_speling_default=Standard

mod_actions_mime=Hanterare/MIME-typ
mod_actions_cgiurl=URL till CGI-script
mod_actions_mimecgi=CGI-åtgärder för hanterare eller MIME-typ
mod_actions_http=HTTP-metod
mod_actions_cgi=CGI-script
mod_actions_httpcgi=HTTP-metod CGI-åtgärder
mod_actions_emime='$1' är inte en giltig hanterare eller MIME-typ
mod_actions_ecgi='$1' är inte ett giltigt CGI-script
mod_actions_enometh=Du har inte angivit någon metod för CGI-scriptet '$1'

mod_include_incl=Processa inkluderingar av körbara filer?
mod_include_set=Ja och ändra senast-ändrad-datum
mod_include_default=Standard

mod_dir_txt=Indexfiler för kataloger

mod_autoindex_default=Standard
mod_autoindex_asc=Stigande
mod_autoindex_descend=Fallande
mod_autoindex_name=Namn
mod_autoindex_date=Datum
mod_autoindex_size=Storlek
mod_autoindex_desc=Beskrivning
mod_autoindex_sort=Sortera katalogindex efter

browsermatch_regexp=Reguljärt uttryck för webbläsare
browsermatch_case=Matcha skiftläge?
browsermatch_var=Sätt variabel
browsermatch_value=Värde
browsermatch_txt=Variabler sätts baserat på webbläsarens typ
browsermatch_evar='$1' är ett ogiltigt variabelnamn 
browsermatch_clear=Rensa

autoindex_fname=Filnamn
autoindex_mime=MIME-typ
autoindex_enc=Kodning
autoindex_icon=Ikon
autoindex_alt=Alternativtext
autoindex_match=Matcha efter
autoindex_fte=Filnamn, typ eller kodning
autoindex_diricon=Ikoner för katalogindex
autoindex_deficon=Standardikon för katalogindex
autoindex_default=Standard
autoindex_edeficon=Ogiltig URL för standardikon
autoindex_diralt=Katalogindexets ALT-taggar
autoindex_desc=Beskrivning
autoindex_fnames=Filnamn
autoindex_dirdesc=Beskrivningar för katalogindex
autoindex_fancy=Visa tjusiga katalogindex
autoindex_htmltitle=Visa HTML-titel som beskrivning
autoindex_iheight=Ikonhöjd
autoindex_iwidth=Ikonbredd
autoindex_sort=Tillåt användaren att sortera kolumner
autoindex_fildesc=Visa filbeskrivningar
autoindex_htags=Skapa taggar för HTML-huvud
autoindex_mtime=Visa senast-ändrad-tider
autoindex_size=Visa filstorlekar
autoindex_iconlink=Inkludera ikon i länken
autoindex_fwidth=Filnamnslängd
autoindex_dwidth=Beskrivningslängd
autoindex_dirfirst=Visa kataloger först
autoindex_default2=Standard
autoindex_select=Angivna nedan ...
autoindex_default3=Standard
autoindex_pixels=pixlar
autoindex_chars=tecken
autoindex_diropt=Inställningar för katalogindex
autoindex_dirhead=Katalogindexets huvudfil
autoindex_default4=Standard
autoindex_edirhead=Ogiltigt filnamn för huvudfil
autoindex_dirfoot=Katalogindexets fotnotsfil
autoindex_edirfoot=Ogiltigt filnamn för fotnotsfil
autoindex_ignore=Strunta i dessa filer i katalogindex
autoindex_eiconurl='$1' är inte en giltig ikon-URL
autoindex_emiss=$1 till $2 fattas
autoindex_emissquot=$1 till '$2' fattas
autoindex_enodesc=Det finns ingen beskrivning av filen $1
autoindex_enofile=Det finns inga filer med beskrivning '$1'
autoindex_eiconsize='$1' är inte en giltig ikonstorlek
autoindex_ewidth='$1' är inte en giltig ikonbredd

mod_mime_magic_file=Fil för MIMEs magiska tal
mod_mime_magic_none=Ingen
mod_mime_magic_efile=Ogiltigt filnamn för MIMEs magiska tal

mod_env_var=Variabel
mod_env_value=Värde
mod_env_pass=Skicka vidare
mod_env_clear=Rensa
mod_env_set=Sätt till ...
mod_env_cgivar=Miljövariabler för CGI-script
mod_env_passall=Skicka vidare alla miljövariabler till CGIs
mod_env_default=Standard
mod_env_evar='$1' är inte ett giltigt variabelnamn
mod_env_evalue='$1' är inte ett giltigt variabelvärde

mod_access_order=Ordning för kontroll av åtkomstsrättigheter:
mod_access_denyallow=Neka, sedan tillåt
mod_access_allowdeny=Tillåt, sedan neka
mod_access_mutual=Ömsesidigt misslyckande
mod_access_default=Standard
mod_access_action=Åtgärd
mod_access_cond=Tillstånd
mod_access_all=Alla förfrågningar
mod_access_host=Förfrågning från dator ...
mod_access_ip=Förfrågning från IP ...
mod_access_pip=Förfrågning från del av IP ...
mod_access_mask=Förfrågning från nät/nätmask ...
mod_access_cidr=Förfrågning från nät/CIDR ...
mod_access_var=Om variabeln är satt ...
mod_access_allow=Tillåt
mod_access_deny=Neka
mod_access_restr=Begränsa åtkomst
mod_access_eip='$1' är inte en giltig IP-adress
mod_access_epip='$1' är inte en giltig del av en IP-adress
mod_access_emask='$1' är inte ett giltigt par av nät/nätmask
mod_access_ecidr='$1' är inte ett giltigt nät/CIDR
mod_access_evar='$1' är inte ett giltigt variabelnamn

mod_auth_ufile=Användartextfil
mod_auth_uedit=Ändra användare 
mod_auth_gfile=Grupptextfil
mod_auth_gedit=Ändra grupper
mod_auth_pass=Skicka vidare misslyckanden till nästa modul?
mod_auth_auth=Textfilsautentisering
mod_auth_eudir=Användartextfilen finns inte under den tillåtna katalogen
mod_auth_egdir=Grupptextfilen finns inte under tillåtna katalogen
mod_auth_eufile=Ogiltigt namn för användartextfil
mod_auth_egfile=Ogiltigt namn för grupptextfil

mod_auth_dbm_ufile=DBM-användarfil
mod_auth_dbm_gfile=DBM-gruppfil
mod_auth_dbm_pass=Skicka vidare misslyckade försök till nästa modul?
mod_auth_dbm_auth=Autentisering för DBM-fil
mod_auth_dbm_eufile=Ogiltigt namn för DBM-användarfil
mod_auth_dbm_egfile=Ogiltigt namn för DBM-gruppfil

mod_cern_meta_process=Processa huvudets metafiler
mod_cern_meta_dir=Underkatalog för huvudets metafiler
mod_cern_meta_default=Standard
mod_cern_meta_edir=Ogiltig underkatalog för huvudets metafiler
mod_cern_meta_suffix=Filändelse för huvudets metafiler
mod_cern_meta_default2=Standard
mod_cern_meta_esuffix=Ogiltig filändelse för metafiler

mod_ssl_enable=Använda SSL?
mod_ssl_proto=SSL-protokoll
mod_ssl_cfile=Certifikat/privat nyckelfil
mod_ssl_default=Standard
mod_ssl_ecfile=Du har inte angivit något certifikat/någon privat nyckelfil
mod_ssl_kfile=Privat nyckelfil
mod_ssl_ekfile=Du har inte angivit någon privat nyckelfil
mod_ssl_clcert=Klient-SSL-certifikat
mod_ssl_nreq=Krävs inte
mod_ssl_opt=Valfritt
mod_ssl_req=Krävs
mod_ssl_optca=Valfritt, ingen CA
mod_ssl_cdepth=Djup för klientcertifikat
mod_ssl_ecdepth=Certifikatdjupet måste vara ett tal
mod_ssl_log=Loggfil för SSL
mod_ssl_elog=Du har inte angivit någon loggfil för SSL
mod_ssl_onlyssl=Tillåt endast åtkomst med SSL

log_global=Ändrade globala inställningar för $1
log_virtc=Skapade server $1
log_virts=Konfigurerade om server $1
log_virtd=Tog bort server $1
log_virtm=Ändrade server $1 för hand
log_virt=Ändrade $1 för server $2
log_dirc=Skapade katalog $1
log_dirc_l=Skapade katalog $1 på server $2
log_dirs=Ändrade katalog $1
log_dirs_l=Ändrade katalog $1 på server $2
log_dird=Tog bort katalog $1
log_dird_l=Tog bort katalog $1 på server $2
log_dirm=Ändrade katalog $1 för hand
log_dirm_l=Ändrade katalog $1 på server $2 för hand
log_dir=Ändrade $1 i katalog $2
log_dir_l=Ändrade $1 i katalog $2 på server $3
log_htaccessc=Skapade inställningsfil $1
log_htaccessd=Tog bort inställningsfil $1
log_htaccessm=Ändrade i inställningsfil $1 för hand
log_htaccess=Ändrade $1 i inställningsfil $2
log_filesc=Skapade filinställningar för $1
log_filesc_l=Skapade filinställningar för $1 i fil $2
log_filess=Ändrade filinställningar för $1
log_filess_l=Ändrade filinställningar för $1 i fil $2
log_filesd=Tog bort filinställningar för $1
log_filesd_l=Tog bort filinställningar för $1 i fil $2
log_filesm=Ändrade filinställningar för $1 för hand
log_filesm_l=Ändrade filinställningar för $1 i fil $2 för hand
log_files=Ändrade $1 i filinställningarna för $2
log_files_l=Ändrade $1 i filinställningarna för $2 i fil $3
log_mime_modify=Modifierade MIME-typ $1
log_mime_create=Lade till MIME-typ $1
log_defines=Ändrade definierade parametrar
log_reconfig=Konfigurerade om kända moduler
log_start=Startade webbserver
log_stop=Stannade webbserver
log_apply=Tog ändringar i drift
 070701000270aa000081a40000000000000002000000013d1fe2d100007804000000200000000000000000000000000000001500000003reloc/apache/lang/tr  index_title=Apache Web Sunucusu
index_eroot=Apache kök dizini $1 mevcut deðil. Eðer Apache kurulmuþ ise, <a href='$2'>modül ayarlarýný</a> doðru yolu kullanmak için deðiþtirin
index_eserver=Apache sunucusu çalýþtýrýlabiliri $1 mevcut deðil. Eðer Apache kurulmuþ ise, <a href='$2'>modül ayarlarýný</a> doðru yolu kullanmak için deðiþtirin
index_econf=Apache ayar dosyasý $1 mevcut deðil. Eðer Apache kurulmuþ ise, <a href='$2'>modül ayarlarýný</a> doðru yolu kullanmak için deðiþtirin
index_eports=Apache ayarlarýnýz 1'den fazla $1 içeriyor. Webmin'in bu versiyonu bu kurulumu devam ettiremiyor.
index_global=Genel Yapýlandýrma
index_virts=Sanal Sunucular
index_defserv=Öntanýmlý Sunucu
index_defdesc1=Diðer bütün sanal sunucular için öntanýmlý ayarlarý tanýmlar ve herhangi býrakýlan istekleri yapar 
index_any=Hepsi
index_default=Öntanýmlý
index_auto=Otomatik
index_virt=Sanal Sunucular
index_vname=Ýsim tabanlý sunucu $2'deki adresleri $1'de tutar.
index_vdef=Ýþlemler bütün istekleri diðer sanal sunucular ile kullanmazlar
index_defdesc2=Diðer sanal sunucular için öntanýmlý ayarlarý tanýmlar
index_vport=Ýþlemler $1 portundaki bütün istekleri diðer sanal sunucular ile kullanmazlar
index_vaddr=Bütün istekler $1 adresine býrakýlýr
index_vaddrport=Bütün istekler $1 adresindeki $2 portuna býrakýlýr
index_type=Tip
index_addr=Adres
index_port=Port
index_name=Sunucu Ýsmi
index_root=Döküman Yolu
index_create=Yeni Bir Sanal Sunucu Oluþtur
index_return=sunucu listesi

cvirt_ecannot=Sanal sunucu oluþturmaya izniniz yoktur
cvirt_err=Sanal sunucu oluþturulmasýnda hata olustu
cvirt_eaddr1=Adres Girilmedi
cvirt_eaddr2='$1' geçerli bir adres deðildir
cvirt_eport='$1' geçerli bir form deðildir
cvirt_ename='$1' geçerli bir sunucu ismi deðildir
cvirt_eroot1=Bir döküman ismi girilmelidir
cvirt_eroot2=Dizinin oluþturulmasinda hata olustu '$1' : $2

etype=Bu tip seçenekleri deðiþtirmeye izininiz yoktur
efailed=Kaydetmede hata oluþtu : $1
apache_apply=Deðiþiklikleri Uygula
apache_stop=Apache'yi durdur
apache_start=Apache'yi baþlat
auth_return=giriþ kontrolü
default_serv=öntanýmlý sunucusu

global_ecannot=Genel seçenekleri deðiþtirmeye izininiz yoktur
global_mime=Genel MIME tipleri listesi
global_mimedesc=Özelliklerini deðiþtirmek istediðiniz MIME tipini listeden seçip týklayýn veya listeye yeni bir tip eklemek için sayfanýn altýndaki linki kullanin
global_type=Tip
global_ext=Uzantýlar
global_add=Yeni bir MIME tipi ekle
global_return=MIME tipleri

mime_ecannot=MIME tiplerini degiþtirmeye izininiz yoktur
mime_edit=MIME Tipinin Özelliklerini Deðiþtir
mime_add=Yeni Bir MIME Tipi Ekle
mime_header=MIME tipi haritalarý için dosya adý uzantýlarý
mime_type=MIME Tipi
mime_ext=Uzantýlar
mime_err=MIME tipinin kaydedilmesinde hata oluþtu
mime_etype='$1' geçerli bir MIME tipi deðildir

virt_ecannot=Bu sanal sunucunun özelliklerini deðiþtiremezsiniz
virt_title=Sanal Sunucu Seçenekleri
virt_header=$1 icin
virt_opts=Sanal Sunucu Seçenekleri
virt_conf=Sunucu Ayarlarý
virt_show=Dizin Seçenekleri
virt_adddir=Alt-dizin, Dosya veya Dizin Oluþturma Özellikleri
virt_type=Tip
virt_exact=Birebir eþleþtir
virt_re=Regexp'i karþýlaþtýr
virt_path=Yol
virt_return=sunucu indeksi
virt_euser=Bu sanal sunucu icin kullanýcý ya da gruplarýn özelliklerini deðiþtirmeye hakkýnýz yoktur
virt_header2=$2 için $1

vserv_title=Sanal Sunucu Ayarlarý
vserv_ecannot=Bu sanal sunucunun adres özelliklerini deðiþtiremezsiniz
vserv_addr=Adres
vserv_port=Port
vserv_any=Hepsi
vserv_default=Öntanýmlý
vserv_root=Döküman Yeri
vserv_name=Sunucu Ýsmi
vserv_delete=Sanal Sunucuyu Sil
vserv_err=Sanal sunucunun kaydedilmesinde hata oluþtu
vserv_eaddr1=Adres Girilmedi
vserv_eaddr2='$1' geçerli bir adres deðildir
vserv_eport='$1' geçerli bir port deðildir
vserv_eroot='$1' geçerli bir kök dokumani deðildir
vserv_ename='$1' geçerli bir sunucu ismi deðildir

show_title=Komutlar
show_edit=Apache Komutlarýný Deðiþtir:
show_these=Komutlarý elle deðiþtirin
show_ok=Özelliðini deðiþtir

manual_title=Yeni Komutlar
manual_header=Bu sanal sunucudaki dizin ya da dosyalara $1'deki Apache komutlarýný uygulamak için takip eden formu kullanabilirsiniz

dir_title=Dizin Baþýna Seçenekler
dir_header=$1 için, $2'de
dir_show=Komutlarý göster
dir_opts=Secenekleri Uggula ..
dir_type=Tip
dir_regexp=Regexp(Düzenleme ifadeleri)?
dir_exact=Mecburi karþýlaþtýr
dir_re=Regexp karþýlaþtýr
dir_path=Yol
dir_return=dizin indexi
dir_header2=$2 icin $1

type_0=Ýþlemler ve Sýnýrlar
type_1=Að ve Adresler
type_2=Apache Modülleri
type_3=Kayýt Dosyalarý
type_4=Giriþ Kontrolü
type_5=Döküman Seçenekleri
type_6=MIME Tipleri
type_7=Hata Denetimi
type_8=Kullanýcý ve Gruplar
type_9=Çeþitli
type_10=Takma isimler ve yönlendirmeler
type_11=CGI Programlarý
type_12=Dizin Indeksleme
type_13=Proxy
type_14=SSL Seçenekleri
type_15=Perl
type_16=PHP

htaccess_title=Dizin baþýna seçenekler dosyasý
htaccess_ecannot=htaccess dosyalarýný deðiþtiremezsiniz
htaccess_desc=Eklenilen dizin baþýna seçenekler her dizinde bir dosyada (genellikle <tt>.htaccess</tt>) tutulmaktadýr.Bu seçenek belirtilen dizin, içindeki dosyalar ve alt dizinlerinde diðer seçenek dosyalarý önemsenmedikçe uygulanacaktýr.
htaccess_create=Seçenek Dosyasý Oluþtur
htaccess_find=Seçenek Dosyalarýný Bul
htaccess_auto=Otomatik Olarak
htaccess_from=Dizinden
htaccess_return=seçenek dosyasý listesi
htaccess_edir='$1' geçerli bir dizin ismi degildir
htaccess_ecreate=Bu seçenek dosyasýný oluþturmaya izininiz yoktur
htaccess_edelete=Bu seçenek dosyasýný silmeye izininiz yoktur

htindex_ecannot=Bu seçenek dosyasýnýn içeriðini deðiþtirmeye izininiz yoktur
htindex_title=Dizin Baþýna Seçenekler
htindex_delete=Dosyayý Sil
htindex_show=Komutlarý Göster
htindex_opts=Dizin Baþýna Seçenekler
htindex_file=Dosya Baþýna Yapýlandýrma
htindex_create=Dosya Baþýna Seçenekler Oluþtur
htindex_regexp=Regexp?
htindex_exact=Mutlaka karþýlaþtýr
htindex_re=Mutlaka Regexp
htindex_path=Yol
htindex_header=$1 için
htindex_header2=Seçenek dosyasý $2 için $1
htindex_return=Seçenek dosyasý indeksi

htfile_title=Dosya Baþýna Seçenekler
htfile_header=$2'de $1 icin
htfile_show=Komutlarý Göster
htfile_edit=Komutlarý Deðiþtir
htfile_apply=Seçenekleri Uygula
htfile_header2=$2 için $1

reconfig_title=Bilinen Modülleri Tekrar Ayarla
reconfig_ecannot=Apache'yi tekrar yapýlandýrmak için izininiz yoktur.
reconfig_ever=Apache sunucusu çalýþtýrýlabilirinin sürümünün alýnmasýnda hata oluþtu.Doðru yol tanýmýný bulmak için <a href='$1'>modül yapýlandýrmasý</a> kontrol ediniz.
reconfig_desc1=Takip eden listede Webmin'in desteklediði Apache modülleri vardýr ve kurulu olanlar seçilmiþtir.Liste doðru deðilse seçenekleri seçebilir ya da seçili olaný kaldýrabilirsiniz.
reconfig_desc2=Takip eden listede Webmin'in desteklediði Apache modülleri vardýr ve kurulu olanlar seçilidir.
reconfig_ok=Ayarla

defines_title=Tanýmlanmýþ parametreleri deðiþtir
defines_ecannot=Httpd tanýmlarýný deðiþtirmeye izininiz yoktur
defines_desc=Apache baþlatýldýðýnda parametreler <tt>-D</tt> komut satýrý seçeneði ile geçilebilir. Sað taraftaki yazý kutusuna sisteminizde kullandýðýnýz parametreleri giriniz.
defines_config=Not: Takip eden tanýmlý parametreler $1 olarak her zaman biliniyor.

authu_ecannot='$1' izin verilmiþ bir kullanýcý düz metin dosyasý deðildir
authu_title=Kullanýcý Listesi
authu_header=$1'deki dosya
authu_header2=$1 dosyasýndaki kullanýcýlar
authu_none=$1 dosyasýnda kullanýcýlar yoktur
authu_add=Yeni bir kullanýcý ekle
authu_return=Kullanýcý Listesi
authu_edit=Kullanýcý Özellliklerini Deðiþtir
authu_create=Kullanýcý Oluþtur
authu_user=Kullanýcý Adý
authu_pass=Parola
authu_enc=Þifrelenmiþ...
authu_plain=Düz Metin Ortamý
authu_err=Kullanýcýnýn Kaydedilmesinde hata oluþtu
authu_euser=Kullanýcý Adý Girilmedi
authu_euser2=Kullanýcý adý þu karakteri içermemelidir :
authu_edup='$1' kullanýcýsý her zaman mevcut
authu_sync=Bu seçenek ile Webmin'in, <tt>Kullanýcýlar ve Gruplar</tt> modülü ile bir kullanýcý eklendiði, deðiþtirildiði veya silindiði zaman otomatik olarak bu parola dosyasýnda kullanýcý eklemek, deðiþirmek ya da silme iþlemlerini yapmasý saðlanýr.
authu_screate=Bir Unix kullanýcýsý eklendiðinde kullanýcýyý ekle
authu_sdelete=Bir Unix kullanýcýsý silindiðinde kullanýcýyý sil
authu_smodify=Bir Unix kullanýcýsý deðiþtirildiðinde kullanýcýyý deðiþtir

authg_ecannot='$1' izin verilmiþ bir düz metin dosyasý deðil.
authg_title=Grup listesi
authg_header=$1 dosyasýnda
authg_header2=$1 yazý dosyasýndaki gruplar
authg_none=$1 yazý dosyasýnda grup yok
authg_add=Yeni bir grup ekle
authg_return=grup listesi
authg_edit=Grup Özelliklerini Deðiþtir
authg_create=Grup Oluþtur
authg_group=Grup Ýsmi
authg_mems=Üyeler
authg_dont=Degiþtirmeyin
authg_set=Kur..
authg_err=Grubun kaydedilmesinde hata oluþtu
authg_euser=Grup ismi girilmedi
authg_euser2=Grup ismi bu karakteri içermemelidir :
authg_edup='$1' grubu zaten mevcuttur

stop_err=Apache'nin durdurulamasýnda hata oluþtu
stop_ecannot=Apache'yi durdurmaya izininiz yoktur
stop_epid=PID dosyasý $1'in açýlmasýnda hata oluþtu
stop_epid2=Yanlýþ PID dosyasý $1
stop_esig=$1 iþlemine SIGTERM gönderilirken hata oluþtu

start_err=Apache'nin baþlatýlmasýnda hata oluþtu
start_ecannot=Apache'yi baþlatmaya izininiz yoktur
start_ecmd=$1'de hata oluþtu : $2
start_eunknown=Bilinmeyen sebep

restart_err=Deðiþiklikleri uygulamada hata oluþtu
restart_epid=PID dosyasý $1'i açarken hata oluþtu
restart_epid2=Yanlýþ PID dosyasý $1
restart_esig=$1 iþlemine SIGHUP gonderilirken hata oluþtu
restart_eunknown=Bilinmeyen sebep

acl_virts=Sanal Sunucularýn özelliklerini bu kullanýcý deðiþtirebilir
acl_global=Genel seçenekleri deðiþtirebilsin
acl_htaccess=Sadece .htaccess
acl_create=Sanal sunucular oluþturabilsin
acl_vuser=Sanal sunucu kullanýcýlarýný deðiþtirebilsin
acl_vaddr=Sanal sunucu adreslerini deðiþtirebilsin
acl_pipe=Kayýtlarý programlara baðlayabilsin mi?
acl_stop=Apache'yi durdurup baþlatabilsin
acl_dir=Sýnýrlanacak dosya dizinleri
acl_types=Komut tipleri ulaþýlabilir.
acl_all=Bütün
acl_sel=Seçilmiþ..

core_maxconc=En çok concurrent istek sayýsý
core_maxkeep=Baðlantý baþýna en çok keepalive süresi
core_maxreq=Sunucu iþlemi baþýna en çok iþlem sayýsý
core_minspare=En az spare sunucu iþlemi sayýsý
core_maxspare=En çok spare sunucu iþlemi sayýsý
core_initial=Ýlk sunucu iþlem sayýsý
core_emaxconc=En çok concurrent istek sayýsý bir tamsayý olmalýdýr.
core_emaxkeep=Baðlantý baþýna en çok keepalive süresi bir tamsayý olmalýdýr.
core_emaxreq=Sunucu iþlemi baþýna en çok iþlem sayýsý bir tamsayý olmalýdýr.
core_eminspare=En az spare sunucu iþlemi sayýsý bir tamsayý olmalýdýr.
core_emaxspare=En çok spare sunucu iþlemi sayýsý bir tamsayý olmalýdýr.
core_einitial=Ýlk sunucu iþlem sayýsý bir tamsayý olmalýdýr.
core_default=Öntanýmlý
core_cpulimit=Ýþlemci kaynak limiti
core_memlimit=Bellek kaynak limiti
core_proclimit=Ýþlem limiti
core_cpulimit2=Ýþlemci kaynak limiti
core_memlimit2=Bellek kaynak limiti
core_proclimit2=iþlem limiti
core_slimit=Soft limit 
core_hlimit=Hard limit 
core_eslimit=$1 geçerli bir soft $2 deðil
core_ehlimit=$1 geçerli bir hard $2 deðil
core_dport=Öntanýmlý port:
core_address=Adres
core_port=Port
core_listen=Adres ve portlarda dinle
core_eaddress='$1' geçerli bir adres deðil
core_eport='$1' geçerli bir port deðil
core_eoneaddr=Burada inlemek için en az bir adres girmelisiniz:
core_edefport=Geçersiz öntanýmlý port
core_multi=Baðlantý baþýna çoklu istek sayýsý
core_ekeep='$1' geçerli bir keepalive sayýsý deðildir
core_ltwice=Lookup twice
core_keeptout=Keep-alive gecikme süresi
core_lqueue=Dinleme kuyruðu uzunluðu
core_bufsize=TCP gönderim tampon boyutu
core_admin=Sunucu yöneticisi e-posta adresi
core_rtout=Ýstek gecikme süresi
core_bhostname=Tarayýcý ile makine adý tamamlayýcýlarýný kullan
core_lookup=Makine adlarýna bakýlsýn mý?
core_useauth=RFC1413 kullanýcýlarýna bakýlsýn mý
core_altnames=Sanal sunucu isimlerini oluþtur
core_hostname=Sunucu makine adý
core_virtaddr=Sanal sunucu isimleri için adresler
core_ekeeptout=Keep-alive gecikme süresi bir tamsayý olmalýdýr
core_elqueue=Dinleme kuyrupu uzunluðu bir tamsayý olmalýdýr
core_ebufsize=TCP gönderim tampon boyutu bir tamsayý olmalýdýr
core_ertout=Ýstek gecikme süresi bir tamsayý olmalýdýr
core_ehostname=Geçersiz sunucu makine adý
core_osdefault=OS Öntanýmlýsý
core_noadmin=Hiçbiri
core_auto=Otomatik
core_ekeep='$1' geçerli bir keepalive gecikme süresi olmalýdýr
core_evirtaddr='$1' sanal sunucu isimleri için geçerli bir adres deðildir
core_auth=Onaylama seçenekleri
core_mime=MIME tipleri ve þifrelemeler
core_indexing=Indeksleme ve indeks dosyalarý
core_hostacc=Makine adý giriþ kontrolü
core_diropts=Dizin seçenekleri
core_filesel=Seçililer...
core_execcgi=CGI programlarýný çalýþtýr
core_flink=Sembolik linkleri takip et
core_inclexe=Server-side içerikleri ve çalýþtýrýlabilirleri
core_incl=Server-side içerikleri
core_genind=Sizin indekslerini oluþtur
core_genmview=Çoklu Bakýþlarý Oluþtur
core_flinkmatch=Sahipleri izin verirse sembolik linkleri takip et
core_optsel=Seçililer..
core_enable=Aktif
core_disable=Aktif deðil
core_optfile=Dizin baþýna seçenekler dosyasý
core_overr=Seçenekler dosyasý göz önünde tutulsun..
core_genmd5=MD5 digest'lerini oluþtur
core_docroot=Döküman dizini
core_eoptfile=Sadece bir tane seçenekler dosyasý olabilir
core_enoopt=Seçenekler dosyasý girilmedi
core_enodoc=Döküman yolu '$1' mevcut deðil
core_sigemail=E-posta adresi
core_signame=Sunucu ismi
core_signone=Hiçbiri
core_virtpath=Sanal sunucu yolu
core_footer=Hata mesajý dipnotu
core_evirtpath=Sanal sunucu yolu bir / ile baþlamalýdýr
core_defmime=Öntanýmlý MIME Tipi
core_edefmime=Öntanýmlý MIME tipi tip/alt_tip þeklinde olmalýdýr
core_realm=Onaylama alan ismi
core_authtype=Onaylama tipi
core_authall=Bütün giriþ kontrolleri
core_authany=Herhangi bir giriþ kontrolü
core_authlog=Login ile giriþi kýsýtla
core_satisfy=Ýstemciler ikna edilmeli
core_salone=Her zaman çalýþsýn
core_inetd=Inetd'den çalýþtýr
core_verosmod=Sürüm, OS ve modüller
core_veros=Sürüm ve OS
core_ver=Sadece sürüm
core_coredir=Çekirdek hatasý dizini
core_lockfile=Sunucu kilit dosyasý
core_maxbody=En çok istek boyutu
core_maxhead=Ýstekteki en çok baþlýk sayýsý
core_maxshead=En çok istek baþlýðý boyutu
core_maxline=En çok istek satýr sayýsý
core_pid=Sunucu PID dosyasý
core_memsco=Paylaþýlmýþ bellek durum dosyasý
core_exec=Sunucu çalýþma durumu
core_header=Sunucu HTTP baþlýðý
core_ecore=Geçersiz çekirdek hatasý dizini
core_elock=Geçersiz kayýt dosyasý
core_ebody=Geçersiz istek boyutu
core_ehead=Geçersiz baþlýk sayýsý
core_eshead=Geçersiz baþlýk boyutu
core_eline=Geçersiz istek satýr sayýsý
core_epid=Geçersiz PID dosyasý
core_escore=Geçersiz durum dosyasý
core_sroot=Sunucu root
core_group= Grup adý
core_gid= Grup ID
core_user= Kullanýcý adý
core_uid= Kullanýcý ID
core_asgroup=Unix grubu olarak çalýþtýr
core_asuser=Unix kullanýcýsý olarak çalýþtýr
core_euid='$1' geçerli bir grup ID deðil
core_egid='$1' geçerli bir kullanýcý ID deðil
core_tourl= URL'ye git..
core_mesg= Mesajý göster..
core_error=Hata kodu
core_resp=Yanýt
core_urlmsg=URL ya da mesaj
core_custom=Özel hata yanýtlarý
core_eerror='$1' geçerli bir hata kodu deðil
core_eurl='$1' geçerli bir URL deðil
core_syslog=Sistem Kaydý
core_filelog=Dosya
core_proglog=Program 
core_errfile=Hata kayýt dosyasý
core_logto=Hata kaydý...
core_efilelog=Geçersiz hata kayýt dosyasý
core_edirlog=Hata kayýt dosyasý izin verilen dizinin altýnda deðil
core_efilemiss=Hata kayýt dosyasý bulunamadý
core_eprogmiss=Hata kayýt dosyasý bulunamadý
core_eperm=Programlarý kayýtlara baðlamak için izininiz yoktur
core_allmod=Bütün modüller
core_selmod=Seçili modüller..
core_actmod=Aktif modüller
core_option=Seçenek
core_setdir=Dizin için oluþtur
core_merge=Merge with parent
core_users=Sadece bu kullanýcýlarý
core_groups=Sadece bu gruplar
core_allusers=Sedece geçerli kullanýcýlar
core_none=Hiçbiri
core_all=Hepsi
core_product=Hiçbiri
core_206=Öntanýmlý


mod_negotiation_cache=Cache content-negotiated documents?
mod_negotiation_pri=Çoklu bakýþlar için dil önceliði
mod_negotiation_def=Öntanýmlý
mod_negotiation_epri=Dil öncelikleri bulunamadý

mod_cgi_logname=CGI Betik kaydý
mod_cgi_none=Hiçbiri
mod_cgi_elogname=Geçersiz CGI betik kayýt dosyasý
mod_cgi_logsize=En çok CGI kayýt boyutu
mod_cgi_default=Öntanýmlý
mod_cgi_elogsize=CGI kayýt boyutu bir tamsayý olmalýdýr
mod_cgi_post=En çok kaydý tutulmuþ sonraki bilgi boyutu
mod_cgi_epost=Post bilgi boyutu bir tamsayý olmalýdýr.
mod_cgi_eunder=CGI betiði kaydý izin verilen dizinin altýnda deðildir
mod_alias_efrom='$1' geçerli bir $2 deðildir
mod_alias_edest='$1' geçerli bir $2 hedefi deðildir
mod_alias_alias=Döküman dizin takma adlarý
mod_alias_regexp=Düzenleme ifadeleri dökümaný dizin takma adlarý
mod_alias_redir=URL yönlendirmeleri
mod_alias_rredir=Düzenleme ifadeleri URL yönlendirmeleri
mod_alias_tredir=Geçici URL yönlendirmeleri
mod_alias_predir=Kalýcý URL yönlendirmeleri
mod_alias_cgi=CGI dizini takma adlarý
mod_alias_rcgi=Düzenleme ifadeleri CGI dizini takma adlarý
mod_alias_estatus='$1' geçerli bir durum deðildir
mod_proxy_proxy=Proxy sunucusu olarak davransýn mý?
mod_proxy_req=Ýstekler
mod_proxy_forw=Döndür
mod_proxy_all=Hepsi
mod_proxy_match=Karþýlaþtýrýlýyor..
mod_proxy_pass=Diðer proxy'e geçiþ istekleri
mod_proxy_local=Yerel URL yolu
mod_proxy_remote=Uzak URL
mod_proxy_map=Uzak URL'lere yereli haritala
mod_proxy_block=Alanlara engel istekleri
mod_proxy_eblock=Engellenecek alan bulunamadý
mod_proxy_type=Tip
mod_proxy_noproxy=Bunun için proxy kullanma..
mod_proxy_nopass=Diðer proxy'e istekleri geçme
mod_proxy_nodomain=Alan bulunamadýðýnda istekler için verilecek alan
mod_proxy_none=Hiçbiri
mod_proxy_enodomain=Geçersiz öntanýmlý alan
mod_proxy_connect=BAÐLANTIya izin verilen portlar
mod_proxy_default=Öntanýmlý
mod_proxy_econnect=Geçersiz BAÐLANTI portlarý
mod_proxy_dir=Cache dizini
mod_proxy_edir=Geçersiz cache dizin ismi
mod_proxy_size=Cache boyutu
mod_proxy_esize=Geçersiz cache boyutu
mod_proxy_garbage=Cache atýk toplama aralýðý
mod_proxy_nogc=Asla
mod_proxy_hours=saat
mod_proxy_egarbage=Geçersiz cache atýk toplama aralýðý
mod_proxy_maxexp=Cache'lenmiþ dosyanýn en çok iptal süresi:
mod_proxy_emaxexp=Geçersiz cache'lenmiþ dosyanýn en çok iptal süresi
mod_proxy_expfac~==Cache'lenmiþ dosyanýn en çok iptal süresi çarpaný
mod_proxy_eexpfac=Geçersiz cache'lenmiþ dosyanýn en çok iptal süresi çarpaný
mod_proxy_levels=Cache dizin seviyesi
mod_proxy_elevels=Geçersiz cache dizin seviyesi sayýsý
mod_proxy_length=Cache dizin ismi uzunluðu
mod_proxy_elength=Geçersiz cache dizin ismi uzunluðu
mod_proxy_defexp=Cache öntanýmlý iptal süresi
mod_proxy_edefexp=Geçersiz cache öntanýmlý iptal süresi
mod_proxy_finish=Transferden sonra bitir ve cache'le
mod_proxy_efinish=Geçersiz transfer yüzdesi
mod_proxy_nocache=Cache'lenmeyecek alanlar
mod_proxy_none2=Hiçbiri
mod_proxy_enocache=Cache'lenmeyecek alan bulunamadý
mod_proxy_erequest='$1' geçerli bir istek deðildir
mod_proxy_epurl='$1' geçerli bir proxy URL'si deðildir
mod_proxy_elurl='$1' geçerli bir yerel URL yolu deðildir
mod_proxy_erurl='$1' geçerli bir uzak URL deðildir
mod_proxy_eip='$1' geçerli bir IP adresi deðildir
mod_proxy_ehost='$1' geçerli bir makine adý deðildir
mod_proxy_edomain='$1' geçerli bir alan deðildir
mod_proxy_enet='$1' geçerli bir að deðildir
mod_proxy_enetbit='$1' geçerli bir að/bit çifti deðildir
mod_proxy_eunder=cache dizini izin verilen dizinin altýnda deðildir
mod_proxy_rurl=Uzak URL
mod_proxy_lurl=Yerel URL yolu
mod_proxy_headers=Uzak yerleþim haritasý: yerele baþlýklar
mod_log_agent_default=Öntanýmlý
mod_log_agent_file=Dosya..
mod_log_agent_program=Program..
mod_log_agent_log=Tarayýcý kayýt dosyasý
mod_log_agent_efile=$1 geçerli bir gizli kayýt dosya adý deðil
mod_log_config_common=Yaygýn Kayýt Biçimi
mod_log_config_named=Ýsimlendirilmiþ kayýt formatlarý
mod_log_config_nick=Lakap
mod_log_config_format=Biçim
mod_log_config_deflog=Öntanýmlý kayýt biçimi
mod_log_config_default=Öntanýmlý
mod_log_config_write=Yaz
mod_log_config_filprog=Dosya ya da program
mod_log_config_file=Dosya..
mod_log_config_program=Program..
mod_log_config_log=Giriþ kayýt dosyalarý
mod_log_config_enick='$1' geçerli bir lakap deðil
mod_log_config_eformat=$1 için kayýt biçimi girilmedi
mod_log_config_enofilprog=Kayýt dosyasý ya da programý bulunamadý
mod_log_config_efilprog='$1' geçerli bir kayýt dosyasý ya da programý deðildir
mod_log_config_eifset='Kurulduysa' seçeneði öntanýmlý kayýt biçimi ile birlikte kullanýlamaz.
mod_log_referer_default=Öntanýmlý
mod_log_referer_file=Dosya..
mod_log_referer_program=Program..
mod_log_referer_log=Yönlendirici kayýt dosyasý
mod_log_referer_nolog=Buradan gelen referanslarý kayýt tutma 
mod_log_referer_elog=$1 geçerli bir yönlendirici kayýt dosya ismi ismi deðildir
mod_log_referer_edir=Yönlendirici kaydý izin verilen dizinin altýnda deðildir
mod_status_msg=Uzatýlmýþ durum bilgilerini görüntüle
mod_mime_ext=Uzantýlar
mod_mime_xtype=Ekstra MIME tipleri
mod_mime_mtype=MIME tipi
mod_mime_chandl=Handler'ler
mod_mime_cencs=Þifrelemeler
mod_mime_cenc=Þifreleme
mod_mime_clangs=Diller
mod_mime_clang=Sil
mod_mime_defmime=Bütün dosyalarý MIME tipi olarak doðrula
mod_mime_real=Gerçek tip
mod_mime_etype=Geçersiz MIME tipi
mod_mime_pass=Handler'e bütün dosyalarý geç
mod_mime_file=MIME tipleri dosyasý
mod_mime_default=Öntanýmlý
mod_mime_ignhand=Uzantýlar için handler'leri yoksay
mod_mime_none=Hiçbiri
mod_mime_xchars=Ekstra karakter setleri
mod_mime_einvalid='$1' geçerli bir $2 deðildir
mod_mime_19=$1 $2 için uzantýlar girilmedi

mod_mime_type=Tip
mod_mime_handler=Handler
mod_mime_enc=Þifreleme
mod_mime_lang=Dil
mod_mime_chars=Karakter Seti

mod_setenvif_header=Baþlýk
mod_setenvif_match=Eþleþtir
mod_setenvif_case=Harf eþleþtir
mod_setenvif_var=Deðiþken
mod_setenvif_value=Deðer
mod_setenvif_txt=Deðiþkenler istek baþlýklarýna göre oluþturulmalýdýr.
mod_setenvif_eheader=Geçersiz istek baþlýðý '$1'
mod_setenvif_eregex=Geçersiz düzenleme ifadesi '$1'
mod_setenvif_evar=Geçersiz deðiþken ismi '$1'
mod_setenvif_clear=Temizle
mod_userdir_default=Öntanýmlý
mod_userdir_all=Tüm kullanýcýlar ulaþabilir 
mod_userdir_except=Tüm kullanýcýlar hariç
mod_userdir_dir=Kullanýcý WWW dizini
mod_imap_action=Imagemap'lerin yanlýþ kullanýlýmýndaki iþlem
mod_imap_default=Öntanýmlý
mod_imap_godefurl=Öntanýmlý URL'ye git
mod_imap_form=Biçimlendirilmiþ menüyü göster
mod_imap_semiform=Yarý biçimlendirilmiþ menüyü göster
mod_imap_unform=Biçimlendirilmemiþ menüyü göster
mod_imap_disperr=Sunucu hatasýný görüntüle
mod_imap_donoth=Hiçbirþey yapma
mod_imap_goimap=Imagemap URL'sine git
mod_imap_goref=Referring URL'ye git
mod_imap_gourl=URL'ye git...
mod_imap_defact=Imagemap'ler için öntanýmlý iþlemler
mod_imap_default2=Öntanýmlý
mod_imap_root=Sunucu root
mod_imap_imapurl=Imagemap URL
mod_imap_refurl=Referring URL
mod_imap_url=URL...
mod_imap_defbase=Imagemap'ler için öntanýmlý taban
mod_imap_eurl='$1' geçerli bir URL deðildir
mod_speling_autocorr=Tamamlanmamýþ URL'leri otomatik olarak tamamla?
mod_speling_default=Öntanýmlý
mod_actions_mime=Handler / MIME tipi
mod_actions_cgiurl=CGI betiði URL'si
mod_actions_mimecgi=Handler ya da MIME tipi CGI iþlemleri
mod_actions_http=HTTP metodu
mod_actions_cgi=CGI betiði
mod_actions_httpcgi=HTTP metodu CGI iþlemleri
mod_actions_emime='$1' geçerli bir handler ya da MIME tipi deðildir
mod_actions_ecgi='$1' geçerli bir CGI betiði deðildir
mod_actions_enometh=CGI betiði '$1' için bir metod seçilmedi
mod_include_incl=Ýþlem dosyalara çalýþtýrýlabilir biti eklesin mi?
mod_include_set=Evet ve son deðiþtirilme tarihini oluþtur
mod_include_default=Öntanýmlý
mod_dir_txt=Dizin indeks dosyalarý
mod_autoindex_default=Öntanýmlý
mod_autoindex_asc=Aþaðýya doðru (a->z)
mod_autoindex_descend=Yukarý doðru (z->a)
mod_autoindex_name=Ýsim
mod_autoindex_date=Tarih
mod_autoindex_size=Boyut
mod_autoindex_desc=Açýklama
mod_autoindex_sort=Dizin indeksini sýrala
browsermatch_regexp=Tarayýcý düzenleme ifadesi
browsermatch_case=Harfler eþleþtirilsin?
browsermatch_var=Deðiþkeni gir
browsermatch_value=Deðer
browsermatch_txt=Deðiþkenler tarayýcý tipine göre belirlenmelidir
browsermatch_evar=Geçersiz deðiþken ismi '$1'
browsermatch_clear=Temizle
autoindex_fname=Dosya ismi
autoindex_mime=MIME tipi
autoindex_enc=Þifreleme
autoindex_icon=Ikon
autoindex_alt=Açýklama
autoindex_match=Karþýlaþtýr
autoindex_fte=Dosya isimleri, tipler ve þifrelemeler
autoindex_diricon=Dizin indeks ikonlarý
autoindex_deficon=Dizin indeksi öntanýmlý ikonu
autoindex_default=Öntanýmlý
autoindex_edeficon=Geçersiz öntanýmlý ikon URL'si
autoindex_diralt=Dizin indeksi ALT etiketleri
autoindex_desc=Açýklama
autoindex_fnames=Dosya isimleri
autoindex_dirdesc=Dizin indeksi açýklamalarý
autoindex_fancy=Display fancy directory indexes
autoindex_htmltitle=HTML baþlýðýný açýklama olarak görüntile
autoindex_20=Ýkon tüksekliði", "Ýkon geniþliði
autoindex_sort=Allow user sorting of columns
autoindex_fildesc=Dosya açýklamalarýný göster
autoindex_htags=HTML baþlýk etiketleri çýktýsý
autoindex_mtime=Son deðiþtirilme tarihlerini göster
autoindex_size=Dosya boyutlarýný göster
autoindex_iconlink=Baðlantýlar ikonu içersin
autoindex_fwidth=Dosya ismi uzunluðu
autoindex_dwidth=Açýklama uzunluðu
autoindex_dirfirst=Dizinleri ilk olarak göster
autoindex_default2=Öntanýmlý
autoindex_select=Seçililer...
autoindex_default3=Öntanýmlý
autoindex_pixels=piksel
autoindex_chars=karakter
autoindex_diropt=Dizin indeks seçenekleri
autoindex_dirhead=Dizin indeks baþlýk dosyasý
autoindex_default4=Öntanýmlý
autoindex_edirhead=Geçersiz indeks baþlýðý dosya ismi
autoindex_dirfoot=Dizin indeksi dipnot dosyasý
autoindex_edirfoot=Geçersiz indeks dipnot dosya ismi
autoindex_ignore=Dizin indeksindeki yoksayýlacak dosyalar
autoindex_eiconurl='$1' geçerli bir ikon url'si deðildir
autoindex_emiss=$2 için $1 bulunamadý
autoindex_emissquot='$2' için $1 bulunamadý
autoindex_enodesc=$1 dosyasý için açýklama bulunamadý
autoindex_enofile='$1' açýklamasý için dosya bulunamadý
autoindex_eiconsize='$1' geçerli bir ion boyutu deðildir
autoindex_ewidth='$1' geçerli bir geniþlik deðildir
mod_mime_magic_file=MIME magic numaralarý dosyasý
mod_mime_magic_none=Hiçbiri
mod_mime_magic_efile=Geçersiz MIME magic numaralarý dosyasý
mod_env_var=Deðiþken
mod_env_value=Deðer
mod_env_pass=Doðrudan geç
mod_env_clear=Temizle
mod_env_set=Kur..
mod_env_cgivar=CGI betikleri için çevresel deðiþkenler
mod_env_passall=CGI'lar için bütün çevresel deðiþkenleri geç
mod_env_default=Öntanýmlý
mod_env_evar='$1' geçerli bir deðiþken ismi deðildir
mod_env_evalue='$1' geçerli bir deðiþken deðeri deðildir
mod_access_order=Giriþ kontrol sýralamasý:
mod_access_denyallow=Ýzin verilenden verilmeye
mod_access_allowdeny=Ýzin verilmeyenden verilene
mod_access_mutual=Karþýlýklý hata
mod_access_default=Öntanýmlý
mod_access_action=Ýþlem
mod_access_cond=Durum
mod_access_all=Bütün istekler
mod_access_host=Makineden gelen istek...
mod_access_ip=IP'den gelen istek..
mod_access_pip=Bölünmüþ IP'den gelen istek..
mod_access_mask=Að/að_maskesi'nden gelen istek..
mod_access_cidr=Net/CIDR'den gelen istek..
mod_access_var=Deðiþken kurulduysa..
mod_access_restr=Giriþi kýsýtla
mod_access_eip='$1' geçerli bir IP adresi deðildir
mod_access_epip='$1' geçerli bir parçalý IP adresi deðildir
mod_access_emask='$1' geçerli bir að/að_maskesi çifti deðildir
mod_access_ecidr='$1' geçerli bir að/CIDR çifti deðildir
mod_access_evar='$1' geçerli bir deðiþken ismi deðildir
mod_auth_ufile=Kullanýcý düz metin yazýsý dosyasý
mod_auth_uedit=Kullanýcý deðiþtir
mod_auth_gfile=Grup düz metin yazýsý dosyasý
mod_auth_gedit=Gruplarý deðiþtir
mod_auth_pass=Sonraki modüle hatalar geçilsin mi?
mod_auth_auth=Düz metin yazýsý dosyasý onaylamasý
mod_auth_eudir=Kullanýcý düz metin yazýsý dosyasý izin verilen dizinin altýnda deðildir.
mod_auth_egdir=Grup düz metin yazýsý dosyasý izin verilen dizinin altýnda deðildir.
mod_auth_eufile=Geçersiz kullanýcý düz metin dosyasý adý
mod_auth_egfile=Geçersiz grup düz metin yazýsý dosyasý adý
mod_auth_dbm_ufile=Kullanýcý DBM dosyasý
mod_auth_dbm_gfile=Grup DBM dosyasý
mod_auth_dbm_pass=Sonraki modüle hatalar geçilsin mi?
mod_auth_dbm_auth=DBM dosyasý onaylamasý
mod_auth_dbm_eufile=Geçersiz kullanýcý DBM dosyasý adý
mod_auth_dbm_egfile=Geçersiz grup DBM dosyasý adý
mod_cern_meta_process=Ýþlem baþlýðý meta dosyalarý
mod_cern_meta_dir=Baþlýk meta dosyalarý için alt dizin
mod_cern_meta_default=Öntanýmlý
mod_cern_meta_edir=Geçersiz meta dosyasý alt dizin ismi
mod_cern_meta_suffix=Baþlýk meta dosyalarý için dosya son eki
mod_cern_meta_default2=Öntanýmlý
mod_cern_meta_esuffix=Geçersiz meta dosyasý son eki

mod_ssl_proto=SSL Protokolleri
mod_ssl_cfile=Sertifika/anahtar dosyasý
mod_ssl_ecfile=Sertifika/anahtar dosyasý bulunamadý
mod_ssl_kfile=Özel anahtar dosyasý
mod_ssl_ekfile=Özel anahtar dosyasý bulunamadý
mod_ssl_clcert=Ýstemci SSL Sertifikasý
mod_ssl_nreq=Gerekli deðildir
mod_ssl_opt=Seçime baðlý
mod_ssl_req=Gerekli
mod_ssl_optca=Seçime baðlý - CA olmadan
mod_ssl_cdepth=Ýstemci sertifika derinliði
mod_ssl_ecdepth=Sertifika derinliði bir tam sayý olmalýdýr
mod_ssl_log=SSL kayýt dosyasý
mod_ssl_elog=SSL kayýt dosyasý bulunamadý
mod_ssl_onlyssl=Sadece SSL giriþine izin ver

log_global=Genel $1 seçenekleri deðiþtirildi
log_virtc=$1 sunucusu oluþturuldu
log_virts=$1 sunucusu yeniden yapýlandýrýldý
log_virtd=$1 sunucusu silindi
log_virtm=$1 sunucusu elle deðiþtirildi
log_virt=$2 sunucusundaki $1 deðiþtirildi
log_dirc=$1 dizini oluþturuldu
log_dirc_l=$2 sunucusunda $1 dizini oluþturuldu
log_dirs=$1 dizini deðiþtirildi
log_dirs_l=$2 sunucusunda $1 dizini deðiþtirildi
log_dird=$1 dizini silindi
log_dird_l=$2 sunucusunda $1 dizini silindi
log_dirm=$1 dizini elle deðiþtirildi
log_dirm_l=$2 sunucusunda $1 dizini elle deðiþtirildi
log_dir=$2 dizinindeki $1 deðiþtirildi
log_dir_l=$3 sunucusunda $2 dizinindeki $1 deðiþtirildi
log_htaccessc=Seçenekler dosyasý $1 oluþturuldu
log_htaccessd=Seçenekler dosyasý $1 silindi
log_htaccessm=Seçenekler dosyasý $1 elle deðiþtirildi
log_htaccess=Seçenekler dosyasý $2'deki $1 deðiþtirildi
log_filesc=$1 için dosya seçenekleri oluþturuldu
log_filesc_l=$2 dosyasýndaki $1 için dosya seçenekleri oluþturuldu
log_filess=$1 için dosya seçenekleri deðiþtirildi
log_filess_l=$2 dosyasýndaki $1 için dosya seçenekleri deðiþtirildi
log_filesd=$1 için dosya seçenekleri silindi
log_filesd_l=$2 dosyasýndaki $1 için dosya seçenekleri silindi
log_filesm=$1 için dosya seçenekleri elle deðiþtirildi
log_filesm_l=$2 dosyasýndaki $1 için dosya seçenekleri elle deðiþtirildi
log_files=$1 için dosya seçenekleri deðiþtirildi
log_files_l=$2 dosyasýndaki $1 için dosya seçenekleri deðiþtirildi
log_mime_modify=MIME tipi $1 deðiþtirildi
log_mime_create=MIME tipi $1 eklendi
log_defines=Tanýmlý parametreler deðiþtirildi
log_reconfig=Bilinen modüller yeniden yapýlandýrýldý
log_start=Web sunucusu baþlatýldý
log_stop=Web sunucusu durduruldu
log_apply=Deðiþiklikler Uygulandý



070701000270ab000081a40000000000000002000000013d1fe2d100005897000000200000000000000000000000000000001800000003reloc/apache/lang/zh_CN   index_title=Apache WEB·þÎñÆ÷
index_eroot=Apache¸ùÄ¿Â¼ $1 ²»´æÔÚ¡£ÈçÒÑ°²×°Apache£¬µ÷Õû <a href='$2'>Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·µÄÂ·¾¶¡£
index_eserver=Apache·þÎñÆ÷µÄÖ´ÐÐÎÄ¼þ$1²»´æÔÚ¡£ÈçÒÑ°²×°Apache£¬µ÷Õû <a href='$2'>Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·µÄÂ·¾¶¡£
index_econf=Apache·þÎñÆ÷µÄÅäÖÃÎÄ¼þ$1²»´æÔÚ¡£ÈçÒÑ°²×°Apache£¬µ÷Õû <a href='$2'>Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·µÄÂ·¾¶¡£
index_eports=ÄúµÄApacheµÄÅäÖÃÖÐÓÐ¶àÓÚÒ»¸ö $1 Ö¸Áî¡£µ±Ç°°æ±¾µÄWebmin²»ÄÜ´¦ÀíÕâÖÖÉèÖÃ¡£
index_global=È«¾ÖÅäÖÃ
index_virts=ÐéÄâ·þÎñÆ÷
index_defserv=È±Ê¡·þÎñÆ÷
index_defdesc1=ÎªÆäËûËùÓÐÐéÄâ·þÎñÆ÷¶¨ÒåÈ±Ê¡ÉèÖÃ£¬²¢´¦ÀíÈÎºÎÎ´´¦ÖÃµÄÇëÇó¡£
index_any=ÈÎºÎ
index_default=È±Ê¡
index_auto=×Ô¶¯
index_virt=ÐéÄâ·þÎñÆ÷
index_vname=´¦ÖÃÎ»ÓÚµØÖ·$2µÄ»ùÓÚÃû³ÆµÄ·þÎñÆ÷$1¡£
index_vdef=´¦ÀíÆäËûÐéÄâ·þÎñÆ÷Î´´¦ÀíµÄËùÓÐÇëÇó¡£
index_defdesc2=ÎªÆäËûËùÓÐÐéÄâ·þÎñÆ÷¶¨ÒåÈ±Ê¡ÉèÖÃ¡£
index_vport=´¦ÀíÔÚ¶Ë¿Ú$1µÄ¡¢ÆäËûÐéÄâ·þÎñÆ÷Î´´¦ÀíµÄËùÓÐÇëÇó¡£
index_vaddr=´¦ÖÃÔÚµØÖ·$1µÄËùÓÐÇëÇó¡£
index_vaddrport=´¦ÖÃÔÚµØÖ·$1¶Ë¿Ú$2µÄËùÓÐÇëÇó¡£
index_type=ÀàÐÍ
index_addr=µØÖ·
index_nv=Ôö¼ÓÃû³ÆÐéÄâ·þÎñÆ÷µØÖ·(Èç¹ûÐèÒª)
index_port=¶Ë¿Ú
index_name=·þÎñÆ÷Ãû³Æ
index_root=¸ùÎÄ¼þ
index_create=´´½¨ÐÂÐéÄâ·þÎñÆ÷
index_return=·þÎñÆ÷ÁÐ±í
cvirt_ecannot=ÄúÎÞÈ¨´´½¨ÐéÄâ·þÎñÆ÷
cvirt_err=´´½¨ÐéÄâ·þÎñÆ÷Ê§°Ü
cvirt_eaddr1=Î´ÊäÈëµØÖ·
cvirt_eaddr2='$1' ²»ÊÇÓÐÐ§µÄµØÖ·
cvirt_eport='$1' ²»ÊÇÓÐÐ§µÄ¶Ë¿Ú
cvirt_ename='$1' ²»ÊÇÓÐÐ§µÄ·þÎñÆ÷Ãû
cvirt_eroot1=Äú±ØÐëÊäÈëÒ»¸öÎÄµµ¸ù
cvirt_eroot2=´´½¨Ä¿Â¼'$1'£º$2Ê§°Ü
etype=ÄúÎÞÈ¨±à¼­ÕâÖÖÀàÐÍµÄÑ¡Ïî
efailed=±£´æ$1Ê§°Ü
apache_apply=Ó¦ÓÃ¸ü¸Ä
apache_stop=Í£Ö¹Apache
apache_start=Æô¶¯Apache
auth_return=·ÃÎÊ¿ØÖÆ
default_serv=È±Ê¡·þÎñÆ÷
global_ecannot=ÄúÎÞÈ¨±à¼­È«¾ÖÑ¡Ïî
global_mime=È«¾ÖMIMEÀàÐÍÁÐ±í
global_mimedesc=´ÓÏÂÃæµÄÁÐ±íÖÐµã»÷Ò»¸öMIMEÀàÐÍÀ´±à¼­£¬»òÓÃÒ³Ãæµ×²¿µÄÁ´½ÓÏòÁÐ±íÖÐÔö¼ÓÒ»¸öÐÂÀàÐÍ¡£
global_type=ÀàÐÍ
global_ext=À©Õ¹Ãû
global_add=Ôö¼ÓÐÂMIMEÀàÐÍ
global_return=MIMEÀàÐÍ
mime_ecannot=ÄúÎÞÈ¨±à¼­MIMEÀàÐÍ
mime_edit=±à¼­MIMEÀàÐÍ
mime_add=Ôö¼ÓMIMEÀàÐÍ
mime_header=ÎÄ¼þÀ©Õ¹ÃûÓëMIMEÀàÐÍµÄÓ³Éä
mime_type=MIMEÀàÐÍ
mime_ext=À©Õ¹Ãû
mime_err=±£´æMIMEÀàÐÍÊ§°Ü
mime_etype='$1' ²»ÊÇÓÐÐ§µÄMIMEÀàÐÍ
virt_ecannot=ÄúÎÞÈ¨±à¼­Õâ¸öÐéÄâ·þÎñÆ÷
virt_title=ÐéÄâ·þÎñÆ÷Ñ¡Ïî
virt_header=Îª $1
virt_opts=ÐéÄâ·þÎñÆ÷Ñ¡Ïî
virt_conf=·þÎñÆ÷ÅäÖÃ
virt_show=ÏÔÊ¾Ö¸Áî
virt_edit=±à¼­Ö¸Áî
virt_adddir=´´½¨Ä¿Â¼¡¢ÎÄ¼þ»òÎ»ÖÃÑ¡Ïî
virt_type=ÀàÐÍ
virt_exact=¾«È·Æ¥Åä
virt_re=Æ¥ÅäÕýÔò±í´ïÊ½
virt_path=Â·¾¶
virt_return=·þÎñÆ÷Ë÷Òý
virt_euser=ÄúÎÞÈ¨¸Ä±äÕâ¸öÐéÄâ·þÎñÆ÷ÉÏµÄÓÃ»§ºÍ×é¡£
virt_header2=$1 Îª $2
vserv_title=ÐéÄâ·þÎñÆ÷ÅäÖÃ
vserv_ecannot=ÄúÎÞÈ¨±à¼­´ËÐéÄâ·þÎñÆ÷µÄµØÖ·
vserv_addr=µØÖ·
vserv_addrs=µØÖ·
vserv_port=¶Ë¿Ú
vserv_any=ÈÎºÎ
vserv_default=È±Ê¡
vserv_root=ÎÄµµ¸ù
vserv_name=·þÎñÆ÷Ãû
vserv_delete=É¾³ýÐéÄâ·þÎñÆ÷
vserv_err=±£´æÐéÄâ·þÎñÆ÷Ê§°Ü
vserv_eaddr1=Î´ÊäÈëµØÖ·
vserv_eaddr2='$1'²»ÊÇÓÐÐ§µÄµØÖ·
vserv_eport='$1'²»ÊÇÓÐÐ§µÄ¶Ë¿Ú
vserv_eroot='$1'²»ÊÇÓÐÐ§µÄÎÄµµ¸ù
vserv_ename='$1'²»ÊÇÓÐÐ§µÄ·þÎñÆ÷Ãû
vserv_eaddrs=Ã»ÓÐ¼üÈëÐéÄâ·þÎñÆ÷µØÖ·
show_title=Ö¸Áî
show_edit=±à¼­ApacheÖ¸Áî
show_these=ÊÖ¹¤±à¼­Ö¸Áî
show_ok=±à¼­
manual_title=±à¼­Ö¸Áî
manual_header=ÔÚÏÂÃæÎÄ±¾¿òÖÐÊÖ¹¤±à¼­ $1 ÖÐÓ¦ÓÃÓÚ´ËÐéÄâ·þÎñÆ÷¡¢Ä¿Â¼»òÎÄ¼þµÄ Apache Ö¸Áî¡£
manual_ecannot=ÄúÎÞÈ¨ÊÖ¹¤±à¼­Ö¸Áî
dir_title=°´Ä¿Â¼Ñ¡Ïî
dir_header=Îª $1 ÔÚ $2 ÉÏ
dir_show=ÏÔÊ¾Ö¸Áî
dir_edit=±à¼­Ö¸Áî
dir_opts=Ñ¡ÏîÓ¦ÓÃÓÚ ..
dir_type=ÀàÐÍ
dir_regexp=ÕýÔò±í´ïÊ½£¿
dir_exact=¾«È·Æ¥Åä
dir_re=Æ¥ÅäÕýÔò±í´ïÊ½
dir_path=Â·¾¶
dir_return=Ä¿Â¼Ë÷Òý
dir_header2=$1 Îª $2
type_0=½ø³ÌºÍÏÞÖÆ
type_1=ÁªÍøºÍµØÖ·
type_2=ApacheÄ£¿é
type_3=ÈÕÖ¾ÎÄ¼þ
type_4=·ÃÎÊ¿ØÖÆ
type_5=ÎÄµµÑ¡Ïî
type_6=MIMEÀàÐÍ
type_7=´íÎó´¦Àí
type_8=ÓÃ»§ºÍ×é
type_9=ÔÓÀà
type_10=±ðÃûºÍÖØ¶¨Ïò
type_11=CGI³ÌÐò
type_12=Ä¿Â¼Ë÷Òý
type_13=´úÀí
type_14=SSLÑ¡Ïî
type_15=Perl
type_16=PHP
htaccess_title=°´Ä¿Â¼Ñ¡ÏîÎÄ¼þ
htaccess_ecannot=ÄúÎÞÈ¨±à¼­ htaccess ÎÄ¼þ
htaccess_desc=¿ÉÔÚÃ¿¸öÄ¿Â¼µÄÒ»¸öÎÄ¼þÖÐÖ¸¶¨ (Í¨³£ÊÇ<tt>.htaccess</tt>) ¸ü¶àµÄ°´Ä¿Â¼Ñ¡Ïî¡£ÕâÐ©Ñ¡ÏîÓ¦ÓÃÓÚÄ¿Â¼ÏÂµÄËùÓÐÎÄ¼þ¼°Æä×ÓÄ¿Â¼ÏÂµÄËùÓÐÎÄ¼þ£¬³ý·Ç±»ÁíÒ»¸öÑ¡ÏîÎÄ¼þ¸²¸Ç¡£
htaccess_create=´´½¨Ñ¡ÏîÎÄ¼þ
htaccess_find=²éÕÒÑ¡ÏîÎÄ¼þ
htaccess_auto=×Ô¶¯
htaccess_from=À´×ÔÄ¿Â¼
htaccess_return=Ñ¡ÏîÎÄ¼þÁÐ±í
htaccess_edir='$1' ²»ÊÇÓÐÐ§µÄÄ¿Â¼
htaccess_ecreate=ÄúÎÞÈ¨´´½¨Õâ¸öÑ¡ÏîÎÄ¼þ
htaccess_edelete=ÄúÎÞÈ¨É¾³ýÕâ¸öÑ¡ÏîÎÄ¼þ
htindex_ecannot=ÄúÎÞÈ¨±à¼­Õâ¸öÑ¡ÏîÎÄ¼þ
htindex_title=°´Ä¿Â¼Ñ¡ÏîÎÄ¼þ
htindex_delete=É¾³ýÎÄ¼þ
htindex_show=ÏÔÊ¾Ö¸Áî
htindex_edit=±à¼­Ö¸Áî
htindex_opts=°´Ä¿Â¼Ñ¡Ïî
htindex_file=°´ÎÄ¼þÅäÖÃ
htindex_create=´´½¨°´ÎÄ¼þÑ¡Ïî
htindex_regexp=ÕýÔò±í´ïÊ½£¿
htindex_exact=¾«È·Æ¥Åä
htindex_re=Æ¥ÅäÕýÔò±í´ïÊ½
htindex_path=Â·¾¶
htindex_header=Îª $1
htindex_header2=$1 ÎªÑ¡ÏîÎÄ¼þ $2
htindex_return=Ñ¡ÏîÎÄ¼þË÷Òý
htfile_title=°´ÎÄ¼þÑ¡Ïî
htfile_header=$1 ÔÚ $2
htfile_show=ÏÔÊ¾Ö¸Áî
htfile_edit=±à¼­Ö¸Áî
htfile_apply=Ñ¡ÏîÓ¦ÓÃÓÚ ..
htfile_header2=$1 Îª $2
reconfig_title=ÖØÐÂÅäÖÃÒÑÖªµÄÄ£¿é
reconfig_ecannot=ÄúÎÞÈ¨ÖØÐÂÅäÖÃApache
reconfig_ever=²»ÄÜµÃµ½Apache·þÎñÆ÷Ö´ÐÐÎÄ¼þ $1µÄ°æ±¾¡£¼ì²éÄúµÄ <a href='$2'>Ä£¿éÅäÖÃ</a> ÒÔÈ·¶¨´ËÂ·¾¶ÕýÈ·¡£
reconfig_desc1=ApacheÅäÖÃÒÑ¸Ä±ä£¬»òÉÐÎ´¾­Webmin¼ì²é¡£ÏÂÃæÊÇWebminÖ§³ÖµÄËùÓÐApacheÄ£¿éÁÐ±í£¬µ±Ç°ÒÑ°²×°µÄÄ£¿é±»Ñ¡ÖÐ¡£Èç¹ûÁÐ±íÓÐÎó£¬Äú¿ÉÑ¡Ôñ»òÈ¡ÏûÑ¡Ôñ¡£
reconfig_desc2=ÏÂÃæÊÇWebminÖ§³ÖµÄËùÓÐApacheÄ£¿éÁÐ±í£¬µ±Ç°ÒÑ°²×°µÄÄ£¿é±»Ñ¡ÖÐ¡£Èç¹ûÄúÕýÔÚÊ¹ÓÃ¶¯Ì¬×°ÔØÄ£¿é£¬Äú¿ÉÄÜÐèÑ¡ÔñÄÇÐ©¶¯Ì¬×°ÔØµÄÄ£¿é¡£
reconfig_ok=ÅäÖÃ
defines_title=±à¼­ÒÑ¶¨ÒåµÄ²ÎÊý
defines_ecannot=ÄúÎÞÈ¨±à¼­httpd¶¨ÒåµÄ
defines_desc=ApacheÆô¶¯Ê±,¿ÉÒÔÓÃÃüÁîÐÐÑ¡Ïî<tt>-D</tt>´«µÝ²ÎÊý¸øËü¡£ÒòÎªÕâÐ©²ÎÊýÄÜÓ°ÏìÅäÖÃÎÄ¼þÖÐÊ¹ÓÃÄÄÐ©Ö¸Áî£¬ËùÒÔWebmin±ØÐëÁË½âÔÚApacheÆô¶¯Ê±£¬ÄÄÐ©²ÎÊý´«µÝ¸øËü¡£ÔÚÓÒ±ßµÄÎÄ±¾×Ö¶ÎÖÐÊäÈëÄúµÄÏµÍ³Ê¹ÓÃµÄ²ÎÊý¡£
defines_config=×¢Òâ: ÏÂÃæ¶¨ÒåµÄ²ÎÊýÒÑÖª£º$1
authu_ecannot='$1' ²»ÊÇÓÐÐ§µÄÓÃ»§ÎÄ±¾ÎÄ¼þ
authu_title=ÓÃ»§ÁÐ±í
authu_header=ÔÚÎÄ¼þ$1ÖÐ
authu_header2=À´×ÔÓÚÎÄ±¾ÎÄ¼þ$1µÄÓÃ»§
authu_none=ÎÄ±¾ÎÄ¼þ$1ÖÐÃ»ÓÐÓÃ»§
authu_add=Ôö¼ÓÒ»¸öÐÂÓÃ»§
authu_return=ÓÃ»§ÁÐ±í
authu_edit=±à¼­ÓÃ»§
authu_create=´´½¨ÓÃ»§
authu_user=ÓÃ»§Ãû
authu_pass=¿ÚÁî
authu_enc=ÒÑ¼ÓÃÜ..
authu_plain=´¿ÎÄ±¾..
authu_err=±£´æÓÃ»§Ê§°Ü
authu_euser=Î´ÊäÈëÓÃ»§Ãû
authu_euser2=ÓÃ»§Ãû²»ÄÜ°üº¬£º
authu_edup=ÓÃ»§ '$1' ÒÑ´æÔÚ
authu_sync=ÏÂÃæµÄÑ¡ÏîÔÊÐíÄú½«WebminÅäÖÃ³ÉÔÚ<tt>ÓÃ»§ºÍ×é</tt> Ä£¿éÖÐÔö¼Ó¡¢ÐÞ¸Ä¡¢É¾³ýÓÃ»§Ê±£¬¸ù¾Ý¿ÚÁîÎÄ¼þ×Ô¶¯Ôö¼Ó¡¢ÐÞ¸Ä¡¢É¾³ýÓÃ»§¡£
authu_screate=¼ÓÈëÒ»¸öUnixÓÃ»§Ê±Ôö¼ÓÒ»¸öÓÃ»§
authu_sdelete=É¾³ýÒ»¸öUnixÓÃ»§Ê±É¾³ýÒ»¸öÓÃ»§
authu_smodify=ÐÞ¸ÄÒ»¸öUnixÓÃ»§Ê±ÐÞ¸ÄÒ»¸öÓÃ»§
authg_ecannot='$1'²»ÊÇÓÐÐ§µÄ×éÎÄ±¾ÎÄ¼þ
authg_title=×éÁÐ±í
authg_header=ÔÚÎÄ¼þ$1ÖÐ
authg_header2=À´×ÔÓÚÎÄ±¾ÎÄ¼þ$1µÄ×é
authg_none=ÎÄ¼þ$1ÖÐÃ»ÓÐ×é
authg_add=Ôö¼ÓÐÂ×é
authg_return=×éÁÐ±í
authg_edit=±à¼­×é
authg_create=´´½¨×é
authg_group=×éÃû
authg_mems=³ÉÔ±
authg_dont=²»Òª¸Ä±ä
authg_set=ÉèÎª..
authg_err=±£´æ×éÊ§°Ü
authg_euser=Î´ÊäÈë×éÃû
authg_euser2=×éÃû²»ÄÜ°üº¬£º
authg_edup=×é '$1' ÒÑ´æÔÚ
stop_err=Í£Ö¹ApacheÊ§°Ü
stop_ecannot=ÄúÎÞÈ¨Í£Ö¹Apache
stop_epid=´ò¿ªPIDÎÄ¼þ$1Ê§°Ü
stop_epid2=ÎÞÐ§µÄPIDÎÄ¼þ$1
stop_esig=·¢ËÍSIGTERMÐÅºÅ¸ø½ø³Ì $1 Ê§°Ü
start_err=Æô¶¯apacheÊ§°Ü
start_ecannot=ÄúÎÞÈ¨Æô¶¯apache
start_ecmd=$1 Ê§°Ü£º$2
start_eunknown=²»Ã÷Ô­Òò
restart_err=¸Ä±ä²»ÄÜÆð×÷ÓÃ
restart_epid=´ò¿ªPIDÎÄ¼þ$1Ê§°Ü
restart_epid2=·Ç·¨PIDÎÄ¼þ$1
restart_esig=·¢ËÍSIGHUPÐÅºÅ¸ø½ø³Ì $1 Ê§°Ü
restart_eunknown=²»Ã÷Ô­Òò
acl_virts=¸ÃÓÃ»§ÄÜ±à¼­µÄÐéÄâ·þÎñÆ÷
acl_vall=ËùÓÐ·þÎñÆ÷
acl_vsel=ÒÑÑ¡¶¨..
acl_global=ÄÜ±à¼­È«¾ÖÑ¡ÏîÂð£¿
acl_htaccess=½ö .htaccess
acl_create=ÄÜ´´½¨ÐéÄâ·þÎñÆ÷Âð£¿
acl_vuser=ÄÜ¸Ä±äÐéÄâ·þÎñÆ÷µÄÓÃ»§Âð£¿
acl_vaddr=ÄÜ¸Ä±äÐéÄâ·þÎñÆ÷µÄµØÖ·Âð£¿
acl_pipe=ÄÜ½«ÈÕÖ¾¾­¹ÜµÀÊä³öµ½³ÌÐòÂð£¿
acl_stop=ÄÜÆô¶¯ºÍÍ£Ö¹ApacheÂð£¿
acl_dir=¶ÔÏÞÖÆÎÄ¼þÓÚÄ¿Â¼
acl_types=Ö¸ÁîÀàÐÍ¿ÉÓÃ
acl_all=ËùÓÐ
acl_sel=ÒÑÑ¡¶¨..
core_maxconc=×î´ó²¢ÐÐÇëÇóÊý
core_maxkeep=Ã¿¸öÁ¬½ÓµÄ×î´ó»î¶¯Êý
core_maxreq=Ã¿¸ö·þÎñÆ÷½ø³ÌµÄ×î´óÇëÇóÊý
core_minspare=×îÐ¡Ê£Óà·þÎñÆ÷½ø³ÌÊý
core_maxspare=×î´óÊ£Óà·þÎñÆ÷½ø³ÌÊý
core_initial=³õÊ¼·þÎñÆ÷½ø³ÌÊý
core_emaxconc=×î´ó²¢ÐÐÇëÇóÊý±ØÐëÊÇÕûÊý
core_emaxkeep=Ã¿¸öÁ¬½ÓµÄ×î´ó»î¶¯Êý±ØÐëÊÇÕûÊý
core_emaxreq=Ã¿¸ö·þÎñÆ÷½ø³Ì×î´óÇëÇóÊý±ØÐëÊÇÕûÊý
core_eminspace=×îÐ¡Ê£Óà·þÎñ½ø³ÌÓ¦µ±ÊÇÕûÊý
core_emaxspare=×î´óÊ£Óà·þÎñÆ÷½ø³ÌÊý±ØÐëÊÇÕûÊý
core_einitial=³õÊ¼·þÎñÆ÷½ø³ÌÊý±ØÐëÊÇÕûÊý
core_default=È±Ê¡
core_cpulimit=CPU ×ÊÔ´ÏÞÖÆ
core_memlimit=ÄÚ´æ×ÊÔ´ÏÞÖÆ
core_proclimit=½ø³ÌÏÞÖÆ
core_cpulimit2=CPU ×ÊÔ´ÏÞÖÆ
core_memlimit2=ÄÚ´æ×ÊÔ´ÏÞÖÆ
core_proclimit=½ø³ÌÏÞÖÆ
core_24=ÈíÏÞÖÆ
core_25=ÈíÏÞÖÆ
core_26=Ó²ÏÞÖÆ
core_27= ´íÎóµÄÈí $1
core_28= ´íÎóµÄÈí $1
core_29= ´íÎóµÄÓ² $1
core_dport=È±Ê¡¶Ë¿Ú£º
core_address=µØÖ·
core_port=¶Ë¿Ú
core_listed=ÔÚµØÖ·ºÍ¶Ë¿ÚÊÇ¼àÌý
core_eaddress=´íÎóµØÖ·'$1'
core_eport=´íÎó¶Ë¿Ú'$1'
core_eoneaddr=ÖÁÉÙÓ¦µ±Ö¸¶¨Ò»¸ö¼àÌýµØÖ·
core_edefport=´íÎóÈ±Ê¡¶Ë¿Ú
core_multi=Ã¿¸öÁ¬½Ó¶à¸öÇëÇóÊý
core_ekeep=´íÎóµÄ»î¶¯½ø³ÌÊý'$1'
core_ltwice=²éÕÒÁ½´Î
core_keeptout=±£³Ö»î¶¯³¬Ê±
core_lqueue=¼àÌý¶ÓÁÐ³¤¶È
core_bufsize=TCP ·¢ËÍ¸ßËÙ»º´æ´óÐ¡
core_admin=·þÎñÆ÷¹ÜÀíÔ±µç×ÓÓÊ¼þµØÖ·
core_rtout=ÇëÇó³¬Ê±
core_bhostname=Ê¹ÓÃä¯ÀÀÆ÷Ìá¹©µÄÖ÷»úÃû³Æ
core_lookup=²éÑ¯Ö÷»úÃû
core_useauth=Ö´ÐÐ RFC1413 ÓÃ»§²éÑ¯
core_altnames=Ìæ´úÐéÄâ·þÎñÆ÷Ãû
core_hostname=·þÎñÆ÷Ö÷»úÃû
core_virtaddr=Ãû³ÆÐéÄâ·þÎñÆ÷µÄµØÖ·
core_ekeeptout=±£³Ö»î¶¯³¬Ê±±ØÐëÊÇÕûÊý
core_elqueue=¼àÌý¶ÓÁÐ³¤¶È±ØÐëÊÇÕûÊý
core_ebufsize=TCP ·¢ËÍ¸ßËÙ»º´æ´óÐ¡±ØÐëÊÇÕûÊý
core_ertout=ÇëÇó³¬Ê±±ØÐëÊÇÕûÊý
core_ehostname=´íÎó·þÎñÆ÷Ö÷»úÃûµØÖ·
core_osdefault=OS È±Ê¡
core_noadmin=ÎÞ
core_auto=×Ô¶¯
core_ekeep=´íÎóµÄ»î¶¯½ø³ÌÊý'$1'
core_evirtaddr='$1' ²»ÊÇÓÐÐ§µÄÃû³ÆÐéÄâ·þÎñÆ÷µÄµØÖ·
core_auth=ÈÏÖ¤Ñ¡Ïî
core_mime=MIME ÀàÐÍºÍ±àÂë
core_indexing=Ë÷ÒýºÍË÷ÒýÎÄ¼þ
core_hostacc=Ö÷»úÃû·ÃÎÊ¿ØÖÆ
core_diropts=Ä¿Â¼Ñ¡Ïî
core_filesel=ÒÑÑ¡ÔñÒÔÏÂ...
core_execcgi=Ö´ÐÐ CGI ³ÌÐò
core_flink=¸úËæ·ûºÅÁ¬½Ó
core_inclexe=·þÎñÆ÷¶ËµÄ°üº¬ÎÄ¼þºÍÖ´ÐÐÎÄ¼þ
core_incl=·þÎñÆ÷¶Î°üº¬ÎÄ¼þ
core_genind=Éú³ÉÄ¿Â¼Ë÷Òý
core_genmview=Éú³É¶àÊÓÍ¼
core_flinkmatch=Èç¹ûËùÓÐÕßÆ¥ÅäÔò¸úËæ·ûºÅÁ¬½Ó
core_optsel=ÒÑÑ¡ÔñÒÔÏÂ..
core_enable=ÆôÓÃ
core_disable=½ûÓÃ
core_optfile=°´Ä¿Â¼Ñ¡ÏîÎÄ¼þ
core_overr=Ñ¡ÏîÎÄ¼þ¿É¸²¸Ç..
core_genmd5=Éú³É MD5 digests
core_docroot=ÎÄµµ¸ùÄ¿Â¼
core_eoptfile=½öÔÊÐíÒ»¸öÑ¡ÏîÎÄ¼þ
core_enoopt=Ã»ÓÐÊäÈëÑ¡ÏîÎÄ¼þ
core_enodoc=ÎÄµµ¸ùÄ¿Â¼ '$1'²»´æÔÚ
core_sigemail=µç×ÓÓÊ¼þµØÖ·
core_signame=·þÎñÆ÷Ãû
core_signone=ÎÞ
core_virtpath=ÐéÄâ·þÎñÆ÷Â·¾¶
core_footer=´íÎóÏûÏ¢½Å×¢
core_evirtpath=ÐéÄâ·þÎñÆ÷Â·¾¶±ØÐëÒÔ / ÆðÊ¼
core_defmime=È±Ê¡ MIME ÀàÐÍ
core_edefmime=È±Ê¡ MIME ÀàÐÍ¸ñÊ½ÊÇ¡°ÀàÐÍ/×ÓÀàÐÍ¡±
core_realm=ÈÏÖ¤ÕæÃû
core_authtype=ÈÏÖ¤ÀàÐÍ
core_authall=ËùÓÐ·ÃÎÊ¿ØÖÆ
core_authany=ÈÎºÎ·ÃÎÊ¿ØÖÆ
core_authlog=µÇÂ¼Ô¼ÊøµÄ·ÃÎÊ
core_satisfy=¿Í»§Ó¦µ±Âú×ã
core_salone=¶ÀÁ¢µÄ
core_inetd=´ÓinetdÔËÐÐ
core_verosmod=°æ±¾ºÍ²Ù×÷ÏµÍ³¼°Ä£¿é
core_veros=°æ±¾ºÍ²Ù×÷ÏµÍ³
core_ver=½ö°æ±¾
core_coredir=core dump Ä¿Â¼
core_lockfile=·þÎñÆ÷Ëø¶¨ÎÄ¼þ
core_maxbody=×î´óÇëÇóÌå´óÐ¡
core_maxhead=ÇëÇóÍ·ÊýÄ¿×î´óÖµ
core_maxshead=×î´óÇëÇóÍ·´óÐ¡
core_maxline=×î´óÇëÇóÐÐ´óÐ¡
core_pid=·þÎñÆ÷ PID ÎÄ¼þ
core_memsco=¹²ÏíÄÚ´æscoreboardÎÄ¼þ
core_exec=·þÎñÆ÷Ö´ÐÐ
core_header=·þÎñÆ÷ HTTP Í·
core_ecore=´íÎóµÄ core dump Ä¿Â¼
core_elock=´íÎóµÄlockÎÄ¼þ
core_ebody=´íÎóµÄÇëÇóÌå´óÐ¡
core_ehead=´íÎóµÄÍ·´óÐ¡
core_eshead=´íÎóµÄµÄÍ·´óÐ¡
core_eline=´íÎóµÄÇëÇóÐÐ´óÐ¡
core_epid=´íÎóµÄ PID ÎÄ¼þ
core_escore=´íÎóµÄ scoreboard ÎÄ¼þ
core_sroot=·þÎñÆ÷¸ù
core_group=×éÃû
core_gid=×éID
core_user=ÓÃ»§Ãû
core_uid=ÓÃ»§ID
core_asgroup=ÒÔUnix×éÔËÐÐ
core_asuser=ÒÔUnixÓÃ»§ÔËÐÐ
core_euid=´íÎóµÄ×éID'$1'
core_egid=´íÎóµÄÓÃ»§ID'$1'
core_tourl=×ªµ½ URL..
core_mesg=ÏÔÊ¾ÏûÏ¢..
core_error=´íÎó´úÂë
core_resp=·´Ó¦
core_urlmsg=URL »òÏûÏ¢
core_custom=¿Í»§´íÎóÏìÓ¦
core_eerror=·Ç·¨µÄ´íÎó´úÂë'$1'
core_eurl=´íÎóµÄURL'$1'
core_syslog=ÏµÍ³ÈÕÖ¾
core_filelog=ÎÄ¼þ
core_proglog=³ÌÐò
core_errfile=´íÎóÈÕÖ¾ÎÄ¼þ
core_logto=´íÎó¼ÇÂ¼ÈÕÖ¾µ½
core_efilelog=´íÎóÈÕÖ¾ÎÄ¼þ
core_edirlog=´íÎóÈÕÖ¾ÎÄ¼þÃ»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
core_efilemiss=¶ªÊ§´íÎóÈÕÖ¾ÎÄ¼þ
core_eprogmiss=¶ªÊ§´íÎóÈÕÖ¾³ÌÐò
core_eperm=ÄúÎÞÈ¨Í¨¹ý¹ÜµÀ°ÑÈÕÖ¾´«µÝ¸ø³ÌÐò
core_allmod=ËùÓÐÄ£¿é
core_selmod=ÒÑ¾­Ñ¡ÔñµÄÄ£¿é
core_actmod=»î¶¯Ä£¿é
core_option=Ñ¡Ïî
core_setdir=ÉèÖÃÄ¿Â¼
core_merge=ºÍÉÏ¼¶ºÏ²¢
core_users=Ö»ÓÐÕâÐ©ÓÃ»§
core_groups=Ö»ÓÐÕâÐ©×é
core_allusers=ËùÓÐÓÐÐ§ÓÃ»§
core_none=ÎÞ
core_all=ËùÓÐ
core_product=½ö²úÉú
mod_negotiation_cache=ÊÇ·ñ¸ßËÙ»º´æÄÚÈÝÐ­ÉÌµÄÎÄµµ£¿
mod_negotiation_pri=¶àÊÓÍ¼µÄÓïÑÔÓÅÏÈ¼¶
mod_negotiation_def=È±Ê¡
mod_negotiation_epri=¶ªÊ§ÓïÑÔÓÅÏÈ¼¶
mod_cgi_logname=CGI ÃèÊöÈÕÖ¾
mod_cgi_none=ÎÞ
mod_cgi_elogname=´íÎóµÄ CGI ÃèÊöÈÕÖ¾ÎÄ¼þ
mod_cgi_logsize=×î´ó CGI ÈÕÖ¾´óÐ¡
mod_cgi_default=È±Ê¡
mod_cgi_elogsize=CGI ÈÕÖ¾µÄ´óÐ¡±ØÐëÊÇÕûÊý
mod_cgi_post=×î´óµÇÂ¼ÕÅÌùÊý¾Ý´óÐ¡
mod_cgi_epost=ÌùÊý¾Ý´óÐ¡±ØÐëÊÇÕûÊý
mod_cgi_eunder=CGI ½Å±¾ÈÕÖ¾Ã»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
mod_alias_efrom='$1' ²»ÊÇÓÐÐ§µÄ $2
mod_alias_edest='$1' ²»ÊÇÓÐÐ§µÄ $2 Ä¿±ê
mod_alias_alias=ÎÄµµÄ¿Â¼±ðÃû
mod_alias_alias2=ÎÄµµ±ðÃû
mod_alias_redir=URL ÖØ¶¨Ïò
mod_alias_redir2=URL ÖØ¶¨Ïò
mod_alias_rredir=ÕýÔò±í´ïÊ½ URL ÖØ¶¨Ïò
mod_alias_tredir=ÁÙÊ± URL ÖØ¶¨Ïò
mod_alias_predir=ÓÀ¾Ã URL ÖØ¶¨Ïò
mod_alias_cgi=CGI Ä¿Â¼±ðÃû
mod_alias_rcgi=ÕýÔò±í´ïÊ½ CGI Ä¿Â¼±ðÃû
mod_alias_estatus='$1' ²»ÊÇÓÐÐ§µÄ×´Ì¬
mod_proxy_proxy=ÊÇ·ñµ±×ö´úÀí·þÎñÆ÷?
mod_proxy_req=ÇëÇó
mod_proxy_forw=×ª·¢ÖÁ
mod_proxy_all=ËùÓÐ
mod_proxy_match=Æ¥Åä..
mod_proxy_pass=´«µÝ¸øÁíÒ»¸ö´úÀíµÄÇëÇó
mod_proxy_local=±¾µØ URL Â·¾¶
mod_proxy_remote=Ô¶³Ì URL
mod_proxy_map=Ó³Éä±¾µØµ½Ô¶³Ì URL
mod_proxy_block=µ½ÓòµÄ¿éÇëÇó
mod_proxy_eblock=Ã»ÓÐÓò¸øÓè¿é
mod_proxy_type=ÀàÐÍ
mod_proxy_noproxy=ÎÞ´úÀí..
mod_proxy_nopass=²»Òª°ÑÇëÇó´«µÝµÃÁíÒ»¸ö´úÀíÒÔ
mod_proxy_nodomain=ÇëÇóµÄÓòÃ»ÓÐÓò
mod_proxy_none=ÎÞ
mod_proxy_enodomain=´íÎóµÄÈ±Ê¡Óò
mod_proxy_connect=ÔÊÐíÁ¬½ÓµÄ¶Ë¿Ú
mod_proxy_econnect=´íÎóµÄÁ¬½Ó¶Ë¿Ú
mod_proxy_dir=¸ßËÙ»º´æÄ¿Â¼
mod_proxy_edir=´íÎóµÄ¸ßËÙ»º´æÄ¿Â¼Ãû
mod_proxy_size=¸ßËÙ»º´æ´óÐ¡
mod_proxy_esize=´íÎóµÄ¸ßËÙ»º´æ´óÐ¡
mod_proxy_garbage=¸ßËÙ»º´æÀ¬»øÇåÀí¼ä¸ô
mod_proxy_nogc=´Ó²»
mod_proxy_hours=Ð¡Ê±
mod_proxy_egarbage=´íÎóµÄ¸ßËÙ»º´æÀ¬»øÇåÀí¼ä¸ô
mod_proxy_maxexp=¸ßËÙ»º´æÎÄ¼þ¹ýÆÚÊ±¼ä
mod_proxy_emaxexp=´íÎóµÄ¸ßËÙ»º´æÎÄ¼þ×î´ó¹ýÆÚÊ±¼ä
mod_proxy_expfac=¸ßËÙ»º´æÎÄ¼þ¹ýÆÚÊ±¼äÒò×Ó
mod_proxy_eexpfac=´íÎóµÄ¸ßËÙ»º´æÎÄ¼þ¹ýÆÚÊ±¼äÒò×Ó
mod_proxy_levels=¸ßËÙ»º´æÄ¿Â¼¼¶±ð
mod_proxy_elevels=´íÎóµÄ¸ßËÙ»º´æÄ¿Â¼¼¶±ðÊý
mod_proxy_length=¸ßËÙ»º´æÄ¿Â¼¼¶±ð³¤¶È
mod_proxy_elength=´íÎóµÄ¸ßËÙ»º´æÄ¿Â¼Ãû³¤¶È
mod_proxy_defexp=¸ßËÙ»º´æÈ±Ê¡¹ýÆÚÊ±¼ä
mod_proxy_edefexp=´íÎóµÄÈ±Ê¡¹ýÆÚÊ±¼ä
mod_proxy_finish=ÔÚ´ËÖ®ºó½áÊø²¢¸ßËÙ»º´æ´«Êä
mod_proxy_efinish=´íÎóµÄ´«Êä°Ù·Ö±È
mod_proxy_nocache=Óò²»ÄÜ¸ßËÙ»º´æ
mod_proxy_none2=ÎÞ
mod_proxy_none3=ÎÞ
mod_proxy_enocache=Ã»ÓÐÓò¿É¸ßËÙ»º´æ
mod_proxy_erequest=´íÎóÇëÇó'$1'
mod_proxy_epurl=´íÎó´úÀíURL '$1'
mod_proxy_elurl=´íÎóµÄ±¾µØURLÂ·¾¶'$1'
mod_proxy_erurl=´íÎóµÄÔ¶³ÌURL '$1'
mod_proxy_eip=´íÎóµÄIPµØÖ·'$1'
mod_proxy_ehost=´íÎóµÄÖ÷»úÃû'$1'
mod_proxy_edomain=´íÎóµÄÓò'$1'
mod_proxy_enet=´íÎóµÄÍøÂç'$1'
mod_proxy_enetbit=´íÎóµÄÍøÂç/Î»¶Ô'$1'
mod_proxy_eunder=¸ßËÙ»º´æÄ¿Â¼Ã»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
mod_proxy_rurl=Ô¶³Ì URL
mod_proxy_lurl=±¾µØ URL Â·¾¶
mod_proxy_headers=Ó³ÉäÔ¶³ÌÎ»ÖÃ£ºÎÄ¼þÍ·ÖÁ±¾µØ
mod_log_agent_default=È±Ê¡
mod_log_agent_file=ÎÄ¼þ..
mod_log_agent_program=³ÌÐò..
mod_log_agent_log=ä¯ÀÀÈÕÖ¾ÎÄ¼þ
mod_log_agent_efile=$1 ÊÇ´íÎóµÄ´úÀíÈÕÖ¾ÎÄ¼þÃû
mod_log_config_common=ÆÕÍ¨ÈÕÖ¾¸ñÊ½
mod_log_config_named=ÃüÃûµÄÈÕÖ¾¸ñÊ½
mod_log_config_nick=âõ³Æ
mod_log_config_format=¸ñÊ½
mod_log_config_deflog=È±Ê¡ÈÕÖ¾¸ñÊ½
mod_log_config_default=È±Ê¡
mod_log_config_write=Ð´Èë
mod_log_config_filprog=ÎÄ¼þ»ò³ÌÐò
mod_log_config_file=ÎÄ¼þ..
mod_log_config_program=³ÌÐò..
mod_log_config_log=·ÃÎÊÈÕÖ¾ÎÄ¼þ
mod_log_config_enick=´íÎóâõ³Æ'$1'
mod_log_config_eformat=Ã»ÓÐ¸ø³ö $1 µÄÈÕÖ¾¸ñÊ½
mod_log_config_enofilprog=¶ªÊ§ÈÕÖ¾ÎÄ¼þ»ò³ÌÐò
mod_log_config_efilprog=²»ÔÊÐíµÄÈÕÖ¾ÎÄ¼þ»ò³ÌÐò '$1'
mod_log_config_eifset=ÔÚÈ±Ê¡ÈÕÖ¾¸ñÊ½ÖÐ²»ÄÜÊ¹ÓÃ 'If set' Ñ¡Ïî
mod_log_referer_default=È±Ê¡
mod_log_referer_file=ÎÄ¼þ..
mod_log_referer_program=³ÌÐò..
mod_log_referer_log=²ÎÕÕÈÕÖ¾ÎÄ¼þ
mod_log_referer_nolog=²»Òª´ÓÒÔÏÂ½«²ÎÕÕ¼ÇÂ¼ÈëÈÕÖ¾
mod_log_referer_elog=´íÎóµÄ²ÎÕÕÈÕÖ¾ÎÄ¼þ $1
mod_log_referer_edir=²ÎÕÕÈÕÖ¾Ã»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
mod_status_msg=ÏÔÊ¾À©Õ¹µÄ×´Ì¬ÐÅÏ¢
mod_mime_ext=À©Õ¹
mod_mime_xtype=À©Õ¹ MIME ÀàÐÍ
mod_mime_mtype=MIME ÀàÐÍ
mod_mime_chandl=ÄÚÈÝ´¦Àí³ÌÐò
mod_mime_cencs=ÄÚÈÝ±àÂë
mod_mime_cenc=ÄÚÈÝ±àÂë
mod_mime_clangs=ÄÚÈÝÓïÑÔ
mod_mime_clang=ÄÚÈÝÓïÑÔ
mod_mime_defmime=ËùÓÐÎÄ¼þµ±×ö MIME ÀàÐÍ
mod_mime_real=Êµ¼ÊÀàÐÍ
mod_mime_etype=´íÎóµÄ MIME ÀàÐÍ
mod_mime_pass=ËùÓÐÎÄ¼þ´«´¦Àí³ÌÐò
mod_mime_file=MIME ÀàÐÍÎÄ¼þ
mod_mime_default=È±Ê¡
mod_mime_ignhand=ºöÂÔµÄ´¦Àí³ÌÐò
mod_mime_none=ÎÞ
mod_mime_xchars=À©Õ¹×Ö·û¼¯
mod_mime_einvalid='$1' ÊÇ´íÎóµÄ $2
mod_mime_eext=Ã»ÓÐ¸ø $1 ÒÔÀ©Õ¹ $2
mod_mime_type=ÀàÐÍ
mod_mime_handler=´¦Àí³ÌÐò
mod_mime_encoding=±àÂë
mod_mime_lang=ÓïÑÔ
mod_mime_chars=×Ö·û¼¯
mod_mime_igntype=ºöÂÔÀ©Õ¹µÄ MIME ÀàÐÍ
mod_mime_ignenc=ºöÂÔÀ©Õ¹µÄ±àÂë
mod_setenvif_header=Í·
mod_setenvif_match=Æ¥Åä
mod_setenvif_case=Æ¥Åä´óÐ¡Ð´
mod_setenvif_var=±äÁ¿
mod_setenvif_value=Öµ
mod_setenvif_txt=±äÁ¿¼¯»ùÓÚÇëÇóÍ·
mod_setenvif_eheader=´íÎóµÄÇëÇóÍ· '$1'
mod_setenvif_eregex=´íÎóµÄÕýÔò±í´ïÊ½ '$1'
mod_setenvif_evar=´íÎóµÄ±äÁ¿Ãû '$1'
mod_setenvif_clear=ÇåÀí
mod_userdir_default=È±Ê¡
mod_userdir_all=ËùÓÐÓÃ»§¾ù¿É·ÃÎÊ
mod_userdir_except=ËùÓÐÓÃ»§³ýÁË
mod_userdir_dir=ÓÃ»§ WWW Ä¿Â¼
mod_imap_action=´íÎóÊ¹ÓÃÍ¼ÏñÓ³ÉäÊ±µÄ¶¯×÷
mod_imap_default=È±Ê¡
mod_imap_godefurl=×ªµ½È±Ê¡ URL
mod_imap_form=ÏÔÊ¾¸ñÊ½»¯µÄ²Ëµ¥
mod_imap_semiform=ÏÔÊ¾°ë¸ñÊ½»¯²Ëµ¥
mod_imap_unform=ÏÔÊ¾Î´¸ñÊ½»¯²Ëµ¥
mod_imap_disperr=ÏÔÊ¾·þÎñÆ÷´íÎó
mod_imap_donoth=²»²ÉÈ¡ÐÐ¶¯
mod_imap_goimap=×ªµ½Í¼ÏñÓ³Éä URL
mod_imap_goref=×ªµ½²ÎÕÕ URL
mod_imap_gourl=×ªµ½ URL...
mod_imap_defact=Í¼ÏñÓ³ÉäµÄÈ±Ê¡¶¯×÷
mod_imap_root=·þÎñÆ÷µÄroot
mod_imap_imapurl=Í¼ÏñÓ³Éä URL
mod_imap_refurl=²ÎÕÕ URL
mod_imap_url=URL...
mod_imap_defbase=Í¼ÏñÓ³ÉäµÄÈ±Ê¡»ù´¡
mod_imap_eurl=´íÎóµÄURL'$1'
mod_speling_autocorr=ÊÇ·ñ×Ô¶¯Ð£ÕýÆ´Ð´´íÎóµÄURL£¿
mod_speling_default=È±Ê¡
mod_actions_mime=´¦Àí³ÌÐò / MIME ÀàÐÍ
mod_actions_cgiurl=CGI ½Å±¾ URL
mod_actions_mimecgi=´¦Àí³ÌÐò»ò MIME ÀàÐÍ CGI ¶¯×÷
mod_actions_http=HTTP ·½·¨
mod_actions_cgi=CGI ½Å±¾
mod_actions_httpcgi=HTTP ·½·¨ CGI ¶¯×÷
mod_actions_emime=´íÎóµÄ´¦Àí³ÌÐò»òMIMEÀàÐÍ'$1'
mod_actions_ecgi=´íÎóµÄCGI½Å±¾'$1'
mod_actions_enometh=Ã»ÓÐÎªCGI½Å±¾Ñ¡Ôñ¶¯×÷ '$1'
mod_include_incl=½ø³ÌÊÇ·ñ°üº¬´øÖ´ÐÐÎ»µÄÎÄ¼þ£¿
mod_include_set=ÊÇ£¬²¢ÉèÖÃ×îºóÐÞ¸ÄÈÕÆÚ
mod_include_default=È±Ê¡
mod_dir_txt=Ä¿Â¼Ë÷ÒýÎÄ¼þ
mod_autoindex_default=È±Ê¡
mod_autoindex_asc=ÉýÐò
mod_autoindex_descend=½µÐò
mod_autoindex_name=Ãû³Æ
mod_autoindex_date=ÈÕÆÚ
mod_autoindex_size=´óÐ¡
mod_autoindex_desc=ÃèÊö
mod_autoindex_sort=ÅÅÐòÄ¿Â¼Ë÷ÒýÒÀ¾Ý
browsermatch_regexp=ä¯ÀÀÆ÷ÕýÔò±í´ïÊ½
browsermatch_case=Æ¥Åä´óÐ¡Ð´£¿
browsermatch_var=ÉèÖÃ±äÁ¿
browsermatch_value=Öµ
browsermatch_txt=±äÁ¿¼¯»ùÓÚä¯ÀÀÆ÷ÀàÐÍ
browsermatch_evar=´íÎó±äÁ¿Ãû '$1'
browsermatch_clear=ÇåÀí
autoindex_fname=ÎÄ¼þÃû
autoindex_mime=MIME ÀàÐÍ
autoindex_enc=±àÂë
autoindex_icon=Í¼±ê
autoindex_alt=Ìæ´úÎÄ±¾
autoindex_match=Æ¥ÅäÒÀ¾Ý
autoindex_fte=ÎÄ¼þÃû¡¢ÀàÐÍ»ò±àÂë
autoindex_diricon=Ä¿Â¼Ë÷ÒýÍ¼±ê
autoindex_deficon=Ä¿Â¼Ë÷ÒýÈ±Ê¡Í¼±ê
autoindex_default=È±Ê¡
autoindex_edeficon=´íÎóµÄÈ±Ê¡Í¼±êURL
autoindex_diralt=Ä¿Â¼Ë÷ÒýALT±ê¼Ç
autoindex_desc=ÃèÊö
autoindex_fnames=ÎÄ¼þÃû
autoindex_dirdesc=Ä¿Â¼Ë÷ÒýÃèÊö
autoindex_fancy=ÏÔÊ¾fancyÄ¿Â¼Ë÷Òý
autoindex_htmltitle=ÏÔÊ¾HTML ±êÌâÎªÃèÊö
autoindex_iwidth=Í¼±êµÄ¿í¶È
autoindex_iheight=Í¼±êµÄ¸ß¶È
autoindex_sort=ÔÊÐíÓÃ»§°´ÁÐÅÅÐò
autoindex_fildesc=ÏÔÊ¾ÎÄ¼þÃèÊö
autoindex_htags=Êä³öHTMLÍ·±ê
autoindex_mtime=ÏÔÊ¾ÉÏ´ÎÐÞ¸ÄÊ±¼ä
autoindex_size=ÏÔÊ¾ÎÄ¼þ´óÐ¡
autoindex_iconlink=Á¬½ÓÖÐ°üº¬Í¼±ê
autoindex_fwidth=ÎÄ¼þÃû¿í¶È
autoindex_dwidth=ÃèÊö¿í¶È
autoindex_dirfirst=Ê×ÏÈÏÔÊ¾Ä¿Â¼
autoindex_default2=È±Ê¡
autoindex_select=ÈçÏÂÑ¡Ôñ...
autoindex_default3=È±Ê¡
autoindex_pixels=ÏñËØ
autoindex_chars=×Ö·û
autoindex_diropt=Ä¿Â¼Ë÷ÒýÑ¡Ïî
autoindex_dirhead=Ä¿Â¼Ë÷ÒýÍ·ÎÄ¼þ
autoindex_default4=È±Ê¡
autoindex_edirhead=´íÎóµÄË÷ÒýÍ·ÎÄ¼þ
autoindex_dirfoot=Ä¿Â¼Ë÷ÒýÒ³½ÅÎÄ¼þ
autoindex_edirfoot=´íÎóµÄË÷ÒýÒ³½ÅÎÄ¼þ
autoindex_ignore=Ä¿Â¼Ë÷ÒýºöÂÔµÄÎÄ¼þ
autoindex_eiconurl=´íÎóµÄÍ¼±êURL '$1'
autoindex_emiss=¶ªÊ§$2µÄ$1
autoindex_emissquot=¶ªÊ§$2µÄ$1
autoindex_enodesc=ÎÄ¼þ$1Ã»ÓÐÃèÊö
autoindex_enofile=ÃèÊö$1Ã»ÓÐÎÄ¼þ
autoindex_eiconsize=´íÎóµÄÍ¼±ê´óÐ¡'$1'
autoindex_ewidth='$1' ²»ÊÇÓÐÐ§¿í¶È
mod_mime_magic_file=MIME Ä§ÊýÎÄ¼þ
mod_mime_magic_none=ÎÞ
mod_mime_magic_efile=´íÎóµÄ MIME  Ä§ÊýÎÄ¼þ
mod_env_var=±äÁ¿
mod_env_value=Öµ
mod_env_pass=Ìø¹ý
mod_env_clear=Çå³ý
mod_env_set=ÉèÖÃÎª..
mod_env_cgivar=CGI½Å±¾µÄ»·¾³±äÁ¿
mod_env_passall=´«ËÍËùÓÐ»·¾³±äÁ¿ÖÁ CGI
mod_env_default=È±Ê¡
mod_env_evar=´íÎóµÄ±äÁ¿Ãû '$1'
mod_env_evalue=´íÎóµÄ±äÁ¿Öµ '$1'
mod_access_order=·ÃÎÊ¼ì²é´ÎÐò£º
mod_access_denyallow=ÏÈ½ûÖ¹ºóÔÊÐí
mod_access_allowdeny=ÏÈÔÊÐíºó½ûÖ¹
mod_access_mutual=½»»¥Ê§°Ü
mod_access_default=È±Ê¡
mod_access_action=¶¯×÷
mod_access_cond=Ìõ¼þ
mod_access_all=ËùÓÐÇëÇó
mod_access_host=´ÓÖ÷»úÇëÇó...
mod_access_ip=´ÓIPÇëÇó..
mod_access_pip=´Ó²¿·ÖIPÇëÇó..
mod_access_mask=´ÓÍøÂç/ÑÚÂëÇëÇó..
mod_access_cidr=´ÓÍøÂç/CIDRÇëÇó..
mod_access_var=Èç¹û±äÁ¿±»ÉèÖÃ..
mod_access_restr=Ô¼Êø·ÃÎÊ
mod_access_eip=´íÎóIPµØÖ·'$1'
mod_access_epip=´íÎóµÄ²¿·ÖIPµØÖ·'$1'
mod_access_emask=´íÎóÍøÂç/ÑÚÂë¶Ô'$1'
mod_access_ecidr=´íÎóÍøÂç/CIDR¶Ô'$1'
mod_access_evar=´íÎó±äÁ¿Ãû'$1'
mod_auth_ufile=ÓÃ»§ÎÄ±¾ÎÄ¼þ
mod_auth_uedit=±à¼­ÓÃ»§
mod_auth_gfile=×éÎÄ±¾ÎÄ¼þ
mod_auth_gedit=±à¼­×é
mod_auth_pass=ÊÇ·ñ½«Ê§°Ü´«ËÍ¸øÏÂÒ»¸öÄ£¿é£¿
mod_auth_auth=ÎÄ±¾ÎÄ¼þÈÏÖ¤
mod_auth_eudir=ÓÃ»§ÎÄ±¾ÎÄ¼þÃ»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
mod_auth_egdir=×éÎÄ±¾ÎÄ¼þÃ»ÓÐÔÚÔÊÐíµÄÄ¿Â¼ÏÂ
mod_auth_eufile=ÎÞÐ§µÄÓÃ»§ÎÄ±¾ÎÄ¼þÃû
mod_auth_egfile=ÎÞÐ§µÄ×éÎÄ±¾ÎÄ¼þÃû
mod_auth_dbm_ufile=ÓÃ»§ DBM ÎÄ¼þ
mod_auth_dbm_gfile=×é DBM ÎÄ¼þ
mod_auth_dbm_pass=ÊÇ·ñ½«Ê§°Ü´«ËÍ¸øÏÂÒ»¸öÄ£¿é£¿
mod_auth_dbm_auth=DBM ÎÄ¼þÈÏÖ¤
mod_auth_dbm_eufile=ÎÞÐ§µÄÓÃ»§ DBF ÎÄ±¾ÎÄ¼þÃû
mod_auth_dbm_egfile=ÎÞÐ§µÄ×é DBF ÎÄ¼þÃû
mod_cern_meta_process=´¦ÀíÍ·µÄÔ­ÎÄ¼þ
mod_cern_meta_dir=Í·µÄÔ­ÎÄ¼þµÄ×ÓÄ¿Â¼
mod_cern_meta_default=È±Ê¡
mod_cern_meta_edir=´íÎóµÄÔ­ÎÄ¼þ×ÓÄ¿Â¼Ãû
mod_cern_meta_suffix=Í·µÄÔ­ÎÄ¼þµÄÎÄ¼þºó×º
mod_cern_meta_default2=È±Ê¡
mod_cern_meta_esuffix=´íÎóµÄÔ­ÎÄ¼þºó×º
mod_ssl_proto=SSL Ð­Òé
mod_ssl_cfile=Ö¤Êé/Ë½ÓÐÃÜÔ¿ÎÄ¼þ
mod_ssl_ecfile=¶ªÊ§Ö¤Êé/Ë½ÓÐÃÜÔ¿ÎÄ¼þ
mod_ssl_default=È±Ê¡
mod_ssl_kfile=Ë½ÓÐÃÜÔ¿ÎÄ¼þ
mod_ssl_ekfile=¶ªÊ§Ë½ÓÐÃÜÔ¿ÎÄ¼þ
mod_ssl_clcert=¿Í»§ SSL Ö¤Êé
mod_ssl_nreq=²»±ØÒª
mod_ssl_opt=¿ÉÑ¡Ôñ
mod_ssl_req=ÒªÇóµÄ
mod_ssl_optca=¿ÉÑ¡µÄÎÞ CA
mod_ssl_cdepth=¿Í»§Ö¤ÊéÉî¶È
mod_ssl_ecdepth=Ö¤ÊéÉî¶ÈÖµ±ØÐëÊÇÕûÊý
mod_ssl_log=SSL ÈÕÖ¾ÎÄ¼þ
mod_ssl_elog=¶ªÊ§ SSL ÈÕÖ¾ÎÄ¼þ
mod_ssl_onlyssl=½öÔÊÐí SSL ·ÃÎÊ
log_global=ÒÑ¸Ä±äµÄÈ«¾Ö $1 Ñ¡Ïî
log_virtc=ÒÑ´´½¨µÄ·þÎñÆ÷ $1
log_virts=ÒÑÖØÐÂÅäÖÃµÄ·þÎñÆ÷ $1
log_virtd=ÒÑÉ¾³ýµÄ·þÎñÆ÷ $1
log_virtm=ÒÑÊÖ¹¤±à¼­µÄ·þÎñÆ÷ $1
log_virt=ÒÑÔÚ·þÎñÆ÷ $2 ÉÏ¸Ä±ä·þÎñÆ÷ $1
log_dirc=ÒÑ´´½¨µÄÄ¿Â¼$1
log_dirc_l=ÒÑÔÚ·þÎñÆ÷ $2 ÉÏ´´½¨Ä¿Â¼$1
log_dirs=ÒÑ¸Ä±äµÄÄ¿Â¼$1
log_dirs_l=ÒÑÔÚ·þÎñÆ÷ $2 ÉÏ¸Ä±äÄ¿Â¼$1
log_dird=ÒÑÉ¾³ýÄ¿Â¼$1
log_dird_l=ÒÑÔÚ·þÎñÆ÷ $2 ÉÏÉ¾³ýÄ¿Â¼$1
log_dirm=ÒÑÊÖ¹¤±à¼­Ä¿Â¼$1
log_dirm_l=ÒÑÔÚ·þÎñÆ÷ $2 ÉÏÊÖ¹¤±à¼­Ä¿Â¼$1
log_dir=ÒÑ¸Ä±äÄ¿Â¼ $2 ÖÐµÄ $1
log_dir_l=ÒÑ¸Ä±ä·þÎñÆ÷$3ÉÏÄ¿Â¼$2ÖÐµÄ $1
log_htaccessc=ÒÑ´´½¨µÄÑ¡ÏîÎÄ¼þ$1
log_htaccessd=ÒÑÉ¾³ýµÄÑ¡ÏîÎÄ¼þ$1
log_htaccessm=ÒÑÊÖ¹¤±à¼­µÄÑ¡ÏîÎÄ¼þ$1
log_htaccess=ÒÑÔÚÑ¡ÏîÎÄ¼þ$2ÖÐ¸Ä±äµÄÎÄ¼þ$1
log_filesc=ÒÑÎª$1´´½¨µÄÎÄ¼þÑ¡Ïî
log_filesc_l=ÒÑÔÚÎÄ¼þ$2ÖÐÎª$1´´½¨µÄÎÄ¼þÑ¡Ïî
log_filess=ÒÑÎª$1¶ø¸Ä±äµÄÎÄ¼þÑ¡Ïî
log_filess_l=ÒÑÔÚÎÄ¼þ$2ÖÐÎª$1¸Ä±äµÄÎÄ¼þÑ¡Ïî
log_filesd=ÒÑÎª$1É¾³ýµÄÎÄ¼þÑ¡Ïî
log_filesd_l=ÒÑÔÚÎÄ¼þ$2ÖÐÎª$1É¾³ýµÄÎÄ¼þÑ¡Ïî
log_filesm=ÒÑÎª$1ÊÖ¹¤±à¼­µÄÎÄ¼þÑ¡Ïî
log_filesm_l=ÒÑÔÚÎÄ¼þ$2ÖÐÎª$1ÊÖ¹¤±à¼­µÄÎÄ¼þÑ¡Ïî
log_files=ÒÑÎª$2ÔÚÎÄ¼þÑ¡ÏîÖÐ¸Ä±ä$1
log_files_l=ÒÑÔÚÎÄ¼þ$3ÖÐÎª$2ÔÚÎÄ¼þÑ¡ÏîÖÐ¸Ä±ä$1
log_mime_modify=ÒÑ¸ü¸ÄµÄ MIME ÀàÐÍ $1
log_mime_create=ÒÑÔö¼ÓµÄ MIME ÀàÐÍ $1
log_defines=ÒÑ¸Ä±äÒÑ¶¨ÒåµÄ²ÎÊý
log_reconfig=ÒÑÖØÐÂÅäÖÃµÄÒÑÖªÄ£¿é
log_start=ÒÑÆô¶¯µÄ Web ·þÎñÆ÷
log_stop=ÒÑÍ£Ö¹µÄ Web ·þÎñÆ÷
log_apply=ÒÑÓ¦ÓÃµÄ¸ü¸Ä
 070701000270ac000081a40000000000000002000000013d1fe2d100001cd4000000200000000000000000000000000000001d00000003reloc/apache/lang/zh_TW.Big5  index_title=Apache ºô­¶¦øªA¾¹
index_eroot=Apache ®Ú¥Ø¿ý $1 ¤£¦s¦b. ¦pªG±z½T©w¦³¦w¸Ë Apache, ½Õ¾ã<a href='$2'>¼Ò²Õ²ÕºA</a>¥H­×¥¿¸ô®|.
index_eserver=Apache ¦øªA¾¹°õ¦æÀÉ $1 ¤£¦s¦b. ¦pªG±z½T©w¦³¦w¸Ë Apache, ½Õ¾ã<a href='$2'>¼Ò²Õ²ÕºA</a>¥H­×¥¿¸ô®|.
index_econf=Apache ²ÕºAÀÉ $1 ¤£¦s¦b. ¦pªG±z½T©w¦³¦w¸Ë Apache, ½Õ¾ã<a href='$2'>¼Ò²Õ²ÕºA</a>¥H­×¥¿¸ô®|.
index_eports=±z Apache ²ÕºAÀÉ¥]§t¤F¶W¹L¤@­Ó $1 «ü¥O. ¥Ø«eªº Webmin ©|µLªk¥¿½T³B¥ß³oºØ³]©w.
index_global=¥þ°ì²ÕºA
index_virts=µêÀÀ¦øªA¾¹
index_defserv=¹w³]¦øªA¾¹
index_defdesc1=©w¸q©Ò¦³µêÀÀ¥D¾÷¦øªA¾¹ªº¹w³]­È, ¨Ã³B²z¥ô¦óµLªk³B²zªº­n¨D.
index_any=¥ô¦ó
index_default=¹w³]
index_auto=¦Û°Ê
index_virt=µêÀÀ¥D¾÷¦øªA¾¹
index_vname=³B²z¥H¦WºÙ¬°°òÂ¦ªº¦øªA¾¹ $1 ¦b IP ¦ì§} $2.
index_vdef=³B²z©Ò¦³¤£ÄÝ©ó¨ä¥LµêÀÀ¥D¾÷¦øªA¾¹³B²zªº­n¨D.
index_defdesc2=©w¸q¹w³]­Èµ¹©Ò¦³¨ä¥LªºµêÀÀ¥D¾÷¦øªA¾¹.
index_vport=³B²z©Ò¦³µ¹³q°T°ð $1 ¥B¤£¥Ñ¨ä¥LµêÀÀ¥D¾÷¦øªA¾¹³B²zªº­n¨D.
index_vaddr=³B²z©Ò¦³µ¹ IP ¦ì§} $1 ªº­n¨D.
index_vaddrport=³B²z©Ò¦³µ¹ IP ¦ì§} $1 ³q°T°ð $2 ªº­n¨D.
index_type=Ãþ§O
index_addr=IP ¦ì§}
index_port=³q°T°ð
index_name=¦øªA¾¹¦WºÙ
index_root=¤å¥ó®Ú¥Ø¿ý
index_create=«Ø¥ß·sªºµêÀÀ¥D¾÷
index_return=¦øªA¾¹¦Cªí

cvirt_ecannot=±z¤£³Q¤¹³\«Ø¥ßµêÀÀ¥D¾÷
cvirt_err=«Ø¥ßµêÀÀ¥D¾÷¥¢±Ñ
cvirt_eaddr1=¥¼¿é¤J IP ¦ì§}
cvirt_eaddr2='$1' ¤£¬O¦³®Äªº IP ¦ì§}
cvirt_eport='$1' ¤£¬O¦³®Äªº³q°T°ð
cvirt_ename='$1' ¤£¬O¦³®Äªº¦øªA¾¹¦WºÙ
cvirt_eroot1=±z¥²¶·¿é¤J¤å¥ó®Ú¥Ø¿ý
cvirt_eroot2=µLªk«Ø¥ß¥Ø¿ý '$1' : $2

etype=Y±z¤£³Q¤¹³\½s¿è³o­ÓÃþ§Oªº¿ï¶µ
efailed=µLªkÀx¦s $1
apache_apply=®M¥ÎÅÜ§ó
apache_stop=°±¤î Apache
apache_start=±Ò°Ê Apache
auth_return=¦s¨ú±±¨î

global_ecannot=±z¤£³Q¤¹³\½s¿è¥þ°ì¿ï¶µ
global_mime=¥þ°ì MIME Ãþ§O¦Cªí
global_mimedesc=ÂI¿ï¤U¦Cªº MIME Ãþ§O¥H½s¿è¤§, ©Î¨Ï¥Î¥»­¶©³ºÝªº³sµ²¨Ó¼W¥[·sªºÃþ§O¨ì¦Cªí¤¤.
global_type=Ãþ§O
global_ext=©µ¦ùÀÉ¦W
global_add=¼W¥[·sªº MIME Ãþ§O
global_return=MIME Ãþ§O

mime_ecannot=±z¤£³Q¤¹³\½s¿è MIME Ãþ§O
mime_edit=½s¿è MIME Ãþ§O
mime_add=¼W¥[ MIME Ãþ§O
mime_header=©µ¦ùÀÉ¦W»P MIME Ãþ§Oªº¹ïÀ³
mime_type=MIME Ãþ§O
mime_ext=©µ¦ùÀÉ¦W
mime_err=µLªkÀx¦s MIME Ãþ§O
mime_etype='$1' ¤£¬O¦³®Äªº MIME Ãþ§O

virt_ecannot=±z¤£¯à½s¿è³o­ÓµêÀÀ¥D¾÷¦øªA¾¹
virt_title=µêÀÀ¥D¾÷¦øªA¾¹¿ï¶µ
virt_header=µ¹ $1
virt_opts=µêÀÀ¥D¾÷¦øªA¾¹¿ï¶µ
virt_conf=¦øªA¾¹²ÕºA
virt_show=Åã¥Ü©R¥O
virt_adddir=¹w¥ý«Ø¥ß¥Ø¿ý, ÀÉ®×©Î¦ì¸m¿ï¶µ
virt_type=Ãþ§O
virt_exact=§¹¥þ²Å¦X
virt_re=²Å¦X¥¿³Wªí¥Ü¦¡
virt_path=¸ô®|
virt_return=¦øªA¾¹¯Á¤Þ
virt_euser=±z¤£³Q¤¹³\ÅÜ§ó³o­ÓµêÀÀ¥D¾÷¦øªA¾¹ªº¨Ï¥ÎªÌ©Î¸s²Õ.
virt_header2=$1 µ¹ $2

vserv_title=µêÀÀ¥D¾÷¦øªA¾¹²ÕºA
vserv_ecannot=±z¤£¯à½s¿è³o­ÓµêÀÀ¥D¾÷¦øªA¾¹ªº IP ¦ì§}
vserv_addr=IP ¦ì§}
vserv_port=³q°T°ð
vserv_any=¥ô¦ó
vserv_default=¹w³]
vserv_root=¤å¥ó®Ú¥Ø¿ý
vserv_name=¦øªA¾¹¦WºÙ
vserv_delete=§R°£µêÀÀ¥D¾÷¦øªA¾¹
vserv_err=Àx¦sµêÀÀ¥D¾÷¦øªA¾¹¥¢±Ñ
vserv_eaddr1=¥¼¿é¤J IP ¦ì§}
vserv_eaddr2='$1' ¤£¬O¦³®Äªº IP ¦ì§}
vserv_eport='$1' ¤£¬O¦³®Äªº³q°T°ð
vserv_eroot='$1' ¤£¬O¦³®Äªº¤å¥ó®Ú¥Ø¿ý
vserv_ename='$1' ¤£¬O¦³®Äªº¦øªA¾¹¦WºÙ

show_title=©R¥O
show_edit=½s¿è Apache ©R¥O:
show_these=¤â°Ê½s¿è©R¥O
show_ok=½s¿è

manual_title=­ì©l©R¥O
manual_header=¾A¥Î¤U­±ªº¤å¦r°Ï°ì¥H½s¿è¦b $1 ªº Apache ©R¥O¨Ã®M¥Î¦b³o­ÓµêÀÀ¥D¾÷¦øªA¾¹, ¸ô®|©ÎÀÉ®×.

dir_title=­Ó§O¸ô®|¿ï¶µ
dir_header=µ¹ $1 ¦b $2
dir_show=Åã¥Ü©R¥O
dir_opts=¿ï¶µ®M¥Î¨ì ...
dir_type=Ãþ§O
dir_regexp=¥¿³Wªí¥Ü¦¡?
dir_exact=§¹¥þ²Å¦X
dir_re=²Å¦X¥¿³Wªí¥Ü¦¡
dir_path=¸ô®|
dir_return=¥Ø¿ý¯Á¤Þ
dir_header2=$1 µ¹ $2

type_0=¤u§@µ{§Ç»P¤W­­
type_1=ºô¸ô»P IP ¦ì§}
type_2=Apache ¼Ò²Õ
type_3=¬ö¿ýÀÉ
type_4=¦s¨ú±±¨î
type_5=¤å¥ó¿ï¶µ
type_6=MIME Ãþ§O
type_7=¿ù»~³B²z
type_8=¨Ï¥ÎªÌ»P¸s²Õ
type_9=¨ä¥L
type_10=§O¦W»P­«¾É¦V
type_11=CGI µ{¦¡
type_12=¥Ø¿ý¯Á¤Þ
type_13=¥N²z¦øªA¾¹
type_14=SSL ¿ï¶µ
type_15=Perl
type_16=PHP

htaccess_title=­Ó§O¸ô®|¿ï¶µÀÉ
htaccess_ecannot=±z¤£¯à½s¿è htaccess ÀÉ®×
htaccess_desc=ÃB¥~ªº­Ó§O¸ô®|¿ï¶µ¥i¥H³Q«ü©w¦b¨C­Ó¸ô®|¤UªºÀÉ®×¤¤ (³q±`¬O¥s°µ <tt>.htaccess</tt>). °£«D¦³¨ä¥L¿ï¶µÀÉ, «h³o¨Ç¿ï¶µ·|®M¥Î¦b¸Ó¥Ø¿ý»P¨ä¤l¥Ø¿ý¤¤.
htaccess_create=«Ø¥ß¿ï¶µÀÉ
htaccess_find=§ä´M¿ï¶µÀÉ
htaccess_auto=¦Û°Ê¤Æ
htaccess_from=±q¥Ø¿ý
htaccess_return=¿ï¶µÀÉ¦Cªí
htaccess_edir='$1' ¤£¬O¦³®Äªº¥Ø¿ý
htaccess_ecreate=±z¤£³Q¤¹³\«Ø¥ß¿ï¶µÀÉ
htaccess_edelete=±z¤£³Q¤¹³\§R°£¿ï¶µÀÉ

htindex_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó¿ï¶µÀÉ
htindex_title=­Ó§O¸ô®|¿ï¶µÀÉ®×
htindex_delete=§R°£ÀÉ®×
htindex_show=Åã¥Ü©R¥O
htindex_opts=­Ó§O¥Ø¿ý¿ï¶µ
htindex_file=­Ó§OÀÉ®×²ÕºA
htindex_create=«Ø¥ß­Ó§OÀÉ®×¿ï¶µ
htindex_regexp=¥¿³Wªí¥Ü¦¡?
htindex_exact=§¹¥þ²Å¦X
htindex_re=²Å¦X¥¿³Wªí¥Ü¦¡
htindex_path=¸ô®|
htindex_header=µ¹ $1
htindex_header2=$1 µ¹¿ï¶µÀÉ®× $2
htindex_return=¿ï¶µÀÉ®×¯Á¤Þ

htfile_title=­Ó§OÀÉ®×¿ï¶µ
htfile_header=µ¹ $1 ¦b $2
htfile_show=Åã¥Ü«ü¥O
htfile_apply=¿ï¶µ®M¥Îµ¹ ...
htfile_header2=$1 µ¹ $2

reconfig_title=­«·s²ÕºA¤wª¾¼Ò²Õ
reconfig_ecannot=±z¤£³Q¤¹³\­«·s²ÕºA Apache
reconfig_ever=µLªk¨ú±o Apache ¦øªA¾¹°õ¦æÀÉ $1 ª©¥». ½ÐÀË¬d±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¥H½T»{±z«ü©w¤F¥¿½Tªº¸ô®|.
reconfig_desc1=±zªº Apache ²ÕºAÀÉ¤w¸gÅÜ§ó, ©ÎªÌ¬O©|¥¼¸g¹L Webmin ªºÀË¬d. ¤U­±¬O Webmin ¤ä´©ªº©Ò¦³¼Ò²Õ¦Cªí, ¥Ø«e¦³¦w¸Ëªº¼Ò²Õ¤w¸g³Q¿ï¨ú. ±z¥i¥H¿ï¨ú©Î¨ú®ø¿ï¨ú¿ù»~ªº³¡¤À.
reconfig_desc2=¤U­±¬O Webmin ¤ä´©ªº©Ò¦³¼Ò²Õ¦Cªí, ¥Ø«e¦³¦w¸Ëªº¼Ò²Õ¤w¸g³Q¿ï¨ú. ¦pªG±z¨Ï¥Î°ÊºA¸ü¤J¼Ò²Õ, ±z¥²¶·¤â°Ê¿ï¾Ü¨º¨Ç³Q°ÊºA¸ü¤Jªº¼Ò²Õ.
reconfig_ok=²ÕºA

defines_title=½s¿è©w¸qªº°Ñ¼Æ
defines_ecannot=±z¤£³Q¤¹³\½s¿è httpd ªº©w¸q
defines_desc=·í Apache ±Ò°Ê®É, °Ñ¼Æ¥i¥H¸g¥Ñ <tt>-D</tt> ©R¥O¦C°Ñ¼Æ¦Ó³Q°e¨ì Apache. ¦]¬°³o¨Ç°Ñ¼Æ¥i¥H¼vÅT±z¦b²ÕºAÀÉ¤¤³]©wªº©R¥O, Webmin ¥²¶·ª¾¹D±z¦b±Ò°Ê Apache ®É°e¤F­þ¨Ç°Ñ¼Æ. ½Ð¦b¥kÃäªº¤å¦r°Ï°ì¤¤¿é¤J±z±Ò°Ê Apache ®É©Ò¨Ï¥Îªº°Ñ¼Æ.

authu_ecannot='$1' ¤£¬O¤@­Ó³Q¤¹³\ªº¨Ï¥ÎªÌ¤å¦rÀÉ®×
authu_title=¨Ï¥ÎªÌ¦Cªí
authu_header=¦bÀÉ®× $1
authu_header2=±q¤å¦rÀÉ®× $1 ªº¨Ï¥ÎªÌ
authu_none=¤å¦rÀÉ®× $1 ¤¤¨S¦³¨Ï¥ÎªÌ
authu_add=¼W¥[·s¨Ï¥ÎªÌ
authu_return=¨Ï¥ÎªÌ¦Cªí
authu_edit=½s¿è¨Ï¥ÎªÌ
authu_create=«Ø¥ß¨Ï¥ÎªÌ
authu_user=¨Ï¥ÎªÌ¦WºÙ
authu_pass=±K½X
authu_enc=½s½X...
authu_plain=¯Â¤å¦r...
authu_err=Àx¦s¨Ï¥ÎªÌ¥¢±Ñ
authu_euser=¨S¦³¿é¤J¨Ï¥ÎªÌ¦WºÙ
authu_euser2=¨Ï¥ÎªÌ¦WºÙ¤£¯à¥]§t ':' ¦r¤¸
authu_edup=¨Ï¥ÎªÌ¦WºÙ '$1' ¤w¸g¦s¦b
authu_sync=¤U­±ªº¿ï¶µ¤¹³\±z²ÕºA Webmin ¥H¦Û°Ê¦b±z¸g¥Ñ<tt>¨Ï¥ÎªÌ»P¸s²Õ<//tt>¼Ò²Õ¤¤¼W¥[, ÅÜ§ó©Î§R°£ Unix ¨Ï¥ÎªÌ®É, §ó·s©Î§R°£¨Ï¥ÎªÌ.
authu_screate=·í¥[¤J Unix ¨Ï¥ÎªÌ®É, ¼W¥[¨Ï¥ÎªÌ
authu_sdelete=·í§R°£ Unix ¨Ï¥ÎªÌ®É, §R°£¨Ï¥ÎªÌ
authu_smodify=·íÅÜ§ó Unix ¨Ï¥ÎªÌ®É, ÅÜ§ó¨Ï¥ÎªÌ

authg_ecannot='$1' ¤£¬O¤@­Ó³Q¤¹³\ªº¸s²Õ¤å¦rÀÉ®×
authg_title=¸s²Õ¦Cªí
authg_header=¦bÀÉ®× $1
authg_header2=±q¤å¦rÀÉ®× $1 ¤¤ªº¸s²Õ
authg_none=¤å¦rÀÉ®× $1 ¤¤¨S¦³¸s²Õ
authg_add=¼W¥[·s¸s²Õ
authg_return=¸s²Õ¦Cªí
authg_edit=½s¿è¸s²Õ
authg_create=«Ø¥ß¸s²Õ
authg_group=¸s²Õ¦WºÙ
authg_mems=¦¨­û
authg_dont=¤£­n§ïÅÜ
authg_set=³]©w¨ì...
authg_err=Àx¦s¸s²Õ¥¢±Ñ
authg_euser=¨S¦³¿é¤J¸s²Õ¦WºÙ
authg_euser2=¸s²Õ¦WºÙ¤£¯à¥]§t ':' ¦r¤¸
authg_edup=¸s²Õ¦WºÙ '$1' ¤w¸g¦s¦b

stop_err=°±¤î Apache ¥¢±Ñ
stop_ecannot=±z¤£³Q¤¹³\°±¤î Apache
stop_epid=¶}±Ò PID ÀÉ®× $1 ¥¢±Ñ
stop_epid2=¿ù»~ªº PID ÀÉ®× $1
stop_esig=°e¥X SIGTERM «H¸¹µ¹µ{§Ç $1 ¥¢±Ñ

start_err=±Ò°Ê Apache ¥¢±Ñ
start_ecannot=±z¤£³Q¤¹³\±Ò°Ê Apache
start_ecmd=$1 ¥¢±Ñ : $2
start_eunknown=¥¼ª¾ªº­ì¦]

restart_err=®M¥ÎÅÜ§ó¥¢±Ñ
restart_epid=¶}±Ò PID ÀÉ®× $1 ¥¢±Ñ
restart_epid2=¿ù»~ªº PID ÀÉ®× $1
restart_esig=öæ¥X SIGHUP «H¸¹µ¹µ{§Ç $1 ¥¢±Ñ
restart_eunknown=¥¼ª¾ªº­ì¦]

acl_virts=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªºµêÀÀ¥D¾÷¦øªA¾¹
acl_global=¬O§_¥i¥H½s¿è¥þ°ì²ÕºA?
acl_htaccess=¥u¦³ .htaccess
acl_create=¬O§_¥i¥H«Ø¥ßµêÀÀ¥D¾÷¦øªA¾¹?
acl_vuser=¬O§_¥i¥HÅÜ§óµêÀÀ¥D¾÷¦øªA¾¹¨Ï¥ÎªÌ?
acl_vaddr=¬O§_¥i¥HÅÜ§óµêÀÀ¥D¾÷¦øªA¾¹ªº IP ¦ì§}?
acl_pipe=¬O§_¥i¥H¿é¥X¬ö¿ýÀÉ¨ìµ{¦¡?
acl_stop=¬O§_¥i¥H°±¤î»P±Ò°Ê Apache?
acl_dir=¥Ø¿ýªº­­¨îÀÉ®×
acl_types=¥i¨Ï¥Îªº©R¥OºØÃþ
acl_all=¥þ³¡
acl_sel=¿ï¾Üªº...

0707010005c573000081e40000000000000002000000013d1fe2d1000005cf000000200000000000000000000000000000002100000003reloc/apache/list_authgroups.cgi  #!/usr/local/bin/perl
# list_authgroups.cgi
# Displays a list of groups and their members

require './apache-lib.pl';
require './auth-lib.pl';

$conf = &get_config();
&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authg_ecannot', $in{'file'}));
&header($text{'authg_title'}, "");
print "<center><font size=+1>",&text('authg_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";
$f = &server_root($in{'file'}, $conf);

@groups = sort { $a->{'name'} cmp $b->{'name'} } &list_authgroups($in{'file'});
if (@groups) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>",&text('authg_header2', "<tt>$f</tt>"),
	      "</b></td></tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td><b>$text{'authg_group'}</b></td> ",
	      "<td><b>$text{'authg_mems'}</b></td> </tr>\n";
	for($i=0; $i<@groups; $i++) {
		$g = $groups[$i]->{'group'};
		@m = @{$groups[$i]->{'members'}};
		if (@m > 15) { @m = @m[0..14]; }
		printf "<tr> <td><a href=\"edit_authgroup.cgi?group=$g&".
		  "file=%s&url=%s\">$g</a></td>\n",
		  &urlize($f), &urlize(&this_url());
		printf "<td>%s</td> </tr>\n",
			@m ? join(" , ", @m) : "<i>None</i>";
		}
	print "</table></td></tr></table>\n";
	}
else {
	print "<b>",&text('authg_none', "<tt>$f</tt>"),"</b><p>\n";
	}
printf "<a href=\"edit_authgroup.cgi?file=%s&url=%s\">%s</a><p>\n",
        &urlize($f), &urlize(&this_url()), $text{'authg_add'};

print "<hr>\n";
&footer($in{'url'}, $text{'auth_return'});

 0707010005c574000081e40000000000000002000000013d1fe2d1000007ba000000200000000000000000000000000000002000000003reloc/apache/list_authusers.cgi   #!/usr/local/bin/perl
# list_authusers.cgi
# Displays a list of users from a text file

require './apache-lib.pl';
require './auth-lib.pl';

$conf = &get_config();
&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authu_ecannot', $in{'file'}));
&header($text{'authu_title'}, "");
print "<center><font size=+1>",&text('authu_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";
$f = &server_root($in{'file'}, $conf);

@users = sort { $a cmp $b } &list_authusers($f);
if (@users) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>",&text('authu_header2', "<tt>$f</tt>"),
	      "</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	for($i=0; $i<@users; $i++) {
		$u = $users[$i];
		if ($i%4 == 0) { print "<tr>\n"; }
		printf "<td width=25%><a href=\"edit_authuser.cgi?user=$u&".
		  "file=%s&url=%s\">$u</a></td>\n",
		  &urlize($f), &urlize(&this_url());
		if ($i%4 == 3) { print "</tr>\n"; }
		}
	while($i++%4) { print "<td width=25%></td>\n"; }
	print "</table></td></tr></table>\n";
	}
else {
	print "<b>",&text('authu_none', "<tt>$f</tt>"),"</b><p>\n";
	}
printf "<a href=\"edit_authuser.cgi?file=%s&url=%s\">%s</a><p>\n",
        &urlize($f), &urlize(&this_url()), $text{'authu_add'};

print "<hr>\n";
$s = $config{"sync_$f"};
print "<form action=save_sync.cgi>\n";
print "$text{'authu_sync'} <p>\n";
print "<input type=hidden name=file value='$f'>\n";
print "<input type=hidden name=url value='$in{'url'}'>\n";
printf "<input type=checkbox name=sync value=create %s> %s<br>\n",
	$s =~ /create/ ? 'checked' : '', $text{'authu_screate'};
printf "<input type=checkbox name=sync value=modify %s> %s<br>\n",
	$s =~ /modify/ ? 'checked' : '', $text{'authu_smodify'};
printf "<input type=checkbox name=sync value=delete %s> %s<br>\n",
	$s =~ /delete/ ? 'checked' : '', $text{'authu_sdelete'};
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer($in{'url'}, $text{'auth_return'});

  0707010005c575000081a40000000000000002000000013d1fe2d100000deb000000200000000000000000000000000000001b00000003reloc/apache/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'apache-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
local $typestr = "<i>".$text{"type_$type"}."</i>";
if ($action eq 'global') {
	return &text('log_global', $typestr);
	}
elsif ($action eq 'virt') {
	$object = &html_escape($object);
	if ($type eq 'create') {
		return &text('log_virtc', "<tt>$object</tt>");
		}
	elsif ($type eq 'save') {
		return &text('log_virts', "<tt>$object</tt>");
		}
	elsif ($type eq 'delete') {
		return &text('log_virtd', "<tt>$object</tt>");
		}
	elsif ($type eq 'manual') {
		return &text('log_virtm', "<tt>$object</tt>");
		}
	else {
		return &text('log_virt', $typestr, "<tt>$object</tt>");
		}
	}
elsif ($action eq 'dir') {
	local ($virt, $dir);
	if ($object =~ /^([^:]+):(\d+):(.*)$/) {
		$virt = "$1:$2"; $dir = $3;
		}
	elsif ($object =~ /^([^:]+):(.*)$/) {
		$virt = $1; $dir = $2;
		}
	$virt = &html_escape($virt);
	$dir = &html_escape($dir);
	if ($type eq 'create') {
		return &text($long ? 'log_dirc_l' : 'log_dirc',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'save') {
		return &text($long ? 'log_dirs_l' : 'log_dirs',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'delete') {
		return &text($long ? 'log_dird_l' : 'log_dird',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'manual') {
		return &text($long ? 'log_dirm_l' : 'log_dirm',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	else {
		return &text($long ? 'log_dir_l' : 'log_dir', $typestr,
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	}
elsif ($action eq 'htaccess') {
	$object = &html_escape($object);
	$virt = &html_escape($virt);
	if ($type eq 'create') {
		return &text('log_htaccessc',
			     "<tt>$object</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'delete') {
		return &text('log_htaccessd',
			     "<tt>$object</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'manual') {
		return &text('log_htaccessm',
			     "<tt>$object</tt>", "<tt>$virt</tt>");
		}
	else {
		return &text('log_htaccess', $typestr,
			     "<tt>$object</tt>", "<tt>$virt</tt>");
		}
	}
elsif ($action eq 'files') {
	local ($file, $path);
	if ($object =~ /^([^:]+):(.*)$/) {
		$file = $1; $path = $2;
		}
	$file = &html_escape($file);
	$path = &html_escape($path);
	if ($type eq 'create') {
		return &text($long ? 'log_filesc_l' : 'log_filesc',
			     "<tt>$path</tt>", "<tt>$file</tt>");
		}
	elsif ($type eq 'save') {
		return &text($long ? 'log_filess_l' : 'log_filess',
			     "<tt>$path</tt>", "<tt>$file</tt>");
		}
	elsif ($type eq 'delete') {
		return &text($long ? 'log_filesd_l' : 'log_filesd',
			     "<tt>$path</tt>", "<tt>$file</tt>");
		}
	elsif ($type eq 'manual') {
		return &text($long ? 'log_filesm_l' : 'log_filesm',
			     "<tt>$path</tt>", "<tt>$file</tt>");
		}
	else {
		return &text($long ? 'log_files_l' : 'log_files', $typestr,
			     "<tt>$path</tt>", "<tt>$file</tt>");
		}
	}
elsif ($action eq 'mime') {
	$object = &html_escape($object);
	return &text("log_mime_$type", "<tt>$object</tt>");
	}
elsif ($action eq 'defines') {
	return $text{'log_defines'};
	}
elsif ($action eq 'reconfig') {
	return $text{'log_reconfig'};
	}
elsif ($action eq 'stop') {
	return $text{'log_stop'};
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
else {
	return undef;
	}
}

 0707010005c576000081e40000000000000002000000013d1fe2d1000009f8000000200000000000000000000000000000001d00000003reloc/apache/manual_form.cgi  #!/usr/local/bin/perl
# manual.cgi
# Display a text box for manually editing directives

require './apache-lib.pl';
&ReadParse();
$access{'types'} eq '*' || &error($text{'manual_ecannot'});
&header($text{'manual_title'}, "");
if (defined($in{'virt'})) {
	if (defined($in{'idx'})) {
		# directory within virtual server
		($vconf, $v) = &get_virtual_config($in{'virt'});
		$d = $vconf->[$in{'idx'}];
		$title = &text('dir_header', &dir_name($d), &virtual_name($v));
		$return = "dir_index.cgi"; $rmsg = $text{'dir_return'};
		$file = $d->{'file'};
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		}
	else {
		# virtual server
		($conf, $v) = &get_virtual_config($in{'virt'});
		$title = &text('virt_header', &virtual_name($v));
		$return = "virt_index.cgi"; $rmsg = $text{'virt_return'};
		$file = $v->{'file'};
		$start = $v->{'line'}+1; $end = $v->{'eline'}-1;
		}
	}
else {
	if (defined($in{'idx'})) {
		# files within .htaccess file
		$hconf = &get_htaccess_config($in{'file'});
		$d = $hconf->[$in{'idx'}];
		$file = $in{'file'};
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		$title = &text('htfile_header', &dir_name($d),
			       "<tt>$in{'file'}</tt>");
		$return = "htaccess_index.cgi"; $rmsg = $text{'htindex_return'};
		}
	else {
		# .htaccess file
		$file = $in{'file'};
		$title = &text('htindex_header', "<tt>$in{'file'}</tt>");
		$return = "htaccess_index.cgi"; $rmsg = $text{'htindex_return'};
		$dir = "files_index.cgi";
		}
	}
print "<center><font size=+2>$title</font></center>\n";
print "<hr>\n";

print &text('manual_header', "<tt>$file</tt>"),"<p>\n";
print "<form action=manual_save.cgi method=post enctype=multipart/form-data>\n";
foreach $h ('virt', 'idx', 'file') {
	if (defined($in{$h})) {
		print "<input type=hidden name=$h value='$in{$h}'>\n";
		push(@args, "$h=$in{$h}");
		}
	}
$args = join('&', @args);

print "<textarea rows=15 cols=80 name=directives>\n";
$lref = &read_file_lines($file);
if (!defined($start)) {
	$start = 0;
	$end = @$lref - 1;
	}
for($i=$start; $i<=$end; $i++) {
	print &html_escape($lref->[$i]),"\n";
	}
print "</textarea><br><input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("$return?$args", $rmsg);

# print_directives(&list, indent)
sub print_directives
{
foreach $c (@{$_[0]}) {
	next if ($c->{'name'} eq 'dummy');
	if ($c->{'type'}) {
		print $_[1],"<",$c->{'name'}," ",$c->{'value'},">\n";
		&print_directives($c->{'members'}, $_[1].' ');
		print $_[1],"</",$c->{'name'},">\n";
		}
	else {
		print $_[1],$c->{'name'}," ",$c->{'value'},"\n";
		}
	}
}

0707010005c577000081e40000000000000002000000013d1fe2d1000006bd000000200000000000000000000000000000001d00000003reloc/apache/manual_save.cgi  #!/usr/local/bin/perl
# manual_save.cgi
# Save manually entered directives

require './apache-lib.pl';
&ReadParseMime();
$access{'types'} eq '*' || &error($text{'manual_ecannot'});
if (defined($in{'virt'})) {
	if (defined($in{'idx'})) {
		# directory within virtual server
		($vconf, $v) = &get_virtual_config($in{'virt'});
		$d = $vconf->[$in{'idx'}];
		$file = $d->{'file'};
		$return = "dir_index.cgi";
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		$logtype = 'dir';
		$logname = &virtual_name($v, 1).":".$d->{'words'}->[0];
		}
	else {
		# virtual server
		($conf, $v) = &get_virtual_config($in{'virt'});
		$return = "virt_index.cgi";
		$file = $v->{'file'};
		$start = $v->{'line'}+1; $end = $v->{'eline'}-1;
		$logtype = 'virt'; $logname = &virtual_name($v, 1);
		}
	}
else {
	if (defined($in{'idx'})) {
		# files within .htaccess file
		$hconf = &get_htaccess_config($in{'file'});
		$d = $hconf->[$in{'idx'}];
		$file = $in{'file'};
		$return = "files_index.cgi";
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		$logtype = 'files';
		$logname = "$in{'file'}:$d->{'words'}->[0]";
		}
	else {
		# .htaccess file
		$file = $in{'file'};
		$return = "htaccess_index.cgi";
		$logtype = 'htaccess'; $logname = $in{'file'};
		}
	}

&lock_file($file);
$in{'directives'} =~ s/\r//g;
$in{'directives'} =~ s/\s+$//;
@dirs = split(/\n/, $in{'directives'});
$lref = &read_file_lines($file);
if (!defined($start)) {
	$start = 0;
	$end = @$lref - 1;
	}
splice(@$lref, $start, $end-$start+1, @dirs);
&flush_file_lines();
&unlock_file($file);
&webmin_log($logtype, "manual", $logname, \%in);

foreach $h ('virt', 'idx', 'file') {
	push(@args, "$h=$in{$h}") if (defined($in{$h}));
	}
&redirect("$return?".join("&", @args));

   0707010005c578000081a40000000000000002000000013d1fe2d100000c50000000200000000000000000000000000000001b00000003reloc/apache/mod_access.pl    # mod_access.pl
# Defines editors for host restriction directives

sub mod_access_directives
{
local($rv);
$rv = [ [ 'allow deny order', 1, 4, 'directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_access");
}

sub edit_allow_deny_order
{
local($d, @w, $i, @type, @mode, @what, $rv);
foreach $d (@{$_[0]}, @{$_[1]}) {
	@w = split(/\s+/, $d->{'value'});
	for($i=1; $i<@w; $i++) {
		push(@type, lc($d->{'name'}) eq "allow" ? 1 : 2);
		push(@what, $w[$i]);
		if ($w[$i] =~ /^env=(\S+)$/) {
			$what[$#what] = $1;
			push(@mode, 6);
			}
		elsif ($w[$i] =~ /^[0-9\.]+\/[0-9]+$/) { push(@mode, 5); }
		elsif ($w[$i] =~ /^[0-9\.]+\/[0-9\.]+$/) { push(@mode, 4); }
		elsif ($w[$i] =~ /^\d+\.\d+\.\d+\.\d+$/) { push(@mode, 2); }
		elsif ($w[$i] =~ /^[0-9\.]+$/) { push(@mode, 3); }
		elsif ($w[$i] eq "all") { push(@mode, 0); }
		else { push(@mode, 1); }
		}
	}
push(@type, ""); push(@what, ""); push(@mode, 0);
$rv = "<i>$text{'mod_access_order'}</i>\n".
      &choice_input($_[2]->[0]->{'value'}, "order", "",
       "$text{'mod_access_denyallow'},deny,allow", "$text{'mod_access_allowdeny'},allow,deny",
       "$text{'mod_access_mutual'},mutual-failure", "$text{'mod_access_default'},")."<br>\n";
$rv .= "<table border>\n".
       "<tr $tb> <td><b>$text{'mod_access_action'}</b></td> <td><b>$text{'mod_access_cond'}</b></td> </tr>\n";
@sels = ("$text{'mod_access_all'},0", "$text{'mod_access_host'},1",
	 "$text{'mod_access_ip'},2", "$text{'mod_access_pip'},3");
if ($_[3]->{'version'} >= 1.3) {
	push(@sels, "$text{'mod_access_mask'},4",
		    "$text{'mod_access_cidr'},5");
	}
if ($_[3]->{'version'} >= 1.2) {
	push(@sels, "$text{'mod_access_var'},6");
	}
for($i=0; $i<@type; $i++) {
	$rv .= "<tr $cb> <td>".&select_input($type[$i], "allow_type_$i", "",
	       ",0", "$text{'mod_access_allow'},1", "$text{'mod_access_deny'},2")."</td>\n";
	$rv .= "<td>".&select_input($mode[$i], "allow_mode_$i", "0", @sels);
	$rv .= sprintf "<input name=allow_what_$i size=20 value=\"%s\"></td>\n",
	        $mode[$i] ? $what[$i] : "";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_access_restr'}", $rv);
}
sub save_allow_deny_order
{
local($i, $type, $mode, $what, @allow, @deny);
for($i=0; defined($type = $in{"allow_type_$i"}); $i++) {
	$mode = $in{"allow_mode_$i"}; $what = $in{"allow_what_$i"};
	if (!$type) { next; }
	if ($mode == 0) { $what = "all"; }
	elsif ($mode == 2 && !&check_ipaddress($what)) {
		&error(&text('mod_access_eip', $what));
		}
	elsif ($mode == 3 && $what !~ /^[0-9\.]+$/) {
		&error(&text('mod_access_epip', $what));
		}
	elsif ($mode == 4 && ($what !~ /^([0-9\.]+)\/([0-9\.]+)$/ ||
	       !&check_ipaddress($1) || !&check_ipaddress($2))) {
		&error(&text('mod_access_emask', $what));
		}
	elsif ($mode == 5 && ($what !~ /^([0-9\.]+)\/([0-9]+)$/ ||
	       !&check_ipaddress($1) || $2 > 32)) {
		&error(&text('mod_access_ecidr', $what));
		}
	elsif ($mode == 6) {
		$what =~ /^\S+$/ ||
			&error(&text('mod_access_evar', $what));
		$what = "env=$what";
		}
	if ($type == 1) { push(@allow, "from $what"); }
	else { push(@deny, "from $what"); }
	}
return ( \@allow, \@deny, &parse_choice("order", ""));
}

1;

0707010005c579000081a40000000000000002000000013d1fe2d100000a3a000000200000000000000000000000000000001c00000003reloc/apache/mod_actions.pl   # mod_actions.pl
# Defines editors for CGI actions

sub mod_actions_directives
{
$rv = [ [ 'Action', 1, 11, 'virtual directory htaccess', undef, 5 ],
        [ 'Script', 1, 11, 'virtual directory' ] ];
return &make_directives($rv, $_[0], "mod_actions");
}

sub mod_actions_handlers
{
local($d, @rv);
foreach $d (&find_all_directives($_[0], "Action")) {
	if ($d->{'words'}->[0] =~ /^[A-z0-9\-\_]+$/) {
		push(@rv, $d->{'words'}->[0]);
		}
	}
return @rv;
}

sub edit_Action
{
local($rv, $len, $i, $type, $cgi);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_actions_mime'}</b></td> <td><b>$text{'mod_actions_cgiurl'}</b></td> </tr>";
$len = @{$_[0]}+1;
for($i=0; $i<$len; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) {
		$type = $1; $cgi = $2;
		}
	else { $type = $cgi = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=Action_type_$i size=20 value=\"$type\"></td>\n";
	$rv .= "<td><input name=Action_cgi_$i size=40 value=\"$cgi\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_actions_mimecgi'}", $rv);
}
sub save_Action
{
local($i, $cgi, $type, @rv);
for($i=0; defined($in{"Action_type_$i"}); $i++) {
	$type = $in{"Action_type_$i"}; $cgi = $in{"Action_cgi_$i"};
	if ($type !~ /\S/ && $cgi !~ /\S/) { next; }
	$type =~ /^(\S+)$/ || &error(&text('mod_actions_emime', $type));
	$cgi =~ /^\/(\S+)$/ || &error(&text('mod_actions_ecgi', $cgi));
	push(@rv, "$type $cgi");
	}
return ( \@rv );
}

sub edit_Script
{
local($rv, $len, $i, $meth, $cgi, $m, $found);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_actions_http'}</b></td> <td><b>$text{'mod_actions_cgi'}</b></td> </tr>";
$len = @{$_[0]}+1;
for($i=0; $i<$len; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) {
		$meth = $1; $cgi = $2;
		}
	else { $meth = $cgi = ""; }
	$rv .= "<tr $cb><td><select name=Script_meth_$i>\n";
	foreach $m ("", "GET", "POST", "PUT", "DELETE") {
		$rv .= sprintf "<option %s>$m\n", $meth eq $m ? "selected" : "";
		$found++ if ($meth eq $m);
		}
	printf "<option selected>$meth\n" if (!$found);
	$rv .= "</select></td>\n";
	$rv .= "<td><input name=Script_cgi_$i size=40 value=\"$cgi\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_actions_httpcgi'}", $rv);
}
sub save_Script
{
local($i, @rv, $meth, $cgi);
for($i=0; defined($in{"Script_meth_$i"}); $i++) {
	$meth = $in{"Script_meth_$i"}; $cgi = $in{"Script_cgi_$i"};
	if (!$meth && $cgi !~ /\S/) { next; }
	$meth || &error(&text('mod_actions_enometh', $cgi));
	$cgi =~ /^\/(\S+)$/ || &error(&text('mod_actions_ecgi', $cgi));
	push(@rv, "$meth $cgi");
	}
return ( \@rv );
}

1;

  0707010005c57a000081a40000000000000002000000013d1fe2d1000014c9000000200000000000000000000000000000001a00000003reloc/apache/mod_alias.pl # mod_alias.pl
# Defines editors for alias module directives

sub mod_alias_directives
{
$rv = [ [ 'Alias', 1, 10, 'virtual' ],
	[ 'AliasMatch', 1, 10, 'virtual', 1.3 ],
	[ 'Redirect', 1, 10, 'virtual directory htaccess', 1.2 ],
	[ 'Redirect', 1, 10, 'virtual', '-1.2' ],
	[ 'RedirectMatch', 1, 10, 'virtual', 1.3 ],
	[ 'RedirectTemp', 1, 10, 'virtual directory htaccess', 1.2 ],
	[ 'RedirectPermanent', 1, 10, 'virtual directory htaccess', 1.2 ],
	[ 'ScriptAlias', 1, 11, 'virtual', undef, 10 ],
	[ 'ScriptAliasMatch', 1, 11, 'virtual', 1.3, 10 ] ];
return &make_directives($rv, $_[0], "mod_alias");
}

# alias_input(array, name, title)
sub alias_input
{
local($rv, $len, $i, $from, $to);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_alias_from'}</b></td> <td><b>$text{'mod_alias_to'}</b></td> </tr>\n";
$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
	$from = $_[0]->[$i]->{'words'}->[0];
	$to = $_[0]->[$i]->{'words'}->[1];
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=$_[1]_from_$i size=20 value=\"$from\"></td>\n";
	$rv .= "<td><input name=$_[1]_to_$i size=40 value=\"$to\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $_[2], $rv);
}

%alias_statmap = ("permanent", 301,  "temp", 302,
		  "seeother", 303,   "gone", 410);
#$url_regexp = '^(http|ftp|gopher|https|mailto|telnet):(\S+)$';
$url_regexp = '^\S+$';

# alias_status_input(array, name, title)
sub alias_status_input
{
local($rv, $len, $i, $from, $to, $stat);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_alias_from'}</b></td> <td><b>$text{'mod_alias_status'}</b></td> <td><b>$text{'mod_alias_to'}</b></td> </tr>\n";
$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
	if ($_[0]->[$i]->{'words'}->[0] =~ /^(permanent|temp|seeother|gone|\d+)$/) {
		$stat = $_[0]->[$i]->{'words'}->[0];
		$from = $_[0]->[$i]->{'words'}->[1];
		$to = $_[0]->[$i]->{'words'}->[2];
		if ($alias_statmap{$stat}) { $stat = $alias_statmap{$stat}; }
		}
	else {
		$stat = "";
		$from = $_[0]->[$i]->{'words'}->[0];
		$to = $_[0]->[$i]->{'words'}->[1];
		}
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=$_[1]_from_$i size=20 value=\"$from\"></td>\n";
	$rv .= "<td><input name=$_[1]_stat_$i size=4 value=\"$stat\"></td>\n";
	$rv .= "<td><input name=$_[1]_to_$i size=40 value=\"$to\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $_[2], $rv);
}

# parse_alias(name, title, regexp)
sub parse_alias
{
local($re, @rv, $i, $from, $to);
$re = $_[2];
for($i=0; defined($in{"$_[0]_from_$i"}); $i++) {
	$from = $in{"$_[0]_from_$i"}; $to = $in{"$_[0]_to_$i"};
	if ($from !~ /\S/ && $to !~ /\S/) { next; }
	if ($from !~ /^\S+$/) { &error(&text('mod_alias_efrom', $from, $_[1])); }
	if ($to !~ /$re/) { &error(&text('mod_alias_edest', $to, $_[1])); }
	push(@rv, "$from $to");
	}
return ( \@rv );
}

# parse_alias_status(name, title, regexp)
sub parse_alias_status
{
local($re, @rv, $i, $from, $to, $stat);
$re = $_[2];
for($i=0; defined($in{"$_[0]_from_$i"}); $i++) {
	$from = $in{"$_[0]_from_$i"};
	$to = $in{"$_[0]_to_$i"};
	$stat = $in{"$_[0]_stat_$i"};
	if ($from !~ /\S/ && $to !~ /\S/) { next; }
	if ($from !~ /^\S+$/) { &error(&text('mod_alias_efrom', $from, $_[1])); }
	if ($stat !~ /^(\d*)$/) { &error(&text('mod_alias_estatus', $stat)); }
	if (!$stat || $stat >= 300 && $stat <= 399) {
		if ($to !~ /$re/) {
			&error(&text('mod_alias_edest', $to, $_[1]));
			}
		}
	else { $to = ""; }
	if ($stat) { push(@rv, "$stat $from $to"); }
	else { push(@rv, "$from $to"); }
	}
return ( \@rv );
}

sub edit_Alias
{
return &alias_input($_[0], "Alias", $text{'mod_alias_alias'});
}
sub save_Alias
{
return &parse_alias("Alias", $text{'mod_alias_alias2'}, '^\S+$');
}

sub edit_AliasMatch
{
return &alias_input($_[0], "AliasMatch", $text{'mod_alias_regexp'});
}
sub save_AliasMatch
{
return &parse_alias("AliasMatch", $text{'mod_alias_regexp2'}, '^\S+$');
}

sub edit_Redirect
{
if ($_[1]->{'version'} >= 1.2) {
	return &alias_status_input($_[0], "Redirect", $text{'mod_alias_redir'});
	}
else { return &alias_input($_[0], "Redirect", $text{'mod_alias_redir'}); }
}
sub save_Redirect
{
if ($_[0]->{'version'} >= 1.2) {
	return &parse_alias_status("Redirect", $text{'mod_alias_redir2'}, $url_regexp);
	}
else { return &parse_alias("Redirect", $text{'mod_alias_redir2'}, $url_regexp); }
}

sub edit_RedirectMatch
{
return &alias_status_input($_[0], "RedirectMatch", $text{'mod_alias_rredir'});
}
sub save_RedirectMatch
{
return &parse_alias_status("RedirectMatch", $text{'mod_alias_rredir2'}, $url_regexp);
}

sub edit_RedirectTemp
{
return &alias_input($_[0], "RedirectTemp", $text{'mod_alias_tredir'});
}
sub save_RedirectTemp
{
return &parse_alias("RedirectTemp", $text{'mod_alias_tredir2'}, $url_regexp);
}

sub edit_RedirectPermanent
{
return &alias_input($_[0], "RedirectPermanent", $text{'mod_alias_predir'});
}
sub save_RedirectPermanent
{
return &parse_alias("RedirectPermanent", $text{'mod_alias_predir2'}, $url_regexp);
}

sub edit_ScriptAlias
{
return &alias_input($_[0], "ScriptAlias", $text{'mod_alias_cgi'});
}
sub save_ScriptAlias
{
return &parse_alias("ScriptAlias", $text{'mod_alias_cgi2'}, '^\S+$');
}

sub edit_ScriptAliasMatch
{
return &alias_input($_[0], "ScriptAliasMatch", $text{'mod_alias_rcgi'});
}
sub save_ScriptAliasMatch
{
return &parse_alias("ScriptAliasMatch", $text{'mod_alias_rcgi2'}, '^\S+$');
}

1;
   0707010005c57b000081a40000000000000002000000013d1fe2d10000007d000000200000000000000000000000000000001900000003reloc/apache/mod_asis.pl  # mod_asis.pl
# No directives

sub mod_asis_directives
{
return ();
}

sub mod_asis_handlers
{
return ("send-as-is");
}

1;

   0707010005c57c000081a40000000000000002000000013d1fe2d10000075b000000200000000000000000000000000000001900000003reloc/apache/mod_auth.pl  # mod_auth.pl
# Defines editors for text-file authentication directives

sub mod_auth_directives
{
local($rv);
$rv = [ [ 'AuthUserFile AuthGroupFile AuthAuthoritative', 0, 4, 'directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_auth");
}

sub edit_AuthUserFile_AuthGroupFile_AuthAuthoritative
{
local($rv, $uf, $gf);
$uf = $_[0] ? 1 : 0; $gf = $_[1] ? 1 : 0;
$rv = "<table border><tr><td><table>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_ufile'}</b></td> <td>".
       &opt_input($_[0]->{'value'}, "AuthUserFile", $text{'default'}, 25).
       &file_chooser_button("AuthUserFile", 0).
       ($uf ? "&nbsp;<a href=\"list_authusers.cgi?file=".$_[0]->{'value'}.
       "&url=".&urlize(&this_url())."\">$text{'mod_auth_uedit'}</a>" : "")."</td></tr>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_gfile'}</b></td> <td>".
       &opt_input($_[1]->{'value'}, "AuthGroupFile", $text{'default'}, 25).
       &file_chooser_button("AuthGroupFile", 0).
       ($gf ? "&nbsp;<a href=\"list_authgroups.cgi?file=".$_[1]->{'value'}.
       "&url=".&urlize(&this_url())."\">$text{'mod_auth_gedit'}</a>" : "")."</td></tr>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_pass'}</b></td> <td>".
       &choice_input($_[2]->{'value'}, "AuthAuthoritative", "",
       "$text{'yes'},off", "$text{'no'},on", "$text{'default'},").
       "</td> </tr>\n";
$rv .= "</table></td></tr></table>\n";
return (2, "$text{'mod_auth_auth'}", $rv);
}
sub save_AuthUserFile_AuthGroupFile_AuthAuthoritative
{
$in{'AuthUserFile_def'} || &allowed_auth_file($in{'AuthUserFile'}) ||
	&error($text{'mod_auth_eudir'});
$in{'AuthGroupFile_def'} || &allowed_auth_file($in{'AuthGroupFile'}) ||
	&error($text{'mod_auth_egdir'});
return (&parse_opt("AuthUserFile", '^\S+$', $text{'mod_auth_eufile'}) ,
        &parse_opt("AuthGroupFile", '^\S+$', $text{'mod_auth_egfile'}) ,
        &parse_choice("AuthAuthoritative", ""));
}

1;

 0707010005c57d000081a40000000000000002000000013d1fe2d100000728000000200000000000000000000000000000001d00000003reloc/apache/mod_auth_dbm.pl  # mod_auth_dbm.pl
# Defines editors for DBM file authentication directives

sub mod_auth_dbm_directives
{
local($rv);
$rv = [ [ 'AuthDBMUserFile AuthDBMGroupFile AuthDBMAuthoritative', 0, 4, 'directory htaccess' ],
	[ 'AuthDBMType', 0, 4, 'directory htaccess', 2.030, -1 ] ];
return &make_directives($rv, $_[0], "mod_auth_dbm");
}

sub edit_AuthDBMUserFile_AuthDBMGroupFile_AuthDBMAuthoritative
{
local($rv, $uf, $gf);
$uf = $_[0] ? 1 : 0; $gf = $_[1] ? 1 : 0;
$rv = "<table border><tr><td><table>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_dbm_ufile'}</b></td> <td>".
       &opt_input($_[0]->{'value'}, "AuthDBMUserFile", $text{'default'}, 25).
       &file_chooser_button("AuthDBMUserFile", 0)."</td></tr>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_dbm_gfile'}</b></td> <td>".
       &opt_input($_[1]->{'value'}, "AuthDBMGroupFile", $text{'default'}, 25).
       &file_chooser_button("AuthDBMGroupFile", 0)."</td></tr>\n";

$rv .= "<tr> <td><b>$text{'mod_auth_dbm_pass'}</b></td> <td>".
       &choice_input($_[2]->{'value'}, "AuthDBMAuthoritative", "",
       "$text{'yes'},off", "$text{'no'},on", "$text{'default'},").
       "</td> </tr>\n";
$rv .= "</table></td></tr></table>\n";
return (2, $text{'mod_auth_dbm_auth'}, $rv);
}
sub save_AuthDBMUserFile_AuthDBMGroupFile_AuthDBMAuthoritative
{
local(@rv);
@rv = (&parse_opt("AuthDBMUserFile", '^\S+$', $text{'mod_auth_dbm_eufile'}) ,
       &parse_opt("AuthDBMGroupFile", '^\S+$', $text{'mod_auth_dbm_egfile'}) ,
       &parse_choice("AuthDBMAuthoritative", ""));
return @rv;
}

sub edit_AuthDBMType
{
return (1, $text{'mod_auth_dbm_type'},
	&select_input($_[0]->{'value'}, "AuthDBMType", "",
		      "$text{'default'},", "GDBM,GDBM", "SDBM,SDBM", "DB,DB",
		      "$text{'mod_auth_dbm_default'},default"));
}
sub save_AuthDBMType
{
return &parse_select("AuthDBMType", "");
}

1;

0707010005c57e000081a40000000000000002000000013d1fe2d100000861000000200000000000000000000000000000001e00000003reloc/apache/mod_autoindex.pl # mod_autoindex.pl
# Defines editors automatic index generation

sub mod_autoindex_directives
{
local($rv, $all); $all = 'virtual directory htaccess';
$rv = [ [ 'AddIcon AddIconByType AddIconByEncoding', 1, 12, $all, 1.3, 1 ],
        [ 'DefaultIcon', 0, 12, $all, 1.3, 5 ],
        [ 'AddAlt AddAltByType AddAltByEncoding', 1, 12, $all, 1.3 ],
        [ 'AddDescription', 1, 12, $all, 1.3 ],
        [ 'IndexOptions FancyIndexing', 0, 12, $all, 1.3, 10 ],
        [ 'HeaderName', 0, 12, $all, 1.3, 4 ],
        [ 'ReadmeName', 0, 12, $all, 1.3, 3 ],
        [ 'IndexIgnore', 1, 12, $all, 1.3, 6 ],
	[ 'IndexOrderDefault', 0, 12, $all, 1.304, 2 ] ];
return &make_directives($rv, $_[0], "mod_autoindex");
}

sub edit_IndexOrderDefault
{
local $rv = sprintf
	"<input type=radio name=IndexOrderDefault_def value=1 %s> $text{'mod_autoindex_default'}\n",
	$_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=IndexOrderDefault_def value=0 %s>\n",
	$_[0] ? "checked" : "";
$rv .= "<select name=IndexOrderDefault_asc>\n";
$rv .= sprintf "<option value=Ascending %s>$text{'mod_autoindex_asc'}\n",
		$_[0]->{'words'}->[0] eq "Ascending" ? "selected" : "";
$rv .= sprintf "<option value=Descending %s>$text{'mod_autoindex_descend'}\n",
		$_[0]->{'words'}->[0] eq "Descending" ? "selected" : "";
$rv .= "</select>\n";
$rv .= "<select name=IndexOrderDefault_what>\n";
$rv .= sprintf "<option value=Name %s>$text{'mod_autoindex_name'}\n",
		$_[0]->{'words'}->[1] eq "Name" ? "selected" : "";
$rv .= sprintf "<option value=Date %s>$text{'mod_autoindex_date'}\n",
		$_[0]->{'words'}->[1] eq "Date" ? "selected" : "";
$rv .= sprintf "<option value=Size %s>$text{'mod_autoindex_size'}\n",
		$_[0]->{'words'}->[1] eq "Size" ? "selected" : "";
$rv .= sprintf "<option value=Description %s>$text{'mod_autoindex_desc'}\n",
		$_[0]->{'words'}->[1] eq "Description" ? "selected" : "";
$rv .= "</select>\n";
return (2, "$text{'mod_autoindex_sort'}", $rv);
}
sub save_IndexOrderDefault
{
if ($in{'IndexOrderDefault_def'}) { return ( [ ] ); }
else { return ( [ "$in{'IndexOrderDefault_asc'} $in{'IndexOrderDefault_what'}" ] ); }
}

require 'autoindex.pl';

1;

   0707010005c57f000081a40000000000000002000000013d1fe2d100000112000000200000000000000000000000000000001c00000003reloc/apache/mod_browser.pl   # mod_browser.pl
# Defines editors for directives to set environment variables

sub mod_browser_directives
{
local($rv);
$rv = [ [ 'BrowserMatch BrowserMatchNoCase', 1, 11, 'global' ] ];
return &make_directives($rv, $_[0], "mod_browser");
}

require 'browsermatch.pl';

1;

  0707010005c580000081a40000000000000002000000013d1fe2d100000bd8000000200000000000000000000000000000001a00000003reloc/apache/mod_cache.pl # mod_cache.pl
# Functions that have been moved out of mod_proxy in apache 2.0

sub mod_cache_directives
{
local $rv;
$rv = [ [ 'CacheDefaultExpire', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheEnable CacheDisable', 1, 13.1, 'virtual', 2.0 ],
#	[ 'CacheIgnoreCacheControl', 0, 13.1, 'virtual', 2.0 ],
#	[ 'CacheIgnoreNoLastMod', 0, 13.1, 'virtual', 2.0 ],
        [ 'CacheLastModifiedFactor', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMaxExpire', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheOn', 0, 13.1, 'virtual', 2.0, 10 ] ];
return &make_directives($rv, $_[0], "mod_cache");
}

require 'cache.pl';

sub edit_CacheEnable_CacheDisable
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'cache_enable'}</b></td>\n".
	    "<td><b>$text{'cache_type'}</b></td>\n".
	    "<td><b>$text{'cache_url'}</b></td> </tr>\n";
local ($c, $i = 0);
foreach $c (@{$_[0]}, @{$_[1]}, { }) {
	$rv .= "<tr $cb>\n";
	$rv .= "<td><select name=CacheEnable_e_$i>\n";
	$rv .= sprintf "<option value=0 %s>&nbsp;\n",
			$c ? "" : "selected";
	$rv .= sprintf "<option value=1 %s>%s\n",
			$c->{'name'} eq 'CacheEnable' ? 'selected' : '',
			$text{'yes'};
	$rv .= sprintf "<option value=2 %s>%s\n",
			$c->{'name'} eq 'CacheDisable' ? 'selected' : '',
			$text{'no'};
	$rv .= "</select></td> <td><select name=CacheEnable_t_$i>\n";
	$rv .= sprintf "<option value=disk %s> %s\n",
			$c->{'words'}->[0] eq 'disk' ? 'selected' : '',
			$text{'cache_disk'};
	$rv .= sprintf "<option value=mem %s> %s\n",
			$c->{'words'}->[0] eq 'mem' ? 'selected' : '',
			$text{'cache_mem'};
	$rv .= "</select></td>\n";
	$rv .= sprintf "<td><input name=CacheEnable_u_$i size=20 value='%s'></td>\n", $c->{'name'} eq 'CacheEnable' ? $c->{'words'}->[1] : $c->{'words'}->[0];
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'cache_endis'}, $rv);
}
sub save_CacheEnable_CacheDisable
{
local ($i, @en, @dis);
for($i=0; defined($in{"CacheEnable_e_$i"}); $i++) {
	next if (!$in{"CacheEnable_e_$i"});
	$in{"CacheEnable_u_$i"} =~ /^\S+$/ || &error($text{'cache_eurl'});
	if ($in{"CacheEnable_e_$i"} == 1) {
		push(@en, $in{"CacheEnable_t_$i"}." ".$in{"CacheEnable_u_$i"});
		}
	else {
		push(@dis, $in{"CacheEnable_u_$i"});
		}
	}
return ( \@en, \@dis );
}

sub edit_CacheIgnoreCacheControl
{
return (1, $text{'cache_control'},
        &choice_input($_[0]->{'value'}, "CacheIgnoreCacheControl", "off",
                      "$text{'yes'},on", "$text{'no'},off"));
}
sub save_CacheIgnoreCacheControl
{
return &parse_choice("CacheIgnoreCacheControl", "off");
}

sub edit_CacheIgnoreNoLastMod
{
return (1, $text{'cache_lastmod'},
        &choice_input($_[0]->{'value'}, "CacheIgnoreNoLastMod", "off",
                      "$text{'yes'},on", "$text{'no'},off"));
}
sub save_CacheIgnoreNoLastMod
{
return &parse_choice("CacheIgnoreNoLastMod", "off");
}

sub edit_CacheOn
{
return (1, $text{'cache_on'},
        &choice_input($_[0]->{'value'}, "CacheOn", "off",
                      "$text{'yes'},on", "$text{'no'},off"));
}
sub save_CacheOn
{
return &parse_choice("CacheOn", "off");
}

0707010005c581000081a40000000000000002000000013d1fe2d100000480000000200000000000000000000000000000001e00000003reloc/apache/mod_cern_meta.pl # mod_cern_meta.pl
# Defines editors CERN metafile directives

sub mod_cern_meta_directives
{
local($rv);
$rv = [ [ 'MetaFiles', 0, 5, 'directory', 1.3 ],
        [ 'MetaDir', 0, 5, 'server', -1.3 ],
        [ 'MetaDir', 0, 5, 'directory', 1.3 ],
        [ 'MetaSuffix', 0, 5, 'server', -1.3 ],
        [ 'MetaSuffix', 0, 5, 'directory', 1.3 ] ];
return &make_directives($rv, $_[0], "mod_cern_meta");
}

sub edit_MetaFiles
{
return (1, "$text{'mod_cern_meta_process'}",
        &choice_input($_[0]->{'value'}, "MetaFiles", "off",
        "$text{'yes'},on", "$text{'no'},off"));
}
sub save_MetaFiles
{
return &parse_choice("MetaFiles", "off");
}

sub edit_MetaDir
{
return (1, "$text{'mod_cern_meta_dir'}",
        &opt_input($_[0]->{'value'}, "MetaDir", "$text{'mod_cern_meta_default'}", 8));
}
sub save_MetaDir
{
return &parse_opt("MetaDir", '^\S+$', "$text{'mod_cern_meta_edir'}");
}

sub edit_MetaSuffix
{
return (1, "$text{'mod_cern_meta_suffix'}",
        &opt_input($_[0]->{'value'}, "MetaSuffix", "$text{'mod_cern_meta_default2'}", 15));
}
sub save_MetaSuffix
{
return &parse_opt("MetaSuffix", '^\S+$', "$text{'mod_cern_meta_esuffix'}");
}

1;

0707010005c582000081a40000000000000002000000013d1fe2d100000508000000200000000000000000000000000000001800000003reloc/apache/mod_cgi.pl   # mod_cgi.pl
# Defines editors CGI logging directives

sub mod_cgi_directives
{
local($rv);
$rv = [ [ 'ScriptLog', 0, 11, 'global', 1.2 ],
        [ 'ScriptLogLength', 0, 11, 'global', 1.2 ],
        [ 'ScriptLogBuffer', 0, 11, 'global', 1.2 ] ];
return &make_directives($rv, $_[0], "mod_cgi");
}

sub mod_cgi_handlers
{
return ("cgi-script");
}

sub edit_ScriptLog
{
return (1, "$text{'mod_cgi_logname'}",
        &opt_input($_[0]->{'value'}, "ScriptLog", "$text{'mod_cgi_none'}", 20).
        &file_chooser_button("ScriptLog", 0));
}
sub save_ScriptLog
{
$in{'ScriptLog_def'} || &allowed_auth_file($in{'ScriptLog'}) ||
	&error($text{'mod_cgi_eunder'});
return &parse_opt("ScriptLog", '^\S+$', "$text{'mod_cgi_elogname'}");
}

sub edit_ScriptLogLength
{
return (1, "$text{'mod_cgi_logsize'}",
        &opt_input($_[0]->{'value'}, "ScriptLogLength", "$text{'mod_cgi_default'}", 8)
		.$text{'bytes'});
}
sub save_ScriptLogLength
{
return &parse_opt("ScriptLogLength", '^\d+$', "$text{'mod_cgi_elogsize'}");
}

sub edit_ScriptLogBuffer
{
return (1, "$text{'mod_cgi_post'}",
        &opt_input($_[0]->{'value'}, "ScriptLogBuffer", "$text{'mod_cgi_default'}", 6)
		.$text{'bytes'});
}
sub save_ScriptLogBuffer
{
return &parse_opt("ScriptLogBuffer", '^\d+$', "$text{'mod_cgi_epost'}");
}

1;

0707010005c583000081a40000000000000002000000013d1fe2d10000043d000000200000000000000000000000000000001800000003reloc/apache/mod_dir.pl   # mod_dir.pl
# Defines editors for mod_dir directives

sub mod_dir_directives
{
local($rv, $all); $all = 'virtual directory htaccess';
$rv = [ [ 'DirectoryIndex', 0, 12, 'virtual directory htaccess', undef, 8 ],
	[ 'AddIcon AddIconByType AddIconByEncoding', 1, 12, $all, -1.3, 1 ],
        [ 'DefaultIcon', 0, 12, $all, -1.3, 4 ],
        [ 'AddAlt AddAltByType AddAltByEncoding', 1, 12, $all, -1.3 ],
        [ 'AddDescription', 1, 12, $all, -1.3 ],
        [ 'IndexOptions FancyIndexing', 0, 12, $all, -1.3, 10 ],
        [ 'HeaderName', 0, 12, $all, -1.3, 3 ],
        [ 'ReadmeName', 0, 12, $all, -1.3, 2 ],
        [ 'IndexIgnore', 1, 12, $all, -1.3, 6 ] ];
return &make_directives($rv, $_[0], "mod_dir");
}

sub edit_DirectoryIndex
{
local($rv);
$rv = sprintf "<textarea name=DirectoryIndex rows=5 cols=20>%s</textarea>\n",
        join("\n", split(/\s+/, $_[0]->{'value'}));
return (1, "$text{'mod_dir_txt'}", $rv);
}
sub save_DirectoryIndex
{
local(@di);
@di = split(/\s+/, $in{'DirectoryIndex'});
return @di ? ( [ join(' ', @di) ] ) : ( [ ] );
}

require 'autoindex.pl';

1;

   0707010005c584000081a40000000000000002000000013d1fe2d10000041a000000200000000000000000000000000000001f00000003reloc/apache/mod_disk_cache.pl    # mod_disk_cache.pl
# Disk-caching related functions

sub mod_disk_cache_directives
{
local $rv;
$rv = [ [ 'CacheRoot', 0, 13.1, 'virtual', 2.0 ],
        [ 'CacheSize', 0, 13.1, 'virtual', 2.0 ],
        [ 'CacheGcInterval', 0, 13.1, 'virtual', 2.0 ],
        [ 'CacheDirLevels', 0, 13.1, 'virtual', 2.0 ],
        [ 'CacheDirLength', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMinFileSize', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMaxFileSize', 0, 13.1, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_disk_cache");
}

require 'cache.pl';

sub edit_CacheMinFileSize
{
return (1, $text{'cache_minfs'},
	&opt_input($_[0]->{'value'}, "CacheMinFileSize", $text{'default'}, 8));
}
sub save_CacheMinFileSize
{
return &parse_opt("CacheMinFileSize", '^\d+$', $text{'cache_eminfs'});
}

sub edit_CacheMaxFileSize
{
return (1, $text{'cache_maxfs'},
	&opt_input($_[0]->{'value'}, "CacheMaxFileSize", $text{'default'}, 8));
}
sub save_CacheMaxFileSize
{
return &parse_opt("CacheMaxFileSize", '^\d+$', $text{'cache_emaxfs'});
}

# XXX new stuff in mod_proxy

  0707010005c585000081a40000000000000002000000013d1fe2d10000081d000000200000000000000000000000000000001800000003reloc/apache/mod_env.pl   # mod_env.pl
# Defines editors for passing variables to CGI scripts

sub mod_env_directives
{
local($rv);
$rv = [ [ 'PassEnv UnsetEnv SetEnv', 1, 11, 'virtual', -1.309 ],
	[ 'PassEnv UnsetEnv SetEnv', 1, 11, 'virtual directory', 1.309 ] ];
return &make_directives($rv, $_[0], "mod_env");
}

sub edit_PassEnv_UnsetEnv_SetEnv
{
local($d, $e, @var, @mode, @val, $i, $rv);
foreach $d (@{$_[0]}, @{$_[1]}, @{$_[2]}) {
	if ($d->{'name'} ne "SetEnv") {
		foreach $e (@{$d->{'words'}}) {
			push(@var, $e);
			push(@mode, $d->{'name'} eq "PassEnv" ? 0 : 1);
			push(@val, "");
			}
		}
	else {
		push(@var, $d->{'words'}->[0]);
		push(@mode, 2);
		push(@val, $d->{'words'}->[1]);
		}
	}
push(@var, ""); push(@mode, 0); push(@val, "");
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_env_var'}</b></td> <td><b>$text{'mod_env_value'}</b></td> </tr>\n";
for($i=0; $i<@var; $i++) {
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=Env_var_$i size=20 value=\"$var[$i]\"></td>\n";
	$rv .= "<td>".&choice_input($mode[$i], "Env_mode_$i", 0,
	                            "$text{'mod_env_pass'},0", "$text{'mod_env_clear'},1", "$text{'mod_env_set'},2");
	$rv .= "<input name=Env_val_$i size=20 value=\"$val[$i]\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_env_cgivar'}", $rv);
}
sub save_PassEnv_UnsetEnv_SetEnv
{
local($i, $var, $mode, $val, @pa, @uns, @se);
for($i=0; defined($var = $in{"Env_var_$i"}); $i++) {
	$mode = $in{"Env_mode_$i"}; $val = $in{"Env_val_$i"};
	if ($var !~ /\S/ && $val !~ /\S/) { next; }
	$var =~ /^\S+$/ || &error(&text('mod_env_evar', $var));
	if ($mode == 0) { push(@pa, $var); }
	elsif ($mode == 1) { push(@uns, $var); }
	elsif ($var !~ /^\S+$/) {
		&error(&text('mod_env_evalue', $var));
		}
	else { push(@se, "$var \"$val\""); }
	}
return ( \@pa, \@uns, \@se );
}

sub edit_PassEnvAll
{
return (1, "$text{'mod_env_passall'}",
	&choice_input($_[0]->{'value'}, "PassEnvAll",
		      "", "$text{'yes'},on", "$text{'no'},off", "$text{'mod_env_default'},"));
}
sub save_PassEnvAll
{
return &parse_choice("PassEnvAll");
}

1;

   0707010005c586000081a40000000000000002000000013d1fe2d100000cdf000000200000000000000000000000000000002300000003reloc/apache/mod_expires.pl.broken    # mod_expires.pl
# Defines editors for setting expires times

sub mod_expires_directives
{
local($rv);
$rv = [ [ 'ExpiresActive ExpiresByType ExpiresDefault', 1, 5,
          'virtual directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_expires");
}

sub edit_ExpiresActive_ExpiresByType_ExpiresDefault
{
local($rv, $max, $i);
$rv = "Generate Expires headers?\n".
      &choice_input($_[0]->[0]->{'value'}, "ExpiresActive", "off",
      "Yes,on", "No,off")."<br>\n";
$rv .= "Default expiry time?\n";
$rv .= sprintf "<input type=radio name=ExpireDefault_def value=1 %s> None\n",
        $_[2]->[0] ? "" : "checked";
$rv .= sprintf "&nbsp; <input type=radio name=ExpireDefault_def value=2 %s>\n",
        $_[2]->[0] ? "checked" : "";
$rv .= &expires_input("ExpiresDefault", $_[2]->[0]->{'value'})."<br>\n";
$rv .= "<table border>\n".
       "<tr $tb> <td><b>MIME type</b></td> <td><b>Expiry time</b></td> </tr>\n";
$max = @{$_[1]} + 1;
for($i=0; $i<$max; $i++) {
	if ($_[1]->[$i]->{'value'} =~ /^(\S+)\s+(.*)$/) {
		$type = $1; $when = $2;
		}
	else { $type = $when = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=Expires_type_$i size=15 value=\"$type\"></td>\n";
	$rv .= "<td>".&expires_input("Expires_when_$i", $when)."</td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "Expires headers", $rv);
}
sub save_Expires
{
local($i, $type, @rv);
for($i=0; defined($type = $in{"Expires_type_$i"}); $i++) {
	if ($type !~ /\S/) { next; }
	$type =~ /^(\S+)\/(\S+)$/ || &error("'$type' is not a valid MIME type");
	push(@rv, "$type ".&parse_expires("Expires_when_$i"));
	}
return ( &parse_choice("ExpiresActive", "off"),
         \@rv,
         $in{'ExpiresDefault_def'} ? [ ] : &parse_expires("ExpiresDefault") );
}

@Expires_units = (60, 60, 24, 30, 365);
@Expires_words = ('second', 'minute', 'hour', 'day', 'week', 'month', 'year');

# expires_input(name, value)
sub expires_input
{
local(@tm, @w, $i, $rv, $from, $secs);
if ($_[1] =~ /^"(\S+)\s+(plus\s+)?(.*)"$/) {
	@w = split(/\s+/, $3);
	$from = ($1 =~ /access|now/ ? "A" : "M");
	@tm = (0, 0, 0, 0, 0, 0, 0);
	for($i=0; $i<@w; $i+=2) {
		$w[$i+1] =~ s/s$//g;
		$tm[&indexof($w[$i+1], @Expires_words)] = $w[$i];
		}
	}
elsif ($_[1] =~ /^(A|M)(\d+)$/) {
	$from = $1;
	$secs = $2;
	for($i=0; $i<@Expires_units; $i++) {
		push(@tm, $secs % $Expires_units[$i]);
		$secs = int($secs / $Expires_units[$i]);
		}
	push(@tm, $secs);
	splice(@tm, 4, 1, 0);
	}
else {
	$from = "A";
	@tm = (0, 0, 0, 0, 0, 0, 0);
	}
$rv = "<select name=$_[0]_from>\n";
$rv .= sprintf "<option value=M %s>Modification\n",
        $from eq "M" ? "checked" : "";
$rv .= sprintf "<option value=A %s>Access\n",
        $from eq "A" ? "checked" : "";
$rv .= "</select> time plus&nbsp;\n";
for($i=0; $i<7; $i++) {
	$rv .= "<input size=3 name=$_[0]_$i value=\"$tm[$i]\">".
		substr($Expires_words[$i],0,1)."\n";
	}
return $rv;
}

# parse_expires(name)
sub parse_expires
{
local($rv, $i, $v);
$rv = $in{"$_[0]_from"} eq "A" ? "access" : "modification";
$rv .= " plus";
for($i=0; $i<7; $i++) {
	$v = $in{"$_[0]_$i"};
	if ($v !~ /^\d*$/) { &error("'$v' is not a valid number of ".
	                            "$Expires_words[$i]s"); }
	if ($v) { $rv .= " $v $Expires_words[$i]s"; }
	}
if ($rv =~ /plus$/) { $rv .= " 0 seconds"; }
return "\"$rv\"";
}

1;

 0707010005c587000081a40000000000000002000000013d1fe2d100000ab7000000200000000000000000000000000000001f00000003reloc/apache/mod_ext_filter.pl    # mod_ext_filter.pl
# Module for defining filters that are external commands

sub mod_ext_filter_directives
{
local $rv;
$rv = [ [ 'ExtFilterDefine', 1, 18, 'global', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_ext_filter");
}

sub mod_ext_filter_filters
{
local($d, @rv);
print STDERR "looking for ExtFilterDefine\n";
foreach $d (&find_all_directives($_[0], "ExtFilterDefine")) {
	push(@rv, $d->{'words'}->[0]);
	}
return @rv;
}

sub edit_ExtFilterDefine
{
local ($inrv, $outrv);
$outrv = $inrv = "<table border>\n".
	"<tr $tb> <td><b>$text{'filter_name'}</b></td>\n".
	"<td><b>$text{'filter_cmd'}</b></td>\n".
	"<td><b>$text{'filter_intype'}</b></td>\n".
	"<td><b>$text{'filter_outtype'}</b></td>\n".
	"<td><b>$text{'filter_preserve'}</b></td> </tr>\n";
local ($e, $i = 0);
foreach $e (@{$_[0]}, { 'value' => 'mode=output' },
		      { 'value' => 'mode=input' }) {
	local (%p, $str = $e->{'value'});
	while($str =~ /^\s*([^=\s]+)="([^"]*)"(.*)$/ ||
	      $str =~ /^\s*([^=\s]+)=([^=\s]+)(.*)$/ ||
	      $str =~ /^\s*([^=\s]+)()(.*)$/) {
		$p{lc($1)} = $2;
		$str = $3;
		}
	local $l = "<tr $cb>\n";
	local $m = $p{'mode'} ? $p{'mode'} : "output";
	$l .= "<input name=ExtFilterDefine_m_$i type=hidden value='$m'>\n";
	$l .= "<td><input name=ExtFilterDefine_n_$i size=10 value='$e->{'words'}->[0]'></td>\n";
	$l .= "<td><input name=ExtFilterDefine_c_$i size=30 value='$p{'cmd'}'></td>\n";
	$l .= "<td><input name=ExtFilterDefine_i_$i size=12 value='$p{'intype'}'></td>\n";
	$l .= "<td><input name=ExtFilterDefine_o_$i size=12 value='$p{'outtype'}'></td>\n";
	$l .= "<td><input type=checkbox name=ExtFilterDefine_p_$i value=1 ".
		(defined($p{'preservescontentlength'}) ? "checked" : "").
		"> $text{'yes'}</td>\n";
	$l .= "</tr>\n";
	if ($p{'mode'} eq 'input') { $inrv .= $l; }
	else { $outrv .= $l; }
	$i++;
	}
$inrv .= "</table>\n";
$outrv .= "</table>\n";
return (3, undef, "<b>$text{'filter_in'}</b><br>".$inrv."<p>\n".
		  "<b>$text{'filter_out'}</b><br>".$outrv);
}
sub save_ExtFilterDefine
{
local (@rv, $i);
for($i=0; defined($in{"ExtFilterDefine_n_$i"}); $i++) {
	next if (!$in{"ExtFilterDefine_n_$i"});
	$in{"ExtFilterDefine_n_$i"} =~ /^\S+$/ ||
		&error(&text('filter_ename', $in{"ExtFilterDefine_n_$i"}));
	$in{"ExtFilterDefine_c_$i"} ||
		&error(&text('filter_ecmd', $in{"ExtFilterDefine_n_$i"}));
	local $l = $in{"ExtFilterDefine_n_$i"}." mode=".
		   $in{"ExtFilterDefine_m_$i"}." cmd=\"".
		   $in{"ExtFilterDefine_c_$i"}."\"";
	if ($in{"ExtFilterDefine_i_$i"}) {
		$l .= " intype=".$in{"ExtFilterDefine_i_$i"};
		}
	if ($in{"ExtFilterDefine_o_$i"}) {
		$l .= " outtype=".$in{"ExtFilterDefine_o_$i"};
		}
	if ($in{"ExtFilterDefine_p_$i"}) {
		$l .= " PreservesContentLength";
		}
	push(@rv, $l);
	}
return ( \@rv );
}

 0707010005c588000081a40000000000000002000000013d1fe2d100000963000000200000000000000000000000000000001900000003reloc/apache/mod_imap.pl  # mod_imap.pl
# Defines editors for imagemap directives

sub mod_imap_directives
{
$rv = [ [ 'ImapMenu', 0, 5, 'virtual directory htaccess' ],
        [ 'ImapDefault', 0, 5, 'virtual directory htaccess' ],
        [ 'ImapBase', 0, 5, 'virtual directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_imap");
}

sub mod_imap_handlers
{
return ("imap-file");
}

sub edit_ImapMenu
{
return (2, "$text{'mod_imap_action'}",
        &select_input($_[0]->{'value'}, "ImapMenu", "", "$text{'mod_imap_default'},",
         "$text{'mod_imap_dogefurl'},none", "$text{'mod_imap_form'},formatted",
         "$text{'mod_imap_semiform'},semiformatted",
         "$text{'mod_imap_unform'},unformatted"));
}
sub save_ImapMenu
{
return &parse_select("ImapMenu", "");
}

sub edit_ImapDefault
{
local($rv, $v);
if ($_[0]->{'value'} =~ /^\S+:/) { $v = "url"; }
else { $v = $_[0]->{'value'}; }
$rv = &select_input($v, "ImapDefault", "", "$text{'mod_imap_default'},",
       "$text{'mod_imap_disperr'},error",  "$text{'mod_imap_donoth'},nocontent",
       "$text{'mod_imap_goimap'},map", "$text{'mod_imap_goref'},referer",
       "$text{'mod_imap_gourl'},url");
$rv .= sprintf "&nbsp;<input name=ImapDefault_url size=30 value=\"%s\">\n",
        $v eq "url" ? $_[0]->{'value'} : "";
return (2, "$text{'mod_imap_defact'}", $rv);
}
sub save_ImapDefault
{
if ($in{'ImapDefault'} eq "") { return ( [ ] ); }
elsif ($in{'ImapDefault'} ne "url") { return ( [ $in{'ImapDefault'} ] ); }
elsif ($in{'ImapDefault_url'} !~ /^\S+$/) {
	&error(&text('mod_imap_eurl', $in{'ImapDefault_url'}));
	}
else { return ( [ $in{'ImapDefault_url'} ] ); }
}

sub edit_ImapBase
{
local($rv, $v);
if ($_[0]->{'value'} =~ /^\S+:/) { $v = "url"; }
else { $v = $_[0]->{'value'}; }
$rv = &select_input($v, "ImapBase", "", "$text{'mod_imap_default2'},",
       "$text{'mod_imap_root'},root", "$text{'mod_imap_imapurl'},map",
       "$text{'mod_imap_refurl'},referer", "$text{'mod_imap_url'},url");
$rv .= sprintf "&nbsp;<input name=ImapBase_url size=30 value=\"%s\">\n",
        $v eq "url" ? $_[0]->{'value'} : "";
return (2, "$text{'mod_imap_defbase'}", $rv);
}
sub save_ImapBase
{
if ($in{'ImapBase'} eq "") { return ( [ ] ); }
elsif ($in{'ImapBase'} ne "url") { return ( [ $in{'ImapBase'} ] ); }
elsif ($in{'ImapBase_url'} !~ /^\S+$/) {
	&error(&text('mod_imap_eurl', $in{'ImapBase_url'}));
	}
else { return ( [ $in{'ImapBase_url'} ] ); }
}

1;

 0707010005c589000081a40000000000000002000000013d1fe2d100000259000000200000000000000000000000000000001c00000003reloc/apache/mod_include.pl   # mod_include.pl
# Defines editors SSI directives

sub mod_include_directives
{
$rv = [ [ 'XBitHack', 0, 11, 'virtual directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_include");
}

sub mod_include_handlers
{
return ("server-parsed");
}

sub mod_include_filters
{
return ("INCLUDES");
}

sub edit_XBitHack
{
return (2, "$text{'mod_include_incl'}",
        &choice_input($_[0]->{'value'}, "XBitHack", "",
        "$text{'no'},off", "$text{'yes'},on", "$text{'mod_include_set'},full", "$text{'mod_include_default'},"));
}
sub save_XBitHack
{
return &parse_choice("XBitHack", "");
}

1;

   0707010005c58a000081a40000000000000002000000013d1fe2d100000091000000200000000000000000000000000000001900000003reloc/apache/mod_info.pl  # mod_info.pl
# This module defines only handlers

sub mod_info_directives
{
return ();
}

sub mod_info_handlers
{
return ("server-info");
}

1;
   0707010005c58b000081a40000000000000002000000013d1fe2d10000044d000000200000000000000000000000000000001e00000003reloc/apache/mod_log_agent.pl # mod_log_agent.pl
# Defines editors for logging user agents

sub mod_log_agent_directives
{
$rv = [ [ 'AgentLog', 0, 3, 'virtual' ] ];
return &make_directives($rv, $_[0], "mod_log_agent");
}

sub edit_AgentLog
{
local($rv);
$rv = sprintf "<input type=radio name=AgentLog_mode value=0 %s> $text{'mod_log_agent_default'}\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=AgentLog_mode value=1 %s> $text{'mod_log_agent_file'}",
	 $_[0] && $_[0]->{'value'} !~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input type=radio name=AgentLog_mode value=2 %s> $text{'mod_log_agent_program'}",
	 $_[0]->{'value'} =~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input name=AgentLog size=20 value=\"%s\">\n",
        $_[0]->{'value'} =~ /^\|(.*)$/ ? $1 : $_[0]->{'value'};
return (1, "$text{'mod_log_agent_log'}", $rv); 
}
sub save_AgentLog
{
if ($in{'AgentLog_mode'} == 0) { return ( [ ] ); }
$in{'AgentLog'} =~ /^\S+$/ ||
	&error(&text('mod_log_agent_efile', $in{'AgentLog'}));
if ($in{'AgentLog_mode'} == 1) { return ( [ $in{'AgentLog'} ] ); }
else { return ( [ "|$in{'AgentLog'}" ] ); }
}

1;

   0707010005c58c000081a40000000000000002000000013d1fe2d100000490000000200000000000000000000000000000001f00000003reloc/apache/mod_log_common.pl    # mod_log_common.pl
# Defines editors for logging

sub mod_log_common_directives
{
$rv = [ [ 'TransferLog', 0, 3, 'virtual', -1.2 ] ];
return &make_directives($rv, $_[0], "mod_log_common");
}

sub edit_TransferLog
{
local($rv);
$rv = sprintf "<input type=radio name=TransferLog_mode value=0 %s> Default\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=TransferLog_mode value=1 %s> File..",
	 $_[0] && $_[0]->{'value'} !~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input type=radio name=TransferLog_mode value=2 %s> Program..",
	 $_[0]->{'value'} =~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input name=TransferLog size=20 value=\"%s\">\n",
        $_[0]->{'value'} =~ /^\|(.*)$/ ? $1 : $_[0]->{'value'};
return (1, "Access log file", $rv); 
}
sub save_TransferLog
{
if ($in{'TransferLog_mode'} == 0) { return ( [ ] ); }
$in{'TransferLog'} =~ /^\S+$/ ||
	&error("$in{'TransferLog'} is not a valid access log filename");
&allowed_auth_file($in{'TransferLog'}) ||
	&error("access log is not under the allowed directory");
if ($in{'TransferLog_mode'} == 1) { return ( [ $in{'TransferLog'} ] ); }
else { return ( [ "|$in{'TransferLog'}" ] ); }
}

1;

0707010005c58d000081a40000000000000002000000013d1fe2d100001165000000200000000000000000000000000000001f00000003reloc/apache/mod_log_config.pl    # mod_log_config.pl
# Defines editors for logging

sub mod_log_config_directives
{
$rv = [ [ 'LogFormat', 1, 3, 'virtual', 1.2 ],
        [ 'TransferLog CustomLog', 1, 3, 'virtual', 1.2 ] ];
return &make_directives($rv, $_[0], "mod_log_config");
}

sub edit_LogFormat
{
if ($_[1]->{'version'} >= 1.3) {
	local($i, $v, $deffmt, @nick, @fmt, $rv);
	for($i=0; $_[0]->[$i]; $i++) {
		$vv = $_[0]->[$i]->{'words'};
		if ($vv->[1]) {
			push(@nick, $vv->[1]); push(@fmt, $vv->[0]);
			}
		else { $deffmt = $vv->[0]; }
		}
	$rv = &opt_input($deffmt, "LogFormat", "$text{'mod_log_config_common'}", 20);
	$rv .= "<br><b>$text{'mod_log_config_named'}</b><br>\n";
	$rv .= "<table border>\n".
	       "<tr $tb> <td><b>$text{'mod_log_config_nick'}</b></td> <td><b>$text{'mod_log_config_format'}</b></td> </tr>\n";
	for($i=0; $i<=@nick; $i++) {
		$rv .= "<tr $cb> <td><input name=LogFormat_nick_$i size=10 ".
		       "value=\"$nick[$i]\"></td>\n";
		$rv .= "<td><input name=LogFormat_fmt_$i size=40 ".
		       "value='$fmt[$i]'></td> </tr>\n";
		}
	$rv .= "</table>\n";
	return (2, "$text{'mod_log_config_deflog'}", $rv);
	}
else {
	return (1, "$text{'mod_log_config_deflog'}",
		&opt_input($_[0]->[0]->{'words'}->[0],
			   "LogFormat", "$text{'mod_log_config_default'}", 25));
	}
}
sub save_LogFormat
{
$in{'LogFormat'} =~ s/\"/\\\"/g;
if ($_[0]->{'version'} >= 1.3) {
	local(@rv, $i, $nick, $fmt);
	if (!$in{'LogFormat_def'}) { push(@rv, "\"$in{'LogFormat'}\""); }
	for($i=0; defined($in{"LogFormat_nick_$i"}); $i++) {
		$nick = $in{"LogFormat_nick_$i"}; $fmt =$in{"LogFormat_fmt_$i"};
		$fmt =~ s/\"/\\\"/g;
		if ($nick !~ /\S/ && $fmt !~ /\S/) { next; }
		$nick =~ /^\S+$/ || &error(&text('mod_log_config_enick', $nick));
		push(@rv, "\"$fmt\" $nick");
		}
	return ( \@rv );
	}
else {
	if ($in{'LogFormat_def'}) { return ( [ ] ); }
	elsif ($in{'LogFormat'} =~ /^\S+$/) { return ( [ $in{'LogFormat'} ] ); }
	else { return ( [ "\"$in{'LogFormat'}\"" ] ); }
	}
}

sub edit_TransferLog_CustomLog
{
local($rv, @all, $d, $i, $format, $dest);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_log_config_format'}</b></td> <td><b>$text{'mod_log_config_write'}</b></td> ".
      "<td><b>$text{'mod_log_config_filprog'}</b></td> ";
if ($_[2]->{'version'} >= 1.305) {
	$rv .= "<td><b>If set</b></td> ";
	}
$rv .= "</tr>\n";
@all = (@{$_[0]}, @{$_[1]});
for($i=0; $i<=@all; $i++) {
	$d = $all[$i];
	if (!$d) { $format = ""; $dest = ""; }
	elsif ($d->{'name'} eq "CustomLog") {
		$format = $d->{'words'}->[1];
		$dest = $d->{'words'}->[0];
		}
	else { $format = ""; $dest = $d->{'value'}; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input type=radio name=Log_def_$i value=1 ".
              ($format ? "" : "checked")."> $text{'mod_log_config_default'}&nbsp;\n";
	$rv .= "<input type=radio name=Log_def_$i value=0 ".
	       ($format ? "checked" : "")."> <input name=Log_cust_$i size=15 ".
	       "value='$format'></td>\n";

	$rv .= "<td><input type=radio name=Log_prog_$i value=0 ".
	       ($dest =~ /^\|/ ? "" : "checked")."> $text{'mod_log_config_file'}&nbsp;\n";
	$rv .= "<input type=radio name=Log_prog_$i value=1 ".
	       ($dest =~ /^\|/ ? "checked" : "")."> $text{'mod_log_config_program'}</td>\n";

	$dest =~ s/^\|//g;
	$rv .= "<td><input name=Log_dest_$i size=30 value=\"$dest\"></td>\n";
	if ($_[2]->{'version'} >= 1.305) {
		local $ev = $d->{'words'}->[2] =~ /^env=(.*)$/ ? $1 : "";
		$rv .= "<td><input name=Log_env_$i size=8 value=\"$ev\"></td>";
		}
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_log_config_log'}", $rv);
}
sub save_TransferLog_CustomLog
{
local($i, $def, $cust, $prog, $dest, $fileprog, @tl, @cl);
for($i=0; defined($in{"Log_dest_$i"}); $i++) {
	$def = $in{"Log_def_$i"}; $cust = $in{"Log_cust_$i"};
	$prog = $in{"Log_prog_$i"}; $dest = $in{"Log_dest_$i"};
	$env = $in{"Log_env_$i"};
	$cust =~ s/\"/\\\"/g;
	if ($cust !~ /\S/ && $dest !~ /\S/) { next; }
	if (!$def && $cust !~ /\S/) { &error(&text('mod_log_config_eformat', $dest)); }
	if ($dest !~ /\S/) { &error($text{'mod_log_config_enofilprog'}); }
	&allowed_auth_file($dest) ||
		&error(&text('mod_log_config_efilprog', $dest));

	$fileprog = !$prog ? $dest :
		     $dest =~ /^\S+$/ ? "|$dest" : "\"|$dest\"";
	if ($def) {
		if ($env) { &error($text{'mod_log_config_eifset'}); }
		push(@tl, "$fileprog");
		}
	else {
		if ($env) { push(@cl, "$fileprog \"$cust\" env=$env"); }
		else { push(@cl, "$fileprog \"$cust\""); }
		}
	}
return ( \@tl, \@cl );
}

1;

   0707010005c58e000081a40000000000000002000000013d1fe2d100000659000000200000000000000000000000000000002000000003reloc/apache/mod_log_referer.pl   # mod_log_referer.pl
# Defines editors for logging

sub mod_log_referer_directives
{
$rv = [ [ 'RefererLog', 0, 3, 'virtual' ],
        [ 'RefererIgnore', 0, 3, 'virtual' ] ];
return &make_directives($rv, $_[0], "mod_log_referer");
}

sub edit_RefererLog
{
local($rv);
$rv = sprintf "<input type=radio name=RefererLog_mode value=0 %s> $text{'mod_log_referer_default'}\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=RefererLog_mode value=1 %s> $text{'mod_log_referer_file'}",
	 $_[0] && $_[0]->{'value'} !~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input type=radio name=RefererLog_mode value=2 %s> $text{'mod_log_referer_program'}",
	 $_[0]->{'value'} =~ /^\|/ ? "checked" : "";
$rv .= sprintf "<input name=RefererLog size=20 value=\"%s\">\n",
        $_[0]->{'value'} =~ /^\|(.*)$/ ? $1 : $_[0]->{'value'};
return (1, "$text{'mod_log_referer_log'}", $rv); 
}
sub save_RefererLog
{
if ($in{'RefererLog_mode'} == 0) { return ( [ ] ); }
$in{'RefererLog'} =~ /^\S+$/ ||
	&error(&text('mod_log_referer_elog', $in{'RefererLog'}));
&allowed_auth_file($in{'RefererLog'}) ||
	&error($text{'mod_log_referer_edir'});
if ($in{'RefererLog_mode'} == 1) { return ( [ $in{'RefererLog'} ] ); }
else { return ( [ "|$in{'RefererLog'}" ] ); }
}

sub edit_RefererIgnore
{
local($rv);
$rv = "<textarea name=RefererIgnore rows=3 cols=20>".
      join("\n", split(/\s+/, $_[0]->{'value'})).
      "</textarea>\n";
return (1, "$text{'mod_log_referer_nolog'}", $rv);
}
sub save_RefererIgnore
{
local(@rv);
@rv = split(/\s+/, $in{'RefererIgnore'});
if (@rv) { return ( [ join(' ', @rv) ] ); }
else { return ( [ ] ); }
}

1;

   0707010005c58f000081a40000000000000002000000013d1fe2d100000464000000200000000000000000000000000000001e00000003reloc/apache/mod_mem_cache.pl # mod_mem_cache.pl
# Memory-caching related functions

sub mod_mem_cache_directives
{
local $rv;
$rv = [ [ 'CacheSize', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMaxObjectCount', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMinObjectSize', 0, 13.1, 'virtual', 2.0 ],
	[ 'CacheMaxObjectSize', 0, 13.1, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_mem_cache");
}

require 'cache.pl';

sub edit_CacheMaxObjectCount
{
return (1, $text{'cache_maxoc'},
	&opt_input($_[0]->{'value'}, "CacheMaxObjectCount", $text{'default'},8));
}
sub save_CacheMaxObjectCount
{
return &parse_opt("CacheMaxObjectCount", '^\d+$', $text{'cache_emaxoc'});
}

sub edit_CacheMinObjectSize
{
return (1, $text{'cache_minos'},
	&opt_input($_[0]->{'value'}, "CacheMinObjectSize", $text{'default'},8));
}
sub save_CacheMinObjectSize
{
return &parse_opt("CacheMinObjectSize", '^\d+$', $text{'cache_eminos'});
}

sub edit_CacheMaxObjectSize
{
return (1, $text{'cache_maxos'},
	&opt_input($_[0]->{'value'}, "CacheMaxObjectSize", $text{'default'},8));
}
sub save_CacheMaxObjectSize
{
return &parse_opt("CacheMaxObjectSize", '^\d+$', $text{'cache_emaxos'});
}


0707010005c590000081a40000000000000002000000013d1fe2d1000018a8000000200000000000000000000000000000001900000003reloc/apache/mod_mime.pl  # mod_mime.pl
# Defines MIME module directives

sub mod_mime_directives
{
local $rv;
$rv = [ [ 'AddType', 1, 6, 'virtual directory htaccess', undef, 10 ],
	[ 'AddHandler', 1, 6, 'virtual directory htaccess', undef, 6 ],
	[ 'AddOutputFilter', 1, 18, 'virtual directory htaccess', 2.0 ],
	[ 'AddInputFilter', 1, 18, 'virtual directory htaccess', 2.0 ],
	[ 'DefaultLanguage', 0, 19, 'virtual directory htaccess', 1.304 ],
	[ 'RemoveHandler', 1, 6, 'directory htaccess', 1.304, 5 ],
	[ 'RemoveType', 1, 6, 'directory htaccess', 1.313, 5 ],
	[ 'RemoveEncoding', 1, 6, 'directory htaccess', 1.313, 5 ],
	[ 'AddLanguage', 1, 19, 'virtual directory htaccess', undef, 4 ],
	[ 'AddEncoding', 1, 6, 'virtual directory htaccess', undef, 8 ],
	[ 'AddCharset', 1, 19, 'virtual directory htaccess', 1.310, 2 ],
	[ 'ForceType', 0, 6, 'directory htaccess', -2.0 ],
	[ 'SetHandler', 0, 6, 'directory htaccess' ],
	[ 'TypesConfig', 0, 6, 'global' ] ];
return &make_directives($rv, $_[0], "mod_mime");
}

# extmap_input(directive, title, size, desc, list)
sub extmap_input
{
local($rv, $i, $type, $exts);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$_[1]</b></td> <td><b>$text{'mod_mime_ext'}</b></td>\n".
      "<td><b>$_[1]</b></td> <td><b>$text{'mod_mime_ext'}</b></td> </tr>\n";
$len = int(@{$_[4]}/2)*2 + 2;
for($i=0; $i<$len; $i++) {
	if ($i%2 == 0) { $rv .= "<tr $cb>\n"; }
	if ($_[4]->[$i]) {
		$_[4]->[$i]->{'value'} =~ /^(\S+)\s*(.*)$/;
		$type = $1; $exts = $2;
		}
	else { $type = $exts = ""; }
	$rv .= "<td>";
	if ($_[2] eq "h") { $rv .= &handler_input($type, "$_[0]_type_$i"); }
	else { $rv .= "<input name=$_[0]_type_$i size=$_[2] value=$type>"; }
	$rv .= "</td>\n";
	$rv .= "<td><input name=$_[0]_exts_$i size=10 value=\"$exts\"></td>\n";
	if ($i%2 == 1) { $rv .= "</tr>\n"; }
	}
$rv .= "</table>\n";
return (2, $_[3], $rv);
}

# parse_extmap(directive, regexp, desc)
sub parse_extmap
{
local($i, $type, $exts, @rv, $re); $re = $_[1];
for($i=0; defined($in{"$_[0]_type_$i"}); $i++) {
	$type = $in{"$_[0]_type_$i"}; $exts = $in{"$_[0]_exts_$i"};
	if ($type !~ /\S/ && $exts !~ /\S/) { next; }
	if ($type !~ /$re/) { &error(&text('mod_mime_einvalid', $type, $_[2])); }
	if ($exts !~ /\S/) { &error(&text('mod_mime_eext', $_[2], $type)); }
	push(@rv, "$type $exts");
	}
return ( \@rv );
}

sub edit_AddType
{
&extmap_input("AddType", $text{'mod_mime_type'}, 20, $text{'mod_mime_xtype'}, $_[0]);
}
sub save_AddType
{
return &parse_extmap("AddType", '^(\S+)\/(\S+)$',
		     $text{'mod_mime_mtype'});
}

sub edit_AddHandler
{
&extmap_input("AddHandler", $text{'mod_mime_handler'}, "h", $text{'mod_mime_chandl'}, $_[0]);
}
sub save_AddHandler
{
return &parse_extmap("AddHandler");
}

sub edit_AddEncoding
{
&extmap_input("AddEncoding", $text{'mod_mime_cenc'}, 20, $text{'mod_mime_cencs'}, $_[0]);
}
sub save_AddEncoding
{
return &parse_extmap("AddEncoding", '^(\S+)$',
		     $text{'mod_mime_cenc'});
}

sub edit_AddLanguage
{
&extmap_input("AddLanguage", $text{'mod_mime_lang'}, 5, $text{'mod_mime_clangs'}, $_[0]);
}
sub save_AddLanguage
{
return &parse_extmap("AddLanguage", '^\S+$', $text{'mod_mime_clang'});
}

sub edit_ForceType
{
return (1, $text{'mod_mime_defmime'},
	&opt_input($_[0]->{'value'}, "ForceType", $text{'mod_mime_real'}, 15));
}
sub save_ForceType
{
return &parse_opt("ForceType", '^\S+\/\S+$', $text{'mod_mime_etype'});
}

sub edit_SetHandler
{
return (1, $text{'mod_mime_pass'},
	&handler_input($_[0]->{'value'}, "SetHandler"));
}
sub save_SetHandler
{
return &parse_handler("SetHandler");
}

sub edit_TypesConfig
{
return (2,
	$text{'mod_mime_file'},
	&opt_input($_[0]->{'value'}, "TypesConfig", $text{'mod_mime_default'}, 40).
	&file_chooser_button("TypesConfig", 0));
}
sub save_TypesConfig
{
return &parse_opt("TypesConfig");
}

sub edit_RemoveHandler
{
local @list;
foreach $v (@{$_[0]}) {
	push(@list, @{$v->{'words'}});
	}
return (2, "$text{'mod_mime_ignhand'}",
	&opt_input(@list ? join(" ", @list) : undef,
		   "RemoveHandler", "$text{'mod_mime_none'}", 40));
}
sub save_RemoveHandler
{
return &parse_opt("RemoveHandler");
}

sub edit_RemoveType
{
local @list;
foreach $v (@{$_[0]}) {
	push(@list, @{$v->{'words'}});
	}
return (2, "$text{'mod_mime_igntype'}",
	&opt_input(@list ? join(" ", @list) : undef,
		   "RemoveType", "$text{'mod_mime_none'}", 40));
}
sub save_RemoveType
{
return &parse_opt("RemoveType");
}

sub edit_RemoveEncoding
{
local @list;
foreach $v (@{$_[0]}) {
	push(@list, @{$v->{'words'}});
	}
return (2, "$text{'mod_mime_ignenc'}",
	&opt_input(@list ? join(" ", @list) : undef,
		   "RemoveEncoding", "$text{'mod_mime_none'}", 40));
}
sub save_RemoveEncoding
{
return &parse_opt("RemoveEncoding");
}

sub edit_AddCharset
{
&extmap_input("AddCharset", "$text{'mod_mime_chars'}", 12, "$text{'mod_mime_xchars'}", $_[0]);
}
sub save_AddCharset
{
return &parse_extmap("AddCharset");
}

sub edit_DefaultLanguage
{
return (1, $text{'mod_mime_deflang'},
	&opt_input($_[0]->{'value'}, "DefaultLanguage", $text{'mod_mime_none'},
		   10));
}
sub save_DefaultLanguage
{
return &parse_opt("DefaultLanguage", '\S', $text{'mod_mime_edeflang'});
}

sub edit_AddOutputFilter
{
return (2, $text{'mod_mime_outfilter'},
	&filtmap_input("AddOutputFilter", $_[0]));
}
sub save_AddOutputFilter
{
return &parse_filtmap("AddOutputFilter");
}

sub edit_AddInputFilter
{
return (2, $text{'mod_mime_infilter'},
	&filtmap_input("AddInputFilter", $_[0]));
}
sub save_AddInputFilter
{
return &parse_filtmap("AddInputFilter");
}

# filtmap_input(name, &values)
sub filtmap_input
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'mod_mime_filters'}</b></td>\n".
	    "<td><b>$text{'mod_mime_ext'}</b></td> </tr>\n";
local ($d, $i = 0);
foreach $d (@{$_[1]}, { }) {
	local @w = @{$d->{'words'}};
	local @v = split(/;/, shift(@w));
	$rv .= "<tr $cb>\n";
	$rv .= "<td>".&filters_input(\@v, $_[0]."_f_$i")."</td>\n";
	$rv .= "<td><input name=$_[0]_e_$i size=30 value='".
		join(" ", @w)."'></td>\n";
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return $rv;
}
# parse_filtmap(name)
sub parse_filtmap
{
local ($i, @rv);
for($i=0; defined($in{"$_[0]_e_$i"}); $i++) {
	local @f = split(/\0/, $in{"$_[0]_f_$i"});
	next if (!@f);
	local $exts = $in{"$_[0]_e_$i"};
	$exts || &error(&text('mod_mime_efext', join(" ", @f)));
	push(@rv, join(";", @f)." ".$exts);
	}
return ( \@rv );
}

1;

0707010005c591000081a40000000000000002000000013d1fe2d100000209000000200000000000000000000000000000001f00000003reloc/apache/mod_mime_magic.pl    # mod_mime_magic.pl
# Defines MIME type guessing directives

sub mod_mime_magic_directives
{
$rv = [ [ 'MimeMagicFile', 0, 6, 'virtual' ] ];
return &make_directives($rv, $_[0], "mod_mime_magic");
}

sub edit_MimeMagicFile
{
return (1, "$text{'mod_mime_magic_file'}",
        &opt_input($_[0]->{'value'}, "MimeMagicFile", "$text{'mod_mime_magic_none'}", 20).
        &file_chooser_button("MimeMagicFile", 1));
}
sub save_MimeMagicFile
{
return &parse_opt("MimeMagicFile", '^\S+$', "$text{'mod_mime_magic_efile'}");
}

1;

   0707010005c592000081a40000000000000002000000013d1fe2d1000004b9000000200000000000000000000000000000002000000003reloc/apache/mod_negotiation.pl   # mod_negotiation.pl
# Defines editors content negotiation directives

sub mod_negotiation_directives
{
$rv = [ [ 'CacheNegotiatedDocs', 0, 6, 'global' ],
        [ 'LanguagePriority', 0, 19, 'virtual directory htaccess' ] ];
return &make_directives($rv, $_[0], "mod_negotiation");
}

sub mod_negotiation_handlers
{
return ("type-map");
}

sub edit_CacheNegotiatedDocs
{
if ($_[1]->{'version'} < 2.0) {
	local $v = $_[0] ? "1" : "0";
	return (1, $text{'mod_negotiation_cache'},
		&choice_input($v, "CacheNegotiatedDocs", "0",
		"$text{'yes'},1", "$text{'no'},0"));
	}
else {
	return (1, $text{'mod_negotiation_cache'},
		&choice_input($_[0]->{'value'}, "CacheNegotiatedDocs", "off",
			      "$text{'yes'},on", "$text{'no'},off"));
	}
}
sub save_CacheNegotiatedDocs
{
if ($_[0]->{'version'} < 2.0) {
	return $in{'CacheNegotiatedDocs'} ? ( [ "" ] ) : ( [ ] );
	}
else {
	return &parse_choice("CacheNegotiatedDocs", "off");
	}
}

sub edit_LanguagePriority
{
return (2, "$text{'mod_negotiation_pri'}",
        &opt_input($_[0]->{'value'}, "LanguagePriority", "$text{'mod_negotiation_def'}", 40));
}
sub save_LanguagePriority
{
return &parse_opt("LanguagePriority", '\S', "$text{'mod_negotiation_epri'}");
}

1;

   0707010005c593000081a40000000000000002000000013d1fe2d100000093000000200000000000000000000000000000001900000003reloc/apache/mod_perl.pl  # mod_perl.pl
# Placeholder for mod_perl directives

sub mod_perl_directives
{
return ();
}

sub mod_perl_handlers
{
return ("perl-script");
}

1;
 0707010005c594000081a40000000000000002000000013d1fe2d10000005d000000200000000000000000000000000000001800000003reloc/apache/mod_php.pl   # mod_php.pl
# Placeholder for mod_php directives

sub mod_php_directives
{
return ();
}

1;
   0707010005c595000081a40000000000000002000000013d1fe2d100000093000000200000000000000000000000000000001900000003reloc/apache/mod_php3.pl  # mod_php3.pl
# Placeholder for mod_php3 directives

sub mod_php3_directives
{
return ();
}

sub mod_php3_handlers
{
return ("php3-script");
}

1;
 0707010005c596000081a40000000000000002000000013d1fe2d10000088f000000200000000000000000000000000000001900000003reloc/apache/mod_php4.pl  # mod_php4.pl
# PHP4 Directives
# By Sebastian Delmont <sdelmont@loquesea.com>

sub mod_php4_directives
{
$rv = [ [ 'php_value', 1, 16, 'virtual directory htaccess', undef, 10 ],
	[ 'php_flag', 1, 16, 'virtual directory htaccess', undef, 2 ] ];
return &make_directives($rv, $_[0], "mod_php4");
}

sub mod_php4_handlers
{
return ("php4-script");
}

sub edit_php_value
{
local($rv, $name, $value, $len);
$rv = "";

$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(.+)$/) {
		$name = $1; $value = $2;
		}
	else { $name = $value = ""; }
	$rv .= "<input name=mod_php_value_name_$i size=20 value='$name'>&nbsp;";
	$rv .= "<input name=mod_php_value_value_$i size=30 value='$value'><BR>\n";
	}
return (2, "$text{'mod_php_value'}", $rv);
}

sub save_php_value
{
local($i, $name, $value, @rv);
for($i=0; defined($in{"mod_php_value_name_$i"}); $i++) {
	$name = $in{"mod_php_value_name_$i"}; $value = $in{"mod_php_value_value_$i"};
	if ($name !~ /\S/ && $value !~ /\S/) { next; }
	$name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
	$value =~ /^(.+)$/ || &error(&text('mod_php_evalue', $name, $value));
	push(@rv, "$name $value");
	}
return ( \@rv );
}

sub edit_php_flag
{
local($rv, $name, $value, $len);
$rv = "";

$len = @{$_[0]} + 1;
for($i=0; $i<$len; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(on|off)$/) {
		$name = $1; $value = $2;
		}
	else { $name = $value = ""; }
	$rv .= "<input name=mod_php_flag_name_$i size=20 value='$name'>&nbsp;";
	$rv .= "<input name=mod_php_flag_value_$i type=radio value=on" . ($value eq "on" ? " checked" : "" ) . ">on&nbsp;";
	$rv .= "<input name=mod_php_flag_value_$i type=radio value=off" . ($value eq "off" ? " checked" : "" ) . ">off&nbsp;<BR>";
	}
return (2, "$text{'mod_php_flag'}", $rv);
}

sub save_php_flag
{
local($i, $name, $value, @rv);
for($i=0; defined($in{"mod_php_flag_name_$i"}); $i++) {
	$name = $in{"mod_php_flag_name_$i"}; $value = $in{"mod_php_flag_value_$i"};
	if ($name !~ /\S/ ) { next; }
	$name =~ /^(\S+)$/ || &error(&text('mod_php_ename', $name));
	$value =~ /^(on|off)$/i || &error(&text('mod_php_evalue', $name, $value));
	push(@rv, "$name $value");
	}
return ( \@rv );
}

1;
 0707010005c597000081a40000000000000002000000013d1fe2d1000022aa000000200000000000000000000000000000001a00000003reloc/apache/mod_proxy.pl # mod_proxy.pl
# Editors for proxy directives

sub mod_proxy_directives
{
local $rv;
$rv = [ [ 'ProxyRequests', 0, 13, 'virtual', undef, 11 ],
        [ 'ProxyRemote', 1, 13, 'virtual', undef, 7 ],
        [ 'ProxyPass', 1, 10, 'virtual', undef, 0 ],
        [ 'ProxyPassReverse', 1, 10, 'virtual', 1.306, 0 ],
        [ 'ProxyBlock', 1, 13, 'virtual', 1.2, 9 ],
        [ 'NoProxy', 1, 13, 'virtual', 1.3, 5 ],
        [ 'ProxyDomain', 0, 13, 'virtual', 1.3, 4 ],
	[ 'AllowCONNECT', 0, 13, 'virtual', 1.302, 2 ],
        [ 'CacheRoot', 0, 13, 'virtual', -2.0, 10 ],
        [ 'CacheSize', 0, 13, 'virtual', -2.0 ],
        [ 'CacheGcInterval', 0, 13, 'virtual', -2.0 ],
        [ 'CacheMaxExpire', 0, 13, 'virtual', -2.0 ],
        [ 'CacheLastModifiedFactor', 0, 13, 'virtual', -2.0 ],
        [ 'CacheDirLevels', 0, 13, 'virtual', -2.0 ],
        [ 'CacheDirLength', 0, 13, 'virtual', -2.0 ],
        [ 'CacheDefaultExpire', 0, 13, 'virtual', -2.0 ],
        [ 'CacheForceCompletion', 0, 13, 'virtual', '1.301-2.0' ],
        [ 'NoCache', 1, 13, 'virtual', -2.0, 3 ],
	[ 'ProxyMaxForwards', 0, 13, 'virtual', 2.0 ],
	[ 'ProxyPreserveHost', 0, 13, 'virtual', 2.031 ],
	[ 'ProxyTimeout', 0, 13, 'virtual', 2.031 ],
	[ 'ProxyVia', 0, 13, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_proxy");
}

require 'cache.pl';

sub edit_ProxyRequests
{
return (1, $text{'mod_proxy_proxy'},
        &choice_input($_[0]->{'value'}, "ProxyRequests", "off",
                      "$text{'yes'},on", "$text{'no'},off"));
}
sub save_ProxyRequests
{
return &parse_choice("ProxyRequests", "off");
}

sub edit_ProxyRemote
{
local($rv, $i, $match, $proxy, $max);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_proxy_req'}</b></td> <td><b>$text{'mod_proxy_forw'}</b></td> </tr>\n";
$max = @{$_[0]}+1;
for($i=0; $i<$max; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) {
		$match = $1; $proxy = $2;
		}
	else { $match = "*"; $proxy = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= sprintf
	        "<td><input type=radio name=ProxyRemote_match_all_$i %s> $text{'mod_proxy_all'}\n",
	        $match eq "*" ? "checked" : "";
	$rv .= sprintf
	        "<input type=radio name=ProxyRemote_match_all_$i %s> $text{'mod_proxy_match'}\n",
	        $match eq "*" ? "" : "checked";
	$rv .= sprintf
	        "<input name=ProxyRemote_match_$i size=20 value=\"%s\"></td>\n",
	        $match eq "*" ? "" : $match;
	$rv .= "<td><input name=ProxyRemote_proxy_$i size=20 ".
	       "value=\"$proxy\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'mod_proxy_pass'}, $rv);
}
sub save_ProxyRemote
{
local($i, $match, $match_all, $proxy, @rv);
for($i=0; defined($proxy = $in{"ProxyRemote_proxy_$i"}); $i++) {
	$match = $in{"ProxyRemote_match_$i"};
	$match_all = $in{"ProxyRemote_match_all_$i"};
	if ($match !~ /\S/ && $proxy !~ /\S/) { next; }
	if ($match_all) { $match = "*"; }
	elsif ($match !~ /^\S+$/) { &error(&text('mod_proxy_erequest', $match)); }
	$proxy =~ /^http:\/\/\S+$/ || &error(&text('mod_proxy_epurl', $proxy));
	push(@rv, "$match $proxy");
	}
return ( \@rv );
}

sub edit_ProxyPass
{
local($rv, $i, $path, $url, $max);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_proxy_local'}</b></td> <td><b>$text{'mod_proxy_remote'}</b></td> </tr>\n";
$max = @{$_[0]} + 1;
for($i=0; $i<$max; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) {
		$path = $1; $url = $2;
		}
	else { $path = $url = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=ProxyPass_path_$i size=20 value=\"$path\"></td>\n";
	$rv .= "<td><input name=ProxyPass_url_$i size=30 value=\"$url\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'mod_proxy_map'}, $rv);
}
sub save_ProxyPass
{
local($i, $url, $path, @rv);
for($i=0; defined($path = $in{"ProxyPass_path_$i"}); $i++) {
	$url = $in{"ProxyPass_url_$i"};
	if ($path !~ /\S/ && $url !~ /\S/) { next; }
	$path =~ /^\/\S*$/ || &error(&text('mod_proxy_elurl', $path));
	$url =~ /^http:\/\/(\S+)$/ || &error(&text('mod_proxy_erurl', $url));
	push(@rv, "$path $url");
	}
return ( \@rv );
}

sub edit_ProxyPassReverse
{
local($rv, $i, $path, $url, $max);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_proxy_rurl'}</b></td> <td><b>$text{'mod_proxy_lurl'}</b></td> </tr>\n";
$max = @{$_[0]} + 1;
for($i=0; $i<$max; $i++) {
	if ($_[0]->[$i]->{'value'} =~ /^(\S+)\s+(\S+)$/) {
		$path = $1; $url = $2;
		}
	else { $path = $url = ""; }
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=ProxyPassReverse_url_$i size=30 value=\"$url\"></td>\n";
	$rv .= "<td><input name=ProxyPassReverse_path_$i size=20 value=\"$path\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'mod_proxy_headers'}, $rv);
}
sub save_ProxyPassReverse
{
local($i, $url, $path, @rv);
for($i=0; defined($path = $in{"ProxyPassReverse_path_$i"}); $i++) {
	$url = $in{"ProxyPassReverse_url_$i"};
	if ($path !~ /\S/ && $url !~ /\S/) { next; }
	$path =~ /^\/\S*$/ || &error(&text('mod_proxy_elurl', $path));
	$url =~ /^http:\/\/(\S+)$/ || &error(&text('mod_proxy_erurlerurl', $url));
	push(@rv, "$path $url");
	}
return ( \@rv );
}

sub edit_ProxyBlock
{
local($b, @b);
foreach $b (@{$_[0]}) { push(@b, split(/\s+/, $b->{'value'})); }
return (2, $text{'mod_proxy_block'},
        &opt_input(@b ? join(' ', @b) : undef, "ProxyBlock", $text{'mod_proxy_none3'}, 50));
}
sub save_ProxyBlock
{
return &parse_opt("ProxyBlock", '\S', $text{'mod_proxy_eblock'});
}

sub edit_NoProxy
{
local($n, @n, $i, $rv);
foreach $n (@{$_[0]}) { push(@n, split(/\s+/, $n->{'value'})); }
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_proxy_type'}</b></td> <td><b>$text{'mod_proxy_noproxy'}</b></td> </tr>\n";
for($i=0; $i<=@n; $i++) {
	$rv .= "<tr $cb>\n";
	if ($i>=@n) { $type = 0; }
	elsif ($n[$i] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
		if ($4 == 0) { $type = 3; }
		else { $type = 0; }
		}
	elsif ($n[$i] =~ /^([0-9\.]+)\/(\d+)$/) { $type = 4; }
	elsif ($n[$i] =~ /^([0-9\.]+)$/) { $type = 3; }
	elsif ($n[$i] =~ /^\.(\S+)$/) { $type = 2; }
	else { $type = 1; }
	$rv .= "<td>".&select_input($type, "NoProxy_type_$i", 0,
		"$text{'mod_proxy_ip'},0", "$text{'mod_proxy_host'},1",
		"$text{'mod_proxy_domain'},2", "$text{'mod_proxy_net'},3",
		"$text{'mod_proxy_netbit'},4")."</td>\n";
	$rv .= "<td><input name=NoProxy_for_$i size=30 value=\"$n[$i]\"></td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'mod_proxy_nopass'}, $rv);
}
sub save_NoProxy
{
local($i, $type, $for, @rv);
for($i=0; defined($type = $in{"NoProxy_type_$i"}); $i++) {
	$for = $in{"NoProxy_for_$i"};
	if ($for !~ /\S/) { next; }
	if ($type == 0) {
		&check_ipaddress($for) || 
			&error(&text('mod_proxy_eip', $for));
		}
	elsif ($type == 1) {
		$for =~ /^[A-z0-9\-][A-z0-9\-\.]+[A-z0-9\-]$/ ||
			&error(&text('mod_proxy_ehost', $for));
		}
	elsif ($type == 2) {
		$for =~ /^\.[A-z0-9\-\.]+[A-z0-9\-]$/ ||
			&error(&text('mod_proxy_edomain', $for));
		}
	elsif ($type == 3) {
		if ($for =~ /^(\d+)$/) { $for .= ".0.0.0"; }
		elsif ($for =~ /^(\d+)\.(\d+)$/) { $for .= ".0.0"; }
		elsif ($for =~ /^(\d+)\.(\d+)\.(\d+)$/) { $for .= ".0"; }
		&check_ipaddress($for) || &error(&text('mod_proxy_enet', $for));
		}
	elsif ($type == 4) {
		($for =~ /^(\S+)\/(\d+)$/ && &check_ipaddress($1) && $2 < 32) ||
			&error(&text('mod_proxy_enetbit', $for));
		}
	push(@rv, $for);
	}
return @rv ? ( [ join(' ', @rv) ] ) : ( [ ] );
}

sub edit_ProxyDomain
{
return (1, $text{'mod_proxy_nodomain'},
        &opt_input($_[0]->{'value'}, "ProxyDomain", $text{'mod_proxy_none'}, 20));
}
sub save_ProxyDomain
{
return &parse_opt("ProxyDomain", '^[A-z0-9\-]+$', $text{'mod_proxy_enodomain'});
}

sub edit_AllowCONNECT
{
return (1, $text{'mod_proxy_connect'},
        &opt_input($_[0]->{'value'}, "AllowCONNECT", $text{'mod_proxy_default'}, 10));
}
sub save_AllowCONNECT
{
return &parse_opt("AllowCONNECT", '^[\d ]+$', $text{'mod_proxy_econnect'});
}

sub edit_ProxyMaxForwards
{
return (1, $text{'mod_proxy_maxfw'},
	&opt_input($_[0]->{'value'}, "ProxyMaxForwards", $text{'default'}, 5));
}
sub save_ProxyMaxForwards
{
return &parse_opt("ProxyMaxForwards", '^\d+$', $text{'mod_proxy_emaxfw'});
}

sub edit_ProxyPreserveHost
{
return (1, $text{'mod_proxy_preserve'},
	&choice_input($_[0]->{'value'}, "ProxyPreserveHost", "",
	      "$text{'yes'},on", "$text{'no'},off", "$text{'default'},"));
}
sub save_ProxyPreserveHost
{
return &parse_choice("ProxyPreserveHost", "");
}

sub edit_ProxyTimeout
{
return (1, $text{'mod_proxy_timeout'},
	&opt_input($_[0]->{'value'}, "ProxyTimeout", $text{'default'}, 5));
}
sub save_ProxyTimeout
{
return &parse_opt("ProxyTimeout", '^\d+$', $text{'mod_proxy_etimeout'});
}

sub edit_ProxyVia
{
return (1, $text{'mod_proxy_via'},
	&choice_input($_[0]->{'value'}, "ProxyVia", "",
	      "$text{'yes'},on", "$text{'no'},off", "$text{'default'},"));
}
sub save_ProxyVia
{
return &parse_choice("ProxyVia", "");
}



1;

  0707010005c598000081a40000000000000002000000013d1fe2d100000c29000000200000000000000000000000000000001d00000003reloc/apache/mod_setenvif.pl  # mod_setenvif.pl
# Defines editors for directives to set environment variables

sub mod_setenvif_directives
{
local($rv);
$rv = [ [ 'BrowserMatch BrowserMatchNoCase', 1, 11, 'global', '-1.313' ],
	[ 'BrowserMatch BrowserMatchNoCase', 1, 11, 'virtual directory htaccess', 1.313 ],
        [ 'SetEnvIf SetEnvIfNoCase', 1, 11, 'global', '1.3-1.313' ],
        [ 'SetEnvIf SetEnvIfNoCase', 1, 11, 'virtual directory htaccess', 1.313 ] ];
return &make_directives($rv, $_[0], "mod_setenvif");
}

require 'browsermatch.pl';

sub edit_SetEnvIf_SetEnvIfNoCase
{
local($d, @w, $i, @head, @regex, @var, @val, @case, $rv);
foreach $d (@{$_[0]}, @{$_[1]}) {
	@w = @{$d->{'words'}};
	for($i=2; $i<@w; $i++) {
		push(@head, $w[0]);
		push(@regex, $w[1]);
		if ($w[$i] =~ /^\!(\S+)$/)
			{ push(@var, $1); push(@val, undef); }
		elsif ($w[$i] =~ /^(\S+)=(\S*)$/)
			{ push(@var, $1); push(@val, $2); }
		else { push(@var, $w[$i]); push(@val, 1); }
		if ($d->{'name'} eq "SetEnvIf") { push(@case, 1); }
		else { push(@case, 0); }
		}
	}
push(@head, ""); push(@regex, ""); push(@var, ""); push(@val, ""); push(@case, 0);
$rv = "<table border>\n".
      "<tr $tb> <td><b>$text{'mod_setenvif_header'}</b></td> <td><b>$text{'mod_setenvif_match'}</b></td>\n".
      "<td><b>$text{'mod_setenvif_case'}</b></td> <td><b>$text{'mod_setenvif_var'}</b></td>\n".
      "<td><b>$text{'mod_setenvif_value'}</b></td> </tr>\n";
for($i=0; $i<@head; $i++) {
	$rv .= "<tr $cb>\n";
	$rv .= sprintf
	        "<td><input size=15 name=SetEnvIf_head_$i value=\"%s\"></td>\n",
	        $head[$i];
	$rv .= sprintf
	        "<td><input size=10 name=SetEnvIf_regex_$i value=\"%s\"></td>\n",
	        $regex[$i];
	$rv .= "<td>".&choice_input($case[$i], "SetEnvIf_case_$i", 1,
	       "$text{'yes'},1", "$text{'no'},0")."</td>\n";
	$rv .= sprintf
	        "<td><input size=20 name=SetEnvIf_var_$i value=\"%s\"></td>\n",
	        $var[$i];
	$rv .= "<td>".&opt_input($val[$i], "SetEnvIf_val_$i",
	       "$text{'mod_setenvif_clear'}", 10)."</td>\n";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, "$text{'mod_setenvif_txt'}", $rv);
}
sub save_SetEnvIf_SetEnvIfNoCase
{
local($i, $head, $regex, $case, $var, $val,
      $set, $lastsi, $lastsnc, @si, @sinc);
for($i=0; defined($head = $in{"SetEnvIf_head_$i"}); $i++) {
	$regex = $in{"SetEnvIf_regex_$i"}; $case = $in{"SetEnvIf_case_$i"};
	$var = $in{"SetEnvIf_var_$i"};
	$val = $in{"SetEnvIf_val_${i}_def"} ? undef : $in{"SetEnvIf_val_$i"};
	if ($head !~ /\S/ && $regex !~ /\S/ && $var !~ /\S/) { next; }
	$head =~ /^\S+$/ || &error(&text('mod_setenvif_eheader', $head));
	$regex =~ /^\S+$/ || &error(&text('mod_setenvif_eregex', $regex));
	$var =~ /^\S+$/ || &error(&text('mod_setenvif_evar', $var));
	$set = !defined($val) ? "!$var" : $val eq "1" ? $var : "$var=$val";
	if ($case) {
		if ("$head $regex" eq $lastsi) { $si[$#si] .= " $set"; }
		else { push(@si, "$head $regex $set"); }
		$lastsi = "$head $regex";
		}
	else {
		if ("$head $regex" eq $lastsinc) { $sinc[$#sinc] .= " $set"; }
		else { push(@sinc, "$head $regex $set"); }
		$lastsinc = "$head $regex";
		}
	}
return ( \@si, \@sinc );
}

1;

   0707010005c599000081a40000000000000002000000013d1fe2d100000235000000200000000000000000000000000000001c00000003reloc/apache/mod_speling.pl   # mod_speling.pl
# Defines editors spelling correction directives

sub mod_speling_directives
{
$rv = [ [ 'CheckSpelling', 0, 5, 'virtual', '1.3-1.302' ],
	[ 'CheckSpelling', 0, 5, 'virtual directory htaccess', 1.302 ] ];
return &make_directives($rv, $_[0], "mod_speling");
}

sub edit_CheckSpelling
{
return (1, "$text{'mod_speling_autocorr'}",
        &choice_input($_[0]->{'value'}, "CheckSpelling",
        "", "$text{'no'},Off", "$text{'yes'},On", "$text{'mod_speling_default'},"));
}
sub save_CheckSpelling
{
return &parse_choice("CheckSpelling", "");
}

1;

   0707010005c59a000081a40000000000000002000000013d1fe2d100000cbe000000200000000000000000000000000000001800000003reloc/apache/mod_ssl.pl   # mod_ssl.pl
# Defines editors for mod_ssl directives

sub mod_ssl_directives
{
local($rv);
$rv = [ [ 'SSLEngine', 0, 14, 'virtual', undef, 10 ],
	[ 'SSLProtocol', 0, 14, 'virtual', undef, 10 ],
	[ 'SSLCertificateFile', 0, 14, 'virtual', undef, 9 ],
	[ 'SSLCertificateKeyFile', 0, 14, 'virtual', undef, 8 ],
	[ 'SSLVerifyClient', 0, 14, 'virtual directory htaccess', undef, 7 ],
	[ 'SSLVerifyDepth', 0, 14, 'virtual directory htaccess', undef, 6 ],
	[ 'SSLLog', 0, 14, 'virtual', undef, 5 ],
	[ 'SSLRequireSSL', 0, 14, 'directory htaccess', undef, 4 ] ];
return &make_directives($rv, $_[0], "mod_ssl");
}

sub edit_SSLEngine
{
return (1, $text{'mod_ssl_enable'},
	&choice_input($_[0]->{'value'}, "SSLEngine", "",
		      "$text{'yes'},on", "$text{'no'},off", "$text{'default'},"));
}
sub save_SSLEngine
{
return &parse_choice("SSLEngine");
}

@sslprotos = ("SSLv2", "SSLv3", "TLSv1");
sub edit_SSLProtocol
{
local ($rv, $p, %prot);
local @list = $_[0] ? @{$_[0]->{'words'}} : ("all");
foreach $p (@list) {
	if ($p =~ /^\+?all$/i) { map { $prot{lc($_)} = 1 } @sslprotos; }
	elsif ($p =~ /^\-all$/i) { undef(%prot); }
	elsif ($p =~ /^\-(\S+)/) { $prot{lc($1)} = 0; }
	elsif ($p =~ /^\+(\S+)/) { $prot{lc($1)} = 1; }
	}
foreach $p (@sslprotos) {
	$rv .= sprintf "<input type=checkbox name=SSLProtocol value=$p %s> $p ",
		$prot{lc($p)} ? "checked" : "";
	}
return (1, $text{'mod_ssl_proto'}, $rv);
}
sub save_SSLProtocol
{
local @sel = split(/\0/, $in{'SSLProtocol'});
if (scalar(@sel) == scalar(@sslprotos)) { return ( [ ] ); }
return ( [ join(" ", (map { "+$_" } @sel)) ] );
}

sub edit_SSLCertificateFile
{
return (2, $text{'mod_ssl_cfile'},
	&opt_input($_[0]->{'value'}, "SSLCertificateFile", $text{'mod_ssl_default'}, 35).
	&file_chooser_button("SSLCertificateFile", 0));
}
sub save_SSLCertificateFile
{
return &parse_opt("SSLCertificateFile", '\S', $text{'mod_ssl_ecfile'});
}

sub edit_SSLCertificateKeyFile
{
return (2, $text{'mod_ssl_kfile'},
	&opt_input($_[0]->{'value'}, "SSLCertificateKeyFile", $text{'mod_ssl_default'}, 35).
	&file_chooser_button("SSLCertificateKeyFile", 0));
}
sub save_SSLCertificateKeyFile
{
return &parse_opt("SSLCertificateKeyFile", '\S', $text{'mod_ssl_ekfile'});
}

sub edit_SSLVerifyClient
{
return (1, $text{'mod_ssl_clcert'},
	&select_input($_[0]->{'value'}, "SSLVerifyClient", "",
		      "$text{'default'},", "$text{'mod_ssl_nreq'},none",
		      "$text{'mod_ssl_opt'},optional",
		      "$text{'mod_ssl_req'},require",
		      "$text{'mod_ssl_optca'},optional_no_ca"));
}
sub save_SSLVerifyClient
{
return &parse_select("SSLVerifyClient");
}

sub edit_SSLVerifyDepth
{
return (1, $text{'mod_ssl_cdepth'},
	&opt_input($_[0]->{'value'}, "SSLVerifyDepth", $text{'mod_ssl_default'}, 6));
}
sub save_SSLVerifyDepth
{
return &parse_opt("SSLVerifyDepth", '^\d+$', $text{'mod_ssl_ecdepth'});
}

sub edit_SSLLog
{
return (1, $text{'mod_ssl_log'},
	&opt_input($_[0]->{'value'}, "SSLLog", $text{'mod_ssl_default'}, 20));
}
sub save_SSLLog
{
return &parse_opt("SSLLog", '\S', $text{'mod_ssl_elog'});
}

sub edit_SSLRequireSSL
{
return (1, $text{'mod_ssl_onlyssl'},
	&choice_input($_[0] ? 1 : 0, "SSLRequireSSL", 0, "$text{'yes'},1", "$text{'no'},0"));
}
sub save_SSLRequireSSL
{
return $in{'SSLRequireSSL'} ? ( [ "" ] ) : ( [ ] );
}

  0707010005c59b000081a40000000000000002000000013d1fe2d10000021e000000200000000000000000000000000000001b00000003reloc/apache/mod_status.pl    # mod_status.pl
# This module defines the one directive and handle for mod_status

sub mod_status_directives
{
$rv = [ [ 'ExtendedStatus', 0, 0, 'global', 1.302 ] ];
return &make_directives($rv, $_[0], "mod_status");
}

sub mod_status_handlers
{
return ("server-status");
}

sub edit_ExtendedStatus
{
return (1, "$text{'mod_status_msg'}",
        &choice_input($_[0]->{'value'}, "ExtendedStatus",
	               "off", "$text{'yes'},on", "$text{'no'},off"));
}
sub save_ExtendedStatus
{
return &parse_choice("ExtendedStatus", "off");
}

1;

  0707010005c59c000081a40000000000000002000000013d1fe2d1000004f4000000200000000000000000000000000000001b00000003reloc/apache/mod_suexec.pl    # mod_suexec.pl
# Editors for per-virtuser suexec directives

sub mod_suexec_directives
{
local $rv;
$rv = [ [ 'SuexecUserGroup', 0, 8, 'virtual', 2.0 ] ];
return &make_directives($rv, $_[0], "mod_suexec");
}

sub edit_SuexecUserGroup
{
local $rv;
$rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=1 %s> %s\n",
		$_[0] ? "" : "checked", $text{'suexec_none'};
$rv .= sprintf "<input type=radio name=SuexecUserGroup_def value=0 %s>\n",
		$_[0] ? "checked" : "";
$rv .= sprintf "%s <input name=SuexecUserGroup_u size=8 value='%s'> %s\n",
		$text{'suexec_user'}, $_[0]->{'words'}->[0],
		&user_chooser_button("SuexecUserGroup_u");
$rv .= sprintf "%s <input name=SuexecUserGroup_g size=8 value='%s'> %s\n",
		$text{'suexec_group'}, $_[0]->{'words'}->[1],
		&group_chooser_button("SuexecUserGroup_g");
return (2, $text{'suexec_su'}, $rv);
}
sub save_SuexecUserGroup
{
if ($in{'SuexecUserGroup_def'}) {
	return ( [ ] );
	}
else {
	$in{'SuexecUserGroup_u'} =~ /^#-?\d+$/ ||
		defined(getpwnam($in{'SuexecUserGroup_u'})) ||
			&error($text{'suexec_euser'});
	$in{'SuexecUserGroup_g'} =~ /^#-?\d+$/ ||
		defined(getgrnam($in{'SuexecUserGroup_g'})) ||
			&error($text{'suexec_egroup'});
	return ( [ $in{'SuexecUserGroup_u'}." ".$in{'SuexecUserGroup_g'} ] );
	}
}

0707010005c59d000081a40000000000000002000000013d1fe2d1000009c8000000200000000000000000000000000000001c00000003reloc/apache/mod_userdir.pl   # mod_userdir.pl
# Defines editors user WWW dir directives

sub mod_userdir_directives
{
local($rv);
$rv = [ [ 'UserDir', 1, 5, 'virtual', 1.3, 6 ],
	[ 'UserDir', 0, 5, 'virtual', -1.3, 6 ] ];
return &make_directives($rv, $_[0], "mod_userdir");
}

sub edit_UserDir
{
$fmt = "<input type=radio name=UserDir_def value=1 %s> $text{'mod_userdir_default'}&nbsp\n".
       "<input type=radio name=UserDir_def value=0 %s>\n".
       "<input name=UserDir size=20 value=\"%s\"><br>\n";
if ($_[1]->{'version'} >= 1.3) {
	local($d, $v, $ud, $rv, @uinfo, $mode, @disabled, @enabled, $_, @ulist);
	foreach $d (@{$_[0]}) {
		$v = $d->{'value'};
		if ($v =~ /^(disabled|enabled)\s*(.*)$/) {
			if ($1 eq "disabled" && !$2) { $mode = 2; }
			elsif ($1 eq "disabled")
				{ $mode = 1; push(@disabled, split(/\s+/, $2)); }
			else { push(@enabled, split(/\s+/, $2)); }
			}
		else { $ud = $v; }
		}
	if ($mode == 1) {
		# only selected users disabled
		@ulist = @disabled;
		}
	elsif ($mode == 2) {
		# only selected users enabled
		local %dis;
		foreach (@disabled) { $dis{$_}++; }
		@ulist = grep { !$dis{$_} } @enabled;
		}
	$rv = sprintf $fmt, $ud ? "" : "checked", $ud ? "checked" : "", $ud;
	$rv .= sprintf "<input type=radio name=UserDir_mode value=0 %s>\n",
			$mode==0 ? "checked" : "";
	$rv .= "$text{'mod_userdir_all'}<br>\n";
	$rv .= sprintf "<input type=radio name=UserDir_mode value=1 %s>\n",
			$mode==1 ? "checked" : "";
	$rv .= "$text{'mod_userdir_except'} <input name=UserDir_deny size=20 value=\"".
	       ($mode==1 ? join(" ", @ulist) : "")."\"> ".
	       &user_chooser_button("UserDir_deny",1)."<br>\n";
	$rv .= sprintf "<input type=radio name=UserDir_mode value=2 %s>\n",
			$mode==2 ? "checked" : "";
	$rv .= "Only users <input name=UserDir_allow size=20 value=\"".
	       ($mode==2 ? join(" ", @ulist) : "")."\"> ".
	       &user_chooser_button("UserDir_allow",1);
	return (2, "$text{'mod_userdir_dir'}", $rv);
	}
else {
	return (1, "$text{'mod_userdir_dir'}",
	        sprintf $fmt, $_[0] ? "" : "checked", $_[0] ? "checked" : "",
	                      $_[0]->{'value'} );
	}
}
sub save_UserDir
{
if ($_[0]->{'version'} >= 1.3) {
	local(@ud);
	if ($in{'UserDir_mode'} == 1)
		{ @ud = ("disabled $in{'UserDir_deny'}"); }
	elsif ($in{'UserDir_mode'} == 2)
		{ @ud = ("disabled", "enabled $in{'UserDir_allow'}"); }
	if (!$in{'UserDir_def'}) { push(@ud, $in{'UserDir'}); }
	return ( \@ud );
	}
else {
	if ($in{'UserDir_def'}) { return ( [ ] ); }
	else { return ( [ $in{'UserDir'} ] ); }
	}
}

1;

0707010005c59e000081a40000000000000002000000013d1fe2d1000008fb000000200000000000000000000000000000002000000003reloc/apache/mod_vhost_alias.pl   # mod_vhost_alias.pl
# Defines editors for vhost_alias module directives

sub mod_vhost_alias_directives
{
$rv = [ [ 'VirtualDocumentRoot VirtualDocumentRootIP', 0, 17, 'virtual', 1.307 ],
	[ 'VirtualScriptAlias VirtualScriptAliasIP', 0, 17, 'virtual', 1.307 ] ];
return &make_directives($rv, $_[0], "mod_vhost_alias");
}

sub edit_VirtualDocumentRoot_VirtualDocumentRootIP
{
local $rv;

$rv = sprintf "<input type=radio name=VirtualDocumentRoot_def value=1 %s> %s\n",
	$_[0] || $_[1] ? '' : 'checked', $text{'mod_vhost_alias_none'};
$rv .= sprintf "<input type=radio name=VirtualDocumentRoot_def value=0 %s>\n",
	$_[0] || $_[1] ? 'checked' : '';
$rv .= sprintf "<input name=VirtualDocumentRoot size=50 value='%s'><br>\n",
	$_[0] ? $_[0]->{'value'} : $_[1] ? $_[1]->{'value'} : '';
$rv .= sprintf "<input type=checkbox name=VirtualDocumentRoot_ip value=1 %s> %s\n",
	$_[1] ? 'checked' : '', $text{'mod_vhost_alias_ip'};

return (2, "$text{'mod_vhost_alias_root'}", $rv);
}

sub save_VirtualDocumentRoot_VirtualDocumentRootIP
{
if ($in{'VirtualDocumentRoot_def'}) {
	return ( [ ], [ ] );
	}
$in{'VirtualDocumentRoot'} =~ /^\S+$/ || &error($text{'mod_vhost_alias_eroot'});
if ($in{'VirtualDocumentRoot_ip'}) {
	return ( [ ], [ $in{'VirtualDocumentRoot'} ] );
	}
else {
	return ( [ $in{'VirtualDocumentRoot'} ], [ ] );
	}
}

sub edit_VirtualScriptAlias_VirtualScriptAliasIP
{
$rv = sprintf "<input type=radio name=VirtualScriptAlias_def value=1 %s> %s\n",
	$_[0] || $_[1] ? '' : 'checked', $text{'mod_vhost_alias_none'};
$rv .= sprintf "<input type=radio name=VirtualScriptAlias_def value=0 %s>\n",
	$_[0] || $_[1] ? 'checked' : '';
$rv .= sprintf "<input name=VirtualScriptAlias size=50 value='%s'><br>\n",
	$_[0] ? $_[0]->{'value'} : $_[1] ? $_[1]->{'value'} : '';
$rv .= sprintf "<input type=checkbox name=VirtualScriptAlias_ip value=1 %s> %s\n",
	$_[1] ? 'checked' : '', $text{'mod_vhost_alias_ip'};

return (2, "$text{'mod_vhost_alias_script'}", $rv);
}

sub save_VirtualScriptAlias_VirtualScriptAliasIP
{
if ($in{'VirtualScriptAlias_def'}) {
	return ( [ ], [ ] );
	}
$in{'VirtualScriptAlias'} =~/^\S+$/ || &error($text{'mod_vhost_alias_escript'});
if ($in{'VirtualScriptAlias_ip'}) {
	return ( [ ], [ $in{'VirtualScriptAlias'} ] );
	}
else {
	return ( [ $in{'VirtualScriptAlias'} ], [ ] );
	}
}

 0707010005c59f000081a40000000000000002000000013d1fe2ea00000301000000200000000000000000000000000000001900000003reloc/apache/module.info  desc_nl=Apache Webserver
desc_ru_SU=÷ÅÂ óÅÒ×ÅÒ Apache
risk=low medium high
desc_ko_KR.euc=Apache webServer 
desc_zh_TW.Big5=Apache ºô­¶¦øªA¾¹
desc_pl=Serwer WWW Apache
desc_de=Apache Webserver
name=Apache
desc_pt=Servidor Web Apache
desc_zh_CN=Apache ·þÎñÆ÷
category=servers
desc_tr=Apache Web Sunucusu
os_support=solaris redhat-linux mandrake-linux debian-linux slackware-linux suse-linux aix hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux openbsd corel-linux cobalt-linux lfs-linux netbsd msc-linux generic-linux gentoo-linux
desc=Apache Webserver
desc_es=Servidor Web Apache
desc_sv=Apache Webserver
desc_fr=Serveur Web Apache
depends=0.990
version=0.990
desc_hu=Apache Webkiszolgáló
desc_ca=Servidor Web Apache
desc_ru_RU=Âåá Ñåðâåð Apache
   0707010005c5a0000081a40000000000000002000000013d1fe2d100000508000000200000000000000000000000000000001c00000003reloc/apache/mpm_netware.pl   # mpm_netware.pl
# Defines editors for the netware module in apache 2.0
# The actual functions for most of these are still in core.pl

sub mpm_netware_directives
{
local $rv;
$rv = [ [ 'BindAddress Listen Port', 1, 1, 'global', 2.0 ],
	[ 'ListenBacklog', 0, 1, 'global', 2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', 2.0 ],
	[ 'MinSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'MaxSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'SendBufferSize', 0, 1, 'global', 2.0 ],
	[ 'StartThreads', 0, 0, 'global', 2.0 ] ];
return &make_directives($rv, $_[0], "mpm_netware");
}

sub edit_MinSpareThreads
{
return (1,
	$text{'worker_minspare'},
	&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
{
return &parse_opt("MinSpareThreads", '^\d+$',
		  $text{'worker_eminspare'});
}

sub edit_MaxSpareThreads
{
return (1,
	$text{'worker_maxspare'},
	&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads
{
return &parse_opt("MaxSpareThreads", '^\d+$',
		  $text{'worker_emaxspare'});
}

sub edit_StartThreads
{
return (1,
	$text{'perchild_sthreads'},
	&opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4));
}
sub save_StartThreads
{
return &parse_opt("StartThreads", '^\d+$',
		  $text{'perchild_esthreads'});
}


0707010005c5a1000081a40000000000000002000000013d1fe2d10000031d000000200000000000000000000000000000001a00000003reloc/apache/mpm_winnt.pl # mpm_winnt.pl
# Defines editors for the windows NT module in apache 2.0
# The actual functions for most of these are still in core.pl

sub mpm_winnt_directives
{
local $rv;
$rv = [ [ 'CoreDumpDirectory', 0, 9, 'global', 2.0 ],
	[ 'BindAddress Listen Port', 1, 1, 'global', 2.0 ],
	[ 'ListenBacklog', 0, 1, 'global', 2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', 2.0 ],
	[ 'PidFile', 0, 9, 'global', 2.0 ],
	[ 'SendBufferSize', 0, 1, 'global', 2.0 ],
	[ 'ThreadsPerChild', 0, 0, 'global', 2.0 ] ];
return &make_directives($rv, $_[0], "mpm_winnt");
}

sub edit_ThreadsPerChild
{
return (1,
	$text{'worker_threads'},
	&opt_input($_[0]->{'value'},"ThreadsPerChild",$text{'default'}, 4));
}
sub save_ThreadsPerChild
{
return &parse_opt("ThreadsPerChild", '^\d+$',
		  $text{'worker_ethreads'});
}

   0707010005c5a2000081a40000000000000002000000013d1fe2d10000047b000000200000000000000000000000000000001300000003reloc/apache/notes    notes about apache
------------------
Apache has a large number of directives which are valid in different 
parts of the config file (and maybe in other files such as .htaccess). The
available directives and their possible locations varies from release to
release of apache. Apache version from 1.1 to 1.3 will be supported.

Each type of directive is defined in some module, which may be compiled
into the server or not. Each module version supports some list of directives,
and the server version is basically a list of the modules/versions supported.

To implement this, each apache module will have one .pl file that has
functions for each directive, plus a master function that lists all the 
supported directives for this module version and their possible contexts.

The main apache config file is httpd.conf in the conf directory. This
file can refer to other files by some directives, or other config files
can be read as well.Directives can be in any config file (unlike NCSA).
This means that the config file must be read, parsed, and the other config
files read and parsed as well. Only then can the other directives be searched
for.


 0707010005c5a3000081a40000000000000002000000013d1fe2d100001030000000200000000000000000000000000000001900000003reloc/apache/perchild.pl  # perchild.pl
# Defines editors for the per-child UID module in apache 2.0
# The actual functions for most of these are still in core.pl

sub perchild_directives
{
local $rv;
$rv = [ [ 'AssignUserId', 0, 8, 'virtual virtualonly', 2.0 ],
	[ 'ChildPerUserId', 1, 8, 'global', 2.0 ],
	[ 'CoreDumpDirectory', 0, 9, 'global', 2.0 ],
	[ 'BindAddress Listen Port', 1, 1, 'global', 2.0 ],
	[ 'ListenBacklog', 0, 1, 'global', 2.0 ],
	[ 'LockFile', 0, 9, 'global', 2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', 2.0 ],
	[ 'MinSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'MaxSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'MaxThreadsPerChild', 0, 0, 'global', 2.0 ],
	[ 'NumServers', 0, 0, 'global', 2.0 ],
	[ 'PidFile', 0, 9, 'global', 2.0 ],
	[ 'ScoreBoardFile', 0, 9, 'global', 2.0 ],
	[ 'SendBufferSize', 0, 1, 'global', 2.0 ],
	[ 'StartThreads', 0, 0, 'global', 2.0 ],
	[ 'Group', 0, 8, 'global', 2.0, 9 ],
	[ 'User', 0, 8, 'global', 2.0, 10 ] ];
return &make_directives($rv, $_[0], "perchild");
}

sub edit_AssignUserId
{
local $rv;
$rv .= sprintf "<input type=radio name=AssignUserId_def value=1 %s> %s\n",
		$_[0] ? "" : "checked", $text{'core_none'};
$rv .= sprintf "<input type=radio name=AssignUserId_def value=0 %s>\n",
		$_[0] ? "checked" : "";
$rv .= &text('perchild_assignug',
	"<input name=AssignUserId_uid size=8 value='$_[0]->{'words'}->[0]'>",
	"<input name=AssignUserId_gid size=8 value='$_[0]->{'words'}->[1]'>");
return (2, $text{'perchild_assign'}, $rv);
}
sub save_AssignUserId
{
if ($in{'AssignUserId_def'}) {
	return ( [ ] );
	}
else {
	$in{'AssignUserId_uid'} =~ /^-?\d+$/ || &error($text{'perchild_euid'});
	$in{'AssignUserId_gid'} =~ /^-?\d+$/ || &error($text{'perchild_egid'});
	return ( [ "$in{'AssignUserId_uid'} $in{'AssignUserId_gid'}" ] );
	}
}

sub edit_ChildPerUserId
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'perchild_num'}</b></td>\n".
	    "<td><b>$text{'perchild_uid'}</b></td>\n".
	    "<td><b>$text{'perchild_gid'}</b></td> </tr>\n";
local ($c, $i = 0);
foreach $c (@{$_[0]}, undef) {
	local @v = $c ? @{$c->{'words'}} : ();
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=ChildPerUserId_n_$i size=5 value='$v[2]'></td>\n";
	$rv .= "<td><input name=ChildPerUserId_u_$i size=8 value='$v[0]'></td>\n";
	$rv .= "<td><input name=ChildPerUserId_g_$i size=8 value='$v[1]'></td>\n";
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'perchild_child'}, $rv);
}
sub save_ChildPerUserId
{
local (@rv, $i);
for($i=0; defined($in{"ChildPerUserId_n_$i"}); $i++) {
	next if (!$in{"ChildPerUserId_n_$i"});
	$in{"ChildPerUserId_n_$i"} =~ /^[1-9]\d*$/ ||
		&error($text{'perchild_enum'});
	$in{"ChildPerUserId_u_$i"} =~ /^-?\d+$/ ||
		&error($text{'perchild_euid'});
	$in{"ChildPerUserId_g_$i"} =~ /^-?\d+$/ ||
		&error($text{'perchild_egid'});
	push(@rv, $in{"ChildPerUserId_u_$i"}." ".$in{"ChildPerUserId_g_$i"}." ".
		  $in{"ChildPerUserId_n_$i"});
	}
return ( \@rv );
}

sub edit_MinSpareThreads
{
return (1,
	$text{'worker_minspare'},
	&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
{
return &parse_opt("MinSpareThreads", '^\d+$',
		  $text{'worker_eminspare'});
}

sub edit_MaxSpareThreads
{
return (1,
	$text{'worker_maxspare'},
	&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads
{
return &parse_opt("MaxSpareThreads", '^\d+$',
		  $text{'worker_emaxspare'});
}

sub edit_StartThreads
{
return (1,
	$text{'perchild_sthreads'},
	&opt_input($_[0]->{'value'},"StartThreads",$text{'default'}, 4));
}
sub save_StartThreads
{
return &parse_opt("StartThreads", '^\d+$',
		  $text{'perchild_esthreads'});
}

sub edit_NumServers
{
return (1,
	$text{'perchild_numservers'},
	&opt_input($_[0]->{'value'},"NumServers",$text{'default'}, 4));
}
sub save_NumServers
{
return &parse_opt("NumServers", '^\d+$',
		  $text{'perchild_enumservers'});
}

sub edit_MaxThreadsPerChild
{
return (1,
	$text{'perchild_maxthreads'},
	&opt_input($_[0]->{'value'},"MaxThreadsPerChild",$text{'default'}, 4));
}
sub save_MaxThreadsPerChild
{
return &parse_opt("MaxThreadsPerChild", '^\d+$',
		  $text{'perchild_emaxthreads'});
}
0707010005c5a4000081a40000000000000002000000013d1fe2d100000318000000200000000000000000000000000000001800000003reloc/apache/prefork.pl   # prefork.pl
# Defines editors for the pre-forking module in apache 2.0.
# The actual functions for all of these are still in core.pl

sub prefork_directives
{
local $rv;
$rv = [ [ 'CoreDumpDirectory', 0, 9, 'global', 2.0 ],
	[ 'BindAddress Listen Port', 1, 1, 'global', 2.0 ],
	[ 'ListenBacklog', 0, 1, 'global', 2.0 ],
	[ 'LockFile', 0, 9, 'global', 2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', 2.0 ],
	[ 'MinSpareServers', 0, 0, 'global', 2.0 ],
	[ 'MaxSpareServers', 0, 0, 'global', 2.0 ],
	[ 'PidFile', 0, 9, 'global', 2.0 ],
	[ 'ScoreBoardFile', 0, 9, 'global', 2.0 ],
	[ 'SendBufferSize', 0, 1, 'global', 2.0 ],
	[ 'StartServers', 0, 0, 'global', 2.0 ],
	[ 'Group', 0, 8, 'global', 2.0 ],
	[ 'User', 0, 8, 'global', 2.0, 10 ] ];
return &make_directives($rv, $_[0], "prefork");
}


0707010005c5a5000081e40000000000000002000000013d1fe2d100000237000000200000000000000000000000000000001a00000003reloc/apache/reconfig.cgi #!/usr/local/bin/perl
# reconfig.cgi
# Save apache configuration

require './apache-lib.pl';
$access{'global'}==1 || &error($text{'reconfig_ecannot'});
&ReadParse();

foreach $m (split(/\0/, $in{'mods'})) {
	push(@mods, "$m/$in{'ver'}");
	}
&lock_file("$module_config_directory/site");
&read_file("$module_config_directory/site", \%site);
$site{'size'} = $in{'size'};
$site{'modules'} = join(' ', @mods);
&write_file("$module_config_directory/site", \%site);
&unlock_file("$module_config_directory/site");
&webmin_log("reconfig", undef, undef, \%in);
&redirect("");

 0707010005c5a6000081e40000000000000002000000013d1fe2d100000814000000200000000000000000000000000000001f00000003reloc/apache/reconfig_form.cgi    #!/usr/local/bin/perl
# reconfig_form.cgi
# Displays a list of supported modules, and allows the user to pick which
# ones are installed in apache

require './apache-lib.pl';
&ReadParse();
$access{'global'}==1 || &error($text{'reconfig_ecannot'});
if ($in{'vol'}) {
	&header($text{'reconfig_title'}, "");
	}
else {
	&header($text{'reconfig_title'}, "", undef, 1, 1);
	}
print "<hr>\n";

# build list of modules compiled into apache
($ver, $mods) = &httpd_info($config{'httpd_path'});
if (!$ver) {
	print &text('reconfig_ever', "<tt>$config{'httpd_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
foreach $m (@$mods) {
	if (-r "$m.pl") { $inst{$m}++; }
	}

# build list of dynamically loaded modules
$conf = &get_config();
foreach $l (&find_directive_struct("LoadModule", $conf)) {
	if ($l->{'words'}->[1] =~ /(mod_\S+)\.(so|dll)/ && -r "$1.pl") {
		$inst{$1}++;
		}
	elsif ($l->{'words'}->[1] =~ /lib([^\/\s]+)\.(so|dll)/ &&
	       -r "mod_$1.pl") {
		$inst{"mod_$1"}++;
		}
	}

# build list of supported modules
push(@mods, "core");
opendir(DIR, ".");
foreach $f (readdir(DIR)) {
	if ($f =~ /^(mod_\S+|prefork|worker|perchild|mpm_\S+)\.pl$/) { push(@mods, $1); }
	}
closedir(DIR);
@mods = sort { $a cmp $b } @mods;

if (!$in{'vol'}) {
	print "$text{'reconfig_desc1'}<p>\n";
	print "$text{'reconfig_desc3'}\n";
	}
else {
	print "$text{'reconfig_desc2'}\n";;
	}
print "<p> <form action=reconfig.cgi>\n";
print "<input type=hidden name=size value=$in{'size'}>\n";
print "<input type=hidden name=ver value=\"$ver\">\n";
print "<table width=100%>\n";
for($i=0; $i<@mods; $i++) {
	if ($i%4 == 0) { print "<tr>\n"; }
	print "<td><input type=checkbox name=mods value=$mods[$i] ",
	      ($inst{$mods[$i]} ? "checked" : ""),"> $mods[$i]</td>\n";
	if ($i%4 == 3) { print "</tr>\n"; }
	}
print "</table>\n";
print "<input type=submit value=\"$text{'reconfig_ok'}\"></form>\n";

print "<hr>\n";
if ($in{'vol'}) { &footer("", $text{'index_return'}); }
else { &footer("/", $text{'index'}); }

0707010005c5a7000081e40000000000000002000000013d1fe2d100000376000000200000000000000000000000000000001d00000003reloc/apache/remove_vserv.pl  #!/usr/local/bin/perl
# remove_vserv.pl
# Delete an apache virtual server by server name

@ARGV == 1 || die "usage: remove_vserv.pl <servername>";

$no_acl_check++;
$ENV{'WEBMIN_CONFIG'} = "/etc/webmin";
$ENV{'WEBMIN_VAR'} = "/var/webmin";
if ($0 =~ /^(.*\/)[^\/]+$/) {
	chdir($1);
	}
require './apache-lib.pl';
$module_name eq 'apache' || die "Command must be run with full path";
$conf = &get_config();
@virts = &find_directive_struct("VirtualHost", $conf);
foreach $v (@virts) {
	local $sn = &find_directive("ServerName", $v->{'members'});
	if ($sn eq $ARGV[0]) {
		# Found the one to delete ..
		$lref = &read_file_lines($v->{'file'});
		splice(@$lref, $v->{'line'},
		       $v->{'eline'} - $v->{'line'} + 1);
		&flush_file_lines();
		print "Delete virtual server from $v->{'file'} at line ",
		      ($v->{'line'}+1),"\n";
		exit;
		}
	}
print "Failed to find virtual server\n";

  0707010005c5a8000081e40000000000000002000000013d1fe2d10000071c000000200000000000000000000000000000001900000003reloc/apache/restart.cgi  #!/usr/local/bin/perl
# restart.cgi
# Send a SIGHUP to apache

require './apache-lib.pl';
&ReadParse();
&error_setup($text{'restart_err'});

$conf = &get_config();
$pidfilestr = &find_directive_struct("PidFile", $conf);
$pidfile = $pidfilestr ? $pidfilestr->{'words'}->[0]
		       : "logs/httpd.pid";
$pidfile = &server_root($pidfile, $conf);

if ($httpd_modules{'core'} >= 1.301 && $config{'test_config'}) {
	# Test the configuration first
	if (-x $config{'apachectl_path'}) {
		$cmd = "$config{'apachectl_path'} configtest";
		}
	else {
		$out = "$config{'httpd_path'} -d $config{'httpd_dir'} -t";
		if ($config{'httpd_conf'}) {
			$cmd .= " -f $config{'httpd_conf'}";
			}
		}
	$out = `$cmd 2>&1`;
	if ($out && $out !~ /syntax\s+ok/i) {
		&error("<tt>$out</tt>");
		}
	}

if (-x $config{'apachectl_path'}) {
	# use apachectl to restart
	$out = &backquote_logged("$config{'apachectl_path'} restart 2>&1");
	if ($out !~ /httpd restarted/) {
		&error("<tt>$out</tt>");
		}
	}
else {
	# send SIGHUP directly
	open(PID, $pidfile) || &error(&text('restart_epid', $pidfile));
	<PID> =~ /(\d+)/ || &error(&text('restart_epid2', $pidfile));
	close(PID);
	&kill_logged('HUP', $1) || &error(&text('restart_esig', $1));
	}

# Check if restart was successful.. some config file error may have caused it
# to silently fail
sleep(1);
if (!open(PID, $pidfile) || <PID> !~ /(\d+)/ || !kill(0, $1)) {
	# Not running..  find out why
	$errorlogstr = &find_directive_struct("ErrorLog", $conf);
	$errorlog = $errorlogstr ? $errorlogstr->{'words'}->[0]
				 : "logs/error_log";
	if ($errorlog eq 'syslog' || $errorlog =~ /^\|/) {
		&error($text{'restart_eunknown'});
		}
	else {
		$errorlog = &server_root($errorlog, $conf);
		$out = `tail -5 $errorlog`;
		&error("<pre>$out</pre>");
		}
	}
&webmin_log("apply");
&redirect($in{'redir'});

0707010005c5a9000081e40000000000000002000000013d1fe2d100000464000000200000000000000000000000000000002000000003reloc/apache/save_authgroup.cgi   #!/usr/local/bin/perl
# save_authgroup.cgi
# Save, create or delete a group

require './apache-lib.pl';
require './auth-lib.pl';

&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authg_ecannot', $in{'file'}));
if ($in{'delete'}) {
	# Deleting a group
	&delete_authgroup($in{'file'}, $in{'oldgroup'});
	}
else {
	# Creating or updating
	&error_setup($text{'authg_err'});
	$in{'group'} =~ /\S/ || &error($text{'authg_euser'});
	$in{'group'} !~ /:/ || &error($text{'authg_euser2'});

	$oldg = &get_authgroup($in{'file'}, $in{'oldgroup'});
	$ginfo{'group'} = $in{'group'};
	@mems = split(/\s+/, $in{'members'});
	$ginfo{'members'} = \@mems;

	if (defined($in{'oldgroup'})) {
		# updating an old group
		if ($in{'oldgroup'} ne $in{'group'} &&
		    &get_authgroup($in{'file'}, $in{'group'})) {
			&error(&text('authg_edup', $in{'group'}));
			}
		&save_authgroup($in{'file'}, $in{'oldgroup'}, \%ginfo);
		}
	else {
		# creating a new one
		if (&get_authgroup($in{'file'}, $in{'group'})) {
			&error(&text('authg_edup', $in{'group'}));
			}
		&create_authgroup($in{'file'}, \%ginfo);
		}
	}
&redirect($in{'url'});

0707010005c5aa000081e40000000000000002000000013d1fe2d1000004b0000000200000000000000000000000000000001f00000003reloc/apache/save_authuser.cgi    #!/usr/local/bin/perl
# save_authuser.cgi
# Save, create or delete a user

require './apache-lib.pl';
require './auth-lib.pl';

&ReadParse();
&allowed_auth_file($in{'file'}) ||
	&error(&text('authu_ecannot', $in{'file'}));
if ($in{'delete'}) {
	# Deleting a user
	&delete_authuser($in{'file'}, $in{'olduser'});
	}
else {
	# Creating or updating
	&error_setup($text{'authu_err'});
	$in{'user'} =~ /\S/ || &error($text{'authu_euser'});
	$in{'user'} !~ /:/ || &error($text{'authu_euser2'});

	$oldu = &get_authuser($in{'file'}, $in{'olduser'});
	$uinfo{'user'} = $in{'user'};
	if ($in{'mode'}) {
		$uinfo{'pass'} = $in{'enc'};
		}
	else {
		$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
		$uinfo{'pass'} = crypt($in{'pass'}, $salt);
		}

	if (defined($in{'olduser'})) {
		# updating an old user
		if ($in{'olduser'} ne $in{'user'} &&
		    &get_authuser($in{'file'}, $in{'user'})) {
			&error(&text('authu_edup', $in{'user'}));
			}
		&save_authuser($in{'file'}, $in{'olduser'}, \%uinfo);
		}
	else {
		# creating a new one
		if (&get_authuser($in{'file'}, $in{'user'})) {
			&error(&text('authu_edup', $in{'user'}));
			}
		&create_authuser($in{'file'}, \%uinfo);
		}
	}
&redirect($in{'url'});

0707010005c5ab000081e40000000000000002000000013d1fe2d1000001bf000000200000000000000000000000000000001e00000003reloc/apache/save_defines.cgi #!/usr/local/bin/perl
# save_defines.cgi
# Save defined run-time httpd parameters

require './apache-lib.pl';
$access{'global'}==1 || &error($text{'defines_ecannot'});
&lock_file("$module_config_directory/site");
&ReadParse();
$site{'defines'} = join(" ", split(/\s+/, $in{'defines'}));
&write_file("$module_config_directory/site", \%site);
&unlock_file("$module_config_directory/site");
&webmin_log("defines", undef, undef, \%in);
&redirect("");
 0707010005c5ac000081e40000000000000002000000013d1fe2d1000002e8000000200000000000000000000000000000001a00000003reloc/apache/save_dir.cgi #!/usr/local/bin/perl
# save_virt.cgi
# Save some kind of per-directory configuration

require './apache-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
$d = $vconf->[$in{'idx'}];
$conf = $d->{'members'};
@edit = &editable_directives($in{'type'}, 'directory');

&lock_apache_files();
$tn = $type_name[$in{'type'}]; $tn =~ tr/A-Z/a-z/;
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_apache_files();
&webmin_log("dir", $in{'type'},
	    &virtual_name($v, 1).":".$d->{'words'}->[0], \%in);

&redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}");
0707010005c5ad000081e40000000000000002000000013d1fe2d1000002ef000000200000000000000000000000000000001c00000003reloc/apache/save_files.cgi   #!/usr/local/bin/perl
# save_files.cgi
# Save some kind of per-files options

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
&allowed_auth_file($in{'file'}) || &error($text{'htindex_ecannot'});
$hconf = &get_htaccess_config($in{'file'});
$d = $hconf->[$in{'idx'}];
$conf = $d->{'members'};
@edit = &editable_directives($in{'type'}, 'directory');

&lock_file($in{'file'});
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, $hconf);
&unlock_file($in{'file'});
&webmin_log("files", $in{'type'}, "$in{'file'}:$d->{'words'}->[0]", \%in);

&redirect("files_index.cgi?file=".&urlize($in{'file'})."&idx=$in{'idx'}");
 0707010005c5ae000081e40000000000000002000000013d1fe2d100000202000000200000000000000000000000000000001d00000003reloc/apache/save_global.cgi  #!/usr/local/bin/perl
# save_global.cgi
# Save some type of global options

require './apache-lib.pl';
&ReadParse();
$access{'global'}==1 || &error($text{'global_ecannot'});
$access_types{$in{'type'}} ||
	&error($text{'etype'});
&lock_apache_files();
$conf = &get_config();
@edit = &editable_directives($in{'type'}, 'global');

&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, $conf);
&unlock_apache_files();
&webmin_log("global", $in{'type'}, undef, \%in);

&redirect("");

  0707010005c5af000081e40000000000000002000000013d1fe2d1000002e0000000200000000000000000000000000000002100000003reloc/apache/save_gmime_type.cgi  #!/usr/local/bin/perl
# save_gmime_type.cgi
# Add or change a MIME type

require './apache-lib.pl';
&ReadParse();
$access{'global'}==1 || &error($text{'mime_ecannot'});

&error_setup($text{'mime_err'});
if ($in{'type'} !~ /^([A-z0-9\-\.]+)\/([A-z0-9\-\.]+)$/) {
	&error(&text('mime_etype', $in{'type'}));
	}

&lock_file($in{'file'});
open(MIME, $in{'file'});
@mime = <MIME>;
close(MIME);
$line = "$in{'type'} ".join(" ", split(/\s+/, $in{'exts'}))."\n";
if ($in{'line'}) {
	$mime[$in{'line'}] = $line;
	}
else {
	push(@mime, $line);
	}
open(MIME, "> $in{'file'}");
print MIME @mime;
close(MIME);
&unlock_file($in{'file'});
&webmin_log("mime", $in{'line'} ? 'modify' : 'create', $in{'type'}, \%in);
&redirect("edit_global.cgi?type=6");

0707010005c5b0000081e40000000000000002000000013d1fe2d1000002a5000000200000000000000000000000000000001f00000003reloc/apache/save_htaccess.cgi    #!/usr/local/bin/perl
# save_htaccess.cgi
# Save some kind of per-directory options file

require './apache-lib.pl';
&ReadParse();
$access{'global'} || &error($text{'htaccess_ecannot'});
$access_types{$in{'type'}} ||
	&error($text{'etype'});
&allowed_auth_file($in{'file'}) ||
	&error($text{'htindex_ecannot'});
$conf = &get_htaccess_config($in{'file'});
@edit = &editable_directives($in{'type'}, 'htaccess');

&lock_file($in{'file'});
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, $conf);
&unlock_file($in{'file'});
&webmin_log("htaccess", $in{'type'}, $in{'file'}, \%in);

&redirect("htaccess_index.cgi?file=".&urlize($in{'file'}));
   0707010005c5b1000081e40000000000000002000000013d1fe2d1000001ee000000200000000000000000000000000000001b00000003reloc/apache/save_sync.cgi    #!/usr/local/bin/perl
# save_sync.cgi
# Save user synchronisation options

require './apache-lib.pl';
require './auth-lib.pl';
&ReadParse();
&allowed_auth_file($in{'file'}) || &error(&text('authu_ecannot', $in{'file'}));
$in{'sync'} =~ s/\0/ /g;
if ($in{'sync'}) {
	$config{"sync_$in{'file'}"} = $in{'sync'};
	}
else {
	delete($config{"sync_$in{'file'}"});
	}
&write_file("$module_config_directory/config", \%config);
&redirect("list_authusers.cgi?file=$in{'file'}&url=".&urlize($in{'url'}));

  0707010005c5b2000081e40000000000000002000000013d1fe2d1000002de000000200000000000000000000000000000001b00000003reloc/apache/save_virt.cgi    #!/usr/local/bin/perl
# save_virt.cgi
# Save some kind of per-server configuration

require './apache-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
$access_types{$in{'type'}} || &error($text{'etype'});
$in{'type'} == 8 && !$access{'vuser'} &&
	&error($text{'virt_euser'});
@edit = &editable_directives($in{'type'}, 'virtual');
if (!$in{'virt'}) {
	@edit = grep { !$_->{'virtualonly'} } @edit;
	}

&lock_apache_files();
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_apache_files();
&webmin_log("virt", $in{'type'}, &virtual_name($v, 1), \%in);

&redirect("virt_index.cgi?virt=$in{'virt'}");
  0707010005c5b3000081e40000000000000002000000013d1fe2d100000b5e000000200000000000000000000000000000001c00000003reloc/apache/save_vserv.cgi   #!/usr/local/bin/perl
# save_vserv.cgi
# Save virtual server options such as the port and address

require './apache-lib.pl';
&ReadParse();
$access{'vaddr'} || &error($text{'vserv_ecannot'});
$conf = &get_config();
$vconf = $conf->[$in{'virt'}];

if ($in{'delete'}) {
	# Delete a virtual server
	$vname = &virt_acl_name($vconf);
	&lock_file($vconf->{'file'});
	$lref = &read_file_lines($vconf->{'file'});
	if ($vconf->{'line'} && $lref->[$vconf->{'line'}-1] !~ /\S/) {
		# Remove one blank line before vserv
		$vconf->{'line'}--;
		}
	splice(@$lref, $vconf->{'line'},
	       $vconf->{'eline'} - $vconf->{'line'} + 1);
	&flush_file_lines();
	&unlock_file($vconf->{'file'});

	# Remove from acls
	&read_acl(undef, \%wusers);
	foreach $u (keys %wusers) {
		%uaccess = &get_module_acl($u);
		$uaccess{'virts'} = join(' ', grep { $_ ne $vname }
					      split(/\s+/, $uaccess{'virts'}));
		&save_module_acl(\%uaccess, $u) if ($uaccess{'virts'} ne '*');
		}
	&webmin_log("virt", "delete", &virtual_name($vconf, 1));
	&redirect("");
	}
else {
	# Update virtual server and directives
	&error_setup($text{'vserv_err'});

	# Check address
	if (defined($in{'addrs'})) {
		local @addrs = split(/\s+/, $in{'addrs'});
		@addrs || &error($text{'vserv_eaddrs'});
		foreach $a (@addrs) {
			$a =~ s/:(\d+)$//;
			$a eq '*' || $a eq '_default_' ||
			gethostbyname($a) || &check_ipaddress($a) ||
				&error(&text('vserv_eaddr2', $a));
			}
		$addr = join(" ", @addrs);
		}
	else {
		if ($in{'addr_def'}) {
			if ($httpd_modules{'core'} >= 1.2)
				{ $addr = "_default_"; }
			else { $addr = "*"; }
			}
		elsif ($in{'addr'} !~ /\S/) { &error($text{'vserv_eaddr1'}); }
		elsif (!gethostbyname($in{'addr'}) &&
		       !&check_ipaddress($in{'addr'}))
			{ &error(&text('vserv_eaddr2', $in{'addr'})); }
		else { $addr = $in{'addr'}; }
		}

	# Check port
	if ($in{'port_mode'} == 0) { $port = ""; }
	elsif ($in{'port_mode'} == 1) { $port = ":*"; }
	elsif ($in{'port'} !~ /^\d+$/) {
		&error(&text('vserv_eport', $in{'port'}));
		}
	else { $port = ":$in{'port'}"; }

	# Check document root
	if (!$in{'root_def'}) {
		(-d $in{'root'}) ||
			&error(&text('vserv_eroot', $in{'root'}));
		$root = $in{'root'};
		}

	# Check server name
	if (!$in{'name_def'}) {
		$in{'name'} =~ /^\S+$/ ||
			&error(&text('vserv_ename', $in{'name'}));
		$name = $in{'name'};
		}

	# Update <VirtualHost> directive
	&lock_file($vconf->{'file'});
	$lref = &read_file_lines($vconf->{'file'});
	$lref->[$vconf->{'line'}] = "<VirtualHost $addr$port>";

	# Update DocumentRoot and ServerName
	&save_directive("DocumentRoot", $root ? [ $root ] : [ ],
			$vconf->{'members'}, $conf);
	&save_directive("ServerName", $name ? [ $name ] : [ ],
			$vconf->{'members'}, $conf);

	# write out file
	&flush_file_lines();
	&unlock_file($vconf->{'file'});
	&webmin_log("virt", "save", &virtual_name($vconf, 1), \%in);
	&redirect("virt_index.cgi?virt=$in{'virt'}");
	}

  0707010005c5b4000081e40000000000000002000000013d1fe2d10000104d000000200000000000000000000000000000001d00000003reloc/apache/search_virt.cgi  #!/usr/local/bin/perl
# search_virt.cgi
# Display a list of virtual servers matching some search

require './apache-lib.pl';
&ReadParse();

# add the default server
$conf = &get_config();
if (&can_edit_virt()) {
	push(@vname, $text{'index_defserv'});
	push(@vlink, "virt_index.cgi");
	push(@vdesc, $text{'index_defdesc1'});
	push(@vaddr, $text{'index_any'});
	push(@vaddr2, '');
	push(@vport, $text{'index_any'});
	push(@vport2, '');
	push(@vserv, &def(scalar(&find_directive("ServerName", $conf)),
			  $text{'index_auto'}));
	push(@vserv2, scalar(&find_directive("ServerName", $conf)));
	push(@vroot, &def(scalar(&find_directive("DocumentRoot", $conf)),
			  $text{'index_auto'}));
	push(@vroot2, scalar(&find_directive("DocumentRoot", $conf)));
	}

# add other servers
@virt = &find_directive_struct("VirtualHost", $conf);
if ($httpd_modules{'core'} >= 1.3) {
	# build list of name-based virtual host IP addresses
	@nv = &find_directive("NameVirtualHost", $conf);
	foreach $nv (@nv) {
		$nv{&to_ipaddress($nv)}++;
		}
	}
elsif ($httpd_modules{'core'} >= 1.2) {
	# only one name-based virtual host IP address - the default address
	$ba = &find_directive("ServerName", $conf);
	$nv{&to_ipaddress($ba ? $ba : &get_system_hostname())}++;
	}
@virt = grep { &can_edit_virt($_) } @virt;
foreach $v (@virt) {
	$vm = $v->{'members'};
	if ($v->{'value'} =~ /^(\S+):(\S+)$/) {
		$addr = $1;
		$port = $2;
		}
	else {
		$addr = $v->{'value'};
		if ($httpd_modules{'core'} < 2.0) {
			$port = &def(&find_directive("Port", $conf), 80);
			}
		else {
			$port = "*";
			}
		}
	push(@vname, $text{'index_virt'});
	push(@vlink, "virt_index.cgi?virt=".&indexof($v, @$conf));
	$sname = scalar(&find_directive("ServerName", $vm));
	if ($addr ne "_default_" && $addr ne "*" && $nv{&to_ipaddress($addr)}) {
		push(@vdesc, &text('index_vname', "<tt>$sname</tt>",
				   "<tt>$addr</tt>"));
		}
	elsif (($addr eq "_default_" || $addr eq "*") && $port eq "*") {
		push(@vdesc, $text{'index_vdef'});
		$vdesc[0] = $text{'index_defdesc2'};
		}
	elsif ($addr eq "_default_" || $addr eq "*") {
		push(@vdesc, &text('index_vport', $port));
		}
	elsif ($port eq "*") {
		push(@vdesc, &text('index_vaddr', "<tt>$addr</tt>"));
		}
	else {
		push(@vdesc, &text('index_vaddrport', "<tt>$addr</tt>", $port));
		}
	push(@vaddr, $addr eq "_default_" || $addr eq "*" ? $text{'index_any'}
							  : $addr);
	push(@vaddr2, $addr eq "_default_" || $addr eq '*' ? '' : $addr);
	push(@vport, $port eq "*" ? $text{'index_any'} : $port);
	push(@vport2, $port eq "*" ? '' : $port);
	push(@vserv, &def(&find_vdirective("ServerName", $vm, $conf),
			  $text{'index_auto'}));
	push(@vserv2, &find_vdirective("ServerName", $vm, $conf));
	push(@vroot, &def(&find_vdirective("DocumentRoot", $vm, $conf),
			  $text{'index_default'}));
	push(@vroot2, &find_vdirective("DocumentRoot", $vm, $conf));
	}

# do the search
for($i=0; $i<@vname; $i++) {
	local $f = $in{'field'} eq 'name' ? $vserv2[$i] :
		   $in{'field'} eq 'port' ? $vport2[$i] :
		   $in{'field'} eq 'addr' ? $vaddr2[$i] : $vroot2[$i];
	if ($in{'match'} == 0 && $f eq $in{'what'} ||
	    $in{'match'} == 1 && eval { $f =~ /\Q$in{'what'}\E/i } ||
	    $in{'match'} == 2 && $f ne $in{'what'} ||
	    $in{'match'} == 3 && eval { $f !~ /\Q$in{'what'}\E/i }) {
		push(@match, $i);
		}
	}

# show the results
if (@match == 1 && 0) {
	&redirect($vlink[$vmatch[0]]);
	}
else {
	&header($text{'search_title'}, "");
	print "<hr>\n";
	if (@match == 0) {
		print "<p><b>$text{'search_notfound'}</b>. <p>\n";
		}
	else {
		print "<table width=100% border=1>\n";
		print "<tr $tb> <td><b>$text{'index_type'}</b></td> ",
		      "<td><b>$text{'index_addr'}</b></td> ",
		      "<td><b>$text{'index_port'}</b></td> ",
		      "<td><b>$text{'index_name'}</b></td> ",
		      "<td><b>$text{'index_root'}</b></td> </tr>\n";
		foreach $i (@match) {
			print "<tr $cb>\n";
			print "<td><a href='$vlink[$i]'>$vname[$i]</a></td>\n";
			print "<td>$vaddr[$i]</td>\n";
			print "<td>$vport[$i]</td>\n";
			print "<td>$vserv[$i]</td>\n";
			print "<td>$vroot[$i]</td>\n";
			print "</tr>\n";
			}
		print "</table><br>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

   0707010005c5b5000081e40000000000000002000000013d1fe2d100000ecb000000200000000000000000000000000000001600000003reloc/apache/show.cgi #!/usr/local/bin/perl
# show.cgi
# Show directives from a virtualhost, directory or .htaccess

require './apache-lib.pl';
&ReadParse();
&header($text{'show_title'}, "");
if (defined($in{'virt'})) {
	if (defined($in{'idx'})) {
		# directory within virtual server
		($vconf, $v) = &get_virtual_config($in{'virt'});
		$d = $vconf->[$in{'idx'}];
		$conf = $d->{'members'};
		$title = &text('dir_header', &dir_name($d), &virtual_name($v));
		$edit = "edit_dir.cgi"; $return = "dir_index.cgi";
		$editable = 'directory'; $rmsg = $text{'dir_return'};
		}
	else {
		# virtual server
		($conf, $v) = &get_virtual_config($in{'virt'});
		$title = &text('virt_header', &virtual_name($v));
		$edit = "edit_virt.cgi"; $return = "virt_index.cgi";
		$editable = 'virtual'; $rmsg = $text{'virt_return'};
		$dir = "dir_index.cgi";
		}
	}
else {
	if (defined($in{'idx'})) {
		# files within .htaccess file
		$hconf = &get_htaccess_config($in{'file'});
		$d = $hconf->[$in{'idx'}];
		$conf = $d->{'members'};
		$title = &text('htfile_header', &dir_name($d),
			       "<tt>$in{'file'}</tt>");
		$edit = "edit_files.cgi"; $return = "htaccess_index.cgi";
		$editable = "directory"; $rmsg = $text{'htindex_return'};
		}
	else {
		# .htaccess file
		$conf = &get_htaccess_config($in{'file'});
		$title = &text('htindex_header', "<tt>$in{'file'}</tt>");
		$edit = "edit_htaccess.cgi"; $return = "htaccess_index.cgi";
		$editable = 'htaccess'; $rmsg = $text{'htindex_return'};
		$dir = "files_index.cgi";
		}
	}
print "<center><font size=+2>$title</font></center>\n";
print "<hr>\n";

foreach $h ('virt', 'idx', 'file') {
	if (defined($in{$h})) {
		$s .= "<input type=hidden name=$h value='$in{$h}'>\n";
		push(@args, "$h=$in{$h}");
		}
	}
$args = join('&', @args);

for($i=0; $i<$directive_type_count; $i++) {
	foreach $e (&editable_directives($i, $editable)) {
		foreach $n (split(/\s+/, $e->{'name'})) {
			$edit{lc($n)} = $e;
			push(@elist, { 'name' => $n, 'edit' => $e });
			}
		}
	}
@elist = sort { $a->{'name'} cmp $b->{'name'} } @elist;

print "<table><tr><td colspan=2>\n";
print "<table border><tr><td $cb><pre>\n\n";
&show_directives($conf, 0);
print "</pre></td></tr></table>\n";
print "</td></tr>\n";

if ($in{'virt'} || $in{'file'} || defined($in{'idx'})) {
	print "<tr><form action=manual_form.cgi>\n";
	print $s;
	print "<td><input type=submit name=these ",
	      "value='$text{'show_these'}'></td>\n";
	print "</form>\n";
	}
else {
	print "<tr> <td></td>\n";
	}

print "<form action=$edit>\n";
print $s;
print "<td align=right><input type=submit value='$text{'show_edit'}'>\n";
print "<select name=type>\n";
foreach $e (@elist) {
	print "<option value=",$e->{'edit'}->{'type'},">",
	      $e->{'name'},"\n";
	}
print "</select></td>\n";
print "</form></tr></table>\n";

print "<hr>\n";
&footer("$return?$args", $rmsg);

# show_directives(list, indent)
sub show_directives
{
local ($list, $ind) = @_;
local $idx;
for($idx=0; $idx<@$list; $idx++) {
	local $d = $list->[$idx];
	next if ($d->{'name'} eq "dummy");
	$t = $edit{lc($d->{'name'})};
	if ($d->{'type'}) {
		# Recurse into section
		local ($ed1, $ed2);
		print " " x $ind;
		if ($d->{'name'} eq "VirtualHost") { next; }
		elsif ($d->{'name'} =~ /Location|Files|Directory/) {
			$ed1 = "<a href=\"$dir?$args&".
			       "idx=$idx\">";
			$ed2 = "</a>";
			}
		print $ed1,"&lt;",$d->{'name'}," ",$d->{'value'},
		      "&gt;",$ed2,"\n";
		&show_directives($d->{'members'}, $ind+1);
		print " " x $ind;
		print "&lt;/",$d->{'name'},"&gt;\n";
		}
	elsif ($_[1] || !$access_types{$t->{'type'}}) {
		# Directives in section are not editable
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind);
		}
	else {
		next if (!$t);
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind,
			    "$edit?$args&type=$t->{'type'}");
		}
	}
}

 0707010005c5b6000081e40000000000000002000000013d1fe2d10000082f000000200000000000000000000000000000001a00000003reloc/apache/show_dir.cgi #!/usr/local/bin/perl
# show_dir.cgi
# Show directives from a directory (or equivalent) section

require './apache-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
$d = $vconf->[$in{'idx'}];
$conf = $d->{'members'};
&header($text{'show_title'}, "");
print "<center><font size=+2>",&text('dir_header', &dir_name($d),
				     &virtual_name($v)),"</font></center>\n";
print "<hr>\n";

for($i=0; $i<$directive_type_count; $i++) {
	foreach $e (&editable_directives($i, 'directory')) {
		foreach $n (split(/\s+/, $e->{'name'})) {
			$edit{lc($n)} = $e;
			push(@elist, { 'name' => $n, 'edit' => $e });
			}
		}
	}
@elist = sort { $a->{'name'} cmp $b->{'name'} } @elist;

print "<table border><tr><td $cb><pre>\n\n";
&show_directives($conf, 0);
print "</pre></td></tr></table><p>\n";

print "<form action=edit_dir.cgi>\n";
print "<input type=hidden name=virt value=\"$in{'virt'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<b>$text{'show_edit'}</b>\n";
print "<select name=type>\n";
foreach $e (@elist) {
	print "<option value=",$e->{'edit'}->{'type'},">",
	      $e->{'name'},"\n";
	}
print "</select> <input type=submit value=\"$text{'show_ok'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}", $text{'dir_return'});

# show_directives(list, indent)
sub show_directives
{
local ($list, $ind) = @_;
local $idx;
for($idx=0; $idx<@$list; $idx++) {
	local $d = $list->[$idx];
	next if ($d->{'name'} eq "dummy");
	$t = $edit{lc($d->{'name'})};
	if ($d->{'type'}) {
		# Recurse into section
		print " " x $ind;
		print "&lt;",$d->{'name'}," ",$d->{'value'},"&gt;\n";
		&show_directives($d->{'members'}, $ind+1);
		print " " x $ind;
		print "&lt;/",$d->{'name'},"&gt;\n";
		}
	elsif ($_[1] || !$access_types{$t->{'type'}}) {
		# Directives in section are not editable
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind);
		}
	else {
		next if (!$t);
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind,
			    "edit_dir.cgi?virt=$in{'virt'}&type=$t->{'type'}&idx=$in{'idx'}");
		}
	}
}

 0707010005c5b7000081e40000000000000002000000013d1fe2d10000082f000000200000000000000000000000000000001c00000003reloc/apache/show_files.cgi   #!/usr/local/bin/perl
# show_files.cgi
# Show directives from a files section in a .htaccess file

require './apache-lib.pl';
&ReadParse();
$hconf = &get_htaccess_config($in{'file'});
$d = $hconf->[$in{'idx'}];
$conf = $d->{'members'};
&header($text{'show_title'}, "");
print "<center><font size=+2>",&text('htfile_header', &dir_name($d),
      "<tt>$in{'file'}</tt>"),"</font></center>\n";
print "<hr>\n";

for($i=0; $i<$directive_type_count; $i++) {
	foreach $e (&editable_directives($i, 'directory')) {
		foreach $n (split(/\s+/, $e->{'name'})) {
			$edit{lc($n)} = $e;
			push(@elist, { 'name' => $n, 'edit' => $e });
			}
		}
	}
@elist = sort { $a->{'name'} cmp $b->{'name'} } @elist;

print "<table border><tr><td $cb><pre>\n\n";
&show_directives($conf, 0);
print "</pre></td></tr></table><p>\n";

print "<form action=edit_files.cgi>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<b>$text{'show_edit'}</b>\n";
print "<select name=type>\n";
foreach $e (@elist) {
	print "<option value=",$e->{'edit'}->{'type'},">",
	      $e->{'name'},"\n";
	}
print "</select> <input type=submit value=\"$text{'show_ok'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("htaccess_index.cgi?file=$in{'file'}", $text{'htindex_return'});

# show_directives(list, indent)
sub show_directives
{
local ($list, $ind) = @_;
local $idx;
for($idx=0; $idx<@$list; $idx++) {
	local $d = $list->[$idx];
	next if ($d->{'name'} eq "dummy");
	$t = $edit{lc($d->{'name'})};
	if ($d->{'type'}) {
		# Recurse into section
		print " " x $ind;
		print "&lt;",$d->{'name'}," ",$d->{'value'},"&gt;\n";
		&show_directives($d->{'members'}, $ind+1);
		print " " x $ind;
		print "&lt;/",$d->{'name'},"&gt;\n";
		}
	elsif ($_[1] || !$access_types{$t->{'type'}}) {
		# Directives in section are not editable
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind);
		}
	else {
		next if (!$t);
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind,
			    "edit_files.cgi?file=$in{'file'}&type=$t->{'type'}&idx=$in{'idx'}");
		}
	}
}

 0707010005c5b8000081e40000000000000002000000013d1fe2d100000847000000200000000000000000000000000000001f00000003reloc/apache/show_htaccess.cgi    #!/usr/local/bin/perl
# show_htaccess.cgi
# Show directives from a .htaccess

require './apache-lib.pl';
&ReadParse();
$conf = &get_htaccess_config($in{'file'});
&header($text{'show_title'}, "");
print "<center><font size=+2>",&text('htindex_header', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";

for($i=0; $i<$directive_type_count; $i++) {
	foreach $e (&editable_directives($i, 'htaccess')) {
		foreach $n (split(/\s+/, $e->{'name'})) {
			$edit{lc($n)} = $e;
			push(@elist, { 'name' => $n, 'edit' => $e });
			}
		}
	}
@elist = sort { $a->{'name'} cmp $b->{'name'} } @elist;

print "<table border><tr><td $cb><pre>\n\n";
&show_directives($conf, 0);
print "</pre></td></tr></table><p>\n";

print "<form action=edit_htaccess.cgi>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<b>$text{'show_edit'}</b>\n";
print "<select name=type>\n";
foreach $e (@elist) {
	print "<option value=",$e->{'edit'}->{'type'},">",
	      $e->{'name'},"\n";
	}
print "</select> <input type=submit value=\"$text{'show_ok'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("htaccess_index.cgi?file=$in{'file'}", $text{'htindex_return'});

# show_directives(list, indent)
sub show_directives
{
local ($list, $ind) = @_;
local $idx;
for($idx=0; $idx<@$list; $idx++) {
	local $d = $list->[$idx];
	next if ($d->{'name'} eq "dummy");
	$t = $edit{lc($d->{'name'})};
	if ($d->{'type'}) {
		# Recurse into section
		local ($ed1, $ed2);
		print " " x $ind;
		if ($d->{'name'} =~ /Files/) {
			$ed1 = "<a href=\"files_index.cgi?idx=$idx&".
			       "file=$in{'file'}\">";
			$ed2 = "</a>";
			}
		print $ed1,"&lt;",$d->{'name'}," ",$d->{'value'},
		      "&gt;",$ed2,"\n";
		&show_directives($d->{'members'}, $ind+1);
		print " " x $ind;
		print "&lt;/",$d->{'name'},"&gt;\n";
		}
	elsif ($_[1] || !$access_types{$t->{'type'}}) {
		# Directives in section are not editable
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind);
		}
	else {
		next if (!$t);
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind,
			    "edit_htaccess.cgi?file=$in{'file'}&type=$t->{'type'}");
		}
	}
}

 0707010005c5b9000081e40000000000000002000000013d1fe2d10000087d000000200000000000000000000000000000001b00000003reloc/apache/show_virt.cgi    #!/usr/local/bin/perl
# show_virt.cgi
# Show directives from a virtualhost section

require './apache-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&header($text{'show_title'}, "");
print "<center><font size=+2>",&text('virt_header', &virtual_name($v)),
      "</font></center>\n";
print "<hr>\n";

for($i=0; $i<$directive_type_count; $i++) {
	foreach $e (&editable_directives($i, 'virtual')) {
		foreach $n (split(/\s+/, $e->{'name'})) {
			$edit{lc($n)} = $e;
			push(@elist, { 'name' => $n, 'edit' => $e });
			}
		}
	}
@elist = sort { $a->{'name'} cmp $b->{'name'} } @elist;

print "<table border><tr><td $cb><pre>\n\n";
&show_directives($conf, 0);
print "</pre></td></tr></table><p>\n";

print "<form action=edit_virt.cgi>\n";
print "<input type=hidden name=virt value=\"$in{'virt'}\">\n";
print "<b>$text{'show_edit'}</b>\n";
print "<select name=type>\n";
foreach $e (@elist) {
	print "<option value=",$e->{'edit'}->{'type'},">",
	      $e->{'name'},"\n";
	}
print "</select> <input type=submit value=\"$text{'show_ok'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'});

# show_directives(list, indent)
sub show_directives
{
local ($list, $ind) = @_;
local $idx;
for($idx=0; $idx<@$list; $idx++) {
	local $d = $list->[$idx];
	next if ($d->{'name'} eq "dummy");
	$t = $edit{lc($d->{'name'})};
	if ($d->{'type'}) {
		# Recurse into section
		local ($ed1, $ed2);
		print " " x $ind;
		if ($d->{'name'} eq "VirtualHost") { next; }
		elsif ($d->{'name'} =~ /Location|Files|Directory/) {
			$ed1 = "<a href=\"dir_index.cgi?virt=$in{'virt'}&".
			       "idx=$idx\">";
			$ed2 = "</a>";
			}
		print $ed1,"&lt;",$d->{'name'}," ",$d->{'value'},
		      "&gt;",$ed2,"\n";
		&show_directives($d->{'members'}, $ind+1);
		print " " x $ind;
		print "&lt;/",$d->{'name'},"&gt;\n";
		}
	elsif ($_[1] || !$access_types{$t->{'type'}}) {
		# Directives in section are not editable
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind);
		}
	else {
		next if (!$t);
		&print_line($d, [ $d->{'name'}," ",$d->{'value'} ], $ind,
			    "edit_virt.cgi?virt=$in{'virt'}&type=$t->{'type'}");
		}
	}
}

   0707010005c5ba000081e40000000000000002000000013d1fe2d10000084e000000200000000000000000000000000000001700000003reloc/apache/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start apache with the server root from the config files

require './apache-lib.pl';
&ReadParse();
&error_setup($text{'start_err'});

&clean_environment();

$access{'stop'} || &error($text{'start_ecannot'});
if ($config{'start_cmd'}) {
	# use the configured start command
	if ($config{'stop_cmd'}) {
		# execute the stop command to clear lock files
		&system_logged("( $config{'stop_cmd'} ) >/dev/null 2>&1");
		}
	$out = &backquote_logged("( $config{'start_cmd'} ) 2>&1");
	&reset_environment();
	if ($?) {
		&error("<pre>$out</pre>");
		}
	}
elsif (-x $config{'apachectl_path'}) {
	# use the apachectl program
	$out = &backquote_logged("( $config{'apachectl_path'} start ) 2>&1");
	&reset_environment();
	if ($out =~ /\S/ && $out !~ /httpd started/) {
		&error("<pre>$out</pre>");
		}
	}
else {
	# start manually
	$cmd = "$config{'httpd_path'} -d $config{'httpd_dir'}";
	if ($config{'httpd_conf'}) { $cmd .= " -f $config{'httpd_conf'}"; }
	$temp = &tempname();
	$rv = &system_logged("( $cmd ) >$temp 2>&1 </dev/null");
	$out = `cat $temp`;
	unlink($temp);
	&reset_environment();
	if ($out =~ /\S/ && $out !~ /httpd started/) {
		&error("<pre>$cmd :\n$out</pre>");
		}
	}

# check if startup was successful. Later apache version return no
# error code, but instead fail to start and write the reason to
# the error log file!
sleep(3);
$conf = &get_config();
$pidfilestr = &find_directive_struct("PidFile", $conf);
$pidfile = $pidfilestr ? $pidfilestr->{'words'}->[0]
		       : "logs/httpd.pid";
$pidfile = &server_root($pidfile, $conf);
if (!open(PID, $pidfile) || <PID> !~ /(\d+)/ || !kill(0, $1)) {
	# Not running..  find out why
	$errorlogstr = &find_directive_struct("ErrorLog", $conf);
	$errorlog = $errorlogstr ? $errorlogstr->{'words'}->[0]
				 : "logs/error_log";
	if ($out =~ /\S/) {
		&error("<pre>$out</pre>");
		}
	elsif ($errorlog eq 'syslog' || $errorlog =~ /^\|/) {
		&error($text{'start_eunknown'});
		}
	else {
		$errorlog = &server_root($errorlog, $conf);
		$out = `tail -5 $errorlog`;
		&error("<pre>$out</pre>");
		}
	}
&webmin_log("start");
&redirect($in{'redir'});

  0707010005c5bb000081e40000000000000002000000013d1fe2d10000041e000000200000000000000000000000000000001600000003reloc/apache/stop.cgi #!/usr/local/bin/perl
# stop.cgi
# Stop the running apache server

require './apache-lib.pl';
&ReadParse();
&error_setup($text{'stop_err'});

$access{'stop'} || &error($text{'stop_ecannot'});
if ($config{'stop_cmd'}) {
	# use the configured stop command
	$out = &backquote_logged("( $config{'stop_cmd'} ) 2>&1");
	if ($?) {
		&error("<tt>$out</tt>");
		}
	}
elsif (-x $config{'apachectl_path'}) {
	# use the apachectl program
	$out = &backquote_logged("( $config{'apachectl_path'} stop ) 2>&1");
	if ($out !~ /httpd stopped/) {
		&error("<tt>$out</tt>");
		}
	}
else {
	# kill the process
	$conf = &get_config();
	$pidfilestr = &find_directive_struct("PidFile", $conf);
	$pidfile = $pidfilestr ? $pidfilestr->{'words'}->[0]
			       : "logs/httpd.pid";
	$pidfile = &server_root($pidfile, $conf);

	open(PID, $pidfile) || &error(&text('stop_epid', $pidfile));
	<PID> =~ /(\d+)/ || &error(&text('stop_epid2', $pidfile));
	close(PID);
	&kill_logged('TERM', $1) || &error(&text('stop_esig', $1));
	}
sleep(1);
&webmin_log("stop");
&redirect($in{'redir'});

  0707010005c5bc000081a40000000000000002000000013d1fe2d1000003bd000000200000000000000000000000000000002100000003reloc/apache/useradmin_update.pl  
do 'apache-lib.pl';
do 'auth-lib.pl';

foreach $k (keys %config) {
	if ($k =~ /^sync_(.*)$/) {
		push(@sync, [ $1, $config{$k} ]);
		}
	}

# useradmin_create_user(&details)
sub useradmin_create_user
{
foreach $s (@sync) {
	if ($s->[1] =~ /create/ && !&get_authuser($s->[0], $_[0]->{'user'})) {
		&lock_file($s->[0]);
		&create_authuser($s->[0], { 'user' => $_[0]->{'user'},
					    'pass' => $_[0]->{'pass'} });
		&unlock_file($s->[0]);
		}
	}
}

# useradmin_delete_user(&details)
sub useradmin_delete_user
{
foreach $s (@sync) {
	if ($s->[1] =~ /delete/) {
		&lock_file($s->[0]);
		&delete_authuser($s->[0], $_[0]->{'user'});
		&unlock_file($s->[0]);
		}
	}
}

# useradmin_modify_user(&details)
sub useradmin_modify_user
{
foreach $s (@sync) {
	if ($s->[1] =~ /modify/) {
		&lock_file($s->[0]);
		&save_authuser($s->[0], $_[0]->{'olduser'},
			       { 'user' => $_[0]->{'user'},
				 'pass' => $_[0]->{'pass'} });
		&unlock_file($s->[0]);
		}
	}
}

1;

   0707010005c5bd000081e40000000000000002000000013d1fe2d10000136b000000200000000000000000000000000000001c00000003reloc/apache/virt_index.cgi   #!/usr/local/bin/perl
# virt_index.cgi
# Display a menu for some specific virtual server, or the default server

require './apache-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&can_edit_virt($v) || &error($text{'virt_ecannot'});
&header($text{'virt_title'}, "", undef, undef, undef, undef, &restart_button());

# Display header and icons
print "<center><font size=+2>",&text('virt_header', &virtual_name($v)),
      "</font></center>\n";
print "<hr>\n";
print "<h3>$text{'virt_opts'}</h3>\n";
$sw_icon = { "icon" => "images/show.gif",
	     "name" => $text{'virt_show'},
	     "link" => "show.cgi?virt=$in{'virt'}" };
if ($in{'virt'} && $access{'types'} eq '*') {
	$ed_icon = { "icon" => "images/edit.gif",
		     "name" => $text{'virt_edit'},
		     "link" => "manual_form.cgi?virt=$in{'virt'}" };
	}
&config_icons("virtual", "edit_virt.cgi?virt=$in{'virt'}&", $sw_icon,
	      $ed_icon ? $ed_icon : ());

# Display per-directory options
@dir = ( &find_directive_struct("Directory", $conf) ,
         &find_directive_struct("DirectoryMatch", $conf),
	 &find_directive_struct("Files", $conf),
	 &find_directive_struct("FilesMatch", $conf),
	 &find_directive_struct("Location", $conf),
	 &find_directive_struct("LocationMatch", $conf),
	 &find_directive_struct("Proxy", $conf) );
if (@dir) {
	print "<hr>\n";
	print "<h3>$text{'dir_title'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $d (@dir) {
		if ($i%3 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=33%>\n";
		$what = &dir_name($d);
		substr($what, 0, 1) = uc(substr($what, 0, 1));
		&generate_icon("images/dir.gif", $what,
		       	"dir_index.cgi?idx=".&indexof($d, @$conf).
			"&virt=$in{'virt'}");
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%></td>\n"; }
	print "</table>\n";
	}

print "<form action=create_dir.cgi>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_adddir'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_type'}</b></td> <td><select name=type>\n";
foreach $t ($httpd_modules{'core'} >= 2.0 ?
		("Directory", "Files", "Location", "Proxy") :
	    $httpd_modules{'core'} >= 1.2 ? ("Directory", "Files", "Location")
					  : ("Directory", "Location")) {
	print "<option value=$t>$text{'virt_'.$t}\n";
	}
print "</select></td>\n";
if ($httpd_modules{'core'} >= 1.2) {
	print "<td><b>$text{'virt_regexp'}</b></td>\n";
	print "<td><input type=radio name=regexp value=0 checked> ",
	      "$text{'virt_exact'}\n";
	print "<input type=radio name=regexp value=1> ",
	      "$text{'virt_re'}</td> </tr>\n";
	}
else { print "<td></td> </tr>\n"; }
print "<tr> <td><b>$text{'virt_path'}</b></td>\n";
print "<td><input name=path size=40></td>\n";
print "<td colspan=2 align=right>",
      "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

if ($in{'virt'} && $access{'vaddr'}) {
	# Show form for changing virtual server
	print "<hr>\n";
	print "<form action=save_vserv.cgi>\n";
	print "<input type=hidden name=virt value=$in{'virt'}>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'virt_opts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";

	$val = $v->{'value'};
	if ($val =~ /\s/) {
		$addrs = $val;
		}
	if ($val =~ /^(\S+):(\S+)$/) {
		$addr = $1; $port = $2;
		}
	else { $addr = $val; }
	if ($addr eq "_default_" || $addr eq "*") { undef($addr); }

	if ($addrs) {
		print "<tr> <td valign=top><b>$text{'vserv_addrs'}</b></td>\n";
		print "<td><textarea name=addrs rows=4 cols=30>",
			join("\n", split(/\s+/, $addrs)),
			"</textarea></td> </tr>\n";
		}
	else {
		print "<tr> <td><b>$text{'vserv_addr'}</b></td>\n";
		print "<td>",&opt_input($addr, "addr", $text{'vserv_any'}, 30),
		      "</td>\n";

		print "<td><b>$text{'vserv_port'}</b></td>\n";
		print "<td>",&choice_input($port eq "*" ? 1 : $port > 0 ? 2 : 0,
				   "port_mode", "0", "$text{'vserv_default'},0",
				   "$text{'vserv_any'},1", ",2");
		printf "<input name=port size=5 value=\"%s\"></td> </tr>\n",
			$port > 0 ? $port : "";
		}

	$root = &find_directive_struct("DocumentRoot", $v->{'members'});
	$name = &find_directive("ServerName", $v->{'members'});

	print "<tr> <td><b>$text{'vserv_root'}</b></td>\n";
	print "<td colspan=3>",&opt_input($root->{'words'}->[0], "root",
					  $text{'vserv_default'}, 50),
		&file_chooser_button("root", 1, 1),"</td> </tr>\n";

	print "<tr> <td><b>$text{'vserv_name'}</b></td>\n";
	print "<td colspan=3>",&opt_input($name, "name", $text{'vserv_default'},
					  30),"</td> </tr>\n";

	print "<tr> <td colspan=4 align=right>\n";
	print "<input type=submit value=\"$text{'save'}\">\n";
	print "<input type=submit value=\"$text{'vserv_delete'}\" name=delete>\n";
	print "</td> </tr>\n";
	print "</table></td></tr></table></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010005c5be000081a40000000000000002000000013d1fe2d100000646000000200000000000000000000000000000001700000003reloc/apache/worker.pl    # worker.pl
# Defines editors for the fork/thread module in apache 2.0
# The actual functions for most of these are still in core.pl

sub worker_directives
{
local $rv;
$rv = [ [ 'CoreDumpDirectory', 0, 9, 'global', 2.0 ],
	[ 'BindAddress Listen Port', 1, 1, 'global', 2.0 ],
	[ 'ListenBacklog', 0, 1, 'global', 2.0 ],
	[ 'LockFile', 0, 9, 'global', 2.0 ],
	[ 'MaxClients', 0, 0, 'global', 2.0 ],
	[ 'MaxRequestsPerChild', 0, 0, 'global', 2.0 ],
	[ 'MinSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'MaxSpareThreads', 0, 0, 'global', 2.0 ],
	[ 'PidFile', 0, 9, 'global', 2.0 ],
	[ 'ScoreBoardFile', 0, 9, 'global', 2.0 ],
	[ 'SendBufferSize', 0, 1, 'global', 2.0 ],
	[ 'StartServers', 0, 0, 'global', 2.0 ],
	[ 'ThreadsPerChild', 0, 0, 'global', 2.0 ],
	[ 'Group', 0, 8, 'global', 2.0 ],
	[ 'User', 0, 8, 'global', 2.0, 10 ] ];
return &make_directives($rv, $_[0], "worker");
}

sub edit_MinSpareThreads
{
return (1,
	$text{'worker_minspare'},
	&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
{
return &parse_opt("MinSpareThreads", '^\d+$',
		  $text{'worker_eminspare'});
}

sub edit_MaxSpareThreads
{
return (1,
	$text{'worker_maxspare'},
	&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads
{
return &parse_opt("MaxSpareThreads", '^\d+$',
		  $text{'worker_emaxspare'});
}

sub edit_ThreadsPerChild
{
return (1,
	$text{'worker_threads'},
	&opt_input($_[0]->{'value'},"ThreadsPerChild",$text{'default'}, 4));
}
sub save_ThreadsPerChild
{
return &parse_opt("ThreadsPerChild", '^\d+$',
		  $text{'worker_ethreads'});
}

  070701000270ad000041ed0000000000000001000000043d1ff9ca00000000000000200000000000000000000000000000000900000003reloc/at  070701000270ae000081a40000000000000002000000013d1fe2e4000004e1000000200000000000000000000000000000001900000003reloc/at/acl_security.pl  
require 'at-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the at module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_users'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> $text{'acl_all'}<br>\n",
	$_[0]->{'mode'} == 0 ? "checked" : "";
printf "<input type=radio name=mode value=3 %s> $text{'acl_this'}<br>\n",
	$_[0]->{'mode'} == 3 ? "checked" : "";
printf "<input type=radio name=mode value=1 %s> $text{'acl_only'}\n",
	$_[0]->{'mode'} == 1 ? "checked" : "";
printf "<input name=userscan size=40 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 1 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscan", 1);
printf "<input type=radio name=mode value=2 %s> $text{'acl_except'}\n",
	$_[0]->{'mode'} == 2 ? "checked" : "";
printf "<input name=userscannot size=40 value='%s'> %s</td> </tr>\n",
	$_[0]->{'mode'} == 2 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscannot", 1);
}

# acl_security_save(&options)
# Parse the form for security options for the cron module
sub acl_security_save
{
$_[0]->{'mode'} = $in{'mode'};
$_[0]->{'users'} = $in{'mode'} == 0 || $in{'mode'} == 3 ? "" :
		   $in{'mode'} == 1 ? $in{'userscan'}
				    : $in{'userscannot'};
}

   070701000270af000081a40000000000000002000000013d1fe2e40000035d000000200000000000000000000000000000001300000003reloc/at/at-lib.pl    # at-lib.pl
# Functions for listing and creating at jobs

do '../web-lib.pl';
&init_config();

do "$config{'at_style'}-lib.pl";

# wrap_lines(text, width)
# Given a multi-line string, return an array of lines wrapped to
# the given width
sub wrap_lines
{
local @rv;
local $w = $_[1];
foreach $rest (split(/\n/, $_[0])) {
	if ($rest =~ /\S/) {
		while(length($rest) > $w) {
			push(@rv, substr($rest, 0, $w));
			$rest = substr($rest, $w);
			}
		push(@rv, $rest);
		}
	else {
		# Empty line .. keep as it is
		push(@rv, $rest);
		}
	}
return @rv;
}

# can_edit_user(&access, user)
sub can_edit_user
{
local %umap;
map { $umap{$_}++; } split(/\s+/, $_[0]->{'users'});
if ($_[0]->{'mode'} == 1 && !$umap{$_[1]} ||
    $_[0]->{'mode'} == 2 && $umap{$_[1]}) { return 0; }
elsif ($_[0]->{'mode'} == 3) {
	return $remote_user eq $_[1];
	}
else {
	return 1;
	}
}

1;

   070701000270b0000081a40000000000000002000000013d1fe2e400000028000000200000000000000000000000000000001c00000003reloc/at/config-corel-linux   at_style=linux
at_dir=/var/spool/atjobs
070701000270b1000081a40000000000000002000000013d1fe2e400000028000000200000000000000000000000000000001d00000003reloc/at/config-debian-linux  at_style=linux
at_dir=/var/spool/atjobs
070701000270b2000081a40000000000000002000000013d1fe2e40000002d000000200000000000000000000000000000002100000003reloc/at/config-debian-linux-3.0  at_style=linux
at_dir=/var/spool/cron/atjobs
   070701000270b3000081a40000000000000002000000013d1fe2e400000025000000200000000000000000000000000000001800000003reloc/at/config-freebsd   at_style=freebsd
at_dir=/var/at/jobs
   070701000270b4000081a40000000000000002000000013d1fe2e400000028000000200000000000000000000000000000001e00000003reloc/at/config-generic-linux at_style=linux
at_dir=/var/spool/atjobs
070701000270b5000081a40000000000000002000000013d1fe2e400000027000000200000000000000000000000000000001d00000003reloc/at/config-gentoo-linux  at_style=linux
at_dir=/var/cron/atjobs
 070701000270b6000081a40000000000000002000000013d1fe2e400000023000000200000000000000000000000000000001600000003reloc/at/config-macos at_style=macos
at_dir=/var/at/jobs
 070701000270b7000081a40000000000000002000000013d1fe2e400000024000000200000000000000000000000000000001f00000003reloc/at/config-mandrake-linux    at_style=linux
at_dir=/var/spool/at
070701000270b8000081a40000000000000002000000013d1fe2e400000024000000200000000000000000000000000000001a00000003reloc/at/config-msc-linux at_style=linux
at_dir=/var/spool/at
070701000270b9000081a40000000000000002000000013d1fe2e400000025000000200000000000000000000000000000001700000003reloc/at/config-netbsd    at_style=freebsd
at_dir=/var/at/jobs
   070701000270ea000081a40000000000000002000000013d1fe2e400000029000000200000000000000000000000000000001b00000003reloc/at/config-open-linux    at_style=linux
at_dir=/var/spool/at/jobs
   070701000270eb000081a40000000000000002000000013d1fe2e400000032000000200000000000000000000000000000001b00000003reloc/at/config-openserver    at_style=openserver
at_dir=/var/spool/cron/atjobs
  070701000270ec000081a40000000000000002000000013d1fe2e400000024000000200000000000000000000000000000001d00000003reloc/at/config-redhat-linux  at_style=linux
at_dir=/var/spool/at
070701000270ed000081a40000000000000002000000013d1fe2e400000028000000200000000000000000000000000000002000000003reloc/at/config-slackware-linux   at_style=linux
at_dir=/var/spool/atjobs
070701000270ee000081a40000000000000002000000013d1fe2e40000002f000000200000000000000000000000000000001800000003reloc/at/config-solaris   at_style=solaris
at_dir=/var/spool/cron/atjobs
 070701000270f1000081a40000000000000002000000013d1fe2e400000061000000200000000000000000000000000000001500000003reloc/at/config.info  at_style=At system type,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD
at_dir=At jobs directory,0
   070701000270ef000081a40000000000000002000000013d1fe2e400000028000000200000000000000000000000000000001b00000003reloc/at/config-suse-linux    at_style=linux
at_dir=/var/spool/atjobs
070701000270f0000081a40000000000000002000000013d1fe2e400000024000000200000000000000000000000000000001c00000003reloc/at/config-turbo-linux   at_style=linux
at_dir=/var/spool/at
070701000270f2000081a40000000000000002000000013d1fe2e40000006f000000200000000000000000000000000000001800000003reloc/at/config.info.ca   at_style=Tipus de sistema at,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD
at_dir=Directori de treballs at,0


 070701000270f3000081a40000000000000002000000013d1fe2e40000006a000000200000000000000000000000000000001800000003reloc/at/config.info.de   at_style=AT System-Typ,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD
at_dir=AT-Auftr&auml;ge Verzeichnis,0  070701000270f4000081a40000000000000002000000013d1fe2e40000006a000000200000000000000000000000000000001800000003reloc/at/config.info.pl   at_style=Rodzaj systemu At,1,linux-Linuksa,solaris-Solarisa,freebsd-FreeBSD
at_dir=Katalog zadañ dla At,0
  070701000270f5000081a40000000000000002000000013d1fe2e400000056000000200000000000000000000000000000002000000003reloc/at/config.info.zh_TW.Big5   at_style=At¨t²ÎÃþ«¬,1,linux-Linux,solaris-Solaris,freebsd-FreeBSD
at_dir=At¤u§@¥Ø¿ý,0
  070701000270f6000081e40000000000000002000000013d1fe2e40000039a000000200000000000000000000000000000001800000003reloc/at/create_job.cgi   #!/usr/local/bin/perl
# create_job.cgi
# Create a new at job

require 'timelocal.pl';

require './at-lib.pl';
&ReadParse();
&error_setup($text{'create_err'});
%access = &get_module_acl();

# Validate inputs
&can_edit_user(\%access, $in{'user'}) || &error($text{'create_ecannot'});
defined(getpwnam($in{'user'})) || &error($text{'create_euser'});
$in{'hour'} =~ /^\d+$/ && $in{'min'} =~ /^\d+$/ &&
	$in{'day'} =~ /^\d+$/ && $in{'year'} =~ /^\d+$/ ||
		&error($text{'create_edate'});
eval { $date = timelocal(0, $in{'min'}, $in{'hour'},
		         $in{'day'}, $in{'month'}, $in{'year'}-1900) };
$@ && &error($text{'create_edate'});
$date > time() || &error($text{'create_efuture'});
$in{'cmd'} =~ /\S/ || &error($text{'create_ecmd'});
-d $in{'dir'} || &error($text{'create_edir'});

# Create the job
&create_atjob($in{'user'}, $date, $in{'cmd'}, $in{'dir'});
&webmin_log("create", "job", $in{'user'}, \%in);
&redirect("");

  070701000270f7000081a40000000000000002000000013d1fe2e400000019000000200000000000000000000000000000001400000003reloc/at/defaultacl   noconfig=0
users=
mode=0
   070701000270f8000081e40000000000000002000000013d1fe2e4000001a6000000200000000000000000000000000000001800000003reloc/at/delete_job.cgi   #!/usr/local/bin/perl
# delete_job.cgi

require './at-lib.pl';
&ReadParse();
&error_setup($text{'delete_err'});
@jobs = &list_atjobs();
($job) = grep { $_->{'id'} eq $in{'id'} } @jobs;
$job || &error($text{'delete_egone'});
%access = &get_module_acl();
&can_edit_user(\%access, $job->{'user'}) || &error($text{'edit_ecannot'});
&delete_atjob($in{'id'});
&webmin_log("delete", "job", $job->{'user'}, $job);
&redirect("");

  070701000270f9000081e40000000000000002000000013d1fe2e4000005d9000000200000000000000000000000000000001600000003reloc/at/edit_job.cgi #!/usr/local/bin/perl
# edit_job.cgi
# Display a command for deletion

require './at-lib.pl';
&ReadParse();
@jobs = &list_atjobs();
($job) = grep { $_->{'id'} eq $in{'id'} } @jobs;
$job || &error($text{'edit_ejob'});
%access = &get_module_acl();
&can_edit_user(\%access, $job->{'user'}) || &error($text{'edit_ecannot'});

&header($text{'edit_title'}, "");
print "<hr>\n";

print "<form action=delete_job.cgi>\n";
print "<input type=hidden name=id value='$in{'id'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'index_user'}</b></td>\n";
print "<td colspan=3>",&html_escape($job->{'user'}),"\n";
@uinfo = getpwnam($job->{'user'});
print " (",&html_escape($uinfo[6]),")\n" if ($uinfo[6]);
print "</td> </tr>\n";

$date = localtime($job->{'date'});
print "<tr> <td><b>$text{'index_exec'}</b></td>\n";
print "<td>$date</td>\n";

$created = localtime($job->{'created'});
print "<td><b>$text{'index_created'}</b></td>\n";
print "<td>$created</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'edit_cmd'}</b></td>\n";
print "<td colspan=3><font size=-1><pre>",
      &html_escape(join("\n", &wrap_lines($job->{'cmd'}, 80))),
      "</pre></font></td> </tr>\n";

print "<tr> <td colspan=4 align=right>",
      "<input type=submit value='$text{'edit_delete'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   070701000270fa000081a40000000000000002000000013d1fe2e400000420000000200000000000000000000000000000001800000003reloc/at/freebsd-lib.pl   # freebsd-lib.pl

sub list_atjobs
{
local @rv;
opendir(DIR, $config{'at_dir'});
while($f = readdir(DIR)) {
	local $p = "$config{'at_dir'}/$f";
	if ($f =~ /^c(\S{5})(\S+)$/) {
		local @st = stat($p);
		local $job = { 'id' => hex($1),
			       'date' => hex($2) * 60,
			       'user' => scalar(getpwuid($st[4])),
			       'created' => $st[9] };
		open(FILE, $p);
		while(<FILE>) {
			$job->{'cmd'} .= $_;
			}
		close(FILE);
		$job->{'realcmd'} = $job->{'cmd'};
		$job->{'realcmd'} =~ s/^[\000-\177]+cd\s+(\S+)\s+\|\|\s+{\n.*\n.*\n.*\n//;
		push(@rv, $job);
		}
	}
closedir(DIR);
return @rv;
}

# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = sprintf "%2.2d:%2.2d %d.%d.%d",
		$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
open(AT, "| su \"$_[0]\" -c \"cd $_[3] ; at $date\" >/dev/null 2>&1"); 
print AT $_[2];
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
}

# delete_atjob(id)
sub delete_atjob
{
&system_logged("atrm \"$_[0]\" >/dev/null 2>&1");
}

070701000270fb000041ed0000000000000001000000023d1ff9ca00000000000000200000000000000000000000000000001000000003reloc/at/images   070701000270fc000081a40000000000000002000000013d1fe2e400000230000000200000000000000000000000000000001900000003reloc/at/images/icon.gif  GIF87a0 0 Â  ÿÿÿ¿¿¿®²ÃÌÌÌ™™™fff   ²Mz,    0 0  þºÜþ0ÊIk+è†ag›„}$ðQg6ªÂ6Â Ïî“rZØíÚ üÀ™Ð¥ÙL­]È@I½ÕJH&a»-pƒÑç´jËí²¿naíe¼„˜=S`÷Íú\NO5w*iok}‰€B#V‡|”ˆq\Œq>>
‡Œ‰¢p™¦~> ¨”j°‡&‘Ÿ‹p­˜š€–„’‹|¤˜–º°ÅT i£ÄŠÇ{mÊ„>{—ÏÑ»Î\v9ÍpnÛ™™ãÅß
×¸ØÆä¯[é„ÍòïÛÓ|úóÊyöÐÈ±1p®œ—Þ,y3,_‚	&·É—Bvî¸I<Çþ± "6r¶<±¨¯>7NcR†H3âE{xîd7$_6ˆ	¯£›Øp°"¦+ŸÒÆIÛçÅ¥ë\öìb Ö¾}rˆZsŠ”¢©ŸL§­ðÆA‡ÅÖTÝõqeÛ¦RÍF½öqéW5Ã‚”Â¥Œ”œå és³2Ï	Bdº½T(¾:# ]zi0Ë‰"éVC7¬Ý9{3Ó$µz/šL I­¬cÝô:ê¯Å8héŠ3'/yœP·»%S1L VçÏl€^L¢×ù«™9–$È8’B'™ë$àÉ È.h,ÃÓW!p ç²_9<=€%¿¾ýûøóëß! ;070701000270fd000081e40000000000000002000000013d1fe2e400000c05000000200000000000000000000000000000001300000003reloc/at/index.cgi    #!/usr/local/bin/perl
# index.cgi
# List all at jobs and display a form for creating a new one

require './at-lib.pl';
use POSIX;
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";
%access = &get_module_acl();

@jobs = &list_atjobs();
@jobs = grep { &can_edit_user(\%access, $_->{'user'}) } @jobs;
if (@jobs) {
	@jobs = sort { $a->{'id'} <=> $b->{'id'} } @jobs;
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_id'}</b></td>\n";
	print "<td><b>$text{'index_user'}</b></td>\n";
	print "<td><b>$text{'index_exec'}</b></td>\n";
	print "<td><b>$text{'index_created'}</b></td>\n";
	print "<td><b>$text{'index_cmd'}</b></td> </tr>\n";
	foreach $j (@jobs) {
		print "<tr $cb>\n";
		print "<td><a href='edit_job.cgi?id=$j->{'id'}'>",
		      "$j->{'id'}</td>\n";
		print "<td>",&html_escape($j->{'user'}),"</b></td>\n";
		$date = localtime($j->{'date'});
		print "<td><tt>$date</tt></td>\n";
		$created = localtime($j->{'created'});
		print "<td><tt>$created</tt></td>\n";
		print "<td>",join("<br>", split(/\n/, &html_escape($j->{'realcmd'}))),"</td>\n";
		print "</tr>\n";
		}
	print "</table><br><hr>\n";
	}

print "<form action=create_job.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'index_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'index_user'}</b></td>\n";
$dir = "/";
if ($access{'mode'} == 1) {
	print "<td><select name=user>\n";
	foreach $u (split(/\s+/, $access{'users'})) {
		print "<option>$u\n";
		}
	print "</select></td>\n";
	}
elsif ($access{'mode'} == 3) {
	print "<td><tt>$remote_user</tt></td>\n";
	print "<input type=hidden name=user value='$remote_user'>\n";
	@uinfo = getpwnam($remote_user);
	$dir = $uinfo[7];
	}
else {
	print "<td><input name=user size=8>",
		&user_chooser_button("user", 0),"</td>\n";
	}



@now = localtime(time());
print "<tr> <td><b>$text{'index_date'}</b></td>\n";
printf "<td><input name=day size=2 value='%d'>/", $now[3];
print "<select name=month>\n";
for($i=0; $i<12; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, $now[4] == $i ? 'selected' : '', $text{"smonth_".($i+1)};
	}
print "</select>/";
printf "<input name=year size=4 value='%d'>\n", $now[5] + 1900;
print &date_chooser_button("day", "month", "year"),"</td>\n";

print "<td><b>$text{'index_time'}</b></td>\n";
print "<td><input name=hour size=2>:<input name=min size=2></td> </tr>\n";

($date, $time) = split(/\s+/, &make_date(time()));

print "<tr> <td><b>$text{'index_cdate'}</b></td>\n";
print "<td>$date</td>\n";

print "<td><b>$text{'index_ctime'}</b></td>\n";
print "<td>$time</td> </tr>\n";

print "<tr> <td><b>$text{'index_dir'}</b></td>\n";
print "<td colspan=3><input name=dir size=40 value='$dir'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'index_cmd'}</b></td>\n";
print "<td colspan=3><textarea rows=5 cols=40 name=cmd></textarea></td></tr>\n";

print "<tr> <td colspan=4 align=right>",
      "<input type=submit value='$text{'create'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";
print "<hr>\n";
&footer("/", $text{'index'});

   070701000270fe000041ed0000000000000001000000023d1ff9ca00000000000000200000000000000000000000000000000e00000003reloc/at/lang 070701000270ff000081a40000000000000002000000013d1fe2e4000004e6000000200000000000000000000000000000001100000003reloc/at/lang/ca  index_title=Ordres Planificades
index_header=Nova ordre programada
index_user=Executa com a usuari
index_date=Executa el dia
index_time=Executa a l'hora
index_cmd=Ordres per executar
index_id=ID del treball
index_exec=Executa a
index_created=Creat el
index_dir=Executa al directori
index_return=a la llista d'ordres
index_cdate=Data actual
index_ctime=Hora actual

edit_title=Ordre Planificada
edit_cmd=Script complet per executar
edit_header=Detalls de l'ordre planificada
edit_delete=Cancel·la aquesta ordre
edit_ejob=L'ordre planificada ja no existeix!
edit_ecannot=No tens permís per editar aquesta ordre planificada

create_err=No he pogut crear l'ordre planificada
create_euser=Hi falta el nom d'usuari o bé no és vàlid
create_edate=Hi falta la data o l'hora, o bé no és vàlida
create_ecmd=No has introduït cap ordre
create_efuture=La data i hora són passades
create_edir=Hi falta el directori o bé no és vàlid
create_ecannot=No tens permís per crear ordres planificades per a aquest usuari

delete_err=No he pogut cancel·lar l'ordre
delete_egone=Ordre ja executada o suprimida

acl_users=Pot editar les ordres programades de
acl_all=Tots els usuaris
acl_this=L'usuari Webmin actual
acl_only=Només els usuaris
acl_except=Tots excepte els usuaris


  07070100027100000081a40000000000000002000000013d1fe2e40000078e000000200000000000000000000000000000001100000003reloc/at/lang/de  #        webmin-0.97     at/lang/de
#
#        created: 05-may-2002                by: Dieter Huerten
#        last modified: 30-may-2002          Rev.: 30-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: 05.05.2002                durch: Dieter H&uuml;rten
# letzte &Auml;nderung: 30.05.2002        Rev.: 30.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=geplante Befehle

index_header=Neuer geplanter Befehl
index_user=Ausf&uuml;hren als Benutzer
index_date=Ausf&uuml;hren am
index_time=Ausf&uuml;hren um
index_cmd=Auszuf&uuml;hrende Befehle
index_id=Auftrags-ID
index_exec=Ausf&uuml;hren auf
index_created=Erzeugt am
index_dir=Ausf&uuml;hren im Verzeichnis
index_return=Befehls-Liste
index_cdate=Aktuelles Datum
index_ctime=Aktuelle Zeit

edit_title=Geplanter Befehl
edit_cmd=Vollst&auml;ndiges Skript zum Ausf&uuml;hren
edit_header=Einzelheiten des geplanten Befehls
edit_delete=Diesen Befehl abbrechen
edit_ejob=Geplanter Befehl existiert nicht mehr!
edit_ecannot=Sie sind nicht berechtigt, diesen geplanten Befehl zu bearbeiten.

create_err=Geplanten Befehl erzeugen gescheitert
create_euser=Fehlender oder ung&uuml;ltiger Benutzername
create_edate=Datum oder Zeit fehlend oder ung&uuml;ltig
create_ecmd=Keine Anweisungen angegeben
create_efuture=Datum und/oder Zeit liegt in der Vergangenheit
create_edir=Fehlendes oder ung&uuml;ltiges Verzeichnis
create_ecannot=Sie sind nicht berechtigt, geplante Befehle f&uuml;r diesen Benutzer anzulegen

delete_err=Befehl abbrechen gescheitert
delete_egone=Befehl bereits ausgef&uuml;hrt oder gel&ouml;scht

acl_users=Darf geplante Befehle bearbeiten f&uuml;r
acl_all=alle Benutzer
acl_this=aktuellen Webmin-Benutzer
acl_only=Nur diese Benutzer
acl_except=Alle Benutzer au&szlig;er  07070100027101000081a40000000000000002000000013d1fe2e40000045f000000200000000000000000000000000000001100000003reloc/at/lang/en  index_title=Scheduled Commands
index_header=New scheduled command
index_user=Run as user
index_date=Run on date
index_time=Run at time
index_cmd=Commands to execute
index_id=Job ID
index_exec=Run at
index_created=Created on
index_dir=Run in directory
index_return=commands list
index_cdate=Current date
index_ctime=Current time

edit_title=Scheduled Command
edit_cmd=Full script to execute
edit_header=Scheduled command details
edit_delete=Cancel this command
edit_ejob=Scheduled command no longer exists!
edit_ecannot=You are not allowed to edit this scheduled command

create_err=Failed to created schedule command
create_euser=Missing or invalid username
create_edate=Missing or invalid date or time
create_ecmd=No commands entered
create_efuture=Date and time is in the past
create_edir=Missing or invalid directory
create_ecannot=You are not allowed to create scheduled commands for this user

delete_err=Failed to cancel command
delete_egone=Command already run or deleted

acl_users=Can edit scheduled commands for
acl_all=All users
acl_this=Current Webmin user
acl_only=Only users
acl_except=All except users


 07070100027165000081a40000000000000002000000013d1fe2e40000052e000000200000000000000000000000000000001100000003reloc/at/lang/hu  # webmin-0.90at/lang/hu
# translated by Gabor Keve <gabor.keve@orientp.hu>
#
index_title=Ütemezett feladatok
index_header=Új ütemezett feladat
index_user=Futtatás felhasználóként
index_date=Futtatás megadott dátumkor
index_time=Futtatás megadott idõpontban
index_cmd=Futtatandó parancs
index_id=Munka ID
index_exec=Futás
index_created=Készült 
index_dir=Futás megadott könyvtárban
index_return=parancs lista

edit_title=Ütemezett feladat
edit_cmd=Teljes futtatandó szkript
edit_header=Ütemezett parancs leírása
edit_delete=A parancs megszakítása
edit_ejob=Az ütemezett feladat már nem létezik!
edit_ecannot=Önnek nincs joga ezt az ütemezett feladatot szerkeszteni

create_err=Nem lehet létrehozzni az ütemezett feladatot
create_euser=Hibás vagy érvénytelen felhasználói név
create_edate=Hibás vagy érvénytelen dátum
create_ecmd=Nem lett parancs megadva
create_efuture=A dátum és az idõ a múltban van
create_edir=Hibás vagy érvénytelen könyvtár
create_ecannot=Önnek nincs joga létrehozzni ütemezett feladatot ezzel a felhasználóval

delete_err=Nem lehet megszakítani a parancsot
delete_egone=A parancs már fut, vagy le lett törölve

acl_users=Ezt a feladatot szerkesztheti a következõ felhasználó
acl_all=Összes felhasználó
acl_this=Jelenlegi Webmin felhasználó
acl_only=Csak adott felhasználók
acl_except=Semelyik felhasználó
  0707010002721b000081a40000000000000002000000013d1fe2e4000004f8000000200000000000000000000000000000001100000003reloc/at/lang/it  index_title=Comandi pianificati
index_header=Nuovo comando pianificato
index_user=Esegui come utente
index_date=Esegui il giorno
index_time=Esegui all'orario
index_cmd=Comando da eseguire
index_id=Job ID
index_exec=Esegui il
index_created=Creato il
index_dir=Esegui nella directory
index_return=lista comandi
index_cdate=Giorno attuale
index_ctime=Orario attuale

edit_title=Comando pianificato
edit_cmd=Script completo da eseguire
edit_header=Dettagli del comando pianficato
edit_delete=Cancella questo comando
edit_ejob=Questo comando pianificato non esiste più
edit_ecannot=Non hai il permesso di modificare questo comando pianificato

create_err=Errore nella creazione del comando pianificato
create_euser=Nome utente invalido o mancante
create_edate=Orario o giorno mancanti o non validi
create_ecmd=Nessun comando inserito
create_efuture=Orario e giorno sono nel passato
create_edir=Directory mancante o non valida
create_ecannot=Non sei autorizzato a creare comandi pianificati per questo utente

delete_err=Cancellazione del comando non riuscita
delete_egone=Comando in esecuzione o già cancellato

acl_users=Puoi modificare comandi pianificati per
acl_all=Tutti gli utenti
acl_this=Utenti Webmin correnti
acl_only=Solo utenti
acl_except=Tutti tranne gli utenti


0707010002721c000081a40000000000000002000000013d1fe2e4000004d3000000200000000000000000000000000000001100000003reloc/at/lang/pl  index_title=Zlecone polecenia
index_header=Zlecenie nowego polecenia
index_user=Uruchom jako u¿ytkownik
index_date=Uruchom dnia
index_time=o&nbsp;godzinie
index_cmd=Polecenia do uruchomienia
index_id=Nr ID Zadania
index_exec=Bêdzie uruchomione
index_created=Zosta³o tworzone
index_dir=Uruchom w&nbsp;katalogu
index_return=listy poleceñ

edit_title=Zlecone polecenie
edit_cmd=Pe³en uruchamiany skrypt
edit_header=Dane zleconego polecenia
edit_delete=Anuluj to polecenie
edit_ejob=Zlecone polecenie ju¿ nie istnieje!
edit_ecannot=Nie masz uprawnieñ do zmiany tego zleconego polecenia

create_err=Nie uda³o siê zleciæ polecenia
create_euser=Nie podana lub niepoprawna nazwa u¿ytkownika
create_edate=Nie podany lub niepoprawny czas
create_ecmd=Nie podano poleceñ
create_efuture=Data i&nbsp;czas jest z&nbsp;przesz³o¶ci
create_edir=Nie podany lub niepoprawny katalog
create_ecannot=Nie masz uprawnieñ do tworzenia zleconych poleceñ dla tego u¿ytkownika

delete_err=Nie uda³o siê anulowaæ polecenia
delete_egone=Polecenie zosta³o ju¿ uruchomione lub usuniête

acl_users=Mo¿e zmieniaæ zlecone polecenia dla
acl_all=Wszystkich u¿ytkowników
acl_this=Aktualnego u¿ytkownika Webmina
acl_only=Tylko dla u¿ytkowników
acl_except=Oprócz u¿ytkowników
 0707010002721d000081a40000000000000002000000013d1fe2e400000369000000200000000000000000000000000000001900000003reloc/at/lang/zh_TW.Big5  index_title=«ü¥O±Æµ{
index_header=·s«ü¥O±Æµ{
index_user=¨Ï¥ÎªÌ
index_date=¤é´Á
index_time=®É¶¡
index_cmd=°õ¦æ«ü¥O
index_id=¤u§@ÃÑ§O½X
index_exec=°õ¦æ®É¶¡
index_created=«Ø¥ß®É¶¡
index_dir=¦b­þ¥Ø¿ý°õ¦æ
index_return=«ü¥O²M³æ
index_cdate=¤µ¤Ñ¤é´Á
index_ctime=¥Ø«e®É¶¡

edit_title=«ü¥O±Æµ{
edit_cmd=°õ¦æ¸}¥»¤w¸gº¡¤F
edit_header=«ü¥O±Æµ{¤º
edit_delete=¨ú®ø³o­Ó«ü¥O
edit_ejob=«ü¥O±Æµ{¤£¦s¦b¡I
edit_ecannot=±z¨S¦³Åv­­½s¿è³o­Ó«ü¥O±Æµ{

create_err=·s¼W«ü¥O±Æµ{¥¢±Ñ
create_euser=¨S¦³¿é¤J©ÎµL®Äªº¨Ï¥ÎªÌ¦WºÙ
create_edate=¨S¦³¿é¤J©ÎµL®Äªº¤é´Á©Î®É¶¡
create_ecmd=¨S¦³¿é¤J«ü¥O
create_efuture=¤é´Á©M®É¶¡¬O¹L¥hªº
create_edir=¨S¦³¿é¤J©ÎµL®Äªº¥Ø¿ý
create_ecannot=±z¨S¦³Åv­­¹ï³o­Ó¨Ï¥ÎªÌ·s¼W³o­Ó«ü¥O±Æµ{

delete_err=¨ú®ø«ü¥O¥¢±Ñ
delete_egone=«ü¥O¤w¸g¦b°õ¦æ©Î³Q§R°£¤F

acl_users=¥i¥H½s¿è«ü¥O±Æµ{µ¹
acl_all=©Ò¦³¨Ï¥ÎªÌ
acl_this=¥Ø«eªº Webmin ¨Ï¥ÎªÌ
acl_only=¥u¦³¨Ï¥ÎªÌ
acl_except=©Ò¦³¨Ï¥ÎªÌ¡A°£¤F


   0707010002721e000081a40000000000000002000000013d1fe2e40000041e000000200000000000000000000000000000001600000003reloc/at/linux-lib.pl # linux-lib.pl

sub list_atjobs
{
local @rv;
opendir(DIR, $config{'at_dir'});
while($f = readdir(DIR)) {
	local $p = "$config{'at_dir'}/$f";
	if ($f =~ /^a(\S{5})(\S+)$/) {
		local @st = stat($p);
		local $job = { 'id' => hex($1),
			       'date' => hex($2) * 60,
			       'user' => scalar(getpwuid($st[4])),
			       'created' => $st[9] };
		open(FILE, $p);
		while(<FILE>) {
			$job->{'cmd'} .= $_;
			}
		close(FILE);
		$job->{'realcmd'} = $job->{'cmd'};
		$job->{'realcmd'} =~ s/^[\000-\177]+cd\s+(\S+)\s+\|\|\s+{\n.*\n.*\n.*\n//;
		push(@rv, $job);
		}
	}
closedir(DIR);
return @rv;
}

# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = sprintf "%2.2d:%2.2d %d.%d.%d",
		$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
open(AT, "| su \"$_[0]\" -c \"cd $_[3] ; at $date\" >/dev/null 2>&1"); 
print AT $_[2];
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
}

# delete_atjob(id)
sub delete_atjob
{
&system_logged("atrm \"$_[0]\" >/dev/null 2>&1");
}

  0707010002721f000081a40000000000000002000000013d1fe2e400000400000000200000000000000000000000000000001600000003reloc/at/macos-lib.pl # macos-lib.pl

sub list_atjobs
{
local @rv;
opendir(DIR, $config{'at_dir'});
while($f = readdir(DIR)) {
	local $p = "$config{'at_dir'}/$f";
	if ($f =~ /^a(\S+)\.(\d+)$/) {
		local @st = stat($p);
		local $job = { 'id' => $f,
			       'date' => hex($1)*60,
			       'user' => scalar(getpwuid($st[4])),
			       'created' => $st[9] };
		open(FILE, $p);
		while(<FILE>) {
			$job->{'cmd'} .= $_;
			}
		close(FILE);
		$job->{'realcmd'} = $job->{'cmd'};
		$job->{'realcmd'} =~ s/^[\000-\177]+cd\s+(\S+)\n//;
		push(@rv, $job);
		}
	}
closedir(DIR);
return @rv;
}

# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = sprintf "%2.2d:%2.2d %d.%d.%d",
		$tm[2], $tm[1], $tm[3], $tm[4]+1, $tm[5]+1900;
open(AT, "| su \"$_[0]\" -c \"cd $_[3] ; at $date\" >/dev/null 2>&1"); 
print AT $_[2];
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
}

# delete_atjob(id)
sub delete_atjob
{
&system_logged("atrm \"$_[0]\" >/dev/null 2>&1");
}

07070100027220000081a40000000000000002000000013d1fe2ea00000198000000200000000000000000000000000000001500000003reloc/at/module.info  category=system
desc_zh_TW.Big5=«ü¥O±Æµ{
os_support=solaris slackware-linux redhat-linux mandrake-linux debian-linux suse-linux open-linux turbo-linux corel-linux msc-linux freebsd netbsd generic-linux openserver macos gentoo-linux
desc_pl=Zlecone polecenia
desc=Scheduled Commands
desc_de=Geplante AT-Auftr&auml;ge
name=At
depends=0.990
version=0.990
desc_hu=Ütemezett feladatok
desc_ca=Ordres Planificades
07070100027221000081a40000000000000002000000013d1fe2e4000003d9000000200000000000000000000000000000001b00000003reloc/at/openserver-lib.pl    # openserver-lib.pl

use POSIX;

sub list_atjobs
{
local @rv;
opendir(DIR, $config{'at_dir'});
while($f = readdir(DIR)) {
	local $p = "$config{'at_dir'}/$f";
	if ($f =~ /^(\d+)\.a(\S+)$/) {
		local @st = stat($p);
		local $job = { 'id' => $f,
			       'date' => $1,
			       'user' => scalar(getpwuid($st[4])),
			       'created' => $st[9] };
		open(FILE, $p);
		while(<FILE>) {
			$job->{'cmd'} .= $_;
			}
		close(FILE);
		$job->{'realcmd'} = $job->{'cmd'};
		$job->{'realcmd'} =~ s/^[\000-\177]+#ident.*\ncd\s+\S+\nulimit\s+\S+\numask\s+\S+\n//;
		push(@rv, $job);
		}
	}
closedir(DIR);
return @rv;
}

# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = strftime "%H:%M %b %d", @tm;
open(AT, "| su \"$_[0]\" -c \"cd $_[3] ; at $date\""); 
print AT $_[2];
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
}

# delete_atjob(id)
sub delete_atjob
{
&system_logged("at -r \"$_[0]\"");
}

   07070100027222000081a40000000000000002000000013d1fe2e4000003ee000000200000000000000000000000000000001800000003reloc/at/solaris-lib.pl   # solaris-lib.pl

use POSIX;

sub list_atjobs
{
local @rv;
opendir(DIR, $config{'at_dir'});
while($f = readdir(DIR)) {
	local $p = "$config{'at_dir'}/$f";
	if ($f =~ /^(\d+)\.a$/) {
		local @st = stat($p);
		local $job = { 'id' => $f,
			       'date' => $1,
			       'user' => scalar(getpwuid($st[4])),
			       'created' => $st[9] };
		open(FILE, $p);
		while(<FILE>) {
			$job->{'cmd'} .= $_;
			}
		close(FILE);
		$job->{'realcmd'} = $job->{'cmd'};
		$job->{'realcmd'} =~ s/^[\000-\177]+#ident.*\ncd\s+\S+\numask\s+\S+\n//;
		$job->{'realcmd'} =~ s/^ulimit\s+\S+\n//;
		push(@rv, $job);
		}
	}
closedir(DIR);
return @rv;
}

# create_atjob(user, time, commands, directory)
sub create_atjob
{
local @tm = localtime($_[1]);
local $date = strftime "%H:%M %b %d", @tm;
open(AT, "| su \"$_[0]\" -c \"cd $_[3] ; at $date\""); 
print AT $_[2];
close(AT);
&additional_log('exec', undef, "su \"$_[0]\" -c \"cd $_[3] ; at $date\"");
}

# delete_atjob(id)
sub delete_atjob
{
&system_logged("atrm \"$_[0]\"");
}

  07070100027223000041ed0000000000000001000000043d1ff9d400000000000000200000000000000000000000000000000c00000003reloc/bind8   07070100027224000081a40000000000000002000000013d1fe2d2000019c2000000200000000000000000000000000000001c00000003reloc/bind8/acl_security.pl   
require 'bind8-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the bind8 module
sub acl_security_form
{
local $m = $_[0]->{'zones'} eq '*' ? 1 :
	   $_[0]->{'zones'} =~ /^\!/ ? 2 : 0;
print "<tr> <td valign=top><b>$text{'acl_zones'}</b></td>\n";
print "<td colspan=3><table cellpadding=0 cellspacing=0> <tr><td valign=top>\n";
printf "<input type=radio name=zones_def value=1 %s> %s<br>\n",
	$m == 1 ? 'checked' : '', $text{'acl_zall'};
printf "<input type=radio name=zones_def value=0 %s> %s<br>\n",
	$m == 0 ? 'checked' : '', $text{'acl_zsel'};
printf "<input type=radio name=zones_def value=2 %s> %s</td>\n",
	$m == 2 ? 'checked' : '', $text{'acl_znsel'};

print "<td><select name=zones multiple size=4 width=150>\n";
local $conf = &get_config();
local @zones = grep { $_->{'value'} ne "." }
		    &find("zone", $conf);
local $v;
foreach $v (&find("view", $conf)) {
	push(@zones, grep { $_->{'value'} ne "." }
			  &find("zone", $v->{'members'}));
	}
local ($z, %zcan);
map { $zcan{$_}++ } split(/\s+/, $_[0]->{'zones'});
foreach $z (sort { $a->{'value'} cmp $b->{'value'} } @zones) {
	printf "<option value='%s' %s>%s\n",
		$z->{'value'},
		$zcan{$z->{'value'}} ? "selected" : "",
		&arpa_to_ip($z->{'value'});
	}
print "</select></td> </tr></table></td></tr>\n";

print "<tr> <td valign=top><b>$text{'acl_dir'}</b></td>\n";
printf "<td colspan=3><input name=dir size=30 value='%s'> %s<br>\n",
	$_[0]->{'dir'}, &file_chooser_button("dir", 1);
printf "<input type=checkbox name=dironly value=1 %s> %s</td> </tr>\n",
	$_[0]->{'dironly'} ? "checked" : "", $text{'acl_dironly'};

print "<tr> <td><b>$text{'acl_master'}</b></td> <td>\n";
printf "<input type=radio name=master value=1 %s> $text{'yes'}\n",
	$_[0]->{'master'} ? "checked" : "";
printf "<input type=radio name=master value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'master'} ? "" : "checked";

print "<td><b>$text{'acl_slave'}</b></td> <td>\n";
printf "<input type=radio name=slave value=1 %s> $text{'yes'}\n",
	$_[0]->{'slave'} ? "checked" : "";
printf "<input type=radio name=slave value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'slave'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_forward'}</b></td> <td>\n";
printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
	$_[0]->{'forward'} ? "checked" : "";
printf "<input type=radio name=forward value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'forward'} ? "" : "checked";

print "<td><b>$text{'acl_defaults'}</b></td> <td>\n";
printf "<input type=radio name=defaults value=1 %s> $text{'yes'}\n",
	$_[0]->{'defaults'} ? "checked" : "";
printf "<input type=radio name=defaults value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'defaults'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_reverse'}</b></td> <td>\n";
printf "<input type=radio name=reverse value=1 %s> $text{'yes'}\n",
	$_[0]->{'reverse'} ? "checked" : "";
printf "<input type=radio name=reverse value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'reverse'} ? "" : "checked";

print "<td><b>$text{'acl_multiple'}</b></td> <td>\n";
printf "<input type=radio name=multiple value=1 %s> $text{'yes'}\n",
	$_[0]->{'multiple'} ? "checked" : "";
printf "<input type=radio name=multiple value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'multiple'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_ro'}</b></td> <td>\n";
printf "<input type=radio name=ro value=1 %s> $text{'yes'}\n",
	$_[0]->{'ro'} ? "checked" : "";
printf "<input type=radio name=ro value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'ro'} ? "" : "checked";

print "<td><b>$text{'acl_apply'}</b></td> <td>\n";
printf "<input type=radio name=apply value=1 %s> $text{'yes'}\n",
	$_[0]->{'apply'} ? "checked" : "";
printf "<input type=radio name=apply value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'apply'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_file'}</b></td> <td>\n";
printf "<input type=radio name=file value=1 %s> $text{'yes'}\n",
	$_[0]->{'file'} ? "checked" : "";
printf "<input type=radio name=file value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'file'} ? "" : "checked";

print "<td><b>$text{'acl_params'}</b></td> <td>\n";
printf "<input type=radio name=params value=1 %s> $text{'yes'}\n",
	$_[0]->{'params'} ? "checked" : "";
printf "<input type=radio name=params value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'params'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_opts'}</b></td> <td>\n";
printf "<input type=radio name=opts value=1 %s> $text{'yes'}\n",
	$_[0]->{'opts'} ? "checked" : "";
printf "<input type=radio name=opts value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'opts'} ? "" : "checked";

print "<td><b>$text{'acl_delete'}</b></td> <td>\n";
printf "<input type=radio name=delete value=1 %s> $text{'yes'}\n",
	$_[0]->{'delete'} ? "checked" : "";
printf "<input type=radio name=delete value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'delete'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_findfree'}</b></td> <td>\n";
printf "<input type=radio name=findfree value=1 %s> $text{'yes'}\n",
	$_[0]->{'findfree'} ? "checked" : "";
printf "<input type=radio name=findfree value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'findfree'} ? "" : "checked";

print "<td><b>$text{'acl_views'}</b></td> <td>\n";
printf "<input type=radio name=views value=1 %s> $text{'yes'}\n",
	$_[0]->{'views'} ? "checked" : "";
printf "<input type=radio name=views value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'views'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_remote'}</b></td> <td>\n";
printf "<input type=radio name=remote value=1 %s> $text{'yes'}\n",
	$_[0]->{'remote'} ? "checked" : "";
printf "<input type=radio name=remote value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'remote'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the bind8 module
sub acl_security_save
{
if ($in{'zones_def'} == 1) {
	$_[0]->{'zones'} = "*";
	}
elsif ($in{'zones_def'} == 2) {
	$_[0]->{'zones'} = join(" ", "!", split(/\0/, $in{'zones'}));
	}
else {
	$_[0]->{'zones'} = join(" ", split(/\0/, $in{'zones'}));
	}
$_[0]->{'master'} = $in{'master'};
$_[0]->{'slave'} = $in{'slave'};
$_[0]->{'forward'} = $in{'forward'};
$_[0]->{'defaults'} = $in{'defaults'};
$_[0]->{'reverse'} = $in{'reverse'};
$_[0]->{'multiple'} = $in{'multiple'};
$_[0]->{'ro'} = $in{'ro'};
$_[0]->{'apply'} = $in{'apply'};
$_[0]->{'dir'} = $in{'dir'};
$_[0]->{'dironly'} = $in{'dironly'};
$_[0]->{'file'} = $in{'file'};
$_[0]->{'params'} = $in{'params'};
$_[0]->{'opts'} = $in{'opts'};
$_[0]->{'delete'} = $in{'delete'};
$_[0]->{'findfree'} = $in{'findfree'};
$_[0]->{'views'} = $in{'views'};
$_[0]->{'remote'} = $in{'remote'};
}

  07070100027225000081a40000000000000002000000013d1fe2d2000068a0000000200000000000000000000000000000001900000003reloc/bind8/bind8-lib.pl  # bind8-lib.pl
# Common functions for bind8 config files

do '../web-lib.pl';
&init_config();
do 'records-lib.pl';

if (open(VERSION, "$module_config_directory/version")) {
	chop($bind_version = <VERSION>);
	close(VERSION);
	}

# get_config()
# Returns an array of references to assocs, each containing the details of
# one directive
sub get_config
{
if (!@get_config_cache) {
	@get_config_cache = &read_config_file($config{'named_conf'});
	}
return \@get_config_cache;
}

# get_config_parent()
# Returns a structure containing the top-level config as members
sub get_config_parent
{
local $conf = &get_config();
return { 'file' => $config{'named_conf'},
	 'type' => 1,
	 'line' => -1,
	 'eline' => $lines_count{$config{'named_conf'}},
	 'members' => $conf };
}

# read_config_file(file, [expand includes])
# Reads a config file and returns an array of values
sub read_config_file
{
local($lnum, $line, $cmode, @ltok, @lnum, @tok,
      @rv, $i, $t, $j, $ifile, @inc, $str);
$lnum = 0;
open(FILE, $config{'chroot'}.$_[0]);
while($line = <FILE>) {
	# strip comments
	$line =~ s/\r|\n//g;
	$line =~ s/#.*$//g;
	$line =~ s/\/\/.*$//g if ($line !~ /".*\/\/.*"/);
	$line =~ s/\/\*.*\*\///g;
	while(1) {
		if (!$cmode && $line =~ /\/\*/) {
			# start of a C-style comment
			$cmode = 1;
			$line =~ s/\/\*.*$//g;
			}
		elsif ($cmode) {
			if ($line =~ /\*\//) {
				# end of comment
				$cmode = 0;
				$line =~ s/^.*\*\///g;
				}
			else { $line = ""; last; }
			}
		else { last; }
		}

	# split line into tokens
	undef(@ltok);
	while(1) {
		if ($line =~ /^\s*\"([^"]*)"(.*)$/) {
			push(@ltok, $1); $line = $2;
			}
		elsif ($line =~ /^\s*([{};])(.*)$/) {
			push(@ltok, $1); $line = $2;
			}
		elsif ($line =~ /^\s*([^{}; \t]+)(.*)$/) {
			push(@ltok, $1); $line = $2;
			}
		else { last; }
		}
	foreach $t (@ltok) {
		push(@tok, $t); push(@lnum, $lnum);
		}
	$lnum++;
	}
close(FILE);
$lines_count{$_[0]} = $lnum;

# parse tokens into data structures
$i = 0; $j = 0;
while($i < @tok) {
	$str = &parse_struct(\@tok, \@lnum, \$i, $j++, $_[0]);
	if ($str) { push(@rv, $str); }
	}

# expand include directives
for($i=0; $i<@rv; $i++) {
	if (lc($rv[$i]->{'name'}) eq "include" && !$_[1]) {
		# found one.. replace the include directive with it
		$ifile = $rv[$i]->{'value'};
		if ($ifile !~ /^\//) {
			$ifile = &base_directory(\@rv)."/$ifile";
			}
		@inc = &read_config_file($ifile, 1);

		# update index of included structures
		for($j=0; $j<@inc; $j++) {
			$inc[$j]->{'index'} += $rv[$i]->{'index'};
			}

		# update index of structures after include
		for($j=$i+1; $j<@rv; $j++) {
			$rv[$j]->{'index'} += scalar(@inc) - 1;
			}
		splice(@rv, $i--, 1, @inc);
		}
	}

return @rv;
}

# parse_struct(&tokens, &lines, &line_num, index, file)
# A structure can either have one value, or a list of values.
# Pos will end up at the start of the next structure
sub parse_struct
{
local(%str, $i, $t, @vals, $str);
$i = ${$_[2]};
$str{'name'} = lc($_[0]->[$i]);
$str{'line'} = $_[1]->[$i];
while(1) {
	$t = $_[0]->[++$i];
	if ($t eq "{" || $t eq ";" || $t eq "}") { last; }
	elsif (!defined($t)) { ${$_[2]} = $i; return undef; }
	else { push(@vals, $t); }
	}
$str{'values'} = \@vals;
$str{'value'} = $vals[0];
$str{'index'} = $_[3];
$str{'file'} = $_[4];
if ($t eq "{") {
	# contains sub-structures.. parse them
	local(@mems, $j);
	$i++;		# skip {
	$str{'type'} = 1;
	$j = 0;
	while($_[0]->[$i] ne "}") {
		if (!defined($_[0]->[$i])) { ${$_[2]} = $i; return undef; }
		$str = &parse_struct($_[0], $_[1], \$i, $j++, $_[4]);
		if ($str) { push(@mems, $str); }
		}
	$str{'members'} = \@mems;
	$i += 2;	# skip trailing } and ;
	}
else {
	# only a single value..
	$str{'type'} = 0;
	if ($t eq ";") {
		$i++;	# skip trailing ;
		}
	}
$str{'eline'} = $_[1]->[$i-1];	# ending line is the line number the trailing
				# ; is on
${$_[2]} = $i;
return \%str;
}

# find(name, &array)
sub find
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &array)
sub find_value
{
local(@v);
@v = &find($_[0], $_[1]);
if (!@v) { return undef; }
elsif (wantarray) { return map { $_->{'value'} } @v; }
else { return $v[0]->{'value'}; }
}

# base_directory([&config])
# Returns the base directory for named files
sub base_directory
{
local($opts, $dir, $conf);
$conf = $_[0] ? $_[0] : &get_config();
if (($opts = &find("options", $conf)) &&
    ($dir = &find("directory", $opts->{'members'}))) {
	return $dir->{'value'};
	}
$config{'named_conf'} =~ /^(.*)\/[^\/]+$/;
return $1;
}

# save_directive(&parent, name|&old, &values, indent, [structonly])
# Given a structure containing a directive name, type, values and members
# add, update or remove that directive in config structure and data files.
# Updating of files assumes that there is no overlap between directives -
# each line in the config file must contain part or all of only one directive.
sub save_directive
{
local(@oldv, @newv, $pm, $i, $o, $n, $lref, @nl);
$pm = $_[0]->{'members'};
@oldv = ref($_[1]) ? @{$_[1]} : &find($_[1], $pm);
@newv = @{$_[2]};
for($i=0; $i<@oldv || $i<@newv; $i++) {
	if ($i >= @oldv && !$_[5]) {
		# a new directive is being added.. put it at the end of
		# the parent
		if (!$_[4]) {
			$lref = &read_file_lines($config{'chroot'}.$_[0]->{'file'});
			@nl = &directive_lines($newv[$i], $_[3]);
			splice(@$lref, $_[0]->{'eline'}, 0, @nl);
			$newv[$i]->{'file'} = $_[0]->{'file'};
			$newv[$i]->{'line'} = $_[0]->{'eline'};
			$newv[$i]->{'eline'} =
				$_[0]->{'eline'} + scalar(@nl) - 1;
			&renumber(&get_config(), $_[0]->{'eline'},
				  $_[0]->{'file'}, scalar(@nl));
			}
		push(@$pm, $newv[$i]);
		}
	elsif ($i >= @oldv && $_[5]) {
		# a new directive is being added.. put it at the start of
		# the parent
		if (!$_[4]) {
			$lref = &read_file_lines($config{'chroot'}.$_[0]->{'file'});
			@nl = &directive_lines($newv[$i], $_[3]);
			splice(@$lref, $_[0]->{'line'}+1, 0, @nl);
			$newv[$i]->{'file'} = $_[0]->{'file'};
			$newv[$i]->{'line'} = $_[0]->{'line'}+1;
			$newv[$i]->{'eline'} =
				$_[0]->{'line'} + scalar(@nl);
			&renumber(&get_config(), $_[0]->{'line'},
				  $_[0]->{'file'}, scalar(@nl));
			}
		splice(@$pm, 0, 0, $newv[$i]);
		}
	elsif ($i >= @newv) {
		# a directive was deleted
		if (!$_[4]) {
			$lref = &read_file_lines($config{'chroot'}.$oldv[$i]->{'file'});
			$ol = $oldv[$i]->{'eline'} - $oldv[$i]->{'line'} + 1;
			splice(@$lref, $oldv[$i]->{'line'}, $ol);
			&renumber(&get_config(), $oldv[$i]->{'eline'},
				  $oldv[$i]->{'file'}, -$ol);
			}
		splice(@$pm, &indexof($oldv[$i], @$pm), 1);
		}
	else {
		# updating some directive
		if (!$_[4]) {
			$lref = &read_file_lines($config{'chroot'}.$oldv[$i]->{'file'});
			@nl = &directive_lines($newv[$i], $_[3]);
			$ol = $oldv[$i]->{'eline'} - $oldv[$i]->{'line'} + 1;
			splice(@$lref, $oldv[$i]->{'line'}, $ol, @nl);
			$newv[$i]->{'file'} = $_[0]->{'file'};
			$newv[$i]->{'line'} = $oldv[$i]->{'line'};
			$newv[$i]->{'eline'} =
				$oldv[$i]->{'line'} + scalar(@nl) - 1;
			&renumber(&get_config(), $oldv[$i]->{'eline'},
				  $oldv[$i]->{'file'}, scalar(@nl) - $ol);
			}
		$pm->[&indexof($oldv[$i], @$pm)] = $newv[$i];
		}
	}
}

# directive_lines(&directive, tabs)
# Renders some directive into a number of lines of text
sub directive_lines
{
local(@rv, $v, $m, $i);
$rv[0] = "\t" x $_[1];
$rv[0] .= "$_[0]->{'name'}";
foreach $v (@{$_[0]->{'values'}}) {
	if ($need_quote{$_[0]->{'name'}} && !$i) { $rv[0] .= " \"$v\""; }
	else { $rv[0] .= " $v"; }
	$i++;
	}
if ($_[0]->{'type'}) {
	# multiple values.. include them as well
	$rv[0] .= " {";
	foreach $m (@{$_[0]->{'members'}}) {
		push(@rv, &directive_lines($m, $_[1]+1));
		}
	push(@rv, ("\t" x ($_[1]+1))."}");
	}
$rv[$#rv] .= ";";
return @rv;
}

# renumber(&directives, line, file, count)
# Runs through the given array of directives and increases the line numbers
# of all those greater than some line by the given count
sub renumber
{
local($d);
foreach $d (@{$_[0]}) {
	if ($d->{'file'} eq $_[2]) {
		if ($d->{'line'} > $_[1]) { $d->{'line'} += $_[3]; }
		if ($d->{'eline'} > $_[1]) { $d->{'eline'} += $_[3]; }
		}
	if ($d->{'type'}) {
		&renumber($d->{'members'}, $_[1], $_[2], $_[3]);
		}
	}
}

# choice_input(text, name, &config, [display, option]+)
sub choice_input
{
local($rv, $v, $i, @ops);
$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top>";
$v = &find_value($_[1], $_[2]);
for($i=3; $i<@_; $i+=2) {
	$rv .= sprintf "<input type=radio name=%s value='%s' %s> %s\n",
		$_[1], $_[$i+1], $v eq $_[$i+1] ? "checked" : "", $_[$i];
	}
return $rv."</td>\n";
}

# save_choice(name, &parent, indent)
sub save_choice
{
local($nd);
if ($in{$_[0]}) { $nd = { 'name' => $_[0], 'values' => [ $in{$_[0]} ] }; }
&save_directive($_[1], $_[0], $nd ? [ $nd ] : [ ], $_[2]);
}

# addr_match_input(text, name, &config)
# A field for editing a list of addresses, ACLs and partial IP addresses
sub addr_match_input
{
local($v, $rv, $av, @av);
$v = &find($_[1], $_[2]);
$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top>";
$rv .= "<input type=radio name=$_[1]_def value=1 ".
       ($v ? "" : "checked")."> $text{'default'}";
$rv .= "<input type=radio name=$_[1]_def value=0 ".
       ($v ? "checked" : "")."> $text{'listed'}<br>";
foreach $av (@{$v->{'members'}}) { push(@av, $av->{'name'}); }
$rv .= "<textarea name=$_[1] rows=3 cols=15>".
	join("\n", @av)."</textarea></td>\n";
}

# save_addr_match(name, &parent, indent)
sub save_addr_match
{
local($addr, @vals, $dir);
if ($in{"$_[0]_def"}) { &save_directive($_[1], $_[0], [ ], $_[2]); }
else {
	foreach $addr (split(/\s+/, $in{$_[0]})) {
		push(@vals, { 'name' => $addr });
		}
	$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
	&save_directive($_[1], $_[0], [ $dir ], $_[2]);
	}
}

# address_port_input(addresstext, portlabeltext, portnametext, defaulttext,
#                    addressname, portname, &config, size, type)
sub address_port_input
  {
    my $rv = &address_input($_[0], $_[4], $_[6], $_[8]);
    my $v = &find($_[4], $_[6]);

    my $port;
    for ($i = 0; $i < @{$v->{'values'}}; $i++) {
      if ($v->{'values'}->[$i] eq $_[5]) {
	$port = $v->{'values'}->[$i+1];
	last;
      }
    }
    my $n;
    ($n = $_[5]) =~ s/[^A-Za-z0-9_]/_/g;
    $rv .= "<td valign=top><b>$_[1]</b></td> <td nowrap valign=top>\n";
    $rv .= sprintf "<input type=radio name=${n}_def value=1 %s> $_[3]\n",
      defined($port) ? "" : "checked";
    $rv .= sprintf "<input type=radio name=${n}_def value = 0 %s> ",
      defined($port) ? "checked" : "";
    $rv .= sprintf "<input name=$n size=$_[7] value=\"%s\"> $_[2]</td>\n",
      defined($port) ? $port : "";

    return $rv;
  }

# address_input(text, name, &config, type)
sub address_input
{
local($v, $rv, $av, @av);
$v = &find($_[1], $_[2]);
foreach $av (@{$v->{'members'}}) { push(@av, $av->{'name'}); }
if ($_[3] == 0) {
	# text area
	$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top>";
	$rv .= "<textarea name=$_[1] rows=3 cols=15>".
		join("\n", @av)."</textarea></td>\n";
	}
else {
	$rv = "<td valign=top><b>$_[0]</b></td> <td colspan=3 valign=top>";
	$rv .= "<input name=$_[1] size=50 value=\"".join(' ',@av)."\"></td>\n";
	}
return $rv;
}

sub save_port_address {
  local($addr, $port, @vals, $dir);
  foreach $addr (split(/\s+/, $in{$_[0]})) {
    &check_ipaddress($addr) || &error(&text('eip', $addr));
    push(@vals, { 'name' => $addr });
  }
  $dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
  ($n = $_[1]) =~ s/[^A-Za-z0-9_]/_/g;
  $dir->{'values'} = [ $_[1], $in{$_[1]} ] if (!$in{"${n}_def"});
  &save_directive($_[2], $_[0], @vals ? [ $dir ] : [ ], $_[3]);
}

# save_address(name, &parent, indent, ips-only)
sub save_address
{
local($addr, @vals, $dir);
foreach $addr (split(/\s+/, $in{$_[0]})) {
	if ($_[3]) {
		&check_ipaddress($addr) || &error(&text('eip', $addr));
		}
	push(@vals, { 'name' => $addr });
	}
$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
&save_directive($_[1], $_[0], @vals ? [ $dir ] : [ ], $_[2]);
}

# opt_input(text, name, &config, default, size, units)
sub opt_input
{
local($v, $rv, $n);
$v = &find($_[1], $_[2]);
($n = $_[1]) =~ s/[^A-Za-z0-9_]/_/g;
$rv = "<td valign=top><b>$_[0]</b></td> <td nowrap valign=top";
$rv .= $_[4] > 30 ? " colspan=3>\n" : ">\n";
$rv .= sprintf "<input type=radio name=${n}_def value=1 %s> $_[3]\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=${n}_def value=0 %s> ",
	$v ? "checked" : "";
$rv .= sprintf "<input name=$n size=$_[4] value=\"%s\"> $_[5]</td>\n",
	$v ? $v->{'value'} : "";
return $rv;
}

sub save_opt
{
local($dir, $n);
($n = $_[0]) =~ s/[^A-Za-z0-9_]/_/g;
if ($in{"${n}_def"}) { &save_directive($_[2], $_[0], [ ], $_[3]); }
elsif ($err = &{$_[1]}($in{$n})) {
	&error($err);
	}
else {
	$dir = { 'name' => $_[0], 'values' => [ $in{$n} ] };
	&save_directive($_[2], $_[0], [ $dir ], $_[3]);
	}
}

# directives that need their value to be quoted
@need_quote = ( "file", "zone", "pid-file", "statistics-file",
	        "dump-file", "named-xfer" );
foreach $need (@need_quote) {
	$need_quote{$need}++;
	}

1;

# find_reverse(address, [view])
# Returns the zone and record structures for the PTR record for some address
sub find_reverse
{
local($conf, @zl, $rev, $z, $revconf, $revfile, $revrec, @revrecs, $addr, $rr,
      @octs, $i, @hexs, $ipv6, @zero);

# find reverse domain
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
@zl = &find("zone", $conf);
$ipv6 = $config{'support_aaaa'} && &check_ip6address($_[0]);
if ($ipv6) {
	@zero = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
	$addr = &expandall_ip6($_[0]);
	$addr =~ s/://g;
	@hexs = split('', $addr);
	DOMAIN: for($i=30; $i>=0; $i--) {
		$addr = join(':',split(/(.{4})/,join('', (@hexs[0..$i],@zero[$i..30]))));
		$addr =~ s/::/:/g;
		$addr =~ s/(^:|:$)//g;
		$rev = &net_to_ip6int($addr, 4*($i+1));
		$rev =~ s/\.$//g;
		foreach $z (@zl) {
			if (lc($z->{'value'}) eq $rev &&
			    ($typed = &find("type", $z->{'members'})) &&
			    $typed->{'value'} eq "master") {
				# found the reverse master domain
				$revconf = $z;
				last DOMAIN;
				}
			}
		}
	}
else {
	@octs = split(/\./, $_[0]);
	DOMAIN: for($i=2; $i>=-1; $i--) {
		$rev = $i<0 ? "in-addr.arpa"
			    : &ip_to_arpa(join('.', @octs[0..$i]));
		$rev =~ s/\.$//g;
		foreach $z (@zl) {
			if ((lc($z->{'value'}) eq $rev ||
			     lc($z->{'value'}) eq "$rev.") &&
			    ($typed = &find("type", $z->{'members'})) &&
			    $typed->{'value'} eq "master") {
				# found the reverse master domain
				$revconf = $z;
				last DOMAIN;
				}
			}
		}
	}

# find reverse record
if ($revconf) {
	$revfile = &absolute_path(
		&find("file", $revconf->{'members'})->{'value'});
	@revrecs = &read_zone_file($revfile, $revconf->{'value'});
	if ($ipv6) {
		$addr = &net_to_ip6int($_[0], 128);
		}
	else {
		$addr = &ip_to_arpa($_[0]);
		}
	foreach $rr (@revrecs) {
		if ($rr->{'type'} eq "PTR" &&
		    lc($rr->{'name'}) eq lc($addr)) {
			# found the reverse record
			$revrec = $rr;
			last;
			}
		}
	}
return ($revconf, $revfile, $revrec);
}

# find_forward(address, [view])
# Returns the zone and record structures for the A record for some address
sub find_forward
{
local ($fwdconf, $i, $fwdfile, $fwdrec, $fr, $ipv6);

# find forward domain
local $host = $_[0]; $host =~ s/\.$//;
local $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
local @zl = &find("zone", $conf);
local @parts = split(/\./, $host);
DOMAIN: for($i=1; $i<@parts; $i++) {
	local $fwd = join(".", @parts[$i .. @parts-1]);
	foreach $z (@zl) {
		local $typed;
		if ((lc($z->{'value'}) eq $fwd ||
		     lc($z->{'value'}) eq "$fwd.") &&
		    ($typed = &find("type", $z->{'members'})) &&
		    $typed->{'value'} eq "master") {
			# Found the forward master!
			$fwdconf = $z;
			last DOMAIN;
			}
		}
	}

# find forward record
if ($fwdconf) {
	$fwdfile = &absolute_path(
		&find("file", $fwdconf->{'members'})->{'value'});
	local @fwdrecs = &read_zone_file($fwdfile, $fwdconf->{'value'});
	foreach $fr (@fwdrecs) {
		if ($ipv6 ? $fr->{'type'} eq "AAAA" : $fr->{'type'} eq "A" &&
		    $fr->{'name'} eq $_[0]) {
			# found the forward record!
			$fwdrec = $fr;
			last;
			}
		}
	}

return ($fwdconf, $fwdfile, $fwdrec);
}

# can_edit_zone(&access, &zone)
sub can_edit_zone
{
local %zcan;
local $zn = $_[1]->{'value'};

# Check zone name
if ($access{'zones'} eq '*') {
	}
elsif ($access{'zones'} =~ /^\!/) {
	foreach (split(/\s+/, $access{'zones'})) {
		return 0 if ($_ eq $zn);
		}
	}
else {
	local $ok;
	foreach (split(/\s+/, $access{'zones'})) {
		$ok++ if ($_ eq $zn);
		}
	return 0 if (!$ok);
	}

if ($_[0]->{'dironly'}) {
	# Check directory access control 
	local $file = &absolute_path(
			&find("file", $_[1]->{'members'})->{'value'});
	return 0 if (!&allowed_zone_file($_[0], $file));
	}
return 1;
}

# record_input(zoneindex, view, type, file, origin, [num], [record])
# Display a form for editing or creating a DNS record
sub record_input
{
local(%rec, @recs, $ttl, $ttlunit);
local $type = $_[6] ? $_[6]->{'type'} : $_[2];
print "<form action=save_record.cgi>\n";
print "<input type=hidden name=index value='$_[0]'>\n";
print "<input type=hidden name=view value='$_[1]'>\n";
print "<input type=hidden name=file value='$_[3]'>\n";
print "<input type=hidden name=origin value='$_[4]'>\n";
print "<input type=hidden name=sort value='$in{'sort'}'>\n";
if (@_ >= 6) {
	print "<input type=hidden name=num value=$_[5]>\n";
	%rec = %{$_[6]};
	}
else { print "<input type=hidden name=new value=1>\n"; }
print "<input type=hidden name=type value='$type'>\n";
print "<input type=hidden name=redirtype value='$_[2]'>\n";
print "<table border>\n";
print "<tr $tb><td><b>",&text(@_ >= 6 ? 'edit_edit' : 'edit_add',
			      $text{"edit_".$type}),"</b></td> </tr>\n";
print "<tr $cb><td><table>\n";

if ($type eq "PTR") {
	print "<tr> <td><b>$text{'edit_addr'}</b></td>\n";
	printf "<td><input name=name value=\"%s\" size=30></td>\n",
		!%rec && $_[4] =~ /^(\d+)\.(\d+)\.(\d+)\.in-addr/ ?
			"$3.$2.$1." : &ip6int_to_net(&arpa_to_ip($rec{'name'}));
	}
elsif ($type eq "NS") {
	print "<tr> <td><b>$text{'edit_zonename'}</b></td>\n";
	print "<td><input name=name value=\"$rec{'name'}\" size=30></td>\n";
	}
else {
	print "<tr> <td><b>$text{'edit_name'}</b></td>\n";
	print "<td><input name=name value=\"$rec{'name'}\" size=30></td>\n";
	}
if ($rec{'ttl'} =~ /^(\d+)([SMHDW]?)$/i) {
	$ttl = $1; $ttlunit = $2;
	}
else {
	$ttl = $rec{'ttl'}; $ttlunit = "";
	}
print "<td><b>$text{'edit_ttl'}</b></td>\n";
printf "<td><input type=radio name=ttl_def value=1 %s> $text{'default'}\n",
	defined($rec{'ttl'}) ? "" : "checked";
printf "<input type=radio name=ttl_def value=0 %s>\n",
	defined($rec{'ttl'}) ? "checked" : "";
print "<input name=ttl size=8 value=\"$ttl\">\n";
&time_unit_choice("ttlunit", $ttlunit);
print "</td> </tr>\n";

@v = @{$rec{'values'}};
if ($type eq "A" || $type eq "AAAA") {
	print "<tr> <td><b>$text{'value_A1'}</b></td>\n";
	print "<td><input name=value0 size=20 value=\"$v[0]\"></td> </tr>\n";
	if (@_ >= 6) {
		print "<input type=hidden name=oldname ",
		      "value=\"$rec{'name'}\">\n";
		print "<input type=hidden name=oldvalue0 value=\"$v[0]\">\n";
		}
	}
elsif ($type eq "NS") {
	print "<tr> <td><b>$text{'value_NS1'}</b></td>\n";
	print "<td colspan=3><input name=value0 size=30 value=\"$v[0]\">\n";
	print "($text{'edit_cnamemsg'})</td> </tr>\n";
	}
elsif ($type eq "CNAME") {
	print "<tr> <td><b>$text{'value_CNAME1'}</b></td>\n";
	print "<td colspan=3><input name=value0 size=30 value=\"$v[0]\">\n";
	print "($text{'edit_cnamemsg'})</td> </tr>\n";
	}
elsif ($type eq "MX") {
	print "<tr> <td><b>$text{'value_MX2'}</b></td>\n";
	print "<td><input name=value1 size=30 value=\"$v[1]\"></td>\n";
	print "<td><b>$text{'value_MX1'}</b></td>\n";
	print "<td><input name=value0 size=8 value=\"$v[0]\"></td> </tr>\n";
	}
elsif ($type eq "HINFO") {
	print "<tr> <td><b>$text{'value_HINFO1'}</b></td>\n";
	print "<td><input name=value0 size=20 value=\"$v[0]\"></td>\n";
	print "<td><b>$text{'value_HINFO2'}</b></td>\n";
	print "<td><input name=value1 size=20 value=\"$v[1]\"></td> </tr>\n";
	}
elsif ($type eq "TXT") {
	print "<tr> <td><b>$text{'value_TXT1'}</b></td>\n";
	print "<td><input name=value0 size=30 value=\"$v[0]\"></td> </tr>\n";
	}
elsif ($type eq "WKS") {
	print "<tr> <td><b>$text{'value_WKS1'}</b></td>\n";
	print "<td><input name=value0 size=15 value=\"$v[0]\"></td>\n";
	print "<td><b>$text{'value_WKS2'}</b></td>\n";
	print "<td><select name=value1>\n";
	printf "<option %s>TCP\n", $v[1] =~ /tcp/ ? "selected" : "";
	printf "<option %s>UDP\n", $v[1] =~ /udp/ ? "selected" : "";
	print "</select></td>\n";
	print "<tr> <td valign=top><b>$text{'value_WKS3'}</b></td>\n";
	print "<td><textarea name=value2 rows=3 cols=20 wrap>",
		join(' ', @v[2..$#v]),"</textarea></td> </tr>\n";
	}
elsif ($type eq "RP") {
	print "<tr> <td><b>$text{'value_RP1'}</b></td>\n";
	$v[0] = &dotted_to_email($v[0]);
	print "<td><input name=value0 size=20 value=\"$v[0]\"></td>\n";
	print "<td><b>$text{'value_RP2'}</b></td>\n";
	print "<td><input name=value1 size=30 value=\"$v[1]\"></td> </tr>\n";
	}
elsif ($type eq "PTR") {
	print "<tr> <td><b>$text{'value_PTR1'}</b></td>\n";
	print "<td><input name=value0 size=30 value=\"$v[0]\"></td> </tr>\n";
	if (@_ >= 6) {
		print "<input type=hidden name=oldname ",
		      "value=\"$rec{'name'}\">\n";
		print "<input type=hidden name=oldvalue0 value=\"$v[0]\">\n";
		}
	}
elsif ($type eq "LOC") {
	print "<tr> <td><b>$text{'value_LOC1'}</b></td>\n";
	printf "<td colspan=3><input name=value0 size=45 value=\"%s\"></td> </tr>\n", join(" ", @v);
	}
if ($type ne "WKS") {
	printf "<tr> <td><b>%s</b></td>\n",
		$config{'allow_comments'} ? $text{'edit_comment'} : "";
	printf "<td><input %s name=comment size=30 value=\"%s\"></td> </tr>\n",
		$config{'allow_comments'} ? "" : "type=hidden", $rec{'comment'};
	}
if ($type eq "A" || $type eq "AAAA") {
	print "<tr> <td><b>$text{'edit_uprev'}</b></td>\n";
	printf "<td><input type=radio name=rev value=1 %s> $text{'yes'}\n",
		$config{'rev_def'} == 0 ? 'checked' : "";
	if (@_ < 6) {
		printf "<input type=radio name=rev value=2 %s> %s\n",
			$config{'rev_def'} == 2 ? 'checked' : '',
			$text{'edit_over'};
		}
	printf "<input type=radio name=rev value=0 %s> $text{'no'}</td>\n",
		$config{'rev_def'} == 1 ? 'checked' : '';
	}
elsif ($type eq "PTR") {
	print "<tr> <td><b>$text{'edit_upfwd'}</b></td>\n";
	printf "<td><input type=radio name=fwd value=1 %s> $text{'yes'}\n",
		$config{'rev_def'} ? '' : 'checked';
	printf "<input type=radio name=fwd value=0 %s> $text{'no'}</td>\n",
		$config{'rev_def'} ? 'checked' : '';
	}
else { print "<tr> <td colspan=2></td>\n"; }
print "<td colspan=2 align=right>\n";
local %a = &get_module_acl();
if (!$a{'ro'}) {
	if (@_ >= 6) {
		print "<input type=submit value=\"$text{'save'}\">\n";
		print "<input type=submit name=delete ",
		      "value=\"$text{'delete'}\">\n";
		}
	else { print "<input type=submit value=\"$text{'create'}\">\n"; }
	}
print "</td></tr></table></td></tr></table></form>\n";
}

sub zones_table
{
local($i);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_zone'}</b></td> ",
      "<td><b>$text{'index_type'}</b></td> </tr>\n";
for($i=0; $i<@{$_[0]}; $i++) {
	print "<tr $cb>\n";
	print "<td><a href=\"$_[0]->[$i]\">$_[1]->[$i]</a></td>\n";
	print "<td>$_[2]->[$i]</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

# convert_illegal(text)
# Convert text containing special HTML characters to properly display it.
sub convert_illegal
{
$_[0] =~ s/&/&amp;/g;
$_[0] =~ s/>/&gt;/g;
$_[0] =~ s/</&lt;/g;
$_[0] =~ s/"/&quot;/g;
$_[0] =~ s/ /&nbsp;/g;
return $_[0];
}

sub check_net_ip
{
local($j, $arg = $_[0]);
if ($arg !~ /^(\d{1,3}\.){0,3}([0-9\-\/]+)$/) {
	return 0;
	}
foreach $j (split(/\./, $arg)) {
	$j =~ /^(\d+)-(\d+)$/ && $1 < 255 && $2 < 255 ||
	$j =~ /^(\d+)\/(\d+)$/ && $1 < 255 && $2 <= 32 ||
		$j <= 255 || return 0;
	}
return 1;
}

# expand_ip6(ip)
# Transform compact (with ::) IPv6 address to the unique expanded form
# (without :: and leading zeroes in all parts) 
sub expand_ip6
{
local($n);
for($n = 6 - ($_[0] =~ s/([^:]):(?=[^:])/$1:/g); $n > 0; $n--) {
	$_[0] =~ s/::/:0::/;
	}
$_[0] =~ s/::/:/;
$_[0] =~ s/^:/0:/;
$_[0] =~ s/:$/:0/;
$_[0] =~ s/(:|^)0(?=\w)/$1/;
$_[0] =~ tr/[A-Z]/[a-z]/;
return $_[0];
}

# expandall_ip6(ip)
# Transform IPv6 address to the expanded form containing all internal 0's 
sub expandall_ip6
{
&expand_ip6($_[0]);
$_[0] =~ s/(:|^)(\w{3})(?=:|$)/:0$2/g;
$_[0] =~ s/(:|^)(\w{2})(?=:|$)/:00$2/g;
$_[0] =~ s/(:|^)(\w)(?=:|$)/:000$2/g;
return $_[0];
}

# check_ip6address(ip)
# Check if some IPv6 address is properly formatted
sub check_ip6address
{
local($ip6);
$ip6 = $_[0];
$ip6 = &expand_ip6($ip6);
return ($ip6 =~ /^([\da-f]{1,4}:){7}([\da-f]{1,4})$/i);
}

sub time_unit_choice 
{
print "<select name=$_[0]>\n";
printf "<option %s value=\"\">$text{'seconds'}\n",
       $_[1] =~ /^(S?)$/i ? "selected" : "";
printf "<option %s value=\"M\">$text{'minutes'}\n",
       $_[1] =~ /M/i ? "selected" : "";
printf "<option %s value=\"H\">$text{'hours'}\n",
       $_[1] =~ /H/i ? "selected" : "";
printf "<option %s value=\"D\">$text{'days'}\n",
       $_[1] =~ /D/i ? "selected" : "";
printf "<option %s value=\"W\">$text{'weeks'}\n",
       $_[1] =~ /W/i ? "selected" : "";
print "</select>\n";
}

sub extract_time_units
{
local(@ret);
foreach $j (@_) {
	if ($j =~ /^(\d+)([SMHDW]?)$/is) {
		push(@ret, $2); $j = $1;
		}
	}
return @ret;
}

sub email_to_dotted
{
local $v = $_[0];
$v =~ s/\.$//;
if ($v =~ /^([^.]+)\@(.*)$/) {
	return "$1.$2.";
	}
elsif ($v =~ /^(.*)\@(.*)$/) {
	local ($u, $d) = ($1, $2);
	$u =~ s/\./\\\./g;
	return "\"$u.$d.\"";
	}
else {
	return $v;
	}
}

sub dotted_to_email
{
local $v = $_[0];
if ($v ne ".") {
	$v =~ s/([^\\])\./$1\@/;
	$v =~ s/\\\./\./g;
	$v =~ s/\.$//;
	}
return $v;
}

# set_ownership(file)
sub set_ownership
{
if ($config{'file_owner'}) {
	&system_logged("chown \"$config{'file_owner'}\" $_[0] >/dev/null 2>&1");
	}
if ($config{'file_perms'}) {
	&system_logged("chmod \"$config{'file_perms'}\" $_[0] >/dev/null 2>&1");
	}
}

@cat_list = ( 'default', 'config', 'parser', 'queries',
	      'lame-servers', 'statistics', 'panic', 'update',
	      'ncache', 'xfer-in', 'xfer-out', 'db',
	      'eventlib', 'packet', 'notify', 'cname', 'security',
	      'os', 'insist', 'maintenance', 'load', 'response-checks' );

@syslog_levels = ( 'kern', 'user', 'mail', 'daemon', 'auth', 'syslog',
		   'lpr', 'news', 'uucp', 'cron', 'authpriv', 'ftp',
		   'local0', 'local1', 'local2', 'local3',
		   'local4', 'local5', 'local6', 'local7' );

@severities = ( 'critical', 'error', 'warning', 'notice', 'info',
		'debug', 'dynamic' );

07070100027226000081e40000000000000002000000013d1fe2d20000038e000000200000000000000000000000000000001a00000003reloc/bind8/conf_acls.cgi #!/usr/local/bin/perl
# conf_acls.cgi
# Display global ACLs

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'acls_ecannot'});
&header($text{'acls_title'}, "");
print "<hr>\n";

$conf = &get_config();
@acls = ( &find("acl", $conf), { } );

print "<form action=save_acls.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'acls_name'}</b></td> ",
      "<td><b>$text{'acls_values'}</b></td> </tr>\n";
for($i=0; $i<@acls; $i++) {
	print "<tr $cb>\n";
	printf "<td valign=top><input name=name_$i size=15 value='%s'></td>\n",
		$acls[$i]->{'value'};
	@vals = map { $_->{'name'} } @{$acls[$i]->{'members'}};
	print "<td><textarea rows=2 cols=60 name=values_$i wrap=auto>",
		join(" ", @vals),"</textarea></td> </tr>\n";
	}
print "</table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100027227000081e40000000000000002000000013d1fe2d300000c41000000200000000000000000000000000000001e00000003reloc/bind8/conf_controls.cgi #!/usr/local/bin/perl
# conf_controls.cgi
# Display controls options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'controls_ecannot'});
&header($text{'controls_title'}, "");
print "<hr>\n";

&ReadParse();
$conf = &get_config();
$controls = &find("controls", $conf);
$mems = $controls->{'members'};

my ($inet, $unix, $addr, $port, $file, $perms, $owner, $group);
my @addrvals=();

foreach $mem ( @$mems ) {
  if ($mem->{'name'} eq "inet") {
    $inet=$mem;
    # Directive reads
    #  INET ( ip_addr | * ) PORT ip_port ALLOW address_match_list
    # the parser will see the address matchlist as a set of members
    # everything else is a value.
    my $v=$inet->{'values'};

    $addr=$v->[0];
    $port=$v->[2];

    foreach $addrmatch (@{$inet->{'members'}}) {
      push @addrvals, $addrmatch->{'name'};
    }
  } elsif ($mem->{'name'} eq "unix") {
    $unix=$mem;
    # Directive reads
    #  UNIX path_name PERM number OWNER number GROUP number;
    my $v=$unix->{'values'};

    $file=$v->[0];
    $perms=$v->[2];
    $owner=$v->[4];
    $group=$v->[6];
  }
}

$inetdefault=defined($inet)?"":" checked";
$inetset=defined($inet)?" checked":"";
$unixdefault=defined($unix)?"":" checked";
$unixset=defined($unix)?" checked":"";

print "<form action=save_controls.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'controls_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print "<td valign=top><b>",
       $text{'controls_inet'},
      "</b></td>\n";
print "<td nowrap valign=top>\n";
print "<input type=radio name=inet_def value=1$inetdefault> ",
       $text{'default'},
      "\n";
print "<input type=radio name=inet_def value=0$inetset>\n";
print "<input name=inetaddr size=16 value=$addr></td>\n";
print "<td valign=top>",
       $text{'controls_port'},
      "</td>\n";
print "<td valign=top>",
      "<input name=inetport size=6 value=$port></td>\n";
print "<td valign=top>",
      $text{'controls_allow'},
      "</td>\n";
print "<td valign=top>",
      "<textarea name=inetallow rows=4 cols=40 wrap=auto>\n",
       join(" ", @addrvals),
      "</textarea>\n";
print "</td></tr>\n";
print "<tr>\n";
print "<td valign=top><b>",
       $text{'controls_unix'},
      "</b></td>\n";
print "<td nowrap valign=top>\n";
print "<input type=radio name=unix_def value=1$unixdefault> ",
       $text{'default'},
      "\n";
print "<input type=radio name=unix_def value=0$unixset>\n";
print "<input name=unixfile size=16 value=$file></td>\n";
print "<td valign=top>",
      $text{'controls_permissions'},
      "</td>\n";
print "<td valign=top>",
      "<input name=unixperms size=6 value=$perms></td>\n";
print "<td valign=top>",
      $text{'controls_owner'},
      "</td>\n";
print "<td valign=top>",
      "<input name=unixowner size=8 value=$owner>\n",
      $text{'controls_group'},
      "<input name=unixgroup size = 8 value=$group>\n";
print "</td></tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   07070100027228000081e40000000000000002000000013d1fe2d200000516000000200000000000000000000000000000001b00000003reloc/bind8/conf_files.cgi    #!/usr/local/bin/perl
# conf_files.cgi
# Display global files options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'files_ecannot'});
&header($text{'files_title'}, "");
print "<hr>\n";

&ReadParse();
$conf = &get_config();
$options = &find("options", $conf);
$mems = $options->{'members'};

print "<form action=save_files.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'files_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &opt_input($text{'files_stats'}, "statistics-file", $mems,
		 $text{'default'}, 40, &file_chooser_button("statistics_file"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'files_dump'}, "dump-file", $mems,
		 $text{'default'}, 40, &file_chooser_button("dump_file"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'files_pid'}, "pid-file", $mems,
		 $text{'default'}, 40, &file_chooser_button("pid_file"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'files_xfer'}, "named-xfer", $mems,
		 $text{'default'}, 40, &file_chooser_button("named_xfer"));
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


  07070100027229000081e40000000000000002000000013d1fe2d3000005db000000200000000000000000000000000000002000000003reloc/bind8/conf_forwarding.cgi   #!/usr/local/bin/perl
# conf_forwarding.cgi
# Display global forwarding and transfer options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'forwarding_ecannot'});
&header($text{'forwarding_title'}, "");
print "<hr>\n";

$conf = &get_config();
$options = &find("options", $conf);
$mems = $options->{'members'};

print "<form action=save_forwarding.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'forwarding_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &address_input($text{'forwarding_fwders'}, 'forwarders', $mems, 0);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'forwarding_fwd'}, 'forward', $mems,
		    $text{'yes'}, 'first', $text{'no'}, 'only',
		    $text{'default'}, undef);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'forwarding_max'}, "max-transfer-time-in",
		 $mems, $text{'default'}, 4, $text{'forwarding_minutes'});
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'forwarding_format'}, 'transfer-format', $mems,
		    $text{'forwarding_one'}, 'one-answer',
		    $text{'forwarding_many'}, 'many-answers',
		    $text{'default'}, undef);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'forwarding_in'}, "transfers-in",
		 $mems, $text{'default'}, 4);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010002722a000081e40000000000000002000000013d1fe2d200001a07000000200000000000000000000000000000001d00000003reloc/bind8/conf_logging.cgi  #!/usr/local/bin/perl
# conf_logging.cgi
# Display global logging options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'logging_ecannot'});
&header($text{'logging_title'}, "");
print "<hr>\n";

&ReadParse();
$conf = &get_config();
$logging = &find("logging", $conf);
$mems = $logging ? $logging->{'members'} : [ ];

print "<form action=save_logging.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'logging_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top><b>$text{'logging_chans'}</b></td> <td>\n";

# display default channels
@defchans = ( { 'name' => 'default_syslog',
		'syslog' => 'daemon',
		'severity' => 'info' },
	      { 'name' => 'default_debug',
		'file' => 'named.run',
		'severity' => 'dynamic' },
	      { 'name' => 'default_stderr',
		'fd' => 'stderr',
		'severity' => 'info' },
	      { 'name' => 'null',
		'null' => 1 } );
foreach $c (@defchans) {
	print "<table width=100% border><tr><td><table>\n";
	print "<tr> <td><b>$text{'logging_cname'}</b></td>\n";
	print "<td colspan=3><i>$c->{'name'}</i></td> </tr>\n";

	print "<tr> <td><b>$text{'logging_to'}</b></td>\n";
	if ($c->{'syslog'}) {
		print "<td>$text{'logging_syslog'} ",
		      "<i>$c->{'syslog'}</i></td>\n";
		}
	elsif ($c->{'file'}) {
		print "<td>$text{'logging_file'} <i>$c->{'file'}</i></td>\n";
		}
	elsif ($c->{'fd'}) {
		print "<td>$text{'logging_fd'} <i>$c->{'fd'}</i></td>\n";
		}
	else {
		print "<td>$text{'logging_null'}</td>\n";
		}
	print "</tr>\n";

	print "<tr> <td><b>$text{'logging_sev'}</b></td>\n";
	if ($c->{'severity'}) {
		print "<td><i>$c->{'severity'}</i></td> </tr>\n";
		}
	else {
		print "<td><i>$text{'logging_any'}</i></td> </tr>\n";
		}
	print "</table></td></tr></table><br>\n";
	}

# display user-defined channels
@chans = &find("channel", $mems);
@channames = ( (map { $_->{'value'} } @chans) ,
	       'default_syslog', 'default_debug', 'default_stderr', 'null' );
push(@chans, { }) if ($in{'add'});
for($i=0; $i<@chans; $i++) {
	$cmems = $chans[$i]->{'members'};
	$file = &find("file", $cmems);
	$filestr = $file ? join(" ", @{$file->{'values'}}) : "";
	$syslog = &find_value("syslog", $cmems);
	$null = &find("null", $cmems);

	print "<br>\n" if ($i);
	print "<table width=100% border><tr><td><table width=100%>\n";
	print "<tr> <td><b>$text{'logging_cname'}</b></td>\n";
	printf "<td colspan=3><input name=cname_$i value='%s'></td> </tr>\n",
		$chans[$i]->{'value'};

	print "<tr> <td valign=top><b>$text{'logging_to'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=to_$i value=0 %s> %s\n",
		$file ? "checked" : "", $text{'logging_file'};
	printf "<input name=file_$i size=40 value='%s'> %s<br>\n",
		$file->{'value'}, &file_chooser_button("file_$i");

	print "&nbsp;&nbsp;&nbsp;&nbsp;<b>$text{'logging_versions'}</b>\n";
	printf "<input type=radio name=vmode_$i value=0 %s> %s\n",
		$filestr =~ /\sversions\s/i ? "" : "checked",
		$text{'logging_ver1'};
	printf "<input type=radio name=vmode_$i value=1 %s> %s\n",
		$filestr =~ /\sversions\s+unlimited/i ? "checked" : "",
		$text{'logging_ver2'};
	printf "<input type=radio name=vmode_$i value=2 %s>\n",
		$filestr =~ /\sversions\s+(\d+)/i ? "checked" : "";
	printf "<input name=ver_$i size=5 value='%s'><br>\n",
		$filestr =~ /\sversions\s+(\d+)/i ? $1 : "";

	$size = $filestr =~ /\ssize\s+(\S+)/ ? $1 : '';
	$size = undef if ($size eq 'unlimited');
	print "&nbsp;&nbsp;&nbsp;&nbsp;<b>$text{'logging_size'}</b>\n";
	printf "<input type=radio name=smode_$i value=0 %s> %s\n",
		$size ? "" : "checked", $text{'logging_sz1'};
	printf "<input type=radio name=smode_$i value=1 %s>\n",
		$size ? "checked" : "";
	printf "<input name=size_$i size=5 value='%s'><br>\n", $size;

	printf "<input type=radio name=to_$i value=1 %s> %s\n",
		$syslog ? "checked" : "", $text{'logging_syslog'};
	print "<select name=syslog_$i>\n";
	print "<option selected>\n" if (!$syslog);
	foreach $s (@syslog_levels) {
		printf "<option %s>%s\n",
			$syslog eq $s ? "selected" : "", $s;
		}
	print "</select>&nbsp;&nbsp;\n";

	printf "<input type=radio name=to_$i value=2 %s> %s</td> </tr>\n",
		$null ? "checked" : "", $text{'logging_null'};

	$sev = &find("severity", $cmems);
	print "<tr> <td><b>$text{'logging_sev'}</b></td>\n";
	print "<td colspan=3><select name=sev_$i>\n";
	printf "<option %s>\n", $sev ? "" : "selected";
	foreach $s (@severities) {
		printf "<option value=%s %s>%s\n",
			$s, $sev->{'value'} eq $s ? "selected" : "",
			$s eq 'debug' ? $text{'logging_debug'} :
			$s eq 'dynamic' ? $text{'logging_dyn'} : $s;
		}
	print "</select>\n";
	printf "<input name=debug_$i size=5 value='%s'></td> </tr>\n",
		$sev->{'value'} eq 'debug' ? $sev->{'values'}->[1] : "";

	print "<tr> <td><b>$text{'logging_pcat'}</b></td> <td>\n";
	&yes_no_default("print-category-$i",
			&find_value("print-category", $cmems));
	print "</td> <td><b>$text{'logging_psev'}</b></td> <td>\n";
	&yes_no_default("print-severity-$i",
			&find_value("print-severity", $cmems));
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'logging_ptime'}</b></td> <td>\n";
	&yes_no_default("print-time-$i",
			&find_value("print-time", $cmems));
	print "</td> </tr>\n";

	print "</table></td></tr></table>\n";
	}
print "<a href='conf_logging.cgi?add=1'>$text{'logging_add'}</a>\n";
print "</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'logging_cats'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'logging_cat'}</b></td> ",
      "<td><b>$text{'logging_cchans'}</b></td> </tr>\n";
@cats = ( &find("category", $mems), { } );
for($i=0; $i<@cats; $i++) {
	print "<tr $cb> <td><select name=cat_$i>\n";
	print "<option>\n";
	foreach $c (@cat_list) {
		printf "<option %s>%s\n",
			$cats[$i]->{'value'} eq $c ? "selected" : "", $c;
		}
	print "</select></td> <td>\n";
	local %cchan;
	foreach $c (@{$cats[$i]->{'members'}}) {
		$cchan{$c->{'name'}}++;
		}
	foreach $c (@channames) {
		printf "<input type=checkbox name=cchan_$i value=%s %s> %s\n",
			$c, $cchan{$c} ? "checked" : "", $c;
		}
	print "</td> </tr>\n";
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

# yes_no_default(name, value)
sub yes_no_default
{
printf "<input type=radio name=$_[0] value=yes %s> $text{'yes'}\n",
	lc($_[1]) eq 'yes' ? 'checked' : '';
printf "<input type=radio name=$_[0] value=no %s> $text{'no'}\n",
	lc($_[1]) eq 'no' ? 'checked' : '';
printf "<input type=radio name=$_[0] value='' %s> $text{'default'}\n",
	!$_[1] ? 'checked' : '';
}

 0707010002722b000081e40000000000000002000000013d1fe2d200000892000000200000000000000000000000000000001a00000003reloc/bind8/conf_misc.cgi #!/usr/local/bin/perl
# conf_misc.cgi
# Display miscellaneous options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'misc_ecannot'});
&header($text{'misc_title'}, "");
print "<hr>\n";

&ReadParse();
$conf = &get_config();
$options = &find("options", $conf);
$mems = $options->{'members'};

print "<form action=save_misc.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'misc_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &opt_input($text{'misc_core'}, 'coresize', $mems, $text{'default'}, 8);
print &opt_input($text{'misc_data'}, 'datasize', $mems, $text{'default'}, 8);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'misc_files'}, 'files', $mems, $text{'default'}, 8);
print &opt_input($text{'misc_stack'}, 'stacksize', $mems, $text{'default'}, 8);
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr>\n";
print &opt_input($text{'misc_clean'}, 'cleaning-interval', $mems,
		 $text{'default'}, 8, "$text{'misc_mins'}");
print &opt_input($text{'misc_iface'}, 'interface-interval', $mems,
		 $text{'default'}, 8, "$text{'misc_mins'}");
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'misc_stats'}, 'statistics-interval', $mems,
		 $text{'default'}, 8, "$text{'misc_mins'}");
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr>\n";
print &choice_input($text{'misc_recursion'}, 'recursion', $mems,
		    $text{'yes'}, 'yes', $text{'no'}, 'no',
		    $text{'default'}, undef);
print &choice_input($text{'misc_cnames'}, 'multiple-cnames', $mems,
		    $text{'yes'}, 'yes', $text{'no'}, 'no',
		    $text{'default'}, undef);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'misc_glue'}, 'fetch-glue', $mems,
		    $text{'yes'}, 'yes', $text{'no'}, 'no',
		    $text{'default'}, undef);
print &choice_input($text{'misc_nx'}, 'auth-nxdomain', $mems,
		    $text{'yes'}, 'yes', $text{'no'}, 'no',
		    $text{'default'}, undef);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


  0707010002722c000081e40000000000000002000000013d1fe2d200000a60000000200000000000000000000000000000001900000003reloc/bind8/conf_net.cgi  #!/usr/local/bin/perl
# conf_files.cgi
# Display global files options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'net_ecannot'});
&header($text{'net_title'}, "");
print "<hr>\n";

&ReadParse();
$conf = &get_config();
$options = &find("options", $conf);
$mems = $options->{'members'};

print "<form action=save_net.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'net_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'net_listen'}</b></td> <td colspan=3>\n";
@listen = &find("listen-on", $mems);
printf "<input type=radio name=listen_def value=1 %s> %s\n",
	@listen ? "" : "checked", $text{'default'};
printf "<input type=radio name=listen_def value=0 %s> %s<br>\n",
	@listen ? "checked" : "", $text{'net_below'};

print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'net_port'}</b></td> ",
      "<td><b>$text{'net_addrs'}</b></td> </tr>\n";
push(@listen, { });
for($i=0; $i<@listen; $i++) {
	printf "<tr $cb> <td><input type=radio name=pdef_$i value=1 %s> %s\n",
		$listen[$i]->{'value'} eq 'port' ? "" : "checked",
		$text{'default'};
	printf "<input type=radio name=pdef_$i value=0 %s>\n",
		$listen[$i]->{'value'} eq 'port' ? "checked" : "";
	printf "<input name=port_$i size=5 value='%s'></td>\n",
		$listen[$i]->{'value'} eq 'port' ?
			$listen[$i]->{'values'}->[1] : "";

	@vals = map { $_->{'name'} } @{$listen[$i]->{'members'}};
	printf "<td><input name=addrs_$i size=50 value='%s'></td> </tr>\n",
		join(" ", @vals);
	}
print "</table></td></tr>\n";

$src = &find("query-source", $mems);
$srcstr = join(" ", @{$src->{'values'}});
$sport = $1 if ($srcstr =~ /port\s+(\d+)/i);
$saddr = $1 if ($srcstr =~ /address\s+([0-9\.]+)/i);
print "<tr> <td><b>$text{'net_saddr'}</b></td> <td>\n";
printf "<input type=radio name=saddr_def value=1 %s> %s\n",
	$saddr ? "" : "checked", $text{'default'};
printf "<input type=radio name=saddr_def value=0 %s>\n",
	$saddr ? "checked" : "";
printf "<input name=saddr size=15 value='%s'></td>\n", $saddr;
print "<td><b>$text{'net_sport'}</b></td> <td>\n";
printf "<input type=radio name=sport_def value=1 %s> %s\n",
	$sport ? "" : "checked", $text{'default'};
printf "<input type=radio name=sport_def value=0 %s>\n",
	$sport ? "checked" : "";
printf "<input name=sport size=5 value='%s'></td> </tr>\n", $sport;

print "<tr>\n";
print &addr_match_input($text{'net_topol'}, 'topology', $mems, 1);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


0707010002722d000081e40000000000000002000000013d1fe2d2000006e3000000200000000000000000000000000000001d00000003reloc/bind8/conf_servers.cgi  #!/usr/local/bin/perl
# conf_servers.cgi
# Display options for other DNS servers

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'servers_ecannot'});
&header($text{'servers_title'}, "");
print "<hr>\n";

$conf = &get_config();
@servers = ( &find("server", $conf), { } );

print "<form action=save_servers.cgi>\n";
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'servers_ip'}</b></td> ",
      "<td><b>$text{'servers_bogus'}</b></td> ",
      "<td><b>$text{'servers_format'}</b></td> ",
      "<td><b>$text{'servers_trans'}</b></td> </tr>\n";
for($i=0; $i<@servers; $i++) {
	$s = $servers[$i];
	print "<tr $cb>\n";
	printf "<td><input name=ip_$i size=15 value='%s'></td>\n",
		$s->{'value'};

	$bogus = &find_value("bogus", $s->{'members'});
	printf "<td><input type=radio name=bogus_$i value=yes %s> %s\n",
		lc($bogus) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=bogus_$i value='' %s> %s</td>\n",
		lc($bogus) eq 'yes' ? "" : "checked", $text{'no'};

	$format = &find_value("transfer-format", $s->{'members'});
	printf "<td><input type=radio name=format_$i value=one-answer %s> %s\n",
		lc($format) eq 'one-answer' ? "checked" : "",
		$text{'servers_one'};
	printf "<input type=radio name=format_$i value=many-answers %s> %s\n",
		lc($format) eq 'many-answers' ? "checked" : "",
		$text{'servers_many'};
	printf "<input type=radio name=format_$i value='' %s> %s</td>\n",
		$format ? "" : "checked", $text{'default'};

	printf "<td><input name=trans_$i size=8 value='%s'></td> </tr>\n",
		&find_value("transfers", $s->{'members'});
	}
print "</table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010002722e000081e40000000000000002000000013d1fe2d20000101b000000200000000000000000000000000000001d00000003reloc/bind8/conf_zonedef.cgi  #!/usr/local/bin/perl
# conf_zonedef.cgi
# Display defaults for master zones

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'zonedef_ecannot'});
&header($text{'zonedef_title'}, "");
print "<hr>\n";

print "<form action=save_zonedef.cgi>\n";

&get_zone_defaults(\%zd);
print "<table border>\n";
print "<tr $tb> <td><b>$text{'zonedef_msg'}</b></td> </tr>\n";
print "<tr $cb> <td><table cellpadding=5>\n";

print "<tr> <td><b>$text{'master_refresh'}</b></td>\n";
print "<td><input name=refresh size=10 value='$zd{'refresh'}'>\n";
&time_unit_choice("refunit", $zd{'refunit'});
print "</td>\n";
print "<td><b>$text{'master_retry'}</b></td>\n";
print "<td><input name=retry size=10 value='$zd{'retry'}'>\n";
&time_unit_choice("retunit", $zd{'retunit'});
print "</td> </tr>\n";

print "<tr> <td><b>$text{'master_expiry'}</b></td>\n";
print "<td><input name=expiry size=10 value='$zd{'expiry'}'>\n";
&time_unit_choice("expunit", $zd{'expunit'});
print "</td>\n";
print "<td><b>$text{'master_minimum'}</b></td>\n";
print "<td><input name=minimum size=10 value='$zd{'minimum'}'>\n";
&time_unit_choice("minunit", $zd{'minunit'});
print "</td>\n";

print "<tr> <td valign=top><b>$text{'master_tmplrecs'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'master_name'}</b></td> ",
      "<td><b>$text{'master_type'}</b></td> ",
      "<td><b>$text{'master_value'}</b></td> </tr>\n";
for($i=0; $i<2 || $config{"tmpl_".($i-1)}; $i++) {
	@c = split(/\s+/, $config{"tmpl_$i"}, 3);
	print "<tr $cb>\n";
	print "<td><input name=name_$i size=15 value='$c[0]'></td>\n";
	print "<td><select name=type_$i>\n";
	foreach $t ('A', 'CNAME', 'MX', 'NS', 'HINFO') {
		printf "<option value=%s %s>%s\n",
			$t, $c[1] eq $t ? 'selected' : '', $text{"type_$t"};
		}
	print "</select></td>\n";
	printf "<td><input type=radio name=def_$i value=1 %s> %s\n",
		$c[2] ? '' : 'checked', $text{'master_user'};
	printf "<input type=radio name=def_$i value=0 %s>\n",
		$c[2] ? 'checked' : '';
	print "<input name=value_$i size=15 value='$c[2]'></td> </tr>\n";
	}
print "</table><br>\n";

print "<b>$text{'master_include'}</b>\n";
printf "<input name=include size=40 value='%s'> %s\n",
	$config{'tmpl_include'}, &file_chooser_button("include");
print "</td> </tr>\n";

print "<tr> <td><b>$text{'zonedef_email'}</b></td>\n";
printf "<td colspan=3><input name=email size=40 value='%s'></td> </tr>\n",
	$config{'tmpl_email'};

print "</tr> </table></td></tr></table><br>\n";

$conf = &get_config();
$options = &find("options", $conf);
$mems = $options->{'members'};
foreach $c (&find("check-names", $mems)) {
	$check{$c->{'values'}->[0]} = $c->{'values'}->[1];
	}

print "<table border>\n";
print "<tr $tb> <td><b>$text{'zonedef_msg2'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &addr_match_input($text{'zonedef_transfer'}, "allow-transfer", $mems);
print &addr_match_input($text{'zonedef_query'}, "allow-query", $mems);
print "</tr>\n";

print "<tr>\n";
&ignore_warn_fail($text{'zonedef_cmaster'}, 'master', $check{'master'});
&ignore_warn_fail($text{'zonedef_cslave'}, 'slave', $check{'slave'});
print "</tr>\n";

print "<tr>\n";
&ignore_warn_fail($text{'zonedef_cresponse'}, 'response', $check{'response'});
print &choice_input($text{'zonedef_notify'}, "notify", $mems,
		    $text{'yes'}, "yes", $text{'no'}, "no",
		    $text{'default'}, undef);
print "</tr>\n";

print "</tr> </table></td></tr></table><br>\n";

print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

# ignore_warn_fail(text, name, value)
sub ignore_warn_fail
{
print "<td><b>$_[0]</b></td> <td>\n";
printf "<input type=radio name=$_[1] value=ignore %s> $text{'ignore'}\n",
	$_[2] eq 'ignore' ? 'checked' : '';
printf "<input type=radio name=$_[1] value=warn %s> $text{'warn'}\n",
	$_[2] eq 'warn' ? 'checked' : '';
printf "<input type=radio name=$_[1] value=fail %s> $text{'fail'}\n",
	$_[2] eq 'fail' ? 'checked' : '';
printf "<input type=radio name=$_[1] value='' %s> $text{'default'}</td>\n",
	!$_[2] ? 'checked' : '';
}

 0707010002722f000081a40000000000000002000000013d1fe2d300000110000000200000000000000000000000000000001700000003reloc/bind8/config-aix    soa_style=0
named_path=/usr/sbin/named8
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
start_cmd=startsrc -s named
pid_file=/etc/named.pid
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027230000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000002000000003reloc/bind8/config-cobalt-linux   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027231000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-corel-linux    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027232000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000002000000003reloc/bind8/config-debian-linux   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027233000081a40000000000000002000000013d1fe2d20000011a000000200000000000000000000000000000002400000003reloc/bind8/config-debian-linux-2.2   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/bind/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  07070100027234000081a40000000000000002000000013d1fe2d30000011a000000200000000000000000000000000000002400000003reloc/bind8/config-debian-linux-3.0   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/bind/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  07070100027235000081a40000000000000002000000013d1fe2d30000011b000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-2.1    soa_style=0
named_path=/usr/local/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
rev_def=0
max_zones=50
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 07070100027236000081a40000000000000002000000013d1fe2d30000011b000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-2.2    soa_style=0
named_path=/usr/local/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 07070100027237000081a40000000000000002000000013d1fe2d20000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.0    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027238000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.1    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027239000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.2    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002723a000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.3    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002723b000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.4    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002723c000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-3.5    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002723d000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.0    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
0707010002723e000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.1    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
0707010002723f000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.2    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027240000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.3    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027241000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.4    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027242000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.5    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027243000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-4.6    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027244000081a40000000000000002000000013d1fe2d20000011c000000200000000000000000000000000000001f00000003reloc/bind8/config-freebsd-5.0    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027245000081a40000000000000002000000013d1fe2d300000131000000200000000000000000000000000000002100000003reloc/bind8/config-generic-linux  soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
pid_file=/var/run/named.pid
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027246000081a40000000000000002000000013d1fe2d30000015e000000200000000000000000000000000000002000000003reloc/bind8/config-gentoo-linux   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/bind/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
pid_file=/var/run/named/named.pid
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
start_cmd=/etc/init.d/named start
  07070100027247000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001800000003reloc/bind8/config-hpux   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027248000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001800000003reloc/bind8/config-irix   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027249000081a40000000000000002000000013d1fe2d20000011b000000200000000000000000000000000000001900000003reloc/bind8/config-macos  named_path=/usr/sbin/named
named_conf=/etc/named/named.conf
soa_style=0
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 0707010002724a000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001d00000003reloc/bind8/config-macos-1.3  named_path=/usr/sbin/named
named_conf=/etc/named.conf
soa_style=0
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002724b000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001d00000003reloc/bind8/config-macos-1.4  named_path=/usr/sbin/named
named_conf=/etc/named.conf
soa_style=0
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002724c000081a40000000000000002000000013d1fe2d30000013c000000200000000000000000000000000000002200000003reloc/bind8/config-mandrake-linux soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
0707010002724d000081a40000000000000002000000013d1fe2d300000137000000200000000000000000000000000000001d00000003reloc/bind8/config-msc-linux  soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 0707010002724e000081a40000000000000002000000013d1fe2d30000011c000000200000000000000000000000000000001a00000003reloc/bind8/config-netbsd soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/namedb/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
0707010002724f000081a40000000000000002000000013d1fe2d20000013c000000200000000000000000000000000000001e00000003reloc/bind8/config-open-linux soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027250000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-2.5    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027251000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-2.6    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027252000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-2.7    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027253000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-2.8    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027254000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-2.9    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027255000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-3.0    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027256000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000001f00000003reloc/bind8/config-openbsd-3.1    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027257000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001e00000003reloc/bind8/config-openserver soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027258000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001800000003reloc/bind8/config-osf1   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027259000081a40000000000000002000000013d1fe2d30000013c000000200000000000000000000000000000002000000003reloc/bind8/config-redhat-linux   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027260000081a40000000000000002000000013d1fe2d200000124000000200000000000000000000000000000001b00000003reloc/bind8/config-solaris    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
file_perms=644
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
0707010002725a000081a40000000000000002000000013d1fe2d30000015e000000200000000000000000000000000000002400000003reloc/bind8/config-redhat-linux-7.1   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
pid_file=/var/run/named/named.pid
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  0707010002725b000081a40000000000000002000000013d1fe2d30000015e000000200000000000000000000000000000002400000003reloc/bind8/config-redhat-linux-7.2   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
pid_file=/var/run/named/named.pid
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  0707010002725c000081a40000000000000002000000013d1fe2d30000015e000000200000000000000000000000000000002400000003reloc/bind8/config-redhat-linux-7.3   soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
start_cmd=/etc/rc.d/init.d/named start
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
pid_file=/var/run/named/named.pid
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  0707010002725d000081a40000000000000002000000013d1fe2d300000115000000200000000000000000000000000000002300000003reloc/bind8/config-slackware-linux    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   0707010002725e000081a40000000000000002000000013d1fe2d300000137000000200000000000000000000000000000002700000003reloc/bind8/config-slackware-linux-8.0    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
pid_file=/var/run/named/named.pid
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 0707010002725f000081a40000000000000002000000013d1fe2d300000137000000200000000000000000000000000000002700000003reloc/bind8/config-slackware-linux-8.1    soa_style=0
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
pid_file=/var/run/named/named.pid
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
 07070100027261000081a40000000000000002000000013d1fe2d200000118000000200000000000000000000000000000001d00000003reloc/bind8/config-solaris-7  soa_style=0
named_path=/usr/sbin/in.named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027262000081a40000000000000002000000013d1fe2d200000118000000200000000000000000000000000000001d00000003reloc/bind8/config-solaris-8  soa_style=0
named_path=/usr/sbin/in.named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027263000081a40000000000000002000000013d1fe2d300000118000000200000000000000000000000000000001d00000003reloc/bind8/config-solaris-9  soa_style=0
named_path=/usr/sbin/in.named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
07070100027264000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001e00000003reloc/bind8/config-suse-linux soa_style=1
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027265000081a40000000000000002000000013d1fe2d200000115000000200000000000000000000000000000001f00000003reloc/bind8/config-turbo-linux    soa_style=1
named_path=/usr/sbin/named
named_conf=/etc/named.conf
show_list=0
records_order=1
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
   07070100027266000081a40000000000000002000000013d1fe2d20000013e000000200000000000000000000000000000001c00000003reloc/bind8/config-unixware   soa_style=0
named_path=/usr/local/sbin/named
named_conf=/etc/local/named.conf
show_list=0
records_order=0
max_zones=50
rev_def=0
support_aaaa=0
allow_comments=0
allow_wild=0
allow_long=0
pid_file=/etc/inet/named.pid
master_ttl=1
whois_cmd=whois
short_names=0
updserial_def=0
updserial_on=1
updserial_man=1
ndc_cmd=ndc
  07070100027267000081a40000000000000002000000013d1fe2d3000005e9000000200000000000000000000000000000001800000003reloc/bind8/config.info   named_conf=Full path to the named.conf file,0
named_path=Full path to the named executable,0
whois_cmd=Full path to whois command,0
ndc_cmd=Command to reload a zone,0
pid_file=Default PID file location,3,/var/run/named.pid
show_list=Display domains as,1,0-Icons,1-List
soa_style=Serial number style,1,0-Running number,1-Date based (YYYYMMDDnn)
records_order=Order to display records in,1,1-By name,2-By value,3-By IP,0-As added
chroot=Chroot directory to run BIND under,3,Default
start_cmd=Command to start BIND,3,Default
max_zones=Maximum number of zones to display,0
rev_def=Update reverse is,1,0-On by default,1-Off by default,2-Overwrite by default
master_ttl=Add $ttl to top of new zone files,1,1-Yes,0-No
named_user=User to start BIND as,3,Default
named_group=Group to start BIND as,3,Default
master_dir=Directory for master zone files,3,Default
slave_dir=Directory for slave/stub zone files,3,Default
file_owner=Owner for zone files (user:group),3,Default
file_perms=Permissions for zone files (in octal),3,Default
support_aaaa=Support DNS for IPv6 addresses,1,0-No,1-Yes
allow_comments=Allow comments for records,1,0-No,1-Yes
allow_wild=Allow wildcards (not recommended),1,0-No,1-Yes
allow_long=Allow long hostnames,1,0-No,1-Yes
zones_file=Add new zones to file,3,named.conf
short_names=Convert record names to canonical form?,1,0-Yes,1-No
default_master=Default master server(s) from slave zones,0
default_slave=Default remote slave server,0
updserial_on=Automatically update serial numbers,1,1-Yes,0-No
   07070100027268000081a40000000000000002000000013d1fe2d30000069e000000200000000000000000000000000000001b00000003reloc/bind8/config.info.ca    named_conf=Camí complet del fitxer named.conf,0
named_path=Camí complet de l'executable named,0
whois_cmd=Camí complet de l'ordre <i>whois</i>,0
pid_file=Ubicació del fitxer de PID per defecte,3,/var/run/named.pid
show_list=Mostra els dominis com a,1,0-Icones,1-Llista
soa_style=Estil del número de sèrie,1,0-Número incremental,1-Basat en la data (AAAAMMDDnn)
records_order=Mostra els registres ordenats per,1,1-Nom,2-Valor,3-IP,0-Ordre d'introducció
chroot=Directori chroot sota el qual s'executa BIND,3,Defecte
start_cmd=Ordre per iniciar BIND,3,Defecte
max_zones=Nombre màxim de zones a mostrar,0
rev_def=Actualització inversa,1,0-Activada per defecte,1-Desactivada per defecte,2-Reescrita per defecte
master_ttl=Afegeix $ttl al principi dels nous fitxers de zona,1,1-Sí,0-No
named_user=Usuari sota el qual s'executa BIND,3,Defecte
named_group=Grup sota el qual s'executa BIND,3,Defecte
master_dir=Directori dels fitxers mestres de zones,3,Defecte
slave_dir=Directori dels fitxers de zones <i>slave/stub</i>,3,Defecte
file_owner=Propietari dels fitxers de zones (usuari:grup),3,Defecte
file_perms=Permisos dels fitxers de zones (en octal),3,Defecte
support_aaaa=Suport DNS d'adreces IPv6,1,0-No,1-Sí
allow_comments=Permet comentaris als registres,1,0-No,1-Sí
allow_wild=Permet escarrassos (no recomanat),1,0-No,1-Sí
allow_long=Permet noms de host llargs,1,0-No,1-Sí
zones_file=Afegeix zones noves al fitxer,3,named.conf
short_names=Converteix els noms de registres a la forma canònica,1,0-Sí,1-No
default_master=Servidor(s) mestres per defecte de les zones esclaves,0
default_slave=Servidor esclau remot per defecte,0
updserial_on=Actualitza els números de sèrie automàticament,1,1-Sí,0-No

  07070100027269000081a40000000000000002000000013d1fe2d30000016f000000200000000000000000000000000000001b00000003reloc/bind8/config.info.cz    named_conf=Plná cesta k souboru named.conf,0
named_path=Plná cesta ke spustitelnému souboru named,0
show_list=Zobrazit domény jako,1,0-Ikony,1-Seznam
soa_style=Serial number style,1,0-Running number,1-Date based (YYYYMMDDnn)
records_order=Zobrazit nabídku záznamù in,1,1-Dle jména,2-Dle hodnoty,0-Dle poøadí
chroot=Zmìnit (root) adresáø pro bìh Bindu na,3,Standartní
 0707010002726a000081a40000000000000002000000013d1fe2d2000001aa000000200000000000000000000000000000001b00000003reloc/bind8/config.info.de    named_conf=Ganzer Pfad zur named.conf Datei,0
named_path=Ganzer Pfad zur ausf&uuml;hrbaren Datei named,0
show_list=Zeige Domains als,1,0-Icons,1-Liste
soa_style=Aussehen der Seriennummer,1,0-Laufende Nummer,1-Datums basiert (JJJJMMTTnn)
records_order=Sortierung die Anzeige der Eintr&auml;ge nach,1,1-Name,2-Wert,3-By IP,0-Wie hinzugef&uuml;gt
chroot=Chroot Verzeichnis&#44; in dem BIND ausgef&uuml;hrt werden soll,3,Standard
  0707010002726b000081a40000000000000002000000013d1fe2d200000572000000200000000000000000000000000000001b00000003reloc/bind8/config.info.es    named_conf=Trayectoria completa a archivo named.conf,0
named_path=Trayectoria completa a ejecutable named,0
pid_file=Localización por defecto de archivo de PID,3,/var/run/named.pid
show_list=Mostrar dominios como,1,0-Iconos,1-Lista
soa_style=Estilo de número serial,1,0-Número en ejecución,1-Basado en fecha (AAAAMMDDnn)
records_order=Orden en el que mostrar los registros,1,1-Por nombre,2-Por valor,3-By IP,0-Según se añadieron
chroot=Directorio Chroot bajo el que ejecutar BIND,3,Por defecto
start_cmd=Comando para arrancar BIND,3,Por defecto
max_zones=Número máximo de zonas a mostrar,0
rev_def=Actualizar inversas está,1,0-Activado por defecto,1-Desactivado por defecto
master_ttl=Añadir $ttl al principio de los nuevos archivos de zona,1,1-Sí,0-No
named_user=Usuario bajo el que arrancar BIND,3,Por defecto
named_group=Grupo bajo el que arrancar BIND,3,Por defecto
master_dir=Directorio para archivos de zona maestra,3,Por defecto
slave_dir=Directorio para archivos de zona esclava/sólo caché,3,Por defecto
file_owner=Propietario para archivos de zona (usuario:grupo),3,Por defecto
file_perms=Permisos para archivos de zona (en octal),3,Por defecto
support_aaaa=Soporte de DNS para direcciones IPv6,1,0-No,1-Sí
allow_comments=Permitir comentarios en registros,1,0-No,1-Sí
allow_wild=Permitir comodines (no recomendado),1,0-No,1-Sí
allow_long=Permitir nombres de máquina largos,1,0-No,1-Sí
  0707010002726c000081a40000000000000002000000013d1fe2d200000145000000200000000000000000000000000000001b00000003reloc/bind8/config.info.fr    named_conf=Chemin du fichier named.conf,0
named_path=Chemin de l'exécutable named,0
show_list=Affichage des domaines comme,1,0-Icônes,1-Liste
soa_style=Style des numéros de série,1,0-Numéro,1-Basé par date (AAAAMMJJnn)
records_order=Ordre d'affichage des enregistrements,1,1-Par noms,2-Par valeur,3-By IP,0-Comme ajouté
   0707010002726d000081a40000000000000002000000013d1fe2d300000589000000200000000000000000000000000000001b00000003reloc/bind8/config.info.pl    named_conf=Pe³na ¶cie¿ka do pliku named.conf,0
named_path=Pe³na ¶cie¿ka do programu named,0
whois_cmd=Pe³na ¶cie¿ka do polecenia whois,0
pid_file=Domy¶lna lokalizacja pliku z&nbsp;numerem PID,3,/var/run/named.pid
show_list=Wy¶wietlaj domeny jako,1,0-Ikony,1-Listê
soa_style=Postaæ numeru seryjnego,1,0-Numer kolejny,1-Oparty na dacie (RRRRMMDDnn)
records_order=Kolejno¶æ wy¶wietlania rekordów,1,1-Wg nazwy,2-Wg warto¶ci,3-Wg IP,0-W&nbsp;kolejno¶ci dodawania
chroot=Katalog chroot dla BINDa,3,Domy¶lny
start_cmd=Polecenie uruchamiaj±ce BINDa,3,Domy¶lne
max_zones=Maksymalna liczba wy¶wietlanych stref,0
rev_def=Aktualizacja DNS odwrotnego jest,1,0-Domy¶lnie w³±czona,1-Domy¶lnie wy³±czona
master_ttl=Dodawaæ $ttl na pocz±tku nowych plików stref,1,1-Tak,0-Nie
named_user=BIND jest uruchamiany jako u¿ytkownik,3,Domy¶lny
named_group=BIND jest uruchamiany jako grupa,3,Domy¶lna
master_dir=Katalog plików stref podstawowych,3,Domy¶lny
slave_dir=Katalog plików stref zapasowych/wykarczowanych,3,Domy¶lny
file_owner=W³a¶ciciel plików stref (u¿ytkownik:grupa),3,Domy¶lny
file_perms=Uprawnienia dla plików stref (ósemkowo),3,Domy¶lne
support_aaaa=W³±czyæ obs³ugê DNS dla adresów IPv6,1,0-Nie,1-Tak
allow_comments=Komentarze dla rekordów,1,0-Nie,1-Tak
allow_wild=Zezwoliæ na wieloznaczne (nie zalecane),1,0-Nie,1-Tak
allow_long=Zezwoliæ na d³ugie nazwy hostów,1,0-Nie,1-Tak
zones_file=Dodawaæ nowe strefy do pliku,3,named.conf
   0707010002726e000081a40000000000000002000000013d1fe2d300000573000000200000000000000000000000000000001e00000003reloc/bind8/config.info.pt_BR named_conf=Caminho completo do arquivo named.conf,0
named_path=Caminho completo do executável named,0
whois_cmd=Caminho completo do comando whois,0
pid_file=Localização padrão do arquivo de PID,3,/var/run/named.pid
show_list=Mostrar domínios como,1,0-Ícones,1-Lista
soa_style=Estilo do número serial,1,0-Número sequencial,1-Baseado na data (AAAAMMDDnn)
records_order=Ordenar registros,1,1-Por nome,2-Por valor,3-Por IP,0-Como adicionados
chroot=Diretório chroot sob o qual rodar o BIND,3,Padrão
start_cmd=Comando para iniciar o BIND,3,Padrão
max_zones=Número máximo de zonas a mostrar,0
rev_def=Atualizar o reverso,1,0-É ligado normalmente,1-É desligado normalmente,2-Normalmente sobrescreve
master_ttl=Adicionar $ttl ao início de novos arquivos de zona,1,1-Sim,0-Não
named_user=Usuário que inicia o BIND,3,Padrão
named_group=Grupo que inicia o BIND,3,Padrão
master_dir=Diretório de arquivos de zona master,3,Padrão
slave_dir=Diretório de arquivos de zona slave/stub,3,Padrão
file_owner=Proprietário dos arquivos de zona (usuário:grupo),3,Padrão
file_perms=Permissões dos arquivos de zona (em octal),3,Padrão
support_aaaa=Suporte para endereços IPv6,1,0-Não,1-Sim
allow_comments=Permitir comentários nos registros,1,0-Não,1-Sim
allow_wild=Permitir wildcards (não recomendado),1,0-Não,1-Sim
allow_long=permitir nomes longos,1,0-Não,1-Sim
zones_file=Adicionar novas zonas ao arquivo,3,named.conf

 0707010002726f000081a40000000000000002000000013d1fe2d300000146000000200000000000000000000000000000001e00000003reloc/bind8/config.info.ru_RU named_path=Ïîëíûé ïóòü ê èñïîëíÿåìîìó ìîäóëþ named,0
named_conf=Ïîëíûé ïóòü ê ôàéëó named.conf,0
soa_style=Ñåðèéíûé íîìåð â ñòèëå,1,0-Ïîðÿäêîâîãî íîìåðà,1-Íà îñíîâå äàòû (ÃÃÃÃÌÌÄÄnn)
show_list=Ïîêàçûâàòü äîìåíû êàê,1,0-Ïèêòîãðàììû,1-Ñïèñîê
records_order=Ïîðÿäîê ñîðòèðîâêè çàïèñåé,1,1-Ïî èìåíè,2-Ïî çíà÷åíèþ,3-By IP,0-Íåñîðò.
  07070100027270000081a40000000000000002000000013d1fe2d200000146000000200000000000000000000000000000001e00000003reloc/bind8/config.info.ru_SU named_conf=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ named.conf,0
named_path=ðÏÌÎÙÊ ÐÕÔØ Ë ÉÓÐÏÌÎÑÅÍÏÍÕ ÍÏÄÕÌÀ named,0
show_list=ðÏËÁÚÙ×ÁÔØ ÄÏÍÅÎÙ ËÁË,1,0-ðÉËÔÏÇÒÁÍÍÙ,1-óÐÉÓÏË
soa_style=óÅÒÉÊÎÙÊ ÎÏÍÅÒ × ÓÔÉÌÅ,1,0-ðÏÒÑÄËÏ×ÏÇÏ ÎÏÍÅÒÁ,1-îÁ ÏÓÎÏ×Å ÄÁÔÙ (ççççííäänn)
records_order=ðÏÒÑÄÏË ÓÏÒÔÉÒÏ×ËÉ ÚÁÐÉÓÅÊ,1,1-ðÏ ÉÍÅÎÉ,2-ðÏ ÚÎÁÞÅÎÉÀ,3-By IP,0-îÅÓÏÒÔ.
  07070100027271000081a40000000000000002000000013d1fe2d200000438000000200000000000000000000000000000001b00000003reloc/bind8/config.info.sv    named_conf=Fullständig sökväg till filen named.conf,0
named_path=Fullständig sökväg till angiven exekverbar fil,0
pid_file=Standardplacering av PID-fil,3,/var/run/named.pid
show_list=Visa domäner som,1,0-Ikoner,1-Lista
soa_style=Serienummer,1,0-Löpande nummer,1-Datumbaserade (ÅÅÅÅMMDDnn)
records_order=Visa poster ordnade,1,1-efter namn,2-efter värde,3-efter IP,0-kronologiskt
chroot=Chroot-katalog att köra BIND under,3,Standard
start_cmd=Startkommando för BIND,3,Standard
max_zones=Maximalt antal zoner att visa,0
rev_def=Förnya bakåt är,1,0-På som standard,1-Av som standard
master_ttl=Lägga till $ttl högst upp på nya zonfiler,1,1-Ja,0-Nej
named_user=Användare att starta BIND som,3,Standard
named_group=Grupp att starta BIND som,3,Standard
master_dir=Katalog för master-zonfiler,3,Standard
slave_dir=Katalog för slav/återvändszonfiler,3,Standard
support_aaaa=Stödjer DNS för IPv6-adresser,1,0-Nej,1-Ja
allow_comments=Tillåta kommentarer för poster,1,0-Nej,1-Ja
allow_wild=Tillåta jokertecken (rekommenderas inte),1,0-Nej,1-Ja
allow_long=Tillåta långa datornamn,1,0-Nej,1-Ja
07070100027272000081a40000000000000002000000013d1fe2d300000246000000200000000000000000000000000000001b00000003reloc/bind8/config.info.tr    named_conf=named.conf dosyasýnýn tam yolu,0
named_path=named çalýþtýrýlabilir dosyasýnýn tam yolu,0
show_list=Alanlarý görüntüleme þekli,1,0-Ýkonlarla,1-Listeyle
soa_style=Seri nuamarasý tipi,1,0-Çalýþma numarasý ile,1-Tarih tabanlý (YYYYAAGGss)
records_order=Kayýtlarý görüntüleme þekli,1,1-Ýsime göre,2-Deðerine göre,3-By IP,0-Eklenmiþ olarak
chroot=BIND altýnda çalýþtýrýlacak Chroot dizini,3,Öntanýmlý
start_cmd=BIND'i baþlatma komutu,3,Öntanýmlý
max_zones=Görüntülenecek en çok bölge sayýsý,0
rev_def=Ters kayýtlarý güncelle,1,0-Öntanýmlý olarak açýk,1-Öntanýmlý olarak kapalý
  07070100027273000081a40000000000000002000000013d1fe2d20000029b000000200000000000000000000000000000001e00000003reloc/bind8/config.info.zh_CN named_conf=named.conf ÎÄ¼þÂ·¾¶,0
named_path=named ÎÄ¼þÂ·¾¶,0
show_list=ÓòÏÔÊ¾·½Ê½,1,0-Í¼±ê,1-ÁÐ±í
soa_style=ÐòÁÐºÅÀàÐÍ,1,0-ÔËÐÐ±àºÅ,1-ÈÕÆÚ (YYYYMMDDnn)
records_order=ÅÅÐò,1,1-Ãû³Æ,2-Öµ,3-By IP,0-Ôö¼ÓµÄË³Ðò
chroot=¸Ä±äµ½¸ùÄ¿Â¼ÔËÐÐ BIND µÄ·½Ê½,3,Default
start_cmd=¿ªÊ¼ BIND ÃüÁî,3,Default
max_zones=ÒªÏÔÊ¾µÄ×î´óÓòÊý,0
rev_def=·´Ïò¸üÐÂ,1,0-ÀûÓÃÈ±Ê¡,1-²»ÓÃÈ±Ê¡
named_user=Æô¶¯ BIND ÓÃ»§µÄ·½Ê½,3,Ä¬ÈÏ
named_group=Æô¶¯ BIND µÄ×é×÷Îª,3,Ä¬ÈÏ
master_dir=Ö÷ÇøÎÄ¼þÄ¿Â¼,3,Ä¬ÈÏ
slave_dir=slave/stub ÇøÎÄ¼þÄ¿Â¼,3,Ä¬ÈÏ
support_aaaa=DNS ÖÁ´Ë IPv6 µØÖ·,1,0-·ñ,1-ÊÇ
allow_comments=ÔÊÐí×¢ÊÍ¼ÇÂ¼,1,0-·ñ,1-ÊÇ
allow_wild=ÔÊÐíÍ¨Åä·û (²»ÍÆ¼ö),1,0-·ñ,1-ÊÇ
allow_long=ÔÊÐí³¤Ö÷»úÃû,1,0-·ñ,1-ÊÇ
 07070100027274000081a40000000000000002000000013d1fe2d200000126000000200000000000000000000000000000002300000003reloc/bind8/config.info.zh_TW.Big5    named_conf=¨ì named.conf ÀÉ®×ªº§¹¾ã¸ô®|,0
named_path=¨ì named °õ¦æÀÉªº§¹¾ã¸ô®|,0
show_list=ºô°ìÅã¥Ü¤è¦¡,1,0-¹Ï¥Ü,1-¦Cªí
soa_style=§Ç¸¹¼Ë¦¡,1,0-»¼¼Wªº¶¶§Ç,1-¥H¤é´Á¬°°òÂ¦ (YYYYMMDDnn)
records_order=Åã¥Ü¬ö¿ýªº±Æ¦C¶¶§Ç,1,1-¨Ì¾Ú¦WºÙ,2-¨Ì¾Ú¼Æ­È,0-¨Ì¾Ú¼W¥[®É¶¡
chroot=Chroot ¸ô®|¥H°õ¦æ BIND,3,Default
  07070100027275000081e40000000000000002000000013d1fe2d300000057000000200000000000000000000000000000001d00000003reloc/bind8/convert_form.cgi  #!/usr/local/bin/perl
# convert_master.cgi
# Convert a master zone into a slave/stub


 07070100027276000081e40000000000000002000000013d1fe2d300000347000000200000000000000000000000000000001f00000003reloc/bind8/convert_master.cgi    #!/usr/local/bin/perl
# convert_master.cgi
# Convert a master zone into a slave

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}];
&error_setup($text{'convert_err'});
$access{'slave'} || &error($text{'screate_ecannot1'});

&lock_file($config{'chroot'}.$zconf->{'file'});
&save_directive($zconf, 'type', [ { 'name' => 'type',
				    'values' => [ 'slave' ] } ], 1);
if ($config{'default_master'}) {
	@mdirs = map { { 'name' => $_ } } split(/\s+/, $config{'default_master'});
	&save_directive($zconf, 'masters', [ { 'name' => 'masters',
					       'type' => 1,
					       'members' => \@mdirs } ], 1);
	}
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});
&redirect("");

 07070100027277000081e40000000000000002000000013d1fe2d300000320000000200000000000000000000000000000001e00000003reloc/bind8/convert_slave.cgi #!/usr/local/bin/perl
# convert_slave.cgi
# Convert a slave/stub zone into a master

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}];
&error_setup($text{'convert_err'});
$access{'master'} || &error($text{'mcreate_ecannot'});

$file = &find("file", $zconf->{'members'});
if (!$file) {
	&error($text{'convert_efile'});
	}

&lock_file($config{'chroot'}.$zconf->{'file'});
&save_directive($zconf, 'type', [ { 'name' => 'type',
				    'values' => [ 'master' ] } ], 1);
&save_directive($zconf, 'masters', [ ], 1);
&save_directive($zconf, 'max-transfer-time-in', [ ], 1);
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});
&redirect("");

07070100027278000081e40000000000000002000000013d1fe2d200000aa5000000200000000000000000000000000000001f00000003reloc/bind8/create_forward.cgi    #!/usr/local/bin/perl
# create_forward.cgi
# Create a new forward zone

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'fcreate_err'});
%access = &get_module_acl();
$access{'forward'} || &error($text{'fcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
$conf = &get_config();
$vconf = $in{'view'} ne '' ? $conf->[$in{'view'}]->{'members'} : $conf;

# validate inputs
if ($in{'rev'}) {
	local($ipv4);
	($ipv4 = &check_net_ip($in{'zone'})) ||
	$config{'support_aaaa'} &&
	(($in{'zone'} =~ /^([\w:]+)(\/\d+)$/) || &check_ip6address($1)) ||
		&error(&text('create_enet', $in{'zone'}));
	if ($ipv4) {
		$in{'zone'} = &ip_to_arpa($in{'zone'});
		}
	else {
		$in{'zone'} = &net_to_ip6int($1, ($2 ? substr($2, 1) : "" ));
		}
	}
else {
	($in{'zone'} =~ /^[\d\.]+$/ || $in{'zone'} =~ /^[\d\:]+(\/[\d]+)?$/) &&
		&error(&text('create_edom2', $in{'zone'}));
	&valdnsname($in{'zone'}, 0, ".") ||
		&error(&text('create_edom', $in{'zone'}));
	}
$in{'zone'} =~ s/\.$//;
@masters = split(/\s+/, $in{'masters'});
foreach $m (@masters) {
	&check_ipaddress($m) ||
		&error(&text('create_emaster', $m));
	}
if (!@masters) {
	&error($text{'create_enone'});
	}
foreach $z (&find("zone", $vconf)) {
	if ($z->{'value'} eq $in{'zone'}) {
		&error($text{'master_etaken'});
		}
	}

# Create zone directive
if ($in{'view'} ne '') {
	$view = $conf->[$in{'view'}];
	&lock_file($config{'chroot'}.$view->{'file'});
	@mdirs = map { { 'name' => $_ } } @masters;
	$dir = { 'name' => 'zone',
		 'values' => [ $in{'zone'} ],
		 'type' => 1,
		 'members' => [ { 'name' => 'type',
				  'values' => [ 'forward' ] },
				{ 'name' => 'forwarders',
				  'type' => 1,
				  'members' => \@mdirs }
			      ]
		};
	&save_directive($view, undef, [ $dir ], 1);
	&flush_file_lines();
	&unlock_file($config{'chroot'}.$view->{'file'});
	}
else {
	$named_conf = $config{'zones_file'} ? $config{'zones_file'}
					    : $config{'named_conf'};
	&lock_file($config{'chroot'}.$named_conf);
	open(CONF, ">>$config{'chroot'}$named_conf");
	print CONF "zone \"$in{'zone'}\" {\n";
	print CONF "\ttype forward;\n";
	print CONF "\tforwarders {\n";
	foreach $m (@masters) { print CONF "\t\t$m;\n"; }
	print CONF "\t\t};\n";
	print CONF "\t};\n";
	print CONF "\n";
	close(CONF);
	&unlock_file($config{'chroot'}.$named_conf);
	}
&webmin_log("create", "forward", $in{'zone'}, \%in);

# Add the new zone to the access list
if ($access{'zones'} ne '*') {
	$access{'zones'} .= " ".$in{'zone'};
	&save_module_acl(\%access);
	}
undef(@get_config_cache);
$conf = &get_config();
foreach $c (@$conf) {
	if ($c->{'name'} eq 'zone' && $c->{'value'} eq $in{'zone'}) {
		$idx = $c->{'index'};
		}
	}
&redirect(defined($idx) ? "edit_forward.cgi?index=$idx" : "index.cgi");

   07070100027279000081e40000000000000002000000013d1fe2d30000067e000000200000000000000000000000000000001c00000003reloc/bind8/create_hint.cgi   #!/usr/local/bin/perl
# create_hint.cgi
# Create a new root zone

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'hcreate_err'});
%access = &get_module_acl();
$access{'master'} || &error($text{'hcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});

# Validate inputs
&allowed_zone_file(\%access, $in{'file'}) || &error($text{'hcreate_efile'});
open(FILE, ">>$config{'chroot'}$in{'file'}") || &error($text{'hcreate_efile2'});
close(FILE);

# Get the root server information
if ($in{'real'} == 1) {
	# Download from internic
	&ftp_download("rs.internic.net", "/domain/named.root", 
		      "$config{'chroot'}$in{'file'}");
	}
elsif ($in{'real'} == 2) {
	# Use webmin's copy
	system("cp ./db.cache $config{'chroot'}$in{'file'} 2>/dev/null");
	}
else {
	# Just check the existing file
	@recs = &read_zone_file($config{'chroot'}.$in{'file'}, ".");
	&error($text{'mcreate_erecs'}) if (@recs < 2);
	}

# Add a new hint zone
$dir = { 'name' => 'zone',
	 'values' => [ '.' ],
	 'type' => 1,
	 'members' => [ { 'name' => 'type',
			  'values' => [ 'hint' ] },
			{ 'name' => 'file',
			  'values' => [ $in{'file'} ] }
		      ]
	};
if ($in{'view'} ne '') {
	$conf = &get_config();
	$view = $conf->[$in{'view'}];
	&lock_file($config{'chroot'}.$view->{'file'});
	&save_directive($view, undef, [ $dir ], 1);
	&flush_file_lines();
	&unlock_file($config{'chroot'}.$view->{'file'});
	}
else {
	$pconf = &get_config_parent();
	&lock_file($config{'chroot'}.$pconf->{'file'});
	&save_directive($pconf, undef, [ $dir ], 0);
	&flush_file_lines();
	&unlock_file($config{'chroot'}.$pconf->{'file'});
	}
&webmin_log("create", "hint", ".", \%in);
&redirect("");

  0707010002727a000081e40000000000000002000000013d1fe2d200001ee0000000200000000000000000000000000000001e00000003reloc/bind8/create_master.cgi #!/usr/local/bin/perl
# create_master.cgi
# Create a new master zone

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'mcreate_err'});
%access = &get_module_acl();
$access{'master'} || &error($text{'mcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
$conf = &get_config();
$vconf = $in{'view'} ne '' ? $conf->[$in{'view'}]->{'members'} : $conf;

# validate inputs
if ($in{'rev'}) {
	local($ipv4);
	($ipv4 = &check_net_ip($in{'zone'})) ||
	$config{'support_aaaa'} &&
	($in{'zone'} =~ /^([\w:]+)(\/\d+)$/ || &check_ip6address($1)) ||
		&error(&text('create_enet', $in{'zone'}));
	if ($ipv4) {
		$in{'zone'} = &ip_to_arpa($in{'zone'});
		}
	else {
		$in{'zone'} = &net_to_ip6int($1, ($2 ? substr($2, 1) : "" ));
		}
	}
else {
	($in{'zone'} =~ /^[\d\.]+$/ || $in{'zone'} =~ /^[\d\:]+(\/[\d]+)?$/) &&
		&error(&text('create_edom2', $in{'zone'}));
	&valdnsname($in{'zone'}, 0, ".") ||
		&error(&text('create_edom', $in{'zone'}));
	}
$in{'zone'} =~ s/\.$//;
&valdnsname($in{'master'}, 0, ".") ||
	&error(&text('master_emaster', $in{'master'}));
if ($in{'master'} !~ /\.$/) { $in{'master'} .= "."; }
&valemail($in{'email'}) || &valemail(&dotted_to_email($in{'email'})) ||
	&error(&text('master_eemail', $in{'email'}));
$in{'email'} = &email_to_dotted($in{'email'});
$in{'refresh'} =~ /^\d+$/ ||
        &error(&text('master_erefresh', $in{'refresh'}));
$in{'retry'} =~ /^\d+$/ ||
        &error(&text('master_eretry', $in{'retry'}));
$in{'expiry'} =~ /^\d+$/ ||
        &error(&text('master_eexpiry', $in{'expiry'}));
$in{'minimum'} =~ /^\d+$/ ||
        &error(&text('master_eminimum', $in{'minimum'}));
$base = $config{'master_dir'} ? $config{'master_dir'} :
	$access{'dir'} eq '/' ? &base_directory($conf) :
				$access{'dir'};
$base =~ s/\/+$// if ($base ne '/');
if ($in{'tmpl'}) {
	for($i=0; $config{"tmpl_$i"}; $i++) {
		@c = split(/\s+/, $config{"tmpl_$i"}, 3);
		if ($c[1] eq 'A' && !$c[2] && !&check_ipaddress($in{'ip'})) {
			&error($text{'master_eip'});
			}
		}
	}
foreach $z (&find("zone", $vconf)) {
	if ($z->{'value'} eq $in{'zone'}) {
		&error($text{'master_etaken'});
		}
	}
if (!$in{'file_def'}) {
	$in{'file'} =~ /^\S+$/ ||
		&error(&text('create_efile', $in{'file'}));
	if ($in{'file'} !~ /^\//) {
		$in{'file'} = $base."/".$in{'file'};
		}
	&allowed_zone_file(\%access, $in{'file'}) ||
		&error(&text('create_efile2', $in{'file'}));
	}
elsif ($in{'rev'}) {
	# create filename for reverse zone
	$in{'file'} = &ip6int_to_net(&arpa_to_ip($in{'zone'}));
	$in{'file'} =~ s/\//_/;
	$in{'file'} = $base."/".$in{'file'}.".rev";
	}
else {
	# create filename for forward zone
	$in{'file'} = $base."/".$in{'zone'}.".hosts";
	}
-r $config{'chroot'}.$in{'file'} && &error(&text('create_efile4', $in{'file'}));
if ($in{'slave'}) {
	@mips = split(/\s+/, $in{'mip'});
	@mips || &error($text{'master_emips'});
	foreach $m (@mips) {
		&check_ipaddress($m) || &error(&text('master_emip', $m));
		}
	}

# Create the zone file
&lock_file("$config{'chroot'}$in{'file'}");
open(ZONE, ">$config{'chroot'}$in{'file'}") ||
	&error(&text('create_efile3', $in{'file'}, $!));
print ZONE "\$ttl $in{'minimum'}$in{'minunit'}\n" if ($config{'master_ttl'});
close(ZONE);
$in{'file'} =~ s/^$config{'chroot'}//;

# create the SOA and NS records
if ($config{'soa_style'} == 1) {
        $serial = &date_serial()."00";
        }
else {
        $serial = time();
        }
$vals = "$in{'master'} $in{'email'} (\n".
        "\t\t\t$serial\n".
        "\t\t\t$in{'refresh'}$in{'refunit'}\n".
        "\t\t\t$in{'retry'}$in{'retunit'}\n".
        "\t\t\t$in{'expiry'}$in{'expunit'}\n".
        "\t\t\t$in{'minimum'}$in{'minunit'} )";
&create_record($in{'file'}, "$in{'zone'}.", undef, "IN", "SOA", $vals);
&create_record($in{'file'}, "$in{'zone'}.", undef, "IN", "NS", $in{'master'})
	if ($in{'master_ns'});
if ($in{'slave'} && $access{'remote'}) {
	local @bn = gethostbyname($in{'slave'});
	local $full = "$bn[0].";
	&create_record($in{'file'}, "$in{'zone'}.", undef, "IN", "NS", $full);
	}

if ($in{'tmpl'}) {
	# Create template records
	for($i=0; $config{"tmpl_$i"}; $i++) {
		@c = split(/\s+/, $config{"tmpl_$i"}, 3);
		&create_record($in{'file'},
			       $c[0] eq '.' ? "$in{'zone'}." : $c[0], undef,
			       "IN", $c[1], $c[2] ? $c[2] : $in{'ip'});
		}
	if ($config{'tmpl_include'}) {
		# Add whatever is in the template file
		open(TMPL, $config{'tmpl_include'});
		open(FILE, ">>$config{'chroot'}$in{'file'}");
		while(<TMPL>) {
			print FILE $_;
			}
		close(TMPL);
		close(FILE);
		}
	}
&unlock_file("$config{'chroot'}$in{'file'}");
&set_ownership("$config{'chroot'}$in{'file'}");

# create the zone directive
if ($in{'view'} ne '') {
	$view = $conf->[$in{'view'}];
	&lock_file($config{'chroot'}.$view->{'file'});
	$dir = { 'name' => 'zone',
		 'values' => [ $in{'zone'} ],
		 'type' => 1,
		 'members' => [ { 'name' => 'type',
				  'values' => [ 'master' ] },
				{ 'name' => 'file',
				  'values' => [ $in{'file'} ] } ]
		};
	&save_directive($view, undef, [ $dir ], 1);
	&flush_file_lines();
	&unlock_file($config{'chroot'}.$view->{'file'});
	}
else {
	$named_conf = $config{'zones_file'} ? $config{'zones_file'}
					    : $config{'named_conf'};
	&lock_file($config{'chroot'}.$named_conf);
	open(CONF, ">>$config{'chroot'}$named_conf");
	print CONF "zone \"$in{'zone'}\" {\n";
	print CONF "\ttype master;\n";
	print CONF "\tfile \"$in{'file'}\";\n";
	print CONF "\t};\n";
	print CONF "\n";
	close(CONF);
	&unlock_file($config{'chroot'}.$named_conf);
	&set_ownership("$config{'chroot'}.$named_conf");
	}
&webmin_log("create", "master", $in{'zone'}, \%in);

# Add the new zone to the access list
if ($access{'zones'} ne '*') {
	$access{'zones'} .= " ".$in{'zone'};
	&save_module_acl(\%access);
	}
undef(@get_config_cache);
$conf = &get_config();
foreach $c (@$conf) {
	if ($c->{'name'} eq 'zone' && $c->{'value'} eq $in{'zone'}) {
		$idx = $c->{'index'};
		}
	}

# Create on slave server
if ($in{'slave'} && $access{'remote'}) {
	&error_setup($text{'master_err3'});
	&remote_error_setup(\&slave_error_handler);
	&remote_foreign_require($in{'slave'}, "bind8", "bind8-lib.pl");
	$slave_error && &error($slave_error);

	$sparent = &remote_foreign_call($in{'slave'}, "bind8",
					"get_config_parent");
	$sconfig = &remote_foreign_config($in{'slave'}, "bind8");
	$sconf = $sparent->{'members'};
	$opts = &find("options", $sconf);
	$opts || &error(&text('master_eslave', $in{'slave'}));
	foreach $z (&find("zone", $sconf)) {
		if ($z->{'value'} eq $in{'zone'}) {
			&error($text{'master_etaken'});
			}
		}
	@mdirs = map { { 'name' => $_ } } @mips;
	$masters = { 'name' => 'masters',
		     'type' => 1,
		     'members' => \@mdirs };
	$dir = { 'name' => 'zone',
		 'values' => [ $in{'zone'} ],
		 'type' => 1,
		 'members' => [ { 'name' => 'type',
				  'values' => [ 'slave' ] },
				$masters
			      ]
		};
	local $sbase;
	if ($in{'sfile_def'} != 1) {
		$sbase = $sconfig{'slave_dir'} ? $sconfig{'slave_dir'} :
				&remote_foreign_call($in{'slave'}, "bind8",
						     "base_directory", $sconf);
		}
	local $file;
	if ($in{'sfile_def'} == 0) {
		# Use entered slave filename
		$file = $in{'sfile'} =~ /^\// ? $in{'sfile'}
					     : $sbase."/".$in{'sfile'};
		}
	elsif ($in{'sfile_def'} == 2) {
		# Work out a filename
		if ($in{'rev'}) {
			# create filename for reverse zone
			$file = &ip6int_to_net(&arpa_to_ip($in{'zone'}));
			$file = s/\//_/;
			$file = $sbase."/".$in{'zone'}.".rev";
			}
		else {
			# create filename for forward zone
			$file = $sbase."/".$in{'zone'}.".hosts";
			}
		}
	push(@{$dir->{'members'}}, { 'name' => 'file',
				     'values' => [ $file ] } ) if ($file);
	&remote_foreign_call($in{'slave'}, "bind8", "save_directive", $sparent,
			     undef, [ $dir ], 0);
	&remote_foreign_call($in{'slave'}, "bind8", "flush_file_lines");
	}

&redirect(defined($idx) ? "edit_master.cgi?index=$idx" : "index.cgi");

sub slave_error_handler
{
$slave_error = $_[0];
}

0707010002727b000081e40000000000000002000000013d1fe2d20000120d000000200000000000000000000000000000001d00000003reloc/bind8/create_slave.cgi  #!/usr/local/bin/perl
# create_slave.cgi
# Create a new slave zone
# Modified by Howard Wilkinson <howard@cohtech.co.uk> 7th NOvember 2001
#        Added a facility to create a slave zone with the master(s)
#        on a non-standard port

require './bind8-lib.pl';
&ReadParse();
&error_setup($in{'type'} ? $text{'screate_err1'} : $text{'screate_err2'});
%access = &get_module_acl();
$access{'slave'} || &error($in{'type'} ? $text{'screate_ecannot1'}
				       : $text{'screate_ecannot2'});
$access{'ro'} && &error($text{'master_ero'});
$conf = &get_config();
$vconf = $in{'view'} ne '' ? $conf->[$in{'view'}]->{'members'} : $conf;

# validate inputs
if ($in{'rev'}) {
	local($ipv4);
	($ipv4 = &check_net_ip($in{'zone'})) ||
	$config{'support_aaaa'} &&
	($in{'zone'} =~ /^([\w:]+)(\/\d+)$/ || &check_ip6address($1)) ||
                &error(&text('create_enet', $in{'zone'}));
	if ($ipv4) {
		$in{'zone'} = &ip_to_arpa($in{'zone'});
		}
	else {
		$in{'zone'} = &net_to_ip6int($1, ($2 ? substr($2, 1) : "" ));
		}
	}
else {
	($in{'zone'} =~ /^[\d\.]+$/ || $in{'zone'} =~ /^[\d\:]+(\/[\d]+)?$/) &&
		&error(&text('create_edom2', $in{'zone'}));
	&valdnsname($in{'zone'}, 0, ".") ||
		&error(&text('create_edom', $in{'zone'}));
        }
$in{'zone'} =~ s/\.$//;
foreach $z (&find("zone", $vconf)) {
	if ($z->{'value'} eq $in{'zone'}) {
		&error($text{'master_etaken'});
		}
	}
$masterport = $in{'port_def'} ? undef : $in{'port'};
@masters = split(/\s+/, $in{'masters'});
foreach $m (@masters) {
	&check_ipaddress($m) ||
		&error(&text('create_emaster', $m));
	}
if (!@masters) {
	&error($text{'create_enone'});
	}
$base = $config{'slave_dir'} ? $config{'slave_dir'} :
	$access{'dir'} eq '/' ? &base_directory($conf) :
				$access{'dir'};
$base =~ s/\/+$// if ($base ne '/');
if ($in{'file_def'} == 0) {
	# Use the entered filename
	$in{'file'} =~ /^\S+$/ ||
		&error(&text('create_efile', $in{'file'}));
	$in{'file'} =~ s/^$config{'chroot'}//;
	if ($in{'file'} !~ /^\//) {
		$file = $base."/".$in{'file'};
		}
	else { $file = $in{'file'}; }
	&allowed_zone_file(\%access, $file) ||
		&error(&text('create_efile2', $file));
	open(ZONE, "> $config{'chroot'}$file") ||
		&error(&text('create_efile3', $file, $!));
	close(ZONE);
	&set_ownership("$config{'chroot'}$file");
	}
elsif ($in{'file_def'} == 2) {
	if ($in{'rev'}) {
		# create filename for reverse zone
		$file = &ip6int_to_net(&arpa_to_ip($in{'zone'}));
		$file = s/\//_/;
		$file = $base."/".$in{'zone'}.".rev";
		}
	else {
		# create filename for forward zone
		$file = $base."/".$in{'zone'}.".hosts";
		}
	open(ZONE, "> $config{'chroot'}$file") ||
		&error(&text('create_efile3', $file, $!));
	close(ZONE);
	&set_ownership("$config{'chroot'}$file");
	}

# Create zone directive
if ($in{'view'} ne '') {
	$view = $conf->[$in{'view'}];
	&lock_file($config{'chroot'}.$view->{'file'});
	@mdirs = map { { 'name' => $_ } } @masters;
	$masters = { 'name' => 'masters',
		     'type' => 1,
		     'members' => \@mdirs };
	if (defined($masterport)) {
	  $masters->{'values'} = [ 'port', $masterport ];
	}
	$dir = { 'name' => 'zone',
		 'values' => [ $in{'zone'} ],
		 'type' => 1,
		 'members' => [ { 'name' => 'type',
				  'values' => [ $in{'type'} ? 'slave'
							    : 'stub' ] },
				$masters
			      ]
		};
	if ($file) {
		push(@{$dir->{'members'}},
			{ 'name' => 'file',
			  'values' => [ $file ] });
		}
	&save_directive($view, undef, [ $dir ], 1);
	&flush_file_lines();
	&unlock_file($config{'chroot'}.$view->{'file'});
	}
else {
	$named_conf = $config{'zones_file'} ? $config{'zones_file'}
					    : $config{'named_conf'};
	&lock_file($config{'chroot'}.$named_conf);
	open(CONF, ">>$config{'chroot'}$named_conf");
	print CONF "zone \"$in{'zone'}\" {\n";
	print CONF "\ttype ",$in{'type'} ? 'slave' : 'stub',";\n";
	if ($file) { print CONF "\tfile \"$file\";\n"; }
	if (defined($masterport)) {
	  print CONF "\tmasters port $masterport {\n";
	} else {
	  print CONF "\tmasters {\n";
	}
	foreach $m (@masters) { print CONF "\t\t$m;\n"; }
	print CONF "\t\t};\n";
	print CONF "\t};\n";
	print CONF "\n";
	close(CONF);
	&unlock_file($config{'chroot'}.$named_conf);
	}
&webmin_log("create", $in{'type'} ? 'slave' : 'stub', $in{'zone'}, \%in);

# Add the new zone to the access list
if ($access{'zones'} ne '*') {
	$access{'zones'} .= " ".$in{'zone'};
	&save_module_acl(\%access);
	}
undef(@get_config_cache);
$conf = &get_config();
foreach $c (@$conf) {
	if ($c->{'name'} eq 'zone' && $c->{'value'} eq $in{'zone'}) {
		$idx = $c->{'index'};
		}
	}
&redirect(defined($idx) ? $in{'type'} ? "edit_slave.cgi?index=$idx" :
			"edit_stub.cgi?index=$idx" : "index.cgi");

   0707010002727c000081e40000000000000002000000013d1fe2d300000498000000200000000000000000000000000000001c00000003reloc/bind8/create_view.cgi   #!/usr/local/bin/perl
# create_view.cgi

require './bind8-lib.pl';
&error_setup($text{'vcreate_err'});
&ReadParse();
$pconf = &get_config_parent();
$conf = $pconf->{'members'};
%access = &get_module_acl();
$access{'views'} || &error($text{'view_ecannot'});
$access{'ro'} && &error($text{'view_ecannot'});

# Validate inputs
$in{'name'} =~ /^\S+$/ || &error($text{'vcreate_ename'});
@views = &find("view", $conf);
foreach $v (@views) {
	&error($text{'vcreate_etaken'}) if ($v->{'value'} eq $in{'name'});
	}
$in{'class_def'} || $in{'class'} =~ /^[A-Za-z0-9]+$/ ||
	&error($text{'vcreate_eclass'});

# Create the view
&lock_file($config{'chroot'}.$pconf->{'file'});
$dir = { 'name' => 'view',
	 'values' => [ $in{'name'}, $in{'class_def'} ? ( ) : ( $in{'class'} ) ],
	 'type' => 1,
	 'members' => [ ]
	};
if (!$in{'match_def'}) {
	push(@{$dir->{'members'}}, { 'name' => 'match-clients',
				     'type' => 1,
				     'members' =>
		[ map { { 'name' => $_ } } split(/\s+/, $in{'match'}) ] } );
	}
&save_directive($pconf, undef, [ $dir ], 0);
&flush_file_lines();
&unlock_file($config{'chroot'}.$pconf->{'file'});
&webmin_log("create", "view", $in{'name'}, \%in);
&redirect("");

0707010002727d000081a40000000000000002000000013d1fe2d200000ad1000000200000000000000000000000000000001500000003reloc/bind8/db.cache  ;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File
   0707010002727e000081a40000000000000002000000013d1fe2d200000099000000200000000000000000000000000000001700000003reloc/bind8/defaultacl    zones=*
master=1
slave=1
defaults=1
reverse=1
forward=1
multiple=1
dir=/
ro=0
apply=1
file=1
params=1
opts=1
delete=1
whois=1
views=1
dironly=0
remote=1
   0707010002727f000081e40000000000000002000000013d1fe2d3000009c3000000200000000000000000000000000000001c00000003reloc/bind8/delete_view.cgi   #!/usr/local/bin/perl
# delete_zone.cgi
# Delete an existing view and all its zones

require './bind8-lib.pl';
&ReadParse();
$pconf = &get_config_parent();
$conf = $pconf->{'members'};
$vconf = $conf->[$in{'index'}];
%access = &get_module_acl();
$access{'views'} || &error($text{'view_ecannot'});

if (!$in{'confirm'}) {
	# Ask the user if he is sure ..
	&header($text{'vdelete_title'}, "");
	print "<hr>\n";

	@zones = &find("zone", $vconf->{'members'});
	print "<center><p>",&text(@zones ? 'vdelete_mesg' : 'vdelete_mesg2',
				  "<tt>$vconf->{'value'}</tt>"),"<p>\n";
	print "<form action=delete_view.cgi>\n";
	print "<input type=hidden name=index value=$in{'index'}>\n";
	print "<input type=submit name=confirm value='$text{'delete'}'><br>\n";
	if (@zones) {
		print "<b>$text{'vdelete_newview'}</b>\n";
		print "<input type=radio name=mode value=0> ",
		      "$text{'vdelete_delete'}\n";
		print "<input type=radio name=mode value=1 checked> ",
		      "$text{'vdelete_root'}\n";
		@views = &find("view", $conf);
		if (@views > 1) {
			print "<input type=radio name=mode value=2> ",
			      "$text{'vdelete_move'}\n";
			print "<select name=newview>\n";
			foreach $v (@views) {
				if ($v->{'index'} != $in{'index'}) {
					printf "<option value=%d>%s\n",
						$v->{'index'}, $v->{'value'};
					}
				}
			print "</select>\n";
			}
		print "<br>\n";
		}
	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# deal with the zones in this view
@zones = &find("zone", $vconf->{'members'});
if ($in{'mode'} == 1) {
	$dest = $pconf;
	}
else {
	$dest = $conf->[$in{'newview'}];
	}
&lock_file($config{'chroot'}.$dest->{'file'});
foreach $z (@zones) {
	local $type = &find_value("type", $z->{'members'});
	next if (!$type || $type eq 'hint');
	if ($in{'mode'} == 0) {
		# Delete the records file
		local $file = &find_value("file", $z->{'members'});
		if ($file) {
			&lock_file($config{'chroot'}.&absolute_path($file));
			unlink($config{'chroot'}.&absolute_path($file));
			}
		}
	else {
		# Move to another view or the top level
		&save_directive($dest, undef, [ $z ], $in{'mode'} == 2 ? 1 : 0);
		}
	}
&flush_file_lines();

# remove the view directive
&lock_file($config{'chroot'}.$vconf->{'file'});
$lref = &read_file_lines($config{'chroot'}.$vconf->{'file'});
splice(@$lref, $vconf->{'line'}, $vconf->{'eline'} - $vconf->{'line'} + 1);
&flush_file_lines();
&unlock_all_files();
&webmin_log("delete", "view", $vconf->{'value'}, \%in);
&redirect("");

 07070100048027000041ed0000000000000001000000023d1ff9d100000000000000200000000000000000000000000000001300000003reloc/bind8/images    070701000480a4000081a40000000000000002000000013d1fe2d200000133000000200000000000000000000000000000001900000003reloc/bind8/images/A.gif  GIF89a0 0 ã  ÿÿÿªªªÇÇÇ   UUUŽŽŽããã999rrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  ÎÈI«½8ëÍ»ÿ`(Ždižhª®l›0,¸[0Ü8­8^èCw Z
CœÁH9$o¦Dø$¤ Ä-‘H¤Ý9,8u¸ò¬ç0
ôIÈ½«Îvk¯{34rfo=4k?|l.xmO‹,aUIz+h—U*Z7¢£¢–8t*8ˆ=+_“*† =„&k«›Cž%x±¦P(r‘†®%¢e¼ÈI” —ÌUÑ¤àGàãØXçèéêëìíîïðñ: ; 070701000480b3000081a40000000000000002000000013d1fe2d200000191000000200000000000000000000000000000001c00000003reloc/bind8/images/AAAA.gif   GIF89a0 0 ó  ÿÿÿªªªÇÇÇ   UUUŽŽŽããã999rrr                  !þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®l›0,¤1¼C®£¸>l_®p
ú4aî`J
5eÎPŠ>3é QÊ^/Ni‚>b¹DB¡êf½µú˜":ÂŽèe:T ~9€rFc ^>\ Š^:D v:‹•V=ƒ† ¢9^xF>ªAa– >ƒµ8vºR¶P‚?tZJšÊR…ËR3ÒZoÜÝÜÏ9ÚÞÞÇ9¯ŸÐ:é m”JÄð­Ú:«‰ˆaî.\û¦;ñ2€Ûr!‡FÁ.´2S¢nBìD ‘’-–0ÞÙx	À²~Ó¶	ÃVáU9s
¼|r&Iz.rêÜÉ³§ÏŸ@ƒ
J´(‡ ;   070701000480f1000081a40000000000000002000000013d1fe2d20000011f000000200000000000000000000000000000001b00000003reloc/bind8/images/ALL.gif    GIF89a0 0 €     ÿÿÿ!þCreated with The GIMP !ù
  ,    0 0  ÝŒ©Ëí#ò€›.5šï…UAg…cø)¤hzÈÊhiDRí9ƒù”ÞpæFÁÒÍâÙ=j»#±$Ÿ¿gRòÉf_Î¨÷‹Çä²ùŒN«×ªÖ•ëÀqrŸ›ój¿mÅ}få×ÀÄÕTs3õ„c%£c3s‰—ÔSU5å²ed%Å¥DÉgye2*7Éx™XXAÊ6K[k{‹›«;;ˆØ'Ùóê”‰‰øIH,õÓ|YÊÊ¬ºô–w9Y-ˆ!Ì™-½è Íê¬ÇÓY|ºGÍ3Ê®ƒM¥¦t½«/Q  ; 070701000480f2000081a40000000000000002000000013d1fe2d2000001a7000000200000000000000000000000000000001d00000003reloc/bind8/images/CNAME.gif  GIF89a0 0 ã  ÿÿÿÇÇÇrrrUUU   ªªªãããŽŽŽ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®l{Â@tAƒPáÿÀÃå`À fµ¤’€”Ê¦ÅP˜"¡ØÂÀ™¥^UŠ Kì$ë–rU
8Oè@XÓÖ“8ölÄâ+TwzP_X	ˆ‚„Po	Xt5 z“P|~8Ry5ŒJŠuXE#z X¤m5%® ›J• d¶µ ŸP© J˜ · vQÅIÇÉ ´4BÎ—¾4< ×­¿ËIE½$Ò³…ÓXÙaÛPÊ«æàŽïÁÆ›˜ç´¹IvYÀFOÛ…khe°§oÞ $á@$XÊà+	ÌD‘‹ÅC°>r,dfB¿Ž¸LiØ4¥K–5¢„èdR$?q.Hy4®1–àÐAAŽ£GiŠqÁ´©Ó§P£JJµªÕ«XCD  ; 070701000480f3000081a40000000000000002000000013d1fe2d200000178000000200000000000000000000000000000001d00000003reloc/bind8/images/HINFO.gif  GIF89a0 0 ã  ÿÿÿÇÇÇªªªãããUUU   999ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ìp,ÃÃ4Ì¸Hy… pLÄd Q*Î¡‘2Õ¡Í¼^€DCÍŠÉÉéIôVØC÷¤,T[àV>(—Ð‹{Kz]_i…k‰vo‹m†D‚}T“h•ˆ›w‘s‡„Ÿ’q”YU™ ˜¨©N«­œ¯°¤§³už· ¥¢¶yŠ½~£Â»¦ÁŒÅ¼Ç—¡Ä¿ÆÉÈ|®€ÀÕÒÙÊÑÌÓÎÃPÝÔƒÚåÜRºßGÏ IIóDõïJ;$øçä x?*1È¤Q1A‰hØ÷¯¢Å¼È!Ç«ZˆI²¤É“(Sª\É²¥Ë  ;070701000480f6000081a40000000000000002000000013d1fe2d200000191000000200000000000000000000000000000001b00000003reloc/bind8/images/LOC.gif    GIF89a0 0 ã  ÿÿÿÇÇÇªªªãããUUU   rrrŽŽŽ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®lë† Ï´„ƒ@…a;Á…à+}„Ï€hÜJìpü!l„±€ hÂ
³öŒ}ÑŠà)>–9ßb÷B5¶ÁžÁ± 9ÞÉuEg>o}nkE‡‰FizŽgšv™‹š|=>‘UIc©¬£˜šª²®´¶±G­…» ½Ÿ¿³¨¡x§EÀ¯É€ÇE¥ŠÈµ¢‚Â«ÂÄ7U•à ØÊCiÌˆqžÑï×ñÎ†ó›_îØYòÃoN…§¤°YG­B‚=æ `¦&Û„xÂ àQÅG‚-|X$A$=VêÔ1—”-‘Üx¡FÀdÐÜÉ³§ÏŸ@ƒ
J´¨Ï ;   070701000480f7000081a40000000000000002000000013d1fe2d2000001c5000000200000000000000000000000000000001a00000003reloc/bind8/images/MX.gif GIF89a0 0 ã  ÿÿÿªªªÇÇÇããã   UUUŽŽŽ999rrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ì¼pü
Ú ßÁ à/@üÀà¯ 	„€IX2Má	T>%ƒU‡¡h“ì‘œ
ãp|1ÉC÷1ä?ÌÀ„
jA\UxMi}eN@h †RoŠC‘Btv—B5”‹ZBƒ|h’¢~DGŽ@:©‡ – ·A™	sµ®¬¢‚¦ŽÃ°ND ®g±³Âl ‹¼@™À¾ÍÚ È”ËâäÓA²?ƒê¤ä»Bß¾œ‰ûöææüx60caž*(AÂ	ÜziÂv¡ÝÃcHžñûDÏ.haà	“ŽâD]¹þXðÅÂ<dµÛ÷KHãY”DXˆw`‰üARÀ$î0Ê2Ø“h¥€D™À“É‹+w²j}v ë3£ZÃ*+j‹³hÓª]Ë¶­Û·pãÊË" ;   070701000480f8000081a40000000000000002000000013d1fe2d2000001b7000000200000000000000000000000000000001a00000003reloc/bind8/images/NS.gif GIF89a0 0 ã  ÿÿÿªªªÇÇÇãããrrrUUU   999ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ì¼p`‚4Q¼q€žPˆ³ì†½YE€@ö‚ÎáBˆ•€•7X±˜£hÑJ Xb=dÌ†ôdp&4Ûé.—$†nx[k|MBd=ˆ€{IH=HwYN}œ<@Dš<žQE‘  N“…›bH¨ªcU˜°¥e[„•uH©†‡¾Â^’Çt¾Ë«¹CJÑØNÕ·ÄB8ÛLQßŠÍN@æÝ\Ìò¥ï	âêÓ€—â„¸Ô¯q}àd¨RÐÈ–„±¤)£gÍŸ8$ydº0‘MEƒSH;×ÊÈ¢„dôqaÚFZ…Ü¥1•€}\
¤³ŽB@•"©mÉ°³€‹V XÊ´i†M—š@GJKS[hÝÊµ«×¯`ÃŠK¶¬Y  ; 070701000480fc000081a40000000000000002000000013d1fe2d200000175000000200000000000000000000000000000001b00000003reloc/bind8/images/PTR.gif    GIF89a0 0 ã  ÿÿÿÇÇÇªªªãããUUU   999rrrŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ìp,ÏÙ0ßxEïÿÀAPÈrÙ3%F&“r"`¼ã3Z0$bUà†(P²¿'€¬}„sP0OÐ>zâç"ä@t€iI\tx=‰„ya\nws”Š‹žš•“›tJ¡¥ª>£¬©¨I«³ ™¢|±°³?¼·­O›—¶¹²@HËÌ…ÉH¯ÕŽ×R	Â½¸Ö%åÅ¦"é˜ç$í¤Ä!ñ§ï#õõäóÀ=	'ü X!B>ð„°€'‚ö¦€"d‚AO3b¤§±c¸ CŠI²¤É“(Sª\Érd ;   070701000480fd000081a40000000000000002000000013d1fe2d2000001a9000000200000000000000000000000000000001a00000003reloc/bind8/images/RP.gif GIF89a0 0 ã  ÿÿÿÇÇÇªªªãããUUU   999rrrŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ìp,Ï7Ð8<HDáÿÀàÀ„H  —lú»ÊÑ)œB‘<D-	¡a‹õQ˜ÀšäŠ4…kù,TKÉ/e
Œ[Íh?veA„|C=t‡ŒHˆŠ>~aŽiBE”–“™ƒBoA¡ G¤>„H	ª}R£u§«Ÿ¬¹7†O’{pX¯I¿a¸<T•ÇžÉÔÕKb‚?PŸ¼?Ìjá^Ñ×€Öò@n¾×Îêºµ‹ì„Ð‰»×ë?	\8õ«´ <Y‚jxPB‰¬,8dV ÁiEú õ0	Éib0$8×ŒÈ‘}¬d÷„€KaNÑÐL›@ƒÞœ @6

­…Ó§P£JJµªÕ«X³j} ;   07070100048100000081a40000000000000002000000013d1fe2d200000196000000200000000000000000000000000000001b00000003reloc/bind8/images/TXT.gif    GIF89a0 0 ã  ÿÿÿãããªªª   ŽŽŽ999rrrÇÇÇUUUÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®¬p,Ït¼õLÍCïÿÀ  )¿¢qyT2HŸ“Pˆ‚‡Øá7A$„‡âêLP¾@A´G	‚†‹{àOÐIÊ›½,WtRgAjwCx>[=N„iŽˆm{?fS^	š‡”]žŸB’s=’Š ? ˜†¬… B˜¤­t!¦F¼½·!°±¾µ¹AŒË#Á@ÃÒ"ÅØ NÏÉ¶¡Í±AÖ y ´ßƒâéxš¾²îíÔô7˜–×Ûßá Pã—È_†T¿*ƒRÏXÖœ¤°pÀe\ê]KP±‡§‹2¥|H ÒË>†k˜éq;>gFÉœ	rB™2Kâ<×¢§ÏŸ@ƒ
J´¨Ñ£H“žˆ  ;  07070100048103000081a40000000000000002000000013d1fe2d2000001c2000000200000000000000000000000000000001b00000003reloc/bind8/images/WKS.gif    GIF89a0 0 ã  ÿÿÿªªªãããÇÇÇ   UUUrrr999ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®ì¼pü
–<T‚K2@üÀà/P•€0(ú–B"Å°LBMf®°<H+ˆå—8 ‰ÛDI t/(²O°®Ó’€".Tx‚ }QfPj‰„FBƒW“@	maAlgV?‹—›yK4ª¢¡@¬©”¥Ac@HK™‰s„ qG‘Dz¹n?¼À´‰@Ÿ ³†L<@§¨³ÚsÃ·²@Á ¯ÌÂu½Ä ¾çÏYAH×±×?Ÿ˜òÉæ(ŒÓj7>KŒ5'©Z?Æ¤ÁªàÀx-Œ2­Ø^aøÄ˜+ÒQÈtJÃ îÇ¯0¡-¹‰êÐ†œÔÄd I †ajjP×ÑBä)“j“ê<
	ž>M‰Uk®¼òlA¶¬Ù³hÓª]Ë¶­Û·pUD  ;  07070100048110000081a40000000000000002000000013d1fe2d200000113000000200000000000000000000000000000001c00000003reloc/bind8/images/acls.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100048116000081a40000000000000002000000013d1fe2d20000016c000000200000000000000000000000000000002000000003reloc/bind8/images/controls.gif   GIF87a0 0 Â  ÿÿÿÌÌÌ™™™fffÿÿ          ,    0 0  þºÜþ0²@«•87Á»·&:Cižžp-ÕôPXÈçÐÁŠÌêÿÎ¹…©ð’tÃŸÈÈòØãŠ²‘
™B]Áõ™íÆ€_jøª]õÎ3ŸrÞ¦­®ÝZËÑyv#,bƒ†t‡Š/…‹Ž„cŽ‰’‡5%•† ‘™x>—žoB›˜£x%<¨‡0{NwyXsFzP·ªj_<eS^\½AÂ¿@Çh€qÊÉºÅ.ÓÓÌ\Àzmµ;À ´¸¹Ãƒ5‚©Þçˆåê1éí1ðñ¢óŒõ™²Ùòã[eo~õaà²5ÈáCÆ ÀMX":ÙMK.‡ü J´ø:ìWŸ#	q 	òc3’¾øh°´g/g|@É]6XYdõ±¡âÝDs‹J¤ðæF])ì­
åJ)† ;0707010004811b000081a40000000000000002000000013d1fe2d20000010a000000200000000000000000000000000000001d00000003reloc/bind8/images/files.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  0707010004813a000081a40000000000000002000000013d1fe2d20000062e000000200000000000000000000000000000002000000003reloc/bind8/images/findfree.gif   GIF89a0 0 ç  fffÌÌÌÅÂ¶§-°˜5º¡:Ä¬CÏ¹MÚÆVáÑ_ÚÏ`¿·^ÅÃ»Ÿ‡.ž„$¨+¶7Ã«BäÓ`ëÝgîájñçmñèmÌÁZ   šˆJ•yƒ$¼°~¼º£ËÇ“áÚìáhåØa×ÈT±¤_u_”x¢—nº·šÈ½e×ÅRÏ»I¡Œ-~;“x§£’¹­oÆ­?¾¡6—'¼¶“wš]ª›d·™1¯“--'š‚)œ™™™­­¬yfª+¢Œ-½¶”«§•¯•/ºŸ8¡‹7§—T®®­yh$Ä©@´ >¥+šbÌ²GÈµI´›5¥¡’Ò¼MÕÄRÂªA×ÆSÖÅRŽŽŽÎ¸LÓÀM±±±ÖÂSµ³¤ÔÁNÕÂUÁ¼”Â»“Ð¼JÇ°CÄµVÛÔ„É¼qÊ²CÀº“óêo¿½¨¼¼¼Ã¨;ÚÐcÙÐ}ÃÃÃÅ¿¥ÐÎ±ãÖbÝÎZÐÆ‹ÉÉÉÆÆÅÈÁtÖÅVÎ»MÇ¹ÊÊÊÌÌËÁ«P¼4Ã¹aÆ®G¾£>½¨]ÉÂªÎÎÍÎÇ¦ªŽ+º C²˜;º¦[Ë¿•ÐÍ¿ÔË›ÒÃo¾¡7ÛÉX¦‘7Ä«IÌ³MÃ©;Ã«FÐÐÆ‘cb¯›L¼¦NÉµQÕÃQÎºIÊ³FÇ³WÐÐÐªyu€QQ¶ŸŸLL¤yvÃŸ™],-b//…SSX((l/1~LM#		m45g')Lp:<b"$Z[ R\!$M
—jhL‹\[`#%U{@?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    0 0  þ ÿ	H° Áƒ@á@‡!þ“@bÃ‹f¸Ñ`Å‡-6yq¢IŽ"9–<‰¤J•[®¬˜’åÇ˜Y.œ©“çÄ/ƒÚJåL¢5*]ª0€Ó ŸJ…*pêÓ¨W™þ“ŠÕj×©_µV¥J¶lÕ±h·¦ëtkÛ¶nÝ
@ €(Xð–*[¨Wá¶eÐÀÁðJ˜@¡‚…qÅŽŒƒ@Ë2hØð€ƒß<| BÄÉ]·b j™D	n??="…Š¨#W¶\™E»áVµüÃ1dß­Tøj3hÔ€Ê[v€Ê[mÜÀ‘càs±ÄÿþéØ°ƒçbÿ×ÃÇ —‹ƒÇ„3Ëáåë'.düáå§TqŸ~KDJ(uà?´æ·^…VXM8a†á@OD"AÞ—"QHQÐˆ*žHÐT £@)Þx_V¼ècŒ]7êhdYøˆbˆ#þ£Å™cŠ\t¡‚’"2)â^LðŒK¦Fbäø#ŠŽAM‚ˆc…ÿ”a†y/Â¹Ô ‘jj˜±Fn±BnHöÆŸ€ qÈ1ŸÅæW uüÙW¤L=eÇxä¡ÇW\íÁGV	—)\~üH ‚ÄFP þƒ²F…Táª©KájÈ!? ’ˆ"-ÂˆŸ8’ÂU†iS˜>â$‘DQE]„a†$“PÇVbÖ_Yr	&™ ©É&œ´ÕÉ¶)xòÉZñVœ¼•]'_`×Ñû(¡ˆ2Š'¤·luØñ¶ÚÁ\ÍëT½˜UVŠ)þzrJVñ2·›Áõâ*pÁª]‡
Äÿ¦¢±|Ëí‡`€ËŒŸ*«€ì	+&ŠZ+®¸ü
š[BH'š;#„á<ÀRsÄ7k‰ã’Y.5¥@±ýïÍ@™´ƒa
$Ë,N{rbÔGO­ÐÒÑ‚5Äµd(%ÒTg¡-Xß"5ÚE¾	7×¸ä¢ËÙ[Ú©sÏ=¿i§›]ËÌT“ ;  07070100048141000081a40000000000000002000000013d1fe2d2000007e6000000200000000000000000000000000000001f00000003reloc/bind8/images/forward.gif    GIF89a0 0 ç  ÿÿÿþþüûùöéÒå¹¿ýòõÄ¢¼Í’½þ¸ôîÎäŠF»ƒyôþõÒÜàÇº×¹ÒÙ®ÌÔ¤ÇÉ‰´½r«¸h¡²Zœž‚„ÆÓÉéÙñæÅêâ¾Ô»x¬îßîæÊÝ¶~œ¿Z©„B|þÐù–¾ˆÃf±«hš²~¼«F‘£3†¾2¬ìëóîÚæþþ¸ööòÇr´¯S•¢\¤ª•·Þ·ÖþàòþÈí¶y‘ÑžÃÃ~­µ^ãþúž„´ÞþÜçæÇìëÕéþÜþØ³òòæþ°ÌÐÏ—ËÊŒÊÅˆÆÆ{Â½tøìÞÁÂuº²d­­GþØóÒÒ®º¹gªª;¦¥4¤¸(þþÙââ½ÒÚ¬ÛÚªÄÇˆ¾¾n¶¶[²²S¢¢ 7àà´×Ö¤ÒÖªªdîòÜ~¬ææï”‘£ž Š
þÂ|þþ”Ÿ­“DþâÅãîÔÍþ“ñùß¢ƒ˜–þÐœ¬¥<œœ¡zÌ¬ž¼Ð–…„pˆ¸ŒD¬¶þß’‡º„x³zn«Š^„mb¤ZN¢zzPÝþ¹¢¼läáñ¹¹‰’¦Ìš’Â}sªwj¬fZ¥Ïþüº ²¸VÕþ²¦šÆpg¨Zj ÂºÜ·¯Ó±«Î«¢Ì~N”º‘~²²|š®Dº·ÔÎÇß††´þ²üÂÎtÒÎäaVœ†¾¬ÚÏçÇÄé~z´LB|ÛØídŠ¤‚B¬zzúëù   EE2CC.nnD¦–¥Iª²Ðˆ€¨THQ©©¨¾¾Lþ¾ìTTT¢Æ,VV4??$))¦œ¦ââànm5150.3OL\rlˆ'&.96DNbp‡ˆ888TKA@@'””Uee2OO%qqpTES2TXJg†876ŽmŒQTQBAM30@ÍþÙ§¦¤rrrŽŽŽ999ÇÇÇUUUªªªãããÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH± €
TÜ(àŸ(XÀ`ãÃ@ˆp@Â
,˜lxC+[N˜PaÃL†8tÀéÂN
@„(ùOƒÓ§N˜1`h…$Jl€iâŠˆKac
*:@ð)p×$
Ž[¶"UlÓÅ‰ÃÎ­KF„ª1È˜q`k…
+Ï¥k’FZœ5ZÚ€I‚iÓÉ”72ÀÐA-K—7*ÜÀ!P0ÙSœ!™7T€™C£ëÐÿdOÄàá	
ð|àBÇçÁSìà£‡ÿ~| ¢cÃ’¡þW"d‘!EŒ<‚¡°“…G,0„üy$Ipðø·BÉÏ¿Å&Ñ;ÁÂLAÞC QDM ¡„O@Ås¯E…<HÁÄT((DD aEW`1áYh |ñÀÃ;lA],ˆ„‰V¤¨„,¾8GÌX#TäXÞŽ'ú¤ÉÀÂFÚÈ…ˆU4Ø¤ŠN@)Ñ`üÀCGÞ(DB !Æ(ªèÅo0>D¥Œe:AFå	aÆNpéh¤AQjˆ¹ƒ6*±†@i^ÈFX`áElPà†TL$ÀœÎˆèJ$Àˆ!¬@ÅpHÊânÄá†þEñ•4nÁÅAÐá@ƒ;¢˜"Ydáªu„€Ý‡g±ÐiŸ
ÑN¤Ù„b !Æ«ëAyè±‡|ôá‡Ì
ÄBlÐZãÁ HTˆ‚ü3ÈŠOŒ¶d¤ðƒ „®!‡ôÈ!¥  S)‰° "ClÑÑ?‹¬˜…¿gÔÁx84b°â:ÒÇ#?Å”?ˆ(SDCØõpÅüú+hD"É$&ëaˆ¸
B	A,ÐF%lHŒ$U4„%F´É¯—”„I&AO2‰#šl¢Ç!	#â±°…§V*ÈI‰&jMa¿q¼Á@þ'€‰KÅ*{âÉAŸÀ¤’D”¸eÏn¸‘ ðI(E!Ê!ŽŒ²qA†J1ñW
ÑxÝ>R¨…°>¤@
) €MÐ¥ˆ‚°)éþ“­¢Ó¬d–E<Na°§„Š ‚tv$‚d’C2ŠA¤±Rp‘Š*ª¬ÂŠ–(zÑŠ+c<!‡Fÿ¼bH#¤döÐ&çá±ÈrÐœðÀ©ÌbÅˆLj„ D¬Áb¡Å@
¾E"DÓ,0ƒZØï °ÅX
˜¡<D¸.r¡‹Ôâ„»à/RÁ‹ìâ½ðÅ/€‰`cÄ(†1jaŒ*$µµ82’¡Œe8aÌàE-šñfÈB=”E-þáŒF`"™x4i¤‡I…@°S‹iPa´à?dÑŒ4:ñÔ¨†5Ä¨‹k`#S4¡"ÆhcáF7¼ñ@zãààÆ?º¡Èˆñ‡d¤@F‚„ƒßÐÆ!)ùol2’à€$8ºÉInc©(äBT9p|£éF8b9ËnÀr‘ß‡-u9o¼r–?1I@  ;  07070100048143000081a40000000000000002000000013d1fe2d20000013b000000200000000000000000000000000000002200000003reloc/bind8/images/forwarding.gif GIF89a0 0 ã  ÿÿÿÌÌÌ   ÌÌÿH£ÿ²Mz™™™®²Ãfffÿ  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  ÖðÉI«½8ëÍ»ÿ`(Ždižhª®lë¾ptmß·…ï»Äÿ5ðçŽÈ¤R@.ŸÈæƒ…J)ÔêRšÕ&¯“®÷È5Ž£ç™œžš×àâš-ŸÇÝsf[\MÐ+Y~cec	‚w‚Z„Z†Ž‘^ŒP‘–—ŠO”•˜“{o}‡mXf†ƒ C4	6B«ªAn°9€³´®­"=½¾¾!¿Â¶±¸³X½ªzÊCÌa4ÂÔ¹®ÔÂÖ²Ø¿Ú¥ÎÜÏ`5áâ¤µàáÞ2ìíîïðñòóôõö÷øù ; 0707010004815c000081a40000000000000002000000013d1fe2d20000013f000000200000000000000000000000000000001b00000003reloc/bind8/images/gen.gif    GIF89a0 0 €     ÿÿÿ!þCreated with The GIMP !ù
  ,    0 0  ýŒ©Ë½à€±†©p¤qù]š3vWRŠi6Ô+©^nÇ‹Ÿúåä]Éb³ÝÁñiZÄ[²Øx
§µkF—[P2kê|Ãä²ù\CÑ*«ZK––˜›7’…µ·®:Ý¸v·•c•a´‚¢µñGÓãõ3D÷ÖS©èS•Çˆ…ÙÕ‡±gÇÖ„XŠšª
EZ±ÇójæhIzK¢Û×õøð)T˜'‰«ÄÈzy¼ƒg‰<9%Ú)
Š£Ü´š|N^.\§š2þmB›½›†ç´>ªè{µB?Œè4ìùL™”mƒœ„fªÞ4€­É«ÅP	·9®ØŒ1‡ª  ; 07070100048160000081a40000000000000002000000013d1fe2d200000929000000200000000000000000000000000000001c00000003reloc/bind8/images/hint.gif   GIF89a0 0 ç  ’zºªRÒÂ~âÖ¢æâÀîêÒ²ž>¶¶®òîÖÂÂÂžŠ²®šúöæÖÖÖ²ªzÆºvÆÂ®¦’)ª¢|¾®^ÞÒžúúòâââÚÖ¾¢–OÊÂ–¨žnÞÖ´îîâêêêÖÒÂ–‚ª–.Â²VÎ¾z–‚¦žbÒÆ’šŠ.²¢:þþúæÞ¸ÏÊ±³ªsÎÆ Â²e®–2¢’J¾º£žŠ"ÚÚÚÂ¾®ÒÆ–ÎÂŠÆÊÊš‚Ê¶júöîîæÆæÚª¦Ž&¦–HÂ¶zÎ¾vº¦J¶ªnÖÆ‚îîîž’B®²ÎÚÊ–èÞ¾ÚÒ¨íêÞâÞîž†²ª‚²š:öòêÎÎÎöòÞÆ¶fêâÂÒÎ®ÞÚê²®žööòâÞÂš†
ªžV¶¢N¾ªRÂº–æÖªææææâÚž†ÞÞÞÒÒÊ¢’>¢ŽÊ¾šÆÆÅÆ¶vþú÷²®“¦š^ª–>êæÒ¼º²–~°¢\¿¾¶Êºqº¶ªºªbÆÂºÖÊš†#úúöžŽ>²¦j¶¦R¾²rš†ÒÎ¶ââëîêÚÖÖÒíæÎÎÒÞ¢Š¾¶šžŽ3¶¢F¶²©¢Ž*¢ŠÖÆŠÞÎ–ÎºrÚÒ²Ê¾~’~®š6ÖÎžº²ŽâÚ¸’~Ä¶nòîæÚÊŽææòîîÞªšN°ªŒ¾¾¾ª’*–‚òòîÆ¾ªÆÆÎ¬¦xÞÚÊ¶¶¶ÚÎ–²žBÎÂ†š†Æ²cš‚ÚÚâÞÞÎòêÖ¾®bÊÆ²Æ²^êÞºöòôºº¹ÖÒ¼ÖÊŠþþþÖÊ Ê¶râÚ®¬¦€ºªZÎÊºÉ¾‡Â¾¢æâÊÊÂ¢¾¶†âÞÞ–†öòä–~
êêòööö¢Ž"îæÊÆ¶j¶®’ª¢rÊÆ¾ÊÊÒ¶¦NÒÒÒžŠòîÚÓÂ‚ª–2úúú´¢JòòòòêÎº¶®ÚÖÚÂ®Zîêêš‚ÞÚÖÊÊÊÒÎÒîâÂº¦RÂ¾¾¶žBæÚ²úöúÂÂ¶šŠ*ÖÊšÞÞê¶²žªš>êæâžŠ.Âº¦¢Ž.º¶²º¦NöîÚÞÒ¢ÚÖÆÞÖºÂ²^Â²j²¢V¾ªV®¢bÒÎ¾ÚÒºÚÊ’®ª’,    0 0  þ m	H° Áƒ*\È°aÁj#JœH±¢Å‹2D¡±#ÂÄ¤%‹•‹^iªy´¥Òc
EÓDˆÀ…#Uª×ZÚBaN›,†+¦¨%DÀ8qlÒèpìD+ø€Aƒ6¤"Ë…)“ÛðõBÈ
›] íñÐàÚÊÉ ¨D#-×"¢"y»M_ }-¤íA­O:¯&.7\¬dÒR,ZTfLš6ûŠbˆ\v.:ñˆÐË
ÂŠZé«Ü€“À4Š4U_}ò´:ñD„<éI’Qåbt±ép\®=z¥.áý±×¶¾-œM¥!šÌ >SŽþ¬ A pŽSì ·¨”?EBD­	kÛì›¸àÎƒO¯q‡bã3O+Ø$ÃZs°÷Þ4ÓìÅnœ5À‘QŒßxqÌC¡A@Ì“ sÎµ÷  y}µf@h¡$. Ç<m<ÁYrB:°Zk]4¸È%—#qÀBŽ8÷m¡›!„ÖûÈ0„BÇŒò@2É,K
)–R#¨â.<ÀÔpF¥ìð—ˆ¨0É“¸X5$qà²—Š ó#ÛhðÂ0nb•ÛÙÍ
Œ0"Ä	‘@VÌ3O˜(>‡'Ãhp^ÍÂÉ,þ¢ •M@âƒ\ºD7# ÂŠS¡Á ­´kdàO"vüÃ‰¯x•#4O‚J'äÐpƒ,¡J7ŒÀK:UƒBÃš8$™ôTâÉœ<!-H•!Ã£ôD'`k†
(pC7n àËŽWÝ±Ê1÷š<û€¢-àU*8D¡YgPÃ]d$Â?"‰-UƒÆ¹Ä0Lh‘*r¥W …¿Ôà/aýu{Ãn<â€¦]UAé&ƒ^,±8WGÛˆc¡>.¢Rð#ðQ«Ôtw)É#<²On±„†°-¸tsô¤â%”  ÷68ójhÀLþäì,__­ÙžªŒîB"›Ë ¥ä!Á?ë²@*ÊÌq€«	¼só…À%27<täŽº./è=·Ì€ß|ÓÁŒóD´¸bÈŒÛ’¡ cèòÏ2O `\5™€D	ÌSÀÚ0/b„axáG8ìñD´À™µÞ2Ì’@(˜”û  ¢—€ ô–bÄ%‘H‘D$ŒœŒ#úl¶{¥ý!CäàÂSžê –‘$C9¬‰ÅØCø@È+Q°N *Ôj„†Èˆ†V ¥"ëxÂ7šq‹ç9f;0Òƒd‡š¼hòÈ)à1Ñ$"þKX‚5Úa·”ë^°@.Ž!5=f²àhbC¿Th06R€·0Š¬bK9Þ'¤ÁÖÄ06\¡Ží“›üÐÈk
p áu#1*¹ÃÖš	B§2BˆIk¢ë|Ï_¾‰€ç<A„68CÀºŠÙ2qŠ@(­T“©LLÔ˜™ûèÆ_.¨Q'È°wÂ¡PrŒ<ã1rtü!„¢0ÉE…”g ‘OD@4
@Ç)`?$1æèÀ+Öà)þX‘«(r$‚…xÁ#S& ;2Î*wò‰0Ø@•hMÀðU€@8ÈK­£Cx¢ºþ8 '6ñw Ðð‚84TÃ)Ìƒ)D€
"àj($"¤ÔgHƒ«B1œ£fh SÐ€@ñìäíh ÜR¼.	 EWÖØ?³CdÀ“‚ˆ%CC3ÌR(‘¸hÁ8óÁÀ C°DŽñ‰k|¨¤’<æ1‘(ƒ0pÃ
Ç¸+¡ŠØÁîH@|(eå2ˆD:Õkä9VÃp9W=œ)Ó*Lšp$#¶°Bd Ž'<ØiÊŸ” Æ,
¬0œvÖVdeµ*N<Êu´AAázØƒˆMíqf+ØÒf5Œ®lVãº[ËÚ"  ;   07070100048165000081a40000000000000002000000013d1fe2d2000007df000000200000000000000000000000000000001c00000003reloc/bind8/images/icon.gif   GIF89a0 0 ç  „‚ÂÂvDD¢¢/ŠDxbbäâ½Æ„´¦¦Œ„‚pÒÓ™fdhb&TÓ¢Ä""’’€²²”fF\Šj„˜–vvÅÅ¹ôôâÔÒÈRR²²S43
rrqª‚œíëÕ˜T„ª¦´62\š–¤¸´È‚‚XâÂÜ"4££\ˆ‚ êÕä²fœff<uu?ÌÌ¸VVTtl”GBWääã––LÜÚÈªªDÜÚ©››p|r¨ÊÊŠº’¬Žt¢VŒ‹ŠmkqººdB4<¬ª´¿w¬ll««—ºº”~~lF2D½¼¼TLhžJ„hTd{{UUAììç>"<ššÌÄÞùúóÙÓç>>ŠŠ<ÓÌä¨\”º®¸ÄÄ¨¤¤H¤4ˆÆ¾Ü´³­¨œÈ¹i¢||W`\`ðäìÝÜ¶Í•¼ææÌ•“—~‡´´o55,{u„’Œ¨ll8œ›’ŽŽ‹‹'««ª€~&³[œÊÆ„¦¦<ŒJ|–‚ŒÕÖ¦oeqÅÅÄœŒ”òîÜ@<L¢ž¬v>l*&@z2l‚Z|Ú²ÌvBlJJR>LB*<ZZ­­_Œ^€¦n”ãÝä¼p¨Ù­ÊæÊÝn\lÊš¼ÚºÔ|LpšŽÄOF:4bZ”6.T¶¢¬**$ššLF=n¾Š¬ZZ<ˆ~¬šF„¬K”¨Ž R.L’†¼““'WN‰N&DšN„Z.LJ:<ƒƒ$¢¢„€|„ŒŒ\ujz¦:Œ¢šÄ¼´Öºº„mmÁºÚjjPŽr„Â~¬ºš´ff$jb„rr,VV$ttX””^¼¼°::<NN4®R”°¤Ìèäð²ªÌœ!¶®Ò>6d¢š´¾¶¼NF\‚v´Â¾trnþþürnD¢žœb^$…„‚õõôbbTËËÇvl¬ÝÝÛ®®LÎÎ™^Zt–Œ¼ÇŠ´¦¤¤
nBdZT\ÞÖè®^œâÞ´êæÌš–œ²ª¬ÊÆÌ®rœÒžÄrn$¢ž$²¬´~:lâ¾ÔÆÆ}ffææÄ––ŒÖÖÑ¶¶\vvtžš°††\ŽŽ¾¾m!þMade with GIMP ,    0 0  þ ¥	H° Áƒ*\È°¡Ã‡#JœH± R:˜pÓæ¥bÄ1ÔÆLp`†‘„JåóÈÐQfyvAzg&œ0u–¤a¹PÜ¦‘èÍ4ƒàfb’x*”×(==2º„\¹)J>‘Ñ(¤GX>|Pñ¨Î(.¸e-øÒP3˜dS	çÙymÖœ"Œ™·yøpëÓÈ.—Aûô÷©PJ¹€ató\±y¥ø(˜&»H‘(A"YÔ.“Í×YZbtM!*êÔ1„š ¡B…˜™dFˆì:ç Ô¸g,á¢À”*Ñœa  ó"Å.ðáÓo1{þìÙƒG ÄE—Îž½õˆ2‚yËaG 4\^¦\°V…)5ÖÌÑÞ€ì½À><!ÍÔÜ0}Üð†¼±NpB{>h6Å>´÷B2ì 5s(ÁóÕS ?èÓÍwÜAÀ)¾¬ÀÞ‰Ó^B2@Ï=4ä ‡, ¡ ÿÄ¸H75ØX{> ¢t<jÜs :e ©d}Ðü£PÚ8 {2X A2¤ÁÍ qÀ6ØÀb9¼>ú %°§Ð›ÉÓÂ=Ôy@y"	á?ÿè³F7ÝÔH¨¡nJg A	ÌÐ(^Ú€d=Ý O2w *¨þŠ°ÇÆASÄáÞAÂ@àG—¢£‡>=Ð±Æ"¾ÐÑC¯Ð{JÀçz ´IÐOáÂ®¤âùC7äË	S8rC PJ€=j&¶²'ŽAù ¡ÍØ>ªG+bßZ¡À/¤I@<Q ¾‹~Øz©G'-ˆ±ƒ v»ˆÔ0h2QPÂì¥ó×T²~d‹Žž9Àø¢ñP@A<™ÚO…‚ÌÞžaò×Ð[ç=¾ž@Ñ`‡¬A‚×ÏÌ2ð
nlÃÁÒS%AÇL²£îà„6×ôSÒ\J5k×ôâÆ,–˜Êþ3‚ìCåƒä=)gkêhãƒ F¬3Í"úDM€ŽÒÅr-Æ|1‹)8l³6ìyâ‰6icý4êåÊHÖ	ÌpB hÖH{NôBK#c
*š²Œ'ìirÉ:=áE§žóÙñ¢™¦iî1ˆ -Ê ’†¾íüÁž	¨ðS7ÂmªÑ`íiÁÞâ€pEÊ´•@ü°‡# ˆæ0ª;å)Iô©G™þ”±ÉO:œ9® …[ˆ dÒÐF(ÆçÄ°`” ¥§1ÙçLµ#€?d%cLP
#`^ñŒ+À—‘@"Ð‚d+I¶,ò†ôN¨;ô Éˆ× p(ƒ
÷ã^æˆ'L,CZÑF?ÖP†z´¢­ò†Ÿ~ ØƒâPÄÆÀ¬$$TB¸ƒyb'y0:ÑŠÌÁ	¶àÓÅ .m¸@ÐÂF9@à* ÎhÔ•/°` ¯øA¥ D€CP¡ 2€–Î `‰h£t€/ªñ6xp/X±!ÂÆ1,Ö¦DlhOœ0‡ýç—ÀæB ; 07070100048166000081a40000000000000002000000013d1fe2d2000001d6000000200000000000000000000000000000001f00000003reloc/bind8/images/logging.gif    GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100048167000081a40000000000000002000000013d1fe2d200000796000000200000000000000000000000000000001e00000003reloc/bind8/images/master.gif GIF89a0 0 ç  ÿÿÿþþüûùöéÒå¹¿ýòõÄ¢¼Í’½þ¸ôîÎäŠF»ƒyôþõÒÜàÇº×¹ÒÙ®ÌÔ¤ÇÉ‰´½r«¸h¡²Zœž‚„ÆÓÉéÙñæÅêâ¾Ô»x¬îßîæÊÝ¶~œ¿Z©„B|þÐù–¾ˆÃf±«hš²~¼«F‘£3†¾2¬ìëóîÚæþþ¸ööòÇr´¯S•¢\¤ª•·Þ·ÖþàòþÈí¶y‘ÑžÃÃ~­µ^ãþúž„´ÞþÜçæÇìëÕéþÜþØ³òòæþ°ÌÐÏ—ËÊŒÊÅˆÆÆ{Â½tøìÞÁÂuº²d­­GþØóÒÒ®º¹gªª;¦¥4¤¸(þþÙââ½ÒÚ¬ÛÚªÄÇˆ¾¾n¶¶[²²S¢¢ 7àà´×Ö¤ÒÖªªd˜–œœŽ«îòÜ~¬ææï”‘£ž ºœ\Š
þÂ|þþ”Ÿ­“DþâÅãîÔÍþ“ñùß¢ƒþÐœ¬¥<¡zÌ¬ž¼Ð–…„pˆ¸ŒD¬¶þß’‡º„x³zn«Š^„mb¤ZN¢zzPÝþ¹¢¼läáñ¹¹‰’¦Ìš’Â}sªwj¬fZ¥Ïþüº ²¸VÕþ²¦šÆpg¨Zj ÂºÜ·¯Ó±«Î«¢Ì~N”º‘~²²|š®Dº·ÔÎÇß††´þ²üÂÎtÒÎäaVœ†¾¬ÚÏçÇÄé~z´LB|ÛØídŠ¤‚B¬zzúëù†ƒZ   ~~I*7ª²Ð·±Æ—‘«ˆ€¨ºŠl¾¾L€NTT1žmTTTþ¾ìŒ‰˜@>I¢Æ,„„R@@'**qqpŒ888ââàBAMÓÆÓ0.3eau˜µ'&.96D!*0ÙâÚyy<;;LL{©©¨Æ¢Â\Un|zTT=xq—Jg†876ÆÆÄGG6ªª„[qA„‚›PPL30@DTHSSRªªªUUU999rrrÇÇÇãããŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH± €
TÜ(àŸ(XÀ`ãÃ@ˆp@Â
,˜lxC+[N˜PaÃL†8tÀéÂN
@„(ù¡ˆC+Œ QbL'P4=˜‚ƒŠ|
\qõ‰­Yp€ú€`˜.N¼@[F¨1È˜qÀj…
+è¤ñg–6`’`*x À²ty£Â	Î ‚Ã*ÀÌ¡1³@n  á Ï.tÐM±ƒŽ>|üûñˆŽ7n˜"d‘!EŒ<‚¡†Ì†?Ž$	ÿV(YÂøç‘GXþ,a„ø!HŠ4i‚D‰“'P¢4"…‡&S¨”R…+M\…{Od¡E`3ñÀÃ;lA]˜‡ÄV¨„fñE‚G,Ø TDXÜ„ Zˆá`„a’,ˆá¡ƒ\ìWz%øžVôÃ?ð@Æ‡
‘…H”aF€b˜EgÌä¢‚@:FÅ	¡ÆNØX `€ÁF‘áF;Há oD¤|pÄJfÆeP1‘ ?ä¹ ™S(! ü…°rÌç–_ÌIEQüà"ƒ[pQGv8€Þ„
çœ_ÜAx”‡ÝÄ‚ždð)DX8Adþe”ÁFnÉ©íÁGFøñ €”úQÀñhƒ["‚ QÅ >òO!>Áe¬h¤ðƒ †¢+"‰ü¡H"¥  -z(‹° #ClÑÑ?˜—kÜáˆp8<â-»BòG$?E‹?|g&SDCºõpÅÕr	f’LBI%þòÈ®â&b	A,Ç%p¨"U4&F Y­™”¤É&WR	$œtÂG"á*im±'Œåyâß2¿g-r0ð‰$8K‚ÇEÑ‡À €rP(Gƒ("þÕXñ_´Á€(SK2
AQ’$¥Ì[™R¬;EþŒBÍ´…ïi!§)˜bŠ(8ôÃ)¤€‹Š°)<š7Ã"ÎX„Ù7f‘Š@ªBÈ'8OBÈ&9ìñm"¥Ä@[0(úM·
+­è…+¯˜ñ¥Á‚È#¦l‹,û»Ç,[c}ÐžðÀÄ´Ôb¶Ü‚Klä¢Ë.‹¼áî@¼Ì@€)½ø2É$ó13($À/¸Ë€ÅŒ0M¨2Ì0»üCL1ÅÆ?ŒQŒ]ÉPÆ2˜Ñg<ÿ`Å0ˆá6ü'Ò˜5LQŒjô¯üÇ.ªñk\ÙØ„6¶	nt#‚Þ€ˆnªñp„ÃÃð ÿv±Vü£eº 4Ä1Ž’£æð¡%rtü#êXG×‘øpì`‡:ÐÑÄþƒëðbDº¨Ž*N±MlÇ:ÜÁEt¸ãébÏ!Fˆ€ñ‹a¼£ÁF)†ñëèã9Ø!:š&" ;  0707010004816d000081a40000000000000002000000013d1fe2d2000001cc000000200000000000000000000000000000001c00000003reloc/bind8/images/misc.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100048175000081a40000000000000002000000013d1fe2d2000001de000000200000000000000000000000000000001b00000003reloc/bind8/images/net.gif    GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100048176000081a40000000000000002000000013d1fe2d200000eb8000000200000000000000000000000000000001f00000003reloc/bind8/images/no-home.gif    GIF89a] P ÷ÿ íéëúõøùô÷òäííØæÐœÀÓ¢ÄÖ§È´©Ë£¿ÝµÑéÒâŸI‡¶_¢X¶dŸºi£­c˜½s¨Â~®È‰¶Ì“¼p‡Ú®Íà¾ÖåÈÝ«D¯R—®Q•$±V™²Yš³Z›‰EwE%=tHièÎáîßê£0‡R5L	ôîókgkÒÌÒUSU,1
öóùâÞçÌÄßÓÌäßÚëçãð¶­ÒÃ»ÚÙÔç«¡ËrgŸzo¥‘†º›‘Â¤›Ç°¨Ï»´Ö&rf©yn­|q¯€t²†{µe^†ƒ|¡MC‚YN–3-U@8i`Užg[¡KCvla¥od§uj«
øùð½ÀbÁÄlËÍ×Ù¦®±6¯±P¹º_ÃÄzÇÈÉÊˆÎÏÑÒšÓÔÒÓÔÕŸÕÖ¢ØÙ§ßà±š™ ˜– –” •“ ’‘ ‹ ƒ qp _^   {zŽ88•”MM”“’˜—	•”›š€•“›š˜—ž

  "ƒ‚žž"¡ '¢¡)¤£+¢¡-``tt"¥¤3¦¦5©¨8§¦8©¨=’’5¬¬B«ªB¬«E­¬F¢¡B®®K©©I®®L°°O³²Q°°P³²Uµ´W´´Z<<²±Z¶¶^¸·b»ºe¡¡W½¼j»»jhh;´´g½½nÀ¿rÂÁv³²mÂÂyÄÃ{ÄÄ{ÆÅ~ÅÄ~wwNQQ5ÉÉ…ÊÊˆÉÉˆÁÁƒËË‹ËËŒ··~((ÍÍ‘ÏÏ”ÐÐ–¬¬~ÀÀŽÚÚªÒÒªàà·ââ»««Ž……pêêÑììÔïïÚððÜããÒóóãööêûûõþþü‰† '& hf/.¤¢-¨¦:­«BŽQÈÆ‚ÍËÊÉ‹ÐÏ•Ø×¦ÙØªÜÛ¯ÛÚ®ÞÝ³àß·åäÂæåÆêéÎèçÌÜÚ®ïî×ðïÚíëÓø÷ì™“‰752¯­ªÇÂÁôôôÀÀÀ   !ù  þ ,    ] P @ÿ ý	H° Áƒ*\È°¡Ã‡	ëÝ#P€`@pÀ€(LˆÁˆ!H¬€È²¥ÃT0Qñâñ˜0Ò$‡Nœ@‘Â¥Ñ£at¨ „(TèøqBXA„€ð ÆJ¤G‡½XV0ß0]ÄÊ#lL8\·fÉŠåj*p¯†úÄIÓ%o˜N%K8ß³kYªMƒ'š;vëš1K÷.™š4fÔ²uW.ÝUªR™"5ÊSßK–&us¤HÎŸ~„Y¾hÑâ™=kŠ;†,9ºY}æü!xÊW.p¹ÝiDÊ´ßÔÝ):ˆM7nàÌ1[¡lˆ­áÿ^ÜøqäÉç”íJ”¨ÎÀD¬zÍŠTpß+ÒÎQ«–NMœl nsŠ(äóA Ä&‘GQESDEN`á,|ÅÐ3íD³Ûy”Y†™fm½×\u…6Zi§AÇ_umà1œ?-Ø`C:ô
I‘ÄR1…DX¡¡CÚÜ1;í°c#wÌG#›”"Ëf*zV—+…ÜAGv”ÈÙwP?2Àp…O qÃ:ò¨ÃCä ‘Ä:ÁÄWt×?û´B(pä$À C "8 B ª)CôÐdF|à HO%ÀAPBy°é«­ÿ€B"TPF9
RH"¥º*	EÁŠÔ.Çcì/¿„SK-sC–@lë¥¤’ŠÂB´Œ=º™×[e—e¶VŠ±šhøÅ¸ßt„Ð‘mCÃ(cM·¼MVYj”¡J!ÿqRL.—È‘Mx0
/æ'ãtŒ¹Çc¾+Ð àe!^nåÕ›Î9k¤ƒŽ9 ŸQ*ÖÒJ) hB‰#‡²I(êFÇ°uØÁG9±„ƒC>‘1øãP4Á„….¤ÀrÜI;ófL"¸'£Ë.õ¼‚KxË¹	ÇÌŸ7
=Dvæ¹'IDÅ OHÁDUHH¡…D-ƒB†Hÿ¢†5ñHý­‰ârYîg.’
'›è'3 wæ-Ì€sÖÙãK  õHñÃ‚"aU™tK†”iÐ2Âˆ†,«˜J&•<2]$’uÅP ÁƒS<a|Ü£#QÄ…‰JlÔ2$´pA$äãüõÕãô\ÑFTUª&uÐ€«Øoš‚˜ðé÷ô
•H=©*#xÀOú„µ  3¹6ÐlA+$ ‰B°ª làZüC
$à Pä}8@PÀÁŒ¯~ <àiE)-0û.¢\…o|pÀGå œÐP1 ID(De$€@ÿF€©~7lÈ."Î¬ˆÃpÝ@ìp
LDBŠILœ±e¼`ôPášØ%s%FÏÙÏ"ò ›,ÖÃÓ Ïˆ.2®EèB£ãÑˆ@ÀaIüƒ¼°†jHCpö£1ŠÁ–pä¢ª…,Z¶t¥Qf‡Ø#¸-ŒÍq2èHG‘9ìAþØÅ8ÄðŠüarÀC&L¡Ç…õç:ÙÙ†{Þ…Š]LŽÞRG3ÊPˆH,ã˜Ã¨Ç.„¡"Z€ã™¬ˆ&(,¹Ç™áw@%Bd@„ ä
V€ˆ>|9zEFêPÃ%ðÐ<à!ð„-x1‹LBøœÃ6ö°ÿˆæˆÍš5‹ 	Bý€gH°›‘ÜF4&,)!÷¸n¢1Oz+‘]8F=šçè"µh¥@ñŠ<*l]Ô¹AP°9=í)	ZƒL!#a¡ykB€ÄS¤£ˆ,QÇåD/U²–(­ÎPi'(m›‚Š··‚`T ÒM+D4(8A!ûhAÍIÇµŒˆ3é?©ó†9$" : Á2Õ!´ !JàY„PÇ"8ÄtE3à¥s¦ÃÉHFÐpcnEi5…' ˆ¦ñA”è!îÀo.AGÂ\éÕ;é‰O0UPƒŒp$ Ê¯,9$qnÿLÑÜØÃ8ÈufÅ‚’«ØX`p`ŽN9ÈTypZ>)¶ÎÛÃ>÷nhã0„!ÚÓF¤`Á
Dptâ)ˆ÷
Í¢z×›lÄ#ð@Y0²)(xA òQ(@W ¡ WJòÀÀ€÷e‰Pà‚[}OWâ£@¯LòØ0Á,Jà``à ‰ð„U5D·¤èpb8ª«@¥'!0ŸPH /d/xF<u8à 	Û¤CnÀ#È”Ò‚È„Ç@À‘XÀxUBŠ}—<Ð$€ïKÀ0RÀ~° ;¡€U…åŒ ÿÁ\&¥:t|
ØýJÂÀÆy!1ð@=pg0†ª
AWþ¼  ù0 `5ï0£â
Oõ9` 2©(À‘ª`eˆ#èÀ¢½³èe»xÅÕ$Gßˆ ùð 
Dm-%ÿyÄ8ÃYËå¬ƒØ!ü	P0È×Æû;H=˜8ìÁâ§F>ÓStÂ/’øÃ&¼g¸ÃõH vñŒ3˜õ±FM\(NúˆH”½Ãp†à”qªŽ·ñVë%¥ƒˆ=ôî†Û‚Y9Tx›QàÕ<„¶‘D‰TÃ¢ó·!‹Ç°]Ò„€ƒ:A;äaÖÿÈ03>ÆaãÂ÷x5qð6IŠ	*ÕÐ€`”‚`Ç-(‡A4B«XÄmCÔáéOç?Z€ñ©%ãd <å@L#˜Ð†tï8hBæL§Yà°qg«Ð¨zoË‰8ÌÁ¶ÙE8~‰‚äA€R1I£š¹Ub °†>,vñ•ŸSÉÐDmòŠ_àBÂÝ‡!–1ŒaH¢¢8)ái–;ÜV½DÌ<¿pu”CÇ(–±„ñ‹¢Öb³HëàgDz‘ã (B¢°i°@
æõ&CÆÖÆC-b‘
Q|Ã³.p±ŠC¸óûq Äÿ7p€fê ô€
QPB¸Z´¯.„×P½ó?™Žt¸¢is0t@{0ªàµÐ	yPÝU¬°{3“p Ù°²!õ0:¤3S{E!ôW|ñ¾$w tÎ0¡b0"%û°¥@ML÷{`]ÙÕw/Sì÷ Zu7â2àHsº ’u	Å0ŽGG]€y!9»€µ ý § ©°tI•~ËiÓ\0õG BF`7S@:•!‘p¨Ü@€£s-ÇÆrGG%z3BS :À#y¢'? R I‚W^Qÿ PôW4 x‰ Ñ ü§qÕph—TÖáÒ;PZCL°:aLPEâ6MˆÑÔ°pBõn s2è‰lÇ8ft²#="ãU2à¦£†ö·õ@LH‹šèp‘•‹˜¤‡÷…–3'¤Å#Bð‘JÐ >(!©ãpvÚ ã ÒÀçp‡·¢°	P”àªáÀY70s•9Àx'Ë…ZªuPXQ@(a{€	iÐîÍÀÞ@
¼`fÐX«à	ŠPYw÷Û‡°Y$7Xà¯È<€‰'§•ZªUM SàU¾•¶€E
é`T’†t0w ÄEe.® 	Ú°KQypzAr;BˆB°ƒA¸!D0Œ,ÁÛ€3¯ƒŒ$½À/ç%¯à”.I07p9A`“ðgB 9 R€=‰€‡Pƒ0€Ðí”wpš„ýp0ðMR`V N207Dc^éÅi ;07070100048177000081a40000000000000002000000013d1fe2d20000014d000000200000000000000000000000000000001f00000003reloc/bind8/images/options.gif    GIF89a0 0 Â  ÈÌÈ˜˜˜PPø`d`   ˜˜øøüøÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8ëÍ»ÿ`Hdižhª®p,ÏtmÛƒ+|Áÿ_¯@,ÈdîðJ:ŸÐç0¨Z¯Ø¬v«L«°xLu t€XÚhZÍ^Ãß_²~_f‚ù€+yl@ ‡ˆ‰'„h‰Ž$y*Žc“ˆf+–—•›˜~š›d¢ŸT¡ž–¦)¢£ª“¬´(‘µ¸·¸´ƒŒo¯‹o…¥}§’ÄbÄº'À±”Ë&ÍÉ©Ð%ÒaÊ™Ç©Ó«Å­(×¨²ß»¹ÚæÕécëìaSï€K^\÷øùU" {ümHPà’\x!“…"Ô·Ï¡Å‹3jü—  ;   0707010004817b000081a40000000000000002000000013d1fe2d200000174000000200000000000000000000000000000001f00000003reloc/bind8/images/servers.gif    GIF89a0 0 ã  ÿÿÿÌÌÌ   ÌÌÿH£ÿ²Mz™™™®²Ãfffÿ  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þðÉI«½8ÓÀ»ÿŸ&^`YŽèÄ	lë¾—¦+l³2jvjpß¹‘ØûÙ‚¢á±h|!5JX€Ùl=3Q'µ›&¾àð÷‘uM%5n—ö;“ËÆ+ŽÛVå¤;ÍÅc=|wnB&z;3Œ„ˆ‰4Ž„ 3™”Žšž‘˜žIŒ‘k¢Pœ”€§‹ª•<c­°±A³y’´ºm"	¾(¿dÁÃÄÅÊÇDÉÍ#ct1ÂÒ:ÈÙÝPÛßã$áØ½hz×¨¼=<éÎKï¡‡î*á¯«çhùª–äI1÷LSµ€µ|ê—ÐŒ¨ƒçdˆè!Cz­ÛUïT( [ÝÛÒcÉxBN¢\É2 ;0707010004817c000081a40000000000000002000000013d1fe2d200000780000000200000000000000000000000000000001d00000003reloc/bind8/images/slave.gif  GIF89a0 0 ç  ÿÿÿþþýýüúôèòÜÇßþøúáÑÝæÉÞþÛùöæñÅ£¿ÝÁ¼ùþúèíïãÜÇëÜèìÖåéÒãäÄÙÞ¹ÕÛ´ÐØ­ÎÏÁÂâéäôìøòâôðÞéÝ¼ÕöïöòäîÚ¿Îß­ÔÂ¡¾þçüËÞÄá³ØÕ´ÍØ¿ÝÕ£ÈÑšÃÞ™ÕõõùöìòþþÛúúøã¹Ù×ªÊÑ®ÒÕÊÛîÛêþïøþãöÚ¼ÈèÏáá¿ÖÚ¯ÎñþüÏÂÙîþíóòãõõêôþíþëÙøøòþ×åççËåäÆäâÄââ½àÞºÇÇÀûõîààºÜØ²ÖÖ¤þëùèèÖÜÜ³ÕÕžÓÒšÒÛ”þþìððÞèìÕíìÕáãÄÞÞ·ÚÚ­ØØªÑÑÎÎœïïÙëêÒèêÎÕÕ²ÌËƒÎÎ‰ÇÕ‚öøí¿Õ‚òò÷ÊÈƒÑÏÜÎ®ÈÅ…þà¾þþÊÇÏˆÖÉ¢þðâñöéæþÉøüïÑÁ‚þçÎÕÒžÐ½‚åÕÏÝçËÂÂ„¸ÄÛÆ¢ÕÚþïÉÃÜÂ¼Ù½·ÕÅ¯Â¶±Ò­§Ñ½½¨îþÜÑÝ¶ñðøÜÜÄÉÓåÍÉà¾¹Õ»µÕ³­ÒçþýÜÐÈØÛ«êþØÓÍâ¸³Ô­µÐàÜíÛ×éØÕæÕÑå¿§ÊÜÈ¿ØØ¾ÍÖ¢ÜÛéæãïÃÃÙþØýàæºèæñ°«ÎÃÞÕìçóãáô¿½Ù¦¡¾íëö²ÅÒÁ¡Õ½½‚üõü^Z;*.$EE0/."Š~VTTT©©¨ÕØçÄÀÔÜÅ¶ÞÞ¦²±š888³ÆœþÞõÑâ–226¤Ÿ¤ÒÍØ   xv€_]fžª²787ââáqqqÆÆÅŒ©š¨FDK880³±º¦¿Â-,2£Ÿ¼'+/ÅÄÃSTSŠŠ†Ä¿ÄæþìUUUŽŽŽªªªrrrãããÇÇÇ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH± €
TÜ(àŸ(XÀ`ãÃ@ˆp@Â
,˜lxC+[N˜PaÃL†8tÀéÂN
@„(ù¡ˆC+Œ QbL'P4=˜‚ƒŠ|
\qõ‰­Yp€ú€`˜.N¼@[F¨1È˜qÀj…
+è¤ñg–6`’`*x À²ty£Â	Î ‚Ã*ÀÌ¡1³@n  á Ï.tÐM±ƒŽ>|üûñˆŽ7n˜"d‘!EŒ<‚¡†Ì†?Ž$	ÿV(YÂøç‘GXþ,a„ø!HŠ4i‚D‰“'P¢4"…‡&S¨”R…+M\…{Od¡E`3ñÀÃ;lA]˜‡ÄV¨„fñE‚G,Ø TDXÜ„ Zˆá`„a’,ˆá¡ƒ\ìWz%øžVôÃ?ð@Æ‡
‘…H”aF€b˜EgÌä¢‚@:FÅ	¡ÆNØX `€ÁF‘áF;Há oD¤|pÄJfÆeP1‘ ?ä¹ ™S(! ü…°rÌç–_ÌIEQüà"ƒ[pQGv8€Þ„
çœ_ÜAx”‡ÝÄ‚ždð)DX8Adþe”ÁFnÉ©íÁGFøñ €”úQÀñhƒ["‚ QÅ >òO!>Áe¬h¤ðƒ †¢+"‰ü¡H"¥  -z(‹° #ClÑÑ?˜—kÜáˆp8<â-»BòG$?E‹?|g&SDCºõpÅÕr	f’LBI%þòÈ®â&b	A,Ç%p¨"U4&F Y­™”¤É&WR	$œtÂG"á*im±'Œåyâß2¿g-r0ð‰$8K‚ÇEÑ‡À €rP(Gƒ("þÕXñ_´Á€(SK2
AQ’$¥Ì[™R¬;EþŒBÍ´…ïi!§)˜bŠ(8ôÃ)¤€‹Š°)<š7Ã"ÎX„Ù7f‘Š@ªBÈ'8OBÈ&9ìñm"¥Ä@[0(úMGc€^¬ÂJ+®¼R ,±È‚È#¦l‚óÆþî1ËÖX´…'<01-µXÁ‰M°aË-ÿ,‚K.ÿðþ.3`ÊÔ“LÂ1³ 0ƒBìˆ»¨Q\ÙM¨öÅÒ½þ·ÀÂK/¾ø…ù€a° ÆCÚð9Á¦øG1~q‹bcÆ8Æ?‘M(cÌh†3žÑÍ?`—¦ã¿ ïˆQXÜ"£Æ1¦ÑjüO°ø…IªaTãGÄF‘ølTC‰ÿbµa’llÃ×À7œ˜Å#ncÙøÇ6¸!$šñ'×¸ÿ¡0¦ñ×c6ÖÈÆ8šF" ;0707010004817d000081a40000000000000002000000013d1fe2d2000001b2000000200000000000000000000000000000001b00000003reloc/bind8/images/soa.gif    GIF89a0 0 ã  ÿÿÿãããrrrUUU   ªªªÇÇÇ999ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®lë’041E_!×´Ã w µ'†@"¼É,$š4Ä&<Âáxƒ—)A£F0,M|§ç5! 	È@	M|zv5€@†\‰5egŽQar“}xNŸ•Œ3cNƒzZ=k`¡Ž£GJ ¶šN6¨¼!´Ä¸¹ª4½¬gÁ£Í6!Ï1Á¢ÕÈØ¯GßÕ¿àqH“ì —}¸Øä4¾ 	áÆ\Žµ Œè¢ '®XZ‚w§B	Þ†YX´¦ÒÃ
¡†IC³N›ÙkhI"5ë}ò—Å$°,	P]©1’!znº$¶1È€ô ô{ãCÙ‹}Ø´tŠC§?„Êé…Õ«X³jÝÊµ«×¯`ÃŠ½ ;  0707010004817e000081a40000000000000002000000013d1fe2d20000076e000000200000000000000000000000000000001c00000003reloc/bind8/images/stub.gif   GIF89a0 0 ç  ÿÿÿþþýýüúôèòÜÇßþøúáÑÝæÉÞþÛùöæñÅ£¿ÝÁ¼ùþúèíïãÜÇëÜèìÖåéÒãäÄÙÞ¹ÕÛ´ÐØ­ÎÏÁÂâéäôìøòâôðÞéÝ¼ÕöïöòäîÚ¿Îß­ÔÂ¡¾þçüËÞÄá³ØÕ´ÍØ¿ÝÕ£ÈÑšÃÞ™ÕõõùöìòþþÛúúøã¹Ù×ªÊÑ®ÒÕÊÛîÛêþïøþãöÚ¼ÈèÏáá¿ÖÚ¯ÎñþüÏÂÙîþíóòãõõêôþíþëÙøøòþ×åççËåäÆäâÄââ½àÞºÇÇÀûõîààºÜØ²ÖÖ¤þëùèèÖÜÜ³ÕÕžÓÒšÒÛ”þþìððÞèìÕíìÕáãÄÞÞ·ÚÚ­ØØªÑÑÎÎœïïÙëêÒèêÎÕÕ²ÌËƒÎÎ‰ÇÕ‚öøí¿Õ‚òò÷ÊÈƒÑÏÜÎ®ÈÅ…þà¾þþÊÇÏˆÖÉ¢þðâñöéæþÉøüïÑÁ‚þçÎÕÒžÐ½‚åÕÏÝçËÂÂ„¸ÄÛÆ¢ÕÚþïÉÃÜÂ¼Ù½·ÕÅ¯Â¶±Ò­§Ñ½½¨îþÜÑÝ¶ñðøÜÜÄÉÓåÍÉà¾¹Õ»µÕ³­ÒçþýÜÐÈØÛ«êþØÓÍâ¸³Ô­µÐàÜíÛ×éØÕæÕÑå¿§ÊÜÈ¿ØØ¾ÍÖ¢ÜÛéæãïÃÃÙþØýàæºèæñ°«ÎÃÞÕìçóãáô¿½Ù¦¡¾íëö²ÅÒÁ¡Õ½½‚üõüÓË†¿Ò¥qno888TTT/03~{Ž¸·¿ÌÊÔ†‚’A@FÜÅ¶ÞÞ¦ÃÃÁÆÆÅIBJžœ¤}Ñâ–©©¨656¸´½   HGLŽ‹˜v…qqqTMTŒˆ–¦¿ÂDCJzwuŽ887ââáŒ¦©¦™©¨¨¦UUUŽŽŽªªª999ÇÇÇãããrrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH± €
TÜ(àŸ(XÀ`ãÃ@ˆp@Â
,˜lxC+[N˜PaÃL†8tÀéÂN
@„(ù¡ˆC+Œ QbL'P4=˜‚ƒŠ|
\qõ‰­Yp€ú€`˜.N¼@[F¨1È˜qÀj…
+è¤ñg–6`’`*x À²ty£Â	Î ‚Ã*ÀÌ¡1³@n  á Ï.tÐM±ƒŽ>|üûñˆŽ7n˜"d‘!EŒ<‚¡†Ì†?Ž$	ÿV(YÂøç‘GXþ,a„ø!HŠ4i‚D‰“'P¢4"…‡&S¨”R…+M\…{Od¡E`3ñÀÃ;lA]˜‡ÄV¨„fñE‚G,Ø TDXÜ„ Zˆá`„a’,ˆá¡ƒ\ìWz%øžVôÃ?ð@Æ‡
‘…H”aF€b˜EgÌä¢‚@:FÅ	¡ÆNØX `€ÁF‘áF;Há oD¤|pÄJfÆeP1‘ ?ä¹ ™S(! ü…°rÌç–_ÌIEQüà"ƒ[pQGv8€Þ„
çœ_ÜAx”‡ÝÄ‚ždð)DX8Adþe”ÁFnÉ©íÁGFøñ €”úQÀñhƒ["‚ QÅ >òO!>Áe¬h¤ðƒ †¢+"‰ü¡H"¥  -z(‹° #ClÑÑ?˜—kÜáˆp8<â-»BòG$?E‹?|g&SDCºõpÅÕr	f’LBI%þòÈ®â&b	A,Ç%p¨"U4&F Y­™”¤É&WR	$œtÂG"á*im±'Œåyâß2¿g-r0ð‰$8K‚ÇEÑ‡À €rP(Gƒ("þÕXñ_´Á€(SK2
AQ’$¥Ì[™R¬;EþŒBÍ´…ïi!§)˜bŠ(8ôÃ)¤€‹Š°)<š7Ã"ÎX„Ù7f‘Š@ªBÈ'8OBÈ&9ìñm"¥Ä@[0(úMGc€^¬ÂŠOÐÑŠ+¯ÀË#²Ì‚óÆþÒRËÖX´…'<01†-·XÁ‰M°!„@‹¼‹+å¢Ë»ð2õ$“pÜK-Ì  ¾â.jWvªô÷ý’0Á3LùÄ(†1Žñ
Wüâ!mø€œ`SÃp2rñd(CÃØÄ2˜Ñg<C Ç€ÆCtóØ¥	!ÐˆÆ0 ñ
iŒbÿP3¦AWälJ5¬1j\Ã‡=ÿ€á?|øC`#[Ñ6¬qmpCÕØ†6¸akã×F«!,"Q ×Ð†6®‘lˆ1d4D ;  0707010004817f000081a40000000000000002000000013d1fe2d200000131000000200000000000000000000000000000001c00000003reloc/bind8/images/text.gif   GIF89a0 0 Â  `d`˜˜˜ÈÌÈøüø   ÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  äxºÜþ0ÊI«½8ëÍ»ÿ`Hdižhª®²¾pL‚x®ï|ïç@P;ÌHä ¹T*PaJ´E¯X``X$ý˜Ì¬O°­oâtÌµú’fX=`›½ô|½ÜE÷àMzZmg‚tv}r:pO†{„xŽYˆVŒ8s’w~™Q”…˜Œ‚Ÿ‘P¥7–r£†©§W¯€—¢Šy¯°¨|n¹c»…½¾ª£µ˜j¸Á<²q‹³’S›ÊkBw4DÙÚÛÜÝÞÞ
ØßãäåE"åèd¢I ëíî[ñ0öúûüýþÿ 
‘  ;   07070100048182000081a40000000000000002000000013d1fe2d20000081b000000200000000000000000000000000000001c00000003reloc/bind8/images/view.gif   GIF89a0 0 ç  >>Dž¢œnrlÒÒÌŠŠ„ZZ\ºº´êêäNNL––Œ®®¤z~|ÂÆÄÚÞÜFFDffdööôŽ’Œ²¶´ÎÎÌzztšžœÊÆÌææÜ¦ª¤VVT††„vrt’ŽŒNJLnnlúþüFBDÚÚÔŠŽŒbbd¾Â¼®²¬ââÜ¦¦œb^dòòìVR\šš”‚~„ÆÊÄJJLþúüBBDrvtÖÖÌ^^\RRTÆÆÌjjlúúô–’”¶¶¼¢žœÊÊÄŽŽ”¢¢œrrl¾¾¼îîìRNTš–œ®®´~~|ÆÆ¼ÞÞÔJFLjfl’’Œ¶¶¬žžœææìªª¤ZV\Š†ŒvvtrntŽŽ„ÂÂ¼²²¬æâäÎÊÌB>DÒÒÔŠŠŒ^Zdºº¼êêìNNT––”®®¬FFLfflööüzz|ææäVV\††ŒNJTnntþþüFBLÚÚÜââä¦¦¤òòôššœ‚‚„JJTBBLÖÖÔ^^dúúüÊÊÌ¢¢¤rrt~~„ÆÆÄÞÞÜ’’”¶¶´žž¤ªª¬vv|ŽŽŒÂÂÄ²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ÓH° Áƒ*\È°¡Ã‡#2¬‚Ä‹ë°Á2å;_ô`ÙcãÂŠ{&|Y‚‡'gÊx€ÇuL¬ãfÀ–>èÐ Ó%ƒ4ä¡c	S8vnèLSg@">€pàŽ2@nÜxqÂ {¨h ðgNÎ‹¶H3#cú”LXÇÄ„ú¸‘è¦”2`â¸1Â‡·
?@˜SdI 6!üˆ1oüÐBŠ–py(Ž
9rfLHCZ`Nurßøb ¨,qË0­ Ê¬øÂÍš-Kø !2Ÿ?[€¬ù@¦" ¨þèèQ¥·Â	xŽ ¸¢çiSFÐ2ÂÆ6Ê¨¹Òåè!ÕTm–Ð=  a¼Ð=¸@¤ÀÆ$¤P®W†_ü&‚^xð ;(x"t KÄeäa€@ cÜ¡Ám ¡ H"ƒzÀñÆh<`F)tÃ„H‡rdð‡ƒðF€q… ÀVÆ9Ì€$’G<`CZŒ€Ä^è™o¸ð& 081G
,àÃ"º \â›d0‚(¨Æ	ôA(Šd{ÔÑ†z‰–Š$¢ž"	†”1BþH°Uc¼‰¨?ÔñšÚê©¢Ž^‘* q Ð…
#°Ü@lt°( Gàñ‚ øŠ(~þy¯ Øà°Â®zxü@Ð ÏÊ_È1£°oÂÃ¤ª‚¢#ì‡§‡åÄM¸hÆŸ#„qÇ£º;HßzjC½Â2áŸyÆm`&¨P€0¸ ÂÎ:ã©HÚàÁÉ³1ÆÉoÞ¥Áo‘ È¢BÌ F ;à¯¶ /#iG/ÒiÂ.<ðE•iìñ’adFT  ° \ê	¼‰E7„CˆˆÂ  4C¸ Ãœáƒ°A*þpÐpê°?T€*¹í©HÂ †Ì1Ð?´AE.Ä C
ð¦Tëõ| ‘ÅŒ607…‡öz™Ú¶	i¤Ä0™HÒÐ‡ G¾‰Àu\0¢9”Px&¸Í,YŒ±6X´Bâ"TdÇ bÑT<H‡d‡A0,ñ€¢fì){nìÁÀx0 x€dS@`^N)ÁäÐ=<Æo ƒîp3$ÁE| f 6Ø!yWx@Ö^@7¡B3XŽB€˜a#ðTÜ‡² ‚8 ¾`Ì 8 dð†¼Áò@ÐÃ–Ð(£Á¬¢›ô†?Ä€@,È ˜ÂÄà.L@!Ðƒh0£ý iÉÉjã2d0AÞ0èa
}H„d€ëñ u’  ¡
2èCø0¸À9øÂƒÔ°‡©0ä =PÖ ™oÁà–ŒL
È’| À ò0ÈP¤¤©Ãî@F$±€|®Dˆdöƒ%,áeXZ™Kª¸A4s„jPL†¼€	~‚¾°Äfî¤+(À&k"äs¾@o.„‹n09×ÉÎvæ2  ; 07070100048187000081a40000000000000002000000013d1fe2d200000276000000200000000000000000000000000000001d00000003reloc/bind8/images/whois.gif  GIF89a0 0 „     nYQiÝ´*™™3—Ã33 ÿÌ3s”333ÌÌÌ‹³ÿÿÿ 33™™™fffPPP¯¯¯<M%ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ`#Ždižhª®lë¾p,Ïtmßøù@	àû	È#—R@~>‡@0qü"
âHÑ “ƒQèv`4÷ð€ÀËî2ÜÑ08 D› 6GgvWk{†W	4„†v€{	”x‚1e…”†š †i q/
 ¤”W\mVx ºc-=u´†xz{N>o‘-±£Äv ™šÙ^©À* Ó¬=Ö×¸ -Váh>‹å{aÝ:ªë‡jïš C*Gõv€ô(Âç%ÐŠŽhY"0,M…
>&ÜzÇi —H!ÁÈËÌ
î1cñÇ*;iü  ÑQ€a½N}Y9A— + ÐèÇ1}'5’Sv.‹kôQP´d=ZX
ÚÓbl×R©«tç'AÙáT‘€\9N^Z5À’a¼]q„`—0?fÕ3¨¢Ì1‚$¦ŠK+?Qí²8lÚy'¾MTœJ©4èXÄ
‰o¤™p]ôà"@×ÒÉ^ôÑ	—æ4 /^‚ºËÅu€ ÷ý\)q›F ]É˜TŠ‚¦0Ó>Ñø6ê
*Uí@t±Žã{´nýÃ×F™‹÷41<àŠðT"þm“ªgÝ6ŒüpÀ”	Q(Rtð@"KHþÿ (à€hB ;  0707010004818a000081a40000000000000002000000013d1fe2d20000069c000000200000000000000000000000000000001f00000003reloc/bind8/images/zonedef.gif    GIF89a0 0 ç  þþü´©Ó¢ÄÌ“¼‰EwÒÌÒ™“‰à¾ÖÚ®ÍÈ‰¶½s¨ºi£²YšŸI‡ÇÂÁíØæåÈÝ³Z›îßêÂ~®±V™¶dŸ­c˜«D£0‡íéëòäíÖ§È¢XúõøÝµÑ®Q•¶_ÍÍ‘ÐÏ•ËË‹ÈÆ‚ÆÅ~ÂÁvŽQÀÀŽ´´g«ªBèçÌÒÓÓÔ½½n»ºe¶¶^³²U®®K§¦8¤£+íëÓåäÂÒÒªÜÚ®ØÙ§¤¢-  "ïî×àà·˜—	óóãððÜ›šƒ ööêÄÃ{ÔÕŸžž"ÍËÄÄ{Ž¡ '›šÜÛ¯¦¦5‹ ÅÄ~‰† ˜– êêÑÞÝ³­¬FÁÁƒ³²Q–” øùðàß·ÚÚªØ×¦¬¬~··~rgŸÛÚ®ÉÊˆ¨¦:ÊÉ‹•”®®L‘†º†{µzo¥od§e^†la¥`UžYN–ûûõ¸·bÉÉˆ¢¡B¡¡W’‘ ›‘Â|q¯uj«g[¡ÊÊˆ¤›Ç€t²yn­rf©×Ù¦Ã»Ú»´Ö°¨Ï«¡Ë’’5ÌÄßMC‚……pììÔÓÌäâÞçßÚëÙÔç¬«Eöóùçãðƒ|¡ââ»êéÎ•”zHH8FG5..!‡‡\„ƒ	GG‚|‘<9Fmg„ŠŠdTTTÀ¿rœše˜—©©¨><G¶­Ò   ¢¡-qqMYX:P**>>!qqp888ŒÆÆÄââàMKPšysŒ_Yq95CYSw„…V@?&¦¥Y©¨8*&;2ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHñ`€Š
  Œ8€`c4 ÉÐÁ$M¢dåB`"˜°@ÁÌ6xy€Bf^À€!¨Á^nà@pA„¥œì‚‚3?0ÕJÐÂ¢žLÉ€¬ADKHÀ“AV·sB{D„
x&@°`ÂFhR<D…Ç ðqÁš ŒÆBÄ%Lœ°l…gÐ&RTávÅ@-N‡vñF*fÐpZc…8rÄþ<»öíÜ:vØäÑÛFàÃQÓ¶{Fr  iþ\¸lÓþ["äí¾»G/A$|õä6p^d„‘#H’(1þ~Ç–è9‡M8@O…
â%·DQ`$E€=LAÅ@$T1Vô÷à…vÍe¡AU”@F"E#R¸]tQjàÕÖâåä…C1r÷.X†%¼Ä’cœ.&APfœFj¬ÁÆAm™Þ=àÆp‡‡WÈÅ@eÌA%u¨aÇaqwLÇ5èŸk¦!nš‘‡{Ø±¥AmhG!|” @Ô=ùŸ@}øñ „z(s.º¡1Ÿp\TÂ	'ð÷$vþ ø!H¦›Ú1 ƒÔçœ·4Å©ëåX©uþ$È¬~¨Q{dI§A„’tß¹gi„ bH}dFh$ô¨wÄ	ëç¥‡ ’È¬¥aœ½dê´äJgŠ;Ð"Œ bÈ¬TÆÀyÀ™#Ø I$’LBI%öÂ ƒ%—`¢AÐ‡¿‚d¢	 ›J‡²	™ð'8¡ˆ'Ÿ€R\( ˆÒIBs$bH&£R
fˆª)2t
*%¤¢Ê*¬ ÐÊ%®¼ÒJ'­À@) 8‹,³ŒBK)µØòt'R+´@·à’‹.»ìÀŠ+A7@'¢L-/™]Ê½ÄýŠj+3Ü—t5Ü3¿"ø%qSý¶(vÇ|I+¬„ß­0>3 ¯Àô%RÃ-÷âg+—O^¹(¤Ô	ÛQoîŠ+—$Í´+¥X>µ(®Î·Bš3þ
AŒËïšgwñ¢¯·(¿“æP@ ;07070100027280000081e40000000000000002000000013d1fe2d20000166d000000200000000000000000000000000000001c00000003reloc/bind8/delete_zone.cgi   #!/usr/local/bin/perl
# delete_zone.cgi
# Delete an existing master, slave or secondary zone, and it's records file

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}];
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf) ||
	&error($text{'master_edelete'});
$access{'ro'} && &error($text{'master_ero'});
$access{'delete'} || &error($text{'master_edeletecannot'});

$rev = ($zconf->{'value'} =~ /in-addr\.arpa/i || $zconf->{'value'} =~ /\.ip6\.int/i);
$type = &find("type", $zconf->{'members'})->{'value'};
if (!$in{'confirm'}) {
	# Ask the user if he is sure ..
	&header($text{'delete_title'}, "");
	print "<hr>\n";

	print "<center><p>\n";
	if ($type eq 'hint') {
		print $text{'delete_mesg2'},"<p>\n";
		}
	else {
		print &text('delete_mesg', "<tt>".&ip6int_to_net(&arpa_to_ip(
			$zconf->{'value'}))."</tt>"),"<p>\n";
		}
	print "<form action=delete_zone.cgi>\n";
	print "<input type=hidden name=index value=$in{'index'}>\n";
	print "<input type=hidden name=view value=$in{'view'}>\n";
	print "<input type=submit name=confirm value='$text{'delete'}'><br>\n";
	if ($type eq 'master') {
		print $text{$rev ? 'delete_fwd' : 'delete_rev'},"\n";
		print "<input type=radio name=rev value=1 checked> $text{'yes'}\n";
		print "<input type=radio name=rev value=0> $text{'no'}<br>\n";

		&foreign_require("servers", "servers-lib.pl");
		@servers = grep { $_->{'user'} } &servers::list_servers();
		if (@servers && $access{'remote'}) {
			print "$text{'delete_slave'} <select name=slave>\n";
			print "<option value=''>&nbsp;\n";
			foreach $s (@servers) {
				printf "<option value=%s %s>%s\n",
				    $s->{'host'},
				    $s->{'host'} eq $config{'default_slave'} ?
					'selected' : '',
				    $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
				}
			print "</select><br>\n";
			}
		}
	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

if (!$rev && $in{'rev'} && $type eq 'master') {
	# find and delete reverse records
	local $file = &find("file", $zconf->{'members'})->{'value'};
	&lock_file($config{'chroot'}.$file);
	@recs = &read_zone_file($file, $zconf->{'value'});
	foreach $r (@recs) {
		next if ($r->{'type'} ne "A" && $r->{'type'} ne "AAAA");
		($orevconf, $orevfile, $orevrec) =
			&find_reverse($r->{'values'}->[0], $in{'view'});
		if ($orevrec && &can_edit_reverse($orevconf) &&
		    $r->{'name'} eq $orevrec->{'values'}->[0] &&
		    ($r->{'type'} eq "A" &&
		     $r->{'values'}->[0] eq &arpa_to_ip($orevrec->{'name'})
		     || $r->{'type'} eq "AAAA" &&
		     &expandall_ip6($r->{'values'}->[0]) eq &expandall_ip6(&ip6int_to_net($orevrec->{'name'})))) {
			&lock_file($config{'chroot'}.$orevrec->{'file'});
			&delete_record($orevrec->{'file'} , $orevrec);
			&lock_file($config{'chroot'}.$orevfile);
			@orrecs = &read_zone_file($orevfile,
						  $orevconf->{'value'});
			&bump_soa_record($orevfile, \@orrecs);
			}
		}
	}
elsif ($rev && $in{'rev'} && $type eq 'master') {
	# find and delete forward records
	local $file = &find("file", $zconf->{'members'})->{'value'};
	&lock_file($config{'chroot'}.$file);
	@recs = &read_zone_file($file, $zconf->{'value'});
	foreach $r (@recs) {
		next if ($r->{'type'} ne "PTR");
		($ofwdconf, $ofwdfile, $ofwdrec) =
			&find_forward($r->{'values'}->[0]);
		if ($ofwdrec && &can_edit_zone(\%access, $ofwdconf) &&
		    ($ofwdrec->{'type'} eq "A" &&
		     &arpa_to_ip($r->{'name'}) eq $ofwdrec->{'values'}->[0] 
		     || $ofwdrec->{'type'} eq "AAAA" &&
		     &expandall_ip6(&ip6int_to_net($r->{'name'})) eq &expandall_ip6($ofwdrec->{'values'}->[0])) &&
		    $r->{'values'}->[0] eq $ofwdrec->{'name'}) {
			&lock_file($config{'chroot'}.$ofwdrec->{'file'});
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			&lock_file($config{'chroot'}.$ofwdfile);
			@ofrecs = &read_zone_file($ofwdfile,
						  $ofwdconf->{'value'});
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		}
	}

# delete the records file
$f = &find("file", $zconf->{'members'});
if ($f && $type ne 'hint') {
	&lock_file($config{'chroot'}.&absolute_path($f->{'value'}));
	unlink($config{'chroot'}.&absolute_path($f->{'value'}));
	}

# remove the zone directive
&lock_file($config{'chroot'}.$zconf->{'file'});
$lref = &read_file_lines($config{'chroot'}.$zconf->{'file'});
splice(@$lref, $zconf->{'line'}, $zconf->{'eline'} - $zconf->{'line'} + 1);
&flush_file_lines();
&unlock_all_files();
&webmin_log("delete", &find("type", $zconf->{'members'})->{'value'},
	    $zconf->{'value'}, \%in);

# remove from acl files
&read_acl(undef, \%wusers);
foreach $u (keys %wusers) {
	%uaccess = &get_module_acl($u);
	if ($uaccess{'zones'} ne '*') {
		$uaccess{'zones'} = join(' ', grep { $_ ne $zconf->{'value'} }
					      split(/\s+/, $uaccess{'zones'}));
		&save_module_acl(\%uaccess, $u);
		}
	}

# Also delete from slave server
if ($in{'slave'} && $access{'remote'}) {
	&error_setup($text{'delete_err2'});
	&remote_error_setup(\&slave_error_handler);
	&remote_foreign_require($in{'slave'}, "bind8", "bind8-lib.pl");
	$slave_error && &error($slave_error);

	$sparent = &remote_foreign_call($in{'slave'}, "bind8",
					"get_config_parent");
	$sconf = $sparent->{'members'};
	foreach $z (&find("zone", $sconf)) {
		$szconf = $z if ($z->{'value'} eq $zconf->{'value'});
		}
	$szconf || &error($text{'slave_ezone'});
	&remote_foreign_call($in{'slave'}, "bind8", "save_directive", $sparent,
			     [ $szconf ], [ ]);
	&remote_foreign_call($in{'slave'}, "bind8", "flush_file_lines");
	}

&redirect("");

# can_edit_reverse(&zone)
sub can_edit_reverse
{
return $access{'reverse'} || &can_edit_zone(\%access, $_[0]);
}

sub slave_error_handler
{
$slave_error = $_[0];
}

   07070100027281000081e40000000000000002000000013d1fe2d200000739000000200000000000000000000000000000001900000003reloc/bind8/dns_boot.cgi  #!/usr/local/bin/perl
# dns_boot.cgi
# Create an empty named.conf file and start the name server

require './bind8-lib.pl';
&error_setup($text{'boot_err'});
&ReadParse();

$config{'named_conf'} =~ /^(\S+)\/([^\/]+)$/;
$conf_directory = $1;
$pid_file = $config{'pid_file'} || "/var/run/named.pid";
&lock_file($config{'chroot'}.$config{'named_conf'});
&lock_file("$config{'chroot'}$conf_directory/db.cache");
$conf_temp = &tempname("webmin.named.conf");
open(BOOT, ">$conf_temp");
print BOOT "options {\n";
print BOOT "\tdirectory \"$conf_directory\";\n";
print BOOT "\tpid-file \"$pid_file\";\n";
print BOOT "\t};\n";
print BOOT "\n";
mkdir("/var/run", 0755);
if ($in{real} == 0) {
	# Create an empty root domain file... no need to do anything here
	}
elsif ($in{real} == 1) {
	# Try to download the root servers file from
	# ftp://rs.internic.net/domain/named.root
	&ftp_download("rs.internic.net", "/domain/named.root", 
		      "$config{'chroot'}$conf_directory/db.cache");
	print BOOT "zone \".\" {\n";
	print BOOT "\ttype hint;\n";
	print BOOT "\tfile \"$conf_directory/db.cache\";\n";
	print BOOT "\t};\n";
	print BOOT "\n";
	}
elsif ($in{real} == 2) {
	# Use builtin db.cache
	system("cp ./db.cache $config{'chroot'}$conf_directory/db.cache 2>/dev/null");
	print BOOT "zone \".\" {\n";
	print BOOT "\ttype hint;\n";
	print BOOT "\tfile \"$conf_directory/db.cache\";\n";
	print BOOT "\t};\n";
	print BOOT "\n";
	}
close(BOOT);
system("cp $conf_temp $config{'chroot'}$config{'named_conf'} 2>/dev/null");
unlink($conf_temp);
&unlock_file("$config{'chroot'}$conf_directory/db.cache");
&unlock_file($config{'chroot'}.$config{'named_conf'});
&set_ownership("$config{'chroot'}$conf_directory/db.cache")
	if ($in{'real'} == 2 || $in{'real'} == 1);
&set_ownership($config{'chroot'}.$config{'named_conf'});
&webmin_log("boot");
&redirect("start.cgi");

   07070100027282000081e40000000000000002000000013d1fe2d2000009e4000000200000000000000000000000000000001d00000003reloc/bind8/edit_forward.cgi  #!/usr/local/bin/perl
# edit_forward.cgi
# Display options for an existing forward zone

require './bind8-lib.pl';
&ReadParse();
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) || &error($text{'fwd_ecannot'});
&header($text{'fwd_title'}, "");
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

print "<hr>\n";
print "<form action=save_forward.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<input type=hidden name=view value=\"$in{'view'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'fwd_opts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &address_input($text{'fwd_masters'}, "forwarders", $zconf);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'fwd_forward'}, "forward", $zconf,
		    $text{'yes'}, "first", $text{'no'}, "only",
		    $text{'default'}, undef);
print &choice_input($text{'fwd_check'}, "check-names", $zconf,
		    $text{'warn'}, "warn", $text{'fail'}, "fail",
		    $text{'ignore'}, "ignore", $text{'default'}, undef);
print "</tr>\n";

print "</table></td></tr> </table><br>\n";

if ($access{'ro'}) {
	print "</form>\n";
	}
else {
	print "<table width=100%><tr><td align=left>\n";
	print "<input type=submit value=\"$text{'save'}\"></td></form>\n";

	@views = &find("view", $bconf);
	if ($in{'view'} eq '' && @views || $in{'view'} ne '' && @views > 1) {
		print "<form action=move_zone.cgi>\n";
		print "<input type=hidden name=index value=\"$in{'index'}\">\n";
		print "<input type=hidden name=view value=\"$in{'view'}\">\n";
		print "<td width=33% align=middle>\n";
		print "<input type=submit value=\"$text{'master_move'}\">\n";
		print "<select name=newview>\n";
		foreach $v (@views) {
			printf "<option value=%d>%s\n",
			    $v->{'index'}, $v->{'value'}
				if ($v->{'index'} ne $in{'view'});
			}
		print "</select></td></form>\n";
		}
	else {
		print "<td></td>\n";
		}

	print "<form action=delete_zone.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<td align=right><input type=submit ",
	      "value=\"$text{'delete'}\"></td></form>\n";
	print "</tr></table>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

07070100027283000081e40000000000000002000000013d1fe2d300000389000000200000000000000000000000000000001a00000003reloc/bind8/edit_hint.cgi #!/usr/local/bin/perl
# edit_hint.cgi
# Display information about the hint (root) zone

require './bind8-lib.pl';
&ReadParse();
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'hint_ecannot'});

&header($text{'hint_title'}, "");
print "<hr>\n";

print $text{'hint_desc'},"<p>\n";

print "<table width=100%> <tr>\n";
print "<form action=delete_zone.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<input type=hidden name=view value=\"$in{'view'}\">\n";
print "<td align=right width=50%><input type=submit ",
      "value=\"$text{'delete'}\"></td></form>\n";
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100027284000081e40000000000000002000000013d1fe2d20000129d000000200000000000000000000000000000001c00000003reloc/bind8/edit_master.cgi   #!/usr/local/bin/perl
# edit_master.cgi
# Display options and directives in an existing master zone

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'zone'}) {
	foreach $z (@$conf) {
		if ($z->{'value'} eq $in{'zone'}) {
			$zconf = $z->{'members'};
			$zone = $z;
			$in{'index'} = $z->{'index'};
			$dom = $in{'zone'};
			}
		}
	}
else {
	if ($in{'view'} ne '') {
		$conf = $conf->[$in{'view'}]->{'members'};
		}
	$zconf = $conf->[$in{'index'}]->{'members'};
	$zone = $conf->[$in{'index'}];
	$dom = $conf->[$in{'index'}]->{'value'};
	}
%access = &get_module_acl();
&can_edit_zone(\%access, $zone) || &error($text{'master_ecannot'});
&header($text{'master_title'}, "");
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

print "<hr><p>\n";
@recs = grep { !$_->{'generate'} }
	     &read_zone_file(&find("file", $zconf)->{'value'}, $dom);
if ($dom =~ /in-addr\.arpa/i || $dom =~ /\.ip6\.int/i) {
	@rcodes = ("PTR", "NS", "CNAME", "ALL");
	}
else {
	@rcodes = ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "WKS", "RP", "PTR", "LOC", "ALL");
	if ($config{'support_aaaa'}) {
		push(@rcodes, "AAAA");
		}
	}
foreach $c (@rcodes) { $rnum{$c} = 0; }
foreach $r (@recs) {
	$rnum{$r->{'type'}}++;
	$rnum{"ALL"}++ if ($r->{'type'} ne "SOA");
	if ($r->{'type'} eq "SOA") { $soa = $r; }
	}
if ($config{'show_list'}) {
	# display as list
	$mid = int((@rcodes+1)/2);
	print "<table width=100%> <tr><td width=50%>\n";
	&types_table(@rcodes[0..$mid-1]);
	print "</td><td width=50%>\n";
	&types_table(@rcodes[$mid..$#rcodes]);
	print "</td></tr> </table>\n";
	}
else {
	# display as icons
	for($i=0; $i<@rcodes; $i++) {
		push(@rlinks, "edit_recs.cgi?index=$in{'index'}&".
			      "view=$in{'view'}&type=$rcodes[$i]");
		push(@rtitles, $text{"type_$rcodes[$i]"}.
			       " ($rnum{$rcodes[$i]})");
		push(@ricons, "images/$rcodes[$i].gif");
		}
	&icons_table(\@rlinks, \@rtitles, \@ricons);
	}
$file = &absolute_path(&find("file", $zconf)->{'value'});

# links to forms editing text, soa and zone options
if ($access{'file'}) {
	push(@links, "edit_text.cgi?index=$in{'index'}&view=$in{'view'}");
	push(@titles, $text{'master_manual'});
	push(@images, "images/text.gif");
	}
if ($access{'params'}) {
	push(@links, "edit_soa.cgi?index=$in{'index'}&view=$in{'view'}");
	push(@titles, $text{'master_soa'});
	push(@images, "images/soa.gif");
	}
if ($access{'opts'}) {
	push(@links, "edit_options.cgi?index=$in{'index'}&view=$in{'view'}");
	push(@titles, $text{'master_options'});
	push(@images, "images/options.gif");
	}
if ($access{'findfree'}) {
	push(@links, "find_free.cgi?index=$in{'index'}&view=$in{'view'}");
	push(@titles, $text{'findfree_desc'});
	push(@images, "images/findfree.gif");
	}
push(@links, "list_gen.cgi?index=$in{'index'}&view=$in{'view'}");
push(@titles, $text{'gen_title'});
push(@images, "images/gen.gif");
if ($access{'whois'} && &has_command($config{'whois_cmd'}) &&
    $dom !~ /in-addr\.arpa/i) {
	push(@links, "whois.cgi?index=$in{'index'}&view=$in{'view'}");
	push(@titles, $text{'master_whois'});
	push(@images, "images/whois.gif");
	}

if (@links) {
	print "<hr>\n";
	&icons_table(\@links, \@titles, \@images);
	}

$apply = $access{'apply'} && &has_command($config{'ndc_cmd'});
if (!$access{'ro'} && ($access{'delete'} || $apply)) {
	print "<hr>\n";
	print "<table width=100%>\n";
	if ($access{'delete'}) {
		print "<form action=delete_zone.cgi>\n";
		print "<input type=hidden name=index value=\"$in{'index'}\">\n";
		print "<input type=hidden name=view value=\"$in{'view'}\">\n";
		print "<tr><td>\n";
		print "<input type=submit value=\"$text{'master_del'}\">\n";
		print "</td> <td>$text{'master_delmsg'}\n";
		if ($dom !~ /in-addr\.arpa/i && $dom !~ /\.ip6\.int/i) {
			print "$text{'master_delrev'}\n";
			}
		print "</td> </tr></form>\n";
		}
	if ($apply) {
		print "<form action=restart_zone.cgi>\n";
		print "<input type=hidden name=index value=\"$in{'index'}\">\n";
		print "<input type=hidden name=view value=\"$in{'view'}\">\n";
		print "<tr><td>\n";
		print "<input type=submit value=\"$text{'master_apply'}\">\n";
		print "</td> <td>",&text('master_applymsg',
			"<tt>$config{'ndc_cmd'} reload $dom</tt>");
		print "</td> </tr></form>\n";
		}
	print "</table>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub types_table
{
if ($_[0]) {
	local($i);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'master_type'}</b></td> ",
	      "<td><b>$text{'master_records'}</b></td> </tr>\n";
	for($i=0; $_[$i]; $i++) {
		print "<tr $cb> <td><a href=\"edit_recs.cgi?",
		      "index=$in{'index'}&view=$in{'view'}&type=$_[$i]\">",
		      $text{"recs_$_[$i]"},"</a></td>\n";
		print "<td>$rnum{$_[$i]}</td> </tr>\n";
		}
	print "</table>\n";
	}
}

   07070100027285000081e40000000000000002000000013d1fe2d200000b9f000000200000000000000000000000000000001d00000003reloc/bind8/edit_options.cgi  #!/usr/local/bin/perl
# edit_options.cgi
# Display options for an existing master zone

require './bind8-lib.pl';
&ReadParse();
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'master_ecannot'});
$access{'opts'} || &error($text{'master_eoptscannot'});
&header($text{'master_opts'}, "");
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

# Form for editing zone options
print "<hr><a name=options>\n";
print "<form action=save_master.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<input type=hidden name=view value=\"$in{'view'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'master_opts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &choice_input($text{'master_check'}, "check-names", $zconf,
		    $text{'warn'}, "warn", $text{'fail'}, "fail",
		    $text{'ignore'}, "ignore", $text{'default'}, undef);
print &choice_input($text{'master_notify'}, "notify", $zconf,
		    $text{'yes'}, "yes", $text{'no'}, "no",
		    $text{'default'}, undef);
print "</tr>\n";

print "<tr>\n";
print &address_input($text{'master_update'}, "allow-update", $zconf);
print &address_input($text{'master_transfer'}, "allow-transfer", $zconf);
print "</tr>\n";

print "<tr>\n";
print &address_input($text{'master_query'}, "allow-query", $zconf);
print &address_input($text{'master_notify2'}, "also-notify", $zconf);
print "</tr>\n";

print "</table></td></tr> </table>\n";
print "<table width=100%><tr>\n";
print "<td width=33%><input type=submit value=\"$text{'save'}\"></td></form>\n";

@views = &find("view", $bconf);
if ($in{'view'} eq '' && @views || $in{'view'} ne '' && @views > 1) {
	print "<form action=move_zone.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<td width=33% align=middle>\n";
	print "<input type=submit value=\"$text{'master_move'}\">\n";
	print "<select name=newview>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n", $v->{'index'}, $v->{'value'}
			if ($v->{'index'} ne $in{'view'});
		}
	print "</select></td></form>\n";
	}
else {
	print "<td width=33%></td>\n";
	}

if ($access{'slave'}) {
	print "<form action=convert_master.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<td width=33% align=right>\n";
	print "<input type=submit value=\"$text{'master_convert'}\">\n";
	print "</td></form>\n";
	}
else {
	print "<td width=33%></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'master_return'});

 07070100027286000081e40000000000000002000000013d1fe2d2000003a5000000200000000000000000000000000000001c00000003reloc/bind8/edit_record.cgi   #!/usr/local/bin/perl
# edit_record.cgi
# Edit an existing record of some type

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}];
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'recs_ecannot'});
$file = &find("file", $zconf->{'members'})->{'value'};
@recs = &read_zone_file($file, $dom);
$rec = $recs[$in{'num'}];

&header(&text('edit_title', $text{"edit_".$rec->{'type'}}), "");
print "<center><font size=+2>",
      &text('edit_header', &ip6int_to_net(&arpa_to_ip($dom))),
      "</font></center>\n";
print "<hr>\n";

&record_input($in{'index'}, $in{'view'}, $in{'type'}, $file,
	      $zconf->{'value'}, $in{'num'}, $rec);
print "<hr>\n";
&footer("edit_recs.cgi?index=$in{'index'}&type=$in{'type'}",
	$text{'edit_return'});

   07070100027287000081e40000000000000002000000013d1fe2d20000102c000000200000000000000000000000000000001a00000003reloc/bind8/edit_recs.cgi #!/usr/local/bin/perl
# edit_recs.cgi
# Display records of some type from some domain

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'recs_ecannot'});
&header(&text('recs_title', $text{"recs_$in{'type'}"}), "");
print "<center><font size=+2>",
      &text('recs_header', &ip6int_to_net(&arpa_to_ip($dom))),
      "</font></center>\n";
print "<hr>\n";

$type = &find("type", $zconf)->{'value'};
$file = &find("file", $zconf)->{'value'};
&record_input($in{'index'}, $in{'view'}, $in{'type'}, $file, $dom)
	if (!$access{'ro'} && $type eq 'master' && $in{'type'} ne 'ALL');
@recs = grep { !$_->{'generate'} } &read_zone_file($file, $dom);
if ($in{'type'} eq "ALL") {
	@recs = grep { $_->{'type'} ne "SOA" } @recs
	}
else {
	@recs = grep { $_->{'type'} eq $in{'type'} } @recs
	}
if (@recs) {
	@recs = &sort_records(@recs);
	foreach $v (keys %text) {
		if ($v =~ /^value_(\S+)(\d+)/) {
			$hmap{$1}->[$2-1] = $text{$v};
			}
		}
	if ($in{'type'} =~ /HINFO|WKS|RP/ || $config{'allow_comments'}) {
		&recs_table(@recs);
		}
	else {
		$mid = int((@recs+1)/2);
		print "<table width=100%><tr><td width=50% valign=top>\n";
		&recs_table(@recs[0 .. $mid-1]);
		print "</td><td width=50% valign=top>\n";
		if ($mid < @recs) { &recs_table(@recs[$mid .. $#recs]); }
		print "</td></tr></table><p>\n";
		}
	print "<p>\n";
	}
print "<hr>\n";
&footer("edit_$type.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'recs_return'});

sub recs_table
{
local($r, $i, $j, $k, $h);
print "<table border width=100%>\n";
print "<tr $tb> <td><b><a href='edit_recs.cgi?index=$in{'index'}&view=$in{'view'}&type=$in{'type'}&sort=1'>",$in{'type'} eq "PTR" ? $text{'recs_addr'} : $text{'recs_name'}, "</b></td> ",$in{'type'} eq "ALL" ? "<td><b>$text{'recs_type'}</b></td>" : "", "<td><b>$text{'recs_ttl'}</b></td>\n";
@hmap = @{$hmap{$in{'type'}}};
foreach $h (@hmap) {
	print "<td><b><a href='edit_recs.cgi?index=$in{'index'}&view=$in{'view'}&type=$in{'type'}&sort=2'>$h</a></b></td>\n";
	}
if ($in{'type'} eq "ALL") {
	print "<td>$text{'recs_vals'}</td>\n";
	}
if ($config{'allow_comments'} && $in{'type'} ne "WKS") {
	print "<td width=50%><b>$text{'recs_comment'}</b></td>\n";
	}
print "</tr>\n";
for($i=0; $i<@_; $i++) {
	$r = $_[$i];
	$name = &html_escape($in{'type'} eq "PTR" ?
		    &ip6int_to_net(&arpa_to_ip($r->{'name'})) : $r->{'name'});
	if (!$access{'ro'} && $type eq 'master') {
		print "<tr $cb> <td><a href=\"edit_record.cgi?index=",
		      "$in{'index'}&type=$in{'type'}&num=$r->{'num'}&",
		      "sort=$in{'sort'}&view=$in{'view'}\">$name</a></td>\n";
		}
	else {
		print "<tr $cb> <td>$name</td>\n";
		}
	if ($in{'type'} eq 'ALL') {
		print "<td>$r->{'type'}</td>\n";
		}
	if ($r->{'ttl'} =~ /(\d+)([SMHDW]?)/i) {
		$r->{'ttl'} =~ s/S//i;
		if ($r->{'ttl'} =~ s/M//i) { $r->{'ttl'} *= 60; }
		if ($r->{'ttl'} =~ s/H//i) { $r->{'ttl'} *= 3600; }
		if ($r->{'ttl'} =~ s/D//i) { $r->{'ttl'} *= 86400; }
		if ($r->{'ttl'} =~ s/W//i) { $r->{'ttl'} *= 604800; }
		}
	print "<td>",$r->{'ttl'} ? &html_escape($r->{'ttl'}) : $text{'default'},"</td>\n";
	for($j=0; $j<@hmap; $j++) {
		local $v;
		if ($in{'type'} eq "RP" && $j == 0) {
			$v .= &convert_illegal(
				&dotted_to_email($r->{'values'}->[$j]));
			}
		elsif ($in{'type'} eq "WKS" && $j == @hmap-1) {
			print "<td>";
			for($k=$j; $r->{'values'}->[$k]; $k++) {
				$v .= &convert_illegal($r->{'values'}->[$k]);
				$v .= ' ';
				}
			print "</td>\n", 
			}
		elsif ($in{'type'} eq "LOC") {
			$v = &convert_illegal(join(" ", @{$r->{'values'}}));
			}
		else {
			$v = &convert_illegal($r->{'values'}->[$j]);
			}
		print "<td>$v</td>\n";
		}
	if ($in{'type'} eq "ALL") {
		print "<td>",join(" ", @{$r->{'values'}}),"</td>\n";
		}
	if ($config{'allow_comments'} && $in{'type'} ne "WKS") {
		print "<td>",$r->{'comment'} ? &html_escape($r->{'comment'})
					     : "&nbsp;","</td>\n";
		}
	print "</tr>\n";
	}
print "</table>\n";
}

07070100027288000081e40000000000000002000000013d1fe2d2000015f3000000200000000000000000000000000000001b00000003reloc/bind8/edit_slave.cgi    #!/usr/local/bin/perl
# edit_slave.cgi
# Display options for an existing slave or stub zone

require './bind8-lib.pl';
&ReadParse();
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'slave_ecannot'});
if ($0 =~ /edit_slave/) {
	&header($text{'slave_title'}, "");
	}
else {
	&header($text{'stub_title'}, "");
	}
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

if (&find("file", $zconf)) {
	$file = &find("file", $zconf)->{'value'};
	print "<hr><p>\n";
	@recs = &read_zone_file($file, $dom);
	if ($dom =~ /in-addr\.arpa/i || $dom =~ /\.ip6\.int/i) {
		@rcodes = ("PTR", "NS");
		}
	else {
		@rcodes = ("A", "NS", "CNAME", "MX", "HINFO",
			   "TXT", "WKS", "RP");
		if ($config{'support_aaaa'}) {
			push(@rcodes, "AAAA");
			}
		}
	foreach $c (@rcodes) { $rnum{$c} = 0; }
	foreach $r (@recs) {
		$rnum{$r->{'type'}}++;
		if ($r->{'type'} eq "SOA") { $soa = $r; }
		}
	if ($config{'show_list'}) {
		# display as list
		$mid = int((@rcodes+1)/2);
		print "<table width=100%> <tr><td width=50%>\n";
		&types_table(@rcodes[0..$mid-1]);
		print "</td><td width=50%>\n";
		&types_table(@rcodes[$mid..$#rcodes]);
		print "</td></tr> </table>\n";
		}
	else {
		# display as icons
		for($i=0; $i<@rcodes; $i++) {
			push(@rlinks, "edit_recs.cgi?index=$in{'index'}".
				      "&view=$in{'view'}&type=$rcodes[$i]");
			push(@rtitles, $text{"type_$rcodes[$i]"}.
				       " ($rnum{$rcodes[$i]})");
			push(@ricons, "images/$rcodes[$i].gif");
			}
		&icons_table(\@rlinks, \@rtitles, \@ricons);
		}
	}

if (@links) {
	print "<hr>\n";
	&icons_table(\@links, \@titles, \@images);
	}

print "<hr>\n";

if ($access{'opts'}) {
	print "<form action=save_slave.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<input type=hidden name=slave_stub value=\"$scriptname\">\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'slave_opts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr>\n";
	print &address_port_input($text{'slave_masters'},
				  $text{'slave_masterport'},
				  $text{'slave_master_port'}, 
				  $text{'default'}, 
				  "masters",
				  "port",
				  $zconf,
				  5);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'slave_max'}, "max-transfer-time-in",
			 $zconf, $text{'default'}, 4, $text{'slave_mins'});
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'slave_file'}, "file", $zconf, $text{'slave_none'}, 40);
	print "</tr>\n";

	print "<tr>\n";
	print &choice_input($text{'slave_check'}, "check-names", $zconf,
			    $text{'warn'}, "warn", $text{'fail'}, "fail",
			    $text{'ignore'}, "ignore", $text{'default'}, undef);
	print &choice_input($text{'slave_notify'}, "notify", $zconf,
			    $text{'yes'}, "yes", $text{'no'}, "no",
			    $text{'default'}, undef);
	print "</tr>\n";

	print "<tr>\n";
	print &addr_match_input($text{'slave_update'}, "allow-update", $zconf);
	print &addr_match_input($text{'slave_transfer'}, "allow-transfer", $zconf);
	print "</tr>\n";

	print "<tr>\n";
	print &addr_match_input($text{'slave_query'}, "allow-query", $zconf);
	print &address_input($text{'slave_notify2'}, "also-notify", $zconf);
	print "</tr>\n";

	print "</table></td></tr> </table><br>\n";
	}
if ($access{'ro'}) {
	print "</form>\n" if ($access{'opts'});
	}
else {
	print "<table width=100%><tr><td width=25% align=left>\n";
	if ($access{'opts'}) {
		print "<input type=submit value='$text{'save'}'></td></form>\n"
		}
	else {
		print "</td>\n";
		}

	@views = &find("view", $bconf);
	if ($in{'view'} eq '' && @views || $in{'view'} ne '' && @views > 1) {
		print "<form action=move_zone.cgi>\n";
		print "<input type=hidden name=index value=\"$in{'index'}\">\n";
		print "<input type=hidden name=view value=\"$in{'view'}\">\n";
		print "<td width=25% align=middle>\n";
		print "<input type=submit value=\"$text{'master_move'}\">\n";
		print "<select name=newview>\n";
		foreach $v (@views) {
			printf "<option value=%d>%s\n",
			    $v->{'index'}, $v->{'value'}
				if ($v->{'index'} ne $in{'view'});
			}
		print "</select></td></form>\n";
		}
	else {
		print "<td width=25%></td>\n";
		}

	if ($access{'master'}) {
		print "<form action=convert_slave.cgi>\n";
		print "<input type=hidden name=index value='$in{'index'}'>\n";
		print "<input type=hidden name=view value='$in{'view'}'>\n";
		print "<td align=middle><input type=submit ",
		      "value=\"$text{'slave_convert'}\"></td></form>\n";
		}
	else {
		print "<td width=25%></td>\n";
		}

	print "<form action=delete_zone.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<td align=right width=25%><input type=submit ",
	      "value=\"$text{'delete'}\"></td></form>\n";
	print "</tr></table>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

sub types_table
{
if ($_[0]) {
	local($i);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'master_type'}</b></td> ",
	      "<td><b>$text{'master_records'}</b></td> </tr>\n";
	for($i=0; $_[$i]; $i++) {
		print "<tr $cb> <td><a href=\"edit_recs.cgi?",
		      "index=$in{'index'}&view=$in{'view'}&type=$_[$i]\">",
		      $text{"type_$_[$i]"},"</a></td>\n";
		print "<td>$rnum{$_[$i]}</td> </tr>\n";
		}
	print "</table>\n";
	}
}

 07070100027289000081e40000000000000002000000013d1fe2d200000ab4000000200000000000000000000000000000001900000003reloc/bind8/edit_soa.cgi  #!/usr/local/bin/perl
# edit_soa.cgi
# Display the SOA for an existing master zone

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'}) {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'master_ecannot'});
$access{'params'} || &error($text{'master_esoacannot'});
&header($text{'master_params'}, "");
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

@recs = &read_zone_file(&find("file", $zconf)->{'value'}, $dom);
foreach $r (@recs) {
	$soa = $r if ($r->{'type'} eq "SOA");
	}
$v = $soa->{'values'};

# form for editing SOA record
print "<hr>\n";
print "<form action=save_soa.cgi>\n";
print "<input type=hidden name=file value=\"$soa->{'file'}\">\n";
print "<input type=hidden name=num value=\"$soa->{'num'}\">\n";
print "<input type=hidden name=origin value=\"$dom\">\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<input type=hidden name=view value=\"$in{'view'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'master_params'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'master_server'}</b></td>\n";
print "<td><input name=master size=20 value=\"$v->[0]\"></td>\n";
$v->[1] = &dotted_to_email($v->[1]);
print "<td><b>$text{'master_email'}</b></td>\n";
print "<td><input name=email size=20 value=\"$v->[1]\"></td> </tr>\n";

@u = &extract_time_units($v->[3], $v->[4], $v->[5], $v->[6]);
print "<tr> <td><b>$text{'master_refresh'}</b></td>\n";
print "<td><input name=refresh size=10 value=\"$v->[3]\">\n";
&time_unit_choice("refunit", $u[0]);
print "</td>\n";
print "<td><b>$text{'master_retry'}</b></td>\n";
print "<td><input name=retry size=10 value=\"$v->[4]\">\n";
&time_unit_choice("retunit", $u[1]);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'master_expiry'}</b></td>\n";
print "<td><input name=expiry size=10 value=\"$v->[5]\">\n";
&time_unit_choice("expunit", $u[2]);
print "</td>\n";
print "<td><b>$text{'master_minimum'}</b></td>\n";
print "<td><input name=minimum size=10 value=\"$v->[6]\">\n";
&time_unit_choice("minunit", $u[3]);
print "</td> </tr>\n";

if (!$config{'updserial_on'}) {
	print "<tr> <td><b>$text{'master_serial'}</b></td>\n";
	print "<td><input name=serial size=20 value=\"$v->[2]\"></td> </tr>\n";
	}

print "</table></td></tr> </table><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n" if (!$access{'ro'});
print "</form><p>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'master_return'});

0707010002728a000081e40000000000000002000000013d1fe2d2000015f3000000200000000000000000000000000000001a00000003reloc/bind8/edit_stub.cgi #!/usr/local/bin/perl
# edit_slave.cgi
# Display options for an existing slave or stub zone

require './bind8-lib.pl';
&ReadParse();
$bconf = $conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'slave_ecannot'});
if ($0 =~ /edit_slave/) {
	&header($text{'slave_title'}, "");
	}
else {
	&header($text{'stub_title'}, "");
	}
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";

if (&find("file", $zconf)) {
	$file = &find("file", $zconf)->{'value'};
	print "<hr><p>\n";
	@recs = &read_zone_file($file, $dom);
	if ($dom =~ /in-addr\.arpa/i || $dom =~ /\.ip6\.int/i) {
		@rcodes = ("PTR", "NS");
		}
	else {
		@rcodes = ("A", "NS", "CNAME", "MX", "HINFO",
			   "TXT", "WKS", "RP");
		if ($config{'support_aaaa'}) {
			push(@rcodes, "AAAA");
			}
		}
	foreach $c (@rcodes) { $rnum{$c} = 0; }
	foreach $r (@recs) {
		$rnum{$r->{'type'}}++;
		if ($r->{'type'} eq "SOA") { $soa = $r; }
		}
	if ($config{'show_list'}) {
		# display as list
		$mid = int((@rcodes+1)/2);
		print "<table width=100%> <tr><td width=50%>\n";
		&types_table(@rcodes[0..$mid-1]);
		print "</td><td width=50%>\n";
		&types_table(@rcodes[$mid..$#rcodes]);
		print "</td></tr> </table>\n";
		}
	else {
		# display as icons
		for($i=0; $i<@rcodes; $i++) {
			push(@rlinks, "edit_recs.cgi?index=$in{'index'}".
				      "&view=$in{'view'}&type=$rcodes[$i]");
			push(@rtitles, $text{"type_$rcodes[$i]"}.
				       " ($rnum{$rcodes[$i]})");
			push(@ricons, "images/$rcodes[$i].gif");
			}
		&icons_table(\@rlinks, \@rtitles, \@ricons);
		}
	}

if (@links) {
	print "<hr>\n";
	&icons_table(\@links, \@titles, \@images);
	}

print "<hr>\n";

if ($access{'opts'}) {
	print "<form action=save_slave.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<input type=hidden name=slave_stub value=\"$scriptname\">\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'slave_opts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr>\n";
	print &address_port_input($text{'slave_masters'},
				  $text{'slave_masterport'},
				  $text{'slave_master_port'}, 
				  $text{'default'}, 
				  "masters",
				  "port",
				  $zconf,
				  5);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'slave_max'}, "max-transfer-time-in",
			 $zconf, $text{'default'}, 4, $text{'slave_mins'});
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'slave_file'}, "file", $zconf, $text{'slave_none'}, 40);
	print "</tr>\n";

	print "<tr>\n";
	print &choice_input($text{'slave_check'}, "check-names", $zconf,
			    $text{'warn'}, "warn", $text{'fail'}, "fail",
			    $text{'ignore'}, "ignore", $text{'default'}, undef);
	print &choice_input($text{'slave_notify'}, "notify", $zconf,
			    $text{'yes'}, "yes", $text{'no'}, "no",
			    $text{'default'}, undef);
	print "</tr>\n";

	print "<tr>\n";
	print &addr_match_input($text{'slave_update'}, "allow-update", $zconf);
	print &addr_match_input($text{'slave_transfer'}, "allow-transfer", $zconf);
	print "</tr>\n";

	print "<tr>\n";
	print &addr_match_input($text{'slave_query'}, "allow-query", $zconf);
	print &address_input($text{'slave_notify2'}, "also-notify", $zconf);
	print "</tr>\n";

	print "</table></td></tr> </table><br>\n";
	}
if ($access{'ro'}) {
	print "</form>\n" if ($access{'opts'});
	}
else {
	print "<table width=100%><tr><td width=25% align=left>\n";
	if ($access{'opts'}) {
		print "<input type=submit value='$text{'save'}'></td></form>\n"
		}
	else {
		print "</td>\n";
		}

	@views = &find("view", $bconf);
	if ($in{'view'} eq '' && @views || $in{'view'} ne '' && @views > 1) {
		print "<form action=move_zone.cgi>\n";
		print "<input type=hidden name=index value=\"$in{'index'}\">\n";
		print "<input type=hidden name=view value=\"$in{'view'}\">\n";
		print "<td width=25% align=middle>\n";
		print "<input type=submit value=\"$text{'master_move'}\">\n";
		print "<select name=newview>\n";
		foreach $v (@views) {
			printf "<option value=%d>%s\n",
			    $v->{'index'}, $v->{'value'}
				if ($v->{'index'} ne $in{'view'});
			}
		print "</select></td></form>\n";
		}
	else {
		print "<td width=25%></td>\n";
		}

	if ($access{'master'}) {
		print "<form action=convert_slave.cgi>\n";
		print "<input type=hidden name=index value='$in{'index'}'>\n";
		print "<input type=hidden name=view value='$in{'view'}'>\n";
		print "<td align=middle><input type=submit ",
		      "value=\"$text{'slave_convert'}\"></td></form>\n";
		}
	else {
		print "<td width=25%></td>\n";
		}

	print "<form action=delete_zone.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<input type=hidden name=view value=\"$in{'view'}\">\n";
	print "<td align=right width=25%><input type=submit ",
	      "value=\"$text{'delete'}\"></td></form>\n";
	print "</tr></table>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

sub types_table
{
if ($_[0]) {
	local($i);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'master_type'}</b></td> ",
	      "<td><b>$text{'master_records'}</b></td> </tr>\n";
	for($i=0; $_[$i]; $i++) {
		print "<tr $cb> <td><a href=\"edit_recs.cgi?",
		      "index=$in{'index'}&view=$in{'view'}&type=$_[$i]\">",
		      $text{"type_$_[$i]"},"</a></td>\n";
		print "<td>$rnum{$_[$i]}</td> </tr>\n";
		}
	print "</table>\n";
	}
}

 0707010002728b000081e40000000000000002000000013d1fe2d20000053b000000200000000000000000000000000000001a00000003reloc/bind8/edit_text.cgi #!/usr/local/bin/perl
# edit_text.cgi
# Display a form for manually editing a records file

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$file = &absolute_path(&find("file", $zconf)->{'value'});
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'master_ecannot'});
$access{'file'} || &error($text{'text_ecannot'});
&header($text{'text_title'}, "");
print "<center><font size=+1>$file</font></center>\n";
print "<hr>\n";

open(FILE, $config{'chroot'}.$file);
while(<FILE>) {
	push(@lines, &html_escape($_));
	}
close(FILE);

if (!$access{'ro'}) {
	print &text('text_desc', "<tt>$in{'file'}</tt>"),"<p>\n";
	}

print "<form action=save_text.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<input type=hidden name=view value=\"$in{'view'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
      "<input type=reset value=\"$text{'text_undo'}\">\n"
	if (!$access{'ro'});
print "</form>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'master_return'});

 0707010002728c000081e40000000000000002000000013d1fe2d30000062e000000200000000000000000000000000000001a00000003reloc/bind8/edit_view.cgi #!/usr/local/bin/perl
# edit_view.cgi
# Display options for an existing view

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
$view = $conf->[$in{'index'}];
$vconf = $view->{'members'};
%access = &get_module_acl();
$access{'views'} || &error($text{'view_ecannot'});

&header($text{'view_title'}, "");
print "<hr>\n";

print "<form action=save_view.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'view_opts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@v = @{$view->{'values'}};
print "<tr> <td><b>$text{'view_name'}</b></td>\n";
print "<td><tt>$v[0]</tt></td>\n";

print "<td><b>$text{'view_class'}</b></td>\n";
printf "<td>%s</td> </tr>\n",
	$v[1] ? "<tt>$v[1]</tt>" : "$text{'default'} (<tt>IN</tt>)";

print "<tr>\n";
print &addr_match_input($text{'view_match'}, "match-clients", $vconf);
print &choice_input($text{'view_recursion'}, 'recursion', $vconf,
		    $text{'yes'}, 'yes', $text{'no'}, 'no',
		    $text{'default'}, undef);
print "</tr>\n";

print "</table></td></tr> </table><br>\n";
if ($access{'ro'}) {
	print "</form>\n";
	}
else {
	print "<table width=100%><tr><td align=left>\n";
	print "<input type=submit value=\"$text{'save'}\"></td></form>\n";

	print "<form action=delete_view.cgi>\n";
	print "<input type=hidden name=index value=\"$in{'index'}\">\n";
	print "<td align=right><input type=submit ",
	      "value=\"$text{'delete'}\"></td></form>\n";
	print "</tr></table>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010002728d000081a40000000000000002000000013d1fe2d3000001fe000000200000000000000000000000000000001e00000003reloc/bind8/feedback_files.pl 
do 'bind8-lib.pl';

sub feedback_files
{
local @rv = ( $config{'chroot'}.$config{'named_conf'} );
local $conf = &get_config();
local @views = &find("view", $conf);
local @zones;
foreach $v (@views) {
	push(@zones, &find("zone", $v->{'members'}));
	}
push(@zones, &find("zone", $conf));
foreach $z (@zones) {
	local $tv = &find("type", $z->{'members'});
	if ($tv->{'value'} eq 'primary') {
		local $fv = &find("file", $z->{'members'});
		if ($fv) {
			push(@rv, $fv->{'value'});
			}
		}
	}
return @rv;
}

1;

  0707010002728e000081e40000000000000002000000013d1fe2d3000019b4000000200000000000000000000000000000001a00000003reloc/bind8/find_free.cgi #!/usr/local/bin/perl
# find_free.cgi
# Looks for free IP numbers
# by Ivan Andrian, <ivan.andrian@elettra.trieste.it>, 11/07/2000

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$type = &find("type", $zconf)->{'value'};
$file = &find("file", $zconf)->{'value'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
if (!$access{'findfree'}) {&error($text{'findfree_nofind'})};
&header(&text('findfree_title'), "");
print "<center><font size=+2>",&text('findfree_header', &arpa_to_ip($dom)),
      "</font></center>\n";
print "<hr>\n";

my $cf=1;
if (@in == 2) {
	&find_ips ($in{'index'}, $in{'from'});
}
elsif (@in == 3) {
	&find_ips ($in{'index'}, $in{'from'}, $in{'to'});
}
elsif (@in == 4) {
	$cf=$in{'cf'};
	&find_ips ($in{'index'}, $in{'from'}, $in{'to'}, $in{'cf'});
}
else {
	&find_ips ($in{'index'});
}

if (@in >= 3) { #we need to do the search!

   @recs = &read_zone_file($file, $dom);
   @recs = grep { ($_->{'type'} eq 'A') || ($_->{'type'} eq 'PTR')} @recs;
   my $freeXXXcount=0;
   my $freemaccount=0;
   if (@recs) {
	@recs = &sort_records(@recs);
	my %frecs = &build_iprange($in{'from'}, $in{'to'});

	for($i=0; $i<@recs; $i++) {
		my $hip;	# host IP
		my $hname;	# hostname
		
		if ($recs[$i]->{'type'} eq 'A') {
			$hip=$recs[$i]->{'values'}->[0]; 		# IP no. in 'values' field
			$hname=$recs[$i]->{'name'};				# name   in 'name' field
		}
		else {
			$hip=&arpa_to_ip($recs[$i]->{'name'});	# IP no. in 'name' field
			$hname=$recs[$i]->{'values'}->[0];		# name   in 'values' field
		}
		
#	print "evaluating ", $hip, " ", $hname, "...<BR>"; #debug
		
		if($cf & ($hname=~ /^free.*/) & exists $frecs{$hip}) {	# 'freeXXX' hostnames are free IP's!
			# update
#	print "&nbsp;&nbsp;updating: ",$hip, "... <BR>"; #debug
			$frecs{$hip}->{'ttl'}=$recs[$i]->{'ttl'};
			$frecs{$hip}->{'name'}=$hname;
			$freeXXXcount++;
			if($hname=~ /^freemac.*/) {$freemaccount++;}
		}
		else {
#	print "&nbsp;&nbsp;deleting: ",$hip, "... <BR>"; #debug
			delete $frecs{$hip};
		}
	}
	
	

	my @frecs=sort ffree_ip_sort_func values %frecs; 
	my $mid = int((@frecs+1)/2);
	print "<P align = \"center\"><STRONG>Found <BIG>" . @frecs . "</BIG> free IP number" . (@frecs==1?"\n":"s\n");
	if ($cf) {
		print " (<BIG>$freeXXXcount</BIG> ". ($freeXXXcount==1?" is":"are") .
				" <EM>`freeXXX'</EM>" .
				" of which <BIG>$freemaccount</BIG> ". ($freemaccount==1?" is":"are") . 
				" <EM>`freemac'</EM>)" ;
	print "</STRONG></P>\n";
	}
	print "<table width=100%><tr><td width=50% valign=top>\n";
	&frecs_table(@frecs[0 .. $mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @frecs) { &frecs_table(@frecs[$mid .. $#frecs]); }
	print "</td></tr></table><p>\n";
	print "<p>\n";

    } # if(@recs)
} # if(@in >= 3)

print "<hr>\n";
&footer("edit_$type.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'recs_return'});






# build_iprange(fromIP, toIP)
# Returns a list of IP numbers from fromIP to toIP
sub build_iprange
{
$_[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
my @from = ($1, $2, $3, $4);
return @from if (@from != 4); #I want a correct IPv4 #
$_[1] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
my @to = ($1, $2, $3, $4);
return @to if (@to != 4);

for ($i=0;$i<4;$i++) {
	$from[$i]=$from[$i]==0?1:$from[$i];
	$to[$i]=$to[$i]==255?254:$to[$i];
}

my %frecs;

for ($byte0=$from[0]; $byte0<=$to[0]; $byte0++) {
	for ($byte1=$byte0==$from[0]?$from[1]:1;
			$byte1<=(($byte0==$to[0]?$to[1]:254));
			$byte1++) {
		##print "================<BR>";
		for ($byte2=($byte0==$from[0])&&($byte1==$from[1])?$from[2]:1;
				$byte2<=(($byte0==$to[0])&&($byte1==$to[1])?$to[2]:254);
				$byte2++) {
			##print "----------------<BR>";
			for ($byte3=($byte0==$from[0])&&($byte1==$from[1])&&($byte2==$from[2])?$from[3]:1;
					$byte3<=(($byte0==$to[0])&&($byte1==$to[1])&&($byte2==$to[2])?$to[3]:254);
					$byte3++) {
				$frecs{"$byte0.$byte1.$byte2.$byte3"}->{'ip'}="$byte0.$byte1.$byte2.$byte3";
				$frecs{"$byte0.$byte1.$byte2.$byte3"}->{'ttl'}=$text{'default'};
				$frecs{"$byte0.$byte1.$byte2.$byte3"}->{'name'}='';
				##push(@frecs, "$byte0.$byte1.$byte2.$byte3");
				##print "$byte0.$byte1.$byte2.$byte3<BR>";
			} #for $byte3
		} #for $byte2
	} #for $byte1
} #for $byte0

return %frecs;
} # sub build_iprange












# find_ips (zoneindex, from_ip, to_ip, consider_freeXX_names)
# Display a form for searching for free IP nos
sub find_ips
{
print "<form action=find_free.cgi>\n";
print "<input type=hidden name=index value='$_[0]'>\n";
print "<input type=hidden name=view value='$in{'view'}'>\n";

print "<table border>\n";
print "<tr $tb><td><b>$text{'findfree_sopt'}</b></td> </tr>\n";
print "<tr $cb><td><table>\n";

print "<tr> <td><b>$text{'findfree_IPrange'}</b></td>\n";
print "<td><b>$text{'findfree_from'}</b></td>\n";
if (@_ >= 2) { # there is a "from" field on the URL
	print "<td> <input name=from value=\"$_[1]\" size=30></td> </tr>\n";
	}
else {
	print "<td> <input name=from value=\"\" size=30></td> </tr>\n";
	}

print "<tr> <td>&nbsp;</td>\n";
print "<td><b>$text{'findfree_to'}</b></td>\n";
if (@_ >= 3) { # there is a "to" field on the URL
	print "<td> <input name=to value=\"$_[2]\" size=30></td> </tr>\n";
	}
else {
	print "<td> <input name=to value=\"\" size=30></td> </tr>\n";
	}

print "<tr> <td colspan=3 nowrap><b>$text{'findfree_cf'}</b>\n";

$cfy=$cf?'checked':'';
$cfn=(!$cf)?'checked':'';

print " &nbsp; <input type=radio name=cf value=1 $cfy> $text{'yes'}\n";
print "<input type=radio name=cf value=0 $cfn> $text{'no'}</td></tr>\n";

print "<tr colspan=3><td><input type=submit value=\"$text{'findfree_search'}\"></td></tr>\n";
print "</table></td></tr></table></form>\n";

} #	end of find_ips










# frecs_table(array_of_freerecords)
sub frecs_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>", $text{'recs_addr'},"</b></td>",
	"<td><b>$text{'recs_ttl'}</b></td>\n",
	"<td><b>$text{'recs_name'}</b></td>\n",
	"</tr>\n";

for($i=0; $i<@_; $i++) {
	$r = $_[$i];
	print "<tr $cb> <td>$r->{'ip'}</td>\n",
	"<td>",$r->{'ttl'} ? $r->{'ttl'} : $text{'default'},"</td>\n",
	"<td>",$r->{'name'}?$r->{'name'}:'&nbsp;',"</td>\n",
	"</tr>\n";
	}
	print "</table>\n";
}




sub ffree_ip_sort_func
{
$a->{'ip'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
$b->{'ip'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
return	$a1 < $1 ? -1 :
	$a1 > $1 ? 1 :
	$a2 < $2 ? -1 :
	$a2 > $2 ? 1 :
	$a3 < $3 ? -1 :
	$a3 > $3 ? 1 :
	$a4 < $4 ? -1 :
	$a4 > $4 ? 1 : 0;
}


#EOF
0707010002728f000081e40000000000000002000000013d1fe2d200000686000000200000000000000000000000000000001b00000003reloc/bind8/find_zones.cgi    #!/usr/local/bin/perl
# find_zones.cgi
# Display zones matching some search

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();

$conf = &get_config();
@zones = &find("zone", $conf);
foreach $z (@zones) {
	$v = $z->{'value'};
	next if ($v eq "." || !&can_edit_zone(\%access, $z) ||
		 $v !~ /$in{'search'}/);
	$t = &find("type", $z->{'members'})->{'value'};
	push(@zlinks, "edit_$t.cgi?index=$z->{'index'}");
	push(@ztitles, &ip6int_to_net(&arpa_to_ip($v)));
	push(@zicons, "images/$t.gif");
	push(@ztypes, $text{"index_$t"});
	$len++;
	}
if (@zlinks == 1) {
	&redirect($zlinks[0]);
	exit;
	}

&header($text{'find_title'}, "");
print "<hr>\n";
print "<p>",&text('find_match', "<tt>$in{'search'}</tt>"),"<p>\n";

if ($len) {
	# sort list of zones
	@zorder = sort { $ztitles[$a] cmp $ztitles[$b] } (0 .. $len-1);
	@zlinks = map { $zlinks[$_] } @zorder;
	@ztitles = map { $ztitles[$_] } @zorder;
	@zicons = map { $zicons[$_] } @zorder;
	@ztypes = map { $ztypes[$_] } @zorder;

	if ($config{'show_list'}) {
		# display as list
		$mid = int((@zlinks+1)/2);
		print "<table width=100%><tr><td width=50% valign=top>\n";
		&zones_table([ @zlinks[0 .. $mid-1] ],
			     [ @ztitles[0 .. $mid-1] ],
			     [ @ztypes[0 .. $mid-1] ]);
		print "</td><td width=50% valign=top>\n";
		if ($mid < @zlinks) {
			&zones_table([ @zlinks[$mid .. $#zlinks] ],
				     [ @ztitles[$mid .. $#ztitles] ],
				     [ @ztypes[$mid .. $#ztypes] ]);
			}
		print "</td></tr></table>\n";
		}
	else {
		# display as icons
		&icons_table(\@zlinks, \@ztitles, \@zicons);
		}
	}
else {
	print "<b>$text{'find_none'}</b><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});


  07070100027290000081e40000000000000002000000013d1fe2d2000005c8000000200000000000000000000000000000001d00000003reloc/bind8/forward_form.cgi  #!/usr/local/bin/perl
# forward_form.cgi
# A form for creating a new forard zone

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'forward'} || &error($text{'fcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
&header($text{'fcreate_title'}, "");
print "<hr>\n";

print "<form action=create_forward.cgi>\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>$text{'fcreate_opts'}</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>$text{'fcreate_type'}</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "$text{'fcreate_fwd'}\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "$text{'fcreate_rev'}</td> </tr>\n";

print "<tr> <td><b>$text{'fcreate_dom'}</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

$conf = &get_config();
@views = &find("view", $conf);
if (@views) {
	print "<tr> <td><b>$text{'mcreate_view'}</b></td>\n";
	print "<td colspan=3><select name=view>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n",
			$v->{'index'}, $v->{'value'};
		}
	print "</select></td> </tr>\n";
	}

print "<tr> <td valign=top><b>$text{'fcreate_masters'}</b></td> ",
      "<td colspan=3>\n";
print "<textarea name=masters rows=4 cols=30></textarea></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'create'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
07070100027291000081e40000000000000002000000013d1fe2d3000006a9000000200000000000000000000000000000001a00000003reloc/bind8/hint_form.cgi #!/usr/local/bin/perl
# hint_form.cgi
# Display options for creating a new root zone

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'master'} || &error($text{'hcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
&header($text{'hcreate_title'}, "");
print "<hr>\n";

$conf = &get_config();
@views = &find("view", $conf);
foreach $v (@views) {
	local @vz = &find("zone", $v->{'members'});
	map { $view{$_} = $v } @vz;
	push(@zones, @vz);
	}
push(@zones, &find("zone", $conf));
foreach $z (@zones) {
	$tv = &find_value("type", $z->{'members'});
	if ($tv eq 'hint') {
		$file = &find_value("file", $z->{'members'});
		$hashint{$view{$z}}++;
		}
	}

print $text{'hcreate_desc'},"<p>\n";
print "<form action=\"create_hint.cgi\">\n";
print "<table>\n";

print "<tr> <td><b>$text{'hcreate_file'}</b></td>\n";
print "<td><input name=file size=30 value='$file'> ",
	&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'hcreate_real'}</b></td> <td>\n";
printf "<input type=radio name=real value=1 %s> $text{'hcreate_down'}<br>\n",
	$file ? "" : "checked";
print "<input type=radio name=real value=2> $text{'hcreate_webmin'}<br>\n";
printf "<input type=radio name=real value=3 %s> $text{'hcreate_keep'}\n",
	$file ? "checked" : "";
print "</td> </tr>\n";

if (@views) {
	print "<tr> <td><b>$text{'mcreate_view'}</b></td>\n";
	print "<td colspan=3><select name=view>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n",
			$v->{'index'}, $v->{'value'} if (!$hashint{$v});
		}
	print "</select></td> </tr>\n";
	}

print "</table>\n";
print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100027292000081e40000000000000002000000013d1fe2d2000023ea000000200000000000000000000000000000001600000003reloc/bind8/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of domains and links to options

require './bind8-lib.pl';
%access = &get_module_acl();

$need_create = !(-r $config{'chroot'}.$config{'named_conf'});
if (!$need_create) {
	# file exists.. but check if it is valid. Some systems have a
	# default invalid config file!
	$conf = &get_config();
	if (($opts = &find("options", $conf)) &&
	    ($dir = &find("directory", $opts->{'members'})) &&
	    !(-d $config{'chroot'}.$dir->{'value'})) {
		# bogus config file!
		$need_create = 1;
		}
	}

# Check if bind is installed
if (!(-x $config{'named_path'})) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("bind", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_enamed', "<tt>$config{'named_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if BIND is the right version.. Only BIND 8/9 offers the -f option
# Is there a better way to do this?
$out = `$config{'named_path'} -help 2>&1`;
if ($out !~ /\[-f\]/ && $out !~ /\[-f\|/) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("bind", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eversion', "<tt>$config{'named_path'}</tt>",
			  "/dnsadmin/"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Try to get the version number
$out = `$config{'named_path'} -v 2>&1`;
if ($out =~ /bind\s+(\d+\.\d+)/i || $out =~ /named\s+(\d+\.\d+)/i) {
	$bind_version = $1;
	}
open(VERSION, ">$module_config_directory/version");
print VERSION "$bind_version\n";
close(VERSION);

&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("bind", "doc", "google"), undef, undef,
	&text('index_version', $bind_version));
print "<hr>\n";

# If the named.boot file does not exist, offer to create it
if ($need_create) {
	print &text('index_eempty',
		    "<tt>$config{'chroot'}$config{'named_conf'}</tt>"),"<p>\n";
	print "<form action=\"dns_boot.cgi\">\n";
	print "<input type=radio name=real value=0> $text{'index_local'}<p>\n";
	print "<input type=radio name=real value=1 checked> ",
	      "$text{'index_download'}<p>\n";
	print "<input type=radio name=real value=2> $text{'index_webmin'}<p>\n";
	print "<center><input type=submit value=\"$text{'index_create'}\">",
	      "</center></form>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

if ($access{'defaults'}) {
	# display global options
	print "<h3>$text{'index_opts'}</h3>\n";
	@olinks = ("conf_servers.cgi", "conf_logging.cgi", "conf_acls.cgi",
		   "conf_files.cgi", "conf_forwarding.cgi", "conf_net.cgi",
		   "conf_misc.cgi", "conf_controls.cgi", "conf_zonedef.cgi");
	@otitles = map { /conf_(\S+).cgi/; $text{$1."_title"} } @olinks;
	@oicons = map { /^conf_(\S+).cgi/; "images/$1.gif"; } @olinks;
	&icons_table(\@olinks, \@otitles, \@oicons, 5);
	print "<hr>\n";
	}

$conf = &get_config();
@views = &find("view", $conf);
foreach $v (@views) {
	@vz = &find("zone", $v->{'members'});
	map { $view{$_} = $v } @vz;
	push(@zones, @vz);
	}
push(@zones, &find("zone", $conf));
foreach $z (@zones) {
	$tv = &find("type", $z->{'members'});
	$hashint++ if ($tv->{'value'} eq 'hint');
	}
@zones = grep { &can_edit_zone(\%access, $_) &&
		(!$access{'ro'} || $_->{'value'} ne '.') } @zones;
if (@zones > $config{'max_zones'}) {
	print "<h3>$text{'index_zones'}</h3>\n";
	print "<p>$text{'index_toomany'}<p>\n";
	print "<form action=find_zones.cgi>\n";
	print "<b>$text{'index_find'}</b>\n";
	print "<input name=search size=20>\n";
	print "<input type=submit value='$text{'index_search'}'></form>\n";
	}
elsif (@zones) {
	print "<h3>$text{'index_zones'}</h3>\n";
	&show_buttons();
	print "<table width=100%>\n";
	foreach $z (@zones) {
		$v = $z->{'value'};
		$tv = &find("type", $z->{'members'});
		next if (!$tv);
		$t = $tv->{'value'};
		local $zn = $v eq "." ? "<i>$text{'index_root'}</i>"
				      : &ip6int_to_net(&arpa_to_ip($v));
		if ($view{$z}) {
			local $vw = $view{$z};
			push(@zlinks, "edit_$t.cgi?index=$z->{'index'}".
				      "&view=$vw->{'index'}");
			push(@ztitles, $zn." ".
			       &text('index_view', "<tt>$vw->{'value'}</tt>"));
			}
		else {
			push(@zlinks, "edit_$t.cgi?index=$z->{'index'}");
			push(@ztitles, $zn);
			}
		push(@zsort, $t eq 'hint' ? undef : @ztitles[$#ztitles]);
		push(@zicons, "images/$t.gif");
		push(@ztypes, $text{"index_$t"});
		$len++;
		}

	# sort list of zones
	@zorder = sort { lc($zsort[$a]) cmp lc($zsort[$b]) } (0 .. $len-1);
	@zlinks = map { $zlinks[$_] } @zorder;
	@ztitles = map { $ztitles[$_] } @zorder;
	@zicons = map { $zicons[$_] } @zorder;
	@ztypes = map { $ztypes[$_] } @zorder;

	if ($config{'show_list'}) {
		# display as list
		$mid = int((@zlinks+1)/2);
		print "<table width=100%><tr><td width=50% valign=top>\n";
		&zones_table([ @zlinks[0 .. $mid-1] ],
			     [ @ztitles[0 .. $mid-1] ],
			     [ @ztypes[0 .. $mid-1] ]);
		print "</td><td width=50% valign=top>\n";
		if ($mid < @zlinks) {
			&zones_table([ @zlinks[$mid .. $#zlinks] ],
				     [ @ztitles[$mid .. $#ztitles] ],
				     [ @ztypes[$mid .. $#ztypes] ]);
			}
		print "</td></tr></table>\n";
		}
	else {
		# display as icons
		&icons_table(\@zlinks, \@ztitles, \@zicons, 5);
		}
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
&show_buttons();

if ($access{'views'} && $bind_version >= 9) {
	# Display list of views
	print "<hr>\n";
	foreach $v (@views) {
		push(@vlinks, "edit_view.cgi?index=$v->{'index'}");
		push(@vtitles, $v->{'value'});
		push(@vicons, "images/view.gif");
		}
	if (@views) {
		print "<h3>$text{'index_views'}</h3>\n";
		print "<a href=\"view_form.cgi\">$text{'index_addview'}</a><br>\n"
			if (!$access{'ro'});
		&icons_table(\@vlinks, \@vtitles, \@vicons, 5);
		}
	else {
		print "<b>$text{'index_vnone'}</b><p>\n";
		}
	print "<a href=\"view_form.cgi\">$text{'index_addview'}</a><p>\n"
		if (!$access{'ro'});
	}

# get pid (if any)
if (($opts = &find("options", $conf)) &&
    ($pidopt = &find("pid-file", $opts->{'members'}))) {
	# read from PID file
	$pidfile = $pidopt->{'value'};
	if ($pidfile !~ /^\//) {
		local $dir = &find("directory", $opts->{'members'});
		$pidfile = $dir->{'value'}."/".$pidfile;
		}
	}
else {
	# use default file
	$pidfile = $config{'pid_file'} ? $config{'pid_file'}
				       : "/var/run/named.pid";
	}

# read the PID
if (open(PID, $config{'chroot'}.$pidfile)) {
	<PID> =~ /(\d+)/;
	$pid = $1;
	close(PID);
	}

if (!$access{'ro'} && $access{'apply'}) {
	if ($pid && kill(0, $pid)) {
		# named is running
		print "<hr>\n";
		print "<table width=100%><tr>\n";
		print "<form action=restart.cgi>\n";
		print "<td><input type=hidden name=pid value=$pid>\n";
		print "<input type=submit value=\"$text{'index_apply'}\">\n";
		print "</td> <td>$text{'index_applymsg'}</td>\n";
		print "</form></tr>\n";

		&foreign_require("servers", "servers-lib.pl");
		@servers = grep { $_->{'user'} } &servers::list_servers();
		if (@servers && $access{'remote'}) {
			print "<tr><form action=restart_slave.cgi>\n";
			print "<td nowrap><input type=submit ",
			      "value=\"$text{'index_sapply'}\">\n";
			print "<select name=slave>\n";
			foreach $s (@servers) {
				printf "<option value=%s %s>%s\n",
				    $s->{'host'},
				    $config{'default_slave'} eq $s->{'host'} ?
					'selected' : '',
				    $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
				}
			print "</select></td>\n";
			print "<td>$text{'index_sapplymsg'}</td>\n";
			print "</form></tr>\n";
			}
		print "</table>\n";
		}
	else {
		# named is not running
		print "<hr>\n";
		print "<form action=start.cgi>\n";
		print "<table width=100%><tr><td>\n";
		print "<input type=submit value=\"$text{'index_start'}\">\n";
		print "</td> <td>$text{'index_startmsg'}</td> </tr></table>\n";
		print "</form>\n";
		}
	}

print "<hr>\n";
&footer("/", $text{"index"});

sub dump_config
{
local($c);
foreach $c (@{$_[0]}) {
	print "$_[1]$c->{'name'} ",
		join(',', @{$c->{'values'}});
	if ($c->{'type'}) {
		print " {\n";
		&dump_config($c->{'members'}, "$_[1]\t");
		print "$_[1]}\n";
		}
	else { print "\n"; }
	}
}

sub zones_table
{
local($i);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_zone'}</b></td> ",
      "<td><b>$text{'index_type'}</b></td> </tr>\n";
for($i=0; $i<@{$_[0]}; $i++) {
	print "<tr $cb>\n";
	print "<td><a href=\"$_[0]->[$i]\">$_[1]->[$i]</a></td>\n";
	print "<td>$_[2]->[$i]</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

sub show_buttons
{
if ($access{'master'} && !$access{'ro'}) {
	print "<a href=\"master_form.cgi\">$text{'index_addmaster'}</a>\n";
	print "&nbsp;&nbsp;\n";
	}
if ($access{'slave'} && !$access{'ro'}) {
	print "<a href=\"slave_form.cgi\">$text{'index_addslave'}</a>\n";
	print "&nbsp;&nbsp;\n";
	print "<a href=\"stub_form.cgi\">$text{'index_addstub'}</a>\n";
	print "&nbsp;&nbsp;\n";
	}
if ($access{'forward'} && !$access{'ro'}) {
	print "<a href=\"forward_form.cgi\">$text{'index_addfwd'}</a>\n";
	print "&nbsp;&nbsp;\n";
	}
if ($access{'master'} && !$access{'ro'} &&
    $hashint < (@views ? scalar(@views) : 1)) {
	print "<a href=\"hint_form.cgi\">$text{'index_addhint'}</a>\n";
	print "&nbsp;&nbsp;\n";
	}
print "<br>\n";
}

  0707010004818c000041ed0000000000000001000000023d1ff9d200000000000000200000000000000000000000000000001100000003reloc/bind8/lang  07070100048196000081a40000000000000002000000013d1fe2d200005d51000000200000000000000000000000000000001400000003reloc/bind8/lang/ca   index_title=Servidor DNS BIND
index_enamed=No s'ha trobat al sistema el servidor DNS BIND $1. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul BIND</a> sigui incorrecta.
index_eversion=No sembla que l'executable servidor $1 sigui un BIND 8 o 9. Pot sert que hagis de fer servir el <a href='$2'>mòdul BIND 4</a> en lloc d'aquest.
index_eempty=El fitxer de configuració primària $1 de BIND no existeix, o bé no és vàlid. El creo?
index_local=Configura el servidor de noms només per a ús intern (no Internet)
index_download=Configura com a servidor de noms Internet i descarrega la informació del servidor arrel
index_webmin==Configura com a servidor de noms Internet, però fes servir la informació del servidor arrel anterior de Webmin
index_create=Crea el Fitxer de Configuració Primària i Inicia el Servidor de Noms
index_zones=Zones DNS Existents
index_none=No hi ha cap zona definida per a aquest servidor
index_addmaster=Crea una nova zona mestra
index_addslave=Crea una nova zona esclava
index_addstub=Crea una nova zona stub
index_addfwd=Crea una nova zona de reemissió
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per reiniciar el servidor BIND en execució. Això farà que la configuració actual sigui efectiva
index_start=Inicia el Servidor de Noms
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor BIND i carregar la configuració actual
index_zone=Zona
index_type=Tipus
index_master=Mestra
index_slave=Esclava
index_stub=Stub
index_hint=Arrel
index_forward=Reemissió
index_opts=Opcions Globals del Servidor
index_return=a la llista de zones
index_toomany=Hi ha massa zones al sistema per poder-les mostrar aquí.
index_find=Busca les zones que coincideixin amb:
index_search=Busca
index_view=(A la vista $1)
index_views=Vistes de Client Existents
index_vnone=No hi ha cap vista de client definida en aquest servidor.
index_addview=Crea una vista nova
index_root=Zona arrel
index_addhint=Crea una nova zona arrel
index_version=Versió BIND $1
index_sapply=Aplica els canvis a:
index_sapplymsg=Fes clic sobre aquest botó per eriniciar el servidor BINS en execució al host seleccionat. Això provocarà que les zones esclaves que has creat al servidor esdevinguin actives.

master_title=Edició de Zona Mestra
master_ecannot=No tens permís per editar aquesta zona
master_manual=Edita el Fitxer de Registres
master_soa=Edita els Paràmetres de Zona
master_serial=Número de sèrie de Zona
master_options=Edita les Opcions de Zona
master_del=Suprimeix la Zona
master_delmsg=Fes clic sobre aquest botó per suprimir aquesta zona del servidor DNS.
master_delrev=També s'esborraran els registres inversos d'adreça d'altres zones que coincideixin amb aquesta.
master_tmpl=Fes servir la zona d'exemple
master_ip=Adreça IP dels registres d'exemple
master_params=Paràmetres de la Zona
master_server=Servidor mestre
master_slave=Crea també una zona esclava añ servidor
master_mip=amb la IP mestra
master_ns=Afegeix un registre NS per al servidor mestre
master_email=Adreça de correu
master_refresh=Temps de refresc
master_retry=Temps de reintent de les transferències
master_expiry=Temps d'expiració
master_minimum=Temps de vida per defecte
master_opts=Opcions de la Zona
master_check=Comprova els Noms
master_notify=Notifica els canvis a les zones esclaves
master_update=Permet actualitzacions des de...
master_transfer=Permet transferències des de...
master_query=Permet consultes des de...
master_notify2=Notifica-ho també a les zones esclaves...
master_type=Tipus
master_records=Registres
master_return=als tipus de registre
master_err=No he pogut desar les opcions
master_ero=No tens permís per actualitzar les zones
master_err2=No he pogut actualitzar la zona
master_emaster='$1' no és un servidor mestre vàlid
master_eemail='$1' no és una adreça de correu vàlida
master_erefresh='$1' no és un temps de refresc vàlid
master_eretry='$1' no és un temps de reintent de transferència vàlid
master_eexpiry='$1' no és un temps d'expiració vàlid
master_eminimum='$1' no és un TTL per defecte vàlid
master_edelete=No tens permís per suprimir aquesta zona
master_tmplrecs=Registres d'Exemple
master_name=Nom del registre
master_value=Valor
master_user=Formulari origen
master_eip=Hi falta l'adreça IP d'exemple o bé és invàlida
master_eiptmpl=El valor del registre d'exemple només pot provenir de registres d'adreça destí
master_esoacannot=No tens permís per editar els paràmetres de la zona
master_eoptscannot=No tens permís per editar les opcions de la zona
master_edeletecannot=No tens permís per suprimir zones
master_etaken=Aquesta zona ja existeix
master_include=Fitxer exemple addicional
master_convert=Converteix a zona esclava
master_whois=Consulta la informació WHOIS
master_move=Desplaça-la a la vista:
master_emove=Has de seleccionar una vista diferent per desplaçar-la
master_eallowupdate=Has d'introduir almenys una adreça per permetre actualitzacions des de
master_eallowtransfer=Has d'introduir almenys una adreça per permetre transferències des de
master_err2=He creat la zona mestra, però no he pogut crear l'esclava
master_emips=No has introduït cap IP mestra per al servidor esclau
master_emip=IP mestran '$1' invàlida
master_eslave=No sembla que el servidor esclau $1 tingui la configuració del mòdul BIND
master_eserial=El número de sèrie ha de ser una cadena de dígits
master_apply=Aplica els Canvis
master_applymsg=Fes clic sobre aquest botó per aplicar només els canvis d'aquesta zona fent servir l'ordre $1. Això funcionarà només si els canvis han estat aplicats almenys un cop a tot el servidor des que es va crear la zona.

delete_title=Supressió de Zona
delete_mesg=Segur que vols suprimir la zona $1? S'esborrarà la zona i tots els seus registres.
delete_mesg2=Segur que vols suprimir la zona arrel? Pot ser que el teu servidor DNS no pugui consultar més adreces d'Internet.
delete_rev=Suprimeix els registres inversos d'altres zones
delete_fwd=Suprimeix els registres de reemissió d'altres zones
delete_slave=Suprimeix també la zona esclava del servidor
delete_err2=He suprimit la zona mestra, però no he pogut suprimir l'esclava
delete_ezone=No he trobat la zona al servidor esclau

mcreate_title=Creació de Zona Mestra
mcreate_ecannot=No pots crear zones mestres
mcreate_opts=Opcions de la nova zona mestra
mcreate_type=Tipus de Zona
mcreate_fwd=Reemissió (Noms a Adreces)
mcreate_rev=Inversa (Adreces a Noms)
mcreate_dom=Nom de domini / Xarxa
mcreate_view=Crea a la vista
mcreate_file=Fitxer de registres
mcreate_auto=Automàtic
mcreate_err=No he pogut crear la zona mestra

slave_title=Edició de Zona Esclava
stub_title=Edició de Zona Stub
slave_ecannot=No tens permís per editar aquesta zona
slave_opts=Opcions de la Zona
slave_masters=Servidors Mestres
slave_masterport=Port del servidor
slave_max=Temps màxim de transferència
slave_file=Fitxer de registres
slave_check=Comprova els noms
slave_notify=Notifica els canvis a les zones esclaves
slave_update=Permet actualitzacions des de...
slave_transfer=Permet transferències des de...
slave_query=Permet consultes des de...
slave_notify2=Notifica-ho també a les zones esclaves
slave_none=Cap
slave_auto=Automàtic
slave_err=No he pogut desar les opcions
slave_emax='$1' no és un temps màxim de transferència vàlid
slave_efile=Hi falta el fitxer de registres
slave_efile2='$1' no és un fitxer de registres permissible
slave_mins=minuts
slave_master_port=port
slave_convert=Converteix a zona mestra

screate_title1=Creació de Zona Esclava
screate_title2=Creació de Zona Stub
screate_ecannot1=No tens permís per crear noves zones esclaves
screate_ecannot2=No tens permís per crear noves zones stub
screate_header1=Opcions de la nova zona esclava
screate_header2=Opcions de la nova zona stub
screate_type=Tipus de zona
screate_fwd=Reemissió (Noms a Adreces)
screate_rev=Inversa (Adreces a Noms)
screate_dom=Nom de domini / Xarxa
screate_err1=No he pogut crear la zona esclava
screate_err2=No he pogut crear la zona stub

recs_ecannot=No tens permís per editar registres d'aquesta zona
recs_title=Registre $1
recs_header=de $1
recs_addr=Adreça
recs_name=Nom
recs_ttl=TTL
recs_comment=Comentari
recs_return=als tipus de registre

edit_title=Edició de $1
edit_header=de $1
edit_edit=Edita un Registre $1
edit_add=Afegeix un Registre $1
edit_addr=Adreça
edit_name=Nom
edit_zonename=Nom de la Zona
edit_ttl=Temps de Vida
edit_comment=Comentari
edit_cnamemsg=Els noms absoluts han d'acabar amb '.'
edit_uprev=Actualitza inversa
edit_over=Sí (i substitueix l'existent)
edit_upfwd=Actualitza reemissió
edit_err=No he pogut desar el registre
edit_ettl='$1' no és un temps de vida vàlid
edit_eip='$1' no és una adreça IP vàlida
edit_eip6='$1' no és una adreça IPv6 vàlida
edit_ehost='$1' no és un nom de host vàlid
edit_ename='$1' no és un nom de registre vàlid
edit_edupip=Ja existeix un registre d'adreça per a $1
edit_ens='$1' no és un nom de servidor vàlid
edit_ecname='$1' no és un àlies destí vàlid
edit_emx='$1' no és un servidor de correu vàlid
edit_epri='$1' no és un prioritat vàlida
edit_ehard=Hi falta el tipus de maquinari o bé no és vàlid
edit_eos=Hi falta el tipus de SO o bé no és vàlid
edit_eserv=No has introduït cap servei conegut
edit_ebadserv=El servei conegut '$1' és incorrecte
edit_eemail='$1' no és una adreça de correu vàlida
edit_etxt='$1' no és un nom de registre de text vàlid
edit_efqdn=El nom absolut '$1' és massa llarg
edit_elabel=Una de les etiquetes de '$1' és massa llarga
edit_eloc=Hi falta la latitud i la longitud
edit_return=als registres
edit_ecname1=No pots crear un registre d'àlies de nom amb el mateix nom que un d'existent.
edit_ecname2=No pots crear un registre amb el mateix nom que un d'existent.

text_title=Edició del Fitxer de Registres
text_desc=Aquest formulari permet editar manualment el fitxer de registres DNS $1. El webmin no farà cap comprovació de sintaxi, i el número de sèrie de la zona no s'incrementarà automàticament.
text_undo=Desfés
text_ecannot=No tens permís per editar fitxers de registres

restart_ecannot=No tens permís per reiniciar BIND
restart_esig=No he pogut enviar el senyal al procés $1: $2
restart_erunning=No sembla que BIND s'estigui executant al servidor remot
restart_endc=L'ordre NDC ha fallat: $1
start_ecannot=No tens permís per iniciar BIND
start_error=No he pogut iniciar BIND: $11

fwd_title=Edició de Zona de Reemissió
fwd_ecannot=No tens permís per editar aquesta zona
fwd_opts=Opcions de la Zona
fwd_masters=Servidors Mestres
fwd_forward=Prova altres servidors
fwd_check=Comprova els noms
fwd_err=No he pogut desar les opcions

fcreate_title=Creació de Zona de Reemissió
fcreate_ecannot=No tens permís per crear zones
fcreate_opts=Opcions de la nova zona de reemissió
fcreate_type=Tipus de Zona
fcreate_fwd=Reemissió (Noms a Adreces)
fcreate_rev=Inversa (Adreces a Noms)
fcreate_dom=Nom de domini / Xarxa
fcreate_masters=Servidors Mestres
fcreate_err=No he pogut crear la zona de reemissió

create_enet='$1' no és una xarxa vàlida
create_edom='$1' no és un nom de domini vàlid
create_edom2='$1' ha de ser un domini, no una xarxa
create_efile='$1' no és un nom de fitxer vàlid
create_efile2='$1' no és un fitxer de zona permissible
create_efile3=No he pogut crear '$1': $2
create_efile4=El fitxer $1 ja existeix
create_emaster='$1' no és una adreça de servidor mestre vàlida
create_enone=Has d'introduir almenys un servidor mestre

boot_err=La descàrrega ha fallat

type_A=Adreça
type_AAAA=Adreça IPv6
type_NS=Servidor de Noms
type_CNAME=Àlies del Nom
type_MX=Servidor de Correu
type_HINFO=Informació del Host
type_TXT=Text
type_WKS=Servei Conegut (WKS)
type_RP=Persona Responsable
type_PTR=Adreça Inversa
type_LOC=Ubicació

edit_A=Adreça
edit_AAAA=Adreça IPv6
edit_NS=Servidor de Noms
edit_CNAME=Àlies del Nom
edit_MX=Servidor de Correu
edit_HINFO=Informació del Host
edit_TXT=Text
edit_WKS=Servei Conegut (WKS)
edit_RP=Persona Responsable
edit_PTR=Adreça Inversa
edit_LOC=Ubicació

recs_A=Adreça
recs_AAAA=Adreça IPv6
recs_NS=Servidor de Noms
recs_CNAME=Àlies del Nom
recs_MX=Servidor de Correu
recs_HINFO=Informació del Host
recs_TXT=Text
recs_WKS=Servei Conegut (WKS)
recs_RP=Persona Responsable
recs_PTR=Adreça Inversa
recs_LOC=Ubicació

value_A1=Adreça
value_NS1=Servidor de Noms
value_CNAME1=Nom Real
value_MX1=Prioritat
value_MX2=Servidor de Correu
value_HINFO1=Maquinari
value_HINFO2=Sistema Operatiu
value_TXT1=Missatge
value_WKS1=Adreça
value_WKS2=Protocol
value_WKS3=Serveis
value_RP1=Adreça de Correu
value_RP2=Nom del Registre de Text
value_PTR1=Nom del Host
value_LOC1=Latitud i Longitud

warn=Avisa
fail=Falla
ignore=Ignora
default=Defecte
minutes=minuts
seconds=segons
hours=hores
days=dies
weeks=setmanes
listed=Llista...
eip='$1' no és una adreça IP vàlida

acl_zones=Dominis que aquest usuari pot editar
acl_zall=Totes les zones
acl_zsel=Zones seleccionades...
acl_znsel=Totes excepte les zones seleccionades...
acl_master=Pot crear zones mestres
acl_slave=Pot crear zones esclaves/stub
acl_forward=Pot crear zones de reemissió
acl_defaults=Pot editar les opcions globals
acl_reverse=Pot actualitzar adreces inverses de qualsevol domini
acl_multiple=Múltiples adreces poden tenir la mateixa IP
acl_ro=Mode d'accés només lectura
acl_apply=Pot aplicar els canvis
acl_dir=Restringeix els fitxers de xones noves al directori
acl_dironly=Només pot editar zones en aquest directori
acl_file=Pot editar fitxers de registres
acl_params=Pot editar els paràmetres de zona
acl_opts=Pot editar les opcions de zona
acl_delete=Pot suprimir zones
acl_findfree=Pot buscar adreces IP lliures
acl_views=Pot crear i editar vistes

servers_title=Altres Servidors DNS
servers_ip=Adreça IP
servers_bogus=Ignora el servidor bogus
servers_format=Format de transferència de zona
servers_trans=Transferències màximes
servers_one=Una per una
servers_many=Moltes
servers_err=No he pogut desar els altres servidors DNS
servers_eip='$1' no és una adreça IP vàlida
servers_etrans='$1' no és un nombre màxim de transferències vàlid

logging_title=Errors i Registre
logging_ecannot=No tens permís per configurar el registre
logging_header=Opcions globals d'errors i registre
logging_default1=Fes servir els valors de registre per defecte de BIND
logging_default2=Fes servir els valors de sota...
logging_cats=Categories de registre
logging_cat=Categoria
logging_cchans=Canals
logging_chans=Canals de registre
logging_cname=Nom del canal
logging_to=Registra a
logging_file=Fitxer
logging_fd=Descriptor de fitxer
logging_versions=Versions a conservar
logging_ver1=Cap
logging_ver2=Il·limitades
logging_size=Mida màxima de fitxer
logging_sz1=Il·limitada
logging_syslog=Nivell syslog
logging_null=Enlloc
logging_sev=Nivell mínim de missatges
logging_any=Qualsevol
logging_debug=Nivell de depuració...
logging_dyn=Nivell global
logging_pcat=Enregistra la categoria
logging_psev=Enregistra la severitat
logging_ptime=Enregistra la data i l'hora
logging_add=Afegeix un canal nou
logging_none=No hi ha cap canal de registre definit
logging_err=No he pogut desar les opcions de registre
logging_ename='$1' no és un nom de canal vàlid
logging_efile=Hi falta el nom del fitxer de registre
logging_ever='$1' no és un nombre de versions vàlid
logging_esize='$1' no és una mida de registre vàlida

acls_title=Llistes de Control d'Accés
acls_ecannot=No tens permís per editar les ACLs globals
acls_name=Nom de l'ACL
acls_values=Adreces, xarxes i ACLs que coincideixen
acls_err=No he pogut desar les llistes de control d'accés
acls_ename='$1' no és un nom d'ACL vàlid
acl_remote=Pot crear zones esclaves als servidors remots

files_title=Fitxers i Directoris
files_ecannot=No tens permís per configurar els fitxers
files_header=Opcions globals dels fitxers i directoris
files_stats=Fitxer de sortida de les estadístiques
files_dump=Fitxer de volcat de la base de dades
files_pid=Fitxer d'ID del procés
files_xfer=Camí del programa de transferència de zones
files_err=No he pogut desar les opcions dels fitxers i directoris
files_efile=Hi falta el nom del fitxer o bé no és vàlid

forwarding_title=Reemissió i Transferències
forwarding_ecannot=No tens permís per editar les opcions de transferència i reemissió
forwarding_header=Opcions globals de transferència de zona i reemissió
forwarding_fwders=Servidors per reenviar-hi consultes
forwarding_fwd=Consulta directament si no hi ha resposta del reemissor
forwarding_max=Temps màxim de transferència de zones
forwarding_format=Format de transferència de zones
forwarding_one=Una per una
forwarding_many=Moltes
forwarding_in=Nombre màxim de transferències de zona concurrents
forwarding_err=No he pogut desar les opcions de transferència i reemissió
forwarding_emins=Hi falta el temps màxim de transferència o bé és invàlid
forwarding_etrans=Hi falta el nombre màxim de transferències concorrents o bé és invàlid
forwarding_minutes=minuts

net_title=Adreces i Topologia
net_ecannot=No tens permís per editar les opcions d'adreces i topologia
net_header=Opcions globals d'adreces i topologia
net_listen=Ports i adreces a escoltar
net_below=Llistats a sota...
net_port=Port
net_addrs=Adreces
net_saddr=Adreça IP origen de les consultes
net_sport=Port origen de les consultes
net_topol=Topologia de tria de servidors de noms
net_err=No he pogut desar les opcions d'adreces i topologia
net_eport='$1' no és un número de port vàlid
net_etopology=No has introduït cap adreça de topologia
controls_title=Opcions de Control d'Interfície
controls_ecannot=No tens permís per editar les opcions de control
controls_header=Opcions de control
controls_inet=Accés al port d'Internet
controls_unix=Accés al sistema de fitxers Unix
controls_port=port
controls_allow=permet
controls_permissions=permisos
controls_owner=usuari
controls_group=grup

misc_title=Opcions Miscel.lànies
misc_ecannot=No tens permís per editar les opcions miscel·lànies
misc_header=Opcions globals miscel·lànies
misc_core=Mida màxima del volcat del nucli
misc_data=Ús màxim de memòria de dades
misc_files=Nombre màxim de fitxers oberts
misc_stack=Ús màxim de memòria de pila
misc_clean=Interval entre neteges de registres caducats
misc_iface=Interval entre comprovacions de noves interfícies
misc_stats=Interval entre estadístiques de registre
misc_recursion=Fes consultes recursives completes pels clients
misc_cnames=Permet múltiples àlies CNAME d'un nom
misc_glue=Ves a buscar registres cola
misc_nx=Estableix el bit AA a les respostes
misc_err=No he pogut desar les opcions miscel·lànies
misc_esize='$1' no és una mida vàlida
misc_efiles='$1' no és un nombre de fitxers oberts vàlid
misc_emins='$1' no és un nombre de minuts vàlid
misc_mins=mins

zonedef_title=Valors de Zona per Defecte
zonedef_msg=Valors per defecte de noves zones mestres
zonedef_err=No he pogut desar els valors de zona per defecte
zonedef_ecannot=No tens permís per canviar els valors de zona per defecte
zonedef_msg2=Valors de zona per defecte
zonedef_transfer=Permet transferències des de...
zonedef_query=Permet consultes des de...
zonedef_cmaster=Comprova els noms a les zones mestres
zonedef_cslave=Comprova els noms a les zones esclaves
zonedef_cresponse=Comprova els noms a les respostes
zonedef_notify=Notifica els canvis a les zones esclaves
zonedef_email=Adreça de correu per defecte

find_title=Recerca de Zones
find_match=Zones que coincideixin amb $1...
find_none=No s'ha trobat cap zona.

efirst=Directiva inicial errònia a la línia $1 de $2

findfree_title=Recerca d'IPs Lliures
findfree_desc=Busca IPs Lliures
findfree_nofind=No pots buscar IPs lliures
findfree_header=A $1
findfree_sopt=Opcions de recerca
findfree_IPrange=Abast IP
findfree_from=des de
findfree_to=fins a
findfree_cf=Considera els noms de host <em>'freeXXX'</em> com a IPs lliures
findfree_search=Busca

log_servers=He canviat els altres servidors DNS
log_logging=He canviat els errors i el registre
log_acls=He canviat les llistes de control d'accés
log_files=He canviat els fitxers i directoris
log_forwarding=He canviat les reemissions i les transferències
log_net=He canviat les adreces i la topologia
log_misc=He canviat les opcions miscel·lànies
log_zonedef=He canviat els valors de zona per defecte
log_apply=He aplicat els canvis
log_start=He iniciat el servidor DNS
log_apply2=He aplicat els canvis a $1
log_master=He creat la zona mestra $1
log_slave=He creat la zona esclava $1
log_stub=He creat la zona stub $1
log_forward=He creat la zona de reemissió $1
log_hint=He creat la zona arrel
log_view=He creat la vista $1
log_delete_master=He suprimit la zona mestra $1
log_delete_slave=He suprimit la zona esclava $1
log_delete_stub=He suprimit la zona stub $1
log_delete_forward=He suprimit la zona de reemissió $1
log_delete_hint=He suprimit la zona arrel
log_delete_view=He suprimit la vista $1
log_text=He editat manualment els registres de $1
log_soa=He canviat els paràmetres de zona de $1
log_opts=He canviat les opcions de zona de $1
log_delete_record=He suprimit el registre $1 $2 de la zona $3
log_create_record=He creat el registre $1 $2 a la zona $3
log_modify_record=He modificat el registre $1 $2 de la zona $3
log_boot=He creat el fitxer de configuració primària
log_move=He desplaça la zona $1
log_review=He canviat les opcions de la vista de $1

convert_err=No he pogut convertir la zona
convert_efile=Cal especificar un fitxer de registres abans de poder convertir una zona esclava a una de mestra.

whois_title=Informació WHOIS
whois_header=Resultat de l'ordre $1...

view_title=Edició de Vista Client
view_opts=Detalls de la vista client
view_name=Nom de la vista
view_class=Classe de registres DNS
view_match=Aplica aquesta vista als clients
view_recursion=Fes consultes recursives completes pels clients

vcreate_title=Creacií de Vista de Client
vcreate_match_all=Tots els clients
vcreate_match_sel=Adreces, xarxes i ACLs seleccionades
vcreate_err=No he pogut crear la vista
vcreate_ename=Hi falta el nom de la vista o bé és invàlid
vcreate_etaken=El nom de la vista ja existeix
vcreate_eclass=Hi falta el nom de la classe o bé és invàlid

hint_title=Edició de Zona Arrel
hint_desc=El servidor DNS fa servir la zona arrel per contactar amb els servidors arrel d'Internet, de manera que pugui resoldre els noms dels dominis no gestionats per ell mateix, com ara <tt>.com</tt> o <tt>.net.au</tt>. A menys que el teu sercidor DNS sigui per utilitzar en una xarxa interna o estiguis reenviant totes les peticions a un altre servidor, no has de suprimir aquesta zona arrel.
hint_move=Desplaça-la a la vista:
hint_ecannot=No tens permís per editar aquesta zona arrel

hcreate_title=Creació de Zona Arrel
hcreate_desc=El servidor DNS fa servir la zona arrel per contactar amb els servidors arrel d'Internet, de manera que pugui resoldre els noms dels dominis no gestionats per ell mateix, com ara <tt>.com</tt> o <tt>.net.au</tt>. Si estàs fent servir més d'una vista, potser hauràs de tenir zones arrel separades per cada vista, de manera que tots els clients puguin resoldre adequadament els dominis d'Internet.
hcreate_file=Emmagatzema els servidors arrel al fitxer
hcreate_real=Treu els servidors arrel de
hcreate_keep=Servidors arrel existents al fitxer
hcreate_down=Descarrega'ls del servidor FTP arrel
hcreate_webmin=Fes servir la informació antiga del servidor arrel de Webmin
hcreate_ecannot=No tens permís per crear zones arrel
hcreate_efile='$1' no és un fitxer arrel permissible
hcreate_efile2=Hi falta el fitxer arrel o bé és invàlid
mcreate_erecs=No és un fitxer de zona arrel vàlid
hcreate_err=No he pogut crear la zona arrel

vdelete_title=Supressió de Vista
vdelete_mesg=Segur que vols suprimir la vista client $1? Totes les zones d'aquesta vista seran esborrades  (juntament amb tots els seus fitxers de zona) o desplaçats a una altra vista depenent de la selecció inferior.
vdelete_mesg2=Segur que vols  suprimir la vista client $1?
vdelete_newview=Zones d0'aquesta vista
vdelete_root=Treu-les de les vistes
vdelete_delete=Suprimeix-les totalment
vdelete_move=Desplaça-les a la vista

   07070100048198000081a40000000000000002000000013d1fe2d200003741000000200000000000000000000000000000001400000003reloc/bind8/lang/cz   index_title=BIND 8 DNS Server
index_enamed=BIND 8 DNS server $1 nebyl ve Va¹em systému nalezen. Buï není instalován, nebo Va¹e <a href='$2'>BIND 8 module konfigurace</a> není korektní.
index_eversion=Spustitelný soubor $1 pro BIND 8 neexistuje. Mo¾ná by jste mìli pou¾ít místo <a href='$2'>BIND 4 modul</a>.
index_eempty=Primární konfiguraèní soubor BINDu Version 8 $1 neexistuje, nebo není platný. Vytvoøit jej?
index_local=Nastavit nameserver pouze pro interní ne-internet pou¾ití
index_download=Nastavit jako internet name server a stáhnout informace root serveru
index_webmin=Nastavit jako internet name server, ale pou¾ít star¹í informace o root serveru z Webminu 
index_create=Vytvoøit primární konfiguraèní soubor a Start Nameserver
index_zones=Existující DNS zóny
index_none=Nejsou definovány ¾ádné DNS zóny pro tento name server
index_addmaster=Vytvoøit novou master (hlavní) zónu
index_addslave=Vytvoøit novou slave (podøízenou) zónu
index_addstub=Vytvoøit novou stub zónu
index_addfwd=Vytvoøit novou forward zónu
index_apply=Pou¾ít zmìny
index_applymsg=Kliknutín na tlaèítko se restartuje bì¾ící BIND 8 server. Je to nutné pro aktivování nastavené aktuální konfigurace
index_start=Start name serveru
index_startmsg=Kliknutím na tlaèítko se nastartuje BIND 8 server a pou¾ije se aktuální konfigurace
index_zone=Zóna
index_type=Typ
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Forward
index_opts=Globální nastavení serveru
index_return=seznam zón

master_title=Editovat Master Zónu
master_ecannot=Nemáte oprávnìní editovat tuto zónu
master_manual=Editovat soubor záznamù
master_soa=Editovat parametry zóny
master_options=Editovat vlastnosti zóny
master_del=Smazat zónu
master_delmsg=Kliknutím na tlaèítko bude tato zóna vymazána z DNS serveru.
master_delrev=Srovnatelné reverzní záznamy v jiných zónách tohoto serveru budou také vymazány.
master_tmpl=Pou¾ít vzorovou zónu?
master_ip=IP adresy pro vzorové záznamy?
master_params=Parametry zóny
master_server=Master server
master_email=Emailové adresy
master_refresh=Refresh time
master_retry=Èas opakovaného pøenosu
master_expiry=Èas expirace
master_minimum=Defaultní time-to-live
master_opts=Vlastnosti zóny
master_check=Provìøit jména?
master_notify=Informovat podøízené servery o zmìnách?
master_update=Povolit updaty z..
master_transfer=Povolit pøenos z..
master_query=Povolit dotazy z..
master_notify2=Povolit informování podøízených serverù..
master_type=Typ
master_records=Záznamy
master_return=typy záznamù
master_secs=seconds
master_err=Chyba pøi ukládání
master_ero=Nemáte oprávnìní pro update zón
master_err2=Chyba pøi updatu zóny
master_emaster='$1' není platný master server
master_eemail='$1' není platná emailová adresa
master_erefresh='$1' není platný refresh èas
master_eretry='$1' není platný èas znovu opakování pøenosu
master_eexpiry='$1' není platný èas expirace
master_eminimum='$1' není platný defaultní TTL
master_edelete=Nemáte povolení vymazat tuto zónu
master_tmplrecs=Vzorové záznamy
master_name=Jméno záznamu
master_value=Hodnota
master_user=Z formuláøe
master_eip=Chybìjící nebo neplatná vzorová IP adresa
master_eiptmpl=Hodnota vzorového záznamu mù¾e pocházet pouze from for(z, pro) záznamy adres
master_esoacannot=Nemáte oprávnìní editovat parametry zón
master_eoptscannot=Nemáte oprávnìní editovat vlastnosti zón
master_edeletecannot=Nemáte oprávnìní vymazávat zóny

delete_title=Smazat zónu
delete_mesg=Opravdu chcete vymazat zónu $1 ? V¹echny záznamy této zóny budou vymazány.
delete_rev=Vymazat reverzní záznamy v ostatních zónách?
delete_fwd=Vymazat forward záznamy v ostatních zónách?

mcreate_title=Vytvoøit master zónu
mcreate_ecannot=Nemù¾ete vytváøet master zóny
mcreate_opts=Vlastnosti nové master zóny
mcreate_type=Typ zóny
mcreate_fwd=Forward (Jména na adresy)
mcreate_rev=Reverse (Adresy na jména)
mcreate_dom=Doménové jméno / Sí»
mcreate_file=Soubor záznamù
mcreate_auto=Automatic
mcreate_err=Chyba pøi vytváøení zóny
mcreate_enet='$1' není platná sí»
mcreate_edom='$1' není platné doménové jméno
mcreate_edom2='$1' musí být doména, ne sí»
mcreate_efile='$1' není platné jméno souboru
mcreate_efile2='$1' není dostupný zónový soubor
mcreate_efile3=Chyba pøi vytváøení '$1' : $2

slave_title=Editovat slave zónu
stub_title=Editovat stub zónu
slave_ecannot=Nemáte oprávnìní editovat tuto zónu
slave_opts=Vlastnosti zóny
slave_masters=Master servery
slave_max=Maximální délka pøenosu
slave_file=Soubor záznamù
slave_check=Provìøit jména?
slave_notify=Informovat podøízené servery o zmìnách?
slave_update=Povolit updaty z..
slave_transfer=Povolit pøenosy z..
slave_query=Povolit dotazy z..
slave_notify2=Informovat také podøízené servery..
slave_none=Nic
slave_auto=Automatic
slave_err=Chyba pøi ukládání
slave_emax='$1' není platný maximální èas pøenosu
slave_efile=Chybìjící soubor záznamù
slave_efile2='$1' není dostupný soubor záznamù

screate_title1=Vytvoøit slave zónu
screate_title2=Vytvoøit stub zónu
screate_ecannot1=Nemáte oprávnìní vytváøet slave zóny
screate_ecannot2=Nemáte oprávnìní vytváøet stub zóny
screate_header1=Vlastnosti nové slave zóny
screate_header2=Vlastnosti nové stub zóny
screate_type=Typ zóny
screate_fwd=Forward (Jména na adresy)
screate_rev=Reverse (Adresy na jména)
screate_dom=Doménové jméno / Sí»
screate_err1=Chyba pøi vytváøení slave zóny
screate_err2=Chyba pøi vytváøení stub zóny
screate_enet='$1' není platná sí»
screate_edom='$1' není platné doménové jméno
screate_emaster='$1' není platná adresa master serveru
screate_enone=Musíte nastavit alespoò jeden master server
screate_efile='$1' není platné jméno souboru
screate_efile2='$1' není dostupný zónový soubor
screate_efile3=Chyba pøi vytváøení '$1' : $2

recs_ecannot=Nemáte oprávnìní editovat záznamy v této zónì
recs_title=$1 záznamy
recs_header=V $1
recs_addr=Adresy
recs_name=Jméno
recs_ttl=TTL
recs_return=záznamy

edit_title=Editovat $1
edit_header=V $1
edit_edit=Editovat záznam $1
edit_add=Pøidat záznam $1
edit_addr=Adresy
edit_name=Jméno
edit_ttl=Time-To-Live
edit_cnamemsg=Absolutní jménu musí konèit teèkou "."
edit_uprev=Aktualizovat (Update) reverse?
edit_upfwd=Aktualizovat (Update) forward?
edit_err=Chyba pøi ukládání záznamu
edit_ettl='$1' není platný time-to-live
edit_eip='$1' není platná IP adresa
edit_ehost='$1' není platné jméno poèítaèe
edit_ename='$1' není platné jméno záznamu
edit_edupip=Záznam adres pro $1 ji¾ existuje
edit_ens='$1' není platný nameserver
edit_ecname='$1' není platný alias cíle (alias target)
edit_emx='$1' není platný mail server
edit_epri='$1' není platná priorita
edit_ehard=Chybìjící nebo neplatný typ hardware
edit_eos=Chybìjící nebo neplatný typ OS
edit_eserv=You did not enter any well known services
edit_eemail='$1' není platná emailová adresa
edit_etxt='$1' není platné jméno záznamu (text record name)

text_title=Editovat soubor záznamù
text_desc=Tento formuláø umo¾òuje manuálnì editovat DNS záznamy souboru $1. Webminem nebude provádìna ¾ádná syntaktická kontrola ani sériové èíslo zóny nebude automaticky navý¹eno.
text_undo=Zpìt
text_ecannot=Nemáte oprávnìní editovat záznamový soubor

restart_ecannot=Nemáte oprávnìní restartovat BIND
restart_esig=Chybný signál procesu $1 : $2
start_ecannot=Nemáte oprávnìní spustit BIND
start_error=Chyba pøi startu BINDu : $1

fwd_title=Editovat Forward Zónu
fwd_ecannot=Nemáte oprávní editovat tuto zónu
fwd_opts=Vlastnosti zóny
fwd_masters=Master servery
fwd_forward=Zkusit dal¹í servery?
fwd_check=Zkontrolovat jména?
fwd_err=Chyba pøi ukládání vlastností

fcreate_title=Vytvoøit Forward Zónu
fcreate_ecannot=Nemáte oprávnìní vytvoøit forward zónu
fcreate_opts=Vlastnosti nové forward zóny
fcreate_type=Typ zóny
fcreate_fwd=Forward (Jména na adresy)
fcreate_rev=Reverse (Adresy na jména)
fcreate_dom=Doménové jméno/Sí»
fcreate_masters=Master servery
fcreate_err=Chyba pøi vytváøení forward zóny
fcreate_enet='$1' není platná sí»
fcreate_edom='$1' není platné doménové jméno
fcreate_emaster='$1' není platná adresa master serveru
fcreate_enone=Musíte zadat minimálnì jeden master server

boot_err=Chyba stahování (downloadu)

type_A=Adresa (A)
type_NS=Jmenný Server (NS)
type_CNAME=Alias jméno (CNAME)
type_MX=Mail Server (MX)
type_HINFO=Informace o systému (HINFO)
type_TXT=Text (TXT)
type_WKS=Dobøe známá slu¾ba (WKS)
type_RP=Odpovìdná osoba (RP)
type_PTR=Reverzní adresy (PTR)

value_A1=Addresy
value_NS1=Jmenný Server
value_CNAME1=Reálné jméno
value_MX1=Priority
value_MX2=Mail Server
value_HINFO1=Hardware
value_HINFO2=Operaèní systém
value_TXT1=Zpráva
value_WKS1=Addresa
value_WKS2=Protocol
value_WKS3=Services
value_RP1=Email Addresa
value_RP2=Textová záznam
value_PTR1=Jméno poèítaèe

warn=Varování
fail=Chyba
ignore=Ignorovat
default=Defaultní
listed=Listovat ..
eip='$1' není platná IP adresa

acl_zones=Domény, které mù¾e u¾ivatel editovat
acl_master=Mù¾e vytvoøit master zóny?
acl_slave=Mù¾e vytvoøit slave/stub zóny?
acl_forward=Mù¾e vytvoøit forward zóny?
acl_defaults=Mù¾e editovat globální vlastnosti?
acl_reverse=Mù¾e aktualizovat reverzní adresy v¹ech domén?
acl_multiple=Mù¾e vícenásobnì adresovat stejnou IP adresu?
acl_ro=Pouze Read-only pøístup?
acl_apply=Mù¾e pou¾ít zmìny?
acl_dir=Restrict zone files to directory
acl_file=Mù¾e editovat soubory záznamù?
acl_params=Mù¾e editovat parametry zóny?
acl_opts=Mù¾e editovat vlastnosti zóny?
acl_delete=Mù¾e vymazat zónu?

servers_title=Dal¹í DNS Servery
servers_ip=IP adresy
servers_bogus=Ignorovat bogus server?
servers_format=Formát transfer zóny
servers_trans=Maximální transfery
servers_one=Po jednom
servers_many=Více (mnoho)
servers_err=Chyba pøi ukládání dal¹ích DNS serverù
servers_eip='$1' není platná IP adresa
servers_etrans='$1' není platný poèet maximálních transferù

logging_title=Logování a chyby
logging_ecannot=Nemáte oprávnìní konfigurovat logování
logging_header=Globalní logování and vlastnosti chyb
logging_default1=Pou¾ít defaultní BIND's nastavení logování
logging_default2=Pou¾ít nastavení ..
logging_cats=Kategorie logování
logging_cat=Kategorie
logging_cchans=Kanály
logging_chans=Logovací kanály
logging_cname=Jméno kanálu
logging_to=Logovat do
logging_file=Soubor
logging_fd=Popis souboru
logging_versions=Udr¾ovat verzi
logging_ver1=Nic
logging_ver2=Nelimitovat
logging_size=Maximální velikost souboru
logging_sz1=Nelimitovat
logging_syslog=Úroveò Syslogu
logging_null=Nikam
logging_sev=Minimální úroveò hlá¹ení
logging_any=Any
logging_debug=Debug úroveò ..
logging_dyn=Globální úroveò
logging_pcat=Kategorie záznamù v logu
logging_psev=Record severity in log
logging_ptime=Datum a èas záznamù v logu
logging_add=Pøidat nový kanál
logging_none=Není definován ¾ádný kanál
logging_err=Chyba pøi ukládání vlastnosti logování
logging_ename='$1' není platné jméno kanálu
logging_efile=Chybìjící jméno souboru
logging_ever='$1' není platné èíslo verze
logging_esize='$1'není platná velikost logu

acls_title=Pøístupový list
acls_ecannot=Nemáte oprávnìní editovat globální pøístupový seznam
acls_name=Jméno pøístupového seznamu
acls_values=Výbìr adres, sítí a pøístupových seznamù
acls_err=Chyba pøi ukládání pøístupového seznamu
acls_ename='$1' není platné jméno pøístupového seznamue

files_title=Soubory a adresáøe
files_ecannot=Nemáte oprávnìní konfigurovat soubory
files_header=Globální nastavení vlastností souborù a adresáøù
files_stats=Soubor statistických výstupù
files_dump=Database dump file
files_pid=Process ID file
files_xfer=Cesta k programu pro transfer zón
files_err=Chyba pøi ukládání vlastností souborù a adresáøù
files_efile=Chybìjící nebo neplatné jméno souboru

forwarding_title=Forwardování a transformace (transfery)
forwarding_ecannot=Nemáte oprávnìní editovat vlastnosti forwardování a transformací
forwarding_header=Globální vlastnosti forwardování a transformací zón
forwarding_fwders=Servers to forward queries to
forwarding_fwd=Lookup directly if no response from forwarder
forwarding_max=Maximální doba transferu
forwarding_format=Fromát Zone transfer
forwarding_one=Po jednom
forwarding_many=Více (mnoho)
forwarding_in=Maximum concurrent zone transfers
forwarding_err=Chyba pøi ukládání vlastností vlastnosti forwardování a transformací 
forwarding_emins=Chybìjící nebo neplatná doba  maximáln transformace
forwarding_etrans=Missing or invalid maximum concurrent transfers

net_title=Adresace a topologie
net_ecannot=Nemáte oprávnìní editovat vlastnosti adresace a topologie
net_header=Globální vlastnosti adresace a topologie
net_listen=Porty a adresy naslouchají na 
net_below=Listed below..
net_port=Port
net_addrs=Addresy
net_saddr=Zdrojová adresa pro dotazy
net_sport=Zdrojový port pro dotazy
net_topol=Nameserver choice topology
net_err=Chyba pøi ukládání vlastností adresování a topologie
net_eport='$1' není platné èíslo portu

misc_title=Dal¹í roz¹íøené vlastnosti
misc_ecannot=Nemáte oprávnìní konfigurovat roz¹íøené vlastnosti
misc_header=Globální roz¹íøené vlastnosti
misc_core=Maximální velikost core dump
misc_data=Maximální velikost pou¾ité pamìti
misc_files=Maximum otevøených souborù
misc_stack=Maximum velikost zabrané pamìti stack
misc_clean=Interval mezi vymazáním vypr¹elých záznamù
misc_iface=Interval mezi zji¹»ováním nového rozhraní
misc_stats=Interval mezi zapisováním událostí (logováním)
misc_recursion=Provádìt plné rekruzívní lookups klientù?
misc_cnames=Povolit vícenásobné CNAME aliasy jednoho jména?
misc_glue=Pøidávat tmelicí záznamy?
misc_nx=Nastavit autoritativní AA bit pøi odpovìdi?
misc_err=Chyba pøu ukládání roz¹íøených mo¾ností
misc_esize='$1' není platná velikost
misc_efiles='$1' není platné èíslo maximálního poètu otevøených souborù
misc_emins='$1' není platný poèet minut

zonedef_title=Defaultní zóna
zonedef_msg=Defaultní hodnoty nových master zón
zonedef_err=Chyba pøi ukládání defaultních hodnot master zón
zonedef_ecannot=Nemáte oprávnìní mìnit defaultní hodnoty master zón
zonedef_msg2=Nastavení defaultních vlastností zón
zonedef_transfer=Povolit transfér z ..
zonedef_query=Povolit dotazy z ..
zonedef_cmaster=Kontrolovat jména va master zónách?
zonedef_cslave=Kontrolovat jména v podøízených zónách?
zonedef_cresponse=Kontrolovat jména v odpovìdích?
zonedef_notify=Informovat podøízené o zmìnách?

efirst=©patná první directiva na øádku $1 v $2
   0707010004821f000081a40000000000000002000000013d1fe2d20000542e000000200000000000000000000000000000001400000003reloc/bind8/lang/de   index_title=BIND-DNS-Server
index_enamed=Der BIND-DNS-Server $1 konnte nicht auf Ihrem System gefunden werden. Entweder ist er nicht installiert oder die <a href='$2'>BIND-Modulkonfiguration</a> ist inkorrekt. 
index_eversion=Die ausf&uuml;hrbare Server-Datei $1 scheint nicht BIND 8 oder 9 zu sein. Eventuell sollten Sie das <a href='$2'>BIND-4-Modul</a> benutzen.
index_eempty=Die prim&auml;re Konfigurationsdatei $1 f&uuml;r BIND existiert nicht oder ist ung&uuml;ltig. Soll sie angelegt werden? 
index_local=Nameserver nur f&uuml;r internen Gebrauch (nicht f&uuml;r Internet) einrichten
index_download=Einrichten als Internet-Nameserver, und Root-Server-Informationen herunterladen
index_webmin=Einrichten als Internet-Nameserver, aber Webmins &auml;ltere Root-Server-Informationen benutzen
index_create=Prim&auml;re Konfigurationsdatei anlegen und Nameserver starten
index_zones=Existierende DNS-Zonen
index_none=Es sind keine Zonen f&uuml;r diesen Nameserver definiert
index_addmaster=Neue Master-Zone anlegen
index_addslave=Neue Slave-Zone anlegen
index_addstub=Neue Stub-Zone anlegen
index_addfwd=Neue Weiterleitungs-Zone anlegen
index_apply=&Auml;nderungen zuweisen
index_applymsg=Klicken Sie auf diese Schaltfl&auml;che, um den laufenden BIND-Server neu zu starten. Dies wird die aktuelle Konfiguration aktivieren. 
index_start=Starte Nameserver
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den BIND-Server zu starten und die Konfiguration zu laden
index_zone=Zone
index_type=Typ
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Weiterleiten
index_opts=Globale Server-Einstellungen
index_return=Zonenliste
index_toomany=Es gibt zuviele Zonen auf diesem System um hier angezeigt zu werden
index_find=FindeZonen, die passen zu:
index_search=Suche
index_view=(In Ansicht $1)
index_views=Existierende Client Ansichten
index_vnone=Auf diesem Server sind keine Client Ansichten definiert.
index_addview=Erstelle eine neue Ansicht
index_root=Root zone
index_addhint=Erstelle eine neue Root Zone


master_title=Bearbeite Master-Zone
master_ecannot=Sie haben keine Berechtigung, diese Zone zu bearbeiten.
master_manual=Bearbeite Datensatzdatei
master_soa=Bearbeite Zonenparameter
master_options=Bearbeite Zoneneinstellungen
master_del=L&ouml;sche Zone
master_delmsg=Klicken Sie auf diese Schaltfl&auml;che, um die Zone aus Ihrem DNS-Server zu l&ouml;schen
master_delrev=Passende Adresseneintr&auml;ge in anderen Datens&auml;tzen auf diesem Server werden auch gel&ouml;scht
master_tmpl=Zonenvorlage benutzen?
master_ip=IP-Adresse f&uuml;r Vorlagendatens&auml;tze?
master_params=Zonenparameter
master_server=Master-Server
master_email=E-Mail-Adresse
master_refresh=Zeit aktualisieren
master_retry=Wiederholungszeit transferieren
master_expiry=Ablaufzeit
master_minimum=Standard-Time-To-Live
master_opts=Zoneneinstellungen
master_check=Namen &uuml;berpr&uuml;fen?
master_notify=Slaves &uuml;ber &Auml;nderungen benachrichtigen?
master_update=Updates von erlauben..
master_transfer=Transfers von erlauben..
master_query=Anfragen erlauben von..
master_notify2=Auch Slaves benachrichtigen..
master_type=Typ
master_records=Datens&auml;tze
master_return=Datensatztypen
master_err=Fehler beim Speichern der Einstellungen
master_ero=Sie haben keine Berechtigung, Zonen zu aktualisieren
master_err2=Fehler beim Aktualisieren der Zone
master_emaster='$1' ist kein g&uuml;ltiger Master-Server
master_eemail='$1' ist keine g&uuml;ltige E-Mail-Adresse
master_erefresh='$1' ist keine g&uuml;ltige Aktualisierungszeit
master_eretry='$1' ist keine g&uuml;ltige Transferwiederholungszeit
master_eexpiry='$1' ist keine g&uuml;ltige Ablaufzeit
master_eminimum='$1' ist keine g&uuml;ltige Standard-TTL
master_edelete=Sie haben keine Berechtigung, diese Zone zu aktualisieren
master_tmplrecs=Vorlagendatens&auml;tze
master_name=Datensatzname
master_value=Wert
master_user=Von Formular
master_eip=Vorlagen-IP-Adresse fehlt oder ist ung&uuml;ltig
master_eiptmpl=Werte f&uuml;r Vorlageneintr&auml;ge k&ouml;nnen nur von Adresseintr&auml;ge kommen
master_esoacannot=Sie haben keine Berechtigung, Zonenparameter zu bearbeiten
master_eoptscannot=Sie haben keine Berechtigung, Zoneneinstellungen zu bearbeiten
master_edeletecannot=Sie haben keine Berechtigung, Zonen zu l&ouml;schen
master_include=Zus&auml;tzliche Vorlagendatei
delete_title=Zone l&ouml;schen
delete_mesg=Sind Sie sicher, dass Sie die Zone $1 l&ouml;schen wollen? Alle Eintr&auml;ge in dieser Zonendatei werden gel&ouml;scht werden.
delete_rev=Adress-zu-Namen-Eintr&auml;ge in anderen Zonen l&ouml;schen?
delete_fwd=Namen-zu-Adressen-Eintr&auml;ge in andern Zonen l&ouml;schen?
mcreate_title=Master-Zone erstellen
mcreate_ecannot=Sie k&ouml;nnen keine Master-Zonen erstellen
mcreate_opts=Einstellungen der neuen Master Zone
mcreate_type=Zonentyp
mcreate_fwd=Forward (Namen zu Adressen)
mcreate_rev=Reverse (Adressen zu Namen)
mcreate_dom=Dom&auml;nenname / Netzwerk
mcreate_file=Datensatzdatei
mcreate_auto=Automatisch
mcreate_err=Fehler beim Anlegen der Master-Zone
slave_title=Slave-Zone bearbeiten
stub_title=Stub-Zone bearbeiten
slave_ecannot=Sie haben keine Berechtigung, diese Zone zu bearbeiten.
slave_opts=Zoneneinstellungen
slave_masters=Master-Server
slave_max=Maximale Transferzeit
slave_file=Datensatzdatei
slave_check=Namen &uuml;berpr&uuml;fen?
slave_notify=Slaves &uuml;ber &Auml;nderungen benachrichtigen?
slave_update=Updates von erlauben..
slave_transfer=Transfers von erlauben..
slave_query=Anfragen erlauben von..
slave_notify2=Auch Slaves benachrichtigen..
slave_none=Keine
slave_auto=Automatisch
slave_err=Fehler beim Speichern der Einstellungen
slave_emax='$1' ist keine g&uuml;ltige maximale Transferzeit
slave_efile=Fehlende Datensatzdatei
slave_efile2='$1' ist keine erlaubte Datensatzdatei
slave_mins=Minuten
screate_title1=Slave-Zone erstellen
screate_title2=Stub-Zone erstellen
screate_ecannot1=Sie haben keine Berechtigung, Slave-Zonen anzulegen
screate_ecannot2=Sie haben keine Berechtigung, Stub-Zonen anzulegen
screate_header1=Einstellungen der neuen Slave-Zone
screate_header2=Einstellungen der neuen Stub-Zone
screate_type=Zonentyp
screate_fwd=Forward (Namen zu Adressen)
screate_rev=Reverse (Adressen zu Namen)
screate_dom=Dom&auml;nenname / Netzwerk
screate_err1=Fehler beim Anlegen der Slave-Zone
screate_err2=Fehler beim Anlegen der Stub-Zone
recs_ecannot=Sie haben keine Berechtigung, Datens&auml;tze in dieser Zone zu bearbeiten
recs_title=$1 Datens&auml;tze
recs_header=In $1
recs_addr=Adresse
recs_name=Name
recs_ttl=TTL
recs_return=Datensatztypen
edit_title=Bearbeite $1
edit_header=In $1
edit_edit=Bearbeite $1 Datensatz
edit_add=F&uuml;ge $1 Datensatz hinzu
edit_addr=Adresse
edit_name=Name
edit_ttl=Time-To-Live
edit_cnamemsg=Absolute Namen m&uuml;ssen mit einem Punkt (.) enden
edit_uprev=Reverse aktualisieren?
edit_upfwd=Forward aktualisieren?
edit_err=Fehler beim Speichern des Datensatzes
edit_ettl='$1' ist keine g&uuml;ltige Time-To-Live
edit_eip='$1' ist keine g&uuml;ltige IP-Adresse
edit_ehost='$1' ist kein g&uuml;ltiger Host-Name
edit_ename='$1' ist kein g&uuml;ltiger Datensatzname
edit_edupip=Es existiert bereits ein Adressdatensatz f&uuml;r $1
edit_ens='$1' ist kein g&uuml;ltiger Nameserver
edit_ecname='$1' ist kein g&uuml;ltiges Alias-Ziel
edit_emx='$1' ist kein g&uuml;ltiger Mailserver
edit_epri='$1' ist keine g&uuml;ltige Priorit&auml;t
edit_ehard=Fehlender oder ung&uuml;ltiger Hardware-Typ
edit_eos=Fehlender oder ung&uuml;ltiger Betriebssystemtyp
edit_eserv=Sie haben keinen bekannten Dienst eingetragen
edit_eemail='$1' ist keine g&uuml;ltige E-Mail-Adresse
edit_etxt='$1' ist kein g&uuml;ltiger Datensatzname
edit_return=Datens&auml;tze
text_title=Bearbeite Datensatzdatei
text_desc=Dieses Formular erlaubt es Ihnen, die DNS-Datensatzdatei $1 manuell zu bearbeiten. Es wird keine Syntax-&Uuml;berpr&uuml;fung von Webmin durchgef&uuml;hrt, und die Zonenseriennummer wird nicht automatisch erh&ouml;ht $1. 
text_undo=R&uuml;ckg&auml;ngig
text_ecannot=Sie haben keine Berechtigung, die Dateien direkt zu bearbeiten
restart_ecannot=Sie haben keine Berechtigung, BIND neu zu starten
restart_esig=Fehler beim Signalisieren des Prozesses $1 : $2 
start_ecannot=Sie haben keine Berechtigung, BIND zu starten
start_error=Fehler beim Starten von BIND : $1
fwd_title=Bearbeite Forward-Zone
fwd_ecannot=Sie haben keine Berechtigung, diese Zone zu bearbeiten.
fwd_opts=Zoneneinstellungen
fwd_masters=Master-Server
fwd_forward=Versuche andere Server?
fwd_check=Namen &uuml;berpr&uuml;fen?
fwd_err=Fehler beim Speichern der Einstellungen
fcreate_title=Erstelle Forward-Zone
fcreate_ecannot=Sie haben keine Berechtigung, Forward-Zonen anzulegen
fcreate_opts=Einstellungen der neuen Forward-Zone
fcreate_type=Zonentyp
fcreate_fwd=Forward (Namen zu Adressen)
fcreate_rev=Reverse (Adressen zu Namen)
fcreate_dom=Dom&auml;nenname / Netzwerk
fcreate_masters=Master-Server
fcreate_err=Fehler beim Anlegen der Forward-Zone
create_enet='$1' ist kein g&uuml;ltiges Netzwerk
create_edom='$1' ist kein g&uuml;ltiger Dom&auml;nenname
create_edom2='$1' muss eine Dom&auml;ne und kein Netzwerk sein
create_efile='$1' ist kein g&uuml;ltiger Dateiname
create_efile2='$1' ist keine g&uuml;ltige Zonendatei
create_efile3=Fehler beim Erstellen von '$1' : $2 
create_emaster='$1' ist keine g&uuml;ltige Adresse eines Master Servers
create_enone=Sie m&uuml;ssen mindestens einen Master-Server angeben
boot_err=Download schlug fehl
type_A=Adresse
type_NS=Name-Server
type_CNAME=Namens-Alias
type_MX=Mail-Server
type_HINFO=Host-Information
type_TXT=Text
type_WKS=Bekannter Dienst
type_RP=Verantwortliche Person
type_PTR=Reverse-Adresse
edit_A=Adresse
edit_NS=Name-Server
edit_CNAME=Namens-Alias
edit_MX=Mail-Server
edit_HINFO=Host-Information
edit_TXT=Text
edit_WKS=Bekannter Dienst
edit_RP=Verantwortliche Person
edit_PTR=Reverse-Adresse
recs_A=Adresse
recs_NS=Name-Server
recs_CNAME=Namens-Alias
recs_MX=Mail-Server
recs_HINFO=Host-Information
recs_TXT=Text
recs_WKS=Bekannter Dienst
recs_RP=Verantwortliche Person
recs_PTR=Reverse-Adresse
value_A1=Adresse
value_NS1=Name-Server
value_CNAME1=Wirklicher Name
value_MX1=Priorit&auml;t
value_MX2=Mail-Server
value_HINFO1=Hardware
value_HINFO2=Betriebssystem
value_TXT1=Nachricht
value_WKS1=Adresse
value_WKS2=Protokoll
value_WKS3=Dienste
value_RP1=E-Mail-Adresse
value_RP2=Textdatensatzname
value_PTR1=Host-Name
warn=Warnen
fail=Fehler
ignore=Ignorieren
default=Standard
listed=Aufgelistet ..
eip='$1' ist keine g&uuml;ltige IP-Adresse
acl_zones=Dom&auml;nen, die dieser Benutzer bearbeiten darf
acl_master=Darf neue Master-Zonen anlegen?
acl_slave=Darf neue Slave-/Stub-Zonen anlegen?
acl_forward=Darf Forward-Zonen anlegen?
acl_defaults=Darf globale Optionen bearbeiten?
acl_reverse=Darf Reverse-Adressen in jeder Dom&auml;ne aktualisieren?
acl_multiple=K&ouml;nnen mehrere Adressen die gleiche IP haben?
acl_ro=Schreibgesch&uuml;tzer Zugriffsmodus?
acl_dir=Beschr&auml;nke Zonendateien auf Verzeichnis
acl_file=Darf Datensatzdatei direkt bearbeiten?
acl_params=Darf Zonenparameter bearbeiten?
acl_opts=Darf Zoneneinstellungen bearbeiten?
acl_delete=Darf Zonen l&ouml;schen?
servers_title=Andere DNS-Server
servers_ip=IP-Adressen
servers_bogus=Erfundene Server ignorieren?
servers_format=Zonentransferformat
servers_trans=Maximale Transfers
servers_one=Immer nur einen
servers_many=Viele
servers_err=Fehler beim Speichern anderer DNS-Server
servers_eip='$1' ist keine g&uuml;ltige IP-Adresse
servers_etrans='$1' ist keine g&uuml;ltige Anzahl von maximalen Transfers
logging_title=Protokollierung und Fehler
logging_ecannot=Sie haben keine Berechtigung, die Protokollierung zu konfigurieren
logging_header=Globale Protokollierungs- und Fehleroptionen
logging_default1=BINDs Standardprotokollierungseinstellungen benutzen
logging_default2=Einstellungen unten benutzen..
logging_cats=Protokollierungskategorien
logging_cat=Kategorie
logging_cchans=Kan&auml;le
logging_chans=Protokollierungskan&auml;le
logging_cname=Kanalname
logging_to=Protokollieren auf
logging_file=Datei
logging_fd=Dateiname
logging_versions=Zu behaltende Versionen
logging_ver1=Keine
logging_ver2=Unbegrenzt
logging_size=Maximale Dateigr&ouml;&szlig;e
logging_sz1=Unbegrenzt
logging_syslog=Syslog-Level
logging_null=Nirgendwo
logging_sev=Minimale Meldungsstufe
logging_any=Beliebig
logging_debug=Debug-Level ..
logging_dyn=Globaler Level
logging_pcat=Vermerke Kategorie in der Protokolldatei
logging_psev=Vermerke Schweregrad in der Protokolldatei
logging_ptime=Vermerke Datum und Zeit in der Protokolldatei
logging_add=Neuen Kanal hinzuf&uuml;gen
logging_none=Keine Protokollierungskan&auml;le definiert.
logging_err=Fehler beim Speichern der Protokollierungseinstellungen
logging_ename='$1' ist kein g&uuml;ltiger Kanalname
logging_efile=Fehlender Dateiname f&uuml;r Protokoll
logging_ever='$1' ist keine g&uuml;ltige Anzahl von Versionen
logging_esize='$1' ist keine g&uuml;ltige Gr&ouml;&szlig;enangabe f&uuml;r das Protokoll
acls_title=Zugriffskontrolllisten
acls_ecannot=Sie haben keine Berechtigung, die globale Zugriffskontroll-acls zu bearbeiten.
acls_name=ACL-Name
acls_values=Passende Adressen, Netzwerke und ACLs
acls_err=Fehler beim Speichern der Zugriffseinstellungen
acls_ename='$1' ist kein g&uuml;ltiger ACL-Name
files_title=Dateien und Verzeichnisse
files_ecannot=Sie haben keine Berechtigung, Dateien zu konfigurieren
files_header=Globale Datei- und Verzeichniseinstellungen
files_stats=Ausgabedatei f&uuml;r Statistiken
files_dump=Datenbanksicherungsdatei
files_pid=Prozess-ID-Datei
files_xfer=Pfad zum Zonentransferprogramm
files_err=Fehler beim Speichern der Einstellungen f&uuml;r Dateien und Verzeichnisse
files_efile=Fehlender oder ung&uuml;ltiger Dateiname
forwarding_title=Weiterleitungen und Transfers
forwarding_ecannot=Sie haben keine Berechtigung, Weiterleitungs- und Transfereinstellungen zu bearbeiten
forwarding_header=Globale Weiterleitungs- und Transfereinstellungen
forwarding_fwders=Server, an die Anfragen weitergeleitet werden sollen
forwarding_fwd=Direkter Lookup, wenn keine Antwort von der Weiterleitung erhalten wird
forwarding_max=Maximale Zonentransferzeit
forwarding_format=Zonentransferformat
forwarding_one=Immer nur einen
forwarding_many=Viele
forwarding_in=Maximale Anzahl gleichzeitiger Zonentransfers
forwarding_err=Fehler beim Speichern der Weiterleitungs- und Transfereinstellungen
forwarding_emins=Fehlende oder ung&uuml;ltige maximale Transferzeit
forwarding_etrans=Fehlende oder ung&uuml;ltige Anzahl maximaler gleichzeitiger Transfers
forwarding_minutes=Minuten
net_title=Adressen und Topologie
net_ecannot=Sie haben keine Berechtigung, Adressen und Topologie zu bearbeiten
net_header=Globale Adressen- und Topologieeinstellungen
net_listen=Abzuh&ouml;rende Anschl&uuml;sse und Adressen
net_below=Unten aufgelistet..
net_port=Anschluss
net_addrs=Adressen
net_saddr=Quell-IP-Adresse f&uuml;r Anfragen
net_sport=Quellanschluss f&uuml;r Anfragen
net_topol=Nameserver-Wahltopologie
net_err=Fehler beim Speichern der Adressen- und Topologieeinstellungen
net_eport='$1' ist keine g&uuml;ltige Anschlussnummer
misc_title=Verschiedene Einstellungen
misc_ecannot=Sie haben keine Berechtigung, verschiedene Einstellungen zu bearbeiten
misc_header=Verschiedene globale Einstellungen
misc_core=Maximale Core-Dump-Gr&ouml;&szlig;e
misc_data=Maximale Datenspeicherbenutzung
misc_files=Maximale Anzahl ge&ouml;ffneter Dateien
misc_stack=Maximale Benutzung des Stapelspeichers
misc_clean=Intervall zwischen L&ouml;schen abgelaufener Datens&auml;tze
misc_iface=Intervall zwischen dem &Uuml;berpr&uuml;fen auf neue Schnittstellen
misc_stats=Intervall zwischen der Protokollierung der Statistik
misc_recursion=Vollen rekursiven Lookup f&uuml;r die Clients ausf&uuml;hren?
misc_cnames=Mehrfache CNAME-Aliases f&uuml;r einen Namen erlauben?
misc_glue=Glue-Datens&auml;tze holen?
misc_nx=Ma&szlig;gebliches AA-Bit bei Antworten einstellen?
misc_err=Fehler beim Speichern der verschiedenen Optionen
misc_esize='$1' ist keine g&uuml;ltige Gr&ouml;&szlig;e
misc_efiles='$1' ist keine g&uuml;ltige Anzahl gleichzeitig ge&ouml;ffneter Dateien
misc_emins='$1' ist keine g&uuml;ltige Minutenzahl
misc_mins=Minuten
zonedef_title=Zonenstandards
zonedef_msg=Standard f&uuml;r neue Master-Zonen
zonedef_err=Fehler beim Speichern der Zonenstandards
zonedef_ecannot=Sie haben keine Berechtigung, Master-Zonenstandards zu ver&auml;ndern
zonedef_msg2=Standardzoneneinstellungen
zonedef_transfer=Erlaube Transfers von..
zonedef_query=Erlaube Anfragen von..
zonedef_cmaster=&Uuml;berpr&uuml;fe Namen in Master-Zonen?
zonedef_cslave=&Uuml;berpr&uuml;fe Namen in Slave-Zonen?
zonedef_cresponse=&Uuml;berpr&uuml;fe Namen in Antworten?
zonedef_notify=Slaves &uuml;ber &Auml;nderungen benachrichtigen?
zonedef_email=Default-Email-Adresse

find_title=Finde Zonen
find_match=Zonen, die mit $1 &uuml;bereinstimmen..
find_none=Keine Zonen gefunden.

efirst=Ung&uuml;ltige erste Direktive in Zeile $1 in $2

findfree_title=Finde freie IP Adressen
findfree_desc=Finde freie IP Adressen
findfree_nofind=Sie k&ouml;nnen nicht nach freien IP Adressen suchen
findfree_header=In $1
findfree_sopt=Suchoptionen
findfree_IPrange=IP Adressbereich
findfree_from=von
findfree_to=bis
findfree_cf=Betrachte <em>`freeXXX'</em> Rechnernamen als freie IP Adressen?
findfree_search=Suche

log_servers=andere DNS Server ge&auml;ndert
log_logging=Lofeintr&auml;ge und Fehler ge&auml;ndert
log_acls=Zugrifflisten ge&auml;ndert
log_files=Dateien und Verzeichnisse ge&auml;ndert
log_forwarding=Weiterleitung und Transfer ge&auml;ndert
log_net=Adressen und Topologie ge&auml;ndert
log_misc=sonstige Optionen ge&auml;ndert
log_zonedef=Zonenvoreinstellungen ge&auml;ndert
log_apply=&Auml;nderungen angewendet
log_start=DNS Server gestartet
log_master=Master Zone $1 erstellt
log_slave=Slave Zone $1 erstellt
log_stub=Stub Zone $1 erstellt
log_forward=Weiterleitungs Zone $1 erstellt
log_hint=Root Zone erstellt
log_view=Ansicht $1 erstellt
log_delete_master=Master Zone $1 ge&auml;ndert
log_delete_slave=Slave Zone $1 ge&auml;ndert
log_delete_stub=Stub Zone $1 ge&auml;ndert
log_delete_forward=Weiterleitungs Zone $1 ge&auml;ndert
log_delete_hint=Root Zone ge&auml;ndert
log_delete_view=Ansicht $1 ge&auml;ndert
log_text=Manuell ge&auml;nderte eintr&auml;ge f&uuml;r $1
log_soa=Zonen Parameter f&uuml;r $1 ge&auml;ndert
log_opts=Zonen Optionen f&uuml;r $1 ge&auml;ndert
log_delete_record=Deleted $1 Eintrag $2 in Zone $3
log_create_record=Created $1 Eintrag $2 in Zone $3
log_modify_record=Modified $1 Eintarg $2 in Zone $3
log_boot=Prim&auml;re Konfigurationsdatei erzeugt
log_move=Zone $1 verschoben
log_review=Ansichtsoptionen f&uuml;r $1 ge&auml;ndert

convert_err=Zone konnte nicht umgewandelt werden
convert_efile=Eine Datei muss angegeben werden bevor eine Slave Zone in eine Master Zone umgewandelt werden kann. 

whois_title=WHOIS Informationen
whois_header=Ausgabe des Kommandos $1 ..

view_title=Client Ansicht &auml;ndern
view_opts=Client Ansicht Details
view_name=Ansicht Name
view_class=DNS Eintr&auml;ge Klasse
view_match=Diese Ansicht auf Clients anwenden
view_recursion=Vollst&auml;ndie rekursive Suche f&uuml;r Clients?

vcreate_title=Client Ansicht erstellen
vcreate_match_all=Alle Clients
vcreate_match_sel=gew&auml;hlte Adressen, Netzwerke und ACLs
vcreate_err=Ansicht konnte nicht erstellt werden
vcreate_ename=fehlender oder ung&uuml;ltiger Name der Ansicht
vcreate_etaken=Ansichtsname wurde bereits &uuml;bernommen
vcreate_eclass=fehlender oder ung&uuml;ltiger Klassenname

hint_title=Root Zone &auml;ndern
hint_desc=>Die Root Zone wird vom DNS Server benutzt, um sich mit den Root Servern im Internet zu verbinden, so dass er Namen in Domains aufl&ouml;en kann, die diesem DNS Server nicht bekannt sind, z.B. <tt>.com</tt> oder <tt>.net.au</tt>.Unter der Vorraussetzung, dass Ihr DNS Server nur f&uuml;r das interne Netz benutzt wird oder Sie alle Anfragen an einen anderen Server weiterleiten, sollten Sie trotzdem diese Root Zone nicht l&ouml;schen.
hint_move=Gehe zu Ansicht:
hint_ecannot=Sie sind nicht berechtigt diese Root Zone zu &auml;ndern

hcreate_title=Root Zone erstellen
hcreate_desc=Die Root Zone wird vom DNS Server benutzt, um sich mit den Root Servern im Internet zu verbinden, so dass er Namen in Dmains aufl&ouml;sen kann, die diesem DNS Server nicht bekannt sind, z.B. <tt>.com</tt> oder <tt>.net.au</tt>. Wenn Sie mit mehreren Ansichten arbeiten, ben&ouml;tigen sie eventuell eine eigene Root Zone in jeder Ansicht, so dass alle Clients die Internet Domains korrekt aufl&ouml;sen k&ouml;nnen. 
hcreate_file=speichere Root Server in Datei
hcreate_real=Bekomme Root Server von
hcreate_keep=Existierende Root Server in Datei
hcreate_down=Download von Root FTP Server
hcreate_webmin=Benutze Webmin's &auml;ltere Root Server Informationen
hcreate_ecannot=Sie sind nicht berechtigt eine Root Zone zu erstellen
hcreate_efile='$1' ist eine nicht erlaubte Root Datei
hcreate_efile2=fehlende oder ung&uuml;ltige Root Datei
mcreate_erecs=Dies ist keine g&uuml;ltige bestehende Root Datei
hcreate_err=Root Zone konnte nicht erstellt werden

vdelete_title=Ansicht l&ouml;schen
vdelete_mesg=Are you sure you want to delete the client view $1 ? All the zones in this view will either be deleted (along with their zone files) or moved to another view depending on your selection below.
vdelete_mesg2=Sind Sie sicher, dass Sie Client Ansicht $1 l&ouml;schen wollen ?
vdelete_newview=Zonen innerhalb dieser Ansicht
vdelete_root=Verlasse Ansicht
vdelete_delete=Komplettl&ouml;schung
vdelete_move=Gehe zu Ansicht
  07070100048220000081a40000000000000002000000013d1fe2d200005642000000200000000000000000000000000000001400000003reloc/bind8/lang/en   index_title=BIND DNS Server
index_enamed=The BIND DNS server $1 could not be found on your system. Maybe it is not installed, or your <a href='$2'>BIND module configuration</a> is incorrect.
index_eversion=The server executable $1 does not appear to be BIND 8 or 9. Maybe your should use the <a href='$2'>BIND 4 module</a> instead.
index_eempty=The primary configuration file for BIND $1 does not exist, or is not valid. Create it?
index_local=Setup nameserver for internal non-internet use only
index_download=Setup as an internet name server, and download root server information
index_webmin=Setup as an internet name server, but use Webmin's older root server information
index_create=Create Primary Configuration File and Start Nameserver
index_zones=Existing DNS Zones
index_none=There are no DNS zones defined for this name server
index_addmaster=Create a new master zone
index_addslave=Create a new slave zone
index_addstub=Create a new stub zone
index_addfwd=Create a new forward zone
index_apply=Apply Changes
index_applymsg=Click this button to restart the running BIND server. This will cause the current configuration to become active
index_start=Start Name Server
index_startmsg=Click this button to start the BIND server, and load the current configuration
index_zone=Zone
index_type=Type
index_master=Master
index_slave=Slave
index_stub=Stub
index_hint=Root
index_forward=Forward
index_opts=Global Server Options
index_return=zone list
index_toomany=There are too many zones on your system to display here.
index_find=Find zones matching :
index_search=Search
index_view=(In view $1)
index_views=Existing Client Views
index_vnone=There are no client views defined on this server.
index_addview=Create a new view
index_root=Root zone
index_addhint=Create a new root zone
index_version=BIND version $1
index_sapply=Apply Changes on:
index_sapplymsg=Click this button to restart the running BIND server on the selected host. This will cause any slave zones that you have created on the server to become active.

master_title=Edit Master Zone
master_ecannot=You are not allowed to edit this zone
master_manual=Edit Records File
master_soa=Edit Zone Parameters
master_serial=Zone serial number
master_options=Edit Zone Options
master_del=Delete Zone
master_delmsg=Click this button to delete this zone from your DNS server.
master_delrev=Matching reverse address records in other zones hosted by this server will also be deleted.
master_tmpl=Use zone template?
master_ip=IP address for template records
master_params=Zone Parameters
master_server=Master server
master_slave=Also create slave zone on server
master_mip=with master IPs
master_ns=Add NS record for master server?
master_email=Email address
master_refresh=Refresh time
master_retry=Transfer retry time
master_expiry=Expiry time
master_minimum=Default time-to-live
master_opts=Zone Options
master_check=Check names?
master_notify=Notify slaves of changes?
master_update=Allow updates from..
master_transfer=Allow transfers from..
master_query=Allow queries from..
master_notify2=Also notify slaves..
master_type=Type
master_records=Records
master_return=record types
master_err=Failed to save options
master_ero=You are not allowed to update zones
master_err2=Failed to update zone
master_emaster='$1' is not a valid master server
master_eemail='$1' is not a valid email address
master_erefresh='$1' is not a valid refresh time
master_eretry='$1' is not a valid transfer retry time
master_eexpiry='$1' is not a valid expiry time
master_eminimum='$1' is not a valid default TTL
master_edelete=You are not allowed to delete this zone
master_tmplrecs=Template records
master_name=Record name
master_value=Value
master_user=From form
master_eip=Missing or invalid template IP address
master_eiptmpl=Template record value can only come from for Address records
master_esoacannot=You are not allowed to edit zone parameters
master_eoptscannot=You are not allowed to edit zone options
master_edeletecannot=You are not allowed to delete zones
master_etaken=This zone already exists
master_include=Additional template file
master_convert=Convert to slave zone
master_whois=Lookup WHOIS Information
master_move=Move to view:
master_emove=You must select a different view to move to
master_eallowupdate=You must enter at least one address to allow updates from
master_eallowtransfer=You must enter at least one address to allow transfers from
master_err3=Master zone created OK, but failed to create slave
master_emips=No master IPs entered for slave server
master_emip=Invalid master IP '$1'
master_eslave=Slave server $1 does not appear to have the BIND module setup
master_eserial=Serial number must be a string of digits
master_apply=Apply Changes
master_applymsg=Click this button to apply changes for this zone only, using the command $1. This will only work if changes have been applied for the entire server at least once since the zone was created.

delete_title=Delete Zone
delete_mesg=Are you sure you want to delete the zone $1 ? All records and the zone file will be deleted.
delete_mesg2=Are you sure you want to delete the root zone ? Your DNS server may no longer be able to lookup addresses on the internet.
delete_rev=Delete reverse records in other zones ?
delete_fwd=Delete forward records in other zones ?
delete_slave=Also delete slave zone from server
delete_err2=Master zone deleted OK, but failed to delete slave
delete_ezone=Zone was not found on slave server

mcreate_title=Create Master Zone
mcreate_ecannot=You cannot create master zones
mcreate_opts=New master zone options
mcreate_type=Zone type
mcreate_fwd=Forward (Names to Addresses)
mcreate_rev=Reverse (Addresses to Names)
mcreate_dom=Domain name / Network
mcreate_view=Create in view
mcreate_file=Records file
mcreate_auto=Automatic
mcreate_err=Failed to create master zone

slave_title=Edit Slave Zone
stub_title=Edit Stub Zone
slave_ecannot=You are not allowed to edit this zone
slave_opts=Zone Options
slave_masters=Master servers
slave_masterport=Server port
slave_max=Maximum transfer time
slave_file=Records file
slave_check=Check names?
slave_notify=Notify slaves of changes?
slave_update=Allow updates from..
slave_transfer=Allow transfers from..
slave_query=Allow queries from..
slave_notify2=Also notify slaves..
slave_none=None
slave_auto=Automatic
slave_err=Failed to save options
slave_emax='$1' is not a valid max transfer time
slave_efile=Missing records file
slave_efile2='$1' is not an allowable records file
slave_mins=minutes
slave_master_port=port
slave_convert=Convert to master zone

screate_title1=Create Slave Zone
screate_title2=Create Stub Zone
screate_ecannot1=You are not allowed to create slave zones
screate_ecannot2=You are not allowed to create stub zones
screate_header1=New slave zone options
screate_header2=New stub zone options
screate_type=Zone type
screate_fwd=Forward (Names to Addresses)
screate_rev=Reverse (Addresses to Names)
screate_dom=Domain name / Network
screate_err1=Failed to create slave zone
screate_err2=Failed to create stub zone

recs_ecannot=You are not allowed to edit records in this zone
recs_title=$1 Records
recs_header=In $1
recs_addr=Address
recs_name=Name
recs_ttl=TTL
recs_comment=Comment
recs_return=record types
recs_type=Type
recs_vals=Values

edit_title=Edit $1
edit_header=In $1
edit_edit=Edit $1 Record
edit_add=Add $1 Record
edit_addr=Address
edit_name=Name
edit_zonename=Zone Name
edit_ttl=Time-To-Live
edit_comment=Comment
edit_cnamemsg=Absolute names must end with a .
edit_uprev=Update reverse?
edit_over=Yes (and replace existing)
edit_upfwd=Update forward?
edit_err=Failed to save record
edit_ettl='$1' is not a valid time-to-live
edit_eip='$1' is not a valid IP address
edit_eip6='$1' is not a valid IPv6 address
edit_ehost='$1' is not a valid hostname
edit_ename='$1' is not a valid record name
edit_edupip=An address record for $1 already exists
edit_ens='$1' is not a valid nameserver
edit_ecname='$1' is not a valid alias target
edit_emx='$1' is not a valid mail server
edit_epri='$1' is not a valid priority
edit_ehard=Missing or invalid hardware type
edit_eos=Missing or invalid OS type
edit_eserv=You did not enter any well known services
edit_ebadserv=The well known service name '$1' is incorrect
edit_eemail='$1' is not a valid email address
edit_etxt='$1' is not a valid text record name
edit_efqdn=Absolute name '$1' is too long
edit_elabel=A label in '$1' is too long
edit_eloc=Missing latitude and longitude
edit_return=records
edit_ecname1=You cannot create a name alias record with the same name as an existing record.
edit_ecname2=You cannot create a record with the same name as an existing name alias record.

text_title=Edit Records File
text_desc=This form allows you to manually edit the DNS records file $1. No syntax checking will be done by webmin, and the zone serial number will not be automatically incremented.
text_undo=Undo
text_ecannot=You are not allowed to edit record files

restart_ecannot=You are not allowed to restart BIND
restart_esig=Failed to signal process $1 : $2
restart_erunning=BIND does not appear to be running on the slave server
restart_endc=NDC command failed : $1
start_ecannot=You are not allowed to start BIND
start_error=Failed to start BIND : $1

fwd_title=Edit Forward Zone
fwd_ecannot=You are not allowed to edit this zone
fwd_opts=Zone Options
fwd_masters=Master servers
fwd_forward=Try other servers?
fwd_check=Check names?
fwd_err=Failed to save options

fcreate_title=Create Forward Zone
fcreate_ecannot=You are not allowed to create forward zones
fcreate_opts=New forward zone options
fcreate_type=Zone type
fcreate_fwd=Forward (Names to Addresses)
fcreate_rev=Reverse (Addresses to Names)
fcreate_dom=Domain name / Network
fcreate_masters=Master servers
fcreate_err=Failed to create forward zone

create_enet='$1' is not a valid network
create_edom='$1' is not a valid domain name
create_edom2='$1' must be a domain, not a network
create_efile='$1' is not a valid filename
create_efile2='$1' is not an allowable zone file
create_efile3=Failed to create '$1' : $2
create_efile4=File $1 already exists
create_emaster='$1' is not a valid master server address
create_enone=You must enter at least one master server

boot_err=Download failed

type_A=Address
type_AAAA=IPv6 Address
type_NS=Name Server
type_CNAME=Name Alias
type_MX=Mail Server
type_HINFO=Host Information
type_TXT=Text
type_WKS=Well Known Service
type_RP=Responsible Person
type_PTR=Reverse Address
type_LOC=Location
type_ALL=All Record Types

edit_A=Address
edit_AAAA=IPv6 Adress
edit_NS=Name Server
edit_CNAME=Name Alias
edit_MX=Mail Server
edit_HINFO=Host Information
edit_TXT=Text
edit_WKS=Well Known Service
edit_RP=Responsible Person
edit_PTR=Reverse Address
edit_LOC=Location

recs_A=Address
recs_AAAA=IPv6 Adress
recs_NS=Name Server
recs_CNAME=Name Alias
recs_MX=Mail Server
recs_HINFO=Host Information
recs_TXT=Text
recs_WKS=Well Known Service
recs_RP=Responsible Person
recs_PTR=Reverse Address
recs_LOC=Location
recs_ALL=All

value_A1=Address
value_NS1=Name Server
value_CNAME1=Real Name
value_MX1=Priority
value_MX2=Mail Server
value_HINFO1=Hardware
value_HINFO2=Operating System
value_TXT1=Message
value_WKS1=Address
value_WKS2=Protocol
value_WKS3=Services
value_RP1=Email Address
value_RP2=Text Record Name
value_PTR1=Hostname
value_LOC1=Latitude and Longitude

warn=Warn
fail=Fail
ignore=Ignore
default=Default
minutes=minutes
seconds=seconds
hours=hours
days=days
weeks=weeks
listed=Listed ..
eip='$1' is not a valid IP address

acl_zones=Domains this user can edit
acl_zall=All zones
acl_zsel=Selected zones..
acl_znsel=All except selected..
acl_master=Can create master zones?
acl_slave=Can create slave/stub zones?
acl_forward=Can create forward zones?
acl_defaults=Can edit global options?
acl_reverse=Can update reverse addresses in any domain?
acl_multiple=Can multiple addresses have the same IP?
acl_ro=Read-only access mode?
acl_apply=Can apply changes?
acl_dir=Restrict new zone files to directory
acl_dironly=Can only edit zones in this directory
acl_file=Can edit records files?
acl_params=Can edit zone parameters?
acl_opts=Can edit zone options?
acl_delete=Can delete zones?
acl_findfree=Can search for free IP numbers?
acl_views=Can create and edit views?
acl_remote=Can create slave zones on remote servers?

servers_title=Other DNS Servers
servers_ip=IP address
servers_bogus=Ignore bogus server?
servers_format=Zone transfer format
servers_trans=Maximum transfers
servers_one=One at a time
servers_many=Many
servers_err=Failed to save other DNS servers
servers_eip='$1' is not a valid IP address
servers_etrans='$1' is not a valid number of maximum transfers

logging_title=Logging and Errors
logging_ecannot=You are not allowed to configure logging
logging_header=Global logging and error options
logging_default1=Use BIND's default logging settings
logging_default2=Use the settings below ..
logging_cats=Logging categories
logging_cat=Category
logging_cchans=Channels
logging_chans=Logging channels
logging_cname=Channel name
logging_to=Log to
logging_file=File
logging_fd=File descriptor
logging_versions=Versions to keep
logging_ver1=None
logging_ver2=Unlimited
logging_size=Maximum file size
logging_sz1=Unlimited
logging_syslog=Syslog level
logging_null=Nowhere
logging_sev=Minimum message level
logging_any=Any
logging_debug=Debug level ..
logging_dyn=Global level
logging_pcat=Record category in log
logging_psev=Record severity in log
logging_ptime=Record date and time in log
logging_add=Add a new channel
logging_none=No logging channels defined.
logging_err=Failed to save logging options
logging_ename='$1' is not a valid channel name
logging_efile=Missing log filename
logging_ever='$1' is not a valid number of versions
logging_esize='$1' is not a valid log size

acls_title=Access Control Lists
acls_ecannot=You are not allowed to edit global acls
acls_name=ACL Name
acls_values=Matching addresses, networks and ACLs
acls_err=Failed to save access control lists
acls_ename='$1' is not a valid ACL name

files_title=Files and Directories
files_ecannot=You are not allowed to configure files
files_header=Global files and directories options
files_stats=Statistics output file
files_dump=Database dump file
files_pid=Process ID file
files_xfer=Path to zone transfer program
files_err=Failed to save files and directories options
files_efile=Missing or invalid filename

forwarding_title=Forwarding and Transfers
forwarding_ecannot=You are not allowed to edit forwarding and transfer options
forwarding_header=Global forwarding and zone transfer options
forwarding_fwders=Servers to forward queries to
forwarding_fwd=Lookup directly if no response from forwarder
forwarding_max=Maximum zone transfer time
forwarding_format=Zone transfer format
forwarding_one=One at a time
forwarding_many=Many
forwarding_in=Maximum concurrent zone transfers
forwarding_err=Failed to save forwarding and transfer options
forwarding_emins=Missing or invalid maximum transfer time
forwarding_etrans=Missing or invalid maximum concurrent transfers
forwarding_minutes=minutes

net_title=Addresses and Topology
net_ecannot=You are not allowed to edit address and topology options
net_header=Global address and topology options
net_listen=Ports and addresses to listen on
net_below=Listed below..
net_port=Port
net_addrs=Addresses
net_saddr=Source IP address for queries
net_sport=Source port for queries
net_topol=Nameserver choice topology
net_err=Failed to save address and topology options
net_eport='$1' is not a valid port number
net_etopology=No topology addresses entered

controls_title=Control Interface Options
controls_ecannot=You are not allowed to edit the control options
controls_header=Control options
controls_inet=Internet port access
controls_unix=Unix filing system access
controls_port=port
controls_allow=allow
controls_permissions=perm
controls_owner=owner
controls_group=group

misc_title=Miscellaneous Options
misc_ecannot=You are not allowed to edit miscellaneous options
misc_header=Miscellaneous global options
misc_core=Maximum core dump size
misc_data=Maximum data memory usage
misc_files=Maximum open files
misc_stack=Maximum stack memory usage
misc_clean=Interval between cleaning expired records
misc_iface=Interval between check for new interfaces
misc_stats=Interval between logging stats
misc_recursion=Do full recursive lookups for clients?
misc_cnames=Allow multiple CNAME aliases for one name?
misc_glue=Fetch glue records?
misc_nx=Set authorative AA bit on responses?
misc_err=Failed to save miscellaneous options
misc_esize='$1' is not a valid size
misc_efiles='$1' is not a valid number of maximum open files
misc_emins='$1' is not a valid number of minutes
misc_mins=mins

zonedef_title=Zone Defaults
zonedef_msg=Defaults for new master zones
zonedef_err=Failed to save zone defaults
zonedef_ecannot=You are not allowed to change master zone defaults
zonedef_msg2=Default zone settings
zonedef_transfer=Allow transfers from..
zonedef_query=Allow queries from..
zonedef_cmaster=Check names in master zones?
zonedef_cslave=Check names in slave zones?
zonedef_cresponse=Check names in responses?
zonedef_notify=Notify slaves of changes?
zonedef_email=Default email address

find_title=Find Zones
find_match=Zones matching $1 ..
find_none=No zones found.

efirst=Bad first directive at line $1 in $2

findfree_title=Find Free IPs
findfree_desc=Find Free IPs
findfree_nofind=You cannot look for free IP's
findfree_header=In $1
findfree_sopt=Search options
findfree_IPrange=IP range
findfree_from=from
findfree_to=to
findfree_cf=Consider <em>`freeXXX'</em> hostnames as free IP's?
findfree_search=Search

log_servers=Changed other DNS servers
log_logging=Changed logging and errors
log_acls=Changed access control lists
log_files=Changed files and directories
log_forwarding=Changed forwarding and transfers
log_net=Changed addresses and topology
log_misc=Changed miscellaneous options
log_zonedef=Changed zone defaults
log_apply=Applied changes
log_apply2=Applied changes to $1
log_start=Started DNS server
log_master=Created master zone $1
log_slave=Created slave zone $1
log_stub=Created stub zone $1
log_forward=Created forward zone $1
log_hint=Created root zone
log_view=Created view $1
log_delete_master=Deleted master zone $1
log_delete_slave=Deleted slave zone $1
log_delete_stub=Deleted stub zone $1
log_delete_forward=Deleted forward zone $1
log_delete_hint=Deleted root zone
log_delete_view=Deleted view $1
log_text=Manually edited records for $1
log_soa=Changed zone parameters for $1
log_opts=Changed zone options for $1
log_delete_record=Deleted $1 record $2 in zone $3
log_create_record=Created $1 record $2 in zone $3
log_modify_record=Modified $1 record $2 in zone $3
log_boot=Created primary configuration file
log_move=Moved zone $1
log_review=Changed view options for $1

convert_err=Failed to convert zone
convert_efile=A records file must be specified before a slave zone can be converted to a master.

whois_title=WHOIS Information
whois_header=Output from command $1 ..

view_title=Edit Client View
view_opts=Client view details
view_name=View name
view_class=DNS records class
view_match=Apply this view to clients
view_recursion=Do full recursive lookups for clients?

vcreate_title=Create Client View
vcreate_match_all=All clients
vcreate_match_sel=Selected addresses, networks and ACLs
vcreate_err=Failed to create view
vcreate_ename=Missing or invalid view name
vcreate_etaken=View name is already taken
vcreate_eclass=Missing or invalid class name

hint_title=Edit Root Zone
hint_desc=The root zone is used by your DNS server to contact the root servers on the internet, so that it can resolve names in domains not handled by your DNS server, like <tt>.com</tt> or <tt>.net.au</tt>. Unless your DNS server is for use on an internal network or you are forwarding all queries to another server, you should not delete this root zone.
hint_move=Move to view:
hint_ecannot=You are not allowed to edit this root zone

hcreate_title=Create Root Zone
hcreate_desc=The root zone is used by your DNS server to contact the root servers on the internet, so that it can resolve names in domains not handled by your DNS server, like <tt>.com</tt> or <tt>.net.au</tt>. If you are using multiple views, you may need to have a separate root zone in each view so that all clients can resolve internet domains properly.
hcreate_file=Store root servers in file
hcreate_real=Get root servers from
hcreate_keep=Existing root servers in file
hcreate_down=Download from root FTP server
hcreate_webmin=Use Webmin's older root server information
hcreate_ecannot=You are not allowed to create root zones
hcreate_efile='$1' is not an allowable root file
hcreate_efile2=Missing or invalid root file
mcreate_erecs=Not a valid existing root zone file
hcreate_err=Failed to create root zone

vdelete_title=Delete View
vdelete_mesg=Are you sure you want to delete the client view $1 ? All the zones in this view will either be deleted (along with their zone files) or moved to another view depending on your selection below.
vdelete_mesg2=Are you sure you want to delete the client view $1 ?
vdelete_newview=Zones within this view
vdelete_root=Move out of views
vdelete_delete=Delete totally
vdelete_move=Move to view

gen_title=Record Generators
gen_desc=This page allows you to define generators, each of which will create multiple records in this zone using an incrementing counter. This can be useful for delegating parts of the reverse zone to another server.
gen_range=Range
gen_name=Address pattern
gen_type=Type
gen_value=Hostname pattern
gen_cmt=Comment
gen_skip=every
gen_show=Show generated records
gen_err=Failed to save generators
gen_estart=Missing or invalid range start for generator $1
gen_estop=Missing or invalid range finish for generator $1
gen_eskip=Missing or invalid range interval for generator $1
gen_erange=Range start is greater than finish for generator $1
gen_ename=Missing or invalid address pattern for generator $1
gen_evalue=Missing or invalid hostname pattern for generator $1
gen_title2=Generated Records
gen_raw=Config file line
  07070100048225000081a40000000000000002000000013d1fe2d20000486a000000200000000000000000000000000000001400000003reloc/bind8/lang/es   index_title=Servidor de DNS BIND
index_enamed=El servidor de DNS BIND $1 no ha podido ser encontrado en tu sistema. Quizás no está instalado o tu <a href='$2'>configuración del módulo BIND</a> es incorrecta.
index_eversion=El ejecutable del servidor $1 no parece ser BIND 8 o 9. Quizás deberías utilizar el <a href='$2'>módulo BIND 4</a> en su lugar.
index_eempty=El archivo primario $1 de configuración para BIND no existe o no es válido. ¿Lo creo?
index_local=Configurar servidor de nombres sólo para uso interno sin internet
index_download=Configurar como servidor de nombres de internet y descargar información de servidor raiz
index_webmin=Configurar como servidor de nombres de internet pero usar antigua información de servidor raiz de Webmin
index_create=Crear Archivo de Configuración Primario y Arrancar Servidor de Nombes
index_zones=Zonas DNS Existentes
index_none=No hay zonas DNS definidas para este servidor de nombres
index_addmaster=Crar una nueva zona maestra
index_addslave=Crear una nueva zona esclava
index_addstub=Crear una nueva zona de sólo caché
index_addfwd=Crear una nueva zona de reenvío
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para rearrancar el servidor BIND que se está ejecutando. Esto hará que la configuración en curso pase a estar activa
index_start=Arrancar Servidor de Nombres
index_startmsg=Haz click en este botón para arrancar el servidor BIND y cargar la configuración actual
index_zone=Zona
index_type=Tipo
index_master=Maestra
index_slave=Esclava
index_stub=Sólo Caché
index_forward=de Reenvío
index_opts=Opciones Globales del Servidor
index_return=lista de zonas
index_toomany=Hay demasiadas zonas en tu sistema para que sean mostradas aquí.
index_find=Hallar zonas que coincidan con:
index_search=Buscar

master_title=Editar Zona Maestra
master_ecannot=No estás autorizado a editar esta zona
master_manual=Editar Archivo de Registros
master_soa=Editar Parámetros de Zona
master_options=Editar Opciones de Zona
master_del=Borrar Zona
master_delmsg=Haz click en este botón para borrar esta zona de tu servidor DNS.
master_delrev=Los registros de direcciones inversas que coincidan en otras zonas soportadas por este servidor también serán borrados.
master_tmpl=¿Utilizo plantilla de zona?
master_ip=Dirección IP para registros de plantilla
master_params=Parámetros de Zona
master_server=Servidor Maestro
master_ns=¿Añado registro NS para servidor maestro?
master_email=Dirección de correo
master_refresh=Tiempo de refresco
master_retry=Tiempo para reintentar transferencia
master_expiry=Tiempo para expirar
master_minimum=Tiempo-que-está-viva por Defecto
master_opts=Opciones de Zona
master_check=¿Reviso nombres?
master_notify=¿Notifico los cambios a las esclavas?
master_update=Permitir actualizaciones desde...
master_transfer=Permitir transferencias desde...
master_query=Permitir consultas desde...
master_notify2=También notificar a esclavas...
master_type=Tipo
master_records=Registros
master_return=tipos de registro
master_err=Error al salvar opciones
master_ero=No estás autorizado a actualizar las zonas
master_err2=Error al actualizar zona
master_emaster='$1' no es un servidor maestro válido
master_eemail='$1' no es una dirección de correo válida
master_erefresh='$1' no es una tiempo de refresco válido
master_eretry='$1' no es un tiempo de reintento de transferencia válido
master_eexpiry='$1' no es un tiempo de expiración válido
master_eminimum='$1' no es un tiempo-que-está-viva por defecto válido
master_edelete=No estás autorizado a borrar esta zona
master_tmplrecs=Registros plantilla
master_name=Nombre de registro
master_value=Valor
master_user=Desde formulario
master_eip=Dirección IP de plantilla inválida o sin poner
master_eiptmpl=Valor de registro de plantilla sólo puede venir desde registros de dirección
master_esoacannot=No estás autorizado a editar parámetros de zona
master_eoptscannot=No estás autorizado a editar opciones de zona
master_edeletecannot=No estás autorizado a borrar zonas
master_etaken=Esta zona ya existe
master_include=Archivo adicional de plantilla
master_convert=Convertir a zona esclava

delete_title=Borrar Zona
delete_mesg=¿Estás seguro de querer borrar la zona $1?. Todos sus registros y el archivo de zona serán borrados.
delete_rev=¿Borro los registros inversos de otras zonas?
delete_fwd=¿Borro los registros de reenvío de otras zonas?

mcreate_title=Crear Zona Maestra
mcreate_ecannot=No puedes crear zonas maestras
mcreate_opts=Opciones de nueva zona maestra
mcreate_type=Tipo de zona
mcreate_fwd=Reenvío (Nombres a Direcciones)
mcreate_rev=Inversas (Direcciones a Nombres)
mcreate_dom=Nombre de Dominio/Red
mcreate_file=Archivo de Registros
mcreate_auto=Automático
mcreate_err=Error al crear zona maestra

slave_title=Editar Zona Esclava
stub_title=Editar Zona de Sólo Caché
slave_ecannot=No estás autorizado a editar esta zona
slave_opts=Opciones de Zona
slave_masters=Servidores Maestros
slave_max=Máximo tiempo de transferencia
slave_file=Archivo de Registros
slave_check=¿Reviso los nombres?
slave_notify=¿Notifico a las esclavas los cambios?
slave_update=Permitir actualizaciones desde...
slave_transfer=Permitir transferencias desde...
slave_query=Permitir consultas desde...
slave_notify2=También notificar a esclavas...
slave_none=Ninguno
slave_auto=Automático
slave_err=Error al salvar opciones
slave_emax='$1' no es tiempo máximo de transferencia válido
slave_efile=Archivo de registros perdido
slave_efile2='$1' no es una archivo de registros permitido
slave_mins=minutos
slave_convert=Convertir a zona maestra

screate_title1=Crear Zona Esclava
screate_title2=Crear Zona de Sólo Caché
screate_ecannot1=No estás autorizado a crear zonas esclavas
screate_ecannot2=No estás autorizado a crear zonas de sólo caché
screate_header1=Opciones de nueva zona esclava
screate_header2=Opciones de nueva zona sólo caché
screate_type=Tipo de Zona
screate_fwd=Reenvío (Nombres a Direcciones)
screate_rev=Inversas (Direcciones a Nombres)
screate_dom=Nombre de Dominio/Red
screate_err1=Error al crear zona esclava
screate_err2=Error al crear zona de sólo caché

recs_return=tipos de registro
recs_title=$1 Registros
recs_header=En $1
recs_addr=Dirección
recs_name=Nombre
recs_ttl=TTL
recs_comment=Comentario
recs_return=registros

edit_title=Editar $1
edit_header=En $1
edit_edit=Editar Registro $1
edit_add=Añadir Registro $1
edit_addr=Dirección
edit_name=Nombre
edit_zonename=Nombre de Zona
edit_ttl=Tiempo-Que-Está-Vivo
edit_comment=Comentario
edit_cnamemsg=Los nombres absolutos deben de terminar con un .
edit_uprev=¿Actualizo Inversas?
edit_upfwd=¿Actualizo las de Reenvío?
edit_err=Error al salvar registro
edit_ettl='$1' no es un tiempo-que-está-vivo válido
edit_eip='$1' no es una dirección IP válida
edit_eip6='$1' no es una dirección IPv6 válida
edit_ehost='$1' no es un nombre de máquina válido
edit_ename='$1' no es un nombre de registro válido
edit_edupip=Ya existe un registro de dirección para $1
edit_ens='$1' no es un nombre de servidor válido
edit_ecname='$1' no es un blanco de alias válido
edit_emx='$1' no es un servidor de correo válido
edit_epri='$1' no es una prioridad válida
edit_ehard=Tipo de hardware no está puesto o es inválido
edit_eos=Tipo de SO no está puesto o es inválido
edit_eserv=No digitaste servicios acreditados
edit_ebadserv=El acreditado nombre de servicio '$1' es incorrecto
edit_eemail='$1' no es una dirección de correo válida
edit_etxt='$1' no es un nombre de registro de texto válido
edit_efqdn=El nombre absoluto '$1' es demasiado largo
edit_elabel=Una etiqueta en '$1' es demasiado larga
edit_eloc=Latitud y longitud sin poner
edit_return=registros

text_title=Editar Archivo de Registros
text_desc=Este formulario te permite edtar manualmente el archivo de registros DNS $1. Webmin no hará revisión sintáctica alguna y el número de serie de zona no será automáticamente incrementado.
text_undo=Deshacer
text_ecannot=No estás autorizado a editar archivos de registro

restart_ecannot=No estás autorizado a rearrancar BIND
restart_esig=Error el enviar señal a proceso $1 : $2
start_ecannot=No estás autorizado a arrancar BIND
start_error=No pude arrancar BIND: $1

fwd_title=Editar Zona de Reenvío
fwd_ecannot=No estás autorizado a editar esta zona
fwd_opts=Opciones de Zona
fwd_masters=Servidores maestros
fwd_forward=¿Pruebo con otros servidores?
fwd_check=¿Reviso nombres?
fwd_err=Error al salvar opciones

fcreate_title=Crear Zona de Reenvío
fcreate_ecannot=No estás autorizado a crear zonas de reenvío
fcreate_opts=Opciones de nueva zona de reenvío
fcreate_type=Tipo de Zona
fcreate_fwd=Renvío (Nombres a Direcciones)
fcreate_rev=Inversas (Direcciones a Nombres)
fcreate_dom=Nombre de Dominio / Red
fcreate_masters=Servidores maestros
fcreate_err=Error al crear zona de reenvío

create_enet='$1' no es una red válida
create_edom='$1' no es un nombre de dominio válido
create_edom2='$1' debe de ser un dominio, no una red
create_efile='$1' no es un nombre de archivo válido
create_efile2='$1' no es un archivo de zona permisible
create_efile3=No pude crear '$1': $2
create_emaster='$1' no es una dirección de servidor maestro válida
create_enone=Debes de digitar al menos un servidor maestro

boot_err=Error en la descarga

type_A=Dirección
type_AAAA=Dirección IPv6
type_NS=Servidor de Nombres
type_CNAME=Alias de Nombre
type_MX=Servidor de Correo
type_HINFO=Información de Máquina
type_TXT=Texto
type_WKS=Servicio Acreditado
type_RP=Persona Responsable
type_PTR=Dirección Inversas
type_LOC=Localización

edit_A=Dirección
edit_AAAA=Dirección IPv6
edit_NS=Nombre de Servidor
edit_CNAME=Nombre de Alias
edit_MX=Servidor de Correo
edit_HINFO=Información de Máquina
edit_TXT=Texto
edit_WKS=Servicio Acreditado
edit_RP=Persona Responsable
edit_PTR=Dirección Inversa
edit_LOC=Localización

recs_A=Dirección
recs_AAAA=Dirección IPv6
recs_NS=Nombre de Servidor
recs_CNAME=Nombre de Alias
recs_MX=Servidor de Correo
recs_HINFO=Información de Máquina
recs_TXT=Texto
recs_WKS=Servicio Acreditado
recs_RP=Persona Responsable
recs_PTR=Dirección Inversa
recs_LOC=Localización

value_A1=Dirección
value_NS1=Servidor de Nombres
value_CNAME1=Nombre Real
value_MX1=Prioridad
value_MX2=Servidor de Correo
value_HINFO1=Hardware
value_HINFO2=Sistema Operativo
value_TXT1=Mensaje
value_WKS1=Dirección
value_WKS2=Protocolo
value_WKS3=Servicios
value_RP1=Dirección de Correo
value_RP2=Nombre de Registro de Texto
value_PTR1=Máquina
value_LOC1=Latitud y Longitud

warn=Aviso
fail=Fallo
ignore=Ignorar
default=Por defecto
minutes=minutos
seconds=segundos
hours=horas
days=días
weeks=semanas
listed=Listado...
eip='$1' no es una dirección IP válida

acl_zones=Dominios que este usuario puede editar
acl_zall=Todas las zonas
acl_zsel=Las seleccionadas...
acl_master=¿Puede crear zonas maestras?
acl_slave=¿Puede crear zonas esclavas/sólo caché?
acl_forward=¿Puede crear zonas de reenvío?
acl_defaults=¿Puede editar opciones globales?
acl_reverse=¿Puede actualizar direcciones inversas en cualquier dominio?
acl_multiple=¿Pueden tener la misma IP direcciones múltiples?
acl_ro=¿Modo de acceso de Sólo-lectura?
acl_apply=¿Puede aplicar los cambios?
acl_dir=Restringir archivos de zona a directorio
acl_file=¿Puede editar archivos de registros?
acl_params=¿Puede editar parámetros de zona?
acl_opts=¿Puede editar opciones de zona?
acl_delete=¿Puede borrar zonas?
acl_findfree=¿Puedo buscar números de IP libres?

servers_title=Otros Servidores DNS
servers_ip=Dirección IP
servers_bogus=¿Ignorar servidor fraudulento?
servers_format=Formato de transferencia de Zona
servers_trans=Máximas Transferencias
servers_one=Una cada vez
servers_many=Muchas
servers_err=Error al salvar otros servidores DNS
servers_eip='$1' no es una dirección IP válida
servers_etrans='$1' no es un número válido de máximas transferencias

logging_title=Historial y Errores
logging_ecannot=No estás autorizado a configurar el historial
logging_header=Opciones Globales de error e historial
logging_default1=Usar valores de historial de BIND por defecto
logging_default2=Usar los valores puestos debajo...
logging_cats=Categorías de historial
logging_cat=Categoría
logging_cchans=Canales
logging_chans=Canales de historial
logging_cname=Nombre de canal
logging_to=Lleva historial en
logging_file=Archivo
logging_fd=Descriptor de archivo
logging_versions=Versiones a mantener
logging_ver1=Ninguna
logging_ver2=Ilimitadas
logging_size=Máxima medida de archivo
logging_sz1=Ilimitada
logging_syslog=Nivel de historial de sistema (Syslog)
logging_null=Ninguno
logging_sev=Nivel mínimo de mensaje
logging_any=Cualquiera
logging_debug=Nivel de depuración...
logging_dyn=Nivel global
logging_pcat=Grabar categoría en historial
logging_psev=Grabar severidad en historial
logging_ptime=Grabar fecha y hora en historial
logging_add=Añadir nuevo canal
logging_none=No se han definido canales de historial.
logging_err=Error al salvar opciones de historial
logging_ename='$1' no es un nombre de canal válido
logging_efile=No se ha puesto nombre de archivo de historial
logging_ever='$1' no es un número válido de versiones
logging_esize='$1' no es una medida de historial válida

acls_title=Listas de Control de Acceso
acls_ecannot=No estás autorizado a editar listas de control de acceso globales
acls_name=Nombre de Lista de Control de Acceso
acls_values=Direcciones que coincidan, redes y listas de control de acceso
acls_err=Error al salvar listas de control de acceso
acls_ename='$1' no es un nombre válido de Lista de Control de Acceso

files_title=Archivos y Directorios
files_ecannot=No estás autorizado a configurar archivos
files_header=Opciones Globales de archivos y directorios
files_stats=Archivo de salida de Estadísticas
files_dump=Archivo de volcado de Base de Datos
files_pid=Archivo de ID de Proceso
files_xfer=Trayectoria a programa de transferencia de zona
files_err=Error al salvar opciones de archivos y directorios
files_efile=Nombre de archivo sin poner o inválido

forwarding_title=Reenvío y Transferencias
forwarding_ecannot=No estás autorizado a editar opciones de reenvío y transferencia
forwarding_header=Opciones globales de reenvío y transferencia de zona
forwarding_fwders=Servidores a los que reenviar consultas
forwarding_fwd=Mirar directamente si no hay respuesta del remitente
forwarding_max=Tiempo máximo de transferencia de zona
forwarding_format=Formato de transferencia de zona
forwarding_one=Uno cada vez
forwarding_many=Muchos
forwarding_in=Máximas transferencias concurrentes de zona
forwarding_err=Error al savar opciones de reenvío y transferencia
forwarding_emins=Tiempo máximo de transferencia sin poner o inválido
forwarding_etrans=Máximas transferencias concurrentes sin poner o inválidas
forwarding_minutes=minutos

net_title=Direcciones y Topología
net_ecannot=No estás autorizado a editar opciones de dirección y topología
net_header=Opciones globales de dirección y topología
net_listen=Puertos y direcciones en donde escuchar
net_below=Listado debajo...
net_port=Puerto
net_addrs=Direcciones
net_saddr=Dirección IP origen para las consultas
net_sport=Puerto origen para las consultas
net_topol=Selección de topología para Servidor de Nombres
net_err=Error al salvar opciones de dirección y topología
net_eport='$1' no es un número de puerto válido
net_etopology=No se han digitado direcciones de topología

misc_title=Opciones Varias
misc_ecannot=No estás autorizado a editar opciones misceláneas
misc_header=Opciones globales misceláneas
misc_core=Medida máxima de volcado de memoria
misc_data=Uso máximo de memoria de datos
misc_files=Máximo número de archivos abiertos
misc_stack=Uso máximo de memoria de pila
misc_clean=Intervalo para limpiar registros expirados
misc_iface=Intervalo para chequear por nuevas interfaces
misc_stats=Intervalo entre estados de historial
misc_recursion=¿Hago búsquedas recursivas para clientes?
misc_cnames=¿Permito alias múltiple CNAME para un nombre?
misc_glue=¿Recojo registros pegados?
misc_nx=Pongo bit autorizativo AA en las respuestas?
misc_err=Error al salvar opciones misceláneas
misc_esize='$1' no es una medida válida
misc_efiles='$1' no es un número válido de máximo número de archivos abiertos
misc_emins='$1' no es un número válido de minutos
misc_mins=mins

zonedef_title=Valores por Defecto de Zona
zonedef_msg=Valores por defecto para nuevas zonas maestras
zonedef_err=Error al savar valores por defecto de zona
zonedef_ecannot=No estás autorizado a cambiar valores por defecto de zona maestra
zonedef_msg2=Valores por defecto de zona
zonedef_transfer=Permitir transferencias desde...
zonedef_query=Permitir consultas desde...
zonedef_cmaster=¿Reviso nombres en zonas maestras?
zonedef_cslave=¿Reviso nombres en zonas esclavas?
zonedef_cresponse=¿Reviso los nombres en la respuestas?
zonedef_notify=¿Notifico a la esclavas a cerca de los cambios?
zonedef_email=Dirección de correo por defecto

find_title=Hallar Zonas
find_match=Zonas que coincidan con $1...
find_none=No se han hallado zonas.

efirst=Directiva primera errónea en la línea $1 de $2

findfree_title=Buscar IPs Libres
findfree_desc=Buscar IPs Libres
findfree_nofind=No puedes buscar IPs libres
findfree_header=En $1
findfree_sopt=Opciones de búsqueda
findfree_IPrange=Rango de IP
findfree_from=Desde
findfree_to=hasta
findfree_cf=¿Considerar nombres de máquina <em>`freeXXX'</em> como IPs libres?
findfree_search=Buscar

log_servers=Cambiados otros servidores DNS
log_logging=Cambiados historiales y errores
log_acls=Cmabiadas listas de control de acceso
log_files=Cambiados directorios y archivos
log_forwarding=Cambiados reenvíos y transferencias
log_net=Cambiadas direcciones y topología
log_misc=Cambiadas opciones varias
log_zonedef=Cambiados valores por defecto de zona
log_apply=Cambios aplicados
log_start=Servidor DNS arrancado
log_master=Creada zona maestra $1
log_slave=Creada zona esclava $1
log_stub=Creada zona de sólo caché $1
log_forward=Creada zona de reenvío $1
log_delete_master=Borrada zona maestra $1
log_delete_slave=Borrada zona esclava $1
log_delete_stub=Borrada zona de sólo caché $1
log_delete_forward=Borrada zona de reenvío $1
log_text=Editados manuálmente registros de $1
log_soa=Cambiados parámetros de zona de $1
log_opts=Cambiadas opciones de zona de $1
log_delete_record=Borrado $1 registro $2 en zona $3
log_create_record=Creado $1 registro $2 en zona $3
log_modify_record=Modificado $1 registro $2 en zona $3
log_boot=Creado archivo de configuración primario

convert_err=No pude convertir zona
convert_efile=Se debe de especificar un archivo de registros antes de que una zona esclava pueda ser convertida en maestra.

  07070100048226000081a40000000000000002000000013d1fe2d200004d3b000000200000000000000000000000000000001400000003reloc/bind8/lang/fr   index_title=Serveur de noms de domaines (DNS) BIND 8
index_enamed=L'exécutable serveur DNS BIND 8 '$1' n'a pas été trouvé sur votre système.  Peut-être qu'il n'est pas installé, ou vous n'avez pas ajusté correctement la <a href='$2'>Configuration du module BIND 8</a>.
index_eversion=L'exécutable '$1' du serveur ne semble pas être celui de BIND 8.  Peut-être devriez-vous utiliser le <a href='$2'>Module BIND 4</a>.
index_eempty=Le fichier de configuration primaire '$1' n'existe pas ou est invalide.  Doit-on en créer un nouveau?
index_local=Configurer le serveur de noms pour une utilisation interne, pour un usage sans Internet
index_download=Configurer un serveur de noms Internet et télécharger toutes les informations racines du serveur
index_webmin=Configurer un serveur de noms Internet, mais utiliser les informations racines de Webmin
index_create=Créer un fichier de configuration primaire et démarrer le serveur de noms
index_zones=Zones existantes
index_none=Il n'y a aucune zone définie sur ce serveur de noms
index_addmaster=Créer une nouvelle zone primaire
index_addslave=Créer une nouvelle zone secondaire
index_addstub=Créer une nouvelle zone stub
index_addfwd=Créer une nouvelle zone directe
index_apply=Appliquer tous les changements
index_applymsg=Appuyer sur ce bouton pour redémarrer le serveur de noms, ce qui activera la nouvelle configuration
index_start=Démarrer le serveur de noms
index_startmsg=Appuyer sur ce bouton pour démarrer le serveur de noms, ce qui chargera la nouvelle configuration
index_zone=Zone
index_type=Type
index_master=Primaire
index_slave=Secondaire
index_stub=Stub
index_forward=Directe
index_opts=Options globale du serveur
index_return=liste de zones
index_toomany=Il y a trop de zones dans votre système pour les afficher ici.
index_find=Trouver les zones correspondant à :
index_search=Rechercher

master_title=Éditer un serveur primaire de zone
master_ecannot=Vous n'êtes pas autorisé à éditer cette zone
master_manual=Éditer le fichier d'enregistrements
master_soa=Éditer les paramètres de la zone
master_options=Éditer les options de la zone
master_del=Supprimer la zone
master_delmsg=Cliquer sur ce bouton pour supprimer cette zone de votre serveur de noms.
master_delrev=Le registre des adresses inverse correspondant aux autres zones de ce serveur vont aussi être supprimé
master_tmpl=Utiliser un modèle de zone ?
master_ip=Adresse IP pour les enregistrements de modèle
master_params=Paramètre de la zone
master_server=Serveur primaire
master_ns=ajouter enregistrement NS du serveur primaire ?
master_email=Adresse électronique
master_refresh=Temps de rafraîchissement
master_retry=Temps de retransfert
master_expiry=Temps d'expiration
master_minimum=Durée de vie par défaut
master_opts=Options de la zone
master_check=Vérifier les noms?
master_notify=Notifier les serveurs secondaires des changements?
master_update=Autoriser les mises à jour depuis ...
master_transfer=Autoriser les transferts depuis ...
master_query=Autoriser les requêtes depuis ...
master_notify2=Aussi noter les serveurs secondaires
master_type=Type
master_records=Enregistrements
master_return=Type d'enregistrement
master_err=Impossible d'enregistrer les options
master_ero=Vous n'êtes pas autorisé à mettre à jour une zone
master_err2=Impossible de mettre à jour la zone
master_emaster=$1 n'est pas un serveur principal valide
master_eemail=$1 n'est pas une adresse couriel valide
master_erefresh=$1 n'est pas un temps de rafraîchissement valide
master_eretry=$1 n'est pas un temps de retransfert valide
master_eexpiry=$1 n'est pas un temps d'expiration valide
master_eminimum=$1 n'est pas une durée de vie valide
master_edelete=Vous n'êtes pas autorisé à supprimer cette zone
master_tmplrecs=Enregistrements de modèles
master_name=Nom d'enregistrement
master_value=Valeur
master_user=Du formulaire
master_eip=Modèle d'adresse IP manquante ou invalide
master_eiptmpl=La valeur de l'enregistrement de modèle ne peut venir que d'enregistrements d'adresse
master_esoacannot=Vous n'avez pas le droit d'éditer les paramètres de zone
master_eoptscannot=Vous n'avez pas le droit d'éditer les options de zone
master_edeletecannot=Vous n'avez pas le droit de supprimer des zones
master_etaken=Cette zone existe déjà
master_include=Fichier modèle additionnel
master_convert=Convertir en zone secondaire
master_whois=Regarder l'information WHOIS

delete_title=Supprimer la zone
delete_mesg=Etes-vous sûr que vous voulez supprimer la zone $1 ? Tous les enregistrements et le fichier de zone seront effacés.
delete_rev=Supprimer les enregistrements inverses dans d'autres zones ?
delete_fwd=Supprimer les enregistrements dans d'autres zones ?

mcreate_title=Créer une zone pour laquelle le serveur est primaire
mcreate_ecannot=Vous n'êtes pas autorisé à créer une zone pour laquelle le serveur est primaire
mcreate_opts=Options d'une nouvelle zone pour laquelle le serveur est primaire
mcreate_type=Type de zone
mcreate_fwd=Normale (noms vers adresses)
mcreate_rev=Inverse (adresse vers nom)
mcreate_dom=Nom de domaine / réseau
mcreate_file=Fichier d'enregistrements
mcreate_auto=Automatique
mcreate_err=Impossible de créer la zone pour laquelle le serveur est primaire

slave_title=Éditer une zone secondaire
stub_title=Éditer une zone stub
slave_ecannot=Vous n'êtes pas autorisé à éditer cette zone
slave_opts=Options de la zone
slave_masters=Serveurs primaires
slave_max=Temps de transferts maximum
slave_file=Fichier d'enregistrements
slave_check=Vérifier les noms?
slave_notify=Notifier les serveurs secondaires du changement ?
slave_update=Autoriser les mises à jour depuis ..
slave_transfer=Autoriser les transferts depuis ...
slave_query=Autoriser les requêtes depuis ...
slave_notify2=Aussi noter les serveurs secondaires
slave_none=Aucun
slave_auto=Automatique
slave_err=Impossible d'enregistrer les options
slave_emax=$1 n'est pas un temps de transfert maximum valide
slave_efile=Fichier d'enregistrement manquant
slave_efile2='$1' n'est pas un fichier d'enregistrement acceptable
slave_mins=minutes
slave_convert=Convertir en zone primaire

screate_title1=Créer une zone pour laquelle le serveur est serveur secondaire
screate_title2=Créer une zone stub
screate_ecannot1=Vous n'êtes pas autorisé à créer une zone secondaire
screate_ecannot2=Vous n'êtes pas autorisé à créer une zone stub
screate_header1=Options d'une nouvelle zone secondaire
screate_header2=Options d'une nouvelle zone stub
screate_type=Type de zone
screate_fwd=Normale (noms vers adresses)
screate_rev=Inverse (adresses vers noms)
screate_dom=Nom de domaine / réseau
screate_err1=Impossible de créer la zone secondaire
screate_err2=Impossible de créer la zone stub

recs_ecannot=Vous n'êtes pas autorisé à éditer les enregistrements de cette zone
recs_title=$1 Enregistrements
recs_header=Dans $1
recs_addr=Adresse
recs_name=Nom
recs_ttl=Durée de vie
recs_comment=Commentaire
recs_return=Type d'enregistrement

edit_title=Éditer $1
edit_header=Dans $1
edit_edit=Éditer l'enregistrement $1
edit_add=Ajouter l'enregistrement $1
edit_addr=Adresse
edit_name=Nom
edit_zonename=Nom de zone
edit_ttl=Durée de vie
edit_comment=Commentaire
edit_cnamemsg=Les noms absolus doivent se terminer par un point '.'
edit_uprev=Mettre à jour l'adresse inverse?
edit_upfwd=Mettre à jour l'adresse d'expédition?
edit_err=Impossible de sauver l'enregistrement
edit_ettl='$1' n'est pas une durée de vie valide
edit_eip=$1 n'est pas une adresse IP valide
edit_eip6='$1' n'est pas une adresse IPv6 valide
edit_ehost='$1' n'est pas un nom d'hôte valide
edit_ename='$1' n'est pas un nom d'enregistrement valide
edit_edupip=Un enregistrement pour $1 existe déjà
edit_ens='$1' n'est pas un nom de serveur valide
edit_ecname='$1' n'est pas un alias cible valide
edit_emx='$1' n'est pas un serveur de courrier valide
edit_epri='$1' n'est pas une priorité valide
edit_ehard=Type de matériel manquant ou invalide
edit_eos=Type de système d'exploitation manquant ou invalide
edit_eserv=Vous avez entrer aucun serveur bien connu
edit_ebadserv=Le service bien connu '$1' est incorrect?
edit_eemail='$1' n'est pas une adresse de courrier valide
edit_etxt='$1' n'est pas un nom d'enregistrement valide
edit_efqdn=Le nom absolu '$1' est trop long
edit_elabel=Un label dans '$1' est trop long
edit_eloc=Latitude et longitude manquantes
edit_return=enregistrements
edit_ecname1=Vous ne pouvez pas créer un enregistrement d'alias avec le même nom qu'un enregistrement existant.
edit_ecname2=Vous ne pouvez pas créer un enregistrement avec le même nom qu'un enregistrement d'alias existant.

text_title=Éditer un fichier d'enregistrements
text_desc=Cette page vous permet d'éditer manuellement le fichier enregistrements '$1'.  Aucune vérification de syntaxe sera faite par Webmin et les numéro de série des zones ne sera pas automatiquement incrémenté.
text_undo=Annuler
text_ecannot=Vous n'êtes pas autorisé à éditer des fichiers d'enregistrement

restart_ecannot=Vous n'êtes pas autorisé à redémarrer BIND
restart_esig=Impossible d'envoyer le signal au processus $1 : $2
start_ecannot=Vous n'êtes pas autorisé à démarrer BIND
start_error=Echec du démarrage de BIND : $1

fwd_title=Éditer une zone directe
fwd_ecannot=Vous n'êtes pas autorisé à éditer cette zone
fwd_opts=Options de la zone
fwd_masters=Serveurs principaux
fwd_forward=Essayer d'autres serveurs?
fwd_check=Vérifier les noms?
fwd_err=Impossible d'enregistrer les options

fcreate_title=Créer une zone directe
fcreate_ecannot=Vous n'êtes pas autorisé à créer une zone directe
fcreate_opts=Options d'une nouvelle zone directe
fcreate_type=Type de la zone
fcreate_fwd=Normale (noms vers adresses)
fcreate_rev=Inverse (adresses vers noms)
fcreate_dom=Nom de domaine / réseau
fcreate_masters=Serveurs primaires
fcreate_err=Impossible de créer une zone directe

create_enet=$1 n'est pas un réseau valide
create_edom=$1 n'est pas un nom de domaine valide
create_edom2=$1 doit être un domaine et non un réseau
create_efile='$1' n'est pas un nom de fichier valide
create_efile2=$1 n'est pas un fichier de zone acceptable
create_efile3=Impossible de créer $1 : $2
create_emaster=$1 n'est pas une adresse de serveur principal valide
create_enone=Vous devez au moins entrer un serveur principal

boot_err=Impossible de télécharger

type_A=Adresse
type_AAAA=Adresse IPv6
type_NS=Serveur de nom
type_CNAME=Alias
type_MX=Serveur de courrier
type_HINFO=Information sur la machine
type_TXT=Texte
type_WKS=Service bien connu
type_RP=Personne responsable
type_PTR=Adressage inverse
type_LOC=Emplacement

edit_A=Adresse
edit_AAAA=Adresse IPv6
edit_NS=Serveur de nom
edit_CNAME=Alias
edit_MX=Serveur de courrier
edit_HINFO=Information sur la machine
edit_TXT=Texte
edit_WKS=Service bien connu
edit_RP=Personne responsable
edit_PTR=Adressage inverse
edit_LOC=Emplacement

recs_A=Adresse
recs_AAAA=Adresse IPv6
recs_NS=Serveur de nom
recs_CNAME=Alias
recs_MX=Serveur de courrier
recs_HINFO=Information sur la machine
recs_TXT=Texte
recs_WKS=Service bien connu
recs_RP=Personne responsable
recs_PTR=Adressage inverse
recs_LOC=Emplacement

value_A1=Adresse
value_NS1=Serveur de nom
value_CNAME1=Véritable nom
value_MX1=Priorité
value_MX2=Serveur de courrier
value_HINFO1=Matériel
value_HINFO2=Système d'exploitation
value_TXT1=Message
value_WKS1=Adresse
value_WKS2=Protocole
value_WKS3=Services
value_RP1=Adresse électronique
value_RP2=Nom d'enregistrement de texte
value_PTR1=Nom de machine
value_LOC1=Latitude et Longitude

warn=Avertissement
fail=Raté
ignore=Ignore
default=Défaut
minutes=minutes
seconds=secondes
hours=heures
days=jours
weeks=semaines
listed=Listé ..
eip=$1 n'est pas une adresse IP valide

acl_zones=Domaine que cet usager peut éditer
acl_zall=Toutes les zones
acl_zsel=Zones sélectionnées ...
acl_znsel=Toutes exceptées sélectionnées ...
acl_master=Peut créer une zone principale?
acl_slave=Peut créer une zone secondaire/stub?
acl_forward=Peut créer une zone directe ?
acl_defaults=Peut éditer les options globales?
acl_reverse=Peut mettre à jour l'adressage inverse dans tous les domaines?
acl_multiple=Plusieurs adresses peuvent avoir le même IP?
acl_ro=Mode lecture seulement?
acl_apply=Peut appliquer les changements?
acl_dir=Restreindre les fichiers de zone au répertoire
acl_file=Peut éditer les fichiers enregistrements ?
acl_params=Peut éditer les paramètres de zone ?
acl_opts=Peut éditer les options de zone ?
acl_delete=Peut supprimer des zones ?
acl_findfree=Peut chercher des adresses IP libres ?

servers_title=Autres serveurs de noms de domaine
servers_ip=Adresse IP
servers_bogus=Ignorer les faux serveurs?
servers_format=Format de transfert de zone
servers_trans=Transfert maximum
servers_one=Un à la fois
servers_many=Combien
servers_err=Impossible d'enregistrer toute autre serveurs
servers_eip=$1 n'est pas une adresse IP valide
servers_etrans=$1 n'est pas un nombre de transfert maximum valide

logging_title=Journalisation et erreurs
logging_ecannot=Vous n'êtes pas autorisé à configurer le journal
logging_header=Options globales de journal et d'erreur
logging_default1=Utiliser la configuration par défaut de BIND
logging_default2=Utiliser la configuration ci-dessous ..
logging_cats=Catégories de journal
logging_cat=Catégorie
logging_cchans=Canaux
logging_chans=Canaux de journal
logging_cname=Nom de canal
logging_to=Enregistrer dans
logging_file=Fichier
logging_fd=Descripteur de fichier
logging_versions=Garder les versions
logging_ver1=Aucune
logging_ver2=Illimité
logging_size=Taille maximale du fichier
logging_sz1=Illimité
logging_syslog=Niveau de 'Syslog'
logging_null=N'importe où
logging_sev=Niveau minimum de messages
logging_any=N'importe quel
logging_debug=Niveau de debug
logging_dyn=Niveau global
logging_pcat=Catégorie d'enregistrement dans le journal
logging_psev=Sévérité de l'enregistrement dans le journal
logging_ptime=Date et temps de l'enregistrement dans le journal
logging_add=Ajouter un nouveau canal
logging_none=Aucun canal de journal de défini
logging_err=Impossible d'enregistrer les options de journal
logging_ename=$1 n'est pas un nom de canal valide
logging_efile=Nom de fichier d'audit manquant
logging_ever=$1 n'est pas un numéro de version valide
logging_esize=$1 n'est pas une taille de fichier valide

acls_title=Liste de contrôle d'accès
acls_ecannot=Vous n'êtes pas autorisé à éditer les contrôles d'accès global
acls_name=Nom d'usager Webmin
acls_values=Adresses correspondante, réseaux et noms d'usager Webmin
acls_err=Impossible d'enregistrer la liste des contrôles d'accès
acls_ename=$1 n'est pas un nom d'usager Webmin valide

files_title=Fichiers et répertoires
files_ecannot=Vous n'êtes pas autorisé à configurer ces fichiers
files_header=Fichiers globaux et options de répertoires
files_stats=Fichier de sortie de statistiques
files_dump=Fichier de sortie de la base de donnée
files_pid=Fichier de numéro de processus
files_xfer=Chemin pour le programme de transfert de zone
files_err=Impossible d'enregistrer les options de fichiers et de répertoires
files_efile=Fichier manquant ou invalide

forwarding_title=Redirection et transferts
forwarding_ecannot=Vous n'êtes pas autorisé à éditer les options de direction et de transferts
forwarding_header=Options globales de direction et de transfert
forwarding_fwders=Serveurs à qui expédier les requêtes
forwarding_fwd=Voir directement s'il n'y a aucune réponse de l'expéditeur
forwarding_max=Temps de transferts maximum de zones
forwarding_format=Format de transfert de zone
forwarding_one=Un à la fois
forwarding_many=Combien
forwarding_in=Maximum de transferts de zone simultané
forwarding_err=Impossible d'enregistré les options de direction et de transferts
forwarding_emins=Temps de transfert manquant ou invalide
forwarding_etrans=Maximum de transferts simultané manquant ou invalide
forwarding_minutes=minutes

net_title=Topologie et adresses
net_ecannot=Vous n'êtes pas autorisé à éditer les adresses et les options de topologie
net_header=Adresses globale et options de topologie
net_listen=Ports et adresses à écouter
net_below=Listé ci-dessous
net_port=Port
net_addrs=Adresses
net_saddr=Adresse IP source pour les requêtes
net_sport=Port source pour les requêtes
net_topol=Choix de topologie du serveur de nom
net_err=Impossible d'enregistrer les adresses et les options de topologie
net_eport=$1 n'est pas un numéro de port valide
net_etopology=Aucune adresse de topologie entrée

misc_title=Autres options
misc_ecannot=Vous n'êtes pas autorisé à éditer les autres options
misc_header=Autres options globales
misc_core=Taille maximale du dépôt du noyau de bind
misc_data=Utilisation maximum de mémoires pour les données
misc_files=Nom de fichier maximum ouvert
misc_stack=Utilisation maximum de piles de mémoire
misc_clean=Intervalle entre le nettoyage des enregistrements expiré
misc_iface=Intervalle entre les vérifications pour de nouvelles interfaces
misc_stats=Intervalle entre les statistiques de journal
misc_recursion=Faire une vérification récursive des clients?
misc_cnames=Permettre des alias CNAME multiple pour un nom?
misc_glue=Coller les enregistrements?
misc_nx=Définir un bit AA d'autorisation dans les réponses?
misc_err=Impossible d'enregistrer les autres options
misc_esize=$1 n'est pas une taille valide
misc_efiles=$1 n'est pas un nombre de fichiers ouvert valide
misc_emins=$1 n'est pas nombre de minutes valide
misc_mins=mins

zonedef_title=Zone par défaut
zonedef_msg=Défaut pour toute nouvelle zone principale
zonedef_err=Impossible d'enregistrer la zone par défaut
zonedef_ecannot=Vous n'êtes pas autoriser à changer la zone principale par défaut
zonedef_msg2=Configuration par défaut de la zone
zonedef_transfer=Accepter les transferts de
zonedef_query=Accepter les requêtes de
zonedef_cmaster=Vérifier les noms de la zone principale?
zonedef_cslave=Vérifier les noms dans la zone secondaire?
zonedef_cresponse=Vérifier les noms en réponses?
zonedef_notify=Avertir les zone secondaires des changements?
zonedef_email=Adresse électronique par défaut

find_title=Trouver des zones
find_match=Zones correspondant à $1 ...
find_none=Aucune zone trouvée.

efirst=Première mauvaise directive à la ligne $1 dans $2

findfree_title=Trouver des adresses IP libres
findfree_desc=Trouves des adresses IP libres
findfree_nofind=Vous ne pouvez pas chercher les IP libres
findfree_header=Dans $1
findfree_sopt=Options de recherche
findfree_IPrange=Intervalle IP
findfree_from=de
findfree_to=jusqu'à
findfree_cf=Considérer les noms <em>`freeXXX'</em> comme des IP libres ?
findfree_search=Rechercher

log_servers=Autres serveurs DNS modifiés
log_logging=Journalisation et erreurs modifiés
log_acls=Listes de contrôle d'accès modifiées
log_files=Fichiers et répertoires modifiés
log_forwarding=Redirection et transferts modifiés
log_net=Adresses et topologie changées
log_misc=Options diverses modifiées
log_zonedef=Réglages par défaut de la zone modifiés
log_apply=Changements appliqués
log_start=Serveur DNS démarré
log_master=Zone primaire $1 créée
log_slave=Zone secondaire $1 créée
log_stub=Zone stub $1 crée
log_forward=Zone directe $1 créée
log_delete_master=Zone maître $1 supprimée
log_delete_slave=Zone secondaire $1 supprimée
log_delete_stub=Zone stub $1 supprimée
log_delete_forward=Zone directe $1 supprimée
log_text=Enregistrements édités manuellement pour $1
log_soa=Paramètres de zone changés pour $1
log_opts=Options de zone modifiées pour $1
log_delete_record=Deleted $1 record $2 in zone $3
log_create_record=Created $1 record $2 in zone $3
log_modify_record=Modified $1 record $2 in zone $3
log_boot=Fichier de configuration primaire créé

convert_err=Echec de la conversion de zone
convert_efile=Un fichier d'enregistrements doit être spécifié avant qu'une zone secondaire ne soit convertie en maître.

whois_title=Information WHOIS
whois_header=Sortie de la commande $1 ...
 0707010004822a000081a40000000000000002000000013d1fe2d200003686000000200000000000000000000000000000001400000003reloc/bind8/lang/it   #localizzazione mantenuta da Stefano Giunchi 
#inviate qualsiasi correzione all'indirizzo <sgiunchi@libero.it>

index_title=BIND 8 DNS Server
index_enamed=Il server DNS BIND 8 DNS $1 non &egrave; stato trovato nel tuo sistema. Forse non &egrave; installato, o forse la tua <a href='$2'> Configurazione Modulo BIND 8</a> non &egrave; corretta.
index_eversion=L'eseguibile del server $1 non sembra essere BIND 8. Forse dovresti usare il <a href='$2'>modulo BIND 4</a>.
index_eempty=Il file di configurazione primario per BIND 8 $1 non esiste, o non &egrave; valido. Lo creo? 
index_local=Imposta il nameserver per il solo uso interno, non Internet
index_download=Imposta il nameserver per un uso Internet, e scarica le informazioni sui server root
index_webmin=Imposta come un nameserver Internet, ma usa il vecchio file di informazioni sui server root di Webmin
index_create=Crea il File di Configurazione Primaria ed Esegui il Nameserver
index_zones=Zone DNS Esistenti
index_none=Non ci sono zone DNS definite per questo nameserver
index_addmaster=Crea una nuova zona master
index_addslave=Crea una nuova zona slave
index_addstub=Crea una nuova zona stub
index_addfwd=Crea una nuova zona forward
index_apply=Applica Modifiche
index_applymsg=Clicca questo pulsante per riavviare il server BIND 8 attivo. Ci&ograve; attiver&agrave; la configurazione corrente.
index_start=Avvia il NameServer
index_startmsg=Clicca questo pulsante per avviare il server BIND 8, e caricare la configurazione corrente.
index_zone=Zona
index_type=Tipo
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Forward
index_opts=Opzioni Server Globali
index_return=lista zone

master_title=Modifica Zona Master
master_ecannot=Non hai i permessi per modificare questa zona
master_manual=Modifica il File dei Record
master_soa=Modifica i Parametri di Zona
master_options=Modifica le Opzioni di Zona
master_del=Elimina Zona
master_delmsg=Clicca questo pulsante per eliminare questa zona dal tuo server DNS.
master_delrev=Anche i reverse record corrispondenti in altre zone ospitate da questo server saranno eliminati
master_params=Parametri di Zona
master_server=Server Primario
master_email=Indirizzo email
master_refresh=Tempo di Aggiornamento
master_retry=Tempo per riprova trasferimento
master_expiry=Tempo di scadenza
master_minimum=Default time-to-live
master_opts=Opzioni di Zona
master_check=Controlla i nomi?
master_notify=Notifica gli slave dei cambiamenti?
master_update=Permetti modifiche da..
master_transfer=Permetti trasferimenti da..
master_query=Permetti richieste da..
master_notify2=Notifica anche gli slave..
master_type=Tipo
master_records=Records
master_return=tipi di record
master_err=Salvataggio opzioni fallito
master_ero=Non hai i permessi per aggiornare la zona
master_err2=Aggiornamento zona fallito
master_emaster='$1' non &egrave; un master server valido
master_eemail='$1' non &egrave; un indirizzo email valido
master_erefresh='$1' non &egrave; un tempo di aggiornamento valido
master_eretry='$1' non &egrave; un tempo di riprova trasferimento valido
master_eexpiry='$1' non &egrave; un tempo di scadenza valido
master_eminimum='$1' non &egrave; un TTL di default valido
master_edelete=Non hai i permessi per eliminare qusta zona

delete_title=Elimina Zona
delete_mesg=Sei sicuro che vuoi eliminare la zona $1 ? Tutti i record e i file di zona saranno eliminati.

mcreate_title=Crea Zona Master
mcreate_ecannot=Non puoi creare zone master
mcreate_opts=Opzioni della nuova zona master
mcreate_type=Tipo di Zona
mcreate_fwd=Forward (Nomi verso Indirizzi)
mcreate_rev=Reverse (Indirizzi verso Nomi)
mcreate_dom=Nome dominio / Rete
mcreate_file=File di record
mcreate_auto=Automatico
mcreate_err=Creazione zona master fallita

slave_title=Modifica Zona Slave
stub_title=Modifica Zona Stub
slave_ecannot=Non hai i permessi per modificare questa zona
slave_opts=Opzioni di Zona
slave_masters=Servers Master
slave_max=Massimo tempo di trasferimento
slave_file=File dei record
slave_check=Controlla i nomi?
slave_notify=Notifica gli slave delle modifiche?
slave_update=Permetti aggiornamenti da..
slave_transfer=Permetti trasferimenti da..
slave_query=Permetti richieste da..
slave_notify2=Notifica anche gli slave..
slave_none=Nessuno
slave_auto=Automatico
slave_err=Salvataggio opzioni fallito
slave_emax='$1' non &egrave; un tempo di trasferimento valido
slave_efile=File dei record mancante
slave_efile2='$1' non &egrave; un file dei record consentito

screate_title1=Crea Zona Slave
screate_title2=Crea Zona Stub
screate_ecannot1=Non hai i permessi per creare zone slave
screate_ecannot2=Non hai i permessi per creare zone stub
screate_header1=Opzioni per la nuova zona slave
screate_header2=Opzioni per la nuova zona stub
screate_type=Tipo Zona
screate_fwd=Normale (Nomi -> Indirizzi)
screate_rev=Inversa (Indirizzi -> Nomi)
screate_dom=Nome dominio / Rete
screate_err1=Creazione zona slave fallita
screate_err2=Creazione zona stub fallita

recs_ecannot=Non hai i permessi per modificare i record in questa zona
recs_title=$1 Records
recs_header=In $1
recs_addr=Indirizzo
recs_name=Nome
recs_ttl=TTL
recs_return=tipi di record

edit_title=Modifica $1
edit_header=In $1
edit_edit=Modifica Record $1
edit_add=Aggiungi Record $1
edit_addr=Indirizzo
edit_name=Nome
edit_ttl=Time-To-Live
edit_cnamemsg=I nomi assoluti devono finire con un .
edit_uprev=Aggiorna zona?
edit_upfwd=Aggiorna zona inversa?
edit_err=Salvataggio record fallito
edit_ettl='$1' non &egrave; un time-to-live valido
edit_eip='$1' non &egrave; un indirizzo IP valido
edit_ehost='$1' non &egrave; un hostname valido
edit_ename='$1' non &egrave; un nome record valido
edit_edupip=Un record indirizzo per $1 esiste gi&agrave;
edit_ens='$1' non &egrave; un nameserver valido
edit_ecname='$1' non &egrave; un target alias valido
edit_emx='$1' non &egrave; un mail server valdio
edit_epri='$1' non &egrave; una priorit&agrave; valida
edit_ehard=Tipo di hardware mancante o non valido
edit_eos=Tipo di Sistema Operativo mancante o non valido
edit_eserv=Non hai inserito nessun servizio conosciuto
edit_eemail='$1' non &egrave; un indirizzo email valido
edit_etxt='$1' non &egrave; un 'text record name' valido
edit_return=records

text_title=Modifica File dei Records
text_desc=Questa pagina ti permette di modificare manualmente i record del file DNS $1. Webmin non far&agrave; nessun controllo sintattico, ed il numero seriale di zona non sar&agrave; incrementato automaticamente.
text_undo=Annulla

restart_ecannot=Non hai i permessi per riavviare BIND
restart_esig=Segnalazione al processo $1 fallita : $2
start_ecannot=Non hai i permessi per avviare BIND

fwd_title=Modifica Zona 
fwd_ecannot=Non hai i permessi per modificare questa zona
fwd_opts=Opzioni di Zona
fwd_masters=Master Servers
fwd_forward=Prova altri server?
fwd_check=Controlla i nomi?
fwd_err=Salvataggio opzioni fallito

fcreate_title=Crea Zona Forward
fcreate_ecannot=Non hai i permessi per creare zone forward
fcreate_opts=Opzioni della nuova Zona Forward
fcreate_type=Tipo Zona
fcreate_fwd=Forward (Names to Addresses)
fcreate_rev=Reverse (Addresses to Names)
fcreate_dom=Nome Dominio / Rete
fcreate_masters=Master servers
fcreate_err=Creazione della forward zone fallita

create_enet='$1' non &egrave; una rete valida
create_edom='$1' non &egrave; un nome di dominio valido
create_edom2='$1' deve essere un dominio, non una rete
create_efile='$1' non &egrave; un nome di file valido
create_efile2='$1' non &egrave; un file di zona consentito
create_efile3=Creazione di '$1' fallita : $2
create_emaster='$1' non &egrave; un indirizzo server master valido
create_enone=Devi inserire almeno un server master

boot_err=Download fallito

type_A=Indirizzo
type_NS=Name Server (NS)
type_CNAME=Name Alias (CNAME)
type_MX=Server di Posta (MX)
type_HINFO=Informazioni host (HINFO)
type_TXT=Testo (TXT)
type_WKS=Well Known Service
type_RP=Responsible Person
type_PTR=Reverse Address

edit_A=Indirizzo
edit_NS=Name Server (NS)
edit_CNAME=Name Alias (CNAME)
edit_MX=Server di Posta (MX)
edit_HINFO=Informazioni host (HINFO)
edit_TXT=Testo (TXT)
edit_WKS=Well Known Service
edit_RP=Responsible Person
edit_PTR=Reverse Address

recs_A=Indirizzo
recs_NS=Name Server (NS)
recs_CNAME=Name Alias (CNAME)
recs_MX=Server di Posta (MX)
recs_HINFO=Informazioni host (HINFO)
recs_TXT=Testo (TXT)
recs_WKS=Well Known Service
recs_RP=Responsible Person
recs_PTR=Reverse Address

value_A1=Indirizzo
value_NS1=Name Server
value_CNAME1=Nome Reale
value_MX1=Priorit&agrave
value_MX2=Server di Posta
value_HINFO1=Hardware
value_HINFO2=Sistema Operativo
value_TXT1=Messaggio
value_WKS1=Indirizzo
value_WKS2=Protocollo
value_WKS3=Servizi
value_RP1=Indirizzo Email
value_RP2=Text Record
value_PTR1=Hostname

warn=Warn
fail=Fail
ignore=Ignore
default=Default
listed=Listed ..
eip='$1' non &egrave un indirizzo IP valido

acl_zones=Domini che questo utente pu&ograve modificare
acl_master=Pu&ograve creare zone master?
acl_slave=Pu&ograve creare zone slave/stub?
acl_forward=Pu&ograve creare zone forward?
acl_defaults=Pu&ograve modificare le opzioni globali?
acl_reverse=Pu&ograve aggiornare i reverse addresses in qualsiasi dominio?
acl_multiple=Possono esistere pi&ugrave indirizzi con lo stesso IP?
acl_ro=Modalit&agrave di accesso Read-only?
acl_apply=Pu&ograve applicare le modifiche?
acl_dir=Restringi i file di zona alla directory

servers_title=Altri Server DNS
servers_ip=Indirizzo IP
servers_bogus=Ignore bogus server?
servers_format=Formato del trasferimento di Zona
servers_trans=Massimo trasferimenti
servers_one=Uno alla volta
servers_many=Molti
servers_err=Salvataggio degli altri server DNS fallito
servers_eip='$1' non &egrave un indirizzo IP valido
servers_etrans='$1' non &egrave un numero di trasferimenti massimi valido

logging_title=Logging ed Errori
logging_ecannot=Non hai i permessi per configurare il logging
logging_header=Opzioni Globali di logging ed errori
logging_default1=Utilizza le impostazioni di logging di default di BIND
logging_default2=Utilizza le seguenti impostazioni ..
logging_cats=Categorie di Logging
logging_cat=Categoria
logging_cchans=Canali
logging_chans=Canali di Logging
logging_cname=Nome Canale
logging_to=Log su
logging_file=File
logging_fd=Descrittore di File
logging_versions=Versions to keep
logging_ver1=Niente
logging_ver2=Illimitato
logging_size=Dimensione massima file
logging_sz1=Illimitata
logging_syslog=Livello Syslog
logging_null=Nowhere
logging_sev=Minimum message level
logging_any=Any
logging_debug=Debug level ..
logging_dyn=Global level
logging_pcat=Record category in log
logging_psev=Record severity in log
logging_ptime=Record date and time in log
logging_add=Add a new channel
logging_none=No logging channels defined.
logging_err=Failed to save logging options
logging_ename='$1' is not a valid channel name
logging_efile=Missing log filename
logging_ever='$1' is not a valid number of versions
logging_esize='$1' is not a valid log size

acls_title=Access Control Lists
acls_ecannot=You are not allowed to edit global acls
acls_name=ACL Name
acls_values=Matching addresses, networks and ACLs
acls_err=Failed to save access control lists
acls_ename='$1' is not a valid ACL name

files_title=Files and Directories
files_ecannot=You are not allowed to configure files
files_header=Global files and directories options
files_stats=Statistics output file
files_dump=Database dump file
files_pid=Process ID file
files_xfer=Path to zone transfer program
files_err=Failed to save files and directories options
files_efile=Missing or invalid filename

forwarding_title=Forwarding and Transfers
forwarding_ecannot=You are not allowed to edit forwarding and transfer options
forwarding_header=Global forwarding and zone transfer options
forwarding_fwders=Servers to forward queries to
forwarding_fwd=Lookup directly if no response from forwarder
forwarding_max=Maximum zone transfer time
forwarding_format=Zone transfer format
forwarding_one=One at a time
forwarding_many=Many
forwarding_in=Maximum concurrent zone transfers
forwarding_err=Failed to save forwarding and transfer options
forwarding_emins=Missing or invalid maximum transfer time
forwarding_etrans=Missing or invalid maximum concurrent transfers

net_title=Addresses and Topology
net_ecannot=You are not allowed to edit address and topology options
net_header=Global address and topology options
net_listen=Ports and addresses to listen on
net_below=Listed below..
net_port=Port
net_addrs=Addresses
net_saddr=Source IP address for queries
net_sport=Source port for queries
net_topol=Nameserver choice topology
net_err=Failed to save address and topology options
net_eport='$1' is not a valid port number

misc_title=Miscellaneous Options
misc_ecannot=You are not allowed to edit miscellaneous options
misc_header=Miscellaneous global options
misc_core=Maximum core dump size
misc_data=Maximum data memory usage
misc_files=Maximum open files
misc_stack=Maximum stack memory usage
misc_clean=Interval between cleaning expired records
misc_iface=Interval between check for new interfaces
misc_stats=Interval between logging stats
misc_recursion=Do full recursive lookups for clients?
misc_cnames=Allow multiple CNAME aliases for one name?
misc_glue=Fetch glue records?
misc_nx=Set authorative AA bit on responses?
misc_err=Failed to save miscellaneous options
misc_esize='$1' is not a valid size
misc_efiles='$1' is not a valid number of maximum open files
misc_emins='$1' is not a valid number of minutes

zonedef_title=Zone Defaults
zonedef_msg=Defaults for new master zones
zonedef_err=Failed to save zone defaults
zonedef_ecannot=You are not allowed to change master zone defaults
zonedef_msg2=Default zone settings
zonedef_transfer=Allow transfers from..
zonedef_query=Allow queries from..
zonedef_cmaster=Check names in master zones?
zonedef_cslave=Check names in slave zones?
zonedef_cresponse=Check names in responses?
zonedef_notify=Notify slaves of changes?

efirst=Bad first directive at line $1 in $2
  07070100048256000081a40000000000000002000000013d1fe2d200003f85000000200000000000000000000000000000001b00000003reloc/bind8/lang/ja_JP.euc    index_title=BIND DNS ¥µ¡¼¥Ð
index_enamed=BIND DNS ¥µ¡¼¥Ð $1 ¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href='$2'>BIND ¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ç¤¹¡£
index_eversion=¼Â¹Ô²ÄÇ½¥µ¡¼¥Ð $1 ¤Ï BIND 8 ¤Þ¤¿¤Ï BIND 9 ¤Ç¤¢¤ë¤ÈÇ§¼±¤Ç¤­¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë<a href='$2'>BIND 4 ¥â¥¸¥å¡¼¥ë</a>¤ò¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
index_eempty=BIND $1 ¤Î¼çÍ×ÀßÄê¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹¡£ºîÀ®¤·¤Þ¤¹¤«¡©
index_local=¥Í¡¼¥à ¥µ¡¼¥Ð¤ò¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ò»ÈÍÑ¤·¤Ê¤¤ÆâÉô¤Ç¤Î»ÈÍÑ¤Î¤ß¤ËÀßÄê
index_download=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥Í¡¼¥à ¥µ¡¼¥Ð¤È¤·¤ÆÀßÄê¤·¡¢root ¥µ¡¼¥Ð¾ðÊó¤ò¥À¥¦¥ó¥í¡¼¥É
index_webmin=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥Í¡¼¥à ¥µ¡¼¥Ð¤È¤·¤ÆÀßÄê¤·¤Þ¤¹¤¬¡¢Webmin ¤Î¸Å¤¤ root ¥µ¡¼¥Ð¾ðÊó¤ò»ÈÍÑ
index_create=¼çÍ×ÀßÄê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¥Í¡¼¥à ¥µ¡¼¥Ð¤òµ¯Æ°
index_zones=´ûÂ¸¤Î DNS ¥¾¡¼¥ó
index_none=¤³¤Î¥Í¡¼¥à ¥µ¡¼¥Ð¤ËÄêµÁ¤µ¤ì¤¿ DNS ¥¾¡¼¥ó¤Ï¤¢¤ê¤Þ¤»¤ó
index_addmaster=¿·µ¬¤Î¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤òºîÀ®
index_addslave=¿·µ¬¤Î¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤òºîÀ®
index_addstub=¿·µ¬¤Î¥¹¥¿¥Ö ¥¾¡¼¥ó¤òºîÀ®
index_addfwd=¿·µ¬¤ÎÅ¾Á÷¥¾¡¼¥ó¤òºîÀ®
index_apply=ÊÑ¹¹¤òÅ¬ÍÑ
index_applymsg=¼Â¹ÔÃæ¤Î BIND ¥µ¡¼¥Ð¤òºÆµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¸½ºß¤ÎÀßÄê¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¡£
index_start=¥Í¡¼¥à ¥µ¡¼¥Ð¤Îµ¯Æ°
index_startmsg=BIND ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Æ¸½ºß¤ÎÀßÄê¤ò¥í¡¼¥É¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_zone=¥¾¡¼¥ó
index_type=¼ïÎà
index_master=¥Þ¥¹¥¿¡¼
index_slave=¥¹¥ì¡¼¥Ö
index_stub=¥¹¥¿¥Ö
index_forward=½ç°ú¤­
index_opts=¥°¥í¡¼¥Ð¥ë ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó
index_return=¥¾¡¼¥ó ¥ê¥¹¥È
index_toomany=¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¥¾¡¼¥ó¤¬Â¿¤¹¤®¤ë¤¿¤á¡¢¤³¤³¤ÇÉ½¼¨¤Ç¤­¤Þ¤»¤ó¡£
index_find=°ìÃ×¤¹¤ë¥¾¡¼¥ó¤Î¸¡º÷:
index_search=¸¡º÷

master_title=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤ÎÊÔ½¸
master_ecannot=¤³¤Î¥¾¡¼¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
master_manual=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸
master_soa=¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿¤ÎÊÔ½¸
master_options=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó¤ÎÊÔ½¸
master_del=¥¾¡¼¥ó¤Îºï½ü
master_delmsg=¤´»ÈÍÑ¤Î DNS ¥µ¡¼¥Ð¤«¤é¤³¤Î¥¾¡¼¥ó¤òºï½ü¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
master_delrev=¤³¤Î¥µ¡¼¥Ð¤¬¥Û¥¹¥È¤·¤Æ¤¤¤ëÂ¾¤Î¥¾¡¼¥óÆâ¤Ë¤¢¤ë°ìÃ×¤·¤¿µÕ°ú¤­¥¢¥É¥ì¥¹¤Î¥ì¥³¡¼¥É¤âºï½ü¤µ¤ì¤Þ¤¹¡£
master_tmpl=¥¾¡¼¥ó ¥Æ¥ó¥×¥ì¡¼¥È¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
master_ip=¥Æ¥ó¥×¥ì¡¼¥È ¥ì¥³¡¼¥É¤Î IP ¥¢¥É¥ì¥¹
master_params=¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿
master_server=¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð
master_ns=¥Í¡¼¥à ¥µ¡¼¥Ð ¥ì¥³¡¼¥É¤ò¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð¤ËÄÉ²Ã¤·¤Þ¤¹¤«¡©
master_email=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
master_refresh=¥ê¥Õ¥ì¥Ã¥·¥å»þ´Ö
master_retry=Å¾Á÷ºÆ»î¹Ô»þ´Ö
master_expiry=´ü¸ÂÀÚ¤ì»þ´Ö
master_minimum=TTL»þ´Ö¤Î¥Ç¥Õ¥©¥ë¥È
master_opts=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
master_check=Ì¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
master_notify=ÊÑ¹¹¤ò¥¹¥ì¡¼¥Ö¤ËÄÌÃÎ¤·¤Þ¤¹¤«¡©
master_update=¼¡¤«¤é¤Î¹¹¿·¤òµö²Ä..
master_transfer=¼¡¤«¤é¤ÎÅ¾Á÷¤òµö²Ä..
master_query=¼¡¤«¤é¤Î¥¯¥¨¥ê¡¼¤òµö²Ä..
master_notify2=¥¹¥ì¡¼¥Ö¤ËÄÌÃÎ..
master_type=¼ïÎà
master_records=¥ì¥³¡¼¥É
master_return=¥ì¥³¡¼¥É¤Î¼ïÎà
master_err=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
master_ero=¥¾¡¼¥ó¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó
master_err2=¥¾¡¼¥ó¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
master_emaster='$1' ¤ÏÌµ¸ú¤Ê¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð¤Ç¤¹
master_eemail='$1' ¤ÏÌµ¸ú¤Ê E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Ç¤¹¡£
master_erefresh='$1' ¤ÏÌµ¸ú¤Ê¥ê¥Õ¥ì¥Ã¥·¥å»þ´Ö¤Ç¤¹
master_eretry='$1' ¤ÏÌµ¸ú¤ÊÅ¾Á÷ºÆ»î¹Ô»þ´Ö¤Ç¤¹
master_eexpiry='$1' ¤ÏÌµ¸ú¤Ê´ü¸ÂÀÚ¤ì»þ´Ö¤Ç¤¹
master_eminimum='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥Õ¥©¥ë¥È TTL »þ´Ö¤Ç¤¹
master_edelete=¤³¤Î¥¾¡¼¥ó¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
master_tmplrecs=¥Æ¥ó¥×¥ì¡¼¥È ¥ì¥³¡¼¥É
master_name=¥ì¥³¡¼¥ÉÌ¾
master_value=ÃÍ
master_user=·Á¼°
master_eip=¥Æ¥ó¥×¥ì¡¼¥È IP ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
master_eiptmpl=¥Æ¥ó¥×¥ì¡¼¥È ¥ì¥³¡¼¥ÉÃÍ¤Ï¥¢¥É¥ì¥¹ ¥ì¥³¡¼¥ÉÍÑ¤«¤é¤Î¤ß»ÈÍÑ¤Ç¤­¤Þ¤¹
master_esoacannot=¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
master_eoptscannot=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
master_edeletecannot=¥¾¡¼¥ó¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
master_etaken=¤³¤Î¥¾¡¼¥ó¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹

delete_title=¥¾¡¼¥ó¤Îºï½ü
delete_mesg=¥¾¡¼¥ó $1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©¤¹¤Ù¤Æ¤Î¥ì¥³¡¼¥É¤È¥¾¡¼¥ó ¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
delete_rev=Â¾¤Î¥¾¡¼¥ó¤ÎµÕ°ú¤­¥ì¥³¡¼¥É¤òºï½ü¤·¤Þ¤¹¤«¡©
delete_fwd=Â¾¤Î¥¾¡¼¥ó¤Î½ç°ú¤­¥ì¥³¡¼¥É¤òºï½ü¤·¤Þ¤¹¤«¡©

mcreate_title=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤ÎºîÀ®
mcreate_ecannot=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
mcreate_opts=¿·µ¬¤Î¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
mcreate_type=¥¾¡¼¥ó¤Î¼ïÎà
mcreate_fwd=½ç°ú¤­ (Ì¾Á°¤ò¥¢¥É¥ì¥¹¤Ë)
mcreate_rev=µÕ°ú¤­ (¥¢¥É¥ì¥¹¤òÌ¾Á°¤Ë)
mcreate_dom=¥É¥á¥¤¥óÌ¾ / ¥Í¥Ã¥È¥ï¡¼¥¯
mcreate_file=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë
mcreate_auto=¼«Æ°
mcreate_err=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

slave_title=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤ÎÊÔ½¸
stub_title=¥¹¥¿¥Ö ¥¾¡¼¥ó¤ÎÊÔ½¸
slave_ecannot=¤³¤Î¥¾¡¼¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
slave_opts=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
slave_masters=¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð
slave_max=ºÇÂçÅ¾Á÷»þ´Ö
slave_file=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë
slave_check=Ì¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
slave_notify=ÊÑ¹¹¤ò¥¹¥ì¡¼¥Ö¤ËÄÌÃÎ¤·¤Þ¤¹¤«¡©
slave_update=¼¡¤«¤é¤Î¹¹¿·¤òµö²Ä..
slave_transfer=¼¡¤«¤é¤ÎÅ¾Á÷¤òµö²Ä..
slave_query=¼¡¤«¤é¤Î¥¯¥¨¥ê¡¼¤òµö²Ä..
slave_notify2=¥¹¥ì¡¼¥Ö¤ËÄÌÃÎ..
slave_none=¤Ê¤·
slave_auto=¼«Æ°
slave_err=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
slave_emax='$1' ¤ÏÌµ¸ú¤ÊºÇÂçÅ¾Á÷»þ´Ö¤Ç¤¹
slave_efile=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
slave_efile2='$1' ¤ÏµöÍÆ¤µ¤ì¤ë¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
slave_mins=Ê¬

screate_title1=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤ÎºîÀ®
screate_title2=¥¹¥¿¥Ö ¥¾¡¼¥ó¤ÎºîÀ®
screate_ecannot1=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
screate_ecannot2=¥¹¥¿¥Ö ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
screate_header1=¿·µ¬¤Î¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
screate_header2=¿·µ¬¤Î¥¹¥¿¥Ö ¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
screate_type=¥¾¡¼¥ó¤Î¼ïÎà
screate_fwd=½ç°ú¤­ (Ì¾Á°¤ò¥¢¥É¥ì¥¹¤Ë)
screate_rev=µÕ°ú¤­ (¥¢¥É¥ì¥¹¤òÌ¾Á°¤Ë)
screate_dom=¥É¥á¥¤¥óÌ¾ / ¥Í¥Ã¥È¥ï¡¼¥¯
screate_err1=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
screate_err2=¥¹¥¿¥Ö ¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

recs_ecannot=¤³¤Î¥¾¡¼¥óÆâ¤Î¥ì¥³¡¼¥É¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
recs_title=$1 ¥ì¥³¡¼¥É
recs_header=$1 Æâ
recs_addr=¥¢¥É¥ì¥¹
recs_name=¥ì¥³¡¼¥ÉÌ¾
recs_ttl=TTL
recs_comment=¥³¥á¥ó¥È
recs_return=¥ì¥³¡¼¥É¤Î¼ïÎà

edit_title=$1 ¤ÎÊÔ½¸
edit_header=$1 Æâ
edit_edit=$1 ¥ì¥³¡¼¥É¤ÎÊÔ½¸
edit_add=$1 ¥ì¥³¡¼¥É¤ÎÄÉ²Ã
edit_addr=¥¢¥É¥ì¥¹
edit_name=¥ì¥³¡¼¥ÉÌ¾
edit_zonename=¥¾¡¼¥óÌ¾
edit_ttl=TTL»þ´Ö
edit_comment=¥³¥á¥ó¥È
edit_cnamemsg=ÀäÂÐÌ¾¤Ï a ¤Ç½ª¤ï¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
edit_uprev=µÕ°ú¤­¤ò¹¹¿·¤·¤Þ¤¹¤«¡©
edit_upfwd=½ç°ú¤­¤ò¹¹¿·¤·¤Þ¤¹¤«¡©
edit_err=¥ì¥³¡¼¥É¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
edit_ettl='$1' ¤ÏÌµ¸ú¤ÊTTL»þ´Ö¤Ç¤¹
edit_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
edit_eip6='$1' ¤ÏÌµ¸ú¤Ê IPv6 ¥¢¥É¥ì¥¹¤Ç¤¹
edit_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
edit_ename='$1' ¤ÏÌµ¸ú¤Ê¥ì¥³¡¼¥ÉÌ¾¤Ç¤¹
edit_edupip=$1 ¤Î¥¢¥É¥ì¥¹ ¥ì¥³¡¼¥É¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
edit_ens='$1' ¤ÏÌµ¸ú¤Ê¥Í¡¼¥à ¥µ¡¼¥Ð¤Ç¤¹
edit_ecname='$1' ¤ÏÌµ¸ú¤Ê¥¨¥¤¥ê¥¢¥¹ ¥¿¡¼¥²¥Ã¥È¤Ç¤¹
edit_emx='$1' ¤ÏÌµ¸ú¤Ê¥á¡¼¥ë ¥µ¡¼¥Ð¤Ç¤¹
edit_epri='$1' ¤ÏÌµ¸ú¤ÊÍ¥ÀèÅÙ¤Ç¤¹
edit_ehard=¥Ï¡¼¥É¥¦¥§¥¢¤Î¼ïÎà¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
edit_eos=OS ¤Î¼ïÎà¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
edit_eserv=´ûÃÎ¤Î¥µ¡¼¥Ó¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
edit_ebadserv=´ûÃÎ¤Î¥µ¡¼¥Ó¥¹ '$1' ¤ÏÉÔÀµ¤Ç¤¹
edit_eemail='$1' ¤ÏÌµ¸ú¤Ê E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Ç¤¹¡£
edit_etxt='$1' ¤ÏÌµ¸ú¤Ê¥Æ¥­¥¹¥È ¥ì¥³¡¼¥ÉÌ¾¤Ç¤¹
edit_efqdn=ÀäÂÐÌ¾ '$1' ¤¬Ä¹¤¹¤®¤Þ¤¹
edit_elabel='$1' Æâ¤Î¥é¥Ù¥ë¤¬Ä¹¤¹¤®¤Þ¤¹
edit_eloc=°ÞÅÙ¤È·ÐÅÙ¤¬¤¢¤ê¤Þ¤»¤ó
edit_return=¥ì¥³¡¼¥É

text_title=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸
text_desc=DNS ¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£Webmin ¤Ï¹½Ê¸¤Î¥Á¥§¥Ã¥¯¤ò¹Ô¤ï¤º¡¢¥¾¡¼¥ó¤Î¥·¥ê¥¢¥ëÈÖ¹æ¤Ï¼«Æ°Åª¤ËÁý²Ã¤·¤Þ¤»¤ó¡£
text_undo=¤ä¤êÄ¾¤·
text_ecannot=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

restart_ecannot=BIND ¤ÏºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó
restart_esig=¥×¥í¥»¥¹ $1 ¤Ë¿®¹æ¤òÁ÷¤ì¤Þ¤»¤ó¤Ç¤·¤¿: $2
start_ecannot=BIND ¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó
start_error=BIND ¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1

fwd_title=Å¾Á÷¥¾¡¼¥ó¤ÎÊÔ½¸
fwd_ecannot=¤³¤Î¥¾¡¼¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
fwd_opts=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó
fwd_masters=¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð
fwd_forward=ÊÌ¤Î¥µ¡¼¥Ð¤ò»î¹Ô¤·¤Þ¤¹¤«¡©
fwd_check=Ì¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
fwd_err=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

fcreate_title=Å¾Á÷¥¾¡¼¥ó¤ÎºîÀ®
fcreate_ecannot=Å¾Á÷¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
fcreate_opts=¿·µ¬¤ÎÅ¾Á÷¥¾¡¼¥ó¤Î¥ª¥×¥·¥ç¥ó
fcreate_type=¥¾¡¼¥ó¤Î¼ïÎà
fcreate_fwd=½ç°ú¤­ (Ì¾Á°¤ò¥¢¥É¥ì¥¹¤Ë)
fcreate_rev=µÕ°ú¤­ (¥¢¥É¥ì¥¹¤òÌ¾Á°¤Ë)
fcreate_dom=¥É¥á¥¤¥óÌ¾ / ¥Í¥Ã¥È¥ï¡¼¥¯
fcreate_masters=¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð
fcreate_err=Å¾Á÷¥¾¡¼¥ó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

create_enet='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤¹
create_edom='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥óÌ¾¤Ç¤¹
create_edom2='$1' ¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤Ï¤Ê¤¯¡¢¥É¥á¥¤¥ó¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
create_efile='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥¡¥¤¥ëÌ¾¤Ç¤¹
create_efile2='$1' ¤ÏµöÍÆ¤µ¤ì¤ë¥¾¡¼¥ó ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
create_efile3=$1 ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
create_emaster='$1' ¤ÏÌµ¸ú¤Ê¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð ¥¢¥É¥ì¥¹¤Ç¤¹
create_enone=¾¯¤Ê¤¯¤È¤â°ì¤Ä¤Î¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹

boot_err=¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

type_A=¥¢¥É¥ì¥¹
type_AAAA=IPv6 ¥¢¥É¥ì¥¹
type_NS=¥Í¡¼¥à ¥µ¡¼¥Ð
type_CNAME=¥Í¡¼¥à ¥¨¥¤¥ê¥¢¥¹
type_MX=¥á¡¼¥ë ¥µ¡¼¥Ð
type_HINFO=¥Û¥¹¥È¤Î¾ðÊó
type_TXT=¥Æ¥­¥¹¥È
type_WKS=´ûÃÎ¤Î¥µ¡¼¥Ó¥¹
type_RP=ÀÕÇ¤¼Ô
type_PTR=µÕ°ú¤­¥¢¥É¥ì¥¹
type_LOC=¾ì½ê

edit_A=¥¢¥É¥ì¥¹
edit_AAAA=IPv6 ¥¢¥É¥ì¥¹
edit_NS=¥Í¡¼¥à ¥µ¡¼¥Ð
edit_CNAME=¥Í¡¼¥à ¥¨¥¤¥ê¥¢¥¹
edit_MX=¥á¡¼¥ë ¥µ¡¼¥Ð
edit_HINFO=¥Û¥¹¥È¤Î¾ðÊó
edit_TXT=¥Æ¥­¥¹¥È
edit_WKS=´ûÃÎ¤Î¥µ¡¼¥Ó¥¹
edit_RP=ÀÕÇ¤¼Ô
edit_PTR=µÕ°ú¤­¥¢¥É¥ì¥¹
edit_LOC=¾ì½ê

recs_A=¥¢¥É¥ì¥¹
recs_AAAA=IPv6 ¥¢¥É¥ì¥¹
recs_NS=¥Í¡¼¥à ¥µ¡¼¥Ð
recs_CNAME=¥Í¡¼¥à ¥¨¥¤¥ê¥¢¥¹
recs_MX=¥á¡¼¥ë ¥µ¡¼¥Ð
recs_HINFO=¥Û¥¹¥È¤Î¾ðÊó
recs_TXT=¥Æ¥­¥¹¥È
recs_WKS=´ûÃÎ¤Î¥µ¡¼¥Ó¥¹
recs_RP=ÀÕÇ¤¼Ô
recs_PTR=µÕ°ú¤­¥¢¥É¥ì¥¹
recs_LOC=¾ì½ê

value_A1=¥¢¥É¥ì¥¹
value_NS1=¥Í¡¼¥à ¥µ¡¼¥Ð
value_CNAME1=¼ÂÌ¾
value_MX1=Í¥ÀèÅÙ
value_MX2=¥á¡¼¥ë ¥µ¡¼¥Ð
value_HINFO1=¥Ï¡¼¥É¥¦¥§¥¢
value_HINFO2=¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
value_TXT1=¥á¥Ã¥»¡¼¥¸
value_WKS1=¥¢¥É¥ì¥¹
value_WKS2=¥×¥í¥È¥³¥ë
value_WKS3=¥µ¡¼¥Ó¥¹
value_RP1=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
value_RP2=¥Æ¥­¥¹¥È ¥ì¥³¡¼¥ÉÌ¾
value_PTR1=¥Û¥¹¥ÈÌ¾
value_LOC1=°ÞÅÙ¤È·ÐÅÙ

warn=·Ù¹ð
fail=¼ºÇÔ
ignore=Ìµ»ë
default=¥Ç¥Õ¥©¥ë¥È
minutes=Ê¬
seconds=ÉÃ
hours=»þ´Ö
days=Æü
weeks=½µ
listed=¥ê¥¹¥È..
eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹

acl_zones=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥É¥á¥¤¥ó
acl_zall=¤¹¤Ù¤Æ¤Î¥¾¡¼¥ó
acl_zsel=ÁªÂò..
acl_master=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_slave=¥¹¥ì¡¼¥Ö/¥¹¥¿¥Ö ¥¾¡¼¥ó¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_forward=Å¾Á÷¥¾¡¼¥ó¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_defaults=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_reverse=¤¹¤Ù¤Æ¤Î¥É¥á¥¤¥ó¤ÇµÕ°ú¤­¥¢¥É¥ì¥¹¤ò¹¹¿·²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_multiple=Ê£¿ô¥¢¥É¥ì¥¹¤ËÆ±¤¸ IP ¥¢¥É¥ì¥¹¤ò³ä¤êÅö¤Æ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_ro=ÆÉ¼è¤êÀìÍÑ¥¢¥¯¥»¥¹ ¥â¡¼¥É¤Ë¤·¤Þ¤¹¤«¡©
acl_apply=ÊÑ¹¹¤òÅ¬ÍÑ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_dir=¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥¾¡¼¥ó ¥Õ¥¡¥¤¥ë¤òÀ©¸Â
acl_file=¥ì¥³¡¼¥É ¥Õ¥¡¥¤¥ë¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_params=¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_opts=¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_delete=¥¾¡¼¥ó¤òºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_findfree=»ÈÍÑ¤µ¤ì¤Æ¤¤¤Ê¤¤ IP ¥¢¥É¥ì¥¹¤ò¸¡º÷²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

servers_title=Â¾¤Î DNS ¥µ¡¼¥Ð
servers_ip=IP ¥¢¥É¥ì¥¹
servers_bogus=µ¶¤Î¥µ¡¼¥Ð¤òÌµ»ë¤·¤Þ¤¹¤«¡©
servers_format=¥¾¡¼¥óÅ¾Á÷·Á¼°
servers_trans=ºÇÂçÅ¾Á÷
servers_one=°ìÅÙ¤Ë£±¤Ä
servers_many=Ê£¿ô
servers_err=Â¾¤Î DNS ¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
servers_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
servers_etrans='$1'¤ÏÍ­¸ú¤ÊºÇÂçÅ¾Á÷¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

logging_title=¥í¥°¤È¥¨¥é¡¼
logging_ecannot=¥í¥°¤òÀßÄê¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
logging_header=¥°¥í¡¼¥Ð¥ë ¥í¥°¤È¥¨¥é¡¼ ¥ª¥×¥·¥ç¥ó
logging_default1=BIND ¤Î¥Ç¥Õ¥©¥ë¥È ¥í¥°ÀßÄê¤ò»ÈÍÑ
logging_default2=²¼¤ÎÀßÄê¤ò»ÈÍÑ ..
logging_cats=¥í¥° ¥«¥Æ¥´¥ê¡¼
logging_cat=¥«¥Æ¥´¥ê¡¼
logging_cchans=¥Á¥ã¥Í¥ë
logging_chans=¥í¥° ¥Á¥ã¥Í¥ë
logging_cname=¥Á¥ã¥Í¥ëÌ¾
logging_to=¥í¥°Àè
logging_file=¥Õ¥¡¥¤¥ë
logging_fd=¥Õ¥¡¥¤¥ë¤ÎÀâÌÀ
logging_versions=ÊÝÂ¸¤¹¤ë¥Ð¡¼¥¸¥ç¥ó
logging_ver1=¤Ê¤·
logging_ver2=ÌµÀ©¸Â
logging_size=ºÇÂç¥Õ¥¡¥¤¥ë¥µ¥¤¥º
logging_sz1=ÌµÀ©¸Â
logging_syslog=Syslog ¥ì¥Ù¥ë
logging_null=¤Ê¤·
logging_sev=ºÇ¾®¥á¥Ã¥»¡¼¥¸ ¥ì¥Ù¥ë
logging_any=Ç¤°Õ
logging_debug=¥Ç¥Ð¥Ã¥° ¥ì¥Ù¥ë..
logging_dyn=¥°¥í¡¼¥Ð¥ë ¥ì¥Ù¥ë
logging_pcat=¥í¥°¤Ëµ­Ï¿¤¹¤ë¥«¥Æ¥´¥ê¡¼
logging_psev=¥í¥°¤Ë½ÅÂçÅÙ¤òµ­Ï¿
logging_ptime=¥í¥°¤ËÆü»þ¤òµ­Ï¿
logging_add=¿·µ¬¥Á¥ã¥Í¥ë¤òÄÉ²Ã
logging_none=ÄêµÁ¤µ¤ì¤¿¥í¥° ¥Á¥ã¥Í¥ë¤Ï¤¢¤ê¤Þ¤»¤ó¡£
logging_err=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
logging_ename='$1' ¤ÏÌµ¸ú¤Ê¥Á¥ã¥Í¥ëÌ¾¤Ç¤¹
logging_efile=¥í¥° ¥Õ¥¡¥¤¥ëÌ¾¤¬¤¢¤ê¤Þ¤»¤ó
logging_ever='$1'¤ÏÌµ¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Ç¤¹
logging_esize='$1' ¤ÏÌµ¸ú¤Ê¥í¥° ¥µ¥¤¥º¤Ç¤¹

acls_title=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È
acls_ecannot=¥°¥í¡¼¥Ð¥ë ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
acls_name=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥ÈÌ¾
acls_values=°ìÃ×¤·¤¿¥¢¥É¥ì¥¹¡¢¥Í¥Ã¥È¥ï¡¼¥¯¤ª¤è¤Ó ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È
acls_err=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
acls_ename='$1' ¤ÏÌµ¸ú¤Ê¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥ÈÌ¾¤Ç¤¹

files_title=¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê
files_ecannot=¥Õ¥¡¥¤¥ë¤òÀßÄê¤Ç¤­¤Þ¤»¤ó
files_header=¥°¥í¡¼¥Ð¥ë ¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê ¥ª¥×¥·¥ç¥ó
files_stats=Åý·×½ÐÎÏ¥Õ¥¡¥¤¥ë
files_dump=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥À¥ó¥× ¥Õ¥¡¥¤¥ë
files_pid=ID ¥Õ¥¡¥¤¥ë¤Î½èÍý
files_xfer=¥¾¡¼¥óÅ¾Á÷¥×¥í¥°¥é¥à¤Ø¤Î¥Ñ¥¹
files_err=¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó
files_efile=¥Õ¥¡¥¤¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

forwarding_title=Å¾Á÷
forwarding_ecannot=Å¾Á÷¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
forwarding_header=¥°¥í¡¼¥Ð¥ëÅ¾Á÷¤È¥¾¡¼¥óÅ¾Á÷¥ª¥×¥·¥ç¥ó
forwarding_fwders=¥¯¥¨¥ê¡¼¤òÅ¾Á÷¤¹¤ë¥µ¡¼¥Ð
forwarding_fwd=Å¾Á÷¸µ¤Î¥µ¡¼¥Ð¤«¤é±þÅú¤¬¤Ê¤¤¾ì¹ç¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
forwarding_max=ºÇÂç¥¾¡¼¥óÅ¾Á÷»þ´Ö
forwarding_format=¥¾¡¼¥óÅ¾Á÷·Á¼°
forwarding_one=°ìÅÙ¤Ë£±¤Ä
forwarding_many=Ê£¿ô
forwarding_in=ºÇÂçÆ±»þ¥¾¡¼¥óÅ¾Á÷
forwarding_err=Å¾Á÷¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
forwarding_emins=ºÇÂçÅ¾Á÷»þ´Ö¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
forwarding_etrans=ºÇÂçÆ±»þÅ¾Á÷¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
forwarding_minutes=Ê¬

net_title=¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸
net_ecannot=¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸ ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
net_header=¥°¥í¡¼¥Ð¥ë ¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸ ¥ª¥×¥·¥ç¥ó
net_listen=¥ê¥Ã¥¹¥óÂÐ¾Ý¤Î¥Ý¡¼¥È¤È¥¢¥É¥ì¥¹
net_below=¥ê¥¹¥È..
net_port=¥Ý¡¼¥È
net_addrs=¥¢¥É¥ì¥¹
net_saddr=¥¯¥¨¥ê¡¼¤Î¥½¡¼¥¹ IP ¥¢¥É¥ì¥¹
net_sport=¥¯¥¨¥ê¡¼¤Î¥½¡¼¥¹ ¥Ý¡¼¥È
net_topol=¥Í¡¼¥à ¥µ¡¼¥ÐÁªÂò¥È¥Ý¥í¥¸
net_err=¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸ ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
net_eport='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹
net_etopology=¥È¥Ý¥í¥¸ ¥¢¥É¥ì¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

misc_title=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_ecannot=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
misc_header=¤½¤ÎÂ¾¤Î¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
misc_core=ºÇÂç¥³¥¢ ¥À¥ó¥× ¥µ¥¤¥º
misc_data=ºÇÂç¥Ç¡¼¥¿ ¥á¥â¥ê»ÈÍÑÎÌ
misc_files=ºÇÂç¥ª¡¼¥×¥ó ¥Õ¥¡¥¤¥ë
misc_stack=ºÇÂç¥¹¥¿¥Ã¥¯ ¥á¥â¥ê»ÈÍÑÎÌ
misc_clean=´ü¸Â¤¬ÀÚ¤ì¤¿¥ì¥³¡¼¥É¤ò¥¯¥ê¡¼¥Ë¥ó¥°¤¹¤ë´Ö³Ö
misc_iface=¿·µ¬¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò¥Á¥§¥Ã¥¯¤¹¤ë´Ö³Ö
misc_stats=¥í¥° stats ¤Î´Ö³Ö
misc_recursion=¥¯¥é¥¤¥¢¥ó¥È¤ÎÁ´ºÆµ¢¸¡º÷¤ò¹Ô¤¤¤Þ¤¹¤«¡©
misc_cnames=£±¤Ä¤ÎÌ¾Á°¤ËÊ£¿ô¤Î CNAME ¥¨¥¤¥ê¥¢¥¹¤òµö²Ä¤·¤Þ¤¹¤«¡©
misc_glue=glue ¥ì¥³¡¼¥É¤ò¼è¤ê½Ð¤·¤Þ¤¹¤«¡©
misc_nx=±þÅú¤ËÌ¿Îá·¿ AA ¥Ó¥Ã¥È¤òÀßÄê¤·¤Þ¤¹¤«¡©
misc_err=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
misc_esize='$1' ¤ÏÌµ¸ú¤Ê¥µ¥¤¥º¤Ç¤¹
misc_efiles='$1' ¤ÏÌµ¸ú¤ÊºÇÂç¥ª¡¼¥×¥ó ¥Õ¥¡¥¤¥ë¿ô¤Ç¤¹
misc_emins='$1'¤ÏÌµ¸ú¤ÊÊ¬¤Ç¤¹
misc_mins=Ê¬

zonedef_title=¥¾¡¼¥ó ¥Ç¥Õ¥©¥ë¥È
zonedef_msg=¿·µ¬¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤Î¥Ç¥Õ¥©¥ë¥È
zonedef_err=¥¾¡¼¥ó ¥Ç¥Õ¥©¥ë¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
zonedef_ecannot=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤Î¥Ç¥Õ¥©¥ë¥È¤ÏÊÑ¹¹¤Ç¤­¤Þ¤»¤ó
zonedef_msg2=¥Ç¥Õ¥©¥ë¥È ¥¾¡¼¥ó¤ÎÀßÄê
zonedef_transfer=¼¡¤«¤é¤ÎÅ¾Á÷¤òµö²Ä..
zonedef_query=¼¡¤«¤é¤Î¥¯¥¨¥ê¡¼¤òµö²Ä..
zonedef_cmaster=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó¤ÎÌ¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
zonedef_cslave=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó¤ÎÌ¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
zonedef_cresponse=±þÅúÆâ¤ÎÌ¾Á°¤òÄ´¤Ù¤Þ¤¹¤«¡©
zonedef_notify=ÊÑ¹¹¤ò¥¹¥ì¡¼¥Ö¤ËÄÌÃÎ¤·¤Þ¤¹¤«¡©
zonedef_email=¥Ç¥Õ¥©¥ë¥È E ¥á¡¼¥ë ¥¢¥É¥ì¥¹

find_title=¥¾¡¼¥ó¤Î¸¡º÷
find_match=$1 ¤Ë°ìÃ×¤¹¤ë¥¾¡¼¥ó..
find_none=¸«¤Ä¤«¤Ã¤¿¥¾¡¼¥ó¤Ï¤¢¤ê¤Þ¤»¤ó¡£

efirst=$2 Æâ¤Î¥é¥¤¥ó$1 ¤ËÉÔÀµ¤ÊºÇ½é¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤¬¤¢¤ê¤Þ¤¹

findfree_title=»ÈÍÑ¤Ç¤­¤ë IP ¥¢¥É¥ì¥¹¤Î¸¡º÷
findfree_desc=»ÈÍÑ¤Ç¤­¤ë IP ¥¢¥É¥ì¥¹¤Î¸¡º÷
findfree_nofind=»ÈÍÑ¤Ç¤­¤ë IP ¥¢¥É¥ì¥¹¤ò¸¡º÷¤Ç¤­¤Þ¤»¤ó
findfree_header=$1 Æâ
findfree_sopt=¸¡º÷¥ª¥×¥·¥ç¥ó
findfree_IPrange=IP ÈÏ°Ï
findfree_from=¼¡¤«¤é
findfree_to=¼¡¤Þ¤Ç
findfree_cf='freeXXXreeXXX' <em>¥Û¥¹¥ÈÌ¾¤ò</em> »ÈÍÑ¤Ç¤­¤ë IP ¥¢¥É¥ì¥¹¤È¤·¤Æ¤ß¤Ê¤·¤Þ¤¹¤«¡©
findfree_search=¸¡º÷

log_servers=Â¾¤Î DNS ¥µ¡¼¥Ð¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_logging=¥í¥°¤È¥¨¥é¡¼¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_acls=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_files=¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_forwarding=Å¾Á÷¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_net=¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_zonedef=¥¾¡¼¥ó ¥Ç¥Õ¥©¥ë¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_start=DNS ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_master=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_slave=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_stub=¥¹¥¿¥Ö ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_forward=Å¾Á÷¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_master=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_slave=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_stub=¥¹¥¿¥Ö ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_forward=Å¾Á÷¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_text=$1 ¤Î¥ì¥³¡¼¥É¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_soa=$1 ¤Î¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_opts=$1 ¤Î¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_record=¥¾¡¼¥ó$3 Æâ¤Î$1 ¥ì¥³¡¼¥É $2¤òºï½ü¤·¤Þ¤·¤¿
log_create_record=¥¾¡¼¥ó$3 Æâ¤Î$1 ¥ì¥³¡¼¥É $2¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_record=¥¾¡¼¥ó $3 Æâ¤Î $1 ¥ì¥³¡¼¥É $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_boot=¼çÍ×ÀßÄê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤·¤¿

   07070100048265000081a40000000000000002000000013d1fe2d200003f85000000200000000000000000000000000000001b00000003reloc/bind8/lang/ja_JP.jis    index_title=BIND DNS ƒT[ƒo
index_enamed=BIND DNS ƒT[ƒo $1 ‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚ÉŒ©‚Â‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½BƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚©A<a href='$2'>BIND ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚Å‚·B
index_eversion=ŽÀs‰Â”\ƒT[ƒo $1 ‚Í BIND 8 ‚Ü‚½‚Í BIND 9 ‚Å‚ ‚é‚Æ”FŽ¯‚Å‚«‚Ü‚¹‚ñB‘ã‚í‚è‚É<a href='$2'>BIND 4 ƒ‚ƒWƒ…[ƒ‹</a>‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B
index_eempty=BIND $1 ‚ÌŽå—vÝ’èƒtƒ@ƒCƒ‹‚ª‚È‚¢‚©–³Œø‚Å‚·Bì¬‚µ‚Ü‚·‚©H
index_local=ƒl[ƒ€ ƒT[ƒo‚ðƒCƒ“ƒ^[ƒlƒbƒg‚ðŽg—p‚µ‚È‚¢“à•”‚Å‚ÌŽg—p‚Ì‚Ý‚ÉÝ’è
index_download=ƒCƒ“ƒ^[ƒlƒbƒg ƒl[ƒ€ ƒT[ƒo‚Æ‚µ‚ÄÝ’è‚µAroot ƒT[ƒoî•ñ‚ðƒ_ƒEƒ“ƒ[ƒh
index_webmin=ƒCƒ“ƒ^[ƒlƒbƒg ƒl[ƒ€ ƒT[ƒo‚Æ‚µ‚ÄÝ’è‚µ‚Ü‚·‚ªAWebmin ‚ÌŒÃ‚¢ root ƒT[ƒoî•ñ‚ðŽg—p
index_create=Žå—vÝ’èƒtƒ@ƒCƒ‹‚ðì¬‚µƒl[ƒ€ ƒT[ƒo‚ð‹N“®
index_zones=Šù‘¶‚Ì DNS ƒ][ƒ“
index_none=‚±‚Ìƒl[ƒ€ ƒT[ƒo‚É’è‹`‚³‚ê‚½ DNS ƒ][ƒ“‚Í‚ ‚è‚Ü‚¹‚ñ
index_addmaster=V‹K‚Ìƒ}ƒXƒ^[ ƒ][ƒ“‚ðì¬
index_addslave=V‹K‚ÌƒXƒŒ[ƒu ƒ][ƒ“‚ðì¬
index_addstub=V‹K‚ÌƒXƒ^ƒu ƒ][ƒ“‚ðì¬
index_addfwd=V‹K‚Ì“]‘—ƒ][ƒ“‚ðì¬
index_apply=•ÏX‚ð“K—p
index_applymsg=ŽÀs’†‚Ì BIND ƒT[ƒo‚ðÄ‹N“®‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢BŒ»Ý‚ÌÝ’è‚ðƒAƒNƒeƒBƒu‚É‚µ‚Ü‚·B
index_start=ƒl[ƒ€ ƒT[ƒo‚Ì‹N“®
index_startmsg=BIND ƒT[ƒo‚ð‹N“®‚µ‚ÄŒ»Ý‚ÌÝ’è‚ðƒ[ƒh‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
index_zone=ƒ][ƒ“
index_type=Ží—Þ
index_master=ƒ}ƒXƒ^[
index_slave=ƒXƒŒ[ƒu
index_stub=ƒXƒ^ƒu
index_forward=‡ˆø‚«
index_opts=ƒOƒ[ƒoƒ‹ ƒT[ƒo ƒIƒvƒVƒ‡ƒ“
index_return=ƒ][ƒ“ ƒŠƒXƒg
index_toomany=‚²Žg—p‚ÌƒVƒXƒeƒ€‚Éƒ][ƒ“‚ª‘½‚·‚¬‚é‚½‚ßA‚±‚±‚Å•\Ž¦‚Å‚«‚Ü‚¹‚ñB
index_find=ˆê’v‚·‚éƒ][ƒ“‚ÌŒŸõ:
index_search=ŒŸõ

master_title=ƒ}ƒXƒ^[ ƒ][ƒ“‚Ì•ÒW
master_ecannot=‚±‚Ìƒ][ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
master_manual=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚Ì•ÒW
master_soa=ƒ][ƒ“ ƒpƒ‰ƒ[ƒ^‚Ì•ÒW
master_options=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“‚Ì•ÒW
master_del=ƒ][ƒ“‚Ìíœ
master_delmsg=‚²Žg—p‚Ì DNS ƒT[ƒo‚©‚ç‚±‚Ìƒ][ƒ“‚ðíœ‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
master_delrev=‚±‚ÌƒT[ƒo‚ªƒzƒXƒg‚µ‚Ä‚¢‚é‘¼‚Ìƒ][ƒ““à‚É‚ ‚éˆê’v‚µ‚½‹tˆø‚«ƒAƒhƒŒƒX‚ÌƒŒƒR[ƒh‚àíœ‚³‚ê‚Ü‚·B
master_tmpl=ƒ][ƒ“ ƒeƒ“ƒvƒŒ[ƒg‚ðŽg—p‚µ‚Ü‚·‚©H
master_ip=ƒeƒ“ƒvƒŒ[ƒg ƒŒƒR[ƒh‚Ì IP ƒAƒhƒŒƒX
master_params=ƒ][ƒ“ ƒpƒ‰ƒ[ƒ^
master_server=ƒ}ƒXƒ^[ ƒT[ƒo
master_ns=ƒl[ƒ€ ƒT[ƒo ƒŒƒR[ƒh‚ðƒ}ƒXƒ^[ ƒT[ƒo‚É’Ç‰Á‚µ‚Ü‚·‚©H
master_email=E ƒ[ƒ‹ ƒAƒhƒŒƒX
master_refresh=ƒŠƒtƒŒƒbƒVƒ…ŽžŠÔ
master_retry=“]‘—ÄŽŽsŽžŠÔ
master_expiry=ŠúŒÀØ‚êŽžŠÔ
master_minimum=TTLŽžŠÔ‚ÌƒfƒtƒHƒ‹ƒg
master_opts=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
master_check=–¼‘O‚ð’²‚×‚Ü‚·‚©H
master_notify=•ÏX‚ðƒXƒŒ[ƒu‚É’Ê’m‚µ‚Ü‚·‚©H
master_update=ŽŸ‚©‚ç‚ÌXV‚ð‹–‰Â..
master_transfer=ŽŸ‚©‚ç‚Ì“]‘—‚ð‹–‰Â..
master_query=ŽŸ‚©‚ç‚ÌƒNƒGƒŠ[‚ð‹–‰Â..
master_notify2=ƒXƒŒ[ƒu‚É’Ê’m..
master_type=Ží—Þ
master_records=ƒŒƒR[ƒh
master_return=ƒŒƒR[ƒh‚ÌŽí—Þ
master_err=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
master_ero=ƒ][ƒ“‚ðXV‚Å‚«‚Ü‚¹‚ñ
master_err2=ƒ][ƒ“‚ðXV‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
master_emaster='$1' ‚Í–³Œø‚Èƒ}ƒXƒ^[ ƒT[ƒo‚Å‚·
master_eemail='$1' ‚Í–³Œø‚È E ƒ[ƒ‹ ƒAƒhƒŒƒX‚Å‚·B
master_erefresh='$1' ‚Í–³Œø‚ÈƒŠƒtƒŒƒbƒVƒ…ŽžŠÔ‚Å‚·
master_eretry='$1' ‚Í–³Œø‚È“]‘—ÄŽŽsŽžŠÔ‚Å‚·
master_eexpiry='$1' ‚Í–³Œø‚ÈŠúŒÀØ‚êŽžŠÔ‚Å‚·
master_eminimum='$1' ‚Í–³Œø‚ÈƒfƒtƒHƒ‹ƒg TTL ŽžŠÔ‚Å‚·
master_edelete=‚±‚Ìƒ][ƒ“‚Ííœ‚Å‚«‚Ü‚¹‚ñ
master_tmplrecs=ƒeƒ“ƒvƒŒ[ƒg ƒŒƒR[ƒh
master_name=ƒŒƒR[ƒh–¼
master_value=’l
master_user=Œ`Ž®
master_eip=ƒeƒ“ƒvƒŒ[ƒg IP ƒAƒhƒŒƒX‚ª‚È‚¢‚©–³Œø‚Å‚·
master_eiptmpl=ƒeƒ“ƒvƒŒ[ƒg ƒŒƒR[ƒh’l‚ÍƒAƒhƒŒƒX ƒŒƒR[ƒh—p‚©‚ç‚Ì‚ÝŽg—p‚Å‚«‚Ü‚·
master_esoacannot=ƒ][ƒ“ ƒpƒ‰ƒ[ƒ^‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
master_eoptscannot=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚·‚é‹–‰Â‚ª‚ ‚è‚Ü‚¹‚ñ
master_edeletecannot=ƒ][ƒ“‚Ííœ‚Å‚«‚Ü‚¹‚ñ
master_etaken=‚±‚Ìƒ][ƒ“‚Í‚·‚Å‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·

delete_title=ƒ][ƒ“‚Ìíœ
delete_mesg=ƒ][ƒ“ $1‚ðíœ‚µ‚Ä‚à‚æ‚ë‚µ‚¢‚Å‚·‚©H‚·‚×‚Ä‚ÌƒŒƒR[ƒh‚Æƒ][ƒ“ ƒtƒ@ƒCƒ‹‚ªíœ‚³‚ê‚Ü‚·B
delete_rev=‘¼‚Ìƒ][ƒ“‚Ì‹tˆø‚«ƒŒƒR[ƒh‚ðíœ‚µ‚Ü‚·‚©H
delete_fwd=‘¼‚Ìƒ][ƒ“‚Ì‡ˆø‚«ƒŒƒR[ƒh‚ðíœ‚µ‚Ü‚·‚©H

mcreate_title=ƒ}ƒXƒ^[ ƒ][ƒ“‚Ìì¬
mcreate_ecannot=ƒ}ƒXƒ^[ ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ
mcreate_opts=V‹K‚Ìƒ}ƒXƒ^[ ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
mcreate_type=ƒ][ƒ“‚ÌŽí—Þ
mcreate_fwd=‡ˆø‚« (–¼‘O‚ðƒAƒhƒŒƒX‚É)
mcreate_rev=‹tˆø‚« (ƒAƒhƒŒƒX‚ð–¼‘O‚É)
mcreate_dom=ƒhƒƒCƒ“–¼ / ƒlƒbƒgƒ[ƒN
mcreate_file=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹
mcreate_auto=Ž©“®
mcreate_err=ƒ}ƒXƒ^[ ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

slave_title=ƒXƒŒ[ƒu ƒ][ƒ“‚Ì•ÒW
stub_title=ƒXƒ^ƒu ƒ][ƒ“‚Ì•ÒW
slave_ecannot=‚±‚Ìƒ][ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
slave_opts=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
slave_masters=ƒ}ƒXƒ^[ ƒT[ƒo
slave_max=Å‘å“]‘—ŽžŠÔ
slave_file=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹
slave_check=–¼‘O‚ð’²‚×‚Ü‚·‚©H
slave_notify=•ÏX‚ðƒXƒŒ[ƒu‚É’Ê’m‚µ‚Ü‚·‚©H
slave_update=ŽŸ‚©‚ç‚ÌXV‚ð‹–‰Â..
slave_transfer=ŽŸ‚©‚ç‚Ì“]‘—‚ð‹–‰Â..
slave_query=ŽŸ‚©‚ç‚ÌƒNƒGƒŠ[‚ð‹–‰Â..
slave_notify2=ƒXƒŒ[ƒu‚É’Ê’m..
slave_none=‚È‚µ
slave_auto=Ž©“®
slave_err=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
slave_emax='$1' ‚Í–³Œø‚ÈÅ‘å“]‘—ŽžŠÔ‚Å‚·
slave_efile=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚¹‚ñ
slave_efile2='$1' ‚Í‹–—e‚³‚ê‚éƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
slave_mins=•ª

screate_title1=ƒXƒŒ[ƒu ƒ][ƒ“‚Ìì¬
screate_title2=ƒXƒ^ƒu ƒ][ƒ“‚Ìì¬
screate_ecannot1=ƒXƒŒ[ƒu ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ
screate_ecannot2=ƒXƒ^ƒu ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ
screate_header1=V‹K‚ÌƒXƒŒ[ƒu ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
screate_header2=V‹K‚ÌƒXƒ^ƒu ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
screate_type=ƒ][ƒ“‚ÌŽí—Þ
screate_fwd=‡ˆø‚« (–¼‘O‚ðƒAƒhƒŒƒX‚É)
screate_rev=‹tˆø‚« (ƒAƒhƒŒƒX‚ð–¼‘O‚É)
screate_dom=ƒhƒƒCƒ“–¼ / ƒlƒbƒgƒ[ƒN
screate_err1=ƒXƒŒ[ƒu ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
screate_err2=ƒXƒ^ƒu ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

recs_ecannot=‚±‚Ìƒ][ƒ““à‚ÌƒŒƒR[ƒh‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
recs_title=$1 ƒŒƒR[ƒh
recs_header=$1 “à
recs_addr=ƒAƒhƒŒƒX
recs_name=ƒŒƒR[ƒh–¼
recs_ttl=TTL
recs_comment=ƒRƒƒ“ƒg
recs_return=ƒŒƒR[ƒh‚ÌŽí—Þ

edit_title=$1 ‚Ì•ÒW
edit_header=$1 “à
edit_edit=$1 ƒŒƒR[ƒh‚Ì•ÒW
edit_add=$1 ƒŒƒR[ƒh‚Ì’Ç‰Á
edit_addr=ƒAƒhƒŒƒX
edit_name=ƒŒƒR[ƒh–¼
edit_zonename=ƒ][ƒ“–¼
edit_ttl=TTLŽžŠÔ
edit_comment=ƒRƒƒ“ƒg
edit_cnamemsg=â‘Î–¼‚Í a ‚ÅI‚í‚é•K—v‚ª‚ ‚è‚Ü‚·B
edit_uprev=‹tˆø‚«‚ðXV‚µ‚Ü‚·‚©H
edit_upfwd=‡ˆø‚«‚ðXV‚µ‚Ü‚·‚©H
edit_err=ƒŒƒR[ƒh‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
edit_ettl='$1' ‚Í–³Œø‚ÈTTLŽžŠÔ‚Å‚·
edit_eip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
edit_eip6='$1' ‚Í–³Œø‚È IPv6 ƒAƒhƒŒƒX‚Å‚·
edit_ehost='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Å‚·
edit_ename='$1' ‚Í–³Œø‚ÈƒŒƒR[ƒh–¼‚Å‚·
edit_edupip=$1 ‚ÌƒAƒhƒŒƒX ƒŒƒR[ƒh‚Í‚·‚Å‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·
edit_ens='$1' ‚Í–³Œø‚Èƒl[ƒ€ ƒT[ƒo‚Å‚·
edit_ecname='$1' ‚Í–³Œø‚ÈƒGƒCƒŠƒAƒX ƒ^[ƒQƒbƒg‚Å‚·
edit_emx='$1' ‚Í–³Œø‚Èƒ[ƒ‹ ƒT[ƒo‚Å‚·
edit_epri='$1' ‚Í–³Œø‚È—Dæ“x‚Å‚·
edit_ehard=ƒn[ƒhƒEƒFƒA‚ÌŽí—Þ‚ª‚È‚¢‚©–³Œø‚Å‚·
edit_eos=OS ‚ÌŽí—Þ‚ª‚È‚¢‚©–³Œø‚Å‚·
edit_eserv=Šù’m‚ÌƒT[ƒrƒX‚ª“ü—Í‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
edit_ebadserv=Šù’m‚ÌƒT[ƒrƒX '$1' ‚Í•s³‚Å‚·
edit_eemail='$1' ‚Í–³Œø‚È E ƒ[ƒ‹ ƒAƒhƒŒƒX‚Å‚·B
edit_etxt='$1' ‚Í–³Œø‚ÈƒeƒLƒXƒg ƒŒƒR[ƒh–¼‚Å‚·
edit_efqdn=â‘Î–¼ '$1' ‚ª’·‚·‚¬‚Ü‚·
edit_elabel='$1' “à‚Ìƒ‰ƒxƒ‹‚ª’·‚·‚¬‚Ü‚·
edit_eloc=ˆÜ“x‚ÆŒo“x‚ª‚ ‚è‚Ü‚¹‚ñ
edit_return=ƒŒƒR[ƒh

text_title=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚Ì•ÒW
text_desc=DNS ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·BWebmin ‚Í\•¶‚Ìƒ`ƒFƒbƒN‚ðs‚í‚¸Aƒ][ƒ“‚ÌƒVƒŠƒAƒ‹”Ô†‚ÍŽ©“®“I‚É‘‰Á‚µ‚Ü‚¹‚ñB
text_undo=‚â‚è’¼‚µ
text_ecannot=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ

restart_ecannot=BIND ‚ÍÄ‹N“®‚Å‚«‚Ü‚¹‚ñ
restart_esig=ƒvƒƒZƒX $1 ‚ÉM†‚ð‘—‚ê‚Ü‚¹‚ñ‚Å‚µ‚½: $2
start_ecannot=BIND ‚ð‹N“®‚Å‚«‚Ü‚¹‚ñ
start_error=BIND ‚ð‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: $1

fwd_title=“]‘—ƒ][ƒ“‚Ì•ÒW
fwd_ecannot=‚±‚Ìƒ][ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
fwd_opts=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“
fwd_masters=ƒ}ƒXƒ^[ ƒT[ƒo
fwd_forward=•Ê‚ÌƒT[ƒo‚ðŽŽs‚µ‚Ü‚·‚©H
fwd_check=–¼‘O‚ð’²‚×‚Ü‚·‚©H
fwd_err=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

fcreate_title=“]‘—ƒ][ƒ“‚Ìì¬
fcreate_ecannot=“]‘—ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ
fcreate_opts=V‹K‚Ì“]‘—ƒ][ƒ“‚ÌƒIƒvƒVƒ‡ƒ“
fcreate_type=ƒ][ƒ“‚ÌŽí—Þ
fcreate_fwd=‡ˆø‚« (–¼‘O‚ðƒAƒhƒŒƒX‚É)
fcreate_rev=‹tˆø‚« (ƒAƒhƒŒƒX‚ð–¼‘O‚É)
fcreate_dom=ƒhƒƒCƒ“–¼ / ƒlƒbƒgƒ[ƒN
fcreate_masters=ƒ}ƒXƒ^[ ƒT[ƒo
fcreate_err=“]‘—ƒ][ƒ“‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

create_enet='$1' ‚Í–³Œø‚Èƒlƒbƒgƒ[ƒN‚Å‚·
create_edom='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“–¼‚Å‚·
create_edom2='$1' ‚Íƒlƒbƒgƒ[ƒN‚Å‚Í‚È‚­AƒhƒƒCƒ“‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B
create_efile='$1' ‚Í–³Œø‚Èƒtƒ@ƒCƒ‹–¼‚Å‚·
create_efile2='$1' ‚Í‹–—e‚³‚ê‚éƒ][ƒ“ ƒtƒ@ƒCƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
create_efile3=$1 ‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: $2
create_emaster='$1' ‚Í–³Œø‚Èƒ}ƒXƒ^[ ƒT[ƒo ƒAƒhƒŒƒX‚Å‚·
create_enone=­‚È‚­‚Æ‚àˆê‚Â‚Ìƒ}ƒXƒ^[ ƒT[ƒo‚ð“ü—Í‚·‚é•K—v‚ª‚ ‚è‚Ü‚·

boot_err=ƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

type_A=ƒAƒhƒŒƒX
type_AAAA=IPv6 ƒAƒhƒŒƒX
type_NS=ƒl[ƒ€ ƒT[ƒo
type_CNAME=ƒl[ƒ€ ƒGƒCƒŠƒAƒX
type_MX=ƒ[ƒ‹ ƒT[ƒo
type_HINFO=ƒzƒXƒg‚Ìî•ñ
type_TXT=ƒeƒLƒXƒg
type_WKS=Šù’m‚ÌƒT[ƒrƒX
type_RP=Ó”CŽÒ
type_PTR=‹tˆø‚«ƒAƒhƒŒƒX
type_LOC=êŠ

edit_A=ƒAƒhƒŒƒX
edit_AAAA=IPv6 ƒAƒhƒŒƒX
edit_NS=ƒl[ƒ€ ƒT[ƒo
edit_CNAME=ƒl[ƒ€ ƒGƒCƒŠƒAƒX
edit_MX=ƒ[ƒ‹ ƒT[ƒo
edit_HINFO=ƒzƒXƒg‚Ìî•ñ
edit_TXT=ƒeƒLƒXƒg
edit_WKS=Šù’m‚ÌƒT[ƒrƒX
edit_RP=Ó”CŽÒ
edit_PTR=‹tˆø‚«ƒAƒhƒŒƒX
edit_LOC=êŠ

recs_A=ƒAƒhƒŒƒX
recs_AAAA=IPv6 ƒAƒhƒŒƒX
recs_NS=ƒl[ƒ€ ƒT[ƒo
recs_CNAME=ƒl[ƒ€ ƒGƒCƒŠƒAƒX
recs_MX=ƒ[ƒ‹ ƒT[ƒo
recs_HINFO=ƒzƒXƒg‚Ìî•ñ
recs_TXT=ƒeƒLƒXƒg
recs_WKS=Šù’m‚ÌƒT[ƒrƒX
recs_RP=Ó”CŽÒ
recs_PTR=‹tˆø‚«ƒAƒhƒŒƒX
recs_LOC=êŠ

value_A1=ƒAƒhƒŒƒX
value_NS1=ƒl[ƒ€ ƒT[ƒo
value_CNAME1=ŽÀ–¼
value_MX1=—Dæ“x
value_MX2=ƒ[ƒ‹ ƒT[ƒo
value_HINFO1=ƒn[ƒhƒEƒFƒA
value_HINFO2=ƒIƒyƒŒ[ƒeƒBƒ“ƒO ƒVƒXƒeƒ€
value_TXT1=ƒƒbƒZ[ƒW
value_WKS1=ƒAƒhƒŒƒX
value_WKS2=ƒvƒƒgƒRƒ‹
value_WKS3=ƒT[ƒrƒX
value_RP1=E ƒ[ƒ‹ ƒAƒhƒŒƒX
value_RP2=ƒeƒLƒXƒg ƒŒƒR[ƒh–¼
value_PTR1=ƒzƒXƒg–¼
value_LOC1=ˆÜ“x‚ÆŒo“x

warn=Œx
fail=Ž¸”s
ignore=–³Ž‹
default=ƒfƒtƒHƒ‹ƒg
minutes=•ª
seconds=•b
hours=ŽžŠÔ
days=“ú
weeks=T
listed=ƒŠƒXƒg..
eip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·

acl_zones=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚éƒhƒƒCƒ“
acl_zall=‚·‚×‚Ä‚Ìƒ][ƒ“
acl_zsel=‘I‘ð..
acl_master=ƒ}ƒXƒ^[ ƒ][ƒ“‚ðì¬‰Â”\‚É‚µ‚Ü‚·‚©H
acl_slave=ƒXƒŒ[ƒu/ƒXƒ^ƒu ƒ][ƒ“‚ðì¬‰Â”\‚É‚µ‚Ü‚·‚©H
acl_forward=“]‘—ƒ][ƒ“‚ðì¬‰Â”\‚É‚µ‚Ü‚·‚©H
acl_defaults=ƒOƒ[ƒoƒ‹ ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_reverse=‚·‚×‚Ä‚ÌƒhƒƒCƒ“‚Å‹tˆø‚«ƒAƒhƒŒƒX‚ðXV‰Â”\‚É‚µ‚Ü‚·‚©H
acl_multiple=•¡”ƒAƒhƒŒƒX‚É“¯‚¶ IP ƒAƒhƒŒƒX‚ðŠ„‚è“–‚Ä‰Â”\‚É‚µ‚Ü‚·‚©H
acl_ro=“ÇŽæ‚èê—pƒAƒNƒZƒX ƒ‚[ƒh‚É‚µ‚Ü‚·‚©H
acl_apply=•ÏX‚ð“K—p‰Â”\‚É‚µ‚Ü‚·‚©H
acl_dir=ƒfƒBƒŒƒNƒgƒŠ‚Ö‚Ìƒ][ƒ“ ƒtƒ@ƒCƒ‹‚ð§ŒÀ
acl_file=ƒŒƒR[ƒh ƒtƒ@ƒCƒ‹‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_params=ƒ][ƒ“ ƒpƒ‰ƒ[ƒ^‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_opts=ƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_delete=ƒ][ƒ“‚ðíœ‰Â”\‚É‚µ‚Ü‚·‚©H
acl_findfree=Žg—p‚³‚ê‚Ä‚¢‚È‚¢ IP ƒAƒhƒŒƒX‚ðŒŸõ‰Â”\‚É‚µ‚Ü‚·‚©H

servers_title=‘¼‚Ì DNS ƒT[ƒo
servers_ip=IP ƒAƒhƒŒƒX
servers_bogus=‹U‚ÌƒT[ƒo‚ð–³Ž‹‚µ‚Ü‚·‚©H
servers_format=ƒ][ƒ““]‘—Œ`Ž®
servers_trans=Å‘å“]‘—
servers_one=ˆê“x‚É‚P‚Â
servers_many=•¡”
servers_err=‘¼‚Ì DNS ƒT[ƒo‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
servers_eip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
servers_etrans='$1'‚Í—LŒø‚ÈÅ‘å“]‘—”‚Å‚Í‚ ‚è‚Ü‚¹‚ñ

logging_title=ƒƒO‚ÆƒGƒ‰[
logging_ecannot=ƒƒO‚ðÝ’è‚·‚é‹–‰Â‚ª‚ ‚è‚Ü‚¹‚ñ
logging_header=ƒOƒ[ƒoƒ‹ ƒƒO‚ÆƒGƒ‰[ ƒIƒvƒVƒ‡ƒ“
logging_default1=BIND ‚ÌƒfƒtƒHƒ‹ƒg ƒƒOÝ’è‚ðŽg—p
logging_default2=‰º‚ÌÝ’è‚ðŽg—p ..
logging_cats=ƒƒO ƒJƒeƒSƒŠ[
logging_cat=ƒJƒeƒSƒŠ[
logging_cchans=ƒ`ƒƒƒlƒ‹
logging_chans=ƒƒO ƒ`ƒƒƒlƒ‹
logging_cname=ƒ`ƒƒƒlƒ‹–¼
logging_to=ƒƒOæ
logging_file=ƒtƒ@ƒCƒ‹
logging_fd=ƒtƒ@ƒCƒ‹‚Ìà–¾
logging_versions=•Û‘¶‚·‚éƒo[ƒWƒ‡ƒ“
logging_ver1=‚È‚µ
logging_ver2=–³§ŒÀ
logging_size=Å‘åƒtƒ@ƒCƒ‹ƒTƒCƒY
logging_sz1=–³§ŒÀ
logging_syslog=Syslog ƒŒƒxƒ‹
logging_null=‚È‚µ
logging_sev=Å¬ƒƒbƒZ[ƒW ƒŒƒxƒ‹
logging_any=”CˆÓ
logging_debug=ƒfƒoƒbƒO ƒŒƒxƒ‹..
logging_dyn=ƒOƒ[ƒoƒ‹ ƒŒƒxƒ‹
logging_pcat=ƒƒO‚É‹L˜^‚·‚éƒJƒeƒSƒŠ[
logging_psev=ƒƒO‚Éd‘å“x‚ð‹L˜^
logging_ptime=ƒƒO‚É“úŽž‚ð‹L˜^
logging_add=V‹Kƒ`ƒƒƒlƒ‹‚ð’Ç‰Á
logging_none=’è‹`‚³‚ê‚½ƒƒO ƒ`ƒƒƒlƒ‹‚Í‚ ‚è‚Ü‚¹‚ñB
logging_err=ƒƒO ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
logging_ename='$1' ‚Í–³Œø‚Èƒ`ƒƒƒlƒ‹–¼‚Å‚·
logging_efile=ƒƒO ƒtƒ@ƒCƒ‹–¼‚ª‚ ‚è‚Ü‚¹‚ñ
logging_ever='$1'‚Í–³Œø‚Èƒo[ƒWƒ‡ƒ“”Ô†‚Å‚·
logging_esize='$1' ‚Í–³Œø‚ÈƒƒO ƒTƒCƒY‚Å‚·

acls_title=ƒAƒNƒZƒX§ŒäƒŠƒXƒg
acls_ecannot=ƒOƒ[ƒoƒ‹ ƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
acls_name=ƒAƒNƒZƒX§ŒäƒŠƒXƒg–¼
acls_values=ˆê’v‚µ‚½ƒAƒhƒŒƒXAƒlƒbƒgƒ[ƒN‚¨‚æ‚Ñ ƒAƒNƒZƒX§ŒäƒŠƒXƒg
acls_err=ƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
acls_ename='$1' ‚Í–³Œø‚ÈƒAƒNƒZƒX§ŒäƒŠƒXƒg–¼‚Å‚·

files_title=ƒtƒ@ƒCƒ‹‚ÆƒfƒBƒŒƒNƒgƒŠ
files_ecannot=ƒtƒ@ƒCƒ‹‚ðÝ’è‚Å‚«‚Ü‚¹‚ñ
files_header=ƒOƒ[ƒoƒ‹ ƒtƒ@ƒCƒ‹‚ÆƒfƒBƒŒƒNƒgƒŠ ƒIƒvƒVƒ‡ƒ“
files_stats=“Œvo—Íƒtƒ@ƒCƒ‹
files_dump=ƒf[ƒ^ƒx[ƒX ƒ_ƒ“ƒv ƒtƒ@ƒCƒ‹
files_pid=ID ƒtƒ@ƒCƒ‹‚Ìˆ—
files_xfer=ƒ][ƒ““]‘—ƒvƒƒOƒ‰ƒ€‚Ö‚ÌƒpƒX
files_err=ƒtƒ@ƒCƒ‹‚ÆƒfƒBƒŒƒNƒgƒŠ ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ
files_efile=ƒtƒ@ƒCƒ‹–¼‚ª‚È‚¢‚©–³Œø‚Å‚·

forwarding_title=“]‘—
forwarding_ecannot=“]‘—ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
forwarding_header=ƒOƒ[ƒoƒ‹“]‘—‚Æƒ][ƒ““]‘—ƒIƒvƒVƒ‡ƒ“
forwarding_fwders=ƒNƒGƒŠ[‚ð“]‘—‚·‚éƒT[ƒo
forwarding_fwd=“]‘—Œ³‚ÌƒT[ƒo‚©‚ç‰ž“š‚ª‚È‚¢ê‡‚ÍƒfƒBƒŒƒNƒgƒŠ‚ðŒŸõ
forwarding_max=Å‘åƒ][ƒ““]‘—ŽžŠÔ
forwarding_format=ƒ][ƒ““]‘—Œ`Ž®
forwarding_one=ˆê“x‚É‚P‚Â
forwarding_many=•¡”
forwarding_in=Å‘å“¯Žžƒ][ƒ““]‘—
forwarding_err=“]‘—ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
forwarding_emins=Å‘å“]‘—ŽžŠÔ‚ª‚È‚¢‚©–³Œø‚Å‚·
forwarding_etrans=Å‘å“¯Žž“]‘—‚ª‚È‚¢‚©–³Œø‚Å‚·
forwarding_minutes=•ª

net_title=ƒAƒhƒŒƒX‚Æƒgƒ|ƒƒW
net_ecannot=ƒAƒhƒŒƒX‚Æƒgƒ|ƒƒW ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
net_header=ƒOƒ[ƒoƒ‹ ƒAƒhƒŒƒX‚Æƒgƒ|ƒƒW ƒIƒvƒVƒ‡ƒ“
net_listen=ƒŠƒbƒXƒ“‘ÎÛ‚Ìƒ|[ƒg‚ÆƒAƒhƒŒƒX
net_below=ƒŠƒXƒg..
net_port=ƒ|[ƒg
net_addrs=ƒAƒhƒŒƒX
net_saddr=ƒNƒGƒŠ[‚Ìƒ\[ƒX IP ƒAƒhƒŒƒX
net_sport=ƒNƒGƒŠ[‚Ìƒ\[ƒX ƒ|[ƒg
net_topol=ƒl[ƒ€ ƒT[ƒo‘I‘ðƒgƒ|ƒƒW
net_err=ƒAƒhƒŒƒX‚Æƒgƒ|ƒƒW ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
net_eport='$1' ‚Í–³Œø‚Èƒ|[ƒg”Ô†‚Å‚·
net_etopology=ƒgƒ|ƒƒW ƒAƒhƒŒƒX‚ª“ü—Í‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ

misc_title=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
misc_ecannot=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
misc_header=‚»‚Ì‘¼‚ÌƒOƒ[ƒoƒ‹ ƒIƒvƒVƒ‡ƒ“
misc_core=Å‘åƒRƒA ƒ_ƒ“ƒv ƒTƒCƒY
misc_data=Å‘åƒf[ƒ^ ƒƒ‚ƒŠŽg—p—Ê
misc_files=Å‘åƒI[ƒvƒ“ ƒtƒ@ƒCƒ‹
misc_stack=Å‘åƒXƒ^ƒbƒN ƒƒ‚ƒŠŽg—p—Ê
misc_clean=ŠúŒÀ‚ªØ‚ê‚½ƒŒƒR[ƒh‚ðƒNƒŠ[ƒjƒ“ƒO‚·‚éŠÔŠu
misc_iface=V‹KƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðƒ`ƒFƒbƒN‚·‚éŠÔŠu
misc_stats=ƒƒO stats ‚ÌŠÔŠu
misc_recursion=ƒNƒ‰ƒCƒAƒ“ƒg‚Ì‘SÄ‹AŒŸõ‚ðs‚¢‚Ü‚·‚©H
misc_cnames=‚P‚Â‚Ì–¼‘O‚É•¡”‚Ì CNAME ƒGƒCƒŠƒAƒX‚ð‹–‰Â‚µ‚Ü‚·‚©H
misc_glue=glue ƒŒƒR[ƒh‚ðŽæ‚èo‚µ‚Ü‚·‚©H
misc_nx=‰ž“š‚É–½—ßŒ^ AA ƒrƒbƒg‚ðÝ’è‚µ‚Ü‚·‚©H
misc_err=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
misc_esize='$1' ‚Í–³Œø‚ÈƒTƒCƒY‚Å‚·
misc_efiles='$1' ‚Í–³Œø‚ÈÅ‘åƒI[ƒvƒ“ ƒtƒ@ƒCƒ‹”‚Å‚·
misc_emins='$1'‚Í–³Œø‚È•ª‚Å‚·
misc_mins=•ª

zonedef_title=ƒ][ƒ“ ƒfƒtƒHƒ‹ƒg
zonedef_msg=V‹Kƒ}ƒXƒ^[ ƒ][ƒ“‚ÌƒfƒtƒHƒ‹ƒg
zonedef_err=ƒ][ƒ“ ƒfƒtƒHƒ‹ƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
zonedef_ecannot=ƒ}ƒXƒ^[ ƒ][ƒ“‚ÌƒfƒtƒHƒ‹ƒg‚Í•ÏX‚Å‚«‚Ü‚¹‚ñ
zonedef_msg2=ƒfƒtƒHƒ‹ƒg ƒ][ƒ“‚ÌÝ’è
zonedef_transfer=ŽŸ‚©‚ç‚Ì“]‘—‚ð‹–‰Â..
zonedef_query=ŽŸ‚©‚ç‚ÌƒNƒGƒŠ[‚ð‹–‰Â..
zonedef_cmaster=ƒ}ƒXƒ^[ ƒ][ƒ“‚Ì–¼‘O‚ð’²‚×‚Ü‚·‚©H
zonedef_cslave=ƒXƒŒ[ƒu ƒ][ƒ“‚Ì–¼‘O‚ð’²‚×‚Ü‚·‚©H
zonedef_cresponse=‰ž“š“à‚Ì–¼‘O‚ð’²‚×‚Ü‚·‚©H
zonedef_notify=•ÏX‚ðƒXƒŒ[ƒu‚É’Ê’m‚µ‚Ü‚·‚©H
zonedef_email=ƒfƒtƒHƒ‹ƒg E ƒ[ƒ‹ ƒAƒhƒŒƒX

find_title=ƒ][ƒ“‚ÌŒŸõ
find_match=$1 ‚Éˆê’v‚·‚éƒ][ƒ“..
find_none=Œ©‚Â‚©‚Á‚½ƒ][ƒ“‚Í‚ ‚è‚Ü‚¹‚ñB

efirst=$2 “à‚Ìƒ‰ƒCƒ“$1 ‚É•s³‚ÈÅ‰‚ÌƒfƒBƒŒƒNƒeƒBƒu‚ª‚ ‚è‚Ü‚·

findfree_title=Žg—p‚Å‚«‚é IP ƒAƒhƒŒƒX‚ÌŒŸõ
findfree_desc=Žg—p‚Å‚«‚é IP ƒAƒhƒŒƒX‚ÌŒŸõ
findfree_nofind=Žg—p‚Å‚«‚é IP ƒAƒhƒŒƒX‚ðŒŸõ‚Å‚«‚Ü‚¹‚ñ
findfree_header=$1 “à
findfree_sopt=ŒŸõƒIƒvƒVƒ‡ƒ“
findfree_IPrange=IP ”ÍˆÍ
findfree_from=ŽŸ‚©‚ç
findfree_to=ŽŸ‚Ü‚Å
findfree_cf='freeXXXreeXXX' <em>ƒzƒXƒg–¼‚ð</em> Žg—p‚Å‚«‚é IP ƒAƒhƒŒƒX‚Æ‚µ‚Ä‚Ý‚È‚µ‚Ü‚·‚©H
findfree_search=ŒŸõ

log_servers=‘¼‚Ì DNS ƒT[ƒo‚ð•ÏX‚µ‚Ü‚µ‚½
log_logging=ƒƒO‚ÆƒGƒ‰[‚ð•ÏX‚µ‚Ü‚µ‚½
log_acls=ƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ð•ÏX‚µ‚Ü‚µ‚½
log_files=ƒtƒ@ƒCƒ‹‚ÆƒfƒBƒŒƒNƒgƒŠ‚ð•ÏX‚µ‚Ü‚µ‚½
log_forwarding=“]‘—‚ð•ÏX‚µ‚Ü‚µ‚½
log_net=ƒAƒhƒŒƒX‚Æƒgƒ|ƒƒW‚ð•ÏX‚µ‚Ü‚µ‚½
log_misc=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_zonedef=ƒ][ƒ“ ƒfƒtƒHƒ‹ƒg‚ð•ÏX‚µ‚Ü‚µ‚½
log_apply=•ÏX‚ð“K—p‚µ‚Ü‚µ‚½
log_start=DNS ƒT[ƒo‚ð‹N“®‚µ‚Ü‚µ‚½
log_master=ƒ}ƒXƒ^[ ƒ][ƒ“ $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_slave=ƒXƒŒ[ƒu ƒ][ƒ“ $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_stub=ƒXƒ^ƒu ƒ][ƒ“ $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_forward=“]‘—ƒ][ƒ“ $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_delete_master=ƒ}ƒXƒ^[ ƒ][ƒ“ $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_delete_slave=ƒXƒŒ[ƒu ƒ][ƒ“ $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_delete_stub=ƒXƒ^ƒu ƒ][ƒ“ $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_delete_forward=“]‘—ƒ][ƒ“ $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_text=$1 ‚ÌƒŒƒR[ƒh‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_soa=$1 ‚Ìƒ][ƒ“ ƒpƒ‰ƒ[ƒ^‚ð•ÏX‚µ‚Ü‚µ‚½
log_opts=$1 ‚Ìƒ][ƒ“ ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_delete_record=ƒ][ƒ“$3 “à‚Ì$1 ƒŒƒR[ƒh $2‚ðíœ‚µ‚Ü‚µ‚½
log_create_record=ƒ][ƒ“$3 “à‚Ì$1 ƒŒƒR[ƒh $2‚ðì¬‚µ‚Ü‚µ‚½
log_modify_record=ƒ][ƒ“ $3 “à‚Ì $1 ƒŒƒR[ƒh $2 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_boot=Žå—vÝ’èƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚µ‚½

   07070100048266000081a40000000000000002000000013d1fe2d200003a9d000000200000000000000000000000000000001b00000003reloc/bind8/lang/ko_KR.euc    index_title=BIND DNS ¼­¹ö
index_enamed=½Ã½ºÅÛ¿¡¼­ BIND DNS ¼­¹ö $1À»(¸¦) Ã£À» ¼ö ¾ø½À´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>BIND ¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eversion=¼­¹ö ½ÇÇà ÆÄÀÏ $1ÀÌ(°¡) BIND 8 ¶Ç´Â 9°¡ ¾Æ´Õ´Ï´Ù. ´ë½Å <a href='$2'>BIND 4 ¸ðµâ</a>À» »ç¿ëÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
index_eempty=BIND $1¿¡ ´ëÇÑ ÁÖ ±¸¼º ÆÄÀÏÀÌ ¾ø°Å³ª À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù. ÀÛ¼ºÇÏ½Ã°Ú½À´Ï±î?
index_local=³»ºÎ ºñÀÎÅÍ³Ý Àü¿ëÀÇ ÀÌ¸§ ¼­¹ö ¼³Á¤
index_download=³»ºÎ ÀÌ¸§ ¼­¹ö·Î ¼³Á¤ ¹× ·çÆ® ¼­¹ö Á¤º¸ ´Ù¿î·Îµå
index_webmin=ÀÎÅÍ³Ý ÀÌ¸§ ¼­¹ö·Î ¼³Á¤ ¹× WebminÀÇ ÀÌÀü ·çÆ® ¼­¹ö Á¤º¸ »ç¿ë
index_create=ÁÖ ±¸¼º ÆÄÀÏ ÀÛ¼º ¹× ÀÌ¸§ ¼­¹ö ½ÃÀÛ
index_zones=±âÁ¸ DNS ¿µ¿ª
index_none=ÀÌ ÀÌ¸§ ¼­¹ö¿¡ ´ëÇØ Á¤ÀÇµÈ DNS ¿µ¿ªÀÌ ¾ø½À´Ï´Ù
index_addmaster=»õ ¸¶½ºÅÍ ¿µ¿ª ÀÛ¼º
index_addslave=»õ ½½·¹ÀÌºê ¿µ¿ª ÀÛ¼º
index_addstub=»õ ½ºÅÓ ¿µ¿ª ÀÛ¼º
index_addfwd=»õ Àü´Þ ¿µ¿ª ÀÛ¼º
index_apply=º¯°æ ³»¿ë Àû¿ë
index_applymsg=ÀÌ ¹öÆ°À» ´©¸£¸é ½ÇÇà ÁßÀÎ BIND ¼­¹ö°¡ ´Ù½Ã ½ÃÀÛµË´Ï´Ù. ±×·¯¸é ÇöÀç ±¸¼ºÀÌ È°¼º »óÅÂ°¡ µË´Ï´Ù.
index_start=ÀÌ¸§ ¼­¹ö ½ÃÀÛ
index_startmsg=ÀÌ ¹öÆ°À» ´©¸£¸é BIND ¼­¹ö°¡ ½ÃÀÛµÇ°í ÇöÀç ±¸¼ºÀÌ ·ÎµåµË´Ï´Ù
index_zone=¿µ¿ª
index_type=À¯Çü
index_master=¸¶½ºÅÍ
index_slave=½½·¹ÀÌºê
index_stub=½ºÅÓ
index_forward=Àü´Þ
index_opts=±Û·Î¹ú ¼­¹ö ¿É¼Ç
index_return=¿µ¿ª ¸ñ·Ï
index_toomany=½Ã½ºÅÛ ¿µ¿ªÀÌ ³Ê¹« ¸¹¾Æ¼­ ¿©±â¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù.
index_find=¿µ¿ª °Ë»ö ±âÁØ:
index_search=°Ë»ö

master_title=¸¶½ºÅÍ ¿µ¿ª ÆíÁý
master_ecannot=ÀÌ ¿µ¿ªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
master_manual=±â·Ï ÆÄÀÏ ÆíÁý
master_soa=¿µ¿ª ¸Å°³ º¯¼ö ÆíÁý
master_options=¿µ¿ª ¿É¼Ç ÆíÁý
master_del=¿µ¿ª »èÁ¦
master_delmsg=DNS ¼­¹ö¿¡¼­ ÇöÀç ¿µ¿ªÀ» »èÁ¦ÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
master_delrev=ÀÌ ¼­¹ö°¡ È£½ºÆ®ÇÏ´Â ´Ù¸¥ ¿µ¿ªÀÇ ÀÏÄ¡ÇÏ´Â ¿ª¹æÇâ ÁÖ¼Ò ±â·Ïµµ °°ÀÌ »èÁ¦µË´Ï´Ù.
master_tmpl=¿µ¿ª ÅÛÇÃ¸´À» »ç¿ëÇÕ´Ï±î?
master_ip=ÅÛÇÃ¸´ ±â·Ï¿¡ ´ëÇÑ IP ÁÖ¼Ò
master_params=¿µ¿ª ¸Å°³ º¯¼ö
master_server=¸¶½ºÅÍ ¼­¹ö
master_ns=¸¶½ºÅÍ ¼­¹ö¿¡ ´ëÇÑ NS ±â·ÏÀ» Ãß°¡ÇÕ´Ï±î?
master_email=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
master_refresh=»õ·Î °íÄ§ ½Ã°£
master_retry=Àü¼Û Àç½Ãµµ ½Ã°£
master_expiry=¸¸·á ½Ã°£
master_minimum=±âº» TTL
master_opts=¿µ¿ª ¿É¼Ç
master_check=ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
master_notify=º¯°æ ³»¿ëÀ» ½½·¹ÀÌºê¿¡°Ô ¾Ë¸³´Ï±î?
master_update=¾÷µ¥ÀÌÆ® Çã¿ë ´ë»ó..
master_transfer=Àü¼Û Çã¿ë ´ë»ó..
master_query=Äõ¸® Çã¿ë ´ë»ó..
master_notify2=½½·¹ÀÌºê¿¡°Ôµµ ¾Ë¸²..
master_type=À¯Çü
master_records=±â·Ï
master_return=±â·Ï À¯Çü
master_err=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
master_ero=¿µ¿ªÀ» ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ¾ø½À´Ï´Ù
master_err2=¿µ¿ªÀ» ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù
master_emaster='$1'Àº(´Â) À¯È¿ÇÑ ¸¶½ºÅÍ ¼­¹ö°¡ ¾Æ´Õ´Ï´Ù 
master_eemail='$1'Àº(´Â) À¯È¿ÇÑ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
master_erefresh='$1'Àº(´Â) À¯È¿ÇÑ »õ·Î °íÄ§ ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù 
master_eretry='$1'Àº(´Â) À¯È¿ÇÑ Àü¼Û Àç½Ãµµ ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
master_eexpiry='$1'Àº(´Â) À¯È¿ÇÑ ¸¸·á ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù 
master_eminimum='$1'Àº(´Â) À¯È¿ÇÑ ±âº» TTLÀÌ ¾Æ´Õ´Ï´Ù 
master_edelete=ÀÌ ¿µ¿ªÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
master_tmplrecs=ÅÛÇÃ¸´ ±â·Ï
master_name=±â·Ï ÀÌ¸§
master_value=°ª
master_user=½ÃÀÛ ¾ç½Ä
master_eip=¾ø°Å³ª Àß¸øµÈ ÅÛÇÃ¸´ IP ÁÖ¼Ò
master_eiptmpl=ÅÛÇÃ¸´ ±â·Ï °ªÀº ÁÖ¼Ò ±â·ÏÀÇ °ª¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù
master_esoacannot=¿µ¿ª ¸Å°³ º¯¼ö¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
master_eoptscannot=¿µ¿ª ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
master_edeletecannot=¿µ¿ªÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
master_etaken=ÀÌ ¿µ¿ªÀº ÀÌ¹Ì ÀÖ½À´Ï´Ù

delete_title=¿µ¿ª »èÁ¦
delete_mesg=¿µ¿ª $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? ¸ðµç ±â·Ï°ú ¿µ¿ª ÆÄÀÏÀÌ »èÁ¦µË´Ï´Ù.
delete_rev=´Ù¸¥ ¿µ¿ªÀÇ ¿ª¹æÇâ ±â·ÏÀ» »èÁ¦ÇÕ´Ï±î?
delete_fwd=´Ù¸¥ ¿µ¿ªÀÇ Á¤¹æÇâ ±â·ÏÀ» »èÁ¦ÇÕ´Ï±î?

mcreate_title=¸¶½ºÅÍ ¿µ¿ª ÀÛ¼º
mcreate_ecannot=¸¶½ºÅÍ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
mcreate_opts=»õ ¸¶½ºÅÍ ¿µ¿ª ¿É¼Ç
mcreate_type=¿µ¿ª À¯Çü
mcreate_fwd=Á¤¹æÇâ(ÀÌ¸§¿¡¼­ ÁÖ¼Ò·Î)
mcreate_rev=¿ª¹æÇâ(ÁÖ¼Ò¿¡¼­ ÀÌ¸§À¸·Î)
mcreate_dom=µµ¸ÞÀÎ ÀÌ¸§/³×Æ®¿öÅ©
mcreate_file=±â·Ï ÆÄÀÏ
mcreate_auto=ÀÚµ¿
mcreate_err=¸¶½ºÅÍ ¿µ¿ªÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù

slave_title=½½·¹ÀÌºê ¿µ¿ª ÆíÁý
stub_title=½ºÅÓ ¿µ¿ª ÆíÁý
slave_ecannot=ÀÌ ¿µ¿ªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
slave_opts=¿µ¿ª ¿É¼Ç
slave_masters=¸¶½ºÅÍ ¼­¹ö
slave_max=ÃÖ´ë Àü¼Û ½Ã°£
slave_file=±â·Ï ÆÄÀÏ
slave_check=ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
slave_notify=º¯°æ ³»¿ëÀ» ½½·¹ÀÌºê¿¡°Ô ¾Ë¸³´Ï±î?
slave_update=¾÷µ¥ÀÌÆ® Çã¿ë ´ë»ó..
slave_transfer=Àü¼Û Çã¿ë ´ë»ó..
slave_query=Äõ¸® Çã¿ë ´ë»ó..
slave_notify2=½½·¹ÀÌºê¿¡°Ôµµ ¾Ë¸²..
slave_none=¾øÀ½
slave_auto=ÀÚµ¿
slave_err=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
slave_emax='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ´ë Àü¼Û ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
slave_efile=¾ø´Â ±â·Ï ÆÄÀÏ
slave_efile2='$1'Àº(´Â) Çã¿ë °¡´ÉÇÑ ±â·Ï ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
slave_mins=ºÐ

screate_title1=½½·¹ÀÌºê ¿µ¿ª ÀÛ¼º
screate_title2=½ºÅÓ ¿µ¿ª ÀÛ¼º
screate_ecannot1=½½·¹ÀÌºê ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
screate_ecannot2=½ºÅÓ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
screate_header1=»õ ½½·¹ÀÌºê ¿µ¿ª ¿É¼Ç
screate_header2=»õ ½ºÅÓ ¿µ¿ª ¿É¼Ç
screate_type=¿µ¿ª À¯Çü
screate_fwd=Á¤¹æÇâ(ÀÌ¸§¿¡¼­ ÁÖ¼Ò·Î)
screate_rev=¿ª¹æÇâ(ÁÖ¼Ò¿¡¼­ ÀÌ¸§À¸·Î)
screate_dom=µµ¸ÞÀÎ ÀÌ¸§/³×Æ®¿öÅ©
screate_err1=½½·¹ÀÌºê ¿µ¿ªÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
screate_err2=½ºÅÓ ¿µ¿ªÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù

recs_ecannot=ÀÌ ¿µ¿ªÀÇ ±â·ÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
recs_title=$1 ±â·Ï
recs_header=$1
recs_addr=ÁÖ¼Ò
recs_name=ÀÌ¸§
recs_ttl=TTL
recs_comment=ÁÖ¼®
recs_return=±â·Ï À¯Çü

edit_title=$1 ÆíÁý
edit_header=$1
edit_edit=$1 ±â·Ï ÆíÁý
edit_add=$1 ±â·Ï Ãß°¡
edit_addr=ÁÖ¼Ò
edit_name=ÀÌ¸§
edit_zonename=¿µ¿ª ÀÌ¸§
edit_ttl=TTL
edit_comment=ÁÖ¼®
edit_cnamemsg=Àý´ë ÀÌ¸§Àº a·Î ³¡³ª¾ß ÇÕ´Ï´Ù.
edit_uprev=¿ª¹æÇâÀ» ¾÷µ¥ÀÌÆ®ÇÕ´Ï±î?
edit_upfwd=Á¤¹æÇâÀ» ¾÷µ¥ÀÌÆ®ÇÕ´Ï±î?
edit_err=±â·ÏÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
edit_ettl='$1'Àº(´Â) À¯È¿ÇÑ TTLÀÌ ¾Æ´Õ´Ï´Ù
edit_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
edit_eip6='$1'Àº(´Â) À¯È¿ÇÑ IPv6 ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
edit_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
edit_ename='$1'Àº(´Â) À¯È¿ÇÑ ±â·Ï ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
edit_edupip=$1¿¡ ´ëÇÑ ÁÖ¼Ò ±â·ÏÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
edit_ens='$1'Àº(´Â) À¯È¿ÇÑ ÀÌ¸§ ¼­¹ö°¡ ¾Æ´Õ´Ï´Ù 
edit_ecname='$1'Àº(´Â) À¯È¿ÇÑ º°Äª ´ë»óÀÌ ¾Æ´Õ´Ï´Ù 
edit_emx=''$1'Àº(´Â) À¯È¿ÇÑ ¸ÞÀÏ ¼­¹ö°¡ ¾Æ´Õ´Ï´Ù
edit_epri='$1'Àº(´Â) À¯È¿ÇÑ ¿ì¼± ¼øÀ§°¡ ¾Æ´Õ´Ï´Ù 
edit_ehard=¾ø°Å³ª Àß¸øµÈ ÇÏµå¿þ¾î À¯Çü
edit_eos=¾ø°Å³ª Àß¸øµÈ OS À¯Çü
edit_eserv=Àß ¾Ë·ÁÁø ¼­ºñ½º¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
edit_ebadserv=Àß ¾Ë·ÁÁø ¼­ºñ½º ÀÌ¸§ '$1'ÀÌ(°¡) ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù
edit_eemail='$1'Àº(´Â) À¯È¿ÇÑ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
edit_etxt='$1'Àº(´Â) À¯È¿ÇÑ ÅØ½ºÆ® ±â·Ï ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
edit_efqdn=Àý´ë ÀÌ¸§ '$1'ÀÌ(°¡) ³Ê¹« ±é´Ï´Ù
edit_elabel='$1'ÀÇ ¶óº§ÀÌ ³Ê¹« ±é´Ï´Ù
edit_eloc=¾ø´Â À§µµ¿Í °æµµ
edit_return=±â·Ï

text_title=±â·Ï ÆÄÀÏ ÆíÁý
text_desc=ÀÌ ¾ç½Ä¿¡¼­´Â DNS ±â·Ï ÆÄÀÏ $1À»(¸¦) ¼öµ¿À¸·Î ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. WebminÀº ±¸¹® °Ë»ç¸¦ ¼öÇàÇÏÁö ¾ÊÀ¸¸ç ¿µ¿ª ÀÏ·Ã ¹øÈ£°¡ ÀÚµ¿À¸·Î Áõ°¡µÇÁö ¾Ê½À´Ï´Ù.
text_undo=½ÇÇà Ãë¼Ò
text_ecannot=±â·Ï ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

restart_ecannot=BIND¸¦ ´Ù½Ã ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù
restart_esig=$1 ½ÅÈ£¸¦ Ã³¸®ÇÏÁö ¸øÇß½À´Ï´Ù:  $2
start_ecannot=BIND¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù
start_error=BIND¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù:  $1

fwd_title=Á¤¹æÇâ ¿ª¿ª ÆíÁý
fwd_ecannot=ÀÌ ¿µ¿ªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
fwd_opts=¿µ¿ª ¿É¼Ç
fwd_masters=¸¶½ºÅÍ ¼­¹ö
fwd_forward=´Ù¸¥ ¼­¹ö¸¦ ½ÃµµÇÕ´Ï±î?
fwd_check=ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
fwd_err=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

fcreate_title=Á¤¹æÇâ ¿µ¿ª ÀÛ¼º
fcreate_ecannot=Á¤¹æÇâ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
fcreate_opts=»õ Á¤¹æÇâ ¿µ¿ª ¿É¼Ç
fcreate_type=¿µ¿ª À¯Çü
fcreate_fwd=Á¤¹æÇâ(ÀÌ¸§¿¡¼­ ÁÖ¼Ò·Î)
fcreate_rev=¿ª¹æÇâ(ÁÖ¼Ò¿¡¼­ ÀÌ¸§À¸·Î)
fcreate_dom=µµ¸ÞÀÎ ÀÌ¸§/³×Æ®¿öÅ©
fcreate_masters=¸¶½ºÅÍ ¼­¹ö
fcreate_err=Á¤¹æÇâ ¿µ¿ªÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù

create_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©°¡ ¾Æ´Õ´Ï´Ù
create_edom='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
create_edom2='$1'Àº(´Â) ³×Æ®¿öÅ©°¡ ¾Æ´Ñ, µµ¸ÞÀÎÀÌ¾î¾ß ÇÕ´Ï´Ù
create_efile='$1'Àº(´Â) À¯È¿ÇÑ ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
create_efile2='$1'Àº(´Â) Çã¿ë °¡´ÉÇÑ ¿µ¿ª ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
create_efile3='$1'À»(¸¦) ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù:  $2
create_emaster='$1'Àº(´Â) À¯È¿ÇÑ ¸¶½ºÅÍ ¼­¹ö ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
create_enone=Àû¾îµµ ÇÏ³ªÀÇ ¸¶½ºÅÍ ¼­¹ö¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù

boot_err=´Ù¿î·Îµå ½ÇÆÐ

type_A=ÁÖ¼Ò
type_AAAA=IPv6 ÁÖ¼Ò
type_NS=ÀÌ¸§ ¼­¹ö
type_CNAME=ÀÌ¸§ º°Äª
type_MX=¸ÞÀÏ ¼­¹ö
type_HINFO=È£½ºÆ® Á¤º¸
type_TXT=ÅØ½ºÆ®
type_WKS=Àß ¾Ë·ÁÁø ¼­ºñ½º
type_RP=´ã´çÀÚ
type_PTR=¿ª¹æÇâ ÁÖ¼Ò
type_LOC=À§Ä¡

edit_A=ÁÖ¼Ò
edit_AAAA=IPv6 ÁÖ¼Ò
edit_NS=ÀÌ¸§ ¼­¹ö
edit_CNAME=ÀÌ¸§ º°Äª
edit_MX=¸ÞÀÏ ¼­¹ö
edit_HINFO=È£½ºÆ® Á¤º¸
edit_TXT=ÅØ½ºÆ®
edit_WKS=Àß ¾Ë·ÁÁø ¼­ºñ½º
edit_RP=´ã´çÀÚ
edit_PTR=¿ª¹æÇâ ÁÖ¼Ò
edit_LOC=À§Ä¡

recs_A=ÁÖ¼Ò
recs_AAAA=IPv6 ÁÖ¼Ò
recs_NS=ÀÌ¸§ ¼­¹ö
recs_CNAME=ÀÌ¸§ º°Äª
recs_MX=¸ÞÀÏ ¼­¹ö
recs_HINFO=È£½ºÆ® Á¤º¸
recs_TXT=ÅØ½ºÆ®
recs_WKS=Àß ¾Ë·ÁÁø ¼­ºñ½º
recs_RP=´ã´çÀÚ
recs_PTR=¿ª¹æÇâ ÁÖ¼Ò
recs_LOC=À§Ä¡

value_A1=ÁÖ¼Ò
value_NS1=ÀÌ¸§ ¼­¹ö
value_CNAME1=½ÇÁ¦ ÀÌ¸§
value_MX1=¿ì¼± ¼øÀ§
value_MX2=¸ÞÀÏ ¼­¹ö
value_HINFO1=ÇÏµå¿þ¾î
value_HINFO2=¿î¿µ Ã¼Á¦
value_TXT1=¸Þ½ÃÁö
value_WKS1=ÁÖ¼Ò
value_WKS2=ÇÁ·ÎÅäÄÝ
value_WKS3=¼­ºñ½º
value_RP1=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
value_RP2=ÅØ½ºÆ® ±â·Ï ÀÌ¸§
value_PTR1=È£½ºÆ® ÀÌ¸§
value_LOC1=À§µµ ¹× °æµµ

warn=°æ°í
fail=½ÇÆÐ
ignore=¹«½Ã
default=±âº»°ª
minutes=ºÐ
seconds=ÃÊ
hours=½Ã
days=ÀÏ
weeks=ÁÖ
listed=³ª¿­µÈ Ç×¸ñ..
eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù

acl_zones=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â µµ¸ÞÀÎ
acl_zall=¸ðµç ¿µ¿ª
acl_zsel=¼±ÅÃÇÑ ¿µ¿ª..
acl_master=¸¶½ºÅÍ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_slave=½½·¹ÀÌºê/½ºÅÓ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_forward=Á¤¹æÇâ ¿µ¿ªÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_defaults=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_reverse=µµ¸ÞÀÎÀÇ ¿ª¹æÇâ ÁÖ¼Ò¸¦ ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_multiple=¿©·¯ ÁÖ¼Ò°¡ µ¿ÀÏÇÑ IP¸¦ °¡Áú ¼ö ÀÖ½À´Ï±î?
acl_ro=ÀÐ±â Àü¿ë Á¢±Ù ¸ðµåÀÔ´Ï±î?
acl_apply=º¯°æ ³»¿ëÀ» Àû¿ëÇÒ ¼ö ÀÖ½À´Ï±î?
acl_dir=¿µ¿ª ÆÄÀÏÀ» µð·ºÅä¸®·Î Á¦ÇÑ
acl_file=±â·Ï ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_params=¿µ¿ª ¸Å°³ º¯¼ö¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_opts=¿µ¿ª ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_delete=¿µ¿ªÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_findfree=»ç¿ë°¡´É IP ¹øÈ£¸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï±î?

servers_title=´Ù¸¥ DNS ¼­¹ö
servers_ip=IP ÁÖ¼Ò
servers_bogus=¹«È¿ÇÑ ¼­¹ö¸¦ ¹«½ÃÇÕ´Ï±î?
servers_format=¿µ¿ª Àü¼Û Çü½Ä
servers_trans=ÃÖ´ë Àü¼Û ¼ö
servers_one=ÇÑ ¹ø¿¡ ÇÏ³ª
servers_many=´Ù¼ö
servers_err=´Ù¸¥ DNS ¼­¹ö¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
servers_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
servers_etrans='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ´ë Àü¼Û ¼ö°¡ ¾Æ´Õ´Ï´Ù

logging_title=·Î±× ¹× ¿À·ù
logging_ecannot=·Î±×À» ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
logging_header=±Û·Î¹ú ·Î±× ¹× ¿À·ù ¿É¼Ç
logging_default1=BINDÀÇ ±âº» ·Î±× ¼³Á¤ »ç¿ë
logging_default2=¾Æ·¡ÀÇ ¼³Á¤ »ç¿ë..
logging_cats=·Î±× ¹üÁÖ
logging_cat=¹üÁÖ
logging_cchans=Ã¤³Î
logging_chans=·Î±× Ã¤³Î
logging_cname=Ã¤³Î ÀÌ¸§
logging_to=·Î±× ´ë»ó
logging_file=ÆÄÀÏ
logging_fd=ÆÄÀÏ ¼³¸íÀÚ
logging_versions=»ç¿ëÇÒ ¹öÀü
logging_ver1=¾øÀ½
logging_ver2=Á¦ÇÑ ¾øÀ½
logging_size=ÃÖ´ë ÆÄÀÏ Å©±â
logging_sz1=Á¦ÇÑ ¾øÀ½
logging_syslog=½Ã½ºÅÛ ·Î±× ¼öÁØ
logging_null=ÇØ´ç ¾øÀ½
logging_sev=ÃÖ´ë ¸Þ½ÃÁö ¼öÁØ
logging_any=ÀÓÀÇ
logging_debug=µð¹ö±× ¼öÁØ..
logging_dyn=±Û·Î¹ú ¼öÁØ
logging_pcat=·Î±×ÀÇ ±â·Ï ¹üÁÖ
logging_psev=·Î±×ÀÇ ±â·Ï ½É°¢µµ
logging_ptime=·Î±×ÀÇ ±â·Ï ³¯Â¥ ¹× ½Ã°£
logging_add=»õ Ã¤³Î Ãß°¡
logging_none=Á¤ÀÇµÈ ·Î±× Ã¤³ÎÀÌ ¾ø½À´Ï´Ù.
logging_err=·Î±× ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
logging_ename='$1'Àº(´Â) À¯È¿ÇÑ Ã¤³Î ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
logging_efile=¾ø´Â ·Î±× ÆÄÀÏ ÀÌ¸§
logging_ever='$1'Àº(´Â) À¯È¿ÇÑ ¹öÀü ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
logging_esize='$1'Àº(´Â) À¯È¿ÇÑ ·Î±× Å©±â°¡ ¾Æ´Õ´Ï´Ù

acls_title=Á¢±Ù Á¦¾î ¸ñ·Ï
acls_ecannot=±Û·Î¹ú ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acls_name=ACL ÀÌ¸§
acls_values=ÀÏÄ¡ÇÏ´Â ÁÖ¼Ò, ³×Æ®¿öÅ© ¹× ACL
acls_err=Á¢±Ù Á¦¾î ¸ñ·ÏÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
acls_ename='$1'Àº(´Â) À¯È¿ÇÑ ACL ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

files_title=ÆÄÀÏ ¹× µð·ºÅä¸®
files_ecannot=ÆÄÀÏÀ» ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
files_header=±Û·Î¹ú ÆÄÀÏ ¹× µð·ºÅä¸® ¿É¼Ç
files_stats=Åë°è Ãâ·Â ÆÄÀÏ
files_dump=µ¥ÀÌÅÍº£ÀÌ½º ´ýÇÁ ÆÄÀÏ
files_pid=ÇÁ·Î¼¼½º ID ÆÄÀÏ
files_xfer=¿µ¿ª Àü¼Û ÇÁ·Î±×·¥ÀÇ °æ·Î
files_err=ÆÄÀÏ ¹× µð·ºÅä¸® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
files_efile=¾ø°Å³ª Àß¸øµÈ ÆÄÀÏ ÀÌ¸§

forwarding_title=Àü´Þ ¹× Àü¼Û
forwarding_ecannot=Àü´Þ ¹× Àü¼Û ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
forwarding_header=±Û·Î¹ú Àü´Þ ¹× ¿µ¿ª Àü¼Û ¿É¼Ç
forwarding_fwders=Äõ¸®¸¦ Àü´ÞÇÒ ¼­¹ö
forwarding_fwd=Àü´ÞÀÚ·ÎºÎÅÍ ÀÀ´äÀÌ ¾ø´Â °æ¿ì Á÷Á¢ Á¶È¸
forwarding_max=ÃÖ´ë ¿µ¿ª Àü¼Û ½Ã°£
forwarding_format=¿µ¿ª Àü¼Û Çü½Ä
forwarding_one=ÇÑ ¹ø¿¡ ÇÏ³ª
forwarding_many=´Ù¼ö
forwarding_in=ÃÖ´ë µ¿½Ã ¿µ¿ª Àü¼Û ¼ö
forwarding_err=Àü´Þ ¹× Àü¼Û ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
forwarding_emins=¾ø°Å³ª Àß¸øµÈ ÃÖ´ë Àü¼Û ½Ã°£
forwarding_etrans=¾ø°Å³ª Àß¸øµÈ ÃÖ´ë µ¿½Ã Àü¼Û ¼ö
forwarding_minutes=ºÐ

net_title=ÁÖ¼Ò ¹× ÅäÆú·ÎÁö
net_ecannot=ÁÖ¼Ò ¹× ÅäÆú·ÎÁö ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
net_header=±Û·Î¹ú ÁÖ¼Ò ¹× ÅäÆú·ÎÁö ¿É¼Ç
net_listen=¼ö½Å ´ë±âÇÒ Æ÷Æ® ¹× ÁÖ¼Ò
net_below=¾Æ·¡ ³ª¿­µÈ Ç×¸ñ..
net_port=Æ÷Æ®
net_addrs=ÁÖ¼Ò
net_saddr=Äõ¸®¿¡ »ç¿ëÇÒ ¼Ò½º IP ÁÖ¼Ò
net_sport=Äõ¸®¿¡ »ç¿ëÇÒ ¼Ò½º Æ÷Æ®
net_topol=ÀÌ¸§ ¼­¹ö ¼±ÅÃ ÅäÆú·ÎÁö
net_err=ÁÖ¼Ò ¹× ÅäÆú·ÎÁö ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
net_eport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ® ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
net_etopology=ÅäÆú·ÎÁö ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù

misc_title=±âÅ¸ ¿É¼Ç
misc_ecannot=±âÅ¸ ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
misc_header=±âÅ¸ ±Û·Î¹ú ¿É¼Ç
misc_core=ÃÖ´ë ÄÚ¾î ´ýÇÁ Å©±â
misc_data=ÃÖ´ë µ¥ÀÌÅÍ ¸Þ¸ð¸® »ç¿ë·®
misc_files=¿­ ¼ö ÀÖ´Â ÃÖ´ë ÆÄÀÏ ¼ö
misc_stack=ÃÖ´ë ½ºÅÃ ¸Þ¸ð¸® »ç¿ë·®
misc_clean=¸¸·áµÈ ±â·Ï Á¤¸® °£°Ý
misc_iface=»õ ÀÎÅÍÆäÀÌ½º °Ë»ç °£°Ý
misc_stats=»óÅÂ ·Î±× °£°Ý
misc_recursion=Å¬¶óÀÌ¾ðÆ®¿¡ ´ëÇØ ÀüÃ¼ ¹Ýº¹ Á¶È¸¸¦ ¼öÇàÇÕ´Ï±î?
misc_cnames=ÇÏ³ªÀÇ ÀÌ¸§¿¡ ¿©·¯ °³ÀÇ CNAME º°ÄªÀ» Çã¿ëÇÕ´Ï±î?
misc_glue=±Û·ç ±â·Ï¸¦ ¹ÝÀÔÇÕ´Ï±î?
misc_nx=ÀÀ´ä¿¡ ´ëÇØ ±ÇÇÑ ÀÖ´Â AA ºñÆ®¸¦ ¼³Á¤ÇÕ´Ï±î?
misc_err=±âÅ¸ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
misc_esize='$1'Àº(´Â) À¯È¿ÇÑ Å©±â°¡ ¾Æ´Õ´Ï´Ù
misc_efiles='$1'Àº(´Â) À¯È¿ÇÑ ¿­ ¼ö ÀÖ´Â ÃÖ´ë ÆÄÀÏ ¼ö°¡ ¾Æ´Õ´Ï´Ù
misc_emins='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£(ºÐ)ÀÌ ¾Æ´Õ´Ï´Ù
misc_mins=ºÐ

zonedef_title=¿µ¿ª ±âº»°ª
zonedef_msg=»õ ¸¶½ºÅÍ ¿µ¿ª¿¡ ´ëÇÑ ±âº»°ª
zonedef_err=¿µ¿ª ±âº»°ªÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
zonedef_ecannot=¸¶½ºÅÍ ¿µ¿ª ±âº»°ªÀ» º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù
zonedef_msg2=±âº» ¿µ¿ª ¼³Á¤
zonedef_transfer=Àü¼Û Çã¿ë ´ë»ó..
zonedef_query=Äõ¸® Çã¿ë ´ë»ó..
zonedef_cmaster=¸¶½ºÅÍ ¿µ¿ªÀÇ ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
zonedef_cslave=½½·¹ÀÌºê ¿µ¿ªÀÇ ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
zonedef_cresponse=ÀÀ´ä¿¡ ÀÖ´Â ÀÌ¸§À» °Ë»çÇÕ´Ï±î?
zonedef_notify=º¯°æ ³»¿ëÀ» ½½·¹ÀÌºê¿¡°Ô ¾Ë¸³´Ï±î?
zonedef_email=±âº» ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò

find_title=¿µ¿ª Ã£±â
find_match=$1°ú(¿Í) ÀÏÄ¡ÇÏ´Â ¿µ¿ªÀ» Ã£´Â Áß..
find_none=ÀÏÄ¡ÇÏ´Â ¿µ¿ªÀÌ ¾ø½À´Ï´Ù.

efirst=$2ÀÇ $1 Çà¿¡ ÀÖ´Â Ã¹¹øÂ° Áö½Ã¾î°¡ Àß¸øµÊ

findfree_title=»ç¿ë°¡´É ip Ã£±â
findfree_desc=»ç¿ë°¡´É ip Ã£±â
findfree_nofind=»ç¿ë°¡´É ip¸¦ Ã£À» ¼ö ¾ø½À´Ï´Ù
findfree_header=$1
findfree_sopt=°Ë»ö ¿É¼Ç
findfree_IPrange=IP ¹üÀ§
findfree_from=½ÃÀÛ
findfree_to=³¡
findfree_cf=<em>`freeXXX'</em> È£½ºÆ® ÀÌ¸§À» »ç¿ë°¡´É ip·Î °£ÁÖÇÕ´Ï±î?
findfree_search=°Ë»ö

log_servers=´Ù¸¥ DNS ¼­¹ö º¯°æµÊ
log_logging=·Î±× ¹× ¿À·ù º¯°æµÊ
log_acls=Á¢±Ù Á¦¾î ¸ñ·Ï º¯°æµÊ
log_files=ÆÄÀÏ ¹× µð·ºÅä¸® º¯°æµÊ
log_forwarding=Àü´Þ ¹× Àü¼Û º¯°æµÊ
log_net=ÁÖ¼Ò ¹× ÅäÆú·ÎÁö º¯°æµÊ
log_misc=±âÅ¸ ¿É¼Ç º¯°æµÊ
log_zonedef=¿µ¿ª ±âº»°ª º¯°æµÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
log_start=DNS ¼­¹ö ½ÃÀÛµÊ
log_master=¸¶½ºÅÍ ¿µ¿ª $1 ÀÛ¼ºµÊ
log_slave=½½·¹ÀÌºê ¿µ¿ª $1 ÀÛ¼ºµÊ
log_stub=½ºÅÓ ¿µ¿ª $1 ÀÛ¼ºµÊ
log_forward=Àü´Þ ¿µ¿ª $1 ÀÛ¼ºµÊ
log_delete_master=¸¶½ºÅÍ ¿µ¿ª $1 »èÁ¦µÊ
log_delete_slave=½½·¹ÀÌºê ¿µ¿ª $1 »èÁ¦µÊ
log_delete_stub=½ºÅÓ ¿µ¿ª $1 »èÁ¦µÊ
log_delete_forward=Àü´Þ ¿µ¿ª $1 »èÁ¦µÊ
log_text=$1¿¡ ´ëÇÑ ±â·Ï ¼öµ¿À¸·Î ÆíÁýµÊ
log_soa=$1¿¡ ´ëÇÑ ¿µ¿ª ¸Å°³ º¯¼ö º¯°æµÊ
log_opts=$1¿¡ ´ëÇÑ ¿µ¿ª ¿É¼Ç º¯°æµÊ
log_delete_record=¿µ¿ª $3ÀÇ $1 ±â·Ï $2 »èÁ¦µÊ
log_create_record=¿µ¿ª $3ÀÇ $1 ±â·Ï $2 ÀÛ¼ºµÊ
log_modify_record=¿µ¿ª $3ÀÇ $1 ±â·Ï $2 ¼öÁ¤µÊ
log_boot=ÁÖ ±¸¼º ÆÄÀÏ ÀÛ¼ºµÊ

   07070100048267000081a40000000000000002000000013d1fe2d200005619000000200000000000000000000000000000001400000003reloc/bind8/lang/pl   index_title=Serwer DNS BIND
index_enamed=Nie znaleziono serwera DNS BIND $1 w&nbsp;Twoim systemie. Mo¿liwe, ¿e nie zosta³ zainstalowany lub Twoja <a href='$2'>konfiguracja modu³u</a> serwera BIND jest nieprawid³owy.
index_eversion=Program serwera $1 nie jest serwerem BIND&nbsp;8 ani&nbsp;9. Mo¿liwe, ¿e powiniene¶ u¿yæ modu³u <a href='$2'>BIND 4</a>.
index_eempty=Pierwotny plik konfiguracyjny serwera BIND $1 nie istnieje lub jest nieprawid³owy. Czy go utworzyæ od nowa?
index_local=Ustaw serwer DNS wy³±cznie do u¿ytku intranetowego (a&nbsp;nie internetowego)
index_download=Ustaw jako internetowy serwer DNS, i&nbsp;za³aduj informacjê o&nbsp;g³ównych serwerach DNS
index_webmin=Ustaw jako internetowy serwer DNS, ale u¿ywaj informacji o&nbsp;g³ównych serwerach DNS z&nbsp;Webmina
index_create=Utwórz podstawowy plik konfiguracyjny i&nbsp;uruchom serwer DNS
index_zones=Istniej±ce strefy DNS
index_none=Nie zdefiniowano ¿adnej strefy DNS dla tego serwera
index_addmaster=Nowa strefa podstawowa
index_addslave=Nowa strefa zapasowa
index_addstub=Nowa strefa wykarczowana
index_addfwd=Nowa strefa po¶rednicz±ca
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby prze³adowaæ dzia³aj±cy serwer BIND. Spowoduje to uaktywninie bie¿±cej konfiguracji.
index_start=Uruchom serwer
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer BIND oraz za³adowaæ bie¿±c± konfiguracjê.
index_zone=Strefa
index_type=Typ
index_master=Podstawowa
index_slave=Zapasowa
index_stub=Wykarczowana
index_forward=Po¶rednicz±ca
index_opts=Ogólne opcje serwera
index_return=listy stref
index_toomany=W&nbsp;Twoim systemie jest za du¿o stref, by je tu wy¶wietliæ.
index_find=Znajd¼ strefy&nbsp;:
index_search=Szukaj
index_view=(W&nbsp;widoku $1)
index_views=Istniej±ce widoki klienckie
index_vnone=Nie zdefiniowano na serwerze widoków klienckich.
index_addview=Utwórz nowy widok
index_root=Strefa g³ówna
index_addhint=Utwórz now± strefê g³ówn±

master_title=Zmieñ strefê podstawow±
master_ecannot=Nie masz uprawnieñ do modyfikacji tej strefy
master_manual=Modyfikuj plik strefy
master_soa=Zmieñ parametry strefy
master_options=Zmieñ opcje strefy
master_del=Usuñ strefê
master_delmsg=Naci¶nij ten przycisk, aby usun±æ tê strefê ze swojego serwera DNS.
master_delrev=Odpowiednie rekordy odwrotnego DNS w&nbsp;innych strefach obs³ugiwanych przez ten serwer równie¿ bêd± usuniête.
master_tmpl=Czy u¿yæ wzorca strefy?
master_ip=Wzorcowy adres IP dla rekordów
master_params=Parametry strefy
master_server=Serwer podstawowy
master_ns=Czy dodaæ rekord NS dla serwera podstawowego?
master_email=Adres e-mail
master_refresh=Czas od¶wie¿ania
master_retry=Czas powtórzenia transferu
master_expiry=Czas ¿ycia
master_minimum=Standardowy czas ¿ycia
master_opts=Opcje strefy
master_check=Sprawdziæ nazwy?
master_notify=Czy zawiadamiaæ serwery zapasowe o&nbsp;zmianach?
master_update=Pozwól na aktualizacjê z..
master_transfer=Pozwól na transmisjê z..
master_query=Pozwól na zapytania z..
master_notify2=Powiadom równie¿ serwery zapasowe..
master_type=Typ
master_records=Rekordy
master_return=rodzajów rekordów
master_err=Nie uda³o siê zachowaæ opcji
master_ero=Nie masz uprawnieñ do aktualizacji stref
master_err2=Nie uda³o siê zaktualizowaæ strefy
master_emaster='$1' nie jest poprawnym serwerem podstawowym
master_eemail='$1' nie jest poprawnym adresem e-mail
master_erefresh='$1' nie jest poprawnym czasem od¶wie¿ania
master_eretry='$1' nie jest poprawnym czasem powtórzenia transferu
master_eexpiry='$1' nie jest poprawnym czasem wyga¶niêcia
master_eminimum='$1' nie jest poprawnym standardowym TTL
master_edelete=Nie masz uprawnieñ do usuniêcia tej strefy
master_tmplrecs=Rekordy wzorcowe
master_name=Nazwa rekordu
master_value=Warto¶æ
master_user=Z&nbsp;formularza
master_eip=Brakuj±cy lub niepoprawny adres IP wzorca
master_eiptmpl=Warto¶ci z&nbsp;rekordów wzorcowych mog± byæ pobierane jedynie do rekordów adresowych
master_esoacannot=Nie masz uprawnieñ do zmiany parametrów strefy
master_eoptscannot=Nie masz uprawnieñ do to zmiany opcji strefy
master_edeletecannot=Nie masz uprawnieñ do usuwania stref
master_etaken=Ta strefa ju¿ istnieje
master_include=Dodatkowy plik wzorca
master_convert=Zmieñ strefê na zapasow±
master_whois=Szukaj informacji w&nbsp;bazie WHOIS
master_move=Przenie¶ do widoku:
master_emove=Musisz wybraæ inny widok jako widok docelowy

delete_title=Usuñ strefê
delete_mesg=Czy jeste¶ pewien, ¿e chcesz usun±æ strefê $1 ? Wszystkie rekordy oraz plik strefy zostan± usuniête.
delete_mesg2=Czy jeste¶ pewien, ¿e chcesz usun±æ strefê g³ówn± ? Mo¿liwe, ¿e serwer DNS nie bedzie w&nbsp;stanie poszukiwaæ adresów w&nbsp;Internecie.
delete_rev=Czy usun±æ rekordy odwrotnego DNS z&nbsp;innych stref ? 
delete_fwd=Czy usun±æ rekordy prostego DNS z&nbsp;innych stref ?

mcreate_title=Utwórz strefê podstawow±
mcreate_ecannot=Nie masz uprawnieñ do tworzenia strefy podstawowej
mcreate_opts=Nowe opcje strefy podstawowej
mcreate_type=Rodzaj strefy
mcreate_fwd=Prosta (nazwy na adresy)
mcreate_rev=Odwrotna (adresy na nazwy)
mcreate_dom=Nazwa domeny / Sieæ
mcreate_view=Utwórz w&nbsp;widoku
mcreate_file=Plik strefy
mcreate_auto=Domy¶lny
mcreate_err=Nie uda³o siê utworzyæ pliku strefy podstawowej

slave_title=Zmieñ strefê zapasow±
stub_title=Zmieñ strefê wykarczowan±
slave_ecannot=Nie masz uprawnieñ do modyfikacji tej strefy
slave_opts=Opcje strefy
slave_masters=Serwery podstawowe
slave_max=Maksymalny czas transferu
slave_file=Plik strefy
slave_check=Czy sprawdzaæ nazwy?
slave_notify=Czy zawiadamaæ serwery zapasowe o&nbsp;zmianach?
slave_update=Pozwól na aktualizacjê z..
slave_transfer=Pozwól na transmisjê z..
slave_query=Pozwól na zapytania z..
slave_notify2=Powiadom równie¿ serwery zapasowe..
slave_none=Brak
slave_auto=Automatycznie
slave_err=Nie uda³o siê zachowaæ opcji
slave_emax='$1' nie jest poprawnym maksymalnym czasem transferu
slave_efile=Brak pliku strefy
slave_efile2='$1' nie jest dozwolonym plikiem strefy
slave_mins=minut
slave_convert=Zmieñ strefê na podstawow±

screate_title1=Utwórz strefê zapasow±
screate_title2=Utwórz strefê wykarczowan±
screate_ecannot1=Nie masz uprawnieñ do tworzenia stref zapasowych
screate_ecannot2=Nie masz uprawnieñ do tworzenia stref wykarczowanych
screate_header1=Opcje nowej strefy zapasowej
screate_header2=Opcje nowej strefy wykarczowanej
screate_type=Rodzaj strefy
screate_fwd=Prosta (nazwy na adresy)
screate_rev=Odwrotna (adresy na nazwy)
screate_dom=Nazwa domeny / Sieæ
screate_err1=Nie uda³o siê utworzyæ strefy zapasowej
screate_err2=Nie uda³o siê utworzyæ strefy wykarczowanej

recs_ecannot=Nie masz uprawnieñ do modyfikacji rekordów w&nbsp;tej strefie
recs_title=Rekordy $1
recs_header=W&nbsp;$1
recs_addr=Adres
recs_name=Nazwa
recs_ttl=TTL
recs_comment=Komentarz
recs_return=rodzajów rekordów

edit_title=Zmieñ rekord $1
edit_header=W&nbsp;$1
edit_edit=Zmieñ rekord $1
edit_add=Dodaj rekord $1
edit_addr=Adres
edit_name=Nazwa
edit_zonename=Nazwa strefy
edit_ttl=Czas ¿ycia
edit_comment=Komentarz
edit_cnamemsg=Nazwy bezwzglêdne musz± byæ zakoñczone '.'
edit_uprev=Aktualizowaæ odwrotny?
edit_upfwd=Aktualizowaæ prosty?
edit_err=Nie uda³o siê zachowaæ rekordu
edit_ettl='$1' nie jest prawid³owym czasem ¿ycia
edit_eip='$1' nie jest prawid³owym adresem IP
edit_eip6='$1' nie jest prawid³owym adresem IPv6
edit_ehost='$1' nie jest prawid³ow± nazw± hosta
edit_ename='$1' nie jest prawid³ow± nazw± rekordu
edit_edupip=Rekord adresu dla $1 ju¿ istnieje
edit_ens='$1' nie jest poprawnym serwerem DNS
edit_ecname='$1' nie jest poprawnym celem dla aliasu
edit_emx='$1' nie jest poprawnym serwerem poczty
edit_epri='$1' nie jest poprawnym priorytetem
edit_ehard=Brakuj±cy lub niepoprawny typ sprzêtu
edit_eos=Brakuj±cy lub niepoprawny rodzaj OS
edit_eserv=Nie wprowadzi³e¶ ¿adnej dobrze znanej us³ugi
edit_ebadserv=Nazwa dobrze znanej us³ugi '$1' jest niepoprawna
edit_eemail='$1' nie jest poprawnym adresem e-mail
edit_etxt='$1' nie jest poprawn± nazw± rekordu tekstowego
edit_efqdn=Nazwa bezwzglêdna '$1' jest za d³uga
edit_elabel=Jeden z&nbsp;cz³onów nazwy '$1' jest za d³ugi
edit_eloc=Nie podano szeroko¶ci i&nbsp;d³ugo¶ci geograficznej
edit_return=rekordów
edit_ecname1=Nie mo¿na tworzyæ rekordów typu alias nazwy o&nbsp;tej samej nazwie, co rekord istniej±cy.
edit_ecname2=Nie mo¿na tworzyæ rekordów o&nbsp;tej samej nazwie, co istniej±cy rekord typu alias nazwy.

text_title=Zmieñ plik strefy
text_desc=Ten formularz pozwoli ci zmieniæ rêcznie recordy DNS w&nbsp;pliku strefy $1. Webmin nie przeprowadz ¿adnej kontroli sk³adni, ani nie zwiêksza automatycznie numeru seryjnego strefy.
text_undo=Cofnij
text_ecannot=Nie masz uprawnieñ do modyfikacji plików stref

restart_ecannot=Nie masz uprawnieñ do restartu BINDa
restart_esig=Nie uda³o siê powiadomiæ procesu $1&nbsp;: $2
start_ecannot=Nie masz uprawnieñ do uruchamiania BINDa
start_error=Nie uda³o siê uruchomiæ BINDa&nbsp;: $1

fwd_title=Popraw strefê po¶rednicz±c±
fwd_ecannot=Nie masz uprawnieñ do modyfikacji tej strefy
fwd_opts=Opcje strefy
fwd_masters=Serwery podstawowe
fwd_forward=Czy próbowaæ innych serwerów?
fwd_check=Czy sprawdzaæ nazwy?
fwd_err=Nie uda³o siê zachowaæ opcji

fcreate_title=Utwórz strefê po¶rednicz±c±
fcreate_ecannot=Nie masz uprawnieñ do tworzenia stref po¶rednicz±cych
fcreate_opts=Opcje nowej strefy po¶rednicz±cej
fcreate_type=Rodzaj strefy
fcreate_fwd=Prosta (nazwy na adresy)
fcreate_rev=Odwrotna (adresy na nazwy)
fcreate_dom=Nazwa domeny / Siec
fcreate_masters=Serwery podstawowe
fcreate_err=Nie uda³o siê utworzyæ strefy po¶rednicz±cej

create_enet='$1' nie jest poprawn± sieci±
create_edom='$1' nie jest poprawn± nazw± domeny
create_edom2='$1' musi byæ domen± a&nbsp;nie sieci±
create_efile='$1' nie jest poprawn± nazw± pliku
create_efile2='$1' nie jest dozwolonym plikiem strefy
create_efile3=Nie uda³o siê utworzyæ '$1'&nbsp;: $2
create_efile4=Plik $1 ju¿ istnieje
create_emaster='$1' nie jest poprawnym adresem serwera podstawowego
create_enone=Musisz wpisaæ co najmniej jeden serwer podstawowy

boot_err=£adowanie siê nie powiod³o

type_A=Adresy
type_AAAA=Adresy IPv6
type_NS=Serwery DNS
type_CNAME=Aliasy nazw
type_MX=Serwery pocztowe
type_HINFO=Informacje o&nbsp;hostach
type_TXT=Tekstowe
type_WKS=Dobrze znane us³ugi
type_RP=Osoby odpowiedzialne
type_PTR=Adresowanie odwrotne
type_LOC=Lokalizacja

edit_A=adresowy
edit_AAAA=adresowy IPv6
edit_NS=serwera DNS
edit_CNAME=aliasu nazwy
edit_MX=serwera pocztowego
edit_HINFO=informacji o&nbsp;ho¶cie
edit_TXT=tekstowy
edit_WKS=dobrze znanych us³ug
edit_RP=osoby odpowiedzialnej
edit_PTR=adresowania odwrotnego
edit_LOC=lokalizacji

recs_A=adresowe
recs_AAAA=adresowe IPv6
recs_NS=serwerów DNS
recs_CNAME=aliasów nazw
recs_MX=serwerów pocztowych
recs_HINFO=informacji o&nbsp;hostach
recs_TXT=tekstowy
recs_WKS=dobrze znanych us³ug
recs_RP=osób odpowiedzialnych
recs_PTR=adresowania odwrotnego
recs_LOC=lokalizacji

value_A1=Adres
value_NS1=Serwer DNS
value_CNAME1=Rzeczywista nazwa
value_MX1=Priorytet
value_MX2=Serwer poczty
value_HINFO1=Sprzêt
value_HINFO2=System operacyjny
value_TXT1=Informacja
value_WKS1=Adres
value_WKS2=Protokó³
value_WKS3=Us³ugi
value_RP1=Adres e-mail
value_RP2=Nazwa rekordu tekstowego
value_PTR1=Nazwa hosta
value_LOC1=Szeroko¶æ i&nbsp;d³ugo¶æ geograficzna

warn=Ostrze¿
fail=Przerwij
ignore=Ignoruj
default=Domy¶lne
minutes=minut
seconds=sekund
hours=godzin
days=dni
weeks=tygodni
listed=Wymienione ..
eip='$1' nie jest poprawnym adresem IP

acl_zones=Domeny, które u¿ytkownik mo¿e zmieniaæ
acl_zall=Wszystkie strefy
acl_zsel=Wybrane..
acl_znsel=Wszystkie oprócz..
acl_master=Tworzenie stref podstawowych?
acl_slave=Tworzenie stref zapasowych/wykarczowanych?
acl_forward=Tworzenie stref po¶rednicz±cych?
acl_defaults=Zmiany opcji ogólnych?
acl_reverse=Aktualizacja odwrotnego DNS dla domen?
acl_multiple=Tworzenie wielu nazw o&nbsp;tym samym IP?
acl_ro=Dostêp tylko do odczytu?
acl_apply=Zastosowanie zmian?
acl_dir=Ogranicz pliki stref do katalogu
acl_file=Modyfikacja plików stref?
acl_params=Modyfikacja parametrów stref?
acl_opts=Modyfikacja opcji stref?
acl_delete=Usuwanie stref?
acl_findfree=Poszukiwanie niewykorzystanych numerów IP?
acl_views=Mo¿e tworzyæ i&nbsp;zmieniaæ widoki?

servers_title=Inne serwery DNS
servers_ip=Adres IP
servers_bogus=Ignoruj podrabiane serwery?
servers_format=Format transferu strefy
servers_trans=Maksymalna liczba transferów
servers_one=Pojedynczo
servers_many=Wielokrotnie
servers_err=Nie uda³o siê zachowaæ innych serwerów DNS
servers_eip='$1' nie jest poprawnym adresem IP
servers_etrans='$1' nie jest poprawn± maksymaln± liczba transferów

logging_title=Logowanie i&nbsp;b³êdy
logging_ecannot=Nie masz uprawnieñ do konfiguracji logowania
logging_header=Ogólne opcje logowania i&nbsp;b³êdów
logging_default1=U¿ywaj do logowania domy¶lnych ustawieñ BINDa
logging_default2=U¿ywaj poni¿szych ustawieñ ..
logging_cats=Kategorie logowania
logging_cat=Kategoria
logging_cchans=Kana³y
logging_chans=Kana³y logowania
logging_cname=Nazwa kana³u
logging_to=Loguj do
logging_file=Plik
logging_fd=Deskryptor pliku
logging_versions=Utrzymywaæ wersji
logging_ver1=¯adnej
logging_ver2=Bez ograniczeñ
logging_size=Maksymalny rozmiar pliku
logging_sz1=Bez ograniczeñ
logging_syslog=Poziom logowania
logging_null=Nigdzie
logging_sev=Minimalny poziom komunikatów
logging_any=Dowolny
logging_debug=Poziom debuggingu ..
logging_dyn=Poziom ogólny
logging_pcat=Kategorie rekordów w&nbsp;logu
logging_psev=Uporczywo¶æ rekordów w&nbsp;logu
logging_ptime=Czas i&nbsp;data rekordu w&nbsp;logu
logging_add=Dodaj nowy kana³
logging_none=Nie zdefiniowano ¿adnego kana³u logowania.
logging_err=Nie uda³o sie zachowaæ opcji logowania
logging_ename='$1' nie jest poprawn± nazw± kana³u
logging_efile=Pominiêto nazwê pliku logowania
logging_ever='$1' nie jest poprawnym numerem wersji
logging_esize='$1' nie jest poprawnym rozmiarem logu

acls_title=Listy kontroli dostêpu (ACL)
acls_ecannot=Nie masz uprawnieñ do modyfikacji ogólnych ACL
acls_name=Nazwa ACL
acls_values=Odpowiadaj±ce adresy, sieci i&nbsp;ACL
acls_err=Nie uda³o siê zachowaæ list kontroli dostêpu
acls_ename='$1' nie jest prawid³ow± nazw± ACL

files_title=Pliki i&nbsp;katalogi
files_ecannot=Nie masz uprawnieñ do konfiguracji plików
files_header=Ogólne opcje plików i&nbsp;katalogów
files_stats=Wynikowy plik statystyk
files_dump=Plik zrzutu bazy danych
files_pid=Plki numeru PID programu
files_xfer=¦cie¿ka do programu transferu stref
files_err=Nie uda³o siê zachowaæ opcji plików i&nbsp;katalogów
files_efile=Brakuj±ca lub niepoprawna nazwa pliku

forwarding_title=Po¶redniczenie i&nbsp;transfery
forwarding_ecannot=Nie masz uprawnien do modyfikacji opcji po¶redniczenia i&nbsp;transferów
forwarding_header=Ogólne opcje po¶redniczenia i&nbsp;transferów
forwarding_fwders=Serwery do których przekazywaæ zapytania
forwarding_fwd=Pytaj bezpo¶rednio, je¶li brak odpowiedzi od po¶rednika
forwarding_max=Maksymalny czas transmisji strefy
forwarding_format=Format transferu strefy
forwarding_one=Pojedynczo
forwarding_many=Wielokrotnie
forwarding_in=Maksymalna liczba konkurencyjnych transferów
forwarding_err=Nie uda³o siê zachowaæ opcji transferu i&nbsp;po¶reniczenia
forwarding_emins=Brakuj±cy lub niepoprawny maksymalny czas transferu
forwarding_etrans=Brakuj±ca lub niepoprawna maksymalna liczba konkurencyjnych transferów
forwarding_minutes=minut

net_title=Adresy i&nbsp;topologia
net_ecannot=Nie masz uprawnieñ do modyfikacji opcji adresów i&nbsp;topologii
net_header=Ogólne opcje adresów i&nbsp;topologii
net_listen=Porty i&nbsp;adresy, na&nbsp;których nas³uchiwaæ
net_below=Wymienione poni¿ej..
net_port=Port
net_addrs=Adresy
net_saddr=¬ród³owy adres IP dla zapytañ
net_sport=¬ród³owy port dla zapytañ
net_topol=Topologia wyboru serwera DNS
net_err=Nie uda³o siê zachowaæ opcji adresów i&nbsp;topologii
net_eport='$1' nie jest poprawnym numerem portu
net_etopology=Nie podano topologii adresów

misc_title=Opcje ró¿ne
misc_ecannot=Nie masz uprawnieñ do modyfikacji opcji ró¿nych
misc_header=Ró¿ne opcje ogólne
misc_core=Maksymalny rozmiar pliku zrzutu pamiêci (core)
misc_data=Maksymalne zu¿ycie pamiêci na dane
misc_files=Maksymalna liczba otwartych plików
misc_stack=Maksymalny rozmiar stosu
misc_clean=Okres pomiêdzy czyszczeniem przeterminowanych rekordów
misc_iface=Okres pomiêdzy sprawdzaniem nowych interfejsów
misc_stats=Okres pomiêdzy logowaniem statystyk
misc_recursion=Czy wykonywaæ pe³ne rekurencyjne przeszukiwanie za klientów?
misc_cnames=Czy pozwalaæ na wielokrotne aliasy CNAME do jednej nazwy?
misc_glue=Sprowadzaæ rekordy sklejaj±ce?
misc_nx=Czy ustawiaæ bit autorytatywno¶ci AA w&nbsp;odpowiedziach?
misc_err=Nie uda³o siê zachowaæ opcji ró¿nych
misc_esize='$1' nie jest poprawnym rozmiarem
misc_efiles='$1' nie jest poprawn± liczb± otwartych plików
misc_emins='$1' nie jest poprawn± liczb± minut
misc_mins=min.

zonedef_title=Domy¶lne ustawienia stref
zonedef_msg=Domy¶lne ustawienia dla nowych stref podstawowych
zonedef_err=Nie uda³o siê zachowaæ ustawieñ domy¶lnych stref
zonedef_ecannot=Nie masz uprawnieñ do zmiany ustawieñ domy¶lnych stref podstawowych
zonedef_msg2=Domy¶lne ustawienia strefy
zonedef_transfer=Pozwól na transfer&nbsp;z..
zonedef_query=Pozwól na zapytania&nbsp;z..
zonedef_cmaster=Czy sprawdzaæ nazwy w&nbsp;strefach podstawowych?
zonedef_cslave=Czy sprawdzaæ nazwy w&nbsp;strefach zapasowych?
zonedef_cresponse=Czy sprawdzaæ nazwy w&nbsp;odpowiedziach?
zonedef_notify=Czy zawiadamiaæ serwery zapasowe o&nbsp;zmianach?
zonedef_email=Domy¶lny adres e-mail

find_title=Znajd¼ strefy
find_match=Strefy wg wzorca "$1" ..
find_none=Nie znaleziono ¿adnej strefy.

efirst=Nieprawid³owa pierwsza dyrektywa w&nbsp;linii $1 w&nbsp;$2

findfree_title=Szukanie wolnych IP
findfree_desc=Szukanie wolnych IP
findfree_nofind=Nie masz uprawnieñ do poszukiwania wolnych IP
findfree_header=W $1
findfree_sopt=Opcje szukania
findfree_IPrange=Zakres IP
findfree_from=od
findfree_to=do
findfree_cf=Traktowaæ nazwy hostów <em>`freeXXX'</em> jako wolne IP?
findfree_search=Szukaj

log_servers=Zmiany innych serwerów DNS
log_logging=Zmiany logowania i&nbsp;b³êdów
log_acls=Zmiany list kontroli dostêpu
log_files=Zmiany plikow i&nbsp;katalogów
log_forwarding=Zmiany po¶redniczenia i&nbsp;transferów
log_net=Zmiany adresów i&nbsp;topologii
log_misc=Zmiany opcji ró¿nych
log_zonedef=Zmiany domy¶lnych ustawieñ stref
log_apply=Zastosowano zmiany
log_start=Uruchomiono serwer DNS
log_master=Utworzono strefê podstawow± $1
log_slave=Utworzono strefê zapasow± $1
log_stub=Utworzono strefê wykarczowan± $1
log_forward=Utworzono strefê po¶rednicz±c± $1
log_hint=Utworzono strefê g³ówn±
log_view=Utworzono widok $1
log_delete_master=Usuniêto strefê podstawow± $1
log_delete_slave=Usuniêto strefê zapasow± $1
log_delete_stub=Usuniêto strefê wykarczowan± $1
log_delete_forward=Usuniêto strefê po¶rednicz±c± $1
log_delete_hint=Usuniêto strefê g³ówn±
log_delete_view=Usuniêto widok $1
log_text=Zmieniono rêcznie rekordy w&nbsp;$1
log_soa=Zmieniono parametry strefy $1
log_opts=Zmieniono domy¶lne ustawienia strefy $1
log_delete_record=Usuniêto rekord $1 $2 w&nbsp;strefie $3
log_create_record=Utworzono rekord $1 $2 w&nbsp;strefie $3
log_modify_record=Zmieniono rekord $1 $2 w&nbsp;strefie $3
log_boot=Utworzono podstawowy plik konfiguracyjny
log_move=Przeniesiono strefê $1
log_review=Zmieniono opcje widoku $1

convert_err=Nie uda³o siê zmieniæ rodzaju strefy
convert_efile=Musisz okre¶liæ plik strefy zanim bêdzie mo¿na zamieniæ strefê zapasow± na podstawow±.

whois_title=Informacje z&nbsp;bazy WHOIS
whois_header=Wynik polecenia $1 ..

view_title=Zmieñ widok kliencki
view_opts=Dane widoku klienckiego
view_name=Nazwa widoku
view_class=Klasa rekordów DNS
view_match=Zastosuj ten widok do klientów
view_recursion=Wykonywaæ pe³ne rekurencyjne poszukiwanie klientów?

vcreate_title=Utwórz widok kliencki
vcreate_match_all=Wszystkich klientów
vcreate_match_sel=Wybranych adresów, sieci lub ACL-i
vcreate_err=Nie uda³o siê utworzyæ widoku
vcreate_ename=Nie podana lub niepoprawna nazwa widoku
vcreate_etaken=Ta nazwa widoku jest ju¿ zajêta
vcreate_eclass=Nie podana lub niepoprawna nazwa klasy

hint_title=Zmieñ strefê g³ówn±
hint_desc=Strefa g³ówna jest u¿ywana przez serwer DNS do porozumiewania siê z serwerami g³ównymi Internetu, aby móg³ on rozwi±zywaæ nazwy w&nbsp;domenach nie obs³ugiwanych przez siebie, jak np. <tt>.com</tt> lub <tt>.net.pl</tt>. Je¶li serwer DNS nie jest przeznaczony wy³±cznie do obs³ugi sieci wewnêtrznej, ani nie przekazuje wszystkich zapytañ do innego serwera, nie powiniene¶ kasowaæ tej strefy g³ównej.
hint_move=Przenie¶æ do widoku:
hint_ecannot=Nie masz uprawnieñ do zmien tej strefy g³ównej

hcreate_title=Utwórz strefê g³ówn±
hcreate_desc=Strefa g³ówna jest u¿ywana przez serwer DNS do porozumiewania siê z serwerami g³ównymi Internetu, aby móg³ on rozwi±zywaæ nazwy w&nbsp;domenach nie obs³ugiwanych przez siebie, jak np. <tt>.com</tt> lub <tt>.net.pl</tt>. Je¶li u¿ywasz wielu widoków, mo¿esz potrzebowaæ osobnych stref g³ównych w&nbsp;ka¿dym z&nbsp;nich, aby klienci mogli prawid³owo rozwi±zywaæ nazwy domenowe w&nbsp;Internecie.
hcreate_file=Przechowywaæ serwery g³ówne w&nbsp;pliku
hcreate_real=Pobraæ serwery g³ówne z
hcreate_keep=Istniej±ce serwery g³ówne w&nbsp;pliku
hcreate_down=Pobraæ z g³ównego serwera FTP
hcreate_webmin=Wykorzystaæ wcze¶niejsze informacje Webmina o&nbsp;serwerach g³ównych
hcreate_ecannot=Nie masz uprawnieñ do tworzenia stref g³ównych
hcreate_efile='$1' nie jest dozwolonym plikiem serwerów g³ównych
hcreate_efile2=Nie podany lub niepoprawny plik serwerów g³ównych
mcreate_erecs=Nie jest to poprawna istniej±cy plik strefy g³ównej
hcreate_err=Nie uda³o siê utworzyæ strefy g³ównej

vdelete_title=Usuñ widok
vdelete_mesg=Czy na pewno chcesz usun±æ widok kliencki $1 ? Wszystkie strefy z&nbsp;tego widoku albo zostan± skasowane (³±cznie z odpowiednimi plikami stref), albo zostan± przeniesione do innych widoków w&nbsp;zale¿no¶ci od tego, co wybierzesz poni¿ej.
vdelete_mesg2=Czy na pewno chcesz usun±æ widok kliencki $1 ?
vdelete_newview=Strefy tego widoku
vdelete_root=Przenie¶æ poza widoki
vdelete_delete=Usun±æ ca³kiem
vdelete_move=Przenie¶æ do widoku
   07070100048268000081a40000000000000002000000013d1fe2d2000036f3000000200000000000000000000000000000001400000003reloc/bind8/lang/pt   index_title=Servidor DNS BIND 8
index_enamed=O servidor DNS BIND 8 não foi encontrado no seu sistema. Poderá não estar instalado ou a <a href='$2'>configuração do módulo BIND 8</a> está incorreta.
index_eversion=O ficheiro executável $1 não aparenta pertencer ao servidor BIND Versão 8. Tente usar o <a href='$2'>módulo BIND 4</a> em vez do BIND 8.
index_eempty=O ficheiro de configuração primário para o servidor BIND Versão 8 $1 não existe ou não é válido. Deseja que se crie um?
index_local=Configuraração do servidor de nomes apenas para uso interno (sem internet)
index_download=Configuração para servidor de nomes de internet, e fazer o download da informação raíz do servidor
index_webmin=Configuração para servidor de nomes de internet, mas usar a antiga informação raíz do Webmin
index_create=Criar o Ficheiro de Configuração Primário e Iniciar o servidor de nomes
index_zones=Zonas DNS Existentes
index_none=Não estão definidas nehumas zonas DNS para este servidor
index_addmaster=Criar nova zona MASTER
index_addslave=Criar nova zona SLAVE
index_addstub=Criar nova zona STUB
index_addfwd=Criar nova zona FORWARD
index_apply=Aplicar Alterações
index_applymsg=Clique neste botão para reiniciar o servidor BIND 8. Desta forma a configuração corrente tornar-se-á activa.
index_start=Iniciar o Name Server
index_startmsg=Clique neste botão para iniciar o servidor BIND 8, e carregar a configuração corrente
index_zone=Zona
index_type=Tipo
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Forward
index_opts=Opções Gerais do Servidor
index_return=lista de zonas

master_title=Editar a Zona Master
master_ecannot=Você não está autorizado para editar esta zona
master_manual=Editar o Ficheiro de Registos
master_soa=Editar Parâmetros de Zona
master_options=Editar Opções de Zona
master_del=Apagar Zona
master_delmsg=Clique neste botão para apagar esta zona do seu servidor DNS.
master_delrev=Os registos de endereços inversos coincidentes noutras zonas alojadas por este servidor, irão teambém ser apagados.

master_params=Parâmetros de Zona
master_server=Servidor Master
master_email=Endereço de email
master_refresh=Tempo de refrescagem
master_retry=Tempo de retry de tranferência
master_expiry=Tempo de expiração
master_minimum=Time-to-live por defeito
master_opts=Opções de Zona
master_check=Verificar nomes?
master_notify=Notificar slaves das alterações?
master_update=Permitir atualizações de..
master_transfer=Permitir transferências de..
master_query=Permitir queries de..
master_notify=Notificar slaves também..
master_type=Tipo
master_records=Registos
master_return=tipos de registos
master_err=Erro ao guardar as opções
master_ero=Você não está autorizado para actualizar zonas
master_err2=Erro ao actualizar a zona
master_emaster='$1' não é um servidor master válido
master_eemail='$1' não é um endereço de email válido
master_erefresh='$1' não é um tempo de refrescagem válido
master_eretry='$1' não é um tempo de retry de transferência válido
master_eexpiry='$1' não é um tempo de expiração válido
master_eminimum='$1' não é um TTL predefinido válido
master_edelete=Você não está autorizado para apagar esta zona

mcreate_title=Criar Zona Master
mcreate_ecannot=Você não pode criar zonas master
mcreate_opts=Novas opções de zona master
mcreate_type=Tipo de zona
mcreate_fwd=Forward (Nomes para Endereços)
mcreate_rev=Reverse (Endereços para Nomes)
mcreate_dom=Nome do domínio / Network
mcreate_file=Ficheiro de registos
mcreate_auto=Automático
mcreate_err=Erro ao criar zona

slave_title=Editar Zona Slave
stub_title=Editar Zona Stub
slave_ecannot=Você não está autorizado para editar esta zona
slave_opts=Opções de Zona
slave_masters=Servidores Master
slave_max=Tempo máximo de tranferência
slave_file=Ficheiro de registos
slave_check=Verificar nomes?
slave_notify=Notificar os slaves das alterações?
slave_update=Permitir actualizações de..
slave_transfer=Permitir tranferências de..
slave_query=Permitir queries de..
slave_notify2=Também notificar slaves..
slave_none=Nenhum
slave_auto=Automático
slave_err=Erro ao guardar opções
slave_emax='$1' não é um tempo máximo de transferência válido
slave_efile=Falta o ficheiro de registos
slave_efile2='$1' não é um ficheiro de registos permissível
slave_mins=minutos

screate_title1=Criar Zona Slave
screate_title2=Criar Zona Stub
screate_ecannot1=Você não está autorizado para criar zonas slave
screate_ecannot2=Você não está autorizado para criar zonas stub
screate_header1=Novas opções de zona slave
screate_header2=Novas opções de zona stub
screate_type=Tipo de zona
screate_fwd=Forward (Nomes para Endereços)
screate_rev=Reverse (Endereços para Nomes)
screate_dom=Nome do domínio / Network
screate_err1=Erro ao criar zona slave
screate_err2=Erro ao criar zona stub

recs_ecannot=Você não está autorizado para editar registos nesta zona
recs_title=$1 Registos
recs_header=Em $1
recs_addr=Endereço
recs_name=Nome
recs_ttl=TTL
recs_return=tipos de registos

edit_title=Editar $1
edit_header=Em $1
edit_edit=Editar Registo $1
edit_add=Adicionar Registo $1
edit_addr=Endereço
edit_name=Nome
edit_ttl=Time-To-Live
edit_cnamemsg=Nomes absolutos têm de terminar com um .
edit_uprev=Actualizar reverse?
edit_err=Erro ao guardar registo
edit_ettl='$1' não é um time-to-live válido
edit_eip='$1' não é um endereço IP válido
edit_ehost='$1' não é um hostname válido
edit_ename='$1' não é um nome de registo válido
edit_edupip=Já existe um registo de endereço para $1
edit_ens='$1' não é um servidor de nomes válido
edit_ecname='$1' não é um alvo de alias válido
edit_emx='$1' não é um servidor de correio válido
edit_epri='$1' não é uma prioridade válida
edit_ehard=Tipo de hardware em falta ou inválido
edit_eos=Tipo de SO em falta ou inválido
edit_eserv=Você não introduziu nenhum serviço conhecido
edit_eemail='$1' não é um endereço de email válido
edit_etxt='$1' não é um nome de registo de texto válido
edit_return=registos

text_title=Editar Ficheiro de Registos
text_desc=Este formulário permite-lhe editar manualmente o ficheiro de registos $1 do DNS. Não será executado nenhuma verificação de sintax pelo Webmin, e o número de série da zona não será automáticamente incrementado.
text_undo=Anular

restart_ecannot=Você não está autorizado para reiniciar o BIND
restart_esig=Erro ao sinalizar o processo $1 : $2
start_ecannot=Você não está autorizado para iniciar o BIND

fwd_title=Editar Zona Forward
fwd_ecannot=Você não está autorizado para editar esta zona
fwd_opts=Opções de Zona
fwd_masters=Servidores Master
fwd_forward=Tentar outros servidores?
fwd_check=Verificar nomes?
fwd_err=Erro ao guardar opções

fcreate_title=Criar Zona Forward
fcreate_ecannot=Você não está autorizado para criar zonas forward
fcreate_opts=Novas opções de zona forward
fcreate_type=Tipo de zona
fcreate_fwd=Forward (Nomes para Endereços)
fcreate_rev=Reverse (Endereços para Nomes)
fcreate_dom=Nome do domínio / Network
fcreate_masters=Servidores Master
fcreate_err=Erro ao criar zona forward

create_enet='$1' não é uma network válida
create_edom='$1' não é um nome de domínio válido
create_edom2='$1' necessita ser um domínio, não uma network
create_efile='$1' não é um nome de ficheiro válido
create_efile2='$1' não é um ficheiro de zona permissível
create_efile3=Erro ao criar '$1' : $2
create_emaster='$1' não é um endereço de servidor master válido
create_enone=Você tem de introduzir pelo menos um servidor master

boot_err=O download falhou

type_A=Endereço
type_NS=Name Server
type_CNAME=Name Alias
type_MX=Servidor de Correio
type_HINFO=Informação do Anfitrião
type_TXT=Texto
type_WKS=Serviço Bem Conhecido
type_RP=Pessoa Responsável
type_PTR=Endereço Inverso

edit_A=Endereço
edit_NS=Name Server
edit_CNAME=Name Alias
edit_MX=Servidor de Correio
edit_HINFO=Informação do Anfitrião
edit_TXT=Texto
edit_WKS=Serviço Bem Conhecido
edit_RP=Pessoa Responsável
edit_PTR=Endereço Inverso

recs_A=Endereço
recs_NS=Name Server
recs_CNAME=Name Alias
recs_MX=Servidor de Correio
recs_HINFO=Informação do Anfitrião
recs_TXT=Texto
recs_WKS=Serviço Bem Conhecido
recs_RP=Pessoa Responsável
recs_PTR=Endereço Inverso

value_A1=Endereço
value_NS1=Name Server
value_CNAME1=Nome Real
value_MX1=Prioridade
value_MX2=Servidor de Correio
value_HINFO1=Hardware
value_HINFO2=Sistema Operativo
value_TXT1=Mensagem
value_WKS1=Endereço
value_WKS2=Protocolo
value_WKS3=Serviços
value_RP1=Endereço de Email
value_RP2=Registo de Texto
value_PTR1=Nome do Anfitrião

warn=Avisar
fail=Falhar
ignore=Ignorar
default=Predefinido
listed=Listado ..
eip='$1' não é um endereço IP válido

acl_zones=Domínios que este utilizador pode editar
acl_master=Pode criar zonas master?
acl_slave=Pode criar zonas slave/stub?
acl_forward=Pode criar zonas forward?
acl_defaults=Pode editar opções gerais?
acl_reverse=Pode actualizar endereços inversos em qualquer domínio?
acl_multiple=Endereços múltiplos podem ter o mesmo IP?
acl_ro=Modo de acesso em read-only (leitura)?
acl_dir=Restringir ficheiros de zona ao directório?

servers_title=Outros Servidores DNS
servers_ip=Endereço IP
servers_bogus=Ignorar servidor bogus?
servers_format=Formato de tranferência da zona
servers_trans=Tranferências Máximas
servers_one=Uma de cada vez
servers_many=Muitas
servers_err=Erro ao guardar outros servidores DNS
servers_eip='$1' não é um endereço IP válido
servers_etrans='$1' não é um número válido tranferências máximas

logging_title=Logging e Erros
logging_ecannot=Você não está autorizado para configurar o logging
logging_header=Logging geral e opções de erro
logging_default1=Utilizar configurações de logging predefinidas do BIND
logging_default2=Utilizar as configurações abixo ..
logging_cats=Categorias de logging
logging_cat=Categoria
logging_cchans=Canais
logging_chans=Canais de logging
logging_cname=Nome do Canal
logging_to=Log para
logging_file=Ficheiro
logging_fd=Descriptor do ficheiro
logging_versions=Versões a manter
logging_ver1=Nenhum
logging_ver2=Ilimitado
logging_size=Tamanho máximo do ficheiro
logging_sz1=Ilimitado
logging_syslog=Nível do syslog
logging_null=Em lado nenhum
logging_sev=Nível mínimo da mensagem
logging_any=Qualquer
logging_debug=Nivel de depuração ..
logging_dyn=Nivel geral
logging_pcat=Categoria do registo no log
logging_psev=Rigor do registo no log
logging_ptime=Data e hora do registo no log
logging_add=Adicionar novo canal
logging_none=Sem canais de logging definidos.
logging_err=Erro ao guardar opções de logging
logging_ename='$1' não é um nome de canal válido
logging_efile=Falta o nome do ficheiro de log
logging_ever='$1' não é um número de versões válido
logging_esize='$1' não é um tamanho de log válido

acls_title=Listas de Controlo de Acesso
acls_ecannot=Você não está autorizado para editar as acls gerais
acls_name=Nome da ACL
acls_values=Endereços correspondentes, networks e ACLs
acls_err=Erro ao guardar listas de controlo de acesso
acls_ename='$1' não é um nome de ACL válido

files_title=Ficheiros e Directórios
files_ecannot=Você não está autorizado para configurar ficheiros
files_header=Opções gerais de ficheiros e directórios
files_stats=Ficheiro de saída de estatísticas
files_dump=Ficheiro dump de base de dados
files_pid=Ficheiro ID do processo
files_xfer=Caminho para o programa de tranferência de zona
files_err=Erro ao guardar opções de ficheiros e directórios
files_efile=Nome de ficheiro em falta ou inválido

forwarding_title=Reencaminhamento e Tranferências
forwarding_ecannot=Você não está autorizado para editar opções de reencaminhamento e transferência
forwarding_header=Reencaminhamento geral e opções de tranferência de zona
forwarding_fwders=Servidores para reencaminhar queries
forwarding_fwd=Procurar directamente se não houver resposta do reencaminhador
forwarding_max=Tempo de tranferência máximo da zona
forwarding_format=Formato de tranferência de zona
forwarding_one=Um de cada vez
forwarding_many=Muitos
forwarding_in=Máximo de transferências de zona simultâneas
forwarding_err=Erro ao guardar opções de reencaminhamento e tranferência
forwarding_emins=Tempo máximo de tranferência em falta ou inválido
forwarding_etrans=Máximo de tranferências simultâneas em falta ou inválido
forwarding_minutes=minutos

net_title=Endereços e Topologia
net_ecannot=Você não está autorizado para editar opções de endereços e topologia
net_header=Opções gerais de endereços e topologia
net_listen=Portas e endereços para serem interceptados em
net_below=Listado abaixo..
net_port=Porta
net_addrs=Endereços
net_saddr=Endereço IP fonte para queries
net_sport=Porta fonte para queries
net_topol=Topologia de escolha do servidor de nomes
net_err=Erro ao guardar opções de endereços e topologia
net_eport='$1' não é um número de porta válido

misc_title=Opções Miscelâneas
misc_ecannot=Voçê não está autorizado para editar opções miscelâneas
misc_header=Opções miscelâneas gerais
misc_core=Tamanho máximo de core dump
misc_data=Uso máximo de memória de dados
misc_files=Máximo de ficheiros abertos
misc_stack=Utilização máxima de memória stack
misc_clean=Intervalo para limpar registos expirados
misc_iface=Intervalo para verificar novos interfaces
misc_stats=Intervalo entre estados de historial
misc_recursion=Fazer busca recursiva total para clientes?
misc_cnames=Permitir aliases CNAME múltiplas para um nome?
misc_glue=Recordar registops colados?
misc_nx=Colocar bit autoritário AA em respostas?
misc_err=Erro ao guardar opções miscelâneas
misc_esize='$1' não é um tamanho válido
misc_efiles='$1' não um número máximo válido de ficheiros abertos
misc_emins='$1' não é um núnero válido de minutos
misc_mins=minutos

zonedef_title=Predefinições de Zona
zonedef_msg=Predefinições para novas zonas master
zonedef_err=Erro ao guardar predefinições de zona
zonedef_ecannot=Você não está autorizado para alterar as predefinições de zona master
zonedef_msg2=Configurações de zona predefinidas
zonedef_transfer=Permitir tranferências de..
zonedef_query=Permitir consultas de..
zonedef_cmaster=Verificar nomes em zonas master?
zonedef_cslave=Verificar nomes em zonas slave?
zonedef_cresponse=Verificar nomes em respostas?
zonedef_notify=Notificar os slaves de alterações?
 07070100048269000081a40000000000000002000000013d1fe2d2000055dc000000200000000000000000000000000000001700000003reloc/bind8/lang/pt_BR    index_title=Servidor DNS BIND 8
index_enamed=O servidor DNS BIND 8 não foi encontrado no seu sistema. Pode não estar instalado ou a <a href='$2'>configuração do módulo BIND 8</a> está incorreta.
index_eversion=O arquivo executável $1 parece não pertencer ao servidor BIND Versão 8. Tente usar o <a href='$2'>módulo BIND 4</a> em vez do BIND 8.
index_eempty=O arquivo de configuração primário para o servidor BIND Versão 8 $1 não existe ou não é válido. Deseja que se crie um?
index_local=Configurar servidor de nomes apenas para uso interno (sem Internet)
index_download=Configurar servidor de nomes para Internet, e baixar informação sobre os servidores raíz
index_webmin=Configuração para servidor de nomes de internet, mas usar a antiga informação raíz do Webmin
index_create=Criar o Arquivo de Configuração Primário e Iniciar o servidor de nomes
index_zones=Zonas DNS Existentes
index_none=Não há nenhuma zona DNS definida neste servidor
index_addmaster=Criar nova zona MASTER
index_addslave=Criar nova zona SLAVE
index_addstub=Criar nova zona STUB
index_addfwd=Criar nova zona FORWARD
index_apply=Aplicar Alterações
index_applymsg=Clique neste botão para reiniciar o servidor BIND 8. Desta forma a configuração corrente tornar-se-á ativa.
index_start=Iniciar o Name Server
index_startmsg=Clique neste botão para iniciar o servidor BIND 8 e carregar a configuração corrente
index_zone=Zona
index_type=Tipo
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Forward
index_opts=Opções Gerais do Servidor
index_return=lista de zonas
index_toomany=Há muitas zonas no seu sistema para mostrar aqui.
index_find=Procurar zonas casando com :
index_search=Procurar
index_view=(Na visualização $1)
index_views=Visualizações de clientes existentes
index_vnone=Não há visualizações de clientes definidas neste servidor.
index_addview=Criar uma nova visualização
index_root=Zona raíz
index_addhint=Criar uma nova zona raíz

master_title=Editar a Zona Master
master_ecannot=Você não está autorizado a editar esta zona
master_manual=Editar o Arquivo de Registos
master_soa=Editar Parâmetros de Zona
master_options=Editar Opções de Zona
master_del=Apagar Zona
master_delmsg=Clique neste botão para remover esta zona do seu servidor DNS.
master_delrev=Registos inversos iguais, presentes em outras zonas deste servidor, também serão removidos.
master_tmpl=Usar esquema de zona?
master_ip=Endereço IP para esquemas de registros
master_params=Parâmetros de Zona
master_server=Servidor Master
master_ns=Adicionar registro NS para servidor master?
master_email=Endereço de email
master_refresh=Tempo de refrescagem
master_retry=Tempo de re-tentativa de tranferência
master_expiry=Tempo de expiração
master_minimum=Time-to-live padrão
master_opts=Opções de Zona
master_check=Verificar nomes?
master_notify=Notificar slaves sobre alterações?
master_update=Permitir atualizações de..
master_transfer=Permitir transferências de..
master_query=Permitir consultas de..
master_notify2=Notificar slaves também..
master_type=Tipo
master_records=Registros
master_return=tipos de registros
master_err=Erro ao salvar as opções
master_ero=Você não está autorizado a atualizar zonas
master_err2=Erro ao atualizar a zona
master_emaster='$1' não é um servidor master válido
master_eemail='$1' não é um endereço de email válido
master_erefresh='$1' não é um tempo de refrescagem válido
master_eretry='$1' não é um tempo de re-tentativa de transferência válido
master_eexpiry='$1' não é um tempo de expiração válido
master_eminimum='$1' não é um TTL predefinido válido
master_edelete=Você não está autorizado a apagar esta zona
master_tmplrecs=Esquemas de registro
master_name=Nome de registro
master_value=Valor
master_user=Do formulário
master_eip=Esquema de endereço IP ausente ou inválido
master_eiptmpl=O esquema de valor de registro só pode vir de registros de endereços
master_esoacannot=Você não tem permissão para editar parâmetros de zona
master_eoptscannot=Você não tem permissão para editar opções de zona
master_edeletecannot=Você não tem permissão para remover zonas
master_etaken=Esta zona já existe
master_include=Arquivo de esquema adicional
master_convert=Converter para zona slave
master_whois=Buscar informação de WHOIS
master_move=Ir para visualização:
master_emove=Você deve selecionar uma outra visualização para ir

delete_title=Remover Zona
delete_mesg=Você ter certeza de que deseja remover a zona $1?  Todos os registros e o arquivo de zona serão removidos.
delete_mesg2=Você ter certeza de que deseja remover a zona raíz?  Seu servidor de DNS pode não ser mais capaz de resolver endereços na Internet.
delete_rev=Remover registros reversos de outras zonas?
delete_fwd=Remover registros diretos de outras zonas?

mcreate_title=Criar Zona Master
mcreate_ecannot=Você não pode criar zonas master
mcreate_opts=Novas opções de zona master
mcreate_type=Tipo de zona
mcreate_fwd=Direto (Nomes para Endereços)
mcreate_rev=Reverso (Endereços para Nomes)
mcreate_dom=Nome do domínio / Rede
mcreate_view=Criar na visualização
mcreate_file=Arquivo de registros
mcreate_auto=Automático
mcreate_err=Erro ao criar zona

slave_title=Editar Zona Slave
stub_title=Editar Zona Stub
slave_ecannot=Você não está autorizado a editar esta zona
slave_opts=Opções de Zona
slave_masters=Servidores Master
slave_masterport=Porta do servidor
slave_max=Tempo máximo de tranferência
slave_file=Arquivo de registros
slave_check=Verificar nomes?
slave_notify=Notificar slaves sobre alterações?
slave_update=Permitir atualizações de..
slave_transfer=Permitir tranferências de..
slave_query=Permitir consultas de..
slave_notify2=Também notificar slaves..
slave_none=Nenhum
slave_auto=Automático
slave_err=Erro ao salvar opções
slave_emax='$1' não é um tempo máximo de transferência válido
slave_efile=Falta o arquivo de registros
slave_efile2='$1' não é um arquivo de registros válido
slave_mins=minutos
slave_master_port=porta
slave_convert=Converter para zona master

screate_title1=Criar Zona Slave
screate_title2=Criar Zona Stub
screate_ecannot1=Você não está autorizado a criar zonas slave
screate_ecannot2=Você não está autorizado a criar zonas stub
screate_header1=Novas opções de zona slave
screate_header2=Novas opções de zona stub
screate_type=Tipo de zona
screate_fwd=Direto (Nomes para Endereços)
screate_rev=Reverso (Endereços para Nomes)
screate_dom=Nome do domínio / Rede
screate_err1=Erro ao criar zona slave
screate_err2=Erro ao criar zona stub

recs_ecannot=Você não está autorizado a editar registros nesta zona
recs_title=$1 Registros
recs_header=Em $1
recs_addr=Endereço
recs_name=Nome
recs_ttl=TTL
recs_comment=Comentário
recs_return=tipos de registro

edit_title=Editar $1
edit_header=Em $1
edit_edit=Editar Registro $1
edit_add=Adicionar Registro $1
edit_addr=Endereço
edit_name=Nome
edit_zonename=Nome da Zona
edit_ttl=Time-To-Live
edit_comment=Comentário
edit_cnamemsg=Nomes absolutos devem terminar com um .
edit_uprev=Atualizar reverso?
edit_over=Sim (e substituir o existente)
edit_upfwd=Atualizar o direto?
edit_err=Erro ao salvar registro
edit_ettl='$1' não é um time-to-live válido
edit_eip='$1' não é um endereço IP válido
edit_eip6='$1' não é um endereço IPv6 válido
edit_ehost='$1' não é um hostname válido
edit_ename='$1' não é um nome de registro válido
edit_edupip=Já existe um registro de endereço para $1
edit_ens='$1' não é um servidor de nomes válido
edit_ecname='$1' não é um nome canônico válido
edit_emx='$1' não é um servidor de email válido
edit_epri='$1' não é uma prioridade válida
edit_ehard=Tipo de hardware em falta ou inválido
edit_eos=Tipo de SO em falta ou inválido
edit_eserv=Você não forneceu nenhum serviço conhecido
edit_ebadserv=O nome de serviço bem conhecido '$1' é incorreto
edit_eemail='$1' não é um endereço de email válido
edit_etxt='$1' não é um nome de registro de texto válido
edit_efqdn=O nome absoluto '$1' é muito grande
edit_elabel=Um rótulo em '$1' é muito grande
edit_eloc=Faltou latitude e longitude
edit_return=registros
edit_ecname1=Você não pode criar um registro de alias com o mesmo nome de outro registro existente.
edit_ecname2=Você não pode criar um registro com o mesmo nome de um registro de alias existente.

text_title=Editar Arquivo de Registros
text_desc=Este formulário permite-lhe editar manualmente o arquivo de registros $1 do DNS. Não será realizada nenhuma verificação de sintaxe pelo Webmin, e o número de série da zona não será incrementado automaticamente.
text_undo=Desfazer
text_ecannot=Você não tem permissão para editar arquivos de registros

restart_ecannot=Você não está autorizado a reiniciar o BIND
restart_esig=Erro ao sinalizar o processo $1 : $2
start_ecannot=Você não está autorizado a iniciar o BIND
start_error=Falhou o início do BIND : $1

fwd_title=Editar Zona Direta
fwd_ecannot=Você não está autorizado a editar esta zona
fwd_opts=Opções de Zona
fwd_masters=Servidores Master
fwd_forward=Tentar outros servidores?
fwd_check=Verificar nomes?
fwd_err=Erro ao salvar opções

fcreate_title=Criar Zona Direta
fcreate_ecannot=Você não está autorizado a criar zonas diretas
fcreate_opts=Novas opções de zona direta
fcreate_type=Tipo de zona
fcreate_fwd=Direto (Nomes para Endereços)
fcreate_rev=Reverso (Endereços para Nomes)
fcreate_dom=Nome do domínio / Rede
fcreate_masters=Servidores Master
fcreate_err=Erro ao criar zona direta

create_enet='$1' não é uma rede válida
create_edom='$1' não é um nome de domínio válido
create_edom2='$1' precisa ser um domínio, não uma rede
create_efile='$1' não é um nome de arquivo válido
create_efile2='$1' não é um arquivo de zona válido
create_efile3=Erro ao criar '$1' : $2
create_efile4=O arquivo $1 já existe
create_emaster='$1' não é um endereço de servidor master válido
create_enone=Você deve forcener pelo menos um servidor master

boot_err=O download falhou

type_A=Endereço
type_AAAA=Endereço IPv6
type_NS=Servidor de Nomes
type_CNAME=Alias
type_MX=Servidor de Email
type_HINFO=Informação de Máquina
type_TXT=Texto
type_WKS=Serviço Bem Conhecido
type_RP=Pessoa Responsável
type_PTR=Endereço Inverso
type_LOC=Localização

edit_A=Endereço
edit_AAAA=Endereço IPv6
edit_NS=Servidor de Nomes
edit_CNAME=Alias
edit_MX=Servidor de Email
edit_HINFO=Informação de Máquina
edit_TXT=Texto
edit_WKS=Serviço Bem Conhecido
edit_RP=Pessoa Responsável
edit_PTR=Endereço Inverso
edit_LOC=Localização

recs_A=Endereço
recs_AAAA=Endereço IPv6
recs_NS=Servidor de Nomes
recs_CNAME=Alias
recs_MX=Servidor de Email
recs_HINFO=Informação de Máquina
recs_TXT=Texto
recs_WKS=Serviço Bem Conhecido
recs_RP=Pessoa Responsável
recs_PTR=Endereço Inverso
recs_LOC=Localização

value_A1=Endereço
value_NS1=Servidor de Nomes
value_CNAME1=Nome Real
value_MX1=Prioridade
value_MX2=Servidor de Email
value_HINFO1=Hardware
value_HINFO2=Sistema Operaticional
value_TXT1=Mensagem
value_WKS1=Endereço
value_WKS2=Protocolo
value_WKS3=Serviços
value_RP1=Endereço de Email
value_RP2=Registro de Texto
value_PTR1=Nome da Máquina
value_LOC1=Latitude e Longitude

warn=Avisar
fail=Falhar
ignore=Ignorar
default=Predefinido
minutes=minutos
seconds=segundos
hours=horas
days=dias
weeks=semanas
listed=Listado ..
eip='$1' não é um endereço IP válido

acl_zones=Domínios que este usuário pode editar
acl_zall=Todas as zonas
acl_zsel=Zonas selecionadas..
acl_znsel=Todas exceto as selecionadas..
acl_master=Pode criar zonas master?
acl_slave=Pode criar zonas slave/stub?
acl_forward=Pode criar zonas diretas?
acl_defaults=Pode editar opções gerais?
acl_reverse=Pode atualizar endereços inversos em qualquer domínio?
acl_multiple=Endereços múltiplos podem ter o mesmo IP?
acl_ro=Acesso de leitura-apenas?
acl_apply=Posso aplicar as alterações?
acl_dir=Restringir arquivos de zona ao diretório?
acl_file=Posso editar arquivos de registros?
acl_params=Posso editar parâmetros de zonas?
acl_opts=Posso editar opções de zonas?
acl_delete=Posso remover zonas?
acl_findfree=Posso procurar por endereços IP livres?
acl_views=Posso criar e editar visualizações?

servers_title=Outros Servidores DNS
servers_ip=Endereço IP
servers_bogus=Ignorar servidor bogus?
servers_format=Formato de tranferência da zona
servers_trans=Número máximo de tranferências
servers_one=Uma de cada vez
servers_many=Muitas
servers_err=Erro ao salvar outros servidores DNS
servers_eip='$1' não é um endereço IP válido
servers_etrans='$1' não é um número válido para o número máximo de tranferências

logging_title=Logging e Erros
logging_ecannot=Você não está autorizado a configurar o logging
logging_header=Logging geral e opções de erro
logging_default1=Utilizar configurações de logging predefinidas do BIND
logging_default2=Utilizar as configurações abaixo ..
logging_cats=Categorias de logging
logging_cat=Categoria
logging_cchans=Canais
logging_chans=Canais de logging
logging_cname=Nome do Canal
logging_to=Logar em
logging_file=Arquivo
logging_fd=Descritor do arquivo
logging_versions=Versões a manter
logging_ver1=Nenhum
logging_ver2=Ilimitado
logging_size=Tamanho máximo do arquivo
logging_sz1=Ilimitado
logging_syslog=Nível do syslog
logging_null=Em lado nenhum
logging_sev=Nível mínimo da mensagem
logging_any=Qualquer
logging_debug=Nível de depuração ..
logging_dyn=Nível geral
logging_pcat=Categoria do registro no log
logging_psev=Severidade do registro no log
logging_ptime=Data e hora do registro no log
logging_add=Adicionar novo canal
logging_none=Sem canais de logging definidos.
logging_err=Erro ao salvar opções de logging
logging_ename='$1' não é um nome de canal válido
logging_efile=Falta o nome do arquivo de log
logging_ever='$1' não é um número de versões válido
logging_esize='$1' não é um tamanho de log válido

acls_title=Listas de Controle de Acesso
acls_ecannot=Você não está autorizado a editar as acls gerais
acls_name=Nome da ACL
acls_values=Endereços correspondentes, redes e ACLs
acls_err=Erro ao salvar listas de controle de acesso
acls_ename='$1' não é um nome de ACL válido

files_title=Arquivos e Diretórios
files_ecannot=Você não está autorizado a configurar arquivos
files_header=Opções gerais de arquivos e diretórios
files_stats=Arquivo de saída de estatísticas
files_dump=Arquivo dump de base de dados
files_pid=Arquivo PID do processo
files_xfer=Caminho para o programa de tranferência de zona
files_err=Erro ao salvar opções de arquivos e diretórios
files_efile=Nome de arquivo em falta ou inválido

forwarding_title=Forward e Tranferências
forwarding_ecannot=Você não está autorizado a editar opções de forward e transferência
forwarding_header=Forward geral e opções de tranferência de zona
forwarding_fwders=Servidores para fazer forward de consultas
forwarding_fwd=Procurar diretamente se não houver resposta do forwarder
forwarding_max=Tempo máximo de tranferência da zona
forwarding_format=Formato de tranferência de zona
forwarding_one=Um de cada vez
forwarding_many=Muitos
forwarding_in=Máximo de transferências de zona simultâneas
forwarding_err=Erro ao salvar opções de forward e tranferência
forwarding_emins=Tempo máximo de tranferência em falta ou inválido
forwarding_etrans=Máximo de tranferências simultâneas em falta ou inválido
forwarding_minutes=minutos

net_title=Endereços e Topologia
net_ecannot=Você não está autorizado a editar opções de endereços e topologia
net_header=Opções gerais de endereços e topologia
net_listen=Portas e endereços para serem interceptados em
net_below=Listado abaixo..
net_port=Porta
net_addrs=Endereços
net_saddr=Endereço IP fonte para consultas
net_sport=Porta fonte para consultas
net_topol=Topologia de escolha do servidor de nomes
net_err=Erro ao salvar opções de endereços e topologia
net_eport='$1' não é um número de porta válido
net_etopology=Nenhum endereço de topologia foi fornecido

controls_title=Opções de Interface de Controle
controls_ecannot=Você não tem premissão para editar as opções de controle
controls_header=Opções de controle
controls_inet=Porta TCP de acesso
controls_unix=Interface UNIX de acesso
controls_port=porta
controls_allow=permitir
controls_permissions=permissões
controls_owner=proprietário
controls_group=grupo

misc_title=Miscelânea de Opções
misc_ecannot=Voçê não está autorizado a editar miscelânea de opções
misc_header=Miscelânea de opções gerais
misc_core=Tamanho máximo de core dump
misc_data=Uso máximo de memória de dados
misc_files=Máximo de arquivos abertos
misc_stack=Tamanho máximo de pilha
misc_clean=Intervalo para limpar registros expirados
misc_iface=Intervalo para verificar novas interfaces
misc_stats=Intervalo entre log de estatísticas
misc_recursion=Fazer busca recursiva total para clientes?
misc_cnames=Permitir múltiplos aliases CNAME para um nome?
misc_glue=Obter registros de cola?
misc_nx=Colocar bit autoritário AA em respostas?
misc_err=Erro ao salvar miscelânea de opções
misc_esize='$1' não é um tamanho válido
misc_efiles='$1' não é um número máximo válido de arquivos abertos
misc_emins='$1' não é um núnero válido de minutos
misc_mins=minutos

zonedef_title=Predefinições de Zona
zonedef_msg=Predefinições para novas zonas master
zonedef_err=Erro ao salvar predefinições de zona
zonedef_ecannot=Você não está autorizado a alterar as predefinições de zona master
zonedef_msg2=Configurações de zona predefinidas
zonedef_transfer=Permitir tranferências de..
zonedef_query=Permitir consultas de..
zonedef_cmaster=Verificar nomes em zonas master?
zonedef_cslave=Verificar nomes em zonas slave?
zonedef_cresponse=Verificar nomes em respostas?
zonedef_notify=Notificar os slaves de alterações?
zonedef_email=Endereço de email padrão

find_title=Procurar Zonas
find_match=Zonas casando com $1 ..
find_none=Nenhuma zona encontrada.

efirst=Primeira diretiva inválida na linha $1 em $2

findfree_title=Procurar IPs Livres
findfree_desc=Procurar IPs Livres
findfree_nofind=Você não pode procurar por IPs livres
findfree_header=Em $1
findfree_sopt=Opções de procura
findfree_IPrange=Intervalo de IP
findfree_from=de
findfree_to=até
findfree_cf=Considerar nomes de máquina <em>`freeXXX'</em> como IPs livres?
findfree_search=Procurar

log_servers=Outros servidores DNS alterados
log_logging=Logging e erros alterados
log_acls=Listas de controle de acesso alteradas
log_files=Arquivos e diretórios alterados
log_forwarding=Forwarding e transferências alterados
log_net=Endereços e topologia alterados
log_misc=Miscelânea de opções alteradas
log_zonedef=Padrões de zona alterados
log_apply=Mudanças aplicadas
log_start=Servidor de DNS iniciado
log_master=Zona master $1 criada
log_slave=Zona slave $1 criada
log_stub=Zona stub $1 criada
log_forward=Zona direta $1 criada
log_hint=Zona raíz criada
log_view=Visualização $1 criada
log_delete_master=Zona master $1 removida
log_delete_slave=Zona slave $1 removida
log_delete_stub=Zona stub $1 removida
log_delete_forward=Zona direta $1 removida
log_delete_hint=Zona raíz removida
log_delete_view=Visualização $1 removida
log_text=Registros de $1 editados manualmente
log_soa=Parâmetros da zona $1 alterados
log_opts=Opções da zona $1 alterados
log_delete_record=Removido $1 registro $2 na zona $3
log_create_record=Criado $1 registro $2 na zona $3
log_modify_record=Modificado $1 registro $2 na zona $3
log_boot=Arquivo de configuração primário criado
log_move=Zona $1 movida
log_review=Opções de visualização $1 alteradas

convert_err=Falhou a conversão da zona
convert_efile=Um arquivo de registros deve ser especificado antes que uma zona slave possa ser convertida em uma zona master.

whois_title=Informação WHOIS
whois_header=Saída do comando $1 ..

view_title=Editar Visualização de Cliente
view_opts=Detalhes de visualização de cliente
view_name=Nome de visualização
view_class=Classe de registros DNS
view_match=Aplicar esta visualização para clientes
view_recursion=Resolver nomes recursivamente para clientes?

vcreate_title=Criar Visualização de Cliente
vcreate_match_all=Todos os clientes
vcreate_match_sel=Endereços, redes e ACLs selecionados
vcreate_err=Falhou a criação da visualização
vcreate_ename=Nome de visualização ausente ou inválido
vcreate_etaken=Nome de visualização já em uso
vcreate_eclass=Nome de classe ausente ou inválido

hint_title=Editar Zona Raíz
hint_desc=A zona raíz é usada pelo ser servidor de DNS para contactar os servidores raíz da Internet de modo que ele possa resolver nomes em domínios externos, como <tt>.com</tt> ou <tt>.net.br</tt>.  A menos que ser servidor de DNS seja de uso exclusivamente interno ou que ele esteja repassando (forwarding) todas as consultas para outros servidores, você não deveria remover esta zona raíz.
hint_move=Mover para a visualização:
hint_ecannot=Você não tem permissão para editar esta zona raíz

hcreate_title=Criar Zona Raíz
hcreate_desc=A zona raíz é usada pelo ser servidor de DNS para contactar os servidores raíz da Internet de modo que ele possa resolver nomes em domínios externos, como <tt>.com</tt> ou <tt>.net.br</tt>.  Se você está usando múltiplas visualizações, você pode precisar ter zonas root separadas em cada visualização de modo que todos os clientes possam resolver domínios de Internet apropriadamente.
hcreate_file=Salvar servidores raíz no arquivo
hcreate_real=Obter servidores raíz de
hcreate_keep=Servidores raíz existentes no arquivo
hcreate_down=Baixar do servidor FTP
hcreate_webmin=Usar informação antiga sobre servidores root
hcreate_ecannot=Você não tem permissão para criar zonas raíz
hcreate_efile='$1' não é um nome de raíz válido
hcreate_efile2=Arquivo raíz ausente ou inválido
mcreate_erecs=Não é um arquivo de servidores raíz existentes válido
hcreate_err=Falhou a criação da zona raíz

vdelete_title=Remover Visualização
vdelete_mesg=Você tem certeza de que deseja remover a visualização de cliente $1?  Todas as zonas nesta visualização serão removidas (juntamente com seus arquivos de zona) ou movidas para outra visualização dependendo da sua seleção abaixo.
vdelete_mesg2=Você tem certeza de que deseja remover a visualização de cliente $1?
vdelete_newview=Zonas nesta visualização
vdelete_root=Mover pra fora de visualizações
vdelete_delete=Remover totalmente
vdelete_move=Mover para visualização

0707010004826a000081a40000000000000002000000013d1fe2d200003681000000200000000000000000000000000000001700000003reloc/bind8/lang/ru_RU    files_stats=Âûõîäíîé ôàéë ñòàòèñòèêè
fcreate_ecannot=Âàì íå ðàçðåøåíî ñîçäàâàòü forward çîíû
value_WKS1=Àäðåñ
recs_PTR=Ðåâåðñèâíûé Àäðåñ
value_WKS2=Ïðîòîêîë
logging_sz1=Íåîãðàíè÷åíî
value_WKS3=Ñåðâèñû
fwd_opts=Ïàðàìåòðû Çîíû
create_enone=Âû äîëæíû ââåñòè õîòÿáû îäèí ãëàâíûé ñåðâåð
index_create=Ñîçäàòü Ïåðâè÷íûé Êîíôèãóðàöèîííûé Ôàéë è Ñòàðòîâàòü Ñåðâåð èìåí
logging_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì êàíàëà
master_transfer=Ðàçðåøèòü ïåðåñûëêè ñ..
files_title=Ôàéëû è Êàòàëîãè
logging_none=Êàíàëû æóðíàëèçàöèè íå îïðåäåëåíû
acl_multiple=Ìîæåò ìíîæåñòâî àäðåñîâ èìåòü îäèí è òîò-æå IP?
edit_PTR=Ðåâåðñèâíûé Àäðåñ
fcreate_title=Ñîçäàíèå Forward Çîíû
slave_transfer=Ðàçðåøèòü ïåðåñûëêè ñ..
fwd_title=Ðåäàêòèðîâàíèå Forward Çîíû
index_zones=Ñóùåñòâóþùèå Çîíû DNS
logging_syslog=Óðîâåíü Syslog
master_eminimum='$1' íå ÿâëÿåòñÿ äîïóñòèìûì TTL ïî óìîë÷àíèþ
logging_pcat=Çàïèñûâàòü êàòåãîðèþ â æóðíàë
forwarding_max=Ìàêñèìàëüíîå âðåìÿ çîííîé ïåðåñûëêè
forwarding_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïàðàìåòðû çàïðîñîâ è ïåðåñûëîê
files_header=Ãëîáàëüíûå ïàðàìåòðû ôàéëîâ è êàòàëîãîâ
net_below=Ïåðå÷èñëåííûå íèæå..
mcreate_file=Ôàéë ñ çàïèñÿìè
edit_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
acls_title=Ñïèñêè Óïðàâëåíèÿ Äîñòóïîì
screate_dom=Èìÿ äîìåíà / ñåòü
mcreate_ecannot=Âû íå ìîæåòå ðåäàêòèðîâàòü master çîíû
slave_none=Íåò
zonedef_title=Ïàðàìåòðû ïî óìîë÷àíèþ äëÿ Çîí
value_NS1=Ñåðâåð Èìåí
logging_dyn=Ãëîáàëüíûé óðîâåíü
master_eemail='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïî÷òîâûì àäðåñîì
master_refresh=Âðåìÿ îáíîâëåíèÿ
forwarding_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ çàïðîñîâ è ïåðåñûëîê
edit_ettl='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì-æèçíè
zonedef_query=Ðàçðåøèòü çàïðîñû ñ..
screate_header1=Ïàðàìåòðû íîâîé slave çîíû
screate_header2=Ïàðàìåòðû íîâîé stub çîíû
misc_data=Ìàêèìàëüíûé ðàçìåð èñïîëüçóåìîé ïàìÿòè
type_AAAA=IPv6 Àäðåñ
net_title=Àäðåñà è Òîïîëîãèÿ
recs_return=òèïû çàïèñåé
zonedef_ecannot=Âàì íå ðàçðåøåíî èçìåíÿòü ïàðàìåòðû ïî óìîë÷àíèþ äëÿ master çîíû
misc_glue=Ïðîõîäèòü ïî êëåÿùèì çàïèñÿì?
fcreate_type=Òèï Çîíû
zonedef_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ïî óìîë÷àíèþ äëÿ çîíû
files_efile=Óòåðÿíî èëè íåâåðíîå èìÿ ôàéëà
recs_HINFO=Èíôîðìàöèÿ î Õîñòå
recs_WKS=Èçâåñòíûé Ñåðâèñ
fcreate_err=Îøèáêà ïðè ñîçäàíèè forward çîíû
type_MX=Ïî÷òîâûé Ñåðâåð
files_xfer=Ïóòü ê ïðîãðàììå çîííîé ïåðåñûëêè
acl_slave=Ìîæåò ñîçäàâàòü slave/stub çîíû?
acl_reverse=Ìîæåò îáíîâëÿòü ðåâåðñèâíûå çàïèñè â ëþáîì äîìåíå?
edit_ecname='$1' íå ÿâëÿåòñÿ äîïóñòèìîé öåëüþ ïñåâäîíèìà
value_MX1=Ïðèîðèòåò
value_MX2=Ïî÷òîâûé Ñåðâåð
create_edom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì äîìåíà
edit_WKS=Èçâåñòíûé Ñåðâèñ
screate_ecannot1=Âàì íå ðàçðåøåíî ñîçäàâàòü slave çîíû
stub_title=Ðåäàêòèðîâàíèå Stub Çîíû
edit_addr=Àäðåñ
screate_ecannot2=Âàì íå ðàçðåøåíî ñîçäàâàòü stub çîíû
mcreate_dom=Èìÿ äîìåíà / Ñåòü
master_del=Óäàëèòü Çîíó
type_NS=Ñåðâåð Èìåí
logging_psev=Çàïèñûâàòü ñòðîãîñòü â æóðíàë
type_CNAME=Ïñåâäîíèì Èìåíè
index_none=Íå îïðåäåëåíî íè îäíîé DNS çîíû äëÿ äàííîãî ñåðâåðà èìåí
master_check=Ïðîâåðÿòü èìåíà?
master_type=Òèï
logging_add=Äîáàâèòü íîâûé êàíàë
edit_emx='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïî÷òîâûì ñåðâåðîì
edit_eemail='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïî÷òîâûì àäðåñîì
index_stub=Stub
warn=Ïðåäóïðåæäåíèå
screate_title1=Ñîçäàíèå Slave Çîíû
screate_title2=Ñîçäàíèå Stub Çîíû
fcreate_opts=Ïàðàìåòðû íîâîé forward çîíû
misc_cnames=Ðàçðåøèòü ìíîæåñòâî CNAME ïñåâäîíèìîâ äëÿ îäíîãî èìåíè?
zonedef_notify=Óâåäîìëÿòü slaves îá èçìåíåíèÿõ?
misc_efiles='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàêñèìàëüíûì ÷èñëîì îòêðûòûõ ôàéëîâ
logging_ver1=Íåò
logging_ver2=Íåîãðàíè÷åíî
index_start=Ñòàðòîâàòü Ñåðâåð Èìåí
zonedef_cslave=Ïðîâåðÿòü èìåíà â slave çîíàõ?
edit_etxt='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì òåêñòîâîé çàïèñè
servers_one=Îäíà çà ðàç
edit_ens='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ñåðâåðîì èìåí
value_RP1=Ïî÷òîâûé Àäðåñ
value_RP2=Òåêñòîâàÿ Çàïèñü
logging_chans=Êàíàëû æóðíàëèðîâàíèÿ
recs_header=Â $1
zonedef_cresponse=Ïðîâåðÿòü èìåíà â îòâåòàõ?
logging_cat=Êàòåãîðèÿ
master_retry=Òàéìàóò ïîâòîðíîé ïåðåäà÷è
index_addfwd=Ñîçäàòü íîâóþ forward çîíó
zonedef_msg2=Óñòàíîâêè ïî óìîë÷àíèþ äëÿ çîíû
edit_eos=Íå óêàçàí èëè íåâåðíûé òèï ÎÑ
logging_header=Ïàðàìåòðû ãëîáàëüíîãî æóðíàëèðîâàíèÿ è îøèáîê
slave_title=Ðåäàêòèðîâàíèå Slave Çîíû
forwarding_fwders=Ñåðâåðû äëÿ çàïðîñîâ
misc_mins=ìèí.
edit_eserv=Âû íå ââåëè êàêîé ëèáî èçâåñòíûé ñåðâèñ
misc_esize='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì
acl_dir=Îãðàíè÷èòü ôàéëû çîí êàòàëîãàìè
slave_query=Ðàçðåøèòü çàïðîñû ñ..
logging_cats=Êàòåãîðèè æóðíàëèðîâàíèÿ
master_opts=Ïàðàìåòðû Çîíû
forwarding_fwd=Îáðàùàòüñÿ íàïðÿìóþ, åñëè íåò îòâåòà ñ çàïðîñíîãî ñåðâåðà
misc_header=Ãëîáàëüíûå ïðî÷èå ïàðàìåòðû
index_title=BIND 8 
fail=Îøèáêà
slave_max=Ìàêñèìàëüíîå âðåìÿ ïåðåäà÷è
slave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ýòó çîíó
misc_iface=Èíòåðâàë ìåæäó ïðîâåðêîé íîâûõ èíòåðôåéñîâ
type_RP=Îòâåòñòâåííûé Ñïåöèàëèñò
misc_clean=Èíòåðâàë ìåæäó î÷èñòêîé óñòàðåâøèõ çàïèñåé
zonedef_transfer=Ðàçðåøèòü ïåðåñûëêè ñ..
servers_trans=Ìàêñèìàëüíî ïåðåñûëîê
recs_MX=Ïî÷òîâûé Ñåðâåð
index_zone=Çîíà
logging_ever='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì âåðñèé
index_apply=Ïðèíÿòü Èçìåíåíèÿ
recs_ttl=TTL
logging_null=Íèêóäà
slave_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
master_err2=Îøèáêà ïðè îáíîâëåíèè çîí
misc_emins='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ÷èñëîì ìèíóò
mcreate_err=Îøèáêà ïðè ñîçäàíèè master çîíû
master_return=òèïû çàïèñåé
logging_debug=Óðîâåíü îòëàäêè ..
recs_NS=Ñåðâåð Èìåí
edit_err=Îøèáêà ïðè ñîõðàíåíèè çàïèñè
servers_format=Ôîðìàò çîííîé ïåðåñûëêè
index_return=ñïèñîê çîí
edit_ttl=Âðåìÿ-Æèçíè
fcreate_fwd=Forward (Èìåíà ê Àäðåñàì)
create_emaster='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì ãëàâíîãî ñåðâåðà
recs_addr=Àäðåñ
logging_to=Æóðíàëèðîâàòü â
servers_bogus=Èãíîðèðîâàòü ïîääåëüíûå ñåðâåðû?
edit_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì çàïèñè
recs_TXT=Òåêñò
forwarding_emins=Óòåðÿíî èëè íåâåðíîå âðåìÿ ïåðåñûëêè
logging_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü æóðíàëèðîâàíèå
recs_title=Çàïèñè: $1
recs_CNAME=Ïñåâäîíèì Èìåíè
logging_sev=Ìèíèìàëüíûé óðîâåíü ñîîáùåíèé
slave_efile=Íå óêàçàí ôàéë ñ çàïèñÿìè
edit_TXT=Òåêñò
logging_esize='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì æóðíàëà
index_eempty=Ôàéë íà÷àëüíîé êîíôèãóðàöèè äëÿ BIND Version 8 $1 íå ñóùåñòâóåò èëè íå âåðíûé. Ñîçäàòü åãî?
index_startmsg=Íàæìèòå íà ýòó êíîïêó äëÿ çàïóñêà ñðåâåðà BIND 8 è çàãðóçêè òåêóùåé êîíôèãóðàöèè.
net_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ àäðåñîâ è òîïîëîãèè
slave_efile2='$1' íå ÿâëÿåòñÿ ðàçðåøåííûì ôàéëîì ñ çàïèñÿìè
acls_values=Ñîâïàäàåò ñ àäðåñàìè, ñåòÿìè è ACLàìè
slave_auto=Àâòîìàòè÷åñêè
net_addrs=Àäðåñà
edit_uprev=Îáíîâèòü ðåâåðñíóþ çàïèñü?
slave_opts=Ïàðàìåòðû Çîíû
index_local=Íàñòðîèòü ñåðâåð èìåí òîëüêî äëÿ âíóòðåííåãî, íå internet èñïîëüçîâàíèÿ.
servers_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
screate_fwd=Forward (Èìåíà ê Àäðåñàì)
fwd_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííóþ çîíó
recs_A=Àäðåñ
master_soa=Ðåäàêòèðîâàíèå Ïàðàìåòðîâ Çîíû
index_type=Òèï
misc_stats=Èíòåðâàë ìåæäó ïðîâåðêàìè æóðíàëîâ
logging_ptime=Çàïèñûâàòü äàòó è âðåìÿ â æóðíàë
edit_return=çàïèñè
master_eretry='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì ïåðåäà÷è
files_dump=Ôàéë äàìïà áàçû äàííûõ
acls_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ACL
index_forward=Forward
misc_title=Ïðî÷èå Ïàðàìåòðû
recs_RP=Îòâåòñòâåííûé Ñïåöèàëèñò
master_update=Ðàçðåøèòü îáíîâëåíèÿ ñ..
misc_err=Îøèáêà ïðè ñîõðàíåíèè ïðî÷èõ ïàðàìåòðîâ
servers_etrans='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàêñèìàëüíûì ÷èñëîì ïåðåñûëîê
type_PTR=Ðåâåðñèâíûé Àäðåñ
create_enet='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòüþ
logging_size=Ìàêñèìàëüíûé ðàçìåð ôàéëà
index_master=Master
edit_name=Èìÿ
master_minimum=Âðåìÿ æèçíè ïî óìîë÷àíèþ
net_topol=Àëüòåðíàòèâíàÿ òîïîëîãèÿ ñåðâåðà èìåí
forwarding_title=Çàïðîñû è Ïåðåûëêè
text_undo=Îòìåíèòü
net_sport=Èñõîäíûé ïîðò äëÿ çàïðîñîâ
mcreate_type=Òèï çîíû
logging_any=Ëþáîé
recs_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü çàïèñè äàííîé çîíû
fcreate_masters=Ãëàâíûå ñåðâåðû
files_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü ôàéëû
forwarding_format=Ôîðìàò çîííîé ïåðåñûëêè
forwarding_header=Ãëîáàëüíûå ïàðàìåòðû çàïðîñîâ è çîííîé ïåðåñûëêè
index_opts=Ãëîáàëüíûå Ïàðàìåòðû Ñåðâåðà
slave_update=Ðàçðåøèòü îáíîâëåíèÿ ñ..
fwd_check=Ïðîâåðÿòü èìåíà?
mcreate_fwd=Forward (Èìåíà ê Àäðåñàì)
acl_forward=Ìîæåò ñîçäàâàòü forward çîíû?
slave_notify2=Òàêæå óâåäîìëÿòü ïîä÷èíåííûå ñåðâåðû..
fcreate_rev=Reverse (Àäðåñà ê Èìåíàì)
edit_MX=Ïî÷òîâûé Ñåðâåð
master_expiry=Âðåìÿ óñòàðåâàíèÿ
value_TXT1=Ñîîáùåíèå
index_slave=Slave
misc_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïðî÷èå ïàðàìåòðû
forwarding_one=Îäíà çà ðàç
files_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ôàéëîâ è êàòàëîãîâ
edit_NS=Ñåðâåð Èìåí
forwarding_many=Ìíîãî
logging_title=Æóðíàëèðîâàíèå è Îøèáêè
screate_type=Òèï Çîíû
acls_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ãëîáàëüíûå ñïèñêè äîñòóïà
create_efile2='$1' íå ÿâëÿåòñÿ ðàçðåøåííûì ôàéëîì çîíû
servers_title=Äðóãèå DNS Ñåðâåðû
create_efile3=Îøèáêà ïðè ñîçäàíèè '$1' : $2
edit_header=Â $1
misc_nx=Óñòàíàâëèâàòü àâòîðèçàöèîííûé áèò AA íà îòâåòû?
slave_mins=ìèí.
net_listen=Ïîðòû è àäðåñà äëÿ ïðîñëóøèâàíèÿ
mcreate_auto=Àâòîìàòè÷åñêè
index_addslave=Ñîçäàòü íîâóþ slave çîíó
acl_zones=Äîìåíû, êîòîðûå ìîæåò ðåäàêòèðîâàòü äàííûé ïîëüçîâàòåëü
master_erefresh='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì îáíîâëåíèÿ
type_A=Àäðåñ
mcreate_opts=Ïàðàìåòðû íîâîé master çîíû
acls_err=Îøèáêà ïðè ñîõðàíåíèè ñïèñêà óïðàâëåíèÿ äîñòóïîì
edit_add=Äîáàâèòü Çàïèñü: $1
screate_rev=Reverse (Àäðåñà ê Èìåíàì)
type_WKS=Èçâåñòíûé Ñåðâèñ
master_options=Ðåäàêòèðîâàíèå Ïàðàìåòðîâ Çîíû
index_webmin=Íàñòðîèòü êàê ñåðâåð èìåí internet, íî èñïîëüçîâàòü ñòàðóþ èíôîðìàöèþ Webmin î êîðíåâîì ñåðâåðå.
logging_default1=Èñïîëüçîâàòü íàñòðîéêè æóðíàëèðîâàíèÿ BINDà ïî óìîë÷àíèþ
logging_default2=Èñïîëüçîâàòü íàñòðîéêè íèæå ..
mcreate_title=Ñîçäàíèå Master Çîíû
master_title=Ðåäàêòèðîâàíèå Master Çîíû
value_A1=Àäðåñ
zonedef_msg=Ïàðàìåòðû ïî óìîë÷àíèþ äëÿ íîâîé master çîíû
master_ero=Âàì íå ðàçðåøåíî îáíîâëÿòü çîíû
master_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
forwarding_etrans=Óòåðÿíî èëè íåâåðíîå ìàêñèìàëüíîå ÷èñëî ïàðàëëåëüíûõ çîííûõ ïåðåñûëîê
logging_versions=Âåðñèé äëÿ ñîõðàíåíèÿ
master_query=Ðàçðåøèòü çàïðîñû ñ..
acls_name=Èìÿ ACL
slave_emax='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàêñ. âðåìåíåì ïåðåäà÷è
recs_name=Èìÿ
edit_cnamemsg=Àáñîëþòíûå èìåíà äîëæíû îêàí÷èâàòñÿ íà .
value_CNAME1=Ðåàëüíîå Èìÿ
start_ecannot=Âàì íå ðàçðåøåíî ñòàðòîâàòü BIND
boot_err=Îøèáêà ïðè âûãðóçêå
index_enamed=BIND 8 DNS ñåðâåð $1 íå íàéäåí íà âàøåé ñèñòåìå. Âîçìîæíî îí íå èíñòàëëèðîâàí èëè êîíôèãóðàöèÿ <a href='$2'>ìîäóëÿ BIND 8</a> íåâåðíà.
ignore=Èãíîðèðîâàòü
edit_RP=Îòâåòñòâåííûé Ñïåöèàëèñò
fwd_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
logging_efile=Óòåðÿíî èìÿ ôàéëà æóðíàëà
edit_edit=Ðåäàêòèðîâàòü Çàïèñü: $1
servers_err=Îøèáêà ïðè ñîõðàíåíèè äðóãèõ DNS ñåðâåðîâ
edit_HINFO=Èíôîðìàöèÿ î Õîñòå
screate_err1=Îøèáêà ïðè ñîçäàíèè slave çîíû
screate_err2=Îøèáêà ïðè ñîçäàíèè stub çîíû
servers_ip=IP àäðåñ
text_title=Ðåäàêòèðîâàíèå Ôàéëà ñ Çàïèñÿìè
edit_AAAA=IPv6 Àäðåñ
logging_cname=Èìÿ êàíàëà
mcreate_rev=Reverse (Àäðåñà ê Èìåíàì)
net_header=Ãëîáàëüíûå ïàðàìåòðû àäðåñîâ è òîïîëîãèè
net_eport='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì ïîðòà
acl_ro=Ðåæèì äîñòóïà òîëüêî-÷òåíèå?
master_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííóþ çîíó
edit_epri='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïðèîðèòåòîì
fwd_forward=Ïðîáîâàòü äðóãèå ñåðâåðû?
master_records=Çàïèñè
index_applymsg=Íàæìèòå íà ýòó êíîïêó äëÿ ïåðåçàïóñêà ðàáîòàþùåãî ñðåâåðà BIND 8. Ýòî àêòèâèçèðóåò òåêóùóþ êîíôèãóðàöèþ.
default=Ïî óìîë÷àíèþ
edit_edupip=Àäðåñíàÿ çàïèñü äëÿ $1 óæå ñóùåñòâóåò
master_delrev=Ñîâïàäàþùèå ðåâåðñíûå àäðåñíûå çàïèñè â äðóãèõ çîíàõ îáñëóæèâàåìûõ äàííûì ñåðâåðîì áóäóò òàêæå óäàëåíû.
slave_check=Ïðîâåðÿòü èìåíà?
create_efile='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ôàéëà
master_edelete=Âàì íå ðàçðåøåíî óäàëÿòü äàííóþ çîíó
text_desc=Äàííàÿ ôîðìà ïîçâîëÿåò âàì âðó÷íóþ îòðåäàêòèðîâàòü DNS çàïèñè â ôàéëå $1. Ïðè ýòîì webmin íå áóäåò ïðîâåðÿòü ñèíòàêñèñ çàïèñåé è íå áóäåò àâòîìàòè÷åñêè îáíîâëÿòü ñåðèéíûé íîìåð çîíû.
misc_recursion=Âûïîëíÿòü ïîëíîñòüþ ðåêóðñèâíûé ïðîñìîòð äëÿ êëèåíòîâ?
listed=Ïåðå÷èñëåííûå ..
logging_file=Ôàéë
forwarding_in=Ìàêñèìóì ïàðàëëåëüíûõ çîííûõ ïåðåñûëîê
index_addmaster=Ñîçäàòü íîâóþ master çîíó
restart_ecannot=Âàì íå ðàçðåøåíî ïåðåçàïóñêàòü BIND
misc_core=Ìàêèìàëüíûé ðàçìåð äàìïà core
zonedef_cmaster=Ïðîâåðÿòü èìåíà â master çîíàõ?
acl_master=Ìîæåò ñîçäàâàòü master çîíû?
master_notify=Òàêæå óâåäîìëÿòü ïîä÷èíåííûå ñåðâåðû..
acl_defaults=Ìîæåò ðåäàêòèðîâàòü ãëîáàëüíûå ïàðàìåòðû?
net_port=Ïîðò
master_email=Ïî÷òîâûé àäðåñ
forwarding_minutes=ìèíóò
slave_masters=Ãëàâíûå ñåðâåðû
slave_file=Ôàéë ñ çàïèñÿìè
master_emaster='$1' íå ÿâëÿåòñÿ ãëàâíûì ñåðâåðîì
type_TXT=Òåêñò
index_eversion=Èñïîëíÿåìûé ìîäóëü ñåðâåðà $1 íå ÿâëÿåòñÿ BIND 8. Âîçìîæíî âàì íåîáõîäèìî âîñïîëüçîâàòüñÿ <a href='$2'>ìîäóëåì BIND 4</a>.
value_PTR1=Èìÿ Õîñòà
restart_esig=Îøèáêà îòïðàâêè ñèãíàëà ïðîöåññó $1 : $2
net_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïàðàìåòðû àäðåñîâ è òîïîëîãèè
eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
misc_stack=Ìàêèìàëüíûé ðàçìåð èñïîëüçóåìîãî ñòåêà
edit_A=Àäðåñ
master_delmsg=Íàæìèòå íà ýòó êíîïêó äëÿ óäàëåíèÿ äàííîé çîíû ñ âàøåãî DNS ñåðâåðà.
edit_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
logging_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ æóðíàëèðîâàíèÿ
index_download=Íàñòðîèòü êàê ñåðâåð èìåí internet è âûãðóçèòü èíôîðìàöèþ êîðíåâîãî ñåðâåðà.
master_params=Ïàðàìåòðû Çîíû
logging_fd=Äåñêðèïòîð
slave_notify=Óâåäîìëÿòü ïîä÷èíåííûå ñåðâåðû îá èçìåíåíèÿõ
master_manual=Ðåäàêòèðîâàíèå Ôàéëà Çàïèñåé
recs_AAAA=IPv6 Àäðåñ
master_eexpiry='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðìåíåì óñòàðåâàíèÿ
net_saddr=Èñõîäíûé IP àäðåñ äëÿ çàïðîñîâ
type_HINFO=Èíôîðìàöèÿ î Õîñòå
servers_many=Ìíîæåñòâî
index_addstub=Ñîçäàòü íîâóþ stub çîíó
value_HINFO1=Àïïàðàòóðà
master_server=Ãëàâíûé ñåðâåð
value_HINFO2=Îïåðàöèîííàÿ Ñèñòåìà
edit_title=Ðåäàêòèðîâàòü $1
edit_ehard=Íå óêàçàí èëè íåâåðíûé òèï àïïàðàòóðû
edit_CNAME=Ïñåâäîíèì Èìåíè
create_edom2='$1' äîëæåí áûòü äîìåíîì, íå ñåòüþ
files_pid=Ôàéë ID ïðîöåññà
logging_cchans=Êàíàëû
fcreate_dom=Èìÿ äîìåíà / Ñåòü
misc_files=Ìàêèìàëüíîå ÷èñëî îòêðûòûõ ôàéëîâ
fwd_masters=Ãëàâíûå ñåðâåðû
   0707010004826b000081a40000000000000002000000013d1fe2d2000036d8000000200000000000000000000000000000001700000003reloc/bind8/lang/ru_SU    index_title=BIND 8 
index_enamed=BIND 8 DNS ÓÅÒ×ÅÒ $1 ÎÅ ÎÁÊÄÅÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ. ÷ÏÚÍÏÖÎÏ ÏÎ ÎÅ ÉÎÓÔÁÌÌÉÒÏ×ÁÎ ÉÌÉ ËÏÎÆÉÇÕÒÁÃÉÑ <a href='$2'>ÍÏÄÕÌÑ BIND 8</a> ÎÅ×ÅÒÎÁ.
index_eversion=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ ÓÅÒ×ÅÒÁ $1 ÎÅ Ñ×ÌÑÅÔÓÑ BIND 8. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ <a href='$2'>ÍÏÄÕÌÅÍ BIND 4</a>.
index_eempty=æÁÊÌ ÎÁÞÁÌØÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÄÌÑ BIND Version 8 $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÉÌÉ ÎÅ ×ÅÒÎÙÊ. óÏÚÄÁÔØ ÅÇÏ?
index_local=îÁÓÔÒÏÉÔØ ÓÅÒ×ÅÒ ÉÍÅÎ ÔÏÌØËÏ ÄÌÑ ×ÎÕÔÒÅÎÎÅÇÏ, ÎÅ internet ÉÓÐÏÌØÚÏ×ÁÎÉÑ.
index_download=îÁÓÔÒÏÉÔØ ËÁË ÓÅÒ×ÅÒ ÉÍÅÎ internet É ×ÙÇÒÕÚÉÔØ ÉÎÆÏÒÍÁÃÉÀ ËÏÒÎÅ×ÏÇÏ ÓÅÒ×ÅÒÁ.
index_webmin=îÁÓÔÒÏÉÔØ ËÁË ÓÅÒ×ÅÒ ÉÍÅÎ internet, ÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÁÒÕÀ ÉÎÆÏÒÍÁÃÉÀ Webmin Ï ËÏÒÎÅ×ÏÍ ÓÅÒ×ÅÒÅ.
index_create=óÏÚÄÁÔØ ðÅÒ×ÉÞÎÙÊ ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ æÁÊÌ É óÔÁÒÔÏ×ÁÔØ óÅÒ×ÅÒ ÉÍÅÎ
index_zones=óÕÝÅÓÔ×ÕÀÝÉÅ úÏÎÙ DNS
index_none=îÅ ÏÐÒÅÄÅÌÅÎÏ ÎÉ ÏÄÎÏÊ DNS ÚÏÎÙ ÄÌÑ ÄÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÉÍÅÎ
index_addmaster=óÏÚÄÁÔØ ÎÏ×ÕÀ master ÚÏÎÕ
index_addslave=óÏÚÄÁÔØ ÎÏ×ÕÀ slave ÚÏÎÕ
index_addstub=óÏÚÄÁÔØ ÎÏ×ÕÀ stub ÚÏÎÕ
index_addfwd=óÏÚÄÁÔØ ÎÏ×ÕÀ forward ÚÏÎÕ
index_apply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_applymsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÐÅÒÅÚÁÐÕÓËÁ ÒÁÂÏÔÁÀÝÅÇÏ ÓÒÅ×ÅÒÁ BIND 8. üÔÏ ÁËÔÉ×ÉÚÉÒÕÅÔ ÔÅËÕÝÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ.
index_start=óÔÁÒÔÏ×ÁÔØ óÅÒ×ÅÒ éÍÅÎ
index_startmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÚÁÐÕÓËÁ ÓÒÅ×ÅÒÁ BIND 8 É ÚÁÇÒÕÚËÉ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ.
index_zone=úÏÎÁ
index_type=ôÉÐ
index_master=Master
index_slave=Slave
index_stub=Stub
index_forward=Forward
index_opts=çÌÏÂÁÌØÎÙÅ ðÁÒÁÍÅÔÒÙ óÅÒ×ÅÒÁ
index_return=ÓÐÉÓÏË ÚÏÎ

master_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ Master úÏÎÙ
master_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÕÀ ÚÏÎÕ
master_manual=òÅÄÁËÔÉÒÏ×ÁÎÉÅ æÁÊÌÁ úÁÐÉÓÅÊ
master_soa=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÁÒÁÍÅÔÒÏ× úÏÎÙ
master_options=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÁÒÁÍÅÔÒÏ× úÏÎÙ
master_del=õÄÁÌÉÔØ úÏÎÕ
master_delmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÕÄÁÌÅÎÉÑ ÄÁÎÎÏÊ ÚÏÎÙ Ó ×ÁÛÅÇÏ DNS ÓÅÒ×ÅÒÁ.
master_delrev=óÏ×ÐÁÄÁÀÝÉÅ ÒÅ×ÅÒÓÎÙÅ ÁÄÒÅÓÎÙÅ ÚÁÐÉÓÉ × ÄÒÕÇÉÈ ÚÏÎÁÈ ÏÂÓÌÕÖÉ×ÁÅÍÙÈ ÄÁÎÎÙÍ ÓÅÒ×ÅÒÏÍ ÂÕÄÕÔ ÔÁËÖÅ ÕÄÁÌÅÎÙ.
master_params=ðÁÒÁÍÅÔÒÙ úÏÎÙ
master_server=çÌÁ×ÎÙÊ ÓÅÒ×ÅÒ
master_email=ðÏÞÔÏ×ÙÊ ÁÄÒÅÓ
master_refresh=÷ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ
master_retry=ôÁÊÍÁÕÔ ÐÏ×ÔÏÒÎÏÊ ÐÅÒÅÄÁÞÉ
master_expiry=÷ÒÅÍÑ ÕÓÔÁÒÅ×ÁÎÉÑ
master_minimum=÷ÒÅÍÑ ÖÉÚÎÉ ÐÏ ÕÍÏÌÞÁÎÉÀ
master_opts=ðÁÒÁÍÅÔÒÙ úÏÎÙ
master_check=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ?
master_notify=õ×ÅÄÏÍÌÑÔØ ÐÏÄÞÉÎÅÎÎÙÅ ÓÅÒ×ÅÒÙ ÏÂ ÉÚÍÅÎÅÎÉÑÈ?
master_update=òÁÚÒÅÛÉÔØ ÏÂÎÏ×ÌÅÎÉÑ Ó..
master_transfer=òÁÚÒÅÛÉÔØ ÐÅÒÅÓÙÌËÉ Ó..
master_query=òÁÚÒÅÛÉÔØ ÚÁÐÒÏÓÙ Ó..
master_notify=ôÁËÖÅ Õ×ÅÄÏÍÌÑÔØ ÐÏÄÞÉÎÅÎÎÙÅ ÓÅÒ×ÅÒÙ..
master_type=ôÉÐ
master_records=úÁÐÉÓÉ
master_return=ÔÉÐÙ ÚÁÐÉÓÅÊ
master_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
master_ero=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÂÎÏ×ÌÑÔØ ÚÏÎÙ
master_err2=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÚÏÎ
master_emaster='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÇÌÁ×ÎÙÍ ÓÅÒ×ÅÒÏÍ
master_eemail='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ
master_erefresh='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ÏÂÎÏ×ÌÅÎÉÑ
master_eretry='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ÐÅÒÅÄÁÞÉ
master_eexpiry='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÍÅÎÅÍ ÕÓÔÁÒÅ×ÁÎÉÑ
master_eminimum='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ TTL ÐÏ ÕÍÏÌÞÁÎÉÀ
master_edelete=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÄÁÎÎÕÀ ÚÏÎÕ

mcreate_title=óÏÚÄÁÎÉÅ Master úÏÎÙ
mcreate_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ master ÚÏÎÙ
mcreate_opts=ðÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ master ÚÏÎÙ
mcreate_type=ôÉÐ ÚÏÎÙ
mcreate_fwd=Forward (éÍÅÎÁ Ë áÄÒÅÓÁÍ)
mcreate_rev=Reverse (áÄÒÅÓÁ Ë éÍÅÎÁÍ)
mcreate_dom=éÍÑ ÄÏÍÅÎÁ / óÅÔØ
mcreate_file=æÁÊÌ Ó ÚÁÐÉÓÑÍÉ
mcreate_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
mcreate_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ master ÚÏÎÙ

slave_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ Slave úÏÎÙ
stub_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ Stub úÏÎÙ
slave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÕ ÚÏÎÕ
slave_opts=ðÁÒÁÍÅÔÒÙ úÏÎÙ
slave_masters=çÌÁ×ÎÙÅ ÓÅÒ×ÅÒÙ
slave_max=íÁËÓÉÍÁÌØÎÏÅ ×ÒÅÍÑ ÐÅÒÅÄÁÞÉ
slave_file=æÁÊÌ Ó ÚÁÐÉÓÑÍÉ
slave_check=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ?
slave_notify=õ×ÅÄÏÍÌÑÔØ ÐÏÄÞÉÎÅÎÎÙÅ ÓÅÒ×ÅÒÙ ÏÂ ÉÚÍÅÎÅÎÉÑÈ
slave_update=òÁÚÒÅÛÉÔØ ÏÂÎÏ×ÌÅÎÉÑ Ó..
slave_transfer=òÁÚÒÅÛÉÔØ ÐÅÒÅÓÙÌËÉ Ó..
slave_query=òÁÚÒÅÛÉÔØ ÚÁÐÒÏÓÙ Ó..
slave_notify2=ôÁËÖÅ Õ×ÅÄÏÍÌÑÔØ ÐÏÄÞÉÎÅÎÎÙÅ ÓÅÒ×ÅÒÙ..
slave_none=îÅÔ
slave_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
slave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
slave_emax='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁËÓ. ×ÒÅÍÅÎÅÍ ÐÅÒÅÄÁÞÉ
slave_efile=îÅ ÕËÁÚÁÎ ÆÁÊÌ Ó ÚÁÐÉÓÑÍÉ
slave_efile2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÒÁÚÒÅÛÅÎÎÙÍ ÆÁÊÌÏÍ Ó ÚÁÐÉÓÑÍÉ
slave_mins=ÍÉÎ.

screate_title1=óÏÚÄÁÎÉÅ Slave úÏÎÙ
screate_title2=óÏÚÄÁÎÉÅ Stub úÏÎÙ
screate_ecannot1=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ slave ÚÏÎÙ
screate_ecannot2=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ stub ÚÏÎÙ
screate_header1=ðÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ slave ÚÏÎÙ
screate_header2=ðÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ stub ÚÏÎÙ
screate_type=ôÉÐ úÏÎÙ
screate_fwd=Forward (éÍÅÎÁ Ë áÄÒÅÓÁÍ)
screate_rev=Reverse (áÄÒÅÓÁ Ë éÍÅÎÁÍ)
screate_dom=éÍÑ ÄÏÍÅÎÁ / ÓÅÔØ
screate_err1=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ slave ÚÏÎÙ
screate_err2=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ stub ÚÏÎÙ

recs_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÚÁÐÉÓÉ ÄÁÎÎÏÊ ÚÏÎÙ
recs_title=úÁÐÉÓÉ: $1
recs_header=÷ $1
recs_addr=áÄÒÅÓ
recs_name=éÍÑ
recs_ttl=TTL
recs_return=ÔÉÐÙ ÚÁÐÉÓÅÊ

edit_title=òÅÄÁËÔÉÒÏ×ÁÔØ $1
edit_header=÷ $1
edit_edit=òÅÄÁËÔÉÒÏ×ÁÔØ úÁÐÉÓØ: $1
edit_add=äÏÂÁ×ÉÔØ úÁÐÉÓØ: $1
edit_addr=áÄÒÅÓ
edit_name=éÍÑ
edit_ttl=÷ÒÅÍÑ-öÉÚÎÉ
edit_cnamemsg=áÂÓÏÌÀÔÎÙÅ ÉÍÅÎÁ ÄÏÌÖÎÙ ÏËÁÎÞÉ×ÁÔÓÑ ÎÁ .
edit_uprev=ïÂÎÏ×ÉÔØ ÒÅ×ÅÒÓÎÕÀ ÚÁÐÉÓØ?
edit_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÚÁÐÉÓÉ
edit_ettl='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ-ÖÉÚÎÉ
edit_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
edit_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
edit_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÚÁÐÉÓÉ
edit_edupip=áÄÒÅÓÎÁÑ ÚÁÐÉÓØ ÄÌÑ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
edit_ens='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÓÅÒ×ÅÒÏÍ ÉÍÅÎ
edit_ecname='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÃÅÌØÀ ÐÓÅ×ÄÏÎÉÍÁ
edit_emx='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÞÔÏ×ÙÍ ÓÅÒ×ÅÒÏÍ
edit_epri='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÒÉÏÒÉÔÅÔÏÍ
edit_ehard=îÅ ÕËÁÚÁÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÔÉÐ ÁÐÐÁÒÁÔÕÒÙ
edit_eos=îÅ ÕËÁÚÁÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÔÉÐ ïó
edit_eserv=÷Ù ÎÅ ××ÅÌÉ ËÁËÏÊ ÌÉÂÏ ÉÚ×ÅÓÔÎÙÊ ÓÅÒ×ÉÓ
edit_eemail='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ
edit_etxt='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÔÅËÓÔÏ×ÏÊ ÚÁÐÉÓÉ
edit_return=ÚÁÐÉÓÉ

text_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ æÁÊÌÁ Ó úÁÐÉÓÑÍÉ
text_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ×ÒÕÞÎÕÀ ÏÔÒÅÄÁËÔÉÒÏ×ÁÔØ DNS ÚÁÐÉÓÉ × ÆÁÊÌÅ $1. ðÒÉ ÜÔÏÍ webmin ÎÅ ÂÕÄÅÔ ÐÒÏ×ÅÒÑÔØ ÓÉÎÔÁËÓÉÓ ÚÁÐÉÓÅÊ É ÎÅ ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÂÎÏ×ÌÑÔØ ÓÅÒÉÊÎÙÊ ÎÏÍÅÒ ÚÏÎÙ.
text_undo=ïÔÍÅÎÉÔØ

restart_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÅÒÅÚÁÐÕÓËÁÔØ BIND
restart_esig=ïÛÉÂËÁ ÏÔÐÒÁ×ËÉ ÓÉÇÎÁÌÁ ÐÒÏÃÅÓÓÕ $1 : $2
start_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÔÁÒÔÏ×ÁÔØ BIND

fwd_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ Forward úÏÎÙ
fwd_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÕÀ ÚÏÎÕ
fwd_opts=ðÁÒÁÍÅÔÒÙ úÏÎÙ
fwd_masters=çÌÁ×ÎÙÅ ÓÅÒ×ÅÒÙ
fwd_forward=ðÒÏÂÏ×ÁÔØ ÄÒÕÇÉÅ ÓÅÒ×ÅÒÙ?
fwd_check=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ?
fwd_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×

fcreate_title=óÏÚÄÁÎÉÅ Forward úÏÎÙ
fcreate_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ forward ÚÏÎÙ
fcreate_opts=ðÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ forward ÚÏÎÙ
fcreate_type=ôÉÐ úÏÎÙ
fcreate_fwd=Forward (éÍÅÎÁ Ë áÄÒÅÓÁÍ)
fcreate_rev=Reverse (áÄÒÅÓÁ Ë éÍÅÎÁÍ)
fcreate_dom=éÍÑ ÄÏÍÅÎÁ / óÅÔØ
fcreate_masters=çÌÁ×ÎÙÅ ÓÅÒ×ÅÒÙ
fcreate_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ forward ÚÏÎÙ

create_enet='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔØÀ
create_edom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÄÏÍÅÎÁ
create_edom2='$1' ÄÏÌÖÅÎ ÂÙÔØ ÄÏÍÅÎÏÍ, ÎÅ ÓÅÔØÀ
create_efile='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÆÁÊÌÁ
create_efile2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÒÁÚÒÅÛÅÎÎÙÍ ÆÁÊÌÏÍ ÚÏÎÙ
create_efile3=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ '$1' : $2
create_emaster='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ ÇÌÁ×ÎÏÇÏ ÓÅÒ×ÅÒÁ
create_enone=÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÈÏÔÑÂÙ ÏÄÉÎ ÇÌÁ×ÎÙÊ ÓÅÒ×ÅÒ

boot_err=ïÛÉÂËÁ ÐÒÉ ×ÙÇÒÕÚËÅ

type_A=áÄÒÅÓ
type_AAAA=IPv6 áÄÒÅÓ
type_NS=óÅÒ×ÅÒ éÍÅÎ
type_CNAME=ðÓÅ×ÄÏÎÉÍ éÍÅÎÉ
type_MX=ðÏÞÔÏ×ÙÊ óÅÒ×ÅÒ
type_HINFO=éÎÆÏÒÍÁÃÉÑ Ï èÏÓÔÅ
type_TXT=ôÅËÓÔ
type_WKS=éÚ×ÅÓÔÎÙÊ óÅÒ×ÉÓ
type_RP=ïÔ×ÅÔÓÔ×ÅÎÎÙÊ óÐÅÃÉÁÌÉÓÔ
type_PTR=òÅ×ÅÒÓÉ×ÎÙÊ áÄÒÅÓ

edit_A=áÄÒÅÓ
edit_AAAA=IPv6 áÄÒÅÓ
edit_NS=óÅÒ×ÅÒ éÍÅÎ
edit_CNAME=ðÓÅ×ÄÏÎÉÍ éÍÅÎÉ
edit_MX=ðÏÞÔÏ×ÙÊ óÅÒ×ÅÒ
edit_HINFO=éÎÆÏÒÍÁÃÉÑ Ï èÏÓÔÅ
edit_TXT=ôÅËÓÔ
edit_WKS=éÚ×ÅÓÔÎÙÊ óÅÒ×ÉÓ
edit_RP=ïÔ×ÅÔÓÔ×ÅÎÎÙÊ óÐÅÃÉÁÌÉÓÔ
edit_PTR=òÅ×ÅÒÓÉ×ÎÙÊ áÄÒÅÓ

recs_A=áÄÒÅÓ
recs_AAAA=IPv6 áÄÒÅÓ
recs_NS=óÅÒ×ÅÒ éÍÅÎ
recs_CNAME=ðÓÅ×ÄÏÎÉÍ éÍÅÎÉ
recs_MX=ðÏÞÔÏ×ÙÊ óÅÒ×ÅÒ
recs_HINFO=éÎÆÏÒÍÁÃÉÑ Ï èÏÓÔÅ
recs_TXT=ôÅËÓÔ
recs_WKS=éÚ×ÅÓÔÎÙÊ óÅÒ×ÉÓ
recs_RP=ïÔ×ÅÔÓÔ×ÅÎÎÙÊ óÐÅÃÉÁÌÉÓÔ
recs_PTR=òÅ×ÅÒÓÉ×ÎÙÊ áÄÒÅÓ

value_A1=áÄÒÅÓ
value_NS1=óÅÒ×ÅÒ éÍÅÎ
value_CNAME1=òÅÁÌØÎÏÅ éÍÑ
value_MX1=ðÒÉÏÒÉÔÅÔ
value_MX2=ðÏÞÔÏ×ÙÊ óÅÒ×ÅÒ
value_HINFO1=áÐÐÁÒÁÔÕÒÁ
value_HINFO2=ïÐÅÒÁÃÉÏÎÎÁÑ óÉÓÔÅÍÁ
value_TXT1=óÏÏÂÝÅÎÉÅ
value_WKS1=áÄÒÅÓ
value_WKS2=ðÒÏÔÏËÏÌ
value_WKS3=óÅÒ×ÉÓÙ
value_RP1=ðÏÞÔÏ×ÙÊ áÄÒÅÓ
value_RP2=ôÅËÓÔÏ×ÁÑ úÁÐÉÓØ
value_PTR1=éÍÑ èÏÓÔÁ

warn=ðÒÅÄÕÐÒÅÖÄÅÎÉÅ
fail=ïÛÉÂËÁ
ignore=éÇÎÏÒÉÒÏ×ÁÔØ
default=ðÏ ÕÍÏÌÞÁÎÉÀ
listed=ðÅÒÅÞÉÓÌÅÎÎÙÅ ..
eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ

acl_zones=äÏÍÅÎÙ, ËÏÔÏÒÙÅ ÍÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
acl_master=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ master ÚÏÎÙ?
acl_slave=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ slave/stub ÚÏÎÙ?
acl_forward=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ forward ÚÏÎÙ?
acl_defaults=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ?
acl_reverse=íÏÖÅÔ ÏÂÎÏ×ÌÑÔØ ÒÅ×ÅÒÓÉ×ÎÙÅ ÚÁÐÉÓÉ × ÌÀÂÏÍ ÄÏÍÅÎÅ?
acl_multiple=íÏÖÅÔ ÍÎÏÖÅÓÔ×Ï ÁÄÒÅÓÏ× ÉÍÅÔØ ÏÄÉÎ É ÔÏÔ-ÖÅ IP?
acl_ro=òÅÖÉÍ ÄÏÓÔÕÐÁ ÔÏÌØËÏ-ÞÔÅÎÉÅ?
acl_dir=ïÇÒÁÎÉÞÉÔØ ÆÁÊÌÙ ÚÏÎ ËÁÔÁÌÏÇÁÍÉ

servers_title=äÒÕÇÉÅ DNS óÅÒ×ÅÒÙ
servers_ip=IP ÁÄÒÅÓ
servers_bogus=éÇÎÏÒÉÒÏ×ÁÔØ ÐÏÄÄÅÌØÎÙÅ ÓÅÒ×ÅÒÙ?
servers_format=æÏÒÍÁÔ ÚÏÎÎÏÊ ÐÅÒÅÓÙÌËÉ
servers_trans=íÁËÓÉÍÁÌØÎÏ ÐÅÒÅÓÙÌÏË
servers_one=ïÄÎÁ ÚÁ ÒÁÚ
servers_many=íÎÏÖÅÓÔ×Ï
servers_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÄÒÕÇÉÈ DNS ÓÅÒ×ÅÒÏ×
servers_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
servers_etrans='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁËÓÉÍÁÌØÎÙÍ ÞÉÓÌÏÍ ÐÅÒÅÓÙÌÏË

logging_title=öÕÒÎÁÌÉÒÏ×ÁÎÉÅ É ïÛÉÂËÉ
logging_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ
logging_header=ðÁÒÁÍÅÔÒÙ ÇÌÏÂÁÌØÎÏÇÏ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ É ÏÛÉÂÏË
logging_default1=éÓÐÏÌØÚÏ×ÁÔØ ÎÁÓÔÒÏÊËÉ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ BINDÁ ÐÏ ÕÍÏÌÞÁÎÉÀ
logging_default2=éÓÐÏÌØÚÏ×ÁÔØ ÎÁÓÔÒÏÊËÉ ÎÉÖÅ ..
logging_cats=ëÁÔÅÇÏÒÉÉ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
logging_cat=ëÁÔÅÇÏÒÉÑ
logging_cchans=ëÁÎÁÌÙ
logging_chans=ëÁÎÁÌÙ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
logging_cname=éÍÑ ËÁÎÁÌÁ
logging_to=öÕÒÎÁÌÉÒÏ×ÁÔØ ×
logging_file=æÁÊÌ
logging_fd=äÅÓËÒÉÐÔÏÒ
logging_versions=÷ÅÒÓÉÊ ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ
logging_ver1=îÅÔ
logging_ver2=îÅÏÇÒÁÎÉÞÅÎÏ
logging_size=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÆÁÊÌÁ
logging_sz1=îÅÏÇÒÁÎÉÞÅÎÏ
logging_syslog=õÒÏ×ÅÎØ Syslog
logging_null=îÉËÕÄÁ
logging_sev=íÉÎÉÍÁÌØÎÙÊ ÕÒÏ×ÅÎØ ÓÏÏÂÝÅÎÉÊ
logging_any=ìÀÂÏÊ
logging_debug=õÒÏ×ÅÎØ ÏÔÌÁÄËÉ ..
logging_dyn=çÌÏÂÁÌØÎÙÊ ÕÒÏ×ÅÎØ
logging_pcat=úÁÐÉÓÙ×ÁÔØ ËÁÔÅÇÏÒÉÀ × ÖÕÒÎÁÌ
logging_psev=úÁÐÉÓÙ×ÁÔØ ÓÔÒÏÇÏÓÔØ × ÖÕÒÎÁÌ
logging_ptime=úÁÐÉÓÙ×ÁÔØ ÄÁÔÕ É ×ÒÅÍÑ × ÖÕÒÎÁÌ
logging_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ËÁÎÁÌ
logging_none=ëÁÎÁÌÙ ÖÕÒÎÁÌÉÚÁÃÉÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ
logging_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
logging_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ËÁÎÁÌÁ
logging_efile=õÔÅÒÑÎÏ ÉÍÑ ÆÁÊÌÁ ÖÕÒÎÁÌÁ
logging_ever='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ ×ÅÒÓÉÊ
logging_esize='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÖÕÒÎÁÌÁ

acls_title=óÐÉÓËÉ õÐÒÁ×ÌÅÎÉÑ äÏÓÔÕÐÏÍ
acls_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÌÏÂÁÌØÎÙÅ ÓÐÉÓËÉ ÄÏÓÔÕÐÁ
acls_name=éÍÑ ACL
acls_values=óÏ×ÐÁÄÁÅÔ Ó ÁÄÒÅÓÁÍÉ, ÓÅÔÑÍÉ É ACLÁÍÉ
acls_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÓÐÉÓËÁ ÕÐÒÁ×ÌÅÎÉÑ ÄÏÓÔÕÐÏÍ
acls_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ACL

files_title=æÁÊÌÙ É ëÁÔÁÌÏÇÉ
files_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÆÁÊÌÙ
files_header=çÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ ÆÁÊÌÏ× É ËÁÔÁÌÏÇÏ×
files_stats=÷ÙÈÏÄÎÏÊ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ
files_dump=æÁÊÌ ÄÁÍÐÁ ÂÁÚÙ ÄÁÎÎÙÈ
files_pid=æÁÊÌ ID ÐÒÏÃÅÓÓÁ
files_xfer=ðÕÔØ Ë ÐÒÏÇÒÁÍÍÅ ÚÏÎÎÏÊ ÐÅÒÅÓÙÌËÉ
files_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÆÁÊÌÏ× É ËÁÔÁÌÏÇÏ×
files_efile=õÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ

forwarding_title=úÁÐÒÏÓÙ É ðÅÒÅÙÌËÉ
forwarding_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÚÁÐÒÏÓÏ× É ÐÅÒÅÓÙÌÏË
forwarding_header=çÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ ÚÁÐÒÏÓÏ× É ÚÏÎÎÏÊ ÐÅÒÅÓÙÌËÉ
forwarding_fwders=óÅÒ×ÅÒÙ ÄÌÑ ÚÁÐÒÏÓÏ×
forwarding_fwd=ïÂÒÁÝÁÔØÓÑ ÎÁÐÒÑÍÕÀ, ÅÓÌÉ ÎÅÔ ÏÔ×ÅÔÁ Ó ÚÁÐÒÏÓÎÏÇÏ ÓÅÒ×ÅÒÁ
forwarding_max=íÁËÓÉÍÁÌØÎÏÅ ×ÒÅÍÑ ÚÏÎÎÏÊ ÐÅÒÅÓÙÌËÉ
forwarding_format=æÏÒÍÁÔ ÚÏÎÎÏÊ ÐÅÒÅÓÙÌËÉ
forwarding_one=ïÄÎÁ ÚÁ ÒÁÚ
forwarding_many=íÎÏÇÏ
forwarding_in=íÁËÓÉÍÕÍ ÐÁÒÁÌÌÅÌØÎÙÈ ÚÏÎÎÙÈ ÐÅÒÅÓÙÌÏË
forwarding_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÚÁÐÒÏÓÏ× É ÐÅÒÅÓÙÌÏË
forwarding_emins=õÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏÅ ×ÒÅÍÑ ÐÅÒÅÓÙÌËÉ
forwarding_etrans=õÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÐÁÒÁÌÌÅÌØÎÙÈ ÚÏÎÎÙÈ ÐÅÒÅÓÙÌÏË
forwarding_minutes=ÍÉÎÕÔ

net_title=áÄÒÅÓÁ É ôÏÐÏÌÏÇÉÑ
net_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÁÄÒÅÓÏ× É ÔÏÐÏÌÏÇÉÉ
net_header=çÌÏÂÁÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ ÁÄÒÅÓÏ× É ÔÏÐÏÌÏÇÉÉ
net_listen=ðÏÒÔÙ É ÁÄÒÅÓÁ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ
net_below=ðÅÒÅÞÉÓÌÅÎÎÙÅ ÎÉÖÅ..
net_port=ðÏÒÔ
net_addrs=áÄÒÅÓÁ
net_saddr=éÓÈÏÄÎÙÊ IP ÁÄÒÅÓ ÄÌÑ ÚÁÐÒÏÓÏ×
net_sport=éÓÈÏÄÎÙÊ ÐÏÒÔ ÄÌÑ ÚÁÐÒÏÓÏ×
net_topol=áÌØÔÅÒÎÁÔÉ×ÎÁÑ ÔÏÐÏÌÏÇÉÑ ÓÅÒ×ÅÒÁ ÉÍÅÎ
net_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÁÄÒÅÓÏ× É ÔÏÐÏÌÏÇÉÉ
net_eport='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ ÐÏÒÔÁ

misc_title=ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ
misc_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÒÏÞÉÅ ÐÁÒÁÍÅÔÒÙ
misc_header=çÌÏÂÁÌØÎÙÅ ÐÒÏÞÉÅ ÐÁÒÁÍÅÔÒÙ
misc_core=íÁËÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÄÁÍÐÁ core
misc_data=íÁËÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÊ ÐÁÍÑÔÉ
misc_files=íÁËÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×
misc_stack=íÁËÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÓÔÅËÁ
misc_clean=éÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÏÞÉÓÔËÏÊ ÕÓÔÁÒÅ×ÛÉÈ ÚÁÐÉÓÅÊ
misc_iface=éÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÐÒÏ×ÅÒËÏÊ ÎÏ×ÙÈ ÉÎÔÅÒÆÅÊÓÏ×
misc_stats=éÎÔÅÒ×ÁÌ ÍÅÖÄÕ ÐÒÏ×ÅÒËÁÍÉ ÖÕÒÎÁÌÏ×
misc_recursion=÷ÙÐÏÌÎÑÔØ ÐÏÌÎÏÓÔØÀ ÒÅËÕÒÓÉ×ÎÙÊ ÐÒÏÓÍÏÔÒ ÄÌÑ ËÌÉÅÎÔÏ×?
misc_cnames=òÁÚÒÅÛÉÔØ ÍÎÏÖÅÓÔ×Ï CNAME ÐÓÅ×ÄÏÎÉÍÏ× ÄÌÑ ÏÄÎÏÇÏ ÉÍÅÎÉ?
misc_glue=ðÒÏÈÏÄÉÔØ ÐÏ ËÌÅÑÝÉÍ ÚÁÐÉÓÑÍ?
misc_nx=õÓÔÁÎÁ×ÌÉ×ÁÔØ Á×ÔÏÒÉÚÁÃÉÏÎÎÙÊ ÂÉÔ AA ÎÁ ÏÔ×ÅÔÙ?
misc_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÏÞÉÈ ÐÁÒÁÍÅÔÒÏ×
misc_esize='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ
misc_efiles='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁËÓÉÍÁÌØÎÙÍ ÞÉÓÌÏÍ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×
misc_emins='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÞÉÓÌÏÍ ÍÉÎÕÔ
misc_mins=ÍÉÎ.

zonedef_title=ðÁÒÁÍÅÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ úÏÎ
zonedef_msg=ðÁÒÁÍÅÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÎÏ×ÏÊ master ÚÏÎÙ
zonedef_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÚÏÎÙ
zonedef_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÉÚÍÅÎÑÔØ ÐÁÒÁÍÅÔÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ master ÚÏÎÙ
zonedef_msg2=õÓÔÁÎÏ×ËÉ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÚÏÎÙ
zonedef_transfer=òÁÚÒÅÛÉÔØ ÐÅÒÅÓÙÌËÉ Ó..
zonedef_query=òÁÚÒÅÛÉÔØ ÚÁÐÒÏÓÙ Ó..
zonedef_cmaster=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ × master ÚÏÎÁÈ?
zonedef_cslave=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ × slave ÚÏÎÁÈ?
zonedef_cresponse=ðÒÏ×ÅÒÑÔØ ÉÍÅÎÁ × ÏÔ×ÅÔÁÈ?
zonedef_notify=õ×ÅÄÏÍÌÑÔØ slaves ÏÂ ÉÚÍÅÎÅÎÉÑÈ?

0707010004826c000081a40000000000000002000000013d1fe2d2000040b1000000200000000000000000000000000000001400000003reloc/bind8/lang/sv   index_title=BIND DNS-server
index_enamed=BIND DNS-server $1 kunde inte hittas på ditt system. Den är troligen inte installerad, eller också är dina <a href='$2'>BIND-modulinställningar</a> felaktiga.
index_eversion=Den exekverbara filen $1 verkar inte vara en BIND 8- eller BIND 9-fil. Prova att köra <a href='$2'>BIND 4-modulen</a> i stället.
index_eempty=Den primära konfigurationsfilen $1 för BIND finns inte eller är inte en giltig konfigurationsfil. Vill du skapa en konfigurationsfil?
index_local=Sätt upp namnservern endast för internt bruk
index_download=Sätt upp som Internet-namnserver och ladda information för rotserver
index_webmin=Sätt upp som Internet-namnserver, men använd Webmins gamla information för rotservern
index_create=Skapa primär konfigurationsfil och starta namnserver
index_zones=Existerande DNS-zoner
index_none=Inga DNS-zoner är definierade för denna namnserver
index_addmaster=Skapa en ny master-zon
index_addslave=Skapa en ny slavzon
index_addstub=Skapa en ny återvändszon
index_addfwd=Skapa en ny genomfartszon
index_apply=Genomför ändringar
index_applymsg=Tryck på denna knapp för att starta om den aktiva BIND-servern. Detta gör att den nu inställda konfigurationen tas i drift.
index_start=Starta namnserver
index_startmsg=Tryck på denna knapp för att starta BIND-servern och använda inställd konfiguration.
index_zone=Zon
index_type=Typ
index_master=Master
index_slave=Slav
index_stub=Återvändszon
index_forward=Genomfartszon
index_opts=Globala serverinställningar
index_return=zonlista
index_toomany=Det finns för många zoner på ditt system för att de ska kunna visas här
index_find=Sök zoner som matchar:
index_search=Sök

master_title=Ändra masterzon
master_ecannot=Du får inte ändra denna zon
master_manual=Ändra i listan över poster
master_soa=Ändra zonparametrar
master_options=Ändra zoninställningar
master_del=Ta bort zon
master_delmsg=Tryck på denna knapp för att ta bort zonen från din DNS-server.
master_delrev=Motsvarande bakåtuppslagningsposter i andra zoner på denna server kommer också att tas bort.
master_tmpl=Använda zonmall?
master_ip=IP-adress för mallposter
master_params=Zonparametrar
master_server=Masterserver
master_ns=Lägga till NS-post för masterserver?
master_email=E-postadress
master_refresh=Tidsintervall för uppdatering
master_retry=Tid till nästa överföringsförsök
master_expiry=Tid tills post blir obsolet
master_minimum=Standard time-to-live
master_opts=Zoninställningar
master_check=Kontrollera namn?
master_notify=Underrätta slavar om ändringar?
master_update=Tillåt uppdateringar från ...
master_transfer=Tillåt överföringar från ...
master_query=Tillåt förfrågningar från ...
master_notify2=Underrätta också slavar ...
master_type=Typ
master_records=Poster
master_return=posttyper
master_err=Det gick inte att spara inställningar
master_ero=Du får inte uppdatera zoner
master_err2=Det gick inte att uppdatera zonen
master_emaster='$1' är inte en giltig masterserver
master_eemail='$1' är inte en giltig e-postadress
master_erefresh='$1' är inte ett giltigt tidsintervall för uppdatering
master_eretry='$1' är inte ett giltigt tidsintervall för överföringsförsök
master_eexpiry='$1' är inte ett giltigt tidsintervall för obsolet post
master_eminimum='$1' är inte en giltig standard-TTL
master_edelete=Du får inte ta bort denna zon
master_tmplrecs=Mallposter
master_name=Namn för posten
master_value=Värde
master_user=Från formulär
master_eip=IP-adress för mallpost saknas eller är ogiltig
master_eiptmpl=Värdet på mallposten måste finnas bland adressposterna
master_esoacannot=Du får inte ändra zonparametrar
master_eoptscannot=Du får inte ändra zoninställningar
master_edeletecannot=Du får inte ta bort zoner
master_etaken=Zonen finns redan

delete_title=Ta bort zon
delete_mesg=Är du säker på att du vill ta bort zon $1? Alla poster och zonfilen kommer att tas bort.
delete_rev=Ta bort bakåtuppslagningsposter i andra zoner?
delete_fwd=Ta bort framåtuppslagningsposter i andra zoner?

mcreate_title=Skapa masterzon
mcreate_ecannot=Du får inte skapa masterzoner
mcreate_opts=Inställningar för ny masterzon
mcreate_type=Zontyp
mcreate_fwd=Framåtuppslagning (namn till adresser)
mcreate_rev=Bakåtuppslagning (adresser till namn)
mcreate_dom=Domännamn/nätverk
mcreate_file=Fil med poster
mcreate_auto=Automatisk
mcreate_err=Det gick inte att skapa masterzonen

slave_title=Ändra slavzon
stub_title=Ändra återvändszon
slave_ecannot=Du får inte ändra denna zon
slave_opts=Zoninställningar
slave_masters=Masterservrar
slave_max=Mazimal överföringstid
slave_file=Fil med poster
slave_check=Kontrollera namn?
slave_notify=Underrätta slavar om ändringar?
slave_update=Tillåt uppdateringar från ...
slave_transfer=Tillåt överföringar från ...
slave_query=Tillåt förfrågningar från ...
slave_notify2=Underrätta även slavar ...
slave_none=Ingen
slave_auto=Automatisk
slave_err=Det gick inte att spara inställningar
slave_emax='$1' är inte en giltig maximal överföringstid
slave_efile=Fil med poster saknas
slave_efile2='$1' är inte en giltig fil med poster
slave_mins=minuter

screate_title1=Skapa slavzon
screate_title2=Skapa återvändszon
screate_ecannot1=Du får inte skapa slavzoner
screate_ecannot2=Du får inte skapa återvändszoner
screate_header1=Inställningar för ny slavzon
screate_header2=Inställningar för ny återvändszon
screate_type=Zontyp
screate_fwd=Framåtuppslagning (namn till adresser)
screate_rev=Bakåtuppslagning (adresser till namn)
screate_dom=Domännamn/nätverk
screate_err1=Det gick inte att skapa slavzon
screate_err2=Det gick inte att skapa återvändszon

recs_ecannot=Du får inte ändra poster i denna zon
recs_title=$1 Poster
recs_header=I $1
recs_addr=Adress
recs_name=Namn
recs_ttl=TTL
recs_comment=Kommentar
recs_return=posttyper

edit_title=Ändra $1
edit_header=I $1
edit_edit=Ändra post $1
edit_add=Lägg till post $1
edit_addr=Adress
edit_name=Namn
edit_zonename=Zonnamn
edit_ttl=Time-To-Live
edit_comment=Kommentar
edit_cnamemsg=Absoluta namn måste sluta med en .
edit_uprev=Uppdatera bakåtuppslagning?
edit_upfwd=Uppdatera framåtuppslagning?
edit_err=Det gick inte att spara post
edit_ettl='$1' är inte en giltig time-to-live
edit_eip='$1' är inte en giltig IP-adress
edit_eip6='$1' är inte en giltig IPv6-adress
edit_ehost='$1' är inte ett giltigt datornamn
edit_ename='$1' är inte ett giltigt postnamn
edit_edupip=Det finns redan en adresspost för $1
edit_ens='$1' är inte en giltig namnserver
edit_ecname='$1' är inte ett giltigt målalias
edit_emx='$1' är inte en giltig e-postserver
edit_epri='$1' är inte en giltig prioritet
edit_ehard=Hårdvarutyp saknas eller är felaktig
edit_eos=OS-typ saknas eller är felaktig
edit_eserv=Du har inte angivit någon känd tjänst
edit_ebadserv=Namnet på den kända tjänsten '$1' är felaktigt
edit_eemail='$1' är inte en giltig e-postadress
edit_etxt='$1' är inte ett giltigt postnamn
edit_efqdn=Det absoluta namnet '$1' är för långt
edit_elabel=En uppgift i '$1' innehåller för många tecken
edit_return=poster

text_title=Ändra fil med poster
text_desc=I detta formulär kan du ändra DNS-posterna i fil $1 manuellt. webmin kommer inte att utföra någon syntaxkontroll och serienumret för zonen kommer inte att räknas upp automatiskt.
text_undo=Ångra
text_ecannot=Du får inte ändra i filerna

restart_ecannot=Du får inte starta om BIND
restart_esig=Det gick inte att skicka signal till process $1 : $2
start_ecannot=Du får inte starta BIND
start_error=Det gick inte att starta BIND: $1

fwd_title=Ändra genomfartszon
fwd_ecannot=Du får inte ändra i denna zon
fwd_opts=Zoninställningar
fwd_masters=Masterservrar
fwd_forward=Prova med andra servrar?
fwd_check=Kontrollera namn?
fwd_err=Det gick inte att spara inställningar

fcreate_title=Skapa genomfartszon
fcreate_ecannot=Du får inte skapa genomfartszoner
fcreate_opts=Inställningar för ny genomfartszon
fcreate_type=Zontyp
fcreate_fwd=Framåtuppslagning (namn till adresser)
fcreate_rev=Bakåtuppslagning (adresser till namn)
fcreate_dom=Domännamn/nätverk
fcreate_masters=Masterservrar
fcreate_err=Det gick inte att skapa genomfartszon

create_enet='$1' är inte ett giltigt nätverk
create_edom='$1' är inte ett giltigt domännamn
create_edom2='$1' måste vara en domän, inte ett nätverk
create_efile='$1' är inte ett giltigt filnamn
create_efile2='$1' är inte en giltig zonfil
create_efile3=Det gick inte att skapa '$1' : $2
create_emaster='$1' är inte en giltig masterserveradress
create_enone=Du måste ange minst en masterserver

boot_err=Nedladdningen misslyckades

type_A=Adress
type_AAAA=IPv6-adress
type_NS=Namnserver
type_CNAME=Namnalias
type_MX=E-postserver
type_HINFO=Datorinformation
type_TXT=Text
type_WKS=Känd tjänst
type_RP=Ansvarig person
type_PTR=Bakåtadress

edit_A=Adress
edit_AAAA=IPv6-adress
edit_NS=Namnserver
edit_CNAME=Namnalias
edit_MX=E-postserver
edit_HINFO=Datorinformation
edit_TXT=Text
edit_WKS=Känd tjänst
edit_RP=Ansvarig person
edit_PTR=Bakåtadress

recs_A=Adress
recs_AAAA=IPv6-adress
recs_NS=Namnserver
recs_CNAME=Namnalias
recs_MX=E-postserver
recs_HINFO=Datorinformation
recs_TXT=Text
recs_WKS=Känd tjänst
recs_RP=Ansvarig person
recs_PTR=Bakåtadress

value_A1=Adress
value_NS1=Namnserver
value_CNAME1=Verkligt namn
value_MX1=Prioritet
value_MX2=E-postserver
value_HINFO1=Hårdvara
value_HINFO2=Operativsystem
value_TXT1=Meddelande
value_WKS1=Adress
value_WKS2=Protokoll
value_WKS3=Tjänster
value_RP1=E-postadress
value_RP2=Textpostnamn
value_PTR1=Datornamn

warn=Varning
fail=Fel
ignore=Strunta i
default=Standard
minutes=minuter
seconds=sekunder
hours=timmar
days=dagar
weeks=veckor
listed=Uppräknade ...
eip='$1' är inte en giltig IP-adress

acl_zones=Domäner som denna användare kan ändra i
acl_zall=Alla zoner
acl_zsel=Angivna ...
acl_master=Kunna skapa masterzoner?
acl_slave=Kunna skapa slav-/återvändszoner?
acl_forward=Kunna skapa genomfartszoner?
acl_defaults=Kunna ändra globala inställningar?
acl_reverse=Kunna ändra bakåtuppslagningsadresser i alla domäner?
acl_multiple=Kan flera adresser ha samma IP-adress?
acl_ro=Ej skrivbart?
acl_apply=Kunna ta ändringar i drift?
acl_dir=Begränsa zonfiler till katalog
acl_file=Kunna ändra i filerna?
acl_params=Kunna ändra zonparametrar?
acl_opts=Kunna ändra zoninställningar?
acl_delete=Kunna ta bort zoner?
acl_findfree=Kunna söka efter lediga IP-nummer?

servers_title=Andra DNS-servrar
servers_ip=IP-adress
servers_bogus=Strunta i falsk server?
servers_format=Format för zonöverföring
servers_trans=Maximala överföringar
servers_one=En i taget
servers_many=Många
servers_err=Det gick inte att spara andra DNS-servrar
servers_eip='$1' är inte en giltig IP-adress
servers_etrans='$1' är inte ett giltig antal för överföringar

logging_title=Loggning och fel
logging_ecannot=Du får inte konfigurera loggningen
logging_header=Globala inställningar för loggning och fel
logging_default1=Använd BINDs standardinställningar för loggning
logging_default2=Använd inställningarna nedan ...
logging_cats=Loggkategorier
logging_cat=Kategori
logging_cchans=Kanaler
logging_chans=Loggkanaler
logging_cname=Kanalnamn
logging_to=Logga till
logging_file=Fil
logging_fd=Filnamn
logging_versions=Spara version(er)
logging_ver1=Inga
logging_ver2=Obegränsat
logging_size=Maximal filstorlek
logging_sz1=Obegränsat
logging_syslog=Syslog-nivå
logging_null=Ingenstans
logging_sev=Lägsta meddelandenivå
logging_any=Någon
logging_debug=Debug-nivå ...
logging_dyn=Global nivå
logging_pcat=Notera kategori i loggen
logging_psev=Notera vikt i loggen
logging_ptime=Notera datum och tid i loggen
logging_add=Lägg till en ny kanal
logging_none=Inga loggkanaler är angivna.
logging_err=Det gick inte att spara logginställningar
logging_ename='$1' är inte ett giltigt kanalnamn
logging_efile=Loggfilnamn saknas
logging_ever='$1' är inte ett giltigt versionsantal
logging_esize='$1' är inte en giltig loggfilstorlek

acls_title=Listor över åtkomstkontroll
acls_ecannot=Du får inte ändra globala ACL:er
acls_name=ACL-namn
acls_values=Tillhörande adresser, nätverk och ACL:er
acls_err=Det gick inte att spara listor över åtkomstkontroll
acls_ename='$1' är inte ett giltigt ACL-namn

files_title=Filer och kataloger
files_ecannot=Du får inte ändra inställningarna för filer
files_header=Globala inställningar för filer och kataloger
files_stats=Fil för statistik
files_dump=Fil för databas
files_pid=Fil för process-ID
files_xfer=Sökväg till zonöverföringsprogram
files_err=Det gick inte att spara inställningar för filer och kataloger
files_efile=Filnamn saknas eller är ogiltigt

forwarding_title=Överföring och eftersändning
forwarding_ecannot=Du får inte ändra inställningarna för överföring och eftersändning
forwarding_header=Globala inställningar för överföring och eftersändning
forwarding_fwders=Servrar att skicka vidare frågor till
forwarding_fwd=Slå upp direkt om eftersändaren inte svarar
forwarding_max=Maximal zonöverföringstid
forwarding_format=Format för zonöverföring
forwarding_one=En i taget
forwarding_many=Många
forwarding_in=Maximalt antal samtidiga zonöverföringar
forwarding_err=Det gick inte att spara inställningar för överföring och eftersändning
forwarding_emins=Maximal överföringstid saknas eller är felaktig
forwarding_etrans=Maxantal för samtidiga överföringar saknas eller är felaktigt
forwarding_minutes=minuter

net_title=Adresser och topologi
net_ecannot=Du får inte ändra inställningar för adresser och topologi
net_header=Globala inställningar för adresser och topologi
net_listen=Lyssna på följande portar och adresser
net_below=Uppräknade nedan ...
net_port=Port
net_addrs=Adresser
net_saddr=Serverns IP-adress för förfrågningar
net_sport=Serverns port för förfrågningar
net_topol=Topologi för namnserverval
net_err=Det gick inte att spara inställningar för adresser och topologi.
net_eport='$1' är inte ett giltigt portnummer.
net_etopology=Du har inte angivit någon topologiadress.

misc_title=Blandade inställningar
misc_ecannot=Du får inte ändra de blandade inställningarna
misc_header=Blandade globala inställningar
misc_core=Maximal storlek för core dump
misc_data=Maximalt minnesutnyttjande
misc_files=Maximalt antal öppna filer
misc_stack=Maximalt stackminnesutnyttjande
misc_clean=Hur ofta ska obsoleta poster rensas bort?
misc_iface=Hur ofta ska servern söka efter nya interface?
misc_stats=Hur ofta ska loggstatistik tas?
misc_recursion=Fullständiga uppslagningar för klienter?
misc_cnames=Tillåta multipla CNAME-alias för ett namn?
misc_glue=Hämta tillhörande poster?
misc_nx=Sätta den auktorativa AA-biten för svar?
misc_err=Det gick inte att spara blandade inställningar
misc_esize='$1' är inte en giltig storlek
misc_efiles='$1' är inte ett giltigt maxantal för öppna filer
misc_emins='$1' är inte ett giltigt antal minuter
misc_mins=min

zonedef_title=Zonstandard
zonedef_msg=Standard för nya masterzoner
zonedef_err=Det gick inte att spara zonstandard
zonedef_ecannot=Du får inte ändra masterzonstandard
zonedef_msg2=Standardinställningar för zon
zonedef_transfer=Tillåt överföringar från ...
zonedef_query=Tillåt förfrågningar från ...
zonedef_cmaster=Kontrollera namn hos masterzoner?
zonedef_cslave=Kontrollera namn hos slavzoner?
zonedef_cresponse=Kontrollera namn vid svar?
zonedef_notify=Underrätta slavar vid ändringar?

find_title=Sök zoner
find_match=Zoner som matchar $1 ...
find_none=Inga zoner funna

efirst=Ogiltigt första direktiv på rad $1 i $2

findfree_title=Sök lediga IP
findfree_desc=Sök efter lediga IP-nummer
findfree_nofind=Du får inte söka efter lediga IP-nummer
findfree_header=I $1
findfree_sopt=Sökvillkor
findfree_IPrange=IP-intervall
findfree_from=från
findfree_to=till
findfree_cf=Anse <em>`freeXXX'</em>-datornamn som lediga IP-nummer?
findfree_search=Sök

log_servers=Ändrade övriga DNS-servrar
log_logging=Ändrade loggning och fel
log_acls=Ändrade listorna över åtkomstkontroll
log_files=Ändrade filer och kataloger
log_forwarding=Ändrade eftersändning och överföring
log_net=Ändrade adresser och topologi
log_misc=Ändrade blandade inställningar
log_zonedef=Ändrade zonstandarder
log_apply=Tog ändringar i drift
log_start=Startade DNS-server
log_master=Skapade master-zon $1
log_slave=Skapade slavzon $1
log_stub=Skapade återvändszon $1
log_forward=Skapade genomfartszon $1
log_delete_master=Tog bort master-zon $1
log_delete_slave=Tog bort slavzon $1
log_delete_stub=Tog bort återvändszon $1
log_delete_forward=Tog bort genomfartszon $1
log_text=Ändrade poster för $1 för hand
log_soa=Ändrade zonparametrar för $1
log_opts=Ändrade zoninställningar för $1
log_delete_record=Tog bort $1 post $2 i zon $3
log_create_record=Skapade $1 post $2 i zon $3
log_modify_record=Modifierade $1 post $2 i zon $3
log_boot=Skapade primär konfigurationsfil

   0707010004826d000081a40000000000000002000000013d1fe2d200003ca6000000200000000000000000000000000000001400000003reloc/bind8/lang/tr   index_title=BIND 8 DNS Sunucusu
index_enamed=BIND 8 DNS sunucusu $1 sisteminizde bulunamadý.Kurulmamýþ olabilir ya da <a href='$2'>modül yapýlandýrmanýz</a> doðru olmayabilir.
index_eversion=Sunucu çalýþtýrýlabiliri $1 BIND 8 gibi görünmüyor.Belki de <a href='$2'>BIND 4 Modülü</a> kullanýor olabilirsiniz.
index_eempty=BIND 8 için birincil yapýlandýrma dosyasý mevcut deðil ya da yanlýþ. Oluþturulsun mu? 
index_local=Ýsim sunucusunu sadece internet olmayan iç aðda kullanmak için kur
index_download=Bir internet isim sunucusu olarak kur ve root sunucusu bilgilerini indir.
index_webmin=Bir internet isim sunucusu olarak kur, ama Webmin'in eski root sunucu bilgilerini kullan
index_create=Birincil Yapýlandýrma Dosyasý Oluþtur ve Ýsim Sunucusunu Baþlat
index_zones=Varolan DNS Bölgeleri
index_none=Bu isim sunucusu icin DNS bolgesi yok
index_addmaster=Yeni bir ana bölge oluþtur 
index_addslave=Yeni bir alt bölge oluþtur
index_addstub=Yeni bir stub bölgesi oluþtur
index_addfwd=Yeni bir ön bölge oluþtur
index_apply=Degisiklikleri Uygula
index_applymsg=Bu buton ile çalýþan BIND 8 sunucusunu durdurup yeniden baþlatabilirsiniz.Bu aktif hale gelmeden mevcut yapýlandýrma kullanýlamayacaktýr.
index_start=Ýsim Sunucusunu Baþlat
index_startmsg=Bu butonu týklayarak BIND 8 sunucusunu çalýþtýrabilir ve mevcut yapýlandýrmayý kullanabilirsiniz.
index_zone=Bolge
index_type=Tip
index_master=Ana
index_slave=Alt
index_stub=Stub
index_forward=Ýleri
index_opts=Genel Sunucu Seçenekleri
index_return=bölge seçenekleri
index_toomany=Sisteminizde burada gösterilemeyecek kadar çok bölge var.
index_find=Arama için karþýlaþtýrýlacak bölge :
index_search=Ara

master_title=Ana Bölgeyi Deðiþtir
master_ecannot=Ana bölgeyi deðiþtirmek için izininiz yoktur
master_manual=Kayýt Dosyasýný Deðiþtir
master_soa=Bölge Parametrelerini Deðiþtir
master_options=Bölge Seçeneklerini Deðiþtir
master_del=Bölgeyi Sil
master_delmsg=Bu butonu týklayarak bu bölgeyi DNS sunucunuzdan silebilirsiniz.
master_delrev=Diðer bölgelerdeki karþýlaþtýrýlan ters adres kayýtlarý silinmiþ olsa bile bu sunucu tarafýndan tutulacaktýr.
master_tmpl=Bölge þablonu kullan?
master_ip=Þablon kayýtlar için IP adresi
master_params=Bölge Parametreleri
master_server=Ana sunucu
master_ns=Ana sunucu NS olarak kaydedilsin mi?
master_email=E-posta adresi
master_refresh=Yenileme zamaný
master_retry=Transfer tekrar süresi
master_expiry=Ýptal süresi
master_minimum=Öntanýmlý yaþam süresi (TTL)
master_opts=Bölge Seçenekleri
master_check=Ýsimleri kontrol et?
master_notify=Alt bölgelerdeki deðiþiklikleri bildir?
master_update=Güncellemeleri kabul et..
master_transfer=Transferleri kabul et..
master_query=Sorgulamalarý kabul et..
master_notify2=Sadece alttakini bildir..
master_type=Tip
master_records=Kayýtlar
master_return=kayýt tipleri
master_err=Seçeneklerin kaydedilmesinde hata oluþtu
master_ero=Bölgelerin güncellemenize izin verilmedi
master_err2=Bölgelerin güncellenmesinde hata oluþtu
master_emaster='$1' geçerli bir ana sunucu adresi deðil
master_eemail='$1' geçerli bir e-posta adresi deðil
master_erefresh='$1' geçerli bir tazeleme süresi deðil
master_eretry='$1' geçerli bir transfer tekrarlama zamaný deðil
master_eexpiry='$1' geçerli bir iptal süresi deðil
master_eminimum='$1' geçerli bir öntanýmlý TTL deðil
master_edelete=Bu bölgeyi silmenize izin verilmedi
master_tmplrecs=Kalýp kayýtlarý
master_name=Kayýt ismi
master_value=Deðeri
master_user=Formdan
master_eip=Kayýp ya da yanlýþ kalýp IP adresi
master_eiptmpl=Kalýp kayýt deðerleri sadece adres kayýtlarýndan gelebilir.
master_esoacannot=Bölge parametrelerinin deðiþtirilmesine izin verilmedi 
master_eoptscannot=Kayýt seçeneklerinin deðiþtirilmesine izin verilmedi
master_edeletecannot=Bölgeleri silmenize izin verilmedi

delete_title=Bölge Sil
delete_mesg=$1 bölgesini silmek istediðinizden emin misiniz? Bütün kayýtlar ve bölgeler silinebilir.
delete_rev=Diðer bölgelerdeki ters kayýtlar silinsin?
delete_fwd=Diðer bölgelerdeki düz kayýtlar silinsin?

mcreate_title=Ana Bölge Oluþtur
mcreate_ecannot=Ana bölge oluþturamazsýnýz
mcreate_opts=Yeni ana bölge seçenekleri
mcreate_type=Alan tipi
mcreate_fwd=Düz (Adresten IP'ye Çözümleme)
mcreate_rev=Ters (IP'den Adrese Çözümleme)
mcreate_dom=Alan ismi / Að
mcreate_file=Kayýt dosyasý
mcreate_auto=Otomatik
mcreate_err=Bölge oluþturulmasýnda hata oluþtu

slave_title=Alt Bölgeleri Deðiþtir
stub_title=Stub bölgeyi deðiþtir
slave_ecannot=Bu bölgeyi deðiþtirmek için izininiz yoktur
slave_opts=Bölge Seçenekleri
slave_masters=Ana sunucular
slave_max=En çok transfer süresi
slave_file=Kayýt dosyasý
slave_check=Ýsimler kontrol edilsin?
slave_notify=Alt bölgelerdeki deðiþiklikler bildirilsin?
slave_update=Güncellemeleri kabul et..
slave_transfer=Transferleri kabul et..
slave_query=Sorgulamalarý kabul et..
slave_notify2=Alt bölgeleri de bildir..
slave_none=Hiçbiri
slave_auto=Otomatik
slave_err=Seçeneklerin kaydedilmesinde hata oluþtu
slave_emax='$1' geçerli en çok transfer süresi deðil
slave_efile=Kayýp kayýt dosyasý
slave_efile2='$1' ulaþýlabilir bir kayýt dosyasý deðildir.
slave_mins=dakika

screate_title1=Alt Bölgeleri Oluþtur
screate_title2=Stub Bölge Oluþtur
screate_ecannot1=Alt bölge oluþturmak için izininiz yoktur 
screate_ecannot2=Stub bölge oluþturmak için izininiz yoktur
screate_header1=Yeni alt bölge seçenekleri
screate_header2=Yeni stub bölge seçenekleri
screate_type=Bölge Tipi
screate_fwd=Düz (Adreslere Ýsimler)
screate_rev=Ters (Ýsimlere Adresler)
screate_dom=Alan adý / Að
screate_err1=Alt bölgenin oluþturulmasýnda hata oluþtu
screate_err2=Stub bölgesinin oluþturulmasýnda hata oluþtu

recs_ecannot=Bu bölgede kayýtlarý deðiþtirmenize izininiz yoktur
recs_title=$1 Kayýtlarý
recs_header=$1
recs_addr=Adres
recs_name=Ýsim
recs_ttl=TTL
recs_return=kayýtlar

edit_title=$1 Deðiþtir
edit_header=$1 içinde
edit_edit=$1 kaydýný deðiþtir
edit_add=$1 kayýdý ekle
edit_addr=Adres
edit_name=Ýsim
edit_ttl=TTL süresi
edit_cnamemsg=Ýsimler mutlaka bir nokta ile bitmelidir 
edit_uprev=Ters'leri güncelleþtir?
edit_upfwd=Düzler güncelleþsin mi?
edit_err=Kayýdýn kaydedilmesinde hata oluþtu
edit_ettl='$1' geçerli bir yaþama süresi deðildir
edit_eip='$1' geçerli bir IP adresi deðildir
edit_ehost='$1' geçerli bir makine adý deðildir
edit_ename='$1' geçerli bir kayýt ismi deðildir
edit_edupip=$1 için adres kaydý her zaman mevcut
edit_ens='$1' geçerli bir isim sunucusu deðildir
edit_ecname='$1' geçerli bir sahte hedef deðildir
edit_emx='$1' geçerli bir posta sunucusu deðildir
edit_epri='$1' geçerli bir öncelik deðildir
edit_ehard=Kayýp ya da yanlýþ donaným tipi
edit_eos=Kayýp ya da yanlýþ OS tipi
edit_eserv=Herhangi iyi bilinen servis girmediniz
edit_eemail='$1' geçerli bir e-posta adresi deðildir
edit_etxt='$1' geçerli bir yazý kayýt ismi deðildir

text_title=Kayýt Dosyasýný Deðiþtir
text_desc=Bu form DNS kayýt dosyasý $1'nýn elle deðiþtirilmesine izin verir.
text_undo=Geri Al
text_ecannot=Kayýt dosyalarýný deðiþtirmeye izininiz yoktur

restart_ecannot=BIND'i yeniden baþlatmak için izininiz yoktur
restart_esig=Ýþaret iþlemi $1'de hata oluþtu : $2
start_ecannot=BIND'i baþlatmak için izininiz yoktur
start_error=BIND'in baþlatýlmasýnda hata oluþtu : $1

fwd_title=Ön Bölgeyi Deðiþtir
fwd_ecannot=Bu bölgeyi deðiþtirmek için izininiz yoktur
fwd_opts=Bölge Seçenekleri
fwd_masters=ana sunucular
fwd_forward=Diðer sunucular denensin?
fwd_check=Ýsimler kontrol edilsin?
fwd_err=Seçeneklerin kaydedilmesinde hata oluþtu

fcreate_title=Ön Bölge Oluþtur
fcreate_ecannot=Ön bölge oluþturmak için izininiz yoktur
fcreate_opts=Yeni ön bölge seçenekleri
fcreate_type=Bölge tipi
fcreate_fwd=Düz (Adreslere Ýsim)
fcreate_rev=Ters (Ýsimlere Adresler)
fcreate_dom=Alan adý/Að
fcreate_masters=Ana sunucular
fcreate_err=Ön bölge oluþturulmasýnda hata oluþtu

boot_err=Dosya indirmede hata oluþtu

type_A=Adres
type_NS=Ýsim Sunucusu
type_CNAME=Takma Ýsimler
type_MX=Posta Sunucusu
type_HINFO=Makine Adý Bilgisi
type_TXT=Yazý
type_WKS=Bilinen Servis
type_RP=Sorumlu Kiþi
type_PTR=Ters Adresler

value_A1=Adres
value_NS1=Ýsim Sunucu
value_CNAME1=Gerçek Ýsim
value_MX1=Öncelik
value_MX2=Posta Sunucusu
value_HINFO1=Donaným
value_HINFO2=Ýþletim Sistemi
value_TXT1=Mesaj
value_WKS1=Adres
value_WKS2=Protokol
value_WKS3=Servisler
value_RP1=E-posta Adresi
value_RP2=Yazý Kayýdý
value_PTR1=Makine adý

warn=Uyarý
fail=Hata
ignore=Yoksay
default=Öntanýmlý
minutes=dakika
seconds=saniye
listed=Listeli ..
eip='$1' geçerli bir IP adresi deðil

acl_zones=Bu kullanýcý alanlarý deðiþtirebilir
acl_master=Ana bölge oluþturabilsin?
acl_slave=Alt/Stub bölge oluþturabilsin?
acl_forward=Ön bölge oluþturabilsin?
acl_defaults=Genel seçenekleri deðiþtirebilsin?
acl_reverse=Herhangi bölgedeki ters adresleri güncelleyebilsin?
acl_multiple=Çoklu adresler ayný IP'ye sahip olabilsin?
acl_ro=Sadece okunur giriþ modu?
acl_apply=Deðiþiklikleri uygulayabilsin?
acl_dir=Bölge dosyalarý dizine sýnýrlansýn
acl_file=Kayýt dosyalarýný deðiþtirebilsin?
acl_params=Bölge parametrelerini deðiþtirebilsin?
acl_opts=Bölge seçeneklerini deðiþtirebilsin?
acl_delete=Bölgeleri silebilsin?
acl_findfree=Kullanýlmayan IP numaralarýný arayabilsin mi?

servers_title=Diðer DNS sunucularý
servers_ip=IP adresi
servers_bogus=Sahte sunucuyu yoksay?
servers_format=Bölge transfer formatý
servers_trans=En çok transfer
servers_one=Belli aralýklarla
servers_many=Çok
servers_err=Diðer DNS sunucularýnýn kaydedilmesinde hata oluþtu
servers_eip='$1' geçerli bir IP adresi deðil
servers_etrans='$1' geçerli bir en çok transfer sayýsý deðil

logging_title=Kayýt ve Hatalar
logging_ecannot=Kayýtlarýn yapýlandýrýlmasýnda hata oluþtu
logging_header=Genel kayýt ve hata seçenekleri
logging_default1=BIND'in öntanýmlý kayýt seçeneklerini kullan
logging_default2=Takip eden ayarlarý kullan ..
logging_cats=Kayýt kategorileri
logging_cat=Kategori
logging_cchans=Kanallar
logging_chans=Kayýt Kanallarý
logging_cname=Kanal Ýsmi
logging_to=Kayýt tut
logging_file=Dosya
logging_fd=Dosya açýklamasý
logging_versions=Sürümleri sakla
logging_ver1=Hiçbiri
logging_ver2=Limitsiz
logging_size=En çok dosya boyutu
logging_sz1=Limitsiz
logging_syslog=Sistem kayýt seviyesi
logging_null=Hiçbiryer
logging_sev=En az mesaj seviyesi
logging_any=Herhangi
logging_debug=Hatasýzlaþtýma seviyesi ..
logging_dyn=Genel seviye
logging_pcat=Kayýtlarda kayýt kategorisi
logging_psev=Kayýtlarda kayýt derecesi
logging_ptime=Kayýttaký kayýt tarihi ve süresi
logging_add=Yeni kanal ekle
logging_none=Kayýt kanallarý tanýmlanmadý
logging_err=Kayýt seçeneklerinin kaydedilmesinde hata oluþtu
logging_ename='$1' geçerli bir kanal ismi deðil
logging_efile=Kayýp kayýt dosya adý
logging_ever='$1' geçerli sürüm sayýsý deðil
logging_esize='$1' geçerli bir kayýt boyutu deðil

acls_title=Ýzin Kontrol Listeleri
acls_ecannot=Genel kontrol listelerini deðiþtirmeniz için izininiz yoktur
acls_name=Kontrol Listesi Ýsmi
acls_values=Karþýlaþtýrýlan adresler, aðlar ve kontrol listeleri
acls_err=Giriþ kontrol listelerinin kaydedilmesinde hata oluþtu
acls_ename='$1' geçerli bir kontrol listesi adý deðil

files_title=Dosya ve Dizinler
files_ecannot=Dosyalarý yapýlandýrmak için izininiz yoktur
files_header=Genel dosya ve dizin seçenekleri
files_stats=Çýktý dosyasý seçenekleri
files_dump=Veritabaný kayýt dosyasý
files_pid=Ýþlem ID dosyasý
files_xfer=Bölge transfer programý yolu
files_err=Dosya ve dizin seçeneklerinin kaydedilmesinde hata oluþtu
files_efile=Kayýp ya da yanlýþ dosya ismi

forwarding_title=Gönderim ve Transferler
forwarding_ecannot=Gönderim ve transfer seçeneklerini deðiþtirmek için izininiz yoktur
forwarding_header=Genel gönderim ve transfer seçenekleri
forwarding_fwders=Gönderim sorgulamalarýna sunucular
forwarding_fwd=Göndericiden cevap gelmiyorsa doðrudan bak
forwarding_max=En çok bölge transfer zamaný
forwarding_format=Bölge transfer formatý
forwarding_one=Bir sürede bir
forwarding_many=Çok
forwarding_in=Ayný zamandaki en çok bölge transferi
forwarding_err=Gönderim ve Transfer seçeneklerinin kaydedilmesinde hata oluþtu
forwarding_emins=Kayýp ya da yanlýþ en çok transfer süresi
forwarding_etrans=Kayýp ya da yanlýþ, ayný zamandaki en çok bölge transferi sayýsý
forwarding_minutes=dakika

net_title=Adresler ve Topoloji
net_ecannot=Adres ve topoloji seçeneklerinin deðiþtirilmesinde hata oluþtu
net_header=Genel adres ve topoloji seçenekleri
net_listen=Dinlenilen port ve adresler
net_below=Takip eden listede..
net_port=Port
net_addrs=Adresler
net_saddr=Sorgulama için kaynak IP adresi
net_sport=Sorgulama için kaynak port
net_topol=Ýsim sunucusu seçim topolojisi
net_err=Adres ve topoloji seçeneklerinin kaydedilmesinde hata oluþtu
net_eport='$1' geçerli bir port numarasý deðil

misc_title=Çeþitli Seçenekler
misc_ecannot=Çeþitli seçenekleri kaydetmek için izininiz yoktur
misc_header=Çeþitli genel seçenekler
misc_core=En çok çekirdek kayýt boyutu
misc_data=En çok bilgi bellek kullanýmý
misc_files=En çok açýk dosya sayýsý
misc_stack=En çok yýðýn bellek kullanýmý
misc_clean=Ýptal kayýtlarýnýn temizlenmesi arasýndaki süre
misc_iface=Yeni arayüzlerin kontrol edilmesi arasýndaki süre
misc_stats=Kayýt ifadeleri arasýndaki süre
misc_recursion=Ýstemciler için rekürsif bakýþlarýn tamamý yapýlsýn mý?
misc_cnames=Bir isim için çoklu CNAME takma isimlerine izin verilsin?
misc_glue=Baðýmlý kayýtlarý tut?
misc_nx=Yanýtlamalarda AA bit onaylamasý kurulsun?
misc_err=Çeþitli seçeneklerin kaydedilmesinde hata oluþtu
misc_esize='$1' geçerli bir boyut deðil
misc_efiles='$1' geçerli bir en çok dosya sayýsý deðil
misc_emins='$1' geçerli bir dakika sayýsý deðil
misc_mins=dakika

zonedef_title=Bölge Öntanýmlamalarý
zonedef_msg=Yeni ana bölge için öntanýmlamalarý
zonedef_err=Bölge öntanýmlýlarýnýn kaydedilmesinde hata oluþtu
zonedef_ecannot=Ana bölge öntanýmlýlarýný deðiþtirmek için izininiz yoktur
zonedef_msg2=Öntanýmlý bölge özellikleri
zonedef_transfer=Transferlere izin ver..
zonedef_query=Sorgulamalara izin ver..
zonedef_cmaster=Ana bölgelerde isimler kontrol edilsin?
zonedef_cslave=Alt bölgelerde isimler kontrol edilsin?
zonedef_cresponse=Yanýtlarda isimler kontrol edilsin?
zonedef_notify=Alt bölgelerin deðiþtirilmesi bildirilsin?

efirst=$1 satýrýnda kötü ilk komut, $2'de

findfree_title=Boþ IP Arama
findfree_desc=Boþ IP'leri Arar.
findfree_nofind=Boþ IP'leri arayamazsýnýz
findfree_header=$1 'de
findfree_sopt=Arama Seçenekleri
findfree_IPrange=IP Aralýðý
findfree_from=Nereden
findfree_to=Nereye
findfree_cf=<em>'freeXXX'</em> makine adlarý boþ IP olarak deðerelendirilsin mi?
findfree_search=Ara

log_servers=Diðer DNS sunucularý deðiþtirildir
log_logging=Kayýt ve hatalar deðiþtirildi
log_acls=Giriþ kontrol listeleri deðiþtirildi
log_files=Dosya ve dizinler deðiþtirildi
log_forwarding=Geri döndürme ve transferler deðiþtirildi
log_net=Adresler ve topoloji deðiþtirildi
log_misc=Çeþitli seçenekler deðiþtirildi
log_zonedef=Bölge öntanýmlýlarý deðiþtirildi
log_apply=Deðiþiklikler uygulandý
log_start=DNS sunucusu baþlatýldý
log_master=Ana bölge $1 oluþturuldu
log_slave=Alt bölge $1 oluþturuldu
log_stub=Stub bölge $1 oluþturuldu
log_forward=Ýleri bölge $1 oluþturuldu
log_delete_master=Ana bölge $1 silindi
log_delete_slave=Alt bölge $1 silindi
log_delete_stub=Stub bölge $1 silindi
log_delete_forward=Ýleri bölge $1 silindi
log_text=$1 için kayýtlar elle deðiþtirildi
log_soa=$1 için bölge parametreleri deðiþtirildi
log_opts=$1 için bölge seçenekleri deðiþtirildi
log_delete_record=Bölge $3'de $2 kaydýndaki $1 silindi
log_create_record=Bölge $3'de $2 kaydýndaki $1 oluþturuldu
log_modify_record=Bölge $3'de $2 kaydýndaki $1 deðiþtirildi
log_boot=Birincil yapýlandýrma dosyasý oluþturuldu

  0707010004826e000081a40000000000000002000000013d1fe2d200002e5c000000200000000000000000000000000000001700000003reloc/bind8/lang/zh_CN    index_title=BIND DNS ·þÎñÆ÷
index_enamed=ÏµÍ³ÖÐÃ»ÓÐÕÒµ½ BIND DNS ·þÎñÆ÷$1¡£¿ÉÄÜÊÇÃ»ÓÐ°²×°£¬»òÕß<a href='$2'>BIND Ä£¿éÅäÖÃ</a> ´íÎó¡£
index_eversion=·þÎñÆ÷Ö´ÐÐÎÄ¼þ $1 ËÆºõ²»ÊÇ BIND 8 »ò9¡£»òÐíÓ¦¸ÃÊ¹ÓÃ<a href='$2'>BIND 4 Ä£¿é</a>¡£
index_eempty=BIND $1 µÄÖ÷ÅäÖÆÎÄ¼þ²»´æÔÚ $1 ²»´æÔÚ»ò´íÎó£¬ÊÇ·ñ´´½¨£¿
index_local=ÉèÖÃÃû³Æ·þÎñÆ÷£¬½ö¹©ÄÚ²¿·ÇinternetÊ¹ÓÃ
index_download=ÉèÖÃÎªinternetÃû³Æ·þÎñÆ÷£¬²¢ÏÂÔØ¸ù·þÎñÆ÷ÐÅÏ¢
index_webmin=ÉèÖÃÎªinternetÃû³Æ·þÎñÆ÷,µ«Ê¹ÓÃ Webmin Ô­ÓÐµÄ¸ù·þÎñÆ÷ÐÅÏ¢
index_create=´´½¨Ö÷ÅäÖÃÎÄ¼þÆô¶¯Ãû³Æ·þÎñÆ÷
index_zones=ÏÖÓÐ DNS ÇøÓò
index_none=±¾Ãû³Æ·þÎñÆ÷ÉÏÃ»ÓÐ¶¨ÒåDNSÇøÓò
index_addmaster=ÐÂ½¨Ö÷ÇøÓò
index_addslave=ÐÂ½¨´ÎÇøÓò
index_addstub=ÐÂ½¨¸½´øÇøÓò
index_addfwd=ÐÂ½¨×ª·¢ÇøÓò
index_apply=Ó¦ÓÃ¸ü¸Ä
index_applymsg=µ¥»÷´Ë°´Å¥ÖØÐÂÔËÐÐ BIND ·þÎñÆ÷¡£ÕâÊ¹µ±Ç°ÅäÖÃÉúÐ§
index_start=Æô¶¯Ãû×Ö·þÎñÆ÷
index_startmsg=µ¥»÷´Ë°´Å¥ÔËÐÐ BIND ·þÎñÆ÷, ²¢×°ÔØµ±Ç°ÅäÖÃ
index_zone=ÇøÓò
index_type=ÀàÐÍ
index_master=Ö÷
index_slave=´Î
index_stub=¸½´ø
index_forward=×ª·¢
index_opts=È«¾Ö·þÎñÆ÷Ñ¡Ïî
index_return=ÇøÓòÁÐ±í
index_toomany=ÄúµÄÏµÍ³ÓÐÌ«¶àµÄÇøÓòÒªÔÚÕâÏÔÊ¾¡£
index_find=Ñ°ÕÒÆ¥ÅäµÄÇøÓò£º
index_search=ËÑË÷
master_title=±à¼­Ö÷ÇøÓò
master_ecannot=ÄúÃ»ÓÐ±à¼­±¾ÇøÓòµÄÈ¨ÏÞ
master_manual=±à¼­¼ÇÂ¼ÎÄ¼þ
master_soa=±à¼­ÇøÓò²ÎÊý
master_options=±à¼­ÇøÓòÑ¡Ïî
master_del=É¾³ýÇøÓò
master_delmsg=µ¥»÷´Ë°´Å¥, ´ÓÄúµÄ DNS ·þÎñÆ÷ÖÐÉ¾³ý¸ÃÇøÓò
master_delrev=´æÔÚÓÚ±¾·þÎñÆ÷µÄÆ¥ÅäÆäËüÇøÓòµÄ·´ÏòµØÖ·¼ÇÂ¼Ò²½«±»É¾³ý¡£
master_tmpl=Ê¹ÓÃÇøÓòÄ£°å£¿
master_ip=Ä£°å¼ÇÂ¼µÄIP µØÖ·
master_params=ÇøÓò²ÎÊý
master_server=Ö÷·þÎñÆ÷
master_ns=ÎªÖ÷·þÎñÆ÷Ôö¼Ó NS ¼ÇÂ¼
master_email=Email µØÖ·
master_refresh=Ë¢ÐÂÊ±¼ä
master_retry=·¢ËÍÖØÊÔÊ±¼ä
master_expiry=¹ýÆÚÊ±¼ä
master_minimum=È±Ê¡µÄ»î¶¯Ê±¼ä
master_opts=ÇøÓòÑ¡Ïî
master_check=¼ì²éÃû×Ö£¿
master_notify=ÊÇ·ñ°Ñ±ä»¯Í¨Öª´ÎÇøÓò£¿
master_update=ÔÊÐí¸üÐÂ×Ô..
master_transfer=ÔÊÐí·¢ËÍ×Ô..
master_query=ÔÊÐí²éÑ¯×Ô..
master_notify2=Ò²Í¨Öª´ÎÇøÓò..
master_type=ÀàÐÍ
master_records=¼ÇÂ¼
master_return=¼ÇÂ¼ÀàÐÍ
master_err=±£´æÑ¡ÏîÊ±Ê§°Ü
master_ero=ÄúÃ»ÓÐ¸üÐÂÇøÓòµÄÈ¨ÏÞ
master_err2=¸üÐÂÇøÓòÊ§°Ü
master_emaster=´íÎóµÄÖ÷·þÎñÆ÷'$1'
master_eemail='´íÎóµÄemailµØÖ· $1'
master_erefresh=´íÎóµÄË¢ÐÂÊ±¼ä'$1'
master_eretry=´íÎóµÄ·¢ËÍÖØÊÔÊ±¼ä'$1'
master_eexpiry=´íÎóµÄ¹ýÆÚÊ±¼ä'$1'
master_eminimum=´íÎóµÄÈ±Ê¡ TTL '$1'
master_edelete=ÄúÃ»ÓÐÉ¾³ýÕâ¸öÇøÓòµÄÈ¨ÏÞ
master_tmplrecs=Ä£°å¼ÇÂ¼
master_name=¼ÇÂ¼Ãû³Æ
master_value=Öµ
master_user=À´×Ô±í
master_eip=¶ªÊ§»òÎÞÐ§µÄÄ£°åIPµØÖ·
master_eiptmpl=Ä£°å¼ÇÂ¼Ö»ÄÜÀ´×ÔµØÖ·¼ÇÂ¼
master_esoacannot=ÄúÎÞÈ¨±à¼­ÇøÓò²ÎÊý
master_eoptscannot=ÄúÎÞÈ¨±à¼­ÇøÓòÑ¡Ïî
master_edeletecannot=ÄúÎÞÈ¨É¾³ýÇøÓò
master_etaken=¸ÃÇøÓòÒÑ´æÔÚ
delete_title=É¾³ýÇøÓò
delete_mesg=ÊÇ·ñÈ·ÐÅÉ¾³ýÇøÓò$1 ? ËùÓÐµÄ¼ÇÂ¼ºÍÇøÓòÎÄ¼þ¶¼»á±»É¾³ý
delete_rev=É¾³ýÆäËüÇøÓòÖÐµÄÄæÏò¼ÇÂ¼ £¿
delete_fwd=É¾³ýÆäËüÇøÓòÖÐµÄÕýÏò¼ÇÂ¼£¿
mcreate_title=´´½¨Ö÷ÇøÓò
mcreate_ecannot=ÄúÎÞÈ¨´´½¨Ö÷ÇøÓò
mcreate_opts=ÐÂ½¨Ö÷ÇøÓòÑ¡Ïî
mcreate_type=ÇøÓòÀàÐÍ
mcreate_fwd=ÕýÏò (Ãû³ÆÖÁµØÖ·)
mcreate_rev=·´Ïò (µØÖ·ÖÁÃû³Æ)
mcreate_dom=ÓòÃû / ÍøÂç
mcreate_file=¼ÇÂ¼ÎÄ¼þ
mcreate_auto=×Ô¶¯
mcreate_err=´´½¨ÇøÓòÊ§°Ü
slave_title=±à¼­´ÎÇøÓò
stub_title=±à¼­¸½´øÇøÓò
slave_ecannot=Ã»ÓÐ±à¼­¸ÃÇøÓòµÄÈ¨ÏÞ
slave_opts=ÇøÓòÑ¡Ïî
slave_masters=Ö÷·þÎñÆ÷
slave_max=×î´ó´«ÊäÊ±¼ä
slave_file=¼ÇÂ¼ÎÄ¼þ
slave_check=¼ì²éÃû³Æ?
slave_notify=ÊÇ·ñ°Ñ±ä»¯Í¨Öª´ÎÇøÓò£¿
slave_update=ÔÊÐí¸üÐÂ×Ô..
slave_transfer=ÔÊÐí´«Êä×Ô..
slave_query=ÔÊÐí²éÑ¯×Ô..
slave_notify2=ÔÊÐíÍ¨Öª´ÎÇøÓò..
slave_none=ÎÞ
slave_auto=×Ô¶¯
slave_err=±£´æÑ¡ÏîÊ§°Ü
slave_emax=´íÎóµÄ×î´ó´«ÊäÊ±¼ä '$1'
slave_efile=¶ªÊ§¼ÇÂ¼ÎÄ¼þ
slave_efile2=²»ÊÇÔÊÐíµÄ¼ÇÂ¼ÎÄ¼þ'$1'
slave_mins=minutes
screate_title1=´´½¨´ÎÇøÓò
screate_title2=´´½¨¸½´øÇøÓò
screate_ecannot1=ÄúÃ»ÓÐ´´½¨´ÎÇøÓòµÄÈ¨ÏÞ
screate_ecannot2=ÄúÃ»ÓÐ´´½¨¸½´øÇøÓòµÄÈ¨ÏÞ
screate_header1=ÐÂ½¨´ÎÇøÓòÑ¡Ïî
screate_header2=ÐÂ½¨¸½´øÇøÓòÑ¡Ïî
screate_type=ÇøÓòÀàÐÍ
screate_fwd=ÕýÏò½âÎö (Ãû³Æ½âÎöÎªµØÖ·)
screate_rev=·´Ïò½âÎö (µØÖ·½âÎöÎªÃû³Æ)
screate_dom=ÇøÓòÃû / ÍøÂç
screate_err1=´´½¨´ÎÇøÓòÊ§°Ü
screate_err2=´´½¨¸½´øÇøÓòÊ§°Ü
recs_ecannot=ÄúÃ»ÓÐ±à¼­±¾ÇøÓòÖÐ¼ÇÂ¼µÄÈ¨ÏÞ
recs_title=$1 ¸ö¼ÇÂ¼
recs_header=ÔÚ $1 ÖÐ
recs_addr=µØÖ·
recs_name=Ãû³Æ
recs_ttl=TTL
recs_comment=×¢ÊÍ
recs_return=¼ÇÂ¼ÀàÐÍ
edit_title=±à¼­ $1
edit_header=ÔÚ $1 ÖÐ
edit_edit=±à¼­ $1 ¼ÇÂ¼
edit_add=Ôö¼Ó $1 ¼ÇÂ¼
edit_addr=µØÖ·
edit_name=Ãû³Æ
edit_zonename=ÇøÓòÃû
edit_ttl=´æ»îÊ±¼ä
edit_comment=×¢ÊÍ
edit_cnamemsg=¾ø¶ÔÃû±ØÐëÒÔ . ½áÎ²
edit_uprev=¸üÐÂÕýÏò£¿
edit_upfwd=¸üÐÂ·´Ïò£¿
edit_err=±£´æ¼ÇÂ¼Ê§°Ü
edit_ettl=´íÎóµÄ´æ»îÊ±¼ä'$1'
edit_eip=´íÎóµÄIP µØÖ·'$1'
edit_eip6='$1' ²»ÊÇÒ»¸öÓÐÐ§µÄIPv6µØÖ·
edit_ehost=´íÎóµÄÖ÷»úÃû'$1'
edit_ename=´íÎóµÄ¼ÇÂ¼Ãû'$1'
edit_edupip=$1µÄµØÖ·¼ÇÂ¼ÒÑ¾­´æÔÚ
edit_ens=´íÎóµÄÇøÓòÃû·þÎñ'$1'
edit_ecname=´íÎóµÄ±ðÃûÄ¿±ê '$1'
edit_emx=´íÎóµÄÓÊ¼þ·þÎñ'$1'
edit_epri=´íÎóµÄÓÅÏÈ¼¶'$1'
edit_ehard=¶ªÊ§»ò´íÎóµÄÓ²¼þÀàÐÍ
edit_eos=¶ªÊ§»ò´íÎóµÄ²Ù×÷ÏµÍ³ÀàÐÍ
edit_eserv=Î´ÊäÈëÈÎºÎÒÑÖª·þÎñÀàÐÍ
edit_ebadserv=¸ÃÖªÃûµÄ·þÎñÆ÷Ãû³Æ '$1' ²»ÕýÈ·
edit_eemail=´íÎóµÄEmailµØÖ·ÀàÐÍ '$1'
edit_etxt=´íÎóµÄÎÄ±¾¼ÇÂ¼Ãû '$1'
edit_efqdn='$1' µÄÃû×ÖÌ«³¤
edit_elabel='$1' ÖÐµÄÒ»¸ö±êÇ©Ì«³¤
edit_eloc=¶ªÊ§ÁË¾­¶ÈºÍÎ³¶È
edit_return=¼ÇÂ¼
text_title=±à¼­¼ÇÂ¼ÎÄ¼þ
text_desc=¸Ã±íµ¥ÔÊÐíÄúÊÖ¹¤±à¼­ DNS ¼ÇÂ¼ÎÄ¼þ $1. Webmin²»Ìá¹©Óï·¨¼ì²é, ÇøÓòÐòÁÐºÅ²»»á×Ô¶¯Ôö¼Ó¡£
text_undo=¸´Ô­
text_ecannot=ÄúÎÞÈ¨±à¼­¼ÇÂ¼ÎÄ¼þ
restart_ecannot=²»ÔÊÐíÖØÐÂÆô¶¯ BIND
restart_esig=ÐÅºÅ´¦ÀíÊ§°Ü $1 : $2
start_ecannot=ÄúÃ»ÓÐÆô¶¯BINDµÄÈ¨ÏÞ
start_error=Æô¶¯ BIND:$1 Ê§°Ü
fwd_title=±à¼­×ª·¢ÇøÓò
fwd_ecannot=ÄúÃ»ÓÐ±à¼­¸ÃÇøÓòµÄÈ¨ÏÞ
fwd_opts=Zone Ñ¡Ïî
fwd_masters=Ö÷·þÎñÆ÷
fwd_forward=ÊÇ·ñÊÔÓÃÁíÒ»¸ö·þÎñÆ÷£¿
fwd_check=ÊÇ·ñ¼ì²éÃû³Æ£¿
fwd_err=±£´æÑ¡ÏîÊ§°Ü
fcreate_title=´´½¨×ª·¢ÇøÓò
fcreate_ecannot=ÄúÃ»ÓÐ´´½¨×ª·¢ÇøÓòµÄÈ¨ÏÞ
fcreate_opts=ÐÂ½¨×ª·¢ÇøÓòÑ¡Ïî
fcreate_type=ÇøÓòÀàÐÍ
fcreate_fwd=ÕýÏò(Ãû³ÆÖÁµØÖ·)
fcreate_rev=·´Ïò(µØÖ·ÖÁÃû³Æ)
fcreate_dom=ÓòÃû/ÍøÂç
fcreate_masters=Ö÷·þÎñÆ÷
fcreate_err=´´½¨×ª·¢ÇøÓòÊ§°Ü
create_enet=´íÎóµÄÍøÂç'$1'
create_edom=´íÎóµÄÓòÃû'$1'
create_edom2='$1'ÊÇÓò²»ÊÇÍøÂç
create_efile=´íÎóµÄÎÄ¼þÃû'$1'
create_efile2=²»ÔÊÐíµÄÇøÓòÎÄ¼þ'$1'
create_efile3=´´½¨'$1'Ê§°Ü : $2
create_emaster=´íÎóµÄÖ÷·þÎñÆ÷µØÖ·'$1'
create_enone=ÖÁÉÙÐèÊäÈëÒ»¸öÖ÷·þÎñÆ÷
boot_err=ÏÂÔØÊ§°Ü
type_A=µØÖ·
type_AAAA=IPv6 µØÖ·
type_NS=Ãû³Æ·þÎñÆ÷
type_CNAME=Ãû³Æ±ðÃû
type_MX=ÓÊ¼þ·þÎñÆ÷
type_HINFO=Ö÷»úÐÅÏ¢
type_TXT=ÎÄ±¾
type_WKS=ÖªÃû·þÎñ
type_RP=¸ºÔðÈË
type_PTR=·´ÏòµØÖ·
type_LOC=Î»ÖÃ
edit_A=µØÖ·
edit_AAAA=IPv6 µØÖ·
edit_NS=Ãû³Æ·þÎñÆ÷
edit_CNAME=Ãû³Æ±ðÃû
edit_MX=ÓÊ¼þ·þÎñÆ÷
edit_HINFO=Ö÷»úÏûÏ¢
edit_TXT=ÎÄ±¾
edit_WKS=ÖªÃû·þÎñ
edit_RP=¸ºÔðÈË
edit_PTR=·´ÏòµØÖ·
edit_LOC=Î»ÖÃ
recs_A=µØÖ·
recs_AAAA=IPv6 µØÖ·
recs_NS=Ãû³Æ·þÎñÆ÷
recs_CNAME=Ãû³Æ±ðÃû
recs_MX=ÓÊ¼þ·þÎñÆ÷
recs_HINFO=Ö÷»úÐÅÏ¢
recs_TXT=ÎÄ±¾
recs_WKS=ÖªÃû·þÎñ
recs_RP=¸ºÔðÈË
recs_PTR=·´ÏòµØÖ·
recs_LOC=Î»ÖÃ
value_A1=µØÖ·
value_NS1=Ãû³Æ·þÎñÆ÷
value_CNAME1=ÕæÃû
value_MX1=ÓÅÏÈ¼¶
value_MX2=ÓÊ¼þ·þÎñÆ÷
value_HINFO1=Ó²¼þ
value_HINFO2=²Ù×÷ÏµÍ³
value_TXT1=ÏûÏ¢
value_WKS1=µØÖ·
value_WKS2=Ð­Òé
value_WKS3=·þÎñ
value_RP1=Email µØÖ·
value_RP2=ÎÄ±¾¼ÇÂ¼Ãû³Æ
value_PTR1=Ö÷»úÃû
value_LOC1=¾­¶ÈºÍÎ³¶È
warn=¾¯¸æ
fail=Ê§°Ü
ignore=ºöÂÔ
default=È±Ê¡
minutes=·Ö
seconds=Ãë
hours=Ð¡Ê±
days=Ìì
weeks=ÐÇÆÚ
listed=ÁÐ±í ..
eip=´íÎóµÄIPµØÖ·'$1'
acl_zones=±¾ÓÃ»§ÇøÓò¿É±à¼­
acl_zall=ËùÓÐÇøÓò
acl_zsel=ÒÑÑ¡ÔñµÄÇøÓò..
acl_master=ÊÇ·ñ¿É´´½¨Ö÷ÇøÓò£¿
acl_slave=ÊÇ·ñ¿É´´½¨´Î/¸½´øÇøÓò£¿
acl_forward=ÊÇ·ñ¿É´´½¨×ª·¢ÇøÓò£¿
acl_defaults=ÊÇ·ñ¿É´´½¨È«¾ÖÑ¡Ïî£¿
acl_reverse=ÊÇ·ñ¿ÉÔÚÈÎºÎÓò¸üÐÂ·´Ïò½âÎö£¿
acl_multiple=ÊÇ·ñÒ»¸öIP¿ÉÒÔ¶ÔÓ¦¶àµØÖ·£¿
acl_ro=ÊÇ·ñÖ»¶ÁÄ£Ê½£¿
acl_apply=ÊÇ·ñ¸ü¸ÄÉúÐ§£¿
acl_dir=ÏÞÖÆÇøÓòÎÄ¼þÓÚÄ¿Â¼
acl_file=ÄÜ¹»±à¼­¼ÇÂ¼ÎÄ¼þÂð£¿
acl_params=ÄÜ¹»±à¼­ÇøÓò²ÎÊýÂð£¿
acl_opts=ÄÜ¹»±à¼­ÇøÓòÑ¡ÏîÂð£¿
acl_delete=ÄÜ¹»É¾³ýÇøÓòÂð£¿
acl_findfree=ÄÜËÑË÷×ÔÓÉ IP ºÅÂð£¿
servers_title=ÆäËü DNS ·þÎñÆ÷
servers_ip=IP µØÖ·
servers_bogus=ºöÂÔÎ±×°·þÎñÆ÷£¿
servers_format=ÇøÓò´«Êä¸ñÊ½
servers_trans=×î´ó´«Êä
servers_one=Ã¿´ÎÒ»¸ö
servers_many=¶à¸ö
servers_err=±£´æÆäËûDNS·þÎñÆ÷Ê±Ê§°Ü
servers_eip=´íÎóµÄIPµØÖ·'$1'
servers_etrans=´íÎóµÄ×î´ó´«ÊäÊý'$1'
logging_title=ÈÕÖ¾ºÍ´íÎó
logging_ecannot=ÄúÎÞÈ¨ÅäÖÃÈÕÖ¾
logging_header=È«²¿ÈÕÖ¾ºÍ´íÎóÑ¡Ïî
logging_default1=Ê¹ÓÃ BIND µÄÈ±Ê¡ÈÕÖ¾ÉèÖÃ
logging_default2=Ê¹ÓÃÈçÏÂÉèÖÃ ..
logging_cats=ÈÕÖ¾·ÖÀà
logging_cat=·ÖÀà
logging_cchans=Í¨µÀ
logging_chans=ÈÕÖ¾Í¨µÀ
logging_cname=Í¨µÀÃû³Æ
logging_to=Êä³öÈÕÖ¾µ½
logging_file=ÎÄ¼þ
logging_fd=ÎÄ¼þÃèÊö·û
logging_versions=±£³ÖµÄ°æ±¾
logging_ver1=ÎÞ
logging_ver2=ÎÞÏÞ
logging_size=×î´óÎÄ¼þ
logging_sz1=ÎÞÏÞ
logging_syslog=ÏµÍ³ÈÕÖ¾¼¶±ð
logging_null=Ã»ÓÐÈÎºÎµØ·½
logging_sev=×îÐ¡ÏûÏ¢¼¶±ð
logging_any=ÈÎºÎ
logging_debug=µ÷ÊÔ¼¶ ..
logging_dyn=È«¾Ö¼¶
logging_pcat=ÈÕÖ¾ÖÐ¼ÇÂ¼·ÖÀà
logging_psev=ÈÕÖ¾ÖÐ¼ÇÂ¼ÑÏÖØÐÔ
logging_ptime=ÈÕÖ¾ÖÐ¼ÇÂ¼ÈÕÆÚºÍÊ±¼ä
logging_add=Ìí¼ÓÐÂµÄÍ¨µÀ
logging_none=Î´¶¨ÒåÈÕÖ¾Í¨µÀ
logging_err=±£´æÈÕÖ¾Ñ¡ÏîÊ§°Ü
logging_ename=´íÎóµÄÍ¨µÀÃû'$1'
logging_efile=¶ªÊ§ÈÕÖ¾ÎÄ¼þÃû
logging_ever=´íÎó°æ±¾'$1'
logging_esize=´íÎóÈÕÖ¾´óÐ¡'$1'
acls_title=·ÃÎÊ¿ØÖÆÁÐ±í
acls_ecannot=ÄúÃ»ÓÐ±à¼­È«¾Ö·ÃÎÊ¿ØÖÆÁÐ±íµÄÈ¨ÏÞ
acls_name=·ÃÎÊ¿ØÖÆÁÐ±íÃû³Æ
acls_values=Æ¥ÅäµØÖ·,ÍøÂçºÍ·ÃÎÊ¿ØÖÆÁÐ±í
acls_err=±£´æ¿ØÖÆÁÐ±íÊ§°Ü
acls_ename=´íÎóµÄ·ÃÎÊ¿ØÖÆÁÐ±íÃû³Æ'$1'
files_title=ÎÄ¼þºÍÄ¿Â¼
files_ecannot=ÄúÃ»ÓÐÅäÖÃÎÄ¼þµÄÈ¨ÏÞ
files_header=È«²¿ÎÄ¼þºÍÄ¿Â¼Ñ¡Ïî
files_stats=Í³¼ÆÊä³öÎÄ¼þ
files_dump=Êý¾Ý¿â dump ÎÄ¼þ
files_pid=½ø³Ì ID ÎÄ¼þ
files_xfer=Â·¾¶µ½ÇøÓòµÄ´«Êä³ÌÐò
files_err=±£´æÎÄ¼þºÍÄ¿Â¼Ñ¡ÏîÊ§°Ü
files_efile=¶ªÊ§»ò´íÎóµÄÎÄ¼þÃû
forwarding_title=×ª·¢ºÍ×ª»»
forwarding_ecannot=ÄúÃ»ÓÐ±à¼­×ª·¢ºÍ´«ÊäÑ¡ÏîµÄÈ¨ÏÞ
forwarding_header=È«Óò×ª·¢ºÍÇøÓò×ª»»Ñ¡Ïî
forwarding_fwders=×ª·¢²éÑ¯µÄ·þÎñÆ÷
forwarding_fwd=Èç×ª·¢·½²»ÏìÓ¦ÔòÖ±½Ó²éÕÒ
forwarding_max=´«ÊäÊ±¼äµÄ×î´óÇøÓò´«ÊäÊ±¼ä
forwarding_format=ÇøÓò´«Êä¸ñÊ½
forwarding_one=Ã¿´ÎÒ»¸ö
forwarding_many=¶à¸ö
forwarding_in=×î´ó²¢ÐÐÇøÓò´«ÊäÊý
forwarding_err=±£´æ×ª·¢ºÍ´«ÊäÑ¡ÏîÊ§°Ü
forwarding_emins=¶ªÊ§»ò´íÎóµÄ×î´ó´«ÊäÊ±¼ä
forwarding_etrans=¶ªÊ§»ò´íÎóµÄ×î´ó²¢ÐÐ´«Êä
forwarding_minutes=·ÖÖÓ
net_title=µØÖ·ºÍÍØÆË
net_ecannot=ÄúÃ»ÓÐ±à¼­µØÖ·ºÍÍØÆËÑ¡ÏîµÄÈ¨ÏÞ
net_header=È«ÓòµØÖ·ºÍÍØÆËÑ¡Ïî
net_listen=¼àÌýµÄ¶Ë¿ÚºÍµØÖ·
net_below=ÈçÏÂÁÐ±í..
net_port=¶Ë¿Ú
net_addrs=µØÖ·
net_saddr=²éÑ¯µÄÔ´IPµØÖ·
net_sport=²éÑ¯µÄÔ´¶Ë¿Ú
net_topol=Ãû³Æ·þÎñÆ÷Ñ¡ÔñÍØÆË½á¹¹
net_err=±£´æµØÖ·ºÍÍØÆËÑ¡ÏîÊ§°Ü
net_eport=´íÎóµÄ¶Ë¿ÚºÅ'$1'
misc_title=ÔÓÀà
misc_ecannot=ÄúÃ»ÓÐ±à¼­ÔÓÀàÑ¡ÏîµÄÈ¨ÏÞ
misc_header=ÔÓÀà
misc_core=×î´óÄÚºËdump´óÐ¡
misc_data=×î¶àÊ¹ÓÃµÄÊý¾ÝÄÚ´æ
misc_files=×î¶à´ò¿ªµÄÎÄ¼þ
misc_stack=×î¶àÕ»Ê¹ÓÃµÄÄÚ´æ
misc_clean=Çå³ý¹ýÆÚ¼ÇÂ¼¼ä¸ôÊ±¼ä
misc_iface=¼ì²éÐÂ½Ó¿ÚµÄÊ±¼ä¼ä¸ô
misc_stats=ÈÕÖ¾Í³¼ÆµÄÊ±¼ä¼ä¸ô
misc_recursion=ÊÇ·ñ¶Ô¿Í»§»ú½øÐÐÈ«ÃæµÝ¹é²éÑ¯£¿
misc_cnames=ÊÇ·ñÒ»¸öÃû³ÆÔÊÐí¶àCNAME±ðÃû£¿
misc_glue=ÊÇ·ñ»ñÈ¡ glue ¼ÇÂ¼£¿
misc_nx=»ØÓ¦ÊÇ·ñÉèÖÃÈ¨ÏÞAAÎ»£¿
misc_err=±£´æÔÓÀàÑ¡ÔñÊ§°Ü
misc_esize=´íÎó´óÐ¡'$1'
misc_efiles=´íÎóµÄ×î¶à´ò¿ªÎÄ¼þÊý'$1'
misc_emins=´íÎóµÄ·ÖÖÓÊý'$1'
misc_mins=·ÖÖÓ
zonedef_title=È±Ê¡ÇøÓò
zonedef_msg=ÉèÖÃÐÂÖ÷ÇøÓòÎªÈ±Ê¡Öµ
zonedef_err=±£´æÇøÓòÈ±Ê¡ÖµÊ§°Ü
zonedef_ecannot=ÄúÃ»ÓÐ¸Ä±äÖ÷ÇøÓòÈ±Ê¡ÖµµÄÈ¨ÏÞ
zonedef_msg2=È±Ê¡ÇøÓòÉèÖÃ
zonedef_transfer=ÔÊÐí´«Êä×Ô..
zonedef_query=ÔÊÐí²éÑ¯×Ô..
zonedef_cmaster=ÔÚÖ÷ÇøÓòÖÐ²éÑ¯Ãû³Æ£¿
zonedef_cslave=ÔÚ´ÎÇøÓòÖÐ²éÑ¯Ãû³Æ£¿
zonedef_cresponse=ÔÚ»ØÓ¦ÖÐ²éÑ¯Ãû³Æ£¿
zonedef_notify=±ä»¯Í¨Öª´ÎÇøÓò?
find_title=ÕÒµ½ÇøÓò
find_match=Óë$1Æ¥ÅäµÄÇøÓò..
find_none=Ã»ÕÒµ½ÇøÓò
efirst=$2 ÖÐµÚ $1 ÐÐµÄµÚÒ»ÌõÖ¸Áî´íÎó
findfree_title=ÕÒµ½×ÔÓÉ IP
findfree_desc=ÕÒµ½×ÔÓÉ IP
findfree_nofind=ÄúÎÞÈ¨ËÑË÷×ÔÓÉ IPs
findfree_header=ÔÚ $1 ÖÐ
findfree_sopt=ËÑË÷Ñ¡Ïî
findfree_IPrange=IP ·¶Î§
findfree_from=À´×Ô
findfree_to=·¢Íù
findfree_cf=½« <em>`freeXXX'</em> Ö÷»úÃû¿´×÷×ÔÓÉ IP
findfree_search=ËÑË÷
log_servers=ÒÑ¸Ä±äµÄÆäËü DNS ·þÎñÆ÷
log_logging=ÒÑ¸Ä±äµÄÈÕÖ¾ºÍ´íÎó
log_acls=ÒÑ¸Ä±äµÄ·ÃÎÊ¿ØÖÆÁÐ±í
log_files=ÒÑ¸Ä±äµÄÎÄ¼þºÍÄ¿Â¼
log_forwarding=ÒÑ¸Ä±äµÄ×ª·¢ºÍ±ä»»
log_net=ÒÑ¸Ä±äµÄµØÖ·ºÍÍØÆË¿Õ¼ä
log_misc=ÒÑ¸Ä±äµÄÆäËüÑ¡Ïî
log_zonedef=ÒÑ¸Ä±äµÄÈ±Ê¡ÇøÓò
log_apply=ÒÑÓ¦ÓÃ¸Ä±äÖµ
log_start=Æô¶¯ÁË DNS ·þÎñÆ÷
log_master=´´½¨ÁËÖ÷ÇøÓò$1
log_slave=´´½¨ÁË´ÎÇøÓò$1
log_stub=´´½¨ÁË¸½´øÇøÓò$1
log_forward=´´½¨ÁË×ª·¢ÇøÓò$1
log_delete_master=É¾³ýÁËÖ÷ÇøÓò$1
log_delete_slave=É¾³ýÁË´ÎÇøÓò$1
log_delete_stub=É¾³ýÁË¸½´øÇøÓò$1
log_delete_forward=É¾³ýÁË×ª·¢ÇøÓò$1
log_text=Îª $1 ÊÖ¹¤±à¼­µÄ¼ÇÂ¼
log_soa=Îª $1 ¸Ä±äÁËÇøÓò²ÎÊý$1
log_opts=Îª $1 ¸Ä±äÁËÇøÓòÑ¡Ïî
log_delete_record=ÔÚÇøÓò $3 ÖÐÉ¾³ý $1 ¼ÇÂ¼ $2
log_create_record=ÔÚÇøÓò $3 ÖÐ´´½¨ $1 ¼ÇÂ¼ $2
log_modify_record=ÔÚ $3 ÖÐ¸üÐÂ $1,¼ÇÂ¼ $2
log_boot=ÒÑ´´½¨³õÊ¼ÅäÖÃÎÄ¼þ
0707010004826f000081a40000000000000002000000013d1fe2d200002a6d000000200000000000000000000000000000001c00000003reloc/bind8/lang/zh_TW.Big5   index_title=BIND 8 DNS ¦øªA¾¹
index_enamed=¦b±zªº¨t²Î¤W§ä¤£¨ì BIND 8 DNS ¦øªA¾¹ $1. ¥i¯à¬O©|¥¼³Q¦w¸Ë, ©ÎªÌ±zªº <a href='$2'>BIND 8 ¼Ò²Õ²ÕºA</a>¬O¿ù»~.
index_eversion=¦øªA¾¹°õ¦æÀÉ $1 ¬Ý°_¨Ó¤£¹³¬O BIND 8. ±z¥i¯à¥²¶·¨Ï¥Î <a href='$2'>BIND 4 ¼Ò²Õ</a>.
index_eempty=BIND Version 8 $1 ªº¥D­n²ÕºAÀÉ¤£¦s¦b, ©ÎªÌ¬O¿ù»~ªº. ¬O§_­n«Ø¥ß?
index_local=³]©w¦WºÙ¦øªA¾¹¶È¨Ñ¤º³¡ (µLºô»Úºô¸ô³sµ²) ¨Ï¥Î
index_download=³]©w¦¨ºô»Úºô¸ô¦WºÙ¦øªA¾¹, ¨Ã¤U¸ü®Ú¦øªA¾¹¸ê°T
index_webmin=³]©w¦¨ºô»Úºô¸ô¦WºÙ¦øªA¾¹, ¦ý¨Ï¥Î Webmin ©Ò´£¨Ñ¸ûÂÂªº®Ú¦øªA¾¹¸ê°T
index_create=«Ø¥ß¥D­n²ÕºAÀÉ®×¨Ã±Ò°Ê¦WºÙ¦øªA¾¹
index_zones=²{¦sªº DNS °Ï°ì
index_none=¦b³o­Ó¦WºÙ¦øªA¾¹¤W¨S¦³©w¸q DNS °Ï°ì
index_addmaster=«Ø¥ß¤@­Ó·sªº¥D±±°Ï°ì
index_addslave=«Ø¥ß¤@­Ó·sªº³Q±±°Ï°ì
index_addstub=«Ø¥ß¤@­Ó·sªºÀx¦s°Ï°ì
index_addfwd=«Ø¥ß¤@­Ó·sªºÂà°e°Ï°ì
index_apply=®M¥ÎÅÜ§ó
index_applymsg=«ö¤U³o­Ó«ö¶s¥H­«·s±Ò°Ê BIND 8 ¦øªA¾¹. ³o¥i¥H¨Ï¥Ø«eªº²ÕºA¥Í®Ä
index_start=±Ò°Ê¦WºÙ¦øªA¾¹
index_startmsg=«ö¤U³o­Ó«ö¶s¥H±Ò°Ê BIND 8 ¦øªA¾¹, ¨Ã¸ü¤J¥Ø«eªº²ÕºA
index_zone=°Ï°ì
index_type=Ãþ§O
index_master=¥D±±
index_slave=³Q±±
index_stub=Àx¦s
index_forward=Âà°e
index_opts=¦øªA¾¹¥þ°ì¿ï¶µ
index_return=°Ï°ì¦Cªí

master_title=½s¿è¥D­n°Ï°ì
master_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó°Ï°ì
master_manual=½s¿è¬ö¿ýÀÉ
master_soa=½s¿è°Ï°ì°Ñ¼Æ
master_options=½s¿è°Ï°ì¿ï¶µ
master_del=§R°£°Ï°ì
master_delmsg=«ö¤U³o­Ó«ö¶s¥H±q±zªº DNS ¦øªA¾¹¤¤§R°£³o­Ó°Ï°ì.
master_delrev=¦b³o­Ó¦øªA¾¹¨ä¥L°Ï°ì¤¤¹ïÀ³ªº¤Ï¬d¸ê®Æ¤]·|³Q§R°£.
master_tmpl=¬O§_¨Ï¥Î°Ï°ì¼ÒªO?
master_ip=¬O§_¦b¼ÒªO¬ö¿ý¤¤¨Ï¥Î IP ¦ì§}?
master_params=°Ï°ì°Ñ¼Æ
master_server=¥D±±¦øªA¾¹
master_email=¹q¤l¶l¥ó¦ì§}
master_refresh=§ó·s®É¶¡
master_retry=¶Ç¿é­«¸Õ®É¶¡
master_expiry=¹L´Á®É¶¡
master_minimum=¹w³]ªº¦s¬¡®É¶¡
master_opts=°Ï°ì¿ï¶µ
master_check=¬O§_ÀË¬d¦WºÙ?
master_notify=³qª¾³Q±±¦øªA¾¹ÅÜ§ó?
master_update=¤¹³\±q ... §ó·s
master_transfer=¤¹³\±q ... ¶Ç¿é
master_query=¤¹³\±q ... ¬d¸ß
master_notify2=¦P®É³qª¾³Q±±¦øªA¾¹ ...
master_type=Ãþ§O
master_records=¬ö¿ý
master_return=¬ö¿ýÃþ§O
master_secs=¬í
master_err=Àx¦s¿ï¶µ¥¢±Ñ
master_ero=±z¤£³Q¤¹³\§ó·s°Ï°ì
master_err2=§ó·s°Ï°ì¥¢±Ñ
master_emaster='$1' ¤£¬O¤@­Ó¦³®Äªº¥D±±¦øªA¾¹
master_eemail='$1' ¤£¬O¤@­Ó¦³®Äªº¹q¤l¶l¥ó¦ì§}
master_erefresh='$1' ¤£¬O¤@­Ó¦³®Äªº§ó·s®É¶¡
master_eretry='$1' ¤£¬O¤@­Ó¦³®Äªº¶Ç¿é­«¸Õ®É¶¡
master_eexpiry='$1' ¤£¬O¤@­Ó¦³®Äªº¹L´Á®É¶¡
master_eminimum='$1' ¤£¬O¤@­Ó¦³®Äªº¹w³]¦s¬¡®É¶¡
master_edelete=±z¤£³Q¤¹³\§R°£³o­Ó°Ï°ì
master_tmplrecs=¼ÒªO¬ö¿ý
master_name=¬ö¿ý¦WºÙ
master_value=¼Æ­È
master_user=¨Ó·½ªí³æ
master_eip=¿ò¥¢©Î¿ù»~ªº¼ÒªO IP ¦ì§}
master_eiptmpl=¼ÒªO¬ö¿ý¼Æ­È¶È¯à¨Ó¦Û¦ì§}¬ö¿ý
master_esoacannot=±z¤£³Q¤¹³\½s¿è°Ï°ì°Ñ¼Æ
master_eoptscannot=±z¤£³Q¤¹³\½s¿è°Ï°ì¿ï¶µ
master_edeletecannot±z¤£³Q¤¹³\§R°£°Ï°ì

delete_title=§R°£°Ï°ì
delete_mesg=±z½T©w­n§R°£°Ï°ì $1 ¶Ü? ©Ò¦³ªº¬ö¿ý»P³o­Ó°Ï°ìÀÉ³£±N³Q§R°£.
delete_rev=¬O§_§R°£¨ä¥L°Ï°ì¤¤ªº¤Ï¬d¬ö¿ý?
delete_fwd=¬O§_§R°£¨ä¥L°Ï°ì¤¤ªº¥¿¦V¬ö¿ý?

mcreate_title=«Ø¥ß¥D±±°Ï°ì
mcreate_ecannot=±z¤£¯à«Ø¥ß¥D±±°Ï°ì
mcreate_opts=·sªº¥D±±°Ï°ì¿ï¶µ
mcreate_type=°Ï°ìÃþ§O
mcreate_fwd=¥¿¦V (¦WºÙ¨ì¦ì§})
mcreate_rev=¤Ï¬d (¦ì§}¨ì¦WºÙ)
mcreate_dom=ºô°ì¦WºÙ / ºô¸ô
mcreate_file=¬ö¿ýÀÉ
mcreate_auto=¦Û°Ê
mcreate_err=«Ø¥ß°Ï°ì¥¢±Ñ
mcreate_enet='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô
mcreate_edom='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ
mcreate_edom2='$1'¥²¶·¬O¤@­Óºô»P¦WºÙ, ¦Ó¤£¬Oºô¸ô
mcreate_efile='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ®×¦WºÙ
mcreate_efile2='$1' ¤£¬O¤@­Ó¥i¥H±µ¨üªº°Ï°ìÀÉ®×
mcreate_efile3=µLªk«Ø¥ß '$1' : $2

slave_title=½s¿è³Q±±°Ï°ì
stub_title=½s¿èÀx¦s°Ï°ì
slave_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó°Ï°ì
slave_opts=°Ï°ì¿ï¶µ
slave_masters=¥D±±¦øªA¾¹
slave_max=³Ì¤j¶Ç¿é®É¶¡
slave_file=¬ö¿ýÀÉ®×
slave_check=¬O§_ÀË¬d¦WºÙ?
slave_notify=³qª¾³Q±±¦øªA¾¹ÅÜ§ó?
slave_update=¤¹³\±q ... §ó·s
slave_transfer=¤¹³\±q ... ¶Ç¿é
slave_query=¤¹³\±q ... ¬d¸ß
slave_notify2=¦P®É³qª¾³Q±±¦øªA¾¹ ...
slave_none=µL
slave_auto=¦Û°Ê
slave_err=Àx¦s¿ï¶µ¥¢±Ñ
slave_emax='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤j¶Ç¿é®É¶¡
slave_efile=¿ò¥¢¬ö¿ýÀÉ®×
slave_efile2='$1' ¤£¬O¤@­Ó¥i¥H±µ¨üªº¬ö¿ýÀÉ®×

screate_title1=«Ø¥ß³Q±±°Ï°ì
screate_title2=«Ø¥ßÀx¦s°Ï°ì
screate_ecannot1=±z¤£³Q¤¹³\«Ø¥ß³Q±±°Ï°ì
screate_ecannot2=±z¤£³Q¤¹³\«Ø¥ßÀx¦s°Ï°ì
screate_header1=·sªº³Q±±°Ï°ì¿ï¶µ
screate_header2=·sªºÀx¦s°Ï°ì¿ï¶µ
screate_type=°Ï°ìÃþ§O
screate_fwd=¥¿¦V (¦WºÙ¨ì¦ì§})
screate_rev=¤Ï¬d (¦ì§}¨ì¦WºÙ)
screate_dom=ºô°ì¦WºÙ / ºô¸ô
screate_err1=µLªk«Ø¥ß³Q±±°Ï°ì
screate_err2=µLªk«Ø¥ßÀx¦s°Ï°ì
screate_enet='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô
screate_edom='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ
screate_emaster='$1' ¤£¬O¤@­Ó¦³®Äªº¥D±±¦øªA¾¹¦ì§}
screate_enone=±z¦Ü¤Ö¥²¶·¿é¤J¤@­Ó¥D±±¦øªA¾¹
screate_efile='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ®×¦WºÙ
screate_efile2='$1' ¤£¬O¤@­Ó¥i¥H±µ¨üªº°Ï°ìÀÉ®×
screate_efile3=µLªk«Ø¥ß '$1' : $2

recs_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó°Ï°ì¤¤ªº¬ö¿ý
recs_title=$1 ¬ö¿ý
recs_header=¦b $1
recs_addr=¦ì§}
recs_name=¦WºÙ
recs_ttl=¦s¬¡®É¶¡
recs_return=¬ö¿ý

edit_title=½s¿è $1
edit_header=¦b $1
edit_edit=½s¿è $1 ¬ö¿ý
edit_add=¼W¥[ $1 ¬ö¿ý
edit_addr=´¤¦Ü
edit_name=¦WºÙ
edit_ttl=¦s¬¡®É¶¡
edit_cnamemsg=µ´¹ï¦WºÙ¥²¶·¥H '.' µ²§À
edit_uprev=¬O§_§ó·s¤Ï¬d¸ê®Æ?
edit_upfwd=¬O§_§ó·s¥¿¦V¸ê®Æ?
edit_err=µLªkÀx¦s¬ö¿ý
edit_ettl='$1' ¤£¬O¤@­Ó¦³®Äªº¦s¬¡®É¶¡
edit_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
edit_ehost='$1' ¤£¬O¤@­Ó¦³­nªº¥D¾÷¦WºÙ
edit_ename='$1' ¤£¬O¤@­Ó¦³®Äªº¬ö¿ý¦WºÙ
edit_edupip=$1 ªº¦ì§}¬ö¿ý¤w¸g¦s¦b
edit_ens='$1' ¤£¬O¤@­Ó¦³®Äªº¦WºÙ¦øªA¾¹
edit_ecname='$1' ¤£¬O¤@­Ó¦³®Äªº§O¦W¥Ø¼Ð
edit_emx='$1' ¤£¬O¤@­Ó¦³®Äªº¶l¥ó¦øªA¾¹
edit_epri='$1' ¤£¬O¤@­Ó¦³®ÄªºÀu¥ý­È
edit_ehard=¿ò¥¢©Î¿ù»~ªºµwÅéÃþ§O
edit_eos=¿ò¥¢©Î¿ù»~ªº§@·~¨t²ÎÃþ§O
edit_eserv=±z¨S¦³¿é¤J¥ô¦ó¤wª¾ªºªA°È
edit_eemail='$1' ¤£¬O¤@­Ó¦³®Äªº¹q¤l¶l¥ó¦ì§}
edit_etxt='$1' ¤£¬O¤@­Ó¦³®Äªº¤å¦r¬ö¿ý¦WºÙ

text_title=½s¿è¬ö¿ýÀÉ
text_desc=³o­Óªí³æ¤¹³\±z¤â°Ê½s¿è DNS ¬ö¿ýÀÉ®× $1. Webmin ±N¤£·|¶i¦æ¥ô¦ó»yªkÀË¬d, ¦Ó¥B°Ï»PÀÉ®×§Ç¸¹¤£·|¦Û°Ê¼W¥[.
text_undo=´_­ì
text_ecannot=±z¤£³Q¤¹§Ç½s¿è¬ö¿ýÀÉ®×

restart_ecannot=±z¤£³Q¤¹³\­«·s±Ò°Ê BIND
restart_esig=°e¥X°T¸¹µ¹µ{§Ç¥¢±Ñ $1 : $2
start_ecannot=±z¤£³Q¤¹§Ç±Ò°Ê BIND
start_error=±Ò°Ê BIND ¥¢±Ñ : $1

fwd_title=½s¿èÂà°e°Ï°ì
fwd_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó°Ï°ì
fwd_opts=°Ï°ì¿ï¶µ
fwd_masters=¥D±±¦øªA¾¹
fwd_forward=¬O§_¹Á¸Õ¨ä¥L¦øªA¾¹?
fwd_check=¬O§_ÀË¬d¦WºÙ?
fwd_err=Àx¦s¿ï¶µ¥¢±Ñ

fcreate_title=«Ø¥ßÂà°e°Ï°ì
fcreate_ecannot=±z¤£³Q¤¹§Ç«Ø¥ßÂà°e°Ï°ì
fcreate_opts=·sªºÂà°e°Ï°ì¿ï¶µ
fcreate_type=°Ï°ìÃþ§O
fcreate_fwd=¥¿¦V (¦WºÙ¨ì¦ì§})
fcreate_rev=¤Ï¬d (¦ì§}¨ì¦WºÙ)
fcreate_dom=ºô°ì¦WºÙ / ºô¸ô
fcreate_masters=¥D±±¦øªA¾¹
fcreate_err=«Ø¥ßÂà°e°Ï°ì¥¢±Ñ
fcreate_enet='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô
fcreate_edom='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ
fcreate_emaster='$1' ¤£¬O¤@­Ó¦³®Äªº¥D±±¦øªA¾¹¦ì§}
fcreate_enone=±z¦Ü¤Ö¥²¶·¿é¤J¤@­Ó¥D±±¦øªA¾¹

boot_err=¤U¸ü¥¢±Ñ

type_A=¦ì§}
type_NS=¦WºÙ¦øªA¾¹
type_CNAME=§O¦W
type_MX=¶l¥ó¦øªA¾¹
type_HINFO=¥D¾÷¸ê°T
type_TXT=¤å¦r
type_WKS=¤@¯ëªA°È
type_RP=­t³d¤H
type_PTR=¤Ï¬d¦ì§}

value_A1=¦ì§}
value_NS1=¦WºÙ¦øªA¾¹
value_CNAME1=¯u¹ê¦WºÙ
value_MX1=Àu¥ý­È
value_MX2=¶l¥ó¦øªA¾¹
value_HINFO1=µwÅé
value_HINFO2=§@·~¨t²Î
value_TXT1=°T®§
value_WKS1=¦ì§}
value_WKS2=¨ó©w
value_WKS3=ªA°È
value_RP1=¹q¤l¶l¥ó¦ì§}
value_RP2=¤å¦r¬ö¿ý
value_PTR1=¥D¾÷¦WºÙ

warn=Äµ§i
fail=¥¢±Ñ
ignore=©¿²¤
default=¹w³]
listed=ºÊÅ¥ ...
eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}

acl_zones=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªººô°ì
acl_master=¬O§_¥i¥H«Ø¥ß¥D±±°Ï°ì?
acl_slave=¬O§_¥i¥H«Ø¥ß ³Q±±/Àx¦s °Ï°ì?
acl_forward=¬O§_¥i¥H«Ø¥ßÂà°e°Ï°ì?
acl_defaults=¬O§_¥i¥H½s¿è¥þ°ì¿ï¶µ?
acl_reverse=¬O§_¥i¥H§ó·s¥ô·Nºô°ì¤¤ªº¤Ï¬d¦ì§}?
acl_multiple=¬O§_¥i¥H±N¦h­Ó¦ì§}µ¹¬Û¦Pªº IP?
acl_ro=¬O§_°ßÅª¦s¨ú¼Ò¦¡?
acl_apply=¬O§_¥i¥H®M¥ÎÅÜ§ó?
acl_dir=­­¨î°Ï°ìÀÉ®×¨ì¥Ø¿ý
acl_file=¬O§_¥i¥H½s¿è¬ö¿ýÀÉ®×?
acl_params=¬O§_¥i¥H½s¿è°Ï°ì°Ñ¼Æ?
acl_opts=¬O§_¥i¥H½s¿è°Ï°ì¿ï¶µ?
acl_delete=¬O§_¥i¥H§R°£°Ï°ì?

servers_title=¨ä¥L DNS ¦øªA¾¹
servers_ip=IP ¦ì§}
servers_bogus=¬O§_©¿²¤°°³yªº¦øªA¾¹?
servers_format=°Ï°ì¶Ç¿é®æ¦¡
servers_trans=³Ì¤j¶Ç¿é¶q
servers_one=¤@¦¸
servers_many=¦h¦¸
servers_err=Àx¦s¨ì¨ä¥L DNS ¦øªA¾¹¥¢±Ñ
servers_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
servers_etrans='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤j¶Ç¿é¶q

logging_title=¬ö¿ý»P¿ù»~
logging_ecannot=±z¤£³Q¤¹³\²ÕºA¬ö¿ý
logging_header=¥þ°ì¬ö¿ý»P¿ù»~¿ï¶µ
logging_default1=¨Ï¥Î BIND ªº¹w³]¬ö¿ý³]©w
logging_default2=¨Ï¥Î¤U­±ªº¬ö¿ý ...
logging_cats=¬ö¿ý¤ÀÃþ
logging_cat=¤ÀÃþ
logging_cchans=ÀW¹D
logging_chans=¬ö¿ýÀW¹D
logging_cname=ÀW¹D¦WºÙ
logging_to=¬ö¿ý¨ì
logging_file=ÀÉ®×
logging_fd=ÀÉ®×´y­z¤l
logging_versions=«O¯dªºª©¥»
logging_ver1=µL
logging_ver2=¤£­­¨î
logging_size=³Ì¤jÀÉ®×¤j¤p
logging_sz1=¤£­­¨î
logging_syslog=¬ö¿ý¼h¯Å
logging_null=µL
logging_sev=³Ì¤p¬ö¿ý¼h¯Å
logging_any=¥ô·N
logging_debug=°£¿ù¼h¯Å ...
logging_dyn=¥þ°ì¼h¯Å
logging_pcat=¬ö¿ý¤ÀÃþ
logging_psev=¬ö¿ýÄY­«©Ê
logging_ptime=¬ö¿ý¤é´Á»P®É¶¡
logging_add=¼W¥[·sÀW¹D
logging_none=©|¥¼©w¸q¬ö¿ýÀW¹D.
logging_err=Àx¦s¬ö¿ý¿ï¶µ¥¢±Ñ
logging_ename='$1' ¤£¬O¤@­Ó¦³®ÄªºÀW¹D¦WºÙ
logging_efile=¿ò¥¢¬ö¿ýÀÉÀÉ¦W
logging_ever='$1' ¤£¬O¤@­Ó¦³®Äªºª©¥»½s¸¹
logging_esize='$1' ¤£¬O¤@­Ó¦³®Äªº¬ö¿ý¤j¤p

acls_title=¦s¨ú±±¨î¦Cªí
acls_ecannot=±z¤£³Q¤¹³\½s¿è¥þ°ì¦s¨ú±±¨î¦Cªí
acls_name=¦s¨ú±±¨î¦Cªí¦WºÙ
acls_values=²Å¦Xªº¦ì§}, ºô¸ô»P¦s¨ú±±¨î¦Cªí
acls_err=µLªkÀx¦s¦s¨ú±±¨î¦Cªí
acls_ename='$1' ¤£¬O¤@­Ó¦³®Äªº¦s¨ú±±¨î¦Cªí¦WºÙ

files_title=ÀÉ®×»P¥Ø¿ý
files_ecannot=±z¤£³Q¤¹³\²ÕºAÀÉ®×
files_header=¥þ°ìÀÉ®×»P¥Ø¿ý¿ï¶µ
files_stats=²Î­p¿é¥XÀÉ
files_dump=¸ê®Æ®w¶É¦LÀÉ®×
files_pid=µ{§Ç½s¸¹ÀÉ®×
files_xfer=¨ì°Ï°ì¶Ç¿éµ{¦¡ªº¸ô®|
files_err=µLªkÀx¦sÀÉ®×»P¥Ø¿ý¿ï¶µ
files_efile=¿ò¥¢©Î¿ù»~ªºÀÉ¦W

forwarding_title=Âà°e»P¶Ç¿é
forwarding_ecannot=±z¤£³Q¤¹³\½s¿èÂà°e»P¶Ç¿é¿ï¶µ
forwarding_header=¥þ°ìÂà°e»P°Ï»P¶Ç¿é¿ï¶µ
forwarding_fwders=Âà°e¬d¸ßªº¦øªA¾¹
forwarding_fwd=¦pªGÂà°e¦øªA¾¹¨S¦³¦^À³®É, ª½±µ¬d¸ßªº¦øªA¾¹
forwarding_max=³Ì¤j°Ï°ì¶Ç¿é®É¶¡
forwarding_format=°Ï°ì¶Ç¿é®æ¦¡
forwarding_one=¤@¦¸
forwarding_many=¦h¦¸
forwarding_in=³Ì¤j¦P®É°Ï°ì¶Ç¿é¼Æ¥Ø
forwarding_err=µLªkÀx¦sÂà°e»P¶Ç¿é¿ï¶µ
forwarding_emins=¿ò¥¢©Î¿ù»~ªº¶Ç¿é®É¶¡
forwarding_etrans=¿ò¥¢©Î¿ù»~ªº³Ì¤j¦P®É¶Ç¿é¼Æ¥Ø

net_title=¦ì§}»P©Ý¾ë
net_ecannot=±z¤£³Q¤¹³\½s¿è¦ì§}»P©Ý¾ë
net_header=¥þ°ì¦ì§}»P©Ý¾ë¿ï¶µ
net_listen=­nºÊÅ¥ªº¦ì§}»P³q°T°ð
net_below=¦C¦b¤U­±...
net_port=³q°T°ð
net_addrs=¦ì§}
net_saddr=¬d¸ßªº¨Ó·½ IP ¦ì§}
net_sport=¬d¸ßªº¨Ó·½³q°T°ð
net_topol=¦WºÙ¦øªA¾¹¿ï¾Ü©Ý¾ë
net_err=µLªkÀx¦s¦ì§}»P©Ý¾ë¿ï¶µ
net_eport='$1' ¤£¬O¤@­Ó¦³®Äªº³q°T°ð½s¸¹

misc_title=¨ä¥L¿ï¶µ
misc_ecannot=±z¤£³Q¤¹³\½s¿è¨ä¥L¿ï¶µ
misc_header=¨ä¥L¥þ°ì¥þ°ì¿ï¶µ
misc_core=³Ì¤j®Ö¤ß¶É¦LÀÉªº¤j¤p
misc_data=³Ì¤j¸ê®Æ°O¾ÐÅé¨Ï¥Î¶q
misc_files=³Ì¤j¶}±ÒÀÉ®×¼Æ
misc_stack=³Ì¤j¼È¦s°O¾ÐÅé¨Ï¥Î¶q
misc_clean=²M°£¹L´Á¬ö¿ýªº¶¡¹j
misc_iface=ÀË¬d·s¤¶­±ªº¶¡¹j
misc_stats=¬ö¿ýª¬ºAªº¶¡¹j
misc_recursion=¬O§_¬°«È¤áºÝ¶i¦æ§¹¾ã»¼°j¬d¸ß?
misc_cnames=¬O§_¤¹³\¦h­« CNAME §O¦Wµ¹¤@­Ó¦WºÙ?
misc_glue=¬O§_³s±µ¬Û¦Pªº¬ö¿ý?
misc_nx=¬O§_¦A¦^À³®É³]©w»{ÃÒªº AA ¦ì¤¸?
misc_err=µLªkÀx¦s¨ä¥L¿ï¶µ
misc_esize='$1' ¤£¬O¤@­Ó¦³®Äªº¤j¤p
misc_efiles='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤j¶}±ÒÀÉ®×¼Æ¥Ø
misc_emins='$1' ¤£¬O¤@­Ó¦³®Äªº¤ÀÄÁ¼Æ¦r

zonedef_title=°Ï°ì¹w³]­È
zonedef_msg=µ¹·s¥D±±°Ï°ìªº¹w³]­È
zonedef_err=µLªkÀx¦s°Ï°ì¹w³]­È
zonedef_ecannot=±z¤£³Q¤¹³\ÅÜ§ó¥D±±°Ï°ì¹w³]­È
zonedef_msg2=¹w³]ªº°Ï°ì³]©w
zonedef_transfer=¤¹³\±q ... ªº¶Ç¿é
zonedef_query=¤¹³\±q ... ªº¬d¸ß
zonedef_cmaster=¬O§_ÀË¬d¥D±±¦øªA¾¹¤¤ªº¦WºÙ?
zonedef_cslave=¬O§_ÀË¬d³Q±±°Ï°ì¤¤ªº¦WºÙ?
zonedef_cresponse=¬O§_ÀË¬d¦WºÙ¬O§_¦³¦^À³?
zonedef_notify=¬O§_³qª¾³Q±±¦øªA¾¹ÅÜ§ó?

efirst=¦b $2 ªº²Ä $1 ¦æ¦³¿ù»~ªº²Ä¤@«ü¥O
   07070100027293000081e40000000000000002000000013d1fe2d30000091b000000200000000000000000000000000000001900000003reloc/bind8/list_gen.cgi  #!/usr/local/bin/perl
# list_gen.cgi
# Display $generate entries

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'recs_ecannot'});
&header($text{'gen_title'}, "");
print "<center><font size=+2>",
      &text('recs_header', &ip6int_to_net(&arpa_to_ip($dom))),
      "</font></center>\n";
print "<hr>\n";

@gens = grep { $_->{'generate'} }
	     &read_zone_file(&find("file", $zconf)->{'value'}, $dom);
print "$text{'gen_desc'}<p>\n";
print "<form action=save_gen.cgi method=post>\n";
print "<input type=hidden name=index value='$in{'index'}'>\n";
print "<input type=hidden name=view value='$in{'view'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'gen_type'}</b></td> ",
      "<td><b>$text{'gen_range'}</b></td> ",
      "<td><b>$text{'gen_name'}</b></td> ",
      "<td><b>$text{'gen_value'}</b></td> ",
      "<td><b>$text{'gen_cmt'}</b></td> </tr>\n";
$i = 0;
foreach $g (@gens, { }) {
	@gv = @{$g->{'generate'}};
	local @r = $gv[0] =~ /^(\d+)-(\d+)(\/(\d+))?$/ ? ( $1, $2, $4 ) : ( );
	print "<tr $cb>\n";
	print "<td><select name=type_$i>\n";
	foreach $t ('', 'PTR', 'CNAME', 'NS') {
		printf "<option value='%s' %s>%s\n",
			$t, lc($gv[2]) eq lc($t) ? "selected" : "",
			$t ? $t : "&nbsp";
		}
	print "</select></td>\n";
	print "<td><input name=start_$i size=3 value='$r[0]'> -";
	print "<input name=stop_$i size=3 value='$r[1]'> $text{'gen_skip'}\n";
	print "<input name=skip_$i size=3 value='$r[2]'></td>\n";
	print "<td><input name=name_$i size=15 value='$gv[1]'></td>\n";
	print "<td><input name=value_$i size=15 value='$gv[3]'></td>\n";
	$cmt = join(" ", @gv[4..$#gv]);
	print "<td><input name=cmt_$i size=15 value='$cmt'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
print "<td align=right><input type=submit name=show ",
      "value='$text{'gen_show'}'></td>\n" if (@gens);
print "</tr></table></form>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'master_return'});

 07070100027294000081a40000000000000002000000013d1fe2d3000005af000000200000000000000000000000000000001a00000003reloc/bind8/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'bind8-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'record') {
	if ($p->{'type'} eq 'PTR') {
		return &text("log_${action}_record", $text{"type_$p->{'type'}"},
			     "<tt>".&arpa_to_ip($p->{'name'})."</tt>",
			     "<tt>".&arpa_to_ip($object)."</tt>");
		}
	else {
		$p->{'name'} =~ s/\.$object\.*$//;
		return &text("log_${action}_record", $text{"type_$p->{'type'}"},
			     "<tt>$p->{'name'}</tt>", "<tt>$object</tt>");
		}
	}
elsif ($action eq 'create') {
	return &text("log_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text("log_delete_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'text') {
	return &text("log_text", "<tt>$object</tt>");
	}
elsif ($action eq 'soa') {
	return &text("log_soa", "<tt>$object</tt>");
	}
elsif ($action eq 'opts') {
	return &text("log_opts", "<tt>$object</tt>");
	}
elsif ($action eq 'view') {
	return &text("log_review", "<tt>$object</tt>");
	}
elsif ($action eq 'move') {
	return &text("log_move", "<tt>$object</tt>");
	}
elsif ($action eq 'apply' && $type && $type ne '-') {
	return &text("log_apply2", "<tt>$type</tt>");
	}
elsif ($text{"log_${action}"}) {
	return $text{"log_${action}"};
	}
else {
	return undef;
	}
}

 07070100027295000081e40000000000000002000000013d1fe2d200000ff9000000200000000000000000000000000000001c00000003reloc/bind8/master_form.cgi   #!/usr/local/bin/perl
# master_form.cgi
# Form for creating a new master zone

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'master'} || &error($text{'mcreate_ecannot'});
&header($text{'mcreate_title'}, "");
print "<hr>\n";

print "<form action=create_master.cgi>\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>$text{'mcreate_opts'}</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>$text{'mcreate_type'}</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "$text{'mcreate_fwd'}\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "$text{'mcreate_rev'}</td> </tr>\n";

print "<tr> <td><b>$text{'mcreate_dom'}</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

$conf = &get_config();
@views = &find("view", $conf);
if (@views) {
	print "<tr> <td><b>$text{'mcreate_view'}</b></td>\n";
	print "<td colspan=3><select name=view>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n",
			$v->{'index'}, $v->{'value'};
		}
	print "</select></td> </tr>\n";
	}

print "<tr> <td><b>$text{'mcreate_file'}</b></td> <td colspan=3>\n";
print "<input type=radio name=file_def value=1 checked> ",
      "$text{'mcreate_auto'}\n";
print "<input type=radio name=file_def value=0>\n";
print "<input name=file size=30>",&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td><b>$text{'master_server'}</b></td>\n";
printf "<td colspan=3><input name=master size=30 value=\"%s\">\n",
	&get_system_hostname();
printf "<input type=checkbox name=master_ns value=1 checked> %s</td> </tr>\n",
	$text{'master_ns'};

&foreign_require("servers", "servers-lib.pl");
@servers = grep { $_->{'user'} } &servers::list_servers();
if (@servers && $access{'remote'}) {
	print "<tr> <td valign=top><b>$text{'master_slave'}</b></td>\n";
	print "<td colspan=3><select name=slave>\n";
	print "<option value=''>&nbsp;\n";
	foreach $s (@servers) {
		printf "<option value=%s %s>%s\n",
		    $s->{'host'},
		    $s->{'host'} eq $config{'default_slave'} ? 'selected' : '',
		    $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
		}
	print "</select> $text{'master_mip'}\n";
	printf "<input name=mip size=30 value='%s'><br>\n",
		&to_ipaddress(&get_system_hostname());

	print "<b>$text{'slave_file'}</b>\n";
	print "<input type=radio name=sfile_def value=1> $text{'slave_none'}\n";
	print "<input type=radio name=sfile_def value=2 checked> ",
	      "$text{'slave_auto'}\n";
	print "<input type=radio name=sfile_def value=0>\n";
	print "<input name=sfile size=30></td> </tr>\n";
	}

print "<tr> <td><b>$text{'master_email'}</b></td>\n";
printf "<td colspan=3><input name=email size=40 value='%s'></td> </tr>\n",
	$config{'tmpl_email'};

print "<tr> <td><b>$text{'master_tmpl'}</b></td>\n";
printf "<td><input type=radio name=tmpl value=1 %s> $text{'yes'}\n",
	$config{'tmpl_0'} || $config{'tmpl_include'} ? 'checked' : '';
printf "<input type=radio name=tmpl value=0 %s> $text{'no'}</td>\n",
	$config{'tmpl_0'} || $config{'tmpl_include'} ? '' : 'checked';
print "<td><b>$text{'master_ip'}</b></td>\n";
print "<td><input name=ip size=15></td> </tr>\n";

&get_zone_defaults(\%zd);
print "<tr> <td><b>$text{'master_refresh'}</b></td>\n";
print "<td><input name=refresh size=8 value=$zd{'refresh'}>\n";
&time_unit_choice("refunit", $zd{'refunit'});
print "</td>\n";

print "<td><b>$text{'master_retry'}</b></td>\n";
print "<td><input name=retry size=8 value=$zd{'retry'}>\n";
&time_unit_choice("retunit", $zd{'retunit'});
print "</td> </tr>\n";

print "<tr> <td><b>$text{'master_expiry'}</b></td>\n";
print "<td><input name=expiry size=8 value=$zd{'expiry'}>\n";
&time_unit_choice("expunit", $zd{'expunit'});
print "</td>\n";

print "<td><b>$text{'master_minimum'}</b></td>\n";
print "<td><input name=minimum size=8 value=$zd{'minimum'}>\n";
&time_unit_choice("minunit", $zd{'minunit'});
print "</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'create'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100027296000081a40000000000000002000000013d1fe2ea0000031e000000200000000000000000000000000000001800000003reloc/bind8/module.info   desc_ru_SU=BIND DNS óÅÒ×ÅÒ
risk=low medium high
desc_ko_KR.euc=BIND DNS ¼­¹ö 
desc_zh_TW.Big5=BIND 8 DNS ¦øªA¾¹
desc_pl=Serwer DNS BIND
desc_de=BIND DNS Server
name=BIND
desc_zh_CN=BIND 8 DNS ·þÎñÆ÷
desc_pt=Servidor de DNS BIND
desc_pt_BR=Servidor de DNS BIND
category=servers
desc_tr=BIND DNS Sunucusu
os_support=slackware-linux redhat-linux mandrake-linux solaris debian-linux suse-linux hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux openbsd corel-linux cobalt-linux/5.0 cobalt-linux/6.0 aix netbsd msc-linux generic-linux gentoo-linux
desc=BIND DNS Server
desc_es=Servidor de DNS BIND
desc_sv=BIND DNS-server
desc_fr=Serveur de Noms de Domaine Bind
desc_ja_JP.euc=BIND DNS ¥µ¡¼¥Ð
depends=servers 0.990
version=0.990
desc_ca=Servidor DNS BIND
desc_ru_RU=BIND DNS Ñåðâåð
  07070100027297000081e40000000000000002000000013d1fe2d300000397000000200000000000000000000000000000001a00000003reloc/bind8/move_zone.cgi #!/usr/local/bin/perl
# move_zone.cgi
# Move a zone to a different view

require './bind8-lib.pl';
&ReadParse();
$pconf = &get_config_parent();
$conf = $pconf->{'members'};
$nconf = $conf->[$in{'newview'}];
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}];
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf) || &error($text{'master_ecannot'});
$in{'view'} ne $in{'newview'} || &error($text{'master_emove'});

# Delete from the view
&lock_file($config{'chroot'}.$zconf->{'file'});
&save_directive($pconf, [ $zconf ], [ ], 0);
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});

# Create in new view
&lock_file($config{'chroot'}.$nconf->{'file'});
&save_directive($nconf, undef, [ $zconf ], 1);
&flush_file_lines();
&unlock_file($config{'chroot'}.$nconf->{'file'});
&webmin_log("move", undef, $zconf->{'value'}, \%in);

&redirect("");

 07070100027298000081a40000000000000002000000013d1fe2d200003440000000200000000000000000000000000000001b00000003reloc/bind8/records-lib.pl    # read_zone_file(file, origin, [previous])
# Reads a DNS zone file and returns a data structure of records. The origin
# must be a domain without the trailing dot, or just .
sub read_zone_file
{
local($file, $lnum, $line, $t, @tok, @lnum, @coms,
      $i, @rv, $origin, $num, $j, @inc, @oset, $comment);
$origin = $_[1];
$file = &absolute_path($_[0]);
open(FILE, $config{'chroot'}.$file);
$lnum = 0;
while($line = <FILE>) {
	local($glen, $merged_2, $merge);
	# strip comments (# is not a valid comment separator here!)
	$line =~ s/\r|\n//g;
	# parsing splited into separate cases to fasten it
	if ($line =~ /;/ &&
	    ($line =~ /[^\\]/ &&
	     $line =~ /^((?:[^;\"]+|\"\"|(?:\"(?:[^\"]*)\"))*);(.*)/) ||
	    ($line =~ /[^\"]/ &&
	     $line =~ /^((?:[^;\\]|\\.)*);(.*)/) ||
	     # expresion below is the most general, but very slow 
	     # if ";" is quoted somewhere
	     $line =~ /^((?:(?:[^;\"\\]|\\.)+|(?:\"(?:[^\"\\]|\\.)*\"))*);(.*)/) {
		$comment = $2;
		$line = $1;
		}
	else { 
		$comment = "";
		}

	# split line into tokens
	local $oset = 0;
	while(1) {
		$merge = 1;
		$base_oset = 0;
		if ($line =~ /^(\s*)\"((?:[^\"\\]|\\.)*)\"(.*)/ ||
		    $line =~ /^(\s*)((?:[^\s\(\)\"\\]|\\.)+)(.*)/ ||
		    ($merge = 0) || $line =~ /^(\s*)([\(\)])(.*)/) {
			if ($glen == 0) {
				$oset += length($1);
				}
			else {
				$glen += length($1);
				}
			$glen += length($2);
			$merged_2 .= $2;
			$line = $3;
			if (!$merge || $line =~ /^([\s\(\)]|$)/) {
				push(@tok, $merged_2); push(@lnum, $lnum);
				push(@oset, $oset);
				push(@coms, $comment); $comment = "";
				$merged_2 = "";
				$oset += $glen;
				$glen = 0;
				}
			}
		else { last; }
		}
	$lnum++;
	}
close(FILE);

# parse into data structures
$i = 0; $num = 0;
while($i < @tok) {
	if ($tok[$i] =~ /^\$origin$/i) {
		# $ORIGIN directive (may be relative or absolute)
		if ($tok[$i+1] =~ /^(\S*)\.$/) {
			$origin = $1 ? $1 : ".";
			}
		elsif ($origin eq ".") { $origin = $tok[$i+1]; }
		else { $origin = "$tok[$i+1].$origin"; }
		$i += 2;
		}
	elsif ($tok[$i] =~ /^\$include$/i) {
		# including another file
		if ($lnum[$i+1] == $lnum[$i+2]) {
			# $INCLUDE zonefile origin
			local $inc_origin;
			if ($tok[$i+2] =~ /^(\S+)\.$/) {
				$inc_origin = $1 ? $1 : ".";
				}
			elsif ($origin eq ".") { $inc_origin = $tok[$i+2]; }
			else { $inc_origin = "$tok[$i+2].$origin"; }
			@inc = &read_zone_file($tok[$i+1], $inc_origin,
					       @rv ? $rv[$#rv] : undef);
			$i += 3;
			}
		else {
			# $INCLUDE zonefile
			@inc = &read_zone_file($tok[$i+1], $origin,
					       @rv ? $rv[$#rv] : undef);
			$i += 2;
			}
		foreach $j (@inc) { $j->{'num'} = $num++; }
		push(@rv, @inc);
		}
	elsif ($tok[$i] =~ /^\$generate$/i) {
		# a generate directive .. add it as a special record
		local $gen = { 'file' => $file,
			       'line' => $lnum[$i],
			       'num' => $num++ };
		local @gv;
		while($lnum[++$i] == $gen->{'line'}) {
			push(@gv, $tok[$i]);
			}
		$gen->{'generate'} = \@gv;
		push(@rv, $gen);
		}
	elsif ($tok[$i] =~ /^\$(\S+)/i) {
		# some other special directive
		local $ln = $lnum[$i];
		while($lnum[$i] == $ln) {
			$i++;
			}
		}
	else {
		# some other directive
		local(%dir, @values, $l);
		$dir{'line'} = $lnum[$i];
		$dir{'file'} = $file;
		$dir{'comment'} = $coms[$i];
		if ($tok[$i] =~ /^(in|hs)$/i && $oset[$i] > 0) {
			# starting with a class
			$dir{'class'} = uc($tok[$i]);
			$i++;
			}
		elsif ($tok[$i] =~ /^\d/ && $tok[$i] !~ /in-addr/i &&
		       $oset[$i] > 0) {
			# starting with a TTL and class
			$dir{'ttl'} = $tok[$i];
			$dir{'class'} = uc($tok[$i+1]);
			$i += 2;
			}
		elsif ($tok[$i+1] =~ /^(in|hs)$/i) {
			# starting with a name and class
			$dir{'name'} = $tok[$i];
			$dir{'class'} = uc($tok[$i+1]);
			$i += 2;
			}
		elsif ($oset[$i] > 0) {
			# starting with nothing
			$dir{'class'} = "IN";
			}
		elsif ($tok[$i+1] =~ /^\d/) {
			# starting with a name, ttl and class
			$dir{'name'} = $tok[$i];
			$dir{'ttl'} = $tok[$i+1];
			$dir{'class'} = uc($tok[$i+2]);
			$i += 3;
			}
		else {
			# starting with a name
			$dir{'name'} = $tok[$i];
			$dir{'class'} = "IN";
			$i++;
			}
		if ($dir{'name'} eq '') {
			local $prv = $#rv >= 0 ? $rv[$#rv] : $_[2];	
			$prv || &error(&text('efirst', $lnum[$i]+1, $file));
			$dir{'name'} = $prv->{'name'};
			$dir{'realname'} = $prv->{'realname'};
			}
		else {
			$dir{'realname'} = $dir{'name'};
			}
		$dir{'type'} = uc($tok[$i++]);

		# read values until end of line (unless a ( is found)
		# for soa records, always read past newlines
		$l = $lnum[$i];
		while(($lnum[$i] == $l || $dir{'type'} eq 'SOA') && $i < @tok) {
			if ($tok[$i] eq "(") {
				while($tok[++$i] ne ")") {
					push(@values, $tok[$i]);
					}
				$i++; # skip )
				last;
				}
			push(@values, $tok[$i++]);
			}
		$dir{'values'} = \@values;
		$dir{'eline'} = $lnum[$i-1];
		if (!$config{'short_names'}) {
			if ($dir{'name'} eq "@") {
				$dir{'name'} = $origin eq "." ? "."
							      : "$origin.";
				}
			elsif ($dir{'name'} !~ /\.$/) {
				$dir{'name'} .= $origin eq "." ? "."
							       : ".$origin.";
				}
			}
		$dir{'num'} = $num++;
		push(@rv, \%dir);
		}
	}
return @rv;
}

# create_record(file, name, ttl, class, type, values, comment)
# Add a new record of some type to some zone file
sub create_record
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
push(@$lref, &make_record(@_[1..$#_]));
&flush_file_lines();
}

# modify_record(file, &old, name, ttl, class, type, values, comment)
# Updates an existing record in some zone file
sub modify_record
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
local $lines = $_[1]->{'eline'} - $_[1]->{'line'} + 1;
splice(@$lref, $_[1]->{'line'}, $lines, &make_record(@_[2..$#_]));
&flush_file_lines();
}

# delete_record(file, &old)
# Deletes a record in some zone file
sub delete_record
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
local $lines = $_[1]->{'eline'} - $_[1]->{'line'} + 1;
splice(@$lref, $_[1]->{'line'}, $lines);
&flush_file_lines();
}

# create_generator(file, range, lhs, type, rhs, [comment])
# Add a new $generate line to some zone file
sub create_generator
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
push(@$lref, join(" ", '$generate', @_[1..$#_]));
&flush_file_lines();
}

# modify_generator(file, &old, range, lhs, type, rhs, [comment])
# Updates an existing $generate line in some zone file
sub modify_generator
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
$lref->[$_[1]->{'line'}] = join(" ", '$generate', @_[2..$#_]);
&flush_file_lines();
}

# delete_generator(file, &old)
# Deletes a $generate line in some zone file
sub delete_generator
{
local $lref = &read_file_lines($config{'chroot'}.&absolute_path($_[0]));
splice(@$lref, $_[1]->{'line'}, 1);
&flush_file_lines();
}

# make_record(name, ttl, class, type, values, comment)
# Returns a string for some zone record
sub make_record
{
return $_[0] . ($_[1] ? "\t$_[1]" : "") . "\t$_[2]\t$_[3]\t$_[4]" .
       ($_[5] ? "\t;$_[5]" : "");
}

# bump_soa_record(file, &records)
# Increase the serial number in some SOA record by 1
sub bump_soa_record
{
local($i, $r, $v, $vals);
for($i=0; $i<@{$_[1]}; $i++) {
	$r = $_[1]->[$i];
	if ($r->{'type'} eq "SOA") {
		$v = $r->{'values'};
		# already set serial if no acl allow it to update or update is disabled
		$serial = $v->[2];
		if ($config{'updserial_on'}) { # generally handle serial numbers ?
			if ($config{'soa_style'} == 1 && $v->[2] =~ /^(\d{8})(\d\d)$/) {
				if ($1 eq &date_serial())
					{ $serial = sprintf "%d%2.2d", $1, $2+1; }
				else { $serial = &date_serial()."00"; }
				}
			else { $serial = $v->[2]+1; }
		}
		$vals = "$v->[0] $v->[1] (\n\t\t\t$serial\n\t\t\t$v->[3]\n".
			"\t\t\t$v->[4]\n\t\t\t$v->[5]\n\t\t\t$v->[6] )";
		&modify_record($r->{'file'}, $r, $r->{'realname'}, $r->{'ttl'},
				$r->{'class'}, $r->{'type'}, $vals);
		}
	}
}



# date_serial()
# Returns a string like YYYYMMDD
sub date_serial
{
local $now = time();
local @tm = localtime($now);
return sprintf "%4.4d%2.2d%2.2d", $tm[5]+1900, $tm[4]+1, $tm[3];
}

# get_zone_defaults(&array)
sub get_zone_defaults
{
if (!&read_file("$module_config_directory/zonedef", $_[0])) {
	$_[0]->{'refresh'} = 10800; $_[0]->{'retry'} = 3600;
	$_[0]->{'expiry'} = 604800; $_[0]->{'minimum'} = 38400;
	$_[0]->{'refunit'} = ""; $_[0]->{'retunit'} = "";
	$_[0]->{'expunit'} = ""; $_[0]->{'minunit'} = "";
	}
else {
	$_[0]->{'refunit'} = $1 if ($_[0]->{'refresh'} =~ s/([^0-9])$//);
	$_[0]->{'retunit'} = $1 if ($_[0]->{'retry'} =~ s/([^0-9])$//);
	$_[0]->{'expunit'} = $1 if ($_[0]->{'expiry'} =~ s/([^0-9])$//);
	$_[0]->{'minunit'} = $1 if ($_[0]->{'minimum'} =~ s/([^0-9])$//);
	}
}

# save_zone_defaults(&array)
sub save_zone_defaults
{
&write_file("$module_config_directory/zonedef", $_[0]);
}

# allowed_zone_file(&access, file)
sub allowed_zone_file
{
return 0 if ($_[1] =~ /\.\./);
return 0 if (-l $_[1] && !&allowed_zone_file($_[0], readlink($_[1])));
local $l = length($_[0]->{'dir'});
return length($_[1]) > $l && substr($_[1], 0, $l) eq $_[0]->{'dir'};
}

# sort_records(list)
sub sort_records
{
return @_ if (!@_);
local $s = $in{'sort'} ? $in{'sort'} : $config{'records_order'};
if ($s == 1) {
	# Sort by name
	if ($_[0]->{'type'} eq "PTR") {
		return sort ptr_sort_func @_;
		}
	else {
		return sort { $a->{'name'} cmp $b->{'name'} } @_;
		}
	}
elsif ($s == 2) {
	# Sort by value
	if ($_[0]->{'type'} eq "A") {
		return sort ip_sort_func @_;
		}
	elsif ($_[0]->{'type'} eq "MX") {
		return sort { $a->{'values'}->[1] cmp $b->{'values'}->[1] } @_;
		}
	else {
		return sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @_;
		}
	}
elsif ($s == 3) {
	# Sort by IP address or by value if there is no IP
	if ($_[0]->{'type'} eq "A") {
		return sort ip_sort_func @_;
		}
	elsif ($_[0]->{'type'} eq "PTR") {
		return sort ptr_sort_func @_;
		}
	elsif ($_[0]->{'type'} eq "MX") {
		return sort { $a->{'values'}->[1] cmp $b->{'values'}->[1] } @_;
		}
	else {
		return sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @_;
		}
	}
else {
	return @_;
	}
}

sub ptr_sort_func
{
$a->{'name'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
$b->{'name'} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
return	$a4 < $4 ? -1 :
	$a4 > $4 ? 1 :
	$a3 < $3 ? -1 :
	$a3 > $3 ? 1 :
	$a2 < $2 ? -1 :
	$a2 > $2 ? 1 :
	$a1 < $1 ? -1 :
	$a1 > $1 ? 1 : 0;
}

sub ip_sort_func
{
$a->{'values'}->[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
$b->{'values'}->[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
return	$a1 < $1 ? -1 :
	$a1 > $1 ? 1 :
	$a2 < $2 ? -1 :
	$a2 > $2 ? 1 :
	$a3 < $3 ? -1 :
	$a3 > $3 ? 1 :
	$a4 < $4 ? -1 :
	$a4 > $4 ? 1 : 0;
}

# arpa_to_ip(name)
# Converts an address like 4.3.2.1.in-addr.arpa. to 1.2.3.4
sub arpa_to_ip
{
if ($_[0] =~ /^([\d\-\.\/]+)\.in-addr\.arpa/i) {
	return join('.',reverse(split(/\./, $1)));
	}
return $_[0];
}

# ip_to_arpa(address)
# Converts an IP address like 1.2.3.4 to 4.3.2.1.in-addr.arpa.
sub ip_to_arpa
{
if ($_[0] =~ /^([\d\-\.\/]+)$/) {
	return join('.',reverse(split(/\./,$1))).".in-addr.arpa.";
	}
return $_[0];
}

# ip6int_to_net(name)
# Converts an address like a.b.c.d.4.3.2.1.ip6.int. to 1234:dcba::
sub ip6int_to_net
{
local($n, $addr = $_[0]);
if ($addr =~ /^([\da-f]\.)+ip6\.int/i) {
	$addr =~ s/\.ip6\.int/\./i;
	$addr = reverse(split(/\./, $addr));
	$addr =~ s/([\w]{4})/$1:/g;
	$n = ($addr =~ s/([\w])/$1/g) * 4;
	$addr =~ s/(\w+)$/$+0000/;
	$addr =~ s/([\w]{4})0+$/$1:/;
	$addr =~ s/$/:/;
	$addr =~ s/:0{1,3}/:/g;
	if ($n > 112) {
		$addr =~ s/::$//;
		$addr =~ s/(:0)+:/::/;
		}
	if ($n < 128) {
		return $addr."/$n";
		}
	return $addr
	}
return $_[0];
}

# net_to_ip6int(address, bits)
# Converts an IPv6 address like 1234:dcba:: to a.b.c.d.4.3.2.1.ip6.int.
sub net_to_ip6int
{
local($addr = lc($_[0]), $n = $_[1] >> 2);
if (&check_ip6address($addr)) {
	$addr = reverse(split(/\:/, &expandall_ip6($addr)));
	$addr =~ s/(\w)/$1\./g;
	if ($n > 0) {
		$addr = substr($addr, -2 * $n, 2 * $n);
	}
	$addr = $addr."ip6.int.";
	}
return $addr;
}

# valdnsname(name, wild, origin)
sub valdnsname
{
local($fqdn);
$fqdn = $_[0] !~ /\.$/ ? "$_[0].$_[2]." : $_[0];
if (length($fqdn) > ($config{'allow_long'} ? 635 : 255)) {
	&error(&text('edit_efqdn', $fqdn));
	}
if ($_[0] =~ /[^\.]{63}/) {
	# no label longer than 63 chars
	&error(&text('edit_elabel', $_[0]));
	}
return ((($_[1] && $config{'allow_wild'})
	 ? (($_[0] =~ /^[\*A-Za-z0-9\-\._]+$/)
	   && ($_[0] !~ /.\*/)		# "*" can be only the first char
	   && ($_[0] !~ /\*[^\.]/))	# a "." must always follow "*"
	 : ($_[0] =~ /^[\A-Za-z0-9\-\._]+$/))
	&& ($_[0] !~ /\.\./)		# no ".." inside
	&& ($_[0] !~ /^\../)		# no "." at the beginning
	&& ($_[0] !~ /^\-/)		# no "-" at the beginning
	&& ($_[0] !~ /\-$/)		# no "-" at the end
	&& ($_[0] !~ /\.\-/)		# no ".-" inside
	&& ($_[0] !~ /\-\./)		# no "-." inside
	&& ($_[0] !~ /\.[0-9]+\.$/));	# last label in FQDN may not be
					# purely numeric
}

# valemail(email)
sub valemail
{
return $_[0] eq "." ||
       $_[0] =~ /^[A-Za-z0-9\.\-]+$/ ||
       $_[0] =~ /(.*)\@(.*)/ && 
       &valdnsname($2, 0, ".") && 
       $1 =~ /[a-z][\w\-\_\.]+/i;
}

# absolute_path(path)
# If a path does not start with a /, prepend the base directory
sub absolute_path
{
if ($_[0] =~ /^\//) { return $_[0]; }
return &base_directory()."/".$_[0];
}

07070100027299000081e40000000000000002000000013d1fe2d200000168000000200000000000000000000000000000001800000003reloc/bind8/restart.cgi   #!/usr/local/bin/perl
# restart.cgi
# Restart the running named

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} || &error($text{'restart_ecannot'});
&kill_logged('HUP', $in{'pid'}) ||
	&error(&text('restart_esig', $in{'pid'}, $!));
&webmin_log("apply");
&redirect("");

0707010002729a000081e40000000000000002000000013d1fe2d3000004f5000000200000000000000000000000000000001e00000003reloc/bind8/restart_slave.cgi #!/usr/local/bin/perl
# restart_slave.cgi
# Restart named on a remote server

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} || &error($text{'restart_ecannot'});
$access{'remote'} || &error($text{'restart_ecannot'});

# Find the PID file
&remote_foreign_require($in{'slave'}, "bind8", "bind8-lib.pl");
$sconfig = &remote_foreign_config($in{'slave'}, "bind8");
$sconf = &remote_foreign_call($in{'slave'}, "bind8", "get_config");
if (($opts = &find("options", $sconf)) &&
    ($pidopt = &find("pid-file", $opts->{'members'}))) {
	# read from PID file
	$pidfile = $pidopt->{'value'};
	if ($pidfile !~ /^\//) {
		local $dir = &find("directory", $opts->{'members'});
		$pidfile = $dir->{'value'}."/".$pidfile;
		}
	}
else {
	# use default file
	$pidfile = $sconfig->{'pid_file'} ? $sconfig->{'pid_file'}
				          : "/var/run/named.pid";
	}

# Read the PID and restart
$pid = &remote_eval($in{'slave'}, "bind8", <<EOF
open(PID, '$pidfile');
chop(\$pid = <PID>);
close(PID);
return \$pid;
EOF
);
$pid || &error($text{'restart_erunning'});
$err = &remote_eval($in{'slave'}, "bind8", "kill('HUP', $pid) ? \$! : 0");
$err && &error(&text('restart_esig', $pid, $err));
&redirect("");

   0707010002729b000081e40000000000000002000000013d1fe2d3000002a7000000200000000000000000000000000000001d00000003reloc/bind8/restart_zone.cgi  #!/usr/local/bin/perl
# restart_zone.cgi
# Apply changes to one zone only using the ndc command

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'ro'} && &error($text{'restart_ecannot'});
$access{'apply'} || &error($text{'restart_ecannot'});
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$dom = $conf->[$in{'index'}]->{'value'};
$out = &backquote_logged("$config{'ndc_cmd'} reload '$dom' 2>&1 </dev/null");
if ($? || $out =~ /failed|not found|error/i) {
	&error(&text('restart_endc', "<tt>$out</tt>"));
	}
&webmin_log("apply", $dom);
&redirect("edit_master.cgi?index=$in{'index'}&view=$in{'view'}");

 0707010002729c000081e40000000000000002000000013d1fe2d200000330000000200000000000000000000000000000001a00000003reloc/bind8/save_acls.cgi #!/usr/local/bin/perl
# save_acls.cgi
# Update all the acl directives

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'acls_ecannot'});
&error_setup($text{'acls_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
for($i=0; defined($name = $in{"name_$i"}); $i++) {
	next if (!$name);
	$name =~ /^\S+$/ || &error(&text('acls_ename', $name));
	@vals = split(/\s+/, $in{"values_$i"});
	push(@acls, { 'name' => 'acl',
		      'values' => [ $name ],
		      'type' => 1,
		      'members' => [ map { { 'name' => $_ } } @vals ] });
	}

&save_directive(&get_config_parent(), 'acl', \@acls, 0, 0, 1);
&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("acls", undef, undef, \%in);
&redirect("");

0707010002729d000081e40000000000000002000000013d1fe2d300000740000000200000000000000000000000000000001e00000003reloc/bind8/save_controls.cgi #!/usr/local/bin/perl
# save_misc.cgi
# Save global miscellaneous options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'misc_ecannot'});
&error_setup($text{'misc_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
my $controls = &find("controls", $conf);

if ($in{'inet_def'} && $in{'unix_def'}) {
  if (defined($controls)) {
    &save_directive(&get_config_parent(), 'controls', [ ], 0);
  }
} else {
  if (!defined($controls)) {
    $controls={ 'name' => 'controls', 'type' => 1 };
    &save_directive(&get_config_parent(), 'controls', [ $controls ], 0);
  }
  if (!$in{'inet_def'}) {
    my $addr=$in{'inetaddr'};
    &check_ipaddress($addr) || &error(&text('eip', $addr));

    my $port=$in{'inetport'};
    my @allows=();
    foreach $allow (split(/\s+/, $in{'inetallow'})) {
      # Need to check acl is OK!
      #&check_ipaddress($allow) || &error(&text('eip', $allow));
      push(@allows, { 'name' => $allow });
    }

    my $inetdir = { 'name' => 'inet', 'type' => 1,
		    'values' => [ $addr,
				  'port', $port,
				  'allow' ],
		    'members' => \@allows };

    &save_directive($controls, "inet", [ $inetdir ], 1);
  } else {
    &save_directive($controls, "inet", [ ], 1);
  }

  if (!$in{'unix_def'}) {
    my $file=$in{'unixfile'};
    my $perms=$in{'unixperms'};
    my $owner=$in{'unixowner'};
    my $group=$in{'unixgroup'};

    my $unixdir = { 'name' => 'unix', 'type' => 0,
		    'values' => [ $file,
				  'perm', $perms,
				  'owner', $owner,
				  'group', $group ] };

    &save_directive($controls, "unix", [ $unixdir ], 1);
  } else {
    &save_directive($controls, "unix", [ ], 1);
  }
}

&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("controls", undef, undef, \%in);
&redirect("");

0707010002729e000081e40000000000000002000000013d1fe2d2000002f1000000200000000000000000000000000000001b00000003reloc/bind8/save_files.cgi    #!/usr/local/bin/perl
# save_files.cgi
# Save global files options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'files_ecannot'});
&error_setup($text{'files_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
$options = &find("options", $conf);
&save_opt("statistics-file", \&file_check, $options, 1);
&save_opt("dump-file", \&file_check, $options, 1);
&save_opt("pid-file", \&file_check, $options, 1);
&save_opt("named-xfer", \&file_check, $options, 1);
&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("files", undef, undef, \%in);
&redirect("");

sub file_check
{
return $_[0] =~ /\S/ ? '' : $text{'files_efile'};
}

   0707010002729f000081e40000000000000002000000013d1fe2d20000031d000000200000000000000000000000000000001d00000003reloc/bind8/save_forward.cgi  #!/usr/local/bin/perl
# save_forward.cgi
# Save changes to forward zone options in named.conf

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	$indent = 2;
	}
else {
	$indent = 1;
	}
$zconf = $conf->[$in{'index'}];
&lock_file($config{'chroot'}.$zconf->{'file'});
&error_setup($text{'fwd_err'});
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf) ||
	&error($text{'fwd_ecannot'});
$access{'ro'} && &error($text{'master_ero'});

&save_address("forwarders", $zconf, $indent);
&save_choice("check-names", $zconf, $indent);
&save_choice("forward", $zconf, $indent);
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});
&webmin_log("opts", undef, $zconf->{'value'}, \%in);
&redirect("");

   070701000272a0000081e40000000000000002000000013d1fe2d20000038d000000200000000000000000000000000000002000000003reloc/bind8/save_forwarding.cgi   #!/usr/local/bin/perl
# save_forwarding.cgi
# Save global forwarding options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'forwarding_ecannot'});
&error_setup($text{'forwarding_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
$options = &find("options", $conf);
&save_address('forwarders', $options, 1, 1);
&save_choice('forward', $options, 1);
&save_opt('max-transfer-time-in', \&check_mins, $options, 1);
&save_choice('transfer-format', $options, 1);
&save_opt('transfers-in', \&check_trans, $options, 1);

&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("forwarding", undef, undef, \%in);
&redirect("");

sub check_mins
{
return $_[0] =~ /^\d+$/ ? undef : $text{'forwarding_emins'};
}

sub check_trans
{
return $_[0] =~ /^\d+$/ ? undef : $text{'forwarding_etrans'};
}

   070701000272a1000081e40000000000000002000000013d1fe2d300000d0d000000200000000000000000000000000000001900000003reloc/bind8/save_gen.cgi  #!/usr/local/bin/perl
# save_gen.cgi
# Save $generate records

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'recs_ecannot'});
$file = &find("file", $zconf)->{'value'};
@recs = &read_zone_file($file, $dom);
@gens = grep { $_->{'generate'} } @recs;

if ($in{'show'}) {
	# Just show what would be generated
	&header($text{'gen_title2'}, "");
	print "<center><font size=+2>",
	      &text('recs_header', &ip6int_to_net(&arpa_to_ip($dom))),
	      "</font></center>\n";
	print "<hr>\n";

	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'recs_name'}</b></td> ",
	      "<td><b>$text{'recs_type'}</b></td> ",
	      "<td><b>$text{'recs_ttl'}</b></td> ",
	      "<td><b>$text{'recs_vals'}</b></td> ",
	      "<td><b>$text{'gen_raw'}</b></td> </tr>\n";
	foreach $g (@gens) {
		@gv = @{$g->{'generate'}};
		if ($gv[0] =~ /^(\d+)-(\d+)\/(\d+)$/) {
			$start = $1; $end = $2; $skip = $3;
			}
		elsif ($gv[0] =~ /^(\d+)-(\d+)$/) {
			$start = $1; $end = $2; $skip = 1;
			}
		else { next; }
		for($i=$start; $i<=$end; $i+=$skip) {
			$lhs = $gv[1];
			$lhs =~ s/\$\$/\0/g;
			$lhs =~ s/\$/$i/g;
			$lhs =~ s/\0/\$/g;
			$lhsfull = $lhs =~ /\.$/ ? $lhs :
				    $dom eq "." ? "$lhs." : "$lhs.$dom";

			$rhs = $gv[3];
			$rhs =~ s/\$\$/\0/g;
			$rhs =~ s/\$/$i/g;
			$rhs =~ s/\0/\$/g;
			$rhsfull = $rhs =~ /\.$/ ? $rhs :
				    $dom eq "." ? "$rhs." : "$rhs.$dom";

			print "<tr $cb>\n";
			print "<td>",&arpa_to_ip($lhsfull),"</td>\n";
			print "<td>$gv[2]</td>\n";
			print "<td>$text{'default'}</td>\n";
			print "<td>",&arpa_to_ip($rhsfull),"</td>\n";
			print "<td><tt>$lhs IN $gv[2] $rhs</tt></td>\n";
			print "</tr>\n";
			}
		}
	print "</table><br>\n";

	print "<hr>\n";
	&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
		$text{'master_return'});
	exit;
	}

# Parse and validate inputs
&error_setup($text{'gen_err'});
for($i=0; defined($in{"type_$i"}); $i++) {
	if ($in{"type_$i"}) {
		local @gv;
		$in{"start_$i"} =~ /^\d+$/ ||
			&error(&text('gen_estart', $i+1));
		$in{"stop_$i"} =~ /^\d+$/ ||
			&error(&text('gen_estop', $i+1));
		$in{"start_$i"} <= $in{"stop_$i"} ||
			&error(&text('gen_erange', $i+1));
		$in{"skip_$i"} =~ /^\d*$/ ||
			&error(&text('gen_eskip', $i+1));
		push(@gv, $in{"start_$i"}."-".$in{"stop_$i"});
		if ($in{"skip_$i"}) {
			$gv[$#gv] .= "/".$in{"skip_$i"};
			}
		$in{"name_$i"} =~ /^[A-Za-z0-9\.\-\_\$]+$/ ||
			&error(&text('gen_ename', $i+1));
		push(@gv, $in{"name_$i"});
		push(@gv, $in{"type_$i"});
		$in{"value_$i"} =~ /^[A-Za-z0-9\.\-\_\$]+$/ ||
			&error(&text('gen_evalue', $i+1));
		push(@gv, $in{"value_$i"});
		push(@gv, $in{"cmt_$i"}) if ($in{"cmt_$i"});
		if ($i < @gens) {
			&modify_generator($gens[$i]->{'file'}, $gens[$i], @gv);
			}
		else {
			&create_generator($file, @gv);
			}
		}
	else {
		if ($i < @gens) {
			&delete_generator($gens[$i]->{'file'}, $gens[$i]);
			foreach $g (@gens) {
				if ($g->{'line'} > $gens[$i]->{'line'}) {
					$g->{'line'}--;
					}
				}
			}
		}
	}
&bump_soa_record($file, \@recs);
&redirect("edit_master.cgi?index=$in{'index'}&view=$in{'view'}");

   070701000272a2000081e40000000000000002000000013d1fe2d3000009fe000000200000000000000000000000000000001d00000003reloc/bind8/save_logging.cgi  #!/usr/local/bin/perl
# save_logging.cgi
# Save global logging options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'logging_ecannot'});
&error_setup($text{'files_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
$logging = &find("logging", $conf);

# save categories
for($i=0; defined($cat = $in{"cat_$i"}); $i++) {
	next if (!$cat);
	@cchan = split(/\0/, $in{"cchan_$i"});
	push(@category, { 'name' => 'category',
			  'values' => [ $cat ],
			  'type' => 1,
			  'members' =>
				[ map { { 'name' => $_ } } @cchan ] });
	}

# save channels
for($i=0; defined($cname = $in{"cname_$i"}); $i++) {
	next if (!$cname);
	$cname =~ /^\S+$/ || &error(&text('logging_ename', $cname));
	local @mems;
	if ($in{"to_$i"} == 0) {
		$in{"file_$i"} || &error($text{'logging_efile'});
		local @fvals = ( $in{"file_$i"} );
		if ($in{"vmode_$i"} == 1) {
			push(@fvals, 'versions', 'unlimited');
			}
		elsif ($in{"vmode_$i"} == 2) {
			$in{"ver_$i"} =~ /^\d+$/ ||
				&error(&text('logging_ever', $in{"ver_$i"}));
			push(@fvals, 'versions', $in{"ver_$i"});
			}
		if ($in{"smode_$i"}) {
			$in{"size_$i"} =~ /^\d+[kmg]*$/i ||
				&error(&text('logging_esize', $in{"size_$i"}));
			push(@fvals, 'size', $in{"size_$i"});
			}
		push(@mems, { 'name' => 'file',
			      'values' => \@fvals });
		}
	elsif ($in{"to_$i"} == 1) {
		push(@mems, { 'name' => 'syslog',
			      'values' => [ $in{"syslog_$i"} ] });
		}
	else {
		push(@mems, { 'name' => 'null' });
		}
	if ($in{"sev_$i"} eq 'debug') {
		push(@mems, { 'name' => 'severity',
			      'values' => [ 'debug', $in{"debug_$i"} ] });
		}
	elsif ($in{"sev_$i"}) {
		push(@mems, { 'name' => 'severity',
			      'values' => [ $in{"sev_$i"} ] });
		}
	foreach $p ('print-category', 'print-severity', 'print-time') {
		push(@mems, { 'name' => $p,
			      'values' => [ $in{"$p-$i"} ] }) if ($in{"$p-$i"});
		}
	push(@channel, { 'name' => 'channel',
			 'values' => [ $cname ],
			 'type' => 1,
			 'members' => \@mems } );
	}

if ($logging) {
	&save_directive($logging, 'channel', \@channel, 1);
	&save_directive($logging, 'category', [ ], 1);
	&save_directive($logging, 'category', [ reverse(@category) ], 1);
	}
else {
	$logging = { 'name' => 'logging',
		     'type' => 1,
		     'members' => [ @channel, @category ] };
	&save_directive(&get_config_parent(), 'logging', [ $logging ], 0);
	}
&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("logging", undef, undef, \%in);
&redirect("");

  070701000272a3000081e40000000000000002000000013d1fe2d20000041d000000200000000000000000000000000000001c00000003reloc/bind8/save_master.cgi   #!/usr/local/bin/perl
# save_master.cgi
# Save changes to master zone options in named.conf

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	$indent = 2;
	}
else {
	$indent = 1;
	}
$zconf = $conf->[$in{'index'}];
&lock_file($config{'chroot'}.$zconf->{'file'});
&error_setup($text{'master_err'});
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf) ||
	&error($text{'master_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
$access{'opts'} || &error($text{'master_eoptscannot'});

&save_choice("check-names", $zconf, $indent);
&save_choice("notify", $zconf, $indent);
&save_address("allow-update", $zconf, $indent);
&save_address("allow-transfer", $zconf, $indent);
&save_address("allow-query", $zconf, $indent);
&save_address("also-notify", $zconf, $indent);
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});
&webmin_log("opts", undef, $zconf->{'value'}, \%in);
&redirect("edit_master.cgi?index=$in{'index'}&view=$in{'view'}");

   070701000272a4000081e40000000000000002000000013d1fe2d3000004e7000000200000000000000000000000000000001a00000003reloc/bind8/save_misc.cgi #!/usr/local/bin/perl
# save_misc.cgi
# Save global miscellaneous options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'misc_ecannot'});
&error_setup($text{'misc_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
$options = &find("options", $conf);
&save_opt("coresize", \&size_check, $options, 1);
&save_opt("datasize", \&size_check, $options, 1);
&save_opt("files", \&files_check, $options, 1);
&save_opt("stacksize", \&size_check, $options, 1);
&save_opt("cleaning-interval", \&mins_check, $options, 1);
&save_opt("interface-interval", \&mins_check, $options, 1);
&save_opt("statistics-interval", \&mins_check, $options, 1);
&save_choice("recursion", $options, 1);
&save_choice("multiple-cnames", $options, 1);
&save_choice("fetch-glue", $options, 1);
&save_choice("auth-nxdomain", $options, 1);

&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("misc", undef, undef, \%in);
&redirect("");

sub size_check
{
return $_[0] =~ /^\d+[kmg]*$/i ? "" : $text{'misc_esize'};
}

sub files_check
{
return $_[0] =~ /^\d+$/i ? "" : $text{'misc_efiles'};
}

sub mins_check
{
return $_[0] =~ /^\d+$/i ? "" : $text{'misc_emins'};
}

 070701000272a5000081e40000000000000002000000013d1fe2d300000606000000200000000000000000000000000000001900000003reloc/bind8/save_net.cgi  #!/usr/local/bin/perl
# save_net.cgi
# Save global address and topology options

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'net_ecannot'});
&error_setup($text{'net_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
$options = &find("options", $conf);
if (!$in{'listen_def'}) {
	for($i=0; defined($addr = $in{"addrs_$i"}); $i++) {
		next if (!$addr);
		local $l = { 'name' => 'listen-on',
			     'type' => 1 };
		if (!$in{"pdef_$i"}) {
			$in{"port_$i"} =~ /^\d+$/ ||
				&error(&text('net_eport', $in{"port_$i"}));
			$l->{'values'} = [ 'port', $in{"port_$i"} ];
			}
		$l->{'members'} =
			[ map { { 'name' => $_ } } split(/\s+/, $addr) ];
		push(@listen, $l);
		}
	}
&save_directive($options, 'listen-on', \@listen, 1);
if (!$in{'saddr_def'}) {
	&check_ipaddress($in{'saddr'}) ||
		&error(&text('net_eaddr', $in{'saddr'}));
	push(@qvals, "address", $in{'saddr'});
	}
if (!$in{'sport_def'}) {
	$in{'sport'} =~ /^\d+$/ || &error(&text('net_eport', $in{'sport'}));
	push(@qvals, "port", $in{'sport'});
	}
if (@qvals) {
	&save_directive($options, 'query-source',
			[ { 'name' => 'query-source',
			    'values' => \@qvals } ], 1);
	}
else {
	&save_directive($options, 'query-source', [ ], 1);
	}
$in{'topology_def'} || $in{'topology'} || &error($text{'net_etopology'});
&save_addr_match('topology', $options, 1);

&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("net", undef, undef, \%in);
&redirect("");
  070701000272a6000081e40000000000000002000000013d1fe2d200003628000000200000000000000000000000000000001c00000003reloc/bind8/save_record.cgi   #!/usr/local/bin/perl
# save_record.cgi
# Adds or updates a record of some type

require './bind8-lib.pl';
&ReadParse();
%access = &get_module_acl();
$conf = &get_config();
@zl = &find("zone", $conf);
($zone) = grep { $_->{'value'} eq $in{'origin'} } @zl;
$reverse = ($in{'origin'} =~ /\.in-addr\.arpa/i ||
	    $in{'origin'} =~ /\.ip6\.int/i);
&can_edit_zone(\%access, $zone) || &error($text{'recs_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
&lock_file($config{'chroot'}.&absolute_path($in{'file'}));
@recs = &read_zone_file($in{'file'}, $in{'origin'});
&error_setup($text{'edit_err'});

# get the old record if needed
$r = $recs[$in{'num'}] if (defined($in{'num'}));

# check for deletion
if ($in{'delete'}) {
	# Delete the record
	&lock_file($config{'chroot'}.$r->{'file'});
	&delete_record($r->{'file'}, $r);
	&bump_soa_record($in{'file'}, \@recs);

	# Update reverse
	($orevconf, $orevfile, $orevrec) = &find_reverse($in{'oldvalue0'},
							 $in{'view'});
	if ($in{'rev'} && $orevrec && &can_edit_reverse($orevconf) &&
	    $in{'oldname'} eq $orevrec->{'values'}->[0] &&
	    ($in{'type'} eq "A" &&
	     $in{'oldvalue0'} eq &arpa_to_ip($orevrec->{'name'}) ||
	     $in{'type'} eq "AAAA" &&
	     &expandall_ip6($in{'oldvalue0'}) eq &expandall_ip6(&ip6int_to_net($orevrec->{'name'})))) {
		&lock_file($config{'chroot'}.$orevrec->{'file'});
		&delete_record($orevrec->{'file'} , $orevrec);
		&lock_file($config{'chroot'}.$orevfile);
		@orrecs = &read_zone_file($orevfile, $orevconf->{'value'});
		&bump_soa_record($orevfile, \@orrecs);
		}

	# Update forward
	local($ipv6 = ($in{'oldvalue0'} =~ /\.ip6\.int/i));
	($ofwdconf, $ofwdfile, $ofwdrec) = &find_forward($in{'oldvalue0'}, $ipv6);
	if ($in{'fwd'} && $ofwdrec && &can_edit_zone($ofwdconf->{'value'}) &&
	    (!$ipv6 && &arpa_to_ip($in{'oldname'}) eq $ofwdrec->{'values'}->[0] ||
	     $ipv6 && &expandall_ip6(&ip6int_to_net($in{'oldname'})) eq &expandall_ip6($ofwdrec->{'values'}->[0])) &&
	    $in{'oldvalue0'} eq $ofwdrec->{'name'}) {
		&lock_file($config{'chroot'}.$ofwdrec->{'file'});
		&delete_record($ofwdrec->{'file'}, $ofwdrec);
		&lock_file($config{'chroot'}.$ofwdfile);
		@ofrecs = &read_zone_file($ofwdfile, $ofwdconf->{'value'});
		&bump_soa_record($ofwdfile, \@ofrecs);
		}

	&redirect("edit_recs.cgi?index=$in{'index'}&view=$in{'view'}&type=$in{'redirtype'}&sort=$in{'sort'}");
	&unlock_all_files();
	&webmin_log('delete', 'record', $in{'origin'}, $r);
	exit;
	}

# parse inputs
if (!$in{'ttl_def'}) {
	$in{'ttl'} =~ /^\d+$/ ||
		&error(&text('edit_ettl', $in{'ttl'}));
	$ttl = $in{'ttl'}.$in{'ttlunit'};
	}
$vals = $in{'value0'};
for($i=1; defined($in{"value$i"}); $i++) {
	$vals .= " ".$in{"value$i"};
	}
if ($in{'type'} eq "PTR" && $reverse) {
	# a reverse address
	local($ipv4);
	($ipv4 = $in{'origin'} =~ /in-addr\.arpa/i) || $in{'origin'} =~ /\.ip6\.int/i ||
		&error(&text('edit_eip', $in{'name'}));
	if ($ipv4) {
		if ($in{'name'} =~ /^\d+$/) {
			$in{'name'} = &arpa_to_ip($in{'origin'}).".".$in{'name'};
			}
		&check_ipaddress($in{'name'}) ||
		    ($in{'name'} =~ /^(.*)\.(\d+)$/ && &check_ipaddress("$1")) ||
		    ($in{'name'} =~ /^(.*)\.(\d+)$/ && $1 eq &arpa_to_ip($in{'origin'})) ||
			&error(&text('edit_eip', $in{'name'}));
		$name = &ip_to_arpa($in{'name'});
		}
	else {
		&check_ip6address($in{'name'}) ||
			&error(&text('edit_eip6', $in{'name'}));
		$name = &net_to_ip6int($in{'name'});
		}
	&valname($in{'value0'}) ||
		&error(&text('edit_ehost', $vals[0]));
	if ($in{'value0'} !~ /\.$/) { $vals .= "."; }
	}
else {
	# some other kind of record
	$in{'name'} eq "" || &valnamewild($in{'name'}) ||
		&error(&text('edit_ename', $in{'name'}));
	if ($in{'type'} eq "A") {
		&check_ipaddress($vals) ||
			&error(&text('edit_eip', $vals));
		if (!$access{'multiple'}) {
			# Is this address already in use? Search all domains
			# to find out..
			foreach $z (@zl) {
				$typed = &find("type", $z->{'members'}) || next;
				next if ($typed->{'value'} ne "master");
				next if ($z->{'value'} =~ /in-addr\.arpa/i);
				$file = &find("file",
					      $z->{'members'})->{'value'};
				@frecs = &read_zone_file($file, $z->{'value'});
				foreach $fr (@frecs) {
					if ($fr->{'type'} eq "A" &&
					    $fr->{'values'}->[0] eq $vals &&
					    $fr->{'name'} ne $r->{'name'}) {
						&error(&text('edit_edupip',
							     $vals));
						}
					}
				}
			}
		}
	elsif ($in{'type'} eq "AAAA") {
		&check_ip6address($vals) ||
			&error(&text('edit_eip6', $vals));
		if (!$access{'multiple'}) {
			# Is this address already in use? Search all domains
			# to find out..
			foreach $z (@zl) {
				$typed = &find("type", $z->{'members'}) || next;
				next if ($typed->{'value'} ne "master");
				next if ($z->{'value'} =~ /\.ip6\.int/i);
				$file = &find("file",
					      $z->{'members'})->{'value'};
				@frecs = &read_zone_file($file, $z->{'value'});
				foreach $fr (@frecs) {
					if ($fr->{'type'} eq "AAAA" &&
					    &expandall_ip6($fr->{'values'}->[0]) eq &expandall_ip6($vals) &&
					    $fr->{'name'} ne $r->{'name'}) {
						&error(&text('edit_edupip',
							     $vals));
						}
					}
				}
			}
		}
	elsif ($in{'type'} eq "NS") {
		&valname($vals) ||
			&error(&text('edit_ens', $vals));
		}
	elsif ($in{'type'} eq "CNAME") {
		&valname($vals) ||
			&error(&text('edit_ecname', $vals));
		}
	elsif ($in{'type'} eq "MX") {
		&valname($in{'value1'}) ||
			&error(&text('edit_emx', $in{'value1'}));
		$in{'value0'} =~ /^\d+$/ ||
			&error(&text('edit_epri', $in{'value0'}));
		}
	elsif ($in{'type'} eq "HINFO") {
		$in{'value0'} =~ /^[^\s\";]+$/ ||
			&error($text{'edit_ehard'});
		$in{'value1'} =~ /^[^\s\";]+$/ ||
			&error($text{'edit_eos'});
		$vals = $in{'value0'}." ".$in{'value1'};
		}
	elsif ($in{'type'} eq "TXT") {
		$vals = $in{'value0'};
		$vals =~ s/((?:^|[^\\])(?:\\\\)*)[\"]/$1\\\"/g;
		$vals = "\"$vals\"";
		}
	elsif ($in{'type'} eq "WKS") {
		&check_ipaddress($in{'value0'}) ||
			&error(&text('edit_eip', $in{'value0'}));
		if (!$in{'value2'}) {
			&error($text{'edit_eserv'});
			}
		@ws = split(/[\r\n]+|\s+/, $in{'value2'});
		$vals = "$in{'value0'} $in{'value1'} (";
		foreach $ws (@ws) {
			$ws =~ /^[a-z]([\w\-]*\w)?$/i ||
				&error(&text('edit_ebadserv', $ws));
			$vals .= "\n\t\t\t\t\t$ws";
			}
		$vals .= " )";
		}
	elsif ($in{'type'} eq "RP") {
		if (!$in{'value0'}) {
			$in{'value0'} = ".";
			}
		elsif (!&valemail($in{'value0'})) {
			&error(&text('edit_eemail', $in{'value0'}));
			}
		&valname($in{'value1'}) ||
			&error(&text('edit_etxt', $in{'value1'}));
		$in{'value0'} = &email_to_dotted($in{'value0'});
		$vals = "$in{'value0'} $in{'value1'}";
		}
	elsif ($in{'type'} eq "LOC") {
		$in{'value0'} =~ /\S/ || &error($text{'edit_eloc'});
		}
	$fullname = $in{'name'} eq "" ? "$in{'origin'}." :
		    $in{'name'} !~ /\.$/ ? "$in{'name'}.$in{'origin'}." :
				           $in{'name'};
	$fullname =~ s/\.+$/\./;
	if ($config{'short_names'}) {
		$name = $in{'name'};
		}
	else {
		$name = $fullname;
		}
	}

# check for CNAME collision
if (!defined($in{'num'}) || $name ne $r->{'name'}) {
	foreach $cr (@recs) {
		if ($cr->{'name'} eq $name) {
			if ($in{'type'} eq CNAME) {
				&error($text{'edit_ecname1'});
				}
			elsif ($cr->{'type'} eq 'CNAME') {
				&error($text{'edit_ecname2'});
				}
			}
		}
	}

if ($in{'new'}) {
	# adding a new record
	&create_record($in{'file'}, $name, $ttl, "IN", $in{'type'}, $vals,
		       $in{'comment'});
	$r = { 'name' => $name, 'ttl' => $ttl, 'class' => 'IN',
	       'type' => $in{'type'}, 'values' => [ split(/\s+/, $vals) ],
	       'comment' => $in{'comment'} };
	($revconf, $revfile, $revrec) = &find_reverse($in{'value0'},
						      $in{'view'});
	if ($in{'rev'} && $revconf && &can_edit_reverse($revconf)) {
		local $rname = $in{'type'} eq "A" ? &ip_to_arpa($in{'value0'})
						: &net_to_ip6int($in{'value0'});
		if ($revrec && $in{'rev'} == 2) {
			# Upate the existing reverse for the domain
			&lock_file($config{'chroot'}.$revrec->{'file'});
			&modify_record($revrec->{'file'}, $revrec,
				       $rname, $revrec->{'ttl'}, "IN", "PTR",
				       $fullname);
			@rrecs = &read_zone_file($revfile, $revconf->{'value'});
			&bump_soa_record($revfile, \@rrecs);
			}
		elsif (!$revrec) {
			# Add a reverse record if we are the master for the
			# reverse domain, and if there is not already a
			# reverse record for the address.
			&lock_file($config{'chroot'}.$revfile);
			&create_record($revfile, $rname,
				$ttl, "IN", "PTR", $fullname);
			@rrecs = &read_zone_file($revfile, $revconf->{'value'});
			&bump_soa_record($revfile, \@rrecs);
			}
		}

	($fwdconf, $fwdfile, $fwdrec) = &find_forward($vals, $vals =~ /\.ip6\.int/i);
	if ($in{'fwd'} && $fwdconf && !$fwdrec &&
	    &can_edit_zone($fwdconf->{'value'})) {
		# Add a forward record if we are the master for the forward
		# domain, and if there is not already an A record
		# for the address
		local($rtype);
		if (&check_ipaddress($in{'name'})) {
			$rtype = "A";
			}
		elsif ($config{'support_aaaa'} &&
		       &check_ip6address($in{'name'})) {
			$rtype = "AAAA";
			}
		if ($rtype) {
			&lock_file($config{'chroot'}.$fwdfile);
			&create_record($fwdfile, $vals,
				       $ttl, "IN", $rtype, $in{'name'});
			@frecs = &read_zone_file($fwdfile, $fwdconf->{'value'});
			&bump_soa_record($fwdfile, \@frecs);
			}
		}
	}
else {
	# update an existing record
	&lock_file($config{'chroot'}.$r->{'file'});
	&modify_record($r->{'file'}, $r, $name, $ttl,
		       "IN", $in{'type'}, $vals, $in{'comment'});

	($orevconf, $orevfile, $orevrec) = &find_reverse($in{'oldvalue0'},
							 $in{'view'});
	($revconf, $revfile, $revrec) = &find_reverse($in{'value0'},
						      $in{'view'});
	if ($in{'rev'} && $orevrec && &can_edit_reverse($orevconf) &&
	    $in{'oldname'} eq $orevrec->{'values'}->[0] &&
	    ($in{'type'} eq "A" &&
	     $in{'oldvalue0'} eq &arpa_to_ip($orevrec->{'name'}) ||
	     $in{'type'} eq "AAAA" &&
	     &expandall_ip6($in{'oldvalue0'}) eq &expandall_ip6(&ip6int_to_net($orevrec->{'name'})))) {
		# Updating the reverse record. Either the name, address
		# or both may have changed. Furthermore, the reverse record
		# may now be in a different file!
		&lock_file($config{'chroot'}.$orevfile);
		&lock_file($config{'chroot'}.$revfile);
		@orrecs = &read_zone_file($orevfile, $orevconf->{'value'});
		@rrecs = &read_zone_file($revfile, $revconf->{'value'});
		if ($revconf eq $orevconf && &can_edit_reverse($revconf)) {
			# old and new in the same file
			&modify_record($orevrec->{'file'} , $orevrec, 
				       &net_to_ip6int(&ip_to_arpa($in{'value0'})),
				       $orevrec->{'ttl'}, "IN", "PTR", $fullname,
				       $in{'comment'});
			&bump_soa_record($orevfile, \@orrecs);
			}
		elsif ($revconf && &can_edit_reverse($revconf)) {
			# old and new in different files
			&delete_record($orevrec->{'file'} , $orevrec);
			&create_record($revfile, &net_to_ip6int(&ip_to_arpa($in{'value0'})),
				       $orevrec->{'ttl'}, "IN", "PTR", $fullname,
				       $in{'comment'});
			&bump_soa_record($orevfile, \@orrecs);
			&bump_soa_record($revfile, \@rrecs);
			}
		else {
			# we don't handle the new reverse domain.. lose the
			# reverse record
			&delete_record($orevrec->{'file'}, $orevrec);
			&bump_soa_record($orevfile, \@orrecs);
			}
		}
	elsif ($in{'rev'} && !$orevrec && $revconf && !$revrec && 
	       &can_edit_reverse($revconf)) {
		# we don't handle the old reverse domain but handle the new 
		# one.. create a new reverse record
	 	&lock_file($config{'chroot'}.$revfile);
		@rrecs = &read_zone_file($revfile, $revconf->{'value'});
		&create_record($revfile, &net_to_ip6int(&ip_to_arpa($in{'value0'})),
			       $ttl, "IN", "PTR", $fullname, $in{'comment'});
		&bump_soa_record($revfile, \@rrecs);
		}

	local($ipv6 = ($in{'value0'} =~ /\.ip6\.int/i));
	($ofwdconf, $ofwdfile, $ofwdrec) = &find_forward($in{'oldvalue0'}, $ipv6);
	($fwdconf, $fwdfile, $fwdrec) =	&find_forward($in{'value0'}, $ipv6);
	if ($in{'fwd'} && $ofwdrec && &can_edit_zone($ofwdconf->{'value'}) &&
	    &expandall_ip6(&ip6int_to_net(&arpa_to_ip($in{'oldname'}))) eq
	    &expandall_ip6($ofwdrec->{'values'}->[0]) &&
	    $in{'oldvalue0'} eq $ofwdrec->{'name'}) {
		# Updating the forward record
		&lock_file($config{'chroot'}.$ofwdfile);
		&lock_file($config{'chroot'}.$fwdfile);
		@ofrecs = &read_zone_file($ofwdfile, $ofwdconf->{'value'});
		@frecs = &read_zone_file($fwdfile, $fwdconf->{'value'});
		if ($fwdconf eq $ofwdconf &&
		    &can_edit_zone($fwdconf->{'value'})) {
			# old and new are in the same file
			&modify_record($ofwdrec->{'file'} , $ofwdrec, $vals,
				       $ofwdrec->{'ttl'}, "IN",
				       $ipv6 ? "AAAA" : "A",
				       $in{'name'}, $in{'comment'});
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		elsif ($fwdconf && &can_edit_zone($fwdconf->{'value'})) {
			# old and new in different files
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			if (!ipv6 || $config{'support_aaaa'}) {
				&create_record($fwdfile, $vals, $ofwdrec->{'ttl'},
					       "IN", $ipv6 ? "AAAA" : "A",
					       $in{'name'}, $in{'comment'});
				&bump_soa_record($fwdfile, \@frecs);
				}
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		else {
			# lose the forward because it has been moved to
			# a zone not handled by this server
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		}
	}
&bump_soa_record($in{'file'}, \@recs);
&unlock_all_files();
&webmin_log($in{'new'} ? 'create' : 'modify', 'record', $in{'origin'}, $r);
&redirect("edit_recs.cgi?index=$in{'index'}&view=$in{'view'}&type=$in{'redirtype'}&sort=$in{'sort'}");

# valname(name)
sub valname
{
return valdnsname($_[0], 0, $in{'origin'});
}

# valnamewild(name)
sub valnamewild
{
return valdnsname($_[0], 1, $in{'origin'});
}

# can_edit_reverse(&zone)
sub can_edit_reverse
{
return $access{'reverse'} || &can_edit_zone(\%access, $_[0]->{'value'});
}

070701000272a7000081e40000000000000002000000013d1fe2d200000548000000200000000000000000000000000000001d00000003reloc/bind8/save_servers.cgi  #!/usr/local/bin/perl
# save_servers.cgi
# Update all the server directives

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'defaults'} || &error($text{'servers_ecannot'});
&error_setup($text{'servers_err'});
&ReadParse();

&lock_file($config{'chroot'}.$config{'named_conf'});
$conf = &get_config();
@old = &find("server", $conf);
for($i=0; defined($ip = $in{"ip_$i"}); $i++) {
	next if (!$ip);
	&check_ipaddress($ip) || &error(&text('servers_eip', $ip));
	$in{"trans_$i"} =~ /^\d+$/ ||
		&error(&text('servers_etrans', $in{"trans_$i"}));
	local $s = { 'name' => 'server',
		     'type' => 1 };
	$s->{'members'} = $old[$i] ? $old[$i]->{'members'} : [ ];
	$s->{'values'} = [ $ip ];
	&save_directive($s, 'bogus',
		$in{"bogus_$i"} ? [ { 'name' => 'bogus',
				      'values' => [ 'yes' ] } ] : [ ], 1, 1);
	&save_directive($s, 'transfer-format',
		$in{"format_$i"} ? [ { 'name' => 'transfer-format',
				       'values' => [ $in{"format_$i"} ] } ]
				 : [ ], 1, 1);
	&save_directive($s, 'transfers',
		$in{"trans_$i"} ? [ { 'name' => 'transfers',
				      'values' => [ $in{"trans_$i"} ] } ]
				: [ ], 1, 1);
		
	push(@servers, $s);
	}
&save_directive(&get_config_parent(), 'server', \@servers, 0);
&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&webmin_log("servers", undef, undef, \%in);
&redirect("");

070701000272a8000081e40000000000000002000000013d1fe2d2000005de000000200000000000000000000000000000001b00000003reloc/bind8/save_slave.cgi    #!/usr/local/bin/perl
# save_slave.cgi
# Save changes to slave zone options in named.conf

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	$indent = 2;
	}
else {
	$indent = 1;
	}
$zconf = $conf->[$in{'index'}];
&lock_file($config{'chroot'}.$zconf->{'file'});
&error_setup($text{'slave_err'});
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf) ||
	&error($text{'slave_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
$access{'opts'} || &error($text{'master_eoptscannot'});

&save_port_address("masters", "port", $zconf, $indent);
&save_opt("max-transfer-time-in", \&mtti_check, $zconf, $indent);
&save_opt("file", \&file_check, $zconf, $indent);
&save_choice("check-names", $zconf, $indent);
&save_choice("notify", $zconf, $indent);
&save_addr_match("allow-update", $zconf, $indent);
&save_addr_match("allow-transfer", $zconf, $indent);
&save_addr_match("allow-query", $zconf, $indent);
&save_address("also-notify", $zconf, $indent);
&flush_file_lines();
&unlock_file($config{'chroot'}.$zconf->{'file'});
&webmin_log("opts", undef, $zconf->{'value'}, \%in);
&redirect("");

sub mtti_check
{
return $_[0] =~ /^\d+$/ ? undef : &text('slave_emax', $_[0]);
}

sub file_check
{
return $text{'slave_efile'} if ($_[0] !~ /\S/);
local $file = $_[0];
if ($_[0] !~ /^\//) {
	$file = &base_directory($conf)."/".$file;
	}
return &allowed_zone_file(\%access, $file) ? undef :
	&text('slave_efile2', $_[0]);
}

  070701000272a9000081e40000000000000002000000013d1fe2d300000893000000200000000000000000000000000000001900000003reloc/bind8/save_soa.cgi  #!/usr/local/bin/perl
# save_soa.cgi
# Save changes to an SOA record

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'master_err2'});
%access = &get_module_acl();
$conf = &get_config();
@zl = &find("zone", $conf);
($zone) = grep { $_->{'value'} eq $in{'origin'} } @zl;
&can_edit_zone(\%access, $zone) ||
	&error($text{'master_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
$access{'params'} || &error($text{'master_esoacannot'});

# check inputs
&valdnsname($in{'master'}, 0, $in{'origin'}) ||
	&error(&text('master_emaster', $in{'master'}));
&valemail($in{'email'}) ||
	&error(&text('master_eemail', $in{'email'}));
$in{'refresh'} =~ /^\d+$/ ||
	&error(&text('master_erefresh', $in{'refresh'}));
$in{'retry'} =~ /^\d+$/ ||
	&error(&text('master_eretry', $in{'retry'}));
$in{'expiry'} =~ /^\d+$/ ||
	&error(&text('master_eexpiry', $in{'expiry'}));
$in{'minimum'} =~ /^\d+$/ ||
	&error(&text('master_eminimum', $in{'minimum'}));
if ($in{'email'} =~ /\@/) {
	$in{'email'} = &email_to_dotted($in{'email'});
	}

&lock_file($config{'chroot'}.$in{'file'});
@recs = &read_zone_file($in{'file'}, $in{'origin'});
$old = $recs[$in{'num'}];
# already set serial if no acl allow it to update or update is disabled
$serial = $old->{'values'}->[2];
if ($config{'updserial_on'}) { # generally handle serial numbers ?
	if ($config{'soa_style'} == 1 && $old->{'values'}->[2] =~ /^(\d{8})(\d\d)$/) {
        	if ($1 eq &date_serial()) { $serial = sprintf "%d%2.2d", $1, $2+1; }
        	else { $serial = &date_serial()."00"; }
        	}
	else {
        	$serial = $old->{'values'}->[2]+1;
        	}
	}
else {
	$in{'serial'} =~ /^\d+$/ || &error($text{'master_eserial'});
	$serial = $in{'serial'};
	}
$vals = "$in{'master'} $in{'email'} (\n".
	"\t\t\t$serial\n".
	"\t\t\t$in{'refresh'}$in{'refunit'}\n".
	"\t\t\t$in{'retry'}$in{'retunit'}\n".
	"\t\t\t$in{'expiry'}$in{'expunit'}\n".
	"\t\t\t$in{'minimum'}$in{'minunit'} )";
&modify_record($in{'file'}, $old, $old->{'name'}, $old->{'ttl'},
	       $old->{'class'}, "SOA", $vals);
&unlock_file($config{'chroot'}.$in{'file'});
&webmin_log("soa", undef, $in{'origin'}, \%in);
&redirect("edit_master.cgi?index=$in{'index'}&view=$in{'view'}");

 070701000272aa000081e40000000000000002000000013d1fe2d200000358000000200000000000000000000000000000001a00000003reloc/bind8/save_text.cgi #!/usr/local/bin/perl
# save_text.cgi
# Save a manually edit zone file

require './bind8-lib.pl';
&ReadParseMime();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$file = &absolute_path(&find("file", $zconf)->{'value'});
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'master_ecannot'});
$access{'file'} || &error($text{'text_ecannot'});
$access{'ro'} && &error($text{'master_ero'});

&lock_file($config{'chroot'}.$file);
$in{'text'} =~ s/\r//g;
open(FILE, ">$config{'chroot'}$file");
print FILE $in{'text'};
close(FILE);
&unlock_file($config{'chroot'}.$file);
&webmin_log("text", undef, $conf->[$in{'index'}]->{'value'},
	    { 'file' => $file });
&redirect("edit_master.cgi?index=$in{'index'}&view=$in{'view'}");

070701000272ab000081e40000000000000002000000013d1fe2d300000281000000200000000000000000000000000000001a00000003reloc/bind8/save_view.cgi #!/usr/local/bin/perl
# save_view.cgi
# Update an existing view

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'view_err'});
$pconf = &get_config_parent();
$conf = $pconf->{'members'};
$view = $conf->[$in{'index'}];
%access = &get_module_acl();
$access{'views'} || &error($text{'view_ecannot'});
$access{'ro'} && &error($text{'view_ecannot'});

# Save the view
&lock_file($config{'chroot'}.$view->{'file'});
&save_addr_match("match-clients", $view, 1);
&save_choice("recursion", $view, 1);
&flush_file_lines();
&unlock_file($config{'chroot'}.$view->{'file'});
&webmin_log("view", undef, $view->{'value'}, \%in);
&redirect("");

   070701000272ac000081e40000000000000002000000013d1fe2d200000831000000200000000000000000000000000000001d00000003reloc/bind8/save_zonedef.cgi  #!/usr/local/bin/perl
# save_zonedef.cgi
# Save zone defaults

require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'zonedef_err'});
%access = &get_module_acl();
$access{'defaults'} || &error($text{'zonedef_ecannot'});

&lock_file($config{'chroot'}.$config{'named_conf'});
&lock_file("$module_config_directory/zonedef");
$conf = &get_config();
$options = &find("options", $conf);
foreach $c ("master", "slave", "response") {
	push(@check, { 'name' => 'check-names',
		       'values' => [ $c, $in{$c} ] }) if ($in{$c});
	}
&save_directive($options, 'check-names', \@check, 1);
&save_addr_match("allow-transfer", $options, 1);
&save_addr_match("allow-query", $options, 1);
&save_choice("notify", $options, 1);

$in{'refresh'} =~ /^\d+$/ || &error(&text('master_erefresh', $in{'refresh'}));
$in{'retry'} =~ /^\d+$/ || &error(&text('master_eretry', $in{'retry'}));
$in{'expiry'} =~ /^\d+$/ || &error(&text('master_eexpiry', $in{'expiry'}));
$in{'minimum'} =~ /^\d+$/ || &error(&text('master_eminimum', $in{'minimum'}));
%zonedef = ( 'refresh', $in{'refresh'},
	     'retry', $in{'retry'},
	     'expiry', $in{'expiry'},
	     'minimum', $in{'minimum'},
	     'refunit', $in{'refunit'},
	     'retunit', $in{'retunit'},
	     'expunit', $in{'expunit'},
	     'minunit', $in{'minunit'} );

&lock_file("$module_config_directory/config");
foreach $k (keys %config) {
	delete($config{$k}) if ($k =~ /^tmpl_/);
	}
$j=0;
for($i=0; defined($in{"name_$i"}); $i++) {
	next if (!$in{"name_$i"});
	$in{"type_$i"} eq 'A' || !$in{"def_$i"} ||
		&error($text{'master_eiptmpl'});
	$config{"tmpl_$j"} = join(' ', $in{"name_$i"}, $in{"type_$i"},
				  $in{"def_$i"} ? () : ( $in{"value_$i"} ) );
	$j++;
	}
$config{'tmpl_email'} = $in{'email'};
$config{'tmpl_include'} = $in{'include'};
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");

&save_zone_defaults(\%zonedef);
&flush_file_lines();
&unlock_file($config{'chroot'}.$config{'named_conf'});
&unlock_file("$module_config_directory/zonedef");
&webmin_log("zonedef", undef, undef, \%in);
&redirect("");

   070701000272ad000081e40000000000000002000000013d1fe2d20000090b000000200000000000000000000000000000001b00000003reloc/bind8/slave_form.cgi    #!/usr/local/bin/perl
# slave_form.cgi
# A form for creating a new slave or stub zone

require './bind8-lib.pl';
$type = ($0 =~ /slave_form/);
%access = &get_module_acl();
$access{'slave'} || &error($type ? $text{'screate_ecannot1'}
				 : $text{'screate_ecannot2'});
&header($type ? $text{'screate_title1'} : $text{'screate_title2'}, "");
print "<hr>\n";

print "<form action=create_slave.cgi>\n";
print "<input type=hidden name=type value=\"$type\">\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>",$type ? $text{'screate_header1'}
			       : $text{'screate_header2'},"</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>$text{'screate_type'}</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "$text{'screate_fwd'}\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "$text{'screate_rev'}</td> </tr>\n";

print "<tr> <td><b>$text{'screate_dom'}</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

$conf = &get_config();
@views = &find("view", $conf);
if (@views) {
	print "<tr> <td><b>$text{'mcreate_view'}</b></td>\n";
	print "<td colspan=3><select name=view>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n",
			$v->{'index'}, $v->{'value'};
		}
	print "</select></td> </tr>\n";
	}

print "<tr> <td><b>$text{'slave_file'}</b></td> <td colspan=3>\n";
print "<input type=radio name=file_def value=1> $text{'slave_none'}\n";
print "<input type=radio name=file_def value=2 checked> $text{'slave_auto'}\n";
print "<input type=radio name=file_def value=0>\n";
print "<input name=file size=30>",&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'slave_masters'}</b></td> <td>\n";
print "<textarea name=masters rows=4 cols=30>",
	join("\n", split(/\s+/, $config{'default_master'})),"</textarea></td>";
print "<td valign=top><b>$text{'slave_masterport'}</b></td> <td valign=top>\n";
print "<input type=radio name=port_def value=1 checked> $text{'default'}\n";
print "<input type=radio name=port_def value=0> $text{'slave_master_port'}\n";
print "<input name=port size=5> </td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'create'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000272ae000081e40000000000000002000000013d1fe2d2000004bb000000200000000000000000000000000000001600000003reloc/bind8/start.cgi #!/usr/local/bin/perl
# start.cgi
# Start bind 8

require './bind8-lib.pl';
%access = &get_module_acl();
$access{'ro'} && &error($text{'start_ecannot'});
$access{'apply'} || &error($text{'start_ecannot'});
if ($config{'named_user'}) {
	$user = "-u $config{'named_user'}";
	if ($config{'named_group'}) {
		$user .= " -g $config{'named_group'}";
		}
	else {
		local @u = getpwnam($config{'named_user'});
		local @g = getgrgid($u[3]);
		$user .= " -g $g[0]";
		}
	}
if ($config{'start_cmd'}) {
	$cmd = $config{'start_cmd'};
	}
elsif (!$config{'chroot'}) {
	$cmd = "$config{'named_path'} -c $config{'named_conf'} $user </dev/null 2>&1";
	}
elsif (`$config{'named_path'} -help 2>&1` =~ /\[-t/) {
	# use named's chroot option
	$cmd = "$config{'named_path'} -c $config{'named_conf'} -t $config{'chroot'} $user </dev/null 2>&1";
	}
else {
	# use the chroot command
	$cmd = "chroot $config{'chroot'} $config{'named_path'} -c $config{'named_conf'} $user </dev/null 2>&1";
	}

$temp = &tempname();
$rv = &system_logged("$cmd </dev/null >$temp 2>&1");
$out = `cat $temp`;
unlink($temp);
if ($rv || $out =~ /chroot.*not available/i) {
	&error(&text('start_error', "<tt>$out</tt>"));
	}
&webmin_log("start");
&redirect("");

 070701000272af000081e40000000000000002000000013d1fe2d20000090b000000200000000000000000000000000000001a00000003reloc/bind8/stub_form.cgi #!/usr/local/bin/perl
# slave_form.cgi
# A form for creating a new slave or stub zone

require './bind8-lib.pl';
$type = ($0 =~ /slave_form/);
%access = &get_module_acl();
$access{'slave'} || &error($type ? $text{'screate_ecannot1'}
				 : $text{'screate_ecannot2'});
&header($type ? $text{'screate_title1'} : $text{'screate_title2'}, "");
print "<hr>\n";

print "<form action=create_slave.cgi>\n";
print "<input type=hidden name=type value=\"$type\">\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>",$type ? $text{'screate_header1'}
			       : $text{'screate_header2'},"</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>$text{'screate_type'}</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "$text{'screate_fwd'}\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "$text{'screate_rev'}</td> </tr>\n";

print "<tr> <td><b>$text{'screate_dom'}</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

$conf = &get_config();
@views = &find("view", $conf);
if (@views) {
	print "<tr> <td><b>$text{'mcreate_view'}</b></td>\n";
	print "<td colspan=3><select name=view>\n";
	foreach $v (@views) {
		printf "<option value=%d>%s\n",
			$v->{'index'}, $v->{'value'};
		}
	print "</select></td> </tr>\n";
	}

print "<tr> <td><b>$text{'slave_file'}</b></td> <td colspan=3>\n";
print "<input type=radio name=file_def value=1> $text{'slave_none'}\n";
print "<input type=radio name=file_def value=2 checked> $text{'slave_auto'}\n";
print "<input type=radio name=file_def value=0>\n";
print "<input name=file size=30>",&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'slave_masters'}</b></td> <td>\n";
print "<textarea name=masters rows=4 cols=30>",
	join("\n", split(/\s+/, $config{'default_master'})),"</textarea></td>";
print "<td valign=top><b>$text{'slave_masterport'}</b></td> <td valign=top>\n";
print "<input type=radio name=port_def value=1 checked> $text{'default'}\n";
print "<input type=radio name=port_def value=0> $text{'slave_master_port'}\n";
print "<input name=port size=5> </td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'create'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000272b0000081e40000000000000002000000013d1fe2d30000058d000000200000000000000000000000000000001a00000003reloc/bind8/view_form.cgi #!/usr/local/bin/perl
# view_form.cgi
# Display options for creating a new view

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
%access = &get_module_acl();
$access{'views'} || &error($text{'view_ecannot'});
$access{'ro'} && &error($text{'view_ecannot'});

&header($text{'vcreate_title'}, "");
print "<hr>\n";

print "<form action=create_view.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'view_opts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'view_name'}</b></td>\n";
print "<td><input name=name size=25></td>\n";

print "<td><b>$text{'view_class'}</b></td>\n";
print "<td><input type=radio name=class_def value=1 checked> ",
      "$text{'default'}\n";
print "<input type=radio name=class_def value=0>\n";
print "<input name=class size=4></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'view_match'}</b></td> <td colspan=3>\n";
print "<input type=radio name=match_def value=1> $text{'vcreate_match_all'}\n";
print "<input type=radio name=match_def value=0 checked> ",
      "$text{'vcreate_match_sel'}<br>\n";
print "<textarea name=match rows=5 cols=40></textarea></td> </tr>\n";

print "</table></td></tr> </table><br>\n";

print "<table width=100%><tr><td align=left>\n";
print "<input type=submit value=\"$text{'create'}\"></td></form>\n";
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000272b1000081a40000000000000002000000013d1fe2d300000aaa000000200000000000000000000000000000001a00000003reloc/bind8/whois-servers .ac			whois.nic.ac
.aero			whois.nic.aero
.al			whois.ripe.net
.am			whois.amnic.net
.as			whois.nic.as
.at			whois.aco.net
.net.au			whois.net.au
.au			whois.aunic.net
.az			whois.ripe.net
.ba			whois.ripe.net
.be			whois.ripe.net
.bg			whois.ripe.net
.biz			whois.neulevel.biz
.br			whois.nic.br
.by			whois.ripe.net
.ca			whois.cira.ca
.cc			whois.nic.cc
.ch			whois.nic.ch
.cl			whois.nic.cl
.cn			whois.cnnic.net.cn
.com			whois.crsnic.net
.br.com			whois.centralnic.com
.cn.com			whois.centralnic.com
.de.com			whois.centralnic.com
.eu.com			whois.centralnic.com
.gb.com			whois.centralnic.com
.gb.net			whois.centralnic.com
.hu.com			whois.centralnic.com
.no.com			whois.centralnic.com
.qc.com			whois.centralnic.com
.ru.com			whois.centralnic.com
.sa.com			whois.centralnic.com
.se.com			whois.centralnic.com
.se.net			whois.centralnic.com
.uk.com			whois.centralnic.com
.uk.net			whois.centralnic.com
.us.com			whois.centralnic.com
.uy.com			whois.centralnic.com
.za.com			whois.centralnic.com
.coop			whois.nic.coop
.cx			whois.nic.cx
.cy			whois.ripe.net
.cz			whois.ripe.net
.de			whois.denic.de
.dk			whois.dk-hostmaster.dk
.dz			whois.ripe.net
.edu			whois.educause.net
.ee			whois.ripe.net
.eg			whois.ripe.net
.es			whois.ripe.net
.fi			whois.ripe.net
.fo			whois.ripe.net
.fr			whois.nic.fr
.gb			whois.ripe.net
.ge			whois.ripe.net
.gov			whois.nic.gov
.gr			whois.ripe.net
.gs			whois.adamsnames.tc
.hk			whois.apnic.net
.hr			whois.ripe.net
.hu			whois.ripe.net
.ie			whois.domainregistry.ie
.il			whois.ripe.net
.in			whois.ncst.ernet.in
.info			whois.afilias.net
.int			whois.iana.org
.is			whois.ripe.net
.it			whois.nic.it
.jp			whois.nic.ad.jp
.kh			whois.nic.net.kh
.kr			whois.apnic.net
.li			whois.nic.ch
.lt			whois.ripe.net
.lu			whois.dns.lu
.lv			whois.ripe.net
.ma			whois.ripe.net
.md			whois.ripe.net
.mil			whois.nic.mil
.mk			whois.ripe.net
.ms			whois.adamsnames.tc
.mt			whois.ripe.net
.museum			whois.museum
.mx			whois.nic.mx
.name			whois.nic.name
.net			whois.crsnic.net
.nl			whois.domain-registry.nl
.no			whois.norid.no
.nu			whois.nic.nu
.nz			whois.domainz.net.nz
.org			whois.crsnic.net
.pl			whois.ripe.net
.pt			whois.ripe.net
.ro			whois.ripe.net
.ru			whois.ripn.ru
.se			whois.nic-se.se
.sg			whois.nic.net.sg
.sh			whois.nic.sh
.si			whois.ripe.net
.sk			whois.ripe.net
.sm			whois.ripe.net
.su			whois.ripn.net
.tc			whois.adamsnames.tc
.tf			whois.adamsnames.tc
.th			whois.thnic.net
.tj			whois.nic.tj
.tn			whois.ripe.net
.to			whois.tonic.to
.tr			whois.ripe.net
.tv			whois.tv
.tw			whois.twnic.net
.ua			whois.ripe.net
.uk			whois.nic.uk
.ac.uk			whois.ja.net
.gov.uk			whois.ja.net
.us			whois.nic.us
.va			whois.ripe.net
.vg			whois.adamsnames.tc
.ws			whois.nic.ws
  070701000272b2000081e40000000000000002000000013d1fe2d3000005bb000000200000000000000000000000000000001600000003reloc/bind8/whois.cgi #!/usr/local/bin/perl
# whois.cgi
# Call whois to get zone info

require './bind8-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'view'} ne '') {
	$conf = $conf->[$in{'view'}]->{'members'};
	}
$zconf = $conf->[$in{'index'}]->{'members'};
$dom = $conf->[$in{'index'}]->{'value'};
%access = &get_module_acl();
&can_edit_zone(\%access, $conf->[$in{'index'}]) ||
	&error($text{'master_ecannot'});
&header($text{'whois_title'}, "");
print "<center><font size=+2>", &ip6int_to_net(&arpa_to_ip($dom)),
      "</font></center>\n";
print "<hr>\n";

# Find the best whois server for the domain
foreach $wf ("$module_root_directory/whois-servers",
	     "$module_config_directory/whois-servers") {
	open(WHOIS, $wf);
	while(<WHOIS>) {
		s/\r|\n//g;
		local ($wdom, $wserv) = split(/\s+/);
		$whois{$wdom} = $wserv;
		}
	close(WHOIS);
	}
foreach $d (sort { length($b) <=> length($a) } keys %whois) {
	if ($dom =~ /\Q$d\E$/) {
		$server = "-h $whois{$d}";
		last;
		}
	}

$cmd = "$config{'whois_cmd'} $server '$dom'";
$out = `$cmd 2>&1`;
if ($out =~ /whois\s+server:\s+(\S+)/i) {
	$cmd = "$config{'whois_cmd'} -h $1 '$dom'";
	$out = `$cmd 2>&1`;
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('whois_header', "<tt>$cmd</tt>"),
      "</b></td> </tr>\n";
print "<tr $cb> <td><pre>",&html_escape($out);
print "</pre></td> </tr></table><br>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}&view=$in{'view'}",
	$text{'master_return'});

 07070100000141000041ed0000000000000001000000033d1ff9d500000000000000200000000000000000000000000000001100000003reloc/bsdexports  07070100000143000081a40000000000000002000000013d1fe2d5000008de000000200000000000000000000000000000002300000003reloc/bsdexports/bsdexports-lib.pl    # bsdexports-lib.pl
# Functions for managing the FreeBSD exports file

do '../web-lib.pl';
&init_config();

# list_exports()
# Returns the current exports list
sub list_exports
{
local(@rv, $lnum, $_);
open(EXP, $config{'exports_file'});
$lnum = -1; $index = 0;
while(<EXP>) {
	$lnum++;
	s/\r|\n//g;	# remove newlines
	s/#.*$//g;	# remove comments
	next if (!/\S/);
	local @w = split(/[\s=]+/, $_);
	local %exp;
	for($i=0; $i<@w; $i++) {
		if ($w[$i] =~ /^\//) { push(@{$exp{'dirs'}}, $w[$i]); }
		elsif ($w[$i] eq "-maproot") { $exp{'maproot'} = $w[++$i]; }
		elsif ($w[$i] eq "-r") { $exp{'maproot'} = $w[++$i]; }
		elsif ($w[$i] eq "-mapall") { $exp{'mapall'} = $w[++$i]; }
		elsif ($w[$i] eq "-kerb") { $exp{'kerb'}++; }
		elsif ($w[$i] eq "-ro") { $exp{'ro'}++; }
		elsif ($w[$i] eq "-alldirs") { $exp{'alldirs'}++; }
		elsif ($w[$i] eq "-network") { $exp{'network'} = $w[++$i]; }
		elsif ($w[$i] eq "-mask") { $exp{'mask'} = $w[++$i]; }
		elsif ($w[$i] eq "-public") { $exp{'public'}++; }
		elsif ($w[$i] eq "-webnfs") { $exp{'webnfs'}++; }
		elsif ($w[$i] eq "-index") { $exp{'index'} = $w[++$i]; }
		else { push(@{$exp{'hosts'}}, $w[$i]); }
		}
	$exp{'line'} = $lnum;
	$exp{'index'} = $index++;
	push(@rv, \%exp);
	}
close(EXP);
return @rv;
}

# create_export(&export)
sub create_export
{
open(EXP, ">> $config{'exports_file'}");
print EXP &export_line($_[0]);
close(EXP);
}

# modify_export(&old, &new)
sub modify_export
{
&replace_file_line($config{'exports_file'}, $_[0]->{'line'},
		   &export_line($_[1]));
}

# delete_export(&export)
sub delete_export
{
&replace_file_line($config{'exports_file'}, $_[0]->{'line'});
}

# export_line(&export)
sub export_line
{
local %exp = %{$_[0]};
local $rv = join(' ', @{$exp{'dirs'}});
if ($exp{'alldirs'}) { $rv .= " -alldirs"; }
if ($exp{'ro'}) { $rv .= " -ro"; }
if ($exp{'kerb'}) { $rv .= " -kerb"; }
if ($exp{'maproot'}) { $rv .= " -maproot $exp{'maproot'}"; }
if ($exp{'mapall'}) { $rv .= " -mapall $exp{'mapall'}"; }
if ($exp{'mask'}) { $rv .= " -network $exp{'network'} -mask $exp{'mask'}"; }
if ($exp{'public'}) { $rv .= " -public"; }
if ($exp{'webnfs'}) { $rv .= " -webnfs"; }
if ($exp{'index'}) { $rv .= " -index $exp{'index'}"; }
else { $rv .= " ".join(" ", @{$exp{'hosts'}}); }
$rv .= "\n";
return $rv;
}

  07070100000144000081a40000000000000002000000013d1fe2d500000056000000200000000000000000000000000000002000000003reloc/bsdexports/config-freebsd   restart_command=killall -HUP mountd nfsd || (mountd ; nfsd)
exports_file=/etc/exports
  07070100000145000081a40000000000000002000000013d1fe2d5000000a5000000200000000000000000000000000000001e00000003reloc/bsdexports/config-macos restart_command=ps aux | grep -e nfsd -e mountd | grep -v grep | awk '{ print $2 }' | xargs kill -9 ; sleep 2 ; nfsd ; mountd /etc/exports
exports_file=/etc/exports
   07070100000146000081a40000000000000002000000013d1fe2d500000056000000200000000000000000000000000000001f00000003reloc/bsdexports/config-netbsd    restart_command=killall -HUP mountd nfsd || (mountd ; nfsd)
exports_file=/etc/exports
  07070100000147000081a40000000000000002000000013d1fe2d400000056000000200000000000000000000000000000002000000003reloc/bsdexports/config-openbsd   restart_command=killall -HUP mountd nfsd || (mountd ; nfsd)
exports_file=/etc/exports
  07070100000148000081a40000000000000002000000013d1fe2d50000006b000000200000000000000000000000000000002300000003reloc/bsdexports/config-openserver    restart_command=/etc/rc2.d/S[0-9][0-9]nfs stop ; /etc/rc2.d/S[0-9][0-9]nfs start
exports_file=/etc/exports
 07070100000149000081a40000000000000002000000013d1fe2d400000051000000200000000000000000000000000000001d00000003reloc/bsdexports/config.info  exports_file=Exports file,0
restart_command=Command to restart mountd and nfsd,0
   0707010000014a000081a40000000000000002000000013d1fe2d50000005b000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.ca   exports_file=Fitxer d'exportacions,0
restart_command=Ordre per reiniciar mountd i nfsd,0


 0707010000014b000081a40000000000000002000000013d1fe2d400000059000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.de   exports_file=Export Datei,0
restart_command=Kommando um mountd und nfsd neu zu starten,0
   0707010000014d000081a40000000000000002000000013d1fe2d500000060000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.es   exports_file=Archivo de exportaciones,0
restart_command=Comando para rearrancar mountd y nfsd,0
0707010000014e000081a40000000000000002000000013d1fe2d50000005f000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.fr   exports_file=Fichier de partages,0
restart_command=Commande pour redémarrer mountd et nfsd,0
 0707010000014f000081a40000000000000002000000013d1fe2d50000005f000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.hu   exports_file=file exportálás,0
restart_command=Parancs ami újraindítja a mountd-t és nfsd -t,0
 07070100000150000081a40000000000000002000000013d1fe2d50000005a000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.pl   exports_file=Plik 'exports',0
restart_command=Polecenie restartuj±ce mountd i&nbsp;nfsd,0
  07070100000154000081a40000000000000002000000013d1fe2d40000005b000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.sv   exports_file=Exporterar fil,0
restart_command=Kommando för att starta om mountd och nfsd,0
 07070100000158000081a40000000000000002000000013d1fe2d50000005a000000200000000000000000000000000000002000000003reloc/bsdexports/config.info.tr   exports_file=Export dosyasý,0
restart_command=mountd ve nfsd'yi tekrar baþlatacak komut,0
  0707010000015d000081a40000000000000002000000013d1fe2d50000004d000000200000000000000000000000000000002300000003reloc/bsdexports/config.info.zh_CN    exports_file=Exports ÎÄ¼þ,0
restart_command=ÖØÐÂÆô¶¯ mountd ºÍ nfsd µÄÃüÁî,0
   0707010000015e000081a40000000000000002000000013d1fe2d500000049000000200000000000000000000000000000002800000003reloc/bsdexports/config.info.zh_TW.Big5   exports_file=¶×¥XÀÉ®×,0
restart_command=­«·s¾¹°Ê mountd »P nfsd ªº«ü¥O,0
   0707010000015f000081e40000000000000002000000013d1fe2d40000010e000000200000000000000000000000000000002300000003reloc/bsdexports/delete_export.cgi    #!/usr/local/bin/perl
# delete_export.cgi
# Delete an existing export

require './bsdexports-lib.pl';
&ReadParse();
&lock_file($config{'exports_file'});
@exps = &list_exports();
&delete_export($exps[$in{'index'}]);
&unlock_file($config{'exports_file'});
&redirect("");

  07070100000160000081e40000000000000002000000013d1fe2d400001024000000200000000000000000000000000000002100000003reloc/bsdexports/edit_export.cgi  #!/usr/local/bin/perl
# edit_export.cgi
# Display a form for editing or creating an export

require './bsdexports-lib.pl';
&ReadParse();

if (defined($in{'index'})) {
	&header("Edit Export", "");
	@exp = &list_exports();
	%exp = %{$exp[$in{'index'}]};
	}
else {
	&header("Create Export", "");
	}
print "<hr>\n";

print "<form action=save_export.cgi>\n";
if (%exp) { print "<input type=hidden name=index value=$in{'index'}>\n"; }
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Export options</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top rowspan=3><b>Directories to export</b></td>\n";
print "<td rowspan=3><textarea name=dirs rows=4 cols=30>",
	join("\n", @{$exp{'dirs'}}),"</textarea></td>\n";

print "<td><b>Export subdirectories?</b></td>\n";
printf "<td><input type=radio name=alldirs value=1 %s> Yes\n",
	$exp{'alldirs'} ? "checked" : "";
printf "<input type=radio name=alldirs value=0 %s> No</td> </tr>\n",
	$exp{'alldirs'} ? "" : "checked";

print "<tr> <td><b>Read only?</b></td>\n";
printf "<td><input type=radio name=ro value=1 %s> Yes\n",
	$exp{'ro'} ? "checked" : "";
printf "<input type=radio name=ro value=0 %s> No</td> </tr>\n",
	$exp{'ro'} ? "" : "checked";

print "<tr> <td><b>Use Kerberos?</b></td>\n";
printf "<td><input type=radio name=kerb value=1 %s> Yes\n",
	$exp{'kerb'} ? "checked" : "";
printf "<input type=radio name=kerb value=0 %s> No</td> </tr>\n",
	$exp{'kerb'} ? "" : "checked";

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Remote user mapping</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>Map root user to</b></td>\n";
printf "<td><input type=radio name=maproot_def value=1 %s> %s</td>\n",
	$exp{'maproot'} ? "" : "checked", "Unprivileged user";
printf "<td><input type=radio name=maproot_def value=0 %s> User/UID\n",
	$exp{'maproot'} ? "checked" : "";
$user = $exp{'maproot'} =~ /^([^:]+)/ ? $1 : "";
print "<input name=maproot size=8 value=\"$user\">&nbsp;&nbsp;\n";
printf "<input type=checkbox name=maprootg_def value=1 %s> And groups/GIDs\n",
	$exp{'maproot'} =~ /:/ ? "checked" : "";
$groups = $exp{'maproot'} =~ /:(.*)$/ ? join(' ', split(/:/, $1)) : "";
print "<input name=maprootg size=30 value=\"$groups\"></td> </tr>\n";

print "<tr> <td><b>Map all users to</b></td>\n";
printf "<td><input type=radio name=mapall_def value=1 %s> No change</td>\n",
	$exp{'mapall'} ? "" : "checked";
printf "<td><input type=radio name=mapall_def value=0 %s> User/UID\n",
	$exp{'mapall'} ? "checked" : "";
$user = $exp{'mapall'} =~ /^([^:]+)/ ? $1 : "";
print "<input name=mapall size=8 value=\"$user\">&nbsp;&nbsp;\n";
printf "<input type=checkbox name=mapallg_def value=1 %s> And groups/GIDs\n",
	$exp{'mapall'} =~ /:/ ? "checked" : "";
$groups = $exp{'mapall'} =~ /:(.*)$/ ? join(' ', split(/:/, $1)) : "";
print "<input name=mapallg size=30 value=\"$groups\"></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Clients for this export</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td valign=top><b>Clients</b></td> <td>\n";

printf "<input type=radio name=cmode value=0 %s> <b>Hosts / netgroups</b>\n",
	$exp{'mask'} ? "" : "checked";
printf "<input name=hosts size=40 value=\"%s\"><br>\n",
	join(' ', @{$exp{'hosts'}});

printf "<input type=radio name=cmode value=1 %s> <b>Network</b>\n",
	$exp{'mask'} ? "checked" : "";
print "<input name=network size=20 value=\"$exp{'network'}\">\n";
print "&nbsp;<b>Mask</b>\n";
print "<input name=mask size=20 value=\"$exp{'mask'}\"></td> </tr>\n";

print "</table></td> </tr></table>\n";

if (%exp) {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=Save></td>\n";

	print "</form><form action=\"delete_export.cgi\">\n";
	print "<input type=hidden name=index value=\"$exp{'index'}\">\n";
	print "<td align=right><input type=submit value=Delete></td> </tr>\n";
	print "</form></table><p>\n";
	}
else { print "<input type=submit value=Create></form><p>\n"; }

print "<hr>\n";
&footer("", "exports list");

07070100046b83000041ed0000000000000001000000023d1ff9d500000000000000200000000000000000000000000000001800000003reloc/bsdexports/images   07070100046b87000081a40000000000000002000000013d1fe2d5000000f5000000200000000000000000000000000000002100000003reloc/bsdexports/images/icon.gif  GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  Æ„©Ëí£œ´Ú[ƒÞ<`¹	âH
Û×å:ªª¨lÛu°!¯á,žŸ¦ãÍ<Ð$dù,9Ó1ÙruMè2Üñl—*’VÓ¾ºA(éJñz…ÆiiÍ3Ëfšû\ß£ù6ù×#‡(õ‡ˆ6¡¦x8WØ7HÈ§HTt·5‰©©ôxàIš 5ÄYŠ¶¨êª`[âÀZk[ëê4ð:¡Ë+áûûàÔ
,K|jx»ÌÜì\3ðÌ:@]m}M“Í-ü.>þ]  ;   07070100000161000081e40000000000000002000000013d1fe2d500000564000000200000000000000000000000000000001b00000003reloc/bsdexports/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display a list of exports

require './bsdexports-lib.pl';
&header("NFS Exports", "", undef, 1, 1);
print "<hr>\n";

@exp = &list_exports();
if (@exp) {
	print "<a href=edit_export.cgi>Add a new export</a> <br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>Directories</b></td> ",
	      "<td><b>Clients</b></td> </tr>\n";
	foreach $e (@exp) {
		print "<tr $cb>\n";
		print "<td><a href=\"edit_export.cgi?index=$e->{'index'}\">",
			join(" ", @{$e->{'dirs'}}),"</a></td>\n";
		if ($e->{'network'}) {
			print "<td>$e->{'network'} / $e->{'mask'}</td>\n";
			}
		elsif (!$e->{'hosts'}) { print "<td>Everyone</td>\n"; }
		else { print "<td>",join("&nbsp;|&nbsp;",
					 @{$e->{'hosts'}}),"</td>\n"; }
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>No exports currently defined</b> <p>\n";
	}
print "<a href=edit_export.cgi>Add a new export</a> <p>\n";

print "<hr>\n";
print "<table width=100%> <tr>\n";
print "<td><form action=restart_mountd.cgi>\n";
print "<input type=submit value=\"Apply Changes\">\n";
print "</form></td>\n";
print "<td valign=top> Click this button to apply the current file exports\n";
print "configuration. This will make all the directories listed above\n";
print "available with the options specified.</td>\n";
print "</tr> <tr> </table>\n";

print "<hr>\n";
&footer("/", "index");

07070100000162000081a40000000000000002000000013d1fe2ea000001dd000000200000000000000000000000000000001d00000003reloc/bsdexports/module.info  risk=low medium high
desc_ko_KR.euc=NFS ³»º¸³»±â 
desc_zh_TW.Big5=NFS ¶×¥X
desc_pl=Udostêpnianie po NFS
desc_de=NFS Exporte
name=BSDexports
desc_zh_CN=NFS Êä³ö
desc_pt=Exportações de NFS
category=system
desc_tr=NFS Baðlantýlarý
os_support=freebsd openbsd macos netbsd openserver
desc=NFS Exports
desc_es=Exportaciones de NFS
desc_sv=NFS-exportering
desc_fr=Partage NFS
desc_ja_JP.euc=NFS ¥¨¥¯¥¹¥Ý¡¼¥È
depends=0.990
version=0.990
desc_hu=NFS exprotálás
desc_ca=Exportacions NFS
   07070100000163000081a40000000000000002000000013d1fe2d400000175000000200000000000000000000000000000001700000003reloc/bsdexports/notes     - Cannot have different options for the same host on the same *local*
   filesystem. Ie

/usr -maproot=daemon florissa
/tmp -ro -mapall=jcameron:staff daemon florissa

Would not be allowed if /usr and /tmp are on the same local. But

/usr -maproot=daemon florissa
/tmp -ro -mapall=jcameron:staff daemon

Would be allowed because there is no local-filesystem/host overlap

   07070100000164000081e40000000000000002000000013d1fe2d500000151000000200000000000000000000000000000002400000003reloc/bsdexports/restart_mountd.cgi   #!/usr/local/bin/perl
# restart_mountd.cgi
# Do whatever is needed to apply changes to the exports file

require './bsdexports-lib.pl';
$whatfailed = "Failed to apply changes";
$out = &backquote_logged("($config{'restart_command'}) </dev/null 2>&1");
if ($?) {
	# something went wrong.. display an error
	&error($out);
	}
&redirect("");
   07070100000165000081e40000000000000002000000013d1fe2d4000010f7000000200000000000000000000000000000002100000003reloc/bsdexports/save_export.cgi  #!/usr/local/bin/perl
# save_export.cgi
# Save or create an export

require './bsdexports-lib.pl';
&ReadParse();
$whatfailed = "Failed to save export";

# Validate and save inputs
@dl = split(/\s+/, $in{'dirs'});
foreach $d (@dl) {
	(-d $d) || &error("'$d' is not a directory or does not exist");
	}
@dl || &error("You must enter at least one directory to export");
if ($in{'alldirs'}) {
	@dl == 1 || &error("Only one directory can be given if the ",
			   "'export subdirectories' option is chosen");
	if (&root_dir($dl[0]) ne $dl[0]) {
		&error("When using the 'export subdirectories' option, the ",
		       "exported directory must be the root of a ",
		       "<i>local</i> filesystem");
		}
	}
$exp{'dirs'} = \@dl;
@devno = map { (stat($_))[0] } @dl;
$exp{'alldirs'} = $in{'alldirs'};
$exp{'ro'} = $in{'ro'};
$exp{'kerb'} = $in{'kerb'};

if (!$in{'maproot_def'}) {
	$in{'maproot'} =~ /^-?\d+$/ || defined(getpwnam($in{'maproot'})) ||
		&error("'$in{'maproot'}' is not a valid user or UID");
	if ($in{'maprootg_def'}) {
		@rgl = split(/\s+/, $in{'maprootg'});
		foreach $g (@rgl) {
			$g =~ /^-?\d+$/ || defined(getgrnam($g)) ||
				&error("'$g' is not a valid group or GID");
			}
		$exp{'maproot'} = "$in{'maproot'}:".join(':', @rgl);
		}
	else { $exp{'maproot'} = $in{'maproot'}; }
	}

if (!$in{'mapall_def'}) {
	$in{'mapall'} =~ /^-?\d+$/ || defined(getpwnam($in{'mapall'})) ||
		&error("'$in{'mapall'}' is not a valid user or UID");
	if ($in{'mapallg_def'}) {
		@rgl = split(/\s+/, $in{'mapallg'});
		foreach $g (@agl) {
			$g =~ /^-?\d+$/ || defined(getgrnam($g)) ||
				&error("'$g' is not a valid group or GID");
			}
		$exp{'mapall'} = "$in{'mapall'}:".join(':', @agl);
		}
	else { $exp{'mapall'} = $in{'mapall'}; }
	}

if (!$in{'maproot_def'} + !$in{'mapall_def'} + $in{'kerb'} > 1) {
	&error("The map root users, map all users and kerberos options ",
	       "are mutually exclusive");
	}

if ($in{'cmode'} == 0) {
	# Exporting to a list of hosts
	@hl = split(/\s+/, $in{'hosts'});
	@hl || &error("You must enter at least on host to export to");
	$exp{'hosts'} = \@hl;
	foreach $h (@hl) {
		$ip = gethostbyname($h);
		if ($ip) { push(@iplist, $ip); }
		}
	}
else {
	# Exporting to a subnet
	&check_ipaddress($in{'network'}) ||
		&error("'$in{'network'}' is not a valid network");
	&check_ipaddress($in{'mask'}) ||
		&error("'$in{'mask'}' is not a valid netmask");
	$exp{'network'} = $in{'network'};
	$exp{'mask'} = $in{'mask'};
	}

# Check for an export to the same host on the same local filesystem
&lock_file($config{'exports_file'});
@exps = &list_exports();
for($i=0; $i<@exps; $i++) {
	next if (defined($in{'index'}) && $in{'index'} == $i);
	$samefs = 0;
	foreach $d (@{$exps[$i]->{'dirs'}}) {
		if (&indexof((stat($d))[0], @devno) >= 0) {
			# Same filesystem as this export..
			$samefs = $d;
			}
		}
	next if (!$samefs);
	foreach $h (@{$exps[$i]->{'hosts'}}) {
		$ip = gethostbyname($h);
		if ($ip && &indexof($ip, @iplist) >= 0) {
			# Another export on this filesystem is to the same host
			&error("The directory <tt>$samefs</tt> is already ",
			       "being exported to <tt>$h</tt>. FreeBSD does ",
			       "not allow directories on the same ",
			       "<i>local</i> filesystem to be exported to the ",
			       "same host separately");
			}
		}
	if ($exp{'mask'} && $exp{'mask'} eq $exps[$i]->{'mask'} &&
			    $exp{'network'} eq $exps[$i]->{'network'}) {
		# Another export on this filesystem to the same net
		&error("The directory <tt>$samefs</tt> is already ",
		       "being exported to <tt>$exp{'network'}</tt>. FreeBSD ",
		       "does not allow directories on the same ",
		       "<i>local</i> filesystem to be exported to the ",
		       "same network separately");
		}
	}

if (defined($in{'index'})) {
	$old = $exps[$in{'index'}];
	$exp{'public'} = $old->{'public'};
	$exp{'webnfs'} = $old->{'webnfs'};
	$exp{'index'} = $old->{'index'};
	&modify_export($old, \%exp);
	}
else {
	&create_export(\%exp);
	}
&unlock_file($config{'exports_file'});
&redirect("");

# root_dir(path)
# Returns the root directory of the filesystem some path is in
sub root_dir
{
my $dir = $_[0];
my @pst = stat($dir);
while(1) {
	if ($dir eq "/") { return "/"; }
	my $lastdir = $dir;
	$dir =~ s/\/[^\/]+$//g;
	if ($dir eq "") { $dir = "/"; }
	my @ust = stat($dir);
	if ($ust[0] != $pst[0]) { return $lastdir; }
	}
}

 07070100048270000041ed0000000000000001000000043d1ff9d600000000000000200000000000000000000000000000000d00000003reloc/burner  07070100048271000081e40000000000000002000000013d1fe2e8000008bb000000200000000000000000000000000000001600000003reloc/burner/burn.cgi #!/usr/local/bin/perl
# burn.cgi
# Do a real or test burn of a CD

require './burner-lib.pl';
&ReadParse();
$profile = &get_profile($in{'id'});

if ($in{'cancel'}) {
	if ($in{'iso'}) {
		unlink($in{'iso'});
		}
	elsif ($in{'audio'}) {
		system("rm -rf $in{'audio'} >/dev/null 2>&1");
		}
	&redirect("");
	exit;
	}
if ($in{'iso'} && !-r $in{'iso'}) {
	&error(&text('burn_egone', "edit_profile.cgi?id=$profile->{'id'}"));
	}
elsif ($in{'audio'} && !-d $in{'audio'}) {
	&error(&text('burn_egone2', "edit_profile.cgi?id=$profile->{'id'}"));
	}

$| = 1;
$theme_no_table = 1 if (!$in{'bg'});
&header($text{'burn_title'}, "");
print "<hr>\n";

if ($in{'iso'}) {
	# Burning data CD
	$cmd = "$config{'cdrecord'} -v dev=$config{'dev'} speed=$config{'speed'}";
	$cmd .= " $config{'extra'}" if ($config{'extra'});
	$cmd .= " -dummy" if ($in{'test'});
	$cmd .= " -eject" if ($in{'eject'} && !$in{'test'});
	$cmd .= " -isosize" if ($profile->{'isosize'});
	$cmd .= " blank=$in{'blank'}" if ($in{'blank'});
	$cmd .= " '$in{'iso'}'";
	}
else {
	# Burning audio CD
	$cmd = "$config{'cdrecord'} -v dev=$config{'dev'} speed=$config{'speed'}";
	$cmd .= " -dummy" if ($in{'test'});
	$cmd .= " -eject" if ($in{'eject'} && !$in{'test'});
	$cmd .= " -audio -swab -pad $in{'audio'}/*.raw";
	}

if ($in{'bg'}) {
	# Start in background
	if (!fork()) {
		close(STDIN); close(STDOUT); close(STDERR);
		system("$cmd >/dev/null 2>&1 </dev/null");
		if ($in{'temp'}) {
			if ($in{'iso'}) {
				unlink($in{'iso'});
				}
			else {
				system("rm -rf $in{'audio'} >/dev/null 2>&1");
				}
			}
		exit;
		}
	print "<b>",&text($in{'test'} ? 'burn_theader2' : 'burn_header2',
			  "<tt>$cmd</tt>"),"</b><p>\n";
	}
else {
	# Run command and show output
	print "<b>",&text($in{'test'} ? 'burn_theader' : 'burn_header',
			  "<tt>$cmd</tt>"),"</b><br>\n";
	print "<pre>";
	&foreign_require("proc", "proc-lib.pl");
	&foreign_call("proc", "safe_process_exec", $cmd, 0, 0, STDOUT,
		      undef, 1, 0);
	print "</pre>\n";
	if ($in{'temp'}) {
		if ($in{'iso'}) {
			unlink($in{'iso'});
			}
		else {
			system("rm -rf $in{'audio'} >/dev/null 2>&1");
			}
		}
	}

print "<hr>\n";
&footer("edit_profile.cgi?id=$profile->{'id'}", $text{'edit_return'},
	"", $text{'index_return'});

 07070100048272000081a40000000000000002000000013d1fe2e800000514000000200000000000000000000000000000001b00000003reloc/burner/burner-lib.pl    #!/usr/local/bin/perl
# burner-lib.pl
# Common functions for managing the CD burning profiles

do '../web-lib.pl';
&init_config();

# list_profiles()
# Returns a list of all burn profiles available for use.
# Each profile can be for an ISO, a list of directory mappings, or a list of
# audio track files
sub list_profiles
{
local @rv;
opendir(DIR, $module_config_directory);
foreach $f (sort { $a cmp $b } readdir(DIR)) {
	next if ($f !~ /^(\S+)\.burn$/);
	push(@rv, &get_profile($1));
	}
closedir(DIR);
return @rv;
}

# get_profile(id)
sub get_profile
{
local %burn;
&read_file("$module_config_directory/$_[0].burn", \%burn);
$burn{'id'} = $_[0];
return \%burn;
}

# save_profile(&profile)
sub save_profile
{
$_[0]->{'id'} = time() if (!$_[0]->{'id'});
&write_file("$module_config_directory/$_[0]->{'id'}.burn", $_[0]);
}

# delete_profile(&profile)
sub delete_profile
{
unlink("$module_config_directory/$_[0]->{'id'}.burn");
}

# list_cdrecord_devices()
# Returns a list of all possible CD burner devices
sub list_cdrecord_devices
{
local @rv;
open(SCAN, "$config{'cdrecord'} -scanbus 2>/dev/null |");
while(<SCAN>) {
	if (/^\s+(\S+)\s+\d+\)\s+'(.*)'\s+'(.*)'\s+'(.*)'\s+(.*)/) {
		push(@rv, { 'dev' => $1,
			    'name' => "$2$3$4",
			    'type' => $5 });
		}
	}
close(SCAN);
return @rv;
}


1;

07070100048273000081a40000000000000002000000013d1fe2e800000038000000200000000000000000000000000000001400000003reloc/burner/config   cdrecord=cdrecord
mkisofs=mkisofs
mpg123=mpg123
speed=1
07070100048274000081e40000000000000002000000013d1fe2e800000545000000200000000000000000000000000000001a00000003reloc/burner/edit_dev.cgi #!/usr/local/bin/perl
# edit_dev.cgi
# Display burner device options

require './burner-lib.pl';
&header($text{'dev_title'}, "");
print "<hr>\n";

print "<form action=save_dev.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'dev_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'dev_device'}</b></td>\n";
print "<td><select name=dev>\n";
if (!$config{'dev'}) {
	print "<option value='' checked>$text{'dev_none'}\n";
	}
foreach $d (&list_cdrecord_devices()) {
	printf "<option value=%s %s>%s (%s)\n",
		$d->{'dev'}, $d->{'dev'} eq $config{'dev'} ? 'selected' : '',
		$d->{'name'}, $d->{'type'};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'dev_speed'}</b></td> <td>\n";
foreach $s (1, 2, 4, 8, undef) {
	printf "&nbsp;&nbsp;<input type=radio name=speed value=%s %s> %s\n",
		$s, $s eq $config{'speed'} ? 'checked' : '',
		$s ? $s.'x' : $text{'dev_other'};
	$found++ if ($s eq $config{'speed'});
	}
printf "<input name=other size=4 value='%s'></td> </tr>\n",
	$found ? '' : $config{'speed'};

print "<tr> <td><b>$text{'dev_extra'}</b></td>\n";
printf "<td><input name=extra size=40 value='%s'></td> </tr>\n",
	$config{'extra'};

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100048275000081e40000000000000002000000013d1fe2e800000658000000200000000000000000000000000000001e00000003reloc/burner/edit_mkisofs.cgi #!/usr/local/bin/perl
# edit_mkisofs.cgi
# Global (less common) mkisofs options

require './burner-lib.pl';
&header($text{'mkisofs_title'}, "");
print "<hr>\n";

print "<form action=save_mkisofs.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'mkisofs_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'mkisofs_novers'}</b></td>\n";
printf "<td><input type=radio name=novers value=0 %s> %s\n",
	$config{'novers'} ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=novers value=1 %s> %s</td>\n",
	$config{'novers'} ? 'checked' : '', $text{'no'};

print "<td><b>$text{'mkisofs_notrans'}</b></td>\n";
printf "<td><input type=radio name=notrans value=1 %s> %s\n",
	$config{'notrans'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=notrans value=0 %s> %s</td> </tr>\n",
	$config{'notrans'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'mkisofs_nobak'}</b></td>\n";
printf "<td><input type=radio name=nobak value=1 %s> %s\n",
	$config{'nobak'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=nobak value=0 %s> %s</td>\n",
	$config{'nobak'} ? '' : 'checked', $text{'no'};

print "<td><b>$text{'mkisofs_fsyms'}</b></td>\n";
printf "<td><input type=radio name=fsyms value=1 %s> %s\n",
	$config{'fsyms'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=fsyms value=0 %s> %s</td> </tr>\n",
	$config{'fsyms'} ? '' : 'checked', $text{'no'};

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100048276000081e40000000000000002000000013d1fe2e8000013fd000000200000000000000000000000000000001e00000003reloc/burner/edit_profile.cgi #!/usr/local/bin/perl
# edit_profile.cgi
# Edit or create a burn profile

require './burner-lib.pl';
&ReadParse();

if ($in{'type'}) {
	&header($text{'create_title'}, "");
	$profile = { 'type' => $in{'type'} };
	}
else {
	&header($text{'edit_title'}, "");
	$profile = &get_profile($in{'id'});
	}
print "<hr>\n";

if ($profile->{'type'} == 2 && !&has_command($config{'mkisofs'})) {
	print "<p>",&text('edit_emkisofs', "<tt>$config{'mkisofs'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{"index_return"});
	exit;
	}
if ($profile->{'type'} == 3 && !&has_command($config{'mpg123'})) {
	print "<p>",&text('edit_empg123', "<tt>$config{'mpg123'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{"index_return"});
	exit;
	}

print "<form action=save_profile.cgi>\n";
print "<input type=hidden name=id value='$in{'id'}'>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_name'}</b></td>\n";
print "<td><input name=name size=25 value='$profile->{'name'}'></td>\n";
print "<td colspan=2></td> </tr>\n";

if ($profile->{'type'} == 1) {
	# Single ISO options
	print "<tr> <td><b>$text{'edit_iso'}</b></td>\n";
	printf "<td colspan=3><input name=iso size=45 value='%s'> %s</td>\n",
		$profile->{'iso'}, &file_chooser_button("iso");
	print "</tr>\n";

	print "<tr> <td><b>$text{'edit_isosize'}</b></td>\n";
	printf "<td><input type=radio name=isosize value=1 %s> %s\n",
		$profile->{'isosize'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=isosize value=0 %s> %s</td> </tr>\n",
		$profile->{'isosize'} ? '' : 'checked', $text{'no'};
	}
elsif ($profile->{'type'} == 2) {
	# Multi-directory options
	print "<tr> <td valign=top><b>$text{'edit_dirs'}</b></td>\n";
	print "<td colspan=3><table width=100% border=1>\n";
	print "<tr $tb> <td><b>$text{'edit_source'}</b></td> ",
	      "<td><b>$text{'edit_dest'}</b></td> </tr>\n";
	for($i=0; $profile->{"source_".($i-4)} || $i < 4; $i++) {
		print "<tr $cb>\n";
		printf "<td><input name=source_%d size=35 value='%s'>%s</td>\n",
			$i, $profile->{"source_$i"}, 
			&file_chooser_button("source_$i");
		printf "<td><input name=dest_%d size=25 value='%s'></td>\n",
			$i, $profile->{"dest_$i"} ? $profile->{"dest_$i"} : "/";
		print "</tr>\n";
		}
	print "</table>\n";

	print "<tr> <td><b>$text{'edit_rock'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=rock value=2 %s> %s\n",
		$profile->{'rock'} == 2 ? 'checked' : '', $text{'edit_rock2'};
	printf "<input type=radio name=rock value=1 %s> %s\n",
		$profile->{'rock'} == 1 ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=rock value=0 %s> %s</td> </tr>\n",
		$profile->{'rock'} == 0 ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>$text{'edit_joliet'}</b></td>\n";
	printf "<td><input type=radio name=joliet value=1 %s> %s\n",
		$profile->{'joliet'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=joliet value=0 %s> %s</td>\n",
		$profile->{'joliet'} ? '' : 'checked', $text{'no'};

	print "<td><b>$text{'edit_long'}</b></td>\n";
	printf "<td><input type=radio name=long value=1 %s> %s\n",
		$profile->{'long'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=long value=0 %s> %s</td> </tr>\n",
		$profile->{'long'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>$text{'edit_trans'}</b></td>\n";
	printf "<td><input type=radio name=trans value=1 %s> %s\n",
		$profile->{'trans'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=trans value=0 %s> %s</td>\n",
		$profile->{'trans'} ? '' : 'checked', $text{'no'};

	print "<td><b>$text{'edit_volid'}</b></td>\n";
	printf "<td><input name=volid size=15 value='%s'></td> </tr>\n",
		$profile->{'volid'};
	}
else {
	# MP3 files or directories of them
	print "<tr> <td valign=top><b>$text{'edit_mp3s'}</b></td>\n";
	print "<td colspan=3>\n";
	for($i=0; $profile->{"source_".($i-4)} || $i < 4; $i++) {
		printf "<input name=source_%d size=50 value='%s'> %s<br>\n",
			$i, $profile->{"source_$i"},
			&file_chooser_button("source_$i");
		}
	print "</td> </tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<table width=100%><tr>\n";
print "<td width=25%><input type=submit value='$text{'save'}'></td>\n";
print "<td width=25% align=center><input type=submit name=burn ",
      "value='$text{'edit_burn'}'></td>\n";
print "<td width=25% align=center><input type=submit name=test ",
      "value='$text{'edit_test'}'></td>\n";
if ($profile->{'id'}) {
	print "<td width=25% align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
else {
	print "<td width=25%></td>\n";
	}
print "</tr>\n";
print "<tr> <td></td> <td width=50% align=center colspan=2>\n";
print "<input type=checkbox name=ask value=1 checked> $text{'edit_ask'}\n";
print "</td> <td></td> </tr>\n";
print "</table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100048277000081a40000000000000002000000013d1fe2e8000000e5000000200000000000000000000000000000001f00000003reloc/burner/feedback_files.pl    
do 'burner-lib.pl';

sub feedback_files
{
local (@rv, $f);
opendir(DIR, $module_config_directory);
foreach $f (readdir(DIR)) {
	push(@rv, "$module_config_directory/$f") if ($f =~ /\.burn$/);
	}
closedir(DIR);
return @rv;
}

1;

   07070100057c6a000041ed0000000000000001000000023d1ff9d500000000000000200000000000000000000000000000001400000003reloc/burner/images   07070100057c6b000081a40000000000000002000000013d1fe2e8000020f9000000200000000000000000000000000000001e00000003reloc/burner/images/cdrom.gif GIF89a‘ Ž Õ  ÿÿÿœœœ­­­çÞÞÆ½½{ss911scc”{{Æœœ”ssµŒŒZBB!9))½ccÎ­¥­Œ„Æ­¥¥Œ„½¥œœ„{­œ”µ¥œÖ½­ÞÆµïÞÎÆµ¥÷ïçïçÞ­¥œçÖ½ÖÖÎŒ”kœ¥{{¥ks”kkkscZsZRckcskRscZccRcZJZ)!)Œc„Œc{J9B)!{ksœs„”{„Œks„ck½{ŒÆ{Œµk{µ{„ÆŒ”½„Œµck­Zc   ,    ‘ Ž @ÿ@€pH,È¤òÈ49Ð¨ôé¬.¯Ø¬vË­B A@XˆÚiÞ`èÒÐ	xÂ†"àS.,,04daP]”•J_`Ž(OR’Qm¡¢¤put{´……44¾2%%2¾(&(%*,*0d’–ÐE_ eNžS_ÜÞ¢£m¥ävª«ëí²´·»»½.ÀÅÅ&&*û*þ*(TœPQ¢ŒxíR&< èÖM[”O$Q¤È­MGpãÎ‰Ìà
ƒÉu$´ûS+×„7fÈtAÓ
›7éü×OÅÿa2=`À@ g¿ŒÙuq[ÆoP7rdÃFª¸åÈ}°cNI<œ„ B‚v¨Ýq#G™3\È|AWŸÝ`&
–@â@ßCea#ŠG³@‘@ÆÀE†ŽräÉ“-S‰5«¬0Ð"FŒ¨[4X½º‹éHštuv‡Û·5i¢aÏÞÀÛ.cøáÈÛPÃÁÑÄIÀŒQ¡3©qYã`7eÊsv­à9 pààDÀþü;ý
eÉüÁPÍ`Ýº³h-ØÂUaF¡þð" 5  @&˜`5„ €
x@ tD,6ä‡@ÿ†H#È
ˆçÌñEÁÀž
+´§B ˆ½‘‘tÐ0Ð
ïÈŽ'Ö‚®¬#ZXð‡-´à‚‹ÌPÁ“P>édÿEPLØ„
€¥,`rÁ}„)‹cî!Ášk¦$Öl ó¨)ƒã
7¶Èâ‹,4E&Ð°ã ƒpš®ÀB,°Œ¹Ò£îŒ¹À¶ð`dª©¥;$P®ÄbxÀˆ!TN@!J
‚Ë-…dªß,	X€ÖBÎ– pškþè8Ž,œ`,±„&»ã|-0€X»°«l%Á¹NØ—mYd%0d;;¤%À8×ç5Qãÿ6gCí¨ ‚/h¯.ø" ‹L7è C§"ØW°Pši¿¦†Â¦5€aä!†xL;mXpflÒcÀñ+`P›ëxŒiÑÄCP€pË½Ûnp?	c30Áã‚	)è“ÂÏt½ “™FÀ Ý‘‹2
Æc,íÔéPIÔb€µI[¿™ñµÌá¹Ð¬Ì1ø¥¶zk“à !< ÷=ôàƒÝ>ä]÷Þ=ä €2¥új¦`¶°}ˆ#>Ç³I«uÖépuä[7^µ6HHaCÒX‚Ã# ºè¡^ºè!¤>A<BBÇàßFùÿd°~Ý’õJâŠC-¼ÆêhmA„zÍ–œsÉÀÆ–p‚õ£“ÞP1#g‚†ÿ·þú{48ìÀCâwÖ}¿+þtµ+¶12ßüþL`cšÀ½¡G96P€Ð·”O<¸Á"x>¬¥}×ÂÀ®Ô "C~ÒÿFHB!l©3‚ƒ
W(#Mb",¡gˆ ¨0s„#¨ìÅ/%( ¾x¨CGxh!.´—8ªçiâ ˜„Gžò†p˜a0I°‡?°ª"„.xQ€^‘0`ABÈ‰2±ÓpD€‹hÿ$*á€L)º¯¬b®XT˜’„z à/Û_ð±E¢' ó‘3b¸ÄŒPƒ ™ˆE6É‘Št²2â¸Î9X9Ä©¤ðÐªæAÐ€78Y¤1ŠÁìÃz2ÆJ@(dsÑÈÈ<@ŒlÒ˜ÞøF(ª¢ÌP`g+æèJÖDÆ16¡r±jKLÞ2“Ôä»AA
øq=8R0@§ƒ F‰[°¤ `¦Tq™Ve74à~‚ÆŸW)‡*²"ì*,³Ö}jƒ´…›/ø™]î’—`ð%ÍhìxÀ à\”ä¨!€ÀV0£ÇËŒ£;ÿ-å'?WŠrtà6€X°GºÈ=èÑià€”"PËn ¥þŒQ@óJÐ÷¦ê=ïÕà{p$BjÂgAÄa¨9ê`"®”#¬r ÏV IÐ¬pà 10 @ü1ÎŸúCOãÔÓ	Zô;)#ª1 ·Ì²4ì@?™ZR!ç¤ðb|ßø&ð$¾“	#%úÀÙ1lÃ ‹FNrWCG
P£' šSs"\Ù³P)5*H	(à­G…	I`„(K\ÿ°›¸s@–D%R¯ªÑÐ@p‘Êê¦r%gYSµ&-VÐà40ðOÕWa%â«Jÿo	Ò¨¬AÍç4U^€'$oÙ×}iIÚ°ßEséª‘ìE`=	¶kr	· 
,€wóƒÀœJÓ¬4&£½Êb/iH£‚gM­»Ž‹×¾6›§!.[dÙšÜ— 4"eWPŠ À ¨`9?‚f_øØ‡¿@$^|æº¸‚hßûL¹&
H€c‹Òj+­i‰¡jW‹œã¢&_ŽUSd€ –ótu!åbAp€ò“]º™£¨ß|ð¼å-o6X g €&¢ºbT¶J'ÆÁÉq²A´ä*›ÊAn~aQÀØ`Ì¹8Î¸eêá%éRÇiN».y“›ÿæF·(`8eT ”pÕ±î"È.·PLß§:cÓ”2ä´¦+°@“|£lIz ‡ã$`AöL7‚f‡Î€VmPþVÉ’¯:Hr’Y<¤‘ÅO`òm\Æ>ð‚|4ØoŒ§½À >YPäm@å PÇóÛu Á,õhûU‹Pë§e`ìTt=dæt§û"ÿ#˜u‡¨ 16ÎñÃ@§§ñô ü‰nt¸ÊWÎò–3qCXg‰šÏ<¬+”<]Îs/Ì‡:¤AXTplå8EX	æ‡yÒ`‹@¯þ‰÷|˜`XDÿƒ5dC¥+”Yï‡”IL´`U ð¥‹ €Ã0úå3¸zõtÀò´!£”Žb«47¶’w€QŒùòqprVtëÅý—tçùhT#½oÒwEf4Ï9¤bD$Q˜ôCÈUM ‡|Ù=ò²Hd„ ,øx3’ØsaB^¿<U<ù‘Í`æ¥¤Q:v‹"Â¹c~³½Üò‘û8Aô×ƒFL2òüëD2PGÝï½×¼j:’£vÑ©Ì…¾à‚´ß&ÑI@úÑöC ‘$Ff(ÌyZÃ†Þ'¼×Iá7~zÔ£tAÒd…EHª2ø’|Kÿ|aÒ÷|Q . °Ó	±UØOQ Ð}Oañ(
HS\1ôó
)qJ,± „PýÆME¶ƒ¼AŽÔætð°ËÁ€2ËL^(ºwGØá§LÜð !PZ1J§ehÝrJ”¢tp!434à”ú`=Æ HÕE3BÑ*€)§2MH˜‡x´‡+¸áwX˜…0""6bóeµ±8pt1)pUQl(N…N±ÃBs¨%!8q %*¨O(UŠ¤(XÑkÅV3E <Ôð±5ˆ¨ˆ4ñ36‘†uÿ/°Aa}á=d—ØJØ‰™ tÜ B~ÇR,…R3•G—á{6õP@ìWÆ(Kÿ{¥±6 ”s;: ­T¼àMˆTkVUUUŒÈQšøN‘çUúBSoPS0µRã÷R2E
4Õ*àn' ìvÕZÆò±@• –27 +RB2 õUW¥ ß³ åA‡J (*VÞtY$Vd€è¬ÈP EÑS¡*PW+òw"”Ê@,8b0D5X„•_8Ø´$ âXŽE 
@•’Õ ÔVm.R£â\ps3çy/ø‚$R–ÑÄVÿÐ,seWæ´*°CO÷Wña^Ä¢Ô!$+V+©„MOyK2%Mõ$U	%}ö$À ÏQ‡&DRrw"1yÐ!TFJD™Y¦5ª 7@yW{ò™É(M¸#}5('ð^2€—+ö;ð… +Âõÿ%S¢$¹SZå'L  *|0&}°dàdmÒ( h‚'“ p ¬õ™8â™,Pf1Ä’<e[Ë2T$ ƒÈ	Of&ÖEzN¹:®¦;p4Fc È^Å 4 Ð]Ö5ERx^´lRÕ’Z°a|…#!—‰à–B0<„aƒ¢Ðh$fb‰Ã-÷uÿ¶rXjaXÚ)9`GáuH°Œ,p<ÄC®Bñà*Àeüe+FÂ[Þ2X’#-2p;ua1‘ÆR,í…,íe(-€h ÆkÖrˆ¦”bÝv+ÑšTc\Ù•c^l7Fø¢*«¥J² €Xç	¼E2ºr>2£{•¦£º#¤ÑNÀ]ó&ƒcñ
‡È-yi¤IƒE˜˜t×0àž?æ	Y¢jf`«&8NÉÛv8Ñƒ0F¦;Š0FÑ	bTó&baCh%AkB’bw 0PfXÐ%` ÅÑctá.ËWeT 5€H²ê§¾À~‰äM3péƒAÿ$0€ §é#¦8 ­€1XV »re±ñ£PÃ8·–-£]úÉ ÅÚ‰BðÀ¼äÃq íâfÁ¡x?Æx‘˜A3æ³mÜÖ¢ÅYZÊÙ5jÚ]Ób5”ó8\-ÜUhÖfb¦ £Šn\€f°°ãí;BÄ°@!e¨@ããßó	82áj“rX+ÚÈ	iáÆk§u5òÕ5Ô‚©&f° €?º	4²¼d@¼T³n«¤79pg<Ë³{ã7R‰²rX†bóµ8H+e\³h@Úhõ´Ž&a‡©<Ù×„1À}Ñ>;nÓiq­#j<Kjÿ=àª¼°j±À" "°o[p×§¸¦œÐbˆ»_Z£I¨’2ôÐ3=>D:$àlÎ#Ði£67vã2¾0;Õ%¬¦;±– sûdtkk!{ZÄ3  €?ë)l4¢WK%°l‡ëº]Ëi$Àðr’ÓF˜•‹m¹£mhÝ&­'fb!K‹Z³P
LgIK×s=$€lÌÖlÈ mU…•ª&YP’m¤>×¢2X·
(¼Æ Y%Iº‰­é&sÐC,È6‘>‰±³>v'9>: oüvžç#pëã»ï£bô%º3 ÂFûWwŠÁ¾þg(ÿ{JoÖKøö7=°¿åãoýö¿ü¥d¼Cp;P¼,à Œ`ºHÔpœ§ q6â ·q÷&±uƒÁþÒopk± = ª‹p %×‘ ¼)ür)qy C¢!:qE$1'sCÅR<Å+‡B_ÇB9‡LVGÅ’×}2·t9TDb<uÄUG\ürþÃ¾w—n‡#H ú‚/nïCÔÄfÅiÜ<qA—>Œ P×G47*¡œ5qP ðq,ÐFÔFhÜÇÎ³n@‡wj´Eü’s0`c&'\º€x="‡•BêKÅYwwô„P‚òÿ—áR.i"p*1zª<¥ºàBäP7ª@ü[œÆ¬uB ‚T4#–ñ.™
ª°1±`x·À*l§/6DëµF×÷ÌCüswçt”nÀ™QppVƒÇ(‘2áœ|ó`«¿ˆ38“ #”|}±,l3BËà|—˜R5)P~¤Š²IÒÏ«DF4Œ>”3ŽT[Œ0{BÜrÌK%@Í—÷IúÄËÝ‘…•é1j‚~}zd¤zŠ”3k¸ 1,Í¢K(yòD]ç}Ÿô¤H0M™‰Òh’~RjHÁ±3ñwK³TÒc}!ÄrÓpw/{º×IÿQ“A¨PÑ[èEcF…°~½ 7q‘hç1y{àNH‘Ð–Ð% bmÔT˜Og{"GEÍ±J²¿À¨ùPK¶¤ oHh}2RIëæYÏèù¤OütÆ:J€ä ^X$hH²í&p,µí¸Dþ@}úç×Š1Ôy7ÚSàÝ°yù4S¥…ÅcèÚ%Jíø~9±H)˜„æ´K2 Õ²¤Ù× Ø&xL*ØLøÔ{Óˆ…^±Øª‰Ñú(Å%íx6QÝHKú0æTt‰´Kì”Œ¾YMˆ ¼ç}™W€æ}…j…oê
ÿÖ„J„„ƒ/qAA³HÖ]Kú¾À6™xû×6DR SdG*%…,Ý‡Î„0íC¤×¤JÙ¹Z†îM2@?CN¶äS~á†TÇ„Œ‘ãý	eO~Øä~m…€'ù©ha6ì7ÞDfXÛVon¸H6àCþ#Hñ×¡Ñ™J*^æ]“Ð´ŠZè1&2Û"¡á¢ÅM^duæðËxY[o%Òš”à9¹‡‘Æ½â~8Sè-J¾Þ[ö5Ý’ˆŠ(†>è¼Xèlèá€cÝs˜Iâ¥šºm>ÜÕxŠ,xÔÜI"ÿ¾|1•SbˆÃ>¶øçqÑ3u†lÐ†èI‚ÂK c%à'(	Ñë²R(SåÂ‡C[“köqoQ5QzÑ|;žµÆ‡Üƒc5°xÚÀK‡ ìŒ¾‡RõŒï›‘Ô.žm@  Õ
Ó$¬ï	ºcQ9°ˆtQ=Ó~Œ'»‘ªî²îT¿Çá ›XÒ0ô‰“¡Ë¾gÏ--~¦(
¥ÀŠP`Ûˆ‹@=:Ég:T°	°ëHe‹:h¼Á?ö©JÁ@€ŒÞŒ¡p)Äy»<zä‚™Ôžà Æ€ÁvÆb(«Á 5/µ¨>ÿ	ù2’¼p±;ôøû=Gªf§ÝR*Äô¥`y9Ñ[1RÇ æ¡µl	Ÿ{«á Pe)ÀT„à$†d/B’i¯c%Y æVôÒÐ¶œRÛ±GIg/ÍGi“žWPNA¸–uõ“{ÂWâóAT"0_Fjp áRÒXP>Ó&ùó²qñŽY$¥d•V£,xä@
ç¢ïÚ>ïöÕMW?”B‰'æ!¦x¢\¯ ´Ï[®½ ¯¹XMÒ2ñŽ€ú7
ÂþÔv æBi\²Œ6 G3—
b9Êb•2	áGC‰ŒÃÀBTQj*•¦¤ÿ§•v«b±T§Öh iÉ:aq/,‹‰n6±WfxÄ¡è+ CjB + @8 !9Th@47‰ˆ@>>??FG‹@:‹†„–Zœ¤¨¬¬JhnTVX¶À|¿XNT`b*0 %(,vâänìê&ò®gfüú*&*Â+"<#!'+Í	@Þ79CAIí3>ðííQ‰b`\™…eJ ñ6	…//^¾Œaa 5j,k³c;7,„«ƒGd7>âÀ‰‹`F ÔAÊT‰7qâ„wž¨|ø€æšAß=74±BpE”Î€ÿéH*¼ 4ÀsF‹6@X³ŒB³x iašjÖHŠC	.‚\‚Hs¦rTX)çMÂ&Ã ”hcÇD…ha )–¦³TäÝ)“€ P¼ˆ	&æD×*0$ÀHõ×p,xð0Á·Öîä™kGŽ¼‹6s¡ð¯ ›ÆR0^Iá†.l@ìBXéŠ3,Îþ3ƒdÂš^¶²Â%Lu8P‚D`\½p>V‚ 	Z»vmáBm7·¤k"èH&Xd€˜éL <0N?
.HŽ5
=pm
6tn>	0 1Ã# >(`20¢Xá2ÿÃ(@Aô pdJð ¢÷Þ#¦ªóPÈô+R?ÿÞˆfÀtèˆ‡'yèƒ¤b a !ÇesÃH×(¿Y[ì´Ë „ ¨E]vñÂE´ŒGª™ €yÆ+#qº4‚r
$`­f€f‡ |ôQ˜òàÖÁ‘º K$‘ìOT0Ë*ËL;Ñ1&/­zãôTÈ3=ûÌµÍ[LÐÃ’!”P	ÄbƒQ¥`ex”(SIp, ÚÙÜ²6ÿ&€T7.¤/PU3ØÀ€^	Ã—1Ô&×wûìª@Hõ¦ìLü5Xaÿ‡…@5F›qÖÙHä óbšD½–¾	Ð¶ ì€b·`;‹p—¹è×Å8·…€¾˜ó‹vGƒ×=¾· JòÍŽ(A™3‰ýW#f8Ë­¼ž ç*&¸…Ö
n):@;,(6EÇ
Ö×ÃºZ‘—Ñ¶pÞ\a87†ELlÌD0 f`ÛW¬µ3XYI_€ðÒžkÄñ€,“¦Á–½õ¶eÜj˜¶	Œ 
x`æÕöEæÚüÑ¶æ†”Ñm¡„Ê›¨|7–ùÌ3	MÌØ›ÝÁ E^š6’ô*iá 
@€vÛi¯¡ÛÃA .¤Ã	°£Že4í²ÿiÈ<`Hëx1Ï|óœN;_Ð'±ñdK#¬eüe‚° 8×3­¤ 
h¿ ÝuG`wÝÙÆömn!)Š#Àañ¥Ö¹d]€ÁåâU5¯4€/)BPd½…N:ˆ± ƒ˜¨eL5:è–¾Á@%¬dpBÂï}îs!í^€ Ðà.°!f>ŠqR3ÌTP3Ä€ˆf0bEJàLæ^<	ˆUÆl<Œt*xŒ€ˆ–ÒKBØ õ4`@!
KXÂÖ@µs#Úç‚6 „%p
RdC‡:à! …e&éxÀ"ÿÁ à&j'ST“c<G¶	V±l¿Â"‰@D,B-À ÒúÖÄà	X°á'ƒ¤‘•s,A^YYš€–´Ô#€ƒü`þKFå¥ÊWø2&¹Âö˜–½,lSûU¥“ÉA 	bDCY‰Àà	28£lÐ¾¤ñ ã¤£ûd™ÎZÖ2/xAê0<D ,m[T¢„³ìÈecóÜc Ú˜bNpŸ‚" Z¶Dzð` ´zpTÐ…h_8WÙFŒ“•°ç_ €Ø 5xA
lPì¯[pˆ œÑŒyˆC1)P~´˜=-(°ÿÈ–Œ°¡`ÄæëØa	ÌQ•X¥µœZÎ  œ%,D|àƒdµ~]eiKŸá%
uˆ:3³éMÉÖÌT;Œ$æÆ†*£¹•AUŸJU½îÕ¢P€Ðƒd«Y5ìaO<ð&¬ü™iMxEUŸmuYÙöù²©]§˜M¾ÒP‡bSaži€
œú„L
Q-@&àƒD X-ìa	[[Áæ { ‡ˆ· 2±&,£+ÝdošY{-7³ŠÔWÐ ƒ´n´G-­ ˜Õ(8uµ$xmD „à²-¯l	kØÔ6=P©ïÜ¦Eà"`Muø•ÿßâ^®?”ršD¦ÊðÀ;F×0J¥ATÁjŠZ„€Â†/…Càƒ<à¼êåðx›R•ÎEº =Å›_J²ÿÝ¬e)éÌ4a P¡®‚\ZLfµ% ÁGä
Ã!ˆ@ÌûáõúÀ¢íS©7¾1ÂŽ@¯V,¬Ð˜D K•ÃóÇ9¾RµX€¯ÈAvs‘ÇA^`õ”¥Ÿ!ä*ŒšìÞqÏºeoY0ßKTfE×íg'hÀ	ØdŒ@Ò?.2†ëlFÏâÐž	ÄçŒi’_‰¹äMQýe4 á¢a­°Jÿ8š>†4"ÍæªÖç tGˆCT@€ÈCüf(Ûž¥’°®“ê-g` «kXW%O%h ÒIàzÒm&^O©iø=¹«
Ð^ÊHÁ”Ïª¹ÈŸèŸfç ˜ ¶««mÒ2º@W0Jp‚t®™Ò$ˆBºZ pÚ@ìîjÞ­4Ë‰KÀj¶¶ê˜5²ûÀ˜!\à8¾ÑpP‚V™ á5O¸.ôªÊpN|ÝwV o3þîHÉûã½ô¥È§)¬ì ‹Á¿oR¥–Oý¡WÈ [@šÕ¶h¯ÞÜ9ÏE\?Œ]7¸Á“8ÂÃ¢Û;ÿj#šYªxÀ  @åè`9Õc}æ€]AËˆî¦¢râ¿þëÏÇþî”ýì‘’/}ÙÃ-Ý1`€¦kw¼ož®
ûÙUÀ„DD5Ýàtê×U*XwgÜì­çAã¡„^7`@¤rg›ó½ãf¢¨ M`@O	qÃ¢Øc7û\ïxB€#6»l€º3‚÷¾÷~ç_¾÷«ÜÍp€ñ ÎŸ¯>ãPâp`ö	äÀú‘c@0?˜Ý#ìîß÷Â€OnÂV<à*hç V  ÊÏôDûôÏN¦âÿ,ðûÐ# 7Á‰('6áN¤ÂF.pIð<j$QJJ°]ða0ep   ;   07070100057c6c000081a40000000000000002000000013d1fe2e800000929000000200000000000000000000000000000001c00000003reloc/burner/images/dev.gif   GIF89a0 / ç  m~jªªªÈÂÀÓÎÊâââr^f¢v†îêå6.6šŽŽ°]d·ª¤I>Föòïr’l©^f¿‘“Âª Â²¦VVV¬¦¥Šfm–ŽnÆ²¤úöó¥¡ \RXrrrrvjÞÒÄÑÂ»ºz†Î¶ªffjÂ–—£Ž‰ƒbj‰Švnf¶~†æÖ¾ž‚rŠvxbZcúúöÆ¾½Ž’n¢ššæâÞÃššáÚ×ÖÂ´rfjPBFÂ¢ž’‚n¢jnêÖÀÆ­£Ò¾±Œnr¯Ž‰bbb¬Š†³®®Š–n®ž–_NR´lhzruF:Bš‰…þþúÚÊ¾>2<°š”Ò¶ªêæá~ahŠ~|º¦~fbÎÊÇÙÒÐ¹¶µòêæzzjêÞÖêÚÆ„kp®vnjVYÚÂ²æÖÃÇ¢žŽŽRFR®’Šf\tvšjÊ²¨ŽwtÂ¾¼¶ž˜Òº«j]`ž†®bjîâÒ†‚†vbfíÞÒËª¤©’‹¢q{Þ×ÒÚ¾®:::frfnŠjÚÆ·¶¦ ”vvÊ®¦–~€Î²¦º„Š¶‰‹òîêíÞÌfbd‚–n|nt¢‚rº’Žz^zÆÆÆ›’’VJJfZZrjn¿º¸šz|^V`ru‚ƒ’rwîæÞ…wvæÛÏöîæÚÖÑ¢Š„–ŽÖ¾®‚šj²fnnbv’htÎ®¦f^f~^zÖÂºÖº«{fi”v€âÑºª¢¦²¦ŸªŽ‡Æ†’ÒÆ¼îâßº°°Æº¶„fm¾žšåÚÉnbf’šr†žn{jo›‚|fZfîæã¨š’ZMSåÞÛrt•zxþúøÒ²©öîìÀ®¡²¢˜°–’œ~€¿¶´þþþÉ¦¢ÊÆÃ¶²¯nhl¶š”ÄžœŒjs¢j~_Ra^N^ÆŽ–tnrÖ¾²£†‚êâÞrbeâÒÆN::cVcª–¦‚‚À¦žœ–––ŠŽ¸ch¶–’¢~†áÊ·zbfÍº­·¢šîâÙTJTvjmzžjvfiÞÆµ†fv›‚‚Žr~®ª¬>.6bRZ–’rªfnÒÊÈîÞÖ¦Š†æÒ»¨ššv–jÖÆ¶êÚÂÖÆ¼ÏÆÃ,    0 /  þ ‘	H° @%Àz"£W/O= ¦Ä Å‹TGÙ î  p§‡Šz	–±¥E×”)«0²¦Íš:@dé²%0]ÊÐ¼Iôf	xö4ø S<ŠJµ`@&K^Q´áIÔ©`G  ,+²Ÿâéú6¬c	²&°"S‡¶xïð×å•G¯„ [Á‚"'ŠÂˆœªˆ‘•²° 1ÌÔ³Tèù#ç\ËR+Ðj¤ëE`™º^Á´˜è€A*òÙÑg‘¦ÞjDFE‹	„ØÃ„éÔ;è´hÉÇ©”ˆ	çæ–j [‘º,£bø•éDÃþ ¤eG;5´½KÑúæ€Ø8PQ:ð‰…*Wòªèžräô †ÉÌÀÊP®aGa<Q0É•T²_QèÜÓ³,BsÁ$3‚î±Só@Ÿ0Bp+ºr:/VX	:n2H6ç`aH<”RŠ3lÝ¤È‰¦ò A2|ãÊ“4Úø:•ÀX‰I8€„7 !Ï(2•	±˜`ŽÈ0TÄðÄ52ÌÇ5YÌ™E†Z| /¹¬‘K-Dâ€6EÚtÇ3±$K#ü¦Ád¡EYTÇ¥n¸qy¹D"Ê§¹ü¹M4$IÉ3¨úÒÅ#<= Ä1þ4\òÅ,´ZªœŽ»0"
¶°Í<´wÓ|ËÇ/@‘Š 	²È™ÔA­*TÛÏZô“¡¶5‹l2@¡TÉ`$Ç³@¦Ë"Ç¼ Œ=|€Ê½¨ä³C> áë66¼ hR`€&Ýt³.lh²Â$}=qÂ«V,N¨áÅÆíSÛ ú†¥Þd0»Ì¡‰Ãl¬bMŸÐÀ{Ì<Á0˜!B)vè±¹l³Íu‡RœsÅ¬²J  r‚ƒÈ\qÂ.ªAÌÖçHáÍ0"p¢LlI4bNÕ˜ÁÃÞà0"ˆH È}	Ãþ"ßpÃÍ.MÑD8ÈáD558Ž4Ò‹Ó =TÃ‰Á„J2Î8C‚ÝÄ°$2,cI	¤kBúÅ4Q¸^$¡ à™l )5T£Æ€üÑæ3@‰Ÿk@À~üâ‡¸X£Écˆ“F2¡¨±ºB ôÐå–ï®¹/(•‰–Xr%ÅûaÖü€ÈÁ˜±FÑ5ÝñøXÊíNˆ û`¸EÖ¤‹I`c|†/XÀ‚3œÂÁþ`Ž’ øÇô½R4Gæ0gÒ ±ß CVàE"¦°…[HB†05>‘h„@`°à @Ð
x¡þ¤Ðžö'ÿáÂ
¦HÔaS´Ô85A†mŒ‚€¯W=´cc5#'8AKd‚>È„rq‹[¨CìP‡!@
w¸ƒÆ‚"ÀÇ>À ˆó‚6¶1;Ô@@æ(>GdŽì`‡l‹z0 —Ôº1‡bœc<pBÆÔ¹Ö€µ³C5œ ‰*¸À"‚H!-hñ	,¬€È%ÂAHàãÅÂ,÷'h`DæUù+0Ò ½8há!!	¸Ü¥'žñM¬bª¦åB‘1NØaŒ58§!›°	5aÄUp„(ö±[tÆþðD8. 	>„Á$(H8ðŽQ^àÄ,Q4DT „  P†2ìcÈ:|à "PÃGZŠ	HÂIŒŒ"D<ä¢@;bÑQ©XÎƒÔž7XðgfD	Â ‚#Ä Ñ2 åˆÅ<Ú‡ÜcˆvC¨ öDuƒZ „F`Ã‰&ðh2äŠ`èÎ‹¨CJ³â‚'<Âéè-à`ŠXxÔc•$$ñXÕ,y „`Ftá å¸ë|!‰adâì@Ðl¼ð¨$†^LD²?u zA…ô´à PUÐºD	°U‚!ˆü$à.€­kwKÈ.%  ;   07070100057c6d000081a40000000000000002000000013d1fe2e800000909000000200000000000000000000000000000001d00000003reloc/burner/images/icon.gif  GIF89a0 0 ç  fffš¾š¾ö¶®^fþÆ¾Ïö‚‚rrrºî²Ù¾oê‚~îÞ›ššþ¾¾ÂÈþ¾ººîºæÛNNNš²ŠÒÂšþ>æÖ„Ôþ¾þúúö†ŠºÚêjjjÂššö¾›žÎ¦=:.¿ºä‚âÒî¾âþ¾âê²êºŠþ’’ÊrvŠª’üÎÎ®chþÊ¿îêÎÒ¾–²ÖÖþ––®¾Úîþ¾æ¾~¢Â–¯¶–îæÂâÎ|¦Â–úžšþá¾¢¢¢¸ššò¾šþúåºv~ê†‚¹Îò"""Â¾Þ²jnÒÂŠøºÂ¾ª³®ÚÆp¢¶²þê¾þÎ¾ª¦š’vr


êÚšþúÞ¾¾¾®šŠ>>>þº¶þöª...Â––þ¾ºRRRÖ¤¢þÒ¾ëÞ£ÊÊÊºººzy}ÎÎÎîò¶îš–ÖÂêÖš¶ÂþÊÂ¶ÎÀ®®ªžßÍ‘Æ¨šªššôþ¾¶¾þF22âÂwÎÂ©ÖÆ‚ÂÂÂÊnv®²Ö‰„p÷êžþÆ¾þ®®ê¾ŽÞÊtê®¦ÆÆÅþö®½µ—ºâáÂþ¾ôæ˜òÎ¶šÂœ³²°þÖ¾Â¾ØæÂ‚¶úÂü¶¨ZZZäÒ”ÊÂº<6.ëÚ•¤ššþöºÞÂsêÞž®®®FFFæææÊ¾Á
üòª×Âzüþ¾š¨œâÆzºîÑš¹šÂ¢–668Êº¢ñâ–êÚ‹þî¾˜É–òæ©ÚÊ~þöÉžžžÔÂ’¼¨–îîîºÒîûº§øì¨ê¾Šš®šþþþv‚†º¶öîº²þÚ¾ºòÊÞÊŠþÂ¾þæ¾ØÂvÇ¾ÉÚÂoÞÆrº¾þú¾¦¶¶þüò³ùî¡êÂŠÎþ¾¶¶³âÎŠ¶öÉÉš™¶Æû^^^ò¾”¦ª¾ÉÁ°þöòºÞæ·þ¾êÖˆ¾œšJJJþò½âÊxæÒžzvæÂ~þú¾®›šªª©:::®ºš222îâ¤ÕÆ‘º®šš²š¾þ¾¾ºê¦¦¥îÂ’æÖŒáÈÞÊzººóâÎ†òÞ’ÖÂˆºêÖºÖëÆž–þ¶®ÞÆvººû¶²šêÂ‚¾¾þêêêÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*4X`¡Ã‡,G±¢EˆÞÙˆ©£8vì|øhÕjÒ›p3>l Å¥KâüVé?d%¢%	·%›–r*b*`¦@7xùüø6Ô7Z9“Èj„¥ÙŠAR¸SÀV;:@	clM¨:áÃÒËÅ½W@³þ£`§jEåùÉ7¶é7œ(¤by°çI¢KâªÔv§,¸0øº´ì·¿í>ÈZÛ6‘.'”È)~xçH‹fzi°¥KÑ-î«dƒV´h›	Iä‹œ7 8,@üÎ>,l)_nk\[@íƒÚÎ=¶yªa"C*áµþ©"Ý—Õ‘_¥ùE‰$øtÞn"¡kßÒU¥gr
ÈX0	:0±@M( @[.|wÂH=‡€—Ê4 Š*Œ€^˜r
ÒdC	Öa±ÇaàÀQŸ:ŒL0¢XxPUXbÎ¨2±é!â9‚°1R8£üñÀºlãb×„2H5ö‘Žu¡Ì;`Î—vÀ
'æLƒÈ%!90É[xa*OF9c,D<óÌ'XMS\` –HrJr’ U(“GXIÍÜƒÎ	&D#±ØùLià‰PUø‰Æ)îtƒÁFwXHK þH  ›XÃÌìBe¦iÄ¡.¸´’ç?]Øáç#Ëð"Ì€U\â@]ŒCÃ&³ÎZA* TSgÃÄ£ˆ ‚°	àç2m¬Â~0±JH B4c8ÀŽ?ÊeâÈ¬Î"Ê¾Æ#."(’°"èäg¼ÀóKYLT\€ —ä¡#>ØB†@UØò/ ·|"¹	‹P0š´Ü0A(ÃË*gœ±@'LL!hAŠ?aÄN&³’ÒŠˆÑ2$š¨¡Éjø§6—œsŽ+H A5w"Ž8@ƒ-Ù0IP¯±k³ƒÔ#¸BwÝw‹dþ3R]-Î8cH0ƒ‡çg$>¨MÛj«=;­2k&âd,EÐ@Š8l,ÀuÍô”N+ìäYŽO«­‰-Œ8­Œ1«#¶ "¶8 )yˆƒƒ,Ì/¿tRG©´zì,+,†¹xøð‰3·g¢,Lëˆ2ˆÀ SÅ3•Ló•ÓÊ(â¾ëˆ«>Mˆ²B¶³JQ&8°„¥ 	–"Œ±0a,â–úÌE®_õ#ÏˆE‘ŠZ``4‡#Ø@XbD ò!?\bXÿÐB+pQ\èƒSÏ ª±Ü nˆ‚¼}ˆÁþ/à„Ð lH$à(Nˆ-|"ÃH‰`jÔƒ„0AJq-laGcÇ%”`	NPAˆ¦ "º!By0±‰Ÿ°bÁA„â0|ñ…\x!ohöXBÆB ŽQ"žbDˆ@¡@Ê‘"P±ØÅ5’¡GTèÂ½hDP`ƒ`0!$8…)JCQ$ QTcõ`!8	‡mèâ{ÀB#J@Jã1ÁT0Å1XAcpâ•ƒ$€ØñêÈ€)á‹D<áX1mP<& ñÐ'ÀA,<³Ò| RGmÖ ¾ëÐÅöÀQ&ß˜ƒ)ý w¨R”'ì0Í‚ÌÓžàðd"@‰Y|  ­Ää%Bw$óœ`EÂÐPƒ à5ð*zàÍ=< IHB	aƒJÌD Ð6Ð©¢¤ ¶Ñ}‚R˜ÄˆÆLù1›
ƒ x¤2*— `	¯h)8e‘ `4 •€(¸¡HBñ¬ªU0Šfôøð'- :c
Ü@D$*O Xe1U*2ø
PC_;!_3’­¼á“p I| ’l©µ¯øÃße7ËÙÎzö³ m@  ;   07070100057c6e000081a40000000000000002000000013d1fe2e80000093f000000200000000000000000000000000000002000000003reloc/burner/images/mkisofs.gif   GIF89a0 / ç  frfïêæÎÎÎ1'.¸²®j~fŽ^b¾€ŽTFQ‘†‰¹†ŠZRVÒÎÊ~^f²†Š pvt”lj^^òîêÊÆÄæÞÒ’Ž¿’“öòï‚xÅ²¥zbf¶ŠŒŠ–n€ruÁš°š”Ãº·vbgª’úöó˜hnº”º‹r^gÍº­n~j6.6âÎºÀ¦Ÿ‹nr·ž™ebc±®®¦’ŠÞÆ¶úúö jr£Š„ª¦¤êæá‰~š’‘ÌÂ¾ÞÖÆaVa²n~F:C–ŽŽ’šr¶¦Ÿ´~„¦^fÈ¦¢Švy°¦¢lbvÍ²¨åÞÛbZhrfkÒÂ¹~eh¦š–ZLPÞÙÒœ––Ž‚‚þþúvRVhbrzfhŽvršŽŽªžŽÙÇºŠfl¶jfnce‚e~®ŽŠÚÖÑvjj¬]fÚ¾®tnqëÞÖ¢š›ž†‚Èª¤Á®¢£Ž‰g^q’frvxj²¢—Òº«¸ª¤’nr²^cšˆ†Ò¾±jVV~jnÖ¶ª†žnZJZ®r‚³z‚¢‚rÎ¶ª•vvæÚÌÞÒÎÒÆº¢t„ªš•±–’eZrrbtz`x¦¢¢w›jvbvG>F´fnªŽˆ¾Š’ÖÂµjjrêâÝdZaÅ¿¾fffÊ®¦\N\œ~‚–p‚¾¢–¾²ªÖÎÊ†uxÒ²©„elîæß¨nvzjpPBF–~zznrÏÊÇª¢¦g^gfZgªŠ„šyzàÒÆB6:‘ŠŒrbdîÞÊ¢’ŽâÚÖh‚UJTÁª æâÞ£ƒÒ¶ª®ž–rjnæÖÀ`MQÖ¾¯„jpvfjºbfþúø~^zæÚÆöîì·®®^R`îâÙîææÞÒÂ·¢š¦ž¢jfrÎ¾ºfZn–ŠŒ¶š’ššš~jzêÞÑÚÂ²åÒ»vjrŽr~áÊ¸”z{Â¶²Æž›þþþzhxrbk=1:º¶¶Öº¬bR^Â–—‚vzª–‘®’‰¢žž›‚¢j~®¢¢Îª¦ØÒÐîâßºz†Œrv¾¶µzrvÆ¢ž†fvÎ®¦ÐÆÃjX`ˆ‚†Šjs“rvjbn–~ƒîßÑnbkº¦6*.,    0 /  þ ¹	H° @*Á0LÀaK‰[8&`FÅ Å‹hÜM`°	<(€[¦ãÙ
,œgJÉ„`cr‹F³fMIbd9/ @aLmò÷„œ(rçêá€)Ó ©§PMútªÆh€x4Ss$×tû¼¡rEA Ó¦mF“²–&[)l+Éª§ÖB±öe+UF_™aH HA­a›•†UKQKˆ¯F<è*ÃlIŽÄ›‚Ë¶&Ü¶m+ñ¨I2B_¯‰B‚„›%=À	@;@m‡Ã4+íbAMÇ˜:u³òU%—bÌ–Y;ÚmÃ:KÑO dìÎ†¡%KPþM¢.3F…;ã]m†'KÊr9ÊvíË!âàÃ{™DA0ÆÂë©UI5½$AO¹˜sË ³ ²†Ç„(ö”EE	Ð\4ÐÔ¡gnéFF8~¤¡Œì‘É,_ ð©üâç cRè\gÔÁá‡%-˜ƒ€Î²ˆ!lÀÐ7¯¼Â€)g„C" ªõ¡€»`ÓL~H5ÕSRb…Ìôƒ
ðbÑ0@"RÀ C%sVb§œvæ©Íô²–z5Y	(ˆðÊˆÃI”@	BÄ¤8 ©$°“ÌñÄóQà%U¤š/‰`@-RØâ*þ’H©²¶s?€ØÀÈ	$ÀÈ†6ZS%èbË@Á˜rF;±š!I;í˜  ¶'¯\bxàU	¢[ˆù2	'’@I€˜¡îºÒÀ,™JÐ*©¤2	x¦ÖôhàVòŽ!Ð 1Àó“,€È"‹€L/,„$@ox°1à­¾n}M%«lpŠyHA	;<ð°Ë0'ï2íÊ,¯I$ùêWXda2@„@	œp’L5,TÓòÐ TÎ WÚ´oˆ6dpÏr(PÀÔà„‚ÔLK6#üÐÃ×9(!P&qnŽ<Ãr8¸rDpûSK-h õOx}\þ<‘0ÀÅjZ	(À&7<CÈ¹¼ñ†þøÓÂ´ál±É7=ˆcLg<uNÌöÖàd±Üg ñD9åR ¼0-.½ô2
-ÆsÉ%Ö”a±Ì¡]pËªrÓ¨Y¬±†±¬áˆ9Ó¦$tüsIî—è¡Ç%ÑX!§wâ©§äCñ4P"&Ù‚&hØ = A¨|³½ö´ÐÒë
—ÙA3˜?øA–°D¶ñPâ,ì`B':ñŽ?b¤ÀÄ´Ta‚xÂl  #h¡½ü`® ÄêÑ„:Àá…pÀ…’ @yÜâà;øÂþø0‚:1­kÂ G
t 8±º(À(Pzl¡	Í‡S‚$$!/xAH =lÀ	¾¸C)<PŠi¡@éÂä±øœAp FU¾HÔ®/ô.’€pøç aÐ>áQˆ¢ñ˜–w„G\`ò(‚6’Ðõ 
Ô€$êÐ‹z Qâ1n€ŠRˆBbøÅ/¦Õ.Ì#«PÅ^Ðø¡_ÒHT†ù”h¡xa‡.dÉ„fúbZcˆfŽ€@µ°„ª$,ÃT‚31
 …WèãnÐ  ¢9`@`òƒ†j‘`é¨Èþ4ˆ-\a/¸¡A˜ÖÚÙ|ÀOæxC6÷™·„&&4à„.P<äaZ˜h0¸à?d Ï{Aòµ´}9´1¡	LD@DkY%Z  n.mcM™ Pƒ Ä”e•ø èî)*P`B¦¼BŸpA>òñ‡! €Õ×[¦3„ÁÓ‚Au‡OàÃàÃP6¢†’˜-ì€‚_làŸ(Ü1„ .pÃÌ@¦U ]@AôÊwœ 6f3[\+ia ;È‚x¡‡* é˜ÅÆ"A'<‘v|v¢,7¦%C	*Á)t€’,¬„Q˜ Æ[Õ„µA0@Œ	»§ocÜå¢%  ; 07070100048278000081e40000000000000002000000013d1fe2e8000007b1000000200000000000000000000000000000001700000003reloc/burner/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display burn profiles and icons for global options

require './burner-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("cdrecord mkisofs", "man", "doc"));
print "<hr>\n";

if (!&has_command($config{'cdrecord'})) {
	print "<p>",&text('index_ecdrecord', "<tt>$config{'cdrecord'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

print "<h3>$text{'index_profiles'}</h3>\n";
@profiles = &list_profiles();
if (@profiles) {
	&show_button();
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
	      "<td><b>$text{'index_type'}</b></td> ",
	      "<td><b>$text{'index_files'}</b></td> </tr>\n";
	foreach $p (@profiles) {
		print "<tr $cb>\n";
		print "<td><a href='edit_profile.cgi?id=$p->{'id'}'>",
		      "$p->{'name'}</a></td>\n";
		print "<td>",$text{'index_type'.$p->{'type'}},"</td>\n";
		if ($p->{'type'} == 1) {
			print "<td>$p->{'iso'}</td>\n";
			}
		else {
			print "<td>";
			for($i=0; defined($p->{"source_$i"}); $i++) {
				print "&nbsp;|&nbsp;" if ($i);
				print $p->{"source_$i"};
				}
			print "</td>\n";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
&show_button();

print "<hr>\n";
print "<h3>$text{'index_global'}</h3>\n";
@links = ( "edit_mkisofs.cgi", "edit_dev.cgi" );
@titles = ( $text{'mkisofs_title'}, $text{'dev_title'} );
@icons = ( "images/mkisofs.gif", "images/dev.gif" );
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("/", $text{'index'});

sub show_button
{
print "<form action=edit_profile.cgi>\n";
print "<input type=submit value='$text{'index_add'}'>\n";
print "<select name=type>\n";
print "<option value=1 checked> $text{'index_type1'}\n";
print "<option value=2> $text{'index_type2'}\n";
print "<option value=3> $text{'index_type3'}\n";
print "</select></form>\n";
}

   07070100000166000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000001200000003reloc/burner/lang 07070100000167000081a40000000000000002000000013d1fe2e800001699000000200000000000000000000000000000001500000003reloc/burner/lang/ca  index_title=Torradora de CDs
index_profiles=Perfils de Gravació
index_name=Nom del perfil
index_type=Tipus de gravació
index_files=Fitxer(s) a enregistrar
index_add=Afegeix un nou perfil del tipus:
index_type1=Imatge ISO solament
index_type2=Fitxers i directoris
index_type3=Pistes àudio
index_none=No hi ha cap perfil de gravació definit.
index_global=Opcions Globals
index_ecdrecord=No s'ha trobat al sistema l'ordre de gravació de CDs <tt>$1</tt>. Pot ser que no estigui instal·lada, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_return= a la llista de perfils

edit_title=Edició de Perfil de Gravació
create_title=Creació de Perfil de Gravació
edit_emkisofs=No s'ha trobat al sistema l'ordre de creació de sistemes de fitxers ISO <tt>$1</tt>. Pot ser que no estigui instal·lada, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
edit_empg123=No s'ha trobat al sistema l'ordre de descodificació MP3 $1. Pot ser que no estigui instal·lada, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
edit_header=Opcions del perfil de gravació
edit_name=Nom del perfil
edit_iso=Imatge ISO a gravar
edit_isosize=Extreu la mida del fitxer ISO
edit_dirs=Directoris a incloure
edit_source=Directori o fitxer origen
edit_dest=Directori del CD
edit_rock=Genera extensions RockRidge (Unix)
edit_rock2=Sí, amb permisos adients
edit_joliet=Genera extensions Joliet (Windows)
edit_long=Permet noms de fitxers llargs
edit_trans=Genera el fitxer TRANS.TBL
edit_volid=ID de volum del CD
edit_mp3s=Fitxers i directoris MP3
edit_burn=Desa i Grava Ara
edit_test=Desa i Fes una Prova de Gravació Ara
edit_return=al perfil de gravació
edit_ask=Demana confirmació abans de torrar

save_err=No he pogut desar el perfil
save_ename=Hi falta el nom del perfil
save_eiso=Hi falta el nom del fitxer imatge ISO o bé és invàlid
save_esource=Hi falta el directori origen $1 o bé és invàlid
save_edest=Hi falta el directori del CD de $1
save_edirs=No has triat cap directori origen
save_emp3s=No has introduït cap directori ni fitxer
save_emp3=El fitxer o directori MP3 '$1' no existeix

burn_title=Gravació de CD
burn_rutest1=Segur que vols fer una prova de gravació de la imatge ISO $1?
burn_rusure1=Segur que vols gravar la imatge ISO $1 al CD ?
burn_rutest2=Segur que vols fer una prova de gravació dels directoris triats?
burn_rusure2=Segur que vols gravar els directoris triats al CD ?
burn_rutest3=Segur que vols fer la prova de gravació de les pistes àudio triades?
burn_rusure3=Segur que vols gravar les pistes àudio triades al CD?
burn_ok=Sí, grava-ho ara!
burn_cancel=No, suprimeix la imatge ISO temporal
burn_eject=Expulsa el CD després de la gravació
burn_blank=Esborra el CD abans de gravar
burn_bfast=Esborrat ràpid
burn_ball=Esborrat lent
burn_bg=Executa la gravació en segon pla
burn_edev=No pots gravar un CD fins que no hagis configurat una gravadora a la pàgina d'<a href='$1'>Opcions de dispositiu</a>.
burn_header=Gravant el CD amb l'ordre $1...
burn_theader=Fent una prova de gravació amb l'ordre $1...
burn_header2=Gravant el CD en segon pla amb l'ordre $1...
burn_theader2=Fent una prova de gravació en segon pla amb l'ordre $1...
burn_mheader=Creant un sistema de fitxers ISO amb l'ordre $1...
burn_mfailed=No he pogut crear el sistema de fitxers ISO!
burn_egone=He suprimit la imatge ISO - Hauràs de tornar al <a href='$1'>perfil de gravació</a> per tornar-la a regenerar.
burn_egone2=S'han esborrat les pistes àudio temporals - Hauràs de tornar al <a href='$1'>perfil de gravació</a> per regenerar-les.
burn_700=Atenció! La teva imatge ISO té una mida de $1 Mb, que està per damunt dels 700 Mb permesos fins i tot als CDs de 80 minuts.
burn_650=Atenció! La teva imatge ISO té una mida de $1 Mb, que està per sobre dels 650 Mb permesos en un CD normal. No obstant, t'hi cabrà en un CD de 80 minuts.
burn_size=La imatge ISO generada fa $1 Mb, d'un total de $2 Mb permesos en un CD normal.
burn_nomp3s=No hi ha cap fitxer als direectoris seleccionats.
burn_mp3header=Convertint els fitxers MP3 a pistes àudio amb l'ordre $1...
burn_mp3failed=No he pogut convertir els fitxers MP3!
burn_mp3format=No sembla que el fitxer $1 estigui en format MP3.
burn_746=Atenció! La mida total de les pistes fa $1 Mb, que està per damunt dels 746 Mb permesos en un CD àudio normal. No obstant, t'hi cabrà en un CD de 80 minuts.
burn_807=Atenció! La mida total de les pistes fa $1 Mb, que està per damunt dels 807 Mb permesos en un CD de 80 minuts.
burn_mp3size=Les pistes àudio convertides fan $1 Mb, d'un total de $2 Mb permesos en un CD àudio normal.

dev_title=Opcions de Dispositiu
dev_header=Opcions de la gravadora de CDs
dev_device=Gravadora
dev_none=&lt;Cap&gt;
dev_speed=Velocitat de gravació
dev_other=Altres...
dev_extra=Opcions extres de <tt>cdrecord</tt>
dev_err=No he pogut desar les opcions del dispositiu
dev_eother=Hi falta la velocitat de gravació o bé és invàlida

mkisofs_title=Opcions de Sistema de fitxers ISO
mkisofs_header=Opcions globals del sistema de fitxers ISO
mkisofs_novers=Inclou el número de la versió als noms de fitxers
mkisofs_notrans=Permet tots els caràcters als noms de fitxers
mkisofs_nobak=Omet fitxers de còpies de seguretat
mkisofs_fsyms=Segueix els enllaços simbolics

config_cdrecord=Ordre de gravació de CDs
config_mkisofs=Ordre de creació de sistemes de fitxers ISO
config_mpg123=Ordre de descodificació MP3
config_ecdrecord=Hi falta l'ordre de gravació de CDs o bé és invàlida
config_temp=Directori de fitxers temporals
config_temp_def=Directori temporal de Webmin
config_emkisofs=Hi falta l'ordre de creació de sistemes de fitxers ISO o bé és invàlida
config_empg123=Hi falta l'ordre de descodificació MP3 o bé és invàlida
config_etemp=Hi falta el directori de fitxers temporals o bé és invàlid
   07070100000168000081a40000000000000002000000013d1fe2e80000144a000000200000000000000000000000000000001500000003reloc/burner/lang/en  index_title=CD Burner
index_profiles=Burn Profiles
index_name=Profile name
index_type=Burn type
index_files=File(s) to write
index_add=Add new profile of type:
index_type1=Single ISO image
index_type2=Files and directories
index_type3=Audio tracks
index_none=No burn profiles are currently defined.
index_global=Global Options
index_ecdrecord=The CD writing command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_return=profiles list

edit_title=Edit Burn Profile
create_title=Create Burn Profile
edit_emkisofs=The ISO filesystem building command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
edit_empg123=The MP3 decoding command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
edit_header=Burn profile options
edit_name=Profile name
edit_iso=ISO image to write
edit_isosize=Get size from ISO file?
edit_dirs=Directories to include
edit_source=Source file or directory
edit_dest=Directory on CD
edit_rock=Generate RockRidge (unix) extensions?
edit_rock2=Yes, with sensible permissions
edit_joliet=Generate Joliet (windows) extensions?
edit_long=Allow long filenames?
edit_trans=Generate TRANS.TBL file?
edit_volid=CD volume ID
edit_mp3s=MP3 files and directories
edit_burn=Save and Burn Now
edit_test=Save and Test Burn Now
edit_return=burn profile
edit_ask=Ask for confirmation before burning?

save_err=Failed to save profile
save_ename=Missing profile name
save_eiso=Missing or invalid ISO image filename
save_esource=Missing or invalid source directory $1
save_edest=Missing directory on CD for $1
save_edirs=No source directories chosen
save_emp3s=No MP3 files or directories entered
save_emp3=MP3 file or directory '$1' does not exist

burn_title=Burn CD
burn_rutest1=Are you sure you want to test burning the ISO image $1 ?
burn_rusure1=Are you sure you want to burn the ISO image $1 to CD ?
burn_rutest2=Are you sure you want to test burning the chosen directories ?
burn_rusure2=Are you sure you want to burn the chosen directories to CD ?
burn_rutest3=Are you sure you want to test burning the chosen audio tracks ?
burn_rusure3=Are you sure you want to burn the chosen audio tracks to CD ?
burn_ok=Yes, burn now!
burn_cancel=No, so delete temporary ISO
burn_eject=Eject CD after burning
burn_blank=Blank CD before burning?
burn_bfast=Fast blank
burn_ball=Slow blank
burn_bg=Start burn process in background
burn_edev=You cannot burn a CD until a CD-write device has been configured on the <a href='$1'>Device Options</a> page.
burn_header=Burning CD with command $1 ..
burn_theader=Testing burn with command $1 ..
burn_header2=Burning CD in background process with command $1 ..
burn_theader2=Testing burn in background process with command $1 ..
burn_mheader=Making ISO filesystem with command $1 ..
burn_mfailed=Failed to create ISO filesystem!
burn_egone=ISO image has been deleted - You will need to return to the <a href='$1'>burn profile</a> to re-generate it.
burn_egone2=Temporary audio tracks have been deleted - You will need to return to the <a href='$1'>burn profile</a> to re-generate it.
burn_700=Warning! Your ISO image is $1 MB in size, which is above the 700 MB allowed on even an 80 minute CD.
burn_650=Warning! Your ISO image is $1 MB in size, which is above the 650 MB allowed on a normal CD. However, it will fit on an 80 minute CD.
burn_size=The generated ISO image is $1 MB in size, out of a total of $2 MB which is allowed on a normal CD.
burn_nomp3s=There are no files in the selected directories.
burn_mp3header=Converting MP3s to audio tracks with command $1 ..
burn_mp3failed=Failed to convert MP3 files!
burn_mp3format=The file $1 does not appear to be in MP3	format.
burn_746=Warning! Your audio tracks total $1 MB in size, which is above the 746 MB allowed on a normal audio CD. However, they will fit on an 80 minute CD.
burn_807=Warning! Your audio tracks total $1 MB in size, which is above the 807 MB allowed on even an 80 minute CD.
burn_mp3size=The converted audio tracks are $1 MB in size, out of a total of $2 MB which is allowed on a normal audio CD.

dev_title=Device Options
dev_header=CD burner device options
dev_device=Burner device
dev_none=&lt;None selected&gt;
dev_speed=Write speed
dev_other=Other..
dev_extra=Extra <tt>cdrecord</tt> options
dev_err=Failed to save device options
dev_eother=Missing or invalid write speed

mkisofs_title=ISO Filesystem Options
mkisofs_header=Global ISO filesystem options
mkisofs_novers=Include version number in filenames?
mkisofs_notrans=Allow all characters in filenames?
mkisofs_nobak=Skip backup files?
mkisofs_fsyms=Follow symbolic links?

config_cdrecord=CD burning command
config_mkisofs=ISO filesystem building command
config_mpg123=MP3 decoding command
config_temp=Temporary files directory
config_temp_def=Webmin's temp directory
config_ecdrecord=Missing or invalid CD burning command
config_emkisofs=Missing or invalid ISO filesystem building command
config_empg123=Missing or invalid MP3 decoding command
config_etemp=Missing or invalid temporary file directory
  07070100000169000081a40000000000000002000000013d1fe2e800000e56000000200000000000000000000000000000001d00000003reloc/burner/lang/zh_TW.Big5  index_title=CD¿N¿ý
index_profiles=¿N¿ý³]©wÀÉ
index_name=³]©wÀÉ¦WºÙ
index_type=¿N¿ýÃþ«¬
index_files=¼g¤JÀÉ®×
index_add=·s¼W¤@­Ó³]©wÀÉÃþ«¬:
index_type1=³æ¤@ISO¬M¹³ÀÉ
index_type2=ÀÉ®×©M¥Ø¿ý
index_type3=­µ°T¸ê®Æ
index_none=¥Ø«e¨S¦³©w¸qªº¿N¿ý³]©wÀÉ
index_global=³q¥Î¿ï¶µ
index_ecdrecord=CD¿N¿ý ¦b¨t²Î¤W§ä¤£¨ì¶i¦æ¿N¿ýªº$1.¤]³\¨S¦³¦w¸Ë,©Î§Aªº <a href='$2'>¼Ò²Õ²ÕºA³]©w</a> ¦³°ÝÃD¡C
index_return=¿N¿ý³]©wÀÉ²M³æ

edit_title=½s¿è¿N¿ý³]©wÀÉ
create_title=·s¼W¿N¿ý³]©wÀÉ®×
edit_emkisofs=¦b§Aªº¨t²Î¤W§ä¤£¨ì²£¥ÍISOÀÉ®×ªº©R¥O $1.¤]³\ÁÙ¨S¦³¦w¸Ë, ©Î§Aªº <a href='$2'>¼Ò²Õ²ÕºA³]©w</a>¦³°ÝÃD¡C
edit_empg123=¦b§Aªº¨t²Î¤W§ä¤£¨ìMP3½s½X«ü¥O¤]³\ÁÙ¨S¦³¦w¸Ë, ©Î§Aªº <a href='$2'>¼Ò²Õ²ÕºA³]©w</a>¦³°ÝÃD¡C
edit_header=¿N¿ý³]©wÀÉ¿ï¶µ
edit_name=³]©wÀÉ¦WºÙ
edit_iso=¼g¤JISO¬M¹³ÀÉ
edit_isosize=¨ú±oISO¬M¹³ÀÉ®×¤j¤p?
edit_dirs=­n¥[¤Jªº¥Ø¿ý
edit_source=­ì©l¥Ø¿ý
edit_dest=CD¤Wªº¥Ø¿ý
edit_rock=¨Ï¥ÎRockRidge®æ¦¡(for unix)?
edit_rock2=¬Oªº, with sensible permissions
edit_joliet=¨Ï¥ÎJoliet®æ¦¡(for windows)?
edit_long=¤ä´©ªøÀÉ¦W?
edit_trans=²£¥ÍTRANS.TBLÀÉ®×?
edit_volid=CD¼ÐÅÒ¦WºÙ
edit_mp3s=MP3ÀÉ®×©M¥Ø¿ý
edit_burn=Àx¦s¨Ã¿N¿ý
edit_test=Àx¦s¨Ã´ú¸Õ¿N¿ý
edit_return=¿N¿ý³]©wÀÉ
edit_ask=¦b¿N¿ý«e¸ß°Ý²ÕºA¸ê°T?

save_err=Àx¦s¿N¿ý³]©wÀÉ¥¢±Ñ
save_ename=¨S¦³¿é¤J³]©wÀÉ¦WºÙ
save_eiso=¨S¦³¿é¤J©Î¿ù»~ªºISO¬M¹³ÀÉ¦W
save_esource=¨S¦³¿é¤J©Î¿ù»~ªº­ì©l¥Ø¿ý $1
save_edest=¨S¦³¿é¤JCD¤Wªº¥Ø¿ý $1
save_edirs=¨S¦³¿ï¨ú­ì©l¥Ø¿ý
save_emp3s=¨S¦³¿é¤JMP3ÀÉ®×©Î¥Ø¿ý
save_emp3=MP3ÀÉ®×©Î¥Ø¿ý '$1'¤£¦s¦b

burn_title=¿N¿ýCD
burn_rutest1=§A·Q­n´ú¸Õ¿N¿ý ISO¬M¹³ÀÉ $1¶Ü ?
burn_rusure1=§A·Q­n¿N¿ý¬M¹³ÀÉ$1¦¨CD ?
burn_rutest2=§A·Q­n´ú¸Õ¿N¿ý¿ï¨úªº¸ê®Æ§¨ ?
burn_rusure2=§A½T©w­n¿N¿ý¿ï¨úªº¸ê®Æ§¨ ?
burn_rutest3=§A½T©w­n´ú¸Õ¿N¿ý¿ï¨úªº­µ­y ?
burn_rusure3=§A½T©w­n¿N¿ý¿ï¨úªº­µ­y ?
burn_ok=¬Oªº,¿U¿N§a!
burn_cancel=¤£, §R°£¼È¦sªºISOÀÉ
burn_eject=¿N¿ý§¹¦¨«á°h¥XCD¤ù
burn_blank=¦b¿N¿ý«e²M°£CD?
burn_bfast=§Ö³t©Ù°£
burn_ball=ºC³t©Ù°£
burn_bg=¦b­I´º°õ¦æ¿N¿ýµ{§Ç
burn_edev=§A¤£¯à¦b<a href='$1'>¸Ë¸m¿ï¶µ</a>­¶³]©w¿N¿ý¸Ë¸m®É¶i¦æ¿N¿ý¡C
burn_header=¨Ï¥Î©R¥O$1¿N¿ýCD¤¤ ..
burn_theader=¨Ï¥Î©R¥O $1´ú¸Õ¿N¿ý¤¤ ..
burn_header2=¥Î«ü¥O$1¦b­I´º¿N¿ýCD ..
burn_theader2=¥Î«ü¥O$1¦b­I´º´ú¸Õ¿N¿ýCD ..
burn_mheader=¨Ï¥Î©R¥O$1²£¥ÍISOÀÉ®× ..
burn_mfailed=²£¥ÍISOÀÉ®×¥¢±Ñ!
burn_egone=ISO¬M¹³ÀÉ®×§R°£ - §A¥²¶·¦^¨ì <a href='$1'>¿N¿ý³]©wÀÉ®×/a>­«·s«Ø¥ß¤@­Ó¡C
burn_egone2=¼È¦s­µ­y§R°£ - §A¥²¶·¦^¨ì <a href='$1'>¿N¿ý³]©wÀÉ®×/a>­«·s«Ø¥ß¤@­Ó¡C
burn_700=Äµ§i! §AªºISO¬M¹³ÀÉ®×¦³ $1 MB , 80¤ÀÄÁªºCD¥u¤¹³\¿N¿ý700mb¡C
burn_650=Äµ§i! §AªºISO¬M¹³ÀÉ®×¦³ $1 MB , ¤@¯ëªºCD¥u¤¹³\¿N¿ý650mb¡C©Î³\§A¥i¥H¨Ï¥Î80¤ÀÄÁªºCD¡C
burn_size=©Ò²£¥ÍªºISO¬M¹³ÀÉ¤j¤p¦³ $1 MB,¶W¹L¦b¤@¯ëCD©Ò¤¹³\ªº$2 MB¡C
burn_nomp3s=¨S¦³¿ï¨ú¦b¥Ø¿ý¤¤ÀÉ®×
burn_mp3header=¥Î«ü¥O$1Âà´«MP3¦¨­µ¼Ö­µ­y¤¤ ..
burn_mp3failed=Âà´«MP3ÀÉ®×¥¢±Ñ!
burn_mp3format=ÀÉ®×$1¤£¬OMP3®æ¦¡
burn_746=Äµ§i!±zªº­µ­y¥þ³¡¤j¤p$1 MB,¶W¹L¦b¤@¯ëCD¤W©Ò¤¹³\ªº746 MB¡A©Î³\§A¥i¥H¨Ï¥Î80¤ÀÄÁªºCD¡C
burn_807=Äµ§i!±zªº­µ­y¥þ³¡¤j¤p$1 MB,¶W¹L¦b¤@¯ëCD¤W©Ò¤¹³\ªº807 MB
burn_mp3size=©ÒÂà´«ªº­µ­y¥þ³¡¤j¤p$1 MB,¶W¹L¦b¤@¯ë­µ¼ÖCD¤W©Ò¤¹³\ªº $2 MB

dev_title=¿N¿ý¸Ë¸m¿ï¶µ
dev_header=CD¿N¿ý¸Ë¸m¿ï¶µ
dev_device=¿N¿ý¸Ë¸m
dev_none=&lt;¤£¿ï¨úd&gt;
dev_speed=¿N¿ý³t«×
dev_other=¨ä¥L..
dev_extra=ÃB¥~ <tt>CD¿N¿ý</tt>¿ï¶µ
dev_err=Àx¦s¸Ë¸m¿ï¶µ¥¢±Ñ
dev_eother=¨S¦³¿é¤J©Î¿ù»~ªº¿N¿ý³t«×

mkisofs_title=ISO¬M¹³ÀÉ¿ï¶µ
mkisofs_header=³q¥ÎISOÀÉ®×¦WºÙ¿ï¶µ
mkisofs_novers=¦bÀÉ®×¦WºÙ¤¤¥[¤Jª©¥»½s¸¹?
mkisofs_notrans=ÀÉ®×¦WºÙ¤¹³\©Ò¦³¦r¤¸?
mkisofs_nobak=©¿²¤³Æ¥÷ÀÉ®×?
mkisofs_fsyms=¨Ï¥Î²Å¸¹³sµ²?

config_cdrecord=CD¿N¿ý«ü¥O
config_mkisofs=²£¥ÍISOÀÉ«ü¥O
config_mpg123=MP3½s½X«ü¥O
config_temp=¼È¦sÀÉ¥Ø¿ý
config_temp_def=Webminªº¼È¦s¥Ø¿ý
config_ecdrecord=¨S¦³¿é¤J©Î¿ù»~ªºCD¿N¿ý«ü¥O
config_emkisofs=¨S¦³¿é¤J©Î¿ù»~ªº²£¥ÍISOÀÉ®×«ü¥O
config_empg123=¨S¦³¿é¤J©Î¿ù»~ªºMP3½s½X«ü¥O
config_etemp=¨S¦³¿é¤J©Î¿ù»~ªº¼È¦s¥Ø¿ý
  07070100048279000081a40000000000000002000000013d1fe2ea0000007e000000200000000000000000000000000000001900000003reloc/burner/module.info  category=hardware
desc_zh_TW.Big5=CD¿N¿ý
depends=proc 0.990
desc=CD Burner
version=0.990
desc_ca=Torradora de CDs
name=Burner
  0707010004827a000081e40000000000000002000000013d1fe2e8000001b3000000200000000000000000000000000000001a00000003reloc/burner/save_dev.cgi #!/usr/local/bin/perl
# save_dev.cgi
# Save global device options

require './burner-lib.pl';
&ReadParse();
&error_setup($text{'dev_err'});

$config{'dev'} = $in{'dev'};
if ($in{'speed'}) {
	$config{'speed'} = $in{'speed'};
	}
else {
	$in{'other'} =~ /^\d+$/ || &error($text{'dev_eother'});
	$config{'speed'} = $in{'other'};
	}
$config{'extra'} = $in{'extra'};
&write_file("$module_config_directory/config", \%config);
&redirect("");

 0707010004827b000081e40000000000000002000000013d1fe2e800000149000000200000000000000000000000000000001e00000003reloc/burner/save_mkisofs.cgi #!/usr/local/bin/perl
# save_dev.cgi
# Save global ISO filesystem options

require './burner-lib.pl';
&ReadParse();

$config{'novers'} = $in{'novers'};
$config{'notrans'} = $in{'notrans'};
$config{'nobak'} = $in{'nobak'};
$config{'fsyms'} = $in{'fsyms'};
&write_file("$module_config_directory/config", \%config);
&redirect("");

   0707010004827c000081e40000000000000002000000013d1fe2e800001e55000000200000000000000000000000000000001e00000003reloc/burner/save_profile.cgi #!/usr/local/bin/perl
# Save, update or delete a burn profile, and maybe start the burn process

require './burner-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});

if ($in{'id'}) {
	$profile = &get_profile($in{'id'});
	}
else {
	$profile = { 'type' => $in{'type'} };
	}

if ($in{'delete'}) {
	# Just delete a profile
	&delete_profile($profile);
	}
else {
	# Validate inputs
	$in{'name'} || &error($text{'save_ename'});
	$profile->{'name'} = $in{'name'};
	if ($profile->{'type'} == 1) {
		# Validate single ISO inputs
		-r $in{'iso'} || &error($text{'save_eiso'});
		$profile->{'iso'} = $in{'iso'};
		$profile->{'isosize'} = $in{'isosize'};
		}
	elsif ($profile->{'type'} == 2) {
		# Validate multi-directory inputs
		foreach $k (keys %$profile) {
			delete($profile->{$k}) if ($k =~ /^(source_|dest_)/);
			}
		local $j = 0;
		for($i=0; defined($s = $in{"source_$i"}); $i++) {
			next if (!$s);
			-d $s || -r $s || &error(&text('save_esource', $s));
			$in{"dest_$i"} =~ /^\/\S*$/ ||
				&error(&text('save_edest', $s));
			$profile->{"source_$j"} = $s;
			$profile->{"dest_$j"} = $in{"dest_$i"};
			$j++;
			}
		$j || &error($text{'save_edirs'});
		$profile->{'rock'} = $in{'rock'};
		$profile->{'joliet'} = $in{'joliet'};
		$profile->{'long'} = $in{'long'};
		$profile->{'trans'} = $in{'trans'};
		$profile->{'volid'} = $in{'volid'};
		}
	else {
		# Validate audio track inputs .. each must be either an
		# mp3 file or a directory
		foreach $k (keys %$profile) {
			delete($profile->{$k}) if ($k =~ /^source_/);
			}
		local $j = 0;
		for($i=0; defined($s = $in{"source_$i"}); $i++) {
			next if (!$s);
			-d $s || -r $s || &error(&text('save_emp3', $s));
			$profile->{"source_$j"} = $s;
			$j++;
			}
		$j || &error($text{'save_emp3s'});
		}

	# Save or create the profile
	&save_profile($profile);
	}

if ($in{'burn'} || $in{'test'}) {
	$| = 1;
	$theme_no_table = 1;
	&header($text{'burn_title'}, "");
	print "<hr>\n";

	if (!$config{'dev'}) {
		# Cannot burn until device is set
		print "<p>",&text('burn_edev', "edit_dev.cgi"),"<p>\n";
		print "<hr>\n";
		&footer("", $text{"index_return"});
		exit;
		}

	local ($iso, $temp, $msg);
	if ($profile->{'type'} == 1) {
		# No preparation to do
		$iso = $profile->{'iso'};
		$temp = 0;
		$msg = &text($in{'test'} ? 'burn_rutest1' : 'burn_rusure1',
			     "<tt>$iso</tt>");
		}
	elsif ($profile->{'type'} == 2) {
		# Need to build the ISO image
		$temp = 1;
		$iso = $config{'temp'} ? "$config{'temp'}/burner.iso"
				       : &tempname("burner.iso");
		local $cmd = "$config{'mkisofs'} -graft-points -o $iso";
		$cmd .= " -J" if ($profile->{'joliet'});
		$cmd .= " -l" if ($profile->{'long'});
		$cmd .= " -T" if ($profile->{'trans'});
		if ($profile->{'rock'} == 2) {
			$cmd .= " -r";
			}
		elsif ($profile->{'rock'} == 1) {
			$cmd .= " -R";
			}
		if ($profile->{'volid'}) {
			$cmd .= " -V '$profile->{'volid'}'";
			}
		$cmd .= " -N" if ($config{'novers'});
		$cmd .= " -U" if ($config{'notrans'});
		$cmd .= " -f" if ($config{'fsyms'});
		$cmd .= " -nobak" if ($config{'nobak'});
		for($i=0; defined($profile->{"source_$i"}); $i++) {
			local $d = $profile->{"dest_$i"};
			$d .= "/" if ($d !~ /\/$/);
			$cmd .= " \"".$d."=".$profile->{"source_$i"}."\"";
			}

		print "<b>",&text('burn_mheader', "<tt>$cmd</tt>"),"</b><br>\n";
		print "<pre>";
		open(MAKE, "$cmd 2>&1 |");
		while(<MAKE>) {
			print &html_escape($_);
			}
		close(MAKE);
		print "</pre>\n";
		if ($?) {
			# Failed! No point going on ..
			unlink($iso);
			print "<b>$text{'burn_mfailed'}</b><br>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		$msg = $in{'test'} ? $text{'burn_rutest2'}
				   : $text{'burn_rusure2'};

		# Check the size of the resulting ISO
		local @st = stat($iso);
		local $mb = $st[7]/(1024*1024);
		if ($mb > 700) {
			print "<b>",&text('burn_700', $mb),"</b><br>\n";
			}
		elsif ($mb > 650) {
			print "<b>",&text('burn_650', $mb),"</b><br>\n";
			}
		else {
			print &text('burn_size', int($mb), 650),"<br>\n";
			}
		}
	else {
		# To convert MP3s into data suitable for CDs, run
		# mpg123 -s -r 44100 file.mp3 >file.raw
		#
		# To burn to a CD, run
		# cdrecord dev=0,0,0 -v -audio -swab -pad speed=8 *.raw
		$temp = 1;
		$audio = $config{'temp'} ? "$config{'temp'}/burner.audio"
					 : &tempname("burner.audio");
		system("rm -rf $audio >/dev/null 2>&1");
		mkdir($audio, 0755);
		local (@srcs, $src);
		for($i=0; defined($src = $profile->{"source_$i"}); $i++) {
			if (-d $src) {
				opendir(DIR, $src);
				foreach $m (sort { $a cmp $b } readdir(DIR)) {
					push(@srcs, "$src/$m")
					    if ($m !~ /^\./ && -r "$src/$m");
					}
				closedir(DIR);
				}
			else {
				push(@srcs, $src);
				}
			}
		if (!@srcs) {
			# No files to burn
			print "<b>$text{'burn_nomp3s'}</b><br>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}

		local $basecmd = "$config{'mpg123'} -s -r 44100";
		print "<b>",&text('burn_mp3header', "<tt>$basecmd</tt>"),
		      "</b><br>\n";
		print "<pre>";
		local $size;
		for($i=0; $i<@srcs; $i++) {
			print "<b>$srcs[$i]</b><br>\n";
			local $dst = sprintf "%s/track-%3.3d.raw", $audio, $i;
			$srcs[$i] =~ s/\\/\\\\/g;
			$srcs[$i] =~ s/"/\\"/g;
			$srcs[$i] =~ s/\$/\\\$/g;
			$srcs[$i] =~ s/\`/\\`/g;
			open(MPG, "$basecmd \"$srcs[$i]\" 2>&1 >$dst |");
			while(<MPG>) {
				next if (/^High Performance/i ||
					 /^Version\s+(\S+)/i ||
				 	 /^Uses code from various people/i ||
					 /^THIS SOFTWARE COMES WITH/i ||
					 /^Directory: /i ||
					 !/\S/);
				print &html_escape($_);
				}
			close(MPG);
			if ($?) {
				# Failed! No point going on ..
				system("rm -rf $audio >/dev/null 2>&1");
				print "</pre>\n";
				print "<b>$text{'burn_mp3failed'}</b><br>\n";
				print "<hr>\n";
				&footer("", $text{'index_return'});
				exit;
				}
			local @st = stat($dst);
			$size += $st[7];
			print "<p>\n";
			}
		print "</pre>";
		$msg = $in{'test'} ? $text{'burn_rutest3'}
				   : $text{'burn_rusure3'};

		# Check the total size
		local $mb = $size/(1024*1024);
		if ($mb > 746) {
			print "<b>",&text('burn_746', $mb),"</b><br>\n";
			}
		elsif ($mb > 807) {
			print "<b>",&text('burn_807', $mb),"</b><br>\n";
			}
		else {
			print &text('burn_mp3size', int($mb), 746),"<br>\n";
			}
		}

	if ($in{'ask'}) {
		# Show confirm page
		print "<center><form action=burn.cgi>\n";
		print "<input type=hidden name=iso value='$iso'>\n";
		print "<input type=hidden name=audio value='$audio'>\n";
		print "<input type=hidden name=temp value='$temp'>\n";
		print "<input type=hidden name=id value='$profile->{'id'}'>\n";
		printf "<input type=hidden name=test value='%d'>\n",
			$in{'test'} ? 1 : 0;
		print "<b>$msg</b><p>\n";
		print "<input type=submit name=ok value='$text{'burn_ok'}'>\n";
		if ($temp) {
			print "<input type=submit name=cancel value='$text{'burn_cancel'}'>\n";
			}
		if (!$in{'test'}) {
			print "<br>$text{'burn_eject'}\n";
			print "<input type=radio name=eject value=1> $text{'yes'}\n";
			print "<input type=radio name=eject value=0 checked> $text{'no'}\n";
			}
		printf "<br>$text{'burn_bg'}\n";
		print "<input type=radio name=bg value=1> $text{'yes'}\n";
		print "<input type=radio name=bg value=0 checked> $text{'no'}\n";

		print "<br>$text{'burn_blank'} <select name=blank>\n";
		print "<option value='' selected> $text{'no'}\n";
		print "<option value=fast> $text{'burn_bfast'}\n";
		print "<option value=all> $text{'burn_ball'}\n";
		print "</select>\n";
		print "</form></center>\n";
		}
	else {
		# Redirect to the burn page
		print "<script>document.location = \"burn.cgi?iso=$iso&audio=$audio&temp=$temp&id=$profile->{'id'}&test=",$in{'test'} ? 1 : 0,"\";</script>\n";
		}

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	&redirect("");
	}

   07070100046b88000041ed0000000000000001000000553d1ff9ec00000000000000200000000000000000000000000000000e00000003reloc/caldera 07070100046b8a000081a40000000000000002000000013d1fe2df0000212c000000200000000000000000000000000000001b00000003reloc/caldera/Alphabet.gif    GIF89a& Ä  ÿÿÿ33Ì¡¡èÉÉñjjÚAAÏòòüÙÙõååù®®ëMMÓZZÖ……à‘‘ä»»îwwÝooÛêêú¼¼î¢¢è°°ëææùññü                           !ù     ,    &  ÿ  Ždižhª®lë¾p,Ïtmßx®ï|ïÿÀ pH,È¤rÉl:Ÿ¬„J­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»{àŸ§rÃjp%(	*	Jy+Žz%x’'‚„†$rS%‘"•“ ˜…‡-|~€'œ/•})qw«v¬s˜8u.¼(¢)¦ŒoÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕF§+°(
*
)Ú·'åJñ+îÅ%âä'ÜÒ7â€·Q"øøw€@xòRœK·.…ÁUÀc Â`6p'²X° ¡	tµÿáÀ¦’›7þÆ™,q@ ÖrêÜÉ³§ÏŸ@ƒ
J´¨lZ4ø¦QÛ‚&à@Ñ6H°H£‚W‘ˆ[uÂA€~›œB‘ukW0Û‚m¹¢E!•ªÕŽä²ÊñŽ: dÁu ×dMÀÙ6RKa¦½‘ñ¢Mº´éÓ¨S«^½“ë×3ê-6Qk¬a‰ ˆ¬¤6ŠšE¤€[†ë‚ ‡/r|Es¾ôÔã½d¶ì=ÔI(Ï]zØlØà»È0‹ñøñÜ›Ü`ïyN½—sjØ|M$ÖO&_BþUÿ~È‘ ã‰`ZãÁr`ÿ çQr^}ç!$HDÃ(òÀ ý½ç@vp!u÷90[‡Žr_ƒÊQÂ‚)bH“€)¢UZŠPGDöQ‰‹"DÒ‰|÷¹P£ò˜‚ û	©"
r  E^²dxT*!H1WB9å—‚ˆdhée9Bà²Ø!|÷Ã#PèG '82Ù…šM8ˆ#å™^­¬HL€‡³z®¨
‹¨£üiô¨¤'ò†‡"X2‚}óÃé{NžxŠžï‘5á*,
G	§ªð©„[`@ìç¥zXHg~¹z¸ë¦½~ÈW°¿ž™$ …Èë -

­³ÀNkÿªª*Â˜ƒ4Éª"¡•Wœ±ÄÚ£¹ÂÁòÇ&¹ì*• 
á‹¤âÚ©	*ê2Â¤²Ê0fògA§¿¸Ôk¯Â øÖ™¡)þ‰›Ä‘;À%”‚_ÆÃU+™Ð©1wO¡o	î £r:0%°²Éà¼¬r&ÊŒŽ6Ù,<2+ Ï;ßœ:é©,:8‰0QRGß„BÊè”ç²Ê8¯,OÊ$Lô²hÚÌ5 Z¯üµÍà^Ï°m4 ksÒù¬E:…¡ÃÎ"Ý-Ò  tè0R …‰÷)<ÛìÖ:ð<0V*'Íãó8Ý5AŽ„R•UÀ›Ž¦Ú±ÇjÿÊ€®
”Í@pL&9)®Ç“ "=pUì²Ïõ@à¦ã‘z ¶£l¹;DÀsÆ¢HÆâ”ž‘Ù,0K]"sá$OBê£œƒ6ì<0UOéýDÎ+këÀï/ƒœ½Êw¼-Õ4MÃEI5¼>9ý‚ßè0   ÐH%KGGT&¿:10
jkIh·~ ¯}M“YÒ÷2;@íeÛHYÁø¶¯¿M‚'¸àÕ6ç
"m1a›ädæ¿¢£†^3ÁØ§²ˆomkZÒ‚%ñm{c¡ib¹h-y$dÉË°˜|„éb/1Rä6“U„(Mä¢•ÿ!°d`6¡¢ð‘Ê¥ä*øKKá2‚‡p±f)Û:`Ç`Œd6	€—DB’™'JäU ÐQ2ï¸£;FÀ ÐŽaŠ:`BºÉ °y,€ìa²DŽ "I	);'Ùwý˜H1€¸UïrA#ˆQ°6$ Šq	!Y¶ pmw ¬ZGA¹¥%À1"ÏÔµ[8š7#Ò&Ã>Sn”»žëNi?¶%Ò—9ÜüZ’²U`e·1a('!päì–&WbÇ¾Å%Ò™{Aê
 @á $Ú:¹C¹fà,ËXZàò£IÉMä+5  Àz%ÿŽá!	â¶Ž¨™ÒfÛX!'!Eü®<ÚKIñŽ÷>¼Sr­{S„´²­L(ðANÍÄtnê4ËL\¶#œ{N8Ïn¹²uÉ@\)8ÜÁ€è  uà D6"ò;m†kðx ,&)«<Î`j&4\ïè«¥@“‚¼+<õª²[ÉŠ‡¸+£FofÉ6­ ¸Ì=»Njº®ÌÝ	GØD\¾…´YU)JCT%£l	Ü3Í¬‰›Æ4íHF[ÚÐ®µ\ÓŸ1¦µ~ÑˆçÄíAµ£Ûþs~¯Á@áË‰0 áÔÖX$²ÓˆyÝÔTª’<”QF°ÿS‡!p™d18Lbc¿ÊÀ%0Ò-œ]žb‡¼¼åKÏ¬U˜â¢‚ïž ¼8¯\“÷ê€†ŒÁU$AQ@V¨¥3îÕ[3–ÍË]%Á'ð[Ê ºË¿noD«c†Í¹[âüÎ
Máoy[6„¤¬!^§7|’Í!QÍ-be/»;ù½“pËYÜnÁ¸œ¿ƒEˆ}¸tŒ"¼Nb‡w‘ŒB$-^²’}ÛÄßE&òãY'Ì@³1t³ìeíp¸_|ØŸRè—Y0â}üÓ5(4â|Œ’q„g¶]YÒòiäËcÇ²ò›:Õ³²÷˜1Bã³äÆè¸)(Ì¤@ÿÇŸ…†dóí.iÄ3^"½QDÑìx~kˆË8’F¸l@‚VZ’]B®Ýx‘à¨Ù:„l0ì	6Ü,¸w1"¾þeäŒsˆhøofAS×@ç¦ƒÙ)X¶ƒzHG¸Ú„K„­m`u¬Yµ·r›—h`ºæš˜”}]Š‡Fº™qÝX5˜¡âã#¹i?¶ptëÝ$óÈ«N™<HzR)ûò¶–Cøsk9ù¸LÐJâ¡7‰ä¢À7)ÌÎtÒÕƒÇñà:÷õjT¼ºñ4ç9Û	Âs(!ò‘Kã[€9\¼”r.y’•uÙ0YGè•Í !LrÉ¸Ïb‘ÈbÎìŒÿ«*·'­;ÄçÖænß&Å½ø’˜S[EÏs|³|Ü’qqÛËÔšeÂµ…ÁÙžò*‘ŽQà&7Dä0•-jB>‹¦ªNLÚãF‰ŽJXéì¸ñÄç=èŠùë²¿$ÆlêœHcÍò!sû´É`«Àšãµ3œz8lÃŒÖã,€ùYM@#À(0
ƒõ!Ê¢|àb°ÄÇž‚˜‚ë…S€$ëjØŽENâÖÇßTòßÎRF_óêÙ}’ï|‚Õ‡ÑØwí)@[¶<&4sjšZ58ƒ*ñ¨&ç¾Ð ,S‚ûÝ*·L;¦õ0XòqÕ†q ÇRBs`lÿÈ"t“Nš#9$\-qAô#|Öz-çyKàd%¤F¸¢,®á=Csi$<w©SP,`lxR2pc0¬sC,x_.(og5Ù`>sAƒ?W8hƒ$opvÔfX=":26qWÇDæömÖ€¿µnQGe?Xb'TWi·)¥¤kgv…„ˆ¶w’¦…X(vÆgDWLB¨pj÷~gp½Ebd3{–N^%}`Çmãrx²GÔa u "”Ð‡ ’‘  š±zh/†ø«¢CM2‘w_Œ'‰x˜ÉGµ÷|•w‰¿Pz¹§EuÀ|ØˆQ‘#|aŠuÒ$$xŠ‡—)ÿ¼gOÃ!}PÒyÐ'+µX|“€‹'ÔAÂ1|Æ{p”‰ºÆZvYów6b‡%@D¿£ëæ†(PO+À3]Õhó„j÷6€6wOÓv“¶ÃuñP2+¶["Á|Æ4!F†"pŽ+Â},$Edñ;Ò³q‡†<¥Jë$4Vùp2Ù`Hyd7Ùqb;·Jv1”Z'¤IfÓƒ©tG5>Äb9Å@?Ã‹ëÔSºän*“gI“3 –a<#=†â£2€ ©´SÓ’àp )JKè4B@gNQ˜4Dõ2®$R¿”%9È´NÅ0¶pa0v&áÔ	7vÔ6”C9v0nÿ 7
cÀsƒlt~7aaÁ7¸á&äH‚<D,”b&ˆ}P|„Aþ P]FjgaF"EÓÔ—'6  ß0ï·õ§MÛ3*à ®¨lý·y$ñ&d*y˜²Ò•)!~¾öNqþ(PákÉÆ(›T2§95ÀÑ`h›é?WŒŽt›&•›Ä¸›ƒÏx1WxqXy„i‘„˜eŒä¦bÊ¹)“AY†x›3‡ÒŒí@ï¨î˜µV¨ØÉú˜G…ã2´²›ø˜ž·†Ü}µ4Ò7•‡@BX35‡r‘2T<ôŒAA>ÓŸ+óŸÿª¦g,µ\ƒW³XW: ÔƒÔ F p¡ Çy
%’ºá÷~)8£à ´  !¢+C¢H¨2S¹¢=Rqµ˜åÆ@8L¸%9$¤¡26’-±sÁÆaFPO	
()œÙÖ”Kø2Çµv*@D»4•ð3—…–†³ÈhI©6åX4.f7Ã	šsPîp~câ8îP=Œwrw9sâ9©¦mCNBUY6p{ËøOøxB=rÆg[Ñv:y!uE>†Œkä›T8/88¢äsÑ•¢´óf!tšjªb2ø‘N@=Ò	Ÿp5	9ú7Žsu'IXPÓUÿK£d¬šQ•&Òè¨ ©ñ4Ÿ
@÷;o8[í„+æ"P7v2*˜…¡5vPc]XX6	—I…?rB5 ´„01nSÓl’’+¹=gÑPgJ¡ùl332©Y³Ns EáFWÀÂU0¦“63èÈ‘P€‘J?Ö¥â‰/U˜•vÉFk²š2°;òÀbnêAUN¤ƒ§‰Š=Ù5¡?…á'XU+¯›ƒ5`‚Ÿ‰‚1à~þÇ­í7m~£²(Û²ZfHÚƒ2«Œ7Æ3+ž1WSZ„*à€´¦J6J6Íy„Nøeÿø~f*…Œó„§›#µ»EµÿTZpÌiŒbêÉ†	·žWkœë6Ó„!ôF2iúÐ¨+H9e>Ìf úÓq;·ùXy4~BÓ¨%SZc;C¹v<#9@3 5HgZ«šhð¸ŒŽ”Wq–uï2‚Q2Òª?Æ¹¹Úgë¸EºJ¤ë™NIXîªtåvºa£_‹£W¦U»ïHB7¸aÑª¶Ó³›uYí“‘òº¦KxP
zFK¥™¼ˆkšN¥t‡5Ç“G“Gª¡iúfk“¼5ê½,D64ÓI“yšf{jY|,è2ìP2£”¶ó&¯$Š"Uî©:zbMSÿ}+qù(9¿s
®9  ñ[E5 å¸
efN!9´v™:X~2Vì(ògNò³Áâæ™þ{ÁX8*ºe;kEiœHgÃÊb›v2©¦"à7Çä‘Wm`Æƒ]Ô\T¹fmÆ•ÉÙCÅ¦@âz€«+cŸÓZ%€¨ €W(:AHÃ>ñzEÂÓú
y%=ókSâP K:X+ƒ³¥ËºL„Sµ¢»áÉ{G&Œ²’U‘³}Ë› <Ä õo¦Ý ?çÐ	[²3h¾–:E{k˜‘ˆ›šÀCwi:â)Ž–”,ƒv‡…-¼"Û…¼h÷ÉL”Ø)´fœT&3ÿÊ¤Ê	”D†´q•k93Û+4OûmQ+¾UËËW«vVkYfÁ£W	¶ÆKn]Ûž%th°k5UB}&ôv¶;‹'|ÊÃoµHBº¨£Q‚>ôÔÉÕjÁþÇ4y[d‚Ñ¨¸Yƒ«Ô	ì<SÈ´Ša‹6†$Nˆó7øœµu‰­ÖÊB)s«²Ëƒh×z9gØD7zR¬½œÏ˜õ£BÉb8\”¦71g0>—Á)u˜ˆ}“ ‡Ù7Ã‚ªdœKYÊK[z¡Ä¨<…|æ çÞ,Á8§w3M“‘,h)¾‚C5rNÛU!”¾Q¦Ìåš<ó<’Žÿ(Ý ð ÃušJ·tZÁÚ¡wÏ›ÒæôÓ1ÊÏÑÔtf=Ô§ªðÁâ×Xò–ªlK(Àñ¼ÏIt7)3
vƒÒ&xIÔlt§H8Ä=ÊbÑúpÇ¹e™9H&›ëdÅ+­ =Yy\@¬-Ž‘2 ?‡ÐPµrñÆ4à\®ô€v{Qƒ²ºjN%aB$«©SD)ôx
:¢qbp•,_(bi6¶  +ÈƒJÛ„]æ7xf¡²ŒB@¥'"Ð ì#¡ieÐ*A²ç0	ˆÙ±DºÚûòã2Ûå¾ÝÈ·G”•Ê«½[ßÉX›•ß_s¦ÿ®%.þ=  .²Me…qcÚpÒsÃÕïØ·
&m¥ëT¡wB´T}ší³Lz¼ö:ý[bŒ£×—=­MwSâ'uââ«âi6Ö*fêõ7Éì¥3®†g\9²ëÌéÕöÀCòÀ´x°“»=‹ ‘‹ÖÓœäíssÑU2‡V2ˆÅÜž	Ô.¥Ïå° Û\þÖ“»t–3Ð¹ÖýÜ4bÊB9sR¾ámžµ)Ðªr«Ðæ¤5Åœãx×;×Ñ\´ÂÄ3–]8|f3‘kä¹œîÉ–K†àüìÔ—%.!öt¡Z0ŠÙK|NÁ5ÓœÚÍ?´»£¹ŒY¾ôÑÿìFe¢DPf µ(+"÷hÌ¤\@³Æ”:Ëz»cHñ&X¹²v©ƒôLQØ‘Kö½et‚ÎÊfž†ÞaUª˜ƒ’³üÒu}×|nÁ¹¶6µ6A´Ð4áŸ5ƒB‚~-Û¾â)ÙF4ð0h“=ì“œG0‘G{Q•zZYpeV §ŽÛ¤«§iÁ¨ºfÈ$!ÅÍgú[Íµ]9(%nêÙ†5‚ùt2WBõ%#°	/°ÿ¥N°$yš4Ä‘a»³‡QD+7»ÓF‘!Ç2p<¡¹“š>àj36ÈCšU@ßCâ‰èE/3&qèHo~2ƒPJäy°àéÿžŽêÐ›êé¹¶´òLê›œ=lêgöû#öÎèd2`Üœ5ŽÌÆ¼¾]ÃÌ
=öÎ	ZÆN©1'¹–¿nŠa„³÷ê!TVMBuÿ7ÀÔ x”3mÊ½êì¯¼a?èŽ¯D:ZÍjáe÷µmù6~õL¸+ÍáøHƒÇÐEÍ¼çÔ®L<
Ñ§p,-;9—Ødwô¾Jd3	ŠE Ô=ÅDÆé^ÊñÁUé”{éx]¬K4ÙòàéŒsÕ¥<ê’Úüv¸¨>v¶)„Ç7WÊÒLÒÇ‰#7SÜ%€eI6M\´Ï±ÞÉ)[W„²ÑNW85›;Ss\ÿMZYÛ‰ÿÿäB 0æ0
¦H*A˜ 1ªl=Bõ˜P>€1r˜#…éG˜€Ð„ž©÷  2j¯’xDs#càY[@0oÜZÜW!jàÚDIÕôéq±˜ôîhÕ$Œ,
\U½ŒpBTÀ<nˆ\ÅYš™š€þ¨µÕ ¸úÄ(ô-T
¼ r<@5bHr&óŽ¨Róª\²]
ìj‡×ô‘‰ó&ô-}s¶»w1¤G©&ÔÆ Ý ˆèÝÉHR˜&²™KÈËßDDbU:p£A—Nðpàb§Œ9)2 ­~#IÿŠYÒÁÉr€~ddÙê™'^+jº:î‡Ë—¯hž2©3S9‡jÜDt£ÀXKŽ`æb nSgÖ°*´`V[«zŽëªI™T!3˜j×hÛZc;´LPXP¶4­a€J%8R’&¡*”ŒÌ{y«5aë	¿9†Â¹u³Š6V¬€²ê\°$Â±é)7àCšÉÐ$éCñ±COThÉ,øÚDlÍ.+qÏr[÷¤­5âI=Æ³]€R-ÝwíBÃØôÕ3?XD„µAƒ¸r7€a DFÄ¦ ¡áPHp0'îVñ•nÖÕK%¸P=iEþó4HS~}öÿØâ=‘×G·±¡	Òp’÷D³-ÿñ²—sŽÀ_…"‘q“´xx#r!Í´´§"}ÐŽ-2 ÕÉ5µÑ4ƒ6<ñÙ‚âÑ2n¶8T¶]¦„'¬Ha@:d|T Æ•”EP/0` é%VÝsÔ&Ó)yM—EaB“p´	öƒKñá[lVË2I5˜\Iºô` }–1›‘íòQ/ð—¡µGV2µpS£ZÂ)Ã5&PQ‚”Q`ÖNd¡0jYXEö‡“ŽøÙ¢W–š0?1à6¡ ¢-D‡p€D&Ñ ómz} D) 8‰Q‘é*™ð¬Bì”ÿË%›"% †»Ç:V\Ûâ|F’1’TÈÀ€h	ÜÊ‹aˆP€ ó)pe Á	ÄÅÝæ;­¿l)5Wµ	ùæ—½éf°`ÍÑ¡0ª2ˆGÞ»#q´·cñGTl^;n¸¨jd÷Ü4ä;4™ÜÎUêºS‰œõØ–a¡âR¼´¤IáCóq£()b(Í‰~èèÐÈ^‰†D7ktI/¼¸lX!Ç’qFÂh5ˆ·eíž£Qk¤5[ùa:fSÆÕáG¾âÅ	¾€D²WÉ=â˜¹vnCqòÇ•0@ ³E6Ž©G¥`W°á‡sõÂ=¦„bNU@IibÁ?¾™àÿùÞÎ&œŒ¥#Êd`¦ú;êÛŒáÇH“Tÿý¤2aÎ£G9u/ I…E`#+$vÁT †›X´EíÚÄÈèúGsî?ññƒ²ï}ôdÙYN…Ó¥¹1‹1þBsW!Tõ×s<‹ŽŒÂòÕ\§ÆqC‰à„¤&Å	BÕŸÒ\Wp3@´D-¸Q’îÕ ¹ÁÂ´  f•ã°E]òÄ¬G%/­’ŽWÐ “0q. kBÅ˜h¨\P´X^¿gŒxrà>’­-à[)@ÆÕf	Ð6:Õ‡ÀÀNB»˜r’c&Æ€ôÿÄ~œ{ðÁˆMÛe„B€/ÈÀ2©WÒ¸àmD‡4¢…4ä¥;ƒÄsXD3µ0h#p5˜ÃÙÁÛ`'Q 5F%…ÜÄ]:‡N!BA¡7ãàÈ7¨Å—lˆM¬a€(` }LF¿&ÆZþË_ä#r^Ô¨Tµ2\·~™ÅØ)jxQ	^£ˆÇLejk’‚Þ4`)G¨¤	G®r¼€$%Ú‡jÆ„‹Lœê„^"Ã(/í›„*ØG?MuAž÷|Ÿü®é¾Ÿ€Ý$ºF6X/€ÖLhÑüÇÐ5N…lÑñDSà° [Ôê¬&²ÿÒÑDNŒSj¬ÂMäÅ¬«$1àSÙÃ(Øk2iäÂ^ð ì1A¬Éç–žÎç4×)Mú¸s	hÅpl N±Ô¦R¦rŠj½¦*’7b™Ì•TÃÂEœbá«*5\Zª‘I|ô'¬Ì‰uDVÙbS³1
²a 6,A€¹è.¨)D™™xíøQÎí¹¬FÅôR$•ñu"I|úh¦3}Å£~è+ÍH9Xòe¡Í!'0ÉÐ†Ã”F‚VTÝª@ŽJóà§xgÎ1‚„JîK@’„Ž%\ãFòÄ§ÖWö’yê‡q@)Ë¡†…CAÃÿ€ÿ¦°ð 5T¡n¤7üà·óèÂn±°\ï* Z a$ÒqQµ^EŒ¼
‹ùþô˜£´¨°H9‹laÁ¯aQlX«Ý=Èƒ àïmX›>½ö}•Gz}È¬¤@"ÙOiO+,\PA»à-aC!Ép°$(+æ´¶:#ÛŽmb“Të
È\8+ /p+|æB_=¶­Vãã\&¤ÈkuÒ¿žë$8ÙšPî¬ÿW^ÌæÊø°$Ãä:‚
ˆÅkÚ­ä!¯Í™‹›ñfôÔrq@lÄ•6“qY½¨vP¸¬™7ëÙ>ó˜Ïštf'áç7¼(Ï¦Õ†¢Üè…ÿ «ÁîÄl‰ÖM‰‘Jr€Ýö¶½KI9Šû‚G¾‘þ½—¶ðéIX`Ö™ñ:ÜÈ£Kiè„T±êN“·ÍŒt£P£Bu¶*IÅ…ñ%4û’@×­ÙAíl8–Úpq$@âI$cÕÒP*vÆ]÷qH¼ïu-6¸ÚÖž°ÅHþ(x<ï{kµ«Ä·
tÁï¼¤¸,ì=oY`ßÿÊEÂîð‡›C˜Ä²2£ø[ox‹/q5ˆúëÁ¿÷,|BRŠK¼l	©w8
nŠ<—’»w.Îo—“œãÔËxÎ.˜¼0òð(¾q…‡£ÿ»ÎqÈ7é/V }u6¹BÖ»†rxÁÀØÁÕ&˜Îïéi“lT;Ù©¾( —=íigø´~®·'î¸%JÂð¨¯¢äâ¸{`õ¾«Ýï] ³
`Žqƒþï:áå^qÂ¯wñìà¹¯/‹Wój¿÷Æ5®yRÒ=ó@ÇùÅ?¯‘Jä‚â¹PøêÅ‘re£à3ß<íkoûÛã>÷ºß=ï>SYŠ-—‚mhïÅql…,·øiO•ò›ïüç+äJ¢ÜÔÿ¥¯#… 6K¶Ï{w”z2¶ŠciéLØ	q€àx!]C?þ _ï/äoÿûã?ÿúÇý•
`éý` 
©`80ß à"`* Õ}–óÜàò_B$ßîÝ2Y`jàòž8 ,ƒsÑÃ‰Gèqà	®@ìà
²`êßž¸`Ê ðaàÚàâ`B)]BD ²iË»`Ÿh²Ÿ1èà2a:áÁõ\
Raê â,À¨ r!ô%!áuaŠá’ašá¢aªá²aºáÂ¡6„  ;0707010004827d000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001200000003reloc/caldera/acl 07070100057c74000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000001900000003reloc/caldera/acl/images  07070100057c75000081a40000000000000002000000013d1fe2df00000207000000200000000000000000000000000000002200000003reloc/caldera/acl/images/icon.gif GIF89a6  Õÿ ™3f))Êïò—»»Œ³³†ªª££zžžvÍÍšÌÌ™ÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š¥¥|’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÿÿÿÌÌÌ“““fffdddccc```YYYSSSRRRAAA@@@)))                                                                     ,    6   ÿÀ„pH,È¤ry\|@¢¨tJ•’L¦¶Ø(i0à°xÎ`B ìVë8UÖÃ	År)ÔpdûLùÿDr)yI{})‹)E)†znH~Œ		D)x”CˆGŠ‹žœž	„¤E¦FŠ««B’³DµE¸¹»B¼¿“ÁBÃH¹ÊÓ	ÌÎÏ–)®	®«ÝÔÖ×ˆ)ÚÛçâœÝCËÀåÙèç í›~®ç¾æ93gïœ>~ R«&0Aƒöö‰×MÛr³E¸wîžÄ"
6ËøæIã¥d8Ò¡¥÷bÊd‚Ñ%ŸY5g9@ñÀ€Ï,Ÿ@ƒ
õ)¡¡Î“H“*5JªAP£JJUjB×4pÀµ«×¯`½6%$ ; 0707010000016a000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001500000003reloc/caldera/apache  0707010000d097000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000001c00000003reloc/caldera/apache/images   0707010000d098000081a40000000000000002000000013d1fe2e000000242000000200000000000000000000000000000002500000003reloc/caldera/apache/images/icon.gif  GIF89a6  Õÿ œ/O33Ìpp©‚‚¾¥¥éÓÓõççûùùýÙâa êòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nPP<ÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨»»•ÕÕªÖÖ¬ØØ±ããÇééÒ´´¬êêé¤ JtspÚØÓÕÓÎ¤¢žÌÊÆáßÜjhfåãá“’‘»šƒƒ€~ÿÿÿiiibbbYYYSSSAAA888...)))$$$   !ù   ,    6   ÿÀˆpH,È¤ry”Øl·¨tJ•âr¦¶HÉ‰@à°x<~f·Ú
ƒþ2Ž'9·‘j6úÇÀ%?wIym|?C?ƒxkC5P78:D?2?4ˆ~?vC…84¨©?—n2¨¢E¤:'0'?B&™¯&B‹´D¤!;
0.¨(?!Á? ÄÆÈÉBËÍ.*¼¾ÔÖ×?ÙŒÛÝ
**Ñ?#CæšCÇëÛî*+á?1~|pÃ‡>mûE`¦`ÅŠ&¤0 ÐÁƒú’¹KEÃW:uÂÈ®Â>°ˆ1#Å‹	lŠ H¾’Ëé„I`À_ƒl"Ô¨°ÃHIÄˆñQÀ…f¤EjC‡X±ÆèQâiT©8"§ä&»
%,<XË¶­Û·k/¥º³®Ý»sEQp ¡¯ß¿€ÿu ˆ
+^Ì¸ñb
¡„ ;  07070100011530000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001100000003reloc/caldera/at  0707010002122f000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000001800000003reloc/caldera/at/images   07070100021230000081a40000000000000002000000013d1fe2e2000001dc000000200000000000000000000000000000002100000003reloc/caldera/at/images/icon.gif  GIF89a6  ¥  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   ÅÅ”FKJÿÿÿÍÍš»»Œ«¬¨¸¸Šïò—³³†‹Œˆ¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ? ,    6   ùÀŸpH,È¤ryƒ¨tJ•
 ¦¶h8 à°xV$‚ìVËh8ÖÃ$"™PÔpdûÊ}znI‡IƒG{JIxŽBGˆ‰HšDœEž«GŒ¥C§C©­¬”F±³?µB¹¸ªº¼²¿Á?ÃÃÄÇ¾³ÊÌ‡ÎE½¿À…EÃÞª­ÏÙÊË«æÖ×ÈÑÛEç­»éÐ¥äîˆÞHØÉìFßò`©«ço¿u|4¬"„ˆ‡#JœøpÄ@M>iÜÈQ#=MH”I²¤É“%IúÀ ƒ—0cÊœÓ@&!A  ;07070100046b8b000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001400000003reloc/caldera/bind8   0707010004827e000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000001b00000003reloc/caldera/bind8/images    0707010004827f000081a40000000000000002000000013d1fe2e10000021c000000200000000000000000000000000000002400000003reloc/caldera/bind8/images/icon.gif   GIF89a6  Õÿ ))Ê33ÌÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒÖÖÑ¤ JtspêéæÙ×ÒÖÔÏ¤¢žÌÊÆÜÚÖåäâÜÙÔÔÑÌãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿíííéééiiidddccc```YYYUUURRRAAA999666...)))   !ù  
 ,    6   ÿ@…pH,È¤ry\Ìh¶¨tJ•âr¦¶ØÈe.à°x<®Ñ²[­£GI#Š·@»‘ëö]_ü{xlC?„FyC25Q8;K?v‰
‹
7/Ÿ ?“C?E™C›: &0?D¥E‡ªB›<))Ÿ?·Fºˆ¼¾À.%²1ÆÈ¹»Ìƒ
¿'ÄÆ?àáàCÊ¼šØÚ!ÑÓF¸
å×zÚ"($,ÅÇ  ÔðÖªÍ€z!M€û¼‹#T´ø°bÚ¾‹/þËäKœ¸c
>í{A„!Gl4lXÉRƒ­!#KnL´iB8sV%äSµ9eõ$2I“ÃH“*]Ê)„™„xœJµ*Ô@$ØÊµ«×¯] âµ ƒ³hÓª]›¶&!A  ;07070100057c76000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001900000003reloc/caldera/bsdexports  0707010000016b000041ed0000000000000001000000023d1ff9d600000000000000200000000000000000000000000000002000000003reloc/caldera/bsdexports/images   0707010000016c000081a40000000000000002000000013d1fe2e100000238000000200000000000000000000000000000002900000003reloc/caldera/bsdexports/images/icon.gif  GIF89a6  Õÿ g  ž77ïQQµooô’’ÿôôõDFFOPPbccahf]damqo:=;x{y‘’ÃÃ’¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Šššt••p’’nÌÌšÎÎžÑÑ¢ÓÓ§ÑÑ¥ÓÓ¨ÕÕª½½—––}ÙÙ¶ÇÇ­ÍÍ¹±±£îîßóòîÊÉÆ¹¸µàßÜÙØÕÑÐÍÖÔÐ‚€~ëêéÿÿÿúúúYYYSSS)))   !ù   ,    6   ÿ@ŒpH,È¤ryÔ$¼¨tJ•ö¦¶È9¬Pà°x<~f·ÚŽ„ŠF¤S/sn#Õl»ð­ùqôwkG3[?€GxE

?
3t“E"?u‰B‹C?4:¡;3™D"~›DB8,$ªC‡¯C±	91523!,0¾ÀÂÃ±":73*.40&ÖˆØÚÜÞ5. .è0%BÁíÃŠ)È±#ÇÆµ@@_  +ü](hÈ4lÌ`pàB>ä'à«b7=úq@Å-`  @²$¶l‰ÈØ)CˆUS+höcw³˜§C&i0±b(QwWJJõ)Å<›þÍ™H«»,ˆK¶¬Y±!&ž¤Ê¶-U“›8T¸@·®Ý»xíVøƒM‡€LX0MB‚  ;0707010000d099000041ed0000000000000001000000033d1ff9d600000000000000200000000000000000000000000000001500000003reloc/caldera/burner  07070100011531000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000001c00000003reloc/caldera/burner/images   07070100011532000081a40000000000000002000000013d1fe2e20000050c000000200000000000000000000000000000002500000003reloc/caldera/burner/images/icon.gif  GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—»ho¥pt{{{ÂµˆÅ³ŽÇ°”Ô¬š~hg111   µcjºfmâÈzÚÅpãÁzë¾‹ö»šþ·°þÇ¿°žÅÅ”³jnÄswýÙ×ûËÉ¾jpÆnàÂvëÀŒù»¢þ¾»þÓ¾ýò¼›¬ˆÍÍš»»ŒÁƒƒÉvyþìëýÝÜ»io»olÝÂrë»‹ü¸ªþÉ¾þæ¾ëþ¾Æþ¾½Ž¸¸Šƒƒ‚ïã¥Å?.ÆtwÃquðá”ÔÅ‰¹¯È¨—ú¹µþÜ¾îþ¾¿ý¿¹åÝ¸Ðê³³†Ô¾ û(êÛ—¹omÌ•€ÌËÅœš”"!B93º•Ž×ç°¼÷ÅºØë¶Åü·½ýJOKõO/ÝË‚ÞÊvÜË|ÌÁ–€‚~ŽŽŽ»»»ŒŒŒšÃ›µÄð¹¼ö¼¹ï¾ºæ¯­»ÔÚÉ‡ÕÂƒ×ÁzÙÂt¬¬«++)æææGGG??@º´ºË¾½ËÀºË¿»¶±¨<71ÏÀ©ÏÂ¥££¢

ÜÜÜZZZCCDÈ·†ÕÁ†ÕÁ‰ÕÂŒ»³222É¾ÅÆ¾ÍÀ¼à½ºç¬°Ì@KB°°°§§§‚‚‚¸·³ÝÉ€ÛÇqÛÃpÚÃo¿´Œ¬ªÆº·õ·¾ý¸ËõºâÞ¤Éš—vCB?³±ªêæÆïà’èÕ†âÍ{áÉwbjb·ÉøºÚé¹òÌÙþ¾ýæ¾ï·±Å¦–½²‹àÐ‚öéžþ÷ÈõèšíÞäÕ‰¸ßÝºüÀÞþ¾ýñ¼þÐ¾ýº²Ù¾oàÌyëÛŒúð¨þöãúï¤¯¯¯Ðï´ýö¾þÖ¾þÂ¾ù»¡ë¿‹ÝÁrÛÇvãÑ€ïß’ûñ©¥¥Ÿ¿¬™þË¾þ»·ö»œáÂvÝÉsâËyéÙ©¨¤7++hPPÒ¬šÆ¯’Â´‹Ã¶Š[[[¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ•@ˆ a•0¶|i°‚…2hØÀ¡A™ <È™pçÁ BˆA¢„‰(
¦ðÀ€©N—U¬`ÑÂÅ1dÌ QÃÁ8<àô:Ð)Á:vðèáã B†)b$æ¥tÚˆ$‰’%Lš8y%Š”)TªX!x…kb‚‹ÿaÉ¢e—.^¾€	#f™2fÎìÜõ³ÀÅÐ¤Q³†M7oàÄ‘3‡N;wf{¶ýo1ž<zöðéãç@@"TÈòÚ¶êB”"E‹	läè¤H’&}gÞ¬@J•,]Â”IÓ&Nxò	(¡ˆ2
)ó1Z)¦œ‚J*ª¬ÂJ+®¼K,²Ì2A‚áÙ'-µØr.¹è²/½øò0ÁÃÙrò4Ð0ÄcÌ1È ‘Œ2Ë0ÓŒ3Ï¼Þg¡ý4ÑH35ÕXs6Ùh³MA´ÑW¤@ÜtãÍ7$€Ž8ãcP•
zXP9æœƒN:ê¬ÇAd†ÇN;îÔiçxæYç;0éÁŸ€*è ƒ™˜ðÄ£è¢Œ6ê(£ð,Å 0`é¥˜fª)¦Ì%P@ ;07070100021231000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000001600000003reloc/caldera/certmgr 07070100046b94000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000001d00000003reloc/caldera/certmgr/images  07070100046b96000081a40000000000000002000000013d1fe2e10000012c000000200000000000000000000000000000002600000003reloc/caldera/certmgr/images/icon.gif GIF89a6  ³ÿ VVVÙâ_  x²²…)))ÕÕ­ÁÁ‘ÎÎœÑÑ¢cccÈÈ–½½Žfffÿÿÿ   ÀÀÀ!ù   ,    6   ÙðÉI«½8ë}UJ@(Ž$©phe Eë¾pü)ºHMH(4æ–N
‡Á8ÄqŽh”’\0/DŽ£Ám”…#x•d7Û.:/Ëm'ºËý6$‡n–kÒt[xz|}Et\‚y{|gkl‰‹…‘’ ]—„…ž««€¤Žp§©RQŠ£`ƒ°e§¹¢–˜¦rµ¿µÃ¥~WÄÍ‡ÏÌ±ÎLÐ±zÛÜÝÞßÜÔ¼ÇäåæâWàìío|
õö÷øù÷d ;07070100048280000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000001700000003reloc/caldera/cfengine    07070100057c77000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000001e00000003reloc/caldera/cfengine/images 07070100057c78000081a40000000000000002000000013d1fe2e2000004fb000000200000000000000000000000000000002700000003reloc/caldera/cfengine/images/icon.gif    GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢“—œ‡Š“tw†SXlhk—­£ª¾ÇÍâÈÐëÝßçÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—|}…67C-0>!!0W[mµ¼Ö¿Åà­²Ë›¢»‘™µcfw   œ¥
	#$1Š§¶¾×¹ÀÚ±·Î‘™´KOaOQf{x†pp|ÅÅ”CBHAEW˜Ÿ¹—¯†‹¡qxŽouŒaez-˜š­b_jpp}ÍÍš»»Œ"y“¥©¾´»ÓrvŒ#$6XXbzy‰PO^Ž›YVadcoƒ‚““›¸¸ŠŒŒ•IGOQScuxŒu{’SXkgfrzwƒ”–¥NP\nkwUQ_jgtŽŠ˜œœ¨³³†«©·sr€}uvˆˆ‰™]^nts¤¦¸‹‹›45C12?OPaacorr€qp|}}‰%(<JM]–«\`ron}fgutuƒš›©9:F••Ÿy|!!+op{^_j>=N35@CCVWZk;?Q~“££®’‘çèê€‰UTahl{W\q45FjlzTUgˆ…’oo|qxÇÆÊ††ŒMMYpw22AACS.-=67K-0Ahhv¡¨ÀNKWÂÂÈABNfhzKO_YZl.,9kkx^aqBBQ"JKVŠŒ™§§±~~'+=EHY//>¹ºË‰‰™0/@BFVss€’˜­joƒ—˜žsqHK`/0@9;H…†—acrLMWJIWŽŽžGHWDDQ±±¾onyjk{==L**;ZZiZZe!/LKVŒŽ›OR`55@ˆˆ“ÁÁÍ”•›?=I'NMX£¥²EEP‰‰nmx?;KSR[_cg¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ D0B0Ì a‡T®LØòåÀ BˆA¢„‰(Rä	@…¡
‹\Á¢…‹0bÈ˜A£†q¨`€•¨Ë9tìàÑÃÇ A„!RÄ ‘#*„¶%¨u ’$J–0iâä	”(R¦P©be`†+V,,K-[¸tñòL1cÈ”1CðÌZÍ9ÿC“FÍ6mÜ¼GÎ:uì´~{ ì;xòèÙÃ§Ÿ?€	D¨ k¶ÅÊ.dè¢DŠÙ1‚ÒÈÑ£ƒ×³k;R$I“(U²t	S&MÓ«—½‰S'OŸ€Š(£RJ~Äe'›)§ ’Š*«°ÒŠ+¯À‚ v
²'P,²ÌBK-¶Ü‚K.ºìÂz	'[/¾üL0ÂCL1ÆƒŠª¨á?É(³3Í8ó4ÑH358ª÷lUcÍ5Ød£Í6ÜtãM’ûíhÐ7à„#Î8*É 9å˜cæ™h¦©¦™ç¤*Ä)çœtÖYgŽ°€N:|öéçŸ€ú‰ÎUê` ˆ&ªè¢Œ*j€` ; 070701000592fc000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000001f00000003reloc/caldera/cluster-software    0707010000016d000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000002600000003reloc/caldera/cluster-software/images 0707010000016e000081a40000000000000002000000013d1fe2e20000024d000000200000000000000000000000000000002f00000003reloc/caldera/cluster-software/images/icon.gif    GIF89a6  Õÿ ­gk£S[œ0OssÛ’’Ñ½½Í¢£—±²¦£FËÓ5½Ä@£¥4×ÙÝÞ«××zßß¦»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎž……fÑÑ¢)) ÓÓ§ÓÓ¨WWE;;/ÕÕªEE7ÖÖ¬ÔÔªžž€ÙÙ´ááÅ¢¢ééÒòòårrpéç¦.-(»¦À¬Š¼›ƒ¸†~²yscccYYYSSSAAA...)))   !ù   ,    6   ÿÀŠpH,È¤ry´ärº¨tJ•îx¦¶xá©Jà°xF•žÙ­ãû¨‡›ÎG´³¤ßH¶/Œ[~|ymF&$ˆˆ F‚GzF!?-.™)F?w‘B“E'?0.	19‡‰ €£D¥D§©	<©4À5?!B?¶¤„# .)¨.
2=©6ØÂ'ÅÇÉÊn!#-?Ò
3©7ì6?ÛÆÈÉ“'êäæ©ê.8ÿ7Þq›g«žø~p`E? qŒ×Í[=T	hdÑ/ D åy«pá€(Xáb¡€—\Ài‘®èü¡B…ÆjŸ?gV¤gS!ÎH”@±¢…Ó§+ˆQ$8ê"Ð BœØÊ5D§©#'…húÔiT&4‰ºÉÊµëW%i¾È0¡®Ý»xóÖÕ0´àÕ¿€÷uA…Ãˆ+^œXB o.`˜L¹²åË•/ˆ ;   0707010000d09a000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000002000000003reloc/caldera/cluster-useradmin   07070100011533000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000002700000003reloc/caldera/cluster-useradmin/images    07070100011534000081a40000000000000002000000013d1fe2e200000227000000200000000000000000000000000000003000000003reloc/caldera/cluster-useradmin/images/icon.gif   GIF89a6  Õÿ ˆ ,))ÊQQµ|~¯«¬¨ïò—æçÌ»»Œ³³†ªª££zžžvÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎžÑÑ¢ÐÐ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ÔÔªØØ±––}uucÛÛ¾ááÅ¢¢‰‰yééÒïïàòòåÿÿÿÌÌÌfffdddccc```YYYSSSAAA)))                                       !ù   ,    6   ÿ@†pH,È¤ryt°Z¯¨tJ•Âb¦¶‰y6à°xîl\­ìV‘]ÖCŠ£5ÔpdûœùÿEr3yI{}3‹*3F3†znG~Œ+3x”CˆFŠ‹žœžB„£E¥EŠ)ªªC’²D¥3B2·¸ºB»¾“ÀB¥~Å¸œ»ÍÏÑÒ–3ÄÙ¸Ü)Ì½¿à¥ä'#ç›ªîùÎðÑò3( ê»ç§ÕŒvB¾ÅG €ö
Òl´~ÿØHÂÞÄ‚DbäÓpãFö˜!|w˜¿?0SNÉÏ¥¸"JèÜi D$"mò±ƒÑ£2ZSVHJµªU©šŽŠ³«×¯Z)AH° ¬Ù³hÓžMPœâÊK·î\¢„ ; 07070100021232000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000001d00000003reloc/caldera/cluster-webmin  07070100046b9f000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000002400000003reloc/caldera/cluster-webmin/images   07070100046bab000081a40000000000000002000000013d1fe2e20000024d000000200000000000000000000000000000002d00000003reloc/caldera/cluster-webmin/images/icon.gif  GIF89a6  Õÿ ™3fÿfÌ,,Ù‘i%%«TTÿ{{ÿggÃ ÌÌ3ÿfÊÊ—»»Œ³³†²²…ªª££zžžvššskÀÀÀÊÊ˜ÈÈ–ÅÅ”ÄÄ“ÁÁ‘½½Ž¹¹‹¥¥|’’nÌÌšÎÎž««„ÑÑ¢ÊÊÓÓ§ÑÑ¥ÎÎ£¹¹“ÕÕªÊÊ¡ÆÆžÓÓ©ÌÌ«××·ááÄÂÂ¬ííâààØÊÉ¼ÿÿÿõõõÌÌÌŽŽŽ}}}fffdddbbbYYYSSSAAA)))   !ù   ,    6   ÿ@ŠpH,È¤ry´àpº¨tJ•îx¦¶˜á±Nà©”B•Tát8‡Ënµš^É‚ÉdŽ‡iUª=!#;noIq5 ./$B7?˜?B€?‡Jq"6 .1¨0/#?2±°C? ˆ=£6.¾-¯±
³›?†¸D‰‹,ÓÕÅ™˜2CžÎFqs5(3ç/3­B±±E¶áEq!—Ú,ì®øÚñóè±G¤B!,ú“Åmˆ¼[…üqãÆLH&äaD‰=îÁ¢XÜ´q¤àñãD°dÔ€ ¥»w !F|9¦ŒjšÜòaÊù‘OŸ4mÆôI¤åÎ¯80Œta‚•NNT‰1¥¶†>½GáYx7Ñ:«ªÀ¬ô4øØ ¡®Ý»xóÖíÀ6.×¿€¹ê˜áA„Ãˆ+^œøÁ§2h˜L¹²åË•34 ;   07070100046bac000081a40000000000000002000000013d1fe2e100000019000000200000000000000000000000000000001500000003reloc/caldera/config  noindex=1
cs_page=cccc99
   07070100048281000041ed0000000000000001000000033d1ff9d700000000000000200000000000000000000000000000001300000003reloc/caldera/cpan    07070100057c79000041ed0000000000000001000000023d1ff9d700000000000000200000000000000000000000000000001a00000003reloc/caldera/cpan/images 07070100057c7a000081a40000000000000002000000013d1fe2e0000004e0000000200000000000000000000000000000002300000003reloc/caldera/cpan/images/icon.gif    GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢»»»¬¬¬¼¼¼ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—¥¥¥}}}NNN“““aaaIIIrrr___···   ÆÆÆŒŒŒ™™™tttEEE>>>ÅÅ”iii[[[qqq‡‡‡bbb•••½½½”””ÍÍš»»Œvvv‹‹‹eeeÂÂÂÉÉÉ©©©´´´¨¨¨ŽŽŽÐÐÐ¸¸Š‚‚‚çççÓÓÓ¹¹¹¯¯¯ƒƒƒÌÌÌ°°°³³†kkkDDDÏÏÏ­­­ÃÃÃôôô¡¡¡nnn???uuu111ŸŸŸ†††ˆˆˆZZZ===ooo$$$   ªªªVVVTTTžžž<<<MMM{{{^^^...hhhššš£££LLLWWW&&&xxx˜˜˜yyy‰‰‰sss~~~ßßß§§§ÍÍÍÔÔÔÝÝÝ———µµµœœœ¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒBˆ0PÂ
,\P¹2aË—1dÐ°a ‡>€ h@=þ(b‰&ž@‘BÀˆU„`Õ§K‚+X´pño€…0bÈ˜A¢ !x–%8u`nàCÇ=|ü Â4ÈÓ½û
$ $C„/†)bä’$1
*¹ äK,È€I'x<EŠ‚£É–xúß”:¨T±rÅ*Y´¬‚›ôn½‹lYÁ¥‹	/¾€€#‹æºŸ¬÷(FCŒ1dÊ˜ùwMðÏ¡Ÿ=¨fÍ?67ÚdhëF´sñó´Å?o|ñý”[|ÿŒ'PÿÈ1Ç?"$´`|þƒ@tüS‡…ÿí–¡]qˆá‰`AMä¡ý“‡ATAz $ !–ÆÀ|ô!äDi¤~ô!4éä“PFeŠ¥ð Xf©å–\jùTñ` d–iæ™hši€^ ;070701000592fd000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001300000003reloc/caldera/cron    0707010000016f000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001a00000003reloc/caldera/cron/images 07070100000170000081a40000000000000002000000013d1fe2e1000001fb000000200000000000000000000000000000002300000003reloc/caldera/cron/images/icon.gif    GIF89a6  Õÿ FKJ‹Œˆ«¬¨ÉÑJ£Fïò—»»Œ³³†ªª££zžžvÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšÎÎžÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÿÿÿdddccc```YYYSSSAAA)))                                                                                    !ù   ,    6   ÿÀ…pH,È¤rylt< ¨tJ•†D¦¶øi0à°xÎ`>žìVUÖÃ	År	1ÔpdûM$ùIKr$yI{F  Z$†znD€L$x‘CˆB•£$J„EŸ¡¥¤ŒJ¬DŸ±°¢²E Dµ·B¹¼º»}—ÁÃÄ“ÊÆ~ÈB$¿Ì¶ÎÅ£á¢¥Ö$ËÍÞÐÊ£îÕ±•ÀÝÃŸæï¥ƒ¢òóÂõØ	0÷'„xË†¨Ègˆ¸Yú%THï–=$~üYh‘F?I8²ºId'"$XÉ²¥Ë—+%Ti©¦Í›5Þz€@ÏŸ@ƒ
Š ³ (]Ê´©S¦8		 ; 07070100008bd0000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001500000003reloc/caldera/custom  0707010000d09b000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001c00000003reloc/caldera/custom/images   0707010000d09c000081a40000000000000002000000013d1fe2e10000024e000000200000000000000000000000000000002500000003reloc/caldera/custom/images/icon.gif  GIF89a6  Õÿ zR]œ/Op/zdJ¢o  ŸP22èhhõÿïò—ÊÊ—ÃÃ’¾¾Ž»»Œ³³†¯¯ƒªª££zžžvSS>ÀÀÀÊÊ˜ÈÈ–ÅÅ”ÄÄ“ÁÁ‘½½Ž¹¹‹µµˆ²²†ššt••p‘‘m‚‚bÌÌš55(ÎÎÑÑ¢ÓÓ§ÑÑ¦ÎÎ¤»»•ÕÕªÈÈ ÓÓ©——yÚÚ·ÇÇ­ÌÌ¸ïïàëëÞ®®¥ÖÖÒÿÿÿeeebbbYYYSSSAAA***)))   !ù   ,    6   ÿÀŠpH,È¤ry¼Üp¹¨tJ•êv¦¶¨Ù½Và°x…J±X©V‡Ënµ›ž)i¹4<,e•L':noIqsH!0	3|~?…J‡I.45	3(C?˜†rC?®¯ 4¢2'B#?„ªDš®Å5?1·/»–ÀFšÄÆ
80à¹C¨ÕE×Æ Ú
?*13äåçèCê6
þ
?†]`ÐàÅ8]DÌ¥Ò'D ýþüaaŠæc¨‰„ ÿ	8lØD’2lÈêÆ ÿ†Ù9“ä™)7êö2fIkš7+Øšs!GVDü¹ºÑjèIœ*W
KJTÈLWq]Ya*‘ DPxEV‚¨G¡C»éZè6øà ¡®Ý»xóÖ·Ú²€lTŸ†+^Ì¸ñâ—V*Ú@¹²åË˜-kø%$ ;  07070100011535000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001700000003reloc/caldera/dfsadmin    07070100021233000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001e00000003reloc/caldera/dfsadmin/images 07070100021234000081a40000000000000002000000013d1fe2df00000238000000200000000000000000000000000000002700000003reloc/caldera/dfsadmin/images/icon.gif    GIF89a6  Õÿ g  ž77ïQQµooô’’ÿôôõDFFOPPbccahf]damqo:=;x{y‘’ÃÃ’¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Šššt••p’’nÌÌšÎÎžÑÑ¢ÓÓ§ÑÑ¥ÓÓ¨ÕÕª½½—––}ÙÙ¶ÇÇ­ÍÍ¹±±£îîßóòîÊÉÆ¹¸µàßÜÙØÕÑÐÍÖÔÐ‚€~ëêéÿÿÿúúúYYYSSS)))   !ù   ,    6   ÿ@ŒpH,È¤ryÔ$¼¨tJ•ö¦¶È9¬Pà°x<~f·ÚŽ„ŠF¤S/sn#Õl»ð­ùqôwkG3[?€GxE

?
3t“E"?u‰B‹C?4:¡;3™D"~›DB8,$ªC‡¯C±	91523!,0¾ÀÂÃ±":73*.40&ÖˆØÚÜÞ5. .è0%BÁíÃŠ)È±#ÇÆµ@@_  +ü](hÈ4lÌ`pàB>ä'à«b7=úq@Å-`  @²$¶l‰ÈØ)CˆUS+höcw³˜§C&i0±b(QwWJJõ)Å<›þÍ™H«»,ˆK¶¬Y±!&ž¤Ê¶-U“›8T¸@·®Ý»xíVøƒM‡€LX0MB‚  ;07070100046bad000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001400000003reloc/caldera/dhcpd   07070100048282000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001b00000003reloc/caldera/dhcpd/images    07070100048283000081a40000000000000002000000013d1fe2df00000222000000200000000000000000000000000000002400000003reloc/caldera/dhcpd/images/icon.gif   GIF89a6  Õÿ 33ÌÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒÖÖÑ¤ JtspêéæÜÚÕÙ×ÒÖÔÏ¤¢žÌÊÆåäâÔÑÌãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿíííéééiiidddccc```\\\YYYUUURRRAAA999666111...)))   !ù  	 ,    6   ÿÀ„pH,È¤ryTÄdµ¨tJ•Þp
¦¶ÈÀa,à°x<žÉ²[m£7I!‘Iå¦@»‘ëö]Wü{xlC?„FyC03Q7:K?v‰	‹	6-Ÿ ?“I™C›9%  .?	?µ¶?¶B‡¨B›<''Ÿ?µ-µB?Ë	¼ˆ¾ÀÂ, °/ÈÊÎ	-ÜÐ½Óƒ	Á ÆÚÎ¹·ÏÑ¾šãå!ØÚËŸÝÏàÒ¨Ô"LPq,Y®ƒìv…ó'O¨Ù’5{8ä8=|b…‡Úº}#b‘!F„/ÐØ‘k_Å…™TeÐ@³fZ Ž”Œ9N…?@ƒR•dg¢M‰Œj°ÁÁ§P£JúôÌ£(³jÝz•ÂŠK¶ìX€|)`Ð ­Û·pã¾e€IH ;  07070100057c7b000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001700000003reloc/caldera/dnsadmin    070701000592fe000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001e00000003reloc/caldera/dnsadmin/images 070701000592ff000081a40000000000000002000000013d1fe2df0000021c000000200000000000000000000000000000002700000003reloc/caldera/dnsadmin/images/icon.gif    GIF89a6  Õÿ ))Ê33ÌÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒÖÖÑ¤ JtspêéæÙ×ÒÖÔÏ¤¢žÌÊÆÜÚÖåäâÜÙÔÔÑÌãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿíííéééiiidddccc```YYYUUURRRAAA999666...)))   !ù  
 ,    6   ÿ@…pH,È¤ry\Ìh¶¨tJ•âr¦¶ØÈe.à°x<®Ñ²[­£GI#Š·@»‘ëö]_ü{xlC?„FyC25Q8;K?v‰
‹
7/Ÿ ?“C?E™C›: &0?D¥E‡ªB›<))Ÿ?·Fºˆ¼¾À.%²1ÆÈ¹»Ìƒ
¿'ÄÆ?àáàCÊ¼šØÚ!ÑÓF¸
å×zÚ"($,ÅÇ  ÔðÖªÍ€z!M€û¼‹#T´ø°bÚ¾‹/þËäKœ¸c
>í{A„!Gl4lXÉRƒ­!#KnL´iB8sV%äSµ9eõ$2I“ÃH“*]Ê)„™„xœJµ*Ô@$ØÊµ«×¯] âµ ƒ³hÓª]›¶&!A  ;07070100000171000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001600000003reloc/caldera/exports 07070100008bd1000041ed0000000000000001000000023d1ff9d800000000000000200000000000000000000000000000001d00000003reloc/caldera/exports/images  07070100008bd2000081a40000000000000002000000013d1fe2e100000238000000200000000000000000000000000000002600000003reloc/caldera/exports/images/icon.gif GIF89a6  Õÿ g  ž77ïQQµooô’’ÿôôõDFFOPPbccahf]damqo:=;x{y‘’ÃÃ’¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Šššt••p’’nÌÌšÎÎžÑÑ¢ÓÓ§ÑÑ¥ÓÓ¨ÕÕª½½—––}ÙÙ¶ÇÇ­ÍÍ¹±±£îîßóòîÊÉÆ¹¸µàßÜÙØÕÑÐÍÖÔÐ‚€~ëêéÿÿÿúúúYYYSSS)))   !ù   ,    6   ÿ@ŒpH,È¤ryÔ$¼¨tJ•ö¦¶È9¬Pà°x<~f·ÚŽ„ŠF¤S/sn#Õl»ð­ùqôwkG3[?€GxE

?
3t“E"?u‰B‹C?4:¡;3™D"~›DB8,$ªC‡¯C±	91523!,0¾ÀÂÃ±":73*.40&ÖˆØÚÜÞ5. .è0%BÁíÃŠ)È±#ÇÆµ@@_  +ü](hÈ4lÌ`pàB>ä'à«b7=úq@Å-`  @²$¶l‰ÈØ)CˆUS+höcw³˜§C&i0±b(QwWJJõ)Å<›þÍ™H«»,ˆK¶¬Y±!&ž¤Ê¶-U“›8T¸@·®Ý»xíVøƒM‡€LX0MB‚  ;0707010000d09d000041ed0000000000000001000000033d1ff9d800000000000000200000000000000000000000000000001400000003reloc/caldera/fdisk   07070100011536000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001b00000003reloc/caldera/fdisk/images    07070100011537000081a40000000000000002000000013d1fe2e100000229000000200000000000000000000000000000002400000003reloc/caldera/fdisk/images/icon.gif   GIF89a6  Õÿ ++Öooÿÿ¿¿Ûóóö!—J»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÑÑ¢ÓÓ§ÕÕªØØ±ááÊþþûÖÖÔ­¨(¤ 1éç¦ÉÂ+­§%µ¯'¯©&ÌÅ-·±)Å¾/×ÑDÕÏIàÛsÚÕwëè¢ìé¥ñïÍõóÑûúîöõíìëëÿÿÿýýýúúú–––”””fffdddbbbYYYRRR@@@333,,,)))   !ù   ,    6   ÿÀ…pH,È¤rydØl¸¨tJ•æt¦¶èÐ],à°x<¾Ù²[í£GI%J%Ç@»‘ëö]gü{xlF…?0?‹F?GyD  ‹ŠŒo?v‘B“B‹©‰</21?o¤D¦‰0¼¼5¼Á³C·C¹?½¾¿03ÅBÇÉË/&!àà¿544ÖØÚÛƒB?2.+(&$#äæèêÚË1-,:œ0!bDˆ|çˆðK¶,@'J<£\BcÈúµÓåÄ"Ü—‘áÆSD‚¢Å
KÞÊ¥kÇ
• A| ÷fÌFl&õÙ¡ªè‘…37FBJŠf ¦‘ø€ ªÕ«X³V ³iÑ¯`Ãvä ‚³hÓª]› m<˜K·®Ý»uŒ ;   07070100021235000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001800000003reloc/caldera/fetchmail   07070100035533000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001f00000003reloc/caldera/fetchmail/images    07070100035534000081a40000000000000002000000013d1fe2e1000002f1000000200000000000000000000000000000002800000003reloc/caldera/fetchmail/images/icon.gif   GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   ÅÅ”ÍÍš»»Œ¸¸Š³³³³³†}U0Š\7©©©þþþÔÔÔ222–––ˆq^`9µ…[ÄœršoJ²¥œéééÍÍÍûûû’d=¤xQ³„ZÁ”iÏª€Í¬ƒÑ¬‚¶Žg¤‰qž’‰ÕÕÕêêêÏÏÏëëëTTT½b¿d¼Œb¸eÌ¥|Ì£y¶‹`¬„]ÊœsÁ—nñññÑÑÑÚÚÚäääÁ“e¾d½dµ‰b oE¢qGË¾´´˜€³—ïïïáááÒÒÒúúú¼b¼‹bº‰_üüüÎÎÎùùùª|T•nO•mL§zT¡vS–nPÉÉÉËËËNNNˆˆˆ¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š«ƒª°ˆ­¯¹‚² ½º®ÃƒÆ†»Ë¸ÎÍËÁÎƒÕ‰ÞßàÞÉÚ‚Ü†ìíî ãÊå»!"‚#$%&'( îÜ¥P¯Üz&¬`ÑÂÅ1dÌ QÃ†»8r|(8ÏU=vðèáã B†)bäH#HÚqÔ†d%=–0iâä	”(F>H™òJv3©y¬ ÒÊ,W¢^ùEKÀZ¶l$×ÑÁÇ\ºxùòL˜,b®²³%é2„OdR*.œ·Æv9sÀÞaç†ýí¸×à\Ð¤QÃ¸±ãÇ¯áJ³žåË˜3k–§Í ›6 C‹MZ4aå `Àºµë×°]˜&( ;   07070100046bae000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001300000003reloc/caldera/file    07070100048284000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001a00000003reloc/caldera/file/images 07070100048285000081a40000000000000002000000013d1fe2e00000020a000000200000000000000000000000000000002300000003reloc/caldera/file/images/icon.gif    GIF89a6  Õÿ Ó«®£@Zÿôüÿøÿÿûÿ‡‚ˆÆÁÇü÷ýæíªÉÑJêòtæèÇ»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÿÿÖÿÿêÿÿôÿÿö¯©&ÓÐ£ÿÿÿÌÌÌ¯¯¯………fffdddccc```YYYSSSRRRAAA@@@)))                        !ù   ,    6   ÿ@‰pH,È¤ry¤¸^±¨tJ•Îj¦¶h¡‰@à°x`¯ìV{±uÖÃÇó‘MÔpdû½Táþ*q8yI{L8 )8E8‡znŠ)

D8x”C‰K8˜	›q…¡E£J*+±)F’¬D®-»-B-ÀÀDµ“·B®-™™½B)ÎÏŽCÄÆÇ–™
(¼,F¥BÓÔ£-±±#&&%áßîãÆå÷ø§³ñ³ò¶ä¬µ   Á‚îÂý+FO €ƒO¸ã·š„r$NhÜ¨ÑÝŠùü
F’ß“ón¹‚ÆÒä‘”¬rQ‚êÂrêÜÉ³gN' é‘J´hÐ[@XÊ´©Ó§M¢FÁÂ…«X³jÝšÕ(!A  ;  07070100057c7c000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001500000003reloc/caldera/format  07070100059300000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001c00000003reloc/caldera/format/images   07070100059301000081a40000000000000002000000013d1fe2e000000229000000200000000000000000000000000000002500000003reloc/caldera/format/images/icon.gif  GIF89a6  Õÿ ++Öooÿÿ¿¿Ûóóö!—J»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÑÑ¢ÓÓ§ÕÕªØØ±ááÊþþûÖÖÔ­¨(¤ 1éç¦ÉÂ+­§%µ¯'¯©&ÌÅ-·±)Å¾/×ÑDÕÏIàÛsÚÕwëè¢ìé¥ñïÍõóÑûúîöõíìëëÿÿÿýýýúúú–––”””fffdddbbbYYYRRR@@@333,,,)))   !ù   ,    6   ÿÀ…pH,È¤rydØl¸¨tJ•æt¦¶èÐ],à°x<¾Ù²[í£GI%J%Ç@»‘ëö]gü{xlF…?0?‹F?GyD  ‹ŠŒo?v‘B“B‹©‰</21?o¤D¦‰0¼¼5¼Á³C·C¹?½¾¿03ÅBÇÉË/&!àà¿544ÖØÚÛƒB?2.+(&$#äæèêÚË1-,:œ0!bDˆ|çˆðK¶,@'J<£\BcÈúµÓåÄ"Ü—‘áÆSD‚¢Å
KÞÊ¥kÇ
• A| ÷fÌFl&õÙ¡ªè‘…37FBJŠf ¦‘ø€ ªÕ«X³V ³iÑ¯`Ãvä ‚³hÓª]› m<˜K·®Ý»uŒ ;   07070100000172000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001500000003reloc/caldera/fsdump  07070100008bd3000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001c00000003reloc/caldera/fsdump/images   07070100008bd4000081a40000000000000002000000013d1fe2e2000004fc000000200000000000000000000000000000002500000003reloc/caldera/fsdump/images/icon.gif  GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÁÄÄeitqpb\`j“–ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—nq|¦LŒP|bdir^bnJQVU\`ÀÁ¿   _ckpj_xubbhqcfpbcmaeq[_iDHPUX^ÅÅ” $ 78=`bnRY_SZa`dk_coaenbfq_dmgg[DFMKNRuy~ÍÍš»»Œƒƒˆ			pgkwmqLNVFJRLRXOS[SW^]aiZ`hZ`gad`|tNVZX¸¸Š[\a@@FshlLFICGOBGN@CJ?CIAGNVZcX[dWZb³³†meYebQRWYRV^AFM>BG=>D>@G:>F:BEJNQl^c>>DPT[IOUyy{ÂÀ¼QRVJJRZWONPVY]eEHN:AE8;@:>D:>C>9;KBBXORkbhQSZÎÆÁéãß¸¶´Š€ƒQUVFIQehs™š€ƒ*,/ZbfBELRRZUFGpip¬¡ªYZbÊÂ¿ØÕÒÈÇÇ²®«}|SUXADLˆz6]ZA7:@QRXnktwvvÄ½¸ÝÝÚØ×Õ,06-./gbA<>EABG8;A9>E-25WXU²®ª½¾ÀLFMzkn?AIBFLBFKBFNAFJprw58>PHLVV^gcGulIKMTJNUHLRFJQabhlmqNKKleGKQVMQXQSYPRTINSFJPÄÁÀßÜÚ¯¬ªfin@EKNPXKOVMOVKOUIMRáÚÖëæãæâÞáÙÕª©ªMQTKNUJMUsrrßÛ×æäáÅÃ¿•““Á¾ºéæã¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ‚ D0!!…
.`È reÂ–/jØÀ¡ƒ‡ Bˆ8xÀ>%H¢„‰(N¤P±‚E‹ƒ.F0ˆúÓ%Á0bÈ˜A£†8rèØÁ£Ç@?Fô$Kpª@ A„!RÄÈ$I”,aÒÄÉ“ <åkÐï¿(R¦P©bå
–,Z®láÒ%É×^ÄR.hù˜0bÆ)cæš4jÖ°iã†`ê±«ú}'Žœ9têØ¹ƒ'ž=|úøùµêà-4ˆP!C‡Ú%R´ˆQ#G E²»e’&Qªdé¦LxêhÚÄ©“'öØegÖAŸ€Š(£RŠ)§ ’Šo×¹7 Aª¬ÂJ+®¼K,WÈ’„í÷A³ÐR‹-·à’‹.»ðÒˆþ3â@¾üL0Âˆ11ÅsŒÎ82É(³3Í8ó4ÑH`"45ÕXs6Ùh¤„A1´7ÝxóÍ–"‚Ž8h¦©æšl¢9N„"Ž çœtÖi§!®f 9åôéçŸ€ú'9P€$ªè¢Œ6º¨{	 ;0707010000d09e000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001300000003reloc/caldera/grub    07070100011538000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001a00000003reloc/caldera/grub/images 07070100011539000081a40000000000000002000000013d1fe2e1000004ad000000200000000000000000000000000000002300000003reloc/caldera/grub/images/icon.gif    GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   ]p6Pg*Tq,ÅÅ”AV$dŒ0s’1t˜2hŒ0Öµ\—ˆ@Š¨DÍÍš»»Œb~<Y0‹›:Ü¼g™LhŠ0t’1w›4 Â^‹«@ƒ Rm‚5¸¸ŠTz,Rn,U{,s‰141 | 6‚®9’´HŸ¹Q„©AžÆ\‰´GƒªAqŠ5³³†'0?[)]Œ3l–2h~1q”2¸I©Å[š´M¯È\¶I£¼K†£@sˆC’¹Mc±7r1^p6>:$Ã³c±­`p‘.“·Nƒ¦<œ¶Ii†.Yq(_„.e†?m7°P©¾T¢¾R™±Ck’<–¼R„Ÿ]‚¤:Œ§IXR<™jM“†eIR(GZ%GT&G]'Ie*E^$^v-Qc'k’:Zt<Xs+z“:k‹1ªBœÃZž¾V…žE’´jv”4UH/[L10*LY0LW&"&ET'5;!oŒ/Nh(e+Vh'f~.EV#^y*€ 7–¹U¡¿V}9uœB46,IV$AF3Sb'?R"nƒ-cu)e‡3Kb&Th*Td4—½O…°C9=0?D#)/5AIW*Vl)M`&Wc+i€0@F1IZ$Xn)AW%9K"¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ•@ˆ a•0¶|™S L ôÔéÒ …4f¨À`èÁ5làÐÁÃ!ŠQ§SPÿ‘(aâŠ*V°háâÂ0‚~%5†Œ4jØ¸#‡Ž<zøøqÓ¹¡2„H#G$Q²„I'O D‘BÐpSÄÿvN¡RÅÊ,Y´láÒÅË0aÄŒ!SÆÌžA‡v‰&š5lÚ¸y'Žœ9têØ¹ƒ'ž=|úüËªŸ?€	DH`!C‡‹%R´ˆQ#G E¢Ž8¬$„“(U²t	S&M›8uòÄ~nØ…ŸüJ(¢ŒBJ)¦œÒßWÿå„J*ª,èTƒ9­ÂŠ„CQØ†=i˜‡9yˆ01ÐŠ+¯¤¨âŠ,¶˜",‡UWÁŒ4Öhã7~†˜±Èâã@)$± 0 ä’L6é$“x%P@ ;   07070100021236000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001800000003reloc/caldera/heartbeat   07070100035535000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001f00000003reloc/caldera/heartbeat/images    07070100035536000081a40000000000000002000000013d1fe2e200000520000000200000000000000000000000000000002800000003reloc/caldera/heartbeat/images/icon.gif   GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢þ¸¸þssý<<ýý''þTTþ¨¨ýýJJý$$ý00ýEEþ……áÄ§ÎÎÐÐ¢ÓÓ¨SSSÉÉ—þ››þƒƒí::¿¾Äøþ__ýMMùÇ³Ñ!!ûGGþ  ýµµÌÌš   ö¿¿þ®®Í))¬		¦¡§¤ë''å--¬§		ª

¤		åFFþÁÁÅÅ”û¨¨êKK°

°¦

®«¨­£ §¦¥§

¬ýccý¹¹ÍÍš»»Œþww»­ª©¢«¢¡¡¦¥­î<<úŽŽ¸¸Š÷êêþ[[¸§¥ ¨£¤ª£¨		Ã##çVV³³†Ý33»¤¦£§«¨Í&&Ümm¿33À¢›œ¥¢¤ÅÝ““ÆxxŸ

ž¬¤¯›ˆ¡®™›ÆvváÏÏ~

«ª„¸ˆˆw{Äzz•˜”píÚÚœrÆ%%ÀŽk~99Ê''Ãvl((«ŠŠÆ##lT¹““¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ‚ D0B0dÐ°C@„P¹2aË—EŒ QÂÄ	)T¬`ÑÂÅ1dt 0Ã@Q…GÒ¨aãŽ:vðèáãA„Hdƒ¯F],bä’$J–0iâä	”(R¦P©båß,3ˆâ%V`-[rpéÅË0aÄDC¦Œ™3ÿd é:Ù`å4jÖ°i³Ã—7o¼À‰#g:vîÄc·uÁÊÿòèÙÃ'H”0}ž€ñÆÏ@^Üø@ä„
þåPŸCˆõ	F˜EŒq¿ë] rGAJIÒ¡'‰âÇˆLBI%G_}ÈýcÉ%‰D&pdÉÑù¡É&	vÇ ^qÒIê%‚"}x‚È'Pd
A
Ögˆ…"J$'†a¢~`8JA1ÊØ @¤”Âž)` …)§ ’
z7¤@ª@Ñ‡)‘à¸
+ù!RµâÊ‰ˆ¼K,y)%É2‹)¯ÐR‹-	©iÜ”ÿÜ.¹è²­1°/½jè¡ˆ&Z¨/QÞ9Ã£F*é¤“.è¿ £é¦œvê)§¿x%# 0`ê©¨¦ª*ªH&P@ ;07070100046baf000041ed0000000000000001000000033d1ff9d900000000000000200000000000000000000000000000001300000003reloc/caldera/help    07070100048286000041ed0000000000000001000000023d1ff9d900000000000000200000000000000000000000000000001a00000003reloc/caldera/help/images 07070100048287000081a40000000000000002000000013d1fe2e000000261000000200000000000000000000000000000002300000003reloc/caldera/help/images/icon.gif    GIF89a6  Õÿ ™3f**Ð""¦22äkRRí22KKÒnnðuuÞóÆÆ”»»Œ³³†ªª££zžžv——q““nÀÀÀÊÊ˜ÈÈ–ÄÄ“ÁÁ‘½½Ž¹¹‹µµˆ°°„¬¬¦¦}™™s††eÌÌšÍÍÑÑ¢ÒÒ§ÕÕªËË¢ÆÆžÓÓ©žž••x²²˜ÕÕ·ããÊÆÆ±¼¼¨ÌÌ¼ÔÔÈææáÿÿÿüüüùùùñññ“““fffdddbbbYYYSSSAAA)))   !ù   ,    6   ÿÀ‰pH,È¤ry¬àpº¨tJ•îx¦¶xá­Hà0ø4*™Ï¥Ñ‰”Ãe·ZLOt¤,0ŽcÏi`!"';opIrtF(./’00+" !?‡J‰G)0
¦¦1#?ˆs .¸¹, ?†±DŸF/5/,¾ ›ÄFÆE+¼-/¾¯ÙEÛD…&+0/.-1çèBë°íCïŽ5ð "Á4d°RÇîŸO?nÜò£bŽ-xÁb!C!Êˆ(ñ‡9b@È(`c‘~Î2iR†“ RBPQƒÆŒ~/†œ9²(N1:´˜f Ý˜1EÒ,
 Go÷:”Î2Š†pƒ†…4Âzä'ôÄŠpáÞ±„«ÛYÂêÝËÄn»€±üfÃà#ÃƒÃˆ+^|XBÛ¿q#Kžä¿ hÞÌ¹³gÎ8Åì†¡´éÓ¨SŸ¾0LH ;   07070100057c7d000041ed0000000000000001000000033d1ff9da00000000000000200000000000000000000000000000001a00000003reloc/caldera/hpuxexports 07070100059302000041ed0000000000000001000000023d1ff9da00000000000000200000000000000000000000000000002100000003reloc/caldera/hpuxexports/images  07070100059303000081a40000000000000002000000013d1fe2e100000238000000200000000000000000000000000000002a00000003reloc/caldera/hpuxexports/images/icon.gif GIF89a6  Õÿ g  ž77ïQQµooô’’ÿôôõDFFOPPbccahf]damqo:=;x{y‘’ÃÃ’¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Šššt••p’’nÌÌšÎÎžÑÑ¢ÓÓ§ÑÑ¥ÓÓ¨ÕÕª½½—––}ÙÙ¶ÇÇ­ÍÍ¹±±£îîßóòîÊÉÆ¹¸µàßÜÙØÕÑÐÍÖÔÐ‚€~ëêéÿÿÿúúúYYYSSS)))   !ù   ,    6   ÿ@ŒpH,È¤ryÔ$¼¨tJ•ö¦¶È9¬Pà°x<~f·ÚŽ„ŠF¤S/sn#Õl»ð­ùqôwkG3[?€GxE

?
3t“E"?u‰B‹C?4:¡;3™D"~›DB8,$ªC‡¯C±	91523!,0¾ÀÂÃ±":73*.40&ÖˆØÚÜÞ5. .è0%BÁíÃŠ)È±#ÇÆµ@@_  +ü](hÈ4lÌ`pàB>ä'à«b7=úq@Å-`  @²$¶l‰ÈØ)CˆUS+höcw³˜§C&i0±b(QwWJJõ)Å<›þÍ™H«»,ˆK¶¬Y±!&ž¤Ê¶-U“›8T¸@·®Ý»xíVøƒM‡€LX0MB‚  ;07070100000173000041ed0000000000000001000000033d1ff9de00000000000000200000000000000000000000000000001500000003reloc/caldera/images  07070100000174000081a40000000000000002000000013d1fe2df0000031f000000200000000000000000000000000000002100000003reloc/caldera/images/blue-bg.gif  GIF89a  ÷  ÿÿÿÿÿÌÿÿ™ÿÿfÿÿ3ÿÿ ÿÌÿÿÌÌÿÌ™ÿÌfÿÌ3ÿÌ ÿ™ÿÿ™Ìÿ™™ÿ™fÿ™3ÿ™ ÿfÿÿfÌÿf™ÿffÿf3ÿf ÿ3ÿÿ3Ìÿ3™ÿ3fÿ33ÿ3 ÿ ÿÿ Ìÿ ™ÿ fÿ 3ÿ  ÌÿÿÌÿÌÌÿ™ÌÿfÌÿ3Ìÿ ÌÌÿÌÌÌÌÌ™ÌÌfÌÌ3ÌÌ Ì™ÿÌ™ÌÌ™™Ì™fÌ™3Ì™ ÌfÿÌfÌÌf™ÌffÌf3Ìf Ì3ÿÌ3ÌÌ3™Ì3fÌ33Ì3 Ì ÿÌ ÌÌ ™Ì fÌ 3Ì  ™ÿÿ™ÿÌ™ÿ™™ÿf™ÿ3™ÿ ™Ìÿ™ÌÌ™Ì™™Ìf™Ì3™Ì ™™ÿ™™Ì™™™™™f™™3™™ ™fÿ™fÌ™f™™ff™f3™f ™3ÿ™3Ì™3™™3f™33™3 ™ ÿ™ Ì™ ™™ f™ 3™  fÿÿfÿÌfÿ™fÿffÿ3fÿ fÌÿfÌÌfÌ™fÌffÌ3fÌ f™ÿf™Ìf™™f™ff™3f™ ffÿffÌff™fffff3ff f3ÿf3Ìf3™f3ff33f3 f ÿf Ìf ™f ff 3f  3ÿÿ3ÿÌ3ÿ™3ÿf3ÿ33ÿ 3Ìÿ3ÌÌ3Ì™3Ìf3Ì33Ì 3™ÿ3™Ì3™™3™f3™33™ 3fÿ3fÌ3f™3ff3f33f 33ÿ33Ì33™33f33333 3 ÿ3 Ì3 ™3 f3 33   ÿÿ ÿÌ ÿ™ ÿf ÿ3 ÿ  Ìÿ ÌÌ Ì™ Ìf Ì3 Ì  ™ÿ ™Ì ™™ ™f ™3 ™  fÿ fÌ f™ ff f3 f  3ÿ 3Ì 3™ 3f 33 3   ÿ  Ì  ™  f  3                                                                                                                           ,        S ; 07070100000175000081a40000000000000002000000013d1fe2df00000026000000200000000000000000000000000000002400000003reloc/caldera/images/folder-off.gif   GIF89a  €  33Ìÿÿÿ,       „©Q ;  07070100000176000081a40000000000000002000000013d1fe2df000003f3000000200000000000000000000000000000002300000003reloc/caldera/images/folder-on.gif    GIF89aú  æ  22Ê11Å..º!!†33Ì22È22Ç00À00¿//¼..¶--³,,°++«**¦)) ''™..²((›66Í++¡<<Í99¼??É--…>>®,,m;]]ŠÌÌ™ÊÊ˜ÈÈ–ÆÆ•ÀÀÍÍ›››uÏÏžÐÐ¡ÒÒ¤ÑÑ¤ÓÓ¨ÔÔªÖÖ­ØØ°³³’ÚÚ´ÝÝºßßÀææÊââÇååÌççÏïïÚééÕììÙëëÙããÒEE@ññâßß×ƒƒ€ËËÉõõôÿÿÿþþþ                                                                                                                                                                                             ,    ú   ÿ€ 	‡ˆ‰Š‹ŒŽ	  ™š›œžŸ ¡¢£¤¥¦§¨©¢„	

°²³´µ¶·¸¹¸®	”˜ªÂÃÄÅÆÇÈÒÓÔÕÖ×ØÙÙ–Èãäåæç =;:6ðñòóôõö÷õ7585=<0@ Áƒ~BÐ Ç:jÌ˜H±¢Å‹3jÜ(#F4HPP¡É“(‰!pð‚†0^ÈœI³¦Í›8sêœébEH
¤J´èB
.pØ€±"Š§P£JJµªU©)²¦P±¢E‹¦!f´¬Y…(¬©‚D‡·pÿãÊK·®Ýº"D("«	,0p¶°as(¨pá"…Û»#K¶«·D	xhxpà°çÏÃ/vaBÄäÓ¨#çuëÄ†
È‚žMûèèÒ©sëŽ›×Ãš®M¼8Ñ.ZàÞÍ<wk#6@°0Á¸uÐ‰Sx]Þ¼»äÖ!¢c ~½¼áì_¹{__<‹ã+˜Ÿ_Vtú¼ìóÏu?ƒ|ú ¦dß
êé§x!ô÷_€&”V
+¬p‚iVˆ`ø×à†¥eBV%PXá „†\P‡,’sÀ' `B	#ZXâ‰ªØâŽÇ¼x‚	'<Vc~æ¸"Hªâ£X	I¢‰(ê˜ä”§,Ù¤“ì™â‘TvŠ=ü$–YÞ˜=ø Äš?´éæ›pÆ)çœtÖiçxæ©çž|öù˜b
Ifs¢©&›~&ªè¢Œ6ê(Ÿ  ; 07070100000177000081a40000000000000002000000013d1fe2df000000e6000000200000000000000000000000000000002500000003reloc/caldera/images/gradient-bg.gif  GIF89a Ä  ÌÌ™ÍÍ›ÍÍœÏÏžÎÎÑÑ¢ÐÐ¡ÒÒ¥ÒÒ¦ÔÔ©ÖÖ¬ÕÕ«××¯ØØ±ÚÚµÛÛ¸ÝÝ»ßß¾ààÀââÅããÇääÉååËççÏèèÑççÐééÓëëÖììÙííÛîîÝÿÿÿ!ù   ,      c 'Ž]Éu·­›¦aXv]–UU5MREÈcèp4ŽER¡X$žˆCâ@-®VÃ`@è¸Á×(—æ ÀX·ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽy! ;  07070100008bd6000041ed0000000000000001000000023d1ff9de00000000000000200000000000000000000000000000001d00000003reloc/caldera/images/letters  07070100008bd7000081a40000000000000002000000013d1fe2e0000000a4000000200000000000000000000000000000002500000003reloc/caldera/images/letters/100.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       QPÉI«½8ëÍÉ9ˆv4!’f6–Vò!k*ÙJåÍAð,	‚´˜t’ÕaR@*”“Ø„AZJÎaC08ÍÆâ`°É$aqø<#„8ð¸ ;07070100008bd8000081a40000000000000002000000013d1fe2df0000009b000000200000000000000000000000000000002500000003reloc/caldera/images/letters/101.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       HPÉI«½8ëÍ»ÿJ Â,MÚI…‚@4•¤†d¤­„¤ƒÅbBL~ª¤QÂ(fn€O  †]cQ9%U PƒÎhJ ; 07070100008bd9000081a40000000000000002000000013d1fe2e000000086000000200000000000000000000000000000002500000003reloc/caldera/images/letters/102.gif  GIF89a
  ã  HLÐ@@ÈÈÈðàXXÐ  èàäøÿÿÿhhØ00È                  !ù   ,    
   3ðÈI«½8ç‚P©C""†5V† B*býI …P­ª)8ü	/@c‘’Ô8ŸÐJ ;  07070100008bdb000081a40000000000000002000000013d1fe2df000000ab000000200000000000000000000000000000002500000003reloc/caldera/images/letters/103.gif  GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       XPÉI«½8ëÍ»ÿÈq$ A ÔÑ¬Í²±3¼“³&RK·Fì§`0‰a…R0ˆªF €X")ÖU099,‘ j>Œ‰¸á Ø˜” K›®„DÀG ; 07070100008bdc000081a40000000000000002000000013d1fe2e000000093000000200000000000000000000000000000002500000003reloc/caldera/images/letters/104.gif  GIF89a  ã  ððø€„àÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È               !ù   ,       @ðÈI«½8ëÑˆ¢€"9fáhxE•¢˜Pé $10¥í+‚]IB%©I(<–ÇC’hl*«Èá»éz¿à ; 07070100008be0000081a40000000000000002000000013d1fe2df00000058000000200000000000000000000000000000002500000003reloc/caldera/images/letters/105.gif  GIF89a  Â  ÈÈð  èØØðÿÿÿhhØ¨¬è00È   !ù   ,       8ºÜþ+„²Œ!õÂ€È˜b…Ãž¢–’æº½°’  ;07070100008be2000081a40000000000000002000000013d1fe2e000000085000000200000000000000000000000000000002500000003reloc/caldera/images/letters/106.gif  GIF89a  ã  ððø€„à@@ÈÈÈð  èàäøÿÿÿ¨¬è00È                     !ù   ,       2ÐÈI«½ØB%B|á˜IÀ0ÔP¶ïäŠ0-ÇÒlæ¸¡×;®& „  #˜§ ;   07070100008be3000081a40000000000000002000000013d1fe2df00000098000000200000000000000000000000000000002500000003reloc/caldera/images/letters/107.gif  GIF89a  ã  ððø¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ00ÈptØ      !ù  
 ,       EPÉI«½8ëMÎAÙÁ0D8–˜Hš«B¼À¤–jAÍÄ¸Tj 0†Ømôc$,ªÆè€<ý !) ã‹Q@ZJŒÂxL.G  ;07070100008be4000081a40000000000000002000000013d1fe2e000000056000000200000000000000000000000000000002500000003reloc/caldera/images/letters/108.gif  GIF89a  Â    èÿÿÿhhØ¨¬è00È         !ù   ,       ºÜþk °!õf¬,Þ&vù…æ–Pë.	 ;  07070100008be5000081a40000000000000002000000013d1fe2df000000e5000000200000000000000000000000000000002500000003reloc/caldera/images/letters/109.gif  GIF89a  „  °°èððø€„à¸¼èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhlØhhØ¨¬è00ÈptØ                                          !ù   ,       b #Ždižhª®lë¾p,3a(Á“ã ’‰ˆ„,,FCbÂà@
"JˆDÂˆ@äB#bcT…˜Ñ"5»,ŠÂrQû†¬õtv}{uR„sn3Ž.! ;   07070100008be6000081a40000000000000002000000013d1fe2df0000008f000000200000000000000000000000000000002500000003reloc/caldera/images/letters/110.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       <PÉI«½8ëÍ»§E‘(Â TÓ‡Ú£ä…¡“:Lƒš7‹ÉÂ'
‰
UP2lü–Šæóè,B¥Ÿ¬¶ ; 07070100008be7000081a40000000000000002000000013d1fe2e0000000a2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/111.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       OpÉI«½8ëÍ»ÿK `)‡£:„@Û©£LˆŠH…úLUa¢"LB¢jP¹ Õ`ÒP$U€‚t–i0¬Œ¦PƒÞpJ ;  07070100008be8000081a40000000000000002000000013d1fe2df0000009f000000200000000000000000000000000000002500000003reloc/caldera/images/letters/112.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       LpÉI«½8ëÍ»ïJQ,Ò ã8Áê¥¾‚p¬Ê4ÇK±ºJ²"×11YŽIãwt„S²Ë:¹£¤–­43MýX" ; 07070100008be9000081a40000000000000002000000013d1fe2e00000009f000000200000000000000000000000000000002500000003reloc/caldera/images/letters/113.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       LpÉI«½8ëÍ»ÿ@ƒKQ(TC8lÀ2“Â‚úN®SHÍ-­Ž	À·`'Äk’ æ1±"FXLé ôZŠbWkˆ´€z" ; 07070100008bed000081a40000000000000002000000013d1fe2df0000007c000000200000000000000000000000000000002500000003reloc/caldera/images/letters/114.gif  GIF89a	  ã  €„àHLÐÈÈð  èàäøØØðÿÿÿhhØ00ÈptØ                  !ù   ,    	   )ÐÈI«½8ëÍ©„A‚ r”H`®’‰$·Ö›«;Lé`gH´D  ;07070100008bee000081a40000000000000002000000013d1fe2e00000009a000000200000000000000000000000000000002500000003reloc/caldera/images/letters/115.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       GpÉI«½8ëÍ»·
‚4I<Nš6’“–’ì PÀäªVAP9½Jh
LŒ‡¤’J~Ä!% Œƒ®eGû˜Ï“ ;  07070100008bef000081a40000000000000002000000013d1fe2df0000008e000000200000000000000000000000000000002500000003reloc/caldera/images/letters/116.gif  GIF89a  ã  ððø€„àÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È               !ù   ,       ;ðÈI«½8ëÍ% ƒpŠ"R€”„ LB)›SA e@I[¾S¯$¤GÄK¢4ØU Yqbð:Ø,% ;  07070100008bf8000081a40000000000000002000000013d1fe2e000000091000000200000000000000000000000000000002500000003reloc/caldera/images/letters/117.gif  GIF89a  ã  ððø@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ         !ù   ,       >ÉI«½8ëÍ»ï†  R8NÅ²Rº¢*‹¸ò·7þÚ;/Ó°PW$rˆƒ*0`¨zE@E '‚ÃgËÝD  ;   07070100008bf9000081a40000000000000002000000013d1fe2df00000097000000200000000000000000000000000000002500000003reloc/caldera/images/letters/118.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       DpÉI«½8ëÍ»ÿ—RÀ”Œ¥„8Ž1=Aì Ñm;ÊÒ°=Š€åb8lÂ1ÁB\¬ +b±™ƒµ‘YÅR °x<‰  ; 07070100008bfa000081a40000000000000002000000013d1fe2e0000000bb000000200000000000000000000000000000002500000003reloc/caldera/images/letters/119.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       hpÉI«½8ëÍ»ÿ`(jJQ `“Z$â8$Ì¼ÈŽ2%³€Ä€CHŽAå”ÇCBp*¼P˜-º½
&Î
²Ã…@Ö†¨Ñ"{:Pé™NŒS/Æ~k3sv…#‰Š‹‰ ; 07070100008bfb000081a40000000000000002000000013d1fe2df0000009b000000200000000000000000000000000000002500000003reloc/caldera/images/letters/120.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       HpÉI«½8ëÍ»ÿWRÊ¤ŒÀ”‘,ŠãU#?ËáiõÈYáÈLñ(À d,ž%†|"-ŒVÊèN¬IA&™ÏèE ; 07070100008c25000081a40000000000000002000000013d1fe2df000000a0000000200000000000000000000000000000002500000003reloc/caldera/images/letters/121.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       MpÉI«½8ëÍ»ïEH)¢ô8Ž è3	¨!5¨:Î`:D… Š*PIÄ`Ž`…‘ä.4ž! 	ŒÓqÈüÌÀ.Œ€Á(|( ;07070100008c63000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002500000003reloc/caldera/images/letters/122.gif  GIF89a  ã  €„à¸¸è@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ         !ù   ,       7ÉI«½8ëÍ»§Æ ŽU,hºPCáÂ"`„|\
\ª\‡X`¨„Ry“$T©ÒgJíD  ;  07070100008c64000081a40000000000000002000000013d1fe2df00000056000000200000000000000000000000000000002500000003reloc/caldera/images/letters/123.gif  GIF89a  Â  ÈÈð  èÿÿÿhhØ¨¬è00È      !ù   ,       (ºÜþ‹°F	õf¬,Þ&vù…æ–Pë.	 ;  07070100008c65000081a40000000000000002000000013d1fe2df00000084000000200000000000000000000000000000002500000003reloc/caldera/images/letters/124.gif  GIF89a	  ã  ððø€„à¸¸è@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,    	   10ÉI«½8§c–%ST€^§•V+ÕN
Ó•ÉÕÀÐ,ƒú* ð1„" Ð85 ;07070100008c66000081a40000000000000002000000013d1fe2df0000007b000000200000000000000000000000000000002500000003reloc/caldera/images/letters/125.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðà  èØØðÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       (0ÉI«½8ëÍ»ÿ &(pL:,ÀÐL!iºL"!
c„À pH‰  ; 07070100008c67000081a40000000000000002000000013d1fe2df000000b2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/126.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿ¨¬è00ÈptØ   !ù   ,       _pÉI«]¡{Áigy‡8€91Ú¦.D#'*#Ë®è4ÃÀ› ™Á Sˆl…B(ú$±ç%Á\ŠS­øn`‚e	.*Ä£À.hJ¬$oˆ'œåÚ8¿þ€‚‚ ;  07070100008c68000081a40000000000000002000000013d1fe2df000000b2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/192.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿ¨¬è00ÈptØ   !ù   ,       _pÉI«¥¡k!
W X‰I1Ú¦.D#§&#Ë®è4ÃÀ› ™Á ql…B(:ü`OK‚¹/ˆëB@­øn`‚e	.F2Fa]È6•ØÁO¸ÜÄÚ8¿þ€‚‚ ;  07070100008c69000081a40000000000000002000000013d1fe2df000000b8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/193.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿ¨¬è00ÈptØ   !ù   ,       epÉI«• !pm ƒÓQHS(2J§¤«Ähj¼MžÄLž×#Gc0® 9ƒ!§õ
TÃ0:oWK")	0/%¨DÀµ}h‚EŠF*Ë£@/„ÜÁ‚SOÈ)9o6…†‡ˆˆ ;07070100008c6a000081a40000000000000002000000013d1fe2df000000b7000000200000000000000000000000000000002500000003reloc/caldera/images/letters/194.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       dpÉI«•EÉ–î4Ž30„'%D!<La¾/"ð¢„bàŽöF(ð„GÉ´+!ŽÀÐ6½4 ‹Ò#\.@Z%Á+?,Ï2PI¦
ðÂÎÑ Ü†Êýü	ù(Zl5„…†‡‡ ; 07070100008c6b000081a40000000000000002000000013d1fe2df000000b6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/195.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       cpÉI«]¥‚Ê¥ŒÃ9È7ŒÒ0éºH,¼‹âÜÜ·òŽ#àÜÁµ["ŽÀh~ÐÅ@ù	-%†,%Á+ß–§¹¨$	…x|çhMª†J}êY¶m4ƒ„…†† ;  07070100008c6c000081a40000000000000002000000013d1fe2df000000b6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/196.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       cpÉ¹š ‡ÇZþP<_†GQfI²bH|½‹âÜ½÷­Ðãx	n‚ƒƒðâ1È€X£~ÑÅ`Y2%†,%Ñ+ßH0³€Q
p8Ïá™ØÌöe¶.:ƒ„…†† ;  07070100008c6d000081a40000000000000002000000013d1fe2df000000b8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/197.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       ePÉI«½8ëÍ»ÇG(ŽHÆ4hª0¨K,'`3,(ËDs(FÇÐ  ¨
(NªÔÅ*¢ÒÊµáT R…pØ‚Ã¢438ójÄ ^’@»$V)é5ê[Q|…†‡ˆ‰ ;07070100008c6e000081a40000000000000002000000013d1fe2df000000b6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/198.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       cpÉI«½8ëÍ@ À¥NšM• R jB)2Ñ1Ûƒa˜ RƒM!ÅP27ŠçFE


#%˜RJ#u(©%€dÀÌA eˆ¬æ<hr–zE ;  07070100008c6f000081a40000000000000002000000013d1fe2df00000099000000200000000000000000000000000000002500000003reloc/caldera/images/letters/199.gif  GIF89a  ã  ððø€„à@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È         !ù  	 ,       F0ÉIkBÆ K3\'á4Õ‘­ëb2p+/#(8NÔt8Ì¥£ÇÊ` ‰ñ˜Lƒhåú¬ET­aÞoiL.›Ë ;   07070100008c70000081a40000000000000002000000013d1fe2df00000098000000200000000000000000000000000000002500000003reloc/caldera/images/letters/200.gif  GIF89a  ã  ððø¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È         !ù  	 ,       E0ÉI+EÆ ;[œ|¡„ Ü‘­+(L,ÇÊ3‚¢ë„M—·Z(œÍ>cùŠPè!)ä‡Îh4©dp•¥°xLG  ;07070100008c71000081a40000000000000002000000013d1fe2df0000009f000000200000000000000000000000000000002500000003reloc/caldera/images/letters/201.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈð  èØØðÿÿÿhhØ¨¬è00ÈptØ            !ù   ,       LðÈI«¥ ;Ãw
a(gJQY»©Ü8:Ùâû‰Ý-%²9FÑ(—£-™7§-@¨V7µ¡2Y¼Q­«,TŽËÊ´zÍVG  ; 07070100008c72000081a40000000000000002000000013d1fe2df0000009b000000200000000000000000000000000000002500000003reloc/caldera/images/letters/202.gif  GIF89a  ã  ÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È                  !ù   ,       HÐÈI«Aƒ€¬9É–^pÈxì„pœM`bß!mGßº«ÖÚŠžÎFQ.›6`Šü[Dl”:%—£ï’Ô*›Ïhs ; 07070100008c73000081a40000000000000002000000013d1fe2df00000081000000200000000000000000000000000000002500000003reloc/caldera/images/letters/203.gif  GIF89a  ã  ððø¸¸è@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00È            !ù   ,       .É9K	!@ÞD†C¦X•,K9­­ÊºL#¶¿³~ç¼]­üEÈ¤r ;   07070100008c74000081a40000000000000002000000013d1fe2df00000080000000200000000000000000000000000000002500000003reloc/caldera/images/letters/204.gif  GIF89a  ã  ¸¸èÈÈð  èàäøØØðÿÿÿhhØ¨¬è00È                     !ù   ,       -°ÈI¢t(àATÖM‚Tº¶*‹Æð;Û’+çô½ºÚ/è«È$2 ;07070100008c7b000081a40000000000000002000000013d1fe2df00000088000000200000000000000000000000000000002500000003reloc/caldera/images/letters/205.gif  GIF89a	  ã  ððø€„àHLÐ@@ÈÈÈð  èØØðÿÿÿ00ÈptØ                  !ù   ,    	   5ðÈI(Ð†HTRL¤d±!bnâÛS}Þ{.÷í7Ä‰¼"ð Ü8ŸÐ¨T ;07070100008c7c000081a40000000000000002000000013d1fe2df00000085000000200000000000000000000000000000002500000003reloc/caldera/images/letters/206.gif  GIF89a	  ã  ÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00È                     !ù   ,    	   2°ÈI@€iPFÂÄaTZ	WÚy.SïFË6‡Ç³ÞK5^¸»ý
AãPÅl:Ÿ” ;   07070100008c7d000081a40000000000000002000000013d1fe2df0000007a000000200000000000000000000000000000002500000003reloc/caldera/images/letters/207.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈð  èàäøØØðÿÿÿhhØ00È            !ù  	 ,       '0ÉI«½8ëÍéQJAË@Ë"PÊ¢T¤é‹QP€a   ;  07070100008c7e000081a40000000000000002000000013d1fe2df000000b2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/208.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       _PÉI«U%I†®4M3,„§ D!8Ka¾rÌ@1óT„áA-!¯A°I€a#Ð› •fñ”ì‡DSñ´6Ó.¦yõ‰ËÔây[^cD·o3Lzß“ÁzÛÃþ€‚ƒ ;  07070100008c7f000081a40000000000000002000000013d1fe2df000000c6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/209.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       spÉI«]‰{! gy†h%…)MÀ0ˆ"6„cßLX	6‚‡íPÔ²‰Ð 4lJÂ6 lËÀ¦[0l©Ê×ö‚-ãò²<'1¶fåFQP+OÇ£²ŒJ<6o+=„X [7l(*“”•– ;  07070100008cb4000081a40000000000000002000000013d1fe2df000000c7000000200000000000000000000000000000002500000003reloc/caldera/images/letters/210.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       tPÉI«•àœtëiAG!C(NqJÈá,ÎtEcßMaÕÁƒM7!Ø€	@`ãH6F…a3)„ÙÈf˜Ü._I¸2ØÀÁdaSQŒÅäª@%³!•PH	f€{N#„iZ	‰+”•–— ; 07070100008cb9000081a40000000000000002000000013d1fe2df000000ca000000200000000000000000000000000000002500000003reloc/caldera/images/letters/211.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       wpÉI«]‰[9ŽÂIÀÀ,Ï ŒI±EÂ"ó òe8|ï–ãÐ(4@?J§š”x"I€×¨4x	27Ið“ÞE,!WÌÞØA˜0x…ÊÒq’ °•©áP'WML~lQ	i<\
Š#—˜™šš ;  07070100008cbe000081a40000000000000002000000013d1fe2df000000c6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/212.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       sPÉI«Éc©ia8Ä,ÄéheÛ!‡³8k`7h0©Oƒ7!€€	@ JL F…
L„6	Â7Éu¼pE< }ƒÉD¨‹É¡Z68’etBm )	e~LhN‚hY	‡.“”•–- ;  07070100008cbf000081a40000000000000002000000013d1fe2df000000c6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/213.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       sPÉI«=G±ƒ,m²4„7-‹R,‰éšÈá,g`ÞÃ°£@À  µ$£Â &ÄF‡‚ &9OX2®” qcp•Œ ”ä`­D	S:©6’	hMkO\ƒk[&	ˆ/“”•–& ;  07070100008cc0000081a40000000000000002000000013d1fe2df000000cc000000200000000000000000000000000000002500000003reloc/caldera/images/letters/214.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ypÉI«½8ëÍ)¸‚Á0AóA¥Në‘P	ÑEa¸MÅ´J Å µ”†Ãæ˜I­”DÙ:pêèiAÉ7³@Aº8K
Ç5åç(P˜ìE¢E¨| [ƒ.#.y€,.=~z9–š›œš ;07070100008cc1000081a40000000000000002000000013d1fe2df000000b1000000200000000000000000000000000000002500000003reloc/caldera/images/letters/215.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       ^PÉI+çXL+[Õ¡X [¦QHÆLM\ñËÝØRÜÌµÛ/ìá&:žÂÜ	›J&Ñi"‹ŠE,A9ÄV
FÌ€R$1%#,´±Wå0ð5‚¢p*ùÿ€ ;   07070100008cc2000081a40000000000000002000000013d1fe2df000000b3000000200000000000000000000000000000002500000003reloc/caldera/images/letters/216.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       `pÉI«]¡K!
7 8	§mT¢5“#W…ÌÄ3U;·$;4¨úr'ãâä›½%R²‹2‹N	Cš d¬ECv HYj[¬‚ü(Q(˜M€‚ƒ ; 07070100008cc3000081a40000000000000002000000013d1fe2df000000b8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/217.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       ePÉIkç [7M‘4‡¨˜RRXYJ!35xUàËS»FO‚kèx>#IüM‚CEñ(LR£Óeµ©|2\‚BBM8ÃF‘ à” Ž°ãl•Ã Ø0Tk*…†‡ˆ* ;07070100008cc4000081a40000000000000002000000013d1fe2df000000b6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/218.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       cpÉI+-¨$ÔìDNæ0žÔ0ÂeK!pµq“cW…MJ¶ƒëµÛÈNr£ o˜,.ÄEï×”%Èõ‰2lŠ—1iØ ‰‚`KP6ãkëTƒžã h%
i.ƒ„…† ;  07070100008cc5000081a40000000000000002000000013d1fe2e000000086000000200000000000000000000000000000002500000003reloc/caldera/images/letters/219.gif  GIF89a  ã  €„àHLÐÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È               !ù   ,       3ðÈI«½8ë,HÊ„‚€¢ÕˆÞ*p<J…  Ê`V8_>Ò¯WÂE`’8Ü8ŸÐM ;  07070100008cc6000081a40000000000000002000000013d1fe2e00000009a000000200000000000000000000000000000002500000003reloc/caldera/images/letters/220.gif  GIF89a  ã  ððøHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È         !ù  	 ,       G0ÉI«½8ëRÆaKE0¨2¤UÀG²2JÅbÇ\€< j8HÜdBF d¤Ùœ’cÚ¬QŽÒê$‹¥N­Ú+5Ë)›Ïå ;  07070100008cc7000081a40000000000000002000000013d1fe2df000000ae000000200000000000000000000000000000002500000003reloc/caldera/images/letters/221.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       [pÉI«½8ëÍÛcŒ!\ÀáœèTÆ Às6s®‹ìÐ”íH—Å·hÌ.DŸyZ NÄ°éLá$DIÂwèQ%€Ái‰m‚hÊ	Ñth9ºê¦‚€b\/…ÂÃïû/ ;  07070100008cc8000081a40000000000000002000000013d1fe2e0000000a2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/222.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       OpÉI«½8ë«Yà Z@$Zr¢T ãÌ³A53iÌ¯”P!G)<´ÑD0 DJÉÁ1£‹ÙA²ÃÊ.VtHEQØ¸ßðJ ;  07070100008cc9000081a40000000000000002000000013d1fe2df000000a5000000200000000000000000000000000000002500000003reloc/caldera/images/letters/223.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       RpÉI«½8ë]B@JfZ‘¤_³VÊàÌÑTÁ¬ L	b¤4š£(1ÌˆÞr˜„ÄIaf²÷Ac.IÇ@ ¦Jœ¸|N‰  ;   07070100008cca000081a40000000000000002000000013d1fe2e0000000a8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/224.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       UpÉI«½8ë¬ÂÀq8Ÿõ â(P$RÁ¶‚' UC8¼3Ì’Ø=(™„Á£¤˜=eä „R‰€×X6%*‡`èM
<‚š•zŒpëµ©Ûï” ;07070100008ccb000081a40000000000000002000000013d1fe2df000000aa000000200000000000000000000000000000002500000003reloc/caldera/images/letters/225.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       WpÉI«½8ë\”lIe8ÎÀUBÂÃÛ" UCäàMƒ@åxP
	ƒD –<å@
 ‚R‰€ÔP2%’`àM
$‚ú•ŒHŒpv(„bø|> ;  07070100008ccc000081a40000000000000002000000013d1fe2e0000000a8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/226.gif  GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       UPÉI«½8k|Žbb5²4„µ,J±$Û…€GZd¾ B:
É#"‰Õr¦1h
‡å×Hj%§Od†Cµ\7
vÀ‹Ùï÷ ;07070100008d38000081a40000000000000002000000013d1fe2df000000ab000000200000000000000000000000000000002500000003reloc/caldera/images/letters/227.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       XpÉI«½8ß„ N2`ˆ±0ÊÌ£™‚Ì)0Nž›S“#C®¶H
žÂRxt D KÉÁ1Z(£“ÜA"KpŽGÙ¼P<„ÆS:QÀ4ø¼ ; 07070100008d60000081a40000000000000002000000013d1fe2e0000000ba000000200000000000000000000000000000002500000003reloc/caldera/images/letters/228.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       gpÉI«½8ëÍ»ÿ`(NJƒ4‰$ ˆrNìÈ ;@)ñ³²G3P†ˆTA¦[fEàycX	1—*60Àn·Â„ª”i˜?™6À0N±6;@Àu† |ù
Z b#‰ŠŠ ;  07070100008d61000081a40000000000000002000000013d1fe2df0000009e000000200000000000000000000000000000002500000003reloc/caldera/images/letters/229.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       KPÉI«½8ëÍ»¿ÉqWÐœÍPÇ)žE4„´œScÅ~!'ƒQ M'€Â€›NÇ)PaÌ¦Ê
ÀPÈZ‚@³p\
ƒaõ‰  ;  07070100008d62000081a40000000000000002000000013d1fe2df000000a6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/230.gif  GIF89a  ã  ððø¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       SPÉI«½8ë-Ã9`4Dh@ Yò1¬U4t30ÕAÄ8 ”A¥ì&	Ú`±5BmÚXL4kF(˜¥‰îyb“YMÀ@Ž|N—D  ;  07070100008d63000081a40000000000000002000000013d1fe2e0000000a2000000200000000000000000000000000000002500000003reloc/caldera/images/letters/231.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       OPÉI«½8ë]YÑ@vP”¡ZÀÒÌÍT2!ÄH%3ƒÄ0»I³Áb1˜!&Hšô)a83ÀFà¸dId±±¨Ä¤/Eµâ¸ßðI ;  07070100008d64000081a40000000000000002000000013d1fe2df000000ad000000200000000000000000000000000000002500000003reloc/caldera/images/letters/232.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ZpÉI«½8ë=™BŽr³<`%…Éé!¦¥Nï0®	€à8=é -HÊ£w`0ˆ¥	ÃÇu&ÞÃlHŒ eè  ¦DeÇU^`cŽ~Ï—D  ;   07070100008d65000081a40000000000000002000000013d1fe2e0000000a8000000200000000000000000000000000000002500000003reloc/caldera/images/letters/233.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       UpÉI«½8ë-Z’\Ž³0Nq1Ìb0
‡‚[ÊP–@Ç¡€((E‡@rp(ÒtÜN»lj(©0É†$Àü‚DÔñ¡ä²ÇK¢ð•Ùïö ;07070100008d66000081a40000000000000002000000013d1fe2df0000007d000000200000000000000000000000000000002500000003reloc/caldera/images/letters/234.gif  GIF89a  ã  ððø¸¸è@@ÈÈÈðà  èàäøØØðÿÿÿ00È                  !ù   ,       *ÉI«½¸–êà	„eÕ9ˆS‘$hûÆ’S6äøÜß2`Í—) ;   07070100008d67000081a40000000000000002000000013d1fe2e00000007b000000200000000000000000000000000000002500000003reloc/caldera/images/letters/235.gif  GIF89a  ã  ððø€„à@@ÈÈÈð  èàäøØØðÿÿÿhhØ00È                  !ù   ,       (ðÈI«½ØB%I@‚8–1 ’$•·o\Óó$Û¹´ã™ p(‰  ; 07070100008d68000081a40000000000000002000000013d1fe2df00000084000000200000000000000000000000000000002500000003reloc/caldera/images/letters/236.gif  GIF89a	  ã  ððø€„àHLÐ@@ÈÈÈð  èàäøØØðÿÿÿ00ÈptØ               !ù   ,    	   1ÉI«½8KP
¨Á (T‘GRL¨t@FE$ª¯Ô÷;Ý%>ñ¨i:› ;07070100008d69000081a40000000000000002000000013d1fe2df00000083000000200000000000000000000000000000002500000003reloc/caldera/images/letters/237.gif  GIF89a	  ã  ððøÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00È                  !ù   ,    	   0ÐÈI«½84HÁt$_2LÂQ ¢M^ TCBÒvHÕ÷žã½	O'üù‚’ákÉ\F  ; 07070100008d6a000081a40000000000000002000000013d1fe2df00000078000000200000000000000000000000000000002500000003reloc/caldera/images/letters/238.gif  GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøÿÿÿhhØ¨¬è00È         !ù  	 ,       %0ÉI«½8ëÍgPGµ0RŒR$AåLAÌ Ü‡Ðý@M ;07070100008d6b000081a40000000000000002000000013d1fe2df000000a0000000200000000000000000000000000000002500000003reloc/caldera/images/letters/239.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       MpÉI«½8ë=U‘ÅW	ŽC0„bM0ga4ˆPåC”Ž`Â+!
Œ’X
H%Ó“D§ÕÅdœlÅì7ìuH¹ÔòYÆn»/ ;07070100008d6c000081a40000000000000002000000013d1fe2df000000a9000000200000000000000000000000000000002500000003reloc/caldera/images/letters/240.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       VpÉI«½8ë-šB@H[Rd€à­–@8´s(”BB3%ÉƒCÐ“™cR =&5&1Ð‚Z` Zc˜º*%Á¨9Á
  ãØïxI ;   07070100008d6d000081a40000000000000002000000013d1fe2df000000aa000000200000000000000000000000000000002500000003reloc/caldera/images/letters/241.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       WpÉI«½8ë]Yá@vP” xÅ%N=*”RBC¬Å£[ jˆ	Í19[³Æ˜j,A-0	Ô@C­1Ð¯£JI0lC¢*rîø¼$ ;  07070100008d6e000081a40000000000000002000000013d1fe2df000000ae000000200000000000000000000000000000002500000003reloc/caldera/images/letters/242.gif  GIF89a  ã  ððø¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       [PÉI«½8ëÃ	Z2M‚Â¢8p!„†0Ça^Gãû¥×pˆŽÊÀ7YøvŠ„O%!&„éÄ:Aø“‚Aø„¤Fëœk…`öä/”Ãïû+ ;  07070100008d6f000081a40000000000000002000000013d1fe2df000000ad000000200000000000000000000000000000002500000003reloc/caldera/images/letters/243.gif  GIF89a  ã  ððøHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       Z0ÉI«½8ëÁ8’SÍµ(ÃÚ€\v,†`F©7@•3Á/E”&ŠÒM‚()&?‘dà„–¤‰C©0!””@©— 1`ÓRÀd`'qIð®Ë˜~Ï—D  ;   07070100008d70000081a40000000000000002000000013d1fe2df000000ad000000200000000000000000000000000000002500000003reloc/caldera/images/letters/244.gif  GIF89a  ã  ððøHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       Z0ÉI«½8ë}Y‰a`£$ƒ!
‘('§!âr\@“îc¥3†Á¯'A¤b(†€bH)Ä¤	œ@ƒÉ"å’R7É!U R
Ua¤²jÁ. ¿ a™~Ï—D  ;   07070100008d71000081a40000000000000002000000013d1fe2df00000080000000200000000000000000000000000000002500000003reloc/caldera/images/letters/245.gif  GIF89a  ã  ððøÈÈð  èàäøØØðÿÿÿhhØ¨¬è00È                     !ù   ,       -°ÈI«½8ëÍ»ÿ^€ šHf@\à¾î0	c]¯ÒaìüN€Si¤Iá€È¤$ ;07070100008d72000081a40000000000000002000000013d1fe2df000000a6000000200000000000000000000000000000002500000003reloc/caldera/images/letters/246.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       SPÉI«½8ëÍ»ÿÂG¢Gu4,+ µ61;ÕÀJsƒL	ÖBÁ0X)	AÈ fI‚5˜ŽÅÀ"H¸>™ë°@RšÍÖ *I˜¤„7hNÏD  ;  07070100008d73000081a40000000000000002000000013d1fe2df00000094000000200000000000000000000000000000002500000003reloc/caldera/images/letters/247.gif  GIF89a  ã  ððø€„à@@ÈÈÈð  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ            !ù   ,       AðÈI«½8ëkY Z Ú€VÃ`Lí+)
2Ñö\ß»ž8Þ/è‹:d@<,pA€ )MIa Úx¿àI ;07070100008d74000081a40000000000000002000000013d1fe2df00000092000000200000000000000000000000000000002500000003reloc/caldera/images/letters/248.gif  GIF89a  ã  ððø¸¸è@@ÈÈÈð  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ            !ù   ,       ?ðÈI«½8km¢$X0f†qƒ*±î¡(È4×ÒmÓ;.ó9àÏ§…ÅŸà•\Ü‚$@4K$%…hÃíz' ;  07070100008d75000081a40000000000000002000000013d1fe2df0000009f000000200000000000000000000000000000002500000003reloc/caldera/images/letters/249.gif  GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðà  èàäøØØðÿÿÿ00ÈptØ            !ù  	 ,       L0ÉI«½8ë=1@Â‚
(Æ¥JQqH´=
+ñ¾_¯• ‹Ca4î’Ì£3úT˜¨ebÐzZ„ 7È'1ŽzÍ®D  ; 07070100008d76000081a40000000000000002000000013d1fe2df0000009e000000200000000000000000000000000000002500000003reloc/caldera/images/letters/250.gif  GIF89a  ã  ððø@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ         !ù   ,       KÉI«½8ë-U1B!\É.Å5$‡’(œ
€4×R±˜ù>ö<„.(ôÅà¹<NšIæ.…(»À€±#"a`¬±´zˆ  ;  07070100008d77000081a40000000000000002000000013d1fe2df00000085000000200000000000000000000000000000002500000003reloc/caldera/images/letters/251.gif  GIF89a  ã  HLÐ@@ÈÈÈðà  èÿÿÿhhØ¨¬è00È                     !ù   ,       2°ÈI«½8ë|ˆÈB€¢5F€ è1…H,UH_6y[yu¦«ÖKFÜIz¸¹i:ŸÍ ;   07070100008d78000081a40000000000000002000000013d1fe2df00000099000000200000000000000000000000000000002500000003reloc/caldera/images/letters/252.gif  GIF89a  ã  €„à@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00È               !ù   ,       FðÈI«½8ë}@H!DA¢Ž+•¨ƒD´Ó¬2}€Jà6œDET‚5„
@8êœ·\´FCR§V©0Ý>­\ð“C.›Ë ;   07070100008d79000081a40000000000000002000000013d1fe2df000000ae000000200000000000000000000000000000002500000003reloc/caldera/images/letters/253.gif  GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       [pÉI«½8ë-JR\Œ:Èe0JÃ4œUÌ”BKã ?ÎÐÑñ&Ç ç T:ÅB¨$†B‡´R”—†Ž€Âu	Ì×qÈ@0ÌAÀ\@Œ€ÁÅ* ;  07070100008d7a000081a40000000000000002000000013d1fe2df00000000000000200000000000000000000000000000002500000003reloc/caldera/images/letters/254.gif  07070100008d7b000081a40000000000000002000000013d1fe2df00000000000000200000000000000000000000000000002500000003reloc/caldera/images/letters/255.gif  07070100008d7c000081a40000000000000002000000013d1fe2e00000007b000000200000000000000000000000000000002400000003reloc/caldera/images/letters/32.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!þMade with GIMP !ù   ,       pÉI«½8ëÍ»ÿ`(Ždižhª®¬ ; 07070100008d7d000081a40000000000000002000000013d1fe2df0000005e000000200000000000000000000000000000002400000003reloc/caldera/images/letters/33.gif   GIF89a  Â  ÈÈð  èàäøÿÿÿhhØ¨¬è00ÈptØ!ù   ,       #8ºÜþ«„²ˆ!õ®£UèÃ,"iŒÞi¢ƒ Q d¬ÅBx®$ ;  07070100008d7e000081a40000000000000002000000013d1fe2e00000007e000000200000000000000000000000000000002400000003reloc/caldera/images/letters/34.gif   GIF89a
  ã  ÈÈð  èàäøØØðÿÿÿhhØ¨¬è00Èèèø                     !ù   ,    
   +ÈI«½8[A0GÇ1–gºš¨*‘O0 hÀ pH,– ;  07070100008d7f000081a40000000000000002000000013d1fe2df000000a8000000200000000000000000000000000000002400000003reloc/caldera/images/letters/35.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       UpÉI«½8ëÍicÅò0ã$€CZ±ŽA…àE+ìü@Õ$0¢Q1ñn—ãåxT‚Ø„!0’o‚p0SËÃñ<\$Ñ©Ûïœ ;07070100008d80000081a40000000000000002000000013d1fe2e0000000ac000000200000000000000000000000000000002400000003reloc/caldera/images/letters/36.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       YpÉI«½8ëMÊM@PŒ£ªÄ7*Â4„óPµ³0…Á08•€w­	à°R1\h50Yˆª1qî
ˆØ„éPð*¨€EÐ:Zuàb<œ¼~O‰  ;07070100008d81000081a40000000000000002000000013d1fe2df000000ca000000200000000000000000000000000000002400000003reloc/caldera/images/letters/37.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       wpÉI«½8ëÍk*Ý4 —p8‡05`%ŽÃ8D"WãKà4Í‚pŠ$/·ëý
Žá+6‹*5&” š „€s58‡Ã]¤°ù!‰ÕhAp  4†t{	igR

!˜™š! ;  07070100008d82000081a40000000000000002000000013d1fe2e0000000c2000000200000000000000000000000000000002400000003reloc/caldera/images/letters/38.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       opÉI«½8ëÍûLÃÅÖ8hh„C$Àƒ*Y{HÆœåNP ·àrhˆ¤EAD g%Ñ*®¨G…jœPoƒ’.¾.tòs0&h¢H	$ÃÔ¸Â3rQU{E
 k‘’’ ;  07070100008d83000081a40000000000000002000000013d1fe2df00000052000000200000000000000000000000000000002400000003reloc/caldera/images/letters/39.gif   GIF89a  Â  ÈÈð  èØØðÿÿÿhhØ¨¬è00È   !ù   ,       8ºÜþ«„²ˆ!õf¬, @dižhº$ ;  07070100008d84000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/40.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       7pÉI«½ø
¤êp ¥8G…8FÅ8Må8•¼UAS¶Sºët”ƒCP	8ƒa!ô(0C­D  ;  07070100008d85000081a40000000000000002000000013d1fe2e000000088000000200000000000000000000000000000002400000003reloc/caldera/images/letters/41.gif   GIF89a  ã  ððø€„à¸¸èHLÐÈÈðàXXÐ  èàäøÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       50ÉI«½x@[”À4À0Ü40¥0u0Ì(6>ÍõôÆC@9¥†¡£Œô ;07070100008d86000081a40000000000000002000000013d1fe2df00000094000000200000000000000000000000000000002400000003reloc/caldera/images/letters/42.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ApÉI«½8ë\–pËCtUã NP)2‚.…£ïë‰Ã€ ((*‡€p Q †Ã"À8†ÎvËíz¿àK ;07070100008d87000081a40000000000000002000000013d1fe2e000000080000000200000000000000000000000000000002400000003reloc/caldera/images/letters/43.gif   GIF89a  ã  €„àÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È                  !ù   ,       -ÐÈI«½8ëÍ»ÿ^$šHfæ…‡0²G1c]S0À¸K
5*AÈ¤2 ;07070100008d88000081a40000000000000002000000013d1fe2df0000006f000000200000000000000000000000000000002400000003reloc/caldera/images/letters/44.gif   GIF89a  ã  ððø€„à@@ÈÈÈðà  èØØðÿÿÿ00È                     !ù   ,       ðÈI«½8ëÍ»ÿšQ @	HA¨:-ÈE ; 07070100008d89000081a40000000000000002000000013d1fe2e00000003f000000200000000000000000000000000000002400000003reloc/caldera/images/letters/45.gif   GIF89a  ¡  ÿÿÿhhØ00È   !ù    ,       „©Ëí£¢†C­Ü¼Ã ; 07070100008d8a000081a40000000000000002000000013d1fe2df0000004c000000200000000000000000000000000000002400000003reloc/caldera/images/letters/46.gif   GIF89a  Â  ÈÈð  èÿÿÿhhØ¨¬è00È      !ù   ,       (ºÜþ0ÊI«¬PÆîV¸$ ;07070100008d8b000081a40000000000000002000000013d1fe2e00000008e000000200000000000000000000000000000002400000003reloc/caldera/images/letters/47.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ;pÉI«½8k‹¸ŠC`†`‡#\‰ã|œÃ`ƒ\€›\‚3`‡Cp@"Âñ@9,¬R`œ6Øì$ ;  07070100008d8c000081a40000000000000002000000013d1fe2df000000a6000000200000000000000000000000000000002400000003reloc/caldera/images/letters/48.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       SpÉI«½8ëÍ'Î€ –á8ÇyTÊ,ÈÙP¦SH*ÅœÓîPžÄ§˜œ~ÃÓ'\ø–Î¦8ÁEpB,
'CeG0€$
Àç`\-‰B¢C¯Û# ;  07070100008d8d000081a40000000000000002000000013d1fe2e00000007d000000200000000000000000000000000000002400000003reloc/caldera/images/letters/49.gif   GIF89a	  ã  €„à¸¸è@@ÈÈÈðà  èàäøÿÿÿhhØ00È                  !ù   ,    	   *ðÈI«½8k9"“$$2‘¨)%BPNÅš¨Ô[Ùõlá§~û9ZO¸)/ ;   07070100008d8e000081a40000000000000002000000013d1fe2df00000099000000200000000000000000000000000000002400000003reloc/caldera/images/letters/50.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       FpÉI«½8ëÍgcŽs @e„ÃT‚–HØL
Ã RâX
˜
£ „
—¢ì"\ZšÅEŠbbŽm;“`C`¯C.›/ ;   07070100008d8f000081a40000000000000002000000013d1fe2df000000a4000000200000000000000000000000000000002400000003reloc/caldera/images/letters/51.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       QPÉI«½8ëQ$B4q6Â ‡œÆÄ"-(–œËÁAÓUP¡Â¥Àà±0 PM‚‹ízPC9k&á`@1(‡•·eIŒœ¸œ ;07070100008d90000081a40000000000000002000000013d1fe2df00000094000000200000000000000000000000000000002400000003reloc/caldera/images/letters/52.gif   GIF89a  ã  ððø¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       APÉI«½8ëÍ+X`v4$†åµ Í4ƒ‘VBÃ¬m5

^!ƒ¡7“Œ  ²09²H‹	‚@%È„	Œ/³íx¿àL ;07070100008d91000081a40000000000000002000000013d1fe2df000000a0000000200000000000000000000000000000002400000003reloc/caldera/images/letters/53.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       M0ÉI«½8ë}—ú ‚Lcž1)Œ’±.†¡Rì€*Àj„Ã0	(€®ð2M„‘¤ÀLtÉá71˜Aõ@1è¾d´Çi»Û ;07070100008d92000081a40000000000000002000000013d1fe2df000000a8000000200000000000000000000000000000002400000003reloc/caldera/images/letters/54.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       UpÉI«½8ëÍ5:ŽóW2D(TMˆ,ÉY=á„Ü•¬€„ƒAÈaèM
ÃÁ'd  C½ô(“0B¤Iuqu(( GX BGÃÒH…+Ì.Ñ©Ûï” ;07070100008d93000081a40000000000000002000000013d1fe2df0000008d000000200000000000000000000000000000002400000003reloc/caldera/images/letters/55.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       :PÉI«½8ë}—ÿ^25dI¡ª)^F#`	y`‰`C³`ãh )€9œ0†`ãX¯XN ;   07070100008d94000081a40000000000000002000000013d1fe2df000000ad000000200000000000000000000000000000002400000003reloc/caldera/images/letters/56.gif   GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       ZPÉI«½8ëÍ§pMc@U„†–2SxPƒˆ(‡Ðo’P…A8ŠÕ€!0Bc³Öklà$¡ÅDÖØ)lÅ(ô,	ÓéZ„xgÏçD  ;   07070100008d95000081a40000000000000002000000013d1fe2df000000a9000000200000000000000000000000000000002400000003reloc/caldera/images/letters/57.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       VpÉI«½8ëÍ%@ƒã<E":ˆÈ„µNˆXJ¢ƒÃ“ð”(©•#6Q‡'ó’sìŠB 1ˆAQk:P"‚¡« ¢ÁØ’Utîø| ;   07070100008d96000081a40000000000000002000000013d1fe2df00000053000000200000000000000000000000000000002400000003reloc/caldera/images/letters/58.gif   GIF89a  Â  ððøÈÈð  èàäøÿÿÿ00È      !ù   ,       HºÜþ0ÊÀ*%Ü¼¨•’ ›¦`&¨>	 ; 07070100008d97000081a40000000000000002000000013d1fe2df00000078000000200000000000000000000000000000002400000003reloc/caldera/images/letters/59.gif   GIF89a  ã  ððø€„à¸¸è@@ÈÈÈð  èàäøØØðÿÿÿ00ÈptØ               !ù   ,       %ÉI«½8ë!‘$áXy §NFQT‘ ¥$Œ%à«U ;07070100008d98000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/60.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøÿÿÿhhØ¨¬è00ÈptØ      !ù  	 ,       70ÉI«½8ëÍ»ÿ $Ç…Ã”°(ªªÓBÄÆTG¼`¶Ø@wY4bÍrJ­4RhJíD  ;  07070100008d99000081a40000000000000002000000013d1fe2df0000005b000000200000000000000000000000000000002400000003reloc/caldera/images/letters/61.gif   GIF89a  Â  ÈÈð  èÿÿÿhhØ00È         !ù   ,        (ºÜþ0ÊI«½uè½ù ¸dY^@ªª^¶î‡ÍtÍ$ ; 07070100008d9a000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/62.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       7pÉI«½8ëÍ»ÿÛc(ã8G\Ípžp)†{ä¼E¥„n‚°9Åä`¨t†hJ­R" ;  07070100008d9b000081a40000000000000002000000013d1fe2df00000091000000200000000000000000000000000000002400000003reloc/caldera/images/letters/63.gif   GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       >PÉI«½8k‹ÎúRMi2BHG9 ØR®—QÂ–PW24à¼´™Ö!ÃX 0Œí"[ÆÖvËåF  ;   07070100008d9c000081a40000000000000002000000013d1fe2df000000fb000000200000000000000000000000000000002400000003reloc/caldera/images/letters/64.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ¨pÉI«½8ëÍ»—
Â0¢lÂà¬¬Ã$XàÆ¹$3Û”| „ãPþ$	D(,ŽÆ@pØ„«Ãa° 8!C"Üªæ…n¢Ct	\	T YKªN¡[î .+NNcit:tzu†2fB…"ŒV :Ÿ+œ…'M0 +‡!“U-+` #%½Ë ; 07070100008d9d000081a40000000000000002000000013d1fe2df000000a7000000200000000000000000000000000000002400000003reloc/caldera/images/letters/65.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       TpÉI«½8ëÍ;ú§8äÀ$©l„Ã&ÂáŠ#4À‹‘#viôƒæ…“Ž”DjJzXxÔ) b#¾_”£A*BëäéXU’ŽmgN¯Û7 ; 07070100008d9e000081a40000000000000002000000013d1fe2df000000a8000000200000000000000000000000000000002400000003reloc/caldera/images/letters/66.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       UPÉI«½8ë]Ùù`a-Mi6CB‘±,D9¬¥¨ C©J¬­°»_MRˆ-h§R €L.‚ÂÆ¡PÄ¤7(·C‰·qä•¦Õ«œ,˜fçC¯Ûï” ;07070100008d9f000081a40000000000000002000000013d1fe2df000000ad000000200000000000000000000000000000002400000003reloc/caldera/images/letters/67.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ZpÉI«½8ëÍWBc4Xãœè TÂIÅsÕqsOÊL5!’¤ål'Ä1¹t(5…ƒ’( á˜NBIàd\(¶lÖæ8èN`œ
_¬êŽ~Ï·D  ;   07070100008da0000081a40000000000000002000000013d1fe2df000000a4000000200000000000000000000000000000002400000003reloc/caldera/images/letters/68.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       QpÉI«½8ë­‘ÿp9dI"U2ÌQU9)‰¨$UîT5Gj!£0H…Iqrt$%KIS¡ÌM Ñ¨ð
‚G‰Z5‘˜ù`HpÞð¸\ ;07070100008da1000081a40000000000000002000000013d1fe2df00000092000000200000000000000000000000000000002400000003reloc/caldera/images/letters/69.gif   GIF89a  ã  ððø€„àHLÐÈÈð  èØØðÿÿÿhhØ¨¬è00È                  !ù   ,       ?ÐÈI«½8ë=ˆÿÞ0Ii–ÄX
GÛ"j’b¤œÕóUŸ¥(í<Ÿ¡€XÎ‚»•ŠÇA!ÆK¨¼ëfËíz ;  07070100008da2000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/70.gif   GIF89a  ã  @@ÈÈÈðXXÐ  èàäøÿÿÿhhØ¨¬è00È                     !ù   ,       7°ÈI«½8ëM†ÿ^0Hi–ÃXFÛ*bd¤L—3VŸ%µó¾’ @$m:Üy©åšÊtJ­^" ;  07070100008da3000081a40000000000000002000000013d1fe2e0000000b5000000200000000000000000000000000000002400000003reloc/caldera/images/letters/71.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       bpÉI«½8ëÍmBLˆâœ¨3(•qHQ/05ÅœÍD;ˆJ›N¬Š"k&&Kh*(!œl’p²s(¦­$Ì¨„©Ààd ŸÐ…ÕA­ß•ÄOËøZšXƒ„… ;   07070100008da4000081a40000000000000002000000013d1fe2df00000077000000200000000000000000000000000000002400000003reloc/caldera/images/letters/72.gif   GIF89a  Â  €„àÈÈð  èÿÿÿ00È         !ù   ,       <8ºÜþ0Ê)ƒY¼!ãÝ–¤2žª‰²ÃŠA nûí<;ò½—(#SG˜L§$.™Â(eJ­Z	 ; 07070100008da5000081a40000000000000002000000013d1fe2e00000005b000000200000000000000000000000000000002400000003reloc/caldera/images/letters/73.gif   GIF89a  Â  ÈÈð  èàäøÿÿÿhhØ¨¬è00È   !ù   ,        8ºÜþ°„ 1X¬ÕÍèqa7|&Z®£x’­	Íô“  ; 07070100008da6000081a40000000000000002000000013d1fe2df0000008a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/74.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È         !ù  	 ,       70ÉI«½8ëŒÏLŠXÈŒgI^&êJL­*
“‰E(01„Š#°80f–Ø’C­r" ;  07070100008da7000081a40000000000000002000000013d1fe2e0000000aa000000200000000000000000000000000000002400000003reloc/caldera/images/letters/75.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       WpÉI«½8ë­Bõ!ÊT83èA©$ ð¢jB8Dy§€*T1(Ä¶s0°CS°ÄÍx	‹qñÀi½€A²è]À…ŸJÂrÚ$[IõàØïøü% ;  07070100008da8000081a40000000000000002000000013d1fe2df00000068000000200000000000000000000000000000002400000003reloc/caldera/images/letters/76.gif   GIF89a  Â  ÈÈðXXÐ  èàäøÿÿÿhhØ¨¬è00È!ù   ,       -HºÜþ0Ê9„0œSòîÆycø‘à#¦ÎŠ¾æ 4=,â¦¾ï½‰pH, ;07070100008da9000081a40000000000000002000000013d1fe2e0000000cb000000200000000000000000000000000000002400000003reloc/caldera/images/letters/77.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       xpÉI«½8ëÍ{mHˆT€ˆã¬Ž@5¬3JªC8õØë¼Ô»Á°
ôR+˜#!¬œ2¤ƒ]…#mõs<$·“¶ëX ¸ÐD¶J^$žÇa±öÕ$Ü Z—JÎ7Ktcw
,sƒl…{U}[eq‚Š>˜™š› ; 07070100008daa000081a40000000000000002000000013d1fe2df000000a6000000200000000000000000000000000000002400000003reloc/caldera/images/letters/78.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈð  èàäøØØðÿÿÿhhØ¨¬è00È            !ù   ,       SÉI«½8ëÍ§)`P
8KºT’žê2Œ’»ÀK²õ+¡+Ý¬wûí;"ŽåÚ– ÓM"š€§qµ-h«ÜÞà+(bE0O"ˆAÍîŽ|N¯[" ;  07070100008dab000081a40000000000000002000000013d1fe2e0000000ba000000200000000000000000000000000000002400000003reloc/caldera/images/letters/79.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       gPÉI«½8ëÍ-:ÎâV4hÚÖÙÁ(;¨ L€€&“ ŠQa Z£DA “ÔE*¡V¬Ô´1˜,P„
®±˜ŽaãÀó5ˆcCGIdç÷ XAî\L	|ˆ‰Š ;  07070100008dac000081a40000000000000002000000013d1fe2e000000095000000200000000000000000000000000000002400000003reloc/caldera/images/letters/80.gif   GIF89a  ã  ððø€„à¸¸èHLÐÈÈðàXXÐ  èàäøÿÿÿhhØ¨¬è00È         !ù  	 ,       B0ÉI«½8ëMŽ÷RLi2E2ƒ¢˜Ç´Æ	QrI'fÎÐˆ›Oá”R’Õ‰a øZŠÀb¤ËÌ¬UÌU›Ýx¿à°% ;   07070100008dad000081a40000000000000002000000013d1fe2df000000b7000000200000000000000000000000000000002400000003reloc/caldera/images/letters/81.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       dPÉI«½8ëÍ7:ÎâHV4hÚ×ÙÁ(K%¨ L€€&” ŠQa Z£DA ”ÔE:¡V¬Šjú¢,P„
¡F16ASÒNÌ¶›¶!XøPÚC!T©ô	k…†‡† ; 07070100008dae000081a40000000000000002000000013d1fe2e0000000a2000000200000000000000000000000000000002400000003reloc/caldera/images/letters/82.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       OPÉI«½8ë]‘ÿˆ TMi–C™K;˜ÉdRK‰È%…Øx3‡RLÂjÁêd2ŒzGÉ±ôM‚Vbnöt¥ÂwÂài³ŠBiÁi»ßpI ;  07070100008daf000081a40000000000000002000000013d1fe2df000000b7000000200000000000000000000000000000002400000003reloc/caldera/images/letters/83.gif   GIF89a  ã  ððø¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       dPÉI«½8ëÍ:ÎâÀu4h*$ƒá Ke ¥t7Uš+	¡"x4Tcà`ü(„…ry¼|ƒb‚n%€ÝarjŒÉ¨³‚€ä ÅÆW"¥Õ…
 MAO…†‡ ; 07070100008db0000081a40000000000000002000000013d1fe2e000000057000000200000000000000000000000000000002400000003reloc/caldera/images/letters/84.gif   GIF89a  ¡    èÿÿÿhhØ00È!ù   ,       (Œ©ËíŸ€œœ³Gx‘}Â’=¥s6)³’˜ù¢±:³µËAúÎ÷I ; 07070100008db1000081a40000000000000002000000013d1fe2df000000a6000000200000000000000000000000000000002400000003reloc/caldera/images/letters/85.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       SPÉI«½8ë­¯ˆÇLMYåBšÚ¨RÙœé:·uÌN.¬È´—-èâ„º/§X””Cé0a” I‚PBP%ÂÂYUYÃ È 
…,gN¯o" ;  07070100008db2000081a40000000000000002000000013d1fe2e0000000a8000000200000000000000000000000000000002400000003reloc/caldera/images/letters/86.gif   GIF89a  ã  ððø€„àHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿ¨¬è00ÈptØ      !ù  
 ,       UPÉI«½8ëÍñùˆõ¡0ÌQ%h@¨Q(Q	h)Œ`(•*Xˆ™„ÆÐQxÍ]ÒT …@LÁd9^C³¢›C=àœZX­C¯Ûï÷ ;07070100008db3000081a40000000000000002000000013d1fe2df000000e1000000200000000000000000000000000000002400000003reloc/caldera/images/letters/87.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       ŽpÉI«½8ëÍ»_ÒPB8NM89A¬»:ÌÄ°‰°¬"),ÄÁH-Ö‰è(L
,ƒÄàxI€UaÕ0Äv =*7Ç"Ñk° ‹`…êP¸]@‡ Z¯ [gD2;†WB4ƒ0W} ,t-O<—~<“q1‹Ži£­®¯°± ;   07070100008db4000081a40000000000000002000000013d1fe2e0000000a9000000200000000000000000000000000000002400000003reloc/caldera/images/letters/88.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       VPÉI«½8ëÍ§8`Å€ÉMsLIjTBJ ’‘–•“Ê‘®–SJ€Zdb©¡Ñý6N•)c^„_Ãxq6)l')T)ÂÙ$âJœ4JÜ©ÛïøJ ;   07070100008db5000081a40000000000000002000000013d1fe2df0000009c000000200000000000000000000000000000002400000003reloc/caldera/images/letters/89.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È      !ù  
 ,       IPÉI«½8ëÍ'8 B% @-MPAZPEJ ’.ÚRÛ¼•Xƒ  Ü0:ÆÁ…\FÇÌ£CÊ´Ñ5^N¸[í˜Ïèt& ;07070100008db6000081a40000000000000002000000013d1fe2df0000009a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/90.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       GpÉI«½8ë]ú H!NišTÃ¬ë€b€ë ÙSé	¦%ìP
d7 F`R`ÀY†è8®X¥äÄu&ÝÓ—C.›Ï‹ ;  07070100008db7000081a40000000000000002000000013d1fe2df000000cf000000200000000000000000000000000000002400000003reloc/caldera/images/letters/91.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       |pÉI«½8ëÍ»nH˜(ˆ@!RLŒãŠ3Pˆë ¬À28ŠI¢p¸åpƒ‘ÒB.š“‚ãPJ¬‚#Á\>½‹ ‹]®³põ®Þòâáhï”†ÿuJ|rE&}|5pk6+5.N–A–vžŸŸ ; 07070100008db8000081a40000000000000002000000013d1fe2df0000008f000000200000000000000000000000000000002400000003reloc/caldera/images/letters/93.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       <PÉI«½8ë­ÏZÙÐ4Ì%Œh¤ˆT@C FcTG(ˆ\‰É¢!˜$ƒ	£á˜ 
¯I!È©Z¯Ø¬– ; 07070100008db9000081a40000000000000002000000013d1fe2df00000055000000200000000000000000000000000000002400000003reloc/caldera/images/letters/94.gif   GIF89a  Â  ÈÈðààäøØØðÿÿÿ¨¬è00È   !ù   ,       HºÜþ0ÊI«½8ëÍ»‡…!Žb°@ª¦Ã×$ ;   07070100008dba000081a40000000000000002000000013d1fe2df0000006a000000200000000000000000000000000000002400000003reloc/caldera/images/letters/95.gif   GIF89a  ã  ððø¸¸è@@ÈÈÈðà  èàäøØØðÿÿÿ                     !ù   ,       ÉI«½¸”@@'•1`hª®lëº ;  07070100008dbb000081a40000000000000002000000013d1fe2df00000082000000200000000000000000000000000000002400000003reloc/caldera/images/letters/96.gif   GIF89a  ã  ¸¸èHLÐ@@ÈÈÈðà  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ         !ù   ,       /ÉI«½øš¢¨KBsŒKQ‘*ÚN,E,!ÓöýJ±»¦?Be°U 	afi‰  ;  07070100008dbc000081a40000000000000002000000013d1fe2df0000009c000000200000000000000000000000000000002400000003reloc/caldera/images/letters/97.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ!ù   ,       IpÉI«½8ëÍ»·
"*À8(jPŠ,JJIQ KáRÅ3¤Ž—D€ ;ÉÁ1è‚ÔAƒJNŽGÕºPü„ÆO8Q>èô% ;07070100008dbd000081a40000000000000002000000013d1fe2df0000009f000000200000000000000000000000000000002400000003reloc/caldera/images/letters/98.gif   GIF89a  ã  ððø€„à¸¸èHLÐ@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00È   !ù   ,       LpÉI«½8ëÝÒŒã€"9fá( P¥è•‚pˆÊ”Ö‹‚(à¹$"Bñ„,IR‰‰h°ü,Ã¥Ã` Ì¢OQÃëô0…ófÍnW" ; 07070100008dbe000081a40000000000000002000000013d1fe2df00000096000000200000000000000000000000000000002400000003reloc/caldera/images/letters/99.gif   GIF89a  ã  ððø€„à¸¸è@@ÈÈÈðàXXÐ  èàäøØØðÿÿÿhhØ¨¬è00ÈptØ   !ù  
 ,       CPÉI«½8ëÍ»¿Âq$`4h³ ÔÒB€S‚:ºLÇŒõÚ…*H’2( :J¡xj0*SÔ@XŸ°¸ ;  07070100000178000081a40000000000000002000000013d1fe2e000000023000000200000000000000000000000000000002700000003reloc/caldera/images/main-bg-pixel.gif    GIF89a  €  ÌÌ™   ,       D ; 0707010000017a000081a40000000000000002000000013d1fe2e000000061000000200000000000000000000000000000002000000003reloc/caldera/images/nav2bg.gif   GIF89a ,¢  ÌÌ™33Ìÿÿÿ..º((¡W}11Æ,     , .(ºÜþ0ÊI«½˜Í»ÿ`(Ždižhª®lë¾p,Ïtmßx®ï|ïÿÀ pH,e	 ;   0707010000017b000081a40000000000000002000000013d1fe2df0000006e000000200000000000000000000000000000001f00000003reloc/caldera/images/navbg.gif    GIF89a ,¢  ÌÌ™33Ìÿÿÿ..º((¡W}11Æ,     , ;Xºjn$’AÇ¹'èÍ»ÿ`(ŽdiŽ@ª®lë¾p,Ïtmßx®ï|ïÿÀ pH,È¤rÉl:ŸÐ¨tJ&  ;  0707010000017c000081a40000000000000002000000013d1fe2e00000031f000000200000000000000000000000000000002500000003reloc/caldera/images/pixel-white.gif  GIF89a  ÷  ÿÿÿÿÿÌÿÿ™ÿÿfÿÿ3ÿÿ ÿÌÿÿÌÌÿÌ™ÿÌfÿÌ3ÿÌ ÿ™ÿÿ™Ìÿ™™ÿ™fÿ™3ÿ™ ÿfÿÿfÌÿf™ÿffÿf3ÿf ÿ3ÿÿ3Ìÿ3™ÿ3fÿ33ÿ3 ÿ ÿÿ Ìÿ ™ÿ fÿ 3ÿ  ÌÿÿÌÿÌÌÿ™ÌÿfÌÿ3Ìÿ ÌÌÿÌÌÌÌÌ™ÌÌfÌÌ3ÌÌ Ì™ÿÌ™ÌÌ™™Ì™fÌ™3Ì™ ÌfÿÌfÌÌf™ÌffÌf3Ìf Ì3ÿÌ3ÌÌ3™Ì3fÌ33Ì3 Ì ÿÌ ÌÌ ™Ì fÌ 3Ì  ™ÿÿ™ÿÌ™ÿ™™ÿf™ÿ3™ÿ ™Ìÿ™ÌÌ™Ì™™Ìf™Ì3™Ì ™™ÿ™™Ì™™™™™f™™3™™ ™fÿ™fÌ™f™™ff™f3™f ™3ÿ™3Ì™3™™3f™33™3 ™ ÿ™ Ì™ ™™ f™ 3™  fÿÿfÿÌfÿ™fÿffÿ3fÿ fÌÿfÌÌfÌ™fÌffÌ3fÌ f™ÿf™Ìf™™f™ff™3f™ ffÿffÌff™fffff3ff f3ÿf3Ìf3™f3ff33f3 f ÿf Ìf ™f ff 3f  3ÿÿ3ÿÌ3ÿ™3ÿf3ÿ33ÿ 3Ìÿ3ÌÌ3Ì™3Ìf3Ì33Ì 3™ÿ3™Ì3™™3™f3™33™ 3fÿ3fÌ3f™3ff3f33f 33ÿ33Ì33™33f33333 3 ÿ3 Ì3 ™3 f3 33   ÿÿ ÿÌ ÿ™ ÿf ÿ3 ÿ  Ìÿ ÌÌ Ì™ Ìf Ì3 Ì  ™ÿ ™Ì ™™ ™f ™3 ™  fÿ fÌ f™ ff f3 f  3ÿ 3Ì 3™ 3f 33 3   ÿ  Ì  ™  f  3                                                                                                                           ,         ; 0707010000017e000081a40000000000000002000000013d1fe2df0000002b000000200000000000000000000000000000002000000003reloc/caldera/images/spacer.gif   GIF89a  €ÿ ÀÀÀ   !ù    ,       D ; 0707010000017f000081a40000000000000002000000013d1fe2e00000003e000000200000000000000000000000000000002a00000003reloc/caldera/images/top-grad-stretch.gif GIF89a  ¢  11Æ..º((¡}33Ì33ÊW   ,       h6#€Rˆ½8 ;  07070100000180000081a40000000000000002000000013d1fe2e000001f38000000200000000000000000000000000000002700000003reloc/caldera/images/webmin-header.gif    GIF89aè# ç  Vþþþžžæz~~jjz^^†ZRR‚z~ÚÚö&&šFFš**¢ÊÊÒBBªššž>>¾¦¦²*.¾JJ®vvzff–¶¶º’’º::¾VZºBB~ÞÞâŠŠŽff®ZV¦rr¶zz¶‚‚šææê²¶Îfb¶22jžšÂ..¾††®nj¢RVÎZ^ÆbbÖRR¾¾¾Ê**ªêêþ*.‚jjÊvvÚ26¾jnÎBBÊFJÒ¢¢êÆÊòBFÒ®®º’–æŽŽ¾&*žzzÞ""^îîöz~Þ¦ªê‚†Þº¾îNNÒVÖÖÚ22¢22Ê..ªŠŽâffÚnnÚ‚‚ÚRRÖ6:ÂÎÎòòòú®²ê–šæ26Â²®Ö:>Ê26š††â’’ævrÚ::¦b^Ö66–Z^ÖJN–²¶êvVZÖjjÚ"&’rrÒJJÒÂÂò.2ºŠŠâ&&brrÞvzÞnjÚ®®ê::Æ~zÞ.2Â>BÎ>>Î~‚âFFÎZZÖnn¢22ž‚‚Þ::n26Î"&r~~âÒÒòRVŽ22¾&*‚âæöŽŽâ66º""vööújššæ^^Ö¶¶ê**fFFÒ..š""†rnÚ..†22ÎbbÚFF†NN®..º"r::Êvv¦..Â66Î*.¶VVÒ""~**²f66Â22²^6:Ê..¢BBÒ22Â66Æ22Æ**šNN–""z&&~::ÎbBBÎ26¶&&’6:ºn.2ž""Ž26Æ&&ž6:Î66¾..¶66ž..Æ22º66Êb^**‚*.†..®:>Î.2Æ26Ê22¶‚**¦..ž**žÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    è#  þ H° Áƒ*\È°¡Ã‡	"™Hqb‹AÚ´qÔæbÅŠ/jtäÈ„É>(ûl°Ä’å—0˜iÁÂÌ—!N¨°ÔÇ„%,>jZYSÅÌDkÊÌyâD•&,l Ir£Æ«X3^4±fJU­b½*2ãØ³J	6l˜·ãÊK·®Ý»xóêÝË·¯ß¿€L¸°áÃˆ+^Ì¸±ãÇHžL¹²åË˜3kÞÌ¹³çÏ €Mºtib“´¨ÖB,’"E¦A[@õ¤Ô`ÀlxÐ²•ïß­>ÿPÂB‰*’oÒùÁB+–¾C`	¡GEó ô€ø°üƒž>|þœÀÒ;ò+7Ü^Ï¾½bïoÿ„o–ZÚO’Á¿vüýü( 1¯¼â
"™Ø¢HD6èàƒF(á„Vhá…f¨á†vèá‡ †(¢B”hâ‰(¦¨âŠ,¶èâ‹0Æ(£ŒÎÔèL8ê¢£Ž%:³€^<ð D ÉŽºàèÌ)(¡„j^)¤D~Påpd™åqzØPámWåqÇU1ÇeÂš”‡Å›'ø°fv%èQDd”|öÉ'é…/`(áÅ%ÄmB&q—x¤O:)©£·HªÄ{4£i3L4ã+´Ð‚K$Ë,“€e	¤ªêª¬¶êê«þ°Æ*ë¬´Öjë­¸æªë®¼öêë¯À+ì°Äkì±È&«ì²º†âì³ÐF+í´ÔVkíµØf«í¶Öb‚É ¼DA¼ð²ÆtL;ÁÀD€Ç%°à‚œ €&5äLRH1Š)âÖ±Ã%i\âÂ
.h3’GN81ƒhÐ`Ãh<±BMØ@ÃÇhØ°ÅMÌÆ€lÑƒ 98QEM,R4 Æ»aÆ‘putÐA×"n—8aC—ð#»ð	ÃàA-XR‹[×²Ã7ôËu-‡2)Ê(³)ž3Ììx†.g,À#’xç­÷þÞ|÷í÷ß€.øà„nøáˆ'®øâŒ7îøãG.ùä”Wnùå‹S¢ùæœwîùç ‡.úè¤—núé wÒ	*G‘µ²
'´#cûíÈüò2íºÀÂÅHQÃ*”,Ìñ˜¢‰vi¤Ñze|’Çõ_DÜ3Àa†'3²Â
GÌ 3<c46°AD´¿UpQÄC¼ÿþÇ òð‰"|uÀÃ¶ƒ °7ÈƒÍfà„QÀp€;È"+È#Ê…4ÜÀ°XÞóìà®Êáx¦ƒ&LC9H¡\¼¨·ž¥gyâ‡þç
¢‡HÄ"ñˆHL¢—ÈÄ&:ñ‰PŒ¢§HÅ*ZñŠXÌ¢·ÈÅ.zñ‹`£¥¸Ô™ñŒhL£IWÆNØá•€ƒò°ƒ`,!ÈX…ËÈ¹%øqÁ¸Á'<6 ƒ”P&R¸H;d²¸ô¤…OX{-€X÷à`3Ì€f¨Ä'¾P	3´P€0„"(@FhDâ`"€|°ÁÁT@˜Cæ@Ì.¸s`Ä'Ø`ƒ4ìà™ÄÁ¬±'<Á	pÈ¦[`F|!ä“¦+‘É¤áxxÄ#¤‰‡cD Q8* Yæ5Ïšþƒ*r‘ŠTÐáÎèìU/Ðî œè§BÊÐ†:ô¡¨D'JÑŠZô¢Í¨F7ÊÑŽzô£ ©HGJÒ’šô¤(M©JW:Q=ºô¥0©LgJÓšÚô¦8Í©N_º„Uì"s`CTÙÜ «ègOaêÇ¦vâNHe"pˆUøAsØÅ.éAYÈbƒÑ;B%?Q†<|bN0ƒ²©=@€spt`64á=0Bˆ  4f[à ú7'‚[@&(À	4èÂÒPÔ#pðy; ìh ….tAp„ZÍOÉ±àLÃ'œ@NK¶Îu¯Ûþ,Phèáà]Åç"MÔU ƒºÓ%‚»„_,õ¥ºóã—ËÜæ:÷¹Ð®t§KÝêZ÷ºØÍ®v·ËÝîzWsM¯xÇKÞòš÷¼èM¯z×ËÞñ®â[ š +¼Àc`Ã
`ñG÷º4uø  00KP,`¡:;àöƒ¨Ø:¥7Í(\O„h5Ã5ÑŠ?# 
4Ð¦ÐW.Ä!E„ø@¡Þá—C@fpË;“sÀ±0%ZÔF!
nhÁ3ñ°âÁ	@è‹A+	lÊq²N¸¦$Ü@ƒ'€“€®…íë!‹y.2x˜-
aÁ¼ú6À]‚þí4GÜUô”¼Å+^{çLç:ÛùÎxÎ³ž÷Ìç>ûùÏ€´ MèBúÐˆN´zwÊèF;úÑ¶év9…F Â<H„@…BäàÅ‹©xeÑ‚!@Á`ÕubÁ°f^Ð‰ƒ°Nó’g…˜Z†¨Á
õkÄÊ*]…EÜ²h ‚Š€L6ü2˜¿¤ˆÐf3˜4 -|O×1Â²Ø$ù53¼a˜€èBhåXA'Ä“oÈ±H9ïOÄSziÀ—é‰Â¬Úõ\ð.‚‘ŒžþbÁîæ’»;ÛíNÑ¸Ä'NñŠ[üâÏ¸Æ7Îñ‹;a ùþÂk‡›|#oêÇM…;áä(Ot'^4Â6ˆD s€…›ÅëRUàÁP „2ð&¬¡Œ~è„&lÏyâxíX¯—É´RP„AåÂª]„&¨A w€¸°…9¼!9Ø¶àì_s’xBP™ôš5ù›÷n]¾ˆƒpùf  (	
Î ÝO8‚ºÐ‚o^/böv Ù¼ 1ï°h5™¡	MOÆ=8ñÀÛT9¼rnêñfOûÚÛþö¸Ï½îwÏûÞûþ÷À¾ð‡OüâÿøÈO¾ò—Ïüæ;ÿùÐ¾ô§O}Ý;º	È¾öþàÒ%8AûàÀRáÒE„¿þ~ø¹iú¡D(„Hð\0@
BÏ³O…ØAÔ~a úÃµÀ0
	–HÁ U‹Df¨ðoêôöcÆ]ÇZd\Ðc@Cpo0FPE€Wlphj°Pð¾40æF†0ç¶my`=¯sCf; HOoÄ€ð’@|°Eð‚NÐ:sta—÷	®ƒN;0O¨ kæj¯æ`°À[vd\Å^'^rÖ	²gßÕ†nø†p‡r8‡tX‡vx‡x¨]u¦~àgC·
V~ÚGá¥á·þv†|¸}CGhÁ9P…@‚ð‘p	/ àGq€
þ@@cPà0PŠ0@« :¨`°€[u€uêäƒ­sIŒ1óÖS=@ XC  :ÐjG€©ä:Pð‚¨4j7ïÓ€°Ù†ZÖ“=’0YÑSknDVdi0‹L×¦2†Àbrä0Gð, LÕóc!t…pOd6f¯¶¬zvôf~¤†­×qþø 9Yy×hK`‚¸{´S ˆÙÇ”°G	~ìÇh=µˆÙ—‘íWSð	‹…ð*€ð—0>~BÀBÇþSGð9`ZÀÌ`O·Qw<]HfdV_VÓSIf…Vs4>fÐÀÖ‚uÇX[ð\ÐÈÖ:€•LƒÀYdÊô0›åŒs`A¯sY…7dá‹l°9wÎÖcßÔ:YxŒÀƒ³ …`Ø…öØjH®–å®W^üˆ˜ù˜™’9™”Y™–I™nÖ’Ú7´
š)ˆø™p8g N`hupF  à•xžpM á7N€˜«€€p	0 ¥øtÁu~@˜Rzÿ¦…¨u—„Vpð?–E v9 cqþ MÐv¸CàFiB•tç6-PŒð´„w—c4 %”–ôLá¶yy°‹@q\Ðl@àwù:]6[×ócZ&ObkY5˜ÈS˜§÷f¥i<á…˜ˆ©:e¤˜Õ×¡ú¡ ¢":¢$Z¢&z¢(š¢*|	H¹™C—ÉˆK‚x\všù‘2_  à $€0PÁð	‘¨10€ð¯æ\PãÉ gð00P	V˜”à° U»ÐŠö4k±IÙbyIoÐUP¨t=0us`Nˆl0\ð‚f2:XBGðþ *ƒÈt¨ïÓy=tŸø©AN6(wYfyiÉ–i‚=([­(pªx<ÉuW£Måf€ä˜~dGù¨¡­Ê†y8«´Z«¶z«¸š«ºº«¼Ú9s¦ªD šzt3š}MÐSŸp›Ú^:º¬~ff l$À> €	n¦	G0’Ê3°«e :Pp	XJºÀž h˜†ùjÆ<V—Y>XIeÕu-`IŸ \  FÐ§PPj_‰µlâÙI‡Âäc­“Ø©c¿„LJø	ƒ§A…×\öw°JsM;èƒÐÓ6n÷vNYøþUe¦ÐjÇé¥›ƒªúXš®ª˜|TF—Ù³>û³@´B;´¹Sj7ªG ~1~càGI1uf7V;Dà2Õ¬P W‹r[k‹óv `µDà‘iÐ ¤$àh G`…g=TÆD b…q€p  —ÀÀÐµ0j`¨ :cÊ`ËãŠv€NÏiÖƒÄ¯nÀ\ðWCµ9Œl ž† T4bMÐO0Bñda“wcÓ–v'ƒÄtOPŸ´A²ÕGð@ðUFäóZF&„â&ø6O¯øouÀ`¯¡ñZ˜WÅ^”`GÕþ^I´Ú»½ÜÛ½Þû½à‹^ªê}‚˜š«  àá§ z„´àÇ$¬3©^§ÙM+ˆ„(^åë¢ S`K`~ # išö6) +ã›j@’œpW <p÷¥ 3 ‰à—yà…H¯ZhkÓ”¦sdI3ÐcPCUvç³Û§wÐ”V°ž
úŽÈÔ±k§ƒ•ti·‘——Õ8°]ð1”‡eŸp0‚WÄ-[OáæAH[)4¦1Û	W¥:Q—HMUpŠ³²çTjX½Õ»¢hœÆj¼ÆlÜÆnüÆpÇ*ªSºåkÇàw/š}~DÀŒ¨Gþv€¾Åš}€@~ztšƒŒ~/%ˆ†8£X›}‰ ”Ì“œ
0òG‰ÐiIp) d@™€Á;œü¿_ UÆœÍ“Nµv”Õ1#T	6Ðz;}ê„c°¸x:¨¤º-Ý–I|±ÊL3PD0XüNIFe –Td² rO`y–´|9xDI;@”7Ày¸z½4ëÅX%gªúj¡]º†|Ô«ú¼ÏüÜÏþüÏ ÐÛÅ^ã›™‡¸
‹K ¿ŒØÈÚ÷~$ÈÚÇD š‰rä;È‚èá¥Ñƒ,ÉSà •Ì5‡ÉI0àþ  ° d	‘I€Êª~j@uó8Ohk—›Ió=†` «?&˜t:º5ûÊ›PðKØ.8`É˜ŒÈDÍŒŒ†°qÐ\MV æÔm$±Ÿ°¹ÒVNa€eâ¬ ž:Oø9[7PO(Dz¡¦­ÖÅ4Û¥ü˜ªáµGù{áØ‚=Ø„]Ø†}h9UÇ.zÐ~ U°
n~ð»Ç‰°T~j`<vÀÐÙ7.…ÈÀ<=‘éf{œ}1`PÀ™D@FpÀ/p´}" ›à°Û0 Ð	g ) Ÿ™µK+ˆÐH®¨Ó¶V¹†ZNþ@¿lD t72qÐv’°žÒó	a l¦¶x.˜Œi—tÑfôÓF0ž…êŒÁ«a¶¸„ÛæÓŒe0>¯å:–¥A†×ÿfOW,³Š©:g¬³lX˜ée½Ž™½‡á>á^á‡]Ð=5Úœ¹Ç-Çà‡~ŸCWá÷	MåáÚWÙP+ˆ^§=štÚ‰`š“ih†	
À³- 	 ðãpZº.= ˆ† GÜàg`ØœâFø†”-P	¼&Ax5¥¼<°P@ÍC0;±æ†¿	,Ã0<°¿—ÎŒ?j@}ú>Ä4»"+	þÈ$¶J™I_à0üª š÷UùA²å`(´HYEª^Êà¨ê¥¬Ú_Ê…¡d¼¡	.Çš¾éœÞéžþé ê¢>{8¥Ø~¤¾àÇ™Ÿ™n–¿Ù§ 6
~R»GP¾bëêÙW‡ìäúˆêà§µ=uÚŠìG§]ÝÇœ/0Û  Ó‘Ð´Á#0d8Ú À	F‚hóøŠ²0a&VæãVÉ2F`[p*È3pÌè6`o Àl)c‚tgÛ©j\àÎcŠuwÈ”c2Yì&¶ÚÃZ_ðMã£ µ[Ýx'¤è:pñÊ†m„à^|\ûøªö«Æ#«]þò&ò(Ÿò*¿òßµhŠÐ‚XL«ªRž}Éú¾éÑáÇÑ‘yš~hÚ‡˜ª5À”
‹ÐsB`À
Zê	U°iœÖs{´
Öþf~pšO`O“û—³üÝ—›¹Œ€neclàÍóVIÙ3)Ãæ-<Âhž\ÐŸc Ðvîl]pÕ´+Ž Ÿ#+1ÙÄV
_	•pak[a‘ôŠ¯zÞÅXEÆ†u<{^€máœßùžÿù ÿ7eêM%ˆ¾ èwê‡¸~n†Èƒì0Ïú'ÞKuÚ°ßÇÊúG—½Ê=—·
:°Úw\Wïf`‚øÇ0O]FÏþ)V—[‹Òí=àDð3`oCÀ|Î‹5ºnŽW _ý©íV€•S-@fP€c4£c7&ŸxÇVÜ³V…o‹[.èüÍø8ðL ±ãF;v`4Õ©S0…
)ƒHÉ!%Š”–\Äxñ¡Å`Kfìt±cF’%MžD™RåJ–-]¾„SæLš5mZ´™SçNž=}þTèP¢Aq¦\µ$éÒUMc€
õiT6JW•‰*5k€¥N¶~ýjå¢×­N¬";6é’)[Å*]²hë«K¬|]Ë/F¹[×ú1óõ‰TPáI“øHÆŸò´pÒ"ÏŠM¸°éáäÈFNèþXÄ† -M °i" u¡@IåÐcÚP ÝBcFœsæÐø¸ï9]à´€ÇIr83–+wâ¤£<y>->’8<¨dÕAUÐÎ±]LÁêä§¢G!q†doò£HŒ
={Qÿ~þýýÿ0@$°@D0Ad°A„0B	'¤°B/Ä0C7D°)?l
®¥2Z¥-° *#£DN †®¶â :gŒîdV!++'òÊ1*C<41ªEFì+*º¬*2ªÁËÃ$¡
1˜À¶z¢Ž:dyä‘4²‹âˆOËƒÉ£¡‰'ZXì áÃ#¬Øâ(!þÂ¦d‘*@cc. Øb>FdˆÛ€ÄŒ*r „¸á|8I S®RK!‹®…Â°Ž±ìÒÀ‡Po<X4ÑD!†ÒÈ’u‰ôâ3)¤‘ìÉ¢ŠvåµW_6Xa‡%¶XcE6Ye—e¶Yf—ÀÏYi§¥¶Zk¯Å6[m·å¶Ûl¡UiD¦B|2«D@TƒEº’²c«BH*ƒF;Æúj«V1ä+³.
*±ÖzrŠãú*#&·Ê¨\Œ`™2+7ÛAKÅ¼tì‹ÎZ(#3Ü˜‘/$¡á?¹˜‚ˆi„ˆ@PãµÞÐAý´ˆÚh»m4Ì ! þ‰ô· i˜”¹š3š9[ðØ:ì>ÅY¦®ã Xv¹:"WGº(Z1:ª$Š¾.ªl³ÏF;mµ×f»m·ß†;n¹×DáÂ()(XT#£\ò=ÑÞµ¦Šêˆ	‡jG¿r#Ä¡²H·ê
˜ò&“:8+	ö«)†¿ê"ËP·\,
05•LSê¶ ¢	CŠ°‚+rà ¦P#ŽØØ°ùŽ9t°bÐE	t›¡àÃ¶FÝ0c†{”¸âžpâhæ®_îè¥™£OÀ;<F½•cjˆ¡Š bOW]á;£Žæ»>®çÆ?ý÷;~þÿ` 8Àü)wûRþz´6$pY¹Sž¤€#,áØJ"æµ„@iøDº¶Òˆ¼ô+ CâË\Ö²
…]ä™‹JÂ
V¿†EÅxÈÒÄÃLa*_0t0#Ô©d(ø°+a¢Ù  ƒ?-1PƒÚ ”w@t¡ypºÐ…ßtá	J«Tœ“œå,Ç‘iÁ¬³‚.}*|Þ!Ìx4>Ã
Q}0r?¯ùoõq~8´HF6Ò‘ÔH 9IJVÒ’—Äd&7t‘ºmN\$Â‹ò·‹°hG±ÃŠX”•5¥ƒ«,Ã‡L8$r©`Mº¡TËÎ­âs[qÃ#pþ0±Å8&2™BÃŠà†"´,D€æðÑ.°)J,ÞÞÀ5°©OÅ ’—3D™¡ ‚Ð ©IYïzïLÎÌ ¦I¦S›Uøv ‹‚X­!iÏ}Ø·YíÊ$·‚´Üç-†6Ô¡…hCÁå‘ˆVÔ¢ÅhF5ºÑˆN%ŸL`S(Á°$â^V1¡’hU®’„y IOÁŒÌR†Y9RRZÈ¯^d§š¨!Th -5æb’‘ÞÐƒ*°A jP!tÇ+‚—)B(ã¡!F˜MŸøpEåm±83pô‚3ÆI!‡Hc£äi¹¾12Œ`òPþ†Í€/;;è*n Ç]$$=¸—!eÕ	ÿéŠ€…ldy’PÉVÖ²—ÅleCÒI‚#"ÜŠV˜Â¯( ”ÁÈCJ£7Ükq[±CJ…ºÍrs#ÒåôÒKÎi.)šxÂWÞ CÓU§32zÃ i…18¯ ‚jª0(Ñ § ÜP…F°=Í Ä‹³94Ê‹i%ÎÇH4èh¯RÖ£«žßL1:a c·#*T„‡æ™ˆ{Ú÷¾úµGÞá§®îg¿Ì6ØÁû3àƒ%<a
W˜'^e†5¼awØÃqˆE<b—ØÄ'FqŠU¼b·ØÅ/†qŒe<c'×ØÆ7ÆqŽu¼c÷ØÇ?r…<d"ÙÈGFr’•¼d&7yÅ ;07070100046bb0000081e40000000000000002000000013d1fe2e10000067e000000200000000000000000000000000000001800000003reloc/caldera/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Webmin index page for Caldera's theme. Contains two frames, with the
# categories and modules always at the top and the CGIs at the bottom

require './web-lib.pl';
&init_config();
$hostname = &get_system_hostname();
$ver = &get_webmin_version();
if ($gconfig{'real_os_type'}) {
	$ostr = "$gconfig{'real_os_type'} $gconfig{'real_os_version'}";
	}
else {
	$ostr = "$gconfig{'os_type'} $gconfig{'os_version'}";
	}

# Find the category with the most modules
&read_acl(\%acl);
opendir(DIR, ".");
$user = $base_remote_user;
$risk = $gconfig{'risk_'.$user};
foreach $d (readdir(DIR)) {
	local %minfo;
	if ($d !~ /^config-/ && (%minfo = &get_module_info($d))) {
		if (!&check_os_support(\%minfo)) {
			# This OS is not supported!
			next;
			}
		if ($risk) {
			# Check module risk level
			next if ($risk ne 'high' && $minfo{'risk'} &&
				 $minfo{'risk'} !~ /$risk/);
			}
		else {
			# Check specific ACL
			next if (!$acl{$user,$d} && !$acl{$user,"*"});
			}
		local $c = $minfo{'category'} ? $minfo{'category'} : 'other';
		$count{$c}++;
		$maxcat = $count{$c} if ($count{$c} > $maxcat);
		}
	}
closedir(DIR);
$rows = 60 + (int(($maxcat-1) / 3)+1)*25;

# Display the frameset
&PrintHeader();
print "<!doctype html public \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
print "<html><head><title>",$gconfig{'nohostname'} ? $text{'main_title2'} :
      &text('main_title', $ver, $hostname, $ostr),"</title></head>\n";
print "<frameset rows='$rows,*' border=0>\n";
print "<frame scrolling=no noresize src='index_top.cgi' name=top>\n";
print "<frame scrolling=auto noresize src='index_body.cgi' name=body>\n";
print "</frameset></html>\n";

  07070100046bb1000081e40000000000000002000000013d1fe2e100000074000000200000000000000000000000000000001d00000003reloc/caldera/index_body.cgi  #!/usr/local/bin/perl
# index_body.cgi
# Display an empty page

require './web-lib.pl';
&init_config();
&header();

07070100046bb2000081e40000000000000002000000013d1fe2e0000015b1000000200000000000000000000000000000001c00000003reloc/caldera/index_top.cgi   #!/usr/local/bin/perl
# index_top.cgi
# Display the top frame using the Caldera icons and style

require './web-lib.pl';
&init_config();
$hostname = &get_system_hostname();
$ver = &get_webmin_version();
if ($gconfig{'real_os_type'}) {
	$ostr = "$gconfig{'real_os_type'} $gconfig{'real_os_version'}";
	}
else {
	$ostr = "$gconfig{'os_type'} $gconfig{'os_version'}";
	}

# Build a list of all modules
&read_acl(\%acl);
opendir(DIR, ".");
$user = $base_remote_user;
$risk = $gconfig{'risk_'.$user};
foreach $d (readdir(DIR)) {
	local %minfo;
	if ($d !~ /^config-/ && (%minfo = &get_module_info($d))) {
		if (!&check_os_support(\%minfo)) {
			# This OS is not supported!
			next;
			}
		if ($risk) {
			# Check module risk level
			next if ($risk ne 'high' && $minfo{'risk'} &&
				 $minfo{'risk'} !~ /$risk/);
			}
		else {
			# Check specific ACL
			next if (!$acl{$user,$d} && !$acl{$user,"*"});
			}
		push(@modules, \%minfo);
		}
	}
closedir(DIR);
@modules = sort { $a->{'desc'} cmp $b->{'desc'} } @modules;

# Work out what categories exist, and which is current
&ReadParse();
&read_file("$config_directory/webmin.catnames", \%catnames);
foreach $m (@modules) {
	$c = $m->{'category'};
	next if ($cats{$c});
	if ($catnames{$c}) {
		$cats{$c} = $catnames{$c};
		}
	elsif ($text{"category_$c"}) {
		$cats{$c} = $text{"category_$c"};
		}
	else {
		# try to get category name from module ..
		local %mtext = &load_language($m->{'dir'});
		if ($mtext{"category_$c"}) {
			$cats{$c} = $mtext{"category_$c"};
			}
		else {
			$c = $m->{'category'} = "";
			$cats{$c} = $text{"category_$c"};
			}
		}
	}
@cats = sort { $b cmp $a } keys %cats;
$cats = @cats;
$per = $cats ? 100.0 / $cats : 100;
if (!defined($in{'cat'})) {
	# Use default category
	if (defined($gconfig{'deftab'})) {
		$in{'cat'} = $gconfig{'deftab'};
		}
	else {
		$in{'cat'} = $cats[0];
		}
	}
elsif (!$cats{$in{'cat'}}) {
	$in{'cat'} = "";
	}

# Display title and categories
&PrintHeader();
print <<EOF;
<!doctype html public \"-//W3C//DTD HTML 3.2 Final//EN\">
<HTML>

<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="style.css">
</HEAD>

<BODY LINK="#FFFFFF" VLINK="#FFFFFF" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" BACKGROUND="images/navbg.gif">

  <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" HEIGHT="1">
    <TR>
      <TD HEIGHT="35"  VALIGN="top" ALIGN="left" WIDTH=100% background="images/webmin-header.gif"><br></TD>
      <TD WIDTH="100%" HEIGHT="1" ALIGN="LEFT" VALIGN="BOTTOM" BACKGROUND="images/navbg.gif">
        <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BACKGROUND="images/blue-bg.gif" WIDTH="100%">
          <TR>
EOF
foreach $c (@cats) {
	if ($in{'cat'} eq $c) {
		print "<TD width=1% HEIGHT=24 BACKGROUND=images/folder-on.gif VALIGN=TOP ALIGN=LEFT><IMG SRC=images/spacer.gif HEIGHT=6 WIDTH=72><BR><NOBR><IMG SRC=images/spacer.gif WIDTH=6 HEIGHT=1><TABLE WIDTH=72 CELLPADDING=0 CELLSPACING=0 BORDER=0 BACKGROUND=''><TR><TD><CENTER><SPAN CLASS=navActive2>$cats{$c}</SPAN></CENTER></TD></TR></TABLE></NOBR></TD>\n";
		}
	else {
		print "<TD width=1% HEIGHT=24 BACKGROUND=images/folder-off.gif VALIGN=TOP ALIGN=LEFT><IMG SRC=images/spacer.gif HEIGHT=6 WIDTH=72><BR><NOBR><IMG SRC=images/spacer.gif WIDTH=6 HEIGHT=1><TABLE WIDTH=72 CELLPADDING=0 CELLSPACING=0 BORDER=0 BACKGROUND=''><TR><TD><CENTER><A TARGET=top HREF='index_top.cgi?cat=$c' CLASS=navInactive>$cats{$c}</A></CENTER></TD></TR></TABLE></NOBR></TD>\n";
		}
	}
$vtext =&text('main_title', $ver, $hostname, $ostr)
	if (!$gconfig{'nohostname'});
if ($main::session_id) {
	$switch = "<a href='session_login.cgi?logout=1' target=_top CLASS=bodyNav>".
		  "$text{'main_logout'}</a>";
	}
else {
	$switch = "<a href=switch_user.cgi target=_top CLASS=bodyNav>".
	          "$text{'main_switch'}</a>";
	}
print <<EOF;
<TD WIDTH=1% HEIGHT="24" BACKGROUND="images/folder-off.gif" VALIGN="TOP" ALIGN="RIGHT"><IMG SRC="images/spacer.gif" HEIGHT="6" WIDTH="80"><BR><NOBR><A TARGET="_top" HREF="http://www.calderasystems.com/" CLASS="navInactive2">Home</A><SPAN CLASS="bodyText"> | </SPAN><A HREF="mailto:support\@calderasystems.com" CLASS="navInactive2">Feedback</A><IMG SRC="images/spacer.gif" HEIGHT="1" WIDTH="6"></NOBR></TD></TR></TABLE></TD>
          </TR>
        </TABLE>
      </TD>
    </TR>
    <TR>
      <TD COLSPAN="2" WIDTH="100%" HEIGHT="19">
        <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
          <TR>
            <TD BACKGROUND="images/gradient-bg.gif" WIDTH="75%" HEIGHT="19"><IMG SRC="images/spacer.gif" WIDTH="95" HEIGHT="1"><SPAN CLASS="EightPoint"><NOBR>$vtext</NOBR></SPAN></TD>
            <TD BACKGROUND="images/main-bg-pixel.gif" WIDTH="25%" HEIGHT="19" ALIGN=RIGHT>$switch</TD>
          </TR>
        </TABLE>
      </TD>
    </TR>
    <TR>
      <TD BACKGROUND="images/main-bg-pixel.gif" COLSPAN="2" WIDTH="100%" VALIGN="TOP" ALIGN="LEFT">
          <TABLE BACKGROUND="images/main-bg-pixel.gif" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0">
EOF

# Display icons in this category
$pos = 0;
foreach $m (@modules) {
	next if ($m->{'category'} ne $in{'cat'});
	if ($pos % 3 == 0) { print "<tr>\n"; }
	print "<TD width=1%><A TARGET=body HREF=/$m->{'dir'}/><IMG SRC=/$m->{'dir'}/images/icon.gif WIDTH=55 HEIGHT=24 BORDER=0></A></TD><TD WIDTH=32%><A TARGET=body HREF=/$m->{'dir'}/ CLASS=bodyNav>$m->{'desc'}</A></TD>\n";
	if ($pos++ % 3 == 2) { print "</tr>\n"; }
	}

print <<EOF;
<TR> <TD COLSPAN="6"><IMG SRC="images/spacer.gif" WIDTH="10" HEIGHT="100"></TD> </TR>
</TABLE> </TD> </TR> </TABLE>
</BODY>
</HTML>
EOF

   0707010000d09f000041ed0000000000000001000000033d1ff9de00000000000000200000000000000000000000000000001400000003reloc/caldera/inetd   0707010001153a000041ed0000000000000001000000023d1ff9de00000000000000200000000000000000000000000000001b00000003reloc/caldera/inetd/images    0707010001159c000081a40000000000000002000000013d1fe2df00000235000000200000000000000000000000000000002400000003reloc/caldera/inetd/images/icon.gif   GIF89a6  Õÿ 33Ìpp©‚‚¾¥¥éÓÓõççûùùýÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’n……dÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨»»•ÕÕªÖÖ¬ØØ±ããÇééÒ¤ JtspèçäÚØÓÕÓÎ¤¢žÌÊÆãáÞjhf¾»¸ƒ€~àÝÛ™—–ŽŽÿÿÿêêêiiiccc```YYYSSSAAA888...)))$$$   !ù   ,    6   ÿÀ‡pH,È¤ry„Ôj·¨tJ•âr¦¶(É<à°x<¶Õ²[í„§I/A»‘ëö]‡ü${xlC?„FyC46Q8:C?•?D
?v‰‹82£¤?“?£©|CŸ:	&&  3?–©¾C‡°BŸ;++£$?B©2¾2BÁˆÃÅÇ/'¸ºÎ¨–ÑÓÕÃžƒÆ''Ë?!C¤¨âä×çé'(Ü?0?½æ	«§'
*Z03P ßRâÆ„…D]¸t„E{>¤€á¢‹¤ê8±S±^½2
Ø‘ˆG—ç6„ÁSDŒRüHQXËDŸ2løÀ”iŒ#†5jí£$Þ”ÜD:‚Bƒ¯`ÃŠûµÂQB`ª]Ëöl 	ÈK·®]º ƒ a‚ß¿€,“  ;   07070100021237000041ed0000000000000001000000033d1ff9de00000000000000200000000000000000000000000000001300000003reloc/caldera/init    07070100035537000041ed0000000000000001000000023d1ff9de00000000000000200000000000000000000000000000001a00000003reloc/caldera/init/images 07070100035538000081a40000000000000002000000013d1fe2e10000026d000000200000000000000000000000000000002300000003reloc/caldera/init/images/icon.gif    GIF89a6  Õÿ 3 \ 0§!N‘uãˆ..ã\\ÿŒŒÿOPPÖöá£FÝåh¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž´´‡••p’’nÌÌš¸¸ŒÎÎžÐÐ¢ÊÊŸÓÓ§ÑÑ¥ÅÅœÕÕ«žž€––}ØØ¼ÇÇ­¸¸ ±±ËË·îîàééÛÚÚÑrrp³®Q¤ J‹‡?ÿÿÿüüüccc\\\YYYSSSAAA555)))      !ù   ,    6   ÿ@ŠpH,È¤ry´Ün¹¨tJ•êv¦¶ˆÙ•¾à°xüÌnµ™ˆR©XÚÌÎ$Ò¹ÏË4¨ri8DOV<Br?xJz){B:5˜™5?C?ŒIi!'0/•<	;<;43œ‡?f¡Ei$0/#>;D´CŠºFi&ÁÃ."?µ52ßŸÑ»=*íï%ß™ãå çCi)/ï
¸@Â&0ê¹—OŸ4°(@E
(FüØÈ±Ã†ô¸Á@‚
,¨D!(ÉÇ†z„XhPm•Š  åFŒŠC^æ‹É„’& P)àj$Q>ÀX À¶"@…=G”Í#/ºzÁ£­Û©b«ÂTC„O/Ö‚Ó„‰*¾¹kêºbç’±ÑÊFC¬+C‹R"KžL¹²)¹C9jÞÌ¹óÆ¿ù0D˜@º´éÓ¨MGXb†×°cËžC®!A  ;   07070100046bb3000041ed0000000000000001000000033d1ff9df00000000000000200000000000000000000000000000001600000003reloc/caldera/inittab 07070100048288000041ed0000000000000001000000023d1ff9df00000000000000200000000000000000000000000000001d00000003reloc/caldera/inittab/images  07070100048289000081a40000000000000002000000013d1fe2df00000239000000200000000000000000000000000000002600000003reloc/caldera/inittab/images/icon.gif GIF89a6  Õÿ £D\3 ÕÕàoq²‹ŒÃÇÈÞ#%-­³p°µ€³¹W¯µ`ÂÈzÝà²56#æçÌ»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž••p’’nÌÌšÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ÔÔªØØ±uucààÄããÉééÒììÜïïà××ËºµŠ.-(âáÜåØÍÕ¸°Ÿ‰¸†~ÿÿÿ¢¢¢jjjdddbbbYYYSSSAAA333)))   !ù   ,    6   ÿÀŠpH,È¤ry´àpº¨tJ•îx¦¶ˆá‘Bà°x…r¸ìV›ñyÖCNÇÚYÔpdûÊ-?}znƒC?†F{y?~?x‹E?.7=5?~.•C—C/'('›EšC‰¨Bª™&½2±D¤´¶·¹?11244?ÁBµŠÅ…B™?32  .j?£ÃÔ¨—*,,	?*+,(	%œ³ÒÄæ…™-š6?,:!øÁGØ½r•ƒ!  ?V<hÀ`ÁìU˜vËR!?`8 

ü‘qÜÁŽ
O´{ä`E
MN<ÓÈ±Ú›V$\™<aBè+œŒôÌÇ§ÃP?xx5©R|	­-ZšP…‹	`ÃŠKì¬‹2hZË¶­ÛGa@¡®Ý»xóÞ• è–L¸ð`”„ ;   07070100057c7e000041ed0000000000000001000000033d1ff9df00000000000000200000000000000000000000000000001700000003reloc/caldera/ipchains    07070100059304000041ed0000000000000001000000023d1ff9df00000000000000200000000000000000000000000000001e00000003reloc/caldera/ipchains/images 07070100059305000081a40000000000000002000000013d1fe2e100000158000000200000000000000000000000000000002700000003reloc/caldera/ipchains/images/icon.gif    GIF89a6  ³ÿ ÓÒÏ‹AÔÔ¥eeeÈÈ–VVV,,+¢J]¯¯¯¡ x´´‚€½½Žÿÿÿ   ÀÀÀ!ù   ,    6   ÿðÉI«½8ë}ÉE(Žäh\Z1…à¾p,¨š2†0}¦æ„š-ƒÓ=
¤²áØŒ¡¦(É†B ÐÔ<£Rõa8RÝ©C¦ŒŠtCQÞ0 mËûx(Éƒƒq`y{~I e’’‡‰n9““u‘J•—˜cŸ~¡–x¥T	„„¶£­¥T À Â¿ÁÀÆ¤¼š¢ÈÀÊÌ˜½XÛ]ÑÒÔË»ØšŽçèÑìíÕ×‰§œôáÖãñš˜ðyòmümî0H@° ÁƒâëG¯¡Ã‡*HH±bˆ0`À±£Ç A²‘ ;07070100000181000041ed0000000000000001000000033d1ff9df00000000000000200000000000000000000000000000001500000003reloc/caldera/jabber  07070100008dbf000041ed0000000000000001000000023d1ff9df00000000000000200000000000000000000000000000001c00000003reloc/caldera/jabber/images   07070100008dc0000081a40000000000000002000000013d1fe2e2000002c9000000200000000000000000000000000000002500000003reloc/caldera/jabber/images/icon.gif  GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ò›âaDÞR5ê}d÷ÎÆÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—ã[Dò£‘ï¥—ôÀ¸ùÉÀá_@ÿÞÞ   ßK4øàØåoUÅÅ”àU=é~ï”{ßD,ÍÍš»»ŒÿçÞîuöÄ¸ï­¥ç{c¸¸ŠçsZñ¢”àK3³³†ÞB)ýæÞç„sç„kýãÙïŒ{èiQà[DóÀµï¥”âR5àI1áN/ÿïçîŒzøØÐò¬Ÿï”€ï•…ò¨›÷Æ¼÷ÔËûÚÖô»³êŠzîŽ}÷ÖÎ¹¹‹££zòÂµ÷ÊÁì“ÙÃ°’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š‰„ª«‰­¯†‚ ¶ !¾ŠÀ†"…#‚$µ„%!Ð¿®…&‡'()…*+!½Þ„Òƒ,-ˆ./0¶1Îí†ï‚2Š3þÐ(TƒÛ¾BýþØPtã‚J˜CÇ¢»I”ðE=2nän•"Gv\ÄPAW&
rèåÈ?2	R3bÌ’Œˆ ²©¨¡"FŽ I’ˆèÏ`‡”,aÒÄÉ“¡>%æ4+L­Q¤LK¶,•*V®”]‹%ëA'!âÊK·nÝ¯dÑÂ·¯ß¿€ýfy6€ˆ+^ÌX±v‚ ;   0707010000d0a0000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001300000003reloc/caldera/lilo    0707010001159d000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001a00000003reloc/caldera/lilo/images 0707010001159e000081a40000000000000002000000013d1fe2e10000026f000000200000000000000000000000000000002300000003reloc/caldera/lilo/images/icon.gif    GIF89a6  Õÿ ×µ¶7R- –’{vâžC88î‹‹ÿfh°ËÌßÂæÄ ÂmŽ¯U58£©l¬³YÝà±ÂÆw­­ÇÇ•¿¿»»Œ³³†ªª££zžžvÀÀÀÊÊ˜½½Ž¹¹‹µµˆ¥¥|’’nÌÌšÎÎžÐÐ¢““sÓÓ§ÕÕªÖÖ¬¹¹•>>2››~××³ÈÈ­ããÇëëÚÙÙÒÂÁ’åÖÎ¼“†ÿÿÿcccYYYRRR@@@)))   !ù   ,    6   ÿÀpH,È¤ryÄärº¨tJ•îx¦¶XãÁV+•X.›ÍÏìVê¡> LF“Á€”¦Jµ‹¯—m(q"-1‚Ky?5J"$%/43‰KŒ!I5))4		˜oŠ?jžEm'!–¦3*Š"®F -··Å0'?É'G?¾D‘!‡3Å32+=2ØËEÍÏÐB5#0ë2È2ð7?ßCáãCåq5'Ü2b?6l à‡."öî}(wÙø1à†#!	ï1,rÂ·~X˜AR‚‹oÇ•»5dÌÐ‘,‚AŒÎ.tóá‚Œ!*~ÐX° €™2(T˜ðcNq*yúÄ!„…Ì¢
Ž2`ààÁƒ,žê,óÇ2B&ƒ0£ÌmSB+‡£.Õ0>b“¡WÆ1±
79¡‚…a{³PAO®¯>Dt˜L¹²åË“Kä\¶³çÏ¡B«ÁÁƒéÓ¨S«FÍáâ½s!bËžM»öì­† ; 070701000171cc000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001300000003reloc/caldera/link    0707010001fb0e000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001a00000003reloc/caldera/link/images 0707010001fb0f000081a40000000000000002000000013d1fe2e1000002a4000000200000000000000000000000000000002300000003reloc/caldera/link/images/icon.gif    GIF89a6  Æ  ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  < ,    6   ï€<‚ƒ„…†‡ˆ‰Š‹‡457‘’“”’9;Œš…:,) ¡¢£¡*)65™›š=%«ƒ#$&'8ª°ˆ­¯¹‚²?½º®Ãƒ?Æ†»Ë<?¸ÎÍË#!ÁÎƒÍ??…Ý<à‰ÉÚ‚ÜÞ„àâˆäÊæèÝòóôéá<îæ<è‚ëÞóýìá+¯˜8áä$”¯à«ƒÿ"BdHP¿„ëÙóÖÐb1Fì
u¤öqQHŠï<òZ6rY5–I®4ÖÒØ .èÜÉ³§O"bºÔH´¨¼”Î<XÀÀ´©Ó§PZfŽƒ‡X³jÝÊU«‡i‚ ;07070100021238000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001600000003reloc/caldera/lkmload 0707010002868d000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001d00000003reloc/caldera/lkmload/images  0707010002868e000081a40000000000000002000000013d1fe2e10000011c000000200000000000000000000000000000002600000003reloc/caldera/lkmload/images/icon.gif GIF89a6  ³ÿ ³³†)))XXXÿÿÿÁÁ‘ÏÏŸÓÓ§cccÈÈ–AAAžžv¤¤zœ™–½½Ž   ÀÀÀ!ù   ,    6   ÉðÉI«½8ë}Ñ9B(Žä˜ \Z‰á¾p,¨š6AaSEaˆÚƒÓ'„ƒp$æRŽh”¢l4/Eè@â¨4Â«$Ëé>æ	`)¦¥ðé#^Y[Ûãç|»çrìxyFfh…€oqŒiuwxo|””‰’z„œ†Ž™m‹p˜“\–~¡bož²gŸj§Š›¤¥®·šFb¯WdÀ½¢ÈÉÊËÌÈ
Å°ºÒ¤‘m
ÙÚÛÜÝÛLåæçèéça ;0707010003553a000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001600000003reloc/caldera/lpadmin 07070100046bb4000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001d00000003reloc/caldera/lpadmin/images  07070100046bb5000081a40000000000000002000000013d1fe2df0000020c000000200000000000000000000000000000002600000003reloc/caldera/lpadmin/images/icon.gif GIF89a6  Õÿ Ó«®£B[¦­dÉÑJêòsæèÇÂÆw»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ§ÕÕªÔÔªØØ±¯©&ÖÓÎƒ€~ÿÿÿÌÌÌ¯¯¯………fffdddccc```YYYRRR@@@)))                                                      !ù   ,    6   ÿÀ†pH,È¤ry|˜N©¨tJ•ªV¦¶Yu6à°xælP§ìV+aaÖCË%£Q9ÔpdûÍ¹þ"Br.yI{C ŒD. !.D.‡znC.!!“Bœ¡B.x˜C‰¢ž! ‹¯¦…¬E®œ° !"#ÆÃD–¼D¾À°œŒÒ¦Ê—ÌBÎ°œÚÛBÕ×Øš%ÓÒ%GÜáâ®œðñð·$¯ì×‰æçè›ÃëËÚiz'¯ ‹t¿þÃÇ,‘‹"J”èád ­å(ÀƒÇ ¹9Zpã~çAÆ—+oÞ’´då‹ÕLLZLPÀ³§Ï)Ÿ@yV(Ù¥Ñ£™EH° ©Ó§P£>M`HÜƒ²jÝÊµëÖ«„ ;0707010004828a000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001200000003reloc/caldera/lvm 07070100057c7f000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001900000003reloc/caldera/lvm/images  07070100057c80000081a40000000000000002000000013d1fe2e2000004b7000000200000000000000000000000000000002200000003reloc/caldera/lvm/images/icon.gif GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢   ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—ƒƒž99XHHk€€›]A9ÊŠƒíÆÒÃˆ~xSE,,3ÅÅ”mm‡•]6¥hBÑ“•ìÄÐà«µïÏÝÅ“ˆ88BÍÍš»»Œ``z’X4­jGœc?Æ†~â¯¹ä¶ÂëÇ×íÍÛnOT¸¸Šll‡43OÐ”•Ò—›Å{b4"

µl=ÚŸ¦Ö•—Ò++C³³†)íÅÒé½Ê­w^}SH‰\G@!á³¼ëÁÏñÎÚ" 0OOq\\„$!1#À›­¼˜«±‘§zM34()+Í‰€ÏŽŽÏŒcc„/>>_SS€€ºŒÄ¸baŠseÜ¨²Ý¦­´mK[9«hCI,kkŒ88VÖÖì#ëÃÎñÒÞß©²»u_ºnBuG)iiŠaa–¸…Ùž ïÈÔÃw6^^€::Yaa•ÌÌæ-PPq==]``”ÃÃà^^::Zff™(dd„77TjjŸccxhh‰44Pggƒƒº¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ… @ AÂ
,¨\™°åË„0`È ¡`M ðTè3á<| Â –öt‰p‰&N H¡bEA- ìÔJ°©A/`Ä1ƒF7ªŒ€#)[ƒn	æÐ±ƒG?€2„HÑE°þ-XàFŽ I¢d	“&Nž@‰B0rÖÉ+_2…J+W°dÑ²…K/_JKF-00˜0bÆ)cæš4jÖ°iãæîÓ¼}Ã‰#g:vîÔÁ“GÏçÏy•÷æ:œ>sÒûù( A„šÿ¯ò¿B†ÒëŸsQ¢ƒó‰gß?Š,²ßŒ4‚P€Ñ‘W#†<’$‘$Ä j
$	“PR‰BN–¡@–\ò!ˆ»5øÓd!þÅ &™h"ãŒ4Öh£Œ›¤ˆ¡L<öèã@B‡šœtbä‘H&©$’œ(% 0 å”TVi%•¬%P@ ; 07070100059306000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001800000003reloc/caldera/majordomo   07070100000182000041ed0000000000000001000000023d1ff9e000000000000000200000000000000000000000000000001f00000003reloc/caldera/majordomo/images    07070100000183000081a40000000000000002000000013d1fe2e000000206000000200000000000000000000000000000002800000003reloc/caldera/majordomo/images/icon.gif   GIF89a6  Õÿ «¬¨ÉÑJ¤Gêòtïò—»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÓÑÌÖÓÎƒ€~ÿÿÿöööÌÌÌ¯¯¯………dddccc```YYYSSSRRRAAA)))                                                      !ù   ,    6   ÿÀ…pH,È¤ryl”L¨¨tJ•ªV¦¶øXm2à°xÖdN¦ìVaY˜"—\´ T.˜C½N¶ßK.# .Cv.}JL. †D.Œ~n‘”C
.|™DŽr©E"#­ EŠ¥F§  Ÿ©¼Ÿ—´E¶¸…C¸Ê¸ŸÀ˜ÂCÄÆIÕ¿ÁÐBÒ¸º¯ B$B×ÎÚÛ›¨ÅÊîå¯æÙÚÜí  ”ÕóÏõê.<ôÐR¾O¯P%<‡ÎVªõé‡nÁ©ÊZà“x$!6Ð.‘Ãq	Ã€ˆ¨Òr2¤:a-…AàÍ›8sê´9^È#^@ƒ
õ)ìÁH“*]ÊTéEè<€@µªÕ«X­> %$ ;  070701000047ea000041ed0000000000000001000000033d1ff9e000000000000000200000000000000000000000000000001200000003reloc/caldera/man 07070100005e62000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001900000003reloc/caldera/man/images  07070100005ea4000081a40000000000000002000000013d1fe2e000000207000000200000000000000000000000000000002200000003reloc/caldera/man/images/icon.gif GIF89a6  Õÿ €ˆ…ÉÑJÔÝ6ïò—»»Œ³³†ªª££zžžvÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšÎÎžÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÖÓÎ‚€~ÿÿÿdddccc```YYYSSSAAA)))                                                                                    !ù  	 ,    6   ÿÀ„pH,È¤ry\t< ¨tJ•†D¦¶Øa,à°x¾X>žìVëMÖÃˆ„R	)Ôpdû$ùÿDr$yI{C~ $E$†znB$‘ž“q$x˜Cˆ	$ ­®­$³£B„¨Eªœž ½±D–ºD¼Í¿ÃÅCÇ—ÉBËÎÍ¿Ò’ÆÈØ	ÚÛÍÞÔBÖãäš«ÌæÒé	ëãåæ$Šõ÷Øùœà´Á¸jâ ºãd.@4zIþ%ã €Å‹5lˆ˜p¢;~ýþ ÐÀñšB>Rª\I²$;Uº$êráÁ›8sêÜyBÇ$™!ƒ
i2Y’*]Ê´éR…Æ-hà ªÕ«X³^mpJH ; 0707010000754a000041ed0000000000000001000000033d1ff9e100000000000000200000000000000000000000000000001200000003reloc/caldera/mon 07070100008dc1000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001900000003reloc/caldera/mon/images  07070100008dc2000081a40000000000000002000000013d1fe2e2000004f7000000200000000000000000000000000000002200000003reloc/caldera/mon/images/icon.gif GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—¬¬¬”””’’’‰‰‰´´´¡¡¡‚‚‚ƒƒƒ¯¯¯   ÂÂÂ’’–””–ŽŽŽ†††‚‚„___¬¬®ÅÅ”ÄÄÄ’’•“““•••ÅÅÅ„„…‚‚†[[]ÍÍš»»ŒŸŒŒŒºººæææ‡‡‡„„„ªªª^^_¸¸Šggg””—‘¸¸¸±±±[[\³³†kkk«««äääŠŠŠOOO®®®^^^ÃÃÃlllµµµžžž‹‹‹¶¶¶………€€€»»»¿¿¿¦¦¦ããã­­­[[[jjj¾¾¾ÀÀÃ¨¨«††‰RRSššš®®±€€‚¹¹¹ÆÆÆÐÐÓ‰‰Š||~fffÀÀÀ‚···‰‰‹MMM§§§­­®ZZ[††‡tttrrs¯¯±€€hhhˆˆˆIII°°°««¬~~€YY]‘‘‘„„‡yyy|||¯¯°™™™¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ•@ˆ a•0¶|ù¯‚…2 Ô°a‡2x03áN@„ØP¡ˆ$J˜xÂƒ¦:]
Da!…ŠY´pÑâÅ@1<à;ðé? d¬˜A£`7pÈSÇRºí¢¸°ƒG}ŒØñc‚A¼"&h÷Ã
!?D!2°ˆ‘GlH‚Yófv•¬XÂ¤‰'Ÿ@	€áG”­¿¾þ×YÅ)SDÌ ò¯
†hX¹‚%øpâbï^È¢åŸ†!$¶ÕpéâåË?0a.Ì,üug1BÆü#3cF3gÐ¤ù‡Dzì]×ÙB¬!CÌÀFnôFpX7Ü€YÈ'qÈ1Ç@tÔQÝz®¹—]"ØÑ—@>ÜåÆ‡ †¸™]iÌ ‡…ÀAzìÁ‡„"¾¤EPŒ€Aiì'Ð~üH  ¶7cv>4ñÅ
1!ÈÆ(%bBH!d–iæ™h’iˆŒ`zàæ›pÆ)§œ_ÒeÀ!ˆä©çž|ö¹ç!L€jè¡ˆ&z¨s	 ; 0707010000d0a1000041ed0000000000000001000000033d1ff9e100000000000000200000000000000000000000000000001400000003reloc/caldera/mount   0707010001159f000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001b00000003reloc/caldera/mount/images    070701000115a0000081a40000000000000002000000013d1fe2df00000218000000200000000000000000000000000000002400000003reloc/caldera/mount/images/icon.gif   GIF89a6  Õÿ 33Ì677x{y:;:‹ŒˆÜågêòs»»Œ³³†ªª££zžžvÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšÎÎžÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÜÜÔrrpééè¥¡J³®QÅÄ¼×ÖÏÐÏËáàÜËÊÇÙØÕÕÔÑ¿½¹ÖÓÎÔÑÌœ™–jhf‚€~åãáÞÝÜÿÿÿ¢¢¢jjjdddccc```YYYSSSAAA...)))         !ù   ,    6   ÿ@†pH,È¤rytÔl¸¨tJ•æt¦¶Ñm2à°xÖdn¶ìVáYÖCJå‚É5Ôpdû­|õþq=yI{C47S9+2‘=D=‡znB9‘žž=ž2”B=x™C‰ 0& ´!¡‘/¹¥…«E­;²ž¶Ÿ2+¡C—ÀDÂ1(´ ÈÉÌBÎ˜ÐBÒ($$Ç·ŸÛÝßà›Ã(),×È¡·èêëÒ+,%'#*ôþ(»÷,_»aûúýX ·oÒDHœhKˆ¹HÍ
B<h ™€ÐÁ·‘‡3Zx!àƒsHHBk²æ®˜g¶&X+5ž9}v  ¨Ñ£H“tU›P£Ú|B‚X³jÝÊUkCë@ˆ@¶¬Ù³hÍBP%$ ;07070100012e2e000041ed0000000000000001000000033d1ff9e100000000000000200000000000000000000000000000001400000003reloc/caldera/mysql   07070100015c1e000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001b00000003reloc/caldera/mysql/images    07070100015c1f000081a40000000000000002000000013d1fe2e100000230000000200000000000000000000000000000002400000003reloc/caldera/mysql/images/icon.gif   GIF89a6  Õÿ 33Ì¼Ç‰ÉÑJÙâaêòsêòtëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒ¤ J×ÖÑtspêéæÜÚÕÕÓÎ¤¢žÌÊÆåäâãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿêêêÌÌÌ¯¯¯………iiidddccc```YYYUUURRRAAA888...)))   !ù   ,    6   ÿ@†pH,È¤rylÐj·¨tJ•æt¦¶øÐm2à°x<¶Õ²[-¤gI'&×@»‘ëö]oü{xlL0?†0E?GyC36Q9;?,1.?E?vB8.©ª??.D£D¥;"'  /?®²D‹·C¥<((©?01Ø.FÉŒËÍÏ-#¿Á†ç†ÈÊÞà# ÓÕªóÇÜÞßƒÎ  äÕG\	±Ç.ß>$L¬ ¦ˆ!\Ön^9"#N¼ÕÌÇ€)X„PPÆ9m×Q4ˆ]CTaÒ&Q%Ç|8tØÉ“ÃM1ÒÜ8ªT…’*½p©åCmÍ7Šh#"(ØÊµ«×¯[%H½ê´¬Y§Ý–=H° ­Û·pã¾M È[ƒòêÝË·ïÞ¢„ ;070701000171cd000041ed0000000000000001000000033d1ff9e100000000000000200000000000000000000000000000001200000003reloc/caldera/net 0707010001fb10000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001900000003reloc/caldera/net/images  0707010001fb11000081a40000000000000002000000013d1fe2e000000225000000200000000000000000000000000000002200000003reloc/caldera/net/images/icon.gif GIF89a6  Õÿ ×µ¶7R- fh°ˆ‰ÄËÌß$&.ŠŽ—58¥«h¯¶VÝà±æèÇÂÆwéêÑNN:»»Œ³³†ªª££z¢¢yžžvŠŠgÀÀÀÈÈ–ÁÁ‘½½Ž¹¹‹––q’’nddKÌÌšÎÎÎÎžÑÑ¢ÒÒ¥ÓÓ§ÕÕªÖÖ¬>>2ØØ±ããÈææÍééÒééÔêêÛððáÛÛÕTTRÇÂ”/+%åÖÎ³’ˆcccYYY@@@)))$$$   !ù   ,    6   ÿÀpH,È¤ryäärº¨tJ•Òv¦¶ØÙ±Rà°x<~f·ZÏ„ŽH&sn#Õl»ðÍùuôwkF%?…%K5?€GxE%6-/-‡I#?uŒBŽC„-¢8?–G#~œDžB(?77 ?(JŠ«C­„?8³?85H¹‹»ž%.22?Ñ0+$GÉËÌ‚„3…??24…?'ÛºËŽ¯3?1?)ìÊ»ŽTØ›G ^„úÒ©ð×í]‹i…ÄH î@‹[F¸¹ûÆBÒ‹I-<NbaŠˆF€‚6”@¡¢e,[¢(i²J6 DˆÛ¹“ÇB0Ôü·ª£“ESrBÊÉƒ¢JJµjÔ6‹òÜÊµkVN,dK¶¬Ù³e-üYÆ¡ƒ‡·pãÊ·Ã&!A  ;   0707010002125e000041ed0000000000000001000000033d1ff9e100000000000000200000000000000000000000000000001200000003reloc/caldera/nis 07070100028690000041ed0000000000000001000000023d1ff9e100000000000000200000000000000000000000000000001900000003reloc/caldera/nis/images  07070100028692000081a40000000000000002000000013d1fe2e1000002a7000000200000000000000000000000000000002200000003reloc/caldera/nis/images/icon.gif GIF89a6  Æ  ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  < ,    6   ò€<‚ƒ„…†‡ˆ‰Š‹‡457‘’“”’9;Œš…:,) ¡¢£¡*)65™›š=%«ƒ#$&'8ª°ˆ­¯¹‚²?½º®Ãƒ?Æ†»Ë<?¸ÎÍ??„Ö<Ù‚ÖÝ¾!ÁÎƒÕÛÚ×ÛÝé‚Éâ‚ä×Üçñå„ìÊîðôóòõ<÷îx3G°\ºxÿÚå+†® ÂAÞâ7Ð\¶‹·\øÊ Æ~ê$¬h‘ H„)s–’ÚÊe-—5c©P%/˜5©ù q¡§ÏŸ@ƒö‘SæÁ£H“5æÁ†§P£JÕ‚0w<|ØÊµ«×¯]=L ; 07070100029e19000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001700000003reloc/caldera/openldap    0707010002b47e000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001e00000003reloc/caldera/openldap/images 0707010002b47f000081a40000000000000002000000013d1fe2e10000015b000000200000000000000000000000000000002700000003reloc/caldera/openldap/images/icon.gif    GIF89a6  ³ÿ ÔÔ¨dUZÇÇ™ššìrÖÓÏæåÑèðr..*££}..Äéèç½½Žÿÿÿ   ÀÀÀ!ù   ,    6   ÿðÉI«½8ë}Eø`(ŽˆÀƒ lë¾ðg¢§
Ð3ŽÙ¾ŠÀÁþVÆÉ°˜L!›†£Š–+EÊ„F‘ˆ†¸€¥Äè†cÂõJ€ˆ‚cN— ‡ÅB¡X8nQDn_7qcrvxbo‚nprr||+x|~€m“`•acxŽ]UHtd³¦¨« ^@j±³‡§¨Ÿ’»OsqÀÂiž‘­M¼q¨rj		¹È®€ttjçtÇÔIÖi ôõôìƒï0,lãÕD¼	H° ÀGíŒHQÇ°¡Ã„A|#@±¢Å‹+&€èC ƒ CŠ9’Š„ ; 0707010002ca5d000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001600000003reloc/caldera/openslp 0707010002fa2f000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001d00000003reloc/caldera/openslp/images  0707010002fa30000081a40000000000000002000000013d1fe2e10000012a000000200000000000000000000000000000002600000003reloc/caldera/openslp/images/icon.gif GIF89a6  ³ÿ )))XXXÕÕªÉÑJÎÎÑÑ¢ccc³³†ÈÈ–AAAžžv¤¤z½½Žÿÿÿ   ÀÀÀ!ù   ,    6   ×ðÉI«½8ë}‘1A(Žä˜ \Z1‰à¾p,¨š2@aSD!ˆÚƒÓ'„ƒq$æ(Ž¨ÆAQ2›–â„*áZïƒáb%Ú—*Þ6ïay¦¤ÙÛ¨ÖKæWucOj…Toˆˆm€‚h„xj‰ŠŽw]]‰q–‚i…P£‹žu ~[§g˜¥R¦t—{¸¹³ŒµŸ¡P²b®X©ª²­½¨„±´ËFgÄMdØÙÚÛÜØ
Ê¯ºâãzÐ¯
éêëìíëæXôõö÷øøf ;  07070100031036000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001500000003reloc/caldera/palace  07070100032752000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001c00000003reloc/caldera/palace/images   07070100032753000081a40000000000000002000000013d1fe2e2000002fa000000200000000000000000000000000000002500000003reloc/caldera/palace/images/icon.gif  GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÿ  ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—ÿÿ~~ÿyyÿ||ÿ{{ÿssþ   ÿÿûûÿÿÿÿþþþssÅÅ”ÿSSþ˜˜þÇÆûüÿÖÖÿ»»ÍÍš»»Œÿüssþ–—ÿbc¸¸Šÿþññþ  ÿÿøøÿÞÞ³³†ÿÿããþììÿÿÿøùþÿõõÿ÷øþ³³ÿRRþ®®ÿú‡‰þLKûþýííý›œúihøUUøYYÿŠŠÿììÿóóý))ÿÿýýÿòòý-,ÿííü)(ÿëëý&&ÿÍÍÿüüÿßßÿ®®ÿÿÚÚÿ¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š°±²³±ª«‰­¯²Å´ ½Š¿² Ö××!"³#Ð¾®³$%×&'°() *²+,¼à„Ò³-Ö.´/ 0µ1ÎóÕ“%Ä´jØ¸!‡·€…ÆÊB-X;>ðˆåðÄAaõ áãÇE Ajp|øQPÈ#A¡5‘†,[¾,bÍÈ¬#Öàô¨SÜ¬$ ”,aÒÄÉ( ¢H™Õ±¥K£²¦PÁvMÃÅªV_Ö¨rÍÊÅ¡Vÿ¼|på–³X+‰~\›åš¸°À&k—k]¼àÕ;k¬/`°q	—0DbÆ™L¹²åË“ËäœÛ¡³çÏ C‡–Ñ€™3¨S«^ÍZµ™gV`@»¶íÛ¸m'( ;  0707010003553b000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001200000003reloc/caldera/pam 07070100046bb6000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001900000003reloc/caldera/pam/images  07070100046bb7000081a40000000000000002000000013d1fe2e0000002d8000000200000000000000000000000000000002200000003reloc/caldera/pam/images/icon.gif GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÝÝÝÃÃÃÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—âââÊÊÊÙÙÙ   ÂÂÂ½½½ÅÅ”ÀÀÀÍÍš»»Œ×××ÌÌÌ¸¸Š³³†···¥¥¥¯¯¯›››|||eeefffUUU+++\\\888ppp$$$QQQjjj!!!111lll"""333kkk222***KKK[[[;;;555DDD<<<¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›šˆ)±²„ª«‰­¯…%)†)%´ ¼Š¾Ã°†Ë½®Î‡Â… »Ô„Í„Á°Å´#Éß†áƒÙÃ"†$Òé…ë‚í°ð…òÓôƒöJ¼H°`9Büüý³F((,Z´pA"	wƒ*üðÅC4Ä¨HâE¼y;’L2I“ûP*ìŠ¥‡a"”é¦Å6nü,y²ßL†ƒ<†Ê¡#Ñ˜F{"äq¥Ë‡:3ò¤çÃŠ/ÝÈqj@ h2$íA­6Q¹)b¤®Ý»xóÖ=²5ƒ€L8n:H’(^Ì¸±cÆH”m`€åË˜3kÆlÀ› @ ;0707010004828b000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001200000003reloc/caldera/pap 07070100057c81000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001900000003reloc/caldera/pap/images  07070100057cb5000081a40000000000000002000000013d1fe2e000000220000000200000000000000000000000000000002200000003reloc/caldera/pap/images/icon.gif GIF89a6  Õÿ ))ÊQQµ||±«¬¨ïò—»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nhhNÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ÕÕÐÌÊÆœ™–ƒ€~ÿÿÿÌÌÌ¯¯¯………fffdddccc```YYYSSSRRRAAA)))                                                   !ù   ,    6   ÿÀ…pH,È¤rylœPª¨tJ•²Z¦¶øhq4à°xÞhR¨ìVq]ÖÃŠ“Y1Ôpdû|ùÿEr/yI{}/ ‹ #/F/†znG~Œ &E
/x”CˆFŠ‹žœžB„¤E¦EŠ"««C’³DµD. ¸¹»B¼¿“ÁB{$!Ó!$¹œ¼ËÍÏÐn!&­Ú¹Ý"Ê¾Àá{ä""æDêÝCßïÏñ/"$&
$¡ë…+îœñs3O„?=|ðG a»„áÔzâDvý¸ž%eRª´¨Œ‘’ùtû ¢&ˆ,×lãŸ=Ÿ.“ðœ5ŒÒPR:D@À´©Ó§P™NØ×ó§Õ«X­*öà@‚¯`ÃŠö@¡p@XË¶­Û·mŒ ;07070100059307000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001500000003reloc/caldera/passwd  0707010006a7fb000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001c00000003reloc/caldera/passwd/images   0707010006a7fc000081a40000000000000002000000013d1fe2e1000001d3000000200000000000000000000000000000002500000003reloc/caldera/passwd/images/icon.gif  GIF89a6  ¥  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌÌÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—fff   lllÅÅ”---ÍÍš»»Œ¸¸Š³³†FFF²²²¹¹‹££z““t’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ? ,    6   ðÀŸpH,È¤ryƒ¨tJ•
 ¦¶h8 à°xV$‚ìVËh8Œ‡‘L(õ:Ù~BIt {J}DD„JŠ|nFKz•DŒBrEšsˆ F¢‚Z“ªE¬?ƒ‚J°”²C´B·Kº¼½—J¶IÄÅ?¾GÉGËÅÎÏ¸DÒ¼ÔÕÑ±ÌÚFÐCØ²ßF â?äªæEâë íF×ÝÓÇ[Eò•„1¢ ÁƒIP@8¢D¾lÀ"JœH±â®bLœØÈ±£ÇM$bÀ ƒ“(Sª\™ÒÀ'!A  ; 07070100000193000041ed0000000000000001000000033d1ff9e200000000000000200000000000000000000000000000001600000003reloc/caldera/postfix 070701000047eb000041ed0000000000000001000000023d1ff9e200000000000000200000000000000000000000000000001d00000003reloc/caldera/postfix/images  070701000047ec000081a40000000000000002000000013d1fe2df0000025b000000200000000000000000000000000000002600000003reloc/caldera/postfix/images/icon.gif GIF89a6  Õÿ ¸ƒ»†¡I]- ±°´33Ìz|¸ÌÍà#%-46!­³p èðr±·\ÂÈyÝà²³³†ªª££zžžvÀÀÀÈÈ–ÁÁ‘½½Ž’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨qqZÕÕªÔÔªÖÖ­ÞÞ½ããÇééÒççÐëëÜTTS¥¡MÊÆ—¼¶ŒíìèÕÓÎ/+%áÛÕ ŸžÌ¯¡Ÿ‰Ù½¸}||ÿÿÿcccYYYAAA888...)))   !ù   ,    6   ÿÀŠpH,È¤ry´àp¹¨tJ•ªt¦¶xÑBà°x…žÙ­Óë¨‡šMç£²¤ßH¶/Œ[~|ym‚C…FzBOQ*;L?w‰‹*7ž?’J-€˜C‹;.).??µ¡D?ˆ¦™„#<)1+?#0%&% E¹»¦‹¿11®°#?%Ü3ÍCÏ¼½nÓ1/Ä?$?Õ5 ±¸ºâÒÀ/ö/.6µ45µZ°Ž=÷K‘Â„(šX bC…‚Ñ|ótã‡¾Z2~¤PQ+—Œ˜¤ù` C†}0`@d‰üqQžAx_µ‚ÂœIó‡	9ë	-%!ÊŽšh¸ h‚>‚"(!e"MFˆKâ„Ô$¢.;Æt¡#ÂŠõÐAî¡¼Â€¢Å„¿€ü7ƒÏhA+^Ì¸VÓD$P˜L¹²åË•%âeá†Ï C‹úÂ%!A  ; 07070100005ed9000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001900000003reloc/caldera/postgresql  0707010000754b000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000002000000003reloc/caldera/postgresql/images   0707010000754c000081a40000000000000002000000013d1fe2df00000230000000200000000000000000000000000000002900000003reloc/caldera/postgresql/images/icon.gif  GIF89a6  Õÿ 33Ì¼Ç‰ÉÑJÙâaêòsêòtëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒ¤ J×ÖÑtspêéæÜÚÕÕÓÎ¤¢žÌÊÆåäâãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿêêêÌÌÌ¯¯¯………iiidddccc```YYYUUURRRAAA888...)))   !ù   ,    6   ÿ@†pH,È¤rylÐj·¨tJ•æt¦¶øÐm2à°x<¶Õ²[-¤gI'&×@»‘ëö]oü{xlL0?†0E?GyC36Q9;?,1.?E?vB8.©ª??.D£D¥;"'  /?®²D‹·C¥<((©?01Ø.FÉŒËÍÏ-#¿Á†ç†ÈÊÞà# ÓÕªóÇÜÞßƒÎ  äÕG\	±Ç.ß>$L¬ ¦ˆ!\Ön^9"#N¼ÕÌÇ€)X„PPÆ9m×Q4ˆ]CTaÒ&Q%Ç|8tØÉ“ÃM1ÒÜ8ªT…’*½p©åCmÍ7Šh#"(ØÊµ«×¯[%H½ê´¬Y§Ý–=H° ­Û·pã¾M È[ƒòêÝË·ïÞ¢„ ;07070100008dc3000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001300000003reloc/caldera/proc    0707010000a264000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000001a00000003reloc/caldera/proc/images 0707010000a268000081a40000000000000002000000013d1fe2df0000023a000000200000000000000000000000000000002300000003reloc/caldera/proc/images/icon.gif    GIF89a6  Õÿ gˆ,,Û))Ê##­::þHHÿWWÿllÿyyÿŒŒÿFKJ«¬¨ïò—ÃÃ’ÂÂ‘¾¾Ž»»Œ³³†««€££zžžvÀÀÀÊÊ˜ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšÎÎžÑÑ¢»»“ÓÓ§ÑÑ¥ÅÅœÓÓ¨ÕÕª¥¥„ÙÙ´ÌÌ«ÇÇ§ÛÛ¾ááÅÄÄ®××ÅËË¼ììÜïïàççÚãã×ååÜââÙÜÜÔÿÿÿdddbbbYYYSSSAAA)))   !ù   ,    6   ÿ@‹pH,È¤ryÄär»¨tJ•òz¦¶¨é¡Là°x<Öå²[íÆJ=P‰wA»‘ë6ñÇÿ-á?wIyF8Z?„xlD}~L?vC†B“8 8?8J‚›EŸ¢¡£KªD£ ·¸8u¼E²Ž´B¶¯¡®DÀÂÃ‘¹}¸!*!!) ÍBÏÐÄÆ-84?-
4'-	1#CàÂÓ¡0

77
	ú2D|›NšW ` @pÀÆl0€ÅÀ`òdÀÑ…‰5(¨A @ ‹âÑš'$‡	,˜1Ã$Í  ^„f¥W ¬ ƒÄ
 EêÜYPÏ^F ujUðftºI¥ª/8PK¶¬Ù³c;h]I©­Û·m1ÒÒ0¡‚Ý»xóêÅ;a46L¸°aÂ4		 ;  0707010000bb0f000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001700000003reloc/caldera/procmail    0707010000d0a2000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000001e00000003reloc/caldera/procmail/images 0707010000d0a3000081a40000000000000002000000013d1fe2e2000004b6000000200000000000000000000000000000002700000003reloc/caldera/procmail/images/icon.gif    GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌÌ®®®³³³ÐÐÐÿÿÿôóòÅÅÅ`WOn]LÆÄÂ2Ó2ÿ Æ† úúúÎÎÐÐ¢ÓÓ¨SSSÉÉ—÷÷÷þþþIHH²²²|||ùùù÷öö666$Bsò ÌÌš   {uo’’’›››êêê‘d“bÅÅ”fffvvv£££€€€}||ÒÒÒßßßŒŒŒÊÊÊÃÃÃéééŸžÍÍš»»Œžžž­­­DDDvutZYW¸¸Š………~~~­¬«ÄÄÄïïïìììóóó³³†nnn«««¹¹¸½½½ááá×××çççÏÏÏóòòGGGwwwuuuÚÚÚttt€~|äääungK<.tgZupk³³²lll444OOOš˜eeeX8555MMM


?&4 mga9"NB4=_?A(M-D,? ¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ D áÁ„›*X¸€!ƒ†:xø "„Ê•	[¾| b‡7'(aBÄ	)T¬àðE - U¨fÔ¨.^€†[3¸
¤Ñ‚ÁØ¤.ÍÖ°aãF9jèØÁ£‡#€"¤ÅÑ»ËÚä0d‘"FN82’°JžD‰é%L˜Lh2Á‰ê›OB©ºàè(78H™B¥B+W°ôˆšE6íÚGŸÕ²…Ë„.tx‰úÅ¸]ä%ƒÙÎ½Êöàc”pc{ö¼Å C¥¼ù²É,c¦àìëØá#<³M5k°aÐ}æý£_Bm¸ñÆ?pÄaßqù¡·‘sÐá^„/!U‡"w Fwà‘Ç@¾'áJzp(P‰ùíÁG0Æ(ãŒ4Âè„¶ ãŽ<öè£ø!gÀ€iä‘H&yäb™€D)å”TV9¥	 ;  070701000115a1000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001600000003reloc/caldera/proftpd 07070100012e2f000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000001d00000003reloc/caldera/proftpd/images  07070100012e30000081a40000000000000002000000013d1fe2e2000002db000000200000000000000000000000000000002600000003reloc/caldera/proftpd/images/icon.gif GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   ÿÐÐþ©©ÅÅ”ÿ­­ÿ  þhhþþþþþ		þ..þþddÍÍš»»Œÿººÿÿ		þ$$þ!!þþÖÖþÜÜþŽŽþþÿ‘‘¸¸ŠÿÿÿiiþþééÿKKÿLL³³†ÿ¨¨ÿÿ€€ÿŒŒþ  þ‡‡ÿþOOþ22þþiiÿÿppþþnnþ••þ??þŠŠÿ~~ÿ°°þWWþ[[þQQþ<<þLLòÉ½þ’’þ((þ::þŸŸþoo¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š«ƒª°ˆ­¯¹‚² ½º®‰ˆƒÃ‡»ˆ !"#‚$%¸Î‚Ð…&'()*+,‚-./012Áã„åƒ3456Ø¸q‡†:˜å´o‡=ùø$Q	›-ü³ïÇ!CˆÀøQD‘‘#7r,ö'„G$I”,!’ˆI'Rn„öäB hÒ¹pW)¦ú±‰h¾VTU±²´©Â,ÿ\!ôÁªÆ¢Yÿ`”Å«Ê}ÎœŽC;L­3¶9½Üc e—»xóêÝ{·ËÕ¢L¸pá¯ùxùÂ¸±ãÇ{¶€˜3kÞÌY³q‚ ; 07070100015c20000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001600000003reloc/caldera/pserver 070701000171ce000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000001d00000003reloc/caldera/pserver/images  070701000171cf000081a40000000000000002000000013d1fe2e200000493000000200000000000000000000000000000002600000003reloc/caldera/pserver/images/icon.gif GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   {¡•çÑU·³G»®4¸¨,²¤4¦¡4Ù½Ì³ ÅÅ”¿Ã{ëÔXìÇ)ª‘PT$/0'F.Q0V/PU­™îÔP¡ŽÍÍš»»ŒßÑlúÖ;ã½xk,A÷Ü^îÇŠx¸¸Š{œˆùÕ;ïÆ	¬3=VŽž¿Áy÷ÙNôÌÑ­VT³³†õÎ!íÅ³”®ºýÝSùÓ+ôÌå¼‘{,>áÁîÄÚµí×_øÒ(÷ÏóÊÚ´’z!2.Ð°ä»äÀÃ¿møÓ(õÌïÆ ‹-AFbNÇ¦å½øÑ ~–jÉ®óÊðÇµšgk,fi0‹ŸŽ“‹-†ˆ?py@hvHBYH{}1æ¾ñÈä¼ms4`o@Í¯ëÂÝµ¥”áºÄ¨¼¡Ï°À§>b]Êª	£›0grH¦ž0ƒŠM¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ•@ˆ a•0¶|™S M ôÔé’ …2hØÀ¡Bÿ>T`0ôàN BˆA¢„‰(R¨0¸‚Å¿.*à¬*ðê1dÌ`H£†neKp'Ž:vðPØÃÇ A„2•ïÀ«DŠQxI%K˜4YÜØñ¿«Nž@IEÊ*U¬\È˜ªç«ÿ°dÑrp—.]¼|C°µçÏE†3†L™‚fÆœA“¦ ï×ÁªYÃ¦›7pâÈ™C§Ž;½;q;†­O={Â»}#Ÿ>~X‹çK~å@8¯§ß~¥ A„üó{<Uˆ!òW`U‡ÌÇˆ$¢È„Vhá….â`UTàá‡ †(¢ˆû±e #¤¨âŠ,¶¸"#By€Ôhã8æx£k	 ; 0707010001fb12000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001900000003reloc/caldera/qmailadmin  070701000212db000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000002000000003reloc/caldera/qmailadmin/images   070701000212de000081a40000000000000002000000013d1fe2e2000004b9000000200000000000000000000000000000002900000003reloc/caldera/qmailadmin/images/icon.gif  GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢âââÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—###   }}}ÀÀÀ‚‚‚ÅÅ”§¨¨›¬Š‹ŠÍÍš»»Œèèè£¾£oiff*u,úúúæææ¸¸ŠõõõÂÄÂ˜º™h\¡\D‹@(w(Y¤YCŒBgÝéßNNN³³†ÛåÙgn­mgfhgnN•N7t8]‘_&x(o&s+øüúûþûµÑ¸h?†?hoooÒÒÑ<…<f¦Ä¦þþþýþþ's#pn½ÉÀÆÆÆEEEÁÂÁþþú5}5gŒ´ÎàÐËßËéñçmtk÷þø–––¯‡m+y**x*(p%IY'u)fq¯oföùùg^¡_9z7%r%wHg<†:f‚®„ÎÎÎ(((hDŠDq­o§b;Q™Pp@@MMMšššöú÷WW(r!{Jm---,,,£££%%%…†…TTTggg'p$0^XŒZJJJ3334221//QQQffføøøôöö¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ …Bˆ a…
*W&lù2¡…„3\0 S!Oƒ2Ô€pÃEwº<ÈA`~ q!gT‚G†(b‰&N ˆ"A*†~5ößŠ,Z¸x#†Œ4jü³aðÆÓ¹ë
Ä‘CÇ=|ü ¡a¨ˆ*þ'd‘"FŽ I¢d‰åÃ™ÖeÒäŸ“'P¢D‘2…J+W°¬ x9µê©³hù·…K/_À„3†Ì¿2{ûÞlæš4jÖ°iãæÍiÌ©—ÃùGÎ:uìÜÁ“ç»ïuõìÈ§Ÿ?€	"8ˆÐ@éáWP!†‚H"ÿ(²#8ò$ÿ¡`OE"É$ÿPR‰%—`’‰&‚—Ùf‡Ð&!¾G¢Fœ¤8]'ž|"ãŒ4Öh£Œ H8â<öèã@)"b„"Ê‘H&©ä’I†B”o ÀÀ”TViå•Uà•@ ;   0707010002869d000041ed0000000000000001000000033d1ff9e300000000000000200000000000000000000000000000001400000003reloc/caldera/quota   07070100029e1a000041ed0000000000000001000000023d1ff9e300000000000000200000000000000000000000000000001b00000003reloc/caldera/quota/images    07070100029e1b000081a40000000000000002000000013d1fe2df00000223000000200000000000000000000000000000002400000003reloc/caldera/quota/images/icon.gif   GIF89a6  Õÿ ++×llÿˆˆÿ——ÿ¿¿Ûôôõ!—J£¥4ÕÕzßß¦»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšÎÎžÑÑ¢ÓÓ¨ÕÕªØØ±ßßÂééÒýýü——–éç¦êéÉËÄ,µ¯'·±)®¨'Ã¼2²¬0×ÑGÒÌJÌÇNàÛsôòÑûúîóòî×ÖÓìëêÿÿÿúúú”””fffdddccc```YYYSSSAAA333...)))   !ù   ,    6   ÿÀ‡pH,È¤ry„Øn¹¨tJ•êv¦¶(Ùm4à°x<ÆÝ²[íÄ‡I-LFA»‘ëö]‡ü${xlE…?2?‹G?GyC  ‹Š0ŒD
?v‘B“‹ª‰=13? ¥D§‰2¼¼5¼Á´D¸Cº0½¾¿2 ÅCÇÉº1)&ßß¿544ÕB×ÙÚƒ?3/	+'(&ãåçéÙºï-!¨8QâžræŠðK¦ëƒ€,RŒ(ˆ/¡1dýØýpQ"Åƒùbd¨‘cˆˆ#HDÈC$6’zÚñqR¢Êq?ZºTwj@U@‘,ÄÕ3ÒÐRE4Á…P£JJj…‘DjÝÊk)	ˆK¶¬Y² eƒ a‚Û·pãÊ…+”  ; 0707010002b480000041ed0000000000000001000000033d1ff9e400000000000000200000000000000000000000000000001300000003reloc/caldera/raid    0707010002ca5e000041ed0000000000000001000000023d1ff9e400000000000000200000000000000000000000000000001a00000003reloc/caldera/raid/images 0707010002ca5f000081a40000000000000002000000013d1fe2df0000022f000000200000000000000000000000000000002300000003reloc/caldera/raid/images/icon.gif    GIF89a6  Õÿ ..æ=@@jpoEJIuzy8<;6:9ahf:?=LQO]dabfd`dbqsq=?<—™•ŠŒ†«¬¨»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÑÑ¢ÓÓ§ÕÕªØØ±ëëÖÙÙÕÑÑÎííëééçççåööõ²±­ÇÆÂ¿¾ºØ×ÓâáÞÖÔÐÏÎÌÌËÉÖÓÎôóóÿÿÿúúú³³³dddbbbYYYRRR@@@)))   !ù   ,    6   ÿÀ‹pH,È¤ryÄàpº¨tJ•îx¦¶¨áDà°x<Îá²[í¦J=Ph‡A»‘ëö]Çü4{xlC?„FyD?Ž7C‘|?v‰‹B?/556-?Ÿ¡£ošCœ	B°²?$C‡¬B®(%,-BÃÅ5¼¾¿œ*4.“¸7×ÏB½ˆÒƒB('0ž ¢?ê
áã¿›æ&1+¶j¬h0àÇ.qÑX¹šÑèƒÄŒ¨áh ½z	5- @ˆÕº}Uã 4r
ýè8<y‰Ø+×f%½}ýD23eMLG¤.0j1IOƒH^$ARÉÑD®=%´Á‡
X³jÝÊk‡ŒPŠK¶¬#”š4P°À¶­Û·pÝR ôƒ†xóêÝËW¯†LB‚  ; 0707010002fb03000041ed0000000000000001000000033d1ff9e500000000000000200000000000000000000000000000001400000003reloc/caldera/samba   07070100031037000041ed0000000000000001000000023d1ff9e500000000000000200000000000000000000000000000001b00000003reloc/caldera/samba/images    07070100031038000081a40000000000000002000000013d1fe2e0000001e4000000200000000000000000000000000000002400000003reloc/caldera/samba/images/icon.gif   GIF89a6  Õÿ »†ŠŒÃ¯µ`ïò—»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨ÕÕªÔÔªØØ±ˆ‡„¤¢žvusfffdddccc```YYYSSSRRRAAA)))                                                                        !ù  
 ,    6   ÿ@…pH,È¤ryd€B£¨tJ•–L¦¶è0i0à°xÎ`D¡ìVû8UÖÃ	År!-Ôpdû}ô,å(yI{I(
(ŠH(„znK(  ‹E	(xC†F~
•–Š¡
‚EŸFˆŠ¥¦¨
Ž­D¯ ¾Š¦ˆD¸ºB¼B¡(¿µEÄÆÇ’°Š(Í—Ã¹ÒÈCÖŠÙ(¶BÑÞÔIáÛÜÅÆß}æçÝðêè÷|JíÐöº>±GPÜÜISŽ¾€ø =lõ`„3jÜÈ£€ŠId'¨\É²¥K–IcààÍ›8sêÄé€“  ;07070100032754000041ed0000000000000001000000033d1ff9e500000000000000200000000000000000000000000000001700000003reloc/caldera/sendmail    0707010003553c000041ed0000000000000001000000023d1ff9e500000000000000200000000000000000000000000000001e00000003reloc/caldera/sendmail/images 0707010003553e000081a40000000000000002000000013d1fe2e000000238000000200000000000000000000000000000002700000003reloc/caldera/sendmail/images/icon.gif    GIF89a6  Õÿ x  ¡cP11êbbÿQQµÿÌÂÈyïò—ÊÊ—ÆÆ”ÃÃ’¾¾Ž»»Œ³³†®®‚ªª££zžžvÀÀÀÊÊ˜ÈÈ–ÄÄ“ÁÁ‘½½Ž¹¹‹µµˆ²²†ššt••p’’nÌÌšÎÎžÑÑ¢ÏÏ¡ÓÓ§ÑÑ¥ÓÓ¨ÍÍ£»»•ÕÕªÑÑ§——yÙÙ³ÌÌ«ÛÛ¿ÄÄ®´´ ÌÌ¸ïïàììÞÞÞÕvusÿÿÿdddbbbYYYSSSAAA)))   !ù   ,    6   ÿÀŠpH,È¤ry¼är»¨tJ•òz¦¶˜éµTà°|:­Êa].»Õj|#æ¥áÈ0,!ÑèÄ[°ÛIoqI).(y?€J‚J 05ŒB?“>$~E,165&B!?¤Do$F1²4%Ž‘»Fo"(-ÍD¬2Ê -B¢ÑE½¿?ëìì˜0ñ ÌäæçC½~?8ýþþ?RÈ¨`@={£ð	©TáÇ

"J\Gç½l.„#„ß‰$àwÁ¶"å*dÈ/ÁÇ	FâH’Rc–8bÞØS&ÍU{+96ÌÙ³(¿Ÿ*ñ±lÇô(’šVøGu&R›R£A:èÜV¥36LK¶¬Ù³cA UÚ´­Û¦IÏe@¡®Ý»xóÞ• Iã%€LXp]B‚  ;07070100036d20000041ed0000000000000001000000033d1ff9e600000000000000200000000000000000000000000000001500000003reloc/caldera/sentry  070701000382d4000041ed0000000000000001000000023d1ff9e600000000000000200000000000000000000000000000001c00000003reloc/caldera/sentry/images   070701000382d5000081a40000000000000002000000013d1fe2e2000002e5000000200000000000000000000000000000002500000003reloc/caldera/sentry/images/icon.gif  GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—   ïçâæÚÑÅ¨•Ì²¡ÅÅ”¦z\Å¨”lK¤vWÍÍš»»Œ®…jžmLÍ´£Ð¹©¸¸Š«e²Œr±Šp³³†¼›„Ò¼­Ó½®mL¤wX©~a¬eÂ¤ pPÔ¾¯¨}` pQ§|^Á¢É­›§{^ qQ¿ŸŠÊ¯žÈ¬šŸnN¡qQ£vWÉ®œåØÏ¯‡lîæà¦y\¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š«ƒª°ˆ­¯¹‚² ½º®‹‚‚ƒÃ‡»…‚‚‚ØÙ‚ ¸Ñ‚Ó„Ý!‚"Ø‚#$±%Áã„åƒÝ&'(×&‡)ÏòÑÃ¦âÏŠnXüiáÂÐ?hÿüÓaÃÝ8ÀˆAèaD‰ÅÌuñgFjtÀà`Ä‰»ÙèpãŽÕ
y|²^LA9:è´ƒGŽ.ÂŒÙÍG‡ˆv*íÉé  êL*o)ÓA	ò)Ä©¼|~íàHT®Cã¼®íP¤åÙ®T‡Iíjä’¿€ü7	Üh*(^Ì¸±cÇwÇP²¤²åË˜3_V"," B‹Mºôhâ ;   070701000399f6000041ed0000000000000001000000033d1ff9e600000000000000200000000000000000000000000000001600000003reloc/caldera/servers 07070100046bba000041ed0000000000000001000000023d1ff9e600000000000000200000000000000000000000000000001d00000003reloc/caldera/servers/images  07070100046bbd000081a40000000000000002000000013d1fe2e000000225000000200000000000000000000000000000002600000003reloc/caldera/servers/images/icon.gif GIF89a6  Õÿ 33Ì44Ìˆ…ÉÑJÙâaêòsëózÔÝ6ïò—»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÑÑ¢ÓÓ¨ÕÕªØØ±ÖÖÑ´¯Q¤ JÆÅ»wvsÖÔÏÑÏÊ¤¢žÌÊÆãáÝÜÚÖØÕÐÖÓÎÔÑÌÓÐËÚ×Ó•’jhf¾»¸èçæƒ€~àÝÛÿÿÿiiidddccc```YYYUUURRRAAA888...)))   !ù   ,    6   ÿ@‡pH,È¤ry|Ìh¶¨tJ•âr¦¶Éi2à°x<®Ñ²[­„wI+–÷@»‘ë6òÇïûp?wIy{1Š‹1'?C?…xl{'ŠššŽo	?v”C‡B25S8:1Bƒ¢E¤7ŒŒ?1«°C
’¶D¤:..$  ¼¾ÀDÃ“ÅB¤;$$%‹Ð½«ÓÂÄ×Ù0%*Í àÒ±BÕæç–Ú%&ßÑãòÊ]C§bCŠvï¼Šç`ž9t P„á¡¸5hm =mBŠç5ÅÐéŠá‚£'NvLi¯+V¼øð/B%=êñCôg’ 4õØBjK‚	¢JJµjT
(›ÝÊµèL[4K¶¬Ù³e2÷ ‚„·pãÊ7B(!A  ;   0707010004828c000041ed0000000000000001000000033d1ff9e700000000000000200000000000000000000000000000001400000003reloc/caldera/shell   07070100057cb6000041ed0000000000000001000000023d1ff9e700000000000000200000000000000000000000000000001b00000003reloc/caldera/shell/images    07070100057cb7000081a40000000000000002000000013d1fe2e0000003c8000000200000000000000000000000000000002400000003reloc/caldera/shell/images/icon.gif   GIF89a6  Æ  ÒÒ¤ffdbbdZZ\RRTBBDÆÆ”ÊÊ”ÚÚ´ÖÖ¬ººŒ**,³°¶®¨¨°ª°®ª¨ÎÎœÂÂ”¸³¶¨£¢ š–¾¸»ª£®ª°£ ¢¾¾Œº³»ª£¨¸³»ª¨¨À¾Ã ž®¨°®¶®¨°¾¸Ã¨ ¢žš–ÄÀÈ£žž˜£ž¢ ž¢¾ºÃ¨£¨³®¶¸°¶²²„³®°•¸®¨ª•\°šh®šo°žuªU¨aº³¶££¢° |¨ °®°£ž–¾³¨ Žhšš–®®°ž•‚¾³¢š˜–••³£‚ÀºÃ  žš¨¨¨Šˆu užžšš¨š‚ŽŽˆ  ¢ŠŠ‚°°°š•–¾¾Ã˜•˜Ž|ŠŽˆ••–ŽŽŠ}h˜•–Ž•˜˜–ˆŠˆŠŠˆªª¨€…|°°¶˜˜¢¢|žžtªª|’’lÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘“”“’‘Œ…	£¤¥¦¤ 	“žž
 ‰… ­‹¯±…„¹¿Š…´³ …ÐœÓˆ°„!"#$%&¶‚¬æ†¯®	špÂ‚‡(J¤PAa-\¼F¿ Ó	ÂcƒŒ4jØ¸#‡%X”P1È¢4Œ„ª%o‡<z4hàãÂ A&¼ ‘ïE0	$dC
|¼À0ÂÇ:ˆ1ÒâÁAG“ZúÀÄ$&’(a±ÄƒþV„rB°|‰ýƒ.Mœx€¡‚&.ž°P%Š”Kð¾ûj¦…)A¨0ÁPeˆ/ \y2–,20àÕKYãÔZ¦H@‹(W·,áÒEJËH÷Vö„—/Bv(á fD(LÂH#ƒË½ªA äá‹”-SH™0$Ì1T<
»·r¡VŽì˜@…™#e„\0t½½ÆAB˜€…HaÄex`ÆüEƒÝp…øÐ2œác<±ÂEýœX ¡@j¤‘Æ&¦¨¢Š%š¸À=˜ÁŒ4Öhã7N–”k¨áã@)$kè“( €,É¤’K:éd“Q6?„ ;07070100059309000041ed0000000000000001000000033d1ff9e800000000000000200000000000000000000000000000001a00000003reloc/caldera/shellinabox 07070100067a9c000041ed0000000000000001000000023d1ff9e800000000000000200000000000000000000000000000002100000003reloc/caldera/shellinabox/images  07070100067a9d000081a40000000000000002000000013d1fe2e200000537000000200000000000000000000000000000002a00000003reloc/caldera/shellinabox/images/icon.gif GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÚºŠßºß¾Þº‰Ö·ŒÎ®~Îª|ÐÐ¢ÓÓ¨SSSÉÉ—–n]ˆkawZSwVPpZTqVQnNMÂšvÌÌšÎÎ   Î¦|vefNNjNMjJKfJL^NN^JJZJJxaYÓ²ÅÅ”†veNBFJBGRFFRBGVFFFBFRFJªšŠÊª†ÍÍš»»ŒŒze^FJDFJNFIjRNÙÁ²¸¸ŠbJJ–r\~^UÛ²…³³†àÂ’ZFIrRPnROƒ`XiW²‚^bNMÖÂªÕ²ŠbS¢rV†f\Ö¾ªÔºš‘~iJFHvMK½‘pZNMÒ¹¨Ò®ƒÚ¾ŽªzdÈ¡€Ú¶ˆ–yfÆ¨›š‚l¶“x½–uÐ­’´‹n¦~b–zpÒ®~p^Y†~´›…Æ®š¼ž|¶Ž~³¦ŸçÛÏâÓÉÒº®¼©›Ð®ž§Ž…­”xVJK–~jº”„°•€¦†pPJL¦‹r«ŽuÖº‚¡Šn¾¦†š†lÛ¶Òª{¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒbBˆ a¦„›&P¨`áBOT®LØò¥@8pè T©‡>| ¢‚ˆ Hª°èÀ&N {âDŠ*V°háâE0H0àJÔ%Ì2fÈ QÃß7nàÈ1A‡À<H¥KÐ«@	=òÖ8áƒ¼?€2áí?C´26èøäË2X€ ’×Æ‡"F„¡0‰ÜÑK'éAC¯K˜4qò„”(Rh´=÷ÀÒzÌ˜n#Š)O¨T¡ÑÂÊÏÿ˜þ;nW`,Yn ¢û–-E²pé2ÁKíÛãÿ•þÂ›ÅX`„±…[Œ(~ãíW†
D‚f”@Åh¤¡Æ°q_s–÷Ïc´à—x‘Fn¼GrHáár:WÚ&Ô&”PÄBÐQ‡w1ã‚ Ú("dY4)ƒfa:t!Gnèña~ú-‰E^3ØÆ{ðÑ‡¸ H ‚l™_iƒÄAÈœ‚°!H „¼Qˆ†”1xâ½)bL1}Á¡|1È/tv"n6˜ˆ"‹Tjé¥˜fZ)#5âÆ 	 †*ê¨¤’š$n4âÈª¬¶êê«­6²U~ ÀÀ­¸æªë®¹°˜@ ; 0707010006a7fd000041ed0000000000000001000000033d1ff9e900000000000000200000000000000000000000000000001700000003reloc/caldera/software    0707010006ee1d000041ed0000000000000001000000023d1ff9e900000000000000200000000000000000000000000000001e00000003reloc/caldera/software/images 0707010006ee1e000081a40000000000000002000000013d1fe2e00000024d000000200000000000000000000000000000002700000003reloc/caldera/software/images/icon.gif    GIF89a6  Õÿ ­gk£S[œ0OssÛ’’Ñ½½Í¢£—±²¦£FËÓ5½Ä@£¥4×ÙÝÞ«××zßß¦»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎž……fÑÑ¢)) ÓÓ§ÓÓ¨WWE;;/ÕÕªEE7ÖÖ¬ÔÔªžž€ÙÙ´ááÅ¢¢ééÒòòårrpéç¦.-(»¦À¬Š¼›ƒ¸†~²yscccYYYSSSAAA...)))   !ù   ,    6   ÿÀŠpH,È¤ry´ärº¨tJ•îx¦¶xá©Jà°xF•žÙ­ãû¨‡›ÎG´³¤ßH¶/Œ[~|ymF&$ˆˆ F‚GzF!?-.™)F?w‘B“E'?0.	19‡‰ €£D¥D§©	<©4À5?!B?¶¤„# .)¨.
2=©6ØÂ'ÅÇÉÊn!#-?Ò
3©7ì6?ÛÆÈÉ“'êäæ©ê.8ÿ7Þq›g«žø~p`E? qŒ×Í[=T	hdÑ/ D åy«pá€(Xáb¡€—\Ài‘®èü¡B…ÆjŸ?gV¤gS!ÎH”@±¢…Ó§+ˆQ$8ê"Ð BœØÊ5D§©#'…húÔiT&4‰ºÉÊµëW%i¾È0¡®Ý»xóÖÕ0´àÕ¿€÷uA…Ãˆ+^œXB o.`˜L¹²åË•/ˆ ;   07070100000194000041ed0000000000000001000000033d1ff9ea00000000000000200000000000000000000000000000001400000003reloc/caldera/squid   07070100002fef000041ed0000000000000001000000023d1ff9ea00000000000000200000000000000000000000000000001b00000003reloc/caldera/squid/images    07070100002ff0000081a40000000000000002000000013d1fe2e000000231000000200000000000000000000000000000002400000003reloc/caldera/squid/images/icon.gif   GIF89a6  Õÿ »†33ÌÙâaêòsëózÂÈyïò—»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒ¤ J×ÖÑtspèçäÜÚÕÕÓÎ¤¢žÌÊÆvusãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿêêêiiidddccc```YYYUUURRRAAA999666111...)))$$$   !ù   ,    6   ÿ@†pH,È¤rylÄd´¨tJ•Ún¦¶ø¸m2à°x<žÉ²[-„gI'ÆÖ@»‘ëö]oü{xlC?„FyC03Q69D'?'D?v‰‹5.£¤?“?ª?oCŸ8""/?¨ªª —B‡°BŸ;((£?½¾ ¬ÂÄÅÇÉ-#¸ºÐ¬Ò?.Õˆ×ƒÈ# ÍÏÑ.ÓâÃä°Ø  Üí©á ñãŠy2‡Ž	+œy“pž5{“‘rÑMHªÖëtÌ‡€)X„PÑ®ÆpCè	<ö£¥Ë–Z(@³@Ë€åô\àÐ¡§ONTÙDU'D=zèXÊ´‡—ò\åh.‘Êk"(ØÊµ«×¯[%<äø²¬Ù³e7&z`Û·pãÊ…› P± èÝË·¯_¾8		 ;   070701000047ed000041ed0000000000000001000000033d1ff9ea00000000000000200000000000000000000000000000001200000003reloc/caldera/ssh 07070100005edb000041ed0000000000000001000000023d1ff9ea00000000000000200000000000000000000000000000001900000003reloc/caldera/ssh/images  07070100005edc000081a40000000000000002000000013d1fe2e100000201000000200000000000000000000000000000002200000003reloc/caldera/ssh/images/icon.gif GIF89a6  Õÿ ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   !ù   ,    6   ÿ@pH,È¤ryäÐj·¨tJ•æv¦¶èÑ±Rà°xV¥lµìVûé•ÖÃÉtÂmÔpdûÊ9?}znƒC?†F{C?‘I?x‹B?.ž?I#!˜Cš?3¬­3?1I‰¦B¨ª31º.¬°²´µ·«¹¼½±-G³ŠÁ…›Ã1Å¯12?(EÊµ™Í©ÏÑ°ÖDÙÌ|Ý®­°¡Cæ¦·‘ö1¾Bó˜¨4è8PH‚ ðˆå=nIPà†þ-
˜ä¤‹å„¨d†8öA9èƒbÊœI³fL"7ÚÛÉ³gNC,`J´¨Ñ£E-ªÅÁÃ‡§P£JÕÃ%!A  ;   0707010000754d000041ed0000000000000001000000033d1ff9ea00000000000000200000000000000000000000000000001300000003reloc/caldera/sshd    07070100008dc4000041ed0000000000000001000000023d1ff9ea00000000000000200000000000000000000000000000001a00000003reloc/caldera/sshd/images 07070100008dc5000081a40000000000000002000000013d1fe2e200000201000000200000000000000000000000000000002300000003reloc/caldera/sshd/images/icon.gif    GIF89a6  Õÿ ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   !ù   ,    6   ÿ@pH,È¤ryäÐj·¨tJ•æv¦¶èÑ±Rà°xV¥lµìVûé•ÖÃÉtÂmÔpdûÊ9?}znƒC?†F{C?‘I?x‹B?.ž?I#!˜Cš?3¬­3?1I‰¦B¨ª31º.¬°²´µ·«¹¼½±-G³ŠÁ…›Ã1Å¯12?(EÊµ™Í©ÏÑ°ÖDÙÌ|Ý®­°¡Cæ¦·‘ö1¾Bó˜¨4è8PH‚ ðˆå=nIPà†þ-
˜ä¤‹å„¨d†8öA9èƒbÊœI³fL"7ÚÛÉ³gNC,`J´¨Ñ£E-ªÅÁÃ‡§P£JÕÃ%!A  ;   0707010000a26a000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001500000003reloc/caldera/status  0707010000bb10000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001c00000003reloc/caldera/status/images   0707010000bb11000081a40000000000000002000000013d1fe2df00000504000000200000000000000000000000000000002500000003reloc/caldera/status/images/icon.gif  GIF89a6  ç  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—ýýüýýûþþûùù÷ééèÆÆÅ«ª­±±±ÇÇÆççäüüúþþü   èèæ­­¬~}}mmoœœœº»¸ÅÄÃ»»»³³³®®¬ÙÙÖúúùÅÅ”ÖÖÕopq__b©©ªìíëüüûõöôÑÒÍ¾¿½ôôòÍÍš»»Œóóðono[Z`ßàßëëê§§¨˜˜š˜™™••˜Ÿž¡ÊÊÉææäêëçªª¦¤£¡ñðð¸¸ŠÆÇÃGGL}|““”¢¢¤sst˜—–„„†~~ggjVUZXXZ………„„ƒihj››š³³†ññðjil>>DNNS»»¼jhl@?E>=C?=C?>CA?DDDHRQTZY^¯°¬ûûùÁÁÂA?EGFL““•ZY]?>DVUYkkmA@FFDKPOT{y}HFLqpq¿¿¾GEK`_cddfuuwJIMDDIIHMBBGccdHGMççç‚‚„SSVÆÆÄììëŽŽŽ……„ÒÑÎYX\RRV^]bŠŠŠSSXööö¬¬ªA@E>>CCBHžžÕÖÖ¹¹ºnnoÑÒÏ™˜™KKO»»º±±³µµ¶ÞÞÛfegªª­ëëè~~~ddg…„‰êêéñññ¼¼»ÃÃÂ¡¡¡ˆˆˆêêçµµ´¸¸¹ÓÓÒ  ŸqqsDCHRRWððîýüü÷÷õóóòîîìááßÇÇÃ‰‰‰ssvzz|JIOÀÀÀüýûêëèÎÎÌ   WVZ©¨¬ûûúêêê®®¯ÍÍÎýüûÞÞÞÄÄÃââà¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    6   þ ÿ	H° Áƒ*\x@ "JœHQ" j,hà ‚ CŠRA‚2nÔÈ ƒ•@ˆ a•0¶|YC8tððÁ L !äL¸“ ˆ$J˜8"…Š,Zt‚ÁR.¾€CÆÒZ¨aãŽ‚9t„Àùu`Ó;xôðñH!Cˆ1rI%,IZ·à]&Mœ<EÊ*U¬\Á’EË–·¹tmL°i/_À„3†L™2fÎŒù‚&š5lB&-°i7oàÄ‘#g2uìÜÁSÇM=?t{åý¯é>}üü!( 2ƒÐ2tèËD‰¤S¯VÑ"F	zIÎ—H’&Qªdé¦LêQw—&›pÒ‰'Ÿ€Š(£RŠ)§ RG*ªÈÛ]­ÂJ+®¼Â,±È2-µØr.‰6Ý…aÄ†.»ìÀK/¾üL0ÂSŠëa˜P1ÆƒL2ñ(`‹
-ÃÌÍd$‹<%ô4Ñ$ô$i>~uecH35`†)æ˜d‚YÍn† æšl¶é¦›+’f€5×Ôiçxæy§5JQ€*è „:¨t	 ;0707010000d0a4000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001600000003reloc/caldera/stunnel 070701000115a2000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001d00000003reloc/caldera/stunnel/images  070701000115a3000081a40000000000000002000000013d1fe2e2000002e4000000200000000000000000000000000000002600000003reloc/caldera/stunnel/images/icon.gif GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢ÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—TTT   ]]]ÈÈÈÉÉÉEEE...ÞÞÞ×××hhhÅÅ”100/..~~ª¨¨bbbÍÍš»»Œ¸¸Š¨”OOE³³†wh&XM3-/-#¾½½•••_^^˜––rpp211óóóÿÿÿäããÈÇÇâáá§¥¥‹‹´³³¼»»LKK¶µµ¹¸¸£¢¢°°°ÐÏÏàßßÌÌÌÃÂÂÂÁÁussljjtsskiihgg<;;†……“’’ŒŒŠ‰‰„ƒƒ¿¾¾°¯¯NMM&&&TSSTRRº¹¹]\\ÐÐÐlkk½¼¼âââ¸¸¸???ÀÀÀÇÅÅ‡……MLL¹¹‹££z’’nªªžžvÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š«ƒª°ˆ­¯†Œ² ¹‰»†‚¾„Äº®‡‚ !"#$%„&'¸ÖƒÆ‹Û‚í±(Âé…ë‰)*Š+Ôó„õ‡,-\¼H¤¯?AþU€ãŒ4jÜwðOB7päÐ±ƒG?€*XÑ"6BA„B¤ˆ‘#H$QbˆdÅ„K˜4qòJ)S¨T±r¥Íƒ	ÿˆÀRàOZ¶üáÒÅ‹QŠHOjú&ÌUƒYyi3†LBGù%Edæš4BjÐbU«5]ÚykaÝMÇàÊ6€Lp›¹xµ)^Ì¸±c°ü¸yC¹²åË˜-»V€ C‹MZ´t‚ ;07070100046bbe000081a40000000000000002000000013d1fe2df000006a1000000200000000000000000000000000000001800000003reloc/caldera/style.css   BODY 	{
	font-family	:	Arial, Helvetica, sans-serif; 
	margin-top	:	0px;
	margin-left	:	0px;
	margin-right	:	0px;
	margin-bottom	:	0px;
	padding-top	:	0;
	padding-left	:	0;
	padding-right	:	0;
	padding-bottom	:	0;
	border-top	:	0;
	border-left	:	0;
	border-bottom	:	0;
	border-right	:	0;
	width		:	auto;
	background-color:	#FFFFFF;
	}

A.navInactive
	{ 
	font-size	:	8pt;
   	text-decoration	:	underline; 
	color		:	#FFFFFF;
	background	:	transparent;
	font-style	:	bold;
	font-family	:	Arial, Helvetica, sans-serif; 
	}

A.navInactive2
	{ 
	font-size	:	8pt;
   	text-decoration	:	underline; 
	color		:	#CCCCCC;
	background	:	transparent;
	font-style	:	bold;
	font-family	:	Arial, Helvetica, sans-serif; 
	}

.navActive
	{ 
	font-size	:	8pt;
   	text-decoration	:	underline; 
	color		:	#FFFFFF;
	background	:	transparent;
	font-style	:	bold;
	font-family	:	Arial, Helvetica, sans-serif; 
	}

.navActive2
	{ 
	font-size	:	8pt;
   	text-decoration	:	underline; 
	color		:	#000000;
	background	:	transparent;
	font-style	:	bold;
	font-family	:	Arial, Helvetica, sans-serif; 
	}

P, TR, THEAD, TFOOT, TH, TD, 
DL, OL, UL, BLOCKQUOTE, SPAN, BR
	{
	FONT-FAMILY	:	Arial, Helvetica, sans-serif;
	}

.EightPoint
	{ 
	font-size	:	8pt;
   	text-decoration	:	none; 
	color		:	#000000;
	background	:	transparent;
	font-style	:	light;
	font-family	:	Arial, Helvetica, sans-serif; 
	}
	
A.bodyNav
	{ 
	font-size	:	8pt;
   	text-decoration	:	underline; 
	color		:	#000099;
	background	:	transparent;
	font-style	:	light;
	font-family	:	Arial, Helvetica, sans-serif; 
	}

.bodyText
	{
	font-size	:	8pt;
	color		:	#000000;
	}
   07070100012ec3000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001500000003reloc/caldera/syslog  07070100015c21000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001c00000003reloc/caldera/syslog/images   07070100015c22000081a40000000000000002000000013d1fe2df0000021d000000200000000000000000000000000000002500000003reloc/caldera/syslog/images/icon.gif  GIF89a6  Õÿ 566OPPFKJ‡‹‡uwu:;:«¬¨ÇÏU£FÜågçïnÒÚfïò—56#»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎž……fÑÑ¢ÓÓ¨WWEÕÕª@@4ØØ±²²±——–³®Q¢žI‹‡?»·báàÜËÊÇÙØÕ‚€~ÞÝÜÿÿÿããã¢¢¢jjjdddccc```\\\YYYSSSHHHAAA...)))      !ù   ,    6   ÿÀ‰pH,È¤ry¤Ðj¸¨tJ•æv¦¶hÙBà°x<¶Õ²[í¥çI5Ï'GA»‘ëvqf³Žp?wIyE90Š‹0?H?…xlE
;;)(Ž€?v“C‡D<
:D'ŸCBƒ¤E¦C=	C0*­ŽŸ‘´D¶B$7‹
­?¯Â’ÄBÆËŠ+Ÿ?ßBÔÖ×•E"?ëìBá­åæØH‚0ð¾óÖ¶2&l ¢Ã…wñŠì#fk Œ/^@d1¾„
‡ÑC7ÁŒ#ë0f¬Æ#>x Pá×:$iÙja@†5µÄ$UïÎÎ:I=Ýü,t†H“*]ÊiüØIJµê:’Ä,@Àµ«×¯`½B dŽ‚…hÓª]ËV­…QB‚  ;   070701000171ef000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001500000003reloc/caldera/telnet  0707010001fb13000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001c00000003reloc/caldera/telnet/images   0707010001fb14000081a40000000000000002000000013d1fe2e000000201000000200000000000000000000000000000002500000003reloc/caldera/telnet/images/icon.gif  GIF89a6  Õÿ ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   !ù   ,    6   ÿ@pH,È¤ryäÐj·¨tJ•æv¦¶èÑ±Rà°xV¥lµìVûé•ÖÃÉtÂmÔpdûÊ9?}znƒC?†F{C?‘I?x‹B?.ž?I#!˜Cš?3¬­3?1I‰¦B¨ª31º.¬°²´µ·«¹¼½±-G³ŠÁ…›Ã1Å¯12?(EÊµ™Í©ÏÑ°ÖDÙÌ|Ý®­°¡Cæ¦·‘ö1¾Bó˜¨4è8PH‚ ðˆå=nIPà†þ-
˜ä¤‹å„¨d†8öA9èƒbÊœI³fL"7ÚÛÉ³gNC,`J´¨Ñ£E-ªÅÁÃ‡§P£JÕÃ%!A  ;   07070100046bbf000081a40000000000000002000000013d1fe2df0000027a000000200000000000000000000000000000001b00000003reloc/caldera/template.gif    GIF89a6  Æ  ššìpp©ŸŸí‚‚¾¦¦ï¨¨ï±±ñ­­à¾¾óÀÀô¨¨ÒËËõÐÐöØØøŽŽŸääúççûììûøøý—™•»»Œ³³†ªª££zžžvÍÍšÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹¸¸Š’’nÌÌšÎÎÑÑ¢ÐÐ¢ÓÓ¨»»•ÕÕªÔÔªÖÖ­ØØ±ÞÞ¾ÇÆÁtsp¤¢žÿÿÿ}}}fffdddccc```YYYSSSRRRAAA@@@333)))   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  < ,    6   Å€<‚ƒ„…†‡ˆ‰Š‹‡457‘’“”’9;Œš…:,) ¡¢£¡*)65™›š=%«ƒ#$&'8ª°ˆ­¯¹‚²?½º®Ãƒ?Æ†»Ë<?¸ÎÍË#!ÁÎƒÕËÉÚ‚ÜÆÞÊàâÃäà<ç½éæÅÎîÚì¹òÔðÝßï¼ùåóøãôýãÐß=‚èÔfoÙ .HœH±¢E‰":üÁ±£Ç A\æÁ†“(Sª\™Ò‚0p<|˜I³¦Í›5=L ;  07070100046bc0000081a40000000000000002000000013d1fe2ea0000002f000000200000000000000000000000000000001900000003reloc/caldera/theme.info  depends=0.990
desc=Caldera Theme
version=0.990
 070701000212df000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001300000003reloc/caldera/time    070701000286aa000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001a00000003reloc/caldera/time/images 070701000286ab000081a40000000000000002000000013d1fe2df0000022c000000200000000000000000000000000000002300000003reloc/caldera/time/images/icon.gif    GIF89a6  Õÿ ÒÒÓEJI8<;qsq‰‹ƒ«¬¨¼ÄTâëkïò—NN:»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¼¼¹¹‹’’nÌÌšÎÎÑÑ¢ÓÓ§ÕÕªØØ±ååËððàôôóœ˜F‹‡?};ÇÆÂÿÿÿàààÛÛÛ¹¹¹³³³¯¯¯˜˜˜’’’………{{{jjjdddccc```YYYUUURRREEE@@@888333,,,)))$$$   !ù   ,    6   ÿÀˆpH,È¤ry”Äd´¨tJ•Úp¦¶HÁy:à°x<žÉ²[m…·I3šÇ&A»‘ë¶6³æ”p?wIyB5&Š‹&?K?…xlB9	W7#"Ž? žo?v“C‡=	7DC&Eƒ§E©>¢&#¡¢C‘¸D©Ž$Š!Â&
Ô? DÆ’ÈBÊBÎ*Á?ÓâÕ×BÙÛÜ•B> ÃŸÓ
äÕ³èé©Hóóòõ÷Û‡X´pñÂEBö2ÐïÜ1|•^„@"@‰!óÉ3÷Ù¡I~PÙÐ¡6€	èÑƒ‡Ž š‰)îšŽ¸H±B…OI½3ñÛC”z–,2gô¤Çu¸pžªàãÂƒ«X³jÝzÃQÃÂŠÖ).
 ¨]Ë¶­[¶¥“@¡‚Ý»xóêÅKÁ”  ;07070100029e1c000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001800000003reloc/caldera/useradmin   0707010002b481000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001f00000003reloc/caldera/useradmin/images    0707010002b482000081a40000000000000002000000013d1fe2df00000227000000200000000000000000000000000000002800000003reloc/caldera/useradmin/images/icon.gif   GIF89a6  Õÿ ˆ ,))ÊQQµ|~¯«¬¨ïò—æçÌ»»Œ³³†ªª££zžžvÀÀÀÉÉ—ÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎžÑÑ¢ÐÐ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ÔÔªØØ±––}uucÛÛ¾ááÅ¢¢‰‰yééÒïïàòòåÿÿÿÌÌÌfffdddccc```YYYSSSAAA)))                                       !ù   ,    6   ÿ@†pH,È¤ryt°Z¯¨tJ•Âb¦¶‰y6à°xîl\­ìV‘]ÖCŠ£5ÔpdûœùÿEr3yI{}3‹*3F3†znG~Œ+3x”CˆFŠ‹žœžB„£E¥EŠ)ªªC’²D¥3B2·¸ºB»¾“ÀB¥~Å¸œ»ÍÏÑÒ–3ÄÙ¸Ü)Ì½¿à¥ä'#ç›ªîùÎðÑò3( ê»ç§ÕŒvB¾ÅG €ö
Òl´~ÿØHÂÞÄ‚DbäÓpãFö˜!|w˜¿?0SNÉÏ¥¸"JèÜi D$"mò±ƒÑ£2ZSVHJµªU©šŽŠ³«×¯Z)AH° ¬Ù³hÓžMPœâÊK·î\¢„ ; 0707010002ca60000041ed0000000000000001000000033d1ff9eb00000000000000200000000000000000000000000000001600000003reloc/caldera/usermin 0707010002fb04000041ed0000000000000001000000023d1ff9eb00000000000000200000000000000000000000000000001d00000003reloc/caldera/usermin/images  0707010002fb05000081a40000000000000002000000013d1fe2e10000023b000000200000000000000000000000000000002600000003reloc/caldera/usermin/images/icon.gif GIF89a6  ¥  ÈÈ–dddYYYSSSAAAÁÁ‘××·ÕÕªÑÑ¥ÎÎ£ÆÆžÊÊ¡ÓÓ©bbb½½Ž)))ÄÄ“»»Œ²²…ªª¹¹“ÌÌ«ÊÊ˜ÌÌšÎÎžÑÑ¢ÓÓ§ÊÊ—ŽŽŽ««„££zššskÂÂ¬{{ÿííâfff   ÊÊ¹¹‹}}}ÊÉ¼ààØTTÿÿÿÿÅÅ”ggÃ,,ÙááÄ3ÿf%%«‘õõõi³³†ÌÌÌ™3fÿfÌ¥¥| ÌÌ’’nžžvÿÿÿ!ù  ? ,    6   þÀŸpH,È¤ry‚¨tJ• ¦¶X à"¡X$át¸ÈnµŽG )"’	¥’°/noIq !"#B$%˜%B€ %‡Jq&'(!)¨*"+#?%,±°C-% ˆ£(!.¾.++//0¯±1³›%†¸D‰‹2Ó332ÕÅ™˜,C'žÎFqs4ç#455­B±±E6¶áEq?—Úì®øÚñóè±GÄB!ú“Åmˆ¼[…d‹EŽdBF”øà^&"_ik˜1`Ä‰AÂûñŽdIˆ';
Á8³a>L a
DéÒXYM†D4näY$YÅ4…Æ¼WsFmIMî”é4SÏ–97þ˜8äÝ¥;yœð@¶¬Ù³hÉöJÏÔ·pã²W`‚»xóêÝ›wÂ§ 
8L¸°áÃ…4 ; 07070100031039000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001200000003reloc/caldera/vnc 07070100032755000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001900000003reloc/caldera/vnc/images  0707010003275a000081a40000000000000002000000013d1fe2df0000033a000000200000000000000000000000000000002200000003reloc/caldera/vnc/images/icon.gif GIF89a6  Æ  ÈÈ–dddcccYYYRRR@@@ÁÁ‘AAAØØ±ÕÕªÔÔª```½½Ž)))ÑÑ¢û@(ÿ  ýùI+ýÌÌšÎÎÐÐ¢ÓÓ¨SSSÉÉ—û/ý  «F,úN0ü#Ï‰U¡™l   ó  J  
úB'…  ÅÅ”ú_  Ò  ÍÍš»»ŒäƒT  ~6/\O1ïyJ–  	ZM/q`;sb=¸¸ŠÈ«h5  ü!C1ñ%*  ³³††V]  ö‚OG  ±  & {Nk  ü(  ¼M%{LþÀzNA  ú8#F<&É
—  ’9# ‰T7.OB*VJ-ß  N  ¶  E9#81{Jk
À    B9#TH-µ{NðŽg@ú?(ùC)þ@@‚BB„AAƒ==ýû+??>>€55yõ|M¹¹‹££z’’nªªžžvÿÿÿÿÿÿ!þMade with GIMP !ù   ,    6   þ€‚ƒ„…†‡ˆ‰Š‹‡ ‘’“”’ Œš…	 ¡¢£¡
	™›š±†±‚ª«‰­±‡„  !ÁŠÃ‚"#!Û!$ƒ%&ÜÜ'!ÔÂ®‚()âÛ*‚+,î!-.!Àè„Ö/Û0bü‘±m!lÜøƒGŽ?tHÛg¨ßŽm<zÚæãz‡‚˜£X¨ŸmC ù³­ˆ‘G‰<GrP?$Û’@PÂr	“&!œÈYSP¿'9!@‰BÊ*Û†Ò,z4)„*!¬\ÁÂ-‹–-`Í,jTÝ¤!tBàÒÅË—?†`èK¶_˜mbd!SF™3îÄ¥jvYiÔ0¢K˜X¡5±Øhb\³_!m¹yççÏqO­\˜œ9‚âÄ¡C§Îj:qìˆ&ûÇ2¡;«(“d€'žßÀƒþ{ÏàÊr“+ç6š¤>}¢KŸN½út>ÓÈ0À »÷ïàÃ7 OP  ;  0707010003553f000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001700000003reloc/caldera/volution    07070100036d2e000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001e00000003reloc/caldera/volution/images 07070100036d38000081a40000000000000002000000013d1fe2e100000225000000200000000000000000000000000000002700000003reloc/caldera/volution/images/icon.gif    GIF89a6  Õÿ ×µ¶7R- fh°ˆ‰ÄËÌß$&.ŠŽ—58¥«h¯¶VÝà±æèÇÂÆwéêÑNN:»»Œ³³†ªª££z¢¢yžžvŠŠgÀÀÀÈÈ–ÁÁ‘½½Ž¹¹‹––q’’nddKÌÌšÎÎÎÎžÑÑ¢ÒÒ¥ÓÓ§ÕÕªÖÖ¬>>2ØØ±ããÈææÍééÒééÔêêÛððáÛÛÕTTRÇÂ”/+%åÖÎ³’ˆcccYYY@@@)))$$$   !ù   ,    6   ÿÀpH,È¤ryäärº¨tJ•Òv¦¶ØÙ±Rà°x<~f·ZÏ„ŽH&sn#Õl»ðÍùuôwkF%?…%K5?€GxE%6-/-‡I#?uŒBŽC„-¢8?–G#~œDžB(?77 ?(JŠ«C­„?8³?85H¹‹»ž%.22?Ñ0+$GÉËÌ‚„3…??24…?'ÛºËŽ¯3?1?)ìÊ»ŽTØ›G ^„úÒ©ð×í]‹i…ÄH î@‹[F¸¹ûÆBÒ‹I-<NbaŠˆF€‚6”@¡¢e,[¢(i²J6 DˆÛ¹“ÇB0Ôü·ª£“ESrBÊÉƒ¢JJµjÔ6‹òÜÊµkVN,dK¶¬Ù³e-üYÆ¡ƒ‡·pãÊ·Ã&!A  ;   070701000382d6000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001500000003reloc/caldera/webmin  070701000399f7000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001c00000003reloc/caldera/webmin/images   070701000399f8000081a40000000000000002000000013d1fe2df0000024d000000200000000000000000000000000000002500000003reloc/caldera/webmin/images/icon.gif  GIF89a6  Õÿ ™3fÿfÌ,,Ù‘i%%«TTÿ{{ÿggÃ ÌÌ3ÿfÊÊ—»»Œ³³†²²…ªª££zžžvššskÀÀÀÊÊ˜ÈÈ–ÅÅ”ÄÄ“ÁÁ‘½½Ž¹¹‹¥¥|’’nÌÌšÎÎž««„ÑÑ¢ÊÊÓÓ§ÑÑ¥ÎÎ£¹¹“ÕÕªÊÊ¡ÆÆžÓÓ©ÌÌ«××·ááÄÂÂ¬ííâààØÊÉ¼ÿÿÿõõõÌÌÌŽŽŽ}}}fffdddbbbYYYSSSAAA)))   !ù   ,    6   ÿ@ŠpH,È¤ry´àpº¨tJ•îx¦¶˜á±Nà©”B•Tát8‡Ënµš^É‚ÉdŽ‡iUª=!#;noIq5 ./$B7?˜?B€?‡Jq"6 .1¨0/#?2±°C? ˆ=£6.¾-¯±
³›?†¸D‰‹,ÓÕÅ™˜2CžÎFqs5(3ç/3­B±±E¶áEq!—Ú,ì®øÚñóè±G¤B!,ú“Åmˆ¼[…üqãÆLH&äaD‰=îÁ¢XÜ´q¤àñãD°dÔ€ ¥»w !F|9¦ŒjšÜòaÊù‘OŸ4mÆôI¤åÎ¯80Œta‚•NNT‰1¥¶†>½GáYx7Ñ:«ªÀ¬ô4øØ ¡®Ý»xóÖíÀ6.×¿€¹ê˜áA„Ãˆ+^œøÁ§2h˜L¹²åË•34 ;   0707010003b1fe000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001800000003reloc/caldera/webminlog   0707010003f618000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001f00000003reloc/caldera/webminlog/images    0707010003f619000081a40000000000000002000000013d1fe2e00000021d000000200000000000000000000000000000002800000003reloc/caldera/webminlog/images/icon.gif   GIF89a6  Õÿ 566OPPFKJ‡‹‡uwu:;:«¬¨ÇÏU£FÜågçïnÒÚfïò—56#»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¸¸Š’’nÌÌšffNÎÎž……fÑÑ¢ÓÓ¨WWEÕÕª@@4ØØ±²²±——–³®Q¢žI‹‡?»·báàÜËÊÇÙØÕ‚€~ÞÝÜÿÿÿããã¢¢¢jjjdddccc```\\\YYYSSSHHHAAA...)))      !ù   ,    6   ÿÀ‰pH,È¤ry¤Ðj¸¨tJ•æv¦¶hÙBà°x<¶Õ²[í¥çI5Ï'GA»‘ëvqf³Žp?wIyE90Š‹0?H?…xlE
;;)(Ž€?v“C‡D<
:D'ŸCBƒ¤E¦C=	C0*­ŽŸ‘´D¶B$7‹
­?¯Â’ÄBÆËŠ+Ÿ?ßBÔÖ×•E"?ëìBá­åæØH‚0ð¾óÖ¶2&l ¢Ã…wñŠì#fk Œ/^@d1¾„
‡ÑC7ÁŒ#ë0f¬Æ#>x Pá×:$iÙja@†5µÄ$UïÎÎ:I=Ýü,t†H“*]ÊiüØIJµê:’Ä,@Àµ«×¯`½B dŽ‚…hÓª]ËV­…QB‚  ;   07070100040c8c000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001500000003reloc/caldera/wuftpd  070701000425a1000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001c00000003reloc/caldera/wuftpd/images   070701000425a2000081a40000000000000002000000013d1fe2e100000228000000200000000000000000000000000000002500000003reloc/caldera/wuftpd/images/icon.gif  GIF89a6  Õÿ 33ÌÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’nhhNÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨ÕÕªÖÖ¬ØØ±ááÄééÒÖÖÑ¤ JtspêéæÜÚÕÙ×ÒÖÔÏ¤¢žÌÊÆåäâÖÓÎÔÑÌãáÞœ™–jhf¾»¸ƒ€~àÝÛÿÿÿíííéééiiidddccc```YYYUUURRRJJJAAA888...)))   !ù  	 ,    6   ÿÀ„pH,È¤ryTÌh¶¨tJ•ât
¦¶ÈÐe.à°x<®Ñ²[m£GI#Š§@»‘ëö]Wü{xlZ?……D?GyC25Q8;B?/™'?o?vŒBŽ	7™§/?–?'™-©|¡D£; &  0?	¬®-˜BŠ´C£<))™?Á­šÅ	Ç‹É	ËÍ.!¼1ÓÕ¨ØÚÜÝƒ	Ì!ÑäÂ§çÈÜÞ"âò'þþõ¶%Ã7E	Ò¨ZøÂ˜½ëÚ¡G-ªLCÐÝ‹è# 	->¬ '„˜õ`X¸CŽ,@p(–-rêÔ ¬!E”6×M¨€¡¨Ñ
–” 5*ÔRF888@µªÕ«X©>xh3¦×¯1k†b` Ù³hÓªEk 7ÈK·®]º@		 ;07070100046bc1000041ed0000000000000001000000033d1ff9ec00000000000000200000000000000000000000000000001500000003reloc/caldera/xinetd  0707010004828d000041ed0000000000000001000000023d1ff9ec00000000000000200000000000000000000000000000001c00000003reloc/caldera/xinetd/images   0707010004828e000081a40000000000000002000000013d1fe2df00000235000000200000000000000000000000000000002500000003reloc/caldera/xinetd/images/icon.gif  GIF89a6  Õÿ 33Ìpp©‚‚¾¥¥éÓÓõççûùùýÙâaêòsëóz»»Œ³³†ªª££zžžvÀÀÀÈÈ–ÅÅ”ÁÁ‘½½Ž¹¹‹’’n……dÌÌšÎÎÎÎžÑÑ¢ÓÓ§ÓÓ¨»»•ÕÕªÖÖ¬ØØ±ããÇééÒ¤ JtspèçäÚØÓÕÓÎ¤¢žÌÊÆãáÞjhf¾»¸ƒ€~àÝÛ™—–ŽŽÿÿÿêêêiiiccc```YYYSSSAAA888...)))$$$   !ù   ,    6   ÿÀ‡pH,È¤ry„Ôj·¨tJ•âr¦¶(É<à°x<¶Õ²[í„§I/A»‘ëö]‡ü${xlC?„FyC46Q8:C?•?D
?v‰‹82£¤?“?£©|CŸ:	&&  3?–©¾C‡°BŸ;++£$?B©2¾2BÁˆÃÅÇ/'¸ºÎ¨–ÑÓÕÃžƒÆ''Ë?!C¤¨âä×çé'(Ü?0?½æ	«§'
*Z03P ßRâÆ„…D]¸t„E{>¤€á¢‹¤ê8±S±^½2
Ø‘ˆG—ç6„ÁSDŒRüHQXËDŸ2løÀ”iŒ#†5jí£$Þ”ÜD:‚Bƒ¯`ÃŠûµÂQB`ª]Ëöl 	ÈK·®]º ƒ a‚ß¿€,“  ;   07070100057cb8000041ed0000000000000001000000053d1ff9ee00000000000000200000000000000000000000000000000f00000003reloc/cfengine    07070100057cb9000081e40000000000000002000000013d1fe2ea00000833000000200000000000000000000000000000001700000003reloc/cfengine/add.cgi    #!/usr/local/bin/perl
# add.cgi
# Add or update a server or group from the webmin servers module

require './cfengine-lib.pl';
&foreign_require("servers", "servers-lib.pl");
&ReadParse();
@servers = &list_servers();

if ($in{'add'}) {
	# Add a single host
	@add = grep { $_->{'id'} eq $in{'server'} } @servers;
	&error_setup($text{'add_err'});
	$msg = &text('add_msg', &server_name($add[0]));
	}
else {
	# Add all from a group
	($group) = grep { $_->{'name'} eq $in{'group'} }
			&servers::list_all_groups(\@servers);
	foreach $m (@{$group->{'members'}}) {
		push(@add, grep { $_->{'host'} eq $m } @servers);
		}
	&error_setup($text{'add_gerr'});
	$msg = &text('add_gmsg', $in{'group'});
	}
&header($text{'add_title'}, "");
print "<hr>\n";
print "<b>$msg</b><p>\n";

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

# Get the details of each host
foreach $s (@add) {
	$add_error_msg = undef;
	local $host = { 'id' => $s->{'id'} };
	local $cfe = &remote_foreign_check($s->{'host'}, "cfengine");
	if ($add_error_msg) {
		print "$add_error_msg<p>\n";
		next;
		}
	if (!$cfe) {
		print &text('add_echeck', $s->{'host'}),"<p>\n";
		next;
		}
	&remote_foreign_require($s->{'host'}, "cfengine", "cfengine-lib.pl");
	local $rconfig = &remote_foreign_config($s->{'host'}, "cfengine");
	local $has = &remote_foreign_call($s->{'host'}, "cfengine",
			"has_command", $rconfig->{'cfengine'});
	local $ver;
	if (!$has || !($ver = &cfengine_host_version($s))) {
		print &text('add_ecfengine', $s->{'host'}),"<p>\n";
		next;
		}
	if ($ver !~ /^1\./) {
		print &text('add_eversion', $s->{'host'}, $ver, "1.x"),"<p>\n";
		next;
		}
	local $gconfig = &remote_foreign_config($s->{'host'}, undef);
	foreach $g ('os_type', 'os_version',
		    'real_os_type', 'real_os_version') {
		$host->{$g} = $gconfig->{$g};
		}
	&save_cfengine_host($host);
	print &text('add_ok', &server_name($s), $host->{'real_os_type'},
			      $host->{'real_os_version'}),"<p>\n";
	}
&remote_finished();

print "<hr>\n";
&footer("list_hosts.cgi", $text{'hosts_return'});


 07070100057cba000081a40000000000000002000000013d1fe2ea00005b11000000200000000000000000000000000000001f00000003reloc/cfengine/cfengine-lib.pl    # cfengine-lib.pl
# Functions for parsing the cfengine config file

do '../web-lib.pl';
&init_config();

@known_sections = ( 'groups', 'control', 'homeservers', 'binservers',
		    'mailserver', 'mountables', 'broadcast', 'resolve',
		    'defaultroute', 'directories', 'miscmounts', 'files',
		    'ignore', 'tidy', 'required', 'links', 'disable',
		    'shellcommands', 'editfiles', 'processes', 'copy' );
@known_sections = sort { $text{"section_$a"} cmp $text{"section_$b"} }
		       @known_sections;

@known_cfd_sections = ( 'control', 'groups', 'admit', 'deny' );
@known_cfd_sections = sort { $text{"section_$a"} cmp $text{"section_$b"} }
		       @known_cfd_sections;

$cfengine_conf = $config{'cfengine_conf'} ? $config{'cfengine_conf'} :
			"$config{'cfengine_dir'}/cfengine.conf";
$cfd_conf = $config{'cfd_conf'} ? $config{'cfd_conf'} :
			"$config{'cfengine_dir'}/cfd.conf";
$cfrun_hosts = $config{'cfrun_hosts'} ? $config{'cfrun_hosts'} :
			"$config{'cfengine_dir'}/cfrun.hosts";

# get_config()
# Parses the cfengine.conf file into a list of sections, each containing
# a list of classes, each containing options for the section type.
sub get_config
{
if (!defined(@get_config_cache)) {
	@get_config_cache = &get_config_file($cfengine_conf);
	}
return \@get_config_cache;
}

# get_cfd_config()
# Parses the cfd.conf file
sub get_cfd_config
{
if (!defined(@get_cfd_config_cache)) {
	@get_cfd_config_cache = &get_config_file($cfd_conf);
	}
return \@get_cfd_config_cache;
}

# get_config_file(file)
# Parses on specified cfengine config file
sub get_config_file
{
# Parse file into tokens
local $lnum = 0;
local @toks;
open(CONFIG, $_[0]);
while(<CONFIG>) {
	s/\r|\n//g;
	s/(^|\s+)#.*$//g;
	local ($s, $q) = &split_str($_);
	local $i;
	for($i=0; $i<@$s; $i++) {
		push(@toks, [ $s->[$i], $lnum, $q->[$i] ]);
		}
	$lnum++;
	}
close(CONFIG);
	
# Parse tokens into the config
local (@rv, $sec, $cls, $i);
push(@rv, { 'type' => 'dummy',	# dummy record so that config is never empty
	    'index' => 0,
	    'line' => -1,
	    'eline' => -1,
	    'file' => $_[0] } );
for($i=0; $i<@toks; $i++) {
	local $t = $toks[$i];
	if ($t->[0] =~ /^(\S+)::$/) {
		# Start of a class
		$cls = { 'name' => $1,
			 'type' => 'class',
			 'index' => scalar(@{$sec->{'cls'}}),
			 'line' => $t->[1],
			 'eline' => $t->[1],
			 'file' => $_[0] };
		$sec->{'eline'} = $t->[1];
		push(@{$sec->{'cls'}}, $cls);
		}
	elsif ($t->[0] =~ /^(\S+):$/) {
		# Start of a section
		$sec = { 'name' => $1,
			 'type' => 'section',
			 'index' => scalar(@rv),
			 'cls' => [ ],
			 'line' => $t->[1],
			 'eline' => $t->[1],
			 'file' => $_[0] };
		undef($cls);
		push(@rv, $sec);
		}
	else {
		# Some kind of text within a class .. create all:: if needed
		if (!$sec) {
			&error("Unknown directive at line ",
				($t->[1]+1)," in $_[0]");
			}
		if (!$cls) {
			$cls = { 'name' => 'any',
				 'type' => 'class',
				 'implied' => 1,
				 'index' => scalar(@{$sec->{'cls'}}),
				 'line' => $t->[1],
				 'eline' => $t->[1],
				 'file' => $_[0] };
			push(@{$sec->{'cls'}}, $cls);
			}

		if ($i+2 < @toks &&
		    $toks[$i+1]->[0] eq '=' &&
		    $toks[$i+2]->[0] eq '(') {
			# A definition with multiple values
			local $def = { 'name' => $t->[0],
				       'line' => $t->[1],
				       'file' => $_[0] };
			$i += 3;
			while($i < @toks && $toks[$i]->[0] ne ')') {
				push(@{$def->{'values'}}, $toks[$i]->[0]);
				push(@{$def->{'valuequotes'}}, $toks[$i]->[2]);
				push(@{$def->{'valuequoted'}},
			            &quote_str($toks[$i]->[0], $toks[$i]->[2]));
				$i++;
				}
			$sec->{'eline'} = $cls->{'eline'} = $toks[$i]->[1];
			push(@{$cls->{'defs'}}, $def);
			}
		elsif ($t->[0] eq '{') {
			# A { } quoted list
			local $list = { 'line' => $t->[1],
					'file' => $_[0] };
			$i++;
			while($i < @toks && $toks[$i]->[0] ne '}') {
				push(@{$list->{'values'}}, $toks[$i]->[0]);
				push(@{$list->{'valuelines'}}, $toks[$i]->[1]);
				push(@{$list->{'valuequotes'}}, $toks[$i]->[2]);
				push(@{$list->{'valuequoted'}},
			            &quote_str($toks[$i]->[0], $toks[$i]->[2]));
				$i++;
				}
			$sec->{'eline'} = $cls->{'eline'} = $toks[$i]->[1];
			push(@{$cls->{'lists'}}, $list);
			}
		else {
			# A single value
			push(@{$cls->{'values'}}, $t->[0]);
			push(@{$cls->{'valuelines'}}, $t->[1]);
			push(@{$cls->{'valuequotes'}}, $t->[2]);
			push(@{$cls->{'valuequoted'}},
				&quote_str($t->[0], $t->[2]));
			$sec->{'eline'} = $cls->{'eline'} = $t->[1];
			}
		}
	}

# Expand import: sections
local @imps = &find("import", \@rv);
foreach $i (@imps) {
	foreach $c (@{$i->{'cls'}}) {
		next if ($c->{'name'} ne 'any');	# XXX only do 'any::'
		foreach $v (@{$c->{'values'}}) {
			local $fn = $v;
			if ($fn !~ /^\//) {
				# Assume relative to current config file
				$fn = "$config{'cfengine_dir'}/$fn";
				}
			local @inc = &get_config_file($fn);
			map { $_->{'index'} += scalar(@rv) } @inc;
			push(@rv, @inc);
			}
		}
	}

return @rv;
}

# find(name, &config)
sub find
{
local ($c, @rv);
foreach $c (@{$_[1]}) {
	push(@rv, $c) if ($c->{'name'} eq $_[0]);
	}
return wantarray ? @rv : $rv[0];
}

# find_value(name, &config)
sub find_value
{
local @f = &find($_[0], $_[1]);
return wantarray ? () : undef if (!@f);
return wantarray ? @{$f[0]->{'values'}} : $f[0]->{'values'}->[0];
}

# save_directive(&config, &old, &new)
# Updates or adds an entire class or section to the config file
sub save_directive
{
local $file = $_[1] ? $_[1]->{'file'} : $_[0]->[0]->{'file'};
local $lref = &read_file_lines($file);
local @lines = &directive_lines($_[2]) if ($_[2]);
if ($_[1]) {
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'} - $_[1]->{'line'} + 1,
	       @lines);
	}
else {
	splice(@$lref, $_[0]->[@{$_[0]}-1]->{'eline'}+1, 0, @lines);
	}
}

# swap_directives(&config, &directive1, &directive2)
# Swaps two directives in the config file
sub swap_directives
{
local $lref = &read_file_lines($_[1]->{'file'});
local @lines1 = @$lref[$_[1]->{'line'} .. $_[1]->{'eline'}];
local @lines2 = @$lref[$_[2]->{'line'} .. $_[2]->{'eline'}];
if ($_[1]->{'line'} < $_[2]->{'line'}) {
	splice(@$lref, $_[2]->{'line'}, scalar(@lines2), @lines1);
	splice(@$lref, $_[1]->{'line'}, scalar(@lines1), @lines2);
	}
elsif ($_[1]->{'line'} > $_[2]->{'line'}) {
	splice(@$lref, $_[1]->{'line'}, scalar(@lines1), @lines2);
	splice(@$lref, $_[2]->{'line'}, scalar(@lines2), @lines1);
	}
}

# directive_lines(&section|&class)
# Returns an array of the lines for some section or class
sub directive_lines
{
local (@rv, $d, $l, $i);
if ($_[0]->{'type'} eq 'section') {
	push(@rv, "$_[0]->{'name'}:");
	if (defined($_[0]->{'text'})) {
		return (@rv, split(/\n/, $_[0]->{'text'}));
		}
	foreach $c (@{$_[0]->{'cls'}}) {
		push(@rv, &directive_lines($c));
		}
	}
elsif ($_[0]->{'type'} eq 'class') {
	local $id = $_[0]->{'implied'} ? "\t" : "\t\t";
	push(@rv, "\t$_[0]->{'name'}::") if (!$_[0]->{'implied'});
	if (defined($_[0]->{'text'})) {
		return (@rv, split(/\n/, $_[0]->{'text'}));
		}
	foreach $d (@{$_[0]->{'defs'}}) {
		local @v;
		local $i;
		for($i=0; $i<@{$d->{'values'}}; $i++) {
			push(@v, &quote_str($d->{'values'}->[$i],
					    $d->{'valuequotes'}->[$i]));
			}
		push(@rv, "$id$d->{'name'} = ( ".join(" ", @v)." )");
		}
	foreach $l (@{$_[0]->{'lists'}}) {
		push(@rv, $id."{");
		push(@rv, &value_lines($l->{'values'}, $l->{'valuelines'},
				       $l->{'valuequotes'}, $id));
		push(@rv, $id."}");
		}
	push(@rv, &value_lines($_[0]->{'values'}, $_[0]->{'valuelines'},
			       $_[0]->{'valuequotes'}, $id));
	}
return @rv;
}

# value_lines(&values, &lines, &quotes, indent)
sub value_lines
{
local @lines;
local $i;
for($i=0; $i<@{$_[0]}; $i++) {
	local $l = $_[1]->[$i] -
		   $_[1]->[0];
	if ($lines[$l] eq "") {
		$lines[$l] = $_[3];
		}
	else {
		$lines[$l] .= " ";
		}
	$lines[$l] .= &quote_str($_[0]->[$i], $_[2]->[$i]);
	}
return @lines;
}

# quote_str(string, quote)
sub quote_str
{
if (defined($_[1])) {
	return $_[1].$_[0].$_[1];
	}
elsif ($_[0] =~ /^\S+$/) {
	return $_[0];
	}
elsif ($_[0] !~ /"/) {
	return "\"$_[0]\"";
	}
elsif ($_[0] !~ /'/) {
	return "'$_[0]'";
	}
else {
	return "`$_[0]`";
	}
}

# split_str(string)
sub split_str
{
local (@rv, @qu);
local $str = $_[0];
while($str =~ /^\s*(")([^"]*)"(.*)$/s ||
      $str =~ /^\s*(')([^"]*)'(.*)$/s ||
      $str =~ /^\s*(`)([^"]*)`(.*)$/s ||
      $str =~ /^\s*()(\S+)(.*)$/s) {
	push(@qu, $1);
	push(@rv, $2);
	$str = $3;
	}
return ( \@rv, \@qu );
}

# get_cfrun_hosts()
sub get_cfrun_hosts
{
local (@hosts, %opts);
open(HOSTS, $cfrun_hosts);
while(<HOSTS>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^\s*(\S+)\s*=\s*(.*)/) {
		$opts{$1} = $2;
		}
	elsif (/^\s*(\S+)\s*(.*)/) {
		push(@hosts, [ $1, $2] );
		}
	}
close(HOSTS);
return ( \@hosts, \%opts );
}

# save_cfrun_hosts(&hosts, &opts)
sub save_cfrun_hosts
{
open(HOSTS, ">$cfrun_hosts");
foreach $o (keys %{$_[1]}) {
	print HOSTS $o,"=".$_[1]->{$o},"\n";
	}
foreach $h (@{$_[0]}) {
	print HOSTS $h->[0]," ",$h->[1],"\n";
	}
close(HOSTS);
}

# show_classes_table(&config, cfd, readonly)
sub show_classes_table
{
if (@{$_[0]}) {
	&show_button($_[1]) if (!$_[2]);
	print "<table border width=100%>\n";
	print "<tr $tb> ",
	      ($_[1] ? "" : "<td><b>$text{'index_active'}</b></td>"),
	      "<td><b>$text{'index_section'}</b></td> ",
	      "<td><b>$text{'index_classes'}</b></td> ",
	      "<td><b>$text{'index_details'}</b></td> </tr>\n";
	local $s;
	local %active;
	foreach $s (@{$_[0]}) {
		foreach $c (@{$s->{'cls'}}) {
			if ($s->{'name'} eq 'control') {
				local ($as) = &find("actionsequence",
						  $c->{'defs'});
				local $cc = $c->{'name'} eq 'any' ? 2 : 1;
				map { s/\..*$//; $active{$_} = $cc
					if ($cc > $active{$_}) }
				    @{$as->{'values'}} if ($as);
				}
			}
		}
	foreach $s (@{$_[0]}) {
		next if ($s->{'name'} =~ /^import/);
		local (@clist, @dlist);
		foreach $c (@{$s->{'cls'}}) {
			push(@clist, $_[2] ? $c->{'name'} : "<a href='edit_class.cgi?cfd=$_[1]&idx=$s->{'index'}&cidx=$c->{'index'}'>$c->{'name'}</a>");
			local $desc;
			if ($s->{'name'} eq 'links') {
				local @l = &parse_links($c);
				if (@l > 1) {
					$desc = &text('index_links2',
						      scalar(@l));
					}
				elsif (@l) {
					$desc = &text('index_links',
						"<tt>$l[0]->{'_linkfrom'}</tt>",
						"<tt>$l[0]->{'_linkto'}</tt>");
					}
				}
			elsif ($s->{'name'} eq 'directories' ||
			       $s->{'name'} eq 'files' ||
			       $s->{'name'} eq 'disable' ||
			       $s->{'name'} eq 'shellcommands' ||
			       $s->{'name'} eq 'tidy' ||
			       $s->{'name'} eq 'required' ||
			       $s->{'name'} eq 'disks') {
				local @dirs = &parse_directories($c);
				if (@dirs > 1) {
					$desc = &text('index_'.$s->{'name'}.'2',
							scalar(@dirs));
					}
				elsif (@dirs) {
					$desc = &text('index_'.$s->{'name'},
						"<tt>$dirs[0]->{'_dir'}</tt>");
					}
				}
			elsif ($s->{'name'} eq 'control' && $_[1]) {
				local ($cmd) = &find("cfrunCommand",
						$c->{'defs'});
				if ($cmd) {
					$desc = &text('index_cfrun',
					    "<tt>$cmd->{'values'}->[0]</tt>");
					}
				}
			elsif ($s->{'name'} eq 'control' && !$_[1]) {
				local ($as) = &find("actionsequence",
						  $c->{'defs'});
				if ($as) {
					local @v = @{$as->{'values'}};
					if (@v > 1) {
						$desc = &text('index_control2',
							  scalar(@v));
						}
					else {
						$desc = &text('index_control',
							  "<tt>$v[0]</tt>");
						}
					}
				}
			elsif ($s->{'name'} eq 'editfiles') {
				local @files = map { $_->{'values'}->[0] }
						   @{$c->{'lists'}};
				if (@files > 1) {
					$desc = &text('index_editfiles2',
						      scalar(@files));
					}
				elsif (@files) {
					$desc = &text('index_editfiles',
							"<tt>$files[0]</tt>");
					}
				}
			elsif ($s->{'name'} eq 'grant' ||
			       $s->{'name'} eq 'admit' ||
			       $s->{'name'} eq 'deny') {
				local @dirs = grep { /\// } @{$c->{'values'}};
				if (@dirs > 1) {
					$desc = &text('index_'.$s->{'name'}.'2',
						      scalar(@dirs));
					}
				elsif (@dirs) {
					$desc = &text('index_'.$s->{'name'},
							"<tt>$dirs[0]</tt>");
					}
				}
			elsif ($s->{'name'} eq 'groups' ||
			       $s->{'name'} eq 'classes') {
				local @grs = map { $_->{'name'} }
						 @{$c->{'defs'}};
				if (@grs) {
					$desc = &text('index_groups',
						join(", ", map { "<tt>$_</tt>" }
							       @grs));
					}
				}
			elsif ($s->{'name'} eq 'copy') {
				local @copies = &parse_directories($c);
				if (@copies > 1) {
					$desc = &text('index_copy2',
						      scalar(@copies));
					}
				elsif (@copies) {
					$desc = &text('index_copy',
					    "<tt>$copies[0]->{'_dir'}</tt>",
					    "<tt>$copies[0]->{'dest'}</tt>");
					}
				}
			elsif ($s->{'name'} eq 'ignore') {
				$desc = &text('index_ignore',
					 scalar(@{$c->{'values'}}));
				}
			elsif ($s->{'name'} eq "processes") {
				local @procs = grep { !$_->{'_options'} }
						    &parse_processes($c);
				if (@procs > 1) {
					$desc = &text('index_procs2',
						  scalar(@procs));
					}
				elsif (@procs) {
					$desc = &text('index_procs',
					    "<tt>$procs[0]->{'_match'}</tt>");
					}
				}
			elsif ($s->{'name'} eq 'miscmounts') {
				local @mnts = &parse_miscmounts($c);
				if (@mnts > 1) {
					$desc = &text('index_misc2',
						      scalar(@mnts));
					}
				elsif (@mnts) {
					$desc = &text('index_misc',
					         "<tt>$mnts[0]->{'_src'}</tt>");
					}
				}
			elsif ($s->{'name'} eq 'defaultroute') {
				$desc = &text('index_route',
					    "<tt>$c->{'values'}->[0]</tt>");
				}
			$desc = "&nbsp;" if (!$desc);
			push(@dlist, $desc);
			}
		next if (!@clist);

		local $t = $text{"section_".$s->{'name'}."_".$_[1]};
		$t = $text{"section_".$s->{'name'}} if (!$t);
		print "<tr $cb>\n";
		if (!$_[1]) {
			printf "<td rowspan=%d valign=top>\n", scalar(@clist);
			local $a = $active{$s->{'name'}};
			print $s->{'name'} =~ /^control/ ? "<br>" : $a == 0 ? "<font color=#ff0000>$text{'no'}</font>" : $a == 1 ? "<font color=#333333>$text{'index_maybe'}</font>" : $text{'yes'};
			print "</td>\n";
			}
		printf "<td rowspan=%d valign=top>\n", scalar(@clist);
		print "<table cellpadding=0 cellspacing=0 width=100%><tr>\n";
		print "<td>",$t ? "$t ($s->{'name'})" : $s->{'name'},"</td>\n";
		print "<td align=right>\n";
		#if ($s eq $_[0]->[@{$_[0]}-1]) {
		#	print "<img src=images/gap.gif>";
		#	}
		#else {
		#	print "<a href='down.cgi?cfd=$_[1]&idx=$s->{'index'}'>",
		#	      "<img src=images/down.gif border=0></a>";
		#	}
		#if ($s eq $_[0]->[0]) {
		#	print "<img src=images/gap.gif>";
		#	}
		#else {
		#	print "<a href='up.cgi?cfd=$_[1]&idx=$s->{'index'}'>",
		#	      "<img src=images/up.gif border=0></a>";
		#	}
		if (!$_[2]) {
			print "<a href='edit_class.cgi?cfd=$_[1]&idx=$s->{'index'}&new=1'>$text{'index_cadd'}</a></td>\n";
			}
		print "</tr></table></td>\n";

		for($i=0; $i<@clist; $i++) {
			print "<tr $cb>\n" if ($i != 0);
			print "<td>$clist[$i]</td>\n";
			print "<td>$dlist[$i]</td>\n";
			print "</tr>\n" if ($i == 0);
			}
		}
	print "</table>\n";
	}
elsif ($_[1]) {
	print "<p><b>$text{'cfd_none'}</b><p>\n";
	}
else {
	print "<p><b>$text{'index_none'}</b><p>\n";
	}
&show_button($_[1]) if (!$_[2]);
}

# show_button(cfd)
sub show_button
{
print "<form action=edit_class.cgi>\n";
print "<input type=hidden name=cfd value='$_[1]'>\n";
print "<input type=submit name=new value='$text{'index_add'}'>\n";
print "<select name=type>\n";
local $s;
foreach $s ($_[0] ? @known_cfd_sections : @known_sections) {
	local $tt = $text{"type_".$s."_".$_[0]};
	$tt = $text{"type_".$s} if (!$tt);
	next if (!$tt);
	local $t = $text{"section_".$s."_".$_[0]};
	$t = $text{"section_".$s} if (!$t);
	print "<option value=$s>$t ($s)\n";
	}
print "</select></form>\n";

}

# parse_links(&cls)
sub parse_links
{
local (@rv, $v);
foreach $v (@{$_[0]->{'values'}}) {
	if ($v =~ /^(\S+)=(\S+)$/) {
		if (defined($rv[$#rv]->{$1})) {
			$rv[$#rv]->{$1} .= "\0$2";
			}
		else {
			$rv[$#rv]->{$1} = $2;
			}
		}
	elsif ($v =~ /^[\+\-]>!?$/) {
		$rv[$#rv]->{'_linktype'} = $v;
		}
	else {
		if (!@rv || $rv[$#rv]->{'_linkfrom'} && $rv[$#rv]->{'_linkto'}) {
			push(@rv, { '_linkfrom' => $v } );
			}
		else {
			$rv[$#rv]->{'_linkto'} = $v;
			}
		}
	}
return @rv;
}
# unparse_links(&cls, link, ...)
sub unparse_links
{
local $cls = shift(@_);
local ($l, $vl = 0, @values, @valuelines);
foreach $l (@_) {
	push(@values, $l->{'_linkfrom'}, $l->{'_linktype'}, $l->{'_linkto'});
	push(@valuelines, $vl, $vl, $vl);
	foreach $k (keys %$l) {
		if ($k !~ /^_/) {
			local $z;
			foreach $z (split(/\0/, $l->{$k})) {
				push(@values, "$k=$z");
				push(@valuelines, $vl);
				}
			}
		}
	$vl++;
	}
$cls->{'values'} = \@values;
$cls->{'valuelines'} = \@valuelines;
$cls->{'valuequotes'} = [ ];
}

# parse_directories(&cls)
sub parse_directories
{
local (@rv, $v);
foreach $v (@{$_[0]->{'values'}}) {
	if ($v =~ /^(\S+)=(\S+)$/) {
		if (defined($rv[$#rv]->{$1})) {
			$rv[$#rv]->{$1} .= "\0$2";
			}
		else {
			$rv[$#rv]->{$1} = $2;
			}
		}
	else {
		push(@rv, { '_dir' => $v } );
		}
	}
return @rv;
}

# unparse_directories(&cls, dir, ...)
sub unparse_directories
{
local $cls = shift(@_);
local ($d, $vl = 0, @values, @valuelines);
foreach $d (@_) {
	push(@values, $d->{'_dir'});
	push(@valuelines, $vl);
	foreach $k (keys %$d) {
		if ($k !~ /^_/) {
			local $z;
			foreach $z (split(/\0/, $d->{$k})) {
				push(@values, "$k=$z");
				push(@valuelines, $vl);
				}
			}
		}
	$vl++;
	}
$cls->{'values'} = \@values;
$cls->{'valuelines'} = \@valuelines;
$cls->{'valuequotes'} = [ ];
return @rv;
}

# parse_processes(&cls, &optionstr)
sub parse_processes
{
local (@rv, $v, $i);
for($i=0; $i<@{$_[0]->{'values'}}; $i++) {
	$v = $_[0]->{'values'}->[$i];
	if ($v =~ /^(\S+)=(\S+)$/) {
		if (defined($rv[$#rv]->{$1})) {
			$rv[$#rv]->{$1} .= "\0$2";
			}
		else {
			$rv[$#rv]->{$1} = $2;
			}
		}
	elsif ($v eq "restart") {
		$rv[$#rv]->{'_restart'} = $_[0]->{'values'}->[++$i];
		}
	elsif ($v eq "SetOptionString") {
		push(@rv, { '_options' => $_[0]->{'values'}->[++$i] } );
		}
	else {
		push(@rv, { '_match' => $v } );
		}
	}
return @rv;
}

# unparse_processes(&cls, match, ...)
sub unparse_processes
{
local $cls = shift(@_);
local ($d, $vl = 0, @values, @valuelines, @valuequotes);
foreach $d (@_) {
	if ($d->{'_options'}) {
		push(@values, "SetOptionString", $d->{'_options'});
		push(@valuelines, $vl, $vl);
		push(@valuequotes, "", '"');
		}
	else {
		push(@values, $d->{'_match'});
		push(@valuelines, $vl);
		push(@valuequotes, '"');
		foreach $k (keys %$d) {
			if ($k !~ /^_/) {
				local $z;
				foreach $z (split(/\0/, $d->{$k})) {
					push(@values, "$k=$z");
					push(@valuelines, $vl);
					push(@valuequotes, "");
					}
				}
			}
		if ($d->{'_restart'}) {
			push(@values, "restart", $d->{'_restart'});
			push(@valuelines, $vl, $vl);
			push(@valuequotes, "", '"');
			}
		}
	$vl++;
	}
$cls->{'values'} = \@values;
$cls->{'valuelines'} = \@valuelines;
$cls->{'valuequotes'} = \@valuequotes;
return @rv;
}

# unparse_shellcommands(&cls, dir, ...)
sub unparse_shellcommands
{
local $cls = shift(@_);
local ($d, $vl = 0, @values, @valuelines, @valuequotes);
foreach $d (@_) {
	push(@values, $d->{'_dir'});
	push(@valuelines, $vl);
	push(@valuequotes, $d->{'_dir'} !~ /"/ ? '"' :
			   $d->{'_dir'} !~ /'/ ? "'" : "`");
	foreach $k (keys %$d) {
		if ($k !~ /^_/) {
			local $z;
			foreach $z (split(/\0/, $d->{$k})) {
				push(@values, "$k=$z");
				push(@valuelines, $vl);
				push(@valuequotes, undef);
				}
			}
		}
	$vl++;
	}
$cls->{'values'} = \@values;
$cls->{'valuelines'} = \@valuelines;
$cls->{'valuequotes'} = \@valuequotes;
return @rv;
}

# parse_miscmounts(&cls)
sub parse_miscmounts
{
local (@rv, $v);
foreach $v (@{$_[0]->{'values'}}) {
	if ($v =~ /^(\S+)=(\S+)$/) {
		if (defined($rv[$#rv]->{$1})) {
			$rv[$#rv]->{$1} .= "\0$2";
			}
		else {
			$rv[$#rv]->{$1} = $2;
			}
		}
	elsif ($v !~ /\//) {
		$rv[$#rv]->{'mode'} = $v;
		}
	else {
		if (@rv && $rv[$#rv]->{'_src'} && !$rv[$#rv]->{'_dest'}) {
			$rv[$#rv]->{'_dest'} = $v;
			}
		else {
			push(@rv, { '_src' => $v } );
			}
		}
	}
return @rv;
}

# unparse_miscmounts(&cls, dir, ...)
sub unparse_miscmounts
{
local $cls = shift(@_);
local ($d, $vl = 0, @values, @valuelines);
foreach $d (@_) {
	push(@values, $d->{'_src'}, $d->{'_dest'});
	push(@valuelines, $vl, $vl);
	foreach $k (keys %$d) {
		if ($k !~ /^_/) {
			local $z;
			foreach $z (split(/\0/, $d->{$k})) {
				push(@values, "$k=$z");
				push(@valuelines, $vl);
				}
			}
		}
	$vl++;
	}
$cls->{'values'} = \@values;
$cls->{'valuelines'} = \@valuelines;
$cls->{'valuequotes'} = [ ];
return @rv;
}

# list_cfengine_hosts()
# Returns a list of all webmin hosts running cfengine known to this module
sub list_cfengine_hosts
{
local (@rv, $f);
local $hdir = "$module_config_directory/hosts";
opendir(DIR, $hdir);
foreach $f (readdir(DIR)) {
	if ($f =~ /^(\S+)\.host$/) {
		local %host = ( 'id', $1 );
		&read_file("$hdir/$f", \%host);
		push(@rv, \%host);
		}
	}
closedir(DIR);
return @rv;
}

# list_servers()
# Returns a list of all servers from the webmin servers module that can be
# managed, plus this server
sub list_servers
{
local @servers = &foreign_call("servers", "list_servers");
return ( { 'id' => 0, 'desc' => $text{'this_server'}, 'type' => 'unknown' },
	 grep { $_->{'user'} } @servers );
}

# server_name(&server)
sub server_name
{
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
}

# save_cfengine_host(&host)
# Add or update a managed host
sub save_cfengine_host
{
local $hdir = "$module_config_directory/hosts";
mkdir($hdir, 0700);
&write_file("$hdir/$_[0]->{'id'}.host", $_[0]);
}

# delete_cfengine_host(&host)
sub delete_cfengine_host
{
unlink("$module_config_directory/hosts/$_[0]->{'id'}.host");
}

# cfengine_host_version(&server)
sub cfengine_host_version
{
local $out = &remote_eval($_[0]->{'host'}, "cfengine", '`$config{"cfengine"} -V 2>&1`');
return $out =~ /cfengine-(\S+)/ || $out =~ /GNU\s+(\S+)/ ? $1 : undef;
}

# show_run_form()
sub show_run_form
{
print "<tr> <td><b>$text{'run_dry'}</b></td>\n";
print "<td><input type=radio name=dry value=1> $text{'yes'}\n";
print "<td><input type=radio name=dry value=0 checked> $text{'no'}</td>\n";

print "<td><b>$text{'run_noifc'}</b></td>\n";
print "<td><input type=radio name=noifc value=0 checked> $text{'yes'}\n";
print "<td><input type=radio name=noifc value=1> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'run_nomnt'}</b></td>\n";
print "<td><input type=radio name=nomnt value=0 checked> $text{'yes'}\n";
print "<td><input type=radio name=nomnt value=1> $text{'no'}</td>\n";

print "<td><b>$text{'run_nocmd'}</b></td>\n";
print "<td><input type=radio name=nocmd value=0 checked> $text{'yes'}\n";
print "<td><input type=radio name=nocmd value=1> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'run_notidy'}</b></td>\n";
print "<td><input type=radio name=notidy value=0 checked> $text{'yes'}\n";
print "<td><input type=radio name=notidy value=1> $text{'no'}</td>\n";

print "<td><b>$text{'run_nolinks'}</b></td>\n";
print "<td><input type=radio name=nolinks value=0 checked> $text{'yes'}\n";
print "<td><input type=radio name=nolinks value=1> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'run_verbose'}</b></td>\n";
print "<td><input type=radio name=verbose value=1 checked> $text{'yes'}\n";
print "<td><input type=radio name=verbose value=0> $text{'no'}</td>\n";
}

1;

   07070100057cc2000081e40000000000000002000000013d1fe2ea00000a20000000200000000000000000000000000000001b00000003reloc/cfengine/cluster.cgi    #!/usr/local/bin/perl
# cluster.cgi
# Optionally copy to and run the configuration on all managed hosts

require './cfengine-lib.pl';
&foreign_require("servers", "servers-lib.pl");
&ReadParse();
&header($text{'cluster_title'}, "");
print "<hr>\n";
$| = 1;

# Build options string
$args .= " -v" if ($in{'verbose'});
$args .= " --dry-run" if ($in{'dry'});
$args .= " -i" if ($in{'noifc'});
$args .= " -m" if ($in{'nomnt'});
$args .= " -s" if ($in{'nocmd'});
$args .= " -t" if ($in{'notidy'});
$args .= " -X" if ($in{'nolinks'});

# Setup error handler for down hosts
sub run_error
{
$run_error_msg = join("", @_);
}
&remote_error_setup(\&run_error);

# Run on all hosts
print "<b>$text{'cluster_header'}</b><p>\n";
@hosts = &list_cfengine_hosts();
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
        local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
 
        local ($rh = "READ$p", $wh = "WRITE$p");
        pipe($rh, $wh);
        if (!fork()) {
                close($rh);
		&remote_foreign_require($s->{'host'}, "cfengine",
					"cfengine-lib.pl");
		if ($run_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $run_error_msg ]);
			exit;
			}
		local $rconf = &remote_eval($s->{'host'}, "cfengine",
				"\$cfengine_conf");

		# Copy the config if requested and if not local
		if ($in{'copy'} && $s->{'id'}) {
			$lst = [ stat($cfengine_conf) ];
			$rst = &remote_eval($s->{'host'}, "cfengine",
					'[ stat($cfengine_conf) ]');
			if ($lst->[1] != $rst->[1] ||
			    $lst->[7] != $rst->[7] ||
			    $lst->[9] != $rst->[9]) {
				&remote_write($s->{'host'}, $cfengine_conf, $rconf);
				}
			}

		# Execute code to run cfengine
		$out = &remote_eval($s->{'host'}, "cfengine",
			"\$ENV{'CFINPUTS'} = \$config{'cfengine_dir'}; `\$config{'cfengine'} -f \$cfengine_conf $args 2>&1 </dev/null`");
		print $wh &serialise_variable([ 1, $out ]);
		close($wh);
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	print "<hr>\n";
	if ($rv && $rv->[0]) {
		# Run ok! Show the output
		print "<font size=+1>",&text('cluster_success', $d),"</font><br>\n";
		print "<font size=-1><pre>$rv->[1]</pre></font>\n";
		}
	else {
		# Something went wrong
		print &text('cluster_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

&remote_finished();
print "<hr>\n";
&footer("list_hosts.cgi", $text{'hosts_return'});

07070100057cc3000081a40000000000000002000000013d1fe2ea00000071000000200000000000000000000000000000001600000003reloc/cfengine/config cfengine_dir=/etc/cfengine
cfengine=/usr/local/sbin/cfengine
cfrun=/usr/local/sbin/cfrun
cfd=/usr/local/sbin/cfd
   07070100057cc4000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002300000003reloc/cfengine/config-cobalt-linux    cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057cc5000081a40000000000000002000000013d1fe2ea0000005e000000200000000000000000000000000000002300000003reloc/cfengine/config-debian-linux    cfengine_dir=/etc/cfengine
cfengine=/usr/bin/cfengine
cfrun=/usr/sbin/cfrun
cfd=/usr/sbin/cfd
  07070100057cc6000081a40000000000000002000000013d1fe2ea000000cd000000200000000000000000000000000000002500000003reloc/cfengine/config-mandrake-linux  cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfd start
stop_cmd=/etc/rc.d/init.d/cfd stop
   07070100057ccb000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002000000003reloc/cfengine/config-msc-linux   cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057d0d000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002100000003reloc/cfengine/config-open-linux  cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057d62000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002300000003reloc/cfengine/config-redhat-linux    cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057d63000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002100000003reloc/cfengine/config-suse-linux  cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057d7c000081a40000000000000002000000013d1fe2ea000000d7000000200000000000000000000000000000002200000003reloc/cfengine/config-turbo-linux cfrun_hosts=
cfd_conf=
cfengine_conf=
cfd=/usr/sbin/cfd
cfengine_dir=/etc/cfengine
cfrun=/usr/sbin/cfrun
cfengine=/usr/sbin/cfengine
start_cmd=/etc/rc.d/init.d/cfengine start
stop_cmd=/etc/rc.d/init.d/cfengine stop
 07070100057d7e000081a40000000000000002000000013d1fe2ea00000188000000200000000000000000000000000000001b00000003reloc/cfengine/config.info    cfengine_dir=Path to configuration files directory,0
cfengine=Path to cfengine program,0
cfengine_conf=Path to cfengine.conf file,3,Automatic
cfrun=Path to cfrun program,0
cfrun_hosts=Path to server options file,3,Automatic
cfd=Path to cfd program,0
cfd_conf=Path to cfd.conf file,3,Automatic
start_cmd=Command to start cfd,3,Just run daemon
stop_cmd=Command to stop cfd,3,Just kill process

07070100057d7f000081e40000000000000002000000013d1fe2ea0000010a000000200000000000000000000000000000001f00000003reloc/cfengine/delete_host.cgi    #!/usr/local/bin/perl
# delete_host.cgi
# Remove a managed host from the list

require './cfengine-lib.pl';
&ReadParse();
@hosts = &list_cfengine_hosts();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
&delete_cfengine_host($host);
&redirect("list_hosts.cgi");

  07070100057d80000081e40000000000000002000000013d1fe2ea00000159000000200000000000000000000000000000001800000003reloc/cfengine/down.cgi   #!/usr/local/bin/perl
# down.cgi
# Move an entire section down in the config file

require './cfengine-lib.pl';
&ReadParse();
$conf = $in{'cfd'} ? &get_cfd_config() : &get_config();
$sw1 = $conf->[$in{'idx'}];
$sw2 = $conf->[$in{'idx'}+1];
&swap_directives($conf, $sw1, $sw2);

&flush_file_lines();
&redirect($in{'cfd'} ? "edit_cfd.cgi" : "");

   07070100057d81000081e40000000000000002000000013d1fe2ea00000445000000200000000000000000000000000000001c00000003reloc/cfengine/edit_cfd.cgi   #!/usr/local/bin/perl
# edit_cfd.cgi
# Display options for the cfengine daemon on this host

require './cfengine-lib.pl';
&header($text{'cfd_title'}, "", "cfd");
print "<hr>\n";

if (!&has_command($config{'cfd'})) {
	print "<p>",&text('cfd_ecmd', "<tt>$config{'cfd'}</tt>",
		  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Display table of daemon options
$conf = &get_cfd_config();
@secs = grep { $_->{'type'} eq 'section' } @$conf;
&show_classes_table(\@secs, 1);

# Allow starting or stopping of cfd
($pid) = &find_byname("cfd");
print "<hr>\n";
print "<table width=100%><tr>\n";
if ($pid) {
	print "<form action=stop.cgi>\n";
	print "<td><input type=submit value='$text{'cfd_stop'}'></td>\n";
	print "<td>$text{'cfd_stopdesc'}</td>\n";
	print "</form>\n";
	}
else {
	print "<form action=start.cgi>\n";
	print "<td><input type=submit value='$text{'cfd_start'}'></td>\n";
	print "<td>$text{'cfd_startdesc'}</td>\n";
	print "</form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100057d82000081e40000000000000002000000013d1fe2ea00009036000000200000000000000000000000000000001e00000003reloc/cfengine/edit_class.cgi #!/usr/local/bin/perl
# edit_class.cgi
# Edit options for a class in some section

require './cfengine-lib.pl';
use Config;
&ReadParse();
$conf = $in{'cfd'} ? &get_cfd_config() : &get_config();
$sec = $conf->[$in{'idx'}] if ($in{'idx'} ne '');
if ($in{'new'}) {
	&header($sec ? $text{'edit_create2'} : $text{'edit_create1'}, "",
		"edit");
	$cls = { 'name' => 'any' };
	}
else {
	&header($text{'edit_title'}, "", "edit");
	$cls = $sec->{'cls'}->[$in{'cidx'}];
	}
print "<hr>\n";

print "<form action=save_class.cgi method=post>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=cidx value='$in{'cidx'}'>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";
print "<input type=hidden name=cfd value='$in{'cfd'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$type = $in{'type'} ? $in{'type'} : $sec->{'name'};
$t = $text{"section_".$type."_".$in{'cfd'}};
$t = $text{"section_".$type} if (!$t);
print "<tr> <td><b>$text{'edit_section'}</b></td> <td colspan=3>\n";
print $t ? "$t ($type)" : $type,"</td> </tr>\n";

print "<td><b>$text{'edit_class'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=class_def value=1 %s> %s\n",
	$cls->{'name'} eq 'any' ? 'checked' : '', $text{'edit_all'};
printf "<input type=radio name=class_def value=0 %s>\n",
	$cls->{'name'} eq 'any' ? '' : 'checked';
printf "<input name=class size=50 value='%s'></td> </tr>\n",
	$cls->{'name'} eq 'any' ? '' : $cls->{'name'};

$type = undef if ($in{'manual'});
if ($text{"type_".$type."_".$in{'cfd'}}) {
	print "<tr> <td colspan=4>",$text{"type_".$type."_".$in{'cfd'}},
	      "</td> </tr>\n";
	}
elsif ($text{"type_".$type}) {
	print "<tr> <td colspan=4>",$text{"type_".$type},"</td> </tr>\n";
	}
if ($type eq 'links') {
	# Show links that would be created
	local @links = &parse_links($cls);
	print "<tr> <td valign=top><b>$text{'edit_links'}</b></td>\n";
	print "<td colspan=3><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_linkfrom'}</b></td> ",
	      "<td><b>$text{'edit_linktype'}</b></td> ",
	      "<td><b>$text{'edit_linkover'}</b></td> ",
	      "<td><b>$text{'edit_linkto'}</b></td> </tr>\n";
	$i = 0;
	foreach $l (@links, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=from_$i size=30 value='%s'></td>\n",
			$l->{'_linkfrom'};
		printf "<td><input type=checkbox name=type_$i value=1 %s> %s</td>\n", $l->{'_linktype'} =~ /^\+/ ? "checked" : "", $text{'yes'};
		printf "<td><input type=checkbox name=over_$i value=1 %s> %s</td>\n", $l->{'_linktype'} =~ /!$/ ? "checked" : "", $text{'yes'};
		printf "<td><input name=to_$i size=30 value='%s'></td>\n",
			$l->{'_linkto'};
		print "</tr>\n";
		$i++;
		}
	print "</table></td> </tr>\n";
	}
elsif ($type eq 'directories') {
	# Show directories that would be created
	local @dirs = &parse_directories($cls);
	print "<tr> <td colspan=4><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_dir'}</b></td> ",
	      "<td><b>$text{'edit_dirmode'}</b></td> ",
	      "<td><b>$text{'edit_dirowner'}</b></td> ",
	      "<td><b>$text{'edit_dirgroup'}</b></td> </tr>\n";
	$i = 0;
	foreach $d (@dirs, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=dir_$i size=40 value='%s'></td>\n",
			$d->{'_dir'};
		printf "<td><input name=mode_$i size=4 value='%s'></td>\n",
			&sname("mode", $d);
		printf "<td><input name=owner_$i size=13 value='%s'></td>\n",
			&sname("owner", $d);
		printf "<td><input name=group_$i size=13 value='%s'></td>\n",
			&sname("group", $d);
		print "</tr>\n";
		$i++;
		}
	print "</table></td> </tr>\n";
	}
elsif ($type eq "control" && !$in{'cfd'}) {
	# Show actionsequence definition
	local ($as) = &find("actionsequence", $cls->{'defs'});
	print "<tr> <td valign=top><b>$text{'edit_actionseq'}</b></td>\n";
	print "<td colspan=3><table cellpadding=0 cellspacing=0>\n";
	print "<tr> <td valign=top><textarea name=seq rows=10 cols=30>";
	foreach $v (@{$as->{'valuequoted'}}) {
		print &html_escape($v),"\n";
		}
	print "</textarea></td>\n";
	print "<td><select name=add size=10>\n";
	foreach $s ($in{'cfd'} ? @known_cfd_sections : @known_sections) {
		next if ($s eq "control");
		local $t = $text{"section_".$s."_".$in{'cfd'}};
		$t = $text{"section_".$s} if (!$t);
		printf "<option value=$s>$t ($s)\n";
		}
	print "</select><br>\n";
	print "<input type=button value='$text{'edit_actionadd'}' onClick='document.forms[0].seq.value += document.forms[0].add.options[document.forms[0].add.selectedIndex].value+\"\\n\"'>\n";
	print "</td></tr></table> </td> </tr>\n";

	# Show other global definitions
	print "<tr> <td><b>$text{'edit_controldef'}</b></td> ",
	      "<td colspan=3><b>$text{'edit_controlvalue'}</b></td> </tr>\n";
	$i = 0;
	foreach $d (@{$cls->{'defs'}}, { }) {
		next if ($d->{'name'} eq 'actionsequence');
		print "<tr>\n";
		printf "<td><input name=def_$i size=15 value='%s'></td>\n",
			$d->{'name'};
		printf "<td colspan=3><input name=value_$i size=50 value='%s'></td>\n", join(" ", @{$d->{'valuequoted'}});
		print "</tr>\n";
		$i++;
		}
	}
elsif ($type eq "control" && $in{'cfd'}) {
	# Show cfd-specific control options
	local $run = &find_value("cfrunCommand", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlrun'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=run_def value=1 %s> %s\n",
		$run ? "" : "checked", $text{'edit_none'};
	printf "<input type=radio name=run_def value=0 %s>\n",
		$run ? "checked" : "";
	printf "<input name=run size=50 value='%s'></td> </tr>\n", $run;

	local $elapsed = &find_value("IfElapsed", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlelapsed'}</b></td> <td>\n";
	printf "<input type=radio name=elapsed_def value=1 %s> %s\n",
		defined($elapsed) ? "" : "checked", $text{'default'};
	printf "<input type=radio name=elapsed_def value=0 %s>\n",
		defined($elapsed) ? "checked" : "";
	printf "<input name=elapsed size=5 value='%s'></td>\n", $elapsed;

	local $max = &find_value("MaxConnections", $cls->{'defs'});
	print "<td><b>$text{'edit_controlmax'}</b></td> <td>\n";
	printf "<input type=radio name=max_def value=1 %s> %s\n",
		defined($max) ? "" : "checked", $text{'default'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		defined($max) ? "checked" : "";
	printf "<input name=max size=5 value='%s'></td> </tr>\n", $max;

	print "<tr> <td colspan=4><hr></td> </tr>\n";

	local $auto = &find_value("AutoExecCommand", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlauto'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=auto_def value=1 %s> %s\n",
		$auto ? "" : "checked", $text{'edit_none'};
	printf "<input type=radio name=auto_def value=0 %s>\n",
		$auto ? "checked" : "";
	printf "<input name=auto size=50 value='%s'></td></tr>\n", $auto;

	local $interval = &find_value("AutoExecInterval", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlinterval'}</b></td> <td>\n";
	printf "<input type=radio name=interval_def value=1 %s> %s\n",
		defined($interval) ? "" : "checked", $text{'default'};
	printf "<input type=radio name=interval_def value=0 %s>\n",
		defined($interval) ? "checked" : "";
	printf "<input name=interval size=5 value='%s'></td> </tr>\n",$interval;

	print "<tr> <td colspan=4><hr></td> </tr>\n";

	local $dom = &find_value("domain", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controldom'}</b></td> <td>\n";
	printf "<input type=radio name=dom_def value=1 %s> %s\n",
		$dom ? "" : "checked", $text{'edit_none'};
	printf "<input type=radio name=dom_def value=0 %s>\n",
		$dom ? "checked" : "";
	printf "<input name=dom size=15 value='%s'></td>\n", $dom;

	local $log = &find_value("LogAllConnections", $cls->{'defs'});
	print "<td><b>$text{'edit_controllog'}</b></td>\n";
	printf "<td><input type=radio name=log value=1 %s> %s\n",
		lc($log) eq "true" ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=log value=0 %s> %s\n",
		lc($log) eq "false" ? "checked" : "", $text{'no'};
	printf "<input type=radio name=log value=-1 %s> %s</td> </tr>\n",
		$log ? "" : "checked", $text{'default'};

	local @allow = &find_value("AllowConnectionsFrom", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlallow'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=allow_def value=1 %s> %s ",
		@allow ? "" : "checked", $text{'edit_controlall'};
	printf "<input type=radio name=allow_def value=0 %s>\n",
		@allow ? "checked" : "";
	printf "<input name=allow size=40 value='%s'></td> </tr>\n",
		join(" ", @allow);

	local @deny = &find_value("DenyConnectionsFrom", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controldeny'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=deny_def value=1 %s> %s ",
		@deny ? "" : "checked", $text{'edit_controlnone'};
	printf "<input type=radio name=deny_def value=0 %s>\n",
		@deny ? "checked" : "";
	printf "<input name=deny size=40 value='%s'></td> </tr>\n",
		join(" ", @deny);

	local @skip = &find_value("SkipVerify", $cls->{'defs'});
	print "<tr> <td><b>$text{'edit_controlskip'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=skip_def value=1 %s> %s ",
		@skip ? "" : "checked", $text{'edit_controlnone'};
	printf "<input type=radio name=skip_def value=0 %s>\n",
		@skip ? "checked" : "";
	printf "<input name=skip size=40 value='%s'></td> </tr>\n",
		join(" ", @skip);
	}
elsif ($type eq "grant" || $type eq "admit" || $type eq "deny") {
	# Allow editing of allowed or denied directories
	local (@grants, $grant);
	foreach $v (@{$cls->{'values'}}) {
		if ($v =~ /\//) {
			push(@grants, $grant = { 'dir' => $v });
			}
		else {
			push(@{$grant->{'hosts'}}, $v);
			}
		}

	print "<tr> <td valign=top><b>",$text{'edit_'.$type},"</b></td>\n";
	print "<td colspan=3><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_grantdir'}</b></td> ",
	      "<td><b>$text{'edit_granthosts'}</b></td> </tr>\n";
	$i = 0;
	foreach $g (@grants, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=dir_$i size=20 value='%s'></td>\n",
			$g->{'dir'};
		printf "<td><input name=hosts_$i size=40 value='%s'></td>\n",
			join(" ", @{$g->{'hosts'}});
		print "</tr>\n";
		$i++;
		}
	print "</table></td></tr>\n";
	}
elsif ($type eq "groups" || $type eq "classes") {
	# Allow editing of group definitions
	print "<tr> <td valign=top><b>$text{'edit_groups'}</b></td>\n";
	print "<td colspan=3><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_groupname'}</b></td> ",
	      "<td><b>$text{'edit_groupmems'}</b></td> </tr>\n";
	$i = 0;
	foreach $g (@{$cls->{'defs'}}, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=name_$i size=15 value='%s'></td>\n",
			$g->{'name'};
		printf "<td><input name=mems_$i size=45 value='%s'></td>\n",
			join(" ", @{$g->{'valuequoted'}});
		print "</tr>\n";
		$i++;
		}
	print "</table></td></tr>\n";
	}
elsif ($type eq "files") {
	# Allow editing of file permission settings
	local @files = &parse_directories($cls);
	local $i = 0;
	foreach $f (@files, $in{'newfiles'} || $in{'new'} ? ( { } ) : ( ) ) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_filesdir'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=dir_def_$i value=1 %s> %s\n",
			$f->{'_dir'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=dir_def_$i value=0 %s>\n",
			$f->{'_dir'} ? "checked" : "";
		printf "<input name=dir_$i size=50 value='%s'></td> </tr>\n",
			$f->{'_dir'};

		local $owner = &sname("owner", $f);
		print "<tr> <td><b>$text{'edit_filesowner'}</b></td> <td>\n";
		printf "<input type=radio name=owner_def_$i value=1 %s> %s\n",
			$owner ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=owner_def_$i value=0 %s>\n",
			$owner ? "checked" : "";
		printf "<input name=owner_$i size=13 value='%s'></td>\n",
			$owner;

		local $group = &sname("group", $f);
		print "<td><b>$text{'edit_filesgroup'}</b></td> <td>\n";
		printf "<input type=radio name=group_def_$i value=1 %s> %s\n",
			$group ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=group_def_$i value=0 %s>\n",
			$group ? "checked" : "";
		printf "<input name=group_$i size=13 value='%s'></td> </tr>\n",
			$group;

		local $mode = &sname("mode", $f);
		print "<tr> <td><b>$text{'edit_filesmode'}</b></td> <td>\n";
		printf "<input type=radio name=mode_def_$i value=1 %s> %s\n",
			$mode ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=mode_def_$i value=0 %s>\n",
			$mode ? "checked" : "";
		printf "<input name=mode_$i size=15 value='%s'></td>\n",
			$mode;

		local $rec = &sname("recurse", $f);
		print "<td><b>$text{'edit_filesrec'}</b></td> <td>\n";
		printf "<input type=radio name=rec_def_$i value=1 %s> %s\n",
			$rec ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=rec_def_$i value=2 %s> %s\n",
			$rec eq 'inf' ? "checked" : "",
			$text{'edit_filesinf'};
		printf "<input type=radio name=rec_def_$i value=0 %s>\n",
			$rec && $rec ne 'inf' ? "checked" : "";
		printf "<input name=rec_$i size=6 value='%s'></td> </tr>\n",
			$rec eq 'inf' ? '' : $rec;

		local $include = &sname("include", $f);
		print "<tr> <td><b>$text{'edit_filesinclude'}</b></td> <td>\n";
		printf "<input type=radio name=include_def_$i value=1 %s> %s\n",
			$include ? "" : "checked", $text{'edit_filesall'};
		printf "<input type=radio name=include_def_$i value=0 %s>\n",
			$include ? "checked" : "";
		printf "<input name=include_$i size=15 value='%s'></td>\n",
			$include;

		local $exclude = &sname("exclude", $f);
		print "<td><b>$text{'edit_filesexclude'}</b></td> <td>\n";
		printf "<input type=radio name=exclude_def_$i value=1 %s> %s\n",
			$exclude ? "" : "checked", $text{'edit_filesnone'};
		printf "<input type=radio name=exclude_def_$i value=0 %s>\n",
			$exclude ? "checked" : "";
		printf "<input name=exclude_$i size=13 value='%s'></td></tr>\n",
			$exclude;

		local $acl = &sname("acl", $f);
		print "<tr> <td><b>$text{'edit_filesacl'}</b></td> <td>\n";
		printf "<input type=radio name=acl_def_$i value=1 %s> %s\n",
			$acl ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=acl_def_$i value=0 %s>\n",
			$acl ? "checked" : "";
		printf "<input name=acl_$i size=15 value='%s'></td>\n",
			$acl;

		local $action = &sname("action", $f);
		local @acts = ( "fixall", "fixdirs", "fixplain", "warnall", "warndirs", "warnplain", "touch", "linkchildren", "create", "compress", "alert" );
		print "<td><b>$text{'edit_filesact'}</b></td>\n";
		print "<td><select name=act_$i>\n";
		printf "<option value='' %s> %s\n",
			$action ? "" : "selected", $text{'default'};
		foreach $a (@acts) {
			printf "<option value=%s %s> %s\n",
				$a, $action eq $a ? "selected" : "",
				$text{"edit_files_$a"};
			}
		print "<option selected>$action\n"
			if ($action && &indexof($action, @acts) < 0);
		print "</select></td> </tr>\n";
		
		$i++;
		}
	if (!$in{'newfiles'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newfiles=1'>$text{'edit_filesnew'}</a></td>\n";
		}
	}
elsif ($type eq "copy") {
	# Allow editing of file copy options
	local @copies = &parse_directories($cls);
	local $i = 0;
	foreach $f (@copies, $in{'newcopy'} || $in{'new'} ? ( { } ) : ( ) ) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_copydir'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=dir_def_$i value=1 %s> %s\n",
			$f->{'_dir'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=dir_def_$i value=0 %s>\n",
			$f->{'_dir'} ? "checked" : "";
		printf "<input name=dir_$i size=50 value='%s'></td> </tr>\n",
			$f->{'_dir'};

		print "<tr> <td><b>$text{'edit_copydest'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input name=dest_$i size=50 value='%s'></td> </tr>\n",
			&sname("dest", $f);

		local $server = &sname("server", $f);
		print "<tr> <td><b>$text{'edit_copyserver'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=server_def_$i value=1 %s> %s\n",
			$server ? "" : "checked", $text{'edit_local'};
		printf "<input type=radio name=server_def_$i value=0 %s>\n",
			$server ? "checked" : "";
		printf "<input name=server_$i size=40 value='%s'></td> </tr>\n",
			$server;

		local $owner = &sname("owner", $f);
		print "<tr> <td><b>$text{'edit_filesowner'}</b></td> <td>\n";
		printf "<input type=radio name=owner_def_$i value=1 %s> %s\n",
			$owner ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=owner_def_$i value=0 %s>\n",
			$owner ? "checked" : "";
		printf "<input name=owner_$i size=13 value='%s'></td>\n",
			$owner;

		local $group = &sname("group", $f);
		print "<td><b>$text{'edit_filesgroup'}</b></td> <td>\n";
		printf "<input type=radio name=group_def_$i value=1 %s> %s\n",
			$group ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=group_def_$i value=0 %s>\n",
			$group ? "checked" : "";
		printf "<input name=group_$i size=13 value='%s'></td> </tr>\n",
			$group;

		local $mode = &sname("mode", $f);
		print "<tr> <td><b>$text{'edit_filesmode'}</b></td> <td>\n";
		printf "<input type=radio name=mode_def_$i value=1 %s> %s\n",
			$mode ? "" : "checked", $text{'edit_nochange'};
		printf "<input type=radio name=mode_def_$i value=0 %s>\n",
			$mode ? "checked" : "";
		printf "<input name=mode_$i size=15 value='%s'></td>\n",
			$mode;

		local $rec = &sname("recurse", $f);
		print "<td><b>$text{'edit_filesrec'}</b></td> <td>\n";
		printf "<input type=radio name=rec_def_$i value=1 %s> %s\n",
			$rec ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=rec_def_$i value=2 %s> %s\n",
			$rec eq 'inf' ? "checked" : "",
			$text{'edit_filesinf'};
		printf "<input type=radio name=rec_def_$i value=0 %s>\n",
			$rec && $rec ne 'inf' ? "checked" : "";
		printf "<input name=rec_$i size=6 value='%s'></td> </tr>\n",
			$rec eq 'inf' ? '' : $rec;

		local $size = &sname("size", $f);
		local $smode = $size =~ /^>/ ? 3 : $size =~ /^</ ? 2 :
			       $size ne '' ? 1 : 0;
		print "<tr> <td><b>$text{'edit_copysize'}</b></td>\n";
		print "<td colspan=3>\n";
		printf "<input type=radio name=size_mode_$i value=0 %s> %s\n",
			$smode == 0 ? "checked" : "", $text{'edit_none'};

		printf "<input type=radio name=size_mode_$i value=2 %s> %s\n",
			$smode == 2 ? "checked" : "", $text{'edit_copysize2'};
		printf "<input name=size2_$i size=8 value='%s'>\n",
			$smode == 2 ? substr($size, 1) : "";

		printf "<input type=radio name=size_mode_$i value=1 %s> %s\n",
			$smode == 1 ? "checked" : "", $text{'edit_copysize1'};
		printf "<input name=size1_$i size=8 value='%s'>\n",
			$smode == 1 ? $size : "";

		printf "<input type=radio name=size_mode_$i value=3 %s> %s\n",
			$smode == 3 ? "checked" : "", $text{'edit_copysize3'};
		printf "<input name=size3_$i size=8 value='%s'>\n",
			$smode == 3 ? substr($size, 1) : "";

		local $backup = &sname("backup", $f);
		print "<tr> <td><b>$text{'edit_copybackup'}</b></td> <td>\n";
		printf "<input type=radio name=backup_$i value=1 %s> %s\n",
			$backup eq "false" ? "" : "checked", $text{'yes'};
		printf "<input type=radio name=backup_$i value=0 %s> %s</td>\n",
			$backup eq "false" ? "checked" : "", $text{'no'};

		local $force = &sname("force", $f);
		print "<td><b>$text{'edit_copyforce'}</b></td> <td>\n";
		printf "<input type=radio name=force_$i value=1 %s> %s\n",
			$force eq "true" ? "checked" : "", $text{'yes'};
		printf"<input type=radio name=force_$i value=0 %s> %s</td>\n",
			$force eq "true" ? "" : "checked", $text{'no'};
		print "</tr>\n";

		local $purge = &sname("purge", $f);
		print "<tr> <td><b>$text{'edit_copypurge'}</b></td> <td>\n";
		printf "<input type=radio name=purge_$i value=1 %s> %s\n",
			$purge eq "true" ? "checked" : "", $text{'yes'};
		printf"<input type=radio name=purge_$i value=0 %s> %s</td>\n",
			$purge eq "true" ? "" : "checked", $text{'no'};

		local $action = &sname("action", $f);
		local @acts = ( "fix", "silent", "warn" );
		print "<td><b>$text{'edit_copyact'}</b></td>\n";
		print "<td><select name=act_$i>\n";
		printf "<option value='' %s> %s\n",
			$action ? "" : "selected", $text{'default'};
		foreach $a (@acts) {
			printf "<option value=%s %s> %s\n",
				$a, $action eq $a ? "selected" : "",
				$text{"edit_copy_$a"};
			}
		print "<option selected>$action\n"
			if ($action && &indexof($action, @acts) < 0);
		print "</select></td> </tr>\n";

		$i++;
		}
	if (!$in{'newcopy'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newcopy=1'>$text{'edit_copynew'}</a></td>\n";
		}
	}
elsif ($type eq "disable") {
	# Editing files to disable or delete
	local @dis = &parse_directories($cls);
	local $i = 0;
	foreach $f (@dis, $in{'newdis'} || $in{'new'} ? ( { } ) : ( ) ) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_disfile'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=dir_def_$i value=1 %s> %s\n",
			$f->{'_dir'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=dir_def_$i value=0 %s>\n",
			$f->{'_dir'} ? "checked" : "";
		printf "<input name=dir_$i size=50 value='%s'></td> </tr>\n",
			$f->{'_dir'};

		local $rot = &sname("rotate", $f);
		print "<tr> <td><b>$text{'edit_disrot'}</b></td>\n";
		print "<td colspan=3>\n";
		printf "<input type=radio name=rot_mode_$i value=0 %s> %s\n",
			$rot eq '' ? "checked" : "", $text{'edit_disrot0'};
		printf "<input type=radio name=rot_mode_$i value=1 %s> %s\n",
			$rot eq 'empty' || $rot eq 'truncate' ? "checked" : "",
			$text{'edit_disrot1'};
		printf "<input type=radio name=rot_mode_$i value=2 %s>\n",
			$rot =~ /\d/ ? "checked" : "";
		print &text('edit_disrot2', sprintf("<input name=rot_$i size=6 value='%s'>", $rot =~ /\d/ ? $rot : undef)),"</td> </tr>\n";

		local $type = &sname("type", $f);
		local @types = ( "plain", "file", "link" );
		print "<tr> <td><b>$text{'edit_distype'}</b></td>\n";
		print "<td><select name=type_$i>\n";
		printf "<option value='' %s> %s\n",
			$type ? "" : "selected", $text{'edit_dis_all'};
		foreach $t (@types) {
			printf "<option value=%s %s> %s\n",
				$t, $type eq $t ? "selected" : "",
				$text{"edit_dis_$t"};
			}
		print "<option selected>$type\n"
			if ($type && &indexof($type, @types) < 0);
		print "</select></td>\n";

		local $size = &sname("size", $f);
		local $smode = $size =~ /^>/ ? 3 : $size =~ /^</ ? 2 :
			       $size ne '' ? 1 : 0;
		print "<tr> <td><b>$text{'edit_dissize'}</b></td>\n";
		print "<td colspan=3>\n";
		printf "<input type=radio name=size_mode_$i value=0 %s> %s\n",
			$smode == 0 ? "checked" : "", $text{'edit_none'};

		printf "<input type=radio name=size_mode_$i value=2 %s> %s\n",
			$smode == 2 ? "checked" : "", $text{'edit_copysize2'};
		printf "<input name=size2_$i size=8 value='%s'>\n",
			$smode == 2 ? substr($size, 1) : "";

		printf "<input type=radio name=size_mode_$i value=1 %s> %s\n",
			$smode == 1 ? "checked" : "", $text{'edit_copysize1'};
		printf "<input name=size1_$i size=8 value='%s'>\n",
			$smode == 1 ? $size : "";

		printf "<input type=radio name=size_mode_$i value=3 %s> %s\n",
			$smode == 3 ? "checked" : "", $text{'edit_copysize3'};
		printf "<input name=size3_$i size=8 value='%s'>\n",
			$smode == 3 ? substr($size, 1) : "";

		$i++;
		}
	if (!$in{'newdis'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newdis=1'>$text{'edit_disnew'}</a></td>\n";
		}
	}
elsif ($type eq "editfiles") {
	# Allow editing of file-editor script
	local $i = 0;
	foreach $e (@{$cls->{'lists'}},
		    $in{'newedit'} || $in{'new'} ? ( { } ) : ( ) ) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		local $ef = $e->{'values'}->[0];
		print "<tr> <td><b>$text{'edit_editfile'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=edit_def_$i value=1 %s> %s\n",
			$ef ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=edit_def_$i value=0 %s>\n",
			$ef ? "checked" : "";
		printf "<input name=edit_$i size=50 value='%s'></td> </tr>\n",
			$ef;

		print "<tr> <td valign=top><b>$text{'edit_editscript'}</b>",
		      "</td> <td colspan=3>\n";
		print "<textarea name=script_$i rows=7 cols=70>";
		shift(@{$e->{'values'}});
		shift(@{$e->{'valuelines'}});
		shift(@{$e->{'valuequotes'}});
		foreach $l (&value_lines($e->{'values'}, $e->{'valuelines'},
					 $e->{'valuequotes'})) {
			print &html_escape($l),"\n";
			}
		print "</textarea></td> </tr>\n";

		$i++;
		}
	if (!$in{'newedit'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newedit=1'>$text{'edit_editnew'}</a></td>\n";
		}
	}
elsif ($type eq "ignore") {
	# Display list of ignored files
	print "<tr> <td valign=top><b>$text{'edit_ignore'}</b></td>\n";
	print "<td colspan=3><textarea name=ignore rows=8 cols=50>";
	foreach $v (@{$cls->{'valuequoted'}}) {
		print &html_escape($v),"\n";
		}
	print "</textarea></td> </tr>\n";
	}
elsif ($type eq "processes") {
	# Show processes to kill
	local @procs = &parse_processes($cls);
	local $i = 0;
	foreach $p (@procs, $in{'newproc'} || $in{'new'} ? ( { } ) : ( ) ) {
		if ($p->{'_options'}) {
			# Don't edit SetOptionString lines
			$i++;
			next;
			}
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_proc'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=proc_def_$i value=1 %s> %s\n",
			$p->{'_match'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=proc_def_$i value=0 %s>\n",
			$p->{'_match'} ? "checked" : "";
		printf "<input name=proc_$i size=50 value='%s'></td> </tr>\n",
			$p->{'_match'};

		local $sig = &sname("signal", $p);
		print "<tr> <td><b>$text{'edit_procsig'}</b></td>\n";
		print "<td><select name=sig_$i>\n";
		printf "<option value='' %s>%s\n",
			$sig ? "" : "selected", $text{'edit_none'};
		foreach $s (split(/\s+/, $Config{sig_name})) {
			printf "<option value=%s %s> $s\n",
				lc($s), lc($s) eq $sig ? "selected" : "", $s;
			}
		print "</select></td>\n";

		local $act = &sname("action", $p);
		print "<td><b>$text{'edit_procact'}</b></td>\n";
		print "<td><select name=act_$i>\n";
		printf "<option value='' %s>%s\n",
			!$act || $act eq 'signal' || $act eq 'do' ?
				"selected" : "", $text{"edit_proc_signal"};
		printf "<option value=bymatch %s>%s\n",
			$act eq "bymatch" ? "selected" : "",
			$text{"edit_proc_bymatch"};
		printf "<option value=warn %s>%s\n",
			$act eq "warn" ? "selected" : "",
			$text{"edit_proc_warn"};
		print "</select></td> </tr>\n";

		local $mat = &sname("matches", $p);
		local $smode = $mat =~ /^>/ ? 3 : $mat =~ /^</ ? 2 :
			       $mat ne '' ? 1 : 0;
		print "<tr> <td><b>$text{'edit_procmat'}</b></td>\n";
		print "<td colspan=3>\n";
		printf "<input type=radio name=mat_mode_$i value=0 %s> %s\n",
			$smode == 0 ? "checked" : "", $text{'edit_procmat0'};

		printf "<input type=radio name=mat_mode_$i value=2 %s> %s\n",
			$smode == 2 ? "checked" : "", $text{'edit_procmat2'};
		printf "<input name=mat2_$i size=8 value='%s'>\n",
			$smode == 2 ? substr($mat, 1) : "";

		printf "<input type=radio name=mat_mode_$i value=1 %s> %s\n",
			$smode == 1 ? "checked" : "", $text{'edit_procmat1'};
		printf "<input name=mat1_$i size=8 value='%s'>\n",
			$smode == 1 ? $mat : "";

		printf "<input type=radio name=mat_mode_$i value=3 %s> %s\n",
			$smode == 3 ? "checked" : "", $text{'edit_procmat3'};
		printf "<input name=mat3_$i size=8 value='%s'>\n",
			$smode == 3 ? substr($mat, 1) : "";

		print "<tr> <td><b>$text{'edit_procrestart'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=restart_def_$i value=1 %s> %s\n",
			$p->{'_restart'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=restart_def_$i value=0 %s>\n",
			$p->{'_restart'} ? "checked" : "";
		printf "<input name=restart_$i size=50 value='%s'></td></tr>\n",
			$p->{'_restart'};

		local $owner = &sname("owner", $p);
		print "<tr> <td><b>$text{'edit_procowner'}</b></td> <td>\n";
		printf "<input type=radio name=owner_def_$i value=1 %s> %s\n",
			$owner ? "" : "checked", "<tt>root</tt>";
		printf "<input type=radio name=owner_def_$i value=0 %s>\n",
			$owner ? "checked" : "";
		printf "<input name=owner_$i size=13 value='%s'></td>\n",
			$owner;

		local $group = &sname("group", $p);
		print "<td><b>$text{'edit_procgroup'}</b></td> <td>\n";
		printf "<input type=radio name=group_def_$i value=1 %s> %s\n",
			$group ? "" : "checked", "<tt>root</tt>";
		printf "<input type=radio name=group_def_$i value=0 %s>\n",
			$group ? "checked" : "";
		printf "<input name=group_$i size=13 value='%s'></td> </tr>\n",
			$group;

		$i++;
		}
	if (!$in{'newproc'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newproc=1'>$text{'edit_procnew'}</a></td>\n";
		}
	}
elsif ($type eq "shellcommands") {
	# Edit list of executed shell commands
	local @cmds = &parse_directories($cls);
	print "<tr> <td colspan=4><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_cmd'}</b></td> ",
	      "<td><b>$text{'edit_cmdowner'}</b></td> ",
	      "<td><b>$text{'edit_cmdgroup'}</b></td> ",
	      "<td><b>$text{'edit_cmdtimeout'}</b></td> </tr>\n";
	$i = 0;
	foreach $c (@cmds, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=cmd_$i size=40 value='%s'></td>\n",
			$c->{'_dir'};
		printf "<td><input name=owner_$i size=13 value='%s'></td>\n",
			&sname("owner", $c);
		printf "<td><input name=group_$i size=13 value='%s'></td>\n",
			&sname("group", $c);
		printf"<td><input name=timeout_$i size=6 value='%s'> %s</td>\n",
			&sname("timeout", $c), "secs";
		print "</tr>\n";
		$i++;
		}
	print "</table></td> </tr>\n";
	}
elsif ($type eq "tidy") {
	# Allow editing of directories to tidy up
	local @dirs = &parse_directories($cls);
	local $i = 0;
	foreach $d (@dirs, $in{'newtidy'} || $in{'new'} ? ( { } ) : ( ) ) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_tidydir'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=dir_def_$i value=1 %s> %s\n",
			$d->{'_dir'} ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=dir_def_$i value=0 %s>\n",
			$d->{'_dir'} ? "checked" : "";
		printf "<input name=dir_$i size=50 value='%s'></td> </tr>\n",
			$d->{'_dir'};

		local $pat = &sname("pattern", $d);
		print "<tr> <td><b>$text{'edit_tidypat'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=pat_def_$i value=1 %s> %s\n",
			$pat ? "" : "checked", $text{'edit_filesall'};
		printf "<input type=radio name=pat_def_$i value=0 %s>\n",
			$pat ? "checked" : "";
		printf "<input name=pat_$i size=50 value='%s'></td> </tr>\n",
			$pat;

		local $size = &sname("size", $d);
		print "<tr> <td><b>$text{'edit_tidysize'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=smode_$i value=0 %s> %s\n",
			$size eq '' ? "checked" : "", $text{'edit_tidysize0'};
		printf "<input type=radio name=smode_$i value=1 %s> %s\n",
			$size eq 'empty' ? "checked" : "",
			$text{'edit_tidysize1'};
		printf "<input type=radio name=smode_$i value=2 %s> %s\n",
			$size eq 'empty' || $size eq '' ? "" : "checked",
			$text{'edit_tidysize2'};
		printf "<input name=size_$i size=6 value='%s'></td> </tr>\n",
			$size eq 'empty' ? "" : $size;

		local $age = &sname("age", $d);
		local $type = &sname("type", $d);
		print "<tr> <td><b>$text{'edit_tidyage'}</b></td>\n";
		print "<td colspan=3>";
		printf "<input type=radio name=age_def_$i value=1 %s> %s\n",
			$age eq '' ? "checked" : "", $text{'edit_tidyage1'};
		printf "<input type=radio name=age_def_$i value=0 %s>\n",
			$age eq '' ? "" : "checked";
		local $asel = "<select name=type_$i>";
		$asel .= sprintf "<option value='' %s>%s\n",
				$type eq 'atime' || !$type ? "selected" : "",
				$text{'edit_tidyatime'};
		$asel .= sprintf "<option value=mtime %s>%s\n",
		    $type eq 'mtime' ? "selected" : "", $text{'edit_tidymtime'};
		$asel .= sprintf "<option value=ctime %s>%s\n",
		    $type eq 'ctime' ? "selected" : "", $text{'edit_tidyctime'};
		$asel .= "</select>\n";
		local $afield = "<input name=age_$i size=5 value='$age'>\n";
		print &text('edit_tidyage0', $asel, $afield),"</td> </tr>\n";

		local $rec = &sname("recurse", $d);
		print "<td><b>$text{'edit_filesrec'}</b></td> <td>\n";
		printf "<input type=radio name=rec_def_$i value=1 %s> %s\n",
			$rec ? "" : "checked", $text{'edit_none'};
		printf "<input type=radio name=rec_def_$i value=2 %s> %s\n",
			$rec eq 'inf' ? "checked" : "",
			$text{'edit_filesinf'};
		printf "<input type=radio name=rec_def_$i value=0 %s>\n",
			$rec && $rec ne 'inf' ? "checked" : "";
		printf "<input name=rec_$i size=6 value='%s'></td> </tr>\n",
			$rec eq 'inf' ? '' : $rec;

		$i++;
		}
	if (!$in{'newtidy'} && !$in{'new'}) {
		print "<tr> <td colspan=4 align=right><hr><a href='edit_class.cgi?$in&newtidy=1'>$text{'edit_tidynew'}</a></td>\n";
		}
	}
elsif ($type eq "miscmounts") {
	# Display filesystems to mount
	local @mnts = &parse_miscmounts($cls);
	print "<tr> <td colspan=4><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_miscsrc'}</b></td> ",
	      "<td><b>$text{'edit_miscdest'}</b></td> ",
	      "<td><b>$text{'edit_miscmode'}</b></td> </tr>\n";
	local $i = 0;
	foreach $m (@mnts, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=src_$i size=30 value='%s'></td>\n",
			$m->{'_src'};
		printf "<td><input name=dest_$i size=30 value='%s'></td>\n",
			$m->{'_dest'};
		printf "<td><input name=mode_$i size=10 value='%s'></td>\n",
			&sname("mode", $m);
		print "</tr>\n";
		$i++;
		}
	print "</table></td></tr>\n";
	}
elsif ($type eq "resolve") {
	# Display nameserver options
	local (@ns, @other);
	for($i=0; $i<@{$cls->{'values'}}; $i++) {
		if ($cls->{'valuequotes'}->[$i]) {
			push(@other, $cls->{'values'}->[$i]);
			}
		else {
			push(@ns, $cls->{'values'}->[$i]);
			}
		}
	print "<tr> <td valign=top><b>$text{'edit_resns'}</b></td>\n";
	print "<td><textarea name=ns rows=4 cols=20>",
		join("\n", @ns),"</textarea></td>\n";

	print "<td valign=top><b>$text{'edit_resother'}</b></td>\n";
	print "<td><textarea name=other rows=4 cols=20>",
		join("\n", @other),"</textarea></td> </tr>\n";
	}
elsif ($type eq "defaultroute") {
	# Display the default route
	printf "<tr> <td><b>$text{'edit_route'}</b></td>\n";
	printf "<td><input name=route size=25 value='%s'></td> </tr>\n",
		$cls->{'values'}->[0];
	}
elsif ($type eq "required" || $type eq "disks") {
	# Display filesystems to check
	local @reqs = &parse_directories($cls);
	print "<tr> <td colspan=4><table border>\n";
	print "<tr $tb> <td><b>$text{'edit_reqfs'}</b></td> ",
	      "<td><b>$text{'edit_reqfree'}</b></td> </tr>\n";
	local $i = 0;
	foreach $r (@reqs, { }) {
		print "<tr $cb>\n";
		printf "<td><input name=fs_$i size=40 value='%s'></td> <td>\n",
			$r->{'_dir'};
		local $free = &sname("freespace", $r);
		printf "<input type=radio name=free_def_$i value=1 %s> %s\n",
			$free eq '' ? "checked" : "", $text{'edit_none'};
		printf "<input type=radio name=free_def_$i value=0 %s>\n",
			$free eq '' ? "" : "checked";
		printf "<input name=free_$i size=10 value='%s'></td>\n", $free;
		print "</tr>\n";
		print "</tr>\n";
		$i++;
		}
	print "</table></td></tr>\n";
	}
else {
	# Allow editing of class manually
	if (!$in{'new'}) {
		$lref = &read_file_lines($cls->{'file'});
		local $st = $cls->{'line'};
		local $en = $cls->{'eline'};
		if ($lref->[$st] =~ /^\s*(\S+)::\s*$/ && $1 eq $cls->{'name'}) {
			$st++;
			}
		print "<tr> <td colspan=4><b>",&text('edit_manualtext2',
				$st, $en, "<tt>$cls->{'file'}</tt>"),"</b>\n";
		print "<br><textarea name=manual rows=15 cols=70>\n";
		for($i=$st; $i<=$en; $i++) {
			print &html_escape($lref->[$i]),"\n";
			}
		print "</textarea></td> </tr>\n";
		}
	else {
		print "<tr> <td colspan=4><b>$text{'edit_manualtext'}</b>\n";
		print "<br><textarea name=manual rows=15 cols=70>\n";
		print "</textarea></td> </tr>\n";
		}
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=middle><input type=submit name=manualmode ",
	      "value='$text{'edit_manual'}'></td>\n" if (!$in{'manual'});
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";
print "</form>\n";

print "<hr>\n";
if ($in{'cfd'}) {
	&footer("edit_cfd.cgi", $text{'cfd_return'},
		"", $text{'index_return'});
	}
else {
	&footer("", $text{'index_return'});
	}

# sname(name, &hash)
sub sname
{
local $i;
for($i=length($_[0]); $i>0; $i--) {
	local $s = substr($_[0], 0, $i);
	return $_[1]->{$s} if (defined($_[1]->{$s}));
	}
return undef;
}

  07070100057d83000081e40000000000000002000000013d1fe2ea000007aa000000200000000000000000000000000000001d00000003reloc/cfengine/edit_host.cgi  #!/usr/local/bin/perl
# edit_host.cgi
# Show details of a managed host and it's current cfengine configuration

require './cfengine-lib.pl';
&foreign_require("servers", "servers-lib.pl");
&ReadParse();

@hosts = &list_cfengine_hosts();
($host) = grep { $_->{'id'} eq $in{'id'} } @hosts;
$server = &foreign_call("servers", "get_server", $in{'id'});
&remote_foreign_require($server->{'host'}, "cfengine", "cfengine-lib.pl");

# Show host details and current config
&header($text{'host_title'}, "", "edit_host");
print "<hr>\n";
print "<form action=delete_host.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'host_name'}</b></td>\n";
if ($server->{'id'}) {
	printf "<td><a href='/servers/link.cgi/%s/'>%s</a></td>\n",
		$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
	}
else {
	print "<td><a href=/>$text{'this_server'}</a></td>\n";
	}

if ($server->{'id'}) {
	print "<td><b>$text{'host_type'}</b></td> <td>\n";
	foreach $t (@servers::server_types) {
		print $t->[1] if ($t->[0] eq $server->{'type'});
		}
	print "</td>\n";
	}
print "</tr>\n";

$ver = &cfengine_host_version($server);
print "<tr> <td><b>$text{'host_ver'}</b></td>\n";
print "<td>$ver</td>\n";

print "<td><b>$text{'host_os'}</b></td>\n";
print "<td>$host->{'real_os_type'} $host->{'real_os_version'}</td> </tr>\n";

$rconfig = &remote_foreign_call($server->{'host'}, "cfengine", "get_config");
print "<tr> <td colspan=4><hr><b>",
	&text('host_cfg', &server_name($server)),"</b><p>\n";
&show_classes_table($rconfig, 0, 1);
print "</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'host_delete'}'></form>\n";

print "<hr>\n";
&footer("list_hosts.cgi", $text{'hosts_return'});

  07070100057d84000081e40000000000000002000000013d1fe2ea000006f1000000200000000000000000000000000000001d00000003reloc/cfengine/edit_push.cgi  #!/usr/local/bin/perl
# edit_push.cgi
# Display a list of hosts to which configurations are copied

require './cfengine-lib.pl';
&header($text{'push_title'}, "", "push");
print "<hr>\n";

if (!&has_command($config{'cfrun'})) {
	print "<p>",&text('push_ecmd', "<tt>$config{'cfrun'}</tt>",
		  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

($hosts, $opts) = &get_cfrun_hosts();
print "<form action=save_push.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'push_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'push_domain'}</b></td>\n";
printf "<td><input name=domain size=30 value='%s'></td> </tr>\n",
	$opts->{'domain'};

print "<tr> <td><b>$text{'push_users'}</b></td>\n";
printf "<td><input name=access size=50 value='%s'> %s</td> </tr>\n",
	join(" ", split(/,/, $opts->{'access'})),
	&user_chooser_button("access", 1);

print "</table><table border>\n";
print "<tr> <td><b>$text{'push_host'}</b></td> ",
      "<td><b>$text{'push_opts'}</b></td> </tr>\n";
$i = 0;
foreach $h (@$hosts, [ ], [ ]) {
	print "<tr>\n";
	printf "<td><input name=host_$i size=30 value='%s'></td>\n", $h->[0];
	printf "<td><input name=opts_$i size=30 value='%s'></td>\n", $h->[1];
	print "</tr>\n";
	$i++;
	}
print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

if (@$hosts) {
	print "<hr>\n";
	print "<form action=push.cgi>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value='$text{'push_push'}'></td>\n";
	print "<td>",&text('push_pushdesc',
			   "<tt>$config{'cfrun'}</tt>"),"</td>\n";
	print "</tr></table></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010005930a000041ed0000000000000001000000023d1ff9ed00000000000000200000000000000000000000000000001400000003reloc/cfengine/help   0707010005930b000081a40000000000000002000000013d1fe2ea0000039b000000200000000000000000000000000000001d00000003reloc/cfengine/help/cfd.html  <header>Configuration Engine Daemon</header>

The configuration engine daemon is a background process that serves several
purposes. It can execute the main configuration on a regular schedule,
it can accept requests from other hosts to execute the main configuration
immediately, and it can transfer files to other hosts that request a copy
from this server with a Copy Files action. <p>

The daemon has its own separate configuration file, with a similar structure
of actions and classes to the main configuration. If the configuration is
empty, you should start by creating a <i>Configuration daemon options</i>
action that defines commands run on schedule and when requested by other
hosts. Other action types can also be added to restrict access to copied files
to certain hosts. <p>

At the bottom of the page is a button to start the daemon (if it is not
currently running), or stop it (if it is running). <p>

<hr>

 0707010005930c000081a40000000000000002000000013d1fe2ea0000063d000000200000000000000000000000000000001e00000003reloc/cfengine/help/edit.html <header>Edit Class</header>

This page allows you to set the details of an action for some class.
The first field on the page is always the 'Apply to class' input, which
allows you to choose which class or classes the settings below it apply
to. By default the class is Any, which means that the action will be
carried out every time the configuration engine is run. However if you
choose to enter something into the class field, the action may or may
not be run depending on the operating system type, hostname, current time
or other factors. <p>

The actual classes in effect are determined dynamically by CFengine at run
time. Useful ones are the system hostname with dots replace with underscores
(like <tt>foo_bar_com</tt>), the short hostname (like <tt>foo</tt>), the 
OS type (like <tt>linux</tt> or <tt>solaris</tt>), the current day of 
the week (like <tt>Monday</tt>), day of the month (like <tt>Day16</tt>), or
the month (like <tt>May</tt>). You can see the complete list of classes
available on your system by running CFengine in verbose mode. <p>

Multiple classes can be specified by separating them with | characters. So
to have your action run on both the hosts <tt>foo</tt> and <tt>bar</tt>, you
could enter <tt>foo|bar</tt> into the class field. <p>

The input fields below the class are dependant on the type of action being
edited. If the action type is not supported by Webmin, the actual configuration
file lines will be shown instead for manual editing. You can also switch to
manual mode by clicking on the <i>Edit Manually</i> button at the bottom
of the page. <p>

<hr>

   0707010005930d000081a40000000000000002000000013d1fe2ea000004e3000000200000000000000000000000000000001f00000003reloc/cfengine/help/hosts.html    <header>Webmin CFengine Cluster</header>

This page allows you to easily run CFengine on multiple hosts, using a single
master configuration. It is an alternative to using the Configuration Engine
Daemon and Remote Configuration Hosts pages elsewhere in this module, but like
other cluster Webmin modules it requires that Webmin be installed on each of
the hosts to be managed, and that each be defined in the Webmin Servers
module. <p>

The top part of the page displays hosts on which CFengine is installed and can
be run from this page. To add a new host, first add it in the Webmin Servers
with a username and password, select it from the list next to the Add Server
button and then click the button. The server must have the CFengine module
installed and configured properly. <p>

At the bottom of the page is a form for running CFengine on all listed hosts
simultaneously. If you click the lower button the configuration from this host will
be copied to each of the other hosts, overwriting any existing CFengine
configuration file. This allows you to maintain one master configuration on this
server and have it distributed when needed. Hostname classes can be used to
have different actions executed on different servers if needed. <p>

<hr>

 0707010005930e000081a40000000000000002000000013d1fe2ea00000501000000200000000000000000000000000000001f00000003reloc/cfengine/help/intro.html    <header>Configuration Engine</header>

CFengine is a powerful tool that allows you to define a series of
system administration actions to be carried out when necessary, in order
to perform tasks like creating links and directories, setting file permisions
managing running processes and tidying up old files. Its class system
allows you to use the same configuration on multiple systems, with different
actions being carried out depending on the system type, hostname or other
criteria. <p>

The main page of this module lists all the actions setup on your system,
the classes that they apply to, and a summary of what the action will do
for each class. You can add a new action type by using the button below
the table, add a new class for an existing action by clicking on the
<i>Add class..</i> link, or edit an existing class for an action by
clicking on the class name in the <i>Apply to classes</i> column. <p>

If your configuration is currently empty, you should start by creating
a <i>Master control</i> action that determines which other actions get run. When
adding new actions, you must also make sure that they are listed in the
master control action. If not, <i>No</i> will appear next to the action
in the <i>Active?</i> column, and it will never be run. <p>

<hr>

   0707010005930f000081a40000000000000002000000013d1fe2ea00000232000000200000000000000000000000000000001e00000003reloc/cfengine/help/push.html <header>Remote Configuration Hosts</header>

This page lists other hosts on which CFengine is installed, so that you can trigger the processing of configured actions on multiple hosts simultaneously from one source. Each of the hosts must be running the Configuration Engine
daemon for remote processing to be activated. Note that the other hosts
will use their own local configuration, not the one from this server.
To distribute a master configuration to multiple hosts, have the configuration
copy itself when run using a <i>Copy files</i> action. <p>

<hr>

  07070100059310000081a40000000000000002000000013d1fe2ea00000122000000200000000000000000000000000000001d00000003reloc/cfengine/help/run.html  <header>Run Configuration Engine</header>

On this page you can select options for running CFengine on your system.
It is often a good idea to select the 'Only show what would be done?' option
if you have made changes and want to see their effect before executing them
for real. <p>

<hr>

  07070100057d85000081a40000000000000002000000013d1fe2ea00000068000000200000000000000000000000000000002100000003reloc/cfengine/feedback_files.pl  
do 'cfengine-lib.pl';

sub feedback_files
{
return ( $cfengine_conf, $cfd_conf, $cfrun_hosts );
}

1;

0707010005f266000041ed0000000000000001000000023d1ff9ed00000000000000200000000000000000000000000000001600000003reloc/cfengine/images 0707010005f267000081a40000000000000002000000013d1fe2ea00000110000000200000000000000000000000000000001e00000003reloc/cfengine/images/cfd.gif GIF89a0 0 Â  øüøÈÌÈ   ø  ÈÌøÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  ÃxºÜþ0ÊI«½8ëÍ»ÿW ŽdižÜ©®dÊ¾¦+
tmßw»‘xßëžoHf„DŸƒLâ–¡‘7@-Íé z­d“[îH˜ÒÂbÙŒn»ß[Ç·¯ÃåR°}ÆÏœ|~eZvƒfhVc;yl[ŒjŽ0'[%)š•%˜”œ/ ¡£¥“§š­®­«¯³±¬´¸š§©+›¼]XÀÁª ÅÆA#¹¹Â^ËÌ´Î$ÑÒ¦¶ÙÚÛÜÝÞßàáâ£	 ;0707010005f268000081a40000000000000002000000013d1fe2ea0000006c000000200000000000000000000000000000001f00000003reloc/cfengine/images/down.gif    GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;0707010005f269000081a40000000000000002000000013d1fe2ea00000049000000200000000000000000000000000000001e00000003reloc/cfengine/images/gap.gif GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   0707010005f26a000081a40000000000000002000000013d1fe2ea00000a0f000000200000000000000000000000000000002000000003reloc/cfengine/images/hosts.gif   GIF89a0 0 ç  þþþÉÎÎÉÊÐœž¯½¾ÅÌÌÌïòòÖÖÛž¢®bfx:>K6:HNR^ŠŽšææê   ùúú”š¯™š¨’’ lsŠ[Zj>>UKJ\jn~‚†‰Ž£‘–®‚ŠŸƒ–ÀÆÛÐÖîâæøÁÆÉ~‚ˆRVdZ^lBFO26J^e{–ž´ž¦¿´»ÔÂÊßÇÊÜÊÎâÊÒî‚‚>>K+$")>BR&*:NRdrz‘~‚’x~—›¢»§ªÀ¶ºÊÕÚïÎÔæ¢¦Â«²Î¦®Æ¢ªÅÿ  ¸ºÀZZd56AFFWBBM""1(**8]bt¼ÂÞ¯¶Ò¦¦´Š’®VZl––¤

%&1º¾ÚÆÎèÖÞö~†rvŒZVcuv†¿ÂÌ	šž¶ÆÊæVZrb^mrnv‚‚‰::E"BFZ‚Ž¦‚Š¦NRj&&7**>Žœvv€JNR*.?Ž’¡nr~>>Ffn†[^s’¨"&9!4%NN\~~ŠGFM*fj€&".
22C´¶Ç^Zdrrõö÷RVlæêöàâò¢ž¬¢¢±~~‚~Šjfpž¢¤jjzÚÞêkju.2?EJZSR]RN[ÌÌÿ>:J"êîü†Š¤š–¦fboB>Mffv’–£òòþz~~..:nn®²¾bbn:6?ÎÎÞ®®À¢¢¦.*6nr„vr^bnFFR^^l¥¦¬22=/.?–’ «ª¸SRb­®³FBPVVc62=KJUNNV³²»ÞÞîž¨ÆÂÒ††—BBR*fjy––«JN[~zˆŠŠ˜zv‚~~‚²®¼…†’»½ÎVZfÊÒÖëêìy}’zzˆŠŠžÒÕÙŠ‡’66G6:N–œžffqnnz::K/(?BX¢¦¾ÆÆÊ^bf†Š’µ¶»"*ª¦¶†Š­²ÆVV^ØÚÚbbfVVjIMc”–š¥ª¸º¸Æ]^bÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ H° Á `°€Ã‡!œHÐÀ	,XÀ ƒ‚ˆIÒ!E‚ˆ a…
.`È a‡>€0  $ÉŸ&)B!bƒ$F”0q‚‡(R¨ð°b‹.Vøü92¨A/`Äab†5lÜˆ€#‡Ž<Xôháã 6¶ŠR²@ACˆ1r	$J–0iáÇ
N<<Ñ%‡Š Q(H™¢Wˆç®~	¡B¥Š•+1ª`‰ÑdCŽ,Z>ðØÂƒ‡–\ºà°áåË‹­|ƒ‹ô
 LÒTÄ$O2‚Ë @È qñ¡…ä:páR&™3zþðMM5Ê©„)²†„†O´h‰œ"E6mÜÐxçÂŽ8r„7Þp¡	4]ÔaÇx$Gzè‘ÁAdñ
´Á}ðá‡:Äñ 9$D‰"ˆ	RØDOpÑ†]Ø@Á t‘Ã „bH12"‰$¢H‰œÑ@‹¨QŒ¨ÕHŽ AdÐFIÄàGK@I’L’@€)Iœ@”TBZ1XòäpÉ(8‘ƒ†ô!&™T ‰4±	';$˜t"©’N´Hž|¢y$àÁ—ôà(¡4AÇÈÈ¢Œ²	)þ¥˜r
’n>„*’\`D*
4qAƒDðÄ à‡'L`ÂÄ&ª¬ÂJ+žÄáÊ+tQ­oJ ‹"¤	ÔÑ…,{PÄ š(€‰"³ÌRŠ–ÐR‹-’lò¤“âkmAÉ-qLb.¹èÇ»à°&‚ð2J/°âË¿ÔòÇÀÐŒ/$±€0ž1Ì-ÄL4L1Æ@1Ë]ØÒ«":èr2É(£dl€Ì2b…4,ÁÌMàÒŒ3Fñ4`LtŠÑ(òÅ/ƒH°Œ*¯sƒ-²(‚L3·H3M)Î$ÀÌ!oAŠ"hRÇ8#D3ÔT3‘5q$òþSˆdÉH×xB‚(ñ6ØHãL6¶”Œ'³¨ÁI	‡ð²‹3f!‡6cÇ6ÜðQÃR˜ÝÈÒÄ3¶¼`Ë¬|†Îüb+hÒŠ7±áË7à!ÂI¼ H8âd’Ë8]£É!š(Ì97ì2@2€-¹(àØÑDi#‚‹œÅ3^äÂ1°7JX²K95ÐÐ	˜óH4³ÀÜ3  pÄÂ»8:¬!œ éÀF	¬p„d C~ÈÅ6@‡\Ð!J B:Ža‰HüaMÀ%|Ñ‹‚8ð$ëhF"À‡5$ãì>qdD þ¼XC3 1…v4ÂàHß"ÜñŒôä…Y&.`èa8G.È‘‹X‚G‡$l	@\Ã
˜…@zˆwŠ–‚0Þ0 rX¢U Aœ‘Mä¡	GØÅ(HP
lÜ@Â ÀZq‹ƒÀñ 0O.8PY$Ò€Á¤ÀüÁ°D3Ì¥x°0rp¢h€&´â6ÐD<” 	>|£‚K€9jAƒ.üB®AE+H!ŒLä‘1ÀZŒ@&° d‘ &à!_8J‹ì€ÀHÃä k8ò‹P Ì 7tA}øC<”Aˆ1½ 3þ`Ex!?\îPDœáÆU>p2 ‡-ÜÀMœ MøÅZñ(l 
à	ª„7Ô"¶pF2`Ì'6I%"GÒÀ[¼Â‘˜@.ƒä› Ç "ÀZ¡”+}Ñ2qˆlìâ¢8Fr‘\hâ¬xÁ+" õ%<@) #º1ƒ?ð"Nˆƒ|8	D˜D$XÁ;X4XC´!qˆƒ-üP‚M\ ^P$q„+¼•@‡}€CR‘‹X¤!ËÅš€…4°âGø…`-Q
>`õª ‰gFKÚÒšö´¦*D~2 Å€DˆúÒ`^Ø‚UH†|Œ_Ä¡¬ >×Ð²4–ˆÃ/ŒŒ4ÂFÀBðPM`£‘ Ç/Þ@\Ä¨®Æ.~1$B¬ÀC°ð	Þcô8F0ÒÐ]×¢´DHÇG `
_ AšRC ‚Qa@ÁH Å}|_ƒÜÂô0˜y_Œ"ge°­Òà‰ æ5.<Á[wlb!H‡	¢¯JÄ  …ÄP\´âžøFAÒâN€DÃ&ÃÆ&î
+|#T1÷µà‰Ô£›°.PÁ“‚0¹Áé1¾Þ4mPB ÖÀD²¬å} ; 0707010005f26b000081a40000000000000002000000013d1fe2ea00000a34000000200000000000000000000000000000001f00000003reloc/cfengine/images/icon.gif    GIF89a0 0 ç  fjyŠŽš¥¦¬®¶¶&*:ÁÆÉBBMÊÒÖØÚÚNR^àâä~‚ˆëêìVZf.2?nr~ïòò”–š^bfEJZrz‘"56Aõö÷–œž¦ª®ùúú:>Kƒ–¿ÂÌÀÆÛ²®¼%&1¯¶Ò¢¢¦z~~¢ªÅbbf”š¯FBP††—b^mrr

ÊÒîZVcRN[VZlkju:6?¦®ÆŽŽ–x~—rvŒSR]ÚÚÞ**8IMc$")[Zjž¦¿~zˆŠ‡’?BXKJURVlbfxž¢®½¾Å‘–®ÇÊÜþþþ*.?JNR»½ÎÉÎÎvv€jjzž¢¤26JZ^lœž¯/¦¦´RVd´¶ÇŽ’¡†Š¤ÒÕÙÞÚââæø‚ŠŸ«²Î†Š"ffq!4¼ÂÞ>>U«ª¸::Kêîüzzˆ†Š’^bnB>MGFM~‚’ÆÊæ6:H®®ÀÆÆÊž¨¢¦ÂZZdy}’µ¶»ÕÚïnnz::E[^s–’ 22=´»ÔBFZ..:Š’®"&9~~‚FFR^e{fj€KJ\‚‚®²¾ÎÔæ*àâòìîï>>F22C""1~~ŠBFO’–£JFSNNVÞÞî**>	–ž´­®³’¨"*¸ºÀffv]^b&&7ÐÖî––«zv‚ÉÊÐNRjnr„™š¨rnvŠŠ˜ÎÎÞ^^l…†’>BRòòþ~†(x|Žjn~‚Ž¦(>>Kææê.*6ª¦¶º¸ÆÂÊßÚÞênnvrVV^/.?~~š–¦‰Ž£bbnuv†§ªÀ¢ž¬¢¦¾æêöÆÂÒ›¢»^ZdlsŠ‚†³²»fn†¢¢±ÊÎâ]btjfp+ÊÒæ6:N’’ BBRâæè¶ºÊÆÎè­²Æº¾ÚÖÞöfboNN\JN[FFW66GSRb‚~ŠŠŠž>:JVZršž¶¥ª¸ŽœVVc––¤*VVj62=%NRd
ÖÖÛ‚‚‰ÎÎÎÂÂÖ&".‚Š¦,    0 0  þ •H° ÁNNQ9r°¡Ã‡%è3RÄƒ9
ì‚ÈÑa‡SGR¨ê&ÍG™Dµ¦CâåCR]$täØÁ ƒ+
®L¹BIÊ!/^lú(Ä¯_I®½8ºqfÁ]Štië!–‡ø.ÀIqã™2pz’0ºfçKÈtª¤Ã§;2 ;P`”¤Y;°¥øòK™$”YyèÄ i2æ5ëÀVÉ  \ŒÀ¥Í…mØ<Ž”rzô„û"Ç0’)Rôˆ-MÜ’=êŠ¬w5jÄ©ñ‚Ô5ÀÏ|%Ë]«²	`<s³hjhÊ±g$Â…ûûãÇ3[ÿPþ•)¸xOÊ!kÚ‘ÉY"@ŠV¤š»>}¦u:1ŽÄ¦ÿBÈ„Ü“2ñ˜3‰+3œâÔH!Ã'à@‚,ÿƒÃÒ "Ï âO>j4 M$ˆ`4-¤±53i€Ad„¡U3Ó8RC
'3Í?ØŒ¢Í=£Ì¢†6,cM1>¬“MO|ò‹[ðP@æ‚6PrL3Ï CÊ&d<scô0>XÀ€Øä8Ð¼¡À¬Ø0C68¤Aí„1ÛÕB'À0BZ`³„(µ<ñF Æ”“C TK1d0¬ÄóŠ0­Ô	ë$’ `“ˆ;þˆ¤@8]ÜPM;;Ì°CÁ,‚íÄÓÊ{dÓÎª(ÂÊ:Ã|ã*%´ÐÆ¼èRD8¤Ò‰4' b3´ Œ0 ¨†¸²Žœ0˜#Â,“Æ<8d…5Ä“ÍãG<É˜q4¢N9œŒ
Ècˆ9æØ³Ä*$2Š—´35`Ò5u8c…0«ààJ«-(ãÇ
ÞÐ@  Ä„7¥$âÏe0Ë9`ó¨¸bJ! 4‹*"´Œ<ˆ¨RJ0s¬ ‡+©´à¼Ò(¬qN$¢dÐF‰X@I+°2	 Ðñ@#OXøHx´3…þ1)ÜaNi¼Â
;®€2D;Â`%‘¨c+,üñÄQAé‚Ï2HñÃÜ¤‚)®(âJ7È$³*¬È32GX@Ã¼4 ‚{ÜÁÀCË(ÒÂU@@L.8aA$œŽp˜Ñ*ªXC…+Äx Â>iÜ6|\ÂÀ'õÚk
Ä¤S€6Èè’Ž$P˜Á>p#…5t,#‚0›Ò{ðƒXƒ˜ó<¤#@=¼á‰{ãHX1–`#*Ü!+€B1ÌQŽ¢)*àDczh€ ‡(À ]„!ÞHÔ Xcâh†+öP/ÃþásÊ"fWL¡r¸Aˆ!b 
ê@ÇÖÁ Iàá†@8ñ†4F	@=DA!@a.(@XATè0C9¦ Š4ÀÁ—P‚>h0€/¶Å9Äð>R1Š¼BrA:Ê`Žv”
@àV8PBh<!ˆl‘ 6h`ŽX ’° !Ä ÀYdB†( äÑÍ˜€m¸„>ü¨	À‚C@Âx …2è"EØA4ÎŒH,¼(8¦`>@â	 p€5à° ¨ÀÆ`ŽzÀHR„`m¨£
÷ÀÅ†Ñ°Â‹_üDöà
TÁ‡þÀ6ä1(Â
H°†Ô1ŒB†€†+X1iÌò‹:HÃ „ TAØàÃ\1:£>H„6´A]ä`TH¼0LÎ¤-X6
@ˆ\XÀþˆ;Ì@
c¬€Ä Æ,`d(b)8ÆŠ@‡/Ò!•È1ªÀ"pæPG<È¨@™Âîb #hÁJÐ˜G˜ ÂD ÜcžÁè(F<âáŠ{P"‰‚a, W0„*Øòˆu˜¡EÁ°@:ð!bð‚C(E*æ7ðò@‡<P¢|°[>¬#ÅþÃñ‡Hb– E¦zhC*¸*œƒøs„9Ôa@HL‘Ž;ð"|p…:\qÐC*‚<â! dLaöÈ {œ¢Gp"b€ yd€|xƒ+2à†DÃHƒ Š±yˆ¢ ¥@4ð‰Ä£	f  #£pCÂ»‚nÀcCàD¨àŸByØH*¡‚ô@PxÃ|@+Dà m¨ K|¸b}·°.!r@C¬Àà1DN1
«áíï0rÀ("PFpüh‡àyå‡P#9€„  F †<°ÌñrŠ?˜`-pæÈ¢p
8AÁ ;0707010005f26c000081a40000000000000002000000013d1fe2ea0000019f000000200000000000000000000000000000001f00000003reloc/cfengine/images/push.gif    GIF89a0 0 Â  øüøÈÌÈ   ø  ÈÌøÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ-ÈI©ª8kÉv½^ˆu fjr‡èN¤9 ªÀRu®¯ð"É³Úm²+¦,¾Òl©þŒEËrÊl@OhŽÊE…×QÛ¥&e:gIWf"AFõŽšîaC÷"Ìº{òs\V}$…k'U6v8z4ŠAo~€‰)T"›œK„b©rF_5S±IY¤V°²“­•Gž.™3SÀ-.Ãš
SQa/Ê†{¼§ÁÒa¹‚½Ü!Ò±OÍß±ªª3¸b¥ÖÛèé¸ä‹Œðñè3ãˆu³Ð´¢•£O€U|8ôçÂ-¼ ˜pCLb$äKUS¯à;PªÀÜˆÈ	+ØfI2‹=¡ð¬“„èå3–è®Í¬çêÞÌŸ4ã|ú“ ¢HÙ9KJt"Ó¢Æžµ(5)ºªH£b='j«,ùtzë  ; 0707010005f26d000081a40000000000000002000000013d1fe2ea0000040d000000200000000000000000000000000000001e00000003reloc/cfengine/images/run.gif GIF89a0 0 Æ  ÿÿÿ   ÙÙÙõõõ•••éééåååººº~~~µµµzzzŠŠŠ­­­¥¥¥RRR²²²uuuBBB¢¢¢………EEEíííÝÝÝšššâââÅÅÅJJJòòòÕÕÕááá‚‚‚†††222ÒÒÒÍÍÍÊÊÊÁÁÁrrr%%%žžžÚÚÚ½½½nnn"""ÆÆÆ¾¾¾***ªªªÉÉÉ’’’yyyQQQZZZ}}}ÂÂÂ


NNN:::MMM¶¶¶©©©]]]¹¹¹jjjeeeFFF>>>666vvv555bbb‘‘‘UUUÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžœ ¡Œ¨©Š«­¯±ƒŸ° ³	
¹¸™	¨¬Æ¹”žž˜× !"é.h`!CÁ,Xàa„CôH”0qE@)æÝS¨¢ÞA–XÁ¢…‹M.tÈÐÑãC‰/^À¸Cš@íTx !…Œ0^ÌÐ°â(iPÁtgnàx #‡Õ4bè°„k†:>¨±‡>$°º"Áþ<~Èµ¹( ŽxYÑ«'c"˜€q ˆŒ0Â€n¢ CÐÛr„!Aô@‚‹ˆÎ) ˆ…ƒhPñ°A‘„P¨˜±ÂH†€@€ ‚cDŽð®Aë	pø@E†…`@’$‚u%¿Š°àƒH$ˆ ãD©¶( Â¡=‡ìªX©ÁÄ%<|PQ;±KÀWó• AUi T[ŸI°ž€¥Éàæ°Â…A|ö@z 0ÑJ2xs 	&¬@jÊÀ@N<0dðQ*á™mÈ ^2< Ã1d6MŒÀBQÐtàÓm8Q,Ð€G9I $0Á	Ñ°5HpD¸D4Ð@•ê ÅÌ 40:¨HÁÄôÌ'„0…$‘‹{V²ÎSP‘h'6ú(J+<ãÀ¤(jË¦œvêé§ †*ê¨¢ ;   0707010005f26e000081a40000000000000002000000013d1fe2ea00000067000000200000000000000000000000000000001d00000003reloc/cfengine/images/up.gif  GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 07070100057d86000081e40000000000000002000000013d1fe2ea0000083e000000200000000000000000000000000000001900000003reloc/cfengine/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display main menu of cfengine options

require './cfengine-lib.pl';

# Check if cfengine command exists
if (!&has_command($config{'cfengine'})) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>",&text('index_ecommand', "<tt>$config{'cfengine'}</tt>",
		     "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Make sure it is actually cfengine, and get the version
$out = `$config{'cfengine'} -V 2>&1`;
if ($out !~ /cfengine-(\S+)/ && $out !~ /GNU\s+(\S+)/) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>",&text('index_eversion', "<tt>$config{'cfengine'} -v</tt>",
		     "<pre>$out</pre>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$ver = $1;

&header($text{'index_title'}, "", "intro", 1, 1, undef,
	&help_search_link("cfengine", "man", "doc", "google"), undef, undef,
	&text('index_version', $ver));
print "<hr>\n";

# Only versions 1.x are supported yet
if ($ver !~ /^1\./) {
	print "<p>",&text('index_eversion2', "<tt>$config{'cfengine'}</tt>",
		     "<tt>$ver</tt>", "<tt>1.x</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if config file exists
if (!-r $cfengine_conf || -d $config{'cfengine_conf'}) {
	print "<p>",&text('index_econfig', "<tt>$cfengine_conf</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),
	      "<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Display table of sections
$conf = &get_config();
@secs = grep { $_->{'type'} eq 'section' } @$conf;
&show_classes_table(\@secs, 0);

# Display option icons
print "<hr>\n";
print "<h3>$text{'index_options'}</h3>\n";
@links = ( "run_form.cgi", "list_hosts.cgi", "edit_cfd.cgi", "edit_push.cgi" );
@titles = ( $text{'run_title'}, $text{'hosts_title'}, $text{'cfd_title'},
	    $text{'push_title'} );
@icons = ( "images/run.gif", "images/hosts.gif", "images/cfd.gif",
	   "images/push.gif" );
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("/", $text{'index'});

  0707010006071c000041ed0000000000000001000000023d1ff9ed00000000000000200000000000000000000000000000001400000003reloc/cfengine/lang   0707010006071d000081a40000000000000002000000013d1fe2ea00004e11000000200000000000000000000000000000001700000003reloc/cfengine/lang/en    index_title=Configuration Engine
index_ecommand=The Configuration Engine command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Failed to get the version from Configuration Engine command $1. The actual output from the command was : $2
index_eversion2=The Configuration Engine command $1 on your system is version $2, but this Webmin module only supports versions $3 .
index_econfig=The Configuration Engine config file $1 as not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_version=CFengine version $1
index_section=Action type
index_classes=Apply to classes
index_details=Action summary for classes
index_active=Active?
index_maybe=Maybe
index_links=Link $1 to $2
index_links2=Create $1 links
index_directories2=Create $1 directories
index_directories=Create directory $1
index_control=Run action $1
index_control2=Run $1 actions
index_editfiles=Edit file $1
index_editfiles2=Edit $1 files
index_add=Add action of type:
index_cadd=Add class..
index_return=actions list
index_run=Run Configuration Engine
index_rundesc=Click this button to run the command $1 on this host. All the actions listed above will be executed immediately, where necessary.
index_admit=Allow directory $1
index_grant=$index_admit
index_deny=Deny directory $1
index_admit2=Allow $1 directories
index_grant2=$index_admit2
index_deny=Deny $1 directories
index_cfrun=Run command $1
index_groups=Define groups $1
index_none=No configuration actions are currently defined.
index_files=Set permissions on $1
index_files2=Set permissions on $1 directories
index_copy=Copy $1 to $2
index_copy2=Copy $1 directories
index_disable=Disable file $1
index_disable2=Disable $1 files
index_ignore=Ignore $1 paths
index_procs=Find processes matching $1
index_procs2=Find $1 process matches
index_shellcommands=Run command $1
index_shellcommands2=Run $1 commands
index_tidy=Delete files in $1
index_tidy2=Delete files in $1 directories
index_misc=Mount $1
index_misc2=Mount $1 NFS filesystems
index_route=Set gateway to $1
index_required=Check filesystem $1
index_required2=Check $1 filesystems
index_disks=$index_required
index_disks2=$index_required2

edit_title=Edit Settings for Class
edit_create1=Add Action and Class
edit_create2=Add Settings for Class
edit_section=Action type
edit_class=Apply to class
edit_all=Any class
edit_manual=Edit Manually
edit_manualtext=New configuration file text
edit_manualtext2=Configuration file lines $1 to $2 of $3
edit_header=Class details
edit_links=Symbolic links to create
edit_linkfrom=Link from
edit_linkto=Link to
edit_linktype=All files?
edit_linkover=Overwrite?
edit_dir=Directory to create
edit_dirmode=Permissions
edit_dirowner=Owner
edit_dirgroup=Group
edit_actionseq=Actions to run, in order
edit_actionadd=Add selected action
edit_controldef=Global definition
edit_controlvalue=Values
edit_admit=Grant access to directories
edit_grant=$edit_admit
edit_deny=Deny access to directories
edit_grantdir=Directory
edit_granthosts=Hosts and host patterns
edit_groups=Group definitions
edit_groupname=Group name
edit_groupmems=Members
edit_controlrun=Command to run when requested
edit_controlelapsed=Minimum minutes between runs
edit_controlmax=Maximum concurrent runs
edit_controlauto=Command to run on schedule
edit_controlinterval=Minutes between scheduled runs
edit_controldom=Domain name
edit_controllog=Log all connections?
edit_controlallow=Allow connections from
edit_controlall=All addresses
edit_controldeny=Deny connections from
edit_controlnone=No addresses
edit_controlskip=Skip reverse IP address lookup for
edit_none=None
edit_filesdir=Check files in directory
edit_filesowner=Set owner to
edit_filesgroup=Set group to
edit_nochange=Don't change
edit_filesmode=Set permissions to
edit_filesrec=Recursion level
edit_filesinf=Infinite
edit_filesinclude=Only check files matching
edit_filesall=All files
edit_filesexclude=Don't check files matching
edit_filesnone=No files
edit_filesacl=Set ACL to
edit_filesact=Action to take
edit_files_fixall=Fix all files
edit_files_fixdirs=Fix directories
edit_files_fixplain=Fix normal files
edit_files_touch=Touch files
edit_files_warnall=Warn about all files
edit_files_warndirs=Warn about directories
edit_files_warnplain=Warn about normal files
edit_files_touch=Touch file
edit_files_linkchildren=Link children
edit_files_create=Create file
edit_files_alert=Display filenames
edit_files_compress=Compress files
edit_filesnew=Add options for another directory.
edit_copydir=Source file or directory
edit_copydest=Copy to destination
edit_copysize=Size restriction
edit_copysize1=Equal to
edit_copysize2=Smaller than
edit_copysize3=Bigger than
edit_copybackup=Backup overwritten files?
edit_copyserver=Copy from server
edit_copyforce=Copy even if up to date?
edit_local=This host
edit_copynew=Add options for another copy source
edit_copypurge=Delete files that no longer exist in source?
edit_copyact=Copy action mode
edit_copy_fix=Copy files
edit_copy_warn=Display warning
edit_copy_silent=Copy silently
edit_disfile=File to disable
edit_distype=Only disable if file type is
edit_dis_all=Any type
edit_dis_plain=File
edit_dis_file=Non-special file
edit_dis_link=Symlink
edit_dissize=Only disable if size is
edit_disrot=Action when disabling
edit_disrot0=Rename with <tt>.cfdisabled</tt> appended
edit_disrot1=Truncate file
edit_disrot2=Rotate $1 times
edit_disnew=Add a new file to disable
edit_editfile=File to edit
edit_editscript=Editing script
edit_editnew=Add a new file to edit
edit_ignore=Filenames to ignore
edit_proc=Find processes matching
edit_procnew=Add a new process pattern to match
edit_procsig=Send signal to processes
edit_procact=Signal action mode
edit_proc_signal=Signal matching processes
edit_proc_warn=Just display matches
edit_proc_bymatch=Signal warning processes
edit_procmat=Warn if number of processes is not
edit_procmat0=Never warn
edit_procmat2=Less than
edit_procmat1=Exactly
edit_procmat3=More than
edit_procrestart=Command to run after kill
edit_procowner=Run command as user
edit_procgroup=Run command as group
edit_cmd=Shell command to run
edit_cmdowner=Run as user
edit_cmdgroup=Run as group
edit_cmdtimeout=Timeout
edit_tidydir=Directory to tidy
edit_tidynew=Add a new directory to tidy
edit_tidypat=Delete files matching
edit_tidysize=Size restriction
edit_tidysize0=Any file size
edit_tidysize1=Empty files
edit_tidysize2=Files larger than
edit_tidyage=Age restriction
edit_tidyage1=Any age
edit_tidyage0=$1 is more than $2 days
edit_tidyatime=Access time
edit_tidymtime=Modification time
edit_tidyctime=Contents time
edit_miscsrc=NFS server and path
edit_miscdest=Mount directory
edit_miscmode=Mount options
edit_resns=DNS servers
edit_resother=Other <tt>resolv.conf</tt> lines
edit_route=Default gateway
edit_reqfs=Filesystem to check
edit_reqfree=Minimum free space

save_err=Failed to save class
save_eclass=Missing or invalid class name
save_elinkfrom=Missing or invalid from for symlink $1
save_elinkto=Missing or invalid to for symlink $1
save_edir=Invalid directory $1
save_edirmode=Invalid octal mode for directory $1
save_edirowner=Invalid owner for directory $1
save_edirgroup=Invalid group for directory $1
save_econtroldef=Invalid name for global definition $1
save_egrantdir=Invalid path for directory $1
save_egranthosts=No hosts entered for directory $1
save_egranthost='$1' is not a valid host or host pattern
save_egroupname=Invalid name for group $1
save_econtrolrun=Command to run '$1' does not exist
save_econtrolelapsed=Invalid minimum minutes between runs
save_econtrolauto=Command to run automatically '$1' does not exist
save_econtrolinterval=Invalid number of minutes between scheduled runs
save_econtrolallow=No addresses to allow entered
save_econtroldeny=No addresses to deny entered
save_econtrolskip=No addresses to skip reverse lookups on entered
save_econtroldomain=Invalid domain name
save_efilesdir=Missing directory $1
save_efilesowner=Missing or invalid owner for files in directory $1
save_efilesgroup=Missing or invalid group for files in directory $1
save_efilesmode=Missing or invalid permissions for files in directory $1
save_efilesrec=Missing or invalid integer recursion level for files in directory $1
save_efilesinclude=Missing or invalid pattern for files to check in directory $1
save_efilesexclude=Missing or invalid pattern for files not to check in directory $1
save_efilesacl=Missing or invalid ACL name for files in directory $1
save_ecopydir=Missing source file or directory $1
save_ecopydest=Missing destination for copy of $1
save_ecopyserver=Missing or invalid server for copy of $1
save_ecopyowner=Missing or invalid owner for copy of $1
save_ecopygroup=Missing or invalid group for copy of $1
save_ecopymode=Missing or invalid permissions for copy of $1
save_ecopyrec=Missing or invalid integer recursion level for copy of $1
save_ecopysize=Missing or invalid size for copy of $1
save_edisfile=Missing disabled filename $1
save_edisrot=Missing or invalid number of rotations for file $1
save_edissize=Missing or invalid size for file $1
save_eeditfile=Missing file to edit $1
save_eeditscript=Missing editor script for file $1
save_eproc=Missing pattern for process match $1
save_eprocrestart=Missing restart command for processes matching $1
save_eprocowner=Missing or invalid user for processes matching $1
save_eprocgroup=Missing or invalid group for processes matching $1
save_eprocmat=Missing or invalid number of processes matching $1
save_ecmd=Missing shell command $1
save_ecmdowner=Invalid owner for shell command $1
save_ecmdgroup=Invalid group for shell command $1
save_ecmdtimeout=Invalid timeout for shell command $1
save_etidy=Missing or invalid directory to tidy $1
save_etidyrec=Missing or invalid integer recursion level for directory $1
save_etidypat=Missing or invalid file pattern for directory $1
save_etidysize=Missing or invalid file size for directory $1
save_etidyage=Missing or invalid number of days for directory $1
save_emiscsrc=Missing or invalid NFS server and path $1
save_emiscdest=Missing or invalid mount directory for $1
save_emiscmode=Invalid mount options for $1
save_eroute=Missing or invalid default gateway
save_ereq=Invalid filesystem to check $1
save_ereqfree=Missing or invalid minimum free space for $1

section_groups=Define groups
section_classes=$section_groups
section_control_0=Master control
section_control_1=Configuration daemon options
section_homeservers=Home directories servers
section_binservers=Binary files servers
section_mailserver=Mail servers
section_mountables=Mountable filesystems
section_broadcast=Set broadcast address
section_resolve=Setup DNS resolution
section_defaultroute=Set default route
section_directories=Create directories
section_miscmounts=Mount other NFS filesystems
section_files=Set file permissions
section_ignore=Files to ignore
section_tidy=Tidy up directories
section_links=Create symbolic links
section_disable=Disable files
section_shellcommands=Run shell commands
section_editfiles=Edit files
section_processes=Manage processes
section_copy=Copy files
section_admit=Allowed directories
section_grant=$section_admit
section_deny=Denied directories
section_required=Check Filesystems
section_disks=$section_required

run_title=Run Configuration Engine
run_desc=This page can be used to run the Configuration Engine on this host. When run, all the actions that you have configured will be carried out where necessary.
run_header=Options for running CFengine on this host
run_dry=Only show what would be done?
run_noifc=Can change network interfaces?
run_nomnt=Can mount filesystems?
run_nocmd=Can execute shell commands?
run_notidy=Can tidy up directories?
run_nolinks=Can create symbolic links?
run_verbose=Show verbose output?
run_exec=Running command $1 ..
run_ok=Run Now

cfd_title=Configuration Engine Daemon
cfd_stop=Stop Configuration Engine Daemon
cfd_stopdesc=Click this button to stop the running Configuration Engine daemon. This will prevent other hosts from running the configuration on this server, and stop the scheduled running of the configuration.
cfd_start=Start Configuration Engine Daemon
cfd_startdesc=Click this button to start the Configuration Engine daemon with the settings above. This will allow other hosts to run the configuration on this server, and start the scheduled running of the configuration (if enabled).
cfd_return=daemon options
cfd_none=No settings for the Configuration Engine daemon has been created yet.
cfd_ecmd=The Configuration Engine daemon command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.

push_title=Remote Configuration Hosts
push_header=Configuration server distribution options
push_domain=Domain name
push_users=Users who can run <tt>cfrun</tt>
push_host=Client hostname
push_opts=CFengine options for client
push_push=Run Host Configurations
push_pushdesc=Click this button to run the Configuration Engine on each of the hosts listed above, using the command $1. The local configuration from each host will be used for processing, unless you have arranged for the master configuration to be distributed to each host.
push_err=Failed to save server options
push_edomain=Missing or invalid domain name
push_ehost='$1' is not a valid hostname
push_ethis='$1' is this host!
push_return=remote configuration hosts
push_title2=Run Host Configurations
push_exec=Running host configurations with command $1 ..
push_ecmd=The Configuration Engine remote execution command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.

type_control_0=The field below lists the actions that are executed when the configuration engine runs, in the order that they will be executed. Actions which are not listed will not be processed, even if they are listed on the main page.
type_control_1=The options below control the global behaviour of the background process that accepts requests to execute the configuration on this host when requested by a remote host, or on a fixed schedule.
type_directories=The directories listed below will be created with the given ownership and permissions when they do not exist. The owner, group and permissions fields are optional.
type_links=The symbolic links listed below will be created where they do not currently exist. If a link already exists but points to a different destination, it will not normally be changed.
type_admit=The configuration engine daemon will only grant access to directory listed below by the hosts listed next to each directory. Hosts can be entered as an IP address, hostname or host pattern (like <tt>*.foo.com</tt>).
type_grant=$type_admit
type_deny=Directories listed below will be denied access to by the hosts listed next to each directory, even if they are listed in an Allowed directories action. Hosts can be entered as an IP address, hostname or host pattern (like <tt>*.foo.com</tt>).
type_groups=Use the table below to define additional groups of hosts that can be used elsewhere in the configuration as class names. Groups can also contain shell commands in quotes that are executed to determine if the group evaluates to true or false.
type_classes=$type_group
type_copy=Each of the files or directories (and their contents) listed below will be copied to the chosen destination, when necessary. You can also choose to copy from a remote host, as long as that host is running the configuration engine daemon and allows this host to copy files.
type_disable=The files listed below will be checked to see if it exists and meets the selected size and type criteria, and if so disabled by either renaming or truncation.
type_editfiles=The text area below can be used to enter a script that edits the selected file, adding, deleting or updating lines where necessary. For the syntax of this script language, see the full CFengine documentation.
type_ignore=Any files or directories entered below will be ignored by all 'Copy files', 'Set permissions' and 'Tidy up directories' actions. Each entry can be a full path, a shell-style regular expression or a filename.
type_processes=Use the field below to search for processes matching the given pattern, and optionally send them a signal to kill them. When a process is killed, you can also specify a command to be run to restart it.
type_shellcommands=The commands listed below will be executed every time the configuration engine is run. The user and group fields are optional - if nothing is entered, the command will be executed as root. The timeout field is also optional - if no timeout is given, CFengine will wait forever until the command is complete.
type_tidy=The directories listed below will be scanned for files matching the selected name, age and time criteria each time CFengine is run. Any files found will be deleted, with no backup made.
type_miscmounts=NFS filesystem mounts listed below will be checked and mounted if necessary when CFengine is run. The NFS server and path field must be entered in the standard form of <tt>servername:/path/name</tt>. The mount options must be in the same format as used in the <tt>/etc/fstab</tt> file, and are optional.
type_resolve=The DNS server IP addresses that you enter below will be used to update the <tt>/etc/resolv.conf</tt> file when this action is run, by adding lines for any listed nameservers that are not yet in the file.
type_defaultroute=When this action is run, the configuration engine will check the current default route against the gateway specified below.
type_required=The filesystems listed below will be checked when this action is run to verify that they are mounted, and if not a warning message will be displayed. Each filesystem will also be checked to see if its free space has fallen below the set minimum, if any.
type_disks=$type_required

stop_err=Failed to stop Configuration Engine daemon
stop_epids=No longer running
stop_ekill=Failed to kill process : $1

start_err=Failed to start Configuration Engine daemon

log_create_section=Created action $1 and class
log_create_class=Added class to action $1
log_modify_class=Modified class in action $1
log_delete_class=Removed class from action $1
log_delete_section=Deleted section $1
log_run=Ran configuration engine
log_start=Started daemon
log_stop=Stopped daemon
log_push=Changed remote configuration hosts
log_prun=Ran host configurations

hosts_title=Webmin CFengine Cluster
hosts_hosts=Servers in Cluster
hosts_nohosts=No Webmin servers running CFengine have been defined yet.
hosts_add=Add sever
hosts_gadd=Add servers in group
hosts_run=Run Configuration Engine
hosts_copy=Copy and Run Configuration
hosts_rundesc=Click this button to have the Configuration Engine run on all the servers listed above, using their current configurations.
hosts_copydesc=Click this button to have the CFengine configuration from this server copied to all the servers above, and immediately executed.
hosts_opts=Options for running configurations
hosts_return=servers list

add_title=Add Servers
add_msg=Adding $1 ..
add_gmsg=Adding servers in group $1 ..
add_err=Failed to add server
add_gerr=Failed to add group
add_echeck=Server $1 does not have the configuration engine module
add_ecfengine=CFengine is not installed on server $1
add_ok=Added server $1 ($2 $3)
add_eversion=CFengine on server $1 is version $2, but this Webmin module only supports versions $3 .

host_title=Managed Server
host_header=Managed CFengine server details
host_name=Host name
host_type=Server type
host_delete=Remove from managed list
host_os=OS from Webmin
host_cfg=Current CFengine configuration from $1
host_ver=CFengine version

cluster_title=Run Configuration Engine
cluster_header=Running configuration engine on all hosts in cluster ..
cluster_success=Output from CFengine on $1 ..
cluster_failed=Failed to run CFengine on $1 : $2

this_server=this server

   07070100057d87000081e40000000000000002000000013d1fe2ea00000881000000200000000000000000000000000000001e00000003reloc/cfengine/list_hosts.cgi #!/usr/local/bin/perl
# list_hosts.cgi
# Display other webmin servers to which the configuration should be copied
# and run.

require './cfengine-lib.pl';
&foreign_require("servers", "servers-lib.pl");
&header($text{'hosts_title'}, "", "hosts");
print "<hr>\n";

# Show existing servers
print "<h3>$text{'hosts_hosts'}</h3>\n";
@servers = &list_servers();
@hosts = &list_cfengine_hosts();
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	next if (!$s);
	push(@titles, &server_name($s));
	push(@links, "edit_host.cgi?id=$h->{'id'}");
	push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
	$gothost{$h->{'id'}}++;
	}
if (@links) {
	&icons_table(\@links, \@titles, \@icons);
	}
else {
	print "<b>$text{'hosts_nohosts'}</b><p>\n";
	}

# Display adding form
print "<form action=add.cgi>\n";
print "<table width=100%><tr>\n";
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
if (@addservers) {
	print "<td><input type=submit name=add value='$text{'hosts_add'}'>\n";
	print "<select name=server>\n";
	foreach $s (@addservers) {
		print "<option value=$s->{'id'}>",&server_name($s),"\n";
		}
	print "</select></td>\n";
	}
@groups = &servers::list_all_groups(\@servers);
if (@groups) {
	print "<td align=right><input type=submit name=gadd ",
	      "value='$text{'hosts_gadd'}'>\n";
	print "<select name=group>\n";
	foreach $g (@groups) {
		print "<option>$g->{'name'}\n";
		}
	print "</select></td>\n";
	}
print "</tr></table></form>\n";

# Display run form
if (@hosts) {
	print "<hr>\n";
	print "<form action=cluster.cgi>\n";
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value='$text{'hosts_run'}'></td>\n";
	print "<td>$text{'hosts_rundesc'}</td> </tr>\n";
	print "<tr> <td><input type=submit name=copy ",
	      "value='$text{'hosts_copy'}'></td>\n";
	print "<td>$text{'hosts_copydesc'}</td> </tr>\n";
	print "</table>\n";

	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'hosts_opts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	&show_run_form();
	print "</table></td></tr></table>\n";
	print "</form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100057d88000081a40000000000000002000000013d1fe2ea000001df000000200000000000000000000000000000001d00000003reloc/cfengine/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'cfengine-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'class' || $type eq 'section') {
	return &text("log_${action}_${type}",
		     "<tt>".&html_escape($object)."</tt>");
	}
else {
	return $text{"log_${action}"};
	}
}

 07070100057d89000081a40000000000000002000000013d1fe2ea00000055000000200000000000000000000000000000001b00000003reloc/cfengine/module.info    category=cluster
depends=0.990
desc=Configuration Engine
version=0.990
name=CFEngine
   07070100057d8a000081e40000000000000002000000013d1fe2ea00000275000000200000000000000000000000000000001800000003reloc/cfengine/push.cgi   #!/usr/local/bin/perl
# push.cgi
# Push the current configuration out to clients with cfrun

require './cfengine-lib.pl';
$| = 1;
$theme_no_table++;
&header($text{'push_title2'}, "");
print "<hr>\n";

$cmd = "cfrun";
print "<p>",&text('push_exec', "<tt>$cmd</tt>"),"<br>\n";
print "<pre>";
$ENV{'CFINPUTS'} = $config{'cfengine_dir'};
chdir($config{'cfengine_dir'});
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	print &html_escape($_);
	}
close(CMD);
&additional_log("exec", undef, $cmd);
print "</pre>\n";
&webmin_log("prun");

print "<hr>\n";
&footer("edit_push.cgi", $text{'push_return'},
	"", $text{'index_return'});

   07070100057d8b000081e40000000000000002000000013d1fe2ea00000348000000200000000000000000000000000000001700000003reloc/cfengine/run.cgi    #!/usr/local/bin/perl
# run.cgi
# Run cfengine on this host

require './cfengine-lib.pl';
&ReadParse();
$| = 1;
$theme_no_table++;
&header($text{'run_title'}, "");
print "<hr>\n";

# Construct the command
$cmd = "$config{'cfengine'} -f $cfengine_conf";
$cmd .= " -v" if ($in{'verbose'});
$cmd .= " --dry-run" if ($in{'dry'});
$cmd .= " -i" if ($in{'noifc'});
$cmd .= " -m" if ($in{'nomnt'});
$cmd .= " -s" if ($in{'nocmd'});
$cmd .= " -t" if ($in{'notidy'});
$cmd .= " -X" if ($in{'nolinks'});

print "<p><b>",&text('run_exec', "<tt>$cmd</tt>"),"</b><br>\n";
print "<pre>";
$ENV{'CFINPUTS'} = $config{'cfengine_dir'};
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	print &html_escape($_);
	}
close(CMD);
&additional_log("exec", undef, $cmd);
print "</pre>\n";
&webmin_log("run");

print "<hr>\n";
&footer("", $text{'index_return'});

07070100057d8c000081e40000000000000002000000013d1fe2ea0000023e000000200000000000000000000000000000001c00000003reloc/cfengine/run_form.cgi   #!/usr/local/bin/perl
# run_form.cgi
# Show options for running cfengine on this host

require './cfengine-lib.pl';
&ReadParse();
&header($text{'run_title'}, "", "run");
print "<hr>\n";

print "<p>$text{'run_desc'}<br>\n";

print "<form action=run.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'run_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&show_run_form();

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'run_ok'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


  07070100057d8d000081e40000000000000002000000013d1fe2ea0000519f000000200000000000000000000000000000001e00000003reloc/cfengine/save_class.cgi #!/usr/local/bin/perl
# save_class.cgi
# Create, update or delete a class in a section

require './cfengine-lib.pl';
&ReadParse();
$conf = $in{'cfd'} ? &get_cfd_config() : &get_config();
$sec = $conf->[$in{'idx'}] if ($in{'idx'} ne '');
$cls = $sec->{'cls'}->[$in{'cidx'}] if ($in{'cidx'} ne '');

if ($in{'manualmode'}) {
	# Redirect back to the edit form, but in manual mode
	&redirect("edit_class.cgi?cfd=$in{'cfd'}&idx=$in{'idx'}&cidx=$in{'cidx'}&new=$in{'new'}&manual=1");
	}
elsif ($in{'delete'}) {
	# Just delete the class, and maybe the section too
	&lock_file($sec->{'file'});
	if (@{$sec->{'cls'}} == 1) {
		&save_directive($conf, $sec, undef);
		}
	else {
		&save_directive($sec->{'cls'}, $cls, undef);
		}
	&flush_file_lines();
	&unlock_file($sec->{'file'});
	&webmin_log("delete", @{$sec->{'cls'}} == 1 ? "section" : "class",
		    $sec->{'name'});
	&redirect($in{'cfd'} ? "edit_cfd.cgi" : "");
	}
else {
	# Validate and save inputs
	$type = $in{'idx'} eq '' ? $in{'type'} : $sec->{'name'};
	if (!$sec) {
		$sec = { 'name' => $type,
			 'type' => 'section',
			 'cls' => [ $cls = { 'type' => 'class' } ] };
		}
	elsif (!$cls) {
		$cls = { 'type' => 'class' };
		}
	&error_setup($text{'save_err'});
	$in{'class_def'} || $in{'class'} =~ /^\S+$/ ||
		&error($text{'save_eclass'});
	$cls->{'name'} = $in{'class_def'} ? 'any' : $in{'class'};
	$cls->{'implied'} = 0 if (!$in{'class_def'});

	if (defined($in{'manual'})) {
		# Just save manually edited text
		$in{'manual'} =~ s/\r//g;
		$cls->{'text'} = $in{'manual'};
		}
	elsif ($type eq 'links') {
		# Save link creation lines
		local @olinks = &parse_links($cls);
		local @links;
		for($i=0; defined($in{"from_$i"}); $i++) {
			next if (!$in{"from_$i"} && !$in{"to_$i"});
			local $link = $olinks[$i];
			$in{"from_$i"} =~ /^\S+$/ ||
				&error(&text('save_elinkfrom', $i+1));
			$link->{'_linkfrom'} = $in{"from_$i"};
			$in{"to_$i"} =~ /^\S+$/ ||
				&error(&text('save_elinkto', $i+1));
			$link->{'_linkto'} = $in{"to_$i"};
			$link->{'_linktype'} = $in{"type_$i"} ? "+>" : "->";
			$link->{'_linktype'} .= "!" if ($in{"over_$i"});
			push(@links, $link);
			}
		&unparse_links($cls, @links);
		}
	elsif ($type eq 'directories') {
		# Save directory creation lines
		local @odirs = &parse_directories($cls);
		local @dirs;
		for($i=0; defined($in{"dir_$i"}); $i++) {
			next if (!$in{"dir_$i"});
			local $dir = $odirs[$i];
			$in{"dir_$i"} =~ /^\S+$/ ||
				&error(&text('save_edir', $i+1));
			$dir->{'_dir'} = $in{"dir_$i"};

			&sdelete($dir, 'mode');
			if ($in{"mode_$i"} ne "") {
				$in{"mode_$i"} =~ /^[0-9]{3,4}$/ ||
					&error(&text('save_edirmode', $i+1));
				$dir->{'mode'} = $in{"mode_$i"};
				}

			&sdelete($dir, 'owner');
			if ($in{"owner_$i"} ne "") {
				$in{"owner_$i"} =~ /^\S+$/ ||
					&error(&text('save_edirowner', $i+1));
				$dir->{'owner'} = $in{"owner_$i"};
				}

			&sdelete($dir, 'group');
			if ($in{"group_$i"} ne "") {
				$in{"group_$i"} =~ /^\S+$/ ||
					&error(&text('save_edirgroup', $i+1));
				$dir->{'group'} = $in{"group_$i"};
				}

			push(@dirs, $dir);
			}
		&unparse_directories($cls, @dirs);
		}
	elsif ($type eq "control" && !$in{'cfd'}) {
		# Save actionsequence and other global definitions
		local ($sp, $qu) = &split_str($in{'seq'});
		push(@defs, { 'name' => 'actionsequence',
			      'values' => $sp,
			      'valuequotes' => $qu } );
		for($i=0; defined($in{"def_$i"}); $i++) {
			next if (!$in{"def_$i"});
			$in{"def_$i"} =~ /^\S+$/ ||
				&error(&text('save_econtroldef', $i+1));
			local ($sp, $qu) = &split_str($in{"value_$i"});
			push(@defs, { 'name' => $in{"def_$i"},
				      'values' => $sp,
				      'valuequotes' => $qu } );
			}
		$cls->{'defs'} = \@defs;
		}
	elsif ($type eq "control" && $in{'cfd'}) {
		# Save cfd-specific control options
		$in{'run_def'} ||
		    ($in{'run'} =~ /^(\S+)/ && &has_command("$1")) ||
			&error(&text('save_econtrolrun', "$1"));
		&save_define($cls->{'defs'}, "cfrunCommand",
			     $in{'run_def'} ? undef : [ $in{'run'} ]);

		$in{'elapsed_def'} || $in{'elapsed'} =~ /^\d+$/ ||
			&error($text{'save_econtrolelapsed'});
		&save_define($cls->{'defs'}, "IfElapsed",
			     $in{'elapsed_def'} ? undef : [ $in{'elapsed'} ]);

		$in{'max_def'} || $in{'max'} =~ /^\d+$/ ||
			&error($text{'save_econtrolmax'});
		&save_define($cls->{'defs'}, "MaxConnections",
			     $in{'max_def'} ? undef : [ $in{'max'} ]);

		$in{'auto_def'} ||
		    ($in{'auto'} =~ /^(\S+)/ && &has_command("$1")) ||
			&error(&text('save_econtrolauto', "$1"));
		&save_define($cls->{'defs'}, "AutoExecCommand",
			     $in{'auto_def'} ? undef : [ $in{'auto'} ]);

		$in{'interval_def'} || $in{'interval'} =~ /^\d+$/ ||
			&error($text{'save_econtrolinterval'});
		&save_define($cls->{'defs'}, "AutoExecInterval",
		     $in{'interval_def'} ? undef : [ $in{'interval'} ]);

		$in{'dom_def'} || $in{'dom'} =~ /^[A-Za-z0-9\.\-]+$/ ||
			&error($text{'save_econtroldomain'});
		&save_define($cls->{'defs'}, "domain",
		     $in{'dom_def'} ? undef : [ $in{'dom'} ]);

		&save_define($cls->{'defs'}, "LogAllConnections",
				$in{'log'} == 1 ? [ "true" ] :
				$in{'log'} == 0 ? [ "false" ] : undef);

		$in{'allow_def'} || $in{'allow'} =~ /\S/ ||
			&error($text{'save_econtrolallow'});
		&save_define($cls->{'defs'}, "AllowConnectionsFrom",
			     $in{'allow_def'} ? undef :
			     [ split(/\s+/, $in{'allow'}) ] );

		$in{'deny_def'} || $in{'deny'} =~ /\S/ ||
			&error($text{'save_econtroldeny'});
		&save_define($cls->{'defs'}, "DenyConnectionsFrom",
			     $in{'deny_def'} ? undef :
			     [ split(/\s+/, $in{'deny'}) ] );

		$in{'skip_def'} || $in{'skip'} =~ /\S/ ||
			&error($text{'save_econtrolskip'});
		&save_define($cls->{'defs'}, "SkipVerify",
			     $in{'skip_def'} ? undef :
			     [ split(/\s+/, $in{'skip'}) ] );
		}
	elsif ($type eq "admit" || $type eq "grant" || $type eq "deny") {
		# Save allowed or denied directories
		local $vl = 0;
		for($i=0; defined($in{"dir_$i"}); $i++) {
			next if (!$in{"dir_$i"});
			$in{"dir_$i"} =~ /^\S+$/ ||
				&error(&text('save_egrantdir', $i+1));
			push(@values, $in{"dir_$i"});
			push(@valuelines, $vl++);
			local @hosts = split(/\s+/, $in{"hosts_$i"});
			@hosts ||
			    &error(&text('save_egranthosts', $in{"dir_$i"}));
			foreach $h (@hosts) {
				gethostbyname($h) || &check_ipaddress($h) ||
				    $h =~ /\*/ || $h =~ /=/ ||
					&error(&text('save_egranthost', $h));
				push(@values, $h);
				push(@valuelines, $vl++);
				}
			$vl++;
			}

		$cls->{'values'} = \@values;
		$cls->{'valuelines'} = \@valuelines;
		}
	elsif ($type eq "groups" || $type eq "classes") {
		# Save group definitions
		for($i=0,$j=0; defined($in{"name_$i"}); $i++) {
			next if (!$in{"name_$i"});
			$in{"name_$i"} =~ /^\S+$/ ||
				&error(&text('save_egroupname', $i+1));
			local ($st, $qu) = &split_str($in{"mems_$i"});
			push(@defs, { 'name' => $in{"name_$i"},
				      'values' => $st,
				      'valuequotes' => $qu } );
			$j++;
			}
		$cls->{'defs'} = \@defs;
		}
	elsif ($type eq "files") {
		# Save all the files lines
		local @ofiles = &parse_directories($cls);
		local @files;
		for($i=0; defined($d = $in{"dir_$i"}); $i++) {
			next if ($in{"dir_def_$i"});
			local $file = $ofiles[$i];
			$file->{'_dir'} = $d;
			$d =~ /\S/ || &error(&text('save_efilesdir', $i+1));

			&sdelete($file, 'owner');
			if (!$in{"owner_def_$i"}) {
				$in{"owner_$i"} =~ /^\S+$/ ||
					&error(&text('save_efilesowner', $d));
				$file->{'owner'} = $in{"owner_$i"};
				}

			&sdelete($file, 'group');
			if (!$in{"group_def_$i"}) {
				$in{"group_$i"} =~ /^\S+$/ ||
					&error(&text('save_efilesgroup', $d));
				$file->{'group'} = $in{"group_$i"};
				}

			&sdelete($file, 'mode');
			if (!$in{"mode_def_$i"}) {
				$in{"mode_$i"} =~ /^\S+$/ ||
					&error(&text('save_efilesmode', $d));
				$file->{'mode'} = $in{"mode_$i"};
				}

			&sdelete($file, 'recurse');
			if ($in{"rec_def_$i"} == 2) {
				$file->{'recurse'} = 'inf';
				}
			elsif ($in{"rec_def_$i"} == 0) {
				$in{"rec_$i"} =~ /^\d+$/ ||
					&error(&text('save_efilesrec', $d));
				$file->{'recurse'} = $in{"rec_$i"};
				}

			&sdelete($file, 'include');
			if (!$in{"include_def_$i"}) {
				$in{"include_$i"} =~ /^\S+$/ ||
				    &error(&text('save_efilesinclude', $d));
				$file->{'include'} = $in{"include_$i"};
				}

			&sdelete($file, 'exclude');
			if (!$in{"exclude_def_$i"}) {
				$in{"exclude_$i"} =~ /^\S+$/ ||
				    &error(&text('save_efilesexclude', $d));
				$file->{'exclude'} = $in{"exclude_$i"};
				}

			&sdelete($file, 'acl');
			if (!$in{"acl_def_$i"}) {
				$in{"acl_$i"} =~ /^\S+$/ ||
					&error(&text('save_efileacl', $d));
				$file->{'acl'} = $in{"acl_$i"};
				}

			&sdelete($file, 'action');
			if ($in{"act_$i"}) {
				$file->{'action'} = $in{"act_$i"};
				}
			push(@files, $file);
			}
		&unparse_directories($cls, @files);
		}
	elsif ($type eq "copy") {
		# Save copy lines
		local @ocopies = &parse_directories($cls);
		local @copies;
		for($i=0; defined($d = $in{"dir_$i"}); $i++) {
			next if ($in{"dir_def_$i"});
			local $copy = $ocopies[$i];
			$copy->{'_dir'} = $d;
			$d =~ /\S/ || &error(&text('save_ecopydir', $i+1));

			&sdelete($copy, "dest");
			$in{"dest_$i"} =~ /\S/ ||
				&error(&text('save_ecopydest', $d));
			$copy->{'dest'} = $in{"dest_$i"};

			&sdelete($copy, "server");
			if (!$in{"server_def_$i"}) {
				gethostbyname($in{"server_$i"}) ||
					&error(&text('save_ecopyserver', $d));
				$copy->{'server'} = $in{"server_$i"};
				}

			&sdelete($copy, 'owner');
			if (!$in{"owner_def_$i"}) {
				$in{"owner_$i"} =~ /^\S+$/ ||
					&error(&text('save_ecopyowner', $d));
				$copy->{'owner'} = $in{"owner_$i"};
				}

			&sdelete($copy, 'group');
			if (!$in{"group_def_$i"}) {
				$in{"group_$i"} =~ /^\S+$/ ||
					&error(&text('save_ecopygroup', $d));
				$copy->{'group'} = $in{"group_$i"};
				}

			&sdelete($copy, 'mode');
			if (!$in{"mode_def_$i"}) {
				$in{"mode_$i"} =~ /^\S+$/ ||
					&error(&text('save_ecopymode', $d));
				$copy->{'mode'} = $in{"mode_$i"};
				}

			&sdelete($copy, 'recurse');
			if ($in{"rec_def_$i"} == 2) {
				$copy->{'recurse'} = 'inf';
				}
			elsif ($in{"rec_def_$i"} == 0) {
				$in{"rec_$i"} =~ /^\d+$/ ||
					&error(&text('save_ecopyrec', $d));
				$copy->{'recurse'} = $in{"rec_$i"};
				}

			&sdelete($copy, "size");
			if ($in{"size_mode_$i"} == 1) {
				$in{"size1_$i"} ne '' ||
					&error(&text('save_ecopysize', $d));
				$copy->{'size'} = $in{"size1_$i"};
				}
			elsif ($in{"size_mode_$i"} == 2) {
				$in{"size2_$i"} ne '' ||
					&error(&text('save_ecopysize', $d));
				$copy->{'size'} = "<".$in{"size2_$i"};
				}
			elsif ($in{"size_mode_$i"} == 3) {
				$in{"size3_$i"} ne '' ||
					&error(&text('save_ecopysize', $d));
				$copy->{'size'} = ">".$in{"size3_$i"};
				}

			&sdelete($copy, "backup");
			$copy->{'backup'} = 'false' if (!$in{"backup_$i"});

			&sdelete($copy, "force");
			$copy->{'force'} = 'true' if ($in{"force_$i"});

			&sdelete($copy, "purge");
			$copy->{'purge'} = 'true' if ($in{"purge_$i"});

			&sdelete($copy, "action");
			if ($in{"act_$i"}) {
				$copy->{'action'} = $in{"act_$i"};
				}

			push(@copies, $copy);
			}
		&unparse_directories($cls, @copies);
		}
	elsif ($type eq "disable") {
		# Save disable lines
		local @odis = &parse_directories($cls);
		local @dis;
		for($i=0; defined($d = $in{"dir_$i"}); $i++) {
			next if ($in{"dir_def_$i"});
			local $dis = $odis[$i];
			$dis->{'_dir'} = $d;
			$d =~ /\S/ || &error(&text('save_edisfile', $i+1));

			&sdelete($dis, "rotate");
			if ($in{"rot_mode_$i"} == 1) {
				$dis->{'rotate'} = 'empty';
				}
			elsif ($in{"rot_mode_$i"} == 2) {
				$in{"rot_$i"} =~ /^\d+$/ ||
					&error(&text('save_edisrot', $d));
				$dis->{'rotate'} = $in{"rot_$i"};
				}

			&sdelete($dis, "type");
			if ($in{"type_$i"}) {
				$dis->{'type'} = $in{"type_$i"};
				}

			&sdelete($dis, "size");
			if ($in{"size_mode_$i"} == 1) {
				$in{"size1_$i"} ne '' ||
					&error(&text('save_edissize', $d));
				$dis->{'size'} = $in{"size1_$i"};
				}
			elsif ($in{"size_mode_$i"} == 2) {
				$in{"size2_$i"} ne '' ||
					&error(&text('save_edissize', $d));
				$dis->{'size'} = "<".$in{"size2_$i"};
				}
			elsif ($in{"size_mode_$i"} == 3) {
				$in{"size3_$i"} ne '' ||
					&error(&text('save_edissize', $d));
				$dis->{'size'} = ">".$in{"size3_$i"};
				}

			push(@dis, $dis);
			}
		&unparse_directories($cls, @dis);
		}
	elsif ($type eq "editfiles") {
		# Save file-editing scripts
		for($i=0; defined($d = $in{"edit_$i"}); $i++) {
			local (@values, @valuelines);
			next if ($in{"edit_def_$i"});
			$d =~ /\S/ || &error(&text('save_eeditfile', $i+1));
			push(@values, $d);
			push(@valuelines, 0);
			push(@valuequotes, undef);

			$in{"script_$i"} =~ s/\r//g;
			local @lines = split(/\n/, $in{"script_$i"});
			for($j=0; $j<@lines; $j++) {
				local ($st, $qu) = &split_str($lines[$j]);
				push(@values, @$st);
				push(@valuequotes, @$qu);
				push(@valuelines, map { $j+1 } @$st);
				}
			@values > 1 || &error(&text('save_eeditscript', $d));

			push(@lists, { 'values' => \@values,
				       'valuelines' => \@valuelines,
				       'valuequotes' => \@valuequotes } );
			}
		$cls->{'lists'} = \@lists;
		}
	elsif ($type eq "ignore") {
		# Save list of ignored files
		local ($st, $qu) = &split_str($in{"ignore"});
		for($i=0; $i<@$st; $i++) {
			push(@values, $st->[$i]);
			push(@valuelines, $i);
			push(@valuequotes, $qu->[$i]);
			}
		$cls->{'values'} = \@values;
		$cls->{'valuelines'} = \@valuelines;
		$cls->{'valuequotes'} = \@valuequotes;
		}
	elsif ($type eq "processes") {
		# Save managed processes list
		local $ostr;
		local @oprocs = &parse_processes($cls);
		local @procs;
		for($i=0; defined($p = $in{"proc_$i"}) || $i<@oprocs; $i++) {
			next if ($in{"proc_def_$i"});
			local $proc = $oprocs[$i];
			if ($proc->{'_options'}) {
				push(@procs, $proc);
				next;
				}
			$proc->{'_match'} = $p;
			$p =~ /\S/ || &error(&text('save_eproc', $i+1));

			&sdelete($proc, "signal");
			if ($in{"sig_$i"}) {
				$proc->{'signal'} = $in{"sig_$i"};
				}

			&sdelete($proc, "action");
			if ($in{"act_$i"}) {
				$proc->{'action'} = $in{"act_$i"};
				}

			&sdelete($proc, "matches");
			if ($in{"mat_mode_$i"} == 1) {
				$in{"mat1_$i"} ne '' ||
					&error(&text('save_eprocmat', $d));
				$proc->{'matches'} = $in{"mat1_$i"};
				}
			elsif ($in{"mat_mode_$i"} == 2) {
				$in{"mat2_$i"} ne '' ||
					&error(&text('save_eprocmat', $d));
				$proc->{'matches'} = "<".$in{"mat2_$i"};
				}
			elsif ($in{"mat_mode_$i"} == 3) {
				$in{"mat3_$i"} ne '' ||
					&error(&text('save_eprocmat', $d));
				$proc->{'matches'} = ">".$in{"mat3_$i"};
				}

			delete($proc->{'_restart'});
			if (!$in{"restart_def_$i"}) {
				$in{"restart_$i"} =~ /\S/ ||
					&error(&text('save_eprocrestart', $p));
				$proc->{'_restart'} = $in{"restart_$i"};
				}

			&sdelete($proc, 'owner');
			if (!$in{"owner_def_$i"}) {
				$in{"owner_$i"} =~ /^\S+$/ ||
					&error(&text('save_eprocowner', $d));
				$proc->{'owner'} = $in{"owner_$i"};
				}

			&sdelete($proc, 'group');
			if (!$in{"group_def_$i"}) {
				$in{"group_$i"} =~ /^\S+$/ ||
					&error(&text('save_eprocgroup', $d));
				$proc->{'group'} = $in{"group_$i"};
				}

			push(@procs, $proc);
			}
		&unparse_processes($cls, @procs);
		}
	elsif ($type eq "shellcommands") {
		# Save commands to execute
		local @ocmds = &parse_directories($cls);
		local @cmds;
		for($i=0; defined($in{"cmd_$i"}); $i++) {
			next if (!$in{"cmd_$i"});
			local $cmd = $ocmd[$i];
			$in{"cmd_$i"} =~ /\S/ ||
				&error(&text('save_ecmd', $i+1));
			$cmd->{'_dir'} = $in{"cmd_$i"};

			&sdelete($cmd, 'owner');
			if ($in{"owner_$i"} ne "") {
				$in{"owner_$i"} =~ /^\S+$/ ||
					&error(&text('save_ecmdowner', $i+1));
				$cmd->{'owner'} = $in{"owner_$i"};
				}

			&sdelete($cmd, 'group');
			if ($in{"group_$i"} ne "") {
				$in{"group_$i"} =~ /^\S+$/ ||
					&error(&text('save_ecmdgroup', $i+1));
				$cmd->{'group'} = $in{"group_$i"};
				}

			&sdelete($cmd, "timeout");
			if ($in{"timeout_$i"} ne '') {
				$in{"timeout_$i"} =~ /^\d+$/ ||
					&error(&text('save_ecmdtimeout', $i+1));
				$cmd->{'timeout'} = $in{"timeout_$i"};
				}

			push(@cmds, $cmd);
			}
		&unparse_shellcommands($cls, @cmds);
		}
	elsif ($type eq "tidy") {
		# Save tidied directories
		local @otidy = &parse_directories($cls);
		local @tidy;
		for($i=0; defined($d = $in{"dir_$i"}); $i++) {
			next if ($in{"dir_def_$i"});
			local $tidy = $otidy[$i];
			$d =~ /^\S+$/ || &error(&text('save_etidy', $i+1));
			$tidy->{'_dir'} = $d;

			&sdelete($tidy, "pattern");
			if (!$in{"pat_def_$i"}) {
				$in{"pat_$i"} =~ /^\S+$/ ||
					&error(&text('save_etidypat', $d));
				$tidy->{'pattern'} = $in{"pat_$i"};
				}

			&sdelete($tidy, "size");
			if ($in{"smode_$i"} == 1) {
				$tidy->{'size'} = 'empty';
				}
			elsif ($in{"smode_$i"} == 2) {
				$in{"size_$i"} =~ /^\S+$/ ||
					&error(&text('save_etidysize', $d));
				$tidy->{'size'} = $in{"size_$i"};
				}

			&sdelete($tidy, "age");
			&sdelete($tidy, "type");
			if ($in{"type_$i"}) {
				$tidy->{'type'} = $in{"type_$i"};
				}
			if (!$in{"age_def_$i"}) {
				$in{"age_$i"} =~ /^\d+$/ ||
					&error(&text('save_etidyage', $d));
				$tidy->{'age'} = $in{"age_$i"};
				}

			&sdelete($tidy, 'recurse');
			if ($in{"rec_def_$i"} == 2) {
				$tidy->{'recurse'} = 'inf';
				}
			elsif ($in{"rec_def_$i"} == 0) {
				$in{"rec_$i"} =~ /^\d+$/ ||
					&error(&text('save_etidyrec', $d));
				$tidy->{'recurse'} = $in{"rec_$i"};
				}

			push(@tidy, $tidy);
			}
		&unparse_directories($cls, @tidy);
		}
	elsif ($type eq "miscmounts") {
		# Save mounted NFS filesystems
		local @omnts = &parse_miscmounts($cls);
		local @mnts;
		for($i=0; defined($d = $in{"src_$i"}); $i++) {
			next if (!$d);
			local $mnt = $omnts[$i];

			$d =~ /^\S+$/ ||
				&error(&text('save_emiscsrc', $i+1));
			$mnt->{'_src'} = $d;

			$in{"dest_$i"} =~ /^\S+$/ ||
				&error(&text('save_emiscdest', $d));
			$mnt->{'_dest'} = $in{"dest_$i"};

			&sdelete($mnt, "mode");
			$in{"mode_$i"} =~ /^\S*$/ ||
				&error(&text('save_emiscmode', $d));
			$mnt->{'mode'} = $in{"mode_$i"} if ($in{"mode_$i"});

			push(@mnts, $mnt);
			}
		&unparse_miscmounts($cls, @mnts);
		}
	elsif ($type eq "resolve") {
		# Save nameserver options
		$in{'ns'} =~ s/\r//g;
		local @ns = split(/\n/, $in{'ns'});
		$in{'other'} =~ s/\r//g;
		local @other = split(/\n/, $in{'other'});

		local $vl = 0;
		foreach $n (@ns) {
			push(@values, $n);
			push(@valuelines, $vl++);
			push(@valuequotes, "");
			}
		foreach $n (@other) {
			push(@values, $n);
			push(@valuelines, $vl++);
			push(@valuequotes, '"');
			}

		$cls->{'values'} = \@values;
		$cls->{'valuelines'} = \@valuelines;
		$cls->{'valuequotes'} = \@valuequotes;
		}
	elsif ($type eq "defaultroute") {
		# Save default router options
		$in{'route'} =~ /^\S+$/ || &error($text{'save_eroute'});
		$cls->{'values'} = [ $in{'route'} ];
		$cls->{'valuelines'} = 0;
		$cls->{'valuequotes'} = [ ];
		}
	elsif ($type eq "required" || $type eq "disks") {
		# Save filesystems to check
		local @oreqs = &parse_directories($cls);
		local @reqs;
		for($i=0; defined($d = $in{"fs_$i"}); $i++) {
			next if (!$d);
			local $req = $oreqs[$i];
			$d =~ /^\S+$/ || &error(&text('save_ereq', $i+1));
			$req->{'_dir'} = $d;

			&sdelete($req, "freespace");
			if (!$in{"free_def_$i"}) {
				$in{"free_$i"} =~ /^\S+$/ ||
					&error(&text('save_ereqfree', $d));
				$req->{'freespace'} = $in{"free_$i"};
				}

			push(@reqs, $req);
			}
		&unparse_directories($cls, @reqs);
		}

	# Write to the config file
	if ($in{'cidx'} ne '') {
		# Updating an existing class
		&lock_file($sec->{'file'});
		&save_directive($conf, $cls, $cls);
		&flush_file_lines();
		&unlock_file($sec->{'file'});
		&webmin_log("modify", "class", $sec->{'name'});
		}
	elsif ($in{'idx'} ne '') {
		# Adding a class to an existing section
		&lock_file($sec->{'file'});
		&save_directive($sec->{'cls'}, undef, $cls);
		&flush_file_lines();
		&unlock_file($sec->{'file'});
		&webmin_log("create", "class", $sec->{'name'});
		}
	else {
		# Creating a new section and class
		&lock_file($conf->[0]->{'file'});
		&save_directive($conf, undef, $sec);
		&flush_file_lines();
		&unlock_file($conf->[0]->{'file'});
		&webmin_log("create", "section", $sec->{'name'});
		}

	&redirect($in{'cfd'} ? "edit_cfd.cgi" : "");
	}

# save_define(&config, name, &values|undef)
sub save_define
{
local ($i, $old);
for($i=0; $i<@{$_[0]}; $i++) {
	if ($_[0]->[$i]->{'name'} eq $_[1]) {
		$old = $_[0]->[$i];
		last;
		}
	}
if ($old && $_[2]) {
	$_[0]->[$i]->{'values'} = $_[2];
	}
elsif ($old) {
	splice(@{$_[0]}, $i, 1);
	}
elsif ($_[2]) {
	push(@{$_[0]}, { 'name' => $_[1], 'values' => $_[2] } );
	}
}

# sdelete(&conf, name)
sub sdelete
{
local $i;
for($i=length($_[1]); $i>0; $i--) {
	local $s = substr($_[1], 0, $i);
	if (defined($_[0]->{$s})) {
		delete($_[0]->{$s});
		last;
		}
	}
}

 07070100057d8e000081e40000000000000002000000013d1fe2ea00000371000000200000000000000000000000000000001d00000003reloc/cfengine/save_push.cgi  #!/usr/local/bin/perl
# save_push.cgi
# Save cfrun options

require './cfengine-lib.pl';
&ReadParse();
&error_setup($text{'push_err'});

# Validate and parse inputs
($oldhosts, $opts) = &get_cfrun_hosts();
$in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ || &error($text{'push_edomain'});
$opts->{'domain'} = $in{'domain'};
$opts->{'access'} = join(",", split(/\s+/, $in{'access'}));
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	gethostbyname($in{"host_$i"}) || &check_ipaddress($in{"host_$i"}) ||
		&error(&text('push_ehost', $in{"host_$i"}));
	&to_ipaddress($in{"host_$i"}) ne &to_ipaddress(&get_system_hostname())||
		&error(&text('push_ethis', $in{"host_$i"}));
	push(@hosts, [ $in{"host_$i"}, $in{"opts_$i"} ] );
	}

# Write to file
&lock_file($cfrun_hosts);
&save_cfrun_hosts(\@hosts, $opts);
&unlock_file($cfrun_hosts);
&webmin_log("push");

&redirect("");

   07070100057d8f000081e40000000000000002000000013d1fe2ea000001cf000000200000000000000000000000000000001900000003reloc/cfengine/start.cgi  #!/usr/local/bin/perl
# start.cgi
# Start the configuration engine daemon

require './cfengine-lib.pl';
&error_setup($text{'start_err'});
if ($config{'start_cmd'}) {
	$out = &backquote_logged("$config{'start_cmd'} 2>&1 </dev/null");
	}
else {
	$ENV{'CFINPUTS'} = $config{'cfengine_dir'};
	$out = &backquote_logged("$config{'cfd'} 2>&1 </dev/null");
	}
&error("<pre>$out</pre>") if ($out =~ /error|failed/ || $?);
&webmin_log("start");
&redirect("edit_cfd.cgi");

 07070100057d90000081e40000000000000002000000013d1fe2ea000001e6000000200000000000000000000000000000001800000003reloc/cfengine/stop.cgi   #!/usr/local/bin/perl
# stop.cgi
# Stop the configuration engine daemon

require './cfengine-lib.pl';
&error_setup($text{'stop_err'});
if ($config{'stop_cmd'}) {
	$out = &backquote_logged("$config{'stop_cmd'} 2>&1 </dev/null");
	&error("<pre>$out</pre>") if ($out =~ /error|failed/ || $?);
	}
else {
	@pids = &find_byname("cfd");
	@pids || &error($text{'stop_epids'});
	&kill_logged('TERM', @pids) || &error(&text('stop_ekill', $!));
	}
&webmin_log("stop");
&redirect("edit_cfd.cgi");

  07070100057d91000081e40000000000000002000000013d1fe2ea00000155000000200000000000000000000000000000001600000003reloc/cfengine/up.cgi #!/usr/local/bin/perl
# up.cgi
# Move an entire section up in the config file

require './cfengine-lib.pl';
&ReadParse();
$conf = $in{'cfd'} ? &get_cfd_config() : &get_config();
$sw1 = $conf->[$in{'idx'}];
$sw2 = $conf->[$in{'idx'}-1];
&swap_directives($conf, $sw1, $sw2);

&flush_file_lines();
&redirect($in{'cfd'} ? "edit_cfd.cgi" : "");

   0707010003e250000081e40000000000000002000000013d1fe2b700000751000000200000000000000000000000000000001400000003reloc/changepass.pl   #!/usr/local/bin/perl
# changepass.pl
# Script for the user to change their webmin password

# Check command line arguments
usage() if (@ARGV != 3);
($config, $user, $pass) = @ARGV;
if (!-d $config) {
	print STDERR "The config directory $config does not exist\n";
	exit 2;
	}
if (!open(CONF, "$config/miniserv.conf")) {
	print STDERR "Failed to open $config/miniserv.conf : $!\n";
	print STDERR "Maybe $config is not the Webmin config directory.\n";
	exit 3;
	}
while(<CONF>) {
	if (/^([^=]+)=(\S+)/) { $config{$1} = $2; }
	}
close(CONF);

# Update the users file
if (!open(USERS, $config{'userfile'})) {
	print STDERR "Failed to open Webmin users file $config{'userfile'} : $!\n";
	exit 4;
	}
while(<USERS>) {
	s/\r|\n//g;
	local @user = split(/:/, $_);
	if (@user) {
		$users{$user[0]} = \@user;
		push(@users, $user[0]);
		}
	}
close(USERS);
if (!defined($users{$user})) {
	print STDERR "The Webmin user $user does not exist\n";
	print STDERR "The users on your system are: ",join(" ", @users),"\n";
	exit 5;
	}
$salt = substr(time(), 0, 2);
$users{$user}->[1] = crypt($pass, $salt);
if (!open(USERS, "> $config{'userfile'}")) {
	print STDERR "Failed to open Webmin users file $config{'userfile'} : $!\n";
	exit 6;
	}
foreach $v (values %users) {
	print USERS join(":", @$v),"\n";
	}
close(USERS);
print "Updated password of Webmin user $user\n";

# Send a signal to restart miniserv, if running
if (open(PID, $config{'pidfile'})) {
	<PID> =~ /(\d+)/; $pid = $1;
	close(PID);
	kill('HUP', $pid);
	}

sub usage
{
print STDERR <<EOF;
usage: changepass.pl <config-dir> <login> <password>

This program allows you to change the password of a user in the Webmin
password file. For example, to change the password of the admin user
to foo, you would run:
	changepass.pl /etc/webmin admin foo
This assumes that /etc/webmin is the Webmin configuration directory.
EOF
exit 1;
}

   0707010003e251000081e40000000000000002000000013d1fe2b700000ff0000000200000000000000000000000000000001200000003reloc/chooser.cgi #!/usr/local/bin/perl
# chooser.cgi
# Outputs HTML for a frame-based file chooser 

@icon_map = (	"c", "text.gif",
		"txt", "text.gif",
		"pl", "text.gif",
		"cgi", "text.gif",
		"html", "text.gif",
		"htm", "text.gif",
		"gif", "image.gif",
		"jpg", "image.gif",
		"tar", "binary.gif"
		);

require './web-lib.pl';
&init_config();
%access = &get_module_acl();
if (!$access{'root'}) {
	local @uinfo = getpwnam($remote_user);
	$rootdir = $uinfo[7] ? $uinfo[7] : "/";
	}
else {
	$rootdir = $access{'root'};
	}
&ReadParse();
if ($in{'file'} =~ /^(.*\/)([^\/]*)$/) {
	# File entered is invalid
	$dir = $1;
	$file = $2;
	}
else {
	$dir = $rootdir;
	$dir .= '/' if ($dir !~ /\/$/);
	$file = "";
	}

if (!(-d $in{'chroot'}.$dir)) {
	# Entered directory does not exist
	$dir = $rootdir.'/';
	$file = "";
	}
if ($rootdir ne '/' && $dir ne $rootdir &&
    $dir !~ /^$rootdir\//) {
	# Directory is outside allowed root
	$dir = $rootdir.'/';
	$file = "";
	}

if ($in{'frame'} == 0) {
	# base frame
	&PrintHeader();
	if ($in{'type'} == 0)
		{ print "<title>$text{'chooser_title1'}</title>\n"; }
	elsif ($in{'type'} == 1)
		{ print "<title>$text{'chooser_title2'}</title>\n";}
	print "<frameset rows='*,50'>\n";
	print "<frame marginwidth=5 marginheight=5 name=topframe ",
	     "src=\"chooser.cgi?frame=1&file=$in{'file'}&chroot=$in{'chroot'}&",
	     "type=$in{'type'}\">\n";
	print "<frame marginwidth=0 marginheight=0 name=bottomframe ",
	      "src=\"chooser.cgi?frame=2&file=$in{'file'}&",
	      "chroot=$in{'chroot'}&type=$in{'type'}\" scrolling=no>\n";
	print "</frameset>\n";
	}
elsif ($in{'frame'} == 1) {
	# List of files in this directory
	&header();
	
	print <<EOF;
<script>
function fileclick(f, d)
{
curr = top.frames[1].document.forms[0].elements[1].value;
if (curr == f) {
	// Double-click! Enter directory or select file
	if (d) {
		// Enter this directory
		location = "chooser.cgi?frame=1&chroot=$in{'chroot'}&type=$in{'type'}&file="+f+"/";
		}
	else {
		// Select this file and close the window
		top.ifield.value = f;
		top.close();
		}
	}
else {
	top.frames[1].document.forms[0].elements[1].value = f;
	}
}

function parentdir(p)
{
top.frames[1].document.forms[0].elements[1].value = p;
location = "chooser.cgi?frame=1&chroot=$in{'chroot'}&type=$in{'type'}&file="+p;
}
</script>
EOF

	print "<b>",&text('chooser_dir', $dir),"</b>\n";
	print "<table width=100%>\n";
	opendir(DIR, $in{'chroot'}.$dir);
	foreach $f (sort { $a cmp $b } readdir(DIR)) {
		$path = "$in{'chroot'}$dir$f";
		if ($f eq ".") { next; }
		if ($f eq ".." && ($dir eq "/" || $dir eq $rootdir.'/')) { next; }
		if (!(-d $path) && $in{'type'} == 1) { next; }

		@st = stat($path);
		print "<tr>\n";
		$isdir = 0; undef($icon);
		if (-d $path) { $icon = "dir.gif"; $isdir = 1; }
		elsif ($path =~ /\.([^\.\/]+)$/) { $icon = $icon_map{$1}; }
		if (!$icon) { $icon = "unknown.gif"; }

		if ($f eq "..") {
			$dir =~ /^(.*\/)[^\/]+\/$/;
			$link = "<a href=\"\" onClick='parentdir(\"$1\"); return false'>";
			}
		else {
			$link = "<a href=\"\" onClick='fileclick(\"$dir$f\", $isdir); return false'>";
			}
		print "<td>$link<img border=0 src=/images/$icon></a></td>\n";
		print "<td nowrap>$link$f</a></td>\n";
		printf "<td nowrap>%s</td>\n",
			$st[7] > 1000000 ? int($st[7]/1000000)." MB" :
			$st[7] > 1000 ? int($st[7]/1000)." kB" :
			$st[7];
		@tm = localtime($st[9]);
		printf "<td nowrap><tt>%.2d/%s/%.4d</tt></td>\n",
			$tm[3], $text{'smonth_'.($tm[4]+1)}, $tm[5]+1900;
		printf "<td nowrap><tt>%.2d:%.2d</tt></td>\n", $tm[2], $tm[1];
		print "</tr>\n";
		}
	closedir(DIR);
	print "</table>\n";
	}
elsif ($in{'frame'} == 2) {
	# Current file and OK/cancel buttons
	&header();
	print <<EOF;
<script>
function filechosen()
{
top.ifield.value = document.forms[0].path.value;
top.close();
}
</script>
EOF

	print "<table width=100%>\n";
	print "<form onSubmit='filechosen(); return false'>\n";
	print "<tr><td><input type=submit value=\"$text{'chooser_ok'}\"></td>\n";
	print "<td align=right><input name=path size=45 value=\"$dir$file\"></td></tr>\n";
	print "</form>\n";
	print "</table>\n";
	}

07070100061e48000041ed0000000000000001000000053d1ff9ef00000000000000200000000000000000000000000000001700000003reloc/cluster-software    07070100061e49000081e40000000000000002000000013d1fe2e600000880000000200000000000000000000000000000001f00000003reloc/cluster-software/add.cgi    #!/usr/local/bin/perl
# add.cgi
# Add or update a server or group from the webmin servers module

require './cluster-software-lib.pl';
&ReadParse();
@servers = &list_servers();

if ($in{'add'}) {
	# Add a single host
	@add = grep { $_->{'id'} eq $in{'server'} } @servers;
	&error_setup($text{'add_err'});
	$msg = &text('add_msg', &server_name($add[0]));
	}
else {
	# Add all from a group
	($group) = grep { $_->{'name'} eq $in{'group'} }
			&servers::list_all_groups(\@servers);
	foreach $m (@{$group->{'members'}}) {
		push(@add, grep { $_->{'host'} eq $m } @servers);
		}
	&error_setup($text{'add_gerr'});
	$msg = &text('add_gmsg', $in{'group'});
	}
&header($text{'add_title'}, "");
print "<hr>\n";
print "<b>$msg</b><p>\n";

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

# Get the packages for each host
%sconfig = &foreign_config("software");
foreach $s (@add) {
	$add_error_msg = undef;
	local $host = { 'id' => $s->{'id'} };
	local $soft = &remote_foreign_check($s->{'host'}, "software");
	if ($add_error_msg) {
		print "$add_error_msg<p>\n";
		next;
		}
	if (!$soft) {
		print &text('add_echeck', $s->{'host'}),"<p>\n";
		next;
		}
	&remote_foreign_require($s->{'host'}, "software", "software-lib.pl");
	local $rconfig = &remote_foreign_config($s->{'host'}, "software");
	if ($rconfig->{'package_system'} ne $sconfig{'package_system'}) {
		print &text('add_esystem', $s->{'host'}),"<p>\n";
		next;
		}
	local $gconfig = &remote_foreign_config($s->{'host'}, undef);
	foreach $g ('os_type', 'os_version',
		    'real_os_type', 'real_os_version') {
		$host->{$g} = $gconfig->{$g};
		}
	local $n = &remote_foreign_call($s->{'host'}, "software",
					"list_packages");
	local $packages = &remote_eval($s->{'host'}, "software", "\\%packages");
	for($i=0; $i<$n; $i++) {
		push(@{$host->{'packages'}},
		     { 'name' => $packages->{$i,'name'},
		       'class' => $packages->{$i,'class'},
		       'desc' => $packages->{$i,'desc'} });
		}
	&save_software_host($host);
	print &text('add_ok', &server_name($s), $n),"<p>\n";
	}
&remote_finished();

print "<hr>\n";
&footer("", $text{'index_return'});


07070100061e4b000081e40000000000000002000000013d1fe2e6000001a6000000200000000000000000000000000000002100000003reloc/cluster-software/close.cgi  #!/usr/local/bin/perl
# close.cgi
# Remove some class from the open list

require './cluster-software-lib.pl';
&ReadParse();
open(HEIROPEN, "$module_config_directory/heiropen.$in{'id'}");
@heiropen = <HEIROPEN>;
close(HEIROPEN);
open(HEIROPEN, "> $module_config_directory/heiropen.$in{'id'}");
print HEIROPEN grep { $_ ne "$in{'what'}\n" } @heiropen;
close(HEIROPEN);
&redirect("edit_host.cgi?id=$in{'id'}#$in{'what'}");

  07070100061ebf000081e40000000000000002000000013d1fe2e6000000d0000000200000000000000000000000000000002400000003reloc/cluster-software/closeall.cgi   #!/usr/local/bin/perl
# closeall.cgi
# Empty the open list

require './cluster-software-lib.pl';
&ReadParse();
unlink("$module_config_directory/heiropen.$in{'id'}");
&redirect("edit_host.cgi?id=$in{'id'}");

07070100061ee3000081a40000000000000002000000013d1fe2e6000007b1000000200000000000000000000000000000002f00000003reloc/cluster-software/cluster-software-lib.pl    # cluster-software-lib.pl
# common functions for installing packages across a cluster

do '../web-lib.pl';
&init_config();
&foreign_require("servers", "servers-lib.pl");

# list_software_hosts()
# Returns a list of all hosts whose software is being managed by this module
sub list_software_hosts
{
local @rv;
local $hdir = "$module_config_directory/hosts";
opendir(DIR, $hdir);
foreach $h (readdir(DIR)) {
	next if ($h =~ /\.host$/ || $h eq '.' || $h eq '..');
	local %host = ( 'id', $h );
	opendir(PDIR, "$hdir/$h") || next;
	foreach $p (readdir(PDIR)) {
		next if ($p eq "." || $p eq "..");
		local %pkg;
		&read_file("$hdir/$h/$p", \%pkg);
		push(@{$host{'packages'}}, \%pkg);
		}
	closedir(PDIR);
	&read_file("$hdir/$h.host", \%host);
	push(@rv, \%host);
	}
closedir(DIR);
return @rv;
}

# save_software_host(&host)
# Add or update a managed host with it's package list
sub save_software_host
{
local $hdir = "$module_config_directory/hosts";
mkdir($hdir, 0700);
if (-d "$hdir/$_[0]->{'id'}") {
	opendir(DIR, "$hdir/$_[0]->{'id'}");
	foreach $f (readdir(DIR)) {
		unlink("$hdir/$_[0]->{'id'}/$f");
		}
	closedir(DIR);
	}
else {
	mkdir("$hdir/$_[0]->{'id'}", 0700);
	}
foreach $p (@{$_[0]->{'packages'}}) {
	&write_file("$hdir/$_[0]->{'id'}/$p->{'name'}", $p);
	}
local %h = %{$_[0]};
delete($h{'packages'});
&write_file("$hdir/$_[0]->{'id'}.host", \%h);
}

# delete_software_host(&host)
sub delete_software_host
{
unlink("$module_config_directory/hosts/$_[0]->{'id'}.host");
system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
}

# list_servers()
# Returns a list of all servers from the webmin servers module that can be
# managed, plus this server
sub list_servers
{
local @servers = &foreign_call("servers", "list_servers");
return ( { 'id' => 0, 'desc' => $text{'this_server'}, 'type' => 'unknown' },
	 grep { $_->{'user'} } @servers );
}

# server_name(&server)
sub server_name
{
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
}

1;

   07070100061ee4000081a40000000000000002000000013d1fe2e60000000c000000200000000000000000000000000000001e00000003reloc/cluster-software/config sort_mode=0
07070100061ee5000081a40000000000000002000000013d1fe2e600000033000000200000000000000000000000000000002300000003reloc/cluster-software/config.info    sort_mode=Sort hosts by,1,1-Hostname,0-Order added
 07070100061ee6000081a40000000000000002000000013d1fe2e600000041000000200000000000000000000000000000002600000003reloc/cluster-software/config.info.ca sort_mode=Ordena els hosts per,1,1-Nom de host,0-Ordre d'addició
   07070100061ee7000081e40000000000000002000000013d1fe2e600000104000000200000000000000000000000000000002700000003reloc/cluster-software/delete_host.cgi    #!/usr/local/bin/perl
# delete_host.cgi
# Remove a managed host from the list

require './cluster-software-lib.pl';
&ReadParse();
@hosts = &list_software_hosts();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
&delete_software_host($host);
&redirect("");

07070100061ee8000081e40000000000000002000000013d1fe2e600000d8e000000200000000000000000000000000000002700000003reloc/cluster-software/delete_pack.cgi    #!/usr/local/bin/perl
# delete_pack.cgi
# Ask if the user wants to delete a package, and if so do it

require './cluster-software-lib.pl';
&foreign_require("software", "software-lib.pl");
&ReadParse();

@servers = &list_servers();
@hosts = &list_software_hosts();
if ($in{'server'} < 0) {
	# Find servers that have the package
	foreach $h (@hosts) {
		foreach $p (@{$h->{'packages'}}) {
			if ($p->{'name'} eq $in{'package'}) {
				local ($s) = grep { $_->{'id'} == $h->{'id'} }
						  @servers;
				push(@got, $s);
				$gotmap{$s} = $h;
				$best = $s if (!$s->{'id'});
				last;
				}
			}
		}
	$s = $best ? $best : $got[0];
	}
else {
	($s) = grep { $_->{'id'} == $in{'server'} } @servers;
	($h) = grep { $_->{'id'} == $in{'server'} } @hosts;
	@got = ( $s );
	$gotmap{$s} = $h;
	}
&remote_foreign_require($s->{'host'}, "software", "software-lib.pl");

# Setup error handler for down hosts
sub del_error
{
$del_error_msg = join("", @_);
}
&remote_error_setup(\&del_error);

&header($text{'delete_title'}, "", "delete_pack");
print "<hr>\n";
if ($in{'sure'}) {
	# do the deletion in separate processes
	print "<br><b>",&text('delete_header', $in{'package'}),"</b><p>\n";
	$p = 0;
	foreach $g (@got) {
		local ($rh = "READ$p", $wh = "WRITE$p");
		pipe($rh, $wh);
		if (!fork()) {
			close($rh);
			&remote_foreign_require($g->{'host'}, "software",
					     "software-lib.pl") if ($s ne $g);
			local $error = &remote_foreign_call($g->{'host'},
			   "software", "delete_package", $in{'package'}, \%in);
			if ($del_error_msg) {
				print $wh &serialise_variable($del_error_msg);
				}
			elsif ($error) {
				print $wh &serialise_variable($error);
				}
			else {
				print $wh &serialise_variable("");
				}
			close($wh);
			exit;
			}
		close($wh);
		$p++;
		}

	# Read back the results
	$p = 0;
	foreach $g (@got) {
		local $rh = "READ$p";
		local $line = <$rh>;
		local $rv = &unserialise_variable($line);
		close($rh);
		local $d = $g->{'desc'} ? $g->{'desc'} : $g->{'host'};

		if ($rv) {
			print &text('delete_error', $d, $rv),"<br>\n";
			}
		else {
			print &text('delete_success', $d),"<br>\n";
			local $h = $gotmap{$g};
			local @newpacks = grep { $_->{'name'} ne $in{'package'} } @{$h->{'packages'}};
			$h->{'packages'} = \@newpacks;
			&save_software_host($h);
			}

		$p++;
		}
	print "<p><b>$text{'delete_done'}</b><p>\n";
	}
else {
	# Ask if the user is sure..
	$n = &remote_foreign_call($s->{'host'}, "software", "check_files",
				  $in{'package'});
	$files = &remote_eval($s->{'host'}, "software", "\\%files");
	$sz = 0;
	for($i=0; $i<$n; $i++) {
		if ($files->{$i,'type'} == 0) { $sz += $files->{$i,'size'}; }
		}
	print "<center>\n";
	if ($in{'server'} < 0) {
		print &text('delete_rusure', "<b>$in{'package'}</b>", $n, $sz),"<br>\n";
		}
	else {
		print &text('delete_rusure2', "<b>$in{'package'}</b>", $n, $sz,
			    $s->{'desc'} ? $s->{'desc'} : $s->{'host'}),"<br>\n";
		}
	print "<form action=delete_pack.cgi>\n";
	print "<input type=hidden name=package value=\"$in{'package'}\">\n";
	print "<input type=hidden name=server value=\"$in{'server'}\">\n";
	print "<input type=hidden name=sure value=1>\n";
	print "<input type=hidden name=search value=\"$in{'search'}\">\n";
	print "<input type=submit value=\"$text{'delete_ok'}\"><p>\n";
	if (defined(&software::delete_options)) {
		&foreign_call("software", "delete_options", $p);
		}
	print "</center></form>\n";
	}

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

  07070100061ee9000081e40000000000000002000000013d1fe2e60000154d000000200000000000000000000000000000002600000003reloc/cluster-software/do_install.cgi #!/usr/local/bin/perl
# do_install.cgi
# Install some package on all hosts, in parallel. If the package was
# downloaded from a URL, have the hosts do the same - otherwise, transfer
# it to each.

require './cluster-software-lib.pl';
&ReadParse();
&foreign_require("software", "software-lib.pl");
@packages = &foreign_call("software", "file_packages", $in{'file'});
foreach $p (@packages) {
	local ($n, $d) = split(/\s+/, $p, 2);
	push(@names, $n); push(@descs, $d);
	}
-r $in{'file'} || &error($text{'do_edeleted'});
&header($text{'do_title'}, "");
print "<hr>\n";

# Setup error handler for down hosts
sub inst_error
{
$inst_error_msg = join("", @_);
}
&remote_error_setup(\&inst_error);

@hosts = &list_software_hosts();
@servers = &list_servers();
if ($in{'server'} != -1) {
	@hosts = grep { $_->{'id'} == $in{'server'} } @hosts;
	local ($s) = grep { $_->{'id'} == $hosts[0]->{'id'} } @servers;
	print "<b>",&text('do_header2', join(" ", @names),
		  $s->{'desc'} ? $s->{'desc'} : $s->{'host'}),"</b><p>\n";
	}
else {
	print "<b>",&text('do_header', join(" ", @names)),"</b><p>\n";
	}

$p = 0;
foreach $h (@hosts) {
	# Install on this host
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};

	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	select($wh); $| = 1; select(STDOUT);
	if (!fork()) {
		# Do the install in a subprocess
		close($rh);

		&remote_foreign_require($s->{'host'}, "software",
					"software-lib.pl");
		if ($inst_error_msg) {
			# Failed to contact host ..
			print $wh &serialise_variable([ $inst_error_msg ]);
			exit;
			}
		local $rfile;
		local $need_unlink = 1;
		if (!$s->{'id'}) {
			# This host, so we already have the file
			$rfile = $in{'file'};
			$need_unlink = 0;
			}
		elsif ($in{'source'} == 0) {
			# Is the file the same on remote (like if we have NFS)
			local @st = stat($in{'file'});
			local $rst = &remote_eval($s->{'host'}, "software",
						  "[ stat('$in{'file'}') ]");
			local @rst = @$rst;
			if (@st && @rst && $st[7] == $rst[7] &&
			    $st[9] == $rst[9]) {
				# File is the same! No need to download
				$rfile = $in{'file'};
				$need_unlink = 0;
				}
			else {
				# Need to copy the file across :(
				$rfile = &remote_write(
					$s->{'host'}, $in{'file'});
				}
			}
		elsif ($in{'source'} == 2 && $in{'down'}) {
			# Ask the remote server to download the file
			$rfile = &remote_eval($s->{'host'}, "software",
					      '&tempname()');
			if ($in{'ftpfile'}) {
				&remote_foreign_call($s->{'host'}, "software",
				    "ftp_download", $in{'host'}, $in{'ftpfile'},
				    $rfile);
				}
			else {
				&remote_foreign_call($s->{'host'}, "software",
				    "http_download", $in{'host'}, $in{'port'},
				    $in{'page'}, $rfile);
				}
			}
		else {
			# Need to copy the file across :(
			$rfile = &remote_write($s->{'host'}, $in{'file'});
			}

		# Do the install ..
		local @rv;
		for($i=0; $i<@names; $i++) {
			local $error = &remote_foreign_call($s->{'host'},
					"software", "install_package",
					$rfile, $names[$i], \%in);
			if ($error) {
				push(@rv, $error);
				}
			else {
				# Success .. get the package details
				push(@rv, [ &remote_foreign_call($s->{'host'},
				    "software", "package_info", $names[$i]) ] );
				}
			}
		&remote_eval($s->{'host'}, "software", "unlink('$rfile')")
			if ($need_unlink);
		print $wh &serialise_variable(\@rv);
		close($wh);
		exit;
		}
	close($wh);
	$p++;
	}

# Get back all the results
$p = 0;
foreach $h (@hosts) {
	local $rh = "READ$p";
	local $line = <$rh>;
	close($rh);
	local $rv = &unserialise_variable($line);

	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};

	if (!$line) {
		print &text('do_failed', $d, "Unknown reason"),"<br>\n";
		}
	else {
		$i=0;
		foreach $r (@$rv) {
			if (ref($r)) {
				# Install went ok!
				print &text('do_success', $d),"<br>\n";
				$pinfo[$i] = $r if (!$pinfo[$i]);
				if (&indexof($names[$i],
					     @{$h->{'packages'}}) < 0) {
					push(@{$h->{'packages'}},
					     { 'name' => $names[$i],
					       'desc' => $descs[$i],
					       'class' => $pinfo[$i]->[1] });
					&save_software_host($h);
					}
				}
			else {
				# Failed for some reason..
				print &text('do_failed', $d, $r),"<br>\n";
				}
			$i++;
			
			}
		}
	$p++;
	}

unlink($in{'file'}) if ($in{'need_unlink'});
print "<p><b>$text{'do_done'}</b><p>\n";

for($i=0; $i<@names; $i++) {
	next if (!$pinfo[$i]);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'do_details'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td valign=top width=20%><b>$text{'do_desc'}</b></td>\n";
	print "<td colspan=3><pre>$pinfo[$i]->[2]</pre></td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_pack'}</b></td> <td>$pinfo[$i]->[0]</td>\n";
	print "<td width=20%><b>$text{'do_class'}</b></td> <td>",
		$pinfo[$i]->[1] ? $pinfo[$i]->[1] : $text{'do_none'},"</td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_ver'}</b></td> <td>$pinfo[$i]->[4]</td>\n";
	print "<td width=20%><b>$text{'do_vend'}</b></td> <td>$pinfo[$i]->[5]</td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_arch'}</b></td> <td>$pinfo[$i]->[3]</td>\n";
	print "<td width=20%><b>$text{'do_inst'}</b></td> <td>$pinfo[$i]->[6]</td> </tr>\n";
	print "</table></td></tr></table><p>\n";
	}

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

   07070100061eea000081e40000000000000002000000013d1fe2e600000e6f000000200000000000000000000000000000002d00000003reloc/cluster-software/do_install_serial.cgi  #!/usr/local/bin/perl
# do_install.cgi
# Install some package on all hosts, in parallel. If the package was
# downloaded from a URL, have the hosts do the same - otherwise, transfer
# it to each.

require './cluster-software-lib.pl';
&ReadParse();
&foreign_require("software", "software-lib.pl");
@packages = &foreign_call("software", "file_packages", $in{'file'});
foreach $p (@packages) {
	local ($n, $d) = split(/\s+/, $p, 2);
	push(@names, $n); push(@descs, $d);
	}
-r $in{'file'} || &error($text{'do_edeleted'});
&header($text{'do_title'}, "");
print "<hr>\n";
print "<b>",&text('do_header', join(" ", @names)),"</b><p>\n";

@hosts = &list_software_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	# Check if already installed
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	local ($a) = grep { &indexof($_->{'name'}, @names) >= 0 }
			  @{$h->{'packages'}};
	#if ($a) {
	#	print &text('do_already', $d),"<br>\n";
	#	next;
	#	}

	&remote_foreign_require($s->{'host'}, "software", "software-lib.pl");
	local $rfile;
	local $need_unlink = 1;
	if (!$s->{'id'}) {
		# This host, so we already have the file
		$rfile = $in{'file'};
		$need_unlink = 0;
		}
	elsif ($in{'source'} == 2 && $in{'down'}) {
		# Ask the remote server to download the file
		$rfile = &remote_eval($s->{'host'}, "software", '&tempname()');
		if ($in{'ftpfile'}) {
			&remote_foreign_call($s->{'host'}, "software",
				"ftp_download", $in{'host'}, $in{'ftpfile'},
				$rfile);
			}
		else {
			&remote_foreign_call($s->{'host'}, "software",
				"http_download", $in{'host'}, $in{'port'},
				$in{'page'}, $rfile);
			}
		}
	else {
		# Need to copy the file across :(
		$rfile = &remote_write($s->{'host'}, $in{'file'});
		}

	# Do the install ..
	for($i=0; $i<@names; $i++) {
		local $error = &remote_foreign_call($s->{'host'}, "software",
				    "install_package", $rfile, $names[$i], \%in);
		if ($error) {
			print &text('do_failed', $d, $error),"<br>\n";
			}
		else {
			# Success .. get the package details and add to list
			print &text('do_success', $d),"<br>\n";
			if (!$pinfo[$i]) {
				$pinfo[$i] = [ &remote_foreign_call($s->{'host'}, "software",
						"package_info", $names[$i]) ];
				}
			if (&indexof($names[$i], @{$h->{'packages'}}) < 0) {
				push(@{$h->{'packages'}},
				     { 'name' => $names[$i],
				       'desc' => $descs[$i],
				       'class' => $pinfo[$i]->[1] });
				&save_software_host($h);
				}
			}
		}
	&remote_eval($s->{'host'}, "software", "unlink('$rfile')") if ($need_unlink);
	}
unlink($in{'file'}) if ($in{'need_unlink'});
print "<p><b>$text{'do_done'}</b><p>\n";

for($i=0; $i<@names; $i++) {
	next if (!$pinfo[$i]);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'do_details'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td valign=top width=20%><b>$text{'do_desc'}</b></td>\n";
	print "<td colspan=3><font size=+1><pre>$pinfo[$i]->[2]</pre></font></td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_pack'}</b></td> <td>$pinfo[$i]->[0]</td>\n";
	print "<td width=20%><b>$text{'do_class'}</b></td> <td>",
		$pinfo[$i]->[1] ? $pinfo[$i]->[1] : $text{'do_none'},"</td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_ver'}</b></td> <td>$pinfo[$i]->[4]</td>\n";
	print "<td width=20%><b>$text{'do_vend'}</b></td> <td>$pinfo[$i]->[5]</td> </tr>\n";

	print "<tr> <td width=20%><b>$text{'do_arch'}</b></td> <td>$pinfo[$i]->[3]</td>\n";
	print "<td width=20%><b>$text{'do_inst'}</b></td> <td>$pinfo[$i]->[6]</td> </tr>\n";
	print "</table></td></tr></table><p>\n";
	}

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100061eeb000081e40000000000000002000000013d1fe2e600000d46000000200000000000000000000000000000002500000003reloc/cluster-software/edit_host.cgi  #!/usr/local/bin/perl
# edit_host.cgi
# Show details of a managed host, and all the packages on it

require './cluster-software-lib.pl';
&foreign_require("servers", "servers-lib.pl");
&ReadParse();
&header($text{'host_title'}, "", "edit_host");
print "<hr>\n";

@hosts = &list_software_hosts();
($host) = grep { $_->{'id'} eq $in{'id'} } @hosts;
$server = &foreign_call("servers", "get_server", $in{'id'});
@packages = @{$host->{'packages'}};

# Show host details
print "<form action=delete_host.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'host_name'}</b></td>\n";
if ($server->{'id'}) {
	printf "<td><a href='/servers/link.cgi/%s/'>%s</a></td>\n",
		$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
	}
else {
	print "<td><a href=/>$text{'this_server'}</a></td>\n";
	}

if ($server->{'id'}) {
	print "<td><b>$text{'host_type'}</b></td> <td>\n";
	foreach $t (@servers::server_types) {
		print $t->[1] if ($t->[0] eq $server->{'type'});
		}
	print "</td>\n";
	}
print "</tr>\n";

print "<tr> <td><b>$text{'host_count'}</b></td>\n";
printf "<td>%d</td>\n", scalar(@packages);

print "<td><b>$text{'host_os'}</b></td>\n";
print "<td>$host->{'real_os_type'} $host->{'real_os_version'}</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'host_delete'}'></form>\n";

# Show tree of packages
$heir{""} = "";
foreach $c (sort { $a cmp $b } &unique(map { $_->{'class'} } @packages)) {
	if (!$c) { next; }
	@w = split(/\//, $c);
	$p = join('/', @w[0..$#w-1]);
	if (!defined($heir{$p})) {
		$pp = join('/', @w[0..$#w-2]);
		$heir{$pp} .= "$p\0";
		}
	$heir{$p} .= "$c\0";
	$hasclasses++;
	}

# get the current open list
open(HEIROPEN, "$module_config_directory/heiropen.$in{'id'}");
while(<HEIROPEN>) {
	chop;
	$heiropen{$_}++;
	}
close(HEIROPEN);
$heiropen{""}++;

# traverse the heirarchy
$spacer = "&nbsp;"x3;
print "<hr>\n";
print "<h3>$text{'host_installed'}</h3>\n";
print "<table width=100%>\n";
&traverse("", 0);
print "</table>\n";
if ($hasclasses) {
	print "<a href='closeall.cgi?id=$in{'id'}'>$text{'host_close'}</a> $spacer\n";
	print "<a href='openall.cgi?id=$in{'id'}'>$text{'host_open'}</a><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub traverse
{
local($s, $act, $i);
print "<tr> <td>", $spacer x $_[1];
if ($_[0]) {
	print "<a name=\"$_[0]\"></a>\n";
	$act = $heiropen{$_[0]} ? "close" : "open";
	print "<a href=\"$act.cgi?id=$in{'id'}&what=",&urlize($_[0]),"\">";
	$_[0] =~ /([^\/]+)$/;
	print "<img border=0 src=images/$act.gif></a>&nbsp; $1</td>\n",
	}
else { print "<img src=images/close.gif> <i>$text{'host_all'}</i></td>\n"; }
print "<td><br></td> </tr>\n";
if ($heiropen{$_[0]}) {
	# print sub-folders followed by packages
	foreach $i (@packages) {
		if ($i->{'class'} eq $_[0]) {
			print "<tr> <td>", $spacer x ($_[1]+1);
			print "<img border=0 src=images/pack.gif></a>&nbsp;\n";
			print "<a href=\"edit_pack.cgi?package=",
			     &urlize($i->{'name'}),"\">$i->{'name'}</a></td>\n";
			print "<td>$i->{'desc'}</td>\n";
			print "</tr>\n";
			}
		}
	foreach $s (&unique(split(/\0+/, $heir{$_[0]}))) {
		&traverse($s, $_[1]+1);
		}
	}
}

  07070100061eec000081e40000000000000002000000013d1fe2e600000cad000000200000000000000000000000000000002500000003reloc/cluster-software/edit_pack.cgi  #!/usr/local/bin/perl
# edit_pack.cgi
# Display details of a package

require './cluster-software-lib.pl';
&ReadParse();
&header($text{'edit_title'}, "", "edit_pack");
print "<hr>\n";

# Find all hosts with the package
@hosts = &list_software_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	foreach $p (@{$h->{'packages'}}) {
		if ($p->{'name'} eq $in{'package'}) {
			local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
			push(@got, $s);
			$pkg = $p if (!$pkg);
			$checkon = $s if (!$s->{'id'});
			}
		}
	}

# Get the details from this host, or the first in the list
$checkon = $got[0] if (!$checkon);
&remote_foreign_require($checkon->{'host'}, "software", "software-lib.pl");
@pinfo = &remote_foreign_call($checkon->{'host'}, "software", "package_info",
			      $in{'package'});

# Show package details
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('edit_details', $checkon->{'desc'} ?
	$checkon->{'desc'} : "<tt>$checkon->{'host'}</tt>"),"</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top width=20%><b>$text{'edit_desc'}</b></td>\n";
print "<td colspan=3><pre>$pinfo[2]</pre></td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_pack'}</b></td> <td>$pinfo[0]</td>\n";
print "<td width=20%><b>$text{'edit_class'}</b></td> <td>",
      $pinfo[1] ? $pinfo[1] : $text{'edit_none'},"</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_ver'}</b></td> <td>$pinfo[4]</td>\n";
print "<td width=20%><b>$text{'edit_vend'}</b></td> <td>$pinfo[5]</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_arch'}</b></td> <td>$pinfo[3]</td>\n";
print "<td width=20%><b>$text{'edit_inst'}</b></td> <td>$pinfo[6]</td> </tr>\n";
print "</table></td></tr></table><p>\n";

print "<table width=100%> <tr>\n";
print "<form action=list_pack.cgi>\n";
print "<input type=hidden name=package value=\"$pinfo[0]\">\n";
print "<input type=hidden name=search value=\"$in{'search'}\">\n";
print "<td align=left><input type=submit value=\"$text{'edit_list'}\">\n";
print "<select name=server>\n";
foreach $s (@got) {
	print "<option value='$s->{'id'}'>",
		$s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	}
print "</select></td>\n";
print "</form>\n";
print "<form action=delete_pack.cgi>\n";
print "<input type=hidden name=package value=\"$pinfo[0]\">\n";
print "<input type=hidden name=search value=\"$in{'search'}\">\n";
print "<td align=right>\n";
print "<input type=submit value=\"$text{'edit_uninst'}\">\n";
print "<select name=server>\n";
print "<option value=-1>$text{'edit_all'}\n";
foreach $s (@got) {
	print "<option value='$s->{'id'}'>",
		$s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	}
print "</select></td>\n";
print "</form>\n";
print "</tr> </table><p>\n";

# Show hosts with the package
print "<hr>\n";
print "<h3>$text{'edit_hosts'}</h3>\n";
@icons = map { "/servers/images/$_->{'type'}.gif" } @got;
@links = map { "edit_host.cgi?id=$_->{'id'}" } @got;
@titles = map { $_->{'desc'} ? $_->{'desc'}
			     : "$_->{'host'}:$_->{'port'}" } @got;
&icons_table(\@links, \@titles, \@icons);

&remote_finished();
print "<hr>\n";
if ($in{'search'}) {
	&footer("search.cgi?search=$in{'search'}", $text{'search_return'});
	}
else {
	&footer("", $text{'index_return'});
	}


   07070100063546000041ed0000000000000001000000023d1ff9ef00000000000000200000000000000000000000000000001c00000003reloc/cluster-software/help   07070100063547000081a40000000000000002000000013d1fe2e600000095000000200000000000000000000000000000003000000003reloc/cluster-software/help/delete_pack.ca.html   <header>Supressió de Paquet</header>

Aquesta pàgina permet confirmar la supressió d'un paquet abans que s'elimini
d'un o més servidors.
<p>

<hr>


   07070100063548000081a40000000000000002000000013d1fe2e600000096000000200000000000000000000000000000002d00000003reloc/cluster-software/help/delete_pack.html  <header>Delete Package</header>

This page allows you to confirm the deletion of a package before it is removed
from one or more servers.  <p>

<hr>

  07070100063549000081a40000000000000002000000013d1fe2e6000001df000000200000000000000000000000000000002e00000003reloc/cluster-software/help/edit_host.ca.html <header>Servidor Gestionat</header>

Aquesta pàgina mostra els detalls d'un dels servidors els paquets de
programari del qual són gestionats per aquest mòdul, i un arbre de paquets
instal·lats en aquest servidor. Pots expandir l'arbre fent clic sobre
les icones de les carpetes, o a través dels detalls d'un paquet fent clic
al seu enllaç de l'arbre.
<p>

Per eliminar aquest servidor de la llista de gestió, fes clic sobre el
botó de sota dels detalls del servidor.
<p>

<hr>


 0707010006354a000081a40000000000000002000000013d1fe2e60000019f000000200000000000000000000000000000002b00000003reloc/cluster-software/help/edit_host.html    <header>Managed Server</header>

This page shows the details of one of the servers whose software packages
are managed by this module, and a tree of packages installed on the server.
You can expand the tree by clicking on the folder icons, or via the details
of a package by clicking on its link in the tree. <p>

To remove this server from the managed list, click on the button below
the server details. <p>
<hr>

 0707010006354b000081a40000000000000002000000013d1fe2e600000249000000200000000000000000000000000000002e00000003reloc/cluster-software/help/edit_pack.ca.html <header>Edició de Paquet</header>

La secció superior d'aquesta pàgina mostra els detalls d'un paquet que
està instal·lat en un o més hosts gestionats. En el cas d'un paquet que
és a més d'un servidor, la descripció completa i altres detalls es prendran
del primer servidor llistat al peu de la pàgina.
<p>

Sota els detalls del paquet hi ha botons per llistar els fitxers que formen
el paquet, i per desinstal·lar el paquet d'un sol servidor o bé de tots.
Al peu, hi ha una taula d'icones, una per cadascun dels servidors dels
quals se sap que tenen instal·lat el paquet.
<p>

<hr>


   0707010006354c000081a40000000000000002000000013d1fe2e60000024f000000200000000000000000000000000000002b00000003reloc/cluster-software/help/edit_pack.html    <header>Edit Package</header>

The top section of this page shows the details of a package that is installed
on one or more managed hosts. In the case of a package that is on multiple
servers, the full description and other details will be taken from the first
servers listed at the bottom of the page. <p>

Below the package details are buttons for listing the files that make
up the package, and for uninstalling the package from either a single
server or all servers. At the bottom is a table of icons, one for each
of the servers that the package is known to be installed on. <p>

<hr>

 0707010006354d000081a40000000000000002000000013d1fe2e60000010d000000200000000000000000000000000000003100000003reloc/cluster-software/help/install_pack.ca.html  <header>Instal·lació de Paquet</header>

Aquesta pàgina mostra el nom i la descripció d'un paquet a instal·lar
i entrades per a les opcions d'instal·lació. Quan facis clic sobre el
botó Instal·la-ho, el paquet s'instal·larà a tots els servidors gestionats.
<p>

<hr>


   0707010006354e000081a40000000000000002000000013d1fe2e6000000ed000000200000000000000000000000000000002e00000003reloc/cluster-software/help/install_pack.html <header>Install Package</header>

This page shows the name and description of a package to be installed,
and inputs for install options. When the Install button is clicked, the
package will be installed on all managed servers. <p>
<hr>

   0707010006354f000081a40000000000000002000000013d1fe2e6000008cd000000200000000000000000000000000000002a00000003reloc/cluster-software/help/intro.ca.html <header>Paquets de Programari de <i>Cluster</i></header>

Aquest mòdul de Webmin permet gestionar el programari instal·lat a
múltiples servidors d'un <i>cluster</i> des d'una sola interfície.
És similar al mòdul de Paquets de Programari, però amb la capacitat
d'executar la majoria de funcions (com la instal·lació, recerca i
supressió de paquets) a més d'un servidor Webmin amb una sola operació.
<p>

A la part de dalt de la pàgina principal, sota la capçalera de Servidors
Gestionats, hi ha la llista dels altres servidors Webmin el programari
dels quals està gestionat per aquest mòdul. Per afegir un servidor a
aquesta llista, primer l'has d'afegir al mòdul de Servidors Webmin,
amb un nom d'usuari i contrasenya especificats per entrar al Webmin
d'aquest servidor. Llavors, pots seleccionar el servidor de la llista
del costat del botó Afegeix Servidor.
<p>

Quan s'afegeix un servidor, el mòdul s'assegurarà que està fent servir
el mateix sistema de gestió de paquets que aquest servidor (com ara RPM
o Debian), i després descarregarà una llista de tots els paquets instal·lats
per posar-la en un cau local.
<p>
Un servidor que apareixerà sempre a la llista de disponibles és "aquest
servidor"; de manera que puguis gestionar els paquets localment i a més
d'un servidor remot des d'una sola interfície.
<p>

Un cop hi hagi almenys una icona sota els Servidors Gestionats, podràs
fer servir el formulari Paquets Instal·lats per buscar paquets a tots els
servidors, o fer clic al botó Refresca les llistes de paquets per tornar
a recarregar la llista de paquets de tots els servidors, si hi ha paquets
que han estat afegits o suprimits a través d'algun altre mòdul o mètode.
<p>

Al peu de la pàgina hi ha un formulari per instal·lar paquets nous a tots
els servidors gestionats. Pots seleccionar d'instal·lar-los des d'un fitxer
d'aquest servidor, des d'un fitxer pujat o des d'un fitxer descarregat
a través de HTTP o FTP des d'algun lloc web. En instal·lar des d'un fitxer
descarregat, pots triar si cada servidor gestionat s'ha de descarregar una
còpia del paquet del lloc original, o ha de rebre'n una copia d'aquest
servidor. La primera opció serà més ràpida si el lloc web on resideix el
paquet està dins de la teva xarxa local.
<p>

<hr>


   07070100063550000081a40000000000000002000000013d1fe2e6000007a5000000200000000000000000000000000000002700000003reloc/cluster-software/help/intro.html    <header>Cluster Software Packages</header>

This Webmin module allows you to manage the software installed on
multiple servers in a cluster from the one interface. It is similar to
the Software Packages module, but with the ability to perform most
functions (like installation, querying and deletion of packages) on
many Webmin servers in one operation. <p>

The top part of the main page under the Managed Servers heading lists
other Webmin servers whose software is being managed by this module. To
add a server to this list, you must first add it to the Webmin Servers
module, with a username and password specified to login to Webmin on
that server. You can then select the server from the list next to the
Add Server button. <p>

When a server is added, the module will check to make sure it is using
the same package management system as this server (such as RPM or Debian),
and then download a list of all installed packages for caching locally. <p>
One server that will always appear on the list of those available to
add is 'this server', so that you can manage packages locally and on
multiple remote servers from the one interface. <p>

Once there is at least one icon under Managed Servers, you can use the
Installed Packages form to search for packages on all servers, or click
the Refresh package lists button to re-fetch the package list from all
servers if packages have been added or deleted via some other module
or method. <p>

At the bottom of the page is a form for installing new packages on
all the managed servers. You can select to install from a file on this
server, from an uploaded file or from a file downloaded via HTTP or FTP
from some other site. When installing from a downloaded file, you can
choose whether each managed server should re-download the package from
the original site, or receive a copy from this server. The former option
will be faster if the site the package is on is within your local network. <p>

<hr>

   07070100063551000081a40000000000000002000000013d1fe2e600000147000000200000000000000000000000000000002b00000003reloc/cluster-software/help/search.ca.html    <header>Recerca de Paquets</header>

Aquesta pàgina mostra una llista de paquets els noms o descripcions dels
quals coincideixen amb la paraula clau introduïda al formulari de recerca
de la pàgina principal. Es comproven les llistes de paquets de tots els
servidors gestionats per a la seva inclusió als resultats.
<p>

<hr>


 07070100063552000081a40000000000000002000000013d1fe2e600000106000000200000000000000000000000000000002800000003reloc/cluster-software/help/search.html   <header>Package Search</header>

This page displays a list of packages whose name or description matches
the keyword entered in the search form on the main page. The package lists
from all managed servers will be checked for inclusion in the results. <p>

<hr>

  07070100067a9e000041ed0000000000000001000000023d1ff9ef00000000000000200000000000000000000000000000001e00000003reloc/cluster-software/images 07070100067aa0000081a40000000000000002000000013d1fe2e600000070000000200000000000000000000000000000002800000003reloc/cluster-software/images/close.gif   GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       A„©qí„œb¼k"•»† phÛyZâ:V
SƒûÆñÐ™všï0žñ¡€5¡¬g<–’²%“ã|v¸ªõŠõh ;07070100067aa1000081a40000000000000002000000013d1fe2e60000019b000000200000000000000000000000000000002700000003reloc/cluster-software/images/icon.gif    GIF87a0 0 Â  ÿÿÿÌÌÌ   ÿ  ÌÌÿfff      ,    0 0  þºÜþ.ÈI)¼øIÁ»—JW$Å5›§‚€Ð–pu2©*!ïÁ¼ÔœÁ×Òñ`>pÀ¼åG¤‹Ö
„B(ñ%Àëð9ávMá¬‘¼é½¤Áˆ]Õ¾ËñyÑn¾Ï(r\}o>ˆˆ„Fw)#{eŽ…<’‚”5xvoˆ‰¢™[–§ ~W6©†«­¨•¬³•¯gA¸­ºžwI³|FP»<ÃSO6ÀuËƒÅ+ÐÂ)ÓÔ7—ÊØÚCÜ;ÒÙÚÁoäåÅçgé²¹ÖèÞ¾æ×UàŽíóïàÑÞQàÉ#A-Œ8Ô€*X§
M@Ü–ÏYC1f&R,Vi £G‡,aB²¤É“(MþÒeÅ	µŽ*:†Ì¨QK³˜pÎÔÇ°˜d^txÄ'NµHš“i”%úu :õ#¤]8ÊôcV>Š2ªúÑ* ¥bdÀöª„¯¢X¬Õ ."		  ; 07070100067aa2000081a40000000000000002000000013d1fe2e60000006b000000200000000000000000000000000000002700000003reloc/cluster-software/images/open.gif    GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       <„©qí„œb¼k"•»† phÛyvÊRªÙ¢oÜÎ´\Þx¦§yïú9Â¡mX)U•ó	B=ÔG ; 07070100067aa3000081a40000000000000002000000013d1fe2e60000007b000000200000000000000000000000000000002700000003reloc/cluster-software/images/pack.gif    GIF89a  ¡  ÿÿÿ   ÌÌÌfff!ù    ,       L„¢Ëj”½(S­7ÎMuÐZXV:'™
â¡µî·/*ÏÂ÷~O†Ä¢/8D“Àrð46=Ï(ñèBµRr»Üziá.R  ; 07070100061eed000081e40000000000000002000000013d1fe2e600000cb6000000200000000000000000000000000000002100000003reloc/cluster-software/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display hosts on which software packages are being managed, a form for
# finding existing packages and a form for installing more

require './cluster-software-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

# Display hosts on which software will be installed
print "<h3>$text{'index_hosts'}</h3>\n";
@servers = &list_servers();
@hosts = &list_software_hosts();
if ($config{'sort_mode'}) {
	@hosts = sort { my ($as) = grep { $_->{'id'} == $a->{'id'} } @servers;
			my ($bs) = grep { $_->{'id'} == $b->{'id'} } @servers;
			$as->{'host'} cmp $bs->{'host'} } @hosts;
	}
$formno = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	next if (!$s);
	push(@titles, $s->{'desc'} ? $s->{'desc'}
				   : "$s->{'host'}:$s->{'port'}");
	push(@links, "edit_host.cgi?id=$h->{'id'}");
	push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
	push(@installed, @{$h->{'packages'}});
	$gothost{$h->{'id'}}++;
	}
if (@links) {
	&icons_table(\@links, \@titles, \@icons);
	}
else {
	print "<b>$text{'index_nohosts'}</b><p>\n";
	}
$formno++;
print "<form action=add.cgi>\n";
print "<table width=100%><tr>\n";
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
if (@addservers) {
	print "<td><input type=submit name=add value='$text{'index_add'}'>\n";
	print "<select name=server>\n";
	foreach $s (@addservers) {
		print "<option value=$s->{'id'}>",
			$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"\n";
		}
	print "</select></td>\n";
	}
@groups = &servers::list_all_groups(\@servers);
if (@groups) {
	print "<td align=right><input type=submit name=gadd ",
	      "value='$text{'index_gadd'}'>\n";
	print "<select name=group>\n";
	foreach $g (@groups) {
		print "<option>$g->{'name'}\n";
		}
	print "</select></td>\n";
	}
print "</tr></table></form>\n";

if (@hosts) {
	# Display search form
	print "<hr>\n";
	print "<h3>$text{'index_installed'}</h3>\n";
	print "<table cellpadding=0 cellspacing=0 width=100%><tr><td>\n";
	$formno += 2;
	print "<form action=search.cgi>\n";
	print "<input type=submit value=\"$text{'index_search'}\">\n";
	print "<input name=search size=30>\n";
	print "</form></td>\n";

	print "<td align=right><form action=refresh.cgi>\n";
	print "<input type=submit value=\"$text{'index_refresh'}\">\n";
	print "</form></td> </tr></table>\n";

	# Display cross-cluster install form
	print "<hr>\n";
	print "<h3>$text{'index_install'}</h3>\n";
	print "$text{'index_installmsg'}<p>\n";
	print "<form action=install_pack.cgi method=post ",
	      "enctype=multipart/form-data>\n";
	print "<input type=radio name=source value=0 checked> $text{'index_local'}\n";
	print "<input name=local size=50>\n";
	print &file_chooser_button("local", 0, $formno); print "<br>\n";
	print "<input type=radio name=source value=1> $text{'index_uploaded'}\n";
	print "<input type=file name=upload size=20><br>\n";
	print "<input type=radio name=source value=2> $text{'index_ftp'}\n";
	print "<input name=url size=50><br>\n";
	print "&nbsp;" x 5,"<input type=checkbox name=down value=1> ",
	      "$text{'index_down'}<br>\n";

	print "<input type=submit value=\"$text{'index_installok'}\">\n";
	print "</form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

  07070100061eee000081e40000000000000002000000013d1fe2e600001099000000200000000000000000000000000000002800000003reloc/cluster-software/install_pack.cgi   #!/usr/local/bin/perl
# install_pack.cgi
# Install a package from some source

require './cluster-software-lib.pl';
&foreign_require("software", "software-lib.pl");
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }
&error_setup($text{'install_err'});

$| = 1;
$theme_no_table = 1 if ($in{source} == 2);
&header($text{'install_title'}, "", "install_pack");
print "<hr>\n";

if ($in{source} == 0) {
	# installing from local file (or maybe directory)
	if (!$in{'local'})
		{ &install_error($text{'install_elocal'}); }
	if (!-r $in{'local'})
		{ &install_error(&text('install_elocal2', $in{'local'})); }
	$source = $in{'local'};
	$pfile = $in{'local'};
	$need_unlink = 0;
	}
elsif ($in{source} == 1) {
	# installing from upload .. store file in temp location
	if ($no_upload) {
		&install_error($text{'install_eupload'});
		}
	$in{'upload_filename'} =~ /([^\/\\]+$)/;
	$pfile = &tempname("$1");
	open(PFILE, "> $pfile");
	print PFILE $in{'upload'};
	close(PFILE);
	$source = $in{'upload_filename'};
	$need_unlink = 1;
	}
elsif ($in{source} == 2) {
	# installing from URL.. store downloaded file in temp location
	$in{'url'} =~ /\/([^\/]+)\/*$/;
	$pfile = &tempname("$1");
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		# Make a HTTP request
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $pfile, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?(\/.*)$/) {
		$host = $1; $file = $3;
		&ftp_download($host, $file, $pfile, \$error,
			      \&progress_callback);
		}
	else { &install_error(&text('install_eurl', $in{'url'})); }
	&install_error($error) if ($error);
	$source = $in{'url'};
	$need_unlink = 1;
	}

# Check validity
$ps = &foreign_call("software", "package_system");
if (!&foreign_call("software", "is_package", $pfile)) {
	if (-d $pfile) {
		&install_error(&text('install_edir', $ps));
		}
	else {
		# attempt to uncompress
		local $unc = &foreign_call("software", "uncompress_if_needed",
					   $pfile, $need_unlink);
		if ($unc ne $pfile) {
			# uncompressed ok..
			if (!&foreign_call("software", "is_package", $unc)) {
				unlink($unc);
				&install_error(&text('install_ezip', $ps));
				}
			$pfile = $unc;
			}
		else {
			# uncompress failed.. give up
			unlink($pfile) if ($need_unlink);
			&install_error(&text('install_efile', $ps));
			}
		}
	}

# ask for package to install and install options
@rv = &foreign_call("software", "file_packages", $pfile);

print "<form action=do_install.cgi>\n";
print "<input type=hidden name=file value=\"$pfile\">\n";
print "<input type=hidden name=need_unlink value=\"$need_unlink\">\n";
print "<input type=hidden name=source value='$in{'source'}'>\n";
print "<input type=hidden name=host value='$host'>\n";
print "<input type=hidden name=page value='$page'>\n";
print "<input type=hidden name=port value='$port'>\n";
print "<input type=hidden name=ftpfile value='$file'>\n";
print "<input type=hidden name=down value='$in{'down'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'install_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td valign=top><b>$text{'install_packs'}</b></td>\n";
print $software::wide_install_options ? "<td colspan=3>\n" : "<td>\n";
foreach (@rv) {
	($p, $d) = split(/\s+/, $_, 2);
	print "$d ($p)<br>\n";
	push(@pn, $p);
	}
print "</td> </tr>\n";
&foreign_call("software", "install_options", $pfile, $p);

@hosts = &list_software_hosts();
@servers = &list_servers();
print "<tr> <td align=right><b>$text{'install_servers'}</b></td>\n";
print "<td><select name=server>\n";
print "<option value=-1>$text{'edit_all'}\n";
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	print "<option value='$s->{'id'}'>",
		$s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	}
print "</select></td> </tr>\n";

print "</table></td></tr>\n";
print "</table><p><input type=submit value=\"$text{'install_ok'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub install_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

   0707010006a7fe000041ed0000000000000001000000023d1ff9ef00000000000000200000000000000000000000000000001c00000003reloc/cluster-software/lang   0707010006a7ff000081a40000000000000002000000013d1fe2e600001078000000200000000000000000000000000000001f00000003reloc/cluster-software/lang/ca    index_title=Paquets de Programari de Cluster
index_hosts=Servidors Gestionats
index_nohosts=No s'ha registrat cap servidor Webmin per a la gestió de programari.
index_add=Afegeix servidor
index_gadd=Afegeix servidors al grup
index_installed=Paquets Instal·lats
index_search=Busca el Paquet:
index_install=Instal·la un Paquet Nou
index_installmsg=Selecciona la ubicació des de la qual s'ha d'instal·lar el nou paquet...
index_local=Des d'un fitxer local
index_uploaded=Des d'un fitxer pujat
index_ftp=Des d'un URL FTP o HTTP
index_installok=Instal·la
index_return=a la llista de servidors
index_refresh=Refresca les llistes de paquets
index_down=Cada servidor ha de redescarregar el paquet
this_server=aquest servidor

install_err=No he pogut instal·lar el paquet
install_elocal=No has donat cap fitxer local
install_elocal2='$1' no existeix
install_eupload=EL teu fullejador no suporta puges de fitxers
install_eurl=URL '$1' incomprensible
install_edir=$1 no és a un directori vàlid
install_ezip=$1 no és un fitxer comprimit o gzip vàlid
install_efile=$1 no és un fitxer vàlid
install_title=Instal·lació de Paquet
install_header=Instal·la el paquet
install_packs=Paquet(s) a instal·lar
install_servers=Servidor(s) on s'ha d'instal·lar
install_ok=Instal·la-ho

add_title=Addició de Servidors
add_msg=Afegint $1...
add_gmsg=Afegint servidors al grup $1...
add_err=No he pogut afegir el servidor
add_gerr=No he pogut afegir el grup
add_echeck=El servidor $1 no té el mòdul de paquets de programari
add_esystem=El servidor $1 no està fent servir el mateix sistema de paquets que aquesta màquina
add_ok=He afegit $1 amb $2 paquets.

search_title=Recerca de Paquets
search_nomatch=No hi ha cap paquet que coincideixi amb $1
search_none=Cap
search_desc=Descripció
search_class=Classe
search_pack=Paquet
search_match=Paquets que coincideixen amb $1
search_return=als resultats de la recerca

host_title=Servidor Gestionat
host_header=Detalls del servidor gestionat
host_name=Nom de host
host_type=Tipus de servidor
host_delete=Elimina'l de la llista de gestió
host_installed=Paquets Instal·lats
host_open=Obre'ls tots
host_close=Tanca'ls Tots
host_all=Tots els Paquets
host_count=Paquets instal·lats
host_os=SO del Webmin

edit_title=Edició de Paquet
edit_details=Detalls del Paquet de $1
edit_desc=Descripció
edit_pack=Paquet
edit_class=Classe
edit_none=Cap
edit_ver=Versió
edit_vend=Fabricant
edit_arch=Arquitectura
edit_inst=Instal·lat
edit_list=Llista els fitxers de:
edit_uninst=Desinstal·la de:
edit_return=als detalls del paquet
edit_hosts=Instal·lat als Hosts
edit_all=&lt;tots els hosts&gt;

list_title=Fitxer de Paquet
list_files=Fitxers del Paquet $1 de $2
list_path=Camí
list_owner=Usuari
list_group=Grup
list_type=Tipus
list_size=Mida
list_status=Estat
list_ok=Bé

refresh_title=Refresc de les Llistes de Paquets
refresh_header=Tornant a demanar les llistes de paquets de tots els servidors ...
refresh_1=He refrescat $1 ($2 afegits, $3 eliminats)
refresh_2=He refrescat $1 ($2 afegits)
refresh_3=He refrescat $1 ($2 eliminats)
refresh_4=He refrescat $1 (cap canvi)
refresh_done=... fet
refresh_del=He eliminat $1 de la llista del servidor
refresh_failed=No he pogut refrescar $1: $2

delete_err=No he pogut suprimir el paquet $1
delete_epack=El paquet $1 no existeix
delete_title=Supressió de Paquets
delete_rusure=Segur que vols suprimir el paquet $1 de tots els servidors? S'esborraran definitivament un total de $2 fitxers ($3 bytes).
delete_rusure2=Segur que vols suprimir el paquet $1 de $4 ? S'esborraran definitivament un total de $2 fitxers ($3 bytes).
delete_ok=Suprimeix
delete_error=No he pogut esborrar de $1: $2
delete_success=Suprimit de $1.
delete_done=... fet
delete_header=Suprimint el paquet $1...

do_title=Instal·lació de Paquet
do_header=Instal·lant $1 a tots els hosts...
do_header2=Instal·lant $1 a $2...
do_done=... fet
do_failed=No he pogut instal·lar a $1: $2
do_success=Instal·lat a $1.
do_already=Ja està instal·lat a $1.
do_details=Detalls del Paquet
do_desc=Descripció
do_class=Classe
do_pack=Paquet
do_ver=Versió
do_vend=Fabricant
do_arch=Arquitectura
do_inst=Instal·lat
do_none=Cap
do_edeleted=El fitxer d'instal·lació ha estat esborrat - torna al mòdul i prova-ho altre cop.


0707010006a800000081a40000000000000002000000013d1fe2e600000ed7000000200000000000000000000000000000001f00000003reloc/cluster-software/lang/en    index_title=Cluster Software Packages
index_hosts=Managed Servers
index_nohosts=No Webmin servers have been registered for software management.
index_add=Add server
index_gadd=Add servers in group
index_installed=Installed Packages
index_search=Search For Package:
index_install=Install a New Package
index_installmsg=Select the location to install a new package from..
index_local=From local file
index_uploaded=From uploaded file
index_ftp=From ftp or http URL
index_installok=Install
index_return=servers list
index_refresh=Refresh package lists
index_down=Each server should re-download package
this_server=this server

install_err=Failed to install package
install_elocal=No local file given
install_elocal2='$1' does not exist
install_eupload=Your browser does not support file uploads
install_eurl=Incomprehensible URL '$1'
install_edir=Not a valid $1 directory
install_ezip=Not a valid compressed or gzipped $1 file
install_efile=Not a valid $1 file
install_title=Install Package
install_header=Install package
install_packs=Package(s) to be installed
install_servers=Server(s) to install on
install_ok=Install

add_title=Add Servers
add_msg=Adding $1 ..
add_gmsg=Adding servers in group $1 ..
add_err=Failed to add server
add_gerr=Failed to add group
add_echeck=Server $1 does not have the software packages module
add_esystem=Server $1 is not using the same package system as this machine
add_ok=Added $1 with $2 packages.

search_title=Package Search
search_nomatch=No packages matched $1
search_none=None
search_desc=Description
search_class=Class
search_pack=Package
search_match=Packages matching $1
search_return=search results

host_title=Managed Server
host_header=Software managed server details
host_name=Host name
host_type=Server type
host_delete=Remove from managed list
host_installed=Installed Packages
host_open=Open all
host_close=Close all
host_all=All Packages
host_count=Packages installed
host_os=OS from Webmin

edit_title=Edit Package
edit_details=Package Details from $1
edit_desc=Description
edit_pack=Package
edit_class=Class
edit_none=None
edit_ver=Version
edit_vend=Vendor
edit_arch=Architecture
edit_inst=Installed
edit_list=List files on:
edit_uninst=Uninstall from:
edit_return=package details
edit_hosts=Installed on Hosts
edit_all=&lt;all hosts&gt;

list_title=Package Files
list_files=Files for Package $1 on $2
list_path=Path
list_owner=Owner
list_group=Group
list_type=Type
list_size=Size
list_status=Status
list_ok=OK

refresh_title=Refresh Package Lists
refresh_header=Re-requesting package lists from all servers ..
refresh_1=Refreshed $1 (added $2 , removed $3)
refresh_2=Refreshed $1 (added $2)
refresh_3=Refreshed $1 (removed $2)
refresh_4=Refreshed $1 (no changes)
refresh_done=.. done
refresh_del=Removed $1 from server list
refresh_failed=Failed to refresh $1 : $2

delete_err=Failed to delete package $1
delete_epack=The package $1 does not exist
delete_title=Delete Package
delete_rusure=Are you sure you want to delete the package $1 from all servers ? Up to $2 files ($3 bytes) will be deleted forever.
delete_rusure2=Are you sure you want to delete the package $1 from $4 ? Up to $2 files ($3 bytes) will be deleted forever.
delete_ok=Delete
delete_error=Failed to delete from $1 : $2
delete_success=Deleted from $1.
delete_done=.. done
delete_header=Deleting package $1 ..

do_title=Install Package
do_header=Installing $1 on all hosts ..
do_header2=Installing $1 on $2 ..
do_done=.. done
do_failed=Failed to install on $1 : $2
do_success=Installed on $1.
do_already=Already installed on $1.
do_details=Package Details
do_desc=Description
do_class=Class
do_pack=Package
do_ver=Version
do_vend=Vendor
do_arch=Architecture
do_inst=Installed
do_none=None
do_edeleted=Install file has been deleted - return to the module index and try again.

 0707010006a801000081a40000000000000002000000013d1fe2e600000f41000000200000000000000000000000000000001f00000003reloc/cluster-software/lang/hu    # webmin-0.90at/cluster-software/hu
# translated by Gabor Keve <gabor.keve@orientp.hu>
#
index_title=Klaszer szoftver csomag
index_hosts=Vezérelt szerverek
index_nohosts=Nincs Webmin szerver reigsztrálva a szoftver vezérléshez.
index_add=Szerve hozzáadás
index_gadd=Szorver hozzáadás a csoporthoz
index_installed=Telepített csomagok
index_search=Keresés a csomagok közt:
index_install=Új csomag telepítése
index_installmsg=Válassza ki a helyet ahonnan telepíteni szeretné a csomagot..
index_local=Helyi file -ból
index_uploaded=Feltöltött file-ból
index_ftp=FTP-rõl vagy URL-rõl
index_installok=Telepítés
index_return=szerverek listája
index_refresh=Csomag listák frissítése
index_down=Minden szerver újratöltse a csomagot
this_server=Aktuális szerver

install_err=Nem lehet telepíteni a csomagot
install_elocal=Nem lett helyi file megadva
install_elocal2='$1' nem létezik
install_eupload=Az Ön böngészõje nem támogatja a feltöltést
install_eurl=Elérhetettelen URL '$1'
install_edir=$1 nem valós könytár
install_ezip=$1 nem valós tömörített vagy gzipped file
install_efile=$1 nem valós file
install_title=Csomag telepítése
install_header=Csomag telepítése
install_packs=Telepített csomagok
install_ok=Telepítés

add_err=Nem lehet hozzáadni a szervert
add_gerr=Nem lehet hozzáadni a csoportot
add_echeck=A(z) $1 szervernek nincs szoftver csomag modulja
add_esystem=A(z) $1 szerver nem ugyanazt a csomagrendszert használja mint ez a gép.

search_title=Csomag keresés
search_nomatch=Nincs ilyen csomag $1
search_none=Semmi
search_desc=Meghatározás
search_class=Osztály
search_pack=Csomag
search_match=$1 megegyezõ csomag
search_return=keresési eredmény

host_title=Szerver vezérlés
host_header=Szoftver vezérelt szerver részletei
host_name=Hoszt neve
host_type=Szerver típusa
host_delete=Eltávolítva a vezérelt listából
host_installed=Telepített csomagok
host_open=Összes nyitva
host_close=Összes zárva
host_all=Minden csomag
host_count=Telepített csomagok
host_os=OS a Webminbõl

edit_title=Csomag szerkesztése
edit_details=Csomag részletei a $1 szerveren
edit_desc=Meghatározás
edit_pack=Csomag
edit_class=Osztály
edit_none=Nincs
edit_ver=Verzió
edit_vend=Eladó
edit_arch=Felépítés
edit_inst=Telepítve
edit_list=File -ok listája innen:
edit_uninst=Eltávolítás innen:
edit_return=csomag részletei
edit_hosts=Telepítve a hoszton
edit_all=&lt;minden hoszt&gt;

list_title=Csomag file-jai
list_files=Fil-ok a(z) $1 csomagból a(z) $2 szerveren
list_path=Útvonal
list_owner=Tulajdonos
list_group=Csoport
list_type=Típus
list_size=Méret
list_status=Státusz
list_ok=OK

refresh_title=Csomag lista frissítése
refresh_header=Minden szerverrõl a csomaglista újrakérése ..
refresh_1=Frissülve $1 (hozzáadva $2 , eltávolítva $3)
refresh_2=Frissülve $1 (hozzáadva $2)
refresh_3=Frissülve $1 (eltávolítva $2)
refresh_4=Frissülve $1 (nincs változás)
refresh_done=.. rendben
refresh_del=Eltávolítva $1 a szerverlistából

delete_err=Nem lehet törölni a(z) $1 csomagot
delete_epack=A(z) $1 csomag nem létezik
delete_title=csomag törlése
delete_rusure=Biztos Ön abban, hogy törölni szeretné a(z) $1 csomagot az összes szerverrõl? Több mint $2 file ($3 byte) fog örökre törlõdni.
delete_rusure2=Biztos Ön abban, hogy törölni szeretné a(z) $1 csomagot a $4 szerverrõl?  Több mint $2 file ($3 byte) fog örökre törlõdni.
delete_ok=Törlés
delete_error=Nen lehet törölni $1 : $2
delete_success=Letörölve $1 -ról(röl).
delete_done=.. rendben
delete_header=Törlöm a $1 csomagot ..

do_title=Csomag telepítése
do_header=Telepítem a(z) $1 az összes hoszton ..
do_done=.. rendben
do_failed=Nem lehet telepíteni a(z) $1 : $2
do_success=Telepítve a(z) $1.
do_already=Már telepítve a(z) $1.
do_details=Csomag részletei
do_desc=Meghatározás
do_class=Osztály
do_pack=Csomag
do_ver=Verzió
do_vend=Eladó
do_arch=Felépítés
do_inst=Telepítve
do_none=Semmi
do_edeleted=Telepített file-ok törlõdtek - vissza a modul indexhez és próbálja meg újra.

   07070100061eef000081e40000000000000002000000013d1fe2e600000945000000200000000000000000000000000000002500000003reloc/cluster-software/list_pack.cgi  #!/usr/local/bin/perl
# list_pack.cgi
# List all the files in some package

require './cluster-software-lib.pl';
&ReadParse();
&header($text{'list_title'}, "");
print "<hr>\n";

@servers = &list_servers();
($s) = grep { $_->{'id'} == $in{'server'} } @servers;
&remote_foreign_require($s->{'host'}, "software", "software-lib.pl");
&foreign_require("software", "software-lib.pl");

print "<h3>",&text('list_files', "<tt>$in{'package'}</tt>",
		   $s->{'desc'} ? $s->{'desc'} : $s->{'host'}),"</h3>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'list_path'}</b></td> ",
      "<td><b>$text{'list_owner'}</b></td> ",
      "<td><b>$text{'list_group'}</b></td> ",
      "<td><b>$text{'list_type'}</b></td> ",
      "<td><b>$text{'list_size'}</b></td> ",
      "<td><b>$text{'list_status'}</b></td> </tr>\n";
$n = &remote_foreign_call($s->{'host'}, "software",
			  "check_files", $in{'package'});
$files = &remote_eval($s->{'host'}, "software", "\\%files");
for($i=0; $i<$n; $i++) {
	$sz = $files->{$i,'size'};
	$ty = $files->{$i,'type'};
	print "<tr $cb>\n";
	if ($ty == 3 || $ty == 4) {
		print "<td valign=top>$files->{$i,'path'} -> ",
		      "$files->{$i,'link'}</td>\n";
		print "<td><br></td> <td><br></td>\n";
		}
	else {
		print "<td valign=top><table width=100% cellpadding=0 ",
		      "cellspacing=0><tr><td>",
		      "$files->{$i,'path'}</td> <td align=right>\n";
		if ($ty == 0 || $ty == 5) {
			print "<a href='view.cgi",$files->{$i,'path'},
			      "'>$text{'list_view'}</a>";
			}
		print "</td></tr>","</table></td>\n";
		print "<td valign=top>$files->{$i,'user'}</td>\n";
		print "<td valign=top>$files->{$i,'group'}</td>\n";
		}
	print "<td valign=top>$software::type_map[$ty]</td>\n";
	if ($ty != 0) { $sz = "<br>"; }
	elsif ($sz > 1000000) { $sz = sprintf "%d MB", $sz/1000000; }
	elsif ($sz > 1000) { $sz = sprintf "%d kB", $sz/1000; }
	else { $sz .= " B"; }
	print "<td valign=top>$sz</td>\n";
	$err = $files->{$i,'error'};
	if ($err) {
		$err =~ s/</&lt;/g;
		$err =~ s/>/&gt;/g;
		$err =~ s/\n/<br>/g;
		print "<td valign=top><font color=#ff0000>$err</font></td>\n";
		}
	else { print "<td valign=top>$text{'list_ok'}</td>\n"; }
	print "</tr>\n";
	}
print "</table><p>\n";

&remote_finished();
print "<hr>\n";
&footer("edit_pack.cgi?package=".&urlize($in{'package'})."&search=".&urlize($in{'search'}), $text{'edit_return'});

   07070100061ef0000081a40000000000000002000000013d1fe2ea0000013d000000200000000000000000000000000000002300000003reloc/cluster-software/module.info    category=cluster
depends=software servers 0.990
os_support=cobalt-linux mandrake-linux redhat-linux open-linux msc-linux suse-linux turbo-linux debian-linux solaris openserver
desc=Cluster Software Packages
version=0.990
desc_hu=Klaszter szoftver csomag
desc_ca=Paquets de Programari de Cluster
name=Cluster Software
   07070100061ef1000081e40000000000000002000000013d1fe2e600000120000000200000000000000000000000000000002000000003reloc/cluster-software/open.cgi   #!/usr/local/bin/perl
# open.cgi
# Add some class to the open list

require './cluster-software-lib.pl';
&ReadParse();
open(HEIROPEN, ">> $module_config_directory/heiropen.$in{'id'}");
print HEIROPEN "$in{'what'}\n";
close(HEIROPEN);
&redirect("edit_host.cgi?id=$in{'id'}#$in{'what'}");

07070100061ef2000081e40000000000000002000000013d1fe2e600000210000000200000000000000000000000000000002300000003reloc/cluster-software/openall.cgi    #!/usr/local/bin/perl
# openall.cgi
# Add all classes to the open list

require './cluster-software-lib.pl';
&ReadParse();
open(HEIROPEN, "> $module_config_directory/heiropen.$in{'id'}");
($host) = grep { $_->{'id'} eq $in{'id'} } &list_software_hosts();
foreach $p (@{$host->{'packages'}}) {
	@w = split(/\//, $p->{'class'});
	for($j=0; $j<@w; $j++) {
		push(@list, join('/', @w[0..$j]));
		}
	}
@list = &unique(@list);
foreach $c (@list) {
	print HEIROPEN "$c\n";
	}
close(HEIROPEN);
&redirect("edit_host.cgi?id=$in{'id'}");

07070100061ef3000081e40000000000000002000000013d1fe2e600000b1c000000200000000000000000000000000000002300000003reloc/cluster-software/refresh.cgi    #!/usr/local/bin/perl
# refresh.cgi
# Reload the list of packages from all managed hosts

require './cluster-software-lib.pl';
&header($text{'refresh_title'}, "");
print "<hr>\n";
$| = 1;

# Setup error handler for down hosts
sub ref_error
{
$ref_error_msg = join("", @_);
}
&remote_error_setup(\&ref_error);

print "<b>$text{'refresh_header'}</b><p>\n";
@hosts = &list_software_hosts();
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;

	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		if ($s) {
			# Refresh the list
			&remote_foreign_require($s->{'host'}, "software",
						"software-lib.pl");
			if ($ref_error_msg) {
				# Host is down ..
				print $wh &serialise_variable($ref_error_msg);
				exit;
				}
			local $gconfig = &remote_foreign_config($s->{'host'}, undef);
			foreach $g ('os_type', 'os_version',
				    'real_os_type', 'real_os_version') {
				$h->{$g} = $gconfig{$g};
				}
			local @old = map { $_->{'name'} } @{$h->{'packages'}};
			undef($h->{'packages'});
			local $n = &remote_foreign_call($s->{'host'}, "software",
							"list_packages");
			local $packages = &remote_eval($s->{'host'}, "software",
						       "\\%packages");
			local @added;
			for($i=0; $i<$n; $i++) {
				push(@{$h->{'packages'}},
				     { 'name' => $packages->{$i,'name'},
				       'class' => $packages->{$i,'class'},
				       'desc' => $packages->{$i,'desc'} });
				$idx = &indexof($packages->{$i,'name'}, @old);
				if ($idx < 0) {
					push(@added, $packages->{$i,'name'});
					}
				else {
					splice(@old, $idx, 1);
					}
				}
			&save_software_host($h);
			$rv = [ \@added, \@old ];
			}
		else {
			# remove from managed list
			&delete_software_host($h);
			$rv = undef;
			}
		print $wh &serialise_variable($rv);
		close($wh);
		exit;
		}
	close($wh);
	$p++;
	}

# Read back results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && ref($rv)) {
		@added = @{$rv->[0]};
		@old = @{$rv->[1]};
		if (@added && @old) {
			print &text('refresh_1', $d,
				    join(" ", @added),join(" ", @old)),"<br>\n";
			}
		elsif (@added) {
			print &text('refresh_2', $d,
				    join(" ", @added)),"<br>\n";
			}
		elsif (@old) {
			print &text('refresh_3', $d, join(" ", @old)),"<br>\n";
			}
		else {
			print &text('refresh_4', $d),"<br>\n";
			}
		}
	elsif ($rv) {
		print &text('refresh_failed', $d, $rv),"<br>\n";
		}
	else {
		print &text('refresh_del', $h->{'id'}),"<br>\n";
		}

	$p++;
	}

print "<p><b>$text{'refresh_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

07070100061ef4000081e40000000000000002000000013d1fe2e600000556000000200000000000000000000000000000002200000003reloc/cluster-software/search.cgi #!/usr/local/bin/perl
# search.cgi
# Display a list of packages where the name or description matches some string

require './cluster-software-lib.pl';
&ReadParse();

$s = $in{'search'};
@hosts = &list_software_hosts();
foreach $h (@hosts) {
	foreach $p (@{$h->{'packages'}}) {
		if (($p->{'name'} =~ /\Q$s\E/i || $p->{'desc'} =~ /\Q$s\E/i) &&
		    !$already{$p->{'name'}}++) {
			push(@match, $p);
			}
		}
	}
if (@match == 1) {
	&redirect("edit_pack.cgi?package=".&urlize($match[0]->{'name'}));
	exit;
	}

&header($text{'search_title'}, "", "search");
print "<hr>\n";
if (@match) {
	@match = sort { lc($a->{'name'}) cmp lc($b->{'name'}) } @match;
	print "<h3>",&text('search_match', "<tt>$s</tt>"),"</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'search_pack'}</b></td> ",
	      "<td><b>$text{'search_class'}</b></td> ",
	      "<td><b>$text{'search_desc'}</b></td> </tr>\n";
	foreach $i (@match) {
		print "<tr $cb>\n";
		print "<td><a href=\"edit_pack.cgi?search=$s&package=",
		      &urlize($i->{'name'}),"\">$i->{'name'}</a></td>\n";
		$c = $i->{'class'};
		print "<td>",$c ? $c : $text{'search_none'},"</td>\n";
		print "<td>$i->{'desc'}</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<h3>",&text('search_nomatch', "<tt>$s</tt>"),"</h3>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee1f000041ed0000000000000001000000053d1ff9f100000000000000200000000000000000000000000000001800000003reloc/cluster-useradmin   0707010006ee20000081e40000000000000002000000013d1fe2e6000007f2000000200000000000000000000000000000002000000003reloc/cluster-useradmin/add.cgi   #!/usr/local/bin/perl
# add.cgi
# Add or update a server or group from the webmin servers module

require './cluster-useradmin-lib.pl';
&ReadParse();
@servers = &list_servers();

if ($in{'add'}) {
	# Add a single host
	@add = grep { $_->{'id'} eq $in{'server'} } @servers;
	&error_setup($text{'add_err'});
	$msg = &text('add_msg', &server_name($add[0]));
	}
else {
	# Add all from a group
	($group) = grep { $_->{'name'} eq $in{'group'} }
			&servers::list_all_groups(\@servers);
	foreach $m (@{$group->{'members'}}) {
		push(@add, grep { $_->{'host'} eq $m } @servers);
		}
	&error_setup($text{'add_gerr'});
	$msg = &text('add_gmsg', $in{'group'});
	}

&header($text{'add_title'}, "");
print "<hr>\n";
print "<b>$msg</b><p>\n";

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

# Get the users and groups for each host
&foreign_require("useradmin", "user-lib.pl");
$pft = &foreign_call("useradmin", "passfiles_type");
$gft = &foreign_call("useradmin", "groupfiles_type");
foreach $s (@add) {
	$add_error_msg = undef;
	local $host = { 'id' => $s->{'id'} };
	local $useradmin = &remote_foreign_check($s->{'host'}, "useradmin");
	if ($add_error_msg) {
		print "$add_error_msg<p>\n";
		next;
		}
	if (!$useradmin) {
		print &text('add_echeck', $s->{'host'}),"<p>\n";
		next;
		}
	&remote_foreign_require($s->{'host'}, "useradmin", "user-lib.pl");

	local $rpft = &remote_foreign_call($s->{'host'}, "useradmin",
					   "passfiles_type");
	if ($pft != $rpft) {
		print &text('add_epft', $s->{'host'}),"<p>\n";
		next;
		}

	local @rusers = &remote_foreign_call($s->{'host'}, "useradmin",
					     "list_users");
	local @rgroups = &remote_foreign_call($s->{'host'}, "useradmin",
					      "list_groups");
	$host->{'users'} = \@rusers;
	$host->{'groups'} = \@rgroups;
	&save_useradmin_host($host);
	print &text('add_ok', &server_name($s), scalar(@rusers),
		    scalar(@rgroups)),"<p>\n";
	}
&remote_finished();

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee21000081a40000000000000002000000013d1fe2e600000aac000000200000000000000000000000000000003100000003reloc/cluster-useradmin/cluster-useradmin-lib.pl  # cluster-useradmin-lib.pl
# common functions for managing users across a cluster

do '../web-lib.pl';
&init_config();
&foreign_require("servers", "servers-lib.pl");
%useradmin_text = &load_language("useradmin");
%text = ( %useradmin_text, %text );
%uconfig = &foreign_config("useradmin");

# list_useradmin_hosts()
# Returns a list of all hosts whose users are being managed by this module
sub list_useradmin_hosts
{
local $hdir = "$module_config_directory/hosts";
opendir(DIR, $hdir);
foreach $h (readdir(DIR)) {
	next if ($h eq "." || $h eq ".." || !-d "$hdir/$h");
	local %host = ( 'id', $h );
	opendir(UDIR, "$hdir/$h");
	foreach $f (readdir(UDIR)) {
		if ($f =~ /^(\S+)\.user$/) {
			local %user;
			&read_file("$hdir/$h/$f", \%user);
			push(@{$host{'users'}}, \%user);
			}
		elsif ($f =~ /^(\S+)\.group$/) {
			local %group;
			&read_file("$hdir/$h/$f", \%group);
			push(@{$host{'groups'}}, \%group);
			}
		}
	closedir(UDIR);
	push(@rv, \%host);
	}
closedir(DIR);
return @rv;
}

# save_useradmin_host(&host)
sub save_useradmin_host
{
local $hdir = "$module_config_directory/hosts";
local %oldfile;
mkdir($hdir, 0700);
if (-d "$hdir/$_[0]->{'id'}") {
	opendir(DIR, "$hdir/$_[0]->{'id'}");
	map { $oldfile{$_}++ } readdir(DIR);
	closedir(DIR);
	}
else {
	mkdir("$hdir/$_[0]->{'id'}", 0700);
	}
foreach $u (@{$_[0]->{'users'}}) {
	&write_file("$hdir/$_[0]->{'id'}/$u->{'user'}.user", $u);
	delete($oldfile{"$u->{'user'}.user"});
	}
foreach $g (@{$_[0]->{'groups'}}) {
	&write_file("$hdir/$_[0]->{'id'}/$g->{'group'}.group", $g);
	delete($oldfile{"$g->{'group'}.group"});
	}
unlink(map { "$hdir/$_[0]->{'id'}/$_" } keys %oldfile);
}

# delete_useradmin_host(&host)
sub delete_useradmin_host
{
system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
}



# list_servers()
# Returns a list of all servers from the webmin servers module that can be
# managed, plus this server
sub list_servers
{
local @servers = &foreign_call("servers", "list_servers");
return ( { 'id' => 0, 'desc' => $text{'this_server'}, 'type' => 'unknown' },
	 grep { $_->{'user'} } @servers );
}

# auto_home_dir(base, username)
# Returns an automatically generated home directory, and creates needed
# parent dirs
sub auto_home_dir
{
if ($uconfig{'home_style'} == 0) {
	return $_[0]."/".$_[1];
	}
elsif ($uconfig{'home_style'} == 1) {
	return $_[0]."/".substr($_[1], 0, 1)."/".$_[1];
	}
elsif ($uconfig{'home_style'} == 2) {
	return $_[0]."/".substr($_[1], 0, 1)."/".
	       substr($_[1], 0, 2)."/".$_[1];
	}
elsif ($uconfig{'home_style'} == 3) {
	return $_[0]."/".substr($_[1], 0, 1)."/".
	       substr($_[1], 1, 1)."/".$_[1];
	}
}

# server_name(&server)
sub server_name
{
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
}

1;

0707010006ee22000081a40000000000000002000000013d1fe2e60000000c000000200000000000000000000000000000001f00000003reloc/cluster-useradmin/config    sort_mode=0
0707010006ee23000081a40000000000000002000000013d1fe2e600000033000000200000000000000000000000000000002400000003reloc/cluster-useradmin/config.info   sort_mode=Sort hosts by,1,1-Hostname,0-Order added
 0707010006ee24000081a40000000000000002000000013d1fe2e600000041000000200000000000000000000000000000002700000003reloc/cluster-useradmin/config.info.ca    sort_mode=Ordena els hosts per,1,1-Nom de host,0-Ordre d'addició
   0707010006ee25000081e40000000000000002000000013d1fe2e6000008b2000000200000000000000000000000000000002900000003reloc/cluster-useradmin/create_group.cgi  #!/usr/local/bin/perl
# create_group.cgi
# Creates a new group on all servers

require './cluster-useradmin-lib.pl';
require 'timelocal.pl';
&error_setup($text{'gsave_err'});
&ReadParse();
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

# Strip out \n characters in inputs
$in{'group'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;

# check group name
$in{'group'} =~ /^[^:\t]+$/ ||
	&error(&text('gsave_ebadname', $in{'group'}));
$uconfig{'max_length'} && length($in{'group'}) > $uconfig{'max_length'} &&
	&error(&text('gsave_elength', $uconfig{'max_length'}));
foreach $h (@hosts) {
	local ($og) = grep { $_->{'group'} eq $in{'group'} } @{$h->{'groups'}};
	&error(&text('gsave_einuse', $in{'group'})) if ($og);
	}
$group{'group'} = $in{'group'};

# Validate and save inputs
$in{'gid'} =~ /^[0-9]+$/ || &error(&text('gsave_egid', $in{'gid'}));
@mems = split(/\s+/, $in{members});
$group{'members'} = join(',', @mems);
$group{'gid'} = $in{'gid'};

$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
if ($in{'passmode'} == 0) { $group{'pass'} = ""; }
elsif ($in{'passmode'} == 1) { $group{'pass'} = $in{'encpass'}; }
elsif ($in{'passmode'} == 2) { $group{'pass'} = crypt($in{'pass'}, $salt); }

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

$| = 1;
&header($text{'gedit_title2'}, "");
print "<hr>\n";
foreach $host (@hosts) {
	$add_error_msg = undef;
	local ($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	print "<b>",&text('gsave_con', $serv->{'desc'} ? $serv->{'desc'} :
				       $serv->{'host'}),"</b><p>\n";
	print "<ul>\n";
	&remote_foreign_require($serv->{'host'}, "useradmin", "user-lib.pl");
	if ($add_error_msg) {
		# Host is down ..
		print &text('gsave_failed', $add_error_msg),"<p>\n";
		print "</ul>\n";
		next;
		}

	# Save group details
	print "$text{'gsave_create'}<br>\n";
	&remote_foreign_call($serv->{'host'}, "useradmin",
			     "create_group", \%group);
	print "$text{'udel_done'}<p>\n";

	# Update host
	push(@{$host->{'groups'}}, \%group);
	&save_useradmin_host($host);
	print "</ul>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee26000081e40000000000000002000000013d1fe2e6000023c1000000200000000000000000000000000000002800000003reloc/cluster-useradmin/create_user.cgi   #!/usr/local/bin/perl
# create_user.cgi
# Creates a new user on multiple machines

require './cluster-useradmin-lib.pl';
require 'timelocal.pl';
&foreign_require("useradmin", "user-lib.pl");
&error_setup($text{'usave_err'});
&ReadParse();
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

# Strip out \n characters in inputs
$in{'real'} =~ s/\r|\n//g;
$in{'user'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'home'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;
$in{'uid'} =~ s/\r|\n//g;
$in{'othersh'} =~ s/\r|\n//g;

# Validate username
$user{'user'} = $in{'user'};
$in{'user'} =~ /^[^:\t]+$/ ||
	&error(&text('usave_ebadname', $in{'user'}));
$uconfig{'max_length'} && length($in{'user'}) > $uconfig{'max_length'} &&
	&error(&text('usave_elength', $uconfig{'max_length'}));

# Check for username clash
foreach $h (@hosts) {
	($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	foreach $u (@{$h->{'users'}}) {
		if ($u->{'user'} eq $in{'user'}) {
			&error(&text('usave_einuse', $s->{'host'}));
			}
		}
	}

# Validate and store basic inputs
$in{'uid'} =~ /^[0-9]+$/ || &error(&text('usave_euid', $in{'uid'}));
$in{'real'} =~ /^[^:]*$/ || &error(&text('usave_ereal', $in{'real'}));
if ($in{'shell'} eq "*") { $in{'shell'} = $in{'othersh'}; }
$user{'uid'} = $in{'uid'};
$user{'gid'} = getgrnam($in{'gid'});
if ($user{'gid'} eq "") { &error(&text('usave_egid', $in{'gid'})); }
if ($uconfig{'extra_real'}) {
	$in{'office'} =~ /^[^:]*$/ || &error($text{'usave_eoffice'});
	$in{'workph'} =~ /^[^:]*$/ || &error($text{'usave_eworkph'});
	$in{'homeph'} =~ /^[^:]*$/ || &error($text{'usave_ehomeph'});
	$user{'real'} = join(",", $in{'real'}, $in{'office'}, $in{'workph'},
				  $in{'homeph'});
	$user{'real'} .= ",$in{'extra'}" if ($in{'extra'});
	$user{'real'} =~ s/,+$//;
	}
else {
	$user{'real'} = $in{'real'};
	}
if ($uconfig{'home_base'} && $in{'home_base'}) {
	$user{'home'} = &auto_home_dir($uconfig{'home_base'}, $in{'user'});
	}
else {
	$user{'home'} = $in{'home'};
	}
$user{'shell'} = $in{'shell'};
foreach $gid (split(/\0/, $in{'sgid'})) {
	$ingroup{$gid}++;
	}

# Store password input
$crypted = &foreign_call("useradmin", "encrypt_password", $in{'pass'});
if ($in{'passmode'} == 0) { $user{'pass'} = ""; }
elsif ($in{'passmode'} == 1) { $user{'pass'} = $uconfig{'lock_string'}; }
elsif ($in{'passmode'} == 2) { $user{'pass'} = $in{'encpass'}; }
elsif ($in{'passmode'} == 3) { $user{'pass'} = $crypted; }

$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 2) {
	# Validate shadow-password inputs
	if ($in{'expired'} ne "" && $in{'expirem'} ne ""
	    && $in{'expirey'} ne "") {
		eval { $expire = timelocal(0, 0, 12, $in{'expired'},
					   $in{'expirem'}-1,
					   $in{'expirey'}-1900); };
		if ($@) { &error("invalid expiry date"); }
		$expire = int($expire / (60*60*24));
		}
	else { $expire = ""; }
	$in{'min'} =~ /^[0-9]*$/ ||
		&error(&text('usave_emin', $in{'min'}));
	$in{'max'} =~ /^[0-9]*$/ ||
		&error(&text('usave_emax', $in{'max'}));
	$in{'warn'} =~ /^[0-9]*$/ ||
		&error(&text('usave_ewarn', $in{'warn'}));
	$in{'inactive'} =~ /^[0-9]*$/ ||
		&error(&text('usave_einactive', $in{'inactive'}));
	$user{'expire'} = $expire;
	$user{'min'} = $in{'min'};
	$user{'max'} = $in{'max'};
	$user{'warn'} = $in{'warn'};
	$user{'inactive'} = $in{'inactive'};
	$user{'change'} = int(time() / (60*60*24));
	}
elsif ($pft == 1 || $pft == 6) {
	# Validate BSD-password inputs
	if ($in{'expired'} ne "" && $in{'expirem'} ne ""
	    && $in{'expirey'} ne "") {
		eval { $expire = timelocal(59, $in{'expiremi'},
					   $in{'expireh'},
					   $in{'expired'},
					   $in{'expirem'}-1,
					   $in{'expirey'}-1900); };
		if ($@) { &error($text{'usave_eexpire'}); }
		}
	else { $expire = ""; }
	if ($in{'changed'} ne "" && $in{'changem'} ne ""
	    && $in{'changey'} ne "") {
		eval { $change = timelocal(59, $in{'changemi'},
					   $in{'changeh'},
					   $in{'changed'},
					   $in{'changem'}-1,
					   $in{'changey'}-1900); };
		if ($@) { &error($text{'usave_echange'}); }
		}
	else { $change = ""; }
	$in{'class'} =~ /^([^: ]*)$/ ||
		&error(&text('usave_eclass', $in{'class'}));
	$user{'expire'} = $expire;
	$user{'change'} = $change;
	$user{'class'} = $in{'class'};
	}
elsif ($pft == 4) {
	# Validate AIX-style password inputs
	if ($in{'expired'} ne "" && $in{'expirem'} ne ""	
		&& $in{'expirey'} ne "" ) {
		# Add a leading zero if only 1 digit long
		$in{'expirem'} =~ s/^(\d)$/0$1/;
		$in{'expired'} =~ s/^(\d)$/0$1/;
		$in{'expireh'} =~ s/^(\d)$/0$1/;
		$in{'expiremi'} =~ s/^(\d)$/0$1/;
		
		# Only use the last two digits of the year
		$in{'expirey'} =~ s/^\d\d(\d\d)$/$1/;
		
		# If the user didn't choose the hour and min make them 01
		$in{'expireh'} = "01" if $in{'expireh'} eq "";
		$in{'expiremi'} = "01" if $in{'expiremi'} eq "";
		$expire="$in{'expirem'}$in{'expired'}$in{'expireh'}$in{'expiremi'}$in{'expirey'}";
		}
	else { $expire = ""; }
	$user{'admin'} = $in{'flags'} =~ /admin/;
	$user{'admchg'} = $in{'flags'} =~ /admchg/;
	$user{'nocheck'} = $in{'flags'} =~ /nocheck/;
	$user{'expire'} = $expire;
	$user{'min'} = $in{'min'};
	$user{'max'} = $in{'max'};
	$user{'warn'} = $in{'warn'};
	$user{'change'} = time();
	}

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

$| = 1;
&header($text{'uedit_title2'}, "");
print "<hr>\n";
foreach $host (@hosts) {
	$add_error_msg = undef;
	local ($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	&remote_foreign_require($serv->{'host'}, "useradmin", "user-lib.pl");
	print "<b>",&text('usave_con', &server_name($serv)),"</b><p>\n";
	print "<ul>\n";
	if ($add_error_msg) {
		# Host is down ..
		print &text('usave_failed', $add_error_msg),"<p>\n";
		print "</ul>\n";
		next;
		}
	local @glist;
	if ($in{'sgid'} ne '') {
		@glist = &remote_foreign_call($serv->{'host'}, "useradmin",
					      "list_groups");
		}

#	# Run the pre-change command
#	$envsgids = join(",", split(/\0/, $in{'sgid'}));
#	$envpass = $in{'passmode'} == 3 ? $in{'pass'} : undef;
#	$merr = &remote_eval($serv->{'host'}, <<EOF
#\$ENV{'USERADMIN_USER'} = '$user{'user'}';
#\$ENV{'USERADMIN_UID'} = '$user{'uid'}';
#\$ENV{'USERADMIN_REAL'} = '$user{'real'}';
#\$ENV{'USERADMIN_SHELL'} = '$user{'shell'}';
#\$ENV{'USERADMIN_HOME'} = '$user{'home'}';
#\$ENV{'USERADMIN_GID'} = '$user{'gid'}';
#\$ENV{'USERADMIN_SECONDARY'} = '$envsgids';
#\$ENV{'USERADMIN_PASS'} = '$envpass';
#\$ENV{'USERADMIN_ACTION'} = 'CREATE_USER';
#&making_changes();
#EOF
#	);
#	if (defined($merr)) {
#		print &text('usave_precmd', "<tt>$merr</tt>"),"<p>\n";
#		print "</ul>\n";
#		next;
#		}

	# Create the home directory
	local $made_home;
	if ($in{'servs'} || $host eq $hosts[0]) {
		if ($in{'makehome'}) {
			local $exists = &remote_eval($serv->{'host'},
				"useradmin", "-d '$user{'home'}'");
			if (!$exists) {
				print "$text{'usave_mkhome'}<br>\n";
				local $rv = &remote_eval($serv->{'host'}, "useradmin",
					"mkdir('$user{'home'}', oct('$uconfig{'homedir_perms'}')) && chmod(oct('$uconfig{'homedir_perms'}'), '$user{'home'}') ? undef : \$!");
				$rv && &error(&text('usave_emkdir', $rv));
				$rv = &remote_eval($serv->{'host'}, "useradmin",
					"chown($user{'uid'}, $user{'gid'}, '$user{'home'}')");
				$rv || &error(&text('usave_echown', $rv));
				$made_home = 1;
				print "$text{'udel_done'}<p>\n";
				}
			}
		}

	# Save user details
	print "$text{'usave_create'}<br>\n";
	&remote_foreign_call($serv->{'host'}, "useradmin",
			     "create_user", \%user);
	print "$text{'udel_done'}<p>\n";

	if ($in{'others'}) {
		# Create in other modules on the server
		print "$text{'usave_others'}<br>\n";
		$user{'passmode'} = $in{'passmode'};
		$user{'plainpass'} = $in{'pass'} if ($in{'passmode'} == 3);
		&remote_foreign_call($serv->{'host'}, "useradmin",
				     "other_modules", "useradmin_create_user",
				     \%user);
		print "$text{'udel_done'}<p>\n";
		}

	# Copy files into user's directory
	if ($in{'servs'} || $host eq $hosts[0]) {
		local $fconfig = &remote_foreign_config($serv->{'host'},
							"useradmin");
		if ($in{'copy_files'} && $made_home) {
			print "$text{'usave_copy'}<br>\n";
			local $uf = $fconfig->{'user_files'};
			$uf =~ s/\$group/$in{'gid'}/g;
			$uf =~ s/\$gid/$user{'gid'}/g;
			&remote_foreign_call($serv->{'host'}, "useradmin",
				"copy_skel_files", $uf, $user{'home'},
				$user{'uid'}, $user{'gid'});
			print "$text{'udel_done'}<p>\n";
			}
		}

	# Update groups
	local @sgids = split(/\0/, $in{'sgid'});
	print "$text{'usave_groups'}<br>\n" if (@sgids);
	foreach $gid (@sgids) {
		foreach $group (@glist) {
			if ($group->{'gid'} == $gid) {
				# Add to this group
				local %ogroup = %$group;
				$group->{'members'} = join(",", $user{'user'},
					split(/,/, $group->{'members'}));
				&remote_foreign_call($serv->{'host'},
					"useradmin", "modify_group",
					\%ogroup, $group);
				}
			}
		}
	print "$text{'udel_done'}<p>\n" if (@sgids);

	# Update host
	push(@{$host->{'users'}}, \%user);
	if (@glist) {
		$host->{'groups'} = \@glist;
		}
	&save_useradmin_host($host);
	print "</ul>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010006ee27000081e40000000000000002000000013d1fe2e600000a42000000200000000000000000000000000000002900000003reloc/cluster-useradmin/delete_group.cgi  #!/usr/local/bin/perl
# delete_group.cgi
# Delete a group, after asking for confirmation

require './cluster-useradmin-lib.pl';
&ReadParse();
&error_setup($text{'gdel_err'});
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

foreach $h (@hosts) {
	local ($g) = grep { $_->{'group'} eq $in{'group'} } @{$h->{'groups'}};
	if ($g) {
		%group = %$g;
		last;
		}
	}
%group || &error($text{'gdel_ealready'});

# Setup error handler for down hosts
sub del_error
{
$del_error_msg = join("", @_);
}
&remote_error_setup(\&del_error);

$| = 1;
&header($text{'gdel_title'}, "");
print "<hr>\n";
if ($in{'confirmed'}) {
	# Do the deletion on all hosts
	foreach $host (@hosts) {
		$del_error_msg = undef;
		($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
		local ($group) = grep { $_->{'group'} eq $in{'group'} }
				     @{$host->{'groups'}};
		next if (!$group);
		print "<b>",&text('gdel_on', $serv->{'desc'} ? $serv->{'desc'} :
					     $serv->{'host'}),"</b><p>\n";
		print "<ul>\n";
		&remote_foreign_require($serv->{'host'},
					"useradmin", "user-lib.pl");
		if ($del_error_msg) {
			# Host is down ..
			print &text('gdel_failed', $del_error_msg),"<p>\n";
			print "</ul>\n";
			next;
			}
		local @glist = &remote_foreign_call($serv->{'host'},
					"useradmin", "list_groups");
		($group) = grep { $_->{'group'} eq $in{'group'} } @glist;
		if (!$group) {
			# Already deleted?
			print "$text{'gdel_gone'}<p>\n";
			print "</ul>\n";
			next;
			}

		# Delete the group
		print "$text{'gdel_group'}<br>\n";
		&remote_foreign_call($serv->{'host'}, "useradmin",
				     "delete_group", $group);
		print "$text{'gdel_done'}<p>\n";

		# Update in local list
		@glist = grep { $_ ne $group } @glist;
		$host->{'groups'} = \@glist;
		&save_useradmin_host($host);
		print "</ul>\n";
		}

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# Check if this is anyone's primary group
	foreach $h (@hosts) {
		foreach $u (@{$h->{'users'}}) {
			if ($u->{'gid'} == $group{'gid'}) {
				$puser = $u;
				last;
				}
			}
		}
	if ($puser) {
		print "<b>",&text('gdel_eprimary', $puser->{'user'}),
		      "</b><p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}

	# Ask if the user is sure
	print "<form action=delete_group.cgi>\n";
	print "<input type=hidden name=group value=\"$group{'group'}\">\n";
	print "<input type=hidden name=confirmed value=1>\n";

	print "<center><h3>",&text('gdel_sure',
				   $group{'group'}),"</h3>\n";
	print "<input type=submit value=\"$text{'gdel_del'}\">\n";

	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

  0707010006ee28000081e40000000000000002000000013d1fe2e600000107000000200000000000000000000000000000002800000003reloc/cluster-useradmin/delete_host.cgi   #!/usr/local/bin/perl
# delete_host.cgi
# Remove a managed host from the list

require './cluster-useradmin-lib.pl';
&ReadParse();
@hosts = &list_useradmin_hosts();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
&delete_useradmin_host($host);
&redirect("");

 0707010006ee29000081e40000000000000002000000013d1fe2e6000011fb000000200000000000000000000000000000002800000003reloc/cluster-useradmin/delete_user.cgi   #!/usr/local/bin/perl
# delete_user.cgi
# Delete a user, after asking for confirmation

require './cluster-useradmin-lib.pl';
&foreign_require("useradmin", "user-lib.pl");
&ReadParse();
&error_setup($text{'udel_err'});
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

foreach $h (@hosts) {
	local ($u) = grep { $_->{'user'} eq $in{'user'} } @{$h->{'users'}};
	if ($u) {
		%user = %$u;
		last;
		}
	}
%user || &error($text{'udel_ealready'});

# Setup error handler for down hosts
sub del_error
{
$del_error_msg = join("", @_);
}
&remote_error_setup(\&del_error);

$| = 1;
&header($text{'udel_title'}, "");
print "<hr>\n";
if ($in{'confirmed'}) {
	# Do the deletion on all hosts
	foreach $host (@hosts) {
		$del_error_msg = undef;
		($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
		local ($user) = grep { $_->{'user'} eq $in{'user'} }
				     @{$host->{'users'}};
		next if (!$user);
		print "<b>",&text('udel_on', $serv->{'desc'} ? $serv->{'desc'} :
					     $serv->{'host'}),"</b><p>\n";
		print "<ul>\n";
		&remote_foreign_require($serv->{'host'},
					"useradmin", "user-lib.pl");
		if ($del_error_msg) {
			# Host is down ..
			print &text('udel_failed', $del_error_msg),"<p>\n";
			print "</ul>\n";
			next;
			}
		local @ulist = &remote_foreign_call($serv->{'host'},
					"useradmin", "list_users");
		($user) = grep { $_->{'user'} eq $in{'user'} } @ulist;
		if (!$user) {
			# Already deleted?
			print "$text{'udel_gone'}<p>\n";
			print "</ul>\n";
			next;
			}

		if ($in{'others'}) {
			# Delete from other modules
			print "$text{'udel_dothers'}<br>\n";
			&remote_foreign_call($serv->{'host'}, "useradmin",
				     "other_modules", "useradmin_delete_user",
				     $user);
			print "$text{'udel_done'}<p>\n";
			}

		# Delete the user
		print "$text{'udel_pass'}<br>\n";
		&remote_foreign_call($serv->{'host'}, "useradmin",
				     "delete_user", $user);
		print "$text{'udel_done'}<p>\n";

		# Delete from any secondary groups
		print "$text{'udel_groups'}<br>\n";
		local @glist = &remote_foreign_call($serv->{'host'},
					"useradmin", "list_groups");
		foreach $g (@glist) {
			local %oldg = %$g;
			local @mems = split(/,/, $g->{'members'});
			$idx = &indexof($user->{'user'}, @mems);
			if ($idx >= 0) {
				splice(@mems, $idx, 1);
				$g->{'members'} = join(',', @mems);
				&remote_foreign_call($serv->{'host'},
				    "useradmin", "modify_group", \%oldg, $g);
				}
			}
		print "$text{'udel_done'}<p>\n";

		# Delete home directory
		if ($in{'servs'} || $host eq $hosts[0]) {
			local $exists = &remote_eval($serv->{'host'},
				"useradmin", "-d '$user{'home'}'");
			if ($in{'delhome'} && $user{'home'} !~ /^\/+$/ &&
			    $exists) {
				print "$text{'udel_home'}<br>\n";
				&remote_eval($serv->{'host'}, "useradmin",
					"system(\"rm -rf '$user{'home'}'\")");
				print "$text{'udel_done'}<p>\n";
				}
			}

		# Update in local list
		@ulist = grep { $_ ne $user } @ulist;
		$host->{'users'} = \@ulist;
		$host->{'groups'} = \@glist;
		&save_useradmin_host($host);
		print "</ul>\n";
		}

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# Ask if the user is sure
	($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	&remote_foreign_require($serv->{'host'}, "useradmin", "user-lib.pl");
	print "<form action=delete_user.cgi>\n";
	print "<input type=hidden name=user value=\"$user{'user'}\">\n";
	print "<input type=hidden name=confirmed value=1>\n";

	$size = &remote_foreign_call($serv->{'host'}, "useradmin",
				     "disk_usage_kb", $user{'home'});
	print "<center>\n";
	if ($user{'home'} ne "/" && $size) {
		print "<h3>",&text('udel_sure', $user{'user'},
					   $user{'home'}, $size),"</h3>\n";
		print "<input type=submit value=\"$text{'udel_del1'}\">\n";
		print "<input name=delhome type=submit ",
		      "value=\"$text{'udel_del2'}\"><br>\n";
		print "<b>$text{'udel_servs'}</b>\n";
		print "<input type=radio name=servs value=1> ",
		      "$text{'uedit_mall'}\n";
		print "<input type=radio name=servs value=0 checked> ",
		      "$text{'uedit_mthis'}<br>\n";
		}
	else {
		print "<center><h3>",&text('udel_sure2',
					   $user{'user'}),"</h3>\n";
		print "<input type=submit value=\"$text{'udel_del1'}\">\n";
		}
	if ($user{'user'} eq 'root') {
		print "<h3><font color=#ff0000>$text{'udel_root'}",
		      "</font></h3></center>\n";
		}

	print "<br><b>$text{'udel_others'}</b>\n";
	print "<input type=radio name=others value=1 checked> $text{'yes'}\n";
	print "<input type=radio name=others value=0> $text{'no'}\n";

	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

 0707010006ee2a000081e40000000000000002000000013d1fe2e6000011fd000000200000000000000000000000000000002700000003reloc/cluster-useradmin/edit_group.cgi    #!/usr/local/bin/perl
# edit_group.cgi
# Display a form for editing an existing group

require './cluster-useradmin-lib.pl';
&ReadParse();

@hosts = &list_useradmin_hosts();
@servers = &list_servers();
if ($in{'host'} ne '') {
	($host) = grep { $_->{'id'} == $in{'host'} } @hosts;
	local ($g) = grep { $_->{'group'} eq $in{'user'} } @{$host->{'groups'}};
	%ginfo = %$g;
	}
else {
	foreach $h (@hosts) {
		local ($g) = grep { $_->{'group'} eq $in{'group'} }
				  @{$h->{'groups'}};
		if ($g) {
			$host = $h;
			%ginfo = %$g;
			last;
			}
		}
	}
($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
&header($text{'gedit_title'}, "");
print "<center><font size=+1>",&text('gedit_host', $serv->{'desc'} ?
	$serv->{'desc'} : $serv->{'host'}),"</font></center>\n";
print "<hr>\n";

print "<form action=\"save_group.cgi\" method=post>\n";
print "<input type=hidden name=group value=\"$in{'group'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'gedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'gedit_group'}</b></td>\n";
print "<td valign=top><font size=+1><i>$ginfo{'group'}</i></font></td>\n";

print "<td valign=top><b>$text{'gedit_gid'}</b></td>\n";
printf "<td><input type=radio name=gid_def value=1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $ginfo{'gid'};
printf "<input type=radio name=gid_def value=0> %s\n",
	$text{'gedit_set'};
print "<input name=gid size=10></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'pass'}</b></td>\n";
printf "<td><input type=radio name=passmode value=-1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $ginfo{'pass'} ? $ginfo{'pass'}
					     : $text{'uedit_none'};
print "<input type=radio name=passmode value=0> $text{'none2'}<br>\n";
print "<input type=radio name=passmode value=1> $text{'encrypted'}\n";
print "<input name=encpass size=13><br>\n";
print "<input type=radio name=passmode value=2> $text{'clear'}\n";
print "<input name=pass size=15></td>\n";

print "<td valign=top><b>$text{'gedit_members'}</b></td> <td>\n";
printf "<input type=radio name=members_def value=0 checked> %s (%s)<br>\n",
	$text{'uedit_leave'}, $ginfo{'members'} ? $ginfo{'members'}
						: $text{'uedit_none'};
printf "<input type=radio name=members_def value=1> %s\n", $text{'gedit_add'};
print "<input name=membersadd size=20> ",
	&user_chooser_button("membersadd", 1),"<br>\n";
printf "<input type=radio name=members_def value=2> %s\n", $text{'gedit_del'};
print "<input name=membersdel size=20> ",
	&user_chooser_button("membersdel", 1),"</td> </tr>\n";

print "</table></td> </tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'onsave'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'chgid'}</b></td>\n";
print "<td><input type=radio name=chgid value=0 checked> $text{'no'}</td>\n";
print "<td><input type=radio name=chgid value=1> $text{'gedit_homedirs'}</td>\n";
print "<td><input type=radio name=chgid value=2> $text{'gedit_allfiles'}</td> </tr>\n";

print "<tr> <td><b>$text{'uedit_servs'}</b></td>\n";
print "<td><input type=radio name=servs value=1> $text{'uedit_mall'}</td>\n";
print "<td><input type=radio name=servs value=0 checked> $text{'uedit_mthis'}</td> </tr>\n";

print "</table></td> </tr></table><p>\n";

print "<table width=100%>\n";
print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";

# Find the servers this group is on
foreach $h (@hosts) {
	local ($og) = grep { $_->{'group'} eq $in{'group'} } @{$h->{'groups'}};
	if ($og) {
		local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
		push(@icons, "/servers/images/$s->{'type'}.gif");
		push(@links, "edit_host.cgi?id=$h->{'id'}");
		push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
		}
	}
if (@icons < @hosts) {
	# Offer to create on all servers
	print "</form><form action=\"sync.cgi\">\n";
	print "<input type=hidden name=hosts_mode value=1>\n";
	print "<input type=hidden name=users_mode value=0>\n";
	print "<input type=hidden name=groups_mode value=2>\n";
	print "<input type=hidden name=gsel value='$ginfo{'group'}'>\n";
	print "<td align=middle><input type=submit ",
	      "value=\"$text{'uedit_sync'}\"></td>\n";
	}

print "</form><form action=\"delete_group.cgi\">\n";
print "<input type=hidden name=group value=\"$ginfo{'group'}\">\n";
print "<td align=right><input type=submit value=\"$text{'delete'}\"></td> </tr>\n";
print "</form></table><p>\n";

print "<hr>\n";
print "<h3>$text{'uedit_hosts'}</h3>\n";
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010006ee2b000081e40000000000000002000000013d1fe2e6000009d2000000200000000000000000000000000000002600000003reloc/cluster-useradmin/edit_host.cgi #!/usr/local/bin/perl
# edit_host.cgi
# Display users and groups on some host

require './cluster-useradmin-lib.pl';
&ReadParse();
&header($text{'host_title'}, "");
print "<hr>\n";

@hosts = &list_useradmin_hosts();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
$server = &foreign_call("servers", "get_server", $in{'id'});
@packages = @{$host->{'packages'}};

# Show host details
print "<form action=delete_host.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'host_name'}</b></td>\n";
if ($server->{'id'}) {
	printf "<td><a href='/servers/link.cgi/%s/'>%s</a></td>\n",
		$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
	}
else {
	print "<td><a href=/>$text{'this_server'}</a></td>\n";
	}

if ($server->{'id'}) {
	print "<td><b>$text{'host_type'}</b></td> <td>\n";
	foreach $t (@servers::server_types) {
		print $t->[1] if ($t->[0] eq $server->{'type'});
		}
	print "</td>\n";
	}
print "</tr>\n";

print "<tr> <td><b>$text{'host_users'}</b></td>\n";
printf "<td>%d</td>\n", scalar(@{$host->{'users'}});

print "<td><b>$text{'host_groups'}</b></td>\n";
printf "<td>%d</td> </tr>\n", scalar(@{$host->{'groups'}});

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'host_delete'}'></form>\n";

# Show users and groups
print "<hr>\n";
print "<h3>$text{'host_ulist'}</h3>\n";
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'index_users'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
foreach $u (@{$host->{'users'}}) {
	if ($i%4 == 0) { print "<tr>\n"; }
	print "<td><a href=\"edit_user.cgi?user=$u->{'user'}&",
	      "host=$server->{'id'}\">$u->{'user'}</a></td>\n";
	if ($i%4 == 3) { print "</tr>\n"; }
	$i++;
	}
print "</table></td> </tr></table>\n";

print "<h3>$text{'host_glist'}</h3>\n";
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'index_groups'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
foreach $g (@{$host->{'groups'}}) {
	if ($j%4 == 0) { print "<tr>\n"; }
	print "<td><a href=\"edit_group.cgi?group=$g->{'group'}&",
	      "host=$server->{'id'}\">$g->{'group'}</a></td>\n";
	if ($j%4 == 3) { print "</tr>\n"; }
	$j++;
	}
print "</table></td> </tr></table>\n";

print "<br><hr>\n";
&footer("", $text{'index_return'});

  0707010006ee2c000081e40000000000000002000000013d1fe2e600004353000000200000000000000000000000000000002600000003reloc/cluster-useradmin/edit_user.cgi #!/usr/local/bin/perl
# edit_user.cgi
# Display a form for editing a user, or creating a new user

require './cluster-useradmin-lib.pl';
require 'timelocal.pl';
&ReadParse();
&foreign_require("useradmin", "user-lib.pl");

@hosts = &list_useradmin_hosts();
@servers = &list_servers();
if ($in{'host'} ne '') {
	($host) = grep { $_->{'id'} == $in{'host'} } @hosts;
	local ($u) = grep { $_->{'user'} eq $in{'user'} } @{$host->{'users'}};
	%uinfo = %$u;
	}
else {
	foreach $h (@hosts) {
		local ($u) = grep { $_->{'user'} eq $in{'user'} } @{$h->{'users'}};
		if ($u) {
			$host = $h;
			%uinfo = %$u;
			last;
			}
		}
	}
($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
&header($text{'uedit_title'}, "");
print "<center><font size=+1>",&text('uedit_host', $serv->{'desc'} ?
	$serv->{'desc'} : $serv->{'host'}),"</font></center>\n";

# build list of used shells
foreach $h (@hosts) {
	foreach $u (@{$h->{'users'}}) {
		push(@shlist, $u->{'shell'}) if ($u->{'shell'});
		}
	}
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

print "<hr><form action=save_user.cgi method=post>\n";
print "<input type=hidden name=olduser value=\"$in{'user'}\">\n";
print "<input type=hidden name=host value=\"$host->{'id'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'user'}</b></td>\n";
print "<td><input name=user size=10 value=\"$uinfo{'user'}\"></td> </tr>\n";

print "<tr> <td><b>$text{'uid'}</b></td>\n";
printf "<td><input type=radio name=uid_def value=1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $uinfo{'uid'};
printf "<input type=radio name=uid_def value=0> %s\n",
	$text{'uedit_set'};
print "<input name=uid size=10></td> </tr>\n";

if ($uconfig{'extra_real'}) {
	local @real = split(/,/, $uinfo{'real'}, 5);

	print "<tr> <td><b>$text{'real'}</b></td> <td>\n";
	printf "<input type=radio name=real_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $real[0] ? $real[0] : $text{uedit_none};
	printf "<input type=radio name=real_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=real size=20></td> </tr>\n";

	print "<tr> <td><b>$text{'office'}</b></td> <td>\n";
	printf "<input type=radio name=office_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $real[1] ? $real[1] : $text{uedit_none};
	printf "<input type=radio name=office_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=office size=20></td> </tr>\n";

	print "<tr> <td><b>$text{'workph'}</b></td> <td>\n";
	printf "<input type=radio name=workph_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $real[2] ? $real[2] : $text{uedit_none};
	printf "<input type=radio name=workph_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=workph size=20></td> </tr>\n";

	print "<tr> <td><b>$text{'homeph'}</b></td> <td>\n";
	printf "<input type=radio name=homeph_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $real[3] ? $real[3] : $text{uedit_none};
	printf "<input type=radio name=homeph_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=homeph size=20></td> </tr>\n";

	print "<tr> <td><b>$text{'extra'}</b></td> <td>\n";
	printf "<input type=radio name=extra_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $real[4] ? $real[4] : $text{uedit_none};
	printf "<input type=radio name=extra_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=extra size=20></td> </tr>\n";
	}
else {
	if (length($uinfo{'real'}) > 20) {
		$uinfo{'real'} =~ s/,.*$//;
		}
	print "<tr> <td><b>$text{'real'}</b></td> <td>\n";
	printf "<input type=radio name=real_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'},
		$uinfo{'real'} ? $uinfo{'real'} : $text{uedit_none};
	printf "<input type=radio name=real_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=real size=30></td> </tr>\n";
	}

print "<tr> <td><b>$text{'home'}</b></td>\n";
printf "<td><input type=radio name=home_def value=1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $uinfo{'home'};
if ($uconfig{'home_base'}) {
	printf "<input type=radio name=home_def value=2> %s\n",
		$text{'uedit_auto'};
	}
printf "<input type=radio name=home_def value=0> %s\n",
	$text{'uedit_set'};
print "<input name=home size=30> ",&file_chooser_button("home", 1),
      "</td> </tr>\n";

print "<tr> <td><b>$text{'shell'}</b></td>\n";
printf "<td><input type=radio name=shell_def value=1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $uinfo{'shell'};
printf "<input type=radio name=shell_def value=0> %s\n",
	$text{'uedit_set'};
print "<select name=shell>\n";
@shlist = &unique(@shlist);
foreach $s (@shlist) {
	printf "<option value='%s'>%s\n", $s,
		$s eq "" ? "&lt;None&gt;" : $s;
	}
print "</select></td>\n";

print "<tr> <td valign=top><b>$text{'pass'}</b></td>\n";
printf "<td><input type=radio name=passmode value=-1 checked> %s (%s)\n",
	$text{'uedit_leave'}, $uinfo{'pass'};
printf "<input type=radio name=passmode value=0> %s\n",
	$uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'};
printf "<input type=radio name=passmode value=1> %s<br>\n", $text{'nologin'};
printf "<input type=radio name=passmode value=3> %s\n", $text{'clear'};
printf "<input %s name=pass size=15>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "";
printf "<input type=radio name=passmode value=2> %s\n",
	$text{'encrypted'};
printf "<input name=encpass size=13></td> </tr>\n";

print "</table></td></tr></table><p>\n";

$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 1 || $pft == 6) {
	# This is a BSD system.. a few extra password options are supported
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td><b>$text{'change2'}</b></td> <td>\n";
	printf "<input type=radio name=change_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'change'} ?
		    scalar(localtime($uinfo{'change'})) : $text{'uedit_none'};
	printf "<input type=radio name=change_def value=0> %s\n",
		$text{'uedit_set'};
	&date_input("", "", "", 'change');
	print " &nbsp; <input name=changeh size=3>";
	print ":<input name=changemi size=3></td> </tr>\n";

	print "<tr> <td><b>$text{'expire2'}</b></td> <td>\n";
	printf "<input type=radio name=expire_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'expire'} ?
		    scalar(localtime($uinfo{'expire'})) : $text{'uedit_none'};
	printf "<input type=radio name=expire_def value=0> %s\n",
		$text{'uedit_set'};
	&date_input("", "", "", 'expire');
	print " &nbsp; <input name=expireh size=3>";
	print ":<input name=expiremi size=3></td> </tr>\n";

	print "<tr> <td><b>$text{'class'}</b></td> <td>\n";
	printf "<input type=radio name=class_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'class'} ? $uinfo{'class'}
						      : $text{'uedit_none'};
	printf "<input type=radio name=class_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input name=class size=10></td> </tr>\n";

	print "</table></td></tr></table><p>\n";
	}
elsif ($pft == 2) {
	# System has a shadow password file as well.. which means it supports
	# password expiry and so on
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'change'}</b></td>\n";
	if ($uinfo{'change'}) {
		@tm = localtime(timelocal(gmtime($uinfo{'change'} * 60*60*24)));
		printf "<td>%s/%s/%s</td> </tr>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		}
	else { print "<td>$text{'uedit_unknown'}</td> </tr>\n"; }

	print "<td><b>$text{'expire'}</b></td> <td>\n";
	if ($uinfo{'expire'}) {
		@tm = localtime($uinfo{'expire'} * 60*60*24);
		$eday = $tm[3];
		$emon = $tm[4]+1;
		$eyear = $tm[5]+1900;
		}
	printf "<input type=radio name=expire_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'expire'} ? "$eday/$emon/$eyear"
						       : $text{'uedit_none'};
	printf "<input type=radio name=expire_def value=0> %s\n",
		$text{'uedit_set'};
	&date_input(undef, undef, undef, 'expire');
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'min'}</b></td>\n";
	printf "<td><input type=radio name=min_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'min'} ? $uinfo{'min'}
						    : $text{'uedit_none'};
	printf "<input type=radio name=min_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=min></td> </tr>\n";

	print "<tr> <td><b>$text{'max'}</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'max'} ? $uinfo{'max'}
						    : $text{'uedit_none'};
	printf "<input type=radio name=max_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=max></td></tr>\n";

	print "<tr> <td><b>$text{'warn'}</b></td>\n";
	printf "<td><input type=radio name=warn_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'warn'} ? $uinfo{'warn'}
						     : $text{'uedit_none'};
	printf "<input type=radio name=warn_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=warn></td> </tr>\n";

	print "<tr> <td><b>$text{'inactive'}</b></td> <td>\n";
	printf "<input type=radio name=inactive_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'inactive'} ? $uinfo{'inactive'}
							 : $text{'uedit_none'};
	printf "<input type=radio name=inactive_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=inactive></td></tr>\n";

	print "</table></td></tr></table><p>\n";
	}
elsif ($pft == 4) {
	# This is an AIX system
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'change'}</b></td>\n";
	if ($uinfo{'change'}) {
		@tm = localtime($uinfo{'change'});
		printf "<td>%s/%s/%s %2.2d:%2.2d:%2.2d</td> </tr>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900,
			$tm[2], $tm[1], $tm[0];
		}
	else { print "<td>$text{'uedit_unknown'}</td> </tr>\n"; }

	print "<td><b>$text{'expire'}</b></td> <td>\n";
	if ($uinfo{'expire'}) {
		$uinfo{'expire'} =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
		$emon = $1;
		$eday = $2;
		$ehour = $3;
		$emin = $4;
		$eyear = $5;
		if ($eyear > 38) {
			$eyear += 1900;
			}
		else {
			$eyear += 2000;
			}
		}
	$emon =~ s/0(\d)/$1/;	# strip leading 0 
	printf "<input type=radio name=expire_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'},
		$uinfo{'expire'} ? "$eday/$emon/$eyear $ehour:$emin"
				 : $text{'uedit_none'};
	printf "<input type=radio name=expire_def value=0> %s\n",
		$text{'uedit_set'};
	&date_input(undef, undef, undef, 'expire');
	print " &nbsp; <input name=expireh size=3>";
	print "<b>:</b><input name=expiremi size=3></td> </tr>\n";

	print "<tr> <td><b>$text{'min_weeks'}</b></td>\n";
	printf "<td><input type=radio name=min_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'min'} ? $uinfo{'min'}
						    : $text{'uedit_none'};
	printf "<input type=radio name=min_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=min></td> </tr>\n";

	print "<td><b>$text{'max_weeks'}</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'max'} ? $uinfo{'max'}
						    : $text{'uedit_none'};
	printf "<input type=radio name=max_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=max></td></tr>\n";

	print "<tr> <td valign=top><b>$text{'warn'}</b></td>\n";
	printf "<td><input type=radio name=warn_def value=1 checked> %s (%s)\n",
		$text{'uedit_leave'}, $uinfo{'warn'} ? $uinfo{'warn'}
						     : $text{'uedit_none'};
	printf "<input type=radio name=warn_def value=0> %s\n",
		$text{'uedit_set'};
	print "<input size=5 name=warn></td> </tr>\n";

	print "<td valign=top><b>$text{'flags'}</b></td> <td>\n";
	printf "<input type=radio name=flags_def value=1 checked> %s\n",
		$text{'uedit_leave'};
	printf "<input type=radio name=flags_def value=0> %s\n",
		$text{'uedit_set'};
	printf "<input type=checkbox name=flags value=admin %s> %s<br>\n",
		$text{'uedit_admin'};
	printf "<input type=checkbox name=flags value=admchg %s> %s<br>\n",
		$text{'uedit_admchg'};
	printf "<input type=checkbox name=flags value=nocheck %s> %s\n",
		$text{'uedit_nocheck'};
	print "</td> </tr>\n";

	print "</table></td></tr></table><p>\n";
	}

# Output group memberships
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_gmem'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group'}</b></td>\n";
printf "<td><input type=radio name=gid_def value=1 checked> %s (%s)\n",
	$text{'uedit_leave'}, scalar(getgrgid($uinfo{'gid'}));
printf "<input type=radio name=gid_def value=0> %s\n",
	$text{'uedit_set'};
printf "<input name=gid size=8>\n";
print "<input type=button onClick='ifield = document.forms[0].gid; chooser = window.open(\"/useradmin/my_group_chooser.cgi?multi=0&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=300,height=200\"); chooser.ifield = ifield' value=\"...\"></td> </tr>\n";

foreach $g (@{$host->{'groups'}}) {
	@mems = split(/,/ , $g->{'members'});
	push(@ugroups, $g->{'group'}) if (&indexof($uinfo{'user'}, @mems) >= 0);
	}
print "<tr> <td valign=top><b>$text{'uedit_2nd'}</b></td> <td>\n";
printf "<input type=radio name=sgid_def value=0 checked> %s (%s)<br>\n",
	$text{'uedit_leave'},
	@ugroups ? join(", ", @ugroups) : $text{'uedit_none'};
printf "<input type=radio name=sgid_def value=1> %s\n",
	$text{'uedit_addto'};
printf "<input name=sgidadd size=40> %s<br>\n",
	&group_chooser_button("sgidadd", 1);
printf "<input type=radio name=sgid_def value=2> %s\n",
	$text{'uedit_delfrom'};
printf "<input name=sgiddel size=40> %s</td> </tr>\n",
	&group_chooser_button("sgiddel", 1);
print "</table></td></tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'onsave'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'uedit_movehome'}</b></td>\n";
print "<td><input type=radio name=movehome value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=movehome value=0> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'uedit_chuid'}</b></td>\n";
print "<td><input type=radio name=chuid value=0> $text{'no'}</td>\n";
print "<td><input type=radio name=chuid value=1 checked> ",
      "$text{'home'}</td>\n";
print "<td><input type=radio name=chuid value=2> ",
      "$text{'uedit_allfiles'}</td></tr>\n";

print "<tr> <td><b>$text{'chgid'}</b></td>\n";
print "<td><input type=radio name=chgid value=0> $text{'no'}</td>\n";
print "<td><input type=radio name=chgid value=1 checked> ".
      "$text{'home'}</td>\n";
print "<td><input type=radio name=chgid value=2> ",
      "$text{'uedit_allfiles'}</td></tr>\n";

print "<tr> <td><b>$text{'uedit_servs'}</b></td>\n";
print "<td><input type=radio name=servs value=1> $text{'uedit_mall'}</td>\n";
print "<td><input type=radio name=servs value=0 checked> $text{'uedit_mthis'}</td> </tr>\n";

print "<tr> <td><b>$text{'uedit_mothers'}</b></td>\n";
print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";

print "</table></td> </tr></table><p>\n";

print "<table width=100%>\n";
print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";

# Find the servers this user is on
foreach $h (@hosts) {
	local ($ou) = grep { $_->{'user'} eq $in{'user'} } @{$h->{'users'}};
	if ($ou) {
		local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
		push(@icons, "/servers/images/$s->{'type'}.gif");
		push(@links, "edit_host.cgi?id=$h->{'id'}");
		push(@titles, $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
		}
	}
if (@icons < @hosts) {
	# Offer to create on all servers
	print "</form><form action=\"sync.cgi\">\n";
	print "<input type=hidden name=makehome value=1>\n";
	print "<input type=hidden name=copy_files value=1>\n";
	print "<input type=hidden name=hosts_mode value=1>\n";
	print "<input type=hidden name=users_mode value=2>\n";
	print "<input type=hidden name=usel value='$uinfo{'user'}'>\n";
	print "<input type=hidden name=groups_mode value=0>\n";
	print "<input type=hidden name=user value=\"$uinfo{'user'}\">\n";
	print "<td align=middle><input type=submit ",
	      "value=\"$text{'uedit_sync'}\"></td>\n";
	}

print "</form><form action=\"delete_user.cgi\">\n";
print "<input type=hidden name=user value=\"$uinfo{'user'}\">\n";
print "<td align=right><input type=submit ",
      "value=\"$text{'delete'}\"></td> </tr>\n";
print "</form></table><p>\n";

print "<hr>\n";
print "<h3>$text{'uedit_hosts'}</h3>\n";
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("", $text{'index_return'});

# date_input(day, month, year, prefix)
sub date_input
{
print "<input name=$_[3]d size=3 value='$_[0]'>";
print "/<select name=$_[3]m>\n";
local $m;
foreach $m (1..12) {
	printf "<option value=%d %s>%s\n",
		$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
	}
print "</select>";
print "/<input name=$_[3]y size=5 value='$_[2]'>";
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
}

 0707010006ee2d000081e40000000000000002000000013d1fe2e60000075a000000200000000000000000000000000000002700000003reloc/cluster-useradmin/group_form.cgi    #!/usr/local/bin/perl
# group_form.cgi
# Display a form for creating a new group

require './cluster-useradmin-lib.pl';
&ReadParse();
&header($text{'gedit_title2'}, "", "create_group");
print "<hr>\n";
@hosts = &list_useradmin_hosts();

print "<form action=\"create_group.cgi\" method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'gedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'gedit_group'}</b></td>\n";
print "<td valign=top><input name=group size=10></td>\n";

print "<td valign=top><b>$text{'gedit_gid'}</b></td>\n";
foreach $h (@hosts) {
	foreach $g (@{$h->{'groups'}}) {
		$used{$g->{'gid'}}++;
		}
	}
$newgid = $uconfig{'base_gid'};
while($used{$newgid}) {
	$newgid++;
	}
print "<td valign=top><input name=gid size=10 value='$newgid'></td>\n";
print "</tr>\n";

print "<tr> <td valign=top><b>$text{'pass'}</b></td> <td>\n";
print "<input type=radio name=passmode value=0 checked> $text{'none2'}<br>\n";
print "<input type=radio name=passmode value=1> $text{'encrypted'}\n";
print "<input name=encpass size=13><br>\n";
print "<input type=radio name=passmode value=2> $text{'clear'}\n";
print "<input name=pass size=15></td>\n";

print "<td valign=top><b>$text{'gedit_members'}</b></td>\n";
print "<td><table><tr><td><textarea wrap=auto name=members rows=5 cols=10>",
      "</textarea></td>\n";
print "<td valign=top><input type=button onClick='ifield = document.forms[0].members; chooser = window.open(\"my_user_chooser.cgi?multi=1&user=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=500,height=200\"); chooser.ifield = ifield' value=\"...\"></td></tr></table></td> </tr>\n";
print "</table></td></tr></table><p>\n";

print "<input type=submit value=\"$text{'create'}\"></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000703ae000041ed0000000000000001000000023d1ff9f000000000000000200000000000000000000000000000001d00000003reloc/cluster-useradmin/help  070701000703af000081a40000000000000002000000013d1fe2e600000699000000200000000000000000000000000000002b00000003reloc/cluster-useradmin/help/intro.ca.html    <header>Paquets de Programari de Cluster</header>

Aquest mòdul de Webmin permet gestionar la configuració d'usuaris i 
grups en múltiples servidors d'un cluster des d'una sola interfície.
És similar al mòdul d'Usuaris i Grups, però amb la capacitat d'executar
la major part de funcions (com la creació, actualització i supressió)
d'usuaris en molts servidors Webmin amb una sola operació.<p>

La part superior de la pàgina principal sota la capçalera de Servidors
Gestionats llista altres servidors Webmin els usuaris i grups dels quals
estan gestionats per aquest mòdul. Per afegir un servidor a la llista,
primer l'has d'afegir al mòdul de Servidors Webmin, amb un nom d'usuari 
i una contrasenya especificats per entrar al Webmin d'aquest servidor.
Llavors, podràs seleccionar el servidor de la llista del costat del
botó Afegeix Servidor .<p>

Quan s'afegeix un servidor, el mòdul comprovarà que està fent servir 
el mateix format de fitxer d'usuaris que aquest servidor, i llavors en
descarregarà la llista de tots els usuaris i grups per fer-ne un cau local.
Un servidor que sempre apareix a la llista d'aquells disponibles per
afegir és 'aquest servidor', de manera que puguis gestionar els usuaris
localment i en múltiples servidors remots des d'una sola interfície. <p>

Mentre hi hagi almenys una icona sota Servidors Gestionats, pots fer servir
els formularis Busca usuaris i Busca Grups per buscar usuaris i grups a
tots els servidors, i els botons Afegeix Usuari i Afegeix Grup per afegir-los
a tots els servidors. El botó Sincronitza es pot fer servir per crear
automàticament qualsevol usuari que existeixi en alguns servidors del
cluster, però no en d'altres. <p>

<hr>


   070701000703b0000081a40000000000000002000000013d1fe2e6000005bd000000200000000000000000000000000000002800000003reloc/cluster-useradmin/help/intro.html   <header>Cluster Software Packages</header>

This Webmin module allows you to manage the users and groups setup
on multiple servers in a cluster from the one interface. It is similar to
the Users and Groups module, but with the ability to perform most
functions (like creation, updating and deletion) of users on many
Webmin servers in one operation. <p>

The top part of the main page under the Managed Servers heading lists
other Webmin servers whose users and groups are being managed by this module. To
add a server to this list, you must first add it to the Webmin Servers
module, with a username and password specified to login to Webmin on
that server. You can then select the server from the list next to the
Add Server button. <p>

When a server is added, the module will check to make sure it is using
the same user file format as this server, and then download a list of
all users and groups for caching locally.
One server that will always appear on the list of those available to
add is 'this server', so that you can manage users locally and on
multiple remote servers from the one interface. <p>

Once there is at least one icon under Managed Servers, you can use the
Find users and Find groups forms to search for users and groups across all
servers, and the Add User and Add Group buttons to add to all servers.
The Synchronize button can be used to automatically
create any users that exist on some servers in the cluster but not on
others. <p>

<hr>

   07070100071c07000041ed0000000000000001000000023d1ff9f000000000000000200000000000000000000000000000001f00000003reloc/cluster-useradmin/images    07070100071c08000081a40000000000000002000000013d1fe2e6000001f5000000200000000000000000000000000000002800000003reloc/cluster-useradmin/images/icon.gif   GIF87a0 0 Â  ÿÿÿÌÌÌ   fffÿ  ÌÌÿ      ,    0 0  þºÜþ.ÈI)¼øIÁ»—Y¸tÍæ 4¬âÉ˜g—:kÅÂsÄ<µ §xHÙd]b6XoÊ™1šÎg§¹ô”@lˆƒí~«K¦­U®îËúFæºáÌ å±WðVjYP+ˆˆX{„9${n€aMZ [5q,6ƒ#9›’~ˆ‰«Ÿi£±
u~ŒŽk¥´µ±©¯¹z»N½§›Ày Ä*Ž sY¾ÊÁ©”ÎÅ°YÔÉ©¶ÚÏLWƒ¥
,u —•rÑÒçð¿ŽÂ?ío"éèåû“ÿ äÓ7ç]·€&‘Ó5oV²lX\R ‡ ¿¾ýÐ˜Ã¦bˆLšÒmÖÏÇ=k=	Qà“ºâyxä½—"¼54ÕÖ¡u{4U@—ÛJP
å š4w–â ã°(Ôg˜M˜Š†è>•[øèâEIC2kQÀ:ÖˆX³Â[Ë•.$xóêÝËW/»<|ì4÷"ìTÀÑ¤œÃÎíaÃ#.Ø˜«Ö¥nRF¸‰¹3%ÍJ]zNƒyß`¥¯J_iµÈÜi°.€º³>£¸²}»ÁîÒžf#
Ô;¸p		  ;   0707010006ee2e000081e40000000000000002000000013d1fe2e600001055000000200000000000000000000000000000002200000003reloc/cluster-useradmin/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display hosts on which users are being managed, and inputs for adding more

require './cluster-useradmin-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

# Display hosts on which users will be managed
print "<h3>$text{'index_hosts'}</h3>\n";
@servers = &list_servers();
@hosts = &list_useradmin_hosts();
if ($config{'sort_mode'}) {
	@hosts = sort { my ($as) = grep { $_->{'id'} == $a->{'id'} } @servers;
			my ($bs) = grep { $_->{'id'} == $b->{'id'} } @servers;
			$as->{'host'} cmp $bs->{'host'} } @hosts;
	}
$formno = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	next if (!$s);
	push(@titles, $s->{'desc'} ? $s->{'desc'}
				   : "$s->{'host'}:$s->{'port'}");
	push(@links, "edit_host.cgi?id=$h->{'id'}");
	push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
	push(@installed, @{$h->{'packages'}});
	$gothost{$h->{'id'}}++;
	}
if (@links) {
	&icons_table(\@links, \@titles, \@icons);
	}
else {
	print "<b>$text{'index_nohosts'}</b><p>\n";
	}
$formno++;
print "<form action=add.cgi>\n";
print "<table width=100%><tr>\n";
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
if (@addservers) {
	print "<td><input type=submit name=add value='$text{'index_add'}'>\n";
	print "<select name=server>\n";
	foreach $s (@addservers) {
		print "<option value=$s->{'id'}>",
			$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"\n";
		}
	print "</select></td>\n";
	}
@groups = &servers::list_all_groups(\@servers);
if (@groups) {
	print "<td align=right><input type=submit name=gadd ",
	      "value='$text{'index_gadd'}'>\n";
	print "<select name=group>\n";
	foreach $g (@groups) {
		print "<option>$g->{'name'}\n";
		}
	print "</select></td>\n";
	}
print "</tr></table></form>\n";

if (@hosts) {
	# Display search and add forms
	print "<hr>\n";
	print "<h3>$text{'index_users'}</h3>\n";

	print "<table width=100%><tr>\n";
	print "<form action=search_user.cgi><td>\n";
	print "<b>$text{'index_finduser'}</b> <select name=field>\n";
	print "<option value=user checked>$text{'user'}\n";
	print "<option value=real>$text{'real'}\n";
	print "<option value=shell>$text{'shell'}\n";
	print "<option value=home>$text{'home'}\n";
	print "<option value=uid>$text{'uid'}\n";
	print "</select> <select name=match>\n";
	print "<option value=0 checked>$text{'index_equals'}\n";
	print "<option value=4>$text{'index_contains'}\n";
	print "<option value=1>$text{'index_matches'}\n";
	print "<option value=5>$text{'index_ncontains'}\n";
	print "<option value=3>$text{'index_nmatches'}\n";
	print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'find'}\"></td></form>\n";

	print "<form action=user_form.cgi><td align=right>\n";
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value='$text{'index_newuser'}'>\n";
	print "</td></form></tr>\n";

	print "<tr><form action=search_group.cgi><td>\n";
	print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
	print "<option value=group checked>$text{'gedit_group'}\n";
	print "<option value=members>$text{'gedit_members'}\n";
	print "<option value=gid>$text{'gedit_gid'}\n";
	print "</select> <select name=match>\n";
	print "<option value=0 checked>$text{'index_equals'}\n";
	print "<option value=4>$text{'index_contains'}\n";
	print "<option value=1>$text{'index_matches'}\n";
	print "<option value=5>$text{'index_ncontains'}\n";
	print "<option value=3>$text{'index_nmatches'}\n";
	print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'find'}\"></td></form>\n";

	print "<form action=group_form.cgi><td align=right>\n";
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value='$text{'index_newgroup'}'>\n";
	print "</td></form></tr>\n";

	print "<tr><form action=refresh.cgi>\n";
	print "<td><input type=submit value='$text{'index_refresh'}'></td>\n";
	print "</form>\n";

	print "<form action=sync_form.cgi>\n";
	print "<td align=right><input type=submit ",
	      "value='$text{'index_sync'}'></td>\n";
	print "</form></tr> </table>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

   07070100073292000041ed0000000000000001000000023d1ff9f000000000000000200000000000000000000000000000001d00000003reloc/cluster-useradmin/lang  07070100073293000081a40000000000000002000000013d1fe2e60000121d000000200000000000000000000000000000002000000003reloc/cluster-useradmin/lang/ca   index_title=Usuaris i Grups de Cluster
index_hosts=Servidors Gestionats
index_nohosts=No s'ha registrat cap servidor Webmin per a la gestió d'usuaris.
index_add=Afegeix servidor
index_gadd=Afegeix servidors al grup
index_users=Usuaris i Grups
index_return=a la llista de servidors
index_refresh=Refresca les llistes d&#039usuaris i grups
index_finduser=Busca usuaris tals que
index_findgroup=Busca grups tals que
index_newuser=Afegeix Usuari
index_newgroup=Afegeix Grup
index_sync=Sincronitza
this_server=aquest servidor

add_title=Addició Servidors
add_msg=Afegint $1...
add_gmsg=Afegint servidors al grup $1...
add_err=No he pogut afegir el servidor
add_gerr=No he pogut afegir el grup
add_echeck=El servidor $1 no té el mòdul d'usuaris i grups
add_epft=El servidor $1 no fa servir el mateix format de fitxer d'usuaris que aquest host
add_egft=El servidor $1 no fa servir el mateix format de fitxer de grups que aquest host
add_ok=He afegit $1 amb $2 usuaris i $3 grups.

host_title=Servidor Gestionat
host_header=Detalls dels servidor gestionat
host_name=Nom de host
host_type=Tipus de servidor
host_delete=Treu-lo de la llista gestionada
host_users=Nombre d'usuaris
host_groups=Nombre de grups
host_ulist=Usuaris al Servidor
host_glist=Grups al Servidor

refresh_title=Refresc d'Usuaris i Grups
refresh_header=Tornant a demanar les llistes de grups i usuaris de tots els servidors...
refresh_host=He refrescat $1
refresh_uadd=He afegit $1 usuaris
refresh_udel=He tret $1 usuaris
refresh_gadd=He afegit $1 grups
refresh_gdel=He tret $1 grups
refresh_done=...fet
refresh_del=He tret $1 de la llista de servidors
refresh_failed=No he pogut refrescar $1: $2

uedit_host=Detalls de $1
uedit_leave=No ho canviïs
uedit_set=Estableix a
uedit_none=Cap
uedit_addto=Afegeix als grups
uedit_delfrom=Treu dels grups
uedit_hosts=Existeix als Servidors
uedit_servs=Fes les operacions de fitxer de sobre amb
uedit_mall=Tots els servidors
uedit_mthis=Un servidor
uedit_sync=Afegeix als Altres Servidors
uedit_makehome=Crea el directori arrel si no hi és
uedit_others=Crea l'usuari als altres mòduls

usave_einuse=Ja hi ha a $1 un usuari amb el mateix nom
usave_esecgid=El grup secundari $1 no existeix
usave_con=Creant a $1...
usave_mkhome=Creant el directori arrel...
usave_create=Afegint l'entrada al fitxer de contrasenyes...
usave_others=Creaant als altres mòduls...
usave_copy=Copiant els fitxers al directori arrel...
usave_groups=Afegint als grups...
usave_uon=Actualitzant $1...
usave_update=Actualitzant l'entrada del fitxer de contrasenyes...
usave_move=Desplaçant el directori arrel...
usave_gid=Canviant el GID als fitxers...
usave_uid=Canviant el UID als fitxers...
usave_rgroups=Renomenant als grups...
usave_mothers=Actualitzant els altres mòduls...
usave_failed=No he pogut desar l'usuari: $1
usave_gone=L'usuari ja no existeix.

search_hosts=Hosts

udel_on=Suprimint de $1...
udel_servs=Suprimeix el directori si existeix a
udel_others=Suprimeix l'usuari als altres mòduls
udel_dothers=Suprimint als altres mòduls...
udel_gone=L'usuari ja no existeix.
udel_failed=No he pogut suprimir l'usuari: $1

gdel_on=Suprimint de $1...
gdel_gone=L'usuari ja no existeix.
gdel_failed=No he pogut suprimir el grup: $1

gsave_create=Afegint entrada al fitxer de grups...
gsave_con=Creant a $1...
gsave_euser=L'usuari $1 no existeix
gsave_update=Actualitzant l'entrada al fitxer de grups...
gsave_uon=Actualitzant a $1...
gsave_failed=No he pogut desar el grup: $1
gsave_gone=El grup ja no existeix.

gedit_host=Detalls de $1
gedit_add=Afegeix usuaris
gedit_del=Treu usuaris

sync_title=Sincronització de Servidors
sync_desc=Aquest formulari permet crear usuaris i grups als servidors que actualment no els tenen, per tal de tenir els comptes sincronitzats a través de tots els servidors del <i>cluster</i>.
sync_hosts=Servidors a sincronitzar
sync_hall=Tots els servidors
sync_hsel=Seleccionats...
sync_users=Usuaris a crear
sync_uall=Tots els que hi faltin
sync_unone=Cap
sync_usel=Només els usuaris
sync_unot=Tots excepte els usuaris
sync_ugid=Usuaris amb grup primari
sync_uuid=Usuaris amb UID al rang
sync_groups=Grups a crear
sync_gall=Tots els que hi faltin
sync_gnone=Cap
sync_gsel=Només els grups
sync_gnot=Tots excepte els grups
sync_ggid=Grups amb GID al rang
sync_ok=Crea els Usuaris i Grups
sync_on=Sincronitzant $1...
sync_insync=Els usuaris i els grups estan sincronitzats.
sync_ucreate=Afegint l'entrada de $1 al fitxer de contrasenyes...
sync_gcreate=Afegint l'entrada de $1 al fitxer de grups...
sync_test=Mostra només el que caldria fer
sync_makehome=Crea els directoris arrel
sync_copy=Copia els fitxers als directoris arrel


   07070100073294000081a40000000000000002000000013d1fe2e60000105d000000200000000000000000000000000000002000000003reloc/cluster-useradmin/lang/en   index_title=Cluster Users and Groups
index_hosts=Managed Servers
index_nohosts=No Webmin servers have been registered for user management.
index_add=Add server
index_gadd=Add servers in group
index_users=Users and Groups
index_return=servers list
index_refresh=Refresh user and group lists
index_finduser=Find users whose
index_findgroup=Find groups whose
index_newuser=Add User
index_newgroup=Add Group
index_sync=Synchronize
this_server=this server

add_title=Add Servers
add_msg=Adding $1 ..
add_gmsg=Adding servers in group $1 ..
add_err=Failed to add server
add_gerr=Failed to add group
add_echeck=Server $1 does not have the users and groups module
add_epft=Server $1 does not use the same user files format as this host
add_egft=Server $1 does not use the same group file format as this host
add_ok=Added $1 with $2 users and $3 groups.

host_title=Managed Server
host_header=Software managed server details
host_name=Host name
host_type=Server type
host_delete=Remove from managed list
host_users=Number of users
host_groups=Number of groups
host_ulist=Users on Server
host_glist=Groups on Server

refresh_title=Refresh Users and Groups
refresh_header=Re-requesting user and group lists from all servers ..
refresh_host=Refreshed $1
refresh_uadd=added $1 users
refresh_udel=removed $1 users
refresh_gadd=added $1 groups
refresh_gdel=remove $1 groups
refresh_done=.. done
refresh_del=Removed $1 from server list
refresh_failed=Failed to refresh $1 : $2

uedit_host=Details from $1
uedit_leave=Don't change
uedit_set=Set to
uedit_none=None
uedit_addto=Add to groups
uedit_delfrom=Remove from groups
uedit_hosts=Exists on Servers
uedit_servs=Do above file operations on
uedit_mall=All servers
uedit_mthis=One server
uedit_sync=Add to Other Servers
uedit_makehome=Create home directory if missing?
uedit_others=Create user in other modules?

usave_einuse=A user with the same name already exists on $1
usave_esecgid=Secondary group $1 does not exist
usave_con=Creating on $1 ..
usave_mkhome=Creating home directory ..
usave_create=Adding password file entry ..
usave_others=Creating in other modules ..
usave_copy=Copying files to home directory ..
usave_groups=Adding to groups ..
usave_uon=Updating on $1 ..
usave_update=Updating password file entry ..
usave_mothers=Updating in other modules ..
usave_move=Moving home directory ..
usave_gid=Changing GID on files ..
usave_uid=Changing UID on files ..
usave_rgroups=Renaming in groups ..
usave_failed=Failed to save user : $1
usave_gone=User no longer exists.

search_hosts=Hosts

udel_on=Deleting from $1 ..
udel_servs=Delete home directory if exists on
udel_others=Delete user in other modules?
udel_dothers=Deleting in other modules ..
udel_gone=User no longer exists.
udel_failed=Failed to delete user : $1

gdel_on=Deleting from $1 ..
gdel_gone=User no longer exists.
gdel_failed=Failed to delete group : $1

gsave_create=Adding group file entry ..
gsave_con=Creating on $1 ..
gsave_euser=User $1 does not exist
gsave_update=Updating group file entry ..
gsave_uon=Updating on $1 ..
gsave_failed=Failed to save group : $1
gsave_gone=Group no longer exists.

gedit_host=Details from $1
gedit_add=Add users
gedit_del=Remove users

sync_title=Synchronize Servers
sync_desc=This form allows you to create users and groups on servers that do not currently have them, in order to bring accounts into sync across all servers in your cluster.
sync_hosts=Servers to synchronize
sync_hall=All servers
sync_hsel=Selected ..
sync_users=Users to create
sync_uall=All missing users
sync_unone=No users
sync_usel=Only users
sync_unot=All except users
sync_ugid=Users with primary group
sync_uuid=Users with UID in range
sync_groups=Groups to create
sync_gall=All missing groups
sync_gnone=No groups
sync_gsel=Only groups
sync_gnot=All except groups
sync_ggid=Groups with GID in range
sync_ok=Create Users and Groups
sync_on=Synchronizing $1 ..
sync_insync=Users and groups are in sync.
sync_ucreate=Adding password file entry for $1 ..
sync_gcreate=Adding group file entry for $1 ..
sync_test=Only show what would be done?
sync_makehome=Create home directories?
sync_copy=Copy files to home directory?
sync_others=Create user in other modules?
   0707010006ee2f000081a40000000000000002000000013d1fe2ea00000176000000200000000000000000000000000000002400000003reloc/cluster-useradmin/module.info   category=cluster
depends=useradmin servers 0.990
os_support=slackware-linux redhat-linux mandrake-linux solaris debian-linux suse-linux hpux freebsd osf1 open-linux unixware turbo-linux openbsd corel-linux cobalt-linux irix netbsd msc-linux aix generic-linux openserver macos
desc=Cluster Users and Groups
version=0.990
desc_ca=Usuaris i Grups de Cluster
name=Cluster Users
  0707010006ee30000081e40000000000000002000000013d1fe2e600000776000000200000000000000000000000000000002400000003reloc/cluster-useradmin/refresh.cgi   #!/usr/local/bin/perl
# refresh.cgi
# Reload the lists of users and groups from all managed hosts

require './cluster-useradmin-lib.pl';
&header($text{'refresh_title'}, "");
print "<hr>\n";
$| = 1;

# Setup error handler for down hosts
sub ref_error
{
$ref_error_msg = join("", @_);
}
&remote_error_setup(\&ref_error);

print "<b>$text{'refresh_header'}</b><p>\n";
@hosts = &list_useradmin_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	$ref_error_msg = undef;
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	if ($s) {
		# Refresh the list
		local $d = $s->{'desc'} ? $s->{'desc'} : $s->{'host'};
		&remote_foreign_require($s->{'host'}, "useradmin",
					"user-lib.pl");
		if ($ref_error_msg) {
			# Host is down ..
			print &text('refresh_failed', $d,
				    $ref_error_msg),"<br>\n";
			next;
			}
		local $ousers = @{$h->{'users'}};
		local $ogroups = @{$h->{'groups'}};
		local @rusers = &remote_foreign_call($s->{'host'}, "useradmin",
						     "list_users");
		local @rgroups = &remote_foreign_call($s->{'host'}, "useradmin",
						      "list_groups");
		$h->{'users'} = \@rusers;
		$h->{'groups'} = \@rgroups;
		print &text('refresh_host', $d),"\n";
		local @ad;
		if (@rusers > $ousers) {
			push(@ad, &text('refresh_uadd', @rusers - $ousers));
			}
		elsif (@rusers < $ousers) {
			push(@ad, &text('refresh_udel', $ousers - @rusers));
			}
		if (@rgroups > $ogroups) {
			push(@ad, &text('refresh_gadd', @rgroups - $ogroups));
			}
		elsif (@rgroups < $ogroups) {
			push(@ad, &text('refresh_gdel', $ogroups - @rgroups));
			}
		if (@ad) {
			print "(",join(", ", @ad),")";
			}
		&save_useradmin_host($h);
		print "<br>\n";
		}
	else {
		# remove from managed list
		&delete_useradmin_host($h);
		print &text('refresh_del', $h->{'id'}),"<br>\n";
		}
	}
print "<p><b>$text{'refresh_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee31000081e40000000000000002000000013d1fe2e600000efe000000200000000000000000000000000000002700000003reloc/cluster-useradmin/save_group.cgi    #!/usr/local/bin/perl
# save_group.cgi
# Saves an existing group

require './cluster-useradmin-lib.pl';
&error_setup($text{'gsave_err'});
&ReadParse();
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

# Get old group
foreach $h (@hosts) {
	foreach $u (@{$h->{'users'}}) {
		$exists{$u->{'user'}}++;
		}
	}

# Strip out \n characters in inputs
$in{'group'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;

# Validate inputs
$in{'gid_def'} || $in{'gid'} =~ /^[0-9]+$/ ||
	&error(&text('gsave_egid', $in{'gid'}));
if ($in{'members_def'} == 1) {
	@add = split(/\s+/, $in{'membersadd'});
	foreach $u (@add) {
		$exists{$u} || &error(&text('gsave_euser', $u));
		}
	}
elsif ($in{'members_def'} == 2) {
	@del = split(/\s+/, $in{'membersdel'});
	foreach $u (@del) {
		$exists{$u} || &error(&text('gsave_euser', $u));
		}
	}

# Setup error handler for down hosts
sub mod_error
{
$mod_error_msg = join("", @_);
}
&remote_error_setup(\&mod_error);

# Do the changes across all hosts
&header($text{'gedit_title'}, "");
print "<hr>\n";
foreach $host (@hosts) {
	$mod_error_msg = undef;
	local ($group) = grep { $_->{'group'} eq $in{'group'} }
			      @{$host->{'groups'}};
	next if (!$group);
	local ($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	print "<b>",&text('gsave_uon', $serv->{'desc'} ? $serv->{'desc'} :
				       $serv->{'host'}),"</b><p>\n";
	print "<ul>\n";
	&remote_foreign_require($serv->{'host'}, "useradmin", "user-lib.pl");
	if ($mod_error_msg) {
		# Host is down ..
		print &text('gsave_failed', $mod_error_msg),"<p>\n";
		print "</ul>\n";
		next;
		}
	local @glist = &remote_foreign_call($serv->{'host'}, "useradmin",
					    "list_groups");
	($group) = grep { $_->{'group'} eq $in{'group'} } @glist;
	if (!$group) {
		}
	local %ogroup = %$group;

	# Update changed fields
	$group->{'gid'} = $in{'gid'} if (!$in{'gid_def'});
	$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	if ($in{'passmode'} == 0) {
		$group->{'pass'} = "";
		}
	elsif ($in{'passmode'} == 1) {
		$group->{'pass'} = $in{'encpass'};
		}
	elsif ($in{'passmode'} == 2) {
		$group->{'pass'} = crypt($in{'pass'}, $salt);
		}
	local @mems = split(/,/, $group->{'members'});
	if (@add) {
		@mems = &unique(@mems, @add);
		}
	elsif (@del) {
		@mems = grep { &indexof($_, @del) < 0 } @mems;
		}
	$group->{'members'} = join(",", @mems);

	# Update the group on the server
	print "$text{'gsave_update'}<br>\n";
	&remote_foreign_call($serv->{'host'}, "useradmin", "modify_group",
			     \%ogroup, $group);
	print "$text{'udel_done'}<p>\n";

	# Make file changes
	local @ulist;
	if ($in{'servs'} || $host eq $hosts[0]) {
		if ($group->{'gid'} != $ogroup{'gid'} && $in{'chgid'}) {
			# Change GID on files if needed
			if ($in{'chgid'} == 1) {
				# Do all the home directories of users in
				# this group
				print "$text{'usave_gid'}<br>\n";
				@ulist = &remote_foreign_call($serv->{'host'},
						"useradmin", "list_users");
				foreach $u (@ulist) {
					if ($u->{'gid'} == $ogroup{'gid'} ||
					    &indexof($u->{'user'},@mems) >= 0) {
						&remote_foreign_call(
							$serv->{'host'},
							"useradmin",
							"recursive_change",
							$u->{'home'},
							-1, $ogroup{'gid'},
							-1, $group->{'gid'});
						}
					}
				print "$text{'udel_done'}<p>\n";
				}
			elsif ($in{'chgid'} == 2) {
				# Do all files in this group from the root dir
				print "$text{'usave_gid'}<br>\n";
				&remote_foreign_call($serv->{'host'},
					"useradmin", "recursive_change", "/",
					-1, $ogroup{'gid'}, -1,$group->{'gid'});
				print "$text{'udel_done'}<p>\n";
				}
			}
		}

	# Update in local list
	$host->{'groups'} = \@glist;
	if (@ulist) {
		$host->{'users'} = \@ulist;
		}
	&save_useradmin_host($host);
	print "</ul>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee35000081e40000000000000002000000013d1fe2e6000013ea000000200000000000000000000000000000002100000003reloc/cluster-useradmin/sync.cgi  #!/usr/local/bin/perl
# sync.cgi
# Create missing users and groups on servers

require './cluster-useradmin-lib.pl';
&ReadParse();
@hosts = &list_useradmin_hosts();
@servers = &list_servers();
&header($text{'sync_title'}, "");
print "<hr>\n";

if ($in{'hosts_mode'} == 0) {
	# Limit to selected hosts
	map { $host{$_}++ } split(/\0/, $in{'hosts'});
	@phosts = grep { $host{$_->{'id'}} } @hosts;
	}
else {
	@phosts = @hosts;
	}

# Build lists of all users and group
foreach $h (@hosts) {
	foreach $u (@{$h->{'users'}}) {
		push(@ulist, $u) if (!$doneuser{$u->{'user'}}++);
		}
	foreach $g (@{$h->{'groups'}}) {
		push(@glist, $g) if (!$donegroup{$g->{'group'}}++);
		}
	}

# Find users and groups to sync
if ($in{'users_mode'} == 1) {
	@usync = @ulist;
	}
elsif ($in{'users_mode'} == 2) {
	map { $usel{$_}++ } split(/\s+/, $in{'usel'});
	@usync = grep { $usel{$_->{'user'}} } @ulist;
	}
elsif ($in{'users_mode'} == 3) {
	map { $unot{$_}++ } split(/\s+/, $in{'unot'});
	@usync = grep { !$unot{$_->{'user'}} } @ulist;
	}
elsif ($in{'users_mode'} == 4) {
	@usync = grep { (!$in{'uuid1'} || $_->{'uid'} >= $in{'uuid1'}) &&
			(!$in{'uuid2'} || $_->{'uid'} <= $in{'uuid2'}) } @ulist;
	}
elsif ($in{'users_mode'} == 5) {
	local $gid = getgrnam($in{'ugid'});
	@usync = grep { $_->{'gid'} == $gid } @ulist if (defined($gid));
	}

if ($in{'groups_mode'} == 1) {
	@gsync = @glist;
	}
elsif ($in{'groups_mode'} == 2) {
	map { $gsel{$_}++ } split(/\s+/, $in{'gsel'});
	@gsync = grep { $gsel{$_->{'group'}} } @glist;
	}
elsif ($in{'groups_mode'} == 3) {
	map { $gnot{$_}++ } split(/\s+/, $in{'gnot'});
	@gsync = grep { !$gnot{$_->{'group'}} } @glist;
	}
elsif ($in{'groups_mode'} == 4) {
	@gsync = grep { (!$in{'ggid1'} || $_->{'gid'} >= $in{'ggid1'}) &&
			(!$in{'ggid2'} || $_->{'gid'} <= $in{'ggid2'}) } @glist;
	}

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

# Sync on chosen hosts
foreach $host (@phosts) {
	$add_error_msg = undef;
	local ($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	print "<b>",&text('sync_on', $serv->{'desc'} ? $serv->{'desc'} :
				     $serv->{'host'}),"</b><p>\n";
	print "<ul>\n";

	# Find missing users and groups
	local (%usync, %gsync);
	map { $usync{$_->{'user'}}++ } @{$host->{'users'}};
	map { $gsync{$_->{'group'}}++ } @{$host->{'groups'}};
	local @uneed = grep { !$usync{$_->{'user'}} } @usync;
	local @gneed = grep { !$gsync{$_->{'group'}} } @gsync;
	if (@uneed || @gneed) {
		&remote_foreign_require($serv->{'host'},
					"useradmin", "user-lib.pl");
		if ($add_error_msg) {
			# Host is down!
			print "$add_error_msg<p>\n";
			print "</ul>\n";
			next;
			}

		# Create missing users
		foreach $u (@uneed) {
			# Create the user
			print &text('sync_ucreate', $u->{'user'}),"<br>\n";
			if (!$in{'test'}) {
				&remote_foreign_call($serv->{'host'},
					"useradmin", "create_user", $u);
				push(@{$host->{'users'}}, $u);
				}
			print "$text{'udel_done'}<p>\n";

			local $made_home;
			if ($in{'makehome'}) {
				# Create the home directory
				local $exists = &remote_eval($serv->{'host'},
					"useradmin", "-d '$u->{'home'}'");
				if (!$exists) {
					print "$text{'usave_mkhome'}<br>\n";
					if (!$in{'test'}) {
						local $rv = &remote_eval($serv->{'host'}, "useradmin", "mkdir('$u->{'home'}', oct('$uconfig{'homedir_perms'}')) && chmod(oct('$uconfig{'homedir_perms'}'), '$u->{'home'}') ? undef : \$!");
						$rv && &error(&text(
							'usave_emkdir', $rv));

						$rv = &remote_eval($serv->{'host'}, "useradmin", "chown($u->{'uid'}, $u->{'gid'}, '$u->{'home'}')");
						$rv || &error(&text(
							'usave_echown', $rv));
						}
					$made_home = 1;
					print "$text{'udel_done'}<p>\n";
					}
				}

			if ($in{'others'}) {
				# Create in other modules on the server
				print "$text{'usave_others'}<br>\n";
				if (!$in{'test'}) {
					$u->{'passmode'} = 2;
					&remote_foreign_call(
						$serv->{'host'}, "useradmin",
						"other_modules",
						"useradmin_create_user", $u);
					}
				print "$text{'udel_done'}<p>\n";
				}

			if ($in{'copy_files'} && $made_home) {
				# Copy files to new home directory
				local $fconfig = &remote_foreign_config(
						$serv->{'host'}, "useradmin");
				print "$text{'usave_copy'}<br>\n";
				local $uf = $fconfig->{'user_files'};
				local $gn = getgrgid($u->{'gid'});
				$uf =~ s/\$group/$gn/g;
				$uf =~ s/\$gid/$u->{'gid'}/g;
				&remote_foreign_call($serv->{'host'},
					"useradmin",
					"copy_skel_files", $uf, $u->{'home'},
					$u->{'uid'}, $u->{'gid'})
					if (!$in{'test'});
				print "$text{'udel_done'}<p>\n";
				}
			}

		# Create missing groups
		foreach $g (@gneed) {
			print &text('sync_gcreate', $g->{'group'}),"<br>\n";
			if (!$in{'test'}) {
				&remote_foreign_call($serv->{'host'},
					"useradmin", "create_group", $g);
				push(@{$host->{'groups'}}, $g);
				}
			print "$text{'udel_done'}<p>\n";
			}

		# Update in local list
		&save_useradmin_host($host);
		}
	else {
		print "$text{'sync_insync'}<p>\n";
		}
	print "</ul>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006ee32000081e40000000000000002000000013d1fe2e600002f2f000000200000000000000000000000000000002600000003reloc/cluster-useradmin/save_user.cgi #!/usr/local/bin/perl
# save_user.cgi
# Updates an existing user across multiple servers

require './cluster-useradmin-lib.pl';
require 'timelocal.pl';
&error_setup($text{'usave_err'});
&ReadParse();
&foreign_require("useradmin", "user-lib.pl");

# Strip out \n characters in inputs
$in{'real'} =~ s/\r|\n//g;
$in{'user'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'home'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;
$in{'uid'} =~ s/\r|\n//g;
$in{'othersh'} =~ s/\r|\n//g;

# Validate username
$user{'user'} = $in{'user'};
$in{'user'} =~ /^[^:\t]+$/ ||
	&error(&text('usave_ebadname', $in{'user'}));
$uconfig{'max_length'} && length($in{'user'}) > $uconfig{'max_length'} &&
	&error(&text('usave_elength', $uconfig{'max_length'}));

# Get host and old user
@hosts = &list_useradmin_hosts();
@servers = &list_servers();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
if ($in{'user'} ne $in{'olduser'}) {
	# Renaming .. check for clash
	foreach $h (@hosts) {
		local $ou = grep { $_->{'user'} eq $in{'olduser'} }
				 @{$h->{'users'}};
		local $nu = grep { $_->{'user'} eq $in{'user'} }
				 @{$h->{'users'}};
		local ($serv) = grep { $_->{'id'} == $h->{'id'} } @servers;
		&error(&text('usave_einuse', $serv->{'host'})) if ($ou && $nu)
		}
	}

# Validate basic inputs
$in{'uid_def'} || $in{'uid'} =~ /^[0-9]+$/ ||
	&error(&text('usave_euid', $in{'uid'}));
$in{'real_def'} || $in{'real'} =~ /^[^:]*$/ ||
	&error(&text('usave_ereal', $in{'real'}));
$in{'gid_def'} || defined(getgrnam($in{'gid'})) ||
	&error(&text('usave_egid', $in{'gid'}));
if ($uconfig{'extra_real'}) {
	$in{'office_def'} || $in{'office'} =~ /^[^:]*$/ ||
		&error($text{'usave_eoffice'});
	$in{'workph_def'} || $in{'workph'} =~ /^[^:]*$/ ||
		&error($text{'usave_eworkph'});
	$in{'homeph_def'} || $in{'homeph'} =~ /^[^:]*$/ ||
		&error($text{'usave_ehomeph'});
	}
$in{'home_def'} || $in{'home'} =~ /^\// ||
	&error(&text('usave_ehome', $in{'home'}));

$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 2) {
	# Validate shadow-password inputs
	if (!$in{'expire_def'} && $in{'expired'} ne "" &&
	    $in{'expirem'} ne "" && $in{'expirey'} ne "") {
		eval { $expire = timelocal(0, 0, 12, $in{'expired'},
					   $in{'expirem'}-1,
					   $in{'expirey'}-1900); };
		if ($@) { &error($text{'usave_eexpire'}); }
		$expire = int($expire / (60*60*24));
		}
	else { $expire = ""; }
	$in{'min_def'} || $in{'min'} =~ /^[0-9]*$/ ||
		&error(&text('usave_emin', $in{'min'}));
	$in{'max_def'} || $in{'max'} =~ /^[0-9]*$/ ||
		&error(&text('usave_emax', $in{'max'}));
	$in{'warn_def'} || $in{'warn'} =~ /^[0-9]*$/ ||
		&error(&text('usave_ewarn', $in{'warn'}));
	$in{'inactive_def'} || $in{'inactive'} =~ /^[0-9]*$/ ||
		&error(&text('usave_einactive', $in{'inactive'}));
	}
elsif ($pft == 1 || $pft == 6) {
	# Validate BSD password inputs
	if (!$in{'expire_def'} && $in{'expired'} ne "" &&
	    $in{'expirem'} ne "" && $in{'expirey'} ne "") {
		eval { $expire = timelocal(59, $in{'expiremi'},
					   $in{'expireh'},
					   $in{'expired'},
					   $in{'expirem'}-1,
					   $in{'expirey'}-1900); };
		if ($@) { &error($text{'usave_eexpire'}); }
		}
	else { $expire = ""; }
	if (!$in{'change_def'} && $in{'changed'} ne "" &&
	    $in{'changem'} ne "" && $in{'changey'} ne "") {
		eval { $change = timelocal(59, $in{'changemi'},
					   $in{'changeh'},
					   $in{'changed'},
					   $in{'changem'}-1,
					   $in{'changey'}-1900); };
		if ($@) { &error($text{'usave_echange'}); }
		}
	else { $change = ""; }
	$in{'class_def'} || $in{'class'} =~ /^([^: ]*)$/ ||
		&error(&text('usave_eclass', $in{'class'}));
	}
elsif ($pft == 4) {
	# Validate AIX password inputs
	if (!$in{'expire_def'} && $in{'expired'} ne "" && $in{'expirem'} ne ""	
		&& $in{'expirey'} ne "" ) {
		# Add a leading zero if only 1 digit long
		$in{'expirem'} =~ s/^(\d)$/0$1/;
		$in{'expired'} =~ s/^(\d)$/0$1/;
		$in{'expireh'} =~ s/^(\d)$/0$1/;
		$in{'expiremi'} =~ s/^(\d)$/0$1/;
		
		# Only use the last two digits of the year
		$in{'expirey'} =~ s/^\d\d(\d\d)$/$1/;
		
		# If the user didn't choose the hour and min make them 01
		$in{'expireh'} = "01" if $in{'expireh'} eq "";
		$in{'expiremi'} = "01" if $in{'expiremi'} eq "";
		$expire="$in{'expirem'}$in{'expired'}$in{'expireh'}$in{'expiremi'}$in{'expirey'}";
		}
	else { $expire = ""; }
	}

# Validate groups
foreach $h (@hosts) {
	map { $hasgroup{$_->{'group'}}++ } @{$h->{'groups'}};
	}
@check = $in{'sgid_def'} == 1 ? split(/\s+/, $in{'sgidadd'}) :
	 $in{'sgid_def'} == 2 ? split(/\s+/, $in{'sgiddel'}) : ( );
foreach $c (@check) {
	$hasgroup{$c} || &error(&text('usave_esecgid', $c));
	}

# Setup error handler for down hosts
sub mod_error
{
$mod_error_msg = join("", @_);
}
&remote_error_setup(\&mod_error);

# Do the changes across all hosts
&header($text{'uedit_title'}, "");
print "<hr>\n";
$crypted = &foreign_call("useradmin", "encrypt_password", $in{'pass'});
foreach $host (@hosts) {
	$mod_error_msg = undef;
	local ($user) = grep { $_->{'user'} eq $in{'olduser'} }
			     @{$host->{'users'}};
	next if (!$user);
	local ($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
	print "<b>",&text('usave_uon', $serv->{'desc'} ? $serv->{'desc'} :
				       $serv->{'host'}),"</b><p>\n";
	print "<ul>\n";
	&remote_foreign_require($serv->{'host'}, "useradmin", "user-lib.pl");
	if ($mod_error_msg) {
		# Host is down ..
		print &text('usave_failed', $mod_error_msg),"<p>\n";
		print "</ul>\n";
		next;
		}
	local @ulist = &remote_foreign_call($serv->{'host'}, "useradmin",
					    "list_users");
	($user) = grep { $_->{'user'} eq $in{'olduser'} } @ulist;
	if (!$user) {
		# No longer exists?
		print "$text{'usave_gone'}<p>\n";
		print "</ul>\n";
		next;
		}
	local %ouser = %$user;

	# Update changed fields
	$user->{'user'} = $in{'user'};
	$user->{'olduser'} = $ouser{'user'};
	$user->{'uid'} = $in{'uid'} if (!$in{'uid_def'});
	if ($uconfig{'extra_real'}) {
		local @real = split(/,/, $user->{'real'});
		$real[0] = $in{'real'} if (!$in{'real_def'});
		$real[1] = $in{'office'} if (!$in{'office_def'});
		$real[2] = $in{'workph'} if (!$in{'workph_def'});
		$real[3] = $in{'homeph'} if (!$in{'homeph_def'});
		$real[4] = $in{'extra'} if (!$in{'extra_def'});
		$user->{'real'} = join(",", @real);
		}
	else {
		$user->{'real'} = $in{'real'} if (!$in{'real_def'});
		}
	if ($in{'home_def'} == 2) {
		$user->{'home'} = &auto_home_dir($uconfig{'home_base'},
						 $in{'user'});
		}
	elsif ($in{'home_def'} == 0) {
		$user->{'home'} = $in{'home'};
		}
	$user->{'shell'} = $in{'shell'} if (!$in{'shell_def'});
	if ($in{'passmode'} == 0) {
		$user->{'pass'} = "";
		}
	elsif ($in{'passmode'} == 1) {
		$user->{'pass'} = $uconfig{'lock_string'};
		}
	elsif ($in{'passmode'} == 2) {
		$user->{'pass'} = $in{'encpass'};
		}
	elsif ($in{'passmode'} == 3) {
		$user->{'pass'} = $crypted;
		}
	$user->{'passmode'} = $in{'passmode'} < 0 ? 2 : $in{'passmode'};
	$user->{'gid'} = getgrnam($in{'gid'}) if (!$in{'gid_def'});

	if ($pft == 1 || $pft == 6) {
		# Save BSD password inputs
		$user->{'expire'} = $expire if (!$in{'expire_def'});
		$user->{'change'} = $change if (!$in{'change_def'});
		$user->{'class'} = $in{'class'} if (!$in{'class_def'});
		}
	elsif ($pft == 2) {
		# Save shadow password inputs
		$user->{'min'} = $in{'min'} if (!$in{'min_def'});
		$user->{'max'} = $in{'max'} if (!$in{'max_def'});
		$user->{'warn'} = $in{'warn'} if (!$in{'warn_def'});
		$user->{'inactive'} = $in{'inactive'} if (!$in{'inactive_def'});
		$user->{'expire'} = $expire if (!$in{'expire_def'});
		}
	elsif ($pft == 4) {
		# Save AIX password inputs
		if (!$in{'flags_def'}) {
			$user->{'admin'} = $in{'flags'} =~ /admin/;
			$user->{'admchg'} = $in{'flags'} =~ /admchg/;
			$user->{'nocheck'} = $in{'flags'} =~ /nocheck/;
			}
		$user->{'expire'} = $expire if (!$in{'expire_def'});
		$user->{'min'} = $in{'min'} if (!$in{'min_def'});
		$user->{'max'} = $in{'max'} if (!$in{'max_def'});
		$user->{'warn'} = $in{'warn'} if (!$in{'warn_def'});
		}

	# Update the user on the server
	print "$text{'usave_update'}<br>\n";
	&remote_foreign_call($serv->{'host'}, "useradmin", "modify_user",
			     \%ouser, $user);
	print "$text{'udel_done'}<p>\n";

	if ($in{'others'}) {
		# Update the user in other modules
		print "$text{'usave_mothers'}<br>\n";
		$user->{'passmode'} = $in{'passmode'};
		if ($in{'passmode'} == 2 && $user->{'pass'} eq $ouser{'pass'}) {
			$user{'passmode'} = 4;
			}
		$user->{'plainpass'} = $in{'pass'} if ($in{'passmode'} == 3);
		&remote_foreign_call($serv->{'host'}, "useradmin",
				     "other_modules", "useradmin_modify_user",
				     $user, \%ouser);
		print "$text{'udel_done'}<p>\n";
		}

	# Make file changes
	if ($in{'servs'} || $host eq $hosts[0]) {
		if ($ouser{'home'} ne $user->{'home'} && $in{'movehome'}) {
			print "$text{'usave_move'}<br>\n";
			&remote_eval($serv->{'host'}, "useradmin",
				"-d '$ouser{'home'}' && !-e '$user->{'home'}' && system(\"mv -f '$ouser{'home'}' '$user->{'home'}'\")");
			print "$text{'udel_done'}<p>\n";
			}
		if ($ouser{'gid'} ne $user->{'gid'}) {
			if ($in{'chgid'} == 1) {
				print "$text{'usave_gid'}<br>\n";
				&remote_foreign_call(
					$serv->{'host'}, "useradmin",
					"recursive_change", $user->{'home'},
					$ouser{'uid'}, $ouser{'gid'}, -1,
					$user->{'gid'});
				print "$text{'udel_done'}<p>\n";
				}
			else {
				print "$text{'usave_gid'}<br>\n";
				&remote_foreign_call(
					$serv->{'host'}, "useradmin",
					"recursive_change", "/",
					$ouser{'uid'}, $ouser{'gid'}, -1,
					$user->{'gid'});
				print "$text{'udel_done'}<p>\n";
				}
			}
		if ($ouser{'uid'} ne $user->{'uid'}) {
			if ($in{'chuid'} == 1) {
				print "$text{'usave_uid'}<br>\n";
				&remote_foreign_call(
					$serv->{'host'}, "useradmin",
					"recursive_change", $user->{'home'},
					$ouser{'uid'}, -1,
					$user->{'uid'}, -1);
				print "$text{'udel_done'}<p>\n";
				}
			else {
				print "$text{'usave_uid'}<br>\n";
				&remote_foreign_call(
					$serv->{'host'}, "useradmin",
					"recursive_change", "/",
					$ouser{'uid'}, -1,
					$user->{'uid'}, -1);
				print "$text{'udel_done'}<p>\n";
				}
			}
		}

	# Rename user in secondary groups
	local @glist;
	if ($in{'sgid_def'} || $user->{'user'} ne $ouser{'user'}) {
		@glist = &remote_foreign_call($serv->{'host'}, "useradmin",
					      "list_groups");
		}
	if ($user->{'user'} ne $ouser{'user'}) {
		print "$text{'usave_rgroups'}<br>\n";
		foreach $group (@glist) {
			local @mems = split(/,/, $group->{'members'});
			local $idx = &indexof($ouser{'user'}, @mems);
			if ($idx >= 0) {
				local %ogroup = %$group;
				$mems[$idx] = $user->{'user'};
				$group->{'members'} = join(",", @mems);
				&remote_foreign_call($serv->{'host'},
					"useradmin", "modify_group",
					\%ogroup, $group);
				}
			}
		print "$text{'udel_done'}<p>\n";
		}

	# Save secondary group information
	if ($in{'sgid_def'} == 1) {
		# Add to some groups
		print "$text{'usave_groups'}<br>\n";
		foreach $g (split(/\s+/, $in{'sgidadd'})) {
			local ($group) = grep { $_->{'group'} eq $g } @glist;
			if ($group) {
				local %ogroup = %$group;
				local @m = &unique(split(/,/,
					$group->{'members'}), $user->{'user'});
				$group->{'members'} = join(",", @m);
				&remote_foreign_call($serv->{'host'},
					"useradmin", "modify_group",
					\%ogroup, $group);
				}
			}
		print "$text{'udel_done'}<p>\n";
		}
	elsif ($in{'sgid_def'} == 2) {
		# Remove from some groups
		print "$text{'udel_groups'}<br>\n";
		foreach $g (split(/\s+/, $in{'sgiddel'})) {
			local ($group) = grep { $_->{'group'} eq $g } @glist;
			if ($group) {
				local %ogroup = %$group;
				local @m = grep { $_ ne $user->{'user'} }
					    split(/,/, $group->{'members'});
				$group->{'members'} = join(",", @m);
				&remote_foreign_call($serv->{'host'},
					"useradmin", "modify_group",
					\%ogroup, $group);
				}
			}
		print "$text{'udel_done'}<p>\n";
		}

	# Update in local list
	$host->{'users'} = \@ulist;
	if (@glist) {
		$host->{'groups'} = \@glist;
		}
	&save_useradmin_host($host);
	print "</ul>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010006ee33000081e40000000000000002000000013d1fe2e6000006d1000000200000000000000000000000000000002900000003reloc/cluster-useradmin/search_group.cgi  #!/usr/local/bin/perl
# search_group.cgi
# Search the list of groups across all servers, and display the results

require './cluster-useradmin-lib.pl';
&ReadParse();
$m = $in{'match'};
$w = $in{'what'};
@hosts = &list_useradmin_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	foreach $g (@{$h->{'groups'}}) {
		$f = $g->{$in{'field'}};
		if ($m == 0 && $f eq $w ||
		    $m == 1 && eval { $f =~ /$w/i } ||
		    $m == 4 && index($f, $w) >= 0 ||
		    $m == 2 && $f ne $w ||
		    $m == 3 && eval { $f !~ /$w/i } ||
		    $m == 5 && index($f, $w) < 0) {
			push(@{$hosts{$g->{'group'}}},
			     $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
			push(@match, $g) if (!$found{$g->{'group'}}++);
			}
		}
	}
if (@match == 1) {
	&redirect("edit_group.cgi?group=".$match[0]->{'group'});
	}
else {
	&header($text{'search_title'}, "");
	print "<hr>\n";
	if (@match == 0) {
		print "<p><b>$text{'search_gnotfound'}</b>. <p>\n";
		}
	else {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'gedit_group'}</b></td>\n";
		print "<td><b>$text{'gedit_gid'}</b></td>\n";
		print "<td><b>$text{'gedit_members'}</b></td>\n";
		print "<td><b>$text{'search_hosts'}</b></td> </tr>\n";
		foreach $m (@match) {
			local $members = join(" ", split(/,/, $m->{'members'}));
			print "<tr $cb>\n";
			print "<td><a href=\"edit_group.cgi?group=$m->{'group'}\">$m->{'group'}</a></td>\n";
			print "<td>$m->{'gid'}</td>\n";
			print "<td>$members&nbsp;</td>\n";
			@h = @{$hosts{$m->{'group'}}};
			@h = @h[0 .. 10], ".." if (@h > 10);
			print "<td>",join(", ", @h),"</td>\n";
			print "</tr>\n";
			}
		print "</table><p>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

   0707010006ee34000081e40000000000000002000000013d1fe2e6000006e2000000200000000000000000000000000000002800000003reloc/cluster-useradmin/search_user.cgi   #!/usr/local/bin/perl
# search_user.cgi
# Search the list of users across all servers, and display the results

require './cluster-useradmin-lib.pl';
&ReadParse();

$m = $in{'match'};
$w = $in{'what'};
@hosts = &list_useradmin_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	foreach $u (@{$h->{'users'}}) {
		$f = $u->{$in{'field'}};
		if ($m == 0 && $f eq $w ||
		    $m == 1 && eval { $f =~ /$w/i } ||
		    $m == 4 && index($f, $w) >= 0 ||
		    $m == 2 && $f ne $w ||
		    $m == 3 && eval { $f !~ /$w/i } ||
		    $m == 5 && index($f, $w) < 0) {
			push(@{$hosts{$u->{'user'}}},
			     $s->{'desc'} ? $s->{'desc'} : $s->{'host'});
			push(@match, $u) if (!$found{$u->{'user'}}++);
			}
		}
	}
if (@match == 1) {
	&redirect("edit_user.cgi?user=".$match[0]->{'user'});
	}
else {
	&header($text{'search_title'}, "");
	print "<hr>\n";
	if (@match == 0) {
		print "<p><b>$text{'search_notfound'}</b>. <p>\n";
		}
	else {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'user'}</b></td>\n";
		print "<td><b>$text{'uid'}</b></td>\n";
		print "<td><b>$text{'real'}</b></td>\n";
		print "<td><b>$text{'home'}</b></td>\n";
		print "<td><b>$text{'search_hosts'}</b></td> </tr>\n";
		foreach $m (@match) {
			$m->{'real'} =~ s/,.*$//;
			print "<tr $cb>\n";
			print "<td><a href=\"edit_user.cgi?user=$m->{'user'}\">$m->{'user'}</a></td>\n";
			print "<td>$m->{'uid'}</td>\n";
			print "<td>$m->{'real'}&nbsp;</td>\n";
			print "<td>$m->{'home'}</td>\n";
			@h = @{$hosts{$m->{'user'}}};
			@h = @h[0 .. 10], ".." if (@h > 10);
			print "<td>",join(", ", @h),"</td>\n";
			print "</tr>\n";
			}
		print "</table><p>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

  0707010006ee36000081e40000000000000002000000013d1fe2e600000d89000000200000000000000000000000000000002600000003reloc/cluster-useradmin/sync_form.cgi #!/usr/local/bin/perl
# sync_form.cgi
# Display a form for creating some or all missing users and groups on
# some or all servers

require './cluster-useradmin-lib.pl';
&header($text{'sync_title'}, "");
print "<hr>\n";

print "$text{'sync_desc'}<p>\n";
print "<form action=sync.cgi>\n";
print "<table>\n";

print "<tr> <td valign=top><b>$text{'sync_hosts'}</b></td> <td>\n";
print "<input type=radio name=hosts_mode value=1 checked> ",
      "$text{'sync_hall'}\n";
print "<input type=radio name=hosts_mode value=0> ",
      "$text{'sync_hsel'}<br>\n";
print "<select name=hosts multiple size=5 width=200>\n";
@servers = &list_servers();
foreach $h (&list_useradmin_hosts()) {
	($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	print "<option value='$h->{'id'}'>",
		$s->{'desc'} ? $s->{'desc'} : $s->{'host'};
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'sync_users'}</b></td> <td>\n";
print "<input type=radio name=users_mode value=1> ",
      "$text{'sync_uall'}&nbsp;&nbsp;\n";
print "<input type=radio name=users_mode value=0 checked> ",
      "$text{'sync_unone'}<br>\n";
print "<input type=radio name=users_mode value=2> ",
      "$text{'sync_usel'}\n";
print "<input name=usel size=30> ",&user_chooser_button("usel", 1),"<br>\n";
print "<input type=radio name=users_mode value=3> ",
      "$text{'sync_unot'}\n";
print "<input name=unot size=30> ",&user_chooser_button("unot", 1),"<br>\n";
print "<input type=radio name=users_mode value=4> ",
      "$text{'sync_uuid'}\n";
print "<input name=uuid1 size=6> - <input name=uuid2 size=6><br>\n";
print "<input type=radio name=users_mode value=5> ",
      "$text{'sync_ugid'}\n";
print &unix_group_input("ugid"),"<br>\n";
print "</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'sync_groups'}</b></td> <td>\n";
print "<input type=radio name=groups_mode value=1> ",
      "$text{'sync_gall'}&nbsp;&nbsp;\n";
print "<input type=radio name=groups_mode value=0 checked> ",
      "$text{'sync_gnone'}<br>\n";
print "<input type=radio name=groups_mode value=2> ",
      "$text{'sync_gsel'}\n";
print "<input name=gsel size=30> ",&group_chooser_button("gsel", 1),"<br>\n";
print "<input type=radio name=groups_mode value=3> ",
      "$text{'sync_gnot'}\n";
print "<input name=gnot size=30> ",&group_chooser_button("gnot", 1),"<br>\n";
print "<input type=radio name=groups_mode value=4> ",
      "$text{'sync_ggid'}\n";
print "<input name=ggid1 size=6> - <input name=ggid2 size=6><br>\n";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'sync_test'}</b></td>\n";
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'sync_makehome'}</b></td>\n";
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}\n";
print "<input type=radio name=makehome value=0> $text{'no'}</td>\n";
print "</tr>\n";

print "<tr> <td><b>$text{'sync_copy'}</b></td>\n";
print "<td><input type=radio name=copy_files value=1 checked> $text{'yes'}\n";
print "<input type=radio name=copy_files value=0> $text{'no'}</td>\n";
print "</tr>\n";

print "<tr> <td><b>$text{'sync_others'}</b></td>\n";
print "<td><input type=radio name=others value=1 checked> $text{'yes'}\n";
print "<input type=radio name=others value=0> $text{'no'}</td> </tr>\n";

print "</table>\n";
print "<input type=submit value='$text{'sync_ok'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010006ee37000081e40000000000000002000000013d1fe2e600002375000000200000000000000000000000000000002600000003reloc/cluster-useradmin/user_form.cgi #!/usr/local/bin/perl
# user_form.cgi
# Display a form for creating a new user

require './cluster-useradmin-lib.pl';
require 'timelocal.pl';
&ReadParse();
&foreign_require("useradmin", "user-lib.pl");

&header($text{'uedit_title2'}, "");
@hosts = &list_useradmin_hosts();
@servers = &list_servers();

# build list of used shells and uids
foreach $h (@hosts) {
	foreach $u (@{$h->{'users'}}) {
		push(@shlist, $u->{'shell'}) if ($u->{'shell'});
		$used{$u->{'uid'}}++;
		}
	foreach $g (@{$h->{'groups'}}) {
		push(@glist, $g) if (!$donegroup{$g->{'group'}}++);
		}
	}
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

print "<hr><form action=create_user.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'user'}</b></td>\n";
print "<td><input name=user size=10></td>\n";

# Find the first free UID above the base
print "<td><b>$text{'uid'}</b></td>\n";
$newuid = int($uconfig{'base_uid'});
while($used{$newuid}) {
	$newuid++;
	}
print "<td><input name=uid size=10 value='$newuid'></td> </tr>\n";

if ($uconfig{'extra_real'}) {
	print "<tr> <td><b>$text{'real'}</b></td>\n";
	print "<td><input name=real size=20></td>\n";

	print "<td><b>$text{'office'}</b></td>\n";
	print "<td><input name=office size=20 value=\"$real[1]\"></td> </tr>\n";

	print "<tr> <td><b>$text{'workph'}</b></td>\n";
	print "<td><input name=workph size=20></td>\n";

	print "<td><b>$text{'homeph'}</b></td>\n";
	print "<td><input name=homeph size=20></td> </tr>\n";

	print "<tr> <td><b>$text{'extra'}</b></td>\n";
	print "<td><input name=extra size=20></td>\n";
	}
else {
	print "<tr> <td><b>$text{'real'}</b></td>\n";
	print "<td><input name=real size=20></td>\n";
	}

print "<td><b>$text{'home'}</b></td>\n";
print "<td>\n";
if ($uconfig{'home_base'}) {
	printf "<input type=radio name=home_base value=1 checked> %s\n",
		$text{'uedit_auto'};
	printf "<input type=radio name=home_base value=0>\n";
	printf "<input name=home size=25> %s\n",
		&file_chooser_button("home", 1);
	}
else {
	print "<input name=home size=25>\n",
	      &file_chooser_button("home", 1);
	}
print "</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
@shlist = &unique(@shlist);
foreach $s (@shlist) {
	printf "<option value='%s'>%s\n", $s,
		$s eq "" ? "&lt;None&gt;" : $s;
	}
print "<option value=*>$text{'uedit_other'}\n";
print "</select></td>\n";

&seed_random();
foreach (1 .. 15) {
	$random_password .= $random_password_chars[
				rand(scalar(@random_password_chars))];
	}
print "<td valign=top rowspan=4><b>$text{'pass'}</b>",
      "</td> <td rowspan=4 valign=top>\n";
printf "<input type=radio name=passmode value=0> %s<br>\n",
	$uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'};
printf "<input type=radio name=passmode value=1 checked> %s<br>\n",
	$text{'nologin'};
printf "<input type=radio name=passmode value=3> %s\n",
	$text{'clear'};
printf "<input %s name=pass size=15 value='%s'><br>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "",
	$uconfig{'random_password'} ? $random_password : "";
printf "<input type=radio name=passmode value=2> $text{'encrypted'}\n";
printf "<input name=encpass size=13>\n";
print "</td> </tr>\n";

print "<tr> <td valign=top>$text{'uedit_other'}</td>\n";
print "<td valign=top><input size=25 name=othersh>\n";
print &file_chooser_button("othersh", 0),"</td> </tr>\n";
print "<tr> <td colspan=2><br></td> </tr>\n";
print "</table></td></tr></table><p>\n";

$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 1 || $pft == 6) {
	# This is a BSD system.. a few extra password options are supported
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td><b>$text{'change2'}</b></td>\n";
	print "<td>";
	&date_input("", "", "", 'change');
	print " &nbsp; <input name=changeh size=3>";
	print ":<input name=changemi size=3></td>\n";

	print "<td><b>$text{'expire2'}</b></td>\n";
	print "<td>";
	&date_input("", "", "", 'expire');
	print " &nbsp; <input name=expireh size=3>";
	print ":<input name=expiremi size=3></td> </tr>\n";

	print "<tr> <td><b>$text{'class'}</b></td>\n";
	print "<td><input name=class size=10></td>\n";
	print "</tr>\n";
	print "</table></td></tr></table><p>\n";
	}
elsif ($pft == 2) {
	# System has a shadow password file as well.. which means it supports
	# password expiry and so on
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<td><b>$text{'expire'}</b></td>\n";
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'min'}</b></td>\n";
	print "<td><input size=5 name=min></td>\n";

	print "<td><b>$text{'max'}</b></td>\n";
	print "<td><input size=5 name=max></td></tr>\n";

	print "<tr> <td><b>$text{'warn'}</b></td>\n";
	print "<td><input size=5 name=warn></td>\n";

	print "<td><b>$text{'inactive'}</b></td>\n";
	print "<td><input size=5 name=inactive></td></tr>\n";

	print "</table></td></tr></table><p>\n";
	}
elsif ($pft == 4) {
	# This is an AIX system
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'expire'}</b></td>\n";
	print "<td>";
	&date_input("", "", "", 'expire');
	print " &nbsp; <input name=expireh size=3>";
	print "<b>:</b><input name=expiremi size=3></td> </tr>\n";

	print "<tr> <td><b>$text{'min_weeks'}</b></td>\n";
	print "<td><input size=5 name=min></td>\n";

	print "<td><b>$text{'max_weeks'}</b></td>\n";
	print "<td><input size=5 name=max></td></tr>\n";

	print "<tr> <td valign=top><b>$text{'warn'}</b></td>\n";
	print "<td valign=top><input size=5 name=warn></td>\n";

	print "<td valign=top><b>$text{'flags'}</b></td> <td>\n";
	printf "<input type=checkbox name=flags value=admin> %s<br>\n",
		$text{'uedit_admin'};
	printf "<input type=checkbox name=flags value=admchg> %s<br>\n",
		$text{'uedit_admchg'};
	printf "<input type=checkbox name=flags value=nocheck> %s\n",
		$text{'uedit_nocheck'};
	print "</td> </tr>\n";

	print "</table></td></tr></table><p>\n";
	}

# Output group memberships
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_gmem'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top><b>$text{'group'}</b></td> <td valign=top>\n";
printf "<input name=gid size=8 value=\"%s\">\n",
	$uconfig{'default_group'};
print "<input type=button onClick='ifield = document.forms[0].gid; chooser = window.open(\"/useradmin/my_group_chooser.cgi?multi=0&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=300,height=200\"); chooser.ifield = ifield' value=\"...\"></td>\n";

print "<td valign=top><b>$text{'uedit_2nd'}</b></td>\n";
print "<td><select name=sgid multiple size=5>\n";
@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist
	if ($uconfig{'sort_mode'});
foreach $g (@glist) {
	@mems = split(/,/ , $g->{'members'});
	print "<option value=\"$g->{'gid'}\">$g->{'group'} ($g->{'gid'})\n";
	}
print "</select></td> </tr>\n";
print "</table></td></tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_oncreate'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'uedit_makehome'}</b></td>\n";
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=makehome value=0> $text{'no'}</td> </tr>\n";

if ($uconfig{'user_files'} =~ /\S/) {
	print "<tr> <td><b>$text{'uedit_copy'}<b></td>\n";
	print "<td><input type=radio name=copy_files ",
	      "value=1 checked> $text{'yes'}</td>\n";
	print "<td><input type=radio name=copy_files ",
	      "value=0> $text{'no'}</td> </tr>\n";
	}

print "<tr> <td><b>$text{'uedit_servs'}</b></td>\n";
print "<td><input type=radio name=servs value=1> $text{'uedit_mall'}</td>\n";
print "<td><input type=radio name=servs value=0 checked> $text{'uedit_mthis'}</td> </tr>\n";

print "<tr> <td><b>$text{'uedit_others'}</b></td>\n";
print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";

print "</table></td> </tr></table><p>\n";

print "<input type=submit value=\"$text{'create'}\"></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

# date_input(day, month, year, prefix)
sub date_input
{
print "<input name=$_[3]d size=3 value='$_[0]'>";
print "/<select name=$_[3]m>\n";
local $m;
foreach $m (1..12) {
	printf "<option value=%d %s>%s\n",
		$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
	}
print "</select>";
print "/<input name=$_[3]y size=5 value='$_[2]'>";
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
}

   07070100074960000041ed0000000000000001000000043d1ff9f200000000000000200000000000000000000000000000001500000003reloc/cluster-webmin  07070100074961000081e40000000000000002000000013d1fe2ea000009fc000000200000000000000000000000000000001d00000003reloc/cluster-webmin/add.cgi  #!/usr/local/bin/perl
# add.cgi
# Add or update a server or group from the webmin servers module

require './cluster-webmin-lib.pl';
&ReadParse();
@servers = &list_servers();

if ($in{'add'}) {
	# Add a single host
	@add = grep { $_->{'id'} eq $in{'server'} } @servers;
	&error_setup($text{'add_err'});
	$msg = &text('add_msg', &server_name($add[0]));
	}
else {
	# Add all from a group
	($group) = grep { $_->{'name'} eq $in{'group'} }
			&servers::list_all_groups(\@servers);
	foreach $m (@{$group->{'members'}}) {
		push(@add, grep { $_->{'host'} eq $m } @servers);
		}
	&error_setup($text{'add_gerr'});
	$msg = &text('add_gmsg', $in{'group'});
	}
&header($text{'add_title'}, "");
print "<hr>\n";
print "<b>$msg</b><p>\n";

# Setup error handler for down hosts
sub add_error
{
$add_error_msg = join("", @_);
}
&remote_error_setup(\&add_error);

# Get the modules and themes for each host
foreach $s (@add) {
	$add_error_msg = undef;
	local $host = { 'id' => $s->{'id'} };
	local $webmin = &remote_foreign_check($s->{'host'}, "webmin");
	if ($add_error_msg) {
		print "$add_error_msg<p>\n";
		next;
		}
	if (!$webmin) {
		print &text('add_echeck', $s->{'host'}),"<p>\n";
		next;
		}
	local $acl = &remote_foreign_check($s->{'host'}, "acl");
	if (!$acl) {
		print &text('add_echeck2', $s->{'host'}),"<p>\n";
		next;
		}
	&remote_foreign_require($s->{'host'}, "webmin", "webmin-lib.pl");
	&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
	$host->{'version'} = &remote_foreign_call($s->{'host'}, "webmin",
						  "get_webmin_version");
	if ($host->{'version'} < 0.985) {
		print &text('add_eversion', $s->{'host'}, 0.985),"<p>\n";
		next;
		}
	local $gconfig = &remote_foreign_config($s->{'host'}, undef);
	foreach $g ('os_type', 'os_version',
		    'real_os_type', 'real_os_version') {
		$host->{$g} = $gconfig->{$g};
		}

	local @mods = &remote_foreign_call($s->{'host'}, "webmin",
					   "get_all_module_infos", 1);
	@mods = grep { !$_->{'clone'} } @mods;
	$host->{'modules'} = \@mods;

	local @themes = &remote_foreign_call($s->{'host'}, "webmin",
					     "list_themes");
	$host->{'themes'} = \@themes;

	local @users = &remote_foreign_call($s->{'host'}, "acl", "list_users");
	$host->{'users'} = \@users;

	local @groups = &remote_foreign_call($s->{'host'}, "acl","list_groups");
	$host->{'groups'} = \@groups;

	&save_webmin_host($host);
	print &text('add_ok', &server_name($s), scalar(@mods), scalar(@themes),
		    scalar(@users), scalar(@groups)),"<p>\n";
	}
&remote_finished();

print "<hr>\n";
&footer("", $text{'index_return'});


07070100074962000081a40000000000000002000000013d1fe2ea000010d1000000200000000000000000000000000000002b00000003reloc/cluster-webmin/cluster-webmin-lib.pl    # cluster-webmin-lib.pl
# Common functions for managing webmin installs across a cluster

do '../web-lib.pl';
&init_config();
&foreign_require("servers", "servers-lib.pl");

# list_webmin_hosts()
# Returns a list of all hosts whose webmin modules are being managed
sub list_webmin_hosts
{
local $hdir = "$module_config_directory/hosts";
opendir(DIR, $hdir);
foreach $h (readdir(DIR)) {
	next if ($h eq "." || $h eq ".." || !-d "$hdir/$h");
	local %host = ( 'id', $h );
	local $f;
	opendir(MDIR, "$hdir/$h");
	foreach $f (readdir(MDIR)) {
		if ($f =~ /^(\S+)\.mod$/) {
			local %mod;
			&read_file("$hdir/$h/$f", \%mod);
			push(@{$host{'modules'}}, \%mod);
			}
		elsif ($f =~ /^(\S+)\.theme$/) {
			local %theme;
			&read_file("$hdir/$h/$f", \%theme);
			push(@{$host{'themes'}}, \%theme);
			}
		elsif ($f =~ /^(\S+)\.user$/) {
			local %user;
			&read_file("$hdir/$h/$f", \%user);
			$user{'modules'} = [ split(/\s+/, $user{'modules'}) ];
			$user{'ownmods'} = [ split(/\s+/, $user{'ownmods'}) ];
			push(@{$host{'users'}}, \%user);
			}
		elsif ($f =~ /^(\S+)\.group$/) {
			local %group;
			&read_file("$hdir/$h/$f", \%group);
			$group{'modules'} = [ split(/\s+/, $group{'modules'}) ];
			$group{'ownmods'} = [ split(/\s+/, $group{'ownmods'}) ];
			$group{'members'} = [ split(/\s+/, $group{'members'}) ];
			push(@{$host{'groups'}}, \%group);
			}
		elsif ($f eq "webmin") {
			&read_file("$hdir/$h/$f", \%host);
			}
		}
	closedir(MDIR);
	push(@rv, \%host);
	}
closedir(DIR);
return @rv;
}

# save_webmin_host(&host)
sub save_webmin_host
{
local $hdir = "$module_config_directory/hosts";
local %oldfile;
mkdir($hdir, 0700);
if (-d "$hdir/$_[0]->{'id'}") {
	opendir(DIR, "$hdir/$_[0]->{'id'}");
	map { $oldfile{$_}++ } readdir(DIR);
	closedir(DIR);
	}
else {
	mkdir("$hdir/$_[0]->{'id'}", 0700);
	}
local $m;
foreach $m (@{$_[0]->{'modules'}}) {
	&write_file("$hdir/$_[0]->{'id'}/$m->{'dir'}.mod", $m);
	delete($oldfile{"$m->{'dir'}.mod"});
	}
foreach $m (@{$_[0]->{'themes'}}) {
	&write_file("$hdir/$_[0]->{'id'}/$m->{'dir'}.theme", $m);
	delete($oldfile{"$m->{'dir'}.theme"});
	}
foreach $m (@{$_[0]->{'users'}}) {
	local %u = %$m;
	$u{'modules'} = join(" ", @{$u{'modules'}});
	$u{'ownmods'} = join(" ", @{$u{'ownmods'}});
	&write_file("$hdir/$_[0]->{'id'}/$u{'name'}.user", \%u);
	delete($oldfile{"$u{'name'}.user"});
	}
foreach $m (@{$_[0]->{'groups'}}) {
	local %g = %$m;
	$g{'modules'} = join(" ", @{$g{'modules'}});
	$g{'ownmods'} = join(" ", @{$g{'ownmods'}});
	$g{'members'} = join(" ", @{$g{'members'}});
	&write_file("$hdir/$_[0]->{'id'}/$g{'name'}.group", \%g);
	delete($oldfile{"$g{'name'}.group"});
	}
local %webmin = %{$_[0]};
delete($webmin{'modules'});
delete($webmin{'themes'});
delete($webmin{'users'});
delete($webmin{'groups'});
delete($webmin{'id'});
&write_file("$hdir/$_[0]->{'id'}/webmin", \%webmin);
delete($oldfile{"webmin"});
unlink(map { "$hdir/$_[0]->{'id'}/$_" } keys %oldfile);
}

# delete_webmin_host(&host)
sub delete_webmin_host
{
system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
}

# list_servers()
# Returns a list of all servers from the webmin servers module that can be
# managed, plus this server
sub list_servers
{
local @servers = &foreign_call("servers", "list_servers");
return ( { 'id' => 0, 'desc' => $text{'this_server'}, 'type' => 'unknown' },
	 grep { $_->{'user'} } @servers );
}

# server_name(&server)
sub server_name
{
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
}

# all_modules(&hosts)
sub all_modules
{
local (%done, $u, %descc);
local @uniq = grep { !$done{$_->{'dir'}}++ } map { @{$_->{'modules'}} } @{$_[0]};
map { $descc{$_->{'desc'}}++ } @uniq;
foreach $u (@uniq) {
	$u->{'desc'} .= " ($u->{'dir'})" if ($descc{$u->{'desc'}} > 1);
	}
return sort { $a->{'desc'} cmp $b->{'desc'} } @uniq;
}

# all_themes(&hosts)
sub all_themes
{
local %done;
return sort { $a->{'desc'} cmp $b->{'desc'} }
	grep { !$done{$_->{'dir'}}++ }
	 map { @{$_->{'themes'}} } @{$_[0]};
}

# all_groups(&hosts)
sub all_groups
{
local %done;
return sort { $a->{'name'} cmp $b->{'name'} }
	grep { !$done{$_->{'name'}}++ }
	 map { @{$_->{'groups'}} } @{$_[0]};
}

# all_users(&hosts)
sub all_users
{
local %done;
return sort { $a->{'name'} cmp $b->{'name'} }
	grep { !$done{$_->{'name'}}++ }
	 map { @{$_->{'users'}} } @{$_[0]};
}

1;

   07070100074963000081a40000000000000002000000013d1fe2ea0000000c000000200000000000000000000000000000001c00000003reloc/cluster-webmin/config   sort_mode=0
07070100074964000081a40000000000000002000000013d1fe2ea00000033000000200000000000000000000000000000002100000003reloc/cluster-webmin/config.info  sort_mode=Sort hosts by,1,1-Hostname,0-Order added
 07070100074965000081e40000000000000002000000013d1fe2ea00000bf3000000200000000000000000000000000000002600000003reloc/cluster-webmin/create_group.cgi #!/usr/local/bin/perl
# create_group.cgi
# Create a new Webmin group across multiple servers

require './cluster-webmin-lib.pl';
&ReadParse();
&error_setup($text{'group_err1'});

@hosts = &list_webmin_hosts();
foreach $h (@hosts) {
	foreach $ug (@{$h->{'users'}}, @{$h->{'groups'}}) {
		$taken{$ug->{'name'}}++;
		}
	}

# Validate inputs
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('user_ename', $in{'name'}));
$taken{$in{'name'}} && &error(&text('user_etaken', $in{'name'}));

# Setup error handler for down hosts
sub group_error
{
$group_error_msg = join("", @_);
}
&remote_error_setup(\&group_error);

# Create the group on all servers
&header($text{'group_title1'}, "");
print "<hr>\n";
print "<b>",&text('group_doing', $in{'name'}),"</b><p>\n";
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($group_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $group_error_msg ]);
			exit;
			}

		# Create the group
		local %newgrp = ( 'name', $in{'name'} );
		local @mods = ( split(/\0/, $in{'mods1'}),
				split(/\0/, $in{'mods2'}),
				split(/\0/, $in{'mods3'}) );

		if ($in{'group'}) {
			# Add group to the chosen group
			($group) = grep { $_->{'name'} eq $in{'group'} }
					@{$h->{'groups'}};
			if (!$group) {
				# Doesn't exist on this server
				print $wh &serialise_variable(
					[ 0, $text{'user_egroup'} ]);
				exit;
				}
			push(@{$group->{'members'}}, $newgrp{'name'});
			&remote_foreign_call($s->{'host'}, "acl", "modify_group",
					     $group->{'name'}, $group);

			# Add modules from group
			local @ownmods;
			foreach $m (@mods) {
				push(@ownmods, $m)
				    if (&indexof($m, @{$group->{'modules'}}) < 0);
				}
			@mods = &unique(@mods, @{$group->{'modules'}});
			$newgrp{'ownmods'} = \@ownmods;

			# Copy ACL files for group
			&remote_foreign_call($s->{'host'}, "acl", "copy_acl_files",
					     $group->{'name'}, $newgrp{'name'},
					     [ @{$group->{'modules'}}, "" ]);
			}

		$newgrp{'modules'} = \@mods;
		&remote_foreign_call($s->{'host'}, "acl", "create_group", \%newgrp);
		push(@{$h->{'groups'}}, \%newgrp);
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('group_success', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('group_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'group_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100074966000081e40000000000000002000000013d1fe2ea00000ea6000000200000000000000000000000000000002500000003reloc/cluster-webmin/create_user.cgi  #!/usr/local/bin/perl
# create_user.cgi
# Create a new Webmin user across multiple servers

require './cluster-webmin-lib.pl';
&ReadParse();
&error_setup($text{'user_err1'});

@hosts = &list_webmin_hosts();
foreach $h (@hosts) {
	foreach $ug (@{$h->{'users'}}, @{$h->{'groups'}}) {
		$taken{$ug->{'name'}}++;
		}
	}

# Validate inputs
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('user_ename', $in{'name'}));
$taken{$in{'name'}} && &error(&text('user_etaken', $in{'name'}));
$in{'pass_def'} == 0 && $in{'pass'} =~ /:/ && &error($text{'user_ecolon'});
if ($in{'ipmode'} > 0) {
	@ips = split(/\s+/, $in{'ips'});
	}

# Setup error handler for down hosts
sub user_error
{
$user_error_msg = join("", @_);
}
&remote_error_setup(\&user_error);

# Create the user on all servers
&header($text{'user_title1'}, "");
print "<hr>\n";
print "<b>",&text('user_doing', $in{'name'}),"</b><p>\n";
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($user_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $user_error_msg ]);
			exit;
			}

		# Create the user
		local %user = ( 'name', $in{'name'} );
		if ($in{'lang'}) {
			$user{'lang'} = $in{'lang'};
			}
		if ($in{'theme'}) {
			$user{'theme'} = $in{'theme'} eq 'webmin' ?
						'' : $in{'theme'};
			}
		if ($in{'ipmode'} == 1) {
			$user{'allow'} = join(" ", @ips);
			}
		elsif ($in{'ipmode'} == 2) {
			$user{'deny'} = join(" ", @ips);
			}
		if ($in{'pass_def'} == 0) {
			$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
			$user{'pass'} = crypt($in{'pass'}, $salt);
			}
		elsif ($in{'pass_def'} == 3) {
			$user{'pass'} = 'x';
			}
		elsif ($in{'pass_def'} == 4) {
			$user{'pass'} = '*LK*';
			}
		$user{'sync'} = 0;

		local @mods = ( split(/\0/, $in{'mods1'}),
				split(/\0/, $in{'mods2'}),
				split(/\0/, $in{'mods3'}) );

		if ($in{'group'}) {
			# Add user to the chosen group
			($group) = grep { $_->{'name'} eq $in{'group'} }
					@{$h->{'groups'}};
			if (!$group) {
				# Doesn't exist on this server
				print $wh &serialise_variable(
					[ 0, $text{'user_egroup'} ]);
				exit;
				}
			push(@{$group->{'members'}}, $user{'name'});
			&remote_foreign_call($s->{'host'}, "acl", "modify_group",
					     $group->{'name'}, $group);

			# Add modules from group
			local @ownmods;
			foreach $m (@mods) {
				push(@ownmods, $m)
				    if (&indexof($m, @{$group->{'modules'}}) < 0);
				}
			@mods = &unique(@mods, @{$group->{'modules'}});
			$user{'ownmods'} = \@ownmods;

			# Copy ACL files for group
			&remote_foreign_call($s->{'host'}, "acl", "copy_acl_files",
					     $group->{'name'}, $user{'name'},
					     [ @{$group->{'modules'}}, "" ]);
			}

		$user{'modules'} = \@mods;
		&remote_foreign_call($s->{'host'}, "acl", "create_user", \%user);
		push(@{$h->{'users'}}, \%user);
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('user_success', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('user_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'user_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

  07070100074967000081e40000000000000002000000013d1fe2ea00000cf7000000200000000000000000000000000000002600000003reloc/cluster-webmin/delete_group.cgi #!/usr/local/bin/perl
# delete_group.cgi
# Delete a webmin group across all servers

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'gdelete_title'}, "");
print "<hr>\n";

# Find groups and members on all hosts
foreach $h (&list_webmin_hosts()) {
	foreach $g (@{$h->{'groups'}}) {
		if ($g->{'name'} eq $in{'group'}) {
			push(@hosts, $h);
			push(@mems, @{$g->{'members'}});
			foreach $m (@{$g->{'members'}}) {
				$onhost{$h,$m}++;
				($mg) = grep { $_->{'name'} eq $m }
					     @{$h->{'groups'}};
				push(@subs, $mg->{'name'}) if ($mg);
				}
			last;
			}
		}
	}
@mems = &unique(@mems);

if (@subs) {
	print "<p>",&text('gdelete_esub',
		"<b>".join(" ", &unique(@subs))."</b>"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!$in{'confirm'} && @mems) {
	# Ask if the user really wants to delete the group and members
	print "<center><form action=delete_group.cgi>\n";
	print "<input type=hidden name=group value='$in{'group'}'>\n";
	print &text('gdelete_desc', "<b>$in{'group'}</b>",
		    "<b>".join(" ", @mems)."</b>"),"<p>\n";
	print "<input type=submit name=confirm value='$text{'gdelete_ok'}'>\n";
	print "</form></center><hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<b>",&text('gdelete_doing', $in{'group'}),"</b><p>\n";

# Setup error handler for down hosts
sub group_error
{
$group_error_msg = join("", @_);
}
&remote_error_setup(\&group_error);

@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($group_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $group_error_msg ]);
			exit;
			}

		# Delete the group
		&remote_foreign_call($s->{'host'}, "acl", "delete_group",
				     $in{'group'});
		$h->{'groups'} = [ grep { $_->{'name'} ne $in{'group'} }
				        @{$h->{'groups'}} ];

		# Remove from any groups
		foreach $g (@{$h->{'groups'}}) {
			local @mems = @{$g->{'members'}};
			local $i = &indexof($in{'group'}, @mems);
			if ($i >= 0) {
				splice(@mems, $i, 1);
				$g->{'members'} = \@mems;
				&remote_foreign_call($s->{'host'}, "acl",
						"modify_group", $g->{'name'}, $g);
				}
			}

		# Delete any members
		foreach $u (grep { $onhost{$h,$_} } @mems) {
			&remote_foreign_call($s->{'host'}, "acl",
					     "delete_user", $u);
			$h->{'users'} = [ grep { $_->{'name'} ne $u }
					       @{$h->{'users'}} ];
			}
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('gdelete_success', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('gdelete_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'gdelete_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100074968000081e40000000000000002000000013d1fe2ea000000fe000000200000000000000000000000000000002500000003reloc/cluster-webmin/delete_host.cgi  #!/usr/local/bin/perl
# delete_host.cgi
# Remove a managed host from the list

require './cluster-webmin-lib.pl';
&ReadParse();
@hosts = &list_webmin_hosts();
($host) = grep { $_->{'id'} == $in{'id'} } @hosts;
&delete_webmin_host($host);
&redirect("");

  07070100074969000081e40000000000000002000000013d1fe2ea000010a8000000200000000000000000000000000000002400000003reloc/cluster-webmin/delete_mod.cgi   #!/usr/local/bin/perl
# delete_mod.cgi
# Delete a module from one or all servers, after asking for confirmation

require './cluster-webmin-lib.pl';
&ReadParse();
@servers = &list_servers();
@hosts = &list_webmin_hosts();
if ($in{'server'} < 0) {
	# Find servers that have the module or theme
	foreach $h (@hosts) {
		foreach $m (@{$h->{'modules'}}, @{$h->{'themes'}}) {
			if ($m->{'dir'} eq $in{'mod'}) {
				local ($s) = grep { $_->{'id'} == $h->{'id'} }
						  @servers;
				push(@got, $s);
				$gotmap{$s} = $h;
				$best = $s if (!$s->{'id'});
				last;
				}
			}
		}
	$s = $best ? $best : $got[0];
	}
else {
	($s) = grep { $_->{'id'} == $in{'server'} } @servers;
	($h) = grep { $_->{'id'} == $in{'server'} } @hosts;
	@got = ( $s );
	$gotmap{$s} = $h;
	}
$h = $gotmap{$s};
foreach $m ($in{'type'} eq 'mod' ? @{$h->{'modules'}} : @{$h->{'themes'}}) {
	$info = $m if ($m->{'dir'} eq $in{'mod'});
	}

# Setup error handler for down hosts
sub del_error
{
$del_error_msg = join("", @_);
}
&remote_error_setup(\&del_error);
&remote_foreign_require($s->{'host'}, "webmin", "webmin-lib.pl");

&header($text{'delete_title'}, "");
print "<hr>\n";
if ($in{'sure'}) {
	# do the deletion in separate processes
	print "<br><b>",&text("delete_header_$in{'type'}",
			      $info->{'desc'}),"</b><p>\n";
	$p = 0;
	foreach $g (@got) {
		local ($rh = "READ$p", $wh = "WRITE$p");
		pipe($rh, $wh);
		if (!fork()) {
			close($rh);
			local $h = $gotmap{$g};

			# Check for any dependencies on this host
			foreach $m (@{$h->{'modules'}}) {
				foreach $d (split(/\s+/, $m->{'depends'})) {
					push(@{$ondeps{$d}}, $m);
					}
				}
			if ($ondeps{$in{'mod'}}) {
				print $wh &serialise_variable([ 0, &text('delete_edepends', join(" ", @{$ondeps{$in{'mod'}}})) ]);
				exit;
				}

			# Delete the module
			&remote_foreign_require($g->{'host'}, "webmin",
					     "webmin-lib.pl") if ($s ne $g);
			&remote_foreign_require($g->{'host'}, "acl",
						"acl-lib.pl");
			local $desc = &remote_foreign_call($g->{'host'},
				"webmin", "delete_webmin_module", $in{'mod'},
				$in{'acls'});
			if ($del_error_msg) {
				print $wh &serialise_variable([ 0, $del_error_msg ]);
				}
			elsif ($desc) {
				print $wh &serialise_variable([ 1, $desc ]);
				}
			else {
				print $wh &serialise_variable([ 0, $text{'delete_egone'} ]);
				}

			# Re-request all users and groups from the server
			local @newmods = grep { $_->{'dir'} ne $in{'mod'} }
					      @{$h->{'modules'}};
			local @newthemes = grep { $_->{'dir'} ne $in{'mod'} }
					        @{$h->{'themes'}};
			$h->{'modules'} = \@newmods;
			$h->{'themes'} = \@newthemes;
			$h->{'users'} = [ &remote_foreign_call($g->{'host'},
						"acl", "list_users") ];
			$h->{'groups'} = [ &remote_foreign_call($g->{'host'},
						"acl", "list_groups") ];
			&save_webmin_host($h);

			close($wh);
			exit;
			}
		close($wh);
		$p++;
		}

	# Read back the results
	$p = 0;
	foreach $g (@got) {
		local $rh = "READ$p";
		local $line = <$rh>;
		local $rv = &unserialise_variable($line);
		close($rh);
		local $d = &server_name($g);

		if (!$rv->[0]) {
			print &text('delete_error', $d, $rv->[1]),"<br>\n";
			}
		else {
			print &text('delete_success', $d, $rv->[1]),"<br>\n";
			}
		$p++;
		}
	print "<p><b>$text{'delete_done'}</b><p>\n";
	}
else {
	# Ask if the user is sure..
	$rroot = &remote_eval($s->{'host'}, "webmin", '$root_directory');
	$sz = &remote_foreign_call($s->{'host'}, "webmin", "disk_usage_kb",
				   "$rroot/$in{'mod'}");
	print "<center>\n";
	if ($in{'server'} < 0) {
		print &text("delete_rusure_$in{'type'}",
		    "<b>$info->{'desc'}</b>", $sz),"<p>\n";
		}
	else {
		print &text("delete_rusure2_$in{'type'}",
		    "<b>$info->{'desc'}</b>", $sz, &server_name($s)),"<p>\n";
		}
	print "<form action=delete_mod.cgi>\n";
	print "<input type=hidden name=mod value=\"$in{'mod'}\">\n";
	print "<input type=hidden name=type value=\"$in{'type'}\">\n";
	print "<input type=hidden name=server value=\"$in{'server'}\">\n";
	print "<input type=hidden name=sure value=1>\n";
	print "<input type=submit value=\"$text{'delete_ok'}\"><br>\n";
	print "<input type=checkbox name=acls value=1> $text{'delete_acls'}\n";
	print "</center></form>\n";
	}

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

0707010007496a000081e40000000000000002000000013d1fe2ea000008a6000000200000000000000000000000000000002500000003reloc/cluster-webmin/delete_user.cgi  #!/usr/local/bin/perl
# delete_user.cgi
# Delete a webmin user across all servers

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'udelete_title'}, "");
print "<hr>\n";
print "<b>",&text('udelete_doing', $in{'user'}),"</b><p>\n";

# Setup error handler for down hosts
sub user_error
{
$user_error_msg = join("", @_);
}
&remote_error_setup(\&user_error);

# Delete the user on all servers that have him
foreach $h (&list_webmin_hosts()) {
	foreach $u (@{$h->{'users'}}) {
		if ($u->{'name'} eq $in{'user'}) {
			push(@hosts, $h);
			last;
			}
		}
	}
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($user_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $user_error_msg ]);
			exit;
			}

		# Delete the user
		&remote_foreign_call($s->{'host'}, "acl", "delete_user",
				     $in{'user'});
		$h->{'users'} = [ grep { $_->{'name'} ne $in{'user'} }
				       @{$h->{'users'}} ];

		# Remove from any groups
		foreach $g (@{$h->{'groups'}}) {
			local @mems = @{$g->{'members'}};
			local $i = &indexof($in{'user'}, @mems);
			if ($i >= 0) {
				splice(@mems, $i, 1);
				$g->{'members'} = \@mems;
				&remote_foreign_call($s->{'host'}, "acl",
						"modify_group", $g->{'name'}, $g);
				}
			}
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('udelete_success', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('udelete_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'udelete_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010007496b000081e40000000000000002000000013d1fe2ea000010f5000000200000000000000000000000000000002200000003reloc/cluster-webmin/edit_acl.cgi #!/usr/local/bin/perl
# edit_acl.cgi
# Display a form for editing the ACL for some module for some user or group

require './cluster-webmin-lib.pl';
&ReadParse();

# Get hosts and module details
@hosts = &list_webmin_hosts();
if ($in{'whohost'} =~ /^(\d+),(\S*)$/) {
	# Coming from the module page, so know which host to look at
	($host) = grep { $_->{'id'} == $1 } @hosts;
	local ($u) = grep { $_->{'name'} eq $2 } @{$host->{'users'}};
	local ($g) = grep { $_->{'name'} eq $2 } @{$host->{'groups'}};
	$user = $u if ($u);
	$group = $g if ($g);
	($mod) = grep { $_->{'dir'} eq $in{'mod'} } @{$host->{'modules'}};
	}
elsif ($in{'modhost'} =~ /^(\d+),(\S*)$/) {
	# Coming from the user or group page, so know which host to look at
	($host) = grep { $_->{'id'} == $1 } @hosts;
	($mod) = grep { $_->{'dir'} eq $2 } @{$host->{'modules'}};
	if ($in{'user'}) {
		($user) = grep { $_->{'name'} eq $in{'user'} } @{$host->{'users'}};
		}
	else {
		($group) = grep { $_->{'name'} eq $in{'group'} } @{$host->{'groups'}};
		}
	}
else {
	# Find a host that has the user and module
	foreach $h (sort { $a->{'id'} <=> $b->{'id'} } @hosts) {
		local ($m) = grep { $_->{'dir'} eq $in{'mod'} } @{$h->{'modules'}};
		if ($in{'user'}) {
			local ($u) = grep { $_->{'name'} eq $in{'user'} }
					  @{$h->{'users'}};
			if ($u && (&indexof($in{'mod'}, @{$u->{'modules'}}) >= 0 ||
				   !$in{'mod'})) {
				$user = $u;
				$host = $h;
				$mod = $m;
				last;
				}
			}
		else {
			local ($g) = grep { $_->{'name'} eq $in{'group'} }
					  @{$h->{'groups'}};
			if ($g && (&indexof($in{'mod'}, @{$g->{'modules'}}) >= 0 ||
				   !$in{'mod'})) {
				$group = $g;
				$host = $h;
				$mod = $m;
				last;
				}
			}
		}
	$host || &error(&text('acl_efound',
			$in{'user'} ? $in{'user'} : $in{'group'}, $in{'mod'}));
	}
$who = $user ? $user->{'name'} : $group->{'name'};
@servers = &list_servers();
($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
$d = &server_name($serv);

&header($text{'acl_title'}, "");
$ga = "_ga" if (!$mod->{'dir'});
print "<center><font size=+1>",&text($user ? 'acl_title2'.$ga : 'acl_title3'.$ga,
	"<b>$who</b>", "<b>$mod->{'desc'}</b>", "<b>$d</b>"),"</font></center>\n";
print "<hr>\n";

# Get the host's ACL options
&remote_foreign_require($serv->{'host'}, "acl", "acl-lib.pl");
$aref = &remote_eval($serv->{'host'}, "acl", "\%rv = &get_module_acl('$who', '$mod->{'dir'}'); \\%rv");
%access = %$aref;

# Display the editor form from this host
print "<form method=post action=save_acl.cgi>\n";
print "<input type=hidden name=_acl_mod value='$mod->{'dir'}'>\n";
print "<input type=hidden name=_acl_host value='$host->{'id'}'>\n";
if ($in{'group'}) {
	print "<input type=hidden name=_acl_group value='$group->{'name'}'>\n";
	}
else {
	print "<input type=hidden name=_acl_user value='$user->{'name'}'>\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",
	$mod->{'dir'} ? &text('acl_options', $mod->{'desc'}, &server_name($serv))
		      : &text('acl_optionsg', &server_name($serv)),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($mod->{'dir'}) {
	print "<tr> <td><b>$text{'acl_config'}</b></td> <td>\n";
	printf "<input type=radio name=noconfig value=0 %s> $text{'yes'}\n",
		$access{'noconfig'} ? "" : "checked";
	printf "<input type=radio name=noconfig value=1 %s> $text{'no'}</td>\n",
		$access{'noconfig'} ? "checked" : "";
	print "<td width=50% colspan=2></td> </tr>\n";
	}

if (!-d "$root_directory/$mod->{'dir'}") {
	# This server doesn't have the module .. use text editor
	print "<tr> <td colspan=4><hr></td> </tr>\n" if ($mod->{'dir'});
	print "<tr> <td colspan=4><b>$text{'acl_raw'}</b><br>\n";
	print "<textarea rows=10 cols=70 name=_acl_raw>\n";
	foreach $k (sort { $a cmp $b } keys %access) {
		print "$k=$access{$k}\n";
		}
	print "</textarea></td> </tr>\n";
	}
elsif (-r "$root_directory/$mod->{'dir'}/acl_security.pl") {
	print "<tr> <td colspan=4><hr></td> </tr>\n" if ($mod->{'dir'});
	&foreign_require($mod->{'dir'}, "acl_security.pl");
	&foreign_call($mod->{'dir'}, "acl_security_form", \%access);
	}

print "</table></td></tr></table>\n";
print "<input type=submit name=all value='",&text('acl_save1'),"'>\n";
print "<input type=submit value='",&text('acl_save2', &server_name($serv)),"'>\n";
print "</form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   0707010007496c000081e40000000000000002000000013d1fe2ea00001936000000200000000000000000000000000000002400000003reloc/cluster-webmin/edit_group.cgi   #!/usr/local/bin/perl
# edit_group.cgi
# Display an existing Webmin group for editing

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'group_title2'}, "");
print "<hr>\n";

@hosts = &list_webmin_hosts();
@mods = &all_modules(\@hosts);
@wgroups = &all_groups(\@hosts);
@servers = &list_servers();
if ($in{'host'} ne '') {
	($host) = grep { $_->{'id'} == $in{'host'} } @hosts;
	($edgrp) = grep { $_->{'name'} eq $in{'group'} } @{$host->{'groups'}};
	}
else {
	foreach $h (@hosts) {
		local ($g) =grep { $_->{'name'} eq $in{'group'} } @{$h->{'groups'}};
		if ($g) {
			$host = $h;
			$edgrp = $g;
			last;
			}
		}
	}
($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
foreach $h (@hosts) {
	local ($g) = grep { $_->{'name'} eq $in{'group'} } @{$h->{'groups'}};
	if ($g) {
		push(@got, grep { $_->{'id'} == $h->{'id'} } @servers);
		}
	}

print "<form action=save_group.cgi method=post>\n";
print "<input type=hidden name=old value=\"$in{'group'}\">\n";
print "<input type=hidden name=host value=\"$host->{'id'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('group_header2', &server_name($serv)),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group_name'}</b></td>\n";
printf "<td><input name=name size=15 value='%s'></td> </tr>\n",
	$edgrp->{'name'};

@gm = @{$edgrp->{'members'}};
print "<tr> <td><b>$text{'group_mems'}</b></td>\n";
print "<td>",@gm ? join(" ", @gm) : $text{'group_nomems'},"</td> </tr>\n";

foreach $g (@{$host->{'groups'}}) {
	if (&indexof($edgrp->{'name'}, @{$g->{'members'}}) >= 0) {
		$group = $g;
		last;
		}
	}
print "<tr> <td><b>$text{'group_group'}</b></td> <td>\n";
printf "<input type=radio name=group_def value=1 checked> %s (%s)\n",
	$text{'user_leave'}, $group ? $group->{'name'} : $text{'user_nogroup2'};
printf "<input type=radio name=group_def value=0> %s\n",
	$text{'user_set'};
print "<select name=group>\n";
print "<option selected value=''>$text{'user_nogroup'}\n";
foreach $g (@wgroups) {
	print "<option>$g->{'name'}\n";
	}
print "</select></td> </tr>\n";

$mp = int((scalar(@mods)+2)/3);
@umods = $group ? @{$edgrp->{'ownmods'}} : @{$edgrp->{'modules'}};
map { $umods{$_}++ } @umods;
print "<tr> <td valign=top><b>$text{'group_mods'}</b><br>",
      "$text{'group_groupmods'}</td> <td nowrap>\n";
print "<input type=radio name=mods_def value=1 checked> ",
	&text('user_mleave', scalar(@umods)),"<br>\n";
print "<input type=radio name=mods_def value=2> $text{'user_modsel'}\n";
print "<input type=radio name=mods_def value=3> $text{'user_modadd'}\n";
print "<input type=radio name=mods_def value=0> $text{'user_moddel'}\n";
print "<br>\n";
print "<select name=mods1 size=$mp multiple>\n";
for($i=0; $i<$mp; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";
print "<select name=mods2 size=$mp multiple>\n";
for($i=$mp; $i<$mp*2; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";
print "<select name=mods3 size=$mp multiple>\n";
for($i=$mp*2; $i<@mods; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";

print "<br>\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = true; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = true; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = true; } return false'>$text{'user_sall'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = false; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = false; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = false; } return false'>$text{'user_snone'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = !document.forms[0].mods1.options[i].selected; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = !document.forms[0].mods2.options[i].selected; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = !document.forms[0].mods3.options[i].selected; } return false'>$text{'user_sinvert'}</a><br>\n";

print "</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td></form>\n";

%mdesc = map { $_->{'dir'}, $_->{'desc'} } @mods;
foreach $h (@hosts) {
	local %ingroup;
	foreach $g (@{$h->{'groups'}}) {
		map { $ingroup{$_}++ } @{$g->{'members'}};
		}
	local ($g) = grep { $_->{'name'} eq $in{'group'} } @{$h->{'groups'}};
	next if (!$g);
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	$sel .= "<option value='$h->{'id'},'>".&text('user_aclhg', $d)."\n"
		if (!$ingroup{$in{'group'}});
	foreach $m (@{$h->{'modules'}}) {
		local @gm = $ingroup{$in{'group'}} ? @{$g->{'ownmods'}}
						   : @{$g->{'modules'}};
		next if (&indexof($m->{'dir'}, @gm) < 0);
		$sel .= "<option value='$h->{'id'},$m->{'dir'}'>".
			&text('user_aclh', $m->{'desc'}, $d)."\n";
		}
	}
if ($sel) {
	print "<form action=edit_acl.cgi><td align=center>\n";
	print "<input type=hidden name=group value='$in{'group'}'>\n";
	print "<input type=submit value='$text{'user_acl'}'>\n";
	print "<select name=modhost>\n";
	print $sel;
	print "</select></td></form>\n";
	}

print "<form action=delete_group.cgi>\n";
print "<input type=hidden name=group value=\"$in{'group'}\">\n";
print "<td align=right><input type=submit value='$text{'delete'}'></td></form>\n";
print "</tr></table>\n";

# Show hosts with the group
print "<hr>\n";
print "<h3>$text{'group_hosts'}</h3>\n";
@icons = map { "/servers/images/$_->{'type'}.gif" } @got;
@links = map { "edit_host.cgi?id=$_->{'id'}" } @got;
@titles = map { &server_name($_) } @got;
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010007496d000081e40000000000000002000000013d1fe2ea00000e8d000000200000000000000000000000000000002300000003reloc/cluster-webmin/edit_host.cgi    #!/usr/local/bin/perl
# edit_host.cgi
# Show details of a managed host, and all the modules on it

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'host_title'}, "", "edit_host");
print "<hr>\n";

@hosts = &list_webmin_hosts();
($host) = grep { $_->{'id'} eq $in{'id'} } @hosts;
$server = &foreign_call("servers", "get_server", $in{'id'});
@modules = @{$host->{'modules'}};
@themes = @{$host->{'themes'}};
@users = @{$host->{'users'}};
@groups = @{$host->{'groups'}};

# Show host details
print "<form action=delete_host.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'host_name'}</b></td>\n";
if ($server->{'id'}) {
	printf "<td><a href='../servers/link.cgi/%s/'>%s</a></td>\n",
		$server->{'id'}, $server->{'desc'} ? "$server->{'desc'} ($server->{'host'}:$server->{'port'})" : "$server->{'host'}:$server->{'port'}";
	}
else {
	print "<td><a href=/>$text{'this_server'}</a></td>\n";
	}

if ($server->{'id'}) {
	print "<td><b>$text{'host_type'}</b></td> <td>\n";
	foreach $t (@servers::server_types) {
		print $t->[1] if ($t->[0] eq $server->{'type'});
		}
	print "</td>\n";
	}
print "</tr>\n";

print "<tr> <td><b>$text{'host_count'}</b></td>\n";
printf "<td>%d</td>\n", scalar(@modules);

print "<td><b>$text{'host_tcount'}</b></td>\n";
printf "<td>%d</td> </tr>\n", scalar(@themes);

print "<tr> <td><b>$text{'host_os'}</b></td>\n";
print "<td>$host->{'real_os_type'} $host->{'real_os_version'}</td>\n";

print "<td><b>$text{'host_version'}</b></td>\n";
printf "<td>%s</td> </tr>\n", $host->{'version'};

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'host_delete'}'></form>\n";

# Show table of modules and themes
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header_m'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$i = 0;
foreach $m (sort { $a->{'desc'} cmp $b->{'desc'} } @modules) {
	print "<tr>\n" if ($i%3 == 0);
	print "<td width=33%><a href='edit_mod.cgi?mod=$m->{'dir'}&host=$in{'id'}'>",$m->{'desc'},"</td>\n";
	print "</tr>\n" if ($i%3 == 2);
	$i++;
	}
if (@themes) {
	$i = 0;
	print "</table></td></tr>\n";
	print "<tr $tb> <td><b>$text{'host_header_t'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	foreach $t (sort { $a->{'desc'} cmp $b->{'desc'} } @themes) {
		print "<tr>\n" if ($i%3 == 0);
		print "<td width=33%><a href='edit_mod.cgi?theme=$t->{'dir'}$in{'id'}'>",$t->{'desc'},"</td>\n";
		print "</tr>\n" if ($i%3 == 2);
		$i++;
		}
	}
print "</table></td></tr></table><br>\n";

# Show table of users and groups
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header_u'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
$i = 0;
foreach $u (@users) {
	print "<tr>\n" if ($i%4 == 0);
	print "<td width=25%><a href='edit_user.cgi?user=$u->{'name'}&host=$in{'id'}'>$u->{'name'}</td>\n";
	print "</tr>\n" if ($i%4 == 3);
	$i++;
	}
if ($i%4) {
	while($i++%4) { print "<td width=25%></td>\n"; }
	print "</tr>\n";
	}
if (@groups) {
	$i = 0;
	print "</table></td></tr>\n";
	print "<tr $tb> <td><b>$text{'host_header_g'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	foreach $g (@groups) {
		print "<tr>\n" if ($i%4 == 0);
		print "<td width=25%><a href='edit_group.cgi?group=$g->{'name'}&host=$in{'id'}'>$g->{'name'}</td>\n";
		print "</tr>\n" if ($i%4 == 3);
		$i++;
		}
	if ($i%4) {
		while($i++%4) { print "<td width=25%></td>\n"; }
		print "</tr>\n";
		}
	}
print "</table></td></tr></table><br>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100074988000081e40000000000000002000000013d1fe2ea000019d5000000200000000000000000000000000000002200000003reloc/cluster-webmin/edit_mod.cgi #!/usr/local/bin/perl
# edit_mod.cgi
# Display details of a module or theme

require './cluster-webmin-lib.pl';
&ReadParse();
$type = $in{'tedit'} || !$in{'mod'} ? 'theme' : 'mod';
$name = $in{$type};
&header($text{"edit_title_$type"}, "");
print "<hr>\n";

# Find all hosts with the module or theme
@hosts = &list_webmin_hosts();
@servers = &list_servers();
foreach $h (@hosts) {
	foreach $m ($type eq 'theme' ? @{$h->{'themes'}}
				     : @{$h->{'modules'}}) {
		if ($m->{'dir'} eq $name) {
			local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
			push(@got, $s);
			push(@goth, $h);
			$mod = $m if (!$mod);
			if (!$checkon && ($s->{'id'} == $in{'host'} ||
				  !$s->{'id'} && !defined($in{'host'}))) {
				$checkon = $s;
				$checkonh = $h;
				}
			}
		}
	}

# Get the details from this host, or the first in the list
if (!$checkon) {
	$checkonh = $goth[0];
	$checkon = $got[0];
	}
#&remote_foreign_require($checkon->{'host'}, "software", "software-lib.pl");
#@pinfo = &remote_foreign_call($checkon->{'host'}, "software", "package_info",
#			      $in{'package'});

# Show module/theme details
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text("edit_header_$type", &server_name($checkon)),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_desc'}</b></td>\n";
print "<td>",$mod->{'desc'},"</td>\n";

print "<td><b>$text{'edit_ver'}</b></td>\n";
print "<td>",$mod->{'version'} ? $mod->{'version'}
			       : $text{'edit_nover'},"</td> </tr>\n";

if ($type eq 'mod') {
	# Show details of module
	foreach $m (@{$checkonh->{'modules'}}) {
		$modmap{$m->{'dir'}} = $m;
		foreach $d (split(/\s+/, $m->{'depends'})) {
			push(@{$ondeps{$d}}, $m);
			}
		}

	&read_file("$config_directory/webmin.catnames", \%catnames);
	print "<tr> <td><b>$text{'edit_cat'}</b></td>\n";
	$c = $mod->{'category'};
	print "<td>",$catname{$c} ? $catname{$c} :
		     $text{"category_$c"} ? $text{"category_$c"} :
					    $text{"category_"},"</td>\n";

	print "<td><b>$text{'edit_dir'}</b></td>\n";
	if ($checkon->{'id'}) {
		print "<td><tt><a href='/servers/link.cgi/$checkon->{'id'}/",
		      "$mod->{'dir'}/'>$mod->{'dir'}</a></tt></td> </tr>\n";
		}
	else {
		print "<td><tt><a href='/$mod->{'dir'}/'>$mod->{'dir'}</a>",
		      "</tt></td> </tr>\n";
		}

	# Show operating systems
	print "<tr> <td valign=top><b>$text{'edit_os'}</b></td>\n";
	print "<td colspan=3>\n";
	$oss = $mod->{'os_support'};
	if (!$oss) {
		print $text{'edit_osall'};
		}
	else {
		open(OSLIST, "$root_directory/os_list.txt");
		while(<OSLIST>) {
			chop;
			if (/^([^\t]+)\t+([^\t]+)\t+(\S+)\t+(\S+)\t*(.*)$/) {
				$osname{$3} = $1 if (!$osname{$3});
				}
			}
		close(OSLIST);
		while(1) {
			local ($os, $ver, $codes);
			if ($oss =~ /^([^\/\s]+)\/([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
				$os = $1; $ver = $2; $codes = $3; $oss = $4;
				}
			elsif ($oss =~ /^([^\/\s]+)\/([^\/\s]+)\s*(.*)$/) {
				$os = $1; $ver = $2; $oss = $3;
				}
			elsif ($oss =~ /^([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
				$os = $1; $codes = $2; $oss = $3;
				}
			elsif ($oss =~ /^\{([^\}]*)\}\s*(.*)$/) {
				$codes = $1; $oss = $2;
				}
			elsif ($oss =~ /^(\S+)\s*(.*)$/) {
				$os = $1; $oss = $2;
				}
			else { last; }
			print "&nbsp;,&nbsp;\n" if ($doneone++);
			$osn = $osname{$os} ? $osname{$os} : $os;
			$osn =~ s/\s/&nbsp;/g;
			if ($ver) {
				print "$osn&nbsp;$ver";
				}
			elsif ($os) {
				print "$osn";
				}
			if ($codes) {
				$codes =~ s/\s/&nbsp;/g;
				if ($os) {
					print "(",&text('edit_codes',
							"<tt>$codes</tt>"),")";
					}
				else {
					print &text('edit_codes',
						    "<tt>$codes</tt>");
					}
				}
			}
		}
	print "</td> </tr>\n";

	# Show which modules this module depends upon
	local @deps = grep { !/^[0-9\.]+$/ } split(/\s+/, $mod->{'depends'});
	local @pdeps = split(/\s+/, $mod->{'perldepends'});
	print "<tr> <td valign=top><b>$text{'edit_deps'}</b></td>\n";
	print "<td valign=top>\n";
	if (@deps || @pdeps) {
		foreach $d (@deps) {
			local $mm = $modmap{$d};
			print $mm->{'desc'}," (<tt>$mm->{'dir'}</tt>)<br>\n";
			}
		foreach $d (@pdeps) {
			print &text('edit_pdep', "<tt>$d</tt>"),"<br>\n";
			}
		}
	else {
		print "$text{'edit_nodeps'}\n";
		}
	print "</td>\n";

	# Show which other modules depend on this one
	print "<td valign=top><b>$text{'edit_ondeps'}</b></td>\n";
	print "<td valign=top>\n";
	if ($ondeps{$mod->{'dir'}}) {
		foreach $d (@{$ondeps{$mod->{'dir'}}}) {
			print $d->{'desc'}," (<tt>$d->{'dir'}</tt>)<br>\n";
			}
		}
	else {
		print "$text{'edit_nodeps'}\n";
		}
	print "</td> </tr>\n";
	}
else {
	# Show details of theme
	}

print "</table></td></tr></table><p>\n";

print "<table width=100%><tr>\n";
print "<form action=delete_mod.cgi>\n";
print "<input type=hidden name=type value=\"$type\">\n";
print "<input type=hidden name=mod value=\"$name\">\n";
print "<td><input type=submit value='",$text{"edit_uninst_$type"},"'>\n";
print "<select name=server>\n";
print "<option value=-1>$text{'edit_all'}\n";
foreach $s (@got) {
	print "<option value='$s->{'id'}'>",&server_name($s),"\n";
	}
print "</select></td></form>\n";

if ($type eq 'mod') {
	# Show user/group ACL selector
	print "<form action=edit_acl.cgi>\n";
	print "<input type=hidden name=mod value=\"$name\">\n";
	print "<input type=hidden name=host value=\"$checkonh->{'id'}\">\n";
	print "<td align=right><input type=submit value='$text{'edit_acl'}'>\n";
	print "<select name=whohost>\n";
	for($i=0; $i<@goth; $i++) {
		$h = $goth[$i];
		local %ingroup;
		foreach $g (@{$h->{'groups'}}) {
			map { $ingroup{$_}++ } @{$g->{'members'}};
			}
		local $d = &server_name($got[$i]);
		foreach $u (@{$h->{'users'}}) {
			local @m = $ingroup{$u->{'name'}} ? @{$u->{'ownmods'}}
							  : @{$u->{'modules'}};
			print "<option value='$h->{'id'},$u->{'name'}'>",
			      &text('edit_uacl', $u->{'name'}, $d),"\n"
				if (&indexof($name, @m) >= 0);
			}
		foreach $g (@{$h->{'groups'}}) {
			local @m = $ingroup{$g->{'name'}} ? @{$g->{'ownmods'}}
							  : @{$g->{'modules'}};
			print "<option value='$h->{'id'},$g->{'name'}'>",
			      &text('edit_gacl', $g->{'name'}, $d),"\n"
				if (&indexof($name, @m) >= 0);
			}
		}
	print "</select></td></form>\n";
	}

print "</tr></table>\n";

# Show hosts with the module or theme
print "<hr>\n";
print "<h3>$text{'edit_hosts'}</h3>\n";
@icons = map { "/servers/images/$_->{'type'}.gif" } @got;
@links = map { "edit_host.cgi?id=$_->{'id'}" } @got;
@titles = map { &server_name($_) } @got;
&icons_table(\@links, \@titles, \@icons);

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});


   0707010007498c000081e40000000000000002000000013d1fe2ea000021fd000000200000000000000000000000000000002300000003reloc/cluster-webmin/edit_user.cgi    #!/usr/local/bin/perl
# edit_user.cgi
# Display details of an existing user for changing

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'user_title2'}, "");
print "<hr>\n";

@hosts = &list_webmin_hosts();
@mods = &all_modules(\@hosts);
@themes = &all_themes(\@hosts);
@wgroups = &all_groups(\@hosts);
@servers = &list_servers();
if ($in{'host'} ne '') {
	($host) = grep { $_->{'id'} == $in{'host'} } @hosts;
	($user) = grep { $_->{'name'} eq $in{'user'} } @{$host->{'users'}};
	}
else {
	foreach $h (@hosts) {
		local ($u) = grep { $_->{'name'} eq $in{'user'} } @{$h->{'users'}};
		if ($u) {
			$host = $h;
			$user = $u;
			last;
			}
		}
	}
($serv) = grep { $_->{'id'} == $host->{'id'} } @servers;
foreach $h (@hosts) {
	local ($u) = grep { $_->{'name'} eq $in{'user'} } @{$h->{'users'}};
	if ($u) {
		push(@got, grep { $_->{'id'} == $h->{'id'} } @servers);
		}
	}

print "<form action=save_user.cgi method=post>\n";
print "<input type=hidden name=old value=\"$in{'user'}\">\n";
print "<input type=hidden name=host value=\"$host->{'id'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('user_header2', &server_name($serv)),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'user_name'}</b></td>\n";
printf "<td><input name=name size=15 value='%s'></td> </tr>\n",
	$user->{'name'};

foreach $g (@{$host->{'groups'}}) {
	if (&indexof($user->{'name'}, @{$g->{'members'}}) >= 0) {
		$group = $g;
		last;
		}
	}
print "<tr> <td><b>$text{'user_group'}</b></td> <td>\n";
printf "<input type=radio name=group_def value=1 checked> %s (%s)\n",
	$text{'user_leave'}, $group ? $group->{'name'} : $text{'user_nogroup2'};
printf "<input type=radio name=group_def value=0> %s\n",
	$text{'user_set'};
print "<select name=group>\n";
print "<option selected value=''>$text{'user_nogroup'}\n";
foreach $g (@wgroups) {
	print "<option>$g->{'name'}\n";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'user_pass'}</b></td> <td>\n";
print "<select name=pass_def>\n";
print "<option value=1 checked> $text{'user_leave'}\n";
print "<option value=0> $text{'user_set'} ..\n";
print "<option value=3> $text{'user_unix'}\n";
print "<option value=4 %s> $text{'user_lock'}\n";
print "</select><input type=password name=pass size=25></td> </tr>\n";

@langs = &list_languages();
%langdesc = map { $_->{'lang'}, $_->{'desc'} } @langs;
print "<tr> <td><b>$text{'user_lang'}</b></td> <td>\n";
printf "<input type=radio name=lang_def value=1 checked> %s (%s)\n",
	$text{'user_leave'}, $user->{'lang'} ? $langdesc{$user->{'lang'}}
					     : $text{'user_default'};
printf "<input type=radio name=lang_def value=0> %s\n",
	$text{'user_set'};
print "<select name=lang>\n";
print "<option value='' selected>$text{'user_default'}\n";
foreach $l (@langs) {
	printf "<option value=%s>%s (%s)\n",
		$l->{'lang'},
		$l->{'desc'}, uc($l->{'lang'});
	}
print "</select></td> </tr>\n";

%themedesc = map { $_->{'dir'}, $_->{'desc'} } @themes;
print "<tr> <td><b>$text{'user_theme'}</b></td> <td>\n";
printf "<input type=radio name=theme_def value=1 checked> %s (%s)\n",
	$text{'user_leave'},
	$user->{'theme'} ? $themedesc{$user->{'theme'}} :
	!defined($user->{'theme'}) ? $text{'user_default'} : $text{'user_themedef'};
printf "<input type=radio name=theme_def value=0> %s\n",
	$text{'user_set'};
print "<select name=theme>\n";
print "<option value=webmin selected>$text{'user_default'}\n";
foreach $t ( { 'desc' => $text{'user_themedef'} }, @themes) {
	printf "<option value='%s'>%s\n", $t->{'dir'}, $t->{'desc'};
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'user_ips'}</b></td>\n";
print "<td>\n";
print "<input name=ipmode type=radio value=-1 checked> $text{'user_leave'}\n";
if ($user->{'allow'}) {
	print "($text{'user_allow2'} $user->{'allow'})\n";
	}
elsif ($user->{'deny'}) {
	print "($text{'user_deny2'} $user->{'deny'})\n";
	}
else {
	print "($text{'user_allowall'})\n";
	}
print "<table cellpadding=0 cellspacing=0><tr><td valign=top>\n";
print "<input name=ipmode type=radio value=0> $text{'user_all'}<br>\n";
print "<input name=ipmode type=radio value=1> $text{'user_allow'}<br>\n";
print "<input name=ipmode type=radio value=2> $text{'user_deny'}</td>\n";
print "<td><textarea name=ips rows=4 cols=30></textarea></td>\n";
print "</td> </tr></table> </tr>\n";

$mp = int((scalar(@mods)+2)/3);
@umods = $group ? @{$user->{'ownmods'}} : @{$user->{'modules'}};
map { $umods{$_}++ } @umods;
print "<tr> <td valign=top><b>$text{'user_mods'}</b><br>",
      "$text{'user_groupmods'}</td> <td nowrap>\n";
print "<input type=radio name=mods_def value=1 checked> ",
	&text('user_mleave', scalar(@umods)),"<br>\n";
print "<input type=radio name=mods_def value=2> $text{'user_modsel'}\n";
print "<input type=radio name=mods_def value=3> $text{'user_modadd'}\n";
print "<input type=radio name=mods_def value=0> $text{'user_moddel'}\n";
print "<br>\n";
print "<select name=mods1 size=$mp multiple>\n";
for($i=0; $i<$mp; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";
print "<select name=mods2 size=$mp multiple>\n";
for($i=$mp; $i<$mp*2; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";
print "<select name=mods3 size=$mp multiple>\n";
for($i=$mp*2; $i<@mods; $i++) {
	printf "<option value=%s %s>%s\n",
		$mods[$i]->{'dir'}, $umods{$mods[$i]->{'dir'}} ? "selected" : "",
		$mods[$i]->{'desc'};
	}
print "</select>\n";

print "<br>\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = true; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = true; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = true; } return false'>$text{'user_sall'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = false; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = false; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = false; } return false'>$text{'user_snone'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = !document.forms[0].mods1.options[i].selected; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = !document.forms[0].mods2.options[i].selected; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = !document.forms[0].mods3.options[i].selected; } return false'>$text{'user_sinvert'}</a><br>\n";

print "</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td></form>\n";

%mdesc = map { $_->{'dir'}, $_->{'desc'} } @mods;
foreach $h (@hosts) {
	local %ingroup;
	foreach $g (@{$h->{'groups'}}) {
		map { $ingroup{$_}++ } @{$g->{'members'}};
		}
	local ($u) = grep { $_->{'name'} eq $in{'user'} } @{$h->{'users'}};
	next if (!$u);
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	$sel .= "<option value='$h->{'id'},'>".&text('user_aclhg', $d)."\n"
		if (!$ingroup{$in{'user'}});
	foreach $m (@{$h->{'modules'}}) {
		local @um = $ingroup{$in{'user'}} ? @{$u->{'ownmods'}}
						  : @{$u->{'modules'}};
		next if (&indexof($m->{'dir'}, @um) < 0);
		$sel .= "<option value='$h->{'id'},$m->{'dir'}'>".
			&text('user_aclh', $m->{'desc'}, $d)."\n";
		}
	}
if ($sel) {
	print "<form action=edit_acl.cgi><td align=center>\n";
	print "<input type=hidden name=user value='$in{'user'}'>\n";
	print "<input type=submit value='$text{'user_acl'}'>\n";
	print "<select name=modhost>\n";
	print $sel;
	print "</select></td></form>\n";
	}

print "<form action=delete_user.cgi>\n";
print "<input type=hidden name=user value=\"$in{'user'}\">\n";
print "<td align=right><input type=submit value='$text{'delete'}'></td></form>\n";
print "</tr></table>\n";

# Show hosts with the user
print "<hr>\n";
print "<h3>$text{'user_hosts'}</h3>\n";
@icons = map { "/servers/images/$_->{'type'}.gif" } @got;
@links = map { "edit_host.cgi?id=$_->{'id'}" } @got;
@titles = map { &server_name($_) } @got;
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010007498d000081e40000000000000002000000013d1fe2ea00000bd4000000200000000000000000000000000000002400000003reloc/cluster-webmin/group_form.cgi   #!/usr/local/bin/perl
# group_form.cgi
# Display a form for adding a new webmin group to all servers

require './cluster-webmin-lib.pl';
&header($text{'user_title1'}, "");
print "<hr>\n";

@hosts = &list_webmin_hosts();
@mods = &all_modules(\@hosts);
@wgroups = &all_groups(\@hosts);

print "<form action=create_group.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'group_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group_name'}</b></td>\n";
print "<td><input name=name size=15></td>\n";

print "<td><b>$text{'user_group'}</b></td>\n";
print "<td><select name=group>\n";
print "<option selected value=''>$text{'user_nogroup'}\n";
foreach $g (@wgroups) {
	print "<option>$g->{'name'}\n";
	}
print "</select></td> </tr>\n";

$mp = int((scalar(@mods)+2)/3);
print "<tr> <td valign=top><b>$text{'user_mods'}</b><br>",
      "$text{'user_groupmods'}</td> <td colspan=3 nowrap>\n";
print "<select name=mods1 size=$mp multiple>\n";
for($i=0; $i<$mp; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";
print "<select name=mods2 size=$mp multiple>\n";
for($i=$mp; $i<$mp*2; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";
print "<select name=mods3 size=$mp multiple>\n";
for($i=$mp*2; $i<@mods; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";

print "<br>\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = true; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = true; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = true; } return false'>$text{'user_sall'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = false; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = false; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = false; } return false'>$text{'user_snone'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = !document.forms[0].mods1.options[i].selected; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = !document.forms[0].mods2.options[i].selected; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = !document.forms[0].mods3.options[i].selected; } return false'>$text{'user_sinvert'}</a><br>\n";

print "</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100075ff2000041ed0000000000000001000000023d1ff9f100000000000000200000000000000000000000000000001c00000003reloc/cluster-webmin/images   07070100075ff4000081a40000000000000002000000013d1fe2ea00000915000000200000000000000000000000000000002500000003reloc/cluster-webmin/images/icon.gif  GIF89a0 0 ç  ÿÿÿðððùøøÌÌÌóððÚÖÖôññ   úúö¾ººòòòúúúÒÎÊÊ¾ºæææøøøÞÞÚº®¬¾¶²ÒÊÊñññöööÿ  ÎÊÊ¶²®ÎÆÂÆÂ¾âââýýýææâÂº¶ÖÎÊæÞÞÊÂ¾Âº²ÎÊÆÒÒÒêââúööþþþâÞÞÆ¾ºÒÎÎÞÞÞÚÖÒêææÒÊÆ¾¶®Æ¾¾ÞÚÚÖÒÒúúþööúâÞÚÂ¶²º¶²ÆÂÂÖÖÖÂºº¶®ªÆÂºâÚÚêêêúþþþúúÚÒÎÆ¾¶º²®îîîÆÆÂ²¦¢¾º¶ÊÊÆþþúòîêÊÆÂÚÚÚ’Š†~vr–ŽŠš––‚zxrjbVNNrnnæââîêêööò²²®’’’ÌÌÿ¢––^VRbZTvvvrrr^ZX2.+&¾²®ÖÎÎÂ¶¶Â¾ºÊÆÆRNN*.**&&&"""Â¾¾f^ZÖÒÎöòò‚‚‚
ÚÚÖââÞÎÎÎ


***²ª¦zzz^^\



ÊÊÊF>;
¢¢¢ÂÂÂ¦žšJJJ
–––ÒÎÆ¾²²òîî
"
ZRN¶®®òòîŠ‚~fff666NNNÊ¾¾ÚÒÒ

*&&ª¦žnfbZZZ

ÎÆÆ>>>®®®ÎÎÊÆººîîêÞÖÖ¶¶²
f^^žššZNNBBB‚~|~~~ÞÚÖ¾¶¶*""NFDÏÏÏ²®ªº²².&!º²ª"b^^¾¾¾:2.ŠŠŠ6.*šššVRRŠ†‚žžž²²²æâÞ’ŠŠnnn

"222VVVêêæÖÖÒÎÂÂªªªFFF†††êæâ&"ŽŽŽ"B>>ëéåîêæº¶®ìççëëêëçæ÷÷÷ððïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ H`  
*T8 ¡Ã‡.$PÀ€Ä‹hÜÈ±áÅ‚  `ÁG‚9ªôxRà xP²eJ•Y¶| !‚„	¨ðñ¦F´°€Â4H¸°ÃÌšp´À5§Ò–:Hðð¡ˆ"Fz•èÀ›HãjÔy±J„0qÂŠR¨XÁ@€’F õ
E
Bt8AyA/$ÀPcÃ[­[“žDÀA†„
3”¥A™²‰#lÜHƒDˆ-à>ù`…Ž}ìàÑÃ‡‚­,p$ƒ!¸è†øQ…Bø)bd†#HTþl¨yå
Jb,1òp:Ý‹L<Ô8±`E'O D‘2…JŽ*V\±À' QYD…ZÀàR8PDœàÃ[pÑ…_€†cè€„+8àƒ„TàæžCYGFÐ‡‚g ‘†k°Ñ†XÈ Á/èðÆOÀ¡D+¾GÐ
GÄA™gÀ ÇtÔaÇ•w|± rT‡;D‘â 6Xæ‘_á"Èq‚xŒ‘Ç	zìÁG~\ù‡˜`6 ˆ ƒôAH!WZà†!U@	7TAß0,±Ày‚H"ŠàéÇ"LäÀˆq4B…#m<²¢vX`$þu_$Oê!É$oæà%•Xr	&„d¢Éc °	'xrÇ#˜°êê',dÒ
€Â—9H
}Ôf 
£ì1
)¥˜r®1œ‚Êv¤¢Š³v¸QA®â“¾^àÔAÇ•¬ÔÑÄ'Ì h´aÇ#ž´’¨w¸RPPðŠóà °Äò&	ÈrÂ,´â‡ˆÔbË' p.¹ìaGºìB±«vt"”[JPÀ€>Lp/?L"C/K˜°ÀjøB–´ñ‹'\ñ0a\IIÁØQÏl¤À+È*WøÀÄÂ”…Â7S‚2\ þ"ÄXR)ª4rÂ
§äÂÆvÃBÇŒÂ³$ à™’A
`2ÄzÁ˜‘‚[$£«~,“3`4ãÌ•\Ä  *Ž_iÇ30B,ÄË$-x AW˜€GV˜€€	 3WúMÑHcLˆOS ÔŒmû'TS,øRfM"ŸðÃq8É×`CK~¤b3ÙäR‰6vl#
qâìÀC,B!Èã×	d"$!	rA*°¼Â… E!†n8BÎ(Äº±„ ä@ÔÖðŒ,(P e€à‚UT€2Þ‚¾Ñ 9|Áþ¬ð!’QŒc´¡ˆ¢†jòŒBOÏ˜ÃBä0‚f@&‚,Aá !h!ŽJ$B~èÃ»6 ƒÄNDÜ8È‰€bh”)‡ÒgIè Æ!°aŽcˆ}HEHñ	0a	Wˆõ…]|á"Bh›sCd`Xn!
7‚WêC|qŽ
œO’E!ŽñE':HA  @É¢BD`•ê×J$#:IrN’r‚*¤ >XÊ³G³ÄH:¶‘ŽÄ,f.Ê\&8Õ‰äÁU  Á	u\¢ˆØpCžáÍ¤$F1^÷¡Œ3†IÄà E(˜&„Š†ˆA=½²PpòqxTÊ\¡5 ‚
@ÜÓž 9
WFJÒ’šô¤%]æCTòÍ4$@ 5Þ .€+PŽ° |Fœà¼ç7’v`Z€ÛŠÐ‹v  +@ui8ÅÙ9¸€¯@˜
`ˆ#¸#!Ué-£óÀ5 ÂŽ Ë¢Œõ­·Â;$`^,K+‹2V ! c@/–R¾äLÈâ±V!ˆÕBaõúyè@å«^€¦·
Ä-™íl_Ù2)é±¤--š ;   0707010007498e000081e40000000000000002000000013d1fe2ea000016c4000000200000000000000000000000000000001f00000003reloc/cluster-webmin/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display hosts on which webmin modules are being managed, a list of
# installed modules and a form for installing new ones
# XXX upgrading the entire of webmin
# XXX syncing users and group

require './cluster-webmin-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

# Display hosts on which modules will be installed
print "<h3>$text{'index_hosts'}</h3>\n";
@servers = &list_servers();
@hosts = &list_webmin_hosts();
if ($config{'sort_mode'}) {
	@hosts = sort { my ($as) = grep { $_->{'id'} == $a->{'id'} } @servers;
			my ($bs) = grep { $_->{'id'} == $b->{'id'} } @servers;
			$as->{'host'} cmp $bs->{'host'} } @hosts;
	}
$formno = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	next if (!$s);
	push(@titles, &server_name($s)."<br>".
		      &text('index_version', $h->{'version'}));
	push(@links, "edit_host.cgi?id=$h->{'id'}");
	push(@icons, "$gconfig{'webprefix'}/servers/images/$s->{'type'}.gif");
	$gothost{$h->{'id'}}++;
	}
if (@links) {
	&icons_table(\@links, \@titles, \@icons);
	}
else {
	print "<b>$text{'index_nohosts'}</b><p>\n";
	}

# Build common selectors
@wgroups = &all_groups(\@hosts);
$modsel2 = $modsel = "<select name=mod>\n";
$modsel2 .= "<option value=''>$text{'index_gacl'}\n";
foreach $m (&all_modules(\@hosts)) {
	$modsel .= "<option value=$m->{'dir'}>$m->{'desc'}\n";
	$modsel2 .= "<option value=$m->{'dir'}>$m->{'desc'}\n";
	}
$modsel .= "</select>\n";
$modsel2 .= "</select>\n";
$themesel = "<select name=theme>\n";
foreach $t (&all_themes(\@hosts)) {
	$themesel .= "<option value=$t->{'dir'}>$t->{'desc'}\n";
	}
$themesel .= "</select>\n";
$usersel = "<select name=user>\n";
foreach $u (&all_users(\@hosts)) {
	$usersel .= "<option>$u->{'name'}\n";
	}
$usersel .= "</select>\n";
$groupsel = "<select name=group>\n";
foreach $u (@wgroups) {
	$groupsel .= "<option>$u->{'name'}\n";
	}
$groupsel .= "</select>\n";

$formno++;
print "<table width=100%><tr>\n";
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
if (@addservers) {
	print "<form action=add.cgi><td>\n";
	print "<input type=submit name=add value='$text{'index_add'}'>\n";
	print "<select name=server>\n";
	foreach $s (@addservers) {
		print "<option value=$s->{'id'}>",&server_name($s),"\n";
		}
	print "</select>\n";
	print "</td></form>\n";
	}
else { print "<td></td>\n"; }

if (@hosts) {
	print "<form action=refresh.cgi><td align=middle>\n";
	print "<input type=submit value='$text{'index_refresh'}'>\n";
	print "</td></form>\n";
	$formno++;
	}
else { print "<td></td>\n"; }

@groups = &servers::list_all_groups(\@servers);
if (@groups) {
	print "<form action=add.cgi><td align=right>\n";
	print "<input type=submit name=gadd value='$text{'index_gadd'}'>\n";
	print "<select name=group>\n";
	foreach $g (@groups) {
		print "<option>$g->{'name'}\n";
		}
	print "</select>\n";
	print "</td></form>\n";
	}
else { print "<td></td>\n"; }
print "</tr></table>\n";

if (@hosts) {
	# Display user search forms and new user buttons
	print "<hr>\n";
	print "<h3>$text{'index_users'}</h3>\n";
	print "<table width=100%>\n";

	print "<tr><form action=edit_user.cgi><td>\n";
	print "<input type=submit value='$text{'index_euser'}'>\n";
	print $usersel;
	print "</td></form>\n";

	print "<form action=edit_acl.cgi><td>\n";
	print "<input type=submit value='$text{'index_euseracl'}'>\n";
	print $usersel;
	print "$text{'index_inmod'}\n";
	print $modsel2;
	print "</td></form>\n";

	print "<form action=user_form.cgi><td align=right>\n";
	print "<input type=submit value='$text{'index_cuser'}'>\n";
	print "</td></form></tr>\n";

	if (@wgroups) {
		print "<tr><form action=edit_group.cgi><td>\n";
		print "<input type=submit value='$text{'index_egroup'}'>\n";
		print $groupsel;
		print "</td></form>\n";

		print "<form action=edit_acl.cgi><td>\n";
		print "<input type=submit value='$text{'index_egroupacl'}'>\n";
		print $groupsel;
		print "$text{'index_inmod'}\n";
		print $modsel2;
		print "</td></form>\n";
		}
	else {
		print "<tr> <td colspan=2></td>\n";
		}

	print "<form action=group_form.cgi><td align=right>\n";
	print "<input type=submit value='$text{'index_cgroup'}'>\n";
	print "</td></form></tr>\n";
	print "</table>\n";

	# Display modules lists and new module form
	print "<hr>\n";
	print "<h3>$text{'index_modules'}</h3>\n";
	print "<table cellpadding=0 cellspacing=0 width=100%><tr><td valign=top>\n";
	$formno += 2;
	print "<form action=edit_mod.cgi>\n";
	print "<input type=submit value=\"$text{'index_edit'}\">\n";
	print $modsel;
	print "<br>\n";

	print "<input type=submit name=tedit value=\"$text{'index_tedit'}\">\n";
	print $themesel;
	print "</form></td>\n";

	print "<td>$text{'index_installmsg'}<p>\n";
	print "<form action=install.cgi method=post ",
	      "enctype=multipart/form-data>\n";
	print "<input type=radio name=source value=0 checked> $text{'index_local'}\n";
	print "<input name=local size=50>\n";
	print &file_chooser_button("local", 0, $formno); print "<br>\n";
	print "<input type=radio name=source value=1> $text{'index_uploaded'}\n";
	print "<input type=file name=upload size=20><br>\n";
	print "<input type=radio name=source value=2> $text{'index_ftp'}\n";
	print "<input name=url size=50><br>\n";
	print "&nbsp;" x 5,"<input type=checkbox name=down value=1> ",
	      "$text{'index_down'}<p>\n";

	print "<input type=checkbox name=nodeps value=1> ",
	      "$text{'index_nodeps'}<p>\n";
	print "<input type=radio name=grant value=0 checked> ",
	      "$text{'index_grant2'}\n";
	print "<input name=grantto size=30 value='$base_remote_user'><br>\n";
	print "<input type=radio name=grant value=1> ",
	      "$text{'index_grant1'}<p>\n";

	print "<input type=submit value=\"$text{'index_installok'}\">\n";
	print "</form></td></tr></table>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

0707010007498f000081e40000000000000002000000013d1fe2ea00001b83000000200000000000000000000000000000002100000003reloc/cluster-webmin/install.cgi  #!/usr/local/bin/perl
# install.cgi
# Download and install webmin module or theme on multiple hosts

require './cluster-webmin-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }
&error_setup($text{'install_err'});

$| = 1;
$theme_no_table = 1 if ($in{source} == 2);
&header($text{'install_title'}, "");
print "<hr>\n";

if ($in{source} == 0) {
	# installing from local file (or maybe directory)
	if (!$in{'local'})
		{ &download_error($text{'install_elocal'}); }
	if (!-r $in{'local'})
		{ &download_error(&text('install_elocal2', $in{'local'})); }
	$source = $in{'local'};
	$pfile = $in{'local'};
	$need_unlink = 0;
	}
elsif ($in{source} == 1) {
	# installing from upload .. store file in temp location
	if ($no_upload) {
		&download_error($text{'install_eupload'});
		}
	$in{'upload_filename'} =~ /([^\/\\]+$)/;
	$pfile = &tempname("$1");
	open(PFILE, "> $pfile");
	print PFILE $in{'upload'};
	close(PFILE);
	$source = $in{'upload_filename'};
	$need_unlink = 1;
	}
elsif ($in{source} == 2) {
	# installing from URL.. store downloaded file in temp location
	$in{'url'} =~ /\/([^\/]+)\/*$/;
	$pfile = &tempname("$1");
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		# Make a HTTP request
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $pfile, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?(\/.*)$/) {
		$host = $1; $file = $3;
		&ftp_download($host, $file, $pfile, \$error,
			      \&progress_callback);
		}
	else { &download_error(&text('install_eurl', $in{'url'})); }
	&download_error($error) if ($error);
	$source = $in{'url'};
	$need_unlink = 1;
	}
$grant = $in{'grant'} ? undef : [ split(/\s+/, $in{'grantto'}) ];

# Check validity
open(MFILE, $pfile);
read(MFILE, $two, 2);
close(MFILE);
if ($two eq "\037\235") {
	# Unix compressed
	&has_command("uncompress") ||
		&download_error(&text('install_ecomp', "<tt>uncompress</tt>"));
	$cmd = "uncompress -c '$pfile' | tar tf -";
	}
elsif ($two eq "\037\213") {
	# Gzipped
	&has_command("gunzip") || 
		&download_error(&text('install_egzip', "<tt>gunzip</tt>"));
	$cmd = "gunzip -c '$pfile' | tar tf -";
	}
else {
	# Just a tar file
	$cmd = "tar tf '$pfile'";
	}
$tar = `$cmd 2>&1`;
$? && &download_error(&text('install_ecmd', "<tt>$tar</tt>"));
foreach $f (split(/\n/, $tar)) {
	if ($f =~ /^\.\/([^\/]+)\/(.*)$/ || $f =~ /^([^\/]+)\/(.*)$/) {
		$mods{$1}++;
		$hasfile{$1,$2}++;
		}
	}
foreach $m (keys %mods) {
	$hasfile{$m,"module.info"} || $hasfile{$m,"theme.info"} ||
		&download_error(&text('install_einfo', "<tt>$m</tt>"));
	}
if (!%mods) {
	&download_error($text{'install_enone'});
	}

# Setup error handler for down hosts
sub inst_error
{
$inst_error_msg = join("", @_);
}
&remote_error_setup(\&inst_error);

# Run the install on each host
@hosts = &list_webmin_hosts();
@servers = &list_servers();
print "<p><b>",&text('install_header', join(" ", keys %mods)),"</b><p>\n";
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;

	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	select($wh); $| = 1; select(STDOUT);
	if (!fork()) {
		# Do the install in a subprocess
		close($rh);

		&remote_foreign_require($s->{'host'}, "webmin",
					"webmin-lib.pl");
		if ($inst_error_msg) {
			# Failed to contact host ..
			print $wh &serialise_variable($inst_error_msg);
			exit;
			}
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		local $rfile;
		local $host_need_unlink = 1;
		if (!$s->{'id'}) {
			# This host, so we already have the file
			$rfile = $pfile;
			$host_need_unlink = 0;
			}
		elsif ($in{'source'} == 0) {
			# Is the file the same on remote? (like if we have NFS)
			local @st = stat($pfile);
			local $rst = &remote_eval($s->{'host'}, "webmin",
						  "[ stat('$pfile') ]");
			local @rst = @$rst;
			if (@st && @rst && $st[7] == $rst[7] &&
			    $st[9] == $rst[9]) {
				# File is the same! No need to download
				$rfile = $pfile;
				$host_need_unlink = 0;
				}
			else {
				# Need to copy the file across :(
				$rfile = &remote_write(
					$s->{'host'}, $pfile);
				}
			}
		elsif ($in{'source'} == 2 && $in{'down'}) {
			# Ask the remote server to download the file
			$rfile = &remote_foreign_call($s->{'host'}, "webmin",
						      "tempname");
			if ($in{'url'} =~ /^ftp/) {
				&remote_foreign_call($s->{'host'}, "webmin",
				    "ftp_download", $host, $file,
				    $rfile);
				}
			else {
				&remote_foreign_call($s->{'host'}, "webmin",
				    "http_download", $host, $port,
				    $page, $rfile);
				}
			}
		else {
			# Need to copy the file across :(
			$rfile = &remote_write($s->{'host'}, $pfile);
			}

		# Do the install ..
		local $rv = &remote_foreign_call($s->{'host'},
				"webmin", "install_webmin_module", $rfile,
				$host_need_unlink, $in{'nodeps'}, $grant);
		if (ref($rv)) {
			# It worked .. get all the module infos
			local @mods;
			foreach $m (@{$rv->[1]}) {
				$m =~ s/^.*\///;
				local %info = &remote_foreign_call(
						$s->{'host'}, "webmin",
						"get_module_info", $m);
				if (!%info) {
					# Must have been a theme
					%info = &remote_foreign_call(
							$s->{'host'}, "webmin",
							"get_theme_info", $m);
					$info{'theme'} = 1;
					}
				push(@mods, \%info);
				}
			print $wh &serialise_variable(\@mods);

			# Re-request all users, groups, modules and themes
			# from the server
			$h->{'modules'} = [ grep { !$_->{'clone'} }
				&remote_foreign_call($s->{'host'},
					"webmin", "get_all_module_infos", 1) ];
			$h->{'themes'} = [ &remote_foreign_call($s->{'host'},
						"webmin", "list_themes") ];
			$h->{'users'} = [ &remote_foreign_call($s->{'host'},
						"acl", "list_users") ];
			$h->{'groups'} = [ &remote_foreign_call($s->{'host'},
						"acl", "list_groups") ];
			&save_webmin_host($h);
			}
		else {
			print $wh &serialise_variable($rv);
			}
		close($wh);
		exit;
		}
	close($wh);
	$p++;
	}

# Get back all the results
$p = 0;
foreach $h (@hosts) {
	local $rh = "READ$p";
	local $line = <$rh>;
	close($rh);
	local $rv = &unserialise_variable($line);

	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);

	if (!$line) {
		print &text('do_failed', $d, "Unknown reason"),"<br>\n";
		}
	elsif (!ref($rv)) {
		print &text('do_failed', $d, $rv),"<br>\n";
		}
	else {
		# List the modules installed, and add to lists
		foreach $m (@$rv) {
			if ($m->{'theme'}) {
				print &text('do_success_theme', $d, "<b>$m->{'desc'}</b>"), "<br>\n";
				}
			else {
				print &text('do_success_mod', $d, "<b>$m->{'desc'}</b>"), "<br>\n";
				}
			}
		}
	$p++;
	}
unlink($pfile) if ($need_unlink);
print "<p><b>$text{'do_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

sub download_error
{
unlink($pfile) if ($need_unlink);
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

 0707010007774c000041ed0000000000000001000000023d1ff9f100000000000000200000000000000000000000000000001a00000003reloc/cluster-webmin/lang 0707010007774d000081a40000000000000002000000013d1fe2ea000020e1000000200000000000000000000000000000001d00000003reloc/cluster-webmin/lang/en  index_title=Cluster Webmin Servers
index_hosts=Managed Servers
index_nohosts=No Webmin servers have been registered for management.
index_add=Add server
index_gadd=Add servers in group
index_edit=Edit module
index_tedit=Edit theme
index_refresh=Refresh servers
index_modules=Modules and Themes
index_users=Webmin Users and Groups
index_installmsg=Select the location to install a new module or theme from ..
index_local=From local file
index_uploaded=From uploaded file
index_ftp=From ftp or http URL
index_installok=Install Now
index_return=servers list
index_down=Each server should re-download module
index_version=Webmin $1
index_nodeps=Ignore module dependencies when installing
index_grant2=Grant access only to users and groups :
index_grant1=Grant access to all Webmin users
index_euser=Edit user:
index_cuser=Add User
index_egroup=Edit group:
index_cgroup=Add Group
index_euseracl=Edit ACL for
index_egroupacl=Edit ACL for
index_inmod=in
index_gacl=Global ACL

this_server=this server

add_title=Add Servers
add_msg=Adding $1 ..
add_gmsg=Adding servers in group $1 ..
add_err=Failed to add server
add_gerr=Failed to add group
add_echeck=Server $1 does not have the Webmin configuration module
add_echeck2=Server $1 does not have the Webmin Users module
add_eversion=Server $1 is not running Webmin version $2 or above.
add_ok=Added $1 with $2 modules, $3 themes, $4 users and $5 groups.

refresh_title=Refresh Module and User Lists
refresh_header=Re-requesting module, user and group lists from all servers ..
refresh_1=Refreshed $1 (added $2 , removed $3).
refresh_2=Refreshed $1 (added $2).
refresh_3=Refreshed $1 (removed $2).
refresh_4=Refreshed $1 (no module changes).
refresh_u1=Added $1 users.
refresh_u2=Removed $1 users.
refresh_g1=Added $1 groups.
refresh_g2=Removed $1 groups.
refresh_done=.. done
refresh_del=Removed $1 from server list
refresh_failed=Failed to refresh $1 : $2

host_title=Managed Server
host_header=Managed Webmin server details
host_name=Host name
host_type=Server type
host_delete=Remove from managed list
host_installed=Installed Packages
host_os=OS and version
host_version=Webmin version
host_count=Modules installed
host_tcount=Themes installed
host_header_m=Installed Webmin modules
host_header_t=Installed Webmin themes
host_header_u=Webmin users
host_header_g=Webmin groups

edit_title_mod=Edit Module
edit_title_theme=Edit Theme
edit_header_mod=Webmin module details from $1
edit_header_theme=Webmin theme details from $1
edit_desc=Description
edit_cat=Category
edit_dir=Directory
edit_deps=Depends upon
edit_nodeps=Nothing
edit_ondeps=Depended upon by
edit_uninst_mod=Uninstall module from:
edit_uninst_theme=Uninstall theme from:
edit_all=All servers
edit_ver=Version
edit_nover=None available
edit_os=Supported systems
edit_osall=All operating systems
edit_hosts=Installed on Servers
edit_codes=From test $1
edit_acl=Edit ACL for
edit_uacl=User $1 on $2
edit_gacl=Group $1 on $2

install_err=Failed to install module
install_title=Install Module
install_elocal=No local file given
install_elocal2='$1' does not exist
install_eupload=Your browser does not support file uploads
install_eurl=Incomprehensible URL '$1'
install_ecomp=File is compressed, but the $1 command was not found on your system
install_egzip=File is gzipped, but the $1 command was not found on your system
install_ecmd=Not a valid module file : $1
install_einfo=Module $1 is missing a module.info file
install_enone=File does not appear to contain any modules
install_header=Installing $1 on all hosts ..
do_failed=Failed to install on $1 : $2
do_success_mod=Installed module $2 on $1
do_success_theme=Installed theme $2 on $1
do_done=.. done

delete_err=Failed to delete module $1
delete_epack=The module $1 does not exist
delete_title=Delete Module
delete_rusure_mod=Are you sure you want to delete the module $1 from all servers ? $2 kB of files will be deleted forever.
delete_rusure_theme=Are you sure you want to delete the theme $1 from all servers ? $2 kB of files will be deleted forever.
delete_rusure2_mod=Are you sure you want to delete the module $1 from $3 ? $2 kB of files will be deleted forever.
delete_rusure2_theme=Are you sure you want to delete the theme $1 from $3 ? $2 kB of files will be deleted forever.
delete_ok=Delete
delete_error=Failed to delete from $1 : $2
delete_success=Deleted from $1.
delete_done=.. done
delete_header_mod=Deleting module $1 ..
delete_header_theme=Deleting theme $1 ..
delete_edepends=Module(s) $1 depend upon it.
delete_egone=Module no longer exists
delete_error=Failed to delete from $1 : $2
delete_esuccess=Successfully deleted from $1 : $2
delete_acls=Remove from users and reset access control settings?

user_title1=Create Webmin User
user_header1=New Webmin user details
user_name=Username
user_group=Member of group
user_nogroup=&lt;None&gt;
user_pass=Password
user_set=Set to
user_unix=Unix authentication
user_lock=No password accepted
user_lang=Language
user_theme=Personal theme
user_default=Server default
user_themedef=Default Webmin theme
user_ips=IP access control
user_all=Allow from all addresses
user_allow=Only allow from listed addresses
user_deny=Deny from listed addresses
user_mods=Modules
user_sall=Select all
user_snone=Select none
user_sinvert=Invert selection
user_err1=Failed to create user
user_ename='$1' is not a valid username
user_etaken=The username '$1' is already in use
user_ecolon=Passwords cannot contain the : character
user_doing=Creating user $1 on all hosts ..
user_doing2=Updating user $1 on all hosts ..
user_success=Created user on $1
user_success2=Updated user on $1
user_failed=Failed to create user on $1 : $2
user_failed2=Failed to update user on $1 : $2
user_done=.. done
user_egroup=Group does not exist on server
user_groupmods=(In addition to modules from group)
user_title2=Edit Webmin User
user_header2=User details from $1
user_leave=Leave unchanged
user_modsel=Only selected modules..
user_modadd=Add selected modules..
user_moddel=Remove selected modules..
user_mleave=Leave unchanged ($1 modules)
user_nogroup2=No group
user_allow2=Allowing
user_deny2=Denying
user_allowall=No access control
user_hosts=User Exists on Servers
user_acl=Edit ACL for
user_aclh=$1 on $2
user_aclhg=Global ACL on $1
user_return=user details

udelete_title=Delete User
udelete_doing=Deleting user $1 from all hosts ..
udelete_success=Successfully deleted from $1
udelete_failed=Failed to delete from $1 : $2
udelete_done=.. done

group_title1=Create Group
group_header1=New Webmin group details
group_name=Group name
group_err1=Failed to create group
group_ename='$1' is not a valid group name
group_etaken=The group name '$1' is already in use
group_doing=Creating group $1 on all hosts ..
group_success=Created group on $1
group_failed=Failed to create group on $1 : $2
group_done=.. done
group_title2=Edit Group
group_header2=Webmin group details from $1
group_group=Parent group
group_mems=Members on server
group_mods=Modules for members
group_groupmods=(In addition to modules from parent group)
group_hosts=Group Exists on Servers
group_egroup=Parent group does not exist on server
group_success2=Updated group on $1
group_failed2=Failed to update ground on $1 : $2
group_doing2=Updating group $1 on all hosts ..
group_return=group details
group_nomems=No members

gdelete_title=Delete Group
gdelete_desc=Are you sure you want to delete the group $1 and its member users $2 from all hosts ?
gdelete_ok=Delete Group
gdelete_doing=Deleting group $1 from all hosts ..
gdelete_success=Successfully deleted from $1
gdelete_failed=Failed to delete from $1 : $2
gdelete_done=.. done
gdelete_esub=This group has subgroups $1, and so cannot be deleted.

acl_title=Module Access Control
acl_title2=For user $1 in $2 on $3
acl_title3=For group $1 in $2 on $3
acl_title2_ga=Global ACL for user $1 on $3
acl_title3_ga=Global ACL for group $1 on $3
acl_options=$1 access control options from $2
acl_optionsg=Global access control options from $1
acl_config=Can edit module configuration?
acl_raw=Raw ACL file entries
acl_efound=Failed to edit ACL : $1 does not have access to $2 on any server
acl_save1=Save on all hosts
acl_save2=Save only on $1
acl_err=Failed to save access control
acl_doing=Setting access control for $1 on all hosts ..
acl_doing2=Setting access control for $1 on $2 ..
acl_success=Successfully set access control on $1
acl_failed=Failed to set access control on $1 : $2
acl_done=.. done

   070701000749de000081a40000000000000002000000013d1fe2ea0000006c000000200000000000000000000000000000002100000003reloc/cluster-webmin/module.info  category=cluster
depends=webmin servers 0.990
desc=Cluster Webmin Servers
version=0.990
name=Cluster Webmin
070701000749e3000081e40000000000000002000000013d1fe2ea00000e55000000200000000000000000000000000000002100000003reloc/cluster-webmin/refresh.cgi  #!/usr/local/bin/perl
# refresh.cgi
# Reload the list of modules from all managed hosts

require './cluster-webmin-lib.pl';
&header($text{'refresh_title'}, "");
print "<hr>\n";
$| = 1;

# Setup error handler for down hosts
sub ref_error
{
$ref_error_msg = join("", @_);
}
&remote_error_setup(\&ref_error);

print "<b>$text{'refresh_header'}</b><p>\n";
@hosts = &list_webmin_hosts();
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;

	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		if ($s) {
			# Refresh the list
			&remote_foreign_require($s->{'host'}, "webmin",
						"webmin-lib.pl");
			if ($ref_error_msg) {
				# Host is down ..
				print $wh &serialise_variable($ref_error_msg);
				exit;
				}
			&remote_foreign_require($s->{'host'}, "acl",
						"acl-lib.pl");
			local $gconfig = &remote_foreign_config($s->{'host'},
								undef);
			foreach $g ('os_type', 'os_version',
				    'real_os_type', 'real_os_version') {
				$h->{$g} = $gconfig{$g};
				}
			$h->{'version'} = &remote_foreign_call($s->{'host'},
						"webmin", "get_webmin_version");

			# Refresh modules and themes
			local @old = map { $_->{'dir'} } ( @{$h->{'modules'}},
							   @{$h->{'themes'}} );
			undef($h->{'modules'});
			local @mods = &remote_foreign_call($s->{'host'},
					"webmin", "get_all_module_infos", 1);
			@mods = grep { !$_->{'clone'} } @mods;
			local @themes = &remote_foreign_call($s->{'host'},
					 "webmin", "list_themes");
			local @added;
			foreach $m (@mods, @themes) {
				$idx = &indexof($m->{'dir'}, @old);
				if ($idx < 0) {
					push(@added, $m->{'dir'});
					}
				else {
					splice(@old, $idx, 1);
					}
				}
			$h->{'modules'} = \@mods;
			$h->{'themes'} = \@themes;

			# Refresh users and groups
			local @users = &remote_foreign_call($s->{'host'},
					"acl", "list_users");
			local $ud = scalar(@users) - scalar(@{$h->{'users'}});
			$h->{'users'} = \@users;
			local @groups = &remote_foreign_call($s->{'host'},
					"acl", "list_groups");
			local $gd = scalar(@groups) - scalar(@{$h->{'groups'}});
			$h->{'groups'} = \@groups;

			&save_webmin_host($h);
			$rv = [ \@added, \@old, $ud, $gd ];
			}
		else {
			# remove from managed list
			&delete_webmin_host($h);
			$rv = undef;
			}
		print $wh &serialise_variable($rv);
		close($wh);
		exit;
		}
	close($wh);
	$p++;
	}

# Read back results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && ref($rv)) {
		@added = @{$rv->[0]};
		@old = @{$rv->[1]};
		if (@added && @old) {
			print &text('refresh_1', $d,
				    join(" ", @added),join(" ", @old)),"\n";
			}
		elsif (@added) {
			print &text('refresh_2', $d,
				    join(" ", @added)),"\n";
			}
		elsif (@old) {
			print &text('refresh_3', $d, join(" ", @old)),"\n";
			}
		else {
			print &text('refresh_4', $d),"\n";
			}
		if ($rv->[2] > 0) {
			print &text('refresh_u1', $rv->[2]),"<br>\n";
			}
		elsif ($rv->[2] < 0) {
			print &text('refresh_u2', -$rv->[2]),"<br>\n";
			}
		if ($rv->[3] > 0) {
			print &text('refresh_g1', $rv->[3]),"<br>\n";
			}
		elsif ($rv->[3] < 0) {
			print &text('refresh_g2', -$rv->[3]),"<br>\n";
			}
		else {
			print "<br>\n";
			}
		}
	elsif ($rv) {
		print &text('refresh_failed', $d, $rv),"<br>\n";
		}
	else {
		print &text('refresh_del', $h->{'id'}),"<br>\n";
		}

	$p++;
	}

print "<p><b>$text{'refresh_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

   070701000749e9000081e40000000000000002000000013d1fe2ea00000d92000000200000000000000000000000000000002200000003reloc/cluster-webmin/save_acl.cgi #!/usr/local/bin/perl
# save_acl.cgi
# Save the ACL for a module for a user or group

require './cluster-webmin-lib.pl';
&ReadParse();
$who = $in{'_acl_user'} ? $in{'_acl_user'} : $in{'_acl_group'};

# Validate and parse inputs
&error_setup($text{'acl_err'});
$maccess{'noconfig'} = $in{'noconfig'};
if (-r "../$in{'_acl_mod'}/acl_security.pl") {
	&foreign_require($in{'_acl_mod'}, "acl_security.pl");
	if ($in{'_acl_mod'}) {
		eval "\%$in{'_acl_mod'}::in = \%in";
		}
	else {
		%global::in = %in;
		}
	&foreign_call($in{'_acl_mod'}, "acl_security_save", \%maccess, \%in);
	}

# Setup error handler for down hosts
sub user_error
{
$user_error_msg = join("", @_);
}
&remote_error_setup(\&user_error);

# Write out on all hosts, or just one host
&header($text{'acl_title'}, "");
print "<hr>\n";
@allhosts = &list_webmin_hosts();
@servers = &list_servers();
if ($in{'all'}) {
	# Doing on all hosts that the user has the module on
	foreach $h (@allhosts) {
		local $w;
		if ($in{'_acl_user'}) {
			($w) = grep { $_->{'name'} eq $in{'_acl_user'} }
				    @{$h->{'users'}};
			}
		else {
			($w) = grep { $_->{'name'} eq $in{'_acl_group'} }
				    @{$h->{'groups'}};
			}
		next if (!$w);
		local %ingroup;
		foreach $g (@{$h->{'groups'}}) {
			map { $ingroup{$_}++ } @{$g->{'members'}};
			}
		local @m = $ingroup{$w->{'name'}} ? @{$w->{'ownmods'}}
						  : @{$w->{'modules'}};
		push(@hosts, $h) if (&indexof($in{'_acl_mod'}, @m) >= 0 ||
				     !$in{'_acl_mod'});
		}
	print "<b>",&text('acl_doing', $who),"</b><p>\n";
	}
else {
	# Doing on just one host
	@hosts = grep { $_->{'id'} == $in{'_acl_host'} } @allhosts;
	local ($s) = grep { $_->{'id'} == $hosts[0]->{'id'} } @servers;
	print "<b>",&text('acl_doing2', $who, &server_name($s)),"</b><p>\n";
	}
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($user_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $user_error_msg ]);
			exit;
			}

		# Save the .acl file
		local $cd = &remote_eval($s->{'host'}, "acl", '$config_directory');
		&remote_foreign_call($s->{'host'}, "acl", "write_file",
			"$cd/$in{'_acl_mod'}/$who.acl", \%maccess);

		# Recursively update the ACL for all member users and groups
		if ($in{'_acl_group'}) {
			local ($group) = grep { $_->{'name'} eq $in{'_acl_group'} }
					      @{$h->{'groups'}};
			&remote_foreign_call($s->{'host'}, "acl", "set_acl_files",
				$h->{'users'}, $h->{'groups'}, $in{'_acl_mod'},
				$group->{'members'}, \%maccess);
			}

		print $wh &serialise_variable([ 1 ]);
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('acl_success', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('acl_failed', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'acl_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'},
	$in{'_acl_user'} ? ( "edit_user.cgi?user=$in{'_acl_user'}&host=$in{'_acl_host'}", $text{'user_return'} ) : ( "edit_group.cgi?group=$in{'_acl_group'}&host=$in{'_acl_host'}", $text{'group_return'} ));

  070701000749ea000081e40000000000000002000000013d1fe2ea00001236000000200000000000000000000000000000002400000003reloc/cluster-webmin/save_group.cgi   #!/usr/local/bin/perl
# save_group.cgi
# Update a webmin group on all servers

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'group_title2'}, "");
print "<hr>\n";
print "<b>",&text('group_doing2', $in{'old'}),"</b><p>\n";

@allhosts = &list_webmin_hosts();
foreach $h (@allhosts) {
	foreach $ug (@{$h->{'users'}}, @{$h->{'groups'}}) {
		$taken{$ug->{'name'}}++;
		}
	}

# Validate inputs
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('group_ename', $in{'name'}));
$in{'name'} ne $in{'old'} && $taken{$in{'name'}} &&
	&error(&text('group_etaken', $in{'name'}));

# Setup error handler for down hosts
sub group_error
{
$group_error_msg = join("", @_);
}
&remote_error_setup(\&group_error);

# Update the group on all servers that have it
foreach $h (@allhosts) {
	foreach $g (@{$h->{'groups'}}) {
		if ($g->{'name'} eq $in{'old'}) {
			push(@hosts, $h);
			last;
			}
		}
	}
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($group_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $group_error_msg ]);
			exit;
			}

		# Update the user
		($edgrp) = grep { $_->{'name'} eq $in{'old'} } @{$h->{'groups'}};
		$edgrp->{'name'} = $in{'name'};

		# Work out which modules the group has
		local @selmods = ( split(/\0/, $in{'mods1'}),
				   split(/\0/, $in{'mods2'}),
				   split(/\0/, $in{'mods3'}) );
		local @mods = @{$edgrp->{'modules'}};
		if ($in{'mods_def'} == 2) {
			@mods = @selmods;
			}
		elsif ($in{'mods_def'} == 3) {
			@mods = &unique(@mods, @selmods);
			}
		elsif ($in{'mods_def'} == 0) {
			@mods = grep { &indexof($_, @selmods) < 0 } @mods;
			}

		# Update old and new parent groups
		foreach $g (@{$h->{'groups'}}) {
			if (&indexof($in{'old'}, @{$g->{'members'}}) >= 0) {
				$oldgroup = $g;
				}
			}
		if ($in{'group_def'}) {
			$group = $oldgroup;
			}
		else {
			($group) = grep { $_->{'name'} eq $in{'group'} }
					@{$h->{'groups'}};
			if (!$group && $in{'group'}) {
				print $wh &serialise_variable(
					[ 0, $text{'group_egroup'} ]);
				exit;
				}
			}
		if (($group ? $group->{'name'} : '') ne
		    ($oldgroup ? $oldgroup->{'name'} : '')) {
			# Parent group has changed - update the member lists
			if ($oldgroup) {
				$oldgroup->{'members'} =
					[ grep { $_ ne $in{'old'} }
					       @{$oldgroup->{'members'}} ];
				&remote_foreign_call($s->{'host'}, "acl",
				    "modify_group", $oldgroup->{'name'}, $oldgroup);
				}
			if ($group) {
				push(@{$group->{'members'}}, $in{'name'});
				&remote_foreign_call($s->{'host'}, "acl",
				    "modify_group", $group->{'name'}, $group);
				}
			}

		if ($oldgroup) {
			# Remove modules from the old group
			@mods = grep { &indexof($_, @{$oldgroup->{'modules'}}) < 0 }
				     @mods;
			}

		@ownmods = ( );
		if ($group) {
			# Add modules from new group
			foreach $m (@mods) {
				push(@ownmods, $m)
				    if (&indexof($m, @{$group->{'modules'}}) < 0);
				}
			@mods = &unique(@mods, @{$group->{'modules'}});
			&remote_foreign_call($s->{'host'}, "acl",
				"copy_acl_files", $group->{'name'}, $in{'old'},
				[ @{$group->{'modules'}}, "" ]);
			}

		$edgrp->{'modules'} = \@mods;
		$edgrp->{'ownmods'} = \@ownmods;
		&remote_foreign_call($s->{'host'}, "acl", "modify_group",
				     $in{'old'}, $edgrp);

		# Recursively update all member users and groups
		&remote_foreign_call($s->{'host'}, "acl", "update_members",
				     $h->{'users'}, $h->{'groups'},
				     $edgrp->{'modules'}, $edgrp->{'members'});
		@freshusers = &remote_foreign_call($s->{'host'}, "acl",
						   "list_users");
		$h->{'users'} = \@freshusers;
		@freshgroups = &remote_foreign_call($s->{'host'}, "acl",
						    "list_groups");
		$h->{'groups'} = \@freshgroups;
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('group_success2', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('group_failed2', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'group_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

  070701000749eb000081e40000000000000002000000013d1fe2ea00001453000000200000000000000000000000000000002300000003reloc/cluster-webmin/save_user.cgi    #!/usr/local/bin/perl
# save_user.cgi
# Update a webmin user on all servers

require './cluster-webmin-lib.pl';
&ReadParse();
&header($text{'user_title2'}, "");
print "<hr>\n";
print "<b>",&text('user_doing2', $in{'old'}),"</b><p>\n";

@allhosts = &list_webmin_hosts();
foreach $h (@allhosts) {
	foreach $ug (@{$h->{'users'}}, @{$h->{'groups'}}) {
		$taken{$ug->{'name'}}++;
		}
	}

# Validate inputs
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('user_ename', $in{'name'}));
$in{'name'} ne $in{'old'} && $taken{$in{'name'}} &&
	&error(&text('user_etaken', $in{'name'}));
$in{'pass_def'} == 0 && $in{'pass'} =~ /:/ && &error($text{'user_ecolon'});
if ($in{'ipmode'} > 0) {
	@ips = split(/\s+/, $in{'ips'});
	}

# Setup error handler for down hosts
sub user_error
{
$user_error_msg = join("", @_);
}
&remote_error_setup(\&user_error);

# Update the user on all servers that have him
foreach $h (@allhosts) {
	foreach $u (@{$h->{'users'}}) {
		if ($u->{'name'} eq $in{'old'}) {
			push(@hosts, $h);
			last;
			}
		}
	}
@servers = &list_servers();
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local ($rh = "READ$p", $wh = "WRITE$p");
	pipe($rh, $wh);
	if (!fork()) {
		close($rh);
		&remote_foreign_require($s->{'host'}, "acl", "acl-lib.pl");
		if ($user_error_msg) {
			# Host is down
			print $wh &serialise_variable([ 0, $user_error_msg ]);
			exit;
			}

		# Update the user
		($user) = grep { $_->{'name'} eq $in{'old'} } @{$h->{'users'}};
		$user->{'name'} = $in{'name'};
		if (!$in{'lang_def'}) {
			$user->{'lang'} = $in{'lang'} ? $in{'lang'} : undef;
			}
		if (!$in{'theme_def'}) {
			if ($in{'theme'} eq 'webmin') {
				delete($user->{'theme'});
				}
			else {
				$user->{'theme'} = $in{'theme'};
				}
			}
		if ($in{'ipmode'} == 0) {
			delete($user->{'allow'});
			delete($user->{'deny'});
			}
		elsif ($in{'ipmode'} == 1) {
			$user->{'allow'} = join(" ", @ips);
			delete($user->{'deny'});
			}
		elsif ($in{'ipmode'} == 2) {
			delete($user->{'allow'});
			$user->{'deny'} = join(" ", @ips);
			}
		if ($in{'pass_def'} == 0) {
			$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
			$user->{'pass'} = crypt($in{'pass'}, $salt);
			$user->{'sync'} = 0;
			}
		elsif ($in{'pass_def'} == 3) {
			$user->{'pass'} = 'x';
			$user->{'sync'} = 0;
			}
		elsif ($in{'pass_def'} == 4) {
			$user->{'pass'} = '*LK*';
			$user->{'sync'} = 0;
			}

		# Work out which modules the user has
		local @selmods = ( split(/\0/, $in{'mods1'}),
				   split(/\0/, $in{'mods2'}),
				   split(/\0/, $in{'mods3'}) );
		local @mods = @{$user->{'modules'}};
		if ($in{'mods_def'} == 2) {
			@mods = @selmods;
			}
		elsif ($in{'mods_def'} == 3) {
			@mods = &unique(@mods, @selmods);
			}
		elsif ($in{'mods_def'} == 0) {
			@mods = grep { &indexof($_, @selmods) < 0 } @mods;
			}

		# Update old and new groups
		foreach $g (@{$h->{'groups'}}) {
			if (&indexof($in{'old'}, @{$g->{'members'}}) >= 0) {
				$oldgroup = $g;
				}
			}
		if ($in{'group_def'}) {
			$group = $oldgroup;
			}
		else {
			($group) = grep { $_->{'name'} eq $in{'group'} }
					@{$h->{'groups'}};
			if (!$group && $in{'group'}) {
				print $wh &serialise_variable(
					[ 0, $text{'user_egroup'} ]);
				exit;
				}
			}
		if (($group ? $group->{'name'} : '') ne
		    ($oldgroup ? $oldgroup->{'name'} : '')) {
			# Group has changed - update the member lists
			if ($oldgroup) {
				$oldgroup->{'members'} =
					[ grep { $_ ne $in{'old'} }
					       @{$oldgroup->{'members'}} ];
				&remote_foreign_call($s->{'host'}, "acl",
				    "modify_group", $oldgroup->{'name'}, $oldgroup);
				}
			if ($group) {
				push(@{$group->{'members'}}, $in{'name'});
				&remote_foreign_call($s->{'host'}, "acl",
				    "modify_group", $group->{'name'}, $group);
				}
			}

		if ($oldgroup) {
			# Remove modules from the old group
			@mods = grep { &indexof($_, @{$oldgroup->{'modules'}}) < 0 }
				     @mods;
			}

		@ownmods = ( );
		if ($group) {
			# Add modules from new group
			foreach $m (@mods) {
				push(@ownmods, $m)
				    if (&indexof($m, @{$group->{'modules'}}) < 0);
				}
			@mods = &unique(@mods, @{$group->{'modules'}});
			&remote_foreign_call($s->{'host'}, "acl",
				"copy_acl_files", $group->{'name'}, $in{'old'},
				[ @{$group->{'modules'}}, "" ]);
			}

		$user->{'modules'} = \@mods;
		$user->{'ownmods'} = \@ownmods;
		&remote_foreign_call($s->{'host'}, "acl", "modify_user",
				     $in{'old'}, $user);
		&save_webmin_host($h);

		# Restart the remote webmin
		print $wh &serialise_variable([ 1 ]);
		&remote_foreign_call($s->{'host'}, "acl", "restart_miniserv");
		exit;
		}
	close($wh);
	$p++;
	}

# Read back the results
$p = 0;
foreach $h (@hosts) {
	local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
	local $d = &server_name($s);
	local $rh = "READ$p";
	local $line = <$rh>;
	local $rv = &unserialise_variable($line);
	close($rh);

	if ($rv && $rv->[0] == 1) {
		# It worked
		print &text('user_success2', $d),"<br>\n";
		}
	else {
		# Something went wrong
		print &text('user_failed2', $d, $rv->[1]),"<br>\n";
		}
	$p++;
	}

print "<p><b>$text{'user_done'}</b><p>\n";

&remote_finished();
print "<hr>\n";
&footer("", $text{'index_return'});

 070701000749ec000081e40000000000000002000000013d1fe2ea00001153000000200000000000000000000000000000002300000003reloc/cluster-webmin/user_form.cgi    #!/usr/local/bin/perl
# user_form.cgi
# Display a form for adding a new webmin user to all servers

require './cluster-webmin-lib.pl';
&header($text{'user_title1'}, "");
print "<hr>\n";

@hosts = &list_webmin_hosts();
@mods = &all_modules(\@hosts);
@themes = &all_themes(\@hosts);
@wgroups = &all_groups(\@hosts);

print "<form action=create_user.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'user_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'user_name'}</b></td>\n";
print "<td><input name=name size=15></td>\n";

print "<td><b>$text{'user_group'}</b></td>\n";
print "<td><select name=group>\n";
print "<option selected value=''>$text{'user_nogroup'}\n";
foreach $g (@wgroups) {
	print "<option>$g->{'name'}\n";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'user_pass'}</b></td> <td colspan=3>\n";
print "<select name=pass_def>\n";
print "<option value=0 selected> $text{'user_set'} ..\n";
print "<option value=3> $text{'user_unix'}\n";
print "<option value=4 %s> $text{'user_lock'}\n";
print "</select><input type=password name=pass size=25></td> </tr>\n";

print "<tr> <td><b>$text{'user_lang'}</b></td> <td>\n";
print "<select name=lang>\n";
print "<option value='' selected>$text{'user_default'}\n";
foreach $l (&list_languages()) {
	printf "<option value=%s>%s (%s)\n",
		$l->{'lang'},
		$l->{'desc'}, uc($l->{'lang'});
	}
print "</select></td>\n";

print "<td><b>$text{'user_theme'}</b></td> <td>\n";
print "<select name=theme>\n";
print "<option value=webmin selected>$text{'user_default'}\n";
foreach $t ( { 'desc' => $text{'user_themedef'} }, @themes) {
	printf "<option value='%s'>%s\n", $t->{'dir'}, $t->{'desc'};
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'user_ips'}</b></td>\n";
print "<td colspan=3><table><tr>\n";
print "<td nowrap><input name=ipmode type=radio value=0 checked> ",
      "$text{'user_all'}<br>\n";
print "<input name=ipmode type=radio value=1> $text{'user_allow'}<br>\n";
print "<input name=ipmode type=radio value=2> $text{'user_deny'}</td>\n";
print "<td><textarea name=ips rows=4 cols=30></textarea></td>\n";
print "</td> </tr></table> </tr>\n";

$mp = int((scalar(@mods)+2)/3);
print "<tr> <td valign=top><b>$text{'user_mods'}</b><br>",
      "$text{'user_groupmods'}</td> <td colspan=3 nowrap>\n";
print "<select name=mods1 size=$mp multiple>\n";
for($i=0; $i<$mp; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";
print "<select name=mods2 size=$mp multiple>\n";
for($i=$mp; $i<$mp*2; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";
print "<select name=mods3 size=$mp multiple>\n";
for($i=$mp*2; $i<@mods; $i++) {
	print "<option value=$mods[$i]->{'dir'}>$mods[$i]->{'desc'}\n";
	}
print "</select>\n";

print "<br>\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = true; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = true; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = true; } return false'>$text{'user_sall'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = false; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = false; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = false; } return false'>$text{'user_snone'}</a>&nbsp;\n";
print "<a href='' onClick='for(i=0; i<document.forms[0].mods1.options.length; i++) { document.forms[0].mods1.options[i].selected = !document.forms[0].mods1.options[i].selected; } for(i=0; i<document.forms[0].mods2.options.length; i++) { document.forms[0].mods2.options[i].selected = !document.forms[0].mods2.options[i].selected; } for(i=0; i<document.forms[0].mods3.options.length; i++) { document.forms[0].mods3.options[i].selected = !document.forms[0].mods3.options[i].selected; } return false'>$text{'user_sinvert'}</a><br>\n";

print "</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010003e252000081a40000000000000002000000013d1fe2b70000008e000000200000000000000000000000000000001100000003reloc/config-aix  find_pid_command=ps -A | grep NAME | grep -v grep | awk '{print $1}'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
  0707010003e253000081a40000000000000002000000013d1fe2b8000000cc000000200000000000000000000000000000001a00000003reloc/config-cobalt-linux find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e254000081a40000000000000002000000013d1fe2b7000000cc000000200000000000000000000000000000001900000003reloc/config-corel-linux  find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e255000081a40000000000000002000000013d1fe2b7000000cc000000200000000000000000000000000000001a00000003reloc/config-debian-linux find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e256000081a40000000000000002000000013d1fe2b7000000d4000000200000000000000000000000000000001500000003reloc/config-freebsd  find_pid_command=ps auxwwww | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/master.passwd
passwd_uindex=0
passwd_pindex=1
0707010003e257000081a40000000000000002000000013d1fe2b8000000cc000000200000000000000000000000000000001b00000003reloc/config-generic-linux    find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e258000081a40000000000000002000000013d1fe2b8000000cc000000200000000000000000000000000000001a00000003reloc/config-gentoo-linux find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e259000081a40000000000000002000000013d1fe2b7000000d7000000200000000000000000000000000000001200000003reloc/config-hpux find_pid_command=ps -e | grep NAME | grep -v grep | awk '{print $1}'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/contrib/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/passwd
passwd_uindex=0
passwd_pindex=1
 0707010003e25a000081a40000000000000002000000013d1fe2b7000000f1000000200000000000000000000000000000001200000003reloc/config-irix find_pid_command=ps -ef | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/bsd:/usr/etc
ld_path=/lib:/usr/lib
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
   0707010003e25b000081a40000000000000002000000013d1fe2b7000000e0000000200000000000000000000000000000001300000003reloc/config-macos    find_pid_command=ps auxwwww | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/libexec
ld_env=LD_LIBRARY_PATH
passwd_file=nidump passwd . |
passwd_uindex=0
passwd_pindex=1
0707010003e25c000081a40000000000000002000000013d1fe2b8000000cc000000200000000000000000000000000000001c00000003reloc/config-mandrake-linux   find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e25d000081a40000000000000002000000013d1fe2b8000000cc000000200000000000000000000000000000001700000003reloc/config-msc-linux    find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e25e000081a40000000000000002000000013d1fe2b8000000ff000000200000000000000000000000000000001400000003reloc/config-netbsd   find_pid_command=ps auxwwww | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/pkg/bin:/usr/pkg/sbin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/master.passwd
passwd_uindex=0
passwd_pindex=1
 0707010003e25f000081a40000000000000002000000013d1fe2b7000000cc000000200000000000000000000000000000001800000003reloc/config-open-linux   find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e260000081a40000000000000002000000013d1fe2b7000000d5000000200000000000000000000000000000001500000003reloc/config-openbsd  find_pid_command=ps auxwwww | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/master.passwd
passwd_uindex=0
passwd_pindex=1

   0707010003e261000081a40000000000000002000000013d1fe2b7000000c7000000200000000000000000000000000000001800000003reloc/config-openserver   find_pid_command=ps -A | grep NAME | grep -v grep | awk '{print $1}'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1

 0707010003e262000081a40000000000000002000000013d1fe2b7000000df000000200000000000000000000000000000001200000003reloc/config-osf1 find_pid_command=ps -ef | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_path=/lib:/usr/lib
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
 0707010003e263000081a40000000000000002000000013d1fe2b6000000cc000000200000000000000000000000000000001a00000003reloc/config-redhat-linux find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e264000081a40000000000000002000000013d1fe2b6000000cc000000200000000000000000000000000000001d00000003reloc/config-slackware-linux  find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e265000081a40000000000000002000000013d1fe2b600000109000000200000000000000000000000000000001500000003reloc/config-solaris  find_pid_command=ps -ef | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/ccs/bin
ld_path=/lib:/usr/lib:/usr/openwin/lib:/usr/dt/lib
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
   0707010003e266000081a40000000000000002000000013d1fe2b7000000cc000000200000000000000000000000000000001800000003reloc/config-suse-linux   find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e267000081a40000000000000002000000013d1fe2b7000000cc000000200000000000000000000000000000001900000003reloc/config-turbo-linux  find_pid_command=ps auwwwx | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
0707010003e268000081a40000000000000002000000013d1fe2b700000102000000200000000000000000000000000000001600000003reloc/config-unixware find_pid_command=ps -ef | grep NAME | grep -v grep | awk '{ print $2 }'
path=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
ld_path=/usr/lib:/usr/ccs/lib:/usr/local/lib:/usr/dt/lib
ld_env=LD_LIBRARY_PATH
passwd_file=/etc/shadow
passwd_uindex=0
passwd_pindex=1
  0707010003e269000081e40000000000000002000000013d1fe2b60000154a000000200000000000000000000000000000001100000003reloc/config.cgi  #!/usr/local/bin/perl
# config.cgi
# Display a form for editing the configuration of a module.
# Each module has a number of configurable parameters (stored in the file
# config.txt in the module directory). Descriptions and possible values for
# each option are stored in the file config.info in the module directory.
# Each line of config.info looks like
# name=desc,type[,options]
#  desc - A description of the parameter
#  type - Possible types (and options) are
#	0 - Free text
#	1 - One of many (options are possibilities)
#	2 - Many of many (options are possibilities)
#	3 - Optional free text
#	4 - Like 1, but uses a pulldown menu
#	5 - User name
#	6 - Group name
#	7 - Directory
#	8 - File
#	9 - Multiline text
#	10 - Like 1, but with free text option
#	11 - Section header
#	12 - Password free text

require './web-lib.pl';
&init_config();
$m = $ARGV[0];
%access = &get_module_acl(undef, $m);
$access{'noconfig'} &&
	&error($text{'config_ecannot'});
%module_info = &get_module_info($m);
&header($text{'config_title'}, "", undef, 0, 1);
print "<center><font size=+2>",&text('config_dir', $module_info{'desc'}),
      "</font></center>\n";
print "<hr>\n";

print "<form action=\"config_save.cgi\">\n";
print "<input type=hidden name=module value=\"$m\">\n";
print "<table border>\n";
print "<tr $tb> <td><b>",&text('config_header', $module_info{'desc'}),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
&read_file("$config_directory/$m/config", \%config);

if (-r "$m/config_info.pl") {
	# Module has a custom config editor
	&foreign_require($m, "config_info.pl");
	&foreign_call($m, "config_form", \%config);
	}
else {
	# Use config.info to create config inputs
	&read_file("$m/config.info", \%info, \@info_order);
	%einfo = %info;
	foreach $o (@lang_order_list) {
		&read_file("$m/config.info.$o", \%info, \@info_order);
		}
	@info_order = &unique(@info_order);

	foreach $c (@info_order) {
		@p = split(/,/, $info{$c});
		@ep = split(/,/, $einfo{$c});
		if (scalar(@ep) > scalar(@p)) {
			push(@p, @ep[scalar(@p) .. @ep-1]);
			}
		if ($p[1] == 11) {
			print "<tr><td colspan=3 $tb>\n" ;
			print "\t<b>" . $p[0] . "</b>\n</td></tr>\n" ;
			next;
			}
		print "<tr> <td valign=top><b>$p[0]</b></td>\n";
		print "<td nowrap>\n";
		$qw = $config{$c} =~ /'/ ? '"' : "'";
		if ($p[1] == 0 || $p[1] == 12) {
			$size = $p[2] ? "size=$p[2]" : "size=40";
			$max = $p[3] ? "maxlength=$p[3]" : "";
			$type = $p[1] == 12 ? "type=password" : "";
			print "<input name=\"$c\" $size $max $type value=$qw$config{$c}$qw>\n";
			}
		elsif ($p[1] == 1) {
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S*)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value='$1' %s>\n",
					$config{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				}
			}
		elsif ($p[1] == 2) {
			local %sel;
			map { $sel{$_}++ } split(/,/, $config{$c});
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S*)\-(.*)$/;
				printf "<input type=checkbox name=\"$c\" value='$1' %s>\n", $sel{$1} ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				}
			}
		elsif ($p[1] == 3) {
			$none = $p[2] ? $p[2] : $text{'config_none'};
			printf "<input type=radio name=\"%s_none\" value=1 %s> $none\n",
				$c, $config{$c} eq "" ? "checked" : "";
			print "&nbsp;&nbsp;\n";
			printf "<input type=radio name=\"%s_none\" value=0 %s>\n",
				$c, $config{$c} eq "" ? "" : "checked";
			print "<input name=\"$c\" size=20 value=$qw$config{$c}$qw>\n";
			}
		elsif ($p[1] == 4) {
			print "<select name=\"$c\">\n";
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<option value=\"$1\" %s>$2\n",
					$config{$c} eq $1 ? "selected" : "";
				}
			print "</select>\n";
			}
		elsif ($p[1] == 5) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $config{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $config{$c} eq "" ? "" : "checked";
				}
			print &unix_user_input($c, $config{$c});
			}
		elsif ($p[1] == 6) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $config{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $config{$c} eq "" ? "" : "checked";
				}
			print &unix_group_input($c, $config{$c});
			}
		elsif ($p[1] == 7) {
			print "<input name=\"$c\" size=40 value=$qw$config{$c}$qw> ",
			      &file_chooser_button($c, 1);
			}
		elsif ($p[1] == 8) {
			print "<input name=\"$c\" size=40 value=$qw$config{$c}$qw> ",
			      &file_chooser_button($c, 0);
			}
		elsif ($p[1] == 9) {
			local $cols = $p[2] ? $p[2] : 40;
			local $rows = $p[3] ? $p[3] : 5;
			local $sp = $p[4] ? eval "\"$p[4]\"" : " ";
			print "<textarea name=\"$c\" rows=$rows cols=$cols>",
				join("\n", split(/$sp/, $config{$c})),
				"</textarea>\n";
			}
		elsif ($p[1] == 10) {
			local $fv = $config{$c};
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value=$1 %s>\n",
					$config{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				$fv = undef if ($config{$c} eq $1);
				}
			printf "<input type=radio name=\"$c\" value=free %s>\n",
				$fv ? "checked" : "";
			print "<input name=\"${c}_free\" value='$fv'>\n";
			}
		print "</td> </tr>\n";
		}
	}
print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print "<hr>\n";
&footer("/$m", $text{'index'});

  0707010003e26a000081e40000000000000002000000013d1fe2b70000080d000000200000000000000000000000000000001600000003reloc/config_save.cgi #!/usr/local/bin/perl
# config_save.cgi
# Save inputs from config.cgi

require './web-lib.pl';
&init_config();
&ReadParse();
$m = $in{'module'};
&read_acl(\%acl);
&error_setup($text{'config_err'});
$acl{$base_remote_user,$m} || &error($text{'config_eaccess'});
%access = &get_module_acl(undef, $m);
$access{'noconfig'} && &error($text{'config_ecannot'});

mkdir("$config_directory/$m", 0700);
&lock_file("$config_directory/$m/config");
&read_file("$config_directory/$m/config", \%config);

if (-r "$m/config_info.pl") {
	# Module has a custom config editor
	&foreign_require($m, "config_info.pl");
	eval "\%${m}::in = \%in";
	&foreign_call($m, "config_save", \%config);
	}
else {
	# Use config.info to parse config inputs
	&read_file("$m/config.info", \%info, \@info_order) ||
		&error($text{'config_ecannot'});
	&read_file("$m/config.info.$gconfig{'lang'}", \%info, \@info_order);
	@info_order = &unique(@info_order);

	foreach $c (@info_order) {
		@p = split(/,/, $info{$c});
		if ($p[1] == 0 || $p[1] == 7 || $p[1] == 8) {
			# Free text input
			$config{$c} = $in{$c};
			}
		elsif ($p[1] == 1 || $p[1] == 4) {
			# One of many
			$config{$c} = $in{$c};
			}
		elsif ($p[1] == 5 || $p[1] == 6) {
			# User or group
			$config{$c} = ($p[2] && $in{$c."_def"} ? "" : $in{$c});
			}
		elsif ($p[1] == 2) {
			# Many of many
			$in{$c} =~ s/\0/,/g;
			$config{$c} = $in{$c};
			}
		elsif ($p[1] == 3) {
			# Optional free text
			if ($in{$c."_none"}) { $config{$c} = ""; }
			else { $config{$c} = $in{$c}; }
			}
		elsif ($p[1] == 9) {
			# Multilines of free text
			local $sp = $p[4] ? eval "\"$p[4]\"" : " ";
			$in{$c} =~ s/\r//g;
			$in{$c} =~ s/\n/$sp/g;
			$in{$c} =~ s/\s+$//;
			$config{$c} = $in{$c};
			}
		elsif ($p[1] == 10) {
			# One of many or free text
			if ($in{$c} eq 'free') {
				$config{$c} = $in{$c.'_free'};
				}
			else {
				$config{$c} = $in{$c};
				}
			}
		}
	}
&write_file("$config_directory/$m/config", \%config);
&unlock_file("$config_directory/$m/config");
&webmin_log("_config_", undef, undef, \%in, $m);
&redirect("/$m/");

   0707010003e26b000081a40000000000000002000000013d1fe2b700000895000000200000000000000000000000000000001400000003reloc/copyconfig.pl   #!/usr/local/bin/perl
# copyconfig.pl
# Copy the appropriate config file for each module into the webmin config
# directory. If it is already there, merge in new directives. Called with
# <osname> <osversion> <install dir> <config dir> <module>+

$os = $ARGV[0];
$ver = $ARGV[1];
$wadir = $ARGV[2];
$confdir = $ARGV[3];

# Find all clones
opendir(DIR, $wadir);
foreach $f (readdir(DIR)) {
	if (readlink("$wadir/$f")) {
		@st = stat("$wadir/$f");
		push(@{$clone{$st[1]}}, $f);
		}
	}
closedir(DIR);

# For each module, copy its config to itself and all clones
@mods = @ARGV[4..$#ARGV];
foreach $m (@mods) {
	$srcdir = "$wadir/$m";
	if (-r "$srcdir/config-$os-$ver") {
		$conf = "$srcdir/config-$os-$ver";
		}
	elsif (-r "$srcdir/config-$os") {
		$conf = "$srcdir/config-$os";
		}
	elsif (-r "$srcdir/config") {
		$conf = "$srcdir/config";
		}
	else {
		$conf = "/dev/null";
		}

	@st = stat($srcdir);
	@copyto = ( @{$clone{$st[1]}}, $m );
	foreach $c (@copyto) {
		mkdir("$confdir/$c", 0755);
		undef(%oldconf); undef(%newconf);
		&read_file("$confdir/$c/config", \%oldconf);
		&read_file($conf, \%newconf);
		foreach $k (keys %oldconf) {
			$newconf{$k} = $oldconf{$k};
			}
		&write_file("$confdir/$c/config", \%newconf);
		}

	# copy admin.acl
	if (-r "$srcdir/admin.acl") {
		$conf = "$srcdir/admin.acl";
		}
	else {
		$conf = "/dev/null";
		}
	foreach $c (@copyto) {
		mkdir("$confdir/$c", 0755);
		undef(%oldconf); undef(%newconf);
		&read_file("$confdir/$c/admin.acl", \%oldconf);
		&read_file($conf, \%newconf);
		foreach $k (keys %oldconf) {
			$newconf{$k} = $oldconf{$k};
			}
		&write_file("$confdir/$c/admin.acl", \%newconf);
		}

	}

# read_file(file, array)
# Fill an associative array with name=value pairs from a file
sub read_file
{
local($arr);
$arr = $_[1];
open(ARFILE, $_[0]) || return 0;
while(<ARFILE>) {
        chop;
        if (!/^#/ && /^([^=]+)=(.*)$/) { $$arr{$1} = $2; }
        }
close(ARFILE);
return 1;
}
 
# write_file(file, array)
# Write out the contents of an associative array as name=value lines
sub write_file
{
local($arr);
$arr = $_[1];
open(ARFILE, "> $_[0]");
foreach $k (keys %$arr) {
        print ARFILE "$k=$$arr{$k}\n";
        }
close(ARFILE);
}
   07070100000195000041ed0000000000000001000000043d1ff9f400000000000000200000000000000000000000000000000b00000003reloc/cpan    07070100000196000081a40000000000000002000000013d1fe2df00000063000000200000000000000000000000000000001200000003reloc/cpan/config packages=http://www.cpan.org/modules/02packages.details.txt.gz
cpan=http://www.cpan.org/authors/id
 07070100000197000081a40000000000000002000000013d1fe2df0000003f000000200000000000000000000000000000001700000003reloc/cpan/config.info    packages=CPAN perl modules list,0
cpan=CPAN modules base URL,0
 07070100000198000081a40000000000000002000000013d1fe2df00000054000000200000000000000000000000000000001a00000003reloc/cpan/config.info.ca packages=Llista dels mòduls perl de CPAN,0
cpan=URL de base dels mòduls de CPAN,0


07070100000199000081a40000000000000002000000013d1fe2df00000043000000200000000000000000000000000000001a00000003reloc/cpan/config.info.de packages=CPAN Perl-Modul Liste,0
cpan=CPAN Perl-Module Basis-URL,0 0707010000019a000081a40000000000000002000000013d1fe2df0000004b000000200000000000000000000000000000001a00000003reloc/cpan/config.info.es packages=Lista de módulos CPAN perl,0
cpan=URL base para módulos de CPAN,0
 0707010000019b000081a40000000000000002000000013d1fe2df00000046000000200000000000000000000000000000001a00000003reloc/cpan/config.info.hu packages=CPAN perl modulok listája,0
cpan=CPAN modulok bázis URL-je,0
  0707010000019e000081a40000000000000002000000013d1fe2df00000041000000200000000000000000000000000000001a00000003reloc/cpan/config.info.nl packages=CPAN perl modules lijst,0
cpan=CPAN modules basis URL,0
   070701000001a0000081a40000000000000002000000013d1fe2df00000047000000200000000000000000000000000000001a00000003reloc/cpan/config.info.pl packages=Lista modu³ów CPAN Perla,0
cpan=Podstawowy URL modu³ów CPAN,0
 070701000001a1000081a40000000000000002000000013d1fe2df00000045000000200000000000000000000000000000001d00000003reloc/cpan/config.info.ru_RU  cpan=Áàçîâûé URL àðõèâà CPAN,0
packages=Ñïèñîê ìîäóëåé àðõèâà CPAN,0
   070701000001a3000081a40000000000000002000000013d1fe2df00000045000000200000000000000000000000000000001d00000003reloc/cpan/config.info.ru_SU  packages=óÐÉÓÏË ÍÏÄÕÌÅÊ ÁÒÈÉ×Á CPAN,0
cpan=âÁÚÏ×ÙÊ URL ÁÒÈÉ×Á CPAN,0
   070701000001a4000081a40000000000000002000000013d1fe2df0000004a000000200000000000000000000000000000001a00000003reloc/cpan/config.info.sv packages=Lista över CPAN-Perl-moduler,0
cpan=Grund-URL för CPAN-moduler,0
  070701000001a5000081a40000000000000002000000013d1fe2df00000037000000200000000000000000000000000000001d00000003reloc/cpan/config.info.zh_CN  packages=CPAN perl Ä£¿éÁÐ±í,0
cpan=CPAN Ä£¿é»ù±¾ URL,0
 070701000001a6000081a40000000000000002000000013d1fe2df00000039000000200000000000000000000000000000002200000003reloc/cpan/config.info.zh_TW.Big5 packages=CPAN perl¼Ò²Õ²M³æ,0
cpan=CPAN¼Ò²Õ°ò¥»«Øºcºô§},0
   070701000001a7000081a40000000000000002000000013d1fe2df00000c34000000200000000000000000000000000000001700000003reloc/cpan/cpan-lib.pl    # cpan-lib.pl
# Functions for getting information about perl modules

do '../web-lib.pl';
&init_config();
use Config;
$packages_file = "$module_config_directory/packages.txt.gz";

# Get the paths to perl and perldoc
open(PERL, "$config_directory/perl-path");
chop($perl_path = <PERL>);
close(PERL);
if (&has_command("perldoc")) {
	$perl_doc = &has_command("perldoc");
	}
else {
	$perl_path =~ /^(.*)\/[^\/]+$/;
	if (-x "$1/perldoc") {
		$perl_doc = "$1/perldoc";
		}
	}
if ($perl_doc && $] >= 5.006) {
	$perl_doc = "$perl_path -T $perl_doc";
	}

# list_perl_modules()
# Returns a list of all installed perl modules, but reading .packlist files
sub list_perl_modules
{
local (@rv, %done, $d);
foreach $d ($Config{'privlib'}, $Config{'sitelib_stem'} ?
				$Config{'sitelib_stem'} : $Config{'sitelib'}) {
	local $f;
	open(FIND, "find '$d' -name .packlist -print |");
	while($f = <FIND>) {
		chop($f);
		next if ($done{$f}++);
		local @st = stat($f);
		local $mod = { 'date' => scalar(localtime($st[9])),
			       'packfile' => $f,
			       'index' => scalar(@rv) };
		$f =~ /\/(([A-Z][^\/]*\/)*[^\/]+)\/.packlist$/;
		$mod->{'name'} = $1;
		$mod->{'name'} =~ s/\//::/g;
		local (%donefile, $l);
		open(FILE, $f);
		while($l = <FILE>) {
			chop($l);
			$l =~ s/^\/tmp\/[^\/]+//;
			$l =~ s/^\/var\/tmp\/[^\/]+//;
			next if ($donefile{$l}++);
			if ($l =~ /\/((([A-Z][^\/]*\/)([^\/]+\/)?)?[^\/]+)\.pm$/) {
				local $mn = $1;
				$mn =~ s/\//::/g;
				push(@{$mod->{'mods'}}, $mn);
				push(@{$mod->{'files'}}, $l);
				}
			elsif ($l =~ /^([^\/]+)\.pm$/) {
				# Module name only, with no path! Damn redhat..
				local @rpath;
				open(FIND2, "find '$d' -name '$l' -print |");
				while(<FIND2>) {
					chop;
					push(@rpath, $_);
					}
				close(FIND2);
				@rpath = sort { length($a) cmp length($b) } @rpath;
				if (@rpath) {
					$rpath[0] =~ /\/(([A-Z][^\/]*\/)*[^\/]+)\.pm$/;
					local $mn = $1;
					$mn =~ s/\//::/g;
					push(@{$mod->{'mods'}}, $mn);
					push(@{$mod->{'files'}}, $rpath[0]);
					$mod->{'noremove'} = 1;
					}
				}
			push(@{$mod->{'packlist'}}, $l);
			}
		close(FILE);
		local $mi = &indexof($mod->{'name'}, @{$mod->{'mods'}});
		$mod->{'master'} = $mi < 0 ? 0 : $mi;
		push(@rv, $mod) if (@{$mod->{'mods'}});
		}
	close(FIND);
	}
return @rv;
}

# module_desc(&mod, index)
# Returns a one-line description for some module
sub module_desc
{
local ($in_name, $desc);
local $f = $_[0]->{'files'}->[$_[1]];
local $pf = $f;
$pf =~ s/\.pm$/\.pod/;
open(MOD, $pf) || open(MOD, $f);
while(<MOD>) {
	if (/^=head1\s+name/i) {
		$in_name = 1;
		}
	elsif (/^=/ && $in_name) {
		last;
		}
	elsif ($in_name) {
		$desc .= $_;
		}
	}
close(MOD);
local $name = $_[0]->{'mods'}->[$_[1]];
$desc =~ s/^\s*$name\s+\-\s+// ||
	$desc =~ s/^\s*\S*<$name>\s+\-\s+//;
return $desc;
}

# download_packages_file(&callback)
sub download_packages_file
{
$config{'packages'} =~ /^http:\/\/([^\/]+)(\/.*)$/ ||
	&error($text{'download_epackages'});
local ($host, $page, $port) = ($1, $2, 80);
if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
&http_download($host, $port, $page, $packages_file, undef, $_[0]);
}

1;

070701000001a8000081e40000000000000002000000013d1fe2df00000da4000000200000000000000000000000000000001400000003reloc/cpan/cpan.cgi   #!/usr/local/bin/perl
# cpan.cgi
# Display known perl modules and categories

require './cpan-lib.pl';
&ReadParse();

if (!-r $packages_file) {
	&download_packages_file();
	}

# Read the modules list
open(LIST, "gunzip -c $packages_file |");
while(<LIST>) {
	s/\r|\n//g;
	if ($_ eq '') { $found_blank++; }
	elsif ($found_blank && /^(\S+)\s+(\S+)\s+(.*)/) {
		#next if ($donefile{$3}++);
		$mod = $1; $ver = $2;
		next if ($mod eq 'about');
		local @mod = split(/::/, $mod);
		if (@mod > 1) {
			local @cat = @mod[0 .. $#mod-1];
			if (!$donecat{join("::", @cat)}++) {
				push(@mods, { 'name' => \@cat,
					      'cat' => 1 } );
				}
			}
		push(@mods, { 'name' => \@mod,
			      'full' => $mod,
			      'ver' => $ver eq 'undef' ? '' : $ver } );
		}
	}
close(LIST);

# Display the current level of modules
$bgcolor = defined($gconfig{'cs_page'}) ? $gconfig{'cs_page'} : "ffffff";
$link = defined($gconfig{'cs_link'}) ? $gconfig{'cs_link'} : "0000ee";
$text = defined($gconfig{'cs_text'}) ? $gconfig{'cs_text'} : "000000";
@sel = split(/\0/, $in{'sel'});
&PrintHeader();
print <<EOF;
<html>
<head><title>$text{'cpan_title'}</title>
<script>
function sel(m)
{
window.opener.ifield.value = m;
window.close();
return false;
}
</script>
</head><body bgcolor=#$bgcolor link=#$link vlink=#$link text=#$text>
EOF
if ($in{'search'}) {
	# Search for modules matching some name
	print "<b>",&text('cpan_match', "<tt>$in{'search'}</tt>"),"</b><p>\n";
	print "<table width=100% cellpadding=1 cellspacing=1>\n";
	foreach $m (@mods) {
		if (!$m->{'cat'} && $m->{'full'} =~ /$in{'search'}/i) {
			$name = join("::",@{$m->{'name'}});
			print "<tr>\n";
			print "<td><a href='' onClick='sel(\"$name\")'><img src=images/mod.gif border=0></a></td>\n";
			print "<td><a href='' onClick='sel(\"$name\")'>",
				&html_escape($name),"</a></td>\n";
			print "<td align=right>",&html_escape($m->{'ver'}),"</td>\n";
			print "</tr>\n";
			$matches++;
			}
		}
	print "</table>\n";
	print "$text{'cpan_none'}<br>\n" if (!$matches);
	}
else {
	# Show module tree
	if (@sel) {
		print "<b>",&text('cpan_sel', join("::",@sel)),"</b><p>\n";
		}
	else {
		# Show search form
		print "<form action=cpan.cgi>\n";
		print "<input type=submit value='$text{'cpan_search'}'>\n";
		print "<input name=search size=15></form>\n";
		}
	print "<table width=100% cellpadding=1 cellspacing=1>\n";
	if (@sel) {
		local @up = @sel[0..$#sel-1];
		print "<tr>\n";
		print "<td><a href='cpan.cgi?",join("&",map { "sel=$_" } @up),"#",join("::",@sel),"'><img src=images/cat.gif border=0></a></td>\n";
		print "<td><a href='cpan.cgi?",join("&",map { "sel=$_" } @up),"#",join("::",@sel),"'>..</a></td>\n";
		print "</tr>\n";
		}
	MOD: foreach $m (@mods) {
		for($i=0; $i<@sel; $i++) {
			next MOD if ($sel[$i] ne $m->{'name'}->[$i]);
			}
		next if (scalar(@sel) != scalar(@{$m->{'name'}}-1));
		$name = join("::",@{$m->{'name'}});
		$pars = join("&",map { "sel=$_" } @{$m->{'name'}});
		print "<tr>\n";
		if ($m->{'cat'}) {
			print "<td><a name=$name><a href='cpan.cgi?$pars'><img src=images/cat.gif border=0></a></td>\n";
			print "<td><a href='cpan.cgi?$pars'>",&html_escape($name),"</a></td>\n";
			}
		else {
			print "<td><a href='' onClick='sel(\"$name\")'><img src=images/mod.gif border=0></a></td>\n";
			print "<td><a href='' onClick='sel(\"$name\")'>",&html_escape($name),"</a></td>\n";
			print "<td align=right>",&html_escape($m->{'ver'}),"</td>\n";
			}
		print "</tr>\n";
		}
	}
print "</table>\n";
print "</body></html>\n";

070701000001a9000081e40000000000000002000000013d1fe2df0000153e000000200000000000000000000000000000001800000003reloc/cpan/download.cgi   #!/usr/local/bin/perl
# download.cgi
# Get a perl module from somewhere

require './cpan-lib.pl';

if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }
&error_setup($text{'download_err'});

$| = 1;
$theme_no_table = 1 if ($in{'source'} >= 2);
&header($text{'download_title'}, "");
print "<hr>\n";

&tempname();
if ($in{'source'} == 0) {
	# installing from local file (or maybe directory)
	if (!$in{'local'})
		{ &install_error($text{'download_elocal'}); }
	if (!-r $in{'local'})
		{ &install_error(&text('download_elocal2', $in{'local'})); }
	$source = $in{'local'};
	$pfile = $in{'local'};
	$need_unlink = 0;
	}
elsif ($in{'source'} == 1) {
	# installing from upload .. store file in temp location
	if ($no_upload) {
		&install_error($text{'download_eupload'});
		}
	$in{'upload_filename'} =~ /([^\/]+$)/;
	$pfile = &tempname("$1");
	open(PFILE, "> $pfile");
	print PFILE $in{'upload'};
	close(PFILE);
	$source = $in{'upload_filename'};
	$need_unlink = 1;
	}
elsif ($in{'source'} == 2) {
	# installing from URL.. store downloaded file in temp location
	$in{'url'} =~ /\/([^\/]+)\/*$/;
	$pfile = &tempname("$1");
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		# Make a HTTP request
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $pfile, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?(\/.*)$/) {
		$host = $1; $file = $3;
		&ftp_download($host, $file, $pfile, \$error,
			      \&progress_callback);
		}
	else { &install_error(&text('download_eurl', $in{'url'})); }
	&install_error($error) if ($error);
	$source = $in{'url'};
	$need_unlink = 1;
	}
elsif ($in{'source'} == 3) {
	# installing from CPAN.. find the module, and then install it
	$progress_callback_url = $config{'packages'};
	if (!-r $packages_file || $in{'refresh'}) {
		# Need to download the modules list from CPAN first
		&download_packages_file(\&progress_callback);
		print "<p>\n";
		}

	# Find the module in the modules list
	open(LIST, "gunzip -c $packages_file |");
	while(<LIST>) {
		s/\r|\n//g;
		if ($_ eq '') { $found_blank++; }
		elsif ($found_blank && /^(\S+)\s+(\S+)\s+(.*)/) {
			if ($1 eq $in{'cpan'}) {
				$source = "$config{'cpan'}/$3";
				last;
				}
			}
		}
	close(LIST);
	$source ||
		&install_error(&text('download_ecpan', "<tt>$in{'cpan'}</tt>"));

	# Download the actual module
	$source =~ /\/([^\/]+)\/*$/;
	$pfile = &tempname("$1");
	$progress_callback_url = $source;
	if ($source =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		# Make a HTTP request
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $pfile, \$error,
			       \&progress_callback);
		}
	elsif ($source =~ /^ftp:\/\/([^\/]+)(:21)?(\/.*)$/) {
		$host = $1; $file = $3;
		&ftp_download($host, $file, $pfile, \$error,
			      \&progress_callback);
		}
	else { &install_error(&text('download_eurl', $in{'url'})); }
	&install_error($error) if ($error);
	$need_unlink = 1;
	}

# Check if the file looks like a perl module
open(TAR, "( gunzip -c $pfile | tar tf - ) 2>&1 |");
while($line = <TAR>) {
	if ($line =~ /^\.\/([^\/]+)\/(.*)$/ || $line =~ /^([^\/]+)\/(.*)$/) {
		$mods{$1}++;
		$file{$2}++;
		}
	$tar .= $line;
	}
close(TAR);
if ($?) {
	unlink($pfile) if ($need_unlink);
	&install_error(&text('download_etar', "<tt>$tar</tt>"));
	}
@mods = keys %mods;
if (@mods != 1 || !$file{'Makefile.PL'} || $mods[0] !~ /^(\S+)\-([0-9\.]+)$/) {
	unlink($pfile) if ($need_unlink);
	&install_error($text{'download_emod'});
	}
$mod = $1; $ver = $2;
$mod =~ s/-/::/g;

# Display install options
print "<p><form action=install.cgi>\n";
print "<input type=hidden name=source value='$source'>\n";
print "<input type=hidden name=need_unlink value='$need_unlink'>\n";
print "<input type=hidden name=pfile value='$pfile'>\n";
print "<input type=hidden name=mod value='$mod'>\n";
print "<input type=hidden name=ver value='$ver'>\n";
print "<input type=hidden name=dir value='$mods[0]'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'download_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'download_mod'}</b></td> <td>",
	&html_escape($mod),"</td> </tr>\n";
print "<tr> <td><b>$text{'download_ver'}</b></td> <td>",
	&html_escape($ver),"</td> </tr>\n";
print "<tr> <td><b>$text{'download_src'}</b></td> <td>",
	&html_escape($source),"</td> </tr>\n";
print "<tr> <td><b>$text{'download_act'}</b></td> <td><select name=act>\n";
$in{'mode'} = 3 if ($in{'mode'} eq '');
printf "<option value=0 %s> $text{'download_m'}\n",
	$in{'mode'} == 0 ? "selected" : "";
printf "<option value=1 %s> $text{'download_mt'}\n",
	$in{'mode'} == 1 ? "selected" : "";
printf "<option value=2 %s> $text{'download_mi'}\n",
	$in{'mode'} == 2 ? "selected" : "";
printf "<option value=3 %s> $text{'download_mti'}\n",
	$in{'mode'} == 3 ? "selected" : "";
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'download_args'}</b></td>\n";
print "<td><input name=args size=40></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'download_cont'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub install_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

  070701000001aa000081e40000000000000002000000013d1fe2df00000786000000200000000000000000000000000000001800000003reloc/cpan/edit_mod.cgi   #!/usr/local/bin/perl
# edit_mod.cgi
# Display the details and documentation of a perl module

require './cpan-lib.pl';
&ReadParse();
@mods = &list_perl_modules();
$mod = $mods[$in{'idx'}];
$midx = $in{'midx'} ? $in{'midx'} : 0;

&header($text{'edit_title'}, "");
print "<hr>\n";

print "<form action=uninstall.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@m = @{$mod->{'mods'}};
print "<tr> <td><b>$text{'edit_mod'}</b></td>\n";
print "<td>$m[$midx]</td>\n";

print "<td><b>$text{'edit_desc'}</b></td>\n";
$desc = &module_desc($mod, $midx);
print "<td>",$desc ? &html_escape($desc) : $text{'edit_none'},"</td> </tr>\n";

print "<tr> <td><b>$text{'edit_date'}</b></td>\n";
print "<td nowrap>$mod->{'date'}</td>\n";

print "<td><b>$text{'edit_file'}</b></td>\n";
print "<td>$mod->{'files'}->[$midx]</td> </tr>\n";

if ($midx == $mod->{'master'} && @m > 1) {
	print "<tr> <td valign=top><b>$text{'edit_subs'}</b></td>\n";
	print "<td colspan=3>";
	for($i=0; $i<@m; $i++) {
		print "<a href='edit_mod.cgi?idx=$in{'idx'}&midx=$i'>",
		      "$m[$i]</a>&nbsp;&nbsp;\n" if ($i != $mod->{'master'});
		}
	print "</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
if ($midx == $mod->{'master'} && !$mod->{'noremove'}) {
	print "<input type=submit value='$text{'edit_uninstall'}'>\n";
	}
print "</form><p>\n";

open(DOC, "$perl_doc -t '$m[$midx]' 2>/dev/null |");
while(<DOC>) { $doc .= $_; }
close(DOC);
if ($doc =~ /\S/) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_header2'}</b></td> </tr>\n";
	print "<tr $cb> <td><pre>";
	print &html_escape($doc);
	print "</pre></td></tr></table><p>\n";
	}

print "<hr>\n";
&footer($midx > 0 ? ( "edit_mod.cgi?idx=$in{'idx'}", $text{'edit_return'} )
		  : ( ),
	"", $text{'index_return'});

  07070100001912000041ed0000000000000001000000023d1ff9f400000000000000200000000000000000000000000000001200000003reloc/cpan/images 07070100001913000081a40000000000000002000000013d1fe2de00000070000000200000000000000000000000000000001a00000003reloc/cpan/images/cat.gif GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       A„©qí„œb¼k"•»† phÛyZâ:V
SƒûÆñÐ™všï0žñ¡€5¡¬g<–’²%“ã|v¸ªõŠõh ;07070100001914000081a40000000000000002000000013d1fe2de000003c9000000200000000000000000000000000000001b00000003reloc/cpan/images/icon.gif    GIF89a0 0 „     •••@@@ÑÑÑjjj¸¸¸êêêÝÝÝvvv÷÷÷KKK§§§///ÅÅÅôôôæææüüüSSSoooîîîþþþùùùqqqïïïÿÿÿ   ,    0 0  þ 'Ždižhª®lë¾p,‹šAÓl"ÁÆú	AÐ(Dt£‚Ã (¬ A @  Œ2Ê#  4P
Âà,bQIc“i8	J °Xª/T ' a\ro/‘Aow%  –]‰CC3…A$Q]B2— Èªi­U1ÌUä¥¤ÖíN/Q·äg¿ü5xÐ ƒzèyGÀ úU	£‡BD¯ `àQHÎ€
@($åE7c]þ2!Ð@aÁ:	"ÈkPMŽ¶biâ	ðÁ"¶ âälxÐÌC1„| Š±*Ää¹bƒø%R¦Ã„yŒáW 
ÂbaAÀš\"x°¶l$7 À]$DèrŠ @ÑLÛÖÂ†ns,p „C  1pw·¶×í` #x_
$¸¡µÈC´°€˜]	òüI¸ …‡î¹ñ’÷°2žTDðUÁ‚”^÷€OAšMýaûéÕ?Ãw<t° ®øÃˆM@†™$8H¨ÅÈ<@yåpÁÌƒ…Ä[+.ù1Ÿ6üþáÕ„ ¼ÑvrØ"N<XäE èAD.hPÃG `@)”&HíX¤
2 0€lâ3ƒ‰Ü‰”¤Ê4…‹ÕPj¸Ð™œb¢Éw‹ç!N&“P¹@7Œá@Q# ð‹ÉÍ° ‚LüáC&4ŠÀ‚G A%›Ð,1ˆ'@ÆIæ—vŽàR–åá"@ud9mÚp-"È˜	PQÂ–~èW¤mPƒ…x8 .XQBa%8 G£  ¦`#ô	ËdêG	áä`#&ð‘©K&Èv–9'À“i u–@g³%€Ô(d(Q °@#(üÖ¨0{€4¼fj€#l°Î:ß‘²H¼Aî’n8 A&0{«Å@+Âk5n“Î€Î+e~ÒŒ7:$ Â2TÀ€
)d*ñ!  ;   07070100001915000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000001a00000003reloc/cpan/images/mod.gif GIF89a  ¡  ÿÿÿ   ÌÌÌfff!ù    ,       L„¢Ëj”½(S­7ÎMuÐZXV:'™
â¡µî·/*ÏÂ÷~O†Ä¢/8D“Àrð46=Ï(ñèBµRr»Üziá.R  ; 070701000001ab000081e40000000000000002000000013d1fe2df000008c6000000200000000000000000000000000000001500000003reloc/cpan/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display installed perl modules and a form for installing new ones

require './cpan-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0, undef, undef, undef,
	&text('index_pversion', $]));
print "<hr>\n";

# Display perl modules
@mods = &list_perl_modules();
if (@mods) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
	      "<td><b>$text{'index_sub'}</b></td> ",
	      "<td><b>$text{'index_desc'}</b></td> ",
	      "<td><b>$text{'index_date'}</b></td> </tr>\n";
	foreach $m (sort { $a->{'mods'}->[0] cmp $b->{'mods'}->[0] } @mods) {
		local $mi = $m->{'master'};
		print "<tr $cb>\n";
		print "<td><a href='edit_mod.cgi?idx=$m->{'index'}&midx=$mi'>",
		      &html_escape($m->{'mods'}->[$mi]),"</a></td>\n";
		printf "<td>%d</td>\n", @{$m->{'mods'}} - 1;
		local $desc = &module_desc($m, $mi);
		print "<td>",$desc ? &html_escape($desc) : "<br>","</td>\n";
		print "<td nowrap><tt>",&html_escape($m->{'date'}),
		      "</tt></td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	print "<hr>\n";
	}

# Display install form
print "$text{'index_installmsg'}<p>\n";
print "<form action=download.cgi method=post enctype=multipart/form-data>\n";
print "<input type=radio name=source value=3 checked> $text{'index_cpan'}\n";
print "<input name=cpan size=20>\n";
print "<input type=button onClick='window.ifield = document.forms[0].cpan; chooser = window.open(\"cpan.cgi\", \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300\")' value=\"...\">\n";
if (-r $packages_file) {
	print "&nbsp;&nbsp;&nbsp;<input type=checkbox name=refresh value=1> ",
	      "$text{'index_refresh'}\n";
	}
print "<br>\n";

print "<input type=radio name=source value=0> $text{'index_local'}\n";
print "<input name=local size=50>\n";
print &file_chooser_button("local", 0); print "<br>\n";

print "<input type=radio name=source value=1> $text{'index_uploaded'}\n";
print "<input type=file name=upload size=20><br>\n";

print "<input type=radio name=source value=2> $text{'index_ftp'}\n";
print "<input name=url size=50><br>\n";
print "<input type=submit value=\"$text{'index_installok'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  070701000001ac000081e40000000000000002000000013d1fe2df000007c9000000200000000000000000000000000000001700000003reloc/cpan/install.cgi    #!/usr/local/bin/perl
# install.cgi
# Install a downloaded perl module

require './cpan-lib.pl';
&ReadParse();
-r $in{'pfile'} || &error(&text('install_efile', "<tt>$in{'pfile'}</tt>"));
$| = 1;
$theme_no_table = 1;
&header($text{'install_title'}, "");
print "<hr>\n";

# Untar the perl module
$mod_dir = &tempname($in{'dir'});
system("rm -rf $mod_dir >/dev/null 2>&1");
&show_output($text{'install_untar'}, "/tmp/.webmin",
	     "gunzip -c $in{'pfile'} | tar xvf -");

# Run Makefile.PL and make
&show_output($text{'install_make'}, $mod_dir,
	     "$perl_path Makefile.PL $in{'args'} && make") || &build_error();

# Run make test (if requested)
if ($in{'act'} == 1 || $in{'act'} == 3) {
	&show_output($text{'install_test'}, $mod_dir, "make test") ||
		&build_error();
	}

# Run make install (if requested)
if ($in{'act'} == 2 || $in{'act'} == 3) {
	&show_output($text{'install_install'}, $mod_dir, "make install") ||
		&build_error();
	}

# Clean up files
print "<p>",&text('install_done_'.$in{'act'}, "<tt>$in{'mod'}</tt>"),"<p>\n";
&clean_up();

sub clean_up
{
system("rm -rf $mod_dir");
unlink($in{'pfile'}) if ($in{'need_unlink'});
print "<hr>\n";
&footer("", $text{'index_return'});
}

# show_output(desc, dir, command)
sub show_output
{
local (%seen, $endless_loop);
print "<table border>\n";
print "<tr $tb> <td><b>$_[0]</b></td> </tr>\n";
print "<tr $cb> <td><pre>",&text('install_exec', $_[2]),"\n";
print " " x 100,"\n";
open(CMD, "(cd $_[1] ; $_[2]) 2>&1 </dev/null |");
while(<CMD>) {
	if ($seen{$_}++ > 100) {
		$endless_loop = 1;
		print "\n$text{'install_loop'}\n";
		last;
		}
	while(length($_) > 100) {
		s/^(.{100})//;
		print &html_escape($1),"\n";
		}
	print;
	}
close(CMD);
print "</pre></td></tr> </table><p>\n";
return $? || $endless_loop ? 0 : 1;
}

sub build_error
{
print "<p>",&text('install_err', "<tt>$in{'mod'}</tt>"),"<br>\n";
if ($in{'source'} == 3) {
	print &text('install_err2', "<tt>perl -MCPAN -e shell</tt>"),"\n";
	}
print "<p>\n";
&clean_up();
exit;
}

   07070100002ff1000041ed0000000000000001000000023d1ff9f400000000000000200000000000000000000000000000001000000003reloc/cpan/lang   07070100002ff2000081a40000000000000002000000013d1fe2de000009f3000000200000000000000000000000000000001300000003reloc/cpan/lang/ca    index_title=Mòduls Perl
index_name=Mòdul
index_version=Versió
index_desc=Descripció
index_date=Instal·lat
index_installmsg=Selecciona un nou mòdul Perl per compilar i instal·lar.
index_cpan=Des de CPAN, anomenat
index_refresh=Refresca la llista de mòduls des de CPAN
index_local=Des d'un fitxer local
index_uploaded=Des d'un fitxer pujat
index_ftp=Des de FTP o URL HTTP
index_installok=Instal·la
index_return=a la llista de mòduls
index_pversion=Versió Perl $1

download_err=No he pogut instal·lar el mòdul
download_elocal=No s'ha donat cap fitxer local
download_elocal2='$1' no existeix
download_eupload=El teu navegador no suporta càrregues de fitxers
download_eurl=L'URL '$1' és incomprensible
download_edir=No és un directori vàlid $1
download_etar=No he pogut extreure el fitxer tar: $1
download_emod=No és un mòdul Perl vàlid
download_title=Instal·lació de Mòdul
download_header=Opcions d'instal·lació del mòdul
download_mod=Nom del mòdul
download_ver=Versió
download_act=Acció d'instal·lació
download_src=Font
download_m=Només compilació
download_mt=Compilació i test
download_mi=Compilació i instal·lació
download_mti=Compilació, test i instal·lació
download_cont=Procedeix amb la instal·lació
download_epackages=URL de mòduls CPAN incorrecta
download_ecpan=No s'ha trobat el mòdul $1 a la llista de mòduls de CPAN
download_args=Arguments de <tt>Makefile.PL</tt>

install_title=Instal·lació de Mòdul
install_untar=Desempaquetant el fitxer del mòdul
install_make=Compilant el mòdul
install_test=Verificant el mòdul
install_install=Instal·lant el mòdul
install_loop=S'ha detectat un possible bucle infinit a la sortida!
install_done_0=La compilació de $1 ha reeixit.
install_done_1=La compilació i verificació de $1 han reeixit.
install_done_2=La compilació i instal·lació $1 han reeixit.
install_done_3=La compilació, verificació i instal·lació de $1 han reeixit.
install_err2=També pots instal·lar el mòdul des de CPAN amb l'ordre $1
install_err=La instal·lació de $1 ha fallat. Comprova la sortida i prova d'instal·lar-lo a mà.
install_exec=Executant $1 ..
install_efile=El fitxer $1 del mòdul ja no existeix

cpan_sel=Mòduls de $1 ..
cpan_title=Selecció de mòdul Perl
cpan_search=Busca mòduls anomenats
cpan_match=Mòduls qu coincideixen amb $1...
cpan_none=No s'ha trobat cap coincidència.

edit_title=Detalls del Mòdul
edit_header=Informació del mòdul
edit_mod=Nom del mòdul
edit_version=Versió del mòdul
edit_desc=Descripció
edit_date=Instal·lat a
edit_header2=Documentació del mòdul
edit_file=Fitxer del mòdul
edit_files=Programes



 07070100002ff3000081a40000000000000002000000013d1fe2de00000c6d000000200000000000000000000000000000001300000003reloc/cpan/lang/de    #        webmin-0.97     cpan/lang/de
#
#        created: 12-jun-2001                by: Dieter H&uuml;rten
#        last modified: 28-may-2002          Rev.: 28-05-2002
#        modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: 12.06.2001               durch: Dieter H&uuml;rten
# letzte &Auml;nderung: 28.05.2002        Rev.: 28.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de


index_title=Perl-Module

index_name=Modul
index_version=Version
index_desc=Beschreibung
index_date=Installiert am
index_installmsg=W&auml;hlen Sie ein neues Perl-Modul, das auf ihrem System kompiliert und installiert werden soll.
index_cpan=Von CPAN, namens
index_refresh=Neue Modul-Liste von CPAN holen
index_local=Aus lokaler Datei
index_uploaded=Aus heraufgeladener Datei
index_ftp=Von ftp oder http URL
index_installok=Installieren
index_return=Perl-Module
index_pversion=Perl-Version $1

download_err=Fehler beim Installieren des Moduls
download_elocal=Keine lokale Datei angegeben
download_elocal2='$1' ist nicht vorhanden
download_eupload=Der von Ihnen verwendete Browser unterst&uuml;tzt keine Datei-Uploads
download_eurl=Unverst&auml;ndliche URL '$1'
download_edir=Kein g&uuml;ltiges $1 Verzeichnis
download_etar=Fehler beim Entpacken des TAR-Archivs : $1
download_emod=Kein g&uuml;ltiges Perl-Modul
download_title=Installiere Modul
download_header=Perl-Modul Installationsoptionen
download_mod=Modulname
download_ver=Version
download_act=Installationsaktion
download_src=Quelle
download_m=Nur kompilieren
download_mt=Kompilieren und testen
download_mi=Kompilieren und installieren
download_mti=Kompilieren, testen und installieren
download_cont=Installation fortsetzen
download_epackages=Ung&uuml;ltige CPAN Modul-URL
download_ecpan=Modul $1 wurde nicht in der CPAN Modul-Liste gefunden
download_args=<tt>Makefile.PL</tt> Argumente

install_title=Installiere Modul
install_untar=Entpacke Moduldateien
install_make=Kompiliere Modul
install_test=Teste Modul
install_install=Installiere Modul
install_loop=M&ouml;gliche Endlosschleife in der Modulausgabe!
install_done_0=Kompilierung von $1 erfolgreich.
install_done_1=Kompilierung und Test von $1 erfolgreich.
install_done_2=Kompilierung und Installation von $1 erfolgreich.
install_done_3=Kompilierung, Test und Installation von $1 erfolgreich.
install_err=Installation von $1 fehlgeschlagen. &Uuml;berpr&uuml;fen Sie die obigen Ausgaben und versuchen Sie, das Modul manuell zu installieren.
install_err2=Sie k&ouml;nnen das Modul von CPAN auch installieren mit dem Befehl $1
install_exec=Starte $1 ..
install_efile=Modul $1 ist nicht mehr vorhanden

cpan_sel=Module unter $1 ...
cpan_title=W&auml;hlen Sie das Perl-Modul
cpan_search=Finde Modul(e) namens
cpan_match=passende(s) Modul(e) $1 ...
cpan_none=Keine &Uuml;bereinstimmung gefunden.

edit_title=Modul-Details
edit_header=Modulinformation
edit_mod=Modulname
edit_version=Modulversion
edit_desc=Beschreibung
edit_date=Installiert am
edit_header2=Moduldokumentation
edit_file=Moduldatei
edit_files=Programme   07070100002ff5000081a40000000000000002000000013d1fe2de00000a6e000000200000000000000000000000000000001300000003reloc/cpan/lang/en    index_title=Perl Modules
index_name=Module
index_sub=Submodules
index_version=Version
index_desc=Description
index_date=Installed on
index_installmsg=Select a new Perl module to compile and install on your system.
index_cpan=From CPAN, named
index_refresh=Refresh module list from CPAN
index_local=From local file
index_uploaded=From uploaded file
index_ftp=From ftp or http URL
index_installok=Install
index_return=modules list
index_pversion=Perl version $1

download_err=Failed to install module
download_elocal=No local file given
download_elocal2='$1' does not exist
download_eupload=Your browser does not support file uploads
download_eurl=Incomprehensible URL '$1'
download_edir=Not a valid $1 directory
download_etar=Failed to extract tar file : $1
download_emod=Not a valid Perl module
download_title=Install Module
download_header=Perl module install options
download_mod=Module name
download_ver=Version
download_act=Install action
download_src=Source
download_m=Make only
download_mt=Make and test
download_mi=Make and install
download_mti=Make, test and install
download_cont=Continue with install
download_epackages=Invalid CPAN modules URL
download_ecpan=Module $1 was not found in the CPAN modules list
download_args=<tt>Makefile.PL</tt> arguments

install_title=Install Module
install_untar=Untarring module file
install_make=Compiling module
install_test=Testing module
install_install=Installing module
install_loop=Possible endless loop in output detected!
install_done_0=Make of $1 successful.
install_done_1=Make and test of $1 successful.
install_done_2=Make and install of $1 successful.
install_done_3=Make, test and install of $1 successful.
install_err=Installation of $1 failed. Check the output above and try installing manually.
install_err2=You can also install the module from CPAN with the command $1
install_exec=Executing $1 ..
install_efile=Module file $1 no longer exists

cpan_sel=Modules under $1 ..
cpan_title=Select Perl module
cpan_search=Find modules named
cpan_match=Modules matching $1 ..
cpan_none=No matches found.

edit_title=Module Details
edit_header=Module information
edit_mod=Module name
edit_desc=Description
edit_date=Installed on
edit_subs=Submodules
edit_header2=Module documentation
edit_file=Module file
edit_none=None available
edit_return=module details
edit_uninstall=Uninstall module and submodules

uninstall_title=Uninstall Module
uninstall_rusure=Are you sure you want to uninstall the Perl module $1 ? The following files will be deleted :
uninstall_rusure2=Are you sure you want to uninstall the Perl module $1 and submodule(s) $2 ?<br>The following files will be deleted :
uninstall_ok=Uninstall now

  07070100002ff6000081a40000000000000002000000013d1fe2de000008ea000000200000000000000000000000000000001300000003reloc/cpan/lang/es    index_title=Módulos de Perl
index_name=Módulo
index_version=Versión
index_desc=Descripción
index_date=Instalado en
index_installmsg=Selecciona un nuevo módulo de Perl a compilar e instalar en tu sistema.
index_cpan=Desde CPAN, llamado
index_refresh=Refrescar lista de módulos desde CPAN
index_local=Desde archivo local
index_uploaded=Desde archivo cargado
index_ftp=Desde ftp o URL http
index_installok=Instalar
index_return=lista de módulos

download_err=No pude instalar módulo
download_elocal=No se ha digitado archivo local
download_elocal2='$1' no existe
download_eupload=Tu navegador no soporta cargas de archivo
download_eurl=Incomprensible URL '$1'
download_edir=$1 no es un directorio válido
download_etar=No pude extraer archivo tar: $1
download_emod=No es un módulo de Perl válido
download_title=Instalar Módulo
download_header=Opciones de instalación de módulo de Perl
download_mod=Nombre de Módulo
download_ver=Versión
download_act=Acción de instalación
download_src=Fuente
download_m=Sólo fabricar
download_mt=Fabricar y probar
download_mi=Fabricar e instalar
download_mti=Fabricar, probar e instalar
download_cont=Continuar con la instalación
download_epackages=URL de módulos CPAN inválida
download_ecpan=El módulo $1 no se encontró en la lista de módulos CPAN
download_args=Argumentos de <tt>Makefile.PL</tt>

install_title=Instalar Módulo
install_untar=Extrayendo por tar archivo de módulo
install_make=Compilando módulo
install_test=Probando máodulo
install_install=Instalando módulo
install_loop=¡Detectado posible bucle sin fin en la salida!
install_done_0=Fabricación de $1 con éxito.
install_done_1=Fabricación y prueba de $1 con éxito.
install_done_2=Fabricación e instalación de $1 con éxito.
install_done_3=Fabricación, prueba e instalación de $1 con éxito.
install_err=Falló la instalación de $1. Revisa la salida superior e intenta instalar manuálmente.
install_exec=Ejecutando $1...
install_efile=El archivo de módulo $1 ya no existe

cpan_sel=Módulos bajo $1...
cpan_title=Selecciona módulo de Perl

edit_title=Detalles de Módulo
edit_header=Información de Módulo
edit_mod=Nombre de módulo
edit_version=Versión de módulo
edit_desc=Descripción
edit_date=Instalado en
edit_header2=Documentación de Módulo
edit_file=Archivo de módulo
edit_files=Programas
  07070100002ff7000081a40000000000000002000000013d1fe2de00000942000000200000000000000000000000000000001300000003reloc/cpan/lang/fr    index_title=Modules Perl
index_name=Module
index_version=Version
index_desc=Description
index_date=Installé le
index_installmsg=Sélectionner un nouveau module Perl à compiler et installer sur votre système.
index_cpan=Provenant du CPAN, ayant pour nom
index_refresh=Actualiser la liste des modules du CPAN
index_local=Provenant d'un fichier local
index_uploaded=Provenant d'un fichier téléchargé
index_ftp=Provenant d'une URL ftp ou http
index_installok=Installation
index_return=Liste des modules

download_err=Échec de l'installation du module
download_elocal=Aucun fichier local fourni.
download_elocal2='$1' n'existe pas
download_eupload=Votre navigateur ne prend pas en compte le téléchargement de fichier
download_eurl=URL '$1' incompréhensible
download_edir=Répertoire $1 invalide
download_etar=Échec de l'extraction du fichier tar : $1
download_emod=Module Perl invalide
download_title=Installer le module
download_header=Options d'installation du module Perl
download_mod=Nom du module
download_ver=Version
download_act=Installation effective
download_src=Source
download_m=Make seul
download_mt=Make et test
download_mi=Make et installation
download_mti=Make, test et installation
download_cont=Continuer l'installation
download_epackages=URL des modules du CPAN invalide
download_ecpan=Le module $1 ne figure pas dans la liste des modules du CPAN
download_args=arguments de <tt>Makefile.PL</tt>

install_title=Installer le module
install_untar=Désarchivage du module
install_make=Compilation du module
install_test=Test du module
install_install=Installation du module
install_loop=Détection d'une possible boucle infinie en sortie !
install_done_0=Succès du make de $1.
install_done_1=Succès du make et du test de $1.
install_done_2=Succès du make et de l'installation de $1.
install_done_3=Succès du make, du test et de l'installation de $1.
install_err=Échec de l'installation de $1. Lisez ce qui est affiché ci-dessus et essayez de l'installer manuellement.
install_exec=Exécution de $1 ..
install_efile=Le module $1 n'existe plus

cpan_sel=Module dans $1 ..
cpan_title=Selectionner le module Perl

edit_title=Précisions sur le module
edit_header=Informations concernant le module
edit_mod=Nom du module
edit_version=Version du module
edit_desc=Description
edit_date=Installé le
edit_header2=Documentation du Module
edit_file=Module
edit_files=Programmes
  07070100002ff8000081a40000000000000002000000013d1fe2de00000948000000200000000000000000000000000000001300000003reloc/cpan/lang/hu    # webmin-0.90cpan/lang/hu
# translated by Gabor Keve <gabor.keve@it-worx.hu>
#
index_title=Perl Modulok
index_name=Modulok
index_version=Verzió
index_desc=Meghatározás
index_date=Telepítve a következõ idõpontban
index_installmsg=Válasszon ki egy új Perl modult, amit szeretne lefordítani és telepíteni a rendszerbe.
index_cpan=A CPAN -ról, névszerint
index_refresh=Modul lista frissítése CPAN-ról
index_local=Helyi file -ból
index_uploaded=Feltöltött file -ból
index_ftp=Ftp vagy http URL-bõl
index_installok=Telepítése
index_return=modul lista

download_err=Nem lehet telepíteni a modult
download_elocal=Nem lett helyi file megadva
download_elocal2=A(z) '$1' nem létezik
download_eupload=Az Ön böngészõje nem támogatja a feltöltést
download_eurl=Elérhetettlen URL '$1'
download_edir=A(z) $1 nem valós könyvtár
download_etar=Nem lehet a(z) tar file kitömöríteni
download_emod=Nem valós Perl modul
download_title=Modul telepítése
download_header=Perl modul telepítési beállítások
download_mod=Modul neve
download_ver=Verziója
download_act=Telepítési tevékenység
download_src=Forrás
download_m=Csak elõállítás
download_mt=Elõállítás és tesztelés
download_mi=Elõállítás  és telepítés
download_mti=Elõállítás , tesztelés és telepítés
download_cont=A telepítés folytatása
download_epackages=Érvénytelen CPAN modul URL
download_ecpan=A $1 modult nem találom a CPAN modulok listájában
download_args=<tt>Makefile.PL</tt> paraméterei

install_title=Modul telepítése
install_untar=Untar futtatása a  modul file-on
install_make=A modul lefordítésa
install_test=A modul tesztelése
install_install=A modul TELEPÍTÉSE
install_loop=Talán végtelen ciklust észleltem a kimeneten!
install_done_0=A(z) $1 elõállítás sikeres.
install_done_1=A(z) $1 elõállítása és tesztelése sikeres.
install_done_2=A(z) $1 elõállítása és telepítése sikeres.
install_done_3=A(z) $1 elõállítása, tesztelése és telepítése sikeres.
install_err=A(z) $1 telepítése sikertelen. Ellenõrizze a kimenetet, és próbálja kézileg felinstallálni.
install_exec=Futtatom a(z) $1 ..
install_efile=A(z) $1 module file már nem létezik

cpan_sel=Modulok a(z) $1 alatt..
cpan_title=Válassza ki a Perl modult

edit_title=Modul részletezése
edit_header=Modul információk
edit_mod=Modul neve
edit_version=Modul verziója
edit_desc=Meghatározás
edit_date=Telepítve
edit_header2=Modul dokumentáció
edit_file=Modul file
edit_files=Programok
07070100002ff9000081a40000000000000002000000013d1fe2de00000934000000200000000000000000000000000000001a00000003reloc/cpan/lang/ja_JP.euc index_title=Perl ¥â¥¸¥å¡¼¥ë
index_name=¥â¥¸¥å¡¼¥ë
index_version=¥Ð¡¼¥¸¥ç¥ó
index_desc=ÀâÌÀ
index_date=¥¤¥ó¥¹¥È¡¼¥ëÆü»þ
index_installmsg=¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¿·µ¬¤Î Perl ¥â¥¸¥å¡¼¥ë¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
index_cpan=CPAN ¤«¤é¡¢Ì¾Á°ÉÕ¤­
index_refresh=CPAN ¤«¤é¤Î¹¹¿·¥â¥¸¥å¡¼¥ë ¥ê¥¹¥È
index_local=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤«¤é
index_uploaded=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é
index_ftp=FTP ¤Þ¤¿¤Ïhttp URL ¤«¤é
index_installok=¥¤¥ó¥¹¥È¡¼¥ë
index_return=¥â¥¸¥å¡¼¥ë ¥ê¥¹¥È

download_err=¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
download_elocal=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
download_elocal2='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
download_eupload=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
download_eurl=URL '$1' ¤òÍý²ò¤Ç¤­¤Þ¤»¤ó
download_edir=$1 ¥Ç¥£¥ì¥¯¥È¥ê¤ÏÌµ¸ú¤Ç¤¹
download_etar=tar ¥Õ¥¡¥¤¥ë¤òÃê½Ð¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
download_emod=Perl ¥â¥¸¥å¡¼¥ë¤¬Ìµ¸ú¤Ç¤¹
download_title=¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë
download_header=Perl ¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë ¥ª¥×¥·¥ç¥ó
download_mod=¥â¥¸¥å¡¼¥ëÌ¾
download_ver=¥Ð¡¼¥¸¥ç¥ó
download_act=¥¤¥ó¥¹¥È¡¼¥ë ¥¢¥¯¥·¥ç¥ó
download_src=¥½¡¼¥¹
download_m=make ¤Î¤ß
download_mt=make ¤·¤Æ¥Æ¥¹¥È
download_mi=make ¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë
download_mti=make¡¢¥Æ¥¹¥È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë
download_cont=¥¤¥ó¥¹¥È¡¼¥ë¤òÂ³¹Ô
download_epackages=Ìµ¸ú¤Ê CPAN ¥â¥¸¥å¡¼¥ë URL
download_ecpan=CPAN ¥â¥¸¥å¡¼¥ë ¥ê¥¹¥È¤Ë¥â¥¸¥å¡¼¥ë $1 ¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
download_args=<tt>Makefile.PL</tt> °ú¿ô

install_title=¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë
install_untar=¥â¥¸¥å¡¼¥ë ¥Õ¥¡¥¤¥ë¤ò untar ¤¹¤ë
install_make=¥â¥¸¥å¡¼¥ë¤ò¥³¥ó¥Ñ¥¤¥ëÃæ
install_test=¥â¥¸¥å¡¼¥ë¤ò¥Æ¥¹¥ÈÃæ
install_install=¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ëÃæ
install_loop=½ÐÎÏ¤Ë±Êµ×¥ë¡¼¥×¤¬¤¢¤ë²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
install_done_0=$1 ¤Î make ¤ò´°Î»¤·¤Þ¤·¤¿¡£
install_done_1=$1 ¤Î make ¤È¥Æ¥¹¥È¤ò´°Î»¤·¤Þ¤·¤¿¡£
install_done_2=$1 ¤Î make ¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿¡£
install_done_3=$1 ¤Îmake¡¢¥Æ¥¹¥È¤È¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿¡£
install_err=$1 ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¾å¤Î½ÐÎÏ¤òÄ´¤Ù¤Æ¼êÆ°¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤ò»î¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
install_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
install_efile=¥â¥¸¥å¡¼¥ë ¥Õ¥¡¥¤¥ë $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤»¤ó

cpan_sel=$1 ¤Î²¼¤Ë¤¢¤ë¥â¥¸¥å¡¼¥ë..
cpan_title=Perl ¥â¥¸¥å¡¼¥ë¤ÎÁªÂò

edit_title=¥â¥¸¥å¡¼¥ë¤Î¾ÜºÙ
edit_header=¥â¥¸¥å¡¼¥ë¾ðÊó
edit_mod=¥â¥¸¥å¡¼¥ëÌ¾
edit_version=¥â¥¸¥å¡¼¥ë ¥Ð¡¼¥¸¥ç¥ó
edit_desc=ÀâÌÀ
edit_date=¥¤¥ó¥¹¥È¡¼¥ëÆü»þ
edit_header2=¥â¥¸¥å¡¼¥ë¤Î¥Þ¥Ë¥å¥¢¥ë
edit_file=¥â¥¸¥å¡¼¥ë ¥Õ¥¡¥¤¥ë
edit_files=¥×¥í¥°¥é¥à
07070100002ffa000081a40000000000000002000000013d1fe2de000007da000000200000000000000000000000000000001a00000003reloc/cpan/lang/ko_KR.euc index_title=Perl ¸ðµâ
index_name=¸ðµâ
index_version=¹öÀü
index_desc=¼³¸í
index_date=¼³Ä¡µÈ ½Ã½ºÅÛ
index_installmsg=ÄÄÆÄÀÏÇÏ¿© ½Ã½ºÅÛ¿¡ ¼³Ä¡ÇÒ »õ Perl ¸ðµâÀ» ¼±ÅÃÇÏ½Ê½Ã¿À.
index_cpan=CPANÀ¸·ÎºÎÅÍ(¸í¸íµÊ)
index_refresh=CPANÀ¸·ÎºÎÅÍ ¸ðµâ ¸ñ·Ï »õ·Î °íÄ§
index_local=·ÎÄÃ ÆÄÀÏ·ÎºÎÅÍ
index_uploaded=¾÷·ÎµåµÈ ÆÄÀÏ·ÎºÎÅÍ
index_ftp=ftp ¶Ç´Â http URL·ÎºÎÅÍ
index_installok=¼³Ä¡
index_return=¸ðµâ ¸ñ·Ï

download_err=¸ðµâÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
download_elocal=·ÎÄÃ ÆÄÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù
download_elocal2='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
download_eupload=ºê¶ó¿ìÀú¿¡¼­ ÆÄÀÏ ¾÷·Îµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
download_eurl=ÀÎ½ÄÇÒ ¼ö ¾ø´Â URL '$1'
download_edir=À¯È¿ÇÑ $1 µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
download_etar=tar ÆÄÀÏÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
download_emod=À¯È¿ÇÑ Perl ¸ðµâÀÌ ¾Æ´Õ´Ï´Ù
download_title=¸ðµâ ¼³Ä¡
download_header=Perl ¸ðµâ ¼³Ä¡ ¿É¼Ç
download_mod=¸ðµâ ÀÌ¸§
download_ver=¹öÀü
download_act=¼³Ä¡ µ¿ÀÛ
download_src=¼Ò½º
download_m=ÀÛ¼º¸¸
download_mt=ÀÛ¼º ¹× Å×½ºÆ®
download_mi=ÀÛ¼º ¹× ¼³Ä¡
download_mti=ÀÛ¼º, Å×½ºÆ®, ¼³Ä¡
download_cont=¼³Ä¡ °è¼Ó
download_epackages=Àß¸øµÈ CPAN ¸ðµâ URL
download_ecpan=¸ðµâ $1ÀÌ(°¡) CPAN ¸ðµâ ¸ñ·Ï¿¡ ¾ø½À´Ï´Ù
download_args=<tt>Makefile.PL</tt> ÀÎ¼ö

install_title=¸ðµâ ¼³Ä¡
install_untar=¸ðµâ ÆÄÀÏ(tar)À» Çª´Â Áß
install_make=¸ðµâ ÄÄÆÄÀÏ Áß
install_test=¸ðµâ Å×½ºÆ® Áß
install_install=¸ðµâ ¼³Ä¡ Áß
install_loop=Ãâ·Â¿¡ ¹«ÇÑ ·çÇÁ°¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù!
install_done_0=$1À»(¸¦) ¼º°øÀûÀ¸·Î ÀÛ¼ºÇß½À´Ï´Ù.
install_done_1=$1À»(¸¦) ¼º°øÀûÀ¸·Î ÀÛ¼º ¹× Å×½ºÆ®Çß½À´Ï´Ù.
install_done_2=$1À»(¸¦) ¼º°øÀûÀ¸·Î ÀÛ¼º ¹× ¼³Ä¡Çß½À´Ï´Ù.
install_done_3=$1À»(¸¦) ¼º°øÀûÀ¸·Î ÀÛ¼º, Å×½ºÆ® ¹× ¼³Ä¡Çß½À´Ï´Ù.
install_err=$1À»(¸¦) ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù. À§ÀÇ Ãâ·ÂÀ» °Ë»çÇÑ ÈÄ ¼öµ¿À¸·Î ¼³Ä¡ÇØ º¸½Ê½Ã¿À.
install_exec=$1 ½ÇÇà Áß..
install_efile=¸ðµâ ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.

cpan_sel=$1 ¾Æ·¡ÀÇ ¸ðµâ..
cpan_title=Perl ¸ðµâ ¼±ÅÃ

edit_title=¸ðµâ ¼¼ºÎ Á¤º¸
edit_header=¸ðµâ Á¤º¸
edit_mod=¸ðµâ ÀÌ¸§
edit_version=¸ðµâ ¹öÀü
edit_desc=¼³¸í
edit_date=¼³Ä¡ÇÑ ³¯Â¥
edit_header2=¸ðµâ ¹®¼­
edit_file=¸ðµâ ÆÄÀÏ
edit_files=ÇÁ·Î±×·¥
  07070100002ffb000081a40000000000000002000000013d1fe2de000008f2000000200000000000000000000000000000001300000003reloc/cpan/lang/nl    index_title=Perl Modules
index_name=Module
index_version=Versie
index_desc=Omschrijving
index_date=Geinstalleerd op
index_installmsg=Selecteer een nieuwe Perl module om te compileren en installeren op uw systeem.
index_cpan=Van CPAN, genaamd
index_refresh=Vernieuw module lijst van CPAN
index_local=Van een lokaal bestand
index_uploaded=Van een geupload bestand
index_ftp=Van ftp of http URL
index_installok=Installeren
index_return=modules lijst

download_err=Fout bij he installeren van de module
download_elocal=Geen lokaal bestand opgegeven
download_elocal2='$1' bestaat niet
download_eupload=Uw browser ondersteund geen bestands uploads
download_eurl=Onbegrijpbare URL '$1'
download_edir=Geen geldige $1 directory
download_etar=Fout bij het uiitpakken van tar bestand : $1
download_emod=Geen geldige Perl module
download_title=Installeer Module
download_header=Perl module installatie opties
download_mod=Module naam
download_ver=Versie
download_act=Installatie actie
download_src=Bron
download_m=Alleen compileren
download_mt=Compileren en testen
download_mi=Compileren en installeren
download_mti=Compileren, testen en installeren
download_cont=Ga verder met installatie
download_epackages=Ongeldige CPAN modules URL
download_ecpan=Module $1 werd nit gevonden in de CPAN modules lijst
download_args=<tt>Makefile.PL</tt> argumenten

install_title=Installeer Module
install_untar=Untarren module bestand
install_make=Compileren module
install_test=Testen module
install_install=Installeren module
install_loop=Mogelijke eindeloze lus in uitvoer ontdekt!
install_done_0=Compilatie van $1 succesvul.
install_done_1=Compilatie en testen van of $1 succesvol.
install_done_2=Compilatie en installatie van $1 succesvol.
install_done_3=Compilatie, testen en installatie van $1 succesvol.
install_err=Installatie van $1 mislukt. Controleer de bovenstaande uitvoer en probeer de module handmatig te installeren.
install_exec=Uitvoeren van $1 ..
install_efile=Module bestand $1 bestaat niet meer

cpan_sel=Modules onder $1 ..
cpan_title=Selecteer Perl module

edit_title=Module Details
edit_header=Module informatie
edit_mod=Module naam
edit_version=Module versie
edit_desc=Omschrijving
edit_date=Geinstalleerd op
edit_header2=Module documentatie
edit_file=Module bestand
edit_files=Programma's
  07070100002ffd000081a40000000000000002000000013d1fe2de00000951000000200000000000000000000000000000001300000003reloc/cpan/lang/pl    index_title=Modu³y Perla
index_name=Modu³
index_version=Wersja
index_desc=Opis
index_date=Zainstalowany
index_installmsg=Wybierz nowy modu³ Perla do zainstalowania w&nbsp;Twoim systemie.
index_cpan=Z&nbsp;CPAN o&nbsp;nazwie
index_refresh=Od¶wierz listê modu³ów z&nbsp;CPAN
index_local=Z&nbsp;pliku lokalnego
index_uploaded=Z&nbsp;pliku przes³anego
index_ftp=Z&nbsp;URL-a ftp lub http
index_installok=Zainstaluj
index_return=listy modu³ów

download_err=Nie uda³o sie zainstalowaæ modu³u
download_elocal=Nie podano pliku lokalnego
download_elocal2='$1' nie istnieje
download_eupload=Twoja przegl±darka nie obs³uguje przesy³nia plików
download_eurl=Niezrozumia³y URL '$1'
download_edir=Nieprawid³owy katalog $1
download_etar=Nie uda³o siê roz³o¿yæ pliku tar&nbsp;: $1
download_emod=Nieprawid³owy modu³ Perla
download_title=Zainstaluj modu³
download_header=Opcje instalacji modu³u Perla
download_mod=Nazwa modu³u
download_ver=Wersja
download_act=Dzia³anie instalacyjne
download_src=¬ród³o
download_m=Jedynie <tt>make</tt>
download_mt=<tt>Make</tt> i&nbsp;testowanie
download_mi=<tt>Make</tt> i&nbsp;instalacja
download_mti=<tt>Make</tt>, testowanie i&nbsp;instalacja
download_cont=Kontynuuj instalacjê
download_epackages=Nieprawid³owy URL modu³ów CPAN
download_ecpan=Nie znaleziono modu³u $1 na li¶cie modu³ów CPAN
download_args=Parametry dla <tt>Makefile.PL</tt>

install_title=Zainstaluj modu³
install_untar=Roz³o¿enie pliku tar modu³u
install_make=Kompilacja modu³u
install_test=Testowanie modu³u
install_install=Instalacja modu³u
install_loop=Prawdopodobnie wykryto nieskoñczon± pêtlê w&nbsp;danych wyj¶ciowych!
install_done_0=Wykonanie <tt>make</tt> dla $1 powiod³o siê.
install_done_1=Wykonanie <tt>make</tt> i&nbsp;testowanie $1 powiod³y siê.
install_done_2=Wykonanie <tt>make</tt> i&nbsp;instalacja $1 powiod³y siê.
install_done_3=Wykonanie <tt>make</tt>, testowanie i&nbsp;instalacja $1 powiod³y siê.
install_err=Instalacja $1 nie powiod³a siê. Sprawd¼ powy¿sze dane wyj¶ciowe i&nbsp;spróbuj zainstalowaæ rêcznie.
install_exec=Uruchamianie $1 ..
install_efile=Plik modu³u $1 ju¿ nie istnieje

cpan_sel=Modu³y w&nbsp;$1 ..
cpan_title=Wybierz modu³ Perla

edit_title=Dane modu³u
edit_header=Informacje o&nbsp;module
edit_mod=Nazwa modu³u
edit_version=Wersja modu³u
edit_desc=Opis
edit_date=Zainstalowany
edit_header2=Dokumentacja do modu³u
edit_file=Plik modu³u
edit_files=Programy
   07070100002fff000081a40000000000000002000000013d1fe2de0000037a000000200000000000000000000000000000001600000003reloc/cpan/lang/ru_RU edit_header2=Äîêóìåíòàöèÿ î ìîäóëå
edit_date=Óñòàíîâëåí
cpan_title=Âûáåðèòå ìîäóëü Perl
edit_desc=Îïèñàíèå
edit_file=Ôàéë ìîäóëÿ
edit_mod=Èìÿ ìîäóëÿ
cpan_sel=Ìîäóëè â $1 ..
edit_title=Èíôîðìàöèÿ î ìîäóëå
edit_version=Âåðñèÿ ìîäóëÿ
install_done_0=Êîìàíäà Make äëÿ ìîäóëÿ $1 - âûïîëíåíî.
install_done_1=Êîìàíäû Make è test äëÿ ìîäóëÿ  $1 - âûïîëíåíî.
install_install=Óñòàíîâêà ìîäóëÿ
install_done_2=Êîìàíäû Make è install äëÿ ìîäóëÿ  $1 - âûïîëíåíî.
edit_header=Èíôîðìàöèÿ î ìîäóëå
install_done_3=Êîìàíäû Make,  test è install äëÿ ìîäóëÿ  $1 - âûïîëíåíî.
install_loop=Âîçìîæíî âîçíèêíîâåíèå áåñêîíå÷íîãî öèêëà ïðè âûâîäå ðåçóëüòàòà!
install_make=Êîìïèëÿöèÿ ìîäóëÿ
install_test=Òåñòèðîâàíèå ìîäóëÿ
edit_files=Ïðîãðàììû
install_exec=Âûïîëíÿåòñÿ $1 ..
install_efile=Ôàéë ìîäóëÿ $1 áîëüøå íå ñóùåñòâóåò
install_err=Îøèáêà óñòàíîâêè $1. Ïðîâåðüòå ñîîáùåíèÿ ìîäóëÿ è ïîïðîáóéòå óñòàíîâèòü âðó÷íóþ.
  07070100003005000081a40000000000000002000000013d1fe2de0000037b000000200000000000000000000000000000001600000003reloc/cpan/lang/ru_SU install_make=ëÏÍÐÉÌÑÃÉÑ ÍÏÄÕÌÑ
install_test=ôÅÓÔÉÒÏ×ÁÎÉÅ ÍÏÄÕÌÑ
install_install=õÓÔÁÎÏ×ËÁ ÍÏÄÕÌÑ
install_loop=÷ÏÚÍÏÖÎÏ ×ÏÚÎÉËÎÏ×ÅÎÉÅ ÂÅÓËÏÎÅÞÎÏÇÏ ÃÉËÌÁ ÐÒÉ ×Ù×ÏÄÅ ÒÅÚÕÌØÔÁÔÁ!
install_done_0=ëÏÍÁÎÄÁ Make ÄÌÑ ÍÏÄÕÌÑ $1 - ×ÙÐÏÌÎÅÎÏ.
install_done_1=ëÏÍÁÎÄÙ Make É test ÄÌÑ ÍÏÄÕÌÑ  $1 - ×ÙÐÏÌÎÅÎÏ.
install_done_2=ëÏÍÁÎÄÙ Make É install ÄÌÑ ÍÏÄÕÌÑ  $1 - ×ÙÐÏÌÎÅÎÏ.
install_done_3=ëÏÍÁÎÄÙ Make,  test É install ÄÌÑ ÍÏÄÕÌÑ  $1 - ×ÙÐÏÌÎÅÎÏ.
install_err=ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ $1. ðÒÏ×ÅÒØÔÅ ÓÏÏÂÝÅÎÉÑ ÍÏÄÕÌÑ É ÐÏÐÒÏÂÕÊÔÅ ÕÓÔÁÎÏ×ÉÔØ ×ÒÕÞÎÕÀ.
install_exec=÷ÙÐÏÌÎÑÅÔÓÑ $1 ..
install_efile=æÁÊÌ ÍÏÄÕÌÑ $1 ÂÏÌØÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

cpan_sel=íÏÄÕÌÉ × $1 ..
cpan_title=÷ÙÂÅÒÉÔÅ ÍÏÄÕÌØ Perl

edit_title=éÎÆÏÒÍÁÃÉÑ Ï ÍÏÄÕÌÅ
edit_header=éÎÆÏÒÍÁÃÉÑ Ï ÍÏÄÕÌÅ
edit_mod=éÍÑ ÍÏÄÕÌÑ
edit_version=÷ÅÒÓÉÑ ÍÏÄÕÌÑ
edit_desc=ïÐÉÓÁÎÉÅ
edit_date=õÓÔÁÎÏ×ÌÅÎ
edit_header2=äÏËÕÍÅÎÔÁÃÉÑ Ï ÍÏÄÕÌÅ
edit_file=æÁÊÌ ÍÏÄÕÌÑ
edit_files=ðÒÏÇÒÁÍÍÙ 07070100003006000081a40000000000000002000000013d1fe2de000008b0000000200000000000000000000000000000001300000003reloc/cpan/lang/sv    index_title=Perl-moduler
index_name=Modul
index_version=Version
index_desc=Beskrivning
index_date=Installerad på
index_installmsg=Ange en ny Perl-modul som ska kompileras och installeras på ditt system.
index_cpan=Från CPAN, namn
index_refresh=Läs modullistan från CPAN igen
index_local=Från lokal fil
index_uploaded=Från nedladdad fil
index_ftp=Från ftp- eller http-URL
index_installok=Installera
index_return=modullista

download_err=Det gick inte att installera modulen
download_elocal=Du har inte angivit någon lokal fil
download_elocal2='$1' finns inte
download_eupload=Din webbläsare stöder inte filnedladdning
download_eurl=URL:en '$1' är obegriplig
download_edir=Det är inte en giltig $1-katalog
download_etar=Det gick inte att packa upp tar-filen: $1
download_emod=Det är inte en giltig Perl-modul
download_title=Installera modul
download_header=Inställningar för installation av Perl-modul
download_mod=Modulnamn
download_ver=Version
download_act=Installationsåtgärd
download_src=Källkod
download_m=Kör endast make
download_mt=Kör make och testa
download_mi=Kör make och installera
download_mti=Kör make, testa och installera
download_cont=Fortsätt att installera
download_epackages=Ogiltig URL till CPAN-moduler
download_ecpan=Modulen $1 finns inte i CPAN-modullistan
download_args=Argument till <tt>Makefile.PL</tt>

install_title=Installera modulen
install_untar=Packar upp modulfilerna
install_make=Kompilerar modulen
install_test=Testar modulen
install_install=Installerar modulen
install_loop=Jag har hittat en möjlig oändlig loop i utdata!
install_done_0=Make $1 lyckades.
install_done_1=Make och testning av $1 lyckades.
install_done_2=Make och installation av $1 lyckades.
install_done_3=Make, testning och installation av $1 lyckades.
install_err=Det gick inte att installera $1. Läs vad som står ovan och försöka tt installera manuellt istället.
install_exec=Utför $1 ...
install_efile=Modulfilen $1 finns inte längre

cpan_sel=Moduler under $1 ...
cpan_title=Ange Perl-modul

edit_title=Modulinformation
edit_header=Modulinformation
edit_mod=Modulnamn
edit_version=Modulversion
edit_desc=Beskrivning
edit_date=Installerad på
edit_header2=Dokumentation för modulen
edit_file=Modulfil
edit_files=Program
07070100003007000081a40000000000000002000000013d1fe2de00000628000000200000000000000000000000000000001600000003reloc/cpan/lang/zh_CN index_title=PerlÄ£¿é
index_name=Ä£¿é
index_version=°æ±¾
index_desc=ÃèÊö
index_date=°²×°ÈÕÆÚ
index_installmsg=Ñ¡ÔñÒ»¸öÐÂµÄPerlÄ£¿é±àÒë°²×°µ½ÏµÍ³ÉÏ
index_cpan=À´×ÔCPAN£¬ÃüÃûÎª
index_refresh=Ë¢ÐÂCPANÄ£¿éÁÐ±í
index_local=À´×Ô±¾µØÎÄ¼þ
index_uploaded=À´×ÔÉÏÔØÎÄ¼þ
index_ftp=À´×Ôftp»òÕßhttp URL
index_installok=°²×°
index_return=Ä£¿éÁÐ±í
download_err=Ä£¿é°²×°Ê§°Ü
download_elocal=Ã»ÓÐ¸ø³ö±¾µØÎÄ¼þ
download_elocal2='$1'²»´æÔÚ
download_eupload=ÄúµÄä¯ÀÀÆ÷²»Ö§³ÖÎÄ¼þÉÏÔØ
download_eurl=URL'$1'²»¿ÉÀí½â
download_edir=$1²»ÊÇÓÐÐ§µÄÄ¿Â¼
download_etar=²»ÄÜ½â¿ªÑ¹ËõÎÄ¼þ$1
download_emod=ÎÞÐ§µÄ Perl Ä£¿é
download_title=°²×°Ä£¿é
download_header=Perl Ä£¿é°²×°Ñ¡Ïî
download_mod=Ä£¿éÃû
download_ver=°æ±¾
download_act=°²×°ÐÐ¶¯
download_src=Ô´
download_m=½ö±àÒë
download_mt=±àÒë²¢²âÊÔ
download_mi=±àÒë²¢°²×°
download_mti=±àÒë¡¢²âÊÔ²¢°²×°
download_cont=¼ÌÐø°²×°
download_epackages=ÎÞÐ§µÄ CPAN Ä£¿é URL
download_ecpan=Ä£¿é $1 Ã»ÓÐÔÚ CPAN Ä£¿éÁÐ±íÖÐÕÒµ½
install_title=°²×°Ä£¿é
install_untar=½â¿ªÑ¹ËõµÄÄ£¿éÎÄ¼þ
install_make=±àÒëÄ£¿éÖÐ
install_test=²âÊÔÄ£¿éÖÐ
install_install=°²×°Ä£¿éÖÐ
install_loop=ÔÚÊä³öÖÐ·¢ÏÖ¿ÉÄÜµÄÎÞÏÞÑ­»·
install_done_0=±àÒë $1 ³É¹¦
install_done_1=±àÒë²¢²âÊÔ $1 ³É¹¦¡£
install_done_2=±àÒë²¢°²×° $1 ³É¹¦¡£
install_done_3=±àÒë¡¢²âÊÔ²¢°²×° $1 ³É¹¦¡£
install_err=°²×° $1 Ê§°Ü¡£¼ì²éÉÏÃæµÄÊä³ö£¬²¢³¢ÊÔÊÖ¹¤°²×°¡£
install_exec=Ö´ÐÐ $1..
install_efile=Ä£¿éÎÄ¼þ $1 ²»ÔÙ´æÔÚ
cpan_sel=Ä£¿éÔÚ $1 ÏÂ..
cpan_title=Ñ¡Ôñ Perl Ä£¿é
edit_title=Ä£¿éÏêÇé
edit_header=Ä£¿éÐÅÏ¢
edit_mod=Ä£¿éÃû
edit_version=Ä£¿é°æ±¾
edit_desc=ÃèÊö
edit_date=°²×°ÈÕÓÚ
edit_header2=Ä£¿éÎÄµµ
edit_file=Ä£¿éÎÄ¼þ
edit_files=³ÌÐò
07070100003008000081a40000000000000002000000013d1fe2df00000711000000200000000000000000000000000000001b00000003reloc/cpan/lang/zh_TW.Big5    index_title=Perl¼Ò²Õ
index_name=¼Ò²Õ
index_version=ª©¥»
index_desc=®M¥ó
index_date=¦w¸Ë®É¶¡
index_installmsg=¿ï¨ú¤@­Ó·sªºPerl¼Ò²Õ¡AµM«á½sÄ¶¦w¸Ë¦b±zªº¨t²Î¤W¡C
index_cpan=±q CPAN, ¦WºÙ¥s°µ
index_refresh=­«·s¾ã²zCPAN¼Ò²Õ²M³æ
index_local=±q¥»¦aÀÉ®×
index_uploaded=±q»·ºÝ¤W¶Ç
index_ftp=±q ftp ©Î http ºô§}
index_installok=¦w¸Ë
index_return=¼Ò²Õ²M³æ
index_version=Perlª©¥»] $1

download_err=¦w¸Ë¼Ò²Õ¥¢±Ñ
download_elocal=¨S¦³¿ï¾Ü¥»¦aÀÉ®×
download_elocal2=ÀÉ®×'$1' ¤£¦s¦b
download_eupload=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
download_eurl=µL®Äªººô§}] '$1'
download_edir=¥Ø¿ý $1¿ù»~
download_etar=¸Ñ¶}tarÀÉ¿ù»~ : $1
download_emod=¤£¬O­Ó¦³®ÄªºPerl¼Ò²Õ
download_title=¦w¸Ë¼Ò²Õ
download_header=Perl ¼Ò²Õ¦w¸Ë¿ï¶µ
download_mod=¼Ò²Õ¦WºÙ
download_ver=ª©¥»
download_act=¦w¸Ë°Ê§@
download_src=­ì©l½X
download_m=¥u¶i¦æMake
download_mt=½sÄ¶©M´ú¸Õ
download_mi=½sÄ¶©M¦w¸Ë
download_mti=½sÄ¶¡B´ú¸Õ©M¦w¸Ë
download_cont=Ä~Äò¦w¸Ë¦w¸Ë
download_epackages=¿ù»~ªº CPAN ¼Ò²Õºô§}
download_ecpan=¼Ò²Õ $1 ¨S¦³§ä¨ì CPAN ¼Ò²Õ²M³æ
download_args=<tt>Makefile.PL</tt> arguments

install_title=¦w¸Ë¼Ò²Õ
install_untar=¸Ñ¶}tarÀÉ¼Ò²Õ¤¤
install_make=½sÄ¶¼Ò²Õ¤¤
install_test=´ú¸Õ¼Ò²Õ¤¤
install_install=¦w¸Ë¼Ò²Õ¤¤
install_loop=¦b¿é¥XÅã¥Ü¤¤¥i¯à¥X²{µL­­´`Àô
install_done_0=½sÄ¶ÀÉ®× $1 ¦¨¥\
install_done_1=½sÄ¶©M´ú¸ÕÀÉ®× $1 ¦¨¥\
install_done_2=½sÄ¶©M¦w¸ËÀÉ®× $1 ¦¨¥\
install_done_3=½sÄ¶¡B´ú¸Õ©M¦w¸ËÀÉ®× $1 ¦¨¥\
install_err=¦w¸Ë $1 ¥¢±Ñ! ½ÐÀË¬d¿é¥X¸ê°T¨Ã¹Á¸Õ¤â°Ê¦w¸Ë
install_err2=±z¤]¥i¥H±qCPAN¥Î«ü¥O$1¨Ó¦w¸Ë¼Ò²Õ
install_exec=°õ¦æ $1 ..
install_efile=¼Ò²ÕÀÉ®× $1¨Ã¤£¦s¦b

cpan_sel=¼Ò²Õ¦b $1¤§¤U ..
cpan_title=¿ï¨úPerl ¼Ò²Õ
cpan_search=§ä´M¼Ò²Õ¦WºÙ¥s°µ
cpan_match=¼Ò²Õ²Å¦X $1 ..
cpan_none=¨S¦³²Å¦Xªº

edit_title=¼Ò²Õ¤º®e
edit_header=¼Ò²Õ¸ê°T
edit_mod=¼Ò²Õ¦WºÙ
edit_version=¼Ò²Õª©¥»
edit_desc=®M¥ó
edit_date=¦w¸Ë©ó
edit_header2=¼Ò²Õ¤å¥ó
edit_file=¼Ò²ÕÀÉ®×
edit_files=µ{¦¡

   070701000001ad000081a40000000000000002000000013d1fe2ea00000171000000200000000000000000000000000000001700000003reloc/cpan/module.info    desc_nl=Perl Modules
risk=high
desc_ru_SU=íÏÄÕÌÉ Perl
desc_ko_KR.euc=Perl ¸ðµâ
desc_zh_TW.Big5=Perl¼Ò²Õ
desc_pl=Modu³y Perla
desc_de=Perl-Module
name=CPAN
desc_zh_CN=Perl Ä£¿é
desc=Perl Modules
desc_es=Módulos de Perl
desc_sv=Perl-moduler
desc_ja_JP.euc=Perl ¥â¥¸¥å¡¼¥ë
depends=0.990
version=0.990
desc_hu=Perl Modulok
desc_ru_RU=Ìîäóëè Perl
desc_ca=Mòduls Perl (CPAN)
   070701000001ae000081e40000000000000002000000013d1fe2df00000446000000200000000000000000000000000000001900000003reloc/cpan/uninstall.cgi  #!/usr/local/bin/perl
# uninstall.cgi
# Uninstall a perl module group, after asking for confirmation 

require './cpan-lib.pl';
&ReadParse();
@mods = &list_perl_modules();
$mod = $mods[$in{'idx'}];

if ($in{'confirm'}) {
	# Go ahead and do it
	unlink(@{$mod->{'packlist'}});
	unlink($mod->{'packfile'});
	&redirect("");
	}
else {
	# Ask the user if he is sure
	&header($text{'uninstall_title'}, "");
	print "<hr>\n";

	print "<form action=uninstall.cgi>\n";
	print "<input type=hidden name=idx value='$in{'idx'}'>\n";
	local ($m, @sm) = @{$mod->{'mods'}};
	if (@sm) {
		print &text('uninstall_rusure2', "<tt>$m</tt>",
			    join(" , ", map { "<tt>$_</tt>" } @sm)),"\n";
		}
	else {
		print &text('uninstall_rusure', "<tt>$m</tt>"),"\n";
		}
	print "<pre>";
	foreach $f (@{$mod->{'packlist'}}, $mod->{'packfile'}) {
		print &html_escape($f),"\n";
		}
	print "</pre>\n";
	print "<center><input type=submit name=confirm ",
	      "value='$text{'uninstall_ok'}'></center></form>\n";

	print "<hr>\n";
	&footer("edit_mod.cgi?idx=$in{'idx'}", $text{'edit_return'},
		"", $text{'index_return'});
	}

  070701000047ee000041ed0000000000000001000000053d1ff9f900000000000000200000000000000000000000000000000b00000003reloc/cron    070701000047ef000081a40000000000000002000000013d1fe2b800000617000000200000000000000000000000000000001b00000003reloc/cron/acl_security.pl    
require 'cron-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the cron module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_users'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> $text{'acl_all'}<br>\n",
	$_[0]->{'mode'} == 0 ? "checked" : "";
printf "<input type=radio name=mode value=3 %s> $text{'acl_this'}<br>\n",
	$_[0]->{'mode'} == 3 ? "checked" : "";
printf "<input type=radio name=mode value=1 %s> $text{'acl_only'}\n",
	$_[0]->{'mode'} == 1 ? "checked" : "";
printf "<input name=userscan size=40 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 1 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscan", 1);
printf "<input type=radio name=mode value=2 %s> $text{'acl_except'}\n",
	$_[0]->{'mode'} == 2 ? "checked" : "";
printf "<input name=userscannot size=40 value='%s'> %s</td> </tr>\n",
	$_[0]->{'mode'} == 2 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscannot", 1);

print "<tr> <td><b>$text{'acl_control'}</b></td> <td>\n";
printf "<input type=radio name=allow value=1 %s> $text{'yes'}\n",
	$_[0]->{'allow'} ? "checked" : "";
printf "<input type=radio name=allow value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'allow'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the cron module
sub acl_security_save
{
$_[0]->{'mode'} = $in{'mode'};
$_[0]->{'users'} = $in{'mode'} == 0 || $in{'mode'} == 3 ? "" :
		   $in{'mode'} == 1 ? $in{'userscan'}
				    : $in{'userscannot'};
$_[0]->{'allow'} = $in{'allow'};
}

 070701000047f0000081a40000000000000002000000013d1fe2b800000115000000200000000000000000000000000000001600000003reloc/cron/config-aix cron_input=1
cron_deny_file=/var/adm/cron/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_delete_command=su USER -c crontab -r
cron_allow_file=/var/adm/cron/cron.allow
cron_get_command=su USER -c crontab -l
cron_edit_command=su USER -c crontab -e
cron_deny_all=0
vixie_cron=0
   070701000047f1000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000001f00000003reloc/cron/config-cobalt-linux    cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 070701000047f2000081a40000000000000002000000013d1fe2b80000014d000000200000000000000000000000000000001e00000003reloc/cron/config-corel-linux cron_input=1
cron_deny_file=/etc/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
vixie_cron=1
run_parts=run-parts --report
system_crontab=/etc/crontab
cronfiles_dir=/etc/cron.d
   070701000047f3000081a40000000000000002000000013d1fe2b800000106000000200000000000000000000000000000001f00000003reloc/cron/config-debian-linux    cron_input=1
cron_deny_file=/var/spool/cron/deny
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_allow_file=/var/spool/cron/allow
cron_get_command=crontab -u USER -l
vixie_cron=0
  070701000047f4000081a40000000000000002000000013d1fe2b800000150000000200000000000000000000000000000002300000003reloc/cron/config-debian-linux-2.1    cron_input=1
cron_deny_file=/var/spool/cron/deny
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_allow_file=/var/spool/cron/allow
cron_get_command=crontab -u USER -l
vixie_cron=1
system_crontab=/etc/crontab
cronfiles_dir=/etc/cron.d
run_parts=run-parts
070701000047f5000081a40000000000000002000000013d1fe2b800000150000000200000000000000000000000000000002300000003reloc/cron/config-debian-linux-2.2    cron_input=1
cron_deny_file=/var/spool/cron/deny
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_allow_file=/var/spool/cron/allow
cron_get_command=crontab -u USER -l
vixie_cron=1
system_crontab=/etc/crontab
cronfiles_dir=/etc/cron.d
run_parts=run-parts
070701000047f6000081a40000000000000002000000013d1fe2b800000150000000200000000000000000000000000000002300000003reloc/cron/config-debian-linux-3.0    cron_input=1
cron_deny_file=/var/spool/cron/deny
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_allow_file=/var/spool/cron/allow
cron_get_command=crontab -u USER -l
vixie_cron=1
system_crontab=/etc/crontab
cronfiles_dir=/etc/cron.d
run_parts=run-parts
070701000047f7000081a40000000000000002000000013d1fe2b80000010d000000200000000000000000000000000000001a00000003reloc/cron/config-freebsd cron_dir=/var/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l

   070701000047f8000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000002000000003reloc/cron/config-generic-linux   cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 070701000047f9000081a40000000000000002000000013d1fe2b800000144000000200000000000000000000000000000001f00000003reloc/cron/config-gentoo-linux    cron_dir=/var/spool/cron/crontabs
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
070701000047fa000081a40000000000000002000000013d1fe2b800000118000000200000000000000000000000000000001700000003reloc/cron/config-hpux    cron_input=1
cron_deny_file=/var/adm/cron/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_delete_command=su USER -c "crontab -r"
cron_copy_command=su USER -c "crontab"
cron_allow_file=/var/adm/cron/cron.allow
cron_get_command=su USER -c "crontab -l"
cron_deny_all=1
vixie_cron=0
070701000047fb000081a40000000000000002000000013d1fe2b80000011a000000200000000000000000000000000000001700000003reloc/cron/config-irix    cron_dir=/var/spool/cron/crontabs
cron_deny_file=/etc/cron.d/cron.deny
cron_input=1
cron_delete_command=crontab -r USER
cron_edit_command=
vixie_cron=0
cron_deny_all=1
cron_copy_command=crontab
system_crontab=
cron_allow_file=/etc/cron.d/cron.allow
cron_get_command=crontab -l USER
  070701000047fc000081a40000000000000002000000013d1fe2b80000010c000000200000000000000000000000000000001800000003reloc/cron/config-macos   cron_deny_file=/var/cron/deny
cron_dir=/var/cron/tabs
cron_input=1
cron_delete_command=crontab -u USER -r
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_get_command=crontab -u USER -l
cron_allow_file=/var/cron/allow
cron_edit_command=crontab -u USER -e
070701000047fd000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000002100000003reloc/cron/config-mandrake-linux  cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 07070100004803000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000001c00000003reloc/cron/config-msc-linux   cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 07070100004804000081a40000000000000002000000013d1fe2b80000010d000000200000000000000000000000000000001900000003reloc/cron/config-netbsd  cron_dir=/var/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l

   07070100004805000081a40000000000000002000000013d1fe2b800000165000000200000000000000000000000000000001d00000003reloc/cron/config-open-linux  cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=/usr/sbin/cronloop
run_parts_dir=/etc/cron.d
cronfiles_dir=/etc/cron.d/tabs.d
   07070100004806000081a40000000000000002000000013d1fe2b80000010d000000200000000000000000000000000000001a00000003reloc/cron/config-openbsd cron_dir=/var/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l

   07070100004807000081a40000000000000002000000013d1fe2b8000000ff000000200000000000000000000000000000001d00000003reloc/cron/config-openserver  cron_input=1
cron_deny_file=/etc/cron.d/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_delete_command=crontab -r USER
cron_edit_command=crontab -e USER
cron_allow_file=/etc/cron.d/cron.allow
cron_get_command=crontab -l USER
cron_deny_all=0
vixie_cron=0
 07070100004876000081a40000000000000002000000013d1fe2b800000126000000200000000000000000000000000000001700000003reloc/cron/config-osf1    cron_deny_file=/usr/lib/cron/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_input=1
cron_delete_command=crontab -r USER
cron_edit_command=crontab -e USER
vixie_cron=0
cron_deny_all=1
cron_copy_command=
system_crontab=
cron_get_command=crontab -l USER
cron_allow_file=/usr/lib/cron/cron.allow
  07070100004877000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000001f00000003reloc/cron/config-redhat-linux    cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 07070100004878000081a40000000000000002000000013d1fe2b8000000d4000000200000000000000000000000000000002200000003reloc/cron/config-slackware-linux cron_input=0
cron_deny_file=
cron_dir=/var/spool/cron/crontabs
cron_deny_all=2
cron_delete_command=crontab -d USER
cron_edit_command=crontab -e USER
cron_allow_file=
cron_get_command=crontab -l USER
vixie_cron=0
07070100004879000081a40000000000000002000000013d1fe2b8000000ff000000200000000000000000000000000000001a00000003reloc/cron/config-solaris cron_input=1
cron_deny_file=/etc/cron.d/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_delete_command=crontab -r USER
cron_edit_command=crontab -e USER
cron_allow_file=/etc/cron.d/cron.allow
cron_get_command=crontab -l USER
cron_deny_all=0
vixie_cron=0
 0707010000487a000081a40000000000000002000000013d1fe2b800000127000000200000000000000000000000000000001d00000003reloc/cron/config-suse-linux  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

 0707010000487b000081a40000000000000002000000013d1fe2b80000012d000000200000000000000000000000000000002100000003reloc/cron/config-suse-linux-7.0  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/spool/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

   0707010000487c000081a40000000000000002000000013d1fe2b80000012d000000200000000000000000000000000000002100000003reloc/cron/config-suse-linux-7.1  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/spool/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

   0707010000487d000081a40000000000000002000000013d1fe2b80000012d000000200000000000000000000000000000002100000003reloc/cron/config-suse-linux-7.2  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/spool/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

   0707010000487e000081a40000000000000002000000013d1fe2b80000012d000000200000000000000000000000000000002100000003reloc/cron/config-suse-linux-7.3  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/spool/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

   0707010000487f000081a40000000000000002000000013d1fe2b80000012d000000200000000000000000000000000000002100000003reloc/cron/config-suse-linux-8.0  vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/var/cron/allow
cron_get_command=crontab -u USER -l
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
cron_dir=/var/spool/cron/tabs
cron_deny_file=/var/cron/deny
cron_input=1
cronfiles_dir=/etc/cron.d

   07070100004880000081a40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000001e00000003reloc/cron/config-turbo-linux cron_dir=/var/spool/cron
cron_deny_file=/etc/cron.deny
cron_input=1
cron_delete_command=crontab -u USER -r
cron_edit_command=crontab -u USER -e
vixie_cron=1
cron_deny_all=2
system_crontab=/etc/crontab
cron_allow_file=/etc/cron.allow
cron_get_command=crontab -u USER -l
run_parts=run-parts
cronfiles_dir=/etc/cron.d
 07070100004881000081a40000000000000002000000013d1fe2b8000000ff000000200000000000000000000000000000001b00000003reloc/cron/config-unixware    cron_input=1
cron_deny_file=/etc/cron.d/cron.deny
cron_dir=/var/spool/cron/crontabs
cron_delete_command=crontab -r USER
cron_edit_command=crontab -e USER
cron_allow_file=/etc/cron.d/cron.allow
cron_get_command=crontab -l USER
cron_deny_all=0
vixie_cron=0
 07070100004882000081a40000000000000002000000013d1fe2b8000002c0000000200000000000000000000000000000001700000003reloc/cron/config.info    cron_dir=Crontab Directory,0
cron_get_command=Command to read a user's cron job,0
cron_edit_command=Command to edit a user's cron job,0
cron_copy_command=Command to accept a user's cron job on stdin,0
cron_delete_command=Command to delete a user's cron jobs,0
cron_input=Cron supports input to cron jobs,1,1-Yes,0-No
cron_allow_file=File listing allowed users,0
cron_deny_file=File listing denied users,0
cron_deny_all=Permissions without allow or deny files,1,0-Deny all,1-Deny all except root,2-Allow all
vixie_cron=Supports Vixie-Cron extensions,1,1-Yes,0-No
system_crontab=Path to Vixie-Cron system crontab file,0
cronfiles_dir=Path to extra cron files directory,3,None
run_parts=run-parts command,0
0707010000488d000081a40000000000000002000000013d1fe2b800000341000000200000000000000000000000000000001a00000003reloc/cron/config.info.ca cron_dir=Directori de crontab,0
cron_get_command=Ordre per llegir el treball cron d'un usuari,0
cron_edit_command=Ordre per editar el treball cron d'un usuari,0
cron_copy_command=Ordre per acceptar el treball cron d'un usuari a stdin,0
cron_delete_command=Ordre per suprimir el treball cron d'un usuari,0
cron_input=Cron suporta entrada de treballs cron,1,1-Sí,0-No
cron_allow_file=Fitxer que conté els usuaris permesos,0
cron_deny_file=Fitxer que conté els usuaris a rebutjar,0
cron_deny_all=Permisos sense fitxers <i>allow</i> ni <i>deny</i>,1,0-Rebutja'ls tots,1-Rebutja'ls tots menys root,2-Permet a tothom
vixie_cron=Suporta les extensions cron de Vixie,1,1-Sí,0-No
system_crontab=Camí del fitxer crontab del sistema cron de Vixie,0
cronfiles_dir=Camí del directori de fitxers extres de cron,3,Cap
run_parts=ordre run-parts,0


   0707010000488e000081a40000000000000002000000013d1fe2b8000002f0000000200000000000000000000000000000001a00000003reloc/cron/config.info.cz cron_dir=Crontab Adresáø,0
cron_get_command=Pøíkaz pro ètení u¾ivatelských úloh,0
cron_edit_command=Pøíkaz pro editaci u¾ivatelských úloh,0
cron_copy_command=Pøíkaz pro akceptování u¾ivatelských úloh na stand. vstupu,0
cron_delete_command=Program pro vymazání u¾ivatelských úloh,0
cron_input=Podporovat Cronem vstupy plánovaných úloh,1,1-Ano,0-Ne
cron_allow_file=Seznam povolených u¾ivatelù,0
cron_deny_file=Seznam zakázaných u¾ivatelù,0
cron_deny_all=Pøístup bez povolených nebo zakázaných souborù,1,0-Zakázat v¹e,1-Zakázat v¹e mimo roota,2-Povolit v¹e
vixie_cron=Podpora Vixie-Cron extensions,1,1-Ano,0-Ne
system_crontab=Cesta k Vixie-Cron system crontab souboru,0
cronfiles_dir=Cesta k extra cron adresáøi,3,Nic
run_parts=spustitelná èást pøíkazu,0
0707010000488f000081a40000000000000002000000013d1fe2b80000036f000000200000000000000000000000000000001a00000003reloc/cron/config.info.de cron_dir=Crontab Verzeichnis,0
cron_get_command=Kommando zum Lesen der Cron Jobs eines Benutzers,0
cron_edit_command=Kommando zum Bearbeiten der Cron Jobs eines Benutzers,0
cron_copy_command=Kommando zum Akzeptieren eines Cron Jobs eines Benutzers auf stdin,0
cron_delete_command=Kommando zum L&ouml;schen eines Cron Jobs eines Benutzers,0
cron_input=Cron unterst&uuml;tzt Eingabe zu Cron Jobs,1,1-Ja,0-Nein
cron_allow_file=Benutzer&#44; denen das auflisten gestattet ist,0
cron_deny_file=Benutzer&#44; denen das auflisten nicht gestattet ist,0
cron_deny_all=Rechte ohne Allow oder Deny Dateien,1,0-Verweigere Alle,1-Verweigere alle ausser root,2-Gestatte Alle
vixie_cron=Unterstz&uuml;tzt Vixie-Cron Erweiterungen,1,1-Ja,0-Nein
system_crontab=Pfad zur Vixie-Cron System Crontab Datei,0
cronfiles_dir=Pfad zum extra Cron Dateien Verzeichnis,3,None
run_parts=run-parts Kommando,0
 07070100004890000081a40000000000000002000000013d1fe2b80000036e000000200000000000000000000000000000001a00000003reloc/cron/config.info.es cron_dir=Directorio de Crontab,0
cron_get_command=Comando para leer una tarea de usuario de cron,0
cron_edit_command=Comando para editar una tarea de cron de usuario,0
cron_copy_command=Comando para aceptar una tarea de usuario de cron desde la entrada estándar,0
cron_delete_command=Comando para borrar tarea de usuario de cron,0
cron_input=Cron soporta entrada a tareas de cron,1,1-Sí,0-No
cron_allow_file=Usuarios autorizados a listar archivos,0
cron_deny_file=Usuarios denegados a listar archivos,0
cron_deny_all=Permisos sin archivos que autorizar o denegar,1,0-Denegar a todos,1-Denegar a todos excepto a root,2-Autorizar a todos
vixie_cron=Soporta extensiones de Vixie-Cron,1,1-Sí,0-No
system_crontab=Trayectoria a archivo crontab de sistema Vixie-Cron,0
cronfiles_dir=Trayectoria a directorio de archivos extra de cron,3,Ninguna
run_parts=comando para ejecutar-partes,0
  07070100004891000081a40000000000000002000000013d1fe2b80000033e000000200000000000000000000000000000001a00000003reloc/cron/config.info.fr cron_dir=Répertoire des tâches cron,0
cron_get_command=Commande pour lire les tâches cron,0
cron_edit_command=Commande pour éditer les tâches cron,0
cron_copy_command=Commande pour accepter une tâche cron de l'entrée standard,0
cron_delete_command=Commande pour supprimer les tâches cron,0
cron_input=Cron supporte les entrées pour les tâches cron,1,1-Oui,0-Non
cron_allow_file=Fichier listant les utilisateurs autorisés,0
cron_deny_file=Fichier listant les utilisateurs interdits,0
cron_deny_all=Permissions sans fichier d'autorisation ni d'interdiction,1,0-Tous refuser,1-Tous refuser sauf root,2-Tous accepter
vixie_cron=Supporte les extensions Vixie-Cron,1,1-Oui,0-Non
system_crontab=Chemin du fichier des tâches cron Vixie-Cron,0
cronfiles_dir=Chemin des fichiers supplémentaire cron,3,Aucun
run_parts=Commande 'run-parts',0
  07070100004892000081a40000000000000002000000013d1fe2b80000034d000000200000000000000000000000000000001a00000003reloc/cron/config.info.nl cron_dir=Crontab Directory,0
cron_get_command=Commando voor het lezen van een gebruikers cron job,0
cron_edit_command=Commando voor het bewerken van een gebruikers cron job,0
cron_copy_command=Commando voor het accepteren van een gebruikers cron job op stdin,0
cron_delete_command=Commando voor het verwijderen van een gebruikers cron jobs,0
cron_input=Cron ondersteund invoer naar cron jobs,1,1-Ja,0-Nee
cron_allow_file=Bestand met toegestane gebruikers,0
cron_deny_file=Bestand met geweigerde gebruikers,0
cron_deny_all=Rechten zonder toestaan of weigeren van bestanden,1,0-Weiger alles,1-Weiger alles behalve root,2-Accepteer alles
vixie_cron=Ondersteund Vixie-Cron extensies,1,1-Ja,0-Nee
system_crontab=Pad naar Vixie-Cron systeem crontab bestand,0
cronfiles_dir=Pad naar extra cron bestanden directory,3,Geen
run_parts=Run-parts commando,0
   07070100004893000081a40000000000000002000000013d1fe2b80000034d000000200000000000000000000000000000001a00000003reloc/cron/config.info.pl cron_dir=Katalog tablic crona,0
cron_get_command=Polecenie czytania zadañ u¿ytkownika dla crona,0
cron_edit_command=Polecenie modyfikacji zadañ u¿ytkownika dla crona,0
cron_copy_command=Polecenie przyjêcia zadania u¿ytkownika ze standardowego wej¶cia,0
cron_delete_command=Polecenie usuniêcia zadañ u¿ytkownika dla crona,0
cron_input=Cron pozwala na dodawanie zadañ,1,1-Tak,0-Nie
cron_allow_file=Plik z list± dopuszczonych u¿ytkowników,0
cron_deny_file=Plik z list± u¿ytkowników bez dostêpu,0
cron_deny_all=Uprawnienia przy braku plików pozwoleñ/zakazu,1,0-Zablokuj dla wszystkich,1-Zablokuj oprócz roota,2-Pozwól wszystkim
vixie_cron=Obsluga rozszerzeñ vixie-crona,1,1-Tak,0-Nie
system_crontab=Scie¿ka do systemowego pliku zadañ vixie-crona,0
cronfiles_dir=¦cie¿ka do katalogu z dodatkowymi plikami crona,3,Brak
run_parts=polecenie run-parts,0
   07070100004894000081a40000000000000002000000013d1fe2b80000034b000000200000000000000000000000000000001d00000003reloc/cron/config.info.ru_RU  cron_deny_file=Ôàéë ñî ñïèñêîì çàïðåùåííûõ ïîëüçîâàòåëåé,0
cron_dir=Êàòàëîã òàáëèö Crontab,0
cron_input=Ïîääåðæèâàåò ëè Cron ââîä äëÿ ñâîèõ çàäàíèé,1,1-Äà,0-Íåò
cron_delete_command=Êîìàíäà äëÿ óäàëåíèÿ çàäàíèé ïîëüçîâàòåëÿ,0
cronfiles_dir=Ïóòü ê êàòàëîãó ñ äîïîëíèòåëüíûìè ôàéëàìè,3,Íåò
cron_edit_command=Êîìàíäà äëÿ ðåäàêòèðîâàíèÿ çàäàíèé ïîëüçîâàòåëÿ,0
vixie_cron=Ïîääåðæèâàåò ðàñøèðíèÿ Vixie-Cron,1,1-Äà,0-Íåò
cron_deny_all=Ïðàâà äîñòóïà â ñëó÷àå îòñóòñâèÿ ôàéëîâ ñî ñïèñêàìè äîñòóïà,1,0-Çàïðåòèòü âñåì,1-Çàïðåòèòü âñåì êðîìå root,2-Ðàçðåøèòü âñåì
cron_copy_command=Êîìàíäà äëÿ çàïèñè çàäàíèé ïîëüçîâàòåëÿ íà ñòàíäàðíûé âõîä,0
system_crontab=Ïóòü ê ñèñòåìíîìó ôàéëó crontab äëÿ Vixie-Cron,0
run_parts=Êîìàíäà run-parts,0
cron_get_command=Êîìàíäà äëÿ ÷òåíèÿ çàäàíèé ïîëüçîâàòåëÿ,0
cron_allow_file=Ôàéë ñî ñïèñêîì ðàçðåøåííûõ ïîëüçîâàòåëåé,0
 07070100004895000081a40000000000000002000000013d1fe2b80000034b000000200000000000000000000000000000001d00000003reloc/cron/config.info.ru_SU  cron_dir=ëÁÔÁÌÏÇ ÔÁÂÌÉÃ Crontab,0
cron_get_command=ëÏÍÁÎÄÁ ÄÌÑ ÞÔÅÎÉÑ ÚÁÄÁÎÉÊ ÐÏÌØÚÏ×ÁÔÅÌÑ,0
cron_edit_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÚÁÄÁÎÉÊ ÐÏÌØÚÏ×ÁÔÅÌÑ,0
cron_copy_command=ëÏÍÁÎÄÁ ÄÌÑ ÚÁÐÉÓÉ ÚÁÄÁÎÉÊ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ÓÔÁÎÄÁÒÎÙÊ ×ÈÏÄ,0
cron_delete_command=ëÏÍÁÎÄÁ ÄÌÑ ÕÄÁÌÅÎÉÑ ÚÁÄÁÎÉÊ ÐÏÌØÚÏ×ÁÔÅÌÑ,0
cron_input=ðÏÄÄÅÒÖÉ×ÁÅÔ ÌÉ Cron ××ÏÄ ÄÌÑ Ó×ÏÉÈ ÚÁÄÁÎÉÊ,1,1-äÁ,0-îÅÔ
cron_allow_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÒÁÚÒÅÛÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,0
cron_deny_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÚÁÐÒÅÝÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,0
cron_deny_all=ðÒÁ×Á ÄÏÓÔÕÐÁ × ÓÌÕÞÁÅ ÏÔÓÕÔÓ×ÉÑ ÆÁÊÌÏ× ÓÏ ÓÐÉÓËÁÍÉ ÄÏÓÔÕÐÁ,1,0-úÁÐÒÅÔÉÔØ ×ÓÅÍ,1-úÁÐÒÅÔÉÔØ ×ÓÅÍ ËÒÏÍÅ root,2-òÁÚÒÅÛÉÔØ ×ÓÅÍ
vixie_cron=ðÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÎÉÑ Vixie-Cron,1,1-äÁ,0-îÅÔ
system_crontab=ðÕÔØ Ë ÓÉÓÔÅÍÎÏÍÕ ÆÁÊÌÕ crontab ÄÌÑ Vixie-Cron,0
cronfiles_dir=ðÕÔØ Ë ËÁÔÁÌÏÇÕ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÆÁÊÌÁÍÉ,3,îÅÔ
run_parts=ëÏÍÁÎÄÁ run-parts,0
 07070100004896000081a40000000000000002000000013d1fe2b8000002ff000000200000000000000000000000000000001a00000003reloc/cron/config.info.sv cron_dir=Crontab-katalog,0
cron_get_command=Kommando för att se en användares cron-jobb,0
cron_edit_command=Kommando för att ändra en användares cron-jobb,0
cron_copy_command=Kommando för att ta emot en användares cron-jobb på stdin,0
cron_delete_command=Kommando för att ta bort en användares cron-jobb,0
cron_input=Cron stödjer inmatning till cron-jobb,1,1-Ja,0-Nej
cron_allow_file=Fil med tillåtna användare,0
cron_deny_file=Fil med förbjudna användare,0
cron_deny_all=Rättigheter utan allow- eller deny-filer,1,0-Förbjud alla,1-Förbjud alla utom root,2-Tillåt alla
vixie_cron=Stödjers Vixie-Cron-tillägg,1,1-Ja,0-Nej
system_crontab=Sökväg till Vixie-Cron:s systemcrontabfil,0
cronfiles_dir=Sökväg till extra cron-filkatalog,3,Ingen
run_parts=run-parts-kommando,0
 07070100004897000081a40000000000000002000000013d1fe2b800000349000000200000000000000000000000000000001a00000003reloc/cron/config.info.tr cron_dir=Crontab Dizini,0
cron_get_command=Kullanýcýnýn cron'u okumasý için gerekli komut,0
cron_edit_command=Kullanýcýnýn cron'u deðiþtirmesi için gerekli komut,0
cron_copy_command=Standart giriþleride kullanýcýnýn cron'unun kabul edilmesi için gerekli komut,0
cron_delete_command=Kullanýcýnýn cron'unun silmek için gerekli komut,0
cron_input=Cron supports input to cron jobs,1,1-Evet,0-Hayýr
cron_allow_file=Ýzin verilen kullanýcýlarýn listelendiði dosya,0
cron_deny_file=Ýzin verilmeyen kullanýcýlarýn listelendiði dosya,0
cron_deny_all=Ýzin dosyalarýnýn dýþýndaki haklar,1,0-Hepsini reddet,1-Root dýþýnda hepsini reddet,2-Hepsini kabul et
vixie_cron=Vixie-Cron uzantýlarý desteði,1,1-Evet,0-Hayýr
system_crontab=Vixie-Cron sistem crontab dosyasý yolu,0
cronfiles_dir=Ekstra cron dosyalarý dizini yolu,3,None
run_parts=run-parts komutu,0
   07070100004898000081a40000000000000002000000013d1fe2b80000022b000000200000000000000000000000000000001d00000003reloc/cron/config.info.zh_CN  cron_dir=CrontabÄ¿Â¼,0
cron_get_command=¶ÁÓÃ»§µ÷¶ÈÈÎÎñÃüÁî,0
cron_edit_command=±à¼­ÓÃ»§µ÷¶ÈÈÎÎñÃüÁî,0
cron_copy_command=´Ó±ê×¼ÊäÈë½ÓÊÕµ÷¶ÈÈÎÎñµÄÃüÁî,0
cron_delete_command=É¾³ýµ÷¶ÈÈÎÎñµÄÃüÁî,0
cron_input=CronÖ§³ÖÊäÈëµ÷¶ÈÈÎÎñ,1,1-ÊÇ,0-²»
cron_allow_file=ÎÄ¼þÖÐÁÐ³öµÄ±»ÔÊÐíµÄÓÃ»§,0
cron_deny_file=ÎÄ¼þÖÐÁÐ³öµÄ±»½ûÖ¹µÄÓÃ»§,0
cron_deny_all=Ã»ÓÐÔÊÐí»ò½ûÖ¹ÎÄ¼þµÄÏÞÖÆ,1,0-½ûÖ¹ËùÓÐ,1-³ý¸ùÍâ½ûÖ¹ËùÓÐ,2-ÔÊÐíËùÓÐ
vixie_cron=Ö§³ÖVixie-CronÀ©Õ¹,1,1-ÊÇ,0-²»
system_crontab=Vixie-CronµÄcrontabÏµÍ³ÎÄ¼þÂ·¾¶,0
cronfiles_dir=ÆäËücronÎÄ¼þÄ¿Â¼,3,Ã»ÓÐ
run_parts=ÔËÐÐ²¿·ÖÃüÁî,0
 07070100004899000081a40000000000000002000000013d1fe2b800000298000000200000000000000000000000000000002200000003reloc/cron/config.info.zh_TW.Big5 cron_dir=©w®É°õ¦æªí®æÀÉ (crontab) ¸ô®|,0
cron_get_command=Åª¨ú¨Ï¥ÎªÌ©w®É°õ¦æ¤u§@ªº«ü¥O,0
cron_edit_command=½s¿è¨Ï¥ÎªÌ©w®É°õ¦æ¤u§@ªº«ü¥O,0
cron_copy_command=±µ¨ü¨Ï¥ÎªÌ¥Ñ¼Ð·Ç¿é¤J¿é¤J©w®É°õ¦æ¤u§@ªº«ü¥O,0
cron_delete_command=§R°£¨Ï¥ÎªÌ©w®É°õ¦æ¤u§@ªº«ü¥O,0
cron_input=©w®É°õ¦æ¬O§_¤ä´©¿é¤J¨ì©w®É°õ¦æ¤u§@?,1,1-¬O,0-§_
cron_allow_file=¤¹³\ªº¨Ï¥ÎªÌ¦WºÙ¦CªíÀÉ®×,0
cron_deny_file=©Úµ´ªº¨Ï¥ÎªÌ¦WºÙ¦CªíÀÉ®×,0
cron_deny_all=¤£¦b¥ô¦ó¦Cªí¤¤ªº¨Ï¥ÎªÌªºÅv­­,1,0-©Úµ´¥þ³¡,1-©Úµ´ (°£¤Froot ¥H¥~),2-¤¹³\¥þ³¡
vixie_cron=¬O§_¤ä´© Vixie ªº©w®É°õ¦æÂX¥R?,1,1-¬O,0-§_
system_crontab=¨ì Vixie ©w®É°õ¦æ¨t²Îªºªí®æÀÉ¸ô®|,0
cronfiles_dir=¨ìÃB¥~©w®É°õ¦æÀÉ®×ªº¸ô®|,3,None
run_parts=°õ¦æ³¡¤Àªº«ü¥O,0
0707010000489a000081a40000000000000002000000013d1fe2b800002e01000000200000000000000000000000000000001700000003reloc/cron/cron-lib.pl    # cron-lib.pl
# Common cront table functions

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();
$cron_temp_file = &tempname();

# list_cron_jobs()
# Returns a lists of structures of all cron jobs
sub list_cron_jobs
{
local (@rv, $lnum, $f);

# read the master crontab file
if ($config{'vixie_cron'}) {
	$lnum = 0;
	open(TAB, $config{'system_crontab'});
	while(<TAB>) {
		if (/^(#+)?\s*(-)?\s*([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+|jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\s+([0-9\-\*\/,]+|sun|mon|tue|web|thu|fri|sat)\s+(\S+)\s+(.*)/i) {
			push(@rv, { 'file' => $config{'system_crontab'},
				    'line' => $lnum,
				    'type' => 1,
				    'nolog' => $2,
				    'active' => !$1,
				    'mins' => $3, 'hours' => $4,
				    'days' => $5, 'months' => $6,
				    'weekdays' => $7, 'user' => $8,
				    'command' => $9,
				    'index' => scalar(@rv) });
			if ($rv[$#rv]->{'user'} =~ /^\//) {
				# missing the user, as in redhaty 7 !
				$rv[$#rv]->{'command'} = $rv[$#rv]->{'user'}.
					' '.$rv[$#rv]->{'command'};
				$rv[$#rv]->{'user'} = 'root';
				}
			&fix_names($rv[$#rv]);
			}
		$lnum++;
		}
	close(TAB);
	}

# read package-specific cron files
opendir(DIR, $config{'cronfiles_dir'});
while($f = readdir(DIR)) {
	next if ($f =~ /^\./);
	$lnum = 0;
	open(TAB, "$config{'cronfiles_dir'}/$f");
	while(<TAB>) {
		if (/^(#+)?\s*(-)?\s*([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+|jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\s+([0-9\-\*\/,]+|sun|mon|tue|web|thu|fri|sat)\s+(\S+)\s+(.*)/i) {
			push(@rv, { 'file' => "$config{'cronfiles_dir'}/$f",
				    'line' => $lnum,
				    'type' => 2,
				    'active' => !$1,
				    'nolog' => $2,
				    'mins' => $3, 'hours' => $4,
				    'days' => $5, 'months' => $6,
				    'weekdays' => $7, 'user' => $8,
				    'command' => $9,
				    'index' => scalar(@rv) });
			&fix_names($rv[$#rv]);
			}
		$lnum++;
		}
	close(TAB);
	}
closedir(DIR);

# read per-user cron files
opendir(DIR, $config{'cron_dir'});
while($f = readdir(DIR)) {
	next if ($f =~ /^\./ || !(@uinfo = getpwnam($f)));
	$lnum = 0;
	open(TAB, "$config{'cron_dir'}/$f");
	while(<TAB>) {
		if (/^(#+)?\s*(-)?\s*([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+)\s+([0-9\-\*\/,]+|jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\s+([0-9\-\*\/,]+|sun|mon|tue|web|thu|fri|sat)\s+(.*)/i) {
			push(@rv, { 'file' => "$config{'cron_dir'}/$f",
				    'line' => $lnum,
				    'type' => 0,
				    'active' => !$1, 'nolog' => $2,
				    'mins' => $3, 'hours' => $4,
				    'days' => $5, 'months' => $6,
				    'weekdays' => $7, 'user' => $f,
				    'command' => $8,
				    'index' => scalar(@rv) });
			&fix_names($rv[$#rv]);
			}
		$lnum++;
		}
	close(TAB);
	}
closedir(DIR);
return @rv;
}

sub cron_job_line
{
local @c;
push(@c, "#") if (!$_[0]->{'active'});
push(@c, ($_[0]->{'nolog'} ? '-' : '').$_[0]->{'mins'},
         $_[0]->{'hours'}, $_[0]->{'days'},
	 $_[0]->{'months'}, $_[0]->{'weekdays'});
push(@c, $_[0]->{'user'}) if ($_[0]->{'type'});
push(@c, $_[0]->{'command'});
return join(" ", @c);
}

# create_cron_job(&job)
sub create_cron_job
{
unlink($cron_temp_file);
system("cp $config{'cron_dir'}/$_[0]->{'user'} $cron_temp_file 2>/dev/null");
open(TAB, ">>$cron_temp_file");
print TAB &cron_job_line($_[0]),"\n";
close(TAB);
system("chown $_[0]->{'user'} $cron_temp_file");
&copy_crontab($_[0]->{'user'});
}

# change_cron_job(&job)
sub change_cron_job
{
if ($_[0]->{'type'} == 0) {
	unlink($cron_temp_file);
	system("cp $config{'cron_dir'}/$_[0]->{'user'} $cron_temp_file");
	&replace_file_line($cron_temp_file, $_[0]->{'line'},
			   &cron_job_line($_[0])."\n");
	&copy_crontab($_[0]->{'user'});
	}
else {
	&replace_file_line($_[0]->{'file'}, $_[0]->{'line'},
			   &cron_job_line($_[0])."\n");
	}
}

# delete_cron_job(&job)
sub delete_cron_job
{
if ($_[0]->{'type'} == 0) {
	unlink($cron_temp_file);
	system("cp $config{'cron_dir'}/$_[0]->{'user'} $cron_temp_file");
	&replace_file_line($cron_temp_file, $_[0]->{'line'});
	&copy_crontab($_[0]->{'user'});
	}
else {
	&replace_file_line($_[0]->{'file'}, $_[0]->{'line'});
	}
}

# read_crontab(user)
# Return an array containing the lines of the cron table for some user
sub read_crontab
{
local(@tab);
open(TAB, "$config{cron_dir}/$_[0]");
@tab = <TAB>;
close(TAB);
if ($config{vixie_cron} && $tab[0] =~ /DO NOT EDIT/ &&
    $tab[1] =~ /^\s*#/ && $tab[2] =~ /^\s*#/) {
	@tab = @tab[3..$#tab];
	}
return @tab;
}


# copy_crontab(user)
sub copy_crontab
{
local($pwd);
if (`cat $cron_temp_file` =~ /\S/) {
	if ($config{'cron_edit_command'}) {
		# fake being an editor
		$ENV{"VISUAL"} = $ENV{"EDITOR"} = "$module_root_directory/cron_editor.pl";
		$ENV{"CRON_EDITOR_COPY"} = $cron_temp_file;
		system("chown $_[0] $cron_temp_file");
		system(&user_sub($config{'cron_edit_command'},$_[0]).
		       " >/dev/null 2>/dev/null");
		}
	else {
		# use the cron copy command
		system(&user_sub($config{'cron_copy_command'},$_[0]).
		       " <$cron_temp_file >/dev/null 2>/dev/null");
		}
	}
else {
	system(&user_sub($config{cron_delete_command},$_[0]).
	       " >/dev/null 2>/dev/null");
	}
unlink($cron_temp_file);
}


# parse_job(job)
# Parse a crontab line into an array containing:
#  active, mins, hrs, days, mons, weekdays, command
sub parse_job
{
local($job, $active) = ($_[0], 1);
if ($job =~ /^#+\s*(.*)$/) {
	$active = 0;
	$job = $1;
	}
$job =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/;
return ($active, $1, $2, $3, $4, $5, $6);
}

# user_sub(command, user)
# Replace the string 'USER' in the command with the user name
sub user_sub
{
local($tmp);
$tmp = $_[0];
$tmp =~ s/USER/$_[1]/g;
return $tmp;
}


# list_allowed()
# Returns a list of all users in the cron allow file
sub list_allowed
{
local(@rv, $_);
open(ALLOW, $config{cron_allow_file});
while(<ALLOW>) {
	chop; push(@rv, $_);
	}
close(ALLOW);
return @rv;
}


# list_denied()
# Return a list of users from the cron deny file
sub list_denied
{
local(@rv, $_);
open(DENY, $config{cron_deny_file});
while(<DENY>) {
	chop; push(@rv, $_);
	}
close(DENY);
return @rv;
}


# save_allowed(user, user, ...)
# Save the list of allowed users
sub save_allowed
{
local($_);
open(ALLOW, ">$config{cron_allow_file}");
foreach (@_) { print ALLOW $_,"\n"; }
close(ALLOW);
chmod(0444, $config{cron_allow_file});
}


# save_denied(user, user, ...)
# Save the list of denied users
sub save_denied
{
local($_);
open(DENY, "> $config{cron_deny_file}");
foreach (@_) { print DENY $_,"\n"; }
close(DENY);
chmod(0444, $config{cron_deny_file});
}

# read_envs(user)
# Returns an array of name,value pairs containing the environment settings
# from the crontab for some user
sub read_envs
{
local(@tab, @rv, $_);
@tab = &read_crontab($_[0]);
foreach (@tab) {
	chop; s/#.*$//g;
	if (/^\s*(\S+)\s*=\s*(.*)$/) { push(@rv, "$1 $2"); }
	}
return @rv;
}

# save_envs(user, [name, value]*)
# Updates the cron file for some user with the given list of environment
# variables. All others in the file are removed
sub save_envs
{
local($i, @tab, $line);
@tab = &read_crontab($_[0]);
open(TAB, "> $cron_temp_file");
for($i=1; $i<@_; $i+=2) {
	print TAB "$_[$i]=$_[$i+1]\n";
	}
foreach (@tab) {
	chop($line = $_); $line =~ s/#.*$//g;
	if ($line !~ /^\s*(\S+)\s*=\s*(.*)$/) { print TAB $_; }
	}
close(TAB);
&copy_crontab($_[0]);
}

# expand_run_parts(directory)
sub expand_run_parts
{
local $dir = $_[0];
$dir = "$config{'run_parts_dir'}/$dir"
	if ($config{'run_parts_dir'} && $dir !~ /^\//);
opendir(DIR, $dir);
local @rv = readdir(DIR);
closedir(DIR);
@rv = grep { !/^\./ } @rv;
@rv = map { $dir."/".$_ } @rv;
return @rv;
}

# is_run_parts(command)
sub is_run_parts
{
local $rp = $config{'run_parts'};
return $rp && $_[0] =~ /$rp(.*)\s+(\S+)$/ ? $2 : undef;
}

# can_edit_user(&access, user)
sub can_edit_user
{
local %umap;
map { $umap{$_}++; } split(/\s+/, $_[0]->{'users'});
if ($_[0]->{'mode'} == 1 && !$umap{$_[1]} ||
    $_[0]->{'mode'} == 2 && $umap{$_[1]}) { return 0; }
elsif ($_[0]->{'mode'} == 3) {
	return $remote_user eq $_[1];
	}
else {
	return 1;
	}
}

# show_times_input(&job)
sub show_times_input
{
local $job = $_[0];
print "<td><b>$text{'edit_mins'}</b></td> <td><b>$text{'edit_hours'}</b></td> ",
      "<td><b>$text{'edit_days'}</b></td> <td><b>$text{'edit_months'}</b></td>",
      "<td><b>$text{'edit_weekdays'}</b></td> </tr> <tr $cb>\n";

local @mins = (0..59);
local @hours = (0..23);
local @days = (1..31);
local @months = map { $text{"month_$_"}."=".$_ } (1 .. 12);
local @weekdays = map { $text{"day_$_"}."=".$_ } (0 .. 6);

foreach $arr ("mins", "hours", "days", "months", "weekdays") {
	# Find out which ones are being used
	local %inuse;
	local $min = ($arr =~ /days|months/ ? 1 : 0);
	local $max = $min+scalar(@$arr)-1;
	foreach $w (split(/,/ , $job->{$arr})) {
		if ($w eq "*") {
			# all values
			for($j=$min; $j<=$max; $j++) { $inuse{$j}++; }
			}
		elsif ($w =~ /^\*\/(\d+)$/) {
			# only every Nth
			for($j=$min; $j<=$max; $j+=$1) { $inuse{$j}++; }
			}
		elsif ($w =~ /^(\d+)-(\d+)\/(\d+)$/) {
			# only every Nth of some range
			for($j=$1; $j<=$2; $j+=$3) { $inuse{int($j)}++; }
			}
		elsif ($w =~ /^(\d+)-(\d+)$/) {
			# all of some range
			for($j=$1; $j<=$2; $j++) { $inuse{int($j)}++; }
			}
		else {
			# One value
			$inuse{int($w)}++;
			}
		}
	if ($job->{$arr} eq "*") { undef(%inuse); }

	# Output selection list
	print "<td valign=top>\n";
	printf "<input type=radio name=all_$arr value=1 %s> $text{'edit_all'}<br>\n",
		$job->{$arr} eq "*" ? "checked" : "";
	printf "<input type=radio name=all_$arr value=0 %s> $text{'edit_selected'}<br>\n",
		$job->{$arr} ne "*" ? "checked" : "";
	print "<table> <tr>\n";
	for($j=0; $j<@$arr; $j+=12) {
		$jj = $j+11;
		if ($jj >= @$arr) { $jj = @$arr - 1; }
		@sec = @$arr[$j .. $jj];
		printf "<td valign=top><select multiple size=%d name=$arr>\n",
			@sec > 12 ? 12 : scalar(@sec);
		foreach $v (@sec) {
			if ($v =~ /^(.*)=(.*)$/) { $disp = $1; $code = $2; }
			else { $disp = $code = $v; }
			printf "<option value=\"$code\" %s>$disp\n",
				$inuse{$code} ? "selected" : "";
			}
		print "</select></td>\n";
		}
	print "</tr></table></td>\n";
	}
print "</tr>\n";
}

# parse_times_input(&job, &in)
sub parse_times_input
{
local $job = $_[0];
local %in = %{$_[1]};
foreach $arr ("mins", "hours", "days", "months", "weekdays") {
	if ($in{"all_$arr"}) {
		# All mins/hrs/etc.. chosen
		$job->{$arr} = "*";
		}
	elsif (defined($in{$arr})) {
		# Need to work out and simplify ranges selected
		local (@range, @newrange, $i);
		@range = split(/\0/, $in{$arr});
		@range = sort { $a <=> $b } @range;
		local $start = -1;
		for($i=0; $i<@range; $i++) {
			if ($i && $range[$i]-1 == $range[$i-1]) {
				# ok.. looks like a range
				if ($start < 0) { $start = $i-1; }
				}
			elsif ($start < 0) {
				# Not in a range at all
				push(@newrange, $range[$i]);
				}
			else {
				# End of the range.. add it
				$newrange[@newrange - 1] =
					"$range[$start]-".$range[$i-1];
				push(@newrange, $range[$i]);
				$start = -1;
				}
			}
		if ($start >= 0) {
			# Reached the end while in a range
			$newrange[@newrange - 1] =
				"$range[$start]-".$range[$i-1];
			}
		$job->{$arr} = join(',' , @newrange);
		}
	else {
		&error(&text('save_enone', $text{"edit_$arr"}));
		}
	}
}

@cron_month = ( 'jan', 'feb', 'mar', 'apr', 'may', 'jun',
		'jul', 'aug', 'sep', 'oct', 'nov', 'dec' );
@cron_weekday = ( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' );

# fix_names(&cron)
# Convert day and month names to numbers
sub fix_names
{
local $mi = &indexof(lc($_[0]->{'months'}), @cron_month);
$_[0]->{'months'} = $mi+1 if ($mi >= 0);
local $di = &indexof(lc($_[0]->{'weekdays'}), @cron_weekday);
$_[0]->{'weekdays'} = $di if ($di >= 0);
$_[0]->{'weekday'} = 0 if ($_[0]->{'weekday'} == 7);
}

1;

   0707010000489b000081e40000000000000002000000013d1fe2b8000001dd000000200000000000000000000000000000001a00000003reloc/cron/cron_editor.pl #!/usr/local/bin/perl
# cron_editor.pl
# Called by crontab -e to edit an users cron table.. 

sleep(1);	# This is needed because the stupid crontab -e command
		# checks the mtime before and after editing, and if they are
		# the same it assumes no change has been made!!
open(SRC, $ENV{"CRON_EDITOR_COPY"});
open(DST, "> $ARGV[0]");
while(<SRC>) {
	if (!/^#.*DO NOT EDIT/i && !/^#.*installed on/i &&
	    !/^#.*Cron version/i) {
		print DST $_;
		}
	}
close(SRC); close(DST);
   0707010000489c000081a40000000000000002000000013d1fe2b800000021000000200000000000000000000000000000001600000003reloc/cron/defaultacl noconfig=0
users=
mode=0
allow=1
   0707010000489d000081e40000000000000002000000013d1fe2b8000001ac000000200000000000000000000000000000001b00000003reloc/cron/delete_cron.cgi    #!/usr/local/bin/perl
# delete_cron.cgi
# Delete a cron job for some user

require './cron-lib.pl';
&ReadParse();
@jobs = &list_cron_jobs();
$job = $jobs[$in{'idx'}];
&lock_file($job->{'file'});
&can_edit_user(\%access, $job->{'user'}) ||
	&error("You are not allowed to delete cron jobs for this user");
&delete_cron_job($job);
&unlock_file($job->{'file'});
&webmin_log("delete", "cron", $job->{'user'}, $job);
&redirect("");

0707010000489e000081e40000000000000002000000013d1fe2b8000004f4000000200000000000000000000000000000001a00000003reloc/cron/edit_allow.cgi #!/usr/local/bin/perl
# edit_allow.cgi
# A form for editing the system cron.allow and cron.deny files

require './cron-lib.pl';
$access{'allow'} || &error($text{'allow_ecannot'});
&header($text{'allow_title'}, "");
print "<hr>\n";

print "<form action=save_allow.cgi>\n";
print "$text{'allow_desc'} <p>\n";

$allowfile = (-r $config{cron_allow_file});
$denyfile = (-r $config{cron_deny_file});
$nofile = $config{cron_deny_all};
printf "<input type=radio name=mode value=0 %s> %s<br>\n",
	!$allowfile && !$denyfile ? "checked" : "",
	$nofile==0 ? $text{'allow_all1'} :
	$nofile==1 ? $text{'allow_all2'} :
		     $text{'allow_all3'};
printf "<input type=radio name=mode value=1 %s> $text{'allow_allow'}\n",
	$allowfile ? "checked" : "";
printf "<input name=allow size=30 value=\"%s\"> %s<br>\n",
	($allowfile ? join(' ', &list_allowed()) : ""),
	&user_chooser_button("allow", 1);
printf "<input type=radio name=mode value=2 %s> $text{'allow_deny'}&nbsp;\n",
	$denyfile && !$allowfile ? "checked" : "";
printf "<input name=deny size=30 value=\"%s\"> %s<br>\n",
	($denyfile ? join(' ', &list_denied()) : ""),
	&user_chooser_button("deny", 1);

print "<input type=submit value=\"$text{'save'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000489f000081e40000000000000002000000013d1fe2b800000d50000000200000000000000000000000000000001900000003reloc/cron/edit_cron.cgi  #!/usr/local/bin/perl
# edit_cron.cgi
# Edit an existing or new cron job

require './cron-lib.pl';
&ReadParse();

if (!$in{'new'}) {
	@jobs = &list_cron_jobs();
	$job = $jobs[$in{'idx'}];
	&can_edit_user(\%access, $job->{'user'}) ||
		&error($text{'edit_ecannot'});
	&header($text{'edit_title'}, "");
	}
else {
	&header($text{'create_title'}, "");
	$job = { 'mins' => '*',
		 'hours' => '*',
		 'days' => '*',
		 'months' => '*',
		 'weekdays' => '*',
		 'active' => 1 };
	}
print "<hr>\n";

print "<form action=save_cron.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_user'}</b></td>\n";
if ($access{'mode'} == 1) {
	print "<td><select name=user>\n";
	foreach $u (split(/\s+/, $access{'users'})) {
		printf "<option %s>$u\n",
			$job->{'user'} eq $u ? "selected" : "";
		}
	print "</select></td>\n";
	}
elsif ($access{'mode'} == 3) {
	print "<td><tt>$remote_user</tt></td>\n";
	print "<input type=hidden name=user value='$remote_user'>\n";
	}
else {
	print "<td><input name=user size=8 value=\"$job->{'user'}\"> ",
		&user_chooser_button("user", 0),"</td>\n";
	}

print "<td> <b>$text{'edit_active'}</b></td>\n";
printf "<td><input type=radio name=active value=1 %s> $text{'yes'}\n",
	$job->{'active'} ? "checked" : "";
printf "<input type=radio name=active value=0 %s> $text{'no'}</td> </tr>\n",
	$job->{'active'} ? "" : "checked";

$rpd = &is_run_parts($job->{'command'});
if ($rpd) {
	# run-parts command.. just show scripts that will be run
	print "<tr> <td valign=top><b>$text{'edit_commands'}</b></td>\n";
	print "<td><tt>",join("<br>",&expand_run_parts($rpd)),
	      "</tt></td> </tr>\n";
	print "<input type=hidden name=cmd value='$job->{'command'}'>\n";
	}
else {
	# Normal cron job.. can edit command
	$job->{'command'} =~ s/\\%/\0/g;
	@lines = split(/%/ , $job->{'command'});
	foreach (@lines) { s/\0/%/g; }
	print "<tr> <td><b>$text{'edit_command'}</b></td>\n";
	print "<td colspan=3><input name=cmd size=50 ",
	      "value='",&html_escape($lines[0]),"'></td> </tr>\n";

	if ($config{'cron_input'}) {
		print "<tr> <td valign=top><b>$text{'edit_input'}</b></td>\n";
		print "<td colspan=3><textarea name=input rows=3 cols=50>",
		      join("\n" , @lines[1 .. @lines-1]),"</textarea></td> </tr>\n";
		}
	}

print "</table></td></tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td colspan=5><b>$text{'edit_when'}</b></td> </tr> <tr $tb>\n";
&show_times_input($job);
print "</table>\n";

if (!$in{'new'}) {
	print "<table width=100%>\n";
	print "<tr> <td align=left><input type=submit value=\"$text{'save'}\"></td>\n";
	if (!$rpd) {
		print "</form><form action=\"exec_cron.cgi\">\n";
		print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
		print "<td align=center>",
		      "<input type=submit value=\"$text{'edit_run'}\"></td>\n";
		}
	print "</form><form action=\"delete_cron.cgi\">\n";
	print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
	print "<td align=right><input type=submit value=\"$text{'delete'}\"></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\"></form><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

070701000048a0000081e40000000000000002000000013d1fe2b800000428000000200000000000000000000000000000001800000003reloc/cron/edit_env.cgi   #!/usr/local/bin/perl
# edit_env.cgi
# Some cron versions support the definition of environment variables in the
# crontab. This form is for editing those variables

require './cron-lib.pl';
$u = $ARGV[0];
&can_edit_user(\%access, $u) ||
	&error($text{'env_ecannot'});
&header($text{'env_title'}, "");
print "<hr>\n";

print "<h3>",&text('env_desc', $u),"</h3>\n";
@envs = &read_envs($u);
print "<form action=save_env.cgi>\n";
print "<input type=hidden name=user value=\"$u\">\n";
printf "<input type=hidden name=count value=%d>\n", scalar(@envs)+1;
print "<table border>\n";
print "<tr $tb> <td><b>$text{'env_name'}</b></td> ",
      "<td><b>$text{'env_value'}</b></td> </tr>\n";
for($i=0; $i<=@envs; $i++) {
	$envs[$i] =~ /^(\S+) (.*)$/;
	printf "<tr $cb> <td><input name=name$i size=20 value=\"%s\"></td>\n",
		$i<@envs ? $1 : "";
	printf "<td><input name=value$i size=40 value=\"%s\"></td> </tr>\n",
		$i<@envs ? $2 : "";
	}
print "</table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
070701000048a1000081e40000000000000002000000013d1fe2b8000007b0000000200000000000000000000000000000001900000003reloc/cron/exec_cron.cgi  #!/usr/local/bin/perl
# exec_cron.cgi
# Execute an existing cron job, and display the output

require './cron-lib.pl';
&ReadParse();

@jobs = &list_cron_jobs();
$job = $jobs[$in{'idx'}];
&can_edit_user(\%access, $job->{'user'}) || &error($text{'exec_ecannot'});
&foreign_require("proc", "proc-lib.pl");

# split command into command and input
$job->{'command'} =~ s/\\%/\0/g;
@lines = split(/%/ , $job->{'command'});
foreach (@lines) { s/\0/%/g; }
for($i=1; $i<@lines; $i++) {
	$input .= $lines[$i]."\n";
	}

$| = 1;
$theme_no_table++;
&header($text{'exec_title'}, "");
print "<hr>\n";
&additional_log('exec', undef, $lines[0]);
&webmin_log("exec", "cron", $job->{'user'}, $job);

# Remove variables that wouldn't be in the 'real' cron
foreach $e ('SERVER_PORT', 'GATEWAY_INTERFACE', 'WEBMIN_VAR', 'SERVER_ROOT',
	    'REMOTE_USER', 'SERVER_ADMIN', 'REQUEST_METHOD', 'REMOTE_HOST',
	    'REMOTE_ADDR', 'SERVER_SOFTWARE', 'PATH_TRANSLATED', 'QUERY_STRING',
	    'MINISERV_CONFIG', 'SERVER_NAME', 'SERVER_PROTOCOL', 'REQUEST_URI',
	    'DOCUMENT_ROOT', 'WEBMIN_CONFIG', 'SESSION_ID', 'PATH_INFO',
	    'BASE_REMOTE_USER') {
	delete($ENV{$e});
	}
foreach $e (keys %ENV) {
	delete($ENV{$e}) if ($e =~ /^HTTP_/);
	}

# Set cron environment variables
foreach $e (&read_envs($job->{'user'})) {
	$ENV{$1} = $2 if ($e =~ /^(\S+)\s+(.*)$/);
	}

# Get command and switch uid/gid
@uinfo = getpwnam($job->{'user'});
$ENV{"HOME"} = $uinfo[7];
$ENV{"SHELL"} = "/bin/sh";
$ENV{"LOGNAME"} = $ENV{"USER"} = $job->{'user'};
$( = $uinfo[3];
$) = "$uinfo[3] $uinfo[3]";
($>, $<) = ($uinfo[2], $uinfo[2]);

# Execute cron command and display output..
print &text('exec_cmd', "<tt>$lines[0]</tt>"),"<p>\n";
print "<pre>";
$got = &foreign_call("proc", "safe_process_exec",
		     $lines[0], 0, 0, STDOUT, $input, 1);
print "<i>$text{'exec_none'}</i>\n" if (!$got);
print "</pre>\n";

print "<hr>\n";
&footer("edit_cron.cgi?idx=$in{'idx'}", $text{'edit_return'},
	"", $text{'index_return'});

070701000048a2000081a40000000000000002000000013d1fe2b80000013f000000200000000000000000000000000000001d00000003reloc/cron/feedback_files.pl  
do 'cron-lib.pl';

sub feedback_files
{
opendir(DIR, $config{'cronfiles_dir'});
local @rv = map { "$config{'cronfiles_dir'}/$_" } grep { !/^\./ } readdir(DIR);
closedir(DIR);
opendir(DIR, $config{'cron_dir'});
push(@rv, map { "$config{'cron_dir'}/$_" } grep { !/^\./ } readdir(DIR));
closedir(DIR);
return @rv;
}

1;

 07070100005edd000041ed0000000000000001000000023d1ff9f700000000000000200000000000000000000000000000001000000003reloc/cron/help   07070100005ede000081a40000000000000002000000013d1fe2b800000d93000000200000000000000000000000000000001d00000003reloc/cron/help/help.ca.html  <body bgcolor=#ffffff>
<title>Planificació d'Ordres  Treballs</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>Aquesta pàgina d'ajuda és incompleta</i></h2>
<hr>
<h3>Introducció</h3>
Aquest mòdul es pot fer servir per configurar ordres que s'executen
automàticament en hores especificades. Fa servir el dimoni estàndard
de Unix <tt>cron</tt>, que pot executar ordres com a usuaris diferents
en minuts, hores, dies del mes, dies de la setmana i mesos de l'any
seleccionats. Cada treball és propietat d'un usuari, i quan s'executa
ho fa amb els permisos d'aquest usuari. <p>

La pàgina principal del mòdul llista tots els treballs planificats
coneguts, agrupats per l'usuari d'execució. Alguns sistemes tindran
treballs que formen part del sistema operatiu, propietat d'usuaris
com ara <tt>root</tt> o <tt>sys</tt>. També hi poden haver usuaris
del sistema que fan servir l'ordre <tt>crontab</tt>, que són propietat
dels usuaris que els han creat. <p>

<hr>
<h3>Creant un Treball Planificat Nou</h3>
Per crear un treball nou, fes clic a <tt>Crea una nou treball planificat
amb cron</tt> al peu de la llista dels treballs. Això mostrarà un
formulari per introduir els paràmetres següents:
	<ul>
	<li><b>Usuari d'execució</b><br>
            El nom de login de l'usuari Unix sota el qual s'executarà.<p>
	<li><b>Actiu</b><br>
            Si un treball no està actiu, es mostrarà igualment a la llista
            de treballs, però no s'executarà segons està planificat. <p>
	<li><b>Ordre</b><br>
            L'ordre a executar a l'hora planificada. Això pot ser qualsevol
            ordre que executaries des de la línia d'ordres. <p>
	<li><b>Entrada de l'ordre</b><br>
            Si aquest camp no és buit, tot el que hi introdueixis se
            se subministrarà com a entrada a l'ordre quan aquesta s'executi.
            Per exemple, si l'ordre és <tt>mail foo@bar.com</tt> i l'entrada
            <tt>hola món</tt>,  llavors el text d'entrada s'enviarà per
            correu a <tt>foo@bar.com</tt>. <p>
	<li><b>Dia/Hora d'execució</b><br>
            Els moments en què s'executa l'ordre es trien especificant
            els minuts, hores, dies del mes, mesos de l'any i dies de
            la setmana. Per cadascun d'aquests, pots triar <tt>Tots</tt>
            o bé seleccionar quan s'ha d'executar l'ordre. <p>

            Per exemple, si tries 5 per l'hora i dimarts pel dia de la
            setmana, llavors l'ordre s'executarà cada minut des de les
            5:00am a les 5:59am tots els dimarts. <br>
            Alternativament, si tries 30 pels minuts i 14 per l'hora,
            llavors l'ordre s'executarà cada dia a les 2:30pm. <p>
	</ul><p>
Un cop emplenat el formulari, fes clic sobre el botó <tt>Crea</tt>
del peu de la pàgina. El nou treball tindrà efecte immediatament. <p>

<hr>
<h3>Editant un Treball Planificat Existent</h3>
Per editar un treball existent, fes clic sobre l'ordre de la llista 
de treballs de la pàgina principal. El formulari per editar un treball
és el mateix que per crear-ne un de nou, que ja hem descrit abans.
Un cop fets els canvis necessaris, fes clic sobre el botó <tt>Desa</tt>
del peu de la pàgina. <p>

Per suprimir un treball, fes clic sobre el botó <tt>Suprimeix</tt>
del peu del formulari d'edició. Això esborrarà immediatament el treball
sense demanar confirmació. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>

 07070100005edf000081a40000000000000002000000013d1fe2b800000ca5000000200000000000000000000000000000001d00000003reloc/cron/help/help.es.html  <body bgcolor=#ffffff>
<title>Scheduled Commands and Jobs</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
This module can be used to setup commands to be run automatically at
scheduled times. It uses the standard Unix <tt>cron</tt> daemon,
which can run commands as various users at selected minutes, hours, days
of the month, days of the week and months of the year. Every job is owned
by a user, and when executed runs with the permissions of that user. <p>

The module's main page lists all the known scheduled jobs, grouped by the
user to run as. Some systems will have jobs that are part of the
operating system, owned by users like <tt>root</tt> or <tt>sys</tt>.
There may also be jobs created by users on your system using the
<tt>crontab</tt> command, owned by the users who created them. <p>

<hr>
<h3>Creating a New Scheduled Job</h3>
To create a new job, click on the <tt>Create new Scheduled Job</tt> below
the list of existing jobs. This will display a form for entering the
following parameters :
	<ul>
	<li><b>User to run as</b><br>
	    The login name of the Unix users the job will be run as. <p>
	<li><b>Active?</b><br>
	    If a job is not active, it will still be displayed in the list
	    of known jobs, but will not be run on schedule. <p>
	<li><b>Command</b><br>
	    The actual Unix command to run at the schedules time. This can
	    be any command that you would type at the command line. <p>
	<li><b>Input to command</b><br>
	    If this field is not empty, then whatever you enter will be
	    provided as input to the command when it is run. For example,
	    if the command was <tt>mail foo@bar.com</tt> and the input
	    <tt>hello world</tt>, then the input text would be emailed to
	    <tt>foo@bar.com</tt>. <p>
	<li><b>Times to run</b><br>
	    The times when a command is run are chosen by specifying the
	    minutes, hours, days of the month, months of the year and
	    days of week to run. For each of these you can either choose
	    <tt>All</tt>, or select the times when the command should be
	    run. <p>

	    For example, if you chose 5 for the hour and tuesday for the
	    day of the week then the command would be run every minute from
	    5:00am to 5:59am on tuesdays. <br>
	    Alternatively, if you chose 30 for the minute and 14 for the hour,
	    then the command would be run every day at 2:30pm. <p>
	</ul><p>
Once you have filled in the form, click on the <tt>Create</tt> button on
the bottom on the page. The new job will take effect immediately. <p>

<hr>
<h3>Editing an Existing Scheduled Job</h3>
To edit an existing job, click on the command from the list of jobs
on the main page. The form for editing an existing job is the same as
the form for creating a new job, described above. One you have made
whatever changes are needed, click on the <tt>Save</tt> button at
the bottom of the page. <p>

To delete a job, click on the <tt>Delete</tt> button at the bottom
of the job editing form. This will immediately delete the job without
asking for confirmation. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>

   07070100005ee1000081a40000000000000002000000013d1fe2b800000d2f000000200000000000000000000000000000001d00000003reloc/cron/help/help.fr.html  <body bgcolor=#ffffff>
<title>Commandes et tâches programmées</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>Cette page d'aide est incomplète</i></h2>
<hr>
<h3>Introduction</h3>
Ce module peut être utilisé pour configurer des commandes à exécuter
automatiquement à des moments planifiés. Il utilise le daemon standard
Unix <tt>cron</tt>, qui peut exécuter des commandes en tant que divers
utilisateurs et à des minutes, heures, jours du mois, jours de la
semaine et mois précis. Chaque tâche appartient à un utilisateur, et
possède ses droits une fois lancée. <p>

La page principale du module liste toutes les tâches connues, regroupées
par utilisateur. Certains systèmes auront des tâches qui font partie du
système, dont le propriétaire est <tt>root</tt> ou <tt>sys</tt>.
Il peut aussi y avoir des tâches crées par des utilisateurs avec la
commande <tt>crontab</tt>, et appartenant aux utilisateurs qui les ont
crées. <p>

<hr>
<h3>Créer une nouvelle tâche</h3>
Pour créer une nouvelle tâche, cliquez sur <tt>Créer une nouvelle
tâche</tt> sous la liste des tâches existantes. Ceci affichera un
formulaire pour saisir les paramètres suivants :
	<ul>
	<li><b>L'utilisateur propriétaire</b><br>
	    Le login de l'utilisateur Unix propriétaire de la tâche. <p>
	<li><b>Actif?</b><br>
	    Si une tâche n'est pas active, elle apparaitra toujours dans
	    la liste des tâches mais elle ne s'exécutera jamais. <p>
	<li><b>Commande</b><br>
	    La commande Unix à exécuter aux moments choisis. Ce peut être
	    n'importe quelle commande que vous taperiez en ligne de
	    commande. <p>
	<li><b>Entrée de la commande</b><br>
	    Si ce champ n'est pas vide, tout ce que vous aurez mis sera
	    donné en entrée de la commande lors de son exécution. Par
	    exemple, si la commande était <tt>mail foo@bar.com</tt> et
	    l'entrée <tt>hello world</tt>, alors le texte en entrée serait
	    envoyé à <tt>foo@bar.com</tt>. <p>
	<li><b>Quand exécuter</b><br>
	    Les moments où la commande est exécutée sont choisis en
	    spécifiant les minutes, heures, jours du mois, jours de la
	    semaine et mois de l'année pour lesquels s'exécuter. Pour
	    chaque choix, vous pouvez choisir <tt>Tous</tt>, ou séléctionner
	    les moments précis des exécutions. <p>

	    Par exemple, si vous choisissez 5 pour l'heure et tuesday pour le
	    jour de la semaine la commande serait exécutée chaque minute de
	    5:00 à 5:59 les mardis. <br>
	    Autre exemple, si vous mettez juste 30 pour les minutes et 14 pour
	    les heures, la commande serait exécutée chaque jour à 14:30. <p>
	</ul><p>
Une fois le formulaire rempli, cliquez sur <tt>Créer</tt> en bas de la page.
La nouvelle tâche prendra effet instantanément. <p>

<hr>
<h3>Edition d'une tâche existante</h3>
Pour éditer une tâche existante, cliquez sur la commande dans la liste
des tâches de la page principale. Le formulaire de modification est le
même que celui pour la création, décrit plus haut. Une fois les
modifications souhaitées faites, cliquez sur le bouton <tt>Sauvegarder</tt>
en bas de page. <p>

Pour effacer une tâche, cliquez sur <tt>Effacer</tt> en bas de page
dans le formulaire d'édition. Cela effacera instantanément la tâche
sans demander confirmation. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Retourner au module</a><p>

 07070100005ee2000081a40000000000000002000000013d1fe2b800000ca5000000200000000000000000000000000000001a00000003reloc/cron/help/help.html <body bgcolor=#ffffff>
<title>Scheduled Commands and Jobs</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
This module can be used to setup commands to be run automatically at
scheduled times. It uses the standard Unix <tt>cron</tt> daemon,
which can run commands as various users at selected minutes, hours, days
of the month, days of the week and months of the year. Every job is owned
by a user, and when executed runs with the permissions of that user. <p>

The module's main page lists all the known scheduled jobs, grouped by the
user to run as. Some systems will have jobs that are part of the
operating system, owned by users like <tt>root</tt> or <tt>sys</tt>.
There may also be jobs created by users on your system using the
<tt>crontab</tt> command, owned by the users who created them. <p>

<hr>
<h3>Creating a New Scheduled Job</h3>
To create a new job, click on the <tt>Create new Scheduled Job</tt> below
the list of existing jobs. This will display a form for entering the
following parameters :
	<ul>
	<li><b>User to run as</b><br>
	    The login name of the Unix users the job will be run as. <p>
	<li><b>Active?</b><br>
	    If a job is not active, it will still be displayed in the list
	    of known jobs, but will not be run on schedule. <p>
	<li><b>Command</b><br>
	    The actual Unix command to run at the schedules time. This can
	    be any command that you would type at the command line. <p>
	<li><b>Input to command</b><br>
	    If this field is not empty, then whatever you enter will be
	    provided as input to the command when it is run. For example,
	    if the command was <tt>mail foo@bar.com</tt> and the input
	    <tt>hello world</tt>, then the input text would be emailed to
	    <tt>foo@bar.com</tt>. <p>
	<li><b>Times to run</b><br>
	    The times when a command is run are chosen by specifying the
	    minutes, hours, days of the month, months of the year and
	    days of week to run. For each of these you can either choose
	    <tt>All</tt>, or select the times when the command should be
	    run. <p>

	    For example, if you chose 5 for the hour and tuesday for the
	    day of the week then the command would be run every minute from
	    5:00am to 5:59am on tuesdays. <br>
	    Alternatively, if you chose 30 for the minute and 14 for the hour,
	    then the command would be run every day at 2:30pm. <p>
	</ul><p>
Once you have filled in the form, click on the <tt>Create</tt> button on
the bottom on the page. The new job will take effect immediately. <p>

<hr>
<h3>Editing an Existing Scheduled Job</h3>
To edit an existing job, click on the command from the list of jobs
on the main page. The form for editing an existing job is the same as
the form for creating a new job, described above. One you have made
whatever changes are needed, click on the <tt>Save</tt> button at
the bottom of the page. <p>

To delete a job, click on the <tt>Delete</tt> button at the bottom
of the job editing form. This will immediately delete the job without
asking for confirmation. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>

   07070100005ee3000081a40000000000000002000000013d1fe2b800000dfb000000200000000000000000000000000000001d00000003reloc/cron/help/help.it.html  <body bgcolor=#ffffff>
<title>Comandi e Lavori Pianificati</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduzione</h3>
Questo modulo pu&ograve; essere usato per impostare i comandi da eseguire
automaticamente in momenti schedulati. Usa il demone standard Unix <tt>cron</tt>,
che pu&ograve; eseguire comandi in nome di vari utenti al minuto,ora, giorno del
mese, giorno della settimana e mese selezionati. Ogni job (lavoro) appartiene ad un
utente, e quando viene eseguito possiede i permessi di quell'utente. <p>

La pagina principale del modulo elenca tutti i job schedulati, raggruppati per
utente proprietario. Qualche sistema ha dei job che sono parte del sistema 
operativo, di propriet&agrave; di utenti come <tt>root</tt> o <tt>sys</tt>.
Ci possono anche essere job creati da utenti sul tuo sistema usando il comando
<tt>crontab</tt>, appartenenti all'utente che li ha creati. <p>

<hr>
<h3>Creare un Nuovo Job Pianificato</h3>
Per creare un nuovo job, clicca <tt>Crea un nuovo cron job pianificato</tt> sotto
la lista dei job esistenti. Questo mostrer&agrave; un form per l'inserimento dei
seguenti parametri:
	<ul>
	<li><b>Esegui il cron job come</b><br>
        Il nome di login dell'utente Unix che il job impersoner&agrave;. <p>
	<li><b>Attivo?</b><br>
	    Se un job non &egrave; attivo, verr&agrave; visualizzato nella lista dei
        job conosciuti, ma non verr&agrave; eseguito. <p>
	<li><b>Comando</b><br>
	    Il comando Unix da eseguire nei momenti pianificati. Pu&ograve; essere
        qualsiasi comando che puoi avviare alla linea di comando. <p>
	<li><b>Input al comando</b><br>
	    Se questo campo non &egrave; vuoto, quello che ci scrivi verr&agrave;
        fornito come input al comando quando &egrave; in esecuzione. Per esempio,
        se il comando fosse <tt>mail pippo@pluto.com</tt> e l'input
        <tt>ciao mondo</tt>, allora la scritta in input verrebbe spedito in email a
        <tt>pippo@pluto.com</tt>. <p>
	<li><b>Quando eseguire</b><br>
        I {momenti} in cui eseguire un comando sono scelti specificando i
        minuti, ore, giorni del mese, mesi dell'anno e giorni della settimana.
	    Per ognuno di questi puoi scegliere <tt>Tutti</tt>, o selezionare i 
        {momenti} in cui il comando deve essere eseguito. <p>
        Per esempio, se scegliessi 5 per l'ora e marted&igrave; per il giorno allora
        il comando verrebbe eseguito ogni minuto dalle 5:00am alle 5:59pm di ogni 
        marted&igrave;. <br>
        Invece, se scegliessi 30 per il minuto e 14 per l'ora, il comando verrebbe
        eseguito tutti i giorni alle 14:30. <p>

	</ul><p>

Una volta che hai riempito il form, clicca sul pulsante <tt>Crea</tt> alla
vine della pagina. Il nuovo job sar&agrave; attivo immediatamente. <p>

<hr>
<h3>Modificare un Job Pianificato Esistente</h3>
Per modificare un job esistente, clicca sul comando nella lista dei job nella
pagina principale. Il form per modificare un job esistente &egrave; lo stesso
del form per creare un nuovo job, sopra descritto. Una volta che hai fatto la
modifica, clicca sul pulsnte <tt>Salva</tt> alla fine della pagina. <p>

Per eliminare un job, clicca sul pulsante <tt>Elimina</tt> alla fine della pagina
di modifica del job. Ci&ograve; causer&agrave; l'eliminazione immediata del job 
senza chiedere conferma. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Ritorna al modulo</a><p>

 07070100005eec000081a40000000000000002000000013d1fe2b800000e84000000200000000000000000000000000000001d00000003reloc/cron/help/help.nl.html  <body bgcolor=#ffffff>
<title>Geplande Cron Opdrachten</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>Deze help pagina is nog niet compleet</i></h2>
<hr>
<h3>Introductie</h3>
Deze module kan worden gebruikt om opdrachetn automatisch uit te voeren op
gezette tijden. het maakt gebruik van de standaard Unix <tt>cron</tt> daemon,
welke opdrachten kan uitvoeren als verschillende gebruikers op geselecteerde 
minuten, urenm dagen of maanden, dag van de week en maanden van het jaar. Iedere
opdracht is eigendom van een gebruiker, en wanneer het wordt uitgevoerd draait
het met de rechten van die gebruiker. <p>

De hoofdpagina van de module geeft alle bekende geplande opdrachten weer,
gegroepeerd op de gebruiker als welke de opdracht wordt uitgevoerd.
Sommige systemen zullen opdrachten hebben die onderdeel zijn van het besturingssysteem,
die eigendom zijn van gebruikers als <tt>root</tt> of <tt>sys</tt>.
Er zijn mogelijk ook opdrachten die met het <tt>crontab</tt> commando zijn aangemaakt 
door gebruikers op uw systeem, die eigendom zijn van de gebruikers die ze hebben aangemaakt<p>

<hr>
<h3>Een Nieuwe Geplande Opdracht aanmaken</h3>
Om een nieuwe opdracht aan te maken klikt u op <tt>Een nieuwe geplande opdracht aanmaken</tt>
onder de lijst met bestaande opdrachten. Dit zal een formulier weergeven waarin u de 
volgende parameters kunt invoeren :
	<ul>
	<li><b>Uitvoeren als gebruiker</b><br>
	    De loginnaam van de Unix gebruiker als wie de opdracht zal worden uitgevoerd. <p>
	<li><b>Actief?</b><br>
	    Als een opdracht niet actief is zal get nog steed worden weergegeven in de lijst
	    van bekende opdrachten, maar zal niet gepland worden uitgevoerd. <p>
	<li><b>Commando</b><br>
	    Het eigenlijke Unix commando om op gezette tijden uit te voeren.
	    Dit kan ieder commando zijn die u op de command line zou intypen. <p>
	<li><b>Invoer voor commando</b><br>
	    Als dit veld niet leeg is zal hetgeen u hier invoert worden gebruikt
	    als invoer voor de opdracht wanneer deze wordt uitgevoerd.
	    Als bijvoorbeeld de opdracht <tt>mail foo@bar.com</tt> en de invoer
	    <tt>hello world</tt> zou zijn, dan wordt de invoertekst gemaild naar
	    <tt>foo@bar.com</tt>. <p>
	<li><b>Wanneer uitvoeren</b><br>
		De tijden waarop het commando moet worden uitgevoerd worden bepaald 
		door de minuten, uren, dagen van de maand, maanden van het jaar en de 
		dagen van de week op te geven. Voor elk van deze kunt u <tt>Alle</tt>
		selecteren of de tijden waarop het commando moet worden uitgevoerd. <p>

	    Als u bijvoorbeeld 5 kiest voor het uur en dinsdag voor de dag van de week,
	    dan wordt het commando iedere dinsdag tussen 05:00 en 05:59 's nachts om de 
	    minut uitgevoerd. <br>
	    Wanneer u 30 kiest voor de minuten en 14 voor het uur, dan wordt het commando
	    iedre dag om 14:30 uitgevoerd. <p>
	</ul><p>
Wanneer u het formulier volledig heeft ingevuld, klikt u op de knop <tt>Aanmaken</tt> 
onderaan de pagina. De nieuwe opdracht zal dan direct worden geactiveerd. <p>

<hr>
<h3>Bewerken van een bestaande Opdracht</h3>
Om een bestaan de opdracht te bewerken, klikt u op het commando in de lijst op de hoofdpagina.
Het formulier waarop u een opdracht bewerkt is hetzelfde als degene waarop u een nieuwe
opdracht aanmaakt, welke hierboven beschreven is. Wanneer u de benodigde wijzigingen heeft 
gemaakt klikt u op de knop <tt>Opslaan</tt> onderaan de pagina. <p>

Om een opdracht te verwijderen klikt op de knop <tt>verwijderen</tt>
onderaan de pagina. Dit verwijderd de opdracht direct zonder om bevestiging te vragen. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Terug naar de module</a><p>

07070100005eed000081a40000000000000002000000013d1fe2b800000bec000000200000000000000000000000000000001d00000003reloc/cron/help/help.sv.html  <body bgcolor=#ffffff>
<title>Schemalagda kommandon och jobb</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>Denna hjälpsida är inte fullständig</i></h2>
<hr>
<h3>Introduktion</h3>
I denna modul kan du schemalägga automatisk körning av kommandon vid
tider som du anger. Modulen använder den vanliga Unix-demonen <tt>cron</tt>,
som kan köra kommandon som olika användare vid bestämda minuter, timmar,
på bestämda dagar i månaden, veckodagar och månader. Varje jobb ägs av
en användare, och när det utförs körs det med denna användares rättigheter.

<p>Förstasidan listar alla schemalagda jobb grupperade efter användare.
En del system har jobb som är en del av operativsystemet och som ägs av
användare som <tt>root</tt> eller <tt>sys</tt>. Det kan också finnas
jobb som har lagts in med hjälp av <tt>crontab</tt>-kommandot och som
då ägs av den användare som lade in dem.

<hr>
<h3>Schemalägga ett nytt jobb</h3>
Tryck på <tt>Schemalägg nytt jobb</tt> nedanför listan för att lägga till
ett nytt jobb till listan. Du får då upp ett formulär där du anger följande
uppgifter:
	<ul>
	<li><b>Användare att köra som</b>
	    <br>Inloggningsnamnet för den Unix-användare jobbet ska köras som.
	<li><b>Aktivt?</b>
	    <br>Om ett jobb inte är aktivt, kommer det fortfarande att visas i listan, men inte köras.
	<li><b>Kommando</b>
	    <br>Det Unix-kommando som ska köras vid angivna tidpunkter.
	    Detta kan vara vilket kommando som helst som du kan skriva på
	    kommandoraden.
	<li><b>Inmatning till kommandot</b>
	    <br>Om du fyller i något i detta fält kommer det att matas in
	    till kommandot när det körs. Om kommandot till exempel är
	    <tt>mail foo@bar.com</tt> och inmatningen <tt>hello world</tt>,
	    kommer den inmatade texten att e-postas till <tt>foo@bar.com</tt>.
	<li><b>Tidpunkter</b>
	    <br>Här anger du vid vilka tidpunkter kommandot ska köras.
	    Tidpunkterna anges som bestämda minuter, timmar, datum, månader
	    eller veckodagar. För vart och ett av dessa alternativ kan du
	    välja <tt>Alla</tt> eller välja de tidpunkter som kommandot ska
	    köras på.

	    <p>Om du exempelvis väljer timme 5 och veckodag tisdag, kommer
	    kommandot att köras varje minut från 5:00 till 5:59 på tisdagar.
	    <br>Om du väljer minut 30 och timme 14, kommer kommandot att
	    köras varje dag klockan 14:30.
	</ul>
<p>När du har fyllt i formuläret trycker du på <tt>Skapa</tt>-knappen
längst ned på sidan. Jobbet kommer att schemaläggas direkt.

<hr>
<h3>Ändra ett schemalagt jobb</h3>
Klicka på ett kommando i listan på förstasidan för att ändra i jobbet.
Det är samma formulär för att ändra ett jobb som för att skapa ett.
När du har gjort de ändringar du ville göra trycker du på <tt>Spara</tt>
längst ned på sidan.

<p>Tryck på <tt>Ta bort</tt> längst ned i formuläret för att ta bort
jobbet från listan. Detta kommer att ta bort jobbet direkt utan att
begära någon bekräftelse.


<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>

07070100005ef4000081a40000000000000002000000013d1fe2b800000873000000200000000000000000000000000000002500000003reloc/cron/help/help.zh_TW.Big5.html  <body bgcolor=#ffffff>
<title>©w®É°õ¦æ¤u§@»P«ü¥O</title>
<center><img src="images/cron.gif"></center><br>
<h2><i>³o­Ó»¡©ú­¶©|¥¼§¹¦¨</i></h2>
<hr>
<h3>«e¨¥</h3>
³o­Ó¼Ò²Õ¥i¥H¥Î©ó­n³Q¦Û°Ê¦b¯S©w®É¶¡°õ¦æªº«ü¥O. ¥¦¨Ï¥Î¼Ð·Çªº Unix <tt>cron</tt> ¦uÅ@ªÌ, ³o¥i¥H¦b¿ï¾Üªº®É¶¡ (¤À, ®É, ¤é, ¬P´Á, ¤ë), ¥H¯S©wªº¨Ï¥ÎªÌ¨­¤À»PÅv­­°õ¦æ«ü¥O. <p>

³o­Ó¼Ò²Õªº¥D­nµe­±¦C¥X©Ò¦³¤wª¾ªº©w®É°õ¦æ¤u§@, ¨Ì¾Ú¨Ï¥ÎªÌ¨­¤À±Æ¦C. ¦³¨Ç¨t²Î·|¦³§@¬°§@·~¨t²Î¤@³¡¥÷ªº¤u§@, ³o¨Ç¤u§@³q±`ªº¨Ï¥ÎªÌ¬° <tt>root</tt> ©Î <tt>sys</tt>. ¤]¥i¯à¦³¤@¨Ç¨t²Î¤W¨Ï¥ÎªÌ§Q¥Î <tt>crontab</tt> ¦Û¦æ«Ø¥ßªº©R¥O, ¦Ó¥BÄÝ©ó«Ø¥ß¥¦­Ìªº¨Ï¥ÎªÌ. <p>

<hr>
<h3>«Ø¥ß·sªº©w®É°õ¦æ¤u§@</h3>
­n«Ø¥ß¤@­Ó·sªº¤u§@, «ö¤U²{¦s¤u§@¦Cªí¤U­±ªº<tt>«Ø¥ß·sªº©w®É°õ¦æ¤u§@</tt>«ö¶s. ³o±N·|Åã¥Ü¤@­Óªí³æ¨Ã­n¨D¤U­±ªº°Ñ¼Æ:
	<ul>
	<li><b>°õ¦æ©w®É°õ¦æ¤u§@ªº¨Ï¥ÎªÌ</b><br>
	    °õ¦æ³o­Ó¤u§@ªº Unix ¨Ï¥ÎªÌµn¤J¦WºÙ. <p>
	<li><b>¬O§_±Ò°Ê?</b><br>
	    ¦pªG¤u§@¨S¦³±Ò°Ê, ¥¦¤´µM·|¦C¦b©Ò¦³¤wª¾ªº¤u§@¤§¤¤, ¦ý¬O±N¤£·|¨Ì¾Ú¦æµ{ªí°õ¦æ. <p>
	<li><b>©R¥O</b><br>
	    ©Ò»Ý­n°õ¦æªº¹ê»Ú Unix ©R¥O. ³o¥i¥H¬O¥ô¦ó±z¯à¦b©R¥O¦C¿é¤Jªº©R¥O. <p>
	<li><b>µ¹©R¥Oªº¿é¤J</b><br>
	    ¦pªG³o­Ó°Ï°ì¤£¬OªÅ¥Õªº, «h±z©Ò¿é¤JªºªF¦è±N·|¦b«ü¥O³Q°õ¦æ®É¿é¤Jµ¹«ü¥O. ¨Ò¦p¦pªG«ü¥O¬° <tt>mail foo@bar.com</tt> ¨Ã¿é¤J <tt>hello world</tt>, «h¿é¤Jªº <tt>hello world</tt> ±N·|³Q»¼°eµ¹ <tt>foo@bar.com</tt>. <p>
	<li><b>°õ¦æªº®É¶¡</b><br>
	    ±z¥i¥H¨Ì¾Ú ¤À, ®É, ¤é, ¬P´Á, ¤ë µ¥¥H³]©w­n°õ¦æ©R¥Oªº®É¶¡. ¹ï©ó¨C¤@¶µ±z³£¥i¥H¿ï¾Ü<tt>¥þ³¡</tt>, ©Î¿ï¾Ü¯S©wÀ³¸Ó­n°õ¦æªº®É¶¡. <p>

	    Á|¨Ò¨Ó»¡, ¦pªG±z¦b"®É"¿ï¾Ü¤F 5, ¦P®É¿ï¾Ü"¬P´Á¤G", «h±zªº«ü¥O±N·|¦b¥ô¦ó¬P´Á¤Gªº 5:00am ¨ì 5:59am ¤§¶¡ªº¥ô·N¤ÀÄÁ³Q°õ¦æ. <br>
	    ©ÎªÌ¬O¦pªG±z¦b"¤À"¤§¤¤¿ï¾Ü¤F 30, ¨Ã¦b"®É"¿ï¾Ü¤F 14, «h©R¥O±N·|¦b¨C¤Ñªº 2:30 pm ³Q°õ¦æ. <p>
	</ul><p>
·í±z¶ñ§¹¤F³o­Óªí³æ«á, «ö¤Uµe­±©³ºÝªº<tt>«Ø¥ß</tt>«ö¶s. ³o­Ó·s¤u§@±N·|¥ß¨è¥Í®Ä. <p>

<hr>
<h3>½s¿è²{¦sªº©w®É°õ¦æ¤u§@</h3>
­n½s¿è²{¦sªº¤u§@, «ö¤U¥Dµe­±¦Cªí¤¤ªº©R¥O. ½s¿è²{¦s¤u§@ªºªí³æ°ò¥»¤W»P«e­zªº«Ø¥ß·s¤u§@ªí³æ¬Û¦P. ·í±z§¹¦¨¤F¥²¶·ªºÅÜ§ó¤§«á, «ö¤Uµe­±©³ºÝªº<tt>Àx¦s</tt>«ö¶s. <p>

­n§R°£¤@­Ó¤u§@, «ö¤U¤u§@½s¿èªí³æ¤U­±ªº<tt>§R°£</tt>«ö¶s. ³o±N·|¥ß§Y§R°£¤u§@¦Ó¨S¦³¶i¤@¨Bªº½T»{­n¨D. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>

 07070100005f0f000081a40000000000000002000000013d1fe2b8000000ba000000200000000000000000000000000000001e00000003reloc/cron/help/intro.ca.html <header>Planificació de Treballs Cron</header>

<h3>Introducció als Treballs Cron</h3>
Un treball cron és una ordre que s'executa en segon pla en el sistema
d'una forma periòdica.
<hr>

  07070100005f10000081a40000000000000002000000013d1fe2b8000000c6000000200000000000000000000000000000001e00000003reloc/cron/help/intro.es.html <header>Tareas planificadas de Cron</header>

<h3>Introducción a Tareas de Cron</h3>
Una tarea de cron es un comando que ejecuta tu sistema en segundo plano
basándose en criterios periódicos.
<hr>

  07070100005f11000081a40000000000000002000000013d1fe2b8000000b4000000200000000000000000000000000000001e00000003reloc/cron/help/intro.fr.html <header>Tâches cron</header>

<h3>Introduction aux tâches cron</h3>
Une tâche cron est une commande qui s'exécute en tâche de fond sur
votre système à intervalles réguliers.
<hr>

07070100005f13000081a40000000000000002000000013d1fe2b8000000a9000000200000000000000000000000000000001b00000003reloc/cron/help/intro.html    <header>Scheduled Cron Jobs</header>

<h3>Introduction to Cron Jobs</h3>
A cron job is a command that in run in the background on your system
on a periodic basis.
<hr>

   07070100005f19000081a40000000000000002000000013d1fe2b8000000b0000000200000000000000000000000000000001e00000003reloc/cron/help/intro.hu.html <header>Tervezett Cron munkák</header>

<h3>Bevezetés a Cron munkákba</h3>
Egy cron munka nem más, mint egy parancs, amely az Ön rendszerének hátterében
ismétlõdõen fut.
<hr>

07070100005f1c000081a40000000000000002000000013d1fe2b8000000b5000000200000000000000000000000000000001e00000003reloc/cron/help/intro.it.html <header>Cron Jobs Pianificati</header>

<h3>Introduzione ai Cron Job</h3>
Un cron job &egrave; un comando che viene eseguito in background 
sul tuo sistema in base periodica.
<hr>

   07070100005f1e000081a40000000000000002000000013d1fe2b8000000c1000000200000000000000000000000000000001e00000003reloc/cron/help/intro.nl.html <header>Geplande Cron Opdrachten</header>

<h3>Introductie voor Cron Opdrachten</h3>
Een cron opdracht is een commando dat op de achtergrond op uw systeem draait
op een periodieke basis.
<hr>

   07070100005f20000081a40000000000000002000000013d1fe2b80000009f000000200000000000000000000000000000001e00000003reloc/cron/help/intro.sv.html <header>Schemalagda cronjobb</header>

<h3>Introduktion till cronjobb</h3>
Ett cronjobb är ett kommando som körs periodiskt i bakgrunden på
ditt system.
<hr>

 07070100005f24000081a40000000000000002000000013d1fe2b800000082000000200000000000000000000000000000002600000003reloc/cron/help/intro.zh_TW.Big5.html <header>©w®É°õ¦æ¤u§@</header>

<h3>©w®É°õ¦æ¤u§@ªºÂ²¤¶</h3>
©w®É°õ¦æ¤u§@¬O¦b±zªº¨t²Î¤W¨Ì¾Ú¹w¥ý³]©wªº®É¶¡¦Ó¦b­I´º°õ¦æªº«ü¥O.

<hr>

  0707010000754e000041ed0000000000000001000000023d1ff9f800000000000000200000000000000000000000000000001200000003reloc/cron/images 07070100007612000081a40000000000000002000000013d1fe2b8000007b2000000200000000000000000000000000000001b00000003reloc/cron/images/icon.gif    GIF89a0 0 Æ  

††„ÂÆÌ¢¦¤âæì²¶¼JJL’–œÒÖÔª®¬jjlº¾ÄšžœòöôÊÎÌvz|ª®¼**,êîìÚÞÜÂº¼¢¢¤žŽ”¦ª´ºº¼ÂÂÄŽŽŒ^^\ššœÒÒÔ¶º¼nrt¾ÂÄž¢¤~‚„²²¼::<ÊÊÌªª¬êêì–šœÚÚÜ²²´úþüÎÒÌòòôââäÆÊÄ¦¦¤¶¶¼RRT’–¤ÖÚÜ®²´º¾Ìžžœúúü~~|®²¼224îòìÞâäŽ’”vvtŠŠŒÆÆÄæêì––”ÖÖÔ®®´¾¾¼öúôÎÎÌÞÞÜ¦¢¤ªª´ffdrvt††Œ¢¦¬ææä²¶ÄNNLÒÖÜª®´nnlšž¤zz|®®¼..,îîì¢¢¬ººÄÂÂÌŽŽ”bbdšš¤ÒÒÜ¶ºÄrrt¾ÂÌž¢¬‚‚„²²ÄBBDîêìÎÒÔ¦¦¬¶¶ÄVVTžž¤~~„®²Ä664îòô’’”ÆÆÌ––œ¾¾ÄöúüÎÎÔÞÞäªª¼ÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ€+‚ƒƒ…†„‰„…Œ+ˆŽ‚H“0H•“=Rd%%\“¢££—¤¦¤†H5sB0I)\-9‘Ž‹Œ”0ÀsQA:hÆhb]JR)––¦ÓÀ¿¨“{ZXh:vD4v&,‚‰îíðì„¢0@hh]8
AqˆACD…R.)üUŠRªG.ü(P‡ˆ.!€hà@HxÜL™R^/ˆñNNÒ£Ï• BØ¹‚'N9?š€+Ç	
‡ÓF*JP7etœ‰âÆM*!RŽˆ PTà€â"Dî A„¤Á@ì<r&ÄVŽþU­jÈ¢ MzÚË·h‹9Çâ ¡ÉÁ&Gªv6 ¢#?\<9oˆ4v–Ä±‰n9;YÊä 4<ÕÉŠ);t è‚Â&ŠÃYfÐ‰ðâE™˜,èT¢GƒxŠt­@’áf ÀMµ³@„6xÌðà‚–2„x²EÀÁµkÒ`è)‘s T7ÀÃ Z¢@F„4XDA
JHQ‡d²SÂ0ÕƒX•E7ÞDˆ‡;“D	'¬F%+ôPBvÄE„ †nàÄxtE0¡0}1Ä.‡¬Ò@	À§`$þ¦45QEvUÅFeAÕL1P«å€T …h¼‡™sñÒ ØñM§@Šñ1Áò(I.8€|`f]$BQTQ©¨A™œÁzDIÃL<šE 8â0
e¨ÅV’â0Õg+QWÄp\‚Ë!áÀ,#aÀ¡C±¡‡WPPg%f„	vxAÜ!î+ä²Â	fhaª>:¸1“]lv[\P€°@{Ø‚K$®³÷Äˆlhà±Uœpé0ƒÃ„†ÿ)ÃŒpÁW<)”SiäáœÐÑÉuOþpü}8x pNI¬ãQHQ!”?À©S5DŒYèCDbàÈê@	ð…£ìbÉ
,¬áB	B€AUSA„ÌrèÅq„lDˆ4ÑŒÑ”X²ˆM¥A¸Fv”'jë_O(í<“¢÷Dˆ’W‘…¡]¸Ñ-8Ü×UYm%"#JÒ÷rdB eL©A#È±!„GgN7W]wU W!ØXZÒÑ¼ìX 	 ¦Ã¯ÁFlUŠ1Q@ëØE=ƒwÀé\Ä¡…`t‹·¡€Ât@ˆÖMiþÜcY{ÇZþfäá¸N‘(„PSêè»[oeh yo¾ååE$`à€hÈC¾˜QÇ:ØÙ	ŽÑ™åáØ[ìþ7/ ^(ˆ{ä`(@a'1£}²`Ð¥	`¸ƒ8+ÊÅŽlÕ@DR@·
 m'<Y‘„p$( Ceà@–`h]Žƒxb„°
ÜEi[Q‹Ô°$Ò akYˆÎ0€åâäÚ
Ð¸‚œ 	ªX„&)à%:ðˆÌt‡"¡Y®YE%ÆR	v°™Û\ç°2;”†eÐG*†¨ÀU‰ˆF&/þ!Èò	Â%À€í8 (é Ðç²…<$a	¨F;Ø(ÈvŒ"`ÁJÀ„«l
G.Ô@r¥€™@	Và@.V14fRoÐšGN< ¹ÒÊP( WJ ‚Ô Vƒà¤-euÆ ÅJy0 û´y8 c
‚Rp‡8!€O|ÖòÌ36ò	BRøÜ 4ADˆ3j ” lLžåÒ»&Œ!°Â@6øà-(Ì¹AtPƒ-ué)–`8ôÁyÈÀŽõOiM£.5_G=©‡ä kBUð@ 	4 1èP=)S bÃ§f„©( ;  070701000048a3000081e40000000000000002000000013d1fe2b800000add000000200000000000000000000000000000001500000003reloc/cron/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display a list of all cron jobs, with the username and command for each one

require './cron-lib.pl';

&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";
map { $ucan{$_}++ } split(/\s+/, $access{'users'});
@jobs = &list_cron_jobs();
@ulist = &unique(map { $_->{'user'} } @jobs);
if ($access{'mode'} == 1) {
	@ulist = grep { $ucan{$_} } @ulist;
	}
elsif ($access{'mode'} == 2) {
	@ulist = grep { !$ucan{$_} } @ulist;
	}
elsif ($access{'mode'} == 3) {
	@ulist = ( $remote_user );
	}
foreach $u (@ulist) {
	if ((@uinfo = getpwnam($u)) && $uinfo[5] =~ /\S/) {
		$uname = "$u ($uinfo[5])";
		}
	else { $uname = $u; }

	@jlist = grep { $_->{'user'} eq $u } @jobs;
	@plist = ();
	for($i=0; $i<@jlist; $i++) {
		local $rpd = &is_run_parts($jlist[$i]->{'command'});
		local @exp = $rpd ? &expand_run_parts($rpd) : ();
		if (!$rpd || @exp) {
			push(@plist, [ $jlist[$i], \@exp ]);
			}
		}
	for($i=0; $i<@plist; $i++) {
		local $job = $plist[$i]->[0];
		local @exp = @{$plist[$i]->[1]};
		local $idx = $job->{'index'};
		if (!$donehead) {
			print "<a href=\"edit_cron.cgi?new=1\">$text{'index_create'}</a> <br>\n";
			print "<table border width=100%> <tr $tb>\n";
			if (@ulist != 1 || $access{'mode'} != 3) {
				print "<td><b>$text{'index_user'}</b></td>\n";
				}
			print "<td><b>$text{'index_active'}</b></td>\n";
			print "<td><b>$text{'index_command'}</b></td> </tr>\n";
			$donehead = 1;
			}
		print "<tr $cb>\n";
		if ($i == 0 && (@ulist != 1 || $access{'mode'} != 3)) {
			printf "<td valign=top rowspan=%d>", scalar(@plist);
			#if ($config{'vixie_cron'}) {
			#	print "<a href=\"edit_env.cgi?$uname\">",
			#	      "$uname</a>";
			#	}
			#else { print $uname; }
			print &html_escape($uname);
			print "</td>\n";
			}
		printf "<td valign=top>%s</td>\n",
			$job->{'active'} ? $text{'yes'}
				: "<font color=#ff0000>$text{'no'}</font>";
		if (@exp) {
			@exp = map { &html_escape($_) } @exp;
			print "<td><a href=\"edit_cron.cgi?idx=$idx\">",
			      join("<br>",@exp),"</a></td>\n";
			}
		else {
			local $cmd = $job->{'command'};
			$cmd =~ s/\\%/\0/g; $cmd =~ s/%.*$//;
			$cmd =~ s/\0/%/g;
			$cmd = &html_escape($cmd);
			printf "<td><a href=\"edit_cron.cgi?idx=$idx\">".
			       "%s</a>%s</td>\n",
				length($cmd) > 60 ? substr($cmd, 0, 60) :
				$cmd !~ /\S/ ? "BLANK" : $cmd,
				length($cmd) > 60 ? " ..." : "";
			}
		print "</tr>\n";
		}
	}
if ($donehead) {
	print "</table>\n";
	}
else {
	print "<b>$text{'index_none'}</b> <p>\n";
	}
print "<a href=\"edit_cron.cgi?new=1\">$text{'index_create'}</a> <p>\n";

if ($config{cron_allow_file} && $config{cron_deny_file} && $access{'allow'}) {
	print "<h3><a href=edit_allow.cgi>$text{'index_allow'}</a></h3>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

   07070100008dc6000041ed0000000000000001000000023d1ff9f900000000000000200000000000000000000000000000001000000003reloc/cron/lang   07070100008dc7000081a40000000000000002000000013d1fe2b800000b21000000200000000000000000000000000000001300000003reloc/cron/lang/ca    index_title=Planificació de Treballs Cron
index_user=Usuari
index_active=Actiu
index_command=Ordre
index_none=No hi ha treballs cron al sistema
index_create=Crea una nou treball planificat amb cron
index_allow=Controla l'accés dels usuaris als treballs cron
index_return=a la llista de cron

edit_title=Edició de Treball Cron
create_title=Creació de Treball Cron
edit_ecannot=No tens permís per editar treballs cron d'aquest usuari
edit_details=Detalls del treball
edit_user=Executa el treball cron com
edit_active=Activa
edit_commands=Ordres
edit_command=Ordre
edit_input=Entrada de l'ordre
edit_when=Temps d'execució
edit_mins=Minuts
edit_hours=Hores
edit_days=Dies
edit_months=Mesos
edit_weekdays=Dies de la Setmana
edit_all=Tots
edit_selected=Seleccionats ...
edit_run=Executa'l Ara
edit_return=al treball cron

month_1=Gener
month_2=Febrer
month_3=Març
month_4=Abril
month_5=Maig
month_6=Juny
month_7=Juliol
month_8=Agost
month_9=Setembre
month_10=Octubre
month_11=Novembre
month_12=Desembre

day_0=Diumenge
day_1=Dilluns
day_2=Dimarts
day_3=Dimecres
day_4=Dijous
day_5=Divendres
day_6=Dissabte

save_err=No he pogut desar el treball cron
save_ecmd=No has introduït l'ordre a executar
save_euser=Has de seleccionar un usuari
save_euser2=L'usuari '$1' no existeix
save_eallow=L'usuari '$1' no té permís per accedir a cron
save_ecannot=No tens permís per crear ni editar treballs cron de '$1'
save_enone=No has triat cap $1 per executar

allow_title=Control d'Accés a Cron
allow_desc=Aquest formulari permet controlar quins usuaris poden crear i executar treballs cron.
allow_ecannot=No pots controlar l'accés dels usuaris a cron
allow_all1=Denega'l a tots als usuaris
allow_all2=Denega'l a tots als usuaris excepte root
allow_all3=Permet-lo a tots els usuaris
allow_allow=Permet-lo només als usuaris llistats
allow_deny=Denega'l només als usuaris llistats

env_title=Entorn de Cron
env_ecannot=Pots editar l'entorn de cron per a aquest usuari
env_desc=Entorn de cron per a $1
env_name=Nom de variable
env_value=Valor
env_ename='$1' no és un nom de variable vàlid

exec_title=Execució de Treball Cron
exec_ecannot=No tens permís per executar treballs cron d'aquest usuari
exec_cmd=El resultat de l'ordre $1 ...
exec_none=No s'ha generat cap sortida

acl_users=Pot editar treballs cron de
acl_all=Tots els usuaris
acl_this=L'usuari Webmin actual
acl_only=Només els usuaris
acl_except=Tots excepte els usuaris
acl_control=Pot controlar l'accés dels usuaris a cron

log_modify=He modificat el treball cron de $1
log_modify_l=He modificat el treball cron "$2" de $1
log_create=He creat el treball cron de $1
log_create_l=He creat el treball cron "$2" de $1
log_delete=He suprimit el treball cron de $1
log_exec=He executat el treball cron com $1
log_exec_l=He executat el treball cron "$2" com a $1
log_allow=He canviat l'accés de l'usuari a cron



   07070100008dc8000081a40000000000000002000000013d1fe2b8000008ce000000200000000000000000000000000000001300000003reloc/cron/lang/cz    index_title=Plánované úlohy CRONu
index_user=U¾ivatel
index_active=Aktivní?
index_command=Pøíkaz
index_none=Na tomto systému nejsou ¾ádné plánované úlohy
index_create=Vytvoøit novou plánovanou úlohu
index_allow=Nastavit u¾ivatelský pøístup k plánovaným úlohám
index_return=cron výpis

edit_title=Editovat plánovanou úlohu
create_title=Vytvoøit novou úlohu
edit_ecannot=Nemáte oprávnìní editovat plánované úlohy pro tohoto u¾ivatele
edit_details=Detaily úlohy
edit_user=Spustit pøíkaz jako
edit_active=Aktivní?
edit_commands=Pøíkazy
edit_command=Pøíkaz
edit_input=Vstup pøíkazu???
edit_when=Èas spou¹tìní
edit_minutes=Minuty
edit_hours=Hodiny
edit_days=Dny
edit_months=Mìsíce
edit_weekdays=Dny v týdnu
edit_all=V¹echny
edit_selected=Vybrané ..
edit_run=Spustit teï

month_1=Leden
month_2=Únor
month_3=Bøezen
month_4=Duben
month_5=Kvìten
month_6=Èerven
month_7=Èervenec
month_8=Srpen
month_9=Záøí
month_10=Øíjen
month_11=Listopad
month_12=Prosinec

day_0=Nedìle
day_1=Pondìlí
day_2=Støeda
day_3=Ètvrtek
day_4=Pátek
day_5=Sobota
day_6=Nedìle

save_err=Chyba pøi ukládání úlohy
save_ecmd=Nezadal jste pøíkaz ke spou¹tìní
save_euser=Musíte vybrat u¾ivatele
save_eallow=U¾ivatel '$1' nemá povolen pøístup ke cronu
save_ecannot=Nemáte oprávnìní vytvoøit úlohu pro '$1'
save_enone=Nevybral jste ¾ádné $1 ke spu¹tìní

allow_title=Nastavení pøístupu ke Cronu
allow_desc=Tento formuláø umo¾òuje nastavit který u¾ivat mù¾e vytváøet a spou¹tìt plánované úlohy
allow_ecannot=Vy nemù¾ete nastavit pøístupová práva
allow_all1=Zakázat v¹echny u¾ivatele
allow_all2=Zakázat v¹echny u¾ivatele mimo roota
allow_all3=Povolit v¹echny u¾ivatele
allow_allow=Povolit pouze nalistované u¾ivatele
allow_deny=Zakázat pouze nalistované u¾ivatele

env_title=Cron prostøedí
env_ecannot=Nemù¾ete editovat prostøedí pto tohoto u¾ivatele
env_desc=Cron prostøedí pro $1
env_name=Promìnlivé jméno
env_value=Hodnota
env_ename='$1' není platné promìnlivé jméno

exec_title=Spustit úlohu
exec_ecannot=Nemáte oprávnìní spou¹tìt úlohu tohoto u¾ivatele
exec_cmd=Výstup pøíkazu $1 ..
exec_none=Nebyl generován ¾ádný výstup

acl_users=Mù¾e editovat úlohy pro
acl_all=V¹echny u¾ivatele
acl_only=Pouze u¾ivatele
acl_except=V¹echny mimo u¾ivatelù
acl_control=Mù¾e nastavit u¾ivatelský pøístup ke Cronu?  07070100008dc9000081a40000000000000002000000013d1fe2b800000a19000000200000000000000000000000000000001300000003reloc/cron/lang/de    index_title=Geplante Cron-Jobs
index_user=Benutzer
index_active=Aktiviert? 
index_command=Befehl
index_none=Es gibt keine Cron-Jobs auf diesem System
index_create=Neuer geplanter Cron-Job erstellt
index_allow=Benutzerzugriff auf Cron-Jobs kontrollieren
index_return=Cron-Liste
edit_title=Cron-Job bearbeiten
create_title=Cron-Job erstellen
edit_ecannot=Sie haben keine Berechtigung, Cron-Jobs f&uuml;r diesen Benutzer zu bearbeiten
edit_details=Job-Details
edit_user=F&uuml;hre Cron-Job aus als
edit_active=Aktiviert?
edit_commands=Befehle
edit_command=Befehl
edit_input=Eingabe an Befehl
edit_when=Wann soll das Programm ausgef&uuml;hrt werden
edit_mins=Minuten
edit_hours=Stunden
edit_days=Tage
edit_months=Monate
edit_weekdays=Wochentage
edit_all=Alle
edit_selected=Gew&auml;hlte ..
edit_run=F&uuml;hre jetzt aus
month_1=Januar
month_2=Februar
month_3=M&auml;rz
month_4=April
month_5=Mai
month_6=Juni
month_7=Juli
month_8=August
month_9=September
month_10=Oktober
month_11=November
month_12=Dezember
day_0=Sonntag
day_1=Montag
day_2=Dienstag
day_3=Mittwoch
day_4=Donnerstag
day_5=Freitag
day_6=Samstag
save_err=Fehler beim Speichern des Cron-Jobs
save_ecmd=Sie haben keinen auszuf&uuml;hrenden Befehl angegeben
save_euser=Sie m&uuml;ssen einen Benutzer angeben
save_eallow=Der Benutzer '$1' hat keine Berechtigung, auf Cron zuzugreifen
save_ecannot=Sie haben keine Berechtigung, Cron-Jobs f&uuml;r '$1' zu erstellen
save_enone=Sie haben keinen $1 zum Ausf&uuml;hren gew&auml;hlt
allow_title=Cron-Zugang kontrollieren
allow_desc=Dieses Formular erlaubt es ihnen, zu bearbeiten, welche Benutzer Cron-Jobs anlegen und ausf&uuml;hren d&uuml;rfen.
allow_ecannot=Sie haben keine Berechtigung, die Zugriffskontrolle zu &ouml;ffnen
allow_all1=Verweigere alle Benutzer
allow_all2=Verweigere alle Benutzer au&szlig;er Root
allow_all3=Erlaube alle Benutzer
allow_allow=Erlaube nur aufgelistete Benutzer
allow_deny=Verweigere nur aufgelistete Benutzer
env_title=Cron-Umgebung
env_ecannot=Sie haben keine Berechtigung, die Cron-Umgebung f&uuml;r diesen Benutzer zu bearbeiten
env_desc=Cron-Umgebung f&uuml;r $1
env_name=Variablename
env_value=Wert
env_ename='$1' ist kein g&uuml;ltiger Variablename
exec_title=F&uuml;hre Cron-Job aus
exec_ecannot=Sie haben keine Berechtigung, Cron-Jobs f&uuml;r diesen Benutzer auszuf&uuml;hren
exec_cmd=Ausgabe des Befehls $1 ..
exec_none=Es wurde keine Ausgabe erstellt
acl_users=Darf Cron-Jobs bearbeiten f&uuml;r
acl_all=Alle Benutzer
acl_only=Nur Benutzer
acl_except=Alle, au&szlig;er Benutzer
acl_control=Darf Zugriffsrechte f&uuml;r Benutzer bearbeiten?
   07070100008dca000081a40000000000000002000000013d1fe2b8000009ca000000200000000000000000000000000000001300000003reloc/cron/lang/en    index_title=Scheduled Cron Jobs
index_user=User
index_active=Active?
index_command=Command
index_none=There are no cron jobs on this system
index_create=Create a new scheduled cron job
index_allow=Control user access to cron jobs
index_return=cron list

edit_title=Edit Cron Job
create_title=Create Cron Job
edit_ecannot=You are not allowed to edit cron jobs for this user
edit_details=Job Details
edit_user=Execute cron job as
edit_active=Active?
edit_commands=Commands
edit_command=Command
edit_input=Input to command
edit_when=When to execute
edit_mins=Minutes
edit_hours=Hours
edit_days=Days
edit_months=Months
edit_weekdays=Weekdays
edit_all=All
edit_selected=Selected ..
edit_run=Run Now
edit_return=cron job

month_1=January
month_2=February
month_3=March
month_4=April
month_5=May
month_6=June
month_7=July
month_8=August
month_9=September
month_10=October
month_11=November
month_12=December

day_0=Sunday
day_1=Monday
day_2=Tuesday
day_3=Wednesday
day_4=Thursday
day_5=Friday
day_6=Saturday

save_err=Failed to save cron job
save_ecmd=You did not enter a command to execute
save_euser=You must select a user
save_euser2=User '$1' does not exist
save_eallow=The user '$1' is not allowed to access cron
save_ecannot=You are not allowed to create or edit cron jobs for '$1'
save_enone=You did not choose any $1 to execute

allow_title=Control Cron Access
allow_desc=This form allows you to control which users can create and run cron jobs.
allow_ecannot=You cannot control user access to cron
allow_all1=Deny all users
allow_all2=Deny all users except root
allow_all3=Allow all users
allow_allow=Allow only listed users
allow_deny=Deny only listed users

env_title=Cron Environment
env_ecannot=You cannot edit the cron environment for this user
env_desc=Cron Environment for $1
env_name=Variable Name
env_value=Value
env_ename='$1' is not a valid variable name

exec_title=Execute Cron Job
exec_ecannot=You are not allowed to execute cron jobs for this user
exec_cmd=Output from command $1 ..
exec_none=No output generated

acl_users=Can edit cron jobs for
acl_all=All users
acl_this=Current webmin user
acl_only=Only users
acl_except=All except users
acl_control=Can control user access to cron?

log_modify=Modified cron job for $1
log_modify_l=Modified cron job "$2" for $1
log_create=Created cron job for $1
log_create_l=Created cron job "$2" for $1
log_delete=Deleted cron job for $1
log_exec=Executed cron job as $1
log_exec_l=Execute cron job "$2" as $1
log_allow=Changed user access to cron
  07070100008dcb000081a40000000000000002000000013d1fe2b800000b15000000200000000000000000000000000000001300000003reloc/cron/lang/es    index_title=Tareas de Cron Catalogadas
index_user=Usuario
index_active=¿Activa?
index_command=Comando
index_none=No hay tareas de cron en este sistema
index_create=Crear una nueva tarea de cron en catálogo
index_allow=Controlar el acceso de usuarios a tareas de cron
index_return=lista de cron

edit_title=Editar Tarea de Cron
create_title=Crear Tarea de Cron
edit_ecannot=No estás autorizado a editar tareas de cron para este usuario
edit_details=Detalles de Tarea
edit_user=Ejecutar tarea de cron como
edit_active=¿Activa?
edit_commands=Comandos
edit_command=Comando
edit_input=Entrada del comando
edit_when=Cuándo ejecutar
edit_minutes=Minutos
edit_hours=Horas
edit_days=Días
edit_months=Meses
edit_weekdays=Días de Semana
edit_all=Todos
edit_selected=Seleccionado...
edit_run=Ejecutar Ahora

month_1=Enero
month_2=Febrero
month_3=Marzo
month_4=Abril
month_5=Mayo
month_6=Junio
month_7=Julio
month_8=Agosto
month_9=Septiembre
month_10=Octubre
month_11=Noviembre
month_12=Diciembre

day_0=Domingo
day_1=Lunes
day_2=Martes
day_3=Miércoles
day_4=Jueves
day_5=Viernes
day_6=Sábado

save_err=Error al salvar tarea de cron
save_ecmd=No has digitado un comando para ejecutar
save_euser=Debes de seleccionar un usuario
save_euser2=El usuario '$1' no existe
save_eallow=El usuario '$1' no está autorizado a acceder a cron...
save_ecannot=No estás autorizado a crear o a editar tareas de cron para '$1'
save_enone=No has seleccionado un $1 para ejecutar

allow_title=Controlar Acceso de Cron
allow_desc=Este formulario te permite controlar qué usuarios pueden crear y ejecutar tareas de cron.
allow_ecannot=No puedes controlar el acceso del usuario a cron
allow_all1=Denegar a todos los usuarios
allow_all2=Denegar a todos los usuarios excepto a root
allow_all3=Permitir a todos los usuarios
allow_allow=Permitir sólo a los usuarios listados
allow_deny=Denegar sólo a los usuarios listados

env_title=Entorno de Cron
env_ecannot=No puedes editar el entorno de cron para este usuario
env_desc=Entorno de Cron para $1
env_name=Nombre de Variable
env_value=Valor
env_ename='$1' no es un Nombre de Variable válido

exec_title=Ejecutar Tarea de Cron
exec_ecannot=No estás autorizado a ejecutar tareas de cron para este usuario
exec_cmd=Salida del comando $1 ...
exec_none=No se ha generado salida

acl_users=Puedo editar tareas de cron para
acl_all=Todos los usuarios
acl_only=Sólo los usuarios
acl_except=Todos excepto los usuarios
acl_control=¿Puedo controlar el acceso de usuarios a cron?

log_modify=Modificada tarea de cron para $1
log_modify_l=Modificada tarea de cron "$2" para $1
log_create=Creada tarea de cron para $1
log_create_l=Creada tarea de cron "$2" para $1
log_delete=Borrada tarea de cron para $1
log_exec=Ejecutada tarea de cron como $1
log_exec_l=Ejecutada tarea de cron "$2" como $1
log_allow=Cambiado acceso de usuario a cron
   07070100008dcc000081a40000000000000002000000013d1fe2b800000b83000000200000000000000000000000000000001300000003reloc/cron/lang/fr    index_title=Tâches cron
index_user=Utilisateur
index_active=Actif?
index_command=Commande
index_none=Il n'y a pas de tâches cron sur ce système
index_create=Créer une nouvelle tâche cron programmée
index_allow=Contrôler l'accès aux utilisateurs des tâches cron
index_return=liste des tâches cron

edit_title=Editer une tâche cron
create_title=Créer une tâche cron
edit_ecannot=Vous n'êtes pas autorisé à éditer une tâche cron
edit_details=Détails de la tâche
edit_user=S'exécute en tant que
edit_active=Actif?
edit_commands=Commande
edit_command=Nom de la tâche
edit_input=Entrée de la commande
edit_when=Quand exécuter
edit_mins=Minute(s)
edit_hours=Heure(s)
edit_days=Jour(s) du mois
edit_months=Mois
edit_weekdays=Jour(s) de la semaine
edit_all=Tous
edit_selected=Sélectionné ..
edit_run=Exécuter maintenant

month_1=Janvier
month_2=Février
month_3=Mars
month_4=Avril
month_5=Mai
month_6=Juin
month_7=Juillet
month_8=Août
month_9=Septembre
month_10=Octobre
month_11=Novembre
month_12=Décembre

day_0=Dimanche
day_1=Lundi
day_2=Mardi
day_3=Mercredi
day_4=Jeudi
day_5=Vendredi
day_6=Samedi

save_err=Impossible d'enregistrer la tâche cron
save_ecmd=Vous n'avez pas entré de commande à exécuter
save_euser=Vous devez sélectionner un utilisateur
save_euser2=L'utilisateur '$1' n'existe pas
save_eallow=L'utilisateur $1 n'est pas autorisé à avoir accès aux tâches cron
save_ecannot=Vous n'avez pas le droit de créer des tâches cron pour $1
save_enone=Vous n'avez choisi aucun $1 à exécuter

allow_title=Contrôle des accès à cron
allow_desc=Cette page vous permet de choisir quels utilisateurs peuvent créer et exécuter des tâches cron.
allow_ecannot=Vous n'êtes pas autorisé à contrôler l'accès des utilisateurs aux tâches cron
allow_all1=Interdire tous les utilisateurs
allow_all2=Interdire tous les utilisateurs sauf root
allow_all3=Autoriser tous les utilisateurs
allow_allow=Autoriser seulement les utilisateurs listés
allow_deny=Interdire seulement les utilisateurs listés

env_title=Environnement cron
env_ecannot=Vous ne pouvez éditer l'environnement cron pour cet utilisateur
env_desc=Environnement cron pour $1
env_name=Nom de variable
env_value=Valeur
env_ename=$1 n'est pas un nom de variable valide

exec_title=Exécuter une tâche cron
exec_ecannot=Vous n'êtes pas autorisé à exécuter une tâche cron pour cet utilisateur
exec_cmd=Sortie de la commande $1 ..
exec_none=Aucune sortie générée

acl_users=Peut éditer une tâche cron pour
acl_all=Tous les utilisateur
acl_only=Seulement les utilisateurs
acl_except=Tous les utilisateur sauf
acl_control=Peut contrôler l'accès des utilisateurs à Cron?

log_modify=Tâche cron modifiée pour $1
log_modify_l=Tâche cron "$2" modifiée pour $1
log_create=Tâche cron créée pour $1
log_create_l=Tâche cron "$2" créée pour $1
log_delete=Tâche cron supprimée pour $1
log_exec=Tâche cron exécutée en tant que $1
log_exec_l=Tâche cron "$2" exécutée en tant que $1
log_allow=Accès utilisateur à cron modifié
 07070100008dcd000081a40000000000000002000000013d1fe2b800000a26000000200000000000000000000000000000001300000003reloc/cron/lang/hu    index_title=Tervezett Cron munkák
index_user=Fehasználó
index_active=Érvényes?
index_command=Parancs
index_none=Ezen a rendszeren nincsenek cron munkák
index_create=Új cron munka készítése
index_allow=A felhasználók hozzáférésének ellenõrzése a cron munkákhoz
index_return=a cron listához

edit_title=Cron munka szerkesztése
create_title=Cron munka készítése
edit_ecannot=Önnek nincs jogosultsága szerkeszteni ennek a felhasználónak a cron munkáit.
edit_details=A munka beállításai
edit_user=Cron munka futtatása mint
edit_active=Aktív?
edit_commands=Parancsok
edit_command=Parancs
edit_input=Adatbevitel a parancshoz
edit_when=Mikor futtassa
edit_mins=Percek
edit_hours=Órák
edit_days=Napok
edit_months=Hónapok
edit_weekdays=Hét napjai
edit_all=Mindben
edit_selected=Választottban ..
edit_run=Futtatás most

month_1=Január
month_2=Február
month_3=Március
month_4=Április
month_5=Május
month_6=Június
month_7=Július
month_8=Augusztus
month_9=Szeptember
month_10=Október
month_11=November
month_12=December

day_0=Vasárnap
day_1=Hétfõ
day_2=Kedd
day_3=Szerda
day_4=Csütörtök
day_5=Péntek
day_6=Szombat

save_err=A cron munka elmentése nem sikerült.
save_ecmd=Ön nem adott meg futtatandó parancsot.
save_euser=Egy felhasználót muszáj kiválasztani.
save_eallow=A(z) '$1' felhasználónak nincs jogosultsága hozzáférni a cron-hoz.
save_ecannot=Önnek nincs jogosultsága létrehozni '$1' cron munkáit.
save_enone=Semmilyen $1 nem lett kiválasztva végrehajtáshoz.

allow_title=Cron hozzáférés-szabályzás
allow_desc=Ezzel az ûrlappal megadhatja, hogy mely felhasználók hozhatnak létre és futtathatnak cron munkákat.
allow_ecannot=Ön nem szabályozhatja a felhasználók hozzáférését a cron-hoz.
allow_all1=Az összes felhasználó tiltása
allow_all2=Az összes felhasználó tiltása a root-ot kivéve
allow_all3=Az összes felhasználó engedélyezése
allow_allow=Csak a listában szereplõ felhasználók engedélyezése
allow_deny=Csak a listában szereplõ fehasználók tiltása

env_title=Cron környezet
env_ecannot=Ön nem állíthatja be ennek a felhasználónak a cron környezetét.
env_desc=$1 cron környezete
env_name=Változó neve
env_value=Értéke
env_ename=A(z) '$1' egy érvénytelen változó név.

exec_title=Cron munka végrehajtása
exec_ecannot=Önnek nincs jogosultsága ennek a felhasználónak a nevében cron munkát végrehajtani.
exec_cmd=A $1 parancs kimenete...
exec_none=Nincs kimenet.

acl_users=Tudja szerkeszteni a cron munkáit
acl_all=Az összes felhasználónak
acl_only=Csak az alábbi felhasználóknak
acl_except=Mindekiét, kivéve az alábbi felhasználókat
acl_control=Tudja szabályozni a felhasználói hozzáférést a cron-hoz?
  07070100008dce000081a40000000000000002000000013d1fe2b800000a6c000000200000000000000000000000000000001300000003reloc/cron/lang/it    index_title=Cron Jobs Pianificati
index_user=Utente
index_active=Attivo?
index_command=Comando
index_none=Non ci sono cron jobs su questo sistema
index_create=Crea un nuovo cron job pianificato
index_allow=Controlla l'accesso utente ai cron jobs
index_return=cron list

edit_title=Modifica Cron Job
create_title=Crea Cron Job
edit_ecannot=Non hai i permessi per modificare i cron jobs per questo utente
edit_details=Dettagli Job
edit_user=Esegui il cron job come
edit_active=Attivo?
edit_commands=Comandi
edit_command=Comando
edit_input=Input al comando
edit_when=Quando eseguire
edit_mins=Minuti
edit_hours=Ore
edit_days=Giorni
edit_months=Mesi
edit_weekdays=Giorni della settimana
edit_all=Tutti
edit_selected=Selezionati..
edit_run=Esegui Ora

month_1=Gennaio
month_2=Febbraio
month_3=Marzo
month_4=Aprile
month_5=Maggio
month_6=Giugno
month_7=Luglio
month_8=Agosto
month_9=Settembre
month_10=Ottobre
month_11=Novembre
month_12=Dicembre

day_0=Domenica
day_1=Luned&igrave;
day_2=Marted&igrave;
day_3=Mercoled&igrave;
day_4=Gioved&igrave;
day_5=Venerd&igrave;
day_6=Sabato

save_err=Salvataggio del cron job fallito
save_ecmd=Non hai inserito un comando da eseguire
save_euser=Devi selezionare un utente
save_eallow=L'utente '$1' non ha i permessi per accedere a cron
save_ecannot=Non hai i permessi per creare cron jobs per '$1'
save_enone=Non hai scelto nessun $1 da eseguire

allow_title=Controlla Accesso Cron
allow_desc=Questa pagina ti permette di controllare quali utenti possono
creare ed eseguire cron jobs.
allow_ecannot=Non puoi controllare l'accesso utenti a cron
allow_all1=Vieta tutti gli utenti
allow_all2=Vieta tutti gli utenti eccetto root
allow_all3=Permetti tutti gli utenti
allow_allow=Permetti solo questi utenti
allow_deny=Vieta solo questi utenti

env_title=Ambiente Cron
env_ecannot=Non puoi modificare l'ambiente cron per questo utente
env_desc=Ambiente Cron per $1
env_name=Nome Variabile
env_value=Valore
env_ename='$1' non &egrave; un nome variabile valido

exec_title=Esegui Cron Job
exec_ecannot=Non hai i permessi per eseguire i cron jobs di questo utente
exec_cmd=Output dal comando $1 ..
exec_none=Nessun output generato

acl_users=Pu&ograve; modificare i cron job per
acl_all=Tutti gli utenti
acl_only=Solo gli utenti
acl_except=Tutti eccetto gli utenti
acl_control=Pu&ograve; controllare l'accesso utenti a cron?

log_modify=Modificato cron job per $1
log_modify_l=Modificato cron job "$2" per $1
log_create=Creato cron job per $1
log_create_l=Creato cron job "$2" per $1
log_delete=Eliminato cron job per $1
log_exec=Eseguito cron job come $1
log_exec_l=Eseguito cron job "$2" come $1
log_allow=Accesso utente a cron modificato


07070100008dcf000081a40000000000000002000000013d1fe2b8000009d9000000200000000000000000000000000000001a00000003reloc/cron/lang/ja_JP.euc index_title=cron ¥¸¥ç¥Ö¤Î¥¹¥±¥¸¥å¡¼¥ë 
index_user=¥æ¡¼¥¶
index_active=Í­¸ú
index_command=¥³¥Þ¥ó¥É
index_none=¤³¤Î¥·¥¹¥Æ¥à¤Ë¤Ï cron ¥¸¥ç¥Ö¤Ï¤¢¤ê¤Þ¤»¤ó
index_create=¿·¤·¤¤¥¹¥±¥¸¥å¡¼¥ë¤Îcron¥¸¥ç¥Ö¤òºîÀ®
index_allow=cron ¥¸¥ç¥Ö¤Ø¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥»¥¹À©¸æ
index_return=cron¤Î¥ê¥¹¥È

edit_title=cron ¥¸¥ç¥Ö¤ÎÊÔ½¸
create_title=cron ¥¸¥ç¥Ö¤ÎºîÀ®
edit_ecannot=¤³¤Î¥æ¡¼¥¶¤Î cron ¥¸¥ç¥Ö¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_details=¥¸¥ç¥Ö¤Î¾ÜºÙ
edit_user=cron ¥¸¥ç¥Ö¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶
edit_active=Í­¸ú
edit_commands=¥³¥Þ¥ó¥É
edit_command=¥³¥Þ¥ó¥É
edit_input=¥³¥Þ¥ó¥É¤Î°ú¿ô
edit_when=¼Â¹Ô¤¹¤ë»þ´Ö
edit_mins=Ê¬
edit_hours=»þ
edit_days=Æü
edit_months=·î
edit_weekdays=ÍËÆü
edit_all=¤¹¤Ù¤Æ
edit_selected=ÁªÂò..
edit_run=º£¤¹¤°¼Â¹Ô

month_1=1·î
month_2=2·î
month_3=3·î
month_4=4·î
month_5=5·î
month_6=6·î
month_7=7·î
month_8=8·î
month_9=9·î
month_10=10·î
month_11=11·î
month_12=12·î

day_0=ÆüÍË
day_1=·îÍË
day_2=²ÐÍË
day_3=¿åÍË
day_4=ÌÚÍË
day_5=¶âÍË
day_6=ÅÚÍË

save_err=cron ¥¸¥ç¥Ö¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ecmd=¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_euser=¥æ¡¼¥¶¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
save_euser2=¥æ¡¼¥¶ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_eallow=¥æ¡¼¥¶ '$1' ¤Ï cron ¥¸¥ç¥Ö¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó
save_ecannot='$1' ¤Î cron ¥¸¥ç¥Ö¤ÏºîÀ®¤Þ¤¿¤ÏÊÑ¹¹¤Ç¤­¤Þ¤»¤ó
save_enone=¼Â¹Ô¤¹¤ë $1 ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

allow_title=cron ¥¢¥¯¥»¥¹À©¸æ
allow_desc=¤³¤Î²èÌÌ¤«¤é¡¢¥æ¡¼¥¶¤¬ºîÀ®¤·¼Â¹Ô¤Ç¤­¤ëcron¥¸¥ç¥Ö¤ÎÀ©¸æ¤ò¤·¤Þ¤¹¡£
allow_ecannot=cron ¥¸¥ç¥Ö¤Ø¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥»¥¹¤ÏÀ©¸æ¤Ç¤­¤Þ¤»¤ó
allow_all1=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤òµñÈÝ
allow_all2=root °Ê³°¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤òµñÈÝ
allow_all3=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤òµö²Ä
allow_allow=¥ê¥¹¥ÈÆâ¤Î¥æ¡¼¥¶¤Î¤ßµö²Ä
allow_deny=¥ê¥¹¥ÈÆâ¤Î¥æ¡¼¥¶¤Î¤ßµñÈÝ

env_title=cron ´Ä¶­
env_ecannot=¤³¤Î¥æ¡¼¥¶¤Î cron ¤Î´Ä¶­¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
env_desc=$1 ¤Î cron ´Ä¶­
env_name=ÊÑ¿ôÌ¾
env_value=ÃÍ
env_ename='$1' ¤ÏÌµ¸ú¤ÊÊÑ¿ôÌ¾¤Ç¤¹

exec_title=cron ¥¸¥ç¥Ö¤Î¼Â¹Ô
exec_ecannot=¤³¤Î¥æ¡¼¥¶¤Îcron ¥¸¥ç¥Ö¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó
exec_cmd=¥³¥Þ¥ó¥É $1¤«¤é¤Î½ÐÎÏ..
exec_none=ºîÀ®¤µ¤ì¤¿½ÐÎÏ¤Ï¤¢¤ê¤Þ¤»¤ó

acl_users=cron ¥¸¥ç¥Ö¤òÊÔ½¸¤Ç¤­¤ë¥æ¡¼¥¶
acl_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_only=¼¡¤Î¥æ¡¼¥¶¤Î¤ß
acl_except=¤³¤ì¤é¤Î¥æ¡¼¥¶°Ê³°¤Î¤¹¤Ù¤Æ
acl_control=cron ¥¸¥ç¥Ö¤Ø¤Î¥æ¡¼¥¶ ¥¢¥¯¥»¥¹¤òÀ©¸æ¤·¤Þ¤¹¤«¡©

log_modify=$1 ¤Î cron  ¥¸¥ç¥Ö¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_modify_l=¥æ¡¼¥¶ $1¤Îcron  ¥¸¥ç¥Ö "$2" ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=$1 ¤Î cron  ¥¸¥ç¥Ö¤òºîÀ®¤·¤Þ¤·¤¿
log_create_l=cron  ¥¸¥ç¥Ö "$2" ¤ò¥æ¡¼¥¶ $1 ¤ËºîÀ®¤·¤Þ¤·¤¿
log_delete=$1 ¤Îcron  ¥¸¥ç¥Ö¤òºï½ü¤·¤Þ¤·¤¿
log_exec=¥æ¡¼¥¶ $1 ¤È¤·¤Æ cron ¥¸¥ç¥Ö¤ò¼Â¹Ô¤·¤Þ¤·¤¿
log_exec_l=cron ¥¸¥ç¥Ö "$2" ¤ò¥æ¡¼¥¶ $1 ¤È¤·¤Æ¼Â¹Ô¤·¤Þ¤·¤¿
log_allow=cron ¥¸¥ç¥Ö¤Ø¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥»¥¹¤òÊÑ¹¹¤·¤Þ¤·¤¿
   07070100008dd0000081a40000000000000002000000013d1fe2b80000096b000000200000000000000000000000000000001a00000003reloc/cron/lang/ko_KR.euc index_title=¿¹¾àµÈ cron ÀÛ¾÷
index_user=»ç¿ëÀÚ
index_active=È°¼º »óÅÂÀÔ´Ï±î?
index_command=¸í·É
index_none=ÀÌ ½Ã½ºÅÛ¿¡ cron ÀÛ¾÷ÀÌ ¾ø½À´Ï´Ù
index_create=¿¹¾àµÈ cron ÀÛ¾÷À» »õ·Î ÀÛ¼ºÇß½À´Ï´Ù
index_allow=cron ÀÛ¾÷¿¡ ´ëÇÑ »ç¿ëÀÚ Á¢±Ù Á¦¾î
index_return=cron ¸ñ·Ï

edit_title=cron ÀÛ¾÷ ÆíÁý
create_title=cron ÀÛ¾÷ ÀÛ¼º
edit_ecannot=ÀÌ »ç¿ëÀÚÀÇ cron ÀÛ¾÷À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_details=ÀÛ¾÷ ¼¼ºÎ Á¤º¸
edit_user=cron ÀÛ¾÷ ½ÇÇà ÀÚ°Ý
edit_active=È°¼º »óÅÂÀÔ´Ï±î?
edit_commands=¸í·É
edit_command=¸í·É
edit_input=¸í·É ÀÔ·Â
edit_when=½ÇÇà ÀÏ½Ã
edit_mins=ºÐ
edit_hours=½Ã
edit_days=ÀÏ
edit_months=¿ù
edit_weekdays=ÆòÀÏ
edit_all=¸ðµÎ
edit_selected=¼±ÅÃÇÑ ½Ã°£..
edit_run=Áö±Ý ½ÇÇà

month_1=1¿ù
month_2=2¿ù
month_3=3¿ù
month_4=4¿ù
month_5=5¿ù
month_6=6¿ù
month_7=7¿ù
month_8=8¿ù
month_9=9¿ù
month_10=10¿ù
month_11=11¿ù
month_12=12¿ù

day_0=ÀÏ¿äÀÏ
day_1=¿ù¿äÀÏ
day_2=È­¿äÀÏ
day_3=¼ö¿äÀÏ
day_4=¸ñ¿äÀÏ
day_5=±Ý¿äÀÏ
day_6=Åä¿äÀÏ

save_err=cron ÀÛ¾÷À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ecmd=½ÇÇàÇÒ ¸í·ÉÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
save_euser=»ç¿ëÀÚ¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
save_euser2=»ç¿ëÀÚ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_eallow=»ç¿ëÀÚ '$1'Àº(´Â) cron¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù.
save_ecannot='$1'ÀÇ cron ÀÛ¾÷À» ÀÛ¼º ¶Ç´Â ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
save_enone=½ÇÇàÇÒ $1À»(¸¦) ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù.

allow_title=cron Á¢±Ù Á¦¾î
allow_desc=ÀÌ ¾ç½ÄÀ» »ç¿ëÇÏ¿© ¾î¶² »ç¿ëÀÚ°¡ cron ÀÛ¾÷À» ÀÛ¼º ¹× ½ÇÇàÇÒ ¼ö ÀÖ´ÂÁö¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
allow_ecannot=cron¿¡ ´ëÇÑ »ç¿ëÀÚ Á¢±ÙÀ» Á¦¾îÇÒ ¼ö ¾ø½À´Ï´Ù
allow_all1=¸ðµç »ç¿ëÀÚ °ÅºÎ
allow_all2=root¸¦ Á¦¿ÜÇÑ ¸ðµç »ç¿ëÀÚ °ÅºÎ
allow_all3=¸ðµç »ç¿ëÀÚ Çã¿ë
allow_allow=¸ñ·Ï¿¡ ÀÖ´Â »ç¿ëÀÚ¸¸ Çã¿ë
allow_deny=¸ñ·Ï¿¡ ÀÖ´Â »ç¿ëÀÚ¸¸ °ÅºÎ

env_title=cron È¯°æ
env_ecannot=ÀÌ »ç¿ëÀÚÀÇ cron È¯°æÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
env_desc=$1ÀÇ cron È¯°æ
env_name=º¯¼ö ÀÌ¸§
env_value=°ª
env_ename='$1'Àº(´Â) À¯È¿ÇÑ º¯¼ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

exec_title=cron ÀÛ¾÷ ½ÇÇà
exec_ecannot=ÀÌ »ç¿ëÀÚÀÇ cron ÀÛ¾÷À» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù
exec_cmd=¸í·É $1ÀÇ Ãâ·Â..
exec_none=»ý¼ºµÈ Ãâ·ÂÀÌ ¾ø½À´Ï´Ù

acl_users=cron ÀÛ¾÷ ÆíÁýÀÌ °¡´ÉÇÑ ´ë»ó
acl_all=¸ðµç »ç¿ëÀÚ
acl_only=»ç¿ëÀÚ¸¸
acl_except=»ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
acl_control=cron¿¡ ´ëÇÑ »ç¿ëÀÚ Á¢±ÙÀ» Á¦¾îÇÒ ¼ö ÀÖ½À´Ï±î?

log_modify=$1ÀÇ cron ÀÛ¾÷ ¼öÁ¤µÊ
log_modify_l=$1ÀÇ cron ÀÛ¾÷ "$2" ¼öÁ¤µÊ
log_create=$1ÀÇ cron ÀÛ¾÷ ÀÛ¼ºµÊ
log_create_l=$1ÀÇ cron ÀÛ¾÷ "$2" ÀÛ¼ºµÊ
log_delete=$1ÀÇ cron ÀÛ¾÷ »èÁ¦µÊ
log_exec=$1(À¸)·Î¼­ Cron ÀÛ¾÷ ½ÇÇàµÊ
log_exec_l=$1(À¸)·Î¼­ cron ÀÛ¾÷ "$2" ½ÇÇàµÊ
log_allow=cron¿¡ ´ëÇÑ »ç¿ëÀÚ Á¢±Ù ±ÇÇÑ º¯°æµÊ
 07070100008dd1000081a40000000000000002000000013d1fe2b800000b37000000200000000000000000000000000000001300000003reloc/cron/lang/nl    index_title=Geplande Cron Opdrachten
index_user=Gebruiker
index_active=Actief?
index_command=Opdracht
index_none=Er zijn geen cron opdrachten op dit systeem
index_create=Nieuwe geplande cronopdracht aangemaakt
index_allow=Beheer gebruikerstoegang tot cron opdrachten
index_return=cron lijst

edit_title=Bewerk Cron Opdracht
create_title=Maak Cron Opdracht Aan
edit_ecannot=U bent niet bevoegd om de cron opdrachten voor deze gebruiken
edit_details=Opdracht Details
edit_user=Voer cron opdracht uit als
edit_active=Actief?
edit_commands=Commando's
edit_command=Commando
edit_input=Invoer voor commando
edit_when=Wanneer uitvoeren
edit_mins=Minuten
edit_hours=Uren
edit_days=Dagen
edit_months=Maanden
edit_weekdays=Weekdagen
edit_all=Alle
edit_selected=Geselected ..
edit_run=Voer Nu Uit

month_1=januari
month_2=februari
month_3=maart
month_4=april
month_5=mei
month_6=june
month_7=juli
month_8=augustus
month_9=september
month_10=oktober
month_11=november
month_12=december

day_0=zondag
day_1=maandag
day_2=dinsdag
day_3=woensdag
day_4=donderdag
day_5=vrijdag
day_6=zaterdag

save_err=Fout bij het opslaan van cron opdrachten
save_ecmd=U heeft geen uit te voeren commando ingevuld
save_euser=U moet een gebruiker selecteren
save_euser2=Gebruiker '$1' bestaat niet
save_eallow=De gebruiker '$1' is niet bevoegd om cron te benaderen
save_ecannot=U bent niet bevoegd om cron opdrachten aan te maken of te bewerken voor '$1'
save_enone=U heeft geen $1 gekozen om uit te voeren

allow_title=Control Cron Toegang
allow_desc=Dit formulier stelt u in staat om aan te geven welke gebruikers cron opdrachten aanmaken uitvoeren.
allow_ecannot=U kunt niet de gebruikerstoegang tot crom beheren
allow_all1=Weiger alle gebruikers
allow_all2=Weiger alle gebruikers behalve root
allow_all3=Accepteer alle gebruikers
allow_allow=Accepteer alleen gebruikers in de lijst
allow_deny=Weiger alleen de gebruikers in de lijst

env_title=Cron Omgeving
env_ecannot=U kunt niet de cron omgeving bewerken voor deze gebruiker
env_desc=Cron Omgeving voor $1
env_name=Variable Naam
env_value=Waarde
env_ename='$1' is geen geldige variabele naam

exec_title=Voer Cron Opdracht Uit
exec_ecannot=U bent niet bevoegd om cron opdrachten voor deze gebruiker uit te voeren
exec_cmd=Uitvoer van commando $1 ..
exec_none=Geen uitvoer gegenereerd

acl_users=Kan cron opdrachten bewerken voor
acl_all=Alle gebruikers
acl_only=Alleen gebruikers
acl_except=Alle behalve de gebruikers
acl_control=Kan gebruikerstoegang tot cron beheren?

log_modify=Gewijzigd cron opdracht voor $1
log_modify_l=Gewijzigd cron opdracht "$2" voor $1
log_create=Aangemaakt cron opdracht voor $1
log_create_l=Aangemaakt cron opdracht "$2" voor$1
log_delete=Verwijderd cron opdracht voor $1
log_exec=Uitgevoerd cron opdracht als $1
log_exec_l=Uitgevoerdoert cron opdracht uit "$2" als $1
log_allow=Gewijzigd gebruikerstoegang naar cron
 07070100008dd2000081a40000000000000002000000013d1fe2b800000b02000000200000000000000000000000000000001300000003reloc/cron/lang/pl    index_title=Harmonogram zadañ crona
index_user=U¿ytkownik
index_active=Aktywne?
index_command=Polecenie
index_none=Brak zadañ dla crona
index_create=Utwórz nowe zadanie dla crona
index_allow=Zarz±dzaj dostêpem u¿ytkowników do zadañ crona
index_return=listy zadañ crona

edit_title=Zmieñ zadanie crona
create_title=Utwórz zadanie crona
edit_ecannot=Mie masz uprawnieñ do zmiany zadañ crona tego u¿ytkownika
edit_details=Dane zadania
edit_user=Uruchom zadanie crona jako
edit_active=Aktywne?
edit_commands=Polecenia
edit_command=Polecenie
edit_input=Wej¶cie dla polecenia
edit_when=Kiedy uruchomiæ
edit_mins=Minuty
edit_hours=Godziny
edit_days=Dni
edit_months=Miesi±ce
edit_weekdays=Dni tygodnia
edit_all=Wszystkie
edit_selected=Wybrane ..
edit_run=Uruchom teraz

month_1=Styczeñ
month_2=Luty
month_3=Marzec
month_4=Kwiecieñ
month_5=Maj
month_6=Czerwiec
month_7=Lipiec
month_8=Sierpieñ
month_9=Wrzesieñ
month_10=Pa¼dziernik
month_11=Listopad
month_12=Grudzieñ

day_0=Niedziela
day_1=Poniedzia³ek
day_2=Wtorek
day_3=¦roda
day_4=Czwartek
day_5=Pi±tek
day_6=Sobota

save_err=Nie uda³o siê zachowaæ zadania dla crona
save_ecmd=Nie poda³es polecenia do uruchomienia
save_euser=Musisz okre¶lic u¿ytkownika
save_euser2=U¿ytkownik '$1' nie istnieje
save_eallow=U¿ytkownik '$1' nie ma prawa dostêpu do crona
save_ecannot=Nie masz uprawnieñ do tworzenia ani zmieniania zadañ crona dla '$1'
save_enone=Nie wybra³e¶ ¿adnego $1 do uruchomienia

allow_title=Zarz±dzanie dostêpem do crona
allow_desc=Ten formularz pozwala ci okre¶liæ, którzy u¿ytkownicy mog± tworzyæ i uruchamiaæ zadania crona
allow_ecannot=Nie masz uprawnieñ do okre¶lania praw dostepu do crona
allow_all1=Zabroñ wszystkim
allow_all2=Zabroñ wszystkim oprócz roota
allow_all3=Pozwól wszystkim
allow_allow=Pozwól tylko wymienionym
allow_deny=Zabroñ tylko wymienionym

env_title=¦rodowisko crona
env_ecannot=Nie masz uprawnieñ do zmiany ¶rodowiska crona tego u¿ytkownika
env_desc=¦rodowisko crona dla $1
env_name=Nazwa zmiennej
env_value=Warto¶æ
env_ename='$1' nie jest poprawn± nazw± zmiennej

exec_title=Uruchom zadanie crona
exec_ecannot=Nie masz uprawnieñ do uruchamiania zadañ crona tego u¿ytkownika
exec_cmd=Wynik polecenia $1 ..
exec_none=Nie wygenerowano ¿adnego wyniku

acl_users=Mo¿e zmieniaæ zadania crona dla
acl_all=Wszystkich u¿ytkowników
acl_this=Aktualnego u¿ytkownika Webmina
acl_only=Tylko dla u¿ytkowników
acl_except=Wszystkich oprócz
acl_control=Mo¿e okre¶laæ prawa dostêpu u¿ytkowników do crona?

log_modify=Zmieniono zadanie crona dla $1
log_modify_l=Zmieniono zadanie crona "$2" dla $1
log_create=Utworzono zadanie crona dla $1
log_create_l=Utworzono zadanie crona "$2" dla $1
log_delete=Usuniêto zadanie crona dla $1
log_exec=Wykonano zadanie crona jako $1
log_exec_l=Wykonaj zadanie crona "$2" jako $1
log_allow=Zmieniono prawa dostêpu do crona
  07070100008dd3000081a40000000000000002000000013d1fe2b800000a76000000200000000000000000000000000000001300000003reloc/cron/lang/pt    index_title=Tarefas Agendadas (Cron)
index_user=Utilizador
index_active=Activo?
index_command=Comando
index_none=Não há tarefas agendadas neste sistema
index_create=Criar nova tarefa agendada
index_allow=Controlo de acesso de utilizadores a tarefas agendadas
index_return=lista de tarefas agendadas

edit_title=Editar Tarefa Agendada
create_title=Criar Tarefa Agendada
edit_ecannot=Você não está autorizado para editar tarefas agendadas para este utilizador
edit_details=Detalhes da Tarefa
edit_user=Executar tarefa agendada como
edit_active=Activo?
edit_commands=Comandos
edit_command=Comando
edit_input=Entrada para o comando
edit_when=A executar quando
edit_mins=Minutos
edit_hours=Horas
edit_days=Dias
edit_months=Meses
edit_weekdays=Dias da semana
edit_all=Todos
edit_selected=Seleccionados ..
edit_run=Executar agora

month_1=Janeiro
month_2=Fevereiro
month_3=Março
month_4=Abril
month_5=Maio
month_6=Junho
month_7=Julho
month_8=Agosto
month_9=Setembro
month_10=Outubro
month_11=Novembro
month_12=Dezembro

day_0=Domingo
day_1=Segunda-Feira
day_2=Terça-Feira
day_3=Quarta-Feira
day_4=Quinta-Feira
day_5=Sexta-Feira
day_6=Sábado

save_err=Erro ao guardar tarefa agendada
save_ecmd=Você não introduziu um comando para executar
save_euser=Você tem de seleccionar um utilizador
save_eallow=O utilizador '$1' não está autorizado para aceder às tarefas agendadas
save_ecannot=Você não está autorizado para criar tarefas agendadas para '$1'
save_enone=Você não escolheu qualquer $1 para executar

allow_title=Controlo de Acesso de Tarefas Agendadas
allow_desc=Este formulário permite-lhe controlar que utilizadores podem criar e executar tarefas agendadas.
allow_ecannot=Você não pode controlar o acesso de utilizadores às tarefas agendadas
allow_all1=Recusar todos os utilizadores
allow_all1=Recusar todos os utilizadores excepto o root
allow_all3=Permitir todos os utilizadores
allow_allow=Permitir apenas os utilizadores listados
allow_deny=Recusar apenas os utilizadores listados

env_title=Ambiente de tarefas agendadas
env_ecannot=Você não pode editar o ambiente de tarefas agendadas para este utilizador
env_desc=Ambiente de tarefas agendadas para $1
env_name=Nome da Variável
env_value=Valor
env_ename='$1' não um nome de variável válido

exec_title=Executar Tarefa Agendada
exec_ecannot=Você não está autorizado para executar tarefas agendadas para este utilizador
exec_cmd=Saída de resultados do comando $1 ..
exec_none=Sem saída de resultados gerada

acl_users=Pode editar tarefas agendadas para
acl_all=Todos os utilizadores
acl_only=Apenas utilizadores
acl_except=Todos excepto os utilizadores
acl_control=Pode controlar o acesso do utilizador às terefas agendadas?
  07070100008dd4000081a40000000000000002000000013d1fe2b80000092c000000200000000000000000000000000000001600000003reloc/cron/lang/ru_RU index_create=Ñîçäàòü íîâîå çàäàíèå cron
acl_only=Òîëüêî ïîëüçîâàòåëåé
save_eallow=Ïîëüçîâàòåëü '$1' íå èìååò äîñòóïà ê cron
save_err=Îøèáêà ïðè ñîõðàíåíèè çàäàíèÿ cron
edit_selected=Âûáðàííûå ..
exec_cmd=Âûâîä êîìàíäû $1 ..
edit_user=Âûïîëíèòü çàäàíèå êàê
env_ecannot=Âû íå ìîæåòå ðåäàêòèðîâàòü îêðóæåíèå cron äëÿ äàííîãî ïîëüçîâàòåëÿ
edit_input=Ââîä â êîìàíäó
edit_weekdays=ÄíèÍåäåëè
env_desc=Îêðóæåíèå Cron äëÿ $1
save_euser=Âû äîëæíû âûáðàòü ïîëüçîâàòåëÿ
index_none=Çàäàíèÿ íà ïðîâåäåíèå ðàáîò îòñóòñòâóþò
acl_all=Âñåõ ïîëüçîâàòåëåé
env_title=Ïðîãðàììíîå Îêðóæåíèå Cron
acl_control=Ìîæåò óïðàâëÿòü äîñòóïîì ïîëüçîâàòåëåé ê cron?
index_command=Êîìàíäà
acl_users=Ìîæåò ðåäàêòèðîâàòü çàäàíèÿ cron äëÿ
allow_title=Óïðàâëåíèå äîñòóïîì ê Cron
edit_run=Çàïóñòèòü ñåé÷àñ
month_10=Îêòÿáðü
month_11=Íîÿáðü
month_12=Äåêàáðü
edit_hours=×àñû
index_title=Ðàñïèñàíèå Çàäàíèé Cron
allow_deny=Çàïðåòèòü òîëüêî ïåðå÷èñëåííûì
index_return=ñïèñîê cron
acl_except=Âñåõ, êðîìå ïîëüçîâàòåëåé
allow_all1=Çàïðåòèòü âñåì, êðîìå root
allow_all3=Ðàçðåøèòü âñåì
exec_none=Âûâîä êîìàíäû îòñóòñòâóåò
env_value=Çíà÷åíèå
save_ecannot=Âàì íå ðàçðåøåíî ñîçäàâàòü çàäàíèÿ cron äëÿ '$1'
allow_desc=Ýòà ôîðìà ïîçâîëÿåò âàì óïðàâëÿòü òåì, êàêèå ïîëüçîâàòåëè ìîãóò ñîçäàâàòü è çàïóñêàòü çàäàíèÿ cron.
save_enone=Âû íå âûáðàëè êàêîé-ëèáî $1 äëÿ âûïîëíåíèÿ
allow_ecannot=Âû íå ìîæåòå óïðàâëÿòü äîñòóïîì ïîëüçîâàòåëåé ê cron
month_1=ßíâàðü
edit_when=Âðåìÿ âûïîëíåíèÿ
month_2=Ôåâðàëü
month_3=Ìàðò
month_4=Àïðåëü
month_5=Ìàé
month_6=Èþíü
month_7=Èþëü
month_8=Àâãóñò
month_9=Ñåíòÿáðü
edit_details=Ïàðàìåòðû çàäàíèÿ
exec_ecannot=Âàì íå ðàçðåøåíî âûïîëíÿòü çàäàíèÿ cron äëÿ äàííîãî ïîëüçîâàòåëÿ
day_0=Âîñêðåñåíüå
day_1=Ïîíåäåëüíèê
day_2=Âòîðíèê
day_3=Ñðåäà
day_4=×åòâåðã
day_5=Ïÿòíèöà
day_6=Ñóááîòà
env_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ïåðåìåííîé
env_name=Èìÿ Ïåðåìåííîé
create_title=Ñîçäàíèå Çàäàíèÿ Cron
edit_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü çàäàíèÿ cron äëÿ äàííîãî ïîëüçîâàòåëÿ
save_ecmd=Âû íå ââåëè êîìàíäó äëÿ âûïîëíåíèÿ
allow_allow=Ðàçðåøèòü òîëüêî ïåðå÷èñëåííûì
edit_command=Êîìàíäà
index_active=Àêòèâíî?
index_allow=Óïðàâëåíèå äîñòóïîì ïîëüçîâàòåëåé ê çàäàíèÿì cron
index_user=Ïîëüçîâàòåëü
edit_all=Âñå
edit_active=Àêòèâíî?
exec_title=Âûïîëíåíèå Çàäàíèÿ Cron
edit_days=Äíè
edit_mins=Ìèíóòû
edit_title=Ðåäàêòèðîâàíèå Çàäàíèÿ Cron
edit_commands=Êîìàíäû
edit_months=Ìåñÿöû
07070100008dd5000081a40000000000000002000000013d1fe2b80000094e000000200000000000000000000000000000001600000003reloc/cron/lang/ru_SU index_title=òÁÓÐÉÓÁÎÉÅ úÁÄÁÎÉÊ Cron
index_user=ðÏÌØÚÏ×ÁÔÅÌØ
index_active=áËÔÉ×ÎÏ?
index_command=ëÏÍÁÎÄÁ
index_none=úÁÄÁÎÉÑ ÎÁ ÐÒÏ×ÅÄÅÎÉÅ ÒÁÂÏÔ ÏÔÓÕÔÓÔ×ÕÀÔ
index_create=óÏÚÄÁÔØ ÎÏ×ÏÅ ÚÁÄÁÎÉÅ cron
index_allow=õÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë ÚÁÄÁÎÉÑÍ cron
index_return=ÓÐÉÓÏË cron

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ úÁÄÁÎÉÑ Cron
create_title=óÏÚÄÁÎÉÅ úÁÄÁÎÉÑ Cron
edit_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÚÁÄÁÎÉÑ cron ÄÌÑ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
edit_details=ðÁÒÁÍÅÔÒÙ ÚÁÄÁÎÉÑ
edit_user=÷ÙÐÏÌÎÉÔØ ÚÁÄÁÎÉÅ ËÁË
edit_active=áËÔÉ×ÎÏ?
edit_commands=ëÏÍÁÎÄÙ
edit_command=ëÏÍÁÎÄÁ
edit_input=÷×ÏÄ × ËÏÍÁÎÄÕ
edit_when=÷ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ
edit_mins=íÉÎÕÔÙ
edit_hours=þÁÓÙ
edit_days=äÎÉ
edit_months=íÅÓÑÃÙ
edit_weekdays=äÎÉîÅÄÅÌÉ
edit_all=÷ÓÅ
edit_selected=÷ÙÂÒÁÎÎÙÅ ..
edit_run=úÁÐÕÓÔÉÔØ ÓÅÊÞÁÓ

month_1=ñÎ×ÁÒØ
month_2=æÅ×ÒÁÌØ
month_3=íÁÒÔ
month_4=áÐÒÅÌØ
month_5=íÁÊ
month_6=éÀÎØ
month_7=éÀÌØ
month_8=á×ÇÕÓÔ
month_9=óÅÎÔÑÂÒØ
month_10=ïËÔÑÂÒØ
month_11=îÏÑÂÒØ
month_12=äÅËÁÂÒØ

day_0=÷ÏÓËÒÅÓÅÎØÅ
day_1=ðÏÎÅÄÅÌØÎÉË
day_2=÷ÔÏÒÎÉË
day_3=óÒÅÄÁ
day_4=þÅÔ×ÅÒÇ
day_5=ðÑÔÎÉÃÁ
day_6=óÕÂÂÏÔÁ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÚÁÄÁÎÉÑ cron
save_ecmd=÷Ù ÎÅ ××ÅÌÉ ËÏÍÁÎÄÕ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ
save_euser=÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_eallow=ðÏÌØÚÏ×ÁÔÅÌØ '$1' ÎÅ ÉÍÅÅÔ ÄÏÓÔÕÐÁ Ë cron
save_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÚÁÄÁÎÉÑ cron ÄÌÑ '$1'
save_enone=÷Ù ÎÅ ×ÙÂÒÁÌÉ ËÁËÏÊ-ÌÉÂÏ $1 ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ

allow_title=õÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ Ë Cron
allow_desc=üÔÁ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÕÐÒÁ×ÌÑÔØ ÔÅÍ, ËÁËÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ ÓÏÚÄÁ×ÁÔØ É ÚÁÐÕÓËÁÔØ ÚÁÄÁÎÉÑ cron.
allow_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÕÐÒÁ×ÌÑÔØ ÄÏÓÔÕÐÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë cron
allow_all1=úÁÐÒÅÔÉÔØ ×ÓÅÍ
allow_all1=úÁÐÒÅÔÉÔØ ×ÓÅÍ, ËÒÏÍÅ root
allow_all3=òÁÚÒÅÛÉÔØ ×ÓÅÍ
allow_allow=òÁÚÒÅÛÉÔØ ÔÏÌØËÏ ÐÅÒÅÞÉÓÌÅÎÎÙÍ
allow_deny=úÁÐÒÅÔÉÔØ ÔÏÌØËÏ ÐÅÒÅÞÉÓÌÅÎÎÙÍ

env_title=ðÒÏÇÒÁÍÍÎÏÅ ïËÒÕÖÅÎÉÅ Cron
env_ecannot=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÏËÒÕÖÅÎÉÅ cron ÄÌÑ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
env_desc=ïËÒÕÖÅÎÉÅ Cron ÄÌÑ $1
env_name=éÍÑ ðÅÒÅÍÅÎÎÏÊ
env_value=úÎÁÞÅÎÉÅ
env_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÅÒÅÍÅÎÎÏÊ

exec_title=÷ÙÐÏÌÎÅÎÉÅ úÁÄÁÎÉÑ Cron
exec_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ×ÙÐÏÌÎÑÔØ ÚÁÄÁÎÉÑ cron ÄÌÑ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
exec_cmd=÷Ù×ÏÄ ËÏÍÁÎÄÙ $1 ..
exec_none=÷Ù×ÏÄ ËÏÍÁÎÄÙ ÏÔÓÕÔÓÔ×ÕÅÔ

acl_users=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÚÁÄÁÎÉÑ cron ÄÌÑ
acl_all=÷ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_only=ôÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_except=÷ÓÅÈ, ËÒÏÍÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_control=íÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÄÏÓÔÕÐÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë cron?
  07070100008dd6000081a40000000000000002000000013d1fe2b8000008fc000000200000000000000000000000000000001300000003reloc/cron/lang/sv    index_title=Schemalagda cronjobb
index_user=Användare
index_active=Aktiv?
index_action=Åtgärd
index_command=Kommando
index_none=Inga cronjobb finns på detta system
index_create=Skapade ett nytt schemalagt cronjobb
index_allow=Styr användaråtkomst till cronjobb
index_return=cron-lista

edit_title=Ändra cronjobb
create_title=Skapa cronjobb
edit_ecannot=Du får inte ändra cronjobb ägda av denna användare
edit_details=Jobbinformation
edit_user=Kör cronjobbet som
edit_active=Aktivt?
edit_commands=Kommandon
edit_command=Kommando
edit_input=Inmatning till kommandot
edit_when=När ska jobbet utföras?
edit_mins=Minuter
edit_hours=Timmar
edit_days=Dagar
edit_months=Månader
edit_weekdays=Veckodagar
edit_boot=Vid start
edit_all=Alla
edit_selected=Valt ...
edit_run=Kör nu

month_1=januari
month_2=februari
month_3=mars
month_4=april
month_5=maj
month_6=juni
month_7=juli
month_8=augusti
month_9=september
month_10=oktober
month_11=november
month_12=december

day_0=söndag
day_1=måndag
day_2=tisdag
day_3=onsdag
day_4=torsdag
day_5=fredag
day_6=lördag

save_err=Det gick inte att spara cronjobb
save_ecmd=Du har inte angivit något kommando som ska utföras
save_euser=Du måste välja en användare
save_euser2=Användare '$1' finns inte
save_eallow=Användare '$1' får inte komma åt cron
save_ecannot=Du får inte skapa eller ändra cronjobb för '$1'
save_enone=Du valde inte någon $1 att utföra

allow_title=Styr cron-tillgång
allow_desc=I detta formulär kan du ange vilka användare som får skapa och köra cronjobb.
allow_ecannot=Du får inte styra användarnas tillgång till cron
allow_all1=Förbjud alla användare
allow_all2=Förbjud alla användare utom root
allow_all3=Tillåt alla användare
allow_allow=Tillåt bara uppräknade användare
allow_deny=Förbjud bara uppräknade användare

env_title=Cron-omgivning
env_ecannot=Du får inte ändra cron-omgivningen för denna användare
env_desc=Cron-omgivning för $1
env_name=Variabelnamn
env_value=Värde
env_ename='$1' är inte ett giltigt variabelnamn

exec_title=Utför cronjobb
exec_ecannot=Du får inte utföra cronjobb för denna användare
exec_cmd=Resultat från kommando $1 ...
exec_none=Inget resultat fanns

acl_users=Får ändra cronjobb för
acl_all=Alla användare
acl_only=Bara användare
acl_except=Alla utom användare
acl_control=Kunna styra användaråtkomst till cron?
07070100008dd7000081a40000000000000002000000013d1fe2b800000b9f000000200000000000000000000000000000001300000003reloc/cron/lang/tr    index_title=Zamanlandýrýlmýþ Görevler
index_user=Kullanýcý
index_active=Aktif?
index_command=Komut
index_none=Bu sistemde zamanlandýrýlmýþ görev yoktur
index_create=Yeni bir zamanlandýrýlmýþ görev oluþtur
index_allow=Zamanlandýrýlmýþ görevlerdeki kullanýcý haklarý kontrolü
index_return=görev listesi

edit_title=Zamanlandýrýlmýþ Görev Özelliklerini Deðiþtir
create_title=Zamanlandýrýlmýþ Görev Oluþtur
edit_ecannot=Bu kullanýcýnýn zamanlandýrýlmýþ görevlerin özelliklerini deðiþtirmeye hakki yoktur
edit_details=Ýþ Detaylarý
edit_user=Görevi çalýþtýran kullanýcý
edit_active=Aktif?
edit_commands=Komutlar
edit_command=Komut
edit_input=Komutu Girin
edit_when=Çalýþtýrýlma zamanlarý
edit_minutes=Dakikalar
edit_hours=Saatler
edit_days=Günler
edit_months=Aylar
edit_weekdays=Ýþgünleri
edit_all=Hepsi
edit_selected=Seçilen ..
edit_run=Þimdi Çalýþtýr

month_1=Ocak
month_2=Þubat
month_3=Mart
month_4=Nisan
month_5=Mayýs
month_6=Haziran
month_7=Temmuz
month_8=Aðustos
month_9=Eylül
month_10=Ekim
month_11=Kasim
month_12=Aralik

day_0=Pazar
day_1=Pazartesi
day_2=Salý
day_3=Çarþamba
day_4=Perþembe
day_5=Cuma
day_6=Cumartesi

save_err=Zamanlandýrýlmýþ görevin kaydedilmesinde hata oluþtu
save_ecmd=Çalýþtýrýlacak bir komut girmediniz
save_euser=Bir kullanýcý seçmelisiniz
save_eallow='$1' kullanýcýsýnýn görevi çalýþtýrmasýna izin veriledi
save_ecannot='$1' için zamanlandýrýlmýþ görev oluþturmanýza izin verilmemiþtir
save_enone=Çalýþtýrmak için herhangi bir $1 seçmediniz

allow_title=Zamanlandýrýlmýþ Görev Kontrolü
allow_desc=Bu form hangi kullanýcýlarýn zamanlandýrýlmýþ görev oluþturabileceðini veya çalýþtýrabileceðini belirlemek için kullanýlýr
allow_ecannot=Zamanlandýrýlmýþ görevde kullanýcý izinlerini kontrol edemezsiniz
allow_all1=Bütün kullanýcýlarý reddet
allow_all2=Root hariç bütün kullanýcýlarý reddet
allow_all3=Bütün kullanýcýlara izin ver
allow_allow=Listelenmiþ kullanýcýlara izin ver 
allow_deny=Listelenmiþ kullanýcýlarý reddet

env_title=Zamanlandýrýlmýþ Görev Çevresi
env_ecannot=Bu kullanýcýnýn zamanlandýrýlmýþ görev çevresini deðiþtirmeye izini yoktur
env_desc=$1 için zamanlandýrýlmýþ görev çevresi
env_name=Deðiþken Ýsmi
env_value=Deðeri
env_ename='$1' geçerli bir deðiþken iþmi deðildir

exec_title=Zamanlandýrýlmýþ Görevi Çalýþtýr
exec_ecannot=Bu kullanýcýnýn zamanlandýrýlmýþ görevi çalýþtýrmya hakký yoktur
exec_cmd=$1 komutunun çýktýsý..
exec_none=Çýktý oluþturulmadý

acl_users=Zamanlandýrýlmýþ görevleri deðiþtirebilsin
acl_all=Bütün kullanýcýlar
acl_only=Sadece kullanýcýlar
acl_except=Bu kullanýcýlar hariç
acl_control=Zamanlandýrýlmýþ görevlerin kullanýcý izinlerini kontrol edebilsin

log_modify=$1 için cron iþi deðiþtirildi
log_modify_l=$1 için cron iþi '$2' deðiþtirildi
log_create=$1 için cron iþi oluþturuldu
log_create_l=$1 için cron iþi '$2' oluþturuldu
log_delete=$1 için cron iþi silindi
log_exec=Cron iþi, $1 olarak çalýþtýrýldý
log_exec_l=Cron iþi '$2', $1 olarak çalýþtýrýldý
log_allow=Cron'a kullanýcý giriþleri deðiþtirildi

 07070100008dd8000081a40000000000000002000000013d1fe2b8000007af000000200000000000000000000000000000001600000003reloc/cron/lang/zh_CN index_title=Cron ÈÎÎñµ÷¶È
index_user=ÓÃ»§
index_active=»î¶¯µÄ£¿
index_command=ÃüÁî
index_none=±¾ÏµÍ³ÖÐÃ»ÓÐCronÈÎÎñ
index_create=´´½¨Ò»¸öÐÂµÄCronÈÎÎñµ÷¶È
index_allow=¿ØÖÆÓÃ»§·ÃÎÊCronÈÎÎñ
index_return=cronÁÐ±í
edit_title=±à¼­CronÈÎÎñ
create_title=´´½¨CronÈÎÎñ
edit_ecannot=ÄúÎÞÈ¨ÎªÕâ¸öÓÃ»§±à¼­CronÈÎÎñ
edit_details=ÈÎÎñÏ¸½Ú
edit_user=Ö´ÐÐCronÈÎÎñÓÃ»§
edit_active=»î¶¯µÄ£¿
edit_commands=ÃüÁî
edit_command=ÃüÁî
edit_input=ÊäÈëÃüÁî
edit_when=ºÎÊ±Ö´ÐÐ
edit_mins=·ÖÖÓ
edit_hours=Ð¡Ê±
edit_days=ÈÕ
edit_months=ÔÂ
edit_weekdays=ÐÇÆÚ
edit_all=È«²¿
edit_selected=±»Ñ¡ÖÐµÄ ..
edit_run=ÏÖÔÚÔËÐÐ
month_1=Ò»ÔÂ
month_2=¶þÔÂ
month_3=ÈýÔÂ
month_4=ËÄÔÂ
month_5=ÎåÔÂ
month_6=ÁùÔÂ
month_7=ÆßÔÂ
month_8=°ËÔÂ
month_9=¾ÅÔÂ
month_10=Ê®ÔÂ
month_11=Ê®Ò»ÔÂ
month_12=Ê®¶þÔÂ
day_0=ÐÇÆÚÈÕ
day_1=ÐÇÆÚÒ»
day_2=ÐÇÆÚ¶þ
day_3=ÐÇÆÚÈý
day_4=ÐÇÆÚËÄ
day_5=ÐÇÆÚÎå
day_6=ÐÇÆÚÁù
save_err=±£´æCronÈÎÎñÊ§°Ü
save_ecmd=ÄúÃ»ÓÐÊäÈëÒ»¸öÖ´ÐÐµÄÃüÁî
save_euser=Äú±ØÐëÑ¡ÔñÒ»¸öÓÃ»§
save_eallow=ÓÃ»§'$1'ÎÞÈ¨·ÃÎÊcron
save_ecannot=ÄúÎÞÈ¨Îª'$1'´´½¨»ò±à¼­CronÈÎÎñ
save_enone=ÄúÉÐÎ´Ñ¡ÔñÈÎºÎ$1Ö´ÐÐ
allow_title=¿ØÖÆCron·ÃÎÊ
allow_desc=ÕâÀïÔÊÐíÄú¿ØÖÆÄÄÐ©ÓÃ»§ÄÜ´´½¨ºÍÔËÐÐCronÈÎÎñ¡£
allow_ecannot=Äú²»ÄÜ¿ØÖÆÓÃ»§·ÃÎÊcron
allow_all1=¾Ü¾øËùÓÐÓÃ»§
allow_all2=¾Ü¾ørootÓÃ»§ÍâµÄËùÓÐÓÃ»§
allow_all3=ÔÊÐíËùÓÐÓÃ»§
allow_allow=Ö»ÔÊÐíÁÐ³öµÄÓÃ»§
allow_deny=Ö»¾Ü¾øÁÐ³öµÄÓÃ»§
env_title=Cron»·¾³
env_ecannot=ÄúÎÞÈ¨ÎªÕâ¸öÓÃ»§±à¼­Cron»·¾³
env_desc=$1µÄCron»·¾³
env_name=±äÁ¿Ãû
env_value=Öµ
env_ename='$1'²»ÊÇÓÐÐ§µÄ±äÁ¿Ãû
exec_title=Ö´ÐÐCronÈÎÎñ
exec_ecannot=ÄúÎÞÈ¨ÎªÕâ¸öÓÃ»§Ö´ÐÐCronÈÎÎñ
exec_cmd=ÃüÁî$1µÄÊä³ö ..
exec_none=Ã»ÓÐÉú³ÉÊä³ö
acl_users=ÄÜ±à¼­CronÈÎÎñ£¬Îª
acl_all=È«²¿ÓÃ»§
acl_only=Ö»ÓÐÓÃ»§
acl_except=È«²¿ÓÃ»§³ýÁË
acl_control=ÄÜ¿ØÖÆÓÃ»§¶ÔcronµÄ·ÃÎÊ£¿
log_modify=Îª $1 ¸üÐÂÁË Cron ÈÎÎñ
log_modify_l=Îª $1 ¸üÐÂÁË Cron ÈÎÎñ "$2"
log_create=Îª $1 ´´½¨ÁË Cron ÈÎÎñ
log_create_l=Îª $1 ´´½¨ÁË Cron ÈÎÎñ "$2"
log_delete=Îª $1 É¾³ýÁË Cron ÈÎÎñ
log_exec=×÷Îª $1 Ö´ÐÐÁËCron ÈÎÎñ
log_exec_l=×÷Îª $1 Ö´ÐÐÁËCron ÈÎÎñ "$2"
log_allow=¸Ä±äÁË¶ÔCron µÄÓÃ»§·ÃÎÊ
 07070100008dd9000081a40000000000000002000000013d1fe2b800000921000000200000000000000000000000000000001b00000003reloc/cron/lang/zh_TW.Big5    index_title=©w®É°õ¦æ¤u§@ (Cron)
index_user=¨Ï¥ÎªÌ
index_active=¬O§_±Ò°Ê¡H
index_command=©R¥O
index_none=¦b³o­Ó¨t²Î¤¤¨S¦³©w®É°õ¦æ¤u§@
index_create=«Ø¥ß·sªº©w®É°õ¦æ¤u§@
index_allow=±±¨î¨Ï¥ÎªÌ¦s¨ú©w®É°õ¦æ¤u§@
index_return=©w®É°õ¦æ¤u§@¦Cªí

edit_title=½s¿è©w®É°õ¦æ¤u§@
create_title=«Ø¥ß©w®É°õ¦æ¤u§@
edit_ecannot=±z¨S¦³Åv­­½s¿è³o­Ó¨Ï¥ÎªÌªº©w®É°õ¦æ¤u§@
edit_details=¤u§@¸Ô²Ó¸ê®Æ
edit_user=°õ¦æ©w®É°õ¦æ¤u§@ªº¨Ï¥ÎªÌ
edit_active=¬O§_±Ò°Ê¡H
edit_commands=©R¥O
edit_command=©R¥O
edit_input=µ¹©R¥Oªº¿é¤J
edit_when=°õ¦æªº®É¶¡
edit_mins=¤À
edit_hours=®É
edit_days=¤é
edit_months=¤ë
edit_weekdays=¬P´Á
edit_all=¥þ³¡
edit_selected=¿ï¾Üªº...
edit_run=²{¦b°õ¦æ
edit_return=©w®É°õ¦æ¤u§@

month_1=¡@¤@¤ë
month_2=¡@¤G¤ë
month_3=¡@¤T¤ë
month_4=¡@¥|¤ë
month_5=¡@¤­¤ë
month_6=¡@¤»¤ë
month_7=¡@¤C¤ë
month_8=¡@¤K¤ë
month_9=¡@¤E¤ë
month_10=¡@¤Q¤ë
month_11=¤Q¤@¤ë
month_12=¤Q¤G¤ë

day_0=¬P´Á¤é
day_1=¬P´Á¤@
day_2=¬P´Á¤G
day_3=¬P´Á¤T
day_4=¬P´Á¥|
day_5=¬P´Á¤­
day_6=¬P´Á¤»

save_err=Àx¦s©w®É°õ¦æ¤u§@¥¢±Ñ
save_ecmd=±z¨S¦³¿é¤J­n°õ¦æªº«ü¥O
save_euser=±z¥²¶·¿ï¾Ü¤@­Ó¨Ï¥ÎªÌ
save_euser2=¨Ï¥ÎªÌ '$1' ¤£¦s¦b
save_eallow=¨Ï¥ÎªÌ '$1' ¨S¦³Åv­­¨Ï¥Î©w®É°õ¦æ¤u§@
save_ecannot=±z¤£³Q¤¹³\¬°¨Ï¥ÎªÌ '$1' «Ø¥ß©w®É°õ¦æ¤u§@
save_enone=±z¨S¦³¿ï¾Ü¥ô¦ó $1 ¥H°õ¦æ

allow_title=©w®É°õ¦æ¦s¨ú±±¨î
allow_desc=³o­Óªí³æ¥i¥H¥ô±z±±¨î¨Ï¥ÎªÌ¬O§_¥i¥H«Ø¥ß©Î°õ¦æ©w®É°õ¦æ¤u§@¡C
allow_ecannot=±z¤£¯à±±¨î¨Ï¥ÎªÌ¦s¨ú©w®É°õ¦æ
allow_all1=©Úµ´©Ò¦³¨Ï¥ÎªÌ
allow_all2=©Úµ´°£¤F root ¥H¥~ªº©Ò¦³¨Ï¥ÎªÌ
allow_all3=¤¹³\©Ò¦³¨Ï¥ÎªÌ
allow_allow=¥u¤¹³\¦C¥Xªº¨Ï¥ÎªÌ
allow_deny=¥u©Úµ´¦C¥Xªº¨Ï¥ÎªÌ

env_title=©w®É°õ¦æÀô¹Ò
env_ecannot=±z¤£¯à½s¿è³o­Ó¨Ï¥ÎªÌªº©w®É°õ¦æÀô¹Ò
env_desc=¨Ï¥ÎªÌ $1 ªº©w®É°õ¦æÀô¹Ò
env_name=ÅÜ¼Æ¦WºÙ
env_value=¼Æ­È
env_ename='$1' ¤£¬O¤@­Ó¦³®ÄªºÅÜ¼Æ¦WºÙ

exec_title=°õ¦æ©w®É°õ¦æ¤u§@
exec_ecannot=±z¨S¦³Åv­­°õ¦æ³o­Ó¨Ï¥ÎªÌªº©w®É°õ¦æ¤u§@
exec_cmd=¥Ñ©R¥O $1 ªº¿é¥X...
exec_none=¨S¦³²£¥Í¿é¥X

acl_users=¥i¥H½s¿èªº­þ¨Ç¨Ï¥ÎªÌ©w®É°õ¦æ¤u§@
acl_all=¥þ³¡ªº¨Ï¥ÎªÌ
acl_this=¥Ø«eªº Webmin ¨Ï¥ÎªÌ
acl_only=¥u¦³¨Ï¥ÎªÌ
acl_except=¥þ³¡ªº¨Ï¥ÎªÌ¡A°£¤F
acl_control=¬O§_¥i¥H±±¨î¥i¦s¨ú©w®É°õ¦æ¤u§@ªº¨Ï¥ÎªÌ?

log_modify=¬° $1 ­×§ï¤F©w®É°õ¦æ¤u§@
log_modify_l=¬° $1 ­×§ï¤F©w®É°õ¦æ¤u§@ "$2"
log_create=¬° $1 «Ø¥ß¤F©w®É°õ¦æ¤u§@
log_create_l=¬° $1 «Ø¥ß¤F©w®É°õ¦æ¤u§@ "$2"
log_delete=¬° $1 §R°£¤F©w®É°õ¦æ¤u§@
log_exec=¥H $1 ¨­¥÷°õ¦æ¤F©w®É°õ¦æ¤u§@
log_exec_l=¥H $1 ¨­¥÷°õ¦æ¤F©w®É°õ¦æ¤u§@ "$2"
log_allow=ÅÜ§ó¤F¨Ï¥ÎªÌªº©w®É°õ¦æ¤u§@¦s¨úÅv­­
   070701000048a4000081a40000000000000002000000013d1fe2b80000041a000000200000000000000000000000000000001900000003reloc/cron/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'cron-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, [long])
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'modify') {
	return &text($long ? 'log_modify_l' : 'log_modify',
		     "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'cmd'})."</tt>");
	}
elsif ($action eq 'create') {
	return &text($long ? 'log_create_l' : 'log_create',
		     "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'cmd'})."</tt>");
	}
elsif ($action eq 'delete') {
	return &text($long ? 'log_delete_l' : 'log_delete',
		     "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'command'})."</tt>");
	}
elsif ($action eq 'exec') {
	return &text($long ? 'log_exec_l' : 'log_exec',
		     "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'command'})."</tt>");
	}
elsif ($action eq 'allow') {
	return $text{'log_allow'};
	}
else {
	return undef;
	}
}

  070701000048a5000081a40000000000000002000000013d1fe2ea00000352000000200000000000000000000000000000001700000003reloc/cron/module.info    desc_nl=Geplande Cron Opdrachten
desc_ru_SU=òÁÓÐÉÓÁÎÉÅ úÁÄÁÎÉÊ Cron
risk=low medium high
desc_ko_KR.euc=¿¹¾àµÈ Cron ÀÛ¾÷ 
desc_zh_TW.Big5=©w®É°õ¦æ¤u§@ (Cron)
desc_pl=Harmonogram zadañ crona
desc_de=Geplante Cron Jobs
name=Cron Manager
desc_pt=Tarefas Agendadas (Cron)
desc_zh_CN=Cron ÈÎÎñµ÷¶È
category=system
desc_tr=Zamanlandýrýlmýþ Görevler
os_support=solaris slackware-linux redhat-linux mandrake-linux debian-linux suse-linux hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux openbsd corel-linux cobalt-linux aix netbsd msc-linux generic-linux gentoo-linux
desc=Scheduled Cron Jobs
desc_es=Tareas Planificadas de Cron
desc_sv=Schemalagda cronjobb
desc_fr=Tâches Cron
desc_ja_JP.euc=Í½ÄêºÑ¤ß Cron ºî¶È
depends=0.990
version=0.990
desc_hu=Tervezett Cron munkák
desc_ca=Administració de Cron
desc_ru_RU=Ðàñïèñàíèå Çàäàíèé Cron
  070701000048a6000081e40000000000000002000000013d1fe2b8000001fe000000200000000000000000000000000000001a00000003reloc/cron/save_allow.cgi #!/usr/local/bin/perl
# save_allow.cgi
# Save the cron allow/deny settings

require './cron-lib.pl';
&ReadParse();

&lock_file($config{cron_allow_file});
&lock_file($config{cron_deny_file});
unlink($config{cron_allow_file});
unlink($config{cron_deny_file});
if ($in{mode} == 1) { &save_allowed(split(/\s+/, $in{'allow'})); }
elsif ($in{mode} == 2) { &save_denied(split(/\s+/, $in{'deny'})); }
&unlock_file($config{cron_allow_file});
&unlock_file($config{cron_deny_file});
&webmin_log("allow");
&redirect("");

  070701000048a7000081e40000000000000002000000013d1fe2b800000893000000200000000000000000000000000000001900000003reloc/cron/save_cron.cgi  #!/usr/local/bin/perl
# save_cron.cgi
# Save an existing cron job, or create a new one

require './cron-lib.pl';
&error_setup($text{'save_err'});
&ReadParse();

@jobs = &list_cron_jobs();
if ($in{'new'}) {
	$job = { 'type' => 0 };
	}
else {
	$oldjob = $jobs[$in{'idx'}];
	$job->{'type'} = $oldjob->{'type'};
	$job->{'file'} = $oldjob->{'file'};
	$job->{'line'} = $oldjob->{'line'};
	$job->{'nolog'} = $oldjob->{'nolog'};
	}

@files = &unique((map { $_->{'file'} } @jobs),
	         "$config{'cron_dir'}/$in{'user'}");
foreach $f (@files) { &lock_file($f); }

# Check and parse inputs
if ($in{"cmd"} !~ /\S/) {
	&error($text{'save_ecmd'});
	}
if (!$in{'user'}) {
	&error($text{'save_euser'});
	}
if (!defined(getpwnam($in{'user'}))) {
	&error(&text('save_euser2', $in{'user'}));
	}
&parse_times_input($job, \%in);
$in{input} =~ s/\r//g; $in{input} =~ s/%/\\%/g;
$in{cmd} =~ s/%/\\%/g;
$job->{'active'} = $in{'active'};
$job->{'command'} = $in{'cmd'};
if ($in{input} =~ /\S/) {
	@inlines = split(/\n/ , $in{input});
	$job->{'command'} .= '%'.join('%' , @inlines);
	}

# Check if this user is allowed to execute cron jobs
if (-r $config{cron_allow_file}) {
	if (&indexof($in{user}, &list_allowed()) < 0) { $err = 1; }
	}
elsif (-r $config{cron_deny_file}) {
	if (&indexof($in{user}, &list_denied()) >= 0) { $err = 1; }
	}
elsif ($config{cron_deny_all} == 0) { $err = 1; }
elsif ($config{cron_deny_all} == 1) {
	if ($in{user} ne "root") { $err = 1; }
	}
if ($err) { &error(&text('save_eallow', $in{'user'})); }
$job->{'user'} = $in{'user'};

# Check module access control
&can_edit_user(\%access, $in{'user'}) ||
	&error(&text('save_ecannot', $in{'user'}));

if (!$in{'new'}) {
	# Editing an existing job
	&can_edit_user(\%access, $oldjob->{'user'}) ||
		&error(&text('save_ecannot', $oldjob->{'user'}));
	if ($job->{'user'} eq $oldjob->{'user'}) {
		&change_cron_job($job);
		}
	else {
		&delete_cron_job($oldjob);
		&create_cron_job($job);
		}
	}
else {
	# Creating a new job
	&create_cron_job($job);
	}

foreach $f (@files) { &unlock_file($f); }
if ($in{'new'}) {
	&webmin_log("create", "cron", $in{'user'}, \%in);
	}
else {
	&webmin_log("modify", "cron", $in{'user'}, \%in);
	}
&redirect("");


 070701000048a8000081e40000000000000002000000013d1fe2b8000001ce000000200000000000000000000000000000001800000003reloc/cron/save_env.cgi   #!/usr/local/bin/perl
# save_env.cgi
# Save cron environment for some user

require './cron-lib.pl';
&ReadParse();
&can_edit_user(\%access, $in{'user'}) ||
	&error($text{'env_ecannot'});

for($i=0; $i<$in{count}; $i++) {
	$n = $in{"name$i"}; $v = $in{"value$i"};
	if ($n =~ /\S/) {
		if ($n !~ /^\S+$/) {
			&error(&text('env_ename', $n));
			}
		push(@args, $n);
		push(@args, $v);
		}
	}
&save_envs($in{'user'}, @args);
&redirect("edit_env.cgi?$in{'user'}");

  070701000048a9000081a40000000000000002000000013d1fe2b800000335000000200000000000000000000000000000001f00000003reloc/cron/useradmin_update.pl    
do 'cron-lib.pl';

# useradmin_create_user(&details)
sub useradmin_create_user
{
}

# useradmin_delete_user(&details)
# Delete this user's cron file
sub useradmin_delete_user
{
&lock_file("$config{'cron_dir'}/$_[0]->{'user'}");
unlink("$config{'cron_dir'}/$_[0]->{'user'}");
&unlock_file("$config{'cron_dir'}/$_[0]->{'user'}");
}

# useradmin_modify_user(&details)
sub useradmin_modify_user
{
if ($_[0]->{'user'} ne $_[0]->{'olduser'}) {
	if (-r "$config{'cron_dir'}/$_[0]->{'olduser'}") {
		&rename_logged("$config{'cron_dir'}/$_[0]->{'olduser'}",
			       "$config{'cron_dir'}/$_[0]->{'user'}");
		}
	foreach $j (&list_cron_jobs()) {
		if ($j->{'user'} eq $_[0]->{'olduser'}) {
			&lock_file($j->{'file'});
			$j->{'user'} = $_[0]->{'user'};
			&change_cron_job($j);
			&unlock_file($j->{'file'});
			}
		}
	}
}

1;

   0707010000a26b000041ed0000000000000001000000053d1ffa0100000000000000200000000000000000000000000000000d00000003reloc/custom  0707010000a26c000081e40000000000000002000000013d1fe2d80000062c000000200000000000000000000000000000001d00000003reloc/custom/acl_security.pl  
require 'custom-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the custom module
sub acl_security_form
{
local $mode = $_[0]->{'cmds'} eq '*' ? 1 :
	      $_[0]->{'cmds'} =~ /^\!/ ? 2 : 0;
print "<tr> <td valign=top><b>$text{'acl_cmds'}</b></td> <td>\n";
printf "<input type=radio name=cmds_def value=1 %s> %s\n",
	$mode == 1 ? 'checked' : '', $text{'acl_call'};
printf "<input type=radio name=cmds_def value=0 %s> %s\n",
	$mode == 0 ? 'checked' : '', $text{'acl_csel'};
printf "<input type=radio name=cmds_def value=2 %s> %s<br>\n",
	$mode == 2 ? 'checked' : '', $text{'acl_cexcept'};
print "<select name=cmds size=5 multiple width=200>\n";
local @cmds = &list_commands();
local ($c, %ccan);
map { $ccan{$_}++ } split(/\s+/, $_[0]->{'cmds'});
foreach $c (@cmds) {
	printf "<option value=%s %s> %s\n",
		$c->{'id'},
		$ccan{$c->{'id'}} ? "selected" : "",
		$c->{'desc'};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'acl_edit'}</b></td> <td>\n";
printf "<input type=radio name=edit value=1 %s> $text{'yes'}\n",
	$_[0]->{'edit'} ? "checked" : "";
printf "<input type=radio name=edit value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'edit'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the custom module
sub acl_security_save
{
if ($in{'cmds_def'} == 1) {
	$_[0]->{'cmds'} = "*";
	}
elsif ($in{'cmds_def'} == 0) {
	$_[0]->{'cmds'} = join(" ", split(/\0/, $in{'cmds'}));
	}
else {
	$_[0]->{'cmds'} = join(" ", "!", split(/\0/, $in{'cmds'}));
	}
$_[0]->{'edit'} = $in{'edit'};
}

0707010000a26d000081a40000000000000002000000013d1fe2d80000000f000000200000000000000000000000000000001400000003reloc/custom/config   display_mode=0
 0707010000a26e000081a40000000000000002000000013d1fe2d800000051000000200000000000000000000000000000001900000003reloc/custom/config.info  display_mode=Main page shows,1,0-All commands and parameters,1-Links to commands
   0707010000a26f000081a40000000000000002000000013d1fe2d800000064000000200000000000000000000000000000001c00000003reloc/custom/config.info.ca   display_mode=La pàgina principal mostra,1,0-Totes les ordres i paràmetres,1-Enllaços a les ordres


0707010000a270000081a40000000000000002000000013d1fe2d800000058000000200000000000000000000000000000001c00000003reloc/custom/config.info.nl   display_mode=Hoofdpagina toont,1,0-Alle opdrachten en parameters,1-Links naar opdrachten0707010000a271000081a40000000000000002000000013d1fe2d80000006d000000200000000000000000000000000000001c00000003reloc/custom/config.info.pl   display_mode=Na g³ównej stronie ukazuj± siê,1,0-Wszystkie polecenia i&nbsp;parametry,1-Dowi±zania do poleceñ
   0707010000a272000081a40000000000000002000000013d1fe2d800000def000000200000000000000000000000000000001b00000003reloc/custom/custom-lib.pl    # custom-lib.pl
# Functions for storing custom commands

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# list_commands()
# Returns a list of all custom commands
sub list_commands
{
local (@rv, $f);
opendir(DIR, $module_config_directory);
while($f = readdir(DIR)) {
	if ($f =~ /^(\d+)\.cmd$/) {
		local %cmd;
		$cmd{'file'} = "$module_config_directory/$f";
		$cmd{'id'} = $1;
		open(FILE, $cmd{'file'});
		chop($cmd{'cmd'} = <FILE>);
		chop($cmd{'desc'} = <FILE>);
		local @o = split(/\s+/, <FILE>);
		$cmd{'user'} = $o[0];
		$cmd{'raw'} = int($o[1]);
		$cmd{'su'} = int($o[2]);
		$cmd{'order'} = int($o[3]);
		$cmd{'noshow'} = int($o[4]);
		while(<FILE>) {
			s/\r|\n//g;
			local @a = split(/:/, $_, 5);
			push(@{$cmd{'args'}}, { 'name' => $a[0],
						'type' => $a[1],
						'opts' => $a[2],
						'quote' => $a[3],
						'desc' => $a[4] });
			}
		close(FILE);
		$cmd{'index'} = scalar(@rv);
		open(HTML, "$module_config_directory/$cmd{'id'}.html");
		while(<HTML>) {
			$cmd{'html'} .= $_;
			}
		close(HTML);
		push(@rv, \%cmd);
		}
	elsif ($f =~ /^(\d+)\.edit$/) {
		local %edit;
		$edit{'file'} = "$module_config_directory/$f";
		$edit{'id'} = $1;
		open(FILE, $edit{'file'});
		chop($edit{'edit'} = <FILE>);
		chop($edit{'desc'} = <FILE>);
		chop($edit{'user'} = <FILE>);
		chop($edit{'group'} = <FILE>);
		chop($edit{'perms'} = <FILE>);
		chop($edit{'before'} = <FILE>);
		chop($edit{'after'} = <FILE>);
		chop($edit{'order'} = <FILE>);
		$edit{'order'} = int($edit{'order'});
		close(FILE);
		$edit{'index'} = scalar(@rv);
		open(HTML, "$module_config_directory/$edit{'id'}.html");
		while(<HTML>) {
			$edit{'html'} .= $_;
			}
		close(HTML);
		push(@rv, \%edit);
		}
	}
closedir(DIR);
return @rv;
}

# save_command(&command)
sub save_command
{
local $c = $_[0];
if ($c->{'edit'}) {
	# Save a file editor
	&lock_file("$module_config_directory/$c->{'id'}.edit");
	open(FILE, ">$module_config_directory/$c->{'id'}.edit");
	print FILE $c->{'edit'},"\n";
	print FILE $c->{'desc'},"\n";
	print FILE $c->{'user'},"\n";
	print FILE $c->{'group'},"\n";
	print FILE $c->{'perms'},"\n";
	print FILE $c->{'before'},"\n";
	print FILE $c->{'after'},"\n";
	print FILE $c->{'order'},"\n";
	close(FILE);
	&unlock_file("$module_config_directory/$c->{'id'}.edit");
	}
else {
	# Save a custom command
	&lock_file("$module_config_directory/$c->{'id'}.cmd");
	open(FILE, ">$module_config_directory/$c->{'id'}.cmd");
	print FILE $c->{'cmd'},"\n";
	print FILE $c->{'desc'},"\n";
	print FILE $c->{'user'}," ",int($c->{'raw'})," ",int($c->{'su'})," ",
		   int($c->{'order'})," ",int($c->{'noshow'}),"\n";
	foreach $a (@{$c->{'args'}}) {
		print FILE $a->{'name'},":",$a->{'type'},":",
			   $a->{'opts'},":",$a->{'quote'},":",$a->{'desc'},"\n";
		}
	close(FILE);
	&unlock_file("$module_config_directory/$c->{'id'}.cmd");
	}
&lock_file("$module_config_directory/$c->{'id'}.html");
if ($cmd->{'html'}) {
	open(HTML, ">$module_config_directory/$c->{'id'}.html");
	print HTML $cmd->{'html'};
	close(HTML);
	}
else {
	unlink("$module_config_directory/$c->{'id'}.html");
	}
&unlock_file("$module_config_directory/$c->{'id'}.html");
}

# delete_command(&command)
sub delete_command
{
local $f = "$module_config_directory/$_[0]->{'id'}".
	   ($_[0]->{'edit'} ? ".edit" : ".cmd");
&lock_file($f);
unlink($f);
&unlock_file($f);
}

sub can_run_command
{
local $c;
local $found;
return 1 if ($access{'cmds'} eq '*');
local @cmds = split(/\s+/, $access{'cmds'});
foreach $c (@cmds) {
	$found++ if ($c eq $_[0]->{'id'});
	}
return $cmds[0] eq '!' ? !$found : $found;
}

1;
 0707010000a273000081a40000000000000002000000013d1fe2d800000019000000200000000000000000000000000000001800000003reloc/custom/defaultacl   noconfig=0
edit=1
cmds=*
   0707010000a274000081e40000000000000002000000013d1fe2d800000f77000000200000000000000000000000000000001a00000003reloc/custom/edit_cmd.cgi #!/usr/local/bin/perl
# edit_cmd.cgi
# Display a custom command and its parameters

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'edit_ecannot'});
if ($in{'new'}) {
	&header($text{'create_title'}, "", "create");
	}
else {
	&header($text{'edit_title'}, "", "edit");
	@cmds = &list_commands();
	$cmd = $cmds[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_cmd.cgi method=post>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td valign=top><b>",&hlink($text{'edit_desc'}, "desc"),
      "</b></td>\n";
print "<td colspan=3><input name=desc size=50 value='$cmd->{'desc'}'><br>\n";
print "<textarea name=html rows=2 cols=50>",$cmd->{'html'},
      "</textarea></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'edit_cmd'},"command"),"</b></td>\n";
$cmd->{'cmd'} =~ s/"/&quot;/g;
print "<td colspan=3><input name=cmd size=50 ",
      "value=\"$cmd->{'cmd'}\"></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'edit_user'},"user"),"</b></td>\n";
print "<td colspan=3><input name=user size=8 value='$cmd->{'user'}'> ",
	&user_chooser_button("user", 0);
printf "<input type=checkbox name=su value=1 %s> %s</td> </tr>\n",
	$cmd->{'su'} ? 'checked' : '', $text{'edit_su'};

print "<tr> <td><b>",&hlink($text{'edit_raw'},"raw"),"</b></td>\n";
printf "<td><input type=radio name=raw value=1 %s> %s\n",
	$cmd->{'raw'} ? "checked" : "", $text{'yes'};
printf "<input type=radio name=raw value=0 %s> %s</td>\n",
	$cmd->{'raw'} ? "" : "checked", $text{'no'};

print "<td><b>",&hlink($text{'edit_order'},"order"),"</b></td>\n";
printf "<td><input type=radio name=order_def value=1 %s> %s\n",
	$cmd->{'order'} ? "" : "checked", $text{'default'};
printf "<input type=radio name=order_def value=0 %s>\n",
	$cmd->{'order'} ? "checked" : "";
printf "<input name=order size=6 value='%s'></td> </tr>\n",
	$cmd->{'order'} ? $cmd->{'order'} : '';

print "<tr> <td><b>",&hlink($text{'edit_noshow'},"noshow"),"</b></td>\n";
printf "<td><input type=radio name=noshow value=1 %s> %s\n",
	$cmd->{'noshow'} ? "checked" : "", $text{'yes'};
printf "<input type=radio name=noshow value=0 %s> %s</td>\n",
	$cmd->{'noshow'} ? "" : "checked", $text{'no'};

print "</table></td></tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_params'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@types = ("Text", "User", "UID", "Group", "GID", "File", "Directory",
	  "Option..", "Password");

print "<tr> <td><b>$text{'edit_name'}</b></td> ",
      "<td><b>$text{'edit_desc'}</b></td> <td><b>$text{'edit_type'}</b></td> ",
      "<td><b>$text{'edit_quote'}</b></td> </tr>\n";
@a = (@{$cmd->{'args'}}, { });
for($i=0; $i<@a; $i++) {
	print "<tr>\n";
	printf "<td><input name=name_$i size=10 value='%s'></td>\n",
		$a[$i]->{'name'};
	printf "<td><input name=desc_$i size=40 value='%s'></td>\n",
		$a[$i]->{'desc'};
	print "<td><select name=type_$i>\n";
	for($j=0; $text{"edit_type$j"}; $j++) {
		printf "<option value=%d %s>%s\n",
			$j, $a[$i]->{'type'} == $j ? "selected" : "",
			$text{"edit_type$j"};
		}
	printf "</select> <input name=opts_$i size=10 value='%s'></td>\n",
		$a[$i]->{'opts'};
	printf "<td><input type=radio name=quote_$i value=1 %s> $text{'yes'}\n",
		$a[$i]->{'quote'} ? "checked" : "";
	printf "<input type=radio name=quote_$i value=0 %s> $text{'no'}</td>\n",
		$a[$i]->{'quote'} ? "" : "checked";
	print "</tr>\n";
	}

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
if (!$in{'new'}) {
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000a275000081e40000000000000002000000013d1fe2d800000bde000000200000000000000000000000000000001b00000003reloc/custom/edit_file.cgi    #!/usr/local/bin/perl
# edit_file.cgi
# Display a file editor and its options

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'file_ecannot'});
if ($in{'new'}) {
	&header($text{'fcreate_title'}, "", "fcreate");
	}
else {
	&header($text{'fedit_title'}, "", "fedit");
	@cmds = &list_commands();
	$edit = $cmds[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_file.cgi method=post>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'file_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>",&hlink($text{'file_desc'}, "fdesc"),
      "</b></td>\n";
print "<td><input name=desc size=50 value='$edit->{'desc'}'><br>\n";
print "<textarea name=html rows=2 cols=50>",$edit->{'html'},
      "</textarea></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'file_edit'}, "file"),"</b></td>\n";
print "<td><input name=edit size=50 value='$edit->{'edit'}'> ",
      &file_chooser_button("edit", 0),"</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'file_owner'}, "owner"),"</b></td>\n";
printf "<td><input type=radio name=owner_def value=1 %s> %s\n",
	$edit->{'user'} ? '' : 'checked', $text{'file_leave'};
printf "<input type=radio name=owner_def value=0 %s> %s\n",
	$edit->{'user'} ? 'checked' : '', $text{'file_user'};
printf "<input name=user size=8 value='%s'> %s\n",
	$edit->{'user'}, $text{'file_group'};
printf "<input name=group size=8 value='%s'></td> </tr>\n",
	$edit->{'group'};

print "<tr> <td><b>",&hlink($text{'file_perms'}, "perms"),"</b></td>\n";
printf "<td><input type=radio name=perms_def value=1 %s> %s\n",
	$edit->{'perms'} ? '' : 'checked', $text{'file_leave'};
printf "<input type=radio name=perms_def value=0 %s> %s\n",
	$edit->{'perms'} ? 'checked' : '', $text{'file_set'};
printf "<input name=perms size=3 value='%s'></td> </tr>\n",
	$edit->{'perms'};

print "<tr> <td><b>",&hlink($text{'file_before'}, "before"),"</b></td>\n";
print "<td><input name=before size=60 value='$edit->{'before'}'></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'file_after'}, "after"),"</b></td>\n";
print "<td><input name=after size=60 value='$edit->{'after'}'></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'edit_order'}, "order"),"</b></td>\n";
printf "<td><input type=radio name=order_def value=1 %s> %s\n",
	$edit->{'order'} ? "" : "checked", $text{'default'};
printf "<input type=radio name=order_def value=0 %s>\n",
	$edit->{'order'} ? "checked" : "";
printf "<input name=order size=6 value='%s'></td> </tr>\n",
	$edit->{'order'} ? $edit->{'order'} : '';

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
if (!$in{'new'}) {
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000a276000081a40000000000000002000000013d1fe2d8000000d0000000200000000000000000000000000000001f00000003reloc/custom/feedback_files.pl    
do 'custom-lib.pl';

sub feedback_files
{
opendir(DIR, $module_config_directory);
local @rv = map { "$module_config_directory/$_" }
		grep { /\.(cmd|edit)$/ } readdir(DIR);
closedir(DIR);
return @rv;
}

1;

0707010000a277000081e40000000000000002000000013d1fe2d8000006f2000000200000000000000000000000000000001600000003reloc/custom/form.cgi #!/usr/local/bin/perl
# form.cgi
# Display the form for one custom command on a page

require './custom-lib.pl';
&ReadParse();
@cmds = &list_commands();
$cmd = $cmds[$in{'idx'}];
&can_run_command($cmd) || &error($text{'form_ecannot'});

# Display form for command parameters
&header($text{'form_title'}, "");
print "<hr>\n";
print "<form action=run.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&html_escape($cmd->{'desc'}),"</b></td> </tr>\n";
print "<tr $cb> <td>",$cmd->{'html'},"<br><table width=100%>\n";

foreach $a (@{$cmd->{'args'}}) {
	print "<tr>\n" if (!$col);
	print "<td width=25%><b>",&html_escape($a->{'desc'}),
	      "</b></td> <td width=25%>\n";
	$n = $a->{'name'};
	if ($a->{'type'} == 0) {
		print "<input name=$n size=30>\n";
		}
	elsif ($a->{'type'} == 1 || $a->{'type'} == 2) {
		print "<input name=$n size=8> ",
			&user_chooser_button($n, 0);
		}
	elsif ($a->{'type'} == 3 || $a->{'type'} == 4) {
		print "<input name=$n size=8> ",
			&group_chooser_button($n, 0);
		}
	elsif ($a->{'type'} == 5 || $a->{'type'} == 6) {
		print "<input name=$n size=30> ",
			&file_chooser_button($n, $a->{'type'}-5);
		}
	elsif ($a->{'type'} == 7) {
		print "<input type=radio name=$n value=1> $text{'yes'}\n";
		print "<input type=radio name=$n value=0 checked> $text{'no'}\n";
		}
	elsif ($a->{'type'} == 8) {
		print "<input name=$n type=password size=30>\n";
		}
	print "</td>\n";
	print "</tr>\n" if ($col);
	$col = !$col;
	}
print "<td colspan=2 width=50%></td> </tr>\n" if ($col);

print "<tr> <td colspan=4><input type=submit value='$text{'form_exec'}'>",
      "</td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000bb12000041ed0000000000000001000000023d1ffa0000000000000000200000000000000000000000000000001200000003reloc/custom/help 0707010000bb13000081a40000000000000002000000013d1fe2d8000000d9000000200000000000000000000000000000002000000003reloc/custom/help/after.ca.html   <header>Ordre a executar després de desar</header>

L'ordre introduïda aquí s'executarà com a <tt>root</tt> després de
desar el fitxer. Això pot ser útil, per exemple, per copiar el fitxer 
a un altre servidor.
<hr>

   0707010000bb14000081a40000000000000002000000013d1fe2d8000000d4000000200000000000000000000000000000001d00000003reloc/custom/help/after.html  <header>Command to run after saving</header>

Whatever command is entered here will be run as <tt>root</tt> after
the file is saved. This could be useful for copying the file to another
server for example.
<hr>

0707010000bb15000081a40000000000000002000000013d1fe2d8000000f4000000200000000000000000000000000000002000000003reloc/custom/help/after.nl.html   <header>Opdracht uitvoeren ná opslaan</header>

Elke hier opgegeven opdracht zal worden uitgevoerd als <tt>root</tt> 
nadat het bestand is opgeslagen. Dit kan nuttig zijn bijvoorbeeld voor het 
maken van een kopie naar een andere server.
<hr>

0707010000bb16000081a40000000000000002000000013d1fe2d8000000e1000000200000000000000000000000000000002000000003reloc/custom/help/after.pl.html   <header>Polecenie uruchamiane po zachowaniu</header>

Dowolne podane tu polecenie zostanie uruchomione jako <tt>root</tt> po
zachowaniu pliku. Mo¿e to zostaæ wykorzystane na przyk³ad do kopiowania
pliku na inny serwer.
<hr>

   0707010000bb17000081a40000000000000002000000013d1fe2d8000000d5000000200000000000000000000000000000002100000003reloc/custom/help/before.ca.html  <header>Ordre a executar abans de desar</header>

L'ordre introduïda aquí s'executarà com a <tt>root</tt> abans de
desar el fitxer. Això pot ser útil, per exemple, per fer una còpia
de seguretat del fitxer.
<hr>

   0707010000bb18000081a40000000000000002000000013d1fe2d8000000cf000000200000000000000000000000000000001e00000003reloc/custom/help/before.html <header>Command to run before saving</header>

Whatever command is entered here will be run as <tt>root</tt> before
the file is saved. This could be useful for making a backup of the
file for example.
<hr>

 0707010000bb19000081a40000000000000002000000013d1fe2d8000000f5000000200000000000000000000000000000002100000003reloc/custom/help/before.nl.html  <header>Opdracht uitvoeren vóór opslaan</header>

Elke hier opgegeven opdracht zal worden uitgevoerd als <tt>root</tt> 
voordat het bestand is opgeslagen. Dit kan nuttig zijn bijvoorbeeld voor het 
maken beveiligingskopie van het bestand.
<hr>

   0707010000bb1a000081a40000000000000002000000013d1fe2d8000000ea000000200000000000000000000000000000002100000003reloc/custom/help/before.pl.html  <header>Polecenie uruchamiane przed zachowaniem</header>

Dowolne podane tu polecenie zostanie uruchomione jako <tt>root</tt> zanim
plik zostanie zachowany. Mo¿e to byæ przydatne na przyk³ad do stworzenia
kopii zapasowej pliku.
<hr>

  0707010000bb1b000081a40000000000000002000000013d1fe2d8000006dd000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.ca.html Cada ordre té una descripció (mostrada en el botó de la pàgina principal),
i una ordre a executar. Aquesta cadena d'ordre pot contenir operadors
shell com ara |, &gt; i &lt; per executar múltiples ordres i <i>pipes</i>.
La cadena també pot contenir paràmetres com <tt>$foo</tt>, que són reemplaçats
per les entrades de l'usuari quan s'executa el programa. <p>

Aquests paràmetres es poden introduir dins la taula al peu de la pàgina.
Per cada paràmetre, cal d'introduir:
<dl>
<dt><b>Nom</b>
<dd>Un codi únic del paràmetre. Si el nom és <tt>foo</tt>, llavors
    <tt>$foo</tt> se substituirà pel valor del paràmetre quan s'executi 
    l'ordre.<p>
<dt><b>Descripció</b>
<dd>La descripció d'aquest paràmetre a la pàgina principal.<p>
<dt><b>Tipus</b>
<dd>Aquesta opció controla com s'introdueix el paràmetre.
Les opcions disponibles són:
	<ul>
	<li><b>Text</b><br>
            Una entrada de text totalment lliure.
	<li><b>Usuari</b><br>
            Un usuari del sistema.
	<li><b>UID</b><br>
            El UID d'un usuari del sistema.
	<li><b>Grup</b><br>
            Un grup del sistema.
	<li><b>GID</b><br>
	    El GID d'un grup del sistema.
	<li><b>Fitxer</b><br>
            El camí complet d'un fitxer.
	<li><b>Directori</b><br>
            El camí complet d'un directori.
	<li><b>Opció</b><br>
            Una entrada Sí/No que establirà el paràmetre a allò contingut
            en el camp només si es tria Sí.
	<li><b>Contrasenya</b><br>
            Una entrada de text totalment lliure, però substituint els
            caràcters per '*'.
	</ul><p>
<dt><b>Paràmetre entre cometes</b>
<dd>Si és Sí, el paràmetre es posarà entre cometes dobles (") abans de la
substitució, cosa que permet que l'usuari introdueixi valors amb espais. <p>
</dl>

<hr>

   0707010000bb1c000081a40000000000000002000000013d1fe2d80000073d000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.es.html Cada comando tiene una descripción (mostrada en la parte inferior de la página
principal), y un comando a ejecutar. Esta cadena de comando puede contener
operadores de shell como |, &gt; y ; para ejecutar comandos múltiples y líneas
de tubería. La cadena también puede contener parámetros como <tt>$foo</tt>,
los cuales son reemplazados por entradas de usuario cuando el comando se
ejecuta. <p>

Estos parámetros pueden ser digitados en la tabla de la parte inferior de la
página.
Para cada parámetro debes de digitar:
<dl>
<dt><b>Nombre</b>
<dd>Un código único para este parámetro. Si el nombre es <tt>foo</tt>, entonces
    <tt>$foo</tt> será reemplazado por el valor de parámetro cuando se ejecuta
    el comando.<p>
<dt><b>Descripción</b>
<dd>La descripción al lado del parámetro en la página principal.<p>
<dt><b>Tipo</b>
<dd>Esta opción controla cómo se introduce el parámetro. Las opciones posibles son:
	<ul>
	<li><b>Texto</b><br>
	    Una entrada de texto totálmente libre.
	<li><b>Usuario</b><br>
	    Un nombre de usuario de tu sistema.
	<li><b>UID</b><br>
	    La UID de un usuario de tu sistema.
	<li><b>Grupo</b><br>
	    Un nombre de grupo de tu sistema.
	<li><b>GID</b><br>
	    La GID de un grupo de tu sistema.
	<li><b>Archivo</b><br>
	    La trayectoria completa a un archivo.
	<li><b>Directorio</b><br>
	    La trayectoria completa a un directorio.
	<li><b>Opción</b><br>
	    Una entrada de Sí/No que pondrá el parámetro a lo que esté en el campo
	    al lado de la entrada de tipo, sólo si se selecciona Sí.
	<li><b>Clave de acceso</b><br>
	    Una entrada de texto totalmente libre pero con la entrada reemplazada por *.
	</ul><p>
<dt><b>¿Entrecomillo parámetro?</b>
<dd>En caso de que sí, el parámetro será entrecomillado antes de ser sustituído, permitiendo
    al usuario entrar valores que contengan espacios.<p>
</dl>

<hr>

   0707010000bb1d000081a40000000000000002000000013d1fe2d80000071c000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.fr.html Chaque commande a une description (affiché sur le bouton de la page principale), et une commande actuel à exécuter.  Cette commande peut contenir des opérateurs de l'interpréteur de commande comme | et ; pour l'exécution de commandes multiples et de transferts de données.  Il peut aussi contenir des paramètres comme <tt>$foo</tt>, qui sont remplacer par une saisie de l'usager quand la commande est exécutée.<p>

Ces paramètres peuvent être entré dans la table au bas de la page.  Pour chaque pramètre vous devez entrer :
<dl>
<dt><b>Nom</b>
<dd>Un code unique pour ce paramètre.  Si le nom est <tt>foo</tt>, bien <tt>$foo</tt> sera remplacé par la valeur de ce paramètre quand la commande est exécutée.<p>
<dt><b>Description</b>
<dd>La description après le paramètre sur la page principale.<p>
<dt><b>Type</b>
<dd>Cette option contrôle comment le paramètre est entré.  Les options valides sont :
	<ul>
	<li><b>Texte</b><br>
	    Une entrée libre de texte.
	<li><b>Usager</b><br>
	    Un nom d'usager sur votre système.
	<li><b>Numéro d'Usager</b><br>
	    Le numéro d'un usager de votre système.
	<li><b>Groupe</b><br>
	    Un nom de groupe de votre système.
	<li><b>Numéro de Groupe</b><br>
	    Le numéro d'un groupe de votre système.
	<li><b>Fichuer</b><br>
	    Le chemin complet d'un fichier.
	<li><b>Répertoire</b><br>
	    Le chemin complet d'un répertoire.
	<li><b>Option</b><br>
	    Une sasie Oui/Non qui va définir le paramètre à n'importe quoi qui est dans le champs après l'entrée de ce type si Oui est choisit.
	<li><b>Mot de Passe</b><br>
	    Une saisie de texte libre, mais où le contenu va être remplacé par des * à l'affichage.
	</ul><p>
<dt><b>Paramètre entre "" ?</b>
<dd>Si Oui, le paramètre va etre mit entre "", permettant à l'usager d'entrer des valeurs contenant des espaces.<p>
</dl>

<hr>
0707010000bb1e000081a40000000000000002000000013d1fe2d80000067b000000200000000000000000000000000000001b00000003reloc/custom/help/cmd.html    Each command has a description (displayed on the button on the main page),
and an actual command to execute. This command string can contain shell
operators like |, &gt; and ; for executing multiple commands and pipelines.
The string can also contain parameters like <tt>$foo</tt>, which are replaced
by user inputs when the command is run. <p>

These parameters can be entered into the table at the bottom of the page.
For each parameter you must enter :
<dl>
<dt><b>Name</b>
<dd>A unique code for this parameter. If the name is <tt>foo</tt>, then
    <tt>$foo</tt> will be replaced by the parameter value when the command
    is executed.<p>
<dt><b>Description</b>
<dd>The description next to this parameter on the main page.<p>
<dt><b>Type</b>
<dd>This option controls how the parameter is input. Available options are :
	<ul>
	<li><b>Text</b><br>
	    A totally free-text input.
	<li><b>User</b><br>
	    A username from your system.
	<li><b>UID</b><br>
	    The UID of a user from your system.
	<li><b>Group</b><br>
	    A group name from your system.
	<li><b>GID</b><br>
	    The GID of a group from your system.
	<li><b>File</b><br>
	    The full path to a file.
	<li><b>Directory</b><br>
	    The full path to a directory.
	<li><b>Option</b><br>
	    A Yes/No input that will set the parameter to whatever is in
	    the field next to the type input only if Yes is chosen.
	<li><b>Password</b><br>
	    A totally free-text input, but with the input replaced by *'s.
	</ul><p>
<dt><b>Quote parameter?</b>
<dd>If Yes, the parameter will be quoted with " before substitution, allowing
    the user to enter values containing whitespaces.<p>
</dl>

<hr>

 0707010000bb1f000081a40000000000000002000000013d1fe2d800000746000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.nl.html Elke opdracht heeft een beschrijving (afgebeeld op de knop op de hoofdpagina) 
en de eigenlijke uit te voeren opdracht. Deze opdracht string kan shell operators 
bevatten zoals |, &gt; en ; voor het uitvoeren van een aantal commando's na elkaar 
of het gebruiken van pipes. De string kan ook parameters bevatten zoals <tt>$foo</tt>, 
die worden vervangen door invoer van de gebruiker wanneer de opdracht wordt 
uitgevoerd. <p>

Deze parameters kunnen worden ingevoerd in een tabel onderaan de pagina.
Voor ieder parameter voert u in:

<dl>
<dt><b>Naam</b>
<dd>Een unieke code voor deze parameter. Als de naam <tt>foo</tt> is, dan wordt
    <tt>$foo</tt> vervangen door de parameterwaarde tijdens de uitvoering van 
    de opdracht.<p>
<dt><b>Beschrijving</b>
<dd>De beschrijving naast de parameter op de hoofdpagina.<p>
<dt><b>Type</b>
<dd>Deze optie bepaalt hoe de parameter aan het commande wordt aangeboden. 
     De keuzen zijn:

	<ul>
	<li><b>Tekst</b><br>
	    Een volledig vrij tekst formaat.
	<li><b>gebruikerr</b><br>
	    Een gebruikersnaam in uw systeem.
	<li><b>UID</b><br>
	    Dee UID van een gebruiker in uw systeem.
	<li><b>Groep</b><br>
	    Een groepsnaam in uw systeem
	<li><b>GID</b><br>
	    De GID van een groep in uw systeem.
	<li><b>Bestand</b><br>
	    Het volledige pad van een bestand.
	<li><b>Map</b><br>
	    Het volledige pad van een map.
	<li><b>Optien</b><br>
	    Een Ja/Nee invoer, die een parameter zet op de waarde op de volgende 
            type invoer als "Ja" wordt gekozen.
	<li><b>Wachtwoord</b><br>
	    Een volledig vrij tekst formaat, waarbij het ingetypte wordt getoond als *'s.
	</ul><p>
<dt><b>Met aanhalingsteken?</b>
<dd>Als hier "Ja" wordt gekozen, wordt de parameter tussen aanhalingstekens gezet met 
    een " vóór de substitutie. Hiermee is het invoeren van parameters met spaties mogelijk.<p>
</dl>

<hr>

  0707010000bb20000081a40000000000000002000000013d1fe2d800000714000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.pl.html Ka¿de polecenie posiada opis (wy¶wietlany w&nbsp;przycisku na stronie
g³ównej) oraz faktycznie uruchamiane polecenie. Linia polecenia mo¿e
zawieraæ operatory pow³oki takie, jak |, &gt; i&nbsp;; w&nbsp;celu
uruchomienia wielu poleceñ w&nbsp;potoku. Linia polecenia mo¿e równie¿
zawieraæ parametry takie, jak <tt>$foo</tt>, które podczas uruchamiania
polecenia zostan± zast±pione warto¶ciami podanymi przez u¿ytkownika. <p>

Te parametry mo¿na podaæ w&nbsp;tabeli u&nbsp;do³u strony. Dla ka¿dego
parametru konieczne jest podanie&nbsp;:
<dl>
<dt><b>Nazwy</b>
<dd>Czyli unikalnego kodu tego parametru. Je¶li nazw± jest <tt>foo</tt>, to
    podczas uruchamiania polecenia <tt>$foo</tt> zostanie zast±pione
    warto¶ci± paramnetru. <p>

<dt><b>Opisu</b>
<dd>Opisu nastêpuj±cego po tym parametrze na stronie g³ównej.<p>
<dt><b>Rodzaju</b>

<dd>Ta opcja okre¶la sposób wprowadzania parametru. Dostêpne s±
    mo¿liwo¶ci&nbsp;:
	<ul>
	<li><b>Tekstowy</b><br>
	    Ca³kowicie dowolny tekst.
	<li><b>U¿ytkownik</b><br>
	    Nazwa u¿ytkownika w&nbsp;systemie.
	<li><b>UID</b><br>
	    Numer UID u¿ytkownika w&nbsp;systemie.
	<li><b>Grupa</b><br>
	    Nazwa grupy w&nbsp;systemie. 
	<li><b>GID</b><br>
	    Numer GID grupy w&nbsp;systemie.
	<li><b>Plik</b><br>
	    Pe³na ¶cie¿ka do pliku.
	<li><b>Katalog</b><br>
	    Pe³na ¶cie¿ka do katalogu.
	<li><b>Opcja</b><br>
	    Wprowadzone Tak/Nie ustawi warto¶æ parametru na to, co znajduje
	    siê w&nbsp;nastêpnym polu wy³±cznie w&nbsp;przypadku wybrania
	    Tak.
	<li><b>Has³o</b><br>
	    Ca³kowicie dowolny tekst, lecz podczas wprowadzania wy¶wietlany
	    jako *.
	</ul><p>
<dt><b>Czy cytowaæ parametr?</b>
<dd>Je¶li Tak, parametr zostanie zacytowany poprzez " przed podstawieniem, 
    pozwalaj±c u¿ytkownikowi na podanie warto¶ci zawieraj±cych spacje. <p>
</dl>

<hr>
0707010000bb21000081a40000000000000002000000013d1fe2d800000696000000200000000000000000000000000000001e00000003reloc/custom/help/cmd.sv.html Varje kommandoord har en beskrivning (visas på knappen på förstasidan) och
ett kommando som utförs. Detta kommando kan innehålla skaloperatorer som
|, &gt; och ; för att utföra flera kommandon och pipelines. Kommandot kan
också innehålla parametrar som <tt>$foo</tt>, som byts ut mot inmatningar
när kommandot körs.

<p>Dessa parametrar kan du skriva in i tabellen längst ned på sidan. För
varje parameter måste du ange:

<dl>
<dt><b>Namn</b>
<dd>En unik bestämning för denna parameter. Om du anger namnet <tt>foo</tt>
    kommer <tt>$foo</tt> att bytas ut mot parametervärdet när kommandot körs.
<p><dt><b>Beskrivning</b>
<dd>Beskrivningen som ska skrivas ut vid denna parameter på förstasidan.
<p><dt><b>Typ</b>
<dd>Denna inställning bestämmer hur parametern tas emot. Alternativen är:
	<ul>
	<li><b>Text</b>
	    <br>Fri textinmatning.
	<li><b>Användare</b>
	    <br>Ett användarnamn i ditt system.
	<li><b>UID</b>
	    <br>UID för en användare i ditt system.
	<li><b>Grupp</b>
	    <brEtt gruppnamn i ditt system.
	<li><b>GID</b>
	    <brGID för en grupp i ditt system.
	<li><b>Fil</b>
	    <br>Fullständig sökväg till en fil.
	<li><b>Katalog</b>
	    <br>Fillständig sökväg till en katalog.
	<li><b>Inställlning</b>
	    <br>Ja/Nej-inmatning som kommer att sätta parametern till det
	    som står i fältet bredvid typinmatningen endast om Ja väljs.
	<li><b>Lösenord</b>
	    <br>Fri textinmatning, men vid inmatning byts tecknen ut mot
	    asterisker på skärmen.
	</ul><p>
<dt><b>Citationstecken runt parameter?</b>
<dd>Om du svarar Ja, kommer parametern att omges med citationstecken före
utbytet, vilket medför att man kan mata in värden som innehåller mellanslag.
</dl>

<hr>

  0707010000bb22000081a40000000000000002000000013d1fe2d8000004cd000000200000000000000000000000000000002600000003reloc/custom/help/cmd.zh_TW.Big5.html ¨C¤@­Ó©R¥O³£­n¦³¤@­Ó´y­z (Åã¥Ü¦b¥Dµe­±ªº«ö¶s), »P¹ê»Ú­n°õ¦æªº«ü¥O. ³o­Ó«ü¥O¦r¦ê¥i¥H¥]§t©Ò¦³¨t²Î©R¥O´ßªº¾Þ§@¤l¨Ò¦p |, $gt; »P ; ¥H°õ¦æ¦h­«ªº©R¥O»PºÞ½u±±¨î. ³o­Ó¦r¦ê»P¥i¥H¥]§t¨Ò¦p <tt>$foo</tt> µ¥ªº°Ñ¼Æ, ¥B³o¨Ç°Ñ¼Æ±N·|¦b«ü¥O°õ¦æ®É³Q´À´«¦¨¹ïÀ³ªº¦r¦ê. <p>

³o¨Ç°Ñ¼Æ¥i¥H³Q¿é¤J¨ì­¶­±©³ºÝªºªí®æ. ¹ï©ó¨C­Ó°Ñ¼Æ±z¥²¶·¿é¤J:
<dl>
<dt><b>¦WºÙ</b>
<dd>¤@­Ó±M¤@ªº°Ñ¼Æ¦WºÙ. ¦pªG¥s°µ <tt>foo</tt>, «h·í©R¥O³Q°õ¦æ®É, <tt>$foo</tt> ±N·|³Q´À´«¦¨©Ò¿é¤Jªº°Ñ¼Æ¼Æ­È.<p>
<dt><b>´y­z</b>
<dd>³o­Ó´y­z±N·|Åã¥Ü¦b¥D­¶­±, ¨Ã±µ¨ü°Ñ¼Æ.<p>
<dt><b>Ãþ§O</b>
<dd>³o­Ó¿ï¶µ±±¨î°Ñ¼Æ¦p¦ó³Q¿é¤J. ¥i¥Îªº¿ï¶µ¬°:
	<ul>
	<li><b>¤å¦r</b><br>
	    §¹¥þ¦Û¥Ñªº¤å¦r¿é¤J.
	<li><b>¨Ï¥ÎªÌ</b><br>
	    ±z¨t²Î¤Wªº¨Ï¥ÎªÌ¦WºÙ.
	<li><b>¨Ï¥ÎªÌ½s¸¹ (UID)</b><br>
	    ±z¨t²Î¤W¨Ï¥ÎªÌªº½s¸¹.
	<li><b>¸s²Õ</b><br>
	    ±z¨t²Î¤Wªº¸s²Õ¦WºÙ.
	<li><b>¸s²Õ½s¸¹ (GID)</b><br>
	    ±z¨t²Î¤W¸s²Õªº½s¸¹.
	<li><b>ÀÉ®×</b><br>
	    ¨ìÀÉ®×ªº§¹¾ã¸ô®|.
	<li><b>¥Ø¿ý</b><br>
	    ¨ì¥Ø¿ýªº§¹¾ã¸ô®|.
	<li><b>¿ï¶µ...</b><br>
	    ¤@­Ó ¬O/§_ ªº¿é¤J, ·í¦b°õ¦æ®É, °£«D±z¿ï¾Ü "¬O", §_«h±N¤£·|±N©Ò´£¨Ñªº°Ñ¼Æ°eµ¹«ü¥O.
	<li><b>±K½X</b><br>
	    §¹¥þ¦Û¥Ñªº¤å¦r¿é¤J, ¦ý©Ò¦³ªº¿é¤J³£·|³QÅã¥Ü¬° '*'.
	</ul><p>
<dt><b>¬O§_¨Ï¥Î¤Þ¸¹?</b>
<dd>¦pªG¿ï¾Ü"¬O", °Ñ¼Æ±N·|¥H¤Þ¸¹ ("") ¥]³ò, ¥H¤¹³\¨Ï¥ÎªÌ¿é¤J¯S®í¦r¤¸.<p>
</dl>

<hr>

   0707010000bb23000081a40000000000000002000000013d1fe2d8000000af000000200000000000000000000000000000002200000003reloc/custom/help/command.ca.html <header>Ordre</header>

L'ordre a executar. Com que les ordres s'executen amb <tt>sh</tt>,
pot contenir qualsevol metacaràcter shell, com ara |, &gt; i &amp;&amp;. <p>

<hr>

 0707010000bb24000081a40000000000000002000000013d1fe2d8000000c0000000200000000000000000000000000000002200000003reloc/custom/help/command.es.html <header>Comando</header>

El comando actual a ejecutar. Ya que los comando son ejecutados por <tt>sh</tt>,
puede contener cualquier metacarácter de shell como |, &gt; y &amp;&amp;. <p>

<hr>

0707010000bb25000081a40000000000000002000000013d1fe2d8000000dd000000200000000000000000000000000000002200000003reloc/custom/help/command.fr.html <header>Commande</header>

La commande actuelle à exécuter.  Parce que les commandes sont exécuter par <tt>sh</tt>, elles peuvent contenir des caractère de contrôle de l'interpréteur de commande comme | and ;. <p>

<hr>

   0707010000bb26000081a40000000000000002000000013d1fe2d8000000b7000000200000000000000000000000000000001f00000003reloc/custom/help/command.html    <header>Command</header>

The actual command to execute. Because commands are executed by <tt>sh</tt>,
it can contain any shell metacharacters like |, &gt; and &amp;&amp;. <p>

<hr>

 0707010000bb2c000081a40000000000000002000000013d1fe2d8000000cc000000200000000000000000000000000000002200000003reloc/custom/help/command.nl.html <header>Opdracht</header>

De eigenlijk uit te voeren opdracht. Omdat opdrachten worden uitgevoerd door 
<tt>sh</tt>, kunnen alle shell metatekens zoals |, &gt; en &amp;&amp; worden 
gebruikt. <p>

<hr>

0707010000bb2d000081a40000000000000002000000013d1fe2d8000000dc000000200000000000000000000000000000002200000003reloc/custom/help/command.pl.html <header>Polecenie</header>

Faktycznie uruchamiane polecenie. Ze wzglêdu na fakt, ¿e polecenia s±
uruchamiane przez <tt>sh</tt>, mo¿e ono zawieraæ dowolne metaznaki pow³oki,
jak np. |, &gt; i&nbsp;&amp;&amp;. <p>

<hr>

0707010000bb2e000081a40000000000000002000000013d1fe2d8000000a4000000200000000000000000000000000000002200000003reloc/custom/help/command.sv.html <header>Kommando</header>

Kommandot som ska utföras. Eftersom kommandon utförs av <tt>sh</tt>
kan de innehålla skaloperatorer, t ex |, &gt; och &amp;&amp;.

<hr>

0707010000bb2f000081a40000000000000002000000013d1fe2d800000097000000200000000000000000000000000000002a00000003reloc/custom/help/command.zh_TW.Big5.html <header>«ü¥O</header>

¹ê»Ú­n°õ¦æªº«ü¥O. ¦]¬°«ü¥O±N·|¥H <tt>sh</tt> °õ¦æ, ©Ò¥H¥i¥H¥]§t¥ô¦ó©R¥O´ßªº¤¤Ä~¦r¤¸, ¨Ò¦p |, &gt;, |  »P &amp;&amp;. <p>

<hr>

 0707010000bb30000081a40000000000000002000000013d1fe2d8000000c1000000200000000000000000000000000000002100000003reloc/custom/help/create.ca.html  <header>Creació d'Ordre</header>

Aquesta pàgina permet definir noves ordres personalitzades. Un cop
desada, l'ordre s'afegirà a la pàgina principal per a la seva execució.
<p>

<include cmd>

   0707010000bb31000081a40000000000000002000000013d1fe2d8000000be000000200000000000000000000000000000002100000003reloc/custom/help/create.es.html  <header>Crear Comando</header>

Esta página te permite definir un nuevo comando. Una vez salvado, el comando
será añadido a la página principal para su posible ejecución.

<include cmd.es>

  0707010000bb32000081a40000000000000002000000013d1fe2d8000000d9000000200000000000000000000000000000002100000003reloc/custom/help/create.fr.html  <header>Créer une Commande</header>

Cette page vous permet de définir une nouvelle commande personnelle.   Une fois sauvegardée, cette commande va être ajouté à la page principale pour son exécution.

<include cmd>

   0707010000bb33000081a40000000000000002000000013d1fe2d8000000ac000000200000000000000000000000000000001e00000003reloc/custom/help/create.html <header>Create Command</header>

This page allows you to define a new custom command. Once saved, the command
will be added to the main page for execution.

<include cmd>

0707010000bb34000081a40000000000000002000000013d1fe2d8000000d6000000200000000000000000000000000000002100000003reloc/custom/help/create.nl.html  <header>Maak Opdracht aan</header>

Met deze pagina kunt u uw eigen opdracht definiëeren. Als die is opgeslagen, wordt 
deze opdracht toegevoegd aan de hoofdpagina en kan vandaar worden uitgevoerd.

<include cmd>

  0707010000bb35000081a40000000000000002000000013d1fe2d8000000c7000000200000000000000000000000000000002100000003reloc/custom/help/create.pl.html  <header>Utwórz polecenie</header>

Za pomoc± tej strony mo¿esz zdefiniowaæ nowe polecenie u¿ytkownika. Raz
zachowane, polecenie to zostanie dodane do strony g³ównej dla uruchomienia.

<include cmd>

 0707010000bb36000081a40000000000000002000000013d1fe2d8000000b8000000200000000000000000000000000000002100000003reloc/custom/help/create.sv.html  <header>Skapa kommando</header>

På denna sida kan du definiera ett nytt kommando. När du har sparat det
kommer det att dyka upp på förstasidan så att du kan köra det.

<include cmd>

0707010000bb37000081a40000000000000002000000013d1fe2d800000083000000200000000000000000000000000000002900000003reloc/custom/help/create.zh_TW.Big5.html  <header>«Ø¥ß©R¥O</header>

³o¤@­¶¥i¥HÅý±z©w¸q¤@­Ó·sªº¦Û­q©R¥O. ·í±zÀx¦s¤§«á, ³o¨Ç«ü¥O±N³Q¥[¨ì¥D­n¯Á¤Þ­¶¤¤·Ç³Æ°õ¦æ.

<include cmd>

 0707010000bb38000081a40000000000000002000000013d1fe2d8000000f1000000200000000000000000000000000000001f00000003reloc/custom/help/desc.ca.html    <header>Descripció</header>

Una breu descripció d'aquesta ordre. Tot el que introdueixis al primer camp,
es mostra al botó de l'ordre de la pantalla principal, i tot el que introdueixis
al segon camp es mostra a sota del botó. <br>

<hr>


   0707010000bb39000081a40000000000000002000000013d1fe2d8000000af000000200000000000000000000000000000001f00000003reloc/custom/help/desc.es.html    <header>Descripción</header>

Una breve descripción para este comando. Lo que digites aquí es lo que será mostrado
en el botón del comando en la página principal. <p>

<hr>


 0707010000bb3a000081a40000000000000002000000013d1fe2d8000000ac000000200000000000000000000000000000001f00000003reloc/custom/help/desc.fr.html    <header>Description</header>

Une petite description de cette commande.  Tout ce qui est entré sera affiché sur le bouton de la commande sur la page principale.<p>

<hr>


0707010000bb3b000081a40000000000000002000000013d1fe2d8000000fb000000200000000000000000000000000000001c00000003reloc/custom/help/desc.html   <header>Description</header>

A short description for this command. Whatever you enter into the first field is displayed on the command button on the main page, and whatever is entered into the second field is displayed below the button. <br>

<hr>


 0707010000bb3c000081a40000000000000002000000013d1fe2d8000000e9000000200000000000000000000000000000001f00000003reloc/custom/help/desc.nl.html    <header>Beschrijving</header>

Een korte beschrijving van de opdracht. Wat u invult in het eerste veld wordt 
getoond op de opdrachtknop op de hoofdpagina. Wat u intikt in het tweede veld 
wordt onder deze knop getoond. <br>

<hr>


   0707010000bb3d000081a40000000000000002000000013d1fe2d8000000f7000000200000000000000000000000000000001f00000003reloc/custom/help/desc.pl.html    <header>Opis</header>

Krótki opis tego polecenia. Cokolwiek wpiszesz w&nbsp;pierwszym polu,
zostanie umieszczone w&nbsp;przycisku polecenia na stronie g³ównej,
natomiast cokolwiek wpiszesz w&nbsp;drugim polu, uka¿e siê pod przyciskiem.
<p>

<hr>
 0707010000bb3e000081a40000000000000002000000013d1fe2d80000008b000000200000000000000000000000000000001f00000003reloc/custom/help/desc.sv.html    <header>Beskrivning</header>

En kort beskrivning av kommandot. Det du skriver kommer att visas på
kommandoknappen på förstasidan.

<hr>


 0707010000bb3f000081a40000000000000002000000013d1fe2d80000006f000000200000000000000000000000000000002700000003reloc/custom/help/desc.zh_TW.Big5.html    <header>´y­z</header>

¹ï©ó³o­Ó©R¥OªºÂ²µu´y­z. ¤£½×±z¿é¤J¤F¤°»ò, ¥¦³£±N³QÅã¥Ü¦b¥D­n¯Á¤Þ­¶ªº«ö¶s¤W. <p>

<hr>


 0707010000bb40000081a40000000000000002000000013d1fe2d80000006c000000200000000000000000000000000000001f00000003reloc/custom/help/edit.ca.html    <header>Edició d'Ordre</header>

Aquesta pàgina permet editar una ordre prèviament definida.
<include cmd>

0707010000bb41000081a40000000000000002000000013d1fe2d800000074000000200000000000000000000000000000001f00000003reloc/custom/help/edit.es.html    <header>Editar Comando</header>

Esta página te permite editar un comando de usuario ya definido.
<include cmd.es>

0707010000bb42000081a40000000000000002000000013d1fe2d80000007a000000200000000000000000000000000000001f00000003reloc/custom/help/edit.fr.html    <header>Éditer un Commande</header>

Cette page vous permet d'éditer une commande qui a déjà été définie.

<include cmd>

  0707010000bb43000081a40000000000000002000000013d1fe2d80000006e000000200000000000000000000000000000001c00000003reloc/custom/help/edit.html   <header>Edit Command</header>

This page allows you to edit an already defined custom command.
<include cmd>

  0707010000bb44000081a40000000000000002000000013d1fe2d800000079000000200000000000000000000000000000001f00000003reloc/custom/help/edit.nl.html    <header>Opdracht Wijzigen</header>

Met deze pagina kunt u een reeds eerder ingevoerde opdracht wijzigen.
<include cmd>

   0707010000bb45000081a40000000000000002000000013d1fe2d800000083000000200000000000000000000000000000001f00000003reloc/custom/help/edit.pl.html    <header>Zmieñ polecenie</header>

Za pomoc± tej strony mo¿esz zmieniæ uprzednio zdefiniowane polecenie u¿ytkownika.
<include cmd>

 0707010000bb46000081a40000000000000002000000013d1fe2d80000006f000000200000000000000000000000000000001f00000003reloc/custom/help/edit.sv.html    <header>Ändra kommando</header>

På denna sida kan du ändra ett redan definierat eget kommando.
<include cmd>

 0707010000bb47000081a40000000000000002000000013d1fe2d800000052000000200000000000000000000000000000002700000003reloc/custom/help/edit.zh_TW.Big5.html    <header>½s¿è©R¥O</header>

³o¤@­¶¤¹³\±z½s¿è¤@­Ó¤w¸g©w¸qªº¦Û­q©R¥O.
<include cmd>

  0707010000bb48000081a40000000000000002000000013d1fe2d800000153000000200000000000000000000000000000002100000003reloc/custom/help/editor.ca.html  Cada editor de fitxer té una descripció (mostrada al botó de la pàgina
principal), i un nom de fitxer per editar. Això pot ser tant qualsevol
fitxer de text que existeixi al sistema, com un fitxer de text que no
existeix. També hi ha algunes altres opcions que es poden establir per
determinar què passa quan es desa el fitxer. <p>

<hr>

 0707010000bb49000081a40000000000000002000000013d1fe2d800000148000000200000000000000000000000000000001e00000003reloc/custom/help/editor.html Each file editor has a description (displayed on the button on the main page),
and a file name to edit. This can be any text file that currently exists
on your system, or the name of a file that does not yet exist. 
There are also a few other options that can be set to determine what
happens when the file is saved. <p>

<hr>

0707010000bb4a000081a40000000000000002000000013d1fe2d800000163000000200000000000000000000000000000002100000003reloc/custom/help/editor.nl.html  Elke bestandsbewerker heeft een beschrijving )getoond op de knop op de 
hoofdpagina) en een te bewerken bestand. Dit kan gaan om elk willekeurig 
tekstbestand op uw systeem of om de naam van een bestand dat nog niet bestaat.
Er zijn ook een paar andere opties die kunnen worden gebruikt om te bepalen wat 
er gebeurt als u het bestand opslaat. <p>

<hr>

 0707010000bb4b000081a40000000000000002000000013d1fe2d80000015c000000200000000000000000000000000000002100000003reloc/custom/help/editor.pl.html  Ka¿dy edytor pliku posiada opis (umieszczany w&nbsp;przycisku na stronie
g³ównej) oraz nazwê edytowaniego pliku. Mo¿e to byc dowolny plik tekstowy
istniej±cy obecnie w&nbsp;systemie lub nazwa pliku, który jeszcze nie
istnieje. Jest równie¿ kilka innych opcji, które mo¿na ustawiæ, aby okre¶liæ
co ma sie dziaæ, gdy plik jest zachowywany. <p>

<hr>
0707010000bb4c000081a40000000000000002000000013d1fe2d8000000ba000000200000000000000000000000000000002200000003reloc/custom/help/fcreate.ca.html <header>Creació d'Editor de Fitxer</header>

Aquesta pàgina permet definir un nou editor de fitxer. Un cop desat.
el botó de l'editor s'afegirà a la pàgina principal.

<include editor>

  0707010000bb4d000081a40000000000000002000000013d1fe2d8000000a8000000200000000000000000000000000000001f00000003reloc/custom/help/fcreate.html    <header>Create File Editor</header>

This page allows you to define a new file editor. Once saved, the editor button
will be added to the main page.

<include editor>

0707010000bb4e000081a40000000000000002000000013d1fe2d8000000b9000000200000000000000000000000000000002200000003reloc/custom/help/fcreate.pl.html <header>Utwórz edytor pliku</header>

Za pomoc± tej strony mo¿esz zdefiniowaæ nowy edytor pliku. Po zachowaniu go,
przycisk edytora zostanie dodany do strony g³ównej.

<include editor>
   0707010000bb4f000081a40000000000000002000000013d1fe2d8000000f1000000200000000000000000000000000000002000000003reloc/custom/help/fdesc.ca.html   <header>Descripció</header>

Una breu descripció d'aquesta ordre. Tot el que introdueixis al primer camp,
es mostra al botó de l'ordre de la pantalla principal, i tot el que introdueixis
al segon camp es mostra a sota del botó. <br>

<hr>


   0707010000bb50000081a40000000000000002000000013d1fe2d8000000f7000000200000000000000000000000000000001d00000003reloc/custom/help/fdesc.html  <header>Description</header>

A short description for this file. Whatever you enter into the first field is displayed on the editor button on the main page, and whatever is entered into the second field is displayed below the button. <br>

<hr>


 0707010000bb51000081a40000000000000002000000013d1fe2d8000000ea000000200000000000000000000000000000002000000003reloc/custom/help/fdesc.nl.html   <header>Beschrijving</header>

Een korte beschrijving van dit bestand. Wat u invult in het eerste veld wordt 
getoond op de opdrachtknop op de hoofdpagina. Wat u intikt in het tweede veld 
wordt onder deze knop getoond. <br> 

<hr>


  0707010000bb52000081a40000000000000002000000013d1fe2d8000000f2000000200000000000000000000000000000002000000003reloc/custom/help/fdesc.pl.html   <header>Opis</header>

Krótki opis tego pliku. Cokolwiek wpiszesz w&nbsp;pierwszym polu, zostanie
umieszczone w&nbsp;przycisku edytora na stronie g³ównej, natomiast
cokolwiek wpiszesz w&nbsp;drugim polu, uka¿e siê pod przyciskiem. <p>

<hr>

  0707010000bb53000081a40000000000000002000000013d1fe2d800000088000000200000000000000000000000000000002000000003reloc/custom/help/fedit.ca.html   <header>Edició d'Editor de Fitxer</header>

Aquesta pàgina permet editar un editor de fitxer prèviament definit. <p>

<include editor>

0707010000bb54000081a40000000000000002000000013d1fe2d800000072000000200000000000000000000000000000001d00000003reloc/custom/help/fedit.html  <header>Edit File Editor</header>

This page allows you to edit an already defined file editor.
<include editor>

  0707010000bb55000081a40000000000000002000000013d1fe2d800000080000000200000000000000000000000000000002000000003reloc/custom/help/fedit.pl.html   <header>Zmieñ edytor pliku</header>

Za pomoc± tej strony mo¿esz zmieniæ uprzednio zdefiniowany edytor pliku.
<include editor>

0707010000bb56000081a40000000000000002000000013d1fe2d8000000c9000000200000000000000000000000000000001f00000003reloc/custom/help/file.ca.html    <header>Fitxer a editar</header>

El camí complet del fitxer de text que s'editarà quan es faci clic
sobre el botó de l'editor. EL fitxer no té perquè existir, però
el directori on resideix sí.

<hr>

   0707010000bb57000081a40000000000000002000000013d1fe2d8000000db000000200000000000000000000000000000001c00000003reloc/custom/help/file.html   <header>File to edit</header>

The full path to a text file that will be displayed for editing when
this file editor button is clicked. The file does not necessary have to
exist, but the directory it is in must.

<hr>

 0707010000bb58000081a40000000000000002000000013d1fe2d800000105000000200000000000000000000000000000001f00000003reloc/custom/help/file.nl.html    <header>Te bewerken bestand</header>

Het volledige pad naar een tekstbestand dat voor bewerking zal worden getoond 
als deze knop voor bestandsbewerking wordt geklikt. Het bestand hoeft nog niet 
te bestaan, maar de map waarin het wordt opgeslagen wel.

<hr>

   0707010000bb59000081a40000000000000002000000013d1fe2d8000000ea000000200000000000000000000000000000001f00000003reloc/custom/help/file.pl.html    <header>Edytowany plik</header>

Pe³na ¶cie¿ka do pliku tekstowego, który uka¿e sie w&nbsp;okienku edycji,
gdy zostanie naci¶niêty przycisk tego edytora pliku. Plik nie musi istnieæ,
ale katalog, w którym sie on znajduje musi.

<hr>

  0707010000bb5a000081a40000000000000002000000013d1fe2d800000206000000200000000000000000000000000000002100000003reloc/custom/help/fintro.ca.html  <hr>

Aquest mòdul també es pot fer servir per crear botons per editar
fitxers que es modifiquen amb freqüència. Això pot ser útil si vols 
donar drets a alguns usuaris no fiables per editar alguns fitxers. <p>

Igual que els botons d'ordres, la pàgina principal mostrarà també un botó
per cada editor de fitxer. Per editar un editor existent, fes clic sobre
l'enllaç <tt>Edita un editor de fitxer</tt>, Per crear un editor nou, fes
clic sobre l'enllaç <tt>Crea un nou editor de fitxer</tt> del peu de la
pàgina. <p>

  0707010000bb5b000081a40000000000000002000000013d1fe2d8000001eb000000200000000000000000000000000000001e00000003reloc/custom/help/fintro.html <hr>

This module can also be used to setup buttons for editing frequently-edited
files. This can also be useful if you want to grant some untrusted user
the rights to edit only a few files. <p>

Like the command buttons, the main page will also display one button for each
defined file editor. To edit an existing editor, just click on the <tt>Edit 
file editor</tt> link below it. To create a new editor, click on the
<tt>Create a new file editor</tt> link at the botton of the page. <p>

 0707010000bb5c000081a40000000000000002000000013d1fe2d80000024c000000200000000000000000000000000000002100000003reloc/custom/help/fintro.nl.html  <hr>

Dit module kan ook worden gebruikt om knoppen in te richten waarmee regelmatig 
te bewerken bestanden inhoudelijk kunnen worden gewijzigd. Het kan ook handig zijn 
als u een minder bevoorrechte gebruiker het recht wilt geven om een beperkt aantal 
bestanden  <p>

Evenals de opdrachtknoppen zal de hoofdpagina een knop tonen voor elk te bewerken 
bestand. Om een al gedefiniëerde bewerking te veranderen klikt u op de 
<tt>Aanpassen bestandsbewerker</tt> onder de knop. Om een nieuwe bewerking te maken 
klikt u op <tt>Maak een nieuwe bestandsbewerker</tt> onderaan de pagina. <p>

0707010000bb5d000081a40000000000000002000000013d1fe2d800000261000000200000000000000000000000000000002100000003reloc/custom/help/fintro.pl.html  <hr>

Ten modu³ daje równie¿ mo¿liwo¶æ zdefiniowania przycisków s³u¿±cych do
edycji czêsto modyfikowanych plików. Jest to przydatne, je¶li chce siê nadaæ
pewnemu niezaufanemu u¿ytkownikowi prawa do edycji jedynie kilku plików. <p>

Podobnie jak w&nbsp;przypadku przycisków poleceñ, na g³ównej stronie uka¿e
siê równie¿ po jednym przycisku dla ka¿dego zdefiniowanego edytora pliku.
Aby zmieniæ istniej±cy edytor, nale¿y po prostu klikn±æ na przekierowaniu
<tt>Zmieñ edytor pliku</tt> pod nim. Aby utworzyæ nowy edytor, nale¿y
klikn±æ na przekierowaniu <tt>Utwórz nowy edytor pliku</tt> u&nbsp;do³u
strony. <p>
   0707010000bb5e000081a40000000000000002000000013d1fe2d8000003aa000000200000000000000000000000000000002000000003reloc/custom/help/intro.ca.html   <header>Ordres Personalitzades</header>

Aquest mòdul permet configurar i executar ordres usades amb freqüència,
amb substitució de paràmetres opcional. Això pot ser útil si vols fer
que els scripts i programes utilitzats amb més freqüència siguin fàcilment
executables des del teu navegador o fàcilment asequibles per a usuaris
inexperts. <p>

La pàgina principal mostra un botó per cada ordre definida, amb els
paràmetres opcionals a sota de cada botó. Pots executar l'ordre seleccionant
simplementles opcions adequades i fent clic sobre el botó; un cop fet això,
es mostrarà el resultat de l'ordre. <p>

Per editar una ordre existent, fes clic sobre l'enllaç <tt>Edita l'ordre</tt>
de sota. Per crear una ordre nova, fes clic sobre l'enllaç <tt> Crea una
nova ordre personalitzada</tt> del peu de la pàgina. Tingues en compte
que aquestes opcions poden no estar disponibles per tots els usuaris de
Webmin. <p>

<include fintro>

<hr>

  0707010000bb5f000081a40000000000000002000000013d1fe2d8000003b5000000200000000000000000000000000000002000000003reloc/custom/help/intro.es.html   <header>Comandos de Usuario</header>

Este módulo te permite configurar y ejecutar comandos usados frecuéntemente
con sustitución opcional de parámetros. Esto puede ser útil si deseas hacer
que guiones o programas comúnmente utilizados se ejecuten fácilmente desde
desde tu navegador o que estén fácilmente disponibles para usuarios inexpertos.<p>

La página principal muestra un botón para cada comando definido, con parámetros
opcionales bajo cada botón. Puedes ejecutar el comando símplemente al seleccionar
las opciones apropiadas y hacer click en el botón, en el cual se mostrará
la salida del comando. <p>

Para editar un comando existente, haz click en el enlace <tt>Editar Comando</tt>
bajo él. Para crear un nuevo comando, haz click en <tt>Crear un nuevo comando
de usuario</tt> de la parte inferior de la página. Date cuente de que estas
opciones pueden no estar disponibles para todos los usuarios de Webmin. <p>

<include fintro>

<hr>

   0707010000bb60000081a40000000000000002000000013d1fe2d800000357000000200000000000000000000000000000002000000003reloc/custom/help/intro.fr.html   <header>Commandes Personnalisées</header>

Ce module vous permet de créer et exécuter des commandes souvent utilisées, avec des paramètres optionel.  Ceci peut s'avérer utile si vous voulez rendre facilement exécutable à partir de votre fureteur ou a des usagers inexperimentés des scripts commun.<p>

La page principale affiche un bouton pour chacune des commandes et des paramètres optionel sous chaque bouton.  Vous pouvez exécuter la commande simplement en choissant les options appropriés et en cliquant sur le bouton.<p>

Pour éditer une commande existante, simplement cliquer sur le lien <tt>Éditer la commande</tt> sous le bouton.  Pour en créer une nouvelle, cliquer sur <tt>Créer une nouvelle commande personnalisée</tt> au bas de la page.  Noter que ces options peuvent ne pas être valide à tout les usagers Webmin.<p>

<include fintro>

<hr>

 0707010000bb61000081a40000000000000002000000013d1fe2d800000352000000200000000000000000000000000000001d00000003reloc/custom/help/intro.html  <header>Custom Commands</header>

This module allows you to setup and execute commonly-used commands, with
optional parameter substitution. This can be useful if you want to make
commonly used scripts or programs easily executable from your browser or
easily available to inexperienced users. <p>

The main page displays one button for each defined command, with optional
parameters below each button. You can execute the command simply by selecting
the appropriate options and clicking on the button, whereupon the output
from the command will be displayed. <p>

To edit an existing command, just click on the <tt>Edit command</tt> link
below it. To create a new command, click on the <tt>Create a new custom
command</tt> link at the bottom of the page. Note that these options may not
be available to all Webmin users. <p>

<include fintro>

<hr>

  0707010000bb62000081a40000000000000002000000013d1fe2d800000335000000200000000000000000000000000000002000000003reloc/custom/help/intro.nl.html   <header>Eigen opdrachten</header>

Met dit module is het mogelijk om regelmatig gebruikte opdrachten voor te 
bereiden en uit te voeren. Dit is handig als u deze opdrachten eenvoudig 
uitvoerbaar wilt maken vanuit uw browser en/of beschikbaar wilt maken voor 
minder ervaren gebruikers. <p>

De hoofdpagina toont een knop voor elke gedefiniëerde opdracht, eventueel met 
variabelen eronder. U kunt de opdracht uitvoeren door eenvoudigweg op de 
knop te klikken. Daarop zal de uitvoer van de opdracht worden getoond. <p>

Om een bestaande opdracht te wijzigen, kunt u klikken op <tt>Pas Opdracht Aan</tt> 
eronder. Om een opdracht aan te maken, klikt u op <tt>Maak nieuwe Opdracht</tt> 
onderaan de pagina. Let wel: deze mogelijkheden zijn niet altijd voor elke 
Webmin gebruiker beschikbaar. <p>

<include fintro>

<hr>

   0707010000bb63000081a40000000000000002000000013d1fe2d8000003be000000200000000000000000000000000000002000000003reloc/custom/help/intro.pl.html   <header>Wybrane polecenia</header>

Ten modu³ umo¿liwia zdefiniowanie i&nbsp;uruchamianie czêsto u¿ywanych
poleceñ z&nbsp;ewentualnym podstawianiem parametrów. Jest to przydatne,
je¿eli chce siê daæ niedo¶wiadczonym u¿ytkownikow mo¿liwo¶æ ³atwego
uruchamiania za pomoc± przegl±darki czêsto u¿ywanych skryptów lub programów.
<p>

Strona g³ówna zawiera po jednym przycisku dla ka¿dego zdefiniowanego
polecenia z&nbsp;ewentualnymi parametrami poni¿ej przycisku. Uruchomienie
polecenia polega po prostu na wybraniu odpowiednich parametrów
i&nbsp;naci¶niêciu przycisku, po czym wy¶wietlony zostanie wynik polecenia.
<p>

Aby zmieniæ istniej±ce polecenie nale¿y po prostu klikn±æ na przekierowaniu
<tt>Zmieñ polecenie</tt> poni¿ej. Aby utworzyæ nowe polecenie nale¿y klikn±æ
na przekierowaniu <tt>Utwórz nowe polecenie u¿ytkownika</tt> u&nbsp;do³u
strony. Zauwa¿, ¿e te opcje mog± nie byæ dostêpne dla wszystkich u¿ytkowników
Webmina. <p>

<include fintro>

<hr>

  0707010000bb64000081a40000000000000002000000013d1fe2d80000034c000000200000000000000000000000000000002000000003reloc/custom/help/intro.sv.html   <header>Egna kommandon</header>

I denna modul kan du definiera och utföra vanliga kommandon med eller
utan parametersubstitution. Detta är användbart om du vill att script
och program som du använder ofta ska kunna utföras enkelt från din
browser eller vara lättillgängliga för ovana användare.

<p>Förstasidan innehåller en knapp för varje kommando med
parameterinställningar under knapparna. Utför kommandot genom att välja
rätt inställningar och sedan trycka på knappen. Utmatningen från
kommandot kommer att visas på sidan.

<p>För att ändra i ett eget kommando klickar du på länken <tt>Ändra
kommando</tt> nedanför kommandot. Om du vill skapa ett nytt kommando
klickar du på länken <tt>Skapa kommando</tt> längst ned på sidan.
Observera att dessa alternativ kanske inte är tillgängliga för alla
Webmin-användare.

<include fintro>

<hr>

0707010000bb65000081a40000000000000002000000013d1fe2d800000216000000200000000000000000000000000000002800000003reloc/custom/help/intro.zh_TW.Big5.html   <header>¦Û­qªº©R¥O</header>

³o¤@­Ó¼Ò²Õ¤¹³\±z³]©w¨Ã­È¬P¤@­Ó±`¥Îªº©R¥O, ¸òÀHµÛ¥²­nªº¿ï¶µ»P°Ñ¼Æ. ¦pªG±z·Q­n¨Ï¤@­Ó±`¥Îªº«ü¥O½Z¯à°÷¥Ñ±zªºÂsÄý¾¹Â²³æªº°õ¦æ, ³o±N¬O¤@­Ó¦³¥Îªº¥\¯à. <p>

¥D­nªº¯Á¤Þµe­±±N·|§â¨C¤@­Ó©w¸q¦nªº©R¥OÅã¥Ü¦¨«ö¶s, ¨Ã§â¿ï¾Ü©Êªº°Ñ¼Æ©ñ¸m¦b«ö¶s¤U­±. ±z¥i¥HÂ²³æªººë¥Ñ¿ï¾Ü¥²­nªº¿ï¶µÅÜ«ö¤U«ö¶s¥H°õ¦æ©R¥O, ¬ÛÃöªº¿é¥X¤]·|³QÅã¥Ü¥X¨Ó. <p>

­n½s¿è¤@­Ó²{¦sªº©R¥O, ¥u­n«ö¤U©R¥O¤U¤èªº<tt>½s¿è©R¥O</tt>³sµ². ­n«Ø¥ß¤@­Ó·sªº©R¥O, ¾Ü«ö¤Uµe­±©³³¡ªº<tt>«Ø¥ß·sªº¦Û­q©R¥O</tt>³sµ². ª`·N: ³o¨Ç¿ï¶µ¥i¯à¨S¦³´£¨Ñµ¹¨C¤@­Ó Webmin ¨Ï¥ÎªÌ. <p>

<hr>

  0707010000bb66000081a40000000000000002000000013d1fe2d8000000bf000000200000000000000000000000000000001e00000003reloc/custom/help/noshow.html <header>Hide when executing?</header>

If this option is enabled, the command line being executed (which parameter
substitutions) will not be shown when the custom command is run. <p>

<hr>

 0707010000bb67000081a40000000000000002000000013d1fe2d8000000f5000000200000000000000000000000000000002000000003reloc/custom/help/order.ca.html   <header>Ordenació a la pàgina principal</header>

Si s'estableix aquesta opció, la posició de l'ordre a la pàgina principal
del mòdul es modificarà. Les ordres o els editors amb números d'ordenació
més alts apareixeran abans a la llista.

<hr>

   0707010000bb68000081a40000000000000002000000013d1fe2d8000000e3000000200000000000000000000000000000001d00000003reloc/custom/help/order.html  <header>Ordering on main page</header>

If this option is set, the position of the command on the main page
of the module will be modified. Commands or editors with higher ordering
numbers will appear sooner in the list.
<hr>

 0707010000bb69000081a40000000000000002000000013d1fe2d8000000eb000000200000000000000000000000000000002000000003reloc/custom/help/order.nl.html   <header>Volgorde op de hoofdpagina</header>

Als deze optie wordt gekozen wordt de positie van de opdracht op de hoofdpagina 
gewijzigd. Opdrachten en bewerkers met een hoger rangnummer zullen eerder in 
de lijst worden getoond.
<hr>

 0707010000bb6a000081a40000000000000002000000013d1fe2d8000001ce000000200000000000000000000000000000002000000003reloc/custom/help/owner.ca.html   <header>Propietat del fitxer</header>

Aquí hi ha dues opcions disponibles - podeu triar de deixar la propietat
del fitxer tal com està, o bé seleccionar un usuari i un grup a qui es
donarà la propietat del fitxer en desar-lo. Aquesta opció és més útil
per als fitxer creats de nou. Si el fitxer no existeix i no s'ha
establert aquesta opció, es crearà amb l'usuari i grup sota el qual
s'executa Webmin (molt probablement, <tt>root</tt> i <tt>root</tt>).

<hr>

  0707010000bb6b000081a40000000000000002000000013d1fe2d8000001ac000000200000000000000000000000000000001d00000003reloc/custom/help/owner.html  <header>File ownership</header>

Two options are available here - you can either choose to leave the file
ownership as it is, or select a user and group who will be granted ownership
after saving. This option is most useful for newly created files.
If a file does not exist and this option is not set, when it is created
it will be owned by the user and group Webmin runs as (most likely
<tt>root</tt> and <tt>root</tt>).
<hr>

0707010000bb6c000081a40000000000000002000000013d1fe2d8000001f5000000200000000000000000000000000000002000000003reloc/custom/help/owner.nl.html   <header>Eigendom van bestand</header>

Er zijn twee opties beschikbaar - u kunt er voor kiezen om de toegangsrechten 
onveranderd te laten of een gebruiker of groep aan te wijzen die eigenaar wordt 
als het bestand is opgeslagen. <p>
Deze optie is vooral nuttig voor nieuwe bestanden. 
Als een bestand niet bestaat en deze optie is niet ingesteld, dan zal het 
bestand de rechten krijgen van de gebruiker waaronder Webmoin zelf draait 
(hoogstwaarschijnlijk <tt>root</tt> en <tt>root</tt>). <p>
<hr>

   0707010000bb6d000081a40000000000000002000000013d1fe2d800000228000000200000000000000000000000000000002000000003reloc/custom/help/owner.pl.html   <header>W³a¶ciciel pliku</header>

S± tu dostêpne dwie opcje - mo¿esz zdecydowaæ o&nbsp;pozostawieniu takiego
w³a¶ciciela pliku, jaki jest obecnie lub wybraæ u¿ytkownika i&nbsp;grupê, na
których zostanie przeniesione prawo w³asno¶ci po zachowaniu pliku. Ta druga
opcja jest najbardziej przydatna dla nowo tworzonych plików. Je¶li plik nie
istnieje, a&nbsp;ta opcja nie zosta³a zaznaczona, po utworzeniu pliku bêdzie
on nale¿a³ do u¿ytkownika i&nbsp;grupy, na prawach których dzia³a Webmin
(najprawdopodobniej <tt>root</tt> i&nbsp;<tt>root</tt>).

<hr>
0707010000bb6e000081a40000000000000002000000013d1fe2d8000001b1000000200000000000000000000000000000002000000003reloc/custom/help/perms.ca.html   <header>Permisos del fitxer</header>

Aquí hi ha dues opcions disponibles - podeu triar de deixar els permisos
del fitxer tal com estan, o bé introduir un número octal de 3 dígits que
representi els permisos que cal donar al fitxer en desar-lo (el mateix
format utilizat per l'ordre <tt>chmod</tt>).
Si el fitxer no existeix i no s'ha establert aquesta opció, molt probablement
es crearà amb uns permisos com ara <tt>644</tt>.
<hr>

   0707010000bb6f000081a40000000000000002000000013d1fe2d8000001af000000200000000000000000000000000000001d00000003reloc/custom/help/perms.html  <header>File permissions</header>

Two options are available here - you can either choose to leave the file
permissions as they are, or enter a 3-digit octal number representing
the permissions to set the file to after it is saved (the same format as
is used by the <tt>chmod</tt> command).
If a file does not exist and this option is not set, when it is created
its permissions will probably be something like <tt>644</tt>.
<hr>

 0707010000bb70000081a40000000000000002000000013d1fe2d8000001b9000000200000000000000000000000000000002000000003reloc/custom/help/perms.nl.html   <header>Bestandsrechten</header>

Er zijn twee opties beschikbaar - u kunt er voor kiezen om de toegangsrechten 
onveranderd te laten of een 3-cijferig octaal getal opgeven waarin de rechten 
worden gezet als het bestand wordt opgeslagen (hetzelfde formaat als in het 
<tt>chmod</tt> commando).
Als een bestand nog niet bestaat en deze optie is niet ingesteld, dan zullen 
de rechten bij het opslaan waarschijnlijk <tt>644</tt> worden
<hr>

   0707010000bb71000081a40000000000000002000000013d1fe2d8000001ce000000200000000000000000000000000000002000000003reloc/custom/help/perms.pl.html   <header>Prawa do pliku</header>

S± tu dostêpne dwie opcje - mo¿esz zdecydowaæ o&nbsp;pozostawieniu takich
praw do pliku, jakie s± obecnie lub podaæ 3-cyfrow± liczbê ósemkow±
reprezentuj±c± prawa do pliku, jakie zostan± ustawione po zachowaniu pliku
(ten sam format, jaki jest u¿ywany przy poleceniu <tt>chmod</tt>). Je¶li
plik nie istnieje, a&nbsp;ta druga opcja nie zosta³a ustawiona, to przy
jego tworzeniu zostan± mu zapewne nadane prawa <tt>644</tt>.

<hr>
  0707010000bb72000081a40000000000000002000000013d1fe2d80000012e000000200000000000000000000000000000001e00000003reloc/custom/help/raw.ca.html <header>L'ordre genera HTML</header>

Normalment, quan s'executa una ordre, Webmin converteix tots els caràcters
&lt;, &gt; i &amp; de forma que es mostrin adequadament. No obstant, si
l'ordre ja genera sortida HTML, cal establir aquesta opció a Sí per evitar
que es faci aquesta conversió. <p>

<hr>

  0707010000bb73000081a40000000000000002000000013d1fe2d800000141000000200000000000000000000000000000001e00000003reloc/custom/help/raw.es.html <header>¿El comando muestra HTML?</header>

Normálmente, cuando un comando es ejecutado Webmin convierte todos los 
caracteres &lt;, &gt; y &amp; de tal manera que se muestren de forma
correcta. Sin embargo, si tu comando muestra HTML, deberías poner esta
opción a Sí para prevenir que ocurra esta conversión. <p>

<hr>

   0707010000bb74000081a40000000000000002000000013d1fe2d800000149000000200000000000000000000000000000001e00000003reloc/custom/help/raw.fr.html <header>Sortie HTML de la Commande?</header>

Normalement quand une commande est exécutée Webmin convertit tout les caractères &lt;, &gt; et &amp; pour qu'ils soient affiché correctement.  Si votre commande a une sortie déjà en format HTML vous pouvez mettre cette option à Oui pour prévenir la conversion de se faire.<p>

<hr>

   0707010000bb75000081a40000000000000002000000013d1fe2d800000128000000200000000000000000000000000000001b00000003reloc/custom/help/raw.html    <header>Command outputs HTML?</header>

Normally, when a command is run Webmin converts all &lt;, &gt; and &amp;
characters so that they are displayed properly. However, if your command
actually outputs HTML you should set this option to Yes to prevent this
conversion from happening. <p>

<hr>

0707010000bb76000081a40000000000000002000000013d1fe2d80000013a000000200000000000000000000000000000001e00000003reloc/custom/help/raw.nl.html <header>Opdracht produceert HTML?</header>

Normaal converteert Webmin bij de uitvoering van een opdracht alle 
&lt;, &gt; and &amp; tekens zodanig dat ze correct worden afgebeeld. 
Echter, als uw opdracht eigenlijk HTML produceert, dient u deze optie op "Ja" 
te zetten om deze conversie te voorkomen. <p>

<hr>

  0707010000bb77000081a40000000000000002000000013d1fe2d800000143000000200000000000000000000000000000001e00000003reloc/custom/help/raw.pl.html <header>Czy polecenie zwraca HTML?</header>

Normalnie, gdy polecenie jest uruchamiane Webmin zastêpuje wszystkie znaki
&lt;, &gt; i&nbsp;&amp; tak, aby by³y poprawnie wy¶wietlane. Jednak¿e, gdy
wynikiem Twojego polecenia jest ju¿ kod HTML, powiniene¶ ustawiæ tê opcjê na
Tak, aby unikn±æ wspomnianej konwersji. <p>

<hr>

 0707010000bb7a000081a40000000000000002000000013d1fe2d800000103000000200000000000000000000000000000001e00000003reloc/custom/help/raw.sv.html <header>Ska kommandot generera HTML?</header>

Vanligtvis omvandlar Webmin alla  &lt;, &gt; och &amp; när ett kommando
utförs, så att tecknen visas på vanligt sätt. Om kommandot ska generera
HTML bör du välja Ja här, så att omvandlingen inte äger rum.

<hr>

 0707010000bb7b000081a40000000000000002000000013d1fe2d8000000e8000000200000000000000000000000000000002600000003reloc/custom/help/raw.zh_TW.Big5.html <header>©R¥O¬O§_¥H HTML ¿é¥X?</header>

¤@¯ë¦Ó¨¥, ·í«ü¥O¦b Webmin °õ¦æ®É, Webmin ±N·|Âà´«©Ò¦³ªº &lt;, &gt; and &amp; ¦r¤¸, ¥H½T«O¥¦­Ì¯à¥¿½TªºÅã¥Ü. ¦pªG±zªº«ü¥O·|¥H HTML ¿é¥X®É, ±zÀ³¸Ó­n±N³o­Ó¿ï¶µ³]©w¦¨"¬O"¥H¨¾¤î³o¨ÇÂà´«. <p>

<hr>

0707010000bb7c000081a40000000000000002000000013d1fe2d800000088000000200000000000000000000000000000001e00000003reloc/custom/help/run.ca.html <header>Execució d'Ordre</header>

Aquesta pàgina mostra tota la sortida (STDOUT i STDERR) de l'ordre
que acabes d'executar. <p>

<hr>

0707010000bb7d000081a40000000000000002000000013d1fe2d800000087000000200000000000000000000000000000001e00000003reloc/custom/help/run.es.html <header>Ejecutar Comando</header>

Esta página muestra toda la salida (STDOUT y STDERR) del comando que acabas de ejecutar. <p>

<hr>

 0707010000bb7e000081a40000000000000002000000013d1fe2d8000000a3000000200000000000000000000000000000001e00000003reloc/custom/help/run.fr.html <header>Commandes Exécuté</header>

Cette page affiche toutes les sorties (Sortie standard et Sortie d'erreur) de la commande que vous venez d'exécuter.<p>

<hr>

 0707010000bb7f000081a40000000000000002000000013d1fe2d800000083000000200000000000000000000000000000001b00000003reloc/custom/help/run.html    <header>Execute Command</header>

This page displays all output (STDOUT and STDERR) from the command you just executed. <p>

<hr>

 0707010000bb80000081a40000000000000002000000013d1fe2d80000008f000000200000000000000000000000000000001e00000003reloc/custom/help/run.nl.html <header>Opdracht Uitvoeren</header>

Op deze pagina wordt alle uitvoer (STDOUT en STDERR) van de uitgevoerde opdracht 
weergegeven. <p>

<hr>

 0707010000bb81000081a40000000000000002000000013d1fe2d800000087000000200000000000000000000000000000001e00000003reloc/custom/help/run.pl.html <header>Uruchom polecenie</header>

Ta strona zawiera pe³en wynik (STDOUT i&nbsp;STDERR) polecenia, które
w³a¶nie wykona³e¶. <p>

<hr>
 0707010000bb82000081a40000000000000002000000013d1fe2d80000007d000000200000000000000000000000000000001e00000003reloc/custom/help/run.sv.html <header>Utför kommando</header>

Denna sida visar all utmatning (STDOUT och STDERR) från det kommando du
just utfört.

<hr>

   0707010000bb83000081a40000000000000002000000013d1fe2d800000064000000200000000000000000000000000000002600000003reloc/custom/help/run.zh_TW.Big5.html <header>°õ¦æ©R¥O</header>

³o¤@­¶Åã¥Ü±z­è­è°õ¦æªº©R¥Oªº©Ò¦³¿é¥X (¥]§t STDOUT »P STDERR). <p>

<hr>

0707010000bb84000081a40000000000000002000000013d1fe2d800000131000000200000000000000000000000000000001f00000003reloc/custom/help/user.ca.html    <header>Executa Com a Usuari</header>

L'usuari Unix sota el qual s'executa l'ordre. Convé sempre executar
les ordres amb el menor nivell de prioritat possible - no executis res
com a root si no és estrictament necessari, sobretot quan l'ordre ha
de ser executada per altres usuaris de Webmin. <p>

<hr>

   0707010000bb85000081a40000000000000002000000013d1fe2d800000148000000200000000000000000000000000000001f00000003reloc/custom/help/user.es.html    <header>Ejecutar como usuario</header>

El usuario de Unix bajo el cual se ejecuta el comando. Deberías ejecutar
siempre los comandos con el nivel menor de privilegios posible - no ejecutes
como root a menos que reálmente te haga falta, especiálmente cuando el
comando se ha de ejecutar por otros usuarios de Webmin. <p>

<hr>

0707010000bb86000081a40000000000000002000000013d1fe2d80000014c000000200000000000000000000000000000001f00000003reloc/custom/help/user.fr.html    <header>Exécuter Comme Usager</header>

L'usager Unix comme quoi la commande est exécutée.  Vous pouvez toujours exécuter une commande avec le plus bas niveau de prévilège possible - ne pas exécuter comme 'root' à moins que celà soit vraiment necéssaire, surtout si cette commande est exécuter par d'autre usagers Webmin.<p>

<hr>

0707010000bb87000081a40000000000000002000000013d1fe2d800000109000000200000000000000000000000000000001c00000003reloc/custom/help/user.html   <header>Run as user</header>

The Unix user to run the command as. You should always run commands with
the lowest level of privilege possible - don't run as root unless you
really need to, especially when then command is to be run by other Webmin
users. <p>

<hr>

   0707010000bb88000081a40000000000000002000000013d1fe2d800000172000000200000000000000000000000000000001f00000003reloc/custom/help/user.nl.html    <header>Uitvoeren als gebruiker</header>

De Unix gebruiker waaronder deze opdracht moet worden uitgevoerd. 
U moet er altijd naar streven een opdracht op het laagst mogelijke niveau 
van privilege uit te voeren - werk niet als root tenzij het niet anders kan. 
Dit geldt in het bijzonder als de opdracht zal worden uitgevoerd door andere 
Webmin gebruikers. <p>

<hr>

  0707010000bb89000081a40000000000000002000000013d1fe2d800000166000000200000000000000000000000000000001f00000003reloc/custom/help/user.pl.html    <header>Uruchamiaæ jako u¿ytkownik</header>

U¿ytkownik Uniksa, z&nbsp;prawami którego polecenie bêdzie uruchamiane.
Zawsze nale¿y uruchamiaæ polecenia z&nbsp;mo¿liwie najmniejszym poziomem
uprawnieñ - nie uruchamiaj jako <tt>root</tt> je¶li nie musisz, zw³aszcza
gdy polecenie jest przeznaczone do uruchamiania przez innych u¿ytkowników
Webmina. <p>

<hr>

  0707010000bb8a000081a40000000000000002000000013d1fe2d80000010b000000200000000000000000000000000000001f00000003reloc/custom/help/user.sv.html    <header>Kör som användare</header>

Välj den Unix-användare du vill köra kommandot som. Kör alltid kommandon
med minsta möjliga rättigheter. Kör särskilt inte som root annat än när
du verkligen måste, särskilt om kommandot ska köras av andra
Webmin-användare.

<hr>

 0707010000bb8b000081a40000000000000002000000013d1fe2d8000000cf000000200000000000000000000000000000002700000003reloc/custom/help/user.zh_TW.Big5.html    <header>¥H¨Ï¥ÎªÌ°õ¦æ</header>

°õ¦æ³o­Ó©R¥Oªº Unix ¨Ï¥ÎªÌ¦WºÙ. ±z¥Ã»·À³¸Ó­n¥H¥i¦æ½d³ò¤º³Ì§C¶¥ªºÅv­­°õ¦æ©R¥O. <b>¤£­n¥H root °õ¦æ</b>°£«D±z¯uªº»Ý­n, ¯S§O¬O·í³o¨Ç©R¥O¥i¥H³Q¨ä¥L Webmin ¨Ï¥ÎªÌ°õ¦æ®É. <p>

<hr>

 070701000101e7000041ed0000000000000001000000023d1ffa0000000000000000200000000000000000000000000000001400000003reloc/custom/images   07070100010216000081a40000000000000002000000013d1fe2d80000017b000000200000000000000000000000000000001d00000003reloc/custom/images/icon.gif  GIF87a0 0 Â  ÿÿÿ™™™ÌÌÌfff            ,    0 0  þºÜþ0² hwY·U—U`mbøQcj‚^F¶£Wf.-‰g_èË³¿šl‡¢ÍŠÀ¤rÉl:ŸÐ¨ôq„|ZSlÕ˜Qy%ÜJì
kÏoo­s3ûÁ¾½m+˜NÎúÿO8‚ƒ„…†„V‹ŒŽ‘‰q“‡˜™ƒ•e”š ˜œ20—¡¨‚£•*”¯±¯²°"´µµ°»´«!v“³º8Â²ÆÆÂÉÆ¾WŸ¸Ç·±·‚ÅÐ¸¾TÁÈÏÅÝÖÄË¤Ù»ÛºÒÜÒÃäØ§©©ì]îï¡ñ&Ÿôð¤b=“£ÿ 
HpŸ*˜ˆ„I#Bˆ
ž.3jÜI¥ƒ4.¹¢áÌÇ/9ˆ„YY²Ép(òb$ÎÉRn~ ùø²L;+{fÊ±¨Q è´¬‰2è˜‹31cf‹K}ð«  ; 0707010000a278000081e40000000000000002000000013d1fe2d800001001000000200000000000000000000000000000001700000003reloc/custom/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display commands available for execution

require './custom-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

@cust = grep { &can_run_command($_) } &list_commands();
@cust = sort { local $o = $b->{'order'} <=> $a->{'order'};
	       $o ? $o : $a->{'id'} <=> $b->{'id'} } @cust;

if (!@cust) {
	print "<b>$text{'index_none'}</b> <p>\n";
	}
elsif ($config{'display_mode'} == 0) {
	# Show command buttons
	if ($access{'edit'}) {
		print "<a href='edit_cmd.cgi?new=1'>$text{'index_create'}",
		      "</a>&nbsp;&nbsp;&nbsp;\n";
		print "<a href='edit_file.cgi?new=1'>$text{'index_ecreate'}",
		      "</a> <br>\n";
		}
	print "<table width=100%><tr><td valign=top>\n";
	$form = 0;
	for($i=0; $i<@cust; $i++) {
		$c = $cust[$i];
		if ($c->{'edit'}) {
			@a = ( );
			print "<form action=view.cgi>\n";
			}
		else {
			@a = @{$c->{'args'}};
			if (@a) {
				print "<form action=run.cgi method=post>\n";
				}
			else {
				print "<form action=run.cgi method=get>\n";
				}
			}
		print "<input type=hidden name=idx value='$c->{'index'}'>\n";
		print "<table border cellpadding=3><tr $cb><td>\n";
		print "<input type=submit value='",&html_escape($c->{'desc'}),
		      "'><br>\n";
		print &filter_javascript($c->{'html'}),"\n";
		print "<table>\n";
		foreach $a (@a) {
			print "<tr> <td><b>",&html_escape($a->{'desc'}),
			      "</b></td> <td>\n";
			$n = $a->{'name'};
			if ($a->{'type'} == 0) {
				print "<input name=$n size=30>\n";
				}
			elsif ($a->{'type'} == 1 || $a->{'type'} == 2) {
				print "<input name=$n size=8> ",
					&user_chooser_button($n, 0, $form);
				}
			elsif ($a->{'type'} == 3 || $a->{'type'} == 4) {
				print "<input name=$n size=8> ",
					&group_chooser_button($n, 0, $form);
				}
			elsif ($a->{'type'} == 5 || $a->{'type'} == 6) {
				print "<input name=$n size=30> ",
					&file_chooser_button($n, $a->{'type'}-5, $form);
				}
			elsif ($a->{'type'} == 7) {
				print "<input type=radio name=$n value=1> $text{'yes'}\n";
				print "<input type=radio name=$n value=0 checked> $text{'no'}\n";
				}
			elsif ($a->{'type'} == 8) {
				print "<input name=$n type=password size=30>\n";
				}
			print "</td> </tr>\n";
			}
		if ($access{'edit'}) {
			if ($c->{'edit'}) {
				print "<tr> <td colspan=2 align=right nowrap>",
				      "<a href='edit_file.cgi?idx=$c->{'index'}'>",
				      "$text{'index_fedit'}</a></td> </tr>\n";
				}
			else {
				print "<tr> <td colspan=2 align=right nowrap>",
				      "<a href='edit_cmd.cgi?idx=$c->{'index'}'>",
				      "$text{'index_edit'}</a></td> </tr>\n";
				}
			}
		print "</table></td></tr></table></form>\n";
		$form++;
		if ($i == int((@cust-1)/2)) { print "</td><td valign=top>\n"; }
		}
	print "</td></tr></table>\n";
	}
else {
	# Just show table of commands
	if ($access{'edit'}) {
		print "<a href='edit_cmd.cgi?new=1'>$text{'index_create'}",
		      "</a>&nbsp;&nbsp;&nbsp;\n";
		print "<a href='edit_file.cgi?new=1'>$text{'index_ecreate'}",
		      "</a> <br>\n";
		}
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_cmd'}</b></td>\n";
	if ($access{'edit'}) {
		print "<td colspan=2><b>$text{'index_desc'}</b></td> </tr>\n";
		}
	else {
		print "<td><b>$text{'index_desc'}</b></td> </tr>\n";
		}
	foreach $c (@cust) {
		if ($c->{'edit'}) {
			print "<tr $cb> <td><a href='view.cgi?idx=$c->{'index'}'>",
			      &html_escape($c->{'desc'}),"</a>\n";
			}
		else {
			print "<tr $cb> <td><a href='form.cgi?idx=$c->{'index'}'>",
			      &html_escape($c->{'desc'}),"</a></td>\n";
			}
		print "</td> <td>$c->{'html'}<br></td>\n";
		if ($access{'edit'}) {
			local $e = $c->{'edit'} ? "edit_file.cgi"
						: "edit_cmd.cgi";
			print "<td align=right><a href='$e?idx=$c->{'index'}'>",
			      "$text{'index_ed'}</a></td>\n";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	}

if ($access{'edit'}) {
	print "<a href='edit_cmd.cgi?new=1'>$text{'index_create'}</a>\n";
	print "&nbsp;&nbsp;&nbsp;\n";
	print "<a href='edit_file.cgi?new=1'>$text{'index_ecreate'}</a> <p>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

   0707010000d0a5000041ed0000000000000001000000023d1ffa0100000000000000200000000000000000000000000000001200000003reloc/custom/lang 0707010000d0a6000081a40000000000000002000000013d1fe2d800000b5e000000200000000000000000000000000000001500000003reloc/custom/lang/ca  index_title=Ordres Personalitzades
index_edit=Edita l'ordre
index_fedit=Edita l'editor de fitxer
index_none=No hi ha cap ordre personalitzada definida
index_create=Crea una nova ordre personalitzada
index_ecreate=Crea un nou editor de fitxer
index_return=a les ordres
index_cmd=Ordre
index_desc=Descripció
index_ed=Edita...

edit_title=Edició d'Ordre
create_title=Creació d'Ordre
edit_ecannot=No tens permís per editar ordres
edit_details=Detall de l'ordre
edit_desc=Descripció
edit_cmd=Ordre
edit_user=Executa com a usuari
edit_raw=L'ordre genera HTML
edit_su=Fes servir l'entorn de l'usuari
edit_order=Ordenació de la pàgina principal
edit_params=Paràmetres de l'ordre
edit_name=Nom
edit_type=Tipus
edit_quote=Paràmetre entre cometes
edit_type0=Text
edit_type1=Usuari
edit_type2=UID
edit_type3=Grup
edit_type4=GID
edit_type5=Fitxer
edit_type6=Directori
edit_type7=Opció ...
edit_type8=Contrasenya

save_err=No he pogut desar l'ordre
save_ecannot=No tens permís per editar ordres
save_ecmd=No s'ha introduït cap ordre
save_edesc=No s'ha introduït cap descripció
save_euser=No hi ha l'usuari o bé és incorrecte

run_err=No he pogut executar l'ordre
run_ecannot=No tens permís per executar aquesta ordre
run_euser=No hi ha l'usuari o bé és incorrecte
run_egroup=No hi ha el grup o bé és incorrecte
run_title=Executa l'Ordre
run_out=Resultat de $1 ..
run_noout=No s'ha generat cap sortida

log_modify=He modificat l'ordre $1
log_create=He creat l'ordre $1
log_delete=He suprimit l'ordre $1
log_exec=He executat l'ordre $1
log_modify_edit=He modificat l'editor de fitxer $1
log_create_edit=He creat l'editor de fitxer $1
log_delete_edit=He suprimit l'editor de fitxer $1
log_save_edit=He desat el fitxer $1

acl_cmds=Ordres que aquest usuari pot executar
acl_call=Totes
acl_csel=Seleccionades...
acl_cexcept=Totes excepte les seleccionades...
acl_edit=Pot crear i editar ordres

file_ecannot=No tens permís per editar fitxers
fcreate_title=Creació d'Editor de Fitxer
fedit_title=Edició d'Editor de Fitxer
file_details=Detalls de l'editor de fitxer
file_desc=Descripció
file_edit=Fitxer a editar
file_owner=Propietari del fitxer
file_user=Usuari
file_group=Grup
file_leave=Deixa'l tal com està
file_perms=Permisos del fitxer
file_set=Posa'ls en octal
file_before=Ordre a executar abans de desar
file_after=Ordre a executar després de desar
file_err=No he pogut desar l'editor de fitxer
file_eedit=Hi falta el nom de fitxer a editar
file_edesc=Hi falta la descripció
file_euser=Hi falta el nom de l'usuari o bé no és vàlid
file_egroup=Hi falta el nom del grup o bé no és vàlid
file_eperms=Hi falten els permisos o bé no és un valor octal vàlid

view_err=No he pogut editar el fitxer
view_ecannot=No tens permís per editar aquest fitxer
view_title=Edició de Fitxer
view_efile=No he pogut escriur el fitxer $1: $2

form_ecannot=No tens permís per executar aquesta ordre
form_title=Executa l'Ordre
form_exec=Executa


  0707010000d0a7000081a40000000000000002000000013d1fe2d800000b64000000200000000000000000000000000000001500000003reloc/custom/lang/de  index_title=Eigene Befehle
index_edit=Bearbeite Befehl
index_fedit=Editor bearbeiten
index_none=Keine eigenen Befehle definiert
index_create=Einen neuen eigenen Befehl erstellen
index_ecreate=Einen neuen Editor erstellen
index_cmd=Befehl
index_desc=Beschreibung
index_return=Eigene Befehle
edit_title=Bearbeite Befehl
create_title=Befehl erstellen
edit_ecannot=Sie haben keine Berechtigung, Befehle zu bearbeiten
edit_details=Befehlsdetails
edit_desc=Beschreibung
edit_cmd=Befehl
edit_user=F&uuml;hre aus als Benutzer
edit_raw=Befehl gibt HTML aus?
edit_su=Benutze die Umgebung des Benutzers?
edit_params=Befehlparameter
edit_name=Name
edit_type=Typ
edit_quote=Parameter zitieren?
edit_type0=Text
edit_type1=Benutzer
edit_type2=UID
edit_type3=Gruppe
edit_type4=GID
edit_type5=File (Datei)
edit_type6=Verzeichnis
edit_type7=Einstellung..
edit_type8=Kennwort
save_err=Fehler beim Speichern des Befehls
save_ecannot=Sie haben keine Berechtigung, Befehle zu bearbeiten
save_ecmd=Kein Befehl angegeben
save_edesc=Keine Beschreibung angegeben
save_euser=Fehlender oder ung&uuml;ltiger Benutzer
run_err=Fehler beim Ausf&uuml;hren des Befehls
run_ecannot=Sie haben keine Berechtigung, diesen Befehl auszuf&uuml;hren
run_euser=Fehlender oder ung&uuml;ltiger Benutzer
run_egroup=Fehlende oder ung&uuml;ltige Gruppe
run_title=F&uuml;hre Befehl aus
run_out=Ausgabe von $1 ..
run_noout=Es wurde keine Ausgabe generiert

log_modify=Befehl $1 ge&auml;ndert
log_create=Befehl $1 angelegt
log_delete=Befehl $1 gel&ouml;scht
log_exec=Befehl $1 ausgef&uuml;hrt
log_modify_edit=Editor $1 ge&auml;ndert
log_create_edit=Editor $1 angelegt
log_delete_edit=Editor $1 gel&ouml;scht
log_save_edit=Datei $1 gespeichert

acl_cmds=Befehle, die dieser Benutzer ausf&uuml;hren kann
acl_call=Alle Befehle
acl_csel=Ausgew&auml;hlte..
acl_edit=Kann Befehle bearbeiten?

file_ecannot=Sie sind nicht berechtigt, Dateien zu bearbeiten
fcreate_title=Neuen Editor erstellen
fedit_title=Editor bearbeiten
file_details=Editor-Details
file_desc=Beschreibung
file_edit=Zu bearbeitende Datei
file_owner=Datei-Eigent&uuml;mer
file_user=Benutzer
file_group=Gruppe
file_leave=Keine &Auml;nderung
file_perms=Zugriffsrechte
file_set=Auf Oktalwert setzen:
file_before=Vor dem Speichern auszuf&uuml;hrender Befehl
file_after=Nach dem Speichern auszuf&uuml;hrender Befehl
file_err=Konnte Editoreinstellungen nicht speichern
file_eedit=Fehlender Dateiname
file_edesc=Fehlende Beschreibung
file_euser=Fehlender oder ung&uuml;ltiger Benutzername
file_egroup=Fehlender oder ung&uuml;ltiger Gruppenname
file_eperms=Fehlende oder ung&uuml;ltige Zugriffsrechte

view_err=Fehler beim Bearbieten der Datei
view_ecannot=Sie sind nicht berechtigt, diese Datei zu bearbeiten
view_title=Datei bearbeiten
view_efile=Schreiben von $1 fehlgeschlagen: $2

form_ecannot=Sie sind nicht berechtigt, diesen Befehl auszuf&uuml;hren
form_title=Befehl ausf&uuml;hren
form_exec=Ausf&uuml;hren
0707010000d0a8000081a40000000000000002000000013d1fe2d800000a18000000200000000000000000000000000000001500000003reloc/custom/lang/en  index_title=Custom Commands
index_edit=Edit command
index_fedit=Edit file editor
index_none=No custom commands defined
index_create=Create a new custom command
index_ecreate=Create a new file editor
index_return=commands
index_cmd=Command
index_desc=Description
index_ed=Edit..

edit_title=Edit Command
create_title=Create Command
edit_ecannot=You are not allowed to edit commands
edit_details=Command details
edit_desc=Description
edit_cmd=Command
edit_user=Run as user
edit_raw=Command outputs HTML?
edit_su=Use user's environment?
edit_order=Ordering on main page
edit_params=Command parameters
edit_name=Name
edit_type=Type
edit_quote=Quote parameter?
edit_type0=Text
edit_type1=User
edit_type2=UID
edit_type3=Group
edit_type4=GID
edit_type5=File
edit_type6=Directory
edit_type7=Option..
edit_type8=Password
edit_noshow=Hide when executing?

save_err=Failed to save command
save_ecannot=You are not allowed to edit commands
save_ecmd=No command entered
save_edesc=No description entered
save_euser=Missing or invalid user

run_err=Failed to execute command
run_ecannot=You are not allowed to run this command
run_euser=Missing or invalid user
run_egroup=Missing or invalid group
run_title=Execute Command
run_out=Output from $1 ..
run_out2=Output from command ..
run_noout=No output generated

log_modify=Modified command $1
log_create=Created command $1
log_delete=Deleted command $1
log_exec=Executed command $1
log_modify_edit=Modified file editor $1
log_create_edit=Created file editor $1
log_delete_edit=Deleted file editor $1
log_save_edit=Saved file $1

acl_cmds=Commands this user can run
acl_call=All commands
acl_csel=Selected..
acl_cexcept=All except selected..
acl_edit=Can create and edit commands?

file_ecannot=You are not allowed to edit files
fcreate_title=Create File Editor
fedit_title=Edit File Editor
file_details=File editor details
file_desc=Description
file_edit=File to edit
file_owner=File ownership
file_user=User
file_group=Group
file_leave=Leave as is
file_perms=File permissions
file_set=Set to octal
file_before=Command to run before saving
file_after=Command to run after saving
file_err=Failed to save file editor
file_eedit=Missing filename to edit
file_edesc=Missing description
file_euser=Missing or invalid username
file_egroup=Missing or invalid group name
file_eperms=Missing or invalid octal permissions

view_err=Failed to edit file
view_ecannot=You are not allowed to edit this file
view_title=Edit File
view_efile=Write to $1 failed : $2

form_ecannot=You are not allowed to run this command
form_title=Execute Command
form_exec=Execute
0707010000d0a9000081a40000000000000002000000013d1fe2d800000a3d000000200000000000000000000000000000001500000003reloc/custom/lang/es  index_title=Comandos de Cliente
index_edit=Editar comando
index_fedit=Editar editor de archivo
index_none=No se han definido comandos de cliente
index_create=Crear un nuevo comando de cliente
index_ecreate=Crear un nuevo editor de archivo
index_return=comandos

edit_title=Editar Comando
create_title=Crear Comando
edit_ecannot=No estás autorizado a editar comandos
edit_details=Detalle del Comando
edit_desc=Descripción
edit_cmd=Comando
edit_user=Ejecutar como usuario
edit_raw=¿El comando tiene salida HTML?
edit_su=¿Utilizo entorno de usuario?
edit_params=Parámetros de comando
edit_name=Nombre
edit_type=Tipo
edit_quote=¿Pongo parámetros entre comillas?
edit_type0=Texto
edit_type1=Usuario
edit_type2=UID
edit_type3=Grupo
edit_type4=GID
edit_type5=Archivo
edit_type6=Directorio
edit_type7=Opción...
edit_type8=Clave de Acceso

save_err=Error al salvar comando
save_ecannot=No estás autorizado a editar comandos
save_ecmd=No se ha digitado comando alguno
save_edesc=No se ha digitado descripción
save_euser=Usuario inválido o sin poner

run_err=Error al ejecutar comando
run_ecannot=No estás autorizado a ejecutar este comando
run_euser=Usuario inválido o sin poner
run_egroup=Grupo inválido o sin poner
run_title=Ejecutar Comando
run_out=Salida de $1 ...
run_noout=No se ha generado salida

log_modify=Modificado comando $1
log_create=Creado comando $1
log_delete=Borrado comando $1
log_exec=Ejecutado comando $1
log_modify_edit=Modificado editor de archivo $1
log_create_edit=Creado editor de archivo $1
log_delete_edit=Borrado editor de archivo $1
log_save_edit=Salvado archivo $1

acl_cmds=Comandos que este usuario puede ejecutar
acl_call=Todos los comandos
acl_csel=Los seleccionados...
acl_edit=¿Puede crear y editar comandos?

file_ecannot=No estás autorizado a editar archivos
fcreate_title=Editor para Crear Archivo
fedit_title=Editor para Editar Archivo
file_details=Detalles de editor de archivo
file_desc=Descripción
file_edit=Archivo a editar
file_owner=Propietario de archivo
file_user=Usuario
file_group=Grupo
file_leave=Dejarlo como está
file_perms=Permisos de archivo
file_set=Poner en octal
file_before=Comando a ejecutar antes de salvar
file_after=Comando a ejecutar tras salvar
file_err=No pude salvar editor de archivo
file_eedit=Falta nombre de archivo a editar
file_edesc=Falta descripción
file_euser=Nombre de usuario falta o es inválido
file_egroup=Nombre de grupo falta o es inválido
file_eperms=Permisos en octal faltan o son inválidos

view_err=No pude editar archivo
view_ecannot=No estás autorizado a editar este archivo
view_title=Editar Archivo
view_efile=Falló la escritura en $1: $2
   0707010000d0aa000081a40000000000000002000000013d1fe2d800000b6d000000200000000000000000000000000000001500000003reloc/custom/lang/fr  index_title=Commandes Personnalisées
index_edit=Éditer la commande
index_fedit=Éditer l'éditeur de fichier
index_none=Aucune commande personnalisée définie
index_create=Créer une nouvelle commande personnalisée
index_ecreate=Créer un nouvel éditeur de fichier
index_return=liste des commandes
index_cmd=Commande
index_desc=Description
index_ed=Editer ..

edit_title=Éditer une Commande
create_title=Créer une Commande
edit_ecannot=Vous n'êtes pas autorisé à éditer une commande
edit_details=Détails de la commande
edit_desc=Description
edit_cmd=Commande
edit_user=Exécuter comme usager
edit_raw=Sortie HTML de la commande?
edit_su=Utiliser l'environnement de l'utilisateur ?
edit_params=Paramètres de la commande
edit_name=Nom
edit_type=Type
edit_quote=Paramètre?
edit_type0=Texte
edit_type1=Usager
edit_type2=UID
edit_type3=Groupe
edit_type4=GID
edit_type5=Fichier
edit_type6=Répertoire
edit_type7=Option
edit_type8=Mot de passe

save_err=Impossible d'enregistrer la commande
save_ecannot=Vous n'êtes pas autorisé à éditer une commande
save_ecmd=Aucune commande entrée
save_edesc=Aucune description entrée
save_euser=Usager absent ou invalide

run_err=Impossible d'exécuter cette commande
run_ecannot=Vous n'êtes pas autorisé à exécuter cette commande
run_euser=Usager absent ou invalide
run_egroup=Groupe absent ou invalide
run_title=Exécuter une Commande
run_out=Sortie de $1 ..
run_noout=Aucune sortie générée

log_modify=Commande $1 modifiée
log_create=Commande $1 créée
log_delete=Commande $1 supprimée
log_exec=Commande $1 exécutée
log_modify_edit=Editeur de fichier $1 modifié
log_create_edit=Editeur de fichier $1 créé
log_delete_edit=Editeur de fichier $1 supprimé
log_save_edit=Fichier $1 sauvé

acl_cmds=Commandes que cet utilisateur peut lancer
acl_call=Toutes les commandes
acl_csel=Sélectionnées ...
acl_edit=Peut créer et éditer des commandes ?

file_ecannot=Vous n'avez pas le droit d'éditer des fichiers
fcreate_title=Créer un éditeur de fichier
fedit_title=Editer un éditeur de fichier
file_details=Détails de l'éditeur de fichier
file_desc=Description
file_edit=Fichier à éditer
file_owner=Appartenance du fichier
file_user=Utilisateur
file_group=Groupe
file_leave=Laisser tel quel
file_perms=Permissions du fichier
file_set=Donner en octal
file_before=Commande à lancer avant de sauver
file_after=Commande à lancer après la sauvegarde
file_err=Echec de la sauvegarde de l'éditeur de fichier
file_eedit=Nom du fichier à éditer manquant
file_edesc=Description manquante
file_euser=Nom d'utilisateur manquant ou invalide
file_egroup=Nom de groupe manquant ou invalide
file_eperms=Permissions octales manquantes ou invalides

view_err=Echec de l'édition du fichier
view_ecannot=Vous n'avez pas le droit d'éditer ce fichier
view_title=Editer un fichier
view_efile=Ecriture vers $1 échouée : $2

form_ecannot=Vous n'êtes pas autorisé à lancer cette commande
form_title=Exécuter une commande
form_exec=Exécuter
   0707010000d0ab000081a40000000000000002000000013d1fe2d8000004a6000000200000000000000000000000000000001500000003reloc/custom/lang/hu  index_title=Saját parancsok
index_edit=Parancs szerkesztése
index_none=Nincs saját parancs definiálva
index_create=Új saját parancs készítése
index_return=parancsok

edit_title=Parancs szerkesztése
create_title=Parancs létrehozása
edit_ecannot=Önnek nincs jogosultsága a parancsok szerkesztéséhez
edit_details=Parancs részletei
edit_desc=Leírás
edit_cmd=Parancs
edit_user=Futtatás felhasználóként
edit_raw=Parancs megjelenjen HTML-ként?
edit_params=Parancs paraméterek
edit_name=Név
edit_type=Típus
edit_quote=Hivatkozzon a paraméterre?
edit_type0=Szöveg
edit_type1=Felhasználó
edit_type2=UID
edit_type3=Csoport
edit_type4=GID
edit_type5=File
edit_type6=Könyvtár 
edit_type7=Opció...
edit_type8=Jelszó

save_err=A parancs mentése sikertelen
save_ecannot=Önnek nincs jogosultsága a parancsok szerkesztéséhez
save_ecmd=Nincs parancs megadva
save_edesc=Nincs leírás megadva
save_euser=Üres vagy hibás felhasználói név

run_err=A parancs végrehajtása nem sikerült
run_ecannot=Ennek a parancsnak a futtatásához Önnek nincs jogosultsága
run_euser=Üres vagy hibás felhasználói név
run_egroup=Üres vagy hibás csoportnév
run_title=Parancs végrehajtása
run_out=$1 kimenete...
run_noout=Nincs kimenet
  0707010000d0ac000081a40000000000000002000000013d1fe2d8000005a2000000200000000000000000000000000000001c00000003reloc/custom/lang/ja_JP.euc   index_title=¥«¥¹¥¿¥à ¥³¥Þ¥ó¥É
index_edit=ÊÔ½¸¥³¥Þ¥ó¥É
index_none=ÄêµÁ¤µ¤ì¤¿¥«¥¹¥¿¥à ¥³¥Þ¥ó¥É¤Ï¤¢¤ê¤Þ¤»¤ó
index_create=¿·µ¬¥«¥¹¥¿¥à ¥³¥Þ¥ó¥É¤ÎºîÀ®
index_return=¥³¥Þ¥ó¥É

edit_title=¥³¥Þ¥ó¥É¤ÎÊÔ½¸
create_title=¥³¥Þ¥ó¥É¤ÎºîÀ®
edit_ecannot=¥³¥Þ¥ó¥É¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_details=¥³¥Þ¥ó¥É¤Î¾ÜºÙ
edit_desc=ÀâÌÀ
edit_cmd=¥³¥Þ¥ó¥É
edit_user=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
edit_raw=¥³¥Þ¥ó¥É¤ò HTML ¤Ë½ÐÎÏ¤·¤Þ¤¹¤«¡©
edit_su=¥æ¡¼¥¶¤Î´Ä¶­¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
edit_params=¥³¥Þ¥ó¥É ¥Ñ¥é¥á¡¼¥¿
edit_name=Ì¾Á°
edit_type=¼ïÎà
edit_quote=¥Ñ¥é¥á¡¼¥¿¤Ë°úÍÑÉä¤òÉÕ¤±¤Þ¤¹¤«¡©
edit_type0=¥Æ¥­¥¹¥È
edit_type1=¥æ¡¼¥¶
edit_type2=UID
edit_type3=¥°¥ë¡¼¥×
edit_type4=GID
edit_type5=¥Õ¥¡¥¤¥ë
edit_type6=¥Ç¥£¥ì¥¯¥È¥ê
edit_type7=¥ª¥×¥·¥ç¥ó..
edit_type8=¥Ñ¥¹¥ï¡¼¥É

save_err=¥³¥Þ¥ó¥É¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ecannot=¥³¥Þ¥ó¥É¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
save_ecmd=¥³¥Þ¥ó¥É¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_edesc=ÀâÌÀ¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_euser=¥æ¡¼¥¶¤¬Â¸ºß¤·¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

run_err=¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
run_ecannot=¤³¤Î¥³¥Þ¥ó¥É¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
run_euser=¥æ¡¼¥¶¤¬Â¸ºß¤·¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
run_egroup=¥°¥ë¡¼¥×Ì¾¤¬Â¸ºß¤·¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
run_title=¥³¥Þ¥ó¥É¤Î¼Â¹Ô
run_out=$1 ¤«¤é¤Î½ÐÎÏ..
run_noout=ºîÀ®¤µ¤ì¤¿½ÐÎÏ¤Ï¤¢¤ê¤Þ¤»¤ó

log_modify=¥³¥Þ¥ó¥É $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=¥³¥Þ¥ó¥É $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=¥³¥Þ¥ó¥É $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹Ô¤·¤Þ¤·¤¿

acl_cmds=¤³¤Î¥æ¡¼¥¶¤¬¼Â¹Ô¤Ç¤­¤ë¥³¥Þ¥ó¥É
acl_call=¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É
acl_csel=ÁªÂò..
acl_edit=¥³¥Þ¥ó¥É¤ÎºîÀ®¤ÈÊÔ½¸¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
  0707010000d0ad000081a40000000000000002000000013d1fe2d8000004f4000000200000000000000000000000000000001c00000003reloc/custom/lang/ko_KR.euc   index_title=»ç¿ëÀÚ Á¤ÀÇ ¸í·É
index_edit=¸í·É ÆíÁý
index_none=Á¤ÀÇµÈ »ç¿ëÀÚ Á¤ÀÇ ¸í·ÉÀÌ ¾ø½À´Ï´Ù
index_create=»õ »ç¿ëÀÚ Á¤ÀÇ ¸í·É ÀÛ¼º
index_return=¸í·É

edit_title=¸í·É ÆíÁý
create_title=¸í·É ÀÛ¼º
edit_ecannot=¸í·ÉÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_details=¸í·É ¼¼ºÎ Á¤º¸
edit_desc=¼³¸í
edit_cmd=¸í·É
edit_user=»ç¿ëÀÚ·Î¼­ ½ÇÇà
edit_raw=HTML Çü½ÄÀ¸·Î Ãâ·ÂÇÕ´Ï±î?
edit_su=»ç¿ëÀÚÀÇ È¯°æÀ» »ç¿ëÇÕ´Ï±î?
edit_params=¸í·É ¸Å°³ º¯¼ö
edit_name=ÀÌ¸§
edit_type=À¯Çü
edit_quote=¸Å°³ º¯¼ö¿¡ µû¿ÈÇ¥¸¦ ºÙÀÔ´Ï±î?
edit_type0=ÅØ½ºÆ®
edit_type1=»ç¿ëÀÚ
edit_type2=UID
edit_type3=±×·ì
edit_type4=GID
edit_type5=ÆÄÀÏ
edit_type6=µð·ºÅä¸®
edit_type7=¿É¼Ç..
edit_type8=¾ÏÈ£

save_err=¸í·ÉÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ecannot=¸í·ÉÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_ecmd=¸í·ÉÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
save_edesc=¼³¸íÀ» ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
save_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ

run_err=¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù
run_ecannot=ÀÌ ¸í·ÉÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù
run_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ
run_egroup=¾ø°Å³ª Àß¸øµÈ ±×·ì
run_title=¸í·É ½ÇÇà
run_out=$1ÀÇ Ãâ·Â..
run_noout=»ý¼ºµÈ Ãâ·ÂÀÌ ¾ø½À´Ï´Ù

log_modify=¸í·É $1 ¼öÁ¤µÊ
log_create=¸í·É $1 ÀÛ¼ºµÊ
log_delete=¸í·É $1 »èÁ¦µÊ
log_exec=¸í·É $1 ½ÇÇàµÊ

acl_cmds=ÇöÀç »ç¿ëÀÚ°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ¸í·É
acl_call=¸ðµç ¸í·É
acl_csel=¼±ÅÃÇÑ ¸í·É..
acl_edit=¸í·ÉÀ» ÀÛ¼º ¹× ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
0707010000d0ae000081a40000000000000002000000013d1fe2d800000ad7000000200000000000000000000000000000001500000003reloc/custom/lang/nl  index_title=Eigen Opdrachten
index_edit=Opdracht wijzigen
index_fedit=Aanpassen bestandsbewerker
index_none=Er zijn geen eigen opdrachten gedefiniëerd
index_create=Maak een nieuwe eigen opdracht
index_ecreate=Maak een nieuwe bestandsbewerker
index_return=opdrachten
index_cmd=Opdracht
index_desc=Beschrijving
index_ed=Aanpassen..

edit_title=Pas Opdracht Aan
create_title=Maak nieuwe Opdracht
edit_ecannot=U mag geen opdrachten wijzigen
edit_details=Details van de opdracht
edit_desc=Beschrijving
edit_cmd=Opdracht
edit_user=Uitvoeren als gebruiker
edit_raw=Opdracht produceert HTML?
edit_su=Omgeving van gebruiker benutten?
edit_order=Volgorde op de hoofdpagina
edit_params=Opdracht parameters
edit_name=Naam
edit_type=Type
edit_quote=Met aanhalingsteken?
edit_type0=Tekst
edit_type1=gebruiker
edit_type2=UID
edit_type3=Groep
edit_type4=GID
edit_type5=Bestand
edit_type6=Map
edit_type7=Optie..
edit_type8=Wachtwoord

save_err=Opslaan opdracht mislukt
save_ecannot=U mag geen opdrachten wijzigen
save_ecmd=Geen opdracht ingevoerd
save_edesc=Geen beschrijving ingevoerd
save_euser=Geen of ongeldige gebruiker

run_err=Uitvoering opdracht mislukt
run_ecannot=U mag deze opdrachten niet uitvoeren
run_euser=Geen of ongeldige gebruiker
run_egroup=Geen of ongeldige groep
run_title=Opdracht Uitvoeren
run_out=Uitvoer van $1 ..
run_noout=Er is geen uitvoer aangemaakt

log_modify=Opdracht $1 veranderd
log_create=Opdracht $1 aangemaakt
log_delete=Opdracht $1 verwijderd
log_exec=Opdracht $1 uitgevoerd
log_modify_edit=Bestandsbewerker $1 veranderd
log_create_edit=Bestandsbewerker $1 aangemaakt
log_delete_edit=Bestandsbewerkerr $1 verwijderd
log_save_edit=Bestand $1 opgeslagen

acl_cmds=Opdrachten die deze gebruiker kan uitvoeren
acl_call=Alle opdrachten
acl_csel=Selectie..
acl_edit=Kan opdrachten aanmaken en wijzigen?

file_ecannot=U mag geen bestanden bewerken
fcreate_title=Maak Bestandsbewerker
fedit_title=Wijzig Bestandsbewerker
file_details=Details Bestandsbewerker
file_desc=Beschrijving
file_edit=Te bewerken bestand
file_owner=Eigendom van bestand
file_user=Gebruiker
file_group=Groep
file_leave=Laat zoals het is
file_perms=Bestandsrechten
file_set=Maak octaal
file_before=Opdracht uitvoeren vóór opslaan
file_after=Opdracht uitvoeren ná opslaan
file_err=Opslaan bestandsbewerker mislukt
file_eedit=Naam te bewerken bestand ontbreekt
file_edesc=Beschrijving ontbreekt
file_euser=Naam gebruiker ontbreekt of ongeldig
file_egroup=Naam groep ontbreekt of ongeldig
file_eperms=Octale rechten ontbreken of zijn niet geldig

view_err=bewerken bestand mislukt
view_ecannot=U mag dit bestand niet bewerken
view_title=Bewerk Bestand
view_efile=Schrijven naar $1 mislukt : $2

form_ecannot=U mag deze opdracht niet uitvoeren
form_title=Uitvoeren Opdracht
form_exec=Uitvoeren
 0707010000d0af000081a40000000000000002000000013d1fe2d800000b11000000200000000000000000000000000000001500000003reloc/custom/lang/pl  index_title=Wybrane polecenia
index_edit=Zmieñ polecenie
index_fedit=Zmieñ edytor pliku
index_none=Nie zdefiniowano poleceñ u¿ytkownika
index_create=Utwórz nowe polecenie u¿ytkownika
index_ecreate=Utwórz nowy edytor pliku 
index_return=poleceñ
index_cmd=Polecenie   
index_desc=Opis
index_ed=Zmieñ..

edit_title=Zmieñ polecenie
create_title=Utwórz polecenie
edit_ecannot=Nie masz uprawnieñ do zmiany poleceñ
edit_details=Informacje o&nbsp;poleceniu
edit_desc=Opis
edit_cmd=Polecenie
edit_user=Uruchamiaæ jako u¿ytkownik
edit_raw=Czy polecenie zwraca HTML?
edit_su=Korzystaæ ze ¶rodowiska u¿ytkownika?
edit_params=Parametry dla polecenia
edit_name=Nazwa
edit_type=Rodzaj
edit_quote=Cytowaæ parametr?
edit_type0=Tekstowy
edit_type1=U¿ytkownik
edit_type2=UID
edit_type3=Grupa
edit_type4=GID
edit_type5=Plik
edit_type6=Katalog
edit_type7=Opcja..
edit_type8=Has³o

save_err=Nie uda³o siê zachowaæ polecenia
save_ecannot=Nie masz uprawnieñ do zmieniania poleceñ
save_ecmd=Nie podano polecenia
save_edesc=Nie podano opisu
save_euser=Nie podano lub niepoprawny u¿ytkownik

run_err=Nie uda³o sie uruchomic polecenia
run_ecannot=Nie masz uprawnieñ do uruchamiania tego polecenia
run_euser=Nie podano lub niepoprawny u¿ytkownik
run_egroup=Nie podano lub niepoprawna grupa
run_title=Uruchom polecenie
run_out=Wyniki polecenia $1 ..
run_noout=Nie wygenerowano danych wynikowych

log_modify=Zmieniono polecenie $1
log_create=Utworzono polecenie $1
log_delete=Usuniêto polecenie $1
log_exec=Uruchomiono polecenie $1
log_modify_edit=Zmieniono edytor pliku $1
log_create_edit=Utworzono edytor pliku $1
log_delete_edit=Usuniêto edytor pliku $1
log_save_edit=Zachowano plik $1

acl_cmds=Polecenia, które ten u¿ytkownik mo¿e uruchamiaæ
acl_call=Wszystkie
acl_csel=Wybrane..
acl_edit=Czy mo¿e tworzyæ i&nbsp;zmieniaæ polecenia?

file_ecannot=Nie masz uprawnieñ do modyfikacji plików
fcreate_title=Utwórz edytor pliku
fedit_title=Zmieñ edytor pliku
file_details=Dane edytora plików
file_desc=Opis
file_edit=Edytowany plik
file_owner=W³a¶ciciel pliku
file_user=U¿ytkownik
file_group=Grupa
file_leave=Zachowaj bie¿±ce
file_perms=Prawa do pliku
file_set=Ustaw na wart¶æ ósemkow±
file_before=Polecenie uruchamiane przed zachowaniem
file_after=Polecenie uruchamiane po zachowaniu
file_err=Nie uda³o siê zachowaæ edytora plików
file_eedit=Nie podano nazwy edytowanego pliku
file_edesc=Nie podano opisu
file_euser=Nie podana lub niepoprawna nazwa u¿ytkownika
file_egroup=Nie podana lub niepoprawna nazwa grupy
file_eperms=Nie podana lub niepoprawna ósemkowa warto¶æ praw dostêpu

view_err=Nie uda³o siê zmodyfikowaæ pliku
view_ecannot=Nie masz uprawnieñ do modyfikacji tego pliku
view_title=Modyfikuj plik
view_efile=Nie uda³o sie zapisaæ $1&nbsp;: $2

form_ecannot=Nie masz uprawnieñ do wykonywania tego polecenia
form_title=Wykonaj polecenie
form_exec=Wykonaj
   0707010000d0b0000081a40000000000000002000000013d1fe2d8000004b0000000200000000000000000000000000000001500000003reloc/custom/lang/pt  index_title=Comandos Personalizados
index_edit=Editar comando
index_none=Não foram definidos comandos personalizados
index_create=Criar novo comando personalizado
index_return=comandos

edit_title=Editar Comando
create_title=Criar Comando
edit_ecannot=Você não está autorizado para editar comandos
edit_details=Detalhes do comando
edit_desc=Descrição
edit_cmd=Comando
edit_user=Executar como utilizador
edit_raw=Resultados do comando em HTML?
edit_params=Parâmetros do comando
edit_name=Nome
edit_type=Tipo
edit_quote=Citar parâmetro?
edit_type0=Texto
edit_type1=Utilizador
edit_type2=UID
edit_type3=Grupo
edit_type4=GID
edit_type5=Ficheiro
edit_type6=Directório
edit_type7=Opção..
edit_type8=Palavra de Passe

save_err=Erro ao guardar comando
save_ecannot=Você não está autorizado para editar comandos
save_ecmd=Não foi introduzido comando algum
save_edesc=Não foi introduzida uma descrição
save_euser=Utilizador inválido ou em falta

run_err=Erro ao executar o comando
run_ecannot=Você não está autorizado para executar o comando
run_euser=Utilizador inválido ou em falta
run_egroup=Grupo inválido ou em falta
run_title=Executar Comando
run_out=Resultados de $1 ..
run_noout=Sem resultados gerados
0707010000d0b1000081a40000000000000002000000013d1fe2d800000487000000200000000000000000000000000000001800000003reloc/custom/lang/ru_RU   save_err=Îøèáêà ïðè ñîõðàíåíèè êîìàíäû
index_none=Íå îïðåäåëåíî íè îäíîé ïðîèçâîëüíîé êîìàíäû
index_edit=Ðåäàêòèðîâàòü êîìàíäó
edit_quote=Âçÿòü â êàâû÷êè?
create_title=Ñîçäàíèå Êîìàíäû
save_ecmd=Êîìàíäà íå ââåäåíà
run_ecannot=Âàì íå ðàçðåøåíî çàïóñêàòü ýòó êîìàíäó
run_euser=Íå ââåäåí, èëè íåñóùåñòâóþùèé ïîëüçîâàòåëü
run_title=Âûïîëíåíèå Êîìàíäû
save_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü êîìàíäû
edit_name=Èìÿ
edit_raw=Êîìàíäà âûäàåò HTML?
run_out=Âûâîä èç $1 ..
edit_type=Òèï
index_create=Ñîçäàòü íîâóþ êîìàíäó
edit_cmd=Êîìàíäà
edit_user=Âûïîëíÿòü êàê ïîëüçîâàòåëü
save_euser=Íå ââåäåí, èëè íåñóùåñòâóþùèé ïîëüçîâàòåëü
run_egroup=Íå ââåäåíà, èëè íåñóùåñòâóþùàÿ ãðóïïà
run_noout=Êîìàíäà íè÷åãî íå âûäàëà
index_return=êîìàíäû
edit_details=Ïàðàìåòðû êîìàíäû
edit_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü êîìàíäû
run_err=Îøèáêà ïðè âûïîëüíåíèè êîìàíäû
edit_title=Ðåäàêòèðîâàíèå Êîìàíäû
edit_desc=Îïèñàíèå
edit_params=Àðãóìåíòû êîìàíäû
save_edesc=Îïèñàíèå íå ââåäåíî
index_title=Ïðîèçâîëüíûå Êîìàíäû
edit_type0=Òåêñò
edit_type1=Ïîëüçîâàòåëü
edit_type2=UID
edit_type3=Ãðóïïà
edit_type4=GID
edit_type5=Ôàéë
edit_type6=Êàòàëîã
edit_type7=Ïàðàìåòð
edit_type8=Ïàðîëü
 0707010000d0b2000081a40000000000000002000000013d1fe2d80000048a000000200000000000000000000000000000001800000003reloc/custom/lang/ru_SU   index_title=ðÒÏÉÚ×ÏÌØÎÙÅ ëÏÍÁÎÄÙ
index_edit=òÅÄÁËÔÉÒÏ×ÁÔØ ËÏÍÁÎÄÕ
index_none=îÅ ÏÐÒÅÄÅÌÅÎÏ ÎÉ ÏÄÎÏÊ ÐÒÏÉÚ×ÏÌØÎÏÊ ËÏÍÁÎÄÙ
index_create=óÏÚÄÁÔØ ÎÏ×ÕÀ ËÏÍÁÎÄÕ
index_return=ËÏÍÁÎÄÙ

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ëÏÍÁÎÄÙ
create_title=óÏÚÄÁÎÉÅ ëÏÍÁÎÄÙ
edit_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ËÏÍÁÎÄÙ
edit_details=ðÁÒÁÍÅÔÒÙ ËÏÍÁÎÄÙ
edit_desc=ïÐÉÓÁÎÉÅ
edit_cmd=ëÏÍÁÎÄÁ
edit_user=÷ÙÐÏÌÎÑÔØ ËÁË ÐÏÌØÚÏ×ÁÔÅÌØ
edit_raw=ëÏÍÁÎÄÁ ×ÙÄÁÅÔ HTML?
edit_params=áÒÇÕÍÅÎÔÙ ËÏÍÁÎÄÙ
edit_name=éÍÑ
edit_type=ôÉÐ
edit_quote=÷ÚÑÔØ × ËÁ×ÙÞËÉ?
edit_type0=ôÅËÓÔ
edit_type1=ðÏÌØÚÏ×ÁÔÅÌØ
edit_type2=UID
edit_type3=çÒÕÐÐÁ
edit_type4=GID
edit_type5=æÁÊÌ
edit_type6=ëÁÔÁÌÏÇ
edit_type7=ðÁÒÁÍÅÔÒ
edit_type8=ðÁÒÏÌØ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ËÏÍÁÎÄÙ
save_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ËÏÍÁÎÄÙ
save_ecmd=ëÏÍÁÎÄÁ ÎÅ ××ÅÄÅÎÁ
save_edesc=ïÐÉÓÁÎÉÅ ÎÅ ××ÅÄÅÎÏ
save_euser=îÅ ××ÅÄÅÎ, ÉÌÉ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ ÐÏÌØÚÏ×ÁÔÅÌØ

run_err=ïÛÉÂËÁ ÐÒÉ ×ÙÐÏÌØÎÅÎÉÉ ËÏÍÁÎÄÙ
run_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÚÁÐÕÓËÁÔØ ÜÔÕ ËÏÍÁÎÄÕ
run_euser=îÅ ××ÅÄÅÎ, ÉÌÉ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ ÐÏÌØÚÏ×ÁÔÅÌØ
run_egroup=îÅ ××ÅÄÅÎÁ, ÉÌÉ ÎÅÓÕÝÅÓÔ×ÕÀÝÁÑ ÇÒÕÐÐÁ
run_title=÷ÙÐÏÌÎÅÎÉÅ ëÏÍÁÎÄÙ
run_out=÷Ù×ÏÄ ÉÚ $1 ..
run_noout=ëÏÍÁÎÄÁ ÎÉÞÅÇÏ ÎÅ ×ÙÄÁÌÁ
  0707010000d0b3000081a40000000000000002000000013d1fe2d80000063d000000200000000000000000000000000000001500000003reloc/custom/lang/sv  index_title=Egna kommandon
index_edit=Ändra kommando
index_none=Inga egna kommandon definierade
index_create=Skapa ett nytt kommando
index_return=kommandon
acl_commands=Kommandon som denna användare får köra
acl_create=Kunna skapa och ändra kommandon?
yes=Ja
no=Nej

edit_title=Ändra kommando
create_title=Skapa kommando
edit_ecannot=Du får inte ändra kommandon
edit_details=Uppgifter om kommandot
edit_desc=Beskrivning
edit_cmd=Kommando
edit_user=Kör som användare
edit_raw=Ska kommandot generera HTML?
edit_params=Kommandoparametrar
edit_name=Namn
edit_type=Typ
edit_quote=Sätta citattecken runt parameter?
edit_su=Använda användarens miljö?
edit_type0=Text
edit_type1=Användare
edit_type2=UID
edit_type3=Grupp
edit_type4=GID
edit_type5=Fil
edit_type6=Katalog
edit_type7=Inställning ...
edit_type8=Lösenord

save_err=Det gick inte att spara kommando
save_ecannot=Du får inte ändra kommandon
save_ecmd=Du har inte angivit något kommando
save_edesc=Du har inte angivit någon beskrivning av kommandot
save_euser=Användaren finns inte eller är inte giltig

run_err=Det gick inte att utföra kommandot
run_ecannot=Du får inte utföra detta kommando
run_euser=Användaren finns inte eller är inte giltig
run_egroup=Gruppen finns inte eller är inte giltig
run_title=Utför kommando
run_out=Resultat från $1 ...
run_noout=Inget resultat finns

log_modify=Modifierade kommando $1
log_create=Skapade kommando $1
log_delete=Tog bort kommando $1
log_exec=Utförde kommando $1

acl_cmds=Kommandon som denna användare får köra
acl_call=Alla kommandon
acl_csel=Angivna ...
acl_edit=Kunna skapa och ändra kommandon?
   0707010000d0b4000081a40000000000000002000000013d1fe2d800000530000000200000000000000000000000000000001500000003reloc/custom/lang/tr  index_title=Özel Komutlar
index_edit=Komutu Deðiþtir
index_none=Özel komut tanýmlanmadý
index_create=Yeni bir özel komut oluþtur
index_return=komutlar

edit_title=Komutu Deðiþtir
create_title=Komut Oluþtur
edit_ecannot=Komutlarý deðiþtirmek için izininiz yoktur
edit_details=Komut Ayrýntýlarý
edit_desc=Açýklama
edit_cmd=Komut
edit_user=Kullanýcý olaraak çalýþtýr
edit_raw=Komut çýktýlarý HTML olarak verilsin mi?
edit_su=Kullanýcýnýn çevresel deðiþkenleri kullanýlsýn mý?
edit_params=Komut Parametreleri
edit_name=Ýsim
edit_type=Tip
edit_quote=Parametre aktarýlsýn mý?
edit_type0=Düz metin yazýsý
edit_type1=Kullanýcý
edit_type2=UID
edit_type3=Grup
edit_type4=GID
edit_type5=Dosya
edit_type6=Dizin
edit_type7=Seçenek..
edit_type8=Þifre

save_err=Komutun kaydedilmesinde hata oluþtu
save_ecannot=Komutlarý deðiþtirmek için izininiz yoktur
save_ecmd=Komut girilmedi
save_edesc=Açýklama girilmedi
save_euser=Kayýp ya da yanlýþ kullanýcý

run_err=Komutun çalýþtýrýlmasýnda hata oluþtu
run_ecannot=Bu komutu çalýþtýrmak için izininiz yoktur
run_euser=Kayýp ya da yanlýþ kullanýcý
run_egroup=Kayýp ya da yanlýþ grup
run_title=Komut Çalýþtýr
run_out=$1 komutunun çýktýsý ..
run_noout=Çýktý oluþturulmadý

log_modify=$1 komutu deðiþtirildi
log_create=$1 komutu oluþturuldu
log_delete=$1 komutu silindi
log_exec=$1 komutu çalýþtýrýldý

0707010000d0b5000081a40000000000000002000000013d1fe2d8000003f5000000200000000000000000000000000000001800000003reloc/custom/lang/zh_CN   index_title=¶¨ÖÆÃüÁî
index_edit=±à¼­ÃüÁî
index_none=Ã»ÓÐ¶¨Òå¶¨ÖÆµÄÃüÁî
index_create=´´½¨ÐÂµÄ¶¨ÖÆÃüÁî
index_return=ÃüÁî
edit_title=±à¼­ÃüÁî
create_title=´´½¨ÃüÁî
edit_ecannot=ÄúÎÞÈ¨±à¼­ÃüÁî
edit_details=ÃüÁîÏ¸½Ú
edit_desc=ÃèÊö
edit_cmd=ÃüÁî
edit_user=ÒÔÓÃ»§ÔËÐÐ
edit_raw=ÃüÁîÊä³öÎªHTML£¿
edit_su=Ê¹ÓÃÓÃ»§»·¾³£¿
edit_params=ÃüÁî²ÎÊý
edit_name=Ãû×Ö
edit_type=ÀàÐÍ
edit_quote=Åä¶î²ÎÊý£¿
edit_type0=ÕýÎÄ
edit_type1=ÓÃ»§
edit_type2=UID
edit_type3=×é
edit_type4=GID
edit_type5=ÎÄ¼þ
edit_type6=Ä¿Â¼
edit_type7=Ñ¡Ïî..
edit_type8=¿ÚÁî
save_err=±£´æÃüÁîÊ§°Ü
save_ecannot=ÄúÎÞÈ¨±à¼­ÃüÁî
save_ecmd=Ã»ÓÐÊäÈëÃüÁî
save_edesc=Ã»ÓÐÊäÈëÃèÊö
save_euser=È±ÉÙÓÃ»§»òÓÃ»§·Ç·¨
run_err=Ö´ÐÐÃüÁîÊ§°Ü
run_ecannot=ÄúÎÞÈ¨ÔËÐÐÕâ¸öÃüÁî
run_euser=È±ÉÙÓÃ»§»òÓÃ»§·Ç·¨
run_egroup=È±ÉÙ×é»ò×é·Ç·¨
run_title=Ö´ÐÐÃüÁî
run_out=´Ó$1 Êä³ö..
run_noout=Ã»²úÉúÊä³ö
log_modify=ÐÞ¸ÄÁËÃüÁî $1
log_create=´´½¨ÁËÃüÁî $1
log_delete=É¾³ýÁËÃüÁî $1
log_exec=Ö´ÐÐÁËÃüÁî $1
acl_cmds=¸ÃÓÃ»§¿ÉÒÔÖ´ÐÐµÄÃüÁî
acl_call=ËùÓÐÃüÁî
acl_csel=Ñ¡ÔñµÄ..
acl_edit=¿ÉÒÔ´´½¨ºÍ±à¼­ÃüÁî£¿
   0707010000d0e3000081a40000000000000002000000013d1fe2d80000037d000000200000000000000000000000000000001d00000003reloc/custom/lang/zh_TW.Big5  index_title=¦Û­qªº©R¥O
index_edit=½s¿è©R¥O
index_none=©|¥¼©w¸q¥ô¦ó¦Û­qªº©R¥O
index_create=«Ø¥ß·sªº¦Û­q©R¥O
index_return=©R¥O

edit_title=½s¿è©R¥O
create_title=«Ø¥ß©R¥O
edit_ecannot=±z¤£³Q¤¹³\½s¿è©R¥O
edit_details=©R¥O²Ó¸`
edit_desc=´y­z
edit_cmd=©R¥O
edit_user=¥H¨Ï¥ÎªÌ°õ¦æ
edit_raw=©R¥O¬O§_¥H HTML ¿é¥X?
edit_su=¨Ï¥Î¨Ï¥ÎªÌªºÀô¹ÒÅÜ¼Æ
edit_params=©R¥O°Ñ¼Æ
edit_name=¦WºÙ
edit_type=Ãþ§O
edit_quote=¬O§_¨Ï¥Î¤Þ¸¹?
edit_type0=¤å¦r
edit_type1=¨Ï¥ÎªÌ
edit_type2=¨Ï¥ÎªÌ½s¸¹ (UID)
edit_type3=¸s²Õ
edit_type4=¸s²Õ½s¸¹ (GID)
edit_type5=ÀÉ®×
edit_type6=¥Ø¿ý
edit_type7=¿ï¶µ...
edit_type8=±K½X

save_err=Àx¦s©R¥O¥¢±Ñ
save_ecannot=±z¤£³Q¤¹³\½s¿è©R¥O
save_ecmd=¨S¦³¿é¤J©R¥O
save_edesc=¨S¦³¿é¤J´y­z
save_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ

run_err=°õ¦æ©R¥O¥¢±Ñ
run_ecannot=±z¤£³Q¤¹³\°õ¦æ³o­Ó©R¥O
run_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ
run_egroup=¿ò¥¢©Î¿ù»~ªº¸s²Õ
run_title=°õ¦æ©R¥O
run_out=±q $1 ªº¿é¥X...
run_noout=¨S¦³²£¥Í¿é¥X
   0707010000a279000081a40000000000000002000000013d1fe2d800000229000000200000000000000000000000000000001b00000003reloc/custom/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'custom-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'command') {
	return &text("log_${action}",
		     "<tt>".&html_escape($p->{'desc'})."</tt>");
	}
elsif ($type eq 'edit') {
	return &text("log_${action}_edit",
		     "<tt>".&html_escape($p->{'desc'})."</tt>");
	}
else {
	return undef;
	}
}

   0707010000a27a000081a40000000000000002000000013d1fe2ea00000215000000200000000000000000000000000000001900000003reloc/custom/module.info  desc_nl=Eigen Opdrachten
desc_ru_SU=ëÏÍÁÎÄÙ ðÏÌØÚÏ×ÁÔÅÌÑ
risk=medium high
desc_ko_KR.euc=»ç¿ëÀÚ Á¤ÀÇ ¸í·É
desc_zh_TW.Big5=¦Û­qªº©R¥O
desc_pl=Wybrane polecenia
desc_de=Eigene Befehle 
name=Custom
desc_zh_CN=ÓÃ»§×Ô¶¨ÒåÃüÁî
desc_pt=Comandos Personalizados
desc_tr=Özel Komutlar
desc=Custom Commands
desc_es=Comandos de Cliente
desc_sv=Egna kommandon
desc_fr=Commandes Personnalisées
desc_ja_JP.euc=¥«¥¹¥¿¥à ¥³¥Þ¥ó¥É
depends=proc 0.990
version=0.990
desc_hu=Saját parancsok
desc_ca=Ordres Personalitzades
desc_ru_RU=Êîìàíäû Ïîëüçîâàòåëÿ
   0707010000a27b000081e40000000000000002000000013d1fe2d8000008e9000000200000000000000000000000000000001500000003reloc/custom/run.cgi  #!/usr/local/bin/perl
# run.cgi
# Run some command with the given parameters

require './custom-lib.pl';
$theme_no_table = 1;
&foreign_require("proc", "proc-lib.pl");
&ReadParse();
$| = 1;
&error_setup($text{'run_err'});
@cmds = &list_commands();
$cmd = $cmds[$in{'idx'}];
&can_run_command($cmd) || &error($text{'run_ecannot'});

# substitute parameters into command
$str = $displaystr = $cmd->{'cmd'};
foreach $a (@{$cmd->{'args'}}) {
	$n = $a->{'name'};
	if ($a->{'type'} == 0 || $a->{'type'} == 5 ||
	    $a->{'type'} == 6 || $a->{'type'} == 8) {
		$rv = $in{$n};
		}
	elsif ($a->{'type'} == 1 || $a->{'type'} == 2) {
		(@u = getpwnam($in{$n})) || &error($text{'run_euser'});
		$rv = $a->{'type'} == 1 ? $in{$n} : $u[2];
		}
	elsif ($a->{'type'} == 3 || $a->{'type'} == 4) {
		(@g = getgrnam($in{$n})) || &error($text{'run_egroup'});
		$rv = $a->{'type'} == 3 ? $in{$n} : $g[2];
		}
	elsif ($a->{'type'} == 7) {
		$rv = $in{$n} ? $a->{'opts'} : "";
		}
	$ENV{$n} = $rv;
	$env .= "$n='$rv'\n";
	$export .= " $n";
	if ($a->{'quote'}) {
		$str =~ s/\$$n/"\$$n"/g;
		$displaystr =~ s/\$$n/"$rv"/g;
		}
	else {
		$displaystr =~ s/\$$n/$rv/g;
		}
	}

# Run and display output
$| = 1;
&header($text{'run_title'}, "", "run");
print "<center><font size=+2>$cmd->{'desc'}</font></center>\n";
print "<hr>\n";
if ($cmd->{'noshow'}) {
	print "<p>$text{'run_out2'}\n";
	}
else {
	print "<p>",&text('run_out',
			  "<tt>".&html_escape($displaystr)."</tt>"),"\n";
	}
print "<pre>" if (!$cmd->{'raw'});
if ($cmd->{'su'}) {
	$temp = &tempname();
	open(TEMP, ">$temp");
	print TEMP "#!/bin/sh\n";
	print TEMP $env;
	print TEMP "export $export\n" if ($export);
	print TEMP "$str\n";
	close(TEMP);
	chmod(0755, $temp);
	$got = &foreign_call("proc", "safe_process_exec",
	   		     "su - $cmd->{'user'} -c $temp", 0, 0,
			     STDOUT, undef, !$cmd->{'raw'});
	unlink($temp);
	}
else {
	@u = getpwnam($cmd->{'user'});
	$got = &foreign_call("proc", "safe_process_exec", $str,
			     $u[2], undef, STDOUT, undef, !$cmd->{'raw'});
	}
&additional_log('exec', undef, $displaystr);
if (!$got) { print "<i>$text{'run_noout'}</i>\n"; }
print "</pre>\n" if (!$cmd->{'raw'});
%cmdin = ( %$cmd, %in );
&webmin_log("exec", "command", $cmd->{'id'}, \%cmdin);
print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000a27c000081e40000000000000002000000013d1fe2d80000041d000000200000000000000000000000000000001600000003reloc/custom/save.cgi #!/usr/local/bin/perl
# save.cgi
# Save an edited file

require './custom-lib.pl';
&ReadParseMime();
@cmds = &list_commands();
$edit = $cmds[$in{'idx'}];
&error_setup($text{'view_err'});
$edit->{'edit'} && &can_run_command($edit) || &error($text{'edit_ecannot'});

# Run the before-command
if ($edit->{'before'}) {
	&system_logged("$edit->{'before'} >/dev/null 2>&1 </dev/null");
	}

# Save the file
&lock_file($edit->{'edit'});
$in{'data'} =~ s/\r//g;
open(FILE, ">$edit->{'edit'}") ||
	&error(&text('view_efile', $edit->{'edit'}, $!));
print FILE $in{'data'};
close(FILE);
&unlock_file($edit->{'edit'});

# Set permissions
if ($edit->{'user'}) {
	&system_logged("chown $edit->{'user'}:$edit->{'group'} ".
		       "$edit->{'edit'} >/dev/null 2>&1");
	}
if ($edit->{'perms'}) {
	&system_logged("chmod $edit->{'perms'} ".
		       "$edit->{'edit'} >/dev/null 2>&1");
	}

# Run the after-command
if ($edit->{'after'}) {
	&system_logged("$edit->{'after'} >/dev/null 2>&1 </dev/null");
	}

&webmin_log("save", "edit", $cmd->{'id'}, $edit);
&redirect("");

   0707010000a27d000081e40000000000000002000000013d1fe2d8000005d0000000200000000000000000000000000000001a00000003reloc/custom/save_cmd.cgi #!/usr/local/bin/perl
# save_cmd.cgi
# Save, create or delete a custom command

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'save_ecannot'});
@cmds = &list_commands();
if ($in{'delete'}) {
	$cmd = $cmds[$in{'idx'}];
	&delete_command($cmd);
	&webmin_log("delete", "command", $cmd->{'id'}, $cmd);
	}
else {
	&error_setup($text{'save_err'});
	if (!$in{'new'}) {
		$cmd = $cmds[$in{'idx'}];
		}
	else {
		$cmd = { 'id' => time() };
		}

	# parse and validate inputs
	$in{'cmd'} =~ /\S/ || &error($text{'save_ecmd'});
	$cmd->{'cmd'} = $in{'cmd'};
	$in{'desc'} =~ /\S/ || &error($text{'save_edesc'});
	$cmd->{'desc'} = $in{'desc'};
	$in{'html'} =~ s/\r//g;
	$cmd->{'html'} = $in{'html'};
	(@u = getpwnam($in{'user'})) || &error($text{'save_euser'});
	$cmd->{'user'} = $in{'user'};
	$cmd->{'raw'} = $in{'raw'};
	$cmd->{'su'} = $in{'su'};
	$cmd->{'order'} = $in{'order_def'} ? 0 : int($in{'order'});
	$cmd->{'noshow'} = $in{'noshow'};
	$cmd->{'args'} = [ ];
	for($i=0; defined($name = $in{"name_$i"}); $i++) {
		if ($name) {
			push(@{$cmd->{'args'}}, { 'name' => $name,
						  'desc' => $in{"desc_$i"},
						  'type' => $in{"type_$i"},
						  'quote' => $in{"quote_$i"},
						  'opts' => $in{"opts_$i"} });
			}
		}
	&save_command($cmd);
	&webmin_log($in{'new'} ? "create" : "modify", "command",
		    $cmd->{'id'}, $cmd);

	if ($in{'new'} && $access{'cmds'} ne '*') {
		$access{'cmds'} .= " ".$cmd->{'id'};
		&save_module_acl(\%access);
		}
	}
&redirect("");

0707010000a2b6000081e40000000000000002000000013d1fe2d80000060a000000200000000000000000000000000000001b00000003reloc/custom/save_file.cgi    #!/usr/local/bin/perl
# save_file.cgi
# Save, create or delete a file editor

require './custom-lib.pl';
&ReadParse();

$access{'edit'} || &error($text{'file_ecannot'});
@cmds = &list_commands();
if ($in{'delete'}) {
	$edit = $cmds[$in{'idx'}];
	&delete_command($edit);
	&webmin_log("delete", "edit", $edit->{'id'}, $edit);
	}
else {
	&error_setup($text{'file_err'});
	if (!$in{'new'}) {
		$edit = $cmds[$in{'idx'}];
		}
	else {
		$edit = { 'id' => time() };
		}

	# parse and validate inputs
	$in{'edit'} =~ /\S/ || &error($text{'file_eedit'});
	$edit->{'edit'} = $in{'edit'};
	$in{'desc'} =~ /\S/ || &error($text{'file_edesc'});
	$edit->{'desc'} = $in{'desc'};
	$in{'html'} =~ s/\r//g;
	$cmd->{'html'} = $in{'html'};
	if ($in{'owner_def'}) {
		$edit->{'user'} = $edit->{'group'} = undef;
		}
	else {
		(@u = getpwnam($in{'user'})) || &error($text{'file_euser'});
		(@g = getgrnam($in{'group'})) || &error($text{'file_egroup'});
		$edit->{'user'} = $in{'user'};
		$edit->{'group'} = $in{'group'};
		}
	if ($in{'perms_def'}) {
		$edit->{'perms'} = undef;
		}
	else {
		$in{'perms'} =~ /^[0-7]{3}$/ || &error($text{'file_eperms'});
		$edit->{'perms'} = $in{'perms'};
		}
	$edit->{'before'} = $in{'before'};
	$edit->{'after'} = $in{'after'};
	$edit->{'order'} = $in{'order_def'} ? 0 : int($in{'order'});
	&save_command($edit);
	&webmin_log($in{'new'} ? "create" : "modify", "edit",
		    $cmd->{'id'}, $cmd);

	if ($in{'new'} && $access{'cmds'} ne '*') {
		$access{'cmds'} .= " ".$edit->{'id'};
		&save_module_acl(\%access);
		}
	}
&redirect("");

  0707010000a2b8000081e40000000000000002000000013d1fe2d8000002ff000000200000000000000000000000000000001600000003reloc/custom/view.cgi #!/usr/local/bin/perl
# view.cgi
# Display a file for editing

require './custom-lib.pl';
&ReadParse();
@cmds = &list_commands();
$edit = $cmds[$in{'idx'}];
$edit->{'edit'} && &can_run_command($edit) || &error($text{'edit_ecannot'});

# Show the editor window
&header($text{'view_title'}, "");
print "<center><font size=+1>",$edit->{'edit'},"</font></center>\n";
print "<hr>\n";

print "<form action=save.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<textarea rows=20 cols=80 name=data>";
open(FILE, $edit->{'edit'});
while(<FILE>) { print; }
close(FILE);
print "</textarea><br>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010003e26c000081e40000000000000002000000013d1fe2b800000886000000200000000000000000000000000000001700000003reloc/date_chooser.cgi    #!/usr/local/bin/perl
# date_chooser.cgi
# Display a table of days in the current month

require './web-lib.pl';
require 'timelocal.pl';
&init_config();
&ReadParse();
&PrintHeader();

@daysin = ( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
$daysin[1] = $in{'year'}%400 == 0 ? 29 :
	     $in{'year'}%100 == 0 ? 28 :
	     $in{'year'}%4 == 0 ? 29 : 28;

@tm = localtime(time());
if ($in{'day'} !~ /^\d+$/ || $in{'day'} < 1 || $in{'year'} !~ /^\d+$/) {
	$in{'day'} = $tm[3];
	$in{'month'} = $tm[4];
	$in{'year'} = $tm[5]+1900;
	}
if ($in{'day'} > $daysin[$in{'month'}]) {
	$in{'day'} = $daysin[$in{'month'}];
	}
$tm = timelocal(0, 0, 12, $in{'day'}, $in{'month'}, $in{'year'});

print <<EOF;
<html><head>
<script>
function newmonth(m)
{
location = "date_chooser.cgi?day=$in{'day'}&month="+m.selectedIndex+"&year=$in{'year'}";
}
function newyear(y)
{
location = "date_chooser.cgi?day=$in{'day'}&month=$in{'month'}&year="+(y.selectedIndex+$in{'year'}-10);
}
function newday(d)
{
opener.dfield.value = d;
opener.mfield.selectedIndex = $in{'month'};
opener.yfield.value = $in{'year'};
close();
}
</script>
</head><body bgcolor=#ffffff>
<form><table border width=100%>
<tr> <td colspan=7 align=center><select name=year onChange='newyear(this)'>
EOF
for($i=$in{'year'}-10; $i<=$in{'year'}+10; $i++) {
	printf "<option %s>%s\n",
		$i == $in{'year'} ? 'selected' : '', $i;
	}
print "</select> <select name=month onChange='newmonth(this)'>\n";
for($i=0; $i<12; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, $i == $in{'month'} ? 'selected' : '',
		$text{"month_".($i+1)};
	}
print "</select></td> </tr>\n";

print "<tr>\n";
for($i=0; $i<7; $i++) {
	print "<td><b>",$text{"sday_$i"},"</b></td>\n";
	}
print "</tr>\n";

@first = localtime($tm - ($in{'day'}-1)*24*60*60);
$count = -$first[6] + 1;
for($y=0; $y<6; $y++) {
	print "<tr>\n";
	for($x=0; $x<7; $x++) {
		if ($count < 1 || $count > $daysin[$in{'month'}]) {
			print "<td align=center></td>\n";
			}
		else {
			printf "<td align=center %s><a href='' onClick='newday($count)'>%s</a></td>\n", $in{'day'} == $count ? $cb : '', $count;
			}
		$count++;
		}
	print "</tr>\n";
	}
print "</table></form>\n";
print "</body></html>\n";

  0707010003e26d000081a40000000000000002000000013d1fe2b800000032000000200000000000000000000000000000001100000003reloc/defaultacl  root=/
uedit_mode=0
gedit_mode=0
rpc=2
feedback=2
  0707010003e26e000081a40000000000000002000000013d1fe2b80000000a000000200000000000000000000000000000001300000003reloc/defaulttheme    mscstyle3
  070701000115a4000041ed0000000000000001000000053d1ffa0900000000000000200000000000000000000000000000000f00000003reloc/dfsadmin    070701000115a5000081a40000000000000002000000013d1fe2b80000007b000000200000000000000000000000000000002100000003reloc/dfsadmin/config-openserver  dfstab_file=/etc/dfs/dfstab
unshare_all_command=/etc/init.d/nfs.server stop
share_all_command=/etc/init.d/nfs.server start
 070701000115a6000081a40000000000000002000000013d1fe2b800000099000000200000000000000000000000000000001e00000003reloc/dfsadmin/config-solaris dfstab_file=/etc/dfs/dfstab
unshare_all_command=/etc/init.d/nfs.server stop
share_all_command=/etc/init.d/nfs.server start
fstypes_file=/etc/dfs/fstypes
   070701000115a7000081a40000000000000002000000013d1fe2b80000007b000000200000000000000000000000000000001f00000003reloc/dfsadmin/config-unixware    dfstab_file=/etc/dfs/dfstab
unshare_all_command=/etc/init.d/nfs.server stop
share_all_command=/etc/init.d/nfs.server start
 070701000115a8000081a40000000000000002000000013d1fe2b8000000b5000000200000000000000000000000000000001b00000003reloc/dfsadmin/config.info    dfstab_file=NFS exports file location,0
fstypes_file=Shared filesystems types file,3,None
share_all_command=Command to start sharing,0
unshare_all_command=Command to stop sharing,0
   070701000115a9000081a40000000000000002000000013d1fe2b9000000e7000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.ca dfstab_file=Ubicació del fitxer d'exportacions NFS,0
fstypes_file=Fitxer de tipus de sistemes de fitxers compartits,3,Cap
share_all_command=Ordre per iniciar la compartició,0
unshare_all_command=Ordre per aturar la compartició,0


 070701000115aa000081a40000000000000002000000013d1fe2b80000008c000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.de dfstab_file=NFS Export Datei,0
share_all_command=Kommando um starten der Freigabe,0
unshare_all_command=Kommando zum stoppen der Freigabe,0
070701000115ab000081a40000000000000002000000013d1fe2b8000000a9000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.es dfstab_file=Localización del archivo de exportaciones NFS,0
share_all_command=Comando para arrancar compartición,0
unshare_all_command=Comando para parar compartición,0
   070701000115ac000081a40000000000000002000000013d1fe2b80000009f000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.fr dfstab_file=Chemin du fichier de partage NFS,0
share_all_command=Commande pour démarrer le partage,0
unshare_all_command=Commande pour arrêter le partage,0
 070701000115ad000081a40000000000000002000000013d1fe2b9000000c9000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.hu dfstab_file=NFS export file-ok helye,0
fstypes_file=Megosztott file rendszerek típus file-ai,3,Nincs
share_all_command=A megosztást indító parancs,0
unshare_all_command=A megosztást leállító parancs,0
   070701000115ae000081a40000000000000002000000013d1fe2b9000000dd000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.pl dfstab_file=Lokalizacja pliku 'exports' NFS-u,0
fstypes_file=Rodzaj wspó³dzielonego systemu plików,3,Brak
share_all_command=Polecenie w³±czaj±ce wspó³dzielenie,0
unshare_all_command=Polecenie wy³±czaj±ce wspó³dzielenie,0
   070701000115af000081a40000000000000002000000013d1fe2b8000000a0000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.sv dfstab_file=Plats för NFS-exporterade filer,0
share_all_command=Kommando för att påbörja fildelning,0
unshare_all_command=Kommando för att avsluta fildelning,0
070701000115b0000081a40000000000000002000000013d1fe2b900000085000000200000000000000000000000000000001e00000003reloc/dfsadmin/config.info.tr dfstab_file=NFS exports dosyasý yeri,0
share_all_command=Paylaþýmý baþlatma komutu,0
unshare_all_command=Paylaþýmý durdurma komutu,0
   070701000115b1000081a40000000000000002000000013d1fe2b90000006b000000200000000000000000000000000000002100000003reloc/dfsadmin/config.info.zh_CN  dfstab_file=NFS exports ÎÄ¼þÎ»ÖÃ,0
share_all_command=Æô¶¯¹²ÏíµÄÂ·¾¶,0
unshare_all_command=Í£Ö¹¹²ÏíµÄÂ·¾¶,0
 070701000115b2000081a40000000000000002000000013d1fe2b800000089000000200000000000000000000000000000002600000003reloc/dfsadmin/config.info.zh_TW.Big5 dfstab_file=NFS ÀÉ®×¤À¨É¦ì¸m,0
export_types=¤ä´©ªºÀÉ®×¤À¨ÉÃþ§O,0
share_all_command=±Ò°Ê¤À¨Éªº«ü¥O,0
unshare_all_command=°±¤î¤À¨Éªº«ü¥O,0
   070701000115b3000081e40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000002000000003reloc/dfsadmin/delete_share.cgi   #!/usr/local/bin/perl
# delete_share.cgi
# Delete a share

require './dfs-lib.pl';
&ReadParse();
@shlist = &list_shares();
$share = $shlist[$in{'idx'}];
&lock_file($config{'dfstab_file'});
&delete_share($share);
&unlock_file($config{'dfstab_file'});
&webmin_log("delete", "share", $share->{'dir'});
&redirect("");

 070701000115b4000081a40000000000000002000000013d1fe2b800000b39000000200000000000000000000000000000001a00000003reloc/dfsadmin/dfs-lib.pl # dfs-lib.pl
# Common functions for managing dfstab files

do '../web-lib.pl';
&init_config();

$default_type = 'nfs';
if ($config{'fstypes_file'} && open(TYPES, $config{'fstypes_file'})) {
	if (<TYPES> =~ /^(\S+)/) {
		$default_type = $1;
		}
	close(TYPES);
	}

# list_shares()
# Returns a list of structures containing share details
sub list_shares
{
local $lnum = 0;
local @rv;
open(DFS, $config{'dfstab_file'});
while(<DFS>) {
	s/\r|\n//g; s/#.*$//;
	if (/^\s*\S*share\s+(.*)/) {
		# Found a share line
		local $share = { 'line' => $lnum,
				 'index' => scalar(@rv) };
		local $line = $_;
		while($line =~ /\\$/) {
			$_ = <DFS>;
			s/\r|\n//g; s/#.*$//;
			$line =~ s/\\$//;
			$line .= $_;
			$lnum++;
			}
		$share->{'eline'} = $lnum;
		if ($line =~ /(\/\S+)/) {
			$share->{'dir'} = $1;
			}
		if ($line =~ /-d\s+"([^"]+)"/) { $share->{'desc'} = $1; }
		elsif ($line =~ /-d\s+(\S+)/) { $share->{'desc'} = $1; }
		if ($line =~ /-o\s+"([^"]+)"/) { $share->{'opts'} = $1; }
		elsif ($line =~ /-o\s+(\S+)/) { $share->{'opts'} = $1; }
		if ($line =~ /\s-F\s+(\S+)/) { $share->{'type'} = $1; }
		else { $share->{'type'} = $default_type; }
		push(@rv, $share);
		}
	$lnum++;
	}
close(DFS);
return @rv;
}

# create_share(&share)
# Add a new share to the dfstab file
sub create_share
{
open(DFS, ">> $config{dfstab_file}");
print DFS &share_line($_[0]),"\n";
close(DFS);
}

# modify_share(&share)
# Modify an existing share
sub modify_share
{
local $lref = &read_file_lines($config{'dfstab_file'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
       &share_line($_[0]));
&flush_file_lines();
}

# share_line(&share)
sub share_line
{
local $s = "share";
$s .= " -d \"$_[0]->{'desc'}\"" if ($_[0]->{'desc'});
$s .= " -o $_[0]->{'opts'}" if ($_[0]->{'opts'});
$s .= " -F $_[0]->{'type'}" if ($_[0]->{'type'} &&
				$_[0]->{'type'} ne $default_type);
$s .= " $_[0]->{'dir'}";
return $s;
}

# delete_share(&share)
# Delete the share for a particular directory
sub delete_share
{
local $lref = &read_file_lines($config{'dfstab_file'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

# parse_options(string)
# Parse a mount options string like rw=foo,nosuid,... into the associative
# array %options. Parts with no value are given an empty string as the value
sub parse_options
{
local($opt);
undef(%options);
foreach $opt (split(/,/, $_[0])) {
	if ($opt =~ /^([^=]+)=(.*)$/) {
		$options{$1} = $2;
		}
	else {
		$options{$opt} = "";
		}
	}
return \%options;
}

# join_options([&options])
# Returns a list of options from the %options array, in the form used in
# the dfstab file
sub join_options
{
local $o = $_[0] ? $_[0] : \%options;
local(@list, $k);
foreach $k (keys %$o) {
	if ($o->{$k} eq "") {
		push(@list, $k);
		}
	else {
		push(@list, "$k=$o->{$k}");
		}
	}
return join(',', @list);
}

1;

   070701000115b5000081e40000000000000002000000013d1fe2b8000017af000000200000000000000000000000000000001e00000003reloc/dfsadmin/edit_share.cgi #!/usr/local/bin/perl
# edit_share.cgi
# Display a form for editing a shared directory

require './dfs-lib.pl';
$s = $ARGV[0];
%access = &get_module_acl();

if (defined($s)) { &header("Edit Share", "", "edit_share"); }
else { &header("Create Share", "", "create_share"); }
print "<hr>\n";

print "<form action=\"save_share.cgi\">\n";
if (defined($s)) {
	print "<input type=hidden name=idx value=\"$s\">\n";
	@shlist = &list_shares();
	$share = $shlist[$s];
	}
print "<table border width=100%><tr $cb><td><table width=100%>\n";

print "<tr> <td>",&hlink("<b>Directory</b>","dir"),"</td>\n";
print "<td><input size=40 name=directory value=\"$share->{'dir'}\">\n";
print &file_chooser_button("directory", 1);
print "</td>\n";

print "<tr> <td>",&hlink("<b>Description</b>","desc"),"</td>\n";
print "<td><input name=desc size=40 value=\"$share->{'desc'}\"></td></tr>\n";

print "</table></td></tr></table><p>\n";
print "<table width=100% border>\n";
&parse_options($share->{'opts'});
print "<tr $tb>\n";
print "<td>",&hlink("<b>Read-only access</b>","ro"),"</td>\n";
print "<td>",&hlink("<b>Read-write access</b>","rw"),"</td>\n";
print "<td>",&hlink("<b>Root access</b>","root"),"</td> </tr>\n";

# $fn = "<font size=-2>"; $efn = "</font>";
printf "<tr $cb><td><input type=radio name=readonly value=0 %s> None<br>\n",
	defined($options{"ro"}) ? "" : "checked";
printf "<input type=radio name=readonly value=1 %s> All hosts<br>\n",
	defined($options{"ro"}) && $options{"ro"} eq "" ? "checked" : "";
printf "<input type=radio name=readonly value=2 %s> Listed hosts..<br>\n",
	$options{"ro"} ne "" ? "checked" : "";
printf "$fn<textarea name=rolist rows=8 cols=25>%s</textarea>$efn</td>\n",
	join("\n", split(/:/, $options{"ro"}));

printf "<td><input type=radio name=readwrite value=0 %s> None<br>\n",
	defined($options{"rw"}) ? "" : "checked";
printf "<input type=radio name=readwrite value=1 %s> All hosts<br>\n",
	defined($options{"rw"}) && $options{"rw"} eq "" ? "checked" : "";
printf "<input type=radio name=readwrite value=2 %s> Listed hosts..<br>\n",
	$options{"rw"} ne "" ? "checked" : "";
printf "$fn<textarea name=rwlist rows=8 cols=25>%s</textarea>$efn</td>\n",
	join("\n", split(/:/, $options{"rw"}));

printf "<td><input type=radio name=root value=0 %s> None<p>\n",
	defined($options{"root"}) ? "" : "checked";
printf "<input type=radio name=root value=2 %s> Listed hosts..<br>\n",
	$options{"root"} ne "" ? "checked" : "";
printf "$fn<textarea name=rtlist rows=8 cols=25>%s</textarea>$efn</td></tr>\n",
	join("\n", split(/:/, $options{"root"}));
print "</table>\n";

if (!$access{'simple'}) {
	print "<p><table border width=100%>\n";
	print "<tr $tb> <td><b>Share Options</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td>",&hlink("<b>Allow mounting of subdirs?</b>","sub"),"</td>\n";
	printf "<td><input type=radio name=nosub value=0 %s> Yes\n",
		defined($options{"nosub"}) ? "" : "checked";
	printf "<input type=radio name=nosub value=1 %s> No</td>\n",
		!defined($options{"nosub"}) ? "" : "checked";

	print "<td>",&hlink("<b>Allow setuid files?</b>","suid"),"</td>\n";
	printf "<td nowrap><input type=radio name=nosuid value=0 %s> Yes\n",
		defined($options{"nosuid"}) ? "" : "checked";
	printf "<input type=radio name=nosuid value=1 %s> No</td> </tr>\n",
		!defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td>",&hlink("<b>Clients must use DES?</b>","des"),"</td>\n";
	printf "<td nowrap><input type=radio name=secure value=1 %s> Yes\n",
		defined($options{"secure"}) ? "checked" : "";
	printf "<input type=radio name=secure value=0 %s> No</td>\n",
		!defined($options{"secure"}) ? "checked" : "";

	print "<td>",&hlink("<b>Clients must use kerberos?</b>","kerberos"),"</td>\n";
	printf "<td nowrap><input type=radio name=kerberos value=1 %s> Yes\n",
		defined($options{"kerberos"}) ? "checked" : "";
	printf "<input type=radio name=kerberos value=0 %s> No</td> </tr>\n",
		!defined($options{"kerberos"}) ? "checked" : "";

	print "<tr> <td>",&hlink("<b>Anonymous user</b>","anon"),"</td> <td>\n";
	printf "<input type=radio name=anon_m value=0 %s> Not set\n",
		defined($options{"anon"}) ? "" : "checked";
	printf "<input type=radio name=anon_m value=1 %s> No access\n",
		$options{"anon"} == -1 ? "checked" : "";
	$user = defined($options{"anon"}) && $options{"anon"} != -1 ?
			getpwuid($options{'anon'}) : undef;
	printf "<input type=radio name=anon_m value=2 %s>\n",
		$user ? "checked" : "";
	print "<input name=anon size=8 value=\"$user\"> ",
		&user_chooser_button("anon", 0),"</td>\n";

	print "<td>",&hlink("<b>ACL OK option?</b>","aclok"),"</td>\n";
	printf "<td nowrap><input type=radio name=aclok value=1 %s> Yes\n",
		defined($options{"aclok"}) ? "checked" : "";
	printf "<input type=radio name=aclok value=0 %s> No</td> </tr>\n",
		!defined($options{"aclok"}) ? "checked" : "";

	if ($gconfig{'os_version'} >= 7) {
		print "<tr> <td>",&hlink("<b>WebNFS share?</b>","public"),"</td>\n";
		printf "<td nowrap><input type=radio name=public value=1 %s> Yes\n",
			defined($options{"public"}) ? "checked" : "";
		printf "<input type=radio name=public value=0 %s> No</td>\n",
			!defined($options{"public"}) ? "checked" : "";

		print "<td>",&hlink("<b>WebNFS index file</b>","index"),"</td>\n";
		printf "<td nowrap><input type=radio name=index_def value=1 %s> None\n",
			defined($options{"index"}) ? "" : "checked";
		printf "<input type=radio name=index_def value=0 %s>\n",
			defined($options{"index"}) ? "checked" : "";
		printf "<input name=index size=10 value=\"%s\"></td> </tr>\n",
			$options{"index"};
		}

	print "</table></td> </tr></table><p>\n";
	}

if ($s ne "") {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=Save></td>\n";
	print "</form><form action=\"delete_share.cgi\">\n";
	print "<input type=hidden name=idx value=\"$s\">\n";
	print "<td align=right><input type=submit value=Delete></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=Create></form><p>\n";
	}
print "<hr>\n";
&footer("", "list of shares");

 07070100012ec4000041ed0000000000000001000000023d1ffa0800000000000000200000000000000000000000000000001400000003reloc/dfsadmin/help   07070100012ec5000081a40000000000000002000000013d1fe2b8000000cf000000200000000000000000000000000000002200000003reloc/dfsadmin/help/aclok.ca.html <header>Opció ACL Ok</header>

Si aquesta opció està establerta, els clients NFS que no suporten les
ACLs de Solaris, tiandran accés de lectura a un fitxer si qualsevol
usuari hi té permís de lectura.
<hr>

 07070100012ec6000081a40000000000000002000000013d1fe2b8000000d8000000200000000000000000000000000000002200000003reloc/dfsadmin/help/aclok.es.html <header>¿Opción Ok de ACL?</header>

Si se activa esta opción, los clientes NFS que no pueden soportar los ACLs
de Solaris tendrán acceso de lectura a un archivo si cualquier usuario
tiene permisos de lectura.
<hr>

07070100012ec7000081a40000000000000002000000013d1fe2b8000000de000000200000000000000000000000000000002200000003reloc/dfsadmin/help/aclok.fr.html <header>Contrôle de Niveau d'Accès Correct?</header>

Si cette option est choisie, les clients NFS qui ne supporte pas les contrôles d'accès seront autorisés a lire les fichiers, si les permissions le permettent.
<hr>
  07070100012ec8000081a40000000000000002000000013d1fe2b8000000b3000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/aclok.html    <header>ACL Ok Option?</header>

If this option is set, NFS clients that cannot support Solaris ACLs will
be allowed read access to a file if any user has read permissions.
<hr>

 07070100012ec9000081a40000000000000002000000013d1fe2b8000000c1000000200000000000000000000000000000002200000003reloc/dfsadmin/help/aclok.pl.html <header>Opcja ACL Ok?</header>

Je¶li w³±czono tê opcjê, klienci NFS nie obs³uguj±cy ACL-i Solarisa
uzyskaj± prawo odczytu pliku, o&nbsp;ile jakikolwiek u¿ytkownik posiada
prawo odczytu.
<hr>

   07070100012eca000081a40000000000000002000000013d1fe2b8000000a9000000200000000000000000000000000000002200000003reloc/dfsadmin/help/aclok.sv.html <header>ACL Ok?</header>

Om du har valt detta kommer NFS-klienter som inte stödjer Solaris-ACLer
att kunna läsa alla filer som överhuvudtaget har läsrättigheter.
<hr>

   07070100012ecb000081a40000000000000002000000013d1fe2b800000084000000200000000000000000000000000000002a00000003reloc/dfsadmin/help/aclok.zh_TW.Big5.html <header>ACL ½T»{¿ï¶µ?</header>

¦pªG³]©w³o­Ó¿ï¶µ, ©Ò¦³¤£¤ä´© Solaris ¦s¨ú±±¨î¦Cªíªº NFS ±±¨îºÝ±N¥i¥HÅª¨ú¥ô¦ó¦³Åª¨úÅv­­ªºÀÉ®×.
<hr>

07070100012ecc000081a40000000000000002000000013d1fe2b8000000fa000000200000000000000000000000000000002100000003reloc/dfsadmin/help/anon.ca.html  <header>Usuari Anònim</header>

Quan l'usuari <tt>root</tt> d'un client que no està a la llista d'
<a href=root>Accés Root</a> accedeix fitxers d'aquest recurs,
l'usuari d'<a href=root>Accés Root</a> serà tractat com l'usuari
seleccionat aquí.
<hr>

  07070100012ecd000081a40000000000000002000000013d1fe2b8000000f8000000200000000000000000000000000000002100000003reloc/dfsadmin/help/anon.es.html  <header>Usuario Anónimo</header>

Cuando el usuario root de un cliente que no está en la lista de
<a href=root.es>Acceso de Root</a> accede a archivos de esta compartición,
el usuario root será tratado como el usuario que seleccionemos aquí.
<hr>

07070100012ece000081a40000000000000002000000013d1fe2b8000000e4000000200000000000000000000000000000002100000003reloc/dfsadmin/help/anon.fr.html  <header>Usager Anonyme</header>

Quand l'usager 'root' sur un client qui n'a pas <a href=root>l'Accès Root</a> dans la liste d'accès aux fichiers de ce partage, l'usager root sera traité comme l'usager sélectionné ici.
<hr>
07070100012ecf000081a40000000000000002000000013d1fe2b8000000e5000000200000000000000000000000000000001e00000003reloc/dfsadmin/help/anon.html <header>Anonymous User</header>

When the <tt>root</tt> user on a client that is not on the 
<a href=root>Root Access</a> list accesses files on this share, the
<tt>root</tt> user will be treated as the user selected here.
<hr>

   07070100012ed0000081a40000000000000002000000013d1fe2b8000000fc000000200000000000000000000000000000002100000003reloc/dfsadmin/help/anon.pl.html  <header>U¿ytkownik anonimowy</header>

Gdy u¿ytkownik <tt>root</tt> na stacji klienckiej nie znajduj±cej siê na
li¶cie <a href=root>Dostêpu dla root-a</a> uzyskuje dostêp do plików tego
zasobu, bêdzie on traktowany jako zaznaczony tu u¿ytkownik.
<hr>

07070100012ed1000081a40000000000000002000000013d1fe2b8000000f5000000200000000000000000000000000000002100000003reloc/dfsadmin/help/anon.sv.html  <header>Anonym användare</header>

Om en root på en klient som inte finns på <a href=root>Root-tillgång</a>-listanförsöker komma åt filer på denna delade resurs, kommer denna root att ha samma rättigheter som den användare du angivit här.
<hr>

   07070100012ed2000081a40000000000000002000000013d1fe2b800000086000000200000000000000000000000000000002900000003reloc/dfsadmin/help/anon.zh_TW.Big5.html  <header>°Î¦W¨Ï¥ÎªÌ</header>

·í«È¤áºÝªº root ¨Ï¥ÎªÌ¤£¦b <a href=root>Root ¦s¨ú</a>¦Cªí¤¤®É, ³o­Ó root ±N³Q·í§@³oÃä¿ï¾Üªº¨Ï¥ÎªÌ.
<hr>

  07070100012ed3000081a40000000000000002000000013d1fe2b80000006c000000200000000000000000000000000000002900000003reloc/dfsadmin/help/create_share.ca.html  <header>Creació d'un Recurs NFS</header>

Aquest formulari permet crear un nou recurs NFS.

<include share>
07070100012ed4000081a40000000000000002000000013d1fe2b800000080000000200000000000000000000000000000002900000003reloc/dfsadmin/help/create_share.es.html  <header>Creando una Compartición NFS</header>

Este formulario te permite crear una nueva compartición NFS.

<include share.es>
07070100012ed5000081a40000000000000002000000013d1fe2b800000075000000200000000000000000000000000000002900000003reloc/dfsadmin/help/create_share.fr.html  <header>Créer un Partage NFS</header>

Cette page vous permet de créer un nouveau partage NFS.

<include share>
   07070100012ed6000081a40000000000000002000000013d1fe2b800000069000000200000000000000000000000000000002600000003reloc/dfsadmin/help/create_share.html <header>Creating an NFS Share</header>

This form allows you to create a new NFS share.

<include share>
   07070100012eda000081a40000000000000002000000013d1fe2b80000009d000000200000000000000000000000000000002000000003reloc/dfsadmin/help/des.ca.html   <header>Els clients han d'utilitzar DES</header>

Aquesta opció determina si els clients NFS han d'utilitzar autenticació
DES en muntar aquest recurs.
<hr>

   07070100012ed7000081a40000000000000002000000013d1fe2b800000072000000200000000000000000000000000000002900000003reloc/dfsadmin/help/create_share.pl.html  <header>Tworzenie zasobu NFS</header>

Za pomoc± tego formularza mo¿esz utworzyæ nowy zasób NFS.

<include share>
  07070100012ed8000081a40000000000000002000000013d1fe2b800000067000000200000000000000000000000000000002900000003reloc/dfsadmin/help/create_share.sv.html  <header>Skapa en NFS-resurs</header>

I detta formulär kan du skapa en ny NFS-resurs.

<include share>
 07070100012ed9000081a40000000000000002000000013d1fe2b800000060000000200000000000000000000000000000003100000003reloc/dfsadmin/help/create_share.zh_TW.Big5.html  <header>«Ø¥ß NFS ÀÉ®×¤À¨É</header>

³o­Óªí³æ¥i¥HÅý±z«Ø¥ß¤@­Ó·sªº NFS ÀÉ®×¤À¨É.

<include share>
07070100012edb000081a40000000000000002000000013d1fe2b8000000ad000000200000000000000000000000000000002000000003reloc/dfsadmin/help/des.es.html   <header>¿Deben los Clientes de Utilizar DES?</header>

Esta opción determina si los clientes NFS deben de utilizar autentificación
DES cuando montan una compartición.
<hr>

   07070100012edc000081a40000000000000002000000013d1fe2b8000000b0000000200000000000000000000000000000002000000003reloc/dfsadmin/help/des.fr.html   <header>Les Clients Doivent Utiliser DES?</header>

Cette option détermine si les clients NFS doivent utiliser l'authentification DES au moments de monter le partage.
<hr>
07070100012edd000081a40000000000000002000000013d1fe2b80000008a000000200000000000000000000000000000001d00000003reloc/dfsadmin/help/des.html  <header>Clients Must Use DES?</header>

This option determines if NFS clients must use DES authentication when
mounting this share.
<hr>

  07070100012ede000081a40000000000000002000000013d1fe2b8000000a6000000200000000000000000000000000000002000000003reloc/dfsadmin/help/des.pl.html   <header>Klienci musz± korzystaæ z&nbsp;DES?</header>

Ta opcja okre¶la, czy klienci NFS-u musz± korzystaæ z&nbsp;autoryzacji
DES podczas montowania tego zasobu.
<hr>
  07070100012edf000081a40000000000000002000000013d1fe2b800000094000000200000000000000000000000000000002000000003reloc/dfsadmin/help/des.sv.html   <header>Måste klienter använda DES?</header>

Här ställer du in om NFS-klienter måste använda DES-autentisering när de monterar denna resurs.
<hr>

07070100012ee0000081a40000000000000002000000013d1fe2b800000070000000200000000000000000000000000000002800000003reloc/dfsadmin/help/des.zh_TW.Big5.html   <header>«È¤áºÝ¬O§_¥²¶·¨Ï¥Î DES?</header>

³o­Ó¿ï¶µ¨M©w NFS «È¤áºÝ¦A±¾¸ü³o­Ó¤À¨É®É, ¬O§_¥²¶·¨Ï¥Î DES »{ÃÒ.
<hr>

07070100012ee1000081a40000000000000002000000013d1fe2b80000005a000000200000000000000000000000000000002100000003reloc/dfsadmin/help/desc.ca.html  <header>Descripció</header>

Una breu descripció humanament legible d'aquest recurs
<hr>

  07070100012ee2000081a40000000000000002000000013d1fe2b800000060000000200000000000000000000000000000002100000003reloc/dfsadmin/help/desc.es.html  <header>Descripción</header>

Una breve descripción humánamente legible para esta carpeta
<hr>

07070100012ee3000081a40000000000000002000000013d1fe2b80000004c000000200000000000000000000000000000002100000003reloc/dfsadmin/help/desc.fr.html  <header>Description</header>

Une petite description de ce partage
<hr>
07070100012ee4000081a40000000000000002000000013d1fe2b800000056000000200000000000000000000000000000001e00000003reloc/dfsadmin/help/desc.html <header>Description</header>

A short human-readable description for this share
<hr>

  07070100012ee5000081a40000000000000002000000013d1fe2b80000005d000000200000000000000000000000000000002100000003reloc/dfsadmin/help/desc.pl.html  <header>Opis</header>

Krótka, czytelna dla u¿ytkownika informacja o&nbsp;tym zasobie.
<hr>

   07070100012ee6000081a40000000000000002000000013d1fe2b800000045000000200000000000000000000000000000002100000003reloc/dfsadmin/help/desc.sv.html  <header>Beskrivning</header>

Kort beskrivning av denna resurs
<hr>

   07070100012ee7000081a40000000000000002000000013d1fe2b80000003e000000200000000000000000000000000000002900000003reloc/dfsadmin/help/desc.zh_TW.Big5.html  <header>»¡©ú</header>

¤@­Óµ¹³o­Ó¤À¨ÉÂ²µuªº, ©öÅªªº»¡©ú
<hr>

  07070100012ee8000081a40000000000000002000000013d1fe2b8000000a6000000200000000000000000000000000000002000000003reloc/dfsadmin/help/dir.ca.html   <header>Directori</header>

Aquest és el directori que s'exporta. Els clients NFS poden muntar 
aquest directori, i possiblement altres fitxers per sota d'ell.
<hr>

  07070100012ee9000081a40000000000000002000000013d1fe2b8000000c8000000200000000000000000000000000000002000000003reloc/dfsadmin/help/dir.es.html   <header>Directorio</header>

Este es el directorio que es exportado. Los clientes NFS pueden montar
este directorio y posiblemente cualquiera otros archivos o subdirectorios
que cuelguen de él.
<hr>

07070100012eea000081a40000000000000002000000013d1fe2b8000000c9000000200000000000000000000000000000002000000003reloc/dfsadmin/help/dir.fr.html   <header>Répertoire</header>

Ceci est le répertoire qui sera partagé.  Les clients NFS peuvent monter ce répertoire et possiblement tous les autres fichiers et sous-répertoires à l'intérieur.
<hr>
   07070100012eeb000081a40000000000000002000000013d1fe2b8000000a7000000200000000000000000000000000000001d00000003reloc/dfsadmin/help/dir.html  <header>Directory</header>

This is the directory being exported. NFS clients may mount
this directory, and possibly any other files or subdirectories under it.
<hr>

 07070100012eec000081a40000000000000002000000013d1fe2b8000000b2000000200000000000000000000000000000002000000003reloc/dfsadmin/help/dir.pl.html   <header>Katalog</header>

Jest to udostêpniany katalog. Klienci NFS-u mog± montowaæ ten katalog,
jak te¿ zapewne wszystkie pliki i&nbsp;katalogi w&nbsp;g³±b tego katalogu.
<hr>

  07070100012eed000081a40000000000000002000000013d1fe2b80000009b000000200000000000000000000000000000002000000003reloc/dfsadmin/help/dir.sv.html   <header>Katalog</header>

Det är denna katalog som ska exporteras. NFS-klienter kan montera katalogen
och eventuella filer och underkataloger i den.
<hr>

 07070100012eee000081a40000000000000002000000013d1fe2b800000069000000200000000000000000000000000000002800000003reloc/dfsadmin/help/dir.zh_TW.Big5.html   <header>¥Ø¿ý</header>

³o¬O±N­n³Q¤À¨Éªº¥Ø¿ý. NFS «È¤áºÝ¥i¥H±¾¸ü³o­Ó¥Ø¿ý©Î¦b¨ä¤Uªº¨ä¥LÀÉ®×©Î¤l¥Ø¿ý.
<hr>

   07070100012eef000081a40000000000000002000000013d1fe2b80000007e000000200000000000000000000000000000002700000003reloc/dfsadmin/help/edit_share.ca.html    <header>Edició de Recurs NFS</header>

Aquest formulari permet editar els detalls d'un recurs NFS existent.

<include share>

  07070100012ef0000081a40000000000000002000000013d1fe2b800000097000000200000000000000000000000000000002700000003reloc/dfsadmin/help/edit_share.es.html    <header>Editando una compartición NFS</header>

Este formulario te permite editar los detalles de una compartición NFS
existente.

<include share.es>

 07070100012ef1000081a40000000000000002000000013d1fe2b800000084000000200000000000000000000000000000002700000003reloc/dfsadmin/help/edit_share.fr.html    <header>Éditer un Partage NFS</header>

Cette page vous permet d'éditer les détails d'un partage NFS existant

<include share>
07070100012ef2000081a40000000000000002000000013d1fe2b80000007c000000200000000000000000000000000000002400000003reloc/dfsadmin/help/edit_share.html   <header>Editing an NFS Share</header>

This form allows you to edit the details of an existing NFS share.

<include share>

07070100012ef3000081a40000000000000002000000013d1fe2b80000007e000000200000000000000000000000000000002700000003reloc/dfsadmin/help/edit_share.pl.html    <header>Zmiana zasobu NFS</header>

Za pomoc± tego formularza mo¿esz zmieniæ dane instniej±cego zasobu NFS.

<include share>

  07070100012ef4000081a40000000000000002000000013d1fe2b800000073000000200000000000000000000000000000002700000003reloc/dfsadmin/help/edit_share.sv.html    <header>Ändra en NFS-resurs</header>

I detta formulär kan du ändra uppgifter för en NFS-resurs.

<include share>

 07070100012ef5000081a40000000000000002000000013d1fe2b800000067000000200000000000000000000000000000002f00000003reloc/dfsadmin/help/edit_share.zh_TW.Big5.html    <header>½s¿è¤@­Ó NFS ¤À¨É</header>

³o­Óªí³æ¥i¥HÅý±z½s¿è¤@­Ó²{¦s NFS ¤À¨Éªº¸Ô²Ó¸ê®Æ.

<include share>

 07070100012ef6000081a40000000000000002000000013d1fe2b8000000fd000000200000000000000000000000000000002200000003reloc/dfsadmin/help/index.ca.html <header>Fitxer índex WebNFS</header>

Si aquest recurs està disponible via WebNFS, aquesta opció permet 
establir el nom del fitxer que es retornarà si es fa una petició
d'un directori. Típicament, això és alguna cosa com ara <tt>index.html</tt>.
<hr>

   07070100012ef7000081a40000000000000002000000013d1fe2b800000122000000200000000000000000000000000000002200000003reloc/dfsadmin/help/index.es.html <header>Archivo índice de WebNFS</header>

Si esta compartición es puesta como disponible a través de WebNFS, esta
opción  te permite poner el nombre del archivo que será devuelto si se
realiza un requerimiento para un directorio. Típicamente esto será algo
como <tt>index.html</tt>.
<hr>

  07070100012ef8000081a40000000000000002000000013d1fe2b800000107000000200000000000000000000000000000002200000003reloc/dfsadmin/help/index.fr.html <header>Fichier Index WebNFS</header>

Si ce partage est accessible via WebNFS, cette option vous permet de définir le nom du fichier qui va être retourné si une requête est faite sur ce répertoire.  Généralement quelque chose comme <tt>index.html</tt>.
<hr>
 07070100012ef9000081a40000000000000002000000013d1fe2b800000100000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/index.html    <header>WebNFS index file</header>

If this share is made available via WebNFS, this option allows you to
set the name of the file that will be returned if a request is made for
a directory. Typically this will be something like <tt>index.html</tt>.
<hr>

07070100012efa000081a40000000000000002000000013d1fe2b80000010e000000200000000000000000000000000000002200000003reloc/dfsadmin/help/index.pl.html <header>Plik indeksowy WebNFS-u</header>

Je¶li ten zasób zosta³ udostêpniony poprzez WebNFS, niniejsza opcja pozwoli
Ci na okre¶lenie nazwy pliku zwracanego wówczas, gdy otrzymane ¿±danie
dotyczy katalogu. Zazwyczaj jest to co¶ w&nbsp;rodzaju <tt>index.html</tt>.
<hr>
  07070100012efb000081a40000000000000002000000013d1fe2b8000000f7000000200000000000000000000000000000002200000003reloc/dfsadmin/help/index.sv.html <header>WebNFS-indexfil</header>

Om denna resurs görs tillgänglig via WebNFS gör denna inställning att du kan namnge den fil som returneras som svar vid förfrågningar om kataloger.
Vanligen heter filen något i stil med <tt>index.html</tt>.
<hr>

 07070100012efc000081a40000000000000002000000013d1fe2b8000000a4000000200000000000000000000000000000002a00000003reloc/dfsadmin/help/index.zh_TW.Big5.html <header>WebNFS ¯Á¤ÞÀÉ®×</header>

¦pªG³o­Ó¤À¨É¬O³]¦¨¥i¥H³q¹L WebNFS ¤À¨É, ³o­Ó¿ï¶µ¥i¥HÅý±z³]©w¹ï¥Ø¿ý¦³­n¨D®É¦^À³ªºÀÉ®×. ¤@¯ë¦Ó¨¥³£·|³]¦¨ <tt>index.html</tt>.
<hr>

07070100012efd000081a40000000000000002000000013d1fe2b80000044a000000200000000000000000000000000000002200000003reloc/dfsadmin/help/intro.ca.html <header>Introducció als Recursos NFS</header>

<include nfs>

<h3>NFS de Solaris</h3>
Aquest mòdul permet configurar els directoris (dits <i>recursos</i> 
en Solaris) exportats a través de NFS des del sistema. La primera pàgina
mostra una llista de directoris i els clients als quals s'exporten,
cosa que permet clicar el nom d'un directori i editar-ne les opcions
o iniciar la compartició d'un nou directori. <p>

Sota la llista de recursos de la primera pàgina, hi ha un botó que
farà activa la configuració actual. Això es fa aturant els processos
NFS servidors i tornant-los a iniciar. <p>

Solaris no permet reexportar un directori NFS muntat des d'un altre
servidor - només es poden exportar els directoris dels sistemes de
fitxers locals. Si un directori compartit conté el punt de muntatge 
d'un altre sistema de fitxers local, els clients NFS d'aquest recurs
no veuran cap fitxer per sota d'aquest punt de muntage.
El servidor ha de reexportar cada sistema de fitxers local de forma
separada, per tal que els clients el muntin en el punt correcte de
la jerarquia de directoris. <p>

<hr>

  07070100012efe000081a40000000000000002000000013d1fe2b8000004c0000000200000000000000000000000000000002200000003reloc/dfsadmin/help/intro.es.html <header>Introducción a Comparticiones NFS</header>

<include nfs.es>

<h3>NFS de Solaris</h3>
Este módulo te permite configurar directorios (llamados <i>comparticiones</i>
en Solaris) para ser exportados vía NFS desde tu sistema Solaris. La
primera página muestra un lista de los directorios y de los clientes a los
que han sido exportados, permitiéndote hacer click en el nombre del
directorio para editar sus opciones o empezar a compartir un nuevo
directorio. <p>

Bajo la lista de comparticiones de la primera página hay un botón que
hará que la configuración en curso quede activa. Esto se realiza parando
y rearrancando los procesos del servidor NFS en curso. <p>

Solaris no te permite reexportar un directorio NFS montado desde
otro servidor - sólamente los directorios pertenecientes a sistemas de
archivos pueden ser exportados. Si un directorio compartido contiene
el punto de montaje de otro sistema de archivos local, los clientes
NFS de esta compartición no verán los archivos por debajo del punto de
montaje. El servidor debe de reexportar cada sistema de archivos local
por separado para que puedan ser montados por los clientes en el punto
correcto dentro de la jerarquía del directorio. <p>

<hr>

07070100012eff000081a40000000000000002000000013d1fe2b8000003c7000000200000000000000000000000000000002200000003reloc/dfsadmin/help/intro.fr.html <header>Introduction au Partage NFS</header>

<include nfs>

<h3>NFS de Solaris</h3>
Ce module vous permet de configurer des répertoires (appelé <i>partages</i> dans Solaris) partagé par NFS à partir de votre système Solaris.  Cette première page affiche une liste des répertoires et des clients à qui ils sont partagés, vous permettant de cliquer sur le nom de répertoire pour éditer ses options ou pour créer un partage d'un nouveau répertoire.<p>

Sous la liste des partages de la première page se trouve un bouton qui permet d'activer la configuration en arrêtant le processus du serveur NFS et en le redémarrant.<p>

Solaris ne vous permet pas de repartager un répertoire déjà monté par NFS d'un autre serveur, seulement des répertoires du système de fichier local peuvent être partagé. Si un répertoire partagé contient le point de montage d'un système de fichier NFS d'un autre hôte, les clients ne verront pas les fichiers à l'intérieur.<p>

<hr>
 07070100012f00000081a40000000000000002000000013d1fe2b8000003ec000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/intro.html    <header>Introduction to NFS Shares</header>

<include nfs>

<h3>Solaris NFS</h3>
This module allows you to configure directories (called <i>shares</i>
in Solaris) exported via NFS from your Solaris system. The first page
shows a list of directories and the clients they are exported to, allowing
you to click on the directory name to edit its options or start sharing 
a new directory. <p>

Below the list of shares on the first page is a button which will
make the current configuration active. This is done by stopping and
starting the running NFS server processes. <p>

Solaris does not allow you to re-export a directory NFS mounted from
another server - only directories on local filesystems can be exported. If
a shared directory contains the mount point of another local filesystem,
NFS clients of that share will not see files below that mount point.
The server must re-export each local filesystem separately, to be
mounted by clients at the correct point in the directory hierarchy. <p>

<hr>

07070100012f01000081a40000000000000002000000013d1fe2b800000471000000200000000000000000000000000000002200000003reloc/dfsadmin/help/intro.pl.html <header>Wprowadzenie do zasobów NFS-u</header>

<include nfs>

<h3>NFS Solarisa</h3>
Za pomoc± tego modu³u mo¿esz okre¶liæ katalogi (zwane w&nbsp;Solarisie
<i>share</i>) udostêpniane przez Twój system Solarisa za po¶rednictwem NFS-u
Na pierwszej stronie uka¿e siê lista katalogów i&nbsp;stacji klienckich,
dla których nastêpuje udostêpnianie. Klikaj±c nazwê katalogu mo¿esz zmieniæ
jego opcje lub rozpocz±æ udostêpnianie nowego katalogu. <p>

Poni¿ej listy zasobów na tej samej stronie znajduje siê przycisk uaktywniaj±cy
bie¿±c± konfiguracjê. Dzieje siê to przez zatrzymanie i&nbsp;ponowne
uruchomienie dzia³aj±cych procesów serwera NFS-u. <p>

Solaris nie pozwala na ponowne udostêpnianie katalogu zamontowanego poprzez
NFS z&nbsp;innego serwera - mo¿na udostêpniaæ jedynie katalogi na lokalnych
systemach plików. Je¿eli udostêpniany katalog zawiera punkt montowania
innego lokalnego sustemu plików, klienci NFS-u dla tego zasobu nie zobacz±
plików poni¿ej punktu montowania. Serwer musi udostêpniaæ ka¿dy lokalny
system plików osobno w&nbsp;celu zamontowania przez stacjê klienck± we
w³a¶ciwym punkcie jej drzewa katalogów. <p>

<hr>
   07070100012f02000081a40000000000000002000000013d1fe2b8000003b4000000200000000000000000000000000000002200000003reloc/dfsadmin/help/intro.sv.html <header>Introduktion till NFS-resurser</header>

<include nfs>

<h3>Solaris NFS</h3>
I denna modul kan du göra inställningar för kataloger (<i>resurser</i>
i Solaris) som exporteras via NFS från ditt Solaris-system. Den första
sidan innehåller en lista över kataloger och de klienter som de exporteras
till. Klicka på ett katalognamn för att ändra dess inställningar eller
för att börja exportera en ny katalog.

<p>Nedanför listan finns en knapp för att ta inställningarna i drift.
Detta sker genom att alla NFS-serverprocesser stannas och startas om.

<p>Solaris tillåter inte exportering av kataloger som NFS-monteras från
en annan server, utan endast från filsystemen. Om en katalog innehåller
en monteringspunkt för ett annat lokalt filsystem kan NFS-klienterna inte
visa filerna bortom denna punkt. Servern måste exportera varje lokalt
filsystem separat och klienterna får se till att montera dem på rätt
ställe i kataloghierarkin.

<p><hr>

07070100012f03000081a40000000000000002000000013d1fe2b800000290000000200000000000000000000000000000002a00000003reloc/dfsadmin/help/intro.zh_TW.Big5.html <header>NFS ¤À¨ÉªºÂ²¤¶</header>

<include nfs>

<h3>Solaris NFS</h3>
³o­Ó¼Ò²Õ¥i¥HÅý±z²ÕºA±q±zªº Solaris ¨t²Î¤¤³z¹L NFS ¶×¥Xªº¥Ø¿ý (¦b Solaris ¤¤¥s°µ<i>¤À¨É</i>). ²Ä¤@­¶Åã¥Ü¥X¥Ø«e¤w¸g³]©wªº¥Ø¿ý»P¥i¥H±µ¨ü¶×¥Xªº«È¤áºÝ, ¤]¤¹³\±zª½±µÂI¿ï¥Ø¿ý¦WºÙ¥H½s¿è¬ÛÃöªº¿ï¶µ; ©Î³]©w¤@­Ó·sªº¤À¨É¥Ø¿ý. <p>

¦b¤À¨É¦Cªí¤U­±ªº«ö¶s±N¥i¥H¨Ï¥Ø«eªº³]©w¥Í®Ä. ³o¬O¸g¥Ñ°±¤î¨Ã­«·s±Ò°Ê°õ¦æ¤¤ªº NFS ¦øªA¾¹µ{§Ç¥H¹F¦¨ªº. <p>

Solaris ¨Ã¤£¤¹³\±z­«·s¶×¥X¤@­Ó¸g¥Ñ NFS ±¾¸üªº¥Ø¿ý - ¥u¦³¦b¥»¦aºÝÀÉ®×¨t²Î¤W­±ªº¥Ø¿ý¥i¥H³Q¶×¥X. ¦pªG¤@­Ó¤À¨Éªº¥Ø¿ý¥]§t¤F±q¨ä¥L¥»¦aºÝÀÉ®×¨t²Î±¾¸üªº¥Ø¿ý, NFS «È¤áºÝ±NµLªk¬Ý¨ì¸Ó±¾¸üÂI¤U­±ªºÀÉ®×. ¦øªA¾¹¥²¶·¤À§Oªº±N¨C­ÓÀÉ®×¨t²Î¿W¥ß¶×¥X, «È¤áºÝ¤]¥²¶·¤À§Oªº±¾¸ü. <p>

<hr>

07070100012f04000081a40000000000000002000000013d1fe2b8000000a8000000200000000000000000000000000000002500000003reloc/dfsadmin/help/kerberos.ca.html  <header>Els clients han d'utilizar Kerberos</header>

Aquesta opcio determina si els clients NFS han de fer servir autenticació
Kerberos en muntar aquest recurs.
<hr>

07070100012f05000081a40000000000000002000000013d1fe2b8000000b3000000200000000000000000000000000000002500000003reloc/dfsadmin/help/kerberos.es.html  <header>¿Deben los Clientess de Usar Kerberos?</header>

Esta opción determina si los clientes NFS deben de usar la autentificación
Kerberos cuando montan una compartición.
<hr>

 07070100012f06000081a40000000000000002000000013d1fe2b8000000b9000000200000000000000000000000000000002500000003reloc/dfsadmin/help/kerberos.fr.html  <header>Les Clients Doivent Utiliser Kerberos?</header>

Cette option détermine si les clients NFS doivent utiliser l'authentification Kerberos au moment de monter un partage.
<hr>
   07070100012f07000081a40000000000000002000000013d1fe2b800000094000000200000000000000000000000000000002200000003reloc/dfsadmin/help/kerberos.html <header>Clients Must Use Kerberos?</header>

This option determines if NFS clients must use Kerberos authentication when
mounting this share.
<hr>

07070100012f08000081a40000000000000002000000013d1fe2b8000000ae000000200000000000000000000000000000002500000003reloc/dfsadmin/help/kerberos.pl.html  <header>Klienci musz± korzystaæ z&nbsp;Kerberosa?</header>

Ta opcja okre¶la, czy klienci NFS-u musz± korzystaæ z autoryzacji Kerberosa
podczas montowania tego zasobu.
<hr>

  07070100012f09000081a40000000000000002000000013d1fe2b8000000a0000000200000000000000000000000000000002500000003reloc/dfsadmin/help/kerberos.sv.html  <header>Måste klienterna använda Kerberos?</header>

Här ställer du in om NFS-klienter måste använda Kerberos-autentisering när de monterar denna resurs.
<hr>

07070100012f0a000081a40000000000000002000000013d1fe2b80000007a000000200000000000000000000000000000002d00000003reloc/dfsadmin/help/kerberos.zh_TW.Big5.html  <header>«È¤áºÝ¬O§_¥²¶·¨Ï¥Î Kerberos?</header>

³o­Ó¿ï¶µ¨M©w NFS «È¤áºÝ©ó±¾¸ü³o­Ó¤À¨É®É, ¬O§_¥²¶·¨Ï¥Î Kerberos »{ÃÒ.
<hr>

  07070100012f0b000081a40000000000000002000000013d1fe2b8000004d0000000200000000000000000000000000000002000000003reloc/dfsadmin/help/nfs.ca.html   <h3>Introducció a NFS</h3>

NFS és el protocol estàndard de compartició de fitxers dels sistemes Unix.
NFS permet que un sistema exporti un directori a través de la xarxa a un
o més hosts, cosa que permet els usuaris i programes d'aquests hosts
d'accedir aquests fitxers exportats com si fossin locals. <p>

Un servidor NFS és un sistema que exporta un o més directoris, mentre que
un client NFS és un sistema que munta un o més directoris des d'un servidor.
Un host pot ser al mateix temps un servidor NFS i un client d'un altre
servidor .<p>

Un servidor controla quins clients poden muntar un directori exportat
comprovant l'adreça IP del client contra una llista de hosts permesos
per al directori en qüestió. El servidor també pot establir que una
exportació sigui només lectura, o només lectura per a certs clients. <p>

Contràriament a altres sistemes de fitxers de xarxa. un client NFS no ha
de subministrar la contrasenya al servidor per muntar un directori exportat.
El servidor confia que els usuaris ja són autenticats pel client, i 
subministra l'ID de l'usuari actual quan aquest accedeix als fitxers
exportats. Així doncs, és convenient que només els hosts client fiables
puguin muntar els directoris exportats. <p>

07070100012f0c000081a40000000000000002000000013d1fe2b80000051d000000200000000000000000000000000000002000000003reloc/dfsadmin/help/nfs.es.html   <h3>Introducción a NFS</h3>

NFS es el protocolo estándar de compartición de archivos utilizado por los
sistemas Unix. NFS permite que un sistema exporte un directorio a través
de la red a una o más máquinas, permitiendo a los usuarios y programas de
esas máquinas acceder a los archivos exportados como si fueran locales. <p>

Un servidor NFS es un sistema que exporta uno o más directorios, mientras
que un cliente NFS es un sistema que monta uno o más directorios del
servidor. Una máquina puede ser a la vez servidora NFS y cliente de otros
servidores. <p>

Un servidor controla qué clientes pueden montar un directorio exportado
mediante el chequeo de la dirección IP del cliente contra una lista de
máquinas autorizadas a realizar requerimientos de ese directorio. El
servidor puede tambien designar una exportación como de sólo-lectura o
de sólo-lectura para ciertos clientes. <p>

Al contrario de otros sistemas de archivo de red, un cliente NFS no tiene
que hacer login en el servidor cuando monta un directorio exportado. El
servidor confía en la propia autentificación del cliente para los usuarios
y provee la ID del usuario en curso para acceder a los archivos exportados.
Por ello, sólo deberías permitir a máquinas cliente de las cuales realmente
te fíes el montar directorios exportados. <p>

   07070100012f0d000081a40000000000000002000000013d1fe2b8000004ae000000200000000000000000000000000000002000000003reloc/dfsadmin/help/nfs.fr.html   <header>Introduction à NFS</header>

NFS est un protocole de partage de fichier standard utilisé sur les systèmes Unix.  NFS permet à un système de partager un répertoire sur un réseau à un autre hôte, permettant aux usagers et applications de l'hôte d'avoir accès aux fichiers partagé.<p>

Un serveur NFS est un système qui partage un ou plusieurs répertoire, tandis qu'un client NFS est un système qui monte un ou plusieurs répertoire d'un serveur.  Un hôte peut autant être client que serveur NFS d'un autre hôte.<p>

Un serveur contrôle quels clients peut monter un répertoire partagé en vérifiant l'adresse IP du client avec la liste des hôtes autorisé pour le répertoire demandé.  Le serveur peu aussi partagé en lecture seule ou désigner certains clients en lecture seulement.<p>

Contrairement aux autre système de fichiers, un client NFS ne nécessite pas d'ouverture de session au serveur pour monter un répertoire partagé.  Le serveur fait confiant au client et authentifie les usagers en leurs donnant un numéro lors de l'accès au fichier partagé.  Ainsi, vous pouvez allouer seulement certain hôte client que vous faites confiance pour monter un répertoire partagé.<p>

<hr>
  07070100012f0e000081a40000000000000002000000013d1fe2b800000445000000200000000000000000000000000000001d00000003reloc/dfsadmin/help/nfs.html  <h3>Introduction to NFS</h3>

NFS is the standard file-sharing protocol used by Unix systems. NFS allows
one system to export a directory across the network to one or more other
hosts, allowing users and programs on those hosts to access exported files
as though they were local. <p>

An NFS server is a system which exports one or more directories, while an NFS
client is a system that mounts one or more directories from a server. A
host can be both an NFS server and a client of other servers. <p>

A server controls which clients can mount an exported directory by checking
the IP address of the client against a list of allowed hosts for the
requested directory. The server can also designate an export read-only,
or read-only for certain clients. <p>

Unlike other network filesystems, an NFS client does not have to login to
the server when mounting an exported directory. The server trusts the client
to authenticate users and provide the ID of the current user when accessing
exported files.  Thus you should only allow client hosts that you trust to
mount exported directories. <p>

   07070100012f0f000081a40000000000000002000000013d1fe2b800000509000000200000000000000000000000000000002000000003reloc/dfsadmin/help/nfs.pl.html   <h3>Wprowadzenie do NFS-u</h3>

NFS jest standardowym protoko³em wspó³dzielenia plików wykorzystywanym przez
systemy uniksowe. Dowolny system mo¿e za po¶rednictwem NFS-u udostêpniæ poprzez
sieæ pewien katalog dla jednego lub wiêcej hostów, pozwalaj±c u¿ytkownikom
oraz programom dzia³aj±cym na tych hostach na dostêp do udostêpnionych plików
tak, jakby by³y to pliki lokalne. <p>

Serwerem NFS-u jest system udostêpniaj±cy jeden lub wiêcej katalogów, za¶
klientem NFS-u jest system, który montuje jeden lub wiêcej katalogów
z&nbsp;serwera. Ka¿dy host mo¿e byæ jednocze¶nie serwerem NFS-u i&nbsp;klientem
innych serwerów.
<p>

Serwer okre¶la, które stacje klienckie mog± zamontowaæ udostêpniony katalog
poprzez porównanie ich adresów IP z&nbsp;listê hostów dopuszczonych do ¿±danego
katalogu. Serwer mo¿e równie¿ okre¶liæ zasób jako tylko do odczytu lub tylko do
odczytu dla pewnych stacji klienckich. <p>

W odró¿nieniu od innych sieciowych systemów plików, klienci NFS-u nie musz±
logowaæ siê do serwera podczas montowania udostêpnionego katalogu. Serwer ufa,
¿e stacje klienckie same autoryzuj± u¿ytkowników dostarczaj±c numer ID
bie¿±cego u¿ytkownika podczas dostêpu do plików. Wobec tego powiniene¶
pozwalaæ na montowanie udostêpnianych zasobów jedynie zaufanym stacjom
klienckim. <p>
   07070100012f10000081a40000000000000002000000013d1fe2b800000477000000200000000000000000000000000000002000000003reloc/dfsadmin/help/nfs.sv.html   <h3>Introduktion till NFS</h3>

NFS är standardprotokollet för fildelning i Unix-system. Med NFS kan
ett system exportera en katalog över nätverket till en eller flera datorer,
så att användare och program på dessa datorer kan komma åt filer som om
de fanns på de lokala datorerna.

<p>En NFS-server är ett system som exporterar en eller flera kataloger
och en NFS-klient är ett system som monterar en eller flera kataloger
från en server. Samma dator kan vara både NFS-server och klient.

<p>Servern bestämmer om en klient får montera en exporterad katalog
genom att kontrollera IP-adressen för klienten mot en lista över
datorer som tillåts montera katalogen i fråga. Servern kan också göra
så att en katalog exporteras med enbart läsrättigheter, för alla klienter
eller vissa, namngivna.

<p>NFS-klienter behöver, till skillnad från andra filsystem över nätverk,
inte logga in på servern då en exporterad katalog ska monteras. Servern
litar på att klienten har kontrollerat användarens identitet och att denna
identitet bifogas förfrågningar. Därför kan det vara dumt att tillåta
montering från klienter som du inte fullständigt litar på.

 07070100012f11000081a40000000000000002000000013d1fe2b8000002a1000000200000000000000000000000000000002800000003reloc/dfsadmin/help/nfs.zh_TW.Big5.html   <h3>NFS Â²¤¶</h3>

NFS ¬O¤@­Ó Unix ¨t²Î©Ò¨Ï¥Îªº¼Ð·ÇÀÉ®×¤À¨É³q°T¨ó©w. NFS ¤¹³\¤@­Ó¨t²Î±N¨ä¥Ø¿ý³z¹Lºô¸ô¤À¨Éµ¹¨ä¥Lªº¥D¾÷, ¤¹³\¦b¨ä¥L¥D¾÷¤Wªº¨Ï¥ÎªÌ©Îµ{¦¡¥i¥H¦s¨ú³Q¶×¥XªºÀÉ®×, ¨Ã»{¬°¸ÓÀÉ®×¬O¦b¥»¦aºÝ¨t²Î¤W.
 <p>

¤@­Ó NFS ¦øªA¾¹¬O¤@­Ó±N¤@­Ó©Î¦h­Ó¥Ø¿ý¶×¥Xªº¨t²Î, NFS «È¤áºÝ«h¬O±q¦øªA¾¹±¾¸ü¤@­Ó©Î¦h­Ó¥Ø¿ýªº¨t²Î. ¤@­Ó¥D¾÷¥i¥H¦P®É¬O NFS ¦øªA¾¹»P¨ä¥L¦øªA¾¹ªº«È¤áºÝ. <p>

¦øªA¾¹¸g¥ÑÀË¬d«È¤áºÝªº IP ¦ì¸m¬O§_¦b¦Cªí¤¤, ¥H¨M©w¸Ó«È¤áºÝ¬O§_¥i¥H±¾¸ü¶×¥Xªº¥Ø¿ý. ¦øªA¾¹¥i¥H¿ï¾Ü¥H°ßÅªªº¤è¦¡©Î¥iÅª¼gªº¤è¦¡¶×¥Xµ¹¯S©wªº«È¤áºÝ. <p>

¤£¹³¨ä¥Lªººô¸ôÀÉ®×¨t²Î, NFS «È¤áºÝ¦A±¾¸ü¥Ø¿ý®É, ¤£»Ý­nµn¤J¨ì¦øªA¾¹¤¤. ¦øªA¾¹±N«H¥ô¥i¥H¦s¨ú«È¤áºÝ¨t²Îªº¨Ï¥ÎªÌ¦s¨ú¶×¥Xªº¥Ø¿ý.©Ò¥H±zÀ³¸Ó¥u±N¥Ø¿ý¶×¥Xµ¹¥i«H¥ôªº¨t²Î. <p>

   07070100012f12000081a40000000000000002000000013d1fe2b8000000bd000000200000000000000000000000000000002300000003reloc/dfsadmin/help/public.ca.html    <header>Recurs WebNFS</header>

Si aquest opció està posada, aquest recurs estarà disponible per als
clients WebNFS. Només es pot designar un recurs per servidor com a
recurs WebNFS.
<hr>

   07070100012f13000081a40000000000000002000000013d1fe2b8000000e1000000200000000000000000000000000000002300000003reloc/dfsadmin/help/public.es.html    <header>¿Compartición WebNFS?</header>

Si se activa esta opción, esta compartición será puesta como disponible
para los clientes WebNFS. Sólo una compartición por servidor puede ser
designada como compartición WebNFS.
<hr>

   07070100012f14000081a40000000000000002000000013d1fe2b8000000ae000000200000000000000000000000000000002300000003reloc/dfsadmin/help/public.fr.html    <header>Partage NFS?</header>

Si cette option est choisie, ce partage va être disponible aux clients WebNFS.  Seul un partage par serveur peut être désigné WebNFS.
<hr>
  07070100012f15000081a40000000000000002000000013d1fe2b8000000b0000000200000000000000000000000000000002000000003reloc/dfsadmin/help/public.html   <header>WebNFS share?</header>

If this option is set, this share will be made available to WebNFS clients.
Only one share per server can be designated the WebNFS share.
<hr>

07070100012f16000081a40000000000000002000000013d1fe2b8000000c6000000200000000000000000000000000000002300000003reloc/dfsadmin/help/public.pl.html    <header>Zasób WebNFS-u?</header>

Je¶li zaznaczono tê opcjê, niniejszy zasób bêdzie dostêpny dla klientów
WebNFS-u. Tylko jeden z&nbsp;zasobów serwera mo¿e byæ wyznaczony jako zasób
WebNFS-u.
<hr>

  07070100012f17000081a40000000000000002000000013d1fe2b8000000ad000000200000000000000000000000000000002300000003reloc/dfsadmin/help/public.sv.html    <header>WebNFS-resurs?</header>

Om du väljer "ja", kommer denna resurs att göras tillgänglig för
WebNFS-klienter. Endast en resurs per server kan vara WebNFS-resurs.
<hr>

   07070100012f18000081a40000000000000002000000013d1fe2b800000084000000200000000000000000000000000000002b00000003reloc/dfsadmin/help/public.zh_TW.Big5.html    <header>¬O§_¥H WebNFS ¤À¨É?</header>

¦pªG³]©w³o­Ó¿ï¶µ, ³o­Ó¤À¨É±N·|¦s¦b©ó WebNFS ªº«È¤áºÝ. ¨C­Ó¦øªA¾¹¥u¯à¦³¤@­Ó WebNFS ¤À¨É.
<hr>

07070100012f19000081a40000000000000002000000013d1fe2b80000066b000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/ro.ca.html    <header>Accés Només Lectura</header>

Això determina quins hosts tenen accés només lectura a aquest servidor.
Hi ha tres tries per aquesta opció:
<ul>
<li><b>Cap</b><br>
   No hi ha cap host amb accés només lectura.
<li><b>Tots els hosts</b><br>
   Qualsevol host pot muntar aquest recurs només lectura. Si estàs 
   connectat/da a Internet, això vol dir que qualsevol persona del
   món pot llegir els fitxers del directori exportat.
<li><b>Hosts Llistats</b><br>
<if $gconfig{'os_version'} < 7>
   Els hosts o adreces IP de la llista de sota poden muntar aquest recurs només lectura.
<else>
   Els hosts de la llista de sota poden muntar aquest recurs només lectura.
   Els hosts es poden especificar de les formes següents: <p>
      <dl>
      <dt><b>Nom de host o adreça IP</b> (com ara <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
      <dd>Coincideix amb el host del mateix nom o adreça
      <dt><b>Grup de xarxa</b> (com ara <i>enginyers</i>)
      <dd>Coincideix amb qualsevol host membre del grup de xarxa
      <dt><b>Domini DNS</b> (com ara <i>.foo.com</i>)
      <dd>Coincideix amb qualsevol host del domini
      <dt><b>Xarxa</b> (com ara <i>@10.254.1</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
      <dt><b>Xarxa/màscara</b> (com ara <i>@10.254.1/24</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
      </dl><p>
   A més a més, totes les notacions anteriors poden prefixar-se amb <i>-</i>,
   que vol dir que el host, grup de xarxa, domini o xarxa <b>no</b> té
   permès de muntar el recurs. Això pot ser útil per permetre l'accés a
   tot un grup de hosts, però denegant-lo a un dels membres.
</if>
</ul>
<hr>
 07070100012f1a000081a40000000000000002000000013d1fe2b8000006dc000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/ro.es.html    <header>Acceso de Sólo-Lectura</header>

Éste determina qué máquinas tienen acceso de sólo-lectura a esta compartición.
Hay tres elecciones para esta opción:
<ul>
<li><b>Ninguna</b><br>
    Ninguna máquina tiene acceso de sólo-lectura.
<li><b>Todas las máquinas</b><br>
    Cualquier máquina puede montar esta compartición como de sólo-lectura.
    Si estás conectado a Internet, esto quiere decir que cualquiera a nivel
    mundial puede leer archivos de este directorio exportado.
<li><b>Máquinas listadas</b><br>
<if $gconfig{'os_version'} < 7>
    Las máquinas o direcciones IP listadas debajo pueden montar esta
    compartición como de sólo-lectura.
<else>
    Las máquinas que coincidan con las listadas debajo pueden montar esta
    compartición como de sólo-lectura. Las máquinas pueden ser especificadas
    de la siguiente manera:<p>
	<dl>
	<dt><b>Nombre de máquina o dirección IP</b> (como <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
	<dd>Que coincida la máquina del mismo nombre o dirección
	<dt><b>Grupo de Red</b> (como <i>ingeniería</i>)
	<dd>Que coincida cualquier máquina que sea miembro del grupo de red
	<dt><b>Dominio DNS</b> (como <i>.foo.com</i>)
	<dd>Que coincida cualquier máquina del dominio
	<dt><b>Red</b> (como <i>@10.254.1</i>)
	<dd>Que coincida cualquier máquina de la red
	<dt><b>Red/máscara de red</b> (como <i>@10.254.1/24</i>)
	<dd>Que coincida cualquier máquina de la red
	</dl><p>
    Además, cualquiera de las anotaciones de arriba puede llevar el
    prefijo <i>-</i>, queriendo esto decir que la máquina, grupo de red,
    dominio o red <b>no</b> tiene permisos para montar esta compartición.
    Esto puede ser útil si desea permitir el acceso a un conjunto de máquinas
    pero denegárselo a un miembro.
</if>
</ul>
<hr>
07070100012f1b000081a40000000000000002000000013d1fe2b8000005d1000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/ro.fr.html    <header>Accès Lecture Seule</header>

Ceci détermine quels hôtes à l'accès en lecture seule sur ce partage.  Trois choix vous sont offert :
<ul>
<li><b>Aucun</b><br>
    Aucun hôte ne peut avoir l'accès en lecture.
<li><b>Tous les hôtes</b><br>
    Tous les hôtes peuvent monter ce partage en lecture.  Si vous êtes connecté à Internet, ceci veut dire que n'importe qui dans le monde peut lire les fichiers du répertoire exporté.
<li><b>Hôtes Listés</b><br>
<if $gconfig{'os_version'} < 7>
    Les hôtes listés ci-dessous peuvent monter ce partage en lecture seulement, les hôtes peuvent être spécifier de cette façon :<p>
	<dl>
	<dt><b>Nom d'hôte ou adresse IP</b> (comme <i>ftp.foo.com</i> ou <i>1.2.3.4</i>)
	<dd>Correspond aux hôtes avec le nom ou l'adresse
	<dt><b>Groupe réseau</b> (comme <i>enginering</i>)
	<dd>Correspond à tout hôte qui sont membre de ce groupe réseau
	<dt><b>Nom de domaine</b> (comme <i>.foo.com</i>)
	<dd>Correspond à tout hôte dans ce domaine
	<dt><b>Réseau</b> (comme <i>@10.254.1</i>)
	<dd>Correspond de tout hôte dans ce réseau
	<dt><b>Réseau/masque de sous-réseau</b> (comme <i>@10.254.1/24</i>)
	<dd>Correspond à tous hôtes dans ce réseau
	</dl><p>
    De plus, toutes les notations ci-dessus peuvent commencer par un <i>-</i>, ce qui signifie que l'hôte, domaine ou réseau n'est pas autorisé à monter ce partage.  Ceci peut être utile pour accepter l'accès à une série d'hôte tout en le refusant à un membre.
</if>
</ul>
<hr>
   07070100012f1c000081a40000000000000002000000013d1fe2b8000005a2000000200000000000000000000000000000001c00000003reloc/dfsadmin/help/ro.html   <header>Read-Only Access</header>

This determines which hosts have read-only access to this share.
There are three choices for this option :
<ul>
<li><b>None</b><br>
    No hosts have read-only access.
<li><b>All hosts</b><br>
    Any host can mount this share read-only. If you are connected to the
    Internet, this means that anyone in the world can read files in the
    exported directory.
<li><b>Listed hosts</b><br>
<if $gconfig{'os_version'} < 7>
    The hosts or IP addresses listed below can mount this share read-only.
<else>
    Matching hosts listed below can mount this share read-only. Hosts can
    be specified in the following ways :<p>
	<dl>
	<dt><b>Hostname or IP address</b> (like <i>ftp.foo.com</i> or <i>1.2.3.4</i>)
	<dd>Matches the host with the given name or address
	<dt><b>Netgroup</b> (like <i>engineering</i>)
	<dd>Matches any host that is a member of the netgroup
	<dt><b>DNS domain</b> (like <i>.foo.com</i>)
	<dd>Matches any host in the domain
	<dt><b>Network</b> (like <i>@10.254.1</i>)
	<dd>Matches any host in the network
	<dt><b>Network/netmask</b> (like <i>@10.254.1/24</i>)
	<dd>Matches any host in the network
	</dl><p>
    In addition, any of the above notations can be prefixed by a <i>-</i>,
    meaning that the host, netgroup, domain or network is <b>not</b> allowed
    to mount this share. This can be useful for allowing access by a set
    of hosts, but denying one member.
</if>
</ul>
<hr>
  07070100012f1d000081a40000000000000002000000013d1fe2b8000006bb000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/ro.pl.html    <header>Dostêp tylko do odczytu</header>

Okre¶la, które hosty maj± uzyskiwaæ dostêp do tego zasobu w&nbsp;trybie
tylko do odczytu. Mo¿liwe s± trzy ustawienia dla tej opcji&nbsp;: 
<ul>
<li><b>¯aden</b><br>
    ¯aden host nie ma dostêpu w&nbsp;trybie tylko do odczytu.
<li><b>Wszystkie hosty</b><br>
    Dowolny host mo¿e zamontowaæ ten zasób w&nbsp;trybie tylko do odczytu
    Je¶li jeste¶ pod³±czony do Internetu, oznacza to, ¿e ktokolwiek
    z&nbsp;dowolnego miejsca na ¶wiecie mo¿e czytaæ pliki 
    w&nbsp;udostêpnionym katalogu.
<li><b>Wymienione hosty</b><br>
<if $gconfig{'os_version'} < 7>
    Z&nbsp;wymienionych poni¿ej hostów i&nbsp;adresów IP mo¿na zamontowaæ
    ten zasób w&nbsp;trybie tylko do odczytu.
<else>
    Hosty spe³niaj±ce poni¿sze warunki mog± montowaæ ten zasób
    w&nbsp;trybie tylko do odczytu. Mo¿na je podaæ w&nbsp;postaci&nbsp;: <p>
	<dl>
	<dt><b>Nazwy hosta lub adresu IP</b> (np. <i>ftp.foo.com</i> lub 
            <i>1.2.3.4</i>)
	<dd>Spe³nia go host o&nbsp;podanej nazwie lub adresie IP
	<dt><b>Grupy sieciowej</b> (np. <i>inzynieria</i>)
	<dd>Spe³nia go dowolny host bêd±cy cz³onkiem grupy sieciowej
	<dt><b>Domeny DNS-u</b> (np. <i>.foo.com</i>)
	<dd>Spe³nia go dowolny host w&nbsp;domenie
	<dt><b>Sieci</b> (np. <i>@10.254.1</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	<dt><b>Sieci z&nbsp;mask±</b> (np. <i>@10.254.1/24</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	</dl><p>
    Dodatkowo, dowoln± z&nbsp;powy¿szych notacji mo¿na poprzedziæ <i>-</i>,
    co oznacza ¿e host, grupa sieciowa, domena lub sieæ <b>nie</b> mo¿e
    montowaæ tego zasobu. Mo¿e to byæ przydatne do umo¿liwienia dostêpu dla
    zbioru hostów z&nbsp;wy³±czeniem jednego jego cz³onka.
</if>
</ul>
<hr>
 07070100012f1e000081a40000000000000002000000013d1fe2b800000665000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/ro.sv.html    <header>Endast läsrättigheter</header>

Här anger du de datorer som endast har läsrättigheter för denna resurs.
Det finns tre alternativ:
<ul>
<li><b>Ingen</b>
    <br>Ingen dator har endast läsrättigheter. (Det kan fortfarande finnas de som har läs- och skrivrättigheter.)
<li><b>Alla</b>
    <br>Alla datorer får montera denna resurs med läsrättigheter. Om du
    har Internet-uppkoppling betyder detta att alla på Internet kan läsa
    filerna i den exporterade katalogen.
<li><b>Angivna datorer</b>
<if $gconfig{'os_version'} < 7>
    <br>Datorer (namn eller IP-adresser) listade nedan får montera denna
    resurs med läsrättigheter.
<else>
    <br>Datorer som stämmer överens med vad som listats nedan får montera
    denna resurs med läsrättigheter. Du kan ange datorer på följande sätt:
    <p>
	<dl>
	<dt><b>Datornamn eller IP-adress</b> (t ex <i>ftp.foo.com</i> eller <i>1.2.3.4</i>)
	<dd>Matchar datorer med angivet namn eller IP-nummer
	<dt><b>Nätverksgrupp</b> (t ex <i>administration</i>)
	<dd>Matchar alla datorer i nätverksgruppen
	<dt><b>DNS-domän</b> (t ex <i>.foo.com</i>)
	<dd>Matchar alla datorer i domänen
	<dt><b>Nätverk</b> (t ex <i>@10.254.1</i>)
	<dd>Matchar alla datorer på nätverket
	<dt><b>Nätverk/nätmask</b> (t ex <i>@10.254.1/24</i>)
	<dd>Matchar alla datorer på nätverket
	</dl>
    <p>Dessutom kan du framför varje datorbestämning som anges ovan skriva
    ett <i>-</i>, som betyder att datorn, nätverksgruppen, domänen eller
    nätverket <b>inte</b> får montera denna resurs. Detta är användbart
    om du vill tillåta montering från en grupp datorer, men utesluta en
    viss dator.
</if>
</ul>
<hr>
   07070100012f1f000081a40000000000000002000000013d1fe2b80000045c000000200000000000000000000000000000002700000003reloc/dfsadmin/help/ro.zh_TW.Big5.html    <header>°ßÅª¦s¨ú</header>

³o­Ó¨M©w¤F­þ¨Ç¥D¾÷¥u¯à¥H°ßÅª¦s¨ú³o­Ó¤À¨É. ³oÃä¦³¤T­Ó¿ï¾Üµ¹³o­Ó¿ï¶µ:
<ul>
<li><b>µL</b><br>
    ¨S¦³¥D¾÷¥i¥H°ßÅª¦s¨ú.
<li><b>¥þ³¡ªº¥D¾÷</b><br>
    ¥ô¦ó¥D¾÷³£¥i¥H¥H°ßÅªªº¤è¦¡±¾¸ü³o­Ó¤À¨É. ¦pªG±z¦³³s±µ¨ìºô»Úºô¸ô¤W, ³oªí¥Ü¤F¥@¬É¤Wªº¥ô¦ó¤H³£¥i¥HÅª¨ú³o­Ó¥Ø¿ý¤UªºÀÉ®×.
<li><b>¦C¥Xªº¥D¾÷</b><br>
<if $gconfig{'os_version'} < 7>
    ¦C¦b³o­Ó¦Cªí¤¤ªº¥D¾÷©Î IP ¦ì§}¥i¥H¥H°ßÅªªº¤è¦¡±¾¸ü³o­Ó¤À¨É.
<else>
    ²Å¦X³o­Ó¦Cªí¤¤ªº¥D¾÷¥i¥H¥H¬°ªºªº¤è¦¡±¾¸ü³o­Ó¤À¨É. ¥D¾÷¥i¥H¥Î¤U¦Cªº¤è¦¡«ü©w:<p>
	<dl>
	<dt><b>¥D¾÷¦WºÙ©Î IP ¦ì§}</b> (¨Ò¦p <i>ftp.foo.com</i> ©Î <i>1.2.3.4</i>)
	<dd>²Å¦X§¹¥þ¬Û¦P©óµ¹¤©¦WºÙ©Î¦ì§}ªº¥D¾÷
	<dt><b>ºô¸ô¸s²Õ</b> (¨Ò¦p <i>engineering</i>)
	<dd>²Å¦XÄÝ©ó³o­Óºô¸ô¸s²Õªº¥ô¦ó¥D¾÷
	<dt><b>DNS ºô°ì</b> (¨Ò¦p <i>.foo.com</i>)
	<dd>²Å¦X³o­Óºô°ì¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô</b> (¨Ò¦p <i>@10.254.1</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô/¤lºô¸ô¾B¸n</b> (¨Ò¦p <i>@10.254.1/24</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	</dl><p>
    ¦¹¥~, ¥ô¦ó¤W­±ªº¼Ð°O³£¥i¥H¦³ <i>-</i> ªº«e¸m¦r¤¸, ³oªí¥Ü³o¨Ç¥D¾÷, ºô¸ô¸s²Õ, ºô°ì©Îºô¸ô<b>¤£</b>³Q¤¹³\. ³o¦b¶È©Úµ´¾ã²Õ¸s²Õ¤¤ªº¨ä¤¤¤@­Ó¦¨­û®É±N·|¦³¥Î.
</if>
</ul>
<hr>
07070100012f20000081a40000000000000002000000013d1fe2b8000004f4000000200000000000000000000000000000002100000003reloc/dfsadmin/help/root.ca.html  <header>Accés Root</header>

Controla a quins hosts el servidor els respectarà l'usuari root.
Si un client no és a la llista, tot i poder muntar el recurs només
lectura o lectura/escriptura, el servidor NFS tractarà l'usuari root
com a <a href=anon>Usuari Anònim</a>.
<if $gconfig{'os_version'} == 7>
   <br>Els hosts es poden especificar de les següents maneres:<p>
   <dl>
      <dt><b>Nom de host o adreça IP</b> (com ara <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
      <dd>Coincideix amb el host del mateix nom o adreça
      <dt><b>Grup de xarxa</b> (com ara <i>enginyers</i>)
      <dd>Coincideix amb qualsevol host membre del grup de xarxa
      <dt><b>Domini DNS</b> (com ara <i>.foo.com</i>)
      <dd>Coincideix amb qualsevol host del domini
      <dt><b>Xarxa</b> (com ara <i>@10.254.1</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
      <dt><b>Xarxa/màscara</b> (com ara <i>@10.254.1/24</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
   </dl><p>
   A més a més, totes les notacions anteriors poden prefixar-se amb <i>-</i>,
   que vol dir que el host, grup de xarxa, domini o xarxa <b>no</b> té
   permès de muntar el recurs. Això pot ser útil per permetre l'accés a
   tot un grup de hosts, però denegant-lo a un dels membres.
</if>
<hr>

07070100012f21000081a40000000000000002000000013d1fe2b800000544000000200000000000000000000000000000002100000003reloc/dfsadmin/help/root.es.html  <header>Acceso de Root</header>

Controla qué máquinas serán tratadas como si el usuario que entra fuera root.
Si un cliente no está en la lista, incluso si puede montar la compartición
como de sólo-lectura o de lectura-escritura, el servidor NFS tratará al
usuario root del cliente como si fuera un <a href=anon.es>Usuario Anónimo</a>.
<if $gconfig{'os_version'} == 7>
    <br>Las máquinas puede ser especificadas de la siguiente manera:<p>
	<dl>
	<dt><b>Nombre de máquina o dirección IP</b> (como <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
	<dd>Que coincida la máquina del mismo nombre o dirección
	<dt><b>Grupo de Red</b> (como <i>ingeniería</i>)
	<dd>Que coincida cualquier máquina que sea miembro del grupo de red
	<dt><b>Dominio DNS</b> (como <i>.foo.com</i>)
	<dd>Que coincida cualquier máquina del dominio
	<dt><b>Red</b> (como <i>@10.254.1</i>)
	<dd>Que coincida cualquier máquina de la red
	<dt><b>Red/máscara de red</b> (como <i>@10.254.1/24</i>)
	<dd>Que coincida cualquier máquina de la red
	</dl><p>
    Además, cualquiera de las anotaciones de arriba puede llevar el
    prefijo <i>-</i>, queriendo esto decir que la máquina, grupo de red,
    dominio o red <b>no</b> tiene permisos para montar esta compartición.
    Esto puede ser útil si desea permitir el acceso a un conjunto de máquinas
    pero denegárselo a un miembro.
</if>
<hr>

07070100012f22000081a40000000000000002000000013d1fe2b800000482000000200000000000000000000000000000002100000003reloc/dfsadmin/help/root.fr.html  <header>Accès 'Root'</header>

Permet de définir quels hôtes le serveur va respecter l'usager root.  Si le client n'est pas dans la liste, il sera considéré comme un 
<a href=anon>Usager Anonyme</a>.
<if $gconfig{'os_version'} == 7>
    <br>Les hôtes peuvent être spécifiés des façons suivantes :<p>
	<dl>
	<dt><b>Nom d'hôte ou adresse IP</b> (comme <i>ftp.foo.com</i> ou <i>1.2.3.4</i>)
	<dd>Correspond aux hôtes avec le nom ou l'adresse
	<dt><b>Groupe réseau</b> (comme <i>enginering</i>)
	<dd>Correspond à tout hôte qui sont membre de ce groupe réseau
	<dt><b>Nom de domaine</b> (comme <i>.foo.com</i>)
	<dd>Correspond à tout hôte dans ce domaine
	<dt><b>Réseau</b> (comme <i>@10.254.1</i>)
	<dd>Correspond de tout hôte dans ce réseau
	<dt><b>Réseau/masque de sous-réseau</b> (comme <i>@10.254.1/24</i>)
	<dd>Correspond à tous hôtes dans ce réseau
	</dl><p>
    De plus, toutes les notations ci-dessus peuvent commencer par un <i>-</i>, ce qui signifie que l'hôte, domaine ou réseau n'est pas autorisé à monter ce partage.  Ceci peut être utile pour accepter l'accès à une série d'hôte tout en le refusant à un membre.
</if>
<hr>
  07070100012f23000081a40000000000000002000000013d1fe2b800000475000000200000000000000000000000000000001e00000003reloc/dfsadmin/help/root.html <header>Root Access</header>

Controls which hosts the server will respect the root user on. If a client
is not on the list, even if it can mount the share read-only or read-write
the NFS server will treat the root user on client as the
<a href=anon>Anonymous User</a>.
<if $gconfig{'os_version'} == 7>
    <br>Hosts can be specified in the following ways :<p>
	<dl>
	<dt><b>Hostname or IP address</b> (like <i>ftp.foo.com</i> or <i>1.2.3.4</i>)
	<dd>Matches the host with the given name or address
	<dt><b>Netgroup</b> (like <i>engineering</i>)
	<dd>Matches any host that is a member of the netgroup
	<dt><b>DNS domain</b> (like <i>.foo.com</i>)
	<dd>Matches any host in the domain
	<dt><b>Network</b> (like <i>@10.254.1</i>)
	<dd>Matches any host in the network
	<dt><b>Network/netmask</b> (like <i>@10.254.1/24</i>)
	<dd>Matches any host in the network
	</dl><p>
    In addition, any of the above notations can be prefixed by a <i>-</i>,
    meaning that the host, netgroup, domain or network is <b>not</b> allowed
    to mount this share. This can be useful for allowing access by a set
    of hosts, but denying one member.
</if>
<hr>

   07070100012f24000081a40000000000000002000000013d1fe2b800000536000000200000000000000000000000000000002100000003reloc/dfsadmin/help/root.pl.html  <header>Dostêp dla root-a</header>

Okre¶la, dla których hostów serwer bêdzie honorowaæ przwa root-a na nich
Je¶li stacji klienckiej nie ma na li¶cie, to nawet w&nbsp;sytuacji, gdy ma
ona prawo montowaæ zasób w&nbsp;trybie tylko do odczytu lub do odczytu
i&nbsp;zapisu, serwer NFS-u bêdzie traktowaæ u¿ytkownika <tt>root</tt> na
tej stacji jako <a href=anon>u¿ytkownika anonimowego</a>.
<if $gconfig{'os_version'} == 7>
    <br>Hosty mo¿na okre¶liæ na nastêpuj±ce sposoby&nbsp;: <p>
	<dl>
	<dt><b>Nazwy hosta lub adresu IP</b> (np. <i>ftp.foo.com</i> lub 
            <i>1.2.3.4</i>)
	<dd>Spe³nia go host o&nbsp;podanej nazwie lub adresie IP
	<dt><b>Grupy sieciowej</b> (np. <i>inzynieria</i>)
	<dd>Spe³nia go dowolny host bêd±cy cz³onkiem grupy sieciowej
	<dt><b>Domeny DNS-u</b> (np. <i>.foo.com</i>)
	<dd>Spe³nia go dowolny host w&nbsp;domenie
	<dt><b>Sieci</b> (np. <i>@10.254.1</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	<dt><b>Sieci z&nbsp;mask±</b> (np. <i>@10.254.1/24</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	</dl><p>
    Dodatkowo, dowoln± z&nbsp;powy¿szych notacji mo¿na poprzedziæ <i>-</i>,
    co oznacza ¿e host, grupa sieciowa, domena lub sieæ <b>nie</b> mo¿e
    montowaæ tego zasobu. Mo¿e to byæ przydatne do umo¿liwienia dostêpu dla
    zbioru hostów z&nbsp;wy³±czeniem jednego jego cz³onka.
</if>
<hr>

  07070100012f25000081a40000000000000002000000013d1fe2b800000494000000200000000000000000000000000000002100000003reloc/dfsadmin/help/root.sv.html  <header>Root-tillgång</header>

Här anger du de datorer som servern ska acceptera root-användaren för.
Om en klient inte finns på denna listan, kommer NFS-servern att behandla
root som en <a href=anon>anonym användare</a> - även om klienten får
montera resursen.

<if $gconfig{'os_version'} == 7>
    <br>Du kan ange datorer på följande sätt:
	<dl>
	<dt><b>Datornamn eller IP-adress</b> (t ex <i>ftp.foo.com</i> eller <i>1.2.3.4</i>)
	<dd>Matchar datorer med angivet namn eller IP-nummer
	<dt><b>Nätverksgrupp</b> (t ex <i>administration</i>)
	<dd>Matchar alla datorer i nätverksgruppen
	<dt><b>DNS-domän</b> (t ex <i>.foo.com</i>)
	<dd>Matchar alla datorer i domänen
	<dt><b>Nätverk</b> (t ex <i>@10.254.1</i>)
	<dd>Matchar alla datorer på nätverket
	<dt><b>Nätverk/nätmask</b> (t ex <i>@10.254.1/24</i>)
	<dd>Matchar alla datorer på nätverket
	</dl>
    <p>Dessutom kan du framför varje datorbestämning som anges ovan skriva
    ett <i>-</i>, som betyder att datorn, nätverksgruppen, domänen eller
    nätverket <b>inte</b> får montera denna resurs. Detta är användbart
    om du vill tillåta montering från en grupp datorer, men utesluta en
    viss dator.
</if>
<hr>

07070100012f26000081a40000000000000002000000013d1fe2b800000374000000200000000000000000000000000000002900000003reloc/dfsadmin/help/root.zh_TW.Big5.html  <header>Root ¦s¨ú</header>

±±¨î­þ¨Ç¥D¾÷©Î¦øªA¾¹¥i¥H¥Î root ªºÅv­­¦s¨ú¤À¨É. ¦pªG«È¤áºÝ¤£¦b¦Cªí¤¤, Áa¨Ï¥¦¥i¥H¥Î°ßÅª©Î¥iÅª¨úªº¤è¦¡±¾¸ü³o­Ó¤À¨É, NFS ¦øªA¾¹±N·|§â root ¨Ï¥ÎªÌ·í§@¬O<a href=anon>°Î¦W¨Ï¥ÎªÌ</a>.
<if $gconfig{'os_version'} == 7>
    <br>¥D¾÷¥i¥H¥Î¤U¦Cªº¤è¦¡«ü©w:<p>
	<dl>
	<dt><b>¥D¾÷¦WºÙ©Î IP ¦ì§}</b> (¨Ò¦p <i>ftp.foo.com</i> ©Î <i>1.2.3.4</i>)
	<dd>²Å¦X§¹¥þ¬Û¦P©óµ¹¤©¦WºÙ©Î¦ì§}ªº¥D¾÷
	<dt><b>ºô¸ô¸s²Õ</b> (¨Ò¦p <i>engineering</i>)
	<dd>²Å¦XÄÝ©ó³o­Óºô¸ô¸s²Õªº¥ô¦ó¥D¾÷
	<dt><b>DNS ºô°ì</b> (¨Ò¦p <i>.foo.com</i>)
	<dd>²Å¦X³o­Óºô°ì¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô</b> (¨Ò¦p <i>@10.254.1</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô/¤lºô¸ô¾B¸n</b> (¨Ò¦p <i>@10.254.1/24</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	</dl><p>
    ¦¹¥~, ¥ô¦ó¤W­±ªº¼Ð°O³£¥i¥H¦³ <i>-</i> ªº«e¸m¦r¤¸, ³oªí¥Ü³o¨Ç¥D¾÷, ºô¸ô¸s²Õ, ºô°ì©Îºô¸ô<b>¤£</b>³Q¤¹³\. ³o¦b¶È©Úµ´¾ã²Õ¸s²Õ¤¤ªº¨ä¤¤¤@­Ó¦¨­û®É±N·|¦³¥Î.
</if>
<hr>

07070100012f27000081a40000000000000002000000013d1fe2b8000006d4000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/rw.ca.html    <header>Accés Lectura/Escriptura</header>

Això determina quins hosts tenen accés de lectura/escriptura a aquest servidor.
Hi ha tres tries per aquesta opció:
<ul>
<li><b>Cap</b><br>
   No hi ha cap host amb accés de lectura/escriptura.
<li><b>Tots els hosts</b><br>
   Qualsevol host pot muntar aquest recurs lectura/escriptura. Si estàs
   connectat/da a Internet, això vol dir que qualsevol persona del
   món pot llegir, modificar i esborrar  els fitxers del directori exportat.
   Fes servir aquesta opció amb molta cura.
<li><b>Hosts Llistats</b><br>
<if $gconfig{'os_version'} < 7>
   Els hosts o adreces IP de la llista de sota poden muntar aquest recurs
   lectura/escriptura.
<else>
   Els hosts de la llista de sota poden muntar aquest recurs lectura/escriptura.
   Els hosts es poden especificar de les formes següents: <p>
      <dl>
      <dt><b>Nom de host o adreça IP</b> (com ara <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
      <dd>Coincideix amb el host del mateix nom o adreça
      <dt><b>Grup de xarxa</b> (com ara <i>enginyers</i>)
      <dd>Coincideix amb qualsevol host membre del grup de xarxa
      <dt><b>Domini DNS</b> (com ara <i>.foo.com</i>)
      <dd>Coincideix amb qualsevol host del domini
      <dt><b>Xarxa</b> (com ara <i>@10.254.1</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
      <dt><b>Xarxa/màscara</b> (com ara <i>@10.254.1/24</i>)
      <dd>Coincideix amb qualsevol host de la xarxa
      </dl><p>
   A més a més, totes les notacions anteriors poden prefixar-se amb <i>-</i>,
   que vol dir que el host, grup de xarxa, domini o xarxa <b>no</b> té
   permès de muntar el recurs. Això pot ser útil per permetre l'accés a
   tot un grup de hosts, però denegant-lo a un dels membres.
</if>
</ul>
<hr>
07070100012f28000081a40000000000000002000000013d1fe2b8000006e6000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/rw.es.html    <header>Acceso de Lectura-Escritura</header>

Esto determina qué máquinas tienen acceso de lectura-escritura a esta
compartición.
Hay tres elecciones para esta opción:
<ul>
<li><b>Ninguna</b><br>
    Ninguna máquina tiene acceso de sólo-lectura.
<li><b>Todas las máquinas</b><br>
    Cualquier máquina puede montar esta compartición como de sólo-lectura.
    Si estás conectado a Internet, esto quiere decir que cualquiera a nivel
    mundial puede leer archivos de este directorio exportado.
<li><b>Máquinas listadas</b><br>
<if $gconfig{'os_version'} < 7>
    Las máquinas o direcciones IP listadas debajo pueden montar esta
    compartición como de sólo-lectura.
<else>
    Las máquinas que coincidan con las listadas debajo pueden montar esta
    compartición como de sólo-lectura. Las máquinas pueden ser especificadas
    de la siguiente manera:<p>
	<dl>
	<dt><b>Nombre de máquina o dirección IP</b> (como <i>ftp.foo.com</i> o <i>1.2.3.4</i>)
	<dd>Que coincida la máquina del mismo nombre o dirección
	<dt><b>Grupo de Red</b> (como <i>ingeniería</i>)
	<dd>Que coincida cualquier máquina que sea miembro del grupo de red
	<dt><b>Dominio DNS</b> (como <i>.foo.com</i>)
	<dd>Que coincida cualquier máquina del dominio
	<dt><b>Red</b> (como <i>@10.254.1</i>)
	<dd>Que coincida cualquier máquina de la red
	<dt><b>Red/máscara de red</b> (como <i>@10.254.1/24</i>)
	<dd>Que coincida cualquier máquina de la red
	</dl><p>
    Además, cualquiera de las anotaciones de arriba puede llevar el
    prefijo <i>-</i>, queriendo esto decir que la máquina, grupo de red,
    dominio o red <b>no</b> tiene permisos para montar esta compartición.
    Esto puede ser útil si desea permitir el acceso a un conjunto de máquinas
    pero denegárselo a un miembro.
</if>
</ul>
<hr>
  07070100012f2a000081a40000000000000002000000013d1fe2b800000698000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/rw.fr.html    <header>Accès en Lecture/Écriture</header>

Ceci détermine quels hôtes ont l'accès en lecture/écriture de ce partage.  Trois choix vous sont offert :
<ul>
<li><b>Aucun</b><br>
    Aucun hôte ne peut avoir l'accès en lecture/écriture.
<li><b>Tous les hôtes</b><br>
    Tous les hôtes peuvent monter ce partage en lecture/écriture.  Si vous êtes connecté à Internet, cela veut dire que n'importe qui dans le monde peut lire, écrire et supprimer des fichiers de ce répertoire partagé.  Cette option est à utiliser avec précaution.
<li><b>Hôtes listés</b><br>
<if $gconfig{'os_version'} < 7>
    Les hôtes ou adresses IP listé ci-dessous peuvent monter ce partage en lecture/écriture.
<else>
    Les hôtes listés ci-dessous peuvent monter ce partage en écriture/lecture, les hôtes peuvent être spécifier de cette façon :<p>
	<dl>
	<dt><b>Nom d'hôte ou adresse IP</b> (comme <i>ftp.foo.com</i> ou <i>1.2.3.4</i>)
	<dd>Correspond aux hôtes avec le nom ou l'adresse
	<dt><b>Groupe réseau</b> (comme <i>enginering</i>)
	<dd>Correspond à tout hôte qui sont membre de ce groupe réseau
	<dt><b>Nom de domaine</b> (comme <i>.foo.com</i>)
	<dd>Correspond à tout hôte dans ce domaine
	<dt><b>Réseau</b> (comme <i>@10.254.1</i>)
	<dd>Correspond de tout hôte dans ce réseau
	<dt><b>Réseau/masque de sous-réseau</b> (comme <i>@10.254.1/24</i>)
	<dd>Correspond à tous hôtes dans ce réseau
	</dl><p>
    De plus, toutes les notations ci-dessus peuvent commencer par un <i>-</i>, ce qui signifie que l'hôte, domaine ou réseau n'est pas autorisé à monter ce partage.  Ceci peut être utile pour accepter l'accès à une série d'hôte tout en le refusant à un membre.
</if>
</ul>
<hr>
07070100012f2b000081a40000000000000002000000013d1fe2b8000005d8000000200000000000000000000000000000001c00000003reloc/dfsadmin/help/rw.html   <header>Read-Write Access</header>

This determines which hosts have read-write access to this share.
There are three choices for this option :
<ul>
<li><b>None</b><br>
    No hosts have read-write access.
<li><b>All hosts</b><br>
    Any host can mount this share read-write. If you are connected to the
    Internet, this means that anyone in the world can read, write and
    delete files in the exported directory. Use this option with caution.
<li><b>Listed hosts</b><br>
<if $gconfig{'os_version'} < 7>
    The hosts or IP addresses listed below can mount this share read-write.
<else>
    Matching hosts listed below can mount this share read-write. Hosts can
    be specified in the following ways :<p>
	<dl>
	<dt><b>Hostname or IP address</b> (like <i>ftp.foo.com</i> or <i>1.2.3.4</i>)
	<dd>Matches the host with the given name or address
	<dt><b>Netgroup</b> (like <i>engineering</i>)
	<dd>Matches any host that is a member of the netgroup
	<dt><b>DNS domain</b> (like <i>.foo.com</i>)
	<dd>Matches any host in the domain
	<dt><b>Network</b> (like <i>@10.254.1</i>)
	<dd>Matches any host in the network
	<dt><b>Network/netmask</b> (like <i>@10.254.1/24</i>)
	<dd>Matches any host in the network
	</dl><p>
    In addition, any of the above notations can be prefixed by a <i>-</i>,
    meaning that the host, netgroup, domain or network is <b>not</b> allowed
    to mount this share. This can be useful for allowing access by a set
    of hosts, but denying one member.
</if>
</ul>
<hr>
07070100012f2c000081a40000000000000002000000013d1fe2b800000738000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/rw.pl.html    <header>Dostêp do odczytu i&nbsp;zapisu</header>

Okre¶la, które hosty maj± uzyskiwaæ dostêp do tego zasobu w&nbsp;trybie
do odczytu i&nbsp;zapisu. Mo¿liwe s± trzy ustawienia dla tej opcji&nbsp;:
<ul>
<li><b>¯aden</b><br>
    ¯aden host nie ma dostêpu w&nbsp;trybie do odczytu i&nbsp;zapisu.
<li><b>Wszystkie hosty</b><br>
    Dowolny host mo¿e zamontowaæ ten zasób w&nbsp;trybie do odczytu 
    i&nbsp;zapisu. Je¶li jeste¶ pod³±czony do Internetu, oznacza to, ¿e
    ktokolwiek z&nbsp;dowolnego miejsca na ¶wiecie mo¿e czytaæ, zapisywaæ
    i&nbsp;kasowaæ pliki w&nbsp;udostêpnionym katalogu. Korzystaj z tej opcji
    z&nbsp;ostro¿no¶ci±.
<li><b>Wymienione hosty</b><br>
<if $gconfig{'os_version'} < 7>
    Z&nbsp;wymienionych poni¿ej hostów i&nbsp;adresów IP mo¿na zamontowaæ
    ten zasób w&nbsp;trybie do odczytu i&nbsp;zapisu.
<else>
    Hosty spe³niaj±ce poni¿sze warunki mog± montowaæ ten zasób
    w&nbsp;trybie do odczytu i&nbsp;zapisu. Mo¿na je podaæ
    w&nbsp;postaci&nbsp;: <p>
	<dl>
	<dt><b>Nazwy hosta lub adresu IP</b> (np. <i>ftp.foo.com</i> lub 
            <i>1.2.3.4</i>)
	<dd>Spe³nia go host o&nbsp;podanej nazwie lub adresie IP
	<dt><b>Grupy sieciowej</b> (np. <i>inzynieria</i>)
	<dd>Spe³nia go dowolny host bêd±cy cz³onkiem grupy sieciowej
	<dt><b>Domeny DNS-u</b> (np. <i>.foo.com</i>)
	<dd>Spe³nia go dowolny host w&nbsp;domenie
	<dt><b>Sieci</b> (np. <i>@10.254.1</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	<dt><b>Sieci z&nbsp;mask±</b> (np. <i>@10.254.1/24</i>)
	<dd>Spe³nia go dowolny host w&nbsp;sieci
	</dl><p>
    Dodatkowo, dowoln± z&nbsp;powy¿szych notacji mo¿na poprzedziæ <i>-</i>,
    co oznacza ¿e host, grupa sieciowa, domena lub sieæ <b>nie</b> mo¿e
    montowaæ tego zasobu. Mo¿e to byæ przydatne do umo¿liwienia dostêpu dla
    zbioru hostów z&nbsp;wy³±czeniem jednego jego cz³onka.
</if>
</ul>
<hr>
07070100012f2d000081a40000000000000002000000013d1fe2b80000068c000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/rw.sv.html    <header>Läs- och skrivrättigheter</header>

Här anger du de datorer som ska ha läs- och skrivrättigheter för denna resurs.
Det finns tre alternativ:

<ul>
<li><b>Ingen</b>
    <br>Ingen dator har läs- och skrivrättigheter.
<li><b>Alla</b>
    <br>Alla datorer får montera denna resurs med läs- och skrivrättigheter.
    Om du har Internet-uppkoppling betyder detta att alla på Internet kan
    läsa, skriva och ta bort filerna i den exporterade katalogen. Var
    försiktig med detta val.
<li><b>Angivna datorer</b>
<if $gconfig{'os_version'} < 7>
    <br>Datorer (namn eller IP-adresser) listade nedan får montera denna
    resurs med läs- och skrivrättigheter.
<else>
    <br>Datorer som stämmer överens med vad som listats nedan får montera
    denna resurs med läs- och skrivrättigheter. Du kan ange datorer på
    följande sätt:
    <p>
	<dl>
	<dt><b>Datornamn eller IP-adress</b> (t ex <i>ftp.foo.com</i> eller <i>1.2.3.4</i>)
	<dd>Matchar datorer med angivet namn eller IP-adress
	<dt><b>Nätverksgrupp</b> (t ex <i>administration</i>)
	<dd>Matchar alla datorer i nätverksgruppen
	<dt><b>DNS-domän</b> (t ex <i>.foo.com</i>)
	<dd>Matchar alla datorer i domänen
	<dt><b>Nätverk</b> (t ex <i>@10.254.1</i>)
	<dd>Matchar alla datorer på nätverket
	<dt><b>Nätverk/nätmask</b> (t ex <i>@10.254.1/24</i>)
	<dd>Matchar alla datorer på nätverket
	</dl>
    <p>Dessutom kan du framför varje datorbestämning som anges ovan skriva
    ett <i>-</i>, som betyder att datorn, nätverksgruppen, domänen eller
    nätverket <b>inte</b> får montera denna resurs. Detta är användbart
    om du vill tillåta montering från en grupp datorer, men utesluta en
    viss dator.
</if>
</ul>
<hr>
07070100012f2f000081a40000000000000002000000013d1fe2b80000042c000000200000000000000000000000000000002700000003reloc/dfsadmin/help/rw.zh_TW.Big5.html    <header>¥iÅª¼g¦s¨ú</header>

³o­Ó¨M©w¤F­þ¨Ç¥D¾÷¥i¥HÅª¼g³o­Ó¤À¨É. ³oÃä¦³¤T­Ó¿ï¾Üµ¹³o­Ó¿ï¶µ:
<ul>
<li><b>µL</b><br>
    ¨S¦³¥D¾÷¥i¥HÅª¼g.
<li><b>¥þ³¡ªº¥D¾÷</b><br>
    ¥ô¦ó¥D¾÷³£¥i¥HÅª¼g³o­Ó¤À¨É. ¦pªG±z¦³³s±µ¨ìºô»Úºô¸ô¤W, ³oªí¥Ü¤F¥@¬É¤Wªº¥ô¦ó¤H³£¥i¥HÅª¼g³o­Ó¥Ø¿ý¤UªºÀÉ®×.
<li><b>¦C¥Xªº¥D¾÷</b><br>
<if $gconfig{'os_version'} < 7>
    ¦C¦b³o­Ó¦Cªí¤¤ªº¥D¾÷©Î IP ¦ì§}¥i¥HÅª¼g³o­Ó¤À¨É.
<else>
²Å¦X³o­Ó¦Cªí¤¤ªº¥D¾÷¥i¥HÅª¼g³o­Ó¤À¨É. ¥D¾÷¥i¥H¥Î¤U¦Cªº¤è¦¡«ü©w:<p>
	<dl>
	<dt><b>¥D¾÷¦WºÙ©Î IP ¦ì§}</b> (¨Ò¦p <i>ftp.foo.com</i> ©Î <i>1.2.3.4</i>)
	<dd>²Å¦X§¹¥þ¬Û¦P©óµ¹¤©¦WºÙ©Î¦ì§}ªº¥D¾÷
	<dt><b>ºô¸ô¸s²Õ</b> (¨Ò¦p <i>engineering</i>)
	<dd>²Å¦XÄÝ©ó³o­Óºô¸ô¸s²Õªº¥ô¦ó¥D¾÷
	<dt><b>DNS ºô°ì</b> (¨Ò¦p <i>.foo.com</i>)
	<dd>²Å¦X³o­Óºô°ì¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô</b> (¨Ò¦p <i>@10.254.1</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	<dt><b>ºô¸ô/¤lºô¸ô¾B¸n</b> (¨Ò¦p <i>@10.254.1/24</i>)
	<dd>²Å¦X³o­Óºô¸ô¤¤ªº¥ô¦ó¥D¾÷
	</dl><p>
    ¦¹¥~, ¥ô¦ó¤W­±ªº¼Ð°O³£¥i¥H¦³ <i>-</i> ªº«e¸m¦r¤¸, ³oªí¥Ü³o¨Ç¥D¾÷, ºô¸ô¸s²Õ, ºô°ì©Îºô¸ô<b>¤£</b>³Q¤¹³\. ³o¦b¶È©Úµ´¾ã²Õ¸s²Õ¤¤ªº¨ä¤¤¤@­Ó¦¨­û®É±N·|¦³¥Î.
</if>
</ul>
<hr>
07070100012f30000081a40000000000000002000000013d1fe2b8000001bc000000200000000000000000000000000000002200000003reloc/dfsadmin/help/share.ca.html 
Cada recurs té un directori que s'exporta, una descripció pels clients
NFS, tres llistes de hosts amb diferents nivells d'accés al recurs,
i un cert nombre d'opcions addicionals. <p>

Un recurs es pot exportar a una llista de clients en mode només lectura
o bé lectura/escriptura. Per defecte, l'usuari <tt>root</tt> dels sistemes
client no és fiable per al servidor, a menys que el client sigui també a 
la llista d'accés de root. <p>

<hr>

07070100012f31000081a40000000000000002000000013d1fe2b8000001f1000000200000000000000000000000000000002200000003reloc/dfsadmin/help/share.es.html 
Cada compartición tiene un directorio que es el que se exporta, una
descripción para los clientes NFS, tres listas de máquinas con niveles
diferentes de acceso a esa compartición y un número de otras opciones.<p>

Una compartición puede ser exportada como de sólo-lectura o de
lectura-escritura a una lista de clientes. Por defecto, el usuario
<tt>root</tt> de los sistemas cliente no es de confianza para el servidor,
a menos que el cliente esté tambien en la lista de acceso de root.<p>

<hr>

   07070100012f32000081a40000000000000002000000013d1fe2b8000001bf000000200000000000000000000000000000002200000003reloc/dfsadmin/help/share.fr.html <header>Partage</header>

Chaque partage à un répertoire qui est partagé, une description pour les clients NFS, trois niveaux d'accès de partage et un nombre d'autres options.<p>

Un partage peu être partagé en lecture seule ou en lecture/écriture à une liste de clients.  Par défaut, il n'est pas fait confiance à l'usager <tt>root</tt> des systèmes client par le serveur, à moins que le client soit dans la liste d'accès 'root'.<p>

<hr>
 07070100012f33000081a40000000000000002000000013d1fe2b800000193000000200000000000000000000000000000001f00000003reloc/dfsadmin/help/share.html    
Each share has a directory that is being exported, a description for
NFS clients, three list of hosts with different levels of access to
that share and a number of other options. <p>

A share can be exported read-only or read-write to a list of clients.
By default, the <tt>root</tt> user on client systems is not trusted by the
server, unless the client is on the root access list as well. <p>

<hr>

 07070100012f34000081a40000000000000002000000013d1fe2b8000001e7000000200000000000000000000000000000002200000003reloc/dfsadmin/help/share.pl.html 
Ka¿dy z&nbsp;zasobów zawiera eksportowany katalog, informacjê dla
klientów NFS-u, trzy listy hostów o&nbsp;ró¿nych poziomach dostêpu do
tego zasobu oraz pewn± liczbê innych opcji. <p>

Zasób mo¿na udostêpniæ tylko do odczytu lub do odczytu i&nbsp;zapisu
dla klientów z&nbsp;pewnej listy. Domy¶lnie, u¿ytkownik <tt>root</tt>
na stacjach klienckich nie jest uwa¿any przez serwer za wiarygodnego
chyba, ¿e stacja kliencka znajduje siê jednocze¶nie na li¶cie dostêpu
dla root-a. <p>

<hr>

 07070100012f35000081a40000000000000002000000013d1fe2b8000001b9000000200000000000000000000000000000002200000003reloc/dfsadmin/help/share.sv.html 
För varje resurs finns en katalog som exporteras, en beskrivning för
NFS-klienterna, tre listor över datorer med olika rättigheter till
denna resurs och ett antal andra inställningar.

<p>En resurs kan exporteras med läs- och skrivrättigheter eller endast
läsrättigheter till en uppsättning klienter. Normalt litar inte
systemet på <tt>root</tt>-användare på klientsystem, om inte klienten
även finns med på root-tillgångslistan.

<p><hr>

   07070100012f36000081a40000000000000002000000013d1fe2b800000113000000200000000000000000000000000000002a00000003reloc/dfsadmin/help/share.zh_TW.Big5.html 
¨C¤@­Ó¤À¨É³£­n¦³¤@­Ó¥i¥H³Q¶×¥Xªº¥Ø¿ý, ¤@­Óµ¹ NFS «È¤áºÝªº»¡©ú, ¹ï¤£¦P¥D¾÷¶¡ªº¤£¦Pµ¥¯Å«H¥ô¦Cªí»P¬ÛÃöªº¨ä¥L¿ï¶µ. <p>

¤@­Ó¤À¨É¥i¥H¶×¥X¦¨°ßÅª©Î¥iÅª¼gµ¹¦Cªí¤¤ªº«È¤áºÝ. ¦b¹w³]ªºª¬ªp, «È¤áºÝªº <tt>root</tt> ¨Ï¥ÎªÌ¬O¤£³Q¦øªA¾¹©Ò«H¥ôªº, °£«D¸Ó«È¤áºÝ¦³¦b root ¦s¨ú¦Cªí¤¤. <p>

<hr>

 07070100012f37000081a40000000000000002000000013d1fe2b80000008c000000200000000000000000000000000000002000000003reloc/dfsadmin/help/sub.ca.html   <header>Permet el Muntatge de Subdirectoris</header>

Determina si els clients NFS poden muntar subdirectoris del
directori exportat.
<hr>

07070100012f38000081a40000000000000002000000013d1fe2b800000095000000200000000000000000000000000000002000000003reloc/dfsadmin/help/sub.es.html   <header>¿Permitir el Montaje de Subdirectorios?</header>

Determina si los clientes NFS pueden montar subdirectorios del
directorio exportado.
<hr>

   07070100012f39000081a40000000000000002000000013d1fe2b800000092000000200000000000000000000000000000002000000003reloc/dfsadmin/help/sub.fr.html   <header>Permet le Montage de Sous-répertoire?</header>

Détermine si le client NFS peut monter un sous-répertoire du répertoire exporté.
<hr>
  07070100012f3a000081a40000000000000002000000013d1fe2b800000082000000200000000000000000000000000000001d00000003reloc/dfsadmin/help/sub.html  <header>Allow Mounting of Subdirs?</header>

Determines if NFS clients can mount subdirectories of the exported 
directory.
<hr>

  07070100012f3b000081a40000000000000002000000013d1fe2b80000008b000000200000000000000000000000000000002000000003reloc/dfsadmin/help/sub.pl.html   <header>Pozwalaæ na montowanie podkatalogów?</header>

Okre¶la, czy klienci NFS-u mog± montowaæ podkatalogi udostêpnianego
katalogu.
<hr>

 07070100012f3c000081a40000000000000002000000013d1fe2b800000099000000200000000000000000000000000000002000000003reloc/dfsadmin/help/sub.sv.html   <header>Tillåta montering av underkataloger?</header>

Bestämmer om NFS-klienterna även får montera underkataloger till den
exporterade katalogen.
<hr>

   07070100012f3d000081a40000000000000002000000013d1fe2b80000005b000000200000000000000000000000000000002800000003reloc/dfsadmin/help/sub.zh_TW.Big5.html   <header>¬O§_¤¹³\±¾¸ü¤l¥Ø¿ý?</header>

¨M©w NFS «È¤áºÝ¬O§_¥i¥H±¾¸ü¶×¥X¥Ø¿ý¤Uªº¤l¥Ø¿ý.
<hr>

 07070100012f3e000081a40000000000000002000000013d1fe2b8000000ff000000200000000000000000000000000000002100000003reloc/dfsadmin/help/suid.ca.html  <header>Permet Fitxers Setuid</header>

Determina si el servidor permetrà els clients de crear programes setuid
sobre aquest recurs. Si estàs exportant un directori en mode lectura/escriptura
a clients no fiables, aquesta opció hauria d'estar a No.
<hr>

 07070100012f3f000081a40000000000000002000000013d1fe2b80000011b000000200000000000000000000000000000002100000003reloc/dfsadmin/help/suid.es.html  <header>¿Permito hacer Setuid a los Archivos?</header>

Determina si el servidor permitirá que los clientes creen programas
con setuid en esta compartición. Si estás exportando un directorio como
de lectura-escritura a clientes no fiables, esta opción debería ser
puesta a No.
<hr>

 07070100012f40000081a40000000000000002000000013d1fe2b800000120000000200000000000000000000000000000002100000003reloc/dfsadmin/help/suid.fr.html  <header>Permettre les Fichiers 'setuid'?</header>

Détermine si le serveur permet au client de faire un programme 'setuid' à partir de ce partage.  Si vous partagé un répertoire en lecture/écriture à des clients dont il n'est pas fait confiance, cette option devrait être à non.
<hr>
07070100012f41000081a40000000000000002000000013d1fe2b8000000e4000000200000000000000000000000000000001e00000003reloc/dfsadmin/help/suid.html <header>Allow Setuid Files?</header>

Determines if the server will allow clients to create setuid programs
on this share. If you are exporting a directory read-write to untrusted
clients, this option should be set to No.
<hr>

07070100012f42000081a40000000000000002000000013d1fe2b800000120000000200000000000000000000000000000002100000003reloc/dfsadmin/help/suid.pl.html  <header>Pozwalaæ na pliki setuid-owe?</header>

Okre¶la, czy serwer pozwoli klientom na tworzenie programów setuid-owych
w&nbsp;ramach tego zasobu. Je¶li katalog jest udostêpniany do odczytu
i&nbsp;zapisu dla niewiarygodnych stacji klienckich, opcja ta powinna byæ
ustawiona na Nie.
<hr>
07070100012f43000081a40000000000000002000000013d1fe2b8000000fc000000200000000000000000000000000000002100000003reloc/dfsadmin/help/suid.sv.html  <header>Tillåta Setuid-filer?</header>

Här ställer du in om servern ska tillåta klienter att skapa setuid-program
på denna resurs. Om du exporterar kataloger med läs- och skrivrättigheter
till klienter som du inte litar på bör du välja Nej här.
<hr>

07070100012f44000081a40000000000000002000000013d1fe2b8000000b2000000200000000000000000000000000000002900000003reloc/dfsadmin/help/suid.zh_TW.Big5.html  <header>¬O§_¤¹³\ Setuid ÀÉ®×?</header>

¨M©w¦øªA¾¹¨Ï§_¤¹³\«È¤áºÝ¦b³o­Ó¤À¨É¤W«Ø¥ß setuid µ{¦¡. ¦pªG±z§â³o­Ó¥Ø¿ý¥H¥iÅª¼gªº¤è¦¡¤À¨É­Ó¤£¥i«H¥ôªº«È¤áºÝ, ³o­Ó¿ï¶µÀ³¸Ó³]©w¦¨"§_".
<hr>

  07070100010218000041ed0000000000000001000000023d1ffa0800000000000000200000000000000000000000000000001600000003reloc/dfsadmin/images 07070100010219000081a40000000000000002000000013d1fe2b8000000f5000000200000000000000000000000000000001f00000003reloc/dfsadmin/images/icon.gif    GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  Æ„©Ëí£œ´Ú[ƒÞ<`¹	âH
Û×å:ªª¨lÛu°!¯á,žŸ¦ãÍ<Ð$dù,9Ó1ÙruMè2Üñl—*’VÓ¾ºA(éJñz…ÆiiÍ3Ëfšû\ß£ù6ù×#‡(õ‡ˆ6¡¦x8WØ7HÈ§HTt·5‰©©ôxàIš 5ÄYŠ¶¨êª`[âÀZk[ëê4ð:¡Ë+áûûàÔ
,K|jx»ÌÜì\3ðÌ:@]m}M“Í-ü.>þ]  ;   0707010001021a000081a40000000000000002000000013d1fe2b80000061d000000200000000000000000000000000000002000000003reloc/dfsadmin/images/share.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½ŠêÊw1ãDgðàb½[Îœ!›m·oK"¬W/š*fÓ˜¥Äé‹OG™õ<ØqbÚ“¡qÕ|—À	q@	¶Ð<ºœm-[­^7<,8”]>{5Eó"˜8ì¾Ñäh6Ÿ³Œr/f›Ã‰ˆê-ú¶máu4i®GbWqìF ‘A@
7¶ñ¢¶mÜbÄõ³#ÇÌE):
“6¡„,Î\5‹Dx£[¾853LÎÛ´iœ¬øÙ°ž 	mr|K‘!Ã¬Y®|ÝŠæR¤ž™jÖmÛ6fÁ¦þ @ƒ8ÃB­$ X°à€Yª\!Ñ4g„ê™Ò¥kZ3f¾ì¢
{'¬ 9SH `I&¨¨2Ë.» ƒÆ3ÍpI=¾0óË.µÌòF` )9$	ŠP@ª¨‚
+³°‚'­ì¡H†tà.ð	 ÒªdDRt‡ lâd„ÏíÂ‹/?ÞÂ
+®l²ˆeÄðÁ‡|D„EðÄ"›dòd®<×&+1‚² Í˜Â‡‚HôŽ_ @“8IÊ&¬€B£+¨ ²	*ž˜`
 u˜!FH„!Aœ4Bˆ%iB’	vžÌÀÈÌF
6|M?H1ò0I%‹xê	!7@+ßðQ†e#9c2F8°b"  …/„ AD
HD%PRÀÒÆ	"1+À	¿ ±Åe^4×ª•Aìàí¾€Ñ»)l3y‘BÄ!<Pe ‘{àTGÜ@È&‘‘ÁäX«fHaÕJÌP HP‹Æ	™[Ï1´òÉ1£òÊ,·ìòË0³¬P&4×lóÍ8ç¬sTÌÐlÊ
õœÉÏ@#$4ÑE$tÍÅì´Ê8?í´ÎTWmõÕXëlFÖU›áõ×`‡-¶×=öÙb'­öÚl·íö@ ;   070701000115b6000081e40000000000000002000000013d1fe2b800000970000000200000000000000000000000000000001900000003reloc/dfsadmin/index.cgi  #!/usr/local/bin/perl
# index.cgi

require './dfs-lib.pl';
&header("NFS Shares", "", "intro", 1, 1, 0,
	&help_search_link("dfstab share", "man"));
print "<hr>\n";
%access = &get_module_acl();

@shlist = &list_shares();
if (@shlist && $access{'icons'}) {
	# Display shares as icons
	print "<a href=\"edit_share.cgi\">Start sharing a new directory</a>. <br>\n";
	foreach $s (@shlist) {
		next if ($s->{'type'} ne 'nfs');
		push(@icons, "images/share.gif");
		push(@titles, $s->{'dir'});
		push(@links, "edit_share.cgi?$s->{'index'}");
		}
	&icons_table(\@links, \@titles, \@icons);
	}
elsif (@shlist) {
	# Display shares as table
	print "<a href=\"edit_share.cgi\">Start sharing a new directory</a>. <br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb><td width=20%><b>Directory</b></td> ",
	      "<td><b>Clients</b></td> </tr>\n";
	foreach $s (@shlist) {
		next if ($s->{'type'} ne 'nfs');
		&parse_options($s->{'opts'});
		print "<tr $cb>\n";
		if (defined($options{'public'})) {
			print "<td><b><a href=\"edit_share.cgi?$s->{'index'}\">",&html_escape($s->{'dir'}),"</a></b></td>\n";
			}
		else {
			print "<td><a href=\"edit_share.cgi?$s->{'index'}\">",&html_escape($s->{'dir'}),"</a></td>\n";
			}
		undef(%clients);
		foreach (split(/:/, $options{"ro"})) { $clients{$_}++; }
		foreach (split(/:/, $options{"rw"})) { $clients{$_}++; }
		foreach (split(/:/, $options{"root"})) { $clients{$_}++; }
		if (%clients) {
			$clients = join(' &nbsp;|&nbsp; ' , sort { $a cmp $b }
			    map { &html_escape($_ =~ /^\@(.*)/ ? "$1.*" : $_) }
				     (keys %clients) );
			if (length($clients) > 80) {
				$clients = substr($clients, 0, 80)."...";
				}
			}
		else { $clients = "Everyone"; }
		print "<td>$clients</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>No directories are currently being exported on ",
	      "this system</b>. <p>\n";
	}
print "<a href=\"edit_share.cgi\">Start sharing a new directory</a>. <p>\n";

print "<hr>\n";
print "<table width=100%> <tr>\n";
print "<td><form action=restart_sharing.cgi>\n";
print "<input type=submit value=\"Apply Changes\">\n";
print "</form></td>\n";
print "<td valign=top> Click this button to apply the current file sharing\n";
print "configuration. This will make all the directories listed above\n";
print "available with the options specified.</td>\n";
print "</tr> <tr> </table>\n";

print "<hr>\n";
&footer("/", "index");

07070100015c23000041ed0000000000000001000000023d1ffa0900000000000000200000000000000000000000000000001400000003reloc/dfsadmin/lang   07070100015c24000081a40000000000000002000000013d1fe2b9000000a7000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/ca    log_modify=Recurs NFS $1 modificat
log_rename=Recurs NFS $1 canviat a $2
log_create=Recurs NFS $1 creat
log_delete=Recurs NFS $1 suprimit
log_apply=Canvis aplicats



 07070100015c25000081a40000000000000002000000013d1fe2b9000000d3000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/de    log_modify=Ver&auml;nderte NFS-Freigabe: $1
log_rename=Ge&auml;nderte NFS-Freigabe: $1 zu $2
log_create=Erstellte NFS-Freigabe: $1
log_delete=Gel&ouml;schte NFS-Freigabe: $1
log_apply=Angewandte &Auml;nderungen
 07070100015c4d000081a40000000000000002000000013d1fe2b8000000a1000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/en    log_modify=Modified NFS share $1
log_rename=Changed NFS share $1 to $2
log_create=Created NFS share $1
log_delete=Deleted NFS share $1
log_apply=Applied changes
   07070100015c54000081a40000000000000002000000013d1fe2b8000000c6000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/es    log_modify=Modificada compartición NFS $1
log_rename=Cambiada compartición NFS $1 por $2
log_create=Creada compartición NFS $1
log_delete=Borrada compartición NFS $1
log_apply=Aplicados los cambios
  07070100015c55000081a40000000000000002000000013d1fe2b9000000af000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/fr    log_modify=Partage NFS $1 modifié
log_rename=Partage NFS $1 modifié en $2
log_create=Partage NFS $1 créé
log_delete=Partage NFS $1 supprimé
log_apply=Modifications appliquées
 07070100015c56000081a40000000000000002000000013d1fe2b900000115000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/hu    # webmin-0.90dfsadmin/lang/hu
# translated by Gabor Keve <gabor.keve@it-worx.hu>
#
log_modify=$1 NFS megosztás módosítása
log_rename=$1 NFS megosztás cseréje $2 -re
log_create=NFS megosztás létrehozása $1 -re
log_delete=$1 NFS megosztás törlése
log_apply=Változások elfogadása
   07070100015c57000081a40000000000000002000000013d1fe2b9000000bf000000200000000000000000000000000000001e00000003reloc/dfsadmin/lang/ja_JP.euc log_modify=NFS ¶¦Í­ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_rename=NFS ¶¦Í­¤ò $1 ¤«¤é $2 ¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_create=NFS ¶¦Í­ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=NFS ¶¦Í­ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
 07070100015c58000081a40000000000000002000000013d1fe2b9000000a2000000200000000000000000000000000000001e00000003reloc/dfsadmin/lang/ko_KR.euc log_modify=NFS °øÀ¯ $1 ¼öÁ¤µÊ
log_rename=NFS °øÀ¯ $1ÀÌ(°¡) $2(À¸)·Î º¯°æµÊ
log_create=NFS °øÀ¯ $1 ÀÛ¼ºµÊ
log_delete=NFS °øÀ¯ $1 »èÁ¦µÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
  07070100015c59000081a40000000000000002000000013d1fe2b8000000ab000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/pl    log_modify=Zmieniono zasób NFS $1
log_rename=Zmieniono zasób NFS $1 na $2
log_create=Utworzono zasób NFS $1
log_delete=Skasowano zasób NFS $1
log_apply=Zastosowano zmiany
 07070100015c5a000081a40000000000000002000000013d1fe2b8000000b3000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/sv    log_modify=Modifierade NFS-resurs $1
log_rename=Ändrade NFS-resurs $1 till $2
log_create=Skapade NFS-resurs $1
log_delete=Tog bort NFS-resurs $1
log_apply=Tog ändringarna i drift
 07070100015c5b000081a40000000000000002000000013d1fe2b8000000c7000000200000000000000000000000000000001700000003reloc/dfsadmin/lang/tr    log_modify=NFS paylaþýmý $1 deðiþtirildi
log_rename=NFS paylaþýmý $1, $2'ye deðiþtirildi
log_create=NFS paylaþýmý $1 oluþturuldu
log_delete=NFS paylaþýmý $1 silindi
log_apply=Deðiþiklikler uygulandý
 070701000115b7000081a40000000000000002000000013d1fe2b900000372000000200000000000000000000000000000001d00000003reloc/dfsadmin/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'dfs-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'modify') {
	if ($p->{'old'} ne $p->{'directory'}) {
		return &text('log_rename',
			     "<tt>".&html_escape($p->{'old'})."</tt>",
			     "<tt>".&html_escape($p->{'directory'})."</tt>");
		}
	else {
		return &text('log_modify',
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
else {
	return undef;
	}
}

  070701000115b8000081a40000000000000002000000013d1fe2b90000000b000000200000000000000000000000000000001800000003reloc/dfsadmin/low.risk   noconfig=1
 070701000115b9000081a40000000000000002000000013d1fe2b900000011000000200000000000000000000000000000001900000003reloc/dfsadmin/low.skill  icons=1
simple=1
   070701000115c0000081a40000000000000002000000013d1fe2b90000000b000000200000000000000000000000000000001b00000003reloc/dfsadmin/medium.risk    noconfig=1
 070701000115c1000081a40000000000000002000000013d1fe2b900000011000000200000000000000000000000000000001c00000003reloc/dfsadmin/medium.skill   icons=0
simple=1
   070701000115c2000081a40000000000000002000000013d1fe2ea000001a0000000200000000000000000000000000000001b00000003reloc/dfsadmin/module.info    risk=low medium high
desc_ko_KR.euc=NFS °øÀ¯ 
desc_zh_TW.Big5=NFS ÀÉ®×¤À¨É
desc_de=NFS Freigaben
name=DFSadmin
desc_zh_CN=NFS ¹²Ïí
desc_pt=Partilhas de NFS
category=system
desc_tr=NFS Paylaþýmlarý
os_support=solaris unixware
desc=NFS Shares
desc_es=Carpetas Compartidas de NFS
desc_sv=NFS-resurser
desc_fr=Partages NFS
desc_ja_JP.euc=NFS ¶¦Í­
depends=0.990
version=0.990
desc_hu=NFS Megosztások
desc_ca=Recursos NFS
070701000115c3000081e40000000000000002000000013d1fe2b8000001eb000000200000000000000000000000000000002300000003reloc/dfsadmin/restart_sharing.cgi    #!/usr/local/bin/perl
# restart_sharing.cgi
# Call unshareall and shareall to stop and re-start file sharing

require './dfs-lib.pl';
$whatfailed = "Failed to apply changes";

$temp = &tempname();
&system_logged("$config{unshare_all_command} >/dev/null 2>&1");
&system_logged("$config{share_all_command} >/dev/null 2>$temp");
$why = `/bin/cat $temp`;
unlink($temp);
if ($why =~ /\S+/) {
	&error("Share failed : </h2><pre>$why</pre>");
	}
unlink($temp);
&webmin_log("apply");
&redirect("");

 070701000115c4000081e40000000000000002000000013d1fe2b800000f06000000200000000000000000000000000000001e00000003reloc/dfsadmin/save_share.cgi #!/usr/local/bin/perl
# save_share.cgi
# Save changes to a shared directory

require './dfs-lib.pl';
$whatfailed = "Failed to save share";
use Socket;
&ReadParse();
%access = &get_module_acl();
@shlist = &list_shares();

# check inputs
if ($in{directory} !~ /^\/.*/) {
	&error("$in{directory} is not a valid directory name");
	}
if (!(-d $in{directory})) {
	&error("The directory $in{directory} does not exist");
	}
@rolist = split(/\s+/, $in{rolist}); &check_hosts(@rolist);
@rwlist = split(/\s+/, $in{rwlist}); &check_hosts(@rwlist);
@rtlist = split(/\s+/, $in{rtlist}); &check_hosts(@rtlist);
if ($in{readwrite} == 2 && !@rwlist) {
	&error("You did not list any hosts to share read-write with");
	}
if ($in{readonly} == 2 && !@rolist) {
	&error("You did not list any hosts to share read-only with");
	}
if ($in{root} == 2 && !@rtlist) {
	&error("You did not list any hosts to share root with");
	}

# Remove from the read-only list any hosts shared read-write as well
if ($in{readwrite} == 1) {
	$in{readonly} = 0;
	}
elsif ($in{readwrite} == 2) {
	foreach $rwh (@rwlist) {
		if (($idx = &indexof($rwh, @rolist)) != -1) {
			splice(@rolist, $idx, 1);
			}
		}
	if (@rolist == 0 && $in{readonly} == 2) {
		$in{readonly} = 0;
		}
	}

&lock_file($config{dfstab_file});
foreach $s (@shlist) {
	$taken = $s if ($s->{'dir'} eq $in{directory});
	}

if (defined($in{'idx'})) {
	$share = $shlist[$in{'idx'}];
	$olddir = $share->{'dir'};
	}
$share->{'dir'} = $in{'directory'};
$share->{'desc'} = $in{'desc'};
$share->{'type'} = 'nfs';

if (defined($in{'idx'})) {
	# Changing an existing share
	if ($taken && $taken->{'index'} != $in{'idx'}) {
		&error("The directory $in{directory} is already being shared");
		}
	&parse_options($share->{'opts'});
	&set_options();
	$share->{'opts'} = &join_options();
	&modify_share($share);
	}
else {
	# Creating a new share
	if ($taken) {
		&error("The directory $in{directory} is already being shared");
		}
	&set_options();
	$share->{'opts'} = &join_options();
	&create_share($share);
	}
&unlock_file($config{dfstab_file});
if (defined($in{'idx'})) {
	&webmin_log('modify', 'share', $olddir, \%in);
	}
else {
	&webmin_log('create', 'share', $share->{'dir'}, \%in);
	}
&redirect("");


# set_options()
# Fill in the options associative array
sub set_options
{
if ($in{readonly} == 0) { delete($options{"ro"}); }
elsif ($in{readonly} == 1) { $options{"ro"} = ""; }
elsif ($in{readonly} == 2) { $options{"ro"} = join(':', @rolist); }

if ($in{readwrite} == 0) { delete($options{"rw"}); }
elsif ($in{readwrite} == 1) { $options{"rw"} = ""; }
elsif ($in{readwrite} == 2) { $options{"rw"} = join(':', @rwlist); }

if ($in{root} == 0) { delete($options{"root"}); }
elsif ($in{root} == 2) { $options{"root"} = join(':', @rtlist); }

if (!$access{'simple'}) {
	if ($in{nosub}) { $options{"nosub"} = ""; }
	else { delete($options{"nosub"}); }

	if ($in{nosuid}) { $options{"nosuid"} = ""; }
	else { delete($options{"nosuid"}); }

	if ($in{secure}) { $options{"secure"} = ""; }
	else { delete($options{"secure"}); }

	if ($in{kerberos}) { $options{"kerberos"} = ""; }
	else { delete($options{"kerberos"}); }

	if ($in{'anon_m'} == 0) { delete($options{"anon"}); }
	elsif ($in{'anon_m'} == 1) { $options{"anon"} = -1; }
	else { $options{"anon"} = getpwnam($in{"anon"}); }

	if ($in{aclok}) { $options{"aclok"} = ""; }
	else { delete($options{"aclok"}); }

	if ($gconfig{'os_version'} >= 7) {
		if ($in{'public'}) { $options{'public'} = ""; }
		else { delete($options{'public'}); }
		if (!$in{'index_def'}) { $options{'index'} = $in{'index'}; }
		else { delete($options{'index'}); }
		}
	}
}

# check_hosts(host, host, ...)
# Die if any of the listed hosts does not exist
sub check_hosts
{
local $h;
if ($gconfig{'os_version'} < 7) {
	foreach $h (@_) {
		if (!inet_aton($h)) { &error("The host $h does not exist"); }
		}
	}
}


  070701000171f0000041ed0000000000000001000000053d1ffa1300000000000000200000000000000000000000000000000c00000003reloc/dhcpd   070701000171f1000081a40000000000000002000000013d1fe2d700002311000000200000000000000000000000000000001c00000003reloc/dhcpd/acl_security.pl   
require 'dhcpd-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the dhcpd module
sub acl_security_form
{
print "<tr>\n<td><b>$text{'acl_apply'}</b></td> <td>\n";
printf "<input type=radio name=apply value=1 %s> $text{'yes'}\n",
		$_[0]->{'apply'} ? "checked" : "";
printf "<input type=radio name=apply value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'apply'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_global'}</b></td> <td>\n";
printf "<input type=radio name=global value=1 %s> $text{'yes'}\n",
		$_[0]->{'global'} ? "checked" : "";
printf "<input type=radio name=global value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'global'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_r_leases'}</b></td> <td>\n";
printf "<input type=radio name=r_leases value=1 %s> $text{'yes'}\n",
		$_[0]->{'r_leases'} ? "checked" : "";
printf "<input type=radio name=r_leases value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'r_leases'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_w_leases'}</b></td> <td>\n";
printf "<input type=radio name=w_leases value=1 %s> $text{'yes'}\n",
		$_[0]->{'w_leases'} ? "checked" : "";
printf "<input type=radio name=w_leases value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'w_leases'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# uniqs
print "<tr>\n<td><b>$text{'acl_uniq_hst'}</b></td> <td>\n";
printf "<input type=radio name=uniq_hst value=1 %s> $text{'yes'}\n",
		$_[0]->{'uniq_hst'} ? "checked" : "";
printf "<input type=radio name=uniq_hst value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'uniq_hst'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_uniq_sub'}</b></td> <td>\n";
printf "<input type=radio name=uniq_sub value=1 %s> $text{'yes'}\n",
		$_[0]->{'uniq_sub'} ? "checked" : "";
printf "<input type=radio name=uniq_sub value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'uniq_sub'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_uniq_sha'}</b></td> <td>\n";
printf "<input type=radio name=uniq_sha value=1 %s> $text{'yes'}\n",
		$_[0]->{'uniq_sha'} ? "checked" : "";
printf "<input type=radio name=uniq_sha value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'uniq_sha'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# security mode settings
print "<tr>\n<td><b>$text{'acl_seclevel'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=smode value=0 %s> 0\n",
		$_[0]->{'smode'} == 0 ? "checked" : "";
printf "<input type=radio name=smode value=1 %s> 1\n",
		$_[0]->{'smode'} == 1 ? "checked" : "";
printf "<input type=radio name=smode value=2 %s> 2\n",
		$_[0]->{'smode'} == 2 ? "checked" : "";
printf "<input type=radio name=smode value=3 %s> 3\n",
		$_[0]->{'smode'} == 3 ? "checked" : "";
print "</td>\n</tr>\n";

print "<tr>\n<td><b>$text{'acl_hide'}</b></td> <td>\n";
printf "<input type=radio name=hide value=1 %s> $text{'yes'}\n",
		$_[0]->{'hide'} == 1 ? "checked" : "";
printf "<input type=radio name=hide value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'hide'} == 0 ? "checked" : "";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# global acls
print "<tr>\n<td><b>$text{'acl_ahst'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_hst value=1 %s> %s\n",
		$_[0]->{'c_hst'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_hst value=1 %s> %s\n",
		$_[0]->{'r_hst'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_hst value=1 %s> %s\n",
		$_[0]->{'w_hst'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_agrp'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_grp value=1 %s> %s\n",
		$_[0]->{'c_grp'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_grp value=1 %s> %s\n",
		$_[0]->{'r_grp'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_grp value=1 %s> %s\n",
		$_[0]->{'w_grp'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_asub'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_sub value=1 %s> %s\n",
		$_[0]->{'c_sub'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_sub value=1 %s> %s\n",
		$_[0]->{'r_sub'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_sub value=1 %s> %s\n",
		$_[0]->{'w_sub'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_asha'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_sha value=1 %s> %s\n",
		$_[0]->{'c_sha'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_sha value=1 %s> %s\n",
		$_[0]->{'r_sha'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_sha value=1 %s> %s\n",
		$_[0]->{'w_sha'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# per-subnet and per-host acls
print "<tr><td><b>$text{'acl_per_sub_acls'}</b></td> <td>\n";
printf "<input type=radio name=per_sub_acls value=1 %s> $text{'yes'}\n",
		$_[0]->{'per_sub_acls'} ? "checked" : "";
printf "<input type=radio name=per_sub_acls value=0 %s> $text{'no'}\n",
		$_[0]->{'per_sub_acls'} ? "" : "checked";
print "</td></tr>\n";

print "<tr><td><b>$text{'acl_per_hst_acls'}</b></td> <td>\n";
printf "<input type=radio name=per_hst_acls value=1 %s> $text{'yes'}\n",
		$_[0]->{'per_hst_acls'} ? "checked" : "";
printf "<input type=radio name=per_hst_acls value=0 %s> $text{'no'}\n",
		$_[0]->{'per_hst_acls'} ? "" : "checked";
print "</td></tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr>\n<td $tb><b>$text{'acl_per_obj_acls'}</b></td></tr> \n";
&display_tree($_[0],&get_parent_config(),-2);
}

# acl_security_save(&options)
# Parse the form for security options for the sendmail module
sub acl_security_save
{
if ($in{'r_sub'} < $in{'w_sub'} || $in{'r_sha'} < $in{'w_sha'} ||
    $in{'r_hst'} < $in{'w_hst'} || $in{'r_grp'} < $in{'w_grp'}) {
	$whatfailed = $text{'acl_err'};
	&error($text{'acl_ernow'});
	}
$_[0]->{'apply'}=$in{'apply'};
$_[0]->{'global'}=$in{'global'};
$_[0]->{'r_leases'}=$in{'r_leases'};
$_[0]->{'w_leases'}=$in{'w_leases'};
$_[0]->{'uniq_hst'}=$in{'uniq_hst'};
$_[0]->{'uniq_sub'}=$in{'uniq_sub'};
$_[0]->{'uniq_sha'}=$in{'uniq_sha'};
$_[0]->{'smode'}=$in{'smode'};
$_[0]->{'hide'}=$in{'hide'};
$_[0]->{'per_hst_acls'}=$in{'per_hst_acls'};
$_[0]->{'per_sub_acls'}=$in{'per_sub_acls'};
$_[0]->{'c_sub'}=$in{'c_sub'};
$_[0]->{'r_sub'}=$in{'r_sub'};
$_[0]->{'w_sub'}=$in{'w_sub'};
$_[0]->{'c_sha'}=$in{'c_sha'};
$_[0]->{'r_sha'}=$in{'r_sha'};
$_[0]->{'w_sha'}=$in{'w_sha'};
$_[0]->{'c_hst'}=$in{'c_hst'};
$_[0]->{'r_hst'}=$in{'r_hst'};
$_[0]->{'w_hst'}=$in{'w_hst'};
$_[0]->{'c_grp'}=$in{'c_grp'};
$_[0]->{'r_grp'}=$in{'r_grp'};
$_[0]->{'w_grp'}=$in{'w_grp'};

foreach (keys %in) {
	  $_[0]->{$_}=$in{$_} if /^ACL\w\w\w_/;
	  }
}

# perm_to(permissions_string,obj_type,\%access,obj_name)
# check per-object permissions:
# permissions_string= 'rw' 'r' 'w' or you perm_to extend this system
# obj_type= 'sub' for subnets, or  'hst' for hosts.
sub perm_to
{
local $acl=$_[2]->{'ACL'.$_[1].'_'.$_[3]};
foreach (split //,$_[0]) {
    return 0 if index($acl,$_) == -1;
    }
return 1;
}

# link config node names and acl categories
%onames=qw(shared-network sha subnet sub group grp host hst);

# display_tree(\%access,\%config_node,display_padding)
sub display_tree
{
local ($acc, $node, $pad)=@_;
if (defined($node->{'name'})) {
	&display_node($acc,$node,$pad) if exists $onames{$node->{'name'}} ;
	}
$pad+=2;
if($node->{'members'}) {
    # recursevly process this subtree
	foreach (@{$node->{'members'}}) { &display_tree($acc, $_, $pad); }
	}
return 1;
}

# display_node(\%access, \%node, padding)									
sub display_node
{
local($acc,$node,$padding)=@_;
local $name=$node->{'values'}->[0];
local $nodetype=$onames{$node->{'name'}};
local $aclname='ACL'.$nodetype.'_'.$name;

print "<tr>\n<td>","&nbsp"x$padding,
	  " $node->{'name'}: <b>$name</b></td>\n";

if (($nodetype eq 'hst')||($nodetype eq 'sub')) {
	print "<td colspan=3>\n";
	if($acc->{$aclname}) {
		printf "<input type=radio name=$aclname value='' %s> %s\n",
				!&perm_to('r',$nodetype,$acc,$name) ? 
					"checked" : "", $text{"acl_na"};
		printf "<input type=radio name=$aclname value='r' %s> %s\n",
				&perm_to('r',$nodetype,$acc,$name) && 
				!&perm_to('rw',$nodetype,$acc,$name) ? 
					"checked" : "",$text{"acl_r1"};
		printf "<input type=radio name=$aclname value='rw' %s> %s\n",
				&perm_to('rw',$nodetype,$acc,$name) ? 
					"checked" : "", $text{"acl_rw"};
		}
	else {
		printf "<input type=radio name=$aclname value='' checked> %s\n",
				$text{"acl_na"};
		printf "<input type=radio name=$aclname value='r'> %s\n", 
				$text{"acl_r1"};
		printf "<input type=radio name=$aclname value='rw'> %s\n",
				$text{"acl_rw"};
		}
	print "</td>\n";
	}
print "</tr>\n";		
}

1;   070701000171f3000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002000000003reloc/dhcpd/config-cobalt-linux   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000171f4000081a40000000000000002000000013d1fe2d700000099000000200000000000000000000000000000001f00000003reloc/dhcpd/config-corel-linux    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/db/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000171f5000081a40000000000000002000000013d1fe2d70000009b000000200000000000000000000000000000002000000003reloc/dhcpd/config-debian-linux   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 070701000171f6000081a40000000000000002000000013d1fe2d7000000a9000000200000000000000000000000000000001b00000003reloc/dhcpd/config-freebsd    dhcpd_conf=/usr/local/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/local/sbin/dhcpd
lease_file=/var/db/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000171f7000081a40000000000000002000000013d1fe2d700000096000000200000000000000000000000000000002100000003reloc/dhcpd/config-generic-linux  dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  070701000171f8000081a40000000000000002000000013d1fe2d7000000a4000000200000000000000000000000000000002000000003reloc/dhcpd/config-gentoo-linux   dhcpd_conf=/etc/dhcp/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
070701000171f9000081a40000000000000002000000013d1fe2d700000092000000200000000000000000000000000000001800000003reloc/dhcpd/config-irix   dhcpd_conf=/etc/dhcpd.conf
pid_file=/etc/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  070701000171fc000081a40000000000000002000000013d1fe2d700000085000000200000000000000000000000000000002200000003reloc/dhcpd/config-mandrake-linux dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
   070701000171fd000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000001d00000003reloc/dhcpd/config-msc-linux  dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000171fe000081a40000000000000002000000013d1fe2d700000099000000200000000000000000000000000000001a00000003reloc/dhcpd/config-netbsd dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/db/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000171ff000081a40000000000000002000000013d1fe2d700000096000000200000000000000000000000000000001e00000003reloc/dhcpd/config-open-linux dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  07070100017200000081a40000000000000002000000013d1fe2d70000009b000000200000000000000000000000000000002300000003reloc/dhcpd/config-open-linux-3.1e    dhcpd_conf=/etc/dhcp/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 07070100017201000081a40000000000000002000000013d1fe2d700000099000000200000000000000000000000000000001b00000003reloc/dhcpd/config-openbsd    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/db/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017202000081a40000000000000002000000013d1fe2d700000092000000200000000000000000000000000000001e00000003reloc/dhcpd/config-openserver dhcpd_conf=/etc/dhcpd.conf
pid_file=/etc/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  07070100017203000081a40000000000000002000000013d1fe2d700000092000000200000000000000000000000000000001800000003reloc/dhcpd/config-osf1   dhcpd_conf=/etc/dhcpd.conf
pid_file=/etc/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  07070100017204000081a40000000000000002000000013d1fe2d700000096000000200000000000000000000000000000002000000003reloc/dhcpd/config-redhat-linux   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  07070100017206000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-6.0   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017208000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-6.1   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017209000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-6.2   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   0707010001720a000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-7.0   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 0707010001720b000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-7.1   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 0707010001720c000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-7.2   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 0707010001720d000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002400000003reloc/dhcpd/config-redhat-linux-7.3   dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 0707010001720e000081a40000000000000002000000013d1fe2d70000009c000000200000000000000000000000000000002300000003reloc/dhcpd/config-slackware-linux    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
0707010001720f000081a40000000000000002000000013d1fe2d7000000a2000000200000000000000000000000000000002700000003reloc/dhcpd/config-slackware-linux-4.0    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcpd/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  07070100017211000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002700000003reloc/dhcpd/config-slackware-linux-7.1    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017212000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002700000003reloc/dhcpd/config-slackware-linux-8.0    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017213000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000002700000003reloc/dhcpd/config-slackware-linux-8.1    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   07070100017214000081a40000000000000002000000013d1fe2d700000092000000200000000000000000000000000000001b00000003reloc/dhcpd/config-solaris    dhcpd_conf=/etc/dhcpd.conf
pid_file=/etc/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  070701000173d5000081a40000000000000002000000013d1fe2d7000000a1000000200000000000000000000000000000001e00000003reloc/dhcpd/config-suse-linux dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/state/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
   070701000173d6000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002200000003reloc/dhcpd/config-suse-linux-7.1 dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 070701000173d7000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002200000003reloc/dhcpd/config-suse-linux-7.2 dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 070701000173da000081a40000000000000002000000013d1fe2d700000096000000200000000000000000000000000000001f00000003reloc/dhcpd/config-turbo-linux    dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  070701000173d8000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002200000003reloc/dhcpd/config-suse-linux-7.3 dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 070701000173d9000081a40000000000000002000000013d1fe2d70000009f000000200000000000000000000000000000002200000003reloc/dhcpd/config-suse-linux-8.0 dhcpd_conf=/etc/dhcpd.conf
pid_file=/var/run/dhcpd.pid
dhcpd_path=/usr/sbin/dhcpd
lease_file=/var/lib/dhcp/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
 070701000173db000081a40000000000000002000000013d1fe2d7000000b6000000200000000000000000000000000000001c00000003reloc/dhcpd/config-unixware   dhcpd_conf=/usr/local/etc/dhcpd.conf
pid_file=/usr/local/etc/dhcpd.pid
dhcpd_path=/usr/local/sbin/dhcpd
lease_file=/usr/local/etc/dhcpd.leases
lease_sort=0
dhcpd_nocols=5
lease_tz=0
  070701000173dc000081a40000000000000002000000013d1fe2d700000197000000200000000000000000000000000000001800000003reloc/dhcpd/config.info   dhcpd_conf=DHCP server config file,0
dhcpd_path=DHCP server executable,0
interfaces=Interfaces to run DHCP on,3,Automatic
pid_file=Path to DHCP server PID file,0
lease_file=DHCP server lease file,0
lease_sort=Sort leases by,1,0-Order in file,1-IP address,2-Hostname
hostnet_list=Display subnets and hosts as,1,0-Icons,1-List
dhcpd_nocols=Icons in row,0
lease_tz=Display leases times in,1,0-GMT,1-Local time
 070701000173dd000081a40000000000000002000000013d1fe2d700000204000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.ca    dhcpd_conf=Fitxer de configuració del servidor DHCP,0
dhcpd_path=Executable servidor DHCP,0
interfaces=Interfícies sobre les quals s'executa,3,Automàtic
pid_file=Camí del fitxer de PID del servidor DHCP,0
lease_file=Fitxer de <i>lease</i> del servidor DHCP,0
lease_sort=Ordena els <i>lease</i> per,1,0-l'ordre del fitxer,1-Adreça IP,2-Nom de Host
hostnet_list=Mostra les subxarxes i hosts com,1,0-Icones,1-Llista
dhcpd_nocols=Nombre d'icones per fila,0
lease_tz=Mostra els temps de préstec en,1,0-GMT,1-Hora local


070701000173de000081a40000000000000002000000013d1fe2d7000000ff000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.de    dhcpd_conf=DHCP Server Konfigurationsdatei,0
dhcpd_path=Ausf&uuml;hrbare Datei des DHCP Server,0
interfaces=Netzwerkanschl&uuml;sse&#44; an denen der DHCP horcht,3,Automatisch
pid_file=Pfad zur DHCP Server PID Datei,0
lease_file=DHCP Server Lease Datei,0
 070701000173df000081a40000000000000002000000013d1fe2d7000001fd000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.es    dhcpd_conf=Archivo de configuración del servidor DHCP,0
dhcpd_path=Ejecutable del servidor DHCP,0
interfaces=Interfaces donde ejecutar DHCP,3,Automática
pid_file=Trayectoria a archivo PID del servidor DHCP,0
lease_file=Archivo de arriendo del servidor DHCP,0
lease_sort=Clasificar arriendos por,1,0-Orden en archivo,1-Direcciones IP,2-Nombre de máquina
hostnet_list=Mostrar subredes y máquinas como,1,0-Iconos,1-Lista
dhcpd_nocols=Iconos en fila,0
lease_tz=Mostrar tiempos de arriendo en,1,0-GMT,1-Hora local
   070701000173e0000081a40000000000000002000000013d1fe2d70000010d000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.fr    dhcpd_conf=Fichier de configuration du serveur DHCP,0
dhcpd_path=Exécutable du serveur DHCP,0
interfaces=Interfaces sur lequel s'exécute DHCP,3,Automatique
pid_file=Chemin du fichier de numéro de processus du serveur DHCP,0
lease_file=Fichier d'attribution DHCP,0
   070701000173e1000081a40000000000000002000000013d1fe2d700000178000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.nl    dhcpd_conf=Configuratie bestand,0
dhcpd_path=Programma bestand,0
interfaces=Welke interfaces,3,Automatisch
pid_file=PID bestand,0
lease_file=Lease bestand,0
lease_sort=Sorteer leases per,1,0-Volgorde in bestand,1-IP adres,2-Hostnaam
hostnet_list=Toon subnetten en hosts als,1,0-Iconen,1-Lijst
dhcpd_nocols=Iconen per rij,0
lease_tz=Toon leases tijden in,1,0-GMT,1-Lokale tijd
070701000173e2000081a40000000000000002000000013d1fe2d700000201000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.pl    dhcpd_conf=Plik konfiguracyjny serwera DHCP,0
dhcpd_path=Plik programu serwera DHCP,0
interfaces=Interfejsy&#44; na których ma pracowaæ DHCP,3,Automatycznie
pid_file=¦cie¿ka do pliku z&nbsp;numerem PID serwera DHCP,0
lease_file=Plik dzier¿aw serwera DHCP,0
lease_sort=Uporz±dkuj dzier¿awy wg,1,0-Kolejno¶ci w&nbsp;pliku,1-Adresów IP,2-Nazw hostów
hostnet_list=Poka¿ podsieci i&nbsp;hosty jako,1,0-Ikony,1-Listê
dhcpd_nocols=Ilo¶æ ikon w&nbsp;wierszu,0
lease_tz=Pokazuj czas dzier¿awy wg,1,0-GMT,1-Czasu lokalnego
   070701000173e3000081a40000000000000002000000013d1fe2d7000000ed000000200000000000000000000000000000001e00000003reloc/dhcpd/config.info.ru_RU dhcpd_conf=Êîíôèãóðàöèîííûé ôàéë DHCP ñåðâåðà,0
lease_file=Ôàéë àðåíä DHCP ñåðâåðà,0
pid_file=Ïóòü ê pid ôàéëó DHCP ñåðâåðà,0
interfaces=Èíòåðôåéñû îáñëóæèâàåìûå DHCP ñåðâåðîì,3,Àâòîìàòè÷åñêè
dhcpd_path=Èñïîëíÿåìûé ìîäóëü DHCP ñåðâåðà,0
   070701000173e4000081a40000000000000002000000013d1fe2d7000000ed000000200000000000000000000000000000001e00000003reloc/dhcpd/config.info.ru_SU dhcpd_conf=ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ DHCP ÓÅÒ×ÅÒÁ,0
dhcpd_path=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ DHCP ÓÅÒ×ÅÒÁ,0
interfaces=éÎÔÅÒÆÅÊÓÙ ÏÂÓÌÕÖÉ×ÁÅÍÙÅ DHCP ÓÅÒ×ÅÒÏÍ,3,á×ÔÏÍÁÔÉÞÅÓËÉ
pid_file=ðÕÔØ Ë pid ÆÁÊÌÕ DHCP ÓÅÒ×ÅÒÁ,0
lease_file=æÁÊÌ ÁÒÅÎÄ DHCP ÓÅÒ×ÅÒÁ,0
   070701000173e5000081a40000000000000002000000013d1fe2d70000017f000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.sv    dhcpd_conf=Konfigurationsfil för DHCP-server,0
dhcpd_path=Exekverbar fil för DHCP-server,0
interfaces=DHCP kör på interface,3,Automatiskt
pid_file=Sökväg till PID-fil för DHCP-server,0
lease_file=Lånefil för DHCP-server,0
lease_sort=Sortera lån efter,1,0-ordning i filen,1-IP-adress,2-datornamn
hostnet_list=Visa delnät och datorer som,1,0-Ikoner,1-Lista
dhcpd_nocols=ikoner i rad,0
 070701000173e6000081a40000000000000002000000013d1fe2d7000000f1000000200000000000000000000000000000001b00000003reloc/dhcpd/config.info.tr    dhcpd_conf=DHCP sunucusu yapýlandýrma dosyasý,0
dhcpd_path=DHCP sunucusu çalýþtýrma dosyasý,0
interfaces=DHCP'nin çalýþacaðý arayüzler,3,Otomatik
pid_file=DHCP sunucusu pid dosyasý yolu,0
lease_file=DHCP sunucusu istemci kayýtlarý dosyasý,0
   070701000173e7000081a40000000000000002000000013d1fe2d7000000a2000000200000000000000000000000000000001e00000003reloc/dhcpd/config.info.zh_CN dhcpd_conf=DHCP·þÎñÆ÷ÅäÖÃÎÄ¼þ,0
dhcpd_path=DHCP·þÎñÆ÷Ö´ÐÐÎÄ¼þ,0
interfaces=ÔËÐÐDHCP½çÃæ,3,×Ô¶¯
pid_file=DHCP·þÎñÆ÷pidÎÄ¼þµÄÂ·¾¶,0
lease_file=DHCP·þÎñÆ÷×âÁÞÎÄ¼þ,0
  070701000173e8000081a40000000000000002000000013d1fe2d7000000af000000200000000000000000000000000000002300000003reloc/dhcpd/config.info.zh_TW.Big5    dhcpd_conf=DHCP ¦øªA¾¹²ÕºAÀÉ,0
dhcpd_path=DHCP ¦øªA¾¹°õ¦æÀÉ,0
interfaces=°õ¦æ DHCP ªº¤¶­±¦b,3,¦Û°Ê
pid_file=¨ì DHCP ¦øªA¾¹ PID ÀÉ®×ªº¸ô®|,0
lease_file=DHCP ¦øªA¾¹ªº¯²¬ùÀÉ®×,0
 070701000173e9000081e40000000000000002000000013d1fe2d700000c39000000200000000000000000000000000000001f00000003reloc/dhcpd/confirm_delete.cgi    #!/usr/local/bin/perl
# save_shared.cgi
# Update, create or delete a shared network

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$par = &get_parent_config();
foreach $i ($in{'sidx'}, $in{'uidx'}, $in{'idx'}) {
	if ($i ne "") {
		$par = $par->{'members'}->[$i];
		}
	}

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");

@host = &find("host", $par->{'members'});
@group = &find("group", $par->{'members'});
@subn = &find("subnet", $par->{'members'});
if ($in{'type'} == 0) {
	&error("$text{'eacl_np'} $text{'eacl_pdn'}")
		if !&can('rw', \%access, $par, 1);
	}
elsif ($in{'type'} == 1) {
	&error("$text{'eacl_np'} $text{'eacl_pds'}")
		if !&can('rw', \%access, $par, 1);
	}
elsif ($in{'type'} == 2) {
	&error("$text{'eacl_np'} $text{'eacl_pdg'}")
		if !&can('rw', \%access, $par, 1);
	}
if ($in{'type'} == 0) {
	foreach $s (@subn) {
		&error("$text{'eacl_np'} $text{'eacl_pds'}")
			if !&can('rw', \%access, $s, 1);
		}
	}
if ($in{'type'} < 2) {
	foreach $g (@group) {
		&error("$text{'eacl_np'} $text{'eacl_pdg'}")
			if !&can('rw', \%access, $g, 1);
		}
	}
foreach $h (@host) {
	&error("$text{'eacl_np'} $text{'eacl_pdh'}")
		if !&can('rw', \%access, $h, 1);
	}

if ($in{'type'} == 0) {
	$name = $par->{'values'}->[0];
	}
elsif ($in{'type'} == 1) {
	$name = $par->{'values'}->[0]."/".$par->{'values'}->[2];
	}
elsif ($in{'type'} == 2) {
	local $gm = @host;
	$name = &group_name($gm);
	}
else {
	&error($text{'cdel_eunknown'});
	}

&header($text{'cdel_header'}, "");
@types1 = ($text{'cdel_shared1'}, $text{'cdel_subnet1'}, $text{'cdel_group1'});
@types2 = ($text{'cdel_shared2'}, $text{'cdel_subnet2'}, $text{'cdel_group2'});
print "<hr>\n";
print &text('cdel_txt', $types1[$in{'type'}], $name), "<br><br>\n";

if (@host > 0) {
	print ((@host > 1) ? $text{'cdel_hosts'} : $text{'cdel_host'});
	print ": ";
	$start = 1;
	foreach $i (@host) {
		if ($start) { $start = 0; }
		else { print ", " }
		print $i->{'values'}->[0];
		}
	print "<br>\n";
	}
if (@group > 0) {
	print ((@group > 1) ? $text{'cdel_groups'} : $text{'cdel_group'});
	print ":";
	$start = 1;
	foreach $i (@group) {
		local (@ghosts, $gm);
		if ($start) { $start = 0; }
		else { print ", " }
		@ghosts = &find("host", $i->{'members'});
		$gm = @ghosts;
		print &group_name($gm);
		}
	print "<br>\n";
	}
if (@subn > 0) {
	print ((@subn > 1) ? $text{'cdel_subnets'} : $text{'cdel_subnet'});
	print ": ";
	$start = 1;
	foreach $i (@subn) {
		if ($start) { $start = 0; }
		else { print ", " }
		print $i->{'values'}->[0], "/", $i->{'values'}->[2];
		}
	print "<br>\n";
	}

print "<form action=delete_all.cgi>\n";
print "<input name=idx value=\"$in{'idx'}\" type=hidden>\n";
print "<input name=uidx value=\"$in{'uidx'}\" type=hidden>\n";
print "<input name=sidx value=\"$in{'sidx'}\" type=hidden>\n";

print "<b>", text('cdel_confirm', $types2[$in{'type'}]), "</b>\&nbsp;\&nbsp;\&nbsp;";
print "<input type=submit name=delete value=\"$text{'yes'}\">\n";
print "<input type=submit value=\"$text{'no'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'cdel_return'});

   070701000173ea000081a40000000000000002000000013d1fe2d7000000d5000000200000000000000000000000000000001700000003reloc/dhcpd/defaultacl    c_sub=1
r_sub=1
w_sub=1
c_sha=1
r_sha=1
w_sha=1
c_hst=1
r_hst=1
w_hst=1
c_grp=1
r_grp=1
w_grp=1
uniq_hst=0
uniq_sub=0
uniq_sha=0
smode=0
hide=1
per_hst_acls=0
per_sub_acls=0
r_leases=1
w_leases=1
global=1
apply=1
   070701000173eb000081e40000000000000002000000013d1fe2d70000086d000000200000000000000000000000000000001b00000003reloc/dhcpd/delete_all.cgi    #!/usr/local/bin/perl
# save_shared.cgi
# Update, create or delete a shared network

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
if (!($in{'delete'} eq $text{'yes'})) {
	&redirect("");
	}
&lock_file($config{'dhcpd_conf'});
$par = &get_parent_config();
foreach $i ($in{'sidx'}, $in{'uidx'}) {
	if ($i ne "") {
		$par = $par->{'members'}->[$i];
		}
	}
$parconf = $par->{'members'};
$to_del = $parconf->[$in{'idx'}];
@host = &find("host", $to_del->{'members'});
@group = &find("group", $to_del->{'members'});
@subn = &find("subnet", $to_del->{'members'});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($to_del->{'name'} eq "group") {
	&error("$text{'eacl_np'} $text{'eacl_pdg'}")
		if !&can('rw', \%access, $to_del, 1);
	}
elsif ($to_del->{'name'} eq "subnet") {
	$type = 'sub';
	&error("$text{'eacl_np'} $text{'eacl_pds'}")
		if !&can('rw', \%access, $to_del, 1);
	foreach $g (@group) {
		&error("$text{'eacl_np'} $text{'eacl_pdg'}")
			if !&can('rw', \%access, $g, 1);
		}
	}
elsif ($to_del->{'name'} eq "shared") {
	&error("$text{'eacl_np'} $text{'eacl_pdn'}")
		if !&can('rw', \%access, $to_del, 1);
	foreach $s (@subn) {
		&error("$text{'eacl_np'} $text{'eacl_pds'}")
			if !&can('rw', \%access, $s, 1);
		}
	foreach $g (@group) {
		&error("$text{'eacl_np'} $text{'eacl_pdg'}")
			if !&can('rw', \%access, $g, 1);
		}
	}
else {
	&error($text{'cdel_eunknown'});
	}

foreach $h (@host) {
	&error("$text{'eacl_np'} $text{'eacl_pdh'}")
		if !&can('rw', \%access, $h, 1);
	}

if ($type) {
	&drop_dhcpd_acl($type, \%access, $to_del);
	}
&save_directive($par, [ $to_del ], [ ], 0);
&flush_file_lines();
&unlock_file($config{'dhcpd_conf'});
if ($to_del->{'name'} eq "group") {
	@count = &find("host", $group->{'members'});
	&webmin_log('delete', 'group', join(",", map { $_->{'values'}->[0] } @count), \%in);
	}
elsif ($to_del->{'name'} eq "subnet") {
	&webmin_log('delete', 'subnet', "$sub->{'values'}->[0]/$sub->{'values'}->[2]", \%in);
	}
elsif ($to_del->{'name'} eq "shared") {
	&webmin_log('delete', 'shared', $sha->{'values'}->[0], \%in);
	}

&redirect("");
   070701000173ed000081e40000000000000002000000013d1fe2d70000474d000000200000000000000000000000000000001900000003reloc/dhcpd/dhcpd-lib.pl  # dhcpd-lib.pl
# Functions for parsing the DHCPD config file

do '../web-lib.pl';
&init_config();

# get_parent_config()
# Returns a dummy parent structure for the DHCP config
sub get_parent_config
{ 
return $get_parent_config_cache if ($get_parent_config_cache);
return ($get_parent_config_cache =
		{
		 'file' => $config{'dhcpd_conf'},
	     'members' => &get_config(),
	     'line' => -1,
	     'eline' => $get_config_lines 
		  } );
}

# get_config()
# Parses the DHCPD config file into a data structure
sub get_config
{
return \@get_config_cache if (@get_config_cache);
local @rv = &get_config_file($config{'dhcpd_conf'}, \$get_config_lines);
@get_config_cache = @rv;
return \@get_config_cache;
}

# get_config_file(file, [&lines])
sub get_config_file
{
local (@tok, $i, $j, @rv, $c);
$i = 0; $j = 0;
local $lines = &tokenize_file($_[0], \@tok);
${$_[1]} = $lines if ($_[1]);
while($i < @tok) {
	local $str = &parse_struct(\@tok, \$i, $j++, $_[0]);
	if ($str) {
		if ($str->{'name'} eq 'include') {
			# Expand the include directive
			local $p = $str->{'values'}->[0];
			if ($p !~ /^\//) {
				$config{'dhcpd_conf'} =~ /^(\S+)\//;
				$p = "$1/$p";
				}
			local @inc = &get_config_file($p);
			$j--;
			foreach $c (@inc) {
				$c->{'index'} += $j;
				}
			push(@rv, @inc);
			$j += scalar(@inc);
			}
		else {
			push(@rv, $str);
			}
		}
	}
return @rv;
}

# tokenize_file(file, &tokens)
sub tokenize_file
{
local $lines = 0;
local ($line, $cmode);
open(FILE, $_[0]);
while($line = <FILE>) {
	# strip comments
	$line =~ s/\r|\n//g;
	$line =~ s/^([^"#]*)#.*$/$1/g;
	$line =~ s/^([^"]*)\/\/.*$/$1/g;
	$line =~ s/\s+#.*$//g;
	$line =~ s/\\"/\\176/g;
	while(1) {
		if (!$cmode && $line =~ /\/\*/ && $line !~ /\".*\/\*.*\"/) {
			# start of a C-style comment
			$cmode = 1;
			$line =~ s/\/\*.*$//g;
			}
		elsif ($cmode) {
			if ($line =~ /\*\//) {
				# end of comment
				$cmode = 0;
				$line =~ s/^.*\*\///g;
				}
			else { $line = ""; last; }
			}
		else { last; }
		}

	# split line into tokens
	while(1) {
		if ($line =~ /^\s*"([^"]*)"(.*)$/) {
			push(@{$_[1]}, [ $1, 1, $lines ]); $line = $2;
			}
		elsif ($line =~ /^\s*([{};])(.*)$/) {
			push(@{$_[1]}, [ $1, 0, $lines ]); $line = $2;
			}
		elsif ($line =~ /^\s*([^{}; \t]+)(.*)$/) {
			push(@{$_[1]}, [ $1, 0, $lines ]); $line = $2;
			}
		else { last; }
		}
	$lines++;
	}
close(FILE);
return $lines;
}

# parse_struct(&tokens, &token_num, index, file)
# A structure can either have one value, or a list of values.
# Pos will end up at the start of the next structure
sub parse_struct
{
local(%str, $i, $t, @vals, @quotes, $str, @text);
$i = ${$_[1]};
$str{'name'} = $_[0]->[$i]->[0];
$str{'line'} = $_[0]->[$i]->[2];
while(1) {
	$t = $_[0]->[++$i];
	if ($t->[0] eq "{" || $t->[0] eq ";") { last; }
	elsif (!defined($t->[0])) { ${$_[1]} = $i; return undef; }
	else { push(@vals, $t->[0]); push(@quotes, $t->[1]); }
	push(@text, $t->[1] ? "\"$t->[0]\"" : $t->[0]);
	}
$str{'values'} = \@vals;
$str{'quotes'} = \@quotes;
$str{'value'} = $vals[0];
$str{'text'} = join(" ", @text);
$str{'index'} = $_[2];
$str{'file'} = $_[3];
if ($t->[0] eq "{") {
	# contains sub-structures.. parse them
	local(@mems, $j);
	$i++;		# skip {
	$str{'type'} = 1;
	$j = 0;
	while($_[0]->[$i]->[0] ne "}") {
		if (!defined($_[0]->[$i]->[0]))
			{ ${$_[1]} = $i; return undef; }
		$str = &parse_struct($_[0], \$i, $j++, $_[3]);
		if ($str) { push(@mems, $str); }
		}
	$str{'members'} = \@mems;
	$i++;		# skip trailing }
	}
else {
	# only a single value..
	$str{'type'} = 0;
	$i++;	# skip trailing ;
	}
$str{'eline'} = $_[0]->[$i-1]->[2];	# ending line is the line number the
					# trailing ; is on
${$_[1]} = $i;
return \%str;
}

# find(name, &array)
sub find
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &array)
sub find_value
{
local(@v);
@v = &find($_[0], $_[1]);
if (!@v) { return undef; }
elsif (wantarray) { return map { $_->{'value'} } @v; }
else { return $v[0]->{'value'}; }
}

# choice_input(text, name, &config, [display, option]+)
sub choice_input
{
local($rv, $v, $i, @ops);
$rv = "<td><b>$_[0]</b></td> <td>";
$v = &find_value($_[1], $_[2]);
for($i=3; $i<@_; $i+=2) {
	@ops = split(/,/, $_[$i+1]);
	$rv .= "<input type=radio name=$_[1] value=\"$ops[0]\" ".
		($v eq $ops[0] ? "checked" : "").">$_[$i]\n";
	}
return $rv."</td>\n";
}

# wide_choice_input(text, name, &config, [display, option]+)
sub wide_choice_input
{
local($rv, $v, $i, @ops);
$rv = "<td><b>$_[0]</b></td> <td colspan=3>";
$v = &find_value($_[1], $_[2]);
for($i=3; $i<@_; $i+=2) {
	@ops = split(/,/, $_[$i+1]);
	$rv .= "<input type=radio name=$_[1] value=\"$ops[0]\" ".
		($v eq $ops[0] ? "checked" : "").">$_[$i]\n";
	}
return $rv."</td>\n";
}

# save_choice(name, &parent, indent)
sub save_choice
{
local($nd);
if ($in{$_[0]}) { $nd = { 'name' => $_[0], 'values' => [ $in{$_[0]} ] }; }
&save_directive($_[1], $_[0], $nd ? [ $nd ] : [ ], $_[2], 1);
}

# addr_match_input(text, name, &config)
# A field for editing a list of addresses, ACLs and partial IP addresses
sub addr_match_input
{
local($v, $rv, $av, @av);
$v = &find($_[1], $_[2]);
$rv = "<td><b>$_[0]</b></td> <td>";
$rv .= "<input type=radio name=$_[1]_def value=1 ".
       ($v ? "" : "checked").">Default ";
$rv .= "<input type=radio name=$_[1]_def value=0 ".
       ($v ? "checked" : "").">Listed..<br>";
foreach $av (@{$v->{'members'}}) { push(@av, $av->{'name'}); }
$rv .= "<textarea name=$_[1] rows=3 cols=15>".
	join("\n", @av)."</textarea></td>\n";
}

sub save_addr_match
{
local($addr, @vals, $dir);
if ($in{"$_[0]_def"}) { &save_directive($_[1], $_[0], [ ], $_[2], 1); }
else {
	foreach $addr (split(/\s+/, $in{$_[0]})) {
		push(@vals, { 'name' => $addr });
		}
	$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
	&save_directive($_[1], $_[0], [ $dir ], $_[2], 1);
	}
}

# address_input(text, name, &config, type)
sub address_input
{
local($v, $rv, $av, @av);
$v = &find($_[1], $_[2]);
foreach $av (@{$v->{'members'}}) { push(@av, $av->{'name'}); }
if ($_[3] == 0) {
	# text area
	$rv = "<td><b>$_[0]</b></td> <td>";
	$rv .= "<textarea name=$_[1] rows=3 cols=15>".
		join("\n", @av)."</textarea></td>\n";
	}
else {
	$rv = "<td><b>$_[0]</b></td> <td colspan=3>";
	$rv .= "<input name=$_[1] size=50 value=\"".join(' ',@av)."\"></td>\n";
	}
return $rv;
}

sub save_address
{
local($addr, @vals, $dir);
foreach $addr (split(/\s+/, $in{$_[0]})) {
	&check_ipaddress($addr) || &error("'$addr' is not a valid IP address");
	push(@vals, { 'name' => $addr });
	}
$dir = { 'name' => $_[0], 'type' => 1, 'members' => \@vals };
&save_directive($_[1], $_[0], @vals ? [ $dir ] : [ ], $_[2], 1);
}

# opt_input(text, name, &config, default, size, units)
sub opt_input
{
local($v, $rv);
$v = &find($_[1], $_[2]);
$rv = "<td><b>$_[0]</b></td> <td nowrap";
$rv .= $_[4] > 30 ? " colspan=3>\n" : ">\n";
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\"> $_[5]</td>\n",
	$v ? $v->{'value'} : "";
return $rv;
}

# save_opt(name, &func, &parent, [indent], [quote])
sub save_opt
{
local($dir);
if ($in{"$_[0]_def"}) { &save_directive($_[2], $_[0], [ ], $_[3], 1); }
elsif ($_[1] && ($err = &{$_[1]}($in{$_[0]}))) {
	&error($err);
	}
else {
	$dir = { 'name' => $_[0],
		 'values' => [ $in{$_[0]} ],
		 'quotes' => [ $_[4] ] };
	&save_directive($_[2], $_[0], [ $dir ], $_[3], 1);
	}
}

# save_directive(&parent, [name|&oldvalues], &values, indent, start)
# Given a structure containing a directive name, type, values and members
# add, update or remove that directive in config structure and data files.
# Updating of files assumes that there is no overlap between directives -
# each line in the config file must contain part or all of only one directive.
sub save_directive
{
local(@oldv, @newv, $pm, $i, $o, $n, $lref, @nl);
$pm = $_[0]->{'members'};
@oldv = ref($_[1]) ? @{$_[1]} : &find($_[1], $pm);
@newv = @{$_[2]};
for($i=0; $i<@oldv || $i<@newv; $i++) {
	if ($i >= @oldv && $_[4]) {
		# a new directive is being added.. put it at the start of
		# the parent
		$lref = &read_file_lines($_[0]->{'file'});
		@nl = &directive_lines($newv[$i], $_[3]);
		splice(@$lref, $_[0]->{'line'}+1, 0, @nl);
		&renumber(&get_config(), $_[0]->{'line'}+1,
			  $_[0]->{'file'}, scalar(@nl));
		&renumber_index($_[0]->{'members'}, 0, 1);
		$newv[$i]->{'file'} = $_[0]->{'file'};
		$newv[$i]->{'line'} = $_[0]->{'line'}+1;
		$newv[$i]->{'eline'} = $_[0]->{'line'} + scalar(@nl);
		unshift(@$pm, $newv[$i]);
		}
	elsif ($i >= @oldv) {
		# a new directive is being added.. put it at the end of
		# the parent
		$lref = &read_file_lines($_[0]->{'file'});
		@nl = &directive_lines($newv[$i], $_[3]);
		splice(@$lref, $_[0]->{'eline'}, 0, @nl);
		&renumber(&get_config(), $_[0]->{'eline'},
			  $_[0]->{'file'}, scalar(@nl));
		$newv[$i]->{'file'} = $_[0]->{'file'};
		$newv[$i]->{'line'} = $_[0]->{'eline'};
		$newv[$i]->{'eline'} = $_[0]->{'eline'} + scalar(@nl) - 1;
		push(@$pm, $newv[$i]);
		}
	elsif ($i >= @newv) {
		# a directive was deleted
		$lref = &read_file_lines($oldv[$i]->{'file'});
		$ol = $oldv[$i]->{'eline'} - $oldv[$i]->{'line'} + 1;
		splice(@$lref, $oldv[$i]->{'line'}, $ol);
		&renumber(&get_config(), $oldv[$i]->{'eline'},
			  $oldv[$i]->{'file'}, -$ol);
		&renumber_index($_[0]->{'members'}, $oldv[$i]->{'index'}, -1);
		splice(@$pm, &indexof($oldv[$i], @$pm), 1);
		}
	else {
		# updating some directive
		$lref = &read_file_lines($oldv[$i]->{'file'});
		@nl = &directive_lines($newv[$i], $_[3]);
		$ol = $oldv[$i]->{'eline'} - $oldv[$i]->{'line'} + 1;
		splice(@$lref, $oldv[$i]->{'line'}, $ol, @nl);
		&renumber(&get_config(), $oldv[$i]->{'eline'},
			  $oldv[$i]->{'file'}, scalar(@nl) - $ol);
		$newv[$i]->{'file'} = $_[0]->{'file'};
		$newv[$i]->{'line'} = $oldv[$i]->{'line'};
		$newv[$i]->{'eline'} = $oldv[$i]->{'line'} + scalar(@nl) - 1;
		$pm->[&indexof($oldv[$i], @$pm)] = $newv[$i];
		}
	}
}

# directive_lines(&directive, tabs)
# Renders some directive into a number of lines of text
sub directive_lines
{
local(@rv, $v, $m, $i);
$rv[0] = "\t" x $_[1];
$rv[0] .= "$_[0]->{'name'}";
for($i=0; $i<@{$_[0]->{'values'}}; $i++) {
	$v = $_[0]->{'values'}->[$i];
	if ($_[0]->{'quotes'}->[$i]) { $rv[0] .= " \"$v\""; }
	else { $rv[0] .= " $v"; }
	}
if ($_[0]->{'type'}) {
	# multiple values.. include them as well
	$rv[0] .= " {";
	foreach $m (@{$_[0]->{'members'}}) {
		push(@rv, &directive_lines($m, $_[1]+1));
		}
	push(@rv, ("\t" x ($_[1]+1))."}");
	}
else { $rv[$#rv] .= ";"; }
return @rv;
}

# renumber(&directives, line, file, count)
# Runs through the given array of directives and increases the line numbers
# of all those greater than some line by the given count
sub renumber
{
local($d);
local ($list, $line, $file, $count) = @_;
return if (!$count);
foreach $d (@$list) {
	if ($d->{'file'} eq $file) {
		if ($d->{'line'} >= $line) { $d->{'line'} += $count; }
		if ($d->{'eline'} >= $line) { $d->{'eline'} += $count; }
		}
	if ($d->{'type'}) {
		&renumber($d->{'members'}, $line, $file, $count);
		}
	}
}

# renumber_index(&directives, index, count)
sub renumber_index
{
local($d);
foreach $d (@{$_[0]}) {
	if ($d->{'index'} >= $_[1]) {
		$d->{'index'} += $_[2];
		}
	}
}

# directive_diff(&d1, &d2)
# Do two directives differ?
sub directive_diff
{
local $i;
local ($d1, $d2) = @_;
return 1 if ($d1->{'name'} ne $d2->{'name'});
local $l1 = @{$d1->{'values'}};
local $l2 = @{$d2->{'values'}};
return 1 if ($l1 != $l2);
for($i=0; $i<$l1; $i++) {
	return 1 if ($d1->{'values'}->[$i] ne $d2->{'values'}->[$i]);
	}
return 1 if ($d1->{'type'} != $d2->{'type'});
if ($d1->{'type'}) {
	$l1 = @{$d1->{'members'}};
	$l2 = @{$d2->{'members'}};
	return 1 if ($l1 != $l2);
	for($i=0; $i<$l1; $i++) {
		return 1 if (&directive_diff($d1->{'members'}->[$i],
					     $d2->{'members'}->[$i]));
		}
	}
return 0;
}

# group_name($members)
sub group_name
{
return ($_[0] == 0) ? $text{'index_nomemb'} :
	($_[0] == 1) ? $text{'index_1memb'} :
	($_[0] >= 2 && $_[0] <= 4) ? &text('index_234memb', $_[0]) :
	&text('index_memb', $_[0]);

}

# get_subnets_and_hosts() 
# returns the references to sorted lists of hosts and subnets
sub get_subnets_and_hosts
{
return (\@get_subnets_cache, \@get_hosts_cache) 
	if (@get_subnets_cache && @get_hosts_cache);

local(@subn,@host,@group,@shan, $s,$h,$g,$sn, $conf);
$conf = &get_config();

# get top level hosts and groups
@host = &find("host", $conf);
foreach $h (&find("host", $conf)) {
	$h->{'order'} = $h->{'index'};
	}
@group = &find("group", $conf);
foreach $g (@group) {
	foreach $h (&find("host", $g->{'members'})) {
		push(@host, $h);
		}
	}
@subn = &find("subnet", $conf);
foreach $u (@subn) {
	foreach $h (&find("host", $u->{'members'})) {
		push(@host, $h);
		}
	foreach $g (&find("group", $u->{'members'})) {
		push(@group, $g);
		foreach $h (&find("host", $g->{'members'})) {
			push(@host, $h);
			}
		}
	}
@shan = &find("shared-network", $conf);
foreach $s (@shan) {
	foreach $h (&find("host", $s->{'members'})) {
		push(@host, $h);
		}
	foreach $g (&find("group", $s->{'members'})) {
		push(@group, $g);
		foreach $h (&find("host", $g->{'members'})) {
			push(@host, $h);
			}
		}
	foreach $u (&find("subnet", $s->{'members'})) {
		push(@subn, $u);
		foreach $h (&find("host", $u->{'members'})) {
			push(@host, $h);
			}
		foreach $g (&find("group", $sn->{'members'})) {
			push(@group, $g);
			foreach $h (&find("host", $g->{'members'})) {
				push(@host, $h);
				}
			}
		}
	}
@get_subnets_cache = sort { $a->{'order'} <=> $b->{'order'} } @subn;
@get_hosts_cache = sort { $a->{'order'} <=> $b->{'order'} } @host;

return (\@get_subnets_cache, \@get_hosts_cache);
}

sub get_subnets
{
local ($sr, $hr) = &get_subnets_and_hosts();
return @{$sr};
}

sub get_hosts
{
local ($sr, $hr) = &get_subnets_and_hosts();
return @{$hr};
}

# hash that links objtypes shortcuts with object names
%obj_names2types = qw(host hst group grp subnet sub shared-network sha);

# get_branch($objtype) 
# usefull for edit_*.cgi and save_*.cgi scripts
# $objtype = one of 'hst' 'grp' 'sub' 'sha'
sub get_branch
{
local %obj_types2names = reverse %obj_names2types;
local $name = $obj_types2names{$_[0]};
local ($parnode, $nparnode, $node, $indent, $nindent);
$parnode = $nparnode = &get_parent_config();
$indent = $nindent = 0;
foreach ($in{'sidx'}, $in{'uidx'}, $in{'gidx'}) {
    if ($_ ne '') {
		$parnode = $parnode->{'members'}->[$_];
		$indent++;
		}
    }

if (!($in{'delete'} && $in{'options'})) {
	if ($in{'assign'} > 0 && !defined($in{'parent'})) {
		# A quirk for not javascript-capable browser
		# New parent is undefined yet; we need 2nd step
		undef $nparnode;
		}
	else {
		foreach (split(/\,/, $in{'parent'})) {
			$nindent++;
			if ($_ < @{$nparnode->{'members'}}) {
				$nparnode = $nparnode->{'members'}->[$_];
				}
			}
		}
	}

if (!$in{'new'}) {
	$node = $parnode->{'members'}->[$in{'idx'}];
	}
else {
	die "Wrong call to get_nodes: pass objtype for new object" unless $name;
	# Construct new node structure
	$node->{'name'} = $name;
	$node->{'type'} = 1;
	$node->{'members'} = [ ];
	}
return ($parnode, $node, $indent, $nparnode, $nindent);
}

# can(permissions_string, \%access, \%config_node, smode)
# this is a cached wrapper of can_noncached(...)
sub can
{
local ($perm, $acc, $node, $smode) = @_;
if (defined($can_cache) &&
	($can_perm_cache eq $perm) &&
	($can_node_cache eq $node) &&
	($can_smode_cache eq $smode)) {
	return $can_cache;
	}
else {
	$can_perm_cache = $perm;
	$can_node_cache = $node;
	$can_smode_cache = $smode;
	return ($can_cache = &can_noncached(@_));
	}
}

# can_noncached(permissions_string, \%access, \%config_node, smode)
# check global and per-object permissions:
#
# permissions_string= 'c' 'r' 'w' or any combination.
# smode= 0 or undef - check only current, 1 - recursive childs check, 
#	2 - check parents, 3 - check parents and all childs
#	note: while deleting an object you must allways enforce smode=1 or 3
#		because all child objects are deletes recursevly. 
#	this maybe an optional parameter 
sub can_noncached
{
local $acl;
local ($perm, $acc, $node, $smode) = @_;
local @perm = split(//, $perm);

if ($node ne get_parent_config()) {
	foreach (@perm) { 
		next if ($_ ne 'c') &&  ($_ ne 'r') && ($_ ne 'w');
		return 0 unless $acc->{$_ . '_' . $obj_names2types{$node->{'name'}} };
		}

	# per-object permissions
	return 0 unless &can_node(\@perm, $acc, $node);

	if (($acc->{'smode'} == 2) || ($smode == 2) ||
	    ($acc->{'smode'} == 3) || ($smode == 3)) {
		# check parents
		$parnode=&get_parent_config();								
		foreach ($in{'sidx'}, $in{'uidx'}, $in{'gidx'}) {
			if ($_ ne '') {
				$parnode = $parnode->{'members'}->[$_];
				return 0 unless &can_node(\@perm, $acc, $parnode);
				}
			}
		}
		
	if (($acc->{'smode'} == 1) || ($smode == 1) ||
		($acc->{'smode'} == 3) || ($smode == 3)) {
		# check childs
		return 0 unless &can_subtree(\@perm, $acc, $node);
		}
	}
return 1;
}

# can_node(\@perm, $acc, $node)
# checks object permissions for current node
sub can_node
{
local ($rperm, $acc, $node)=@_;
# per-object permissions
local $otype=$obj_names2types{$node->{'name'}};
if ($acc->{'per_' . $otype . '_acls'}) {  
	local $acl = $acc->{'ACL' . $otype . '_' . $node->{'values'}->[0]};
	foreach (@{$rperm}) {
		next if $_ eq 'c'; # skip creation perms for per-obj acls
		return 0 if index($acl, $_) == -1;
		}
	}
return 1;
}

# can_subtree(\@perm, $acc, $node)
# checks object permissions for subtree
sub can_subtree
{
local ($rperm, $acc, $node)=@_;
return 0 unless &can_node($rperm, $acc, $node); 
if($node->{'members'}) {
	# recursevly process this subtree
	foreach (@{$node->{'members'}}) {
		return 0 unless &can_subtree($rperm, $acc, $_);
		}
	}
return 1;	
}

# save_dhcpd_acl(permissions_string, obj_type, \%access, obj_name)
sub save_dhcpd_acl
{
$_[2]->{'ACL'.$_[1].'_'.$_[3]} = $_[0];
undef($can_cache);
return &save_module_acl($_[2]);
}

# drop_dhcpd_acl(obj_type, \%access, obj_name)
sub drop_dhcpd_acl
{
delete($_[1]->{'ACL'.$_[0].'_'.$_[2]});
undef($can_cache);
return &save_module_acl($_[1]);
}

1;
   070701000173ec000081e40000000000000002000000013d1fe2d700000463000000200000000000000000000000000000001d00000003reloc/dhcpd/delete_lease.cgi  #!/usr/local/bin/perl
# delete_lease.cgi
# Delete one lease from the leases file

require './dhcpd-lib.pl';
&ReadParse();

%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if( !($access{'w_leases'} && $access{'r_leases'}) ) {
	&error("$text{'eacl_np'} $text{'eacl_pdl'}");
	}       

&tokenize_file($config{'lease_file'}, \@tok);
$i = $j = 0;
while($i < @tok) {
	$lease = &parse_struct(\@tok, \$i, $j++, $config{'lease_file'});
	if ($lease->{'index'} == $in{'idx'}) {
		# found the one to delete!
		&lock_file($config{'lease_file'});
		$lref = &read_file_lines($config{'lease_file'});
		splice(@$lref, $lease->{'line'},
		       $lease->{'eline'} - $lease->{'line'} + 1);
		&flush_file_lines();
		&unlock_file($config{'lease_file'});
		if (open(PID, $config{'pid_file'})) {
			chop($pid = <PID>);
			close(PID);
			&kill_logged('TERM', $pid);
			&backquote_logged("$config{'dhcpd_path'} -cf $config{'dhcpd_conf'} $config{'interfaces'} 2>&1");
			}
		&webmin_log("delete", "lease", $lease->{'values'}->[0]);
		last;
		}
	}
&redirect("list_leases.cgi?all=$in{'all'}");

 070701000173ee000081e40000000000000002000000013d1fe2d700001cdb000000200000000000000000000000000000001b00000003reloc/dhcpd/edit_group.cgi    #!/usr/local/bin/perl
# edit_group.cgi
# Edit or create a group

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();
($par, $group) = get_branch('grp');
$gconf = $group->{'members'};
$mems = $par->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pig'}")
		unless &can('c', \%access, $group) && &can('rw', \%access, $par);
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_psg'}")
		if !&can('r', \%access, $group);
	}
# per hosts acl check is below

# display
&header($in{'new'} ? $text{'egroup_crheader'} : $text{'egroup_eheader'}, "");
if ($in{'uidx'} ne '') {
	local $s = $in{'sidx'} eq '' ? $conf->[$in{'uidx'}] :
		   $conf->[$in{'sidx'}]->{'members'}->[$in{'uidx'}];
	print "<center><font size=+1>", &text('ehost_subnet',
	      $s->{'values'}->[0], $s->{'values'}->[2]), "</font></center>\n";
	}
elsif ($in{'sidx'} ne '') {
	local $s = $conf->[$in{'sidx'}];
	print "<center><font size=+1>", &text('ehost_shared',
		$s->{'values'}->[0]), "</font></center>\n";
	}
print "<hr>\n";

@shar = &find("shared-network", $conf);
@subn = &find("subnet", $conf);
$iu = 0; $is = 0;
foreach $u (@subn) {
	push(@subn_desc, $u->{'values'}->[0]);
	$script2 .= "parent.options[$iu] = "
		."new Option(\"$subn_desc[$iu]\", $iu)\n"
		."parent.options[$iu].value = "
		."new String(\"$u->{'index'}\")\n"
			if &can('rw', \%access, $u);
	if ($in{'sidx'} eq '' && $in{'uidx'} eq $u->{'index'}) {
		$sel_parent = $iu;
		$currpar = "$u->{'index'}";
		}
	$iu ++;
	}
foreach $s (@shar) {
	push(@shar_desc, $s->{'values'}->[0]);
	$script1 .= "parent.options[$is] = "
		."new Option(\"$shar_desc[$is]\", $is)\n"
		."parent.options[$is].value = "
		."new String(\"$s->{'index'}\")\n"
			if &can('rw', \%access, $s);
	if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq '') {
		$sel_parent = $is;
		$currpar = "$s->{'index'}";
		}
	$is ++;
	foreach $u (&find("subnet", $s->{'members'})) {
		push(@subn, $u);
		push(@subn_desc, "$u->{'values'}->[0] $text{'ehost_in'} $s->{'values'}->[0]");
		$shared{$u} = $s->{'index'};
		$script2 .= "parent.options[$iu] = "
			."new Option(\"$subn_desc[$iu]\", $iu)\n"
			."parent.options[$iu].value = "
			."new String(\"$s->{'index'},$u->{'index'}\")\n"
				if &can('rw', \%access, $u);
		if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq $u->{'index'}) {
			$sel_parent = $iu;
			$currpar = "$s->{'index'},$u->{'index'}";
			}
		$iu ++;
		}
	}

print "<form action=save_group.cgi>\n";
print "<input name=ret value=\"$in{'ret'}\" type=hidden>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'egroup_tblhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$rws = "rowspan=2" if (defined($in{'ret'}));
print "<tr> <td $rws valign=top><b>$text{'egroup_hosts'}</b></td>\n";
print "<td $rws><select name=hosts size=5 multiple>\n";
foreach $h (&find("host", $mems)) {
	push(@host, $h);
# if &can('r', \%access, $h);
	}
foreach $g (&find("group", $mems)) {
	foreach $h (&find("host", $g->{'members'})) {
		push(@host, $h);
# if &can('r', \%access, $h);
		$ingroup{$h} = $g->{'index'};
		}
	}
@host = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @host;
foreach $h (@host) {
	next if !&can('r', \%access, $h);
	printf "<option value=\"%s,%s\" %s>%s\n",
		$h->{'index'}, $ingroup{$h},
		(!$in{'new'}) && $ingroup{$h} eq $group->{'index'} ? "selected" : "",
		$h->{'values'}->[0];
	}
print "</select></td>\n";

if (!$in{'new'}) {
	# inaccessible hosts in this group
	foreach $h (@host) {
		if (!&can('r', \%access, $h) && $ingroup{$h} eq $group->{'index'}) {
			print "<input name=hosts value=\"$h->{'index'},$group->{'index'}\" type=hidden>\n";
			}
		}
	}

$assign = $in{'uidx'} ne "" ? "2" :
	$in{'sidx'} ne "" ? "1" : "0";
if (!defined($in{'ret'})) {
	local @labels = ( $text{'ehost_toplevel'}, $text{'ehost_inshared'},
			  $text{'ehost_insubnet'} );
	print "<td colspan=2><table><tr>";
	print "<td colspan=2>$text{'ehost_nojavascr'}</td></tr>\n<tr>" if ($in{'assign'});
	print "<td valign=top><b>$text{'egroup_assign'}</b><br>\n";
	if ($in{'assign'}) {
		$assign = $in{'assign'};
		print "$labels[$assign]</td>\n";
		print "<input name=assign type=hidden value=$assign>\n";
		print "<input name=jsquirk type=hidden value=1>\n";
		}
	else {
		print "<select name=assign onChange='setparent(0)'>\n";
		for ($i = 0; $i <= 2; $i++) {
			printf "<option value=$i %s>%s\n",
				$assign == $i ? "selected" : "",
				$labels[$i];
			}
		print "</select></td>\n";
		}
	print "<td><select name=parent size=5 width=120>\n";
	if ($assign == 2) {
		$iu = 0;
		foreach $u (@subn) {
			printf "<option value=\"%s\" %s>%s\n",
				defined($shared{$u}) ? "$shared{$u},$u->{'index'}" : $u->{'index'},
				$iu == $sel_parent ? "selected" : "",
				$subn_desc[$iu]
					if &can('rw', \%access, $u);
			$iu ++;
			}
		}
	elsif ($assign == 1) {
		$is = 0;
		foreach $s (@shar) {
			printf "<option value=\"%s\" %s>%s\n",
				$s->{'index'},
				$is == $sel_parent ? "selected" : "",
				$shar_desc[$is]
					if &can('rw', \%access, $s);
			$is ++;
			}
		}
	print "</select></td></tr>\n";
	print "</table></td>\n";
	print "</tr> <tr>\n";
	}
else {
	print "<input name=assign type=hidden value=$assign>\n",
	print "<input name=parent type=hidden value=$currpar>\n";
	}

print &choice_input($text{'egroup_nchoice'}, "use-host-decl-names",
	$gconf, " $text{'yes'}", "on", " $text{'no'}", "off", " $text{'default'}", "");

print "</tr> <tr>\n" if (defined($in{'ret'}));
&display_params($gconf);

print "</table></td></tr></table>\n";
print "<input type=hidden name=sidx value=\"$in{'sidx'}\">\n";
print "<input type=hidden name=uidx value=\"$in{'uidx'}\">\n";
if (!$in{'new'}) {
	print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n"
		if &can('rw', \%access, $group);
	print "<td align=center><input type=submit name=options value=\"",
          &can('rw', \%access, $group) ? $text{'butt_eco'} : $text{'butt_vco'},
	      "\"></td>\n";		  
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n" 
		  if &can('rw', \%access, $group, 1);
	print "</tr></table>\n";
	print "<a href=\"edit_host.cgi?new=1&sidx=".$in{'sidx'}."&uidx=".$in{'uidx'}
		."&gidx=".$in{'idx'}."&ret=group\">"
		.$text{'index_addhst'}."</a><p>\n" if &can('rw', \%access, $group);
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
print "</form>\n";
print &script_fn() if (!defined($in{'ret'}));
print "<hr>\n";
if ($in{'ret'} eq "subnet") {
	&footer("edit_subnet.cgi?sidx=$in{'sidx'}&idx=$in{'uidx'}",
		$text{'egroup_retsubn'});
	}
elsif ($in{'ret'} eq "shared") {
	&footer("edit_shared.cgi?idx=$in{'sidx'}", $text{'egroup_retshar'});
	}
else {
	&footer($ret, $text{'egroup_return'});
	}

sub script_fn
{
return <<EOF
<script>
function setparent(sel)
{
var idx = document.forms[0].assign.selectedIndex;
var v = document.forms[0].assign.options[idx].value;
var vv = v.split(";");
var parent = document.forms[0].parent;
parent.length = 0;

if (v==1) {
$script1
}
if (v==2) {
$script2
}
if (parent.length > 0) {
	parent.options[sel].selected = true;
	}
}
setparent($sel_parent);
</script>
EOF

}
 070701000173ef000081e40000000000000002000000013d1fe2d700002848000000200000000000000000000000000000001a00000003reloc/dhcpd/edit_host.cgi #!/usr/local/bin/perl
# edit_host.cgi
# Edit or create a host

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();
($par, $host) = &get_branch('hst');
$hconf = $host->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'new'}  ) {
	&error("$text{'eacl_np'} $text{'eacl_pih'}")
		unless &can('c', \%access, $host) && &can('rw', \%access, $par);
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_psh'}")
		if !&can('r', \%access, $host);
	}

# display
&header($in{'new'} ? $text{'ehost_crheader'} : $text{'ehost_eheader'}, "");
if ($in{'uidx'} ne '') {
	local $s = $in{'sidx'} eq '' ? $conf->[$in{'uidx'}] :
		   $conf->[$in{'sidx'}]->{'members'}->[$in{'uidx'}];
	print "<center><font size=+1>", &text('ehost_subnet', $s->{'values'}->[0],
	      $s->{'values'}->[2]), "</font></center>\n";
	}
elsif ($in{'sidx'} ne '') {
	local $s = $conf->[$in{'sidx'}];
	print "<center><font size=+1>", &text('ehost_shared', $s->{'values'}->[0]),
	      "</font></center>\n";
	}
print "<hr>\n";

@shar = &find("shared-network", $conf);
@subn = &find("subnet", $conf);
@group = &find("group", $conf);
$iu = 0; $is = 0; $ig = 0;
foreach $g (@group) {
	$gm = 0;
	foreach $h (&find("host", $g->{'members'})) { $gm++; };
	push(@group_desc, &group_name($gm));
	$group_desc[$#group_desc-1] =~ s/&nbsp;/ /g;
	$script3 .= "parent.options[$ig] = "
		."new Option(\"$group_desc[$ig]\", $ig)\n"
		."parent.options[$ig].value = "
		."new String(\"$g->{'index'}\")\n"
			if &can('rw', \%access, $g);
	if ($in{'sidx'} eq '' && $in{'uidx'} eq '' && $in{'gidx'} eq $g->{'index'}) {
		$sel_parent = $ig;
		$currpar = "$g->{'index'}";
		}
	$ig ++;
	}
foreach $u (@subn) {
	push(@subn_desc, $u->{'values'}->[0]);
	$script2 .= "parent.options[$iu] = "
		."new Option(\"$subn_desc[$iu]\", $iu)\n"
		."parent.options[$iu].value = "
		."new String(\"$u->{'index'}\")\n"
			if &can('rw', \%access, $u);
	if ($in{'sidx'} eq '' && $in{'uidx'} eq $u->{'index'} && $in{'gidx'} eq '') {
		$sel_parent = $iu;
		$currpar = "$u->{'index'}";
		}
	foreach $g (&find("group", $u->{'members'})) {
		push(@group, $g);
		$gm = 0;
		foreach $h (&find("host", $g->{'members'})) { $gm ++; };
		push(@group_desc, &group_name($gm)
			." $text{'ehost_in'} $u->{'values'}->[0]");
		$group_desc[$#group_desc-1] =~ s/&nbsp;/ /g;
		$subnet{$g} = $u->{'index'};
		$script3 .= "parent.options[$ig] = "
			."new Option(\"$group_desc[$ig]\", $ig)\n"
			."parent.options[$ig].value = "
			."new String(\"$u->{'index'},$g->{'index'}\")\n"
				if &can('rw', \%access, $g);
		if ($in{'sidx'} eq '' && $in{'uidx'} eq $u->{'index'} && $in{'gidx'} eq $g->{'index'}) {
			$sel_parent = $ig;
			$currpar = "$u->{'index'},$g->{'index'}";
			}
		$ig ++;
		}
	$iu ++;
	}
foreach $s (@shar) {
	push(@shar_desc, $s->{'values'}->[0]);
	$script1 .= "parent.options[$is] = "
		."new Option(\"$shar_desc[$is]\", $is)\n"
		."parent.options[$is].value = "
		."new String(\"$s->{'index'}\")\n"
			if &can('rw', \%access, $s);
	if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq '' && $in{'gidx'} eq '') {
		$sel_parent = $is;
		$currpar = "$s->{'index'}";
		}
	foreach $g (&find("group", $s->{'members'})) {
		push(@group, $g);
		$gm = 0;
		foreach $h (&find("host", $g->{'members'})) { $gm ++; };
		push(@group_desc, &group_name($gm)
			." $text{'ehost_in'} $s->{'values'}->[0]");
		$group_desc[$#group_desc-1] =~ s/&nbsp;/ /g;
		$shared{$g} = $s->{'index'};
		$script3 .= "parent.options[$ig] = "
			."new Option(\"$group_desc[$ig]\", $ig)\n"
			."parent.options[$ig].value = "
			."new String(\"$s->{'index'},$g->{'index'}\")\n"
				if &can('rw', \%access, $g);
		if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq '' && $in{'gidx'} eq $g->{'index'}) {
			$sel_parent = $ig;
			$currpar = "$s->{'index'},$g->{'index'}";
			}
		$ig ++;
		}
	foreach $u (&find("subnet", $s->{'members'})) {
		push(@subn, $u);
		push(@subn_desc, "$u->{'values'}->[0] $text{'ehost_in'} $s->{'values'}->[0]");
		$shared{$u} = $s->{'index'};
		$script2 .= "parent.options[$iu] = "
			."new Option(\"$subn_desc[$iu]\", $iu)\n"
			."parent.options[$iu].value = "
			."new String(\"$s->{'index'},$u->{'index'}\")\n"
				if &can('rw', \%access, $u);
		if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq $u->{'index'} && $in{'gidx'} eq '') {
			$sel_parent = $iu;
			$currpar = "$s->{'index'},$u->{'index'}";
			}
		foreach $g (&find("group", $u->{'members'})) {
			push(@group, $g);
			$gm = 0;
			foreach $h (&find("host", $g->{'members'})) { $gm ++; };
			push(@group_desc, &group_name($gm)
				." $text{'ehost_in'} $u->{'values'}->[0] $text{'ehost_in'} $s->{'values'}->[0]");
			$group_desc[$#group_desc-1] =~ s/&nbsp;/ /g;
			$shared{$g} = $s->{'index'};
			$subnet{$g} = $u->{'index'};
			$script3 .= "parent.options[$ig] = "
				."new Option(\"$group_desc[$ig]\", $ig)\n"
				."parent.options[$ig].value = "
				."new String(\"$s->{'index'},$u->{'index'},$g->{'index'}\")\n"
					if &can('rw', \%access, $g);
			if ($in{'sidx'} eq $s->{'index'} && $in{'uidx'} eq $u->{'index'} && $in{'gidx'} eq $g->{'index'}) {
				$sel_parent = $ig;
				$currpar = "$s->{'index'},$u->{'index'},$g->{'index'}";
				}
			$ig ++;
			}
		$iu ++;
		}
	$is ++;
	}

print "<form action=save_host.cgi>\n";
print "<input name=ret value=\"$in{'ret'}\" type=hidden>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ehost_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'ehost_hname'}</b></td>\n";
printf "<td><input name=name size=20 value=\"%s\"></td>\n",
	$host ? $host->{'values'}->[0] : "";
$assign = $in{'gidx'} ne "" ? "3" :
	$in{'uidx'} ne "" ? "2" :
	$in{'sidx'} ne "" ? "1" : "0";
if (!defined($in{'ret'})) {
	local @labels = ( $text{'ehost_toplevel'}, $text{'ehost_inshared'},
			  $text{'ehost_insubnet'}, $text{'ehost_ingroup'} );
	print "<td colspan=2 rowspan=2><table><tr>";
	print "<td colspan=2>$text{'ehost_nojavascr'}</td></tr>\n<tr>" if ($in{'assign'});
	print "<td valign=top><b>$text{'ehost_assign'}</b><br>\n";
	if ($in{'assign'}) {
		$assign = $in{'assign'};
		print "$labels[$assign]</td>\n";
		print "<input name=assign type=hidden value=$assign>\n";
		print "<input name=jsquirk type=hidden value=1>\n";
		}
	else {
		print "<select name=assign onChange='setparent(0)'>\n";
		for ($i = 0; $i <= 3; $i++) {
			printf "<option value=$i %s>%s\n",
				$assign == $i ? "selected" : "",
				$labels[$i];
			}
		print "</select></td>\n";
		}
	print "<td><select name=parent size=5 width=120>\n";
	if ($assign == 3) {
		$ig = 0;
		foreach $g (@group) {
			printf "<option value=\"%s\" %s>%s\n",
				(defined($shared{$g}) ? "$shared{$g}," : "").
				(defined($subnet{$g}) ? "$subnet{$g}," : "").
				$g->{'index'},
				$ig == $sel_parent ? "selected" : "",
				$group_desc[$ig]
					if &can('rw', \%access, $g);
			$ig ++;
			}
		}
	elsif ($assign == 2) {
		$iu = 0;
		foreach $u (@subn) {
			printf "<option value=\"%s\" %s>%s\n",
				defined($shared{$u}) ? "$shared{$u},$u->{'index'}" : $u->{'index'},
				$iu == $sel_parent ? "selected" : "",
				$subn_desc[$iu]
					if &can('rw', \%access, $u);
			$iu ++;
			}
		}
	elsif ($assign == 1) {
		$is = 0;
		foreach $s (@shar) {
			printf "<option value=\"%s\" %s>%s\n",
				$s->{'index'},
				$is == $sel_parent ? "selected" : "",
				$shar_desc[$is]
					if &can('rw', \%access, $s);
			$is ++;
			}
		}
	print "</select></td></tr>\n";
	print "</table></td>\n";

	print "</tr> <tr>\n";
	}
else {
	print "<input name=assign type=hidden value=$assign>\n";
	print "<input name=parent type=hidden value=$currpar>\n";
	}

$hard = $hconf ? &find("hardware", $hconf) : undef;
print "<td><b>$text{'ehost_hwaddr'}</b></td>\n";
print "<td nowrap><select name=hardware_type>\n";
printf "<option %s>ethernet\n",
	$hard && $hard->{'values'}->[0] eq "ethernet" ? "selected" : "";
printf "<option %s>token-ring\n",
	$hard && $hard->{'values'}->[0] eq "token-ring" ? "selected" : "";
printf "<option %s>fddi\n",
	$hard && $hard->{'values'}->[0] eq "fddi" ? "selected" : "";
print "</select>";
printf "<input name=hardware size=18 value=\"%s\"></td> </tr>\n",
	$hard ? $hard->{'values'}->[1] : "";

$fixed = $host ? &find("fixed-address", $hconf) : "";
print "<tr> <td><b>$text{'ehost_fixedip'}</b></td> <td>\n";
printf "<input name=fixed-address size=20 value=\"%s\"></td>\n",
	$fixed ? join(" ", grep { $_ ne "," } @{$fixed->{'values'}}) : "";

&display_params($hconf);

print "</table></td></tr></table>\n";
print "<input type=hidden name=gidx value=\"$in{'gidx'}\">\n";
print "<input type=hidden name=uidx value=\"$in{'uidx'}\">\n";
print "<input type=hidden name=sidx value=\"$in{'sidx'}\">\n";
if (!$in{'new'}) {
	print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n"
		if &can('rw', \%access, $host);
	print "<td align=center><input type=submit name=options value=\"",
          &can('rw', \%access, $host) ? $text{'butt_eco'} : $text{'butt_vco'},
	      "\"></td>\n";		  
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n" 
		  if &can('rw', \%access, $host, 1);
	print "</tr></table>\n";
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'butt_create'}\">\n";
	}
print "</form>\n";
print &script_fn() if (!defined($in{'ret'}));
print "<hr>\n";
if ($in{'ret'} eq "group") {
	&footer("edit_group.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}&idx=$in{'gidx'}",
		$text{'ehost_retgroup'});
	}
elsif ($in{'ret'} eq "subnet") {
	&footer("edit_subnet.cgi?sidx=$in{'sidx'}&idx=$in{'uidx'}",
		$text{'ehost_retsubn'});
	}
elsif ($in{'ret'} eq "shared") {
	&footer("edit_shared.cgi?idx=$in{'sidx'}", $text{'ehost_retshar'});
	}
else {
	&footer($ret, $text{'ehost_return'});
	}

sub script_fn
{
return <<EOF
<script>
function setparent(sel)
{
var idx = document.forms[0].assign.selectedIndex;
var v = document.forms[0].assign.options[idx].value;
var vv = v.split(";");
var parent = document.forms[0].parent;
parent.length = 0;

if (v==1) {
$script1
}
if (v==2) {
$script2
}
if (v==3) {
$script3
}
if (parent.length > 0) {
	parent.options[sel].selected = true;
	}
}
setparent($sel_parent);
</script>
EOF

}
070701000173f0000081e40000000000000002000000013d1fe2d700001b42000000200000000000000000000000000000001d00000003reloc/dhcpd/edit_options.cgi  #!/usr/local/bin/perl
# edit_options.cgi
# Edit client options for some subnet, shared net, group, host or global

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();

%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");

$client = &get_parent_config();
foreach $i ($in{'sidx'}, $in{'uidx'}, $in{'gidx'}, $in{'idx'}) {
	$client = $client->{'members'}->[$i] if ($i ne '');
	}

if ($client->{'name'} eq 'subnet') {
	$title = &text('eopt_subtitle',$client->{'values'}->[0]);
	$back = $text{'eopt_returnsub'};
	$backlink = "edit_subnet.cgi";
	&error("$text{'eacl_np'} $text{'eacl_pss'}") if !&can('r',\%access,$client);
	}
elsif ($client->{'name'} eq 'shared-network') {
	$title = &text('eopt_snettitle',$client->{'values'}->[0]);
	$back = $text{'eopt_returnshsub'};
	$backlink = "edit_shared.cgi";
	&error("$text{'eacl_np'} $text{'eacl_psn'}") if !&can('r',\%access,$client);
	}
elsif ($client->{'name'} eq 'host') {
	$title = &text('eopt_hosttitle',$client->{'values'}->[0]);
	$back = $text{'eopt_returnhost'};
	$backlink = "edit_host.cgi";
	&error("$text{'eacl_np'} $text{'eacl_psh'}") if !&can('r',\%access,$client);
	}
elsif ($client->{'name'} eq 'group') {
	@mc = &find("host", $client->{'members'});
	$title = &text('eopt_grouptitle',scalar(@mc));
	$back = $text{'eopt_returngroup'};
	$backlink = "edit_group.cgi";
	&error("$text{'eacl_np'} $text{'eacl_psg'}") if !&can('r',\%access,$client);
	}
else {
	$title = $text{'eopt_alltitle'};
	$back = $text{'eopt_returnindex'};
	$backlink = "";
	&error("$text{'eacl_np'} $text{'eacl_pglob'}") if !$access{'global'};
	}

# display
&header($text{'eopt_header'}, "");
$backlink .= "?idx=".$in{'idx'}."&gidx=".$in{'gidx'}."&uidx=".$in{'uidx'}.
	     "&sidx=".$in{'sidx'} if (backlink);
print "<center><font size=+2>$title</font></center>\n";
print "<hr>\n";

print "<form action=save_options.cgi>\n";
printf "<input type=hidden name=level value='%s'>\n",
	$in{'global'} ? "global" : $client->{'name'};
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=gidx value='$in{'gidx'}'>\n";
print "<input type=hidden name=uidx value='$in{'uidx'}'>\n";
print "<input type=hidden name=sidx value='$in{'sidx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eopt_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
@opts = &find("option", $client->{'members'});

print "<tr>\n";
print &option_input($text{'eopt_chost'}, "host-name", \@opts, 3);
print &option_input($text{'eopt_defrouters'}, "routers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_smask'}, "subnet-mask", \@opts, 0);
print &option_input($text{'eopt_baddr'}, "broadcast-address", \@opts, 0);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_domname'}, "domain-name", \@opts, 3);
print &option_input($text{'eopt_dnsserv'}, "domain-name-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_timeserv'}, "time-servers", \@opts, 2);
print &option_input($text{'eopt_logserv'}, "log-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_swapserv'}, "swap-server", \@opts, 2);
print &option_input($text{'eopt_rdpath'}, "root-path", \@opts, 3);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_nisdom'}, "nis-domain", \@opts, 3);
print &option_input($text{'eopt_nisserv'}, "nis-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_fontserv'}, "font-servers", \@opts, 2);
print &option_input($text{'eopt_xdmserv'}, "x-display-manager", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_statrouters'}, "static-routes", \@opts, 5);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_ntpserv'}, "ntp-servers", \@opts, 2);
print &option_input($text{'eopt_nbns'}, "netbios-name-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &option_input($text{'eopt_nbs'}, "netbios-scope", \@opts, 3);
print &option_input($text{'eopt_nbntype'}, "netbios-node-type", \@opts, 1);
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";
@custom = grep { $_->{'values'}->[0] =~ /^option-(\d+)$/ } @opts;
push(@custom, undef);
push(@custom, undef) if (@custom%2 == 1);
for($i=0; $i<@custom; $i++) {
	$o = $custom[$i];
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>$text{'eopt_custom'}</b></td>\n";
	print "<td>$text{'eopt_cnum'}\n";
	printf "<input name=cnum_$i size=4 value='%s'>\n",
		$o->{'values'}->[0] =~ /^option-(\d+)$/ ? $1 : '';
	print "$text{'eopt_cval'}\n";
	printf "<input name=cval_$i size=20 value='%s'></td>\n",
		$o->{'values'}->[1];
	print "</tr>\n" if ($i%2 != 0);
	}

if ($in{'global'}) {
	# Display options for subnets and hosts too
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	print "<tr>\n";
	print &choice_input($text{'egroup_nchoice'}, "use-host-decl-names",
			    $conf, $text{'yes'}, "on", $text{'no'}, "off",
			    $text{'default'}, "");
	&display_params($conf, 1);
	}

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n"
	if &can('rw',\%access,$client);
print "<hr>\n";
&footer($backlink, $back);

# option_input(text, name, &config, type)
# types values:	0  - IP address
#		1  - Integer
#		2  - IP address list
#		3  - String
#		4  - Yes/no flag
#		5  - IP address pairs
sub option_input
{
local($rv, $v, $i);
for($i=0; $i<@{$_[2]}; $i++) {
	if ($_[2]->[$i]->{'values'}->[0] eq $_[1]) {
		$v = $_[2]->[$i];
		last;
		}
	}
$rv = "<td><b>$_[0]</b></td>\n";
if ($_[3] == 5) { $rv .= "<td colspan=3 nowrap>"; }
else { $rv .= "<td nowrap>"; }
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $text{'default'}\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
local @vl = $v ? @{$v->{'values'}} : ();
@vl = @vl[1..$#vl];
if ($_[3] == 0) {
	$rv .= "<input name=$_[1] size=15 value=\"$vl[0]\">\n";
	}
elsif ($_[3] == 1) {
	$rv .= "<input name=$_[1] size=4 value=\"$vl[0]\">\n";
	}
elsif ($_[3] == 2) {
	@vl = grep { $_ ne "," } @vl;
	$rv .= "<input name=$_[1] size=20 value=\"".join(" ", @vl)."\">\n";
	}
elsif ($_[3] == 3) {
	local $str = &oct_to_string($vl[0]);
	$rv .= "<input name=$_[1] size=20 value=\"$str\">\n";
	}
elsif ($_[3] == 4) {
	$rv .= sprintf "<input name=$_[1] value=1 %s> Yes\n",
			$vl[0] eq "1" ? "checked" : "";
	$rv .= sprintf "<input name=$_[1] value=0 %s> No\n",
			$vl[0] eq "0" ? "checked" : "";
	}
elsif ($_[3] == 5) {
	@vl = grep { $_ ne "," } @vl;
	$rv .= "<input name=$_[1] size=50 value=\"";
	for($i=0; $i<@vl; $i+=2) {
		$rv .= $vl[$i].",".$vl[$i+1];
		}
	$rv .= "\">\n";
	}
$rv .= "</td>\n";
return $rv;
}

sub oct_to_string
{
local @b = split(/:/, $_[0]);
local $rv;
foreach $b (@b) {
	if ($b !~ /^[A-z0-9]{1,2}$/) {
		# Wasn't actually in octet format after all.
		return $_[0];
		}
	$rv .= chr(hex($b));
	}
return $rv;
}

  070701000173f1000081e40000000000000002000000013d1fe2d700000af7000000200000000000000000000000000000001a00000003reloc/dhcpd/edit_pool.cgi #!/usr/local/bin/perl
# edit_pool.cgi
# Edit ranges and other options in an address pool

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'sidx'} ne "") {
	$sha = $conf->[$in{'sidx'}]; 
	$sub = $sha->{'members'}->[$in{'uidx'}];
	}
else { $sub = $conf->[$in{'uidx'}]; }

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pss'}") if !&can('r',\%access,$sub);

# display
if ($in{'new'}) {
	&header($text{'pool_create'}, "");
	}
else {
	&header($text{'pool_edit'}, "");
	$pool = $sub->{'members'}->[$in{'idx'}];
	}
print "<center><font size=+1>",&text('ehost_subnet',
	$sub->{'values'}->[0], $sub->{'values'}->[2]),"</font></center>\n";
print "<hr>\n";

print "<form action=save_pool.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=uidx value='$in{'uidx'}'>\n";
print "<input type=hidden name=sidx value='$in{'sidx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pool_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@range = $pool ? &find("range", $pool->{'members'}) : ();
print "<tr> <td valign=top><b>$text{'esub_arange'}</b></td> <td colspan=3>\n";
for($i=0; $i<=@range; $i++) {
	$r = $range[$i];
	local $dyn = ($r->{'values'}->[0] eq "dynamic-bootp");
	printf "<input name=range_low_$i size=15 value=\"%s\"> - \n",
		$r->{'values'}->[$dyn];
	printf "<input name=range_hi_$i size=15 value=\"%s\">&nbsp;\n",
		$r->{'values'}->[$dyn+1];
	printf "<input type=checkbox name=range_dyn_$i value=1 %s>\n",
		$dyn ? "checked" : "";
	print "$text{'esub_dbooptpq'}<br>\n";
	}
print "</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'pool_allow'}</b></td>\n";
print "<td><textarea name=allow rows=4 cols=25>",
	join("\n", map { $_->{'text'} } &find("allow", $pool->{'members'})),
	"</textarea></td>\n";

print "<td valign=top><b>$text{'pool_deny'}</b></td>\n";
print "<td><textarea name=deny rows=4 cols=25>",
	join("\n", map { $_->{'text'} } &find("deny", $pool->{'members'})),
	"</textarea></td> </tr>\n";

&display_params($pool->{'members'});

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n"
		if &can('rw',\%access,$sub);
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n"
		if &can('rw',\%access,$sub);
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n" if &can('rw',\%access,$sub);
	}
print "</tr></table>\n";
print "</form><hr>\n";
&footer("edit_subnet.cgi?sidx=$in{'sidx'}&idx=$in{'uidx'}",
	$text{'pool_return'});

 070701000173f2000081e40000000000000002000000013d1fe2d70000143b000000200000000000000000000000000000001c00000003reloc/dhcpd/edit_shared.cgi   #!/usr/local/bin/perl
# edit_shared.cgi
# Edit or create a shared network

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();
($par, $sha) = &get_branch('sha');
$sconf = $sha->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'new'}  ) {
	&error("$text{'eacl_np'} $text{'eacl_pin'}")
		unless &can('c', \%access, $sha) && &can('rw', \%access, $par);
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_psn'}")
		if !&can('r', \%access, $sha);
	}

# display
&header($in{'new'} ? $text{'esh_crheader'} : $text{'esh_eheader'}, "");
print "<hr>\n";

print "<form action=save_shared.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'esh_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'esh_netname'}</b></td>\n";
printf "<td><input name=name size=15 value=\"%s\"></td>\n",
	$sha ? $sha->{'values'}->[0] : "";

&display_params($sconf);

print "<tr> <td colspan=4> <table border=0 width=100%>\n";
foreach $h (&find("host", $conf)) {
	push(@host, $h) if &can('r', \%access, $h);
	}
foreach $g (&find("group", $conf)) {
	push(@group, $g) if &can('r', \%access, $g);
	}
foreach $s (&find("subnet", $conf)) {
	push(@subn, $s) if &can('r', \%access, $s);
	}
foreach $sh (&find("shared-network", $conf)) {
	foreach $h (&find("host", $sh->{'members'})) {
		push(@host, $h);
# if &can('r', \%access, $h);
		$inshar{$h} = $sh->{'index'};
		}
	foreach $g (&find("group", $sh->{'members'})) {
		push(@group, $g);
# if &can('r', \%access, $g);
		$inshar{$g} = $sh->{'index'};
		}
	foreach $s (&find("subnet", $sh->{'members'})) {
		push(@subn, $s);
# if &can('r', \%access, $s);
		$inshar{$s} = $sh->{'index'};
		}
	}
@host = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @host;
# @group = sort { @{$a->{'members'}} <=> @{$b->{'members'}} } @group;
@subn = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @subn;

print "<td valign=top align=right><b>$text{'esh_hosts'}</b></td>\n";
print "<td><select name=hosts size=3 multiple>\n";
foreach $h (@host) {
	next if !&can('r', \%access, $h);
	printf "<option value=\"%s,%s\" %s>%s\n",
		$h->{'index'}, $inshar{$h},
		(!$in{'new'}) && $inshar{$h} eq $sha->{'index'} ? "selected" : "",
		$h->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top align=right><b>$text{'esh_groups'}</b></td>\n";
print "<td><select name=groups size=3 multiple>\n";
foreach $g (@group) {
	local $gm = 0;
	next if !&can('r', \%access, $g);
	foreach $h (@{$g->{'members'}}) {
		if ($h->{'name'} eq "host") { $gm++; }
		}
	printf "<option value=\"%s,%s\" %s>%s\n",
		$g->{'index'}, $inshar{$g},
		(!$in{'new'}) && $inshar{$g} eq $sha->{'index'} ? "selected" : "",
		&group_name($gm);
	}
print "</select></td>\n";

print "<td valign=top align=right><b>$text{'esh_subn'}</b></td>\n";
print "<td><select name=subnets size=3 multiple>\n";
foreach $s (@subn) {
	next if !&can('r', \%access, $s);
	printf "<option value=\"%s,%s\" %s>%s\n",
		$s->{'index'}, $inshar{$s},
		(!$in{'new'}) && $inshar{$s} eq $sha->{'index'} ? "selected" : "",
		$s->{'values'}->[0];
	}
print "</select></td>\n";

if (!$in{'new'}) {
	# inaccessible hosts in this shared network
	foreach $h (@host) {
		if (!&can('r', \%access, $h) && $inshar{$h} eq $sha->{'index'}) {
			print "<input name=hosts value=\"$h->{'index'},$sha->{'index'}\" type=hidden>\n";
			}
		}
	# inaccessible groups in this shared network
	foreach $g (@group) {
		if (!&can('r', \%access, $g) && $inshar{$g} eq $sha->{'index'}) {
			print "<input name=groups value=\"$g->{'index'},$sha->{'index'}\" type=hidden>\n";
			}
		}
	# inaccessible subnets in this shared network
	foreach $s (@subn) {
		if (!&can('r', \%access, $s) && $inshar{$s} eq $sha->{'index'}) {
			print "<input name=subnets value=\"$s->{'index'},$sha->{'index'}\" type=hidden>\n";
			}
		}
	}
print "</table></td></tr>\n";

print "</table></td></tr></table>\n";
if (!$in{'new'}) {
	print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n"
		if &can('rw', \%access, $sha);
	print "<td align=center><input type=submit name=options value=\"",
          &can('rw', \%access, $sha) ? $text{'butt_eco'} : $text{'butt_vco'},
	      "\"></td>\n";		  
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n" 
		  if &can('rw', \%access, $sha, 1);
	print "</tr></table>\n";
	print "<a href=\"edit_host.cgi?new=1&sidx=$in{'idx'}"
		."&ret=shared\">$text{'index_addhst'}</a>&nbsp;&nbsp;\n"
			if &can('rw', \%access, $sha);
	print "<a href=\"edit_group.cgi?new=1&sidx=$in{'idx'}"
		."&ret=shared\">$text{'index_addhstg'}</a>&nbsp;&nbsp;\n"
			if &can('rw', \%access, $sha);
	print "<a href=\"edit_subnet.cgi?new=1&sidx=$in{'idx'}"
		."&ret=shared\">$text{'index_addsub'}</a><p>\n"
			if &can('rw', \%access, $sha);
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
print "</form>\n";
print "<hr>\n";
&footer("", $text{'esh_return'});

 070701000173f3000081e40000000000000002000000013d1fe2d700001949000000200000000000000000000000000000001c00000003reloc/dhcpd/edit_subnet.cgi   #!/usr/local/bin/perl
# edit_subnet.cgi
# Edit or create a subnet

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
$conf = &get_config();
($par, $sub) = &get_branch('sub');
$mems = $par->{'members'};
$sconf = $sub->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pis'}")
		unless &can('c', \%access, $sub) && &can('rw', \%access, $par);
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pss'}")
		if !&can('r', \%access, $sub);
	}

# display
&header($in{'new'} ? $text{'esub_crheader'} : $text{'esub_edheader'}, "");
if ($in{'sidx'} ne "") {
	local $s = $conf->[$in{'sidx'}];
	print "<center><font size=+1>", &text('ehost_shared', $s->{'values'}->[0]),
	      "</font></center>\n";
	}
print "<hr>\n";

foreach $s (&find("shared-network", $conf)) {
	if ($in{'sidx'} eq $s->{'index'}) {
		$s_parent = $s;
		}
	}

print "<form action=save_subnet.cgi>\n";
print "<input name=ret value=\"$in{'ret'}\" type=hidden>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'esub_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'esub_naddr'}</b></td>\n";
printf "<td><input name=network size=25 value=\"%s\"></td>\n",
	$sub ? $sub->{'values'}->[0] : "";

print "<td><b>$text{'esub_nmask'}</b></td>\n";
printf "<td><input name=netmask size=15 value=\"%s\"></td> </tr>\n",
	$sub ? $sub->{'values'}->[2] : "";

@range = $sub ? &find("range", $sub->{'members'}) : ();
print "<tr> <td valign=top><b>$text{'esub_arange'}</b></td> <td colspan=3>\n";
for($i=0; $i<=@range; $i++) {
	$r = $range[$i];
	local $dyn = ($r->{'values'}->[0] eq "dynamic-bootp");
	printf "<input name=range_low_$i size=15 value=\"%s\"> - \n",
		$r->{'values'}->[$dyn];
	printf "<input name=range_hi_$i size=15 value=\"%s\">&nbsp;\n",
		$r->{'values'}->[$dyn+1];
	printf "<input type=checkbox name=range_dyn_$i value=1 %s>\n",
		$dyn ? "checked" : "";
	print "$text{'esub_dbooptpq'}<br>\n";
	}
print "</td> </tr>\n";

if (!defined($in{'ret'})) {
	print "<tr> <td><b>$text{'esub_shnet'}</b></td>\n";
	print "<td><select name=parent>\n";
	printf "<option value=\"\" '%s'>&lt;%s&gt;\n",
		$s_parent ? "" : "checked", $text{'esub_none'};
	foreach $s (&find("shared-network", $conf)) {
		printf "<option value=\"%s\" %s>%s\n",
			$s->{'index'},
			$s eq $s_parent ? "selected" : "",
			$s->{'values'}->[0]
				if &can('rw', \%access, $s);
		}
	print "</select></td>\n";
	}
else {
	print "<input name=parent type=hidden value=$s_parent->{'index'}>\n";
	print "<tr> <td>&nbsp;</td> <td>&nbsp;</td>\n";
	}

&display_params($sconf);

foreach $h (&find("host", $mems)) {
	push(@host, $h);
# if &can('r', \%access, $h);
	}
foreach $g (&find("group", $mems)) {
	push(@group, $g);
# if &can('r', \%access, $g);
	}
foreach $s (&find("subnet", $mems)) {
	foreach $h (&find("host", $s->{'members'})) {
		push(@host, $h);
# if &can('r', \%access, $h);
		$insubn{$h} = $s->{'index'};
		}
	foreach $g (&find("group", $s->{'members'})) {
		push(@group, $g);
# if &can('r', \%access, $g);
		$insubn{$g} = $s->{'index'};
		}
	}
@host = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @host;
# @group = sort { @{$a->{'members'}} <=> @{$b->{'members'}} } @group;

print "<tr> <td valign=top><b>$text{'esub_hosts'}</b></td>\n";
print "<td><select name=hosts size=3 multiple>\n";
foreach $h (@host) {
	next if !&can('r', \%access, $h);
	printf "<option value=\"%s,%s\" %s>%s\n",
		$h->{'index'}, $insubn{$h},
		(!$in{'new'}) && $insubn{$h} eq $sub->{'index'} ? "selected" : "",
		$h->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'esub_groups'}</b></td>\n";
print "<td><select name=groups size=3 multiple>\n";
foreach $g (@group) {
	local $gm = 0;
	next if !&can('r', \%access, $g);
	foreach $h (@{$g->{'members'}}) {
		if ($h->{'name'} eq "host") { $gm++; }
		}
	printf "<option value=\"%s,%s\" %s>%s\n",
		$g->{'index'}, $insubn{$g},
		(!$in{'new'}) && $insubn{$g} eq $sub->{'index'} ? "selected" : "",
		&group_name($gm);
	}
print "</select></td>\n";

if (!$in{'new'}) {
	# inaccessible hosts in this subnet
	foreach $h (@host) {
		if (!&can('r', \%access, $h) && $insubn{$h} eq $sub->{'index'}) {
			print "<input name=hosts value=\"$h->{'index'},$sub->{'index'}\" type=hidden>\n";
			}
		}
	# inaccessible groups in this subnet
	foreach $g (@group) {
		if (!&can('r', \%access, $g) && $insubn{$g} eq $sub->{'index'}) {
			print "<input name=groups value=\"$g->{'index'},$sub->{'index'}\" type=hidden>\n";
			}
		}
	}

print "</table></td></tr></table>\n";
print "<input type=hidden name=sidx value=\"$in{'sidx'}\">\n";
if (!$in{'new'}) {
	print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n"
		if &can('rw', \%access, $sub);
	print "<td align=center><input type=submit name=options value=\"", 
		  &can('rw', \%access, $sub) ? $text{'butt_eco'} : $text{'butt_vco'},
		  "\"></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n" if &can('rw', \%access, $sub, 1);
	print "</tr></table>\n";
	print "<a href=\"edit_host.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}"
		."&ret=subnet\">$text{'index_addhst'}</a>&nbsp;&nbsp;\n"
			if &can('rw', \%access, $sub);
	print "<a href=\"edit_group.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}"
		."&ret=subnet\">$text{'index_addhstg'}</a><p>\n"
			if &can('rw', \%access, $sub);
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'create'}\">\n";
	}

if ($config{'dhcpd_version'} >= 3 && !$in{'new'}) {
	# Display address pools
	print "<hr>\n";
	print "<h3>$text{'esub_pools'}</h3>\n";
	local $pn = 1;
	foreach $p (&find('pool', $sconf)) {
		push(@links, "edit_pool.cgi?uidx=$in{'idx'}&sidx=$in{'sidx'}&idx=$p->{'index'}");
		push(@titles, &text('esub_pool', $pn));
		push(@icons, "images/pool.gif");
		$pn++;
		}
	if ($pn == 1) {
		print "$text{'esub_poolnone'}<p>\n";
		}
	else {
		&icons_table(\@links, \@titles, \@icons, 5);
		}
	print "<a href='edit_pool.cgi?uidx=$in{'idx'}&sidx=$in{'sidx'}&new=1'>",
	      "$text{'esub_pooladd'}</a><br>\n";
	}

print "</form>\n";
print "<hr>\n";
if ($in{'ret'} eq "shared") {
	&footer("edit_shared.cgi?idx=$in{'sidx'}", $text{'esub_retshar'});
	}
else {
	&footer("", $text{'esub_return'});
	}

   0707010001fb15000041ed0000000000000001000000023d1ffa0b00000000000000200000000000000000000000000000001100000003reloc/dhcpd/help  0707010001fb16000081a40000000000000002000000013d1fe2d7000009a6000000200000000000000000000000000000001d00000003reloc/dhcpd/help/acl.ca.html  <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]">
</head>
<body>

<center><h1>Subsistema ACL DHCPD</h1></center>

<h3>
OBJECTIUS:</h3>
&nbsp;&nbsp;&nbsp; Els objectius principals del subsistema acl són subministrar
un mecanisme de control d'accés potent, flexible y extensible de diferents
objectes amb configuració dhcpd. Aquests objectes són xarxes compartides,
subxarxes, grups de hosts i hosts.
<br>&nbsp;&nbsp;&nbsp; El subsistema acl permet controlar algunes altres
característiques, com ara: noms únics d'objecte, aplicació de la 
configuració modificada, visualització i supressió de <i>leases</i> dhcpd
<h3>
CONCEPTES:</h3>
&nbsp;&nbsp;&nbsp; Podem veure el fitxer de configuració dhcpd com una estructura d'arbre.
Cada node d'aquest arbre representa una configuració d'objectes dhcp diferents
(fig. 0).
<p>&nbsp;&nbsp;&nbsp; El subsistema acl té 2 nivells de permisos:
<ul>
<li>
global: lectura, escriptura, creació;</li>

<li>
per objecte: lectura, escriptura.</li>
</ul>
&nbsp;&nbsp;&nbsp; Existeixen permisos globals per a cada tipus d'objecte
(hosts, grups, subxarxes, xarxes compartides) i controlen les operacions
d'un conjunt sencer d'un tipus donat.
<br>Creació global
<br>Lectura global
<br>Escriptura global
<br>&nbsp;&nbsp;&nbsp; Els permisos per objecte donen una forma més
flexible de control d'accés. Existeixen permisos acl per objecte per
cada objecte individual. Per ara, només estan implementades les acls 
per objecte de hosts i subxarxes.
<br>Lectura per objecte
<br>Escriptura per objecte
<br>&nbsp;&nbsp;&nbsp; El subsistema acl pot operar en 4 nivells diferents
de seguretat (o modes).
<br><img SRC="ctree0.gif" ALT="arbre de configuració dhcpd, nivell de seguretat 0, comprovació de permisos subnetX" height=229 width=314>
<br>&nbsp;
<p><img SRC="ctree1.gif" ALT="arbre de configuració dhcpd, nivell de seguretat 1, comprovació de permisos subnetX" height=229 width=314>
<p><img SRC="ctree2.gif" ALT="arbre de configuració dhcpd, nivell de seguretat 2, comprovació de permisos subnetX" height=229 width=314>
<p><img SRC="ctree3.gif" ALT="arbre de configuració dhcpd, nivell de seguretat 3, comprovació de permisos subnetX" height=229 width=314>
<h3>
NOTES D'USUARI:</h3>
&nbsp;
<h3>
NODES DE DESENVOLUPAMENT:</h3>

</body>
</html>


  0707010001fb17000081a40000000000000002000000013d1fe2d7000008dc000000200000000000000000000000000000001a00000003reloc/dhcpd/help/acl.html <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; U; Linux 2.2.14-6.1.1 i686) [Netscape]">
</head>
<body>

<center>
<h1>
DHCPD ACL subsystem</h1></center>

<h3>
TARGETS:</h3>
&nbsp;&nbsp;&nbsp; The main goals of acl subsystem is providing a powerfull,
flexible and extendable mechanism for access control of different objects
in dhcpd configuration. This objects are shared networks, subnets, groups
of hosts and hosts.
<br>&nbsp;&nbsp;&nbsp; Also acl subsystem allows you to control some other
features, such as: unique object names, applying of changed configuration,
viewing and deletion of dhcp leasures.
<h3>
CONCEPTS:</h3>
&nbsp;&nbsp;&nbsp; Dhcpd configuration file we can show as a tree structure.
Each node of this tree represents a configuration of different dhcp objects
(fig. 0).
<p>&nbsp;&nbsp;&nbsp; Acl subsystem have 2 levels of permissions:
<ul>
<li>
global: read, write, create;</li>

<li>
per-object: read, write.</li>
</ul>
&nbsp;&nbsp;&nbsp; Global permissions exists for every type of objects
(hosts, groups, subnets, shared networks) and controls operations with
a whole object set of given type.
<br>Global create
<br>Global read
<br>Global write
<br>&nbsp;&nbsp;&nbsp; Per-object permissions give you a more flexible
way of access control. Per-object permissions acl exists for every object
individual object. Today only hosts and subnets per-object acls are impemented.
<br>Per-object read
<br>Per-object write
<br>&nbsp;&nbsp;&nbsp; Acl subsystem can operate in 4 different security
levels (or modes).
<br><img SRC="ctree0.gif" ALT="dhcpd configuration tree, security level 0, check subnetX permissions" height=229 width=314>
<br>&nbsp;
<p><img SRC="ctree1.gif" ALT="dhcpd configuration tree, security level 1, check subnetX permissions" height=229 width=314>
<p><img SRC="ctree2.gif" ALT="dhcpd configuration tree, security level 2, check subnetX permissions" height=229 width=314>
<p><img SRC="ctree3.gif" ALT="dhcpd configuration tree, security level 3, check subnetX permissions" height=229 width=314>
<h3>
USER NOTES:</h3>
&nbsp;
<h3>
DEVELOPER NOTES:</h3>

</body>
</html>
0707010001fb18000081a40000000000000002000000013d1fe2d700000814000000200000000000000000000000000000002200000003reloc/dhcpd/help/acl_info.ca.html <header>Subsistema ACL DHCPd</header>

<h3>OBJECTIUS:</h3>
El principal objectiu del sistema ACL és el de subministrar un mecanisme
de control d'accés potent, flexible i extensible per a diferents objectes
de la configuració DHCPd. Aquests objectes són xarxes compartides, subxarxes,
grups de hosts i hosts. <p>

El subsistema ACL també permet controlar algunes altres característiques,
tals com: noms únics d'objectes, aplicació de la configuració modificada,
i visualització i edició de <i>leases</i> DHCP. <p>

<hr>CONCEPTES:</h3>
Podem veure el fitxer de configuració DHCPd com una estructura d'arbre.
Cada node d'aquest arbre representa la configuració d'un objecte DHCP
diferent (fig. 0).<p>

El subsistema ACL suporta dos nivells de permisos:

<ul>
<li>global: lectura, escriptura, creació.</li>
<li>per objecte: lectura, escriptura.</li>
</ul>

Existeixen permisos globals per a cada tipus d'objecte
(hosts, grups, subxarxes, xarxes compartides) i controlen les
operacions d'un conjunt sencer d'un tipus donat.
<ul type=circle>
<li>Creació global</li>
<li>Lectura global</li>
<li>Escriptura global</li>
</ul>
Els permisos per objecte donen una forma més flexible de control d'accés.
Existeixen permisos acl per objecte per cada objecte individual.
Per ara, només estan implementades les acls per objecte de hosts i subxarxes.
<ul type=circle>
<li>Lectura per objecte</li>
<li>Escriptura per objecte</li>
</ul>

El subsistema acl pot operar en 4 nivells diferents de seguretat (o modes).
<p>

<img SRC="images/ctree0.gif" ALT="arbre de configuració DHCPd, nivell de seguretat 0, comprovació de permisos subnetX" height=229 width=314>

<img SRC="images/ctree1.gif" ALT="arbre de configuració DHCPd, nivell de seguretat 1, comprovació de permisos subnetX" height=229 width=314>

<img SRC="images/ctree2.gif" ALT="arbre de configuració DHCPd, nivell de seguretat 2, comprovació de permisos subnetX" height=229 width=314>

<img SRC="images/ctree3.gif" ALT="arbre de configuració DHCPd, nivell de seguretat 3, comprovació de permisos subnetX" height=229 width=314>

0707010001fb19000081a40000000000000002000000013d1fe2d700000757000000200000000000000000000000000000001f00000003reloc/dhcpd/help/acl_info.html    <header>DHCPd ACL subsystem</header>

<h3>TARGETS:</h3>
The main goal of the ACL subsystem is providing a powerfull, flexible and
extendable access control mechanism for different objects in the DHCPd
configuration. These objects are shared networks, subnets, groups of hosts
and hosts. <p>

Also the ACL subsystem allows you to control some other features, such as:
unique object names, applying of changed configuration, viewing and deletion
of DHCP leases. <p>

<h3>CONCEPTS:</h3>
We can show the DHCPd configuration file as a tree structure. Each node of
this tree represents configuration of a different DHCP object (fig. 0). <p>

The ACL subsystem supports two permission levels:
<ul>
<li>global: read, write, create;</li>
<li>per-object: read, write.</li>
</ul>

Global permissions exist for each type of object (hosts, groups, subnets,
shared networks) and control operations with a whole object set of given
type:
<ul type=circle>
<li>Global create</li>
<li>Global read</li>
<li>Global write</li>
</ul>

Per-object permissions give you a more flexible way of access control.
Per-object permissions ACL exist for every individual object. Today
per-object ACLs are impemented only for hosts and subnets:
<ul type=circle>
<li>Per-object read</li>
<li>Per-object write</li>
</ul>

The ACL subsystem can operate in four different security levels (or modes).
<p>

<img SRC="images/ctree0.gif" ALT="DHCPd configuration tree, security level 0, check subnetX permissions" height=229 width=314>

<img SRC="images/ctree1.gif" ALT="DHCPd configuration tree, security level 1, check subnetX permissions" height=229 width=314>

<img SRC="images/ctree2.gif" ALT="DHCPd configuration tree, security level 2, check subnetX permissions" height=229 width=314>

<img SRC="images/ctree3.gif" ALT="DHCPd configuration tree, security level 3, check subnetX permissions" height=229 width=314>

 0707010001fb1a000081a40000000000000002000000013d1fe2d700000873000000200000000000000000000000000000002200000003reloc/dhcpd/help/acl_info.nl.html <header>DHCPd ACL subsysteem</header>

<h3>DOELSTELLING:</h3>
Het belangrijkste doel van het DHCPd ACL subsysteem is het bieden van een 
krachtig, flexibel en gemakkelijk uit te breiden besturingsmechanisme voor 
verscheidene objecten in de DHCPd configuratie. Deze objecten betreffen: 
gedeelde netwerken (shared networks), subnetten, groepen hosts en individuele 
hosts. <p>

Daarnaast maakt het ACL subsysteem het mogelijk om andere voorzieningen aan 
te sturen zoals: unieke objectnamen en het aanbrengen van wijzigingen aan de 
configuratie, het bekijken en verwijderen van DHCP leases. <p>

<h3>CONCEPTEN:</h3>
We kunnen ons de DHCP configuratie voorstellen als een boomstruktuur. Elk 
knooppunt in de boomstruktuur stelt een configuratie voor van een ander 
DHCP object (fig. 0). <p>

Het ACL subsysteem ondersteunt twee toegangsniveaus:
<ul>
<li>globaal: lezen, schrijven en aanmaken;</li>
<li>per-object: lezen en schrijven.</li>
</ul>

Globale toegang bestaat voor elk type object (hosts, groepen, subnetten,
gedeelde netwerken) en beheren operaties met een heel object van een 
gegeven type:
<ul type=circle>
<li>Globaal aanmaken</li>
<li>Globaal lezen</li>
<li>Globaal schrijven</li>
</ul>

Toegang per object biedt een meer flexibele manier om toegang te regelen.
Een ACL voor toegang per object bestaat voor ieder individueel object. 
Op dit moment zijn ACL's per object alleen geïmplementeerd voor hosts 
en subnetten:
<ul type=circle>
<li>Per-object lezen</li>
<li>Per-object schrijven</li>
</ul>

Het ACL subsysteem kan werken met vier verschillende beveiligingsniveaus 
(of modes).
<p>

<img SRC="images/ctree0.gif" ALT="DHCPd configuratieboom, beveiligingsniveau 0, check subnetX toegang" height=229 width=314>

<img SRC="images/ctree1.gif" ALT="DHCPd configuratieboom, beveiligingsniveau 1, check subnetX toegang" height=229 width=314>

<img SRC="images/ctree2.gif" ALT="DHCPd configuratieboom, beveiligingsniveau 2, check subnetX toegang" height=229 width=314>

<img SRC="images/ctree3.gif" ALT="DHCPd configuratieboom, beveiligingsniveau 3, check subnetX toegang" height=229 width=314>

 0707010001fb1b000081a40000000000000002000000013d1fe2d7000008cd000000200000000000000000000000000000002200000003reloc/dhcpd/help/acl_info.pl.html <header>System ACL-i dla DHCPd</header>

<h3>CELE:</h3>
Zasadniczym celem systemu ACL-i jest zapewnienie silnego, elastycznego
i&nbsp;rozszerzalnego mechanizmu kontroli dostêpu do ró¿nych obiektów
w&nbsp;konfiguracji DHCPd. Obiektami tymi s± sieci wspó³dzielone, podsieci,
grupy hostów i hosty. <p> 

System ACL-i pozwala równie¿ na kontrolowanie kilku innych w³a¶ciwo¶ci,
takich jak: unikalno¶æ nazw obiektów, mo¿liwo¶æ zastosowania zmienionej
konfiguracji, przegl±danie i&nbsp;kasowanie dzier¿aw DHCP. <p>

<h3>ZASADY:</h3>
Plik konfiguracyjny DHCPd posiada strukturê drzewiast±. Ka¿dy wêze³ tego
drzewa reprezentuje sob± konfiguracjê pojedyñczego obiektu DHCP (rys. 0).
<p>

System ACL-i posiada dwa poziomy zabezpieczeñ:
<ul>
<li>poziom ogólny: odczyt, zapis, tworzenie;</li>
<li>dla poszczególnych obiektów: odczyt, zapis.</li>
</ul>

Uprawnienia ogólne s± okre¶lone dla ka¿dego typu obiektów (hostów, grup,
podsieci, sieci wspó³dzielonych) i&nbsp;dotycz± operacji na wszystkich
obiektach danego typu:
<ul type=circle>
<li>ogólne uprawnienia do tworzenia,</li>
<li>ogólne uprawnienia do odczytu,</li>
<li>ogólne uprawnienia do zapisu.</li>
</ul>

Uprawnienia dla poszczególnych obiektów umo¿liwiaj± kontrolê dostêpu
w&nbsp;bardziej elastyczny sposób. ACL-e uprawnieñ dla poszczególnych
obiektów istniej± dla ka¿dego pojedyñczego obiektu. Obecnie ACL-e dla
poszczególnych obiektów zaimplementowane s± jedynie dla hostów
i&nbsp;podsieci:
<ul type=circle>
<li>uprawnienia do zapisu dla poszczególnych obiektów,</li>
<li>uprawnienia do odczytu dla poszczególnych obiektów.</li>
</ul>

System ACL-i mo¿e dzia³aæ przy czterech ró¿nych poziomach (trybach) zabezpieczeñ.
<p>

<img SRC="images/ctree0.gif" ALT="Drzewo konfiguracji DHCPd, poziom zabezpieczeñ 0, sprawdzanie uprawnieñ dla podsieci X" height=229 width=314>

<img SRC="images/ctree1.gif" ALT="Drzewo konfiguracji DHCPd, poziom zabezpieczeñ 1, sprawdzanie uprawnieñ dla podsieci X" height=229 width=314>

<img SRC="images/ctree2.gif" ALT="Drzewo konfiguracji DHCPd, poziom zabezpieczeñ 2, sprawdzanie uprawnieñ dla podsieci X" height=229 width=314>

<img SRC="images/ctree3.gif" ALT="Drzewo konfiguracji DHCPd, poziom zabezpieczeñ 3, sprawdzanie uprawnieñ dla podsieci X" height=229 width=314>

   070701000212e0000041ed0000000000000001000000023d1ffa0e00000000000000200000000000000000000000000000001300000003reloc/dhcpd/images    070701000212e1000081a40000000000000002000000013d1fe2d700000a1f000000200000000000000000000000000000001e00000003reloc/dhcpd/images/ctree0.gif GIF87a:å ÷     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ!ù     ,    :å  Ó H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç CŠI²¤É“(Sª\É²¥Ë—0cÊœI³¦Í›8sêÜÉ³§ÏŸ@ƒ
J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊµ«×¯`ÃŠK¶¬Ù³hÓª]Ë¶­Û·pãÊ› Ý»PíâÝ«T/ß¿FýT0áÃ;#^|S1ãÇ2CžÌR2åË(-cÞÌ¹³çÏ C‹Mš£æÒ¨X}:µk«a`ÝúuèØ²²¶ÿ÷@Ë»yƒöM°5má˜‰ë†9båË'wÎºÁÚ›S‡ký ö†Ú·§íîýãtñdÉ#üN1<ú­ê²·xþ½ÕøòWº·ß¿j—õñ‡”ÙEF €8X Mû!X×|ÿ%Ø ƒ1)^OR¨’…A`†ŠÄa‡EâF#>äaM&žØÞŠÌ- ‹/š£N)Ò˜£D7ÒèÔŽÒùíñÔctNFd‘FšÆdEGŽ%”:$}‹-yÑ”5gq^Î˜_^7›`Áíæ×šc²Yfn{i‰—(þ6fnlž	§^|*†ŸvŠ)è o
ú'œwÉ9gcf"Šg †B
) ÊV&¥‘Z'qŠ¢oyžyh›£Š™f ´azi¦¬¶ˆ–¢uâ¸ç¬„6:è¤ŽÖºj­¼zZ•¯&ˆê°zòÚª­ª"jžÌ
	l§ Nú&šdB·,¨Ë-­.>+ä·à†ÛƒâRµ¢¯çFåí`ézÔn_®»V˜F[m›î‹ïoÂ
“aþÿ¶Õ,ž”Ž:p—Ëj_ëÉ[–Ÿ
'Û«yçê°§,e¶|j¾•ºí€*jü*­c*i¬ÇFwñHš<dÅ·Œ.Íµ£Ì_i7Ýy×®éiÐÚ
]¢F<—K²i/+ý“Æ®:=•ÃIK-afMs•uÏ•m•×Z¿õ[`kUu‡e?•öUk7üWÛ¿âw`JÎÝ…)YØÙ2B†wD|/ýÜßÒn“á¦ªøâ©ŠÊøã¨âÿBÞ¸å˜Ç«æß?½qæŽg¾yl£ÿ+ðç˜‡.ºæš‹jú•qoÌoë¤ãÛ'¶³_:6Hïš;9íÀßÙ¯ž›«:Ì#j/µ·¥Ç.¥ñÅGOzðŠRÊwšpÈSÏ‹-õÓ»®Üôj:."²(ã|Ÿ÷Ç‘O|øÒ·_úî<&Ÿ¾Ç¥JEùLî÷~¼âc] /&1ìÝ*Wjc‹—|Æ¼ÎNxò;_È
¨¾î)puÌàºØ/ûíK_y˜G˜:áìA$L!ãsBþ©ð…3PzC?ÏÍ,K*ëXZ¸7€©,<|šd‚»®Qnûÿ¡7…#Î+ND!”h¶¹Ôð€L‰"ÒâB$-’Èj/š’¿Æ’,edÈÕ¨¿4ÊG^cd£‹f£6hZÚã ÍÕ9,öí(}Êžó÷£²ÅQŽG›`ýxÇ¶2B‰l™ÍVvGþÙQg4›$uF¸GBR(4Vs(+P^r(µ»•wÄÞ=GpO4e_‰JJ’({ü ëvé.<6/}}´(s¤Eƒ-²K‚¤ Á6Y¥÷ÒVÈT¤4CUKô—Àº¦2éO®OšÅaæ–2¹MÇš‹$å‹¥GT©ópO"Ñ˜½^.l•–
¢+çxËá„Ô%?Yó#ÎObh{š¨ÕC'>I
…Ò;e)IzE4žÜü'8vQæ8æ‘]XG/DÐH
­õ©jŒ£Ò“õ³¥=›7a:ÎYÒôk7šéMU¬þŠK:õiy¢¥)Txñ®¨Y„R+I’ Â´iNíh£ªPC.õ b»j)K¢ªv‹\µ¥V×9Å3Ær¬fõ'2ïEÏ5¢5?lÝ—[Ý–Ð‰¾U¢Óä(Ë¶)Ö»R)¯Ý+·,ê×žVtdÂ”X83ZØ³*V¯d-gAËSÀŠ4²ôü`0[:OÍz•² ­hGKÚÒšö´¨M­jWËÚÖºöµ°­lgKÛÚÚö¶¸Í­nwòËÛÞúö·M§æÊ2’b”—:jj_“dÜYR3DT[nJšˆ¥Å2Ö>å×$©,ÀÅ›ÃÒ]¡xÒî‚×º×u¦p—Ù+Å¢I­’mo¥ž{¬š÷«fzoÇô«J¢w¼¸Ú/%Ç[(;Š¿'Ê®~V½ûÒÑ;ä+útYS­÷v“Ôg¿6ÔQº0=Œ@›ªÄHÚ0‡Å`÷Z—=ï}h©’•]Q¶3Å>ª±ù„§,kqhßM%³Œ†,0é±™Mã†U<ÃÒ´1”“Kå*[ùÊXÎ²–·Ìå.{ùË`³˜ÇLæ2›ùÌh&K@  ; 070701000212e2000081a40000000000000002000000013d1fe2d700000ac4000000200000000000000000000000000000001e00000003reloc/dhcpd/images/ctree1.gif GIF87a:å ÷     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿ<ÞrqøÿsvËw|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÝÝl®÷ÿëv³·;wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿþÝn¯÷ÿív»û[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿl· þñíºÝXÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿïm·ïùÿn»Ý!ù     ,    :å  Ó H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç CŠI²¤É“(Sª\É²¥Ë—0cÊœI³¦Í›8sêÜÉ³§ÏŸ@ƒ
J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊµ«×¯`ÃŠK¶¬Ù³hÓª]Ë¶­Û·pãÊ› Ý»PíâÝ«T/ß¿FýT0áÃ;#^|S1ãÇ2CžÌR2åË(-cÞÌ¹³çÏ C‹Mš£æÒ¨X}:µk«a`ÝúuèØ²²¶ÿ÷@Ë»yƒöM°5má˜‰ë†9båË'wÎºÁÚ›S‡ký ö†Ú·§íîýãtñdÉ#üN1<ú­ê²·xþ½ÕøòWº·ß¿j—õñ‡”ÙEF €8X Mû!X×|ÿ%Ø ƒ1)^OR¨’…A`†ŠÄa‡EâF#>äaM&žØÞŠÌ- ‹/š£N)Ò˜£D7ÒèÔŽÒùíñÔctNFd‘FšÆdEGŽ%”:$}‹-yÑ”5gq^Î˜_^7›`Áíæ×šc²Yfn{i‰—(þ6fnlž	§^|*†ŸvŠ)è o
ú'œwÉ9gcf"Šg †B
) ÊV&¥‘Z'qŠ¢oyžyh›£Š™f ´azi¦¬¶ˆ–¢uâ¸ç¬„6:è¤ŽÖºj­¼zZ•¯&ˆê°zòÚª­ª"jžÌ
	l§ Nú&šdB·,¨Ë-­.>+ä·à†ÛƒâRµ¢¯çFåí`ézÔn_®»V˜F[m›î‹ïoÂ
“aþÿ¶Õ,ž”Ž:p—Ëj_ëÉ[–Ÿ
'Û«yçê°§,e¶|j¾•ºí€*jü*­c*i¬ÇFwñHš<dÅ·Œ.Íµ£Ì_i7Ýy×®éiÐÚ
]¢F<—K²i/+ý“Æ®:=•ÃIK-afMs•uÏ•m•×Z¿õ[`kUu‡e?•öUk7üWÛ¿âw`JÎÝ…)YØÙ2B†wD|/ýÜßÒn“á¦ªøâ©ŠÊøã¨âÿBÞ¸å˜Ç«æß?½qæŽg¾yl£ÿ+ðç˜‡.ºæš‹jú•qoÌoë¤ãÛ'¶³_:6Hïš;9íÀßÙ¯ž›«:Ì#j/µ·¥Ç.¥ñÅGOzðŠRÊwšpÈSÏ‹-õÓ»®Üôj:."²(ã|Ÿ÷Ç‘O|øÒ·_úî<&Ÿ¾Ç¥JEùLî÷~¼âc] /&1ìÝ*Wjc‹—|Æ¼ÎNxò;_È
¨¾î)puÌàºØ/ûíK_y˜G˜:áìA$L!ãsBþ©ð…3PzC?ÏÍ,K*ëXZ¸7€©,<|šd‚»®Qnûÿ¡7…#Î+ND!”h¶¹Ôð€L‰"ÒâB$-’Èj/š’¿Æ’,edÈÕ¨¿4ÊG^cd£‹f£6hZÚã ÍÕ9,öí(}Êžó÷£²ÅQŽG›`ýxÇ¶2B‰l™ÍVv¸’jqô±d
«I‰M(Ý%W%ªN”œJ UÀV’|/Ì¤&Gè“8ÖîVT^ågÊÈ…† «¥àžXËÑÍr§&)S™7P"ÒHå3©ø•;Yžªvß`‘™$Uæˆˆ?`üÞ‡ÌË­ÒÚ$g±D^’S°¼‘9Å‰ÎqúR˜Îq§ÿ„Æ:yêxô¨õ±lÈÂù4~;û§ëOa­'ŸÕ&BýY¼wÚ3÷$W?óO~òsš¥ü™:«IÍÛqózOŽ2cX2L’0™ˆÛã]GS•®4¡íå2Y´½OÞæ¦8] )S‡ú”’jPƒÏ`Žf5}$ •jÍÔÍ•OU¤ËF£T8:æ‘ƒTØSj+I«Ù+àŒ£V·|Gªm½Þ|à×.‘µ®P”'^¬½Â‡Ktõ+Yú&Xý+°…-+Å¯’ ¶°M{,^ýeUK2–¼«ìê.kË–°pšu*g?µY¬Ö¯©¼üìh‘fÌXþ¦¨íçj™ÛÐ~³µ¥eélAÛÏÜêVÑÚIºÛ9W¨F»dH1ú?xZÃch@×¨Ð‰Êö¹[Š¨u÷Ú‹~4£Ø=ms…Ê]ÞJ´©ÎïrÏÛ[xÂ¨ºð‹ïIŸ_¢·»î)M«Þ»í“¸iâ¯j¨Ú_ÞÞt¹+-°üK+˜9]E°2¼V/˜†°…ÅëàwÃ>°‡ÁáOxÄ(N±ŠWÌâ»øÅ0Ž±ŒgLãÛøÆ8Îê±ŽwÌãKPG‘;l…bD¥ò8ë$xk";éè#®3?*²XOôÕ’¦¯yÅqæÑúÁfé®Pü(.»e ‹T{(ód–‰ìÓVV*TëC›\4ÝÏÎŠîš5…¾ŽÁ™Ï€³+‘J¡*ãy`ÕËóLéX½*+2gvJô´‚<gYÎŒ$t™M•gLÌ‘FàÜ(D{ÒÑ*Ê²œK•,G_W™–ì‘5\•5BÂå2ñÒLMZãùZ«¬5á?£±ÅÌ°}Ììf;ûÙÐŽ¶´§Míj[ûÚØÎ¶¶·Íín{ûÛàîv@  ;07070100021319000081a40000000000000002000000013d1fe2d700000a5b000000200000000000000000000000000000001e00000003reloc/dhcpd/images/ctree2.gif GIF87a:å ÷     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ?ÿÿÿóÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿ·þÿœÝòßãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿw7ÛëýÿºÝlíÎÝÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿïÿÿ·Ûëýÿ»ÝîþÖ_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÛíˆü»n÷Ö@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ{Ûí{þÿÛn÷öº^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿ»ÙÍíþÿÛf·v»nÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÇÚ-ÿÿ‹jwŽ½qÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿßÿÿ!ù     ,    :å  Ó H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç CŠI²¤É“(Sª\É²¥Ë—0cÊœI³¦Í›8sêÜÉ³§ÏŸ@ƒ
J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊµ«×¯`ÃŠK¶¬Ù³hÓª]Ë¶­Û·pãÊ› Ý»PíâÝ«T/ß¿FýT0áÃ;#^|S1ãÇ2CžÌR2åË(-cÞÌ¹³çÏ C‹Mš£æÒ¨X}:µk«a`ÝúuèØ²²¶ÿ÷@Ë»yƒöM°5má˜‰ë†9båË'wÎºÁÚ›S‡ký ö†Ú·§íîýãtñdÉ#üN1<ú­ê²·xþ½ÕøòWº·ß¿j—õñ‡”ÙEF €8X Mû!X×|ÿ%Ø ƒ1)^OR¨’…A`†ŠÄa‡EâF#>äaM&žØÞŠÌ- ‹/š£N)Ò˜£D7ÒèÔŽÒÍDÛDiä‘H&©ä’C.d{B9“KNIå•IZÙ"w=VÔ¥iRb™¥˜±‘y‘ƒ=IƒašY¤–WÂ)¦œ©yÑ—(ú¶›^çí9åoÁÙ…&ŸÍéiå¡z–9¢xveÈ'FfTæ¤°	j©¥•2ú'NŠ©§ˆjÚé¥w=
)‹—îé©ªŒ~º*¨°’*è¢±†:c[¦JŠª_ª’
è¡ÅÉú+«ÁÚJ«¬¾jW®E*i“µ²Úk¯tJ­¢³FKé–b9‹¢MÚºš)µ±ž¹í¹åjj­·Ÿ±{g¢Èò9*¼‚
j¥„ÆËkºÌ¶®› °»
lðÁJÌ&Â7|ëWîB©ð}w´bÄ0aœfÅ¦q,#¦·šÈÇ›¯G$‹ïÊLÖÿ/[¼æ¶è¦„Žü›Ì`Ú¬óÌo¸^Ïe)óÌ<ßL´¼(=´ÐgôX…*-õÈÓ±»´Ñ*?MÒwÜÖ)3ÒEïŒuÇ;3Mt`ÒißÔa·6Ød»ý5ÎCíørXÚUõ×‰&Íw½}…çÝ÷g±Ú…æn×‰S4ác¨6äxs†ø¯]îèKŒãšœæ?zV£«VºŒ—îô^ªOEù³tµ.•ì*¾Þ2d´ó˜{bŒÙ.âî¡%°œdF©ð2I<–pnj¼YÈ'_¥™ÊRË¹çÂS¹|Âæ&ÛÒÅWEŸ< Èò¬¨²™â›mç~óþñåKé¨ê^Ë>s"m¦(qúàZ¯Šºæ5¯iaìjTK ÜÎ6; Â«~®JY×G8³-msÍA°z÷
ÉÞ.¨´ªUE|Æ[—ÁxÙhnGƒ¡¸AòÎd­"ß¸8(B¶½M†l‹

£ä°9ýp¸éÖ
5ÄSÁ¬ˆFäM¥Eå	gŠªbœ„”žÌù/%XÜZïàf¸Ê‰N9atÄÎ¸!‚%:cÿ´9¼liŽ*ò
¤Æ§ìÑ‰ËJÑ2È5q	?Š¤ìTÈ)RwíKä#k·8NÒtbÌË%ö´FFè(ç›UÖ¤öÅÊ”Ò“meú’èÃUÎnt¨Le‰ZY6ö§”×q#ÚjÉË¡5-2–¬-IH·À /–åœ+¨À0â™¹,‘(‘h2yáÒK;L#Á'nöN™Å$Q7§2`ÝÓ4Ÿ/­9È=žó™HÃ ¿E³Æf³|<‹YI^“…Ñç0Gh±2 @¦%íYœpêÊŸöô%Žò#ž}Þ³Ÿ¬<hÍ
®lÞf‰üÊÒ©CÊæš}ŒˆBäÑ`‰†”šåÜä…JHÅõ2ˆ2ízÈG‹Î0§‹¤i@!š? Þ):ªô'N
ÉhîòŸódj)šÏ£½sR­]M³
À©rzóYéW™Ò±:êFb5«8ªVÒ5*­mu*=¦ã*Ä~ÒU’=¼ë/GW®NN¯Æô`ÇY™Áþ¥B5,0_HUÅ
v±m¨cóZÖfµt²­¬®®ZÒsbö?œe™gCÕÄ~¶F¥å([ÿ9¶ÓZö¦HC	êÚÌÎ¶¨seèRkKVÝŠ-·5-o½ÑÝr_0%çp±ù7¦o¹Ð®t§KÝêZ÷ºØÍ®v·ËÝîz÷»à¯xÇKÞòš÷¼èM¯z×ìËÞöº÷½ð¯|ç«8®uìA«nûÍLªŒkÒ	ÖÉÖ~/À)•è‰³/ž,²NKî(mFÁ³¹¬³’¥­duÔ¤°eÔ|¶ŒíVS»´x†¸–>•¥ŽÊS/f¶X®àyñI“ILÓª¡1{1ƒ'¶cOM"vîu>¸cï6U¬ÌW `ì¢"§X¨jñO/JË³8œæq2øa{HÊU^¦ÜœÒ3°¯uDjŸHÊ²jæ—‰e	±ºá¼í×ËSd_Ñ<ãõºyN
éKèBúÐˆN´¢ÍèF;úÑŽ´¤'Mi¦ ; 0707010002131a000081a40000000000000002000000013d1fe2d700000af8000000200000000000000000000000000000001e00000003reloc/dhcpd/images/ctree3.gif GIF87a:å ÷     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÏÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿ>ÞrqøÿsvËw|ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÝÝl®÷ÿëv³·;wÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿýÝn¯÷ÿív»û[ÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿl· þñíºÝXÿÿÿÿÿÿÿÿÿÿÿÿÿÿßÿÿïm·ïùÿn»Ý!ù     ,    :å  Ó H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç CŠI²¤É“(Sª\É²¥Ë—0cÊœI³¦Í›8sêÜÉ³§ÏŸ@ƒ
J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝÊµ«×¯`ÃŠK¶¬Ù³hÓª]Ë¶­Û·pãÊ› Ý»PíâÝ«T/ß¿FýT0áÃ;#^|S1ãÇ2CžÌR2åË(-cÞÌ¹³çÏ C‹Mš£æÒ¨X}:µk«a`ÝúuèØ²²¶ÿ÷@Ë»yƒöM°5má˜‰ë†9båË'wÎºÁÚ›S‡ký ö†Ú·§íîýãtñdÉ#üN1<ú­ê²·xþ½ÕøòWº·ß¿j—õñ‡”ÙEF €8X Mû!X×|ÿ%Ø ƒ1)^OR¨’…A`†ŠÄa‡EâF#>äaM&žØÞŠÌ- ‹/š£N)Ò˜£D7ÒèÔŽÒHÛDiä‘H&©ä’3þd{B9“KNIå•IZÙ"w=VÔ%ŠGj‰¥”cÆVæqDö$}3!)æ™»ù&–o:ùåEwft^œ°5Ç§oÓÙ•¦^{ú%¨™ˆþfælVN¹Í×šz¶‰è¡}:'¡‡RŠ[š–fÚi£&úé–gA©¤™^šj¢ªvºª§“ºÊ¨ ²Æšê\¦j”§ž~ÚJ\¬ÅÁª(¨†Ù:k­žö™kUËêÊà °FK,š“¶Z­±´úJl£oíj‹Ú^ê(²š^+­¸ÔF[îº.z‹Q¡êÊV­¢¿9-½ÊNk¨¯”žè.žp,ðÀ>>;ðÁ3Y0ª	7ìp“_ýëåPWü°Y+þ›qT¶±G÷×ïp€þ&¯¡ãæËí·õ
©>Ûÿ±Z(3šÛ¦•Ú\³Æ„æ¦³É6Ë¸ÞÌ¥^ôÎG'²Ò?G—T|ÍÒ\òÍLcú²yUãëóQßÁ\Ï=S-vqX­XØ\KGtÄYöÛ[£Ø6ÒÝµXÚê'Ð+7[óÊ}¯Òw/ü”·…þ´Ä^+N•à‰;³àÃNF9Þ•]ßfš{ùæ—}®bçS‘:¸N†Ž£éL±~•èïºž6d²«]»P·K•{níþ£ï^Ÿ Z,)ÍÄS9'öÂ>zÑÉ+,gº€WÖ–ðW9½µÎçä}Rï{n¾VïKo¶/ý=³Ro+î§£²Ú<Ä`þÝsÉ-«\úZæº/œ?»ý³×àæ6œ¹-nã Âõ¿”UªyZ‘ÑÌ¶
máCW˜®x‰hjMaùÐ¦;¶pYþ[—I·ºðlìS ø\FÃ¾lUTŸ-H·&Ð„£ÓkX>¾‰¯r?”a&ìIh‰LäÅ(V(=I_Ì0·Ž‹jRÎOå•1RL2fÄXÒ8¹Ó°qbÿ]yãê°#ÇõN.ª#¸¢GTA)/|ŒË“ú#ÉÅŽp%4$ï¾HE2çn„,¤#³³¶H’h’C£œ%/É5Z«oIë^K´È¦F&g^l¡çºM^è”ŒåßZ'Êò˜’(=Ì¥t%e‰>Ì“O\©KYòí‰UZž _Ì1m—¨4"IHEs	“™½¼fbêæÃ¼]­–<RU3wTEúÙÄ•ää0Å™Ms2¤œ¤Ü4ÓùJñ)‚¾D¢;)(K¥Œ{:[&†p™£:ê…ŒçüPy.Q](èd@ÊN`Nô„üg)‘C=~áK á¼hC¸OQ§£ê¢¥¨ÝPz/Œ–T?Þk¢HúÒL:4^Úr•FßùÇÛpo†Z«©çú9¯|k„SÉfQh93Lq 7­&šŠ55¥í”9¶¥6ìª3äT˜ zÎ¹MÐ§LžòtjEµ”U½˜Zµ×Ád–5–d»àg¬:ëD´˜=Ää»"T"#æ/g‚O+H1¶wó‰ècûÚÓÉ¦Çn–Åâ`3±<I–³•uüh±ÉÑ‚O‚¦åäRûÅ“|–µ9ä•›œ	[“šGIÊüemAB[Übs¶kÝ-È²š%læ6· ®®Ø°¹"wybRîp­IW¡ê†¹Ò³®tß‰Ýê’MFÅç?ã¹ÝëÜ^æó%ŒêÒè–w¹›"i
¿;Ó j÷½6M![_åÜ„‡ø=äHÿ['ãúZîpSõ‹`NÙnÀÜ)cYz`þXâ½¡„‹R ª,¹£K«‚çúÕß"lÄ`=±‰‡â³øÁ	k±‹	6ãæÊ8¤"ÆqŒo‹‘XÅ<qŽ{,× ùÈHN²’—Ìä&;ùÉPŽ²”§Lå*[ùÊXóÎ²–·Ìe	pWäe¤:÷xÝ×‚‘·Ç„	7ºK±0Í/Y3¥©#[úó…EcHƒUC:gTy5,	©JÏBH¬7Se‘èX®îp\„3Ü ;´‚9Æ“\u™;¤i“]Ú¬.$›¦QÖiÍ˜™mF+µÒè2g²NŸ¦``=ýå<_-¦!Š5¥ÓÙiubZÒ ö¡§ËCÍ¸õ:×¶¤[*é¬×ÅÊÔË> ®ëç³žºŒv.T7Å8"xñ9X^`¶åj^ox8lò,oÉäûþäÜ]Ž·¼çMïzÛûÞøÎ·¾÷Íï~ûûß ¸ÀNð‚|) ;0707010002131b000081a40000000000000002000000013d1fe2d7000000fb000000200000000000000000000000000000001d00000003reloc/dhcpd/images/group.gif  GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ì„©Ëí£œ†‹³u†¢ÈuÑ7¦`i>¨:²móÂ¡</µ-ày²³ù~‡ lHUHâ²·‰^rÏgŒ*ä‘¨Ò‹ö–Ô}Wa…uË•¦ºQO`ðŽÃƒg°DŽ‡¯Ç½;üGÇ×t1pˆx(8Fè±Ç˜¤Y†PGFY´Æ¦aõøÕ¨“·Ú1Jª
è9éö–(«8ˆ™ùúãZê4ZëÄê…Û2ª'Üi˜hÙg«´ÉÉL¡
ÝÌìŒmHŒ‡Üg«í-<;;5n[  ; 0707010002131c000081a40000000000000002000000013d1fe2d700000100000000200000000000000000000000000000001c00000003reloc/dhcpd/images/host.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ñ„©Ëíc´Ú‹³•Fûq %”æ‰¦*%’ê›,çÆ6:KõÍçSÀ
|F|«@ÈŒ%ËèiÚ¨ZKX†vÛ]|­aÅ8ZNœ™iÄúØ>¼…ñt›ªîø«“Æ×Çõ§(¨7„hØ·(ˆCø2éQHyYÑ!²IÃéIõª‡‰9òT:¹I1Ðúê;[A‹šªZH»+ÛÛÊÚk‰KùÃkì[4\ªä:ð=M]]ýk›Õœê`ýî-^nN-š®¾ÎÞî.Z  ;0707010002131d000081a40000000000000002000000013d1fe2d700000137000000200000000000000000000000000000001c00000003reloc/dhcpd/images/icon.gif   GIF89a0 0 ¡  ÿÿÿfff™™™ÌÌÌ!ù    ,    0 0  þ„©Ëí£œ´Ú‹ó!q®|]Fž‡X†-0ºí—ªw¿îÃc¯Cõ‚"G`x}¤a¢8ˆ“@'“±4¢c é«9³T"¬d­¼Åö\ŒËÛ¸‡.ÎÍë»ô~3±—'7§3ó‡˜%P¨VÆ3£Ø5X´ ö#&â#¦¡ Iéù	È)Hê&ªŠÊÚêú
+;+¡‰u#$dÛ´«‹æËF÷{õ›#’ë¡œtå\Aö#Í2]Œ‰Ã!8Zç`(-„·xk÷Ã¬«u¶žÉ¢¥úVîgYå0ŠVc¿Ò®JQ[6ð)Ógj Š‚ð¾L!'Y¢F4Åe–<	J´:züB ; 0707010002131e000081a40000000000000002000000013d1fe2d700000183000000200000000000000000000000000000001c00000003reloc/dhcpd/images/pool.gif   GIF89a0 0 Â  øüø     ø@¤ø```ÈÌÈ˜˜˜ÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8ëÍ»ÿ`(*AižçH¢l‹vn,›˜,Ü¸0äzKJ‹‡ìˆHÓ„ ˆG]I2›Uj„ny×€£TÌM¿Ûóo,E›¹<c7é(Üæç³9zœßqbvH~_rqg%uƒ„or†^[)‚ƒ‡qTS,Œ–Žn“?œ•žŸ©©‰HWa-– ª´´®·aL°¦žµ¾¸Â.±ƒ ¨¾ªÂ¸@»§ÆÉÊÁË®Ä¼³Ò©ÕÖ¤/ØÙÛÀÔÝßàÏ§ÚãæVÎÐÈÒÀæºï
êÑìíç4áúóÊu»–®—¼dõ–Ü;o[0nõÂËçPà2w¥
örH7/âÂ|Eì·¨@„/f,¶nÞHtdƒØÎŸ…O!k\ÃcJ\*ˆ´¨Ñ£H“*=š  ; 0707010002131f000081a40000000000000002000000013d1fe2d700000110000000200000000000000000000000000000001e00000003reloc/dhcpd/images/shared.gif GIF89a0 0 Â  ÿÿÿÌÌÌ   ™™™fff         !ù    ,    0 0  ÕºÜ"Šà*”´j+ç~]öW$~¥7’AÛ®€ëÂtmÃCç¸îßÝ`8<YˆD#PA 6—š§M
mPi×*Óé x¿à°xL/³X-csÏê…{4ŸBë5|T-{ÑúJ5)ƒU†!‡Š‰‡}‚q“K;?
€–<˜’BHˆ I˜ŒK£+ª7¬(¨@™ž”µ=–5›„«HE0¥¾Uz{qÃÆÈV“ÊkÌÂXeÒÓdÄwÅZÍ]ÙØÐjÚ1´‘2­°‚æ«è¿ê¯Ž±ìŸâ³ä¶	 ;07070100021320000081a40000000000000002000000013d1fe2d700000111000000200000000000000000000000000000001e00000003reloc/dhcpd/images/subnet.gif GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  â„©Ëí#tIJª‚Ø<à£q›÷âX¡H¦kçžB[¾h-ÓŸ=Ç§Ž±D\B`êˆ|Ëæ$ètÌjôÙ°j—Ó
s s)±›L«àu{x§åj:ÒžÄ§ôGþÇ_H!ˆAØ`è€¸ ÈÀ˜àÈ6à&Yhfyf€¹I‰À©ÉŠ	y×Iwú§
çyÈ:[7‹zàZ›§»ÈÛçû(ŒK\iz›¼VÔeÀ¼œC­ÆÓ¬2V-ýÍý€¤ýí]Df®œµ…Vq5†Ä.Eõ^eñeÙîœo¶¯þ¡  ;   070701000173f4000081e40000000000000002000000013d1fe2d70000368d000000200000000000000000000000000000001600000003reloc/dhcpd/index.cgi #!/usr/local/bin/perl
# index.cgi
# List all subnets and shared networks

require './dhcpd-lib.pl';
&ReadParse();
$horder = $in{'horder'};
$norder = $in{'norder'};
if ($horder eq "" && open(INDEX, "$module_config_directory/hindex.".$remote_user)) {
	chop($horder = <INDEX>);
	close(INDEX);
	}
if (!$horder) {
	$horder = 0;
	}
if ($norder eq "" && open(INDEX, "$module_config_directory/nindex.".$remote_user)) {
	chop($norder = <INDEX>);
	close(INDEX);
	}
if (!$norder) {
	$norder = 0;
	}
$nocols = $config{'dhcpd_nocols'} ? $config{'dhcpd_nocols'} : 5;
$conf = &get_config();
%access = &get_module_acl();

# Check if dhcpd is installed
if (!(-x $config{'dhcpd_path'})) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("dhcpd", "man", "doc", "howto", "google"));
	print "<hr>\n";
	print "<p>";
	print &text('index_dhcpdnotfound', $config{'dhcpd_path'},
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

# Check if it is the right version
$out = `$config{'dhcpd_path'} -v 2>&1`;
if ($out !~ /DHCP/ || $out =~ /V1/) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("dhcpd", "man", "doc", "howto", "google"));
	print "<hr>\n";
        print "<p>";
        print(&text('index_dhcpdver',$config{'dhcpd_path'}));
        print "<p>\n";
        print "<hr>\n";
        &footer("/", $text{'index_return'});
	exit;
	}
$ver = $out =~ /-T/ ? 3 : 2;
if ($ver != $config{'dhcpd_version'}) {
	$config{'dhcpd_version'} = $ver;
	&write_file("$module_config_directory/config", \%config);
	}

&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("dhcpd", "man", "doc", "howto", "google"),
	undef, undef, &text('index_version', $ver));
print "<hr>\n";

# get top-level hosts
foreach $h (&find("host", $conf)) {
	push(@host, $h);
	}
foreach $g (&find("group", $conf)) {
	push(@group, $g);
	foreach $h (&find("host", $g->{'members'})) {
		push(@host, $h);
		$group{$h} = $g->{'index'};
		$par{$h} = $g;
		push(@{$g->{'hosts'}}, $h->{'values'}->[0]);
		}
	}

# get subnets and shared nets, and the hosts and groups within them
@subn = &find("subnet", $conf);
foreach $u (@subn) {
	$maxsubn = $maxsubn > $u->{'index'} ? $maxsubn : $u->{'index'};
	foreach $h (&find("host", $u->{'members'})) {
		$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
		$subnet{$h} = $u->{'index'};
		$par{$h} = $u;
		push(@host, $h);
		}
	foreach $g (&find("group", $u->{'members'})) {
		$maxgroup = $maxgroup > $g->{'index'} ? $maxgroup : $g->{'index'};
		$subnet{$g} = $u->{'index'};
		$par{$g} = $u;
		push(@group, $g);
		foreach $h (&find("host", $g->{'members'})) {
			$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
			$subnet{$h} = $u->{'index'};
			$group{$h} = $g->{'index'};
			$par{$h} = $g;
			push(@{$g->{'hosts'}}, $h->{'values'}->[0]);
			push(@host, $h);
			}
		}
	}
@shan = &find("shared-network", $conf);
foreach $s (@shan) {
	$maxshar = $maxshar > $s->{'index'} ? $maxshar : $s->{'index'};
	foreach $h (&find("host", $s->{'members'})) {
		$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
		$shared{$h} = $s->{'index'};
		$par{$h} = $s;
		push(@host, $h);
		}
	foreach $g (&find("group", $s->{'members'})) {
		$maxgroup = $maxgroup > $g->{'index'} ? $maxgroup : $g->{'index'};
		$shared{$g} = $s->{'index'};
		$par{$g} = $s;
		push(@group, $g);
		foreach $h (&find("host", $g->{'members'})) {
			$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
			$group{$h} = $g->{'index'};
			$shared{$h} = $s->{'index'};
			$par{$h} = $g;
			push(@{$g->{'hosts'}}, $h->{'values'}->[0]);
			push(@host, $h);
			}
		}
	foreach $u (&find("subnet", $s->{'members'})) {
		$maxsubn = $maxsubn > $u->{'index'} ? $maxsubn : $u->{'index'};
		$par{$u} = $s;
		push(@subn, $u);
		$shared{$u} = $s->{'index'};
		foreach $h (&find("host", $u->{'members'})) {
			$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
			$subnet{$h} = $u->{'index'};
			$shared{$h} = $s->{'index'};
			$par{$h} = $u;
			push(@host, $h);
			}
		foreach $g (&find("group", $u->{'members'})) {
			$maxgroup = $maxgroup > $g->{'index'} ? $maxgroup : $g->{'index'};
			$subnet{$g} = $u->{'index'};
			$shared{$g} = $s->{'index'};
			$par{$g} = $u;
			push(@group, $g);
			foreach $h (&find("host", $g->{'members'})) {
				$maxhost = $maxhost > $h->{'index'} ? $maxhost : $h->{'index'};
				$subnet{$h} = $u->{'index'};
				$group{$h} = $g->{'index'};
				$shared{$h} = $s->{'index'};
				$par{$h} = $g;
				push(@{$g->{'hosts'}}, $h->{'values'}->[0]);
				push(@host, $h);
				}
			}
		}
	}
foreach $s (@shan) {
	$s->{'order'} = (1 + $s->{'index'}) * (2 + $maxsubn);
	}
foreach $s (@subn) {
	$s->{'order'} = (defined($shared{$s}) ? (1 + $shared{$s}) * (2 + $maxsubn) : 0)
			+ 1 + $s->{'index'};
	}
if ($norder == 0) {
	@subn = (@subn, @shan);
	}
elsif ($norder == 1) {
	@subn = (@subn, @shan);
	@subn = sort { $a->{'order'} <=> $b->{'order'} } @subn;
	}
elsif ($norder == 2) {
	@subn = sort { $a->{'values'}->[0] <=> $b->{'values'}->[0] } @subn;
	@shan = sort { $a->{'values'}->[0] <=> $b->{'values'}->[0] } @shan;
	@subn = (@subn, @shan);
	}

# display subnets and shared nets
foreach $u (@subn) {
	local $can_view = &can('r', \%access, $u);
	next if !$can_view && $access{'hide'};
	if ($u->{'name'} eq "subnet") {
		push(@links, $can_view ? 
			"edit_subnet.cgi?idx=$u->{'index'}".
			($shared{$u} ne "" ? "&sidx=$shared{$u}" : "") :
			undef);
		push(@titles, &html_escape($u->{'values'}->[0]));
		push(@icons, "images/subnet.gif");
		}
	else {
		push(@links, $can_view ?
			"edit_shared.cgi?idx=$u->{'index'}" : undef);
		push(@titles, &html_escape($u->{'values'}->[0]));
		push(@icons, "images/shared.gif");
		}
	}
if ($access{'r_sub'} || $access{'c_sub'} || $access{'r_sha'} || $access{'c_sha'}) {
	print "<h3>$text{'index_subtitle'}</h3>\n";
	$sp = "";
	if (@links) {
		&index_links($norder, "n", 3, $text{'index_ndisplay'},
			"horder=$horder");
		print "<br><a href='edit_subnet.cgi?new=1'>",
		      "$text{'index_addsub'}</a>&nbsp;&nbsp;\n"
			if $access{'c_sub'};
		print "<a href='edit_shared.cgi?new=1'>",
		      "$text{'index_addnet'}</a><br>\n"
			if $access{'c_sha'};
		if ($config{'hostnet_list'} == 0) {
			&icons_table(\@links, \@titles, \@icons, $nocols);
			}
		else {
			&net_table(\@subn, 0, scalar(@subn), \@links, \@titles);
			}
		}
	else {
		print "$text{'index_nosubdef'} <p>\n";
		}
	}
print "<a href='edit_subnet.cgi?new=1'>$text{'index_addsub'}</a>&nbsp;&nbsp;\n"
	if $access{'c_sub'};
print "<a href='edit_shared.cgi?new=1'>$text{'index_addnet'}</a><p>\n"
	if $access{'c_sha'};
print "<hr>\n";

foreach $g (@group) {
	$parent = (defined($subnet{$g}) ? 1 + $subnet{$g} : 0) +
		  (defined($shared{$g}) ? (1 + $shared{$g}) * (2 + $maxsubn) : 0);
	$g->{'order'} = $parent + (1 + $g->{'index'}) / (2 + $maxgroup);
	}
foreach $h (@host) {
	$parent = (defined($group{$h}) ? (1 + $group{$h}) / (2 + $maxgroup) : 0) +
		  (defined($subnet{$h}) ? 1 + $subnet{$h} : 0) +
		  (defined($shared{$h}) ? (1 + $shared{$h}) * (2 + $maxsubn) : 0);
	$h->{'order'} = $parent + (1 + $h->{'index'}) /
			((1 + @group) * (2 + $maxhost));
	}
if ($horder == 0) {
	@host = (@host, @group);
	}
elsif ($horder == 1) {
	@host = (@host, @group);
	@host = sort { $a->{'order'} <=> $b->{'order'} } @host;
	}
elsif ($horder == 2) {
	@host = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @host;
	@host = (@host, @group);
	}
elsif ($horder == 3) {
	@host = sort { &hardware($a) cmp &hardware($b) } @host;
	@host = (@host, @group);
	}
elsif ($horder == 4) {
	@host = sort { &ipaddress($a) cmp &ipaddress($b) } @host;
	@host = (@host, @group);
	}

# display hosts
@links = @titles = @icons = ();
foreach $h (@host) {
	local $can_view = &can('r', \%access, $h);
	next if !$can_view && $access{'hide'};
	if ($h->{'name'} eq 'host') {
		push(@links, $can_view ?
			"edit_host.cgi?idx=$h->{'index'}".
			(defined($group{$h}) ? "&gidx=$group{$h}" : "").
			(defined($subnet{$h}) ? "&uidx=$subnet{$h}" : "").
			(defined($shared{$h}) ? "&sidx=$shared{$h}" : "") :
			undef);
		push(@titles, &html_escape($h->{'values'}->[0]));
		push(@icons, "images/host.gif");
		}
	else {
		push(@links, $can_view ?
			"edit_group.cgi?idx=$h->{'index'}".
			(defined($subnet{$h}) ? "&uidx=$subnet{$h}" : "").
			(defined($shared{$h}) ? "&sidx=$shared{$h}" : "") :
			undef);
		$gm = @{$h->{'hosts'}};
		push(@titles, &html_escape(&group_name($gm)));
		push(@icons, "images/group.gif");
		}
	}
if ($access{'r_hst'} || $access{'c_hst'} || $access{'r_grp'} || $access{'c_grp'}) {
	print "<h3>$text{'index_hst'}</h3>\n";
	$sp = "";
	if (@links) {
		&index_links($horder, "h", 5, $text{'index_hdisplay'},
			"norder=$norder");
		print "<br><a href='edit_host.cgi?new=1'>",
		      "$text{'index_addhst'}</a>&nbsp;&nbsp;\n"
			if $access{'c_hst'};
		print "<a href='edit_group.cgi?new=1'>",
		      "$text{'index_addhstg'}</a><br>\n"
			if $access{'c_grp'};
		if ($config{'hostnet_list'} == 0) {
			&icons_table(\@links, \@titles, \@icons, $nocols);
			}
		else {
			&host_table(\@host, 0, scalar(@host), \@links, \@titles);
			}
		}
	else {
		print "$text{'index_nohst'} <p>\n";
		}
	}
print "<a href='edit_host.cgi?new=1'>$text{'index_addhst'}</a>&nbsp;&nbsp;\n"
	if $access{'c_hst'};
print "<a href='edit_group.cgi?new=1'>$text{'index_addhstg'}</a><p>\n"
	if $access{'c_grp'};
print "<hr>\n";

print "<table>\n";
if ($access{'global'}) {
	print "<form action=edit_options.cgi>\n";
	print "<input type=hidden name=global value=1>\n";
	print "<tr> <td><input type=submit value=\"$text{'index_buttego'}\"></td>\n";
	print "<td>$text{'index_ego'} \n";
	print "</td> </tr>\n";
	print "</form>\n";
	}
if ($access{'r_leases'}) {
	print "<form action=list_leases.cgi>\n";
	print "<tr> <td><input type=submit value=\"$text{'index_buttlal'}\"></td>\n";
	print "<td>$text{'index_lal'} \n";
	print "</td> </tr>\n";
	print "</form>\n";
	}
if ($access{'apply'}) {
	if (open(PID, $config{'pid_file'})) {
		chop($pid = <PID>);
		close(PID);
		}
	if ($pid && kill(0, $pid)) {
		print "<form action=restart.cgi>\n";
		print "<input type=hidden name=pid value=$pid>\n";
		print "<tr> <td><input type=submit value=\"$text{'index_buttapply'}\"></td>\n";
		print "<td>$text{'index_apply'} \n";
		print "</td></tr>\n";
		print "</form>\n";
		}
	else {
		print "<form action=start.cgi>\n";
		print "<tr> <td><input type=submit value=\"$text{'index_buttstart'}\"></td>\n";
		print "<td>$text{'index_start'} \n";
		print "</td> </tr>\n";
		print "</form>\n";
		}
	}
print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index_return'});

# Returns canonized hardware address.
sub hardware {
	local ($hconf, $addr);
	$hconf = $_[0]->{'members'} ? &find("hardware", $_[0]->{'members'}) : undef;
	if ($hconf) {
		$addr = uc($hconf->{'values'}->[1]);
		$addr =~ s/(^|\:)([0-9A-F])(?=$|\:)/$1\x30$2/g;
	}
	return $hconf ? $addr : undef;
}

# Returns ip address for sorting on
sub ipaddress
{
return undef if (!$_[0]->{'members'});
local $iconf = &find("fixed-address", $_[0]->{'members'});
return undef if (!$iconf);
return sprintf "%3.3d.%3.3d.%3.3d.%3.3d",
		split(/\./, $iconf->{'values'}->[0]);
}

sub fixedaddr {
	local ($fixed, $addr);
	$fixed = &find("fixed-address", $_[0]->{'members'});
	$addr = join(" ", grep { $_ ne "," } @{$fixed->{'values'}});
	$addr =~ s/, / /g;
	return $addr;
}

sub netmask {
	return $_[0]->{'values'}->[2];
}

# index_links(current, name, max, txt, ref)
sub index_links
{
local (%linkname, $l);
print "<table><tr><td valign=top><b>$_[3] </b>&nbsp;&nbsp;</td>\n";
print "<td>";
for ($l = 0; $l < $_[2]; $l++) {
	if ($l ne $_[0]) {
		print "<a href=?$_[1]order=$l\&$_[4]>";
		}
	else {
		print "<b>";
		}
	print $text{"index_$_[1]order$l"};
	if ($l ne $_[0]) {
		print "</a>";
		}
	else {
		print "</b>";
		}
	print "&nbsp;\n";
	}
print "</td></table>\n";
open(INDEX, "> $module_config_directory/$_[1]index.".$remote_user);
print INDEX "$_[0]\n";
close(INDEX);
}

sub host_table
{
local ($i, $h, $parent);
print "<table border width=95%>\n";
print "<tr $tb> <td><b>", $text{'index_hostgroup'}, "</b></td> ",
      "<td><b>", $text{'index_parent'}, "</b></td> ",
      "<td><b>", $text{'index_hardware'}, "</b></td> ",
      "<td><b>", $text{'index_nameip'}, "</b></td> </tr>\n";
for ($i = $_[1]; $i < $_[2]; $i++) {
	print "<tr $cb> <td>\n";
	$h = $_[0]->[$i];
	if ($h->{'name'} eq 'host') {
		print $sp;
		}
	else {
		print $text{'index_group'}, " ";
		$sp = "\&nbsp;\&nbsp;";
		}
	if ($_[3]->[$i]) {
		print "<a href=$_[3]->[$i]>", $_[4]->[$i], "</a> </td>\n";
		}
	else {
		print $_[4]->[$i], "</td>\n";
		}
	if ($par{$h}->{'name'} eq "group") {
		$parent = "$text{'index_togroup'} ".&group_name(scalar @{$par{$h}->{'hosts'}});
		}
	elsif ($par{$h}->{'name'} eq "subnet") {
		$parent = "$text{'index_tosubnet'} $par{$h}->{'values'}->[0]";
		}
	elsif ($par{$h}->{'name'} eq "shared-network") {
		$parent = "$text{'index_toshared'} $par{$h}->{'values'}->[0]";
		}
	print "<td>", $parent, "\&nbsp;</td>\n";
	print "<td>", $_[3]->[$i] ? &hardware($h) : "", "\&nbsp;</td>\n";
	print "<td>", $_[3]->[$i] ? &fixedaddr($h) : "", "\&nbsp;</td>\n";
	print "</tr>\n";
	}
print "</table>\n"
}

sub net_table
{
local ($i, $n);
print "<table border width=95%>\n";
print "<tr $tb> <td><b>", $text{'index_net'}, "</b></td> ",
      "<td><b>", $text{'index_netmask'}, "</b></td> ",
      "<td><b>", $text{'index_parent'}, "</b></td> </tr>\n";
for ($i = $_[1]; $i < $_[2]; $i++) {
	print "<tr $cb> <td>\n";
	$n = $_[0]->[$i];
	if ($n->{'name'} eq 'subnet') {
		print $sp;
		}
	else {
		$sp = "\&nbsp;\&nbsp;";
		}
	if ($_[3]->[$i]) {
		print "<a href=$_[3]->[$i]>", $_[4]->[$i], "</a> </td>\n";
		}
	else {
		print $_[4]->[$i], "</td>\n";
		}
	print "<td>", $_[3]->[$i] ? &netmask($n) : "", "\&nbsp;</td>\n";
	print "<td>", $par{$n} ? 
		"$text{'index_toshared'} $par{$n}->{'values'}->[0]" : "",
		"\&nbsp;</td>\n";
	print "</tr>\n";
	}
print "</table>\n"
}
   070701000286ac000041ed0000000000000001000000023d1ffa1200000000000000200000000000000000000000000000001100000003reloc/dhcpd/lang  070701000286ad000081a40000000000000002000000013d1fe2d700002e32000000200000000000000000000000000000001400000003reloc/dhcpd/lang/ca   index_title=Servidor DHCP
index_dhcpdnotfound=No s'ha trobat al sistema el servidor DHCP <i>$1</i>. POt ser que no estigui instal·lat, o bé que la <a href="$2">configuració del mòdul DHCP</a> sigui incorrecta.
index_return=a l'índex
index_dhcpdver=No sembla que el servidor DHCP <i>$1</i> sigui la versió correcta. Webmin només suporta DHCPD ISC versió 2.
index_subtitle=Subxarxes i Xarxes Compartides
index_nosubdef=No hi ha cap subxarxa ni xarxa compartida definida.
index_addsub=Afegeix una nova subxarxa
index_addnet=Afegeix una nova xarxa compartida
index_nomemb=No hi ha cap membre
index_1memb=1 membre
index_234memb=$1 membres
index_memb=$1 membres
index_hst=Hosts i Grups de Hosts
index_nohst=No hi ha cap host ni grup de hosts definit.
index_hostgroup=Host/Grup
index_parent=Pare
index_hardware=Adreça del Maquinari
index_group=Grup:
index_nameip=Nom del host o IP
index_net=Xarxa
index_netmask=Màscara de subxarxa
index_addhst=Afegeix un nou host
index_addhstg=Afegeix un nou grup de hosts
index_buttego=Edita les Opcions del Client
index_ego=Edita les opcions del client DHCP que s'apliquen a totes les subxarxes, xarxes compartides, hosts i grups
index_buttlal=Llista els Préstecs Actius
index_lal=Llista els préstecs emesos actualment per aquest servidor DHCP per a les adreces assignades dinàmicament.
index_buttapply=Aplica els Canvis
index_apply=Fes clic sobre aquest botó per aplicar la configuració actual al servidor DHCP en execució, aturant-lo i reiniciant-lo.
index_buttstart=Inicia el Servidor
index_start=Fes clic sobre aquest botó per iniciar el servidor DHCP  al sistema, fent servir la configuració actual.
index_hdisplay=Mostra els hosts i els grups per:
index_horder0=Assignació
index_horder1=Estructura de fitxers
index_horder2=Nom
index_horder3=Adreça del maquinari
index_horder4=Adreça IP
index_togroup=Grup
index_tosubnet=Subxarxa
index_toshared=Xarxa
index_ndisplay=Mostra les xarxes i subxarxes per:
index_norder0=Assignació
index_norder1=Estructura de fitxers
index_norder2=Nom/Adreça IP
index_version=Versió ISC DHCPd $1

butt_save=Desa
butt_eco=Edita les Opcions de Client
butt_vco=Mostra les Opcions de Client
butt_del=Suprimeix
butt_create=Crea

esub_crheader=Creació de Subxarxa
esub_edheader=Edició de Subxarxa
esub_tabhdr=Detalls de la Subxarxa
esub_naddr=Adreça de la xarxa
esub_nmask=Màscara de subxarxa
esub_arange=Rangs d'adreces
esub_dbooptpq=BOOTP dinàmic
esub_shnet=Xarxa compartida
esub_hosts=Hosts directament en aquesta subxarxa
esub_groups=Grups directament en aquesta subxarxa
esub_pools=Conjunt d'adreces per a la subxarxa
esub_pool=Conjunt $1
esub_poolnone=No hi ha cap conjunt d'adreces definit
esub_pooladd=Afegeix un conjunt d'adreces
esub_none=Cap
esub_return=a la llista de subxarxes
esub_retshar=xarxa compartida

esh_crheader=Creació de Xarxa Compartida
esh_eheader=Edició de Xarxa Compartida
esh_tabhdr=Detalls de la Xarxa Compartida
esh_netname=Nom de la xarxa
esh_hosts=Hosts directament en aquesta xarxa compartida
esh_groups=Grups directament en aquesta xarxa compartida
esh_subn=Subxarxes en aquesta xarxa compartida
esh_return=a la llista de subxarxes

ehost_crheader=Creació de Host
ehost_eheader=Edició de Host
ehost_tabhdr=Detalls del Host
ehost_hname=Nom del host
ehost_nojavascr=Sembla que el teu navegador no suporta javascript. Ara has de triar la posició adequada de la llista de sota.
ehost_assign=Host assignat a 
ehost_toplevel=Nivell Principal
ehost_inshared=Xarxa Compartida
ehost_insubnet=Subxarxa
ehost_ingroup=Grup
ehost_hwaddr=Adreça de maquinari
ehost_fixedip=Adreça IP fixa
ehost_subnet=A la subxarxa $1/$2
ehost_shared=A la xarxa compartida $1
ehost_in=a
ehost_return=a la llista de hosts
ehost_retgroup=grup
ehost_retsubn=subxarxa
ehost_retshar=xarxa compartida

egroup_crheader=Creació de Grup de Hosts
egroup_eheader=Edició de Grup de Hosts
egroup_tblhdr=Detalls del Grup
egroup_assign=Grup assignat a
egroup_hosts=Hosts d'aquest grup
egroup_nchoice=Fes servir el nom com un nom de host client
egroup_return=a la llista de hosts
egroup_retsubn=subxarxa
egroup_retshar=xarxa compartida

default=Defecte
secs=segs
none=Cap

listl_header=Préstecs DHCP
listl_lfnotexist=El fitxer de préstecs <tt>$1</tt> no existeix.
listl_lfnotcont=El fitxer de préstecs DHCP <tt>$1</tt> no conté cap préstec.
listl_active=actiu
listl_ipaddr=Adreça IP
listl_ether=Ethernet
listl_host=Nom de host
listl_start=Data Inicial
listl_end=Data Final
listl_return=a la llista de hosts i xarxes
listl_all=Llista tots els préstecs actius i expirats
listl_delete=Fes clic sobre l'adreça IP d'un dels préstecs de la llista de dalt per suprimir-lo.

restart_errmsg1=No he pogut reiniciar dhcpd
restart_errmsg2=No he pogut enviar el senyal al procés
start_failstart=No he pogut iniciar dhcpd

sgroup_faildel=No he pogut suprimir el grup
sgroup_failsave=No he pogut desar el grup
sgroup_invassign=grup assignat a una secció incorrecta
sgroup_echanged=S'ha canviat el fitxer de configuració. Prova-ho un altre cop.

shost_faildel=No he pogut suprimir el host
shost_failsave=No he pogut desar el host
shost_invalidhn=no és un nom de host vàlid
shost_invalidhwa='$1' no és una adreça $2 vàlida
shost_invalidaddr='$1' conté un nom de host o una adreça IP invàlida
shost_invassign=host assignat a una secció incorrecta

sopt_failsave=No he pogut desar les opcions de client
sopt_invalidip=no és una adreça IP vàlida
sopt_invalidint=no és un enter
sopt_invalidipp=no és una parella IP vàlida (com ara 1.2.3.4,5.6.7.8)

sshared_faildel=No he pogut suprimir la xarxa compartida
sshared_failsave=No he pogut desar la xarxa compartida
sshared_invalidsname=Hi falta el nom de la xarxa compartida o bé no és vàlid.
sshared_nosubnet=La xarxa compartida '$1' no conté cap subxarxa.

ssub_faildel=No he pogut suprimir la subxarxa
ssub_failsave=No he pogut desar la subxarxa
ssub_invalidsubaddr=no és una adreça de subxarxa vàlida
ssub_invalidnmask=no és una màscara vàlida
ssub_invalidipr=no és un rang d'adreces IP vàlid
ssub_nosubnet=La xarxa compartida '$1' no conté cap subxarxa.

plib_deflt=Temps de préstec per defecte
plib_bfname=Nom del fitxer d'engegada
plib_maxlt=Temps màxim de préstec
plib_bfserv=Servidor de fitxers d'engegada
plib_thisserv=Aquest servidor
plib_servname=Nom del servidor
plib_llbc=Llargària del préstec dels clients BOOTP
plib_forever=Per sempre
plib_lebc=Fi del préstec dels clients BOOTP
plib_never=Mai
plib_invalidlt=no és un temps de préstec vàlid
plib_invalidsn=no és nom de servidor vàlid
plib_invaliddom=$1 no és un nom de domini vàlid
plib_leformat=La data final del préstec ha d'estar en format S AAAA/MM/DD HH:MM:SS
plib_copt=Opcions de Client
plib_chname=Nom de host client
plib_defrouters=Encaminadors per defecte
plib_snmask=Màscara de subxarxa
plib_babbr=Adreça de retransmissió
plib_domname=Nom de domini
plib_dnsserv=Servidors DNS
plib_timeserv=Servidors horaris
plib_logserv=Servidors de registre
plib_swapserv=Servidor d'intercanvi
plib_rdpath=Camí del disc arrel
plib_nisdom=Domini NIS
plib_nisserv=Servidors NIS
plib_fontserv=Servidors de tipus de lletra
plib_xdmserv=Servidors XDM
plib_statrouters=Rutes estàtiques
plib_ntpserv=Servidors NTP
plib_nbns=Servidors de noms NetBIOS
plib_nbscope=Abast de NetBIOS
plib_nbntype=Tipus de node NetBIOS
plib_ddnsdom=Nom de domini DNS dinàmic
plib_ddnsrevdom=Domini invers DNS dinàmic
plib_ddnsup=DNS dinàmic activat
plib_ddnshost=Nom de host DNS dinàmic
plib_ddnshost_def=Del client
plib_ddnsupstyle=Estil d'actualització DNS dinàmic
plib_adhoc=Ad hoc
plib_interim=Interí
plib_none=Cap

eopt_header=Opcions de Client
eopt_subtitle=de la subxarxa $1
eopt_returnsub=a la subxarxa
eopt_returnshsub=a la xarxa compartida
eopt_snettitle=de la xarxa compartida $1
eopt_hosttitle=del host $1
eopt_returnhost=al host
eopt_returngroup=al grup de hosts
eopt_grouptitle=del grup de membres $1
eopt_alltitle=de totes les xarxes, hosts i grups
eopt_returnindex=a la llista de hosts i xarxes
eopt_tabhdr=Opcions de Client
eopt_chost=Nom de host client
eopt_defrouters=Encaminadors per defecte
eopt_smask=Màscara de subxarxa
eopt_baddr=Adreça de retransmissió
eopt_domname=Nom de domini
eopt_dnsserv=Servidors DNS
eopt_timeserv=Servidors horaris
eopt_logserv=Servidors de registre
eopt_swapserv=Servidor d'intercanvi
eopt_rdpath=Camí del disc arrel
eopt_nisdom=Domini NIS
eopt_nisserv=Servidors NIS
eopt_fontserv=Servidors de tipus de lletra
eopt_xdmserv=Servidors XDM
eopt_statrouters=Rutes estàtiques
eopt_ntpserv=Servidors NTP
eopt_nbns=Servidors de noms NetBIOS
eopt_nbs=Abast NetBIOS
eopt_nbntype=Tipus de node NetBIOS
eopt_custom=Opció personalitzada
eopt_cnum=Número
eopt_cval=Valor

log_apply=He aplicat els canvis
log_start=He iniciat el servidor DHCP
log_create_subnet=He creat la subxarxa $1
log_delete_subnet=He suprimit la subxarxa $1
log_modify_subnet=He modificat la subxarxa $1
log_options_subnet=He modificat les opcions de la subxarxa $1
log_create_shared=He creat la xarxa compartida $1
log_delete_shared=He suprimit la xarxa compartida $1
log_modify_shared=He modificat la xarxa compartida $1
log_options_shared=He modificat les opcions de la xarxa compartida $1
log_create_host=He creat el host $1
log_delete_host=He suprimit el host $1
log_modify_host=He modificat el host $1
log_options_host=He modificat les opcions del host $1
log_create_group=He creat el grup de hosts $1
log_delete_group=He suprimit el grup de hosts $1
log_modify_group=He modificat el grup de hosts $1
log_options_group=He modificat les opcions del grup de hosts $1
log_delete_lease=He suprimit el préstec de $1

pool_edit=Edita el Conjunt d'Adreces
pool_create=He creat el conjunt d'adreces
pool_header=Opcions del conjunt d'adreces
pool_allow=Clients permesos
pool_deny=Clients denegats
pool_return=a la subxarxa

cdel_header=Atenció
cdel_shared1=xarxa compartida
cdel_shared2=xarxa compartida
cdel_subnet1=subxarxa
cdel_subnet2=subxarxa
cdel_subnet=subxarxa
cdel_subnets=subxarxes
cdel_group1=grup
cdel_group2=grup
cdel_group=grup
cdel_groups=grups
cdel_host=host
cdel_hosts=hosts
cdel_txt=Suprimir $1 '$2' també suprimirà el seu contingut:
cdel_confirm=Segur que vols suprimir aquest $1 ?
cdel_eunknown=Error desconegut
cdel_return=a la llista de hosts i xarxes

eacl_aviol=Violació del control d'accés
eacl_np=No tens permís per
eacl_pdh=suprimir el host
eacl_pih=afegir nous hosts
eacl_puh=editar el host
eacl_psh=seleccionar el host
eacl_pdg=suprimir el grup
eacl_pig=afegir nous grups
eacl_pug=editar el grup
eacl_psg=seleccionar el grup
eacl_pds=suprimir la subxarxa
eacl_pis=afegir noves subxarxes
eacl_pus=editar la subxarxa
eacl_pss=seleccionar la subxarxa
eacl_pdn=suprimir la xarxa compartida
eacl_pin=afegir noves xarxes compartides
eacl_pun=editar la xarxa compartida
eacl_psn=seleccionar la xarxa compartida
eacl_uniq=crear duplicats
eacl_pdl=suprimir préstecs
eacl_psl=veure préstecs
eacl_pglob=editar les opcions globals
eacl_papply=reiniciar aquest servei

acl_apply=Pot aplicar els canvis
acl_r_leases=Pot veure els préstecs
acl_w_leases=Pot treure els préstecs
acl_global=Pot editar les opcions globals
acl_uniq_hst=Noms de host únics
acl_uniq_sub=Adreces IP de subxarxa úniques
acl_uniq_sha=Noms de xarxes compartides únics
acl_seclevel=Fes servir el nivell de seguretat:
acl_hide=Amaga els objectes inaccessibles
acl_ahst=Accedeix els hosts:
acl_agrp=Accedeix els grups:
acl_asub=Accedeix les subxarxes:
acl_asha=Accedeix les xarxes compartides:
acl_per_hst_acls=Activa ACLs per host
acl_per_sub_acls=Activa ACLs per subxarxa
acl_per_obj_acls=ACLs per objecte...
acl_na=no permès
acl_r1=només lectura
acl_rw=lectura/escriptura
acl_c=creació
acl_r=lectura
acl_w=escriptura
acl_err=Error en desar la llista ACL
acl_ernow=Si vols activar l'accés d'escriptura a les ACLs globals per algun tipus d'objecte, també hi has d'activar l'accés de lectura.
acl_normal=normal
acl_paranoic=paranoic



  070701000286ae000081a40000000000000002000000013d1fe2d7000017fa000000200000000000000000000000000000001400000003reloc/dhcpd/lang/de   index_title=DHCP-Server
index_dhcpdnotfound=Der DHCP-Server <i>$1</i> konnte auf Ihrem System nicht gefunden werden. Vielleicht ist er nicht installiert, oder Ihre <a href="$2">DHCP-Modulkonfiguration</a> ist fehlerhaft. 
index_return=Index
index_dhcpdver=Der DHCP-Server <i>$1</i> scheint nicht in der richtigen Version vorzuliegen. Webmin unterst&uuml;tzt ausschlie&szlig;lich ISC-DHCPD, Version 2. 
index_subtitle=Subnets und freigegebene Netzwerke
index_nosubdef=Keine Subnets oder freigegebene Netzwerke wurden definiert.
index_addsub=Ein neues Subnet hinzuf&uuml;gen
index_addnet=Ein neues freigegebenes Netzwerk hinzuf&uuml;gen
index_nomemb=Keine Mitglieder
index_1memb=1 Mitglied
index_234memb=$1 Mitglieder
index_memb=$1 Mitglieder
index_hst=Hosts und Host-Gruppen
index_nohst=Es wurden keine Hosts oder Gruppen definiert.
index_hostgroup=Host/Gruppe
index_addhst=Einen neuen Host hinzuf&uuml;gen
index_addhstg=Eine neue Host-Gruppe hinzuf&uuml;gen
index_buttego=Bearbeite Client-Einstellungen
index_ego=Bearbeite DHCP-Einstellungen und wende sie auf alle Subnets, freigegebene Netzwerke, Hosts und Host-Gruppen an
index_buttlal=Liste aktive Vergaben auf
index_lal=Listet Vergaben auf, die z. Z. von diesem DHCP-Server als dynamische IP-Adressen vergeben wurden
index_buttapply=&Auml;nderungen anwenden
index_apply=Klicken Sie auf diese Schaltfl&auml;che, um die aktuelle Konfiguration auf den laufenden DHCP-Server anzuwenden (dies geschieht durch Stoppen und Neustarten des Servers).
index_buttstart=Server starten
index_start=Klicken Sie auf diese Schaltfl&auml;che, um den DHCP-Server auf Ihrem System mit der aktuellen Konfiguration zu aktivieren
butt_save=Speichern
butt_eco=Bearbeite Client-Einstellungen
butt_del=L&ouml;schen
butt_create=Erstellen
esub_crheader=Subnet erstellen
esub_edheader=Subnet bearbeiten
esub_tabhdr=Subnet-Details
esub_naddr=Netzwerkadresse
esub_nmask=Netzmaske
esub_arange=Adressbereiche
esub_dbooptpq=Dynamisches BOOTP?
esub_shnet=Freigegebenes Netzwerk
esub_return=Subnet-Liste
esh_crheader=Freigegebenes Netzwerk erstellen
esh_eheader=Freigegebenes Netzwerk bearbeiten
esh_tabhdr=Details des freigegebenen Netzwerks
esh_netname=Netzwerkname
esh_return=Subnet-Liste
ehost_crheader=Host erstellen
ehost_eheader=Host bearbeiten
ehost_tabhdr=Host-Details
ehost_hname=Host-Name
ehost_fixedip=Feste IP-Adresse
ehost_return=Host-Liste
egroup_crheader=Host-Gruppe erstellen
egroup_eheader=Host-Gruppe bearbeiten
egroup_tblhdr=Gruppendetails
egroup_hosts=Hosts in dieser Gruppe
egroup_nchoice=Benutze Name als Client-Host-Name?
egroup_return=Host-Liste
yes=Ja
no=Nein
default=Standard
secs=Sek.
none=Keine
listl_header=DHCP-Vergaben
listl_lfnotexist=Die DHCPd-Vergabendatei <tt>$1</tt> existiert nicht.
listl_lfnotcont=Die DHCPd-Vergabendatei <tt>$1</tt> enth&auml;lt keine Vergaben.
listl_active=Aktiv
listl_ipaddr=IP-Adressen
listl_ether=Ethernet
listl_host=Host-Name
listl_start=Startdatum
listl_end=Enddatum
listl_return=Netzwerk- und Host-Liste
restart_errmsg1=Das Neustarten des dhcpd schlug fehl
restart_errmsg2=Fehler beim Senden des Signals an den Prozess
start_failstart=Das Starten des dhcpd schlug fehl
sgroup_faildel=Das L&ouml;schen der Gruppe schlug fehl
sgroup_failsave=Fehler beim Speichern der Gruppe
shost_faildel=Das L&ouml;schen des Hosts schlug fehl
shost_failsave=Das Speichern des Hosts schlug fehl
shost_invalidhn=ist kein g&uuml;ltiger Host-Name
shost_invalidhwa='$1' ist kein g&uuml;ltige $2 Adresse
sopt_failsave=Fehler beim Speichern der Client-Einstellungen
sopt_invalidip=ist keine g&uuml;ltige IP-Adresse
sopt_invalidint=ist keine ganze Zahl
sopt_invalidipp=ist kein g&uuml;ltiges IP-Adressenpaar (wie z. B. 1.2.3.4, 5.6.7.8)
sshared_faildel=Das L&ouml;schen des freigegebenen Netzwerks schlug fehl
sshared_failsave=Das Speichern des freigegebenen Netzwerks schlug fehl
sshared_invalidsname=Fehlender oder ung&uuml;ltiger Name f&uuml;r freigegebenenes Netzwerk
ssub_faildel=Das L&ouml;schen des Subnets schlug fehl
ssub_failsave=Fehler beim Speichern des Subnets
ssub_invalidsubaddr=ist keine g&uuml;ltige Subnet-Adresse
ssub_invalidnmask=ist keine g&uuml;ltige Netzmaske
ssub_invalidipr=ist kein g&uuml;ltiger IP-Bereich
plib_deflt=Standardvergabezeit
plib_bfname=Boot-Dateiname
plib_maxlt=Maximale Vergabezeit
plib_bfserv=Boot-Datei-Server
plib_thisserv=Dieser Server
plib_servname=Server-Name
plib_llbc=Vergabel&auml;nge f&uuml;r BOOTP-Clients
plib_forever=Endlos
plib_lebc=Vergabeende f&uuml;r BOOTP-Clients
plib_never=Niemals
plib_invalidlt=ist keine g&uuml;ltige Vergabezeit
plib_invalidsn=ist kein g&uuml;ltiger Server-Name
plib_leformat=Vergabeenddatum muss das Format W JJJJ/MM/TT HH:MM:SS haben
plib_copt=Client-Einstellungen
plib_chname=Client-Host-Name
plib_defrouters=Standard-Router
plib_snmask=Subnet-Maske
plib_babbr=Broadcast-Adresse
plib_domname=Dom&auml;nenname
plib_dnsserv=DNS-Server
plib_timeserv=Zeit-Server
plib_logserv=Protokoll-Server
plib_swapserv=Swap-Server
plib_rdpath=Stammverzeichnispfad
plib_nisdom=NIS-Dom&auml;ne
plib_nisserv=NIS-Server
plib_fontserv=Font-Server
plib_xdmserv=XDM-Server
plib_statrouters=Statische Routen
plib_ntpserv=NTP-Server
plib_nbns=NetBIOS-Nameserver
plib_nbscope=NetBIOS-Scope
plib_nbntype=NetBIOS-Verbindungstyp
eopt_header=Client-Einstellungen
eopt_subtitle=F&uuml;r Subnet $1
eopt_returnsub=Subnet
eopt_snettitle=F&uuml;r freigegebenes Netzwerk $1
eopt_hosttitle=F&uuml;r Host $1
eopt_returnhost=Host
eopt_grouptitle=F&uuml;r $1 Mitgliedergruppe
eopt_alltitle=F&uuml;r alle Netzwerke, Hosts und Gruppen
eopt_returnindex=Netzwerk- und Host-Liste
eopt_tabhdr=Client-Einstellungen
eopt_chost=Client-Host-Name
eopt_defrouters=Standard-Router
eopt_smask=Subnet-Maske
eopt_baddr=Broadcast-Adresse
eopt_domname=Dom&auml;nenname
eopt_dnsserv=DNS-Server
eopt_timeserv=Zeit-Server
eopt_logserv=Protokoll-Server
eopt_swapserv=Swap-Server
eopt_rdpath=Stammverzeichnispfad
eopt_nisdom=NIS-Dom&auml;ne
eopt_nisserv=NIS-Server
eopt_fontserv=Font-Server
eopt_xdmserv=XDM-Server
eopt_statrouters=Statische Routen
eopt_ntpserv=NTP-Server
eopt_nbns=NetBIOS-Nameserver
eopt_nbs=NetBIOS-Scope
eopt_nbntype=NetBIOS-Verbindungstyp
  070701000286af000081a40000000000000002000000013d1fe2d7000028b5000000200000000000000000000000000000001400000003reloc/dhcpd/lang/en   index_title=DHCP Server
index_dhcpdnotfound=The DHCP server <i>$1</i> could not be found on your system. Maybe it is not installed, or your <a href="$2">DHCP module configuration</a> is incorrect.
index_return=index
index_dhcpdver=The DHCP server <i>$1</i> does not appear to be correct version. Webmin only supports ISC DHCPD version 2.
index_subtitle=Subnets and Shared Networks
index_nosubdef=No subnets or shared networks have been defined.
index_addsub=Add a new subnet
index_addnet=Add a new shared network
index_nomemb=No members
index_1memb=1 member
index_234memb=$1 members
index_memb=$1 members
index_hst=Hosts and Host Groups
index_nohst=No hosts or groups have been defined.
index_hostgroup=Host/Group
index_parent=Parent
index_hardware=Hardware Address
index_group=Group:
index_nameip=Hostname or IP
index_net=Network
index_netmask=Netmask
index_addhst=Add a new host
index_addhstg=Add a new host group
index_buttego=Edit Client Options
index_ego=Edit DHCP client options that apply to all subnets, shared networks, hosts and groups
index_buttlal=List Active Leases
index_lal=List leases currently issued by this DHCP server for dynamically assigned IP addresses.
index_buttapply=Apply Changes
index_apply=Click this button to apply the current configuration to the running DHCP server, by stopping and restarting it.
index_buttstart=Start Server
index_start=Click this button to start the DHCP server on your system, using the current configuration.
index_hdisplay=Display hosts and groups by:
index_horder0=Assignment
index_horder1=File structure
index_horder2=Name
index_horder3=Hardware address
index_horder4=IP address
index_togroup=Group
index_tosubnet=Subnet
index_toshared=Network
index_ndisplay=Display nets and subnets by:
index_norder0=Assignment
index_norder1=File structure
index_norder2=Name/IP address
index_version=ISC DHCPd version $1

butt_save=Save
butt_eco=Edit Client Options
butt_vco=View Client Options
butt_del=Delete
butt_create=Create

esub_crheader=Create Subnet
esub_edheader=Edit Subnet
esub_tabhdr=Subnet Details
esub_naddr=Network address
esub_nmask=Netmask
esub_arange=Address ranges
esub_dbooptpq=Dynamic BOOTP ?
esub_shnet=Shared network
esub_hosts=Hosts directly in this subnet
esub_groups=Groups directly in this subnet
esub_pools=Address Pools for Subnet
esub_pool=Pool $1
esub_poolnone=No address pools defined
esub_pooladd=Add an address pool
esub_none=None
esub_return=subnet list
esub_retshar=shared network

esh_crheader=Create Shared Network
esh_eheader=Edit Shared Network
esh_tabhdr=Shared Network Details
esh_netname=Network name
esh_hosts=Hosts directly in this shared network
esh_groups=Groups directly in this shared network
esh_subn=Subnets in this shared network
esh_return=subnet list

ehost_crheader=Create Host
ehost_eheader=Edit Host
ehost_tabhdr=Host Details
ehost_hname=Host name
ehost_nojavascr=Your browser does not seem to support javascript. Now you must chose the proper position from the list below.
ehost_assign=Host assigned to
ehost_toplevel=Toplevel
ehost_inshared=Shared Network
ehost_insubnet=Subnet
ehost_ingroup=Group
ehost_hwaddr=Hardware Address
ehost_fixedip=Fixed IP address
ehost_subnet=In subnet $1/$2
ehost_shared=In shared network $1
ehost_in=in
ehost_return=host list
ehost_retgroup=group
ehost_retsubn=subnet
ehost_retshar=shared network

egroup_crheader=Create Host Group
egroup_eheader=Edit Host Group
egroup_tblhdr=Group Details
egroup_assign=Group assigned to
egroup_hosts=Hosts in this group
egroup_nchoice=Use name as client hostname?
egroup_return=host list
egroup_retsubn=subnet
egroup_retshar=shared network

default=Default
secs=secs
none=None

listl_header=DHCP Leases
listl_lfnotexist=The DHCPd lease file <tt>$1</tt> does not exist.
listl_lfnotcont=The DHCPd lease file <tt>$1</tt> does not contain any leases.
listl_active=active
listl_ipaddr=IP Address
listl_ether=Ethernet
listl_host=Hostname
listl_start=Start Date
listl_end=End Date
listl_return=network and host list
listl_all=List all active and expired leases
listl_delete=Click on a lease IP address from the list above to delete it.

restart_errmsg1=Failed to restart dhcpd
restart_errmsg2=Failed to signal process
start_failstart=Failed to start dhcpd

sgroup_faildel=Failed to delete group
sgroup_failsave=Failed to save group
sgroup_invassign=group assigned to an incorrect section
sgroup_echanged=Configuration file contents has been changed. Try again.

shost_faildel=Failed to delete host
shost_failsave=Failed to save host
shost_invalidhn=is not a valid host name
shost_invalidhwa='$1' is not a valid $2 address
shost_invalidaddr='$1' contains an invalid hostname or IP address
shost_invassign=host assigned to an incorrect section

sopt_failsave=Failed to save client options
sopt_invalidip=is not a valid IP address
sopt_invalidint=is not an integer
sopt_invalidipp=is not a valid IP address pair (like 1.2.3.4,5.6.7.8)

sshared_faildel=Failed to delete shared network
sshared_failsave=Failed to save shared network
sshared_invalidsname=Missing or invalid shared network name.
sshared_nosubnet=Shared network '$1' does not contain any subnet.

ssub_faildel=Failed to delete subnet
ssub_failsave=Failed to save subnet
ssub_invalidsubaddr=is not a valid subnet address
ssub_invalidnmask=is not a valid netmask
ssub_invalidipr=is not a valid range IP address
ssub_nosubnet=Shared network '$1' does not contain any subnet.

plib_deflt=Default lease time
plib_bfname=Boot filename
plib_maxlt=Maximum lease time
plib_bfserv=Boot file server
plib_thisserv=This server
plib_servname=Server name
plib_llbc=Lease length for BOOTP clients
plib_forever=Forever
plib_lebc=Lease end for BOOTP clients
plib_never=Never
plib_invalidlt=is not a valid lease time
plib_invalidsn=is not a valid server name
plib_invaliddom=$1 is not a valid domain name
plib_leformat=Lease end date must be in the format W YYYY/MM/DD HH:MM:SS
plib_copt=Client Options
plib_chname=Client hostname
plib_defrouters=Default routers
plib_snmask=Subnet mask
plib_babbr=Broadcast address
plib_domname=Domain name
plib_dnsserv=DNS servers
plib_timeserv=Time servers
plib_logserv=Log servers
plib_swapserv=Swap server
plib_rdpath=Root disk path
plib_nisdom=NIS domain
plib_nisserv=NIS servers
plib_fontserv=Font servers
plib_xdmserv=XDM servers
plib_statrouters=Static routes
plib_ntpserv=NTP servers
plib_nbns=NetBIOS name servers
plib_nbscope=NetBIOS scope
plib_nbntype=NetBIOS node type
plib_ddnsdom=Dynamic DNS domain name
plib_ddnsrevdom=Dynamic DNS reverse domain
plib_ddnsup=Dynamic DNS enabled?
plib_ddnshost=Dynamic DNS hostname
plib_ddnshost_def=From client
plib_ddnsupstyle=Dynamic DNS update style
plib_adhoc=Ad-hoc
plib_interim=Interim
plib_none=None

eopt_header=Client Options
eopt_subtitle=For subnet $1
eopt_returnsub=subnet
eopt_returnshsub=shared network
eopt_snettitle=For shared network $1
eopt_hosttitle=For host $1
eopt_returnhost=host
eopt_returngroup=host group
eopt_grouptitle=For $1 member group
eopt_alltitle=For all networks, hosts and groups
eopt_returnindex=network and host list
eopt_tabhdr=Client Options
eopt_chost=Client hostname
eopt_defrouters=Default routers
eopt_smask=Subnet mask
eopt_baddr=Broadcast address
eopt_domname=Domain name
eopt_dnsserv=DNS servers
eopt_timeserv=Time servers
eopt_logserv=Log servers
eopt_swapserv=Swap server
eopt_rdpath=Root disk path
eopt_nisdom=NIS domain
eopt_nisserv=NIS servers
eopt_fontserv=Font servers
eopt_xdmserv=XDM servers
eopt_statrouters=Static routes
eopt_ntpserv=NTP servers
eopt_nbns=NetBIOS name servers
eopt_nbs=NetBIOS scope
eopt_nbntype=NetBIOS node type
eopt_custom=Custom option
eopt_cnum=Number
eopt_cval=Value

log_apply=Applied changes
log_start=Started DHCP server
log_create_subnet=Created subnet $1
log_delete_subnet=Deleted subnet $1
log_modify_subnet=Modified subnet $1
log_options_subnet=Modified options for subnet $1
log_create_shared=Created shared network $1
log_delete_shared=Deleted shared network $1
log_modify_shared=Modified shared network $1
log_options_shared=Modified options for shared network $1
log_create_host=Created host $1
log_delete_host=Deleted host $1
log_modify_host=Modified host $1
log_options_host=Modified options for host $1
log_create_group=Created group of $1 hosts
log_delete_group=Deleted group of $1 hosts
log_modify_group=Modified group of $1 hosts
log_options_group=Modified options for group of $1 hosts
log_delete_lease=Deleted lease for $1

pool_edit=Edit Address Pool
pool_create=Created Address Pool
pool_header=Address pool options
pool_allow=Clients to allow
pool_deny=Clients to deny
pool_return=subnet

cdel_header=Warning
cdel_shared1=shared network
cdel_shared2=shared network
cdel_subnet1=subnet
cdel_subnet2=subnet
cdel_subnet=subnet
cdel_subnets=subnets
cdel_group1=group
cdel_group2=group
cdel_group=group
cdel_groups=groups
cdel_host=host
cdel_hosts=hosts
cdel_txt=Deleting $1 '$2' will also delete its contents:
cdel_confirm=Do you really want to delete this $1 ?
cdel_eunknown=Unknown error
cdel_return=host and network list

eacl_aviol=Access control violation
eacl_np=You have not permissions to
eacl_pdh=delete host
eacl_pih=add new hosts
eacl_puh=edit host
eacl_psh=select host
eacl_pdg=delete group
eacl_pig=add new groups
eacl_pug=edit group
eacl_psg=select group
eacl_pds=delete subnet
eacl_pis=add new subnets
eacl_pus=edit subnet
eacl_pss=select subnet
eacl_pdn=delete shared network
eacl_pin=add new shared networks
eacl_pun=edit shared network
eacl_psn=select shared network
eacl_uniq=create duplicates
eacl_pdl=delete leases
eacl_psl=view leases
eacl_pglob=edit global options
eacl_papply=restart this service

acl_apply=Can apply changes?
acl_r_leases=Can view leases?
acl_w_leases=Can remove leases?
acl_global=Can edit global options?
acl_uniq_hst=Uniq host names?
acl_uniq_sub=Uniq subnet IP addresses?
acl_uniq_sha=Uniq shared-net names?
acl_seclevel=Use security level:
acl_hide=Hide inaccessible objects?
acl_ahst=Access hosts:
acl_agrp=Access groups:
acl_asub=Access subnets:
acl_asha=Access shared nets:
acl_per_hst_acls=Enable per-host ACLs?
acl_per_sub_acls=Enable per-subnet ACLs?
acl_per_obj_acls=Per-object ACLs...
acl_na=not allowed
acl_r1=read only
acl_rw=read/write
acl_c=create
acl_r=read
acl_w=write
acl_err=Error saving ACL list
acl_ernow=If you want to enable write access in global ACLs for some object type you must also enable read access for this object type.
acl_normal=normal
acl_paranoic=paranoic
   070701000286b0000081a40000000000000002000000013d1fe2d700002e1c000000200000000000000000000000000000001400000003reloc/dhcpd/lang/es   index_title=Servidor DHCP
index_dhcpdnotfound=El servidor de DHCP <i>$1</i> no pudo ser encontrado en tu sistema. Quizá no está instalado o tu <a href=\"/config.cgi?$module_name\">módulo de configuración de DHCP</a> es incorrecto.
index_return=índice
index_dhcpdver=El servidor de DHCP <i>$1</i> no parece ser de la versión correcta. Webmin sólo soporta la versión 2 de ISC DHCPD.
index_subtitle=Subredes y Redes Compartidas.
index_nosubdef=No se han definido subredes o redes compartidas.
index_addsub=Añadir una nueva subred.
index_addnet=Añadir una nueva red compartida
index_nomemb=No hay miembros
index_1memb=1 miembro
index_234memb=$1 miembros
index_memb=$1 miembros
index_hst=Máquinas y Grupos de Máquinas
index_nohst=No se han definido máquinas o grupos.
index_hostgroup=Máquina/Grupo
index_parent=Padre
index_hardware=Dirección de Hardware
index_group=Grupo:
index_nameip=Nombre de máquina o IP
index_net=Red
index_netmask=Máscara de red
index_addhst=Añadir una nueva máquina
index_addhstg=Añadir un nuevo grupo de máquinas
index_buttego=Editar Opciones de Cliente
index_ego=Editar opciones de cliente DHCP que se aplican a todas las subredes, redes compartias, máquinas y grupos.
index_buttlal=Listar Arrendamientos Activos
index_lal=Lista arrendamientos ahora suministrados por este servidor DHCP para las direcciones IP asignadas dinámicamente.
index_buttapply=Aplicar Cambios
index_apply=Haz click en este botón para aplicar la configuración actual al servidor DHCP en ejecución mediante su parada y rearranque.
index_buttstart=Arrancar Servidor
index_start=Haz click en este botón para arrancar el servidor DHCP de tu sistema utilizando la configuración en curso.
index_hdisplay=Mostrar máquinas y grupos por:
index_horder0=Asignación
index_horder1=Estructura de Archivo
index_horder2=Nombre
index_horder3=Dirección de Hardware
index_horder4=Dirección IP
index_togroup=Grupo
index_tosubnet=Subred
index_toshared=Red
index_ndisplay=Mostrar redes y subredes por:
index_norder0=Asignación
index_norder1=Estructura de Archivo
index_norder2=Nombre/Dirección IP

butt_save=Salvar
butt_eco=Editar Opciones de Cliente
butt_vco=Ver Opciones de Cliente
butt_del=Borrar
butt_create=Crear

esub_crheader=Crear Subred
esub_edheader=Editar Subred
esub_tabhdr=Detalles de Subred
esub_naddr=Dirección de Red
esub_nmask=Máscara de Red
esub_arange=Rangos de direcciones
esub_dbooptpq=¿BOOTP dinámico?
esub_shnet=Red compartida
esub_hosts=Máquinas diréctamente en esta Subred
esub_groups=Grupos diréctamente en esta Subred
esub_pools=Paquetes de direcciones para Subred
esub_pool=Paquete $1
esub_poolnone=No se ha definido paquetes de direcciones
esub_pooladd=Añadir un paquetes de direcciones
esub_none=Ninguno
esub_return=lista de subred
esub_retshar=red compartida

esh_crheader=Crear Red Compartida
esh_eheader=Editar Red Compartida
esh_tabhdr=Detalles de Red Compartida
esh_netname=Nombre de red
esh_hosts=Máquinas diréctamente en esta red compartida
esh_groups=Grupos diréctamente en esta red compartida
esh_subn=Subredes en esta red compartida
esh_return=lista de subred

ehost_crheader=Crear Máquina
ehost_eheader=Editar Máquina
ehost_tabhdr=Detalles de Máquina
ehost_hname=Nombre de máquina
ehost_nohavascr=Tu navegador no parece soportar javascript. Ahora debes de seleccionar de la posición adecuada de la lista inferior.
ehost_assign=Máquina asignada a
ehost_toplevel=Nivel superior
ehost_inshared=Red Compartida
ehost_insubnet=Subred
ehost_ingroup=Grupo
ehost_hwaddr=Dirección Hardware
ehost_fixedip=Dirección IP fijada
ehost_subnet=En la subred $1/$2
ehost_shared=En red compartida $1
ehost_in=en
ehost_return=lista de máquinas
ehost_retgroup=grupo
ehost_retsubn=subred
ehost_retshar=red compartida

egroup_crheader=Crear Grupo de Máquinas
egroup_eheader=Editar Grupo de Máquinas
egroup_tblhdr=Detalles de Grupo
egroup_assign=Grupo asignado a
egroup_hosts=Máquinas en este grupo
egroup_nchoice=¿Uso el nombre como nombre de máquina del cliente?
egroup_return=lista de máquinas
egroup_retsubn=subred
egroup_retshar=red compartida

default=Por defecto
secs=segs
none=Ninguno

listl_header=Arrendamientos DHCP
listl_lfnotexist=No existe el archivo de arrendamientos de DHCPd <tt>$1</tt>.
listl_lfnotcont=El archivo de arrendamientos de DHCPd <tt>$1</tt> no contiene arrendamientos.
listl_active= activos
listl_ipaddr=Dirección IP
listl_ether=Ethernet
listl_host=Nombre de máquina
listl_start=Fecha de Inicio
listl_end=Fecha de Fin
listl_return=lista de subred
listl_all=Lista todas los arrendamientos activos y expirados
listl_delete=Haz click en una dirección IP de arrendamiento de la lista superior para borrarla

restart_errmsg1=Falló al reiniciar dhcpd
restart_errmsg2=Falló al enviar señal al proceso
start_failstart=Falló al iniciar dhcpd

sgroup_faildel=Falló al borrar grupo
sgroup_failsave=Falló al salvar grupo
sgroup_invassign=grupo asignado a una sección incorrecta
sgroup_echanged=El contenido del archivo de configuración ha cambiado. Prueba otra vez.

shost_faildel=Falló al borrar máquina
shost_failsave=Falló al salvar máquina
shost_invalidhn=no es un nombre de máquina válido
shost_invalidhwa='$1' no es una dirección $2 válida
shost_invalidaddr='$1' contiene un nombre de máquina o una dirección IP inválidos
shost_invassign=máquina asignada a una sección incorrecta

sopt_failsave=Falló al salvar opciones de cliente
sopt_invalidip=no es una dirección IP válida
sopt_invalidint=no es un entero
sopt_invalidipp=no es un par de direcciones IP válido (como 1.2.3.4, 5.6.7.8)

sshared_faildel=Falló al borrar red compartida
sshared_failsave=Falló al salvar red compartida
sshared_invalidsname=Nombre de red compartida perdido o inválido
sshared_nosubnet=La red compartida '$1' no contiene ninguna subred.

ssub_faildel=Falló al borrar subred
ssub_failsave=Falló al salvar subred
ssub_invalidsubaddr=no es una dirección de subred válida
ssub_invalidnmask=no es una máscara de red válida
ssub_invalidipr=no es un rango válido de direcciones IP
ssub_nosubnet=La red compartida '$1' no contiene ninguna subred.

plib_deflt=Tiempo de arrendamiento por defecto
plib_bfname=Nombre de archivo de Boot
plib_maxlt=Máximo tiempo de arrendamiento
plib_bfserv=Servidor de archivo de Boot
plib_thisserv=Este servidor
plib_servname=Nombre de servidor
plib_llbc=Medida de arrendamiento para clientes BOOTP
plib_forever=Para siempre
plib_lebc=Fin de arrendamiento para clientes BOOTP
plib_never=Nunca
plib_invalidlt=no es un tiempo de arrendamiento válido
plib_invalidsn=no es un nombre de servidor válido
plib_invaliddom=$1 no es un nombre válido de dominio
plib_leformat=Fecha de fin de arrendamiento debe de estar en formato W YYYY/MM/DD HH:MM:SS
plib_copt=Opciones de Cliente
plib_chname=Nombre de máquina cliente
plib_defrouters=Enrutadores por defecto
plib_snmask=Máscara de subred
plib_babbr=Dirección propagada (broadcast)
plib_domname=Nombre de dominio
plib_dnsserv=Servidores DNS
plib_timeserv=Servidores de hora
plib_logserv=Servidores de historial
plib_swapserv=Servidores de intercambio
plib_rdpath=Trayectoria de disco raíz
plib_nisdom=Dominio de NIS
plib_nisserv=Servidores NIS
plib_fontserv=Servidores de tipos de letra
plib_xdmserv=Servidores XDM
plib_statrouters=Rutas estáticas
plib_ntpserv=Servidores NTP
plib_nbns=Servidores de nombres NetBIOS
plib_nbscope=Ámbito de NetBIOS
plib_nbntype=Tipo de nodo NetBIOS
plib_ddnsdom=Nombre de dominio de DNS dinámico
plib_ddnsrevdom=Dominio inverso de DNS dinámico
plib_ddnsup=¿DNS dinámico activado?
plib_ddnshost=Nombre de máquina de DNS dinámico
plib_ddnshost_def=Del cliente

eopt_header=Opciones de Cliente
eopt_subtitle=Para subred $1
eopt_returnsub=lista de subred
eopt_returnshsub=red compartida
eopt_snettitle=Para red compartida $1
eopt_hosttitle=Para máquina $1
eopt_returnhost=lista de máquinas
eopt_returngroup=grupo de máquinas
eopt_grouptitle=Para el miembro de grupo $1
eopt_alltitle=Para todas las redes. máquinas y grupos
eopt_returnindex=índice
eopt_tabhdr=Opciones de Cliente
eopt_chost=Nombre de máquina cliente
eopt_defrouters=Enrutadores por defecto
eopt_smask=Máscara de subred
eopt_baddr=Dirección propagada (broadcast)
eopt_domname=Nombre de dominio
eopt_dnsserv=Servidores DNS
eopt_timeserv=Servidores de hora
eopt_logserv=Servidores de historial
eopt_swapserv=Servidores de intercambio
eopt_rdpath=Trayectoria de disco raíz
eopt_nisdom=Dominio NIS
eopt_nisserv=Servidores NIS
eopt_fontserv=Servidores de tipos de letra
eopt_xdmserv=Servidores XDM
eopt_statrouters=Rutas estáticas
eopt_ntpserv=Servidores NTP
eopt_nbns=Servidores de nombre de NetBIOS
eopt_nbs=Ámbito de NetBIOS
eopt_nbntype=Tipo de nodo de NetBIOS
eopt_custom=Opción de cliente
eopt_cnum=Número
eopt_cval=Valor

log_apply=Cambios aplicados
log_start=Servidor DHCP arrancado
log_create_subnet=Creada subred $1
log_delete_subnet=Borrada subred $1
log_modify_subnet=Modificada subred $1
log_options_subnet=Modificadas opciones para subred $1
log_create_shared=Creada red compartida $1
log_delete_shared=Borrada red compartida $1
log_modify_shared=Modificada red compartida $1
log_options_shared=Modificadas opciones para red compartida $1
log_create_host=Creada máquina $1
log_delete_host=Borrada máquina $1
log_modify_host=Modificada máquina $1
log_options_host=Modificadas opciones para máquina $1
log_create_group=Creado grupo de $1 máquinas
log_delete_group=Borrado grupo de $1 máquinas
log_modify_group=Modificado grupo de $1 máquinas
log_options_group=Modificadas opciones para grupo de $1 máquinas
log_delete_lease=Borrado arrendamiento para $1

pool_edit=Editar Paquete de Direcciones
pool_create=Creado Paquete de Direcciones
pool_header=Opciones de Paquete de direcciones
pool_allow=Clientes autorizados
pool_deny=Clientes denegados
pool_return=subred

cdel_header=Aviso
cdel_shared1=red compartida
cdel_shared2=red compartida
cdel_subnet1=subred
cdel_subnet2=subred
cdel_subnet=subred
cdel_subnets=subredes
cdel_group1=grupo
cdel_group2=grupo
cdel_group=grupo
cdel_groups=grupos
cdel_host=máquina
cdel_hosts=máquinas
cdel_txt=Borrando $1 '$2' también se borrará su contenido:
cdel_confirm=¿Reálmente deseas borrar este $1?
cdel_eunknown=Error desconocido
cdel_return=lista de máquina y red

eacl_aviol=Violación de control de acceso
eacl_np=No tienes permisos para
eacl_pdh=borrar máquina
eacl_pih=añadir nuevas máquinas
eacl_puh=editar máquina
eacl_psh=seleccionar máquina
eacl_pdg=borrar grupo
eacl_pig=añadir nuevos grupos
eacl_pug=editar grupo
eacl_psg=seleccionar grupo
eacl_pds=borrar subred
eacl_pis=añadir nuevas subredes
eacl_pus=editar subred
eacl_pss=seleccionar subred
eacl_pdn=borrar red compartida
eacl_pin=añadir nuevas redes compartidas
eacl_pun=editar red compartida
eacl_psn=seleccionar red compartida
eacl_uniq=crear duplicados
eacl_pdl=borrar arrendamientos
eacl_psl=ver arrendamientos
eacl_pglob=editar opcione globales
eacl_papply=rearrancar este servicio

acl_apply=¿Puede aplicar los cambios?
acl_r_leases=¿Puede ver arrendamientos?
acl_w_leases=¿Puede quitar arrendamientos?
acl_global=¿Puede editar opciones globales?
acl_uniq_hst=¿Nombres únicos de máquina?
acl_uniq_sub=¿Direcciones IP de subred únicas?
acl_uniq_sha=¿Nombres únicos de red compartida?
acl_seclevel=Usar nivel de seguridad:
acl_hide=¿Oculto objetos inaccesibles?
acl_ahst=Máquinas de acceso:
acl_agrp=Grupos de acceso:
acl_asub=Subredes de acceso:
acl_asha=Redes compartidas de acceso:
acl_per_hst_acls=¿Activo ACLs por máquina?
acl_per_sub_acls=¿Activo ACLs por subred?
acl_per_obj_acls=ACLs por objeto...
acl_na=no autorizado
acl_r1=sólo lectura
acl_rw=lectura/escritura
acl_c=crear
acl_r=leer
acl_w=escribir
acl_err=Error salvando lista ACL
acl_ernow=Si deseas activar acceso de escritura en ACLs globales para algún tipo de objeto debes también activar acceso de lectura para este tipo de objeto.
acl_normal=normal
acl_paranoic=paranoico
070701000286b1000081a40000000000000002000000013d1fe2d700002f9a000000200000000000000000000000000000001400000003reloc/dhcpd/lang/fr   index_title=Serveur DHCP
index_dhcpdnotfound=L'exécutable du serveur DHCP '$1' est introuvable sur votre système.  Peut-être devriez-vous éditer la <a href="$2">configuration du module DHCP</a>.
index_return=index
index_dhcpdver=Le serveur DHCP '$1' ne semble pas être d'une version correcte.  Webmin supporte seulement ISC version 2.
index_subtitle=Sous-réseaux et réseaux partagés
index_nosubdef=Aucun sous-réseaux ou réseaux partagé ont été définit
index_addsub=Ajouter un nouveau sous-réseau
index_addnet=Ajouter un nouveau réseau partagé
index_nomemb=Aucun membre
index_1memb=1 membre
index_234memb=$1 membres
index_memb=$1 membres
index_hst=Machines et groupes de machines
index_nohst=Aucune machine ou groupe n'a été défini
index_hostgroup=Machine/Groupe
index_parent=Parent
index_hardware=Adresse matérielle
index_group=Groupe :
index_nameip=Nom de machine ou IP
index_net=Réseau
index_netmask=Masque de réseau
index_addhst=Ajouter une nouvelle machine
index_addhstg=Ajouter un nouveau groupe
index_buttego=Éditer les options générales
index_ego=Éditer les options DHCP qui s'applique à tout sous-réseau, réseau partagé, machine et groupe de machines
index_buttlal=Lister les attributions active
index_lal=Lister les attributions desservies en ce moment par ce serveur DHCP pour l'assignement dynamique d'adresse IP
index_buttapply=Appliquer tout changement
index_apply=Cliquer sur ce bouton appliquera la configuration courante au serveur DHCP qui est exécuter en ce moment en l'arrêtant et le redémarrant.
index_buttstart=Démarrer le serveur
index_start=Cliquer sur ce bouton pour démarrer le serveur DHCP en utilisant la configuration courante.
index_hdisplay=Afficher les machines et groupes par :
index_horder0=Assignation
index_horder1=Structure de fichier
index_horder2=Nom
index_horder3=Adresse matérielle
index_horder4=Adresse IP
index_togroup=Groupe
index_tosubnet=Sous-réseau
index_toshared=Réseau
index_ndisplay=Afficher réseaux et sous-réseau par :
index_norder0=Assignation
index_norder1=Structure de fichier
index_norder2=Nom/Adresse IP

butt_save=Enregistrer
butt_eco=Édit les options du client
butt_vco=Visualiser les options du client
butt_del=Supprimer
butt_create=Créer

esub_crheader=Créer un sous-réseau
esub_edheader=Éditer un sous-réseau
esub_tabhdr=Détails du sous-réseau
esub_naddr=Adresse du réseau
esub_nmask=Masque de sous-réseau
esub_arange=Plages d'adresse
esub_dbooptpq=BOOTP dynamique?
esub_shnet=Réseau partagé
esub_hosts=Machines de ce sous-réseau même
esub_groups=Groupes de ce sous-réseau même
esub_pools=Groupes d'adresses du sous-réseau
esub_pool=Groupe $1
esub_poolnone=Aucun groupe d'adresses défini
esub_pooladd=Ajouter un groupe d'adresses
esub_none=Aucun
esub_return=liste de sous-réseaux
esub_retshar=réseau partagé

esh_crheader=Créer un réseau partagé
esh_eheader=Éditer un réseau partagé
esh_tabhdr=Précisions sur le réseau partagé
esh_netname=Nom du réseau
esh_hosts=Machines de ce réseau partagé même
esh_groups=Groupes de ce réseau partagé même
esh_subn=Sous-réseaux de ce réseau partagé
esh_return=liste des réseaux partagés

ehost_crheader=Créer une machine
ehost_eheader=Éditer une machine
ehost_tabhdr=Précisions sur la machine
ehost_hname=Nom de la machine
ehost_nojavascr=Il semble que votre navigateur ne prend pas en compte javascript. Vous devez dès à présent choisir la position adéquate dans la liste ci-dessous.
ehost_assign=Machine assignée à
ehost_toplevel=Niveau le plus haut
ehost_inshared=Réseau partagé
ehost_insubnet=Sous-réseau
ehost_ingroup=Groupe
ehost_hwaddr=Adresse matérielle
ehost_fixedip=Adresse IP fixe
ehost_subnet=In subnet $1/$2
ehost_shared=In shared network $1
ehost_in=in
ehost_return=liste de machines
ehost_retgroup=groupe
ehost_retsubn=sous-réseau
ehost_retshar=réseau partagé

egroup_crheader=Créer un groupe de machines
egroup_eheader=Éditer un groupe de machines
egroup_tblhdr=Précisions sur le groupe
egroup_assign=Groupe assigné à
egroup_hosts=Machine dans ce groupe
egroup_nchoice=Utiliser le nom comme nom de machine du client?
egroup_return=liste des machines
egroup_retsubn=sous-réseau
egroup_retshar=réseau partagé

default=Défaut
secs=secondes
none=Aucun

listl_header=Attributions DHCP
listl_lfnotexist=Le fichier des baux DHCPd <tt>$1</tt> n'existe pas.
listl_lfnotcont=Le fichier des baux DHCPd <tt>$1</tt> ne contient aucun bail.
listl_active=active
listl_ipaddr=Adresse IP
listl_ether=Ethernet
listl_host=Nom de machine
listl_start=Début du bail
listl_end=Fin du bail
listl_return=liste des réseaux et des machines
listl_all=Lister tous les baux actifs et expirés
listl_delete=Cliquer sur l'adresse IP d'un bail de la liste ci-dessus pour l'effacer

restart_errmsg1=Impossible de redémarrer le serveur DHCP
restart_errmsg2=Impossible d'envoyer le signal au processus
start_failstart=Impossible de démarrer DHCP

sgroup_faildel=Impossible de supprimer le groupe
sgroup_failsave=Impossible d'enregistrer le groupe
sgroup_invassign=groupe assigné à une section incorrecte
sgroup_echanged=Le contenu du fichier de configuration a été modifié. Essayez encore.

shost_faildel=Impossible de supprimer la machine
shost_failsave=Impossible d'enregistrer la machine
shost_invalidhn=n'est pas un nom de machine valide
shost_invalidhwa=$1 n'est pas une adresse $2 valide
shost_invalidaddr='$1' contient un nom de machine ou une adresse IP invalide
shost_invassign=machine assignée à une section incorrecte

sopt_failsave=Impossible d'enregistrer les options du client
sopt_invalidip=n'est pas une adresse IP valide
sopt_invalidint=n'est pas un nombre entier
sopt_invalidipp=n'est pas une adresse IP paire (comme 1.2.3.4,1.2.4.9)

sshared_faildel=Impossible de supprimer le réseau partagé
sshared_failsave=Impossible d'enregistrer le réseau partagé
sshared_invalidsname=Réseau partagé manquant ou invalide
sshared_nosubnet=Le réseau partagé '$1' ne contient aucun sous-réseau

ssub_faildel=Impossible de supprimer le sous-réseau
ssub_failsave=Impossible d'enregistrer le sous-réseau
ssub_invalidsubaddr=n'est pas une adresse de sous-réseau valide
ssub_invalidnmask=n'est pas une adresse de sous-réseau
ssub_invalidipr=n'est pas une plage d'adresse IP
ssub_nosubnet=Le réseau partagé '$1' ne contient aucun sous-réseau

plib_deflt=Durée d'attribution par défaut
plib_bfname=Fichier de démarrage
plib_maxlt=Temps maximum de l'attribution
plib_bfserv=Serveur de fichier de démarrage
plib_thisserv=Ce serveur
plib_servname=Nom du serveur
plib_llbc=Durée de l'attribution des clients BOOTP
plib_forever=Infini
plib_lebc=Fin de l'attribution des clients BOOTP
plib_never=Jamais
plib_invalidlt=n'est pas un temps d'attribution valide
plib_invalidsn=n'est pas un nom de serveur valide
plib_invaliddom=$1 n'est pas un nom de domaine valide
plib_leformat=La date de fin d'attribution doit être dans le format W AAAA/MM/JJ HH:MM:SS
plib_copt=Options du client
plib_chname=Nom de machine du client
plib_defrouters=Routeurs par défaut
plib_snmask=Masque de sous-réseau
plib_babbr=Adresse de diffusion
plib_domname=Nom de domaine
plib_dnsserv=Serveurs de nom de domaine
plib_timeserv=Serveurs de temps
plib_logserv=Serveurs de journal
plib_swapserv=Serveur de mémoire temporaire
plib_rdpath=Chemin du disque racine
plib_nisdom=Domaine NIS
plib_nisserv=Serveurs NIS
plib_fontserv=Serveurs de police
plib_xdmserv=Serveurs XDM
plib_statrouters=Routes statique
plib_ntpserv=Serveurs NTP
plib_nbns=Serveurs de nom NetBIOS
plib_nbscope=Envergure NetBIOS
plib_nbntype=Type de node NetBIOS
plib_ddnsdom=Nom de domaine DNS dynamique
plib_ddnsrevdom=Nom de domaine DNS dynamique inverse
plib_ddnsup=DNS dynamique activé ?
plib_ddnshost=Nom du DNS dynamique
plib_ddnshost_def=Provenant du client

eopt_header=Options du client
eopt_subtitle=Pour le sous-réseau $1
eopt_returnsub=liste de sous-réseaux
eopt_returnshsub=réseau partagé
eopt_snettitle=Pour le réseau partagé $1
eopt_hosttitle=Pour la machine $1
eopt_returnhost=liste de machines
eopt_returngroup=groupe de machines
eopt_grouptitle=Pour le membre $1 du groupe
eopt_alltitle=Pour tous les réseaux, machines et groupes
eopt_returnindex=index
eopt_tabhdr=Options du client
eopt_chost=Nom de machine du client
eopt_defrouters=Routeurs par défaut
eopt_smask=Masque de sous-réseau
eopt_baddr=Adresse de diffusion
eopt_domname=Nom de domaine
eopt_dnsserv=Serveurs de nom de domaine
eopt_timeserv=Serveurs de temps
eopt_logserv=Serveurs de journal
eopt_swapserv=Serveur de mémoire temporaire
eopt_rdpath=Chemin du disque racine
eopt_nisdom=Domaine NIS
eopt_nisserv=Serveurs NIS
eopt_fontserv=Serveurs de police
eopt_xdmserv=Serveurs XDM
eopt_statrouters=Routes statique
eopt_ntpserv=Serveurs NTP
eopt_nbns=Serveurs de nom NetBIOS
eopt_nbs=Envergure NetBIOS
eopt_nbntype=Type de node NetBIOS
eopt_custom=Option spécifique
eopt_cnum=Numéro
eopt_cval=Valeur

log_apply=Changements effectués
log_start=Serveur DHCP démarré
log_create_subnet=Sous-réseau $1 créé
log_delete_subnet=Sous-réseau $1 supprimé
log_modify_subnet=Sous-réseau $1 modfié
log_options_subnet=Options du sous-réseau $1 modifiées
log_create_shared=Réseau partagé $1 créé
log_delete_shared=Réseau partagé $1 supprimé
log_modify_shared=Réseau partagé $1 modifié
log_options_shared=Options du réseau partagé $1 modifiées
log_create_host=Machine $1 créée
log_delete_host=Machine $1 supprimée
log_modify_host=Machine $1 modifiée
log_options_host=Options de la machine modifiées
log_create_group=Groupe de $1 machines créé
log_delete_group=Groupe de $1 machines supprimé
log_modify_group=Groupe de $1 machines modifié
log_options_group=Options de groupes de $1 machines modifiées
log_delete_lease=Supprimer le bail de $1

pool_edit=Éditer le groupe d'adresses
pool_create=Groupe d'adresses créé
pool_header=Options de groupes d'adresses
pool_allow=Clients à accepter
pool_deny=Clients à rejeter
pool_return=sous-réseau

cdel_header=Avertissement
cdel_shared1=réseau partagé
cdel_shared2=réseau partagé
cdel_subnet1=sous-réseau
cdel_subnet2=sous-réseau
cdel_subnet=sous-réseau
cdel_subnets=sous-réseaux
cdel_group1=groupe
cdel_group2=groupe
cdel_group=groupe
cdel_groups=groupes
cdel_host=machine
cdel_hosts=machines
cdel_txt=La suppression de $1 '$2' entrainera aussi la suppression de son contenu :
cdel_confirm=Voulez-vous réellement supprimer ce $1 ?
cdel_eunknown=Erreur inconnue
cdel_return=liste des machines et des réseaux

eacl_aviol=Violation du contrôle d'accès
eacl_np=Vous n'avez pas la permission de
eacl_pdh=supprimer une machine
eacl_pih=ajouter de nouvelles machines
eacl_puh=éditer une machine
eacl_psh=sélectionner une machine
eacl_pdg=supprimer un groupe
eacl_pig=ajouter de nouveaux groupes
eacl_pug=éditer un groupe
eacl_psg=sélectionner un groupe
eacl_pds=supprimer un sous-réseau
eacl_pis=ajouter de nouveaux sous-réseaux
eacl_pus=éditer un sous-réseau
eacl_pss=sélectionner un sous-réseau
eacl_pdn=supprimer un réseau partagé
eacl_pin=ajouter de nouveaux réseaux partagés
eacl_pun=éditer le réseau partagé
eacl_psn=selectionner le réseau partagé
eacl_uniq=créer des copies
eacl_pdl=supprimer les baux
eacl_psl=visualiser les baux
eacl_pglob=éditer les options générales
eacl_papply=redémarrer ce service

acl_apply=Possibilité d'appliquer les modifications ?
acl_r_leases= Possibilité de visualiser les baux ?
acl_w_leases=Possibilité de supprimer les baux ?
acl_global=Possibilité d'éditer les options générales ?
acl_uniq_hst=Noms de machines uniques ?
acl_uniq_sub=Adresses IP de sous-réseau uniques ?
acl_uniq_sha=Noms de réseaux partagés uniques ?

acl_seclevel=Utiliser le niveau de sécurité :
acl_hide=Masquer les objets inaccessibles?
acl_ahst=Accéder aux machines :
acl_agrp=Accéder aux groupes :
acl_asub=Accéder aux sous-réseaux :
acl_asha=Accéder aux réseaux partagés :
acl_per_hst_acls=Activer les ACL par machine ?
acl_per_sub_acls=Activer ACL par sous-réseau ?
acl_per_obj_acls=ACL par objet...
acl_na=non autorisé
acl_r1=lecture seule
acl_rw=lecture/écriture
acl_c=création
acl_r=lecture
acl_w=écriture
acl_err=Érreur lors de la sauvegarde de la liste d'ACL.
acl_ernow=Si vous souhaitez donner libre accès en écriture à un certain type d'objet dans les ACL globales, vous devez aussi lui donner un accès en lecture.
acl_normal=normal
acl_paranoic=paranoïaque

  070701000286b2000081a40000000000000002000000013d1fe2d700002ca1000000200000000000000000000000000000001b00000003reloc/dhcpd/lang/ja_JP.euc    index_title=DHCP ¥µ¡¼¥Ð
index_dhcpdnotfound=DHCP ¥µ¡¼¥Ð <i>$1</i>¡¡¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href="$2">DHCP ¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ç¤¹¡£
index_return=¥¤¥ó¥Ç¥Ã¥¯¥¹
index_dhcpdver=DHCP ¥µ¡¼¥Ð<i>$1</i> ¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÉÔÀµ¤Ç¤¹¡£Webmin ¤Ï ISC DHCPD ¥Ð¡¼¥¸¥ç¥ó 2 ¤Î¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
index_subtitle=¥µ¥Ö¥Í¥Ã¥È¤È¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
index_nosubdef=ÄêµÁ¤µ¤ì¤¿¥µ¥Ö¥Í¥Ã¥È¤Þ¤¿¤Ï¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤¬¤¢¤ê¤Þ¤»¤ó¡£
index_addsub=¿·µ¬¤Î¥µ¥Ö¥Í¥Ã¥È¤òÄÉ²Ã
index_addnet=¿·µ¬¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òÄÉ²Ã
index_nomemb=Èó¥á¥ó¥Ð¡¼
index_1memb=1 ¥á¥ó¥Ð¡¼
index_234memb=$1 ¥á¥ó¥Ð¡¼
index_memb=$1 ¥á¥ó¥Ð¡¼
index_hst=¥Û¥¹¥È¤È¥Û¥¹¥È ¥°¥ë¡¼¥×
index_nohst=ÄêµÁ¤µ¤ì¤¿¥Û¥¹¥È¤Þ¤¿¤Ï¥Û¥¹¥È ¥°¥ë¡¼¥×¤¬¤¢¤ê¤Þ¤»¤ó¡£
index_hostgroup=¥Û¥¹¥È/¥°¥ë¡¼¥×
index_parent=¿Æ
index_hardware=¥Ï¡¼¥É¥¦¥§¥¢ ¥¢¥É¥ì¥¹
index_group=¥°¥ë¡¼¥×:
index_nameip=¥Û¥¹¥ÈÌ¾ ¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹
index_net=¥Í¥Ã¥È¥ï¡¼¥¯
index_netmask=¥Í¥Ã¥È¥Þ¥¹¥¯
index_addhst=¿·µ¬¤Î¥Û¥¹¥È¤òÄÉ²Ã
index_addhstg=¿·µ¬¤Î¥Û¥¹¥È ¥°¥ë¡¼¥×¤òÄÉ²Ã
index_buttego=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_ego=¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Í¥Ã¥È¡¢¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¡¢¥Û¥¹¥È¤ª¤è¤Ó¥°¥ë¡¼¥×¤ËÅ¬ÍÑ¤¹¤ë DHCP ¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_buttlal=¥¢¥¯¥Æ¥£¥Ö ¥ê¡¼¥¹¤ò¥ê¥¹¥È
index_lal=¤³¤Î DHCP ¥µ¡¼¥Ð¤¬Æ°Åª¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿ IP ¥¢¥É¥ì¥¹ÍÑ¤Ë¸½ºßÁ÷½Ð¤·¤¿¥ê¡¼¥¹¤Î¥ê¥¹¥È¤Ç¤¹¡£
index_buttapply=ÊÑ¹¹¤òÅ¬ÍÑ
index_apply=¼Â¹ÔÃæ¤Î DHCP ¥µ¡¼¥Ð¤Ë¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£DHCP ¥µ¡¼¥Ð¤òÄä»ß¤·¤ÆºÆµ¯Æ°¤·¤Þ¤¹¡£
index_buttstart=¥µ¡¼¥Ð¤Îµ¯Æ°
index_start=¸½ºß¤ÎÀßÄê¤ò»ÈÍÑ¤·¤Æ¥·¥¹¥Æ¥à¤Î DHCP ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_hdisplay=¥Û¥¹¥È¤È¥°¥ë¡¼¥×¤ò¼¡¤Î¹àÌÜÊÌ¤ËÉ½¼¨:
index_horder0=³ä¤êÅö¤Æ
index_horder1=¥Õ¥¡¥¤¥ë¹½Â¤
index_horder2=Ì¾Á°
index_horder3=¥Ï¡¼¥É¥¦¥§¥¢ ¥¢¥É¥ì¥¹
index_horder4=IP ¥¢¥É¥ì¥¹
index_togroup=¥°¥ë¡¼¥×
index_tosubnet=¥µ¥Ö¥Í¥Ã¥È
index_toshared=¥Í¥Ã¥È¥ï¡¼¥¯
index_ndisplay=¥Í¥Ã¥È¥ï¡¼¥¯¤È¥µ¥Ö¥Í¥Ã¥È¤ò¼¡¤Î¹àÌÜÊÌ¤ËÉ½¼¨:
index_norder0=³ä¤êÅö¤Æ
index_norder1=¥Õ¥¡¥¤¥ë¹½Â¤
index_norder2=¥Û¥¹¥ÈÌ¾/IP ¥¢¥É¥ì¥¹

butt_save=ÊÝÂ¸
butt_eco=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤ÎÊÔ½¸
butt_vco=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤ÎÉ½¼¨
butt_del=ºï½ü
butt_create=ºîÀ®

esub_crheader=¥µ¥Ö¥Í¥Ã¥È¤ÎºîÀ®
esub_edheader=¥µ¥Ö¥Í¥Ã¥È¤ÎÊÔ½¸
esub_tabhdr=¥µ¥Ö¥Í¥Ã¥È¤Î¾ÜºÙ
esub_naddr=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹
esub_nmask=¥Í¥Ã¥È¥Þ¥¹¥¯
esub_arange=¥¢¥É¥ì¥¹¤ÎÈÏ°Ï
esub_dbooptpq=Æ°Åª BOOTP ¤Ç¤¹¤«¡©
esub_shnet=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
esub_hosts=¤³¤Î¥µ¥Ö¥Í¥Ã¥È¤ËÄ¾Â°¤¹¤ë¥Û¥¹¥È
esub_groups=¤³¤Î¥µ¥Ö¥Í¥Ã¥È¤ËÄ¾Â°¤¹¤ë¥°¥ë¡¼¥×
esub_pools=¥µ¥Ö¥Í¥Ã¥È¤Î¥¢¥É¥ì¥¹ ¥×¡¼¥ë
esub_pool=¥×¡¼¥ë $1
esub_poolnone=ÄêµÁ¤µ¤ì¤¿¥¢¥É¥ì¥¹ ¥×¡¼¥ë¤Ï¤¢¤ê¤Þ¤»¤ó
esub_pooladd=¥¢¥É¥ì¥¹ ¥×¡¼¥ë¤ÎÄÉ²Ã
esub_none=¤Ê¤·
esub_return=¥µ¥Ö¥Í¥Ã¥È ¥ê¥¹¥È
esub_retshar=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯

esh_crheader=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤ÎºîÀ®
esh_eheader=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÊÔ½¸
esh_tabhdr=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤Î¾ÜºÙ
esh_netname=¥Í¥Ã¥È¥ï¡¼¥¯Ì¾
esh_hosts=¤³¤Î¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤ËÄ¾Â°¤¹¤ë¥Û¥¹¥È
esh_groups=¤³¤Î¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤ËÄ¾Â°¤¹¤ë¥°¥ë¡¼¥×
esh_subn=¤³¤Î¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥µ¥Ö¥Í¥Ã¥È
esh_return=¥µ¥Ö¥Í¥Ã¥È ¥ê¥¹¥È

ehost_crheader=¥Û¥¹¥È¤ÎºîÀ®
ehost_eheader=¥Û¥¹¥È¤ÎÊÔ½¸
ehost_tabhdr=¥Û¥¹¥È¤Î¾ÜºÙ
ehost_hname=¥Û¥¹¥ÈÌ¾
ehost_nojavascr=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤¬ javascript ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£²¼¤Î¥ê¥¹¥È¤«¤éÀµ¤·¤¤°ÌÃÖ¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
ehost_assign=¥Û¥¹¥È¤Î³ä¤êÅö¤ÆÀè
ehost_toplevel=¥È¥Ã¥×¥ì¥Ù¥ë
ehost_inshared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
ehost_insubnet=¥µ¥Ö¥Í¥Ã¥È
ehost_ingroup=¥°¥ë¡¼¥×
ehost_hwaddr=¥Ï¡¼¥É¥¦¥§¥¢ ¥¢¥É¥ì¥¹
ehost_fixedip=¸ÇÄê¤Î IP ¥¢¥É¥ì¥¹
ehost_subnet=¥µ¥Ö¥Í¥Ã¥È $1/$2 Æâ
ehost_shared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 Æâ
ehost_in=¼¡¤ÎÃæ
ehost_return=¥Û¥¹¥È ¥ê¥¹¥È
ehost_retgroup=¥°¥ë¡¼¥×
ehost_retsubn=¥µ¥Ö¥Í¥Ã¥È
ehost_retshar=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯

egroup_crheader=¥Û¥¹¥È ¥°¥ë¡¼¥×¤ÎºîÀ®
egroup_eheader=¥Û¥¹¥È ¥°¥ë¡¼¥×¤ÎÊÔ½¸
egroup_tblhdr=¥Û¥¹¥È ¥°¥ë¡¼¥×¤Î¾ÜºÙ
egroup_assign=¥Û¥¹¥È ¥°¥ë¡¼¥×¤Î³ä¤êÅö¤ÆÀè
egroup_hosts=¤³¤Î¥°¥ë¡¼¥×Æâ
egroup_nchoice=¥¯¥é¥¤¥¢¥ó¥È ¥Û¥¹¥ÈÌ¾¤È¤·¤ÆÌ¾Á°¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
egroup_return=¥Û¥¹¥È ¥ê¥¹¥È
egroup_retsubn=¥µ¥Ö¥Í¥Ã¥È
egroup_retshar=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯

default=¥Ç¥Õ¥©¥ë¥È
secs=ÉÃ
none=¤Ê¤·

listl_header=DHCP ¥ê¡¼¥¹
listl_lfnotexist=DHCPd ¥ê¡¼¥¹ ¥Õ¥¡¥¤¥ë<tt>$1</tt> ¤¬¤¢¤ê¤Þ¤»¤ó¡£
listl_lfnotcont=DHCPd ¥ê¡¼¥¹ ¥Õ¥¡¥¤¥ë<tt>$1</tt> ¤Ï $2 ¥ê¡¼¥¹¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£
listl_active=¥¢¥¯¥Æ¥£¥Ö
listl_ipaddr=IP ¥¢¥É¥ì¥¹
listl_ether=¥¤¡¼¥µ¥Í¥Ã¥È
listl_host=¥Û¥¹¥ÈÌ¾
listl_start=µ¯Æ°»þ´Ö
listl_end=½ªÎ»Æü»þ
listl_return=¥Í¥Ã¥È¥ï¡¼¥¯¤È¥Û¥¹¥È¤Î¥ê¥¹¥È
listl_all=¥¢¥¯¥Æ¥£¥Ö¤ª¤è¤Ó´ü¸ÂÀÚ¤ì¤Î¥ê¡¼¥¹¤ò¤¹¤Ù¤ÆÉ½¼¨
listl_delete=ºï½ü¤¹¤ë¤Ë¤Ï¾å¤Î¥ê¥¹¥È¤Ç¥ê¡¼¥¹¤Î IP ¥¢¥É¥ì¥¹¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£

restart_errmsg1=dhcpd ¤òºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
restart_errmsg2=½èÍý¤Ë¿®¹æ¤òÁ÷¤ì¤Þ¤»¤ó¤Ç¤·¤¿
start_failstart=dhcpd ¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

sgroup_faildel=¥°¥ë¡¼¥×¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sgroup_failsave=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sgroup_invassign=¥°¥ë¡¼¥×¤¬ÉÔÀµ¤Ê¥»¥¯¥·¥ç¥ó¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹
sgroup_echanged=ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬ÊÑ¹¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ºÆ»î¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£

shost_faildel=¥Û¥¹¥È¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
shost_failsave=¥Û¥¹¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
shost_invalidhn=¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
shost_invalidhwa='$1' ¤ÏÌµ¸ú¤Ê $2 ¥¢¥É¥ì¥¹¤Ç¤¹
shost_invalidaddr='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï IP ¥¢¥É¥ì¥¹¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹
shost_invassign=¥Û¥¹¥È¤¬ÉÔÀµ¤Ê¥»¥¯¥·¥ç¥ó¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹

sopt_failsave=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sopt_invalidip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
sopt_invalidint=¤ÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
sopt_invalidipp=¤ÏÍ­¸ú¤Ê IP ¥¢¥É¥ì¥¹¤ÎÁÈ¤ß¹ç¤ï¤» (¤¿¤È¤¨¤Ð 1.2.3.4,5.6.7.8) ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

sshared_faildel=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sshared_failsave=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÊÝÂ¸¤Ë¼ºÇÔ¤·¤Þ¤·¤¿
sshared_invalidsname=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹¡£
sshared_nosubnet=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ '$1' ¤Ï¥µ¥Ö¥Í¥Ã¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£

ssub_faildel=¥µ¥Ö¥Í¥Ã¥È¤òºï½ü¤Ç¤­¤Þ¤»¤ó
ssub_failsave=¥µ¥Ö¥Í¥Ã¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ssub_invalidsubaddr=¤ÏÌµ¸ú¤Ê¥µ¥Ö¥Í¥Ã¥È ¥¢¥É¥ì¥¹¤Ç¤¹
ssub_invalidnmask=¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
ssub_invalidipr=¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
ssub_nosubnet=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯  '$1' ¤Ï¥µ¥Ö¥Í¥Ã¥È¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£

plib_deflt=¥Ç¥Õ¥©¥ë¥È ¥ê¡¼¥¹»þ´Ö
plib_bfname=¥Ö¡¼¥È ¥Õ¥¡¥¤¥ëÌ¾
plib_maxlt=ºÇÂç¥ê¡¼¥¹»þ´Ö
plib_bfserv=Boot ¥Õ¥¡¥¤¥ë ¥µ¡¼¥Ð
plib_thisserv=¤³¤Î¥µ¡¼¥Ð
plib_servname=¥µ¡¼¥ÐÌ¾
plib_llbc=BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¡¼¥¹Ä¹
plib_forever=±Êµ×
plib_lebc=BOOTP ¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¡¼¥¹¤Î½ªÎ»
plib_never=¤Ê¤·
plib_invalidlt=¤ÏÌµ¸ú¤Ê¥ê¡¼¥¹»þ´Ö¤Ç¤¹
plib_invalidsn=¤ÏÌµ¸ú¤Ê¥µ¡¼¥ÐÌ¾¤Ç¤¹
plib_invaliddom='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥óÌ¾¤Ç¤¹
plib_leformat=¥ê¡¼¥¹¤Î½ªÎ»»þ´Ö¤Ï W YYYY/MM/DD HH:MM:SS ¤Î·Á¼°¤Ë¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
plib_copt=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó
plib_chname=¥¯¥é¥¤¥¢¥ó¥È ¥Û¥¹¥ÈÌ¾
plib_defrouters=¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥¿
plib_snmask=¥µ¥Ö¥Í¥Ã¥È ¥Þ¥¹¥¯
plib_babbr=¥Ö¥í¡¼¥É¥­¥ã¥¹¥È ¥¢¥É¥ì¥¹
plib_domname=¥É¥á¥¤¥óÌ¾
plib_dnsserv=DNS ¥µ¡¼¥Ð
plib_timeserv=Time ¥µ¡¼¥Ð
plib_logserv=¥í¥° ¥µ¡¼¥Ð
plib_swapserv=Swap ¥µ¡¼¥Ð
plib_rdpath=root ¥Ç¥£¥¹¥¯ ¥Ñ¥¹
plib_nisdom=NIS ¥É¥á¥¤¥ó
plib_nisserv=NIS ¥µ¡¼¥Ð
plib_fontserv=¥Õ¥©¥ó¥È¥µ¡¼¥Ð
plib_xdmserv=XDM ¥µ¡¼¥Ð
plib_statrouters=ÀÅÅª¥ë¡¼¥È
plib_ntpserv=NTP ¥µ¡¼¥Ð
plib_nbns=NetBIOS ¥Í¡¼¥à ¥µ¡¼¥Ð
plib_nbscope=NetBIOS ¥¹¥³¡¼¥×
plib_nbntype=NetBIOS ¥Î¡¼¥É ¥¿¥¤¥×
plib_ddnsdom=Æ°Åª DNS ¥É¥á¥¤¥óÌ¾
plib_ddnsrevdom=Æ°Åª DNS µÕ°ú¤­¥É¥á¥¤¥ó
plib_ddnsup=Æ°ÅªDNS ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
plib_ddnshost=Æ°Åª DNS ¥Û¥¹¥ÈÌ¾
plib_ddnshost_def=¥¯¥é¥¤¥¢¥ó¥ÈÌ¾

eopt_header=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó
eopt_subtitle=¥µ¥Ö¥Í¥Ã¥È $1 ÍÑ
eopt_returnsub=¥µ¥Ö¥Í¥Ã¥È
eopt_returnshsub=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
eopt_snettitle=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 ÍÑ
eopt_hosttitle=¥Û¥¹¥È $1 ÍÑ
eopt_returnhost=¥Û¥¹¥È
eopt_returngroup=¥Û¥¹¥È ¥°¥ë¡¼¥×
eopt_grouptitle=$1 ¥á¥ó¥Ð¡¼ ¥°¥ë¡¼¥×ÍÑ
eopt_alltitle=¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¡¢¥Û¥¹¥È¤ª¤è¤Ó¥°¥ë¡¼¥×ÍÑ
eopt_returnindex=¥Í¥Ã¥È¥ï¡¼¥¯¤È¥Û¥¹¥È¤Î¥ê¥¹¥È
eopt_tabhdr=¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó
eopt_chost=¥¯¥é¥¤¥¢¥ó¥È ¥Û¥¹¥ÈÌ¾
eopt_defrouters=¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥¿
eopt_smask=¥µ¥Ö¥Í¥Ã¥È ¥Þ¥¹¥¯
eopt_baddr=¥Ö¥í¡¼¥É¥­¥ã¥¹¥È ¥¢¥É¥ì¥¹
eopt_domname=¥É¥á¥¤¥óÌ¾
eopt_dnsserv=DNS ¥µ¡¼¥Ð
eopt_timeserv=Time ¥µ¡¼¥Ð
eopt_logserv=¥í¥° ¥µ¡¼¥Ð
eopt_swapserv=Swap ¥µ¡¼¥Ð
eopt_rdpath=root ¥Ç¥£¥¹¥¯ ¥Ñ¥¹
eopt_nisdom=NIS ¥É¥á¥¤¥ó
eopt_nisserv=NIS ¥µ¡¼¥Ð
eopt_fontserv=¥Õ¥©¥ó¥È¥µ¡¼¥Ð
eopt_xdmserv=XDM ¥µ¡¼¥Ð
eopt_statrouters=ÀÅÅª¥ë¡¼¥È
eopt_ntpserv=NTP ¥µ¡¼¥Ð
eopt_nbns=NetBIOS ¥Í¡¼¥à ¥µ¡¼¥Ð
eopt_nbs=NetBIOS ¥¹¥³¡¼¥×
eopt_nbntype=NetBIOS ¥Î¡¼¥É ¥¿¥¤¥×
eopt_custom=¥«¥¹¥¿¥à ¥ª¥×¥·¥ç¥ó
eopt_cnum=¿ô
eopt_cval=ÃÍ

log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_start=DHCP ¥µ¡¼¥Ð¤Îµ¯Æ°
log_create_subnet=¥µ¥Ö¥Í¥Ã¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_subnet=¥µ¥Ö¥Í¥Ã¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_subnet=¥µ¥Ö¥Í¥Ã¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_options_subnet=¥µ¥Ö¥Í¥Ã¥È $1 ¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_shared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_shared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_shared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_options_shared=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯ $1 ¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_host=¥Û¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_host=¥Û¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_host=¥Û¥¹¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_options_host=¥Û¥¹¥È $1 ¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_group=$1 ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_group=$1 ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤òºï½ü¤·¤Þ¤·¤¿
log_modify_group=$1 ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_options_group=$1 ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_lease=$1 ¤Î¥ê¡¼¥¹¤òºï½ü¤·¤Þ¤·¤¿

pool_edit=¥¢¥É¥ì¥¹ ¥×¡¼¥ë¤ÎÊÔ½¸
pool_create=¥¢¥É¥ì¥¹ ¥×¡¼¥ë¤òºîÀ®¤·¤Þ¤·¤¿
pool_header=¥¢¥É¥ì¥¹ ¥×¡¼¥ë ¥ª¥×¥·¥ç¥ó
pool_allow=µö²Ä¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È
pool_deny=µñÈÝ¤¹¤ë¥¯¥é¥¤¥¢¥ó¥È
pool_return=¥µ¥Ö¥Í¥Ã¥È

cdel_header=·Ù¹ð
cdel_shared1=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
cdel_shared2=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯
cdel_subnet1=¥µ¥Ö¥Í¥Ã¥È
cdel_subnet2=¥µ¥Ö¥Í¥Ã¥È
cdel_subnet=¥µ¥Ö¥Í¥Ã¥È
cdel_subnets=¥µ¥Ö¥Í¥Ã¥È
cdel_group1=¥°¥ë¡¼¥×
cdel_group2=¥°¥ë¡¼¥×
cdel_group=¥°¥ë¡¼¥×
cdel_groups=¥°¥ë¡¼¥×
cdel_host=¥Û¥¹¥È
cdel_hosts=¥Û¥¹¥È
cdel_txt=$1 '$2' ¤òºï½ü¤¹¤ë¤È¤½¤ì¤é¤ÎÆâÍÆ¤âºï½ü¤µ¤ì¤Þ¤¹:
cdel_confirm=¤³¤Î $1 ¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
cdel_eunknown=ÉÔÌÀ¤Î¥¨¥é¡¼
cdel_return=¥Û¥¹¥È¤È¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥ê¥¹¥È

eacl_aviol=¥¢¥¯¥»¥¹À©¸æ°ãÈ¿
eacl_np=¼¡¤ÎÁàºî¤ò¤¹¤ë¸¢¸Â¤¬¤¢¤ê¤Þ¤»¤ó:
eacl_pdh=¥Û¥¹¥È¤òºï½ü
eacl_pih=¿·µ¬¤Î¥Û¥¹¥È¤òÄÉ²Ã
eacl_puh=¥Û¥¹¥È¤òÊÔ½¸
eacl_psh=¥Û¥¹¥È¤òÁªÂò
eacl_pdg=¥°¥ë¡¼¥×¤òºï½ü
eacl_pig=¿·µ¬¤Î¥°¥ë¡¼¥×¤òÄÉ²Ã
eacl_pug=¥°¥ë¡¼¥×¤òÊÔ½¸
eacl_psg=¥°¥ë¡¼¥×¤òÁªÂò
eacl_pds=¥µ¥Ö¥Í¥Ã¥È¤òºï½ü
eacl_pis=¿·µ¬¤Î¥µ¥Ö¥Í¥Ã¥È¤òÄÉ²Ã
eacl_pus=¥µ¥Ö¥Í¥Ã¥È¤òÊÔ½¸
eacl_pss=¥µ¥Ö¥Í¥Ã¥È¤òÁªÂò
eacl_pdn=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òºï½ü
eacl_pin=¿·µ¬¤Î¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òÄÉ²Ã
eacl_pun=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òÊÔ½¸
eacl_psn=¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯¤òÁªÂò
eacl_uniq=Ê£À½¤òºîÀ®
eacl_pdl=¥ê¡¼¥¹¤òºï½ü
eacl_psl=¥ê¡¼¥¹¤ÎÉ½¼¨
eacl_pglob=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_papply=¤³¤Î¥µ¡¼¥Ó¥¹¤òºÆÅÙ³«»Ï

acl_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
acl_r_leases=¥ê¡¼¥¹¤òÉ½¼¨²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_w_leases=¥ê¡¼¥¹¤òºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_uniq_hst=¸ÇÍ­¤Î¥Û¥¹¥ÈÌ¾¤Ç¤¹¤«¡©
acl_uniq_sub=¸ÇÍ­¤Î¥µ¥Ö¥Í¥Ã¥È IP ¥¢¥É¥ì¥¹¤Ç¤¹¤«¡©
acl_uniq_sha=¸ÇÍ­¤Î¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯Ì¾¤Ç¤¹¤«¡©
acl_seclevel=»ÈÍÑ¤¹¤ë¥»¥­¥å¥ê¥Æ¥£ ¥ì¥Ù¥ë:
acl_hide=¥¢¥¯¥»¥¹ÉÔ²Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÈóÉ½¼¨¤Ë¤·¤Þ¤¹¤«¡©
acl_ahst=¥¢¥¯¥»¥¹ ¥Û¥¹¥È:
acl_agrp=¥¢¥¯¥»¥¹ ¥°¥ë¡¼¥×:
acl_asub=¥¢¥¯¥»¥¹ ¥µ¥Ö¥Í¥Ã¥È:
acl_asha=¥¢¥¯¥»¥¹¶¦Í­¥Í¥Ã¥È¥ï¡¼¥¯:
acl_per_hst_acls=¥Û¥¹¥È¤´¤È¤Ë¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
acl_per_sub_acls=¥µ¥Ö¥Í¥Ã¥È¤´¤È¤Ë¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
acl_per_obj_acls=¥ª¥Ö¥¸¥§¥¯¥È¤´¤È¤Î¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È...
acl_na=µö²Ä¤Ê¤·
acl_r1=ÆÉ¼è¤êÀìÍÑ
acl_rw=ÆÉ¼è¤ê/½ñ¹þ¤ß
acl_c=ºîÀ®
acl_r=ÆÉ¼è¤ê
acl_w=½ñ¹þ¤ß
acl_err=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤ÎÊÝÂ¸¥¨¥é¡¼
acl_ernow=¥°¥í¡¼¥Ð¥ë ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ïÎà¤Î½ñ¹þ¤ß¤ò²ÄÇ½¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ïÎà¤ÎÆÉ¼è¤ê¥¢¥¯¥»¥¹¤â²ÄÇ½¤Ë¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
acl_normal=É¸½à
acl_paranoic=ÈóÉ¸½à
   070701000286b3000081a40000000000000002000000013d1fe2d700002ca1000000200000000000000000000000000000001b00000003reloc/dhcpd/lang/ja_JP.jis    index_title=DHCP ƒT[ƒo
index_dhcpdnotfound=DHCP ƒT[ƒo <i>$1</i>@‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚ÉŒ©‚Â‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½BƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚©A<a href="$2">DHCP ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚Å‚·B
index_return=ƒCƒ“ƒfƒbƒNƒX
index_dhcpdver=DHCP ƒT[ƒo<i>$1</i> ‚Ìƒo[ƒWƒ‡ƒ“‚ª•s³‚Å‚·BWebmin ‚Í ISC DHCPD ƒo[ƒWƒ‡ƒ“ 2 ‚Ì‚Ý‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
index_subtitle=ƒTƒuƒlƒbƒg‚Æ‹¤—Lƒlƒbƒgƒ[ƒN
index_nosubdef=’è‹`‚³‚ê‚½ƒTƒuƒlƒbƒg‚Ü‚½‚Í‹¤—Lƒlƒbƒgƒ[ƒN‚ª‚ ‚è‚Ü‚¹‚ñB
index_addsub=V‹K‚ÌƒTƒuƒlƒbƒg‚ð’Ç‰Á
index_addnet=V‹K‹¤—Lƒlƒbƒgƒ[ƒN‚ð’Ç‰Á
index_nomemb=”ñƒƒ“ƒo[
index_1memb=1 ƒƒ“ƒo[
index_234memb=$1 ƒƒ“ƒo[
index_memb=$1 ƒƒ“ƒo[
index_hst=ƒzƒXƒg‚ÆƒzƒXƒg ƒOƒ‹[ƒv
index_nohst=’è‹`‚³‚ê‚½ƒzƒXƒg‚Ü‚½‚ÍƒzƒXƒg ƒOƒ‹[ƒv‚ª‚ ‚è‚Ü‚¹‚ñB
index_hostgroup=ƒzƒXƒg/ƒOƒ‹[ƒv
index_parent=e
index_hardware=ƒn[ƒhƒEƒFƒA ƒAƒhƒŒƒX
index_group=ƒOƒ‹[ƒv:
index_nameip=ƒzƒXƒg–¼ ‚Ü‚½‚Í IP ƒAƒhƒŒƒX
index_net=ƒlƒbƒgƒ[ƒN
index_netmask=ƒlƒbƒgƒ}ƒXƒN
index_addhst=V‹K‚ÌƒzƒXƒg‚ð’Ç‰Á
index_addhstg=V‹K‚ÌƒzƒXƒg ƒOƒ‹[ƒv‚ð’Ç‰Á
index_buttego=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚ð•ÒW
index_ego=‚·‚×‚Ä‚ÌƒTƒuƒlƒbƒgA‹¤—Lƒlƒbƒgƒ[ƒNAƒzƒXƒg‚¨‚æ‚ÑƒOƒ‹[ƒv‚É“K—p‚·‚é DHCP ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚ð•ÒW
index_buttlal=ƒAƒNƒeƒBƒu ƒŠ[ƒX‚ðƒŠƒXƒg
index_lal=‚±‚Ì DHCP ƒT[ƒo‚ª“®“I‚ÉŠ„‚è“–‚Ä‚ç‚ê‚½ IP ƒAƒhƒŒƒX—p‚ÉŒ»Ý‘—o‚µ‚½ƒŠ[ƒX‚ÌƒŠƒXƒg‚Å‚·B
index_buttapply=•ÏX‚ð“K—p
index_apply=ŽÀs’†‚Ì DHCP ƒT[ƒo‚ÉŒ»Ý‚ÌÝ’è‚ð“K—p‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢BDHCP ƒT[ƒo‚ð’âŽ~‚µ‚ÄÄ‹N“®‚µ‚Ü‚·B
index_buttstart=ƒT[ƒo‚Ì‹N“®
index_start=Œ»Ý‚ÌÝ’è‚ðŽg—p‚µ‚ÄƒVƒXƒeƒ€‚Ì DHCP ƒT[ƒo‚ð‹N“®‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
index_hdisplay=ƒzƒXƒg‚ÆƒOƒ‹[ƒv‚ðŽŸ‚Ì€–Ú•Ê‚É•\Ž¦:
index_horder0=Š„‚è“–‚Ä
index_horder1=ƒtƒ@ƒCƒ‹\‘¢
index_horder2=–¼‘O
index_horder3=ƒn[ƒhƒEƒFƒA ƒAƒhƒŒƒX
index_horder4=IP ƒAƒhƒŒƒX
index_togroup=ƒOƒ‹[ƒv
index_tosubnet=ƒTƒuƒlƒbƒg
index_toshared=ƒlƒbƒgƒ[ƒN
index_ndisplay=ƒlƒbƒgƒ[ƒN‚ÆƒTƒuƒlƒbƒg‚ðŽŸ‚Ì€–Ú•Ê‚É•\Ž¦:
index_norder0=Š„‚è“–‚Ä
index_norder1=ƒtƒ@ƒCƒ‹\‘¢
index_norder2=ƒzƒXƒg–¼/IP ƒAƒhƒŒƒX

butt_save=•Û‘¶
butt_eco=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚Ì•ÒW
butt_vco=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚Ì•\Ž¦
butt_del=íœ
butt_create=ì¬

esub_crheader=ƒTƒuƒlƒbƒg‚Ìì¬
esub_edheader=ƒTƒuƒlƒbƒg‚Ì•ÒW
esub_tabhdr=ƒTƒuƒlƒbƒg‚ÌÚ×
esub_naddr=ƒlƒbƒgƒ[ƒN ƒAƒhƒŒƒX
esub_nmask=ƒlƒbƒgƒ}ƒXƒN
esub_arange=ƒAƒhƒŒƒX‚Ì”ÍˆÍ
esub_dbooptpq=“®“I BOOTP ‚Å‚·‚©H
esub_shnet=‹¤—Lƒlƒbƒgƒ[ƒN
esub_hosts=‚±‚ÌƒTƒuƒlƒbƒg‚É’¼‘®‚·‚éƒzƒXƒg
esub_groups=‚±‚ÌƒTƒuƒlƒbƒg‚É’¼‘®‚·‚éƒOƒ‹[ƒv
esub_pools=ƒTƒuƒlƒbƒg‚ÌƒAƒhƒŒƒX ƒv[ƒ‹
esub_pool=ƒv[ƒ‹ $1
esub_poolnone=’è‹`‚³‚ê‚½ƒAƒhƒŒƒX ƒv[ƒ‹‚Í‚ ‚è‚Ü‚¹‚ñ
esub_pooladd=ƒAƒhƒŒƒX ƒv[ƒ‹‚Ì’Ç‰Á
esub_none=‚È‚µ
esub_return=ƒTƒuƒlƒbƒg ƒŠƒXƒg
esub_retshar=‹¤—Lƒlƒbƒgƒ[ƒN

esh_crheader=‹¤—Lƒlƒbƒgƒ[ƒN‚Ìì¬
esh_eheader=‹¤—Lƒlƒbƒgƒ[ƒN‚Ì•ÒW
esh_tabhdr=‹¤—Lƒlƒbƒgƒ[ƒN‚ÌÚ×
esh_netname=ƒlƒbƒgƒ[ƒN–¼
esh_hosts=‚±‚Ì‹¤—Lƒlƒbƒgƒ[ƒN‚É’¼‘®‚·‚éƒzƒXƒg
esh_groups=‚±‚Ì‹¤—Lƒlƒbƒgƒ[ƒN‚É’¼‘®‚·‚éƒOƒ‹[ƒv
esh_subn=‚±‚Ì‹¤—Lƒlƒbƒgƒ[ƒN‚ÌƒTƒuƒlƒbƒg
esh_return=ƒTƒuƒlƒbƒg ƒŠƒXƒg

ehost_crheader=ƒzƒXƒg‚Ìì¬
ehost_eheader=ƒzƒXƒg‚Ì•ÒW
ehost_tabhdr=ƒzƒXƒg‚ÌÚ×
ehost_hname=ƒzƒXƒg–¼
ehost_nojavascr=‚²Žg—p‚Ìƒuƒ‰ƒEƒU‚ª javascript ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚ÆŽv‚í‚ê‚Ü‚·B‰º‚ÌƒŠƒXƒg‚©‚ç³‚µ‚¢ˆÊ’u‚ð‘I‘ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
ehost_assign=ƒzƒXƒg‚ÌŠ„‚è“–‚Äæ
ehost_toplevel=ƒgƒbƒvƒŒƒxƒ‹
ehost_inshared=‹¤—Lƒlƒbƒgƒ[ƒN
ehost_insubnet=ƒTƒuƒlƒbƒg
ehost_ingroup=ƒOƒ‹[ƒv
ehost_hwaddr=ƒn[ƒhƒEƒFƒA ƒAƒhƒŒƒX
ehost_fixedip=ŒÅ’è‚Ì IP ƒAƒhƒŒƒX
ehost_subnet=ƒTƒuƒlƒbƒg $1/$2 “à
ehost_shared=‹¤—Lƒlƒbƒgƒ[ƒN $1 “à
ehost_in=ŽŸ‚Ì’†
ehost_return=ƒzƒXƒg ƒŠƒXƒg
ehost_retgroup=ƒOƒ‹[ƒv
ehost_retsubn=ƒTƒuƒlƒbƒg
ehost_retshar=‹¤—Lƒlƒbƒgƒ[ƒN

egroup_crheader=ƒzƒXƒg ƒOƒ‹[ƒv‚Ìì¬
egroup_eheader=ƒzƒXƒg ƒOƒ‹[ƒv‚Ì•ÒW
egroup_tblhdr=ƒzƒXƒg ƒOƒ‹[ƒv‚ÌÚ×
egroup_assign=ƒzƒXƒg ƒOƒ‹[ƒv‚ÌŠ„‚è“–‚Äæ
egroup_hosts=‚±‚ÌƒOƒ‹[ƒv“à
egroup_nchoice=ƒNƒ‰ƒCƒAƒ“ƒg ƒzƒXƒg–¼‚Æ‚µ‚Ä–¼‘O‚ðŽg—p‚µ‚Ü‚·‚©H
egroup_return=ƒzƒXƒg ƒŠƒXƒg
egroup_retsubn=ƒTƒuƒlƒbƒg
egroup_retshar=‹¤—Lƒlƒbƒgƒ[ƒN

default=ƒfƒtƒHƒ‹ƒg
secs=•b
none=‚È‚µ

listl_header=DHCP ƒŠ[ƒX
listl_lfnotexist=DHCPd ƒŠ[ƒX ƒtƒ@ƒCƒ‹<tt>$1</tt> ‚ª‚ ‚è‚Ü‚¹‚ñB
listl_lfnotcont=DHCPd ƒŠ[ƒX ƒtƒ@ƒCƒ‹<tt>$1</tt> ‚Í $2 ƒŠ[ƒX‚ðŠÜ‚ñ‚Å‚¢‚Ü‚¹‚ñB
listl_active=ƒAƒNƒeƒBƒu
listl_ipaddr=IP ƒAƒhƒŒƒX
listl_ether=ƒC[ƒTƒlƒbƒg
listl_host=ƒzƒXƒg–¼
listl_start=‹N“®ŽžŠÔ
listl_end=I—¹“úŽž
listl_return=ƒlƒbƒgƒ[ƒN‚ÆƒzƒXƒg‚ÌƒŠƒXƒg
listl_all=ƒAƒNƒeƒBƒu‚¨‚æ‚ÑŠúŒÀØ‚ê‚ÌƒŠ[ƒX‚ð‚·‚×‚Ä•\Ž¦
listl_delete=íœ‚·‚é‚É‚Íã‚ÌƒŠƒXƒg‚ÅƒŠ[ƒX‚Ì IP ƒAƒhƒŒƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B

restart_errmsg1=dhcpd ‚ðÄ‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
restart_errmsg2=ˆ—‚ÉM†‚ð‘—‚ê‚Ü‚¹‚ñ‚Å‚µ‚½
start_failstart=dhcpd ‚ð‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

sgroup_faildel=ƒOƒ‹[ƒv‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sgroup_failsave=ƒOƒ‹[ƒv‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sgroup_invassign=ƒOƒ‹[ƒv‚ª•s³‚ÈƒZƒNƒVƒ‡ƒ“‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚¢‚Ü‚·
sgroup_echanged=Ý’èƒtƒ@ƒCƒ‹‚Ì“à—e‚ª•ÏX‚³‚ê‚Ä‚¢‚Ü‚·BÄŽŽs‚µ‚Ä‚­‚¾‚³‚¢B

shost_faildel=ƒzƒXƒg‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
shost_failsave=ƒzƒXƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
shost_invalidhn=‚Í–³Œø‚ÈƒzƒXƒg–¼‚Å‚·
shost_invalidhwa='$1' ‚Í–³Œø‚È $2 ƒAƒhƒŒƒX‚Å‚·
shost_invalidaddr='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚Í IP ƒAƒhƒŒƒX‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·
shost_invassign=ƒzƒXƒg‚ª•s³‚ÈƒZƒNƒVƒ‡ƒ“‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚¢‚Ü‚·

sopt_failsave=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sopt_invalidip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
sopt_invalidint=‚Í®”‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
sopt_invalidipp=‚Í—LŒø‚È IP ƒAƒhƒŒƒX‚Ì‘g‚Ý‡‚í‚¹ (‚½‚Æ‚¦‚Î 1.2.3.4,5.6.7.8) ‚Å‚Í‚ ‚è‚Ü‚¹‚ñ

sshared_faildel=‹¤—Lƒlƒbƒgƒ[ƒN‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sshared_failsave=‹¤—Lƒlƒbƒgƒ[ƒN‚Ì•Û‘¶‚ÉŽ¸”s‚µ‚Ü‚µ‚½
sshared_invalidsname=‹¤—Lƒlƒbƒgƒ[ƒN–¼‚ª‚È‚¢‚©–³Œø‚Å‚·B
sshared_nosubnet=‹¤—Lƒlƒbƒgƒ[ƒN '$1' ‚ÍƒTƒuƒlƒbƒg‚ðŠÜ‚ñ‚Å‚¢‚Ü‚¹‚ñB

ssub_faildel=ƒTƒuƒlƒbƒg‚ðíœ‚Å‚«‚Ü‚¹‚ñ
ssub_failsave=ƒTƒuƒlƒbƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
ssub_invalidsubaddr=‚Í–³Œø‚ÈƒTƒuƒlƒbƒg ƒAƒhƒŒƒX‚Å‚·
ssub_invalidnmask=‚Í–³Œø‚Èƒlƒbƒgƒ}ƒXƒN‚Å‚·
ssub_invalidipr=‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
ssub_nosubnet=‹¤—Lƒlƒbƒgƒ[ƒN  '$1' ‚ÍƒTƒuƒlƒbƒg‚ðŠÜ‚ñ‚Å‚¢‚Ü‚¹‚ñB

plib_deflt=ƒfƒtƒHƒ‹ƒg ƒŠ[ƒXŽžŠÔ
plib_bfname=ƒu[ƒg ƒtƒ@ƒCƒ‹–¼
plib_maxlt=Å‘åƒŠ[ƒXŽžŠÔ
plib_bfserv=Boot ƒtƒ@ƒCƒ‹ ƒT[ƒo
plib_thisserv=‚±‚ÌƒT[ƒo
plib_servname=ƒT[ƒo–¼
plib_llbc=BOOTP ƒNƒ‰ƒCƒAƒ“ƒg‚ÌƒŠ[ƒX’·
plib_forever=‰i‹v
plib_lebc=BOOTP ƒNƒ‰ƒCƒAƒ“ƒg‚ÌƒŠ[ƒX‚ÌI—¹
plib_never=‚È‚µ
plib_invalidlt=‚Í–³Œø‚ÈƒŠ[ƒXŽžŠÔ‚Å‚·
plib_invalidsn=‚Í–³Œø‚ÈƒT[ƒo–¼‚Å‚·
plib_invaliddom='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“–¼‚Å‚·
plib_leformat=ƒŠ[ƒX‚ÌI—¹ŽžŠÔ‚Í W YYYY/MM/DD HH:MM:SS ‚ÌŒ`Ž®‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·
plib_copt=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“
plib_chname=ƒNƒ‰ƒCƒAƒ“ƒg ƒzƒXƒg–¼
plib_defrouters=ƒfƒtƒHƒ‹ƒg ƒ‹[ƒ^
plib_snmask=ƒTƒuƒlƒbƒg ƒ}ƒXƒN
plib_babbr=ƒuƒ[ƒhƒLƒƒƒXƒg ƒAƒhƒŒƒX
plib_domname=ƒhƒƒCƒ“–¼
plib_dnsserv=DNS ƒT[ƒo
plib_timeserv=Time ƒT[ƒo
plib_logserv=ƒƒO ƒT[ƒo
plib_swapserv=Swap ƒT[ƒo
plib_rdpath=root ƒfƒBƒXƒN ƒpƒX
plib_nisdom=NIS ƒhƒƒCƒ“
plib_nisserv=NIS ƒT[ƒo
plib_fontserv=ƒtƒHƒ“ƒgƒT[ƒo
plib_xdmserv=XDM ƒT[ƒo
plib_statrouters=Ã“Iƒ‹[ƒg
plib_ntpserv=NTP ƒT[ƒo
plib_nbns=NetBIOS ƒl[ƒ€ ƒT[ƒo
plib_nbscope=NetBIOS ƒXƒR[ƒv
plib_nbntype=NetBIOS ƒm[ƒh ƒ^ƒCƒv
plib_ddnsdom=“®“I DNS ƒhƒƒCƒ“–¼
plib_ddnsrevdom=“®“I DNS ‹tˆø‚«ƒhƒƒCƒ“
plib_ddnsup=“®“IDNS ‚ð—LŒø‚É‚µ‚Ü‚·‚©H
plib_ddnshost=“®“I DNS ƒzƒXƒg–¼
plib_ddnshost_def=ƒNƒ‰ƒCƒAƒ“ƒg–¼

eopt_header=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“
eopt_subtitle=ƒTƒuƒlƒbƒg $1 —p
eopt_returnsub=ƒTƒuƒlƒbƒg
eopt_returnshsub=‹¤—Lƒlƒbƒgƒ[ƒN
eopt_snettitle=‹¤—Lƒlƒbƒgƒ[ƒN $1 —p
eopt_hosttitle=ƒzƒXƒg $1 —p
eopt_returnhost=ƒzƒXƒg
eopt_returngroup=ƒzƒXƒg ƒOƒ‹[ƒv
eopt_grouptitle=$1 ƒƒ“ƒo[ ƒOƒ‹[ƒv—p
eopt_alltitle=‚·‚×‚Ä‚Ìƒlƒbƒgƒ[ƒNAƒzƒXƒg‚¨‚æ‚ÑƒOƒ‹[ƒv—p
eopt_returnindex=ƒlƒbƒgƒ[ƒN‚ÆƒzƒXƒg‚ÌƒŠƒXƒg
eopt_tabhdr=ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“
eopt_chost=ƒNƒ‰ƒCƒAƒ“ƒg ƒzƒXƒg–¼
eopt_defrouters=ƒfƒtƒHƒ‹ƒg ƒ‹[ƒ^
eopt_smask=ƒTƒuƒlƒbƒg ƒ}ƒXƒN
eopt_baddr=ƒuƒ[ƒhƒLƒƒƒXƒg ƒAƒhƒŒƒX
eopt_domname=ƒhƒƒCƒ“–¼
eopt_dnsserv=DNS ƒT[ƒo
eopt_timeserv=Time ƒT[ƒo
eopt_logserv=ƒƒO ƒT[ƒo
eopt_swapserv=Swap ƒT[ƒo
eopt_rdpath=root ƒfƒBƒXƒN ƒpƒX
eopt_nisdom=NIS ƒhƒƒCƒ“
eopt_nisserv=NIS ƒT[ƒo
eopt_fontserv=ƒtƒHƒ“ƒgƒT[ƒo
eopt_xdmserv=XDM ƒT[ƒo
eopt_statrouters=Ã“Iƒ‹[ƒg
eopt_ntpserv=NTP ƒT[ƒo
eopt_nbns=NetBIOS ƒl[ƒ€ ƒT[ƒo
eopt_nbs=NetBIOS ƒXƒR[ƒv
eopt_nbntype=NetBIOS ƒm[ƒh ƒ^ƒCƒv
eopt_custom=ƒJƒXƒ^ƒ€ ƒIƒvƒVƒ‡ƒ“
eopt_cnum=”
eopt_cval=’l

log_apply=•ÏX‚ð“K—p‚µ‚Ü‚µ‚½
log_start=DHCP ƒT[ƒo‚Ì‹N“®
log_create_subnet=ƒTƒuƒlƒbƒg $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_delete_subnet=ƒTƒuƒlƒbƒg $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_modify_subnet=ƒTƒuƒlƒbƒg $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_options_subnet=ƒTƒuƒlƒbƒg $1 ‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_create_shared=‹¤—Lƒlƒbƒgƒ[ƒN $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_delete_shared=‹¤—Lƒlƒbƒgƒ[ƒN $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_modify_shared=‹¤—Lƒlƒbƒgƒ[ƒN $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_options_shared=‹¤—Lƒlƒbƒgƒ[ƒN $1 ‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_create_host=ƒzƒXƒg $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_delete_host=ƒzƒXƒg $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_modify_host=ƒzƒXƒg $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_options_host=ƒzƒXƒg $1 ‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_create_group=$1 ƒzƒXƒg‚ÌƒOƒ‹[ƒv‚ðì¬‚µ‚Ü‚µ‚½
log_delete_group=$1 ƒzƒXƒg‚ÌƒOƒ‹[ƒv‚ðíœ‚µ‚Ü‚µ‚½
log_modify_group=$1 ƒzƒXƒg‚ÌƒOƒ‹[ƒv‚ð•ÏX‚µ‚Ü‚µ‚½
log_options_group=$1 ƒzƒXƒg‚ÌƒOƒ‹[ƒv‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_delete_lease=$1 ‚ÌƒŠ[ƒX‚ðíœ‚µ‚Ü‚µ‚½

pool_edit=ƒAƒhƒŒƒX ƒv[ƒ‹‚Ì•ÒW
pool_create=ƒAƒhƒŒƒX ƒv[ƒ‹‚ðì¬‚µ‚Ü‚µ‚½
pool_header=ƒAƒhƒŒƒX ƒv[ƒ‹ ƒIƒvƒVƒ‡ƒ“
pool_allow=‹–‰Â‚·‚éƒNƒ‰ƒCƒAƒ“ƒg
pool_deny=‹‘”Û‚·‚éƒNƒ‰ƒCƒAƒ“ƒg
pool_return=ƒTƒuƒlƒbƒg

cdel_header=Œx
cdel_shared1=‹¤—Lƒlƒbƒgƒ[ƒN
cdel_shared2=‹¤—Lƒlƒbƒgƒ[ƒN
cdel_subnet1=ƒTƒuƒlƒbƒg
cdel_subnet2=ƒTƒuƒlƒbƒg
cdel_subnet=ƒTƒuƒlƒbƒg
cdel_subnets=ƒTƒuƒlƒbƒg
cdel_group1=ƒOƒ‹[ƒv
cdel_group2=ƒOƒ‹[ƒv
cdel_group=ƒOƒ‹[ƒv
cdel_groups=ƒOƒ‹[ƒv
cdel_host=ƒzƒXƒg
cdel_hosts=ƒzƒXƒg
cdel_txt=$1 '$2' ‚ðíœ‚·‚é‚Æ‚»‚ê‚ç‚Ì“à—e‚àíœ‚³‚ê‚Ü‚·:
cdel_confirm=‚±‚Ì $1 ‚ðíœ‚µ‚Ä‚à‚æ‚ë‚µ‚¢‚Å‚·‚©H
cdel_eunknown=•s–¾‚ÌƒGƒ‰[
cdel_return=ƒzƒXƒg‚Æƒlƒbƒgƒ[ƒN‚ÌƒŠƒXƒg

eacl_aviol=ƒAƒNƒZƒX§Œäˆá”½
eacl_np=ŽŸ‚Ì‘€ì‚ð‚·‚éŒ ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñ:
eacl_pdh=ƒzƒXƒg‚ðíœ
eacl_pih=V‹K‚ÌƒzƒXƒg‚ð’Ç‰Á
eacl_puh=ƒzƒXƒg‚ð•ÒW
eacl_psh=ƒzƒXƒg‚ð‘I‘ð
eacl_pdg=ƒOƒ‹[ƒv‚ðíœ
eacl_pig=V‹K‚ÌƒOƒ‹[ƒv‚ð’Ç‰Á
eacl_pug=ƒOƒ‹[ƒv‚ð•ÒW
eacl_psg=ƒOƒ‹[ƒv‚ð‘I‘ð
eacl_pds=ƒTƒuƒlƒbƒg‚ðíœ
eacl_pis=V‹K‚ÌƒTƒuƒlƒbƒg‚ð’Ç‰Á
eacl_pus=ƒTƒuƒlƒbƒg‚ð•ÒW
eacl_pss=ƒTƒuƒlƒbƒg‚ð‘I‘ð
eacl_pdn=‹¤—Lƒlƒbƒgƒ[ƒN‚ðíœ
eacl_pin=V‹K‚Ì‹¤—Lƒlƒbƒgƒ[ƒN‚ð’Ç‰Á
eacl_pun=‹¤—Lƒlƒbƒgƒ[ƒN‚ð•ÒW
eacl_psn=‹¤—Lƒlƒbƒgƒ[ƒN‚ð‘I‘ð
eacl_uniq=•¡»‚ðì¬
eacl_pdl=ƒŠ[ƒX‚ðíœ
eacl_psl=ƒŠ[ƒX‚Ì•\Ž¦
eacl_pglob=ƒOƒ[ƒoƒ‹ ƒIƒvƒVƒ‡ƒ“‚ð•ÒW
eacl_papply=‚±‚ÌƒT[ƒrƒX‚ðÄ“xŠJŽn

acl_apply=•ÏX‚ð“K—p‚µ‚Ä‚à‚æ‚ë‚µ‚¢‚Å‚·‚©H
acl_r_leases=ƒŠ[ƒX‚ð•\Ž¦‰Â”\‚É‚µ‚Ü‚·‚©H
acl_w_leases=ƒŠ[ƒX‚ðíœ‰Â”\‚É‚µ‚Ü‚·‚©H
acl_global=ƒOƒ[ƒoƒ‹ ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_uniq_hst=ŒÅ—L‚ÌƒzƒXƒg–¼‚Å‚·‚©H
acl_uniq_sub=ŒÅ—L‚ÌƒTƒuƒlƒbƒg IP ƒAƒhƒŒƒX‚Å‚·‚©H
acl_uniq_sha=ŒÅ—L‚Ì‹¤—Lƒlƒbƒgƒ[ƒN–¼‚Å‚·‚©H
acl_seclevel=Žg—p‚·‚éƒZƒLƒ…ƒŠƒeƒB ƒŒƒxƒ‹:
acl_hide=ƒAƒNƒZƒX•s‰Â‚ÌƒIƒuƒWƒFƒNƒg‚ð”ñ•\Ž¦‚É‚µ‚Ü‚·‚©H
acl_ahst=ƒAƒNƒZƒX ƒzƒXƒg:
acl_agrp=ƒAƒNƒZƒX ƒOƒ‹[ƒv:
acl_asub=ƒAƒNƒZƒX ƒTƒuƒlƒbƒg:
acl_asha=ƒAƒNƒZƒX‹¤—Lƒlƒbƒgƒ[ƒN:
acl_per_hst_acls=ƒzƒXƒg‚²‚Æ‚ÉƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ð—LŒø‚É‚µ‚Ü‚·‚©H
acl_per_sub_acls=ƒTƒuƒlƒbƒg‚²‚Æ‚ÉƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ð—LŒø‚É‚µ‚Ü‚·‚©H
acl_per_obj_acls=ƒIƒuƒWƒFƒNƒg‚²‚Æ‚ÌƒAƒNƒZƒX§ŒäƒŠƒXƒg...
acl_na=‹–‰Â‚È‚µ
acl_r1=“ÇŽæ‚èê—p
acl_rw=“ÇŽæ‚è/‘ž‚Ý
acl_c=ì¬
acl_r=“ÇŽæ‚è
acl_w=‘ž‚Ý
acl_err=ƒAƒNƒZƒX§ŒäƒŠƒXƒg‚Ì•Û‘¶ƒGƒ‰[
acl_ernow=ƒOƒ[ƒoƒ‹ ƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ÅƒIƒuƒWƒFƒNƒg‚ÌŽí—Þ‚Ì‘ž‚Ý‚ð‰Â”\‚É‚·‚é‚É‚ÍA‚»‚ÌƒIƒuƒWƒFƒNƒg‚ÌŽí—Þ‚Ì“ÇŽæ‚èƒAƒNƒZƒX‚à‰Â”\‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
acl_normal=•W€
acl_paranoic=”ñ•W€
   070701000286b4000081a40000000000000002000000013d1fe2d700002733000000200000000000000000000000000000001b00000003reloc/dhcpd/lang/ko_KR.euc    index_title=DHCP ¼­¹ö
index_dhcpdnotfound=½Ã½ºÅÛ¿¡ DHCP ¼­¹ö <i>$1</i>ÀÌ(°¡) ¾ø½À´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href="$2">DHCP ¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_return=ÀÎµ¦½º
index_dhcpdver=DHCP ¼­¹ö <i>$1</i>ÀÇ ¹öÀüÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù. Webmin¿¡¼­´Â ISC DHCPD ¹öÀü 2¸¸ Áö¿øÇÕ´Ï´Ù.
index_subtitle=¼­ºê³Ý ¹× °øÀ¯ ³×Æ®¿öÅ©
index_nosubdef=Á¤ÀÇµÈ ¼­ºê³Ý ¹× °øÀ¯ ³×Æ®¿öÅ©°¡ ¾ø½À´Ï´Ù.
index_addsub=»õ ¼­ºê³Ý Ãß°¡
index_addnet=»õ °øÀ¯ ³×Æ®¿öÅ© Ãß°¡
index_nomemb=±¸¼º¿ø ¾øÀ½
index_1memb=±¸¼º¿ø 1¸í
index_234memb=±¸¼º¿ø $1¸í
index_memb=±¸¼º¿ø $1¸í
index_hst=È£½ºÆ® ¹× È£½ºÆ® ±×·ì
index_nohst=Á¤ÀÇµÈ È£½ºÆ®³ª ±×·ìÀÌ ¾ø½À´Ï´Ù.
index_hostgroup=È£½ºÆ®/±×·ì
index_parent=»óÀ§
index_hardware=ÇÏµå¿þ¾î ÁÖ¼Ò
index_group=±×·ì:
index_nameip=È£½ºÆ® ÀÌ¸§ ¶Ç´Â IP
index_net=³×Æ®¿öÅ©
index_netmask=³Ý¸¶½ºÅ©
index_addhst=»õ È£½ºÆ® Ãß°¡
index_addhstg=»õ È£½ºÆ® ±×·ì Ãß°¡
index_buttego=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç ÆíÁý
index_ego=¸ðµç ¼­ºê³Ý, °øÀ¯ ³×Æ®¿öÅ©, È£½ºÆ® ¹× ±×·ì¿¡ Àû¿ëµÇ´Â DHCP Å¬¶óÀÌ¾ðÆ® ¿É¼Ç ÆíÁý
index_buttlal=È°¼º ÀÓ´ë ³ª¿­
index_lal=ÀÌ DHCP ¼­¹ö¿¡¼­ ÇöÀç µ¿Àû ÇÒ´ç IP ÁÖ¼Ò¿ëÀ¸·Î ¹ßÇàÇÏ´Â ÀÓ´ë ³ª¿­
index_buttapply=º¯°æ ³»¿ë Àû¿ë
index_apply=ÀÌ ¹öÆ°À» ´©¸£¸é ½ÇÇà ÁßÀÎ DHCP ¼­¹ö°¡ Á¤ÁöµÇ¾ú´Ù°¡ ´Ù½Ã ½ÃÀÛµÇ¸é¼­ ÇöÀç ±¸¼ºÀÌ Àû¿ëµË´Ï´Ù.
index_buttstart=¼­¹ö ½ÃÀÛ
index_start=ÇöÀç ±¸¼ºÀ¸·Î ½Ã½ºÅÛÀÇ DHCP ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
index_hdisplay=È£½ºÆ® ¹× ±×·ì Ç¥½Ã ±âÁØ:
index_horder0=ÇÒ´ç
index_horder1=ÆÄÀÏ ±¸Á¶
index_horder2=ÀÌ¸§
index_horder3=ÇÏµå¿þ¾î ÁÖ¼Ò
index_horder4=IP ÁÖ¼Ò
index_togroup=±×·ì
index_tosubnet=¼­ºê³Ý
index_toshared=³×Æ®¿öÅ©
index_ndisplay=³Ý ¹× ¼­ºê³Ý Ç¥½Ã ±âÁØ:
index_norder0=ÇÒ´ç
index_norder1=ÆÄÀÏ ±¸Á¶
index_norder2=ÀÌ¸§/IP ÁÖ¼Ò

butt_save=ÀúÀå
butt_eco=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç ÆíÁý
butt_vco=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç º¸±â
butt_del=»èÁ¦
butt_create=ÀÛ¼º

esub_crheader=¼­ºê³Ý ÀÛ¼º
esub_edheader=¼­ºê³Ý ÆíÁý
esub_tabhdr=¼­ºê³Ý ¼¼ºÎ Á¤º¸
esub_naddr=³×Æ®¿öÅ© ÁÖ¼Ò
esub_nmask=³Ý¸¶½ºÅ©
esub_arange=ÁÖ¼Ò ¹üÀ§
esub_dbooptpq=µ¿Àû BOOTPÀÔ´Ï±î?
esub_shnet=°øÀ¯ ³×Æ®¿öÅ©
esub_hosts=ÇöÀç ¼­ºê³ÝÀÇ È£½ºÆ®
esub_groups=ÇöÀç ¼­ºê³ÝÀÇ ±×·ì
esub_pools=¼­ºê³ÝÀÇ ÁÖ¼Ò ´ÜÁö
esub_pool=ÁÖ¼Ò ´ÜÁö $1
esub_poolnone=Á¤ÀÇµÈ ÁÖ¼Ò ´ÜÁö°¡ ¾ø½À´Ï´Ù
esub_pooladd=ÁÖ¼Ò ´ÜÁö Ãß°¡
esub_none=¾øÀ½
esub_return=¼­ºê³Ý ¸ñ·Ï
esub_retshar=°øÀ¯ ³×Æ®¿öÅ©

esh_crheader=°øÀ¯ ³×Æ®¿öÅ© ÀÛ¼º
esh_eheader=°øÀ¯ ³×Æ®¿öÅ© ÆíÁý
esh_tabhdr=°øÀ¯ ³×Æ®¿öÅ© ¼¼ºÎ Á¤º¸
esh_netname=³×Æ®¿öÅ© ÀÌ¸§
esh_hosts=ÇöÀç °øÀ¯ ³×Æ®¿öÅ©ÀÇ È£½ºÆ®
esh_groups=ÇöÀç °øÀ¯ ³×Æ®¿öÅ©ÀÇ ±×·ì
esh_subn=°øÀ¯ ³×Æ®¿öÅ©ÀÇ ¼­ºê³Ý
esh_return=¼­ºê³Ý ¸ñ·Ï

ehost_crheader=È£½ºÆ® ÀÛ¼º
ehost_eheader=È£½ºÆ® ÆíÁý
ehost_tabhdr=È£½ºÆ® ¼¼ºÎ Á¤º¸
ehost_hname=È£½ºÆ® ÀÌ¸§
ehost_nojavascr=Çö ºê¶ó¿ìÀú´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ Áö¿øÇÏÁö ¾Ê´Âµí ÇÕ´Ï´Ù.¾Æ·¡ ¸ñ·Ï¿¡¼­ ÀûÀýÇÑ À§Ä¡¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.
ehost_assign=È£½ºÆ® ÇÒ´ç ´ë»ó
ehost_toplevel=ÃÖ»óÀ§
ehost_inshared=°øÀ¯ ³×Æ®¿öÅ©
ehost_insubnet=¼­ºê³Ý
ehost_ingroup=±×·ì
ehost_hwaddr=ÇÏµå¿þ¾î ÁÖ¼Ò
ehost_fixedip=°íÁ¤ IP ÁÖ¼Ò
ehost_subnet=¼­ºê³Ý $1/$2
ehost_shared=°øÀ¯ ³×Æ®¿öÅ© $1
ehost_in=À§Ä¡
ehost_return=È£½ºÆ® ¸ñ·Ï
ehost_retgroup=±×·ì
ehost_retsubn=¼­ºê³Ý
ehost_retshar=°øÀ¯ ³×Æ®¿öÅ©

egroup_crheader=È£½ºÆ® ±×·ì ÀÛ¼º
egroup_eheader=È£½ºÆ® ±×·ì ÆíÁý
egroup_tblhdr=±×·ì ¼¼ºÎ Á¤º¸
egroup_assign=±×·ì ÇÒ´ç ´ë»ó
egroup_hosts=ÀÌ ±×·ì¿¡ ÀÖ´Â È£½ºÆ®
egroup_nchoice=Å¬¶óÀÌ¾ðÆ® È£½ºÆ® ÀÌ¸§À¸·Î »ç¿ëÇÕ´Ï±î?
egroup_return=È£½ºÆ® ¸ñ·Ï
egroup_retsubn=¼­ºê³Ý
egroup_retshar=°øÀ¯ ³×Æ®¿öÅ©

default=±âº»°ª
secs=ÃÊ
none=¾øÀ½

listl_header=DHCP ÀÓ´ë
listl_lfnotexist=DHCPd ÀÓ´ë ÆÄÀÏ <tt>$1</tt>ÀÌ(°¡) ¾ø½À´Ï´Ù.
listl_lfnotcont=DHCPd ÀÓ´ë ÆÄÀÏ <tt>$1</tt>¿¡ $2 ÀÓ´ë°¡ ¾ø½À´Ï´Ù.
listl_active=È°¼º
listl_ipaddr=IP ÁÖ¼Ò
listl_ether=ÀÌ´õ³Ý
listl_host=È£½ºÆ® ÀÌ¸§
listl_start=½ÃÀÛ ³¯Â¥
listl_end=³¡ ³¯Â¥
listl_return=³×Æ®¿öÅ© ¹× È£½ºÆ® ¸ñ·Ï
listl_all=¸¸·á ±â°£ÀÌ ³²¾Ò°Å³ª ³¡³­ ÀÓ´ë ³ª¿­
listl_delete=À§ ¸ñ·Ï¿¡¼­ ÀÓ´ë IP ÁÖ¼Ò¸¦ ´©¸£¸é ÇØ´ç ÀÓ´ë IP ÁÖ¼Ò°¡ »èÁ¦µË´Ï´Ù.

restart_errmsg1=dhcpd¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
restart_errmsg2=½ÅÈ£¸¦ º¸³»Áö ¸øÇß½À´Ï´Ù
start_failstart=dhcpd¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù

sgroup_faildel=±×·ìÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
sgroup_failsave=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sgroup_invassign=±×·ìÀÌ Àß¸øµÈ ¼½¼Ç¿¡ ÇÒ´çµÇ¾ú½À´Ï´Ù
sgroup_echanged=±¸¼º ÆÄÀÏ ³»¿ëÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ´Ù½Ã ½ÃµµÇÏ½Ê½Ã¿À.

shost_faildel=È£½ºÆ®¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
shost_failsave=È£½ºÆ®¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
shost_invalidhn=Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
shost_invalidhwa='$1'Àº(´Â) À¯È¿ÇÑ $2 ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
shost_invalidaddr='$1'¿¡ Àß¸øµÈ È£½ºÆ® ÀÌ¸§ÀÌ³ª IP ÁÖ¼Ò°¡ ÀÖ½À´Ï´Ù
shost_invassign=È£½ºÆ®°¡ Àß¸øµÈ ¼½¼Ç¿¡ ÇÒ´çµÇ¾ú½À´Ï´Ù

sopt_failsave=Å¬¶óÀÌ¾ðÆ® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sopt_invalidip=Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
sopt_invalidint=Àº(´Â) Á¤¼ö°¡ ¾Æ´Õ´Ï´Ù
sopt_invalidipp=Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò ½Ö(¿¹: 1.2.3.4, 5.6.7.8)ÀÌ ¾Æ´Õ´Ï´Ù

sshared_faildel=°øÀ¯ ³×Æ®¿öÅ©¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
sshared_failsave=°øÀ¯ ³×Æ®¿öÅ©¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sshared_invalidsname=¾ø°Å³ª Àß¸øµÈ °øÀ¯ ³×Æ®¿öÅ© ÀÌ¸§ÀÔ´Ï´Ù.
sshared_nosubnet=°øÀ¯ ³×Æ®¿öÅ© '$1'¿¡ ¼­ºê³ÝÀÌ Æ÷ÇÔµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

ssub_faildel=¼­ºê³ÝÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
ssub_failsave=¼­ºê³ÝÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ssub_invalidsubaddr=Àº(´Â) À¯È¿ÇÑ ¼­ºê³Ý ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
ssub_invalidnmask=Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
ssub_invalidipr=Àº(´Â) À¯È¿ÇÑ ¹üÀ§ÀÇ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
ssub_nosubnet=°øÀ¯ ³×Æ®¿öÅ© '$1'¿¡ ¼­ºê³ÝÀÌ Æ÷ÇÔµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

plib_deflt=±âº» ÀÓ´ë ½Ã°£
plib_bfname=ºÎÆ® ÆÄÀÏ ÀÌ¸§
plib_maxlt=ÃÖ´ë ÀÓ´ë ½Ã°£
plib_bfserv=ºÎÆ® ÆÄÀÏ ¼­¹ö
plib_thisserv=ÇöÀç ¼­¹ö
plib_servname=¼­¹ö ÀÌ¸§
plib_llbc=BOOTP Å¬¶óÀÌ¾ðÆ®ÀÇ ÀÓ´ë ±â°£
plib_forever=°è¼Ó
plib_lebc=BOOTP Å¬¶óÀÌ¾ðÆ®ÀÇ ÀÓ´ë Á¾·á
plib_never=¾ÈÇÔ
plib_invalidlt=Àº(´Â) À¯È¿ÇÑ ÀÓ´ë ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
plib_invalidsn=Àº(´Â) À¯È¿ÇÑ ¼­¹ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
plib_invaliddom='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
plib_leformat=ÀÓ´ë Á¾·á ³¯Â¥ÀÇ Çü½ÄÀº W YYYY/MM/DD HH:MM:SS¿©¾ß ÇÕ´Ï´Ù
plib_copt=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç
plib_chname=Å¬¶óÀÌ¾ðÆ® È£½ºÆ® ÀÌ¸§
plib_defrouters=±âº» ¶ó¿ìÅÍ
plib_snmask=¼­ºê³Ý ¸¶½ºÅ©
plib_babbr=ºê·ÎµåÄ³½ºÆ® ÁÖ¼Ò
plib_domname=µµ¸ÞÀÎ ÀÌ¸§
plib_dnsserv=DNS ¼­¹ö
plib_timeserv=½Ã°£ ¼­¹ö
plib_logserv=·Î±× ¼­¹ö
plib_swapserv=½º¿Ò ¼­¹ö
plib_rdpath=·çÆ® µð½ºÅ© °æ·Î
plib_nisdom=NIS µµ¸ÞÀÎ
plib_nisserv=NIS ¼­¹ö
plib_fontserv=±Û²Ã ¼­¹ö
plib_xdmserv=XDM ¼­¹ö
plib_statrouters=Á¤Àû °æ·Î
plib_ntpserv=NTP ¼­¹ö
plib_nbns=NetBIOS ÀÌ¸§ ¼­¹ö
plib_nbscope=NetBIOS ¹üÀ§
plib_nbntype=NetBIOS ³ëµå À¯Çü
plib_ddnsdom=µ¿Àû DNS µµ¸ÞÀÎ ÀÌ¸§
plib_ddnsrevdom=µ¿Àû DNS ¿ª µµ¸ÞÀÎ
plib_ddnsup=µ¿Àû DNS ±â´ÉÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï±î?
plib_ddnshost=µ¿Àû DNS È£½ºÆ® ÀÌ¸§
plib_ddnshost_def=Å¬¶óÀÌ¾ðÆ®¿¡¼­

eopt_header=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç
eopt_subtitle=¼­ºê³Ý $1
eopt_returnsub=¼­ºê³Ý
eopt_returnshsub=°øÀ¯ ³×Æ®¿öÅ©
eopt_snettitle=°øÀ¯ ³×Æ®¿öÅ© $1
eopt_hosttitle=È£½ºÆ® $1
eopt_returnhost=È£½ºÆ®
eopt_returngroup=È£½ºÆ® ±×·ì
eopt_grouptitle=$1 ±¸¼º¿ø ±×·ì
eopt_alltitle=¸ðµç ³×Æ®¿öÅ©, È£½ºÆ® ¹× ±×·ì
eopt_returnindex=³×Æ®¿öÅ© ¹× È£½ºÆ® ¸ñ·Ï
eopt_tabhdr=Å¬¶óÀÌ¾ðÆ® ¿É¼Ç
eopt_chost=Å¬¶óÀÌ¾ðÆ® È£½ºÆ® ÀÌ¸§
eopt_defrouters=±âº» ¶ó¿ìÅÍ
eopt_smask=¼­ºê³Ý ¸¶½ºÅ©
eopt_baddr=ºê·ÎµåÄ³½ºÆ® ÁÖ¼Ò
eopt_domname=µµ¸ÞÀÎ ÀÌ¸§
eopt_dnsserv=DNS ¼­¹ö
eopt_timeserv=½Ã°£ ¼­¹ö
eopt_logserv=·Î±× ¼­¹ö
eopt_swapserv=½º¿Ò ¼­¹ö
eopt_rdpath=·çÆ® µð½ºÅ© °æ·Î
eopt_nisdom=NIS µµ¸ÞÀÎ
eopt_nisserv=NIS ¼­¹ö
eopt_fontserv=±Û²Ã ¼­¹ö
eopt_xdmserv=XDM ¼­¹ö
eopt_statrouters=Á¤Àû °æ·Î
eopt_ntpserv=NTP ¼­¹ö
eopt_nbns=NetBIOS ÀÌ¸§ ¼­¹ö
eopt_nbs=NetBIOS ¹üÀ§
eopt_nbntype=NetBIOS ³ëµå À¯Çü
eopt_custom=»ç¿ëÀÚ Á¤ÀÇ ¿É¼Ç
eopt_cnum=¹øÈ£
eopt_cval=°ª

log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
log_start=DHCP ¼­¹ö ½ÃÀÛµÊ
log_create_subnet=¼­ºê³Ý $1 ÀÛ¼ºµÊ
log_delete_subnet=¼­ºê³Ý $1 »èÁ¦µÊ
log_modify_subnet=¼­ºê³Ý $1 ¼öÁ¤µÊ
log_options_subnet=¼­ºê³Ý $1ÀÇ ¿É¼Ç ¼öÁ¤µÊ
log_create_shared=°øÀ¯ ³×Æ®¿öÅ© $1 ÀÛ¼ºµÊ
log_delete_shared=°øÀ¯ ³×Æ®¿öÅ© $1 »èÁ¦µÊ
log_modify_shared=°øÀ¯ ³×Æ®¿öÅ© $1 ¼öÁ¤µÊ
log_options_shared=°øÀ¯ ³×Æ®¿öÅ© $1ÀÇ ¿É¼Ç ¼öÁ¤µÊ
log_create_host=È£½ºÆ® $1 ÀÛ¼ºµÊ
log_delete_host=È£½ºÆ® $1 »èÁ¦µÊ
log_modify_host=È£½ºÆ® $1 ¼öÁ¤µÊ
log_options_host=È£½ºÆ® $1ÀÇ ¿É¼Ç ¼öÁ¤µÊ
log_create_group=$1 È£½ºÆ® ±×·ì ÀÛ¼ºµÊ
log_delete_group=$1 È£½ºÆ® ±×·ì »èÁ¦µÊ
log_modify_group=$1 È£½ºÆ® ±×·ì ¼öÁ¤µÊ
log_options_group=$1 È£½ºÆ® ±×·ìÀÇ ¿É¼Ç ¼öÁ¤µÊ
log_delete_lease=$1ÀÇ ÀÓ´ë »èÁ¦µÊ

pool_edit=ÁÖ¼Ò ´ÜÁö ÆíÁý
pool_create=ÀÛ¼ºµÈ ÁÖ¼Ò ´ÜÁö
pool_header=ÁÖ¼Ò ´ÜÁö ¿É¼Ç
pool_allow=Çã¿ëÇÒ Å¬¶óÀÌ¾ðÆ®
pool_deny=°ÅºÎÇÒ Å¬¶óÀÌ¾ðÆ®
pool_return=¼­ºê³Ý

cdel_header=°æ°í
cdel_shared1=°øÀ¯ ³×Æ®¿öÅ©
cdel_shared2=°øÀ¯ ³×Æ®¿öÅ©
cdel_subnet1=¼­ºê³Ý
cdel_subnet2=¼­ºê³Ý
cdel_subnet=¼­ºê³Ý
cdel_subnets=¼­ºê³Ý
cdel_group1=±×·ì
cdel_group2=±×·ì
cdel_group=±×·ì
cdel_groups=±×·ì
cdel_host=È£½ºÆ®
cdel_hosts=È£½ºÆ®
cdel_txt=$1 '$2'À»(¸¦) »èÁ¦ÇÏ¸é ÇØ´ç ³»¿ëµµ ÇÔ²² »èÁ¦µË´Ï´Ù:
cdel_confirm=ÀÌ $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
cdel_eunknown=¾Ë ¼ö ¾ø´Â ¿À·ù
cdel_return=È£½ºÆ® ¹× ³×Æ®¿öÅ© ¸ñ·Ï

eacl_aviol=¾×¼¼½º Á¦¾î À§¹Ý
eacl_np=´ÙÀ½¿¡ ´ëÇÑ ±ÇÇÑÀÌ ¾ø½À´Ï´Ù
eacl_pdh=È£½ºÆ® »èÁ¦
eacl_pih=»õ È£½ºÆ® Ãß°¡
eacl_puh=È£½ºÆ® ÆíÁý
eacl_psh=È£½ºÆ® ¼±ÅÃ
eacl_pdg=±×·ì »èÁ¦
eacl_pig=»õ ±×·ì Ãß°¡
eacl_pug=±×·ì ÆíÁý
eacl_psg=±×·ì ¼±ÅÃ
eacl_pds=¼­ºê³Ý »èÁ¦
eacl_pis=»õ ¼­ºê³Ý Ãß°¡
eacl_pus=¼­ºê³Ý ÆíÁý
eacl_pss=¼­ºê³Ý ¼±ÅÃ
eacl_pdn=°øÀ¯ ³×Æ®¿öÅ© »èÁ¦
eacl_pin=»õ °øÀ¯ ³×Æ®¿öÅ© Ãß°¡
eacl_pun=°øÀ¯ ³×Æ®¿öÅ© ÆíÁý
eacl_psn=°øÀ¯ ³×Æ®¿öÅ© ¼±ÅÃ
eacl_uniq=º¹Á¦ ÀÛ¼º
eacl_pdl=ÀÓ´ë »èÁ¦
eacl_psl=ÀÓ´ë º¸±â
eacl_pglob=±Û·Î¹ú ¿É¼Ç ÆíÁý
eacl_papply=ÀÌ ¼­ºñ½º Àç½ÃÀÛ

acl_apply=º¯°æ ³»¿ëÀ» Àû¿ëÇÒ ¼ö ÀÖ½À´Ï±î?
acl_r_leases=ÀÓ´ë¸¦ º¼ ¼ö ÀÖ½À´Ï±î?
acl_w_leases=ÀÓ´ë¸¦ Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï±î?
acl_global=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_uniq_hst=°íÀ¯ÇÑ È£½ºÆ® ÀÌ¸§ÀÔ´Ï±î?
acl_uniq_sub=°íÀ¯ÇÑ ¼­ºê³Ý IP ÁÖ¼ÒÀÔ´Ï±î?
acl_uniq_sha=°íÀ¯ÇÑ °øÀ¯ ³Ý ÀÌ¸§ÀÔ´Ï±î?
acl_seclevel=»ç¿ëÇÒ º¸¾È ¼öÁØ:
acl_hide=Á¢±Ù ºÒ°¡´ÉÇÑ °³Ã¼¸¦ ¼û±é´Ï±î?
acl_ahst=Á¢±ÙÇÒ È£½ºÆ®:
acl_agrp=Á¢±ÙÇÒ ±×·ì:
acl_asub=Á¢±ÙÇÒ ¼­ºê³Ý:
acl_asha=Á¢±ÙÇÒ °øÀ¯ ³Ý:
acl_per_hst_acls=È£½ºÆ® ´ÜÀ§ ACL ±â´ÉÀ» ¼³Á¤ÇÕ´Ï±î?
acl_per_sub_acls=¼­ºê³Ý ´ÜÀ§ ACL ±â´ÉÀ» ¼³Á¤ÇÕ´Ï±î?
acl_per_obj_acls=°³Ã¼ ´ÜÀ§ ACL...
acl_na=Çã¿ë ¾ÈµÊ
acl_r1=ÀÐ±â Àü¿ë
acl_rw=ÀÐ±â/¾²±â
acl_c=ÀÛ¼º
acl_r=ÀÐ±â
acl_w=¾²±â
acl_err=ACL ¸ñ·Ï ÀúÀå ¿À·ù
acl_ernow=±Û·Î¹ú ACL¿¡¼­ ÀÏºÎ °³Ã¼ À¯Çü¿¡ ´ëÇÑ ¾²±â Á¢±ÙÀ» °¡´ÉÇÏ°Ô ÇÏ·Á¸é ÀÌ °³Ã¼ À¯Çü¿¡ ´ëÇÑ ÀÐ±â Á¢±Ùµµ °¡´ÉÇÏ°Ô ÇØ¾ß ÇÕ´Ï´Ù.
acl_normal=º¸Åë
acl_paranoic=paranoic
 070701000286b5000081a40000000000000002000000013d1fe2d700002a87000000200000000000000000000000000000001400000003reloc/dhcpd/lang/nl   index_title=DHCP Server
index_dhcpdnotfound=Er is geen DHCP server <i>$1</i> op uw systeem gevonden. Misschien is er geen geïnstalleerd of is uw <a href="$2">DHCP module configuratie</a> niet juist.
index_return=index
index_dhcpdver=De DHCP server <i>$1</i> lijkt niet van het juiste niveau te zijn. Webmin ondersteunt alleen ISC DHCPD versie 2.
index_subtitle=Subnetten en Gedeelde Netwerken
index_nosubdef=Er zijn geen subnetten of gedeelde netwerken gedefinieerd.
index_addsub=Voeg een nieuw subnet toe
index_addnet=Voeg een nieuw gedeeld netwerk toe
index_nomemb=Geen leden
index_1memb=1 lid
index_234memb=$1 leden
index_memb=$1 members
index_hst=Hosts and Host Groepen
index_nohst=Er zijn geen hosts of groepen gedefinieerd.
index_hostgroup=Host/Groep
index_parent=Ouder
index_hardware=Hardware Adres
index_group=Groep:
index_nameip=Hostnaam of IP
index_net=Netwerk
index_netmask=Netmask
index_addhst=Voeg een nieuwe host toe
index_addhstg=Voeg een nieuwe groep toe
index_buttego=Wijzig Opties Cliënt
index_ego=Wijzig opties van de cliënt die van toepassing zijn op alle sub-netten, gedeelde netwerken, hosts en groepen.
index_buttlal=Toon Aktieve Leases
index_lal=Toon leases die deze DHCP server heeft uitgegeven voor dynamisch toegekende IP adressen.
index_buttapply=Toepassen
index_apply=Klik hier om de huidige configuratie toe te passen op de draaiende DHCP server, door die te stoppen en te starten.
index_buttstart=Start Server
index_start=Klik hier om de DHCP server op uw systeem te starten met de huidige configuratie.
index_hdisplay=Toon hosts en groepen per:
index_horder0=Toekenning
index_horder1=Bestandsstructuur
index_horder2=Naam
index_horder3=Hardware adres
index_horder4=IP adres
index_togroup=Groep
index_tosubnet=Subnet
index_toshared=Netwerk
index_ndisplay=Toon netten en subnetten per:
index_norder0=Toekenning
index_norder1=Bestandsstructuur
index_norder2=Naam/IP adres

butt_save=Opslaan
butt_eco=Wijzig Opties van Client
butt_vco=Bekijk Opties van Client
butt_del=Verwijderen
butt_create=Aanmaken

esub_crheader=Maak Subnet aan
esub_edheader=Wijzig Subnet
esub_tabhdr=Details van Subnet
esub_naddr=Netwerk adres
esub_nmask=Netmask
esub_arange=Adres reeksen
esub_dbooptpq=Dynamisch BOOTP ?
esub_shnet=Gedeeld netwerk
esub_hosts=Hosts direct in dit subnet
esub_groups=Groepen direct in dit subnet
esub_pools=Adres Pools voor Subnet
esub_pool=Pool $1
esub_poolnone=Geen adres pools gedefinieerd
esub_pooladd=Voeg een adres pool toe
esub_none=Geen
esub_return=subnet lijst
esub_retshar=gedeeld network

esh_crheader=Maak Gedeeld Netwerk aan
esh_eheader=Wijzig Gedeeld Netwerk
esh_tabhdr=Details van Gedeeld Netwerk
esh_netname=Netwerknaam
esh_hosts=Hosts direct in dit gedeelde netwerk
esh_groups=Groepen direct in dit gedeelde netwerk
esh_subn=Subnetten in dit gedeelde netwerk
esh_return=subnet lijst

ehost_crheader=Maak Host aan
ehost_eheader=Wijzig Host
ehost_tabhdr=Details van Host
ehost_hname=Host naam
ehost_nojavascr=Uwr browser ondersteunt geen javascript. U moet nu de juiste positie selecteren uit onderstaande lijst.
ehost_assign=Host toegekend aan
ehost_toplevel=Topniveau
ehost_inshared=Gedeeld Netwerk
ehost_insubnet=Subnet
ehost_ingroup=Groep
ehost_hwaddr=Hardware Adres
ehost_fixedip=Vast IP adres
ehost_subnet=In subnet $1/$2
ehost_shared=In gedeeld netwerk $1
ehost_in=in
ehost_return=host lijst
ehost_retgroup=groep
ehost_retsubn=subnet
ehost_retshar=gedeeld netwerk

egroup_crheader=Maak Host Groep aan
egroup_eheader=Wijzig Host Groep
egroup_tblhdr=Details van Groep 
egroup_assign=Groep toegekend aan
egroup_hosts=Hosts in deze groep
egroup_nchoice=Naam als client hostnaam gebruiken?
egroup_return=host lijst
egroup_retsubn=subnet
egroup_retshar=gedeeld netwerk

default=Standaard
secs=sec.
none=Geen

listl_header=DHCP Leases
listl_lfnotexist=Het DHCPd lease bestand <tt>$1</tt> komt niet voor.
listl_lfnotcont=Het DHCPd lease bestand <tt>$1</tt> bevat geen leases.
listl_active=actief
listl_ipaddr=IP Adres
listl_ether=Ethernet
listl_host=Hostnaam
listl_start=Start Datum
listl_end=Eind Datum
listl_return=netwerk en host lijst
listl_all=Toon alle actieve en verlopen leases
listl_delete=Klik op een lease IP adres van bovenstaande lijst om die lease te verwijderen.

restart_errmsg1=Herstarten dhcpd niet gelukt
restart_errmsg2=Signal process niet gelukt
start_failstart=Starten dhcpd niet gelukt

sgroup_faildel=Verwijderen van groep niet gelukt
sgroup_failsave=Opslaan van groep niet gelukt
sgroup_invassign=groep toegekend aan een onjuiste sectie
sgroup_echanged=De inhoud van het configuratiebestand is veranderd. Probeer opnieuw.

shost_faildel=Verwijderen van host niet gelukt
shost_failsave=Opslaan van host niet gelukt
shost_invalidhn=is geen geldige hostnaam
shost_invalidhwa='$1' is geen geldig $2 adres
shost_invalidaddr='$1' bevat een ongeldige hostnaam of IP adres
shost_invassign=host toegekend aan een onjuiste sectie

sopt_failsave=Opslaan van cliënt opties niet gelukt 
sopt_invalidip=is een ongeldig IP adres
sopt_invalidint=is geen geheel getal
sopt_invalidipp=is een ongeldig paar IP adressen (zoals: 1.2.3.4,5.6.7.8)

sshared_faildel=Verwijderen gedeeld netwerk niet gelukt
sshared_failsave=Opslaan gedeeld netwerk niet gelukt
sshared_invalidsname=Naam van gedeeld netwerk ontbreekt of is ongeldig.
sshared_nosubnet=Gedeeld netwerk '$1' bevat geen enkel subnet.

ssub_faildel=Verwijderen subnet niet gelukt
ssub_failsave=Opslaan subnet niet gelukt
ssub_invalidsubaddr=is een ongeldig subnet adres
ssub_invalidnmask=is een ongeldig netmask
ssub_invalidipr=is een ongeldig IP adres
ssub_nosubnet=Gedeeld netwerk '$1' bevat geen enkel subnet.

plib_deflt=Standaard lease-duur
plib_bfname=Boot bestandsnaam
plib_maxlt=Maximum lease-duur
plib_bfserv=Boot file server
plib_thisserv=Deze server
plib_servname=Server naam
plib_llbc=Lease-duur voor BOOTP cliënten
plib_forever=Oneindig
plib_lebc=Einde lease voor BOOTP cliënten
plib_never=Nooit
plib_invalidlt=is geen geldige lease-duur
plib_invalidsn=is geen geldige server naam
plib_invaliddom=$1 is geen geldige domein naam
plib_leformat=Einddatum lease moet het formaat hebben: W YYYY/MM/DD HH:MM:SS
plib_copt=Cliënt Opties
plib_chname=Cliënt hostnaam
plib_defrouters=Standaard routers
plib_snmask=Subnet masker
plib_babbr=Broadcast adres
plib_domname=Domeain naam
plib_dnsserv=DNS servers
plib_timeserv=Tijd servers
plib_logserv=Log servers
plib_swapserv=Swap server
plib_rdpath=Root disk pad
plib_nisdom=NIS domein
plib_nisserv=NIS servers
plib_fontserv=Font servers
plib_xdmserv=XDM servers
plib_statrouters=Statische routes
plib_ntpserv=NTP servers
plib_nbns=NetBIOS naam servers
plib_nbscope=NetBIOS scope
plib_nbntype=NetBIOS node type
plib_ddnsdom=Dynamische DNS domein naam
plib_ddnsrevdom=Dynamische DNS reverse domein
plib_ddnsup=Dynamische DNS ingeschakeld?
plib_ddnshost=Dynamische DNS hostnaam
plib_ddnshost_def=Van cliënt

eopt_header=Cliënt Opties
eopt_subtitle=Voor subnet $1
eopt_returnsub=subnet
eopt_returnshsub=gedeeld netwerk
eopt_snettitle=Voor gedeeld netwerk $1
eopt_hosttitle=Voor host $1
eopt_returnhost=host
eopt_returngroup=host groep
eopt_grouptitle=Voor $1 leden groep
eopt_alltitle=Voor alle netwerken, hosts en groepen
eopt_returnindex=netwerk en host lijst
eopt_tabhdr=Cliënt Opties
eopt_chost=Cliëntt hostnaam
eopt_defrouters=Standaard routers
eopt_smask=Subnet masker
eopt_baddr=Broadcast adres
eopt_domname=Domein naam
eopt_dnsserv=DNS servers
eopt_timeserv=Tijd servers
eopt_logserv=Log servers
eopt_swapserv=Swap server
eopt_rdpath=Root disk pad
eopt_nisdom=NIS domein
eopt_nisserv=NIS servers
eopt_fontserv=Font servers
eopt_xdmserv=XDM servers
eopt_statrouters=Statische routes
eopt_ntpserv=NTP servers
eopt_nbns=NetBIOS naam servers
eopt_nbs=NetBIOS scope
eopt_nbntype=NetBIOS node type
eopt_custom=Custom optie
eopt_cnum=Aantal
eopt_cval=Waarde

log_apply=Wijzigingen aangebracht
log_start=DHCP server gestart
log_create_subnet=Subnet $1 aangemaakt
log_delete_subnet=Subnet $1 verwijderd
log_modify_subnet=Subnet $1 gewijzigd
log_options_subnet=Opties voor subnet $1 gewijzigd
log_create_shared=Gedeeld netwerk $1 aangemaakt
log_delete_shared=Gedeeld netwerk $1 verwijderd
log_modify_shared=Gedeeld netwerk $1 gewijzigd
log_options_shared=Opties voor gedeeld netwerk $1 gewijzigd
log_create_host=Host $1 aangemaakt
log_delete_host=Host $1 verwijderd
log_modify_host=Host $1 gewijzigd
log_options_host=Opties voor host $1 gewijzigd
log_create_group=Host groep $1 hosts aangemaakt
log_delete_group=Host groep $1 verwijderd
log_modify_group=Host groep $1 gewijzigd
log_options_group=Opties voor host groep $1 hosts gewijzigd
log_delete_lease=Lease voor $1 verwijderd

pool_edit=Adres Pool Wijzigen
pool_create=Adres Pool Aanmaken
pool_header=Adres Pool Opties
pool_allow=Toegestane Cliënten
pool_deny=Niet toegestane Cliënten
pool_return=subnet

cdel_header=Waarschuwing
cdel_shared1=gedeeld netwerk
cdel_shared2=gedeeld netwerk
cdel_subnet1=subnet
cdel_subnet2=subnet
cdel_subnet=subnet
cdel_subnets=subnetten
cdel_group1=groep
cdel_group2=groep
cdel_group=groep
cdel_groups=groepen
cdel_host=host
cdel_hosts=hosts
cdel_txt=Verwijdering van $1 '$2' zal tevens de inhoud ervan verwijderd worden:
cdel_confirm=Wilt u echt deze $1 verwijderen ?
cdel_eunknown=Onbekende fout
cdel_return=host- en netwerk lijst

eacl_aviol=Overtreding toegangsregels
eacl_np=U hebt geen toestemming om
eacl_pdh=hosts te verwijderen
eacl_pih=hosts toe te voegen
eacl_puh=hosts te wijzigen
eacl_psh=selecteer host
eacl_pdg=verwijder groeup
eacl_pig=voeg nieuwe groep toe
eacl_pug=wijzig groep
eacl_psg=selecteer groep
eacl_pds=verwijder subnet
eacl_pis=voeg nieuwe subnets toe
eacl_pus=wijzig subnet
eacl_pss=selecteer subnet
eacl_pdn=verwijder gedeeld netwerk
eacl_pin=voeg nieuw gedeelde netwerken toe
eacl_pun=wijzig gedeeld netwerk
eacl_psn=selecteer gedeeld netwerk
eacl_uniq=maak duplicaten aan
eacl_pdl=verwijder leases
eacl_psl=bekijk leases
eacl_pglob=wijzig globale opties
eacl_papply=herstart deze service

acl_apply=Kan wijzigen aanbrengen?
acl_r_leases=Kan leases bekijken?
acl_w_leases=Kan leases verwijderen?
acl_global=Kan globale opties wijzigen?
acl_uniq_hst=Unieke hostnamen?
acl_uniq_sub=Unieke subnet IP addressen?
acl_uniq_sha=Unieke gedeeld net namen?
acl_seclevel=Gebruik beveiligingsniveau:
acl_hide=Niet-toegankelijke objecten verbergen?
acl_ahst=Toegang tot hosts:
acl_agrp=Toegang tot groepen:
acl_asub=Toegang tot subnetten:
acl_asha=Toegang tot gedeelde netten:
acl_per_hst_acls=ACL's per host inschakelen?
acl_per_sub_acls=ACL's per subnet inschakelen?
acl_per_obj_acls=ACL's per object...
acl_na=niet toegestaan
acl_r1=alleen-lezen
acl_rw=lezen/schrijven
acl_c=aanmaken
acl_r=lezen
acl_w=schrijven
acl_err=Fout bij opslaan ACL lijst
acl_ernow=Als u schrijf toegang in globale ACL's voor sommige objecten wilt aanzetten, moet u ook lees toegang voor dit type object regelen.
acl_normal=normaal
acl_paranoic=paranoïde
 070701000286b6000081a40000000000000002000000013d1fe2d700002d9f000000200000000000000000000000000000001400000003reloc/dhcpd/lang/pl   index_title=Serwer DHCP
index_dhcpdnotfound=Nie znaleziono w&nbsp;Twoim systemie serwera DHCP <i>$1</i>. Mo¿liwe, ¿e nie jest on zainstalowany lub Twoja <a href="$2">konfiguracja modu³u DHCP</a> jest nieprawid³owa.
index_return=indeksu
index_dhcpdver=Niew³a¶ciwa wersja serwera DHCP <i>$1</i>. Webmin obs³uguje jedynie ISC DHCPD w&nbsp;wersji 2.
index_subtitle=Podsieci i&nbsp;sieci wspó³dzielone
index_nosubdef=Nie zdefiniowano podsieci ani sieci wspó³dzielonych.
index_addsub=Dodaj now± podsieæ
index_addnet=Dodaj now± sieæ wspó³dzielon±
index_nomemb=Brak hostów
index_1memb=1&nbsp;host
index_234memb=$1&nbsp;hosty
index_memb=$1&nbsp;hostów
index_hst=Hosty i&nbsp;grupy hostów
index_nohst=Nie zdefiniowano hostów ani grup hostów.
index_hostgroup=Host/grupa
index_parent=Nale¿y do
index_hardware=Adres sprzêtowy
index_group=Grupa:
index_nameip=Nazwa lub IP hosta
index_net=Podsieæ
index_netmask=Maska sieci
index_addhst=Dodaj nowy host
index_addhstg=Dodaj now± grupê hostów
index_buttego=Zmieñ opcje klienta
index_ego=Zmieñ opcje klienta DHCP, które dotycz± wszystkich podsieci, sieci wspó³dzielonych, hostów i&nbsp;ich grup.
index_buttlal=Poka¿ aktywne dzier¿awy
index_lal=Poka¿ dzier¿awy obecnie udzielone przez ten serwer DHCP dla dynamicznie przypisanych adresów IP.
index_buttapply=Zastosuj zmiany
index_apply=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê dla dzia³aj±cego serwera DHCP poprzez zatrzymanie go i&nbsp;ponowne uruchomienie.
index_buttstart=Uruchom serwer
index_start=Naci¶nij ten przycisk, aby uruchomiæ serwer DHCP w&nbsp;twoim systemie z&nbsp;wykorzystaniem bie¿±cej konfiguracji.
index_hdisplay=Wy¶wietlaæ hosty i&nbsp;grupy wg:
index_horder0=Przynale¿no¶ci
index_horder1=Struktury pliku
index_horder2=Nazwy
index_horder3=Adresu sprzêtowego
index_horder4=Adresu IP
index_togroup=grupy
index_tosubnet=podsieci
index_toshared=sieci
index_ndisplay=Wy¶wietlaæ sieci i&nbsp;podsieci wg:
index_norder0=Przynale¿no¶ci
index_norder1=Struktury pliku
index_norder2=Nazwy/adresu IP

butt_save=Zachowaj
butt_eco=Zmieñ opcje stacji klienckiej
butt_vco=Poka¿ opcje stacji klienckiej
butt_del=Usuñ
butt_create=Utwórz

esub_crheader=Utwórz podsieæ
esub_edheader=Zmieñ podsieæ
esub_tabhdr=Dane podsieci
esub_naddr=Adres sieci
esub_nmask=Maska sieci
esub_arange=Zakresy adresów
esub_dbooptpq=Dynamiczny BOOTP ?
esub_shnet=Sieæ wspó³dzielona
esub_hosts=Hosty nale¿±ce bezpo¶rednio do tej podsieci
esub_groups=Grupy nale¿±ce bezpo¶rednio do tej podsieci
esub_pools=Obszary adresowe dla podsieci
esub_pool=Obszar $1
esub_poolnone=Nie zdefiniowano obszarów adresowych
esub_pooladd=Dodaj obszar adresowy
esub_none=¿adna
esub_return=listy podsieci
esub_retshar=sieci wspó³dzielonej

esh_crheader=Utwórz sieæ wspó³dzielon±
esh_eheader=Zmieñ sieæ wspó³dzielon±
esh_tabhdr=Dane sieci wspó³dzielonej
esh_netname=Nazwa sieci
esh_hosts=Hosty nale¿±ce bezpo¶rednio do tej sieci wspó³dzielonej
esh_groups=Grupy nale¿±ce bezpo¶rednio do tej sieci wspó³dzielonej
esh_subn=Podsieci nale¿±ce do tej sieci wspó³dzielonej
esh_return=listy podsieci

ehost_crheader=Utwórz host
ehost_eheader=Zmieñ host
ehost_tabhdr=Dane hosta
ehost_hname=Nazwa hosta
ehost_nojavascr=Twoja przegl±darka nie obs³uguje javascriptu. Musisz teraz wybraæ w³a¶ciw± pozycjê z poni¿szej listy.
ehost_assign=Host przypisany do
ehost_toplevel=najwy¿szego poziomu
ehost_inshared=sieci wspó³dzielonej
ehost_insubnet=podsieci
ehost_ingroup=grupy
ehost_hwaddr=Adres sprzêtowy
ehost_fixedip=Sta³y adres IP
ehost_subnet=W&nbsp;podsieci $1/$2
ehost_shared=W&nbsp;sieci wspó³dzielonej $1
ehost_in=w
ehost_return=listy hostów
ehost_retgroup=grupy hostów
ehost_retsubn=podsieci
ehost_retshar=sieci wspó³dzielonej

egroup_crheader=Utwórz grupê hostów
egroup_eheader=Zmieñ grupê hostów
egroup_tblhdr=Dane grupy
egroup_assign=Grupa przypisana do
egroup_hosts=Hosty w&nbsp;tej grupie
egroup_nchoice=U¿ywaæ nazw hostów jako nazw stacji klienckich?
egroup_return=listy hostów
egroup_retsubn=podsieci
egroup_retshar=sieci wspó³dzielonej

default=Domy¶lne
secs=sek.
none=Brak

listl_header=Dzier¿awy DHCP
listl_lfnotexist=Plik dzier¿aw DHCPd <tt>$1</tt> nie istnieje.
listl_lfnotcont=Plik dzier¿aw DHCPd <tt>$1</tt> nie zawiera ¿adnych dzier¿aw.
listl_active=aktywmych
listl_ipaddr=Adres IP
listl_ether=Ethernetowy
listl_host=Nazwa hosta
listl_start=Data rozpoczêcia
listl_end=Data zakoñczenia
listl_return=listy podsieci i hostów
listl_all=Poka¿ wszystkie dzier¿awy aktywne i przeterminowane
listl_delete=Naci¶nij na wydzier¿awiony adres IP z&nbsp;powy¿szej listy aby dzier¿awê skasowaæ.

restart_errmsg1=Nie uda³o siê ponownie uruchomiæ dhcpd
restart_errmsg2=Nie uda³o siê wys³aæ sygna³u do procesu
start_failstart=Nie uda³o siê uruchomiæ dhcpd

sgroup_faildel=Nie uda³o siê usun±æ grupy
sgroup_failsave=Nie uda³o siê zachowaæ grupy
sgroup_invassign=grupa przypisana do niew³a¶ciwej sekcji
sgroup_echanged=Plik konfiguracyjny zosta³ zmodyfikowany. Spróbuj ponownie.

shost_faildel=Nie uda³o siê usun±æ hosta
shost_failsave=Nie uda³o siê zachowaæ hosta
shost_invalidhn=nie jest poprawn± nazw± hosta
shost_invalidhwa='$1' nie jest poprawnym adresem $2
shost_invalidaddr='$1' zawiera nieprawid³ow± nazwê hosta lub b³êdny adres IP
shost_invassign=host przypisany do niew³a¶ciwej sekcji

sopt_failsave=Nie uda³o siê zachowaæ opcji stacji klienckiej
sopt_invalidip=nie jest poprawnym adresem IP
sopt_invalidint=nie jest liczb± ca³kowit±
sopt_invalidipp=nie jest poprawn± par± adresów IP (jak 1.2.3.4,5.6.7.8)

sshared_faildel=Nie uda³o siê usun±æ sieci wspó³dzielonej
sshared_failsave=Nie uda³o siê zachowaæ sieci wspó³dzielonej
sshared_invalidsname=Nie podano lub niepoprawna nazwa sieci wspó³dzielonej.
sshared_nosubnet=Sieæ wspó³dzielona '$1' nie zawiera ¿adnej podsieci.

ssub_faildel=Nie uda³o siê usun±æ podsieci
ssub_failsave=Nie uda³o siê zachowaæ podsieci
ssub_invalidsubaddr=nie jest poprawnym adresem podsieci
ssub_invalidnmask=nie jest poprawn± mask± sieci
ssub_invalidipr=nie jest poprawnym zakresem adresów IP
ssub_nosubnet=Sieæ wspó³dzielona '$1' nie zawiera ¿adnej podsieci.

plib_deflt=Domy¶lny czas dzier¿awy
plib_bfname=Nazwa pliku BOOTa
plib_maxlt=Maksymalny czas dzier¿awy
plib_bfserv=Nazwa serwera BOOTa
plib_thisserv=Ten serwer
plib_servname=Nazwa serwera
plib_llbc=Czas dzier¿awy dla klientów BOOTP
plib_forever=Na zawsze
plib_lebc=Koniec dzier¿awy dla klientów BOOTP
plib_never=Nigdy
plib_invalidlt=nie jest poprawnym czasem dzier¿awy
plib_invalidsn=nie jest poprawn± nazw± serwera
plib_invaliddom=$1 nie jest poprawn± nazw± domeny
plib_leformat=Data/czas wyga¶niêcia dzier¿awy musi mieæ postaæ W YYYY/MM/DD HH:MM:SS
plib_copt=Opcje stacji klienckiej
plib_chname=Nazwa hosta klienta
plib_defrouters=Domy¶lna bramka
plib_snmask=Maska podsieci
plib_babbr=Adres rozg³oszeniowy
plib_domname=Nazwa domeny
plib_dnsserv=Serwery DNS
plib_timeserv=Serwery czasu
plib_logserv=Serwery logowania
plib_swapserv=Serwer wymiany
plib_rdpath=¦cie¿ka do dysku "root"
plib_nisdom=Domena NIS
plib_nisserv=Serwery NIS
plib_fontserv=Serwery czcionek
plib_xdmserv=Serwery XDM
plib_statrouters=Statyczny routing
plib_ntpserv=Serwery NTP
plib_nbns=Serwery nazw NetBIOS
plib_nbscope=Zasiêg NetBIOS-u
plib_nbntype=Typ wêz³a NetBIOS-u
plib_ddnsdom=Nazwa domeny dynamicznego DNS-u
plib_ddnsrevdom=Domena odwrotna dynamicznego DNS-u
plib_ddnsup=W³±czony dynamiczny DNS?
plib_ddnshost=Nazwa hosta w&nbsp;dynamicznym DNS-ie
plib_ddnshost_def=Od klienta

eopt_header=Opcje stacji klienckiej
eopt_subtitle=Dla podsieci $1
eopt_returnsub=podsieci
eopt_returnshsub=sieci wspó³dzielonej
eopt_snettitle=Dla sieci wspó³dzielonej $1
eopt_hosttitle=Dla hosta $1
eopt_returnhost=hosta
eopt_returngroup=grupy hostów
eopt_grouptitle=Dla hosta w&nbsp;grupie $1
eopt_alltitle=Dla wszystkich podsieci, hostów i&nbsp;grup
eopt_returnindex=listy podsieci i hostów
eopt_tabhdr=Opcje stacji klienckiej
eopt_chost=Nazwa hosta stacji klienckiej
eopt_defrouters=Domy¶lne bramki
eopt_smask=Maska podsieci
eopt_baddr=Adres rozg³oszeniowy
eopt_domname=Nazwa domeny
eopt_dnsserv=Serwery DNS
eopt_timeserv=Serwery czasu
eopt_logserv=Serwery logowania
eopt_swapserv=Serwer wymiany
eopt_rdpath=¦cie¿ka do dysku "root"
eopt_nisdom=Domena NIS
eopt_nisserv=Serwery NIS
eopt_fontserv=Serwery czcionek
eopt_xdmserv=Serwery XDM
eopt_statrouters=Statyczny routing
eopt_ntpserv=Serwey NTP
eopt_nbns=Serwery nazw NetBIOS
eopt_nbs=Zasiêg NetBIOS-u
eopt_nbntype=Typ wêz³a NetBIOS-u
eopt_custom=Opcje dodatkowe
eopt_cnum=Numer
eopt_cval=Warto¶æ

log_apply=Zastosowano zmiany
log_start=Uruchomiono serwer DHCP
log_create_subnet=Utworzono podsieæ $1
log_delete_subnet=Usuniêto podsieæ $1
log_modify_subnet=Zmieniono podsieæ $1
log_options_subnet=Zmieniono opcje dla podsieci $1
log_create_shared=Utworzono sieæ wspó³dzielon± $1
log_delete_shared=Usuniêto sieæ wspó³dzielon± $1
log_modify_shared=Zmieniono sieæ wspó³dzielon± $1
log_options_shared=Zmieniono opcje dla sieci wspó³dzielonej $1
log_create_host=Utworzono host $1
log_delete_host=Usuniêto host $1
log_modify_host=Zmieniono host $1
log_options_host=Zmieniono opcje dla hosta $1
log_create_group=Utworzono grupê $1 hostów
log_delete_group=Usuniêto grupê $1 hostów
log_modify_group=Zmieniono grupê $1 hostów
log_options_group=Zmieniono opcje dla grupy $1 hostów
log_delete_lease=Skasowano dzier¿awê dla $1

pool_edit=Zmieñ obszar adresowy
pool_create=Utworzono obszar adresowy
pool_header=Opcje obszaru adresowego
pool_allow=Dozwoleni klienci
pool_deny=Zabronieni klienci
pool_return=podsieci

cdel_header=Ostrze¿enie
cdel_shared1=sieci wspó³dzielonej
cdel_shared2=sieæ wspó³dzielon±
cdel_subnet1=podsieci
cdel_subnet2=podsieæ
cdel_subnet=podsieæ
cdel_subnets=podsieci
cdel_group1=grupy
cdel_group2=grupê
cdel_group=grupa
cdel_groups=grupy
cdel_host=host
cdel_hosts=hosty
cdel_txt=Usuniêcie $1 '$2' spowoduje usuniêcie równie¿ jej zawarto¶ci:
cdel_confirm=Czy na pewno chcesz usun±æ tê $1&nbsp;?
cdel_eunknown=Nieokre¶lony b³±d
cdel_return=listy hostów i podsieci

eacl_aviol=Naruszenie kontroli dostêpu
eacl_np=Nie masz uprawnieñ do
eacl_pdh=usuniêcia hosta
eacl_pih=dodawania nowych hostów
eacl_puh=modyfikacji hosta
eacl_psh=wybrania hosta
eacl_pdg=usuniêcia grupy
eacl_pig=dodawania nowych grup
eacl_pug=modyfikacji grupy
eacl_psg=wybrania grupy
eacl_pds=usuniêcia podsieci
eacl_pis=dodawania nowych podsieci
eacl_pus=modyfikacji podsieci
eacl_pss=wybrania podsieci
eacl_pdn=usuniêcia sieci wspó³dzielonej
eacl_pin=dodawania nowych sieci wspó³dzielonych
eacl_pun=modyfikacji sieci wspó³dzielonej
eacl_psn=wybrania sieci wspó³dzielonej
eacl_uniq=tworzenia duplikatów
eacl_pdl=kasowania dzier¿aw
eacl_psl=przegl±dania dzier¿aw
eacl_pglob=zmiany opcji ogólnych
eacl_papply=restartu tej us³ugi

acl_apply=Mo¿e zastosowaæ zmiany?
acl_r_leases=Mo¿e przegl±daæ dzier¿awy?
acl_w_leases=Mo¿e kasowaæ dzier¿awy?
acl_global=Mo¿e zmieniaæ opcje ogólne?
acl_uniq_hst=Unikalne nazwy hostów?
acl_uniq_sub=Unikalne adresy IP podsieci?
acl_uniq_sha=Unikalne nazwy sieci wspó³dzielonych?
acl_seclevel=Zastosowaæ poziom bezpieczeñstwa:
acl_hide=Ukrywaæ niedostêpne obiekty?
acl_ahst=Dostêp do hostów:
acl_agrp=Dostêp do grup:
acl_asub=Dostêp do podsieci:
acl_asha=Dostêp do do sieci wspó³dzielonych:
acl_per_hst_acls=W³±czyæ ACL-e dla poszczególnych hostów?
acl_per_sub_acls=W³±czyæ ACL-e dla poszczególnych podsieci?
acl_per_obj_acls=ACL-e dla poszczególnych obiektów...
acl_na=brak dostêpu
acl_r1=odczyt
acl_rw=odczyt/zapis
acl_c=tworzenie
acl_r=odczyt
acl_w=zapis
acl_err=B³±d podczas zachowywania listy ACL-i
acl_ernow=Je¶li chcesz w&nbsp;globalnych ACL-ach umo¿liwiæ dostêp do pewnego rodzaju obiektów z&nbsp;prawem zapisu, to musisz równie¿ nadaæ prawo do odczytu dla tego rodzaju obiektów.
acl_normal=zwyk³y
acl_paranoic=paranoiczny
 070701000286b7000081a40000000000000002000000013d1fe2d700001775000000200000000000000000000000000000001400000003reloc/dhcpd/lang/pt   index_title=Servidor DHCP
index_dhcpdnotfound=O servidor DHCP <i>$1</i> não foi encontrado no seu sistema. Poderá não estar instalado, ou a <a href="$2">configuração do módulo DHCP</a> está incorrecta.
index_return=índex
index_dhcpdver=O servidor DHCP <i>$1</i> não aparenta ser a versão correcta. O Webmin apenas suporta a versão 2 do ISC DHCPD.
index_subtitle=Sub-redes e Redes Partilhadas
index_nosubdef=Não foram definidas sub-redes ou redes partilhadas.
index_addsub=Adicionar nova sub-rede
index_addnet=Adicionar nova rede partilhada
index_nomemb=Sem membros
index_1memb=Membro 1
index_234memb=$1 membros
index_memb=$1 membros
index_hst=Anfitriões e Grupos de Anfitrião
index_nohst=Não foram definidos anfitriões ou grupos.
index_addhst=Adicionar novo anfitrião
index_addhstg=Adicionar novo grupo de anfitrião
index_buttego=Editar Opções Gerais
index_ego=Editar opções de DHCP que se apliquem a todas as sub-redes, redes partilhadas, anfitriões e grupos
index_buttlal=Listar Concessões Activas
index_lal=Listar concessões correntes deste servidor DHCP para atribuir endereços IP dinâmicamente.
index_buttapply=Aplicar Alterações
index_apply=Clique neste botão para aplicar a configuração actual ao servidor DHCP em execução através da sua paragem e reiniciar.
index_buttstart=Iniciar Servidor
index_start=Clique neste botão para iniciar o servidor DHCP no seu sistema, usando a configuração actual.

butt_save=Guardar
butt_eco=Editar Opções de Cliente
butt_del=Apagar
butt_create=Criar

esub_crheader=Criar Sub-rede
esub_edheader=Editar Sub-rede
esub_tabhdr=Detalhes da Sub-rede
esub_naddr=Endereço da rede
esub_nmask=Máscara de rede
esub_arange=Alcance dos endereços
esub_dbooptpq=BOOTP dinâmico ?
esub_shnet=Rede partilhada
esub_return=lista de sub-redes

esh_crheader=Criar Rede Partilhada
esh_eheader=Editar Rede Partilhada
esh_tabhdr=Detalhes da Rede Partilhada
esh_netname=Nome da rede
esh_return=lista de sub-redes

ehost_crheader=Criar Anfitrião
ehost_eheader=Editar Anfitrião
ehost_tabhdr=Detalhes do Anfitrião
ehost_hname=Nome do anfitrião
ehost_fixedip=Endereço IP fixo
ehost_return=lista de anfitriões

egroup_crheader=Criar Grupo de Anfitriões
egroup_eheader=Editar Grupo de Anfitriões
egroup_tblhdr=Detalhes do Grupo
egroup_hosts=Anfitriões neste grupo
egroup_nchoice=Use name as client hostname? Usar o nome como anfitrião do cliente?
egroup_return=lista de anfitriões

yes=Sim
no=Não
default=Predefinido
secs=segundos
none=Nenhum

listl_header=Concessões DHCP
listl_lfnotexist=O ficheiro da concessão DHCPd <tt>$1</tt> não existe.
listl_lfnotcont=O ficheiro da concessão DHCPd <tt>$1</tt> não contém nehuma concessão$2.
listl_active= activa
listl_ipaddr=Endereço IP
listl_ether=Ethernet
listl_host=Nome do Anfitrião
listl_start=Começar Data
listl_end=Terminar Data
listl_return=lista de sub-redes

restart_errmsg1=Erro ao reiniciar o servidor dhcpd
restart_errmsg2=Erro ao sinalizar processo
start_failstart=Erro ao iniciar o servidor dhcpd

sgroup_faildel=Erro ao apagar grupo
sgroup_failsave=Erro ao guardar grupo

shost_faildel=Erro ao apagar anfitrião
shost_failsave=Erro ao guardar anfitrião
shost_invalidhn=não é um nome de anfitrião válido
shost_invalidhwa='$1' não é um endereço válido $2

sopt_failsave=Erro ao guardar opções de cliente
sopt_invalidip=não é um endereço IP válido
sopt_invalidint=não é um número inteiro
sopt_invalidipp=não é um par de endereço IP válido (como 1.2.3.4,5.6.7.8)

sshared_faildel=Erro ao apagar rede partilhada
sshared_failsave=Erro ao guardar rede partilhada
sshared_invalidsname=Nome de rede partilhada inválido ou em falta

ssub_faildel=Erro ao apagar sub-rede
ssub_failsave=Erro ao guardar sub-rede
ssub_invalidsubaddr=não é um endereço de sub-rede válido
ssub_invalidnmask=não é uma máscara de rede válida
ssub_invalidipr=não é um alcance de endereço IP válido

plib_deflt=Tempo de concessão predefinido
plib_bfname=Carregar nome de ficheiro
plib_maxlt=Tempo máximo de concessão
plib_bfserv=Carregar servidor de ficheiros
plib_thisserv=Este servidor
plib_servname=Nome do servidor
plib_llbc=Tempo de concessão para clientes BOOTP
plib_forever=Para sempre
plib_lebc=Final da concessão para clientes BOOTP
plib_never=Nunca
plib_invalidlt=não é um tempo válido de concessão
plib_invalidsn=não é um nome de servidor válido
plib_leformat=A data final da concessão necessita estar no formato W YYYY/MM/DD HH:MM:SS
plib_copt=Opções de Cliente
plib_chname=Nome do anfitrião do cliente
plib_defrouters=Reencaminhadores predefinidos
plib_snmask=Mácara de sub-rede
plib_babbr=Endereço de emissão
plib_domname=Nome do domínio
plib_dnsserv=Servidores DNS
plib_timeserv=Servidores de tempo
plib_logserv=Servidores de historial
plib_swapserv=Servidor Swap
plib_rdpath=Caminho do disco raíz
plib_nisdom=Domínio NIS
plib_nisserv=Servidores NIS
plib_fontserv=Servidores de fontes
plib_xdmserv=Servidores XDM
plib_statrouters=Caminhos estáticos
plib_ntpserv=Servidores NTP
plib_nbns=Servidores de nome NetBIOS
plib_nbscope=Alcance do NetBIOS
plib_nbntype=Tipo de nodo do NetBIOS

eopt_header=Opções de Cliente
eopt_subtitle=Para a sub-rede $1
eopt_returnsub=lista de sub-redes
eopt_snettitle=Paa a rede partilhada $1
eopt_hosttitle=Para o anfitrião $1
eopt_returnhost=lista de anfitriões
eopt_grouptitle=Para o grupo de membros $1
eopt_alltitle=Para todas as redes, anfitriões e grupos
eopt_returnindex=índex
eopt_tabhdr=Opções de Cliente
eopt_chost=Nome do anfitrião do cliente
eopt_defrouters=Reencaminhadores predefinidos
eopt_smask=Mácara de sub-rede
eopt_baddr=Endereço de emissão
eopt_domname=Nome do domínio
eopt_dnsserv=Servidores DNS
eopt_timeserv=Servidores de tempo
eopt_logserv=Servidores de historial
eopt_swapserv=Servidor swap
eopt_rdpath=Caminho do disco raíz
eopt_nisdom=Domínio NIS
eopt_nisserv=Servidores NIS
eopt_fontserv=Servidores de fontes
eopt_xdmserv=Servidores XDM
eopt_statrouters=Caminhos estáticos
eopt_ntpserv=Servidores NTP
eopt_nbns=Servidores de nome NetBIOS
eopt_nbs=Alcance do NetBIOS
eopt_nbntype=Tipo de nodo do NetBIOS
   070701000286b8000081a40000000000000002000000013d1fe2d700001620000000200000000000000000000000000000001700000003reloc/dhcpd/lang/ru_RU    index_addsub=Äîáàâèòü íîâóþ ïîäñåòü
esub_crheader=Ñîçäàíèå Ïîäñåòè
sopt_invalidipp=íå ÿâëÿåòñÿ äîïóñòèìîé ïàðîé IP àäðåñîâ (òèïà 1.2.3.4,5.6.7.8)
plib_forever=Íàâñåãäà
eopt_nisserv=NIS ñåðâåðû
plib_servname=Èìÿ ñåðâåðà
yes=Äà
sshared_failsave=Îøèáêà ïðè ñîõðàíåíèè ðàçäåëÿåìîé ñåòè
ehost_eheader=Ðåäàêòèðîâàíèå Õîñòà
eopt_swapserv=Swap ñåðâåð
eopt_alltitle=Äëÿ âñåõ ñåòåé, õîñòîâ è ãðóïï
eopt_logserv=Log ñåðâåðû
plib_fontserv=Font ñåðâåðû
esh_eheader=Ðåäàêòèðîâàíèå Ðàçäåëÿåìîé Ñåòè
none=Íåò
esub_arange=Äèàïàçîíû àäðåñîâ
butt_del=Óäàëèòü
butt_eco=Ðåäàêòèðîâàòü Ïàðàìåòðû Êëèåíòà
index_nomemb=Íåò ÷ëåíîâ
plib_copt=Ïàðàìåòðû Êëèåíòà
eopt_subtitle=Äëÿ ïîäñåòè $1
eopt_timeserv=Time ñåðâåðû
eopt_tabhdr=Ïàðàìåòðû Êëèåíòà
esub_shnet=Ðàçäåëÿåìàÿ ñåòü
egroup_tblhdr=Ïàðàìåòðû Ãðóïïû
index_subtitle=Ïîäñåòè è Ðàçäåëÿåìûå Ñåòè
listl_return=ñïèñîê ïîäñåòåé
index_addnet=Äîáàâèòü íîâóþ ðàçäåëÿåìóþ ñåòü
index_ego=Ðåäàêòèðîâàíèå ïàðàìåòðîâ DHCP, êîòîðûå îòíîñÿòñÿ êî âñåì ïîäñåòÿì, ðàçäåëÿåìûì ñåòÿì, õîñòàì è ãðóïïàì
listl_lfnotexist=Ôàéë DHCPd àðåíä <tt>$1</tt> íå ñóùåñòâóåò.
esub_naddr=Ñåòåâîé àäðåñ
eopt_defrouters=Ìàðøðóòèçàòîðû ïî óìîë÷àíèþ
plib_babbr=Øèðîêîâåùàò. àäðåñ
restart_errmsg1=Îøèáêà ïðè ðåñòàðòå dhcpd
index_start=Íàæìèòå íà ýòó êíîïêó äëÿ ñòàðòà DHCP ñåðâåðà èñïîëüçóÿ òåêóùóþ êîíôèãóðàöèþ.
restart_errmsg2=Îøèáêà ïðè îòñûëêå ñèãíàëà ïðîöåññó
ehost_hname=Èìÿ õîñòà
plib_chname=Èìÿ õîñòà êëèåíòà
eopt_fontserv=Font ñåðâåðû
index_addhst=Äîáàâèòü íîâûé õîñò
egroup_return=ñïèñîê õîñòîâ
ssub_invalidnmask=íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ìàñêîé
esh_crheader=Ñîçäàíèå Ðàçäåëÿåìîé Ñåòè
plib_dnsserv=DNS ñåðâåðû
eopt_returnindex=ãëàâíîå ìåíþ
sgroup_faildel=Îøèáêà ïðè óäàëåíèè ãðóïïû
plib_nbns=NetBIOS ñåðâåðû èìåí
index_title=Ñåðâåð DHCP
index_1memb=1 ÷ëåí
ehost_fixedip=Ôèêñèðîâàííûé IP àäðåñ
plib_maxlt=Ìàêñèìàëüíîå âðåìÿ àðåäû
butt_save=Ñîõðàíèòü
ssub_invalidipr=íå ÿâëÿåòñÿ äîïóñòèìûì äèàïàçîíîì IP àäðåñîâ
plib_nbscope=NetBIOS áðàóçåð
listl_header=Àðåíäû DHCP
index_apply=Íàæìèòå íà ýòó êíîïêó äëÿ àêòèâèçàöèè ñäåëàíûõ èçìåíåíèé, ïóòåì ïåðåçàïóñêà DHCP ñåðâåðà.
ehost_crheader=Ñîçäàíèå Õîñòà
plib_llbc=Ïðîäîëæèòåëüíîñòü àðåíäû äëÿ BOOTP êëèåíòîâ
eopt_nbns=NetBIOS ñåðâåðû èìåí
esub_dbooptpq=Äèíàìè÷åñêèé BOOTP ?
index_return=ãëàâíîå ìåíþ
eopt_xdmserv=XDM ñåðâåðû
eopt_ntpserv=NTP ñåðâåðû
sgroup_failsave=Îøèáêà ïðè ñîõðàíåíèè ãðóïïû
plib_nisserv=NIS ñåðâåðû
listl_lfnotcont=Ôàéë DHCPd àðåíä <tt>$1</tt> íå ñîäåðæèò $2 àðåíä.
plib_deflt=Âðåìÿ àðåäû ïî óìîë÷àíèþ
eopt_domname=Èìÿ äîìåíà
index_memb=$1 ÷ëåíîâ
plib_logserv=Log ñåðâåðû
plib_invalidlt=íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì àðåíäû
index_lal=Ïîêàçûâàåò ñïèñîê àðåíä DHCP ñåðâåðà äëÿ äèíàìè÷åñêè ïðèñâîåííûõ IP àäðåñîâ.
eopt_snettitle=Äëÿ ðàçäåëÿåìîé ñåòè $1
eopt_header=Ïàðàìåòðû Êëèåíòà
plib_never=Íèêîãäà
shost_invalidhwa='$1' íå ÿâëÿåòñÿ äîïóñòèìûì $2 àäðåñîì
plib_leformat=Äàòà îêîí÷àíèÿ àðåíäû äîëæíà áûòü â ôîðìàòå W YYYY/MM/DD HH:MM:SS
index_buttstart=Ñòàðòîâàòü Ñåðâåð
esh_netname=Èìÿ ñåòè
index_dhcpdnotfound=Ñåðâåð DHCP <i>$1</i> íå íàéäåí íà âàøåé ñèñòåìå. Âîçìîæíî îí íå èíñòàëëèðîâàí, èëè <a href="$2">êîíôèãóðàöèÿ ìîäóëÿ DHCP</a> íåêîððåêòíà.
plib_rdpath=Ïóòü ê êîðíåâîìó äèñêó
index_dhcpdver=Ïîõîæå, ÷òî ñåðâåð DHCP <i>$1</i> èìååò íåêîððåêòíóþ âåðñèþ. Webmin ïîääåðæèâàåò òîëüêî ISC DHCPD âåðñèè 2.
index_buttego=Ðåäàêòèðîâàòü Ãëîáàëüíûå Ïàðàìåòðû
listl_start=Äàòà Ñòàðòà
eopt_smask=Ìàñêà ïîäñåòè
eopt_hosttitle=Äëÿ õîñòà $1
eopt_statrouters=Ñòàòè÷åñêèå ìàðøðóòû
index_234memb=$1 ÷ëåíà
eopt_nbntype=NetBIOS òèï óçëà
eopt_nbs=NetBIOS áðàóçåð
shost_failsave=Îøèáêà ïðè ñîõðàíåíèè õîñòà
esub_tabhdr=Ïàðàìåòðû Ïîäñåòè
index_nohst=Íå îïðåäåëåíû íè õîñòû, íè ãðóïïû.
eopt_grouptitle=Äëÿ ãðóïïû ÷ëåíîâ $1
ssub_invalidsubaddr=íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì ïîäñåòè
secs=ñåê.
plib_snmask=Ìàñêà ïîäñåòè
eopt_rdpath=Ïóòü ê êîðíåâîìó äèñêó
index_buttapply=Ïðèíÿòü Èçìåíåíèÿ
listl_active=àêòèâíûõ
listl_host=Èìÿ õîñòà
esub_nmask=Ìàñêà ñåòè
sshared_faildel=Îøèáêà ïðè óäàëåíèè ðàçäåëÿåìîé ñåòè
no=Íåò
eopt_returnsub=ñïèñîê ïîäñåòåé
egroup_hosts=Õîñòû â äàííîé ãðóïïå
sshared_invalidsname=Óòåðÿíî èëè íåâåðíî èìÿ ðàçäåëÿåìîé ñåòè
plib_invalidsn=íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ñåðâåðà
ehost_tabhdr=Ïàðàìåòðû Õîñòà
shost_invalidhn=íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
egroup_crheader=Ñîçäàíèå Ãðóïïû Õîñòîâ
start_failstart=Îøèáêà ïðè ñòàðòå dhcpd
plib_bfserv=Ñåðâåð ñ çàãðóçî÷íûì ôàéëîì
plib_xdmserv=XDM ñåðâåðû
butt_create=Ñîçäàòü
plib_ntpserv=NTP ñåðâåðû
listl_end=Äàòà Îêîí÷àíèÿ
sopt_invalidip=íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
esub_return=ñïèñîê ïîäñåòåé
default=Ïî óìîë÷àíèþ
index_hst=Õîñòû è Ãðóïïû Õîñòîâ
plib_domname=Èìÿ äîìåíà
index_buttlal=Ñïèñîê Àêòèâíûõ Àðåíä
esh_tabhdr=Ïàðàìåòðû Ðàçäåëÿåìîé Ñåòè
plib_statrouters=Ñòàòè÷åñêèå ìàðøðóòû
listl_ether=Ethernet
esub_edheader=Ðåäàêòèðîâàíèå Ïîäñåòè
ssub_failsave=Îøèáêà ïðè ñîõðàíåíèè ïîäñåòè
egroup_nchoice=Èñïîëüçîâàòü èìÿ, êàê èìÿ õîñòà êëèåíòà?
ssub_faildel=Îøèáêà ïðè óäàëåíèè ïîäñåòè
plib_bfname=Èìÿ çàãðóçî÷íîãî ôàéëà
plib_nisdom=NIS äîìåí
index_addhstg=Äîáàâèòü íîâóþ ãðóïïó õîñòîâ
listl_ipaddr=IP Àäðåñ
ehost_return=ñïèñîê õîñòîâ
index_nosubdef=Íå îïðåäåëåíû íè ïîäñåòè, íè ðàçäåëÿåìûå ñåòè.
plib_lebc=Îêîí÷àíèå àðåíäû äëÿ BOOTP êëèåíòîâ
plib_swapserv=Swap ñåðâåðû
eopt_returnhost=ñïèñîê õîñòîâ
eopt_dnsserv=DNS ñåðâåðû
plib_thisserv=Äàííûé ñåðâåð
eopt_nisdom=NIS äîìåí
plib_nbntype=NetBIOS òèï óçëà
sopt_failsave=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ êëèåíòà
sopt_invalidint=íå ÿâëÿåòñÿ öåëûì ÷èñëîì
eopt_chost=Èìÿ õîñòà Êëèåíòà
egroup_eheader=Ðåäàêòèðîâàíèå Ãðóïïû Õîñòîâ
esh_return=ñïèñîê ïîäñåòåé
shost_faildel=Îøèáêà ïðè óäàëåíèè õîñòà
plib_defrouters=Ìàðøðóòèçàòîðû ïî óìîë÷àíèþ
eopt_baddr=Øèðîêîâåùàòåëüíûé àäðåñ
plib_timeserv=Time ñåðâåðû
070701000286b9000081a40000000000000002000000013d1fe2d700001630000000200000000000000000000000000000001700000003reloc/dhcpd/lang/ru_SU    index_title=óÅÒ×ÅÒ DHCP
index_dhcpdnotfound=óÅÒ×ÅÒ DHCP <i>$1</i> ÎÅ ÎÁÊÄÅÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ. ÷ÏÚÍÏÖÎÏ ÏÎ ÎÅ ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÉÌÉ <a href="$2">ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ DHCP</a> ÎÅËÏÒÒÅËÔÎÁ.
index_return=ÇÌÁ×ÎÏÅ ÍÅÎÀ
index_dhcpdver=ðÏÈÏÖÅ, ÞÔÏ ÓÅÒ×ÅÒ DHCP <i>$1</i> ÉÍÅÅÔ ÎÅËÏÒÒÅËÔÎÕÀ ×ÅÒÓÉÀ. Webmin ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ISC DHCPD ×ÅÒÓÉÉ 2.
index_subtitle=ðÏÄÓÅÔÉ É òÁÚÄÅÌÑÅÍÙÅ óÅÔÉ
index_nosubdef=îÅ ÏÐÒÅÄÅÌÅÎÙ ÎÉ ÐÏÄÓÅÔÉ, ÎÉ ÒÁÚÄÅÌÑÅÍÙÅ ÓÅÔÉ.
index_addsub=äÏÂÁ×ÉÔØ ÎÏ×ÕÀ ÐÏÄÓÅÔØ
index_addnet=äÏÂÁ×ÉÔØ ÎÏ×ÕÀ ÒÁÚÄÅÌÑÅÍÕÀ ÓÅÔØ
index_nomemb=îÅÔ ÞÌÅÎÏ×
index_1memb=1 ÞÌÅÎ
index_234memb=$1 ÞÌÅÎÁ
index_memb=$1 ÞÌÅÎÏ×
index_hst=èÏÓÔÙ É çÒÕÐÐÙ èÏÓÔÏ×
index_nohst=îÅ ÏÐÒÅÄÅÌÅÎÙ ÎÉ ÈÏÓÔÙ, ÎÉ ÇÒÕÐÐÙ.
index_addhst=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÈÏÓÔ
index_addhstg=äÏÂÁ×ÉÔØ ÎÏ×ÕÀ ÇÒÕÐÐÕ ÈÏÓÔÏ×
index_buttego=òÅÄÁËÔÉÒÏ×ÁÔØ çÌÏÂÁÌØÎÙÅ ðÁÒÁÍÅÔÒÙ
index_ego=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÁÒÁÍÅÔÒÏ× DHCP, ËÏÔÏÒÙÅ ÏÔÎÏÓÑÔÓÑ ËÏ ×ÓÅÍ ÐÏÄÓÅÔÑÍ, ÒÁÚÄÅÌÑÅÍÙÍ ÓÅÔÑÍ, ÈÏÓÔÁÍ É ÇÒÕÐÐÁÍ
index_buttlal=óÐÉÓÏË áËÔÉ×ÎÙÈ áÒÅÎÄ
index_lal=ðÏËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÁÒÅÎÄ DHCP ÓÅÒ×ÅÒÁ ÄÌÑ ÄÉÎÁÍÉÞÅÓËÉ ÐÒÉÓ×ÏÅÎÎÙÈ IP ÁÄÒÅÓÏ×.
index_buttapply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_apply=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÁËÔÉ×ÉÚÁÃÉÉ ÓÄÅÌÁÎÙÈ ÉÚÍÅÎÅÎÉÊ, ÐÕÔÅÍ ÐÅÒÅÚÁÐÕÓËÁ DHCP ÓÅÒ×ÅÒÁ.
index_buttstart=óÔÁÒÔÏ×ÁÔØ óÅÒ×ÅÒ
index_start=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÓÔÁÒÔÁ DHCP ÓÅÒ×ÅÒÁ ÉÓÐÏÌØÚÕÑ ÔÅËÕÝÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ.

butt_save=óÏÈÒÁÎÉÔØ
butt_eco=òÅÄÁËÔÉÒÏ×ÁÔØ ðÁÒÁÍÅÔÒÙ ëÌÉÅÎÔÁ
butt_del=õÄÁÌÉÔØ
butt_create=óÏÚÄÁÔØ

esub_crheader=óÏÚÄÁÎÉÅ ðÏÄÓÅÔÉ
esub_edheader=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÄÓÅÔÉ
esub_tabhdr=ðÁÒÁÍÅÔÒÙ ðÏÄÓÅÔÉ
esub_naddr=óÅÔÅ×ÏÊ ÁÄÒÅÓ
esub_nmask=íÁÓËÁ ÓÅÔÉ
esub_arange=äÉÁÐÁÚÏÎÙ ÁÄÒÅÓÏ×
esub_dbooptpq=äÉÎÁÍÉÞÅÓËÉÊ BOOTP ?
esub_shnet=òÁÚÄÅÌÑÅÍÁÑ ÓÅÔØ
esub_return=ÓÐÉÓÏË ÐÏÄÓÅÔÅÊ

esh_crheader=óÏÚÄÁÎÉÅ òÁÚÄÅÌÑÅÍÏÊ óÅÔÉ
esh_eheader=òÅÄÁËÔÉÒÏ×ÁÎÉÅ òÁÚÄÅÌÑÅÍÏÊ óÅÔÉ
esh_tabhdr=ðÁÒÁÍÅÔÒÙ òÁÚÄÅÌÑÅÍÏÊ óÅÔÉ
esh_netname=éÍÑ ÓÅÔÉ
esh_return=ÓÐÉÓÏË ÐÏÄÓÅÔÅÊ

ehost_crheader=óÏÚÄÁÎÉÅ èÏÓÔÁ
ehost_eheader=òÅÄÁËÔÉÒÏ×ÁÎÉÅ èÏÓÔÁ
ehost_tabhdr=ðÁÒÁÍÅÔÒÙ èÏÓÔÁ
ehost_hname=éÍÑ ÈÏÓÔÁ
ehost_fixedip=æÉËÓÉÒÏ×ÁÎÎÙÊ IP ÁÄÒÅÓ
ehost_return=ÓÐÉÓÏË ÈÏÓÔÏ×

egroup_crheader=óÏÚÄÁÎÉÅ çÒÕÐÐÙ èÏÓÔÏ×
egroup_eheader=òÅÄÁËÔÉÒÏ×ÁÎÉÅ çÒÕÐÐÙ èÏÓÔÏ×
egroup_tblhdr=ðÁÒÁÍÅÔÒÙ çÒÕÐÐÙ
egroup_hosts=èÏÓÔÙ × ÄÁÎÎÏÊ ÇÒÕÐÐÅ
egroup_nchoice=éÓÐÏÌØÚÏ×ÁÔØ ÉÍÑ, ËÁË ÉÍÑ ÈÏÓÔÁ ËÌÉÅÎÔÁ?
egroup_return=ÓÐÉÓÏË ÈÏÓÔÏ×

yes=äÁ
no=îÅÔ
default=ðÏ ÕÍÏÌÞÁÎÉÀ
secs=ÓÅË.
none=îÅÔ

listl_header=áÒÅÎÄÙ DHCP
listl_lfnotexist=æÁÊÌ DHCPd ÁÒÅÎÄ <tt>$1</tt> ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.
listl_lfnotcont=æÁÊÌ DHCPd ÁÒÅÎÄ <tt>$1</tt> ÎÅ ÓÏÄÅÒÖÉÔ $2 ÁÒÅÎÄ.
listl_active=ÁËÔÉ×ÎÙÈ
listl_ipaddr=IP áÄÒÅÓ
listl_ether=Ethernet
listl_host=éÍÑ ÈÏÓÔÁ
listl_start=äÁÔÁ óÔÁÒÔÁ
listl_end=äÁÔÁ ïËÏÎÞÁÎÉÑ
listl_return=ÓÐÉÓÏË ÐÏÄÓÅÔÅÊ

restart_errmsg1=ïÛÉÂËÁ ÐÒÉ ÒÅÓÔÁÒÔÅ dhcpd
restart_errmsg2=ïÛÉÂËÁ ÐÒÉ ÏÔÓÙÌËÅ ÓÉÇÎÁÌÁ ÐÒÏÃÅÓÓÕ
start_failstart=ïÛÉÂËÁ ÐÒÉ ÓÔÁÒÔÅ dhcpd

sgroup_faildel=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÇÒÕÐÐÙ
sgroup_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÇÒÕÐÐÙ

shost_faildel=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÈÏÓÔÁ
shost_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÈÏÓÔÁ
shost_invalidhn=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
shost_invalidhwa='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ $2 ÁÄÒÅÓÏÍ

sopt_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ËÌÉÅÎÔÁ
sopt_invalidip=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
sopt_invalidint=ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ
sopt_invalidipp=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÐÁÒÏÊ IP ÁÄÒÅÓÏ× (ÔÉÐÁ 1.2.3.4,5.6.7.8)

sshared_faildel=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÒÁÚÄÅÌÑÅÍÏÊ ÓÅÔÉ
sshared_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÁÚÄÅÌÑÅÍÏÊ ÓÅÔÉ
sshared_invalidsname=õÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏ ÉÍÑ ÒÁÚÄÅÌÑÅÍÏÊ ÓÅÔÉ

ssub_faildel=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÐÏÄÓÅÔÉ
ssub_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÄÓÅÔÉ
ssub_invalidsubaddr=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ ÐÏÄÓÅÔÉ
ssub_invalidnmask=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ
ssub_invalidipr=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÉÁÐÁÚÏÎÏÍ IP ÁÄÒÅÓÏ×

plib_deflt=÷ÒÅÍÑ ÁÒÅÄÙ ÐÏ ÕÍÏÌÞÁÎÉÀ
plib_bfname=éÍÑ ÚÁÇÒÕÚÏÞÎÏÇÏ ÆÁÊÌÁ
plib_maxlt=íÁËÓÉÍÁÌØÎÏÅ ×ÒÅÍÑ ÁÒÅÄÙ
plib_bfserv=óÅÒ×ÅÒ Ó ÚÁÇÒÕÚÏÞÎÙÍ ÆÁÊÌÏÍ
plib_thisserv=äÁÎÎÙÊ ÓÅÒ×ÅÒ
plib_servname=éÍÑ ÓÅÒ×ÅÒÁ
plib_llbc=ðÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ ÁÒÅÎÄÙ ÄÌÑ BOOTP ËÌÉÅÎÔÏ×
plib_forever=îÁ×ÓÅÇÄÁ
plib_lebc=ïËÏÎÞÁÎÉÅ ÁÒÅÎÄÙ ÄÌÑ BOOTP ËÌÉÅÎÔÏ×
plib_never=îÉËÏÇÄÁ
plib_invalidlt=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ÁÒÅÎÄÙ
plib_invalidsn=ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÓÅÒ×ÅÒÁ
plib_leformat=äÁÔÁ ÏËÏÎÞÁÎÉÑ ÁÒÅÎÄÙ ÄÏÌÖÎÁ ÂÙÔØ × ÆÏÒÍÁÔÅ W YYYY/MM/DD HH:MM:SS
plib_copt=ðÁÒÁÍÅÔÒÙ ëÌÉÅÎÔÁ
plib_chname=éÍÑ ÈÏÓÔÁ ËÌÉÅÎÔÁ
plib_defrouters=íÁÒÛÒÕÔÉÚÁÔÏÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ
plib_snmask=íÁÓËÁ ÐÏÄÓÅÔÉ
plib_babbr=ûÉÒÏËÏ×ÅÝÁÔ. ÁÄÒÅÓ
plib_domname=éÍÑ ÄÏÍÅÎÁ
plib_dnsserv=DNS ÓÅÒ×ÅÒÙ
plib_timeserv=Time ÓÅÒ×ÅÒÙ
plib_logserv=Log ÓÅÒ×ÅÒÙ
plib_swapserv=Swap ÓÅÒ×ÅÒÙ
plib_rdpath=ðÕÔØ Ë ËÏÒÎÅ×ÏÍÕ ÄÉÓËÕ
plib_nisdom=NIS ÄÏÍÅÎ
plib_nisserv=NIS ÓÅÒ×ÅÒÙ
plib_fontserv=Font ÓÅÒ×ÅÒÙ
plib_xdmserv=XDM ÓÅÒ×ÅÒÙ
plib_statrouters=óÔÁÔÉÞÅÓËÉÅ ÍÁÒÛÒÕÔÙ
plib_ntpserv=NTP ÓÅÒ×ÅÒÙ
plib_nbns=NetBIOS ÓÅÒ×ÅÒÙ ÉÍÅÎ
plib_nbscope=NetBIOS ÂÒÁÕÚÅÒ
plib_nbntype=NetBIOS ÔÉÐ ÕÚÌÁ

eopt_header=ðÁÒÁÍÅÔÒÙ ëÌÉÅÎÔÁ
eopt_subtitle=äÌÑ ÐÏÄÓÅÔÉ $1
eopt_returnsub=ÓÐÉÓÏË ÐÏÄÓÅÔÅÊ
eopt_snettitle=äÌÑ ÒÁÚÄÅÌÑÅÍÏÊ ÓÅÔÉ $1
eopt_hosttitle=äÌÑ ÈÏÓÔÁ $1
eopt_returnhost=ÓÐÉÓÏË ÈÏÓÔÏ×
eopt_grouptitle=äÌÑ ÇÒÕÐÐÙ ÞÌÅÎÏ× $1
eopt_alltitle=äÌÑ ×ÓÅÈ ÓÅÔÅÊ, ÈÏÓÔÏ× É ÇÒÕÐÐ
eopt_returnindex=ÇÌÁ×ÎÏÅ ÍÅÎÀ
eopt_tabhdr=ðÁÒÁÍÅÔÒÙ ëÌÉÅÎÔÁ
eopt_chost=éÍÑ ÈÏÓÔÁ ëÌÉÅÎÔÁ
eopt_defrouters=íÁÒÛÒÕÔÉÚÁÔÏÒÙ ÐÏ ÕÍÏÌÞÁÎÉÀ
eopt_smask=íÁÓËÁ ÐÏÄÓÅÔÉ
eopt_baddr=ûÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÊ ÁÄÒÅÓ
eopt_domname=éÍÑ ÄÏÍÅÎÁ
eopt_dnsserv=DNS ÓÅÒ×ÅÒÙ
eopt_timeserv=Time ÓÅÒ×ÅÒÙ
eopt_logserv=Log ÓÅÒ×ÅÒÙ
eopt_swapserv=Swap ÓÅÒ×ÅÒ
eopt_rdpath=ðÕÔØ Ë ËÏÒÎÅ×ÏÍÕ ÄÉÓËÕ
eopt_nisdom=NIS ÄÏÍÅÎ
eopt_nisserv=NIS ÓÅÒ×ÅÒÙ
eopt_fontserv=Font ÓÅÒ×ÅÒÙ
eopt_xdmserv=XDM ÓÅÒ×ÅÒÙ
eopt_statrouters=óÔÁÔÉÞÅÓËÉÅ ÍÁÒÛÒÕÔÙ
eopt_ntpserv=NTP ÓÅÒ×ÅÒÙ
eopt_nbns=NetBIOS ÓÅÒ×ÅÒÙ ÉÍÅÎ
eopt_nbs=NetBIOS ÂÒÁÕÚÅÒ
eopt_nbntype=NetBIOS ÔÉÐ ÕÚÌÁ

070701000286bc000081a40000000000000002000000013d1fe2d700002abf000000200000000000000000000000000000001400000003reloc/dhcpd/lang/sv   index_title=DHCP-server
index_dhcpdnotfound=Det går inte att hitta DHCP-server <i>$1</i> på ditt system. Den är förmodligen inte installerad, eller också är dina <a href=\"$2">DHCP-modulinställningar</a> felaktiga.
index_return=index
index_dhcpdver=DHCP-server <i>$1</i> verkar inte ha rätt version. Webmin stödjer bara ISC DHCPD version 2.
index_subtitle=Delnät och delade nätverk
index_nosubdef=Du har inte definierat några delnät eller delade nätverk.
index_addsub=Lägg till ett delnät
index_addnet=Lägg till ett delat nätverk
index_nomemb=Inga medlemmar
index_1memb=1 medlem
index_234memb=$1 medlemmar
index_memb=$1 medlemmar
index_hst=Datorer och datorgrupper
index_nohst=Du har inte definierat några datorer eller grupper.
index_hostgroup=Dator/Grupp
index_parent=Förälder
index_hardware=Hårdvaruadress
index_group=Grupp:
index_nameip=Datornamn eller IP-nummer
index_net=Nätverk
index_netmask=Nätmask
index_addhst=Lägg till en dator
index_addhstg=Lägg till en datorgrupp
index_buttego=Ändra klientinställningar
index_ego=Ändra DHCP-klientinställningar som ska gälla för alla delnät, delade nätverk, datorer och datorgrupper
index_buttlal=Räkna upp aktiva lån
index_lal=Lista lån från denna DHCP-server för dynamiska IP-adresser.
index_buttapply=Genomför ändringar
index_apply=Tryck på denna knapp för att ta denna konfiguration i drift på aktiv DHCP-server genom att stanna och starta om den.
index_buttstart=Starta server
index_start=Tryck på denna knapp för att starta en DHCP-server med denna konfiguration på ditt system.
index_hdisplay=Ordna datorer och grupper efter:
index_horder0=Nivå
index_horder1=Filstruktur
index_horder2=Namn
index_horder3=Hårdvaruadress
index_horder4=IP-adress
index_togroup=Grupp
index_tosubnet=Delnät
index_toshared=Nätverk
index_ndisplay=Ordna nät och delnät efter:
index_norder0=Nivå
index_norder1=Filstruktur
index_norder2=Namn/IP-adress

butt_save=Spara
butt_eco=Ändra klientinställningar
butt_vco=Visa klientinställningar
butt_del=Ta bort
butt_create=Skapa

esub_crheader=Lägg till delnät
esub_edheader=Ändra delnät
esub_tabhdr=Uppgifter om delnät
esub_naddr=Nätverksadress
esub_nmask=Nätmask
esub_arange=Adressintervall
esub_dbooptpq=Dynamisk BOOTP?
esub_shnet=Delat nätverk
esub_hosts=Datorer direkt i detta delnät
esub_groups=Grupper direkt i detta delnät
esub_pools=Adresspooler för delnät
esub_pool=Pool $1
esub_poolnone=Du har inte angivit någon adresspool
esub_pooladd=Lägg till en adresspool
esub_none=Ingen
esub_return=lista över delnät
esub_retshar=delat nätverk

esh_crheader=Skapa delat nätverk
esh_eheader=Ändra delat nätverk
esh_tabhdr=Uppgifter om delat nätverk
esh_netname=Nätverksnamn
esh_hosts=Datorer direkt i detta delade nätverk
esh_groups=Grupper direkt i detta delade nätverk
esh_subn=Delnät i detta delade nätverk
esh_return=lista över delnät

ehost_crheader=Lägg till dator
ehost_eheader=Ändra dator
ehost_tabhdr=Uppgifter om dator
ehost_hname=Datornamn
ehost_nojavascr=Din webbläsare verkar inte stöda javascript. Välj rätt alternativ ur listan nedan.
ehost_assign=Dator på
ehost_toplevel=Toppnivå
ehost_inshared=Delat nätverk
ehost_insubnet=Delnät
ehost_ingroup=Grupp
ehost_hwaddr=Hårdvaruadress
ehost_fixedip=Fast IP-adress
ehost_subnet=I delnät $1/$2
ehost_shared=I det delade nätverket $1
ehost_in=i
ehost_return=datorlista
ehost_retgroup=grupp
ehost_retsubn=delnät
ehost_retshar=delat nätverk

egroup_crheader=Lägg till datorgrupp
egroup_eheader=Ändra datorgrupp
egroup_tblhdr=Uppgifter om datorgrupp
egroup_assign=Gruppen avdelad till
egroup_hosts=Datorer i denna grupp
egroup_nchoice=Använda namnet som datornamn för klienter?
egroup_return=datorlista
egroup_retsubn=delnät
egroup_retshar=delat nätverk

default=Standard
secs=s
none=Inga

listl_header=DHCP-lån
listl_lfnotexist=DHCPd-lånefilen <tt>$1</tt> finns inte.
listl_lfnotcont=DHCPd-lånefilen <tt>$1</tt> innehåller inte något $2 lån.
listl_active=aktivt
listl_ipaddr=IP-adress
listl_ether=Ethernet
listl_host=Datornamn
listl_start=Startdatum
listl_end=Slutdatum
listl_return=lista över nätverk och datorer
listl_all=Visa alla aktiva och utgångna lån
listl_delete=Klicka på en låne-IP-adress i listan ovan för att ta bort den.

restart_errmsg1=Det gick inte att starta om dhcpd
restart_errmsg2=Det gick inte att skicka signal till process
start_failstart=Det gick inte att starta dhcpd

sgroup_faildel=Det gick inte att ta bort grupp
sgroup_failsave=Det gick inte att spara grupp
sgroup_invassign=gruppen har avdelats till en ogiltig sektion
sgroup_echanged=Innehållet i konfigurationsfilen har ändrats. Försök igen.

shost_faildel=Det gick inte att ta bort dator
shost_failsave=Det gick inte att spara dator
shost_invalidhn=är inte ett giltigt datornamn
shost_invalidhwa='$1' är inte en giltig $2-adress
shost_invalidaddr='$1' innehåller ett ogiltigt datornamn eller ogiltig IP-adress
shost_invassign=datorn har avdelats till en ogiltig sektion

sopt_failsave=Det gick inte att spara klientinställningar
sopt_invalidip=är inte en giltig IP-adress
sopt_invalidint=är inte ett heltal
sopt_invalidipp=är inte ett giltigt IP-adresspar (t ex 1.2.3.4,5.6.7.8)

sshared_faildel=Det gick inte att ta bort det delade nätverket
sshared_failsave=Det gick inte att spara delat nätverk
sshared_invalidsname=Namnet på det delade nätverket saknas eller är inte ett giltigt namn.
sshared_nosubnet=Det delade nätverket '$1' innehåller inget delnät.

ssub_faildel=Det gick inte att ta bort delnätet
ssub_failsave=Det gick inte att spara delnätet
ssub_invalidsubaddr=är inte en giltig delnätsadress
ssub_invalidnmask=är inte en giltig nätmask
ssub_invalidipr=är inte ett giltigt IP-adressintervall
ssub_nosubnet=Det delade nätverket '$1' innehåller inget delnät.

plib_deflt=Standardlånetid
plib_bfname=Boot-filnamn
plib_maxlt=Maximal lånetid
plib_bfserv=Boot-filserver
plib_thisserv=Denna server
plib_servname=Servernamn
plib_llbc=Lånetid för BOOTP-klienter
plib_forever=Alltid
plib_lebc=Lånet upphör för BOOTP-klienter
plib_never=Aldrig
plib_invalidlt=är inte en giltig lånetid
plib_invalidsn=är inte ett giltigt servernamn
plib_invaliddom=$1 är inte ett giltigt domännamn
plib_leformat=Datum för lånets upphörande måste ha format W ÅÅÅÅ/MM/DD TT:MM:SS
plib_copt=Klientinställningar
plib_chname=Datornamn för klient
plib_defrouters=Standardroutrar
plib_snmask=Delnätsmask
plib_babbr=Broadcast-adress
plib_domname=Domännamn
plib_dnsserv=DNS-servrar
plib_timeserv=Tidservrar
plib_logserv=Loggservrar
plib_swapserv=Swap-server
plib_rdpath=Sökväg till rotdisk
plib_nisdom=NIS-domän
plib_nisserv=NIS-servrar
plib_fontserv=Typsnittsservrar
plib_xdmserv=XDM-servrar
plib_statrouters=Statiska vägar
plib_ntpserv=NTP-servrar
plib_nbns=NetBIOS-namnservrar
plib_nbscope=NetBIOS-område
plib_nbntype=NetBIOS-nodtyp
plib_ddnsdom=Dynamiskt DNS-domännamn
plib_ddnsrevdom=Dynamisk DNS-bakåtuppslagningsdomän
plib_ddnsup=Slå på dynamisk DNS?
plib_ddnshost=Datornamn för dynamisk DNS
plib_ddnshost_def=Från klient

eopt_header=Klientinställningar
eopt_subtitle=För delnät $1
eopt_returnsub=delnät
eopt_returnshsub=delat nätverk
eopt_snettitle=För delat nätverk $1
eopt_hosttitle=För dator $1
eopt_returnhost=dator
eopt_returngroup=datorgrupp
eopt_grouptitle=För grupper i $1
eopt_alltitle=För alla nätverk, datorer och grupper
eopt_returnindex=nätverks- och datorlista
eopt_tabhdr=Klientinställningar
eopt_chost=Datornamn för klient
eopt_defrouters=Standardroutrar
eopt_smask=Delnätsmask
eopt_baddr=Broadcast-adress
eopt_domname=Domännamn
eopt_dnsserv=DNS-servrar
eopt_timeserv=Tidsservrar
eopt_logserv=Loggservrar
eopt_swapserv=Swap-server
eopt_rdpath=Sökväg till rotdisk
eopt_nisdom=NIS-domän
eopt_nisserv=NIS-servrar
eopt_fontserv=Typsnittsservrar
eopt_xdmserv=XDM-servrar
eopt_statrouters=Statiska vägar
eopt_ntpserv=NTP-servrar
eopt_nbns=NetBIOS-namnservrar
eopt_nbs=NetBIOS-område
eopt_nbntype=NetBIOS-nodtyp
eopt_custom=Egen inställning
eopt_cnum=Nummer
eopt_cval=Värde

log_apply=Tog ändringarna i drift
log_start=Startade DHCP-server
log_create_subnet=Skapade delnät $1
log_delete_subnet=Tog bort delnät $1
log_modify_subnet=Modifierade delnät $1
log_options_subnet=Modifierade inställningarna för delnät $1
log_create_shared=Skapade delat nätverk $1
log_delete_shared=Tog bort delat nätverk $1
log_modify_shared=Modifierade delat nätverk $1
log_options_shared=Modifierade inställningarna för delat nätverk $1
log_create_host=Lade till dator $1
log_delete_host=Tog bort dator $1
log_modify_host=Modifierade dator $1
log_options_host=Modifierade inställningarna för dator $1
log_create_group=Skapade grupp med $1 datorer
log_delete_group=Tog bort grupp med $1 datorer
log_modify_group=Modifierade grupp med $1 datorer
log_options_group=Modifierade inställningarna för grupp med $1 datorer
log_delete_lease=Tog bort lånet för $1

pool_edit=Ändra adresspool
pool_create=Skapad adresspool
pool_header=Inställningar för adresspool
pool_allow=Klienter som ska släppas fram
pool_deny=Klienter som ska spärras
pool_return=subnet

cdel_header=Varning
cdel_shared1=delat nätverk
cdel_shared2=delat nätverk
cdel_subnet1=delnät
cdel_subnet2=delnät
cdel_subnet=delnät
cdel_subnets=delnät
cdel_group1=grupp
cdel_group2=grupp
cdel_group=grupp
cdel_groups=grupper
cdel_host=dator
cdel_hosts=datorer
cdel_txt=Om du tar bort $1 '$2' kommer du också att ta bort dess innehåll:
cdel_confirm=Vill du verkligen ta bort den här $1?
cdel_eunknown=Okänt fel
cdel_return=dator- och nätverkslista

eacl_aviol=Överträdelse av åtkomsträttigheter
eacl_np=Du får inte
eacl_pdh=ta bort en dator
eacl_pih=lägga till datorer
eacl_puh=ändra en dator
eacl_psh=ange en dator
eacl_pdg=ta bort en grupp
eacl_pig=lägga till grupper
eacl_pug=ändra en grupp
eacl_psg=ange en grupp
eacl_pds=ta bort delnät
eacl_pis=lägga till delnät
eacl_pus=ändra ett delnät
eacl_pss=ange ett delnät
eacl_pdn=ta bort ett delat nätverk
eacl_pin=lägga till delade nätverk
eacl_pun=ändra ett delat nätverk
eacl_psn=ange ett delat nätverk
eacl_uniq=skapa dubbletter
eacl_pdl=ta bort lån
eacl_psl=se lån
eacl_pglob=ändra globala inställningar
eacl_papply=starta om denna tjänst

acl_apply=Kunna ta ändringar i drift?
acl_r_leases=Kunna se lån?
acl_w_leases=Kunna ta bort lån?
acl_global=Kunna ändra globala inställningar?
acl_uniq_hst=Unika datornamn?
acl_uniq_sub=Unika IP-adresser för delnät?
acl_uniq_sha=Unika namn för delade nät?
acl_seclevel=Säkerhetsnivå:
acl_hide=Gömma objekt som inte går att komma åt?
acl_ahst=Kom åt datorer:
acl_agrp=Kom åt grupper:
acl_asub=Kom åt delnät:
acl_asha=Kom åt delade nätverk:
acl_per_hst_acls=Möjliggöra ACL:er per dator?
acl_per_sub_acls=Möjliggöra ACL:er per delnät?
acl_per_obj_acls=ACL:er per objekt ...
acl_na=ej tillåtna
acl_r1=endast för läsning
acl_rw=för läsning och skrivning
acl_c=skapa
acl_r=läs
acl_w=skriv
acl_err=Ett fel uppstod när ACL:en skulle sparas.
acl_ernow=Om du vill möjliggöra åtkomst för skrivning i globala ACL:er för något objekt, msåste du också slå på läsåtkomst för denna typ av objekt.
acl_normal=normal
acl_paranoic=paranoid
 070701000286bd000081a40000000000000002000000013d1fe2d700001927000000200000000000000000000000000000001400000003reloc/dhcpd/lang/tr   index_title=DHCP Sunucusu
index_dhcpdnotfound=DHCP sunucusu <i>$1</i> sisteminizde bulunamadý.Kurulmamýþ ya da  <a href="$2">DHCP modül ayarlarý </a> yanlýþ olabilir
index_return=indeks
index_dhcpdver=DHCP sunucusu <i>$1</i> doðru versiyona sahip deðildir.Webmin sadece ISC DHCPD versiyon 2'yi destekler 
index_subtitle=Alt ve Paylaþýlmýþ Aðlar
index_nosubdef=Alt ya da paylaþýlmýþ að tanýmlanmamýþ
index_addsub=Yeni bir alt að ekle
index_addnet=Yeni bir paylaþýlmýþ að ekle
index_nomemb=Üye yok
index_1memb=1 üye
index_234memb=$1 üyeler
index_memb=$1 üyeler
index_hst=Makineler ve Makine Gruplarý
index_nohst=Makine ya da gruplar tanýmlanmamýþ
index_addhst=Yeni bir makine ekle
index_addhstg=Yeni bir makine grubu ekle
index_buttego=Genel Seçenekleri deðiþtir
index_ego=Bütün alt aðlar, paylaþýlmýþ aðlar, makine ve gruplara uygulanan DHCP seçeneklerini deðiþtir
index_buttlal=Aktif Komþularý Listele
index_lal=DHCP sunucusu ile dinamik olarak tanýmlanmýþ komþularý listele
index_buttapply=Deðiþiklikleri Uygula
index_apply=Bu butonu týklayarak çalýþan DHCP sunucusunu durdurup tekrar baþlatabilirsiniz
index_buttstart=Sunucuyu Baþlat
index_start=Bu butonu týklayarak varolan ayarlar ile DHCP sunucusunu çalýþtýrabilirsiniz

butt_save=Kaydet
butt_eco=Ýstemci Seçeneklerini Deðiþtir
butt_del=Sil
butt_create=Oluþtur

esub_crheader=Alt Að Oluþtur
esub_edheader=Alt Aðý Deðiþtir
esub_tabhdr=Alt Að Ayrýntýlarý
esub_naddr=Að Adresleri
esub_nmask=Netmask
esub_arange=Adres Alanlarý
esub_dbooptpq=Dinamik BOOTP ?
esub_shnet=Paylaþýlmýþ Að ?
esub_return=alt að listesi

esh_crheader=Paylaþýlmýþ Að Oluþtur
esh_eheader=Paylaþýlmýþ Aðý Deðiþtir
esh_tabhdr=Paylaþýlmýþ Að Ayrýntýlarý
esh_netname=Að Ýsmi
esh_return=alt að listesi

ehost_crheader=Makine Oluþtur
ehost_eheader=Makineyi Deðiþtir
ehost_tabhdr=Makine Ayrýntýlarý
ehost_hname=Makine ismi
ehost_fixedip=Sabitlenmiþ IP adresi
ehost_return=makine listesi

egroup_crheader=Makine Grubu Oluþtur
egroup_eheader=Makine Grubunu Deðiþtir
egroup_tblhdr=Grup Ayrýntýlarý
egroup_hosts=Bu gruptaki makineler
egroup_nchoice=Ýsimi istemci makine adý olarak kullan?
egroup_return=makine listesi

yes=Evet
no=Hayýr
default=Öntanýmlý
secs=saniye
none=Hiçbiri

listl_header=DHCP Gecikmeleri
listl_lfnotexist=The DHCPd gecikme dosyasý <tt>$1</tt> mevcut deðil
listl_lfnotcont=The DHCPd gecikme dosyasý <tt>$1</tt> $2 gecikmeleri içermiyor
listl_active=aktif
listl_ipaddr=IP Adresi
listl_ether=Ethernet
listl_host=Makine Adý
listl_start=Baþlangýç Zamaný
listl_end=Bitiþ Zamaný
listl_return=alt að listesi

restart_errmsg1=Dhcpd'nin Yeniden baþlatýlmasýnda hata oluþtu
restart_errmsg2=Ýþlem sinyalinde hata oluþtu
start_failstart=dhcpd'nin baþlatýlmasýnda hata oluþtu

sgroup_faildel=Grubun silinmesinde hata oluþtu
sgroup_failsave=Grubun kaydedilmesinde hata oluþþtu

shost_faildel=Makinenin silinmesinde hata oluþtu
shost_failsave=Makinenin kaydedilmesinde hata oluþtu
shost_invalidhn=geçerli bir makine adý deðil
shost_invalidhwa='$1' geçerli $2 adresi deðil

sopt_failsave=Ýstemci seçeneklerinin kaydedilmesinde hata oluþtu
sopt_invalidip=geçerli bir IP adresi deðil
sopt_invalidint=bir tam sayý deðil
sopt_invalidipp=geçerli bir IP adres çifti deðil (1.2.3.4,5.6.7.8 gibi)

sshared_faildel=Paylaþýlmýþþ aðýn silinmesinde hata oluþtu
sshared_failsave=Paylaþýlmýþ aðýn kaydedilmesinde hata oluþtu
sshared_invalidsname=Kayýp ya da yanlýþ paylaþýlmýþ að adý

ssub_faildel=Alt aðýn silinmesinde hata oluþtu
ssub_failsave=Alt aðýn kaydedilmesinde hata oluþtu
ssub_invalidsubaddr=geçerli bir alt að adresi deðil
ssub_invalidnmask=geçerli bir að maskesi deðil
ssub_invalidipr=geçerli bir IP adres alaný deðil

plib_deflt=Öntanýmlý gecikme süresi
plib_bfname=Açýlýþ dosya ismi
plib_maxlt=En büyük gecikme zamaný
plib_bfserv=Açýlýþ dosya sunucusu
plib_thisserv=Bu sunucu
plib_servname=Sunucu ismi
plib_llbc=BOOTP istemcileri için gecikme uzunluðu
plib_forever=Daima
plib_lebc=BOOTP istemcileri için gecikme sonu 
plib_never=Asla
plib_invalidlt=geçerli bir gecikme süresi deðil
plib_invalidsn=geçerli bir sunucu ismi deðil
plib_leformat=Gecikme sonu zamaný bu þekilde olmalýdýr W YYYY/MM/DD HH:MM:SS
plib_copt=Ýstemci Seçenekleri
plib_chname=Ýstemci Makine Adý
plib_defrouters=Ön tanýmlý yönlendiriciler
plib_snmask=Alt að maskesi
plib_babbr=Yayýn(Broadcast) adresi
plib_domname=Alan ismi
plib_dnsserv=DNS sunucusu
plib_timeserv=Zaman sunucularý
plib_logserv=Log sunucularý
plib_swapserv=Takas(swap) sunucusu
plib_rdpath=Root disk yolu
plib_nisdom=NIS alaný
plib_nisserv=NIS sunucularý
plib_fontserv=Font sunucularý
plib_xdmserv=XDM sunucularý
plib_statrouters=Sabit routes
plib_ntpserv=NTP sunucularý
plib_nbns=NetBIOS isim sunucularý
plib_nbscope=NetBIOS sahasý
plib_nbntype=NetBIOS düðüm tipi

eopt_header=Ýstemci Seçenekleri
eopt_subtitle=$1 alt aðý için
eopt_returnsub=alt að listesi
eopt_snettitle=Paylaþýlmýþ að $1 için
eopt_hosttitle=Makine $1 için
eopt_returnhost=makine listesi
eopt_grouptitle=$1 üye grubu için
eopt_alltitle=Bütün aðlar, makineler ve gruplar için
eopt_returnindex=indeks
eopt_tabhdr=Ýstemci Seçenekleri
eopt_chost=Ýstemci Makine Adý
eopt_defrouters=Ön tanýmlý yönlendiriciler
eopt_smask=Alt að maskesi
eopt_baddr=Yayýn adresi
eopt_domname=Alan adý
eopt_dnsserv=DNS sunucularý
eopt_timeserv=Zaman sunucularý
eopt_logserv=Log sunucularý
eopt_swapserv=Takas(swap) sunucusu
eopt_rdpath=Root disk yolu
eopt_nisdom=NIS alaný
eopt_nisserv=NIS sunucularý
eopt_fontserv=Font sunucularý
eopt_xdmserv=XDM sunucularý
eopt_statrouters=Sabit routes
eopt_ntpserv=NTP sunucularý
eopt_nbns=NetBIOS isim sunucularý
eopt_nbs=NetBIOS sahasý
eopt_nbntype=NetBIOS düðüm tipi

log_apply=Deðiþiklikler uygulandý
log_start=DHCP sunucusu baþlatýldý
log_create_subnet=Alt bölge $1 oluþturuldu
log_delete_subnet=Alt bölge $1 silindi
log_modify_subnet=Alt bölge $1 deðiþtirildi
log_options_subnet=Alt bölge $1 için deçenekler deðiþtirildi
log_create_shared=Paylaþýlmýþ að $1 oluþturuldu
log_delete_shared=Paylaþýlmýþ að $1 silindi
log_modify_shared=Paylaþýlmýþ að $1 deðiþtirildi
log_options_shared=Paylaþýlmýþ að $1 için seçenekler deðiþtirildi
log_create_host=$1 makinesi oluþturuldu
log_delete_host=$1 makinesi silindi
log_modify_host=$1 makinesi deðiþtirildi
log_options_host=$1 makinesi için seçenekler deðiþtirildi
log_create_group=$1 makine grubu oluþturuldu
log_delete_group=$1 makine grubu silindi
log_modify_group=$1 makine grubu deðiþtirildi
log_options_group=$1 makine grubunun seçenekleri deðiþtirildi

 070701000286be000081a40000000000000002000000013d1fe2d70000104d000000200000000000000000000000000000001700000003reloc/dhcpd/lang/zh_CN    index_title=DHCP·þÎñÆ÷
index_dhcpdnotfound=ÔÚÄúµÄÏµÍ³ÉÏÃ»ÕÒµ½DHCP·þÎñÆ÷<i>$1</i>. ¿ÉÄÜÊÇÃ»°²×°,Ò²¿ÉÄÜÊÇÄúµÄ <a href="$2">DHCPÄ£¿éÅäÖÃ</a>²»ÕýÈ·¡£
index_return=Ë÷Òý
index_dhcpdver=DHCP·þÎñÆ÷<i>$1</i> µÄ°æ±¾²»ÕýÈ·. WebminÖ»Ö§³ÖISC DHCPD°æ±¾2¡£
index_subtitle=×ÓÍøºÍ¹²ÏíÍøÂç
index_nosubdef=Ã»ÓÐ¶¨Òå×ÓÍø»ò¹²ÏíÍøÂç¡£
index_addsub=Ôö¼ÓÒ»¸öÐÂµÄ×ÓÍø
index_addnet=Ôö¼ÓÒ»¸öÐÂµÄ¹²ÏíÍøÂç
index_nomemb=Ã»ÓÐ³ÉÔ±
index_1memb=Ò»¸ö³ÉÔ±
index_234memb=$1 ¸ö³ÉÔ±
index_memb=$1 ¸ö³ÉÔ±
index_hst=Ö÷»úºÍÖ÷»ú×é
index_nohst=Ã»ÓÐ¶¨ÒåÖ÷»ú»òÖ÷»ú×é¡£
index_addhst=Ôö¼ÓÒ»¸öÐÂµÄÖ÷»ú
index_addhstg=Ôö¼ÓÒ»¸öÐÂµÄÖ÷»ú×é
index_buttego=±à¼­¿Í»§Ñ¡Ïî
index_ego=±à¼­Ó¦ÓÃÓÚËùÓÐ×ÓÍø¡¢¹²ÏíÍøÂç¡¢Ö÷»ú»òÖ÷»ú×éµÄDHCPÑ¡Ïî
index_buttlal=ÁÐ³ö»î¶¯µÄ×âÁÞ
index_lal=ÁÐ³öµ±Ç°ÓÉ´ËDHCP·þÎñÆ÷Îª¶¯Ì¬·ÖÅäIPµØÖ·¶ø·¢³ö×âÁÞ¡£
index_buttapply=Ó¦ÓÃ¸Ä±ä
index_apply=°´Õâ¸ö°´Å¥Í£Ö¹ºÍÖØÆôDHCP·þÎñÆ÷ÒÔÊ¹µ±Ç°µÄÅäÖÃÓ¦ÓÃÓÚ¸ÃDHCP·þÎñÆ÷¡£
index_buttstart=Æô¶¯·þÎñÆ÷
index_start=°´Õâ¸ö°´Å¥ÔÚµ±Ç°ÏµÍ³ÖÐÓÃµ±Ç°µÄÅäÖÃÆô¶¯DHCP·þÎñÆ÷¡£
butt_save=±£´æ
butt_eco=±à¼­¿Í»§Ñ¡Ïî
butt_del=É¾³ý
butt_create=´´½¨
esub_crheader=´´½¨×ÓÍø
esub_edheader=±à¼­×ÓÍø
esub_tabhdr=×ÓÍøÏ¸½Ú
esub_naddr=ÍøÂçµØÖ·
esub_nmask=ÍøÂçÑÚÂë
esub_arange=µØÖ··¶Î§
esub_dbooptpq=¶¯Ì¬BOOTP £¿
esub_shnet=¹²ÏíÍøÂç
esub_return=×ÓÍøÁÐ±í
esh_crheader=´´½¨¹²ÏíÍøÂç
esh_eheader=±à¼­¹²ÏíÍøÂç
esh_tabhdr=¹²ÏíÍøÂçÏ¸½Ú
esh_netname=ÍøÂçÃû
esh_return=×ÓÍøÁÐ±í
ehost_crheader=´´½¨Ö÷»ú
ehost_eheader=±à¼­Ö÷»ú
ehost_tabhdr=Ö÷»úÏ¸½Ú
ehost_hname=Ö÷»úÃû
ehost_fixedip=¹Ì¶¨µÄIPµØÖ·
ehost_return=Ö÷»úÁÐ±í
egroup_crheader=´´½¨Ö÷»ú×é
egroup_eheader=±à¼­Ö÷»ú×é
egroup_tblhdr=×éÏ¸½Ú
egroup_hosts=±¾×éÖÐµÄÖ÷»ú
egroup_nchoice=ÓÃ»§ÃûÓÃ×÷¿Í»§Ö÷»úÃû£¿
egroup_return=Ö÷»úÁÐ±í
yes=ÊÇ
no=²»
default=È±Ê¡
secs=Ãë
none=Ã»ÓÐ
listl_header=DHCP×âÁÞ
listl_lfnotexist=DHCPd×âÁÞÎÄ¼þ<tt>$1</tt> ²»´æÔÚ ¡£
listl_lfnotcont=DHCPd×âÁÞÎÄ¼þ<tt>$1</tt> ²»°üº¬ÈÎºÎ×âÁÞ¡£
listl_ipaddr=IPµØÖ·
listl_ether=ÒÔÌ«Íø
listl_host=Ö÷»úÃû
listl_start=¿ªÊ¼ÈÕÆÚ
listl_end=ÖÕÖ¹ÈÕÆÚ
listl_return=×ÓÍøºÍÖ÷»úÁÐ±í
restart_errmsg1=ÖØÆôdhcpdÊ§°Ü
restart_errmsg2=·¢ÐÅºÅ¸ø½ø³ÌÊ§°Ü
start_failstart=Æô¶¯dhcpdÊ§°Ü
sgroup_faildel=É¾³ý×éÊ§°Ü
sgroup_failsave=±£´æ×éÊ§°Ü
shost_faildel=É¾³ýÖ÷»úÊ§°Ü
shost_failsave=±£´æÖ÷»úÊ§°Ü
shost_invalidhn=²»ÊÇÓÐÐ§µÄÖ÷»úÃû
shost_invalidhwa='$1'²»ÊÇÓÐÐ§µÄ $2 µØÖ·
sopt_failsave=±£´æ¿Í»§Ñ¡ÏîÊ§°Ü
sopt_invalidip=²»ÊÇÓÐÐ§µÄIPµØÖ·
sopt_invalidint=²»ÊÇÒ»¸öÕûÊý
sopt_invalidipp=²»ÊÇÓÐÐ§µÄIPµØÖ·¶Ô (Ïó 1.2.3.4,5.6.7.8)
sshared_faildel=É¾³ý¹²ÏíÍøÂçÊ§°Ü
sshared_failsave=±£´æ¹²ÏíÍøÂçÊ§°Ü
sshared_invalidsname=È±ÉÙ»ò·Ç·¨µÄ¹²ÏíÍøÂçÃû
ssub_faildel=É¾³ý×ÓÍøÊ§°Ü
ssub_failsave=±£´æ×ÓÍøÊ§°Ü
ssub_invalidsubaddr=²»ÊÇÓÐÐ§µÄ×ÓÍøµØÖ·
ssub_invalidnmask=²»ÊÇÓÐÐ§µÄÑÚÂë
ssub_invalidipr=²»ÊÇÓÐÐ§µÄIPµØÖ··¶Î§
plib_deflt=È±Ê¡×âÁÞÊ±¼ä
plib_bfname=Æô¶¯ÎÄ¼þÃû
plib_maxlt=×î´ó×âÁÞÊ±¼ä
plib_bfserv=Æô¶¯ÎÄ¼þ·þÎñÆ÷
plib_thisserv=Õâ¸ö·þÎñÆ÷
plib_servname=·þÎñÆ÷Ãû
plib_llbc=BOOTP¿Í»§µÄ×âÁÞÊ±¼ä
plib_forever=ÓÀ¾Ã
plib_lebc=BOOTP¿Í»§×âÁÞÖÕÖ¹
plib_never=ÓÀ²»
plib_invalidlt=²»ÊÇÒ»¸öºÏ·¨µÄ×âÁÞÊ±¼ä
plib_invalidsn=²»ÊÇÓÐÐ§µÄ·þÎñÆ÷Ãû
plib_leformat=×âÁÞÖÕÖ¹ÈÕÆÚµÄ¸ñÊ½±ØÐëÊÇ W YYYY/MM/DD HH:MM:SS
plib_copt=¿Í»§Ñ¡Ïî
plib_chname=¿Í»§Ö÷»úÃû
plib_defrouters=È±Ê¡Â·ÓÉÆ÷
plib_snmask=×ÓÍøÑÚÂë
plib_babbr=¹ã²¥µØÖ·
plib_domname=ÓòÃû
plib_dnsserv=DNS·þÎñÆ÷
plib_timeserv=Ê±¼ä·þÎñÆ÷
plib_logserv=ÈÕÖ¾·þÎñÆ÷
plib_swapserv=½»»»·þÎñÆ÷
plib_rdpath=¸ùÅÌÂ·¾¶
plib_nisdom=NISÓò
plib_nisserv=NIS·þÎñÆ÷
plib_fontserv=×ÖÌå·þÎñÆ÷
plib_xdmserv=XDM·þÎñÆ÷
plib_statrouters=¾²Ì¬Â·ÓÉ
plib_ntpserv=NTP·þÎñÆ÷
plib_nbns=NetBIOSÃû×Ö·þÎñÆ÷
plib_nbscope=NetBIOS·¶Î§
plib_nbntype=NetBIOS½ÚµãÀàÐÍ
eopt_header=¿Í»§Ñ¡Ïî
eopt_subtitle=ÓÃÓÚ×ÓÍø $1
eopt_returnsub=×ÓÍø
eopt_snettitle=ÓÃÓÚ¹²ÏíÍøÂç $1
eopt_hosttitle=ÓÃÓÚÖ÷»ú $1
eopt_returnhost=Ö÷»ú
eopt_grouptitle=ÓÃÓÚ$1 ³ÉÔ±×é
eopt_alltitle=ÓÃÓÚÈ«²¿ÍøÂç¡¢Ö÷»úºÍ×é
eopt_returnindex=ÍøÂçºÍÖ÷»úÁÐ±í
eopt_tabhdr=¿Í»§Ñ¡Ïî
eopt_chost=¿Í»§Ö÷»úÃû
eopt_defrouters=È±Ê¡Â·ÓÉÆ÷
eopt_smask=×ÓÍøÑÚÂë
eopt_baddr=¹ã²¥µØÖ·
eopt_domname=ÓòÃû
eopt_dnsserv=DNS·þÎñÆ÷
eopt_timeserv=Ê±¼ä·þÎñÆ÷
eopt_logserv=ÈÕÖ¾·þÎñÆ÷
eopt_swapserv=½»»»·þÎñÆ÷
eopt_rdpath=¸ùÅÌÂ·¾¶
eopt_nisdom=NISÓò
eopt_nisserv=NIS·þÎñÆ÷
eopt_fontserv=×ÖÌå·þÎñÆ÷
eopt_xdmserv=XDM·þÎñÆ÷
eopt_statrouters=¾²Ì¬Â·ÓÉ
eopt_ntpserv=NTP·þÎñÆ÷
eopt_nbns=NetBIOSÃû×Ö·þÎñÆ÷
eopt_nbs=NetBIOS·¶Î§
eopt_nbntype=NetBIOS½ÚµãÀàÐÍ
   070701000286bf000081a40000000000000002000000013d1fe2d700001179000000200000000000000000000000000000001c00000003reloc/dhcpd/lang/zh_TW.Big5   index_title=DHCP ¦øªA¾¹
index_dhcpdnotfound=¦b±zªº¨t²Î¤W§ä¤£¨ì DHCP ¦øªA¾¹ <i>$1</i>. ¥i¯à¬O¦]¬°©|¥¼¦w¸Ë, ©Î¬O±zªº <a href=\"/config.cgi?$module_name\">DHCP ¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_return=¯Á¤Þ
index_dhcpdver=DHCP ¦øªA¾¹ <i>$1</i> ¦ü¥G¤£¬O¥¿½Tªºª©¥». Webmin ¥u¤ä´© ISC ªº DHCPD ²Ä¤Gª©.
index_subtitle=¤lºô¸ô»P¦@¨Éªººô¸ô
index_nosubdef=©|¥¼©w¸q¤lºô¸ô©Î¦@¨Éªººô¸ô.
index_addsub=¼W¥[¤@­Ó·sªº¤lºô¸ô
index_addnet=¼W¥[¤@­Ó·sªº¦@¨Éºô¸ô
index_nomemb=¨S¦³¦¨­û
index_1memb=1 ­Ó¦¨­û
index_memb=­Ó¦¨­û
index_hst=¥D¾÷»P¥D¾÷¸s²Õ
index_nohst=©|¥¼©w¸q¥D¾÷©Î¸s²Õ.
index_addhst=¼W¥[·sªº¥D¾÷
index_addhstg=¼W¥[·sªº¥D¾÷¸s²Õ
index_buttego=½s¿è¥þ°ì¿ï¶µ
index_ego=½s¿è DHCP ¿ï­»¨Ã®M¥Î¦b©Ò¦³ªº¤lºô¸ô, ¦@¨Éºô¸ô, ¥D¾÷»P¸s²Õ
index_buttlal=¦C¥X¨Ï¥Î¤¤ªº¯²¬ù
index_lal=¦C¥X¥Ø«e DHCP ¦øªA¾¹µo¥Xµ¹°ÊºA«ü©w IP ¦ì§}ªº¯²¬ù.
index_buttapply=®M¥ÎÅÜ§ó
index_apply=«ö¤U³o­Ó«ö¶s¥H¸g¥Ñ°±¤î¨Ã­«·s±Ò°Ê°õ¦æ¤¤ªº DHCP ¦øªA¾¹, ¨Ã®M¥Î¥Ø«eªº²ÕºA.
index_buttstart=±Ò°Ê¦øªA¾¹
index_start=«ö¤U³o­Ó«ö¶s¥H±Ò°Ê DHCP ¦øªA¾¹, ¨Ã¨Ï¥Î¥Ø«eªº²ÕºA.

butt_save=Àx¦s
butt_eco=½s¿è«È¤áºÝ¿ï¶µ
butt_del=§R°£
butt_create=«Ø¥ß

esub_crheader=«Ø¥ß¤lºô¸ô
esub_edheader=½s¿è¤lºô¸ô
esub_tabhdr=¤lºô¸ô¸Ô²Ó¸ê®Æ
esub_naddr=ºô¸ô¦ì§}
esub_nmask=¤lºô¸ô¾B¸n
esub_arange=IP ¦ì§}½d³ò
esub_dbooptpq=¬O§_¨Ï¥Î°ÊºAªº BOOTP?
esub_shnet=¦@¨Éªººô¸ô
esub_return=¤lºô¸ô¦Cªí

esh_crheader=«Ø¥ß¦@¨Éªººô¸ô
esh_eheader=½s¿è¦@¨Éªººô¸ô
esh_tabhdr=¦@¨Éºô¸ôªº¸Ô²Ó¸ê®Æ
esh_netname=ºô¸ô¦WºÙ
esh_return=¤lºô¸ô¦Cªí

ehost_crheader=«Ø¥ß¥D¾÷
ehost_eheader=½s¿è¥D¾÷
ehost_tabhdr=¥D¾÷¸Ô²Ó¸ê®Æ
ehost_hname=¥D¾÷¦WºÙ
ehost_fixedip=©T©wªº IP ¦ì§}
ehost_return=¥D¾÷¦Cªí

egroup_crheader=«Ø¥ß¥D¾÷¸s²Õ
egroup_eheader=½s¿è¥D¾÷¸s²Õ
egroup_tblhdr=¸s²Õ¸Ô²Ó¸ê®Æ
egroup_hosts=³o­Ó¸s²Õ¤¤ªº¥D¾÷
egroup_nchoice=¬O§_¥H¨Ï¥ÎªÌ¦WºÙ§@¬°«È¤áºÝ¥D¾÷¦WºÙ?
egroup_return=¥D¾÷¦Cªí

yes=¬O
no=§_
default=¹w³]
secs=¬í
none=µL

listl_header=DHCP ¯²¬ù
listl_lfnotexist=DHCPd ¯²¬ùÀÉ®× <tt>$1</tt> ¤£¦s¦b.
listl_lfnotcont=DHCPd ¯²¬ùÀÉ®× <tt>$1</tt> ¤£¥]§t¥ô¦ó¨Ï¥Î¤¤ªº¯²¬ù.
listl_ipaddr=IP ¦ì§}
listl_ether=¤A¤Óºô¸ô¦ì§}
listl_host=¥D¾÷¦WºÙ
listl_start=¶}©l¤é´Á
listl_end=µ²§ô¤é´Á
listl_return=¤lºô¸ô¦Cªí

restart_errmsg1=­«·s±Ò°Ê dhcpd ¥¢±Ñ
restart_errmsg2=°e¥X±±¨î°T¸¹µ¹µ{§Ç¥¢±Ñ
start_failstart=±Ò°Ê dhcpd ¥¢±Ñ

sgroup_faildel=§R°£¸s²Õ¥¢±Ñ
sgroup_failsave=Àx¦s¸s²Õ¥¢±Ñ

shost_faildel=§R°£¥D¾÷¥¢±Ñ
shost_failsave=Àx¦s¥D¾÷¥¢±Ñ
shost_invalidhn=¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
shost_invalidhwa='$1' ¤£¬O¤@­Ó¦³®Äªº $2 ¦ì§}

sopt_failsave=Àx¦s«È¤áºÝ¿ï¶µ¥¢±Ñ
sopt_invalidip=¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
sopt_invalidint=¤£¬O¤@­Ó¾ã¼Æ
sopt_invalidipp=¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}¹ï (¨Ò¦p 1.2.3.4,5.6.7.8)

sshared_faildel=§R°£¦@¨Éºô¸ô¥¢±Ñ
sshared_failsave=Àx¦s¦@¨Éºô¸ô¥¢±Ñ
sshared_invalidsname=¿ò¥¢©Î¿ù»~ªº¦@¨Éºô¸ô¦WºÙ

ssub_faildel=§R°£¤lºô¸ô¥¢±Ñ
ssub_failsave=Àx¦s¤lºô¸ô¥¢±Ñ
ssub_invalidsubaddr=¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¦ì§}
ssub_invalidnmask=¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
ssub_invalidipr=¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}

plib_deflt=¹w³]ªº¯²¬ù®É¶¡
plib_bfname=¶}¾÷ÀÉ®×¦WºÙ
plib_maxlt=³Ì¤j¯²¬ù®É¶¡
plib_bfserv=¶}¾÷ÀÉ®×¦øªA¾¹
plib_thisserv=³o­Ó¦øªA¾¹
plib_servname=¦øªA¾¹¦WºÙ
plib_llbc=¨Ï¥Î BOOTP «È¤áºÝªº¯²¬ùªø«×
plib_forever=¥Ã»·
plib_lebc=¨Ï¥Î BOOTP «È¤áºÝªº¯²¬ùµ²§ô
plib_never=¥Ã¤£
plib_invalidlt=¤£¬O¤@­Ó¦³®Äªº¯²¬ù®É¶¡
plib_invalidsn=¤£¬O¤@­Ó¦³®Ä¦øªA¾¹¦WºÙ
plib_leformat=¯²¬ùµ²§ô¤é´Á®æ¦¡¥²¶·¬O ¦~/¤ë/¤é ®É:¤À:¬í
plib_copt=«È¤áºÝ¿ï¶µ
plib_chname=«È¤áºÝ¥D¾÷¦WºÙ
plib_defrouters=¹w³]ªº¸ô¥Ñ¾¹
plib_snmask=¤lºô¸ô¾B¸n
plib_babbr=¼s¼½¦ì§}
plib_domname=ºô°ì¦WºÙ
plib_dnsserv=DNS ¦øªA¾¹
plib_timeserv=®É¶¡¦øªA¾¹
plib_logserv=¬ö¿ý¦øªA¾¹
plib_swapserv=¥æ´«ÀÉ¦øªA¾¹
plib_rdpath=®Ú¥Ø¿ýºÏºÐ¸ô®|
plib_nisdom=NIS ºô°ì¦WºÙ
plib_nisserv=NIS ¦øªA¾¹
plib_fontserv=¦r«¬¦øªA¾¹
plib_xdmserv=XDM ¦øªA¾¹
plib_statrouters=ÀRºA¸ô¥Ñ
plib_ntpserv=NTP ¦øªA¾¹
plib_nbns=NetBIOS ¦WºÙ¦øªA¾¹
plib_nbscope=NetBIOS ½d³ò
plib_nbntype=NetBIOS ¸`ÂIÃþ«¬

eopt_header=«È¤áºÝ¿ï¶µ
eopt_subtitle=µ¹¤lºô¸ô $1
eopt_returnsub=¤lºô¸ô¦Cªí
eopt_snettitle=µ¹¦@¨Éºô¸ô $1
eopt_hosttitle=µ¹¥D¾÷ $1
eopt_returnhost=¥D¾÷¦Cªí
eopt_grouptitle=µ¹ $1 ¸s²Õ¦¨­û
eopt_alltitle=µ¹©Ò¦³ºô¸ô, ¥D¾÷»P¸s²Õ
eopt_returnindex=¯Á¤Þ
eopt_tabhdr=«È¤áºÝ¿ï¶µ
eopt_chost=«È¤áºÝªÌ¾÷¦WºÙ
eopt_defrouters=¹w³]¸ô¥Ñ¾¹
eopt_smask=¤lºô¸ô¾B¸n
eopt_baddr=¼s¼½¦ì§}
eopt_domname=ºô°ì¦WºÙ
eopt_dnsserv=DNS ¦øªA¾¹
eopt_timeserv=®É¶¡¦øªA¾¹
eopt_logserv=¬ö¿ý¦øªA¾¹
eopt_swapserv=¥æ´«ÀÉ¦øªA¾¹
eopt_rdpath=®Ú¥Ø¿ýºÏºÐ¸ô®|
eopt_nisdom=NIS ºô°ì¦WºÙ
eopt_nisserv=NIS ¦øªA¾¹
eopt_fontserv=¦r«¬¦øªA¾¹
eopt_xdmserv=XDM ¦øªA¾¹
eopt_statrouters=ÀRºA¸ô¥Ñ
eopt_ntpserv=NTP ¦øªA¾¹
eopt_nbns=NetBIOS ¦WºÙ¦øªA¾¹
eopt_nbs=NetBIOS ½d³ò
eopt_nbntype=NetBIOS ¸`ÂIÃþ«¬


   070701000173f5000081e40000000000000002000000013d1fe2d7000012b3000000200000000000000000000000000000001c00000003reloc/dhcpd/list_leases.cgi   #!/usr/local/bin/perl
# list_leases.cgi
# List all active leases

require './dhcpd-lib.pl';
require 'timelocal.pl';
&ReadParse();
$timenow = time();

%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_psl'}") unless $access{'r_leases'};

&header($text{'listl_header'}, "");
print "<hr><p>\n";

if (!-r $config{'lease_file'}) {
	print "<b>";
	print(&text('listl_lfnotexist',$config{'lease_file'}));
	print "</b><p>\n";
	}
elsif (!&tokenize_file($config{'lease_file'}, \@tok)) {
	print "<b>",&text('listl_lfnotcont',$config{'lease_file'}),"</b><p>\n";
	}
else {
	$i = $j = 0;
	while($i < @tok) {
		$lease = &parse_struct(\@tok, \$i, $j++, $config{'lease_file'});
		next if (!$lease);
		local $mems = $lease->{'members'};
		local $starts = &find('starts', $mems);
		local $ends = &find('ends', $mems);
		$lease->{'stime'} = &lease_time($starts);
		$lease->{'etime'} = &lease_time($ends);
		if ($lease->{'etime'} < $timenow ||
		    $lease->{'stime'} > $timenow) {
			if ($in{'all'}) { $lease->{'expired'}++; }
			else { next; }
			}
		push(@leases, $lease);
		}
	if (@leases) {
		if ($in{'sort'} eq 'ipaddr') {
			@leases = sort { &ip_compare($a, $b) } @leases;
			}
		elsif ($in{'sort'} eq 'ether') {
			@leases = sort { &ether_compare($a, $b) } @leases;
			}
		elsif ($in{'sort'} eq 'host') {
			@leases = sort { &hostname_compare($a, $b) } @leases;
			}
		elsif ($in{'sort'} eq 'start') {
			@leases = sort { $a->{'stime'} <=> $b->{'stime'} } @leases;
			}
		elsif ($config{'lease_sort'} == 1) {
			@leases = sort { &ip_compare($a, $b) } @leases;
			}
		elsif ($config{'lease_sort'} == 2) {
			@leases = sort { &hostname_compare($a, $b) } @leases;
			}
		print "<table border width=100%>\n";
		$sl = "<a href=list_leases.cgi?all=$in{'all'}&sort=";
		print "<tr $tb> ",
		      "<td>${sl}ipaddr><b>$text{'listl_ipaddr'}</b></a></td> ",
		      "<td>${sl}ether><b>$text{'listl_ether'}</b></a></td> ",
		      "<td>${sl}host><b>$text{'listl_host'}</b></a></td> ",
		      "<td>${sl}start><b>$text{'listl_start'}</b></a></td> ",
		      "<td>$text{'listl_end'}</b></td> </tr>\n";
		foreach $lease (@leases) {
			local $mems = $lease->{'members'};
			local $starts = &find('starts', $mems);
			local $ends = &find('ends', $mems);
			print "<tr $cb>\n";
			local $ht = $lease->{'expired'} ? "i" : "tt";
			print "<td><$ht><a href='delete_lease.cgi?",
			      "idx=$lease->{'index'}&all=$in{all}'>",
			      "$lease->{'values'}->[0]</a></$ht></td>\n";
			local $hard = &find('hardware', $mems);
			print "<td><tt>",$hard->{'values'}->[1],"</tt></td>\n";
			local $client = &find('client-hostname', $mems);
			print "<td><tt>",$client ?
				&html_escape($client->{'values'}->[0]) :
				"<br>","</tt></td>\n";
			if ($config{'lease_tz'}) {
				local @st = localtime($lease->{'stime'});
				local @et = localtime($lease->{'etime'});
				$s = sprintf "%4.4d/%2.2d/%2.2d %2.2d:%2.2d:%2.2d", $st[5]+1900, $st[4]+1, $st[3], $st[2], $st[1], $st[0];
				$e = sprintf "%4.4d/%2.2d/%2.2d %2.2d:%2.2d:%2.2d", $et[5]+1900, $et[4]+1, $et[3], $et[2], $et[1], $et[0];
				}
			else {
				$s = $starts->{'values'}->[1]." ".
				     $starts->{'values'}->[2];
				$e = $ends->{'values'}->[1]." ".
				     $ends->{'values'}->[2];
				}


			print "<td><tt>$s</tt></td>\n";
			print "<td><tt>$e</tt></td>\n";
			print "</tr>\n";
			}
		print "</table>$text{'listl_delete'}<p>\n";
		}
	else {
		print "<b>",&text('listl_lfnotcont', $config{'lease_file'},
		      $in{'all'} ? "" : $text{'listl_active'}),
		      "</b><p>\n";
		}
	if (!$in{'all'}) {
		print "<form action=list_leases.cgi>\n";
		print "<input type=hidden name=all value=1>\n";
		print "<input type=submit value='$text{'listl_all'}'>\n";
		print "</form>\n";
		}
	}

print "<hr>\n";
&footer("", $text{'listl_return'});

sub lease_time
{
local @d = split(/\//, $_[0]->{'values'}->[1]);
local @t = split(/:/, $_[0]->{'values'}->[2]);
local $t;
eval { $t = timegm($t[2], $t[1], $t[0], $d[2], $d[1]-1, $d[0]-1900) };
return $@ ? undef : $t;
}

sub ip_compare
{
$a->{'values'}->[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
$b->{'values'}->[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/;
return	$a1 < $1 ? -1 :
	$a1 > $1 ? 1 :
	$a2 < $2 ? -1 :
	$a2 > $2 ? 1 :
	$a3 < $3 ? -1 :
	$a3 > $3 ? 1 :
	$a4 < $4 ? -1 :
	$a4 > $4 ? 1 : 0;
}

sub hostname_compare
{
local $client_a = &find_value('client-hostname', $a->{'members'});
local $client_b = &find_value('client-hostname', $b->{'members'});
return lc($client_a) cmp lc($client_b);
}

sub ether_compare
{
local $ether_a = &find('hardware', $a->{'members'});
local $ether_b = &find('hardware', $b->{'members'});
return lc($ether_a->{'values'}->[1]) cmp lc($ether_b->{'values'}->[1]);
}

 070701000173f6000081a40000000000000002000000013d1fe2d70000034c000000200000000000000000000000000000001a00000003reloc/dhcpd/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'dhcpd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'apply') {
	return $text{'log_apply'};
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($type eq 'subnet' || $type eq 'shared' || $type eq 'host') {
	return &text("log_${action}_${type}",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'group') {
	local @h = split(/,/, $object);
	return &text("log_${action}_group", scalar(@h));
	}
elsif ($type eq 'lease' && $action eq 'delete') {
	return &text('log_delete_lease',
		     "<tt>".&html_escape($object)."</tt>");
	}
else {
	return undef;
	}
}

070701000173f7000081a40000000000000002000000013d1fe2ea00000297000000200000000000000000000000000000001800000003reloc/dhcpd/module.info   desc_nl=DHCP Server
desc_ru_SU=DHCP óÅÒ×ÅÒ
risk=low medium high
desc_ko_KR.euc=DHCP ¼­¹ö 
desc_zh_TW.Big5=DHCP ¦øªA¾¹
desc_pl=Serwer DHCP
desc_de=DHCP Server
name=DHCPD
desc_zh_CN=DHCP·þÎñÆ÷
desc_pt=Servidor de DHCP
category=servers
desc_tr=DHCP Sunucusu
os_support=debian-linux freebsd osf1 redhat-linux mandrake-linux slackware-linux solaris suse-linux unixware openserver open-linux turbo-linux openbsd corel-linux cobalt-linux irix netbsd msc-linux generic-linux gentoo-linux
desc=DHCP Server
desc_es=Servidor de DHCP
desc_sv=DHCP-server
desc_fr=Serveur DHCP
desc_ja_JP.euc=DHCP ¥µ¡¼¥Ð
depends=0.990
version=0.990
desc_ca=Servidor DHCP
desc_ru_RU=DHCP Ñåðâåð
 070701000173f8000081a40000000000000002000000013d1fe2d7000019dd000000200000000000000000000000000000001a00000003reloc/dhcpd/params-lib.pl # params-lib.pl
# Functions for editing parameters common to many kinds of directive

# display_params(&config, [global])
sub display_params
{
print &opt_input($text{'plib_deflt'}, "default-lease-time",
		 $_[0], $text{'default'}, 8, $text{'secs'});
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'plib_bfname'}, "filename", $_[0], $text{'none'}, 20);
print &opt_input($text{'plib_maxlt'}, "max-lease-time",
		 $_[0], $text{'default'}, 8, $text{'secs'});
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'plib_bfserv'}, "next-server", $_[0], $text{'plib_thisserv'}, 15);
print &opt_input($text{'plib_servname'}, "server-name", $_[0], $text{'default'}, 15);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'plib_llbc'}, "dynamic-bootp-lease-length",
		 $_[0], $text{'plib_forever'}, 8, $text{'secs'});
print &opt_input($text{'plib_lebc'}, "dynamic-bootp-lease-cutoff",
		 $_[0], $text{'plib_never'}, 21);
print "</tr>\n";

if ($config{'dhcpd_version'} >= 3) {
	# Inputs for DDNS
	print "<tr>\n";
	print &choice_input($text{'plib_ddnsup'}, "ddns-updates", $_[0], $text{'yes'}, 'on', $text{'no'}, 'off', $text{'default'}, '');
	print &opt_input($text{'plib_ddnsdom'}, "ddns-domainname", $_[0], $text{'default'}, 15);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'plib_ddnsrevdom'}, "ddns-rev-domainname", $_[0], $text{'default'}, 15);
	print &opt_input($text{'plib_ddnshost'}, "ddns-hostname", $_[0], $text{'plib_ddnshost_def'}, 15);
	print "</tr>\n";

	if ($_[1]) {
		print "<tr>\n";
		print &wide_choice_input($text{'plib_ddnsupstyle'}, "ddns-update-style", $_[0], $text{'plib_adhoc'}, 'ad-hoc', $text{'plib_interim'}, 'interim', $text{'plib_none'}, 'none', $text{'default'}, '');
		print "</tr>\n";
		}
	}
}

# parse_params(&parent, [&indent])
sub parse_params
{
&save_opt("default-lease-time", \&check_lease, $_[0], $_[1]);
&save_opt("filename", undef, $_[0], $_[1], 1);
&save_opt("max-lease-time", \&check_lease, $_[0], $_[1]);
&save_opt("next-server", \&check_server, $_[0], $_[1]);
&save_opt("server-name", \&check_server, $_[0], $_[1], 1);
&save_opt("dynamic-bootp-lease-length", \&check_lease, $_[0], $_[1]);
&save_opt("dynamic-bootp-lease-cutoff", \&check_ldate, $_[0], $_[1], 1);
if ($config{'dhcpd_version'} >= 3) {
	&save_opt("ddns-domainname", \&check_domain, $_[0], $_[1], 1);
	&save_opt("ddns-rev-domainname", \&check_domain, $_[0], $_[1], 1);
	&save_opt("ddns-hostname", \&check_server, $_[0], $_[1], 1);
	&save_choice("ddns-updates", $_[0], $_[1]);
	if (defined($in{'ddns-update-style'})) {
		&save_choice("ddns-update-style", $_[0], $_[1]);
		}
	}
}

sub check_lease
{
return $_[0] =~ /^\d+$/ ? undef : "'$_[0]' $text{'plib_invalidlt'}";
}

sub check_server
{
return $_[0] =~ /^\S+$/ ? undef : "'$_[0]' $text{'plib_invalidsn'}";
}

sub check_ldate
{
return $_[0] =~ /^(\d) (\d\d\d\d)\/(\d\d)\/(\d\d) (\d\d):(\d\d):(\d\d)$/ ?
	undef : $text{'plib_leformat'};
}

sub check_domain
{
return $_[0] =~ /^[A-Za-z0-9\.\-]+$/ ? undef : &text('plib_invaliddom', $_[0]);
}

# display_options(&config)
# Display a table of DHCP options
sub display_options
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'plib_copt'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
local @opts = &find("option", $_[0]);

print "<tr>\n";
print &p_option_input($text{'plib_chname'}, "host-name", \@opts, 3);
print &p_option_input($text{'plib_defrouters'}, "routers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_snmask'}, "subnet-mask", \@opts, 0);
print &p_option_input($text{'plib_babbr'}, "broadcast-address", \@opts, 0);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_domname'}, "domain-name", \@opts, 3);
print &p_option_input($text{'plib_dnsserv'}, "domain-name-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_timeserv'}, "time-servers", \@opts, 2);
print &p_option_input($text{'plib_logserv'}, "log-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_swapserv'}, "swap-server", \@opts, 3);
print &p_option_input($text{'plib_rdpath'}, "root-path", \@opts, 3);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_nisdom'}, "nis-domain", \@opts, 3);
print &p_option_input($text{'plib_nisserv'}, "nis-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_fontserv'}, "font-servers", \@opts, 2);
print &p_option_input($text{'plib_xdmserv'}, "x-display-manager", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_statrouters'}, "static-routes", \@opts, 5);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_ntpserv'}, "ntp-servers", \@opts, 2);
print &p_option_input($text{'plib_nbns'}, "netbios-name-servers", \@opts, 2);
print "</tr>\n";

print "<tr>\n";
print &p_option_input($text{'plib_nbscope'}, "netbios-scope", \@opts, 3);
print &p_option_input($text{'plib_nbntype'}, "netbios-node-type", \@opts, 1);
print "</tr>\n";

print "</table></td></tr></table>\n";
}

# p_option_input(text, name, &config, type)
# types values:	0  - IP address
#		1  - Integer
#		2  - IP address list
#		3  - String
#		4  - Yes/no flag
#		5  - IP address pairs
sub p_option_input
{
local($rv, $v, $i);
for($i=0; $i<@{$_[2]}; $i++) {
	if ($_[2]->[$i]->{'values'}->[0] eq $_[1]) {
		$v = $_[2]->[$i];
		last;
		}
	}
$rv = "<td><b>$_[0]</b></td>\n";
if ($_[3] == 5) { $rv .= "<td colspan=3>"; }
else { $rv .= "<td>"; }
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $text{'default'}\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
local @vl = $v ? @{$v->{'values'}} : ();
@vl = @vl[1..$#vl];
if ($_[3] == 0) {
	$rv .= "<input name=$_[0] size=15 value=\"$vl[0]\">\n";
	}
elsif ($_[3] == 1) {
	$rv .= "<input name=$_[0] size=8 value=\"$vl[0]\">\n";
	}
elsif ($_[3] == 2) {
	@vl = grep { $_ ne "," } @vl;
	$rv .= "<input name=$_[0] size=25 value=\"".join(" ", @vl)."\">\n";
	}
elsif ($_[3] == 3) {
	local $str = $vl[0] =~ /^[0-9\:]+$/ ? &nvt_to_string($vl[0]) : $vl[0];
	$rv .= "<input name=$_[0] size=20 value=\"$str\">\n";
	}
elsif ($_[3] == 4) {
	$rv .= sprintf "<input name=$_[0] value=1 %s> $text{'yes'}\n",
			$vl[0] eq "1" ? "checked" : "";
	$rv .= sprintf "<input name=$_[0] value=0 %s> $text{'no'}\n",
			$vl[0] eq "0" ? "checked" : "";
	}
elsif ($_[3] == 5) {
	@vl = grep { $_ ne "," } @vl;
	$rv .= "<input name=$_[0] size=50 value=\"";
	for($i=0; $i<@vl; $i+=2) {
		$rv .= $vl[$i]."-".$vl[$i+1];
		}
	$rv .= "\">\n";
	}
$rv .= "</td>\n";
return $rv;
}

1;

   070701000173f9000081e40000000000000002000000013d1fe2d70000022b000000200000000000000000000000000000001800000003reloc/dhcpd/restart.cgi   #!/usr/local/bin/perl
# restart.cgi
# Restart the running dhcpd

require './dhcpd-lib.pl';
&ReadParse();
%access = &get_module_acl();
&error_setup($text{'eacl_aviol'});
&error("$text{'eacl_np'} $text{'eacl_papply'}") unless $access{'apply'};

$whatfailed = $text{'restart_errmsg1'};
&kill_logged('TERM', $in{'pid'}) ||
	&error("$text{'restart_errmsg2'} $in{'pid'} : $!");
$out = &backquote_logged("$config{'dhcpd_path'} -cf $config{'dhcpd_conf'} $config{'interfaces'} 2>&1");
if ($?) {
	&error("<pre>$out</pre>");
	}
&webmin_log("apply");
&redirect("");

 070701000173fa000081e40000000000000002000000013d1fe2d700000fe1000000200000000000000000000000000000001b00000003reloc/dhcpd/save_group.cgi    #!/usr/local/bin/perl
# save_group.cgi
# Update, create or delete a group

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
($par, $group, $indent, $npar, $nindent) = get_branch('grp');
$parconf = $par->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'delete'}) {
	&error("$text{'eacl_np'} $text{'eacl_pdg'}")
		if !&can('rw', \%access, $group, 1);
	}
elsif ($in{'options'}) {
	&error("$text{'eacl_np'} $text{'eacl_psg'}")
		if !&can('r', \%access, $group);
	}
elsif ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pig'}")
		unless &can('c', \%access, $group) && 
				&can('rw', \%access, $par) &&
				(!$npar || &can('rw', \%access, $npar));
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pug'}")
		unless !$npar || &can('rw', \%access, $npar);
	# for new and updated groups - per-host acls see below    
	}
# save
if ($in{'options'}) {
	# Redirect to client options
	&redirect("edit_options.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}&idx=$in{'idx'}");
	exit;
	}
else {
	$whatfailed = $in{'delete'} ? $text{'sgroup_faildel'} :
				      $text{'sgroup_failsave'};

	# Move hosts into or out of this group
	@wasin = &find("host", $group->{'members'});
	foreach $hn (split(/\0/, $in{'hosts'})) {
		if ($hn =~ /(\d+),(\d+)/) {
			push(@nowin, $parconf->[$2]->{'members'}->[$1]);
			$nowpr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($hn =~ /(\d+),/) {
			push(@nowin, $parconf->[$1]);
			$nowpr{$parconf->[$1]} = $par;
			}
		if ($nowin[$#nowin]->{'name'} ne "host") {
			&error($text{'sgroup_echanged'});
			}
		}

	$whatfailed = "<blink><font color=red>$text{'eacl_aviol'}</font></blink>";
	foreach $h (&unique(@wasin, @nowin)) {
		$was = &indexof($h, @wasin) != -1;
		$now = &indexof($h, @nowin) != -1;

		# per-host ACLs for new or updated hosts
		if ($was != $now && !&can('rw', \%access, $h)) {
			&error("$text{'eacl_np'} $text{'eacl_pug'}");
			}
		if ($was && !$now) {
			# Move out of the group
			&save_directive($group, [ $h ], [ ], $indent);
			&save_directive($par, [ ], [ $h ], $indent);
			}
		elsif ($now && !$was) {
			# Move into the group (maybe from another group)
			&save_directive($nowpr{$h}, [ $h ], [ ], $indent);
			&save_directive($group, [ ], [ $h ], $indent + 1);
			}
		}

	if (!$in{'delete'}) {
		# Validate and save inputs
		&save_choice("use-host-decl-names", $group, $indent+1);
		&parse_params($group, $indent+1);

		$whatfailed = $text{'sgroup_failsave'};
		@partypes = ( "", "shared-network", "subnet" );
		if (!$npar || $in{'assign'} > 0 && $npar->{'name'} ne $partypes[$in{'assign'}]) {
			if ($in{'jsquirk'}) {
				&error($text{'sgroup_invassign'});
				}
			else {
				&redirect("edit_group.cgi?assign=".$in{'assign'}.
					"&idx=".$in{'idx'}."&uidx=".$in{'uidx'}.
					"&sidx=".$in{'sidx'});
				exit;
				}
			}
		if ($in{'new'}) {
			# create this new group
			&save_directive($npar, [ ], [ $group ], $nindent);
			}
		elsif ($par eq $npar) {
			# update this group - is it really necessary ?
			&save_directive($par, [ $group ], [ $group ], $nindent);
			}
		else {
			# move this group
			&save_directive($par, [ $group ], [ ], 0);
			&save_directive($npar, [ ], [ $group ], $nindent);
			}
		}
	}
&flush_file_lines();
if ($in{'delete'}) {
	# Delete this group
	if ($in{'hosts'} eq "") {
		&save_directive($par, [ $group ], [ ], 0);
		&flush_file_lines();
		}
	else {
		&unlock_file($config{'dhcpd_conf'});
		&redirect("confirm_delete.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}".
			"&idx=$in{'idx'}=&type=2");
		}
	}
&unlock_file($config{'dhcpd_conf'});
@count = &find("host", $group->{'members'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'group', join(",", map { $_->{'values'}->[0] } @count), \%in);
if ($in{'ret'} eq "subnet") {
	$retparms = "sidx=$in{'sidx'}&idx=$in{'uidx'}";
	}
elsif ($in{'ret'} eq "shared") {
	$retparms = "idx=$in{'sidx'}";
	}
&redirect( $in{'ret'} ? "edit_$in{'ret'}.cgi?$retparms" : "");
   070701000173fb000081e40000000000000002000000013d1fe2d700000ed5000000200000000000000000000000000000001a00000003reloc/dhcpd/save_host.cgi #!/usr/local/bin/perl
# save_host.cgi
# Update, create or delete a host

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
($par, $host, $indent, $npar, $nindent) = get_branch('hst');

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'delete'}) {
	&error("$text{'eacl_np'} $text{'eacl_pdh'}")
		if !&can('rw', \%access, $host, 1);
	}
elsif ($in{'options'}) {
	&error("$text{'eacl_np'} $text{'eacl_psh'}")
		if !&can('r', \%access, $host);
	}
elsif ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pih'}")
		unless &can('c', \%access, $host) && 
				&can('rw', \%access, $par) &&
				(!$npar || &can('rw', \%access, $npar));
	# restrict duplicates
	if ($access{'uniq_hst'}) {
		foreach $h (&get_hosts()) {
			&error("$text{'eacl_np'} $text{'eacl_uniq'}")
				if lc $h->{'values'}->[0] eq lc $in{'name'};
			}
		}
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_puh'}")
		unless &can('rw', \%access, $host) &&
			(!$npar || &can('rw', \%access, $npar));
	}

# save
if ($in{'delete'}) {
	# Delete this host
	$whatfailed = $text{'shost_faildel'};
	&save_directive($par, [ $host ], [ ], 0);
	&drop_dhcpd_acl('hst', \%access, $host->{'values'}->[0]);
	}
elsif ($in{'options'}) {
	# Redirect to client options
	&redirect("edit_options.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}&gidx=$in{'gidx'}&idx=$in{'idx'}");
	exit;
	}
else {
	$whatfailed = $text{'shost_failsave'};
	# Validate and save inputs
	$in{'name'} =~ /^[a-z0-9\.\-]+$/i ||
		&error("'$in{'name'}' $text{'shost_invalidhn'}");
	$host->{'values'} = [ $in{'name'} ];

	if ($in{'hardware'}) {
		$in{'hardware'} =~ /^([0-9a-f]{1,2}:)*[0-9a-f]{1,2}$/i ||
			&error(&text('shost_invalidhwa',$in{'hardware'},$in{'hardware_type'}) );
		@hard = ( { 'name' => 'hardware',
			    'values' => [ $in{'hardware_type'},
					  $in{'hardware'} ] } );
		}
	&save_directive($host, 'hardware', \@hard);

	if ($in{'fixed-address'}) {
		if ($in{'fixed-address'} !~ /^[\w\s\.\-,]+$/ ||
		    $in{'fixed-address'} =~ /(^|[\s,])[-_]/ ||
		    $in{'fixed-address'} =~ /\.([\s,\.]|$)/ ||
		    $in{'fixed-address'} =~ /(^|[\s,])\d+\.[\d\.]*[a-z_]/i) {
			&error(&text('shost_invalidaddr', $in{'fixed-address'}));	
			}
		@fixedip = split(/[,\s]+/, $in{'fixed-address'});
		@fixed = ( { 'name' => 'fixed-address',
			     'values' => [ join(" , ", @fixedip) ] } );
		}
	&save_directive($host, 'fixed-address', \@fixed);

	&parse_params($host);

	@partypes = ( "", "shared-network", "subnet", "group" );
	if (!$npar || $in{'assign'} > 0 && $npar->{'name'} ne $partypes[$in{'assign'}]) {
		if ($in{'jsquirk'}) {
			&error($text{'shost_invassign'});
			}
		else {
			&redirect("edit_host.cgi?assign=".$in{'assign'}.
				"&idx=".$in{'idx'}."&gidx=".$in{'gidx'}.
				"&uidx=".$in{'uidx'}."&sidx=".$in{'sidx'});
			exit;
			}
		}
	if ($in{'new'}) {
		# save acl for new host
		&save_dhcpd_acl('rw', 'hst', \%access, $in{'name'});
		# Add to the end of the parent structure
		&save_directive($npar, [ ], [ $host ], $nindent);
		}
	elsif ($par eq $npar) {
		# Update host
		&save_directive($par, [ $host ], [ $host ], $indent);
		}
	else {
		# Move this host
		&save_directive($par, [ $host ], [ ], 0);
		&save_directive($npar, [ ], [ $host ], $nindent);
		}
	}
&flush_file_lines();
&unlock_file($config{'dhcpd_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'host', $host->{'values'}->[0], \%in);
if ($in{'ret'} eq "group") {
	$retparms = "sidx=$in{'sidx'}&uidx=$in{'uidx'}&idx=$in{'gidx'}";
	}
elsif ($in{'ret'} eq "subnet") {
	$retparms = "sidx=$in{'sidx'}&idx=$in{'uidx'}";
	}
elsif ($in{'ret'} eq "shared") {
	$retparms = "idx=$in{'sidx'}";
	}

&redirect($in{'ret'} ? "edit_$in{'ret'}.cgi?$retparms" : "");
   070701000173fc000081e40000000000000002000000013d1fe2d70000145b000000200000000000000000000000000000001d00000003reloc/dhcpd/save_options.cgi  #!/usr/local/bin/perl
# save_options.cgi
# Save client options for some subnet, shared net, group, host or global

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
$client = &get_parent_config();
foreach $i ($in{'sidx'}, $in{'uidx'}, $in{'gidx'}, $in{'idx'}) {
	if ($i ne '') {
		$client = $client->{'members'}->[$i];
		$indent++;
		}
	}

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($client->{'name'} eq 'subnet') {
	&error("$text{'eacl_np'} $text{'eacl_pus'}")
		if !&can('rw', \%access, $client);
	}
elsif ($client->{'name'} eq 'shared-network') {
	&error("$text{'eacl_np'} $text{'eacl_pun'}")
		if !&can('rw', \%access, $client);
	}
elsif ($client->{'name'} eq 'host') {
	&error("$text{'eacl_np'} $text{'eacl_puh'}")
		if !&can('rw', \%access, $client);
	}
elsif ($client->{'name'} eq 'group') {
	&error("$text{'eacl_np'} $text{'eacl_pug'}")
		if !&can('rw', \%access, $client);
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pglob'}")
		if !$access{'global'};
	}

# save
&error_setup($text{'sopt_failsave'});

&save_option("host-name", 3, $client, $indent);
&save_option("routers", 2, $client, $indent);
&save_option("subnet-mask", 0, $client, $indent);
&save_option("broadcast-address", 0, $client, $indent);
&save_option("domain-name", 3, $client, $indent);
&save_option("domain-name-servers", 2, $client, $indent);
&save_option("time-servers", 2, $client, $indent);
&save_option("log-servers", 2, $client, $indent);
&save_option("swap-server", 2, $client, $indent);
&save_option("root-path", 3, $client, $indent);
&save_option("nis-domain", 3, $client, $indent);
&save_option("nis-servers", 2, $client, $indent);
&save_option("font-servers", 2, $client, $indent);
&save_option("x-display-manager", 2, $client, $indent);
&save_option("static-routes", 5, $client, $indent);
&save_option("ntp-servers", 2, $client, $indent);
&save_option("netbios-name-servers", 2, $client, $indent);
&save_option("netbios-scope", 3, $client, $indent);
&save_option("netbios-node-type", 1, $client, $indent);
if ($in{'level'} eq "global") {
	# save params as well
	&save_choice("use-host-decl-names", $client, 0);
	&parse_params($client, 0);
	}
elsif ($in{'level'} eq "host") {
	$ret="edit_host.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}&gidx=$in{'gidx'}&idx=$in{'idx'}";
	}
elsif ($in{'level'} eq "group") {
	$ret="edit_group.cgi?sidx=$in{'sidx'}&uidx=$in{'uidx'}&idx=$in{'idx'}";
	}
elsif ($in{'level'} eq "subnet") {
	$ret="edit_subnet.cgi?sidx=$in{'sidx'}&idx=$in{'idx'}";
	}
elsif ($in{'level'} eq "shared-network") {
	$ret="edit_shared.cgi?idx=$in{'idx'}";
	}

# save custom options
@custom = grep { $_->{'name'} eq 'option' &&
		 $_->{'values'}->[0] =~ /^option-(\d+)$/ }
	       @{$client->{'members'}};
for($i=0; defined($in{"cnum_$i"}); $i++) {
	next if (!$in{"cnum_$i"} || !$in{"cval_$i"});
	$in{"cnum_$i"} =~ /^\d+$/ ||
		&error(&text('sopt_invalidnum', $in{"cnum_$i"}));
	local $cv = $in{"cval_$i"};
	$cv = "\"$cv\"" if ($cv !~ /^([0-9a-fA-F]{1,2}:)*[0-9a-fA-F]{1,2}$/);
	push(@newcustom, { 'name' => 'option',
			   'values' => [ 'option-'.$in{"cnum_$i"},
					 $cv ] } );
	}
&save_directive($client, \@custom, \@newcustom, $indent, 1);

&flush_file_lines();
&unlock_file($config{'dhcpd_conf'});
if ($client->{'name'} eq 'subnet') {
	&webmin_log("options", 'subnet',
		    "$client->{'values'}->[0]/$client->{'values'}->[2]", \%in);
	}
elsif ($client->{'name'} eq 'shared-network') {
	&webmin_log("options", 'subnet', $client->{'values'}->[0], \%in);
	}
elsif ($client->{'name'} eq 'host') {
	&webmin_log("options", 'host', $client->{'values'}->[0], \%in);
	}
elsif ($client->{'name'} eq 'group') {
	@count = &find("host", $client->{'members'});
	&webmin_log("options", 'group',
		    join(",", map { $_->{'values'}->[0] } @count), \%in);
	}
&redirect($ret);

# save_option(name, type, &config, indent)
sub save_option
{
local($v);
local $m = $_[2]->{'members'};
for($i=0; $i<@$m; $i++) {
	if ($m->[$i]->{'name'} eq 'option' &&
	    $m->[$i]->{'values'}->[0] eq $_[0]) {
		$v = $m->[$i];
		last;
		}
	}
if ($in{"$_[0]_def"}) {
	&save_directive($_[2], [ $v ], [ ], 0, 1) if ($v);
	}
else {
	local $nv = $in{$_[0]};
	local @nv = split(/\s+/, $nv);
	if ($_[1] == 0) {
		gethostbyname($nv) || &check_ipaddress($nv) ||
			&error("$_[0] '$nv' $text{'sopt_invalidip'}");
		}
	elsif ($_[1] == 1) {
		$nv =~ /^\d+$/ || &error("'$nv' $text{'sopt_invalidint'}");
		}
	elsif ($_[1] == 2) {
		local $ip;
		foreach $ip (@nv) {
			gethostbyname($ip) || &check_ipaddress($ip) ||
				&error("'$ip' $text{'sopt_invalidip'}");
			}
		$nv = join(" , ", @nv);
		}
	elsif ($_[1] == 3) {
		$nv = "\"$nv\"";
		}
	elsif ($_[1] == 5) {
		local($ipp, @nnv);
		foreach $ipp (@nv) {
			$ipp =~ /^(\S+)\s*,\s*(\S+)$/ ||
				&error("'$ipp' $text{'sopt_invalidipp'}");
			&check_ipaddress($1) ||
				&error("'$1' $text{'sopt_invalidip'}");
			&check_ipaddress($2) ||
				&error("'$2' $text{'sopt_invalidip'}");
			push(@nnv, "$1 $2");
			}
		$nv = join(" , ", @nnv);
		}
	local $dir = { 'name' => 'option',
		       'values' => [ $_[0], $nv ] };
	&save_directive($_[2], $v ? [ $v ] : [ ], [ $dir ], $_[3], 1);
	}
}

 070701000173fd000081e40000000000000002000000013d1fe2d700000822000000200000000000000000000000000000001a00000003reloc/dhcpd/save_pool.cgi #!/usr/local/bin/perl
# save_pool.cgi
# Create, update or delete an address pool

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
$conf = &get_config();
if ($in{'sidx'} ne "") {
	$sha = $conf->[$in{'sidx'}]; 
	$sub = $sha->{'members'}->[$in{'uidx'}];
	$indent = 2;
	}
else {
	$sub = $conf->[$in{'uidx'}];
	$indent = 1;
	}
if ($in{'new'}) {
	$pool = { 'name' => 'pool',
		  'type' => 1,
		  'members' => [ ] };
	}
else {
	$pool = $sub->{'members'}->[$in{'idx'}];
	}

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pus'}") if !&can('rw', \%access, $sub);

# save
if ($in{'delete'}) {
	# Delete this pool from it's subnet
	&save_directive($sub, [ $pool ], [ ], 0);
	}
else {
	# Validate inputs
	for($i=0; defined($low = $in{"range_low_$i"}); $i++) {
		next if (!$low);
		$hi = $in{"range_hi_$i"}; $dyn = $in{"range_dyn_$i"};
		&check_ipaddress($low) ||
			&error("'$low' $text{'ssub_invalidipr'}");
		!$hi || &check_ipaddress($hi) ||
			&error("'$hi' $text{'ssub_invalidipr'}");
		$rng = { 'name' => 'range',
			 'values' => [ ($dyn ? "dynamic-bootp" : ()),
				       $low, ($hi ? $hi : ()) ] };
		push(@rng, $rng);
		}
	&save_directive($pool, "range", \@rng, 1);
	$in{'allow'} =~ s/\r//g;
	foreach $a (split(/\n/, $in{'allow'})) {
		push(@allow, { 'name' => 'allow', 'values' => [ $a ] });
		}
	&save_directive($pool, "allow", \@allow, 1);
	$in{'deny'} =~ s/\r//g;
	foreach $a (split(/\n/, $in{'deny'})) {
		push(@deny, { 'name' => 'deny', 'values' => [ $a ] });
		}
	&save_directive($pool, "deny", \@deny, 1);
	&parse_params($pool, 0);

	# Save or create the pool
	if ($in{'new'}) {
		&save_directive($sub, [ ], [ $pool ], $indent);
		}
	else {
		&save_directive($sub, [ $pool ], [ $pool ], $indent);
		}
	}
&flush_file_lines();
&unlock_file($config{'dhcpd_conf'});
&webmin_log('modify', 'subnet', "$sub->{'values'}->[0]/$sub->{'values'}->[2]",
	    \%in);
&redirect("edit_subnet.cgi?sidx=$in{'sidx'}&idx=$in{'uidx'}");

  070701000173ff000081e40000000000000002000000013d1fe2d7000018c1000000200000000000000000000000000000001c00000003reloc/dhcpd/save_shared.cgi   #!/usr/local/bin/perl
# save_shared.cgi
# Update, create or delete a shared network

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
($par, $sha, $indent) = &get_branch('sha');
$parconf = $par->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'delete'}) {
	&error("$text{'eacl_np'} $text{'eacl_pdn'}")
		if !&can('rw', \%access, $sha, 1);
	}
elsif ($in{'options'}) {
	&error("$text{'eacl_np'} $text{'eacl_psn'}")
		if !&can('r', \%access, $sha);
	}
elsif ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pin'}") 
		unless &can('c', \%access, $sha) && &can('rw', \%access, $par);
	# restrict duplicates
	if($access{'uniq_sha'}) {
		foreach $s (&find("shared-network", &get_config())) {
			&error("$text{'eacl_np'} $text{'eacl_uniq'}")
				if lc $s->{'values'}->[0] eq lc $in{'name'};
			}
		}
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pun'}")
		if !&can('rw', \%access, $sha);
	}

# save
if ($in{'options'}) {
	# Redirect to client options
	&redirect("edit_options.cgi?idx=$in{'idx'}");
	exit;
	}
else {
	if ($in{'delete'}) {
		$whatfailed = $text{'sshared_faildel'};
		}
	else {
		$whatfailed = $text{'sshared_failsave'};
		$in{'name'} =~ /^\S+$/ ||
			&error($text{'sshared_invalidsname'});
		$sha->{'values'} = [ $in{'name'} ];
	}

	# Move hosts, groups and subnets into or out of this shared network
	@wasin = &find("host", $sha->{'members'});
	foreach $hn (split(/\0/, $in{'hosts'})) {
		if ($hn =~ /(\d+),(\d+)/) {
			push(@nowin, $parconf->[$2]->{'members'}->[$1]);
			$nowpr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($hn =~ /(\d+),/) {
			push(@nowin, $parconf->[$1]);
			$nowpr{$parconf->[$1]} = $par;
			}
		if ($nowin[$#nowin]->{'name'} ne "host") {
			&error($text{'sgroup_echanged'});
			}
		}
	@wasgin = &find("group", $sha->{'members'});
	foreach $gn (split(/\0/, $in{'groups'})) {
		if ($gn =~ /(\d+),(\d+)/) {
			push(@nowgin, $parconf->[$2]->{'members'}->[$1]);
			$nowgpr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($gn =~ /(\d+),/) {
			push(@nowgin, $parconf->[$1]);
			$nowgpr{$parconf->[$1]} = $par;
			}
		if ($nowgin[$#nowgin]->{'name'} ne "group") {
			&error($text{'sgroup_echanged'});
			}
		}
	@wasuin = &find("subnet", $sha->{'members'});
	foreach $un (split(/\0/, $in{'subnets'})) {
		if ($un =~ /(\d+),(\d+)/) {
			push(@nowuin, $parconf->[$2]->{'members'}->[$1]);
			$nowupr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($un =~ /(\d+),/) {
			push(@nowuin, $parconf->[$1]);
			$nowupr{$parconf->[$1]} = $par;
			}
		if ($nowuin[$#nowuin]->{'name'} ne "subnet") {
			&error($text{'sgroup_echanged'});
			}
		}

	$whatfailed = "<blink><font color=red>$text{'eacl_aviol'}</font></blink>";
	foreach $h (&unique(@wasin, @nowin)) {
		$was = &indexof($h, @wasin) != -1;
		$now = &indexof($h, @nowin) != -1;

		# per-host ACLs for new or updated hosts
		if ($was != $now && !&can('rw', \%access, $h)) {
			&error("$text{'eacl_np'} $text{'eacl_pun'}");
			}
		if ($was && !$now) {
			# Move out of the shared network
			&save_directive($sha, [ $h ], [ ], 0);
			&save_directive($par, [ ], [ $h ], 0);
			}
		elsif ($now && !$was) {
			# Move into the shared network (maybe from another)
			&save_directive($nowpr{$h}, [ $h ], [ ], 0);
			&save_directive($sha, [ ], [ $h ], 1);
			}
		}
	foreach $g (&unique(@wasgin, @nowgin)) {
		$was = &indexof($g, @wasgin) != -1;
		$now = &indexof($g, @nowgin) != -1;

		# per-group ACLs for new or updated groups
		if ($was != $now && !&can('rw', \%access, $g)) {
			&error("$text{'eacl_np'} $text{'eacl_pun'}");
			}	
		if ($was && !$now) {
			# Move out of the shared network
			&save_directive($sha, [ $g ], [ ], 0);
			&save_directive($par, [ ], [ $g ], 0);
			}
		elsif ($now && !$was) {
			# Move into the shared network (maybe from another)
			&save_directive($nowgpr{$g}, [ $g ], [ ], 0);
			&save_directive($sha, [ ], [ $g ], 1);
			}
		}
	foreach $u (&unique(@wasuin, @nowuin)) {
		$was = &indexof($u, @wasuin) != -1;
		$now = &indexof($u, @nowuin) != -1;

		# per-subnet ACLs for new or updated subnetss
		if ($was != $now && !&can('rw', \%access, $u)) {
			&error("$text{'eacl_np'} $text{'eacl_pun'}");
			}		 
		if ($was && !$now) {
			# Move out of the shared network
			&save_directive($sha, [ $u ], [ ], 0);
			&save_directive($par, [ ], [ $u ], 0);
			if ($par->{'name'} eq "shared-network") {
				&fix_sequence($par);
				}
			}
		elsif ($now && !$was) {
			# Move into the shared network (maybe from another)
			&save_directive($nowupr{$u}, [ $u ], [ ], 0);
			&save_directive($sha, [ ], [ $u ], 1);
			if ($nowupr{$u}->{'name'} eq "shared-network") {
				&check_subnets($nowupr{$u});
				}
			}
		}
	&check_subnets($sha);
	&fix_sequence($sha);

	if (!$in{'delete'}) {
		&parse_params($sha);

		if ($in{'new'}) {
			# Add this shared net
			&save_directive($par, [ ], [ $sha ], 0);
			}
		else {
			# Update shared net
			&save_directive($par, [ $sha ], [ $sha ], 0);
			}
		}
	}
&flush_file_lines();
if ($in{'delete'}) {
	# Delete this net
	if ($in{'hosts'} eq "" && $in{'groups'} eq "" && $in{'subnets'} eq "") {
		&save_directive($par, [ $sha ], [ ], 0);
		&flush_file_lines();
		}
	else {
		&unlock_file($config{'dhcpd_conf'});
		&redirect("confirm_delete.cgi?idx=$in{'idx'}\&type=0");
		exit;
		}
	}
&unlock_file($config{'dhcpd_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'shared', $sha->{'values'}->[0], \%in);
&redirect("");

# check whether thist shared network contains any subnet
sub check_subnets
{
local(@subnets);
@subnets = &find("subnet", $_[0]->{'members'});
if (@subnets == 0) {
	$whatfailed = $text{'sshared_failsave'};
	&error(&text('sshared_nosubnet', $_[0]->{'values'}->[0]));
	}
}

# force hosts and groups to follow subnets
sub fix_sequence
{
local(@subnets, $max, $u, $i);
@subnets = &find("subnet", $_[0]->{'members'});
$max = -1;
foreach $u (@subnets) {
	$max = $u->{'index'} > $max ? $u->{'index'} : $max;
	}
for ($i = 0; $i < $max; $i++) {
	$u = $_[0]->{'members'}->[$i];
	if ($u->{'name'} eq "host" || $u->{'name'} eq "group") {
		# move to the end of list
		&save_directive($_[0], [ $u ], [ ], 0);
		&save_directive($_[0], [ ], [ $u ], 0);
		}
	}
}

   07070100017400000081e40000000000000002000000013d1fe2d7000018a1000000200000000000000000000000000000001c00000003reloc/dhcpd/save_subnet.cgi   #!/usr/local/bin/perl
# save_subnet.cgi
# Update, create or delete a subnet

require './dhcpd-lib.pl';
require './params-lib.pl';
&ReadParse();
&lock_file($config{'dhcpd_conf'});
($par, $sub, $indent, $npar, $nindent) = get_branch('sub');
$parconf = $par->{'members'};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{'delete'}) {
	&error("$text{'eacl_np'} $text{'eacl_pds'}")
		if !&can('rw', \%access, $sub, 1);
	}
elsif ($in{'options'}) {
	&error("$text{'eacl_np'} $text{'eacl_pss'}") 
		if !&can('r', \%access, $sub);
	}
elsif ($in{'new'}) {
	&error("$text{'eacl_np'} $text{'eacl_pis'}")
		unless &can('c', \%access, $sub) && 
				&can('rw', \%access, $par) &&
				(!$npar || &can('rw', \%access, $npar));
	# restrict duplicates
	if ($access{'uniq_sub'}) {
		foreach $s (&get_subnets()) {
			&error("$text{'eacl_np'} $text{'eacl_uniq'}")
				if lc $s->{'values'}->[0] eq lc $in{'network'};
			}
		}
	}
# elsif (!($in{'host'} || $in{'group'})) {
else {
	&error("$text{'eacl_np'} $text{'eacl_pus'}")
		unless &can('rw', \%access, $sub) &&
			(!$npar || &can('rw', \%access, $npar));
	}

# save
if ($in{'options'}) {
	# Redirect to client options
	&redirect("edit_options.cgi?sidx=$in{'sidx'}&idx=$in{'idx'}");
	exit;
	}
else {
	if ($in{'delete'}) {
		$whatfailed = $text{'ssub_faildel'};
		if ($par->{'name'} eq "shared-network") {
			@subnets = &find("subnet", $par->{'members'});
			if (@subnets < 2) {
				&error(&text('ssub_nosubnet', $par->{'values'}->[0]));
				}
			}
		}
	else {
		$whatfailed = $text{'ssub_failsave'};
		# Validate and save inputs
		gethostbyname($in{'network'}) || &check_ipaddress($in{'network'}) ||
			&error("'$in{'network'}' $text{'ssub_invalidsubaddr'}");
		&check_ipaddress($in{'netmask'}) ||
			&error("'$in{'netmask'}' $text{'ssub_invalidnmask'}");
		$sub->{'values'} = [ $in{'network'}, "netmask", $in{'netmask'} ];
		}

	@wasin = &find("host", $sub->{'members'});
	foreach $hn (split(/\0/, $in{'hosts'})) {
		if ($hn =~ /(\d+),(\d+)/) {
			push(@nowin, $parconf->[$2]->{'members'}->[$1]);
			$nowpr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($hn =~ /(\d+),/) {
			push(@nowin, $parconf->[$1]);
			$nowpr{$parconf->[$1]} = $par;
			}
		if ($nowin[$#nowin]->{'name'} ne "host") {
			&error($text{'sgroup_echanged'});
			}
		}
	@wasgin = &find("group", $sub->{'members'});
	foreach $gn (split(/\0/, $in{'groups'})) {
		if ($gn =~ /(\d+),(\d+)/) {
			push(@nowgin, $parconf->[$2]->{'members'}->[$1]);
			$nowgpr{$parconf->[$2]->{'members'}->[$1]} =
				$parconf->[$2];
			}
		elsif ($gn =~ /(\d+),/) {
			push(@nowgin, $parconf->[$1]);
			$nowgpr{$parconf->[$1]} = $par;
			}
		if ($nowgin[$#nowgin]->{'name'} ne "group") {
			&error($text{'sgroup_echanged'});
			}
		}

	$whatfailed = "<blink><font color=red>$text{'eacl_aviol'}</font></blink>";
	foreach $h (&unique(@wasin, @nowin)) {
		$was = &indexof($h, @wasin) != -1;
		$now = &indexof($h, @nowin) != -1;

		# per-host ACLs for new or updated hosts
		if ($was != $now && !&can('rw', \%access, $h)) {
			&error("$text{'eacl_np'} $text{'eacl_pus'}");
			}
		if ($was && !$now) {
			# Move out of the subnet
			&save_directive($sub, [ $h ], [ ], $indent);
			&save_directive($par, [ ], [ $h ], $indent);
			}
		elsif ($now && !$was) {
			# Move into the subnet (maybe from another subnet)
			&save_directive($nowpr{$h}, [ $h ], [ ], $indent);
			&save_directive($sub, [ ], [ $h ], $indent + 1);
			}
		}
	foreach $g (&unique(@wasgin, @nowgin)) {
		$was = &indexof($g, @wasgin) != -1;
		$now = &indexof($g, @nowgin) != -1;

		# per-group ACLs for new or updated groups
		if ($was != $now && !&can('rw', \%access, $g)) {
			&error("$text{'eacl_np'} $text{'eacl_pus'}");
			}
		if ($was && !$now) {
			# Move out of the subnet
			&save_directive($sub, [ $g ], [ ], $indent);
			&save_directive($par, [ ], [ $g ], $indent);
			}
		elsif ($now && !$was) {
			# Move into the subnet (maybe from another subnet)
			&save_directive($nowgpr{$g}, [ $g ], [ ], $indent);
			&save_directive($sub, [ ], [ $g ], $indent + 1);
			}
		}

	if (!$in{'delete'}) {
		$whatfailed = $text{'ssub_failsave'};
		for($i=0; defined($low = $in{"range_low_$i"}); $i++) {
			next if (!$low);
			$hi = $in{"range_hi_$i"}; $dyn = $in{"range_dyn_$i"};
			&check_ipaddress($low) ||
				&error("'$low' $text{'ssub_invalidipr'}");
			!$hi || &check_ipaddress($hi) ||
				&error("'$hi' $text{'ssub_invalidipr'}");
			$rng = { 'name' => 'range',
				 'values' => [ ($dyn ? "dynamic-bootp" : ()),
					       $low, ($hi ? $hi : ()) ] };
			push(@rng, $rng);
			}
		&save_directive($sub, "range", \@rng, 1);
		&parse_params($sub, 0);

#		$npar = &get_parent_config();
#		$nindent = 0;
#		if ($in{'parent'} ne "") {
#			$nindent = 1;
#			if ($in{'parent'} < @{$npar->{'members'}}) {
#				$npar = $npar->{'members'}->[$in{'parent'}];
#				}
#			}
		if (!npar || $in{'assign'} > 0 && $npar->{'name'} ne "shared-network") {
			&error($text{'sgroup_echanged'});
			}
		if ($in{'new'}) {
			# save acl for new network
			&save_dhcpd_acl('rw','sub',\%access,$in{'network'});
			# Add to the end of the parent structure
			&save_directive($npar, [ ], [ $sub ], $nindent);
			}
		elsif ($par eq $npar) {
			# Update the subnet
			&save_directive($par, [ $sub ], [ $sub ], $nindent);
			}
		else {
			# Move the subnet
			if ($par->{'name'} eq "shared-network") {
				@subnets = &find("subnet", $par->{'members'});
				if (@subnets < 2) {
					&error(&text('ssub_nosubnet', $par->{'values'}->[0]));
					}
				}
			&save_directive($par, [ $sub ], [ ], 0);
			&save_directive($npar, [ ], [ $sub ], $nindent);
			}
		}
	}
&flush_file_lines();
if ($in{'delete'}) {
	# Delete this subnet
	if ($in{'hosts'} eq "" && $in{'groups'} eq "") {
		&drop_dhcpd_acl('sub', \%access, $sub->{'values'}->[0]);
		&save_directive($par, [ $sub ], [ ], 0);
		&flush_file_lines();
		}
	else {
		&unlock_file($config{'dhcpd_conf'});
		&redirect("confirm_delete.cgi?sidx=$in{'sidx'}&idx=$in{'idx'}"
			."\&type=1");
		exit;
		}
	}
&unlock_file($config{'dhcpd_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'subnet', "$sub->{'values'}->[0]/$sub->{'values'}->[2]", \%in);

&redirect($in{'ret'} eq "shared" ? "edit_shared.cgi?idx=$in{'sidx'}" : "");
   07070100017401000081e40000000000000002000000013d1fe2d7000002c0000000200000000000000000000000000000001600000003reloc/dhcpd/start.cgi #!/usr/local/bin/perl
# start.cgi
# Attempt to start dhcpd
require './dhcpd-lib.pl';
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_papply'}") unless $access{'apply'};

$whatfailed = $text{'start_failstart'};
if (!-r $config{'lease_file'}) {
	# first time.. need to create the lease file
	$config{'lease_file'} =~ /^(\S+)\/([^\/]+)$/;
	if (!-d $1) { mkdir($1, 0755); }
	open(LEASE, ">$config{'lease_file'}");
	close(LEASE);
	}
$out = &backquote_logged("$config{'dhcpd_path'} -cf $config{'dhcpd_conf'} $config{'interfaces'} 2>&1");
if ($?) {
	&error("<pre>$out</pre>");
	}
&webmin_log("start");
&redirect("");

07070100029e1d000041ed0000000000000001000000053d1ffa1700000000000000200000000000000000000000000000000f00000003reloc/dnsadmin    07070100029e1e000081a40000000000000002000000013d1fe2b900000b92000000200000000000000000000000000000001f00000003reloc/dnsadmin/acl_security.pl    
require 'dns-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the dnsadmin module
sub acl_security_form
{
print "<tr> <td valign=top rowspan=5><b>Domains this user can edit</b></td>\n";
print "<td rowspan=5 valign=top>\n";
printf "<input type=radio name=zones_def value=1 %s> %s\n",
	$_[0]->{'zones'} eq '*' ? 'checked' : '', "All zones";
printf "<input type=radio name=zones_def value=0 %s> %s<br>\n",
	$_[0]->{'zones'} eq '*' ? '' : 'checked', "Selected..";
print "<select name=zones multiple size=5>\n";
local $conf = &get_config();
local @zones = ( &find_config("primary", $conf),
		 &find_config("secondary", $conf) );
local ($z, %zcan);
map { $zcan{$_}++ } split(/\s+/, $_[0]->{'zones'});
foreach $z (sort { $a->{'value'} cmp $b->{'value'} } @zones) {
	local $v = $z->{'values'}->[0];
	printf "<option value='%s' %s>%s\n",
		$v, $zcan{$v} ? "selected" : "",
		&arpa_to_ip($v);
	}
print "</select></td>\n";

print "<td><b>Can create master zones?</b></td> <td>\n";
printf "<input type=radio name=master value=1 %s> Yes\n",
	$_[0]->{'master'} ? "checked" : "";
printf "<input type=radio name=master value=0 %s> No</td> </tr>\n",
	$_[0]->{'master'} ? "" : "checked";

print "<tr> <td><b>Can create slave zones?</b></td> <td>\n";
printf "<input type=radio name=slave value=1 %s> Yes\n",
	$_[0]->{'slave'} ? "checked" : "";
printf "<input type=radio name=slave value=0 %s> No</td> </tr>\n",
	$_[0]->{'slave'} ? "" : "checked";

print "<tr> <td><b>Can edit master zone defaults?</b></td> <td>\n";
printf "<input type=radio name=defaults value=1 %s> Yes\n",
	$_[0]->{'defaults'} ? "checked" : "";
printf "<input type=radio name=defaults value=0 %s> No</td> </tr>\n",
	$_[0]->{'defaults'} ? "" : "checked";

print "<tr> <td><b>Can update reverse addresses in any domain?</b></td> <td>\n";
printf "<input type=radio name=reverse value=1 %s> Yes\n",
	$_[0]->{'reverse'} ? "checked" : "";
printf "<input type=radio name=reverse value=0 %s> No</td> </tr>\n",
	$_[0]->{'reverse'} ? "" : "checked";

print "<tr> <td><b>Can multiple addresses have the same IP?</b></td> <td>\n";
printf "<input type=radio name=multiple value=1 %s> Yes\n",
	$_[0]->{'multiple'} ? "checked" : "";
printf "<input type=radio name=multiple value=0 %s> No</td> </tr>\n",
	$_[0]->{'multiple'} ? "" : "checked";

print "<tr> <td><b>Restrict zone files to directory</b></td>\n";
printf "<td colspan=3><input name=dir size=30 value='%s'> %s</td> </tr>\n",
	$_[0]->{'dir'}, &file_chooser_button("dir", 1);
}

# acl_security_save(&options)
# Parse the form for security options for the dnsadmin module
sub acl_security_save
{
if ($in{'zones_def'}) {
	$_[0]->{'zones'} = "*";
	}
else {
	$_[0]->{'zones'} = join(" ", split(/\0/, $in{'zones'}));
	}
$_[0]->{'master'} = $in{'master'};
$_[0]->{'slave'} = $in{'slave'};
$_[0]->{'defaults'} = $in{'defaults'};
$_[0]->{'reverse'} = $in{'reverse'};
$_[0]->{'multiple'} = $in{'multiple'};
$_[0]->{'dir'} = $in{'dir'};
}

  07070100029e1f000081e40000000000000002000000013d1fe2b900000465000000200000000000000000000000000000001e00000003reloc/dnsadmin/change_soa.cgi #!/usr/local/bin/perl
# change_soa.cgi
# Saves changes to the SOA record from edit_primary.cgi

require './dns-lib.pl';
$whatfailed = "Failed to save domain";
&ReadParse();
$d = $in{domain};

# Get the domain being edited
&get_primary($d);
for($i=0; $i<@name; $i++) {
	if ($type[$i] eq "SOA") { $soa = $i; last; }
	}

# Check user inputs
$in{serv} =~ /^[A-Za-z0-9\-\_\.]+$/ ||
	&error("$in{serv} is not a valid server hostname");
$in{serv} = &make_full($in{serv}, "$d.");
$in{mail} =~ /^[A-Za-z0-9\-\_\.]+\@[A-Za-z0-9\-\_\.]+$/ ||
	&error("$in{mail} doesn't look like a valid email address");
$in{mail} =~ s/\@/\./g; $in{mail} .= ".";
$in{refresh} =~ /^[0-9]+$/ ||
	&error("$in{refresh} is not a valid refresh period");
$in{retry} =~ /^[0-9]+$/ ||
	&error("$in{retry} is not a valid retry period");
$in{expire} =~ /^[0-9]+$/ ||
	&error("$in{expire} is not a valid expire time");
$in{min} =~ /^[0-9]+$/ ||
	&error("$in{min} is not a valid minumum TTL");

# Save and bounce back
$data[$soa] = "$in{serv} $in{mail} $in{serial} $in{refresh} $in{retry} $in{expire} $in{min}";
&save_primary($d);
&redirect("edit_primary.cgi?$d");

   07070100029e20000081a40000000000000002000000013d1fe2b9000000e2000000200000000000000000000000000000001a00000003reloc/dnsadmin/config-aix soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/etc/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
  07070100029e21000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002300000003reloc/dnsadmin/config-cobalt-linux    soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e22000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002300000003reloc/dnsadmin/config-debian-linux    nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
show_list=0
soa_style=0
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e23000081a40000000000000002000000013d1fe2b9000000f0000000200000000000000000000000000000002700000003reloc/dnsadmin/config-debian-linux-2.2    nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/bind/named.boot
show_list=0
soa_style=0
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
07070100029e24000081a40000000000000002000000013d1fe2b9000000f0000000200000000000000000000000000000002700000003reloc/dnsadmin/config-debian-linux-3.0    nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/bind/named.boot
show_list=0
soa_style=0
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
07070100029e25000081a40000000000000002000000013d1fe2b9000000ee000000200000000000000000000000000000001e00000003reloc/dnsadmin/config-freebsd soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping
named_boot_file=/etc/namedb/named.boot
records_order=0

updserial_def=0
updserial_on=1
updserial_man=1
  07070100029e27000081a40000000000000002000000013d1fe2b9000000e6000000200000000000000000000000000000001b00000003reloc/dnsadmin/config-hpux    soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
  07070100029e28000081a40000000000000002000000013d1fe2b9000000e6000000200000000000000000000000000000001b00000003reloc/dnsadmin/config-irix    nslookup_pathname=nslookup
named_pid_file=/var/tmp/named.pid
named_pathname=/usr/sbin/named
soa_style=0
ping_pathname=ping
show_list=0
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
  07070100029e2a000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002500000003reloc/dnsadmin/config-mandrake-linux  soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e2b000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002000000003reloc/dnsadmin/config-msc-linux   soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e2c000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002100000003reloc/dnsadmin/config-open-linux  soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e2d000081a40000000000000002000000013d1fe2b9000000ed000000200000000000000000000000000000001e00000003reloc/dnsadmin/config-openbsd soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping
named_boot_file=/var/named/named.boot
records_order=0

updserial_def=0
updserial_on=1
updserial_man=1
   07070100029e2e000081a40000000000000002000000013d1fe2b9000000e5000000200000000000000000000000000000002100000003reloc/dnsadmin/config-openserver  soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/etc/named.pid
named_pathname=/usr/sbin/in.named
ping_pathname=ping
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
   07070100029e2f000081a40000000000000002000000013d1fe2b9000000ed000000200000000000000000000000000000001b00000003reloc/dnsadmin/config-osf1    nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
soa_style=0
ping_pathname=ping
show_list=0
named_boot_file=/etc/namedb/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
   07070100029e30000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002300000003reloc/dnsadmin/config-redhat-linux    soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e31000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002600000003reloc/dnsadmin/config-slackware-linux soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 0707010001023b000041ed0000000000000001000000023d1ffa1600000000000000200000000000000000000000000000001400000003reloc/dnsadmin/help   0707010001023c000081a40000000000000002000000013d1fe2b900000aad000000200000000000000000000000000000002b00000003reloc/dnsadmin/help/intro..zh_TW.Big5.html    <body bgcolor=#ffffff>
<center><img src=images/dnsadmin.gif></center>
<h2><i>³o­Ó»¡©ú­¶©|¥¼§¹¦¨</i></h2>

<hr>
<h3>Â²¤¶</h3>
³o­Ó¼Ò²Õ¥i¥HÅý±z²ÕºA±z¨t²Î¤Wªº bind (Berkely Internet Name Daemon) DNS ¦øªA¾¹. DNS ¦øªA¾¹ªº¤u§@¬O±N¥D¾÷¦WºÙ¨Ò¦p <i>www.foo.com</i> Âà´«¦¨ IP ¦ì§}¨Ò¦p <i>10.1.2.3</i>, ©Î±N IP ¦ì§}Âà´«¦¨¥D¾÷¦WºÙ.

<hr>
<h3>DNS °òÂ¦</h3>
¨C¤@­Ó DNS ¦øªA¾¹³£·|ºÞ²z¤@¨Ç¥¿¦V©Î¤Ï¦Vªººô°ì. ¹ï¤@­Ó¥¿¦Vªºªººô°ì¬O¹³ <i>foo.com</i>, ¦Ó¤Ï¦Vªººô°ì¬O¹³ <i>204.165.66</i>. ¹ï©ó¨C¤@­Óºô°ì, DNS ¦øªA¾¹¥i¥H¬O¥D±±ªº¦øªA¾¹ (ºô°ì­ì©l¸ê®Æªº¨Ó·½), ©Î³Q±±¦øªA¾¹ (ºô°ìªº³Æ¥÷¸ê®Æ). <p>

<dl>
<dt><b>¥¿¦Vºô°ì</b>
<dd>¦pªG±zªº DNS ºÞ²z¤@­Ó¥¿¦Vºô°ì¨Ò¦p <i>foo.com</i>, «h¥¦±N¥i¥H¦^µª¹ï¨äºô°ì¤¤¥D¾÷¦WºÙªº¬d¸ß. ¹ï©ó³o­Óºô°ì¦Ó¨¥, ³o¬O¥D±±ªº¦øªA¾¹. ±z¥i¥H¨Ï¥Î³o­Ó¼Ò²Õ¥H¼W¥[¥D¾÷ (©Î¨ä¥L¬ö¿ý) ¨ìºô°ì¤¤. ¹ï©ó³Q±±ªº¦øªA¾¹¦Ó¨¥, ±z¥i¥H«ü©w¤U¸ü¸ê®Æ¨Ó·½ªº¥D±±¦øªA¾¹. <p>

<dt><b>¤Ï¦Vºô°ì</b>
<dd>¤Ï¦Vºô°ì¬O¤@²Õ IP ¦ì§} (¹³¬O <i>203.165.66.77</i>) »P¥D¾÷¦WºÙ (¹³¬O <i>www.foo.com</i>) ªº¹ïÀ³. ¹ï©ó©ÒÄÝªººô°ìªº¥D±±¦øªA¾¹, ³o­Ó¼Ò²Õ¥i¥HÅý±z¼W¥[ IP ¨ì¥D¾÷¦WºÙªº¹ïÀ³¬ö¿ý. ¹ï©ó³Q±±ªº¦øªA¾¹¦Ó¨¥, ±z¥i¥H«ü©w¤U¸ü¸ê®Æ¨Ó·½ªº¥D±±¦øªA¾¹. <p>
</dl>

<hr>
<h3>³]©w DNS ¦øªA¾¹</h3>
¦pªG±zªº¨t²Î¤w¸g¦b°õ¦æ BIND DNS ¦øªA¾¹, «h±z¥i¥H©¿²¤³o¤@¸`. µM¦Ó, ¦pªG Webmin »{¬°¦b±zªº¨t²Î¤W§ä¤£¨ì¥D±±ªº DNS ¦øªA°_²ÕºAÀÉ (¤@¯ë¬O <tt>/etc/named.boot</tt>), ¥¦·|°²³]±z©|¥¼³]©w¦øªA¾¹. <p>

¹ï©ó¤@¯ë©Êªººô»Úºô¸ô¨Ï¥Î, DNS ¦øªA¾¹·|¦³¤@¨t¦Cªº®Ú¦WºÙ¦øªA¾¹, ¦p¦¹¥¦¤~¯à¦^µª¥X¤£ÄÝ©ó©ÒºÞÁÒ½d³ò¤ºªººô°ì. ¦pªG±zªº¦øªA¾¹©|¥¼³Q³]©w, Webmin ¥i¥H:
<ol>
<li>±q <tt>rs.internic.net</tt> ¤U¸ü³o­Ó¦Cªí. °²³]³o­Ó°õ¦æ Webmin ªº¥D¾÷¥i¥H³s±µ¨ìºô»Úºô¸ô, ¥B¥¼³Q¨¾¤õÀð©Òªý¹j, ³o±N¬O³Ì¨Îªº¿ï¶µ. <p>
<li>¨Ï¥Î»P Webmin ¤@¦P´²§Gªº¦Cªí. ¦]¬°®Ú¦WºÙ¦øªA¾¹¤£¤Ó·|ÅÜ°Ê, ©Ò¥H³oÀ³¸Ó¯à¥¿±`ªº¤u§@. <p>
<li>±N¦WºÙ¦øªA¾¹³]©w¦¨ '¤º³¡' ¨Ï¥Îªº. ¦pªG±zªººô¸ô¨S¦³³s±µ¨ìºô»Úºô¸ô, ³oÀ³¸Ó¬O±z©Ò·Q­nªº. <p>
</ol>

<hr>
<h3>«Ø¥ß¥D±±ºô°ì</h3>
­n«Ø¥ß¤@­Ó¥D±±ºô°ì, ±z¥²¶·¶ñ¼g¦b<a href=/dnsadmin/>DNS ¦øªA¾¹</a>­¶¤¤<b>¼W¥[·sªº¥D±±°Ï°ì</b>¤U­±ªºªí³æ. ¨äÄæ¦ìªº·N¸q¬°:
<ul>
<li><b>°Ï°ìÃþ§O</b><br>
    ¨M©w³o¬O¤@­Ó¥¿¦V©Î¤Ï¦Vªººô°ì<p>
<li><b>ºô°ì¦WºÙ/ºô¸ô</b><br>
    ¹ï©ó¥¿¦Vªººô°ì¦Ó¨¥, ³oÃä­n¥[¤J­nºÞ²zªººô°ì¦WºÙ (¨Ò¦p <tt>foo.com</tt>).
    ¹ï©ó¤Ï¦Vªººô°ì¦Ó¨¥, ³oÃä­n¥[¤J­nºÞ²zªº IP ºô¸ô (¨Ò¦p <tt>203.123.221</tt>). <p>
<li><b>¬ö¿ýÀÉ</b><br>
    ³o®ÉÀx¦sºô°ì¸ê°Tªº¬ö¿ýÀÉÀÉ¦W. ¦pªG±z¤£¶ñ³o¤@Äæ, ±N·|¦Û°Ê²£¥Í¤@­Ó¾A¥ÎªºÀÉ¦W. <p>
<li><b>¹q¤l¶l¥ó¦ì§}</b><br>
    ¨C¤@­Ó DNS ºô°ì³£­n¦³¤@­ÓªþÄÝªº¹q¤l¶l¥ó¦ì§}, ³o¬O­t³d³o­Óºô°ìªºÁpµ¸¤H. <p>
<li><b>¥D±±¦øªA¾¹</b><br>
    ³o¥²¶·¬O¤@­Ó­t³d¦¹ºô°ìªº¦WºÙ¦øªA¾¹§¹¾ã¦WºÙ. ³o´X¥G¥Ã»·¬O±z°õ¦æ Webmin ªº¥D¾÷. <p>
</ul>

<hr>
<h3>«Ø¥ß³Q±±ºô°ì</h3>

<hr>
<h3>½s¿è¥D±±ºô°ì</h3>

<hr>
<h3>½s¿èºô°ì¾÷³À</h3>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>
 

   0707010001023d000081a40000000000000002000000013d1fe2b9000010e5000000200000000000000000000000000000002200000003reloc/dnsadmin/help/intro.ca.html <body bgcolor=#ffffff>
<center><img src=images/dnsadmin.gif></center>
<h2><i>Aquesta pàgina d'ajuda és incompleta</i></h2>

<hr>
<h3>Introducció</h3>
Aquest mòdul permet configurar el servidor DNS BIND (Berkeley Internet Name
Daemon) instal·lat en aquesta màquina. El servidor DNS és el responsable
de convertir noms de host com <i>www.foo.com</i> a adreces IP com
<i>10.1.2.3</i>, i adreces IP a noms de host.

<hr>
<h3>DNS Bàsic</h3>
Cada servidor DNS gestiona un cert nombre de dominis inversos i de
retransmissió. Un domini de retransmissió es alguna cosa com ara
<i>foo.com</i>, i un domini invers <i>204.165.66</i>. Per a cada
domini, el servidor DNS pot ser o bé el servidor primari (la font
original de dades per al domini), o bé un servidor secundari
(una font de reserva per al domini). <p>

<dl>
<dt><b>Dominis de Retransmissió</b>
<dd>Si el servidor DNS gestiona un domini de retransmissió com ara
   <i>foo.com</i>, llavors podrà respondre peticions de noms de host
   dins d'aquest domini. Per als dominis per als quals aquest servidor
   és el primari, pots fer servir aquest mòdul per afegir hosts (i altres
   registres) al domini. Per als dominis secundaris, pots especificar 
   els(s) servidor(s) primaris des d'on s'ha de descarregar la
   informació dels hosts. <p>
<dt><b>Dominis Inversos</b>
<dd>Els dominis inversos mapegen adreces IP (com <i>203.165.66.77</i>) a
   noms de host (com <i>www.foo.com</i>). Un domini invers subministra
   noms de host per a totes les adreces IP d'una xarxa (com <i>203.165.66</i>).
   Per dominis per als qual aquest és el servidor primari, aquest mòdul permet
   afegir registres IP-a-nomdehost al domini. Per als servidors secundaris, 
   pots especificar els(s) servidor(s) primaris des d'on s'ha de descarregar
   la informació dels hosts. <p>
</dl>

<hr>
<h3>Configuració del Servidor DNS</h3>
SI el sistema ja té un servidor DNS BIND en execució, llavors pots 
ignorar aquesta secció. No obstant, si Webmin detecta que el fitxer
de configuració del DNS primari (normalment, <tt>/etc/named.boot</tt>)
no és present al sistema, assumeix que el servidor encara no ha estat
configurat. <p>

Per l'ús normal d'Internet, cal que el servidor DNS tingui una llista 
dels servidors de nom arrel, de manera que pugui respondre les consultes 
DNS que queden fora dels seus dominis. Si el servidor no està configurat,
Webmin pot:
<ol>
<li>Descarregar aquesta llista des del servidor FTP d'InterNIC a
   <tt>rs.internic.net</tt>. Assumint que el host on s'està executant
   Webmin està connectat a Internet i no està bloquejat per cap tallafocs,
   aquesta és la millor opció. <p>
<li>Fer servir una còpia de la llista que ve distribuïda amb Webmin.
   Donat que els servidors de noms arrel no canvien gaire sovint,
   hauria de funcionar bé. <p>
<li>Configurar el servidor de noms només per ús 'intern'. Si estàs en
   una xarxa que no està connectada a Internet, llavors aquesta és 
   l'opció que necessites. <p>
</ol>

<hr>
<h3>Creació d'un Domini Primari</h3>
Per crear un domini primari nou, emplena el formulari d'<b>Afegeix un nou
domini primari</b> a la pàgina del <a href=/dnsadmin/>Servidor DNS</a>.
El significat dels camps és:
<ul>
<li><b>Mapejat</b><br>
   Determina si aquest és un domini invers o de retransmissió<p>
<li><b>Domini/Xarxa</b><br>
   Per als dominis de retransmissió, el domini a afegir (com ara
   <tt>foo.com</tt>). Per als dominis inversos, la xarxa IP a afegir
   (com ara <tt>203.123.221</tt>). <p>
<li><b>Nom de fitxer</b><br>
   El nom del fitxer en el qual s'emmagatzema la informació dels dominis.
   Si deixes aquest nom en blanc, es genera automàticament un nom apropiat.<p>
<li><b>E-mail de contacte</b><br>
   Cada domini DNS ha de tenir una adreça de correu electrònic associada,
   que hauria de ser la de la persona responsable del domini. <p>
<li><b>Servidor de noms</b><br>
   Ha de contenir el nom completament qualificat del servidor de noms
   responsable d'aquest domini. Aquest serà gairebé sempre el nom del
   host en què s'està executant Webmin. <p>
</ul>

<hr>
<h3>Creació d'un Domini Secundari</h3>

<hr>
<h3>Edició d'un Domini Primari</h3>

<hr>
<h3>Edició dels Registres de Domini</h3>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 

   0707010001023e000081a40000000000000002000000013d1fe2b900000f8a000000200000000000000000000000000000001f00000003reloc/dnsadmin/help/intro.html    <body bgcolor=#ffffff>
<center><img src=images/dnsadmin.gif></center>
<h2><i>This help page is incomplete</i></h2>

<hr>
<h3>Introduction</h3>
This module allows you to configure the BIND (Berkeley Internet Name Daemon)
DNS server installed on this machine. The DNS server is responsible for
converting hostnames like <i>www.foo.com</i> into IP addresses like
<i>10.1.2.3</i>, and IP addresses into hostnames.

<hr>
<h3>DNS Basics</h3>
Each DNS server manages a number of forward and reverse domains. A forward
domain is something like <i>foo.com</i>, and a reverse domain like
<i>204.165.66</i>. For each domain, the DNS server can either be the
primary server (the original source of data for the domain), or a secondary
server (a backup source for the domain). <p>

<dl>
<dt><b>Forward Domains</b>
<dd>If your DNS server manages a forward domain like <i>foo.com</i>, then
    it will be able to answer requests for hostnames within this domain.
    For domains for which this server is the primary, you can use this
    module to add hosts (and other records) to the domain. For secondary
    domains, you can specify the primary server(s) to download host
    information from. <p>

<dt><b>Reverse Domains</b>
<dd>Reverse domains map IP addresses (like <i>203.165.66.77</i>) into
    hostnames (like <i>www.foo.com</i>). A reverse domain provides hostnames
    for all the IP addresses in a network (like <i>203.165.66</i>). For
    domains for which this server is the primary, this module allows you to
    add IP to hostname records to the domain. For secondary domains, you can
    specify the DNS server(s) to download IP address mappings from. <p>
</dl>

<hr>
<h3>Setting up the DNS Server</h3>
If your system already has a running BIND DNS server, then you can ignore
this section. However, if the Webmin detects that the primary DNS server
configuration file (usually <tt>/etc/named.boot</tt>) is missing from your
system, it assumes that the server has not yet been setup. <p>

For normal internet use, a DNS server has to have a list of the root nameservers
so that it can answer DNS queries that are outside its domains. If your server
is not setup, Webmin can:
<ol>
<li>Download this list from the internic FTP server at <tt>rs.internic.net</tt>.
    Assuming the host Webmin in being run on is connected to the internet
    and is not blocked by any firewall, this is the best option. <p>
<li>Use a copy of the list that is distributed with Webmin. Because the
    root nameservers do not change very often, this should work fine. <p>
<li>Setup the nameserver for 'internal' use only. If you are on network that
    is not connected to the internet, then this is the option you want.<p>
</ol>

<hr>
<h3>Creating a Primary Domain</h3>
To create a new primary domain, fill in the form under <b>Add a new primary
domain</b> on the <a href=/dnsadmin/>DNS Server</a> page. The meaning of
the fields are:
<ul>
<li><b>Mapping</b><br>
    Determines if this is a forward or reverse domain<p>
<li><b>Domain/Net</b><br>
    For forward domains, the domain to be added (like <tt>foo.com</tt>). For
    reverse domains, the IP network to be added (like <tt>203.123.221</tt>). <p>
<li><b>Filename</b><br>
    The name of the file in which to store the domain information. If you
    leave this field blank, a suitable filename is automatically generated. <p>
<li><b>Contact email</b><br>
    Each DNS domain must have an associated email address, which should be
    the person responsible for the domain. <p>
<li><b>Nameserver</b><br>
    This must contain the fully qualified name of the nameserver responsible
    for this domain. This will almost always be the name of the host you
    are running Webmin on. <p>
</ul>

<hr>
<h3>Creating a Secondary Domain</h3>

<hr>
<h3>Editing a Primary Domain</h3>

<hr>
<h3>Editing Domain Records</h3>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

  0707010001023f000081a40000000000000002000000013d1fe2b900000e7e000000200000000000000000000000000000002200000003reloc/dnsadmin/help/intro.sv.html <body bgcolor=#ffffff>
<center><img src=images/dnsadmin.gif></center>
<h2><i>Denna hjälpsida är inte fullständig</i></h2>

<hr>
<h3>Introduktion</h3>
I denna modul kan du konfigurera BIND (Berkeley Internet Name Daemon)
DNS-servern på denna maskin. DNS-servern skriver om datornamn, t ex
<i>www.foo.com</i>, till IP-adresser, t ex <i>10.1.2.3</i>, och
IP-adresser till datornamn.

<hr>
<h3>Grundläggande DNS</h3>
Varje DNS-server har hand om ett antal framåt- och bakåtdomäner. En
framåtdomän är ett namn, t ex <i>foo.com</i> och en bakåtdomän är ett
nummer, t ex <i>204.165.66</i>. För varje domän kan DNS-servern vara
primär server (huvudserver och ansvarig för data om domänen) eller
sekundär server (backup för domänen).

<dl>
<dt><b>Framåtdomäner</b>
<dd>Om DNS-servern har hand om en framåtdomän, t ex <i>foo.com</i>, kan
    den svara på förfrågningar om datornamn i denna domän.
    För de domäner som denna server är primär server kan du också lägga
    till datorer och andra uppgifter till domänen i denna modul.
    För domäner där servern är sekundär server kan du ange primär server
    (den som servern ska hämta information från).

<dt><b>Bakåtdomäner</b>
<dd>Bakåtdomäner kopplar ihop IP-adresser (t ex <i>203.165.66.77</i>) med
    datornamn (t ex <i>www.foo.com</i>). En bakåtdomän innehåller
    datornamn för alla IP-adresser i ett nätverk (t ex <i>203.165.66</i>).
    För de domäner som denna server är primär server kan du också lägga till
    poster med IP-adresser och datornamn i denna modul.
    För domäner där servern är sekundär server kan du ange primär server
    (den som servern ska hämta information från).
</dl>

<hr>
<h3>Sätta upp DNS-servern</h3>
Om du redan kör en BIND DNS-server på systemet kan du hoppa över detta.
Om Webmin upptäcker att inställningsfilen för den primära DNS-servern
(oftast <tt>/etc/named.boot</tt>) saknas på systemet, antar det att
du inte har satt upp någon DNS-server än.

<p>En DNS-server behöver en lista över rotnamnservrar för att svara på
DNS-förfrågningar utanför den egna domänen. Om din server inte redan är
uppsatt kan Webmin

<ol>
<li>ladda ned en lista från FTP-servern på <tt>rs.internic.net</tt>.
    Om datorn som Webmin körs på är kopplad till Internet - och inte
    sitter bakom en brandvägg - är detta det bästa alternativet.
<li>använda den lista som skickas med Webmin. Eftersom rotservrar inte
    ändras så ofta, bör detta fungera.
<li>sätta upp namnserver endast för internt bruk. Om du jobbar på ett
    nätverk som inte är anslutet till Internet är detta det alternativ du
    bör välja.
</ol>

<hr>
<h3>Skapa en primär domän</h3>
Fyll i formuläret under <b>Lägg till primär domän</b> på
<a href=/dnsadmin/>DNS-serversidan</a> för att skapa en ny primär domän.
Fälten har följande innebörd:
<ul>
<li><b>Uppslagning</b>
    <br>Anger om detta är en framåt- eller bakåtdomän.
<li><b>Domän/nät</b>
    <br>För framåtdomäner anges här domän (t ex <tt>foo.com</tt>).
    För bakåtdomäner anges här IP-nätet (t ex <tt>203.123.221</tt>).
<li><b>Filnamn</b>
    <br>Namn på den fil som domäninformation ska lagras i. Om detta fält
    lämnas tomt, kommer ett filnamn automatiskt att genereras.
<li><b>E-postadress</b>
    <br>Varje DNS-domän måste ha en e-postadress till den person som
    ansvarar för domänen.
<li><b>Namnserver</b>
    <br>Detta fält ska innehålla fullständigt namn på den namnserver som
    hanterar domänen. Det är oftast namnet på den dator du kör Webmin på.
</ul>

<hr>
<h3>Skapa en sekundär domän</h3>

<hr>
<h3>Ändra en primär domän</h3>

<hr>
<h3>Ändra domänposter</h3>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

  07070100010240000081a40000000000000002000000013d1fe2b900000aad000000200000000000000000000000000000002a00000003reloc/dnsadmin/help/intro.zh_TW.Big5.html <body bgcolor=#ffffff>
<center><img src=images/dnsadmin.gif></center>
<h2><i>³o­Ó»¡©ú­¶©|¥¼§¹¦¨</i></h2>

<hr>
<h3>Â²¤¶</h3>
³o­Ó¼Ò²Õ¥i¥HÅý±z²ÕºA±z¨t²Î¤Wªº bind (Berkely Internet Name Daemon) DNS ¦øªA¾¹. DNS ¦øªA¾¹ªº¤u§@¬O±N¥D¾÷¦WºÙ¨Ò¦p <i>www.foo.com</i> Âà´«¦¨ IP ¦ì§}¨Ò¦p <i>10.1.2.3</i>, ©Î±N IP ¦ì§}Âà´«¦¨¥D¾÷¦WºÙ.

<hr>
<h3>DNS °òÂ¦</h3>
¨C¤@­Ó DNS ¦øªA¾¹³£·|ºÞ²z¤@¨Ç¥¿¦V©Î¤Ï¦Vªººô°ì. ¹ï¤@­Ó¥¿¦Vªºªººô°ì¬O¹³ <i>foo.com</i>, ¦Ó¤Ï¦Vªººô°ì¬O¹³ <i>204.165.66</i>. ¹ï©ó¨C¤@­Óºô°ì, DNS ¦øªA¾¹¥i¥H¬O¥D±±ªº¦øªA¾¹ (ºô°ì­ì©l¸ê®Æªº¨Ó·½), ©Î³Q±±¦øªA¾¹ (ºô°ìªº³Æ¥÷¸ê®Æ). <p>

<dl>
<dt><b>¥¿¦Vºô°ì</b>
<dd>¦pªG±zªº DNS ºÞ²z¤@­Ó¥¿¦Vºô°ì¨Ò¦p <i>foo.com</i>, «h¥¦±N¥i¥H¦^µª¹ï¨äºô°ì¤¤¥D¾÷¦WºÙªº¬d¸ß. ¹ï©ó³o­Óºô°ì¦Ó¨¥, ³o¬O¥D±±ªº¦øªA¾¹. ±z¥i¥H¨Ï¥Î³o­Ó¼Ò²Õ¥H¼W¥[¥D¾÷ (©Î¨ä¥L¬ö¿ý) ¨ìºô°ì¤¤. ¹ï©ó³Q±±ªº¦øªA¾¹¦Ó¨¥, ±z¥i¥H«ü©w¤U¸ü¸ê®Æ¨Ó·½ªº¥D±±¦øªA¾¹. <p>

<dt><b>¤Ï¦Vºô°ì</b>
<dd>¤Ï¦Vºô°ì¬O¤@²Õ IP ¦ì§} (¹³¬O <i>203.165.66.77</i>) »P¥D¾÷¦WºÙ (¹³¬O <i>www.foo.com</i>) ªº¹ïÀ³. ¹ï©ó©ÒÄÝªººô°ìªº¥D±±¦øªA¾¹, ³o­Ó¼Ò²Õ¥i¥HÅý±z¼W¥[ IP ¨ì¥D¾÷¦WºÙªº¹ïÀ³¬ö¿ý. ¹ï©ó³Q±±ªº¦øªA¾¹¦Ó¨¥, ±z¥i¥H«ü©w¤U¸ü¸ê®Æ¨Ó·½ªº¥D±±¦øªA¾¹. <p>
</dl>

<hr>
<h3>³]©w DNS ¦øªA¾¹</h3>
¦pªG±zªº¨t²Î¤w¸g¦b°õ¦æ BIND DNS ¦øªA¾¹, «h±z¥i¥H©¿²¤³o¤@¸`. µM¦Ó, ¦pªG Webmin »{¬°¦b±zªº¨t²Î¤W§ä¤£¨ì¥D±±ªº DNS ¦øªA°_²ÕºAÀÉ (¤@¯ë¬O <tt>/etc/named.boot</tt>), ¥¦·|°²³]±z©|¥¼³]©w¦øªA¾¹. <p>

¹ï©ó¤@¯ë©Êªººô»Úºô¸ô¨Ï¥Î, DNS ¦øªA¾¹·|¦³¤@¨t¦Cªº®Ú¦WºÙ¦øªA¾¹, ¦p¦¹¥¦¤~¯à¦^µª¥X¤£ÄÝ©ó©ÒºÞÁÒ½d³ò¤ºªººô°ì. ¦pªG±zªº¦øªA¾¹©|¥¼³Q³]©w, Webmin ¥i¥H:
<ol>
<li>±q <tt>rs.internic.net</tt> ¤U¸ü³o­Ó¦Cªí. °²³]³o­Ó°õ¦æ Webmin ªº¥D¾÷¥i¥H³s±µ¨ìºô»Úºô¸ô, ¥B¥¼³Q¨¾¤õÀð©Òªý¹j, ³o±N¬O³Ì¨Îªº¿ï¶µ. <p>
<li>¨Ï¥Î»P Webmin ¤@¦P´²§Gªº¦Cªí. ¦]¬°®Ú¦WºÙ¦øªA¾¹¤£¤Ó·|ÅÜ°Ê, ©Ò¥H³oÀ³¸Ó¯à¥¿±`ªº¤u§@. <p>
<li>±N¦WºÙ¦øªA¾¹³]©w¦¨ '¤º³¡' ¨Ï¥Îªº. ¦pªG±zªººô¸ô¨S¦³³s±µ¨ìºô»Úºô¸ô, ³oÀ³¸Ó¬O±z©Ò·Q­nªº. <p>
</ol>

<hr>
<h3>«Ø¥ß¥D±±ºô°ì</h3>
­n«Ø¥ß¤@­Ó¥D±±ºô°ì, ±z¥²¶·¶ñ¼g¦b<a href=/dnsadmin/>DNS ¦øªA¾¹</a>­¶¤¤<b>¼W¥[·sªº¥D±±°Ï°ì</b>¤U­±ªºªí³æ. ¨äÄæ¦ìªº·N¸q¬°:
<ul>
<li><b>°Ï°ìÃþ§O</b><br>
    ¨M©w³o¬O¤@­Ó¥¿¦V©Î¤Ï¦Vªººô°ì<p>
<li><b>ºô°ì¦WºÙ/ºô¸ô</b><br>
    ¹ï©ó¥¿¦Vªººô°ì¦Ó¨¥, ³oÃä­n¥[¤J­nºÞ²zªººô°ì¦WºÙ (¨Ò¦p <tt>foo.com</tt>).
    ¹ï©ó¤Ï¦Vªººô°ì¦Ó¨¥, ³oÃä­n¥[¤J­nºÞ²zªº IP ºô¸ô (¨Ò¦p <tt>203.123.221</tt>). <p>
<li><b>¬ö¿ýÀÉ</b><br>
    ³o®ÉÀx¦sºô°ì¸ê°Tªº¬ö¿ýÀÉÀÉ¦W. ¦pªG±z¤£¶ñ³o¤@Äæ, ±N·|¦Û°Ê²£¥Í¤@­Ó¾A¥ÎªºÀÉ¦W. <p>
<li><b>¹q¤l¶l¥ó¦ì§}</b><br>
    ¨C¤@­Ó DNS ºô°ì³£­n¦³¤@­ÓªþÄÝªº¹q¤l¶l¥ó¦ì§}, ³o¬O­t³d³o­Óºô°ìªºÁpµ¸¤H. <p>
<li><b>¥D±±¦øªA¾¹</b><br>
    ³o¥²¶·¬O¤@­Ó­t³d¦¹ºô°ìªº¦WºÙ¦øªA¾¹§¹¾ã¦WºÙ. ³o´X¥G¥Ã»·¬O±z°õ¦æ Webmin ªº¥D¾÷. <p>
</ul>

<hr>
<h3>«Ø¥ß³Q±±ºô°ì</h3>

<hr>
<h3>½s¿è¥D±±ºô°ì</h3>

<hr>
<h3>½s¿èºô°ì¾÷³À</h3>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>
 

   07070100029e32000081a40000000000000002000000013d1fe2b9000000e5000000200000000000000000000000000000001e00000003reloc/dnsadmin/config-solaris soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/etc/named.pid
named_pathname=/usr/sbin/in.named
ping_pathname=ping
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
   07070100029e3a000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002100000003reloc/dnsadmin/config-suse-linux  soa_style=1
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e3b000081a40000000000000002000000013d1fe2b9000000eb000000200000000000000000000000000000002200000003reloc/dnsadmin/config-turbo-linux soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/var/run/named.pid
named_pathname=/usr/sbin/named
ping_pathname=ping -c 1
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
 07070100029e3c000081a40000000000000002000000013d1fe2b9000000e5000000200000000000000000000000000000001f00000003reloc/dnsadmin/config-unixware    soa_style=0
show_list=0
nslookup_pathname=nslookup
named_pid_file=/etc/named.pid
named_pathname=/usr/sbin/in.named
ping_pathname=ping
named_boot_file=/etc/named.boot
records_order=0
updserial_def=0
updserial_on=1
updserial_man=1
   07070100029e45000081a40000000000000002000000013d1fe2b900000172000000200000000000000000000000000000001b00000003reloc/dnsadmin/config.info    named_boot_file=Primary configuration file,0
show_list=Display domains as,1,0-Icons,1-List
soa_style=Serial number style,1,0-Running number,1-Date based (YYYYMMDDnn)
records_order=Order to display records in,1,1-Alphabetical,0-As added
named_pid_file=Process ID file,0
named_pathname=Full path to <i>named</i>,0
updserial_on=Generally handle serial numbers,1,0-No,1-Yes
  07070100029e46000081a40000000000000002000000013d1fe2b9000001a9000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.ca named_boot_file=Fitxer de configuració primari,0
show_list=Mostra els dominis com a,1,0-Icones,1-Llista
soa_style=Estil del número de sèrie,1,0-Número incremental,1-Basat en data (AAAAMMDDnn)
records_order=Mostra els registres per,1,1-Ordre alfabètic,0-Ordre d'introducció
named_pid_file=Fitxer d'ID de procés,0
named_pathname=Camí complet de <i>named</i>,0
updserial_on=Gestiona els números de sèrie globalment,1,0-No,1-Sí

   07070100029e49000081a40000000000000002000000013d1fe2b900000169000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.de named_boot_file=Prim&auml;re Konfigurationsdatei,0
show_list=Zeige Domains als,1,0-Symbole,1-Liste
soa_style=Muster f&uuml;r Folge-Nummer,1,0-Laufende Zahl,1-Datumsbasiert (JJJJMMTTnn)
records_order=Reihenfolge um Eintr&auml;ge anzuzeigen,1,1-Alphabetisch,0-Wie hinzugef&uuml;gt
named_pid_file=ProZess ID Datei,0
named_pathname=Absoluter Pfad zu <i>named</i>,0
   07070100029e4a000081a40000000000000002000000013d1fe2b900000179000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.es named_boot_file=Archivo de configuración primaria,0
show_list=Mostrar dominios como,1,0-Iconos,1-Lista
soa_style=Estilo de Número serial,1,0-Número en ejecución,1-Basado en fecha (AAAAMMDDnn)
records_order=Orden en que mostrar los registros,1,1-Alfabéticamente,0-Según se añadieron
named_pid_file=Archivo de ID de proceso,0
named_pathname=Trayectoria completa a <i>named</i>,0
   07070100029e4b000081a40000000000000002000000013d1fe2b900000177000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.fr named_boot_file=Fichier de configuration primaire,0
show_list=Afficher les domaines comme,1,0-Icônes,1-Liste
soa_style=Style des numéros de série,1,0-Numéro,1-Basé sur la date (AAAAMMJJnn)
records_order=Ordre d'affichage des enregistrements,1,1-Alphabetique,0-Comme ajouté
named_pid_file=Fichier de numéro de processus,0
named_pathname=Chemin complet de <i>named</i>,0
 07070100029e4c000081a40000000000000002000000013d1fe2b900000174000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.pl named_boot_file=Podstawowy plik konfiguracyjny,0
show_list=Wy¶wietlaj domeny jako,1,0-Ikony,1-Listê
soa_style=Postaæ numeru seryjnego,1,0-Numer Kolejny,1-Oparty na dacie (RRRRMMDDnn)
records_order=Kolejno¶æ wy¶wietlania rekordów,1,1-Alfabetycznie,0-W&nbsp;kolejno¶ci dodawania
named_pid_file=Plik z&nbsp;numerem ID procesu,0
named_pathname=Pe³na ¶cie¿ka do <i>named</i>,0
07070100029e4d000081a40000000000000002000000013d1fe2b900000152000000200000000000000000000000000000002100000003reloc/dnsadmin/config.info.ru_RU  named_pid_file=ID ôàéë ïðîöåññà,0
named_pathname=Ïîëíûé ïóòü ê <i>named</i>,0
soa_style=Ñòèëü ñåðèéíîãî íîìåðà,1,0-Ïîñëåäîâàòåëüíûå íîìåðà,1-Íà îñíîâå äàòû (ÃÃÃÃÌÌÄÄnn)
show_list=Ïîêàçûâàòü äîìåíû êàê,1,0-Ïèêòîãðàììû,1-Ñïèñîê
records_order=Óïîðÿäî÷èòü çàïèñè ïî,1,1-Àëôàâèòó,0-Íåóïîðÿäî÷åííî
named_boot_file=Ïåðâè÷íûé ôàéë êîíôèãóðàöèè,0
  07070100029e52000081a40000000000000002000000013d1fe2b900000152000000200000000000000000000000000000002100000003reloc/dnsadmin/config.info.ru_SU  named_boot_file=ðÅÒ×ÉÞÎÙÊ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ,0
show_list=ðÏËÁÚÙ×ÁÔØ ÄÏÍÅÎÙ ËÁË,1,0-ðÉËÔÏÇÒÁÍÍÙ,1-óÐÉÓÏË
soa_style=óÔÉÌØ ÓÅÒÉÊÎÏÇÏ ÎÏÍÅÒÁ,1,0-ðÏÓÌÅÄÏ×ÁÔÅÌØÎÙÅ ÎÏÍÅÒÁ,1-îÁ ÏÓÎÏ×Å ÄÁÔÙ (ççççííäänn)
records_order=õÐÏÒÑÄÏÞÉÔØ ÚÁÐÉÓÉ ÐÏ,1,1-áÌÆÁ×ÉÔÕ,0-îÅÕÐÏÒÑÄÏÞÅÎÎÏ
named_pid_file=ID ÆÁÊÌ ÐÒÏÃÅÓÓÁ,0
named_pathname=ðÏÌÎÙÊ ÐÕÔØ Ë <i>named</i>,0
  07070100029e53000081a40000000000000002000000013d1fe2b90000013a000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.sv named_boot_file=Fil för primära inställningar,0
show_list=Visa domäner som,1,0-Ikoner,1-Lista
soa_style=Serienummer,1,0-Löpande nummer,1-Datumbaserade (ÅÅÅÅMMDDnn)
records_order=Visa poster ordnade,1,1-efter namn,0-kronologiskt
named_pid_file=Process-ID-fil,0
named_pathname=Fullständig sökväg till <i>named</i>,0
  07070100029e54000081a40000000000000002000000013d1fe2b900000154000000200000000000000000000000000000001e00000003reloc/dnsadmin/config.info.tr named_boot_file=Birincil yapýlandýrma dosyasý,0
show_list=Alanlarý görüntüleme þekli,1,0-Ýkonlar,1-Liste
soa_style=Seri numarasý tipi,1,0-Çalýþma numarasý,1-Tarihe göre (YYYYAAGGss)
records_order=Kayýtlarý görüntüleme þekli,1,1-Alfabetik olarak,0-Eklenme sýrasýna göre
named_pid_file=PID dosyasý,0
named_pathname=<i>named</i>'in tam yolu,0
07070100029e55000081a40000000000000002000000013d1fe2b9000000ed000000200000000000000000000000000000002100000003reloc/dnsadmin/config.info.zh_CN  named_boot_file=Ö÷ÅäÖÃÎÄ¼þ,0
show_list=ÏÔÊ¾ÓòµÄÐÎÊ½,1,0-Í¼±í,1-ÁÐ±í
soa_style=ÏµÁÐºÅ·ç¸ñ,1,0-ÔËÐÐºÅÂë,1-»ùÓÚÈÕÆÚ (YYYYMMDDnn)
records_order=ÏÔÊ¾¼ÇÂ¼µÄË³Ðò,1,1-×ÖÄ¸,0-Ìí¼Ó
named_pid_file=½ø³ÌºÅÎÄ¼þ,0
named_pathname=<i>named</i>µÄÈ«Â·¾¶,0
   07070100029e57000081a40000000000000002000000013d1fe2b900000109000000200000000000000000000000000000002600000003reloc/dnsadmin/config.info.zh_TW.Big5 named_boot_file=¥D­n²ÕºAÀÉ,0
show_list=ºô°ìÅã¥Ü¤è¦¡,1,0-¹Ï¥Ü,1-¦Cªí
soa_style=§Ç¸¹¼Ë¦¡,1,0-»¼¼Wªº¶¶§Ç,1-¥H¤é´Á¬°°òÂ¦ (YYYYMMDDnn)
records_order=Åã¥Ü¬ö¿ýªº±Æ¦C¶¶§Ç,1,1-¨Ì¾Ú¦WºÙ,0-¨Ì¾Ú¼W¥[®É¶¡
named_pid_file=µ{§Ç½s¸¹ÀÉ®×,0
named_pathname=¨ì <i>named</i> ªº§¹¾ã¸ô®|,0
   07070100029e5d000081e40000000000000002000000013d1fe2b900000b7b000000200000000000000000000000000000002100000003reloc/dnsadmin/create_master.cgi  #!/usr/local/bin/perl
# create_master.cgi
# Create a new master zone

require './dns-lib.pl';
&ReadParse();
$whatfailed = "Failed to create zone";
%access = &get_module_acl();
$access{'master'} || &error("You cannot create master zones");
&lock_file($config{'named_boot_file'});
$conf = &get_config();

# validate inputs
if ($in{'rev'}) {
	$in{'zone'} =~ /^[\d\.]+$/ ||
		&error("'$in{'zone'}' is not a valid network");
	$in{'zone'} = &ip_to_arpa($in{'zone'});
	}
else {
	$in{'zone'} =~ /^[A-Za-z0-9\-\.]+$/ ||
		&error("'$in{'zone'}' is not a valid domain name");
	$in{'zone'} !~ /^[0-9\.]+$/ ||
		&error("'$in{'zone'}' must be a domain, not a network");
	}
$in{'zone'} =~ s/\.$//g;
$in{'master'} =~ /^[A-Za-z0-9\-\.]+$/ ||
	&error("'$in{'master'}' is not a valid master server");
if ($in{'master'} !~ /\.$/) { $in{'master'} .= "."; }
$in{'email'} =~ /^\S+\@\S+$/ ||
	&error("'$in{'email'}' is not a valid email address");
$in{'email'} =~ s/\@/\./g;
if ($in{'email'} !~ /\.$/) { $in{'email'} .= "."; }
$in{'refresh'} =~ /^\S+$/ ||
        &error("'$in{'refresh'}' is not a valid refresh time");
$in{'retry'} =~ /^\S+$/ ||
        &error("'$in{'retry'}' is not a valid transfer retry time");
$in{'expiry'} =~ /^\S+$/ ||
        &error("'$in{'expiry'}' is not a valid expiry time");
$in{'minimum'} =~ /^\S+$/ ||
        &error("'$in{'minimum'}' is not a valid default TTL");
$base = $access{'dir'} eq '/' ? &base_directory($conf) : $access{'dir'};
if (!$in{'file_def'}) {
	$in{'file'} =~ /^\S+$/ ||
		&error("'$in{'file'}' is not a valid filename");
	if ($in{'file'} !~ /^\//) {
		$in{'file'} = $base."/".$in{'file'};
		}
	&allowed_zone_file(\%access, $in{'file'}) ||
		&error("'$in{'file'}' is not an allowable zone file");
	}
elsif ($in{'rev'}) {
	# create filename for reverse zone
	$in{'file'} = $base."/".&arpa_to_ip($in{'zone'}).".rev";
	}
else {
	# create filename for forward zone
	$in{'file'} = $base."/$in{'zone'}.hosts";
	}
&lock_file($in{'file'});
open(ZONE, ">$in{'file'}") || &error("Failed to create '$in{'file'}' : $?");
close(ZONE);

# create the SOA and NS records
if ($config{'soa_style'} == 1) {
	$serial = &date_serial()."00";
	}
else {
	$serial = time();
	}
$vals = "$in{'master'} $in{'email'} (\n".
        "\t\t\t$serial\n".
        "\t\t\t$in{'refresh'}\n".
        "\t\t\t$in{'retry'}\n".
        "\t\t\t$in{'expiry'}\n".
        "\t\t\t$in{'minimum'} )";
&create_record($in{'file'}, "$in{'zone'}.", undef, "IN", "SOA", $vals);
&create_record($in{'file'}, "$in{'zone'}.", undef, "IN", "NS", $in{'master'});
&unlock_file($in{'file'});

# create the zone directive
&create_zone({ 'name' => 'primary', 'values' => [ $in{'zone'}, $in{'file'} ]});
&unlock_file($config{'named_boot_file'});
&webmin_log("create", "master", $in{'zone'}, \%in);

# Add the new zone to the access list
if ($access{'zones'} ne '*') {
        $access{'zones'} .= " ".$in{'zone'};
        &save_module_acl(\%access);
        }
&redirect("");

 07070100029e5e000081e40000000000000002000000013d1fe2b900000811000000200000000000000000000000000000002000000003reloc/dnsadmin/create_slave.cgi   #!/usr/local/bin/perl
# create_slave.cgi
# Create a new slave zone

require './dns-lib.pl';
&ReadParse();
$whatfailed = "Failed to create slave zone";
%access = &get_module_acl();
$access{'slave'} || &error("You are not allowed to create slave zones");

# validate inputs
if ($in{'rev'}) {
        $in{'zone'} =~ /^[\d\.]+$/ ||
                &error("'$in{'zone'}' is not a valid network");
        $in{'zone'} = &ip_to_arpa($in{'zone'});
        }
else {
        $in{'zone'} =~ /^[A-z0-9\-\.]+$/ ||
                &error("'$in{'zone'}' is not a valid domain name");
        }
$in{'zone'} =~ s/\.$//g;
@masters = split(/\s+/, $in{'masters'});
foreach $m (@masters) {
        &check_ipaddress($m) ||
                &error("'$m' is not a valid master server address");
        }
if (!@masters) {
        &error("You must enter at least one master server");
        }
$base = $access{'dir'} eq '/' ? &base_directory($conf) : $access{'dir'};
if ($in{'file_def'} == 0) {
        $in{'file'} =~ /^\S+$/ ||
                &error("'$in{'file'}' is not a valid filename");
        if ($in{'file'} !~ /^\//) {
                $file = $base."/".$in{'file'};
                }
        else { $file = $in{'file'}; }
	&allowed_zone_file(\%access, $file) ||
		&error("'$file' is not an allowable zone file");
	if (!-r $file) {
		&lock_file($file);
		open(ZONE, "> $file") ||
			&error("Failed to create '$file' : $?");
		close(ZONE);
		&unlock_file($file);
		}
        }
elsif ($in{'file_def'} == 2) {
	if ($in{'rev'}) {
		$file = $base."/".&arpa_to_ip($in{'zone'}).".rev";
		}
	else {
		$file = $base."/".$in{'zone'}.".hosts";
		}
	}


@vals = ($in{'zone'}, @masters);
if ($file) { push(@vals, $file); }
&lock_file($config{'named_boot_file'});
&create_zone({ 'name' => 'secondary', 'values' => \@vals });
&unlock_file($config{'named_boot_file'});
&webmin_log("create", "slave", $in{'zone'}, \%in);

# Add the new zone to the access list
if ($access{'zones'} ne '*') {
        $access{'zones'} .= " ".$in{'zone'};
        &save_module_acl(\%access);
        }
&redirect("");

   07070100029e5f000081a40000000000000002000000013d1fe2b900000ad1000000200000000000000000000000000000001800000003reloc/dnsadmin/db.cache   ;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File
   07070100029e60000081a40000000000000002000000013d1fe2b90000003f000000200000000000000000000000000000001a00000003reloc/dnsadmin/defaultacl zones=*
master=1
slave=1
defaults=1
reverse=1
multiple=1
dir=/
 07070100029e61000081e40000000000000002000000013d1fe2b900000dcb000000200000000000000000000000000000001f00000003reloc/dnsadmin/delete_zone.cgi    #!/usr/local/bin/perl
# delete_zone.cgi
# Delete a master or slave zone

require './dns-lib.pl';
&ReadParse();
$conf = &get_config();
$zconf = $conf->[$in{'index'}];
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf->{'values'}->[0]) ||
        &error("You are not allowed to delete this zone");

$rev = $zconf->{'values'}->[0] =~ /in-addr.arpa/i;
if (!$in{'confirm'}) {
	# Ask the user if he is sure ..
	&header("Delete Zone", "");
	print "<hr>\n";

	print "<center><p>Are you sure you want to delete the zone <tt>",
		&arpa_to_ip($zconf->{'values'}->[0]),"</tt> ? All records ",
		"and the zone file will  be deleted.<p>\n";
	print "<form action=delete_zone.cgi>\n";
	print "<input type=hidden name=index value=$in{'index'}>\n";
	print "<input type=submit name=confirm value='$text{'delete'}'><br>\n";
	print $rev ? "Delete forward records in other zones ?\n" :
		     "Delete reverse records in other zones ?\n";
	print "<input type=radio name=rev value=1 checked> $text{'yes'}\n";
	print "<input type=radio name=rev value=0> $text{'no'}\n";
	print "</form></center>\n";
	print "<hr>\n";
	&footer("", "record types");
	exit;
	}

if (!$rev && $in{'rev'} && $zconf->{'name'} eq 'primary') {
	# find and delete reverse records
	&lock_file($zconf->{'values'}->[1]);
	@recs = &read_zone_file($zconf->{'values'}->[1],
				$zconf->{'values'}->[0]);
	foreach $r (@recs) {
		next if ($r->{'type'} ne "A");
		($orevconf, $orevfile, $orevrec) =
			&find_reverse($r->{'values'}->[0]);
		if ($orevrec && &can_edit_reverse($orevconf) &&
		    $r->{'name'} eq $orevrec->{'values'}->[0] &&
		    $r->{'values'}->[0] eq &arpa_to_ip($orevrec->{'name'})) {
			&lock_file($orevrec->{'file'});
			&delete_record($orevrec->{'file'} , $orevrec);
			&lock_file($orevfile);
			@orrecs = &read_zone_file(
				$orevfile, $orevconf->{'values'}->[0]);
			&bump_soa_record($orevfile, \@orrecs);
			}
		}
	}
elsif ($rev && $in{'rev'} && $zconf->{'name'} eq 'primary') {
	# find and delete forward records
	&lock_file($zconf->{'values'}->[1]);
	@recs = &read_zone_file($zconf->{'values'}->[1],
			        $zconf->{'values'}->[0]);
	foreach $r (@recs) {
		next if ($r->{'type'} ne "PTR");
		($ofwdconf, $ofwdfile, $ofwdrec) =
			&find_forward($r->{'values'}->[0]);
		if ($ofwdrec && &can_edit_zone($ofwdconf->{'values'}->[0]) &&
		    &arpa_to_ip($r->{'name'}) eq $ofwdrec->{'values'}->[0] &&
		    $r->{'values'}->[0] eq $ofwdrec->{'name'}) {
			&lock_file($ofwdrec->{'file'});
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			&lock_file($ofwdfile);
			@ofrecs = &read_zone_file($ofwdfile,
						  $ofwdconf->{'value'});
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		}
	}

&lock_file($zconf->{'file'});
&delete_zone($zconf);
if ($zconf->{'name'} eq "primary") {
	&lock_file(&absolute_path($zconf->{'values'}->[1]));
	unlink(&absolute_path($zconf->{'values'}->[1]));
	}
&unlock_all_files();
&webmin_log("delete", $zconf->{'name'} eq "primary" ? "master" : "slave",
	    $zconf->{'values'}->[0], \%in);

# remove from acl files
&read_acl(undef, \%wusers);
foreach $u (keys %wusers) {
        %uaccess = &get_module_acl($u);
        if ($uaccess{'zones'} ne '*') {
                $uaccess{'zones'} =
			join(' ', grep { $_ ne $zconf->{'values'}->[0] }
                                  split(/\s+/, $uaccess{'zones'}));
                &save_module_acl(\%uaccess, $u);
                }
        }
&redirect("");

# can_edit_reverse(&zone)
sub can_edit_reverse
{
return $access{'reverse'} || &can_edit_zone(\%access, $_[0]->{'values'}->[0]);
}

 07070100029e62000081a40000000000000002000000013d1fe2b90000146e000000200000000000000000000000000000001a00000003reloc/dnsadmin/dns-lib.pl # dnsadmin common functions

do '../web-lib.pl';
&init_config();
&foreign_require("bind8", "bind8-lib.pl");
do "$root_directory/bind8/records-lib.pl";

# mapping between record types and names
%code_map = ("A", "Address", "NS", "Name Server", "CNAME", "Name Alias",
	     "MX", "Mail Server", "HINFO", "Host Information", "TXT", "Text",
	     "WKS", "Well Known Service", "RP", "Responsible Person",
	     "PTR", "Reverse Address");

# get_config()
# Returns the current bind4 configuration
sub get_config
{
if (!@get_config_cache) {
        @get_config_cache = &read_config_file($config{'named_boot_file'});
        }
return \@get_config_cache;
}

# read_config_file(filename, [dont expand includes])
# Read and parse a BIND4 format config file
sub read_config_file
{
# read primary config file
local $lnum = 0;
local $n = 0;
local($i, $j, @rv);
open(CONF, $_[0]);
while(<CONF>) {
	s/\r|\n//g;	# strip newline
	s/;.*$//g;	# strip comments
	s/\s+$//g;	# strip trailing spaces
	if (/^(\S+)\s*(.*)$/) {
		local(%dir);
		$dir{'name'} = $1;
		$dir{'value'} = $2;
		$dir{'values'} = [ split(/\s+/, $2) ];
		$dir{'line'} = $lnum;
		$dir{'file'} = $_[0];
		$dir{'index'} = $n++;
		push(@rv, \%dir);
		}
	$lnum++;
	}
close(CONF);

# expand include directives
for($i=0; $i<@rv; $i++) {
	if ($rv[$i]->{'name'} eq "include" && !$_[1]) {
		# replace this include directive
		$inc = $rv[$i]->{'value'};
		if ($inc !~ /^\//) {
			$inc = &base_directory(\@rv)."/".$inc;
			}
		@inc = &read_config_file($inc, 1);

		# update index of included structures
		for($j=0; $j<@inc; $j++) {
			$inc[$j]->{'index'} += $rv[$i]->{'index'};
			}

		# update index of directives after include
		for($j=$i+1; $j<@rv; $j++) {
			$rv[$j]->{'index'} += scalar(@inc) - 1;
			}

		splice(@rv, $i--, 1, @inc);
		}
	}
return @rv;
}

# find_config(name, &array)
sub find_config
{
local($c, @rv);
foreach $c (@{$_[1]}) {
        if ($c->{'name'} eq $_[0]) {
                push(@rv, $c);
                }
        }
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# base_directory([&config])
# Returns the base directory for include and domain files
sub base_directory
{
$conf = @_ ? $_[0] : &get_config();
$dir = &find_config("directory", $conf);
if ($dir) { return $dir->{'values'}->[0]; }
$config{'named_boot_file'} =~ /^(.*)\/[^\/]+$/;
return $1;
}

# create_zone(&details)
sub create_zone
{
local(@v) = @{$_[0]->{'values'}};
open(ZONE, ">> $config{'named_boot_file'}");
print ZONE $_[0]->{'name'}.(@v ? " ".join(" ", @v) : "")."\n";
close(ZONE);
}

# modify_zone(&old, &details)
sub modify_zone
{
local(@v) = @{$_[1]->{'values'}};
&replace_file_line($_[0]->{'file'}, $_[0]->{'line'},
		   $_[1]->{'name'}.(@v ? " ".join(" ", @v) : "")."\n");
}

# delete_zone(&old)
sub delete_zone
{
&replace_file_line($_[0]->{'file'}, $_[0]->{'line'});
}

# find_reverse(address)
# Returns the zone and record structures for the PTR record for some address
sub find_reverse
{
local($conf, @zl, $rev, $z, $revconf, $revfile, $revrec, @revrecs, @octs, $rr);

# find reverse domain
$conf = &get_config();
@zl = &find_config("primary", $conf);
@octs = split(/\./, $_[0]);
for($i=2; $i>=0; $i--) {
	$rev = &ip_to_arpa(join('.', @octs[0..$i]));
	$rev =~ s/\.$//g;
	foreach $z (@zl) {
		if (lc($z->{'values'}->[0]) eq $rev) {
			# found the reverse master domain
			$revconf = $z;
			last;
			}
		}
	}

# find reverse record
if ($revconf) {
        $revfile = $revconf->{'values'}->[1];
        @revrecs = &read_zone_file($revfile, $revconf->{'values'}->[0]);
        local $addr = &ip_to_arpa($_[0]);
        foreach $rr (@revrecs) {
                if ($rr->{'type'} eq "PTR" &&
                    lc($rr->{'name'}) eq lc($addr)) {
                        # found the reverse record
                        $revrec = $rr;
                        last;
                        }
                }
        }
return ($revconf, $revfile, $revrec);
}

# find_forward(address)
# Returns the zone and record structures for the A record for some address
sub find_forward
{
local($conf, @zl, $fwd, $z, $fwdconf, $fwdfile, $fwdrec, @fwdrecs, @octs, $rr);

# find reverse domain
local $host = $_[0]; $host =~ s/\.$//;
$conf = &get_config();
@zl = &find_config("primary", $conf);
local @parts = split(/\./, $host);
DOMAIN: for($i=1; $i<@parts; $i++) {
	local $fwd = join(".", @parts[$i .. @parts-1]);
	foreach $z (@zl) {
		local $typed;
		if (lc($z->{'values'}->[0]) eq $fwd) {
			# Found the forward master!
			$fwdconf = $z;
			last DOMAIN;
			}
		}
	}

# find forward record
if ($fwdconf) {
        $fwdfile = $fwdconf->{'values'}->[1];
        local @fwdrecs = &read_zone_file($fwdfile, $fwdconf->{'values'}->[0]);
        foreach $fr (@fwdrecs) {
                if ($fr->{'type'} eq 'A' &&
                    $fr->{'name'} eq $_[0]) {
                        # found the forward record
                        $fwdrec = $fr;
                        last;
                        }
                }
        }
return ($fwdconf, $fwdfile, $fwdrec);
}

# can_edit_zone(&access, zone)
sub can_edit_zone
{
local %zcan;
return 1 if ($access{'zones'} eq '*');
foreach (split(/\s+/, $access{'zones'})) {
        return 1 if ($_ eq $_[1]);
        }
return 0;
}

1;

  07070100029e63000081e40000000000000002000000013d1fe2b9000004eb000000200000000000000000000000000000001c00000003reloc/dnsadmin/dns_boot.cgi   #!/usr/local/bin/perl
# dns_boot.cgi
# Create an empty named.boot file and start the name server

require './dns-lib.pl';
$whatfailed = "Download failed";
&ReadParse();
$config{'named_boot_file'} =~ /^(\/[^\/]+)/;
$named_boot_directory = $1;

&lock_file($config{'named_boot_file'});
&lock_file("$named_boot_directory/db.cache");
$boot_temp = &tempname("webmin.named.boot");
open(BOOT, "> $boot_temp");
print BOOT "directory $named_boot_directory\n";
if ($in{real} == 0) {
	# Create an empty root domain file... no need to do anything here
	}
elsif ($in{real} == 1) {
	# Try to download the root servers file from
	# ftp://rs.internic.net/domain/named.root
	&ftp_download("rs.internic.net", "/domain/named.root", 
		      "$named_boot_directory/db.cache");
	print BOOT "cache\t\t.\tdb.cache\n";
	}
elsif ($in{real} == 2) {
	# Use builtin db.cache
	system("cp ./db.cache $named_boot_directory/db.cache 2>/dev/null");
	print BOOT "cache\t\t.\tdb.cache\n";
	}
close(BOOT);
system("cp $boot_temp $config{'named_boot_file'} 2>/dev/null");
unlink($boot_temp);
&unlock_file($config{'named_boot_file'});
&unlock_file("$named_boot_directory/db.cache");
&system_logged("$config{'named_pathname'} >/dev/null 2>/dev/null </dev/null");
&webmin_log("boot");
redirect("");


 07070100029e64000081e40000000000000002000000013d1fe2b900000f1d000000200000000000000000000000000000001f00000003reloc/dnsadmin/edit_master.cgi    #!/usr/local/bin/perl
# edit_master.cgi
# Display a form for editing a master domain

require './dns-lib.pl';
&ReadParse();
$conf = &get_config();
$zconf = $conf->[$in{'index'}];
$dom = $zconf->{'values'}->[0];
%access = &get_module_acl();
&can_edit_zone(\%access, $dom) ||
	&error("You are not allowed to edit this zone");
&header("Edit Master Zone", "");
print "<center><font size=+2>",&arpa_to_ip($dom),"</font></center>\n";

print "<hr><p>\n";
@recs = &read_zone_file($zconf->{'values'}->[1], $dom);
if ($dom =~ /in-addr.arpa/i) {
        @rcodes = ("PTR", "NS");
        }
else {
        @rcodes = ("A", "NS", "CNAME", "MX", "HINFO", "TXT", "WKS", "RP");
        }
foreach $c (@rcodes) { $rnum{$c} = 0; }
foreach $r (@recs) {
        $rnum{$r->{'type'}}++;
        if ($r->{'type'} eq "SOA") { $soa = $r; }
        }
if ($config{'show_list'}) {
        # display as list
        $mid = int((@rcodes+1)/2);
        print "<table width=100%> <tr><td width=50%>\n";
        &types_table(@rcodes[0..$mid-1]);
        print "</td><td width=50%>\n";
        &types_table(@rcodes[$mid..$#rcodes]);
        print "</td></tr> </table>\n";
        }
else {
        # display as icons
        for($i=0; $i<@rcodes; $i++) {
                push(@rlinks,
                     "edit_recs.cgi?index=$in{'index'}&type=$rcodes[$i]");
                push(@rtitles, "$code_map{$rcodes[$i]} ($rnum{$rcodes[$i]})");
                push(@ricons, "../bind8/images/$rcodes[$i].gif");
                }
        &icons_table(\@rlinks, \@rtitles, \@ricons);
        }
$file = &absolute_path($zconf->{'values'}->[1]);
print "<a href=\"edit_text.cgi?index=$in{'index'}\">Manually edit ",
      "records file</a><br>\n";

# form for editing SOA record
$v = $soa->{'values'};
print "<hr><a name=soa>\n";
print "<form action=save_master.cgi>\n";
print "<input type=hidden name=file value=\"$soa->{'file'}\">\n";
print "<input type=hidden name=num value=\"$soa->{'num'}\">\n";
print "<input type=hidden name=origin value=\"$dom\">\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Master Zone Parameters</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>Master server</b></td>\n";
print "<td><input name=master size=20 value=\"$v->[0]\"></td>\n";
$v->[1] =~ s/\./\@/; $v->[1] =~ s/\.$//;
print "<td><b>Email address</b></td>\n";
print "<td><input name=email size=20 value=\"$v->[1]\"></td> </tr>\n";

print "<tr> <td><b>Refresh time</b></td>\n";
print "<td><input name=refresh size=10 value=\"$v->[3]\"> secs</td>\n";
print "<td><b>Transfer retry time</b></td>\n";
print "<td><input name=retry size=10 value=\"$v->[4]\"> secs</td> </tr>\n";

print "<tr> <td><b>Expiry time</b></td>\n";
print "<td><input name=expiry size=10 value=\"$v->[5]\"> secs</td>\n";
print "<td><b>Default time-to-live</b></td>\n";
print "<td><input name=minimum size=10 value=\"$v->[6]\"> secs</td> </tr>\n";

print "</table></td></tr> </table>\n";
print "<table width=100%><tr><td valign=top align=left>\n";
print "<input type=submit value=Save></td></form>\n";
print "<form action=delete_zone.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<td align=right><input type=submit value=Delete>\n";
print "</td></form> </tr></table>\n";

print "<hr>\n";
&footer("", "zone list");

sub types_table
{
if ($_[0]) {
        local($i);
        print "<table border width=100%>\n";
        print "<tr $tb> <td><b>Type</b></td> <td><b>Records</b></td> </tr>\n";
        for($i=0; $_[$i]; $i++) {
                print "<tr $cb> <td><a href=\"edit_recs.cgi?",
                      "index=$in{'index'}&type=$_[$i]\">$code_map{$_[$i]}",
                      "</a></td>\n";
                print "<td>$rnum{$_[$i]}</td> </tr>\n";
                }
        print "</table>\n";
        }
}

   07070100029e65000081e40000000000000002000000013d1fe2b900000325000000200000000000000000000000000000001f00000003reloc/dnsadmin/edit_record.cgi    #!/usr/local/bin/perl
# edit_record.cgi
# Edit an existing record of some type

require './dns-lib.pl';
&ReadParse();
$conf = &get_config();
$zconf = $conf->[$in{'index'}];
$dom = $zconf->{'values'}->[0];
%access = &get_module_acl();
&can_edit_zone(\%access, $dom) ||
        &error("You are not allowed to edit records in this zone");
&header("Edit $code_map{$in{'type'}}", "");
print "<center><font size=+2>In ",&arpa_to_ip($dom),"</font></center>\n";
print "<hr>\n";

@recs = &read_zone_file($zconf->{'values'}->[1], $zconf->{'values'}->[0]);
&foreign_call("bind8", "record_input", $in{'index'}, undef, $in{'type'},
	      $zconf->{'values'}->[1], $zconf->{'values'}->[0], $in{'num'},
	      $recs[$in{'num'}]);
print "<hr>\n";
&footer("edit_recs.cgi?index=$in{'index'}&type=$in{'type'}", "records");

   07070100029e68000081e40000000000000002000000013d1fe2b900000a43000000200000000000000000000000000000001d00000003reloc/dnsadmin/edit_recs.cgi  #!/usr/local/bin/perl
# edit_recs.cgi
# Display records of some type from some domain

require './dns-lib.pl';
&ReadParse();
$conf = &get_config();
$zconf = $conf->[$in{'index'}];
$dom = $zconf->{'values'}->[0];
%access = &get_module_acl();
&can_edit_zone(\%access, $dom) ||
        &error("You are not allowed to edit records in this zone");
&header("$code_map{$in{'type'}} Records", "");
print "<center><font size=+2>In ",&arpa_to_ip($dom),"</font></center>\n";
print "<hr><p>\n";

$file = $zconf->{'values'}->[1];
&foreign_call("bind8", "record_input", $in{'index'}, undef, $in{'type'}, $file, $dom);
@recs = &read_zone_file($file, $dom);
@recs = grep { $_->{'type'} eq $in{'type'} } @recs;
if (@recs) {
	@recs = &sort_records(@recs);
        %hmap = ( "A", [ "Address" ],
                  "NS", [ "Name Server" ],
                  "CNAME", [ "Real Name" ],
                  "MX", [ "Priority", "Mail Server" ],
                  "HINFO", [ "Hardware", "Operating System" ],
                  "TXT", [ "Message" ],
                  "WKS", [ "Address", "Protocol", "Service" ],
                  "RP", [ "Email Address", "Text Record" ],
                  "PTR", [ "Hostname" ] );
        if ($in{'type'} =~ /HINFO|WKS|RP/) {
                &recs_table(@recs);
                }
        else {
                $mid = int((@recs+1)/2);
                print "<table width=100%><tr><td width=50% valign=top>\n";
                &recs_table(@recs[0 .. $mid-1]);
                print "</td><td width=50% valign=top>\n";
                if ($mid < @recs) { &recs_table(@recs[$mid .. $#recs]); }
                print "</td></tr></table><p>\n";
                }
        print "<p>\n";
        }
print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}", "record types");

sub recs_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",$in{'type'} eq "PTR" ? "Address" : "Name",
      "</b></td> <td><b>TTL</b></td>\n";
@hmap = @{$hmap{$in{'type'}}};
foreach $h (@hmap) {
        print "<td><b>$h</b></td>\n";
        }
print "</tr>\n";
for($i=0; $i<@_; $i++) {
        $r = $_[$i];
        $name = &html_escape($in{'type'} eq "PTR" ? &arpa_to_ip($r->{'name'})
						  : $r->{'name'});
        print "<tr $cb> <td><a href=\"edit_record.cgi?index=",
              "$in{'index'}&type=$in{'type'}&num=$r->{'num'}\">$name",
              "</a></td>\n";
        print "<td>",$r->{'ttl'} ? $r->{'ttl'} : "Default","</td>\n";
        for($j=0; $j<@hmap; $j++) {
                print "<td>",&html_escape($r->{'values'}->[$j]),"</td>\n";
                }
        print "</tr>\n";
        }
print "</table>\n";
}

 07070100029e6a000081e40000000000000002000000013d1fe2b900000688000000200000000000000000000000000000001e00000003reloc/dnsadmin/edit_slave.cgi #!/usr/local/bin/perl
# edit_slave.cgi
# Display options for an existing slave or stub zone

require './dns-lib.pl';
&ReadParse();
$conf = &get_config();
@v = @{$conf->[$in{'index'}]->{'values'}};
%access = &get_module_acl();
&can_edit_zone(\%access, $v[0]) ||
        &error("You are not allowed to edit this zone");
&header("Edit Slave Zone", "");
print "<center><font size=+2>",&arpa_to_ip($v[0]),"</font></center>\n";

print "<hr>\n";
print "<form action=save_slave.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Slave Zone Options</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

for($i=1; $i<@v; $i++) {
	if (&check_ipaddress($v[$i])) { push(@mast, $v[$i]); }
	else { $file = $v[$i]; }
	}
print "<tr> <td valign=top><b>Master servers</b></td>\n";
print "<td><textarea name=masters rows=4 cols=30>",
      join("\n", @mast),"</textarea></td> </tr>\n";
print "<tr><td valign=top><b>Records file</b></td> <td valign=top>\n";
printf "<input type=radio name=file_def value=1 %s> None\n",
	$file ? "" : "checked";
printf "<input type=radio name=file_def value=0 %s>\n",
	$file ? "checked" : "";
print "<input name=file size=30 value=\"$file\">",
	&file_chooser_button("file"),"</td> </tr>\n";

print "</table></td></tr> </table>\n";
print "<table width=100%><tr><td align=left>\n";
print "<input type=submit value=Save></td></form>\n";
print "<form action=delete_zone.cgi>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<td align=right><input type=submit value=Delete></td></form>\n";
print "</tr></table>\n";
print "<hr>\n";
&footer("", "zone list");

07070100029e6b000081e40000000000000002000000013d1fe2b900000480000000200000000000000000000000000000001d00000003reloc/dnsadmin/edit_text.cgi  #!/usr/local/bin/perl
# edit_text.cgi
# Display a form for manually editing a records file

require './dns-lib.pl';
&ReadParse();
%access = &get_module_acl();
$zconf = &get_config()->[$in{'index'}];
&can_edit_zone(\%access, $zconf->{'values'}->[0]) ||
	&error("You are not allowed to edit this zone");
$file = &absolute_path($zconf->{'values'}->[1]);
&header("Edit Records File", "");
print "<center><font size=+1>$file</font></center>\n";
print "<hr>\n";

open(FILE, $file);
while(<FILE>) {
	push(@lines, &html_escape($_));
	}
close(FILE);

print "This form allows you to manually edit the DNS records file\n";
print "<tt>$file</tt>. No syntax checking will be done by webmin,\n";
print "and the zone serial number will not be automatically incremented. <p>\n";

print "<form action=save_text.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=index value=\"$in{'index'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=Save> <input type=reset value=Undo></form>\n";

print "<hr>\n";
&footer("edit_master.cgi?index=$in{'index'}", "record types");

0707010002b483000041ed0000000000000001000000023d1ffa1600000000000000200000000000000000000000000000001600000003reloc/dnsadmin/images 0707010002b485000081a40000000000000002000000013d1fe2b9000008d0000000200000000000000000000000000000002300000003reloc/dnsadmin/images/dnsadmin.gif    GIF89at' ã  ÿÿÿªªª   UUUŽŽŽ999ÇÇÇãããrrrÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿÿ ÿ!þMade with GIMP !ù    ,    t'  þÈI«½8ëÍ»ÿ`(Žä…C:$Rf¡DðÞxNBïÿ@Ú†÷+T€‚Áf ´Q˜H¤æÒY'ÐèoJ¨f²¾a0C0h…C‘8Þ«|^»}çÅ®œ¢K@wQ	r€"„H†fMD>zw}%m‹”tžŸv‹X’?jHƒ£?™8Q#¯°¬Œ¡§›£± ·¥ Æ ·@qH«¾?c•É>À%ÃHØ©·ÜR»?Ð£#—¯ËÇísÖ>Ò­O´Þò Þ·Î%ˆQèBì{ÕOÂ@çm©pðN­¢åsG1Ç¾)´%ª¶PavþyI°S ã @Œ¼˜¥¥X "&Q±Q@ÀÔ&¨ëÁÂ¹.1„ÛBÀY ™=**Õñïše>VhÚØ™›ì”YADú ««‰¯Yµ¨´€UêÓ6HQr—êõ`g¢;I¥Æ1ÊÚ
2]©ú‚$(‡·‚É@T'7 ßRÚIY&7¡@šh¼·t³,#ÙP ÈÐX’Ë ;‰ÚH{À-@ï|n°šZ,a(ÏH99˜£\YäÓ ÐÉv8Áüô Õ»]ž¬žGýj}š|nÇžI ôöùyéQ¹á–x‚f÷N=ÔgüÃeT¢¡Ìþ0UU†^a$  >Æ¼m R V~…õ Ü[íTžTàc€ø‡ @Ù37~ÇyÒŠ=$dÉ€„›;zÀN)6ƒá†p¹”=ængC7~‘S9gÇ‚TâBm@å\[Šá¥ˆE8÷c=?HwÂu-|P%p–ò“ìœxbsý]°““‘¦XU€Ùâˆn±ŒŠaN'v,ƒÚ=ˆn°Ÿž6f—,Ê$%0Þ`U&HH·ÁQ`£–v”"%B~Œfl@$Ð*›“ð—ë`>`…{`i¥kf²ØU¨#¥þ[ 3y'aŸ2ö©)™ŠAkFâZ=Z ÓZ…Ž’{‚J°uÀNÜìDÉ}Bëƒn¯>V)‚çíƒ´Ež¹¦VÞ;ÁuE Ä¹[n«ügz¹'†HÜ$SÂÅm\ª³Ù›ÌgÍV+ÁÅ•÷$}€Ò*Rúå,,×*améôbÊgL¢ £‘@væ #å² ÐÒEq!Q{p½G/ÃYÁ<ÁLÁ«¶ó‘ål^¯û‹æ®ÇþpÓÅ ]³Óá&ýÞœ YÄÒ·ýânHK “¯ÎjAÌÁ¡1wYšMqºlÁã°Vª„÷ÓN=Þò>|oÁþÙÑ´iàNGª7áŸ>Uq!Únû
Ça®¹Óû•Ü>±ÆÈé³d¬AÐn£vìî-yoœ“K›|or:›ë…°o„vê‹ø-“‹ #,¯“`ŽÌµ*“4mÏžïÖâ˜LB·Þ¶Í«»µÛ!Sú¾éÂÃß¤-ó‹|÷—ÿUeøO!€Üðð‚¼+kM3–Éôà9GœéU^ ˜úh*Õª]Ð”>)©Deõ"ƒØþr	`¬I !‡B§3âÙÁ(Ý”n ñô 
ÛÃàQx‘ÂÕÑn{äCƒw‡©Y0~‰SŒØ@÷‘ƒqŸ¥G&<,£‚(4þ|¨˜@!A.WÜ€•7ëÔ¤6ÄŒÈ¤¨+6–ìkÉ¸Éi—)FvÃ‚PžWÄ7pàÝÁCLR’‚ÌýŽ{k4X)ºª‰kEà‘”.Î0æ`ÜÒx=ÀíPLkÊBX l3+c­Qºß¡ÈËšã°¼&Èx">”ÜWYIOQmžÔ¢kÔFÁ˜L¡äß5Þ×-ôpqf¯`áœ©:eV²`éA†æ "nñÈd¦òƒ>™Ë*`±˜(:å";dÌ_p‰™ÒšñÌ7
(’Qäˆ¸å“h+ŒÃ"-	¤”è°]ýÌßÕ@ûíñ pŠ"Šþ ‰“­5súÓâÊÊb³*Z#Dâ³g¢EnÜ!btd2/.ZÚH˜K{¸¶xŽF¡–<Ì6?‡OÞÔ>þÚ‡!)É¥G²”½¸z†R¼e å€/w¹ñ[Õ\#H/°úõA;ñU
Š$H=StŽì UÍWT ”ËXÙtËb8®&ûãW×6…›³Ýµ…öÔQGz?­n€Q&@JëÖJ¹Èˆ„ÍCÓÊšÞP“š,E»Š1-Èc]N¥é^ÅœïñL}ô‚Ré9±à]“7±ª(a¡ÃˆgT–”Ö^kM›´+bi«d)M³ý6¸‚U%×¢þ@	Õ\ 2PM¤ô0„—D„–Ä‡T†éG)‹(  ”ÙÕZ€a´¢äV‹K»øôäé´ 9†QH€xú@D†æ“ÀÄÂ¨; €ãÀYLzÖ«ñp˜DbÞ˜Zcº½ƒ:õh,ojÂ+I+^e•§ŽŽVç¥äÏ
éZ¸~i=ˆë^Œìþ’=zñÖ®ÇËõ}ñ1¶ÂZoSØ1†©ñ9†vÈP‹,ìFªx=©áŽ²*êF×¨ÜÞ¶ów¼Bƒ=zîM{í5!FŒÖÓd·ûük!ë@‡°Cl¸K‰p‰8NùŠÙÉõ¤›\Ü#ÏM:4rQ+sCžådá–_zÏ¯ÒF†>"H Q8eŽÒ–ÆPªó¦ˆ2¤ÒÐ14	0}€:Ô0¬“vàD6ŒW¸hÐ|²C½"ä…ÔÐA»Z‰°¢v::¦	¶°‡ý‰ È@,¨ìnÜ% 2ûáØ&R¶;N …Y! ;0707010002b486000081a40000000000000002000000013d1fe2b9000007ef000000200000000000000000000000000000001f00000003reloc/dnsadmin/images/icon.gif    GIF89a0 0 ç  …‚ÂÂvDD¢¢.ŠDxbbÆ„´ââµƒ‚t¦¦ŒÒÓ™fF\ldpb&TÓ¢Ä’’€HB`$$(²²”Šj„•’ôôâvv44²²SÅÅ¹ÕÔÏª‚œVVTíëÕ˜T„ª¨´rrfš’¬¾¶¼84D„„ZTT ££\Š‚´²fœ––LâÂÜuu?êÕähh8››pŽtÌÌ¸^V„ªªDââÙ¬¬˜ÜÚ©ššÊÊŠº’¬hTdºº”¢VŒzrŒ",‹Š¼¼hÜÚÈF2D¿w¬VNq>"<||XX:BB4žJ„ll
ùúóB4<ììè~~dpnp³²®`\`º®¸½¼¼ŠŠ<œœ–¬«ª¨\”~'ÄÄ¨¤¤H¤4ˆÆ¾Ü‹~ŠÌÄà¹i¢ðäìÝÜ¶Í•¼‚Z|–‚Œ•“˜0,8””$>>´´o›™`Vlsst@<JÖÎäœ!f^|jj$¶¶¬³[œƒƒ$ÊÆ„¦¦<ŒJ|æäÈ‡…ˆÕÖ¦õõóÆÆÄÚÒäòîÜv>lz2lÚ²ÌvBlR>LB*< œ°ZZ­­_’Œ¤NNDŒ^€{{TLL¦n”vn”ãÝä¼p¨Ù­ÊæÊÝÊš¼ÚºÔ|LpšŽÄLDt:4nb¤h\¤pn@¶¢¬ššLˆ|´F=nbZˆ~z”¾Š¬²®´^^L66,šF„¬K”¨Ž R.LªžÌN&DšN„Z.LJ:<¢¢„ŒŒ\¦:ŒVRtºº„ÀºØZZ$Žr„Â~¬ºš´XNŽff$rr,””^jjP‹‹'FDL;;<–Š¼®R”)%<±¨Ìååä¼¼¬RFŒ¶®Ôš–Â¾t‚~rnþþüÂºÌ¢žœzv€n\lž–Ä¼´Ô82XvvTËËÈ_Uš®®LÎÎ™ÝÝÛZZL¢šÄrj¬~r¬$ÇŠ´¦¤¢(nBdrfl*&,ZT\’†¼Â¾œvjt²ª¬®^œâÞ´š–œ¢ž$ÊÆÌ®rœÒžÄêæìrn$~:lâ¾Ôb^$ÆÆ}ff––Œ––¶¶\!þMade with GIMP !ù  Ñ ,    0 0  þ £	H° Áƒ*\È°¡Ã‡#JœH± V9txÓ¥bD)Ó¤Px@ÆBy
mðÈpÒ•fxUªG†Ü0u”œa¹°¨–òU"iÌ;cÕx*<Åh¾(¹™óœ:&J:™4h%0X>ÀJsÞ²<5bP2tL‘’©,|ÔÔd¢Ìž —ÌøñÆ†ž]Ayõ
œv`PLºšqtó(¾Vìˆ^‹BI ºJ‡f‚ñ¼8YsHŠ:uÎ&XfP%rdhî‚]'E‘ÙÛ}xÇ#¹`
pzeH¯…ý‚=¢¥¢±Ú¡+K“>àõþ&ÖÇ>Î\ÐéãdY¬¼xQx€}†É 8‰æÄÊ‹8ÜqÞ	ÁÂ[daBZ	Ñ`ß}
%ƒ2VÔÀÝ”wz@ü³Æ3Ì€G¿Ð‘	!x O|ð±ÀÝ(@‡$Â[È?ÊBŠ*"”Lcx ðØ`ÝœçŒ38r#"òüÀŽA~Y¤AÉôãx€ cÈ þÃ•x4åDƒ"ö™ó B§° G™fŽ‘&”R:³Æ?„g&ÄP:öuÐÁž) B™K"àäûÌ À?qàñ›p@À3I ‚Š@aäÉÄ¤þ¤e&ƒ¦| ñCk$òË3?p“ÁŽ‹Þ`Ä3K\á }~Dë—õ‘ÌÚ ‚)š@\ðÂ´œÀ„7/â•ÜàOFì' PDó*¥yCÅ€X«‡iþðˆãÝ¢E	äB ±rš[A ÄØGN<‹X`­™, B6Ó	 @¯‰$2,¹#òàŒÑ@#ÎƒAXAŒ)¾cÔxã†køX<Ëcn ‹Ø)¢ˆbË8ŽBA}0±ežÉG\°„<wØ1À%SªÎ` p’ô1öRJAÉ(Í 2	hÃD	wÔÀ„6Gèòþ ö-Ò#àh²Ž(dÛ·6Ã(2Ð2"@f¦¸Â‚!ìóˆ,èÇ¢<xÆ5È¸Î:âHð 'Ûô2Š6ù±„´ JÃ›î Ìû¨ðÂ¨ÇI@Ï  q. ¯Ó6ÀÐ	êËÄ3¿åì ä™¸Î zÎðN°× (Á!_€ÞËÉ l_8¨÷rH¼Ê(‰oõnØfï<¸H*$3	é¨£Žžö9†Ìá„5 õž p¨Coº’—&8A	„
À@€û4ÅÀ íƒJ¼Qœ(HÂ…¡ 5`A7<0»nÌ¨<¼2€‡\àò€DÊaÈ¡¾aØƒJÑÓÙ‡›Å1’am”`Àì° \J@?ž  D,¡Ä0ÔA„küá]¸ŠìCŠ$îä NÈF(ì €Á8Ð”€ðˆfECŽ*Èº0	8 k 6@…„`eÁHn ìˆ XIBÂ`k€c£   üØ!÷ð…/L
„	Äˆ`…+ áA4ðˆÚ$b>hç ûeBüp…r\A˜	 ; 07070100029e6c000081e40000000000000002000000013d1fe2b9000019e4000000200000000000000000000000000000001900000003reloc/dnsadmin/index.cgi  #!/usr/local/bin/perl

require './dns-lib.pl';

&header("BIND 4 DNS Server", "", undef, 1, 1);
print "<hr>\n";
%access = &get_module_acl();

# Check if named exists
if (!(-x $config{'named_pathname'})) {
	print "<p>The BIND 4 DNS server <i>$config{'named_pathname'}</i>\n";
	print "could not be found on your system. Maybe it is not installed,\n";
	print "or your <a href=\"$gconfig{'webprefix'}/config.cgi?$module_name\">BIND 4 module\n";
	print "configuration</a> is incorrect. <p>\n";
	print "<hr>\n";
	&footer("/", "index");
	exit;
	}

# Check for future versions of BIND with the -v option
$out = `$config{'named_pathname'} -v 2>&1`;
if (0 && ($out =~ /bind\s+(\d+)\./i || $out =~ /named\s+(\d+)\./) && $1 >= 8) {
	print "<p>The server <i>$config{'named_pathname'}</i> appears to\n";
	print "be BIND 8. Maybe your should use the\n";
	print "<a href=/bind8/>BIND 8 server module</a> instead. <p>\n";
	print "<hr>\n";
	&footer("/", "index");
	exit;
	}

# Check if BIND is the right version.. Only BIND 8 offers the -f option
# Is there a better way to do this?
$out = `$config{'named_pathname'} -help 2>&1`;
if (0 && $out =~ /\[-f\]/) {
	print "<p>The server <i>$config{'named_pathname'}</i> appears to\n";
	print "be BIND 8. Maybe your should use the\n";
	print "<a href=/bind8/>BIND 8 server module</a> instead. <p>\n";
	print "<hr>\n";
	&footer("/", "index");
	exit;
	}

# If the named.boot file is empty or does not exist, offer to create it
if (!(-r $config{named_boot_file})) { $need_create++; }
else {
	$conf = &get_config();
	if (!@$conf) { $need_create++; }
	}

if ($need_create) {
	# There is no nameserver boot file.. offer to create
	print "<p>The primary configuration file\n";
	print "<i>$config{named_boot_file}</i> does not exist,\n";
	print "or is empty. Create it?<p>\n";
	print "<form action=\"dns_boot.cgi\">\n";
	print "<input type=radio name=real value=0> Setup nameserver for ",
	      "internal non-internet use only<p>\n";
	print "<input type=radio name=real value=1 checked> Setup as an ",
	      "internet name server, and download root server information<p>\n";
	print "<input type=radio name=real value=2> Setup as an internet name ",
	      "server, but use Webmin's older root server information<p>\n";
	print "<center><input type=submit value=\"Create Primary Configuration File and Start Nameserver\"></center>\n";
	print "</form>\n";
	print "<hr>\n";
	&footer("/", "index");
	exit;
	}

@zlist = (&find_config("primary", $conf), &find_config("secondary", $conf));
if (!@zlist) {
	# Nothing in named file..
	print "<b>There are no DNS zones defined for this name server</b><p>\n";
	}
else {
	print "<h3>Existing DNS Zones</h3>\n";
	foreach $z (@zlist) {
		next if (!&can_edit_zone(\%access, $z->{'values'}->[0]));
		if ($z->{'name'} eq "primary") {
			push(@zlinks, "edit_master.cgi?index=$z->{'index'}");
			push(@ztitles, &arpa_to_ip($z->{'values'}->[0]));
			push(@zicons, "../bind8/images/master.gif");
			push(@ztypes, "Master");
			}
		else {
			push(@zlinks, "edit_slave.cgi?index=$z->{'index'}");
			push(@ztitles, &arpa_to_ip($z->{'values'}->[0]));
			push(@zicons, "../bind8/images/slave.gif");
			push(@ztypes, "Slave");
			}
		$len++;
		}

	# sort list of zones
	@zorder = sort { $ztitles[$a] cmp $ztitles[$b] } (0 .. $len-1);
	@zlinks = map { $zlinks[$_] } @zorder;
	@ztitles = map { $ztitles[$_] } @zorder;
	@zicons = map { $zicons[$_] } @zorder;
	@ztypes = map { $ztypes[$_] } @zorder;

	if ($config{'show_list'}) {
		# display as list
		$mid = int((@zlinks+1)/2);
		print "<table width=100%><tr><td width=50% valign=top>\n";
		&zones_table([ @zlinks[0 .. $mid-1] ],
			     [ @ztitles[0 .. $mid-1] ],
			     [ @ztypes[0 .. $mid-1] ]);
		print "</td><td width=50% valign=top>\n";
		if ($mid < @zlinks) {
			&zones_table([ @zlinks[$mid .. $#zlinks] ],
				     [ @ztitles[$mid .. $#ztitles] ],
				     [ @ztypes[$mid .. $#ztypes] ]);
			}
		print "</td></tr></table>\n";
		}
	else {
		# display as icons
		&icons_table(\@zlinks, \@ztitles, \@zicons);
		}
	}
if ($access{'master'}) {
	print "<a href=\"master_form.cgi\">Create a new ",
	      "master zone</a>&nbsp;&nbsp;\n";
	}
if ($access{'slave'}) {
	print "<a href=\"slave_form.cgi\">Create a new ",
	      "slave zone</a>&nbsp;&nbsp;\n";
	}
print "<p>\n";

if ($access{'defaults'}) {
	# Display form to set the defaults for new zones
	&get_zone_defaults(\%zd);
	print "<hr>\n";
	print "<h3>New Master Zone Defaults</h3>\n";
	print "<form action=save_zonedef.cgi>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>Defaults for new master zones</b></td> </tr>\n";
	print "<tr $cb> <td><table cellpadding=5>\n";

	print "<tr> <td><b>Refresh time</b></td>\n";
	print "<td><input name=refresh size=10 value=$zd{'refresh'}> seconds</td>\n";
	print "<td><b>Transfer retry time</b></td>\n";
	print "<td><input name=retry size=10 value=$zd{'retry'}> seconds</td></tr>\n";

	print "<tr> <td><b>Expiry time</b></td>\n";
	print "<td><input name=expiry size=10 value=$zd{'expiry'}> seconds</td>\n";
	print "<td><b>Default time-to-live</b></td>\n";
	print "<td><input name=minimum size=10 value=$zd{'minimum'}> seconds</td>\n";
	print "</tr> </table></td></tr></table><br>\n";
	print "<input type=submit value=Update></form>\n";
	}

# Display a form to start or restart named
print "<hr>\n";
if (open(PID, $config{'named_pid_file'})) {
	<PID> =~ /(\d+)/;
	$pid = $1;
	close(PID);
	}
if ($pid && kill(0, $pid)) {
        # named is running
        print "<form action=restart.cgi>\n";
        print "<input type=hidden name=pid value=$pid>\n";
        print "<table width=100%><tr><td>\n";
        print "<input type=submit value=\"Apply Changes\"></td>\n";
        print "<td>Click this button to restart the running BIND 4 server.\n";
        print "This will cause the current configuration to become\n";
        print "active</td> </tr></table>\n";
        print "</form>\n";
        }
else {
        # named is not running
        print "<form action=start.cgi>\n";
        print "<table width=100%><tr><td>\n";
        print "<input type=submit value=\"Start Name Server\"></td>\n";
        print "<td>Click this button to start the BIND 4 server, and load\n";
        print "the current configuration</td> </tr></table>\n";
        print "</form>\n";
        }

print "<hr>\n";
&footer("/", "index");

sub zones_table
{
local($i);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Zone</b></td> <td><b>Type</b></td> </tr>\n";
for($i=0; $i<@{$_[0]}; $i++) {
	print "<tr $cb>\n";
	print "<td><a href=\"$_[0]->[$i]\">$_[1]->[$i]</a></td>\n";
	print "<td>$_[2]->[$i]</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

0707010002ca61000041ed0000000000000001000000023d1ffa1700000000000000200000000000000000000000000000001400000003reloc/dnsadmin/lang   0707010002ca62000081a40000000000000002000000013d1fe2b9000004b4000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/ca    
log_servers=He canviat els altres servidors DNS
log_logging=He canviat el registre i els errors
log_acls=He canviat les llistes de control d'accés
log_files=He canviat els fitxers i els directoris
log_forwarding=He canviat el reeenviament i les transferències
log_net=He canviat les adreces i la topologia
log_misc=He canviat les opcions miscel·lànies
log_zonedef=He canviat els valors per defecte de la zona
log_apply=He aplicat els canvis
log_start=He iniciat el servidor DNS
log_master=He creat la zona mestra $1
log_slave=He creat la zona esclava $1
log_stub=He creat la zona de stub $1
log_forward=He creat la zona de reemissió $1
log_delete_master=He suprimit la zona mestra $1
log_delete_slave=He suprimit la zona esclava $1
log_delete_stub=He suprimit la zona de stub $1
log_delete_forward=He suprimit la zona de reemissió $1
log_text=Registres editats a mà de $1
log_soa=He canviat els paràmetres de zona de $1
log_opts=He canviat les opcions de zona de $1
log_delete_record=He suprimit $1 registre(s) $2 de la zona $3
log_create_record=He creat $1 registre(s) $2 a la zona $3
log_modify_record=He modificat $1 registre(s) $2 de la zona $3
log_boot=He creat el fitxer de configuració primari


0707010002ca63000081a40000000000000002000000013d1fe2b9000003cf000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/en    
log_servers=Changed other DNS servers
log_logging=Changed logging and errors
log_acls=Changed access control lists
log_files=Changed files and directories
log_forwarding=Changed forwarding and transfers
log_net=Changed addresses and topology
log_misc=Changed miscellaneous options
log_zonedef=Changed zone defaults
log_apply=Applied changes
log_start=Started DNS server
log_master=Created master zone $1
log_slave=Created slave zone $1
log_stub=Created stub zone $1
log_forward=Created forward zone $1
log_delete_master=Deleted master zone $1
log_delete_slave=Deleted slave zone $1
log_delete_stub=Deleted stub zone $1
log_delete_forward=Deleted forward zone $1
log_text=Manually edited records for $1
log_soa=Changed zone parameters for $1
log_opts=Changed zone options for $1
log_delete_record=Deleted $1 record $2 in zone $3
log_create_record=Created $1 record $2 in zone $3
log_modify_record=Modified $1 record $2 in zone $3
log_boot=Created primary configuration file

 0707010002ca76000081a40000000000000002000000013d1fe2b900000433000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/es    
log_servers=Cambiados otros servidores DNS
log_logging=Cambiados historiales y errores
log_acls=Cmabiadas listas de control de acceso
log_files=Cambiados directorios y archivos
log_forwarding=Cambiados reenvíos y transferencias
log_net=Cambiadas direcciones y topología
log_misc=Cambiadas opciones varias
log_zonedef=Cambiados valores por defecto de zona
log_apply=Cambios aplicados
log_start=Servidor DNS arrancado
log_master=Creada zona maestra $1
log_slave=Creada zona esclava $1
log_stub=Creada zona de sólo caché $1
log_forward=Creada zona de reenvío $1
log_delete_master=Borrada zona maestra $1
log_delete_slave=Borrada zona esclava $1
log_delete_stub=Borrada zona de sólo caché $1
log_delete_forward=Borrada zona de reenvío $1
log_text=Editados manuálmente registros de $1
log_soa=Cambiados parámetros de zona de $1
log_opts=Cambiadas opciones de zona de $1
log_delete_record=Borrado $1 registro $2 en zona $3
log_create_record=Creado $1 registro $2 en zona $3
log_modify_record=Modificado $1 registro $2 en zona $3
log_boot=Creado archivo de configuración primario

 0707010002ca77000081a40000000000000002000000013d1fe2b900000458000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/fr    
log_servers=Autres serveurs DNS modifiés
log_logging=Journalisation et erreurs modifiées
log_acls=Liste de contrôle d'accès modifiées
log_files=Fichiers et répertoires modifiés
log_forwarding=Redirection et transfert modifiés
log_net=Adresses et topologie modifiées
log_misc=Options diverses modifiées
log_zonedef=Réglage par défauts de zone modifiés
log_apply=Changement appliqués
log_start=Serveur DNS démarré
log_master=Zone primaire $1 créée
log_slave=Zone secondaire $1 créée
log_stub=Zone stub $1 créée
log_forward=Zone de redirection $1 créée
log_delete_master=Zone primaire $1 supprimée
log_delete_slave=Zone secondaire $1 supprimée
log_delete_stub=Zone stub $1 supprimée
log_delete_forward=Zone de redirection $1 supprimée
log_text=Enregistrements édités à la main pour $1
log_soa=Paramètres de zone modifiés pour $1
log_opts=Options de zone modifiées pour $1
log_delete_record=$1 enregistrements $2 dans la zone $3 supprimés
log_create_record=$1 enregistrements $2 dans la zone $3 créés
log_modify_record=$1 enregistrements $2 dans la zone $3 modifiés
log_boot=Fichier de configuration primaire créé

0707010002caba000081a40000000000000002000000013d1fe2b900000464000000200000000000000000000000000000001e00000003reloc/dnsadmin/lang/ja_JP.euc 
log_servers=Â¾¤Î DNS ¥µ¡¼¥Ð¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_logging=¥í¥°¤È¥¨¥é¡¼¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_acls=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_files=¥Õ¥¡¥¤¥ë¤È¥Ç¥£¥ì¥¯¥È¥ê¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_forwarding=Å¾Á÷¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_net=¥¢¥É¥ì¥¹¤È¥È¥Ý¥í¥¸¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_zonedef=¥¾¡¼¥ó ¥Ç¥Õ¥©¥ë¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_start=DNS ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_master=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_slave=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_stub=¥¹¥¿¥Ö ¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_forward=Å¾Á÷¥¾¡¼¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_master=¥Þ¥¹¥¿¡¼ ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_slave=¥¹¥ì¡¼¥Ö ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_stub=¥¹¥¿¥Ö ¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_forward=Å¾Á÷¥¾¡¼¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_text=$1 ¤Î¥ì¥³¡¼¥É¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_soa=$1 ¤Î¥¾¡¼¥ó ¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_opts=$1 ¤Î¥¾¡¼¥ó ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_record=¥¾¡¼¥ó$3 Æâ¤Î$1 ¥ì¥³¡¼¥É $2¤òºï½ü¤·¤Þ¤·¤¿
log_create_record=¥¾¡¼¥ó$3 Æâ¤Î$1 ¥ì¥³¡¼¥É $2¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_record=¥¾¡¼¥ó $3 Æâ¤Î $1 ¥ì¥³¡¼¥É $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_boot=¼çÍ×ÀßÄê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤·¤¿

0707010002cac3000081a40000000000000002000000013d1fe2b90000042a000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/pl    log_servers=Zmieniono inne serwery DNS
log_logging=Zmieniono logowanie i b³êdy
log_acls=Zmieniono listy kontroli dostêpu
log_files=Zmieniono pliki i katalogi
log_forwarding=Zmieniono przekazywanie i transfery
log_net=Zmieniono adresy i topologiê
log_misc=Zmieniono opcje ró¿ne
log_zonedef=Zmieniono domyœlne ustawienia strefy
log_apply=Zastosowano zmiany
log_start=Uruchomiono serwer DNS
log_master=Utworzono strefê podstawow± $1
log_slave=Utworzono strefê zapasow± $1
log_stub=Utworzono strefê wykarczowan± $1
log_forward=Utworzono forward zone $1
log_delete_master=Usuniêto strefê podstawow± $1
log_delete_slave=Usuniêto strefê zapasow± $1
log_delete_stub=Usuniêto strefê wykarczowan± $1
log_delete_forward=Usuniêto strefê przekazywania $1
log_text=Rêcznie zmieniono rekordy w $1
log_soa=Zmieniono parametry strefy $1
log_opts=Zmieniono opcje strefy $1
log_delete_record=Usuniêto $1 rekord $2 ze strefy $3
log_create_record=Utworzono $1 rekord $2 w strefie $3
log_modify_record=Zmieniono $1 rekord $2 w strefie $3
log_boot=Utworzono podstawowy plik konfiguracyjny
  0707010002cac4000081a40000000000000002000000013d1fe2b9000003db000000200000000000000000000000000000001700000003reloc/dnsadmin/lang/sv    log_servers=Ändrade övriga DNS-servrar
log_logging=Ändrade loggning och fel
log_acls=Ändrade åtkomstkontrollistor
log_files=Ändrade filer och kataloger
log_forwarding=Ändrade eftersändning och överföringar
log_net=Ändrade adresser och topologi
log_misc=Ändrade blandade inställningar
log_zonedef=Ändrade zonstandarder
log_apply=Tog ändringar i drift
log_start=Startade DNS-server
log_master=Skapade master-zon $1
log_slave=Skapade slavzon $1
log_stub=Skapade återvändszon $1
log_forward=Skapade genomfartszon $1
log_delete_master=Tog bort master-zon $1
log_delete_slave=Tog bort slavzon $1
log_delete_stub=Tog bort återvändszon $1
log_delete_forward=Tog bort genomfartszon $1
log_text=Ändrade poster för $1 för hand
log_soa=Ändrade zonparametrar för $1
log_opts=Ändrade zoninställningar för $1
log_delete_record=Tog borg $1 post $2 i zon $3
log_create_record=Lade till $1 post $2 i zon $3
log_modify_record=Modifierade $1 post $2 i zon $3
log_boot=Skapade fil för primära inställningar

 0707010002cac5000081a40000000000000002000000013d1fe2b900000315000000200000000000000000000000000000001a00000003reloc/dnsadmin/lang/zh_CN log_servers=ÒÑ¸Ä±äÆäËüDNS·þÎñÆ÷
log_logging=ÒÑ¸Ä±äÈÕÖ¾ºÍ´íÎó
log_acls=ÒÑ¸Ä±ä·ÃÎÊ¿ØÖÆÁÐ±í
log_files=ÒÑ¸Ä±äÎÄ¼þºÍÄ¿Â¼
log_forwarding=ÒÑ¸Ä±ä×ª·¢ºÍ´«Êä
log_net=ÒÑ¸Ä±äµØÖ·ºÍÍØÆË½á¹¹
log_misc=ÒÑ¸Ä±äÔÓÀà²ÎÊý
log_zonedef=ÒÑ¸Ä±äÇøÓòÈ±Ê¡Öµ
log_apply=ÒÑÓ¦ÓÃµÄ¸Ä±ä
log_start=ÒÑÆô¶¯DNS·þÎñÆ÷	
log_master=ÒÑ´´½¨Ö÷ÇøÓò $1
log_slave=ÒÑ´´½¨´ÓÊôÇøÓò $1
log_stub=ÒÑ´´½¨×ÓÇøÓò $1
log_forward=ÒÑ´´½¨×ª·¢ÇøÓò $1
log_delete_master=ÒÑÉ¾³ýÖ÷ÇøÓò $1
log_delete_slave=ÒÑÉ¾³ý´ÓÊôÇøÓò $1
log_delete_stub=ÒÑÉ¾³ý×ÓÇøÓò $1
log_delete_forward=ÒÑÉ¾³ý×ª·¢ÇøÓò $1
log_text=ÒÑÊÖ¶¯±à¼­ $1 µÄ¼ÇÂ¼
log_soa=ÒÑ¸Ä±ä $1 µÄÇøÓò²ÎÊý
log_opts=ÒÑ¸Ä±ä $1 µÄÇøÓòÑ¡Ïî
log_delete_record=ÒÑÉ¾³ý $3 ÇøÓòÖÐµÄ $1 ¼ÇÂ¼ $2
log_create_record=ÒÑ´´½¨ $3 ÇøÓòÖÐµÄ $1 ¼ÇÂ¼ $2
log_modify_record=ÒÑÐÞ¸Ä $3 ÇøÓòÖÐµÄ $1 ¼ÇÂ¼ $2
log_boot=ÒÑ´´½¨Ö÷ÒªÅäÖÃÎÄ¼þ
   07070100029e6d000081a40000000000000002000000013d1fe2b9000004a6000000200000000000000000000000000000001d00000003reloc/dnsadmin/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'dns-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'record') {
	if ($p->{'type'} eq 'PTR') {
		return &text("log_${action}_record",$text{"type_$p->{'type'}"},
			     "<tt>".&arpa_to_ip($p->{'name'})."</tt>",
			     "<tt>".&arpa_to_ip($object)."</tt>");
		}
	else {
		$p->{'name'} =~ s/\.$object\.*$//;
		return &text("log_${action}_record", $text{"type_$p->{'type'}"},
			     "<tt>$p->{'name'}</tt>", "<tt>$object</tt>");
		}
	}
elsif ($action eq 'create') {
	return &text("log_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text("log_delete_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'text') {
	return &text("log_text", "<tt>$object</tt>");
	}
elsif ($action eq 'soa') {
	return &text("log_soa", "<tt>$object</tt>");
	}
elsif ($action eq 'opts') {
	return &text("log_opts", "<tt>$object</tt>");
	}
elsif ($text{"log_${action}"}) {
	return $text{"log_${action}"};
	}
else {
	return undef;
	}
}

  07070100029e71000081e40000000000000002000000013d1fe2b9000007fa000000200000000000000000000000000000001f00000003reloc/dnsadmin/master_form.cgi    #!/usr/local/bin/perl
# master_form.cgi
# Form for creating a new master zone

require './dns-lib.pl';
&ReadParse();
&header("Create Master Zone", "");
%access = &get_module_acl();
$access{'master'} || &error("You cannot create master zones");
print "<hr>\n";

print "<form action=create_master.cgi>\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>New master zone options</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>Zone type</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "Forward (Names to Addresses)\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "Reverse (Addresses to Names)</td> </tr>\n";

print "<tr> <td><b>Domain name / Network</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

print "<tr> <td><b>Records file</b></td> <td colspan=3>\n";
print "<input type=radio name=file_def value=1 checked> Automatic\n";
print "<input type=radio name=file_def value=0>\n";
print "<input name=file size=30>",&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td><b>Master server</b></td>\n";
printf "<td colspan=3><input name=master size=30 value=\"%s\"></td> </tr>\n",
        &get_system_hostname();

print "<tr> <td><b>Owner's email address</b></td>\n";
print "<td colspan=3><input name=email size=40></td> </tr>\n";

&get_zone_defaults(\%zd);
print "<tr> <td><b>Refresh time</b></td>\n";
print "<td><input name=refresh size=8 value=$zd{'refresh'}> seconds</td>\n";

print "<td><b>Transfer retry time</b></td>\n";
print "<td><input name=retry size=8 value=$zd{'retry'}> seconds</td> </tr>\n";

print "<tr> <td><b>Expiry time</b></td>\n";
print "<td><input name=expiry size=8 value=$zd{'expiry'}> seconds</td>\n";

print "<td><b>Default time-to-live</b></td>\n";
print "<td><input name=minimum size=8 value=$zd{'minimum'}> seconds</td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"Create Zone\"></form>\n";

print "<hr>\n";
&footer("", "zone list");

  07070100029e72000081a40000000000000002000000013d1fe2ea000002e1000000200000000000000000000000000000001b00000003reloc/dnsadmin/module.info    desc_ru_SU=BIND 4 DNS óÅÒ×ÅÒ
risk=low medium high
desc_ko_KR.euc=BIND 4 DNS ¼­¹ö 
desc_zh_TW.Big5=BIND 4 DNS ¦øªA¾¹
desc_pl=Serwer DNS BIND&nbsp;4
desc_de=BIND 4 DNS Server
name=DNSadmin
desc_zh_CN=BIND 4 DNS ·þÎñÆ÷
desc_pt=Servidor de DNS BIND 4
category=servers
desc_tr=BIND 4 DNS Sunucusu
os_support=slackware-linux redhat-linux mandrake-linux solaris debian-linux suse-linux hpux freebsd osf1 irix unixware openserver turbo-linux openbsd aix cobalt-linux/2.2 cobalt-linux/4.0 aix msc-linux
desc=BIND 4 DNS Server
desc_es=Servidor DNS BIND 4
desc_sv=BIND 4 DNS-server
desc_fr=Serveur de Noms de Domaine Bind 4
desc_ja_JP.euc=BIND 4 DNS ¥µ¡¼¥Ð
depends=bind8 0.990
version=0.990
desc_ca=Servidor DNS BIND 4
desc_ru_RU=BIND 4 DNS Ñåðâåð
   07070100029e74000081e40000000000000002000000013d1fe2b90000010e000000200000000000000000000000000000001b00000003reloc/dnsadmin/restart.cgi    #!/usr/local/bin/perl
# restart.cgi
# Restart the running named

require './dns-lib.pl';
&ReadParse();
$whatfailed = "Failed to restart named";
&kill_logged('HUP', $in{'pid'}) ||
	&error("Failed to signal process $in{'pid'} : $!");
&webmin_log("apply");
&redirect("");

  07070100029e77000081e40000000000000002000000013d1fe2b900000695000000200000000000000000000000000000001f00000003reloc/dnsadmin/save_master.cgi    #!/usr/local/bin/perl
# save_master.cgi
# Save changes to an SOA record

require './dns-lib.pl';
&ReadParse();
$whatfailed = "Failed to update zone";
%access = &get_module_acl();
&can_edit_zone(\%access, $in{'origin'}) ||
        &error("You are not allowed to edit this zone");

# check inputs
$in{'master'} =~ /^[A-z0-9\-\.]+$/ ||
        &error("'$in{'master'}' is not a valid master server");
$in{'email'} =~ /^\S+\@\S+$/ ||
        &error("'$in{'email'}' is not a valid email address");
$in{'refresh'} =~ /^\S+$/ ||
        &error("'$in{'refresh'}' is not a valid refresh time");
$in{'retry'} =~ /^\S+$/ ||
        &error("'$in{'retry'}' is not a valid transfer retry time");
$in{'expiry'} =~ /^\S+$/ ||
        &error("'$in{'expiry'}' is not a valid expiry time");
$in{'minimum'} =~ /^\S+$/ ||
        &error("'$in{'minimum'}' is not a valid default TTL");
$in{'email'} =~ s/\@/\./; $in{'email'} .= ".";

@recs = &read_zone_file($in{'file'}, $in{'origin'});
$old = $recs[$in{'num'}];
if ($config{'soa_style'} == 1 && $old->{'values'}->[2] =~ /^(\d{8})(\d\d)$/) {
	if ($1 eq &date_serial()) { $serial = sprintf "%d%2.2d", $1, $2+1; }
	else { $serial = &date_serial()."00"; }
	}
else {
	$serial = $old->{'values'}->[2]+1;
	}
$vals = "$in{'master'} $in{'email'} (\n".
        "\t\t\t$serial\n".
        "\t\t\t$in{'refresh'}\n".
        "\t\t\t$in{'retry'}\n".
        "\t\t\t$in{'expiry'}\n".
        "\t\t\t$in{'minimum'} )";
&lock_file($in{'file'});
&modify_record($in{'file'}, $old, $old->{'name'},
	      $old->{'ttl'}, $old->{'class'}, "SOA", $vals);
&unlock_file($in{'file'});
&webmin_log("soa", undef, $in{'origin'}, \%in);
&redirect("edit_master.cgi?index=$in{'index'}");

   07070100029e78000081e40000000000000002000000013d1fe2b90000237d000000200000000000000000000000000000001f00000003reloc/dnsadmin/save_record.cgi    #!/usr/local/bin/perl
# save_record.cgi
# Adds or updates a record of some type

require './dns-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_zone(\%access, $in{'origin'}) ||
        &error("You are not allowed to edit records in this zone");
&lock_file($in{'file'});
@recs = &read_zone_file($in{'file'}, $in{'origin'});
$whatfailed = "Failed to save record";

# get the old record if needed
$r = $recs[$in{'num'}] if (defined($in{'num'}));

# check for deletion
if ($in{'delete'}) {
	&lock_file($r->{'file'});
	&delete_record($r->{'file'}, $r);
	&bump_soa_record($in{'file'}, \@recs);
	($orevconf, $orevfile, $orevrec) = &find_reverse($in{'oldvalue0'});
	if ($in{'rev'} && $orevrec && &can_edit_reverse($orevconf) &&
	    $in{'oldname'} eq $orevrec->{'values'}->[0] &&
	    $in{'oldvalue0'} eq &arpa_to_ip($orevrec->{'name'})) {
		&lock_file($orevrec->{'file'});
		&delete_record($orevrec->{'file'} , $orevrec);
		&lock_file($orevfile);
		@orrecs = &read_zone_file(
				$orevfile, $orevconf->{'values'}->[0]);
		&bump_soa_record($orevfile, \@orrecs);
		}

	($ofwdconf, $ofwdfile, $ofwdrec) = &find_forward($in{'oldvalue0'});
	if ($in{'fwd'} && $ofwdrec &&
	    &can_edit_zone($ofwdconf->{'values'}->[0]) &&
	    &arpa_to_ip($in{'oldname'}) eq $ofwdrec->{'values'}->[0] &&
	    $in{'oldvalue0'} eq $ofwdrec->{'name'}) {
		&lock_file($ofwdrec->{'file'});
		&delete_record($ofwdrec->{'file'}, $ofwdrec);
		&lock_file($ofwdfile);
		@ofrecs = &read_zone_file($ofwdfile,$ofwdconf->{'values'}->[0]);
		&bump_soa_record($ofwdfile, \@ofrecs);
		}

	&redirect("edit_recs.cgi?index=$in{'index'}&type=$in{'type'}");
	&unlock_all_files();
	&webmin_log('delete', 'record', $in{'origin'}, $r);
	exit;
	}

# parse inputs
if (!$in{'ttl_def'}) {
	$in{'ttl'} =~ /^\d+$/ ||
		&error("'$in{'ttl'}' is not a valid time-to-live");
	$ttl = $in{'ttl'};
	}
$vals = $in{'value0'};
for($i=1; defined($in{"value$i"}); $i++) {
	$vals .= " ".$in{"value$i"};
	}
if ($in{'type'} eq "PTR") {
	# a reverse address
	&check_ipaddress($in{'name'}) ||
		&error("'$in{'name'}' is not a valid IP address");
	$name = &ip_to_arpa($in{'name'});
	&valname($in{'value0'}) ||
		&error("'$vals[0]' is not a valid hostname");
	if ($in{'value0'} !~ /\.$/) { $vals .= "."; }
	}
else {
	# some other kind of record
	$in{'name'} eq "" || &valname($in{'name'}) ||
		&error("'$in{'name'}' is not a valid ",
		       lc($code_map{$in{'type'}})," record name");
	if ($in{'type'} eq "A") {
		&check_ipaddress($vals) ||
			&error("'$vals' is not a valid IP address");
		if (!$access{'multiple'}) {
			$conf = &get_config();
			@zl = &find_config("primary", $conf);
			foreach $z (@zl) {
				$file = $z->{'values'}->[1];
				@frecs = &read_zone_file($z->{'values'}->[1],
							 $z->{'values'}->[0]);
				foreach $fr (@frecs) {
					if ($fr->{'type'} eq "A" &&
					    $fr->{'values'}->[0] eq $vals &&
					    $fr->{'name'} ne $r->{'name'}) {
						&error("An address record for ",
						       "$vals already exists");
						}
					}
				}
			}
		}
	elsif ($in{'type'} eq "NS") {
		&valname($vals) ||
			&error("'$vals' is not a valid nameserver");
		}
	elsif ($in{'type'} eq "CNAME") {
		&valname($vals) ||
			&error("'$vals' is not a valid alias target");
		}
	elsif ($in{'type'} eq "MX") {
		$in{'value1'} =~ /^[A-z0-9\-\.\*]+$/ ||
			&error("'$in{'value1'}' is not a valid mail server");
		$in{'value0'} =~ /^\d+$/ ||
			&error("'$in{'value0'}' is not a valid priority");
		}
	elsif ($in{'type'} eq "HINFO") {
		$in{'value0'} =~ /^\S+$/ ||
			&error("'$in{'value0'}' is not a valid hardware type");
		$in{'value1'} =~ /^\S+$/ ||
			&error("'$in{'value1'}' is not a valid OS type");
		}
	elsif ($in{'type'} eq "TXT") {
		$vals = "\"$in{'value0'}\"";
		}
	elsif ($in{'type'} eq "WKS") {
		&check_ipaddress($in{'value0'}) ||
			&error("'$in{'value0'}' is not a valid IP address");
		if (!$in{'value2'}) {
			&error("You did not enter any well known services");
			}
		@ws = split(/[\r\n]+/, $in{'value2'});
		$vals = "$in{'value0'} $in{'value1'} (";
		foreach $ws (@ws) { $vals .= "\n\t\t\t\t\t$ws"; }
		$vals .= " )";
		}
	elsif ($in{'type'} eq "RP") {
		$in{'value0'} =~ /^(\S+)\@(\S+)$/ ||
			&error("'$in{'value0'}' is not a valid email address");
		&valname($in{'value1'}) ||
			&error("'$in{'value1'}' is not a valid text record");
		$in{'value0'} =~ s/\@/\./g;
		$vals = "$in{'value0'} $in{'value1'}";
		}
	$name = $in{'name'} eq "" ?    "$in{'origin'}." :
		$in{'name'} !~ /\.$/ ? "$in{'name'}.$in{'origin'}." :
				       $in{'name'};
	}

if ($in{'new'}) {
	# just adding a new record
	&create_record($in{'file'}, $name, $ttl, "IN", $in{'type'}, $vals);
	$r = { 'name' => $name, 'ttl' => $ttl, 'class' => 'IN',
	       'type' => $in{'type'}, 'values' => [ split(/\s+/, $vals) ] };
	($revconf, $revfile, $revrec) = &find_reverse($in{'value0'});
	if ($in{'rev'} && $revconf && !$revrec && &can_edit_reverse($revconf)) {
		# Add a reverse record if we are the master for the reverse
		# domain, and if there is not already a reverse record
		# for the address.
		&lock_file($revfile);
		&create_record($revfile,
			      &ip_to_arpa($in{'value0'}), $ttl,
			      "IN", "PTR", $name);
		@rrecs = &read_zone_file($revfile, $revconf->{'values'}->[0]);
		&bump_soa_record($revfile, \@rrecs);
		}

	($fwdconf, $fwdfile, $fwdrec) = &find_forward($vals);
	if ($in{'fwd'} && $fwdconf && !$fwdrec &&
	    &can_edit_zone($fwdconf->{'values'}->[0])) {
		# Add a forward record if we are the master for the forward
		# domain, and if there is not already an A record
		# for the address
		&lock_file($fwdfile);
		&create_record($fwdfile, $vals,
			       $ttl, "IN", "A", $in{'name'});
		@frecs = &read_zone_file($fwdfile, $fwdconf->{'values'}->[0]);
		&bump_soa_record($fwdfile, \@frecs);
		}
	}
else {
	# updating an existing record
	($orevconf, $orevfile, $orevrec) = &find_reverse($in{'oldvalue0'});
	($revconf, $revfile, $revrec) = &find_reverse($in{'value0'});
	&lock_file($r->{'file'});
	&modify_record($r->{'file'}, $r, $name, $ttl,
		       "IN", $in{'type'},$vals);

	if ($in{'rev'} && $orevrec && &can_edit_reverse($orevconf) &&
	    $in{'oldname'} eq $orevrec->{'values'}->[0] &&
	    $in{'oldvalue0'} eq &arpa_to_ip($orevrec->{'name'})) {
		# Updating the reverse record. Either the name, address
		# or both may have changed. Furthermore, the reverse record
		# may now be in a different file!
		&lock_file($orevfile);
		&lock_file($revfile);
		@orrecs = &read_zone_file($orevfile,$orevconf->{'values'}->[0]);
		@rrecs = &read_zone_file($revfile, $revconf->{'values'}->[0]);
		if ($revconf eq $orevconf && &can_edit_reverse($revconf)) {
			# old and new in the same file
			&modify_record($orevrec->{'file'} , $orevrec, 
				      &ip_to_arpa($in{'value0'}),
				      $orevrec->{'ttl'}, "IN", "PTR", $name);
			&bump_soa_record($orevfile, \@orrecs);
			}
		elsif ($revconf && &can_edit_reverse($revconf)) {
			# old and new in different files
			&delete_record($orevrec->{'file'} , $orevrec);
			&create_record($revfile, &ip_to_arpa($in{'value0'}),
				      $orevrec->{'ttl'}, "IN", "PTR", $name);
			&bump_soa_record($orevfile, \@orrecs);
			&bump_soa_record($revfile, \@rrecs);
			}
		else {
			# we don't handle the new reverse domain.. lose the
			# reverse record
			&delete_record($orevrec->{'file'}, $orevrec);
			&bump_soa_record($orevfile, \@orrecs);
			}
		}

	($ofwdconf, $ofwdfile, $ofwdrec) = &find_forward($in{'oldvalue0'});
	($fwdconf, $fwdfile, $fwdrec) = &find_forward($in{'value0'});
	if ($in{'fwd'} && $ofwdrec &&
	    &can_edit_zone($ofwdconf->{'values'}->[0]) &&
	    &arpa_to_ip($in{'oldname'}) eq $ofwdrec->{'values'}->[0] &&
	    $in{'oldvalue0'} eq $ofwdrec->{'name'}) {
		# Updating the forward record
		&lock_file($ofwdfile);
		&lock_file($fwdfile);
		@ofrecs = &read_zone_file($ofwdfile,$ofwdconf->{'values'}->[0]);
		@frecs = &read_zone_file($fwdfile, $fwdconf->{'values'}->[0]);
		if ($fwdconf eq $ofwdconf &&
		    &can_edit_zone($fwdconf->{'values'}->[0])) {
			# old and new are in the same file
			&modify_record($ofwdrec->{'file'} , $ofwdrec, $vals,
				       $ofwdrec->{'ttl'}, "IN", "A",
				       $in{'name'});
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		elsif ($fwdconf && &can_edit_zone($fwdconf->{'values'}->[0])) {
			# old and new in different files
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			&create_record($fwdfile, $vals, $ofwdrec->{'ttl'},
				       "IN", "A", $in{'name'});
			&bump_soa_record($ofwdfile, \@ofrecs);
			&bump_soa_record($fwdfile, \@frecs);
			}
		else {
			# lose the forward because it has been moved to
			# a zone not handled by this server
			&delete_record($ofwdrec->{'file'} , $ofwdrec);
			&bump_soa_record($ofwdfile, \@ofrecs);
			}
		}
	}
&bump_soa_record($in{'file'}, \@recs);
&unlock_all_files();
&webmin_log($in{'new'} ? 'create' : 'modify', 'record', $in{'origin'}, $r);
&redirect("edit_recs.cgi?index=$in{'index'}&type=$in{'type'}");

sub valname
{
return $_[0] =~ /[A-z0-9\-\.]+$/;
}

# can_edit_reverse(&zone)
sub can_edit_reverse
{
return $access{'reverse'} || &can_edit_zone(\%access, $_[0]->{'values'}->[0]);
}

   07070100029e79000081e40000000000000002000000013d1fe2b9000004b1000000200000000000000000000000000000001e00000003reloc/dnsadmin/save_slave.cgi #!/usr/local/bin/perl
# save_slave.cgi
# Save changes to slave zone options in named.boot

require './dns-lib.pl';
&ReadParse();
&lock_file($config{'named_boot_file'});
$zconf = &get_config()->[$in{'index'}];
$whatfailed = "Failed to save slave zone";
%access = &get_module_acl();
&can_edit_zone(\%access, $zconf->{'values'}->[0]) ||
        &error("You are not allowed to edit this zone");

@mast = split(/\s+/, $in{'masters'});
foreach $m (@mast) {
	&check_ipaddress($m) ||
		&error("'$m' is not a valid master server IP address");
	}
if (!@mast) { &error("You must enter at least one master server address"); }
$in{'file_def'} || $in{'file'} =~ /^\S+$/ ||
	&error("'$in{'file'}' is not a valid records filename");

push(@vals, $zconf->{'values'}->[0]);
push(@vals, @mast);
if (!$in{'file_def'}) {
	$file = $in{'file'};
	$file = &base_directory($conf)."/".$file if ($file !~ /^\//);
	&allowed_zone_file(\%access, $file) ||
		&error("'$in{'file'}' is not an allowable records file");
	push(@vals, $in{'file'});
	}
&modify_zone($zconf, { 'name' => 'secondary', 'values' => \@vals });
&unlock_file($config{'named_boot_file'});
&webmin_log("opts", undef, $zconf->{'values'}->[0], \%in);
&redirect("");

   07070100029e7a000081e40000000000000002000000013d1fe2b900000248000000200000000000000000000000000000001d00000003reloc/dnsadmin/save_text.cgi  #!/usr/local/bin/perl
# save_text.cgi
# Save a manually edit zone file

require './dns-lib.pl';
&ReadParseMime();
%access = &get_module_acl();
$zconf = &get_config()->[$in{'index'}];
&can_edit_zone(\%access, $zconf->{'values'}->[0]) ||
	&error("You are not allowed to edit this zone");
$file = &absolute_path($zconf->{'values'}->[1]);

$in{'text'} =~ s/\r//g;
&lock_file($file);
open(FILE, ">$file");
print FILE $in{'text'};
close(FILE);
&unlock_file($file);
&webmin_log("text", undef, $zconf->{'values'}->[0], { 'file' => $file } );
&redirect("edit_master.cgi?index=$in{'index'}");

07070100029e7c000081e40000000000000002000000013d1fe2b900000335000000200000000000000000000000000000002000000003reloc/dnsadmin/save_zonedef.cgi   #!/usr/local/bin/perl
# save_zonedef.cgi
# Save zone defaults

require './dns-lib.pl';
&ReadParse();
$whatfailed = "Failed to save zone defaults";
%access = &get_module_acl();
$access{'defaults'} || &error("You cannot edit zone defaults");

&lock_file("$module_config_directory/zonedef");
$in{'refresh'} =~ /^\S+$/ || &error("Invalid refresh time");
$in{'retry'} =~ /^\S+$/ || &error("Invalid transfer retry time");
$in{'expiry'} =~ /^\S+$/ || &error("Invalid expiry time");
$in{'minimum'} =~ /^\S+$/ || &error("Invalid default time-to-live");
%zonedef = ( 'refresh', $in{'refresh'},
	     'retry', $in{'retry'},
	     'expiry', $in{'expiry'},
	     'minimum', $in{'minimum'} );
&save_zone_defaults(\%zonedef);
&unlock_file("$module_config_directory/zonedef");
&webmin_log("zonedef", undef, undef, \%in);
&redirect("");

   07070100029e7d000081e40000000000000002000000013d1fe2b9000005d6000000200000000000000000000000000000001e00000003reloc/dnsadmin/slave_form.cgi #!/usr/local/bin/perl
# slave_form.cgi
# A form for creating a new slave zone

require './dns-lib.pl';
%access = &get_module_acl();
$access{'slave'} || &error("You are not allowed to create slave zones");
&header("Create Slave Zone", "");
print "<hr>\n";

print "<form action=create_slave.cgi>\n";
print "<input type=hidden name=type value=\"$lctype\">\n";
print "<table border width=100%>\n";
print "<tr> <td $tb><b>New slave zone options</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";

print "<tr> <td><b>Zone type</b></td>\n";
print "<td colspan=3><input type=radio name=rev value=0 checked>\n";
print "Forward (Names to Addresses)\n";
print "&nbsp;&nbsp;<input type=radio name=rev value=1>\n";
print "Reverse (Addresses to Names)</td> </tr>\n";

print "<tr> <td><b>Domain name / Network</b></td>\n";
print "<td colspan=3><input name=zone size=40></td> </tr>\n";

print "<tr> <td><b>Records file</b></td> <td colspan=3>\n";
print "<input type=radio name=file_def value=1> None\n";
print "<input type=radio name=file_def value=2 checked> Automatic\n";
print "<input type=radio name=file_def value=0>\n";
print "<input name=file size=30>",&file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td valign=top><b>Master servers</b></td> <td colspan=3>\n";
print "<textarea name=masters rows=4 cols=30></textarea></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"Create Zone\"></form>\n";

print "<hr>\n";
&footer("", "zone list");

  07070100029e7e000081e40000000000000002000000013d1fe2b9000000b3000000200000000000000000000000000000001900000003reloc/dnsadmin/start.cgi  #!/usr/local/bin/perl
# start.cgi
# Start bind 4

require './dns-lib.pl';
system("$config{'named_pathname'} -b $config{'named_boot_file'} >/dev/null </dev/null");
&redirect("");

 0707010002fbca000041ed0000000000000001000000053d1ffa2100000000000000200000000000000000000000000000000e00000003reloc/exports 0707010002fbcb000081a40000000000000002000000013d1fe2ba0000009b000000200000000000000000000000000000001900000003reloc/exports/config-aix  restart_command=if (killall -HUP nfsd && killall -HUP rpc.mountd); then /bin/true; else (rmnfs -N ; mknfs -B) fi
exports_file=/etc/exports
nfs_server=nfsd
 0707010002fbcc000081a40000000000000002000000013d1fe2ba000000f6000000200000000000000000000000000000002200000003reloc/exports/config-cobalt-linux portmap_command=/etc/rc.d/init.d/portmap* start
restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbcd000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002100000003reloc/exports/config-corel-linux  restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/netstd_nfs stop ; /etc/init.d/netstd_nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbce000081a40000000000000002000000013d1fe2b9000000ca000000200000000000000000000000000000002200000003reloc/exports/config-debian-linux restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/netstd_nfs stop ; /etc/init.d/netstd_nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbcf000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002600000003reloc/exports/config-debian-linux-2.2 restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs-server stop ; /etc/init.d/nfs-server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbd0000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002600000003reloc/exports/config-debian-linux-3.0 restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs-server stop ; /etc/init.d/nfs-server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbd1000081a40000000000000002000000013d1fe2ba000000a5000000200000000000000000000000000000002300000003reloc/exports/config-generic-linux    restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (rpc.nfsd ; rpc.mountd) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
   0707010002fbd2000081a40000000000000002000000013d1fe2ba000000bc000000200000000000000000000000000000002200000003reloc/exports/config-gentoo-linux restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs stop ; /etc/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
0707010002fbd3000081a40000000000000002000000013d1fe2ba000000c6000000200000000000000000000000000000002400000003reloc/exports/config-mandrake-linux   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbd5000081a40000000000000002000000013d1fe2ba000000bc000000200000000000000000000000000000001f00000003reloc/exports/config-msc-linux    restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs stop ; /etc/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
0707010002fbd6000081a40000000000000002000000013d1fe2ba000000c6000000200000000000000000000000000000002000000003reloc/exports/config-open-linux   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbd8000081a40000000000000002000000013d1fe2ba000000c6000000200000000000000000000000000000002200000003reloc/exports/config-redhat-linux restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbd9000081a40000000000000002000000013d1fe2ba000000a5000000200000000000000000000000000000002500000003reloc/exports/config-slackware-linux  restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (rpc.nfsd ; rpc.mountd) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
   0707010002fbda000081a40000000000000002000000013d1fe2ba0000006f000000200000000000000000000000000000002900000003reloc/exports/config-slackware-linux-8.0  exports_file=/etc/exports
nfs_server=rpc.nfsd
restart_command=/etc/rc.d/rc.nfsd stop ; /etc/rc.d/rc.nfsd start
 0707010002fbdb000081a40000000000000002000000013d1fe2ba0000006f000000200000000000000000000000000000002900000003reloc/exports/config-slackware-linux-8.1  exports_file=/etc/exports
nfs_server=rpc.nfsd
restart_command=/etc/rc.d/rc.nfsd stop ; /etc/rc.d/rc.nfsd start
 0707010002fbdc000081a40000000000000002000000013d1fe2b9000000cc000000200000000000000000000000000000002000000003reloc/exports/config-suse-linux   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/sbin/init.d/nfs*server stop ; /sbin/init.d/nfs*server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
0707010002fbdd000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002400000003reloc/exports/config-suse-linux-7.1   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs*server stop ; /etc/init.d/nfs*server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbde000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002400000003reloc/exports/config-suse-linux-7.2   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs*server stop ; /etc/init.d/nfs*server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbdf000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002400000003reloc/exports/config-suse-linux-7.3   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs*server stop ; /etc/init.d/nfs*server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbe0000081a40000000000000002000000013d1fe2ba000000ca000000200000000000000000000000000000002400000003reloc/exports/config-suse-linux-8.0   restart_command=if (killall -HUP rpc.nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/init.d/nfs*server stop ; /etc/init.d/nfs*server start) fi
exports_file=/etc/exports
nfs_server=rpc.nfsd
  0707010002fbe1000081a40000000000000002000000013d1fe2ba000000be000000200000000000000000000000000000002100000003reloc/exports/config-turbo-linux  restart_command=if (killall -HUP nfsd && killall -HUP rpc.mountd); then /bin/true; else (/etc/rc.d/init.d/nfs stop ; /etc/rc.d/init.d/nfs start) fi
exports_file=/etc/exports
nfs_server=nfsd
  0707010002fbe2000081a40000000000000002000000013d1fe2ba0000005c000000200000000000000000000000000000001a00000003reloc/exports/config.info exports_file=Exported filesystems file,0
restart_command=Command to restart export server,0
0707010002fbe3000081a40000000000000002000000013d1fe2ba0000007a000000200000000000000000000000000000001d00000003reloc/exports/config.info.ca  exports_file=Fitxer de sistemes de fitxers exportats,0
restart_command=Ordre per reiniciar el servidor d'exportacions,0


  0707010002fbe4000081a40000000000000002000000013d1fe2b90000006f000000200000000000000000000000000000001d00000003reloc/exports/config.info.de  exports_file=Datei mit exportierten Dateisystemen,0
restart_command=Kommando zum Neustart des Export Servers,0
 0707010002fbe5000081a40000000000000002000000013d1fe2ba0000007b000000200000000000000000000000000000001d00000003reloc/exports/config.info.es  exports_file=Archivo de sistema de archivos exportado,0
restart_command=Comando para rearrancar servidor de exortaciones,0
 0707010002fbe6000081a40000000000000002000000013d1fe2ba0000006f000000200000000000000000000000000000001d00000003reloc/exports/config.info.fr  exports_file=Fichier des systèmes de fichier exporté,0
restart_command=Commande pour redémarrer le serveur,0
 0707010002fbe7000081a40000000000000002000000013d1fe2ba0000004f000000200000000000000000000000000000001d00000003reloc/exports/config.info.pl  exports_file=Plik 'exports',0
restart_command=Polecenie restartu serwera NFS,0
 0707010002fbe8000081a40000000000000002000000013d1fe2ba00000073000000200000000000000000000000000000002000000003reloc/exports/config.info.ru_RU   restart_command=Êîìàíäà äëÿ ðåñòàðòà ñåðâåðà NFS,0
exports_file=Ôàéë ñî ñïèñêîì ýêñïîðòèðîâàííûõ ôàéëîâûõ ñèñòåì,0
 0707010002fbe9000081a40000000000000002000000013d1fe2ba00000073000000200000000000000000000000000000002000000003reloc/exports/config.info.ru_SU   exports_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ,0
restart_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÓÔÁÒÔÁ ÓÅÒ×ÅÒÁ NFS,0
 0707010002fbea000081a40000000000000002000000013d1fe2b900000067000000200000000000000000000000000000001d00000003reloc/exports/config.info.sv  exports_file=Fil med exporterade filsystem,0
restart_command=Kommando för att starta om exportserver,0
 0707010002fbec000081a40000000000000002000000013d1fe2ba00000067000000200000000000000000000000000000001d00000003reloc/exports/config.info.tr  exports_file=Sunulan dosya sistemleri dosyasý,0
restart_command=NFS sunucusu yeniden baþlatma komutu,0
 0707010002fbef000081a40000000000000002000000013d1fe2ba0000004d000000200000000000000000000000000000002000000003reloc/exports/config.info.zh_CN   exports_file=±»Êä³öµÄÎÄ¼þÏµÍ³ÎÄ¼þ,0
restart_command=ÖØÐÂÆô¶¯Êä³ö·þÎñÆ÷ÃüÁî,0
   0707010002fbf8000081a40000000000000002000000013d1fe2ba0000004f000000200000000000000000000000000000002500000003reloc/exports/config.info.zh_TW.Big5  exports_file=¶×¥XÀÉ®×¨t²ÎÀÉ®×,0
restart_command=­«·s±Ò°Ê¶×¥XÀÉ®×¦øªA¾¹ªº«ü¥O,0
 0707010002fbf9000081e40000000000000002000000013d1fe2b900001c31000000200000000000000000000000000000001e00000003reloc/exports/edit_export.cgi #!/usr/local/bin/perl
# edit_export.cgi
# Allow editing of one export to a client

require './exports-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'create_title'}, "", "create_export");
	}
else {
	&header($text{'edit_title'}, "", "edit_export");
	@exps = &list_exports();
	$exp = $exps[$in{'idx'}];
	%opts = %{$exp->{'options'}};
	}
print "<hr>\n";

print "<form action=save_export.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td>",&hlink("<b>$text{'edit_dir'}</b>","dir"),"</td>\n";
print "<td colspan=3><input name=dir size=40 value=\"$exp->{'dir'}\">",
	&file_chooser_button("dir", 1),"</td> </tr>\n";

print "<tr> <td>",&hlink("<b>$text{'edit_active'}</b>","active"),"</td>\n";
printf "<td colspan=3><input type=radio name=active value=1 %s> %s\n",
	$in{'new'} || $exp->{'active'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=active value=0 %s> %s</td> </tr>\n",
	$in{'new'} || $exp->{'active'} ? '' : 'checked', $text{'no'};

$h = $exp->{'host'};
if ($h eq "=public") { $mode = 0; }
elsif ($h =~ /^\@(.*)/) { $mode = 1; $netgroup = $1; }
elsif ($h =~ /^(\S+)\/(\S+)$/) { $mode = 2; $network = $1; $netmask = $2; }
elsif ($h eq "") { $mode = 3; }
else { $mode = 4; $host = $h; }

print "<tr> <td rowspan=3 valign=top>",
      &hlink("<b>$text{'edit_to'}</b>","client"),"</td>\n";
printf "<td><input type=radio name=mode value=3 %s> %s</td>\n",
	$mode == 3 ? "checked" : "", $text{'edit_all'};

printf "<td colspan=2><input type=radio name=mode value=4 %s> %s\n",
	$mode == 4 ? "checked" : "", $text{'edit_host'};
print "<input name=host size=35 value='$host'></td> </tr>\n";

printf "<td><input type=radio name=mode value=0 %s> %s</td>\n",
	$mode == 0 ? "checked" : "", $text{'edit_webnfs'};

printf "<td colspan=2><input type=radio name=mode value=1 %s> %s\n",
	$mode == 1 ? "checked" : "", $text{'edit_netgroup'};
print "<input name=netgroup size=25 value='$netgroup'></td> </tr>\n";

printf "<td colspan=3><input type=radio name=mode value=2 %s> %s\n",
	$mode == 2 ? "checked" : "", $text{'edit_network'};
print "<input name=network size=15 value='$network'>\n";
print "$text{'edit_netmask'} ",
      "<input name=netmask size=15 value='$netmask'></td> </tr>\n";

print "<tr> <td>",&hlink("<b>$text{'edit_relative'}</b>",
		         "link_relative"),"</td>\n";
printf "<td><input type=radio name=link_relative value=1 %s> $text{'yes'}\n",
	defined($opts{'link_relative'}) ? "checked" : "";
printf "<input type=radio name=link_relative value=0 %s> $text{'no'}</td>\n",
	defined($opts{'link_relative'}) ? "" : "checked";

if (!$access{'simple'}) {
	print "<td>",&hlink("<b>$text{'edit_insecure'}</b>",
			    "insecure"),"</td>\n";
	printf "<td><input type=radio name=insecure value=0 %s> $text{'yes'}\n",
		defined($opts{'insecure'}) ? "" : "checked";
	printf "<input type=radio name=insecure value=1 %s> $text{'no'}</td> </tr>\n",
		defined($opts{'insecure'}) ? "checked" : "";

	print "</table></td></tr></table><p>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_security'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	}

if ($access{'simple'}) {
	print "<td>",&hlink("<b>$text{'edit_mode'}</b>","ro"),"</td>\n";
	printf "<td><input type=radio name=ro value=1 %s> $text{'edit_ro'}\n",
		defined($opts{'ro'}) ? "checked" : "";
	printf "<input type=radio name=ro value=0 %s> $text{'edit_rw'}</td> </tr>\n",
		defined($opts{'ro'}) ? "" : "checked";
	}
else {
	print "<tr> <td>",&hlink("<b>$text{'edit_mode'}</b>","ro"),"</td>\n";
	printf "<td><input type=radio name=ro value=1 %s> $text{'edit_ro'}\n",
		defined($opts{'ro'}) ? "checked" : "";
	printf "<input type=radio name=ro value=0 %s> $text{'edit_rw'}</td>\n",
		defined($opts{'ro'}) ? "" : "checked";

	print "<td>",&hlink("<b>$text{'edit_noaccess'}</b>","noaccess"),"</td>\n";
	printf "<td><input type=radio name=noaccess value=1 %s> $text{'yes'}\n",
		defined($opts{'noaccess'}) ? "checked" : "";
	printf "<input type=radio name=noaccess value=0 %s> $text{'no'}</td> </tr>\n",
		defined($opts{'noaccess'}) ? "" : "checked";
	}

print "<tr> <td>",&hlink("<b>$text{'edit_squash'}</b>","squash"),
      "</td> <td colspan=3>\n";
printf "<input type=radio name=squash value=0 %s> $text{'edit_everyone'}\n",
	defined($opts{'no_root_squash'}) ? "checked" : "";
printf "<input type=radio name=squash value=1 %s> $text{'edit_except'}\n",
	!defined($opts{'no_root_squash'}) &&
	!defined($opts{'all_squash'}) ? "checked" : "";
printf "<input type=radio name=squash value=2 %s> $text{'edit_nobody'}\n";
	defined($opts{'all_squash'}) ? "checked" : "";
print "</td> </tr>\n";

if (!$access{'simple'}) {
	print "<tr> <td>",&hlink("<b>$text{'edit_uids'}</b>","squash_uids"),
	      "</td> <td>\n";
	printf "<input type=radio name=squash_uids_def value=1 %s> %s\n",
		$opts{'squash_uids'} ? "" : "checked", $text{'edit_none'};
	printf "<input type=radio name=squash_uids_def value=0 %s>\n",
		$opts{'squash_uids'} ? "checked" : "";
	printf "<input name=squash_uids size=15 value=\"%s\"></td>\n",
		$opts{'squash_uids'};

	print "<td>",&hlink("<b>$text{'edit_gids'}</b>","squash_gids"),"</td> <td>\n";
	printf "<input type=radio name=squash_gids_def value=1 %s> %s\n",
		$opts{'squash_gids'} ? "" : "checked", $text{'edit_none'};
	printf "<input type=radio name=squash_gids_def value=0 %s>\n",
		$opts{'squash_gids'} ? "checked" : "";
	printf "<input name=squash_gids size=15 value=\"%s\"></td> </tr>\n",
		$opts{'squash_gids'};

	$anonu = $opts{'anonuid'} ? getpwuid($opts{'anonuid'}) : "";
	print "<tr> <td>",&hlink("<b>$text{'edit_anonuid'}</b>","anonuid"),
	      "</td> <td>\n";
	printf "<input type=radio name=anonuid_def value=1 %s> $text{'edit_default'}\n",
		defined($opts{'anonuid'}) ? "" : "checked";
	printf "<input type=radio name=anonuid_def value=0 %s>\n",
		defined($opts{'anonuid'}) ? "checked" : "";
	printf "<input name=anonuid size=8 value=\"%s\">\n",
		$anonu ? $anonu : $opts{'anonuid'};
	print &user_chooser_button("anonuid", 0),"</td>\n";

	$anong = $opts{'anongid'} ? getgrgid($opts{'anongid'}) : "";
	print "<td>",&hlink("<b>$text{'edit_anongid'}</b>","anongid"),
	      "</td> <td>\n";
	printf "<input type=radio name=anongid_def value=1 %s> $text{'edit_default'}\n",
		defined($opts{'anongid'}) ? "" : "checked";
	printf "<input type=radio name=anongid_def value=0 %s>\n",
		defined($opts{'anongid'}) ? "checked" : "";
	printf "<input name=anongid size=8 value=\"%s\">\n",
		$anong ? $anong : $opts{'anongid'};
	print &group_chooser_button("anongid", 0),"</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
if (!$in{'new'}) {
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n";
	print "</tr></table>\n";
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'create'}\">\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010002fbfa000081a40000000000000002000000013d1fe2b900001001000000200000000000000000000000000000001d00000003reloc/exports/exports-lib.pl  # export-lib.pl
# Common functions for the linux exports file

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# list_exports()
# Returns a list of all exports
sub list_exports
{
local (@rv, $pos, $lnum, $h, $o, $line);
return @list_exports_cache if (@list_exports_cache);
open(EXP, $config{'exports_file'});
$lnum = 0;
while($line = <EXP>) {
	local $slnum = $lnum;
	$line =~ s/\s+$//g;
	while($line =~ /\\$/) {
		# continuation character!
		$line =~ s/\\$//;
		$line .= <EXP>;
		$line =~ s/\s+$//g;
		$lnum++;
		}
	if ($line =~ /^(#*)\s*(\/\S*)\s+(.*)$/) {
		local $active = !$1;
		local $dir = $2;
		local $rest = $3;
		next if ($dir =~ /^$config{'exports_file'}/);
		$pos = 0;
		while($rest =~ /^([^\s+\(\)]*)\(([^\)]*)\)\s*(.*)$/ ||
		      $rest =~ /^([^\s+\(\)]+)\s*()(.*)$/) {
			local %exp;
			$exp{'active'} = $active;
			$exp{'dir'} = $dir;
			$exp{'host'} = $1;
			local $ostr = $2;
			$rest = $3;
			while($ostr =~ /^([a-z_]+)=([0-9,\-]+)\s*,\s*(.*)$/ ||
			      $ostr =~ /^([a-z_]+)=([0-9,\-]+)(.*)$/ ||
			      $ostr =~ /^([a-z_]+)=([^,\s]+),(.*)$/ ||
			      $ostr =~ /^([a-z_]+)=([^,\s]+)(.*)$/ ||
			      $ostr =~ /^([a-z_]+)()\s*,\s*(.*)$/ ||
			      $ostr =~ /^([a-z_]+)()(.*)$/) {
				if ($2 ne "") { $exp{'options'}->{$1} = $2; }
				else { $exp{'options'}->{$1} = ""; }
				$ostr = $3;
				}
			$exp{'line'} = $slnum;
			$exp{'eline'} = $lnum;
			$exp{'pos'} = $pos++;
			$exp{'index'} = scalar(@rv);
			push(@rv, \%exp);
			}
		}
	$lnum++;
	}
close(EXP);
@list_exports_cache = @rv;
return @list_exports_cache;
}

# delete_export(&export)
# Delete an existing export
sub delete_export
{
local @exps = &list_exports();
local @same = grep { $_ ne $_[0] && $_->{'line'} eq $_[0]->{'line'} } @exps;
local $lref = &read_file_lines($config{'exports_file'});
if (@same) {
	# other exports on the same line.. cannot totally delete
	splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'}-$_[0]->{'line'}+1,
	       &make_exports_line(@same));
	map { $_->{'line'} = $_->{'eline'} = $_[0]->{'line'} } @same;
	}
else {
	# remove export line
	splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'}-$_[0]->{'line'}+1);
	}
@list_exports_cache = grep { $_ ne $_[0] } @list_exports_cache;
&flush_file_lines();
}

# create_export(&export)
sub create_export
{
open(EXP, ">>$config{'exports_file'}");
print EXP &make_exports_line($_[0]),"\n";
close(EXP);
}

# modify_export(&export, &old)
sub modify_export
{
local @exps = &list_exports();
local @same = grep { $_->{'line'} eq $_[1]->{'line'} } @exps;
local $lref = &read_file_lines($config{'exports_file'});
if ($_[0]->{'dir'} eq $_[1]->{'dir'} &&
    $_[0]->{'active'} == $_[1]->{'active'} || @same == 1) {
	# directory not changed, or on a line of it's own
	splice(@same, &indexof($_[1],@same), 1, $_[0]);
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'}-$_[1]->{'line'}+1,
	       &make_exports_line(@same));
	}
else {
	# move to a line of it's own
	splice(@same, &indexof($_[1],@same), 1);
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'}-$_[1]->{'line'}+1,
	       &make_exports_line(@same));
	push(@$lref, &make_exports_line($_[0]));
	}
&flush_file_lines();
}

# make_exports_line([&export]+)
sub make_exports_line
{
local ($e, @htxt);
foreach $e (@_) {
	local %opts = %{$e->{'options'}};
	if (%opts || !$e->{'host'}) {
		push(@htxt, $e->{'host'}."(".
			    join(",", map { $opts{$_} eq "" ? $_
							    : "$_=$opts{$_}" }
			    (keys %opts)).")");
		}
	else { push(@htxt, $e->{'host'}); }
	}
return ($_[0]->{'active'} ? "" : "#").
       $_[0]->{'dir'}."\t".join(" ", @htxt);
}

# describe_host(host)
# Given a host, regexp or netgroup return a human-readable version
sub describe_host
{
local $h = &html_escape($_[0]);
if ($h eq "=public") { return $text{'exports_webnfs'}; }
elsif ($h =~ /^\@(.*)/) { return &text('exports_ngroup', "<i>$1</i>"); }
elsif ($h =~ /^(\S+)\/(\S+)$/) {
	return &text('exports_net', "<i>$1/$2</i>"); }
elsif ($h eq "" || $h eq "*") { return $text{'exports_all'}; }
elsif ($h =~ /\*/) { return &text('exports_hosts', "<i>$h</i>"); }
else { return &text('exports_host', "<i>$h</i>"); }
}

1;

   0707010003103a000041ed0000000000000001000000023d1ffa1f00000000000000200000000000000000000000000000001300000003reloc/exports/help    0707010003103b000081a40000000000000002000000013d1fe2ba0000008a000000200000000000000000000000000000002200000003reloc/exports/help/active.ca.html <header>Actiu</header>

Controla si l'exportació NFS està activada o no. Si és no, l'entrada
es comenta al fitxer <tt>exports</tt>.

<hr>
  0707010003103c000081a40000000000000002000000013d1fe2ba000000ad000000200000000000000000000000000000002200000003reloc/exports/help/active.es.html <header>Activa?</header>

Controla si esta exportación NFS está activa o no. Si no lo está, la línea del archivo
<tt>exports</tt> con dicha exportación es comentada. 
<hr>

   0707010003103d000081a40000000000000002000000013d1fe2b90000008e000000200000000000000000000000000000001f00000003reloc/exports/help/active.html    <header>Active?</header>

Controls whether this NFS export is active or not. If not, it is commented
out in the <tt>exports</tt> file. 
<hr>

  0707010003103e000081a40000000000000002000000013d1fe2ba000000a5000000200000000000000000000000000000002200000003reloc/exports/help/active.pl.html <header>Aktywne?</header>

Okre¶la, czy to udostêpnianie po NFS jest aktywne, czy nie. Nieaktywno¶æ
polega na zakomentarzowaniu w&nbsp; pliku <tt>exports</tt>.
<hr>
   0707010003103f000081a40000000000000002000000013d1fe2b9000000ad000000200000000000000000000000000000002200000003reloc/exports/help/active.sv.html <header>Aktiverad?</header>

Anger om denna NFS-exportering är aktiverad eller ej. Om den inte är
aktiverad kommer den att kommenteras bort i <tt>exports</tt>-filen. 
<hr>

   07070100031040000081a40000000000000002000000013d1fe2b900000073000000200000000000000000000000000000002a00000003reloc/exports/help/active.zh_TW.Big5.html <header>¬O§_±Ò°Ê?</header>

±±¨î NFS ¶×¥X¬O§_­n±Ò°Ê. ¦pªG¿ï¾Ü§_, ³o±N·|§â <tt>exports</tt> ¤¤¬ÛÃöªº¦æµù¸Ñ±¼ 
<hr>

 07070100031041000081a40000000000000002000000013d1fe2ba000000fa000000200000000000000000000000000000002300000003reloc/exports/help/anongid.ca.html    <header>Tracta els grups no fiables com</header>

Aquesta opció determina com a quin grup local es tracten els grups client
no fiables. Pots introduir un GID per seleccionar un grup, o triar el
grup per defecte (típicament, <tt>nobody</tt>).

<hr>


  07070100031042000081a40000000000000002000000013d1fe2b900000105000000200000000000000000000000000000002300000003reloc/exports/help/anongid.es.html    <header>Tratar grupos no fiables como</header>

Esta opción determina como qué grupo local son tratados los clientes
no fiables. Puedes digitar una GID o seleccionar un grupo o escoger el valor
por defecto (típicamente el grupo <tt>ninguno (nobody)</tt>.
<hr>

   07070100031043000081a40000000000000002000000013d1fe2b900000100000000200000000000000000000000000000002300000003reloc/exports/help/anongid.fr.html    <header>Traité les Groupes Insécures Comme</header>

Cette option détermine quel groupe local les groupes clients insécure sont traités.  Vous pouvez entrer un numéro de groupe ou en choisir un par défaut (généralement le groupe <tt>nobody</tt>).
<hr>
07070100031044000081a40000000000000002000000013d1fe2b9000000ee000000200000000000000000000000000000002000000003reloc/exports/help/anongid.html   <header>Treat untrusted groups as</header>

This option determines which local group untrusted client groups are treated
as. You may enter either a GID or select a group, or choose the default
(typically the group <tt>nobody</tt>).
<hr>

  07070100031045000081a40000000000000002000000013d1fe2ba00000101000000200000000000000000000000000000002300000003reloc/exports/help/anongid.pl.html    <header>Traktuj niewiarygodne grupy jako</header>

Ta opcja okre¶la jako jaka grupa lokalna s± traktowane niewiarygodne grupy
stacji klienckiej. Mo¿esz podaæ numer GID, wybraæ nazwê grupy lub warto¶æ
domy¶ln± (zazwyczaj jest to grupa <tt>nobody</tt>).
<hr>
   07070100031046000081a40000000000000002000000013d1fe2b9000000ed000000200000000000000000000000000000002300000003reloc/exports/help/anongid.sv.html    <header>Behandla opålitliga grupper som</header>

Denna inställning anger vilken lokal grupp som opålitliga klientgrupper
ska behandlas som. Ange ett GID, en grupp eller välj standardinställningen
(oftast gruppen <tt>nobody</tt>).
<hr>

   07070100031047000081a40000000000000002000000013d1fe2b9000000b0000000200000000000000000000000000000002b00000003reloc/exports/help/anongid.zh_TW.Big5.html    <header>±N¤£«H¥ôªº¸s²Õ·í¦¨</header>

³o­Ó¿ï¶µ¨M©w­n±N¤£«H¥ôªº«È¤áºÝ¸s²Õ·í¦¨­þ¤@­Ó¥»¦aºÝ¸s²Õ. ±z¥i¥H¿é¤J GID ©Î¿ï¾Üªº¸s²Õ, ©Î¿ï¾Ü¹w³]ªº¸s²Õ (¤@¯ë¬° <tt>nobody</tt> ¸s²Õ).
<hr>

07070100031048000081a40000000000000002000000013d1fe2ba00000103000000200000000000000000000000000000002300000003reloc/exports/help/anonuid.ca.html    <header>Tracta els usuaris no fiables com</header>

Aquesta opció determina com a quin usuari local es tracten els usuaris client
no fiables. Pots introduir un UID per seleccionar un usuari, o triar
l'usuari per defecte (típicament, <tt>nobody</tt>).

<hr>


 07070100031049000081a40000000000000002000000013d1fe2b90000010d000000200000000000000000000000000000002300000003reloc/exports/help/anonuid.es.html    <header>Tratar usuarios no fiables como</header>

Esta opción determina como qué usuario local son tratados los clientes
no fiables. Puedes digitar una UID o seleccionar un usuario o escoger el valor
por defecto (típicamente el usuario <tt>ninguno (nobody)</tt>.
<hr>

   0707010003104a000081a40000000000000002000000013d1fe2b9000000fe000000200000000000000000000000000000002300000003reloc/exports/help/anonuid.fr.html    <header>Traité les Usagers Insécures Comme</header>

Cette option détermine quel groupe local les usagers clients insécure sont traités.  Vous pouvez entrer un numéro d'usager ou en choisir un par défaut (généralement l'usager <tt>nobody</tt>).
<hr>
  0707010003104b000081a40000000000000002000000013d1fe2b9000000e9000000200000000000000000000000000000002000000003reloc/exports/help/anonuid.html   <header>Treat untrusted users as</header>

This option determines which local user untrusted client users are treated
as. You may enter either a UID or select a user, or choose the default
(typically the user <tt>nobody</tt>).
<hr>

   0707010003104c000081a40000000000000002000000013d1fe2ba00000121000000200000000000000000000000000000002300000003reloc/exports/help/anonuid.pl.html    <header>Traktuj niewiarygodnych u¿ytkowników jako</header>

Ta opcja okre¶la, jako jaki u¿ytkownik lokalny s± traktowani niewiarygodni
u¿ytkownicy stacji klienckich. Mo¿esz podaæ numer UID, wybraæ nazwê
u¿ytkownika lub warto¶æ domy¶ln± (zazwyczaj jest to u¿ytkownik
<tt>nobody</tt>).
<hr>
   0707010003104e000081a40000000000000002000000013d1fe2b9000000f5000000200000000000000000000000000000002300000003reloc/exports/help/anonuid.sv.html    <header>Behandla opålitliga användare som</header>

Denna inställning anger vilken lokal användare som opålitliga klienter
ska behandlas som. Ange ett UID, en användare eller välj standardinställningen
(oftast användaren <tt>nobody</tt>).
<hr>

   07070100031053000081a40000000000000002000000013d1fe2b900000461000000200000000000000000000000000000001f00000003reloc/exports/help/client.html    <header>Export to..</header>

The hosts that will have access to the exported directory. Five ways of
specifying which hosts are allowed to mount the directory are available :
<dl>
<dt><b>Everyone</b>
<dd>Any host capable of contacting your system is allowed access. This option
    should be used with care, especially if your system is connected to the
    Internet.
<dt><b>Hosts(s)</b>
<dd>This can either be a single IP address, a single hostname, or a regular
    expression like <tt>*.foo.com</tt>. In the last case, any host whose
    reverse DNS lookup by IP address matches the expression will be allowed
    access.
<dt><b>WebNFS clients</b>
<dd>Allows clients using Sun's WebNFS protocol to access this directory.
<dt><b>Netgroup</b>
<dd>Allows all members of the specified NIS netgroup to access this export.
<dt><b>Network</b> and <b>Netmask</b>
<dd>Any host in the specified subnet is allowed access. For example, if the
    network was <tt>10.1.2.0</tt> and the netmask <tt>255.255.255.0</tt>,
    all hosts with IP addresses from <tt>10.1.2.0</tt> to <tt>10.1.2.255</tt>
    would be allowed.
</dl>
<hr>

   0707010003104f000081a40000000000000002000000013d1fe2b9000000bc000000200000000000000000000000000000002b00000003reloc/exports/help/anonuid.zh_TW.Big5.html    <header>±N¤£«H¥ôªº¨Ï¥ÎªÌ·í¦¨</header>

³o­Ó¿ï¶µ¨M©w­n±N¤£«H¥ôªº«È¤áºÝ¨Ï¥ÎªÌ·í¦¨­þ¤@­Ó¥»¦aºÝ¨Ï¥ÎªÌ. ±z¥i¥H¿é¤J UID ©Î¿ï¾Üªº¨Ï¥ÎªÌ, ©Î¿ï¾Ü¹w³]ªº¨Ï¥ÎªÌ (¤@¯ë¬° <tt>nobody</tt> ¨Ï¥ÎªÌ).
<hr>

07070100031050000081a40000000000000002000000013d1fe2ba000004dd000000200000000000000000000000000000002200000003reloc/exports/help/client.ca.html <header>Exporta a to...</header>

Els hosts que tindran accés al directori exportat. Hi cinc formes
disponibles per especificar quins hosts tenen permès de muntar el directori:
<dl>
   <dt><b>Tothom</b>
   <dd>
   Qualsevol host capaç de connectar amb el teu sistema té permès l'accés.
   Aquest opció s'ha de fer servir amb precaució, sobretot si el sistema
   està connectat a Internet.
   <dt><b>Host(s)</b>
   <dd>
   Això pot ser una sola adreça IP, un sol nom de host, o una expressió
   regular com ara <tt>*.foo.com</tt>. En aquest darrer cas, tots els hosts
   tals que la seva consulta DNS inversa coincideixin amb l'expressió,
   tindran permès l'accés.
   <dt><b>Clients WebNFS</b>
   <dd>
   Permet que els clients que fan servir el protocol WebNFS de Sun
   accedeixin aquest directori.
   <dt><b>Grup de xarxa</b>
   <dd>
   Permet que tots els membres del grup NIS especificats tinguin accés
   a aquesta exportació.
   <dt><b>Xarxa</b> i <b>Màscara</b>
   <dd>
   Tots els host de la subxarxa especificada tenen permès l'accés.
   Per exemple, si la xarxa és <tt>10.1.2.0</tt> i la màscara 
   <tt>255.255.255.0</tt>, estaran permesos tots els hosts amb adreces IP
   entre <tt>10.1.2.0</tt> i <tt>10.1.2.255</tt>.
</dl>

<hr>

   07070100031051000081a40000000000000002000000013d1fe2b900000518000000200000000000000000000000000000002200000003reloc/exports/help/client.es.html <header>Exportar a...</header>

Las máquinas que tendrán acceso al directorio exportado. Se permiten cinco
formas para especificar qué máquinas estás autorizadas a montar el directorio:
<dl>
<dt><b>Cualquiera</b>
<dd>Cualquier máquina capaz de contactar con tu sistema tiene el acceso
    autorizado. Esta opción debería de ser usadas con mucho cuidado,
    especialmente si tu sistema está conectado a Internet.
<dt><b>Máquina(s)</b>
<dd>Ésta puede ser o una dirección IP o un nombre de máquina o una expresión
    regular como <tt>*.foo.com</tt>. En el último caso, cualquier máquina
    cuya búsqueda en DNS al revés por dirección IP coincida con la expresión
    tendrá permitido el acceso.
<dt><b>Clientes WebNFS</b>
<dd>Permite que aquellos clientes que usen el protocolo WebNFS de Sun puedan
    acceder a este directorio.
<dt><b>Grupo de Red</b>
<dd>Permite que todos los miembros del grupo de red NIS especificado accedan
    a esta exportación.
<dt><b>Red</b> y <b>Máscara de Red</b>
<dd>Cualquier máquina dentro de las subred especificada tiene permitido el
    acceso. Por ejemplo, si la red fuera <tt>10.1.2.0</tt> y la máscara
    de red <tt>255.255.255.0</tt>, todas las máquinas con direcciones IP
    desde la <tt>10.1.2.0</tt> a la <tt>10.1.2.255</tt> estarían autorizadas.
</dl>
<hr>

07070100031052000081a40000000000000002000000013d1fe2b900000395000000200000000000000000000000000000002200000003reloc/exports/help/client.fr.html <header>Partagé à...</header>

L'hôte qui aura accès au répertoire partagé.  Cinq voies possibles de spécifier quel hôte sont autorisées à monter le répertoire sont :
<dl>
<dt><b>Tous</b>
<dd>Tout hôte capable de contacter le système.  Cette option doit être utilisée avec soin, spécialement si votre système est connecté à Internet.
<dt><b>Hôtes</b>
<dd>Ils peuvent être une adresse IP, un nom d'hôte, ou une expression régulière comme <tt>*.foo.com</tt>.  Dans le dernier cas, tout hôte auquel la vérification inverse de nom de domaine correspondra à l'adresse IP seront autorisé.
<dt><b>WebNFS clients</b>
<dd>Alloue l'accès aux clients utilisant le protocole WebNFS de Sun
<dt><b>Groupe réseau</b>
<dd>Alloue à tous les membres d'un groupe réseau NIS spécifié d'avoir accès à ce partage
<dt><b>Réseau</b> et <b>Masque de sous-réseau</b>
<dd>Tout hôte dans le réseau spécifié ont accès.
</dl>
<hr>
   07070100031054000081a40000000000000002000000013d1fe2ba00000532000000200000000000000000000000000000002200000003reloc/exports/help/client.pl.html <header>Udostêpniaj dla..</header>

Komputery, które bêd± mia³y dostêp do wyeksportowanego katalogu. Jest piêæ
mo¿liwych sposobów okre¶lenia, którym komputerom wolno montowaæ ten
katalog&nbsp;:
<dl>
<dt><b>Wszystkim</b>
<dd>Dostêp uzyzska dowolny komputer, który jest w&nbsp;stanie po³±czyæ siê
    z&nbsp;twoim systemem. Ta opcja powinna byæ u¿ywana ze szczególn±
    ostro¿no¶ci± zw³aszcza, je¿eli twój system jest pod³±czony do Internetu.
<dt><b>Komputerom</b>
<dd>Mo¿e to byæ pojedynczy adres IP, pojedyncza nazwa komputera lub
    wyra¿enie regularne takie, jak <tt>*.foo.com</tt>. W&nbsp;ostatnim
    przypadku dostêp uzyska dowolny komputer, którego IP rozwi±zuje siê
    w&nbsp;odwrotnym DNS-ie do nazwy pasuj±cej do podanego wyra¿enia.
<dt><b>Klienci WebNFS</b>
<dd>Pozwala na dostêp do katalogu klientom korzystaj±cym z&nbsp;Sun-owskiego
    protoko³u WebNFS.
<dt><b>Grupa sieciowa</b>
<dd>Pozwala uzyskaæ dostêp do tego zasobu wszystkim cz³onkom podanej grupy
    sieciowej NIS-u.
<dt><b>Sieci</b> z&nbsp;<b>mask±</b>
<dd>Pozwala na dostêp z&nbsp;dowolnego komputera w&nbsp;okre¶lonej sieci.
    Na przyk³ad, je¶li t± sieci± bêdzie <tt>10.1.2.0</tt> a&nbsp;jej mask±
    <tt>255.255.255.0</tt>, to dostêp uzyskaj± wszystkie komputery o&nbsp;IP
    z&nbsp;zakresu od <tt>10.1.2.0</tt> do <tt>10.1.2.255</tt>.
</dl>
<hr>
  07070100031055000081a40000000000000002000000013d1fe2b900000492000000200000000000000000000000000000002200000003reloc/exports/help/client.sv.html <header>Exportera till ...</header>

Datorer som ska ha tillgång till den exporterade katalogen. Det finns
fem sätt att ange de datorer som får montera katalogen:
<dl>
<dt><b>Alla</b>
<dd>Alla datorer som kan komma åt systemet får tillgång till katalogen.
    Detta alternativ ska du vara försiktig med, särskilt om ditt system
    är kopplat till Internet.
<dt><b>Datorer(s)</b>
<dd>Här kan du ange en IP-adress, ett datornamn eller ett reguljärt uttryck,
    t ex <tt>*.foo.com</tt>. Det senare alternativet innebär att alla
    datorer som vid bakåtuppslagning visar sig finnas i domänen foo.com
    får tillgång till katalogen.
<dt><b>WebNFS-klienter</b>
<dd>Klienter som använder Suns WebNFS-protokoll får tillgång till katalogen.
<dt><b>Nätverksgrupp</b>
<dd>Alla medlemmar i den angivna NIS-nätverksgruppen får tillgång till katalogen.
<dt><b>Nätverk</b> och <b>Nätmask</b>
<dd>Alla datorer i det angivna delnätet får tillgång till katalogen.
    Om du till exempel har angivit nätverket <tt>10.1.2.0</tt> och nätmasken
    <tt>255.255.255.0</tt> får alla datorer med IP-adresser från
    <tt>10.1.2.0</tt> till <tt>10.1.2.255</tt> tillgång till den.
</dl>
<hr>

  07070100031056000081a40000000000000002000000013d1fe2b90000031b000000200000000000000000000000000000002a00000003reloc/exports/help/client.zh_TW.Big5.html <header>¶×¥Xµ¹...</header>

¥i¥H¦s¨ú³o­Ó·|¥Xªº¥D¾÷¦Cªí. ¦@¦³¤­ºØ¤£¦Pªº«ü©w¤èªk¥i¥H¥Î¦b³o­Ó¦a¤è:
<dl>
<dt><b>¥ô¦ó¤H</b>
<dd>¥ô¦ó¥D¾÷ªº¥i¥H³Q¤¹³\¦s¨ú±zªº·|¥X. ³o­Ó¿ï¶µÀ³¸Ó­n¤p¤ß¨Ï¥Î, ¯S§O¬O·í±zªº¨t²Î¦³³s±µ¨ìºô»Úºô¸ô®É.
<dt><b>¥D¾÷</b>
<dd>³o¥i¥H¬O¤@­Ó IP ¦ì§}, ¤@­Ó¥D¾÷¦WºÙ, ©Î¥¿³Wªí¥Üªk¨Ò¦p <tt>*.foo.com</tt>. ¦b³Ì«á³o­Óª¬ªp¤¤, ¥ô¦ó¥D¾÷ªº DNS ¤Ï¬dµ²ªG¥u­n²Å¦X³o­Óªí¥Ü¦¡³£¥i¥H¦s¨ú.
<dt><b>WebNFS «È¤áºÝ</b>
<dd>¤¹³\«È¤áºÝ¨Ï¥Î Sun ªº WebNFS ³q°T¨ó©w¨Ó¦s¨ú³o­Ó¥Ø¿ý.
<dt><b>ºô¸ô¸s²Õ</b>
<dd>¤¹³\©Ò¦³«ü©wªº NIS ºô¸ô¸s²Õ¤ºªº¥D¾÷¦Ò¥H¦s¨ú³o­Ó¶×¥X.
<dt><b>ºô¸ô</b>»P<b>¤lºô¸ô¾B¸n</b>
<dd>¥ô¦ó¦b«ü©wªº¤lºô¸ô¤¤ªº¥D¾÷³£¥i¥H¦s¨ú. Á|¨Ò¦Ó¨¥, ¦pªGºô¸ô«ü©w¬° <tt>10.1.2.0</tt> ¦Ó¤lºô¸ô¾B¸n«ü©w¬° <tt>255.255.255.0</tt>, «h©Ò¦³¦b IP ½d³ò <tt>10.1.2.0</tt> ¨ì <tt>10.1.2.255</tt> ¤§¶¡ªº¥D¾÷³£·|³Q¤¹³\.
</dl>
<hr>

 07070100031057000081a40000000000000002000000013d1fe2ba00000089000000200000000000000000000000000000002900000003reloc/exports/help/create_export.ca.html  <header>Creació d'Exportació</header>

Aquesta pàgina permet especificar un directori per exportar i el client
al qual s'exporta.

<hr>

   07070100031058000081a40000000000000002000000013d1fe2b900000090000000200000000000000000000000000000002900000003reloc/exports/help/create_export.es.html  <header>Crear Exportación</header>

Esta página te permite especificar un directorio a ser exportado y el
cliente al cual será exportado.
<hr>

07070100031059000081a40000000000000002000000013d1fe2b900000082000000200000000000000000000000000000002900000003reloc/exports/help/create_export.fr.html  <header>Créer un Partage</header>

Cette page vous permet de spécifier quel répertoire partagé et quel client y a accès.
<hr>
  0707010003105a000081a40000000000000002000000013d1fe2b900000089000000200000000000000000000000000000002600000003reloc/exports/help/create_export.html <header>Create Export</header>

This page allows you to specify a directory for exporting, and the client
to which it is exported.
<hr>

   0707010003105c000081a40000000000000002000000013d1fe2ba000000a2000000200000000000000000000000000000002900000003reloc/exports/help/create_export.pl.html  <header>Nowe udostêpnianie</header>

Ta strona pozwala ci na okre¶lenie katalogu, który chcesz udostêpniaæ oraz
klienta, dla którego ma on byæ udostêpniony.
<hr>
  0707010003105d000081a40000000000000002000000013d1fe2b900000091000000200000000000000000000000000000002900000003reloc/exports/help/create_export.sv.html  <header>Lägg till exportering</header>

På denna sida anger du en katalog som ska exporteras och den klient
som katalogen exporteras till.
<hr>

   0707010003105e000081a40000000000000002000000013d1fe2b90000005b000000200000000000000000000000000000003100000003reloc/exports/help/create_export.zh_TW.Big5.html  <header>«Ø¥ß¶×¥X</header>

³o¤@­¶¤¹³\±z«ü©w¤@­Ó­n¶×¥Xªº¥Ø¿ý, »P«È¤áºÝªº¬ÛÃö¦s¨úÅv­­.
<hr>

 0707010003105f000081a40000000000000002000000013d1fe2ba00000181000000200000000000000000000000000000001f00000003reloc/exports/help/dir.ca.html    <header>Directori a exportar</header>

Aquest és el directori que s''exporta als clients llistats a la secció
<a href=client>Exporta a ...</a>. En contra del que fan altres servidors
NFS, Linux suporta la reexportació d'un directori que ja està muntat com
a NFS des d'un altre host, i també l'exportació d'un directori que
conté punts de muntatge d'altres sistemes de fitxers.

<hr>


   07070100031060000081a40000000000000002000000013d1fe2b90000018a000000200000000000000000000000000000001f00000003reloc/exports/help/dir.es.html    <header>Directorio a exportar</header>

Este es el directorio que es exportado a los clientes listados en la
sección <a href=client>Exportar a...</a>. Al contrario que otros servidores
NFS, Linux soporta la reexportación de un directorio que ha sido montado
mediante NFS desde otra máquina y la exportación de un directorio que
contiene puntos de montaje para otros sistemas de archivos.
<hr>

  0707010003106a000081a40000000000000002000000013d1fe2b900000159000000200000000000000000000000000000001f00000003reloc/exports/help/dir.fr.html    <header>Répertoire à Partager</header>

Ceci est le répertoire qui sera partagé aux clients listés dans la section <a href=client>Partagé à</a>.  Contrairement aux autres serveurs NFS, Linux supporte le repartage de répertoire qui a déjà été monté par un autre hôte et de repartager à son tour du contenu de d'autre système de fichier.
<hr>
   0707010003106b000081a40000000000000002000000013d1fe2b90000015f000000200000000000000000000000000000001c00000003reloc/exports/help/dir.html   <header>Directory to export</header>

This is the directory being exported to the clients listed in the
<a href=client>Export to..</a> section. Unlike other NFS servers, Linux
supports the re-exporting of a directory that has been NFS mounted from
another host, and the exporting of a directory that contains mount points
for other filesystems.
<hr>

 0707010003106c000081a40000000000000002000000013d1fe2ba0000015c000000200000000000000000000000000000001f00000003reloc/exports/help/dir.pl.html    <header>Udostêpniany katalog</header>

To jest nazwa katalogu udostêpnianego klientom wymienionym w&nbsp;pozycji
<a href=client>Udostêpniaj dla..</a>. W&nbsp;odró¿nieniu od innych sewrerów
NFS-u, Linux potrafi udostêpniaæ katalog podmontowany po NFS-ie
z&nbsp;innego komputera, jak te¿ katalog, który zawiera podmontowane inne
systemy plików.
<hr>
0707010003106d000081a40000000000000002000000013d1fe2b900000156000000200000000000000000000000000000001f00000003reloc/exports/help/dir.sv.html    <header>Katalog att exportera</header>

Detta är den katalog som exporteras till de klienter som anges i
<a href=client>Exportera till ...</a>-stycket. Till skillnad från
andra NFS-servrar går det i Linux att exportera en katalog som redan
har NFS-monterats av en annan dator eller som innehåller
monteringspunkter för andra filsystem.
<hr>

  0707010003106e000081a40000000000000002000000013d1fe2b9000000f1000000200000000000000000000000000000002700000003reloc/exports/help/dir.zh_TW.Big5.html    <header>­n¶×¥Xªº¥Ø¿ý</header>


³o¬O±N­n¶×¥Xµ¹¦b<a href=client>¶×¥Xµ¹...</a>¦Cªí¤¤¥D¾÷ªº¥Ø¿ý. ¤£¹³¨ä¥Lªº NFS ¦øªA¾¹, Linux ¤ä´©§â±q¨ä¥L¥D¾÷±¾¸ü±o¨ìªº¥Ø¿ý¦A¤@¦¸ªº¶×¥X; ¦Ó¥B¶×¥Xªº¥Ø¿ý±N¥]§t¤U­±©Ò¦³ªº¤l¥Ø¿ý, §Y¨Ï¬O¦s©ñ©ó¨ä¥LªºÀÉ®×¨t²Î¤¤.
<hr>

   0707010003106f000081a40000000000000002000000013d1fe2ba000000a7000000200000000000000000000000000000002700000003reloc/exports/help/edit_export.ca.html    <header>Edició d'Exportació</header>

Aquesta pàgina permet canviar les opcions d'un directori actualment exportat
a algun client, o bé suprimir l'exportació.

<hr>


 07070100031070000081a40000000000000002000000013d1fe2b9000000a3000000200000000000000000000000000000002700000003reloc/exports/help/edit_export.es.html    <header>Editar Exportación</header>

Esta página te permite cambiar las opciones para un directorio ya exportado
para algún cliente o borrar la exportación.
<hr>

 07070100031071000081a40000000000000002000000013d1fe2b9000000a3000000200000000000000000000000000000002700000003reloc/exports/help/edit_export.fr.html    <header>Éditer un Partage</header>

Cette page vous permet de changer les options d'un répertoire partagé pour certain client ou de supprimer ce partage.
<hr>
 07070100031072000081a40000000000000002000000013d1fe2b90000009c000000200000000000000000000000000000002400000003reloc/exports/help/edit_export.html   <header>Edit Export</header>

This page allows you to change the options for a currently exported
directory for some client, or to delete the export.
<hr>

07070100031073000081a40000000000000002000000013d1fe2ba000000ba000000200000000000000000000000000000002700000003reloc/exports/help/edit_export.pl.html    <header>Zmieñ udostêpnianie</header>

Ta strona pozwala ci na zmianê parametrów udostêpniania dla pewnego klienta
dla aktualnie udostêpnianego katalogu lub zakoñczyæ udostêpnianie.
<hr>
  07070100031074000081a40000000000000002000000013d1fe2b90000008a000000200000000000000000000000000000002700000003reloc/exports/help/edit_export.sv.html    <header>Ändra exportering</header>

På denna sida kan du ändra inställningarna för en exporterad katalog
och ta bort exporteringen.
<hr>

  07070100031075000081a40000000000000002000000013d1fe2b900000069000000200000000000000000000000000000002f00000003reloc/exports/help/edit_export.zh_TW.Big5.html    <header>½s¿è¶×¥X</header>

³o¤@­¶¤¹³\±z¥i¥H§ïÅÜ¥Ø«e¶×¥Xµ¹¬Y¨Ç¥D¾÷¤§¥Ø¿ýªº¬ÛÃö¿ï¶µ, ©Î§R°£³o­Ó¶×¥X.
<hr>

   07070100031076000081a40000000000000002000000013d1fe2ba00000111000000200000000000000000000000000000002400000003reloc/exports/help/insecure.ca.html   <header>Els clients han d'estar en un port segur</header>

Si tries aquesta opció, els clients NFS han de fer servir un port UDP
menor de 1024. Això subministra seguretat addicional pels clients Unix,
però pot interferir amb algunes implementacions NFS de Windows.

<hr>


   07070100031077000081a40000000000000002000000013d1fe2b900000137000000200000000000000000000000000000002400000003reloc/exports/help/insecure.es.html   <header>¿Los Clientes deben de estar en puerto seguro?</header>

Si esta opción es seleccionada, los clientes NFS deben de utilizar un puerto
UDP inferior a 1024. Esto hace posible que haya seguridad adicional para
los clientes Unix pero puede interferir con algunas implementaciones de NFS
para Windows.
<hr>

 07070100031078000081a40000000000000002000000013d1fe2b900000119000000200000000000000000000000000000002400000003reloc/exports/help/insecure.fr.html   <header>Les clients Doivent être sur un Port Sécure?</header>

Si cette option est choisie, les clients NFS doivent être sur un port UDP plus petit que 1024.  Ceci procure une sécurité additionnelle aux clients Unix mais peut interférer avec quelques clients NFS Windows.
<hr>
   07070100031079000081a40000000000000002000000013d1fe2b9000000f0000000200000000000000000000000000000002100000003reloc/exports/help/insecure.html  <header>Clients must be on secure port?</header>

If this option is chosen, NFS clients must used a UDP port less than 1024.
This provides additional security for Unix clients, but may interfere with
some Windows NFS implementations.
<hr>

0707010003107a000081a40000000000000002000000013d1fe2ba00000125000000200000000000000000000000000000002400000003reloc/exports/help/insecure.pl.html   <header>Tylko klienci na bezpiecznych portach?</header>

Je¶li ta opcja jest w³±czona, klienci NFS musz± u¿ywaæ portów poni¿ej 1024.
Zapewnia to wiêksze bezpieczeñstwo w&nbsp;przypadku klientów uniksowych, ale
mo¿e nie wspó³dzia³aæ z&nbsp;niektórymi implementacjami NFS-u
w&nbsp;Windows.
<hr>
   0707010003107b000081a40000000000000002000000013d1fe2b900000101000000200000000000000000000000000000002400000003reloc/exports/help/insecure.sv.html   <header>Endast klienter från säkra portar?</header>

Om du väljer denna inställning måste NFS-klienterna använda en UDP-port
lägre än 1024. Detta ger ökad säkerhet för Unix-klienter men kan trassla
till det för en del Windows-implementationer av NFS.
<hr>

   0707010003107c000081a40000000000000002000000013d1fe2b9000000b6000000200000000000000000000000000000002c00000003reloc/exports/help/insecure.zh_TW.Big5.html   <header>«È¤áºÝ¬O§_¥²¶·¨Ï¥Î¦w¥þ³q°T°ð?</header>

¦pªG¿ï¾Ü¤F³o­Ó¿ï¶µ, NFS ¥²¶·¨Ï¥Î¤p©ó 1024 ªº UDP ³q°T°ð. ³o±N¹ï Unix «È¤áºÝ¼W¥[¤@¨Ç¦w¥þ©Ê, ¦ý¥i¯à¼vÅT¤@¨Çµøµ¡¤U NFS ¨t²Îªº¹B§@.
<hr>

  0707010003107d000081a40000000000000002000000013d1fe2ba000003d9000000200000000000000000000000000000002100000003reloc/exports/help/intro.ca.html  <header>Introducció a les Exportacions NFS</header>

<include nfs>

<h3>NFS de Linux</h3>
Aquest mòdul permet configurar directoris (anomenats <i>exportacions</i>
en Linux) per tal que siguin compartits des del teu sistema a través de
NFS. La primera pàgina mostra una llista de directoris i els clients 
als quals s'exporten, i permet que facis clic sobre un client per tal de
canviar-ne les opcions o començar l'exportació d'un nou directori.
<p>
Sota la llista d'exportacions de la primera pàgina hi ha un botó que
farà activa la configuració actual. Això es fa aturant i engegant els
processos servidors NFS en execució.
<p>
Si tens exportats al mateix temps un directori i algun dels seus 
subdirectoris, s'aplicaran als clients les opcions del directori
més específic. Per exemple, si tant <tt>/usr</tt> com <tt>/usr/local</tt>
estan exportats, un client que accedeixi a <tt>/usr/local/bin</tt>
es trobarà afectat per les opcions d'exportació de <tt>/usr/local</tt>.
<p>

<hr>


   0707010003107e000081a40000000000000002000000013d1fe2b9000003f0000000200000000000000000000000000000002100000003reloc/exports/help/intro.es.html  <header>Introducción a Comparticiones NFS</header>

<include nfs.es>

<h3>NFS para Linux</h3>
Este módulo te permite configurar directorios (llamados <i>exportaciones</i>
en Linux) compartidos en tu sistema a través de NFS. La primera página te
muestra una lista de directorios y de clientes a los que aquellos han sido
exportados, permitiéndote hacer click en el cliente para editar sus opciones
o empezar a exportar un nuevo directorio. <p>

Bajo la lista de comparticiones en la primera página hay un botón que hace
posible que la configuración en curso quede activa. Esto se realiza mediante
la parada y rearranque de los procesos actuales del servidor NFS. <p>

Si algún directorio y uno de sus subdirectorios es exportado, las opciones
para el directorio más específico se aplicarán a los clientes. Por ejemplo,
si <tt>/usr</tt> y <tt>/usr/local</tt> son exportados, un cliente que acceda
a <tt>/usr/local/bin</tt> se verá afectado por las opciones de la exportación
de <tt>/usr/local</tt>. <p>

<hr>

0707010003107f000081a40000000000000002000000013d1fe2b9000003b5000000200000000000000000000000000000002100000003reloc/exports/help/intro.fr.html  <header>Introduction Au Partage NFS</header>

<include nfs>

<h3>NFS sous Linux</h3>
Ce module vous permet de configurer les répertoires (appelé <i>partages</i>) dans Linux) d'être partagé via NFS depuis votre système.  Cette première page affiche la liste des répertoires et les clients à qui ils sont partagés, vous permettant de cliquer sur le client pour éditer les options ou pour commencer le partage d'un nouveau répertoire. <p>

Sous la liste de partages de la première page se trouve un bouton qui active la configuration.  Ce qui est fait en arrêtant et redémarrant le processus du serveur NFS.<p>

Si certain répertoire et un de ses sous-répertoire sont partagé, les options du répertoire le plus spécifique s'applique aux clients.  Par exemple, si <tt>/usr</tt> et <tt>/usr/local</tt> sont tous les deux partagé, un client accèdant à <tt>/usr/local/bin</tt> sera affecté par les options du partage de <tt>/usr</tt>.<p>

<hr>
   07070100031080000081a40000000000000002000000013d1fe2b90000036d000000200000000000000000000000000000001e00000003reloc/exports/help/intro.html <header>Introduction to NFS Shares</header>

<include nfs>

<h3>Linux NFS</h3>
This module allows you to configure directories (called <i>exports</i>
in Linux) shared via NFS from your system. The first page
shows a list of directories and the clients they are exported to, allowing
you to click on the client to edit its options or start exporting
a new directory. <p>

Below the list of shares on the first page is a button which will
make the current configuration active. This is done by stopping and
starting the running NFS server processes. <p>

If some directory and one of its sub-directories is exported, the options
for the most specific directory will apply to clients. For example, if
<tt>/usr</tt> and <tt>/usr/local</tt> are both exported, a client accessing
<tt>/usr/local/bin</tt> will be effected by the options for the
<tt>/usr/local</tt> export. <p>

<hr>

   07070100031081000081a40000000000000002000000013d1fe2ba000003bb000000200000000000000000000000000000002100000003reloc/exports/help/intro.pl.html  <header>Udostêpnianie po NFS</header>

<include nfs>

<h3>NFS w Linuksie</h3>

Ten modu³ pozwala ci skonfigurowaæ udostêpniane przez twój system po NFS-ie
katalogi (nazywane w&nbsp;Linuksie <i>exports</i>). Pierwsza strona ukazuje
listê katalogów oraz klientów, którym s± udostêpniane. Je¶li naci¶niesz na
klienta, mo¿esz zmieniæ parametry udostêpnianego zasobu. Mo¿esz te¿
udostêpniæ nowy katalog. <p>

Poni¿ej listy zasobów na pierwszej stronie znajduje siê przycisk, który
s³u¿y do zastosowania bie¿±cej konfiguracji. Dzieje siê to poprzez
zatrzymanie i&nbsp;uruchomienie procesu serwera NFS-u. <p>

Je¶li pewien katalog oraz jeden z&nbsp;jego podkatalogów jest udostêpniany,
dla klientów maj± zastosowanie opcje dla g³êbszego katalogu. Na przyk³ad,
je¿eli s± udostêpniane zarówno <tt>/usr</tt> jak i&nbsp;<tt>/usr/local</tt>,
dla klienta usi³uj±cego uzyskaæ dostêp do <tt>/usr/local/bin</tt> istotne s±
opcje dla zasobu <tt>/usr/local</tt>. <p>

<hr>
 07070100031082000081a40000000000000002000000013d1fe2b900000365000000200000000000000000000000000000002100000003reloc/exports/help/intro.sv.html  <header>Introduktion till NFS-resurser</header>

<include nfs>

<h3>Linux NFS</h3>
I denna modul kan du göra inställningar för kataloger (kallas
<i>exports</i> i Linux) som ska delas från ditt system via NFS.
Förstasidan visar en lista över kataloger samt de klienter som katalogerna
exporteras till. Om du klickar på en klient kan du ändra inställningarna
för den samt exportera nya kataloger.

<p>Under listan finns en knapp som aktiverar inställningarna. Detta genomförs
genom att alla NFS-serverprocesser stannas och startas om.

<p>Om en katalog och någon underkatalog till denna exporteras kommer
inställningarna att hämtas från den lägsta katalogen. Om exempelvis både
<tt>/usr</tt> och <tt>/usr/local</tt> exporteras, kommer en klient som
monterar <tt>/usr/local/bin</tt> att påverkas av de inställningar som gjorts
för <tt>/usr/local</tt>-exporteringen.
<hr>

   07070100031083000081a40000000000000002000000013d1fe2b90000025f000000200000000000000000000000000000002900000003reloc/exports/help/intro.zh_TW.Big5.html  <header>NFS ¶×¥XªºÂ²¤¶</header>

<include nfs>

<h3>Linux NFS</h3>
³o­Ó¼Ò²Õ¥i¥HÅý±z±q±zªº¨t²Î¸g¥Ñ NFS ¤À¨É¨t²Î¤Wªº¥Ø¿ý (¦b Linux ¤¤ºÙ¬°<i>¶×¥X</i>). ²Ä¤@­¶Åã¥Ü¥X¤À¨Éªº¥Ø¿ý»P¥i¥H¦s¨ú¤À¨Éªº«È¤áºÝ, ¤¹³\±z¸g¥ÑÂI¿ï«È¤áºÝ¥H½s¿è¨ä¤À¨É¿ï¶µ©Î¶}©l¤@­Ó·sªº¤À¨É. <p>

¦b²Ä¤@­¶ªº¤À¨É¦Cªí¤U­±ªº«ö¶s¥i¥H¨Ï¥Ø«eªºÅÜ§ó¥Í®Ä. ³o¬O¸g¥Ñ°±¤î¨Ã­«·s±Ò°Ê¥Ø«e°õ¦æ¤¤ªº NFS ¦øªA¾¹µ{§Ç©Ò¹F¦¨ªº. <p>

¦pªG¥Ø¿ý»P¥¦ªº¤l¥Ø¿ý³£³Q¤À¨É¥X¥h, ¹ï¥D­n¥Ø¿ýªº¿ï¶µ±N·|®M¥Î¦b©Ò¦³ªº«È¤áºÝ. Á|¨Ò¦Ó¨¥, ¦pªG <tt>/usr</tt> »P <tt>/usr/local</tt> ³£³Q¤À¨É¥X¥h, ¤@­Ó«È¤áºÝ¦s¨ú <tt>/usr/local/bin</tt> ®É, ±N·|¨ü¨ì <tt>/usr/local</tt> ªº¿ï¶µ©Ò¼vÅT. <p>

<hr>

 07070100031084000081a40000000000000002000000013d1fe2ba000001ae000000200000000000000000000000000000002900000003reloc/exports/help/link_relative.ca.html  <header>Fes que els enllaços simbòlics siguin relatius</header>

Converteix els enllaços simbòlics absoluts vistos pel client a enllaços
relatius. Per exemple, si el directori <tt>/usr</tt> està exportat,
un enllaç des de <tt>/usr/local/bin</tt> a <tt>/usr/X11R6/bin</tt>
es convertiria a <tt>../X11R6/bin</tt>. Això té encara més sentit si
el client està muntant el directori en un altre lloc que no sigui <tt>/usr</tt>.

<hr>


  07070100031085000081a40000000000000002000000013d1fe2b9000001b1000000200000000000000000000000000000002900000003reloc/exports/help/link_relative.es.html  <header>¿Hago relativos los enlaces simbólicos?</header>

Convierte los enlaces simbólicos absolutos vistos por el cliente en enlaces
relativos. Por ejemplo, si el directorio <tt>/usr</tt> fue exportado, un
enlace desde <tt>/usr/local/bin</tt> a <tt>/usr/X11R6/bin</tt> sería
convertido a <tt>../X11R6/bin</tt>. Esto tiene especial sentido si el
cliente está montando el directorio en algún otro sitio que no es <tt>/usr</tt>.
<hr>

   07070100031086000081a40000000000000002000000013d1fe2b90000008b000000200000000000000000000000000000002900000003reloc/exports/help/link_relative.fr.html  <header>Les Liens Symboliques Sont Relatifs?</header>

Tous liens symboliques absolu converti semble au client des liens relatif.
<hr>
 07070100031087000081a40000000000000002000000013d1fe2b90000018a000000200000000000000000000000000000002600000003reloc/exports/help/link_relative.html <header>Make symbolic links relative?</header>

Converts absolute symbolic links seem by the client to relative links.
For example, if the directory <tt>/usr</tt> was exported, a link from
<tt>/usr/local/bin</tt> to <tt>/usr/X11R6/bin</tt> would be converted to
<tt>../X11R6/bin</tt>. This makes a lot more sense if the client is
mounting the directory somewhere else than <tt>/usr</tt>.
<hr>

  07070100031088000081a40000000000000002000000013d1fe2ba000001b9000000200000000000000000000000000000002900000003reloc/exports/help/link_relative.pl.html  <header>Wzglêdne dowi±zania symboliczne?</header>

Okre¶la, czy przetwarzaæ bezwzglêdne dowi±zania symboliczne, tak by klient
je widzia³ jako dowi±zania wzglêdne. Na przyk³ad, je¶li katalog
<tt>/usr</tt> zosta³ udostêpniony, to dowi±zanie
z&nbsp;<tt>/usr/local/bin</tt> do <tt>/usr/X11R6/bin</tt> bêdzie zamienione
na <tt>../X11R6/bin</tt>. Ma to du¿o wiêcej sensu, je¿eli klient montuje
katalog gdzie indziej ni¿ w&nbsp;<tt>/usr</tt>.
<hr>
   07070100031089000081a40000000000000002000000013d1fe2b900000170000000200000000000000000000000000000002900000003reloc/exports/help/link_relative.sv.html  <header>Relativa symboliska länkar?</header>

Gör om absoluta symboliska länkar så att klienten ser dem som relativa.
Om exempelvis katalogen <tt>/usr</tt> exporteras kommer en länk från
<tt>/usr/local/bin</tt> till <tt>/usr/X11R6/bin</tt> att skrivas om till
<tt>../X11R6/bin</tt>. Detta är praktiskt om klienten inte skulle montera
katalogen på <tt>/usr</tt>.
<hr>

0707010003108a000081a40000000000000002000000013d1fe2b900000139000000200000000000000000000000000000003100000003reloc/exports/help/link_relative.zh_TW.Big5.html  <header>¬O§_±N²Å¸¹³sµ²ÅÜ§ó¦¨¬Û¹ï³sµ²?</header>

Âà´«µ´¹ï¸ô®|ªº²Å¸¹³sµ²¦¨¬Û¹ï¸ô®|ªº²Å¸¹³sµ². Á|¨Ò¦Ó¨¥, ¦pªG¶×¥X¥Ø¿ý <tt>/usr</tt>, ¤@­Ó±q <tt>/usr/local/bin</tt> «ü¦V¨ì <tt>/usr/X11R6/bin</tt> ªº³sµ²±N·|³QÂà´«¦¨«ü¦V¨ì <tt>../X11R6/bin</tt>. ³o¥i¥H¨Ï±o«È¤áºÝ¤£§â¦¹¤@¤À¨É±¾¦b©ó <tt>/usr</tt> ®É, ¸ô®|¤£·|¶Ã±¼.
<hr>

   0707010003108b000081a40000000000000002000000013d1fe2ba0000048f000000200000000000000000000000000000001f00000003reloc/exports/help/nfs.ca.html    <h3>Introducció a NFS</h3>

NFS és el protocol d'exportació de fitxers estàndard dels sistemes Unix.
NFS permet que un sistema exporti un directori a través de la xarxa
a un o més hosts, permetent així que els usuaris i programes d'altres
hosts puguin accedir als fitxers exportats com si fossin locals.
<p>
Un servidor NFS és un sistema que exporta un o més directoris, mentre
que un client NFS és un sistema que munta un o més directoris des d'un
servidor. Un host pot un servidor NFS i un client d'altres servidors
al mateix temps.
<p>
Un servidor controla quins clients poden muntar un directori exportat
acarant l'adreça IP del client contra una llista de hosts permesos
pel directori en qüestió. El servidor també pot designar una exportació
com a només lectura per a certs clients.
<p>
Contràriament a altres sistemes de fitxers en xarxa, un client NFS
no s'ha d'identificar en muntar un directori exportat. El servidor
confia que el client està identificant els seus propis usuaris i
està subministrant l'ID de l'usuari en accedir als fitxers exportats.
Així doncs, és convenient que permetis l'accés només des de hosts
clients en els quals pot confiar.
<p>

 0707010003108c000081a40000000000000002000000013d1fe2b90000050f000000200000000000000000000000000000001f00000003reloc/exports/help/nfs.es.html    <h3>Introducción a NFS</h3>

NFS es el protocolo estándar para compartir archivos utilizado por los sistemas
Unix. NFS permite a un sistema exportar un directorio a través de la red a
una o más máquinas, permitiendo a los usuarios y a los programas de esas
máquinas acceder a los archivos exportados como si fueran locales. <p>

Un servidor NFS es un sistema que exporta uno o más directorios, mientras que
un cliente NFS es un sistema que monta uno o más directorios del servidor.
Una máquina puede ser a la vez servidor NFS y cliente de otros servidores. <p>

Un servidor controla qué clientes pueden montar un directorio exportado
mediante el chequeo de la dirección IP del cliente contra una lista de
máquinas autorizadas a acceder al directorio requerido. El servidor puede
tambien designar una exportación como de sólo-lectura o de sólo-lectura para
ciertos clientes. <p>

Al contrario que otros sistemas de archivos de red, un cliente NFS no tiene
porqué hacer login en el servidor cuando monta un directorio exportado. El
servidor confía en el cliente para autentificar a los usuario y para que
suministre la ID del usuario en curso cuando acceda a los archivos exportados.
De esta manera, sólo deberías permitir montar directorios exportados a
máquinas cliente en las que confíes. <p>

 0707010003108d000081a40000000000000002000000013d1fe2b9000004ae000000200000000000000000000000000000001f00000003reloc/exports/help/nfs.fr.html    <header>Introduction à NFS</header>

NFS est un protocole de partage de fichier standard utilisé sur les systèmes Unix.  NFS permet à un système de partager un répertoire sur un réseau à un autre hôte, permettant aux usagers et applications de l'hôte d'avoir accès aux fichiers partagé.<p>

Un serveur NFS est un système qui partage un ou plusieurs répertoire, tandis qu'un client NFS est un système qui monte un ou plusieurs répertoire d'un serveur.  Un hôte peut autant être client que serveur NFS d'un autre hôte.<p>

Un serveur contrôle quels clients peut monter un répertoire partagé en vérifiant l'adresse IP du client avec la liste des hôtes autorisé pour le répertoire demandé.  Le serveur peu aussi partagé en lecture seule ou désigner certains clients en lecture seulement.<p>

Contrairement aux autres systèmes de fichiers, un client NFS ne nécessite pas d'ouverture de session au serveur pour monter un répertoire partagé.  Le serveur fait confiant au client et authentifie les usagers en leurs donnant un numéro lors de l'accès au fichier partagé.  Ainsi, vous pouvez allouer seulement certain hôte client que vous faites confiance pour monter un répertoire partagé.<p>
<hr>
  0707010003108e000081a40000000000000002000000013d1fe2b900000445000000200000000000000000000000000000001c00000003reloc/exports/help/nfs.html   <h3>Introduction to NFS</h3>

NFS is the standard file-sharing protocol used by Unix systems. NFS allows
one system to export a directory across the network to one or more other
hosts, allowing users and programs on those hosts to access exported files
as though they were local. <p>

An NFS server is a system which exports one or more directories, while an NFS
client is a system that mounts one or more directories from a server. A
host can be both an NFS server and a client of other servers. <p>

A server controls which clients can mount an exported directory by checking
the IP address of the client against a list of allowed hosts for the
requested directory. The server can also designate an export read-only,
or read-only for certain clients. <p>

Unlike other network filesystems, an NFS client does not have to login to
the server when mounting an exported directory. The server trusts the client
to authenticate users and provide the ID of the current user when accessing
exported files.  Thus you should only allow client hosts that you trust to
mount exported directories. <p>

   0707010003108f000081a40000000000000002000000013d1fe2ba0000050c000000200000000000000000000000000000001f00000003reloc/exports/help/nfs.pl.html    <h3>Wprowadzenie do NFS-u</h3>

NFS jest standardowym protoko³em wspó³dzielenia plików u¿ywanym przez
systemy uniksowe. Pozwala on systemowi udostêpniæ ("wyeksportowaæ") pewien
katalog poprzez sieæ dla jednego lub wiêcej komputerów, pozwalaj±c
u¿ytkownikom i&nbsp;programom na tych komputerach uzyskaæ dostêp do
udostêpnionych plików tak, jakby by³y one lokalne. <p>

Serwerem NFS-u jest system, który udostêpnia jeden lub wiêcej katalogów,
podczas gdy klientem jest system, który montuje jeden lub wiêcej katalogów
z&nbsp;serwera. Komputer mo¿e byæ jednocze¶nie serwerem oraz klientem innych
serwerów. <p>

Serwer okre¶la, którzy klienci mog± montowaæ udostêpniony katalog poprzez
porównanie adresu IP klienta z&nbsp;list± komputerów dopuszczonych do
¿±danego katalogu. Serwer mo¿e równie¿ okre¶liæ zasób jako tylko do odczytu
lub tylko do odczytu dla pewnych klientów. <p>

W odró¿nieniu od innych sieciowych systemów plików, klient NFS-u nie musi
siê logowaæ do serwera podczas montowania udostêpnionego katalogu. Serwer
wierzy, ¿e klient autoryzowa³ u¿ytkowników i&nbsp;okre¶li³ prawid³owy numer
ID aktualnego u¿ytkownika podczas dostêpu do udostêpnianych przez serwer
plików. Wobec tego powiniene¶ pozwoliæ na montowanie udostêpnianych zasobów
jedynie zaufanym komputerom klienckim. <p>
07070100031090000081a40000000000000002000000013d1fe2b900000476000000200000000000000000000000000000001f00000003reloc/exports/help/nfs.sv.html    <h3>Introduktion till NFS</h3>

NFS är standardprotokollet för fildelning i Unix-system. Med NFS kan
ett system exportera en katalog över nätverket till en eller flera datorer,
så att användare och program på dessa datorer kan komma åt filer som om
de fanns på de lokala datorerna.

<p>En NFS-server är ett system som exporterar en eller flera kataloger
och en NFS-klient är ett system som monterar en eller flera kataloger
från en server. Samma dator kan vara både NFS-server och klient.

<p>Servern bestämmer om en klient får montera en exporterad katalog
genom att kontrollera IP-adressen för klienten mot en lista över
datorer som tillåts montera katalogen i fråga. Servern kan också göra
så att en katalog exporteras med enbart läsrättigheter, för alla klienter
eller vissa, namngivna.

<p>NFS-klienter behöver, till skillnad från andra filsystem över nätverk,
inte logga in på servern då en exporterad katalog ska monteras. Servern
litar på att klienten har kontrollerat användarens identitet och att denna
identitet bifogas förfrågningar. Därför kan det vara dumt att tillåta
montering från klienter som du inte fullständigt litar på.
  07070100031091000081a40000000000000002000000013d1fe2b90000029c000000200000000000000000000000000000002700000003reloc/exports/help/nfs.zh_TW.Big5.html    <h3>NFS Â²¤¶</h3>

NFS ¬O Unix ¨t²Î©Ò¨Ï¥Îªº¼Ð·ÇÀÉ®×¤À¨É³q°T¨ó©w. NFS ¤¹³\¤@­Ó¨t²Î±N¨ä¥Ø¿ý³z¹Lºô¸ô¤À¨Éµ¹¨ä¥Lªº¥D¾÷, ¤¹³\¦b¨ä¥L¥D¾÷¤Wªº¨Ï¥ÎªÌ©Îµ{¦¡¥i¥H¦s¨ú³Q¶×¥XªºÀÉ®×, ¨Ã»{¬°¸ÓÀÉ®×¬O¦b¥»¦aºÝ¨t²Î¤W. <p>

¤@­Ó NFS ¦øªA¾¹¬O¤@­Ó±N¤@­Ó©Î¦h­Ó¥Ø¿ý¶×¥Xªº¨t²Î, NFS «È¤áºÝ«h¬O±q¦øªA¾¹±¾¸ü¤@­Ó©Î¦h­Ó¥Ø¿ýªº¨t²Î. ¤@­Ó¥D¾÷¥i¥H¦P®É¬O NFS ¦øªA¾¹»P¨ä¥L¦øªA¾¹ªº«È¤áºÝ. <p>

¦øªA¾¹¸g¥ÑÀË¬d«È¤áºÝªº IP ¦ì¸m¬O§_¦b¦Cªí¤¤, ¥H¨M©w¸Ó«È¤áºÝ¬O§_¥i¥H±¾¸ü¶×¥Xªº¥Ø¿ý. ¦øªA¾¹¥i¥H¿ï¾Ü¥H°ßÅªªº¤è¦¡©Î¥iÅª¼gªº¤è¦¡¶×¥Xµ¹¯S©wªº«È¤áºÝ. <p>

¤£¹³¨ä¥Lªººô¸ôÀÉ®×¨t²Î, NFS «È¤áºÝ¦A±¾¸ü¥Ø¿ý®É, ¤£»Ý­nµn¤J¨ì¦øªA¾¹¤¤. ¦øªA¾¹±N«H¥ô¥i¥H¦s¨ú«È¤áºÝ¨t²Îªº¨Ï¥ÎªÌ¦s¨ú¶×¥Xªº¥Ø¿ý.©Ò¥H±zÀ³¸Ó¥u±N¥Ø¿ý¶×¥Xµ¹¥i«H¥ôªº¨t²Î. <p>

07070100031092000081a40000000000000002000000013d1fe2ba00000111000000200000000000000000000000000000002400000003reloc/exports/help/noaccess.ca.html   <header>Denega l'accés al directori</header>

Si tries aquesta opció, els clients especificats no tindran permès l'accés
a res en aquest directori. Aquesta opció només és útil si estàs exportant
un directori pare, però vols denegar-ne l'accés a algun subdirectori.

<hr>


   070701000310a5000081a40000000000000002000000013d1fe2b900000118000000200000000000000000000000000000002400000003reloc/exports/help/noaccess.es.html   <header>¿Denegar acceso al directorio?</header>

Si se elige esta opción, los clientes especificados no tendrán acceso a
nada de este directorio. Esta opción es sólo realmente útil si estás
exportando un directorio padre pero deseas denegar el acceso a algún
subdirectorio.
<hr>

070701000310a6000081a40000000000000002000000013d1fe2b90000011e000000200000000000000000000000000000002400000003reloc/exports/help/noaccess.fr.html   <header>Refuser l'Accès Au Répertoire?</header>

Si cette option est choisie, le client spécifié n'aura pas accès à aucun contenu de ce répertoire.  Cette option est seulement utile si vous partagé un répertoire parent, mais que voulez refuser accès à certain sous-répertoire.
<hr>
  070701000310a7000081a40000000000000002000000013d1fe2b900000115000000200000000000000000000000000000002100000003reloc/exports/help/noaccess.html  <header>Deny access to directory?</header>

If this option is chosen, the specified clients will not be allowed access
to anything in this directory. This option is only really useful if you
are exporting a parent directory, but what to deny access to some subdirectory.
<hr>

   070701000310a8000081a40000000000000002000000013d1fe2ba00000133000000200000000000000000000000000000002400000003reloc/exports/help/noaccess.pl.html   <header>Zablokowaæ dostêp do katalogu?</header>

Je¶li ta opcja zostanie w³±czona, okre¶leni klienci nie bêd± mieli prawa
dostêpu do czegokolwiek w&nbsp;tym katalogu. Tak naprawdê ta opcja jest
u¿yteczna jedynie, gdy udostêpniasz katalog nadrzêdny, ale chcesz zablokowaæ
dostêp do pewnego podkatalogu.
<hr>
 070701000310a9000081a40000000000000002000000013d1fe2b9000000ff000000200000000000000000000000000000002400000003reloc/exports/help/noaccess.sv.html   <header>Neka tillgång till katalog?</header>

Med denna inställning kommer angivna klienter inte att få tillgång till
något i denna katalog. Inställningen är mest användbar om du exporterar
en katalog och vill neka tillgång till någon underkatalog.
<hr>

 070701000310b0000081a40000000000000002000000013d1fe2b9000000b8000000200000000000000000000000000000002c00000003reloc/exports/help/noaccess.zh_TW.Big5.html   <header> ¬O§_©Úµ´¥Ø¿ýªº¦s¨ú? </header>

¦pªG³]©w¤F³o­Ó¿ï¶µ, «ü©wªº«È¤áºÝ±N¤£³Q¤¹³\¦s¨ú³o­Ó¥Ø¿ý¤¤ªº¥ô¦óªF¦è. ¦A±z¶×¥X¤@­Ó¥D­n¥Ø¿ý¦ý¤£§Æ±æ¨ä¤¤ªº³¡¤À¥Ø¿ý³Q¦s¨ú®É, ³o­Ó¥\¯à±N·|¦³¥Î.
<hr>

070701000310b1000081a40000000000000002000000013d1fe2ba000000b8000000200000000000000000000000000000001e00000003reloc/exports/help/ro.ca.html <header>Mode d'accés</header>

Si poses aquesta opció a <i>Només lectura</i>, els clients no podran
crear, modificar ni esborrar cap fitxer, independentment dels permisos Unix.

<hr>

070701000310b2000081a40000000000000002000000013d1fe2b9000000cb000000200000000000000000000000000000001e00000003reloc/exports/help/ro.es.html <header>Modo de Accesso</header>

Si esta opción es puesta a <i>Sólo lectura</i>, los cliente no podrán crear,
modificar o borrar ningún archivo a pesar de que según los permisos de Unix
se pueda.
<hr>

 070701000310b3000081a40000000000000002000000013d1fe2b9000000d7000000200000000000000000000000000000001e00000003reloc/exports/help/ro.fr.html <header>Lecture Seule</header>

Si cette option est mise à <i>Lecture seulement</i>, les clients ne seront plus capables de créer, modifier ou supprimer un fichier, quelles que soient les permissions Unix.
<hr>
 070701000310b4000081a40000000000000002000000013d1fe2b9000000af000000200000000000000000000000000000001b00000003reloc/exports/help/ro.html    <header>Access mode</header>

If this option is set to <i>Read only</i>, clients will not be able to create,
modify or delete any files, regardless of Unix permissions.
<hr>

 070701000310b5000081a40000000000000002000000013d1fe2ba000000c9000000200000000000000000000000000000001e00000003reloc/exports/help/ro.pl.html <header>Tryb dostêpu</header>

Je¶li ta opcja jest ustawiona na <i>Tylko do odczytu</i>, to klienci nie
bêd± mogli tworzyæ, modyfikowaæ, ani usuwaæ plików, niezale¿nie od
uniksowych praw dostêpu.
<hr>
   070701000310b6000081a40000000000000002000000013d1fe2ba000000b3000000200000000000000000000000000000001e00000003reloc/exports/help/ro.sv.html <header>Rättigheter</header>

Om du väljer <i>Endast läsbart</i> här kommer klienter inte att kunna
skapa, ändra eller ta bort filer, oavsett vilka Unix-rättigheter de har.
<hr>

 070701000310b7000081a40000000000000002000000013d1fe2b900000082000000200000000000000000000000000000002600000003reloc/exports/help/ro.zh_TW.Big5.html <header>¦s¨ú¼Ò¦¡</header>

¦pªG³o­Ó¿ï¶µ³]©w¦¨<i>°ßÅª</i>®É, ¤£½× Unix ¹ê»ÚªºÅv­­¬°¦ó, «È¤áºÝ±N¤£¯à«Ø¥ß, ­×§ï©Î§R°£¥ô¦óÀÉ®×.
<hr>

  070701000310b8000081a40000000000000002000000013d1fe2ba000002c3000000200000000000000000000000000000002200000003reloc/exports/help/squash.ca.html <header>Confia en els usuaris remots</header>

Determina en quins usuaris Unix del client confia el servidor.
Hi ha tres opcions disponibles:
<dl>
   <dt><b>Tots</b>
   <dd>Tots els usuaris clients tindran el mateix tracte per part del servidor.
   <dt><b>Tots menys root</b>
   <dd>L'usuari <tt>root</tt> del client es tracta com a <a href=anonuid>
   usuari no fiable</a> per part del servidor, però confia en tots els 
   altres usuaris.
   <dt><b>Cap</b>
   <dd>Tots els usuaris del client es tracten com a <a href=anonuid>
   usuaris no fiables</a>. Aquesta opció és la millor quan exportes a un
   sistema que no pots controlar (com ara un PC mono-usuari), o bé en exportar
   a tothom.
</dl>

<hr>


 070701000310b9000081a40000000000000002000000013d1fe2b9000002d7000000200000000000000000000000000000002200000003reloc/exports/help/squash.es.html <header>Confiar en los usuario remotos</header>

Determina qué usuarios de Unix en el cliente son fiables para el servidor.
Hay tres opciones disponibles:
<dl>
<dt><b>Cualquiera</b>
<dd>Todos los usuarios del cliente serán tratados igual por el servidor
<dt><b>Cualquiera menos root</b>
<dd>El usuario <tt>root</tt> del cliente es tratado como el
    <a href=anonuid>usuario no fiable</a> por el servidor, pero los demás
    son considerados como fiables.
<dt><b>Nadie</b>
<dd>Todos los usuarios del cliente son tratados como el <a href=anonuid>
    usuario no fiable</a>. Esta opción es buenísima cuando se exporta a
    un sistema que no controlas (como un PC mono-usuario) o cuando exportas
    a todo el mundo.
</dl>
<hr>

 070701000310ba000081a40000000000000002000000013d1fe2ba000002f0000000200000000000000000000000000000002200000003reloc/exports/help/squash.fr.html <header>Faire Confiance Aux Usagers Distants</header>

Détermine quels usagers Unix comme client peut être fait confiance par le serveur.  Trois options sont disponibles :
<dl>
<dt><b>Tous</b>
<dd>Tous les usagers d'un client sont traités comme le même par le serveur
<dt><b>Tout le monde sauf 'root'</b>
<dd>L'usager <tt>root</tt> sur le client est traité comme un <a href=anonuid>usager insécure</a> par le serveur, mais la confiance est faite à tous les autres usagers.
<dt><b>Nobody</b>
<dd>Tous les usagers du client sont traités comme un <a href=anonuid>usager insécure</a>.  Cette option est la meilleur quand elle est utilisée pour partager un système que vous ne pouvez contrôler ou quand c'est partagé à tout le monde.
</dl>
<hr>
070701000310bb000081a40000000000000002000000013d1fe2b900000293000000200000000000000000000000000000001f00000003reloc/exports/help/squash.html    <header>Trust remote users</header>

Determines which Unix users on the client are trusted by the server.
Three options are available :
<dl>
<dt><b>Everyone</b>
<dd>All client users will be treated the same by the server
<dt><b>Everyone except root</b>
<dd>The <tt>root</tt> user on the client is treated as the
    <a href=anonuid>untrusted user</a> by the server, but all other users
    are trusted.
<dt><b>Nobody</b>
<dd>All users on the client are treated as the <a href=anonuid>untrusted
    user</a>. This option is best used when exporting to a system that you
    do not control (such as a single-user PC), or when exporting to everyone.
</dl>
<hr>

 070701000310bc000081a40000000000000002000000013d1fe2ba0000031b000000200000000000000000000000000000002200000003reloc/exports/help/squash.pl.html <header>Zaufani u¿ytkownicy zdalni</header>

Okre¶la, którzy u¿ytkownicy stacji klienckich s± wiarygodni dla serwera.
Dostêpne s± trzy mo¿liwo¶ci&nbsp;:
<dl>
<dt><b>Wszyscy</b>
<dd>Wszyscy u¿ytkownicy stacji klienckiej bêd± traktowani tak samo przez
    serwer.
<dt><b>Wszyscy oprócz roota</b>
<dd>U¿ytkownik <tt>root</tt> stacji klienckiej bêdzie traktowany przez
    serwer jako <a href=anonuid>u¿ytkownik niewiarygodny</a>, za¶ wszyscy
    pozostali jako wiarygodni.
<dt><b>Nikt</b>
<dd>Wszyscy u¿ytkownicy stacji klienckiej bêd± traktowani jak
    <a href=anonuid>u¿ytkownik niewiarygodny</a>. Ta opcja ma zastosowanie
    g³ównie, gdy udostêpniasz zasoby systemowi, nad którym nie masz kontroli
    (na przyk³ad jednou¿ytkownikowemu PC), lub gdy udostêpniasz dla
    wszystkich.
</dl>
<hr>
 070701000310bd000081a40000000000000002000000013d1fe2b9000002be000000200000000000000000000000000000002200000003reloc/exports/help/squash.sv.html <header>Lita på användare</header>

Här anger du de Unix-användare på klienten som servern ska lita på.
Det finns tre alternativ:
<dl>
<dt><b>Alla</b>
<dd>Alla användare på klienten kommer att behandlas likadant av servern
<dt><b>Alla utom root</b>
<dd><tt>root</tt>-användare på klienten behandlas som en
    <a href=anonuid>opålitlig användare</a> av servern, medan den litar
    på övriga användare.
<dt><b>Ingen</b>
<dd>Alla användare på klienten behandlas som en <a href=anonuid>opålitlig
    användare</a> av servern. Detta alternativ är att föredra om du exporterar
    till ett system som du inte har kontroll över (exempelvis en PC) eller
    om du exporterar katalogen till alla.
</dl>
<hr>

  070701000310bf000081a40000000000000002000000013d1fe2ba0000014e000000200000000000000000000000000000002700000003reloc/exports/help/squash_gids.ca.html    <header>No confiïs en els GIDs</header>

Igual que <a href=squash_uids>No confiïs en els UIDs</a>, aquesta opció
permet especificar una llista de GIDs del client per tractar-los com a
<a href=anongid>grups no fiables</a>. Has d'introduir una llista separada
per comes de GIDs, o rangs de GIDs com <tt>1,10,20-25,100-150</tt>.

<hr>


  070701000310be000081a40000000000000002000000013d1fe2b9000001ff000000200000000000000000000000000000002a00000003reloc/exports/help/squash.zh_TW.Big5.html <header>«H¥ô»·ºÝ¨Ï¥ÎªÌ</header>

¨M©w¦b«È¤áºÝ¤Wªº­þ¨Ç¨Ï¥ÎªÌ¥i¥H³Q¦øªA¾¹©Ò«H¥ô. ¥i¥Îªº¤TºØ¿ï¶µ¬°:
<dl>
<dt><b>¥ô¦ó¤H</b>
<dd>©Ò¦³«È¤áºÝªº¨Ï¥ÎªÌ³£·|»P¦øªA¾¹¤W¹ïÀ³ªº¨Ï¥ÎªÌ¦³¬Û¦PªºÅv­­
<dt><b>°£¤F root ¥H¥~ªº¥ô¦ó¤H</b>
<dd>«È¤áºÝ¤Wªº <tt>root</tt> ¨Ï¥ÎªÌ±N·|³Q¦øªA¾¹·í§@<a href=anonuid>¤£«H¥ôªº¨Ï¥ÎªÌ</a>, ¦ý¨ä¥L¨Ï¥ÎªÌ³£¦³¹ïÀ³ªºÅv­­.
<dt><b>¨S¦³¤H</b>
<dd>«È¤áºÝ¤W­±©Ò¦³ªº¨Ï¥ÎªÌ³£·|³Q·í§@<a href=anonuid>¤£«H¥ôªº¨Ï¥ÎªÌ</a>. ³o­Ó¿ï¶µ¬O±z¶×¥Xµ¹¤£ÄÝ©ó±zºÞ²zªº¨t²Î (¨Ò¦p­Ó¤H PC) ©Î¶×¥Xµ¹¥ô¦ó¤H®É³Ì¦nªº¿ï¶µ.
</dl>
<hr>

 070701000310c6000081a40000000000000002000000013d1fe2b900000149000000200000000000000000000000000000002700000003reloc/exports/help/squash_gids.es.html    <header>GIDs no fiables</header>

Al igual que las <a href=squash_uids>UIDs no fiables</a>, esta opción
te permite especificar una lista de GIDs de cliente a ser tratados como el
<a href=anongid_es>grupo no fiable</a>. Debes de digitar una lista separada por
comas de GIDs o rangos de GID como <tt>1,10,20-25,100-150</tt>.
<hr>

   070701000310c7000081a40000000000000002000000013d1fe2b90000019a000000200000000000000000000000000000002700000003reloc/exports/help/squash_gids.fr.html    <header>Ne Pas Faire Confiance Aux Numéros De Groupe</header>

Comme <a href=squash_uids>Ne pas faire confiance aux numéros de groupe</a>, cette option vous permet de spécifier une liste de groupe de client qui seront traité comme <a href=anonuid>usager insécure</a>. Vous devez entrer une liste séparée par des virgules des numéros de groupe ou des zones de numéro comme <tt>1,10,20-25,100-150</tt>.
<hr>
  070701000310c8000081a40000000000000002000000013d1fe2b900000128000000200000000000000000000000000000002400000003reloc/exports/help/squash_gids.html   <header>Don't trust GIDs</header>

Like <a href=squash_uids>Don't trust UIDs</a>, this option
allows you to specify a list of client GIDs to be treated as the
<a href=anongid>untrusted group</a>. You must enter a comma-separated list
of GIDs or GID ranges like <tt>1,10,20-25,100-150</tt>.
<hr>

070701000310c9000081a40000000000000002000000013d1fe2ba00000141000000200000000000000000000000000000002700000003reloc/exports/help/squash_gids.pl.html    <header>Nie ufaj GID-om</header>

Podobnie jak <a href=squash_uids>Nie ufaj UID-om</a>, ta opcja pozwala ci
okre¶liæ listê numerów GID, które maj± byæ traktowane jak
<a href=anongid>grupa niewiarygodna</a>. Musisz podaæ rozdzielon±
przecinkami listê GID-ów lub ich zakresów, na przyk³ad
<tt>1,10,20-25,100-150</tt>.
<hr>
   070701000310ca000081a40000000000000002000000013d1fe2b90000012b000000200000000000000000000000000000002700000003reloc/exports/help/squash_gids.sv.html    <header>Lita inte på GID</header>

Precis som <a href=squash_uids>Lita inte på UID</a> kan du här ange en
lista över klient-GID som ska behandlas som en <a href=anongid>opålitlig
grupp</a>. Dessa ska ange som en kommaseparerad lista av
GID och GID-intervall, t ex <tt>1,10,20-25,100-150</tt>.
<hr>

 070701000310cb000081a40000000000000002000000013d1fe2b9000000ef000000200000000000000000000000000000002f00000003reloc/exports/help/squash_gids.zh_TW.Big5.html    <header>¤£«H¥ôªº GID</header>

´N¹³¬O <a href=squash_uids>¤£«H¥ôªº UID</a>, ³o­Ó¿ï¶µ¥i¥HÅý±z«ü©w«È¤áºÝ¤W­±ªº­þ¨Ç¸s²Õ½s¸¹­n³Q·í§@<a href=anongid>¤£«H¥ôªº¸s²Õ</a>. ±z¥i¥H¿é¤J¤@­Ó¥Î³r¸¹ ',' ¹j¶}ªº¦Cªí, ¨Ò¦p <tt>1,10,20-25,100-150</tt>.
<hr>

 070701000310cc000081a40000000000000002000000013d1fe2ba00000158000000200000000000000000000000000000002700000003reloc/exports/help/squash_uids.ca.html    <header>No confiïs en els UIDs</header>

A més de la secció <a href=squash>Confia en els usuaris remots</a>, 
aquesta opció permet especificar una llista d'UIDs del client per 
tractar-los com a <a href=anonuid>usuaris no fiables</a>. Has d'introduir
una llista separada per comes d'UIDs o rangs d'UIDs com
<tt>1,10,20-25,100-150</tt>.

<hr>


070701000310cd000081a40000000000000002000000013d1fe2b900000153000000200000000000000000000000000000002700000003reloc/exports/help/squash_uids.es.html    <header>UIDs no fiables</header>

Además de la sección <a href=squash>Confiar en usuarios remotos</a>, esta
opción te permite especificar una lista de UIDs de cliente a ser tratados
como el <a href=anonuid>usuario no fiable</a>. Debes de digitar una lista
separada por comas de UIDs o rangos de UID como <tt>1,10,20-25,100-150</tt>.
<hr>

 070701000310ce000081a40000000000000002000000013d1fe2b900000197000000200000000000000000000000000000002700000003reloc/exports/help/squash_uids.fr.html    <header>Ne Pas Faire Confiance Aux Numéros d'Usager</header>

Comme <a href=squash_uids>Ne pas faire confiance aux numéros d'usager</a>, cette option vous permet de spécifier une liste d'usager de client qui seront traité comme <a href=anongid>groupe insécure</a>. Vous devez entrer une liste séparée par des virgules des numéros de groupe ou des zones de numéro comme <tt>1,10,20-25,100-150</tt>.
<hr>
 070701000310cf000081a40000000000000002000000013d1fe2b90000013a000000200000000000000000000000000000002400000003reloc/exports/help/squash_uids.html   <header>Don't trust UIDs</header>

In addition to the <a href=squash>Trust remote users</a> section, this option
allows you to specify a list of client UIDs to be treated as the
<a href=anonuid>untrusted user</a>. You must enter a comma-separated list
of UIDs or UID ranges like <tt>1,10,20-25,100-150</tt>.
<hr>

  070701000310d0000081a40000000000000002000000013d1fe2ba00000156000000200000000000000000000000000000002700000003reloc/exports/help/squash_uids.pl.html    <header>Nie ufaj UID-om</header>

Jako dalsza czê¶æ opcji <a href=squash>Zaufani u¿ytkownicy zdalni</a> ta
opcja pozwala ci okre¶liæ listê numerów UID, które maj± byæ traktowane jak
<a href=anonuid>u¿ytkownik niewiarygodni</a>. Musisz podaæ rozdzielon±
przecinkami listê UID-ów lub ich zakresów, na przyk³ad
<tt>1,10,20-25,100-150</tt>.
<hr>
  070701000310d1000081a40000000000000002000000013d1fe2b900000127000000200000000000000000000000000000002700000003reloc/exports/help/squash_uids.sv.html    <header>Lita inte på UID</header>

Utöver <a href=squash>Lita på användare</a> kan du här ange en
lista över klient-UID som ska behandlas som en <a href=anonuid>opålitlig
användare</a>. Dessa ska ange som en kommaseparerad lista av
UID och UID-intervall, t ex <tt>1,10,20-25,100-150</tt>.
<hr>

 070701000310d2000081a40000000000000002000000013d1fe2b9000000ef000000200000000000000000000000000000002f00000003reloc/exports/help/squash_uids.zh_TW.Big5.html    <header>¤£«H¥ôªº UID</header>

¹ïÀ³©ó<a href=squash>«H¥ô»·ºÝ¨Ï¥ÎªÌ</a>°Ï°ì, ³o­Ó¿ï¶µÅý±z«ü©w«È¤áºÝ¤W­±ªº­þ¨Ç¨Ï¥ÎªÌ½s¸¹­n³Q·í§@<a href=anonuid>¤£«H¥ôªº¨Ï¥ÎªÌ</a>. ±z¥i¥H¿é¤J¤@­Ó¥Î³r¸¹ ',' ¹j¶}ªº¦Cªí, ¨Ò¦p <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010003275b000041ed0000000000000001000000023d1ffa1f00000000000000200000000000000000000000000000001500000003reloc/exports/images  0707010003275c000081a40000000000000002000000013d1fe2ba0000061d000000200000000000000000000000000000002000000003reloc/exports/images/export.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½ŠêÊw1ãDgðàb½[Îœ!›m·oK"¬W/š*fÓ˜¥Äé‹OG™õ<ØqbÚ“¡qÕ|—À	q@	¶Ð<ºœm-[­^7<,8”]>{5Eó"˜8ì¾Ñäh6Ÿ³Œr/f›Ã‰ˆê-ú¶máu4i®GbWqìF ‘A@
7¶ñ¢¶mÜbÄõ³#ÇÌE):
“6¡„,Î\5‹Dx£[¾853LÎÛ´iœ¬øÙ°ž 	mr|K‘!Ã¬Y®|ÝŠæR¤ž™jÖmÛ6fÁ¦þ @ƒ8ÃB­$ X°à€Yª\!Ñ4g„ê™Ò¥kZ3f¾ì¢
{'¬ 9SH `I&¨¨2Ë.» ƒÆ3ÍpI=¾0óË.µÌòF` )9$	ŠP@ª¨‚
+³°‚'­ì¡H†tà.ð	 ÒªdDRt‡ lâd„ÏíÂ‹/?ÞÂ
+®l²ˆeÄðÁ‡|D„EðÄ"›dòd®<×&+1‚² Í˜Â‡‚HôŽ_ @“8IÊ&¬€B£+¨ ²	*ž˜`
 u˜!FH„!Aœ4Bˆ%iB’	vžÌÀÈÌF
6|M?H1ò0I%‹xê	!7@+ßðQ†e#9c2F8°b"  …/„ AD
HD%PRÀÒÆ	"1+À	¿ ±Åe^4×ª•Aìàí¾€Ñ»)l3y‘BÄ!<Pe ‘{àTGÜ@È&‘‘ÁäX«fHaÕJÌP HP‹Æ	™[Ï1´òÉ1£òÊ,·ìòË0³¬P&4×lóÍ8ç¬sTÌÐlÊ
õœÉÏ@#$4ÑE$tÍÅì´Ê8?í´ÎTWmõÕXëlFÖU›áõ×`‡-¶×=öÙb'­öÚl·íö@ ;   0707010003275d000081a40000000000000002000000013d1fe2ba000000f5000000200000000000000000000000000000001e00000003reloc/exports/images/icon.gif GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  Æ„©Ëí£œ´Ú[ƒÞ<`¹	âH
Û×å:ªª¨lÛu°!¯á,žŸ¦ãÍ<Ð$dù,9Ó1ÙruMè2Üñl—*’VÓ¾ºA(éJñz…ÆiiÍ3Ëfšû\ß£ù6ù×#‡(õ‡ˆ6¡¦x8WØ7HÈ§HTt·5‰©©ôxàIš 5ÄYŠ¶¨êª`[âÀZk[ëê4ð:¡Ë+áûûàÔ
,K|jx»ÌÜì\3ðÌ:@]m}M“Í-ü.>þ]  ;   0707010002fbfb000081e40000000000000002000000013d1fe2ba000008d0000000200000000000000000000000000000001800000003reloc/exports/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a list of directories and their client(s)

$| = 1;
require './exports-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("nfs exports", "man", "howto"));
print "<hr>\n";

if (!&has_command("rpc.nfsd") && !&has_command("nfsd") &&
    !&has_command("rpc.knfsd")) {
	print "<p>",$text{'index_eprog'},"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@exps = &list_exports();
if (@exps) {
	@dirs = &unique(map { $_->{'dir'} } @exps);
	if ($access{'icons'}) {
		# Display icons for exports
		foreach $d (@dirs) {
			@cl = grep { $_->{'dir'} eq $d } @exps;
			foreach $c (@cl) {
				push(@icons, "images/export.gif");
				local $desc = &describe_host($c->{'host'});
				if ($c->{'active'}) {
					push(@titles, $d.'<br>'.$desc);
					}
				else {
					push(@titles, '<font color=#ff0000>'.
					     $d.'<br>'.$desc.'</font>');
					}
				push(@links,
				     "edit_export.cgi?idx=$c->{'index'}");
				}
			}
		&icons_table(\@links, \@titles, \@icons);
		}
	else {
		# Display table of exports and clients
		print "<a href=\"edit_export.cgi?new=1\">$text{'index_add'}</a> <br>\n";
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'index_dir'}</b></td> ",
		      "<td><b>$text{'index_to'}</b></td> </tr>\n";
		foreach $d (@dirs) {
			print "<tr $cb> <td valign=top>",&html_escape($d),
			      "</td>\n";
			print "<td>\n";
			@cl = grep { $_->{'dir'} eq $d } @exps;
			$ccount = 0;
			foreach $c (@cl) {
				print "&nbsp;|&nbsp; " if ($ccount++);
				print "<a href=\"edit_export.cgi?idx=$c->{'index'}\">",&describe_host($c->{'host'}),"</a>\n";
				print "<font color=#ff0000>($text{'index_inactive'})","</font>\n" if (!$c->{'active'});
				}
			print "</td> </tr>\n";
			}
		print "</table>\n";
		}
	}
else {
	print "<b>$text{'index_none'}</b> <p>\n";
	}
print "<a href=\"edit_export.cgi?new=1\">$text{'index_add'}</a> <p>\n";

print "<hr>\n";
print "<table width=100%> <tr>\n";
print "<td><form action=restart_mountd.cgi>\n";
print "<input type=submit value=\"$text{'index_apply'}\">\n";
print "</form></td>\n";
print "<td valign=top>$text{'index_applymsg'}</td>\n";
print "</tr> <tr> </table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

07070100035541000041ed0000000000000001000000023d1ffa2100000000000000200000000000000000000000000000001300000003reloc/exports/lang    07070100035543000081a40000000000000002000000013d1fe2b900000942000000200000000000000000000000000000001600000003reloc/exports/lang/ca index_title=Exportacions NFS
index_dir=Directori
index_inactive=Inactiu
index_to=Exportat a..
index_none=Actualment no estàs exportant cap directori.
index_add=Afegeix una nova exportació
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplicar la configuració actual d'exportacions. Això farà que tots els directoris llistats més amunt estiguin disponibles amb les opcions especificades.
index_return=a la llista d'exportació
index_eprog=No s'ha trobat el sistema l'executable servidor NFS. No sembla que el paquet NFS estigui instal·lat.

edit_title=Edició d'Exportació
create_title=Creació d'Exportació
edit_details=Exporta els detalls
edit_dir=Directori a exportar
edit_active=Actiu
edit_to=Exporta a...
edit_all=Tothom
edit_host=Host(s)
edit_webnfs=Clients WebNFS
edit_netgroup=Grup de xarxa
edit_network=Xarxa
edit_netmask=Màscara
edit_relative=Fes que els enllaços simbòlics siguin relatius
edit_insecure=Els clients han d'estar en un port segur
edit_security=Seguretat de l'exportació
edit_mode=Mode d'accés
edit_ro=Només lectura
edit_rw=Lectura/Escriptura
edit_noaccess=Denega l'accés al directori
edit_squash=Confia en els usuaris remots
edit_everyone=Tots
edit_except=Tots menys root
edit_nobody=Ningú
edit_uids=No confiïs en els UIDs
edit_none=Cap
edit_gids=No confiïs en els GIDs
edit_anonuid=Tracta els usuaris no fiables com
edit_default=Defecte
edit_anongid=Tracta els grups no fiables com

save_err=No he pogut desar l'exportació
save_edir=El directori '$1' no existeix
save_enetgroup=Hi falta el grup de xarxa o és invàlid
save_enetwork='$1' no és una xarxa vàlida
save_enetmask='$1' no és una màscara vàlida
save_ehost='$1' no és un nom de host vàlid
save_euids=Els UIDs no fiables han de ser una llista de números o rangs separada per comes
save_egids=Els GIDs no fiables han de ser una llista de números o rangs separada per comes

exports_webnfs=Clients&nbsp;WebNFS
exports_ngroup=Grup de xarxa&nbsp;$1
exports_net=Xarxa&nbsp;$1
exports_all=Tothom
exports_hosts=Hosts&nbsp;$1
exports_host=Host&nbsp;$1

log_modify=He modificat l'exportació NFS $1
log_modify_l=He modificat l'exportació NFS $1 a $2
log_delete=He suprimit l'exportació NFS $1
log_delete_l=He seleccionat l'exportació NFS $1 a $2
log_create=He creat l'exportació NFS $1
log_create_l=He creat l'exportació NFS $1 a $2
log_apply=He aplicat la configuració



  07070100035546000081a40000000000000002000000013d1fe2b9000007df000000200000000000000000000000000000001600000003reloc/exports/lang/de index_title=NFS-Exporte
index_dir=Verzeichnis
index_inactive=Inaktiv
index_to=Exportiert nach ...
index_none=Sie exportieren bis jetzt keine Verzeichnisse
index_add=Einen neuen Export hinzuf&uuml;gen
index_apply=&Auml;nderungen anwenden
index_applymsg=Klicken Sie auf diese Schaltfl&auml;che, um die aktuelle Exportkonfiguration anzuwenden. Dies wird alle oben angegebenen Verzeichnisse mit den jeweiligen Einstellungen verf&uuml;gbar machen.
index_return=Exportliste
index_eprog=Die ausf&uuml;hrbare Datei des NFS-Servers konnte nicht auf dem System gefunden werden. Es scheint, als w&auml;re das NFS-Paket nicht installiert.
edit_title=Export bearbeiten
create_title=Export erstellen
edit_details=Exportdetails
edit_dir=Zu exportierendes Verzeichnis
edit_active=Aktiv?
edit_to=Exportiere zu..
edit_all=Jedem
edit_host=Host(s)
edit_webnfs=WebNFS-Clients
edit_netgroup=Netzgruppe
edit_network=Netzwerk
edit_netmask=Netzmaske
edit_relative=Symbolische Links relativ machen?
edit_insecure=Clients m&uuml;ssen sicheren Anschluss benutzen?
edit_mode=Zugriffsmodus
edit_ro=Schreibgesch&uuml;tzt
edit_rw=Lesen/Schreiben
edit_noaccess=Verweigere Zugriff auf Verzeichnis?
edit_squash=Vertraue Fernbenutzern
edit_everyone=Jedem
edit_except=Jedem au&szlig;er Root
edit_nobody=Niemandem
edit_uids=Traue nicht den UIDs
edit_none=Keines
edit_gids=Traue nicht den GIDs
edit_anonuid=Behandle nicht-vertraute Benutzer als
edit_default=Standard
edit_anongid=Behandle nicht-vertraute Gruppen als
save_err=Fehler beim Speichern der Exporte
save_edir=Verzeichnis '$1' existiert nicht
save_enetgroup=Fehlende oder ung&uuml;ltige Netzgruppe
save_enetwork='$1' ist kein g&uuml;ltiges Netzwerk
save_enetmask='$1' ist keine g&uuml;ltige Netzmaske
save_ehost='$1' ist kein g&uuml;ltiger Host-Name
save_euids=UIDs, denen nicht getraut wird, m&uuml;ssen eine durch Kommata getrennte Liste mit Nummern oder Bereichen sein
save_egids=GIDs, denen nicht getraut wird, m&uuml;ssen eine durch Kommata getrennte Liste mit Nummern oder Bereichen sein
 07070100035548000081a40000000000000002000000013d1fe2b90000083a000000200000000000000000000000000000001600000003reloc/exports/lang/en index_title=NFS Exports
index_dir=Directory
index_inactive=Inactive
index_to=Exported to..
index_none=You are not exporting any directories yet.
index_add=Add a new export
index_apply=Apply Changes
index_applymsg=Click this button to apply the current file exports configuration. This will make all the directories listed above available with the options specified.
index_return=exports list
index_eprog=The NFS server executable was not found on your system. The NFS package does not appear to be installed.

edit_title=Edit Export
create_title=Create Export
edit_details=Export details
edit_dir=Directory to export
edit_active=Active?
edit_to=Export to..
edit_all=Everyone
edit_host=Host(s)
edit_webnfs=WebNFS clients
edit_netgroup=Netgroup
edit_network=Network
edit_netmask=Netmask
edit_relative=Make symbolic links relative?
edit_insecure=Clients must be on secure port?
edit_security=Export security
edit_mode=Access mode
edit_ro=Read only
edit_rw=Read/write
edit_noaccess=Deny access to directory?
edit_squash=Trust remote users
edit_everyone=Everyone
edit_except=Everyone except root
edit_nobody=Nobody
edit_uids=Don't trust UIDs
edit_none=None
edit_gids=Don't trust GIDs
edit_anonuid=Treat untrusted users as
edit_default=Default
edit_anongid=Treat untrusted groups as

save_err=Failed to save export
save_edir=Directory '$1' does not exist
save_enetgroup=Invalid or missing netgroup
save_enetwork='$1' is not a valid network
save_enetmask='$1' is not a valid netmask
save_ehost='$1' is not a valid hostname
save_euids=UIDs not to trust must be a comma-separated list of numbers or ranges
save_egids=GIDs not to trust must be a comma-separated list of numbers or ranges

exports_webnfs=WebNFS&nbsp;clients
exports_ngroup=Netgroup&nbsp;$1
exports_net=Network&nbsp;$1
exports_all=Everyone
exports_hosts=Hosts&nbsp;$1
exports_host=Host&nbsp;$1

log_modify=Modified NFS export $1
log_modify_l=Modified NFS export $1 to $2
log_delete=Deleted NFS export $1
log_delete_l=Deleted NFS export $1 to $2
log_create=Created NFS export $1
log_create_l=Created NFS export $1 to $2
log_apply=Applied configuration
  0707010003554c000081a40000000000000002000000013d1fe2b900000948000000200000000000000000000000000000001600000003reloc/exports/lang/es index_title=Exportaciones de NFS
index_dir=Directorio
index_inactive=Inactiva
index_to=Exportado a...
index_none=Aún no estás exportando directorios.
index_add=Añadir una nueva exportación
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para aplicar las configuraciones actuales de exportación de archivos. Esto hará que todos los directorios listados arriba estén disponibles con las opciones especificadas.
index_return=lista de exportaciones
index_eprog=El ejecutable del servidor NFS no ha sido encontrado en tu sistema. El paquete NFS no parece haber sido instalado.

edit_title=Editar Exportación
create_title=Crear Exportación
edit_details=Detalles de Exportación
edit_dir=Directorio a exportar
edit_active=¿Activo?
edit_to=Exportar a...
edit_all=Todo el mundo
edit_host=Máquina(s)
edit_webnfs=Clientes WebNFS
edit_netgroup=Grupo de Red
edit_network=Red
edit_netmask=Máscara de Red
edit_relative=¿Hacer enlaces simbólicos relativos?
edit_insecure=¿Los clientes deben de estar en puerto seguro?
edit_security=Exportar seguridad
edit_mode=Modo de Acceso
edit_ro=Sólo lectura
edit_rw=Lectura/Escritura
edit_noaccess=¿Denegar acceso al directorio?
edit_squash=Confiar en usuarios remotos
edit_everyone=Todo el mundo
edit_except=Todo el mundo excepto root
edit_nobody=Nadie
edit_uids=No confiar en UIDs
edit_none=Ninguno
edit_gids=No confiar en GIDs
edit_anonuid=Tratar usuarios no fiables como
edit_default=Por defecto
edit_anongid=Tratar grupos no fiables como

save_err=Error al salvar exportación
save_edir=Directorio '$1' no existe
save_enetgroup=Grupo de Red inválido o perdido
save_enetwork='$1' no es una red válida
save_enetmask='$1' no es una máscara de red válida
save_ehost='$1' no es una máquina válida
save_euids=UIDs no fiables deben de ser una lista de números o rangos separados por comas
save_egids=GIDs no fiables deben de ser una lista de números o rangos separados por comas

exports_webnfs=WebNFS&nbsp;clientes
exports_ngroup=Netgroup&nbsp;$1
exports_net=Network&nbsp;$1
exports_all=Cada uno
exports_hosts=Hosts&nbsp;$1
exports_host=Host&nbsp;$1

log_modify=Modificada exportación NFS $1
log_modify_l=Modificada exportación NFS $1 a $2
log_delete=Borrada exportación NFS $1
log_delete_l=Borrada exportación NFS $1 a $2
log_create=Creada exportación NFS $1
log_create_l=Creada exportación NFS $1 a $2
log_apply=Aplicada configuración
0707010003554d000081a40000000000000002000000013d1fe2b900000920000000200000000000000000000000000000001600000003reloc/exports/lang/fr index_title=Partage NFS
index_dir=Répertoire
index_inactive=Inactif
index_to=Partager à
index_none=Aucun répertoire encore partagé
index_add=Ajouter un nouveau partage
index_apply=Appliquer tous Changements
index_applymsg=Cliquer sur ce bouton pour appliquer la configuration.  Ceci va mettre tous répertoires listés disponibles avec les options spécifiées.
index_return=liste des partages
index_eprog=L'exécutable du serveur NFS n'a pas été trouvé sur votre système.  Le composant NFS ne semble pas avoir été installé.

edit_title=Éditer un Partage
create_title=Créer un Partage
edit_details=Détails du partage
edit_dir=Répertoire partager
edit_active=Actif?
edit_to=Partager à
edit_all=Tous
edit_host=Hôtes
edit_webnfs=Clients WebNFS
edit_netgroup=Groupe réseau
edit_network=Réseau
edit_netmask=Masque de sous-réseau
edit_relative=Les liens symboliques sont relatifs ?
edit_insecure=Les clients doivent être sur un port sûr ?
edit_security=Sécurité de l'export
edit_mode=Mode d'accès
edit_ro=Lecture seule
edit_rw=Lecture/écriture
edit_noaccess=Refuser l'accès au répertoire?
edit_squash=Faire confiance aux usagers distants
edit_everyone=Tous
edit_except=Tout excepté root
edit_nobody=Aucun
edit_uids=Ne pas faire confiance aux UID
edit_none=Aucun
edit_gids=Ne pas faire confiance aux GID
edit_anonuid=Les usagers non sûrs sont traités comme
edit_default=Défaut
edit_anongid=Les groupes non sûrs sont traités comme

save_err=Impossible d'enregistrer le partage
save_edir=Le répertoire $1 n'existe pas
save_enetgroup=Groupe de réseau manquant ou invalide
save_enetwork=$1 est un réseau invalide
save_enetmask=$1 est un masque de sous-réseau invalide
save_ehost=$1 est un nom d'hôte invalide
save_euids=Les UIDs non sûrs doivent être une liste séparée par des virgules de nombres ou d'intervalles
save_egids=Les GIDs non sûrs doivent être une liste séparée par des virgules de nombres ou d'intervalles

exports_webnfs=Clients&nbsp;WebNFS
exports_ngroup=Groupe réseau&nbsp;$1
exports_net=Réseau&nbsp;$1
exports_all=Tous
exports_hosts=Machines&nbsp;$1
exports_host=Machine&nbsp;$1

log_modify=Export NFS $1 modifié
log_modify_l=Export NFS $1 modifié sur $2
log_delete=Export NFS $1 supprimé
log_delete_l=Export NFS $1 supprimé sur $2
log_create=Export NFS $1 créé
log_create_l=Export NFS $1 créé sur $2
log_apply=Configuration appliquée
0707010003554e000081a40000000000000002000000013d1fe2b900000978000000200000000000000000000000000000001d00000003reloc/exports/lang/ja_JP.euc  index_title=NFS ¥¨¥¯¥¹¥Ý¡¼¥È
index_dir=¥Ç¥£¥ì¥¯¥È¥ê
index_inactive=Èó¥¢¥¯¥Æ¥£¥Ö
index_to=¥¨¥¯¥¹¥Ý¡¼¥ÈÀè..
index_none=¥¨¥¯¥¹¥Ý¡¼¥È¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Ï¤Þ¤À¤¢¤ê¤Þ¤»¤ó¡£
index_add=¿·µ¬¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤òÄÉ²Ã
index_apply=ÊÑ¹¹¤òÅ¬ÍÑ
index_applymsg=¸½ºß¤Î¥Õ¥¡¥¤¥ë¤Î¥¨¥¯¥¹¥Ý¡¼¥ÈÀßÄê¤òÅ¬ÍÑ¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£»ØÄê¤·¤¿¥ª¥×¥·¥ç¥ó¤ò¾å¤ËÉ½¼¨¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÇÍ­¸ú¤Ë¤·¤Þ¤¹¡£
index_return=¥¨¥¯¥¹¥Ý¡¼¥È ¥ê¥¹¥È
index_eprog=NFS ¥µ¡¼¥Ð¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£NFS ¥Ñ¥Ã¥±¡¼¥¸¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£

edit_title=¥¨¥¯¥¹¥Ý¡¼¥È¤ÎÊÔ½¸
create_title=¥¨¥¯¥¹¥Ý¡¼¥È¤ÎºîÀ®
edit_details=¥¨¥¯¥¹¥Ý¡¼¥È¤Î¾ÜºÙ
edit_dir=¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê
edit_active=¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¤«¡©
edit_to=¥¨¥¯¥¹¥Ý¡¼¥ÈÀè..
edit_all=Á´°÷
edit_host=¥Û¥¹¥È
edit_webnfs=WebNFS ¥¯¥é¥¤¥¢¥ó¥È
edit_netgroup=Netgroup
edit_network=¥Í¥Ã¥È¥ï¡¼¥¯
edit_netmask=¥Í¥Ã¥È¥Þ¥¹¥¯
edit_relative=¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯¤òÁêÂÐ¤Ë¤·¤Þ¤¹¤«¡©
edit_insecure=¥¯¥é¥¤¥¢¥ó¥È¤Ï¥»¥­¥å¥¢ ¥Ý¡¼¥È¤Î¤ß¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
edit_security=¥¨¥¯¥¹¥Ý¡¼¥È ¥»¥­¥å¥ê¥Æ¥£
edit_mode=¥¢¥¯¥»¥¹ ¥â¡¼¥É
edit_ro=ÆÉ¼è¤êÀìÍÑ
edit_rw=ÆÉ¼è¤ê-½ñ¹þ¤ß
edit_noaccess=¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥¢¥¯¥»¥¹¤òµñÈÝ¤·¤Þ¤¹¤«¡©
edit_squash=¥ê¥â¡¼¥È ¥æ¡¼¥¶¤ò¿®Íê¤¹¤ë
edit_everyone=Á´°÷
edit_except=root °Ê³°¤ÎÁ´°÷
edit_nobody=Á´°÷µñÈÝ
edit_uids=UID ¤ò¿®Íê¤·¤Ê¤¤
edit_none=¤Ê¤·
edit_gids=GID ¤ò¿®Íê¤·¤Ê¤¤
edit_anonuid=¿®Íê¤µ¤ì¤Æ¤¤¤Ê¤¤ ¥æ¡¼¥¶¤ò¼¡¤È¤·¤Æ°·¤¦
edit_default=¥Ç¥Õ¥©¥ë¥È
edit_anongid=¿®Íê¤µ¤ì¤Æ¤¤¤Ê¤¤ ¥°¥ë¡¼¥×¤ò¼¡¤È¤·¤Æ°·¤¦

save_err=¥¨¥¯¥¹¥Ý¡¼¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_edir=¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_enetgroup=netgroup ¤¬Ìµ¸ú¤«¤¢¤ê¤Þ¤»¤ó
save_enetwork='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤¹
save_enetmask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
save_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
save_euids=UID ¤Ï¿®Íê¤Ç¤­¤Þ¤»¤ó¡£¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥á¥ó¥Ð¡¼¤Þ¤¿¤ÏÈÏ°Ï¤Î¥ê¥¹¥È¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
save_egids=GID ¤Ï¿®Íê¤Ç¤­¤Þ¤»¤ó¡£¥³¥ó¥Þ¤Ç¶èÀÚ¤é¤ì¤¿¥á¥ó¥Ð¡¼¤Þ¤¿¤ÏÈÏ°Ï¤Î¥ê¥¹¥È¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£

exports_webnfs=WebNFS&nbsp;¥¯¥é¥¤¥¢¥ó¥È
exports_ngroup=Netgroup&nbsp;$1
exports_net=¥Í¥Ã¥È¥ï¡¼¥¯&nbsp;$1
exports_all=Á´°÷
exports_hosts=¥Û¥¹¥È&nbsp;$1
exports_host=¥Û¥¹¥È&nbsp;$1

log_modify=NFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_modify_l=$2 ¤Ø¤ÎNFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete=NFS ¥¨¥¯¥¹¥Ý¡¼¥È$1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_l=$2 ¤Ø¤ÎNFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create=NFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_create_l=$2 ¤Ø¤ÎNFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_apply=ÀßÄê¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
0707010003554f000081a40000000000000002000000013d1fe2b900000877000000200000000000000000000000000000001d00000003reloc/exports/lang/ko_KR.euc  index_title=NFS ³»º¸³»±â
index_dir=µð·ºÅä¸®
index_inactive=ºñÈ°¼º
index_to=³»º¸³¾ ´ë»ó..
index_none=¾ÆÁ÷ µð·ºÅä¸®¸¦ ³»º¸³»Áö ¾Ê¾Ò½À´Ï´Ù.
index_add=»õ ³»º¸³»±â Ãß°¡
index_apply=º¯°æ ³»¿ë Àû¿ë
index_applymsg=ÇöÀç ÆÄÀÏÀÇ ³»º¸³»±â ±¸¼ºÀ» Àû¿ëÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é À§¿¡ ³ª¿­µÈ ¸ðµç µð·ºÅä¸®¿¡ ÀÌ ¿É¼ÇÀÌ Àû¿ëµË´Ï´Ù.
index_return=³»º¸³»±â ¸ñ·Ï
index_eprog=½Ã½ºÅÛ¿¡ NFS ¼­¹ö ½ÇÇà ÆÄÀÏÀÌ ¾ø½À´Ï´Ù. NFS ÆÐÅ°Áö°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

edit_title=³»º¸³»±â ÆíÁý
create_title=³»º¸³»±â ÀÛ¼º
edit_details=³»º¸³»±â ¼¼ºÎ Á¤º¸
edit_dir=³»º¸³»±â ÇÒ µð·ºÅä¸®
edit_active=È°¼º »óÅÂÀÔ´Ï±î?
edit_to=³»º¸³»±â ¸ñÀûÁö..
edit_all=¸ðµç »ç¿ëÀÚ
edit_host=È£½ºÆ®
edit_webnfs=WebNFS Å¬¶óÀÌ¾ðÆ®
edit_netgroup=³Ý±×·ì
edit_network=³×Æ®¿öÅ©
edit_netmask=³Ý¸¶½ºÅ©
edit_relative=½Éº¼¸¯ ¸µÅ©¸¦ »ó´ëÀûÀ¸·Î ÁöÁ¤ÇÕ´Ï±î?
edit_insecure=Å¬¶óÀÌ¾ðÆ®°¡ º¸¾È Æ÷Æ®¿¡ ÀÖ¾î¾ß ÇÕ´Ï±î?
edit_security=³»º¸³»±â º¸¾È
edit_mode=Á¢±Ù ¸ðµå
edit_ro=ÀÐ±â Àü¿ë
edit_rw=ÀÐ±â/¾²±â
edit_noaccess=µð·ºÅä¸®¿¡ ´ëÇÑ Á¢±ÙÀ» °ÅºÎÇÕ´Ï±î?
edit_squash=½Å·ÚÇÒ ¼ö ÀÖ´Â ¿ø°Ý »ç¿ëÀÚ
edit_everyone=¸ðµç »ç¿ëÀÚ
edit_except=root¸¦ Á¦¿ÜÇÑ ¸ðµç »ç¿ëÀÚ
edit_nobody=¸ðµÎ ¾ÈÇÔ
edit_uids=UID ½Å·Ú ¾ÈÇÔ
edit_none=¾øÀ½
edit_gids=GID ½Å·Ú ¾ÈÇÔ
edit_anonuid=½Å·ÚÇÒ ¼ö ¾ø´Â »ç¿ëÀÚ
edit_default=±âº»°ª
edit_anongid=½Å·ÚÇÒ ¼ö ¾ø´Â ±×·ì

save_err=³»º¸³»±â¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_edir=µð·ºÅä¸® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_enetgroup=¾ø°Å³ª Àß¸øµÈ ³Ý±×·ì
save_enetwork='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©°¡ ¾Æ´Õ´Ï´Ù
save_enetmask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
save_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
save_euids=½Å·ÚÇÒ ¼ö ¾ø´Â UID´Â ¼ýÀÚ³ª ¼ýÀÚ ¹üÀ§·Î ÁöÁ¤µÈ ½°Ç¥·Î ±¸ºÐµÈ ¸ñ·ÏÀÌ¾î¾ß ÇÕ´Ï´Ù
save_egids=½Å·ÚÇÒ ¼ö ¾ø´Â GID´Â ¼ýÀÚ³ª ¼ýÀÚ ¹üÀ§·Î ÁöÁ¤µÈ ½°Ç¥·Î ±¸ºÐµÈ ¸ñ·ÏÀÌ¾î¾ß ÇÕ´Ï´Ù.

exports_webnfs=WebNFS&nbsp;Å¬¶óÀÌ¾ðÆ®
exports_ngroup=³Ý±×·ì&nbsp;$1
exports_net=³×Æ®¿öÅ©&nbsp;$1
exports_all=¸ðµç »ç¿ëÀÚ
exports_hosts=È£½ºÆ®&nbsp;$1
exports_host=È£½ºÆ®&nbsp;$1

log_modify=NFS ³»º¸³»±â $1 ¼öÁ¤µÊ
log_modify_l=$2(À¸)·ÎÀÇ NFS ³»º¸³»±â $1ÀÌ ¼öÁ¤µÊ
log_delete=NFS ³»º¸³»±â $1 »èÁ¦µÊ
log_delete_l=$2(À¸)·ÎÀÇ NFS ³»º¸³»±â $1 »èÁ¦µÊ
log_create=NFS ³»º¸³»±â $1 ÀÛ¼ºµÊ
log_create_l=$2(À¸)·ÎÀÇ NFS ³»º¸³»±â $1 ÀÛ¼ºµÊ
log_apply=±¸¼º Àû¿ëµÊ
 07070100035550000081a40000000000000002000000013d1fe2b90000091a000000200000000000000000000000000000001600000003reloc/exports/lang/pl index_title=Udostêpnianie po NFS
index_dir=Katalog
index_inactive=Nieaktywne
index_to=Wyeksportowane do..
index_none=Nie wyeksportowa³e¶ jeszcze ¿adnego katalogu.
index_add=Dodaj nowy zasób
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê udostêpniania. Spowoduje to dostêpno¶æ wymienionych powy¿ej katalogów z ustawionymi opcjami.
index_return=udostêpniania po NFS
index_eprog=Program serwera NFS nie zosta³ znaleziony. Prawdopodobnie nie zosta³ zainstalowany.

edit_title=Zmieñ udostêpnianie
create_title=Udostêpnij
edit_details=Dane udostêpniania
edit_dir=Udostêpniany katalog
edit_active=Aktywne?
edit_to=Udostêpniaj dla..
edit_all=Wszystkich
edit_host=Tylko dla hostów
edit_webnfs=Klienci WebNFS
edit_netgroup=Grupa sieciowa
edit_network=Sieæ
edit_netmask=Maska
edit_relative=Wzglêdne dowiazania symboliczne?
edit_insecure=Tylko klienci na bezpiecznych portach?
edit_security=Zabezpieczenia udostêpniania
edit_mode=Tryb dostêpu
edit_ro=Tylko do odczytu
edit_rw=Odczyt i&nbsp;zapis
edit_noaccess=Zablokowaæ dostêp do katalogu?
edit_squash=Zaufani u¿ytkownicy zdalni
edit_everyone=Wszyscy
edit_except=Wszyscy oprócz roota
edit_nobody=Nikt
edit_uids=Nie ufaj UID-om
edit_none=¯adnemu
edit_gids=Nie ufaj GID-om
edit_anonuid=Traktuj niewiarygodnych u¿ytkowników jako
edit_default=Domy¶lne
edit_anongid=Traktuj niewiarygodne grupy jako

save_err=Nie uda³o sie zachowaæ parametrów udostêpniania
save_edir=Katalog '$1' nie istnieje
save_enetgroup=Niepoprawna lub nie istniej±ca grupa sieciowa
save_enetwork='$1' nie jest poprawn± sieci±
save_enetmask='$1' nie jest poprawn± mask± sieci
save_ehost='$1' nie jest poprawn± nazw± komputera
save_euids=Niewiarygodne UID-y musz± byæ rozdzielon± przecinkami list± liczb lub zakresów
save_egids=Niewiarygodne GID-y musz± byæ rozdzielon± przecinkami list± liczb lub zakresów

exports_webnfs=Klientów&nbsp;eWebNFS
exports_ngroup=Grupy&nbsp;sieciowej&nbsp;$1
exports_net=Sieci&nbsp;$1
exports_all=Wszystkich
exports_hosts=Hostów&nbsp;$1
exports_host=Hosta&nbsp;$1

log_modify=Zmieniono eksport NFS $1
log_modify_l=Zmieniono eksport NFS $1 do $2
log_delete=Zmieniono eksport NFS $1
log_delete_l=Zmmieniono eksport NFS $1 do $2
log_create=Utworzono eksport NFS $1
log_create_l=Utworzono eksport NFS $1 do $2
log_apply=Zastosowano konfiguracjê
  07070100035552000081a40000000000000002000000013d1fe2b9000006e7000000200000000000000000000000000000001600000003reloc/exports/lang/pt index_title=Exportações NFS
index_dir=Directório
index_to=Exportado para..
index_none=Você ainda não está a exportar quaisquer directórios.
index_add=Adicionar nova exportação
index_apply=Aplicar Alterações
index_applymsg=Clique neste botão para aplicar a configuração de exportação de ficheiros actual. Desta forma, todos os directórios abaixo listados estarão disponiveis com as opções especificadas.
index_return=lista de exportações

edit_title=Editar Exportação
create_title=Criar Exportação
edit_details=Detalhes da exportação
edit_dir=Directório a exportar
edit_to=Exportar para..
edit_all=Toda a gente
edit_host=Anfitrião(s)
edit_webnfs=Clientes WebNFS
edit_netgroup=Grupo de Rede
edit_network=Grupo de Trabalho
edit_netmask=Máscara de Rede
edit_relative=Fazer as ligações simbólicas relativas?
edit_insecure=Os clientes deverão estar numa porta segura?
edit_mode=Modo de acesso
edit_ro=Leirura apenas
edit_rw=Leitura/escrita
edit_noaccess=Negar o acesso ao directório?
edit_squash=Confiar nos utilizadores remotos
edit_everyone=Toda a gente
edit_except=Toda a gente excepto root
edit_nobody=Ninguém
edit_uids=Não confiar em UIDs
edit_none=Nenhum
edit_gids=Não confiar em GIDs
edit_anonuid=Tratar utilizadores não fiáveis como
edit_default=Predefinido
edit_anongid=Tratar grupos não fiáveis como

save_err=Erro ao guardar exportação
save_edir=O directório '$1' não existe
save_enetgroup=Grupo de rede inválido ou em falta
save_enetwork='$1' não é uma rede válida
save_enetmask='$1' não é uma máscara de rede válida
save_ehost='$1' não é um nome de anfitrião válido
save_euids=Os UIDs não fiáveis devem ser uma lista de números ou alcances separadas por virgulas
save_egids=Os GIDs não fiáveis devem ser uma lista de números ou alcances separadas por virgulas
 07070100035556000081a40000000000000002000000013d1fe2b9000006ce000000200000000000000000000000000000001900000003reloc/exports/lang/ru_RU  edit_dir=Êàòàëîã äëÿ ýêñïîðòà
edit_mode=Ðåæèì äîñòóïà
save_err=Îøèáêà ïðè ñîõðàíåíèè ðåñóðñà
edit_host=Õîñò(û)
edit_gids=Íå äîâåðÿòü GIDàì
edit_netgroup=Ñåòåâàÿ ãðóïïà
edit_network=Ñåòü
edit_insecure=Êëèåíòû äîëæíû áûòü íà çàùèùåííîì ïîðòó?
edit_except=Êàæäîìó, êðîìå root
save_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
save_egids=Íåäîñòîâåðíûå GIDû äîëæíû áûòü ñïèñêîì ðàçäåëåííûì çàïÿòûìè èëè äèàïàçîíîì íîìåðîâ
index_none=Âû íå ýêñïîðòèðóåòå íè îäíîãî êàòàëîãà.
index_dir=Êàòàëîã
edit_netmask=Ñåòåâàÿ ìàñêà
index_title=Ýêñïîðò Ðåñóðñîâ NFS
index_apply=Ïðèíÿòü Èçìåíåíèÿ
edit_noaccess=Çàïðåòèòü äîñòóï ê êàòàëîãó?
index_return=ñïèñîê ðåñóðñîâ
edit_uids=Íå äîâåðÿòü UIDàì
edit_none=Íåò
index_to=Ýêñïîðòèðîâàí äëÿ..
save_euids=Íåäîñòîâåðíûå UIDû äîëæíû áûòü ñïèñêîì ðàçäåëåííûì çàïÿòûìè èëè äèàïàçîíîì íîìåðîâ
save_enetwork='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòüþ
edit_default=Ïî óìîë÷àíèþ
edit_details=Ïàðàìåòðû ðåñóðñà
edit_nobody=Íèêîìó
save_edir=Êàòàëîã '$1' íå ñóùåñòâóåò
edit_anonuid=Ñ÷èòàòü íåäîñòîâåðíûõ ïîëüçîâàòåëåé êàê
create_title=Ñîçäàíèå Ðåñóðñà
save_enetmask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ãðóïïîé
edit_webnfs=Êëèåíòû WebNFS
edit_everyone=Êàæäîìó
edit_relative=Ñäåëàòü ñèìâîëè÷åñêèå ññûëêè îòíîñèòåëüíûìè?
index_applymsg=Íàæìèòå íà ýòó êíîïêó äëÿ ïðèíÿòèÿ èçìåíåíèé â ôàéëå êîíôèãóðàöèè ýêñïîðòèðîâàííûõ ðåñóðñîâ. Ýòî äåéñòâèå ñäåëàåò âñå âûøåïåðå÷èñëåííûå êàòàëîãè äîñòóïíû ïî NFS â ñîîòâåòñòâèè ñ óêàçàííûìè ïàðàìåòðàìè
edit_anongid=Ñ÷èòàòü íåäîñòîâåðíûå ãðóïïû êàê
edit_ro=Òîëüêî ÷òåíèå
edit_rw=×òåíèå/çàïèñü
index_add=Äîáàâèòü íîâûé ðåñóðñ
edit_to=Ýêñïîðòèðîâàòü äëÿ..
edit_all=Êàæäîãî
save_enetgroup=Íåâåðíàÿ èëè ïîòåðÿííàÿ ñåòåâàÿ ãðóïïà
edit_title=Ðåäàêòèðîâàíèå Ðåñóðñà
edit_squash=Äîâåðÿòü óäàëåííûì ïîëüçîâàòåëÿì
  0707010003555a000081a40000000000000002000000013d1fe2b9000006d1000000200000000000000000000000000000001900000003reloc/exports/lang/ru_SU  index_title=üËÓÐÏÒÔ òÅÓÕÒÓÏ× NFS
index_dir=ëÁÔÁÌÏÇ
index_to=üËÓÐÏÒÔÉÒÏ×ÁÎ ÄÌÑ..
index_none=÷Ù ÎÅ ÜËÓÐÏÒÔÉÒÕÅÔÅ ÎÉ ÏÄÎÏÇÏ ËÁÔÁÌÏÇÁ.
index_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÒÅÓÕÒÓ
index_apply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_applymsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÐÒÉÎÑÔÉÑ ÉÚÍÅÎÅÎÉÊ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÒÅÓÕÒÓÏ×. üÔÏ ÄÅÊÓÔ×ÉÅ ÓÄÅÌÁÅÔ ×ÓÅ ×ÙÛÅÐÅÒÅÞÉÓÌÅÎÎÙÅ ËÁÔÁÌÏÇÉ ÄÏÓÔÕÐÎÙ ÐÏ NFS × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÕËÁÚÁÎÎÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ
index_return=ÓÐÉÓÏË ÒÅÓÕÒÓÏ×

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ òÅÓÕÒÓÁ
create_title=óÏÚÄÁÎÉÅ òÅÓÕÒÓÁ
edit_details=ðÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÁ
edit_dir=ëÁÔÁÌÏÇ ÄÌÑ ÜËÓÐÏÒÔÁ
edit_to=üËÓÐÏÒÔÉÒÏ×ÁÔØ ÄÌÑ..
edit_all=ëÁÖÄÏÇÏ
edit_host=èÏÓÔ(Ù)
edit_webnfs=ëÌÉÅÎÔÙ WebNFS
edit_netgroup=óÅÔÅ×ÁÑ ÇÒÕÐÐÁ
edit_network=óÅÔØ
edit_netmask=óÅÔÅ×ÁÑ ÍÁÓËÁ
edit_relative=óÄÅÌÁÔØ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ ÏÔÎÏÓÉÔÅÌØÎÙÍÉ?
edit_insecure=ëÌÉÅÎÔÙ ÄÏÌÖÎÙ ÂÙÔØ ÎÁ ÚÁÝÉÝÅÎÎÏÍ ÐÏÒÔÕ?
edit_mode=òÅÖÉÍ ÄÏÓÔÕÐÁ
edit_ro=ôÏÌØËÏ ÞÔÅÎÉÅ
edit_rw=þÔÅÎÉÅ/ÚÁÐÉÓØ
edit_noaccess=úÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ë ËÁÔÁÌÏÇÕ?
edit_squash=äÏ×ÅÒÑÔØ ÕÄÁÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ
edit_everyone=ëÁÖÄÏÍÕ
edit_except=ëÁÖÄÏÍÕ, ËÒÏÍÅ root
edit_nobody=îÉËÏÍÕ
edit_uids=îÅ ÄÏ×ÅÒÑÔØ UIDÁÍ
edit_none=îÅÔ
edit_gids=îÅ ÄÏ×ÅÒÑÔØ GIDÁÍ
edit_anonuid=óÞÉÔÁÔØ ÎÅÄÏÓÔÏ×ÅÒÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ËÁË
edit_default=ðÏ ÕÍÏÌÞÁÎÉÀ
edit_anongid=óÞÉÔÁÔØ ÎÅÄÏÓÔÏ×ÅÒÎÙÅ ÇÒÕÐÐÙ ËÁË

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÅÓÕÒÓÁ
save_edir=ëÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_enetgroup=îÅ×ÅÒÎÁÑ ÉÌÉ ÐÏÔÅÒÑÎÎÁÑ ÓÅÔÅ×ÁÑ ÇÒÕÐÐÁ
save_enetwork='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔØÀ
save_enetmask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÇÒÕÐÐÏÊ
save_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
save_euids=îÅÄÏÓÔÏ×ÅÒÎÙÅ UIDÙ ÄÏÌÖÎÙ ÂÙÔØ ÓÐÉÓËÏÍ ÒÁÚÄÅÌÅÎÎÙÍ ÚÁÐÑÔÙÍÉ ÉÌÉ ÄÉÁÐÁÚÏÎÏÍ ÎÏÍÅÒÏ×
save_egids=îÅÄÏÓÔÏ×ÅÒÎÙÅ GIDÙ ÄÏÌÖÎÙ ÂÙÔØ ÓÐÉÓËÏÍ ÒÁÚÄÅÌÅÎÎÙÍ ÚÁÐÑÔÙÍÉ ÉÌÉ ÄÉÁÐÁÚÏÎÏÍ ÎÏÍÅÒÏ×

   0707010003555b000081a40000000000000002000000013d1fe2b900000905000000200000000000000000000000000000001600000003reloc/exports/lang/sv index_title=NFS-exportering
index_dir=Katalog
index_inactive=Inaktiv
index_to=Exportera till ...
index_none=Du exporterar inga kataloger än.
index_add=Lägg till exportering
index_apply=Genomför ändringar
index_applymsg=Tryck på denna knapp för att använda dessa filexporteringsinställningar. Detta kommer att göra de ovan listade katalogerna tillgängliga med de inställningar du har angivit.
index_return=exporteringslista
index_eprog=Den exekverbara NFS-serverfilen fanns inte på ditt system. NFS-paketet verkar inte vara installerat.

edit_title=Ändra exportering
create_title=Lägg till exportering
edit_details=Uppgifter om exportering
edit_dir=Exporterad katalog
edit_active=Aktiverad?
edit_to=Exportera till ...
edit_all=Alla
edit_host=Datorer
edit_webnfs=WebNFS-klienter
edit_netgroup=Nätverksgrupp
edit_network=Nätverk
edit_netmask=Nätmask
edit_relative=Ska symboliska länkar vara relativa?
edit_insecure=Måste klienter använda en säker port?
edit_security=Säkerhet för exporteringar
edit_mode=Rättigheter
edit_ro=Endast läsbart
edit_rw=Läs- och skrivbart
edit_noaccess=Neka tillgång till katalog?
edit_squash=Lita på användare
edit_everyone=Alla
edit_except=Alla utom root
edit_nobody=Ingen
edit_uids=Lita inte på UID
edit_none=Inget
edit_gids=Lita inte på GID
edit_anonuid=Behandla icke betrodda användare som
edit_default=Standard
edit_anongid=Behandla icke betrodda grupper som

save_err=Det gick inte att spara exportering
save_edir=Katalogen '$1' finns inte
save_enetgroup=Nätgruppen finns inte eller är inte en giltig nätgrupp
save_enetwork='$1' är inte ett giltigt nätverk
save_enetmask='$1' är inte en giltig nätmask
save_ehost='$1' är inte ett giltigt värdnamn
save_euids=Ej betrodda UID:n måste vara en kommaseparerad lista med nummer eller intervall
save_egids=Ej betrodda GID:n måste vara en kommaseparerad lista med nummer eller intervall

exports_webnfs=WebNFS-klienter
exports_ngroup=Nätgrupp $1
exports_net=Nätverk $1
exports_all=Alla
exports_hosts=Datorer $1
exports_host=Dator $1

log_modify=Ändrade NFS-exportering $1
log_modify_l=Ändrade NFS-exportering $1 till $2
log_delete=Tog bort NFS-exportering $1
log_delete_l=Tog bort NFS-exportering $1 till $2
log_create=Lade till NFS-exportering $1
log_create_l=Lade till NFS-exportering $1 till $2
log_apply=Tog inställningarna i drift
   0707010003555c000081a40000000000000002000000013d1fe2b90000077f000000200000000000000000000000000000001600000003reloc/exports/lang/tr index_title=NFS Sunumlarý
index_dir=Dizin
index_inactive=Aktif deðil
index_to=Aktif Baðlantý Durumu..
index_none=Herhangi bir dizinde henüz baðlantý yapýlmadý
index_add=Yeni bir baðlantý ekle
index_apply=Deðiþiklikleri Uygula
index_applymsg=Bu düðmeyi týklayarak mevcut dosya baðlantý ayarlarýný uygulayabilirsiniz.
index_return=baðlantýlar listesi
index_eprog=NFS sunucusu çalýþtrýlabilir dosyasý bulunamadý. NFS paketi yüklenmemiþ olabilir

edit_title=Baðlantýyý Deðiþtir
create_title=Baðlantý Oluþtur
edit_details=Baðlantý Ayarlarý
edit_dir=Baðlantý Dizini
edit_active=Aktif?
edit_to=Baðlantý yap ...
edit_all=Tamamý
edit_host=Makine(ler)
edit_webnfs=WebNFS istemcileri
edit_netgroup=Að grubu
edit_network=Að
edit_netmask=Að maskesi
edit_relative=Sembolik bað yapýlsýn mý?
edit_insecure=Ýstemciler güvenli portta olsun mu?
edit_mode=Giriþ modu
edit_ro=Salt okunur
edit_rw=Oku/Yaz
edit_noaccess=Dizine giriþler engellensin mi?
edit_squash=Uzak kullanýcýlarý onayla
edit_everyone=Herbiri
edit_except=Root dýþýnda herkes
edit_nobody=Hiçkimse
edit_uids=UID onayla
edit_none=Hiçbiri
edit_gids=GID onayla
edit_anonuid=Onaylanmamýþ kullanýcýlarý araþtýr
edit_default=Öntanýmlý
edit_anongid=Onaylanmamýþ gruplarý araþtýr

save_err=Baðlantýnýn kaydedilmesinde hata oluþtu
save_edir='$1' dizini mevcut deðil
save_enetgroup=Yanlýþ ya da kayýp netgroup
save_enetwork='$1' geçerli bir að adý deðil
save_enetmask='$1' geçerli bir að maskesi deðil
save_ehost='$1' geçerli bir makþne adý deðil
save_euids=Sayý ya da alan listesinin virgülle ayrýlmýþ olan UID'leri onaylanmaz
save_egids=Sayy ya da alan listesinin virgülle ayrylmyþ olan GID'leri onaylanmaz

log_modify=NFS sunumu $1 deðiþtirildi
log_modify_l=$2'de NFS sunumu $1 deðiþtirildi
log_delete=NFS sunumu $1 silindi
log_delete_l=$2'de NFS sunumu $1 silindi
log_create=NFS sunumu $1 oluþturuldu
log_create_l=$2'de NFS sunumu $1 oluþturuldu
log_apply=Yapýlandýrma uygulandý
 
 0707010003555d000081a40000000000000002000000013d1fe2b9000005d4000000200000000000000000000000000000001900000003reloc/exports/lang/zh_CN  index_title=NFSÊä³ö
index_dir=Ä¿Â¼
index_inactive=²»»î¶¯µÄ
index_to=Êä³öµ½..
index_none=ÄúÉÐÎ´Êä³öÈÎºÎÄ¿Â¼¡£
index_add=Ôö¼ÓÒ»¸öÐÂµÄÊä³ö
index_apply=Ó¦ÓÃ¸Ä±ä
index_applymsg=°´Õâ¸ö°´Å¥Ê¹µ±Ç°µÄÎÄ¼þÊä³öÅäÖÃÉúÐ§¡£Õâ½«Ê¹ÉÏÃæÁÐ³öµÄËùÓÐÄ¿Â¼ÒÔÖ¸¶¨µÄÑ¡Ïî¿ÉÓÃ¡£
index_return=Êä³öÁÐ±í
index_eprog=ÔÚÄúµÄÏµÍ³ÖÐÃ»·¢ÏÖNFS·þÎñÆ÷Ö´ÐÐ³ÌÐò¡£¿´À´Ã»°²×°NFS°ü¡£
edit_title=±à¼­Êä³ö
create_title=´´½¨Êä³ö
edit_details=Êä³öµÄÏ¸½Ú
edit_dir=ÒªÊä³öµÄÄ¿Â¼
edit_active=»î¶¯µÄ£¿
edit_to=Êä³öµ½..
edit_all=Ã¿¸ö
edit_host=Ö÷»ú
edit_webnfs=WebNFS¿Í»§
edit_netgroup=ÍøÂç×é
edit_network=ÍøÂç
edit_netmask=ÍøÂçÑÚÂë
edit_relative=Ê¹·ûºÅÁ¬½ÓÎªÏà¶ÔÂð£¿
edit_insecure=¿Í»§±ØÐëÔÚÒ»¸ö°²È«¶Ë¿ÚÉÏ£¿
edit_mode=·ÃÎÊÄ£Ê½
edit_ro=Ö»¶Á
edit_rw=¶ÁÐ´
edit_noaccess=·ÃÎÊÄ¿Â¼±»¾Ü¾ø£¿
edit_squash=ÐÅÈÎÔ¶¶ËÓÃ»§
edit_everyone=Ã¿¸öÈË
edit_except=³ýÁËrootÍâµÄÃ¿¸öÈË
edit_nobody=Ã»ÈË
edit_uids=²»ÐÅÈÎÓÃ»§ID
edit_none=Ã»ÓÐ
edit_gids=²»ÐÅÈÎ×éID
edit_anonuid=¶Ô´ý²»¿ÉÐÅÓÃ»§µÄ·½Ê½
edit_default=È±Ê¡
edit_anongid=¶Ô´ý²»¿ÉÐÅ×éµÄ·½Ê½
save_err=±£´æÊä³öÊ§°Ü
save_edir=Ä¿Â¼'$1' ²»´æÔÚ
save_enetgroup=·Ç·¨»òÈ±ÉÙÍøÂç×é
save_enetwork='$1'²»ÊÇÓÐÐ§µÄÍøÂç
save_enetmask='$1'²»ÊÇÓÐÐ§µÄÍøÂçÑÚÂë
save_ehost='$1'²»ÊÇÓÐÐ§µÄÖ÷»úÃû
save_euids=²»ÐÅÈÎµÄUID±ØÐëÊÇÒ»¸ö¶ººÅ·Ö¸ôµÄÊý×ÖÐòÁÐ»ò·¶Î§
save_egids=²»ÐÅÈÎµÄGID±ØÐëÊÇÒ»¸ö¶ººÅ·Ö¸ôµÄÊý×ÖÐòÁÐ»ò·¶Î§
log_modify=ÒÑ¸üÐÂµÄ NFS Êä³ö $1
log_modify_l=ÒÑ¸üÐÂµ½ $2 µÄ NFS Êä³ö $1
log_delete=É¾³ý  NFS Êä³ö $1
log_delete_l=É¾³ýµ½ $2 µÄ NFS Êä³ö $1
log_create=´´½¨ NFS Êä³ö $1
log_create_l=´´½¨µ½ $2 µÄ NFS Êä³ö $1
log_apply=ÒÑÓ¦ÓÃµÄÅäÖÃ
0707010003555f000081a40000000000000002000000013d1fe2b90000056c000000200000000000000000000000000000001e00000003reloc/exports/lang/zh_TW.Big5 index_title=NFS ¶×¥X
index_dir=¥Ø¿ý
index_inactive=¤£§@¥Î
index_to=¶×¥Xµ¹...
index_none=±z¥Ø«e¨S¦³¶×¥X¥ô¦ó¥Ø¿ý.
index_add=¼W¥[¤@­Ó·sªº¶×¥X
index_apply=®M¥ÎÅÜ§ó
index_applymsg=«ö¤U³o­Ó«ö¶s¥H®M¥Î¥Ø«eÀÉ®×¶×¥Xªº²ÕºA. ³o±N·|¨Ï¤W¦Cªº¥Ø¿ý¨Ì¾Ú«ü©wªº¿ï¶µ¶×¥X.
index_return=¶×¥X¦Cªí
index_eprog=¦b±zªº¨t²Î¤W§ä¤£¨ì NFS ¦øªA¾¹°õ¦æÀÉ. NFS ®M¥ó¦ü¥G©|¥¼¦w¸Ë.

edit_title=½s¿è¶×¥X
create_title=«Ø¥ß¶×¥X
edit_details=¶×¥Xªº¸Ô²Ó¸ê®Æ
edit_dir=­n¶×¥Xªº¥Ø¿ý
edit_active=¬O§_­n±Ò°Ê?
edit_to=¶×¥Xµ¹...
edit_all=¥ô¦ó¤H
edit_host=¥D¾÷
edit_webnfs=WebNFS «È¤áºÝ
edit_netgroup=ºô¸ô¸s²Õ
edit_network=ºô¸ô
edit_netmask=¤lºô¸ô¾B¸n
edit_relative=¬O§_±N²Å¸¹³sµ²ÅÜ§ó¦¨¬Û¹ï³sµ²?
edit_insecure=«È¤áºÝ¬O§_¥²¶·¨Ï¥Î¦w¥þ³q°T°ð?
edit_mode=¦s¨ú¼Ò¦¡
edit_ro=°ßÅª
edit_rw=¥iÅª¼g
edit_noaccess=¬O§_©Úµ´¥Ø¿ýªº¦s¨ú?
edit_squash=«H¥ô»·ºÝ¨Ï¥ÎªÌ
edit_everyone=¥ô¦ó¤H
edit_except=°£¤F root ¥~ªº¥ô¦ó¤H
edit_nobody=¨S¦³¤H
edit_uids=¤£«H¥ôªº¨Ï¥ÎªÌ½s¸¹ (UID)
edit_none=µL
edit_gids=¤£«H¥ôªº¸s²Õ½s¸¹ (GID)
edit_anonuid=±N¤£«H¥ôªº¨Ï¥ÎªÌ·í¦¨
edit_default=¹w³]
edit_anongid=±N¤£«H¥ôªº¸s²Õ·í¦¨

save_err=Àx¦s¶×¥X¥¢±Ñ
save_edir=¥Ø¿ý '$1' ¤£¦s¦b
save_enetgroup=¿ù»~©Î¿ò¥¢ªººô¸ô¸s²Õ
save_enetwork='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô
save_enetmask='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
save_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
save_euids=¤£«H¥ôªº¨Ï¥ÎªÌ½s¸¹ (UID) ¦Cªí¥²¶·¬O¥H³r¸¹ ',' ¤À¶}ªº¼Æ¦r©Î½d³ò
save_egids=¤£«H¥ôªº¸s²Õ½s¸¹ (GID) ¦Cªí¥²¶·¬O¥H³r¸¹ ',' ¤À¶}ªº¼Æ¦r©Î½d³ò
0707010002fbfc000081a40000000000000002000000013d1fe2ba00000391000000200000000000000000000000000000001c00000003reloc/exports/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'exports-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, [long])
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
$p->{'host'} = $p->{'host'} ? &html_escape($p->{'host'}) : '*';
$object = &html_escape($object);
if ($action eq 'modify') {
	return &text($long ? 'log_modify_l' : 'log_modify',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'create') {
	return &text($long ? 'log_create_l' : 'log_create',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'delete') {
	return &text($long ? 'log_delete_l' : 'log_delete',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
else {
	return undef;
	}
}

   0707010002fbfd000081a40000000000000002000000013d1fe2ba0000000b000000200000000000000000000000000000001700000003reloc/exports/low.risk    noconfig=1
 0707010002fbfe000081a40000000000000002000000013d1fe2ba00000011000000200000000000000000000000000000001800000003reloc/exports/low.skill   icons=1
simple=1
   0707010002fbff000081a40000000000000002000000013d1fe2ba0000000b000000200000000000000000000000000000001a00000003reloc/exports/medium.risk noconfig=1
 0707010002fc01000081a40000000000000002000000013d1fe2ba00000009000000200000000000000000000000000000001b00000003reloc/exports/medium.skill    simple=1
   0707010002fc02000081a40000000000000002000000013d1fe2ea0000026a000000200000000000000000000000000000001a00000003reloc/exports/module.info desc_ru_SU=NFS òÅÓÕÒÓÙ
risk=low medium high
desc_ko_KR.euc=NFS ³»º¸³»±â 
desc_zh_TW.Big5=NFS ¶×¥X
desc_pl=Udostêpnianie po NFS
desc_de=NFS Exporte
name=Export Manager
desc_zh_CN=NFS Êä³ö
desc_pt=Exportações de NFS
category=system
desc_tr=NFS Sunumlarý
os_support=slackware-linux redhat-linux mandrake-linux debian-linux suse-linux open-linux turbo-linux corel-linux cobalt-linux aix msc-linux generic-linux gentoo-linux
desc=NFS Exports
desc_es=Exportaciones de NFS
desc_sv=NFS-exportering
desc_fr=Partage NFS
desc_ja_JP.euc=NFS ¥¨¥¯¥¹¥Ý¡¼¥È
depends=0.990
version=0.990
desc_ca=Exportacions NFS
desc_ru_RU=NFS Ðåñóðñû
  0707010002fc03000081e40000000000000002000000013d1fe2ba0000020a000000200000000000000000000000000000002100000003reloc/exports/restart_mountd.cgi  #!/usr/local/bin/perl
# restart_mountd.cgi
# Do whatever is needed to apply changes to the exports file

require './exports-lib.pl';
$whatfailed = "Failed to apply changes";
&system_logged("$config{'portmap_command'} >/dev/null 2>&1 </dev/null")
	if ($config{'portmap_command'});
$temp = &tempname();
$rv = &system_logged("($config{'restart_command'}) </dev/null >$temp 2>&1");
$out = `cat $temp`;
unlink($temp);
if ($rv) {
	# something went wrong.. display an error
	&error($out);
	}
&webmin_log('apply');
&redirect("");
  0707010002fc04000081e40000000000000002000000013d1fe2ba00000c84000000200000000000000000000000000000001e00000003reloc/exports/save_export.cgi #!/usr/local/bin/perl
# save_export.cgi
# Save, create or delete an export

require './exports-lib.pl';
&ReadParse();
&lock_file($config{'exports_file'});
@exps = &list_exports();

if ($in{'delete'}) {
	# Deleting some export
	$exp = $exps[$in{'idx'}];
	&delete_export($exp);
	}
else {
	if (!$in{'new'}) {
		# Get old export
		$oldexp = $exps[$in{'idx'}];
		%opts = %{$oldexp->{'options'}};
		}

	# Validate and parse inputs
	&error_setup($text{'save_err'});
	-d $in{'dir'} || &error(&text('save_edir', $in{'dir'}));
	$exp{'dir'} = $in{'dir'};
	$exp{'active'} = $in{'active'};

	if ($in{'mode'} == 0) { $exp{'host'} = "=public"; }
	elsif ($in{'mode'} == 1) {
		$in{'netgroup'} =~ /^\S+$/ ||
			&error($text{'save_enetgroup'});
		$exp{'host'} = '@'.$in{'netgroup'};
		}
	elsif ($in{'mode'} == 2) {
		&check_ipaddress($in{'network'}) ||
			&error(&text('save_enetwork', $in{'network'}));
		&check_ipaddress($in{'netmask'}) ||
			&error(&text('save_enetmask', $in{'netmask'}));
		$exp{'host'} = $in{'network'}."/".$in{'netmask'};
		}
	elsif ($in{'mode'} == 3) { $exp{'host'} = ""; }
	else {
		$in{'host'} =~ /\*/ || gethostbyname($in{'host'}) ||
			&error(&text('save_ehost', $in{'host'}));
		$exp{'host'} = $in{'host'};
		}

	# validate and parse options
	delete($opts{'link_relative'}); delete($opts{'link_absolute'}); 
	$opts{'link_relative'} = "" if ($in{'link_relative'});

	if (!$access{'simple'}) {
		delete($opts{'secure'}); delete($opts{'insecure'});
		$opts{'insecure'} = "" if ($in{'insecure'});
		}

	if ($in{'ro'}) {
		delete($opts{'rw'});
		$opts{'ro'} = '';
		}
	else {
		delete($opts{'ro'});
		$opts{'rw'} = '';
		}

	if (!$access{'simple'}) {
		delete($opts{'noaccess'});
		$opts{'noaccess'} = "" if ($in{'noaccess'});
		}

	delete($opts{'root_squash'}); delete($opts{'no_root_squash'});
	delete($opts{'all_squash'}); delete($opts{'no_all_squash'});
	$opts{'no_root_squash'} = "" if ($in{'squash'} == 0);
	$opts{'all_squash'} = "" if ($in{'squash'} == 2);

	if (!$access{'simple'}) {
		if ($in{'squash_uids_def'}) { delete($opts{'squash_uids'}); }
		elsif ($in{'squash_uids'} !~ /^[\d+\-\,]+$/) {
			&error($text{'save_euids'});
			}
		else { $opts{'squash_uids'} = $in{'squash_uids'}; }

		if ($in{'squash_gids_def'}) { delete($opts{'squash_gids'}); }
		elsif ($in{'squash_gids'} !~ /^[\d+\-\,]+$/) {
			&error($text{'save_egids'});
			}
		else { $opts{'squash_gids'} = $in{'squash_gids'}; }

		if ($in{'anonuid_def'}) { delete($opts{'anonuid'}); }
		elsif ($in{'anonuid'} =~ /^[0-9\-]+$/)
			{ $opts{'anonuid'} = $in{'anonuid'}; }
		else { $opts{'anonuid'} = getpwnam($in{'anonuid'}); }

		if ($in{'anongid_def'}) { delete($opts{'anongid'}); }
		elsif ($in{'anongid'} =~ /^[0-9\-]+$/)
			{ $opts{'anongid'} = $in{'anongid'}; }
		else { $opts{'anongid'} = getgrnam($in{'anongid'}); }
		}

	$exp{'options'} = \%opts;
	if ($in{'new'}) {
		&create_export(\%exp);
		}
	else {
		&modify_export(\%exp, $oldexp);
		}
	}
&unlock_file($config{'exports_file'});
if ($in{'delete'}) {
	&webmin_log("delete", "export", $exp->{'dir'}, $exp);
	}
elsif ($in{'new'}) {
	&webmin_log("create", "export", $exp{'dir'}, \%exp);
	}
else {
	&webmin_log("modify", "export", $exp{'dir'}, \%exp);
	}
&redirect("");

0707010003e26f000081e40000000000000002000000013d1fe2b800001bee000000200000000000000000000000000000001200000003reloc/fastrpc.cgi #!/usr/local/bin/perl
# Handled remote_* function calls by a faster method. When first called
# as a CGI, forks and starts listening on a port which is returned to the
# client. From then on, direct TCP connections can be made to this port
# to send requests and get replies.

do './web-lib.pl';
use POSIX;
use Socket;
$force_lang = $default_lang;
&init_config();
print "Content-type: text/plain\n\n";

# Can this user make remote calls?
%access = &get_module_acl();
if ($access{'rpc'} == 0 || $access{'rpc'} == 2 &&
    $base_remote_user ne 'admin' && $base_remote_user ne 'root') {
	print "0 Invalid user for RPC\n";
	exit;
	}

# Find a free port
$port = 10000;
$aerr = &allocate_socket(MAIN, \$port);
if ($aerr) {
	print "0 $aerr\n";
	exit;
	}
if (open(RANDOM, "/dev/urandom")) {
	local $tmpsid;
	read(RANDOM, $tmpsid, 16);
	$sid = lc(unpack('h*', $tmpsid));
	close RANDOM;
	}
else {
	$sid = time()*$$;
	}
$version = &get_webmin_version();
print "1 $port $sid $version\n";

# Fork and listen for calls ..
$pid = fork();
if ($pid < 0) {
	die "fork() failed : $!";
	}
elsif ($pid) {
	exit;
	}
untie(*STDIN);
untie(*STDOUT);

# Accept the TCP connection
$acptaddr = accept(SOCK, MAIN);
die "accept failed!" if (!$acptaddr);
select(SOCK); $| = 1;

while(1) {
	# Wait for the request
	local $rmask;
	vec($rmask, fileno(SOCK), 1) = 1;
	local $sel = select($rmask, undef, undef, 30);
	last if ($sel <= 0);

	local $line = <SOCK>;
	last if (!$line);
	local ($len, $auth) = split(/\s+/, $line);
	die "Invalid session ID" if ($auth ne $sid);
	local $rawarg;
	while(length($rawarg) < $len) {
		local $got;
		local $rv = read(SOCK, $got, $len - length($rawarg));
		exit if ($rv <= 0);
		$rawarg .= $got;
		}
	print STDERR "fastrpc: raw $rawarg\n" if ($gconfig{'rpcdebug'});
	local $arg = &unserialise_variable($rawarg);

	# Process it
	local $rawrv;
	if ($arg->{'action'} eq 'ping') {
		# Just respond with an OK
		print STDERR "fastrpc: ping\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable( { 'status' => 1 } );
		}
	elsif ($arg->{'action'} eq 'check') {
		# Check if some module is supported
		print STDERR "fastrpc: check $arg->{'module'}\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable(
			{ 'status' => 1,
			  'rv' => &foreign_check($arg->{'module'}) } );
		}
	elsif ($arg->{'action'} eq 'config') {
		# Get the config for some module
		print STDERR "fastrpc: config $arg->{'module'}\n" if ($gconfig{'rpcdebug'});
		local %config = &foreign_config($arg->{'module'});
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => \%config } );
		}
	elsif ($arg->{'action'} eq 'write') {
		# Transfer data to a local temp file
		local $file = $arg->{'file'} ? $arg->{'file'} : &tempname();
		print STDERR "fastrpc: write $file\n" if ($gconfig{'rpcdebug'});
		open(FILE, ">$file");
		print FILE $arg->{'data'};
		close(FILE);
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => $file } );
		}
	elsif ($arg->{'action'} eq 'tcpwrite') {
		# Transfer data to a local temp file over TCP connection
		local $file = $arg->{'file'} ? $arg->{'file'} : &tempname();
		print STDERR "fastrpc: tcpwrite $file\n" if ($gconfig{'rpcdebug'});
		local $tsock = time().$$;
		local $tport = $port + 1;
		&allocate_socket($tsock, \$tport);
		if (!fork()) {
			# Accept connection in separate process
			local $rmask;
			vec($rmask, fileno($tsock), 1) = 1;
			local $sel = select($rmask, undef, undef, 30);
			exit if ($sel <= 0);
			accept(TRANS, $tsock) || exit;
			local $buf;
			open(FILE, ">$file");
			while(read(TRANS, $buf, 1024) > 0) {
				print FILE $buf;
				}
			close(FILE);
			close(TRANS);
			exit;
			}
		close($tsock);
		print STDERR "fastrpc: tcpwrite $file done\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => [ $file, $tport ] } );
		}
	elsif ($arg->{'action'} eq 'read') {
		# Transfer data from a file
		print STDERR "fastrpc: read $arg->{'file'}\n" if ($gconfig{'rpcdebug'});
		local ($data, $got);
		open(FILE, $arg->{'file'});
		while(read(FILE, $got, 1024) > 0) {
			$data .= $got;
			}
		close(FILE);
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => $data } );
		}
	elsif ($arg->{'action'} eq 'tcpread') {
		# Transfer data from a file over TCP connection
		print STDERR "fastrpc: tcpread $arg->{'file'}\n" if ($gconfig{'rpcdebug'});
		local $tsock = time().$$;
		local $tport = $port + 1;
		&allocate_socket($tsock, \$tport);
		if (!fork()) {
			# Accept connection in separate process
			local $rmask;
			vec($rmask, fileno($tsock), 1) = 1;
			local $sel = select($rmask, undef, undef, 30);
			exit if ($sel <= 0);
			accept(TRANS, $tsock) || exit;
			local $buf;
			open(FILE, $arg->{'file'});
			while(read(FILE, $buf, 1024) > 0) {
				print TRANS $buf;
				}
			close(FILE);
			close(TRANS);
			exit;
			}
		close($tsock);
		print STDERR "fastrpc: tcpread $arg->{'file'} done\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => [ $arg->{'file'}, $tport ] } );
		}
	elsif ($arg->{'action'} eq 'require') {
		# require a library
		print STDERR "fastrpc: require $arg->{'module'}/$arg->{'file'}\n" if ($gconfig{'rpcdebug'});
		&foreign_require($arg->{'module'},
				 $arg->{'file'});
		$rawrv = &serialise_variable( { 'status' => 1 });
		}
	elsif ($arg->{'action'} eq 'call') {
		# execute a function
		print STDERR "fastrpc: call $arg->{'module'}::$arg->{'func'}(",join(",", @{$arg->{'args'}}),")\n" if ($gconfig{'rpcdebug'});
		local @rv = &foreign_call($arg->{'module'},
				    $arg->{'func'},
				    @{$arg->{'args'}});
		if (@rv == 1) {
			$rawrv = &serialise_variable(
				{ 'status' => 1, 'rv' => $rv[0] } );
			}
		else {
			$rawrv = &serialise_variable(
				{ 'status' => 1, 'arv' => \@rv } );
			}
		print STDERR "fastrpc: call $arg->{'module'}::$arg->{'func'} done = ",join(",", @rv),"\n" if ($gconfig{'rpcdebug'});
		}
	elsif ($arg->{'action'} eq 'eval') {
		# eval some perl code
		print STDERR "fastrpc: eval $arg->{'module'} $arg->{'code'}\n" if ($gconfig{'rpcdebug'});
		local $rv;
		if ($arg->{'module'}) {
			$rv = eval "package $arg->{'module'};\n".
				   $arg->{'code'}."\n";
			}
		else {
			$rv = eval $arg->{'code'};
			}
		print STDERR "fastrpc: eval $arg->{'module'} $arg->{'code'} done = $rv\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable(
			{ 'status' => 1, 'rv' => $rv } );
		}
	elsif ($arg->{'action'} eq 'quit') {
		print STDERR "fastrpc: quit\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable( { 'status' => 1 } );
		}
	else {
		print STDERR "fastrpc: unknown $arg->{'action'}\n" if ($gconfig{'rpcdebug'});
		$rawrv = &serialise_variable( { 'status' => 0 } );
		}

	# Send back to the client
	print SOCK length($rawrv),"\n";
	print SOCK $rawrv;
	last if ($arg->{'action'} eq 'quit');
	}

# allocate_socket(handle, &port)
sub allocate_socket
{
local $fh = $_[0];
local $proto = getprotobyname('tcp');
if (!socket($fh, PF_INET, SOCK_STREAM, $proto)) {
	return "socket failed : $!";
	}
setsockopt($fh, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
while(1) {
	${$_[1]}++;
	last if (bind($fh, sockaddr_in(${$_[1]}, INADDR_ANY)));
	}
listen($fh, SOMAXCONN);
return undef;
}

  0707010003e270000081a40000000000000002000000013d1fe2b8000008ff000000200000000000000000000000000000001200000003reloc/favicon.ico GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**,    0 0  þ å	H°`¡‚*\ÈPž¥D×Jœ¸p¡D3j”°³s5ŠTXÈ@Fº–Érà²S®šxctJ’%t-EòÀ
tÊ®<A”HeÈœ-%VåÊycX]æ	9•8‘&DÇÊS	W<,ê.Fg ³¹r º£"-ib„îÝ¶Ÿ¨ŽiÈ‡OŸ’Ì3'‰™¹DGJ07ã˜D¹f Qùa`£BÌä4!b‹Ñ ­ý`¹‘§–8À°åJ@’ÐÁª,°:,Á^Á°ÂÂ’oçnAk!¯¹ *dUË¢'\¬y»®9(t°:	²dqT¦Ýf™þq¸"AÞK4fÝk‡iØ(0ƒXh2Çl™øXâöÍòäŠË4“x…°²Ã*&ØðÏÀŽšxc.ƒ´ÒŠ,¾ ¡H'ô`
 LtŽ9Â(!Ð2«œÁÅÚD À‹©´SH#\ì¢#¹dÄ“Î‹ ÐsŽDÌ¬òòœs<ÈÃMm@ñ¢Ë2Æ5Qø`Å TlÐ†*Ï ÉN7-“„»'É¯òÈÌaÄQBqÉ-óTÀˆuÄG 2P&„0„ŽpkœÈ5ë$9
‘LòF ö¨òG=`€ÁŠ{ØD*2Ø3è‹.,„Ž9ÞdòÔ9ó0RNqþ¨6‘¤ÃãÓh0Cˆ2 'l2* ì,“f¡@Q!’´rE#ævD Í‹DÄ+ò¼c&& €@ $ ©ÔÐ20Bœ<Ì°ðK
I&ÁòtðMP@1$û "Ž, ´ñ%èiGAè˜ÉH"Ô-£‹]|°Ž&¦¼2³ÿ`£M<o4ò8ÐNÃ¼‰! 0*Ý$‰9ÝXŠËÜ‚H?±rŠ‡TÁŒ&§è1‡oøÃ&uÈcÎ!xÀ1Q,£N:¾˜„<’œÃˆ5¶„á	ŽVXC¦¬…4;x²ƒÀà3(hÀB þ&wpò"Á #J:£" Oò€â2ÐD‘B
ë€è80Æ´\3†cPÄñ¼…"è”!Í1|hq<ó#©ËðCÐ¿D$ÐWÐ+Ï((qÐ:ˆôãÄ7@qÂ1ˆÂ$Ñ à#¬H×/ÒÓÍ%µ9´òÐq…%°ÀÂÅ‰ #‰ôCªŒBBÿpòL*$¼"‡@jŽî$€P3M’<ñƒPdå D`hÁ…v @PP0ü¡Ž ´!L¸‹@Úáº)!à‘ "‘$#•i„.®€ˆWœÚPÅ7*1	#l
m–$4ÑÔ€þÔcÂB„.d‚bYÂtwkbºH2œ@uäÃm8Abà‚1Ü‚[`Û€þÚA‰v(dD ÷4ƒT4Ðx…2‘v<C/jC°tàÎqáÔ€õ,¤Þ`!<ŒBœ#Kt(%Fe¼6DüX†T$¤"!Òˆ&(!+»ðD
–ŠfÌ3q  ¥`x¸Dc Lo ÷È@¢€_|¡2X"x°ƒ]˜ØÃ
AA'°# 0!4|ð…©av`BÐx£Qò¸FUÀ°Ž`„&å¸E0n§$t#ËéàÁÑŒ˜š%è@	âÆ(@«JÀÅ G R °3‘„Oâž¸‚'4—Œ\ƒ–Ø(LÁˆ+,{°83æÁVÃÐP‚@²Ž+ðr$ï `#Pñ…VÐ{…°„9 qaØâH@'A:ª.xb¬úEy
Ñ3˜Â¥†¸§•‚¼ã?ØB¸µŒDtCÐÐÅÊÓÕ…pÁ‰ØA,q
aø JmëB> Fø ¯`„8©×†4Â``„)t‘×Â2ä°¯˜A›‘,cÊ leSàBÍj$+” ; 07070100036d40000041ed0000000000000001000000053d1ffa2700000000000000200000000000000000000000000000000c00000003reloc/fdisk   07070100036d43000081a40000000000000002000000013d1fe2c20000059b000000200000000000000000000000000000001c00000003reloc/fdisk/acl_security.pl   
require 'fdisk-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the fdisk module
sub acl_security_form
{
local @dlist = &list_disks_partitions();
local ($d, %dcan);
map { $dcan{$_}++ } split(/\s+/, $_[0]->{'disks'});
print "<tr> <td valign=top><b>$text{'acl_disks'}</b></td> <td>\n";
printf "<input type=radio name=disks_def value=1 %s> %s\n",
	$_[0]->{'disks'} eq '*' ? 'checked' : '', $text{'acl_dall'};
printf "<input type=radio name=disks_def value=0 %s> %s<br>\n",
	$_[0]->{'disks'} eq '*' ? '' : 'checked', $text{'acl_dsel'};
print "<select name=disks size=4 multiple>\n";
foreach $d (@dlist) {
	printf "<option value='%s' %s>%s\n",
		$d->{'device'},
		$dcan{$d->{'device'}} ? "selected" : "",
		&text('select_device', uc($d->{'type'}), uc(substr($d->{'device'}, -1))).($d->{'model'} ? " ($d->{'model'})" : "");
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'acl_view'}</b></td>\n";
printf "<td><input type=radio name=view value=1 %s> %s\n",
	$_[0]->{'view'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=view value=0 %s> %s</td> </tr>\n",
	$_[0]->{'view'} ? '' : 'checked', $text{'no'};
}

# acl_security_save(&options)
# Parse the form for security options for the fdisk module
sub acl_security_save
{
if ($in{'disks_def'}) {
	$_[0]->{'disks'} = "*";
	}
else {
	$_[0]->{'disks'} = join(" ", split(/\0/, $in{'disks'}));
	}
$_[0]->{'view'} = $in{'view'};
}

 07070100036d4c000081e40000000000000002000000013d1fe2c100000545000000200000000000000000000000000000001d00000003reloc/fdisk/apply_hdparm.cgi  #!/usr/local/bin/perl

require "./fdisk-lib.pl";
&ReadParse();
&can_edit_disk($in{'drive'}) || &error($text{'edit_ecannot'});

if( $in{ 'action' } eq $text{ 'hdparm_apply' } ) 
{
	&header( $text{ 'hdparm_apply' }, "");
	print "<hr>\n";

	local $command = "hdparm ";
	local $key;
	foreach $key ( 'a', 'd', 'r', 'k', 'u', 'm', 'c', 'A', 'K', 'P', 'X', 'W', 'S' )
	{
		$command .= "-".$key." ".$in{ $key }." " if( $in{ $key } ne "" );
	}
	$command .= $in{ 'drive' }."\n";

	local $out = "<p>". $text{ 'hdparm_performing' }. " : <b>". $command. "</b><i>". &backquote_logged($command). "</i><p>";
	$out =~ s/\n/<br>/g;
	&webmin_log("hdparm", undef, $in{'drive'}, \%in);

	print( $out );
} else {
	&header( $text{'hdparm_speed'}, "");
	print "<hr>\n";

	local ( $_, $_, $buffered, $buffer_cache ) = split( /\n/, `hdparm -t -T $in{ 'drive' }` );
	( $_, $buffered ) = split( /=/, $buffered );
	( $_, $buffer_cache ) = split( /=/, $buffer_cache );

	print "<p><table border cellpadding=2>\n";
	print "<tr $tb> <td colspan=2>",
	      "<b>$text{'hdparm_speedres'}</b></td> </tr>\n";
	print "<tr $cb> <td><b>$text{'hdparm_buf1'}</b></td> ",
	      "<td>$buffered</td> </tr>\n";
	print "<tr $cb> <td><b>$text{'hdparm_buf2'}</b></td> ",
	      "<td>$buffer_cache</td> </tr>\n";
	print "</table><p>\n";
}

print "<hr>\n";
&footer( "", $text{ 'index_return' } );

   07070100036d4f000081a40000000000000002000000013d1fe2c200000000000000200000000000000000000000000000001300000003reloc/fdisk/config    07070100036d52000081a40000000000000002000000013d1fe2c20000001a000000200000000000000000000000000000001700000003reloc/fdisk/defaultacl    noconfig=0
disks=*
view=1
  07070100036d58000081e40000000000000002000000013d1fe2c2000010ac000000200000000000000000000000000000001c00000003reloc/fdisk/edit_hdparm.cgi   #!/usr/local/bin/perl
# edit_hdparm.cgi
# Edit an IDE parameters for some disk

require './fdisk-lib.pl';
&ReadParse();
@dlist = &list_disks_partitions();
$d = $dlist[$in{'disk'}];
&can_edit_disk($d->{'device'}) ||
	&error($text{'edit_ecannot'});

&header($text{'hdparm_title'}, "");
print "<hr>\n";
if ( ! &has_command( "hdparm" ) ) {
	print "<p>$text{ 'edit_ehdparm' }<p> <hr>\n";
	&footer( "", $text{ 'index_return' } );
	exit;
	}

%hdparm = ( 'A', "1", 'K', "0", 'P', "0", 'X', "0", 'W', "0", 'S', "0" );
@yesno = ( "1", $text{ 'hdparm_on' }, "0", $text{ 'hdparm_off' } );

foreach $argument ( 'a', 'd', 'r', 'k', 'u', 'm', 'c' )
{
    $out = `hdparm -$argument $d->{'device'}`;
    if ($out =~ /\s+=\s+(\S+)/) {
	$hdparm{ $argument } = $1;
	}
    #( $_, $line ) = split( /=/, `hdparm -$argument $d->{'device'}` );
    #$line =~ s/ {1,}//;
    #( $hdparm{ $argument } ) = split( / /, $line );
}

print(
"<form action=apply_hdparm.cgi><table border cols=1 width=\"100%\"><input type=hidden name=drive value=", $d -> { 'device' }, ">",
    "<tr ", $tb, ">",
    	"<td><b>", $text{ 'hdparm_label' }, "</b></td>",
    "</tr><tr ", $cb, "><td>",
	"<table width=\"100%\">",
	    "<tr>",
    		"<td>", &hlink( "<b>". $text{ 'hdparm_conf_X' }. "</b>", 'X' ), &p_select_wdl( "X", $hdparm{ 'X' }, ( "0", $text{ 'hdparm_conf_X_defaut' }, "1", $text{ 'hdparm_conf_X_disable' }, "9", "PIO mode 1", "10", "PIO mode 2", "11", "PIO mode 3", "12", "PIO mode 4", "32", "Multimode DMA 0", "33", "Multimode DMA 1", "34", "Multimode DMA 2", "64", "Ultra DMA 0", "65", "Ultra DMA 1", "66", "Ultra DMA 2" ) ), "</td>",
		"<td>", &l_radio( $text{ 'hdparm_conf_d' }, 'd', @yesno ), "</td>",
	    "</tr><tr>",
		"<td>", &hlink( "<b>". $text{ 'hdparm_conf_a' }. "</b>", "a" ), " ", &p_entry( "a", 2, $hdparm{ 'a' } ), "</td>",
		"<td>", &l_radio( $text{ 'hdparm_conf_A' }, 'A', @yesno ), "</td>",
	    "</tr><tr>",
		"<td>", &l_radio( $text{ 'hdparm_conf_W' }, 'W', @yesno ), "</td>",
		"<td>", &l_radio( $text{ 'hdparm_conf_u' }, 'u', @yesno ), "</td>",
	    "</tr><tr>",
		"<td>", &l_radio( $text{ 'hdparm_conf_k' }, 'k', @yesno ), "</td>",
		"<td>", &l_radio( $text{ 'hdparm_conf_K' }, 'K', @yesno ), "</td>",
	    "</tr><tr>",
		"<td>", &l_radio( $text{ 'hdparm_conf_r' }, 'r', @yesno ), "</td>",
		"<td>", &l_radio( $text{ 'hdparm_conf_P' }, 'P', @yesno ), "</td>",
	    "</tr><tr>",
		"<td>", &hlink( "<b>". $text{ 'hdparm_conf_S' }. "</b>", "S" ), " ", &p_entry( "S", 6, $hdparm{ 'S' } ), "</td>",
	    "</tr>",
	"</table><table>",
	    "<tr><td>", &l_radio( $text{ 'hdparm_conf_c' }, 'c', ( "0", $text{ 'hdparm_disable' }, "1", $text{ 'hdparm_enable' }, "3", $text{ 'hdparm_enable_special' } ) ), "</td></tr>",
	    "<tr><td>", &l_radio( $text{ 'hdparm_conf_m' }, 'm', ( "0", $text{ 'hdparm_disable' }, "2", "2", "4", "4", "8", "8", "16", "16", "32", "32" ) ), "<td><tr>",
	"</table></td>",
    "</tr>",
"</table><table cols=3 width=\"100%\" nosave>",
    "<tr>",
	"<td align=left><input type=submit name=action value=\"", $text{ 'hdparm_apply' }, "\"></td>",
	"<td align=right><input type=submit name=action value=\"", $text{ 'hdparm_speed' }, "\"></td>",
    "</tr>",
"</table></form>" );

print "<hr>\n";
&footer( "", $text{ 'index_return' } );

sub l_radio
{
    my ( $label, $flag, @items ) = @_;
    return &hlink( "<b>".$label."</b>", $flag )."</td> <td>".
	   &p_radio( $flag, $hdparm{ $flag }, @items );
}

sub p_radio
{
    my ( $name, $checked, @list ) = @_;
    local $out, $size = @list, $i = 0;

    do
    {
	$out .= " <input type=radio name=".$name." value=".$list[$i];
	$out .= " checked" if( $checked eq $list[$i++] );
	$out .="> ".$list[$i++];
    } while( $i < $size );

    return $out;
}

sub p_entry
{
    my ( $name, $size, $value ) = @_;

    $size ? return "</td> <td><input name=". $name. " size=". $size." value=\"". $value."\">" : return "</td> <td><input name=". $name. " value=\"". $value."\">";
}

sub p_select_wdl
{
    my ( $name, $selected, @list ) = @_;
    local $size = @list, $i = 0, $out = "</td> <td><select name=".$name.">";
    do
    {
	$out .= "<option name=".$name." value=".$list[$i];
	$out .= " selected" if( $selected eq $list[$i++] );
	$out .= ">".$list[$i++];
    } while( $i < $size );
    $out .= "</select>";

    return $out;
}
07070100036d59000081e40000000000000002000000013d1fe2c200001d02000000200000000000000000000000000000001a00000003reloc/fdisk/edit_part.cgi #!/usr/local/bin/perl
# edit_part.cgi
# Edit an existing partition, or create a new one

require './fdisk-lib.pl';
&ReadParse();
@dlist = &list_disks_partitions();
$dinfo = $dlist[$in{'disk'}];
&can_edit_disk($dinfo->{'device'}) ||
	&error($text{'edit_ecannot'});
if ($in{'new'}) {
	&header($text{'create_title'}, "");
	}
else {
	&header($text{'edit_title'}, "");
	}
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<form action=save_part.cgi><tr $cb><td><table width=100%>\n";
print "<input type=hidden name=disk value=$in{'disk'}>\n";
print "<input type=hidden name=part value=$in{'part'}>\n";
print "<input type=hidden name=new value=$in{'new'}>\n";
@plist = @{$dinfo->{'parts'}};
if ($in{'new'}) {
	if ($in{'new'} == 1 || $in{'new'} == 3) {
		# Adding a new primary or extended partition
		$np = 1;
		for($i=0; $i<@plist; $i++) {
			if ($plist[$i]->{'number'} == $np) { $np++; }
			push(@start, $plist[$i]->{'start'});
			push(@end, $plist[$i]->{'end'});
			}
		$min = 1;
		$max = $dinfo->{'cylinders'};
		}
	else {
		# Adding a new logical partition (inside the extended partition)
		$np = 5;
		for($i=0; $i<@plist; $i++) {
			if ($plist[$i]->{'number'} == $np) { $np++; }
			if ($plist[$i]->{'extended'}) {
				$min = $plist[$i]->{'start'};
				$max = $plist[$i]->{'end'};
				}
			else {
				push(@start, $plist[$i]->{'start'});
				push(@end, $plist[$i]->{'end'});
				}
			}
		}
	print "<input type=hidden name=newpart value=$np>\n";
	print "<input type=hidden name=min value=$min>\n";
	print "<input type=hidden name=max value=$max>\n";

	# find a gap in the partition map
	for($start=$min; $start<=$max; $start++) {
		$found = 1;
		for($i=0; $i<@start; $i++) {
			if ($start >= $start[$i] && $start <= $end[$i]) {
				$found = 0;
				last;
				}
			}
		if ($found) { last; }
		}
	if ($found) {
		# starting place found.. find the end
		$found = 0;
		for($end=$start; $end<=$max; $end++) {
			for($i=0; $i<@start; $i++) {
				if ($end >= $start[$i] && $end <= $end[$i]) {
					$found = 1;
					last;
					}
				}
			if ($found) { last; }
			}
		$end--;
		}
	else {
		# no place for new partition!
		$start = $end = 0;
		}
	}
else { 
	# Just editing an existing partition
	$pinfo = $plist[$in{'part'}];
	$np = $pinfo->{'number'};
	}
print "<input type=hidden name=np value=$np>\n";

print "<tr> <td valign=top><b>$text{'edit_location'}</b></td>\n";
print "<td>",$dinfo->{'device'} =~ /^\/dev\/(s|h)d([a-z])$/ ?
		&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), $np) :
	     $dinfo->{'device'} =~ /rd\/c(\d+)d(\d+)$/ ?
		&text('select_mpart', "$1", "$2", $np) :
	     $dinfo->{'device'} =~ /ida\/c(\d+)d(\d+)$/ ?
		&text('select_cpart', "$1", "$2", $np) :
	     $dinfo->{'device'} =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc/ ?
		&text('select_spart', "$1", "$2", "$3", "$4", $np) :
	     $dinfo->{'device'} =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc/ ?
		&text('select_snewide', "$1", "$2", "$3", "$4", $np) :
		$dinfo->{'device'},"</td>\n";

print "<td><b>$text{'edit_device'}</b></td>\n";
$dev = $dinfo->{'prefix'}.$np;
print "<td>$dev</td> </tr>\n";

print "<tr> <td><b>$text{'edit_type'}</b></td>\n";
if ($pinfo->{'extended'} || $in{'new'} == 3) {
	print "<td>$text{'extended'}</td>\n";
	}
else {
	print "<td nowrap><select name=type>\n";
	foreach $t (sort { &tag_name($a) cmp &tag_name($b) } &list_tags()) {
		printf "<option value=$t %s> %s\n",
			($in{'new'} && $t eq "83" ||
			 !$in{'new'} && $t eq $pinfo->{'type'}) ? "selected"
								: "",
			&tag_name($t);
		}
	print "</select></td>\n";
	}

print "<td><b>$text{'edit_extent'}</b></td>\n";
if ($in{'new'}) {
	print "<td><input name=start size=4 value=$start> - \n";
	print "<input name=end size=4 value=$end>\n";
	}
else {
	print "<td><tt>$pinfo->{'start'}</tt> - <tt>$pinfo->{'end'}</tt>\n";
	}
print $text{'edit_of'}," $dinfo->{'cylinders'}</td> </tr>\n";

print "<tr> <td><b>$text{'edit_status'}</b></td>\n";
if ($pinfo->{'extended'}) {
	foreach $p (@plist) {
		$ecount++ if ($p->{'number'} > 4);
		}
	if ($ecount == 1) {
		print "<td>", $text{'edit_cont1'}, "</td>\n";
		}
	else {
		if ($ecount > 4) {
			print "<td>", &text('edit_cont5', $ecount), "</td>\n";
			}
		else {
			print "<td>", &text('edit_cont234', $ecount), "</td>\n";
			}
		}
	}
else {
	@stat = &device_status($dev);
	if (@stat) {
		$msg = $stat[2] ? 'edit_mount' : 'edit_umount';
		$msg .= 'vm' if ($stat[1] eq 'swap');
		$msg .= 'raid' if ($stat[1] eq 'raid');
		$msg .= 'lvm' if ($stat[1] eq 'lvm');
		print "<td>",&text($msg, "<tt>$stat[0]</tt>",
				   "<tt>$stat[1]</tt>"),"</td>\n";
		}
	elsif ($in{'new'}) { print "<td>$text{'edit_notexist'}</td>\n"; }
	else { print "<td>$text{'edit_notused'}</td>\n"; }
	}

print "<td><b>$text{'edit_size'}</b></td>\n";
if ($in{'new'}) { print "<td>$text{'edit_notexist'}</td> </tr>\n"; }
else { print "<td>",&text('edit_blocks', $pinfo->{'blocks'}),"</td> </tr>\n"; }

if (($has_e2label || $has_xfs_db) && ($pinfo->{'type'} eq '83' || $in{'new'})) {
	local $label = $in{'new'} ? undef : &get_label($pinfo->{'device'});
	print "<tr> <td><b>$text{'edit_label'}</b></td> <td>\n";
	if (@stat) {
		print $label ? "<tt>$label</tt>" : $text{'edit_none'};
		}
	else {
		print "<input name=label size=16 value='$label'>\n";
		}
	print "</td> </tr>\n";
	}

print "</table></td></tr></table><p>\n";
if (@stat) { print "<b>$text{'edit_inuse'}</b>.\n"; }
elsif ($in{'new'}) {
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
else {
	if (!$pinfo->{'extended'}) {
		print "<input type=submit value=\"$text{'save'}\">\n";
		}
	print "<input name=delete type=submit value=\"$text{'delete'}\">\n";
	}
print "</form>\n";

if (!$in{'new'} && !$pinfo->{'extended'}) {
	if (!@stat || $stat[2] == 0) {
		# Show form for creating filesystem
		print "<hr><table width=100%>\n" if (!$donehead++);
		print "<tr> <form action=mkfs_form.cgi>\n";
		print "<input type=hidden name=dev value=$dev>\n";
		print "<td nowrap><input type=submit value='$text{'edit_mkfs2'}'>";
		print "<select name=type>\n";
		local $rt = @stat ? $stat[1] : &conv_type($pinfo->{'type'});
		foreach $f (&supported_filesystems()) {
			printf "<option value=%s %s>%s (%s)\n",
				$f, $rt eq $f ? "selected" : "",
				$text{"fs_$f"}, $f;
			}
		print "</select></td>\n";
		print "<td>$text{'edit_mkfsmsg2'}</td> </form></tr>\n";
		}

	if (!$in{'new'} && @stat && $stat[2] == 0 && &can_fsck($stat[1])) {
		print "<hr><table width=100%>\n" if (!$donehead++);
		print "<tr> <form action=fsck_form.cgi>\n";
		print "<td valign=top>\n";
		print "<input type=hidden name=dev value=$dev>\n";
		print "<input type=hidden name=type value=$stat[1]>\n";
		print "<input type=submit value=\"$text{'edit_fsck'}\"></td>\n";
		print "<td>",&text('edit_fsckmsg', "<tt>fsck</tt>"),"</td>\n";
		print "</form> </tr>\n";
		}

	if (!$in{'new'} && @stat && $stat[2] == 0 && &can_tune($stat[1])) {
		print "<hr><table width=100%>\n" if (!$donehead++);
		print "<tr> <form action=tunefs_form.cgi>\n";
		print "<td valign=top>\n";
		print "<input type=hidden name=dev value=$dev>\n";
		print "<input type=hidden name=type value=$stat[1]>\n";
		print "<input type=submit value=\"", $text{'edit_tune'}, "\"></td>\n";
		print "<td>$text{'edit_tunemsg'}</td> </tr>\n";
		print "</form> </tr>\n";
		}
	print "</table><p>\n" if ($donehead);
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100036da3000081a40000000000000002000000013d1fe2c2000063df000000200000000000000000000000000000001900000003reloc/fdisk/fdisk-lib.pl  # fdisk-lib.pl
# Functions for disk management under linux

do '../web-lib.pl';
&init_config();
&foreign_require("mount", "mount-lib.pl");
if (&foreign_check("raid")) {
	&foreign_require("raid", "raid-lib.pl");
	$raid_module++;
	}
if (&foreign_check("lvm")) {
	&foreign_require("lvm", "lvm-lib.pl");
	$lvm_module++;
	}
&foreign_require("proc", "proc-lib.pl");
%access = &get_module_acl();
$has_e2label = &has_command("e2label");
$has_xfs_db = &has_command("xfs_db");
$| = 1;

# list_disks_partitions()
# Returns a structure containing the details of all disks and partitions
sub list_disks_partitions
{
if (defined(@list_disks_partitions_cache)) {
	return @list_disks_partitions_cache;
	}

# Check /proc/scsi for SCSI disk models
local @pscsi;
open(SCSI, "/proc/scsi/scsi");
while(<SCSI>) {
	s/\s/ /g;
	if (/^Host:/) {
		push(@pscsi, $_);
		}
	elsif (/^\s+\S/) {
		$pscsi[$#pscsi] .= $_;
		}
	}
close(SCSI);
@pscsi = grep { /Type:\s+Direct-Access/i } @pscsi;

local (@disks, @devs, $d);
if (open(PARTS, "/proc/partitions")) {
	# The list of all disks can come from the kernel
	local $sc = 0;
	while(<PARTS>) {
		if (/\d+\s+\d+\s+\d+\s+sd(\S)\s/ ||
		    /\d+\s+\d+\s+\d+\s+(scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc)\s+/) {
			# New or old style SCSI device
			# XXX new-style not supported!
			local $d = $1;
			if ($pscsi[$sc] =~ /USB-FDU/) {
				# USB floppy with scsi emulation!
				splice(@pscsi, $sc, 1);
				next;
				}
			$sc++;
			push(@devs, $d =~ /^scsi/ ? "/dev/$d" : "/dev/sd$d");
			}
		elsif (/\d+\s+\d+\s+\d+\s+hd(\S)\s/) {
			# IDE disk (but skip CDs)
			local $n = $1;
			if (open(MEDIA, "/proc/ide/hd$n/media")) {
				local $media = <MEDIA>;
				close(MEDIA);
				if ($media =~ /^disk/) {
					push(@devs, "/dev/hd$n");
					}
				}
			}
		elsif (/\d+\s+\d+\s+\d+\s+(ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc)\s+/) {
			# New-style IDE disk
			push(@devs, "/dev/$1");
			}
		elsif (/\d+\s+\d+\s+\d+\s+(rd\/c(\d+)d\d+)\s/) {
			# Mylex raid device
			push(@devs, "/dev/$1");
			}
		elsif (/\d+\s+\d+\s+\d+\s+(ida\/c(\d+)d\d+)\s/) {
			# Compaq raid device
			push(@devs, "/dev/$1");
			}

		}
	close(PARTS);
	@devs = sort { ($b =~ /\/hd[a-z]$/ ? 1 : 0) <=>
		       ($a =~ /\/hd[a-z]$/ ? 1 : 0) } @devs;
	}

# Call fdisk to get partition and geometry information
local @cdstat = stat("/dev/cdrom");
if (@cdstat) {
	@devs = grep { (stat($_))[1] != $cdstat[1] } @devs;
	}
local $devs = join(" ", @devs);
local $disk;
local $sc = 0;
open(FDISK, "fdisk -l $devs 2>/dev/null |");
while(<FDISK>) {
	if (/Disk\s+([^ :]+):\s+(\d+)\s+\S+\s+(\d+)\s+\S+\s+(\d+)/) {
		# New disk section
		$disk = { 'device' => $1,
			  'prefix' => $1,
			  'heads' => $2,
			  'sectors' => $3,
			  'cylinders' => $4,
			  'index' => scalar(@disks),
			  'parts' => [ ] };
		local @st = stat($disk->{'device'});
		next if (@cdstat && $st[1] == $cdstat[1]);
		if ($disk->{'device'} =~ /\/sd(\S)$/) {
			# Old-style SCSI disk
			$disk->{'desc'} = &text('select_device', 'SCSI',uc($1));
			$disk->{'scsi'} = $sc++;
			$disk->{'type'} = 'scsi';
			}
		elsif ($disk->{'device'} =~ /\/hd(\S)$/) {
			# IDE disk
			$disk->{'desc'} = &text('select_device', 'IDE', uc($1));
			$disk->{'type'} = 'ide';
			}
		elsif ($disk->{'device'} =~ /\/(scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc)/) {
			# New complete SCSI disk specification
			$disk->{'host'} = $2;
			$disk->{'bus'} = $3;
			$disk->{'target'} = $4;
			$disk->{'lun'} = $5;
			$disk->{'desc'} = &text('select_scsi',
						"$2", "$3", "$4", "$5");
			$disk->{'scsi'} = $sc++;
			$disk->{'type'} = 'scsi';
			$disk->{'prefix'} =~ s/disc$/part/g;
			}
		elsif ($disk->{'device'} =~ /\/(ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/disc)/) {
			# New-style IDE specification
			$disk->{'host'} = $2;
			$disk->{'bus'} = $3;
			$disk->{'target'} = $4;
			$disk->{'lun'} = $5;
			$disk->{'desc'} = &text('select_newide',
						"$2", "$3", "$4", "$5");
			$disk->{'type'} = 'ide';
			$disk->{'prefix'} =~ s/disc$/part/g;
			}
		elsif ($disk->{'device'} =~ /\/(rd\/c(\d+)d(\d+))/) {
			# Mylex raid device
			local ($mc, $md) = ($2, $3);
			$disk->{'desc'} = &text('select_mylex', $mc, $md);
			open(RD, "/proc/rd/c$mc/current_status");
			while(<RD>) {
				if (/^Configuring\s+(.*)/i) {
					$disk->{'model'} = $1;
					}
				elsif (/\s+(\S+):\s+([^, ]+)/ &&
				       $1 eq $disk->{'device'}) {
					$disk->{'raid'} = $2;
					}
				}
			close(RD);
			$disk->{'type'} = 'raid';
			$disk->{'prefix'} = $disk->{'device'}.'p';
			}
		elsif ($disk->{'device'} =~ /\/(ida\/c(\d+)d(\d+))/) {
			local ($ic, $id) = ($2, $3);
			$disk->{'desc'} = &text('select_cpq', $ic, $id);
			open(IDA, -d "/proc/driver/array" ? "/proc/driver/array/ida$ic" : "/proc/driver/cpqarray/ida$ic");
			while(<IDA>) {
				if (/^(\S+):\s+(.*)/ && $1 eq "ida$ic") {
					$disk->{'model'} = $2;
					}
				}
			close(IDA);
			$disk->{'type'} = 'raid';
			$disk->{'prefix'} = $disk->{'device'}.'p';
			}
		push(@disks, $disk);
		}
	elsif (/(\/dev\/\S+?(\d+))[ \t*]+\d+\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S{1,2})\s+(.*)/ || /(\/dev\/\S+?(\d+))[ \t*]+(\d+)\s+(\d+)\s+(\S+)\s+(\S{1,2})\s+(.*)/) {
		# Partition within the current disk
		local $part = { 'number' => $2,
				'device' => $1,
				'type' => $6,
				'start' => $3,
				'end' => $4,
				'blocks' => $5,
				'extended' => $6 eq '5' || $6 eq 'f' ? 1 : 0,
				'index' => scalar(@{$disk->{'parts'}}) };
		$part->{'desc'} =
			$part->{'device'} =~ /(.)d(\S)(\d+)$/ ?
			&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
			$part->{'device'} =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
			&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
			$part->{'device'} =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
			&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
			$part->{'device'} =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ? 
			&text('select_mpart', "$1", "$2", "$3") :
			$part->{'device'} =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ? 
			&text('select_cpart', "$1", "$2", "$3") : "???",
		push(@{$disk->{'parts'}}, $part);
		}
	}
close(FDISK);

# Check /proc/ide for IDE disk models
foreach $d (@disks) {
	if ($d->{'type'} eq 'ide') {
		local $short;
		if (defined($d->{'host'})) {
			$short = "hd".(('a' .. 'z')[$d->{'host'}*4 + $d->{'target'}*2 + $d->{'bus'}]);
			}
		else {
			$short = $d->{'device'};
			$short =~ s/^.*\///g;
			}
		if (open(MODEL, "/proc/ide/$short/model")) {
			($d->{'model'} = <MODEL>) =~ s/\r|\n//g;
			close(MODEL);
			}
		}
	}

# Fill in SCSI information
foreach $d (@disks) {
	if ($d->{'type'} eq 'scsi') {
		local $s = $d->{'scsi'};
		if ($pscsi[$s] =~ /Vendor:\s+(\S+).*Model:\s+(.*)\s+Rev:/i) {
			$d->{'model'} = "$1 $2";
			}
		if ($pscsi[$s] =~ /Host:\s+scsi(\d+).*Id:\s+(\d+)/i) {
			$d->{'controller'} = int($1);
			$d->{'scsiid'} = int($2);
			}
		}
	}

@list_disks_partitions_cache = @disks;
return @disks;
}

# change_type(disk, partition, type)
# Changes the type of an existing partition
sub change_type
{
&open_fdisk("$_[0]");
&wprint("t\n");
&wait_for($fh, 'Partition.*:');
&wprint("$_[1]\n");
&wait_for($fh, 'Hex.*:');
&wprint("$_[2]\n");
&wait_for($fh, 'Command.*:');
&wprint("w\n"); sleep(1);
&close_fdisk();
}

# delete_partition(disk, partition)
# Delete an existing partition
sub delete_partition
{
&open_fdisk("$_[0]");
&wprint("d\n");
&wait_for($fh, 'Partition.*:');
&wprint("$_[1]\n");
&wait_for($fh, 'Command.*:');
&wprint("w\n");
&wait_for($fh, 'Syncing'); sleep(3);
&close_fdisk();
}

# create_partition(disk, partition, start, end, type)
# Create a new partition with the given extent and type
sub create_partition
{
&open_fdisk("$_[0]");
&wprint("n\n");
local $wf = &wait_for($fh, 'primary.*\r\n', 'First.*:');
if ($_[1] > 4) {
	&wprint("l\n");
	}
else {
	&wprint("p\n");
	&wait_for($fh, 'Partition.*:');
	&wprint("$_[1]\n");
	}
&wait_for($fh, 'First.*:') if ($wf != 1);
&wprint("$_[2]\n");
&wait_for($fh, 'Last.*:');
&wprint("$_[3]\n");
&wait_for($fh, 'Command.*:');

&wprint("t\n");
&wait_for($fh, 'Partition.*:');
&wprint("$_[1]\n");
&wait_for($fh, 'Hex.*:');
&wprint("$_[4]\n");
&wait_for($fh, 'Command.*:');
&wprint("w\n");
&wait_for($fh, 'Syncing'); sleep(3);
&close_fdisk();
}

# create_extended(disk, partition, start, end)
sub create_extended
{
&open_fdisk("$_[0]");
&wprint("n\n");
&wait_for($fh, 'primary.*\r\n');
&wprint("e\n");
&wait_for($fh, 'Partition.*:');
&wprint("$_[1]\n");
&wait_for($fh, 'First.*:');
&wprint("$_[2]\n");
&wait_for($fh, 'Last.*:');
&wprint("$_[3]\n");
&wait_for($fh, 'Command.*:');

&wprint("w\n");
&wait_for($fh, 'Syncing'); sleep(3);
&close_fdisk();
}

# list_tags()
# Returns a list of known partition tag numbers
sub list_tags
{
return sort { hex($a) <=> hex($b) } (keys %tags);
}

# tag_name(tag)
# Returns a human-readable version of a tag
sub tag_name
{
return $tags{$_[0]} ? $tags{$_[0]}
		    : $hidden_tags{$_[0]};
}

# conv_type(tag)
# Given a partition tag, returns the filesystem type (assuming it is supported)
sub conv_type
{
if ($_[0] eq "4" || $_[0] eq "6" ||
    $_[0] eq "1" || $_[0] eq "e") { $rv = "msdos"; }
elsif ($_[0] eq "b" || $_[0] eq "c") { return "vfat"; }
elsif ($_[0] eq "83") { $rv = "ext2"; }
elsif ($_[0] eq "81") { $rv = "minix"; }
else { return undef; }
if (&has_command("mkfs.$rv")) { return $rv; }
return undef;
}

# fstype_name(type)
# Returns a readable name for a filesystem type
sub fstype_name
{
return $text{"fs_".$_[0]};
}

sub mkfs_options
{
if ($_[0] eq "ext2") {
	&opt_input("ext2_b", $text{'bytes'}, 1);
	&opt_input("ext2_f", $text{'bytes'}, 0);
	&opt_input("ext2_i", "", 1);
	&opt_input("ext2_m", "%", 0);
	&opt_input("ext2_g", "", 1);
	print "<td align=right><b>$text{'ext2_c'}</b></td>\n";
	print "<td><input type=radio name=ext2_c value=1> $text{'yes'}\n";
	print "<input type=radio name=ext2_c value=0 checked> $text{'no'}",
	      "</td> </tr>\n";
	}
elsif ($_[0] eq "msdos" || $_[0] eq "vfat") {
	&opt_input("msdos_ff", "", 1);
	&opt_input("msdos_F", "bits", 0);
	&opt_input("msdos_i", "", 1);
	&opt_input("msdos_n", "", 0);
	&opt_input("msdos_r", "", 1);
	&opt_input("msdos_s", "sectors", 0);
	print "<tr> <td align=right><b>$text{'msdos_c'}</b></td>\n";
	print "<td><input type=radio name=msdos_c value=1> $text{'yes'}\n";
	print "<input type=radio name=msdos_c value=0 checked> $text{'no'}",
	      "</td> </tr>\n";
	}
elsif ($_[0] eq "minix") {
	&opt_input("minix_n", "", 1);
	&opt_input("minix_i", "", 0);
	&opt_input("minix_b", "", 1);
	print "<td align=right><b>$text{'minix_c'}</b></td>\n";
	print "<td><input type=radio name=msdos_c value=1> $text{'yes'}\n";
	print "<input type=radio name=msdos_c value=0 checked> $text{'no'}",
	      "</td> </tr>\n";
	}
elsif ($_[0] eq "reiserfs") {
	print "<tr> <td><b>$text{'reiserfs_force'}</b></td>\n";
	print "<td><input type=radio name=reiserfs_f value=1> $text{'yes'}\n";
	print "<input type=radio name=reiserfs_f value=0 checked> ",
	      "$text{'no'}</td>\n";

	print "<td><b>$text{'reiserfs_hash'}</b></td>\n";
	print "<td><select name=reiserfs_h>\n";
	print "<option value='' checked>$text{'default'}\n";
	print "<option>rupasov\n";
	print "<option>tea\n";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "ext3") {
	&opt_input("ext2_b", $text{'bytes'}, 1);
	&opt_input("ext2_f", $text{'bytes'}, 0);
	&opt_input("ext2_i", "", 1);
	&opt_input("ext2_m", "%", 0);
	&opt_input("ext3_j", "MB", 1);
	print "<td align=right><b>$text{'ext2_c'}</b></td>\n";
	print "<td><input type=radio name=ext2_c value=1> $text{'yes'}\n";
	print "<input type=radio name=ext2_c value=0 checked> $text{'no'}",
	      "</td> </tr>\n";
	}
elsif ($_[0] eq "xfs") {
	print "<tr> <td><b>$text{'xfs_force'}</b></td>\n";
	print "<td><input type=radio name=xfs_f value=1> $text{'yes'}\n";
	print "<input type=radio name=xfs_f value=0 checked> ",
	      "$text{'no'}</td>\n";

	&opt_input("xfs_b", $text{'bytes'}, 0);
	}
}

# mkfs_parse(type, device)
# Returns a command to build a new filesystem of the given type on the
# given device. Options are taken from %in.
sub mkfs_parse
{
local($cmd);
if ($_[0] eq "ext2") {
	$cmd = "mkfs -t ext2";
	$cmd .= &opt_check("ext2_b", '\d+', "-b");
	$cmd .= &opt_check("ext2_f", '\d+', "-f");
	$cmd .= &opt_check("ext2_i", '\d{4,}', "-i");
	$cmd .= &opt_check("ext2_m", '\d+', "-m");
	$cmd .= &opt_check("ext2_g", '\d+', "-g");
	$cmd .= $in{'ext2_c'} ? " -c" : "";
	$cmd .= " $_[1]";
	}
elsif ($_[0] eq "msdos" || $_[0] eq "vfat") {
	$cmd = "mkfs -t $_[0]";
	$cmd .= &opt_check("msdos_ff", '[1-2]', "-f");
	$cmd .= &opt_check("msdos_F", '\d+', "-F");
	$cmd .= &opt_check("msdos_i", '[0-9a-f]{8}', "-i");
	$cmd .= &opt_check("msdos_n", '\S{1,11}', "-n");
	$cmd .= &opt_check("msdos_r", '\d+', "-r");
	$cmd .= &opt_check("msdos_s", '\d+', "-s");
	$cmd .= $in{'msdos_c'} ? " -c" : "";
	$cmd .= " $_[1]";
	}
elsif ($_[0] eq "minix") {
	local(@plist, $disk, $part, $i, @pinfo);
	$cmd = "mkfs -t minix";
	$cmd .= &opt_check("minix_n", '14|30', "-n ");
	$cmd .= &opt_check("minix_i", '\d+', "-i ");
	$cmd .= $in{'minix_c'} ? " -c" : "";
	$cmd .= &opt_check("minix_b", '\d+', " ");
	$cmd .= " $_[1]";
	}
elsif ($_[0] eq "reiserfs") {
	$cmd = "yes | mkreiserfs";
	$cmd .= " -f" if ($in{'reiserfs_f'});
	$cmd .= " -h $in{'reiserfs_h'}" if ($in{'reiserfs_h'});
	$cmd .= " $_[1]";
	}
elsif ($_[0] eq "ext3") {
	if (&has_command("mkfs.ext3")) {
		$cmd = "mkfs -t ext3";
		$cmd .= &opt_check("ext3_j", '\d+', "-j");
		}
	elsif (&has_command("mke3fs")) {
		$cmd = "mke3fs";
		$cmd .= &opt_check("ext3_j", '\d+', "-j");
		}
	else {
		$cmd = "mkfs.ext2 -j";
		if (!$in{'ext3_j_def'}) {
			$in{'ext3_j'} =~ /^\d+$/ ||
				&error(&text('opt_error', $in{'ext3_j'},
					     $text{'ext3_j'}));
			$cmd .= " -J size=$in{'ext3_j'}";
			}
		}
	$cmd .= &opt_check("ext2_b", '\d+', "-b");
	$cmd .= &opt_check("ext2_f", '\d+', "-f");
	$cmd .= &opt_check("ext2_i", '\d{4,}', "-i");
	$cmd .= &opt_check("ext2_m", '\d+', "-m");
	$cmd .= $in{'ext2_c'} ? " -c" : "";
	$cmd .= " $_[1]";
	}
elsif ($_[0] eq "xfs") {
	$cmd = "mkfs -t $_[0]";
	$cmd .= " -f" if ($in{'xfs_f'});
	$cmd .= " -b size=$in{'xfs_b'}" if (!$in{'xfs_b_def'});
	$cmd .= " $_[1]";
	}
return $cmd;
}

# can_tune(type)
# Returns 1 if this filesystem type can be tuned
sub can_tune
{
return ($_[0] eq "ext2");
}

# tunefs_options(type)
# Output HTML for tuning options for some filesystem type
sub tunefs_options
{
if ($_[0] eq "ext2") {
	&opt_input("tunefs_c", "", 1);

	print "<td align=right><b>$text{'tunefs_e'}</b></td> <td>\n";
	print "<input type=radio name=tunefs_e_def value=1 checked> ",
	      "$text{'opt_default'}\n";
	print "&nbsp; <input type=radio name=tunefs_e_def value=0>\n";
	print "<select name=tunefs_e>\n";
	print "<option value=continue> $text{'tunefs_continue'}\n";
	print "<option value=remount-ro> $text{'tunefs_remount'}\n";
	print "<option value=panic> $text{'tunefs_panic'}\n";
	print "</select></td> </tr>\n";

	print "<tr> <td align=right><b>$text{'tunefs_u'}</b></td> <td>\n";
	print "<input type=radio name=tunefs_u_def value=1 checked> ",
	      "$text{'opt_default'}\n";
	print "&nbsp; <input type=radio name=tunefs_u_def value=0>\n";
	print "<input name=tunefs_u size=8> ",
	      &user_chooser_button("tunefs_u", 0),"</td>\n";

	print "<td align=right><b>$text{'tunefs_g'}</b></td> <td>\n";
	print "<input type=radio name=tunefs_g_def value=1 checked> ",
	      "$text{'opt_default'}\n";
	print "&nbsp; <input type=radio name=tunefs_g_def value=0>\n";
	print "<input name=tunefs_g size=8> ",
	      &group_chooser_button("tunefs_g", 0),"</td> </tr>\n";

	&opt_input("tunefs_m", "%", 1);
	$tsel = "<select name=tunefs_i_unit>\n".
		"<option value=d> $text{'tunefs_days'}\n".
		"<option value=w> $text{'tunefs_weeks'}\n".
		"<option value=m> $text{'tunefs_months'}\n".
		"</select>\n";
	&opt_input("tunefs_i", $tsel, 0);
	}
}

# tunefs_parse(type, device)
# Returns the tuning command based on user inputs
sub tunefs_parse
{
if ($_[0] eq "ext2") {
	$cmd = "tune2fs";
	$cmd .= &opt_check("tunefs_c", '\d+', "-c");
	$cmd .= $in{'tunefs_e_def'} ? "" : " -e$in{'tunefs_e'}";
	$cmd .= $in{'tunefs_u_def'} ? "" : " -u".getpwnam($in{'tunefs_u'});
	$cmd .= $in{'tunefs_g_def'} ? "" : " -g".getgrnam($in{'tunefs_g'});
	$cmd .= &opt_check("tunefs_m",'\d+',"-m");
	$cmd .= &opt_check("tunefs_i", '\d+', "-i").
		($in{'tunefs_i_def'} ? "" : $in{'tunefs_i_unit'});
	$cmd .= " $_[1]";
	}
return $cmd;
}

# need_reboot(disk)
# Returns 1 if a reboot is needed after changing the partitions on some disk
sub need_reboot
{
local $un = `uname -r`;
return $un =~ /^2\.0\./ || $un =~ /^1\./ || $un =~ /^0\./;
}

# device_status(device)
# Returns an array of  directory, type, mounted
sub device_status
{
@mounted = &foreign_call("mount", "list_mounted") if (!@mounted);
@mounts = &foreign_call("mount", "list_mounts") if (!@mounts);
local $label = &get_label($_[0]);

local ($mounted) = grep { &same_file($_->[1], $_[0]) ||
			  $_->[1] eq "LABEL=$label" } @mounted;
local ($mount) = grep { &same_file($_->[1], $_[0]) ||
			$_->[1] eq "LABEL=$label" } @mounts;
if ($mounted) { return ($mounted->[0], $mounted->[2], 1,
			&indexof($mount, @mounts),
			&indexof($mounted, @mounted)); }
elsif ($mount) { return ($mount->[0], $mount->[2], 0,
			 &indexof($mount, @mounts)); }
if ($raid_module) {
	$raidconf = &foreign_call("raid", "get_raidtab") if (!$raidconf);
	foreach $c (@$raidconf) {
		foreach $d (&raid::find_value('device', $c->{'members'})) {
			return ( $c->{'value'}, "raid", 1 ) if ($d eq $_[0]);
			}
		}
	}
if ($lvm_module) {
	if (!defined(@physical_volumes)) {
		@physical_volumes = ();
		foreach $vg (&foreign_call("lvm", "list_volume_groups")) {
			push(@physical_volumes,
				&foreign_call("lvm", "list_physical_volumes",
						     $vg->{'name'}));
			}
		}
	foreach $pv (@physical_volumes) {
		return ( $pv->{'vg'}, "lvm", 1)
			if ($pv->{'device'} eq $_[0]);
		}
	}
return ();
}

# can_fsck(type)
# Returns 1 if some filesystem type can fsck'd
sub can_fsck
{
return ($_[0] eq "ext2" && &has_command("fsck.ext2") ||
	$_[0] eq "minix" && &has_command("fsck.minix"));
}

# fsck_command(type, device)
# Returns the fsck command to unconditionally check a filesystem
sub fsck_command
{
if ($_[0] eq "ext2") {
	return "fsck -t ext2 -p $_[1]";
	}
elsif ($_[0] eq "minix") {
	return "fsck -t minix -a $_[1]";
	}
}

# fsck_error(code)
# Returns a description of an exit code from fsck
sub fsck_error
{
return $text{"fsck_err$_[0]"} ? $text{"fsck_err$_[0]"}
			      : &text("fsck_unknown", $_[0]);
}

# partition_select(name, value, mode, [&found], [disk_regexp])
# Returns HTML for selecting a disk or partition
# mode 0 = floppies and disk partitions
#      1 = disks
#      2 = floppies and disks and disk partitions
#      3 = disk partitions
sub partition_select
{
local $rv = "<select name=$_[0]>\n";
local ($found, $d, $p);
if ($_[2] == 0 || $_[2] == 2) {
	$rv .= sprintf "<option %s value=/dev/fd0>%s\n",
		$_[1] eq "/dev/fd0" ? "selected" : "",
		&text('select_fd', 0) if (!$_[4] || "/dev/fd0" =~ /$_[4]/);
	$rv .= sprintf "<option %s value=/dev/fd1>%s\n",
		$_[1] eq "/dev/fd1" ? "selected" : "",
		&text('select_fd', 1) if (!$_[4] || "/dev/fd1" =~ /$_[4]/);
	$found++ if ($_[1] =~ /^\/dev\/fd[01]$/);
	}
local @dlist = &list_disks_partitions();
foreach $d (@dlist) {
	local $dev = $d->{'device'};
	next if ($_[4] && $dev !~ /$_[4]/);
	if ($_[2] == 1 || $_[2] == 2) {
		local $name = $d->{'desc'};
		$name .= " ($d->{'model'})" if ($d->{'model'});
		$rv .= sprintf "<option value=%s %s>%s\n",
			$dev, $_[1] eq $dev ? "selected" : "", $name;
		$found++ if ($dev eq $_[1]);
		}
	if ($_[2] == 0 || $_[2] == 2 || $_[2] == 3) {
		foreach $p (@{$d->{'parts'}}) {
			next if ($p->{'extended'});
			local $name = $p->{'desc'};
			$name .= " (".&tag_name($p->{'type'}).")"
				if (&tag_name($p->{'type'}));
			$rv .= sprintf "<option %s value=%s>%s\n",
				  $_[1] eq $p->{'device'} ? "selected" : "",
				  $p->{'device'}, $name;
			$found++ if ($_[1] eq $p->{'device'});
			}
		}
	}
if (!$found && $_[1] && !$_[3]) {
	$rv .= "<option selected>$_[1]\n";
	}
if ($_[3]) {
	${$_[3]} = $found;
	}
$rv .= "</select>\n";
return $rv;
}

# label_select(name, value, &found)
sub label_select
{
local $rv = "<select name=$_[0]>\n";
local @dlist = &list_disks_partitions();
local $any;
foreach $d (@dlist) {
	local $dev = $d->{'device'};
	foreach $p (@{$d->{'parts'}}) {
		next if ($p->{'type'} ne '83');
		local $label = &get_label($p->{'device'});
		next if (!$label);
		$rv .= sprintf "<option %s value=%s>%s (%s)\n",
			  $_[1] eq $label ? "selected" : "",
			  $label, $label, $p->{'desc'};
		${$_[2]}++ if ($_[1] eq $label);
		$any++;
		}
	}
if (!$found && $_[1] && !$_[2]) {
	$rv .= "<option selected>$_[1]\n";
	}
$rv .= "</select>\n";
return $any ? $rv : undef;
}

#############################################################################
# Internal functions
#############################################################################
sub open_fdisk
{
local $fpath = &check_fdisk();
($fh, $fpid) = &foreign_call("proc", "pty_process_exec", join(" ",$fpath, @_));
}

sub open_sfdisk
{
local $sfpath = &has_command("sfdisk");
($fh, $fpid) = &foreign_call("proc", "pty_process_exec", join(" ",$sfpath, @_));
}

sub check_fdisk
{
local $fpath = &has_command("fdisk");
&error(&text('open_error', "<tt>fdisk</tt>")) if (!$fpath);
return $fpath;
}

sub close_fdisk
{
close($fh); kill('TERM', $fpid);
}

sub wprint
{
syswrite($fh, $_[0], length($_[0]));
}

sub opt_input
{
print $_[2] ? "<tr>" : "";
print "<td align=right><b>$text{$_[0]}</b></td>\n";
print "<td nowrap><input type=radio name=$_[0]_def value=1 checked> ",
      $text{'opt_default'},"\n";
print "&nbsp; <input type=radio name=$_[0]_def value=0>\n";
print "<input name=$_[0] size=6> $_[1]</td>";
print $_[2] ? "\n" : "</tr>\n";
}

sub opt_check
{
if ($in{"$_[0]_def"}) { return ""; }
elsif ($in{$_[0]} !~ /^$_[1]$/) {
	&error(&text('opt_error', $in{$_[0]}, $text{$_[0]}));
	}
else { return " $_[2] $in{$_[0]}"; }
}

%tags = ('0', 'Empty',
	 '1', 'FAT12',
	 '2', 'XENIX root',
	 '3', 'XENIX usr',
	 '4', 'FAT16 <32M',
	 '6', 'FAT16',
	 '7', 'HPFS/NTFS',
	 '8', 'AIX',
	 '9', 'AIX bootable',
	 'a', 'OS/2 boot manager',
	 'b', 'Win95 FAT32',
	 'c', 'Win95 FAT32 LBA',
	 'e', 'Win95 FAT16 LBA',
	'10', 'OPUS',
	'11', 'Hidden FAT12',
	'12', 'Compaq diagnostic',
	'14', 'Hidden FAT16 < 32M',
	'16', 'Hidden FAT16',
	'17', 'Hidden HPFS/NTFS',
	'18', 'AST Windows swapfile',
	'1b', 'Hidden Win95 FAT (1b)',
	'1c', 'Hidden Win95 FAT (1c)',
	'1e', 'Hidden Win95 FAT (1e)',
	'24', 'NEC DOS',
	'3c', 'PartitionMagic recovery',
	'40', 'Venix 80286',
	'41', 'PPC PReP boot',
	'42', 'SFS',
	'4d', 'QNX 4.x',
	'4e', 'QNX 4.x 2nd partition',
	'4f', 'QNX 4.x 3rd partition',
	'50', 'OnTrack DM',
	'51', 'OnTrack DM6 Aux1',
	'52', 'CP/M',
	'53', 'OnTrack DM6 Aux3',
	'54', 'OnTrack DM6',
	'55', 'EZ-Drive',
	'56', 'Golden Bow',
	'5c', 'Priam Edisk',
	'61', 'SpeedStor',
	'63', 'GNU HURD or SysV',
	'64', 'Novell Netware 286',
	'65', 'Novell Netware 386',
	'70', 'DiskSecure Multi-Boot',
	'75', 'PC/IX',
	'80', 'Old Minix',
	'81', 'Minix / Old Linux / Solaris',
	'82', 'Linux swap',
	'83', 'Linux',
	'84', 'OS/2 hidden C: drive',
	'85', 'Linux extended',
	'86', 'NTFS volume set (86)',
	'87', 'NTFS volume set (87)',
	'8e', 'Linux LVM',
	'93', 'Amoeba',
	'94', 'Amoeba BBT',
	'a0', 'IBM Thinkpad hibernation',
	'a5', 'BSD/386',
	'a6', 'OpenBSD',
	'a7', 'NeXTSTEP',
	'b7', 'BSDI filesystem',
	'b8', 'BSDI swap',
	'c1', 'DRDOS/sec FAT12',
	'c4', 'DRDOS/sec FAT16 <32M',
	'c6', 'DRDOS/sec FAT16',
	'c7', 'Syrinx',
	'db', 'CP/M / CTOS',
	'e1', 'DOS access',
	'e3', 'DOS read-only',
	'e4', 'SpeedStor',
	'eb', 'BeOS',
	'f1', 'SpeedStor',
	'f4', 'SpeedStor large partition',
	'f2', 'DOS secondary',
	'fd', 'Linux raid',
	'fe', 'LANstep',
	'ff', 'BBT'
	);

%hidden_tags = (
	 '5', 'Extended',
	 'f', 'Win95 extended LBA',
	);
	
@space_type = ( '1', '4', '5', '6', 'b', 'c', 'e', '83' );

# can_edit_disk(device)
sub can_edit_disk
{
foreach (split(/\s+/, $access{'disks'})) {
        return 1 if ($_ eq "*" || $_ eq $_[0]);
        }
return 0;
}

# disk_space(device)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
`df -k $_[0]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/ || return ();
return ($1, $2);
}

# supported_filesystems()
# Returns a list of filesystem types that can have mkfs_options called on them
sub supported_filesystems
{
local @fstypes = ( "ext2" );
push(@fstypes, "ext3") if (&has_command("mkfs.ext3") ||
			   &has_command("mke3fs") ||
			   `mkfs.ext2 -h 2>&1` =~ /\[-j\]/);
push(@fstypes, "reiserfs") if (&has_command("mkreiserfs"));
push(@fstypes, "xfs") if (&has_command("mkfs.xfs"));
push(@fstypes, "msdos");
push(@fstypes, "vfat");
push(@fstypes, "minix");
return @fstypes;
}

# get_label(device, [type])
# Returns the XFS or EXT label for some device's filesystem
sub get_label
{
local $label;
if ($has_e2label) {
	$label = `e2label $_[0] 2>&1`;
	chop($label);
	}
if (($? || $label !~ /\S/) && $has_xfs_db) {
	$label = undef;
	local $out = `xfs_db -x -p xfs_admin -c label -r $_[0] 2>&1`;
	$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
			$1 ne '(null)');
	}
return $? || $label !~ /\S/ ? undef : $label;
}

# set_label(device, label, [type])
# Tries to set the label for some device's filesystem
sub set_label
{
if ($has_e2label && ($_[2] =~ /^ext[23]$/ || !$_[2])) {
	&system_logged("e2label '$_[0]' '$_[1]' >/dev/null 2>&1");
	return 1 if (!$?);
	}
if ($has_xfs_db && ($_[2] eq "xfs" || !$_[2])) {
	&system_logged("xfs_db -x -p xfs_admin -c \"label $_[1]\" $_[0] >/dev/null 2>&1");
	return 1 if (!$?);
	}
return 0;
}
 07070100036da4000081a40000000000000002000000013d1fe2c200000073000000200000000000000000000000000000001e00000003reloc/fdisk/feedback_files.pl 
do 'fdisk-lib.pl';

sub feedback_files
{
return ( "/proc/partitions", "/proc/scsi/scsi",
	 "fdisk -l |" );
}

1;

 07070100036da5000081e40000000000000002000000013d1fe2c200000245000000200000000000000000000000000000001500000003reloc/fdisk/fsck.cgi  #!/usr/local/bin/perl
# fsck.cgi
# Where the fsck command actually gets run

require './fdisk-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'fsck_ecannot'});
$| = 1;
$theme_no_header = 1;
&header($text{'fsck_title'}, "");
print "<hr>\n";

print &text('fsck_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
&foreign_call("proc", "safe_process_exec_logged",
	      $in{'cmd'}, 0, 0, STDOUT, undef, 1);
print "</pre>\n";
print "... ",&fsck_error($?/256),"<p>\n"; 
&webmin_log("fsck", undef, $in{'dev'}, \%in);

print "<hr>\n";
&footer("", $text{'index_return'});
   07070100036da6000081e40000000000000002000000013d1fe2c20000035c000000200000000000000000000000000000001a00000003reloc/fdisk/fsck_form.cgi #!/usr/local/bin/perl
# fsck_form.cgi
# Ask questions before running fsck on a filesystem

require './fdisk-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'fsck_ecannot'});
&header($text{'fsck_title'}, "");
print "<hr>\n";

@stat = &device_status($in{dev});
print &text('fsck_desc1', &fstype_name($stat[1]), "<tt>$in{dev}</tt>",
	    "<tt>$stat[0]</tt>"),"<p>\n";
$cmd = &fsck_command($stat[1], $in{dev});
print &text('fsck_desc2', "<tt>$cmd</tt>", "<tt>fsck</tt>"),"<p>\n";

print "<form action=fsck.cgi>\n";
print "<input type=hidden name=cmd value=\"$cmd\">\n";
print "<input type=hidden name=dev value=\"$in{'dev'}\">\n";
print "<input type=hidden name=type value=\"$in{'type'}\">\n";
print "<center><input type=submit value=\"$text{'fsck_repair'}\"></center>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

070701000382d7000041ed0000000000000001000000023d1ffa2600000000000000200000000000000000000000000000001100000003reloc/fdisk/help  070701000382d8000081a40000000000000002000000013d1fe2c20000009c000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.ca.html    <header>Previsió de lectura</header>

Activa/desactiva la característica de previsió de lectura de la unitat IDE
(normalment ACTIVADA per defecte).

<hr>


070701000382d9000081a40000000000000002000000013d1fe2c200000098000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.es.html    <header>Lectura-adelantada</header>
Desactiva/activa la catarterística del conductor IDE de lectura adelantada
(Normálmente activada por defecto).
<hr>
070701000382da000081a40000000000000002000000013d1fe2c20000005b000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.fr.html    <header>Option 'read-lookahead'</header>
Option du disque qui est généralement activé.
<hr> 070701000382db000081a40000000000000002000000013d1fe2c200000073000000200000000000000000000000000000001800000003reloc/fdisk/help/A.html   <header>Read-lookahead</header>
Disable/enable the IDE drive's read-lookahead feature (usually ON by default).
<hr> 070701000382dc000081a40000000000000002000000013d1fe2c200000080000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.hu.html    <header>Elõreolvasás</header>
Letíltja/engedélyezi az IDE meghajtók elõreolvasó funkcióját (általában
ez be van kapcsolva).
<hr>0707010003832f000081a40000000000000002000000013d1fe2c200000093000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.pl.html    <header>Odczyt wyprzedzaj±cy</header>

W³±cza/wy³±cza w³a¶ciwo¶æ czytania wyprzedzaj±cego dla urz±dzenia IDE
(zazwyczaj domy¶lnie W£¡CZONA).

<hr>
 07070100038330000081a40000000000000002000000013d1fe2c200000076000000200000000000000000000000000000001b00000003reloc/fdisk/help/A.sv.html    <header>Read-lookahead</header>
Deaktivera/aktivera IDE-diskens read-lookahead-egenskap (oftast PÅ som standard).
<hr>  07070100038331000081a40000000000000002000000013d1fe2c200000054000000200000000000000000000000000000002300000003reloc/fdisk/help/A.zh_TW.Big5.html    <header>¹w¥ýÅª¨ú</header>
Ãö³¬/±Ò°Ê IDE ³]³Æªº¹w¥ýÅª¨ú¥\¯à (¹w³]­È³q±`¬° '¶}').
<hr>07070100038332000081a40000000000000002000000013d1fe2c2000001fd000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.ca.html    <header>Mantingues les característiques després de reiniciar</header>

Estableix l'opció <i>keep_features_over_reset</i> de la unitat.
<p>

Establir aquesta opció permet que la unitat mantingui els valors de
<b>Previsió de lectura</b>, <b>Reprogramació del millor PIO</b>, 
<b>Temps límit d'inacció</b>, <b>Cau d'escriptura</b> i <b>Mode de
transferència</b> després de reiniciar (tal i com es fa durant la
seqüència de recuperació d'errors).
<p>
No totes les unitats suporten aquesta característica.

<hr>


   07070100038333000081a40000000000000002000000013d1fe2c2000001f0000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.es.html    <header>Mantener características al reiniciar</header>
Pone la bandera <i>mantener_características_al_reiniciar</i>.<p>

Poner esto permite que el conductor retenga los valores para <b>Leer mirar-por delante</b>, <b>Reprogramas mejor modo PIO</b>, <b>Tiempo de espera quieto</b>, <b>Caché de escritura</b> y <b>Modo de Transferencia</b> al producirse un reinicio por soft (como sucede durante la secuencia de recuperación de error).<p>
No todos los conductores soportan esta característica.
<hr>
07070100038334000081a40000000000000002000000013d1fe2c200000218000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.fr.html    <header>Garder la configuration au redémarrage</header>
Configure l'option <i>keep_features_over_reset</i> du disque.<p>

Ceci permet au disque de garder la configuration d'<b>Activer l'option 'read-lookahead'</b>, <b>Reprogrammer le meilleur PIO</b>, <b>Temps d'inactivité avant la mise en attente</b>, <b>Cache en écriture</b> et <b>Mode de transfert</b> durant un redémarrage à chaud (comme ceux effectué durant une séquence de recouvrement d'erreur du disque).<p>
Ce ne sont pas tout les disques qui supportent cette fonctions.
<hr>07070100038335000081a40000000000000002000000013d1fe2c20000018d000000200000000000000000000000000000001800000003reloc/fdisk/help/K.html   <header>Keep features over reset</header>
Set the drive's <i>keep_features_over_reset</i> flag.<p>

Setting this enables the drive to retain the settings for <b>Read look-readahead</b>, <b>Reprogram best PIO mode</b>, <b>Standby timeout</b>, <b>Write caching</b> and <b>Transfert Mode</b> over a soft reset (as done during the error recovery sequence).<p>
Not all drives support this feature.
<hr>   07070100038336000081a40000000000000002000000013d1fe2c2000001be000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.hu.html    <header>Jellegzetességek megõrzése reset-elés után</header>
Beállítja a meghajtó <i>keep_features_over_reset</i> jelzését.<p>

Beállított állapotban a meghajtó megõrzi az <b>Elõreolvasás</b>, <b>Legjobb 
PIO átprogramozása</b>, <b>Készenléti idõtúllépés</b>,
<b>Írásgyorsítás</b> és <b>Átviteli mód</b> értékeit meleg újraindítás
során (ami a hiba utáni visszaállítás során is megtörténik). Nem minden 
meghajtó támogatja ezt a funkciót.<p>
<hr>
  07070100038337000081a40000000000000002000000013d1fe2c2000001fb000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.pl.html    <header>Zachowaj w³a¶ciwo¶ci podczas restartu</header>

Ustawia dla napêdu flagê <i>keep_features_over_reset</i>. <p>

Ustawienie tej flagi powoduje, ¿e napêd odzyskuje po miêkkim restarcie
ustawienia dla <b>Liczby sektorów odczytu wyprzedzaj±cego</b>, <b>Ustawienia
optymalnego trybu PIO</b>, <b>Okresu do przej¶cia w stan oczekiwania</b>,
<b>Buforowania zapisu</b> i&nbsp;<b>Trybu transmisji</b> (jak te¿ siê dzieje
w&nbsp;przypadku wyst±pienia b³êdu). Nie wszystkie napêdy wspieraj± tê
w³a¶ciwo¶æ.

<hr>
 07070100038338000081a40000000000000002000000013d1fe2c200000195000000200000000000000000000000000000001b00000003reloc/fdisk/help/K.sv.html    <header>Spara inställningar vid omstart</header>
Sätter diskens <i>keep_features_over_reset</i>-flagga.

<p>När du väljer detta kommer disken att spara inställningarna för
<b>Read-lookahead</b>, <b>Programmera bästa PIO-mod</b>, <b>Tid för standby</b>, <b>Skriv-cache</b> och <b>Överföringsmod</b> över en mjukomstart
(liksom vid en återskapningssekvens efter fel).
<p>Alla diskar stödjer inte detta.
<hr>   07070100038339000081a40000000000000002000000013d1fe2c200000102000000200000000000000000000000000000002300000003reloc/fdisk/help/K.zh_TW.Big5.html    <header>­«³]®É«O¯d³]©w</header>
³]©wºÏºÐªº <i>keep_settings_over_reset</i> ºX¼Ð.<p>

³]©w³o­Ó¥i¥H¨ÏºÏºÐ¦A­«³]®É (©ÎªÌ¿ù»~´_­ìµ{§Ç¤¤) «O¯d<b>¨Ï¥Îª½±µ°O¾ÐÅé¦s¨ú</b>, <b>¤¤Â_¾B¸n</b>, »P<b>¦h­«ºÏ°Ï¿é¥X¤JªººÏ°Ï­p¼Æ</b>³]©w.<p>

¤£¬O©Ò¦³ªººÏºÐ³£¤ä´©³o­Ó¥\¯à.
<hr>  0707010003833a000081a40000000000000002000000013d1fe2c200000389000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.ca.html    <header>Reprogramació del millor PIO</header>

Intenta reprogramar el joc de xips de la interfície IDE amb el mode PIO
especificat, o bé intenta autosintonitzar el "millor" mode PIO suportat
per la unitat.
<p>
Aquesta característica està suportada pel kernel només per a jocs de xips
"coneguts", i fins i tot així el suport és deficient. Alguns jocs de xips
IDE no poden alterar el mode PIO d'una sola unitat, en aquest cas pot ser
que forcin el mode PIO de totes dues unitats. Molts jocs de xips IDE suporten
més o menys dels sis modes PIO estàndard (0 a 5), així que el valor exacte
de la velocitat implementada de fet variarà depenent de la sofisticació 
dels jocs de xips/drivers.
<p>
<i>Fes-ho servir amb molt de compte!</i><br>
Aquesta característica no té cap mena de protecció contra pota-tendres,
i un resultat no reeixit pot provocar una <i>corrupció massiva del sistema
de fitxers!</i>

<hr>


   0707010003833b000081a40000000000000002000000013d1fe2c2000003d4000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.es.html    <header>Reprogramar mejor PIO</header>
Intenta reprogramar el conjunto de chips de la interfaz IDE para el modo PIO especificado o intenta autosintonizar para el "mejor" modo PIO soportado por el conductor.<p>

Esta característica es soportada en el kernel para sólo unos pocos conjuntos de chips "conocidos" e, incluso entonces, el soporte es dudoso como poco. Algunos conjuntos de chips IDE son incapaces de alterar el modo PIO de un solo conductor, en cuyo caso esta bandera puede causar que se ponga el modo PIO para ambos conductores. Muchos conjuntos de chip IDE soportan o menos o más del estándar de seis (0 a 5) modos PIO, por ello el valor de la velocidad exacta que se implementa actuálmente variará segúna ls sofisticación del conjunto de chips/conductor.<p>

<i>¡Usar con extrema precaución!</i><br>
Esta característica incluye protección cero para los que no sepan y un manejo fracasado puede resultar en una <i>¡corrupción severa del sistema de archivos!</i>.
<hr>
0707010003833c000081a40000000000000002000000013d1fe2c200000306000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.fr.html    <header>Reprogrammer le meilleur PIO</header>
Tente de reprogrammer la puce du contrôleur IDE pour configurer le mode PIO spécifié ou essait de trouver le meilleur mode PIO supporté par ce disque.<p>

Cette option est supporté dans le noyau que pour certaine puce connue et seulement si ce support est stable.  Certaine puce IDE sont incapable de modifier le mode PIO d'un seul disque, dans ce cas cette option peut changer le mode PIO des deux disques.  Plusieurs puce IDE supporte entre autres les six (0 à 5) modes, alors la vitesse exacte varie selon le niveau de sophistication de la puce et du pilote.<p>

<i>Utiliser avec une extrème prudence!</i><br>
Cette option inclut aucune protection, une erreur peut causer une corruption sévère du système de fichier!</i>
<hr>  0707010003833e000081a40000000000000002000000013d1fe2c200000331000000200000000000000000000000000000001800000003reloc/fdisk/help/P.html   <header>Reprogram best PIO</header>
Attempt to reprogram the IDE interface chipset for the specified PIO mode, or attempt to auto-tune for the "best" PIO mode supported by the drive.<p>

This feature is supported in the kernel for only a few "known" chipsets, and even then the support is iffy at best.  Some IDE chipsets are unable to alter the PIO mode for a single drive, in which case this flag may cause the PIO mode for both drives to be set.  Many IDE chipsets support either fewer or more than the standard six (0 to 5) PIO modes, so the exact speed setting that is actually implemented will vary by chipset/driver sophistication.<p>

<i>Use with extreme caution!</i><br>
This feature includes zero protection for the unwary, and an unsuccessful outcome may result in <i>severe filesystem corruption!</i>
<hr>   0707010003833f000081a40000000000000002000000013d1fe2c20000035e000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.hu.html    <header>Legjobb PIO átprogramozása</header>
Megkísérli átprogramozni az IDE csatlakozó chipset-et a megadott
PIO módra, vagy megpróbálja automatikusan áthangolni a meghajtó által
támogatott "legjobb" PIO módra.<p>

Ezt a lehetõséget csak néhány "ismert" chipset számára támogatja a kernel,
és esetükben a támogatás többé-kevésbé tökéletes. Néhány IDE chipset
nem tudja csak egy meghajtóra megváltoztatni a PIO módot, mely esetben
a PIO mód az összes eszközre megváltozik. Számos IDE chipset
támogat valamennyit a szabvány hat (0-tól 5-ig) PIO mód közül, így
a pontos sebességbeállítás - amelyet ténylegesen implementáltak - függeni fog
a chipset/meghajtó kénye-kedvétõl.<p>

<i>Használja fokozott figyelemmel!</i><br>
Ez a szolgáltatás semmilyen könnyelmûségtõl sincs védve, és egy
balszerencsés kimenetel <i>számos fájlrendszer sérülést</i> eredményezhet!
<hr>
  07070100038340000081a40000000000000002000000013d1fe2c2000003bf000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.pl.html    <header>Ustaw optymalny tryb PIO</header>

Próba przeprogramowania chipsetu kontrolera IDE na odpowiedni tryb PIO lub
próba automatycznego dobrania "najlepszego" trybu PIO obs³ugiwanego przez
urz±dzenie. <p>

Kernel wspiera tê funkcjê jedynie dla kilku "znanych" chipsetów i&nbsp;nawet
w&nbsp;tych przypadkach obs³uga jest co najmniej w±tpliwa. Niektóre chipsety
IDE nie umo¿liwiaj± zmiany trybu PIO dla pojedyñczego urz±dzenia
i&nbsp;w&nbsp;takiej sytuacji skorzystanie z&nbsp;tej funkcji mo¿e
spowodowaæ ustawienie zadanego trybu PIO dla obu urz±dzeñ IDE. Wiele
chipsetów IDE obs³uguje mniej ni¿ standardowe sze¶æ (od 0 do 5) trybów PIO,
wiêc rzeczywi¶cie ustawiona szybko¶æ zale¿y od umiejêtno¶ci chipsetu
i&nbsp;sterownika. <p>

<i>Korzystaj ze szczególn± ostro¿no¶ci±!</i><br>

Ta funkcja nie zawiera ¿adnych zabezpieczeñ przed nieostro¿nym u¿yciem
i&nbsp;jej niepomy¶lny wynik mo¿e spowodowaæ <i>dotkliwe przek³amania
w&nbsp;systemach plików!</i>

<hr>
 07070100038341000081a40000000000000002000000013d1fe2c2000002e0000000200000000000000000000000000000001b00000003reloc/fdisk/help/P.sv.html    <header>Programmera bästa PIO</header>
Försök att åter programmera IDE-interfacechipsetet för angiven PIO-mod, eller
försök att automatiskt ställa in "bästa" PIO-mod som stöds av disken.

<p>Kärnan stödjer endast detta för ett fåtal "kända" chipset och även för
dessa är stödet skakigt. En del IDE-chipset kan inte ändra PIO-mod för en
enstaka disk, vilket medför att båda diskarnas PIO-mod ändras. Många
IDE-chipset stöder antingen fler eller färre än de standardiserade sex
(0 till 5) PIO-moderna, så den hastighet som verkligen ställs in beror
på chipset och drivrutin.

<p><i>Var försiktig med denna inställning!</i>
<br>Det finns inget "drulleskydd" och om inställningarna blir fel kan det
orsaka <i>ett trasigt filsystem!</i>
<hr>07070100038343000081a40000000000000002000000013d1fe2c200000371000000200000000000000000000000000000001b00000003reloc/fdisk/help/S.ca.html    <header>Temps límit de standby</header>

Estableix el temps límit d'inacció de la unitat.<p>

La unitat fa servir aquest valor per determinar quant ha d'esperar (sense
activitat de disc) abans de desactivar el motor de rotació per estalviar
corrent.<br>
En aquestes circumstàncies, la unitat pot trigar fins a 30 segons a tornar
a respondre a un accés de disc, tot i que la majoria d'unitats són molt 
més ràpides.
<p>
La codificació del valor de temps és una mica peculiar. Un valor zero 
significa "desactivat". Els valors entre 1 i 240 especifiquen múltiples
de 5 segons, per a temps entre 5 segons i 20 minuts.<br>
Els valors entre 241 i 251 especifiquen entre 1 i 11 unitats de 30 minuts,
per a temps entre 20 minuts i 5.5 hores. Un valor de 252 significa un temps
de 21 minuts, 253 estableix un temps definit pel fabricant, i 255 s'entén com
21 minuts més 15 segons.

<hr>


   07070100038342000081a40000000000000002000000013d1fe2c2000001ff000000200000000000000000000000000000002300000003reloc/fdisk/help/P.zh_TW.Big5.html    <header>­«·s³]©w³Ì¨Îªº PIO</header>
¸ÕµÛ­«·s³]©w IDE ±±¨î¾¹¦¨«ü©wªº PIO ¼Ò¦¡, ©Î¸ÕµÛ¦Û°Ê½Õ¾ã¦¨ºÏºÐ©Ò¤ä´©ªº"³Ì¨Î" PIO ¼Ò¦¡.<p>

³o­Ó¥\¯à¥u³Q¤Ö¼Æ®Ö¤ß©Òª¾¹Dªº±±¨î¾¹©Ò¤ä´©, ¦Ó¥B¬O§_¬°³Ì¨Îªº¤]µLªk½T©w. ¦³¨Ç IDE ±±¨î¾¹¤£¯à¬°³æ¤@ªººÏºÐ½Õ¾ã PIO ¼Ò¦¡, ¥¦·|¦P®É½Õ¾ãÀW¹D¤Wªº¤G­ÓºÏºÐ. ¦h¼Æªº IDE ±±¨î¾¹¥u¤ä´©³¡¤Àªº PIO ¼Ò¦¡¦Ó¤£¬O¥þ³¡ªº 6 ºØ (0 ¨ì 5), ©Ò¥H¹ê»Úªº³t«×·|¨ü¨ì±±¨î¾¹/ºÏºÐªº¾ãÅé¼vÅT¦Ó½ÆÂø¤Æ.<p>

<i>!¨Ï¥Î®É­n¯S§O¤p¤ß!</i><br>
³o­Ó¥\¯à¨S¦³¥]§t¥ô¦óªº«OÅ@±¹¬I, ¦Ó¥B¥¢±Ñªº³B²z¥i¯à·|¾É­P<i>¦øªA¾¹ÀÉ®×¨t²Î·l·´!</i>
<hr> 07070100038344000081a40000000000000002000000013d1fe2c2000003ce000000200000000000000000000000000000001b00000003reloc/fdisk/help/S.es.html    <header>Tiempo de espera quieto</header>
Pone el tiempo de espera quieto (no da vueltas) para el conductor.<p>

Este valor se usa por el dispositivo para determinar cuánto esperar (sin actividad de disco) antes de para el motor para ahorrar energía<br>
Bajo esas circustancias, el conductor puede tardar tanto como 30 segundos en responder a subsecuentes accesos de disco, aunque la mayoría de los conductores son mucho más rápidos.<p>

La codificación del valor de tiempo de espera es en alguna manera peculiar. Un valor de cero indica "desactivado". Los valores de 1 a 240 especifican múltiplos de 5 segundos, para tiempos de espera desde 5 segundos a 20 minutos.<br>
Los valores desde 241 a 251 especifican desde 1 a 11 unidades de 30 minutos, para tiempos de espera desde 30 minutos a 5,5 horas. Un valor de 252 indica un tiempo de espera de 21 minutos, 253 pone un tiempo de espera definido por el fabricante y 255 es interpretado como 12 minutos más 15 segundos.
<hr>
  07070100038345000081a40000000000000002000000013d1fe2c200000413000000200000000000000000000000000000001b00000003reloc/fdisk/help/S.fr.html    <header>Temps d'inactivité avant la mise en attente</header>
Défini le temps d'inactivité avant que le disque se place dans un état d'attente (le disque cesse de tourner).<p>

Cette valeur est utiliser par le disque pour déterminer combien de temps d'attente (sans activité du disque) avant d'arrêter le moteur du disque, et ainsi économiser l'énergie.<br>
Dans certaine circonstances, le disque peut prendre jusqu'à 30 secondes pour redémarrer et répondre à a un accès au disque, mais la majorité des disques sont plus rapide.<p>

L'encodage de la valeur est particulière.  Une valeur de 0 signifie que cette option est inutilisé.  Une valeur entre 1 et 240 spécifie le multiple de 5 secondes d'attente.  Ainsi le temps d'attente va de 5 secondes à 20 minutes.<br>
Les valeurs entre 241 et 251 représente les unités de 1 à 11 de bloc de 30 minutes d'attente, ce qui va de 30 minutes à 5 heures et demi.  Une valeur de 252 ramène le temps à 21 minutes, 253 une valeur spécifié par le fabriquant du disque et 255 21 minutes et 15 secondes.
<hr> 07070100038346000081a40000000000000002000000013d1fe2c200000330000000200000000000000000000000000000001800000003reloc/fdisk/help/S.html   <header>Standby timeout</header>
Set the standby (spindown) timeout for the drive.<p>

This value is used by the drive to determine how long to wait (with no disk activity) before turning off the spindle motor to save power.<br>
Under such circumstances, the drive may take as long as 30 seconds to respond to a subsequent disk access, though most drives are much quicker.<p>

The encoding of the timeout value is somewhat peculiar.  A value of zero means "off".  Values from 1 to 240 specify multiples of 5 seconds, for timeouts from 5 seconds to 20 minutes.<br>
Values from 241 to 251 specify from 1 to 11 units of 30 minutes, for timeouts from 30 minutes to 5.5 hours.  A value of 252 signifies a timeout of 21 minutes, 253 sets a vendor-defined timeout, and 255 is interpreted as 21 minutes plus 15 seconds.
<hr>07070100038347000081a40000000000000002000000013d1fe2c200000386000000200000000000000000000000000000001b00000003reloc/fdisk/help/S.pl.html    <header>Okres do przej¶cia w&nbsp;stan oczekiwania</header>

Ustawia czas, po którym dysk przechodzi w&nbsp;stan oczekiwania (wy³±cza
siê). <p>

Warto¶æ ta jest wykorzystywana przez dysk dla ojkre¶lenia jak d³ugo czakaæ
(w&nbsp;razie bezczynno¶ci) przed wy³±czeniem napêdu, aby oszczêdzaæ energiê. 
<br>

W&nbsp;takich warunkach odpowied¼ dysku na pó¼niejsze ¿±danie dosêpu mo¿e
zaj±æ nawet 30 sekund, jednak¿e wiêkszo¶æ dysków jest znacznie szybsza. <p>

Kodowanie czasu jest do¶æ specyficzne. Warto¶æ zerowa oznacza "wy³±czone".
Warto¶ci od 1 do 240 oznaczaj± czas bêd±cy wielokrotno¶ci± 5 sekund dla
okresów od 5 sekund do 20 minut. <br>

Warto¶ci od 241 do 250 oznaczaj± od 1 do 11 jednostek 30-minutowych, dla
okresów od 30 minut do 5,5 godziny. Warto¶æ 252 oznacza okres 21 minut, 253
ustawia okres zdefiniowany przez producenta, za¶ 255 jest interpretowana jako
21 minut i&nbsp;15 sekund.

<hr>
  07070100038348000081a40000000000000002000000013d1fe2c200000315000000200000000000000000000000000000001b00000003reloc/fdisk/help/S.sv.html    <header>Tid för standby</header>
Sätter tidsintervall för standby (spindown) för disken.<p>

Detta värde anger hur länge disken ska vänta (utan diskaktivitet) innan
motorn slås av för att spara ström.
<br>När detta har skett kan svarstiden för disken ligga uppåt 30 sekunder
(de flesta diskar är dock mycket snabbare).

<p>Värdet anges på ett speciellt sätt. Värdet noll betyder "av". Värden
mellan 1 och 240 tolkas som ett antal femsekundersmultipler och anger
tidsintervall från fem sekunder till tjugo minuter.

<br>Värden mellan 241 och 251 tolkas som mellan 1 och 11 30-minutersenheter
och anger tidsintervall från 30 minuter till 5,5 timmar. 252 betyder 21
minuter, 253 sätter tiden till det av tillverkaren fördefinierade intervallet
och 255 betyder 21 minuter och 15 sekunder.
<hr>   07070100038349000081a40000000000000002000000013d1fe2c2000001ea000000200000000000000000000000000000002300000003reloc/fdisk/help/S.zh_TW.Big5.html    <header>«Ý©R¹O®É</header>
³]©w³o­ÓºÏºÐªº«Ý©R (°±¤î¥D°¨¹F) ªº¹O®É­È.<p>

³o­Ó¼Æ­È¨M©w¤F¦bºÏºÐ¨S¦³¬¡°Ê¦h¤[«á­n¶i¤JÃö³¬¥D°¨¹Fªº«Ý©Rª¬ºA¥H¸`¬Ù¹q·½®ø¯Ó.<br>
¦b³o­Óª¬ºA¤U, ºÏºÐ¥i¯à»Ý­n¦Ü¦h 30 ¬í¤~¯à«ì´_¥¿±`¦s¨ú¼Ò¦¡.<p>

³o­Ó¼Æ­Èªº½s½X¤è¦¡¦³¨Ç¯S®í. 0 ªí¥Ü "Ãö³¬". ¦Ó¦b 1 ¨ì 240 ¶¡ªº¼Æ­È¬° 5 ¬íÄÁªº­¿¼Æ, ¤]´N¬O±q 5 ¬íÄÁ¨ì 1200 ¬í (5 ¤ÀÄÁ).<br>
¦b 241 ¨ì 251 ¤§¶¡ªº¼Æ­È«h¬O¥H 30 ¤ÀÄÁ¬°³æ¦ì, ¤]´N¬O±q 30 ¤ÀÄÁ¨ì 330 ¤ÀÄÁ (5.5 ¤p®É). 525 «h¬° 21 ¤ÀÄÁ, 253 ¬°¼t°Ó©w¸qªº®É¶¡, 255 ¬° 21 ¤ÀÄÁ¤S 15 ¬í.
<hr>  0707010003834a000081a40000000000000002000000013d1fe2c20000008c000000200000000000000000000000000000001b00000003reloc/fdisk/help/W.ca.html    <header>Cau d'escriptura</header>

Activa/desactiva la característica del cau d'escriptura IDE (normalment
DESACTIVAT per defecte).

<hr>


0707010003834b000081a40000000000000002000000013d1fe2c200000097000000200000000000000000000000000000001b00000003reloc/fdisk/help/W.es.html    <header>Caché de Escritura</header>
Desactiva/activa la característica de caché de escritura del conductor
(normálmente DESACTIVADA por defecto).
<hr>
 0707010003834c000081a40000000000000002000000013d1fe2c200000080000000200000000000000000000000000000001b00000003reloc/fdisk/help/W.fr.html    <header>Cache en écriture</header>
Configure l'option de cacher les accès en écriture du disque.<p>
Généralement désactivé.
<hr>0707010003834d000081a40000000000000002000000013d1fe2c200000072000000200000000000000000000000000000001800000003reloc/fdisk/help/W.html   <header>Write caching</header>
Disable/enable the IDE drive's write-caching feature (usually OFF by default).
<hr>  0707010003834e000081a40000000000000002000000013d1fe2c200000083000000200000000000000000000000000000001b00000003reloc/fdisk/help/W.pl.html    <header>Buforowanie zapisu</header>

W³±cza/wy³±cza buforowanie zapisu przez urz±dzenie IDE (zazwyczaj inicjalnie
WY£¡CZONE).

<hr> 0707010003834f000081a40000000000000002000000013d1fe2c200000067000000200000000000000000000000000000001b00000003reloc/fdisk/help/W.sv.html    <header>Skriv-cache</header>
Deaktivera/aktivera IDE-diskens skriv-cache (oftast AV som standard).
<hr> 07070100038350000081a40000000000000002000000013d1fe2c200000053000000200000000000000000000000000000002300000003reloc/fdisk/help/W.zh_TW.Big5.html    <header>¼g¤J§Ö¨ú</header>
Ãö³¬/±Ò°Ê IDE ºÏºÐªº¼g¤J§Ö¨ú¥\¯à (¹w³]­È³q±`¬O"Ãö").
<hr> 07070100038351000081a40000000000000002000000013d1fe2c200000225000000200000000000000000000000000000001b00000003reloc/fdisk/help/X.ca.html    <header>Mode de transferència</header>

Estableix el mode de transferència IDE per a les noves unitats (E)IDE/ATA2.
<p>
Això es fa servir típicament en combinació amb l'<b>Ús de DMA</b> quan
s'activa la DMA de/cap una unitat en una interfície suportada.
<p>
A part d'això, l'ús d'aquesta opció és.
Rarament necessària, ja que la majoria/totes les unitats IDE modernes 
activen per defecte el seu mode de transferència PIO més ràpid en engegar.
Potinejar amb això pot ser innecessari i arriscat.
<p>
<i>Fes-ho servir amb molta precaució!</i>

<hr>


   07070100038352000081a40000000000000002000000013d1fe2c20000023a000000200000000000000000000000000000001b00000003reloc/fdisk/help/X.es.html    <header>Modo de Transferencia</header>
Pone el modo de transferencia IDE para los nuevos conductores (E)IDE/ATA2.<p>

Esto es usado típicamente en combinación con <b>Usando DMA</b> al activar DMA a/desde un conductor en un conjunto de chips de interfaz soportados.<p>

Además de por esto, el uso de esta bandera es rara vez necesaria ya que la mayoría de los conductores IDE modernos por defecto lo hacen a sus modos de transferencia más rápidos cuando arrancan. Jugar con esto puede ser además de innecesario, arriesgado.<p>

<i>¡Úsalo con extrema precaución!</i>
<hr>
  07070100038353000081a40000000000000002000000013d1fe2c200000295000000200000000000000000000000000000001b00000003reloc/fdisk/help/X.fr.html    <header>Mode de transfert</header>
Configure le mode de transfert IDE pour les disques récent (E)IDE/ATA2.<p>

Typiquement utilisé en combinaison avec <b>Utiliser DMA</b> pour activer le transfert DMA avec un disque et une puce qui le supporte.<p>

En général, l'utilisation de cet options est rarement nécessaire, car la quasi-totalité des disques récents utilise par défaut le mode de transfert le plus rapide au démarrage.  Des changements peuvent s'avérer risqué et inutile.<p>

Sur les disques qui supporte les modes de transfert alternatif, cette option peut être utilisé pour changer le mode du disque seulement.<p>

<i>À utiliser avec prudence!</i>
<hr>   07070100038354000081a40000000000000002000000013d1fe2c2000001d3000000200000000000000000000000000000001800000003reloc/fdisk/help/X.html   <header>Transfer mode</header>
Set the IDE transfer mode for newer (E)IDE/ATA2 drives.<p>

This is typically used in combination with <b>Using DMA</b> when enabling DMA to/from a drive on a supported interface chipset.<p>

Apart from that, use of this flag is .I seldom necessary since most/all modern IDE drives default to their fastest PIO transfer mode at power-on.  Fiddling with this can be both needless and risky.<p>

<i>Use this with extreme caution!</i>
<hr> 07070100038355000081a40000000000000002000000013d1fe2c20000028a000000200000000000000000000000000000001b00000003reloc/fdisk/help/X.pl.html    <header>Tryb transmisji</header>

Ustawia tryb transmisji IDE dla nowszych urz±dzeñ (E)IDE/ATA2.<p>

Zazwyczaj korzysta sie &nbsp;tej opcji w&nbsp;po³±czeniu z&nbsp;<b>U¿ywaæ
DMA</b> podczas w³±czania trybu DMA do/z urz±dzenia przy³±czonego do
interfejsu z&nbsp;obs³ugiwanym chipsetem.<p>

Oprócz tego, korzystanie z niniejszej opcji jest .I rzadko konieczne, gdy¿
wiêkszo¶æ lub wszystkie wspó³czesne urz±dzenia IDE ustawiaj± domy¶lnie swój
najszybszy tryb transmisji PIO przy w³±czeniu zasilania. Manipulowanie t±
opcj± mo¿e wiêc byæ zarówno niepotrzebne, jak i&nbsp;ryzykowne.<p>

<i>Korzystaj z&nbsp;tej opcji ze szczególn± ostro¿no¶ci±!</i>
<hr>
  07070100038356000081a40000000000000002000000013d1fe2c2000001f1000000200000000000000000000000000000001b00000003reloc/fdisk/help/X.sv.html    <header>Överföringsmod</header>
Sätter IDE-överföringsmod för nyare (E)IDE/ATA2-diskar.

<p>Detta används oftast kombinerad med <b>Använda DMA</b> när DMA ska
användas till/från en disk på ett interface-chipset som stöds.

<p>Förutom detta används flaggan nästan aldrig eftersom (nästan) alla
moderna IDE-diskar kör sin snabbaste PIO-överföringsmod som standard vid
start. Det kan vara såväl onödigt som riskabelt att använda den.

<p><i>Var mycket försiktig med att använda denna flagga!</i>
<hr>   07070100038357000081a40000000000000002000000013d1fe2c20000014b000000200000000000000000000000000000002300000003reloc/fdisk/help/X.zh_TW.Big5.html    <header>¶Ç¿é¼Ò¦¡</header>
³]©w IDE ¶Ç¿é¼Ò¦¡µ¹¸û·sªº (E)IDE/ATA2 ºÏºÐ.<p>

³o­Ó³q±`»P<b>¨Ï¥Î°O¾ÐÅéª½±µ¦s¨ú</b>¦P®É¨Ï¥Î, ¨Ã±Ò°Ê¬ÛÃöªº DMA ¤ä´©.<p>

°£¤F³o­Ó¤§¥~, ³q±`¬O¤£»Ý­n¨Ï¥Î³o­ÓºX¼Ðªº. ¦]¬°´X¥G¥þ³¡·s«¬ªº IDE ºÏºÐ³£·|¦b±Ò°Ê®É¹w³]¨Ï¥Î³Ì¨Î¤Æªº PIO ¶Ç¿é¼Ò¦¡. ½Õ¾ã³o­Ó¿ï¶µ³q±`¬O¤£»Ý­nªº¦Ó¥B¼W¥[¦MÀI.<p>

<i>¨Ï¥Î®É­n®æ¥~¤p¤ß!</i>
<hr> 07070100038358000081a40000000000000002000000013d1fe2c2000002da000000200000000000000000000000000000001b00000003reloc/fdisk/help/a.ca.html    <header>Nombre de sectors</header>

Estableix el nombre de sectors per a la lectura anticipada de sistemes de
fitxers.
<p>
Això es fa servir per millorar el rendiment en les lectures seqüencials
de fitxers grans, llegint prèviament blocs addicionals abans que li calguin
a la tasca en execució. En la versió actual del kernel (2.0.10)m això té
un valor per defecte de 8 sectors (4 Kb), Aquest valor sembla bo per a 
la majoria de propòsits, però en un sistema on la majoria d'accessos són
aleatoris, un valor més petit pot donar un rendiment millor. A més, moltes
unitats IDE també tenen un funció de lectura anticipada integrada, que 
alleuja la necessitat d'una lectura anticipada del sistema de fitxers en
molts casos.

<hr>


  07070100038359000081a40000000000000002000000013d1fe2c20000028b000000200000000000000000000000000000001b00000003reloc/fdisk/help/a.fr.html    <header>Décompte de Secteur</header>
Définit le décompte de secteur pour le 'read-ahead' du système de fichier.<p>

Ceci est utilisé pour améliorer les performances dans la lecture de grand fichier séquentiel en lisant d'avance des blocs additionels qui seront demandé par la tâche.  Le noyau 2.0.x a comme valeur par défaut 8 secteurs (4kb) qui semble être une bonne valeur pour la majorité des utilisations, mais un système où les accès aux fichiers sont fait au hasard, une plus petite valeur peut améliorer les performances.  De plus, plusieurs disques IDE ont une fonction similiaire interne qui soulage le système de fichier de cette tâche.
<hr> 0707010003835a000081a40000000000000002000000013d1fe2c20000027a000000200000000000000000000000000000001800000003reloc/fdisk/help/a.html   <header>Sector Count</header>
Set sector count for filesystem read-ahead.<p>

This is used to improve performance in sequential reads of large files, by prefetching additional blocks in anticipation of them being needed by the running task.  In the current kernel version (2.0.10) this has a default setting of 8 sectors (4 kB).  This value seems good for most purposes, but in a system where most file accesses are random seeks, a smaller setting might provide better performance.  Also, many IDE drives also have a separate built-in read-ahead function, which alleviates the need for a filesystem read-ahead in many situations.
<hr>  07070100038360000081a40000000000000002000000013d1fe2c20000016e000000200000000000000000000000000000001800000003reloc/fdisk/help/c.html   <header>32-bit I/O support</header>
Set the (E)IDE 32-bit I/O support.<p>

This value works with nearly all 32-bit IDE chipsets, but incurs slightly more overhead.  Note that "32-bit" refers to data transfers across a PCI or VLB bus to the interface card only; all (E)IDE drives still have only a 16-bit connection over the ribbon cable from the interface card.
<hr>  0707010003835b000081a40000000000000002000000013d1fe2c20000030c000000200000000000000000000000000000001b00000003reloc/fdisk/help/a.pl.html    <header>Liczba sektorów</header>

Ustawia liczbê sektorów dla odczytu wyprzedzaj±cego systemu plików. <p>

Wykorzystuje siê to zwiêkszenia wydajno¶ci liniowego odczytu du¿ych plików,
poprzez wyprzedzaj±cy wybór dodatkowych bloków, uprzedzaj±c zapotrzebowanie
na nie przez dzia³aj±cy proces. W&nbsp;wersji kernela 2.0.10 domy¶ln±
warto¶ci± dla tego ustawienia jest 8 sektorów (4kB). To warto¶æ wydaje siê
byæ w³a¶ciwa dla wiêkszo¶ci zastosowañ lecz w&nbsp;systemach, gdzie
wiêkszo¶æ dostêpów do plików polega na przypadkowych przeszukiwaniach,
ni¿sze ustawienie mo¿e zapewniæ wiêksz± wydajno¶æ. Ponadto, wiele dysków IDE
posiada osobn± wbudowan± funkcjê odczytu wyprzedzaj±cego, która w&nbsp;wielu
sytuacjach zaspokaja zapotrzebowanie systemu plików na odczyt wyprzedzaj±cy.

<hr>
0707010003835c000081a40000000000000002000000013d1fe2c20000026c000000200000000000000000000000000000001b00000003reloc/fdisk/help/a.sv.html    <header>Sektorantal</header>
Ställer in sektorantal för filsystem read-ahead.

<p>Detta används för att förbättra sekventiell läsning av stora filer genom
att hämta tillhörande block i förväg för att de troligen kommer att behövas
för den pågående uppgiften. I denna kärnversion (2.0.10) är
standardinställningen 8 sektorer (4 kB). Detta värde är lagom för
de flesta tillämpningar, men i filsystem där huvuddelen av filåtkomsterna
är slumpsökningar medför ett lägre värde bättre prestanda. Många IDE-diskar
har också en separat, inbyggd read-ahead-funktion som underlättar för
filsystemets read-ahead i många fall.
<hr>
0707010003835d000081a40000000000000002000000013d1fe2c20000018a000000200000000000000000000000000000002300000003reloc/fdisk/help/a.zh_TW.Big5.html    <header>ºÏ°Ï­p¼Æ</header>
ÀÉ®×¨t²Î¹w¥ýÅª¨ú®ÉªººÏ°Ï­p¼Æ.<p>

³o¥i¥H¼W¥[«ùÄò©Ê¤jÀÉ®×Åª¨úªº®Ä²v, ¸g¥Ñ²q´ú±N­nÅª¨úªº°Ï¶ô¦Ó¹w¥ýÅª¨ú³o¨Ç°Ï¶ô¨ì°O¾ÐÅé¤¤. ¥Ø«eªº®Ö¤ßª©¥» (2.0.10) ¤¤m ³o­Ó³]©w¬O 8 ­Ó°Ï¶ô (4KB). ³o­Ó¼Æ­È¦ü¥G¹ï¤j¦h¼Æªºª¬ªp¹B§@¨}¦n; ¦ý¬O¦pªG¨t²Î¤j¦h¼Æªºª¬ªp¤U³£¬OÄÝ©óÀH¾÷©ÊªºÅª¨ú, ¸û®Äªº³]©w·|¦³¸û¨Îªº®Ä¯à. ¦¹¥~, ³\¦h IDE ³]³Æ¤]¦³¿W¥ßªº¤º«Ø¹w¥ýÅª¨ú¥\¯à, ³q±`³o¤w¸g¥i¥H²Å¦X¤j¦h¼Æªº»Ý¨D.
<hr>  0707010003835e000081a40000000000000002000000013d1fe2c2000001d4000000200000000000000000000000000000001b00000003reloc/fdisk/help/c.ca.html    <header>Suport d'E/S de 32 bits</header>

Estableix el suport d'E/S de 32 bits (E)IDE.
<p>
Aquest valor funciona amb gairebé tots els xips IDE de 32 bits, però indueix
una càrrega lleugerament superior. Tingues en compte que "32 bits" es refereix
només a les transferències de dades a traves d'un bus PCI o VLB cap a la
targeta d'interfície; totes les unitats (E)IDE tenen encara una connexió de
16 bits sobre la manguera connectada a la targeta d'interfície.

<hr>


0707010003835f000081a40000000000000002000000013d1fe2c200000183000000200000000000000000000000000000001b00000003reloc/fdisk/help/c.fr.html    <header>Support d'entrée/sortie 32 bits</header>
Configure le support d'entrée/sortie 32 bits (E)IDE.<p>

Cette configuration fonctionne sur pratiquement toutes les puces mais augmente légèrement la charge du disque.  Noter que le terme "32 bits" réfère au transfert de donnée sur le bus PCI ou VLB, car les disques (E)IDE ont toujours un ruban 16 bits qui les relies au contrôleur.
<hr> 07070100038361000081a40000000000000002000000013d1fe2c200000199000000200000000000000000000000000000001b00000003reloc/fdisk/help/c.pl.html    <header>32-bitowy dostêp</header>

Ustawia 32-bitow± komunikacjê z&nbsp;kontrolerem (E)IDE. <p>

Ta opcja dzia³a dla niemal wszystkich 32-bitowych chipsetów IDE, lecz nara¿a
na nieco wiêksze obci±¿enie. Zauwa¿, ¿e "32-bit" dotyczy jedynie transmisji
poprzez magistralê PCI lub VLB do kontrolera; wszystkie napêdy (E)IDE wci±¿
posiadaj± jedynie 16-bitowe po³±czenie poprzez kabel wst±¿kowy z kontrolera.

<hr>
   07070100038362000081a40000000000000002000000013d1fe2c200000165000000200000000000000000000000000000001b00000003reloc/fdisk/help/c.sv.html    <header>32-bitars I/O-stöd</header>
Sätter (E)IDE 32-bitars I/O-stöd.

<p>Detta fungerar med nästan alla 32-bitars chip, men ger lite mer spill.
Observera att "32-bitars" endast gäller dataöverföringar via PCI- eller
VLB-buss till nätverkskortet; samtliga (E)IDE-diskar har fortfarande bara
en 16-bitarsförbindelse över bandkabeln från nätverkskortet.

<hr>   07070100038363000081a40000000000000002000000013d1fe2c200000112000000200000000000000000000000000000002300000003reloc/fdisk/help/c.zh_TW.Big5.html    <header>32 ¦ì¤¸ªº I/O ¤ä´©</header>
³]©w (E)IDE ªº 32 ¦ì¤¸ I/O ¤ä´©.<p>

³o­Ó¼Æ­È¥i¥H»P¤j¦h¼Æªº 32 ¦ì¤¸ IDE ±±¨î¾¹¤@¦P¤u§@, ¦ý¬O·|¨Ï¥Î¸û¦hªº¸ê·½. ª`·N³o­Ó "32 ¦ì¤¸"¬Oªí¥Ü¸ê®Æ³z¹L PCI ©Î VLB ¶×¬y±Æ¨ì±±¨î¤¶­±¥dªº¤è¦¡; ©Ò¦³ªº (E)IDE µwºÐ¤´µM³£¥u¦³¨Ï¥Î 16 ¦ì¤¸»P¤¶­±¥d³s±µ.
<hr>  07070100038364000081a40000000000000002000000013d1fe2c2000002cd000000200000000000000000000000000000001b00000003reloc/fdisk/help/d.ca.html    <header>Ús de DMA</header>

Activa/Desactiva l'opció <i>using_dma</i> d'aquesta unitat.
<p>
Aquesta opció només funciona amb algunes combinacions d'unitats i interfícies
que suporten DMA i que són conegudes del driver IDE (i amb totes les 
interfícies XT suportades).<br>
En particular, el joc de xips Intel Triton està suportat per operació DMA
de bus mestre amb moltes unitats (experimental).
<p>
També és una bona idea fer-la servir en combinació amb l'opció <b>Mode de
transferència</b> per assegurar que la pròpia unitat està programada per al
millor mode DMA.
<p>
Fer servir DMA no proporciona necessàriament cap millora en la rapidesa o
el rendiment del sistema. El teu quilometratge pot ser diferent.

<hr>


   07070100038365000081a40000000000000002000000013d1fe2c20000024b000000200000000000000000000000000000001b00000003reloc/fdisk/help/d.fr.html    <header>Utiliser DMA</header>
Configure l'utilisation de l'option <i>using_dma</i> de ce disque.<p>

Cette option fonctionne seulement sur certaine combinaison de disques et contrôleur qui supporte le transfert DMA et qui est supporté par le pilote IDE.<br>

Il s'avère être aussi une bonne idée d'utiliser en combinaison l'option <b>Mode de Transfert</b> pour s'assurer que le disque lui même est programmé pour le meilleur mode DMA.<p>

Utiliser le DMA n'améliore pas nécessairement les performances du système, mais plusieurs ne jure que par ça.  Vos performances peuvent varier.
<hr> 07070100038366000081a40000000000000002000000013d1fe2c2000002ac000000200000000000000000000000000000001800000003reloc/fdisk/help/d.html   <header>Using DMA</header>
Disable/enable the <i>using_dma</i> flag for this drive.<p>

This option only works with a few combinations of drives and interfaces which support DMA and which are known to the IDE driver (and with all supported XT interfaces).<br>
In particular, the Intel Triton chipset is supported for bus-mastered DMA operation with many drives (experimental).<p>

It is also a good idea to use the <b>Transfer Mode</b> option in combination with to ensure that the drive itself is programmed for the best DMA mode.<p>

Using DMA does not necessarily provide any improvement in throughput or system performance, but many folks swear by it.  Your mileage may vary.
<hr>07070100038367000081a40000000000000002000000013d1fe2c200000319000000200000000000000000000000000000001b00000003reloc/fdisk/help/d.pl.html    <header>Using DMA</header>

Ustawia/wy³±cza flagê <i>using_dma</i> dla tego urz±dzenia. <p>

Ta opcja dzia³a tylko dla niektórych kombinacji urz±dzeñ i&nbsp;kontrolerów,
które obs³uguj± DMA i&nbsp;które s± znane sterownikowi IDE (oraz dla
wszystkich obs³ugiwanych kontrolerów XT). <br>

W szczególno¶ci chipset Intel Triton potrafi pracowaæ w&nbsp;trybie
bus-mastering DMA z&nbsp;wieloma urz±dzeniami (eksperymentalne). <p>

Jest równie¿ dobrym pomys³em skorzystaæ z&nbsp;opcji <b>Tryb transmisji</b>
w&nbsp;po³±czeniu z&nbsp;t±, aby zapewniæ, ¿e sam napêd jest zaprogramowany
do pracy w&nbsp;najlepszym trybie DMA. <p>

Korzystanie z DMA niekoniecznie wniesie jaki±kolwiek poprawê przepustowo¶ci
lub wydajno¶ci systemu, lecz wielu twierdzi, ¿e tak jest.  Twoje korzy¶ci
mog± byæ ró¿ne.

<hr>
   07070100038368000081a40000000000000002000000013d1fe2c2000002a0000000200000000000000000000000000000001b00000003reloc/fdisk/help/d.sv.html    <header>Använd DMA</header>
Aktivera/deaktivera flaggan <i>using_dma</i> för denna disk.

<p>Denna inställning fungerar bara för ett fåtal kombinationer av diskar
och nätverkskort som stödjer DMA och som IDE-drivern känner till (med alla
stödda XT-kort).

<br>Intel Triton stöds för DMA-bussoperationer för många diskar
(experimentellt).

<p>Det är också lämpligt att kombinera detta med inställningen
<b>Överföringsmod</b> för att vara säker på att disken i sig är programmerad
för bästa DMA-mod.

<p>Överföringshastighet och systemprestanda förbättras inte nödvändigtvis av
att man använder DMA, men många
hävdar att så är fallet. Det varierar från fall till fall.

<hr>07070100038369000081a40000000000000002000000013d1fe2c20000019b000000200000000000000000000000000000002300000003reloc/fdisk/help/d.zh_TW.Big5.html    <header>¨Ï¥Îª½±µ°O¾ÐÅé¦s¨ú</header>
Ãö³¬/¶}±Ò ³o­Ó¸Ë¸mªº <i>using_dma</i> ºX¼Ð.<p>

³o­Ó¿ï¶µ¥u¯à¤u§@¦b¤Ö¼Æ¤wª¾¯à¤ä´©¨Ã¬Û®eªº³]³Æ»P¤¶­±¥d¤W­±¤u§@.<br>
¦b¯S©wªº±¡ªp¤U, Intel Triton ±±¨î¾¹»P¤j¦h¼Æªº³]³Æ°t¦X¥i¥H¤ä´©¶×¬y±Æ¥D±±ªºª½±µ°O¾ÐÅé¦s¨ú (bus-mastered DMA) ¾Þ§@ (¹êÅç¤¤). <p>

¦P®É¨Ï¥Î<b>¶Ç¿é¼Ò¦¡</b>¿ï¶µ¨Ã½T©w³]³Æ³]©w¦¨³Ì¨Îªº DMA ¼Ò¦¡¤]¬O¤@­Ó¦n¥D·N.<p>

¨Ï¥Î DMA ¤£¤@©w¯à¼W¥[¨t²Îªº®Ä¯à, ÁöµM¦h¼Æ¤H»¡¥i¥H. 
<hr> 0707010003836a000081a40000000000000002000000013d1fe2c20000015c000000200000000000000000000000000000001e00000003reloc/fdisk/help/edit.ca.html <header>Edició d'unitat</header>

Fes servir aquest formulari per configurar la unitat.
<p>
El botó <b>Sync/flush</b> buida el cau del buffer del dispositiu en sortir.
<p>
<b>Standby</b>, posa la unitat en mode d'estalvi d'energia.
<p>
<b>Sleep mode</b>, posa la unitat en el mode de mínim consum d'energia,
la unitat s'apaga completament.

<hr>


0707010003836b000081a40000000000000002000000013d1fe2c20000017c000000200000000000000000000000000000001e00000003reloc/fdisk/help/edit.fr.html <header>Editer un disque</header>
Utiliser cette page pour configurer le disque.<p>

Le bouton <b>Synchroniser</b> synchronise et évacue le tampon du cache de ce disque.<p>

<b>Attente</b>, met le disque dans un mode d'attente et de faible consomation d'énergie.<p>

<b>Arrêter</b>, tant qu'à lui, utilise le moin d'énergie possible, le disque cesse complètement de tourner.

<hr>0707010003836c000081a40000000000000002000000013d1fe2c200000128000000200000000000000000000000000000001b00000003reloc/fdisk/help/edit.html    <header>Edit drive</header>
Use this form to configure the drive.<p>

The button <b>Sync/flush</b> the buffer cache for the device on exit.<p>

<b>Standby</b>, put the drive in low power mode.<p>

<b>Sleep mode</b>, put the drive in the lowest power mode, the drive is completely shut down.

<hr>0707010003836d000081a40000000000000002000000013d1fe2c20000011a000000200000000000000000000000000000001e00000003reloc/fdisk/help/edit.sv.html <header>Ändra disk</header>
I detta formulär kan du konfigurera disken.

<p>Knappen <b>Synk</b> går igenom cachen för disken när man lämnar den.

<p><b>Standby</b> försätter disken i lågenergiläge.

<p><b>Viloläge</b> försätter disken i lägsta energiläge; disken stannas helt.

<hr>  0707010003836e000081a40000000000000002000000013d1fe2c2000000eb000000200000000000000000000000000000002600000003reloc/fdisk/help/edit.zh_TW.Big5.html <header>½s¿è³]³Æ</header>
¨Ï¥Î³o­Óªí³æ¥H²ÕºA³o­Ó³]³Æ.<p>

«ö¶s<b>¦P¨B/²M°£</b>¥i¥H¦bÂ÷¶}®É²M°£½w½Ä°Ï§Ö¨ú.<p>

<b>µ¥«Ý</b>, ¨Ï³o­Ó³]³Æ¶i¤J§C¹q·½¯Ó¥Î¼Ò¦¡.<p>

<b>ºÎ¯v¼Ò¦¡</b>, ¨Ï³]³Æ¶i¤J³Ì§Cªº¹q·½¯Ó¥Î¼Ò¦¡, ³o·|¨Ï³o­Ó³]³Æ§¹¥þªºÃö³¬.

<hr> 0707010003836f000081a40000000000000002000000013d1fe2c20000046a000000200000000000000000000000000000001f00000003reloc/fdisk/help/index.ca.html    <header>Paràmetres de maquinari</header>

Ajuda a configurar diversos ioctls de disc dur suportats pel driver IDE/ST-506
de Linux.
<p>
Cal la versió del kernel de Linux 1.2.13 o posterior. Pot ser que algunes
opcions no funcionin correctament amb kernels més antics. A més a més, moltes
opcions només estan suportades pels kernels que inclouen el nou driver (E)IDE,
com ara la versió 2.0.10 o posteriors.
<p>
La columna <b>Unitat</b> mostra totes les unitats IDE. Fes-hi clic per
configurar-les i/o editar l'entrada del fitxer de scripts.
<p>
<b>Estat de la unitat</b> mostra l'estat; si està en el mode d'estalvi
d'energia <i>standby</i>, la unitat no gira; si és el mode de mínim consum
d'energia <i>sleep mode</i>, la unitat s'apaga completament;
<i>activa/inactiva</i> és el mode normal d'operació.<br>
Si l'estat de la unitat és un dels d'estalvi d'energia, fes clic sobre
l'estat per reiniciar-lo.
<p>
Es fan dues comprovacions de velocitat, executen cronometratges de lectura 
del cau i lectures de la unitat per propòsits de comparació. Si la unitat
es troba en un mode d'estalvi d'energia aquesta prova s'ignora.

<hr>


  07070100038373000081a40000000000000002000000013d1fe2c200000552000000200000000000000000000000000000001f00000003reloc/fdisk/help/index.fr.html    <header>Hdparm</header>
Aide à configurer plusieurs options des disque (E)IDE supporté par le pilote IDE/ST-506 de Linux.<p>

Nécessite un noyau de version 1.2.13 ou plus récent.  Certaines options ne pourrait pas fonctionner correctement sur de plus vieux noyau.  De plus, certaines options nécessite un kernel plus récent avec le nouveau pilote (E)IDE, comme dans la version 2.0.<p>

La colonne <b>Disque(s)</b> affiche tout les disques IDE.  Cliquer sur un pour le configurer et éditer ou ajouter sa configuration dans le fichier de script.<p>

<b>État d'alimentation</b> affiche l'état d'alimentation d'énergie du disque, que ce soit <i>Normal</i>, <i>En attente</i> quand le disque est en attente et la consommation électrique moindre ou <i>Complètement arrêté</i> où le moteur cesse complètement de tourner.
display the state of the drive, if it's <i>standby</i> low power mode, drive has spun down, <i<>sleep mode</i> lowest power mode, drive is completely shut down or <i>active/idle</i> normal operation.<br>
Si le disque est dans un des modes d'économies d'énergie, vous n'avez qu'a cliquer sur l'état pour réveiller le disque et redémarrer le moteur.<p>

Deux test de vitesse sont aussi fait pour voir d'éventuels fluctuations dans les peformances après des changements.  Si le disque est dans un mode d'économie d'énergie ces tests sont ignoré.

<hr>  07070100038374000081a40000000000000002000000013d1fe2c2000003ec000000200000000000000000000000000000001c00000003reloc/fdisk/help/index.html   <header>Hdparm</header>
Help to configure various hard disk ioctls supported by the stock Linux IDE/ST-506 device driver.<p>

Requires Linux kernel version 1.2.13 or later.  Some options may not work correctly with earlier kernels.  In addition, several options are supported only for kernels which include the new (E)IDE device driver, such as version 2.0.10 or later.<p>

The <b>Drive</b> column show all IDE drive.  Click to configure them and/or edit the entry in the script file.<p>

<b>Power Status</b> display the state of the drive, if it's <i>standby</i> low power mode, drive has spun down, <i<>sleep mode</i> lowest power mode, drive is completely shut down or <i>active/idle</i> normal operation.<br>
If the status of the drive is one kind of power save mode, click on the status to restart the drive spin.<p>

Two speed test is done, they perform timings of cache read and drive reads for benchmark and comparison purposes.  If the drive is in an power safe mode those test is ignored.

<hr>0707010003837d000081a40000000000000002000000013d1fe2c2000001cf000000200000000000000000000000000000001b00000003reloc/fdisk/help/k.ca.html    <header>Mantingues els valors després de reiniciar</header>

Estableix l'opció <i>keep_settings_over_reset</i> de la unitat.
<p>
Quan aquesta opció està establerta, el driver mantindrà les opcions
<b>Ús de DMA</b>, <b>Desenmascarament d'interrupcions</b> i
<b>Nombre de sectors per a E/S de sectors múltiples</b> després
de reiniciar (tal i com es fa durant la seqüència de recuperació d'errors).
<p>
No totes les unitats suporten aquesta característica.

<hr>


 0707010003837a000081a40000000000000002000000013d1fe2c2000003f2000000200000000000000000000000000000001f00000003reloc/fdisk/help/index.sv.html    <header>Hdparm</header>
Här hittar du hjälp för att konfigurera olika hårddisk-ioctl:er som stöds av drivrutinen Linux IDE/ST-506.

<p>Detta kräver att systemet har en Linuxkärna av version 1.2.13 eller senare.
En del inställningar fungerar inte som de ska ihop med tidigare kärnor.
Dessutom stöds många inställningar endast för kärnor med den nya
(E)IDE-drivrutinen, dvs version 2.0.10 och senare.

<p><b>Disk</b>-kolumnen visar alla IDE-diskar. Klicka där för att konfigurera
dem och/eller ändra en post i scriptfilen.

<p><b>Energiläge</b> visar diskens status; om den är <i>standby</i> har disken
saktat ned, i <i>viloläge</i>, det lägsta energiläget, har den stannat helt,
och i <i>aktiv/väntar</i> är den i normalt arbetsläge.
<br>Om disken är i något energisparläge kan man klicka på statustexten för att
sätta igång disken igen.

Två hastighetstester görs som utför cache- och diskläsningar som sedan
jämförs med standardvärden. Om disken är i ett energisparläge kommer
testerna inte att utföras.

<hr>  0707010003837c000081a40000000000000002000000013d1fe2c200000299000000200000000000000000000000000000002700000003reloc/fdisk/help/index.zh_TW.Big5.html    <header>µwºÐ°Ñ¼Æ</header>
À°§U±z²ÕºA Linux IDE.ST-506 µwºÐ¿é¥X¤J±±¨îªº²ÕºA.<p>

³o»Ý­n Linux ®Ö¤ß 1.2.13 ©Î§ó·sªº. ¤£¤Àªº¿ï¶µ¥i¯àµLªk¸ü¸û¦­ªº®Ö¤ß¤W¥¿±`¤u§@. ¦¹¥~, ³¡¤Àªº¿ï¶µ¥u³Q¥]§t·s¦¡ (E)IDE ÅX°Êµ{¦¡ªº®Ö¤ß (2.0.10 ©Î§ó·sªº) ©Ò¤ä´©.<p>

<b>ºÏºÐ</b>ÄæÅã¥Ü¥X©Ò¦³ªº IDE ºÏºÐ. «ö¤U¥¦­Ì¥H²ÕºA»P/©Î½s¿è¬ÛÃöªº«ü¥O½ZÀÉ®×.<p>

<b>¹q·½ª¬ºA</b>Åã¥Ü¥Ø«eºÏºÐªºª¬ºA. ¦pªG¦b<i>«Ý©R</i>§C¹q·½¼Ò¦¡, ºÏºÐ±N°±¤î¹BÂà; <i>ºÎ¯v¼Ò¦¡</i>«h¬O³Ì§Cªº¹q·½¯Ó¥Îª¬ºA, ºÏºÐ¤w§¹¥þ°±¤î; <i>±Ò°Ê/¶¢¸m</i>«h¬O³B©ó¤@¯ëªº¹B§@ª¬ºA.<br>
¦pªGºÏºÐ¦b¥ô¦ó¤@­Ó¬Ù¹q¼Ò¦¡, «ö¤Uª¬ºA¥i¥H­«·s¨ÏºÏºÐ¹BÂà.<p>

¤G­Ó³t«×´ú¸Õ¤w¸g§¹¦¨, ¥¦­Ì´£¨Ñ§Ö¨úÅª¨ú»PºÏºÐÅª¨ú®É¶¡ªº¤ñ¸û. ¦pªGºÏºÐ¦b¬Ù¹q¼Ò¦¡¤§¤¤, ³o¨Ç´ú¸Õ·|³Q©¿²¤.

<hr>   0707010003837e000081a40000000000000002000000013d1fe2c2000001d0000000200000000000000000000000000000001b00000003reloc/fdisk/help/k.fr.html    <header>Garder les options au redémarrage</header>
Configure l'option <i>keep_settings_over_reset</i> du disque.<p>

Ceci permet au disque de garder la configuration d'<b>Utiliser DMA</b>, <b>Démasquage d'interruption</b> et <b>Décompte de secteur pour les entrée/sortie multiple</b> durant un redémarrage à chaud (comme ceux effectué durant une séquence de recouvrement d'erreur du disque).<p>

Ce ne sont pas tout les disques qui supportent cette fonctions.
<hr>0707010003837f000081a40000000000000002000000013d1fe2c20000016e000000200000000000000000000000000000001800000003reloc/fdisk/help/k.html   <header>Keep settings over reset</header>
Set the <i>keep_settings_over_reset</i> flag for the drive.<p>

When this flag is set, the driver will preserve the options <b>Using DMA</b>, <b>Interrupt unmask</b> and <b>Sector count for multiple sector I/O</b> over a soft reset, (as done during the error recovery sequence).<p>

Not all drives support this feature.
<hr>  07070100038380000081a40000000000000002000000013d1fe2c2000001b4000000200000000000000000000000000000001b00000003reloc/fdisk/help/k.pl.html    <header>Zachowaj ustawienia podczas restartu</header>

Ustawia dla napêdu znacznik <i>keep_settings_over_reset</i>. <p>

Gdy ten znacznik jest ustawiony, sterownik zachowa ustawienia opcji
<b>Korzystanie z&nbsp;DMA</b>, <b>Niemaskowanie przerwañ</b>
i&nbsp;<b>Odczyty i&nbsp;zapisy wielosektorowe</b> po miêkkim restarcie,
(jak te¿ siê dzieje w&nbsp;przypadku wyst±pienia b³êdu). <p>

Nie wszystkie napêdy wspieraj± tê w³a¶ciwo¶æ.
<hr>
07070100038381000081a40000000000000002000000013d1fe2c20000017c000000200000000000000000000000000000001b00000003reloc/fdisk/help/k.sv.html    <header>Spara inställningar vid omstart</header>
Sätter flaggan <i>keep_settings_over_reset</i> för disken.

<p>När denna flagga är satt kommer disken att spara inställningarna <b>Använd DMA</b>, <b>Avbrottsbortmaskning</b> och <b>Sektorsteg för I/O med flera sektorer</b> vid en mjuk omstart (som vid en felkorrigeringsrutin).

<p>Alla diskar stödjer inte denna inställning.
<hr>07070100038382000081a40000000000000002000000013d1fe2c200000111000000200000000000000000000000000000002300000003reloc/fdisk/help/k.zh_TW.Big5.html    <header>­«³]®É«O¯d¥\¯à</header>
³]©wºÏºÐªº <i>keep_features_over_reset</i> ºX¼Ð.<p>

³]©w³o­Ó¥i¥H¨ÏºÏºÐ¦A­«³]®É (©ÎªÌ¿ù»~´_­ìµ{§Ç¤¤) «O¯d<b>¹w¥ýÅª¨ú</b>, <b>³]©w³Ì¨Îªº PIO</b>, <b>«Ý©R¹O®É</b>, <b>¼g¤J§Ö¨ú</b>, »P<b>¶Ç¿é¼Ò¦¡</b>ªº³]©w.<p>
¤£¬O©Ò¦³ªººÏºÐ³£¤ä´©³o­Ó¥\¯à.
<hr>   07070100038383000081a40000000000000002000000013d1fe2c200000538000000200000000000000000000000000000001b00000003reloc/fdisk/help/m.ca.html    <header>Nombre de sectors per a E/S de sectors múltiples</header>

Estableix el nombre de sectors per a E/S de sectors múltiples a la unitat.
<p>

El mode de sector múltiple (altrament dit Mode de Bloc IDE), és una
característica dels discs durs IDE més moderns, que permet la transferència
de múltiples sectors per interrupció d'E/S, en lloc de la transferència usual
d'un sector per interrupció.
<p>
Quan aquesta característica està activada, acostuma a reduir la càrrega 
del sistema operatiu d'E/S de disc en un 30-50%. EN molts sistemes, també
proporciona un increment de la transferència de dades del 5 al 50%. Algunes
unitats, no obstant (sobretot la sèrie WD Caviar), poden anar més lentes
amb el mode de bloc múltiple activat. Això pot variar.
<p>.
La majoria d'unitats suporten els valors mínims de 2, 4, 8 o 16 (sectors).
Pot haver-hi valors més grans, depenent de la unitat. Un valor de 16 o 32
pot ser òptim en molts sistemes.
<p>
Western Digital recomana valors més petits, de 4 o 8, en moltes de les
seves unitats, degut als buffers petits (32 Kb) i als als algoritmes de
buffer no optimitzats.
<p>
Algunes unitats pretenen suportar mode de blocs múltiples, però perden
dades amb algunes configuracions.<br>
En circumstàncies comptades, aquests errors poden provocar una corrupció
massiva del sistema de fitxers.

<hr>


07070100038384000081a40000000000000002000000013d1fe2c2000004e5000000200000000000000000000000000000001b00000003reloc/fdisk/help/m.fr.html    <header>Décompte de secteur pour les entrée/sortie multiple</header>
Définit le décompte de secteur pour les entrée/sortie multiple d'un disque.<p>

Le mode de secteur multiple (Mode bloc IDE), est une option de la majorité des disque IDE moderne qui permet le transfert de plusieurs secteurs par interruption d'entrée/sortie contrairement à un seul généralement.

Cette option reduit généralement la charge d'entrée/sortie du disque de 30 à 50%.  Sur plusieurs système, ceci augment aussi la vitesse de transfert de 5 à 50%.  Quelques disques (comme la série WD Caviar) semble rouler moin rapidement avec cette option.  Vos performance peuvent varier.

La majorité des disques supporte un nombre de secteurs de 2, 4, 8 ou 16.  Certain disque offre 32 secteurs.  Un nombre de 16 ou 32 secteurs est optimal pour la majorité des systèmes.<p>

Western Digital recommande un nombre de secteur de 4 ou 8 sur plusieurs de leurs disques, dù à une petite quantité de tampon dans le disque (32kb) et aucun algorythme d'optimisation du tampon.<p>

Certain disque disent supporter cette option, mais perdent des données avec certain nombre de secteurs.<br>
Dans de rare circonstance, une tel perte de donnée amène une corruption massive du système de fichier.
<hr>   07070100038385000081a40000000000000002000000013d1fe2c20000047f000000200000000000000000000000000000001800000003reloc/fdisk/help/m.html   <header>Sector count for multiple sector I/O</header>
Set sector count for multiple sector I/O on the drive.<p>

Multiple sector mode (aka IDE Block Mode), is a feature of most modern IDE hard drives, permitting the transfer of multiple sectors per I/O interrupt, rather than the usual one sector per interrupt.<p>

When this feature is enabled, it typically reduces operating system overhead for disk I/O by 30-50%.  On many systems, it also provides increased data throughput of anywhere from 5% to 50%.  Some drives, however (most notably the WD Caviar series), seem to run slower with multiple mode enabled.  Your mileage may vary.<p>

Most drives support the minimum settings of 2, 4, 8, or 16 (sectors).  Larger settings may also be possible, depending on the drive.  A setting of 16 or 32 seems optimal on many systems.<p>

Western Digital recommends lower settings of 4 to 8 on many of their drives, due tiny (32kB) drive buffers and non-optimized buffering algorithms.<p>

Some drives claim to support multiple mode, but lose data at some settings.<br>
Under rare circumstances, such failures can result in massive filesystem corruption.
<hr> 07070100038386000081a40000000000000002000000013d1fe2c200000532000000200000000000000000000000000000001b00000003reloc/fdisk/help/m.pl.html    <header>Odczyty i zapisy wielosektorowe</header>

Ustawia liczbê sektorów dla wielosektorowych operacji I/O dla napêdu.<p>

Tryb wielosektorowy (inaczej Tryb blokowy IDE), jest w³a¶ciwo¶ci± wspieran±
przez wiêkszo¶æ nowoczesnych dysków IDE, pozwalaj±c na transmisjê wielu
sektorów na przerwanie I/O, zamiast jednego sektora na przerwanie. <p>

Gdy ta w³a¶ciwo¶æ jest w³±czona, standardowo zmniejsza siê obci±¿enie
systemu przez dyskowe operacje I/O o&nbsp;30-50%. W&nbsp;wielu systemach
zapewnia ona równie¿ przepustowo¶æ dla danych o jakie¶ 5% do 50%. Jednak¿e
niektóre dyski (szczególnie rodzina WD Caviar) wydaj± siê dzia³aæ wolniej przy
w³±czonym trybie wielosektorowym. Twoje korzy¶ci mog± byæ ró¿ne. <p>

Wiêkszo¶æ dysków wspiera co najmniej ustawienia 2, 4, 8 lub 16 (sektorów).
Mo¿liwe mog± byæ równie¿ wiêksze warto¶ci, w&nbsp;zale¿no¶ci od dysku.
Ustawienie 16 lub 32 wydaje siê byæ optymalne w&nbsp;wielu systemach. <p>

Western Digital zaleca ni¿sze ustawienia, czyli od 4 do 8 dla wielu swoich
dysków ze wzglêdu na niewielki (32kB) bufor oraz nie zoptymalizowane
algorytmy buforowania. <p>

Niektóre urz±dzenia zg³aszaj±, ¿e obs³uguj± tryb wielosektorowy, lecz gubi±
dane przy niektórych ustawieniach. <br>
W&nbsp;rzadkich przypadkach, takie b³êdy mog± prowadziæ do masowych przek³amañ
w&nbsp;systemach plików.

<hr>
  07070100038387000081a40000000000000002000000013d1fe2c2000004e9000000200000000000000000000000000000001b00000003reloc/fdisk/help/m.sv.html    <header>Sektorantal för I/O med flera sektorer</header>
Här ställer du in sektorantalet för multipelsektors-I/O på disken.

<p>Multipelsektorsmod (även kallat IDE-blockmod) är en egenskap som de flesta
moderna IDE-diskar har och som gör det möjligt att föra över flera sektorer
varje I/O-avbrott, till skillnad från standardmoden, där man för över en
sektor per avbrott.

<p>När denna inställning aktiverats minskas vanligen operativsystemsoverheaden
för läsning och skrivning till disk med 30-50 %. På många system ökas också
dataflödet med 5-50 %. En del diskar (särskilt WD Caviar-serien) verkar dock
gå långsammare då multipelsektorsmoden aktiverats. Det varierar från fall till
fall.

<p>De flesta diskar stödjer minimiinställningar på 2, 4, 8 eller 16 (sektorer).
Det kan även gå att ställa in större antal beroende på vilken disk man har.
För många system är 16 eller 32 sektorer optimalt.

<p>Western Digital rekommenderar en lägre inställning, 4-8 sektorer, för
många av sina diskar, beroende på små (32 kB) buffrar och icke-optimerade
buffringsalgoritmer.

<p>En del diskar stödjer till viss del multipelmod, men tappar data vid
vissa inställningskombinationer.
<br>Vid vissa omständigheter kan detta orsaka ett totalt söndertrasat
filsystem.
<hr>   07070100038388000081a40000000000000002000000013d1fe2c20000030e000000200000000000000000000000000000002300000003reloc/fdisk/help/m.zh_TW.Big5.html    <header>¦h­«ºÏ°Ï¿é¥X¤JªººÏ°Ï­p¼Æ</header>
³]©w³o­ÓºÏºÐªº¦h­«ºÏ°Ï¿é¥X¤JªººÏ°Ï­p¼Æ.<p>

¦h­«ÃãºÏ°Ï¼Ò¦¡ (¤S¥s§@ IDE °Ï¶ô¼Ò¦¡), ¬O¤j¦h¼Æ·s«¬ IDE µwºÐ³£¦³ªº¥\¯à, ³o¥i¥H¦b¨C¤@¦¸ªº I/O ¤¤Â_¤¤¶Ç°e¦h­ÓºÏ°Ï, ¦Ó¤£¬O¨C­ÓºÏ°Ï³£»Ý­n¤@­Ó¤¤Â_.<p>

·í³o­Ó¥\¯à±Ò°Ê«á, ³q±`³£¯à´î¤Ö§@·~¨t²Îµ¥«ÝºÏºÐ I/O ªº®É¶¡¨ì 30-50%. ¦b³\¦hªº¨t²Î¤W, ³o¤]·|¼W¥[¸ê®Æªº¶Ç¿é¶q 5-50%. µM¦Ó, ¹ï©ó¬Y¨ÇºÏºÐ (³q±`¬O WD Caviar ¨t¦C) ¦b±Ò°Ê³o­Ó¥\¯à«á¦ü¥G·|ÅÜªº¤ñ¸ûºC.<p>

¤j¦h³]ªººÏºÐ¤ä´©¸û¤pªº³]©w 2, 4, 8, ©Î 16 (ºÏ°Ï). ¸û¤jªº³]©w¥i¯à¥i¥H¨Ï¥Î, ¦ý¨Ì¾ÚºÏºÐ¦Ó¤£¦P. 16 ©Î 32 ¦ü¥G¬O¤j¦h¼Æ¨t²Îªº³Ì¨Î³]©w.<p>

¦]¬°¤p«¬ªººÏºÐ½w½Ä (32kB) »P¥¼³Ì¨Î¤Æªº½w½Ä¹Bºâ¤è¦¡, WD «ØÄ³¦b¥¦­ÌªººÏºÐ¤W¨Ï¥Î¸û¤pªº³]©w¦p 4 ©Î 8.<p>

¦³¨ÇºÏºÐ«ÅºÙ¤ä´©³o­Ó¼Ò¦¡m ¦ý¦b¬Y¨Ç³]©w¤U«o·|¿ò¥¢¸ê®Æ.<br>
¦b¬Y¨Ç¨u¨£ªº±¡ªp¤§¤U, ³o¼Ëªº¿ù»~±N¾É­PÄY­«ªºÀÉ®×¨t²Î·l·´.
<hr>  0707010003838b000081a40000000000000002000000013d1fe2c20000009a000000200000000000000000000000000000001b00000003reloc/fdisk/help/r.ca.html    <header>Només lectura</header>

Estableix l'opció de només lectura. Quan s'estableix, no es permeten
operacions d'escriptura sobre el dispositiu.

<hr>


  0707010003838c000081a40000000000000002000000013d1fe2c2000000a2000000200000000000000000000000000000001b00000003reloc/fdisk/help/r.fr.html    <header>Lecture seule</header>
Configure l'option de lecture seule du disque.  Une fois défini les opérations d'écritures ne sont plus permise sur ce disque.
<hr>  0707010003838d000081a40000000000000002000000013d1fe2c20000007b000000200000000000000000000000000000001800000003reloc/fdisk/help/r.html   <header>Read only</header>
Set read-only flag for device.  When set, write operations are not permitted on the device.
<hr> 0707010003838e000081a40000000000000002000000013d1fe2c2000000b3000000200000000000000000000000000000001b00000003reloc/fdisk/help/r.pl.html    <header>Tylko do odczytu</header>

Ustawienie znacznika &quot;tylko do odczytu&quot; dla urz±dzenia.
Gdy jest on ustawiony operacje zapisu na tym urz±dzeniu nie s± mo¿liwe.

<hr>
 0707010003838f000081a40000000000000002000000013d1fe2c200000085000000200000000000000000000000000000001b00000003reloc/fdisk/help/r.sv.html    <header>Endast läsbart</header>
Sätter flaggan read-only för disken. När denna flagga är satt går
det inte att skriva på disken.
<hr>   07070100038390000081a40000000000000002000000013d1fe2c200000056000000200000000000000000000000000000002300000003reloc/fdisk/help/r.zh_TW.Big5.html    <header>°ßÅª</header>
³]©wºÏºÐªº°ßÅªºX¼Ð. ·í³]©w«á, ³o­ÓºÏºÐ±N¤£±µ¨ü¥ô¦ó¼g¤J°Ê§@.
<hr>  07070100038391000081a40000000000000002000000013d1fe2c200000304000000200000000000000000000000000000001b00000003reloc/fdisk/help/u.ca.html    <header>Desenmascarament d'interrupcions</header>

Estableix l'opció desenmascarament d'interrupcions de la unitat.
<p>
Permet que el driver desemmascari les altres interrupcions durant el procés
d'una interrupció de disc, que millora de forma important la resposta del
Linux i elimina els errors "serial port overrun".
<p>
<u>Fes servir aquesta opció amb compte</u>: algunes combinacions 
d'unitat/controladora no toleren les latències d'E/S incrementades quan
s'activa aquesta característica, cosa que pot produir una <i>corrupció
massiva del sistema de fitxers</i>.<br>
En particular, les interfícies IDE CMD-640B i RZ1000 poden no ser fiables
(degut a un defecte del maquinari) quan s'activa aquesta opció amb versions
del kernel més velles que la 2.0.13.<br>

<hr>


07070100038392000081a40000000000000002000000013d1fe2c200000294000000200000000000000000000000000000001b00000003reloc/fdisk/help/u.fr.html    <header>Démasquage d'interruption</header>
Configure le démasquage d'interruption de ce disque.<p>

Permet au pilote de démasquer les autres interruptions durant le processus d'interruption, ce qui améliore beaucoup le temps de réponse de Linux et élimine l'erreur "serial port overrun".<p>

<u>Utiliser avec prudence</u>: certaine combinaison de disque et contrôleur ne tolère pas d'augmenter les entrées/sorties ce qui pourrait amener à <i>une corruption massive du système de fichier</i>.<br>
En particulier les contrôleurs CMD-640B et RZ1000 (E)IDE (dû à un défaut matériel) quand cette option est utilisé avec des kernel plus vieux que le 2.0.13.<br>
<hr>07070100038393000081a40000000000000002000000013d1fe2c200000280000000200000000000000000000000000000001800000003reloc/fdisk/help/u.html   <header>Interrupt unmask</header>
Set interrupt-unmask flag for the drive.<p>

Enabled the driver to unmask other interrupts during processing of a disk interrupt, which greatly improves Linux's responsiveness and eliminates "serial port overrun" errors.<p>

<u>Use this feature with caution</u>: some drive/controller combinations do not tolerate the increased I/O latencies possible when this feature is enabled, resulting in <i>massive filesystem corruption</i>.<br>
In particular CMD-640B and RZ1000 (E)IDE interfaces can be unreliable (due to a hardware flaw) when this option is used with kernel versions earlier than 2.0.13.<br>
<hr>07070100038394000081a40000000000000002000000013d1fe2c200000309000000200000000000000000000000000000001b00000003reloc/fdisk/help/u.pl.html    <header>Niemaskowanie przerwañ</header>

Ustawia flagê niemaskowania przerwañ dla urz±dzenia.<p>

Gdy w³±czone, pozwala sterownikowi na odblokowanie innych przerwañ podczas
obs³ugi przerwania dyskowego, co znacznie poprawia reakcjê systemu Linuksa
i&nbsp;eliminuje b³êdy "serial port overrun".<p>

<u>Korzystaj z&nbsp;tej opcji z&nbsp;ostro¿no¶ci±</u>: niektóre kombinacje
dysków/kontrolerów nie toleruj± opó¿nieñ operacji I/O, które mog± wyst±piæ,
gdy ta opcja jest w³±czona. Prowadzi to do <i>masowych przek³amañ
w&nbsp;systemach plików</i>.<br>

W&nbsp;szczególno¶ci, kontrolery (E)IDE CMD-640B i&nbsp;RZ1000 mog±
zachowywaæ sie niepewnie (ze wzglêdu na wadê sprzêtow±), gdy korzysta siê
z&nbsp;tej opcji przy kernelu w&nbsp;wersji wcze¶niejszej ni¿ than
2.0.13.<br>

<hr> 
   07070100038395000081a40000000000000002000000013d1fe2c20000029e000000200000000000000000000000000000001b00000003reloc/fdisk/help/u.sv.html    <header>Avbrottsbortmaskning</header>
Sätter flaggan interrupt-unmask för disken.

<p>Detta gör att disken kan maska bort andra avbrott då ett diskavbrott
bearbetas, vilket förbättrar Linux' svarstid och eliminerar fel av typen
"serial port overrun".

<p><u>Var försiktig med att använda denna egenskap</u>: vissa
disk/kontroller-kombinationer accepterar inte de ökade tidsfördröjningar
som kan uppkomma då bortmaskningen är aktiverad, vilket kan orsaka ett
<i>totalt söndertrasat filsystem</i>.

<br>I synnerhet kan CMD-640B och RZ1000 (E)IDE vara opålitliga (beroende på
brister i hårdvaran) då bortmaskning används tillsammans med kärnversioner
äldre än 2.0.13.

<hr>  07070100038396000081a40000000000000002000000013d1fe2c200000193000000200000000000000000000000000000002300000003reloc/fdisk/help/u.zh_TW.Big5.html    <header>¤¤Â_¾B¸n</header>
³]©wºÏºÐªº¤¤Â_¾B¸nºX¼Ð.<p>

±Ò°ÊºÏºÐªº¤¤Â_¾B¸n¥i¥HÁ×§K¦b³B²z®É¦³¨ä¥Lªº¤¤Â_µo¥Í, ³o¥i¥H¤j´T¼W¥[ Linux ªº¤ÏÀ³©Ê, ¨ÃÁ×§K"§Ç¦C°ð¹L¸ü"ªº¿ù»~µo¥Í.<p>

<u>¤p¤ß¦a¨Ï¥Î³o­Ó¥\¯à</u>: ¦³¨ÇºÏºÐ/±±¨î¾¹ªº²Õ¦X¦b±Ò°Ê³o­Ó¥\¯à®É, ¤£¯à¤¹³\¼W¥[ I/O ©µ¿ð. ³o±N¾É­P<i>ÄY­«ªºÀÉ®×¨t²Î·l·´</i>.<br>
¯S§O¬O¦b 2.0.13 ª©¤§«eªº®Ö¤ß¤W¨Ï¥Î CMD-640B »P RZ1000 (E)IDE ¤¶­±¬O¤£¥i«H¿àªº (¦]¬°µwÅéªº·å²«).<br>
<hr> 070701000399f9000041ed0000000000000001000000023d1ffa2600000000000000200000000000000000000000000000001300000003reloc/fdisk/images    070701000399fa000081a40000000000000002000000013d1fe2c200000024000000200000000000000000000000000000001b00000003reloc/fdisk/images/ext.gif    GIF87a 
 €  ø ø   ,     
  „ ;070701000399fb000081a40000000000000002000000013d1fe2c20000002c000000200000000000000000000000000000001b00000003reloc/fdisk/images/gap.gif    GIF89a 
 €     ÿÿÿ!ù   ,     
  Œ ;070701000399fc000081a40000000000000002000000013d1fe2c200000134000000200000000000000000000000000000001c00000003reloc/fdisk/images/icon.gif   GIF89a0 0 ¡  ÿÿÿfff™™™ÌÌÌ!ù    ,    0 0  þ„©Ëí£4¡Ú¦¦Vø
×æTá‰Š™éº+¸ð­Î¤£vE«ñz'KP6$ætÞåöT}ÌÉÔ$•¸ÉV9‹ÇÐÃ&«×ž·Ž³gç$Ï‹eºâ[Å§'Ç÷±ð•2¨×öGÔ§¨fÖØ³÷±hi8IIv3Vè×âèÉ™ºÙ7š’zè	ëŠJº×ªÙYËÙ7§[
Š€–ûë|ð[\yLqu²öÙc%=Íˆ«ü+¨ý‡ˆ)¨+éÍš­JhÉ+8÷4^LMC_ÿ½_ëÝ<Áœ>IÙcQÐà@‚Ë¼9 ®ß¿{ìÖ-|ˆàÆ;:(  ;070701000399fd000081a40000000000000002000000013d1fe2c200000024000000200000000000000000000000000000001b00000003reloc/fdisk/images/use.gif    GIF87a 
 €  ÿ     ,     
  „ ;07070100036da7000081e40000000000000002000000013d1fe2c20000133f000000200000000000000000000000000000001600000003reloc/fdisk/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of known disks and partitions

require './fdisk-lib.pl';
&error_setup($text{'index_err'});
&check_fdisk();
&header($text{'index_title'}, "", undef, 0, 1, 0,
	&help_search_link("fdisk", "man", "doc", "howto"));
print "<hr>\n";
$extwidth = 250;

&read_acl(\%acl);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_disk'}</b></td> ",
      "<td><b>$text{'index_parts'}</b></td> </tr>\n";
foreach $d (&list_disks_partitions()) {
	local $ed = &can_edit_disk($d->{'device'});
	next if (!$ed && !$access{'view'});
	print "<tr $cb> <td valign=top><table>\n";
	print "<tr> <td><b>$text{'index_location'}</b></td> ";
	print "<td>$d->{'desc'}</td>\n";
	print "<tr> <td><b>$text{'index_cylinders'}</b></td> ",
	      "<td>$d->{'cylinders'}</td> </tr>\n";
	if ($d->{'model'}) {
		print "<tr> <td><b>$text{'index_model'}</b></td> ",
		      "<td>$d->{'model'}</td> </tr>\n";
		}
	if (defined($d->{'scsiid'}) && defined($d->{'controller'})) {
		print "<tr> <td><b>$text{'index_controller'}</b></td> ",
		      "<td>$d->{'controller'}</td> </tr>\n";
		print "<tr> <td><b>$text{'index_scsiid'}</b></td> ",
		      "<td>$d->{'scsiid'}</td> </tr>\n";
		}
	if ($d->{'raid'}) {
		print "<tr> <td><b>$text{'index_raid'}</b></td> ",
		      "<td>$d->{'raid'}</td> </tr>\n";
		}
	if ($d->{'type'} eq 'ide' && $ed) {
		# Display link to IDE params form
		print "<tr> <td colspan=2><a href='edit_hdparm.cgi?disk=",
		      $d->{'index'},"'>$text{'index_hdparm'}</a></td> </tr>\n";
		}
	print "</table></td> <td valign=top>\n";

	@parts = @{$d->{'parts'}};
	foreach $p (@parts) {
		if ($p->{'end'} > $d->{'cylinders'}-1) {
			$d->{'cylinders'} = $p->{'end'}+1;
			}
		}
	local $extended = 0;
	local $usedpri = 0;
	if (!@parts) {
		print "<b>$text{'index_none'}</b><p>\n";
		}
	else {
		print "<table width=100%> ",
		      "<tr> <td><b>$text{'index_num'}</b></td> ",
		      "<td><b>$text{'index_type'}</b></td> ",
                      "<td><b>$text{'index_extent'}</b></td> ",
                      "<td><b>$text{'index_start'}</b></td> ",
                      "<td><b>$text{'index_end'}</b></td> ",
                      "<td><b>$text{'index_use'}</b></td> ",
                      "<td><b>$text{'index_free'}</b></td> </tr>\n";
		foreach $p (@parts) {
			if (!$ed) {
				print "<tr> <td>$p->{'number'}</td>\n";
				}
			elsif ($p->{'extended'}) {
				print "<tr> <td><a href=\"edit_part.cgi?",
				      "disk=$d->{'index'}&part=$p->{'index'}\">",
				      "$p->{'number'}</a></td>\n";
				$extended++;
				}
			else {
				print "<tr> <td><a href=\"edit_part.cgi?",
				      "disk=$d->{'index'}&part=$p->{'index'}\">",
				      "$p->{'number'}</a></td>\n";
				}
			$usedpri++ if ($p->{'number'} <= 4);
			print "<td>",$p->{'extended'} ? $text{'extended'}
						      : &tag_name($p->{'type'}),
			      "</td> <td>\n";
			printf "<img src=images/gap.gif height=10 width=%d>",
				$extwidth*($p->{'start'} - 1) /
				$d->{'cylinders'};
			printf "<img src=images/%s.gif height=10 width=%d>",
				$p->{'extended'} ? "ext" : "use",
				$extwidth*($p->{'end'} - $p->{'start'}) /
				$d->{'cylinders'};
			printf "<img src=images/gap.gif height=10 width=%d>",
			  $extwidth*($d->{'cylinders'} - ($p->{'end'} - 1)) /
				    $d->{'cylinders'};
			print "</td> <td>$p->{'start'}</td> ",
			      "<td>$p->{'end'}</td> <td>\n";
			@stat = &device_status($p->{'device'});
			if ($stat[1] eq 'raid') {
				print "<tt>$stat[0]</tt>\n";
				}
			elsif ($stat[1] eq 'lvm') {
				if ($acl{$base_remote_user,'lvm'}) {
					print "<tt><a href='/lvm/'>VG $stat[0]</a></tt>\n";
					}
				else {
					print "<tt>VG $stat[0]</tt>\n";
					}
				}
			elsif ($stat[0] && !$acl{$base_remote_user,'mount'}) {
				print "<tt>$stat[0]</tt>\n";
				}
			elsif ($stat[0] && $stat[3] == -1) {
				print "<tt><a href='/mount/edit_mount.cgi?index=$stat[4]&temp=1&return=/$module_name/'>$stat[0]</a></tt>\n";
				}
			elsif ($stat[0]) {
				print "<tt><a href='/mount/edit_mount.cgi?index=$stat[3]&return=/$module_name/'>$stat[0]</a></tt>\n";
				}
			print "</td> <td>\n";
			if (!$p->{'extended'} && $stat[2] &&
			    &indexof($p->{'type'}, @space_type) >= 0 &&
			    (@space = &disk_space($p->{'device'})) &&
			    $space[0]) {
				printf "%d %%\n", 100 * $space[1] / $space[0];
				}
			print "</td> </tr>\n";
			}
		print "</table>\n";
		}
	if ($usedpri != 4 && $ed) {
		print "<a href=\"edit_part.cgi?",
		      "disk=$d->{'index'}&new=1\">",
		      $text{'index_addpri'},"</a>&nbsp;&nbsp;\n";
		}
	if ($extended && $ed) {
		print "<a href=\"edit_part.cgi?",
		      "disk=$d->{'index'}&new=2\">",
		      $text{'index_addlog'},"</a>\n";
		}
	elsif ($usedpri != 4 && $ed) {
		print "<a href=\"edit_part.cgi?",
		      "disk=$d->{'index'}&new=3\">",
		      $text{'index_addext'},"</a>\n";
		}
	print "</td> </tr>\n";
	}
print "</table><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

 0707010003b1ff000041ed0000000000000001000000023d1ffa2700000000000000200000000000000000000000000000001100000003reloc/fdisk/lang  0707010003b200000081a40000000000000002000000013d1fe2c200001ff2000000200000000000000000000000000000001400000003reloc/fdisk/lang/ca   index_title=Administrador de Particions
index_err=No he pogut llistar els discs
index_disk=Disc
index_parts=Particions
index_location=Ubicació
index_cylinders=Cilindres
index_model=Model
index_raid=Nivell RAID
index_controller=Controladora
index_scsiid=Destí
index_none=No s'ha trobat cap partició
index_num=Nº
index_type=Tipus
index_extent=Extensió
index_start=Inici
index_end=Fi
index_addpri=Afegeix partició primària
index_addlog=Afegeix partició lògica
index_addext=Afegeix partició ampliada
index_hdparm=Edita els paràmetres IDE
index_use=Usat
index_free=Lliure
index_return=a la llista de discs

bytes=bytes
extended=Ampliada
opt_default=Defecte
opt_error='$1' no és un $2 vàlid
open_error=Ordre $1 no trobada
select_device=dispositiu $1 $2
select_part=dispositiu $1 partició $2 $3
select_fd=Unitat de disquet $1
select_mylex=Unitat RAID $1 Mylex $2
select_mpart=Unitat RAID $1 Mylex $2 partició $3
select_cpq=RAID Compaq $1 unitat $2
select_cpart=RAID Compaq $1 unitat $2 partició $3
select_scsi=Controladora SCSI $1 bus $2 ID $3 LUN $4
select_spart=Controladora SCSI $1 bus $2 ID $3 LUN $4 partició $5

edit_title=Edició de Partició
create_title=Creació de Partició
edit_ecannot=No tens permís per editar aquest disc
edit_ehdparm=No es pot trobar al sistema l'executable <tt>hdparm</tt>
edit_details=Detalls de la partició
edit_location=Ubicació
edit_device=Fitxer de dispositiu
edit_type=Tipus
edit_extent=Extensió
edit_of=de
edit_status=Estat
edit_cont1=Conté 1 partició
edit_cont234=Conté $1 particions
edit_cont5=Conté $1 particions
edit_mount=Muntat a $1 com $2
edit_umount=Per muntar a $1 com $2
edit_mountvm=Muntat com a memòria virtual
edit_umountvm=Per muntar com a memòria virtual
edit_mountraid=Part del dispositiu RAID $1
edit_mountlvm=Part del grup de volums $1 del LVM
edit_notexist=Pendent de creació
edit_notused=Sense utilitzar
edit_size=Mida
edit_label=Etiqueta de la partició
edit_blocks=$1 blocs
edit_inuse=Aquesta partició no es pot canviar, ja que que està en ús o configurada per fer servir
edit_mkfs=Crea Sistema de Fitxers
edit_mkfs2=Crea Sistema de Fitxers:
edit_mkfsmsg=Crea un nou sistema de fitxers $1 en aquesta partició i esborra de forma permanent tots els fitxers existents. Has de fer-ho després de crear una nova partició o canviar-ne una d'existent.
edit_mkfsmsg2=Construeix un sistema de fitxers nou del tipus seleccionat en aquesta partició, esborrant de forma permanent tots els fitxers existents. Has de fer-ho després de crear una partició nova o canviar-ne una d'existent.
edit_fsck=Repara Sistema de Fitxers
edit_fsckmsg=Crida el programa $1, que repara un sistema de fitxers per tal que pugui ser muntat. Això pot caldre si no has tancat el sistema correctament.
edit_tune=Sintonitza Sistema de Fitxers
edit_tunemsg=Permet la modificació de diversos paràmetres del sistema de fitxers existent.
edit_none=Cap

mkfs_title=Nou Sistema de Fitxers
mkfs_ecannot=No tens permís per crear un nou sistema de fitxers en aquest disc
mkfs_desc1=Fent clic al botó del peu d'aquest formulari crearàs un nou sistema de fitxers $1 al dispositiu $2. Totes les dades d'aquesta partició s'esborraran de forma definitiva.
mkfs_desc2=Aquesta partició ha estat muntada a $1 com $2. Crear un nou sistema de fitxers esborrarà tots els fitxers que estaven accessibles sota aquest directori.
mkfs_options=Opcions del Sistema de Fitxers
mkfs_create=Crea Sistema de Fitxers
mkfs_err=No he pogut crear el sistema de fitxers
mkfs_exec=Executant l'ordre $1...
mkfs_failed=...l'ordre ha fallat!
mkfs_ok=...ordre completa.

fsck_title=Reparació de Sistema de Fitxers
fsck_ecannot=No tens permís per executar fsck sobre aquest disc
fsck_desc1=Fent clic sobre el botó <tt>Repara Sistema de Fitxers</tt>, provarà de reparar el sistema de fitxers $1 deteriorat de $2 per muntar-lo a $3. Si el sistema de fitxers no està deteriorat, no es farà cap canvi.
fsck_desc2=Les reparacions del sistema de fitxers es faran amb l'ordre $1, que provarà de corregir qualsevol problema trobat de forma automàtica. Per a més control sobre les reparacions del sistema de fitxers, feu servir l'ordre $2 a mà en mode interactiu des de la línia d'ordres de Unix.
fsck_repair=Reparació de Sistema de Fitxers
fsck_exec=Executant l'ordre $1...
fsck_err0=no s'ha detectat cap error
fsck_err1=errors trobats i corregits
fsck_err3=errors trobats i corregits - cal reengegar
fsck_err4=errors trobats però NO corregits
fsck_err16=error de la línia d'ordres
fsck_unknown=codi de retorn desconegut: $1

tunefs_title=Sintonització de Sistema de Fitxers
tunefs_ecannot=No tens permís per sintonitzar aquest sistema de fitxers
tunefs_desc=Aquest formulari permet ajustar diversos paràmetres del sistema de fitxers $1 de $2 per muntar-lo a $3. Els fitxers existents d'aquests sistema no en seran afectats.
tunefs_params=Paràmetres de sintonia
tunefs_tune=Sintonitza el sistema de fitxers
tunefs_c=Espai entre verificacions
tunefs_e=Acció en detectar un error
tunefs_continue=Continuar
tunefs_remount=Muntar només lectura
tunefs_panic=Provocar un "Panic"
tunefs_u=Usuari reservat
tunefs_g=Grup reservat
tunefs_m=Blocs reservats
tunefs_i=Temps entre verificacions
tunefs_days=Dies
tunefs_weeks=Setmanes
tunefs_months=Mesos
tunefs_err=No he pogut sintonitzar el sistema de fitxers
tunefs_exec=Executant l'ordre $1...
tunefs_failed=...l'ordre ha fallat!
tunefs_ok=...ordre completa.

reboot_title=Reengegada
reboot_msg=Reengegant...
reboot_ok=Reengega Ara
reboot_why=Has canviat la taula de particions de $1. Per tal que aquest canvi tingui efecte, cal reengegar el sistema.

save_err=No he pogut desar la partició
save_ecannot=No tens permís per editar aquest disc
save_estart='$1' no és un cilindre inicial vàlid
save_eend='$1' no és un cilindre final vàlid
save_emin=El cilindre inicial ha de ser >= $1
save_emax=El cilindre final ha de ser <= $1
save_eminmax=El cilindre inicial ha de ser menor que el final
save_eoverlap=S'ha detectat una superposició amb la partició $1 ($2 a $3)

ext2_b=Mida del bloc
ext2_f=Mida del fragment
ext2_i=Bytes per inode
ext2_m=Blocs reservats
ext2_g=Blocs per grup
ext2_c=Verifica els blocs dolents
ext3_j=Mida del fitxer de diari

msdos_ff=Nombre de FATs
msdos_F=Mida de la FAT
msdos_i=ID del volum
msdos_n=Nom del volum
msdos_r=Entrades arrel
msdos_s=Mida del cluster
msdos_c=Verifica els blocs dolents

minix_n=Llargada dels noms de fitxers
minix_i=Nombre d'inodes
minix_b=Nombre de blocs
minix_c=Verifica els blocs dolents

reiserfs_force=Força la creació del sistema de fitxers
reiserfs_hash=Funció hash

xfs_force=Força la creació del sistema de fitxers
xfs_b=Mida del bloc

acl_disks=Discs que aquest usuari pot particionar i formatar
acl_dall=Tots els discs
acl_dsel=Seleccionats...
acl_view=Pot veure discs no editables

hdparm_title=Edició de Paràmetres IDE
hdparm_on=Activat
hdparm_off=Desactivat
hdparm_label=Configuració del Driver IDE
hdparm_conf_X=Mode de transferència
hdparm_conf_X_defaut=Mode per defecte
hdparm_conf_X_disable=Desactiva IORDY
hdparm_conf_d=Ús de DMA
hdparm_conf_a=Nombre de sectors
hdparm_conf_A=Previsió de lectura
hdparm_conf_W=Cau d'escriptura
hdparm_conf_u=Desenmascarament<br>d'interrupcions
hdparm_conf_k=Mantingues els valors després de reiniciar
hdparm_conf_K=Mantingues les característiques<br>després de reiniciar
hdparm_conf_r=Només lectura
hdparm_conf_P=Reprogramació del millor PIO
hdparm_conf_S=Temps límit d'inacció
hdparm_conf_c=Suport d'E/S de 32-bits
hdparm_conf_m=Nombre de sectors per a E/S de sectors múltiples
hdparm_disable=Desactiva
hdparm_enable=Activa
hdparm_enable_special=Activa amb seqüència sync especial
hdparm_apply=Aplica-ho
hdparm_speed=Test de Velocitat
hdparm_performing=Executant
hdparm_buf1=Cau del buffer:
hdparm_buf2=Amb buffer:
hdparm_speedres=Resultats del test de velocitat

log_modify=He modificat $1
log_create=He creat $1
log_delete=He suprimit $1
log_mkfs=He creat el sistema de fitxers $1 de $2
log_tunefs=He sintonitzat el sistema de fitxers $1 de $2
log_fsck=He reparat el sistema de fitxers $1 de $2
log_hdparm=He modificat el paràmetres IDE de $1

fs_ext2=Nativa Linux
fs_minix=Minix
fs_msdos=MS-DOS
fs_vfat=Windows 95
fs_reiserfs=ReiserFS
fs_ext3=Nativa Linux Nova
fs_xfs=SGI
  0707010003b201000081a40000000000000002000000013d1fe2c200001cad000000200000000000000000000000000000001400000003reloc/fdisk/lang/de   index_title=Partitionsmanager
index_err=Fehler beim Auflisten der Speichermedien
index_disk=Festplatte
index_parts=Partitionen
index_location=Ort
index_cylinders=Zylinder
index_model=Modell
index_raid=RAID-Level
index_controller=Controller
index_scsiid=Ziel
index_none=Keine Partitionen gefunden
index_num=Nein.
index_type=Typ
index_extent=Ausma&szlig;
index_start=Start
index_end=Ende
index_addpri=Prim&auml;re Partition hinzuf&uuml;gen
index_addlog=Logische Partition hinzuf&uuml;gen
index_addext=Erweiterte Partition hinzuf&uuml;gen
index_hdparm=IDE-Parameter bearbeiten
index_use=Benutzen
index_return=Festplattenliste
extended=Erweiterte
opt_default=Standard
opt_error='$1' ist keine g&uuml;ltige $2
select_device=$1 Ger&auml;t $2
select_part=$1 Ger&auml;t $2 Partition $3
select_fd=Diskettenlaufwerk $1
select_mylex=Mylex-RAID $1 Laufwerk $2
select_mpart=Mylex-RAID $1 Laufwerk $2 Partition $3
edit_title=Partition bearbeiten
create_title=Partition erstellen
edit_ecannot=Sie haben keine Berechtigung, diese Festplatte zu bearbeiten
edit_details=Partitionsdetails
edit_location=Ort
edit_device=Ger&auml;tedatei
edit_type=Typ
edit_extent=Ausma&szlig;
edit_status=Status
edit_mount=Gemountet auf $1 als $2
edit_umount=Zum Mounten auf $1 als $2
edit_mountvm=Gemountet als virtueller Speicher
edit_umountvm=Zum Mounten als virtueller Speicher
edit_mountraid=Teil von RAID-Ger&auml;t $1
edit_notexist=Noch nicht erstellt
edit_notused=Nicht in Gebrauch
edit_size=Gr&ouml;&szlig;e
edit_blocks=$1 Blocks
edit_inuse=Diese Partition kann nicht ge&auml;ndert werden, da sie gerade benutzt oder zur Benutzung konfiguriert wird
edit_mkfs=Neues Dateisystem erstellen
edit_mkfsmsg=Erstellt ein neues $1 Dateisystem auf dieser Partition. Dies f&uuml;hrt zu einer permanenten L&ouml;schung aller existierenden Dateien. Sie m&uuml;ssen dies nach dem Erstellen einer Partition oder der &Auml;nderung einer bestehenden Partition tun.
edit_fsck=Repariere Dateisystem
edit_fsckmsg=Ruft das Programm $1 auf, um das Dateisystem zu reparieren, so dass es gemountet werden kann. Dies kann n&ouml;tig sein, falls ihr System nicht korrekt heruntergefahren worden ist. 
edit_tune=Bearbeite Dateisystem
edit_tunemsg=Gestattet ihnen, verschiedene Parameter eines existierenden Dateisystems zu bearbeiten.
mkfs_title=Neues Dateisystem
mkfs_ecannot=Sie haben keine Berechtigung, auf dieser Festplatte ein neues Dateisystem anzulegen
mkfs_desc1=Wenn Sie die Schaltfl&auml;che ganz unten auf diesem Formular anklicken, wird ein neues $1 Dateisystem auf dem Ger&auml;t $2 erstellt. Alle Daten auf dieser Partition gehen dadurch unwiderruflich verloren. 
mkfs_desc2=Diese Partition ist gemountet auf $1 als $2. Wenn Sie ein neues Dateisystem erstellen, werden alle Dateien, die vorher unter diesem Verzeichnis verf&uuml;gbar waren, gel&ouml;scht
mkfs_options=Dateisystemoptionen
mkfs_create=Dateisystem erstellen
mkfs_err=Fehler beim Erstellen des Dateisystems
mkfs_exec=F&uuml;hre Befehl $1 aus..
mkfs_failed=.. Befehl fehlgeschlagen!
mkfs_ok=.. Befehl vollst&auml;ndig.
fsck_title=Dateisystem reparieren
fsck_ecannot=Sie haben keine Berechtigung, fsck auf diese Festplatte anzuwenden
fsck_desc1=Wenn Sie auf die Schaltfl&auml;che <tt>Dateisystem reparieren</tt> klicken, wird versucht werden, das besch&auml;digte $1 Dateisystem auf $2 zu reparieren, um es auf $3 zu mounten. Wenn das Dateisystem nicht besch&auml;digt ist, werden keine &Auml;nderungen vorgenommen.
fsck_desc2=Dateisystemreparaturen werden mit dem Befehl $1 erledigt, der automatisch versuchen wird, jegliche auftretenden Probleme zu beheben. F&uuml;r eine gr&ouml;&szlig;ere Kontrolle &uuml;ber die Dateisystem-Reparatur f&uuml;hren Sie den Befehl $2 manuell im interaktiven Modus vom Unix-Prompt aus auf. 
fsck_repair=Dateisystem reparieren
fsck_exec=F&uuml;hre Befehl $1 aus..
fsck_err0=Es wurden keine Fehler gefunden
fsck_err1=Es wurden Fehler gefunden und korrigiert
fsck_err3=Es wurden Fehler gefunden und korrigiert - es ist jetzt ein Neustart des Systems notwendig
fsck_err4=Es wurden Fehler gefunden, aber NICHT korrigiert
fsck_err16=Befehlzeilenfehler
fsck_unknown=Unbekannter R&uuml;ckgabecode $1
tunefs_title=Bearbeite Dateisystem
tunefs_ecannot=Sie haben keine Berechtigung, das Dateisystem zu bearbeiten
tunefs_desc=Dieses Formular gestattet es Ihnen, verschiedene Parameter des $1 Dateisystems auf $2 zum Mounten auf $3 zu bearbeiten. Existierende Dateien auf dem Dateisystem sind nicht betroffen. 
tunefs_params=Einstellungsparameter
tunefs_tune=Bearbeite Dateisystem
tunefs_c=L&uuml;cken zwischen Checks
tunefs_e=Aktion bei Fehler
tunefs_continue=Weitermachen
tunefs_remount=Schreibgesch&uuml;tzt mounten
tunefs_panic=Panik
tunefs_u=Reservierter Benutzer
tunefs_g=Reservierte Gruppe
tunefs_m=Reservierte Blocks
tunefs_i=Zeit zwischen &Uuml;berpr&uuml;fungen
tunefs_days=Tage
tunefs_weeks=Wochen
tunefs_months=Monate
tunefs_err=Fehler beim Einstellen des Dateisystems
tunefs_exec=F&uuml;hre Befehl $1 aus..
tunefs_failed=.. Befehl fehlgeschlagen!
tunefs_ok=.. Befehl vollst&auml;ndig.
reboot_title=Neustart
reboot_msg=Jetzt neu starten..
reboot_ok=Jetzt neu starten
reboot_why=Sie haben die Partitionstabelle auf $1 ge&auml;ndert. Damit die &Auml;nderungen wirksam werden, muss das System neu gestartet werden.
save_err=Fehler beim Speichern der Partition
save_ecannot=Sie haben keine Berechtigung, diese Festplatte zu bearbeiten
save_estart='$1' ist kein g&uuml;ltiger Startzylinder
save_eend='$1' ist kein g&uuml;ltiger Endzylinder
save_emin=Der Startzylinder muss >= $1 sein
save_emax=Der Endzylinder muss <= $1 sein
save_eminmax=Der Startzylinder muss kleiner als der Endzylinder sein
save_eoverlap=&Uuml;berlappung festgestellt mit Partition $1 ($2 bis $3)
ext2_b=Block-Gr&ouml;&szlig;e
ext2_f=Fragmentgr&ouml;&szlig;e
ext2_i=Bytes pro Inode
ext2_m=Reservierte Blocks
ext2_g=Blocks pro Gruppe
ext2_c=&Uuml;berpr&uuml;fe auf fehlerhafte Blocks?
msdos_f=Anzahl von FATs
msdos_F=FAT-Gr&ouml;&szlig;e
msdos_i=Datentr&auml;gerkennung
msdos_n=Datentr&auml;gername
msdos_r=Root-Eintr&auml;ge
msdos_s=Cluster-Gr&ouml;&szlig;e
msdos_c=&Uuml;berpr&uuml;fe auf fehlerhafte Blocks?
minix_n=Dateinamenl&auml;nge
minix_i=Anzahl von Inodes
minix_b=Anzahl von Blocks
minix_c=&Uuml;berpr&uuml;fe auf fehlerhafte Blocks?
acl_disks=Datentr&auml;ger, die dieser Benutzer partitionieren und formatieren darf
hdparm_title=IDE-Parameter bearbeiten
hdparm_on=An
hdparm_off=Aus
hdparm_label=IDE-Laufwerkseinstellungen
hdparm_conf_X=Transfermodus
hdparm_conf_X_defaut=Standardmodus
hdparm_conf_X_disable=IORDY deaktivieren
hdparm_conf_d=DMA benutzen
hdparm_conf_a=Sektorenanzahl
hdparm_conf_A=Vorausschauendes Lesen
hdparm_conf_W=Schreib-Cache
hdparm_conf_u=Interrupt demaskieren
hdparm_conf_k=Einstellungen nach Neustart behalten
hdparm_conf_K=Funktionen nach Neustart behalten
hdparm_conf_r=Schreibgesch&uuml;tzt
hdparm_conf_P=Besten PIO neu programmieren
hdparm_conf_S=Standby-Timeout
hdparm_conf_c=32-bit I/O-Unterst&uuml;tzung
hdparm_conf_m=Sektoranzahl f&uuml;r mehrfache Sektor-I/O
hdparm_disable=Deaktivieren
hdparm_enable=Aktivieren
hdparm_enable_special=Aktivieren mit spezieller Sync-Sequenz
hdparm_apply=Wende auf Laufwerk an
hdparm_speed=Testgeschwindigkeit
hdparm_performing=F&uuml;hre durch
hdparm_buf1=Puffer-Cache:
hdparm_buf2=Gepuffert:
hdparm_speedres=Ergebnisse des Geschwindigkeitstest
   0707010003b202000081a40000000000000002000000013d1fe2c200001d63000000200000000000000000000000000000001400000003reloc/fdisk/lang/en   index_title=Partition Manager
index_err=Failed to list disks
index_disk=Disk
index_parts=Partitions
index_location=Location
index_cylinders=Cylinders
index_model=Model
index_raid=RAID level
index_controller=Controller
index_scsiid=Target
index_none=No partitions found
index_num=No.
index_type=Type
index_extent=Extent
index_start=Start
index_end=End
index_addpri=Add primary partition
index_addlog=Add logical partition
index_addext=Add extended partition
index_hdparm=Edit IDE parameters
index_use=Use
index_free=Free
index_return=disk list

bytes=bytes
extended=Extended
opt_default=Default
opt_error='$1' is not a valid $2
open_error=$1 command not found
select_device=$1 device $2
select_part=$1 device $2 partition $3
select_fd=Floppy disk $1
select_mylex=Mylex RAID $1 drive $2
select_mpart=Mylex RAID $1 drive $2 partition $3
select_cpq=Compaq RAID $1 drive $2
select_cpart=Compaq RAID $1 drive $2 partition $3
select_scsi=SCSI controller $1 bus $2 target $3 LUN $4
select_spart=SCSI controller $1 bus $2 target $3 LUN $4 partition $5
select_newide=IDE controller $1 bus $2 disk $3
select_snewide=IDE controller $1 bus $2 disk $3 partition $5

edit_title=Edit Partition
create_title=Create Partition
edit_ecannot=You are not allowed to edit this disk
edit_ehdparm=The <tt>hdparm</tt> executable could not be found in your system
edit_details=Partition Details
edit_location=Location
edit_device=Device file
edit_type=Type
edit_extent=Extent
edit_of=of
edit_status=Status
edit_cont1=Contains 1 partition
edit_cont234=Contains $1 partitions
edit_cont5=Contains $1 partitions
edit_mount=Mounted on $1 as $2
edit_umount=For mounting on $1 as $2
edit_mountvm=Mounted as virtual memory
edit_umountvm=For mounting as virtual memory
edit_mountraid=Part of RAID device $1
edit_mountlvm=Part of LVM volume group $1
edit_notexist=Not created yet
edit_notused=Not in use
edit_size=Size
edit_label=Partition label
edit_blocks=$1 blocks
edit_inuse=This partition cannot be changed as it is currently in use or configured to use
edit_mkfs=Create New Filesystem
edit_mkfs2=Create Filesystem:
edit_mkfsmsg=Builds a new $1 filesystem on this partition, permanently erasing any existing files. You must do this after creating a new partition or changing an existing one.
edit_mkfsmsg2=Builds a new filesystem of the selected type on this partition, permanently erasing any existing files. You must do this after creating a new partition or changing an existing one.
edit_fsck=Repair Filesystem
edit_fsckmsg=Calls the $1 program to repair a filesystem so that it can be mounted. This may be necessary if your system was not shut down properly.
edit_tune=Tune Filesystem
edit_tunemsg=Allows you to modify various parameters of an existing filesystem.
edit_none=None

mkfs_title=New Filesystem
mkfs_ecannot=You are not allowed to build a new filesystem on this disk
mkfs_desc1=Clicking the button at the bottom of this form will build a new $1 filesystem on the device $2. All data on this partition will be permanently erased.
mkfs_desc2=This partition has been mounted on $1 as $2. Creating a new filesystem will erase all files that were previously accesible under this directory.
mkfs_options=Filesystem Options
mkfs_create=Create Filesystem
mkfs_err=Failed to create filesystem
mkfs_exec=Executing command $1 ..
mkfs_failed=.. command failed!
mkfs_ok=.. command complete.

fsck_title=Repair Filesystem
fsck_ecannot=You are not allowed to fsck this disk
fsck_desc1=Clicking the <tt>Repair Filesystem</tt> button will attempt to repair the damaged $1 filesystem on $2 for mounting on $3. If the filesystem is not damaged, no changes will be made.
fsck_desc2=Filesystem repairs will be done using the command $1, which will automatically attempt to fix any problems encountered. For more control over filesystem repairs, use the $2 command manually in interactive mode from the Unix prompt.
fsck_repair=Repair Filesystem
fsck_exec=Executing command $1 ..
fsck_err0=no errors detected
fsck_err1=errors found and corrected
fsck_err3=errors found and corrected - reboot needed
fsck_err4=errors found but NOT corrected
fsck_err16=command line error
fsck_unknown=unknown return code $1

tunefs_title=Tune Filesystem
tunefs_ecannot=You are not allowed to tune this filesystem
tunefs_desc=This form allows you to adjust various parameters of the $1 filesystem on $2 for mounting on $3. Existing files on this filesystem will not be affected.
tunefs_params=Tuning Parameters
tunefs_tune=Tune Filesystem
tunefs_c=Gaps between checks
tunefs_e=Action on error
tunefs_continue=Continue
tunefs_remount=Mount read-only
tunefs_panic=Panic
tunefs_u=Reserved user
tunefs_g=Reserved group
tunefs_m=Reserved blocks
tunefs_i=Time between checks
tunefs_days=Days
tunefs_weeks=Weeks
tunefs_months=Months
tunefs_err=Failed to tune filesystem
tunefs_exec=Executing command $1 ..
tunefs_failed=.. command failed!
tunefs_ok=.. command complete.

reboot_title=Reboot
reboot_msg=Rebooting now ..
reboot_ok=Reboot Now
reboot_why=You have changed the partition table on $1. For this change to take effect properly, your system must be rebooted.

save_err=Failed to save partition
save_ecannot=You are not allowed to edit this disk
save_estart='$1' is not a valid starting cylinder
save_eend='$1' is not a valid ending cylinder
save_emin=The starting cylinder must be >= $1
save_emax=The ending cylinder must be <= $1
save_eminmax=The starting cylinder must be less than the ending
save_eoverlap=Overlap detected with partition $1 ($2 to $3)

ext2_b=Block size
ext2_f=Fragment size
ext2_i=Bytes per inode
ext2_m=Reserved blocks
ext2_g=Blocks per group
ext2_c=Check for bad blocks?
ext3_j=Journal file size

msdos_ff=Number of FATs
msdos_F=FAT size
msdos_i=Volume ID
msdos_n=Volume name
msdos_r=Root entries
msdos_s=Cluster size
msdos_c=Check for bad blocks?

minix_n=Filename length
minix_i=Number of inodes
minix_b=Number of blocks
minix_c=Check for bad blocks?

reiserfs_force=Force filesystem creation
reiserfs_hash=Hash function

xfs_force=Force filesystem creation
xfs_b=Block size

acl_disks=Disks this user can partition and format
acl_dall=All disks
acl_dsel=Selected..
acl_view=Can view non-editable disks?

hdparm_title=Edit IDE Parameters
hdparm_on=On
hdparm_off=Off
hdparm_label=IDE Drive Settings
hdparm_conf_X=Transfer mode
hdparm_conf_X_defaut=Default mode
hdparm_conf_X_disable=Disable IORDY
hdparm_conf_d=Using DMA
hdparm_conf_a=Sector count
hdparm_conf_A=Read-lookahead
hdparm_conf_W=Write caching
hdparm_conf_u=Interrupt unmask
hdparm_conf_k=Keep settings over reset
hdparm_conf_K=Keep features over reset
hdparm_conf_r=Read only
hdparm_conf_P=Reprogram best PIO
hdparm_conf_S=Standby timeout
hdparm_conf_c=32-bit I/O support
hdparm_conf_m=Sector count for multiple sector I/O
hdparm_disable=Disable
hdparm_enable=Enable
hdparm_enable_special=Enable with special sync sequence
hdparm_apply=Apply to Drive
hdparm_speed=Test Speed
hdparm_performing=Performing
hdparm_buf1=Buffer cache:
hdparm_buf2=Buffered:
hdparm_speedres=Speed test results

log_modify=Modified $1
log_create=Created $1
log_delete=Deleted $1
log_mkfs=Created $1 filesystem on $2
log_tunefs=Tuned $1 filesystem on $2
log_fsck=Repaired $1 filesystem on $2
log_hdparm=Modified IDE parameters for $1

fs_ext2=Linux Native
fs_minix=Minix
fs_msdos=MS-DOS
fs_vfat=Windows 95
fs_reiserfs=ReiserFS
fs_ext3=New Linux Native
fs_xfs=SGI

delete_title=Delete Partition
delete_rusure=Are you sure you want to delete $1 ( $2 ) ? Data on this partition may be lost forever.
delete_ok=Delete Now

 0707010003b203000081a40000000000000002000000013d1fe2c200001e23000000200000000000000000000000000000001400000003reloc/fdisk/lang/es   index_title=Gestor de Particiones
index_err=Error al listar discos
index_disk=Disco
index_parts=Particiones
index_location=Localización
index_cylinders=Cilindros
index_model=Modelo
index_raid=Nivel de RAID
index_controller=Controladora
index_scsiid=Blanco
index_none=No se han encontrado particiones
index_num=Núm.
index_type=Tipo
index_extent=Extensión
index_start=Inicio
index_end=Fin
index_addpri=Añadir partición primaria
index_addlog=Añadir partición lógica
index_addext=Añadir partición extendida
index_hdparm=Editar parámetros IDE
index_use=Usar
index_free=Libre
index_return=lista de discos

bytes=octetos
extended=Extendida
opt_default=Por defecto
opt_error='$1' no es una $2 válida
open_error=comando $1 no hallado
select_device=$1 dispositivo $2
select_part=$1 dispositivo $2 partición $3
select_fd=Diskette $1
select_mylex=RAID Mylex $1 controlador $2
select_mpart=RAID Mylex $1 controlador $2 partición $3

edit_title=Editar Partición
create_title=Crear Partición
edit_ecannot=No estás autorizado a editar este disco
edit_ehdparm=El ejecutable <tt>hdparm</tt> no pudo ser hallado en tu sistema
edit_details=Detalles de la Partición
edit_location=Localización
edit_device=Archivo de Dispositivo
edit_type=Tipo
edit_extent=Extensión
edit_of=de
edit_status=Estado
edit_cont1=Contiene 1 partición
edit_cont234=Contiene $1 particiones
edit_cont5=Contiene $1 particiones
edit_mount=Montada en $1 como $2
edit_umount=Para ser montada en $1 como $2
edit_mountvm=Montada como memoria virtual
edit_umountvm=Para ser montada como memoria virtual
edit_mountraid=Componente de dispositivo RAID $1
edit_notexist=Todavía no creada
edit_notused=No está en uso
edit_size=Medida
edit_label=Etiqueta de partición
edit_blocks=$1 bloques
edit_inuse=Esta partición no puede ser cambiada ya que está en este momento en uso.
edit_mkfs=Crear Nuevo Sistema de Archivos
edit_mkfsmsg=Construye un nuevo $1 sistema de archivos en esta partición borrando permanéntemente cualquier archivo que ya exista. Debes de hacer esto tras crear una nueva partición o tras modificar una que ya exista.
edit_fsck=Reparar Sistema de Archivos
edit_fsckmsg=Llama al programa $1 para reparar un sistema de archivos de tal manera que pueda ser montado. Esto puede ser necesario si tu sistema no fue cerrado apropiadamente.
edit_tune=Sintonizar Sistema de Archivos
edit_tunemsg=Te permite modificar varios parámetros de un sistema de archivos existente.
edit_none=Ninguna

mkfs_title=Nuevo Sistema de Archivos
mkfs_ecannot=No estás autorizado a construir un nuevo sistema de archivos en este disco
mkfs_desc1=Haciendo click en el botón inferior de este formulario puedes crear un nuevo sistema de archivos $1 en el dispositivo $2. Todos los datos de esta partición serán borrados de forma permanente.
mkfs_desc2=Esta partición ha sido montada en $1 como $2. Si creas un nuevo sistema de archivos se borrarán todos los archivos que estaban previamente accesibles bajo este directorio.
mkfs_options=Opciones de Sistema de Archivos
mkfs_create=Crear Sistema de Archivos
mkfs_err=Error al crear sistema de archivos
mkfs_exec=Ejecutando comando $1 ...
mkfs_failed=... ¡Error en comando!
mkfs_ok=... comando completado.

fsck_title=Reparar Sistema de Archivos
fsck_ecannot=No estás autorizado a chequear este disco
fsck_desc1=Haciendo click en el botón <tt>Reparar Sistema de Archivos</tt> se intentará reparar el sistema de archivos dañado $1 en $2 para ser montado en $3. Si el sistema de archivos no está dañado, no se realizará cambio alguno.
fsck_desc2=Las reparaciones de los sistemas de archivos se harán mediante el comando $1 que automáticamente intentará solucionar cualquier problema que encuentre. Para más control sobre la reparación de los sistemas de archivos, use el comando $2 manualmente en modo interactivo desde el modo comando de Unix.
fsck_repair=Reparar Sistema de Archivos
fsck_exec=Ejecutando comando $1 ...
fsck_err0=no se han detectado errores
fsck_err1=errores encontrados y corregidos
fsck_err3=errores encontrados y corregidos - es necesario rearrancar
fsck_err4=errores encontrados pero NO corregidos
fsck_err16=error en línea de comando
fsck_unknown=código de retorno $1 desconocido

tunefs_title=Sintonizar Sistema de Archivos
tunefs_ecannot=Tu no estás autorizado a sintonizar este sistema de archivos
tunefs_desc=Este formulario te permite ajustar varios parámetros del sistema de archivos $1 en $2 para ser montado en $3. Los archivos que ya existan en este sistema de archivos no se verán afectados.
tunefs_params=Parámetros de Sintonización
tunefs_tune=Sintonizar Sistema de Archivos
tunefs_c=Intervalos entre chequeos
tunefs_e=Acción cuando haya error
tunefs_continue=Continuar
tunefs_remount=Montar de sólo-lectura
tunefs_panic=Pánico
tunefs_u=Usuario Reservado
tunefs_g=Grupo Reservado
tunefs_m=Bloques Reservados
tunefs_i=Tiempo entre chequeos
tunefs_days=Días
tunefs_weeks=Semanas
tunefs_months=Meses
tunefs_err=Error al sintonizar sistema de archivos
tunefs_exec=Ejecutando comando $1 ...
tunefs_failed=... ¡error en comando!
tunefs_ok=... comando completado.

reboot_title=Rearrancar
reboot_msg=Rearrancando ahora...
reboot_ok=Rearrancar Ahora
reboot_why=Has cambiado la tabla de partición en $1. Para que este cambio sea efectivo tu sistema debe de ser rearrancado.

save_err=Error al salvar partición
save_ecannot=No estás autorizado a editar este disco
save_estart='$1' no es un cilindro de inicio válido
save_eend='$1' no es un cilindro de fin válido
save_emin=El cilindro de inicio debe de ser >= $1
save_emax=El cilindro de fin debe de ser <= $1
save_eminmax=El cilindro de inicio debe de ser menor que el de fin
save_eoverlap=Solapamiento detectado en la partición $1 ($2 a $3)

ext2_b=Medida de Bloque
ext2_f=Medida de Fragmento
ext2_i=Octetos por i-nodo
ext2_m=Bloques Reservados
ext2_g=Bloque por Grupo
ext2_c=¿Reviso por si hay bloques malos?

msdos_f=Número de FATs
msdos_F=Medida de FAT
msdos_i=ID de Volumen
msdos_n=Nombre de Volumen
msdos_r=Entradas de Root
msdos_s=Medida de Clúster
msdos_c=¿Reviso por si hay bloques malos?

minix_n=Tamaño de Nombre de Archivo
minix_i=Número de i-nodos
minix_b=Número de bloques
minix_c=¿Reviso por si hay bloques malos?

reiserfs_force=Forzar la creación del sistema de archivos
reiserfs_hash=Función de hash

acl_disks=Discos que este usuario puede particionar y formatear
acl_dall=Todos los discos
acl_dsel=Los seleccionados...
acl_view=¿Puede ver discos no editables?

hdparm_title=Editar Parámetros IDE
hdparm_on=Activado
hdparm_off=Desactivado
hdparm_label=Configuración de Controlador IDE
hdparm_conf_X=Modo de Transferencia
hdparm_conf_X_defaut=Modo por Defecto
hdparm_conf_X_disable=Disactivar IORDY
hdparm_conf_d=Usando DMA
hdparm_conf_a=Contador de Sectores
hdparm_conf_A=Lectura-previa
hdparm_conf_W=Caché de escritura
hdparm_conf_u=Desenmascarar Interrupción
hdparm_conf_k=Mantener características al hacer reset
hdparm_conf_K=Mantener configuración al hacer reset
hdparm_conf_r=Sólo lectura
hdparm_conf_P=Reprogramar mejor PIO
hdparm_conf_S=Tiempo de espera de Estar Quieto
hdparm_conf_c=Soporte de E/S de 32-bit
hdparm_conf_m=Contador de Sector para E/S de sector múltiple
hdparm_disable=Desactivar
hdparm_enable=Activar
hdparm_enable_special=Activar con secuencia especial de sincronismo
hdparm_apply=Aplicar a Controlador
hdparm_speed=Prueba de Velocidad
hdparm_performing=Realizando
hdparm_buf1=En Búfer:
hdparm_buf2=Caché de Búfer:
hdparm_speedres=Resultados de prueba de Velocidad

log_modify=Modificado $1
log_create=Creado $1
log_delete=Borrado $1
log_mkfs=Creado sistema de archivos $1 en $2
log_tunefs=Sintonizado sistema de archivos $1 en $2
log_fsck=Reparado sistema de archivos $1 en $2
log_hdparm=Modificados parámetros IDE para $1
 0707010003b204000081a40000000000000002000000013d1fe2c200001e83000000200000000000000000000000000000001400000003reloc/fdisk/lang/fr   index_title=Gestionnaire de partitions
index_err=Impossible de lire la liste de disques
index_disk=Disques
index_parts=Partitions
index_location=Endroit
index_cylinders=Cylindres
index_model=Modèle
index_raid=Niveau RAID
index_controller=Contrôleur
index_scsiid=Cible
index_none=Aucune partition trouvée
index_num=Numéro
index_type=Type
index_extent=Étendue
index_start=Début
index_end=Fin
index_addpri=Ajouter une partition primaire
index_addlog=Ajouter une partition logique
index_addext=Ajouter une partition étendue
index_hdparm=Éditer les paramètres IDE
index_use=Utiliser
index_free=Libre
index_return=liste de disques

bytes=octets
extended=Étendue
opt_default=Défaut
opt_error=$1 n'est pas un(e) valide $2
open_error=Commande $1 non trouvée
select_device=$1 périphérique $2
select_part=$1 périphérique $2 partition $3
select_fd=Lecteur de disquette $1
select_mylex=Mylex RAID $1 lecteur $2
select_mpart=Mylex RAID $1 lecteur $2 partition $3

edit_title=Éditer une partition
create_title=Créer une partition
edit_ecannot=Vous n'êtes pas autorisé à éditer ce disque
edit_ehdparm=L'exécutable <tt>hdparm</tt> n'a pas été trouvé sur votre système
edit_details=Détails sur la partition
edit_location=Endroit
edit_device=Fichier de périphérique
edit_type=Type
edit_of=sur
edit_extent=Ampleur
edit_status=État
edit_cont1=Contient 1 partition
edit_cont234=Contient $1 partitions
edit_cont5=Contient $1 partitions
edit_mount=Monter sur $1 en $2
edit_umount=Pour monter sur $1 comme $2
edit_mountvm=Monter comme mémoire virtuel
edit_umountvm=Pour monter comme mémoire virtuel
edit_mountraid=Element du périphérique RAID $1
edit_notexist=Pas encore créé
edit_notused=Inutilisé
edit_size=Taille
edit_label=Label de partition
edit_blocks=$1 blocs
edit_inuse=Cette partition ne peut être changée car elle est utilisée en ce moment
edit_mkfs=Créer un Nouveau Système de Fichier
edit_mkfsmsg=Créer un nouveau $1 système de fichier sur cette partition va effacer de façon permanente son contenu.  Vous devez faire cela après avoir créer une nouvelle partition ou avoir changer celle qui existe déjà.
edit_fsck=Réparation du Système de Fichier
edit_fsckmsg=Appelle le programme '$1' pour réparer un système de fichier pour qu'il soit ensuite monté.  Ceci peut être nécessaire si votre système n'a pas été arrêté correctement.
edit_tune=Configurer un Système de Fichier
edit_tunemsg=Vous permet d'ajuster certains paramètres sur un système de fichier existant
edit_none=Aucun

mkfs_title=Nouveau Système de Fichier
mkfs_ecannot=Vous n'êtes pas autorisé de faire un nouveau système de fichier sur ce disque
mkfs_desc1=Cliquer sur le bouton au bas de cette page va créer un nouveau système de fichier $1 sur le périphérique $2.  Tout contenu sur cette partition sera effacé de façon permanente.
mkfs_desc2=Cette partition a été montée sur $1 comme $2.  Créer un système de fichier va effacer tout le contenu qui était au préalable accessible dans ce répertoire.
mkfs_options=Options du Système de Fichier
mkfs_create=Créer un Système de Fichier
mkfs_err=Impossible de créer un système de fichier
mkfs_exec=Exécuter la commande '$1'
mkfs_failed=exécution de la commande ratée!
mkfs_ok=commande complétée.

fsck_title=Réparer un Système de Fichier
fsck_ecannot=Vous n'êtes pas autorisé à réparer ce disque
fsck_desc1=Cliquer le bouton <tt>Réparer un Système de Fichier</tt> va tenter de réparer le système endommagé $1 sur $2 pour le monter sur $3.  Si le système de fichier n'est pas endommagé, aucun changement va être fait.
fsck_desc2=La réparation du système de fichier va être faite en utilisant la commande '$1', qui va automatiquement essayer de fixer n'importe quel problème rencontré.  Pour plus de contrôle sur les réparations du système de fichier utiliser la commande '$2' manuellement en mode interactif de l'interpréteur de commande Unix.
fsck_repair=Réparer le Système de Fichier
fsck_exec=Exécuter la commande '$1'
fsck_err0=aucune erreurs détectées
fsck_err1=erreurs trouvées et corrigées
fsck_err3=erreurs trouvées et corrigées - un redémarrage est nécessaire
fsck_err4=erreurs trouvées mais PAS corrigées
fsck_err16=erreur dans la ligne de commande
fsck_unknown=code de sortie inconnue $1

tunefs_title=Ajuster le Système de Fichier
tunefs_ecannot=Vous n'êtes pas autorisé à ajuster ce système de fichier
tunefs_desc=Cette page vous permet d'ajuster certains paramètres du système de fichier $1 sur $2 pour monter sur $3.  Tout le contenu de ce système de fichier ne sera pas affecté.
tunefs_params=Ajuster les Paramètres
tunefs_tune=Ajuster le Système de Fichier
tunefs_c=Montage/Démontage entre vérification
tunefs_e=Action sur erreur
tunefs_continue=Continuer
tunefs_remount=Monter en lecture seulement
tunefs_panic=Paniquer
tunefs_u=Usager réservé
tunefs_g=Groupe réservé
tunefs_m=Blocs réservés
tunefs_i=Temps entre vérification
tunefs_days=Jour(s)
tunefs_weeks=Semaine(s)
tunefs_months=Mois
tunefs_err=Impossible d'ajuster le système de fichier
tunefs_exec=Exécute la commande '$1'
tunefs_failed=exécution ratée de la commande!
tunefs_ok=commande complétée.

reboot_title=Redémarrer
reboot_msg=Redémarrer maintenant
reboot_ok=Redémarrage
reboot_why=Vous avez changé la table de la partition sur le disque $1.  Pour que les changements prennent effet correctement vous devez redémarrer votre système.

save_err=Impossible d'enregistrer la partition
save_ecannot=Vous n'êtes pas autorisé à éditer ce disque
save_estart=$1 n'est pas un cylindre de départ valide
save_eend=$1 n'est pas un cylindre de fin valide
save_emin=Le cylindre de départ doit être >=$1
save_emax=Le cylindre de fin doit être <=$1
save_eminmax=Le cylindre de départ doit être plus petit que celui de la fin
save_eoverlap=Une superposition a été détectée avec la partition $1 ($2 à $3)

ext2_b=Taille des blocs
ext2_f=Taille des fragments
ext2_i=Bytes par inode
ext2_m=Blocs réservés
ext2_g=Blocs par groupe
ext2_c=Vérifier les mauvais blocs?

msdos_f=Nombre de table d'allocation de fichier
msdos_F=Taille de table d'allocation de fichier
msdos_i=Numéro du volume
msdos_n=Nom de volume
msdos_r=Entrée racine
msdos_s=Taille des clusters
msdos_c=Vérifier les mauvais blocs?

minix_n=Taille des noms de fichier
minix_i=Nombre d'inodes
minix_b=Nombre de blocs
minix_c=Vérifier les mauvais blocs?

reiserfs_force=Forcer la création du système de fichier
reiserfs_hash=Fonction de hachage

acl_disks=Disque que cet usager peut partitionner ou formater
acl_dall=Tous les disques
acl_dsel=Sélectionné ...
acl_view=Peut voir les disques non-éditables ?

hdparm_title=Configurer un Disque
hdparm_on=Oui
hdparm_off=Non
hdparm_label=Configuration Disque IDE
hdparm_conf_X=Mode de transfert
hdparm_conf_X_defaut=Mode par défaut
hdparm_conf_X_disable=Ne pas utiliser IORDY
hdparm_conf_d=Utiliser DMA
hdparm_conf_a=Décompte de secteur
hdparm_conf_A=Activer l'option 'read-lookahead'
hdparm_conf_W=Cache en écriture
hdparm_conf_u=Démasquage d'interruption
hdparm_conf_k=Garder les caractéristiques au redémarage
hdparm_conf_K=Garder la configuration au redémarrage
hdparm_conf_r=Lecture seule
hdparm_conf_P=Reprogrammer le meilleur PIO
hdparm_conf_S=Temps d'inactivité avant la mise en attente
hdparm_conf_c=Support d'entrée/sortie 32 bits
hdparm_conf_m=Décompte de secteur pour les entrée/sortie multiple
hdparm_disable=Non
hdparm_enable=Oui
hdparm_enable_special=Oui, avec une séquence de synchronisation spéciale
hdparm_apply=Appliquer au Disque
hdparm_speed=Tester la vitesse
hdparm_performing=Test de vitesse
hdparm_buf1=Tamponé
hdparm_buf2=Cache tamponné
hdparm_speedres=Résultats du test de vitesse

log_modify=$1 modifié
log_create=$1 créé
log_delete=$1 supprimé
log_mkfs=Système de fichier $1 créé sur $2
log_tunefs=Système de fichier $1 ajusté sur $2
log_fsck=Système de fichier $1 réparé sur $2
log_hdparm=Paramètres IDE modifiés pour $1
 0707010003b205000081a40000000000000002000000013d1fe2c2000018ef000000200000000000000000000000000000001400000003reloc/fdisk/lang/hu   index_title=Partíció menedzser
index_err=A lemezek kilistázása nem sikerült.
index_disk=Lemez
index_parts=Partíciók
index_location=Elhelyezkedés
index_cylinders=Cilinderek
index_model=Modell
index_controller=Vezérlõ
index_scsiid=Cél
index_none=Nem található partíció.
index_num=Sorszám
index_type=Típus
index_extent=Kiterjedés
index_start=Kezdet
index_end=Vég
index_addpri=Elsõdleges partíció hozzáadása
index_addlog=Logikai partíció hozzáadása
index_addext=Kiterjesztett partíció hozzáadása
index_hdparm=IDE paraméterek szerkesztése
index_return=lemezek listájához

extended=Kiterjesztett
opt_default=Alapértelmezett
opt_error=A(z) '$1' egy érvénytelen $2
select_device=$1 eszköz $2
select_part=$1 eszköz $2 partíció $3
select_fd=Floppy lemez $1

edit_title=Partíció szerkesztése
create_title=Partíció létrehozása
edit_ecannot=Önnek nincs jogosultsága a lemez szerkesztéséhez.
edit_details=Partitíció részletei
edit_location=Elhelyezkedés
edit_device=Eszközfájl
edit_type=Típus
edit_extent=Kiterjedés
edit_status=Állapot
edit_mount=$1 -ként csatolva; formátum: $2 
edit_umount=Csatolás $1 -ként; formátum: $2
edit_mountvm=Virtuális memóriaként csatolva
edit_umountvm=Csatolás virtuális memóriaként
edit_notexist=Még nincs elkészítve
edit_notused=Nincs használatban
edit_size=Méret
edit_blocks=$1 blokk
edit_inuse=Ennek a partíciónak a változtatása nem lehetséges, mert használatban van.
edit_mkfs=Új fájlrendszer létrehozása
edit_fsck=Fájlrendszer javítás
edit_fsckmsg=Meghívja a(z) $1 programot, hogy megjavítsa a fájlrendszert, ami csatolt állapotban is lehetséges. Ezt ajánlott megtenni, ha a gép szabálytalanul lett leállítva.
edit_tune=Fájlrendszer tuning
edit_tunemsg=Lehetõséget nyújt egy létezõ fájlrendszer különféle paramétereinek módosításához.

mkfs_title=Új fájlrendszer
mkfs_ecannot=Önnek nincs jogosultsága ezen a lemezen új fájlrendszert telepíteni.
mkfs_desc1=Az ûrlap alján lévõ nyomógombra kattintva létrejön egy új $1 fájlrendszer a $2 eszközön. A partíción minden adat véglegesen le fog törlõdni.
mkfs_desc2=Ez a partíció a $1 könyvtárba van csatolva, mint $2. Egy új fájlrendszer létrehozásakor minden olyan fájl letörlõdik, amely korábban ebbõl a könyvtárból elérhetõ volt.
mkfs_options=Fájlrendszer kapcsolók
mkfs_create=Fájlrendszer létrehozása
mkfs_err=A fájlrendszer létrehozása nem sikerült.
mkfs_exec=A(z) $1 parancs futtatása...
mkfs_failed=... parancs megszakadt!
mkfs_ok=.. parancs végrehajtása befejezõdött.

fsck_title=Fájlrendszer javítása
fsck_ecannot=Önnek nincs jogosultsága fsck-zni ezt a lemezt.
fsck_desc1=A <tt>Fájlrendszer javítása</tt> gombra kattintva a program megpróbálja megjavítani a $2 $1 fájlrendszerét, melynek csatolási helye a $3. Ha a fájlrendszer nem sérült, akkor semmi sem fog megváltozni.
fsck_desc2=A fájlrendszer javítását a(z) $1 parancs fogja elvégezni, amely megpróbálja a talált hibákat automatikusan kijavítani. A fájlrendszer javítása feletti nagyobb ellenõrzés érdekében használja  manuálisan, Unix parancssorban a(z) $2 parancs interkatív módját.
fsck_repair=Fájlrendszer javítása
fsck_exec=A(z) $1 parancs végrehajtása...
fsck_err0=nem történt hiba
fsck_err1=hibák észlelve és kijavítva
fsck_err3=hibák észlelve és kijavítva - a gép újraindítása szükséges
fsck_err4=hibák észlelve, de kijavításuk NEM történt meg
fsck_err16=parancssori hiba
fsck_unknown=ismeretlen visszatérési kód: $1

tunefs_title=Fájlrendszer hangolása
tunefs_ecannot=Önnek nincs jogosultsága ennek a fájlrendszernek a hangolásához.
tunefs_desc=Ezzel az ûrlappal $3 könyvtárba csatolt $2 eszköz $1 fájlrendszer különféle paramétereit szabályozhatja. A fájlrendszeren lévõ fájlokra ez nincs kihatással.
tunefs_params=Tuning paraméterek
tunefs_tune=Fájlrendszer hangolása
tunefs_c=Ellenõrzések közti szünetek
tunefs_e=Cselekvés hiba esetén
tunefs_continue=Folytatás
tunefs_remount=Csatolás csak olvashatóként
tunefs_panic=Pánik
tunefs_u=Fenntartott felhasználó
tunefs_g=Fenntartott csoport
tunefs_m=Fenntartott blokkok
tunefs_i=Ellenörzések közti idõ
tunefs_days=Napok
tunefs_weeks=Hetek
tunefs_months=Hónapok
tunefs_err=A fájlrendszer beállítása nem sikerült.
tunefs_exec=A(z) $1 parancs végrehajtása...
tunefs_failed=... a parancs megakadt!
tunefs_ok=... a parancs végrehajtása befejezõdött.

reboot_title=Rendszer-újraindítás
reboot_msg=Újraindítás most...
reboot_ok=Újraindítás most
reboot_why=Ön megváltoztatta a $1 partíciós tábláját. Hogy ennek a hatása érzékelhetõ legyen, a gépét újra kell indítani.

save_err=A partíció elmentése nem sikerült
save_ecannot=Önnek nincs jogosultsága szerkeszteni ezt a lemezt.
save_estart=A(z) '$1' egy érvénytelen kezdõ cilinder.
save_eend=A(z) '$1' egy érvénytelen befejezõ cilinder.
save_emin=A kezdõ cilindernek >= kell lennie, mint $1.
save_emax=A befejezõ cilindernek <= kell lennie $1.
save_eminmax=A kezdõ cilindernek kisebbnek kell lennie a befejezõnél.
save_eoverlap=Átfedés mutatható ki a(z) $1 partíciónál ($2 - $3).

ext2_b=Blokkméret
ext2_f=Töredezettség mérete
ext2_i=bájt/I-bög
ext2_m=Fenntartott blokkok
ext2_g=Blokk/csoport
ext2_c=Hibás blokkok figyelése?

msdos_f=FAT-ek száma
msdos_F=FAT méret
msdos_i=Köteg ID
msdos_n=Köteg neve
msdos_r=Root bejegyzések
msdos_s=Klaszter méret
msdos_c=Hibás blokkok figyelése?

minix_n=Fájlnévhossz
minix_i=I-bögök száma
minix_b=Blokkok száma
minix_c=Hibás blokkok figyelése?

acl_disks=Ez a felhasználó partícionálhat és formázhat ezen a lemezen.

hdparm_title=IDE paraméterek szerkesztése
hdparm_on=Be
hdparm_off=Ki
hdparm_label=IDE meghajtó-beállítások
hdparm_conf_X=Átviteli mód
hdparm_conf_X_defaut=Alapértelmezett mód
hdparm_conf_X_disable=IORDY tíltása
hdparm_conf_d=DMA használata
hdparm_conf_a=Szektorszámolás
hdparm_conf_A=Elõreolvasás
hdparm_conf_W=Írásgyorsítás
hdparm_conf_u=Álarcfelfedés megszakítása
hdparm_conf_k=Jellegzetességek megõrzése reset-en keresztül
hdparm_conf_K=Beállítások megõrzése reset-en keresztül
hdparm_conf_r=Csak olvasható
hdparm_conf_P=Legjobb PIO átprogramozása
hdparm_conf_S=Készenléti idõtúllépés
hdparm_conf_c=32-bites I/O támogatás
hdparm_conf_m=Többszörös I/O szektoroknál azok számolása
hdparm_disable=Letílt
hdparm_enable=Engedélyez
hdparm_enable_special=Engedélyezés speciális szinkronizációs szekvenciával
hdparm_apply=Alkalmaz a meghajtón
hdparm_speed=Sebesség tesztelése
hdparm_performing=Teljesítmény
hdparm_buf1=Bufferelt:
hdparm_buf2=Buffer gyorsító:
hdparm_speedres=a sebességteszt eredményeihez
 0707010003b206000081a40000000000000002000000013d1fe2c200001c14000000200000000000000000000000000000001b00000003reloc/fdisk/lang/ja_JP.euc    index_title=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥Þ¥Í¡¼¥¸¥ã
index_err=¥Ç¥£¥¹¥¯¤ò¥ê¥¹¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
index_disk=¥Ç¥£¥¹¥¯
index_parts=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
index_location=¾ì½ê
index_cylinders=¥·¥ê¥ó¥À
index_model=¥â¥Ç¥ë
index_raid=RAID ¥ì¥Ù¥ë
index_controller=¥³¥ó¥È¥í¡¼¥é
index_scsiid=¥¿¡¼¥²¥Ã¥È
index_none=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
index_num=ÈÖ¹æ
index_type=¼ïÎà
index_extent=¥¨¥¯¥¹¥Æ¥ó¥È
index_start=³«»Ï
index_end=½ªÎ»
index_addpri=¥×¥é¥¤¥Þ¥ê ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÄÉ²Ã
index_addlog=ÏÀÍý¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÄÉ²Ã
index_addext=³ÈÄ¥¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÄÉ²Ã
index_hdparm=IDE ¥Ñ¥é¥á¡¼¥¿¤òÊÔ½¸
index_use=»ÈÍÑ
index_free=¶õ¤­
index_return=¥Ç¥£¥¹¥¯¤Î¥ê¥¹¥È

bytes=¥Ð¥¤¥È
extended=³ÈÄ¥
opt_default=¥Ç¥Õ¥©¥ë¥È
opt_error='$1' ¤ÏÍ­¸ú¤Ê $2 ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
open_error=$1 ¥³¥Þ¥ó¥É¤Ï¤¢¤ê¤Þ¤»¤ó
select_device=$1 ¥Ç¥Ð¥¤¥¹ $2
select_part=$1 ¥Ç¥Ð¥¤¥¹ $2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $3
select_fd=¥Õ¥í¥Ã¥Ô¡¼ ¥Ç¥£¥¹¥¯ $1
select_mylex=Mylex RAID $1 ¥É¥é¥¤¥Ö $2
select_mpart=Mylex RAID $1 ¥É¥é¥¤¥Ö $2 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $3

edit_title=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÊÔ½¸
create_title=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ®
edit_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤òÊÔ½¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
edit_ehdparm=¥·¥¹¥Æ¥à¤Ë<tt>hdparm</tt> ¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
edit_details=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¾ÜºÙ
edit_location=¾ì½ê
edit_device=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë
edit_type=¼ïÎà
edit_extent=¥¨¥¯¥¹¥Æ¥ó¥È
edit_of=:
edit_status=¥¹¥Æ¡¼¥¿¥¹
edit_cont1=1 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹
edit_cont234=$1 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹
edit_cont5=$1 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹
edit_mount=$1 ¤Ë $2 ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
edit_umount=$1 ¤Ë $2 ¤È¤·¤Æ¥Þ¥¦¥ó¥È
edit_mountvm=²¾ÁÛ¥á¥â¥ê¤È¤·¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
edit_umountvm=²¾ÁÛ¥á¥â¥ê¤È¤·¤Æ¥Þ¥¦¥ó¥È
edit_mountraid=RAID ¥Ç¥Ð¥¤¥¹ $1 ¤Î°ìÉô
edit_notexist=¤Þ¤ÀºîÀ®¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
edit_notused=»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
edit_size=¥µ¥¤¥º
edit_label=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥é¥Ù¥ë
edit_blocks=$1 ¥Ö¥í¥Ã¥¯
edit_inuse=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¡¢¸½ºß»ÈÍÑÃæ¤Þ¤¿¤Ï»ÈÍÑ¤Î¤¿¤á¤ËÀßÄê¤µ¤ì¤Æ¤¤¤ë¤¿¤áÊÑ¹¹¤Ç¤­¤Þ¤»¤ó
edit_mkfs=¿·µ¬¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎºîÀ®
edit_mkfsmsg=´ûÂ¸¤Î¥Õ¥¡¥¤¥ë¤ò±Êµ×¤Ë¾Ãµî¤·¤Æ¡¢¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¿·µ¬¤Î $1 ¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤Þ¤·¤¿¡£¿·µ¬¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¸å¡¢¤Þ¤¿¤Ï´ûÂ¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÑ¹¹¸å¤Ë¤³¤Îºî¶È¤ò¼Â¹Ô¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
edit_fsck=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü
edit_fsckmsg=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò½¤Éü¤¹¤ë¤¿¤á¤Ë $1 ¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤·¤Æ¡¢½¤Éü¤·¤¿¥Õ¥¡¥¤¥ë¤ò¥Þ¥¦¥ó¥È¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¥·¥¹¥Æ¥à¤¬Àµ¾ï¤Ë¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¼Â¹Ô¤¬É¬Í×¤Ë¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
edit_tune=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
edit_tunemsg=´ûÂ¸¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÂ¿ÍÍ¤Î¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
edit_none=¤Ê¤·

mkfs_title=¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
mkfs_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤Ç¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
mkfs_desc1=¤³¤Î²èÌÌ¤Î²¼¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢$1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¥Ç¥Ð¥¤¥¹ $2 ¤Ë¹½ÃÛ¤·¤Þ¤¹¡£¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï±Êµ×¤Ë¾Ãµî¤µ¤ì¤Þ¤¹¡£
mkfs_desc2=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï $1 ¤Ë $2 ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¾Ãµî¤¹¤ë¤È¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç°ÊÁ°¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬¾Ãµî¤µ¤ì¤Þ¤¹¡£
mkfs_options=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥ª¥×¥·¥ç¥ó
mkfs_create=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®
mkfs_err=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
mkfs_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
mkfs_failed=.. ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
mkfs_ok=.. ¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

fsck_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü
fsck_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤Ï fsck ¤Ç¤­¤Þ¤»¤ó
fsck_desc1=¤³¤³¤Ç<tt>¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü</tt> ¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢$2 ¾å¤ÎÇËÂ»¤·¤¿$1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò $3 ¤Ë¥Þ¥¦¥ó¥È¤¹¤ë¤¿¤á¤ËÇËÂ»¤Î½¤Éü¤ò»î¤ß¤Þ¤¹¡£¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤¬ÇËÂ»¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢ÊÑ¹¹¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£
fsck_desc2=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü¤Ï¡¢È¯À¸¤·¤¿ÌäÂê¤ò¼«Æ°Åª¤Ë½¤Àµ¤¹¤ë¥³¥Þ¥ó¥É $1 ¤ò»ÈÍÑ¤·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü¤òÀ©¸æ¤¹¤ë¤Ë¤Ï¡¢¼êÆ°¤ÇUnix ¥×¥í¥ó¥×¥È¤«¤éÂÐÏÃ¥â¡¼¥É¤Ç $2 ¥³¥Þ¥ó¥É¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
fsck_repair=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü
fsck_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
fsck_err0=¸¡½Ð¤µ¤ì¤¿¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó
fsck_err1=¥¨¥é¡¼¤ò¸¡½Ð¤·½¤Àµ¤·¤Þ¤·¤¿
fsck_err3=¥¨¥é¡¼¤ò¸¡½Ð¤·½¤Àµ¤·¤Þ¤·¤¿ - ¥ê¥Ö¡¼¥È¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
fsck_err4=¥¨¥é¡¼¤ò¸¡½Ð¤·¤Þ¤·¤¿¤¬½¤Àµ¤µ¤ì¤Þ¤»¤ó¤Ç¤·¤¿
fsck_err16=¥³¥Þ¥ó¥É ¥é¥¤¥ó ¥¨¥é¡¼
fsck_unknown=ÉÔÌÀ¤ÊÌá¤ê¥³¡¼¥É $1

tunefs_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
tunefs_ecannot=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
tunefs_desc=¤³¤ì¤Ï$2 ¾å¤Î $1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò $3 ¤Ë¥Þ¥¦¥ó¥È¤¹¤ëÂ¿ÍÍ¤Ê¥Ñ¥é¥á¡¼¥¿¤ÎÄ´À°¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ë¤¢¤ë´ûÂ¸¤Î¥Õ¥¡¥¤¥ë¤Ï±Æ¶Á¤µ¤ì¤Þ¤»¤ó¡£
tunefs_params=¥Ñ¥é¥á¡¼¥¿¤ÎÄ´À°
tunefs_tune=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
tunefs_c=¸¡ºº´Ö¤Î¥®¥ã¥Ã¥×
tunefs_e=¥¨¥é¡¼¤ËÂÐ¤¹¤ë¥¢¥¯¥·¥ç¥ó
tunefs_continue=Â³¹Ô
tunefs_remount=ÆÉ¼è¤êÀìÍÑ¤Ç¥Þ¥¦¥ó¥È
tunefs_panic=¥Ñ¥Ë¥Ã¥¯
tunefs_u=Í½Ìó¤µ¤ì¤¿¥æ¡¼¥¶
tunefs_g=Í½Ìó¤µ¤ì¤¿¥°¥ë¡¼¥×
tunefs_m=Í½Ìó¤µ¤ì¤¿¥Ö¥í¥Ã¥¯
tunefs_i=¸¡ºº´Ö¤Î»þ´Ö
tunefs_days=Æü
tunefs_weeks=½µ
tunefs_months=·î
tunefs_err=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
tunefs_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
tunefs_failed=.. ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
tunefs_ok=.. ¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

reboot_title=¥ê¥Ö¡¼¥È
reboot_msg=¥ê¥Ö¡¼¥ÈÃæ..
reboot_ok=º£¤¹¤°¥ê¥Ö¡¼¥È
reboot_why=$1 ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥Æ¡¼¥Ö¥ë¤òÊÑ¹¹¤·¤Þ¤·¤¿¡£ÊÑ¹¹¤òÀµ¤·¤¯Í­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¥·¥¹¥Æ¥à¤ò¥ê¥Ö¡¼¥È¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£

save_err=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤òÊÔ½¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
save_estart='$1' ¤ÏÍ­¸ú¤Ê³«»Ï¥·¥ê¥ó¥À¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
save_eend='$1' ¤ÏÍ­¸ú¤Ê½ªÎ»¥·¥ê¥ó¥À¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
save_emin=³«»Ï¥·¥ê¥ó¥À¤Ï $1 °Ê¾å¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
save_emax=½ªÎ»¥·¥ê¥ó¥À¤Ï $1°Ê²¼¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
save_eminmax=³«»Ï¥·¥ê¥ó¥À¤Ï½ªÎ»¥·¥ê¥ó¥À¤è¤ê¾®¤µ¤¤É¬Í×¤¬¤¢¤ê¤Þ¤¹
save_eoverlap=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ($2 ¤«¤é $3) ¤Ë½ÅÊ£¤¬¤¢¤ê¤Þ¤¹

ext2_b=¥Ö¥í¥Ã¥¯ ¥µ¥¤¥º
ext2_f=¥Õ¥é¥°¥á¥ó¥È ¥µ¥¤¥º
ext2_i=¥Ð¥¤¥È / i ¥Î¡¼¥É
ext2_m=Í½Ìó¤µ¤ì¤¿¥Ö¥í¥Ã¥¯
ext2_g=¥Ö¥í¥Ã¥¯ / ¥°¥ë¡¼¥×
ext2_c=ÉÔÀµ¤Ê¥Ö¥í¥Ã¥¯¤òÄ´¤Ù¤Þ¤¹¤«¡©

msdos_f=FAT ¤Î¿ô
msdos_F=FAT ¥µ¥¤¥º
msdos_i=¥Ü¥ê¥å¡¼¥à ID
msdos_n=¥Ü¥ê¥å¡¼¥àÌ¾
msdos_r=root ¥¨¥ó¥È¥ê
msdos_s=¥¯¥é¥¹¥¿ ¥µ¥¤¥º
msdos_c=ÉÔÀµ¤Ê¥Ö¥í¥Ã¥¯¤òÄ´¤Ù¤Þ¤¹¤«¡©

minix_n=¥Õ¥¡¥¤¥ëÌ¾¤ÎÄ¹¤µ
minix_i=i ¥Î¡¼¥É¿ô
minix_b=¥Ö¥í¥Ã¥¯¿ô
minix_c=ÉÔÀµ¤Ê¥Ö¥í¥Ã¥¯¤òÄ´¤Ù¤Þ¤¹¤«¡©

reiserfs_force=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎºîÀ®¤ò¶¯À©
reiserfs_hash=¥Ï¥Ã¥·¥å´Ø¿ô

acl_disks=¤³¤Î¥æ¡¼¥¶¤¬¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÀÚ¤Ã¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤ë¥Ç¥£¥¹¥¯
acl_dall=¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯
acl_dsel=ÁªÂò..

hdparm_title=IDE ¥Ñ¥é¥á¡¼¥¿¤ÎÊÔ½¸
hdparm_on=¥ª¥ó
hdparm_off=¥ª¥Õ
hdparm_label=IDE ¥É¥é¥¤¥ÖÀßÄê
hdparm_conf_X=Å¾Á÷¥â¡¼¥É
hdparm_conf_X_defaut=¥Ç¥Õ¥©¥ë¥È ¥â¡¼¥É
hdparm_conf_X_disable=IORDY ¤òÌµ¸ú¤Ë¤¹¤ë
hdparm_conf_d=DMA ¤Î»ÈÍÑ
hdparm_conf_a=¥»¥¯¥¿ ¥«¥¦¥ó¥È
hdparm_conf_A=ÀèÆÉ¤ß
hdparm_conf_W=¥­¥ã¥Ã¥·¥å½ñ¹þ¤ß
hdparm_conf_u=³ä¹þ¤ß¤ò unmask
hdparm_conf_k=¥ê¥»¥Ã¥È¤ËÀßÄê¤òÊÝ»ý
hdparm_conf_K=¥ê¥»¥Ã¥È¤Ëµ¡Ç½¤òÊÝ»ý
hdparm_conf_r=ÆÉ¼è¤êÀìÍÑ
hdparm_conf_P=ºÇÁ±¥×¥í¥»¥¹Æþ½ÐÎÏ¤òºÆ¥×¥í¥°¥é¥à
hdparm_conf_S=¥¹¥¿¥ó¥Ð¥¤ ¥¿¥¤¥à¥¢¥¦¥È
hdparm_conf_c=32 ¥Ó¥Ã¥ÈÆþ½ÐÎÏ¥µ¥Ý¡¼¥È
hdparm_conf_m=Ê£¿ô¥»¥¯¥¿Æþ½ÐÎÏ¤Î¥»¥¯¥¿ ¥«¥¦¥ó¥È
hdparm_disable=Ìµ¸ú
hdparm_enable=Í­¸ú
hdparm_enable_special=ÆÃÊÌ¤ÊÆ±´ü¥·¡¼¥±¥ó¥¹¤ÇÍ­¸ú¤Ë¤¹¤ë
hdparm_apply=¥É¥é¥¤¥Ö¤ËÅ¬ÍÑ
hdparm_speed=Â®ÅÙ¥Æ¥¹¥È
hdparm_performing=¼Â¹ÔÃæ
hdparm_buf1=¥Ð¥Ã¥Õ¥¡ ¥­¥ã¥Ã¥·¥å:
hdparm_buf2=¥Ð¥Ã¥Õ¥¡ÉÕ¤­:
hdparm_speedres=Â®ÅÙ¥Æ¥¹¥È·ë²Ì

log_modify=$1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=$1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=$1 ¤òºï½ü¤·¤Þ¤·¤¿
log_mkfs=$1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò $2 ¤ËºîÀ®¤·¤Þ¤·¤¿
log_tunefs=$2¾å¤Î $1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤·¤Þ¤·¤¿
log_fsck=$2¾å¤Î $1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò½¤Éü¤·¤Þ¤·¤¿
log_hdparm=$1 ¤Î IDE ¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
0707010003b207000081a40000000000000002000000013d1fe2c200001899000000200000000000000000000000000000001b00000003reloc/fdisk/lang/ko_KR.euc    index_title=ÆÄÆ¼¼Ç °ü¸®ÀÚ
index_err=µð½ºÅ©¸¦ ³ª¿­ÇÏÁö ¸øÇß½À´Ï´Ù
index_disk=µð½ºÅ©
index_parts=ÆÄÆ¼¼Ç
index_location=À§Ä¡
index_cylinders=½Ç¸°´õ
index_model=¸ðµ¨
index_raid=RAID ¼öÁØ
index_controller=ÄÁÆ®·Ñ·¯
index_scsiid=´ë»ó
index_none=ÆÄÆ¼¼ÇÀÌ ¾ø½À´Ï´Ù
index_num=¹øÈ£
index_type=À¯Çü
index_extent=ÀÍ½ºÅÙÆ®
index_start=½ÃÀÛ
index_end=³¡
index_addpri=ÁÖ ÆÄÆ¼¼Ç Ãß°¡
index_addlog=³í¸® ÆÄÆ¼¼Ç Ãß°¡
index_addext=È®Àå ÆÄÆ¼¼Ç Ãß°¡
index_hdparm=IDE ¸Å°³ º¯¼ö ÆíÁý
index_use=»ç¿ëÇÑ °ø°£
index_free=ºó °ø°£
index_return=µð½ºÅ© ¸ñ·Ï

bytes=¹ÙÀÌÆ®
extended=È®Àå
opt_default=±âº»°ª
opt_error='$1'Àº(´Â) À¯È¿ÇÑ $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù 
open_error=$1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
select_device=$1 ÀåÄ¡ $2
select_part=$1 ÀåÄ¡ $2 ÆÄÆ¼¼Ç $3
select_fd=ÇÃ·ÎÇÇ µð½ºÅ© $1
select_mylex=Mylex RAID $1 µå¶óÀÌºê $2
select_mpart=Mylex RAID $1 µå¶óÀÌºê $2 ÆÄÆ¼¼Ç $3

edit_title=ÆÄÆ¼¼Ç ÆíÁý
create_title=ÆÄÆ¼¼Ç ÀÛ¼º
edit_ecannot=ÀÌ µð½ºÅ©¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_ehdparm=½Ã½ºÅÛ¿¡ <tt>hdparm</tt> ½ÇÇà ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
edit_details=ÆÄÆ¼¼Ç ¼¼ºÎ Á¤º¸
edit_location=À§Ä¡
edit_device=ÀåÄ¡ ÆÄÀÏ
edit_type=À¯Çü
edit_extent=ÀÍ½ºÅÙÆ®
edit_of=ÀÇ
edit_status=»óÅÂ
edit_cont1=1°³ÀÇ ÆÄÆ¼¼ÇÀÌ ÀÖ½À´Ï´Ù
edit_cont234=$1°³ÀÇ ÆÄÆ¼¼ÇÀÌ ÀÖ½À´Ï´Ù
edit_cont5=$1°³ÀÇ ÆÄÆ¼¼ÇÀÌ ÀÖ½À´Ï´Ù
edit_mount=$2(À¸)·Î $1¿¡ ¸¶¿îÆ®µÊ
edit_umount=$2(À¸)·Î $1¿¡ ¸¶¿îÆ®ÇÏ´Â °æ¿ì
edit_mountvm=°¡»ó ¸Þ¸ð¸®·Î¼­ ¸¶¿îÆ®µÊ
edit_umountvm=°¡»ó ¸Þ¸ð¸®·Î¼­ ¸¶¿îÆ®ÇÏ´Â °æ¿ì
edit_mountraid=RAID ÀåÄ¡ $1ÀÇ ºÎºÐ
edit_notexist=¾ÆÁ÷ ÀÛ¼ºµÇÁö ¾ÊÀ½
edit_notused=»ç¿ëµÇ°í ÀÖÁö ¾ÊÀ½
edit_size=Å©±â
edit_label=ÆÄÆ¼¼Ç ¶óº§
edit_blocks=$1 ºí·Ï
edit_inuse=ÀÌ ÆÄÆ¼¼ÇÀº ÇöÀç »ç¿ë ÁßÀÌ°Å³ª »ç¿ëÇÏµµ·Ï ±¸¼ºµÇ¾î ÀÖÀ¸¹Ç·Î º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù
edit_mkfs=»õ ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º
edit_mkfsmsg=ÀÌ ÆÄÆ¼¼Ç¿¡ $1 ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼º, ±âÁ¸ ÆÄÀÏÀ» ¿µ±¸ÀûÀ¸·Î »èÁ¦ ÇÔ. ÀÌ ÀÛ¾÷Àº »õ ÆÄÆ¼¼ÇÀ» ÀÛ¼ºÇÏ°Å³ª ±âÁ¸ ÆÄÆ¼¼ÇÀ» º¯°æÇÑ ÈÄ¿¡ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.
edit_fsck=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸
edit_fsckmsg=ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÒ ¼ö ÀÖµµ·Ï ÆÄÀÏ ½Ã½ºÅÛÀ» º¹±¸ÇÏ´Â $1 ÇÁ·Î±×·¥À» È£ÃâÇÕ´Ï´Ù. ÀÌ ÀÛ¾÷Àº ½Ã½ºÅÛÀÌ ¿Ã¹Ù¸£°Ô Á¾·áµÇÁö ¾Ê¾ÒÀ» °æ¿ì ÇÊ¿äÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
edit_tune=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
edit_tunemsg=±âÁ¸ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¿©·¯ ¸Å°³ º¯¼ö¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
edit_none=¾øÀ½

mkfs_title=»õ ÆÄÀÏ ½Ã½ºÅÛ
mkfs_ecannot=ÀÌ µð½ºÅ©¿¡¼­ »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.
mkfs_desc1=ÀÌ ¾ç½ÄÀÇ ¸Ç ¾Æ·¡¿¡ ÀÖ´Â ´ÜÃß¸¦ ´©¸£¸é »õ $1 ÆÄÀÏ ½Ã½ºÅÛÀÌ ÀåÄ¡ $2¿¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ ÆÄÆ¼¼ÇÀÇ ¸ðµç µ¥ÀÌÅÍ´Â ¿µ±¸ÀûÀ¸·Î »èÁ¦µË´Ï´Ù.
mkfs_desc2=ÀÌ ÆÄÆ¼¼ÇÀÌ $2(À¸)·Î $1¿¡ ¸¶¿îÆ®µÇ¾ú½À´Ï´Ù. »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏ¸é ÀÌ µð·ºÅä¸® ¾Æ·¡¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ¾ú´ø ¸ðµç ÆÄÀÏÀÌ »èÁ¦µË´Ï´Ù.
mkfs_options=ÆÄÀÏ ½Ã½ºÅÛ ¿É¼Ç
mkfs_create=ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º
mkfs_err=ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
mkfs_exec=$1 ¸í·É ½ÇÇà Áß..
mkfs_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
mkfs_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù.

fsck_title=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸
fsck_ecannot=ÀÌ µð½ºÅ©¿¡ fsckÀ» ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù
fsck_desc1=<tt>ÆÄÀÏ ½Ã½ºÅÛ º¹±¸</tt> ´ÜÃß¸¦ ´©¸£¸é $3¿¡ ¸¶¿îÆ®ÇÒ ¼ö ÀÖµµ·Ï $2ÀÇ ¼Õ»óµÈ $1 ÆÄÀÏ ½Ã½ºÅÛÀÌ(°¡) º¹±¸µË´Ï´Ù.
fsck_desc2=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸´Â ¹ß»ýÇÑ ¹®Á¦¸¦ ÀÚµ¿À¸·Î ÇØ°áÇÏ´Â ¸í·É $1À»(¸¦) ÅëÇØ ¼öÇàµË´Ï´Ù. ÆÄÀÏ ½Ã½ºÅÛ º¹±¸¸¦ º¸´Ù Á¤È®ÇÏ°Ô Á¦¾îÇÏ·Á¸é Unix ÇÁ·ÒÇÁÆ®ÀÇ ´ëÈ­½Ä ¸ðµå¿¡¼­ ¼öµ¿À¸·Î $2 ¸í·ÉÀ» »ç¿ëÇÏ½Ê½Ã¿À.
fsck_repair=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸
fsck_exec=$1 ¸í·É ½ÇÇà Áß..
fsck_err0=¿À·ù°¡ ¾ø½À´Ï´Ù
fsck_err1=¿À·ù°¡ ¹ß°ßµÇ¾úÁö¸¸ Á¤Á¤µÇ¾ú½À´Ï´Ù
fsck_err3=¿À·ù°¡ ¹ß°ßµÇ¾úÁö¸¸ Á¤Á¤µÇ¾ú½À´Ï´Ù. ´Ù½Ã ºÎÆÃÇØ¾ß ÇÕ´Ï´Ù
fsck_err4=¿À·ù°¡ ¹ß°ßµÇ¾úÁö¸¸ Á¤Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù
fsck_err16=¸í·ÉÇà ¿À·ù
fsck_unknown=¾Ë ¼ö ¾ø´Â ¹ÝÈ¯ ÄÚµå $1

tunefs_title=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
tunefs_ecannot=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù
tunefs_desc=ÀÌ ¾ç½ÄÀ¸·Î $3¿¡ ¸¶¿îÆ®ÇÒ ¼ö ÀÖµµ·Ï $2¿¡ ÀÖ´Â $1 ÆÄÀÏ ½Ã½ºÅÛÀÇ ¿©·¯ ¸Å°³ º¯¼ö¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ±âÁ¸ ÆÄÀÏÀº ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.
tunefs_params=¸Å°³ º¯¼ö Á¶Á¤
tunefs_tune=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
tunefs_c=°Ë»ç °£°Ý
tunefs_e=¿À·ù ¹ß»ý ½Ã µ¿ÀÛ
tunefs_continue=°è¼Ó
tunefs_remount=ÀÐ±â Àü¿ëÀ¸·Î ¸¶¿îÆ®
tunefs_panic=ÆÐ´Ð
tunefs_u=¿¹¾àµÈ »ç¿ëÀÚ
tunefs_g=¿¹¾àµÈ ±×·ì
tunefs_m=¿¹¾àµÈ ºí·Ï
tunefs_i=°Ë»ç °£°Ý
tunefs_days=ÀÏ
tunefs_weeks=ÁÖ
tunefs_months=¿ù
tunefs_err=ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÏÁö ¸øÇß½À´Ï´Ù
tunefs_exec=$1 ¸í·É ½ÇÇà Áß..
tunefs_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
tunefs_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù.

reboot_title=´Ù½Ã ºÎÆÃ
reboot_msg=Áö±Ý ´Ù½Ã ºÎÆÃ Áß..
reboot_ok=Áö±Ý ´Ù½Ã ºÎÆÃ
reboot_why=$1ÀÇ ÆÄÆ¼¼Ç Å×ÀÌºíÀ» º¯°æÇß½À´Ï´Ù. ÀÌ º¯°æ ³»¿ëÀ» ¿Ã¹Ù¸£°Ô Àû¿ëÇÏ·Á¸é ½Ã½ºÅÛÀ» ´Ù½Ã ºÎÆÃÇØ¾ß ÇÕ´Ï´Ù.

save_err=ÆÄÆ¼¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ecannot=ÀÌ µð½ºÅ©¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_estart='$1'Àº(´Â) À¯È¿ÇÑ ½Ç¸°´õ ½ÃÀÛÁ¡ÀÌ ¾Æ´Õ´Ï´Ù 
save_eend='$1'Àº(´Â) À¯È¿ÇÑ ½Ç¸°´õ ³¡Á¡ÀÌ ¾Æ´Õ´Ï´Ù 
save_emin=½Ç¸°´õ ½ÃÀÛÁ¡Àº $1º¸´Ù Å©°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
save_emax=½Ç¸°´õ ³¡Á¡Àº $1º¸´Ù ÀÛ°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
save_eminmax=½ÃÀÛ ½Ç¸°´õ ½ÃÀÛÁ¡Àº ³¡Á¡º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù
save_eoverlap=ÆÄÆ¼¼Ç $1¿¡¼­ °ãÄ¡´Â ºÎºÐÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù($2 ºÎÅÍ $3)

ext2_b=ºí·Ï Å©±â
ext2_f=Á¶°¢ Å©±â
ext2_i=inode ´ç ¹ÙÀÌÆ®
ext2_m=¿¹¾àµÈ ºí·Ï
ext2_g=±×·ì ´ç ºí·Ï
ext2_c=ºÒ·® ºí·ÏÀÌ ÀÖ´ÂÁö °Ë»çÇÕ´Ï±î?

msdos_f=FAT ¼ö
msdos_F=FAT Å©±â
msdos_i=º¼·ý ID
msdos_n=º¼·ý ÀÌ¸§
msdos_r=root Ç×¸ñ
msdos_s=Å¬·¯½ºÅÍ Å©±â
msdos_c=ºÒ·® ºí·ÏÀÌ ÀÖ´ÂÁö °Ë»çÇÕ´Ï±î?

minix_n=ÆÄÀÏ ÀÌ¸§ ±æÀÌ
minix_i=inode ¼ö
minix_b=ºí·Ï ¼ö
minix_c=ºÒ·® ºí·ÏÀÌ ÀÖ´ÂÁö °Ë»çÇÕ´Ï±î?

reiserfs_force=ÆÄÀÏ ½Ã½ºÅÛ °­Á¦ ÀÛ¼º
reiserfs_hash=ÇØ½Ã ±â´É

acl_disks=ÀÌ »ç¿ëÀÚ°¡ ÆÄÆ¼¼ÇÀ» ³ª´©°í Æ÷¸ËÇÒ ¼ö ÀÖ´Â µð½ºÅ©
acl_dall=¸ðµç µð½ºÅ©
acl_dsel=¼±ÅÃÇÑ µð½ºÅ©..

hdparm_title=IDE ¸Å°³ º¯¼ö ÆíÁý
hdparm_on=¼³Á¤
hdparm_off=ÇØÁ¦
hdparm_label=IDE µå¶óÀÌºí ¼³Á¤
hdparm_conf_X=Àü¼Û ¸ðµå
hdparm_conf_X_defaut=±âº» ¸ðµå
hdparm_conf_X_disable=IORDY »ç¿ë ºÒ´É
hdparm_conf_d=DMA »ç¿ë
hdparm_conf_a=¼½ÅÍ Ä«¿îÆ®
hdparm_conf_A=¹Ì¸® ÀÐ±â
hdparm_conf_W=¾²±â Ä³½Ì
hdparm_conf_u=ÀÎÅÍ·´Æ® ¸¶½ºÅ© ÇØÁ¦ 
hdparm_conf_k=Àç¼³Á¤ ½Ã ¼³Á¤ À¯Áö
hdparm_conf_K=Àç¼³Á¤ ½Ã ±â´É À¯Áö
hdparm_conf_r=ÀÐ±â Àü¿ë
hdparm_conf_P=ÃÖ»óÀÇ PIO ´Ù½Ã ÇÁ·Î±×·¥¹Ö
hdparm_conf_S=´ë±â ½Ã°£ ÃÊ°ú
hdparm_conf_c=32ºñÆ® I/O Áö¿ø
hdparm_conf_m=´ÙÁß ¼½ÅÍ I/OÀÇ ¼½ÅÍ Ä«¿îÆ®
hdparm_disable=»ç¿ë ºÒ´É
hdparm_enable=»ç¿ë °¡´É
hdparm_enable_special=Æ¯¼ö µ¿±âÈ­ ½ÃÄö½º¿¡¼­ »ç¿ë °¡´É
hdparm_apply=µå¶óÀÌºê¿¡ Àû¿ë
hdparm_speed=Å×½ºÆ® ¼Óµµ
hdparm_performing=¼öÇà
hdparm_buf1=¹öÆÛ Ä³½Ã:
hdparm_buf2=¹öÆÛµÊ:
hdparm_speedres=¼Óµµ Å×½ºÆ® °á°ú

log_modify=$1 ¼öÁ¤µÊ
log_create=$1 ÀÛ¼ºµÊ
log_delete=$1 »èÁ¦µÊ
log_mkfs=$2¿¡ $1 ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼ºµÊ
log_tunefs=$2ÀÇ $1 ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤µÊ
log_fsck=$2¿¡ $1 ÆÄÀÏ ½Ã½ºÅÛ º¹±¸µÊ
log_hdparm=$1ÀÇ IDE ¸Å°³ º¯¼ö ¼öÁ¤µÊ
   0707010003b208000081a40000000000000002000000013d1fe2c200001d97000000200000000000000000000000000000001400000003reloc/fdisk/lang/pl   index_title=Zarz±dca partycji
index_err=Nie uda³o siê utworzyæ listy dysków
index_disk=Dysk
index_parts=Partycje
index_location=Lokalizacja
index_cylinders=Liczba cylindrów
index_model=Model
index_raid=Poziom RAID
index_controller=Kontroler
index_scsiid=Urz±dzenie
index_none=Nie znaleziono partycji
index_num=Nr
index_type=Typ
index_extent=Umiejscowienie
index_start=Pocz±tek
index_end=Koniec
index_addpri=Dodaj partycjê podstawow±
index_addlog=Dodaj partycjê logiczn±
index_addext=Dodaj partycjê rozszerzon±
index_hdparm=Zmieñ parametry IDE
index_use=U¿ywana przez
index_free=Wolne
index_return=listy dysków

bytes=bajtów
extended=Rozszerzona
opt_default=Domy¶lne
opt_error='$1' nie jest poprawnym $2
open_error=Nie znaleziono polecenia $1
select_device=Urz±dzenie $1 $2
select_part=Partycja $3 na dysku $1 $2
select_fd=Dyskietka $1
select_mylex=Urz±dzenie Mylex RAID $1 $2
select_mpart=Partycja $3 urz±dzenia Mylex RAID $1 $2

edit_title=Zmieñ partycjê
create_title=Utwórz partycjê
edit_ecannot=Nie masz uprawnieñ do zmian tego dysku
edit_ehdparm=Nie znaleziono w systemie programu <tt>hdparm</tt>
edit_details=Dane partycji
edit_location=Lokalizacja
edit_device=Plik urz±dzenia
edit_type=Typ
edit_extent=Obejmuje cylindry
edit_of=z
edit_status=Stan
edit_cont1=Zawiera 1 partycjê
edit_cont234=Zawiera $1 partycje
edit_cont5=Zawiera $1 partycji
edit_mount=Zamontowana w&nbsp;$1 jako $2
edit_umount=Do zamontowania w&nbsp;$1 jako $2
edit_mountvm=Zamontowana jako pamiêæ wirtualna
edit_umountvm=Do zamontowania jako pamiêæ wirtualna
edit_mountraid=Czê¶æ urz±dzenia RAID $1
edit_notexist=Jeszcze nie utworzono
edit_notused=Nie u¿ywana
edit_size=Rozmiar
edit_label=Etykieta partycji
edit_blocks=$1 bloków
edit_inuse=Nie mo¿na dokonywaæ zmian tej partycji, gdy¿ jest ona aktualnie u¿ywana lub skonfigurowana do u¿ywania
edit_mkfs=Utwórz nowy system plików
edit_mkfsmsg=Tworzy nowy system plików $1 na tej partycji nieodwracalnie niszcz±c jakiekolwiek istniej±ce tam pliki. Musisz to wykonaæ po utworzeniu nowej partycji lub zmianie istniej±cej.
edit_fsck=Napraw system plików
edit_fsckmsg=Wywo³uje program $1 w&nbsp;celu naprawy systemu plików tak, by móg³ on byæ zamontowany. Mo¿e to byæ konieczne po nieprawid³owym zamkniêciu systemu.
edit_tune=Dostosuj system plików
edit_tunemsg=Pozwala zmieniæ ró¿ne parametry istniej±cego systemu plików.
edit_none=Brak

mkfs_title=Nowy system plików
mkfs_ecannot=Nie masz uprawnieñ do tworzenia nowych systemów plików na tym dysku.
mkfs_desc1=Naci¶niêcie przycisku w&nbsp;dolnej czê¶ci tego formularza spowoduje utworzenie nowego systemu plików $1 na urz±dzeniu $2. Wszystkie dane na tej partycji zostan± nieodwracalnie zniszczone.
mkfs_desc2=Ta partycja jest zamontowana na $1 jako $2. Utworzenie nowego systemu plików spowoduje usuniêcie wszystkich plików, które by³y uprzednio dostêpne w&nbsp;tym katalogu.
mkfs_options=Opcje systemu plików
mkfs_create=Utworzyæ system plików
mkfs_err=Nie uda³o siê utworzyæ systemu plików
mkfs_exec=Wykonywanie polecenia $1 ..
mkfs_failed=.. nie powiod³o siê!
mkfs_ok=.. zakoñczono.

fsck_title=Napraw system plików
fsck_ecannot=Nie masz uprawnieñ do uruchomienia <tt>fsck</tt> dla tego dysku.
fsck_desc1=Naciskaj±c na przycisk <tt>Napraw system plików</tt> podejmiesz próbê naprawienia uszkodzonego systemu plików $1 na $2 w&nbsp;celu zamontowania go na $3. Je¶li system nie jest uszkodzony, ¿adne zmiany nie bêd± wykonanae.
fsck_desc2=Naprawa systemu plików bêdzie wykonana za pomoc± polecenia $1, które automatycznie podejmie próbê usuniêcia wszystkich wystêpuj±cych problemów. Je¶li chcesz mieæ wiêksz± kontrolê nad tym co siê dzieje podczas naprawy systemu plików wydaj polecenie $2 rêcznie w&nbsp;trybie interakcyjnym z&nbsp;linii polecen Uniksa.
fsck_repair=Napraw system plików
fsck_exec=Wykonywanie polecenia $1 ..
fsck_err0=nie znaleziono b³êdów
fsck_err1=znaleziono i&nbsp;naprawiono b³êdy
fsck_err3=znaleziono i&nbsp;naprawiono b³êdy - niezbêdny restart
fsck_err4=znaleziono b³êdy, ale ich NIE naprawiono
fsck_err16=b³±d polecenia
fsck_unknown=nieznany kod powrotu $1

tunefs_title=Dostosuj system plików
tunefs_ecannot=Nie masz uprawnieñ do dostosowania tego systemu plików.
tunefs_desc=Za pomoc± tego formularza mo¿esz dostroiæ ró¿ne parametry systemu plików $1 na $2 montowanego na $3. Nie naruszy to istniej±cych na tym systemie plików.
tunefs_params=Parametry dostosowania
tunefs_tune=Dostosuj system plików
tunefs_c=Liczba montowañ miêdzy sprawdzeniami
tunefs_e=Dzialanie w&nbsp;razie b³êdu
tunefs_continue=Kontynuuj
tunefs_remount=Montuj tylko do odczytu
tunefs_panic=Wpadnij w panikê
tunefs_u=U¿ytkownik obszaru zarezerwowanego
tunefs_g=Grupa obszaru zarezerwowanego
tunefs_m=Zarezerwowane bloki
tunefs_i=Okres pomiêdzy sprawdzeniami
tunefs_days=Dni
tunefs_weeks=Tygodni
tunefs_months=Miesiêcy
tunefs_err=Nie uda³o siê dostosowaæ systemu plików
tunefs_exec=Wykonywanie polecenia $1 ..
tunefs_failed=.. nie powiod³o siê!
tunefs_ok=.. zakoñczono.

reboot_title=Restartuj
reboot_msg=Restartuj teraz ..
reboot_ok=Restartuj teraz
reboot_why=Zmieni³e¶ tablicê partycji na $1. Aby ta zmiana odnios³a w³a¶ciwy skutek trzeba zrestartowaæ system.

save_err=Nie uda³o siê zachowaæ partycji
save_ecannot=Nie masz uprawnieñ do zmian tego dysku.
save_estart='$1' nie jest poprawnym cylindrem pocz±tkowym.
save_eend='$1' nie jest poprawnym cylindrem koñcowym.
save_emin=Cylinder pocz±tkowy musi byæ &gt;= $1.
save_emax=Cylinder koñcowy musi byæ &lt;= $1.
save_eminmax=Cylinder pocz±tkowy musi byæ mniejszy ni¿ koñcowy.
save_eoverlap=Stwierdzono nak³adanie siê z&nbsp;partycj± $1 ($2 do $3).

ext2_b=Rozmiar bloku
ext2_f=Rozmiar fragmentu
ext2_i=Bajtów na i-wêze³
ext2_m=Bloków zarezerwowanych
ext2_g=Bloków na grupê
ext2_c=Sprawdzaæ poprawno¶æ no¶nika?
ext3_j=Rozmiar pliku dziennika

msdos_f=Liczba FAT-ów
msdos_F=Rozmiar FAT-u
msdos_i=Nr ID wolumenu
msdos_n=Nazwa wolumenu
msdos_r=Wpisów w&nbsp;katalogu g³ównym
msdos_s=Rozmiar klastra
msdos_c=Sprawdzaæ poprawno¶æ no¶nika?

minix_n=Rozmiar systemu plików
minix_i=Liczba i-wêz³ów
minix_b=Liczba bloków
minix_c=Sprawdzaæ poprawno¶æ no¶nika?

reiserfs_force=Wymusiæ utworzenie systemu plików
reiserfs_hash=Funkcja haszy

acl_disks=Dyski, które u¿ytkownik mo¿e partycjonowaæ i&nbsp;formatowaæ
acl_dall=Wszystkie dyski
acl_dsel=Wybrane..
acl_view=Mo¿e przegl±daæ niemodyfikowalne dyski?

hdparm_title=Zmieñ ustawienia IDE
hdparm_on=W³±czone
hdparm_off=Wy³±czone
hdparm_label=Ustawienia dla urz±dzenia IDE
hdparm_conf_X=Tryb transmisji
hdparm_conf_X_defaut=Tryb domy¶lny
hdparm_conf_X_disable=Wy³±cz IORDY
hdparm_conf_d=Korzystanie z&nbsp;DMA
hdparm_conf_a=Liczba sektorów odczytu wyprzedzaj±cego
hdparm_conf_A=Odczyt wyprzedzaj±cy
hdparm_conf_W=Buforowanie zapisu
hdparm_conf_u=Niemaskowanie przerwañ
hdparm_conf_k=Zachowaj ustawienia podczas restartu
hdparm_conf_K=Zachowaj w³a¶ciwo¶ci podczas restartu
hdparm_conf_r=Tylko do odczytu
hdparm_conf_P=Ustaw optymalny tryb PIO
hdparm_conf_S=Okres do przej¶cia w stan oczekiwania
hdparm_conf_c=32-bitowy dostêp
hdparm_conf_m=Odczyty i&nbsp;zapisy wielosektorowe
hdparm_disable=Wy³±cz
hdparm_enable=W³±cz
hdparm_enable_special=W³±cz ze specjalnym poleceniem zrzutu buforów
hdparm_apply=Zastosuj do dysku
hdparm_speed=Test szybko¶ci
hdparm_performing=Trwa
hdparm_buf1=Odczyt samych buforów:
hdparm_buf2=Odczyt bufowany:
hdparm_speedres=Wyniki testu szybko¶ci

log_modify=Zmieniono $1
log_create=Utworzono $1
log_delete=Usuniêto $1
log_mkfs=Utworzono system plików $1 na $2
log_tunefs=Dostosowano system plików $1 na $2
log_fsck=Naprawiono system plików $1 na $2
log_hdparm=Zmieniono parametry IDE dla $1
 0707010003b209000081a40000000000000002000000013d1fe2c200001625000000200000000000000000000000000000001400000003reloc/fdisk/lang/pt   index_title=Administrador de Partições
index_err=Erro ao listar discos
index_disk=Disco
index_parts=Partições
index_location=Localização
index_cylinders=Cilindros
index_model=Modelo
index_controller=Controlador
index_scsiid=Alvo
index_none=Não foram encontradas partições
index_num=Nº
index_type=Tipo
index_extent=Extenção
index_start=Inicio
index_end=Fim
index_addpri=Adicionar partição primária
index_addlog=Adicionar partição lógica
index_addext=Adicionar partição extendida
index_return=lista de discos

extended=Extendida
opt_default=Predefinido
opt_error='$1' não é uma $2 válida
select_device=$1 dispositivo $2
select_part=$1 dispositivo $2 partição $3
select_fd=Disquete $1

edit_title=Editar Partição
create_title=Criar Partição
edit_ecannot=Você não está autorizado para editar este disco
edit_details=Detalhes da Partição
edit_location=Localização
edit_device=Ficheiro de dispositivos
edit_type=Tipo
edit_extent=Extensão
edit_status=Estado
edit_mount=Montado em $1 como $2
edit_umount=Para ser montado em $1 como $2
edit_mountvm=Montado como memória virtual
edit_umountvm=Para ser montado como memória virtual
edit_notexist=Ainda não foi criada
edit_notused=Não está em uso
edit_size=Tamanho
edit_blocks=$1 blocos
edit_inuse=Esta partição não pode ser alterada porque está actualmente em uso
edit_mkfs=Criar Novo Sistema de Ficheiros
edit_mkfsmsg=Constroi um novo $1 de sistema de ficheiros nesta partição, apagando permanentemente qualquer ficheiro. Deverá fazer isto depois de criar uma nova partição ou alterar uma existente.
edit_fsck=Reparar Sistema de Ficheiros
edit_fsckmsg=Chama o programa $1 para reparar o sistema de ficheiros para que possa ser montado. Isto pode ser necessário se o sistema não encerrou correctamente.
edit_tune=Afinar o Sistema de Ficheiros
edit_tunemsg=Permite que você modifique parâmetros de um sistema de ficheiros existente.

mkfs_title=Novo Sistema de Ficheiros
mkfs_ecannot=Você não está autorizado para construir um novo sistema de ficheiros neste disco
mkfs_desc1=Ao clicar no botão no fundo do formulário, irá construir um novo sistema de ficheiros $1 no dispositivo $2. Todos os dados nesta partição serão permanentemente apagados.
mkfs_desc2=Esta partição foi montada em $1 como $2. Se criar um novo sistema de ficheiros irá apagar todos os ficheiros que eram anteriormente acessíveis dentro deste directório.
mkfs_options=Opções do Sistema de Ficheiros
mkfs_create=Criar Sistema de Ficheiros
mkfs_err=Erro ao criar sistema de ficheiros
mkfs_exec=A executar comando $1 ..
mkfs_failed=.. erro no comando!
mkfs_ok=.. comando completo.

fsck_title=Reparar Sistema de Ficheiros
fsck_ecannot=Você não está autorizado para verificar (fsck) este disco
fsck_desc1=Ao clicar no botão <tt>Reparar Sistema de Ficheiros</tt>, irá tentar reparar o sistema de ficheiros danificado $1 em $2 para ser montado em $3. Se o sistema de ficheiros não estiver danificado, nenhumas alterações serão feitas.
fsck_desc2=A reparação do sistema de ficheiros será feita utilizando o comando $1, que automáticamente tentará corrigir quisquer problemas encontrados. Para maior controle na reparação de sistema de ficheiros, utilize manualmente o comando $2 no modo interactivo na linha de comandos do Unix.
fsck_repair=Reparar Sistema de Ficheiros
fsck_exec=A executar o comando $1 ..
fsck_err0=não foram encontrados erros
fsck_err1=erros encontrados e corrigidos
fsck_err3=erros encontrados e corrigidos - é necessário reiniciar
fsck_err4=erros encontrados mas NÃO corrigidos
fsck_err16=erro na linha de comando
fsck_unknown=código de retorno $1 desconhecido

tunefs_title=Afinar Sistema de Ficheiros
tunefs_ecannot=Você não está autorizado para afinar este sistema de ficheiros
tunefs_desc=Este formulário permite-lhe ajustar vários parâmetros do sistema de ficheiros $1 em $2 para ser montado em $3. Os ficheiros existentes neste sistema de ficheiros não serão afectados.
tunefs_params=Parâmetros de Afinação
tunefs_tune=Afinar Sistema de Ficheiros
tunefs_c=Intervalo entre verificações
tunefs_e=Acção caso haja erro
tunefs_continue=Continuar
tunefs_remount=Montar em modo de leitura apenas
tunefs_panic=Pânico
tunefs_u=Utilizador reservado
tunefs_g=Grupo reservado
tunefs_m=Blocos reservados
tunefs_i=Tempo entre verificações
tunefs_days=Dias
tunefs_weeks=Semanas
tunefs_months=Meses
tunefs_err=Erro ao afinar sistema de ficheiros
tunefs_exec=A executar comando $1 ..
tunefs_failed=.. erro no comando!
tunefs_ok=.. comando completo.

reboot_title=Reiniciar Sistema
reboot_msg=A reiniciar sistema neste momento ..
reboot_ok=Reiniciar Sistema Já
reboot_why=Você alterou a tabela da partição em $1. Para que esta alteração seja efectiva neste sistema, terá de reiniciar o sistema.

save_err=Erro ao guardar partição
save_ecannot=Você não está autorizado para editar este disco
save_estart='$1' não é um cilindro de início válido
save_eend='$1' não é um cilindro final válido
save_emin=O cilindro inicial tem de ser >= $1
save_emax=O cilindro final tem de ser <= $1
save_eminmax=O cilindro inicial tem de ser menor que o final
save_eoverlap=Sobreposição detectada com a partição $1 ($2 a $3)

ext2_b=Tamanho do bloco
ext2_f=Tamanho do fragmento
ext2_i=Bytes por i-node
ext2_m=Blocos reservados
ext2_g=Blocos por grupo
ext2_c=Verificar se há blocos danificados?

msdos_f=Número de FATs
msdos_F=Tamanho da FAT
msdos_i=ID do volume
msdos_n=Nome do volume
msdos_r=Entradas de root
msdos_s=Tamanho do cluster
msdos_c=Verificar se há blocos danificados?

minix_n=Tamanho do nome do ficheiro
minix_i=Número de i-nodes
minix_b=Número de blocos
minix_c=Verificar se há blocos danificados?

acl_disks=Discos que este utilizador pode particionar e formatar
   0707010003b20a000081a40000000000000002000000013d1fe2c200001514000000200000000000000000000000000000001700000003reloc/fdisk/lang/ru_RU    edit_blocks=$1 áëîêîâ
fsck_title=Âîññòàíîâëåíèå Ôàéëîâîé Ñèñòåìû
save_err=Îøèáêà ïðè ñîõðàíåíèè ðàçäåëà
tunefs_err=Îøèáêà ïðè íàñòðîéêå ôàéëîâîé ñèñòåìû
tunefs_remount=Ñìîíòèðîâàòü òîëüêî äëÿ ÷òåíèÿ
index_disk=Äèñê
reboot_why=Âû èçìåíèëè òàáëèöó ðàçäåëîâ íà $1. Äëÿ âñòóïëåíèÿ èçìåíåíèé â ñèëó, âàøà ñèñòåìà äîëæíà áûòü ðåñòàðòîâàíà.
tunefs_months=Ìåñÿöåâ
edit_umountvm=Äëÿ ìîíòèðîâàíèÿ êàê âèðòóàëüíàÿ ïàìÿòü
tunefs_days=Äíåé
fsck_unknown=íåèçâåñòíûé êîä âîçâðàòà $1
index_scsiid=SCSI àäðåñ
tunefs_params=Ïàðàìåòðû Íàñòðîéêè
tunefs_failed=.. êîìàíäà çàâåðøèëàñü íåóäà÷íî!
mkfs_title=Íîâàÿ ôàéëîâàÿ ñèñòåìà
tunefs_desc=Ýòà ôîðìà ïîçâîëÿåò âàì ïîäñòðàèâàòü ðàçëè÷íûå ïàðàìåòðû ôàéëîâîé ñèñòåìû $1 íà $2 äëÿ ìîíòèðîâàíèÿ íà $3. Ñóùåñòâóþùèå ôàéëû íà äàííîé ôàéëîâîé ñèñòåìå íå áóäóò çàòðîíóòû.
select_fd=Ôëîïïè äèñê $1
msdos_F=Ðàçìåð FAT
reboot_title=Ðåñòàðò Ñèñòåìû
opt_default=Ïî óìîë÷àíèþ
index_parts=Ðàçäåëû
index_none=Ðàçäåëû íå íàéäåíû
msdos_c=Ïðîâåðèòü íà íàëè÷èå ïëîõèõ áëîêîâ?
edit_tunemsg=Ïîçâîëÿåò âàì èçìåíÿòü ðàçëè÷íûå ïàðàìåòðû ñóùåñòâóþäùåé ôàéëîâîé ñèñòåìû.
msdos_f=Êîëè÷åñòâî FAT
msdos_i=ID òîìà
msdos_n=Èìÿ òîìà
edit_device=Ôàéë óñòðîéñòâà
fsck_desc1=Ïðè íàæàòèè íà êíîïêó <tt>Âîññòàíîâëåíèå Ôàéëîâîé Ñèñòåìû</tt> áóäåò ïðåäïðèíÿòà ïîïûòêà âîññòàíîâëåíèÿ ïîâðåæäåííîé ôàéëîâîé ñèñòåìû $1 íà $2 äëÿ òî÷êè ìîíòèðîâàíèÿ $3. Åñëè ôàéëîâàÿ ñèñòåìà íå ïîâðåæäåíà, íèêàêèõ èçìåíåíèé íå áóäåò ñäåëàíî.
msdos_r=Êîë-âî êîðíåâûõ êàò.
fsck_desc2=Èñïðàâëåíèÿ ôàéëîâîé ñèñòåìû áóäóò îñóùåñòâëÿòñÿ êîìàíäîé $1, êîòîðàÿ áóäåò àâòîìàòè÷åñêè ïûòàòüñÿ èñïðàâèòü ëþáûå ïðîáëåìû. Äëÿ áîëåå òîíêîãî êîíòðîëÿ çà èñïðàâëåíèåì ôàéëîâîé ñèñòåìû èñïîëüçóéòå êîìàíäó $2 â èíòåðàêòèâíîì ðåæèìå, çàïóñêàÿ å£ èç êîìàíäíîé ñòðîêè.
msdos_s=Ðàçìåð êëàñòåðà
edit_mountvm=Ñìîíòèðîâàí êàê âèðòóàëüíàÿ ïàìÿòü
index_start=Íà÷àëî
index_num=N.
select_device=$1 óñòðîéñòâî $2
index_addext=Äîáàâèòü ðàñøèðåííûé ðàçäåë
save_emin=Íà÷àëüíûé öèëèíäð äîëæåí áûòü >= $1
tunefs_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü ýòó ôàéëîâóþ ñèñòåìó
select_part=$1 óñòðîéñòâî $2 ðàçäåë $3
save_eoverlap=Îáíàðóæåíî ïåðåêðûòèå ñ ðàçäåëîì $1 ($2 äî $3)
index_title=Ìåíåäæåð Ðàçäåëîâ
ext2_b=Ðàçìåð áëîêà
ext2_c=Ïðîâåðèòü íà íàëè÷èå ïëîõèõ áëîêîâ?
edit_notused=Íå èñïîëüçóåòñÿ
ext2_f=Ðàçìåð ôðàãìåíòà
ext2_g=Áëîêîâ íà ãðóïïó
ext2_i=Áàéò íà inode
ext2_m=Ðåçåðâíûå áëîêè
tunefs_continue=Ïðîäîëæèòü
mkfs_desc1=Ïðè íàæàòèè íà êíîïêó âíèçó äàííîé ôîðìû, áóäåò ñîçäàíà íîâàÿ $1 ôàéëîâàÿ ñèñòåìà íà óñòðîéñòâå $2. Âñå äàííûå íà ýòîì ðàçäåëå áóäóò áåçâîçâðàòíî óòåðÿíû.
mkfs_desc2=Äàííûé ðàçäåë ñìîíòèðîâàí íà $1 êàê $2. Ñîçäàíèå íîâîé ôàéëîâîé ñèñòåìû ïðèâåäåò ê ïîòåðå âñåõ ôàéëîâ, êîòîðûå ðàíüøå áûëè äîñòóïíû â äàííîì êàòàëîãå.
edit_inuse=Ýòîò ðàçäåë íå ìîæåò áûòü èçìåíåí, ïîñêîëüêó îí èñïîëüçóåòñÿ â íàñòîÿùèé ìîìåíò
edit_umount=Äëÿ ìîíòèðîâàíèÿ íà $1 êàê $2
index_return=ñïèñîê äèñêîâ
edit_tune=Íàñòðîéêà Ôàéëîâîé Ñèñòåìû
index_addlog=Äîáàâèòü ëîãè÷åñêèé ðàçäåë
reboot_ok=Ðåñòàðòîâàòü ñåé÷àñ
index_end=Êîíåö
edit_fsckmsg=Âûçûâàåò ïðîãðàììó $1 äëÿ âîññòàíîâëåíèÿ ôàéëîâîé ñèñòåìû òàê, ÷òî îíà ìîæåò áûòü ñìîíòèðîâàííà. Ýòî ìîæåò áûòü ïîëåçíî, åñëè âàøà ñèñòåìà áûëà íåïðàâèëüíî îñòàíîâëåíà.
mkfs_options=Ïàðàìåòðû Ôàéëîâîé Ñèñòåìû
save_estart='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íà÷àëüíûì öèëèíäðîì
index_type=Òèï
save_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííûé äèñê
index_cylinders=Öèëèíäðû
tunefs_tune=Íàñòðîèòü Ôàéëîâóþ Ñèñòåìó
mkfs_failed=.. êîìàíäà çàâåðøèëàñü íåóäà÷íî!
mkfs_ecannot=Âàì íå ðàçðåøåíî ñîçäàâàòü íîâóþ ôàéëîâóþ ñèñòåìó íà ýòîì äèñêå
save_eminmax=Íà÷àëüíûé öèëèíäð äîëæåí áûòü ìåíüøå êîíå÷íîãî
index_err=Îøèáêà ôîðìèðîâàíèÿ ñïèñêà äèñêîâ
edit_details=Ïàðàìåòðû Ðàçäåëà
edit_fsck=Âîññòàíîâèòü Ôàéëîâóþ Ñèñòåìó
index_extent=Ýêñòåíò
tunefs_title=Íàñòðîéêà Ôàéëîâîé Ñèñòåìû
index_controller=Êîíòðîëëåð
fsck_repair=Âîññòàíîâèòü Ôàéëîâóþ Ñèñòåìó
tunefs_weeks=Íåäåëü
mkfs_create=Ñîçäàòü Ôàéëîâóþ Ñèñòåìó
minix_b=Êîëè÷åñòâî áëîêîâ
minix_c=Ïðîâåðèòü íà íàëè÷èå ïëîõèõ áëîêîâs?
minix_i=Êîëè÷åñòâî inode
minix_n=Äëèíà èìåí ôàéëîâ
mkfs_exec=Âûïîëíåíèå êîìàíäû $1 ..
create_title=Ñîçäàíèå Ðàçäåëà
tunefs_c=Ïðîïóñêè ìåæäó ïðîâåðêàìè
tunefs_e=Ðåàêöèÿ íà îøèáêó
tunefs_g=Çàðåçåðâèðîâàííàÿ ãðóïïà
tunefs_i=Âðåìÿ ìåæäó ïðîâåðêàìè
edit_extent=Ýêñòåíò
tunefs_m=Çàðåçåðâèðîâàííûå áëîêè
edit_type=Òèï
tunefs_u=Çàðåçåðâèðîâàííûé ïîëüçîâàòåëü
edit_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííûé äèñê
opt_error='$1' íå ÿâëÿåòñÿ äîïóñòèìûì $2
edit_location=Ðàçìåùåíèå
index_addpri=Äîáàâèòü ïåðâè÷íûé ðàçäåë
index_location=Ðàçìåùåíèå
index_model=Ìîäåëü
edit_status=Ñòàòóñ
reboot_msg=Ñèñòåìà ðåñòàðòóåò ..
acl_disks=Äèñêè, êîòîðûå äàííûé ïîëüçîâàòåëü ìîæåò ðàçáèâàòü íà ðàçäåëû è ôîðìàòèðîâàòü
fsck_ecannot=Âàì íå ðàçðåøåíî çàïóñêàòü fsck íà äàííîì äèñêå
edit_mount=Ñìîíòèðîâàí íà $1 êàê $2
mkfs_ok=.. êîìàíäà çàâåðøèëàñü óñïåøíî
edit_mkfs=Ñîçäàòü Íîâóþ Ôàéëîâóþ Ñèñòåìó
mkfs_err=Îøèáêà ïðè ñîçäàíèè ôàéëîâîé ñèñòåìû
tunefs_panic=Ïàíèêà
fsck_err0=îøèáîê íå îáíàðóæåíî
fsck_err1=îøèáêè îáíàðóæåíû è óñòðàíåíû
fsck_err3=îøèáêè îáíàðóæåíû è óñòðàíåíû - íåîáõîäèì ðåñòàðò ñèñòåìû
fsck_err4=îøèáêè îáíàðóæåíû, íî ÍÅ óñòðàíåíû
edit_notexist=Íå ñîçäàí
fsck_exec=Âûïîëíåíèå êîìàíäû $1 ..
save_eend='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîíå÷íûì öèëèíäðîì
tunefs_ok=.. êîìàíäà çàâåðøèëàñü óñïåøíî
extended=Ðàñøèðåííûé
fsck_err16=îøèáêà êîìàíäíîé ñòðîêè
edit_size=Ðàçìåð
edit_title=Ðåäàêòèðîâàíèå Ðàçäåëà
save_emax=Êîíå÷íûé öèëèíäð äîëæåí áûòü <= $1
tunefs_exec=Âûïîëíåíèå îìàíäû $1 ..
0707010003b20b000081a40000000000000002000000013d1fe2c20000151f000000200000000000000000000000000000001700000003reloc/fdisk/lang/ru_SU    index_title=íÅÎÅÄÖÅÒ òÁÚÄÅÌÏ×
index_err=ïÛÉÂËÁ ÆÏÒÍÉÒÏ×ÁÎÉÑ ÓÐÉÓËÁ ÄÉÓËÏ×
index_disk=äÉÓË
index_parts=òÁÚÄÅÌÙ
index_location=òÁÚÍÅÝÅÎÉÅ
index_cylinders=ãÉÌÉÎÄÒÙ
index_model=íÏÄÅÌØ
index_controller=ëÏÎÔÒÏÌÌÅÒ
index_scsiid=SCSI ÁÄÒÅÓ
index_none=òÁÚÄÅÌÙ ÎÅ ÎÁÊÄÅÎÙ
index_num=N.
index_type=ôÉÐ
index_extent=üËÓÔÅÎÔ
index_start=îÁÞÁÌÏ
index_end=ëÏÎÅÃ
index_addpri=äÏÂÁ×ÉÔØ ÐÅÒ×ÉÞÎÙÊ ÒÁÚÄÅÌ
index_addlog=äÏÂÁ×ÉÔØ ÌÏÇÉÞÅÓËÉÊ ÒÁÚÄÅÌ
index_addext=äÏÂÁ×ÉÔØ ÒÁÓÛÉÒÅÎÎÙÊ ÒÁÚÄÅÌ
index_return=ÓÐÉÓÏË ÄÉÓËÏ×

extended=òÁÓÛÉÒÅÎÎÙÊ
opt_default=ðÏ ÕÍÏÌÞÁÎÉÀ
opt_error='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ $2
select_device=$1 ÕÓÔÒÏÊÓÔ×Ï $2
select_part=$1 ÕÓÔÒÏÊÓÔ×Ï $2 ÒÁÚÄÅÌ $3
select_fd=æÌÏÐÐÉ ÄÉÓË $1

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ òÁÚÄÅÌÁ
create_title=óÏÚÄÁÎÉÅ òÁÚÄÅÌÁ
edit_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÄÉÓË
edit_details=ðÁÒÁÍÅÔÒÙ òÁÚÄÅÌÁ
edit_location=òÁÚÍÅÝÅÎÉÅ
edit_device=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á
edit_type=ôÉÐ
edit_extent=üËÓÔÅÎÔ
edit_status=óÔÁÔÕÓ
edit_mount=óÍÏÎÔÉÒÏ×ÁÎ ÎÁ $1 ËÁË $2
edit_umount=äÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ ÎÁ $1 ËÁË $2
edit_mountvm=óÍÏÎÔÉÒÏ×ÁÎ ËÁË ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ
edit_umountvm=äÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ ËÁË ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ
edit_notexist=îÅ ÓÏÚÄÁÎ
edit_notused=îÅ ÉÓÐÏÌØÚÕÅÔÓÑ
edit_size=òÁÚÍÅÒ
edit_blocks=$1 ÂÌÏËÏ×
edit_inuse=üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÚÍÅÎÅÎ, ÐÏÓËÏÌØËÕ ÏÎ ÉÓÐÏÌØÚÕÅÔÓÑ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ
edit_mkfs=óÏÚÄÁÔØ îÏ×ÕÀ æÁÊÌÏ×ÕÀ óÉÓÔÅÍÕ
edit_fsck=÷ÏÓÓÔÁÎÏ×ÉÔØ æÁÊÌÏ×ÕÀ óÉÓÔÅÍÕ
edit_fsckmsg=÷ÙÚÙ×ÁÅÔ ÐÒÏÇÒÁÍÍÕ $1 ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÔÁË, ÞÔÏ ÏÎÁ ÍÏÖÅÔ ÂÙÔØ ÓÍÏÎÔÉÒÏ×ÁÎÎÁ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÏ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÂÙÌÁ ÎÅÐÒÁ×ÉÌØÎÏ ÏÓÔÁÎÏ×ÌÅÎÁ.
edit_tune=îÁÓÔÒÏÊËÁ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ
edit_tunemsg=ðÏÚ×ÏÌÑÅÔ ×ÁÍ ÉÚÍÅÎÑÔØ ÒÁÚÌÉÞÎÙÅ ÐÁÒÁÍÅÔÒÙ ÓÕÝÅÓÔ×ÕÀÄÝÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ.

mkfs_title=îÏ×ÁÑ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ
mkfs_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÕÀ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ ÎÁ ÜÔÏÍ ÄÉÓËÅ
mkfs_desc1=ðÒÉ ÎÁÖÁÔÉÉ ÎÁ ËÎÏÐËÕ ×ÎÉÚÕ ÄÁÎÎÏÊ ÆÏÒÍÙ, ÂÕÄÅÔ ÓÏÚÄÁÎÁ ÎÏ×ÁÑ $1 ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÁ ÕÓÔÒÏÊÓÔ×Å $2. ÷ÓÅ ÄÁÎÎÙÅ ÎÁ ÜÔÏÍ ÒÁÚÄÅÌÅ ÂÕÄÕÔ ÂÅÚ×ÏÚ×ÒÁÔÎÏ ÕÔÅÒÑÎÙ.
mkfs_desc2=äÁÎÎÙÊ ÒÁÚÄÅÌ ÓÍÏÎÔÉÒÏ×ÁÎ ÎÁ $1 ËÁË $2. óÏÚÄÁÎÉÅ ÎÏ×ÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÐÒÉ×ÅÄÅÔ Ë ÐÏÔÅÒÅ ×ÓÅÈ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ ÒÁÎØÛÅ ÂÙÌÉ ÄÏÓÔÕÐÎÙ × ÄÁÎÎÏÍ ËÁÔÁÌÏÇÅ.
mkfs_options=ðÁÒÁÍÅÔÒÙ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ
mkfs_create=óÏÚÄÁÔØ æÁÊÌÏ×ÕÀ óÉÓÔÅÍÕ
mkfs_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ
mkfs_exec=÷ÙÐÏÌÎÅÎÉÅ ËÏÍÁÎÄÙ $1 ..
mkfs_failed=.. ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÎÏ!
mkfs_ok=.. ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÉÌÁÓØ ÕÓÐÅÛÎÏ

fsck_title=÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ
fsck_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÚÁÐÕÓËÁÔØ fsck ÎÁ ÄÁÎÎÏÍ ÄÉÓËÅ
fsck_desc1=ðÒÉ ÎÁÖÁÔÉÉ ÎÁ ËÎÏÐËÕ <tt>÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ</tt> ÂÕÄÅÔ ÐÒÅÄÐÒÉÎÑÔÁ ÐÏÐÙÔËÁ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÐÏ×ÒÅÖÄÅÎÎÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ $1 ÎÁ $2 ÄÌÑ ÔÏÞËÉ ÍÏÎÔÉÒÏ×ÁÎÉÑ $3. åÓÌÉ ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÎÅ ÐÏ×ÒÅÖÄÅÎÁ, ÎÉËÁËÉÈ ÉÚÍÅÎÅÎÉÊ ÎÅ ÂÕÄÅÔ ÓÄÅÌÁÎÏ.
fsck_desc2=éÓÐÒÁ×ÌÅÎÉÑ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÂÕÄÕÔ ÏÓÕÝÅÓÔ×ÌÑÔÓÑ ËÏÍÁÎÄÏÊ $1, ËÏÔÏÒÁÑ ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÙÔÁÔØÓÑ ÉÓÐÒÁ×ÉÔØ ÌÀÂÙÅ ÐÒÏÂÌÅÍÙ. äÌÑ ÂÏÌÅÅ ÔÏÎËÏÇÏ ËÏÎÔÒÏÌÑ ÚÁ ÉÓÐÒÁ×ÌÅÎÉÅÍ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ ÉÓÐÏÌØÚÕÊÔÅ ËÏÍÁÎÄÕ $2 × ÉÎÔÅÒÁËÔÉ×ÎÏÍ ÒÅÖÉÍÅ, ÚÁÐÕÓËÁÑ Å£ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.
fsck_repair=÷ÏÓÓÔÁÎÏ×ÉÔØ æÁÊÌÏ×ÕÀ óÉÓÔÅÍÕ
fsck_exec=÷ÙÐÏÌÎÅÎÉÅ ËÏÍÁÎÄÙ $1 ..
fsck_err0=ÏÛÉÂÏË ÎÅ ÏÂÎÁÒÕÖÅÎÏ
fsck_err1=ÏÛÉÂËÉ ÏÂÎÁÒÕÖÅÎÙ É ÕÓÔÒÁÎÅÎÙ
fsck_err3=ÏÛÉÂËÉ ÏÂÎÁÒÕÖÅÎÙ É ÕÓÔÒÁÎÅÎÙ - ÎÅÏÂÈÏÄÉÍ ÒÅÓÔÁÒÔ ÓÉÓÔÅÍÙ
fsck_err4=ÏÛÉÂËÉ ÏÂÎÁÒÕÖÅÎÙ, ÎÏ îå ÕÓÔÒÁÎÅÎÙ
fsck_err16=ÏÛÉÂËÁ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ
fsck_unknown=ÎÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ×ÏÚ×ÒÁÔÁ $1

tunefs_title=îÁÓÔÒÏÊËÁ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ
tunefs_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÜÔÕ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ
tunefs_desc=üÔÁ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÏÄÓÔÒÁÉ×ÁÔØ ÒÁÚÌÉÞÎÙÅ ÐÁÒÁÍÅÔÒÙ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ $1 ÎÁ $2 ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ ÎÁ $3. óÕÝÅÓÔ×ÕÀÝÉÅ ÆÁÊÌÙ ÎÁ ÄÁÎÎÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ ÎÅ ÂÕÄÕÔ ÚÁÔÒÏÎÕÔÙ.
tunefs_params=ðÁÒÁÍÅÔÒÙ îÁÓÔÒÏÊËÉ
tunefs_tune=îÁÓÔÒÏÉÔØ æÁÊÌÏ×ÕÀ óÉÓÔÅÍÕ
tunefs_c=ðÒÏÐÕÓËÉ ÍÅÖÄÕ ÐÒÏ×ÅÒËÁÍÉ
tunefs_e=òÅÁËÃÉÑ ÎÁ ÏÛÉÂËÕ
tunefs_continue=ðÒÏÄÏÌÖÉÔØ
tunefs_remount=óÍÏÎÔÉÒÏ×ÁÔØ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ
tunefs_panic=ðÁÎÉËÁ
tunefs_u=úÁÒÅÚÅÒ×ÉÒÏ×ÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
tunefs_g=úÁÒÅÚÅÒ×ÉÒÏ×ÁÎÎÁÑ ÇÒÕÐÐÁ
tunefs_m=úÁÒÅÚÅÒ×ÉÒÏ×ÁÎÎÙÅ ÂÌÏËÉ
tunefs_i=÷ÒÅÍÑ ÍÅÖÄÕ ÐÒÏ×ÅÒËÁÍÉ
tunefs_days=äÎÅÊ
tunefs_weeks=îÅÄÅÌØ
tunefs_months=íÅÓÑÃÅ×
tunefs_err=ïÛÉÂËÁ ÐÒÉ ÎÁÓÔÒÏÊËÅ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ
tunefs_exec=÷ÙÐÏÌÎÅÎÉÅ ÏÍÁÎÄÙ $1 ..
tunefs_failed=.. ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÉÌÁÓØ ÎÅÕÄÁÞÎÏ!
tunefs_ok=.. ËÏÍÁÎÄÁ ÚÁ×ÅÒÛÉÌÁÓØ ÕÓÐÅÛÎÏ

reboot_title=òÅÓÔÁÒÔ óÉÓÔÅÍÙ
reboot_msg=óÉÓÔÅÍÁ ÒÅÓÔÁÒÔÕÅÔ ..
reboot_ok=òÅÓÔÁÒÔÏ×ÁÔØ ÓÅÊÞÁÓ
reboot_why=÷Ù ÉÚÍÅÎÉÌÉ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ× ÎÁ $1. äÌÑ ×ÓÔÕÐÌÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÓÉÌÕ, ×ÁÛÁ ÓÉÓÔÅÍÁ ÄÏÌÖÎÁ ÂÙÔØ ÒÅÓÔÁÒÔÏ×ÁÎÁ.

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÁÚÄÅÌÁ
save_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÄÉÓË
save_estart='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÁÞÁÌØÎÙÍ ÃÉÌÉÎÄÒÏÍ
save_eend='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÎÅÞÎÙÍ ÃÉÌÉÎÄÒÏÍ
save_emin=îÁÞÁÌØÎÙÊ ÃÉÌÉÎÄÒ ÄÏÌÖÅÎ ÂÙÔØ >= $1
save_emax=ëÏÎÅÞÎÙÊ ÃÉÌÉÎÄÒ ÄÏÌÖÅÎ ÂÙÔØ <= $1
save_eminmax=îÁÞÁÌØÎÙÊ ÃÉÌÉÎÄÒ ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ËÏÎÅÞÎÏÇÏ
save_eoverlap=ïÂÎÁÒÕÖÅÎÏ ÐÅÒÅËÒÙÔÉÅ Ó ÒÁÚÄÅÌÏÍ $1 ($2 ÄÏ $3)

ext2_b=òÁÚÍÅÒ ÂÌÏËÁ
ext2_f=òÁÚÍÅÒ ÆÒÁÇÍÅÎÔÁ
ext2_i=âÁÊÔ ÎÁ inode
ext2_m=òÅÚÅÒ×ÎÙÅ ÂÌÏËÉ
ext2_g=âÌÏËÏ× ÎÁ ÇÒÕÐÐÕ
ext2_c=ðÒÏ×ÅÒÉÔØ ÎÁ ÎÁÌÉÞÉÅ ÐÌÏÈÉÈ ÂÌÏËÏ×?

msdos_f=ëÏÌÉÞÅÓÔ×Ï FAT
msdos_F=òÁÚÍÅÒ FAT
msdos_i=ID ÔÏÍÁ
msdos_n=éÍÑ ÔÏÍÁ
msdos_r=ëÏÌ-×Ï ËÏÒÎÅ×ÙÈ ËÁÔ.
msdos_s=òÁÚÍÅÒ ËÌÁÓÔÅÒÁ
msdos_c=ðÒÏ×ÅÒÉÔØ ÎÁ ÎÁÌÉÞÉÅ ÐÌÏÈÉÈ ÂÌÏËÏ×?

minix_n=äÌÉÎÁ ÉÍÅÎ ÆÁÊÌÏ×
minix_i=ëÏÌÉÞÅÓÔ×Ï inode
minix_b=ëÏÌÉÞÅÓÔ×Ï ÂÌÏËÏ×
minix_c=ðÒÏ×ÅÒÉÔØ ÎÁ ÎÁÌÉÞÉÅ ÐÌÏÈÉÈ ÂÌÏËÏ×s?

acl_disks=äÉÓËÉ, ËÏÔÏÒÙÅ ÄÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÒÁÚÂÉ×ÁÔØ ÎÁ ÒÁÚÄÅÌÙ É ÆÏÒÍÁÔÉÒÏ×ÁÔØ
 0707010003b20c000081a40000000000000002000000013d1fe2c200001adf000000200000000000000000000000000000001400000003reloc/fdisk/lang/sv   index_title=Partitionshanterare
index_err=Det gick inte att lista diskarna
index_disk=Disk
index_parts=Partitioner
index_location=Plats
index_cylinders=Cylindrar
index_model=Modell
index_controller=Controller
index_scsiid=Mål
index_none=Hittade inga partitioner
index_num=Nr.
index_type=Typ
index_extent=Omfattning
index_start=Början
index_end=Slut
index_addpri=Lägg till primär partition
index_addlog=Lägg till logisk partition
index_addext=Lägg till utökad partition
index_hdparm=Ändra IDE-parametrar
index_raid=RAID-nivå
index_use=Använd
index_free=Ledig
index_return=disklista

bytes=bytes
extended=Utökad
opt_default=Standard
opt_error='$1' är inte en giltig $2
open_error=Kommandot $1 finns inte
select_device=$1 disk $2
select_part=$1 disk $2 partition $3
select_fd=Diskettstation $1
select_mylex=Mylex-RAID $1 disk $2
select_mpart=Mylex-RAID $1 disk $2 partition $3

edit_title=Ändra partition
create_title=Skapa partition
edit_ecannot=Du får inte ändra på denna disk
edit_ehdparm=Det körbara programmet <tt>hdparm</tt> finns inte i systemet.
edit_details=Uppgifter om partition
edit_location=Plats
edit_device=Diskfil
edit_type=Typ
edit_extent=Omfattning
edit_of=för
edit_status=Status
edit_cont1=Innehåller 1 partition
edit_cont234=Innehåller $1 partitioner
edit_cont5=Innehåller $1 partitioner
edit_mount=Monterad på $1 som $2
edit_umount=Att monteras på $1 som $2
edit_mountvm=Monterat som virtuellt minne
edit_umountvm=Att monteras som virtuellt minne
edit_mountraid=Del av RAID-disk $1
edit_notexist=Ännu ej skapad
edit_notused=Används inte
edit_size=Storlek
edit_label=Partitionsmärkning
edit_blocks=$1 block
edit_inuse=Denna partition kan inte ändras, eftersom den används eller är konfigurerad att användas
edit_mkfs=Skapa nytt filsystem
edit_mkfsmsg=Bygger ett nytt $1-filsystem på denna partition, vilket tar bort alla befintliga filer permanent. Detta måste göras när en ny partition skapas eller en befintlig ändras.
edit_fsck=Reparera filsystem
edit_fsckmsg=Använder programmet $1 för att reparera filsystemet så att det kan monteras. Detta kan vara nödvändigt att göra om systemet togs ned på ett olämpligt sätt.
edit_tune=Tune filsystem
edit_tunemsg=Detta tillåter dig att justera diverse parametrar på ett existerande filsystem.
edit_none=Inget

mkfs_title=Nytt filsystem
mkfs_ecannot=Du får inte bygga upp ett nytt filsystem på denna disk
mkfs_desc1=När du trycker på knappen längst ned kommer ett nytt $1-filsystem att byggas på disk $2. Alla data på denna partition kommer att raderas permanent.
mkfs_desc2=Denna partition har monterats på $1 som $2. När du skapar ett nytt filsystem kommer alla filer som tidigare funnits i denna katalog att tas bort.
mkfs_options=Filsysteminställningar
mkfs_create=Skapa filsystem
mkfs_err=Det gick inte att skapa filsystem
mkfs_exec=Utför kommando $1 ...
mkfs_failed=... kommandot gick inte att utföra!
mkfs_ok=... kommandot utfört.

fsck_title=Reparera filsystem
fsck_ecannot=Du får inte fsck:a denna disk
fsck_desc1=När du trycker på <tt>Reparera filsystem</tt>-knappen kommer det skadade $1-filsystemet på $2 för montering på $3 att repareras. Om filsystemet inte är skadat kommer inget att ändras.
fsck_desc2=Filsystemet kommer att repareras med kommandot $1, som automatiskt försöker ta hand om de problem det stöter på. Om du vill reparera filsystemet på ett mer kontrollerat sätt kan du istället använda kommandot $2 i interaktiv mod från Unix-prompten.
fsck_repair=Reparera filsystem
fsck_exec=Utför kommando $1 ...
fsck_err0=inga fel upptäcktes
fsck_err1=fel upptäcktes och rättades till
fsck_err3=fel upptäcktes och rättades till - nu måste du starta om
fsck_err4=fel upptäcktes MEN de rättades inte till
fsck_err16=fel i kommandoraden
fsck_unknown=okänd returkod $1

tunefs_title=Justera filsystem
tunefs_ecannot=Du får inte justera detta filsystem
tunefs_desc=I detta formulär kan du justera diverse parametrar på $1-filsystemet på $2 för montering på $3. Filer som redan finns på detta filsystem kommer inte att påverkas.
tunefs_params=Justeringsparametrar
tunefs_tune=Justera filsystem
tunefs_c=Skillnader mellan kontroller
tunefs_e=Åtgärd vid fel
tunefs_continue=Fortsätt
tunefs_remount=Montera enbart för läsning
tunefs_panic=Panik
tunefs_u=Reserverad användare
tunefs_g=Reserverad grupp
tunefs_m=Reserverade block
tunefs_i=Tidsintervall mellan kontroller
tunefs_days=Dagar
tunefs_weeks=Veckor
tunefs_months=Månader
tunefs_err=Misslyckades att justera filsystem
tunefs_exec=Utför kommando $1 ...
tunefs_failed=... kommandot gick inte att utföra!
tunefs_ok=... kommandot utfört.

reboot_title=Omstart
reboot_msg=Startar om nu ...
reboot_ok=Starta om nu
reboot_why=Du har ändrat partitionstabellen för $1. För att denna ändring ska tas i drift på ett korrekt sätt måste du starta om systemet.

save_err=Det gick inte att spara partitionen
save_ecannot=Du får inte ändra på denna disk
save_estart='$1' är inte en giltig startcylinder
save_eend='$1' är inte en giltig slutcylinder
save_emin=Startcylindern måste vara >= $1
save_emax=Slutcylindern måste vara <= $1
save_eminmax=Startcylindern måste vara ett mindre tal än slutcylindern
save_eoverlap=Detta överlappar med partition $1 ($2 - $3)

ext2_b=Blockstorlek
ext2_f=Fragmentstorlek
ext2_i=Bytes per inode
ext2_m=Reserverade block
ext2_g=Block per grupp
ext2_c=Söka efter skadade block?

msdos_f=Antal FATs
msdos_F=FAT-storlek
msdos_i=Volym-ID
msdos_n=Volymnamn
msdos_r=Root-poster
msdos_s=Klusterstorlek
msdos_c=Söka efter skadade block?

minix_n=Filnamnslängd
minix_i=Antal inoder
minix_b=Antal block
minix_c=Söka efter skadade block?

reiserfs_force=Forcera skapande av filsystem
reiserfs_hash=Hash-funktion

acl_disks=Diskar som denna användare får partitionera och formatera
acl_dall=Alla diskar
acl_dsel=Angivna ...

hdparm_title=Ändra IDE-parametrar
hdparm_on=På
hdparm_off=Av
hdparm_label=IDE-diskinställningar
hdparm_conf_X=Överföringsmod
hdparm_conf_X_defaut=Standardmod
hdparm_conf_X_disable=Deaktivera IORDY
hdparm_conf_d=Använd DMA
hdparm_conf_a=Sektorantal
hdparm_conf_A=Read-lookahead
hdparm_conf_W=Skriv-cache
hdparm_conf_u=Avbrottsbortmaskning
hdparm_conf_k=Spara inställningar vid omstart
hdparm_conf_K=Spara egenskaper vid omstart
hdparm_conf_r=Endast läsbart
hdparm_conf_P=Programmera bästa PIO
hdparm_conf_S=Tid för standby
hdparm_conf_c=32-bitars I/O-stöd
hdparm_conf_m=Sektorantal för I/O med flera sektorer
hdparm_disable=Deaktivera
hdparm_enable=Aktivera
hdparm_enable_special=Aktivera med speciell synksekvens
hdparm_apply=Utför inställningarna på disken
hdparm_speed=Testa hastighet
hdparm_performing=Utför
hdparm_buf1=Buffert-cache:
hdparm_buf2=Buffrat:
hdparm_speedres=Resultat från hastighetstest

log_modify=Ändrade $1
log_create=Skapade $1
log_delete=Tog bort $1
log_mkfs=Skapade $1 filsystem på $2
log_tunefs=Tunade $1 filsystem på $2
log_fsck=Reparerade $1 filsystem på $2
log_hdparm=Ändrade IDE-parametrar för $1
 0707010003b20d000081a40000000000000002000000013d1fe2c200001910000000200000000000000000000000000000001400000003reloc/fdisk/lang/tr   index_title=Disk Bölümleme Yöneticisi
index_err=Disklerin listelenmesinde hata oluþtu
index_disk=Disk
index_parts=Bölümler
index_location=Yer
index_cylinders=Silindirler
index_model=Model
index_raid=RAID seviyesi
index_controller=Kontrol Edici
index_scsiid=Hedef
index_none=Bölümler Bulunamadý
index_num=Numara.
index_type=Tip
index_extent=Yeri
index_start=Baþlangýç
index_end=Bitiþ
index_addpri=Birincil Bölüm Ekle
index_addlog=Mantýksal Bölüm Ekle
index_addext=Uzatýlmýþ Bölüm Ekle
index_hdparm=IDE parametrelerini deðiþtir
index_use=Kullanýlan
index_free=Boþ
index_return=disk listesi

extended=Uzatýlmýþ
opt_default=Öntanýmlý
opt_error='$1' geçerli bir $2 deðildir
select_device=$1 araç $2
select_part=$1 aracý $2 bölüm $3
select_fd=Floppy disk $1
select_mylex=Mylex RAID $1 sürücü $2
select_mpart=Mylex RAID $1 sürücü $2 disk bölümü $3

edit_title=Bölümü Deðiþtir
create_title=Bölüm Oluþtur
edit_ecannot=Bu diski deðiþtirmenize izin verilmedi
edit_details=Bölüm Ayrýntlarý
edit_location=Yer
edit_device=Araç dosyasý
edit_type=Tip
edit_extent=Yeri
edit_status=Durum
edit_mount=$1 'de $2 olarak baðlandý
edit_umount=$1 'de $2 olarak baðlamak için
edit_mountvm=Sanal bellek olarak baðlanýldý
edit_umountvm=Sanal bellek olarak baðlamak için
edit_mountraid=RAID aracý $1'in bölümü
edit_notexist=Henüz oluþturulmadý
edit_notused=Kullanýmda deðil
edit_size=Büyüklük
edit_blocks=$1 blok
edit_inuse=Bu bölüm kullanýmda olduðundan deðiþtirilemedi
edit_mkfs=Yeni dosya sistemi oluþtur
edit_fsck=Dosya Sistemini Tamir Et
edit_fsckmsg=$1 programý bir dosya sistemini tamir etmek için çaðýrýldýðýnda program baðlayabilmelidir.Eðer sisteminiz düzgün olarak kapatýlmamýþ ise bu zorunlu olabilir
edit_tune=Dosya Sistemi Düzenle
edit_tunemsg=Mevcut dosya sisteminin farklý parametrelerini deðiþtirmeye izin vermelisiniz

mkfs_title=Yeni Dosya Sistemi
mkfs_ecannot=Bu diskte yeni dosya sistei oluþturmanýz izin verilmedi
mkfs_desc1=Yeni bir $1 dosya sistemini $1 aygýtý oluþturmak için formun üzerindeki butonu tiklayiniz. Bu bölümdeki bütün bilgiler silinecektir.
mkfs_desc2=Bu bölüm $1'de $2 olarak baðlandý. Oluþturulan yeni dosya sistemi bu dizin altýndaki bütün dosyalarý silecektir.
mkfs_options=Dosya Sistemi Seçenekleri
mkfs_create=Dosya Sistemi Oluþtur
mkfs_err=Dosya sistemi oluþturulmasýnda hata oluþtu
mkfs_exec=$1 komutu çalýþtýrýlýyor ..
mkfs_failed=.. komutu oluþturuldu!
mkfs_ok=.. komut tamamlandý.

fsck_title=Dosya Sistemini Tamir Et
fsck_ecannot=Bu diski kontrol etmenize izin verilmedi
fsck_desc1=<tt>Dosya Sistemini Tamir Et</tt> butonu týklandýðýnda belirtilen dosya sistemi tamir için kontrol edilmeye baþlanacaktýr. Eðer dosya sistemi hasarlý deðilse hiçbir deðiþiklik yapýlmayacaktýr
fsck_desc2=Dosya sisteminin tamir edilmesi için kullanýlan $1 komutu bittiðinde bulunan problemler otomatik olarak tamir edilmiþ olacaktýr.Dosya sistemi tamirlerini daha çok kontrol etmek isterseniz $2 komutunu Unix komut satýrýndan uygulamalýsýnýz.
fsck_repair=Dosya Sistemini Tamir Et
fsck_exec=$1 komutu çalýþtýrýlýyor ..
fsck_err0=hata bulunmadý
fsck_err1=hata bulundu ve düzeltildi
fsck_err3=hata bulundu ve düzeltildi - makine yeniden baþlatýlmalý
fsck_err4=hata bulundu ama DÜZELTÝLEMEDÝ
fsck_err16=komut satýrý hatasý
fsck_unknown=bilinmeyen dönüþ kodu $1

tunefs_title=Dosya Sistemi Düzenleme
tunefs_ecannot=Bu dosya sitemini düzenlemeye hakkýnýz yoktur
tunefs_desc=Bu form baðlanýlan dosya sisteminin çeþitli parametrelierini deðiþtirmek için kullanýlýr.Bu dosya sisteminde varolan dosyalar etkilenmemiþ olmalýdýr
tunefs_params=Düzenleme Parametreleri
tunefs_tune=Dosya Sisteni Düzenle
tunefs_c=Kontrol arasý açýklýk
tunefs_e=Hatadaki etki
tunefs_continue=Devam
tunefs_remount=Sadece okunur olarak baðla
tunefs_panic=Panik
tunefs_u=Ayýrýlmýþ Kullanýcý
tunefs_g=Ayýrýlmýþ Grup
tunefs_m=Ayýtýlmýþ Bloklar
tunefs_i=Kontrol Arasý Süre
tunefs_days=Günler
tunefs_weeks=Haftalar
tunefs_months=Aylar
tunefs_err=Dosya sistemi düzenlemede hata oluþtu
tunefs_exec=$1 komutu çalýþtýrýlýyor..
tunefs_failed=.. komutunda hata oluþtu
tunefs_ok=.. komutu tamamlandý

reboot_title=Yeniden Baþlat
reboot_msg=Yeniden Baþlatýlýyor ..
reboot_ok=Þimdi Yeniden Baþlat
reboot_why=$1'deki disk bölüm tablosunu deðiþtirdiniz.Bu deðiþikliklerin aktif hale gelmesi için sistemin yeniden baþlatýlmasý gerekiyor.

save_err=Disk bölümünün kaydedilmesinde hata oluþtu
save_ecannot=Bu diski deðiþtirilmenize izin verilmedi
save_estart='$1' geçerli bir baþlangýç silindiri deðildir
save_eend='$1' geçerli bir bitiþ silindiri deðildir
save_emin=Baþlangýç silindiri >= $1 olmalýdýr
save_emax=Bitiþ silindiri <= $1 olmalýdýr
save_eminmax=Baþlangýç silindirinin numarasý son silindir numarasýndan daha küçük olmalýdýr
save_eoverlap=$1 'de üstüste binme tespit edildi ($2 to $3)

ext2_b=Blok boyutu
ext2_f=Parça boyutu
ext2_i=Düðüm baþýna byte
ext2_m=Ayýtýlmýþ bloklar
ext2_g=Grup baþýna blok
ext2_c=Kötü bloklar sýnansýn mý?

msdos_f=FAT'larýn sayýsý
msdos_F=FAT boyutu
msdos_i=Boyut ID'si
msdos_n=Boyut ismi
msdos_r=Kök giriþleri
msdos_s=Cluster boyutu
msdos_c=Kötü bloklar sýnansýn mý?

minix_n=Dosya ismi uzunluðu
minix_i=Düðümlerin sayýsý
minix_b=Blok sayýsý
minix_c=Kötü bloklar sýnansýn mý?

acl_disks=Bu kullanýcý diskleri bölebilir ve biçimlendirebilir

hdparm_title=IDE parametrelerini deðiþtir
hdparm_on=Açýk
hdparm_off=Kapalý
hdparm_label=IDE Sürücü Özellikleri
hdparm_conf_X=Taþýma tarzý
hdparm_conf_X_defaut=Öntanýmlý Tarz
hdparm_conf_X_disable=IORDY'yi çalýþtýrma
hdparm_conf_d=DMA kullanýyor
hdparm_conf_a=Sektör sayýsý
hdparm_conf_A=Okunabilir kafa
hdparm_conf_W=Yazma önbelleði
hdparm_conf_u=Kesme açmasý
hdparm_conf_k=Reset'ten önce yapýyý sakla
hdparm_conf_K=Reset'ten önce ayarlarý sakla
hdparm_conf_r=Sadece okunabilir
hdparm_conf_P=Tekrar programlanabilr PIO
hdparm_conf_S=Bekleme süresi
hdparm_conf_c=32-bit G/Ç desteði
hdparm_conf_m=Çok yönlü sektör G/Ç için sektör sayýsý
hdparm_disable=Çalýþtýrma
hdparm_enable=Çalýþtýr
hdparm_enable_special=Özel sýralý eþ zamanlama ile çalýþtýr
hdparm_apply=Sürücüye Uygula
hdparm_speed=Test Hýzý
hdparm_performing=Yerine Getirme
hdparm_buf1=Tamponlandý:
hdparm_buf2=Tamponlanan ön bellek:
hdparm_speedres=Hýz testi sonuçlarý

log_modify=$1 deðiþtirildi
log_create=$1 oluþturuldu
log_delete=$1 silindi
log_mkfs=$2'de $1 dosya sistemi oluþturuldu
log_tunefs=$2'de $1 dosya sistemi düzenlendi
log_fsck=$2'de $1 dosya sistemi tamir edildi
log_hdparm=$1 için IDE parametreleri deðiþtirildi

0707010003b20e000081a40000000000000002000000013d1fe2c20000131c000000200000000000000000000000000000001700000003reloc/fdisk/lang/zh_CN    index_title=·ÖÇø¹ÜÀíÆ÷
index_err=Î´ÄÜÁÐ³ö´ÅÅÌ
index_disk=´ÅÅÌ
index_parts=·ÖÇø
index_location=Î»ÖÃ
index_cylinders=ÖùÃæÊý
index_model=ÐÍºÅ
index_raid=RAID ¼¶±ð
index_controller=¿ØÖÆÆ÷
index_scsiid=Ä¿±ê
index_none=·ÖÇø²»´æÔÚ
index_num=±êºÅ
index_type=ÀàÐÍ
index_extent=·¶Î§
index_start=¿ªÊ¼ÓÚ
index_end=½áÊøÓÚ
index_addpri=Ìí¼ÓÖ÷·ÖÇø
index_addlog=Ìí¼ÓÂß¼­·ÖÇø
index_addext=Ìí¼ÓÀ©Õ¹·ÖÇø
index_hdparm=±à¼­IDEÓ²ÅÌ²ÎÊý
index_use=ÓÃÍ¾
index_free=¿ÕÏÐ
index_return=´ÅÅÌÁÐ±í
extended=À©Õ¹
opt_default=È±Ê¡
opt_error='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ'$2'
select_device=$1Éè±¸$2
select_part=$1 Éè±¸ $2 ·ÖÇø $3
select_fd=ÈíÅÌ$1
select_mylex=Mylex ´ÅÅÌÕóÁÐ $1 Çý¶¯Æ÷ $2
select_mpart=Mylex ´ÅÅÌÕóÁÐ $1 Çý¶¯Æ÷ $2 ·ÖÇø $3
edit_title=±à¼­·ÖÇø
create_title=´´½¨·ÖÇø
edit_ecannot=ÄúÃ»ÓÐ±à¼­¸Ã·ÖÇøµÄÈ¨ÏÞ
edit_details=·ÖÇøÏêÇé
edit_location=Î»ÖÃ
edit_device=Éè±¸ÎÄ¼þ
edit_type=ÀàÐÍ
edit_extent=·¶Î§
edit_status=×´Ì¬
edit_mount=ÒÔ$2µÄÀàÐÍ×°µ½$1ÉÏ
edit_umount=ÎªÁËÒÔ$2µÄÀàÐÍ×°µ½$1ÉÏ
edit_mountvm=ÒÔÐéÄâÄÚ´æ×°µ½ÎÄ¼þÏµÍ³ÉÏ
edit_umountvm=ÎªÁËÒÔÐéÄâÄÚ´æ×°µ½ÎÄ¼þÏµÍ³ÉÏ
edit_mountraid=´ÅÅÌÕóÁÐ $1 µÄÒ»²¿·Ö
edit_notexist=»¹Ã»ÓÐ´´½¨
edit_notused=Ã»ÓÐ±»Ê¹ÓÃ
edit_size=´óÐ¡
edit_label=·ÖÇø¾í±ê
edit_blocks=$1 ¿é
edit_inuse=·ÖÇøÕýÔÚÊ¹ÓÃ»ò±»ÅäÖÃÊ¹ÓÃ£¬²»ÄÜÐÞ¸Ä
edit_mkfs=´´½¨ÐÂÎÄ¼þÏµÍ³
edit_mkfsmsg=ÔÚ´Ë·ÖÇøÉÏ´´½¨ÐÂµÄ $1 ÎÄ¼þÏµÍ³£¬ÓÀ¾ÃÐÔÉ¾³ýÈÎºÎÏÖ´æµÄÎÄ¼þ¡£Äú±ØÐëÔÚ´´½¨ÐÂ·ÖÇø»ò¸ü¸ÄÏÖÓÐ·ÖÇøºó´´½¨ÐÂµÄ $1 ÎÄ¼þÏµÍ³¡£
edit_fsck=ÐÞ¸´ÎÄ¼þÏµÍ³
edit_fsckmsg=µ÷ÓÃ$1³ÌÐòÀ´ÐÞ¸´ÎÄ¼þÏµÍ³£¬´Ó¶øÊ¹¸ÃÎÄ¼þÏµÍ³ÄÜ¹»±»×°ÉÏ¡£Èç¹ûÄúµÄÏµÍ³²»ÊÇÕý³£¹Ø±Õ£¬¿ÉÄÜ±ØÐëÐÞ¸´¡£
edit_tune=µ÷ÕûÎÄ¼þÏµÍ³
edit_tunemsg=ÔÊÐíÄúÐÞ¸ÄÒÑÓÐÎÄ¼þÏµÍ³µÄ¸÷ÖÖ²ÎÊý
mkfs_title=ÐÂÎÄ¼þÏµÍ³
mkfs_ecannot=ÄúÃ»ÓÐÔÚ¸Ã´ÅÅÌÉÏ´´½¨ÐÂµÄÎÄ¼þÏµÍ³µÄÈ¨ÏÞ
mkfs_desc1=µã»÷´Ë±íµ×²¿µÄ°´Å¥½«ÔÚÉè±¸$2ÉÏ´´½¨Ò»¸öÐÂµÄ$1ÎÄ¼þÏµÍ³¡£´Ë·ÖÇøÉÏµÄËùÓÐÊý¾Ý¶¼»á±»³¹µ×É¾³ý¡£
mkfs_desc2=´Ë·ÖÇøÒÑ¾­×÷Îª $2 ×°µ½ $1ÉÏ¡£´´½¨Ò»¸öÐÂµÄÎÄ¼þÏµÍ³½«»áÉ¾³ý´ËÄ¿Â¼ÏÂÃæµÄÒÔÇ°¿É·ÃÎÊµÄËùÓÐÎÄ¼þ¡£
mkfs_options=ÎÄ¼þÏµÍ³Ñ¡Ïî
mkfs_create=´´½¨ÎÄ¼þÏµÍ³
mkfs_err=´´½¨ÎÄ¼þÏµÍ³Ê§°Ü
mkfs_exec=Ö´ÐÐÃüÁî$1...
mkfs_failed=..ÃüÁîÔËÐÐ´íÎó!
mkfs_ok=..ÃüÁîÔËÐÐ½áÊø¡£
fsck_title=ÐÞ¸´ÎÄ¼þÏµÍ³
fsck_ecannot=ÄúÃ»ÓÐÓÃfsckÐÞ¸´¸Ã´ÅÅÌµÄÈ¨ÏÞ
fsck_desc1=µã»÷<tt>ÐÞ¸´ÎÄ¼þÏµÍ³</tt>°´Å¥¿ÉÒÔ¾¡Á¿ÐÞ¸´ $2 ÉÏÒÑËð»µµÄÎÄ¼þÏµÍ³ $1£¬Ê¹Ö®ÄÜ×°µ½ $3 ÉÏ¡£Èç¹ûÎÄ¼þÏµÍ³Ã»ÓÐÔâµ½Ëð»µ£¬ÏµÍ³½«²»×÷ÈÎºÎ¸Ä±ä¡£
fsck_desc2=½«Ê¹ÓÃÃüÁî $1 ½øÐÐÎÄ¼þÏµÍ³ÐÞ¸´¡£¸ÃÃüÁî½«ÊÔ×ÅÐÞ¸´Ã¿Ò»¸ö·¢ÏÖµÄÎÊÌâ¡£ÒªÏë½øÒ»²½¿ØÖÆÎÄ¼þÏµÍ³£¬Ê¹ÓÃÃüÁî $2£¬ÔÚ UNIX ÌáÊ¾·ûÏÂÒÔ½»»¥Ä£Ê½ÊÖ¹¤»Ö¸´¡£
fsck_repair=ÐÞ¸´ÎÄ¼þÏµÍ³
fsck_exec=Ö´ÐÐÃüÁî $1..
fsck_err0=Ã»ÓÐ·¢ÏÖÈÎºÎ´íÎó
fsck_err1=·¢ÏÖ´íÎó²¢¾ÀÕý
fsck_err3=·¢ÏÖ´íÎó²¢¾ÀÕý--ÐèÒª´ÓÐÂÆô¶¯»úÆ÷
fsck_err4=·¢ÏÖ´íÎóµ«Ã»ÓÐ¾ÀÕý
fsck_err16=ÃüÁîÐÐ´íÎó
fsck_unknown=Î´ÖªµÄ·µ»Ø´úÂë$1
tunefs_title=µ÷ÕûÎÄ¼þÏµÍ³	
tunefs_ecannot=ÄúÃ»ÓÐµ÷Õû¸ÃÎÄ¼þÏµÍ³µÄÈ¨ÏÞ
tunefs_desc=´Ë±í¸ñÔÊÐíÄúµ÷ÕûÔÚ $2 ÉÏµÄÎÄ¼þÏµÍ³ $1 µÄ²»Í¬²ÎÊý£¬ÒÔ±ã½«Æä×°µ½ $3ÉÏ¡£´ËÎÄ¼þÏµÍ³ÉÏµÄÈÎºÎÎÄ¼þ¶¼²»»áÊÜµ½Ó°Ïì¡£
tunefs_params=µ÷Õû²ÎÊý
tunefs_tune=µ÷ÕûÎÄ¼þÏµÍ³
tunefs_c=²âÊÔ¼äÏ¶
tunefs_e=³ö´íÊ±µÄÐÐ¶¯
tunefs_continue=¼ÌÐø
tunefs_remount=×°ÈëÎªÖ»¶Á
tunefs_panic=²»¿ÉÀí½âµÄ´íÎó
tunefs_u=±£ÁôÓÃ»§
tunefs_g=±£Áô×é
tunefs_m=±£Áô¿é
tunefs_i=²âÊÔ¼ä¸ôÊ±¼ä
tunefs_days=Ìì
tunefs_weeks=ÐÇÆÚ
tunefs_months=ÔÂ
tunefs_err=µ÷ÕûÎÄ¼þÏµÍ³Ê§°Ü
tunefs_exec=Ö´ÐÐÃüÁî $1...
tunefs_failed=..ÃüÁîÊ§°Ü!
tunefs_ok=..ÃüÁî½áÊø¡£
reboot_title=ÖØÆô¼ÆËã»ú
reboot_msg=ÏÖÔÚÕýÔÚÖØÆô..
reboot_ok=ÏÖÔÚÖØÆô
reboot_why=ÄúÒÑ¾­ÐÞ¸ÄÁË$1ÉÏµÄ·ÖÇø±í.ÎªÊ¹ÐÞ¸ÄÉúÐ§£¬ÄúµÄÏµÍ³±ØÐèÖØÐÂÆô¶¯¡£
save_err=±£´æ·ÖÇøÊ§°Ü
save_ecannot=ÄúÃ»ÓÐ±à¼­´Ë´ÅÅÌµÄÈ¨ÏÞ
save_estart='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ¿ªÊ¼ÖùÃæ
save_eend='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ½áÊøÖùÃæ
save_emin=¿ªÊ¼ÖùÃæ´óÐ¡±ØÐë´óÓÚ»òÕßµÈÓÚ$1
save_emax=½áÊøÖùÃæ´óÐ¡±ØÐëÐ¡ÓÚ»òÕßµÈÓÚ$1
save_eminmax=¿ªÊ¼ÖùÃæ´óÐ¡±ØÐëÐ¡ÓÚ½áÊøÖùÃæ
save_eoverlap=¼ì²âµ½Óë·ÖÇø $1( $2 µ½ $3)ÖØµþ
ext2_b=¿é´óÐ¡
ext2_f=ËéÆ¬´óÐ¡
ext2_i=Ã¿¸öinode×Ö½ÚÊý
ext2_m=±£Áô¿é
ext2_g=Ã¿×é¿éÊý
ext2_c=ÊÇ·ñ¼ì²â»µ¿é£¿
msdos_f=FATÎÄ¼þÏµÍ³ÊýÄ¿
msdos_F=FAT´óÐ¡
msdos_i=¾í±ê±êÊ¶ºÅ
msdos_n=¾í±êÃû³Æ
msdos_r=¸ùÏîÊý
msdos_s=´Ø´óÐ¡
msdos_c=ÊÇ·ñ¼ì²â»µ¿é£¿
minix_n=ÎÄ¼þÃû³¤¶È
minix_i=½ÚµãÊýÄ¿
minix_b=¿éÊýÄ¿
minix_c=ÊÇ·ñ¼ì²â»µ¿é£¿
acl_disks=¸ÃÓÃ»§ÄÜ¹»·ÖÇøºÍ¸ñÊ½»¯µÄ´ÅÅÌ
acl_dall=ËùÓÐ´ÅÅÌ
acl_dsel=Ñ¡Ôñ..
hdparm_title=ÐÞ¸Ä IDE ²ÎÊý
hdparm_on=¿ª
hdparm_off=¹Ø
hdparm_label=IDE Çý¶¯Æ÷ÉèÖÃ
hdparm_conf_X=´«ÊäÄ£Ê½
hdparm_conf_X_defaut=È±Ê¡Ä£Ê½
hdparm_conf_X_disable=¹Ø±Õ IORDY
hdparm_conf_d=Ê¹ÓÃÄÚ´æÖ±½Ó·ÃÎÊ(DMA)	
hdparm_conf_a=ÉÈÇø¼ÆÊý
hdparm_conf_A=ÏòÇ°Ô¤¶Á
hdparm_conf_W=Ð´»º´æ
hdparm_conf_u=ÖÐ¶ÏÈ¡ÏûÑÚÂë
hdparm_conf_k=¸´Î»ºó±£ÁôÉèÖÃ
hdparm_conf_K=¸´Î»ºó±£ÁôÉèÖÃ
hdparm_conf_r=Ö»¶Á
hdparm_conf_P=¿É±à³ÌµÄ×î¼Ñ PIO
hdparm_conf_S=´ýÃü³¬Ê±
hdparm_conf_c=32Î» I/O Ö§³Ö
hdparm_conf_m=¶àÉÈÇø I/O µÄÉÈÇø¼ÆËã
hdparm_disable=½ûÓÃ
hdparm_enable=ÆôÓÃ
hdparm_enable_special=ÒÔÌØÊâµÄÍ¬²½ÐòÁÐÆôÓÃ
hdparm_apply=Ó¦ÓÃÓÚÇý¶¯Æ÷
hdparm_speed=²âÊÔËÙ¶È
hdparm_performing=Ö´ÐÐ
hdparm_buf1=»º´æ£º
hdparm_buf2=´ÅÅÌ»º³å£º
hdparm_speedres=ËÙ¶È²âÊÔ½á¹û
log_modify=ÐÞ¸Ä $1
log_create=´´½¨ $1
log_delete=É¾³ý $1
log_mkfs=ÔÚ $2 ÉÏ´´½¨ÎÄ¼þÏµÍ³ $1
log_tunefs=ÔÚ $2 ÉÏµ÷ÕûÎÄ¼þÏµÍ³ $1
log_fsck=ÐÞ¸´ $2 ÉÏµÄÎÄ¼þÏµÍ³ $1
log_hdparm=ÐÞ¸Ä $1 µÄ IDE ²ÎÊý
0707010003b20f000081a40000000000000002000000013d1fe2c1000012dc000000200000000000000000000000000000001c00000003reloc/fdisk/lang/zh_TW.Big5   index_title=ºÏºÐ¤À³Î°ÏºÞ²zªÌ
index_err=¦C¥XºÏºÐ¥¢±Ñ
index_disk=ºÏºÐ
index_parts=¤À³Î°Ï
index_location=¦ì¸m
index_cylinders=Cylinders
index_model=«¬¸¹
index_raid=ºÏºÐ°}¦Cµ¥¯Å (RAID)
index_controller=±±¨î¾¹
index_scsiid=¥Ø¼Ð
index_none=§ä¤£¨ì¤À³Î°Ï
index_num=½s¸¹
index_type=Ãþ§O
index_extent=½d³ò
index_start=°_ÂI
index_end=²×ÂI
index_addpri=¼W¥[¥D­n¤À³Î°Ï (primary)
index_addlog=¼W¥[ÅÞ¿è¤À³Î°Ï (logical)
index_addext=¼W¥[©µ¦ù¤À³Î°Ï (extended)
index_hdparm=½s¿è IDE °Ñ¼Æ
index_return=ºÏºÐ¦Cªí

extended=©µ¦ù¤À³Î°Ï
opt_default=¹w³]
opt_error='$1' ¤£¬O¤@­Ó¦³®Äªº $2
select_device=$1 ºÏºÐ $2
select_part=$1 ºÏºÐ $2 ¤À³Î°Ï $3
select_fd=³nºÐ $1
select_mylex=Mylex ºÏºÐ°}¦C $1 ºÏºÐ $2
select_mpart=Mylex ºÏºÐ°}¦C $1 ºÏºÐ $2 ¤À³Î°Ï $3

edit_title=½s¿è¤À³Î°Ï
create_title=«Ø¥ß¤À³Î°Ï
edit_ecannot=±z¤£³Q¤¹³\½s¿è³o­ÓºÏºÐ
edit_details=¤À³Î°Ï¸Ô²Ó¸ê®Æ
edit_location=¦ì¸m
edit_device=³]³Æ±±¨îÀÉ
edit_type=Ãþ§O
edit_extent=½d³ò
edit_status=ª¬ºA
edit_mount=±¾¸ü¦b $1 ¥H $2
edit_umount=¥Î©ó±¾¸ü¨ì $1 ¥H $2
edit_mountvm=¥HµêÀÀ°O¾ÐÅé±¾¸ü
edit_umountvm=¥Î©ó±¾¸ü¦¨µêÀÀ°O¾ÐÅé
edit_mountraid=ºÏºÐ°}¦C $1 ªº³¡¤À
edit_notexist=©|¥¼«Ø¥ß
edit_notused=¤£¦b¨Ï¥Î¤¤
edit_size=¤j¤p
edit_blocks=$1 ­Ó°Ï¶ô
edit_inuse=³o­Ó¤À³Î°ÏµLªk³QÅÜ§ó, ¦]¬°¥¦¥¿³Q¨Ï¥Î¤¤
edit_mkfs=«Ø¥ß·sªºÀÉ®×¨t²Î
edit_mkfsmsg=¦b³o­Ó¤À³Î°Ï¤W«Ø¥ß¤@­Ó·sªºÀÉ®×¨t²Î, ¥Ã¤[ªº§R°£¥Ø«e¦s¦bªºÀÉ®×. ¦b±z«Ø¥ß©ÎÅÜ§ó¤@­Ó¤À³Î°Ï¤§«á, ±z¥²¶·¥ý°õ¦æ³o­Ó¥\¯à.
edit_fsck=­×´_ÀÉ®×¨t²Î
edit_fsckmsg=©I¥s $1 µ{¦¡¥H­×´_³o­ÓÀÉ®×¨t²Î, µM«á³o­ÓÀÉ®×¨t²Î¤~¯à³Q±¾¸ü. ¦pªG±z¨S¦³¥¿½TªºÃö¾÷ªº¸Ü, ³o­Ó°Ê§@±N¬O¥²­nªº.
edit_tune=½Õ¾ãÀÉ®×¨t²Î
edit_tunemsg=¤¹³\±zÅÜ§ó¤@­Ó¦s¦bªºÀÉ®×¨t²Îªº¬ÛÃö°Ñ¼Æ.

mkfs_title=·s¼WÀÉ®×¨t²Î
mkfs_ecannot=±z¤£³Q¤¹³\¦b³o­ÓºÏºÐ¤W«Ø¥ß¤@­Ó·sªºÀÉ®×¨t²Î
mkfs_desc1=«ö¤U³o­Óªí³æ©³³¡ªº«ö¶s±N·|«Ø¥ß¤@­Ó·sªº $1 ÀÉ®×¨t²Î¦bºÏºÐ $2 ¤W. ©Ò¦³¦b³o­ÓÀÉ®×¨t²Î¤WªºÀÉ®×±N·|³Q¥Ã¤[ªº§R°£.
mkfs_desc2=³o­Ó¤À³Î°Ï¤w¸g³Q±¾¸ü¦b $1 ¥H $2. «Ø¥ß¤@­Ó·sªºÀÉ®×¨t²Î±N·|§R°£©Ò¦³¤§«e¥i¥H¦s¨úªºÀÉ®×.
mkfs_options=ÀÉ®×¨t²Î¿ï¶µ
mkfs_create=«Ø¥ßÀÉ®×¨t²Î
mkfs_err=«Ø¥ßÀÉ®×¨t²Î¥¢±Ñ
mkfs_exec=°õ¦æ©R¥O $1 ¤¤...
mkfs_failed=... ©R¥O¥¢±Ñ!
mkfs_ok=... §¹¦¨.

fsck_title=­×´_ÀÉ®×¨t²Î
fsck_ecannot=±z¤£³Q¤¹³\¦b³o­ÓºÏºÐ¤W°õ¦æ fsck
fsck_desc1=«ö¤U<tt>­×´_ÀÉ®×¨t²Î</tt>«ö¶s±N·|­×´_·lÃaªº $1 ÀÉ®×¨t²Î¦b $2 ¤W, ¨Ã¥Î¥H±¾¸ü©ó $3. ¦pªGÀÉ®×¨t²Î¨S¦³·lÃa, ±N¤£·|¦³¥ô¦óÅÜ§ó.
fsck_desc2=ÀÉ®×¨t²Î­×´_±N·|¥Ñ©R¥O $1 §¹¦¨, ³o±N¦Û°Êªº­×´_¥ô¦óµo²{ªº°ÝÃD. ¦pªG±z§Æ±æ¯à¦Û¦æ±±¨îÀÉ®×¨t²Îªº­×´_, ½Ð¦b Unix ¨t¸¥¤º¤â°Ê°õ¦æ $2 ©R¥O.
fsck_repair=­×´_ÀÉ®×¨t²Î
fsck_exec=°õ¦æ©R¥O $1 ¤¤...
fsck_err0=¨S¦³§ä¨ì¥ô¦ó¿ù»~
fsck_err1=§ä¨ì¿ù»~¨Ã­×¥¿§¹²¦
fsck_err3=§ä¨ì¿ù»~¨Ã­×¥¿§¹²¦ - »Ý­n­«·s¶}¾÷
fsck_err4=§ä¨ì¿ù»~, ¦ýµLªk­×´_
fsck_err16=©R¥O¦æ¿ù»~
fsck_unknown=¥¼ª¾ªº¶Ç¦^­È $1

tunefs_title=½Õ¾ãÀÉ®×¨t²Î
tunefs_ecannot=±z¤£³Q¤¹³\½Õ¾ãÀÉ®×¨t²Î
tunefs_desc=³o­Óªí³æ¥i¥HÅý±z½Õ¾ã$1 ÀÉ®×¨t²Î¦b $2 ¤W, ¨Ã¥Î¥H±¾¸ü©ó $3 ªº¬ÛÃö¿ï¶µ. ²{¦s©óÀÉ®×¨t²Î¤WªºÀÉ®×±N¤£·|¨ü¨ì¼vÅT.
tunefs_params=½Õ¾ã°Ñ¼Æ
tunefs_tune=½Õ¾ãÀÉ®×¨t²Î
tunefs_c=ÀË¬d¶¡¶Z
tunefs_e=µo¥Í¿ù»~®Éªº°Ê§@
tunefs_continue=Ä~Äò¨Ï¥Î
tunefs_remount=¥H°ßÅª±¾¸ü
tunefs_panic=Äµ§i
tunefs_u=«O¯dªº¨Ï¥ÎªÌ
tunefs_g=«O¯dªº¸s²Õ
tunefs_m=«O¯dªº°Ï¶ô
tunefs_i=ÀË¬d®É¶¡¶¡¹j
tunefs_days=¤é
tunefs_weeks=©P
tunefs_months=¤ë
tunefs_err=½Õ¾ãÀÉ®×¨t²Î¥¢±Ñ
tunefs_exec=°õ¦æ©R¥O $1 ¤¤...
tunefs_failed=... ©R¥O¥¢±Ñ!
tunefs_ok=... ©R¥O§¹¦¨.

reboot_title=­«·s±Ò°Ê¨t²Î
reboot_msg=­«·s±Ò°Ê¤¤...
reboot_ok=¥ß¨è­«·s±Ò°Ê¨t²Î
reboot_why=±z¤w¸gÅÜ§ó¤F $1 ¤W­±ªº¤À³Î°Ï. ¬°¤F­nÅý³o­ÓÅÜ§ó¯à¥¿½Tªº²£¥Í®ÄªG, ±z¥²¶·­n­«·s±Ò°Ê¨t²Î.

save_err=Àx¦s¤À³Î°Ï¥¢±Ñ
save_ecannot=±z¤£³Q¤¹³\½s¿è³o­ÓºÏºÐ
save_estart='$1' ¤£¬O¤@­Ó¦³®Äªº°_ÂI cylinder ­È
save_eend='$1' ¤£¬O¤@­Ó¦³®Äªº²×ÂI cylinder ­È
save_emin=°_ÂI cylinder ­È¥²¶· >= $1
save_emax=²×ÂI cylinder ­È¥²¶· <= $1
save_eminmax=°_ÂIªº cylinder ­È¥²¶·¤ñ²×ÂI cylinder ­È¤p
save_eoverlap=¦b¤À³Î°Ï $1 µo²{­«Å|($2 »P $3)

ext2_b=°Ï¶ô¤j¤p
ext2_f=¸H¤ù¤j¤p
ext2_i=¨C­Ó¸`ÂIªº¦ì¤¸²Õ
ext2_m=«O¯dªº°Ï¶ô
ext2_g=¨C­Ó¸s²Õªº°Ï¶ô
ext2_c=¬O§_ÀË¬d·lÃaªº°Ï¶ô?

msdos_f=FAT ªº¼Æ¥Ø
msdos_F=FAT ¤j¤p
msdos_i=Àx¦sÅé½s¸¹
msdos_n=Àx¦sÅé¦WºÙ
msdos_r=®Ú¥Ø¿ý¶i¤JÂI
msdos_s=Cluster ¤j¤p
msdos_c=¬O§_ÀË¬d·lÃaªº°Ï¶ô?

minix_n=ÀÉ¦Wªø«×
minix_i=¸`ÂI¼Æ
minix_b=°Ï¶ô¼Æ
minix_c=¬O§_ÀË¬d·lÃaªº°Ï¶ô?

acl_disks=³o­Ó¨Ï¥ÎªÌ¥i¥H¤À³Î»P®æ¦¡¤ÆªººÏºÐ

hdparm_title=½s¿è IDE °Ñ¼Æ
hdparm_on=¶}
hdparm_off=Ãö
hdparm_label=IDE ³]³Æ³]©w
hdparm_conf_X=¶Ç¿é¼Ò¦¡
hdparm_conf_X_defaut=¹w³]¼Ò¦¡
hdparm_conf_X_disable=Ãö³¬ IORDY
hdparm_conf_d=¨Ï¥Îª½±µ°O¾ÐÅé¦s¨ú
hdparm_conf_a=ºÏ°Ï­p¼Æ
hdparm_conf_A=¹w¥ýÅª¨ú
hdparm_conf_W=¼g¤J§Ö¨ú
hdparm_conf_u=¤¤Â_¾B¸n
hdparm_conf_k=­«³]®É«O¯d¥\¯à
hdparm_conf_K=­«³]®É«O¯d³]©w
hdparm_conf_r=°ßÅª
hdparm_conf_P=­«·s³]©w³Ì¨Îªº PIO
hdparm_conf_S=«Ý©R¹O®É
hdparm_conf_c=32 ¦ì¤¸ªº I/O ¤ä´©
hdparm_conf_m=¦h­«ºÏ°Ï¿é¥X¤JªººÏ°Ï­p¼Æ
hdparm_disable=Ãö³¬
hdparm_enable=¨Ï¥Î
hdparm_enable_special=¨Ï¥Î¯S§Oªº¦P¨B¶¶§Ç
hdparm_apply=®M¥Î¨ì³]³Æ
hdparm_speed=´ú¸Õ³t«×
hdparm_performing=¹w®æ¦¡¤Æ
hdparm_buf1=½w½Äªº¸ê®Æ:
hdparm_buf2=½w½Ä°Ï§Ö¨ú:
hdparm_speedres=³t«×´ú¸Õµ²ªG
07070100036da8000081a40000000000000002000000013d1fe2c200000623000000200000000000000000000000000000001a00000003reloc/fdisk/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'fdisk-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'part') {
	return &text("log_${action}", &part_name2($object, $p->{'np'}));
	}
elsif ($action eq 'mkfs' || $action eq 'tunefs' || $action eq 'fsck') {
	return &text("log_${action}", "<tt>".uc($p->{'type'})."</tt>",
		     &part_name($object));
	}
elsif ($action eq 'hdparm') {
	return &text('log_hdparm', &device_name($object));
	}
else {
	return undef;
	}
}

sub part_name2
{
return $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), $_[1]) :
       $_[0] =~ /rd\/c(\d+)d(\d+)$/ ?
	&text('select_mpart', "$1", "$2", $_[1]) :
       $_[0] =~ /ida\/c(\d+)d(\d+)$/ ?
	&text('select_cpart', "$1", "$2", $_[1]) :
	$_[0];
}

sub part_name
{
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
	$_[0];
}

sub device_name
{
return $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)$/ ?
	&text('select_mylex', "$1", "$2") :
       $_[0] =~ /ida\/c(\d+)d(\d+)$/ ?
	&text('select_cpq', "$1", "$2") :
	$_[0];
}
 07070100036da9000081e40000000000000002000000013d1fe2c2000000d2000000200000000000000000000000000000001900000003reloc/fdisk/make_tags.pl  #!/usr/bin/perl

while(<STDIN>) {
	s/\s/ /g;
	$list .= $_;
	}

while($list =~ /^\s*([a-z0-9]{1,2})\s+(.{15})(.*)$/) {
	$code = $1; $name = $2; $list = $3;
	$name =~ s/\s+$//;
	print "'$code' => '$name',\n";
	}
  07070100036daa000081e40000000000000002000000013d1fe2c200000353000000200000000000000000000000000000001500000003reloc/fdisk/mkfs.cgi  #!/usr/local/bin/perl
# mkfs.cgi
# Where the new filesystem actually gets created.

require './fdisk-lib.pl';
&foreign_require("proc", "proc-lib.pl");

&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'mkfs_ecannot'});
&error_setup($text{'mkfs_err'});
$cmd = &mkfs_parse($in{type}, $in{dev});
$| = 1;
$theme_no_table = 1;
&header($text{'mkfs_title'}, "");
print "<hr>\n";

$label = &get_label($in{'dev'});

print &text('mkfs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
&foreign_call("proc", "safe_process_exec_logged",
	      $cmd, 0, 0, STDOUT, undef, 1, 1);
print "</pre>\n";

if ($?) { print "<b>$text{'mkfs_failed'}</b> <p>\n"; }
else { print "$text{'mkfs_ok'} <p>\n"; }
if ($label) {
	&set_label($in{'dev'}, $label, $in{'type'});
	}
&webmin_log("mkfs", undef, $in{'dev'}, \%in);

print "<hr>\n";
&footer("", $text{'index_return'});
 07070100036dab000081e40000000000000002000000013d1fe2c2000003e7000000200000000000000000000000000000001a00000003reloc/fdisk/mkfs_form.cgi #!/usr/local/bin/perl
# newfs_form.cgi
# Display a form asking for the parameters of a new filesystem

require './fdisk-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'mkfs_ecannot'});
&header($text{'mkfs_title'}, "");
print "<hr>\n";

print "<form action=mkfs.cgi>\n";
print "<input type=hidden name=dev value=\"$in{dev}\">\n";
print "<input type=hidden name=type value=\"$in{type}\">\n";

print &text('mkfs_desc1', "<b>".&fstype_name($in{type})."</b>",
	    "<b><tt>$in{dev}</tt></b>"),"<p>\n";

if ((@stat = &device_status($in{dev})) && $stat[1] ne "swap") {
	print &text('mkfs_desc2', "<tt>$stat[0]</tt>",
		    &fstype_name($in{type})),"<p>\n";
	}

print "<table border>\n";
print "<tr $tb><td><b>$text{'mkfs_options'}</b></td> </tr>\n";
print "<tr $cb><td><table cellpadding=5>\n";
&mkfs_options($in{type});
print "</table></td></tr></table><br>\n";

print "<input type=submit value=\"$text{'mkfs_create'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100036dac000081a40000000000000002000000013d1fe2ea000002fa000000200000000000000000000000000000001800000003reloc/fdisk/module.info   desc_ru_SU=íÅÎÅÄÖÅÒ òÁÚÄÅÌÏ×
risk=high
desc_ko_KR.euc=Áö¿ª µð½ºÅ© ÆÄÆ¼¼Ç 
desc_zh_TW.Big5=¥»¾÷ºÏºÐ¤À³Î°Ï
desc_pl=Partycje na lokalnych dyskach
desc_de=Festplatten-Partitionen
name=Partition Manager
desc_zh_CN=±¾µØ´ÅÅÌ·ÖÇø
desc_pt=Partições em Discos Locais
category=hardware
desc_tr=Yerel Diskteki Bölümler
os_support=redhat-linux mandrake-linux slackware-linux debian-linux suse-linux open-linux turbo-linux corel-linux cobalt-linux msc-linux generic-linux gentoo-linux
desc=Partitions on Local Disks
desc_es=Particiones en Discos Locales
desc_sv=Partitionshanterare
desc_fr=Partition sur Disque Local
desc_ja_JP.euc=¥í¡¼¥«¥ë ¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
depends=mount proc raid 0.990
version=0.990
desc_ca=Particions dels Discs Locals
desc_ru_RU=Ìåíåäæåð Ðàçäåëîâ
  07070100036dad000081e40000000000000002000000013d1fe2c20000010f000000200000000000000000000000000000001700000003reloc/fdisk/reboot.cgi    #!/usr/local/bin/perl
# reboot.cgi
# Reboot the system after changing partitions

require './fdisk-lib.pl';
&header($text{'reboot_title'}, "");
print "<hr>\n";
print "<h3>$text{'reboot_msg'}</h3>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
system("reboot");

 07070100036dae000081e40000000000000002000000013d1fe2c200000d2e000000200000000000000000000000000000001a00000003reloc/fdisk/save_part.cgi #!/usr/local/bin/perl
# save_part.cgi
# Save changes to an existing or new partition

require './fdisk-lib.pl';
&error_setup($text{'save_err'});
&ReadParse();

@dlist = &list_disks_partitions();
$dinfo = $dlist[$in{'disk'}];
&can_edit_disk($dinfo->{'device'}) ||
	&error($text{'save_ecannot'});
@plist = @{$dinfo->{'parts'}};
if ($in{'delete'} && $in{'confirm'}) {
	# deleting a partition
	$pinfo = $plist[$in{'part'}];
	&delete_partition($dinfo->{'device'}, $pinfo->{'number'});
	&webmin_log("delete", "part", $dinfo->{'device'}, \%in);
	&redirect("");
	}
elsif ($in{'delete'}) {
	# Ask the user if he really wants to delete the partition
	&header($text{'delete_title'}, "");
	print "<hr>\n";

	$pinfo = $plist[$in{'part'}];
	$dname = &mount::device_name($pinfo->{'device'});
	print "<center><form action=save_part.cgi>\n";
	print "<input type=hidden name=disk value='$in{'disk'}'>\n";
	print "<input type=hidden name=part value='$in{'part'}'>\n";
	print "<input type=hidden name=delete value=1>\n";
	print "<b>",&text('delete_rusure', $dname,
			  "<tt>$pinfo->{'device'}</tt>"),"</b><p>\n";
	print "<input type=submit name=confirm value='$text{'delete_ok'}'>\n";
	print "</form></center>\n";

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
elsif (!$in{'new'}) {
	# changing existing partition
	$pinfo = $plist[$in{'part'}];
	&change_type($dinfo->{'device'}, $pinfo->{'number'}, $in{'type'});
	if (defined($in{'label'}) && $in{'type'} eq '83') {
		&set_label($pinfo->{'device'}, $in{'label'});
		}
	&webmin_log("modify", "part", $dinfo->{'device'}, \%in);
	&redirect("");
	}
else {
	# Adding new partition
	$in{start} =~ /^\d+$/ ||
		&error(&text('save_estart', $in{'start'}));
	$in{end} =~ /^\d+$/ ||
		&error(&text('save_eend', $in{'end'}));
	$in{start} >= $in{'min'} ||
		&error(&text('save_emin', $in{'min'}));
	$in{end} <= $in{'max'} ||
		&error(&text('save_emax', $in{'max'}));
	$in{start} < $in{end} ||
		&error($text{'save_eminmax'});

	# Check for partition overlap..
	foreach $pinfo (@plist) {
		if (($in{'start'} >= $pinfo->{'start'} &&
		     $in{'start'} <= $pinfo->{'end'} ||
		     $in{'end'} >= $pinfo->{'start'} &&
		     $in{'end'} <= $pinfo->{'end'}) &&
		     !($in{'new'}==2 && $pinfo->{'extended'})) {
			&error(&text('save_eoverlap', $pinfo->{'number'},
				     $pinfo->{'start'}, $pinfo->{'end'}));
			}
		}
	if ($in{'new'} == 3) {
		&create_extended($dinfo->{'device'}, $in{'newpart'},
				$in{'start'}, $in{'end'});
		&webmin_log("create", "part", $dinfo->{'device'}, \%in);
		}
	else {
		&create_partition($dinfo->{'device'}, $in{'newpart'},
				  $in{'start'}, $in{'end'}, $in{'type'});
		if ($in{'label'} && $in{'type'} eq '83') {
			local $dev = $dinfo->{'prefix'}.$in{'newpart'};
			&set_label($dev, $in{'label'});
			}
		&webmin_log("create", "part", $dinfo->{'device'}, \%in);
		}
	if (&need_reboot($dinfo)) { &ask_reboot($dinfo); }
	else { &redirect(""); }
	}

# ask_reboot(disk)
# Display a form asking for a reboot
sub ask_reboot
{
&header($text{'reboot_title'}, "");
print "<hr>\n";
local $what = &text('select_device', uc($_[0]->{'type'}),
		    uc(substr($_[0]->{'device'}, -1)));
print "<b>",&text('reboot_why', $what),"</b> <p>\n";
print "<form action=reboot.cgi>\n";
print "<center><input type=submit value=\"$text{'reboot_ok'}\"></center>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
}

  07070100036daf000081e40000000000000002000000013d1fe2c2000002c9000000200000000000000000000000000000001700000003reloc/fdisk/tunefs.cgi    #!/usr/local/bin/perl
# tunefs.cgi
# Do the tuning of a filesystem

require './fdisk-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'tunefs_ecannot'});
&error_setup($text{'tunefs_err'});
$cmd = &tunefs_parse($in{type}, $in{dev});
$| = 1;
$theme_no_table = 1;
&header($text{'tunefs_title'}, "");
print "<hr>\n";

print &text('tunefs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
&foreign_call("proc", "safe_process_exec_logged",
	      $cmd, 0, 0, STDOUT, undef, 1);
print "</pre>\n";
if ($?) { print "<b>$text{'tunefs_failed'}</b><p>\n"; }
else { print "<b>$text{'tunefs_ok'}</b><p>\n"; }
&webmin_log("tunefs", undef, $in{'dev'}, \%in);

print "<hr>\n";
&footer("", $text{'index_return'});
   07070100036db0000081e40000000000000002000000013d1fe2c200000373000000200000000000000000000000000000001c00000003reloc/fdisk/tunefs_form.cgi   #!/usr/local/bin/perl
# tunefs_form.cgi
# Display a form asking for filesystem tuning parameters

require './fdisk-lib.pl';
&can_edit_disk($in{'dev'}) || &error($text{'tunefs_ecannot'});
&header($text{'tunefs_title'}, "");
print "<hr>\n";
&ReadParse();

print "<form action=tunefs.cgi>\n";
print "<input type=hidden name=dev value=\"$in{dev}\">\n";
print "<input type=hidden name=type value=\"$in{type}\">\n";

@stat = &device_status($in{dev});
print &text('tunefs_desc', &fstype_name($in{type}), "<tt>$in{dev}</tt>",
	    "<tt>$stat[1]</tt>"),"<p>\n";

print "<table border>\n";
print "<tr $tb><td><b>$text{'tunefs_params'}</b></td> </tr>\n";
print "<tr $cb><td><table cellpadding=5>\n";
&tunefs_options($in{type});
print "</table></td></tr></table><br>\n";

print "<input type=submit value=\"$text{'tunefs_tune'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010003e271000081e40000000000000002000000013d1fe2b800001983000000200000000000000000000000000000001300000003reloc/feedback.cgi    #!/usr/local/bin/perl
# Send the webmin feedback form

require './web-lib.pl';
&init_config();
&ReadParseMime();
&error_setup($text{'feedback_err'});
%access = &get_module_acl();
$access{'feedback'} || &error($text{'feedback_ecannot'});

# Construct the email body
$in{'text'} =~ s/\r//g;
$date = localtime(time());
$ver = &get_webmin_version();
if ($in{'name'} && $in{'email'}) {
	$from = "$in{'name'} <$in{'email'}>";
	$email = $in{'email'};
	}
elsif ($in{'email'}) {
	$email = $from = $in{'email'};
	}
else {
	$email = $from = "feedback\@".&get_system_hostname();
	}
local $m = $in{'module'};
$m || !$in{'config'} || &error($text{'feedback_emodule'});
&check_os_support($m) && $m !~ /\.\./ || &error($text{'feedback_emodule2'});
%minfo = &get_module_info($m);
if ($gconfig{'nofeedbackcc'}) {
	@tolist = ( $gconfig{'feedback_to'} ? $gconfig{'feedback_to'}
					    : $webmin_feedback_address );
	}
else {
	@tolist = split(/\s+/, $in{'to'});
	}
@tolist || &error($text{'feedback_eto'});
foreach $t (@tolist) {
	$headers .= "To: $t\n";
	}
$headers .= "From: $from\n";
$headers .= "Subject: $text{'feedback_title'}\n";

$attach[0] = <<EOF;
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Name:           $in{'name'}
Email address:  $in{'email'}
Date:           $date
Webmin version: $ver
Module:         $in{'module'} ($minfo{'desc'})
Browser:        $ENV{'HTTP_USER_AGENT'}
EOF

if ($in{'os'}) {
	$uname = `uname -a`;
	$attach[0] .= <<EOF;
OS from webmin: $gconfig{'real_os_type'} $gconfig{'real_os_version'}
OS code:        $gconfig{'os_type'} $gconfig{'os_version'}
Uname output:   $uname
EOF
	}

$attach[0] .= "\n".$in{'text'}."\n";

if ($in{'config'} && !$gconfig{'nofeedbackconfig'}) {
	# Check if this user has full rights to the module
	$access{'feedback'} == 2 || &error($text{'feedback_ecannot2'});
	local %uacl = &get_module_acl(undef, $m);
	local %defacl;
	&read_file("$root_directory/$m/defaultacl", \%defacl);
	foreach $k (keys %uacl) {
		if ($defacl{$k} ne $uacl{$k}) {
			&error($text{'feedback_econfig'});
			}
		}

	# Attach all the text file from the module's config
	local %mconfig = &foreign_config($m);
	if (keys %mconfig) {
		local $a;
		$a .= "Content-Type: text/plain; name=\"config\"\n";
		$a .= "Content-Transfer-Encoding: 7bit\n";
		$a .= "\n";
		foreach $k (keys %mconfig) {
			$a .= "$k=$mconfig{$k}\n";
			}
		push(@attach, $a);
		}

	# Find out what config files the module uses
	local @files;
	if (-r "$root_directory/$m/feedback_files.pl") {
		# Ask the module for it's files
		&foreign_require($m, "feedback_files.pl");
		@files = &foreign_call($m, "feedback_files", $m);
		}

	# Use all the path in the config
	foreach $k (keys %mconfig) {
		push(@files, $mconfig{$k}) if ($mconfig{$k} =~ /^\//);
		}
	@files = &unique(@files);

	# Attach those config files that are plain text (less than 5%
	# non-ascii characters). Also skip logfiles.
	foreach $f (@files) {
		next if (!$f || -d $f);
		next if ($f =~ /\/var\/log\//);
		local $/ = undef;
		open(FILE, $f) || next;
		local $data = <FILE>;
		close(FILE);
		local $count = ($data =~ tr/[\000-\176]/[\000-\176]/);
		if (!length($data) || 100*$count / length($data) > 95) {
			# File is text
			local $a;
			local $sf = &short_name($f);
			$a .= "Content-Type: text/plain; name=\"$sf\"\n";
			$a .= "Content-Transfer-Encoding: 7bit\n";
			$a .= "\n";
			$a .= $data;
			push(@attach, $a);
			}
		}
	}

# Include uploaded attached files
foreach $u ('attach0', 'attach1') {
	if ($in{$u} ne '') {
		local $a;
		local $name = &short_name($in{"${u}_filename"});
		local $type = $in{"${u}_content_type"};
		$type = &guess_type($name) if (!$type);
		$a .= "Content-type: $type; name=\"$name\"\n";
		$a .= "Content-Transfer-Encoding: base64\n";
		$a .= "\n\n";
		$a .= &encode_base64($in{$u});
		push(@attach, $a);
		}
	}

# Build the MIME email
$bound = "bound".time();
$mail = $headers;
$mail .= "Content-Type: multipart/mixed; boundary=\"$bound\"\n";
$mail .= "MIME-Version: 1.0\n";
$mail .= "\n";
$mail .= "This is a multi-part message in MIME format.\n";
foreach $a (@attach) {
	$mail .= "\n--".$bound."\n";
	$mail .= $a;
	}
$mail .= "\n--".$bound."--\n";

if (!$in{'mailserver_def'}) {
	$ok = &send_via_smtp($in{'mailserver'});
	$sent = 3 if ($ok);
	}

if (!$sent) {
	# Try to send the email by calling sendmail -t
	%sconfig = &foreign_config("sendmail");
	$sendmail = $sconfig{'sendmail_path'} ? $sconfig{'sendmail_path'}
					      : &has_command("sendmail");
	if (-x $sendmail && open(MAIL, "| $sendmail -t")) {
		print MAIL $mail;
		if (close(MAIL)) {
			$sent = 2;
			}
		}
	}

if (!$sent) {
	# Try to connect to a local SMTP server
	$ok = &send_via_smtp("localhost");
	$sent = 1 if ($ok);
	}

if ($sent) {
	# Tell the user that it was sent OK
	&header($text{'feedback_title'}, "", undef, 0, 1);
	print "<hr><p>\n";
	if ($sent == 3) {
		print &text('feedback_via', join(",", @tolist),
			    "<tt>$in{'mailserver'}</tt>"),"\n";
		}
	elsif ($sent == 2) {
		print &text('feedback_prog', join(",", @tolist),
			    "<tt>$sendmail</tt>"),"\n";
		}
	else {
		print &text('feedback_via', join(",", @tolist),
			    "<tt>localhost</tt>"),"\n";
		}
	print "<p><hr>\n";
	&footer("", $text{'index'});

	# Save settings in config
	$gconfig{'feedback_name'} = $in{'name'};
	$gconfig{'feedback_email'} = $in{'email'};
	$gconfig{'feedback_mailserver'} =
		$in{'mailserver_def'} ? undef : $in{'mailserver'};
	&write_file("$config_directory/config", \%gconfig);
	}
else {
	# Give up! Tell the user ..
	&error($text{'feedback_esend'});
	}

sub send_via_smtp
{
local $error;
&open_socket($_[0], 25, MAIL, \$error);
return 0 if ($error);
&smtp_command(MAIL) || return 0;
&smtp_command(MAIL, "helo ".&get_system_hostname()."\n") || return 0;
&smtp_command(MAIL, "mail from: $email\n") || return 0;
foreach $t (@tolist) {
	&smtp_command(MAIL, "rcpt to: $t\n") || return 0;
	}
&smtp_command(MAIL, "data\n");
print MAIL $mail;
&smtp_command(MAIL, ".\n");
&smtp_command(MAIL, "quit\n");
close(MAIL);
return 1;
}

# smtp_command(handle, command)
sub smtp_command
{
local ($m, $c) = @_;
print $m $c;
local $r = <$m>;
return $r =~ /^[23]\d+/;
}

sub guess_type
{
local $e;
if (!%mime_types) {
	open(MIME, "$root_directory/mime.types");
	while(<MIME>) {
		s/\r|\n//g;
		s/#.*$//g;
		local @s = split(/\s+/);
		foreach $e (@s[1..$#s]) {
			$mime_types{$e} = $s[0];
			}
		}
	close(MIME);
	}
if ($_[0] =~ /\.([A-z0-9]+)$/ && $mime_types{$1}) {
	return $mime_types{$1};
	}
return "application/octet-stream";
}

sub short_name
{
$_[0] =~ /([^\\\/]+)$/;
return $1;
}

 0707010003e272000081e40000000000000002000000013d1fe2b800000ce8000000200000000000000000000000000000001800000003reloc/feedback_form.cgi   #!/usr/local/bin/perl
# feedback_form.cgi
# Display a form so that the user can send in a webmin bug report

require './web-lib.pl';
&init_config();
&ReadParse();
&error_setup($text{'feedback_err'});
%access = &get_module_acl();
$access{'feedback'} || &error($text{'feedback_ecannot'});
&header($text{'feedback_title'}, "", undef, 0, 1);
print "<hr>\n";

$fb = $gconfig{'feedback_to'} ? $gconfig{'feedback_to'}
			      : $webmin_feedback_address;
print &text('feedback_desc', "<tt>$fb</tt>"),"<p>\n";
print "<b>$text{'feedback_desc2'}</b><p>\n" if (!$gconfig{'feedback_to'});

print "<form action=feedback.cgi method=post enctype=multipart/form-data>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'feedback_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'feedback_name'}</b></td>\n";
print "<td><input name=name size=25 value='$gconfig{'feedback_name'}'></td>\n";

print "<td><b>$text{'feedback_email'}</b></td>\n";
print "<td><input name=email size=25 value='$gconfig{'feedback_email'}'></td> </tr>\n";

print "<tr> <td><b>$text{'feedback_module'}</b></td>\n";
print "<td><select name=module>\n";
printf "<option value='' %s>%s\n",
	$in{'module'} ? "" : "selected", $text{'feedback_all'};
foreach $minfo (&get_all_module_infos()) {
	if (&check_os_support($minfo)) {
		push(@modules, $minfo);
		}
	}
foreach $m (sort { $a->{'desc'} cmp $b->{'desc'} } @modules) {
	printf "<option %s value=%s>%s\n",
		$in{'module'} eq $m->{'dir'} ? "selected" : "",
		$m->{'dir'}, $m->{'desc'};
	}
print "</select></td>\n";

print "<td><b>$text{'feedback_mailserver'}</b></td>\n";
printf "<td><input type=radio name=mailserver_def value=1 %s> %s\n",
	$gconfig{'feedback_mailserver'} ? "" : "checked",
	$text{'feedback_mailserver_def'};
printf "<input type=radio name=mailserver_def value=0 %s>\n",
	$gconfig{'feedback_mailserver'} ? "checked" : "";
printf "<input name=mailserver size=15 value='%s'></td> </tr>\n",
	$gconfig{'feedback_mailserver'};

if (!$gconfig{'nofeedbackcc'}) {
	print "<tr> <td valign=top><b>$text{'feedback_to'}</b></td>\n";
	print "<td colspan=3><textarea name=to rows=4 cols=50>",
		$fb,"</textarea></td> </tr>\n";
	}

print "<tr> <td valign=top><b>$text{'feedback_text'}</b></td>\n";
print "<td colspan=3><textarea name=text rows=6 cols=70 wrap=on>",
      "</textarea></td> </tr>\n";

print "<tr> <td colspan=2 nowrap><b>$text{'feedback_os'}</b>&nbsp;&nbsp;\n";
printf "<input type=radio name=os value=1> $text{'yes'}\n";
printf "<input type=radio name=os value=0 checked> $text{'no'}</td>\n";
print "<td colspan=2>($text{'feedback_osdesc'})</td> </tr>\n";

if (!$gconfig{'nofeedbackconfig'}) {
	print "<tr> <td colspan=2 nowrap><b>$text{'feedback_config'}</b>&nbsp;&nbsp;\n";
	printf "<input type=radio name=config value=1> $text{'yes'}\n";
	printf "<input type=radio name=config value=0 checked> $text{'no'}</td>\n";
	print "<td colspan=2>($text{'feedback_configdesc'})</td> </tr>\n";
	}

print "<tr> <td><b>$text{'feedback_attach'}</b></td>\n";
print "<td><input type=file name=attach0></td>",
      "<td colspan=2><input type=file name=attach1></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'feedback_send'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index'});

0707010003f61a000041ed0000000000000001000000043d1ffa2b00000000000000200000000000000000000000000000001000000003reloc/fetchmail   0707010003f61b000081a40000000000000002000000013d1fe2e3000004eb000000200000000000000000000000000000002000000003reloc/fetchmail/acl_security.pl   
require 'fetchmail-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the cron module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_users'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> $text{'acl_all'}<br>\n",
	$_[0]->{'mode'} == 0 ? "checked" : "";
printf "<input type=radio name=mode value=3 %s> $text{'acl_this'}<br>\n",
	$_[0]->{'mode'} == 3 ? "checked" : "";
printf "<input type=radio name=mode value=1 %s> $text{'acl_only'}\n",
	$_[0]->{'mode'} == 1 ? "checked" : "";
printf "<input name=userscan size=40 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 1 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscan", 1);
printf "<input type=radio name=mode value=2 %s> $text{'acl_except'}\n",
	$_[0]->{'mode'} == 2 ? "checked" : "";
printf "<input name=userscannot size=40 value='%s'> %s</td> </tr>\n",
	$_[0]->{'mode'} == 2 ? $_[0]->{'users'} : "",
	&user_chooser_button("userscannot", 1);
}

# acl_security_save(&options)
# Parse the form for security options for the cron module
sub acl_security_save
{
$_[0]->{'mode'} = $in{'mode'};
$_[0]->{'users'} = $in{'mode'} == 0 || $in{'mode'} == 3 ? "" :
		   $in{'mode'} == 1 ? $in{'userscan'}
				    : $in{'userscannot'};

}

 0707010003f61c000081e40000000000000002000000013d1fe2e3000004b2000000200000000000000000000000000000001a00000003reloc/fetchmail/check.cgi #!/usr/local/bin/perl
# check.cgi
# Run a fetchmail config file

require './fetchmail-lib.pl';
&ReadParse();
$| = 1;
$theme_no_table = 1;
&header($text{'check_title'}, "");
print "<hr>\n";

if ($config{'config_file'}) {
	$file = $config{'config_file'};
	}
else {
	&can_edit_user($in{'user'}) || &error($text{'poll_ecannot'});
	@uinfo = getpwnam($in{'user'});
	$file = "$uinfo[7]/.fetchmailrc";
	}

$cmd = "$config{'fetchmail_path'} -v -f '$file'";
if (defined($in{'idx'})) {
	@conf = &parse_config_file($file);
	$poll = $conf[$in{'idx'}];
	$cmd .= " $poll->{'poll'}";
	}

print &text('check_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>";
if ($< == 0) {
	open(CMD, "su '$in{'user'}' -c '$cmd' 2>&1 |");
	&additional_log("exec", undef, "su '$in{'user'}' -c '$cmd'");
	}
else {
	# For usermin, which has already switched
	open(CMD, "$cmd 2>&1 |");
	}
while(<CMD>) {
	print &html_escape($_);
	}
close(CMD);
print "</pre>\n";

if ($? > 256) { print "<b>$text{'check_failed'}</b> <p>\n"; }
else { print "$text{'check_ok'} <p>\n"; }

&webmin_log("check", defined($in{'idx'}) ? "server" : "file",
	    $config{'config_file'} ? $file : $in{'user'}, $poll);
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003f61d000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000001700000003reloc/fetchmail/config    config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f61e000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002400000003reloc/fetchmail/config-cobalt-linux   config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f61f000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002300000003reloc/fetchmail/config-corel-linux    config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f620000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002400000003reloc/fetchmail/config-debian-linux   config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f621000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002400000003reloc/fetchmail/config-gentoo-linux   config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f622000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002600000003reloc/fetchmail/config-mandrake-linux config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f623000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002100000003reloc/fetchmail/config-msc-linux  config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f624000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002200000003reloc/fetchmail/config-open-linux config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f625000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002400000003reloc/fetchmail/config-redhat-linux   config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f626000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002700000003reloc/fetchmail/config-slackware-linux    config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f627000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002200000003reloc/fetchmail/config-suse-linux config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f628000081a40000000000000002000000013d1fe2e300000057000000200000000000000000000000000000002300000003reloc/fetchmail/config-turbo-linux    config_file=
fetchmail_path=fetchmail
daemon_user=root
pid_file=/var/run/fetchmail.pid
 0707010003f629000081a40000000000000002000000013d1fe2e3000000dc000000200000000000000000000000000000001c00000003reloc/fetchmail/config.info   config_file=Fetchmail config file to edit,3,All user's .fetchmailrc files
fetchmail_path=Path to the fetchmail program,0
daemon_user=User to run the fetchmail daemon as,0
pid_file=Path to the fetchmail daemon PID file,0
0707010003f62a000081a40000000000000002000000013d1fe2e300000113000000200000000000000000000000000000001f00000003reloc/fetchmail/config.info.ca    config_file=Fitxer de configuració fetchmail per editar,3,Els fitxers .fetchmailrc de tots els usuaris
fetchmail_path=Camí del programa fetchmail,0
daemon_user=Usuari sota el qual s'executa el dimoni de fetchmail,0
pid_file=Camí del fitxer de PID del dimoni de fetchmail,0


 0707010003f62b000081a40000000000000002000000013d1fe2e3000000f9000000200000000000000000000000000000001f00000003reloc/fetchmail/config.info.de    config_file=Fetchmail Konfigurations-Datei bearbeiten,3,.fetchmailrc#044Dateien aller Benutzer
fetchmail_path=Pfad zum Fetchmail-Programm,0
daemon_user=Fetchmail-D&auml;mon l&auml;uft als Benutzer,0
pid_file=Pfad zur fetchmail-D&auml;mon PID-Datei,0   0707010003f62c000081a40000000000000002000000013d1fe2e300000114000000200000000000000000000000000000001f00000003reloc/fetchmail/config.info.es    config_file=Archivo de configuración de Fetchmail a editar,3,Todos los archivos .fetchmailrc de usuario
fetchmail_path=Trayectoria a programa fetchmail,0
daemon_user=Usuario bajo el cual ejecutar demonio fetchmail,0
pid_file=Trayectorua al archivo PID del demonio fetchmail,0
0707010003f62f000081a40000000000000002000000013d1fe2e300000019000000200000000000000000000000000000001b00000003reloc/fetchmail/defaultacl    noconfig=0
users=
mode=0
   0707010003f62d000081a40000000000000002000000013d1fe2e3000000dc000000200000000000000000000000000000001f00000003reloc/fetchmail/config.info.it    config_file=Fetchmail config file to edit,3,All user's .fetchmailrc files
fetchmail_path=Path to the fetchmail program,0
daemon_user=User to run the fetchmail daemon as,0
pid_file=Path to the fetchmail daemon PID file,0
0707010003f62e000081a40000000000000002000000013d1fe2e30000012e000000200000000000000000000000000000001f00000003reloc/fetchmail/config.info.pl    config_file=Modyfikowany plik konfiguracyjny fetchmaila,3,Pliki <tt>.fetchmailrc</tt> wszystkich u¿ytkowników
fetchmail_path=¦cie¿ka do programu <tt>fetchmail</tt>,0
daemon_user=U¿ytkownik, jako który serwer fetchmail jest uruchamiany,0
pid_file=¦cie¿ka do pliku z&nbsp;numerem PID serwera fetchmail,0
  0707010003f630000081e40000000000000002000000013d1fe2e3000009ea000000200000000000000000000000000000002000000003reloc/fetchmail/edit_global.cgi   #!/usr/local/bin/perl
# edit_global.cgi
# Edit options for all poll sections in a file

require './fetchmail-lib.pl';
&ReadParse();
&header($text{'global_title'}, "");
print "<hr>\n";

if ($config{'config_file'}) {
	$file = $config{'config_file'};
	}
else {
	&can_edit_user($in{'user'}) || &error($text{'poll_ecannot'});
	@uinfo = getpwnam($in{'user'});
	$file = "$uinfo[7]/.fetchmailrc";
	}
@conf = &parse_config_file($file);
foreach $c (@conf) {
	$poll = $c if ($c->{'defaults'});
	}

print "<form action=save_global.cgi>\n";
print "<input type=hidden name=file value='$file'>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";

# Show default server options
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'global_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'poll_proto'}</b></td>\n";
print "<td><select name=proto>\n";
printf "<option value='' %s> %s\n",
	$poll->{'proto'} ? '' : 'selected', $text{'default'};
foreach $p ('pop3', 'pop2', 'imap', 'imap-k4', 'imap-gss', 'apop', 'kpop') {
	printf "<option value=%s %s>%s\n",
		$p, lc($poll->{'proto'}) eq $p ? 'selected' : '', uc($p);
	$found++ if (lc($poll->{'proto'}) eq $p);
	}
printf "<option value=%s selected>%s\n", $poll->{'proto'}, uc($poll->{'proto'})
	if (!$found && $poll->{'proto'});
print "</select></td>\n";

print "<td><b>$text{'poll_port'}</b></td>\n";
printf "<td><input type=radio name=port_def value=1 %s> %s\n",
	$poll->{'port'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=port_def value=0 %s> %s\n",
	$poll->{'port'} ? 'checked' : '';
printf "<input name=port size=8 value='%s'></td> </tr>\n",
	$poll->{'port'};

@interface = split(/\//, $poll->{'interface'});
print "<tr> <td valign=top><b>$text{'poll_interface'}</b></td><td colspan=3>\n";
printf "<input type=radio name=interface_def value=1 %s> %s<br>\n",
	@interface ? '' : 'checked', $text{'poll_interface_def'};
printf "<input type=radio name=interface_def value=0 %s> %s\n",
	@interface ? 'checked' : '', $text{'poll_interface_ifc'};
print "<input name=interface size=8 value='$interface[0]'> ",
      "$text{'poll_interface_ip'}\n";
print "<input name=interface_net size=15 value='$interface[1]'> /\n";
print "<input name=interface_mask size=15 value='$interface[2]'></td> </tr>\n";

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003f631000081e40000000000000002000000013d1fe2e3000015b6000000200000000000000000000000000000001e00000003reloc/fetchmail/edit_poll.cgi #!/usr/local/bin/perl
# edit_poll.cgi
# Display one server polled by fetchmail

require './fetchmail-lib.pl';
&ReadParse();
if ($config{'config_file'}) {
	$file = $config{'config_file'};
	}
else {
	&can_edit_user($in{'user'}) || &error($text{'poll_ecannot'});
	@uinfo = getpwnam($in{'user'});
	$file = "$uinfo[7]/.fetchmailrc";
	}

if ($in{'new'}) {
	&header($text{'poll_create'}, "");
	}
else {
	&header($text{'poll_edit'}, "");
	@conf = &parse_config_file($file);
	$poll = $conf[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_poll.cgi method=post>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=file value='$file'>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";

# Show server options
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'poll_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'poll_poll'}</b></td>\n";
printf "<td><input name=poll size=30 value='%s'></td>\n",
	$poll->{'poll'};

print "<td><b>$text{'poll_skip'}</b></td>\n";
printf "<td><input type=radio name=skip value=0 %s> %s\n",
	$poll->{'skip'} ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=skip value=1 %s> %s</td> </tr>\n",
	$poll->{'skip'} ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'poll_via'}</b></td>\n";
printf "<td colspan=3><input type=radio name=via_def value=1 %s> %s\n",
	$poll->{'via'} ? '' : 'checked', $text{'poll_via_def'};
printf "<input type=radio name=via_def value=0 %s>\n",
	$poll->{'via'} ? 'checked' : '';
printf "<input name=via size=30 value='%s'></td> </tr>\n",
	$poll->{'via'};

print "<tr> <td><b>$text{'poll_proto'}</b></td>\n";
print "<td><select name=proto>\n";
printf "<option value='' %s> %s\n",
	$poll->{'proto'} ? '' : 'selected', $text{'default'};
foreach $p ('pop3', 'pop2', 'imap', 'imap-k4', 'imap-gss', 'apop', 'kpop') {
	printf "<option value=%s %s>%s\n",
		$p, lc($poll->{'proto'}) eq $p ? 'selected' : '', uc($p);
	$found++ if (lc($poll->{'proto'}) eq $p);
	}
printf "<option value=%s selected>%s\n", $poll->{'proto'}, uc($poll->{'proto'})
	if (!$found && $poll->{'proto'});
print "</select></td>\n";

print "<td><b>$text{'poll_port'}</b></td>\n";
printf "<td><input type=radio name=port_def value=1 %s> %s\n",
	$poll->{'port'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=port_def value=0 %s> %s\n",
	$poll->{'port'} ? 'checked' : '';
printf "<input name=port size=8 value='%s'></td> </tr>\n",
	$poll->{'port'};

@interface = split(/\//, $poll->{'interface'});
print "<tr> <td valign=top><b>$text{'poll_interface'}</b></td><td colspan=3>\n";
printf "<input type=radio name=interface_def value=1 %s> %s<br>\n",
	@interface ? '' : 'checked', $text{'poll_interface_def'};
printf "<input type=radio name=interface_def value=0 %s> %s\n",
	@interface ? 'checked' : '', $text{'poll_interface_ifc'};
print "<input name=interface size=8 value='$interface[0]'> ",
      "$text{'poll_interface_ip'}\n";
print "<input name=interface_net size=15 value='$interface[1]'> /\n";
print "<input name=interface_mask size=15 value='$interface[2]'></td> </tr>\n";

print "</table></td></tr></table>\n";

# Show user options
@users = @{$poll->{'users'}};
push(@users, undef) if ($in{'new'} || $in{'adduser'});
$i = 0;
foreach $u (@users) {
	print "<br><table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'poll_uheader'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'poll_user'}</b></td>\n";
	printf "<td><input name=user_$i size=15 value='%s'></td>\n",
		$u->{'user'};

	print "<td><b>$text{'poll_pass'}</b></td>\n";
	printf "<td><input name=pass_$i size=15 value='%s'></td> </tr>\n",
		$u->{'pass'};

	print "<tr> <td><b>$text{'poll_is'}</b></td> <td colspan=3>\n";
	printf "<input name=is_$i size=60 value='%s'></td> </tr>\n",
		join(" ", @{$u->{'is'}});

	print "<tr> <td><b>$text{'poll_keep'}</b></td>\n";
	printf "<td><input type=radio name=keep_$i value=1 %s> %s\n",
		$u->{'keep'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=keep_$i value=0 %s> %s</td>\n",
		$u->{'keep'} ? '' : 'checked', $text{'no'};

	print "<td><b>$text{'poll_fetchall'}</b></td>\n";
	printf "<td><input type=radio name=fetchall_$i value=1 %s> %s\n",
		$u->{'fetchall'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=fetchall_$i value=0 %s> %s</td> </tr>\n",
		$u->{'fetchall'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>$text{'poll_preconnect'}</b></td>\n";
	$u->{'preconnect'} =~ s/'/&#39;/g;
	printf "<td colspan=3><input name=preconnect_$i size=50 value='%s'></td> </tr>\n", $u->{'preconnect'};

	print "<tr> <td><b>$text{'poll_postconnect'}</b></td>\n";
	$u->{'postconnect'} =~ s/'/&#39;/g;
	printf "<td colspan=3><input name=postconnect_$i size=50 value='%s'></td></tr>\n", $u->{'postconnect'};

	print "</table></td></tr></table>\n";
	$i++;
	}

print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=middle><input type=submit name=adduser ",
	      "value='$text{'poll_adduser'}'></td>\n";
	print "<td align=middle><input type=submit name=check ",
	      "value='$text{'poll_check'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003f632000081a40000000000000002000000013d1fe2e30000010a000000200000000000000000000000000000002200000003reloc/fetchmail/feedback_files.pl 
do 'fetchmail-lib.pl';

sub feedback_files
{
if ($config{'config_file'}) {
	return ( $config{'config_file'} );
	}
else {
	local (@rv, @uinfo);
	setpwent();
	while(@uinfo = getpwent()) {
		push(@rv, "$uinfo[7]/.fetchmailrc");
		}
	endpwent();
	return @rv;
	}
}

1;

  0707010003f633000081a40000000000000002000000013d1fe2e3000014b1000000200000000000000000000000000000002100000003reloc/fetchmail/fetchmail-lib.pl  # fetchmail-lib.pl
# Functions for parsing fetchmail config files

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# parse_config_file(file, [&global])
# Parses a fetchmail config file into a list of hashes, each representing
# one mail server to poll
sub parse_config_file
{
local $lnum = 0;
local ($line, @rv, @toks);

# Tokenize the file
open(FILE, $_[0]);
while($line = <FILE>) {
	$line =~ s/\r|\n//g;
	$line =~ s/#.*$//;
	while($line =~ /^[\s:;,]*"([^"]*)"(.*)$/ ||
	      $line =~ /^[\s:;,]*'([^"]*)'(.*)$/ ||
	      $line =~ /^[\s:;,]*([^\s:;,]+)(.*)$/) {
		push(@toks, [ $1, $lnum ]);
		$line = $2;
		}
	$lnum++;
	}
close(FILE);

# Split into poll sections
@toks = grep { $_->[0] !~ /^(and|with|has|wants|options|here)$/i } @toks;
local ($poll, $user, $i);
for($i=0; $i<@toks; $i++) {
	local $t = $toks[$i];

	# Server options
	if ($t->[0] eq 'poll' || $t->[0] eq 'server' ||
	    $t->[0] eq 'skip' || $t->[0] eq 'defaults') {
		# Start of a new poll
		$poll = { 'line' => $t->[1],
			  'file' => $_[0],
			  'index' => scalar(@rv),
			  'skip' => ($t->[0] eq 'skip'),
			  'defaults' => ($t->[0] eq 'defaults') };
		$poll->{'poll'} = $toks[++$i]->[0] if (!$poll->{'defaults'});
		undef($user);
		push(@rv, $poll);
		}
	elsif ($t->[0] eq 'proto' || $t->[0] eq 'protocol') {
		$poll->{'proto'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'via') {
		$poll->{'via'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'port') {
		$poll->{'port'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'timeout') {
		$poll->{'timeout'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'interface') {
		$poll->{'interface'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'monitor') {
		$poll->{'monitor'} = $toks[++$i]->[0];
		}

	# User options
	elsif ($t->[0] eq 'user' || $t->[0] eq 'username') {
		$user = { 'user' => $toks[++$i]->[0] };
		push(@{$poll->{'users'}}, $user);
		}
	elsif ($t->[0] eq 'pass' || $t->[0] eq 'password') {
		$user->{'pass'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'is' || $t->[0] eq 'to') {
		$i++;
		while($i < @toks &&
		      $toks[$i]->[1] == $t->[1]) {
			push(@{$user->{'is'}}, $toks[$i]->[0]);
			$i++;
			}
		$i--;
		}
	elsif ($t->[0] eq 'folder') {
		$user->{'folder'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'keep') { $user->{'keep'} = 1; }
	elsif ($t->[0] eq 'flush') { $user->{'flush'} = 1; }
	elsif ($t->[0] eq 'fetchall') { $user->{'fetchall'} = 1; }
	elsif ($t->[0] eq 'preconnect') {
		$user->{'preconnect'} = $toks[++$i]->[0];
		}
	elsif ($t->[0] eq 'postconnect') {
		$user->{'postconnect'} = $toks[++$i]->[0];
		}

	else {
		# Found an unknown option!
		if ($user) {
			push(@{$user->{'unknown'}}, $t->[0]);
			}
		elsif ($poll) {
			push(@{$poll->{'unknown'}}, $t->[0]);
			}
		}

	if ($poll) {
		if ($i<@toks) {
			$poll->{'eline'} = $toks[$i]->[1];
			}
		else {
			$poll->{'eline'} = $toks[$#toks]->[1];
			}
		}
	}

return @rv;
}

# create_poll(&poll, file)
# Add a new poll section to a fetchmail config file
sub create_poll
{
local $lref = &read_file_lines($_[1]);
if ($_[0]->{'defaults'}) {
	# Put a new defaults section at the top
	splice(@$lref, 0, 0, &poll_lines($_[0]));
	}
else {
	push(@$lref, &poll_lines($_[0]));
	}
&flush_file_lines();
}

# delete_poll(&poll, file)
# Delete a poll section from a fetchmail config file
sub delete_poll
{
local $lref = &read_file_lines($_[1]);
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

# modify_poll(&poll, file)
# Modify a poll section in a fetchmail config file
sub modify_poll
{
local $lref = &read_file_lines($_[1]);
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
       &poll_lines($_[0]));
&flush_file_lines();
}

sub poll_lines
{
local @rv;
if ($_[0]->{'skip'}) {
	push(@rv, "skip $_[0]->{'poll'}");
	}
elsif ($_[0]->{'defaults'}) {
	push(@rv, "defaults $_[0]->{'poll'}");
	}
else {
	push(@rv, "poll $_[0]->{'poll'}");
	}
push(@rv, "\tproto $_[0]->{'proto'}") if ($_[0]->{'proto'});
push(@rv, "\tvia $_[0]->{'via'}") if ($_[0]->{'via'});
push(@rv, "\tport $_[0]->{'port'}") if ($_[0]->{'port'});
push(@rv, "\ttimeout $_[0]->{'timeout'}") if ($_[0]->{'timeout'});
push(@rv, "\tinterface $_[0]->{'interface'}") if ($_[0]->{'interface'});
push(@rv, "\tmonitor $_[0]->{'monitor'}") if ($_[0]->{'monitor'});
push(@rv, "\t".join(" ", @{$_[0]->{'unknown'}})) if (@{$_[0]->{'unknown'}});

foreach $u (@{$_[0]->{'users'}}) {
	push(@rv, "\tuser \"$u->{'user'}\"");
	push(@rv, "\tpass \"$u->{'pass'}\"") if ($u->{'pass'});
	push(@rv, "\tis ".join(" ", @{$u->{'is'}})) if (@{$u->{'is'}});
	push(@rv, "\tfolder $u->{'folder'}") if ($u->{'folder'});
	push(@rv, "\tkeep") if ($u->{'keep'});
	push(@rv, "\tflush") if ($u->{'flush'});
	push(@rv, "\tfetchall") if ($u->{'fetchall'});
	push(@rv, "\tpreconnect \"$u->{'preconnect'}\"")
		if ($u->{'preconnect'});
	push(@rv, "\tpostconnect \"$u->{'postconnect'}\"")
		if ($u->{'postconnect'});
	push(@rv, "\t".join(" ", @{$u->{'unknown'}})) if (@{$u->{'unknown'}});
	}

return @rv;
}

# can_edit_user(user)
sub can_edit_user
{
local %umap;
map { $umap{$_}++; } split(/\s+/, $access{'users'});
if ($access{'mode'} == 1 && !$umap{$_[0]} ||
    $access{'mode'} == 2 && $umap{$_[0]}) { return 0; }
elsif ($access{'mode'} == 3) {
	return $remote_user eq $_[0];
	}
else {
	return 1;
	}
}



1;

   07070100040db3000041ed0000000000000001000000023d1ffa2900000000000000200000000000000000000000000000001700000003reloc/fetchmail/images    07070100040dbc000081a40000000000000002000000013d1fe2e300000968000000200000000000000000000000000000002000000003reloc/fetchmail/images/hand.png   ‰PNG

   IHDR   d   G   Æþ   PLTEÿÿÿRRRsss{{{„„„¥¥¥ÆÆÆÎÎÎÖÖÖïççÖÎÎ      )  1  ) çÆ½Z ½œŒ{kcŒkZÖÆ½÷ÞÎ­”„Æ„Z÷Ö½Æ”k½Œcµ„Z”c9œc1Z1Ö½¥B91sZB! µ­¥{skRJBÿÞ½91)scRçÆ¥¥ŒsïÆœÖ­„Î¥{Æœsœ{ZµŒcÆ”cJ1B)Î­„½”c”sJÎ½¥µœ{) Öµ„B1ÿïÖ¥œŒÞÖÆÞÎ­µ¥„„{cïÞ­çÞ½¥œ{”ŒcÞÞÖ½½µ­­¥µµ­ÆÆ½””ŒïïÞÿÿç÷÷Þ¥¥”ïïÖ””„ÞÞÆÆÆ­÷÷ÖsscïïÎÖÖµccRZZJµµ”„„k))!ÿÿÎïï½ççµÞÞ¥ccBÿÿ¥ÆÆ{ZZ1ZZ)„„9{{1BBBBkk99{{ !! )) ZZ ÆÎ½191÷ÿÿ¥½ÆR{Œ„½Ö)9BRZ{­Æc”­1JZs½ïkµçœÿc¥ÖB{¥RŒŒµÖZŒµZ¥ç)Z„9¥ÿ Œÿ1{½)Œç „ÿ¥­µµÎç„µçB”çBœ÷9”ïŒÿkÆ kÖ {÷œÆ÷{µ÷9k¥1{Î1„Þ1ŒïR” cÖ sï {ÿZ”Þ9k 1k B” J¥ cÞ kïœµÖ{¥Þ 9 cç kÿ{Œ¥Bc”){÷ 9Œ”­ÖB„ ) cÿ½ÆÖ JÖ Z÷ J 9½ Jï¥µÞJ{÷ JÿŒœÎ!)BBÆ k 9ÿµ½Þœ¥Î )ÿŒ”Æ„ŒÖ!1Ö ÿ”½½ÆÖÖçœœµ))1BBZœœÞŒŒÖ„„Ö””ÿ99cRR”„„ÿssçkkÞJJœss÷ZZÎkkÿccïZZÞRRÞBBµJ))„99Î99Þ11Æ99ÿ11÷))ÿ½ÿ÷¥ÿ      )  J  k  s  {  œ  ¥  µ  ½  Þ  ÷  ÿ­œ­!   }e   tEXtSoftware gif2png 0.6 (beta)ªÝi’  üIDATxœí—{\SUÀçÂu•2V{Ð|VŽ¡ò¥«‚n20qŠº4SóCË²²´—]»=”2KÂ›ùÀ8•–YZAVDQYö²ÒÌÒŠ¥æƒ“·ß¹wÀÆlûhýÑ~üvÎïœý¾û=Î¹»
Õ¿ Š0$	CÂ0äLA”Hk
¢èXþHb¤¢ì˜â›® ÉƒA!6£ T”ŠŽ(ÊÒ%6K« Œ	½Îé:ƒ–N‚¢¨3%0ÅÇŠv3F…Hû%DT"A¯‹˜H1: ´‘‚‚i% ’¤3CŠ¹Ù?¦ÉDŠA/•CŠ#qÈ )È™Ÿ¤µ‚ƒèe@M’¡˜!¦‹¦ÖIóœ÷IÄ,#âu:]¼	âÑÁÄèéÙ;¬  IàT
e ÙÉŠM ÓAeh³ÊÞ¥Ž
2ÐIJÒéÍfs,è¨”Éèö«tGjº’dFP€+C
é3úJe¨½‡È÷ŠÒ×§%8H¡y¨l“Ñb²»ZAÍÿG>”ÃèÎ’Á¦÷©²JÐƒÁ›¢lá^	îÄ'H}”œ`Ez2¶Ë×‚‚ÄGžbl:Q¶ÏOh0£ÊWÎäCËOjÝPþwµñ³7d	ì†ø‡œ	CB… 6ƒmó=±Ë2½f ;B,koñÖaÓï_±„µø÷ƒ,){æÑê@^fêðÁtfOÝžƒuM”fˆv.ÆøÕ‘M~Ã0ß¬]±°6KÝ1$ã!Ç¦î%„ü5Éí¬	Â–Ur]Ëy^´Évd+»·Ú#,æŠRkèo	â*pì&äÈPµEóBy—˜§Å8Bt…y©—Ž~‰l`W`®¢‡E#É&Ûe-¤9‹~s‰9õ„îAÚhÌoèªÑXMÌühÈ¥¶ó›»å1PÂhÈ%‹2J r&a5ƒ6*ÌJ<Ø3jm×BÅkÇ;¦]oUÛ?mA1••ü-[ÂñxYOM15àâ\Û°Müâ•+w±v€ˆw•øy–}cÛNòþDÈúÓª©ž¢FSö>HÈñ–L0ý¹~ ªÛ_FÅ³‘aþ¦óxá•«ïøÇŸÛ§R×|›¶ó¥>äK,éoÕÔ46îo$äÄ¡àóÇñvÐsgrrxöÄSPéWû@ ”±˜/¼*PâeË1·5qæ×§öMqÃ U˜s]	£ÍQÉxì›ó.©ioøŠÆ¢™¿‚Ïù éâ U¨Êû×ù¨˜-˜ßØ'»~íÚ'óÜÛ½ÈÐsY,pâØK×‹—SÜ„´å7LÊÙýY”_Ú9ækð6cÌ®câŒÏ "ŽÎßÛ&ê¼1Š¹Ê¿ðÉ[ºÄ
lÙ‚^´ZzöVjiáû¥•àJ×¤œ÷9>+»žê¼ï¨7»£ó/ä'ÈŸ˜™ÿ}×±€»õí›™beÊ$ˆŠF’©F–@\=ÒJ¶7AfÓ.=>[†äò»séR…ØJûc˜ÅŽV± Y78çÒ5¿.9[»`yú
	²z{¤«ÞrdÎ·„üYä8,AätÕÓò{CØùXXÅjž‚€–ÖÞ%Ü×_‰zóÎ4h7nsçG„Ý? 5áx±ªªa”ªqb^Þ;T;h$7B9?ÿ‚F’+fÒ-GçX<!Ì&AàxánV³tƒE‘YšeÇm˜ñÏñÜ¢îÅ<ÏáWUUí¬ùàKzŽY©>ZGõÉ©Ð·dß>P»¦†ãôî"§RäËËÝÂªqƒú¤žþ(KÍŽšÜ FöÊ„“^P!FvReïU!v™lÝÒ;µ{aÜßãRSãÎ7×éœ1z–³ðtÖè¹Î¢Š‚©DçÈ~.±(ëš"XœæO:Y= *d•o]„,›U¥†d"&H¥†ÏL‹ÚfƒHÚ‡¬²FÍš±ªìó­È[­HÚ(mg¬^ézk¾ñä;ÏÛ€?›<v%ùŸBþò•éþHÂt    IEND®B`‚07070100040dcf000081a40000000000000002000000013d1fe2e30000052e000000200000000000000000000000000000002000000003reloc/fetchmail/images/icon.gif   GIF89a0 0 ç  ŽŽŽ³³³ˆˆˆˆ†„ïïïþþþ÷÷÷šššŽyh}U0ˆ[5Š\7{l`¡¡¡ÐÐÐrrrrY‹bA«{S¸Š`³‚X¦wP„tgÊÊÊÖÖÖ§§§›››   222–––ˆq^‚bF`9ª}U¿ŽaÇ™oÇ v¶‰`—mHuX?¬œµµµÿÿÿäää¯¯¯QQQóóó{S2œtN­}S±‚Y¹bÄ”kÍ£zÏ«‚Î«‚ÎªÐ©€Ä™p}T1°œ‹º´®£¤¤ÙÙÙòòò¾¾¾TTT’d=¶ˆ_¹Šaµ‡]¸‰`Å—lÐ¦|Ð­ƒÍ©€Í­ƒÑ°ƒÑ­ƒÎ§~±‡_šwW—~j…tfÄÄÄáááííí¹ˆ^¼b¼‹b¼‘b¿”lÎ¨Í¥{Í¤zË vÐª{Ð¨}Î©€Ó°Ëœr½Š`³Šc¯™†ÞÞÞ¤¤¤ÑÑÑÁÁÁûûû¿‘dÃ“hÁ‘f¼Œb´‹a­‰eÌ¥|Ì©Ë¢xÆšq¥vN•kEÇ›pÉœsÇ—n~S0ýýýüüüÃ“eÅ“jÀf»Œb»b¾“dÁd«„`ŸxS“b8“b9}m_˜~j”pP—iC”f?™kEšy_UUU¿“eÁf¼‹c¼Žc¾Žc¿Že²X®}S±€W‡wiáÙÓÒÇ¾ÎÃº¯¬©ååå¼bº‰`‹{m¼¼¼êêê¸‡]¶…[º‰_»Šaøøøôôô¸¸¸¹‰`›nH‹^9’f?¯ƒZªzRŒ_:¹¹¹çççèèèˆ]9“€e®’‚œk{Z>}Z>mU†}xöööºººŒŒŒAAA:::ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç CŠI²¤I ¨\É²¥K•. P ¦Í›8s80A4ÈI´¨ƒ!D0B0j3ƒ†X³rèÀ• ‡ BˆA¢„‰(R\PQ€­Û¶pßªXÁCƒ¬Y[¸pñB Œ2fÐ¨aãŽ:vðèáã TkI!ÄE»x7©Ù€‘"FŽ I¢d	“&Nž0EÊ*ªLµ’áÂ›˜ñQ¡¢–,Y´hÙÂ¥‹/_À„3†L3gÐ¤Q³† oÞk°iswî¬›/þ»y'Nœ,ræÐ©cçyôìá¦6Ù·OÏþ'çw¬á5 H ‚Ä1!…r"‰(’È"Œ4âÈ#D"„5Ñ&[MÜvÓHÂÙ$”Tbb%–\‚I&šl²	'tâ‰'Ÿ€ÊTA¤`À‡™iÆ™(Â9\£hAÊM¥¬Y)˜‚["^ä)¨¤¢EpÂ©bdM«”âä’¬´Ùe=èÊ+°(‹,X´‰Å,´ÐÂ@MµØ²äM­ÜBffâ’‹.ºìÂK/„öâ ¿ SMwÚd@0W€eðÂ/eÚ’ ô¸UÂ˜Ôã0'	DÌ©¨–ªêª¬¶êê«°Æ*ë¬´Öjë­	 ;  07070100040dd0000081a40000000000000002000000013d1fe2e300000145000000200000000000000000000000000000001f00000003reloc/fetchmail/images/old.gif    GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ ÿÿ ÿ    ÿ                        !ù   ,    0 0  òÉI«½8ëÍ»ÿ`(Ždižhª®lë¾pütmßx®ëüÀ pH,½À` \6•Æ(@¥äÄ'íF«ƒ«•ø–L'Ó+­Ä…l’Mº¯ä2·^'nY H{|l~€d5†‡]nUYŽ5@NChiu„ž•4—ššM££?¦ ;{›jjO§¨±Ÿ9—¥¤h¹»i£«¬]»|µ„·^À;A¾§¦¸¸»ÅÇO³³¯¢Ù³ÊÔPÞßÞkàkâÅŸ†ÍPÍ¤ê×˜DeÈÄsôñó÷lùûø=æ
øI†Áƒ*\È°¡Ã‡#Jì ;   0707010003f634000081e40000000000000002000000013d1fe2e30000100d000000200000000000000000000000000000001a00000003reloc/fetchmail/index.cgi #!/usr/local/bin/perl
# index.cgi
# Show fetchmail configurations

require './fetchmail-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("fetchmail", "doc", "man", "google"));
print "<hr>\n";

# Check if fetchmail is installed
if (!&has_command($config{'fetchmail_path'})) {
	print "<p>",&text('index_efetchmail',
			  "<tt>$config{'fetchmail_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

if ($config{'config_file'}) {
	# Just read one config file
	@conf = &parse_config_file($config{'config_file'});
	@conf = grep { $_->{'poll'} } @conf;
	print "<b>",&text('index_file',
			  "<tt>$config{'config_file'}</tt>"),"</b><p>\n";
	&show_polls(\@conf, $config{'config_file'}, $config{'daemon_user'});

	# Show the fetchmail daemon form
	local @uinfo = getpwnam($config{'daemon_user'});
	print "<hr>\n";
	print "<table width=100%><tr><td>\n";
	foreach $pf ($config{'pid_file'},
		     "$uinfo[7]/.fetchmail.pid", "$uinfo[7]/.fetchmail") {
		if (open(PID, $pf) && ($line=<PID>) &&
		    (($pid,$interval) = split(/\s+/, $line)) && $pid &&
		    kill(0, $pid)) {
			$running++;
			last;
			}
		}
	if ($running) {
		# daemon is running - offer to stop it
		print "<form action=stop.cgi>\n";
		print "<input type=submit value='$text{'index_stop'}'></td>\n";
		print "<td>",&text('index_stopmsg',
				   "<tt>$config{'daemon_user'}</tt>",
				   $interval),"</td>\n";
		}
	else {
		# daemon isn't running - offer to start it
		print "<form action=start.cgi>\n";
		print "<input type=submit value='$text{'index_start'}'></td>\n";
		print "<td>",&text('index_startmsg',
				   "<input name=interval size=5 value='60'>",
				   "<tt>$config{'daemon_user'}</tt>"),"</td>\n";
		}
	print "</td></tr></table></form>\n";
	}
else {
	# Read all users' .fetchmailrc files
	setpwent();
	while(@uinfo = getpwent()) {
		next if ($donehome{$uinfo[7]}++);
		next if (!&can_edit_user($uinfo[0]));
		@conf = &parse_config_file("$uinfo[7]/.fetchmailrc");
		@conf = grep { $_->{'poll'} } @conf;
		if (@conf) {
			if (!$doneheader++) {
				&show_button();
				print "<table border width=100%>\n";
				print "<tr $tb> <td><b>$text{'index_user'}</b></td> <td><b>$text{'index_conf'}</b></td> </tr>\n";
				}
			print "<tr $cb>\n";
			print "<td valign=top><b>",&html_escape($uinfo[0]),
			      "</b></td> <td>\n";
			&show_polls(\@conf, "$uinfo[7]/.fetchmailrc",
				    $uinfo[0]);
			print "</td> </tr>\n";
			}
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	print "</table>\n" if ($doneheader);
	print "<br><b>$text{'index_none'}</b><br>\n" if (!$doneheader);

	&show_button();
	}

print "<hr>\n";
&footer("/", $text{'index'});

# show_polls(&polls, file, user)
sub show_polls
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_poll'}</b></td> ",
      "<td><b>$text{'index_proto'}</b></td> ",
      "<td><b>$text{'index_users'}</b></td> </tr>\n" if (@{$_[0]});
foreach $p (@{$_[0]}) {
	print "<tr $cb>\n";
	print "<td valign=top><a href='edit_poll.cgi?file=$_[1]&",
	      "idx=$p->{'index'}&user=$_[2]'>",&html_escape($p->{'poll'}),
	      "</a></td>\n";
	print "<td>",$p->{'proto'} ? &html_escape(uc($p->{'proto'}))
				   : $text{'default'},"</td>\n";
	print "<td>\n";
	foreach $u (@{$p->{'users'}}) {
		printf "%s -> %s<br>\n",
			&html_escape($u->{'user'}),
			&html_escape(@{$u->{'is'}} ? join(" ", @{$u->{'is'}})
						   : $_[2]);
		}
	print "</td> </tr>\n";
	}
print "</table>\n";
print "<a href='edit_poll.cgi?new=1&file=$_[1]&user=$_[2]'>$text{'index_add'}</a>\n";
print "&nbsp;&nbsp;\n";
print "<a href='edit_global.cgi?file=$_[1]&user=$_[2]'>$text{'index_global'}</a>\n";
print "&nbsp;&nbsp;\n";
if (@{$_[0]}) {
	print "<a href='check.cgi?file=$_[1]&user=$_[2]'>$text{'index_run'}</a>\n";
	}
print "<p>\n";
}

sub show_button
{
if ($access{'mode'} != 3 || !$doneheader) {
	print "<form action=edit_poll.cgi>\n";
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value='$text{'index_ok'}'>\n";
	print &unix_user_input("user");
	print "</form>\n";
	}
}

   070701000425a3000041ed0000000000000001000000023d1ffa2900000000000000200000000000000000000000000000001500000003reloc/fetchmail/lang  070701000425a4000081a40000000000000002000000013d1fe2e300001023000000200000000000000000000000000000001800000003reloc/fetchmail/lang/ca   index_title=Recuperació de Correu Fetchmail
index_poll=Servidor
index_proto=Protocol
index_users=Usuaris remots i locals
index_add=Afegeix un nou servidor
index_run=Comprova tots els servidors
index_global=Edita els valors per defecte
index_user=Usuari Unix
index_conf=Configuració de Fetchmail
index_ok=Afegeix servidor Fetchmail per a l'usuari:
index_file=Configuració Fetchmail de $1
index_return=a la llista de servidors
index_start=Inicia el Dimoni de Fetchmail
index_stop=Atura el Dimoni de Fetchmail
index_startmsg=Fes clic sobre aquest botó per iniciar el dimoni del fetchmail en aquest servidor, i deixa que comprovi el correu cada $1 segons.<br>El dimoni s'executarà com a usuari $2 i farà servir la configuració d'aquí sobre.
index_stopmsg=Fes clic sobre el botó per aturar el dimoni del fetchmail actualment en execució. El correu ja no es descarregarà automàticament cada $2 segons.
index_efetchmail=No s'ha trobat el programa de fetchmail $1. Pot ser que el fetchmail no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_none=No hi ha cap usuari Unix que tingui un fitxer <tt>.fetchmailrc</tt>.

poll_create=Afegeix Servidor
poll_edit=Edita Servidor
poll_header=Opcions del servidor de correu
poll_poll=Nom del servidor
poll_skip=Polling activat
poll_via=Servidor de correu a contactar
poll_via_def=Igual que el nom del servidor
poll_proto=Protocol
poll_port=Port del servidor
poll_uheader=Detalls d'usuari del servidor de correu
poll_user=Usuari remot
poll_pass=Contrasenya remota
poll_is=Usuaris locals
poll_keep=Deixa els missatges al servidor
poll_fetchall=Recupera sempre tots els missatges
poll_err=No he pogut desar el servidor
poll_epoll=Hi falta el nom del servidor o bé no és vàlid
poll_evia=Nom de servidor de correu invàlid
poll_eport=Hi falta el número de port o bé no és vàlid
poll_euser=Hi falta el nom remot de l'usuari o bé no és vàlid
poll_adduser=Afegeix un altre usuari
poll_check=Comprova aquest servidor
poll_interface=Comprova l'estat
poll_interface_def=Comprova-ho sempre
poll_interface_ifc=Només si la interfície és activa
poll_interface_ip=amb l'adreça / màscara
poll_einterface=Hi falta la interfície de xarxa o bé no és valida
poll_enet=Hi falta l'adreça o bé no és vàlida
poll_emask=Adreça de màscara invàlida
poll_preconnect=Ordre a executar abans de connectar
poll_postconnect=Ordre a executar després de connectar
poll_ecannot=No tens permís per editar la configuració fetchmail d'aquest usuari
poll_efile=Només es poden editar fitxers de configuració fetchmail d'usuaris

stop_err=No he pogut aturar el fetchmail
start_err=No he pogut iniciar el fetchmail
start_einterval=Hi falta l'interval de comprovació o bé no és vàlid

check_title=Comprovació de Servidors
check_exec=Comprovant el correu al(s) servidor(s) amb l'ordre $1...
check_ok=...comprovació completa.
check_failed=...la comprovació ha fallat!

global_title=Valors per Defecte
global_header=Valors per defecte de tots els servidors
global_err=No he pogut desar els valors per defecte

log_create_poll_file=He afegit el servidor $1 al fitxer $2
log_modify_poll_file=He modificat el servidor $1 del fitxer $2
log_delete_poll_file=He suprimit el servidor $1 del fitxer $2
log_create_poll_user=He afegit el servidor $1 per a l'usuari $2
log_modify_poll_user=He modificat el servidor $1 per a l'usuari $2
log_delete_poll_user=He suprimit el servidor $1 per a l'usuari $2
log_check_file_file=He comprovat tots els servidors del fitxer $1
log_check_file_server=He comprovat el servidor $2 del fitxer $1
log_check_user_file=He comprovat tots els servidors per a l'usuari $1
log_check_user_server=He comprovat el servidor $2 per a l'usuari $1
log_check_server_l=He comprovat el servidor $2 del fitxer $1
log_global_user=He canviat els valors globals de l'usuari $1
log_global_file=He canviat els valors globals del fitxer $1
log_start=He iniciat el dimoni del fetchmail
log_stop=He aturat el dimoni del fetchmail

acl_users=Pot editar el fitxer de configuració de
acl_all=Tots els usuaris
acl_this=L'usuari Webmin actual
acl_only=Només els usuaris
acl_except=Tots els usuaris excepte

 070701000425a5000081a40000000000000002000000013d1fe2e300001308000000200000000000000000000000000000001800000003reloc/fetchmail/lang/de   #        webmin-0.97     fetchmail/lang/de
#
#        created: ??-???-????                by: ???
#        last modified: 03-jun-2002          Rev.: 03-06-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 03.06.2002        Rev.: 03.06.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Fetchmail

index_poll=Abzufragender Server
index_proto=Protokoll
index_users=Entfernter und lokaler Anwender
index_add=Hinzuf&uuml;gen eines neuen Servers
index_run=&Uuml;berpr&uuml;fe alle Server
index_global=Bearbeitung der Standard-Einstellungen
index_user=Unix-Anwender
index_conf=Fetchmail-Konfiguration
index_ok=Hinzuf&uuml;gen eines Fetchmail-Servers f&uuml;r den Benutzer:
index_file=Fetchmail-Konfiguration in $1
index_return=Server-Liste
index_start=Starte Fetchmail-D&auml;mon
index_stop=Stoppe Fetchmail-D&auml;mon
index_startmsg=Klicken Sie hier, um das Fetchmail-Programm auf diesem Rechner zu starten und alle $1 Sekunden nach Post zu sehen.<br>Das Programm wird als Benutzer $2 starten und die obige Konfiguration verwenden.
index_stopmsg=Klicken Sie hier, um das Fetchmail-Programm zu stoppen das momentan als Benutzer $1 arbeitet. Die Post wird dann nicht mehr alle $2 Sekunden abgeholt.
index_efetchmail=Das Fetchmail-Programm $1 konnte nicht gefunden werden. Vielleicht ist Fetchmail nicht auf dem System installiert, oder die <a href='$2'>Modul Konfiguration</a> stimmt nicht.
index_none=Keiner der Unix-Benutzer hat eine <tt>.fetchmailrc</tt> Datei.

poll_create=Server hinzuf&uuml;gen
poll_edit=Server bearbeiten
poll_header=Mailserver-Optionen
poll_poll=Mailserver-Name
poll_skip=Abholung aktiviert?
poll_via=Mailserver der abgefragt werden soll
poll_via_def=Identisch mit Mailserver-Name
poll_proto=Protokoll
poll_port=Mailserver-Port
poll_uheader=Mailserver Benutzerdetails
poll_user=Benutzername auf Mailserver
poll_pass=Pa&szlig;wort auf Mailserver
poll_is=Lokaler Benutzer
poll_keep=Nachrichten auf dem Server belassen?
poll_fetchall=Immer alle Nachrichten abholen?
poll_err=Konnte Server nicht speichern
poll_epoll=Der Servername fehlt oder stimmt nicht
poll_evia=Fehlender oder ung&uuml;ltiger Mailserver-Name
poll_eport=Fehlende oder ung&uuml;ltige Portnummer
poll_euser=Der entfernte Benutzername fehlt oder stimmt nicht
poll_adduser=Benutzer hinzuf&uuml;gen
poll_check=Pr&uuml;fe diesen Server
poll_interface=Pr&uuml;fe Zustand
poll_interface_def=Pr&uuml;fe immer
poll_interface_ifc=Nur wenn die Schnittstelle aktiviert ist
poll_interface_ip=mit Adresse / Netzmaske
poll_einterface=Fehlende oder ung&uuml;ltige Netzwerkschnittstelle
poll_enet=Fehlende oder ung&uuml;ltige Adresse
poll_emask=Die Netzmaske ist ung&uuml;ltig
poll_preconnect=Befehl, der vor dem Verbindungsaufbau ausgef&uuml;hrt werden soll
poll_postconnect=Befehl, der nach dem Verbindungsaufbau ausgef&uuml;hrt werden soll
poll_ecannot=Sie sind nicht berechtigt die Fetchmail-Konfiguration dieses Benutzers zu bearbeiten
poll_efile=Nur die Fetchmail-Konfigurationsdateien des Benutzers k&ouml;nnen ge&auml;ndert werden

stop_err=Konnte Fetchmail nicht anhalten
start_err=Konnte Fetchmail nicht aktivieren
start_einterval=Das Pr&uuml;fintervall fehlt oder ist ung&uuml;ltig

check_title=Pr&uuml;fe Server
check_exec=Pr&uuml;fe Mails auf Server(n) mit dem Befehl $1 ...
check_ok=... Pr&uuml;fung vollst&auml;ndig.
check_failed=... Pr&uuml;fung gescheitert!

global_title=Standard-Einstellungen
global_header=Standard-Einstellungen f&uuml;r alle Server
global_err=Das Speichern der Standard-Einstellungen ist gescheitert

log_create_poll_file=Server $1 wurde in der Datei $2 eingef&uuml;gt
log_modify_poll_file=Server $1 wurde in der Datei $2 bearbeitet
log_delete_poll_file=Server $1 wurde in der Datei $2 gel&ouml;scht
log_create_poll_user=Server $1 wurde f&uuml;r Benutzer $2 eingef&uuml;gt
log_modify_poll_user=Server $1 wurde f&uuml;r Benutzer $2 bearbeitet
log_delete_poll_user=Server $1 wurde f&uuml;r benutzer $2 gel&ouml;scht
log_check_file_file=Alle Server der Datei $1 gepr&uuml;ft
log_check_file_server=Server $2 der Datei $1 gepr&uuml;ft
log_check_user_file=Alle Server f&uuml;r Benutzer $1 gepr&uuml;ft
log_check_user_server=Server $2 f&uuml;r Benutzer $1 gepr&uuml;ft
log_check_server_l=Server $2 der Datei $1 gepr&uuml;ft
log_global_user=Allgemeine Einstellungen des Bentzers $1 ge&auml;ndert
log_global_file=Allgemeine Einstellungen in der Datei $1 ge&auml;ndert
log_start=Fetchmail-Programm gestartet
log_stop=Fetchmail-Programm gestoppt

acl_users=Kann Fetchmail-Konfiguration bearbeiten f&uuml;r
acl_all=Alle Benutzer
acl_this=Aktuellen Webmin-Benutzer
acl_only=Nur Benutzer
acl_except=Alle Benutzer au&szlig;er070701000425a6000081a40000000000000002000000013d1fe2e300000d81000000200000000000000000000000000000001800000003reloc/fetchmail/lang/en   index_title=Fetchmail Mail Retrieval
index_poll=Server to poll
index_proto=Protocol
index_users=Remote and local users
index_add=Add a new server
index_run=Check all servers
index_global=Edit default settings
index_user=Unix user
index_conf=Fetchmail configuration
index_ok=Add Fetchmail server for user:
index_file=Fetchmail configuration in $1
index_return=server list
index_start=Start Fetchmail Daemon
index_stop=Stop Fetchmail Daemon
index_startmsg=Click this button to start the fetchmail daemon on this server, and have it check for mail every $1 seconds.<br>The daemon will run as user $2 and use the configuration above.
index_stopmsg=Click this button to stop the fetchmail daemon currently running as user $1. Mail will no longer be automatically downloaded every $2 seconds.
index_efetchmail=The fetchmail program $1 could not be found. Maybe fetchmail is not installed on your system, or your <a href='$2'>module configuration</a> is incorrect.
index_none=No Unix users have <tt>.fetchmailrc</tt> files.

poll_create=Add Server
poll_edit=Edit Server
poll_header=Mail server options
poll_poll=Server name
poll_skip=Polling enabled?
poll_via=Mail server to contact
poll_via_def=Same as server name
poll_proto=Protocol
poll_port=Server port
poll_uheader=Mail server user details
poll_user=Remote user
poll_pass=Remote password
poll_is=Local user(s)
poll_keep=Leave messages on server?
poll_fetchall=Always fetch all messages?
poll_err=Failed to save server
poll_epoll=Missing or invalid server name
poll_evia=Invalid mail server name
poll_eport=Missing or invalid port number
poll_euser=Missing or invalid remote user name
poll_adduser=Add another user
poll_check=Check this server
poll_interface=Check condition
poll_interface_def=Always check
poll_interface_ifc=Only if interface is up
poll_interface_ip=with address / netmask
poll_einterface=Missing or invalid network interface
poll_enet=Missing or invalid address
poll_emask=Invalid address netmask
poll_preconnect=Command to run before connecting
poll_postconnect=Command to run after connecting
poll_ecannot=You are not allowed to edit this user's fetchmail config
poll_efile=Only users' fetchmail config files can be edited

stop_err=Failed to stop fetchmail
start_err=Failed to start fetchmail
start_einterval=Missing or invalid checking interval

check_title=Checking Servers
check_exec=Checking for mail on server(s) with command $1 ..
check_ok=.. checking complete.
check_failed=.. checking failed!

global_title=Default Settings
global_header=Default settings for all servers
global_err=Failed to save default settings

log_create_poll_file=Added server $1 in file $2
log_modify_poll_file=Modified server $1 in file $2
log_delete_poll_file=Deleted server $1 in file $2
log_create_poll_user=Added server $1 for user $2
log_modify_poll_user=Modified server $1 for user $2
log_delete_poll_user=Deleted server $1 for user $2
log_check_file_file=Checked all servers in file $1
log_check_file_server=Checked server $2 in file $1
log_check_user_file=Checked all servers for user $1
log_check_user_server=Checked server $2 for user $1
log_check_server_l=Checked server $2 in file $1
log_global_user=Changed global settings for user $1
log_global_file=Changed global settings in file $1
log_start=Started fetchmail daemon
log_stop=Stopped fetchmail daemon

acl_users=Can edit fetchmail config for
acl_all=All users
acl_this=Current webmin user
acl_only=Only users
acl_except=All except users

   070701000425a7000081a40000000000000002000000013d1fe2e300000e85000000200000000000000000000000000000001800000003reloc/fetchmail/lang/es   index_title=Recolector de Correo Fetchmail
index_poll=Servidor a interrogar
index_proto=Protocolo
index_users=Usuarios locales y remotos
index_add=Añadir un nuevo servidor
index_run=Revisar todos los servidores
index_global=Editar valores por defecto
index_user=Usuario Unix
index_conf=Configuración de Fetchmail
index_ok=Añadir servidor Fetchmail para usuario:
index_file=Configuración de Fetchmail en $1
index_return=lista de servidores
index_start=Arrancar Demonio Fetchmail
index_stop=Parar Demonio Fetchmail
index_startmsg=Haz click en este botón para arrancar el demonio de fetchmail de este servidor y hacer que revise el correo cada $1 segundos.<br>El demonio se ejecutará como usuario $2 y usará la configuración de arriba.
index_stopmsg=Haz click en este botón para parar el demonio de fetchmail que actuálmente se está ejecutando como usuario $1. El correo ya no se descargará automáticamente cada $2 segundos.
index_efetchmail=El programa de fetchmail $1 no pudo ser hallado. Quizás fetchmail no está instalado en tu sistema o tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_none=No hay usuarios de Unix que tengan archivos <tt>.fetchmailrc</tt>.

poll_create=Añadir Servidor
poll_edit=Editar Servidor
poll_header=Opciones de servidor de correo
poll_poll=Nombre de Servidor
poll_skip=¿Interrogación activada?
poll_via=Servidor de correo a contactar
poll_via_def=El mismo que el nombre del servidor
poll_proto=Protocolo
poll_port=Puerto del Servidor
poll_uheader=Detalles de usuario del servidor de Correo
poll_user=Usuario remoto
poll_pass=Clave de acceso remota
poll_is=Usuario(s) local(es)
poll_keep=¿Dejo los mensajes en el servidor?
poll_fetchall=¿Recojo siempre todos los mensajes?
poll_err=No pude salvar el servidor
poll_epoll=Nombre de servidor falta o es inválido
poll_evia=Nombre de servidor de correo inválido
poll_eport=Número de puerto falta o es inválido
poll_euser=Nombre de usuario remoto falta o es inválido
poll_adduser=Añadir otro usuario
poll_check=Revisar este servidor
poll_interface=Condición de chequeo
poll_interface_def=Siempre chequear
poll_interface_ifc=Sólo si la interfaz está levantada
poll_interface_ip=con dirección / máscara de red
poll_einterface=Interfaz de red falta o es inválida
poll_enet=Dirección falta o es inválida
poll_emask=Máscara de red de dirección inválida
poll_preconnect=Comando a ejecutar antes de conectar
poll_postconnect=Comando a ejecutar tras conectar

stop_err=No pude parar fetchmail
start_err=No pude arrancar fetchmail
start_einterval=Intervalo de chequeo falta o es inválido

check_title=Revisando Servidores
check_exec=Revisando si hay correo en servidor(es) mediante comando $1...
check_ok=... revisión terminada.
check_failed=... ¡revisión fallida!

global_title=Valores por Defecto
global_header=Valores por defecto para todos los servidores
global_err=No pude salvar valores por defecto

log_create_poll_file=Añadido servidor $1 en archivo $2
log_modify_poll_file=Modificado servidor $1 en archivo $2
log_delete_poll_file=Borrado servidor $1 en archivo $2
log_create_poll_user=Añadido servidor $1 para usuario $2
log_modify_poll_user=Modificado servidor $1 para usuario $2
log_delete_poll_user=Borrado servidor $1 para usuario $2
log_check_file_file=Revisados todos los servidores en archivo $1
log_check_file_server=Revisado servidor $2 en archivo $1
log_check_user_file=Revisados todos los servidores para usuario $1
log_check_user_server=Revisado servidor $2 para usuario $1
log_check_server_l=Revisado servidor $2 en archivo $1
log_global_user=Cambiados valores globales para usuario $1
log_global_file=Cambiados valores globales en archivo $1
log_start=Arrancado demonio fetchmail
log_stop=Parado demonio fetchmail
   070701000425a8000081a40000000000000002000000013d1fe2e300000c76000000200000000000000000000000000000001800000003reloc/fetchmail/lang/it   index_title=Fetchmail Mail Retrieval
index_poll=Server to poll
index_proto=Protocol
index_users=Remote and local users
index_add=Add a new server
index_run=Check all servers
index_global=Edit default settings
index_user=Unix user
index_conf=Fetchmail configuration
index_ok=Add Fetchmail server for user:
index_file=Fetchmail configuration in $1
index_return=server list
index_start=Start Fetchmail Daemon
index_stop=Stop Fetchmail Daemon
index_startmsg=Click this button to start the fetchmail daemon on this server, and have it check for mail every $1 seconds.<br>The daemon will run as user $2 and use the configuration above.
index_stopmsg=Click this button to stop the fetchmail daemon currently running as user $1. Mail will no longer be automatically downloaded every $2 seconds.
index_efetchmail=The fetchmail program $1 could not be found. Maybe fetchmail is not installed on your system, or your <a href='$2'>module configuration</a> is incorrect.
index_none=No Unix users have <tt>.fetchmailrc</tt> files.

poll_create=Add Server
poll_edit=Edit Server
poll_header=Mail server options
poll_poll=Server name
poll_skip=Polling enabled?
poll_via=Mail server to contact
poll_via_def=Same as server name
poll_proto=Protocol
poll_port=Server port
poll_uheader=Mail server user details
poll_user=Remote user
poll_pass=Remote password
poll_is=Local user(s)
poll_keep=Leave messages on server?
poll_fetchall=Always fetch all messages?
poll_err=Failed to save server
poll_epoll=Missing or invalid server name
poll_evia=Invalid mail server name
poll_eport=Missing or invalid port number
poll_euser=Missing or invalid remote user name
poll_adduser=Add another user
poll_check=Check this server
poll_interface=Check condition
poll_interface_def=Always check
poll_interface_ifc=Only if interface is up
poll_interface_ip=with address / netmask
poll_einterface=Missing or invalid network interface
poll_enet=Missing or invalid address
poll_emask=Invalid address netmask
poll_preconnect=Command to run before connecting
poll_postconnect=Command to run after connecting

stop_err=Failed to stop fetchmail
start_err=Failed to start fetchmail
start_einterval=Missing or invalid checking interval

check_title=Checking Servers
check_exec=Checking for mail on server(s) with command $1 ..
check_ok=.. checking complete.
check_failed=.. checking failed!

global_title=Default Settings
global_header=Default settings for all servers
global_err=Failed to save default settings

log_create_poll_file=Added server $1 in file $2
log_modify_poll_file=Modified server $1 in file $2
log_delete_poll_file=Deleted server $1 in file $2
log_create_poll_user=Added server $1 for user $2
log_modify_poll_user=Modified server $1 for user $2
log_delete_poll_user=Deleted server $1 for user $2
log_check_file_file=Checked all servers in file $1
log_check_file_server=Checked server $2 in file $1
log_check_user_file=Checked all servers for user $1
log_check_user_server=Checked server $2 for user $1
log_check_server_l=Checked server $2 in file $1
log_global_user=Changed global settings for user $1
log_global_file=Changed global settings in file $1
log_start=Started fetchmail daemon
log_stop=Stopped fetchmail daemon
  070701000425a9000081a40000000000000002000000013d1fe2e3000003ef000000200000000000000000000000000000001f00000003reloc/fetchmail/lang/ja_JP.euc    index_title=Fetchmail ¥á¡¼¥ë¼èÆÀ
index_poll=¥Ý¡¼¥ê¥ó¥°¤¹¤ë¥µ¡¼¥Ð
index_proto=¥×¥í¥È¥³¥ë
index_users=¥ê¥â¡¼¥È¤ª¤è¤Ó¥í¡¼¥«¥ë ¥æ¡¼¥¶
index_add=¿·µ¬¥µ¡¼¥Ð¤òÄÉ²Ã
index_run=¥ê¥¹¥È¤µ¤ì¤¿¥µ¡¼¥Ð¤Î¸¡ºº
index_user=Unix ¥æ¡¼¥¶
index_conf=Fetchmail ÀßÄê
index_ok=¼¡¤Î¥æ¡¼¥¶ÍÑ¤Î Fetchmail ÀßÄê¤òÊÔ½¸:
index_file=$1 ¤ÎFetchmail ÀßÄê
index_return=¥µ¡¼¥Ð ¥ê¥¹¥È

poll_create=¥µ¡¼¥Ð¤òÄÉ²Ã
poll_edit=¥µ¡¼¥Ð¤òÊÔ½¸
poll_header=¥á¡¼¥ë ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó
poll_poll=¥µ¡¼¥ÐÌ¾
poll_skip=¥Ý¡¼¥ê¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
poll_via=ÀÜÂ³¤¹¤ë¥á¡¼¥ë ¥µ¡¼¥Ð
poll_via_def=¥µ¡¼¥ÐÌ¾¤ÈÆ±¤¸
poll_proto=¥×¥í¥È¥³¥ë
poll_port=¥µ¡¼¥Ð ¥Ý¡¼¥È
poll_uheader=¥á¡¼¥ë ¥µ¡¼¥Ð¤Î¥æ¡¼¥¶¤Î¾ÜºÙ
poll_user=¥ê¥â¡¼¥È ¥æ¡¼¥¶
poll_pass=¥ê¥â¡¼¥È ¥Ñ¥¹¥ï¡¼¥É
poll_is=¥í¡¼¥«¥ë ¥æ¡¼¥¶
poll_keep=¥µ¡¼¥Ð¤Ë¥á¥Ã¥»¡¼¥¸¤ò»Ä¤·¤Þ¤¹¤«¡©
poll_fetchall=¾ï¤Ë¤¹¤Ù¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò¼è¤ê½Ð¤·¤Þ¤¹¤«¡©
poll_err=¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
poll_epoll=¥µ¡¼¥ÐÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
poll_evia=¥á¡¼¥ë ¥µ¡¼¥ÐÌ¾¤¬Ìµ¸ú¤Ç¤¹
poll_eport=¥Ý¡¼¥ÈÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
poll_euser=¥ê¥â¡¼¥È ¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

 070701000425aa000081a40000000000000002000000013d1fe2e300000382000000200000000000000000000000000000001f00000003reloc/fetchmail/lang/ko_KR.euc    index_title=Fetchmail ¸ÞÀÏ °Ë»ö
index_poll=Æú¸µÇÒ ¼­¹ö
index_proto=ÇÁ·ÎÅäÄÝ
index_users=¿ø°Ý ¹× ·ÎÄÃ »ç¿ëÀÚ
index_add=»õ ¼­¹ö Ãß°¡
index_run=³ª¿­µÈ ¼­¹ö °Ë»ç
index_user=Unix »ç¿ëÀÚ
index_conf=Fetchmail ±¸¼º
index_ok=»ç¿ëÀÚÀÇ Fetchmail ±¸¼º ÆíÁý:
index_file=$1ÀÇ Fetchmail ±¸¼º
index_return=¼­¹ö ¸ñ·Ï

poll_create=¼­¹ö Ãß°¡
poll_edit=¼­¹ö ÆíÁý
poll_header=¸ÞÀÏ ¼­¹ö ¿É¼Ç
poll_poll=¼­¹ö ÀÌ¸§
poll_skip=Æú¸µ ±â´ÉÀ» ¼³Á¤ÇÕ´Ï±î?
poll_via=¿¬¶ôÇÒ ¸ÞÀÏ ¼­¹ö
poll_via_def=¼­¹ö ÀÌ¸§°ú µ¿ÀÏ
poll_proto=ÇÁ·ÎÅäÄÝ
poll_port=¼­¹ö Æ÷Æ®
poll_uheader=¸ÞÀÏ ¼­¹ö »ç¿ëÀÚ ¼¼ºÎ Á¤º¸
poll_user=¿ø°Ý »ç¿ëÀÚ
poll_pass=¿ø°Ý »ç¿ëÀÚ ¾ÏÈ£
poll_is=·ÎÄÃ »ç¿ëÀÚ
poll_keep=¼­¹ö¿¡ ¸Þ½ÃÁö¸¦ ÀúÀåÇÕ´Ï±î?
poll_fetchall=Ç×»ó ¸ðµç ¸Þ½ÃÁö¸¦ Ç×»ó °¡Á®¿É´Ï±î?
poll_err=¼­¹ö¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
poll_epoll=¾ø°Å³ª Àß¸øµÈ ¼­¹ö ÀÌ¸§
poll_evia=Àß¸øµÈ ¸ÞÀÏ ¼­¹ö ÀÌ¸§
poll_eport=¾ø°Å³ª Àß¸øµÈ Æ÷Æ® ¹øÈ£
poll_euser=¾ø°Å³ª Àß¸øµÈ ¿ø°Ý »ç¿ëÀÚ ÀÌ¸§

  070701000425ab000081a40000000000000002000000013d1fe2e300000e5a000000200000000000000000000000000000001800000003reloc/fetchmail/lang/pl   index_title=Pobieranie poczty przez fetchmaila
index_poll=Odpytywany serwer
index_proto=Protokó³
index_users=U¿ytkownicy zdalni i&nbsp;lokalni
index_add=Dodaj nowy serwer
index_run=Sprawd¼ wszystkie serwery
index_global=Zmieñ ustawienia domy¶lne
index_user=U¿ytkownik Uniksa
index_conf=Konfiguracja fetchmaila
index_ok=Dodaj serwer fetchmaila dla y¿ytkownika:
index_file=Konfiguracja fetchmaila w&nbsp;$1
index_return=listy serwerów
index_start=Uruchom serwer fetchmaila
index_stop=Zatrzymaj serwer fetchmaila
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer fetchmaila aby sprawdza³ on pocztê co $1 sekund.<br>Serwer bedzie dzia³a³ z&nbsp;prawami u¿ytkownika $2 i&nbsp;korzysta³ z&nbsp;powy¿szej konfiguracji.
index_stopmsg=Click this button to stop the fetchmail daemon currently running as user $1. Mail will no longer be automatically downloaded every $2 seconds.
index_efetchmail=Nie znaleziono programu fetchmaila $1. Mo¿liwe, ¿e w systemie nie zainstalowano fetchmaila lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_none=¯aden u¿ytkownik Uniksa nie posiada pliku <tt>.fetchmailrc</tt>.

poll_create=Dodaj serwer
poll_edit=Zmieñ serwer
poll_header=Opcje serwera poczty
poll_poll=Nazwa serwera
poll_skip=Odpytywanie w³±czone?
poll_via=Serwer pocztowy u¿ywany do komunikacji
poll_via_def=Taki sam jak nazwa serwera
poll_proto=Protokó³
poll_port=Port serwera
poll_uheader=Dane u¿ytkownika serwera poczty
poll_user=U¿ytkownik zdalny
poll_pass=Has³o zdalne
poll_is=U¿ytkownicy lokalni
poll_keep=Pozostawiaæ wiadomo¶ci na serwerze?
poll_fetchall=Zawsze pobieraæ wszystkie wiadomo¶ci?
poll_err=Nie uda³o siê zachowaæ serwera
poll_epoll=Nie podana lub niepoprawna nazwa serwera
poll_evia=Niepoprawna nazwa serwera poczty
poll_eport=Nie podany lub niepoprawny numer portu
poll_euser=Nie podana lub niepoprawna nazwa u¿ytkownika zdalnego
poll_adduser=Dodaj innego u¿ytkownika
poll_check=Sprawd¼ ten serwer
poll_interface=Warunek sprawdzania
poll_interface_def=Sprawdzaj zawsze
poll_interface_ifc=Sprawdzaj tylko gdy podniesiony jest interfejs
poll_interface_ip=o&nbsp;adresie / masce
poll_einterface=Nie podany lub niepoprawny interfejs sieciowy
poll_enet=Nie podany lub niepoprawny adres
poll_emask=Nie podana lub niepoprawna maska sieci
poll_preconnect=Polecenie uruchamiane przed po³±czeniem
poll_postconnect=Polecenie uruchamiane po po³±czeniu

stop_err=Nie uda³o siê zatrzymaæ fetchmaila
start_err=Nie uda³o siê uruchomiæ fetchmaila
start_einterval=Nie podany lub niepoprawny okres sprawdzania

check_title=Sprawdzanie serwerów
check_exec=Sprawdzanie poczty na serwerze(ach) za pomoc± polecenia $1 ..
check_ok=.. zakoñczono.
check_failed=.. sprawdzenie siê nie powiod³o!

global_title=Ustawienia domy¶lne
global_header=Ustawienia domy¶lne dla wszystkich serwerów
global_err=Nie uda³o siê zachowaæ ustawieñ domy¶lnych

log_create_poll_file=Dodano serwer $1 w pliku $2
log_modify_poll_file=Zmieniono serwer $1 w pliku $2
log_delete_poll_file=Usuniêto serwer $1 w pliku $2
log_create_poll_user=Dodano serwer $1 dla u¿ytkownika $2
log_modify_poll_user=Zmieniono serwer $1 dla u¿ytkownika $2
log_delete_poll_user=Usuniêto serwer $1 dla u¿ytkownika $2
log_check_file_file=Sprawdzono wszystkie serwery z pliku $1
log_check_file_server=Sprawdzono serwer $2 z pliku $1
log_check_user_file=Sprawdzono wszystkie serwery dla u¿ytkownika $1
log_check_user_server=Sprawdzono serwer $2 dla u¿ytkownika $1
log_check_server_l=Sprawdzono serwer $2 z pliku $1
log_global_user=Zmieniono ustawienia ogólne dla u¿ytkownika $1
log_global_file=Zmieniono ustawienia ogólne w pliku $1
log_start=Uruchomiono serwer fetchmaila
log_stop=Zatrzymano serwer fetchmaila
  0707010003f635000081a40000000000000002000000013d1fe2e300000525000000200000000000000000000000000000001e00000003reloc/fetchmail/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'fetchmail-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($type eq 'poll') {
	if ($p->{'user'}) {
		return &text("log_${action}_poll_user",
			     "<tt>".&html_escape($object)."</tt>",
			     "<tt>".&html_escape($p->{'user'})."</tt>");
		}
	else {
		return &text("log_${action}_poll_file",
			     "<tt>".&html_escape($object)."</tt>",
			     "<tt>".&html_escape($p->{'file'})."</tt>");
		}
	}
elsif ($action eq 'check') {
	if ($object =~ /^\//) {
		return &text("log_check_file_${type}",
			     "<tt>".&html_escape($object)."</tt>",
			     "<tt>".&html_escape($p->{'poll'})."</tt>");
		}
	else {
		return &text("log_check_user_${type}",
			     "<tt>".&html_escape($object)."</tt>",
			     "<tt>".&html_escape($p->{'poll'})."</tt>");
		}
	}
elsif ($action eq 'global') {
	return &text($object =~ /^\// ? "log_global_file" : "log_global_user",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'start') {
	return &text('log_start', $p->{'interval'});
	}
elsif ($action eq 'stop') {
	return $text{'log_stop'};
	}
else {
	return undef;
	}
}

   0707010003f636000081a40000000000000002000000013d1fe2ea00000114000000200000000000000000000000000000001c00000003reloc/fetchmail/module.info   category=servers
desc_ko_KR.euc=Fetchmail ¸ÞÀÏ °Ë»ö 
desc=Fetchmail Mail Retrieval
desc_pl=Pobieranie poczty przez fetchmaila
desc_de=Fetchmail-Konfiguration
name=Fetchmail
desc_ja_JP.euc=Fetchmail ¥á¡¼¥ë¸¡º÷
depends=0.990
version=0.990
desc_ca=Lliurament de Correu Fetchmail
0707010003f637000081e40000000000000002000000013d1fe2e3000000a7000000200000000000000000000000000000001d00000003reloc/fetchmail/run_file.cgi  #!/usr/local/bin/perl
# run_file.cgi
# Run fetchmail on some config file

require './fetchmail-lib.pl';
&ReadParse();
&header($text{'run_title'}, "");
print "<hr>\n";
 0707010003f638000081e40000000000000002000000013d1fe2e300000626000000200000000000000000000000000000002000000003reloc/fetchmail/save_global.cgi   #!/usr/local/bin/perl
# save_global.cgi
# Save global options

require './fetchmail-lib.pl';
&ReadParse();
&error_setup($text{'global_err'});

if ($config{'config_file'}) {
	$file = $config{'config_file'};
	}
else {
	&can_edit_user($in{'user'}) || &error($text{'poll_ecannot'});
	@uinfo = getpwnam($in{'user'});
	$file = "$uinfo[7]/.fetchmailrc";
	}

&lock_file($file);
@conf = &parse_config_file($file);
foreach $c (@conf) {
	$poll = $c if ($c->{'defaults'});
	}
$found++ if ($poll);

# Validate inputs
$in{'port_def'} || $in{'port'} =~ /^\d+$/ ||
	&error($text{'poll_eport'});
if (!$in{'interface_def'}) {
	$in{'interface'} =~ /^\S+$/ || &error($text{'poll_einterface'});
	&check_ipaddress($in{'interface_net'}) || &error($text{'poll_enet'});
	&check_ipaddress($in{'interface_mask'}) || !$in{'interface_mask'} ||
		&error($text{'poll_emask'});
	}

# Create the default structure
$poll->{'defaults'} = 1;
$poll->{'proto'} = $in{'proto'};
$poll->{'port'} = $in{'port_def'} ? undef : $in{'port'};
if ($in{'interface_def'}) {
	delete($poll->{'interface'});
	}
else {
	local @interface = ( $in{'interface'}, $in{'interface_net'} );
	push(@interface, $in{'interface_mask'}) if ($in{'interface_mask'});
	$poll->{'interface'} = join("/", @interface);
	}

if ($found) {
	&modify_poll($poll, $file);
	}
else {
	&create_poll($poll, $file);
	if ($in{'user'} && $< == 0) {
		&system_logged("chown $in{'user'} $file");
		}
	&system_logged("chmod 700 $file");
	}
&unlock_file($file);
&webmin_log("global", undef, $config{'config_file'} ? $file : $in{'user'},
	    \%in);
&redirect("");

  0707010003f639000081e40000000000000002000000013d1fe2e300000bc1000000200000000000000000000000000000001e00000003reloc/fetchmail/save_poll.cgi #!/usr/local/bin/perl
# save_poll.cgi
# Update, create or delete a server to poll

require './fetchmail-lib.pl';
&ReadParse();
&error_setup($text{'poll_err'});
if ($config{'config_file'}) {
	$file = $config{'config_file'};
	}
else {
	&can_edit_user($in{'user'}) || &error($text{'poll_ecannot'});
	@uinfo = getpwnam($in{'user'});
	$file = "$uinfo[7]/.fetchmailrc";
	}
@conf = &parse_config_file($file);
if (!$in{'new'}) {
	$poll = $conf[$in{'idx'}];
	}

&lock_file($file);
if ($in{'adduser'}) {
	# Go back to the edit form
	&redirect("edit_poll.cgi?file=$file&idx=$in{'idx'}&adduser=1&user=$in{'user'}");
	exit;
	}
elsif ($in{'check'}) {
	# Go to the mail checking CGI
	&redirect("check.cgi?file=$file&idx=$in{'idx'}&adduser=1&user=$in{'user'}");
	exit;
	}
elsif ($in{'delete'}) {
	# Just delete the poll
	&delete_poll($poll, $file);
	}
else {
	# Validate poll inputs
	$in{'poll'} =~ /^\S+$/ || &error($text{'poll_epoll'});
	$in{'via_def'} || gethostbyname($in{'via'}) ||
		&error($text{'poll_evia'});
	!$in{'via_def'} || gethostbyname($in{'poll'}) ||
		&error($text{'poll_epoll'});
	$in{'port_def'} || $in{'port'} =~ /^\d+$/ ||
		&error($text{'poll_eport'});
	if (!$in{'interface_def'}) {
		$in{'interface'} =~ /^\S+$/ || &error($text{'poll_einterface'});
		&check_ipaddress($in{'interface_net'}) ||
			&error($text{'poll_enet'});
		&check_ipaddress($in{'interface_mask'}) ||
		    !$in{'interface_mask'} ||
			&error($text{'poll_emask'});
		}

	# Create the poll structure
	$poll->{'poll'} = $in{'poll'};
	$poll->{'skip'} = $in{'skip'};
	$poll->{'via'} = $in{'via_def'} ? undef : $in{'via'};
	$poll->{'proto'} = $in{'proto'};
	$poll->{'port'} = $in{'port_def'} ? undef : $in{'port'};
	if ($in{'interface_def'}) {
		delete($poll->{'interface'});
		}
	else {
		local @interface = ( $in{'interface'}, $in{'interface_net'} );
		push(@interface, $in{'interface_mask'})
			if ($in{'interface_mask'});
		$poll->{'interface'} = join("/", @interface);
		}

	# Validate user inputs
	for($i=0; defined($in{"user_$i"}); $i++) {
		$user = $poll->{'users'}->[$i];
		next if (!$in{"user_$i"});
		$in{"user_$i"} =~ /^\S*$/ || &error($text{'poll_euser'});
		$user->{'user'} = $in{"user_$i"};
		$user->{'pass'} = $in{"pass_$i"};
		local @is = split(/\s+/, $in{"is_$i"});
		$user->{'is'} = \@is;
		$user->{'keep'} = $in{"keep_$i"};
		$user->{'fetchall'} = $in{"fetchall_$i"};
		$user->{'preconnect'} = $in{"preconnect_$i"};
		$user->{'postconnect'} = $in{"postconnect_$i"};
		push(@users, $user);
		}
	$poll->{'users'} = \@users;

	if ($in{'new'}) {
		&create_poll($poll, $file);
		if ($in{'user'} && $< == 0) {
			local @uinfo = getpwnam($in{'user'});
			&system_logged("chown $uinfo[2]:$uinfo[3] $file");
			}
		&system_logged("chmod 700 $file");
		}
	else {
		&modify_poll($poll, $file);
		}
	}

&unlock_file($file);
&webmin_log($in{'new'} ? 'create' : $in{'delete'} ? 'delete' : 'modify',
	    'poll', $poll->{'poll'},
	    $config{'config_file'} ? { 'file' => $file }
				   : { 'user' => $in{'user'} } );
&redirect("");

   0707010003f63a000081e40000000000000002000000013d1fe2e300000224000000200000000000000000000000000000001a00000003reloc/fetchmail/start.cgi #!/usr/local/bin/perl
# start.cgi
# Start the fetchmail daemon

require './fetchmail-lib.pl';
&ReadParse();
&error_setup($text{'start_err'});

$in{'interval'} =~ /^\d+$/ || &error($text{'start_einterval'});
if ($< == 0) {
	$out = &backquote_logged("su - '$config{'daemon_user'}' -c '$config{'fetchmail_path'} -d $in{'interval'} -f $config{'config_file'}' 2>&1");
	}
else {
	$out = &backquote_logged("$config{'fetchmail_path'} -d $in{'interval'}");
	}
if ($?) {
	&error("<tt>$out</tt>");
	}
&webmin_log("start", undef, undef, \%in);
&redirect("");

0707010003f63b000081e40000000000000002000000013d1fe2e30000019a000000200000000000000000000000000000001900000003reloc/fetchmail/stop.cgi  #!/usr/local/bin/perl
# stop.cgi
# Stop the running fetchmail daemon

require './fetchmail-lib.pl';
&ReadParse();
&error_setup($text{'stop_err'});

if ($< == 0) {
	$out = &backquote_logged("su - '$config{'daemon_user'}' -c '$config{'fetchmail_path'} -q' 2>&1");
	}
else {
	$out = &backquote_logged("$config{'fetchmail_path'} -q");
	}
if ($?) {
	&error("<tt>$out</tt>");
	}
&webmin_log("stop");
&redirect("");

  0707010000e662000041ed0000000000000001000000043d1ffa3900000000000000200000000000000000000000000000000b00000003reloc/file    0707010000e66a000081a40000000000000002000000013d1fe2d60000158f000000200000000000000000000000000000001b00000003reloc/file/ACLEditor.class    Êþº¾  -p É ö&*,/01234567CDEX[cdm ê ë ì í î ï ð ó ô õ ÷ ø ú û ý þ ÿFGHIJKLMNOPQRSTU
 ) Œ
 7 Œ
 9 Œ
 ? Œ
 ; 
 = Ž
 ; 
  
  ‘
 $ ’
 > ’
 A ’
 D ’
 A “
 8 ”	  •	  –	  —	  ˜
 : ™
 : š
 F ›
 - œ
 D 	  ž	  Ÿ	   
 - ¡
  ¢
 < ¢	  £
 C ¤	  ¥	  ¦	  §	  ¨	  ¨
  ©
 8 ª
 @ «
 & ¬	 2 ­
 F ®
 C ¯
  °
 - ±	  ²	  ³	  ´	  µ	  ¶
 B ·	  ¸	  ¹
 E º
 F »
 @ ¼
 : ½
 < ¾
 B ¿
 & À
 & Á
 D Â
 C Ã	  Ä	 2 Å
 C Æ	  Ç	  È é Ì é Ï é Ð é Ñ é Ò é × é á é â é ã  !" Ö" ä# Ü$ ç% à()+- Ï. Ì89 Ý:	:;<= Î> Í? Ë@ ÞAB ÙV ÊW ÌY èZ\
\]	^	_ Ì`	`a Úb Ïe æf Øg áh Ìi ßi åj Ëk Ëlmn Ûo	o   ()I ()Ljava/lang/String; ()V ()Z ()[Ljava/lang/String; (I)V (II)V (III)V (LACLWindow;)V (LACLWindow;LACLEntry;)V !(LACLWindow;Ljava/lang/String;Z)V (LCbButton;)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V (Ljava/lang/Object;)I &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)V (Ljava/lang/Object;)Z $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;I)V .(Ljava/lang/String;Ljava/awt/CheckboxGroup;Z)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (Z)V ([Ljava/lang/Object;)V ([Ljava/lang/Object;I)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow East EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 
LACLEntry; LACLWindow; 
LCbButton; LFileManager; LMultiColumn; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Checkbox; Ljava/awt/TextField; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow MultiColumn 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West Z acl acllist acltable aclwin add 
addElement addItem append 
cancel.gif click creating def default  del delete 
deleteItem dispose eacl_aclname eacl_aclperms eacl_acltype eacl_create 	eacl_edit eacl_eowner 
eacl_group 
eacl_owner 	eacl_user edmap equals exec file filemgr getRow getState getText 	get_image group indexOf 	info_exec 	info_read 
info_write java/awt/BorderLayout java/awt/Checkbox java/awt/CheckboxGroup java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer java/util/Hashtable java/util/Vector length makeUI mask 
modifyItem ok other owner owner1 owner2 pack read remove removeElementAt save save.gif setEditable 	setLayout setTitle show text toString trim type user valueOf write    )     <    !         (    Z    +    `	    o	    :	    ]	    ^	    \
      é Ó  ñ   S     #*· G*+µ Y**´ Y´ kµ j*,µ V*µ _*¶ s±         	ã 	å 		æ 	ç 	è 	é "	ã   é Ô  ñ   u     =*· G*+µ Y**´ Y´ kµ j*» Y*´ Y· Nµ V*´ Vµ `*´ V,µ ‡*µ _*¶ s±      & 	  	í 	ï 		ð 	ñ #	ò +	ó 3	ô 8	õ <	í  W Ì  ñ  i    Q**´ j*´ _™ § ¶ ƒ¶ *» 7Y· H¶ €» ?Y· JL+» =Y· L¶ €*+¶ [W» ?Y· JM,» =Y· L¶ €*,¶ [W+» >Y*´ j
¶ ƒ· Q¶ ZW,» AY» DY*´ V´ `™ § ¸ ‰· S*´ V´ ‡¶ ^¶ …· TYN¶ ZW-¶ *´ V´ ‡¶ fšk*´ V´ ‡¶ fš\+» >Y*´ j¶ ƒ· Q¶ ZW*´ V´ `™ ©» ?Y· J:» ;Y· M¶ €» 9Y· I:*» 8Y*´ j¶ ƒ*´ V´ wÆ § · UZµ x¶ ZW*» 8Y*´ V´ wÇ § · UZµ y¶ ZW*» AY*´ V´ wÇ § 
*´ V´ w· TZµ v¶ ZW,¶ ZW§ —*´ _š *´ V´ wÆ 2*» AY*´ V´ wÇ § 
*´ V´ w· Tµ v,*´ v¶ ZW§ W*´ V´ ‡¶ f™ *´ j*´ Y´ i´ ˆ¶ „:§ *´ j*´ Y´ i´ p¶ „:» AY· R:¶ ,¶ ZW+» >Y*´ j	¶ ƒ· Q¶ ZW» ?Y· J:» ;Y· K¶ €*» 8Y*´ j¶ ƒ*´ V´ |· UZµ {¶ ZW*» 8Y*´ j¶ ƒ*´ V´ ‹· UZµ Š¶ ZW*» 8Y*´ j¶ ƒ*´ V´ h· UZµ g¶ ZW,¶ ZW» ?Y· J:» ;Y· K¶ €*» Y*´ j¶ o*´ j¶ ƒ*· OZµ u¶ ZW*´ _š =*´ V´ wÇ *´ V´ `™ )*» Y*´ j¶ o*´ j¶ ƒ*· OZµ a¶ ZW*¶ [W*¶ z*¶ ‚±      A  	ú 	û $	ü ,	ý 9	þ A	ÿ I
  V
 ^
 s
 x
 ¢
 «
 °
	 Î

 ã
 í
 ö



/
:
C
T
_
f
~
‰

“
¤
©
Á
Ç
Ð
Ó
"â
#÷
"ú
%
&
' 
('
,<
-E
.R
/u
0˜
1»
2Â
4Ë
5Ø
6è
7ñ
8ó
6þ
9
:)
;2
<4
:?
=H
?L
@P	ø ' Õ  ñ  ­    %+*´ u¦ î*´ xÆ *´ x¶ m™ *´ Vµ w§ Y*´ vÆ R*´ v¶ n¶ †M,¶ rš *´ V´ `š » $*´ j¶ ƒ· P±*´ V*´ v¶ nµ w*´ V´ w¶ rš *´ Vµ w*´ V*´ {¶ mµ |*´ V*´ Š¶ mµ ‹*´ V*´ g¶ mµ h*´ _™ %*´ Y´ W*´ V¶ \*´ Y´ X*´ V¶ l¶ ]§ $*´ Y´ W*´ V¶ q=*´ Y´ X*´ V¶ l¶ t*¶ c±+*´ a¦ ,*´ Y´ W*´ V¶ q=*´ Y´ W¶ ~*´ Y´ X¶ b*¶ c±      v   
E 
G 
H !
G $
J +
K 6
L G
M V
N W
P e
Q r
R z
T ˆ
U –
V ¤
W «
Y ¹
Z Ê
W Í
^ Ü
_ î
a ò
E ó
c û
e

f
g 
h$
C . Ì  ñ   4     *´ Y´ e*´ V¶ }W*· d±         
n 
o 
l     ü 0707010000eb43000081a40000000000000002000000013d1fe2d600000b16000000200000000000000000000000000000001a00000003reloc/file/ACLEntry.class Êþº¾  - ¶ ] ^ n • – š › œ  ¤ ¥ ¦ « ­ ³ p q r s t w x y z | }  € „ … ˆ ‰ Š ‹ Œ  Ž   ‘ “ § ¨ ©
 * F
 , G
 ) H
 , I
 , J
 + K	  L
 + M	  N	  O	  O	  P	  P	 $ Q
 + R
 ) S	  T	  U
  V
  W
 , X	  Y	 $ Z
 + [	  \ o a o j o k — c — i ˜ d ™ ” ž g Ÿ ”   ‚ ¡  £ † ª _ ¬ ` ® † ¯ ” ° h ° m ± ` ² † ³ † ´ f µ ”     ()I ()Ljava/lang/String; ()V ()[Ljava/lang/String; (C)Ljava/lang/StringBuffer; (I)C (LACLWindow;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;C)V  (Ljava/lang/String;LACLWindow;)V 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; : <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LFileManager; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile StringSplitter Z acltype_ acltype_default_ append charAt def default default: 
eacl_group 	eacl_user equals exec file filemgr getRow group 	info_exec 	info_read 
info_write java/lang/Object java/lang/String java/lang/StringBuffer length mask 	nextToken other owner read text toString type user valueOf write    *      ¡        ‚     ™ ”     ² †     ® †     ¯ ”     µ ”     Ÿ ”      o l  u        À*· -*,´ 9µ 8*,´ 7µ 6» )Y+:· /N*-¶ <µ B*´ B¶ 4™ *µ 3*-¶ <µ B*´ B¶ 4š &*´ B¶ 4š *-¶ <µ =*´ =¶ ;š *µ =-¶ <:¶ ;š 	-¶ <:*¶ 2rŸ § µ >*¶ 2wŸ § µ E*¶ 2xŸ § µ 5±    ƒ   N   	š 	œ 	 	ž 	Ÿ '	  3	¡ 8	¢ @	¤ X	¥ `	¦ j	§ o	© u	ª }	« ƒ	­ —	® «	¯ ¿	š   o e  u   9     *· -*+´ 9µ 8*+´ 7µ 6±    ƒ      	² 	´ 	µ 	²   ¢ b  u  ‡    3½ +L*´ 3™ » ,Y· .*´ B¶ 1¶ A§ » ,Y· .*´ B¶ 1¶ AM+*´ 8,¶ ?S*´ B¶ 4š *´ B¶ 4š 
*´ 3™ +S§ I*´ =Æ +*´ =S§ 8*´ B¶ 4™ +*´ 8	*´ 6´ C¶ @S§ +*´ 8*´ 6´ :¶ @S+S*´ >™ &» ,Y+^2¸ D· .*´ 8¶ ?¶ 1¶ 1¶ AS*´ E™ &» ,Y+^2¸ D· .*´ 8¶ ?¶ 1¶ 1¶ AS*´ 5™ &» ,Y+^2¸ D· .*´ 8
¶ ?¶ 1¶ 1¶ AS+°    ƒ   B   	º 	» 6	¼ A	½ h	¾ o	¿ v	¾ y	À …	Á ˜	À ›	Ã ®	Ä ³	Å Ý	Æ	Ç1	È  ± `  u   ÿ     Ë*´ 3™ § L» ,Y+¸ D· .*´ B¶ 1¶ 1¶ AL*´ B¶ 4š 6*´ B¶ 4š *» ,Y+¸ D· .*´ =Ç § *´ =¶ 1¶ 1¶ AL» ,Y+¸ D· .*´ >™ r§ -¶ 0¶ AL» ,Y+¸ D· .*´ E™ w§ -¶ 0¶ AL» ,Y+¸ D· .*´ 5™ x§ -¶ 0¶ AL+°    ƒ   "   	Í 	Î *	Ï B	Ð i	Ñ ‰	Ò ©	Ó É	Ô  ’    ~  0707010000eb44000081a40000000000000002000000013d1fe2d6000016a1000000200000000000000000000000000000001b00000003reloc/file/ACLWindow.class    Êþº¾  -‚ Î Ï Ð Ñ ý',/4589:;<?@ABCDEFGHSTegpqu€ ö ÷ ø ù ú û ü 	
 !"#$%UVWXYZ[\]^_`abc
 A ’
 B ’
 H ’
 N ’
 O ’
 E “
 2 ”
 " •
 " –
 ' —
 - ˜
 G ˜
 L ˜
 # ™
 6 š	 $ ›	 $ œ	 $ 
 D ž
 D Ÿ	 $  
 O ¡
 B ¢
 6 £	 $ ¤
 L ¥
 L ¦	 $ §	 # ¨
 F ©	 $ ª
 O «
 K ¬	 $ ­	 $ ®
 N ¯
 # °
 B ±
 / ²
 / ³
 K ´	 $ µ	 M ¶	 # ·
 I ¸	 < ¹
 J º
 N »
 K ¼
 C ½
 6 ¾
 D ¿
 F À
 I Á
 O Â
 K Ã
 K Ä
 / Å
 / Æ
 / Ç
 I È
 L É	 < Ê	 # Ë
 / Ì
 K Í õ Ô õ Ù õ Ú õ Û õ Ü õ á õ ì õ ï õ ô*+-). à. ð.0 æ1 ì1 ó23 å3 ë47(= ÔIJ ×K çLMN ãO ÕP ÒQ éR îd Òfhij Ôkl ìm èn Öo Ôr Òs ât ìv Ôx Òy íz Ø{ ê{ ñ{ ò| Ô} Ó~~ ê ä   
   &acl= ()I ()Ljava/lang/String; ()V ()[Ljava/lang/String; (CC)Ljava/lang/String; (I)Ljava/lang/Object; (I)Ljava/lang/String; (I)V (II)V (LACLWindow;LACLEntry;)V !(LACLWindow;Ljava/lang/String;Z)V (LCbButton;)V (LFileManager;LRemoteFile;)V (LMultiColumn;I)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; (Ljava/lang/Object;)V (Ljava/lang/Object;)Z 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;)Z '(Ljava/lang/String;)[Ljava/lang/String;  (Ljava/lang/String;LACLWindow;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ([Ljava/lang/Object;)V +([Ljava/lang/String;LMultiColumnCallback;)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I 
LCbButton; LFileManager; LMultiColumn; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Choice; Ljava/io/PrintStream; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow MultiColumn MultiColumnCallback 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South Z [Ljava/lang/String; acllist acltable acltype_ acltypes add add.gif 
addElement addItem addtype append cancel 
cancel.gif click def default  default group default mask default other default user dispose doubleClick eacl_aclname eacl_aclperms eacl_acltype eacl_add eacl_defmask 
eacl_eacls eacl_edefaults eacl_efailed 
eacl_emask 
eacl_title edmap 	elementAt equals file filemgr get getRow getSelectedIndex 	get_image get_text getfacl.cgi?file= group java/awt/BorderLayout java/awt/Choice java/awt/Component java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/Label java/awt/Panel java/awt/Window java/io/PrintStream java/lang/String java/lang/StringBuffer java/lang/System java/util/Hashtable java/util/Vector length mask ok other out owner pack path println put replace requestFocus save save.gif selected 	setLayout setTitle setfacl.cgi?file= show singleClick size 
startsWith 	substring text toFront toString type urlize user valueOf   $ 2  ( 7 
  M    L    *    I    f    4    .    2    +    -)      õ Þ  þ  2  
  2*,· V*» OY· Tµ _*» NY· Sµ n*½ KY!SYSYSYSYSYSYSµ a*+,´ }¶ Š¶ „*+µ r*,µ q*´ r» LY· \*´ q´ }¸ ¶ j¶ ¶ wN-2¶ x™ » -*´ r-2¶ Š· Z±*» AY· P¶ ƒ½ KY*´ r¶ ‰SY*´ r¶ ‰SY*´ r¶ ‰S:*» 6Y*· ^µ `6§ )» #Y-2*· ]:*´ _¶ e*´ `¶ t¶ g„-¾¡ÿÖ**´ `¶ cW» HY· R:» EY· U¶ ƒ*» 'Y*´ r¶ v*´ r¶ ‰*· YZµ d¶ bW*´ q´ Žš *´ a¾§ 6*» BY· QZµ h¶ bW6§ 5» LY· \*´ a2 _¶ €¶ j¶ :	*´ h*´ r	¶ ‰¶ f„¡ÿÊ» GY· [¶ bW*» 'Y*´ r¶ v*´ r¶ ‰*· YZµ y¶ bW*» 'Y*´ r
¶ v*´ r	¶ ‰*· YZµ k¶ bW*¶ cW*¶ |*¶ …±      î ;  
„ 

w 
x  
~ 7
 9
~ <
 >
~ A
 C
~ G
€ I
~ M
… [
† `
‡ e
Š i
‹ ‚
Š †
Œ 
 ¡
Ž ¢
’ ­
“ ¿
” È
“ Ë
• Ô
“ ×
– å
— ë
˜ ù
™
š
—
œ#
,
ž9
ŸI
 R
¡T
Ÿ_
¢t
£†
¤Œ
¥«
¦»
¤Å
¨Ô
©ä
ªí
«ï
©ú
¬

­
®
¬ 
¯)
±-
²1
‚ 6 Ý  þ  Ä  
  à+*´ y¦:=>666§ ]*´ _¶ oÀ #:´ l™ =´ l™ :´ {Ç 2´ !¶ p™ >´ ¶ p™ 6´ ¶ p™ 6„*´ _¶ †¡ÿ™ !™ ™ š » -*´ r¶ ‰· Z±:6§ +» LY¸ ‘· \*´ _¶ oÀ #¶ i¶ j¶ :„*´ _¶ †¡ÿÏ² z¶ ~*´ r» LY · \*´ q´ }¸ ¶ j¶ j¸ ¶ j¶ ¶ w:		2¶ xž » -*´ r*´ q´ }	2¶ ‹· Z±*¶ m±+*´ d¦ *´ a*´ h¶ u2MN,-¶ ‡6™ ,-¶ x¶ ˆM,¶ p™ V6§ D*´ _¶ oÀ #:´ ,¶ p™ '´ l  » -*´ r™ § ¶ ‰· Z±„*´ _¶ †¡ÿ¶» "*,· X±+*´ k¦ *¶ m±      Ò 4  
· 
º 
» 
¼ 
½ &
¾ 0
¿ @
À O
Á _
Â o
¼ ~
Å 
Æ Ÿ
Ç  
Ë ¤
Ì ª
Í Ï
Ì Þ
Î æ
Ï ó
Ð 
Ñ
Ï
Ò
Ó(
Ô3
Ó9
Ò:
Ö>
·?
ØG
ÚT
ÛW
Ü^
Ýc
Þl
ßu
á{
â‰
ãŸ
ä«
å­
ä°
å²
ä¸
æ¹
áÈ
êÒ
ØÓ
ìÛ
îß
µ > ß  þ   …     I+¶ ‚>› B*´ _¶ oÀ #:*´ n¶ sÀ ":Ç *´ n» "Y*· W¶ W±¶ Œ¶ ±      * 
  
õ 
ö 	
÷ 
ø $
ù )
ú =
ù >
ü C
ý H
ó w ß  þ         ±          &      0707010000eb45000081a40000000000000002000000013d1fe2d600000f23000000200000000000000000000000000000002100000003reloc/file/AttributeEditor.class  Êþº¾  - ‘ ² Ò Ü â ã ä å æ ê î « ¬ ­ ® ¯ ° ± µ ¶ · ¸ ¹ » ¼ ¾ ¿ À Ç È Ï Ð Ñ Ó Ô Õ Ö × Ø Ù Ú ÷ ø ù ú û ü ý þ ÿ 
  h
 , h
 2 h
 . i
 0 j
  k
  l
 1 l
 5 m
 3 n
  o
 - p
 - q
 9 r
 " s	  t	  u	  v	  w	  x	  y
 " z
  {
 / {	  |	  }	  }
  ~
 4 
  €
 9 
 7 ‚
  ƒ
 " „	  …	  †	  ‡
 6 ˆ
 8 ‰
 9 Š
 - ‹
 / Œ
 6 
  Ž	  	   ª ” ª – ª — ª œ ª £ ª ¤ ª ¥ ª § Þ › Þ ¦ ß   à ¨ á Ã ç Í è Å é Á ì Ý í Â ï – ð ” ñ Ì ò Ä ó • ô “ õ ¡ ö ž ’ ” © Ê Ë	 Â
 ” Ÿ –  £ ” ¢ É Ë   ()I ()Ljava/lang/String; ()V ()[Ljava/lang/String; (I)V (II)V (LAttributesWindow;)V $(LAttributesWindow;LFileAttribute;)V (LCbButton;)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V (Ljava/lang/Object;)I &(Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Object;)V $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; (Ljava/lang/String;)V (Ljava/lang/String;I)V (Ljava/lang/String;II)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; '(Ljava/lang/String;Ljava/lang/String;)V ([Ljava/lang/Object;)V ([Ljava/lang/Object;I)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame LAttributesWindow; 
LCbButton; LFileAttribute; LFileManager; LMultiColumn; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextArea; Ljava/awt/TextField; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow MultiColumn 
MultiLabel North OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South Z add 
addElement addItem attr attr_create 	attr_edit 
attr_ename 	attr_name 
attr_value attrlist 	attrtable attrwin 
cancel.gif click creating del delete 
deleteItem dispose edmap filemgr getRow getText 	get_image indexOf java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextArea java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/util/Hashtable java/util/Vector length makeUI 
modifyItem name ok pack remove removeElementAt save save.gif 	setLayout setTitle show text value          ò Ä     é Á     á Ã     ì Ý    	 Â     í Â     Ê     É      ª ™  ³   P      *· :*+µ L*,µ I*+´ Tµ S*µ M*¶ Z±    Æ      “ • 	– — ˜ ™ “   ª ˜  ³   Z     **· :*+µ L*» Y· Dµ I*+´ Tµ S*µ M*¶ Z±    Æ      œ ž 	Ÿ    ¡ %¢ )œ   ”  ³  ³    3**´ S*´ M™ § ¶ e¶ c*» ,Y· ;¶ b» 2Y· <L+» 0Y· >¶ b+» 1Y*´ S¶ e· A¶ EW+*» 5Y*´ I´ ]· BZµ \¶ EW*+¶ FW» 2Y· <M,» 0Y· >¶ b,» 1Y*´ S	¶ e· A¶ EW,*» 3Y*´ I´ g· CZµ f¶ EW*,¶ FW» 2Y· <N-» .Y· =¶ b-*» Y*´ S¶ W*´ S¶ e*· ?Zµ ^¶ EW*´ Mš (-*» Y*´ S
¶ W*´ S¶ e*· ?Zµ N¶ EW*-¶ FW*¶ _*¶ d±    Æ   n   § ¨ $ª ,« 9¬ N­ h® p° x± …² š³ µ´ ½¶ Å· Ñ¸ à¹ éº ë¸ ö» ý¼½¾¼"¿*Á.Â2¥  ë š  ³  &     Â+*´ ^¦ ‹*´ \¶ V¶ Yš » *´ S¶ e· @±*´ I*´ \¶ Vµ ]*´ I*´ f¶ Vµ g*´ M™ %*´ L´ J*´ I¶ G*´ L´ K*´ I¶ U¶ H§ $*´ L´ J*´ I¶ X=*´ L´ K*´ I¶ U¶ [*¶ P±+*´ N¦ ,*´ L´ J*´ I¶ X=*´ L´ J¶ a*´ L´ K¶ O*¶ P±    Æ   R   Ç É Ê $Ë %Í 3Î AÏ HÑ VÒ gÏ jÖ y× ‹Ù Ç Û ˜Ý §Þ ²ß ½à ÁÅ  ð ”  ³   4     *´ L´ R*´ I¶ `W*· Q±    Æ      æ ç ä  Û    ½ 0707010000eb46000081a40000000000000002000000013d1fe2d600001188000000200000000000000000000000000000002200000003reloc/file/AttributesWindow.class Êþº¾  -6 ¥ ¦ § ¨ É Ñ ø ú þ ÿ '(, Ê Ë Ì Í Î Ï Ð Ô Õ Ö × Ø Ú Û Ý Þ ß å æ ë ì í î ï ð ñ ò ó ô õ ö
 4 u
 : u
 > u
 ? u
 7 v
 % w
  x
  y
  z
   {
 9 {
 = {
 ! |
 ) }
 6 ~
 6 	  €
 ? 
 ) ‚
 = ƒ
 = „	  …	  †	  ‡
 8 ˆ	  ‰
 ? Š	  ‹	  Œ
 > 
 ! Ž
 " 
 " 
 < ‘	 ! ’	  “
 ; ”	 / •
 > –
 5 —
 ) ˜
 6 ™
 8 š
 ; ›
 ? œ
 " 
 " ž
 " Ÿ
 ;  
 = ¡
 " ¢	 ! £
 < ¤ È « È ¯ È ° È ± È ² È · È À È Â È Ç ù ¶ ù Ã ù à û » ü Æ ý ® ý ¿ é â à	 « è ­ ã á ¹ ¬ ½ Á  ©! ç" à# «$ ç% ¼& «) ©* ¸+ À- «/ ©0 ¾0 Ä0 Å1 «2 ª3 ¾4 ç5 º     &name &value ()I ()Ljava/lang/String; ()V ()[Ljava/lang/String; (I)Ljava/lang/Object; (I)Ljava/lang/StringBuffer; (I)V (II)V (LAttributesWindow;)V $(LAttributesWindow;LFileAttribute;)V (LCbButton;)V (LFileManager;LRemoteFile;)V (LMultiColumn;I)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)V 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; "(Ljava/lang/String;LFileManager;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ([Ljava/lang/Object;)V +([Ljava/lang/String;LMultiColumnCallback;)V <init> = 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 
LCbButton; LFileManager; LMultiColumn; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow MultiColumn MultiColumnCallback 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South add add.gif 
addElement addItem append attr_add attr_eattrs attr_efailed 	attr_name 
attr_title 
attr_value attrlist 	attrtable cancel 
cancel.gif click dispose doubleClick edmap 	elementAt file filemgr get getRow 	get_image get_text getattrs.cgi?file= java/awt/BorderLayout java/awt/Component java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/Label java/awt/Panel java/awt/Window java/lang/String java/lang/StringBuffer java/util/Hashtable java/util/Vector length name ok pack path put requestFocus save save.gif selected 	setLayout setTitle setattrs.cgi?file= show singleClick size text toFront toString urlize value valueOf    %   *    á     ã     é     è    " à     à     ù à     â      È ´  Ò  R    –*,· E*» ?Y· Cµ U*» >Y· Bµ Y*+,´ e¶ n¶ j*+µ \*,µ [*´ \» =Y· K*´ [´ e¸ r¶ T¶ q¶ `N-2¶ a™ »  *´ \
-2¶ n· I±*» 4Y· @¶ i½ <Y*´ \¶ mSY*´ \¶ mS:*» )Y*· Mµ V6§ ,» !Y-2*´ \· L:*´ U¶ Q*´ V¶ ^¶ R„-¾¡ÿÓ**´ V¶ OW» :Y· A:» 7Y· D¶ i*» Y*´ \¶ _*´ \	¶ m*· HZµ P¶ NW» 9Y· J¶ NW*» Y*´ \¶ _*´ \¶ m*· HZµ c¶ NW*» Y*´ \¶ _*´ \¶ m*· HZµ W¶ NW*¶ OW*¶ d*¶ k±    ä   ª *   
    . 3 8 < U Y b t u# €$ ’% ›$ ž& ¬' ²( Ã) Ì* Ø' â, í- ö./01/)283H4Q5S3^6n7w8y6„9;‘<•  ³  Ò  M     Ù+*´ c¦ ·M>§ T*´ U¶ ZÀ !:» =Y,¸ t· K¶ T¶ S¶ T´ b¸ r¶ T¶ T¶ S¶ T´ s¸ r¶ T¶ qM„*´ U¶ l¡ÿ§*´ \» =Y· K*´ [´ e¸ r¶ T,¶ T¶ q¶ `:2¶ až »  *´ \*´ [´ e2¶ o· I±*¶ X±+*´ P¦ » *· F±+*´ W¦ *¶ X±    ä   b   A C D E F AG ZF ^D lI yJ I ’K œL ¥M °L ¶K ·O »A ¼Q ÄS ËQ ÌU ÔW Ø? 
 µ  Ò   …     I+¶ h>› B*´ U¶ ZÀ !:*´ Y¶ ]À :Ç *´ Y» Y*· G¶ fW±¶ p¶ g±    ä   * 
  ^ _ 	` a $b )c =b >e Cf H\ . µ  Ò         ±    ä      k  ÷    Ü0707010000eb47000081a40000000000000002000000013d1fe2d6000005a6000000200000000000000000000000000000001d00000003reloc/file/BorderPanel.class  Êþº¾  - J - > ? @ A B C D
  
  	  	  	  	  
  	  
  
  
   	  !	  " , % , ' 7 4 8 2 9 4 : 4 ; ' < 2 E + F ) G # H 4 I 2 ()Ljava/awt/Dimension; ()Ljava/awt/Insets; ()V (I)V (IIII)V $(ILjava/awt/Color;Ljava/awt/Color;)V (Ljava/awt/Color;)V #(Ljava/awt/Color;Ljava/awt/Color;)V (Ljava/awt/Graphics;)V <init> BorderPanel BorderPanel.java Code ConstantValue 
Exceptions I LineNumberTable Ljava/awt/Color; LocalVariables 
SourceFile black border col1 col2 drawLine height insets java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/Graphics java/awt/Insets java/awt/Panel paint setColor size white width          8 2     9 4     : 4      , %  /   @     *· 	*µ *² µ *² µ ±    3       	   	     	   , &  /   I     *· 	*µ *² µ *² µ *µ ±    3          	          , (  /   W     '*· 	*µ *² µ *² µ *µ *,µ *-µ ±    3          	        &    , *  /   N     "*· 	*µ *² µ *² µ *+µ *,µ ±    3          	      !   = $  /   8      » Y*´ `*´ `*´ `*´ `· 
°    3         E +  /   Ö     Ž*+· *¶ ´ d=*¶ ´ d>+*´ ¶ 6§ "+d¶ +d¶ „*´ ¡ÿÛ+*´ ¶ 6§ *+ddd¶ +ddd¶ „*´ ¡ÿÓ±    3   6    $  %  & ! ' ' ( 5 ) C ' O + W , ] - o .  ,  "  6    .  0707010000eb48000081e40000000000000002000000013d1fe2d6000002fd000000200000000000000000000000000000001c00000003reloc/file/BorderPanel.java   import java.awt.*;

class BorderPanel extends Panel
{
	int border = 5;	// size of border
	Color col1 = Color.white;
	Color col2 = Color.black;

	BorderPanel()
	{
	}

	BorderPanel(int w)
	{
	border = w;
	}

	BorderPanel(int w, Color c1, Color c2)
	{	
	border = w;
	col1 = c1; col2 = c2;
	}

	BorderPanel(Color c1, Color c2)
	{
	col1 = c1; col2 = c2;
	}

	public Insets insets()
	{
	return new Insets(border+2, border+2, border+2, border+2);
	}

	public void paint(Graphics g)
	{
	super.paint(g);
	int w = size().width-1, h = size().height-1;
	g.setColor(col1);
	for(int i=0; i<border; i++) {
		g.drawLine(i,i,w-i,i);
		g.drawLine(i,i,i,h-i);
		}
	g.setColor(col2);
	for(int i=0; i<border; i++) {
		g.drawLine(w-i,h-i, w-i,i);
		g.drawLine(w-i,h-i, i,h-i);
		}
	}
}

   0707010000eb49000081a40000000000000002000000013d1fe2d6000012fd000000200000000000000000000000000000001a00000003reloc/file/CbButton.class Êþº¾  - ë              • — ˜ © Å Æ Ç È É Ê Ë
 	 E
  F
 
 G
  H
  I	 
 J	  K  L	 
 M
  N
  O
  P	  Q
  R	  S
  T
  U
  V
  W	  X	  Y	  Z	  [	  \	  ]	  ^
  _	  `	  a	  b	  c	  d	  e	  f	 
 g
  h
  i	  j
  k	  l
  m
  n
  o	  p
  q
  r
  s	  t
  u	  v	  w	 
 x	  y ’ | ’  ’ € ’  « ‚ ¬ ¡ ­  ® ‚ ¯ ¡ ° Š ±  ²  ³ ¢ ´  µ £ ¶ z · z · ˆ ¸ ˆ ¹ ž º ¡ » ¡ ¼ ¡ ½ œ ¾ œ ¿ ¤ À ~ Á œ Â ª Ã ª Ä œ Ì ¡ Í ¡ Î ¡ Ï ¡ Ð } Ö ‡ × œ Ø { Ù œ Ú | Û | Û ‚ Ü ª Ý „ Þ † ã { ä ¥ å Ž æ œ ç œ é ¡ ê œ ()I ()Ljava/awt/Dimension; ()V (II)I (II)Ljava/awt/Dimension; (II)V (III)V (IIII)V (LCbButton;)V (LCbButtonGroup;)V (Ljava/awt/Color;)V (Ljava/awt/Event;II)Z (Ljava/awt/Font;)V (Ljava/awt/Graphics;)V (Ljava/awt/Image;)I (Ljava/awt/Image;)V 5(Ljava/awt/Image;IIIILjava/awt/image/ImageObserver;)Z %(Ljava/awt/Image;LCbButtonCallback;)V &(Ljava/awt/Image;Ljava/lang/String;I)V 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/lang/String;)I (Ljava/lang/String;)V (Ljava/lang/String;II)V '(Ljava/lang/String;LCbButtonCallback;)V <init> ABOVE BELOW CbButton CbButton.java CbButtonCallback CbButtonGroup Code ConstantValue 
Exceptions I LCbButtonCallback; LCbButtonGroup; LEFT LineNumberTable Ljava/awt/Color; Ljava/awt/Font; Ljava/awt/FontMetrics; Ljava/awt/Image; Ljava/lang/String; LocalVariables RIGHT 
SourceFile Util Z add black callback click darkGray 	drawImage drawLine 
drawString f fillRect fnm 
getDescent 	getHeight getWidth group hc1 hc2 hc3 height iheight image imgSize imode indent inside iwidth java/awt/Canvas java/awt/Color java/awt/Component java/awt/Dimension java/awt/FontMetrics java/awt/Graphics java/lang/Math lc1 lc2 lc3 	lightGray max minimumSize 	mouseDown 
mouseEnter 	mouseExit mouseUp paint pheight preferredSize pwidth repaint select selected setColor setFont setGroup setImage setImageText setText size string stringWidth theight twidth update white width !  	     Ÿ œ  š      § œ  š      “ œ  š      ” œ  š       ¿ ¤     ä ¥     ­      Á œ     Ä œ     ¾ œ     Ù œ     × œ     ç œ     æ œ     Ã ª     Â ª     ¹ ž     Ü ª     Ì ¡     Í ¡     Î ¡     º ¡     » ¡     ¼ ¡     ’ ‹  ™   %     	*+,· ±        
        ’ ‘  ™   %     	*+,· ±        
         ’   ™  Æ    :*· *² Cµ /*² 2µ 0*² µ 1*² Cµ $*» 
Y Ò Ò Ò· µ %*² µ &*+µ )*,µ ?*µ +*µ *´ )Æ **´ )¸ "µ .**´ )¸ !µ (*´ ?Æ *² *´ ?¶ @µ B*² ¶  µ A*´ )Æ p*´ ?Æ i*´ +ª    ›                @   @**´ .*´ B``µ 7**´ (*´ A¸ 3`µ 5±**´ .*´ B¸ 3`µ 7**´ (*´ A``µ 5±*´ )Æ **´ .`µ 7**´ (`µ 5±*´ ?Æ **´ B`µ 7**´ A`µ 5±        z    #     4  ; % @ & E ' J ( P ) W * b + m - t . ‚ / Œ 1 š 2 ¼ 5 Ì 6 Ý 7 Þ : ï ; ÿ <  ? @ A ? C# D. E9 #  ß ƒ  ™   .     *+µ #*´ #*¶ ±            N  O  L  Û |  ™   0     *´ #Æ *´ #*¶ :±            V  W  T  â   ™   S     '*+µ ?*µ )*² *´ ?¶ @µ B*² ¶  µ A*¶ 8±            ^  _ 
 `  a " b & \  à ‰  ™   Q     %*µ ?*+µ )**´ )¸ "µ .**´ )¸ !µ (*¶ 8±            i  j 
 k  l   m $ g  á Œ  ™   z     B*+µ )*,µ ?*µ +*² *´ ?¶ @µ B*² ¶  µ A**´ )¸ "µ .**´ )¸ !µ (*¶ 8±        & 	   t  u 
 v  w  x ' y 2 z = { A r  Ö ‡  ™  2  
  V*´ -™ 
*´ $§ *´ /M*´ -™ 
*´ %§ *´ 0N*´ -™ 
*´ &§ *´ 1:*¶ >´ D6*¶ >´ '6*´ ,š 
*´ ;™ § ,:*´ ,š 
*´ ;™ ,§ :+-¶ <+dd¶ +¶ <+d¶ +d¶ +¶ <+ddd¶ +ddd¶ *´ -™ ++¶ <+ddd¶ +ddd¶ +¶ <+² ¶ =*´ )Æ à*´ ?Æ Ù*´ +š x**´ Bddd· *:	+*´ )	´ Dd*´ Bddl	´ 'dl	´ D	´ '*¶ W+*´ ?	´ Dd*´ Bddl	´ D``*´ A`² ¶ dl¶ ±*´ +Ÿ »*´ +  ³+*´ )*´ .dl*´ (d*´ Addl*´ .*´ (*¶ W+*´ ?*´ Bdl*´ (² ¶  ``¶ ±*´ )Æ :*dd· *:	+*´ )	´ Ddl	´ 'dl	´ D	´ '*¶ W±*´ ?Æ $+*´ ?*´ Bdl*´ A`² ¶ dl¶ ±        Ê 2   €   & ‚ : ƒ L „ b … x † } ‡ ‹ ˆ ‘ ‰ œ Š § ‹ ­ Œ ¾  Ï Ž Ö ’ Ü “ í ” þ — ˜ ™ š  ›4 œJ _ œc žh Ÿ  ‘ ž” š• ¢ ¤¥ ¦³ §Ã ¨Ì ¦Ð ©î ™ï ®ö ¯ ° ±( °, ®- ³4 ´B µR ´U ~  è ‡  ™        *+¶ 4±            ¹  Ó …  ™   +     *µ -*¶ 8¬            ½  ¾ 	 ¿  Ô …  ™   +     *µ -*¶ 8¬            Ä  Å 	 Æ  Ò …  ™   +     *µ ,*¶ 8¬            Ë  Ì 	 Í  Õ …  ™   n     >› 2› .*¶ >´ D¢ #*¶ >´ '¢ *´ Æ *´ *¹  *¶ 9*µ ,*¶ 8¬            Ò  Ó % Ô / Õ 3 × 8 Ø < Ù  Ø {  ™   (     » Y*´ 7*´ 5· °            Þ  Ñ {  ™        *¶ 6°            ã  À ~  ™   n     F†*´ .†nF†*´ (†n8%–œ %§ 8•ž 8» Y*´ .†j‹*´ (†j‹· °            è 	 é  ê " ë , ì  ¨    –   0707010000eb4a000081a40000000000000002000000013d1fe2d500001543000000200000000000000000000000000000001900000003reloc/file/CbButton.java  import java.awt.*;
import java.util.*;

public class CbButton extends Canvas
{
	public static final int LEFT = 0;
	public static final int RIGHT = 1;
	public static final int ABOVE = 2;
	public static final int BELOW = 3;

	Image image;
	String string;
	CbButtonCallback callback;
	int imode;
	int iwidth, iheight, pwidth, pheight, twidth, theight;
	boolean inside, indent;

	CbButtonGroup group;
	boolean selected;

	Color lc1 = Color.white, lc2 = Color.lightGray, lc3 = Color.black;
	Color hc1 = Color.white, hc2 = new Color(210, 210, 210),
	      hc3 = Color.darkGray;

	public CbButton(Image i, CbButtonCallback cb)
	{
	this(i, null, LEFT, cb);
	}

	public CbButton(String s, CbButtonCallback cb)
	{
	this(null, s, LEFT, cb);
	}

	public CbButton(Image i, String s, int im, CbButtonCallback cb)
	{
	image = i;
	string = s;
	imode = im;
	callback = cb;
	if (image != null) {
		iwidth = Util.getWidth(image);
		iheight = Util.getHeight(image);
		}
	if (string != null) {
		twidth = Util.fnm.stringWidth(string);
		theight = Util.fnm.getHeight();
		}
	if (image != null && string != null) {
		switch(imode) {
		case LEFT:
		case RIGHT:
			pwidth = iwidth + twidth + 6;
			pheight = Math.max(iheight , theight) + 4;
			break;
		case ABOVE:
		case BELOW:
			pwidth = Math.max(iwidth, twidth) + 4;
			pheight = iheight + theight + 6;
			break;
			}
		}
	else if (image != null) {
		pwidth = iwidth + 4;
		pheight = iheight + 4;
		}
	else if (string != null) {
		pwidth = twidth + 8;
		pheight = theight + 8;
		}
	}

	/**Make this button part of a mutual-exclusion group. Only one such
	 * button can be indented at a time
	 */
	public void setGroup(CbButtonGroup g)
	{
	group = g;
	group.add(this);
	}

	/**Make this button the selected one in it's group
	 */
	public void select()
	{
	if (group != null)
		group.select(this);
	}

	/**Display the given string
	 */
	public void setText(String s)
	{
	string = s;
	image = null;
	twidth = Util.fnm.stringWidth(string);
	theight = Util.fnm.getHeight();
	repaint();
	}

	/**Display the given image
	 */
	public void setImage(Image i)
	{
	string = null;
	image = i;
	iwidth = Util.getWidth(image);
	iheight = Util.getHeight(image);
	repaint();
	}

	/**Display the given image and text, with the given alignment mode
	 */
	public void setImageText(Image i, String s, int m)
	{
	image = i;
	string = s;
	imode = m;
	twidth = Util.fnm.stringWidth(string);
	theight = Util.fnm.getHeight();
	iwidth = Util.getWidth(image);
	iheight = Util.getHeight(image);
	repaint();
	}

	public void paint(Graphics g)
	{
	Color c1 = inside ? hc1 : lc1,
	      c2 = inside ? hc2 : lc2,
	      c3 = inside ? hc3 : lc3;
	int w = size().width, h = size().height;
	Color hi = indent||selected ? c3 : c1,
	      lo = indent||selected ? c1 : c3;
	g.setColor(c2);
	g.fillRect(0, 0, w-1, h-1);
	g.setColor(hi);
	g.drawLine(0, 0, w-2, 0);
	g.drawLine(0, 0, 0, h-2);
	g.setColor(lo);
	g.drawLine(w-1, h-1, w-1, 1);
	g.drawLine(w-1, h-1, 1, h-1);
	if (inside) {
		/* g.setColor(hi);
		g.drawLine(1, 1, w-3, 1);
		g.drawLine(1, 1, 1, h-3); */
		g.setColor(lo);
		g.drawLine(w-2, h-2, w-2, 2);
		g.drawLine(w-2, h-2, 2, h-2);
		}

	g.setColor(c3);
	g.setFont(Util.f);
	if (image != null && string != null) {
		if (imode == LEFT) {
			Dimension is = imgSize(w-twidth-6, h-4);
			g.drawImage(image, (w - is.width - twidth - 2)/2,
				    (h-is.height)/2, is.width, is.height, this);
			g.drawString(string,
				     (w - is.width - twidth - 2)/2 +is.width +2,
				     (h + theight - Util.fnm.getDescent())/2);
			}
		else if (imode == RIGHT) {
			}
		else if (imode == ABOVE) {
			//Dimension is = imgSize(w-4, h-theight-6);
			g.drawImage(image, (w - iwidth)/2, 
				    (h - iheight - theight - 2)/2,
				    iwidth, iheight, this);
			g.drawString(string, (w - twidth)/2, iheight+Util.fnm.getHeight()+2);
			}
		else if (imode == BELOW) {
			}
		}
	else if (image != null) {
		Dimension is = imgSize(w-4, h-4);
		g.drawImage(image, (w - is.width)/2, (h-is.height)/2,
			    is.width, is.height, this);
		}
	else if (string != null) {
		g.drawString(string, (w - twidth)/2,
		                     (h+theight-Util.fnm.getDescent())/2);
		}
	}

	public void update(Graphics g) { paint(g); }

	public boolean mouseEnter(Event e, int x, int y)
	{
	inside = true;
	repaint();
	return true;
	}

	public boolean mouseExit(Event e, int x, int y)
	{
	inside = false;
	repaint();
	return true;
	}

	public boolean mouseDown(Event e, int x, int y)
	{
	indent = true;
	repaint();
	return true;
	}

	public boolean mouseUp(Event e, int x, int y)
	{
	if (x >= 0 && y >= 0 && x < size().width && y < size().height) {
		if (callback != null)
			callback.click(this);
		select();
		}
	indent = false;
	repaint();
	return true;
	}

	public Dimension preferredSize()
	{
	return new Dimension(pwidth, pheight);
	}

	public Dimension minimumSize()
	{
	return preferredSize();
	}

	private Dimension imgSize(int mw, int mh)
	{
	float ws = (float)mw/(float)iwidth,
	      hs = (float)mh/(float)iheight;
	float s = ws < hs ? ws : hs;
	if (s > 1) s = 1;
	return new Dimension((int)(iwidth*s), (int)(iheight*s));
	}
}


interface CbButtonCallback
{
	void click(CbButton b);
}


class CbButtonGroup
{
	Vector buttons = new Vector();

	void add(CbButton b)
	{
	buttons.addElement(b);
	}

	void select(CbButton b)
	{
	for(int i=0; i<buttons.size(); i++) {
		CbButton but = (CbButton)buttons.elementAt(i);
		but.selected = (b == but);
		but.repaint();
		}
	}
}

 0707010000eb4b000081a40000000000000002000000013d1fe2d6000000f1000000200000000000000000000000000000002200000003reloc/file/CbButtonCallback.class Êþº¾  -    	  (LCbButton;)V CbButton CbButton.java CbButtonCallback CbButtonGroup Code ConstantValue 
Exceptions LineNumberTable LocalVariables 
SourceFile click java/lang/Object                     0707010000eb4c000081a40000000000000002000000013d1fe2d6000002eb000000200000000000000000000000000000001f00000003reloc/file/CbButtonGroup.class    Êþº¾  - 3    , - .
  
  
  	  
  
  	  
     )  * $ +  /  1 ' 2  ()I ()V (I)Ljava/lang/Object; (LCbButton;)V (Ljava/lang/Object;)V <init> CbButton CbButton.java CbButtonCallback CbButtonGroup Code ConstantValue 
Exceptions LineNumberTable Ljava/util/Vector; LocalVariables 
SourceFile Z add 
addElement buttons 	elementAt java/awt/Component java/lang/Object java/util/Vector repaint select selected size          * $      (       %     	*´ 
+¶ 	±    #   
    ý  û   0       ^     2=§ $*´ 
¶ À N-+-¥ § µ -¶ „*´ 
¶ ¡ÿ×±    #          # 1           0     *· *» Y· µ 
±    #       ÷  ù  ÷  &     0707010000eb4d000081a40000000000000002000000013d1fe2d6000006fc000000200000000000000000000000000000001f00000003reloc/file/CbColorButton.class    Êþº¾  - q T Z o ] ^ m F E _ c < l @ Y X
  .
  5	  %	  -	  +
 
 1
  )
  3	  $
  ,
  4
  1
  '
  &	  2	  (
  /
  *	  0
  1 P i Q ? h p M L W ? k a f g O n = U B : \ J ; G d A k J R N 6 V k [ k I fillRect LineNumberTable ConstantValue CbColorButton.java 
LCbButton; createImage java/awt/Color add 
Exceptions Ljava/awt/Color; CbColorWindow LCbColorWindow; but 
SourceFile click CbButton java/awt/BorderLayout (II)Ljava/awt/Image; "(LCbColorWindow;Ljava/awt/Color;)V %(Ljava/awt/Image;LCbButtonCallback;)V ()V palette ()Ljava/awt/Graphics; getGraphics Ljava/awt/Image; pal g black swatch (LCbButton;)V Center <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; (IIII)V col CbColorWindowCallback java/awt/Panel java/awt/Component *(Ljava/awt/Color;LCbColorWindowCallback;)V repaint java/awt/Container Util CbButtonCallback Code %(Ljava/awt/Color;Ljava/util/Vector;)V LocalVariables java/util/Vector win #(LCbColorWindow;)Ljava/util/Vector; 	setLayout (Ljava/awt/LayoutManager;)V setColor Ljava/awt/Graphics; chosen <init> java/awt/Graphics java/awt/Image Ljava/util/Vector; CbColorButton (Ljava/awt/Color;)V     	     W ?     B :     O n     R N     P i     d A      k p  `   )     *+» 
Y· · ±    7   
         k a  `   ›     c*· * ¸  µ **´ ¶ µ +Ç ² L*+µ *´ *´ ¶ *´  ¶ *» Y· #¶ !**» Y*´ *· Zµ ¶ W±    7   & 	          "  '  ?  J  b   D S  `   8     *´ "Ç *» Y*´ *· µ "±    7          !    j H  `   Z     .,Æ '*,µ *´ *´ ¶ *´  ¶ *´ ¶ *µ "±    7       &  ' 	 ( ! ) ( + - $  K e  `        *´ °    7       0  C    90707010000eb4e000081a40000000000000002000000013d1fe2d6000003b3000000200000000000000000000000000000001e00000003reloc/file/CbColorButton.java import java.awt.*;
import java.util.*;

/**A component for choosing a color
 */
public class CbColorButton extends Panel implements CbButtonCallback,
                                                    CbColorWindowCallback
{
	Color col;
	CbButton but;
	Vector pal;
	Image swatch = Util.createImage(32, 16);
	Graphics g = swatch.getGraphics();
	CbColorWindow win;

	CbColorButton(Color c)
	{
	this(c, new Vector());
	}

	CbColorButton(Color c, Vector p)
	{
	if (c == null) c = Color.black;
	col = c;
	g.setColor(col); g.fillRect(0, 0, 32, 16);
	setLayout(new BorderLayout());
	add("Center", but = new CbButton(swatch, this));
	}

	public void click(CbButton b)
	{
	if (win == null)
		win = new CbColorWindow(col, this);
	}

	public void chosen(CbColorWindow w, Color c)
	{
	if (c != null) {
		col = c;
		g.setColor(col); g.fillRect(0, 0, 32, 16);
		but.repaint();
		}
	win = null;
	}

	public Vector palette(CbColorWindow w)
	{
	return pal;
	}
}

 0707010000eb4f000081a40000000000000002000000013d1fe2d600000f72000000200000000000000000000000000000001f00000003reloc/file/CbColorWindow.class    Êþº¾  - ¸ ¤ â Ò í ê º ˜ ú Ù Ê ð ´ · Ý  µ þ — æ õ œ ñ ¨ ø Á Ó °
  y
  Š	 
 o	 
 –	 
 s
  Ž
  `
  ‚
  n
  q
  ‘	 
 z
  Ž
  	 
 
 	 i
 
 
  m	  {	 
 ˆ
  …
  €  ^	  |	 
 	  e
  l	 
 ‰
  _	  ~
  Ž
  Š
  „	  †	  f	  “	  g	  h  ”
  Ž	  c	  b
  w
  k
  ’	  ‡
  p
  	  }
 
 `
  t
  u	  Œ
  r
  ƒ
  x
  w	  ‹	 
 v
  Ž	  •	 
 a
  d
  j ¶  Ç À Ö ¼ š » ã ¬
 › ™ É
 ß
 ì
 ¦
 ¹ Ô › Ì ­ Þ ü Å £ Ñ ý « ï Ø Ö à ¿ ¡ Þ ¥ á Ö Å é ž ö › ¿ › § å × î ¥ »

 è
 ù
 ± ò ² Ä ® ¿ ô Ö û ™ › Â Í ç Ë
 ¢
 ÷ ï ë
 ó Æ Ã
 ù ã Û Þ › Ö Ï	 ¯ Ö ä Þ Ü ³ Ÿ ¦ ã Î java/awt/Color 
FixedFrame (IIII)V LCbColorWindowCube; <init> java/awt/Container 
addElement callback #(LCbColorWindow;)Ljava/util/Vector; 
SourceFile getRed darkGray *(Ljava/awt/Component;)Ljava/awt/Component; Cancel 
LCbButton; red %(Ljava/awt/Image;LCbButtonCallback;)V CbColorWindowSwatch 
Exceptions LineNumberTable pal black size 	updatePal repaint java/awt/GridLayout palbut equals palette CbSlider java/awt/Window "(LCbColorWindow;Ljava/awt/Color;)V java/util/Vector South getGraphics CbColorWindowCallback blue ccube *(Ljava/awt/Color;LCbColorWindowCallback;)V (LCbButton;)V (I)V dispose Util '(Ljava/lang/String;LCbButtonCallback;)V white (Ljava/lang/Object;)Z add (Ljava/awt/Color;)V (Ljava/lang/Object;)V isResizable magenta java/awt/Frame yellow (LCbColorWindow;)V setGroup curpal palimg click createImage North java/awt/Component ()Ljava/awt/Graphics; ()Z ()V (Ljava/awt/LayoutManager;)V show CbColorWindowCube CbColorWindow.java getGreen swatch java/awt/BorderLayout ()I orange setPosition pack Ok 
LCbSlider; getBlue 	setLayout CbButtonGroup (LCbButtonGroup;)V gray <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; Choose Color... col pink Center ok Ljava/util/Vector; CbButtonCallback 	GrayPanel [LCbButton; setColor select BorderPanel LCbColorWindowCallback; defpal java/awt/Graphics green java/awt/Image fillRect (Ljava/lang/String;)V (II)Ljava/awt/Image; CbButton ConstantValue java/awt/FlowLayout I LCbColorWindowSwatch; Code CbColorWindow setTitle cyan 	elementAt LocalVariables [Ljava/awt/Image; Ljava/awt/Color; (I)Ljava/lang/Object; <clinit> chosen cancel   
    
   ž ö     ë
     « ï    ÷ ï     Ï	     ± ò     Î     î ¥     ¥     ¼ š      › ½   †  
  º*· Y*½ 	µ 6*½ µ ,*µ !*+µ 9*,µ X**´ X*¹ D µ  *´  Ç *² 1µ  § )*´  ¶ Iš >§ *´  ² 1¶ +¶ :„¡ÿì>§ *´ 6¸ &S*¶ .„¡ÿè*» Y· *¶ » Y· <:» Y· H¶ *» Y*· >Zµ )¶ /W*» Y*· >Zµ "¶ /W*¶ QW» Y· V:» Y· *¶ » Y· <:» Y· \¶ » Y· E:6§ /*´ ,» Y*´ 62*· U[S¶ /W*´ ,2¶ 2„¡ÿÐ6	§ )+*´  	¶ +¶ 3™ *	µ !*´ ,	2¶ %§ „		¡ÿÖ¶ QW*» Y*· ]Zµ [¶ QW*¶ QW*¶ P*¶ L*¶ 8±    ª   º .   #        %   & % ) 3 * : + A * D , N - S . a - j 1 o 2 | 3  1 Š 7 • 8 ž 9 « : À ; Õ < Þ = è > ô ? ý @ A B C: DF BP FV Gf Hl Iv Jy Fƒ L M¢ N« P¯ Q³ R¹ #   ® ¿    ^     6*´ 62¶ -M,*´  ¶ +À ¶ =,¶ T*´ ,2Æ *´ ,2¶ (±    ª       W 
 X  Y # Z 5 U  Ð ¾    î     –+*´ )¦ *´ X**´ 9¹ 4 *· $±+*´ "¦ *¶ O±=§ e+*´ ,2¦ X*µ !**´  ¶ +À µ 9*´ [´ Z*´ 9¶ S¶ '*´ [´ G*´ 9¶ J¶ '*´ [´ R*´ 9¶ M¶ '*´ [´ A*´ 9¶ „¡ÿ›±    ª   F    _  `  a  _  c # d ' c ( f - g 7 h < i K j \ k m l ~ m Œ f • ]  À Ö    0     *· $*´ X*¹ 4 ±    ª       t  u  r  È Õ         ¬    ª       x  Ö    Ã      w» Y· #³ 1² 1² F¶ :² 1² 0¶ :² 1² 5¶ :² 1² N¶ :² 1² ;¶ :² 1² K¶ :² 1² 7¶ :² 1² @¶ :² 1² B¶ :² 1² C¶ :² 1² W¶ :² 1² ?¶ :±    ª   :     
      %  .  7  @  I  R  [  d  m   v        Ú  0707010000eb50000081a40000000000000002000000013d1fe2d600001489000000200000000000000000000000000000001e00000003reloc/file/CbColorWindow.java import java.awt.*;
import java.util.*;

/**A window for choosing a colour, either from a pre-set palette
 * or from a color cube
 */
class CbColorWindow extends FixedFrame implements CbButtonCallback
{
	CbColorWindowCallback callback;
	Color col;
	Vector pal;
	static Vector defpal = new Vector();
	Image palimg[] = new Image[12];
	CbButton palbut[] = new CbButton[12];
	int curpal = -1;
	CbButton ok, cancel;
	CbColorWindowCube ccube;

	static
	{
	defpal.addElement(Color.black);
	defpal.addElement(Color.blue);
	defpal.addElement(Color.cyan);
	defpal.addElement(Color.gray);
	defpal.addElement(Color.green);
	defpal.addElement(Color.darkGray);
	defpal.addElement(Color.magenta);
	defpal.addElement(Color.orange);
	defpal.addElement(Color.pink);
	defpal.addElement(Color.red);
	defpal.addElement(Color.white);
	defpal.addElement(Color.yellow);
	}

	CbColorWindow(Color c, CbColorWindowCallback cb)
	{
	col = c;
	callback = cb;

	// Setup color vector
	pal = callback.palette(this);
	if (pal == null)
		pal = defpal;
	else if (pal.size() == 0)
		for(int i=0; i<12; i++)
			pal.addElement(defpal.elementAt(i));

	// Create palette images
	for(int i=0; i<12; i++) {
		palimg[i] = Util.createImage(16, 16);
		updatePal(i);
		}

	// create UI
	setLayout(new BorderLayout());
	Panel bot = new GrayPanel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(ok = new CbButton("Ok", this));
	bot.add(cancel = new CbButton("Cancel", this));
	add("South", bot);
	Panel mid = new BorderPanel(1);
	mid.setLayout(new BorderLayout());
	Panel midbot = new GrayPanel();
	midbot.setLayout(new GridLayout(2, 6, 4, 4));
	CbButtonGroup g = new CbButtonGroup();
	for(int i=0; i<12; i++) {
		midbot.add(palbut[i] = new CbButton(palimg[i], this));
		palbut[i].setGroup(g);
		}
	for(int i=0; i<12; i++)
		if (c.equals(pal.elementAt(i))) {
			curpal = i;
			palbut[i].select();
			break;
			}
	mid.add("South", midbot);
	mid.add("North", ccube = new CbColorWindowCube(this));
	add("Center", mid);

	pack();
	show();
	setTitle("Choose Color...");
	}

	void updatePal(int i)
	{
	Graphics g = palimg[i].getGraphics();
	g.setColor((Color)pal.elementAt(i));
	g.fillRect(0, 0, 16, 16);
	if (palbut[i] != null) palbut[i].repaint();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		callback.chosen(this, col);
		super.dispose();
		}
	else if (b == cancel)
		dispose();
	else {
		for(int i=0; i<12; i++)
			if (b == palbut[i]) {
				curpal = i;
				col = (Color)pal.elementAt(i);
				ccube.red.setPosition(col.getRed());
				ccube.blue.setPosition(col.getBlue());
				ccube.green.setPosition(col.getGreen());
				ccube.swatch.setColor(col);
				}
		}
	}

	public void dispose()
	{
	super.dispose();
	callback.chosen(this, null);
	}

	public boolean isResizable() { return false; }
}

/**Displays 3 sliders, for red green and blue plus a block to show the
 * current color
 */
class CbColorWindowCube extends BorderPanel implements CbSliderCallback
{
	CbColorWindow parent;
	CbSlider red, green, blue;
	CbColorWindowSwatch swatch;

	CbColorWindowCube(CbColorWindow p)
	{
	super(1, Color.lightGray, Color.lightGray);
	parent = p;
	setLayout(new BorderLayout());
	Panel sl = new GrayPanel();
	sl.setLayout(new GridLayout(3, 1));
	sl.add(red = new CbSlider(0, 0, 255, p.col.getRed(), this));
	sl.add(green = new CbSlider(0, 0, 255, p.col.getBlue(), this));
	sl.add(blue = new CbSlider(0, 0, 255, p.col.getGreen(), this));
	add("Center", sl);
	add("East", swatch = new CbColorWindowSwatch(p.col));
	}

	public void moved(CbSlider s, int p)
	{
	moving(s, p);
	}

	public void moving(CbSlider s, int p)
	{
	parent.col = new Color(red.getPosition(), green.getPosition(),
	                       blue.getPosition());
	swatch.setColor(parent.col);
	if (parent.curpal != -1) {
		parent.pal.setElementAt(parent.col, parent.curpal);
		parent.updatePal(parent.curpal);
		}
	}
}


interface CbColorWindowCallback
{
	/**This method will be called when the user chooses a colour. If
	 * the user cancels the dialog, then this method will also be chosen
	 * but with null for the color.
	 */
	public void chosen(CbColorWindow w, Color c);

	/**The chooser keeps a palette of colors that the user can modify,
	 * stored in a vector. The callback class should provide this vector
	 * so as to maintain the palette between color window calls.
	 * If an empty vector is returned, it will be filled with the default
	 * color table (which can be then modified).
	 * If null is returned, the chooser will use it's own internal
	 * vector.
	 */
	public Vector palette(CbColorWindow w);
}


class CbColorWindowSwatch extends BorderPanel
{
	Color col = Color.black;
	String txt;

	CbColorWindowSwatch(Color c)
	{
	super(1);
	setColor(c);
	}

	void setColor(Color c)
	{
	col = c;
	txt = col.getRed()+","+col.getGreen()+","+col.getBlue();
	repaint();
	}

	public void paint(Graphics g)
	{
	super.paint(g);
	g.setColor(col);
	g.fillRect(1, 1, size().width-2, size().height-2);
	g.setColor(Color.white);
	g.setXORMode(Color.black);
	g.setFont(Util.f);
	g.drawString(txt, 3, Util.fnm.getHeight()+1);
	g.setPaintMode();
	}

	public void upate(Graphics g) { paint(g); }

	public Dimension preferredSize()
	{
	return new Dimension(60, 60);
	}

	public Dimension minimumSize()
	{
	return preferredSize();
	}
}

   0707010000eb51000081a40000000000000002000000013d1fe2d60000016b000000200000000000000000000000000000002700000003reloc/file/CbColorWindowCallback.class    Êþº¾  -       ConstantValue CbColorWindowCube 
Exceptions CbColorWindow.java LineNumberTable 
SourceFile LocalVariables Code java/lang/Object chosen #(LCbColorWindow;)Ljava/util/Vector; CbColorWindowCallback CbColorWindowSwatch CbColorWindow palette "(LCbColorWindow;Ljava/awt/Color;)V                      	 0707010000eb52000081a40000000000000002000000013d1fe2d500000727000000200000000000000000000000000000002300000003reloc/file/CbColorWindowCube.class    Êþº¾  - „ h W r n O U T j H V w I Q p t	 	 B	 	 ;
  1
  >
  2
  D
  .
 
 <
  9
  =	  C	 	 :
  @	  3	  8	  0
  5	 	 4
  -
  7	 	 +
 	 ,
  6
  A
  ?
  ?
 
 / ]  [ e _ c k ^ ~ ƒ N q € y € | l P s  g ^ `  z { d ‚ L i f } X  € ƒ b ^ € \ € Z L J € m Y R x P o ^ LineNumberTable ConstantValue (LCbColorWindow;)V CbColorWindowCube java/awt/Color *(Ljava/awt/Component;)Ljava/awt/Component; CbColorWindow.java add 
Exceptions curpal CbSlider Ljava/awt/Color; CbColorWindow LCbColorWindow; 
SourceFile java/awt/BorderLayout 	GrayPanel CbColorWindowSwatch East red parent ()V moving $(ILjava/awt/Color;Ljava/awt/Color;)V green ()I setElementAt 	updatePal moved getRed (Ljava/lang/Object;I)V pal (LCbSlider;I)V swatch getPosition Center <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; CbSliderCallback getGreen col (III)V java/awt/GridLayout getBlue CbColorWindowCallback I java/awt/Container blue BorderPanel Code LocalVariables java/util/Vector 	lightGray (IIIILCbSliderCallback;)V 	setLayout (Ljava/awt/LayoutManager;)V (II)V LCbColorWindowSwatch; setColor (I)V <init> 
LCbSlider; Ljava/util/Vector; (Ljava/awt/Color;)V   	       Y R     X      ]      s      f }      € G  u   ê 	    ª*² ² · *+µ *» Y· )¶ #» Y· (M,» Y· ¶ #,*» Y ÿ+´ ¶ *· Zµ ¶ W,*» Y ÿ+´ ¶ *· Zµ $¶ W,*» Y ÿ+´ ¶ *· Zµ !¶ W*,¶ W**» 
Y+´ · Zµ ¶ W±    E   .    †  ‡  ˆ  ‰ # Š 0 ‹ N Œ l  Š Ž ’  © „  a e  u   #     *+¶ %±    E   
    ”  ’  [ e  u   —     c*´ » Y*´ ¶  *´ $¶  *´ !¶  · 'µ *´ *´ ´ ¶ **´ ´ Ÿ )*´ ´ *´ ´ *´ ´ ¶ "*´ *´ ´ ¶ &±    E   "    ™  š  ™ # › 1 œ <  T ž b —  S    K 0707010000eb53000081a40000000000000002000000013d1fe2d6000006fe000000200000000000000000000000000000002500000003reloc/file/CbColorWindowSwatch.class  Êþº¾  - ‰ ~ € s w j b P \ Q † X q x
  <	  0	 	 2	  .
 	 G
  :
 
 F	  ?
 	 1
  8
 
 /
 	 >
  E
 
 3
  ;
  -	  7	 	 5	  9
 
 @
  D
 
 C
  ,
 
 4
  ;
  A
  6	  =
  4
  B L f R Z K t  M U t m f i W N z „ ˆ  W … ƒ n W c _ ^ O o Z | e v d k r g f h a ` ˆ … d u ‚ T d c } … ‡ H l p f fillRect LineNumberTable ConstantValue width 	getHeight (Ljava/awt/Font;)V 
drawString Ljava/lang/String; CbColorWindowCube java/awt/Color size CbColorWindow.java setPaintMode height 
Exceptions Ljava/awt/Color; CbColorWindow 
SourceFile ()Ljava/awt/Dimension; minimumSize CbColorWindowSwatch upate txt (I)Ljava/lang/StringBuffer; 
setXORMode Ljava/awt/Font; java/awt/Dimension append ()V (Ljava/awt/Graphics;)V ()I getRed f black java/awt/FontMetrics fnm (IIII)V getGreen col preferredSize getBlue CbColorWindowCallback Ljava/awt/FontMetrics; java/awt/Component I toString repaint Util BorderPanel Code (Ljava/lang/String;II)V LocalVariables paint ,(Ljava/lang/String;)Ljava/lang/StringBuffer; , setFont java/lang/StringBuffer white ()Ljava/lang/String; (II)V setColor <init> java/awt/Graphics (I)V (Ljava/awt/Color;)V          n W     ^ O      … ˆ  y   6     *· *² µ *+¶ *±    I       ¿  º  À  ½   „ ˆ  y   d     @*+µ *» Y· '*´ ¶ ¶ ¶ "*´ ¶ ¶ ¶ "*´ ¶ ¶ ¶ +µ  *¶ ±    I       Å  Æ ; Ç ? Ã  | e  y   ˆ     P*+· &+*´ ¶ %+*¶ ´ d*¶ ´ d¶ +² ¶ %+² ¶ !+² ¶ +*´  ² )¶ $`¶ +¶ #±    I   & 	   Ì  Í  Î % Ï , Ð 3 Ñ : Ò K Ó O Ê  ] e  y        *+¶ ±    I       Ö  o Z  y   $     » Y<<· (°    I       Ú  [ Z  y        *¶ °    I       ß  Y    S  0707010000eb54000081a40000000000000002000000013d1fe2d600000505000000200000000000000000000000000000002000000003reloc/file/CbImageChooser.class   Êþº¾  - S = R 2 C D N F 4 5 E @	  %
  !
 	 	  #
 	 
  
  &
  
  "
 	 $
  	  	   
  & Q P + * G P Q : M O / , ; 9 - > Q ? 0 ) G 7 A K Q 6 LineNumberTable ConstantValue 
LCbButton; Ljava/lang/String; imgsrc (Ljava/lang/String;)V add 
Exceptions setText but 
SourceFile Choose.. click java/awt/BorderLayout CbButton ()V (Ljava/awt/Image;)V CbImageChooser.java Ljava/awt/Image; '(Ljava/lang/String;LCbButtonCallback;)V img (LCbButton;)V Center <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; (LCbImageChooser;)V java/awt/Panel filewin I java/awt/Container CbImageFileWindow CbButtonCallback ScrollImage setImage Code LocalVariables imgw LCbImageFileWindow; imgh 	setLayout CbImageChooser (Ljava/awt/LayoutManager;)V %(Ljava/awt/Image;Ljava/lang/String;)V <init>        
    ; 9     + *     J B     L B     0 )     A K      Q 7  H   #     *+· ±    '   
         Q P  H   ]     5*· *» Y· ¶ **» 	Y*· Zµ ¶ W*+,Ç § ,¶ ±    '            %  4    G P  H   O     '*+µ *,µ *´ Æ *´ *´ ¶ ±*´ ¶ ±    '          
    &   3 <  H   7     +*´ ¦ *´ Ç 
» *· ±    '       #  $  !  1    8   0707010000eb55000081a40000000000000002000000013d1fe2d50000125c000000200000000000000000000000000000001f00000003reloc/file/CbImageChooser.java    import java.awt.*;
import java.net.*;

class CbImageChooser extends Panel implements CbButtonCallback
{
	Image img;
	String imgsrc;
	int imgw, imgh;
	CbButton but;
	CbImageFileWindow filewin;
	//CbImageChooserCallback callback;

	CbImageChooser(Image i)
	{
	this(i, null);
	}

	CbImageChooser(Image i, String s)
	{
	setLayout(new BorderLayout());
	add("Center", but = new CbButton("Choose..", this));
	setImage(i, s==null ? "" : s);
	}

	void setImage(Image i, String s)
	{
	img = i;
	imgsrc = s;
	if (img != null) but.setImage(img);
	else but.setText("Choose..");
	}

	public void click(CbButton b)
	{
	if (b == but && filewin == null)
		new CbImageFileWindow(this);
	}
}


class CbImageFileWindow extends FixedFrame implements CbButtonCallback
{
	CbImageChooser parent;
	ScrollImage imgp;
	TextField url;
	CbButton browse, ok, cancel;
	FileDialog filedlog;
	String lastfile = "";

	CbImageFileWindow(CbImageChooser p)
	{
	parent = p;
	parent.filewin = this;
	setLayout(new BorderLayout());
	add("Center", imgp = new ScrollImage(parent.img, 200, 200));
	Panel bot = new GrayPanel();
	bot.setLayout(new FlowLayout(FlowLayout.LEFT));
	bot.add(new Label("URL:"));
	bot.add(url = new TextField(parent.imgsrc, 20));
	bot.add(browse = new CbButton("Browse..", this));
	bot.add(new Label("  "));
	bot.add(ok = new CbButton("Ok", this));
	bot.add(cancel = new CbButton("Cancel", this));
	add("South", bot);

	pack();
	show();
	setTitle("Choose Image..");
	Util.recursiveBackground(this, Color.lightGray);
	}

	public void click(CbButton b)
	{
	if (b == ok)
		parent.setImage(imgp.img, lastfile);
	if (b == ok || b == cancel)
		dispose();
	else if (b == browse) {
		// Open file chooser here!
		FileDialog filedlog =
		  new FileDialog(this, "Choose Image",FileDialog.LOAD);
		filedlog.show();
		if (filedlog.getFile() != null) {
			// file chosen.. load it in
			String fn = filedlog.getDirectory()+filedlog.getFile();
			url.setText(fn);
			loadFile(fn);
			}
		}
	}

	public void dispose()
	{
	super.dispose();
	parent.filewin = null;
	}

	public boolean action(Event evt, Object obj)
	{
	if (evt.target == url) {
		String ut = url.getText();
		if (ut.startsWith("http:") || ut.startsWith("ftp:"))
			loadURL(ut);
		else
			loadFile(ut);
		return true;
		}
	return false;
	}

	private void loadFile(String f)
	{
	Image i = Util.tk.getImage(f);
	if (i == null || !Util.waitForImage(i))
		new ErrorWindow("Failed to load image "+f);
	else {
		imgp.setImage(i);
		lastfile = f;
		}
	}

	private void loadURL(String u)
	{
	try {
		Image i = Util.tk.getImage(new URL(u));
		if (i == null || !Util.waitForImage(i))
			new ErrorWindow("Failed to load image from "+u);
		else {
			imgp.setImage(i);
			lastfile = u;
			}
		}
	catch(MalformedURLException e) {
		new ErrorWindow(u+" is not a valid URL");
		}
	}
}


class ScrollImage extends Panel implements CbScrollbarCallback
{
	Image img;
	int imgw, imgh;
	int pw, ph;
	CbScrollbar vsc, hsc;
	boolean compute_scrollbars = true;

	ScrollImage(Image i)
	{
	this(i, Util.getWidth(i), Util.getHeight(i));
	}

	ScrollImage(Image i, int w, int h)
	{
	pw = w; ph = h;
	setLayout(new BorderLayout());
	add("East", vsc = new CbScrollbar(CbScrollbar.VERTICAL, this));
	add("South", hsc = new CbScrollbar(CbScrollbar.HORIZONTAL, this));
	setImage(i);
	}

	void setImage(Image i)
	{
	img = i;
	if (img != null) {
		imgw = Util.getWidth(img);
		imgh = Util.getHeight(img);
		}
	compute_scrollbars = true;
	repaint();
	}

	public void paint(Graphics g)
	{
	int w = size().width-vsc.size().width,
	    h = size().height-hsc.size().height;
	if (compute_scrollbars) {
		if (img == null) {
			hsc.setValues(0, 1, 1);
			vsc.setValues(0, 1, 1);
			}
		else {
			if (imgw < w) hsc.setValues(0, 1, 1);
			else hsc.setValues(0, w, imgw);
			if (imgh < h) vsc.setValues(0, 1, 1);
			else vsc.setValues(0, h, imgh);
			}
		compute_scrollbars = false;
		}

	g.setColor(Color.lightGray);
	g.fillRect(0, 0, w, h);
	if (img != null) {
		if (imgw < w && imgh < h)
			g.drawImage(img, (w-imgw)/2, (h-imgh)/2, this);
		else
			g.drawImage(img, -hsc.getValue(), -vsc.getValue(),this);
		}
	else {
		g.setFont(Util.f);
		g.setColor(Color.black);
		String s = "<None>";
		g.drawString(s, (w-Util.fnm.stringWidth(s))/2,
		                (h-Util.fnm.getHeight())/2);
		}
	}

	public void update(Graphics g) { paint(g); }

	public void reshape(int nx, int ny, int nw, int nh)
	{
	super.reshape(nx, ny, nw, nh);
	compute_scrollbars = true;
	repaint();
	}

	public void moved(CbScrollbar s, int p)
	{
	repaint();
	}

	public void moving(CbScrollbar s, int p) { }

	public Dimension minimumSize()
	{
	return new Dimension(pw, ph);
	}

	public Dimension preferredSize()
	{
	return minimumSize();
	}
}
0707010000eb56000081a40000000000000002000000013d1fe2d500000e73000000200000000000000000000000000000002300000003reloc/file/CbImageFileWindow.class    Êþº¾  - ø ¨ « ÷ ’ É Ç Ë ¤ × Ù ¶ ¼ „ Ð • ž † Ž ª Ê Ü é · ¾ Ô Ä ¿ Ã Å æ © ä § … ½ ‰ ” ë Õ ³	 ( 
  s
 $ q	 % €
  \
  
  p	  i
  a	 % _	  f
  o
  ~	  r
  |
 $ c	  u
  ~	  Z
  b
 & 	 % g
 ' ~
   y
 ( t
  [	  €
  `
  z
  v
  m
  ‚
  e
 ( ^
  k
  j
 $ l
  ]	 " n
  \
 # 
  x
  ~
 % {	  ƒ
  w	  h
  }	  d Š ± ˆ ð ¯ À Ú ° š Œ Ö £ — â ñ ã ï ã µ ‘ ‹ ì Â À è ™ Þ Ý ¸ Ý õ “ Æ À í ã µ Ï ˆ ®  ó ¹ á Í ° Ì Á Ñ “ ˜ ° ¦ à ² “ Ò ° » › » î ˆ ´ Ø ã ¹  ç ¬ ˆ ß ˆ À ˆ ã Ó Î ¡ ‡ ˆ ¢ ö –    java/awt/Color 
FixedFrame Ljava/awt/Toolkit; <init> java/awt/Container target parent '(Ljava/awt/Component;Ljava/awt/Color;)V action java/awt/FileDialog 
SourceFile 	lightGray *(Ljava/awt/Component;)Ljava/awt/Component; Cancel 
LCbButton; CbImageChooser ftp: LScrollImage; 
startsWith toString Ljava/awt/TextField; recursiveBackground $(Ljava/lang/String;)Ljava/awt/Image; 
Exceptions %(Ljava/awt/Image;Ljava/lang/String;)V java/awt/Toolkit LineNumberTable CbImageChooser.java tk (Ljava/awt/Image;II)V LCbImageFileWindow; Choose Image.. Ljava/awt/FileDialog; waitForImage java/net/MalformedURLException Failed to load image from  java/awt/Window java/lang/String South ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (LCbButton;)V (I)V dispose ()Ljava/lang/String; Ljava/lang/Object; browse Util '(Ljava/lang/String;LCbButtonCallback;)V add Browse.. java/awt/Frame lastfile setImage click getImage URL: ErrorWindow java/awt/TextField java/lang/StringBuffer ()V (Ljava/awt/LayoutManager;)V show ScrollImage java/awt/TextComponent java/awt/BorderLayout pack Ok %(Ljava/awt/Event;Ljava/lang/Object;)Z  is not a valid URL java/awt/Label Choose Image 	setLayout getText Ljava/awt/Image; <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; Center ok getFile img CbButtonCallback 	GrayPanel filewin Failed to load image  loadURL http: getDirectory filedlog CbImageFileWindow Ljava/lang/String; imgsrc &(Ljava/awt/Frame;Ljava/lang/String;I)V (Ljava/awt/Image;)Z (Ljava/awt/Image;)V (Ljava/lang/String;)Z (Ljava/lang/String;)V CbButton ConstantValue java/awt/FlowLayout append url java/awt/Event Code java/net/URL LCbImageChooser; loadFile  (Ljava/net/URL;)Ljava/awt/Image; setTitle (Ljava/lang/String;I)V setText LocalVariables Ljava/awt/Color; (LCbImageChooser;)V cancel imgp            ‹ ì     ö –     è ™     ² “     Ñ “     õ “     Û ¥     ¸ Ý      ˆ ô  ê  J     æ*· S*µ W*+µ Y*´ Y*µ 2*» Y· 5¶ +**» Y*´ Y´ , È È· HZµ U¶ MW» 'Y· ?M,» Y· G¶ +,» Y· .¶ 8W,*» Y*´ Y´ >· BZµ 3¶ 8W,*»  Y*· @Zµ 9¶ 8W,» Y· .¶ 8W,*»  Y*· @Zµ 6¶ 8W,*»  Y*· @Zµ 0¶ 8W*,¶ MW*¶ L*¶ I*¶ <*² O¸ J±    Ÿ   R    2  0 
 4  5  6 " 7 B 8 J 9 V : d ; ~ < ’ =   > ´ ? È @ Ð B Ô C Ø D Þ E å 2  º ­  ê   Á     u+*´ 6¦ *´ Y*´ U´ C*´ W¶ T+*´ 6¥ +*´ 0¦ *¶ P±+*´ 9¦ @» Y*· XM,¶ I,¶ FÆ )» Y· :,¶ N¶ 7,¶ F¶ 7¶ *N*´ 3-¶ 1*-· K±    Ÿ   :    J  K  L * M . L / N 7 Q B P C R G S N U g V o W t H  ¯ À  ê   -     *· -*´ Yµ 2±    Ÿ       ^  _  \   È  ê   j     6+´ ;*´ 3¦ ,*´ 3¶ /N-
¶ Dš -¶ D™ *-· E§ *-· K¬¬    Ÿ   "    d  e  f % g * f - i 2 j 4 l  í ã  ê   k     ;² )+¶ VM,Æ 
,¸ Aš » #» Y· :	¶ 7+¶ 7¶ *· Q±*´ U,¶ 4*+µ W±    Ÿ       q  r  s , r - u 5 v : o  Ø ã  ê   ¥     ]² )» &Y+· =¶ RM,Æ 
,¸ Aš » #» Y· :¶ 7+¶ 7¶ *· Q±*´ U,¶ 4*+µ W±W» #» Y· :+¶ 7¶ 7¶ *· Q±    A B !  Ÿ   .    |   }  ~   3 ~ 4  < ‚ A | B … C † \ z        0707010000eb57000081a40000000000000002000000013d1fe2d6000010ea000000200000000000000000000000000000001d00000003reloc/file/CbScrollbar.class  Êþº¾  - Ã        { } ~ Ÿ   ¡ ¢ £ ¤
  <
 	 =
  >
  ?
  @
  A	  B	  C
  D	  E	  F	  G
  H	  I	  J
 
 K
 
 L	  M	  N	  O	 	 P	  Q	  R	  R	  S	  T	  U	  V	  W	  X  Y  Z	  [	  \
  ]
  ^
  _
 
 `
  a
  b
  c	  d	  e	 	 f	  g	  h	  i	  j z m z o z p z r z t Œ v  „ Ž „  n  ‡ ‘ ‡ ’ … “ m ” ‡ • ƒ – q — q ™ ‡ š ‡ › ‡ œ ƒ  ‹ ž ‹ ¥ ‡ ¦ ‡ § ‡ ¨ ‡ © ƒ ª ƒ ¯ t ° t ± ƒ ² ƒ ´ l µ m ¶ q · u ¸ y º p » l ¼ ƒ ½ ‡ ¾ ƒ ¿ ƒ À ƒ Á ƒ Â ƒ ()I ()Ljava/awt/Dimension; ()V (I)V (II)V (III)V (IIII)V (IIIILCbScrollbarCallback;)V (ILCbScrollbarCallback;)V (LCbScrollbar;I)V (Ljava/awt/Color;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Event;II)Z (Ljava/awt/Graphics;)V (Ljava/awt/LayoutManager;)V <init> CbScrollbar CbScrollbar.java CbScrollbarArrow CbScrollbarCallback Code ConstantValue 
Exceptions 
HORIZONTAL I LCbScrollbarArrow; LCbScrollbarCallback; LineNumberTable Ljava/awt/Color; LocalVariables 
SourceFile VERTICAL Z add arrow1 arrow2 
arrowClick bc black callback 
checkValue darkGray drag drawLine fillRect getValue hc1 hc2 hc3 height indent inside java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/Graphics java/awt/Panel lc1 lc2 lc3 	lightGray lineinc lvisible minimumSize 	mouseDown 	mouseDrag mouseUp moved moving num orient paint preferredSize repaint reshape setColor 	setLayout setValue 	setValues size value white width x1 x2 y1 y2 !       Š ƒ  €      ‚ ƒ  €       ’ …     ž ‹      ‹     ² ƒ     ¼ ƒ     ª ƒ     ± ƒ     © ƒ     ¥ ‡     ¦ ‡     § ‡     ™ ‡     š ‡     › ‡      ‡     Á ƒ     Â ƒ     ¿ ƒ     À ƒ     • ƒ      „     Ž „      z s     &     
*,· ±    †   
     	    z r         Á*· *µ (*² 6µ $*² 'µ %*² µ &*² 6µ *» Y Ò Ò Ò· µ *² µ *» Y – – –· µ *¶ 3*µ -*µ *¶ 2*´ -š ***» Y*· Zµ ¶ W**» Y*· Zµ ¶ W±**» Y*· Zµ ¶ W**» Y*· Zµ ¶ W±    †   F    $   	    9  @  T & \ ' a ( g ) l * s + † , ™ * š / ­ 0 À $  º p     [     +*µ 5*µ )*µ ,*´ )*´ ,¤ **´ ,µ )*· *¶ /±    †       ;  < 
 =  > " ? & @ * 9  ˜ k          *´ 5¬    †       C  ¹ n     2     *µ 5*· *¶ /±    †       G  H 	 I  E  “ m     K     +*´ 5œ 	*µ 5±*´ 5*´ ,*´ )d¤ **´ ,*´ )dµ 5±    †       N  O * L  ³ x    ]  	  *´ ,š ±*¶ 4´ 7=*¶ 4´  >*´ "™ *´ ´ #š *´ ´ #™ § 6™ 
*´ § *´ $:™ 
*´ § *´ %:™ 
*´ § *´ &:+*´ ¶ 1+¶ +¶ 1+d¶ +d¶ +¶ 1+ddd¶ +ddd¶ *´ -š ìhd6**´ 5h*´ ,l`µ :**´ 5*´ )`h*´ ,l`dµ ;+¶ 1+*´ :d*´ ;*´ :d¶ +*´ !™ § ¶ 1+*´ :d*´ :¶ +*´ :*´ ;d¶ +*´ !™ § ¶ 1+d*´ ;dd*´ :¶ +d*´ ;d*´ ;d¶ ™+d*´ ;dd*´ :`¶ +d*´ ;d*´ ;d¶ ±*´ -  ëhd6**´ 5h*´ ,l`µ 8**´ 5*´ )`h*´ ,l`dµ 9+¶ 1+*´ 8*´ 9*´ 8dd¶ +*´ !™ § ¶ 1+*´ 8*´ 8d¶ +*´ 8*´ 9d¶ +*´ !™ § ¶ 1+*´ 9dd*´ 8d¶ +*´ 9dd*´ 9d¶ ™ -+*´ 9dd*´ 8`d¶ +*´ 9dd*´ 9d¶ ±    †   ® +   T  U  V : W ^ X p Y x Z € [ † \ š ]   ^ ¼ ` Ã a Ê b Ü c õ d û e f" g2 hB iT jh k| l m— n« `¬ q´ r» sÍ tæ uì v w x# y3 zE {Y |m }r ~ˆ œ R    n     ^     .*´ 5=*Y´ 5`µ 5*· *´ 5Ÿ *´ **´ 5¹ * *¶ /±    †       ˆ  ‰  Š  ‹  Œ )  - †  ¶ q     š     b*· 0*´ -š )*´ dd¶ 0*´ dddd¶ 0§ **´ dd¶ 0*´ dddd¶ 0*¶ /±    †   & 	   “ 	 ”  •  – 3 ” 6 ™ G š ] œ a ‘  ´ l     ?     *´ -š » 	Yd· °» 	Yd· °    †       ¡  ¢  ¡  « l          *¶ .°    †       §  ¬ w     È     €*´ -š @*´ :¢ **´ )t¶ § f*´ ;¤ **´ )¶ § S*µ !**´ :dµ *¶ /§ =*´ 8¢ **´ )t¶ § )*´ 9¤ **´ )¶ § *µ !**´ 8dµ *¶ /¬    †   6    ¬  ®  ¯ . ± 3 ² = ³ A ¬ D ¸ X ¹ k » p ¼ z ½ ~ À  ­ w     Ý  	   ‘*´ !™ ˆ*¶ 4´ 76*¶ 4´  6*´ 56*´ -š (hd6*´ dd6**´ ,hlµ 5§ %hd6*´ dd6**´ ,hlµ 5*· *´ 5Ÿ *´ **´ 5¹ + *¶ /*´ !¬    †   :    Å  Æ  Ç  È & É : Ê H È K Í _ Î m Ð q Ñ z Ò ˆ Ó Œ Ö  ® w     N     "*´ !™ *µ !*¶ /*´ **´ 5¹ * ¬¬    †       Û  Ü  Ý  Þ  ß   á  ‰    |  0707010000eb58000081a40000000000000002000000013d1fe2d500001e8c000000200000000000000000000000000000001c00000003reloc/file/CbScrollbar.java   // CbScrollbar.java
// A drop-in replacement for the AWT scrollbar class, with callbacks
// and a nicer look. This scrollbar is typically used to display some
// fraction of a list of items, with values ranging from min to max.
// The lvisible parameter determines how many of the list are lvisible
// at any one time. The value of the scrollbar ranges from min to
// max-lvisible+1 (the highest position in the list to start displaying)
import java.awt.*;

public class CbScrollbar extends Panel
{
	static final int VERTICAL = 0;
	static final int HORIZONTAL = 1;
	CbScrollbarCallback callback;		// who to call back to
	boolean inside, indent;
	int orient;			// horizontal or vertical?
	int value;			// position
	int lvisible;			// the number of lines lvisible
	int num;			// total number of lines
	int lineinc = 1;		// how much the arrow buttons move by
	Color lc1 = Color.white, lc2 = Color.lightGray, lc3 = Color.black;
	Color hc1 = Color.white, hc2 = new Color(210, 210, 210),
	      hc3 = Color.darkGray;
	Color bc = new Color(150, 150, 150);
	int y1, y2, x1, x2, drag;

	CbScrollbarArrow arrow1, arrow2;

	CbScrollbar(int o, CbScrollbarCallback cb)
	{
	this(o, 0, 1, 1, cb);
	}

	/**Create a new scrollbar
	 */
	CbScrollbar(int o, int v, int vis, int n, CbScrollbarCallback cb)
	{
	setValues(v, vis, n);
	orient = o;
	callback = cb;
	setLayout(null);
	if (orient == VERTICAL) {
		add(arrow1 = new CbScrollbarArrow(this, 0));
		add(arrow2 = new CbScrollbarArrow(this, 1));
		}
	else {
		add(arrow1 = new CbScrollbarArrow(this, 2));
		add(arrow2 = new CbScrollbarArrow(this, 3));
		}
	}

	/**Set the current scrollbar parameters
	 * @param v		Current position
	 * @param vis		Number of lines lvisible
	 * @param n		Total number of lines
	 */
	public void setValues(int v, int vis, int n)
	{
	value = v;
	lvisible = vis;
	num = n;
	if (lvisible > num) lvisible = num;
	checkValue();
	repaint();
	}

	public int getValue() { return value; }

	public void setValue(int v)
	{
	value = v;
	checkValue();
	repaint();
	}

	private void checkValue()
	{
	if (value < 0) value = 0;
	else if (value > num-lvisible) value = num-lvisible;
	}

	public void paint(Graphics g)
	{
	if (num == 0) return;
	int w = size().width, h = size().height;
	boolean ins = inside && !(arrow1.inside || arrow2.inside);
	Color c1 = ins ? hc1 : lc1, c2 = ins ? hc2 : lc2,
	      c3 = ins ? hc3 : lc3;
	g.setColor(bc);
	g.fillRect(0, 0, w, h);
	g.setColor(c3);
	g.drawLine(0, 0, w-1, 0); g.drawLine(0, 0, 0, h-1);
	g.setColor(c1);
	g.drawLine(w-1, h-1, w-1, 0); g.drawLine(w-1, h-1, 0, h-1);

	if (orient == VERTICAL) {
		int va = h-w*2;
		y1 = w+va*value/num;
		y2 = w+va*(value+lvisible)/num-1;
		g.setColor(c2);
		g.fillRect(1, y1, w-2, y2-y1);
		g.setColor(indent ? c3 : c1);
		g.drawLine(1, y1, w-2, y1);
		g.drawLine(1, y1, 1, y2-1);
		g.setColor(indent ? c1 : c3);
		g.drawLine(w-2, y2-1, w-2, y1);
		g.drawLine(w-2, y2-1, 1, y2-1);
		if (ins) {
			g.drawLine(w-3, y2-2, w-3, y1+1);
			g.drawLine(w-3, y2-2, 2, y2-2);
			}
		}
	else if (orient == HORIZONTAL) {
		int va = w-h*2;
		x1 = h+va*value/num;
		x2 = h+va*(value+lvisible)/num-1;
		g.setColor(c2);
		g.fillRect(x1, 1, x2-x1, h-2);
		g.setColor(indent ? c3 : c1);
		g.drawLine(x1, 1, x1, h-2);
		g.drawLine(x1, 1, x2-1, 1);
		g.setColor(indent ? c1 : c3);
		g.drawLine(x2-1, h-2, x1, h-2);
		g.drawLine(x2-1, h-2, x2-1, 1);
		if (ins) {
			g.drawLine(x2-2, h-3, x1+1, h-3);
			g.drawLine(x2-2, h-3, x2-2, 2);
			}
		}
	}

	/**Called by arrows to move the slider
	 */
	void arrowClick(int d)
	{
	int oldvalue = value;
	value += d;
	checkValue();
	if (value != oldvalue) {
		callback.moved(this, value);
		repaint();
		}
	}

	public void reshape(int nx, int ny, int nw, int nh)
	{
	super.reshape(nx, ny, nw, nh);
	if (orient == VERTICAL) {
		arrow1.reshape(1, 1, nw-2, nw-1);
		arrow2.reshape(1, nh-nw-1, nw-2, nw-1);
		}
	else {
		arrow1.reshape(1, 1, nh-1, nh-2);
		arrow2.reshape(nw-nh-1, 1, nh-1, nh-2);
		}
	repaint();
	}

	public Dimension preferredSize()
	{
	return orient==VERTICAL ? new Dimension(16, 100)
				: new Dimension(100, 16);
	}

	public Dimension minimumSize()
	{
	return preferredSize();
	}

	public boolean mouseDown(Event e, int mx, int my)
	{
	if (orient == VERTICAL) {
		// move up/down one page, or start dragging
		if (my < y1) arrowClick(-lvisible);
		else if (my > y2) arrowClick(lvisible);
		else {
			indent = true;
			drag = my-y1;
			repaint();
			}
		}
	else {
		// move left/right one page, or start dragging
		if (mx < x1) arrowClick(-lvisible);
		else if (mx > x2) arrowClick(lvisible);
		else {
			indent = true;
			drag = mx-x1;
			repaint();
			}
		}
	return true;
	}

	public boolean mouseDrag(Event e, int mx, int my)
	{
	if (indent) {
		int w = size().width, h = size().height;
		int oldvalue = value;
		if (orient == VERTICAL) {
			int va = h-w*2, ny = my-drag-w;
			value = ny*num/va;
			}
		else {
			int va = w-h*2, nx = mx-drag-h;
			value = nx*num/va;
			}
		checkValue();
		if (value != oldvalue) {
			callback.moving(this, value);
			repaint();
			}
		}
	return indent;
	}

	public boolean mouseUp(Event e, int mx, int my)
	{
	if (indent) {
		indent = false;
		repaint();
		callback.moved(this, value);
		return true;
		}
	return false;
	}

/*
	public boolean mouseEnter(Event e, int mx, int my)
	{
	inside = true;
	repaint();
	return true;
	}

	public boolean mouseExit(Event e, int mx, int my)
	{
	inside = false;
	repaint();
	return true;
	}
*/
}

class CbScrollbarArrow extends Canvas implements Runnable
{
	int mode;
	CbScrollbar scrollbar;
	boolean inside, indent;
	Thread th;

	CbScrollbarArrow(CbScrollbar p, int m)
	{
	scrollbar = p;
	mode = m;
	}

	public void paint(Graphics g)
	{
	int w = size().width, h = size().height;
	Color c1 = inside ? scrollbar.hc1 : scrollbar.lc1,
	      c2 = inside ? scrollbar.hc2 : scrollbar.lc2,
	      c3 = inside ? scrollbar.hc3 : scrollbar.lc3;
	g.setColor(scrollbar.bc);
	g.fillRect(0, 0, w, h);
	int xp[] = new int[3], yp[] = new int[3];
	// blank, dark, light
	if (mode == 0) {
		// up arrow
		xp[0] = w/2; xp[1] = w-1; xp[2] = 0;
		yp[0] = 0;   yp[1] = h-1; yp[2] = h-1;
		}
	else if (mode == 1) {
		// down arrow
		xp[0] = 0;   xp[1] = w/2; xp[2] = w-1;
		yp[0] = 0;   yp[1] = h-1; yp[2] = 0;
		}
	else if (mode == 2) {
		// left arrow
		xp[0] = 0;   xp[1] = w-1; xp[2] = w-1; 
		yp[0] = h/2; yp[1] = h-1; yp[2] = 0;
		}
	else if (mode == 3) {
		// right arrow
		xp[0] = 0;   xp[1] = w-1; xp[2] = 0;
		yp[0] = 0;   yp[1] = h/2; yp[2] = h-1;
		}
	g.setColor(c2);
	g.fillPolygon(xp, yp, 3);
	g.setColor(indent ? c1 : c3);
	g.drawLine(xp[1], yp[1], xp[2], yp[2]);
	g.setColor(indent ? c3 : c1);
	g.drawLine(xp[0], yp[0], xp[2], yp[2]);
	}

	public boolean mouseDown(Event e, int mx, int my)
	{
	indent = true;
	repaint();
	(th = new Thread(this)).start();
	return true;
	}

	public boolean mouseUp(Event e, int mx, int my)
	{
	indent = false;
	repaint();
	if (th != null) th.stop();
	return true;
	}

	/**Thread for doing repeated scrolling
	 */
	public void run()
	{
	int stime = 500;
	while(true) {
		scrollbar.arrowClick(mode%2 == 0 ? -1 : 1);
		try { Thread.sleep(stime); } catch(Exception e) { }
		stime = 100;
		}
	}
}


// CbScrollbarCallback
// Methods for reporting the movement of the scrollbar to another object
interface CbScrollbarCallback
{
	/**Called when the scrollbar stops moving. This happens when an
	 * arrow is clicked, the scrollbar is moved by a page, or the user
	 * lets go of the scrollbar after dragging it.
	 * @param sb	The scrollar that has been moved
	 * @param v	The new value
	 */
	void moved(CbScrollbar sb, int v);

	/**Called upon every pixel movement of the scrollbar when it is
	 * being dragged, but NOT when moved() is called.
	 * @param sb	The scrollar that has been moved
	 * @param v	The new value
	 */
	void moving(CbScrollbar sb, int v);
}


0707010000eb59000081a40000000000000002000000013d1fe2d6000007ec000000200000000000000000000000000000002200000003reloc/file/CbScrollbarArrow.class Êþº¾  - } K M N e f g h i j k
  %
 
 &
  '	  (
  )
  *
  +	  ,	  -	  .	  /	  0	  1	  2	  3	  4	  5
  6	  7
  8
  9
 
 :
 
 ;
 
 <	  =	  > J @ J H Z A [ U \ B ] I ^ B _ U ` U a U b R c Y d Y l U m U n U o R s @ u S v E w ? x C y @ z @ { V | R ()Ljava/awt/Dimension; ()V (I)V (IIII)V (J)V (LCbScrollbar;I)V (Ljava/awt/Color;)V (Ljava/awt/Event;II)Z (Ljava/awt/Graphics;)V (Ljava/lang/Runnable;)V ([I[II)V <init> CbScrollbar CbScrollbar.java CbScrollbarArrow CbScrollbarCallback Code ConstantValue 
Exceptions I LCbScrollbar; LineNumberTable Ljava/awt/Color; Ljava/lang/Thread; LocalVariables 
SourceFile Z 
arrowClick bc drawLine fillPolygon fillRect hc1 hc2 hc3 height indent inside java/awt/Canvas java/awt/Component java/awt/Dimension java/awt/Graphics java/lang/Exception java/lang/Runnable java/lang/Thread lc1 lc2 lc3 mode 	mouseDown mouseUp paint repaint run 	scrollbar setColor size sleep start stop th width      	    o R     u S     d Y     c Y     { V      J D  O   3     *· *+µ *µ ±    T       ü  þ 	 ÿ  ü  r G  O    	  “*¶ ´ $=*¶ ´ >*´ ™ *´ ´ § 
*´ ´ :*´ ™ *´ ´ § 
*´ ´ :*´ ™ *´ ´ § 
*´ ´ :+*´ ´ ¶ +¶ ¼
:¼
:*´ š ,lOdOOOdOdO§ *´   *OlOdOOdOO§ `*´   ,OdOdOlOdOO§ /*´   'OdOOOlOdO+¶ +¶ +*´ ™ § ¶ +....¶ +*´ ™ § ¶ +....¶ ±    T   v     * D ^ i	 q
 { ‚ • ¨ « ³ Æ × Ú â õ$7 =!F"X#l$~%’  p F  O   ?     *µ *¶ *» 
Y*· Zµ #¶ !¬    T      * + 	, -  q F  O   =     *µ *¶ *´ #Æ 
*´ #¶ "¬    T      2 3 	4 5  t @  O   X     (ô<*´ *´ pš § ¶ …¸  § Wd<§ÿß    !   T      < > ? "@ %=  X    L0707010000eb5a000081a40000000000000002000000013d1fe2d600000112000000200000000000000000000000000000002500000003reloc/file/CbScrollbarCallback.class  Êþº¾  -    	  (LCbScrollbar;I)V CbScrollbar CbScrollbar.java CbScrollbarArrow CbScrollbarCallback Code ConstantValue 
Exceptions LineNumberTable LocalVariables 
SourceFile java/lang/Object moved moving                        0707010000eb5b000081a40000000000000002000000013d1fe2d600000e94000000200000000000000000000000000000001a00000003reloc/file/CbSlider.class Êþº¾  - ¤  p | U ‰  €	  H	  B
  7	  G	  1
  ;
  Q	  M	  0  R	  =	  ?	  @	  5
  9
  2
  J	  S
  N	  6	  E
  P  L	  4	  K	  :	  /	  <
  F
  .
  8	  O	  D	  >
  3	  A
  I	  C Z q \ £ „ › ƒ › l — n Y k £ Œ £ u › Z r ` ‚ h — o › Z ‹ b £ v “ ˆ £ ’ › ^ £ } › [ “ ™ › † › Ÿ › ” Y Š £ ] £ g  ˜ T c £ i ¡ ž › Ž { y £ Z ‚ m ‚ X ¡ _ z (Ljava/awt/Graphics;)V java/awt/Color 
setMinimum 
setMaximum moved (IIII)V <init> dragging hc3 hc2 hc1 callback checkPos 
SourceFile 	lightGray darkGray CbSlider.java setTicks 
Exceptions fillPolygon preferredSize moving LineNumberTable black size repaint drawLine max CbSlider (IIIILCbSliderCallback;)V (III)V 	mouseExit (I)V ticks inside 
mouseEnter getPosition white LCbSliderCallback; (Ljava/awt/Color;)V java/awt/Canvas dragx minimumSize CbSliderCallback java/awt/Component 
getMinimum ()V py px ()I min setPosition lc3 java/awt/Dimension lc2 (II)V lc1 ([I[II)V setColor java/awt/Graphics 	mouseDrag update width Z fillRect (Ljava/awt/Event;II)Z 	mouseDown ()Ljava/awt/Dimension; paint dir ConstantValue I mouseUp Code height pos 
getMaximum (LCbSlider;I)V LocalVariables Ljava/awt/Color;          ™ ›     † ›     o ›     Ÿ ›     _ z     „ ›     ƒ ›     Œ £     Š £     ˆ £     ^ £     ] £     \ £     u ›     v “     [ “     } ›     Z Y     '     *· %±    j   
     
   Z q     ™     a*· *² 'µ *² #µ *² µ )*² 'µ *» Y Ò Ò Ò· 
µ *²  µ "*µ *µ 	*µ -*µ (*µ !*µ *µ ±    j   & 	   !    	 4 
 ;  E # T $ Z % ` !  e t     *     
*µ *¶ ±    j       -  . 	 +  x …          *´ ¬    j       3  ‡ t     6     *´ Ÿ *µ *¶ ±    j       9  :  ;  7   …          *´ (¬    j       A  V t     2     *µ (*¶ &*¶ ±    j       H  I 	 J  F    …          *´ !¬    j       O  W t     2     *µ !*¶ &*¶ ±    j       V  W 	 X  T  ˜ T    #  
  s*´ ™ 
*´ § *´ M*´ ™ 
*´ § *´ N*´ ™ 
*´ "§ *´ ):*¶ ´ 6*¶ ´ 6+-¶ +¶ $+¶ +ldl¶ *+,¶ +l`dl`¶ *+,¶ +d¶ *+d¶ *+¶ +ddd¶ *+ddd¶ **´ ™ %+ddd¶ *+ddd¶ **´ ™ M*´ !*´ (d66§ 5dhl`6	+¶ +	l	ld¶ **´ `6¤ÿÊ*d*´ h*´ !*´ (dl`µ *lµ +-¶ ¼
Y*´ dOY*´ dOY*´ OY*´ `OY*´ `O:¼
Y*´ `OY*´ dOY*´ dOY*´ dOY*´ `O:+¶ ,+*´ 	™ § ,¶ +*´ d*´ `*´ d*´ d¶ *+*´ d*´ d*´ *´ d¶ *+*´ 	™ ,§ ¶ +*´ d*´ `*´ `*´ `¶ *+*´ `*´ `*´ `*´ d¶ *±    j   ž '   ]  ^ & _ : b L c Q d [ e a f t g y h  k • l   m « n ± o Â p Ó q Ú r ë s ü w x y z$ {* |= yM h ‚p ƒu „¥ …Ø †á ‡ò ˆ ‰) Š: ‹V Œr [  ‘ T          *+¶ ±    j         w •     +     *µ *¶ ¬    j       “  ” 	 •  – •     Æ     z*´ š *´ !*´ (d
l§ *´ 6*´ d¢ *Y´ dµ § **´ `¤ *Y´ `µ § *µ 	**´ dµ +*¶ &*´ Æ *´ **´ ¹  *¶ ¬    j   :    š  › &  1 › 4 Ÿ > ¡ I Ÿ L ¥ Q ¦ [ ¨ _ © f ª t « x ¬   •     ‡     S*´ 	™ J**´ +dµ **´ d*´ !*´ (dh*¶ ´ dlµ *¶ &*´ Æ *´ **´ ¹  *¶ *´ 	¬    j   "    ±  ²  ³ 1 ´ 5 µ < ¶ J · N ¹  œ •     Y     )*´ 	™ #*µ 	*´ Æ *´ **´ ¹  *¶ ¬¬    j       ¾  ¿  À  Á ! Â % Ã ' Å  s •     +     *µ *¶ ¬    j       Ê  Ë 	 Ì  ` ‚     H     (*´ *´ (¢ **´ (µ ±*´ *´ !¤ **´ !µ ±    j       Ñ  Ò ' Ï  h —     $     » Yd· °    j       ×  ~ —          *¶ °    j       Ú  a    d0707010000eb5c000081a40000000000000002000000013d1fe2d50000120e000000200000000000000000000000000000001900000003reloc/file/CbSlider.java  import java.awt.*; 

class CbSlider extends Canvas
{
	int dir, min, max, pos;
	CbSliderCallback callback;
	int px, py;
	Color lc1 = Color.white, lc2 = Color.lightGray, lc3 = Color.black;
	Color hc1 = Color.white, hc2 = new Color(210, 210, 210),
	      hc3 = Color.darkGray;
	int ticks = 0;
	boolean inside = false, dragging = false;
	int dragx;

	/**Create a new slider
	 * @param d		0=horizontal, 1=vertical
	 * @param mi	Minimum value
	 * @param ma	Maximum value
	 * @param p		Current value
	 */
	public CbSlider(int d, int mi, int ma, int p)
	{
	this(d, mi, ma, p, null);
	}

	/**Create a new slider
	 * @param d		0=horizontal, 1=vertical
	 * @param mi	Minimum value
	 * @param ma	Maximum value
	 * @param p		Current value
	 * @param cb	Object to call back to
	 */
	public CbSlider(int d, int mi, int ma, int p, CbSliderCallback cb)
	{
	dir = d; min = mi; max = ma;
	pos = p;
	callback = cb;
	}

	/**Toggle drawing of tick-marks on the slider track
	 * @param t		The number of units/tick, or 0 to disable
	 */
	public void setTicks(int t)
	{
	ticks = t;
	repaint();
	}

	/**Returns the current slider position
	 */
	public int getPosition() { return pos; }

	/**Sets the current slider position
	 */
	public void setPosition(int p)
	{
	if (pos != p) {
		pos = p;
		repaint();
		}
	}

	/**Returns the current minimum slider value
	 */
	public int getMinimum() { return min; }

	/**Sets the minimum slider value
	 * @param mi	The new minimum
	 */
	public void setMinimum(int mi)
	{
	min = mi;
	checkPos();
	repaint();
	}

	/**Returns the current maximum slider value
	 */
	public int getMaximum() { return max; }

	/**Sets the maximum slider value
	 * @param mx	The new maximum
	 */
	public void setMaximum(int mx)
	{
	max = mx;
	checkPos();
	repaint();
	}

	public void paint(Graphics g)
	{
	Color c1 = inside ? hc1 : lc1,
	      c2 = inside ? hc2 : lc2,
	      c3 = inside ? hc3 : lc3;

	// draw slider track
	int w = size().width, h = size().height;
	g.setColor(c2);
	g.fillRect(0, 0, w, h);
	g.setColor(c3);
	g.drawLine(8, h/2, w-8, h/2);
	g.setColor(c1);
	g.drawLine(8, h/2+1, w-8, h/2+1);

	// draw border
	g.setColor(c1);
	g.drawLine(0, 0, w-1, 0);
	g.drawLine(0, 0, 0, h-1);
	g.setColor(c3);
	g.drawLine(w-1, h-1, w-1, 0);
	g.drawLine(w-1, h-1, 0, h-1);
	if (inside) {
		g.drawLine(w-2, h-2, w-2, 0);
		g.drawLine(w-2, h-2, 0, h-2);
		}

	// draw tick marks
	if (ticks != 0) {
		int mm = max-min;
		for(int i=0; i<=mm; i+=ticks) {
			int tx = ((w-16)*i / mm) + 8;
			g.setColor(c3);
			g.drawLine(tx, h/2, tx, h/2-6);
			}
		}

	// draw slider
	px = ((w-16)*pos / (max - min)) + 8;
	py = h/2;
	g.setColor(c2);
	int xpt[] = { px-3, px-3, px, px+3, px+3 };
	int ypt[] = { py+5, py-4, py-6, py-4, py+5 };
	g.fillPolygon(xpt, ypt, 5);
	g.setColor(dragging ? c3 : c1);
	g.drawLine(px-3, py+5, px-3, py-4);
	g.drawLine(px-3, py-4, px, py-6);
	g.setColor(dragging ? c1 : c3);
	g.drawLine(px-3, py+5, px+3, py+5);
	g.drawLine(px+3, py+5, px+3, py-4);
	}

	public void update(Graphics g) { paint(g); }

	public boolean mouseEnter(Event e, int x, int y)
	{
	inside = true;
	repaint();
	return true;
	}

	public boolean mouseDown(Event e, int x, int y)
	{
	int step = ticks==0 ? (max-min)/10 : ticks;
	if (x < px-3) {
		// move one tick to the left
		pos -= step;
		}
	else if (x > px+3) {
		// move one tick to the right
		pos += step;
		}
	else {
		// start dragging
		dragging = true;
		dragx = x-px;
		}
	checkPos();
	if (callback != null)
		callback.moved(this, pos);
	repaint();
	return true;
	}

	public boolean mouseDrag(Event e, int x, int y)
	{
	if (dragging) {
		px = x-dragx;
		pos = (px-8)*(max - min) / (size().width-16);
		checkPos();
		if (callback != null)
			callback.moving(this, pos);
		repaint();
		}
	return dragging;
	}

	public boolean mouseUp(Event e, int x, int y)
	{
	if (dragging) {
		dragging = false;
		if (callback != null)
			callback.moved(this, pos);
		repaint();
		return true;
		}
	return false;
	}

	public boolean mouseExit(Event e, int x, int y)
	{
	inside = false;
	repaint();
	return true;
	}

	protected void checkPos()
	{
	if (pos < min) pos = min;
	else if (pos > max) pos = max;
	}

	public Dimension preferredSize()
	{
	return new Dimension(100, 20);
	}

	public Dimension minimumSize() { return preferredSize(); }
}

interface CbSliderCallback
{
	/**Callled back when the slider stops at a new position
	 * @param s		The slider being moved
	 * @param p		New position
	 */
	public void moved(CbSlider s, int p);

	/**Callled back whenever the slider is being dragged
	 * @param s		The slider being moved
	 * @param p		New position
	 */
	public void moving(CbSlider s, int p);
}
  0707010000eb5d000081a40000000000000002000000013d1fe2d6000000f0000000200000000000000000000000000000002200000003reloc/file/CbSliderCallback.class Êþº¾  -     moved ConstantValue CbSlider.java 
Exceptions LineNumberTable 
SourceFile LocalVariables Code java/lang/Object moving (LCbSlider;I)V CbSliderCallback CbSlider                  	    0707010000eb5e000081a40000000000000002000000013d1fe2d600000764000000200000000000000000000000000000002000000003reloc/file/DFSAdminExport.class   Êþº¾  - … B C D E F ~ R S T U V Y Z [ \ ^ _ a b d e h i j k l m n o p q s w x y z
 ! 4
 # 5
   6
 $ 7
 # 8
 $ 9	  :
   ;
 $ ;	  <	  =	  >	  ?
 # @
  A Q I Q L Q N Q O t K u G v f { H } f  f € f  f ƒ H „ J   &desc= &ro= &root= &rw= ()I ()Ljava/lang/String; ()V &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;C)V '(Ljava/lang/String;Ljava/lang/String;)V ](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile StringSplitter append countTokens desc java/lang/Object java/lang/String java/lang/StringBuffer java/util/StringTokenizer 	nextToken params path path= ro root rw split toString urlize    !      } f     v f      f      f     € f      Q L  W   l     8*· %»  Y+:· 'M*,¶ ,µ .*,¶ ,µ /*,¶ ,µ 1*,¶ ,µ 0*,¶ ,µ +±    c   "   ß á â ã ä 'å /æ 7ß   Q P  W   P      *· %*+µ .*,µ +*-µ /*µ 1*µ 0±    c      é ë 	ì í î ï é   ‚ M  W   Y     -» $Y+· (M,¶ *½ "N6§ -,¶ -S„-¾¡ÿñ-°    c      ô õ ö ÷ !ö +ø   | H  W        S» #Y· &*´ .¸ 3¶ )¶ )*´ /¸ 3¶ )¶ )*´ 1¸ 3¶ )¶ )*´ 0¸ 3¶ )¶ )*´ +¸ 3¶ )¶ 2°    c      ý þ "ÿ 1  @ Rý  r    `0707010000eb5f000081a40000000000000002000000013d1fe2d600000d03000000200000000000000000000000000000001e00000003reloc/file/DeleteWindow.class Êþº¾  - û ¡ É Ì Í Ñ Ò Ô Õ Ö × Ø ñ š › œ  ž Ÿ   ¤ ¥ ¦ § ¨ ª « ­ ® ¯ ° ± ¸ ¹ ¾ ¿ À Á Â Ã Ä Å Æ Ç á â ã ä å æ ç è é ê
  ^
 , ^
 0 ^
 . _
  `
  a
 3 a
 # b
 - c
 - d
 3 e	  f	  g
 ' h	  i	 ' j	  k
 / l	  m	  n
 4 o
  p
  q
 2 r	  s
 1 t	 ' u
  v
 5 w
 - x
 / y
 1 z
  {	  |
  }
  ~
  
 3 €	 ' 
  ‚ ™ … ™ † ™ Œ ™ “ ™ • Ê ‹ Ê – Ë ’ Î ³ Ï ¼ Ñ ‰ Ó ³ Ù ¶ Ú µ Û … Ü ¶ Ý ´ Þ Ž ß  à ” ë ƒ ì » í … î º ï … ð  ò  ó “ ô … õ Š ö ¶ ÷ ‘ ÷ — ÷ ˜ ø „ ù ² ú ‘ ()I ()Ljava/lang/String; ()V (I)V (LCbButton;)V (LFileManager;LRemoteFile;)V (LRemoteFile;)V (LRemoteFile;)Z *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Object;)Z $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 	Hierarchy HierarchyNode I 
LCbButton; LFileManager; LHierarchy; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South add append cancel 
cancel.gif cancel_b ch click delete delete.cgi?file= delete_b delete_ddesc delete_dtitle delete_efailed delete_fdesc delete_ftitle 	directory dirs dispose file filemgr get 	get_image get_text java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/Panel java/awt/Window java/lang/String java/lang/StringBuffer java/util/Hashtable java/util/Vector length nodemap pack path redraw removeElement save.gif 	setLayout setTitle show 
show_files showing_files text toString type urlize          Ó ³     Î ³     Ý ´     Ü ¶      ™ ˆ  ¢  >     Ê*· 6*+µ I*,µ H**´ I,´ \š § ¶ X¶ T*» ,Y· 7¶ S*» #Y*´ I,´ \š § 
,´ P¶ Y#· =¶ ?W» 0Y· 8N-» .Y· 9¶ S-*» Y*´ I¶ K*´ I¶ X*· :Zµ D¶ >W-*» Y*´ I¶ K*´ I¶ X*· :Zµ A¶ >W*-¶ ?W*¶ O*¶ U±    ·   b   W Y 	Z [ '] 2^ =_ O^ R_ T^ [` ca ob ~c ‡d ‰b ”e £f ¬g ®e ¹h Áj Åk ÉW  Ð ‡  ¢  1     Á+*´ D¦ ¯*´ I» 3Y· <*´ H´ P¸ ]¶ @¶ [¶ LM,2¶ Mž » *´ I	*´ H´ P,2¶ Z· ;§ d*´ H´ EN-*´ H¶ C*´ I´ W-¦ *´ I-¶ VW*´ I´ N*´ H¶ JÀ :*´ I´ N-¶ JÀ :Æ ´ B¶ RW*´ I´ F¶ Q*¶ G±+*´ A¦ *¶ G±    ·   ^   p r s "r )t 2u ;v Eu Kt Ny Vz ^{ i} r€ … •‚ š„ ¥… ¯ˆ ³p ´Š ¼‹ Àn  È    ¬ 0707010000eb60000081a40000000000000002000000013d1fe2d600000fd7000000200000000000000000000000000000001b00000003reloc/file/EXTWindow.class    Êþº¾  -" ˜ ™ ¶ ¾ Þ ã æ ë ì í ð ò ó ô õ ö ý ÿ · ¸ ¹ º » ¼ ½ Á Â Ã Ä Å Ç È Ê Ë Ì Ñ Ò Ó × Ø Ù Ú Û Ü Ý ß à á 	

 ( p
 6 p
 < p
 A p
 9 q
 ; r
  s
 # t
 ) t
 7 t
 ? t
 8 u
 8 v
 ? w
 ? x	 ! y	 ! z	 ! {	 ! |
 : }	 ! ~	 ! 
 A €
 7 
 % ‚
 % ƒ @ „
 A …
 > † @ ‡	 ! ˆ
 = ‰	 1 Š
 A ‹
 A Œ
 8 
 7 Ž
 : 
 = 
 > ‘
 % ’
 % “
 % ”
 ? •
 % –
 > — µ ž µ   µ ¢ µ ¦ µ ¯ ç ¥ ç ± è ª è ® é Õ ê å ì Í î ä ñ ž ÷ Ï ø Î ù ¨ ú Ÿ û ¬ ü ° þ Ÿ  š › Í ž Ô « ¨ § ´ ¯ ž ¡ ­ ² ³ œ  ­! ©   &attrs= ()I ()Ljava/lang/Object; ()Ljava/lang/String; ()Ljava/util/Enumeration; ()V ()Z (I)V (II)Ljava/lang/String; (II)V (LCbButton;)V (LFileManager;LRemoteFile;)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (Z)V <init> A 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 
LCbButton; LFileManager; LRemoteFile; LineNumberTable 
LinedPanel 
LinkWindow LinuxExport Ljava/lang/String; Ljava/util/Hashtable; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow S 
SambaShare SearchWindow SharingWindow 
SourceFile South [Ljava/awt/Checkbox; [Ljava/lang/String; a add append attrmap attrs c cancel 
cancel.gif cbs click d dispose eattr_ 
ext_eattrs ext_efailed 
ext_header 	ext_title file filemgr get getState 	get_image get_text getext.cgi?file= hasMoreElements i java/awt/BorderLayout java/awt/Checkbox java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Panel java/awt/Window java/lang/String java/lang/StringBuffer java/util/Enumeration java/util/Hashtable keys length nextElement ok pack path put remove s save save.gif 	setLayout setState setTitle setext.cgi?file= show 	substring text toString u urlize valueOf   ! (      ø Î     ÷ Ï     Í     ì Í     î ä     ê å     é Õ      µ ¤  ¿      à*· B*½ >YSYSYSYSYSYSYSYSµ R*» AY· Eµ Q*+,´ b¶ k¶ g*+µ W*,µ V*´ W» ?Y· L*´ V´ b¸ n¶ P¶ m¶ [N-2¶ ^™ » #*´ W-2¶ k· I±6§ *´ Q-2`¶ i¶ cW„-2¶ ^¡ÿß*» 6Y· C¶ e» )Y*´ W¶ j· J:» ;Y· G¶ e**´ R¾½ 7µ T6§ ^*´ T» 7Y*´ W» ?Y· L*´ R2¶ P¶ m¶ j· KS*´ T2*´ Q*´ R2¶ XÇ § ¶ f*´ T2¶ MW„*´ R¾¡ÿž*¶ NW» <Y· D:» 9Y· F¶ e*» Y*´ W¶ Z*´ W¶ j*· HZµ `¶ MW*» Y*´ W
¶ Z*´ W	¶ j*· HZµ S¶ MW*¶ NW*¶ a*¶ h±    Ð   ž '  ø ó 7ô Bù Pú Uû Zþ ^ÿ wþ {  „ – —  ³ Á Ì	 Þ
 ì ø þ)IVclu‚’›¨¸ÁÃÎ×Ûßö  ï £  ¿  O     ß+*´ `¦ ÍM>§ 8*´ T2¶ Y™ » ?Y,¸ o· L*´ R2¶ P¶ mM*´ Q*´ R2¶ dW„*´ T¾¡ÿÅ*´ Q¶ ]:§ » ?Y,¸ o· L¹ _ ¶ O¶ mM¹ \ šÿà*´ W» ?Y· L*´ V´ b¸ n¶ P¶ P,¶ P¶ m¶ [:2¶ ^ž » #*´ W*´ V´ b2¶ l· I±*¶ U±+*´ S¦ *¶ U±    Ð   ^   # % & ' ( 4) B& N+ Z, s+ }/ Š0 £/ ¨1 ²2 »3 Æ2 Ì1 Í5 Ñ# Ò7 Ú8 Þ!  â    É 0707010000eb61000081a40000000000000002000000013d1fe2d600001733000000200000000000000000000000000000001e00000003reloc/file/EditorWindow.class Êþº¾  -™ Ý Þ3=>BCGKLMNO€‚‹!"#)+,12456789:;^_`abcdefghijklmnopqrst
 4 —
 ; —
 > —
 7 ˜
 % ™
 < ™
 . š
  ›
 & œ
   
 : 
 E 
 8 ž
 H Ÿ
 D  
 . ¡
 6 ¢
 6 £
 E ¤
 E ¥
 F ¦	  §
 & ¨
 A ¨
 B ¨
 F ©
 9 ª	  «
 D ¬	  ­	  ®
 . ¯
 " °
 D ±
 I ²
 3 ³
 I ´
 I µ
 = ¶
 " ·
 & ¸	 . ¹
 D º
 D »
  ¼	 . ½	  ¾
 H ¿
 ? À	 . Á	 . Â
 G Ã
 A Ä
 A Å	  Æ
 = Ç
 I È
 5 É
 6 Ê
 = Ë
 9 Ì
 ? Í
 " Î	 " Ï	 . Ð
 D Ñ
 D Ò
 " Ó
 " Ô
 E Õ
 " Ö	 " ×	 . Ø
 " Ù	 . Ú
 D Û
 B Ü æ é ë ï õ ÷ ÿ 	? ð? ó?@ í@ þA úD&F æH àI æJ-P ùQ(R'S ûTU ìV ßW äX áY âZ ã[ ü\ ã]/u çv ßwx%y.z å{ æ|/}$~ æ
ƒ&„ ë…† ô‡ öˆ ÿ‰ ÿŠ æŒ ñ(Ž% è ê ý‘ ã’ ý“/”$• ý–/— ø˜ &edit=1 &trust= ()I ()J ()Ljava/io/InputStream; ()Ljava/io/OutputStream; ()Ljava/lang/String; ()Ljava/net/URL; ()Ljava/net/URLConnection; ()V (I)I (I)Ljava/lang/String; (I)V (II)Ljava/lang/String; (II)V (II[BI)V (J)Ljava/lang/StringBuffer; (LCbButton;)V .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LRemoteFile;)V (LRemoteFile;)Z (LRemoteFile;LFileManager;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Font;)V 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V (Ljava/io/InputStream;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z *(Ljava/lang/Object;ILjava/lang/Object;II)V  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;II)V "(Ljava/lang/String;LFileManager;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; !(Ljava/lang/String;Z)LRemoteFile; #(Ljava/net/URL;Ljava/lang/String;)V (Z)V ([B)I ([B)V ([BI)V ([BII)I / <init> ?rand= 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I J 
LCbButton; LFileManager; LRemoteFile; LineInputStream LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextArea; Ljava/awt/TextField; Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel North OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West add append 	arraycopy cancel 
cancel.gif cancel_b click close courier currentTimeMillis dispose edit 
edit_eover 
edit_esave edit_filename 
edit_title edit_title2 equals file filemgr find find_directory getBytes getContentLength getDocumentBase getInputStream getOutputStream getText 	get_image gets group java/applet/Applet java/awt/BorderLayout java/awt/Component java/awt/Container java/awt/FlowLayout java/awt/Font java/awt/Frame java/awt/Label java/awt/Panel java/awt/TextArea java/awt/TextComponent java/awt/TextField java/awt/Window java/io/EOFException java/io/InputStream java/io/OutputStream java/lang/Exception java/lang/String java/lang/StringBuffer java/lang/System java/lang/Throwable java/net/URL java/net/URLConnection lastIndexOf length makeUI modified name openConnection pack path perms printStackTrace read save save.cgi save.gif save_b select setDoOutput setFont 	setLayout setText setTitle show show.cgi 
show_files showing_files size 	substring text toString 	trim_path trust type urlize user valueOf write    %     y.    J-    ƒ&    D&    Q(    R'      ò   â    .*ô,· N*+µ g*,µ h*¶ v**´ h*´ g´ {¶ Ž¶ †» HY*´ h¶ m» EY· U*´ g´ {¸ “¶ ]¶ ]¸ c¶ \¶ ]*´ h´ ‘¶ ]¶ ]¶ · WN-¶ y:¶ l6¶ n:› 1¶ l¼:6§ ¾d¶ `6¾¡ÿç§ N¼:@ ¼:¶ ~6	§ W§ 2	ž -¾	`¼:

¾¸ ^
¾	¸ ^
:§ÿ½*´ e» DY· X¶ …¶ a*´ g¾…µ Š±N-¶ }±  Ç Ð Ó @ -'( C *   ’ $  ± 
² ³ ´ -· -¸ 8¹ Nº Y» p¸ t¼ z½ ¾ ˆÀ Â –Ã ™Ä œÅ °Ä ¸À »É ÀË ÇÍ ÓÎ ×Ï ÜÐ æÑ òÒ ÿÓÊÖ×Ø'·(Ú-¯      ”     d*ô,· N*,µ h*¶ v**´ h¶ ¶ †*´ x+¶ f™ +§ » EY+¸ •· U¶ ]¶ ¶ …*´ x*´ x¶ p¶ u*´ x¶ p¶ u¶ ±   *      à 
á â ã !ä Hå cÞ  w   ]     í*» 4Y· J¶ „™ H» ;Y· KM,» 4Y· J¶ „,» :Y*´ h¶ · T¶ [W,*» >Y· LZµ x¶ [W*,¶ [W**» <YP· OZµ e¶ [W*´ e» 8Y· V¶ ƒ» ;Y· KM,» 7Y· M¶ „,*» Y*´ h¶ q*´ h¶ *· QZµ €¶ ZW,*» Y*´ h
¶ q*´ h	¶ *· QZµ _¶ ZW*,¶ [W*¶ z*¶ ‡±   *   ^   ê ë ì í "î 9ï Lð Tò kó ~ô †õ ’ö ¡÷ ªø ¬ö ·ù Æú Ïû Ñù Üü äý èþ ìè E î   þ    â+*´ €¦ØMN*´ gÇ e*´ h*´ x¶ p¶ :/¶ t6*´ h¶ Œ¶ jM,Ç ±,`¶ ‹¶ iN-Æ --´ ’™ -´ ’  »  *´ h¶ Ž· S±*´ g´ {:*´ e¶ p:» HY*´ h¶ m» EY· U¸ “¶ ]¶ ]¸ c¶ \¶ ]*´ h´ ‘¶ ]¶ · W:¶ y:¶ ‚¶ o:	¶ u¼:

¾
¶ k	
¶ –	¶ b» &Y¶ n· R:¶ r:¶ už »  *´ h¶ Ž· S¶ `±¶ r:¶ `§ :¶ }±*´ gÇ i*» .Y*´ h,· Pµ g-Æ H-*´ g´ ’µ ’-*´ g´ ”µ ”-*´ g´ sµ s-*´ g´ Šµ Š-*´ g´ |µ |-*´ g´ wµ w§ %,*´ g¶ Y§ *´ g¶ u…µ Š*´ g¸ cµ w*´ h*´ h´ ‰¶ ˆW*¶ d±*¶ d±  ‡:= C *   @      #	 ,
 0 9
 = B P T c f q t u ~ ‡ ‡ ’ £ ® À Å Ì Ò  Ù! â" î# õ$ ú% þ&%'()*%)(+-,..5/:=1E3L5^6b8m9x:ƒ;Ž<™=¤6§A¯3²E¿FÉHØIÜÝMá <     0707010000eb62000081a40000000000000002000000013d1fe2d60000052b000000200000000000000000000000000000001d00000003reloc/file/ErrorWindow.class  Êþº¾  - d A D N P > ? @ E H I Q U V W X Y Z [ \
 	 %
 
 %
  %
  &
  &
  '
  (
  )
  *
  +
  ,	  -
  .
  /
  0
  1
  2 = 3 = 4 = 5 = : = ; R 7 R < T 3 ] L _ 3 ` 8 a 9 b : c 3 ()V (I)V (II)V (LCbButton;)V *(Ljava/awt/Component;)Ljava/awt/Component; '(Ljava/awt/Component;Ljava/awt/Color;)V (Ljava/awt/LayoutManager;)V (Ljava/lang/String;)V '(Ljava/lang/String;LCbButtonCallback;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; <init> BorderPanel CbButton CbButtonCallback Center Code ConstantValue Error ErrorWindow ErrorWindow.java 
Exceptions 
FixedFrame 	GrayPanel 
LCbButton; LineNumberTable Ljava/awt/Color; LocalVariables Ok 
SourceFile South Util add click dispose java/awt/BorderLayout java/awt/Color java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Window 	lightGray ok pack recursiveBackground 	setLayout setTitle show    	      ^ J      = :  B   Ë     {*· *» Y· ¶ "» Y· M,» Y· ¶ ",» Y+· ¶ W*,¶ W» 
Y· N-» Y· ¶ "-» Y*· ¶ W*-¶ W*¶  *¶ $*¶ #*² ¸ !±    K   >      	  
   %  2  :  B  N  ]  e  i  m  s  z   S 6  B   !     *¶ ±    K   
        O    F 0707010000eb63000081a40000000000000002000000013d1fe2d60000022d000000200000000000000000000000000000001c00000003reloc/file/ErrorWindow.java   import java.awt.*;

class ErrorWindow extends FixedFrame implements CbButtonCallback
{
	CbButton ok;

	ErrorWindow(String m)
	{
	setLayout(new BorderLayout());
	Panel cen = new BorderPanel(1);
	cen.setLayout(new GridLayout(1, 1));
	cen.add(new Label(m));
	add("Center", cen);
	Panel bot = new GrayPanel();
	bot.setLayout(new FlowLayout(FlowLayout.CENTER));
	bot.add(new CbButton("Ok", this));
	add("South", bot);
	pack();
	show();
	setTitle("Error");
	Util.recursiveBackground(this, Color.lightGray);
	}

	public void click(CbButton b)
	{
	dispose();
	}
}

   0707010000eb64000081a40000000000000002000000013d1fe2d6000004c0000000200000000000000000000000000000001f00000003reloc/file/FileAttribute.class    Êþº¾  - \ 3 4 5 6 7 : ; < = ? @ B C E F I J K L M N O P Q R V W
  #
  $	 
 %
  &
  '
  (	 
 ) 2 * U , X G Y - Y . Z / [ G ()V ()[Ljava/lang/String; (I)I (I)Ljava/lang/String; (II)Ljava/lang/String; &(Ljava/lang/String;)Ljava/lang/String; "(Ljava/lang/String;LFileManager;)V '(Ljava/lang/String;Ljava/lang/String;)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile getRow indexOf java/lang/Object java/lang/String name 	substring 	un_urlize value   
       X G     [ G      2 0  8   O     '*· +=¶ >*+¶  ¸ !µ *+`¶ ¸ !µ "±    D      v x y z &v   2 1  8   3     *· *+µ *,µ "±    D      }  	€ }   T +  8   +     ½ Y*´ SY*´ "S°    D      …  S    A0707010000eb65000081a40000000000000002000000013d1fe2d6000044df000000200000000000000000000000000000001d00000003reloc/file/FileManager.class  Êþº¾  -º=\)>™š>¨õÃ !"#$%&'xyz{|€…ˆŒ–¡¢£´µº»¼ÅÍÕ×Úâãèîóõöøýÿ
 AFGIKPS^`abcimprtuvwxyz{}~†‰‹Œš›œžŸ ¡¢£¤¥¦§¨©ª­°±³¸‚ƒ„†‡‰Š‹‘’“”—˜š›œž©«¬¶·¸¹½¾¿ÀÁÂÃÄÆË$%&'()*+,-./0123456789:;<=>R
 ”u
 –u
 žu
  u
 §u
 ¬u
 ®u
 tv
 œw
 ›x
 «y
 qz
 sz
 xz
 yz
 Žz
 Š{
 |
 €}
 ~~
 z
 Œ
 ’
 €
 u
 u‚
 ƒƒ
 w„
 {„
 „
 …„
 „
 „
 §„
 z…
 „…
 †…
 ‘…
 ­†
 ª‡
 ‡ˆ	 }‰	 }Š	 ‹
 ~Œ
 
 ˜Ž
 ˜
 ®
 ‡‘
 §’
 §“
 §”
 §•	 }–	 —
 ¯˜	 ‚™
 ¦š
 ‡›
 ƒœ
 ®	 }ž
 ­Ÿ
 ¨ 	 }¡	 }¢	 }£
 ¤	 }¥	 ¦	 }§	 }¨	 }©
 ®ª
 ¦«
 ¦¬	 ­	 }®	 ~¯	 }°
 ~±
 ²
 }³
 }´	 }µ
 ¬¶
 ”·
 «¸
 ”¹
 «º
 ”»
 ©¼
 «½
 «¾
 ”¿
 ŸÀ
 ¯Á
 «Â
 }Ã
 }Ä
 ƒÅ	 }Æ	 Ç
 ­È
 ¦É
 ¦Ê
 ¢Ë	 ~Ì	 }Í
 ¦Î	 ‡Ï
 ¦Ð
 Ñ	 Ò
 }Ó	 }Ô	 }Õ	 Ö	 }×	 Ø	 Ù	 }Ú
 ­Û	 }Ü	 }Ý	 }Þ	 ‚ß
 ªà
 }á
 ¤â
 ¤ã	 }ä
 }å	 wæ	 …æ	 æ	 æ	 }ç	 è
 ©é	 }ê
 ¬ë
 €ì	 }í
 ®î	 }ï	 }ð	 }ñ	 }ò	 }ó
 €ô
 ‡õ
 €ö
 ‡÷
 ˜ø
 Ÿù
 ‡ú	 }û
 ü
 šý •þ •ÿ
 } 
 }	 }
 ®
 —	 
 }	 }
 ¦
 ¦		 š

 }
 }
 }
 }	 
 §
 ¤
 ¦	 }	 	 }
 }	 
 ¦
 ¦
 ¦	 ™?Ó333333      è     B@~0~:~<~=~@~C~D~E~I~L~N~S~U~V~X~c~g~k~r~vÌÊÎ¤ÏÈÑFÑLÑRÑhÒ[ÓwÔ3Ô9Ô?ÔbÖ¤ØÈÙnÛ²Ü5Ý0à0äuå¤æ(ç)é¤ê°ëÈìLí¤ï¨ð¦ô¤÷¤ù7údû\üÈþ¤ ¨§0_m	K²Y+(/(q.((a.Q(`e.È°1!6!^#4?È@±B6C­D(E2EÉHiJ¤L¤M NÊO°Q°T¤U.VŸW±X±YÈ[-\;]^]f_¤dOe°f®gŸh0j¤k]l0n¤o\q¤s¤z¥|È¤€H(*‚sƒW„c…t‡¤ˆ1Š1prŽPM¨’(’,’ “A”±•8•;–¯—a—j—l—o˜Ê™.™;«.­°®Ÿ²¤µa¶°·8·>·Z¹Ÿ      B  MB  kB $ % %0 &rand= &to= &trust= &type=application%2Funknown ()I ()J ()LHierarchyNode; ()Ljava/applet/AppletContext; ()Ljava/awt/Dimension; ()Ljava/io/InputStream; ()Ljava/lang/String; ()Ljava/net/URL; ()V ()Z ()[LRemoteFile; (C)Ljava/lang/StringBuffer; (C)Z (I)C (I)I (I)Ljava/lang/Object; (I)Ljava/lang/String; (I)Ljava/lang/StringBuffer; (I)V (II)Ljava/lang/String; (II)V (III)V (J)Ljava/lang/String; (J)Ljava/lang/StringBuffer; (J)V (JI)Ljava/lang/String; (LCbButton;)V (LFileManager;LRemoteFile;)V ((LFileManager;LRemoteFile;LRemoteFile;)V .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LFileNode;)V (LHierarchy;LHierarchyNode;)V (LHierarchyNode;)V %(LHierarchyNode;LHierarchyCallback;)V (LMultiColumn;I)V (LRemoteFile;)LFileSystem; (LRemoteFile;)V (LRemoteFile;)Z (LRemoteFile;LFileManager;)V 9(LRemoteFile;LRemoteFile;Ljava/lang/String;LRemoteFile;)V (LRemoteFile;Z)V 4(Ljava/applet/Applet;)Lnetscape/javascript/JSObject; *(Ljava/awt/Component;)Ljava/awt/Component; ,(Ljava/awt/Component;Ljava/awt/Component;D)V %(Ljava/awt/Event;Ljava/lang/Object;)Z %(Ljava/awt/Image;LCbButtonCallback;)V 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V (Ljava/io/InputStream;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)V (Ljava/lang/Object;)Z 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/String;)I  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;)Z '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)I "(Ljava/lang/String;LFileManager;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 0(Ljava/lang/String;Ljava/lang/String;)LCbButton; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; '(Ljava/lang/String;Ljava/lang/String;)V J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; !(Ljava/lang/String;Z)LRemoteFile; 9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; 9(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; (Ljava/net/URL;)V 2(Ljava/net/URL;Ljava/lang/String;)Ljava/awt/Image; #(Ljava/net/URL;Ljava/lang/String;)V (Z)V ([F)V ([Ljava/lang/Object;)V +([Ljava/lang/String;LMultiColumnCallback;)V ([[Ljava/lang/Object;)V .. / 0 1 : <clinit> <init> ??? ?from= ?rand= 	ACLEditor ACLEntry 	ACLWindow Apr AttributeEditor AttributesWindow Aug BorderPanel CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport Dec DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions Feb FileAttribute FileManager FileManager.java FileNode 
FileSystem 	Hierarchy HierarchyCallback HierarchyNode I J Jan Jul Jun 
LCbButton; 
LFileNode; LHierarchy; LMultiColumn; LRemoteFile; LineInputStream LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Event; Ljava/awt/TextField; Ljava/lang/Object; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables Mar May MkdirWindow MultiColumn MultiColumnCallback 
MultiLabel North Nov Oct OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow ResizePanel 
SambaShare SearchWindow Sep SharingWindow 
SourceFile Z [LRemoteFile; [Ljava/lang/String; [[Ljava/lang/Object; accroot acl.gif acl_b acls action add 
addElement addItems append attr.gif attr_b attr_efs attrs call 
cancel.gif ch charAt clear click 	clickNode close 	closeNode copy.cgi copy.gif copyInto copy_b countTokens currentTimeMillis cut.gif cut_b 
cut_buffer cut_mode delete delete_b dir.gif 	directory dirs doubleClick 
doubleNode down.gif down_b eacl_efs edit.gif edit_b edit_enormal 	elementAt endsWith equals ext ext.gif ext_b ext_efs file files filesystems.cgi fill find find_directory find_eaccess 	find_edir find_eexist find_filesys follow fslist get getAppletContext getDate getDocumentBase getHours getImage 
getMessage 
getMinutes getMonth getParameter getText 	getWindow getYear 	get_image get_text gets got_filesystems group hasMoreTokens home images/ indexOf init isLetterOrDigit java/applet/Applet java/applet/AppletContext java/awt/BorderLayout java/awt/Component java/awt/Container java/awt/Dimension java/awt/Event java/awt/FlowLayout java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/io/EOFException java/lang/Character java/lang/Exception java/lang/Integer java/lang/Object java/lang/String java/lang/StringBuffer java/lang/System java/lang/Throwable java/net/URL java/util/Date java/util/Hashtable java/util/StringTokenizer java/util/Vector known lang lang.cgi lastIndexOf 
last_event length list list_exports.cgi list_shares.cgi make_button makelink.gif 
makelink_b 	mkdir.gif mkdir_b modified monmap mount move.cgi name netscape/javascript/JSObject new.gif new_b 	nextToken nfsmode nodemap ntab open openNode 
openStream pad parseInt 	paste.gif paste_b paste_ecfailed paste_ecopy paste_egone paste_emfailed 
paste_file path pathname perms printStackTrace 	props.gif props_b put redraw refresh.gif 	refresh_b removeElement 
rename.gif rename_b ret.gif ret_b return 
right_date right_group 
right_name 
right_size 
right_user root root.cgi 	sambamode sdir.gif 
search.gif search_b select selected setDrawLines 	setLayout setText 	setWidths 	share.gif share_b shared sharing 	shiftDown show show.cgi showDocument 	show_file 
show_files showing_files singleClick size spad stab 	substring target text tmap toString top_attr top_copy top_cut 
top_delete top_down top_eacl top_edit top_ext top_info top_new 	top_paste top_refresh 
top_rename top_ret 
top_search 	top_share 
top_upload trim 	trim_path trust type 	un_urlize upload 
upload.gif upload_b upload_efailed upload_notify urlize user valueOf view_enormal2 width ! } ”  v  ˆ %  s¤    ô¤    ÷¤    n¤    j¤    å¤    é¤    _¤    í¤    T¤    ²¤    L¤    J¤    q¤    ‡¤    ¤    Î¤    Ö¤    þ¤    ð¦    z¥    W±    §    f®    ¨    ê°    ëÈ   NÊ    ÌÊ    @±    ”±    X±    |È    VŸ    ­°    È    ²    "0   —    ·*» –Y· ±¶K» ­Y*Q¶· ÖL*+¶ ï½ ¦µ Ù=§ *´ Ù+¶+S„+¶šÿï**j¶µf*;¶N6§ 3-2=¶6›  *´-2¶\-2`¶[¶>W„-¾¡ÿÌ*=¶:2¶ ü™ 66§ #» Y2· Ï:*´Z´9¶>W„¾¡ÿÛ*µE*<¶:*¾š § 
2¸2µ,*´,™ a6§ S*´,  #» …Y2· Î:*´.´7¶>W§ (*´,   » wY2· Ë:*´.´6¶>W„¾¡ÿ«*4¶:*2¶ üµ66	6
*´™ L6§ >» Y2· Í:*´¶ à´ Û™ 6´ ç™ 6	´ ý™ 6
„¾¡ÿÀ» tY· ·:» ›Y· ¹¶K» žY· ²:» œY· ¸¶K*K¶Æ **J*f¶^¶#ZµC¶ ÞW**.*]¶^¶#Zµ ø¶ ÞW**0*_¶^¶#Zµ ù¶ ÞW**H*d¶^¶#Zµ@¶ ÞW**G*a¶^¶#Zµ=¶ ÞW™ **&*^¶^¶#Zµ Ú¶ ÞW	™ **'*Y¶^¶#Zµ æ¶ ÞW
™ **2*`¶^¶#Zµ þ¶ ÞW**T*g¶^¶#ZµF¶ ÞW¶ ÞW» Y· Ð¶ ÞW» žY· ²:» œY· ¸¶K**)*\¶^¶#Zµ õ¶ ÞW**A*b¶^¶#Zµ*¶ ÞW**l*i¶^¶#Zµh¶ ÞW**?*b¶^¶#Zµ%¶ ÞW*8¶¶ üš **>*b¶^¶#Zµ$¶ ÞW**I*e¶^¶#ZµB¶ ÞW*´Eš 
*´,™ (*V¶¶ ü™ **U*h¶^¶#ZµN¶ ÞW¶ ÞW» Y· Ð¶ ÞW» žY· ²:» œY· ¸¶K**+*Z¶^¶#Zµ î¶ ÞW**,*[¶^¶#Zµ ñ¶ ÞW**B*c¶^¶#Zµ4¶ ÞW¶ ÞW*"¶ ßW» tY· ·:» –Y· ±¶K*» ~Y» Y**R¶2· Á· ÃµD*» €Y*´D*· ÂZµ ÷¶ ßW*´Dµ/*´D¶» tY· ·:» –Y· ±¶K"*»  Y· ³Zµ:¶ ßW½ ¦YSY*N¶^SY*O¶^SY*P¶^SY*M¶^SY*L¶^S:¼YQYQYQYQYQYQ:*» ‡Y*· ØZµ ¶ ßW*´ ¶M*´ ¶J**´D´ ÿ¶TW» Yo· Ç:*¶ ßW*9¶:Æ *¶W±*´ Ù2¶ üš **´ Ù2¶W±   ª  Î s   1  2  3 & 4 + 5 5 4 ? 6 I 9 P : V ; a < f = ƒ :  A • B ¡ C § D µ E Ä C Ï G Ô K Ü L ñ M ø N þ O Q R# O& T. V< WK NV ]^ ^k _n `q at b{ c d e˜ f£ g® h¹ cÄ mÎ nÝ pæ qô rý s t+ uB vY wp xu yŒ z‘ {¨ |­ }Ä ~Û ã €ò ‚û ƒ	 „  …7 †N ‡e ˆs ‰y Š ‰Š ‹¡ Œ½ Ô ŽÜ ë ‘ô ’ “ ”0 •G –O —X šb ›n œŠ £ ž² ¡¼ ¢È £Ü ¥ú ¦  ¥ ¦	 ¥ § ¥ ¨9 ©P ªY «a ¬m ®} ¯† ²Ž ³“ ´› ³œ µª ¶¶ /  Hi    V     6*¶W´n¼¢ *¶W´n¤ » uY*+¶*· È°» uY*+¶,*· É°   ª       »  ¼ & ¾  `    1     **¶	» §Y:· Ñ+¶ å¶c¶°   ª       Ä  e   )     ½¸ ðA+?¶ž » §Y+¸m· Ñ¶ å ¶ ä¶cL§ » §Y+¸m· Ñ¶ å ¶ ä¶cL» §Y+¸m· Ñ¶ å*´f¶ å¶cL» ªY*¶	+· ×:» ®Y· ¶:» ƒY¶0· Ê:¶¶ à§ÿöW§ ¶ ì¶V½ ¦:¶ í°M,¶<½ ¦Y,¶SN-°  € Š  ¡   ª ª £ ª   J    É   Ê  Ë ( Ì @ Í [ Î i Ï r Ð € Ò  Ó ‘ Ô – Õ   Ö § × ª Ù « Ú ¯ Ü » Ý  M    
 
  C+¶!M,Ç ¬*´ ¶ ë,¾`Å “N¸ ð7-½ ¥S-2*-¶S-2S-2-2-2-2[S[S[SS» «Y· º:6§Á-`½ ¥[S:,2¶O™ *S¶S§ *²b,2´g2¶S,2´)S,2´Xq”œ (» §Y*,2´X¶Y¸m· Ñ¶ å¶cS§ `,2´Xs”œ ,» §Y*,2´Xqm¶Y¸m· Ñ¶ å¶cS§ )» §Y*,2´Xsm¶Y¸m· Ñ¶ å¶cS,2´jS,2´S» «Y,2´&· º:	¶	¶  M¶	¶  @¶	¶  3» §Y*	¶
¶1¸m· Ñ¶ å*	¶¶1¶ å¶cS§ n¶	¶  2» §Y*	¶¶1¸m· Ñ¶ å²'	¶2¶ å¶cS§ 2» §Y²'	¶2¸m· Ñ¶ å*	¶dp¶1¶ å¶cS„,¾¡þ>*´ -¶ á*+µU*´:+´8¶L¬   ª   ¾ /   ä  å  æ  ç  è   ë ( ì 3 í : î S ñ ^ ò d ó r ô | õ † ô ‰ ÷ œ ø § ù µ ú × ù Ú û è ü û þ7 ÿB M]jw„ ­±´ÁÝéíð ò)16A  \;    K     #¸kN§ » §Y· Ñ-¶ å¶cN-¶ ¡ÿê-°   ª           !!  “A    P     (¸l:§ » §Y· Ñ¶ å¶c:¶ ¡ÿç°   ª      & ' 	( ' %)  ¬a    >     § ++¶ d¶\L+¶ ûšÿî+°   ª      . / . 0 ZG    *     
,À ~N-¶±   ª      7 8 	5 áG          ±   ª      = ßG    >     ,À ~N*´U-´ ÿ¥ *-´ ÿ¶TW±   ª      E F G C òG          ±   ª      L ÞB   ½    ™*´ ¶H=¢ § *´U¶!d2N*´ ÷¶IÀ ~:+*´C¦ $» ªY*¶	*K¶· ×:*¶¹Q ±W±+*´ ù¦ --Ç ±-´g™ -´g¤ » {*1¶^· Ì±» z-*· Ä±+*´ ø¦ +-Ç ±-´g™ -´g¤ » {*n¶^· Ì±*-¶S±+*´@¦ "µ´ ÿµ"¶*´ ÿ¶TW±+*´=¦ -Ç ±» Œ-*· Å±+*´ Ú¦ 8-Ç ±*-¶:Ç ±´ Û™ » q*-· »±» {*/´(¶_· Ì±+*´ æ¦ 8-Ç ±*-¶:Ç ±´ Û™ » s*-· ¼±» {*(´(¶_· Ì±+*´ þ¦ 8-Ç ±*-¶:Ç ±´ ý™ » y*-· ¾±» {*3´(¶_· Ì±+*´ î¦ -Ç ±*-´8µ ò*µ ó±+*´ ñ¦ -Ç ±*-´8µ ò*µ ó±+*´4¦ Ô*´ òÇ » {*D¶^· Ì±*´ ò/¶6*´ ò`¶[:*´ ò¶\:*¶:Æ ¶Y:	Ç » {*E¶_· Ì±*´U¶:
*´U´8:¶ ü™ » §Y¸m· Ñ¶ å¶c§ » §Y¸m· Ñ¶ å¶ å¶c:
Æ » Š*
	· À±*	*´U¶5±+*´ õ¦ -Ç ±» x*-· ½±+*´*¦ » z*´U´8*· Ò±+*´h¦ 8*¸:½ ¦Y*´U´8S:k¶ èW±:» {*m¶¶_· Ì±+*´%¦ » †*´U´8*· Ô±+*´$¦ » „*´U´8*· Ó±+*´B¦ -Ç ±» Ž*-· ¿±+*´N¦ -Æ 
-´g™ ±» ’-*· Æ±+*´F¦ » ‘*´U´8*· Õ±  1 O P £ì £ ª   €  S T U )V 1X 1Y 9Z ?Y D[ OX P] QX R_ Za _b nc zb {e ƒ_ „g Œi ‘j  k ¬j ­m ³g ´o ¼q Âr Ës Ðt Úo Ûv ãx èy ðv ñ{ ù} þ~€€ƒ-{.…6‡;ˆB‰HŠP‹XŠYj…ks‘x’“…”••”–—§¨™°›µœ½Â™ÃŸË¡Ð¢Ø£ÝŸÞ¥æ§í¨ù©ú«¬­®'¯,°9±G²H¶S·\¸}¹–¸˜º¼¨½©Á¶¥·Ã¿ÅÄÆÌÃÍÈÕÊãÈäÌìÎìÏòÐÑÎÓÔ Î!×)Ù7×8Û@ÝNÛOßWá\âdßeämæyçä‚éŠë˜Q  m   P    x+¶ >66§ c*´ Ù2¶ 6*´ Ù2¶ ü™ 	6§ ?¡ +¶\*´ Ù2¶ ü™ 	6§ ¢ *´ Ù2¶\+¶ ü™ 6„*´ Ù¾¡ÿ™š » {*5+¶_· Ì°*´D:´ ÿ:» ­Y+· Ö:§  ¶+:		¶ üš ¶!:

Ç °™ µ/¶66§  
2´)	¶ ü™ 
2:6„
¾¡ÿÞš » {*7	+¶`· Ì°´g™ » {*6	+¶`· Ì°™ *´-¶À ~:¶šÿ^™ '*¶T™ ¶µ/*´ ÷¶G*´ ÷¶?°   ª   Æ 1  ò ó ô õ ö )÷ ,ö /ø Iù Lø Oú hû kô xý }þ Šÿ Œ ’ ™ ¥ ¨ ¯ ¹ À Ç	 Ë
 Ñ Ö Ù ß ï ö ù	"137EMQZ _!e"n#u&  	K    Ä     „M>§ s*´¶ úÀ :´(¶ 6´(+´8¶ üš G+´8¶ `¡ ,+´8`¶\» §Y´(¸m· Ñ¶ å¶c¶ üš ´(¶ ü™ M„*´¶V¡ÿˆ,°   ª   .   + , - . / -0 ;1 d2 q3 t, ‚6 ÐT    X     ,+´]*´:¦ "*´:¶¶eN-¶ ü™ ¬*-¶W¬¬   ª      ; = > !? (@ *B ‘J          ±   ª      G ñJ   )     ½š H*´U´ öÆ =*´-*´U¶À ~µ/**´U´ ö¶TW*´ ÷*´-*´U¶À ~¶G*´ ÷¶?±*´U¶!d2N-´gš O*´-*´U¶À ~:¶µ/*´--¶À ~:*-¶T™ 3¶µ/*´ ÷¶G*´ ÷¶?±-´g£ *-+´¶P¶S±   ª   Z   O Q R  S ,T AU HW IY UZ \\ l] q^ w_ „` Œa ‘b —c  d §Z ¨g °i ¼M  ŽP    ý     •™ L» ªY*¶	» §YX· Ñ+´8¸i¶ å¶ å¸ ð¶ ä¶ å¶ å*´f¶ å¶c· ×N*¶-¹Q ±» ªY*¶	» §YX· Ñ+´8¸i¶ å¶ å¸ ð¶ ä¶ å*´f¶ å¶c· ×N*¶-W¹R ±W±    ’ “ £ ª   N   o  p q r s *t /u >q Bv Lp My Uz h{ s| ‚y †} ’o “€ ”m µa    Ð     ˆ» §Y· ´L=§ q*¶ ê>¢  +» §Y· Ñ¸d¶ å¶c¶ åW§ E¸š 8/Ÿ 2.Ÿ ,_Ÿ &-Ÿ  +» §Y
· Ñ¸d¶ å¶c¶ åW§ 	+¶ âW„*¶ ¡ÿ+¶c°   ª   6   … † ‡ ˆ ‰ 3ˆ 6Š C‹ UŒ oŠ rŽ x† ƒ ¯a    Ž     J» §Y· ´L=§ 3*¶ ê>%  +*``¶\¸3’¶ âW„§ 	+¶ âW„*¶ ¡ÿË+¶c°   ª   2   • – — ˜ ™ š &™ .› 1˜ 4ž :– E  ´k    ‰     M+/¶>+¶\:+`¶[:*¶:¶:Ç » Y*,· Á:¶ Ý**´U¶TW±   ª   * 
  ¥ ¦ § ¨ !© *ª /« <¬ C® L£ —o    Ÿ     k*´+¶À ¦N-Ç N6§ L-» §Y	· Ñ`¶ ã¶c¶6Ÿ *» §Y-¶\¸m· Ñ,2¶ å-`¶[¶ å¶cN„,¾¡ÿ³-°   ª   "   ³ ´ µ ¶ 2· 8¸ _µ iº —a    (     ½ ¦M*+,¶a°   ª   
   ¿ À —j    ,     ½ ¦Y,SN*+-¶a°   ª   
   Å 	Æ —l    2     ½ ¦Y,SY-S:*+¶a°   ª   
   Ë Ì  dO     
  O*» §Y*´ ó™ @§ *¸m· Ñ¶ å*´ ò¸i¶ å¶ å-¸i¶ å¶c¶:2¶ ž  » {**´ ó™ F§ C2¶_· Ì±» Y*2,· Á:Ç ,¶ Ý§ C´gµg´jµj´µ´XµX´;µ;´&µ&:*´ ó™ +´ ö+¶ ô+´gš a*´-*´U¶À ~:» ~Y· Ã¶ Ü*´ ó™ 5*´-+´ ö¶À ~:*´-+¶À ~:	Æ 	Æ ´ é	¶AW*´ ÷¶?**´U¶TW*´ ó™ *µ ó*-µ ò±   ª   ® +  Ó Ô (Õ 7Ó <Ö F× JØ VÙ \× bÚ cÜ rÝ wß }Ý €ã Šä ”å žæ ¨ç ²è ¼é Àë Çí Ïï Öò äñ æó ôô ûö	õø÷ùú"û'ü)û-þ4 =DINÏ ~0    l     <*· °*» ¬Y· µµ-*» ¬Y· µµ*» ¬Y· µµZ*» ¬Y· µµ.*» ®Y· ¶µ±   ª           %  & % ' 0 - ;  }0    §      K½ ¦YSYSY SYSY!SYSYSYSY%SY	$SY
#SYS³'±   ª   J    !  "  !   " " ! & " ( ! , " . ! 2 # 4 ! 8 # : ! > # @ ! D # F ! J  Ç   ™ 0707010000eb66000081a40000000000000002000000013d1fe2d600013dc8000000200000000000000000000000000000001c00000003reloc/file/FileManager.java   import java.awt.*;
import java.io.*;
import java.applet.*;
import java.net.*;
import java.util.*;
import netscape.javascript.JSObject;

// A java filemanager that allows the user to manipulate files on the
// Webmin server. Layout is similar to the windows explorer - directory
// tree on the left, files on the right, action buttons on the top.
public class FileManager extends Applet
	implements CbButtonCallback, HierarchyCallback, MultiColumnCallback
{
	// top buttons
	CbButton ret_b, down_b, edit_b, refresh_b, props_b,
		 copy_b, cut_b, paste_b, delete_b, new_b, upload_b, mkdir_b,
		 makelink_b, rename_b, share_b, search_b, acl_b, attr_b, ext_b;

	// Directory tree
	Hierarchy dirs;
	FileNode root;
	Hashtable nodemap = new Hashtable();

	// File list
	MultiColumn files;
	TextField pathname;
	RemoteFile showing_files;

	// Copying and pasting
	String cut_buffer;
	boolean cut_mode;

	static final String monmap[] = { "Jan", "Feb", "Mar", "Apr",
					 "May", "Jun", "Jul", "Aug",
					 "Sep", "Oct", "Nov", "Dec" };
	String accroot[];
	Hashtable lang = new Hashtable();
	Hashtable stab = new Hashtable(),
		  ntab = new Hashtable();
	boolean sambamode;
	int nfsmode;
	String trust;

	boolean got_filesystems;
	Vector fslist = new Vector();

	public void init()
	{
	setLayout(new BorderLayout());
	StringTokenizer tok = new StringTokenizer(getParameter("root"), " ");
	accroot = new String[tok.countTokens()];
	for(int i=0; tok.hasMoreTokens(); i++)
		accroot[i] = tok.nextToken();
	trust = getParameter("trust");

	// download language strings
	String l[] = get_text("lang.cgi");
	for(int i=0; i<l.length; i++) {
		int eq = l[i].indexOf('=');
		if (eq >= 0)
			lang.put(l[i].substring(0, eq), l[i].substring(eq+1));
		}

	// list samba file shares
	String s[] = get_text("list_shares.cgi");
	if (s[0].equals("1")) {
		for(int i=1; i<s.length; i++) {
			SambaShare ss = new SambaShare(s[i]);
			stab.put(ss.path, ss);
			}
		sambamode = true;
		}

	// list NFS exports
	String e[] = get_text("list_exports.cgi");
	nfsmode = e.length == 0 ? 0 : Integer.parseInt(e[0]);
	if (nfsmode != 0) {
		for(int i=1; i<e.length; i++) {
			if (nfsmode == 1) {
				// Linux export
				LinuxExport le = new LinuxExport(e[i]);
				ntab.put(le.path, le);
				}
			else if (nfsmode == 2) {
				// Solaris share
				DFSAdminExport de = new DFSAdminExport(e[i]);
				ntab.put(de.path, de);
				}
			}
		}

	// list filesystems
	String f[] = get_text("filesystems.cgi");
	got_filesystems = f[0].equals("1");
	boolean acl_support = false,
		attr_support = false,
		ext_support = false;
	if (got_filesystems) {
		for(int i=1; i<f.length; i++) {
			FileSystem fs = new FileSystem(f[i]);
			fslist.addElement(fs);
			if (fs.acls) acl_support = true;
			if (fs.attrs) attr_support = true;
			if (fs.ext) ext_support = true;
			}
		}

	// create button panel
	BorderPanel top = new BorderPanel(2);
	top.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2));

	Panel top1 = new Panel();
	top1.setLayout(new GridLayout(1, 0));
	if (getParameter("return") != null)
		top1.add(ret_b = make_button("ret.gif", text("top_ret")));
	top1.add(down_b = make_button("down.gif", text("top_down")));
	top1.add(edit_b = make_button("edit.gif", text("top_edit")));
	top1.add(refresh_b = make_button("refresh.gif", text("top_refresh")));
	top1.add(props_b = make_button("props.gif", text("top_info")));
	if (acl_support)
		top1.add(acl_b = make_button("acl.gif", text("top_eacl")));
	if (attr_support)
		top1.add(attr_b = make_button("attr.gif", text("top_attr")));
	if (ext_support)
		top1.add(ext_b = make_button("ext.gif", text("top_ext")));
	top1.add(search_b = make_button("search.gif", text("top_search")));
	top.add(top1);
	top.add(new Label(""));
	
	Panel top2 = new Panel();
	top2.setLayout(new GridLayout(1, 0));
	top2.add(delete_b = make_button("cancel.gif", text("top_delete")));
	top2.add(new_b = make_button("new.gif", text("top_new")));
	top2.add(upload_b = make_button("upload.gif", text("top_upload")));
	top2.add(mkdir_b = make_button("mkdir.gif", text("top_new")));
	if (!getParameter("follow").equals("1"))
		top2.add(makelink_b = make_button("makelink.gif",
					text("top_new")));
	top2.add(rename_b = make_button("rename.gif", text("top_rename")));
	if ((sambamode || nfsmode != 0) && getParameter("sharing").equals("1"))
		top2.add(share_b = make_button("share.gif", text("top_share")));
	top.add(top2);
	top.add(new Label(""));

	Panel top3 = new Panel();
	top3.setLayout(new GridLayout(1, 0));
	top3.add(copy_b = make_button("copy.gif", text("top_copy")));
	top3.add(cut_b = make_button("cut.gif", text("top_cut")));
	top3.add(paste_b = make_button("paste.gif", text("top_paste")));
	top.add(top3);
	add("North", top);

	// create directory tree
	BorderPanel left = new BorderPanel(2);
	left.setLayout(new BorderLayout());
	root = new FileNode(new RemoteFile(this, get_text("root.cgi")[0],null));
	left.add("Center", dirs = new Hierarchy(root, this));
	root.open = true; root.fill();

	// create file window
	BorderPanel right = new BorderPanel(2);
	right.setLayout(new BorderLayout());
	right.add("North", pathname = new TextField());
	//pathname.setFont(new Font("courier", Font.PLAIN, 8));
	String cols[] = { "", text("right_name"), text("right_size"),
			  text("right_user"), text("right_group"),
			  text("right_date") };
	float widths[] = { .07f, .33f, .15f, .15f, .15f, .15f };
	right.add("Center", files = new MultiColumn(cols, this));
	files.setWidths(widths);
	files.setDrawLines(false);
	show_files(root.file);

	ResizePanel mid = new ResizePanel(left, right, .3);
	add("Center", mid);

	// Go to the restricted directory
	String home = getParameter("home");
	if (home != null)
		find_directory(home, true);
	else if (!accroot[0].equals("/"))
		find_directory(accroot[0], true);
	}

	CbButton make_button(String f, String t)
	{
	if (size().width < 700 && size().width > 1)
		return new CbButton(get_image(f), this);
	else
		return new CbButton(get_image(f), t, CbButton.ABOVE, this);
	}

	// Gets an image from the images directory
	Image get_image(String img)
	{
	return getImage(getDocumentBase(), "images/"+img);
	}

	String[] get_text(String url)
	{
	try {
		long now = System.currentTimeMillis();
		if (url.indexOf('?') > 0) url += "&rand="+now;
		else url += "?rand="+now;
		url += "&trust="+trust;
		URL u = new URL(getDocumentBase(), url);
		Vector lv = new Vector();
		LineInputStream is = new LineInputStream(u.openStream());
		while(true)
			try { lv.addElement(is.gets()); }
			catch(EOFException eof) { break; }
		is.close();
		String rv[] = new String[lv.size()];
		lv.copyInto(rv);
		return rv;
		}
	catch(Exception e) {
		e.printStackTrace();
		//return null;
		String err[] = { e.getMessage() };
		return err;
		}
	}

	// Fill the multicolumn list with files from some directory
	boolean show_files(RemoteFile f)
	{
	RemoteFile fl[] = f.list();
	if (fl == null) return false;
	files.clear();
	Object rows[][] = new Object[fl.length+1][];
	long now = System.currentTimeMillis();

	// Create parent directory rows
	rows[0] = new Object[6];
	rows[0][0] = get_image("dir.gif");
	rows[0][1] = "..";
	rows[0][2] = rows[0][3] = rows[0][4] = rows[0][5] = "";

	// Create file rows
	Date n = new Date(now);
	for(int i=0; i<fl.length; i++) {
		Object row[] = rows[i+1] = new Object[6];
		if (fl[i].shared())
			row[0] = get_image("sdir.gif");
		else
			row[0] = get_image(RemoteFile.tmap[fl[i].type]);
		row[1] = fl[i].name;
		if (fl[i].size < 1000)
			row[2] = spad(fl[i].size, 5)+" B";
		else if (fl[i].size < 1000000)
			row[2] = spad(fl[i].size/1000, 5)+" kB";
		else
			row[2] = spad(fl[i].size/1000000, 5)+" MB";
		row[3] = fl[i].user;
		row[4] = fl[i].group;
		Date d = new Date(fl[i].modified);
		//if (now - fl[i].modified < 24*60*60*1000) {
		if (n.getDate() == d.getDate() &&
		    n.getMonth() == d.getMonth() &&
		    n.getYear() == d.getYear()) {
			// show as hour:min
			row[5] = pad(d.getHours(),2)+":"+
				 pad(d.getMinutes(),2);
			}
		//else if (now - fl[i].modified < 24*60*60*365*1000) {
		else if (n.getYear() == d.getYear()) {
			// show as day/mon
			row[5] = pad(d.getDate(),2)+"/"+
				 monmap[d.getMonth()];
			}
		else {
			// show as mon/year
			row[5] = monmap[d.getMonth()]+"/"+
				 pad(d.getYear()%100, 2);
			}
		}
	files.addItems(rows);
	showing_files = f;
	pathname.setText(f.path);
	return true;
	}

	String pad(int n, int s)
	{
	String rv = String.valueOf(n);
	while(rv.length() < s)
		rv = "0"+rv;
	return rv;
	}

	String spad(long n, int s)
	{
	String rv = String.valueOf(n);
	while(rv.length() < s)
		rv = " "+rv;
	return rv;
	}

	String trim_path(String p)
	{
	while(p.endsWith("/"))
		p = p.substring(0, p.length()-1);
	return p;
	}

	// openNode
	// Called when a node with children is opened
	public void openNode(Hierarchy h, HierarchyNode n)
	{
	FileNode fn = (FileNode)n;
	fn.fill();
	}

	// closeNode
	// Called when a node is closed
	public void closeNode(Hierarchy h, HierarchyNode n)
	{
	}

	// clickNode
	// Called when the user clicks on a node
	public void clickNode(Hierarchy h, HierarchyNode n)
	{
	FileNode fn = (FileNode)n;
	if (showing_files != fn.file)
		show_files(fn.file);
	}

	// doubleNode
	// Called when a user double-clicks on a node
	public void doubleNode(Hierarchy h, HierarchyNode n)
	{
	}

	// Called when a button is clicked
	public void click(CbButton b)
	{
	int s = files.selected();
	RemoteFile f = s < 1 ? null : (showing_files.list())[s-1];
	FileNode d = (FileNode)dirs.selected();
	if (b == ret_b) {
		// Return to the webmin index
		try {
			URL u = new URL(getDocumentBase(),
					getParameter("return"));
			getAppletContext().showDocument(u);
			}
		catch(Exception e) { }
		}
	else if (b == edit_b) {
		// Open a window for editing the selected file
		if (f == null) return;
		if (f.type == 0 || f.type > 4)
			new ErrorWindow(text("edit_enormal"));
		else
			new EditorWindow(f, this);
		}
	else if (b == down_b) {
		// Force download of the selected file
		if (f == null) return;
		if (f.type == 0 || f.type > 4)
			new ErrorWindow(text("view_enormal2"));
		else
			show_file(f, true);
		}
	else if (b == refresh_b) {
		// Refesh the selected directory (and thus any subdirs)
		d.known = false;
		d.file.list = null;
		d.fill();
		show_files(d.file);
		}
	else if (b == props_b) {
		// Display the properties window
		if (f == null) return;
		new PropertiesWindow(f, this);
		}
	else if (b == acl_b) {
		// Display the ACL window (if filesystem supports them)
		if (f == null) return;
		FileSystem filefs = find_filesys(f);
		if (filefs == null) return;
		if (filefs.acls)
			new ACLWindow(this, f);
		else
			new ErrorWindow(text("eacl_efs", filefs.mount));
		}
	else if (b == attr_b) {
		// Display the attributes window (if filesystem supports them)
		if (f == null) return;
		FileSystem filefs = find_filesys(f);
		if (filefs == null) return;
		if (filefs.acls)
			new AttributesWindow(this, f);
		else
			new ErrorWindow(text("attr_efs", filefs.mount));
		}
	else if (b == ext_b) {
		// Display EXT attributes window (if filesystem supports them)
		if (f == null) return;
		FileSystem filefs = find_filesys(f);
		if (filefs == null) return;
		if (filefs.ext)
			new EXTWindow(this, f);
		else
			new ErrorWindow(text("ext_efs", filefs.mount));
		}
	else if (b == copy_b) {
		// Copy the selected file
		if (f == null) return;
		cut_buffer = f.path;
		cut_mode = false;
		}
	else if (b == cut_b) {
		// Cut the selected file
		if (f == null) return;
		cut_buffer = f.path;
		cut_mode = true;
		}
	else if (b == paste_b) {
		// Paste the copied file
		if (cut_buffer == null) {
			new ErrorWindow(text("paste_ecopy"));
			return;
			}
		int sl = cut_buffer.lastIndexOf('/');
		String cut_name = cut_buffer.substring(sl+1),
		       cut_dir = cut_buffer.substring(0, sl);
		RemoteFile cut_par = find_directory(cut_dir, false), cut_file;
		if (cut_par == null ||
		    (cut_file = cut_par.find(cut_name)) == null) {
			new ErrorWindow(text("paste_egone", cut_name));
			return;
			}

		// Check for an existing file
		RemoteFile already = showing_files.find(cut_name);
		String sp = showing_files.path;
		String dest_path = sp.equals("/") ? sp+cut_name
						  : sp+"/"+cut_name;
		if (already != null) {
			// File exists .. offer to rename
			new OverwriteWindow(this, already, cut_file);
			return;
			}
		
		// do the move or copy
		paste_file(cut_file, showing_files, dest_path, null);
		}
	else if (b == delete_b) {
		// Delete the selected file
		if (f == null) return;
		new DeleteWindow(this, f);
		}
	else if (b == new_b) {
		// Open a window for creating a file
		new EditorWindow(showing_files.path, this);
		}
	else if (b == upload_b) {
		// Call javascript to open an upload window
		try {
			JSObject win = JSObject.getWindow(this);
			String params[] = { showing_files.path };
			win.call("upload", params);
			}
		catch(Exception e) {
			new ErrorWindow(text("upload_efailed", e.getMessage()));
			}
		}
	else if (b == mkdir_b) {
		// Prompt for new directory
		new MkdirWindow(showing_files.path, this);
		}
	else if (b == makelink_b) {
		// Prompt for a new symlink
		new LinkWindow(showing_files.path, this);
		}
	else if (b == rename_b) {
		// Prompt for new filename
		if (f == null) return;
		new RenameWindow(this, f);
		}
	else if (b == share_b) {
		// Open a window for editing sharing options
		if (f == null || f.type != RemoteFile.DIR) return;
		new SharingWindow(f, this);
		}
	else if (b == search_b) {
		// Open window for finding a file
		new SearchWindow(showing_files.path, this);
		}
	}

	// Returns the object for some directory, or null if not found.
	RemoteFile find_directory(String p, boolean fill)
	{
	int l = p.length();
	boolean can = false;
	for(int r=0; r<accroot.length; r++) {
		int rl = accroot[r].length();
		if (accroot[r].equals("/"))
			can = true;
		else if (l >= rl && p.substring(0, rl).equals(accroot[r]))
			can = true;
		else if (l < rl && accroot[r].substring(0, l).equals(p))
			can = true;
		}
	if (!can) {
		new ErrorWindow(text("find_eaccess", p));
		return null;
		}
	FileNode posnode = root;
	RemoteFile pos = posnode.file;
	StringTokenizer tok = new StringTokenizer(p, "/");
	while(tok.hasMoreTokens()) {
		String fn = tok.nextToken();
		if (fn.equals("")) continue;
		RemoteFile fl[] = pos.list();
		if (fl == null) return null;
		if (fill) {
			posnode.open = true;
			posnode.fill();
			}
		boolean found = false;
		for(int i=0; i<fl.length; i++)
			if (fl[i].name.equals(fn)) {
				pos = fl[i];
				found = true;
				}
		if (!found) {
			new ErrorWindow(text("find_eexist", fn, p));
			return null;
			}
		if (pos.type != 0) {
			new ErrorWindow(text("find_edir", fn, p));
			return null;
			}
		if (fill)
			posnode = (FileNode)nodemap.get(pos);
		}
	if (fill) {
		if (show_files(pos)) {
			posnode.fill();
			posnode.open = true;
			dirs.select(posnode);
			dirs.redraw();
			}
		}
	return pos;
	}

	FileSystem find_filesys(RemoteFile f)
	{
	FileSystem filefs = null;
	for(int i=0; i<fslist.size(); i++) {
		FileSystem fs = (FileSystem)fslist.elementAt(i);
		int l = fs.mount.length();
		if (fs.mount.equals(f.path) ||
		    (f.path.length() >= l+1 &&
		     f.path.substring(0, l+1).equals(fs.mount+"/")) ||
		    fs.mount.equals("/")) {
			filefs = fs;
			}
		}
	return filefs;
	}

	public boolean action(Event e, Object o)
	{
	if (e.target == pathname) {
		// A new path was entered.. cd to it
		String p = pathname.getText().trim();
		if (p.equals("")) return true;
		find_directory(p, true);
		return true;
		}
	return false;
	}

        // singleClick
        // Called on a single click on a list item
        public void singleClick(MultiColumn list, int num)
	{
	}

        // doubleClick
        // Called upon double-clicking on a list item
        public void doubleClick(MultiColumn list, int num)
	{
	if (num == 0) {
		// Go to parent directory
		if (showing_files.directory != null) {
			((FileNode)nodemap.get(showing_files)).open = false;
			show_files(showing_files.directory);
			dirs.select((FileNode)nodemap.get(showing_files));
			dirs.redraw();
			}
		return;
		}
	RemoteFile d = (showing_files.list())[num-1];
	if (d.type == 0) {
		// Open this directory
		FileNode pn = (FileNode)nodemap.get(showing_files);
		pn.fill();
		pn.open = true;
		FileNode fn = (FileNode)nodemap.get(d);
		if (show_files(d)) {
			fn.fill();
			fn.open = true;
			dirs.select(fn);
			dirs.redraw();
			}
		}
	else if (d.type <= 4) {
		// Direct the browser to this file
		show_file(d, list.last_event.shiftDown());
		}
	}

	void show_file(RemoteFile f, boolean download)
	{
	try {
		if (download) {
			URL u = new URL(getDocumentBase(),
					"show.cgi"+urlize(f.path)+
					"?rand="+System.currentTimeMillis()+
					"&type=application%2Funknown"+
					"&trust="+trust);
			getAppletContext().showDocument(u);
			}
		else {
			URL u = new URL(getDocumentBase(),
					"show.cgi"+urlize(f.path)+
					"?rand="+System.currentTimeMillis()+
					"&trust="+trust);
			getAppletContext().showDocument(u, "show");
			}
		}
	catch(Exception e) { }
	}

	static String urlize(String s)
	{
	StringBuffer rv = new StringBuffer();
	for(int i=0; i<s.length(); i++) {
		char c = s.charAt(i);
		if (c < 16)
			rv.append("%0"+Integer.toString(c, 16));
		else if (!Character.isLetterOrDigit(c) && c != '/' &&
		    c != '.' && c != '_' && c != '-')
			rv.append("%"+Integer.toString(c, 16));
		else
			rv.append(c);
		}
	return rv.toString();
	}

	static String un_urlize(String s)
	{
	StringBuffer rv = new StringBuffer();
	for(int i=0; i<s.length(); i++) {
		char c = s.charAt(i);
		if (c == '%') {
			rv.append((char)Integer.parseInt(
				s.substring(i+1, i+3), 16));
			i += 2;
			}
		else
			rv.append(c);
		}
	return rv.toString();
	}

	public void upload_notify(String path_str, String info)
	{
	int sl = path_str.lastIndexOf('/');
	String par_str = path_str.substring(0, sl),
	       file_str = path_str.substring(sl+1);
	RemoteFile par = find_directory(par_str, false);
	RemoteFile upfile = par.find(file_str);
	if (upfile == null) {
		upfile = new RemoteFile(this, info, par);
		par.add(upfile);
		}
	show_files(showing_files);
	}

	public String text(String k, String p[])
	{
	String rv = (String)lang.get(k);
	if (rv == null) rv = "???";
	for(int i=0; i<p.length; i++) {
		int idx = rv.indexOf("$"+(i+1));
		if (idx != -1)
			rv = rv.substring(0, idx)+p[i]+rv.substring(idx+2);
		}
	return rv;
	}

	public String text(String k)
	{
	String p[] = { };
	return text(k, p);
	}

	public String text(String k, String p1)
	{
	String p[] = { p1 };
	return text(k, p);
	}

	public String text(String k, String p1, String p2)
	{
	String p[] = { p1, p2 };
	return text(k, p);
	}

	void paste_file(RemoteFile src, RemoteFile dir,
			String dest, RemoteFile already)
	{
	// Move or copy the actual file
	String[] rv = get_text((cut_mode ? "move.cgi" : "copy.cgi")+
			       "?from="+urlize(cut_buffer)+
			       "&to="+urlize(dest));
	if (rv[0].length() > 0) {
		new ErrorWindow(text(
			cut_mode ? "paste_emfailed"
				 : "paste_ecfailed", rv[0]));
		return;
		}
	RemoteFile file = new RemoteFile(this, rv[1], dir);
	if (already == null) {
		// Add to the parent directory
		dir.add(file);
		}
	else {
		// Update the existing file
		already.type = file.type;
		already.user = file.user;
		already.group = file.group;
		already.size = file.size;
		already.perms = file.perms;
		already.modified = file.modified;
		file = already;
		}
	if (cut_mode) {
		// Delete the old file
		src.directory.delete(src);
		}
	if (src.type == 0) {
		// Moving or copying a directory.. update the tree
		FileNode dest_par_node =
			(FileNode)nodemap.get(showing_files);
		dest_par_node.add(new FileNode(file));
		if (cut_mode) {
			FileNode cut_par_node =
				(FileNode)nodemap.get(src.directory);
			FileNode cut_file_node =
				(FileNode)nodemap.get(src);
			if (cut_par_node != null &&
			    cut_file_node != null)
				cut_par_node.ch.removeElement(
							cut_file_node);
			}
		dirs.redraw();
		}
	show_files(showing_files);
	if (cut_mode) {
		// Paste from the destination path from now on
		cut_mode = false;
		cut_buffer = dest;
		}

	}
}

// A node in the directory tree
class FileNode extends HierarchyNode
{
	FileManager parent;
	RemoteFile file;
	boolean known;

	FileNode(RemoteFile file)
	{
	this.file = file;
	parent = file.parent;
	im = parent.get_image(file.shared() ? "sdir.gif" : "dir.gif");
	ch = new Vector();
	text = file.name;
	parent.nodemap.put(file, this);
	}

	// Create the nodes for subdirectories
	void fill()
	{
	if (!known) {
		RemoteFile l[] = file.list();
		if (l == null) return;
		ch.removeAllElements();
		for(int i=0; i<l.length; i++)
			if (l[i].type == 0)
				ch.addElement(new FileNode(l[i]));
		parent.dirs.redraw();
		known = true;
		}
	}

	void add(FileNode n)
	{
	for(int i=0; i<=ch.size(); i++) {
		FileNode ni = i==ch.size() ? null : (FileNode)ch.elementAt(i);
		if (ni == null || ni.text.compareTo(n.text) > 0) {
			ch.insertElementAt(n, i);
			break;
			}
		}
	}

}

class RemoteFile
{
	static final int DIR = 0;
	static final int TEXT = 1;
	static final int IMAGE = 2;
	static final int BINARY = 3;
	static final int UNKNOWN = 4;
	static final int SYMLINK = 5;
	static final int DEVICE = 6;
	static final int PIPE = 7;
	static final String[] tmap = { "dir.gif", "text.gif", "image.gif",
				       "binary.gif", "unknown.gif",
				       "symlink.gif", "device.gif",
				       "pipe.gif" };

	FileManager parent;
	String path, name;
	int type;
	String user, group;
	long size;
	int perms;
	long modified;
	String linkto;
	RemoteFile list[];
	RemoteFile directory;

	// Parse a line of text to a file object
	RemoteFile(FileManager parent, String line, RemoteFile d)
	{
	this.parent = parent;
	StringTokenizer tok = new StringTokenizer(line, "\t");
	path = tok.nextToken();
	type = Integer.parseInt(tok.nextToken());
	user = tok.nextToken();
	group = tok.nextToken();
	size = Long.parseLong(tok.nextToken());
	perms = Integer.parseInt(tok.nextToken());
	modified = Long.parseLong(tok.nextToken())*1000;
	if (type == 5) linkto = tok.nextToken();
	directory = d;
	if (path.equals("/")) name = "/";
	else name = path.substring(path.lastIndexOf('/')+1);
	}

	// Create a new, empty file object
	RemoteFile() { }

	// Returns a list of files in this directory
	RemoteFile[] list()
	{
	if (list == null) {
		String l[] = parent.get_text("list.cgi?dir="+
					     parent.urlize(path));
		if (l[0].length() > 0) {
			//list = new RemoteFile[0];
			// Error reading the remote directory!
			new ErrorWindow(parent.text("list_edir", path, l[0]));
			list = null;
			}
		else {
			list = new RemoteFile[l.length-3];
			for(int i=3; i<l.length; i++)
				list[i-3] = new RemoteFile(parent, l[i], this);
			}
		}
	return list;
	}

	RemoteFile find(String n)
	{
	RemoteFile l[] = list();
	if (l != null) {
		for(int i=0; i<l.length; i++)
			if (l[i].name.equals(n))
				return l[i];
		}
	return null;
	}

	void add(RemoteFile f)
	{
	RemoteFile nlist[] = new RemoteFile[list.length+1];
	int offset = 0;
	for(int i=0; i<list.length; i++) {
		if (list[i].name.compareTo(f.name) > 0 && offset == 0) {
			nlist[i] = f;
			offset++;
			}
		nlist[i+offset] = list[i];
		}
	if (offset == 0) nlist[list.length] = f;
	list = nlist;
	}

	void delete(RemoteFile f)
	{
	RemoteFile nlist[] = new RemoteFile[list.length-1];
	for(int i=0,j=0; i<list.length; i++)
		if (list[i] != f)
			nlist[j++] = list[i];
	list = nlist;
	}

	boolean shared()
	{
	return type == DIR &&
	       (parent.stab.get(path) != null ||
	        parent.ntab.get(path) != null);
	}
}

class EditorWindow extends FixedFrame implements CbButtonCallback
{
	TextField name;
	TextArea edit;
	CbButton save_b, cancel_b;
	RemoteFile file;
	FileManager filemgr;

	// Editing an existing file
	EditorWindow(RemoteFile f, FileManager p)
	{
	super(500, 300);
	file = f; filemgr = p;
	makeUI(false);
	setTitle(filemgr.text("edit_title", file.path));

	// Load the file
	try {
		URL u = new URL(filemgr.getDocumentBase(),
				"show.cgi"+filemgr.urlize(file.path)+
				"?rand="+System.currentTimeMillis()+
				"&trust="+filemgr.trust+"&edit=1");
		URLConnection uc = u.openConnection();
		int len = uc.getContentLength();
		InputStream is = uc.getInputStream();
		byte buf[];
		if (len >= 0) {
			// Length is known
			buf = new byte[uc.getContentLength()];
			int got = 0;
			while(got < buf.length)
				got += is.read(buf, got, buf.length-got);
			}
		else {
			// Length is unknown .. read till the end
			buf = new byte[0];
			while(true) {
			    byte data[] = new byte[16384];
			    int got;
			    try { got = is.read(data); }
			    catch(EOFException ex) { break; }
			    if (got <= 0) break;
			    byte nbuf[] = new byte[buf.length + got];
			    System.arraycopy(buf, 0, nbuf, 0, buf.length);
			    System.arraycopy(data, 0, nbuf, buf.length, got);
			    buf = nbuf;
			    }
			}
		edit.setText(new String(buf, 0));
		is.close();
		file.size = buf.length;
		}
	catch(Exception e) { e.printStackTrace(); }
	}

	// Creating a new file
	EditorWindow(String f, FileManager p)
	{
	super(500, 300);
	filemgr = p;
	makeUI(true);
	setTitle(filemgr.text("edit_title2"));
	name.setText(f.equals("/") ? f : f+"/");
	name.select(name.getText().length(), name.getText().length());
	}

	void makeUI(boolean add_name)
	{
	setLayout(new BorderLayout());
	if (add_name) {
		Panel np = new Panel();
		np.setLayout(new BorderLayout());
		np.add("West", new Label(filemgr.text("edit_filename")));
		np.add("Center", name = new TextField());
		add("North", np);
		}
	add("Center", edit = new TextArea(20, 80));
	edit.setFont(new Font("courier", Font.PLAIN, 14));
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(save_b = new CbButton(filemgr.get_image("save.gif"),
				      filemgr.text("save"),
				      CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == save_b) {
		RemoteFile par = null, already = null;
		String save_path;
		if (file == null) {
			// Locate the filemgr directory
			save_path = filemgr.trim_path(name.getText());
			int sl = save_path.lastIndexOf('/');
			par = filemgr.find_directory(
					save_path.substring(0, sl), false);
			if (par == null) return;
			already = par.find(save_path.substring(sl+1));
			if (already != null &&
			    (already.type == 0 || already.type == 5)) {
				new ErrorWindow(
					filemgr.text("edit_eover", save_path));
				return;
				}
			}
		else save_path = file.path;

		// Save the file back again
		String s = edit.getText(), line;
		try {
			URL u = new URL(filemgr.getDocumentBase(),
					"save.cgi"+filemgr.urlize(save_path)+
					"?rand="+System.currentTimeMillis()+
					"&trust="+filemgr.trust);
			URLConnection uc = u.openConnection();
			uc.setDoOutput(true);
			OutputStream os = uc.getOutputStream();
			byte buf[] = new byte[s.length()];
			s.getBytes(0, buf.length, buf, 0);
			os.write(buf);
			os.close();
			LineInputStream is = new LineInputStream(
							uc.getInputStream());
			String err = is.gets();
			if (err.length() > 0) {
				new ErrorWindow(
					filemgr.text("edit_esave", err));
				is.close();
				return;
				}
			line = is.gets();
			is.close();
			}
		catch(Exception e) { e.printStackTrace(); return; }

		if (file == null) {
			// Create and insert or replace the file object
			file = new RemoteFile(filemgr, line, par);
			if (already != null) {
				// A file with this name exists
				already.type = file.type;
				already.user = file.user;
				already.group = file.group;
				already.size = file.size;
				already.perms = file.perms;
				already.modified = file.modified;
				}
			else {
				// Add to the list
				par.add(file);
				}
			}
		else {
			file.size = s.length();
			file.modified = System.currentTimeMillis();
			}
		filemgr.show_files(filemgr.showing_files);
		dispose();
		}
	else {
		// Just close
		dispose();
		}
	}
}

class PropertiesWindow extends FixedFrame implements CbButtonCallback
{
	RemoteFile file;
	FileManager filemgr;
	CbButton save_b, cancel_b;

	TextField linkto;
	TextField user, group;
	Checkbox setuid, setgid;
	PermissionsPanel user_p, group_p, other_p;
	Checkbox sticky;
	Choice rec_mode;

	PropertiesWindow(RemoteFile f, FileManager p)
	{
	file = f;
	filemgr = p;

	// Create UI
	setTitle(f.path);
	setLayout(new BorderLayout());
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(save_b = new CbButton(filemgr.get_image("save.gif"),
				      filemgr.text("save"),
				      CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);

	Panel mid = new Panel();
	mid.setLayout(new BorderLayout());
	TabbedPanel tab = null;
	add("Center", mid);

	// Create file details section
	Panel det = new LinedPanel(filemgr.text("info_file")),
	      dl = new Panel(), dr = new Panel();
	setup_leftright(det, dl, dr);
	add_item(filemgr.text("info_path"),
		new Label(file.path), dl, dr);
	add_item(filemgr.text("info_type"),
		new Label(filemgr.text("file_type"+file.type)), dl, dr);
	add_item(filemgr.text("info_size"),
		new Label(String.valueOf(file.size)),dl,dr);
	add_item(filemgr.text("info_mod"),
		new Label(String.valueOf(new Date(file.modified))), dl, dr);
	if (file.type == 5)
		add_item(filemgr.text("info_link"),
			 linkto = new TextField(file.linkto, 30), dl, dr);
	mid = add_panel(mid, det);

	// Create permissions section
	Panel per = new LinedPanel(filemgr.text("info_perms")),
	      pl = new Panel(), pr = new Panel();
	setup_leftright(per, pl, pr);
	add_item(filemgr.text("info_user"),
		 user_p = new PermissionsPanel(file, 64, filemgr), pl, pr);
	add_item(filemgr.text("info_group"),
		 group_p = new PermissionsPanel(file, 8, filemgr), pl, pr);
	add_item(filemgr.text("info_other"),
		 other_p = new PermissionsPanel(file, 1, filemgr), pl,pr);
	if (file.type == 0) {
		add_item(filemgr.text("info_sticky"), sticky = new Checkbox(
					filemgr.text("info_sticky2")), pl,pr);
		sticky.setState((file.perms&01000) != 0);
		}
	mid = add_panel(mid, per);

	// Create ownership section
	Panel own = new LinedPanel(filemgr.text("info_own")),
	      ol = new Panel(), or = new Panel();
	setup_leftright(own, ol, or);
	add_item(filemgr.text("info_user"),
		 user = new TextField(file.user, 10), ol, or);
	if (file.type != 0) {
		add_item(filemgr.text("info_setuid"),
			 setuid = new Checkbox(filemgr.text("info_setuid2")),
			 ol, or);
		setuid.setState((file.perms & 0x800) != 0);
		}
	add_item(filemgr.text("info_group"),
		 group = new TextField(file.group, 10), ol, or);
	if (file.type == 0)
		add_item(filemgr.text("info_setgid"),
		  setgid = new Checkbox(filemgr.text("info_setgid2")), ol, or);
	else
		add_item(filemgr.text("info_setgid"),
		  setgid = new Checkbox(filemgr.text("info_setgid3")), ol, or);
	setgid.setState((file.perms & 0x400) != 0);
	mid = add_panel(mid, own);

	if (file.type == 0) {
		// Create recursion section
		Panel rec = new LinedPanel(filemgr.text("info_apply"));
		rec.setLayout(new BorderLayout());
		rec_mode = new Choice();
		for(int i=1; i<=3; i++)
			rec_mode.addItem(filemgr.text("info_apply"+i));
		rec.add("Center", rec_mode);
		mid = add_panel(mid, rec);
		}

	pack();
	show();
	}

	Panel add_panel(Panel p, Component c)
	{
	p.add("North", c);
	Panel np = new Panel();
	np.setLayout(new BorderLayout());
	p.add("Center", np);
	return np;
	}

	public void click(CbButton b)
	{
	if (b == save_b) {
		// Update the file
		int perms = 0;
		if (setuid == null)
			perms |= (file.perms & 0x800);
		else
			perms |= (setuid.getState() ? 0x800 : 0);
		perms |= (setgid.getState() ? 0x400 : 0);
		perms |= user_p.getPerms();
		perms |= group_p.getPerms();
		perms |= other_p.getPerms();
		if (sticky == null)
			perms |= (file.perms & 01000);
		else
			perms |= (sticky.getState() ? 01000 : 0);
		int rec = 0;
		if (file.type == 0)
			rec = rec_mode.getSelectedIndex();
		String rv[] = filemgr.get_text(
			"chmod.cgi?path="+filemgr.urlize(file.path)+
			"&perms="+perms+"&user="+user.getText()+
			"&group="+group.getText()+"&rec="+rec+
			(linkto==null ? "" : "&linkto="+linkto.getText()));
		if (rv[0].length() > 0) {
			// Something went wrong
			new ErrorWindow(filemgr.text("info_efailed",
					file.path, rv[0]));
			}
		else {
			// Update all changed file objects
			if (linkto != null)
				file.linkto = linkto.getText();
			else if (rec == 0)
				update_file(file, perms, false);
			else if (rec == 1) {
				// Update files in this directory
				update_file(file, perms, false);
				recurse_files(file, perms, false);
				}
			else if (rec == 2) {
				// Update files and subdirs
                                update_file(file, perms, false);
				recurse_files(file, perms, true);
				}

			// Update directory list
			int os = filemgr.files.selected();
			filemgr.show_files(filemgr.showing_files);
			filemgr.files.select(os);
			dispose();
			}
		}
	else {
		// Just close
		dispose();
		}
	}

	void update_file(RemoteFile f, int perms, boolean perms_only)
	{
	f.user = user.getText();
	f.group = group.getText();
	if (perms_only)
		f.perms = (perms & 0777) | (f.perms & 037777777000);
	else
		f.perms = perms;
	}

	void recurse_files(RemoteFile f, int perms, boolean do_subs)
	{
	if (f.list == null) return;
	for(int i=0; i<f.list.length; i++) {
		RemoteFile ff = f.list[i];
		if (ff.type == 5) continue;
		else if (ff.type == 0) {
			if (do_subs) {
				update_file(ff, perms, false);
				recurse_files(ff, perms, true);
				}
			}
		else update_file(ff, perms, true);
		}
	}

	void setup_leftright(Panel m, Panel l, Panel r)
	{
	m.setLayout(new BorderLayout());
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	p.add("West", l);
	p.add("Center", r);
	l.setLayout(new GridLayout(0, 1));
	r.setLayout(new GridLayout(0, 1));
	m.add("North", p);
	}

	void add_item(String t, Component c, Panel l, Panel r)
	{
	l.add(new Label(t));
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	p.add("West", c);
	r.add(p);
	}

}

class PermissionsPanel extends Panel
{
	Checkbox read, write, exec;
	int base;

	PermissionsPanel(RemoteFile file, int base, FileManager filemgr)
	{
	int perms = file.perms;
	this.base = base;
	setLayout(new GridLayout(1, 3));
	add(read = new Checkbox(filemgr.text("info_read")));
	read.setState((perms&(base<<2)) != 0);
	add(write = new Checkbox(filemgr.text("info_write")));
	write.setState((perms&(base<<1)) != 0);
	add(exec = new Checkbox(
		filemgr.text(file.type==0 ? "info_list" : "info_exec")));
	exec.setState((perms&base) != 0);
	}

	int getPerms()
	{
	int rv = 0;
	rv |= (read.getState() ? (base<<2) : 0);
	rv |= (write.getState() ? (base<<1) : 0);
	rv |= (exec.getState() ? base : 0);
	return rv;
	}
}

class DeleteWindow extends FixedFrame implements CbButtonCallback
{
	CbButton delete_b, cancel_b;
	FileManager filemgr;
	RemoteFile file;

	DeleteWindow(FileManager p, RemoteFile f)
	{
	filemgr = p;
	file = f;
	setTitle(filemgr.text(f.type == 0 ? "delete_dtitle" : "delete_ftitle"));

	setLayout(new BorderLayout());
	add("Center", new MultiLabel(filemgr.text(
		f.type == 0 ? "delete_ddesc" : "delete_fdesc", f.path), 35));
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.CENTER));
	bot.add(delete_b = new CbButton(filemgr.get_image("save.gif"),
				        filemgr.text("delete"),
					CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == delete_b) {
		// Delete the file or directory
		String rv[] = filemgr.get_text("delete.cgi?file="+
					       filemgr.urlize(file.path));
		if (rv[0].length() > 0)
			new ErrorWindow(filemgr.text("delete_efailed",
					file.path, rv[0]));
		else {
			// done the deed.. update data structures
			RemoteFile pf = file.directory;
			pf.delete(file);
			if (filemgr.showing_files == pf) {
				// Need to refresh the list as well..
				filemgr.show_files(pf);
				}

			FileNode node = (FileNode)filemgr.nodemap.get(file);
			FileNode pnode = (FileNode)filemgr.nodemap.get(pf);
			if (node != null) {
				// Take the directory out of the tree..
				pnode.ch.removeElement(node);
				filemgr.dirs.redraw();
				}
			}
		dispose();
		}
	else if (b == cancel_b)
		dispose();
	}
}

class MkdirWindow extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	TextField dir;
	CbButton create_b, cancel_b;

	MkdirWindow(String d, FileManager p)
	{
	filemgr = p;
	setTitle(filemgr.text("mkdir_title"));
	setLayout(new BorderLayout());
	add("West", new Label(filemgr.text("mkdir_dir")));
	add("Center", dir = new TextField(d.equals("/") ? "/" : d+"/", 40));
	dir.select(dir.getText().length(), dir.getText().length());
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.CENTER));
	bot.add(create_b = new CbButton(filemgr.get_image("save.gif"),
				        filemgr.text("create"),
					CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == create_b) {
		// Find the filemgr directory
		String path = dir.getText();
		path = filemgr.trim_path(path);
		int sl = path.lastIndexOf('/');
		RemoteFile par = filemgr.find_directory(
					path.substring(0, sl), false);
		if (par.find(path.substring(sl+1)) != null) {
			new ErrorWindow(filemgr.text("mkdir_eexists", path));
			return;
			}
		String rv[] = filemgr.get_text("mkdir.cgi?dir="+
					       filemgr.urlize(path));
		if (rv[0].length() > 0) {
			new ErrorWindow(filemgr.text("mkdir_efailed", rv[0]));
			return;
			}
		RemoteFile file = new RemoteFile(filemgr, rv[1], par);
		par.add(file);
		FileNode parnode = (FileNode)filemgr.nodemap.get(par);
		if (parnode != null) {
			// Update the tree
			parnode.add(new FileNode(file));
			filemgr.dirs.redraw();
			}
		filemgr.show_files(filemgr.showing_files);
		dispose();
		}
	else dispose();
	}
}

class LinkWindow extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	TextField from, to;
	CbButton create_b, cancel_b;

	LinkWindow(String d, FileManager p)
	{
	filemgr = p;
	setLayout(new BorderLayout());
	setTitle(filemgr.text("link_title"));
	Panel l = new Panel(), r = new Panel();
	l.setLayout(new GridLayout(0, 1));
	l.add(new Label(filemgr.text("link_from")));
	l.add(new Label(filemgr.text("link_to")));
	r.setLayout(new GridLayout(0, 1));
	r.add(from = new TextField(d.equals("/") ? "/" : d+"/", 40));
	from.select(from.getText().length(), from.getText().length());
	r.add(to = new TextField());
	add("West", l); add("Center", r);
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.CENTER));
	bot.add(create_b = new CbButton(filemgr.get_image("save.gif"),
				        filemgr.text("create"),
					CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == create_b) {
		// Check inputs
		String from_str = from.getText().trim();
		int sl = from_str.lastIndexOf('/');
		String par_str = from_str.substring(0, sl),
		       file_str = from_str.substring(sl+1);
		RemoteFile par = filemgr.find_directory(par_str, false);
		if (par == null) return;
		if (par.find(file_str) != null) {
			new ErrorWindow(filemgr.text("link_eexists", from_str));
			return;
			}

		// Create the actual link
		String rv[] = filemgr.get_text("makelink.cgi?from="+
					       filemgr.urlize(from_str)+"&to="+
					       filemgr.urlize(to.getText()));
		if (rv[0].length() > 0) {
			new ErrorWindow(filemgr.text("link_efailed", rv[0]));
			return;
			}
		RemoteFile file = new RemoteFile(filemgr, rv[1], par);
		par.add(file);
		filemgr.show_files(filemgr.showing_files);
		dispose();
		}
	else if (b == cancel_b)
		dispose();
	}
}

class RenameWindow extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	RemoteFile file;
	TextField oldname, newname;
	CbButton rename_b, cancel_b;

	RenameWindow(FileManager p, RemoteFile f)
	{
	filemgr = p; file = f;
	setLayout(new BorderLayout());
	setTitle(filemgr.text("rename_title", file.path));
	Panel l = new Panel(), r = new Panel();
	l.setLayout(new GridLayout(0, 1));
	l.add(new Label(filemgr.text("rename_old")));
	l.add(new Label(filemgr.text("rename_new")));
	r.setLayout(new GridLayout(0, 1));
	r.add(oldname = new TextField(file.name, 20));
	oldname.setEditable(false);
	r.add(newname = new TextField(file.name, 20));
	newname.select(file.name.length(), file.name.length());
	add("West", l); add("Center", r);

	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.CENTER));
	bot.add(rename_b = new CbButton(filemgr.get_image("save.gif"),
				        filemgr.text("rename_ok"),
					CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == rename_b) {
		// Check for an existing file
		String newstr = newname.getText().trim();
		if (newstr.length() == 0) return;
		RemoteFile already = file.directory.find(newstr);
		if (already != null) {
			new ErrorWindow(filemgr.text("rename_eexists", newstr));
			return;
			}

		// Rename the real file
		int sl = file.path.lastIndexOf('/');
		String newpath = file.path.substring(0, sl)+"/"+newstr;
		String rv[] = filemgr.get_text(
				"rename.cgi?old="+filemgr.urlize(file.path)+
				"&new="+filemgr.urlize(newpath));
		if (rv[0].length() > 0) {
			new ErrorWindow(filemgr.text("rename_efailed", rv[0]));
			return;
			}

		// Update data structure
		file.name = newstr;
		file.path = newpath;
		file.directory.delete(file);
		file.directory.add(file);
		file.list = null;
		FileNode parnode = (FileNode)filemgr.nodemap.get(file.directory);
		FileNode filenode = (FileNode)filemgr.nodemap.get(file);
		if (parnode != null && filenode != null) {
			filenode.text = file.name;
			parnode.ch.removeElement(filenode);
			parnode.add(filenode);
			dispose();
			filemgr.dirs.redraw();
			}

		filemgr.show_files(filemgr.showing_files);
		dispose();
		}
	else if (b == cancel_b)
		dispose();
	}
}

class MultiLabel extends BorderPanel
{
	public MultiLabel(String s, int max)
	{
	this(s, max, 1);
	}

	public MultiLabel(String s, int max, int b)
	{
	super(b);
	Vector v = new Vector();
	StringTokenizer tok = new StringTokenizer(s.trim(), " \t");
	String line = null;
	while(tok.hasMoreTokens()) {
		String w = tok.nextToken();
		line = (line == null ? w : line+" "+w);
		if (line.length() > max || !tok.hasMoreTokens()) {
			v.addElement(line);
			line = null;
			}
		}
	setLayout(new GridLayout(v.size(), 0, 0, 0));
	for(int i=0; i<v.size(); i++)
		add(new Label((String)v.elementAt(i), Label.CENTER));
	}
}

class OverwriteWindow extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	RemoteFile src, already;
	TextField newname;
	CbButton ok, cancel;

	OverwriteWindow(FileManager p, RemoteFile a, RemoteFile s)
	{
	filemgr = p; src = s; already = a;
	setLayout(new BorderLayout());
	setTitle(filemgr.text("over_title"));
	add("North",
	    new MultiLabel(filemgr.text("over_msg", already.path), 30, 0));
	add("West", new Label(filemgr.text("over_new")));
	add("East", newname = new TextField(a.name, 30));

	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				  filemgr.text("over_ok"),
				  CbButton.LEFT, this));
	bot.add(cancel = new CbButton(filemgr.get_image("cancel.gif"),
				  filemgr.text("cancel"),
				  CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == cancel)
		dispose();
	else if (b == ok && newname.getText().length() > 0) {
		// paste the file, but with a new name
		RemoteFile ap = already.directory;
		RemoteFile newalready = ap.find(newname.getText());
		if (newalready == src) {
			new ErrorWindow(filemgr.text("paste_eself"));
			return;
			}
		if (newalready != null && (newalready.type == 0 ||
					   newalready.type == 5)) {
			new ErrorWindow(
				filemgr.text("paste_eover", newalready.path));
			return;
			}
		String dpath = (ap.path.equals("/") ? "/" :
				ap.path+"/")+newname.getText();
		filemgr.paste_file(src, already.directory, dpath, newalready);
		dispose();
		}
	}
}

class SambaShare
{
	String path;
	boolean available;
	boolean writable;
	int guest;
	String comment;

	SambaShare(String l)
	{
	StringSplitter tok = new StringSplitter(l, ':');
	path = tok.nextToken();
	available = tok.nextToken().equals("1");
	writable = tok.nextToken().equals("1");
	guest = Integer.parseInt(tok.nextToken());
	comment = tok.nextToken();
	}

	SambaShare(String p, boolean a, boolean w, int g, String c)
	{
	path = p;
	available = a;
	writable = w;
	guest = g;
	comment = c;
	}

	String params()
	{
	return "path="+FileManager.urlize(path)+
	       "&available="+(available ? 1 : 0)+
	       "&writable="+(writable ? 1 : 0)+
	       "&guest="+guest+
	       "&comment="+FileManager.urlize(comment);
	}
}

class DFSAdminExport
{
	String path;
	String desc;
	String ro, rw, root;

	DFSAdminExport(String l)
	{
	StringSplitter tok = new StringSplitter(l, ':');
	path = tok.nextToken();
	ro = tok.nextToken();
	rw = tok.nextToken();
	root = tok.nextToken();
	desc = tok.nextToken();
	}

	DFSAdminExport(String p, String d, String ro, String rw, String root)
	{
	path = p;
	desc = d;
	this.ro = ro;
	this.rw = rw;
	this.root = root;
	}

	String[] split(String s)
	{
	StringTokenizer stok = new StringTokenizer(s, " ");
	String rv[] = new String[stok.countTokens()];
	for(int i=0; i<rv.length; i++)
		rv[i] = stok.nextToken();
	return rv;
	}

	String params()
	{
	return "path="+FileManager.urlize(path)+
	       "&ro="+FileManager.urlize(ro)+
	       "&rw="+FileManager.urlize(rw)+
	       "&root="+FileManager.urlize(root)+
	       "&desc="+FileManager.urlize(desc);
	}
}

class LinuxExport
{
	String path;
	String host[];
	boolean ro[];
	int squash[];

	LinuxExport(String l)
	{
	StringSplitter tok = new StringSplitter(l, ':');
	path = tok.nextToken();
	int c = tok.countTokens() / 3;
	host = new String[c];
	ro = new boolean[c];
	squash = new int[c];
	for(int i=0; tok.hasMoreTokens(); i++) {
		host[i] = tok.nextToken();
		ro[i] = tok.nextToken().equals("1");
		squash[i] = Integer.parseInt(tok.nextToken());
		}
	}

	LinuxExport(String p, String h[], String r[], String s[])
	{
	path = p;
	}

	String params()
	{
	String rv = "path="+FileManager.urlize(path)+
		    "&count="+host.length;
	for(int i=0; i<host.length; i++) {
		rv += "&host"+i+"="+FileManager.urlize(host[i]);
		rv += "&ro"+i+"="+(ro[i] ? 1 : 0);
		rv += "&squash"+i+"="+squash[i];
		}
	return rv;
	}
}

class SharingWindow extends FixedFrame implements CbButtonCallback
{
	CbButton save_b, cancel_b;
	RemoteFile file;
	FileManager filemgr;
	SambaShare sshare;
	DFSAdminExport dexport;
	LinuxExport lexport;
	Checkbox samba_on, samba_off;
	Checkbox writable_on, writable_off;
	Checkbox available_on, available_off;
	Checkbox guest_on, guest_off, guest_only;
	TextField comment;

	TextField desc;
	Checkbox nfs_on, nfs_off;
	TextField rwhosts, rohosts, roothosts;
	Checkbox rw[] = new Checkbox[3], ro[] = new Checkbox[3],
		 root[] = new Checkbox[3];

	TextField host[];
	Choice lro[], squash[];

	SharingWindow(RemoteFile f, FileManager p)
	{
	file = f; filemgr = p;
	setTitle(filemgr.text("share_title", file.path));
	sshare = (SambaShare)filemgr.stab.get(file.path);
	Object nshare = filemgr.ntab.get(file.path);
	if (filemgr.nfsmode == 1)
		lexport = (LinuxExport)nshare;
	else if (filemgr.nfsmode == 2)
		dexport = (DFSAdminExport)nshare;

	// setup UI
	setLayout(new BorderLayout());
	Panel samba = new Panel(), sl = new Panel(), sr = new Panel();
	samba.setLayout(new BorderLayout());
	Panel st = new Panel();
	st.setLayout(new GridLayout(2, 1));
	CheckboxGroup sg = new CheckboxGroup();
	st.add(samba_off = new Checkbox(filemgr.text("share_soff"), sg, 
				       sshare == null));
	st.add(samba_on = new Checkbox(filemgr.text("share_son"), sg,
					sshare != null));
	samba.add("North", st);

	Panel stop = new LinedPanel(filemgr.text("share_sheader"));
	setup_leftright(stop, sl, sr);

	comment = new TextField(sshare == null ? "" : sshare.comment, 25);
	add_item(filemgr.text("share_comment"), comment, sl, sr);

	Panel ap = new Panel();
	ap.setLayout(new GridLayout(1, 0));
	CheckboxGroup ag = new CheckboxGroup();
	ap.add(available_on = new Checkbox(filemgr.text("yes"), ag,
					  sshare == null || sshare.available));
	ap.add(available_off = new Checkbox(filemgr.text("no"), ag,
					  sshare != null && !sshare.available));
	add_item(filemgr.text("share_available"), ap, sl, sr);

	Panel wp = new Panel();
	wp.setLayout(new GridLayout(1, 0));
	CheckboxGroup wg = new CheckboxGroup();
	wp.add(writable_on = new Checkbox(filemgr.text("yes"), wg,
					  sshare == null || sshare.writable));
	wp.add(writable_off = new Checkbox(filemgr.text("no"), wg,
					   sshare != null && !sshare.writable));
	add_item(filemgr.text("share_writable"), wp, sl, sr);

	Panel gp = new Panel();
	gp.setLayout(new GridLayout(1, 0));
	CheckboxGroup gg = new CheckboxGroup();
	gp.add(guest_only = new Checkbox(filemgr.text("share_only"), gg,
				sshare != null && sshare.guest == 2));
	gp.add(guest_on = new Checkbox(filemgr.text("yes"), gg,
				sshare == null || sshare.guest == 1));
	gp.add(guest_off = new Checkbox(filemgr.text("no"), gg,
			 	sshare != null && sshare.guest == 0));
	add_item(filemgr.text("share_guest"), gp, sl, sr);

	samba.add("Center", stop);

	// Setup NFS UI
	Panel nfs = new Panel(), nl = new Panel(), nr = new Panel();
	nfs.setLayout(new BorderLayout());
	Panel nt = new Panel();
	nt.setLayout(new GridLayout(2, 1));
	CheckboxGroup ng = new CheckboxGroup();
	nt.add(nfs_off = new Checkbox(filemgr.text("share_noff"), ng, 
				      nshare == null));
	nt.add(nfs_on = new Checkbox(filemgr.text("share_non"), ng,
				     nshare != null));
	nfs.add("North", nt);

	Panel ntop = new LinedPanel(filemgr.text("share_nheader"));
	setup_leftright(ntop, nl, nr);
	if (filemgr.nfsmode == 1) {
		// Linux export mode
		nl.setLayout(new GridLayout(0, 1, 2, 2));
		nr.setLayout(new GridLayout(0, 1, 2, 2));
		nl.add(new Label(filemgr.text("share_host")));
		nr.add(new Label(filemgr.text("share_opts")));
		int c = lexport==null ? 0 : lexport.host.length;
		host = new TextField[c+1];
		lro = new Choice[c+1];
		squash = new Choice[c+1];
		for(int i=0; i<c; i++) {
			host[i] = new TextField(lexport.host[i], 20);
			lro[i] = robox(lexport.ro[i]);
			squash[i] = squashbox(lexport.squash[i]);
			nl.add(host[i]);
			nr.add(opts_panel(lro[i], squash[i]));
			}
		host[c] = new TextField("", 20);
		lro[c] = robox(false);
		squash[c] = squashbox(1);
		nl.add(host[c]);
		nr.add(opts_panel(lro[c], squash[c]));
		}
	else if (filemgr.nfsmode == 2) {
		// Solaris share mode
		desc = new TextField(dexport == null ? "" : dexport.desc, 25);
		add_item(filemgr.text("share_desc"), desc, nl, nr);

		rohosts = add_hosts(filemgr.text("share_ro"),
				    dexport == null ? "-" : dexport.ro,
				    ro, nl, nr);
		rwhosts = add_hosts(filemgr.text("share_rw"),
				    dexport == null ? "-" : dexport.rw,
				    rw, nl, nr);
		roothosts = add_hosts(filemgr.text("share_root"),
				    dexport == null ? "-" : dexport.root,
				    root, nl, nr);
		root[1].getParent().remove(root[1]);
		}
	else if (filemgr.nfsmode == 3) {
		}
	nfs.add("Center", ntop);

	// Add the appropriate tabs
	if (filemgr.sambamode && filemgr.nfsmode != 0) {
		TabbedPanel tab = new TabbedPanel();
		tab.addItem(filemgr.text("share_samba"), samba);
		tab.addItem(filemgr.text("share_nfs"), nfs);
		add("Center", tab);
		}
	else if (filemgr.sambamode)
		add("Center", samba);
	else if (filemgr.nfsmode != 0)
		add("Center", nfs);

	// Create save and cancel buttons
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(save_b = new CbButton(filemgr.get_image("save.gif"),
				      filemgr.text("save"),
				      CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == save_b) {
		// Update samba settings on server
		if (sshare != null && samba_on.getState()) {
			// Updating share
			sshare.available = available_on.getState();
			sshare.writable = writable_on.getState();
			sshare.guest = guest_only.getState() ? 2 :
				       guest_on.getState() ? 1 : 0;
			sshare.comment = comment.getText();
			String rv[] = filemgr.get_text(
				"save_share.cgi?"+sshare.params());
			}
		else if (sshare != null) {
			// Deleting share
			String rv[] = filemgr.get_text(
				"save_share.cgi?delete=1&"+sshare.params());
			filemgr.stab.remove(sshare.path);
			}
		else if (samba_on.getState()) {
			// Creating share
			sshare = new SambaShare(file.path,
						available_on.getState(),
						writable_on.getState(),
						guest_only.getState() ? 2 :
						guest_on.getState() ? 1 : 0,
						comment.getText());
			filemgr.stab.put(sshare.path, sshare);
			String rv[] = filemgr.get_text(
				"save_share.cgi?new=1&"+sshare.params());
			}

		// Update NFS settings on server
		if (filemgr.nfsmode == 1) {
			if (lexport != null && nfs_on.getState()) {
				// Updating export
				export_options(lexport);
				String rv[] = filemgr.get_text(
					"save_export.cgi?"+lexport.params());
				}
			else if (lexport != null) {
				// Deleting export
				String rv[] = filemgr.get_text(
				  "save_export.cgi?delete=1&"+lexport.params());
				filemgr.ntab.remove(lexport.path);
				}
			else if (nfs_on.getState()) {
				// Creating export
				lexport = new LinuxExport(file.path, null,
							  null, null);
				export_options(lexport);
				String rv[] = filemgr.get_text(
				  "save_export.cgi?new=1&"+lexport.params());
				filemgr.ntab.put(lexport.path, lexport);
				}
			}
		else if (filemgr.nfsmode == 2) {
			if (dexport != null && nfs_on.getState()) {
				// Updating share
				dexport.desc = desc.getText();
				dexport.ro = ro[0].getState() ? "-" :
					     ro[1].getState() ? "" :
					     rohosts.getText();
				dexport.rw = rw[0].getState() ? "-" :
					     rw[1].getState() ? "" :
					     rwhosts.getText();
				dexport.root = root[0].getState() ? "-" :
					       roothosts.getText();
				String rv[] = filemgr.get_text(
					"save_export.cgi?"+dexport.params());
				}
			else if (dexport != null) {
				// Deleting share
				String rv[] = filemgr.get_text(
				  "save_export.cgi?delete=1&"+dexport.params());
				filemgr.ntab.remove(dexport.path);
				}
			else if (nfs_on.getState()) {
				// Creating new share
				dexport = new DFSAdminExport(file.path,
					desc.getText(),
					ro[0].getState() ? "-" :
					ro[1].getState() ? "" :
					rohosts.getText(),
					rw[0].getState() ? "-" :
					rw[1].getState() ? "" :
					rwhosts.getText(),
					root[0].getState() ? "-" :
					roothosts.getText());
				String rv[] = filemgr.get_text(
				    "save_export.cgi?new=1&"+dexport.params());
				filemgr.ntab.put(dexport.path, dexport);
				}
			}
		else if (filemgr.nfsmode == 3) {
			}

		filemgr.show_files(filemgr.showing_files);
		dispose();
		}
	else if (b == cancel_b)
		dispose();
	}

	void setup_leftright(Panel m, Panel l, Panel r)
	{
	m.setLayout(new BorderLayout());
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	p.add("West", l);
	p.add("Center", r);
	l.setLayout(new GridLayout(0, 1));
	r.setLayout(new GridLayout(0, 1));
	m.add("North", p);
	}

	void add_item(String t, Component c, Panel l, Panel r)
	{
	l.add(new Label(t));
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	p.add("West", c);
	r.add(p);
	}

	TextField add_hosts(String name, String v, Checkbox cb[],
			    Panel l, Panel r)
	{
	Panel p = new Panel();
	p.setLayout(new GridLayout(1, 3));
	CheckboxGroup g = new CheckboxGroup();
	p.add(cb[0] = new Checkbox(filemgr.text("share_none"), g,
				   v.equals("-")));
	p.add(cb[1] = new Checkbox(filemgr.text("share_all"), g,
				   v.length() == 0));
	p.add(cb[2] = new Checkbox(filemgr.text("share_listed"), g,
				   v.length() > 1));
	add_item(name, p, l, r);
	TextField t = new TextField(v.equals("-") ? "" : v, 25);
	add_item("", t, l, r);
	return t;
	}

	Choice squashbox(int s)
	{
	Choice rv = new Choice();
	rv.addItem(filemgr.text("share_s0"));
	rv.addItem(filemgr.text("share_s1"));
	rv.addItem(filemgr.text("share_s2"));
	rv.select(s);
	return rv;
	}

	Choice robox(boolean r)
	{
	Choice rv = new Choice();
	rv.addItem(filemgr.text("share_lrw"));
	rv.addItem(filemgr.text("share_lro"));
	rv.select(r ? 1 : 0);
	return rv;
	}

	Panel opts_panel(Component ro, Component squash)
	{
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	System.out.println("adding "+ro+" "+squash);
	p.add("West", ro);
	p.add("East", squash);
	return p;
	}

	void export_options(LinuxExport e)
	{
	int c = 0;
	for(int i=0; i<host.length; i++)
		if (host[i].getText().length() > 0)
			c++;
	e.host = new String[c];
	e.ro = new boolean[c];
	e.squash = new int[c];
	for(int i=0,j=0; i<host.length; i++) {
		if (host[i].getText().trim().length() > 0) {
			e.host[j] = host[i].getText();
			e.ro[j] = lro[i].getSelectedIndex() == 1;
			e.squash[j] = squash[i].getSelectedIndex();
			j++;
			}
		}
	}

}

class SearchWindow extends FixedFrame
	implements CbButtonCallback,MultiColumnCallback
{
	TabbedPanel tab;
	MultiColumn list;
	CbButton search_b, cancel_b;
	FileManager filemgr;
	TextField dir, match, user, group;
	Checkbox uany, usel, gany, gsel;
	Choice type;
	Checkbox sany, smore, sless;
	TextField more, less;
	Checkbox xon, xoff;
	String types[] = { "", "f", "d", "l", "p" };
	RemoteFile results[];

	SearchWindow(String d, FileManager p)
	{
	filemgr = p;
	setTitle(filemgr.text("search_title"));

	// setup UI
	setLayout(new BorderLayout());
	tab = new TabbedPanel();
	Panel search = new Panel();
	search.setLayout(new BorderLayout());
	tab.addItem(filemgr.text("search_crit"), search);
	Panel l = new Panel(), r = new Panel();
	l.setLayout(new GridLayout(0, 1));
	r.setLayout(new GridLayout(0, 1));

	String cols[] = { "", filemgr.text("right_name"),
			  filemgr.text("right_size") };
	float widths[] = { .07f, .78f, .15f };
	list = new MultiColumn(cols, this);
	list.setWidths(widths);
	list.setDrawLines(false);
	tab.addItem(filemgr.text("search_list"), list);

	add_item(filemgr.text("search_dir"), dir = new TextField(d, 30), l, r);

	add_item(filemgr.text("search_match"), match = new TextField(20), l, r);

	Panel up = new Panel();
	up.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
	CheckboxGroup ug = new CheckboxGroup();
	up.add(uany = new Checkbox(filemgr.text("search_any"), ug, true));
	up.add(usel = new Checkbox("", ug, false));
	up.add(user = new TextField(10));
	add_item(filemgr.text("search_user"), up, l, r);

	Panel gp = new Panel();
	gp.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
	CheckboxGroup gg = new CheckboxGroup();
	gp.add(gany = new Checkbox(filemgr.text("search_any"), gg, true));
	gp.add(gsel = new Checkbox("", gg, false));
	gp.add(group = new TextField(10));
	add_item(filemgr.text("search_group"), gp, l, r);

	type = new Choice();
	for(int i=0; i<types.length; i++)
		type.addItem(filemgr.text("search_types_"+types[i]));
	add_item(filemgr.text("search_type"), type, l, r);

	CheckboxGroup sg = new CheckboxGroup();
	add_item(filemgr.text("search_size"),
		 sany = new Checkbox(filemgr.text("search_any"), sg, true),
		 l, r);
	Panel mp = new Panel();
	mp.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
	mp.add(smore = new Checkbox(filemgr.text("search_more"), sg, false));
	mp.add(more = new TextField(10));
	add_item("", mp, l, r);
	Panel lp = new Panel();
	lp.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
	lp.add(sless = new Checkbox(filemgr.text("search_less"), sg, false));
	lp.add(less = new TextField(10));
	add_item("", lp, l, r);

	CheckboxGroup xg = new CheckboxGroup();
	Panel xp = new Panel();
	xp.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
	xp.add(xoff = new Checkbox(filemgr.text("yes"), xg, true));
	xp.add(xon = new Checkbox(filemgr.text("no"), xg, false));
	add_item(filemgr.text("search_xdev"), xp, l, r);

	search.add("West", l); search.add("East", r);
	add("Center", tab);

	// Create search and cancel buttons
	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(search_b = new CbButton(filemgr.get_image("save.gif"),
				      filemgr.text("search_ok"),
				      CbButton.LEFT, this));
	bot.add(cancel_b = new CbButton(filemgr.get_image("cancel.gif"),
					filemgr.text("cancel"),
					CbButton.LEFT, this));
	add("South", bot);
	pack();
	show();
	}

	void add_item(String t, Component c, Panel l, Panel r)
	{
	l.add(new Label(t));
	Panel p = new Panel();
	p.setLayout(new BorderLayout());
	p.add("West", c);
	r.add(p);
	}

	public void click(CbButton b)
	{
	if (b == cancel_b)
		dispose();
	else if (b == search_b) {
		// validate inputs and build search URL
		String url = "search.cgi";
		String d = dir.getText().trim();
		if (d.length() == 0 || d.charAt(0) != '/') {
			new ErrorWindow(filemgr.text("search_edir"));
			return;
			}
		url += "?dir="+filemgr.urlize(d);
		String mt = match.getText().trim();
		if (mt.length() == 0) {
			new ErrorWindow(filemgr.text("search_ematch"));
			return;
			}
		url += "&match="+filemgr.urlize(mt);
		if (type.getSelectedIndex() > 0)
			url += "&type="+types[type.getSelectedIndex()];
		if (usel.getState()) {
			String u = user.getText().trim();
			if (u.length() == 0) {
				new ErrorWindow(filemgr.text("search_euser"));
				return;
				}
			url += "&user="+filemgr.urlize(u);
			}
		if (gsel.getState()) {
			String g = group.getText().trim();
			if (g.length() == 0) {
				new ErrorWindow(filemgr.text("search_egroup"));
				return;
				}
			url += "&group="+filemgr.urlize(g);
			}
		if (smore.getState()) {
			String m = more.getText().trim();
			try { Integer.parseInt(m); }
			catch(Exception e) {
				new ErrorWindow(filemgr.text("search_esize"));
				return;
				}
			url += "&size=%2B"+m+"c";
			}
		else if (sless.getState()) {
			String l = less.getText().trim();
			try { Integer.parseInt(l); }
			catch(Exception e) {
				new ErrorWindow(filemgr.text("search_esize"));
				return;
				}
			url += "&size=%2D"+l+"c";
			}
		if (xon.getState())
			url += "&xdev=1";

		// send off the search
		setCursor(WAIT_CURSOR);
		String f[] = filemgr.get_text(url);
		if (f[0].length() > 0) {
			new ErrorWindow(f[0]);
			return;
			}
		Object rows[][] = new Object[f.length-1][];
		results = new RemoteFile[f.length-1];
		for(int i=1; i<f.length; i++) {
			RemoteFile r = new RemoteFile(filemgr, f[i], null);
			results[i-1] = r;
			Object row[] = rows[i-1] = new Object[3];
			row[0] = filemgr.get_image(RemoteFile.tmap[r.type]);
			row[1] = r.path;
			if (r.size < 1000)
				row[2] = filemgr.spad(r.size, 5)+" B";
			else if (r.size < 1000000)
				row[2] = filemgr.spad(r.size/1000, 5)+" kB";
			else
				row[2] = filemgr.spad(r.size/1000000, 5)+" MB";
			}
		list.clear();
		list.addItems(rows);
		tab.select(filemgr.text("search_list"));
		setCursor(DEFAULT_CURSOR);
		}
	}

	public void singleClick(MultiColumn list, int num)
	{
	}

	// go to the directory of the double-clicked file
	public void doubleClick(MultiColumn list, int num)
	{
	RemoteFile f = results[num];
	int sl = f.path.lastIndexOf('/');
	String dir = sl == 0 ? "/" : f.path.substring(0, sl);
	filemgr.find_directory(dir, true);
	RemoteFile l[] = filemgr.showing_files.list();
	for(int i=0; i<l.length; i++) {
		if (l[i].name.equals(f.name)) {
			// select the file in the list
			filemgr.files.select(i+1);
			filemgr.files.scrollto(i+1);
			break;
			}
		}
	dispose();
	}
}

class FileSystem
{
	String mount;
	String dev;
	String type;
	String opts[];
	boolean acls;
	boolean attrs;
	boolean ext;

	FileSystem(String l)
	{
	StringSplitter tok = new StringSplitter(l, ' ');
	mount = tok.nextToken();
	dev = tok.nextToken();
	type = tok.nextToken();
	String optstr = tok.nextToken();
	acls = tok.nextToken().equals("1");
	attrs = tok.nextToken().equals("1");
	ext = tok.nextToken().equals("1");

	StringTokenizer tok2 = new StringTokenizer(optstr, ",");
	opts = new String[tok2.countTokens()];
	for(int i=0; i<opts.length; i++)
		opts[i] = tok2.nextToken();
	}
}

class ACLEntry
{
	FileManager filemgr;
	RemoteFile file;
	boolean def;
	String type;
	String owner;
	boolean read, write, exec;

	ACLEntry(String l, ACLWindow w)
	{
	filemgr = w.filemgr;
	file = w.file;
	StringSplitter tok = new StringSplitter(l, ':');
	type = tok.nextToken();
	if (type.equals("default")) {
		def = true;
		type = tok.nextToken();
		}
	if (!type.equals("mask") && !type.equals("other")) {
		owner = tok.nextToken();
		if (owner.length() == 0)
			owner = null;
		}
	String rwx = tok.nextToken();
	if (rwx.length() == 0)
		rwx = tok.nextToken();	// getfacl outputs a blank owner for mask
					// and other on some systems
	read = (rwx.charAt(0) == 'r');
	write = (rwx.charAt(1) == 'w');
	exec = (rwx.charAt(2) == 'x');
	}

	ACLEntry(ACLWindow w)
	{
	filemgr = w.filemgr;
	file = w.file;
	}

	String[] getRow()
	{
	String rv[] = new String[3];
	String t = def ? "acltype_default_"+type : "acltype_"+type;
	rv[0] = filemgr.text(t);
	if (type.equals("mask") || type.equals("other") || def) rv[1] = "";
	else if (owner != null)
		rv[1] = owner;
	else if (type.equals("user"))
		rv[1] = filemgr.text("eacl_user", file.user);
	else
		rv[1] = filemgr.text("eacl_group", file.group);
	rv[2] = "";
	if (read) rv[2] += filemgr.text("info_read")+" ";
	if (write) rv[2] += filemgr.text("info_write")+" ";
	if (exec) rv[2] += filemgr.text("info_exec")+" ";
	return rv;
	}

	public String toString()
	{
	String rv = def ? "default:" : "";
	rv += type+":";
	if (!type.equals("mask") && !type.equals("other"))
		rv += (owner == null ? "" : owner)+":";
	rv += (read ? 'r' : '-');
	rv += (write ? 'w' : '-');
	rv += (exec ? 'x' : '-');
	return rv;
	}
}

class ACLEditor extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	ACLWindow aclwin;
	ACLEntry acl;
	boolean creating;
	CbButton ok, del;
	Checkbox read, write, exec, owner1, owner2;
	TextField owner;

	// Editing an existing ACL entry
	ACLEditor(ACLWindow w, ACLEntry a)
	{
	aclwin = w;
	filemgr = aclwin.filemgr;
	acl = a;
	creating = false;
	makeUI();
	}

	// Creating a new ACL entry
	ACLEditor(ACLWindow w, String type, boolean def)
	{
	aclwin = w;
	filemgr = aclwin.filemgr;
	acl = new ACLEntry(aclwin);
	acl.def = def;
	acl.type = type;
	creating = true;
	makeUI();
	}

	void makeUI()
	{
	setTitle(filemgr.text(creating ? "eacl_create" : "eacl_edit"));
	setLayout(new BorderLayout());
	Panel left = new Panel();
	left.setLayout(new GridLayout(0, 1));
	add("West", left);
	Panel right = new Panel();
	right.setLayout(new GridLayout(0, 1));
	add("East", right);

	left.add(new Label(filemgr.text("eacl_acltype")));
	TextField type;
	right.add(type = new TextField(
				(acl.def ? "default " : "")+acl.type, 20));
	type.setEditable(false);

	if (!acl.type.equals("mask") && !acl.type.equals("other")) {
		left.add(new Label(filemgr.text("eacl_aclname")));
		if (acl.def) {
			// A default user or group ACL .. can be for
			// a specific user, or for the file owner
			Panel op = new Panel();
			op.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
			CheckboxGroup gr = new CheckboxGroup();
			op.add(owner1 = new Checkbox(filemgr.text("eacl_owner"),
					    gr, acl.owner == null));
			op.add(owner2 = new Checkbox("",
					    gr, acl.owner != null));
			op.add(owner = new TextField(
				acl.owner == null ? "" : acl.owner, 20));
			right.add(op);
			}
		else if (creating || acl.owner != null) {
			// A user or group ACL for a specific user
			owner = new TextField(
					acl.owner == null ? "" : acl.owner, 20);
			right.add(owner);
			}
		else {
			// A user or group ACL for the file owner
			String str;
			if (acl.type.equals("user"))
			    str = filemgr.text("eacl_user", aclwin.file.user);
			else
			    str = filemgr.text("eacl_group", aclwin.file.group);
			TextField o = new TextField(str);
			o.setEditable(false);
			right.add(o);
			}
		}

	left.add(new Label(filemgr.text("eacl_aclperms")));
	Panel pp = new Panel();
	pp.setLayout(new FlowLayout(FlowLayout.RIGHT));
	pp.add(read = new Checkbox(filemgr.text("info_read"), null, acl.read));
	pp.add(write = new Checkbox(filemgr.text("info_write"), null, acl.write));
	pp.add(exec = new Checkbox(filemgr.text("info_exec"), null, acl.exec));
	right.add(pp);

	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				  filemgr.text("save"),
				  CbButton.LEFT, this));
	if (!creating && (acl.owner != null || acl.def))
		bot.add(del = new CbButton(filemgr.get_image("cancel.gif"),
					   filemgr.text("delete"),
					   CbButton.LEFT, this));
	add("South", bot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		// Update or add the ACL entry
		if (owner1 != null && owner1.getState()) {
			acl.owner = null;
			}
		else if (owner != null) {
			String o = owner.getText().trim();
			if (o.length() == 0 && !acl.def) {
				new ErrorWindow(filemgr.text("eacl_eowner"));
				return;
				}
			acl.owner = owner.getText();
			if (acl.owner.length() == 0)
				acl.owner = null;
			}
		acl.read = read.getState();
		acl.write = write.getState();
		acl.exec = exec.getState();
		if (creating) {
			// Add to the ACL table
			aclwin.acllist.addElement(acl);
			aclwin.acltable.addItem(acl.getRow());
			}
		else {
			// Update the table
			int idx = aclwin.acllist.indexOf(acl);
			aclwin.acltable.modifyItem(acl.getRow(), idx);
			}
		dispose();
		}
	else if (b == del) {
		// Remove this entry
		int idx = aclwin.acllist.indexOf(acl);
		aclwin.acllist.removeElementAt(idx);
		aclwin.acltable.deleteItem(idx);
		dispose();
		}
	}

	public void dispose()
	{
	aclwin.edmap.remove(acl);
	super.dispose();
	}
}

class ACLWindow extends FixedFrame implements CbButtonCallback,MultiColumnCallback
{
	FileManager filemgr;
	RemoteFile file;
	Vector acllist = new Vector();
	Hashtable edmap = new Hashtable();

	CbButton ok, cancel, add;
	Choice addtype;
	MultiColumn acltable;

	String acltypes[] = { "user", "group", "mask",
			      "default user", "default group", "default other",
			      "default mask" };

	ACLWindow(FileManager p, RemoteFile f)
	{
	super(400, 300);
	setTitle(p.text("eacl_title", f.path));
	filemgr = p;
	file = f;

	// Get the ACLs
	String a[] = filemgr.get_text(
			"getfacl.cgi?file="+filemgr.urlize(file.path));
	if (a[0].length() != 0) {
		new ErrorWindow(filemgr.text("eacl_eacls", a[0]));
		return;
		}

	// Create the UI
	setLayout(new BorderLayout());
	String titles[] = { filemgr.text("eacl_acltype"),
			    filemgr.text("eacl_aclname"),
			    filemgr.text("eacl_aclperms") };
	acltable = new MultiColumn(titles, this);
	for(int i=1; i<a.length; i++) {
		ACLEntry acl = new ACLEntry(a[i], this);
		acllist.addElement(acl);
		acltable.addItem(acl.getRow());
		}
	add("Center", acltable);
	Panel abot = new Panel();
	abot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	abot.add(add = new CbButton(filemgr.get_image("add.gif"),
				   filemgr.text("eacl_add"),
				   CbButton.LEFT, this));
	int len = file.type == RemoteFile.DIR ? acltypes.length : 3;
	abot.add(addtype = new Choice());
	for(int i=0; i<len; i++) {
		String t = "acltype_"+acltypes[i].replace(' ', '_');
		addtype.addItem(filemgr.text(t));
		}
	abot.add(new Label(" "));
	abot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				   filemgr.text("save"),
				   CbButton.LEFT, this));
	abot.add(cancel = new CbButton(filemgr.get_image("cancel.gif"),
				       filemgr.text("cancel"),
				       CbButton.LEFT, this));
	add("South", abot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		// Check if there are any defaults, and if so there must
		// be default user, group and other
		boolean anydef = false, defuser = false,
			defgroup = false, defother = false;
		for(int i=0; i<acllist.size(); i++) {
			ACLEntry e = (ACLEntry)acllist.elementAt(i);
			if (e.def) anydef = true;
			if (e.def && e.owner == null) {
				if (e.type.equals("user")) defuser = true;
				if (e.type.equals("group")) defgroup = true;
				if (e.type.equals("other")) defother = true;
				}
			}
		if (anydef && (!defuser || !defgroup || !defother)) {
			new ErrorWindow(filemgr.text("eacl_edefaults"));
			return;
			}

		// Save the ACLs
		String aclstr = "";
		for(int i=0; i<acllist.size(); i++)
			aclstr += (ACLEntry)acllist.elementAt(i)+"\n";
		System.out.println(aclstr);
		String rv[] = filemgr.get_text("setfacl.cgi?file="+
						filemgr.urlize(file.path)+
						"&acl="+filemgr.urlize(aclstr));
		if (rv[0].length() > 0)
			new ErrorWindow(filemgr.text("eacl_efailed",
				file.path, rv[0]));
		else
			dispose();
		}
	else if (b == add) {
		// Open a window for a new ACL entry
		String t = acltypes[addtype.getSelectedIndex()];
		String d = "default ";
		boolean def = t.startsWith(d);
		if (def)
			t = t.substring(d.length());
		if (t.equals("mask")) {
			// Only allow one mask
			for(int i=0; i<acllist.size(); i++) {
				ACLEntry a = (ACLEntry)acllist.elementAt(i);
				if (a.type.equals(t) && a.def == def) {
					new ErrorWindow(filemgr.text(def ?
						"eacl_defmask" : "eacl_emask"));
					return;
					}
				}
			}
		new ACLEditor(this, t, def);
		}
	else if (b == cancel) {
		// Don't save
		dispose();
		}
	}

	// Bring up an editor for an ACL
        public void doubleClick(MultiColumn list, int num)
	{
	int idx = list.selected();
	if (idx >= 0) {
		ACLEntry e = (ACLEntry)acllist.elementAt(idx);
		ACLEditor ed = (ACLEditor)edmap.get(e);
		if (ed == null)
			edmap.put(e, new ACLEditor(this, e));
		else {
			ed.toFront();
			ed.requestFocus();
			}
		}
	}

        public void singleClick(MultiColumn list, int num)
	{
	}

}

class AttributesWindow extends FixedFrame
	implements CbButtonCallback,MultiColumnCallback
{
	FileManager filemgr;
	RemoteFile file;
	Vector attrlist = new Vector();
	Hashtable edmap = new Hashtable();

	CbButton ok, cancel, add;
	MultiColumn attrtable;

	AttributesWindow(FileManager p, RemoteFile f)
	{
	super(400, 300);
	setTitle(p.text("attr_title", f.path));
	filemgr = p;
	file = f;

	// Get the attributes
	String a[] = filemgr.get_text(
			"getattrs.cgi?file="+filemgr.urlize(file.path));
	if (a[0].length() != 0) {
		new ErrorWindow(filemgr.text("attr_eattrs", a[0]));
		return;
		}

	// Create the UI
	setLayout(new BorderLayout());
	String titles[] = { filemgr.text("attr_name"),
			    filemgr.text("attr_value") };
	attrtable = new MultiColumn(titles, this);
	for(int i=1; i<a.length; i++) {
		FileAttribute at = new FileAttribute(a[i], filemgr);
		attrlist.addElement(at);
		attrtable.addItem(at.getRow());
		}
	add("Center", attrtable);
	Panel abot = new Panel();
	abot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	abot.add(add = new CbButton(filemgr.get_image("add.gif"),
				   filemgr.text("attr_add"),
				   CbButton.LEFT, this));
	abot.add(new Label(" "));
	abot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				   filemgr.text("save"),
				   CbButton.LEFT, this));
	abot.add(cancel = new CbButton(filemgr.get_image("cancel.gif"),
				       filemgr.text("cancel"),
				       CbButton.LEFT, this));
	add("South", abot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		// Save the attributes
		String pstr = "";
		for(int i=0; i<attrlist.size(); i++) {
			FileAttribute at = (FileAttribute)attrlist.elementAt(i);
			pstr += "&name"+i+"="+filemgr.urlize(at.name)+
			        "&value"+i+"="+filemgr.urlize(at.value);
			}
		String rv[] = filemgr.get_text("setattrs.cgi?file="+
						filemgr.urlize(file.path)+pstr);
		if (rv[0].length() > 0)
			new ErrorWindow(filemgr.text("attr_efailed",
				file.path, rv[0]));
		else
			dispose();
		}
	else if (b == add) {
		// Open a window for a new ACL entry
		new AttributeEditor(this);
		}
	else if (b == cancel) {
		// Don't save
		dispose();
		}
	}

	// Bring up an editor for an ACL
        public void doubleClick(MultiColumn list, int num)
	{
	int idx = list.selected();
	if (idx >= 0) {
		FileAttribute at = (FileAttribute)attrlist.elementAt(idx);
		AttributeEditor ed = (AttributeEditor)edmap.get(at);
		if (ed == null)
			edmap.put(at, new AttributeEditor(this, at));
		else {
			ed.toFront();
			ed.requestFocus();
			}
		}
	}

        public void singleClick(MultiColumn list, int num)
	{
	}

}

class FileAttribute
{
	String name;
	String value;

	FileAttribute(String l, FileManager f)
	{
	int eq = l.indexOf('=');
	name = f.un_urlize(l.substring(0, eq));
	value = f.un_urlize(l.substring(eq+1));
	}

	FileAttribute(String n, String v)
	{
	name = n;
	value = v;
	}

	String[] getRow()
	{
	return new String[] { name, value };
	}
}

class AttributeEditor extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	AttributesWindow attrwin;
	FileAttribute attr;
	boolean creating;
	CbButton ok, del;
	TextField name;
	TextArea value;

	AttributeEditor(AttributesWindow w, FileAttribute a)
	{
	attrwin = w;
	attr = a;
	filemgr = w.filemgr;
	creating = false;
	makeUI();
	}

	AttributeEditor(AttributesWindow w)
	{
	attrwin = w;
	attr = new FileAttribute("", "");
	filemgr = w.filemgr;
	creating = true;
	makeUI();
	}

	void makeUI()
	{
	setTitle(filemgr.text(creating ? "attr_create" : "attr_edit"));
	setLayout(new BorderLayout());

	Panel top = new Panel();
	top.setLayout(new GridLayout(1, 2));
	top.add(new Label(filemgr.text("attr_name")));
	top.add(name = new TextField(attr.name, 20));
	add("North", top);

	Panel mid = new Panel();
	mid.setLayout(new GridLayout(1, 2));
	mid.add(new Label(filemgr.text("attr_value")));
	mid.add(value = new TextArea(attr.value, 5, 20));
	add("Center", mid);

	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				  filemgr.text("save"),
				  CbButton.LEFT, this));
	if (!creating)
		bot.add(del = new CbButton(filemgr.get_image("cancel.gif"),
					   filemgr.text("delete"),
					   CbButton.LEFT, this));
	add("South", bot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		// Update or add the attribute
		if (name.getText().length() == 0) {
			new ErrorWindow(filemgr.text("attr_ename"));
			return;
			}
		attr.name = name.getText();
		attr.value = value.getText();
		if (creating) {
			// Add to the attribs table
			attrwin.attrlist.addElement(attr);
			attrwin.attrtable.addItem(attr.getRow());
			}
		else {
			// Update the table
			int idx = attrwin.attrlist.indexOf(attr);
			attrwin.attrtable.modifyItem(attr.getRow(), idx);
			}
		dispose();
		}
	else if (b == del) {
		// Remove this entry
		int idx = attrwin.attrlist.indexOf(attr);
		attrwin.attrlist.removeElementAt(idx);
		attrwin.attrtable.deleteItem(idx);
		dispose();
		}
	}

	public void dispose()
	{
	attrwin.edmap.remove(attr);
	super.dispose();
	}
}

class EXTWindow extends FixedFrame implements CbButtonCallback
{
	FileManager filemgr;
	RemoteFile file;

	CbButton ok, cancel;
	Checkbox cbs[];

	String attrs[] = { "A", "a", "c", "d", "i", "s", "S", "u" };
	Hashtable attrmap = new Hashtable();

	EXTWindow(FileManager p, RemoteFile f)
	{
	super();
	setTitle(p.text("ext_title", f.path));
	filemgr = p;
	file = f;

	// Get the attributes
	String a[] = filemgr.get_text(
			"getext.cgi?file="+filemgr.urlize(file.path));
	if (a[0].length() != 0) {
		new ErrorWindow(filemgr.text("ext_eattrs", a[0]));
		return;
		}
	for(int i=0; i<a[1].length(); i++)
		attrmap.put(a[1].substring(i, i+1), "");

	// Create the UI
	setLayout(new BorderLayout());
	Panel top = new LinedPanel(filemgr.text("ext_header"));
	top.setLayout(new GridLayout(0, 1));
	cbs = new Checkbox[attrs.length];
	for(int i=0; i<attrs.length; i++) {
		cbs[i] = new Checkbox(filemgr.text("eattr_"+attrs[i]));
		cbs[i].setState(attrmap.get(attrs[i]) != null);
		top.add(cbs[i]);
		}
	add("Center", top);

	Panel bot = new Panel();
	bot.setLayout(new FlowLayout(FlowLayout.RIGHT));
	bot.add(ok = new CbButton(filemgr.get_image("save.gif"),
				  filemgr.text("save"),
				  CbButton.LEFT, this));
	bot.add(cancel = new CbButton(filemgr.get_image("cancel.gif"),
				      filemgr.text("cancel"),
				      CbButton.LEFT, this));
	add("South", bot);

	pack();
	show();
	}

	public void click(CbButton b)
	{
	if (b == ok) {
		// Save the attributes (including unknown ones)
		String astr = "";
		for(int i=0; i<cbs.length; i++) {
			if (cbs[i].getState())
				astr += attrs[i];
			attrmap.remove(attrs[i]);
			}
		for(Enumeration e = attrmap.keys(); e.hasMoreElements(); )
			astr += e.nextElement();

		// Try to set on the server
		String rv[] = filemgr.get_text("setext.cgi?file="+
				filemgr.urlize(file.path)+"&attrs="+astr);
		if (rv[0].length() > 0)
			new ErrorWindow(filemgr.text("ext_efailed",
				file.path, rv[0]));
		else
			dispose();
		}
	else if (b == cancel) {
		dispose();
		}
	}
}

0707010000eb67000081a40000000000000002000000013d1fe2d5000007f0000000200000000000000000000000000000001a00000003reloc/file/FileNode.class Êþº¾  - ¥    ^ _ ` a b e f g h j k m n o p v w } ~  €  ‚ ƒ „ … † • – —
  :
   :
  ;
   <	  =
  >	  ?
   @	  A
  B	  C
   D	  E
  F	  G	  H	  I	  I
  J
  K
   L
  M
   N	  O	  P ] R ] W Š X ‹ { Œ [ Ž s  U  t ’ \ “ x ” Y ˜ ˆ ™ T š y › z œ r  Z ž R Ÿ R ¡ S ¢ Q £ y ¤ q ()I ()V ()Z ()[LRemoteFile; (I)Ljava/lang/Object; (LFileNode;)V (LRemoteFile;)V (Ljava/lang/Object;)V (Ljava/lang/Object;I)V 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/String;)I $(Ljava/lang/String;)Ljava/awt/Image; <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 	Hierarchy HierarchyNode I LFileManager; LHierarchy; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Image; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile Z add 
addElement ch 	compareTo dir.gif dirs 	elementAt file fill 	get_image im insertElementAt java/lang/String java/util/Hashtable java/util/Vector known list name nodemap parent put redraw removeAllElements sdir.gif shared size text type          œ r      t     ˜ ˆ      ] W  c        K*· !*+µ )*+´ 2µ 1**´ 1+¶ 6™ § ¶ *µ +*»  Y· "µ %*+´ /µ 8*´ 1´ 0+*¶ 3W±    u   "     	  * 5 = J   ‘ R  c   “     S*´ -š N*´ )¶ .L+Ç ±*´ %¶ 5=§  +2´ 9š *´ %» Y+2· #¶ $„+¾¡ÿà*´ 1´ '¶ 4*µ -±    u   .       ! "  # )$ :" C% M& R   ‰ V  c   {     K=§ =*´ %¶ 7  § *´ %¶ (À N-Æ -´ 8+´ 8¶ &ž *´ %+¶ ,±„*´ %¶ 7¤ÿ¾±    u      , -  . 2/ ;0 <, J*  ‡    l0707010000eb68000081a40000000000000002000000013d1fe2d600000578000000200000000000000000000000000000001c00000003reloc/file/FileSystem.class   Êþº¾  - v B C E F G H I L M N O Q R T U W X [ \ ] ^ _ ` a b c d f o p q
  .
  /
  0	  1	  2
  3	  4
  5	  6	  7
  8
  8	  9	  : D = D @ D A i g j g k ; l Y m > n g r Y s < t h u Y ()I ()Ljava/lang/String; ()V (Ljava/lang/Object;)Z (Ljava/lang/String;)V (Ljava/lang/String;C)V '(Ljava/lang/String;Ljava/lang/String;)V , 1 <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile StringSplitter Z [Ljava/lang/String; acls attrs countTokens dev equals ext java/lang/Object java/lang/String java/util/StringTokenizer mount 	nextToken opts type          r Y     l Y     u Y     t h     i g     j g     n g      D ?  J   Û     ‹*·  » Y+ · !M*,¶ *µ )*,¶ *µ &*,¶ *µ -,¶ *N*,¶ *¶ 'µ #*,¶ *¶ 'µ $*,¶ *¶ 'µ (» Y-· ":*¶ %½ µ ,6§ *´ ,¶ +S„*´ ,¾¡ÿê±    V   >   	 	 	‚ 	ƒ 	„ '	… ,	† 9	‡ F	ˆ S	Š _	‹ k	Œ q	 }	Œ Š	  e    S0707010000eb69000081a40000000000000002000000013d1fe2d600000451000000200000000000000000000000000000001c00000003reloc/file/FixedFrame.class   Êþº¾  - Q 3 ; A B C D E F G
  
  
  
  
  
  	   	  !	  "
  #
  #
  $	  %
 	 &	  '	  (	  ) / , / - < , = + > . ? 5 @ 5 H 5 I + J - K 5 M * N 8 O 7 P 5 ()D ()Ljava/awt/Dimension; ()V (II)V (Ljava/awt/Event;)Z <init> Code ConstantValue 
Exceptions 
FixedFrame FixedFrame.java I LineNumberTable Ljava/awt/Toolkit; Ljava/lang/Object; LocalVariables 
SourceFile Util dispose getScreenSize handleEvent height id java/awt/Component java/awt/Container java/awt/Dimension java/awt/Event java/awt/Frame java/awt/Toolkit java/lang/Math mh minimumSize move mw preferredSize random target tk width !        K 5     H 5     / ,  0   V     .*· ² ¶ L¸ I¸ 9*+´ l‡(kŽ+´ l‡kŽ¶ ±    6         
     -   / -  0   /     *· 
*µ *µ ±    6             > .  0   B     +´ *¦ +´  É  	*¶ ¬*+· ¬    6               I +  0   ?     #*´ ™ *´ ™ » Y*´ *´ · °*· °    6   
       !  L +  0        *¶ °    6       &  :    4   0707010000eb6a000081a40000000000000002000000013d1fe2d6000002bd000000200000000000000000000000000000001b00000003reloc/file/FixedFrame.java    import java.awt.*;
import java.io.*;

public class FixedFrame extends Frame
{
	int mw = 0, mh = 0;

	public FixedFrame()
	{
	Dimension d = Util.tk.getScreenSize();
	double rx = Math.random(), ry = Math.random();
	move((int)((d.width/2)*rx), (int)((d.height/2)*ry));
	}

	public FixedFrame(int w, int h)
	{
	this();
	mw = w; mh = h;
	}

	public boolean handleEvent(Event evt)
	{
	if (evt.target == this && evt.id == Event.WINDOW_DESTROY) {
		dispose();
		return true;
		}
	return super.handleEvent(evt);
	}

	public Dimension minimumSize()
	{
	if (mw != 0 && mh != 0) return new Dimension(mw, mh);
	else return super.minimumSize();
	}

	public Dimension preferredSize()
	{
	return minimumSize();
	}
}

   0707010000eb6b000081a40000000000000002000000013d1fe2d500000278000000200000000000000000000000000000001b00000003reloc/file/GrayPanel.class    Êþº¾  - 1  ' ( ) * +
  
  	  	  
  
  	     %  &   , " .  /  0   ()Ljava/awt/Dimension; ()V (IIII)V (Ljava/awt/Color;)V (Ljava/awt/Graphics;)V <init> Code ConstantValue 
Exceptions 	GrayPanel GrayPanel.java I LineNumberTable Ljava/awt/Color; LocalVariables 
SourceFile fillRect height java/awt/Color java/awt/Component java/awt/Dimension java/awt/Graphics java/awt/Panel 	lightGray paint setColor size width !         -      <     +² 
¶ +*¶ ´ *¶ ´ 	¶ ±    !                        *· ±    !         $    0707010000eb6c000081a40000000000000002000000013d1fe2d5000000b1000000200000000000000000000000000000001a00000003reloc/file/GrayPanel.java import java.awt.*;;

public class GrayPanel extends Panel
{
	public void paint(Graphics g)
	{
	g.setColor(Color.lightGray);
	g.fillRect(0, 0, size().width, size().height);
	}
}
   0707010000eb6d000081a40000000000000002000000013d1fe2d60000167b000000200000000000000000000000000000001b00000003reloc/file/Hierarchy.class    Êþº¾  -? ç õ! Î Ï Ð Ô Ö ×	

  e
 
 f
  g
  h
  i
  j
  k	  l	  m	 
 n	  o	  p	  q	 	 r  s  t
  u
  v
  w  x
  y
  z
  {
  |
  }	  ~
  
  €
  
  
  ‚
  ƒ
  „	  …	 	 †	  ‡
  ˆ	  ‰	  Š	 
 ‹
  Œ
  
  Ž
  	 	   ‘
  ’
  ’
  “
  ”
  •
  –
  —
  —	  ˜	  ™	  š	  ›	  œ
  
  ž
  Ÿ
   
  ¡
  ¢
  £	 	 ¤	  ¥	  ¥	  ¦	 
 §	  ¨	  ¨	 	 ©	 	 ª      ô Í ± Í µ Í · Í ¸ Í ½ Í Ë é Â ê à ë á ì Þ í Ø î è ï Û ð ä ñ º ò º ó ± ô ¼ ö ´ ÷ º ø Æ ù ¶ ú Ë û ² ü ¶ ý ß þ « ÿ ®  ¯ « É « Ø á â ° Ù Ø Þ ³ ­ ¹ ¾ è  º" Å# ¿$ ±% ±& ±' ¶( Ø) Ü* Ú+ Ø, Ü/ Á0 Ä1 Ç3 µ4 «5 Ê6 È7 ã8 Ø: Ù; Þ< Ø= Ø> Ø ()I ()LHierarchyNode; ()Ljava/awt/Dimension; ()Ljava/awt/FontMetrics; ()Ljava/awt/Graphics; ()Ljava/awt/Insets; ()V (I)Ljava/lang/Object; (II)I (II)Ljava/awt/Image; (III)V (IIII)V (ILCbScrollbarCallback;)V $(ILjava/awt/Color;Ljava/awt/Color;)V (LCbScrollbar;I)V (LHierarchy;LHierarchyNode;)V (LHierarchyCallback;)V (LHierarchyNode;)I (LHierarchyNode;)V "(LHierarchyNode;II)LHierarchyNode; (LHierarchyNode;IIII)I %(LHierarchyNode;LHierarchyCallback;)V (Ljava/awt/Color;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Event;II)Z (Ljava/awt/Font;)V (Ljava/awt/Graphics;)V 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z (Ljava/awt/LayoutManager;)V (Ljava/lang/String;)I &(Ljava/lang/String;)Ljava/lang/String; (Ljava/lang/String;)Z (Ljava/lang/String;II)V <clinit> <init> BorderPanel CbScrollbar CbScrollbarCallback Code ConstantValue 
Exceptions 	Hierarchy Hierarchy.java HierarchyCallback HierarchyNode I J LCbScrollbar; LHierarchyCallback; LHierarchyNode; LineNumberTable Ljava/awt/Color; Ljava/awt/FontMetrics; Ljava/awt/Graphics; Ljava/awt/Image; Ljava/awt/Insets; Ljava/lang/String; Ljava/util/Vector; LocalVariables 
SourceFile Windows Z add bg bim black bottom 
broken_awt callback ch 	clickNode 	closeNode 
compscroll count courier createImage 
doubleNode 	drawImage drawLine 
drawString 	elementAt fillRect fnm 	getAscent getFontMetrics getGraphics 	getHeight getProperty getValue height im in insets java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/Event java/awt/Font java/awt/FontMetrics java/awt/Graphics java/awt/Image java/awt/Insets java/lang/Math java/lang/String java/lang/System java/util/Vector last left 	lightGray min minimumSize 	mouseDown moved moving nodeat open openNode os.name paint recurse redraw render repaint reshape right root sb sbwidth sel select selected setColor setFont 	setLayout setRoot 	setValues size 
startsWith stringWidth text top update when white width x y !       ) Ü    * Ú    < Ø     Ø    + Ø     ï Û     ë á     ý ß     ê à    8 Ø     ô Ø     â    , Ü     Ù    î è      Í ½  Ñ   *     
*· *+µ O±    Ý          	    Í À  Ñ   +     *+· *,µ $±    Ý       %  & 
 #   Í ±  Ñ   f     >*» 
Y222· » 
Y Ü Ü Ü· · *¶ U*» Y*· µ P**´ P¶ W±    Ý       , " / ' 0 4 1 = *   Í »  Ñ   *     
*· *+µ $±    Ý       8  9 	 6  $ ±  Ñ   @     *´ 1Æ *· J**¶ 4¶ G*· (±    Ý       A  B  C  D  ?  2 ½  Ñ   *     
*+µ O*¶ I±    Ý       L  M 	 J  . ¬  Ñ        *´ R°    Ý       T  - ½  Ñ   "     *+µ R±    Ý   
    [  Y ' ¶  Ñ   »     **¶ <µ ;**´ P¶ A´ `µ Q**´ Qd*´ ;´ >*´ ;´ N`dµ _**´ ;´ \*´ ;´ "`dµ 9*´ P*´ _*´ ;´ >`*´ ;´ \*´ Q*´ 9¶ L*µ  *¶ K*· (*· M±    Ý   * 
   b  c  d 0 e F f h i m j q k u m ~ ` 9 Å  Ñ   *     
*· J*+¶ G±    Ý       t  u 	 r " Å  Ñ   ¢     f*+· F*´  Ç D***´ _*´ 9¶ *µ  **´  ¶ 5µ *´ » Y· ¶ T**´ ¶ 3µ 1*· J*· (+*´  *´ ;´ >*´ ;´ \*¶ ,W±    Ý   * 
   |  }    € '  : ‚ E ƒ I „ M † e z  Ã  Ñ  e     í*´ OÇ ¬**´ Oll*´ [`· C:Ç *µ R*¶ K¬6+´ ]*´ =e c”œ *´ R¦ 	6§ *+´ ]µ =*µ R™ V*´ R´ %Æ L*´ R*´ R´ D™ § µ D*´ $Æ Z*´ R´ D™ *´ $**´ R¹ E § ?*´ $**´ R¹ ' § .*´ $Æ '™ *´ $**´ R¹ + § *´ $**´ R¹ & *· (*¶ K¬    Ý   f      Ž 	     % ’ * “ . ” 0 ˜ 3 ™ L š O ™ R œ Z  ` Ÿ o ¡ … ¢ Œ ¥ § ¦ µ Ÿ ¸ © ¿ « Õ ¬ ã ® ç ¯ ë °  ¹  Ñ   #     *+¶ B±    Ý   
    µ  ³  ¹  Ñ   8     **´ P¶ 8µ [*· (*¶ K±    Ý       º  »  ¼  ¸ % ±  Ñ   Ž     R*´ 1Æ M*´ 1¶ 6<*´ 1¶ 2=*´ ² ^¶ S*´ *´ _*´ 9¶ 0*´ OÇ ±*´ ² !¶ S**´ O· HW±    Ý   * 
   Ã  Ä  Å  Æ ! Ç 2 È 9 É : Ê D Ë Q Á # ¿  Ñ      €h6*´ [dh66+µ a+µ b*´ 1+´ Z¶ Y6	› k*´ 9£ b+´ :Æ *´ +´ :*¶ ,W*´ R+¦ -*´ ² ?¶ S*´ ``	`¶ 0*´ ² !¶ S*´ +´ Z``¶ .+´ %Æ á+´ D™ Ú*´ 9£ Ñ*´ ```	``¶ -„6
§ •*+´ %
¶ /À 	``· H6*´ ````¶ -
+´ %¶ Wd  *´ ```¶ -§  *´ ``h`d¶ -`6h`6„

+´ %¶ W¢ *´ 9¤ÿ\¬    Ý   v    Õ  Ö  Ø  Ù  Ú + Û 9 Ý @ Þ Q ß Y á c â y ã ƒ å ˜ ç ¯ é Í ì Ð í Ö î ã ï î î ó ð ñ ò4 ñ7 ôT õ[ öe í} ù  ó ±  Ñ   l     @*´ 1Ç ±*´ OÆ **´ O· )§ <*´ 9ld¸ @=*´ P*´ [š § ¶ V±    Ý           * ? þ  ô ¼  Ñ   c     7=+´ D™ /+´ %Æ (>§ *+´ %¶ /À 	· )`=„+´ %¶ W¡ÿã¬    Ý          ' 5  ¾  Ñ        U+´ b  +´ a¡ +°+´ %Æ 
+´ Dš °6§ "*+´ %¶ /À 	· C:Æ °„+´ %¶ W¡ÿØ°    Ý   & 	       " ( < D S!  Ì ±  Ñ   2      ¸ 7¶ X³ #±    Ý          
     æ    Õ 0707010000eb6e000081a40000000000000002000000013d1fe2d600001dcb000000200000000000000000000000000000001a00000003reloc/file/Hierarchy.java // Hierarchy
// An AWT component for displaying a tree-like heirachy, with each node
// having an icon and a name. This heirachy can be expanded or contracted
// by the user.
import java.awt.*;
import java.util.Vector;

public class Hierarchy extends BorderPanel implements CbScrollbarCallback
{
	HierarchyNode root;		// the root of the tree
	CbScrollbar sb;			// scrollbar at right
	int width, height;		// usable drawing area
	int sbwidth;			// size of scrollbar
	HierarchyCallback callback;	// who to call on open / close
	Image bim;			// double-buffer image
	FontMetrics fnm;		// size of font used
	Graphics bg;			// back-images graphics
	int top = 0;			// top-most row displayed
	int count = 0;			// total rows in the tree
	Insets in;			// insets from border
	HierarchyNode sel;		// selected node
	long last;			// time of last mouse click
	static boolean broken_awt = System.getProperty("os.name").
				    startsWith("Windows");

	// Create a new Hierarchy object with the given root
	Hierarchy(HierarchyNode r)
	{
	this();
	root = r;
	}

	// Create a new Hierarchy object that calls back to the given object
	// when nodes are clicked on.
	Hierarchy(HierarchyNode r, HierarchyCallback c)
	{
	this(r);
	callback = c;
	}

	// Create an empty hierarchy object, with no callback
	Hierarchy()
	{
	super(3, new Color(50,50,50), new Color(220,220,220));

	// Create UI
	setLayout(null);
	sb = new CbScrollbar(CbScrollbar.VERTICAL, this);
	add(sb);
	}

	// Create an empty hierarchy object, set to report user actions to
	// the given object.
	Hierarchy(HierarchyCallback c)
	{
	this();
	callback = c;
	}

	// redraw
	// Called by the using class when the tree passed to this object
	// changes, to force a redraw and resizing of the scrollbar
	void redraw()
	{
	if (fnm != null) {
		render();
		paint(getGraphics());
		compscroll();
		}
	}

	// setRoot
	// Set the root node for this hierarchy
	void setRoot(HierarchyNode r)
	{
	root = r;
	redraw();
	}

	// selected
	// Return the currently selected node, or null
	HierarchyNode selected()
	{
	return sel;
	}

	// select
	// Send the given node
	void select(HierarchyNode s)
	{
	sel = s;
	}

	// reshape
	// Called when this component gets resized
	public void reshape(int nx, int ny, int nw, int nh)
	{
	in = insets();
	sbwidth = sb.minimumSize().width;
	width = nw-sbwidth - (in.left + in.right);
	height = nh - (in.top + in.bottom);
	sb.reshape(width+in.left, in.top, sbwidth, height);

	// force creation of a new backing images
	bim = null;
	repaint();
	compscroll();

	super.reshape(nx, ny, nw, nh);
	}

	// update
	// Called sometime after repaint()
	public void update(Graphics g)
	{
	render();
	paint(g);
	}

	// paint
	// Blit the backing image to the front
	public void paint(Graphics g)
	{
	super.paint(g);
	if (bim == null) {
		// This is the first rendering
		bim = createImage(width, height);
		bg = bim.getGraphics();
		bg.setFont(new Font("courier", Font.PLAIN, 12));
		fnm = bg.getFontMetrics();
		render();
		compscroll();
		}
	g.drawImage(bim, in.left, in.top, this);
	}

	// mouseDown
	// Called upon a mouseclick
	public boolean mouseDown(Event evt, int x, int y)
	{
	if (root == null)
		return false;		// nothing to do
	HierarchyNode s = nodeat(root, x/16, (y/16)+top);
	if (s == null) {
		// Just deselect
		sel = null;
		repaint();
		return true;
		}

	// Check for double-click
	boolean dc = false;
	if (evt.when-last < 500 && sel == s)
		dc = true;
	else
		last = evt.when;
	sel = s;

	if (dc && sel.ch != null) {
		// Open or close this node
		sel.open = !sel.open;
		if (callback != null) {
			// Notify callback, which MAY do something to change
			// the structure of the tree
			if (sel.open) callback.openNode(this, sel);
			else	      callback.closeNode(this, sel);
			}
		}
	else if (callback != null) {
		// Single click on a node or double-click on leaf node
		if (dc) callback.doubleNode(this, sel);
		else    callback.clickNode(this, sel);
		}
	compscroll();
	repaint();
	return true;
	}

	public void moved(CbScrollbar s, int v)
	{
	moving(s, v);
	}

	public void moving(CbScrollbar s, int v)
	{
	top = sb.getValue();
	compscroll();
	repaint();
	}

	// render
	// Draw the current tree view into the backing image
	private void render()
	{
	if (fnm != null) {
		int fh = fnm.getHeight(),	// useful font metrics
		    fa = fnm.getAscent();
		bg.setColor(Color.white);
		bg.fillRect(0, 0, width, height);
		if (root == null)
			return;		// nothing to do
		bg.setColor(Color.black);
		recurse(root, 0, 0, fh, fa);
		}
	}

	// recurse
	// Render a node in the tree at the given location, maybe followed
	// by all it's children. Return the number of rows this node took
	// to display.
	private int recurse(HierarchyNode n, int x, int y, int fh, int fa)
	{
	int xx = x*16, yy = (y-top)*16;
	int len = 1;

	n.x = x;
	n.y = y;
	int tw = fnm.stringWidth(n.text);
	if (yy >= 0 && yy <= height) {
		// Draw this node
		if (n.im != null)
			bg.drawImage(n.im, xx, yy, this);
		if (sel == n) {
			// Select this node
			bg.setColor(Color.lightGray);
			bg.fillRect(xx+17, yy+2, tw+2, 13);
			bg.setColor(Color.black);
			}
		bg.drawString(n.text, xx+18, yy+12);
		}
	if (n.ch != null && n.open && yy <= height) {
		// Mark this node
		bg.drawLine(xx+18, yy+14, xx+17+tw, yy+14);

		// Draw subnodes
		yy += 16;
		for(int i=0; i<n.ch.size() && yy<=height; i++) {
			int l=recurse((HierarchyNode)n.ch.elementAt(i),
				      x+1, y+len, fh, fa);
			bg.drawLine(xx+7, yy+7, xx+15, yy+7);
			if (i == n.ch.size()-1)
				bg.drawLine(xx+7, yy, xx+7, yy+7);
			else
				bg.drawLine(xx+7, yy, xx+7,yy+(l*16)-1);
			len += l;
			yy += l*16;
			}
		}
	return len;
	}

	// compscroll
	// Re-compute scrollbar size
	private void compscroll()
	{
	if (fnm == null)
		return;
	int ct = root!=null ? count(root) : 1;
	int r = Math.min(ct, height/16 - 1);
	int c = ct - r;
	//sb.setValues(top, r==0?1:r, c<0?0:c);
	sb.setValues(top, r==0?1:r, ct);
	}

	// count
	// Returns the number of visible rows from a node
	private int count(HierarchyNode n)
	{
	int l = 1;
	if (n.open && n.ch != null)
		for(int i=0; i<n.ch.size(); i++)
			l += count((HierarchyNode)n.ch.elementAt(i));
	return l;
	}

	// nodeat
	// Is the given node at the given position? If not, check its
	// children too.
	private HierarchyNode nodeat(HierarchyNode n, int x, int y)
	{
	if (y == n.y && x >= n.x)
		return n;
	if (n.ch == null || !n.open)
		return null;
	for(int i=0; i<n.ch.size(); i++) {
		HierarchyNode c = nodeat((HierarchyNode)n.ch.elementAt(i),x,y);
		if (c != null) return c;
		}
	return null;
	}
}

// HierarchyNode
// One node in the tree displayed by the Hierarchy object.
class HierarchyNode
{
	boolean open;		// is this node open?
	Image im;		// icon for this node (assumed to be 16x16!)
	Vector ch;		// sub-nodes of this one, or null
	String text;		// name of this node
	int x, y;		// row/column in list

	HierarchyNode() { }

	HierarchyNode(boolean o, Image i, Vector c, String t)
	{
	open = o;
	im = i;
	ch = c;
	text = t;
	}
}

// HierarchyCallback
// Programmers using the Hierarchy class pass an object that implements the
// HierarchyCallback interface to its constructor, to receive information
// about user actions.
interface HierarchyCallback
{
	// openNode
	// Called when a node with children is opened
	void openNode(Hierarchy h, HierarchyNode n);

	// closeNode
	// Called when a node is closed
	void closeNode(Hierarchy h, HierarchyNode n);

	// clickNode
	// Called when the user clicks on a node
	void clickNode(Hierarchy h, HierarchyNode n);

	// doubleNode
	// Called when a user double-clicks on a node
	void doubleNode(Hierarchy h, HierarchyNode n);
}

 0707010000eb6f000081a40000000000000002000000013d1fe2d600000144000000200000000000000000000000000000002300000003reloc/file/HierarchyCallback.class    Êþº¾  -  	    (LHierarchy;LHierarchyNode;)V Code ConstantValue 
Exceptions 	Hierarchy Hierarchy.java HierarchyCallback HierarchyNode LineNumberTable LocalVariables 
SourceFile 	clickNode 	closeNode 
doubleNode java/lang/Object openNode                              
0707010000eb70000081a40000000000000002000000013d1fe2d600000264000000200000000000000000000000000000001f00000003reloc/file/HierarchyNode.class    Êþº¾  - (    #
  
	  	  	  	     !  "  $   %  ()V 8(ZLjava/awt/Image;Ljava/util/Vector;Ljava/lang/String;)V <init> Code ConstantValue 
Exceptions 	Hierarchy Hierarchy.java HierarchyCallback HierarchyNode I LineNumberTable Ljava/awt/Image; Ljava/lang/String; Ljava/util/Vector; LocalVariables 
SourceFile Z ch im java/lang/Object open text x y          $       "      !      %      &      '                  *· ±          /         F     *· *µ *,µ *-µ *µ 	±          1 3 	4 5 6 1      0707010000eb71000081a40000000000000002000000013d1fe2d50000072e000000200000000000000000000000000000002100000003reloc/file/LineInputStream.class  Êþº¾  - [ > L M N O P Q
  
  
  
  
  
   
  !	  "
  #
  $
  %
  &
  '
  '
  (
  )
  )
  *
  +
  ,
  - : 0 D 2 E . F 4 G 0 J A K 3 R . S 5 T 1 U . U 8 U 9 W 0 X 5 Y 6 Z / ()I ()Ljava/lang/String; ()V ()Z (C)Ljava/lang/StringBuffer; (C)Z (I)C (I)V (J)J (Ljava/io/InputStream;)V ([B)I ([BII)I <init> Code ConstantValue 
Exceptions LineInputStream LineInputStream.java LineNumberTable Ljava/io/InputStream; LocalVariables 
SourceFile append 	available charAt close gets getw in isSpace java/io/EOFException java/io/IOException java/io/InputStream java/lang/Character java/lang/Object java/lang/StringBuffer length mark markSupported read readdata reset 	setLength skip toString !        J A      : 7  ;   *     
*· 	*+µ ±    @          	    : 0  ;        *· 	±    @         U .  ;         *´ ¶ ¬    @        =       U 8  ;   !     	*´ +¶ ¬    @        =       U 9  ;   #     *´ +¶ ¬    @        =       Y 6  ;   !     	*´ ¶ ­    @        =       E .  ;         *´ ¶ ¬    @        =       G 0  ;   $     *´ ¶ ±    @   
       =      ! S 5  ;   %     	*´ ¶ ±    @   
       ! W 0  ;   $     *´ ¶ ±    @   
    !    =       T 1  ;         *´ ¶ ¬    @       #   H /  ;   ƒ     O» Y· 
L§   » Y· ¿+’¶ W*¶ Y=
 ÿä+¶ ™ ++¶ d¶   ++¶ d¶ +¶ °    @   "    )  +  ,  -  + * / @ 0 J 1 =         I /  ;   x     H» Y· 
L*¶ Y=  » Y· ¿’¸ šÿé+’¶ W*¶ Y=  » Y· ¿’¸ ™ÿâ+¶ °    @       8  <  = " @ ) A ; B C C =        V 8  ;   C     =§ *++¾d¶ `=+¾¡ÿð+¾¬    @       K  L  M  L  N =        C    ?  0707010000eb72000081e40000000000000002000000013d1fe2d60000084f000000200000000000000000000000000000002000000003reloc/file/LineInputStream.java   // LineInputStream
// A stream with some useful stdio-like methods. Can be used either for
// inheriting those methods into your own input stream, or for adding them
// to some input stream.
import java.io.InputStream;
import java.io.IOException;
import java.io.EOFException;

public class LineInputStream 
{
	InputStream in;

	LineInputStream(InputStream i)
		{ in = i; }
	LineInputStream()
		{ }

	public int read() throws IOException
		{ return in.read(); }
	public int read(byte b[]) throws IOException
		{ return in.read(b); }
	public int read(byte b[], int o, int l) throws IOException
		{ return in.read(b, o, l); }
	public long skip(long n) throws IOException
		{ return in.skip(n); }
	public int available() throws IOException
		{ return in.available(); }
	public void close() throws IOException
		{ in.close(); }
	public synchronized void mark(int readlimit)
		{ in.mark(readlimit); }
	public synchronized void reset() throws IOException
		{ in.reset(); }
	public boolean markSupported()
		{ return in.markSupported(); }

	// gets
	// Read a line and return it (minus the \n)
	String gets() throws IOException, EOFException
	{
	StringBuffer buf = new StringBuffer();
	int b;
	while((b = read()) != '\n') {
		if (b == -1) throw new EOFException();
		buf.append((char)b);
		}
	if (buf.length() != 0 && buf.charAt(buf.length()-1) == '\r')
		buf.setLength(buf.length()-1);	// lose \r
	return buf.toString();
	}

	// getw
	// Read a single word, surrounded by whitespace
	String getw() throws IOException, EOFException
	{
	StringBuffer buf = new StringBuffer();
	// skip spaces
	int b;
	do {
		if ((b = read()) == -1) throw new EOFException();
		} while(Character.isSpace((char)b));
	// add characters
	do {
		buf.append((char)b);
		if ((b = read()) == -1) throw new EOFException();
		} while(!Character.isSpace((char)b));
	return buf.toString();
	}

	// readdata
	// Fill the given array completely, even if read() only reads
	// some max number of bytes at a time.
	public int readdata(byte b[]) throws IOException, EOFException
	{
	int p = 0;
	while(p < b.length)
		p += read(b, p, b.length-p);
	return b.length;
	}
}

 0707010000eb73000081a40000000000000002000000013d1fe2d500000548000000200000000000000000000000000000001c00000003reloc/file/LinedPanel.class   Êþº¾  - Y < J K L M N O P Q
 	 
  	  
  
  
  
   
  !	  "
  #
  $
  %
  &	  '	  (	  ) 6 / 6 0 B > C 0 D 5 E * F , G - H : R 2 S 1 T + U 3 V ? W > X : ()I ()Ljava/awt/Dimension; ()Ljava/awt/Font; ()Ljava/awt/FontMetrics; ()Ljava/awt/Insets; ()V (IIII)V (Ljava/awt/Color;)V (Ljava/awt/Graphics;)V (Ljava/lang/String;)I (Ljava/lang/String;)V (Ljava/lang/String;II)V <init> Code ConstantValue 
Exceptions I LineNumberTable 
LinedPanel LinedPanel.java Ljava/awt/Color; Ljava/lang/String; LocalVariables 
SourceFile black drawLine 
drawString 	getAscent getFont getFontMetrics height insets java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/FontMetrics java/awt/Graphics java/awt/Insets java/awt/Panel paint setColor size stringWidth title white width    	      V ?      6 4  7   *     
*· 
*+µ ±    ;         	 	   R 2  7       Å*+· +¶ W+¶ M*¶ ´ d>*¶ ´ d6,*´ ¶ 6+² ¶ +d¶ +ddd¶ +ddd¶ +	`d¶ +² ¶ +d¶ +ddd¶ +ddd¶ +d	`¶ +*´ ,¶ ¶ ±    ;   F       
    $  .  5  @  P  _  m  t  €  ”  §  ¶  Ä   I .  7   (     » Y


· °    ;       $  A    =0707010000eb74000081a40000000000000002000000013d1fe2d6000002c8000000200000000000000000000000000000001b00000003reloc/file/LinedPanel.java    import java.awt.*;

class LinedPanel extends Panel
{
	String title;

	LinedPanel(String t)
	{
	title = t;
	}

	public void paint(Graphics g)
	{
	super.paint(g);
	Font f = g.getFont();
	FontMetrics fnm = g.getFontMetrics();
	int w = size().width-1, h = size().height - 1;
	int tl = fnm.stringWidth(title);

	g.setColor(Color.white);
	g.drawLine(5, 5, 5, h-5);
	g.drawLine(5, h-5, w-5, h-5);
	g.drawLine(w-5, h-5, w-5, 5);
	g.drawLine(tl+9, 5, w-5, 5);

	g.setColor(Color.black);
	g.drawLine(4, 4, 4, h-6);
	g.drawLine(6, h-6, w-6, h-6);
	g.drawLine(w-6, h-6, w-6, 6);
	g.drawLine(w-6, 4, tl+9, 4);
	g.drawString(title, 7, fnm.getAscent());
	}

	public Insets insets()
	{
	return new Insets(15, 10, 10, 10);
	}
}

0707010000eb75000081a40000000000000002000000013d1fe2d500000e65000000200000000000000000000000000000001c00000003reloc/file/LinkWindow.class   Êþº¾  - Ž « ´ Ö × Ú Û Þ ÷ ø ù ú û ü þ ­ ® ¯ ° ± ² ³ · ¸ ¹ º » ½ ¾ À Á Â Ç È Ë Ì Í Î Ï Ð Ñ Ò Ó Ô é ê ë ì í î ï ð ñ ò ó ô
   f
 - f
 3 f
 5 f
 / g
 1 h
 ( i
  j
  k
 2 k
 8 k
 5 l
 ( m
 . n
 . o
 8 p	 ! q	 ! r
 0 s
 7 t	 ! u
 ( v
  w	 ! x
 4 y
  z
  {
 7 |
 7 }
 6 ~
 4 
 . €
 0 
 6 ‚
  ƒ	  „
 7 …
 7 †
  ‡
  ˆ	 ! ‰
 8 Š
 7 ‹
  Œ
 7  ¬ ‘ ¬ ” ¬ – ¬ ˜ ¬ œ ¬ ¤ ¬ ¦ Ø ™ Ø › Ø ¨ Ù £ Ü Ã ß Ã à ‘ á Ÿ â Ä ã   ä ª å É æ  ç ¡ è ¥ õ ’ ö  ý ‘ ÿ –   ¤ ‘ š Å “ • ¢ © É 	 
 ¢ ž &to= ()I ()Ljava/lang/String; ()V (I)I (I)Ljava/lang/String; (I)V (II)Ljava/lang/String; (II)V (LCbButton;)V .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LRemoteFile;)V (LRemoteFile;)Z *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V "(Ljava/lang/String;LFileManager;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; !(Ljava/lang/String;Z)LRemoteFile; / <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 
LCbButton; LFileManager; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextField; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West add append cancel 
cancel.gif cancel_b click create create_b dispose equals filemgr find find_directory from getText 	get_image get_text java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer lastIndexOf length link_eexists link_efailed 	link_from 
link_title link_to makelink.cgi?from= pack save.gif select 	setLayout setTitle show 
show_files showing_files 	substring text to toString trim urlize valueOf   !        â Ä     å É     É     ß Ã     Ü Ã      ¬ §  µ  Þ    ^*· 9*,µ M*» -Y· :¶ X**´ M¶ _¶ Y» 3Y· ;N» 3Y· ;:-» 1Y· >¶ X-» 2Y*´ M¶ _· B¶ FW-» 2Y*´ M¶ _· B¶ FW» 1Y· >¶ X*» 5Y+¶ L™ § » 8Y+¸ e· C¶ H¶ b(· DZµ P¶ FW*´ P*´ P¶ Q¶ U*´ P¶ Q¶ U¶ W*» 5Y· <Zµ a¶ FW*-¶ GW*¶ GW» 3Y· ;:» /Y· =¶ X*» Y*´ M¶ R*´ M¶ _*· @Zµ J¶ FW*» Y*´ M¶ R*´ M¶ _*· @Zµ I¶ FW*¶ GW*¶ V*¶ Z±    Æ   n   Ò Ô 	Õ Ö !× 2Ø ?Ù TÚ iÛ wÜ ¬Ý ÇÞ Ùß êà óá âãäâ&å6æ?çAåLèUéYê]Ò  Ý —  µ  [  	   ß+*´ J¦ Í*´ P¶ Q¶ cM,/¶ T>,¶ ^:,`¶ ]:*´ M¶ O:Ç ±¶ NÆ » *´ M	,¶ `· A±*´ M» 8Y· C,¸ d¶ H¶ H*´ a¶ Q¸ d¶ H¶ b¶ S:2¶ Už » *´ M
2¶ `· A±» (Y*´ M2· ?:¶ E*´ M*´ M´ \¶ [W*¶ K±+*´ I¦ *¶ K±    Æ   j   ï ñ ò ó "ô +õ 7ö =÷ Gø Wù Xý eþ qÿ ~þ ý †   £ ¤ · ¾ Í Ñï Ò	 Ú
 Þí  Õ    ¿   0707010000eb77000081a40000000000000002000000013d1fe2d50000007a000000200000000000000000000000000000001400000003reloc/file/Makefile   FileManager.class:	FileManager.java
			CLASSPATH=/usr/local/lib/netscape/java/classes/java40.jar:. javac FileManager.java
  0707010000eb76000081a40000000000000002000000013d1fe2d6000007fd000000200000000000000000000000000000001d00000003reloc/file/LinuxExport.class  Êþº¾  - ” H I J K Y [ Ž \ ] ^ _ ` c d e f h i k l n o r s t u v w x y z { } † ‡ ˆ ‰
 # 7
 % 8
 ! 9
 % :
 % ;
 ! <
 $ =
 ! >	  ?
 ! @
 " A	  B	  C	  D
 % E
  F
 $ G Z N Z V Z W  P  U ‚ L ƒ R „ O …  Š M Œ S  p  €  ~ ‘ M ’ T “ Q &count= &host &ro &squash ()I ()Ljava/lang/String; ()V ()Z (I)Ljava/lang/StringBuffer; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z (Ljava/lang/String;)I &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;C)V N(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V 1 <init> = 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile StringSplitter [I [Ljava/lang/String; [Z append countTokens equals hasMoreTokens host java/lang/Integer java/lang/Object java/lang/String java/lang/StringBuffer 	nextToken params parseInt path path= ro squash toString urlize valueOf    #       p     …       €      ~      Z V  a   ¶     n*· &» !Y+:· (M*,¶ /µ 1,¶ +l>*½ $µ .*¼µ 2*¼
µ 36§ /*´ .,¶ /S*´ 2,¶ /¶ ,T*´ 3,¶ /¸ 0O„,¶ -šÿÐ±    m   6        & - 4 : E U c m   Z X  a   *     
*· &*+µ 1±    m        	   ‹ M  a   ì     ´» %Y· '*´ 1¸ 5¶ *¶ **´ .¾¶ )¶ 4L=§ ƒ» %Y+¸ 6· '¶ *¶ )¶ **´ .2¸ 5¶ *¶ 4L» %Y+¸ 6· '¶ *¶ )¶ **´ 23™ § ¶ )¶ 4L» %Y+¸ 6· '¶ *¶ )¶ **´ 3.¶ )¶ 4L„*´ .¾¡ÿz+°    m   & 	  " # #" $$ )% R& €' ¦$ ²)  |    j   0707010000eb78000081a40000000000000002000000013d1fe2d600000e87000000200000000000000000000000000000001d00000003reloc/file/MkdirWindow.class  Êþº¾  - ² » à á ä å è ´ µ ¶ · ¸ ¹ º ¾ ¿ À Á Â Ä Å Ç È É Ê Ð Ñ Õ Ö × Ø Ù Ú Û Ü Ý Þ õ ö ÷ ø ù ú û ü ý þ ÿ 
  h
 , h
 1 h
 . i
 ' j
  k
  l
  m
 0 m
 6 m
 3 n
  o
 ' p
 - q
 - r
 6 s	 " t	 " u	 " v	  w
 / x
 5 y	 " z
 ' {
  |
 7 }
 2 ~
  
  €
 5 
 5 ‚	  ƒ
 4 „
  …
 2 †
 - ‡
 / ˆ
 4 ‰
  Š	  ‹
 5 Œ
 5 
  Ž
  
 6 
  ‘
  ’
 5 “ ³ – ³ ™ ³  ³ Ÿ ³ ¢ ³ « ³ ­ â ž â Ÿ â ¡ â ¯ ã ª æ Ë é Ë ê Ò ë Í ì – í ¦ î Ì ï § ð ± ñ ¤ ò • ó ¨ ô ¬ — ” Ó	 –
 – › £ « –   Î ˜ š © ° • © © ¥ ()I ()Ljava/lang/String; ()V (I)I (I)Ljava/lang/String; (I)V (II)Ljava/lang/String; (II)V (LCbButton;)V .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LFileNode;)V (LRemoteFile;)V (LRemoteFile;)Z *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V "(Ljava/lang/String;LFileManager;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; !(Ljava/lang/String;Z)LRemoteFile; / <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 	Hierarchy 
LCbButton; LFileManager; LHierarchy; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextField; Ljava/util/Hashtable; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West add append cancel 
cancel.gif cancel_b click create create_b dir dirs dispose equals filemgr find find_directory get getText 	get_image get_text java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer java/util/Hashtable lastIndexOf length mkdir.cgi?dir= 	mkdir_dir mkdir_eexists mkdir_efailed mkdir_title nodemap pack redraw save.gif select 	setLayout setTitle show 
show_files showing_files 	substring text toString 	trim_path urlize valueOf   "       î Ì     ê Ò     é Ë     æ Ë      ³ ®  ¼  `     ø*· 8*,µ N**´ N¶ b¶ \*» ,Y· 9¶ [*» 0Y*´ N	¶ b· @¶ FW**» 3Y+¶ M™ § » 6Y+¸ g· A¶ G¶ d(· BZµ J¶ FW*´ J*´ J¶ R¶ V*´ J¶ R¶ V¶ Z» 1Y· :N-» .Y· ;¶ [-*» Y*´ N¶ S*´ N¶ b*· >Zµ I¶ EW-*» Y*´ N¶ S*´ N¶ b*· >Zµ H¶ EW*-¶ FW*¶ X*¶ ]±    Ï   V   • — 	˜ ™ !š 8› nœ ‰ ‘ž Ÿ ¬  µ¡ ·Ÿ Â¢ Ñ£ Ú¤ Ü¢ ç¥ ï¦ ó§ ÷•  ç œ  ¼  k     ë+*´ I¦ á*´ J¶ RM*´ N,¶ eM,/¶ U>*´ N,¶ a¶ P:,`¶ `¶ OÆ » *´ N
,¶ c· ?±*´ N» 6Y· A,¸ f¶ G¶ d¶ T:2¶ Vž » *´ N2¶ c· ?±» 'Y*´ N2· <:¶ D*´ N´ W¶ QÀ :Æ » Y· =¶ C*´ N´ K¶ Y*´ N*´ N´ _¶ ^W*¶ L±*¶ L±    Ï   n   ¬ ® ¯ °  ± $² +± 0³ ?´ Oµ P· ]¸ d· l¹ vº ‰» Š½ ¾ ¤¿ µÀ ºÂ ÈÃ ÒÅ áÆ å¬ æÈ êª  ß    Æ 0707010000eb79000081a40000000000000002000000013d1fe2d600001fd9000000200000000000000000000000000000001d00000003reloc/file/MultiColumn.class  Êþº¾  -y ôr ï ð ñ6789:;<=>?@ABC
  q
  r
 	 s
  t
  u
  v
  w
  x
  y
  z
  {	  |	  }	  ~	 	 	  €	  	  ‚	  ƒ
  „	  …
 
 †	  ‡
 
 ˆ  ‰
  Š
  ‹
  Œ	  
  Ž
 
 	  
  ‘	  ’
  “
  ”
  •
  –
  —
 
 ˜
  ™	  š	  ›
  œ	  	  ž	  Ÿ
   	 	 ¡	  ¢
  £
  ¤
  ¤
  ¥
  ¦
  ¦
 
 §
  ¨
  ©
  ª
 
 «
  ¬
 
 ¬
  ­	  ®	  ¯
  °	  ±	  ²	  ³
  ´
  µ
  ¶
  ·
  ¸
  ¹  º
  »
  ¼
  ½	  ¾	  ¿	  À	  À	  Á	 	 Â	  Ã	  Ã      è î Ê î Ò î Ó î Õ î Ö î ã î å î ê Ë Ú á þ ÿ û ö ù ö Ê	 Ð  Ê! Ø" ß# Ô$ å%& Ì' Ê() Ô* ý+ Ä, Ä- Ç. È/ Ä1 Å2 Ä3 ö4 5 ÉD ÷E üF öG ÄH ûIJ ÏK ÆP ×Q ÞR ÛT ÊU ÍV ÊW ÊX ÔY ÊZ ö[ ö\ Ä] ø^ ö` öd Ùg âh Ýi àj Ík Óm Øn Äo äp Ñq ös
t öv ÷w ûx ö ()I ()Ljava/awt/Container; ()Ljava/awt/Dimension; ()Ljava/awt/FontMetrics; ()Ljava/awt/Graphics; ()Ljava/awt/Insets; ()V (I)I (I)Ljava/lang/Object; (I)V (I)[Ljava/lang/Object; (II)I (II)Ljava/awt/Image; (II)Ljava/lang/String; (II)V (III)V (IIII)V (ILCbScrollbarCallback;)V $(ILjava/awt/Color;Ljava/awt/Color;)V (LCbScrollbar;I)V (LMultiColumn;I)V (Ljava/awt/Color;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Event;)Z (Ljava/awt/Event;II)Z (Ljava/awt/Font;)V (Ljava/awt/Graphics;)V 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z (Ljava/awt/LayoutManager;)V (Ljava/lang/Object;)V (Ljava/lang/Object;I)V ((Ljava/lang/Object;ILjava/lang/Object;)V (Ljava/lang/String;)I (Ljava/lang/String;II)V (Z)V ([F)V ([Ljava/lang/Object;)V ([Ljava/lang/Object;I)V ([Ljava/lang/String;)V +([Ljava/lang/String;LMultiColumnCallback;)V ([[Ljava/awt/Color;)V ([[Ljava/lang/Object;)V <init> BorderPanel CbScrollbar CbScrollbarCallback Code ConstantValue Double 
Exceptions I J LCbScrollbar; LMultiColumnCallback; LineNumberTable Ljava/awt/Color; Ljava/awt/Event; Ljava/awt/FontMetrics; Ljava/awt/Graphics; Ljava/awt/Image; Ljava/awt/Insets; LocalVariables MultiColumn MultiColumn.java MultiColumnCallback Single 
SourceFile Z [F [I [Ljava/lang/String; [Ljava/util/Vector; [[Ljava/awt/Color; abs add 
addElement addItem addItems 
adjustable bg bim black bottom callback clear coldrag colors 
compscroll cpos createImage cwidth 
deleteItem disable doubleClick 	drawImage drawLine 
drawString 	drawlines 	elementAt enable enabled fillRect fnm 	getAscent 
getDescent getFontMetrics getGraphics 	getHeight getItem 	getParent getValue height in insets java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/Event java/awt/Font java/awt/FontMetrics java/awt/Graphics java/awt/Image java/awt/Insets java/lang/Math java/lang/Object java/lang/String java/util/Vector last 
last_event left length 	lightGray list min minimumSize 
modifyItem 	mouseDown 	mouseDrag moved moving paint 	postEvent preferredSize removeAllElements removeElementAt render repaint reshape respace right rowh rows sb sbwidth scrollto sel select selected setAdjustable setColor 	setColors setDrawLines setElementAt setFont 	setLayout setValue 	setValues 	setWidths singleClick size stringWidth 	substring th 
timesRoman title top update when white width !        ù    s
        %        (    	        I    ] ø    x ö    3 ö    4     ^ ö    q ö     ÿ     þ    * ý     ö    ` ö    t ö    D ÷    [ ö    E ü      î ê  ò  C     Ï*» 	Y222· » 	Y Ü Ü Ü· · *µ "*µ 3*µ 6*µ (*µ \*µ X*+¾½ µ h=§ *´ h+2S„+¾¡ÿñ*+¾½ µ H>§ *´ H» Y· S„+¾¡ÿí*+¾¼µ -6§ *´ -+¾†nQ„+¾¡ÿí*+¾`¼
µ +*¶ `*» Y*· µ Z**´ Z¶  W±    ú   b    # " 
 '  ,  1  6  ;  A $ J % O & X % a ' j ( o ) | ( … *  + “ , Ÿ + © - ³ . ¸ / Å 0 Î !   î ë  ò   +     *+· *,µ '±    ú       7  8 
 5   è  ò   R     &=§ *´ H2+2¶ !„*´ h¾¡ÿë*¶ S*· *±    ú       ?  @  ?  A ! B % =   í  ò   j     6=§ %>§ *´ H2+22¶ !„*´ h¾¡ÿé„+¾¡ÿÛ*¶ S*· *±    ú   "    I  J 
 K  J $ I - L 1 M 5 G  L é  ò   S     '>§ *´ H2+2¶ ^„*´ h¾¡ÿê*¶ S*· *±    ú       T  U  T  V " W & R  0 Î  ò   Q     )*´ h¾½ M>§ ,*´ H2¶ 4S„*´ h¾¡ÿê,°    ú       ^ 	 _  `  _ ' a  b Ä  ò        *´ \¬    ú       h  a Í  ò   *     
*µ \*¶ S±    ú       o  p 	 m  _ Í  ò   ƒ     O*· Y=*´ i¡ *´ i`¡ :*dµ i*´ i*´ H2¶ dd¤ **´ H2¶ ddµ i*´ Z*´ i¶ a*¶ S±    ú   "    w  x  y  z 0 { ? | J } N u   Í  ò   a     1=§ *´ H2¶ Q„*´ h¾¡ÿí*´ \  *µ \*¶ S*· *±    ú       …  †  …  ‡ ( ˆ , ‰ 0 ƒ   Ê  ò   g     3<§ *´ H2¶ P„*´ h¾¡ÿî*µ \*µ i*¶ S*´ Z¶ b±    ú   "      ‘    ’  “ $ ” ( • 2 Ž  l ç  ò   O     #=§ *´ -+0Q„*´ h¾¡ÿî*¶ V*¶ S±    ú       œ    œ  ž  Ÿ " š  c æ  ò   "     *µ "±    ú   
    §  ¥  f æ  ò   "     *µ 3±    ú   
    ¯  ­  e ì  ò   *     
*+µ )*¶ S±    ú       ¸  ¹ 	 ¶ ' Ê  ò   5     *µ 6*´ Z¶ 5*¶ S±    ú       ¾  ¿  À  ¼   Ê  ò   5     *µ 6*´ Z¶ .*¶ S±    ú       Å  Æ  Ç  Ã X Ô  ò   Ý     ™*´ m*´ [`  *´ @Ÿ |**¶ Bµ A**´ Z¶ J´ nµ [**´ [d*´ A´ E*´ A´ W`dµ m**´ A´ j*´ A´ &`dµ @*´ Z*´ m*´ A´ E`*´ A´ j*´ [*´ @¶ T*¶ V*µ $*¶ S*· **· U±    ú   2    Î  Ï  Ð , Ñ F Ò \ Ó ~ Ô ‚ × ‡ Ø ‹ Ù  Û ˜ Ì  Y Ê  ò   ]     5*´ +O<§ "*´ +`*´ +.*´ m†*´ -0j‹`O„*´ h¾¡ÿÛ±    ú       â  ã  ä ( ã 4 à Q Þ  ò   ³     s*+· M*´ $Ç Q***´ m*´ @¶ ,µ $**´ $¶ <µ #*´ #» Y· ¶ _**´ #¶ ;µ 8**´ 8¶ =`µ g*¶ R*· *+*´ $*´ A´ E*´ A´ j*¶ 0W±    ú   .    ë  ì  î  ï ' ð : ñ E ò R ó V ô Z ö r é u Þ  ò   5     *´ 8Æ *¶ R*+¶ N±    ú       ý  þ  ÿ  û  V Ê  ò  ä  
   *´ 8¶ =W*´ 8¶ :<*´ 8¶ 9W*´ i*· Y`d*´ H2¶ dd¸ I=*´ #² G¶ ]*´ #*´ m*´ g¶ 7*´ #² l¶ ]*´ #*´ g*´ m*´ @*´ gd¶ 7*´ 6™ C*´ \*´ i¡ 8*´ \£ 0*´ #² G¶ ]*´ #*´ g*´ \*´ id*´ Xh`*´ m*´ X¶ 7>§=*´ +.6*´ +`.dd6*´ #² l¶ ]*´ #`¶ 1*´ #`d¶ 1*´ #*´ gd¶ 1*´ #``*´ gd¶ 1*´ #² %¶ ]*´ #*´ gd`*´ gd¶ 1*´ #*´ gd`d*´ gd¶ 1*´ #`*´ gd`¶ 1*´ #`d*´ gd`d¶ 1*´ 8*´ h2¶ e6d¢ "*´ #*´ h2dl`*´ gdd¶ 2*´ 3™ M*´ #² G¶ ]*´ #`d*´ g`d*´ @¶ 1*´ #² %¶ ]*´ #`*´ g`*´ @¶ 1*´ i6§ Ã*´ H2¶ 4:Á ™ |À :	§ 		¶ Fd¶ f:	*´ 8	¶ ed£ÿä*´ 6š *´ #² G¶ ]§ *´ )Æ *´ #*´ )22¶ ]*´ #	`*´ g`*´ id*´ Xh`d¶ 2§ 2Á ™ *À :	*´ #	`*´ g*´ id*´ Xh`*¶ 0W„¤ÿ=„*´ h¾¡ýÀ±    ú   Ò 4    	 
 2 < M W p w Š ” · ¼ Ó Ý  í! ÿ"#'$1%K&g'(›)ª*´+Ó.Ú/ä012$4-5:6B8I9L:[9k;r<|;=†>–?¸6»AÃCÊDê4óÿ M Ü  ò  •    *´ 6š ¬*´ A´ Ed=*´ A´ jd>*µ (*´ g¢ 66§ #*´ "™ *´ +.d¸ ¢ 	*µ („*´ h¾¡ÿÙ§ ¥*´ gd*´ Xl*´ i`6*´ H2¶ d¢ …6+´ k*´ Ce o”œ *´ \  	6§ *+´ kµ C*µ \*¶ S*+µ D*´ 'Æ &™ *´ '*¹ / § 1*´ '*¹ c § "*¶ >» Y*é™ § · ¶ OW¬    ú   ‚    N O 	Q R S "T *V 0W GY MV ZT ]^ o_ }a €b ™c œb Ÿe §g ­h ±i ¶j ½l Ñm Ýj àq är és ìt ør ûq ÿx N Ü  ò   ó     £*´ 6š ¬*´ A´ Ed=*´ A´ jd>*´ (Ÿ *´ +*´ (d.`¤ n*´ +*´ (`.d¢ ]*´ +*´ (O*´ -*´ (d*´ +*´ (.*´ +*´ (d.d†*´ m†nQ*´ -*´ (*´ +*´ (`.*´ +*´ (.d†*´ m†nQ*¶ S¬    ú   >    € 	‚ ƒ „ %… G† Q‡ qˆ v‡ x‰ –Š ›‰ ‹ ¡Ž O ×  ò   #     *+¶ L±    ú   
   “ ‘ P ×  ò   8     **´ Z¶ ?µ i*· **¶ S±    ú      ˜ ™ š –  Ê  ò   a     5*´ 8Ç ±*· Y<*´ H2¶ dW*´ Z*´ iš § *´ H2¶ d¶ b±    ú      ¡ ¢ £ ¤ ¥ 4Ÿ \ Ä  ò   0     *´ @*´ Xld*´ H2¶ d¸ I¬    ú      ¬ K Æ  ò   %     » Yd· °    ú      ± S Æ  ò        *¶ K°    ú      ¶       0707010000eb7a000081a40000000000000002000000013d1fe2d500002662000000200000000000000000000000000000001c00000003reloc/file/MultiColumn.java   // MultiColumn
// A List box that supports multiple columns.
import java.awt.*;
import java.util.Vector;

public class MultiColumn extends BorderPanel implements CbScrollbarCallback
{
	MultiColumnCallback callback;	// what to call back to 
	String title[];			// column titles
	boolean adjustable = true;
	boolean drawlines = true;
	Color colors[][] = null;
	boolean enabled = true;
	int cpos[];			// column x positions
	float cwidth[];			// proportional column widths
	Vector list[];			// columns of the list
	CbScrollbar sb;			// scrollbar at the right side
	int width, height;		// size, minus the scrollbar
	Insets in;			// used space around the border
	int sbwidth;			// width of the scrollbar
	int th;				// height of title bar
	Image bim;			// backing image
	Graphics bg;			// backing graphics
	FontMetrics fnm;		// drawing font size
	int coldrag = -1;		// column being resized
	int sel = -1;			// selected row
	int top = 0;			// first row displayed
	long last;			// last mouse click time
	int rowh = 16;			// row height
	Event last_event;		// last event that triggered callback

	// Create a new list with the given column titles
	MultiColumn(String t[])
	{
	super(3, new Color(50,50,50), new Color(220,220,220));
	title = new String[t.length];
	for(int i=0; i<t.length; i++)
		title[i] = t[i];
	list = new Vector[t.length];
	for(int i=0; i<t.length; i++)
		list[i] = new Vector();
	cwidth = new float[t.length];
	for(int i=0; i<t.length; i++)
		cwidth[i] = 1.0f/t.length;
	cpos = new int[t.length+1];
	setLayout(null);
	sb = new CbScrollbar(CbScrollbar.VERTICAL, this);
	add(sb);
	}

	// Create a new list that calls back to the given object on
	// single or double clicks.
	MultiColumn(String t[], MultiColumnCallback c)
	{
	this(t);
	callback = c;
	}

	// addItem
	// Add a row to the list
	void addItem(Object item[])
	{
	for(int i=0; i<title.length; i++)
		list[i].addElement(item[i]);
	repaint();
	compscroll();
	}

	// addItems
	// Add several rows to the list
	void addItems(Object item[][])
	{
	for(int i=0; i<item.length; i++)
		for(int j=0; j<title.length; j++)
			list[j].addElement(item[i][j]);
	repaint();
	compscroll();
	}

	// modifyItem
	// Changes one row of the table
	void modifyItem(Object item[], int row)
	{
	for(int i=0; i<title.length; i++)
		list[i].setElementAt(item[i], row);
	repaint();
	compscroll();
	}

	// getItem
	// Returns the contents of a given row
	Object []getItem(int n)
	{
	Object r[] = new Object[title.length];
	for(int i=0; i<title.length; i++)
		r[i] = list[i].elementAt(n);
	return r;
	}

	// selected
	// Return the selected row
	int selected()
	{
	return sel;
	}

	// select
	// Select some row
	void select(int s)
	{
	sel = s;
	repaint();
	}

	// scrollto
	// Scroll to make some row visible
	void scrollto(int s)
	{
	int r = rows();
	if (s < top || s >= top+r) {
		top = s-1;
		if (top > list[0].size() - r)
			top = list[0].size() - r;
		sb.setValue(top);
		repaint();
		}
	}

	// deleteItem
	// Remove one row from the list
	void deleteItem(int n)
	{
	for(int i=0; i<title.length; i++)
		list[i].removeElementAt(n);
	if (n == sel) sel = -1;
	repaint();
	compscroll();
	}

	// clear
	// Remove everything from the list
	void clear()
	{
	for(int i=0; i<title.length; i++)
		list[i].removeAllElements();
	sel = -1;
	top = 0;
	repaint();
	sb.setValues(0, 1, 0);
	}

	// setWidths
	// Set the proportional widths of each column
	void setWidths(float w[])
	{
	for(int i=0; i<title.length; i++)
		cwidth[i] = w[i];
	respace();
	repaint();
	}

	/**Turns on or off the user's ability to adjust column widths
	 * @param a	Can adjust or not?
	 */
	void setAdjustable(boolean a)
	{
	adjustable = a;
	}

	/**Turns on or off the drawing of column lines
	 * @param d	Draw lines or not?
	 */
	void setDrawLines(boolean d)
	{
	drawlines = d;
	}

	/**Sets the array of colors used to draw text items.
	 * @param c	The color array (in row/column order), or null to
	 *		use the default
	 */
	void setColors(Color c[][])
	{
	colors = c;
	repaint();
	}

	public void enable()
	{
	enabled = true;
	sb.enable();
	repaint();
	}

	public void disable()
	{
	enabled = false;
	sb.disable();
	repaint();
	}

	// reshape
	// Called when this component gets resized
	public void reshape(int nx, int ny, int nw, int nh)
	{
	if (nw != width+sbwidth || nh != height) {
		in = insets();
		sbwidth = sb.minimumSize().width;
		width = nw-sbwidth - (in.left + in.right);
		height = nh - (in.top + in.bottom);
		sb.reshape(width+in.left, in.top, sbwidth, height);
		respace();

		// Force creation of a new backing image and re-painting
		bim = null;
		repaint();
		compscroll();
		}
	super.reshape(nx, ny, nw, nh);
	}

	// respace
	// Compute pixel column widths from proportional widths
	void respace()
	{
	cpos[0] = 0;
	for(int i=0; i<title.length; i++)
		cpos[i+1] = cpos[i] + (int)(width*cwidth[i]);
	}

	// paint
	// Blit the backing image to the front
	public void paint(Graphics g)
	{
	super.paint(g);
	if (bim == null) {
		// This is the first rendering
		bim = createImage(width, height);
		bg = bim.getGraphics();
		bg.setFont(new Font("timesRoman", Font.PLAIN, 12));
		fnm = bg.getFontMetrics();
		th = fnm.getHeight() + 4;
		render();
		compscroll();
		}
	g.drawImage(bim, in.left, in.top, this);
	}

	// update
	// Called sometime after repaint()
	public void update(Graphics g)
	{
	if (fnm != null) {
		render();
		paint(g);
		}
	}

	// render
	// Re-draw the list into the backing image
	void render()
	{
	int fh = fnm.getHeight(),	// useful font metrics
	    fd = fnm.getDescent(),
	    fa = fnm.getAscent();
	int bot = Math.min(top+rows()-1, list[0].size()-1);

	// Clear title section and list
	bg.setColor(Color.lightGray);
	bg.fillRect(0, 0, width, th);
	bg.setColor(Color.white);
	bg.fillRect(0, th, width, height-th);

	if (enabled) {
		// Mark the selected row
		if (sel >= top && sel <= bot) {
			bg.setColor(Color.lightGray);
			bg.fillRect(0, th+(sel-top)*rowh, width, rowh);
			}
		}

	// Draw each column
	for(int i=0; i<title.length; i++) {
		int x = cpos[i], w = cpos[i+1]-x-1;

		// Column title
		bg.setColor(Color.white);
		bg.drawLine(x, 0, x+w, 0);
		bg.drawLine(x, 1, x+w-1, 1);
		bg.drawLine(x, 0, x, th-1);
		bg.drawLine(x+1, 0, x+1, th-2);
		bg.setColor(Color.black);
		bg.drawLine(x, th-1, x+w, th-1);
		bg.drawLine(x, th-2, x+w-1, th-2);
		bg.drawLine(x+w, th-1, x+w, 0);
		bg.drawLine(x+w-1, th-1, x+w-1, 1);
		int tw = fnm.stringWidth(title[i]);
		if (tw < w-6)
			bg.drawString(title[i], x+(w-tw)/2, th-fd-2);

		// Column items
		if (drawlines) {
			bg.setColor(Color.lightGray);
			bg.drawLine(x+w-1, th, x+w-1, height);
			bg.setColor(Color.black);
			bg.drawLine(x+w, th, x+w, height);
			}
		for(int j=top; j<=bot; j++) {
			Object o = list[i].elementAt(j);
			if (o instanceof String) {
				// Render string in column
				String s = (String)o;
				while(fnm.stringWidth(s) > w-3)
					s = s.substring(0, s.length()-1);
				if (!enabled)
					bg.setColor(Color.lightGray);
				else if (colors != null)
					bg.setColor(colors[j][i]);
				bg.drawString(s, x+1, th+(j+1-top)*rowh-fd);
				}
			else if (o instanceof Image) {
				// Render image in column
				Image im = (Image)o;
				bg.drawImage(im, x+1, th+(j-top)*rowh, this);
				}
			}
		}
	}

	// mouseDown
	// Select a list item or a column to drag
	public boolean mouseDown(Event e, int x, int y)
	{
	if (!enabled) {
		return true;
		}
	x -= in.left;
	y -= in.top;
	coldrag = -1;
	if (y < th) {
		// Click in title bar
		for(int i=1; i<title.length; i++)
			if (adjustable && Math.abs(cpos[i] - x) < 3) {
				// clicked on a column separator
				coldrag = i;
				}
		}
	else {
		// Item chosen from list
		int row = (y-th)/rowh + top;
		if (row < list[0].size()) {
			// Double-click?
			boolean dclick = false;
			if (e.when-last < 1000 && sel == row)
				dclick = true;
			else
				last = e.when;

			sel = row;
			repaint();
			last_event = e;
			if (callback != null) {
				// Callback the right function
				if (dclick) callback.doubleClick(this, row);
				else	    callback.singleClick(this, row);
				}
			else {
				// Send an event
				getParent().postEvent(
					new Event(this,
						  Event.ACTION_EVENT,
						  dclick?"Double":"Single"));
				}
			}
		}
	return true;
	}

	// mouseDrag
	// If a column is selected, change it's width
	public boolean mouseDrag(Event e, int x, int y)
	{
	if (!enabled) {
		return true;
		}
	x -= in.left;
	y -= in.top;
	if (coldrag != -1) {
		if (x > cpos[coldrag-1]+3 && x < cpos[coldrag+1]-3) {
			cpos[coldrag] = x;
			cwidth[coldrag-1] = (cpos[coldrag]-cpos[coldrag-1]) /
					    (float)width;
			cwidth[coldrag] = (cpos[coldrag+1]-cpos[coldrag]) /
					    (float)width;
			repaint();
			}
		}
	return true;
	}

	public void moved(CbScrollbar s, int v)
	{
	moving(s, v);
	}

	public void moving(CbScrollbar s, int v)
	{
	top = sb.getValue();
	compscroll();
	repaint();
	}

	// compscroll
	// Re-compute the size of the scrollbar
	private void compscroll()
	{
	if (fnm == null)
		return;		// not visible
	int r = rows();
	int c = list[0].size() - r;
	sb.setValues(top, r==0?1:r, list[0].size());
	}

	// rows
	// Returns the number of rows visible in the list
	private int rows()
	{
	return Math.min(height/rowh - 1, list[0].size());
	}

	public Dimension minimumSize()
	{
	return new Dimension(400, 100);
	}

	public Dimension preferredSize()
	{
	return minimumSize();
	}
}

// MultiColumnCallback
// Objects implementing this interface can be passed to the MultiColumn
// class, to have their singleClick() and doubleClick() functions called in
// response to single or double click in the list.
interface MultiColumnCallback
{
	// singleClick
	// Called on a single click on a list item
	void singleClick(MultiColumn list, int num);

	// doubleClick
	// Called upon double-clicking on a list item
	void doubleClick(MultiColumn list, int num);
}

  0707010000eb7b000081a40000000000000002000000013d1fe2d600000107000000200000000000000000000000000000002500000003reloc/file/MultiColumnCallback.class  Êþº¾  -  
   (LMultiColumn;I)V Code ConstantValue 
Exceptions LineNumberTable LocalVariables MultiColumn MultiColumn.java MultiColumnCallback 
SourceFile doubleClick java/lang/Object singleClick                       0707010000eb7c000081a40000000000000002000000013d1fe2d500000716000000200000000000000000000000000000001c00000003reloc/file/MultiLabel.class   Êþº¾  - ‘ J K ] ^ _ ` a b e f g h j k m n p q s t u v w x y z { | ƒ „ … † ‡ ˆ ‰
 # 7
  8
  9
 ! :
  ;
  <
 " =
  >
 # ?
 ! @
 # A
 " B
   C
 " D
  E
 # F
 ! G
   H
   I \ N \ Q \ R \ X \ Y \ Z \ [ ~ S  V € W  P ‚ O Š L ‹ M Œ T  L Ž M  M  U    	 ()I ()Ljava/lang/String; ()V ()Z (I)Ljava/lang/Object; (I)V (IIII)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)V ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;I)V (Ljava/lang/String;II)V '(Ljava/lang/String;Ljava/lang/String;)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow BorderPanel Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem LineNumberTable 
LinkWindow LinuxExport LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile add 
addElement append 	elementAt hasMoreTokens java/awt/Container java/awt/GridLayout java/awt/Label java/lang/String java/lang/StringBuffer java/util/StringTokenizer java/util/Vector length 	nextToken 	setLayout size toString trim valueOf           \ Y  c   $     *+· )±    o   
   e c  \ Z  c       °*· %» #Y· $:» "Y+¶ 5· *::§ J¶ 1:Ç § » !Y¸ 6· '¶ -¶ -¶ 4:¶ 0£ ¶ /š ¶ ,:¶ /šÿ´*» Y¶ 3· &¶ 26§ *» Y¶ .À  · (¶ +W„¶ 3¡ÿß±    o   B   j k l m  n #o *p Oq `r gs jn rv …w ‹x ¢w ¯h  }    l  0707010000eb7d000081a40000000000000002000000013d1fe2d6000019e3000000200000000000000000000000000000001d00000003reloc/file/MyFlowLayout.java  /*
 * @(#)MyFlowLayout.java	1.18 95/12/14 Arthur van Hoff
 *
 * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
 *
 * Permission to use, copy, modify, and distribute this software
 * and its documentation for NON-COMMERCIAL purposes and without
 * fee is hereby granted provided that this copyright notice
 * appears in all copies. Please refer to the file "copyright.html"
 * for further important copyright and licensing information.
 *
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
 * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
 * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
 * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
 * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
 * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
 */
package java.awt;

/**
 * Flow layout is used to layout buttons in a panel. It will arrange
 * buttons left to right until no more buttons fit on the same line.
 * Each line is centered.
 *
 * @version 	1.18, 14 Dec 1995
 * @author 	Arthur van Hoff
 * @author 	Sami Shaio
 */
public class MyFlowLayout implements LayoutManager {

    /**
     * The left alignment variable. 
     */
    public static final int LEFT 	= 0;

    /**
     * The right alignment variable. 
     */
    public static final int CENTER 	= 1;

    /**
     * The right alignment variable.
     */
    public static final int RIGHT 	= 2;

    int align;
    int hgap;
    int vgap;

    /**
     * Constructs a new Flow Layout with a centered alignment.
     */
    public MyFlowLayout() {
	this(CENTER, 5, 5);
    }

    /**
     * Constructs a new Flow Layout with the specified alignment.
     * @param align the alignment value
     */
    public MyFlowLayout(int align) {
	this(align, 5, 5);
    }

    /**
     * Constructs a new Flow Layout with the specified alignment and gap
     * values.
     * @param align the alignment value
     * @param hgap the horizontal gap variable
     * @param vgap the vertical gap variable
     */
    public MyFlowLayout(int align, int hgap, int vgap) {
	this.align = align;
	this.hgap = hgap;
	this.vgap = vgap;
    }

    /**
     * Adds the specified component to the layout. Not used by this class.
     * @param name the name of the component
     * @param comp the the component to be added
     */
    public void addLayoutComponent(String name, Component comp) {
    }

    /**
     * Removes the specified component from the layout. Not used by
     * this class.  
     * @param comp the component to remove
     */
    public void removeLayoutComponent(Component comp) {
    }

    /**
     * Returns the preferred dimensions for this layout given the components
     * in the specified target container.
     * @param target the component which needs to be laid out
     * @see Container
     * @see #minimumLayoutSize
     */
    public Dimension preferredLayoutSize(Container target) {
	Dimension dim = new Dimension(0, 0);
	int nmembers = target.countComponents();

	for (int i = 0 ; i < nmembers ; i++) {
	    Component m = target.getComponent(i);
	    if (m.visible) {
		Dimension d = m.preferredSize();
		dim.height = Math.max(dim.height, d.height);
		if (i > 0) {
		    dim.width += hgap;
		}
		dim.width += d.width;
	    }
	}
	Insets insets = target.insets();
	dim.width += insets.left + insets.right + hgap*2;
	dim.height += insets.top + insets.bottom + vgap*2;
	return dim;
    }

    /**
     * Returns the minimum dimensions needed to layout the components
     * contained in the specified target container.
     * @param target the component which needs to be laid out 
     * @see #preferredLayoutSize
     */
    public Dimension minimumLayoutSize(Container target) {
	Dimension dim = new Dimension(0, 0);
	int nmembers = target.countComponents();

	for (int i = 0 ; i < nmembers ; i++) {
	    Component m = target.getComponent(i);
	    if (m.visible) {
		Dimension d = m.minimumSize();
		dim.height = Math.max(dim.height, d.height);
		if (i > 0) {
		    dim.width += hgap;
		}
		dim.width += d.width;
	    }
	}
	Insets insets = target.insets();
	dim.width += insets.left + insets.right + hgap*2;
	dim.height += insets.top + insets.bottom + vgap*2;
	return dim;
    }

    /** 
     * Centers the elements in the specified row, if there is any slack.
     * @param target the component which needs to be moved
     * @param x the x coordinate
     * @param y the y coordinate
     * @param width the width dimensions
     * @param height the height dimensions
     * @param rowStart the beginning of the row
     * @param rowEnd the the ending of the row
     */
    private void moveComponents(Container target, int x, int y, int width, int height, int rowStart, int rowEnd) {
	switch (align) {
	case LEFT:
	    break;
	case CENTER:
	    x += width / 2;
	    break;
	case RIGHT:
	    x += width;
	    break;
	}
	for (int i = rowStart ; i < rowEnd ; i++) {
	    Component m = target.getComponent(i);
	    if (m.visible) {
		m.move(x, y + (height - m.height) / 2);
		x += hgap + m.width;
	    }
	}
    }

    /**
     * Lays out the container. This method will actually reshape the
     * components in the target in order to satisfy the constraints of
     * the BorderLayout object. 
     * @param target the specified component being laid out.
     * @see Container
     */
    public void layoutContainer(Container target) {
	Insets insets = target.insets();
	int maxwidth = target.width - (insets.left + insets.right + hgap*2);
	int nmembers = target.countComponents();
	int x = 0, y = insets.top + vgap;
	int rowh = 0, start = 0;

	for (int i = 0 ; i < nmembers ; i++) {
	    Component m = target.getComponent(i);
	    if (m.visible) {
		Dimension d = m.preferredSize();
		m.resize(d.width, d.height);
	
		if ((x == 0) || ((x + d.width) <= maxwidth)) {
		    if (x > 0) {
			x += hgap;
		    }
		    x += d.width;
		    rowh = Math.max(rowh, d.height);
		} else {
		    moveComponents(target, insets.left + hgap, y, maxwidth - x, rowh, start, i);
		    x = d.width;
		    y += vgap + rowh;
		    rowh = d.height;
		    start = i;
		}
	    }
	}
	moveComponents(target, insets.left + hgap, y, maxwidth - x, rowh, start, nmembers);
    }
    
    /**
     * Returns the String representation of this MyFlowLayout's values.
     */
    public String toString() {
	String str = "";
	switch (align) {
	  case LEFT:    str = ",align=left"; break;
	  case CENTER:  str = ",align=center"; break;
	  case RIGHT:   str = ",align=right"; break;
	}
	return getClass().getName() + "[hgap=" + hgap + ",vgap=" + vgap + str + "]";
    }
}
 0707010000eb7e000081a40000000000000002000000013d1fe2d500000cb0000000200000000000000000000000000000002100000003reloc/file/OverwriteWindow.class  Êþº¾  - ò ” ¢ ¸ Â Ã Ç È à á â ã å æ é – — ˜ ™ š › œ Ÿ   ¡ £ ¤ ¦ § © ª « ± ² ¶ · ¹ º » ¼ ½ ¾ ¿ À Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û
  ]
 , ]
 1 ]
 . ^
  _
  `
 0 `
 6 `
 3 a
 # b
 - c
 - d	 $ e
 6 f	 $ g	 ' h
 / i
 5 j	 $ k
 ' l
 2 m
  n
 5 o	 ' p	 $ q	 $ r
 4 s
  t	 ' u
 - v
 / w
 4 x	 $ y
  z
  {
 6 |	 ' }
 5 ~ •  • ‚ • ‡ •  •  • ‘ Ä † Ä ’ Å ¯ Æ Ž Ç ­ Ê ¯ Ë  Ì Š Í ® Î ‹ Ï € Ð Œ Ü  Ý ´ Þ ³ ß ­ ä  ç … è ´ ê ˆ ë  ì  í ¯ î  î “ ï € ð ¬ ñ ‰ ()I ()Ljava/lang/String; ()V (I)V (LCbButton;)V ((LFileManager;LRemoteFile;LRemoteFile;)V 9(LRemoteFile;LRemoteFile;Ljava/lang/String;LRemoteFile;)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;I)V (Ljava/lang/String;II)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; / <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow East EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I 
LCbButton; LFileManager; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextField; Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel North OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West add already append cancel 
cancel.gif click 	directory dispose equals filemgr find getText 	get_image java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer length name newname ok over_msg over_new over_ok 
over_title pack paste_eover paste_eself 
paste_file path save.gif 	setLayout setTitle show src text toString type valueOf   $       Í ®     í ¯     Å ¯     Þ ³     ß ­     Ç ­      • „    `     ð*· 7*+µ I*-µ W*,µ C*» ,Y· 8¶ T**´ I¶ X¶ U*» #Y*´ I*´ C´ S¶ Y· @¶ BW*» 0Y*´ I	¶ X· =¶ BW**» 3Y,´ N· ?Zµ O¶ BW» 1Y· 9:» .Y· :¶ T*» Y*´ I¶ L*´ I
¶ X*· ;Zµ P¶ AW*» Y*´ I¶ L*´ I¶ X*· ;Zµ E¶ AW*¶ BW*¶ Q*¶ V±    °   ^   ƒ … † ‡ +ˆ .‰ Hˆ LŠ c‹ | …Ž ’ ¢ «‘ ­ ¸’ È“ Ñ” Ó’ Þ• ç– ë— ïƒ  É ƒ    ?     Ï+*´ E¦ *¶ G±+*´ P¦ ¼*´ O¶ K¶ Mž ¯*´ C´ FM,*´ O¶ K¶ JN-*´ W¦ » *´ I¶ X· <±-Æ &-´ [™ -´ [  » *´ I-´ S¶ Y· <±» 6Y,´ S¶ H™ § » 6Y,´ S¸ \· >¶ D¶ Z¸ \· >*´ O¶ K¶ D¶ Z:*´ I*´ W*´ C´ F-¶ R*¶ G±    °   ^   œ  œ ž "  *¡ 6¢ >£ M¤ N¦ Y§ a¨ d© q¨ tª u¬ Š­  ¬ ¦­ ³¬ µ® Ê¯ Îš  Á    ¨0707010000eb7f000081a40000000000000002000000013d1fe2d60000065a000000200000000000000000000000000000002200000003reloc/file/PermissionsPanel.class Êþº¾  -  p q r s I J K L M P Q R S U V X Y \ ] ` a b c d e f g h i t u v w
 ! 0
   1
  2
  3	  4	  5
  6	  7	  8
  9
  :
  ;	  <	  = H ? H A H F k C l Z m ^ o @ x Z y ^ z D { G | E } Z ~ ^ ()I ()V ()Z (II)V (LRemoteFile;ILFileManager;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/LayoutManager;)V &(Ljava/lang/String;)Ljava/lang/String; (Ljava/lang/String;)V (Z)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem I LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Checkbox; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile add base exec getPerms getState 	info_exec 	info_list 	info_read 
info_write java/awt/Checkbox java/awt/Container java/awt/GridLayout java/awt/Panel perms read 	setLayout setState text type write    !      y ^     ~ ^     m ^     l Z      H B  N   ó     «*· "+´ )6*µ &*»  Y· #¶ +**» Y-¶ -· $Zµ *¶ %W*´ *x~š § ¶ ,**» Y-¶ -· $Zµ /¶ %W*´ /x~š § ¶ ,**» Y-+´ .š § ¶ -· $Zµ '¶ %W*´ '~š § ¶ ,±    [   6   9 ; 
< = > 3? H@ _A tB zC ŒB —D ª9   n >  N   o     G<*´ *¶ (™ *´ &x§ €<*´ /¶ (™ *´ &x§ €<*´ '¶ (™ 
*´ &§ €<¬    [      I J K 0L EM  j    W  0707010000eb80000081a40000000000000002000000013d1fe2d600001af8000000200000000000000000000000000000002200000003reloc/file/PropertiesWindow.class Êþº¾  -“ Ü Ý Þ ß à á*45<=?CNOPQRSTUVWXYZ[\]^_`a{| !'()+,-./012bcdefghijklmnop
 5 ›
 D ›
 F ›
 L ›
 H œ
 J 
 R ž
 = Ÿ
 *  
 0 ¡
 6 ¡
 E ¡
 K ¡
 Q ¡
 N ¢
 G £
 G ¤
 F ¥
 > ¦
 > §
 Q ¨
 Q ©	 > ª
 I «	 > ¬	 > ­	 2 ®
 = ¯
 F °
 E ±
 M ²
 2 ³
 2 ´	 > µ	 ? ¶	 > ·
 P ¸	 > ¹	 ? º	 ? »	 ? ¼	 > ½
 O ¾	 ? ¿	 ? À	 > Á
 > Â	 > Ã
 : Ä
 : Å
 G Æ
 E Ç
 I È	 > É	 > Ê
 > Ë
 O Ì
 2 Í	 2 Î	 ? Ï	 > Ð
 2 Ñ
 2 Ò
 Q Ó	 ? Ô
 > Õ
 2 Ö	 > ×	 ? Ø	 > Ù
 P Ú
 P Û  ä  ç  è  ê  í  ñ  ù  û7 ð7 ü8 ù9 ý: ó; æ; ø>A äBDEF âG âH åI ãJ öK úL$L%Mq âr$r%s6tuv äw%xy#z î}~ ç â€ ò ÿ‚ ùƒ"„"… ô† ä‡ ìˆ‰Š"‹ ÷‹ þŒ ãŽ î ÷$%‘’ é’ õ   &group= &linkto= &perms= &rec= &user= ()I ()Ljava/lang/String; ()V ()Z (I)Ljava/lang/StringBuffer; (I)V (II)V (J)Ljava/lang/String; (J)V (LCbButton;)V (LRemoteFile;)Z (LRemoteFile;ILFileManager;)V (LRemoteFile;IZ)V (LRemoteFile;LFileManager;)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V 6(Ljava/awt/Panel;Ljava/awt/Component;)Ljava/awt/Panel; 3(Ljava/awt/Panel;Ljava/awt/Panel;Ljava/awt/Panel;)V &(Ljava/lang/Object;)Ljava/lang/String; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; I(Ljava/lang/String;Ljava/awt/Component;Ljava/awt/Panel;Ljava/awt/Panel;)V J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (Z)V <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I J 
LCbButton; LFileManager; LMultiColumn; LPermissionsPanel; LRemoteFile; LineNumberTable 
LinedPanel 
LinkWindow LinuxExport Ljava/awt/Checkbox; Ljava/awt/Choice; Ljava/awt/TextField; Ljava/lang/String; LocalVariables MkdirWindow MultiColumn 
MultiLabel North OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West [LRemoteFile; add addItem add_item 	add_panel append cancel 
cancel.gif cancel_b chmod.cgi?path= click dispose file 	file_type filemgr files getPerms getSelectedIndex getState getText 	get_image get_text group group_p 
info_apply info_efailed 	info_file 
info_group 	info_link info_mod 
info_other info_own 	info_path 
info_perms info_setgid info_setgid2 info_setgid3 info_setuid info_setuid2 	info_size info_sticky info_sticky2 	info_type 	info_user java/awt/BorderLayout java/awt/Checkbox java/awt/Choice java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer java/util/Date length linkto list modified other_p pack path perms rec_mode recurse_files save save.gif save_b select selected 	setLayout setState setTitle setgid setuid setup_leftright show 
show_files showing_files size sticky text toString type update_file urlize user user_p valueOf   > 5  +   B    D    }    >    r$    $    L$    „"    ƒ"    ‘    M    u    Š"    y#       ï 	  ø    d*· S*+µ k*,µ l*+´ ~¶ ‡*» DY· T¶ …» LY· VN-» HY· W¶ …-*» *Y*´ l$¶ r*´ l#¶ *· [Zµ ‚¶ bW-*» *Y*´ l¶ r*´ l¶ *· [Zµ i¶ bW*	-¶ cW» LY· V:» DY· T¶ …*¶ cW» 6Y*´ l¶ · ]:» LY· V:» LY· V:*¶ Š**´ l¶ » KY*´ k´ ~· _¶ e**´ l!¶ » KY*´ l» QY· `*´ k´ “¶ g¶ ’¶ · _¶ e**´ l¶ » KY*´ k´ Ž¸ ™· _¶ e**´ l¶ » KY» RY*´ k´ {· Y¸ š· _¶ e*´ k´ “  )**´ l¶ *» NY*´ k´ y· aZµ x¶ e*¶ f:» 6Y*´ l¶ · ]:» LY· V:	» LY· V:
*	
¶ Š**´ l"¶ *» =Y*´ k@*´ l· ZZµ ˜	
¶ e**´ l¶ *» =Y*´ k*´ l· ZZµ v	
¶ e**´ l¶ *» =Y*´ k*´ l· ZZµ |	
¶ e*´ k´ “š C**´ l¶ *» EY*´ l ¶ · ^Zµ 	
¶ e*´ *´ k´  ~š § ¶ †*¶ f:» 6Y*´ l¶ · ]:» LY· V:» LY· V:*¶ Š**´ l"¶ *» NY*´ k´ —
· aZµ –¶ e*´ k´ “™ C**´ l¶ *» EY*´ l¶ · ^Zµ ‰¶ e*´ ‰*´ k´  ~š § ¶ †**´ l¶ *» NY*´ k´ u
· aZµ t¶ e*´ k´ “š ,**´ l¶ *» EY*´ l¶ · ^Zµ ˆ¶ e§ )**´ l¶ *» EY*´ l¶ · ^Zµ ˆ¶ e*´ ˆ*´ k´  ~š § ¶ †*¶ f:*´ k´ “š p» 6Y*´ l¶ · ]:» DY· T¶ …*» FY· Uµ €6§ %*´ €*´ l» QY· `¶ g¶ ’¶ ¶ d„¤ÿÛ*´ €¶ cW*¶ f:*¶ }*¶ ‹±     ‚ `  _ a 	b e f !g )h 5i Dj Mk Oi Zl im rn tl o ‡q r œt ¥w ·x Éy Óz Ý{ ïz ò| ü}$|'~1F~I€So€r‚}ƒ‡„ ƒ£…­ˆ¿‰ÑŠÛ‹åŒÿ‹Ž&)3LO‘Y’h“q’x“|’”™–£™µšÇ›ÑœÛôœ÷žŸ  ¡$Ÿ'¢A¤K¥d¤g¦q§{¨”§—¦šª¤«½ªÀ¬Ú­ä¯î± ²³´µ<´E¶Q·[º_»c_  : ó 	   M     %+,¶ cW» LY· VN-» DY· T¶ …+-¶ cW-°         À Á Â Ã #Ä @ ë 	  «    Ó+*´ ‚¦É=*´ ‰Ç *´ k´  ~€=§ *´ ‰¶ p™ 	 § €=*´ ˆ¶ p™ 	 § €=*´ ˜¶ n€=*´ v¶ n€=*´ |¶ n€=*´ Ç *´ k´  ~€=§ *´ ¶ p™ 	 § €=>*´ k´ “š *´ €¶ o>*´ l» QY· `*´ k´ ~¸ •¶ h¶ h¶ g¶ h*´ –¶ q¶ h¶ h*´ t¶ q¶ h¶ h¶ g*´ xÇ § » QY· `*´ x¶ q¶ h¶ ’¶ h¶ ’¶ s:2¶ wž » 0*´ l*´ k´ ~2¶ ‘· \±*´ xÆ *´ k*´ x¶ qµ y§ Iš **´ k¶ ”§ 8  **´ k¶ ”**´ k¶ §   **´ k¶ ”**´ k¶ *´ l´ m¶ „6*´ l*´ l´ ¶ ŒW*´ l´ m¶ ƒ*¶ j±*¶ j±      Æ 1  É Ë 
Ì Í Ì "Ï 6Ð JÑ TÒ ^Ó hÔ oÕ }Ô €× ”Ø –Ù  Ú ¨Û ¬Ü ÂÝ ÚÞ òßÞÛà)â2ã=âCàDçKèYç\é`êjémërí|î†ë‰ðŽò˜ó¢÷®ø½ùÉúÍÉÎÿÒÇ  Ž î 	   c     3+*´ –¶ qµ —+*´ t¶ qµ u™ +ÿ~+´ þ ~€µ ±+µ ±             , -
 2  z î 	   œ     X+´ zÇ ±6§ B+´ z2:´ “  § *´ “š ™ *¶ ”*¶ § *¶ ”„+´ z¾¡ÿº±      2       # + / 7 ? B J W  … ô 	   Ž     V+» DY· T¶ …» LY· V:» DY· T¶ …
,¶ cW-¶ cW,» JY· X¶ …-» JY· X¶ …+¶ cW±      & 	     !  " )# 2$ ?% L& U  9 ý 	   `     4-» KY+· _¶ bW» LY· V:» DY· T¶ …
,¶ cW¶ bW±         + , - ". +/ 3) 3   0707010000eb81000081a40000000000000002000000013d1fe2d600000ec9000000200000000000000000000000000000001c00000003reloc/file/RemoteFile.class   Êþº¾  - ø                          } ’ È Ë Ì Ó ß à ê ï ñ õ • – — ˜ ™ ž   ¡ ¢ £ ¥ ¦ ¨ © ° ± µ ¶ · ¹ º » ¼ ¾ ¿ À Ô Õ Ö × Ø Ù Ú
 1 [
 * \
  ]
 3 ]
 5 ^
 3 _
 2 `	 * a
 2 b
 4 c
   d	 * e
 2 f
 2 g	 * h
 * i	 * j	 * k	 * l
 5 m	   n	 * o
 / p
 0 q	 * r	 * s	 * t	   u
 2 v
   w	 * x
 3 y	 * z
   {	 * |      è ” € ” … ” Ž ”  Ç  É ‰ Í ® Î ˆ Ð ‡ Ñ  Ò ² Û ƒ Ü ~ Ý ² Þ ‚ Þ Ä á ¬ â ² ã  ä ³ å ­ æ ‰ ç Š è ² é ª ì ¬ í ³ î „ ð ‘ ò Å ó  ô ª ö Œ ÷ ² 	 ()I ()Ljava/lang/String; ()V ()Z ()[LRemoteFile; (I)I (I)Ljava/lang/String; .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LRemoteFile;)V &(Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/Object;)Z (Ljava/lang/String;)I (Ljava/lang/String;)J  (Ljava/lang/String;)LRemoteFile; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; '(Ljava/lang/String;Ljava/lang/String;)V J(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; / <clinit> <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow BINARY Code ConstantValue DEVICE DFSAdminExport DIR DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem I IMAGE J LFileManager; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; Ljava/util/Hashtable; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PIPE PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow SYMLINK 
SambaShare SearchWindow SharingWindow 
SourceFile TEXT UNKNOWN [LRemoteFile; [Ljava/lang/String; add append 
binary.gif 	compareTo delete 
device.gif dir.gif 	directory equals find get get_text group 	image.gif java/lang/Integer java/lang/Long java/lang/Object java/lang/String java/lang/StringBuffer java/util/Hashtable java/util/StringTokenizer lastIndexOf length linkto list list.cgi?dir= 	list_edir modified name 	nextToken ntab parent parseInt 	parseLong path perms pipe.gif shared size stab 	substring symlink.gif text text.gif tmap toString type unknown.gif urlize user   * 1     Ÿ ª  œ      Â ª  œ      « ª  œ      š ª  œ      Ã ª  œ      ½ ª  œ       ª  œ      ¸ ª  œ      ò Å     å ­     è ²     â ²     ô ª     ÷ ²     Ò ²     ì ¬     é ª     á ¬     Ý ²     Þ Ä     Í ®      ” …  ›   ô     ¤*· 6*+µ K» 5Y,	· ::*¶ Iµ N*¶ I¸ Lµ V*¶ Iµ X*¶ Iµ A*¶ I¸ Mµ P*¶ I¸ Lµ O*¶ I¸ M Yiµ G*´ V  *¶ Iµ D*-µ =*´ N
¶ >™ 
*
µ H±**´ N*´ N/¶ B`¶ Rµ H±    ¯   >   R T 	U V W *X 3Y <Z H[ T\ d] u^ z_ ` £R   ” €  ›        *· 6±    ¯      d   Þ ‚  ›   É     *´ FÇ x*´ K» 3Y· 9*´ N¸ W¶ ;¶ U¶ @L+2¶ Cž !» *´ K*´ N+2¶ S· 8*µ F§ 3*+¾d½ *µ F=§ *´ Fd» *Y*´ K+2*· 7S„+¾¡ÿã*´ F°    ¯   6   i j k j %l .o Dp Il Ls Wt \u st |x   Ï ‹  ›   Z     **¶ EM,Æ ">§ ,2´ H+¶ >™ ,2°„,¾¡ÿé°    ¯      } ~ 	 €   (ƒ   Æ †  ›   Ÿ     _*´ F¾`½ *M>6§ 3*´ F2´ H+´ H¶ <ž š ,+S„,`*´ F2S„*´ F¾¡ÿÉš ,*´ F¾+S*,µ F±    ¯   .   ˆ ‰ Š ‹ +Œ 0 3 @Š M‘ Y’ ^†   Ê †  ›   l     <*´ F¾d½ *M>6§ *´ F2+¥ ,„*´ F2S„*´ F¾¡ÿà*,µ F±    ¯      — ˜ ™ š *˜ 6› ;•   ë   ›   Q     -*´ Vš %*´ K´ Q*´ N¶ ?Ç *´ K´ J*´ N¶ ?Ç ¬¬    ¯        ¡ ¢ )   “ €  ›   w      3½ 2YSYSYSYSYSYSYSYS³ T±    ¯   2   A B A B A  C "A &C (A ,D .A 27  Á    §   0707010000eb82000081a40000000000000002000000013d1fe2d60000107e000000200000000000000000000000000000001e00000003reloc/file/RenameWindow.class Êþº¾  -9 § Ä Í õ ö ú û#%&'()*+ Æ Ç È É Ê Ë Ì Ð Ñ Ò Ó Ô Ö × Ù Ú Û Ü Ý ã ä ê ë ì í î ï ð ñ ò ó

   t
 / t
 5 t
 1 u
 3 v
  w
  x
 4 x
 : x
 7 y
  z
 * {
 0 |
 0 }
 : ~	 + 	 " €
 * 	 * ‚	  ƒ
 2 „	 + …	 + †
 * ‡
 ; ˆ
 6 ‰
  Š
  ‹
 9 Œ
 9 	 * Ž	 * 	 + 	  ‘	 + ’
 8 “	 * ”
 ! •
 < –	 + —
 6 ˜
 6 ™
 0 š
 2 ›
 8 œ
  	  ž
 9 Ÿ
   
  ¡	 " ¢
 : £
 9 ¤
  ¥
 9 ¦ Å ª Å ¬ Å ® Å µ Å ¾ Å À ø ± ø ² ø ´ ø Á ù ½ ü Þ ý è ÿ ²  á à ª á ß º · © »	 ¿ « ¨ ÷ æ å ç å ª  æ! ª" ¹$ Þ, ®- Ã. ¶/ ¾0 ª1 ³2 á3 ­4 ¼4 Â4 æ5 ©6 ©7 ¼8 ¸ &new= ()I ()Ljava/lang/String; ()V (I)I (I)V (II)Ljava/lang/String; (II)V (LCbButton;)V (LFileManager;LRemoteFile;)V (LFileNode;)V (LRemoteFile;)V (LRemoteFile;)Z *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/Object; &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z  (Ljava/lang/String;)LRemoteFile; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (Z)V / <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame 	Hierarchy HierarchyNode 
LCbButton; LFileManager; LHierarchy; LRemoteFile; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/TextField; Ljava/lang/String; Ljava/util/Hashtable; Ljava/util/Vector; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South West [LRemoteFile; add append cancel 
cancel.gif cancel_b ch click delete 	directory dirs dispose file filemgr find get getText 	get_image get_text java/awt/BorderLayout java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/String java/lang/StringBuffer java/util/Hashtable java/util/Vector lastIndexOf length list name newname nodemap oldname pack path redraw removeElement rename.cgi?old= rename_b rename_eexists rename_efailed 
rename_new 	rename_ok 
rename_old rename_title save.gif select setEditable 	setLayout setTitle show 
show_files showing_files 	substring text toString trim urlize valueOf   +        ß     á     å     å    $ Þ     ü Þ      Å °  Î  å    a*· =*+µ S*,µ R*» /Y· >¶ g**´ S*´ R´ a¶ n¶ h» 5Y· ?N» 5Y· ?:-» 3Y· A¶ g-» 4Y*´ S¶ m· D¶ IW-» 4Y*´ S¶ m· D¶ IW» 3Y· A¶ g*» 7Y*´ R´ \· FZµ _¶ IW*´ _¶ f*» 7Y*´ R´ \· FZµ ]¶ IW*´ ]*´ R´ \¶ Z*´ R´ \¶ Z¶ e*-¶ JW*¶ JW» 5Y· ?:» 1Y· @¶ g*» Y*´ S¶ W*´ S¶ m*· BZµ d¶ IW*» Y*´ S¶ W*´ S¶ m*· BZµ L¶ IW*¶ JW*¶ `*¶ i±    â   r       - > K ` u ƒ ž  ¦! Á" Ü# í% ö&'()')*9+B,D*O-X.\/`  þ ¯  Î    	  q+*´ d¦_*´ ]¶ V¶ qM,¶ Zš ±*´ R´ O,¶ TN-Æ » *´ S	,¶ n· C±*´ R´ a/¶ Y6» :Y*´ R´ a¶ l¸ s· E¶ K,¶ K¶ p:*´ S» :Y· E*´ R´ a¸ r¶ K¶ K¸ r¶ K¶ p¶ X:2¶ Zž » *´ S
2¶ n· C±*´ R,µ \*´ Rµ a*´ R´ O*´ R¶ N*´ R´ O*´ R¶ H*´ Rµ [*´ S´ ^*´ R´ O¶ UÀ :*´ S´ ^*´ R¶ UÀ :Æ 4Æ /*´ R´ \µ o´ M¶ cW¶ G*¶ Q*´ S´ P¶ b*´ S*´ S´ k¶ jW*¶ Q±+*´ L¦ *¶ Q±    â   Ž #  4 6 7 8 '9 +: ;; <? J@ oA sB ‰C ™A žD ¨E »F ¼J ÄK ÍL ÛM éN ñOPQ$R0S;TBUFVPY_Zc4d\l]p2  ô    Ø  0707010000eb83000081a40000000000000002000000013d1fe2d600000947000000200000000000000000000000000000001d00000003reloc/file/ResizePanel.class  Êþº¾  - v O Z [ \ ] ^ _ `
   
  !
  "	  #	  $	  %
  &	  '
  (
  )	  *
  +
  ,	  -	  .
  /
  0	  1
  2
  3
  4	  5	  6 E 8 E 9 S < U L V J W R X : Y J a 8 b @ c M d ? e 7 j J l H n 8 o : p M q ; r C s 7 t L u J ()Ljava/awt/Dimension; ()V (II)V (IIII)V (Ljava/awt/Color;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Component;)V ,(Ljava/awt/Component;Ljava/awt/Component;D)V *(Ljava/awt/Container;)Ljava/awt/Dimension; (Ljava/awt/Container;)V (Ljava/awt/Event;II)Z (Ljava/awt/Graphics;)V (Ljava/awt/LayoutManager;)V )(Ljava/lang/String;Ljava/awt/Component;)V <init> Code ConstantValue D 
Exceptions I LineNumberTable Ljava/awt/Color; Ljava/awt/Component; LocalVariables ResizePanel ResizePanel.java 
SourceFile Z add addLayoutComponent black border dragging drawLine height java/awt/Color java/awt/Component java/awt/Container java/awt/Dimension java/awt/Graphics java/awt/LayoutManager java/awt/Panel layout layoutContainer left minimumLayoutSize minimumSize 	mouseDown 	mouseDrag mouseUp paint pos preferredLayoutSize ratio removeLayoutComponent repaint reshape right setColor 	setLayout size white width !        c M     p M     j J     l H     W R     V J   
  E >  F   r     6*· 	*µ *dµ *+µ *,µ *)µ **¶ **´ ¶ W**´ ¶ W±    K   * 
     	 	          #  ,  5   i B  F   ·     *¶ M*,´ ‡*´ kŽµ +² ¶ +*´ d*´ `¶ +*´ d*´ d,´ d¶ +² ¶ +*´ `,´ d*´ d,´ d¶ +*´ `,´ d*´ `¶ ±    K   & 	          -  D  K   g ! ~   f A  F   H     $*¶ :*´ d¡ *´ `£ *µ *´ ¬    K       &  (  *  ,  g A  F   š     b*´ ™ Y*¶ :*´ ¢ **´ µ § '´ *´ d¤ *´ *´ dµ § *µ **´ ‡´ ‡oµ **¶ *¶ *´ ¬    K   & 	   1  2  3   4 ? 5 D 6 T 7 Y 8 ] :  h A  F   .     *´ 6*µ ¬    K       ?  @  A  T D  F         ±    K       D  b @  F   ƒ     S+¶ M*,´ ‡*´ kŽµ *´ *´ d,´ ¶ *´ ¶ *´ *´ `,´ *´ dd,´ ¶ *´ ¶ ±    K       J  K  L ' M . N K O R H  d ?  F   _     7*´ ¶ M*´ ¶ N» Y,´ -´ `,´ -´ ¤ 
,´ § -´ · 
°    K       T  U  V  W 3 V  k ?  F        *+¶ °    K       \  m =  F         ±    K       _  Q    P 0707010000eb84000081a40000000000000002000000013d1fe2d6000007f4000000200000000000000000000000000000001c00000003reloc/file/ResizePanel.java   // ResizePanel
// A panel with left and right parts, whose midpoint is adjustable
import java.awt.*;
import java.util.Vector;

public class ResizePanel extends Panel implements LayoutManager
{
	Component left, right;
	int pos = -1;
	double ratio;
	boolean dragging;
	int border = 100;

	public ResizePanel(Component l, Component r, double rt)
	{
	left = l;
	right = r;
	ratio = rt;
	setLayout(this);
	add(left);
	add(right);
	}

	public void paint(Graphics g)
	{
	Dimension s = size();
	pos = (int)(s.width * ratio);
	g.setColor(Color.white);
	g.drawLine(pos-2, 0, pos+1, 0);
	g.drawLine(pos-2, 0, pos-2, s.height-2);
	g.setColor(Color.black);
	g.drawLine(pos+2, s.height-1, pos-1, s.height-1);
	g.drawLine(pos+2, s.height-1, pos+2, 1);
	}

	public boolean mouseDown(Event evt, int x, int y)
	{
	Dimension s = size();
	int sh = s.height - 50;
	if (x >= pos-2 && x <= pos+2) {
		// Started dragging
		dragging = true;
		}
	return dragging;
	}

	public boolean mouseDrag(Event evt, int x, int y)
	{
	if (dragging) {
		Dimension s = size();
		if (x < border) pos = border;
		else if (x > s.width-border) pos = s.width - border;
		else pos = x;
		ratio = (double)pos / (double)s.width;
		layoutContainer(this);
		repaint();
		}
	return dragging;
	}

	public boolean mouseUp(Event evt, int x, int y)
	{
	boolean o = dragging;
	dragging = false;
	return o;
	}

	public void addLayoutComponent(String name, Component comp)
	{
	}

	public void layoutContainer(Container parent)
	{
	Dimension s = parent.size();
	pos = (int)(s.width * ratio);
	left.reshape(0, 0, pos-3, s.height);
	left.layout();
	right.reshape(pos+3, 0, s.width-pos-5, s.height);
	right.layout();
	}

	public Dimension minimumLayoutSize(Container parent)
	{
	Dimension l = left.minimumSize(),
		  r = right.minimumSize();
	return new Dimension(l.width + r.width,
			     l.height > r.height ? l.height : r.height);
	}

	public Dimension preferredLayoutSize(Container parent)
	{
	return minimumLayoutSize(parent);
	}

	public void removeLayoutComponent(Component comp)
	{
	}
}

0707010000eb85000081a40000000000000002000000013d1fe2d6000006f7000000200000000000000000000000000000001c00000003reloc/file/SambaShare.class   Êþº¾  - ˆ C D E F Q „ S T U V W Z [ \ ] _ ` b c f g j k l m n o p q r s u | } ~ 
 " 4
 $ 5
   6
 $ 7
 $ 8	  9	  :
 # ;	  <
   =
 ! >	  ?
 $ @
  A	  B R H R N R O w I w M x v y h z J { d € G ‚ K ƒ h … G † L ‡ v &available= 	&comment= &guest= 
&writable= ()Ljava/lang/String; ()V (I)Ljava/lang/StringBuffer; (Ljava/lang/Object;)Z (Ljava/lang/String;)I &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;C)V *(Ljava/lang/String;ZZILjava/lang/String;)V 1 <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem I LineNumberTable 
LinkWindow LinuxExport Ljava/lang/String; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile StringSplitter Z append 	available comment equals guest java/lang/Integer java/lang/Object java/lang/String java/lang/StringBuffer 	nextToken params parseInt path path= toString urlize writable    "      ƒ h     x v     ‡ v     { d     y h      R N  X   y     E*· %»  Y+:· 'M*,¶ .µ 0*,¶ .¶ ,µ **,¶ .¶ ,µ 3*,¶ .¸ /µ -*,¶ .µ +±    e   "   ¼ ¾ ¿ À $Á 1Â <Ã D¼   R P  X   P      *· %*+µ 0*µ **µ 3*µ -*µ +±    e      Æ È 	É Ê Ë Ì Æ    G  X   †     Z» $Y· &*´ 0¸ 2¶ )¶ )*´ *™ § ¶ (¶ )*´ 3™ § ¶ (¶ )*´ -¶ (¶ )*´ +¸ 2¶ )¶ 1°    e      Ñ Ò 'Ó ;Ô GÕ YÑ  t    a 0707010000eb86000081a40000000000000002000000013d1fe2d600000b31000000200000000000000000000000000000001d00000003reloc/file/ScrollImage.class  Êþº¾  - ´ w u –   v Š ‹ | ^ ° d h “ ž } „ †
  M
  T
  @	  D
  G
  [
  K
  Y
  X	  U	  ;	  N
  :
  A	  V	  9	  F
  W
  S	  Z
  P
  =	 	 B
  \	  <	  L
  Q
  H	 	 J
  R
  O	  I
  ?
 
 X
  >
  C	  E
  8  © ³ « Ž ¯ _ « ™ œ  §  ¬ r ‘ c £ s § p ² { b ‰ «  « ƒ ¤ c ” ~ — € y g ² ‚ ¦ … y ’ ˆ ¡ « ` Œ › © ˜ x ¥ b › Œ ¨ ] ® « ¢ i   c ‡ t ‡ š • z k c q (Ljava/awt/Graphics;)V java/awt/Color imgh getValue moved (IIII)V <init> java/awt/Container (LCbScrollbar;I)V 
SourceFile 	lightGray CbImageChooser Ljava/awt/Font; 
Exceptions 3(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z preferredSize moving LineNumberTable CbImageChooser.java black (Ljava/awt/Image;II)V 
drawString size repaint <None> CbScrollbarCallback South (III)V LCbScrollbar; 	drawImage reshape CbScrollbar Util add (Ljava/awt/Color;)V vsc minimumSize setImage compute_scrollbars java/awt/FontMetrics hsc java/awt/Component ()V (Ljava/awt/LayoutManager;)V pw ScrollImage java/awt/BorderLayout ()I stringWidth setFont getWidth ph (Ljava/lang/String;II)V 	setLayout java/awt/Dimension (II)V Ljava/awt/Image; East <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; 	setValues fnm img 	getHeight Ljava/awt/FontMetrics; setColor java/awt/Graphics update CbImageFileWindow width f (ILCbScrollbarCallback;)V Z fillRect (Ljava/awt/Image;)V ()Ljava/awt/Dimension; paint (Ljava/awt/Image;)I ConstantValue I (Ljava/lang/String;)I Code height (Ljava/awt/Font;)V java/awt/Panel LocalVariables Ljava/awt/Color; imgw    
      š •     ³ «     _ «     ‰ «      «     € y     … y     ƒ ¤   
   c ¦  ­   *     *++¸ 7+¸ &· )±    n   
    –  ”   c q  ­   ’     N*· 3*µ "*µ *µ 6*» Y· ¶ **» Y*· Zµ 1¶ -W**» Y*· Zµ +¶ -W*+¶ ±    n   2    ™  ’ 	 ›  œ   &  '  3 ž ;  < ž H Ÿ M ™   ‚ ¦  ­   \     ,*+µ %*´ %Æ **´ %¸ 7µ !**´ %¸ &µ *µ "*¶ ±    n       ¤  ¥  ¦  § " © ' ª + ¢  ¨ ]  ­  Ÿ    *¶ ´ *´ 1¶ ´ d=*¶ ´ *´ +¶ ´ d>*´ "™ j*´ %Ç *´ +¶ ,*´ 1¶ ,§ G*´ !¢ *´ +¶ ,§ *´ +*´ !¶ ,*´ ¢ *´ 1¶ ,§ *´ 1*´ ¶ ,*µ "+² .¶ #+¶ /*´ %Æ I*´ !¢ &*´ ¢ +*´ %*´ !dl*´ dl*¶ W±+*´ %*´ +¶ 0t*´ 1¶ 0t*¶ W±+²  ¶ +² (¶ #:+² *¶ 4dl² *¶ $dl¶ 2±    n   n    ¯  ° & ± - ² 4 ³ > ´ H ² K · ` ¸ m ¹ ‚ º  ¼ ” ¿ › À £ Á ª Â º Ã Ô Â Õ Å ï Á ð È ÷ É þ Ê Ë Ì Ë ­  Ÿ ]  ­        *+¶ ±    n       Ð  { b  ­   7     *· 5*µ "*¶ ±    n       Ô 	 Õ  Ö  Ò  a e  ­   !     *¶ ±    n   
    Û  Ù  m e  ­         ±    n       Þ   §  ­   (     » Y*´ *´ 6· °    n       â  l §  ­        *¶ '°    n       ç  f    o   0707010000eb87000081a40000000000000002000000013d1fe2d600001ea4000000200000000000000000000000000000001e00000003reloc/file/SearchWindow.class Êþº¾  -ò=\)>™š?G®ACKQwy‚ƒ„‰Ž¬´µº»½¿ÀÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔñDEFGHIJNOPRSUVXYZcdjklmnopqrstux|š›œžŸ ¡¢£¤¥¦§¨©ª«
 F Ã
 U Ã
 W Ã
 Y Ã
 Z Ã
 ` Ã
 \ Ä
 b Ä
 ^ Å
 \ Æ
 P Ç
 ; È
 A É
 _ É
 h É
 b Ê
 X Ë
 J Ì
 [ Í
 [ Î
 Z Ï
 U Ð
 J Ñ
 S Ò
 h Ó	 S Ô
 g Õ
 J Ö	 S ×
 ] Ø
 g Ù	 S Ú	 C Û
 C Ü	 S Ý
 Z Þ
 X ß
 a à
 C á
 C â	 S ã	 S ä
 g å
 g æ	 S ç
 P è	 S é	 S ê	 S ë	 P ì
 c í
 e î	 P ï	 S ð	 S ñ
 J ò	 S ó
 J ô
 U õ
 ] ö
 J ÷
 [ ø
 ] ù
 J ú
 c û	 C ü	 P ý	 S þ	 S ÿ
 C 
 g	 S
 C	 P
 h
 g	 P	 S	 S		 S

 C	 S	 S
 g	 S	 S      è     B@BB#B%B&B)B,B4B6B8B?}+}9~4~:@€;3…]†!‡Šg‹/^_‘<’e“”•–1—5˜g™e­"®¯g° °_±g²g³h¶·0¸h¹z¼e¾#Á]Õ#Õ4Ö#×=Ø-Ù4Ú>ÛÜ`Þ\ßeàeá'â$ãaä2å{æçè[èfé{êeë2ìeígî.ïeðe    B  MB  kB &group= &match= 	&size=%2B 	&size=%2D &type= &user= &xdev=1 ()I ()Ljava/lang/String; ()V ()Z ()[LRemoteFile; (I)C (I)I (I)V (II)Ljava/lang/String; (II)V (III)V (JI)Ljava/lang/String; (LCbButton;)V .(LFileManager;Ljava/lang/String;LRemoteFile;)V (LMultiColumn;I)V *(Ljava/awt/Component;)Ljava/awt/Component; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V &(Ljava/lang/Object;)Ljava/lang/String; (Ljava/lang/Object;)Z (Ljava/lang/String;)I $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V "(Ljava/lang/String;LFileManager;)V .(Ljava/lang/String;Ljava/awt/CheckboxGroup;Z)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; )(Ljava/lang/String;Ljava/awt/Component;)V I(Ljava/lang/String;Ljava/awt/Component;Ljava/awt/Panel;Ljava/awt/Panel;)V !(Ljava/lang/String;Z)LRemoteFile; (Z)V ([F)V +([Ljava/lang/String;LMultiColumnCallback;)V ([[Ljava/lang/Object;)V / <init> ?dir= 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow East EditorWindow ErrorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I J 
LCbButton; LFileManager; LMultiColumn; LRemoteFile; LTabbedPanel; LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Checkbox; Ljava/awt/Choice; Ljava/awt/TextField; Ljava/lang/String; LocalVariables MkdirWindow MultiColumn MultiColumnCallback 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South TabbedPanel West [LRemoteFile; [Ljava/lang/String; [[Ljava/lang/Object; add addItem addItems add_item append c cancel 
cancel.gif cancel_b charAt clear click d dir dispose doubleClick equals f filemgr files find_directory gany getSelectedIndex getState getText 	get_image get_text group gsel java/awt/BorderLayout java/awt/Checkbox java/awt/CheckboxGroup java/awt/Choice java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/lang/Exception java/lang/Integer java/lang/Object java/lang/String java/lang/StringBuffer l lastIndexOf length less list match more name no p pack parseInt path results 
right_name 
right_size sany save.gif scrollto 
search.cgi 
search_any search_b search_crit 
search_dir search_edir search_egroup search_ematch search_esize search_euser search_group search_less search_list search_match search_more 	search_ok search_size search_title search_type search_types_ search_user search_xdev select 	setCursor setDrawLines 	setLayout setTitle 	setWidths show showing_files singleClick size sless smore spad 	substring tab text tmap toString trim type types uany urlize usel user valueOf xoff xon yes   S F  < K   ãa    °_    Á]    …]    ^    Šg    ±g    íg    ˜g    êe    ìe    ’e    ™e    èf    ¼e    àe    ße    ²g    ¯g    ðe    ïe    é{    ¹z     B7 L  Ä    x*· i*½ gYSYSYSYSYSµ ·*,µ ˆ**´ ˆ0¶ ±¶ §*» WY· k¶ ¦*» UY· jµ °» `Y· nN-» WY· k¶ ¦*´ °*´ ˆ"¶ ±-¶ ~» `Y· n:» `Y· n:» ^Y· q¶ ¦» ^Y· q¶ ¦½ gYSY*´ ˆ¶ ±SY*´ ˆ¶ ±S:¼YQYQYQ:*» JY*· zµ —*´ —¶ ¨*´ —¶ ¥*´ °*´ ˆ+¶ ±*´ —¶ ~**´ ˆ#¶ ±*» bY+· xZµ …¶ €**´ ˆ,¶ ±*» bY· pZµ ˜¶ €» `Y· n:» \Y· r¶ ¦» YY· l:	*» XY*´ ˆ!¶ ±	· yZµ ¸¶ {W*» XY	· yZµ º¶ {W*» bY
· pZµ »¶ {W**´ ˆ3¶ ±¶ €» `Y· n:

» \Y· r¶ ¦» YY· l:
*» XY*´ ˆ!¶ ±· yZµ ‹¶ {W
*» XY· yZµ ’¶ {W
*» bY
· pZµ ‘¶ {W**´ ˆ)¶ ±
¶ €*» ZY· mµ ¶6§ **´ ¶*´ ˆ» hY2· w*´ ·2¶ ¶ ³¶ ±¶ }„*´ ·¾¡ÿÒ**´ ˆ1¶ ±*´ ¶¶ €» YY· l:**´ ˆ/¶ ±*» XY*´ ˆ!¶ ±· yZµ Ÿ¶ €» `Y· n:» \Y· r¶ ¦*» XY*´ ˆ-¶ ±· yZµ ­¶ {W*» bY
· pZµ ™¶ {W*¶ €» `Y· n:» \Y· r¶ ¦*» XY*´ ˆ*¶ ±· yZµ ¬¶ {W*» bY
· pZµ •¶ {W*¶ €» YY· l:» `Y· n:» \Y· r¶ ¦*» XY*´ ˆ5¶ ±· yZµ ½¶ {W*» XY*´ ˆ¶ ±· yZµ ¾¶ {W**´ ˆ4¶ ±¶ €-¶ |W-¶ |W**´ °¶ |W» `Y· n:» \Y· o¶ ¦*» ;Y*´ ˆ¶ *´ ˆ.¶ ±*· tZµ ¡¶ {W*» ;Y*´ ˆ¶ *´ ˆ¶ ±*· tZµ ‚¶ {W*¶ |W*¶ ›*¶ ©±   b  : N  ¦ £ %¨ *© 7¬ B­ M® U¯ `° q± ƒ² ‘³ Ÿµ ¶¶ ¿µ Â· Ö¸ ä¹ íº õ»	½)¿HÁQÂ`ÃiÄ‡ÅžÆ²ÇÅÉÎÊÝËæÌÍÎ/ÏBÑMÒSÓwÒ„Ô™Ö¢×¬ØÄÙÈ×ËÚÔÛãÜÝÞ!ß*à9áWâkãwå€æ‰ç˜è¶éÔêçìùíðñò*ó3ô5ò@õPöY÷[õføoùsúw¦  €; L   `     4-» _Y+· v¶ {W» `Y· n:» WY· k¶ ¦,¶ |W¶ {W±   b      ÿ 	  	 "	 +	 3ý ˆ( L  « 	 
  g+*´ ‚¦ *¶ †±+*´ ¡¦T M*´ …¶ Ž¶ ´N-¶ ”™ -¶ ƒ/Ÿ » A*´ ˆ$¶ ±· u±» hY,¸ ¼· w¶ -¸ ¹¶ ¶ ³M*´ ˜¶ Ž¶ ´:¶ ”š » A*´ ˆ&¶ ±· u±» hY,¸ ¼· w	¶ ¸ ¹¶ ¶ ³M*´ ¶¶ Œž &» hY,¸ ¼· w¶ *´ ·*´ ¶¶ Œ2¶ ¶ ³M*´ º¶ ™ C*´ »¶ Ž¶ ´:¶ ”š » A*´ ˆ(¶ ±· u±» hY,¸ ¼· w¶ ¸ ¹¶ ¶ ³M*´ ’¶ ™ C*´ ‘¶ Ž¶ ´:¶ ”š » A*´ ˆ%¶ ±· u±» hY,¸ ¼· w¶ ¸ ¹¶ ¶ ³M*´ ­¶ ™ J*´ ™¶ Ž¶ ´:¸ œW§ W» A*´ ˆ'¶ ±· u±» hY,¸ ¼· w
¶ ¶ ¶ ¶ ³M§ Q*´ ¬¶ ™ G*´ •¶ Ž¶ ´:¸ œW§ W» A*´ ˆ'¶ ±· u±» hY,¸ ¼· w¶ ¶ ¶ ¶ ³M*´ ¾¶ ™ » hY,¸ ¼· w¶ ¶ ³M*¶ ¤*´ ˆ,¶ :2¶ ”ž » A2· u±¾dÅ V:*¾d½ Pµ ž6§ Þ» PY*´ ˆ2· s:*´ ždSd½ f[S:		*´ ˆ² ²´ µ2¶ S	´ S´ « ¿”œ )	» hY*´ ˆ´ «¶ ®¸ ¼· w¶ ¶ ³S§ `´ « Á”œ -	» hY*´ ˆ´ « ¿m¶ ®¸ ¼· w¶ ¶ ³S§ *	» hY*´ ˆ´ « Ám¶ ®¸ ¼· w¶ ¶ ³S„¾¡ÿ *´ —¶ „*´ —¶ *´ °*´ ˆ+¶ ±¶ £*¶ ¤± v| dÇÍÐ d b  " H  	 		 	 	
 	 	 #	 4	 C	 D	 _	 k	 s	 ‚	 ƒ	 Ÿ	 ©	 Ì	 Ö	 â	 ê	 ù	 ú	!	# 	$,	%4	&C	'D	)`	+j	,v	-	.€	/	0	2®	+±	4»	5Ç	6Ð	7Ñ	8à	9á	;ÿ	=		>	A"	B,	C6	D@	EA	GL	HX	I^	Jq	K|	LŠ	Mž	N§	O³	PÖ	OÙ	Qå	R	Q	T6	IA	VH	WQ	Xa	Yf	 Ý* L         ±   b      	] Œ* L   Î     †*´ ž2N-´ /¶ “6š § -´ ¶ ¯:*´ ˆ¶ ŠW*´ ˆ´ ª¶ –:6§ 72´ š-´ š¶ ‡™ "*´ ˆ´ ‰`¶ ¢*´ ˆ´ ‰`¶  § „¾¡ÿÇ*¶ †±   b   6   	d 	e 	f (	g 3	h ?	i E	j W	l e	m s	n v	i 	q …	b v   W07070100010241000041ed0000000000000001000000023d1ffa3300000000000000200000000000000000000000000000001200000003reloc/file/images 07070100010242000081a40000000000000002000000013d1fe2d6000000c1000000200000000000000000000000000000001a00000003reloc/file/images/acl.gif GIF89a  ã  ÿÿÿòòòæææÙÙÙÌÌÌ²²²¿¿¿¦¦¦€€€fff333LLL   &&&sssYYY,       vÈI«½5ˆ-°D!Šx”Pf„NÅ/@_·':î½3}Ã!Æl*(Db:U,¨SDËè6°Z´ÚíŽaÌYQfœÓ—s¢ì o¹W»;ÏSár}|€‚~YwTuz
’“”’…5˜™ ;   07070100010243000081a40000000000000002000000013d1fe2d600000076000000200000000000000000000000000000001a00000003reloc/file/images/add.gif GIF89a  Â  ÿÿÿŽÿŽUÿU ÿ ªÿªÇÿÇÿÿÿÿ!ù    ,       ;ºÜþ0ÊI«AèÛÄøã¡2¥ù¡éik,¯<ß¬cã2Th@Ã
´¸Z4$©td&K™MjJ­Z ;  07070100010244000081a40000000000000002000000013d1fe2d6000000b4000000200000000000000000000000000000001b00000003reloc/file/images/attr.gif    GIF89a  ã  ÿÿÿÇÇÇUUUrrr   ªªª999ŽŽŽãããÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,       iÈI«½8ëÍg ÐYaÁHæ JK/ ˜·™ªgp´ªØ€0ÑF?‚(Ñë0MIRÄ)š&VBg:y¢¯ìDÍdÇ§-_'÷d­Ì”®¤SC/Sà&	!;!‚5Š‹Œ  ;07070100010245000081a40000000000000002000000013d1fe2d600000061000000200000000000000000000000000000001d00000003reloc/file/images/binary.gif  GIF89a  ¡  ÿÿÿÌÌÌfff   !ù    ,       2„©zÇ„¬jÛ
2N}A"åDžø•˜Štè¨™¢L¶³³k½t|û•|9ÄJ·I’
 ;   07070100010246000081a40000000000000002000000013d1fe2d60000006b000000200000000000000000000000000000001d00000003reloc/file/images/cancel.gif  GIF89a  €  ÿÿÿÿ  !ù    ,       B„©Ë‚aR	h=z³þhŸ¨€á5¢†Ù˜¬Ó½Rais2F{|ïk‘v§Ú
WBU7c1HÔ1•$æÌi·€ ; 07070100010247000081a40000000000000002000000013d1fe2d600000071000000200000000000000000000000000000001b00000003reloc/file/images/copy.gif    GIF87a  ¡  ÿÿÿÌÌÌ™™™   ,       J„©ËÝ£t²@AL¢ûŸLGÇˆ„^y*àbVÜë¶Hìà—ééØ³)>Q¨
ÊnJÃ/y\sH€ŽUA]aÔhé¦eÆdF ;   07070100010248000081a40000000000000002000000013d1fe2d600000077000000200000000000000000000000000000001a00000003reloc/file/images/cut.gif GIF87a  ¡  ÿÿÿÌÌÌfff   ,       P„©ËÍ£t>
âus®m‡@ß((ç¤YBº&»+]¾m^5qóP‚"Å˜¸¡lä'Ó5‰7^Özr`9¥°áU$äæŒN«×ê ; 07070100010249000081a40000000000000002000000013d1fe2d60000005a000000200000000000000000000000000000001d00000003reloc/file/images/device.gif  GIF89a  ¡  ÿÿÿ™™™fff   !ù    ,       +„y±š™3,Úiãî.) '%rÂz6TÉÆSÌnôjß³Þ:ò¦2
 ;  0707010001024a000081a40000000000000002000000013d1fe2d600000058000000200000000000000000000000000000001a00000003reloc/file/images/dir.gif GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       )„iÁ-j„œ¶‹] œÝ…_(‚$5ž¨©
ië²êÛÒ³;äú¾C>P  ;0707010001024b000081a40000000000000002000000013d1fe2d600000080000000200000000000000000000000000000001b00000003reloc/file/images/down.gif    GIF89a  Â  ÿÿÿ   ¿¿¿@@@ÿÿÿÿÿÿÿÿÿ,       MºÜþ-È) ÔB,«v\à}L8’Š‰–Ü‰ªkÚÆ2æ’ð3|/„o° „ŽBÃˆ<*Ìæäùˆ6©+¥ÆºX.&¼b’¿g) ;0707010001024c000081a40000000000000002000000013d1fe2d60000008a000000200000000000000000000000000000001b00000003reloc/file/images/edit.gif    GIF87a  Â  ÿÿÿÿ  â¯†ÌÌÌ™™™         ,       WºÜþ0Ê¹B QXü„C(Žƒâ	`	•g:ÃñÐ:cöò<÷7ž)Ñ`@ji-y>Y¡ ¨Iž‹éÛ0"‘n˜"Þ’¯çbš9)+HpgNŸ$  ;  0707010001024d000081a40000000000000002000000013d1fe2d600000487000000200000000000000000000000000000001a00000003reloc/file/images/ext.gif GIF89a  ç  øøøÑÑÑJJJFFFÉÉÉììì   ÏÏÏ­­­RRR+**777KKLffg§§§ZZZššš›››–––###´´´MKF™y²‘~*}vc'''ïïïÄÄÄ€[ò»îÌ$æÉÙ±$ÍÍÍÌÌÌeU2Ï¡Ï§Ã‘Ì¦O+)%vvv‹‹‹´¡~µ–UÃ¶š•••ßßßÒÒÒ000êêêàààÚÚÚõõõòòòPPPííí333ˆˆˆöööïïðhhh†††~~~			¾¾¿ôôô÷÷÷ÛÛÛ¾¾¾ÓÓÓ^^^îîîjjjÁÁÁÐÐÐ¤¤¤ñññ


ÇÇÇWWW£££ÒÎÄŠl	qgI÷ôî½³—		¼¼¼÷öõà¸[ï¼Û­c^MéééîØžÓ« {e
òåŸäÅvâ¯,ì²ñ¿ñ¾ }---ÖÖÖÎ¹…Þ£‘ddë²ôÔjæ²&ñ¿ð¿ò¾C3OOO³rã¨è­í³õÝˆø÷ôâ®.Û«àÛÑY>ê®ð¾ï½öé¾ø÷öÞ¥í¶ð»ñ¾ê°p4———zzzjIð¼é½3ñÞªÞÇ—Í¥Q¿ŠÊ‘	ß¦ç¯Í”
bB///(((hH	Ñ–
äªÑ˜Õ¹z÷öôóòðØÐÀ»¤w•l[¼´¦¯¢‰†\—mË½£ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,       þ 80€€
 È°¡ÀH, `Ã‹ H”Ø Œ@ˆ@Â
@6´pC…6$PÉC@„‘`Í$J˜8"…Š+~
dÑÂÅ1d˜¡€5lÜ8€#‡Ž?yôðñH B†$ B³ˆ‘#  $‰‰KT2iâäÉ( D‘2e •* XqxÅ
–,Z0náÒEà†^¾€	sÖ¡ƒÅ0”’`L‚-ÉP)šá

˜qxMšË DT³†M7oÂ‰#g: p´sO‚<zîáÓÇÏ@„2ˆP!C‡m1L¤h‘yF1|)’$?~&QXéŸEÖ-]ˆä¦LšÜçÇ&œÔ‰'Ÿ€Ê"ˆ2
)”ÒC¦ˆ‚ß)¨¤B*«°ÒŠ+¯À‹,Ì2-µØr.¹èâÐ.¼ôâË/À0Œ0ÃÃP@ ; 0707010001024e000081a40000000000000002000000013d1fe2d6000006da000000200000000000000000000000000000001b00000003reloc/file/images/file.gif    GIF89aû / ã  ÿÿÿUUU   ªªªãããÇÇÇrrr999ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    û /  þÈ„½8ç1s˜R…dižè Y_º
-*Ïtmßx®OÄë_‰!s e»¤H3-=É¨tJ­¿‰
ÃA­´'¦I*øºà´z=b_JÆ Ú^ì“Jøèy‚ƒuo/1b$vh„{(>„“”jb™š››hG$bA“‹=,'n+H•¬­;b6³³€‘#”~c|¸½®ÄÅ3¶Vq”bÀ«%¦ÏEÆØÙ jfc3´TÂŒ¹ŠÕŒ2´É:â7ñ´¢8á±9´ï:³…Ñn$àtÔY@ÀïÆ‘EN¬‰i˜€\°†!64`ñ€=„þ¦aðH#!!œ>‚à¨ä‰›&Tëó‡E».ä ð$<Ë`0 R@‰E™ „ÒŠ¦Ø%¥ §„îp³€0f!2ÄQ3¬¹	^ßøšA*APšN—T{tT×@°•Ôœ'`µLZÂC‘M,nEámˆ›$kXürÃÛ[ÖRB+NoTúõP– äÈhþA@ec¼°¼dPIƒT¬² Ä°Îê2 ÍñÄ‚¸»"¯Ytobuö¼r¯A‡@J7š×ŒÚi—'“°²Vñ19GQêgySÏE6@·z’™ŠÀm‚¤Æý" •U¹†ýdþµfï	aQiÄ]ešsè•žm ‹BÓƒA¾MƒG(:6Axd¬0 ØÁ BlyWÕd'®`Ïj­EVž-’L‚+Ì	
¡^…Ø—·M-bàšOßáÆ•Šr}6T„ÂA·BŠSJy•*:Èàt¸%ÂÃl&p#‹p—-ÁLY"©")¥7ào3ÂÕà‡Qz¹Ð«	)Auîm‰Âr+4²Út"E³ÚZfÖÐ#z@t ¤æ¶	?áÝÈd’Øb A%E)Ã£u}Ó$:2(@2j¢œ|é¤b.Ò…Uv)Q·ÒØiDéÍ "ŸyÎ5g£ÊþÎJ©#–°_Ûm§ç«ÿX3&ÕúåÐ­ºJ L(þZ‘¥1‹¥Sµ…Ôží™kŸÝš*¬õª*bv¸¬«{ÚðE¸¯uÑo öCˆû^QéJu†‡ò;š!cLìÃ5|Â)¾ú¼VªŽ…«Ž¤Å Û#’R!‰›þ) ‹(lBx÷2èÉ…3”ûíÃý^LW±†;M^¸	-€bÙÎÙt­qžØü" ÿË±Ã“âÐ×¥äì\´( ¨«f€¸üt)¸µ¢’Q—ZgnÿàÎ“ë…Œ$ûfm(_Ë .Ñ]ÖäL·ÛÑvBÐ\,MxhÀøŽÆç<œaþ`Çk	ØíÌ-âíøõ	pê@±Þd<wê:RÎ¶$J9B&Ë%»t6Lu•ÏŽ®%ÈxÌo°•é^dðvMw±STí/9¶ ¸•;_æ¾§'?çæ2žå$È/sÇ<GmOå„§xÅ¯£ÎjÍaÓJäO“»¶Á—OBø€–^@ßÃ›ÍŽ´µu9­Ö#Ð~á«èä­ôs´ÐR“©AGBv: êº°(’-°w~r`¥,X?
lØòïò÷ÀÞÅi"7€¡`é1Gl×RÅJwÁ²ø¥"Ä­¦Ä€psƒ£Aw§»ÿ¤­(#3ÿV˜%*…j+Ûþñ¢&ºÑ7èÚÕTá’ <¾["ûZˆ«-qe/ˆÑÏp×»	æÌªÈÄ!2g«Ž
+”]¥‘}—;áHÈå­*9÷ð!Í¶õA8"§a¼^¥Þ€Áæ¸ª8‚†JY1Ø¯U›±(A™5îMVÎbá §µÔÐW½q?ÍŒ€1¡ä(«( “7È$%TJÖ´Ò¨‚Ÿï”I+t`Zc‰f}Ä1n=Ì‘ cÉ™ €6Ô”—vÖÇ˜u*¢ùBJqØù+wÖA;ƒç*—8{þŸ&ÀG=Ê•kÐ#tœ+¨,S÷Uœò ³ §6{Žr€Là™Ù8£EóT´mEÅG 8\¢%a™H G'ÊÒ–ºô
y©LgJS4¢KÑ_MwÊÓ—ú,g§ì©P‡Z	1ðáDMªR+Ñ“úÌÂ]&]ªT§*Z.ŒªXÍê,yE­zõ«mÄ0
Ö²zõS‡ +%"  ;  0707010001024f000081a40000000000000002000000013d1fe2d60000010a000000200000000000000000000000000000001b00000003reloc/file/images/icon.gif    GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  07070100010250000081a40000000000000002000000013d1fe2d60000007c000000200000000000000000000000000000001c00000003reloc/file/images/image.gif   GIF89a  Â  ÿÿÿÌÌÌÿ ÿÿ    ÿ ÿ       !ù    ,       AªÑîk9AÅ!‚W/ŽO@yŸÄ‘%SY$‘I]ë‚£<Ã(¡ßL¾ó›®ðê]~„tü)—’ò	eL©ÅMh«H  ;07070100010251000081a40000000000000002000000013d1fe2d60000007f000000200000000000000000000000000000001f00000003reloc/file/images/makelink.gif    GIF87a  ¡  ÿÿÿÌÌÌ™™™fff,       X„©íVjÄj›€o~IO2çVŠìù©à‹­d§ÞNÊà»Å@DÏøº’‡csQ48¥’èÔö+^!Á€rˆÖÞDyöªÕhÄšÝÎÆ¡óq ; 07070100010252000081a40000000000000002000000013d1fe2d60000006a000000200000000000000000000000000000001c00000003reloc/file/images/mkdir.gif   GIF87a  ¡  ÿÿÿÌÌÌ™™™fff,       C„©Ëíß‚œ0ó¨çf¼qÓH–“`xßÊji¯¡Ãs]ß¸ýî­î“õ‚ 4<
ŒG&Ñ-Ôªõzåh·ÜG ;  07070100010253000081a40000000000000002000000013d1fe2d600000055000000200000000000000000000000000000001a00000003reloc/file/images/new.gif GIF87a  €  ÿÿÿÌÌÌ,       4„©Ëí¢œÆ*UÙÍž€Ø‡y$çié#¢ì
—oÓÊLíÞ*½ë³Ëñ†ÁÐçx©(—Ê ;   07070100010254000081a40000000000000002000000013d1fe2d600000072000000200000000000000000000000000000001b00000003reloc/file/images/open.gif    GIF87a  ¡  ÿÿÿÌÌÌ™™™fff,       K„©Ë­£[AØ+fªØj4„âH–ƒa¦fÄ¶n$„\G×ñ0Ûúïuèù:'áðR<Ú’J³‰yB-§àc0*³×‹á¦
Æäò¸  ;  07070100010255000081a40000000000000002000000013d1fe2d600000098000000200000000000000000000000000000001c00000003reloc/file/images/paste.gif   GIF87a  Â  ÿÿÿÌÌÌfff   ™™™         ,       eºÜþ ÈIa“0Ø5óŽÝ£	¤Ci¢0¬ÂõE*ë~Ú:˜o½â4`óÝm%ªxLrrFdK™;6§Š¥ÈhH§Z“Ä{ÀL2Áœ<¹'Ý36mý¾@µü.Y×Ï|}V{w	 ;07070100010256000081a40000000000000002000000013d1fe2d60000006b000000200000000000000000000000000000001b00000003reloc/file/images/pipe.gif    GIF89a  Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,       0ºÜÐ91F’QKpBHŒ^Œh)h÷lúÆäÜº›·êÐlÂŠÆF ; 07070100010257000081a40000000000000002000000013d1fe2d600000075000000200000000000000000000000000000001c00000003reloc/file/images/props.gif   GIF87a  ¡  ÿÿÿÌÌÌfff   ,       N„©Ëí¢œñÉÜÄxŠÿ!ÙB xŒJ‰ 3†‰¬&± Ð°!·øKrè‚WM´8¥v³žá¸l®˜¾)ñ´VmÔƒóÙÕÀJä
öŒÆ  ;   07070100010258000081a40000000000000002000000013d1fe2d60000005c000000200000000000000000000000000000001e00000003reloc/file/images/refresh.gif GIF87a  €  ÿÿÿ™™™,       ;„©Ëí¢|IÚù¬Š™Sæ}[ð]HèhšbY(Û$LÍn½îîáD6âh¸ ©Z— ÓiŒJ§ˆ ;07070100010259000081a40000000000000002000000013d1fe2d600000090000000200000000000000000000000000000001d00000003reloc/file/images/rename.gif  GIF87a  Â  ÿÿÿfff™™™ÌÌÌ            ,       ]ºÜþ0Êé‚½8k¡´÷Â@IƒØ\¡å oª´L<³ÙÙÎê™†á£íj1Ë¢¨ƒÙ”Â¥¦Õc«uZ¹ÞnÕ–¹Ãèye9h¥¸|N‡×ït·~ßH  ;0707010001025a000081a40000000000000002000000013d1fe2d6000000e5000000200000000000000000000000000000001a00000003reloc/file/images/ret.gif GIF89a  „  ÿÿÿÌÌÍ667çççÄÄÅIIKÝÝÞ¼¼¼''(––—ÁÁÂ++,ÕÕÖ""$

ÎÎÏmmn¹¹¹ÅÅÆ../ÊÊË334ÞÞß**+$$%ÿÿÿÿÿÿÿÿÿÿÿÿ,       j  ŽdižhªŠ0¬)Q›‰bìËM2Ï'r<„C‚LÂ"’ænB©Z¯QÅ"ívŒwŒÌhÈhÃ&6³Ç`ñ[ªåÎ‘#h—ŠÅ’–R=DFM‚D@H†D9BŠD246D$-/“—"! ;   0707010001025b000081a40000000000000002000000013d1fe2d600000082000000200000000000000000000000000000001a00000003reloc/file/images/run.gif GIF89a  ¡  ÿÿÿ   QQûú@!ù    ,       S„©ËíM˜´V„Þ\Ï”ub G(r¦Y¦»ºªÕÊ›5Ù)%þ?è}Þxò4DfPxË97ÍfQ
E­ËìöEéÂã¶|Å©Õ¥µ;P  ;  0707010001025c000081a40000000000000002000000013d1fe2d60000005c000000200000000000000000000000000000001b00000003reloc/file/images/save.gif    GIF89a  €  ÿÿÿ ÿ !ù    ,       3„©ËítANf¯ªzçnTÈQiŠæ9jê*¶:¿”ÄSÌËXOƒ S<Ž$­@ ;0707010001025d000081a40000000000000002000000013d1fe2d6000000b4000000200000000000000000000000000000001b00000003reloc/file/images/sdir.gif    GIF89a  ã  ÌÌÌ™™™ˆˆˆfff333   wwwUUU"""ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,       OðÉI«8+ƒÿ—¤€0:œß@…1€/h´ÁAà0Ï.!‰Â­R¿XPp %–œÇÇ\¥¸Y!Éü¨U\vÅn»9ðG ;0707010001025e000081a40000000000000002000000013d1fe2d600000083000000200000000000000000000000000000001d00000003reloc/file/images/search.gif  GIF87a  Â  øüøÈÌÈ˜˜˜   `d`         ,       PºÜþ*È +"i[ÈŒÖEôug•š¥Ú²ÖúÈí½3^ë7êŽÎB2 ™ÉG0 ŽH‘Âù„:¨Ö«3ÛÀrÞ/ ü%s	E±"­^$  ; 0707010001025f000081a40000000000000002000000013d1fe2d600000084000000200000000000000000000000000000001c00000003reloc/file/images/share.gif   GIF89a  ¡  ÿÿÿ™™™ÌÌÌfff!þMade with GIMP ,       K„©ËÝ!¢.É2­ ÞUQNæ¡çX
Ùê¶o3ÉS—3Îê÷’íÔg;r¤¥qƒå£š’¢ÍnfàõZÇä²£  ;07070100010260000081a40000000000000002000000013d1fe2d600000060000000200000000000000000000000000000001a00000003reloc/file/images/sub.gif GIF89a  Â  ÿÿÿÿÇÇÿUUÿŽŽÿªªÿ  ÿÿÿÿÿÿ,       -ºÜþ0ÊI«½8ëÍe`(†CDhª¦‚¹¾hð*?ß¨eçÿÀ pH,n ;07070100010261000081a40000000000000002000000013d1fe2d600000057000000200000000000000000000000000000001e00000003reloc/file/images/symlink.gif GIF89a  ¡  ÿÿÿÌÌÌfff   !ù    ,       („yÁ¡éâC¸i®ÅˆÍ9Ÿ61Ã!_z¬¬á¶˜ÓÛ¬¾¿J ; 07070100010262000081a40000000000000002000000013d1fe2d60000005b000000200000000000000000000000000000001b00000003reloc/file/images/text.gif    GIF89a  ¡  ÿÿÿÌÌÌ™™™   !ù    ,       ,„©zÇ\¢ÖØ–œ™‹9'‚—"cÆž—*®ð¼nôh§5+ë9ÞÑh ; 07070100010263000081a40000000000000002000000013d1fe2d60000004f000000200000000000000000000000000000001e00000003reloc/file/images/unknown.gif GIF89a  €  ÿÿÿÌÌÌ!ù    ,       &„©zÇ\0¶%ç¥ÚÕ~H(f£hy¨™–äÇ²UŒ¶ö¼a˜Q  ; 07070100010264000081a40000000000000002000000013d1fe2d60000009a000000200000000000000000000000000000001d00000003reloc/file/images/upload.gif  GIF87a  Â  ÿÿÿÌÌÌ   fffú@ÌÌÿ™™™   ,       gºþ0²é„½Ø†Éjþ§xŠd©‰c š,ªç4ÌeÍ÷{éÞÀ§‘dàÈä)!Ícl
>%"çÕA *²ícê(˜Ïh9€nÔÔøZì÷<~A€pr…†	 ;  07070100010265000081a40000000000000002000000013d1fe2d60000008a000000200000000000000000000000000000001b00000003reloc/file/images/view.gif    GIF87a  Â  ÿÿÿÿ  ÿÿ ÌÌÌ™™™         ,       WºÜ.:¨è“¸æûÆ`ICih(ˆ©S‚"fPÓD0x®)ív{Ôv pƒ$qC`édf„Ä§”áVPZðúñŽ­²2ýMËLð¸ùC¯o ;  0707010000eb88000081a40000000000000002000000013d1fe2d600002a57000000200000000000000000000000000000001f00000003reloc/file/SharingWindow.class    Êþº¾  -/0Xagƒ› ¡Ñåæèéêëìíòóôõö÷øùúûüýþÿ 	
Z[\]^_`defhjkmnoxyz‚„…†‡ˆ‰Š‹Ž¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊ
 A Ï
 O Ï
 P Ï
 R Ï
 S Ï
 Z Ï
 V Ð
 X Ñ
 X Ò
 7 Ó
 B Ô
 Y Ô
 ` Ô
 \ Õ
 Q Ö
 9 ×
 L Ø
 D Ù
 U Ú
 U Û
 S Ü
 O Ý
 N Þ
 N ß
 ` à
 ` á	 L â	 N ã	 N ä	 N å	 N æ	 L ç	 N è	 9 é	 N ê
 W ë
 _ ì
 N í	 N î	 N ï
 b ð
 T ñ
 S ò
 Q ó
 [ ô
 > õ
 > ö	 L ÷	 N ø	 N ù	 N ú	 N û	 D ü
 _ ý	 N þ	 N ÿ	 N 	 N	 >	 >
 N	 a
 ]
 9
 D
 L	 9	 D	 J	 L
 ^	
 b

 U
 b	 9	 N	 D
 N	 N	 9	 N	 N	 9	 N	 N	 N	 N	 >	 N
 S
 U
 W
 N
 ] 
 >!	 >"	 D#	 N$
 N%	 N&	 >'
 >(
 >)
 `*
 _+	 L,	 N-	 N.Y4Y7Y8Y9YAYKYMYNYSYUYV—>—O˜K˜P™TšQœEœJž{Ÿ{¢q¤|¤~¥|¥~¦r§4¨F©;ªu«s¬D­2®1¯5°3±H²L³p´{µ{¶{·”·•Ë1ÌtÍ“Î{Ï{ÐpÒÓ@Ô}Õ4Ö3×~ØKÙGÚ?ÚDÛ~Û’Û–ÜWÝ|Þ~Þ’ß|à~à’á|â{ã{äçqî7ïBðKñC4<u‘“6vIR33{{     ()I ()Ljava/awt/Container; ()Ljava/lang/String; ()V ()Z (I)Ljava/awt/Choice; (I)V (II)V (IIII)V (LCbButton;)V (LLinuxExport;)V (LRemoteFile;)Z (LRemoteFile;LFileManager;)V *(Ljava/awt/Component;)Ljava/awt/Component; (Ljava/awt/Component;)V :(Ljava/awt/Component;Ljava/awt/Component;)Ljava/awt/Panel; 8(Ljava/awt/Image;Ljava/lang/String;ILCbButtonCallback;)V (Ljava/awt/LayoutManager;)V 3(Ljava/awt/Panel;Ljava/awt/Panel;Ljava/awt/Panel;)V &(Ljava/lang/Object;)Ljava/lang/Object; ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; (Ljava/lang/Object;)Z 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; $(Ljava/lang/String;)Ljava/awt/Image; &(Ljava/lang/String;)Ljava/lang/String; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V '(Ljava/lang/String;)[Ljava/lang/String; (Ljava/lang/String;I)V .(Ljava/lang/String;Ljava/awt/CheckboxGroup;Z)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; )(Ljava/lang/String;Ljava/awt/Component;)V I(Ljava/lang/String;Ljava/awt/Component;Ljava/awt/Panel;Ljava/awt/Panel;)V 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ](Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V n(Ljava/lang/String;Ljava/lang/String;[Ljava/awt/Checkbox;Ljava/awt/Panel;Ljava/awt/Panel;)Ljava/awt/TextField; *(Ljava/lang/String;ZZILjava/lang/String;)V N(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V (Z)Ljava/awt/Choice; - <init> 	ACLEditor ACLEntry 	ACLWindow AttributeEditor AttributesWindow CbButton CbButtonCallback Center Code ConstantValue DFSAdminExport DeleteWindow 	EXTWindow East EditorWindow 
Exceptions FileAttribute FileManager FileManager.java FileNode 
FileSystem 
FixedFrame I 
LCbButton; LDFSAdminExport; LFileManager; LLinuxExport; LRemoteFile; LSambaShare; LineNumberTable 
LinedPanel 
LinkWindow LinuxExport Ljava/awt/Checkbox; Ljava/awt/TextField; Ljava/io/PrintStream; Ljava/lang/String; Ljava/util/Hashtable; LocalVariables MkdirWindow 
MultiLabel North OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile South TabbedPanel West Z [I [Ljava/awt/Checkbox; [Ljava/awt/Choice; [Ljava/awt/TextField; [Ljava/lang/String; [Z add addItem 	add_hosts add_item adding  append 	available available_off available_on cancel 
cancel.gif cancel_b click comment desc dexport dispose equals export_options file filemgr get 	getParent getSelectedIndex getState getText 	get_image get_text guest 	guest_off guest_on 
guest_only host java/awt/BorderLayout java/awt/Checkbox java/awt/CheckboxGroup java/awt/Choice java/awt/Component java/awt/Container java/awt/FlowLayout java/awt/Frame java/awt/GridLayout java/awt/Label java/awt/Panel java/awt/TextComponent java/awt/TextField java/awt/Window java/io/PrintStream java/lang/String java/lang/StringBuffer java/lang/System java/util/Hashtable length lexport lro nfs_off nfs_on nfsmode no ntab 
opts_panel out pack params path println put remove ro robox rohosts root 	roothosts rw rwhosts 	samba_off samba_on 	sambamode save save.gif save_b save_export.cgi? save_export.cgi?delete=1& save_export.cgi?new=1& save_share.cgi? save_share.cgi?delete=1& save_share.cgi?new=1& select 	setLayout setTitle setup_leftright 	share_all share_available share_comment 
share_desc share_guest 
share_host share_listed 	share_lro 	share_lrw 	share_nfs share_nheader 
share_noff 	share_non 
share_none 
share_only 
share_opts share_ro 
share_root share_rw share_s0 share_s1 share_s2 share_samba share_sheader 
share_soff 	share_son share_title share_writable show 
show_files showing_files squash 	squashbox sshare stab text toString trim writable writable_off writable_on yes   N A  8   çq    ¢q    ªu    «s    v    ¦r    Ìt    ã{    â{    {    {    Ÿ{    ž{    µ{    ´{    ¶{    ¤|    ¥|    Ï{    Î{    á|    Ý|    ß|    à’    Û’    Þ’    ·”    Í“    “   	  Y= b  	µ    m*· c*½ Qµ ¶*½ Qµ ®*½ Qµ ³*+µ ‰*,µ Š**´ Š/*´ ‰´ §¶ É¶ ¾**´ Š´ Ç*´ ‰´ §¶ ‹À Lµ Æ*´ Š´ ž*´ ‰´ §¶ ‹N*´ Š´   *-À Dµ ™§ *´ Š´   *-À 9µ …*» PY· e¶ ½» ZY· h:» ZY· h:» ZY· h:» PY· e¶ ½» ZY· h:» XY· j¶ ½» RY· f:*» QY*´ Š-¶ È*´ ÆÆ § · qZµ ¸¶ uW*» QY*´ Š.¶ È*´ ÆÇ § · qZµ ¹¶ uW¶ vW» BY*´ Š,¶ È· m:	*	¶ ¿*» \Y*´ ÆÇ § 
*´ Æ´ ‚· pµ **´ Š¶ È*´ ¶ z» ZY· h:

» XY· j¶ ½» RY· f:
*» QY*´ Š1¶ È*´ ÆÆ *´ Æ´ }š § · qZµ ¶ uW
*» QY*´ Š¶ È*´ ÆÆ *´ Æ´ }™ § · qZµ ~¶ uW**´ Š¶ È
¶ z» ZY· h:» XY· j¶ ½» RY· f:*» QY*´ Š1¶ È*´ ÆÆ *´ Æ´ Ìš § · qZµ Î¶ uW*» QY*´ Š¶ È*´ ÆÆ *´ Æ´ Ì™ § · qZµ Í¶ uW**´ Š0¶ È¶ z» ZY· h:» XY· j¶ ½» RY· f:*» QY*´ Š#¶ È*´ ÆÆ *´ Æ´ ’Ÿ § · qZµ •¶ uW*» QY*´ Š1¶ È*´ ÆÆ *´ Æ´ ’Ÿ § · qZµ ”¶ uW*» QY*´ Š¶ È*´ ÆÆ *´ Æ´ ’™ § · qZµ “¶ uW**´ Š¶ È¶ z	¶ vW» ZY· h:» ZY· h:» ZY· h:» PY· e¶ ½» ZY· h:» XY· j¶ ½» RY· f:*» QY*´ Š ¶ È-Æ § · qZµ ›¶ uW*» QY*´ Š!¶ È-Ç § · qZµ œ¶ uW¶ vW» BY*´ Š¶ È· m:*¶ ¿*´ Š´  P» XY· k¶ ½» XY· k¶ ½» YY*´ Š¶ È· n¶ uW» YY*´ Š$¶ È· n¶ uW*´ ™Ç § *´ ™´ —¾6*`½ \µ –*`½ Sµ š*`½ Sµ Ä6§ o*´ –» \Y*´ ™´ —2· pS*´ š**´ ™´ ¯3¶ °S*´ Ä**´ ™´ Ã.¶ ÅS*´ –2¶ uW**´ š2*´ Ä2¶ Ÿ¶ uW„¡ÿ*´ –» \Y· pS*´ š*¶ °S*´ Ä*¶ ÅS*´ –2¶ uW**´ š2*´ Ä2¶ Ÿ¶ uW§ Ù*´ Š´   Î*» \Y*´ …Ç § 
*´ …´ „· pµ ƒ**´ Š¶ È*´ ƒ¶ z***´ Š%¶ È*´ …Ç § 
*´ …´ ­*´ ®¶ yµ ±***´ Š'¶ È*´ …Ç § 
*´ …´ µ*´ ¶¶ yµ ·***´ Š&¶ È*´ …Ç § 
*´ …´ ²*´ ³¶ yµ ´*´ ³2¶ Œ*´ ³2¶ «¶ vW*´ Š´ º™ B*´ Š´ ™ 8» OY· d:*´ Š+¶ È¶ x*´ Š¶ È¶ x*¶ vW§ ,*´ Š´ º™ *¶ vW§ *´ Š´ ™ *¶ vW» ZY· h:» VY· i¶ ½*» 7Y*´ Š¶ *´ Š¶ È*· lZµ »¶ uW*» 7Y*´ Š¶ *´ Š
¶ È*· lZµ €¶ uW*¶ vW*¶ ¡*¶ À±   w  6   D > ? F &G :H RI dJ oK wJ zL …M P ˜Q ³R ¿S ÈT ÖU ßV ñW ýVXY&X1Z;\M]W_w`Œb•c£d¬e¾fÔeßgñhgi%k.l<mEnWomnxpŠq p«r¾tÇuÕvÞwðxwy$z;yF{X|n{y}Œ–‚±ƒ½„Æ…Ô†Ý‡ïˆø‡‰Š‰)‹3EŽOZ‘j’z“”¦•»–Æ—Ñ˜Ü™âšü›œ&3žK™U g¡s¢£Œ¤¤§¦²¨Ò©ç«ò¬­«®¯1°9®?±J²]³e±k´}¸‡»›¼¤½´¾Ä¿Í»ÐÁÚÂãÁæÃðÄùÇÈÉÊ(Ë*É5ÌEÍNÎPÌ[ÏdÐhÑlD £: b  § 	   +*´ »¦õ*´ ÆÆ |*´ ¹¶ Ž™ r*´ Æ*´ ¶ Žµ }*´ Æ*´ Î¶ Žµ Ì*´ Æ*´ •¶ Ž™ § *´ ”¶ Ž™ § µ ’*´ Æ*´ ¶ µ ‚*´ Š» `Y· o*´ Æ¶ ¤¶ |¶ Ê¶ ‘W§ ¿*´ ÆÆ 6*´ Š» `Y· o*´ Æ¶ ¤¶ |¶ Ê¶ ‘W*´ Š´ Ç*´ Æ´ ¨¶ ¬W§ …*´ ¹¶ Ž™ {*» LY*´ ‰´ §*´ ¶ Ž*´ Î¶ Ž*´ •¶ Ž™ § *´ ”¶ Ž™ § *´ ¶ · sµ Æ*´ Š´ Ç*´ Æ´ ¨*´ Æ¶ ªW*´ Š» `Y· o*´ Æ¶ ¤¶ |¶ Ê¶ ‘W*´ Š´   Õ*´ ™Æ 6*´ œ¶ Ž™ ,**´ ™¶ ˆ*´ Š» `Y· o*´ ™¶ £¶ |¶ Ê¶ ‘W§`*´ ™Æ 6*´ Š» `Y· o*´ ™¶ £¶ |¶ Ê¶ ‘W*´ Š´ ž*´ ™´ ¦¶ ¬W§&*´ œ¶ Ž™*» DY*´ ‰´ §· tµ ™**´ ™¶ ˆ*´ Š» `Y· o*´ ™¶ £¶ |¶ Ê¶ ‘W*´ Š´ ž*´ ™´ ¦*´ ™¶ ªW§È*´ Š´  ½*´ …Æ »*´ œ¶ Ž™ ±*´ …*´ ƒ¶ µ „*´ …*´ ®2¶ Ž™ § *´ ®2¶ Ž™ § 
*´ ±¶ µ ­*´ …*´ ¶2¶ Ž™ § *´ ¶2¶ Ž™ § 
*´ ·¶ µ µ*´ …*´ ³2¶ Ž™ § 
*´ ´¶ µ ²*´ Š» `Y· o*´ …¶ ¢¶ |¶ Ê¶ ‘W§ þ*´ …Æ 6*´ Š» `Y· o*´ …¶ ¢¶ |¶ Ê¶ ‘W*´ Š´ ž*´ …´ ¥¶ ¬W§ Ä*´ œ¶ Ž™ º*» 9Y*´ ‰´ §*´ ƒ¶ *´ ®2¶ Ž™ § *´ ®2¶ Ž™ § 
*´ ±¶ *´ ¶2¶ Ž™ § *´ ¶2¶ Ž™ § 
*´ ·¶ *´ ³2¶ Ž™ § 
*´ ´¶ · rµ …*´ Š» `Y· o*´ …¶ ¢¶ |¶ Ê¶ ‘W*´ Š´ ž*´ …´ ¥*´ …¶ ªW*´ Š*´ Š´ Â¶ ÁW*¶ †±+*´ €¦ *¶ †±   w  Ž c  Ö Ø Ú 'Û 5Ü GÝ VÜ YÞ gß kà ß …Ø ˆâ ä “å ©ä ­æ ¿â Âè Ìê Øë ßì æí ôîï
êð&ñ*ò@ñDöO÷`ùhúlû‚ú†÷‰ýÿ” ªÿ®ÀýÃÍÚÜâêî	
ö!,=K`qx{¡¨«ÀÇÊÎäèëòö "%"/$;%B&S'd(k)|*+”,¥-¬$².¶/Ì.Ð0æ6õ7ùÖú9:Ô  ñC b   Ž     V+» PY· e¶ ½» ZY· h:» PY· e¶ ½,¶ vW-¶ vW,» XY· j¶ ½-» XY· j¶ ½+¶ vW±   w   & 	  ? @ A  B )C 2D ?E LF U=  šQ b   `     4-» YY+· n¶ uW» ZY· h:» PY· e¶ ½,¶ vW¶ uW±   w      K L M "N +O 3I  ™T b   	 	   Ç» ZY· h:» XY· j¶ ½» RY· f:-» QY*´ Š"¶ È,¶ ‡· q[S¶ uW-» QY*´ Š¶ È,¶ ˜™ § · q[S¶ uW-» QY*´ Š¶ È,¶ ˜£ § · q[S¶ uW*+¶ z» \Y,¶ ‡™ § ,· p:*¶ z°   w   B   U 	V W  X 3Y 9X BZ U[ aZ j\ }] Š\ “^ ž_ ¸` Äa  6 b   b     6» SY· gM,*´ Š(¶ È¶ w,*´ Š)¶ È¶ w,*´ Š*¶ È¶ w,¶ ¼,°   w      f g h "i /j 4k  ÜW b   Y     1» SY· gM,*´ Š¶ È¶ w,*´ Š¶ È¶ w,™ § ¶ ¼,°   w      p q r "s /t  Ó@ b   p     D» ZY· hN-» PY· e¶ ½²  » `Y	· o+¶ {¶ |,¶ {¶ Ê¶ ©-+¶ vW-,¶ vW-°   w      y z { 2| :} B~  ©; b   ø     ¤=>§ *´ –2¶ ¶ ˜ž „„*´ –¾¡ÿå+½ _µ —+¼µ ¯+¼
µ Ã66§ X*´ –2¶ ¶ Ë¶ ˜ž B+´ —*´ –2¶ S+´ ¯*´ š2¶ Ÿ § T+´ Ã*´ Ä2¶ O„„*´ –¾¡ÿ¤±   w   B   ƒ „ … † „ %‡ -ˆ 4‰ ;Š D‹ WŒ h ‚Ž “ –Š £ Œ   l 0707010000eb89000081a40000000000000002000000013d1fe2d6000001fc000000200000000000000000000000000000002100000003reloc/file/StaticTextField.class  Êþº¾  -    
  

  	
  
           StaticTextField.java ConstantValue 
Exceptions LineNumberTable 
SourceFile java/awt/TextField LocalVariables Code setEditable (Ljava/lang/String;)V <init> (Z)V StaticTextField java/awt/TextComponent (Ljava/lang/String;I)V ()V                  *     
*· *¶ ±           	  
 	          +     *+· *¶ ±              
          ,     *+· *¶ ±                     0707010000eb8a000081a40000000000000002000000013d1fe2d500000152000000200000000000000000000000000000002000000003reloc/file/StaticTextField.java   import java.awt.*;

// StaticTextField
// A text field that is set to be non-editable by default
class StaticTextField extends TextField
{
	StaticTextField()
	{
	super();
	setEditable(false);
	}

	StaticTextField(String s)
	{
	super(s);
	setEditable(false);
	}

	StaticTextField(String s, int i)
	{
	super(s,i);
	setEditable(false);
	}
}
  0707010000eb8b000081a40000000000000002000000013d1fe2d600000348000000200000000000000000000000000000001e00000003reloc/file/StringJoiner.class Êþº¾  - 6 ( ) / 0 1
  
  
  
  	  
  	  	  
     ,  -  . # 2  3  4 % 5  ()I ()Ljava/lang/String; ()V (C)Ljava/lang/StringBuffer; (C)V (I)C (Ljava/lang/String;)V <init> C Code ConstantValue 
Exceptions I LineNumberTable Ljava/lang/StringBuffer; LocalVariables 
SourceFile StringJoiner StringSplitter StringSplitter.java add append charAt count java/lang/Object java/lang/String java/lang/StringBuffer length sep str toString          3      4 %     . #             9     *· *» Y· µ *µ ±    $       H  D  J  H   +            U*´ 
™ *´ *´ ¶ W=§ -+¶ 	>*´ Ÿ 	\  *´ \¶ W*´ ¶ W„+¶ ¡ÿÑ*Y´ 
`µ 
±    $   & 	   Q  R  S  T  U 6 V ? S J X T O  5             *´ ¶ °    $       _  '    *0707010000eb8c000081a40000000000000002000000013d1fe2d6000004aa000000200000000000000000000000000000002000000003reloc/file/StringSplitter.class   Êþº¾  - D 0 1 : ; < =
  
  
  
  
  
  
  
  	  	  
  
   '   3 % 4 " 5 # 7 $ >  @ - A + B  C  ()I ()Ljava/lang/String; ()Ljava/util/Vector; ()V ()Z (C)Ljava/lang/StringBuffer; (I)C (I)Ljava/lang/Object; (Ljava/lang/Object;)V (Ljava/lang/String;C)V <init> Code ConstantValue 
Exceptions I LineNumberTable Ljava/util/Vector; LocalVariables 
SourceFile StringJoiner StringSplitter StringSplitter.java 
addElement append charAt countTokens 	elementAt 	gettokens hasMoreTokens java/lang/Object java/lang/String java/lang/StringBuffer java/util/Vector length 	nextToken parts pos size toString !        @ -     A +      ' &  (   É     }*· *» Y· 	µ *´ » Y· YN¶ 
6§ Q+¶ 6\  +¶ dŸ -+„¶ ¶ W§ #  *´ » Y· YN¶ 
§ 
-¶ W„+¶ ¡ÿ¬±    ,   :      	     %  -  ?  M  P  V  f  i  p  |    6   (   %     *´ ¶ *´ d¬    ,           9 !  (   *     *´ *´ ¶ ¡ ¬¬    ,       '   ?   (   I     )*´ *´ ¶ ¢ *´ *Y´ Z`µ ¶ À ¶ °°    ,       .  / ' 1   8   (        *´ °    ,       8  /    2  0707010000eb8d000081a40000000000000002000000013d1fe2d6000007b2000000200000000000000000000000000000001f00000003reloc/file/StringSplitter.java    import java.util.Vector;

// StringSplitter
// A stringsplitter object splits a string into a number of substrings,
// each separated by one separator character. Separator characters can be
// included in the string by escaping them with a \
public class StringSplitter
{
	Vector parts = new Vector();
	int pos = 0;

	StringSplitter(String str, char sep)
	{
	StringBuffer current;

	parts.addElement(current = new StringBuffer());
	for(int i=0; i<str.length(); i++) {
		char c = str.charAt(i);
		if (c == '\\' && i != str.length()-1)
			current.append(str.charAt(++i));
		else if (c == sep)
			parts.addElement(current = new StringBuffer());
		else
			current.append(c);
		}
	}

	// countTokens
	// The number of tokens left in the string
	int countTokens()
	{
	return parts.size() - pos;
	}

	// hasMoreTokens
	// Can we call nextToken?
	boolean hasMoreTokens()
	{
	return pos < parts.size();
	}

	// nextToken
	// Returns the string value of the next token
	String nextToken()
	{
	if (pos < parts.size())
		return ((StringBuffer)parts.elementAt(pos++)).toString();
	else
		return null;
	}

	// gettokens
	// Returns a vector of strings split from the given input string
	Vector gettokens()
	{
	return parts;
	}
}


// StringJoiner
// The complement of StringSplitter. Takes a number of substrings and adds
// them to a string, separated by some character. If the separator character
// appears in one of the substrings, escape it with a \
class StringJoiner
{
	char sep;
	StringBuffer str = new StringBuffer();
	int count = 0;

	// Create a new StringJoiner using the given separator
	StringJoiner(char s)
	{
	sep = s;
	}

	// add
	// Add one string, and a separator
	void add(String s)
	{
	if (count != 0)
		str.append(sep);
	for(int i=0; i<s.length(); i++) {
		char c = s.charAt(i);
		if (c == sep || c == '\\') str.append('\\');
		str.append(c);
		}
	count++;
	}

	// toString
	// Get the resulting string
	public String toString()
	{
	return str.toString();
	}
}

  0707010000eb8e000081a40000000000000002000000013d1fe2d600000b02000000200000000000000000000000000000001d00000003reloc/file/TabSelector.class  Êþº¾  - — • k l m ƒ „ … † ‡ ˆ ‰ Š
  -
  -
  .
  /
  0	  1	  2
  3	  4
 
 5
 
 6
  7
  8
 
 9	  :
 
 ;
  <
 	 =
  >
  ?	  @	  A	  B
  C	  D
  E
 
 F
 
 G
  H
  I
 	 J	  K ` R ` T ` _ o [ q f r g t ^ u d v U w _ x S y \ z U { g | O } P ~ L  Q € M  d ‚ f ‹ f Œ N Ž h  Z ‘ V ’ Y “ L “ N ” ] – d ()I ()Ljava/awt/Container; ()Ljava/awt/Dimension; ()Ljava/awt/FontMetrics; ()Ljava/awt/Graphics; ()Ljava/lang/String; ()V (I)Ljava/lang/Object; (II)V (IIII)V (Ljava/awt/Color;)V 3(Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V (Ljava/awt/Event;II)Z (Ljava/awt/Font;)V (Ljava/awt/Graphics;)V (Ljava/lang/Object;)V (Ljava/lang/Object;)Z (Ljava/lang/String;)I (Ljava/lang/String;)V (Ljava/lang/String;II)V <init> Code ConstantValue 
Exceptions I LineNumberTable Ljava/awt/Color; Ljava/awt/Font; Ljava/util/Vector; LocalVariables 
SourceFile TabSelector TabbedDisplayPanel TabbedPanel TabbedPanel.java 
addElement addItem bk chfont choose chose chosen drawLine 
drawString 	elementAt equals fillRect font getFontMetrics getGraphics 	getHeight getName 	getParent height hi java/awt/Canvas java/awt/Component java/awt/Dimension java/awt/Font java/awt/FontMetrics java/awt/Graphics java/lang/String java/util/Vector lo minimumSize 	mouseDown name paint preferredSize setColor setFont size stringWidth 
timesRoman width          ‚ f     ‹ f     q f     Ž h     u d     { g     r g      ` W  a   p     D*· *» Y· µ %*» Y· µ *» Y*´ ¶ · µ *+µ "*,µ #*-µ ±    e       :  5  7  8 4 < C :   p ^  a   1     *´ %+¶ **¶ ¶ &±    e       A  B  ?   s ^  a   _     3=§ %*´ %¶ À +¶ ™ *µ **¶ ¶ &„*´ %¶ )¡ÿÖ±    e       G  H  I  J $ G 2 E   Z  a  ¹  	  +Æ *´ %¶ )š ±+*´ ¶ '+*¶ *´ ,*¶ *´ !¶ *¶ *´ ,*´ %¶ )l=*¶ *´ !>6§²h6*´   ¢+*´ #¶ '+`d`dd¶ +`d`dd¶ +*´ "¶ '+d¶ +``d¶ +`d¶ +`d¶ +`dd`dd¶ +`dd`dd¶ § ›+*´ #¶ '+`d`dd¶ +`d`dd¶ +*´ "¶ '+d¶ +``d¶ +`d¶ +`d¶ +d`dd¶ +d`dd¶ +*´ #¶ '*´   +*´ ¶ (§ +*´ ¶ (*´ %¶ À :+¶ ¶ +6+¶ ¶ 6d¢ +dl`dl`¶ „*´ %¶ )¡þH±    e   ¢ (   P  Q  R  S + T ; U C V I W O X X Y ` Z t [ ˆ \  ] œ ^ ¬ _ º ` È a Þ b ô X ÷ e ÿ f g) h1 i= jM k[ lk m} n p— q« r³ sÁ tÌ uÕ vÝ wõ V N   X  a   k     C*´ %¶ )š ¬**¶ *´ ,*´ %¶ )llµ **¶ ¶ &*¶  À *´ %*´ ¶ À ¶ ¬    e       }  ~ !  ) € A   Œ N  a   $     » Y2· °    e       †   N  a        *¶ $°    e       ‹  j    n  0707010000eb8f000081a40000000000000002000000013d1fe2d50000062c000000200000000000000000000000000000002400000003reloc/file/TabbedDisplayPanel.class   Êþº¾  - Z ? @ A L M N O P Q R
  
 
 
 	 
  	  
  
  	   	  !	  "
  #
  $
  %
  &	  ' 5 + 5 , C 3 E ; G , H * I 9 J < S < U - V 1 W / X ( Y 9 ()Ljava/awt/Dimension; ()Ljava/awt/Insets; ()Ljava/awt/LayoutManager; ()V (IIII)V (Ljava/awt/Color;)V #(Ljava/awt/Color;Ljava/awt/Color;)V )(Ljava/awt/Container;Ljava/lang/String;)V (Ljava/awt/Graphics;)V (Ljava/awt/LayoutManager;)V (Ljava/lang/String;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; )(Ljava/lang/String;Ljava/awt/Component;)V <init> Code ConstantValue 
Exceptions I LineNumberTable Ljava/awt/CardLayout; Ljava/awt/Color; LocalVariables 
SourceFile TabSelector TabbedDisplayPanel TabbedPanel TabbedPanel.java add addItem card choose drawLine 	getLayout height hi insets java/awt/CardLayout java/awt/Component java/awt/Container java/awt/Dimension java/awt/Graphics java/awt/Insets java/awt/Panel lo paint setColor 	setLayout show size width    
      J <     S <     E ;      5 .  6   C     *· *+µ *,µ **» Y· Zµ ¶ ±    :       ”  –  —  ”   D 4  6   $     *+,¶ W±    :   
    ž  œ   F 2  6   )     *¶ À *+¶ ±    :   
    ¥  £  K )  6   $     » 	Y· °    :       ª  T 0  6   é     ±+*´ ¶ +*¶ ´ d¶ +*¶ ´ d¶ +*´ ¶ +*¶ ´ d*¶ ´ d*¶ ´ d¶ +*¶ ´ d*¶ ´ d*¶ ´ d¶ +*¶ ´ d*¶ ´ d*¶ ´ d¶ +*¶ ´ d*¶ ´ d*¶ ´ d¶ ±    :   & 	   ¯  °  ± ( ² 0 ³ P ´ p µ  ¶ ° ­  >    B0707010000eb90000081a40000000000000002000000013d1fe2d600000540000000200000000000000000000000000000001d00000003reloc/file/TabbedPanel.class  Êþº¾  - Q 2 < > ? @ H I J K L
  
  
 
 
  
  
  
  
 	  
  !
  "	  #
  $
  $	  %	  &
 	 '	  ( 1 ) 1 * 1 + 1 , B / C . C 0 D 9 E . G 7 M : O - P 6 ()V (III)V #(Ljava/awt/Color;Ljava/awt/Color;)V 3(Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V (Ljava/awt/LayoutManager;)V (Ljava/lang/String;)V <(Ljava/lang/String;Ljava/awt/Component;)Ljava/awt/Component; )(Ljava/lang/String;Ljava/awt/Component;)V <init> Center Code ConstantValue 
Exceptions LTabSelector; LTabbedDisplayPanel; LineNumberTable Ljava/awt/CardLayout; Ljava/awt/Color; LocalVariables North 
SourceFile TabSelector TabbedDisplayPanel TabbedPanel TabbedPanel.java add addItem card choose chose disp java/awt/BorderLayout java/awt/CardLayout java/awt/Color java/awt/Container java/awt/Panel 	lightGray select 	setLayout tab !  
      P 6     G 7     D 9      1 )  3   A     %*» Y æ æ æ· » Y222· ² · ±    8   
     $    1 ,  3   z     N*· *» Y· ¶ **» Y+,-· Zµ ¶ W**» Y+,· Zµ ¶ W*´ *» Y· Zµ ¶ ±    8            %  :  M    C 0  3   2     *´ +¶ *´ +,¶ ±    8              N .  3   1     *´ +¶ *´ +¶ ±    8       &  '  $   F .  3   %     	*´ +¶ ±    8   
    .  ,  =    A0707010000eb91000081a40000000000000002000000013d1fe2d50000100f000000200000000000000000000000000000001c00000003reloc/file/TabbedPanel.java   // TabbedPanel
// A panel capable of displaying one of many components at a time. The
// component to display is chosen by a row of tab buttons.
import java.awt.*;
import java.util.Vector;

public class TabbedPanel extends Panel
{
	TabSelector tab;		// component for choosing panel
	TabbedDisplayPanel disp;	// where other panels are displayed
	CardLayout card;

	TabbedPanel()
	{
	this(new Color(230,230,230), new Color(50,50,50), Color.lightGray);
	}

	TabbedPanel(Color hi, Color lo, Color bk)
	{
	setLayout(new BorderLayout());
	add("North",tab = new TabSelector(hi, lo, bk));
	add("Center",disp = new TabbedDisplayPanel(hi, lo));
	disp.setLayout(card = new CardLayout());
	}

	// addItem
	// Add a component to be chosen by a tab with the given name
	void addItem(String n, Component c)
	{
	tab.addItem(n);
	disp.addItem(n, c);
	}

	// select
	// Display a component in the panel
	void select(String n)
	{
	tab.choose(n);
	disp.choose(n);
	}

	// chose
	// Called back by a TabSelector object when the user clicks on a tab
	void chose(String n)
	{
	disp.choose(n);
	}
}

class TabSelector extends Canvas
{
	Color hi, lo, bk;
	Vector name = new Vector();
	int chosen = 0;
	Font font = new Font("timesRoman", Font.PLAIN, 12),
	     chfont = new Font(font.getName(), Font.BOLD, 13);

	TabSelector(Color h, Color l, Color b)
	{
	hi = h; lo = l; bk = b;
	}

	void addItem(String n)
	{
	name.addElement(n);
	paint(getGraphics());
	}

	void choose(String n)
	{
	for(int i=0; i<name.size(); i++)
		if (((String)name.elementAt(i)).equals(n)) {
			chosen = i;
			paint(getGraphics());
			}
	}

	public void paint(Graphics g)
	{
	if (g == null || name.size() == 0)
		return;
	g.setColor(bk);
	g.fillRect(0, 0, size().width, size().height);
	int tw = size().width / name.size(),
	    th = size().height;
	for(int i=0; i<name.size(); i++) {
		int x = tw*i;
		if (i == chosen) {
			g.setColor(lo);
			g.drawLine(x+tw-3, 1, x+tw-3, th-1);
			g.drawLine(x+tw-4, 2, x+tw-4, th-1);
			g.setColor(hi);
			g.drawLine(x, 0, x, th-1);
			g.drawLine(x+1, 0, x+1, th-1);
			g.drawLine(x, 0, x+tw-4, 0);
			g.drawLine(x, 1, x+tw-5, 1);
			g.drawLine(x+tw-3, th-1, x+tw-1, th-1);
			g.drawLine(x+tw-3, th-2, x+tw-1, th-2);
			}
		else {
			g.setColor(lo);
			g.drawLine(x+tw-3, 6, x+tw-3, th-1);
			g.drawLine(x+tw-4, 7, x+tw-4, th-1);
			g.setColor(hi);
			g.drawLine(x, 5, x, th-1);
			g.drawLine(x+1, 5, x+1, th-1);
			g.drawLine(x, 5, x+tw-4, 5);
			g.drawLine(x, 6, x+tw-5, 6);
			g.drawLine(x, th-1, x+tw-1, th-1);
			g.drawLine(x, th-2, x+tw-1, th-2);
			}
		g.setColor(lo);
		if (i == chosen) g.setFont(chfont);
		else g.setFont(font);
		String str = (String)name.elementAt(i);
		int textw = g.getFontMetrics().stringWidth(str);
		int texth = g.getFontMetrics().getHeight();
		if (textw < tw-5)
			g.drawString(str, x+(tw-textw)/2, (th-texth)/2+texth);
		}
	}

	public boolean mouseDown(Event evt, int x, int y)
	{
	if (name.size() == 0) return false;
	chosen = x / (size().width / name.size());
	paint(getGraphics());
	((TabbedPanel)getParent()).chose((String)name.elementAt(chosen));
	return true;
	}

	public Dimension minimumSize()
	{
	return new Dimension(50,25);
	}

	public Dimension preferredSize()
	{
	return minimumSize();
	}
}

class TabbedDisplayPanel extends Panel
{
	Color hi, lo;
	CardLayout card;

	TabbedDisplayPanel(Color h, Color l)
	{
	hi = h; lo = l;
	setLayout(card = new CardLayout());
	}

	// addItem
	// Add one component to the set of possibles to be shown
	void addItem(String n, Component c)
	{
	add(n, c);
	}

	// choose
	// Display the named panel
	void choose(String n)
	{
	((CardLayout)getLayout()).show(this, n);
	}

	public Insets insets()
	{
	return new Insets(5,5,5,5);
	}

	public void paint(Graphics g)
	{
	g.setColor(hi);
	g.drawLine(0, 0, 0, size().height-1);
	g.drawLine(1, 0, 1, size().height-1);
	g.setColor(lo);
	g.drawLine(0, size().height-1, size().width-1, size().height-1);
	g.drawLine(0, size().height-2, size().width-1, size().height-2);
	g.drawLine(size().width-1, size().height-1, size().width-1, 0);
	g.drawLine(size().width-2, size().height-1, size().width-2, 0);
	}
}

 0707010000eb92000081a40000000000000002000000013d1fe2d600000647000000200000000000000000000000000000001e00000003reloc/file/ThirdsLayout.class Êþº¾  - a 6 7 8 : < ? @ C D E F G H I J K L N R S T U V
  !
  "
  #	  $
  %
  &
  '
  (	  ) 3 + 3 - P , Q = Y 0 Z * ] . _ * ` = ()Ljava/awt/Dimension; ()V ()[Ljava/awt/Component; (II)V (IIII)V (Ljava/awt/Component;)V *(Ljava/awt/Container;)Ljava/awt/Dimension; (Ljava/awt/Container;)V )(Ljava/lang/String;Ljava/awt/Component;)V <init> Code ConstantValue DFSAdminExport DeleteWindow EditorWindow 
Exceptions FileManager FileManager.java FileNode I LineNumberTable 
LinkWindow LinuxExport Ljava/awt/Component; LocalVariables MkdirWindow 
MultiLabel OverwriteWindow PermissionsPanel PropertiesWindow 
RemoteFile RenameWindow 
SambaShare SearchWindow SharingWindow 
SourceFile ThirdsLayout addLayoutComponent getComponents height java/awt/Component java/awt/Container java/awt/Dimension java/awt/LayoutManager java/lang/Object layoutContainer left minimumLayoutSize minimumSize preferredLayoutSize removeLayoutComponent reshape right size width          X A     ^ A     O 2  4         ±    >      	  W 1  4   ‹     S+¶ M+¶ N-¾¡ /-2,´  l,´ ¶ -2,´  l,´  hl,´ ¶ ±-¾  -2,´  ,´ ¶ ±    >   & 	  	 		 
	
 	 "	 ;	
 <	 B	 R	  Y 0  4   —     [+¶ M,¾¡ <,2¶ N,2¶ :» Y-´  ´  `-´ ´ ¤ 
-´ § ´ · °,¾  
,2¶ °» Y· °    >   * 
  	 	 	 	 	 (	 @	 D	 J	 Q	   [ 0  4        *+¶ °    >      	&  \ /  4         ±    >      	)   3 +  4        *· ±    >      þ  M    ; 0707010000eb93000081a40000000000000002000000013d1fe2d600000eb2000000200000000000000000000000000000001600000003reloc/file/Util.class Êþº¾  - Ë e Œ  — ˜ ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿
 	 =
  =
  >
  ?
  @
  A
  B
 	 C
  D
  E
  F
  G
  H
 
 I	  J
  K	  L	  M
  N	  O	  P
  Q
  R
  S
 
 T
  U
  V
  W
  X
  Y
  Z
  [
  \
  ]
  ^
  _
 
 `	  a
  b
  c
  d ˆ m ˆ t ˆ … ˆ † š { š } › m œ  œ „  f ž q ž  ¡ r ¢ ” £ p ¤  ¥  ¦ ‚ § ‘ ¨ ’ © j ª o « i ¬ g ­ h ® ~ ¯ l ° ~ ± n À m Á k Â … Ã u Ä v Å s Æ w Ç “ È l É m Ê z  :  ()I ()Ljava/awt/FontMetrics; ()Ljava/awt/Graphics; ()Ljava/awt/Toolkit; ()Ljava/lang/Class; ()Ljava/lang/Object; ()Ljava/lang/String; ()V ()Z (I)Ljava/awt/Component; (I)V (II)Ljava/awt/Image; (IIII)V (Ljava/awt/Color;)V (Ljava/awt/Component;)V '(Ljava/awt/Component;Ljava/awt/Color;)V (Ljava/awt/Container;)V (Ljava/awt/Font;)V (Ljava/awt/Graphics;IIIII)V (Ljava/awt/Image;)I (Ljava/awt/Image;)Z (Ljava/awt/Image;I)V (Ljava/awt/Image;II)Z (Ljava/awt/Image;III)V !(Ljava/awt/image/ImageObserver;)I 0(Ljava/awt/image/ImageProducer;)Ljava/awt/Image; &(Ljava/lang/Object;)Ljava/lang/Object; ,(Ljava/lang/Object;)Ljava/lang/StringBuffer; %(Ljava/lang/String;)Ljava/lang/Class; &(Ljava/lang/String;)Ljava/lang/Object; ,(Ljava/lang/String;)Ljava/lang/StringBuffer; (Ljava/lang/String;)V (Ljava/lang/String;II)V <clinit> <init> Code ConstantValue 
Exceptions Failed to create object  Failed to reproduce object  LineNumberTable Ljava/awt/Font; Ljava/awt/FontMetrics; Ljava/awt/Frame; Ljava/awt/Graphics; Ljava/awt/Toolkit; Ljava/io/PrintStream; LocalVariables 
SourceFile 
TimesRoman Util 	Util.java addImage 	addNotify append countComponents createImage createObject 
dottedRect drawLine err exit f fnm forName fr g getClass getComponent getDefaultToolkit getFontMetrics getGraphics 	getHeight getName getWidth 
isErrorAny java/awt/Component java/awt/Container java/awt/Font java/awt/Frame java/awt/Graphics java/awt/Image java/awt/MediaTracker java/awt/Toolkit java/io/PrintStream java/lang/Class java/lang/Exception java/lang/Object java/lang/StringBuffer java/lang/System layout newInstance println recursiveBackground recursiveLayout setBackground setFont tk toString 
waitForAll waitForImage         § ‘    ¨ ’    ¤     ¥     Ç “     Ê z  ‰   R     &» Y² '· L+*¶ +¶ ;§ W¬+¶ 1™ ¬¬       Ž               Ê |  ‰   T     (» Y² '· N-*¶ -¶ ;§ W¬-¶ 1™ ¬¬       Ž          !  "  #  ° y  ‰   )     *¸ <W*² '¶ 0¬    Ž   
    (  )  ® y  ‰   )     *¸ <W*² '¶ .¬    Ž   
    .  /  ž q  ‰   !     	² '¶ °    Ž       4  ž   ‰         ² '*¶  °    Ž       9  Ÿ ƒ  ‰   v     6*¸ &L+¶ 3°L² "» Y· *¶ ¶ +¶ )¶ /¶ ¶ :¶ 4¸ #°    
 
   Ž   & 	   >   ?  @ 
 B  C   D * C 0 E 4 G  Ÿ €  ‰   l     4*¶ )¶ 3°L² "» Y· *¶ ¶ +¶ )¶ /¶ ¶ :¶ 4¸ #°        Ž       N  O 	 P  Q ( P . R 2 T    x  ‰  2  	   Þh6¢ 6<>¢ 6=66§ $*`¤ § `¶ !`6¤ÿÜ6§ &*`¤ § `¶ !`6¤ÿÙ6§ &*d¢ § d¶ !d6¢ÿÚ6§ $*d¢ § d¶ !d6¢ÿÜ±    Ž   B    [  \  ] # ^ ) _ C ^ P ` V a r ` € b † c ¢ b ¯ d ¶ e Ð d Ý X  Ä v  ‰   Y     )*¶ 2<§ *¶ *M,Á ™ 
,À ¸ 6„*¶ ¡ÿä±    Ž       j  k 	 l  m  n  k ( h  Ã u  ‰   [     +*+¶ 7*Á ™ !*À M>§ ,¶ *+¸ 5„,¶ ¡ÿï±    Ž       t  u  v  w  x  w * r   ˆ m  ‰        *· ±    Ž         ‡ m  ‰   o      ?» 	Y· ³ '² '¶ ² '¶ -³ (² (» Y· Y³ $¶ 8² (¶ ,³ %¸ +³ 9±    Ž        
      /  8  >   –    ™  0707010000eb94000081a40000000000000002000000013d1fe2d600000a25000000200000000000000000000000000000001500000003reloc/file/Util.java  import java.awt.*;
import java.awt.image.*;

class Util
{
	static Frame fr;
	static Graphics g;
	static Font f;
	static FontMetrics fnm;
	static Toolkit tk;

	static
	{
	fr = new Frame();
	fr.addNotify();
	g = fr.getGraphics();
	g.setFont(f = new Font("TimesRoman", Font.PLAIN, 8));
	fnm = g.getFontMetrics();
	tk = Toolkit.getDefaultToolkit();
	}

	static boolean waitForImage(Image i)
	{
	MediaTracker mt = new MediaTracker(fr);
	mt.addImage(i, 0);
	try { mt.waitForAll(); } catch(Exception e) { return false; }
	return !mt.isErrorAny();
	}

	static boolean waitForImage(Image i, int w, int h)
	{
	MediaTracker mt = new MediaTracker(fr);
	mt.addImage(i, w, h, 0);
	try { mt.waitForAll(); } catch(Exception e) { return false; }
	return !mt.isErrorAny();
	}

	static int getWidth(Image i)
	{
	waitForImage(i);
	return i.getWidth(fr);
	}

	static int getHeight(Image i)
	{
	waitForImage(i);
	return i.getHeight(fr);
	}

	static Image createImage(int w, int h)
	{
	return fr.createImage(w, h);
	}

	static Image createImage(ImageProducer p)
	{
	return fr.createImage(p);
	}

	static Object createObject(String name)
	{
	try {
		Class c = Class.forName(name);
		return c.newInstance();
		}
	catch(Exception e) {
		System.err.println("Failed to create object "+name+" : "+
				   e.getClass().getName());
		System.exit(1);
		}
	return null;
	}

	/**Create a new instance of some object
	 */
	static Object createObject(Object o)
	{
	try { return o.getClass().newInstance(); }
	catch(Exception e) {
		System.err.println("Failed to reproduce object "+o+" : "+
	                         e.getClass().getName());
		System.exit(1);
		}
	return null;
	}


	static void dottedRect(Graphics g, int x1, int y1,
	                       int x2, int y2, int s)
	{
	int i, s2 = s*2, t;
	if (x2 < x1) { t = x1; x1 = x2; x2 = t; }
	if (y2 < y1) { t = y1; y1 = y2; y2 = t; }
	for(i=x1; i<=x2; i+=s2)
		g.drawLine(i, y1, i+s > x2 ? x2 : i+s, y1);
	for(i=y1; i<=y2; i+=s2)
		g.drawLine(x2, i, x2, i+s > y2 ? y2 : i+s);
	for(i=x2; i>=x1; i-=s2)
		g.drawLine(i, y2, i-s < x1 ? x1 : i-s, y2);
	for(i=y2; i>=y1; i-=s2)
		g.drawLine(x1, i, x1, i-s < y1 ? y1 : i-s);
	}

	static void recursiveLayout(Container c)
	{
	c.layout();
	for(int i=0; i<c.countComponents(); i++) {
		Component cc = c.getComponent(i);
		if (cc instanceof Container)
			recursiveLayout((Container)cc);
		}
	}

	static void recursiveBackground(Component c, Color b)
	{
	c.setBackground(b);
	if (c instanceof Container) {
		Container cn = (Container)c;
		for(int i=0; i<cn.countComponents(); i++)
			recursiveBackground(cn.getComponent(i), b);
		}
	}
}

   0707010000eb95000081a40000000000000002000000013d1fe2d5000006c5000000200000000000000000000000000000001b00000003reloc/file/acl_security.pl    
require 'file-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the file module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_user'}</b></td>\n";
local $u = $_[0]->{'uid'} < 0 ? '' : getpwuid($_[0]->{'uid'});
printf "<td><input type=radio name=uid_def value=1 %s> %s\n",
	$_[0]->{'uid'} < 0 ? 'checked' : '', $text{'acl_user_def'};
printf "<input type=radio name=uid_def value=0 %s>\n",
	$_[0]->{'uid'} < 0 ? '' : 'checked';
print "<input name=uid size=8 value='$u'> ",
	&user_chooser_button("uid", 0),"</td> </tr>\n";

print "<tr> <td><b>$text{'acl_umask'}</b></td>\n";
print "<td><input name=umask size=3 value='$_[0]->{'umask'}'></td> </tr>\n";

print "<tr> <td><b>$text{'acl_follow'}</b></td> <td>\n";
printf "<input type=radio name=follow value=1 %s> $text{'yes'}\n",
	$_[0]->{'follow'} ? "checked" : "";
printf "<input type=radio name=follow value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'follow'} ? "" : "checked";

print "<tr> <td valign=top><b>$text{'acl_dirs'}</b></td>\n";
print "<td><textarea name=root rows=3 cols=30>",
	join("\n", split(/\s+/, $_[0]->{'root'})),"</textarea><br>\n";
printf "<input type=checkbox name=home value=1 %s> %s</td>\n",
	$_[0]->{'home'} ? 'checked' : '', $text{'acl_home'};
}

# acl_security_save(&options)
# Parse the form for security options for the file module
sub acl_security_save
{
$_[0]->{'uid'} = $in{'uid_def'} ? -1 : getpwnam($in{'uid'});
local @root = split(/\s+/, $in{'root'});
map { s/\/+/\//g } @root;
map { s/([^\/])\/+$/$1/ } @root;
$_[0]->{'root'} = join(" ", @root);
$_[0]->{'follow'} = $in{'follow'};
$in{'umask'} =~ /^[0-7]{3}$/ || &error("Invalid umask");
$_[0]->{'umask'} = $in{'umask'};
$_[0]->{'home'} = $in{'home'};
}

   0707010000eb96000081e40000000000000002000000013d1fe2d60000076e000000200000000000000000000000000000001500000003reloc/file/chmod.cgi  #!/usr/local/bin/perl
# chmod.cgi
# Change the ownership and permissions on a file

require './file-lib.pl';
&ReadParse();
&webmin_log($in{'linkto'} ? "relink" : "chmod", undef, $in{'path'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
&can_access($in{'path'}) ||
	&failure(&text('chmod_eaccess', $in{'path'}));

$uid = $in{'user'} =~ /^\d+$/ ? $in{'user'}
			      : getpwnam($in{'user'});
&failure(&text('chmod_euser', $in{'user'})) if (!defined($uid));
$gid = $in{'group'} =~ /^\d+$/ ? $in{'group'}
			       : getgrnam($in{'group'});
&failure(&text('chmod_egroup', $in{'group'})) if (!defined($gid));

if ($in{'linkto'}) {
	# Just changing the link target
	&lock_file($in{'path'});
	unlink($in{'path'});
	symlink($in{'linkto'}, $in{'path'}) ||
		&failure(&text('chmod_elink', $1));
	&unlock_file($in{'path'});
	}
elsif ($in{'rec'} == 0) {
	# Just this file
	&update($in{'path'}, 0);
	}
elsif ($in{'rec'} == 1) {
	# This directory and all its files
	&update($in{'path'}, 0);
	opendir(DIR, $in{'path'});
	foreach $f (readdir(DIR)) {
		next if ($f eq "." || $f eq "..");
		next if (-l $full);
		&update("$in{'path'}/$f", 1) if (!-d $full);
		}
	closedir(DIR);
	}
elsif ($in{'rec'} == 2) {
	# Directory and all subdirectories
	&update($in{'path'}, 0);
	&recurse($in{'path'});
	}
print "\n";

sub recurse
{
local(@files, $f, $full);
opendir(DIR, $_[0]);
@files = readdir(DIR);
closedir(DIR);
foreach $f (@files) {
	$full = "$_[0]/$f";
	next if ($f eq "." || $f eq "..");
	next if (-l $full);
	&update($full, !-d $full);
	&recurse($full) if (-d $full);
	}
}

sub failure
{
print @_,"\n";
exit;
}
 
# update(file, perms_only)
sub update
{
local $perms = $in{'perms'};
if ($_[1]) {
	@st = stat($_[0]);
	$perms = ($perms & 0777) | ($st[2] & 037777777000);
	}
chown($uid, $gid, $_[0]) || &failure(&text('chmod_echown', $!));
chmod($perms, $_[0]) || &failure(&text('chmod_echmod', $!));
}

  0707010000eb97000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001f00000003reloc/file/config-cobalt-linux    xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb98000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001e00000003reloc/file/config-corel-linux xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb99000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001f00000003reloc/file/config-debian-linux    xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
07070100046bc2000041ed0000000000000001000000023d1ffa3600000000000000200000000000000000000000000000001000000003reloc/file/lang   07070100046bc3000081a40000000000000002000000013d1fe2d500002351000000200000000000000000000000000000001300000003reloc/file/lang/ca    index_title=Administrador de Fitxers
index_nojava=Aquest mòdul requereix java per funcionar, però el teu navegador no suporta java
switch_euser=L'usuari Unix no existeix!

top_down=Desa
top_edit=Edita
top_refresh=Refresca
top_info=Info
top_eacl=ACL
top_attr=Atributs
top_ext=EXT
top_delete=Suprimeix
top_new=Nou
top_upload=Puja
top_rename=Renomena
top_copy=Copia
top_cut=Retalla
top_paste=Enganxa
top_share=Xarxa
top_search=Busca

right_name=Nom
right_size=Mida
right_user=Usuari
right_group=Grup
right_date=Data

edit_enormal=Només es poden editar els fitxers normals
edit_title=Editant $1
edit_title2=Creant el fitxer
edit_filename=Nom del fitxer:
edit_eover=$1 no es pot reescriure
edit_esave=No he pogut desar el fitxer: $1
edit_eaccess=No tens permís per desar '$1'

info_file=Fitxer
info_path=Camí:
info_type=Tipus:
info_size=Mida:
info_mod=Modificat:
info_link=Enllaç a:
info_perms=Permisos
info_user=Usuari:
info_group=Grup:
info_other=Altres:
info_sticky=Sticky:
info_sticky2=Només els propietaris poden esborrar fitxers
info_own=Propietat
info_setuid=Setuid:
info_setuid2=Executa com a usuari
info_setgid=Setgid:
info_setgid2=Els fitxers hereten el grup
info_setgid3=Executa com a grup
info_apply=Aplica els canvis a
info_apply1=Aquest directori nomes
info_apply2=Aquest directori i els seus fitxers
info_apply3=Aquest directori i tots els seus subdirectoris
info_efailed=No he pogut actualitzar $1: $2
info_read=Llegir
info_write=Escriure
info_list=Llistar
info_exec=Executar

eacl_eacls=No he pogut llegir les ACLs: $1
eacl_acltype=Tipus d'ACL
eacl_aclname=Aplica a
eacl_aclperms=Permisos
eacl_add=Afegeix ACL del tipus:
eacl_remove=Esborra ACL
eacl_efs=EL sistema de fitxers $1 no suporta ACLs
eacl_create=Crea ACL
eacl_edit=Edita ACL
eacl_user=Propietari del fitxer $1
eacl_group=Grup del fitxer $1
eacl_eowner=Hi falta l'usuari o el grup per aplicar
eacl_efailed=No he pogut establir l'ACL per a $1: $2
eacl_emask=Hi pot haver com a molt una entrada de màscara ACL
eacl_edefmask=Hi pot haver com a molt una entrada per defecte de màscara ACL
eacl_title=ACL de $1
eacl_owner=Propietari del fitxer
eacl_edefaults=Si un fitxer té alguna ACL per defecte, ha de tenir usuari i grup per defecte.

acltype_user=Usuari
acltype_group=Grup
acltype_other=Altres
acltype_mask=Màscara
acltype_default_user=Usuari per defecte
acltype_default_group=Grup per defecte
acltype_default_other=Altres per defecte
acltype_default_mask=Màscara per defecte

delete_dtitle=Supressió de directori
delete_ftitle=Supressió de fitxer
delete_ddesc=Segur que vols esborrar de forma definitiva el directori $1 i tot el seu contingut?
delete_fdesc=Segur que vols esborrar de forma definitiva el fitxer $1?
delete_efailed=No he pogut esborrar $1: $2

mkdir_title=Nou Directori
mkdir_dir=Nou directori:
mkdir_eexists=$1 ja existeix
mkdir_efailed=La creació del director ha fallat: $1
mkdir_eaccess=No tens permís per crear '$1'

link_title=Creació d'enllaç
link_from=Enllaça:
link_to=A:
link_eexists=$1 ja existeix
link_efailed=L'enllaç ha fallat: $1
link_efrom=No tens permís per enllaçar '$1'
link_efollow=No tens permís per crear enllaços simbòlics

rename_title=Renomenament de $1
rename_old=Nom vell:
rename_new=Nom nou:
rename_ok=Renomena
rename_eexists=Ja existeix un fitxer anomenat $1
rename_efailed=El renomenament ha fallat: $1
rename_eold=No tens permís per renomenar '$1'
rename_enew=No tens permís per renomenar a '$1'

file_type0=Directori
file_type1=Fitxer de text
file_type2=Fitxer d'imatge
file_type3=Fitxer binari
file_type4=Fitxer
file_type5=Enllaç simbòlic
file_type6=Fitxer de dispositiu
file_type7=Pipe

view_enormal=Només es poden mostrar els fitxers normals
view_enormal2=Only normal files can be downloaded
view_eaccess=No tens permís per accedir a $1
view_eopen=No he pogut obrir $1: $2

paste_ecopy=Has de copiar o retallar abans d'enganxar
paste_egone=El fitxer copiat $1 ja no existeix
paste_eover=$1 no es pot reescriure
paste_eself=No pots enganxar un fitxer sobre ell mateix
paste_emfailed=El desplaçament ha fallat: $1
paste_ecfailed=La copia ha fallat: $1

over_title=Fitxer Existent
over_msg=El fitxer $1 ja existeix. Utilitza el camp inferior per introduir un nom de fitxer nou per al fitxer enganxat.
over_new=Nom de fitxer nou:
over_ok=Bé

upload_efailed=No he pogut obrir el fitxer per pujar: $1
upload_title=Puja de Fitxer
upload_file=Fitxer per pujar
upload_dir=Puja'l al directori
upload_ok=Puja
upload_conv=Converteix salts de línia DOS
upload_efile=No s'ha seleccionat cap fitxer per pujar.
upload_edir=El directori de destinació no existeix.
upload_eperm=No tens permís per crear $1
upload_ewrite=No he pogut escriure a $1: $2.

find_eaccess=No tens permís per accedir $1
find_eexist=$1 no existeix a $2
find_edir=$1 no és un directori de $2

cancel=Cancel·la

chmod_eaccess=No tens permís per accedir '$1'
chmod_euser=$1: no existeix l'usuari
chmod_egroup=$1: no existeix el grup
chmod_elink=enllaç simbòlic fallit: $1
chmod_echown=chown fallit: $1
chmod_echmod=chmod fallit: $1

copy_efrom=No tens permís per copiar de '$1'
copy_eto=No tens permís per copiar a '$1'
copy_elink=enllaç simbòlic fallit: $1

delete_eaccess=No tens permís per esborrar '$1'

list_eaccess=No tens permís per accedir a aquest directori
list_edir=No he pogut llistar $1: $2

move_eto=No tens permís per desplaçar a '$1'
move_afrom=No tens permís per desplaçar '$1'

acl_user=Accedeix els fitxers del servidor com a usuari
acl_user_def=Igual que l'usuari Webmin
acl_umask=Umask per a fitxers nous
acl_follow=Segueix sempre els enllaços simbòlics
acl_dirs=Permet l'accés nomes als directoris
acl_home=Inclou el directori arrel de l'usuari Webmin
acl_log=Enregistra totes les modificacions de fitxers

share_title=Xarxa
share_samba=Windows
share_nfs=NFS
share_son=Compartició de fitxers Windows activada
share_soff=Compartició de fitxers Windows desactivada
share_writable=Gravable
share_available=Actualment actiu
share_sheader=Opcions del recurs
share_only=Nomes
share_guest=Accés hoste
share_comment=Comentari
share_nheader=Opcions d'exportació NFS
share_non=Compartició de fitxers NFS activada
share_noff=Compartició de fitxers NFS desactivada
share_desc=Descripció
share_ro=Hosts nomes lectura
share_rw=Hosts lectura/escriptura
share_root=Hosts amb accés root
share_none=Cap
share_all=Tot
share_listed=Llistats...
share_host=Hosts
share_opts=Opcions
share_s0=No et refiïs de ningú
share_s1=Refia't de no-root
share_s2=Refia't de tothom
share_lro=Només lectura
share_lrw=Lectura-escriptura

log_create_export=He creat l'exportació NFS $1
log_modify_export=He modificat l'exportació NFS $1
log_delete_export=He suprimit l'exportació NFS $1
log_create_share=He creat el recurs Samba $1
log_modify_share=He modificat el recurs Samba $1
log_delete_share=He suprimit el recurs Samba $1
log_save=He desat el fitxer $1
log_chmod=He canviat els permisos del fitxer $1
log_mkdir=He creat el directori $1
log_upload=He pujat el fitxer $1
log_link=He creat l'enllaç simbòlic $1 a $2
log_relink=He modificat l'enllaç simbòlic $1 a $2
log_copy=He copiat el fitxer $1 a $2
log_move=He desplaçat el fitxer $1 a $2
log_delete=He esborrat el fitxer $1
log_attr=Estableix atributs sobre el fitxer $1
log_acl=Estableix ACL sobre el fitxer $1

search_eaccess=No tens permís per buscar en aquest directori
search_title=Busca Fitxers
search_ok=Busca ara
search_dir=Busca al directori
search_match=els fitxers que coincideixin amb
search_user=Usuari propietari
search_group=Grup propietari
search_any=Qualsevol
search_type=Tipus de fitxer
search_types_=Qualsevol
search_types_f=Fitxer
search_types_d=Directori
search_types_l=Enllaç simbòlic
search_types_p=Pipe
search_size=Mida del fitxer
search_more=Més de
search_less=Menys de
search_xdev=Busca muntatges anteriors
search_edir=Hi falta el directori de recerca o bé no és correcte
search_ematch=Hi falta una expressió regular
search_euser=Hi falta un nom d'usuari
search_egroup=Hi falta un nom de grup
search_esize=La mida del fitxer ha de ser un enter
search_crit=Criteris de Recerca
search_list=Resultats de la Recerca

facl_eaccess=No tens permís per establir ACLs per a aquest fitxer

attr_eattrs=No he trobat els atributs: $1
attr_efs=El sistema de fitxers $1 no suporta atributs
attr_add=Afegeix Atribut
attr_name=Nom de l'Atribut
attr_value=Valor de l'Atribut
attr_efailed=No he pogut establir els atributs de $1: $2
attr_title=Atributs de Fitxer de $1
attr_create=Crea Atribut
attr_edit=Edita Atribut
attr_ename=Hi falta el nom de l'atribut

ext_eattrs=No he pogut obtenir els atributs EXT: $1
ext_efs=El sistema de fitxers $1 no suporta atributs EXT
ext_title=Atributs EXT de $1
ext_header=Atributs EXT de fitxer
ext_efailed=No he pogut establir els atributs de $1: $2

eattr_A=No actualitzis els temps d'accés
eattr_a=Només pot afegir al fitxer
eattr_c=Comprimeix les dades del disc
eattr_d=No en facis còpia amb <tt>dump</tt>
eattr_i=No en permetis la modificació
eattr_s=Posa els blocs a zero en suprimir
eattr_S=Fes sempre un <i>sync</i> després de gravar
eattr_u=Desa el contingut per a desfer
   07070100046bc4000081a40000000000000002000000013d1fe2d5000012e2000000200000000000000000000000000000001300000003reloc/file/lang/de    index_title=Datei-Manager
index_nojava=Diese Modul ben&ouml;tigt Java, aber Ihr Browser unterst&uuml;tzt kein Java

top_open=Oeffnen
top_view=Anzeigen
top_edit=Bearbeiten
top_refresh=Refresh
top_info=Info
top_delete=Loeschen
top_new=Neu
top_upload=Upload
top_rename=Umben.
top_copy=Kopieren
top_cut=Ausschn.
top_paste=Einfügen

right_name=Name
right_size=Groesse
right_user=Benutzer
right_group=Gruppe
right_date=Datum

edit_enormal=Nur normale Dateien koennen bearbeitet werden
edit_title=Bearbeite $1
edit_title2=Erstelle Datei
edit_filename=Dateiname:
edit_eover=$1 kann nicht überschrieben werden
edit_esave=Fehler beim Speichern der Datei : $1
edit_eaccess=Sie haben keine Berechtigung die Datei '$1' zu speichern

info_file=Datei
info_path=Pfad:
info_type=Typ:
info_size=Grösse:
info_mod=Verändert:
info_link=Link zu:
info_perms=Rechte
info_user=Benutzer:
info_group=Gruppe:
info_other=Andere:
info_sticky=Sticky:
info_sticky2=Nur Besitzer darf Datei löschen
info_own=Besitzer
info_setuid=Setuid:
info_setuid2=Führe aus als Benutzer
info_setgid=Setgid:
info_setgid2=Dateien erben Gruppen
info_setgid3=Führe aus als Gruppe
info_apply=Wende Änderungen an auf
info_apply1=Nur dieses Verzeichnis
info_apply2=Dieses Verzeichnisse und seine Dateien
info_apply3=Dieses Verzeichnis und alle Unterverzeichnisse
info_efailed=Fehler beim Update von $1 : $2
info_read=Lesen
info_write=Schreiben
info_list=Liste
info_exec=Exec

delete_dtitle=Loesche Verzeichnis
delete_ftitle=Loesche Datei
delete_ddesc=Sind Sie sicher, dass sie das Verezichnis $1 und alle Unterverzeichnisse unwiderruflich loeschen wollen?
delete_fdesc=Sind Sie sicher, dass sie die Datei $1 unwiderruflich löchen wollen?
delete_efailed=Fehler beim Loeschen von $1 : $2

mkdir_title=Neues Verzeichnis
mkdir_dir=Neues Verzeichnis:
mkdir_eexists=$1 existiert bereits
mkdir_efailed=Erstellen des Verzeichnisses schlug fehl : $1
mkdir_eaccess=Sie haben keine Berechtigung, '$1' anzulegen

link_title=Erstelle Link
link_from=Link von:
link_to=Link zu:
link_eexists=$1 existiert bereits
link_efailed=Link schlug fehl : $1
link_efrom=Sie haben keine Berechtigung von '$1' zu verknuepfen
link_efollow=Sie habe meine Berechtigung symbolische Links anzulegen

rename_title=Umbennenen von $1
rename_old=Alter Name:
rename_new=Neuer Name:
rename_ok=Umbenennen
rename_eexists=Es existiert bereits eine Datei mit dem Namen $1
rename_efailed=Umbennen schlug fehl : $1
rename_eold=Sie haben keine Berechtigung, '$1' umzubennenen
rename_enew=Sie habe keine Berechtigung zu '$1' umzubennenen

file_type0=Verzeichnis
file_type1=Text Datei
file_type2=Bild Datei
file_type3=Binaere Datei
file_type4=Datei
file_type5=Symbolischer Link
file_type6=Geräte Datei
file_type7=Pipe

view_enormal=Nur normale Dateien duerfen betrachtet werden
view_eaccess=Sie haben kein Berechtigung zum Zugriff auf $1
view_eopen=Fehler beim Öffnen von $1 : $2

paste_ecopy=Sie muessen Kopieren oder Ausschneiden vor dem Einfuegen
paste_egone=Kopierte Datei $1 existiert nicht mehr
paste_eover=$1 kann nicht ueberschrieben werden
paste_eself=Sie koennen keine Datei auf sich selber einfügen
paste_emfailed=Verschieben schlug fehl : $1
paste_ecfailed=Kopieren schlug fehl : $1

over_title=Datei existiert
over_msg=Die Datei $1 existiert berits. Benutze Sie das Feld unten um einen anderen Namen fuer die neue Datei anzugeben.
over_new=Neuer Dateiname:
over_ok=Ok

upload_efailed=Fehler beim Oeffnen von Upload : $1
upload_title=Datei Upload
upload_file=Datei zum uploaden
upload_dir=Upload zu Verzeichnis
upload_ok=Upload
upload_conv=Konvertiere DOS Zeilenvorsch&uuml;be?
upload_efile=Keine Datei fuer Upload ausgew&auml;hlt.
upload_edir=Upload Verzeichnis exitiert nicht.
upload_eperm=Sie haben keine Berechtigung $1 zu erstellen
upload_ewrite=Fehler beim schreiben von $1 : $2.

find_eaccess=Sie haben kein Berechtigung zum Zugriff auf $1
find_eexist=$1 existiert nicht in $2
find_edir=$1 ist kein Verzeichnis in $2

cancel=Abbrechen

chmod_eaccess=Sie haben keine Berechtigung zum Zugriff auf '$1'
chmod_euser=$1 : Benutzer nicht gefunden
chmod_egroup=$1 : Gruppe nicht gefunden
chmod_elink=Symbolischer Link schlug fehl : $1
chmod_echown=chown schlug fehl : $1
chmod_echmod=chmod schlug fehl : $1

copy_efrom=Sie haben kein Berechtigung aus '$1' zu kopieren
copy_eto=Sie haben keine Berechtigung zu '$1' zu kopieren
copy_elink=Symbolischer Link schlug fehl : $1

delete_eaccess=Sie haben keine Berechtigung '$1' zu löschen

list_eaccess=Sie haben keine Berechtigung zum Zugriff auf dieses Verzeichnis

move_eto=Sie haben keine Berechtigung, Dateien zu '$1' zu verschieben
move_afrom=Sie haben keine Berechtigung '$1' zu verschieben

acl_user=Greife auf Dateien auf dem Server zu als Benutzer
acl_umask=Umask fuer neue Dateien
acl_follow=Folge immer symbolischen Links?
acl_dirs=Erlaube nur Zugriff auf Verzeichnisse
  07070100046bc5000081a40000000000000002000000013d1fe2d500001ffa000000200000000000000000000000000000001300000003reloc/file/lang/en    index_title=File Manager
index_nojava=This module requires java to function, but your browser does not support java
index_eremote=There is no Unix user matching the Webmin login $1.
switch_euser=Unix user does not exist!

top_ret=Index
top_down=Save
top_edit=Edit
top_refresh=Refresh
top_info=Info
top_eacl=ACL
top_attr=Attrs
top_ext=EXT
top_delete=Delete
top_new=New
top_upload=Upload
top_rename=Rename
top_copy=Copy
top_cut=Cut
top_paste=Paste
top_share=Sharing
top_search=Find

right_name=Name
right_size=Size
right_user=User
right_group=Group
right_date=Date

edit_enormal=Only normal files can be edited
edit_title=Editing $1
edit_title2=Creating file
edit_filename=Filename:
edit_eover=$1 cannot be overwritten
edit_esave=Failed to save file : $1
edit_eaccess=You are not allowed to save '$1'

info_file=File
info_path=Path:
info_type=Type:
info_size=Size:
info_mod=Modified:
info_link=Link to:
info_perms=Permissions
info_user=User:
info_group=Group:
info_other=Other:
info_sticky=Sticky:
info_sticky2=Only owners can delete files
info_own=Ownership
info_setuid=Setuid:
info_setuid2=Execute as user
info_setgid=Setgid:
info_setgid2=Files inherit group
info_setgid3=Execute as group
info_apply=Apply changes to
info_apply1=This directory only
info_apply2=This directory and its files
info_apply3=This directory and all subdirectories
info_efailed=Failed to update $1 : $2
info_read=Read
info_write=Write
info_list=List
info_exec=Exec

eacl_eacls=Failed to read ACLs : $1
eacl_acltype=ACL Type
eacl_aclname=Apply to
eacl_aclperms=Permissions
eacl_add=Add ACL of type :
eacl_remove=Remove ACL
eacl_efs=The filesystem $1 does not support ACLs
eacl_create=Create ACL
eacl_edit=Edit ACL
eacl_user=File owner $1
eacl_group=File group $1
eacl_eowner=Missing user or group to apply to
eacl_efailed=Failed to set ACL for $1 : $2
eacl_emask=There can be at most one mask ACL entry
eacl_edefmask=There can be at most one default mask ACL entry
eacl_title=ACL for $1
eacl_owner=File owner
eacl_edefaults=If a file has any default ACL, it must have default user, group and other ACLs.

acltype_user=User
acltype_group=Group
acltype_other=Others
acltype_mask=Mask
acltype_default_user=Default User
acltype_default_group=Default Group
acltype_default_other=Default Others
acltype_default_mask=Default Mask

delete_dtitle=Delete directory
delete_ftitle=Delete file
delete_ddesc=Are you sure you want to permanently delete the directory $1 and all its contents?
delete_fdesc=Are you sure you want to permanently delete the file $1 ?
delete_efailed=Failed to delete $1 : $2

mkdir_title=New Directory
mkdir_dir=New directory:
mkdir_eexists=$1 already exists
mkdir_efailed=Create directory failed : $1
mkdir_eaccess=You are not allowed to create '$1'

link_title=Create Link
link_from=Link from:
link_to=Link to:
link_eexists=$1 already exists
link_efailed=Link failed : $1
link_efrom=You are not allowed to link from '$1'
link_efollow=You are not allowed to create symlinks

rename_title=Rename $1
rename_old=Old name:
rename_new=New name:
rename_ok=Rename
rename_eexists=A file called $1 already exists
rename_efailed=Rename failed : $1
rename_eold=You are not allowed to rename '$1'
rename_enew=You are not allowed to rename to '$1'

file_type0=Directory
file_type1=Text file
file_type2=Image file
file_type3=Binary file
file_type4=File
file_type5=Symbolic link
file_type6=Device file
file_type7=Pipe

view_enormal=Only normal files can be viewed
view_enormal2=Only normal files can be downloaded
view_eaccess=You are not allowed to access $1
view_eopen=Failed to open $1 : $2

paste_ecopy=You must cut or copy before pasting
paste_egone=Copied file $1 no longer exists
paste_eover=$1 cannot be overwritten
paste_eself=You cannot paste a file over itself
paste_emfailed=Move failed : $1
paste_ecfailed=Copy failed : $1

over_title=File Exists
over_msg=The file $1 already exists. Use the field below to enter a new filename for the pasted file.
over_new=New filename:
over_ok=Ok

upload_efailed=Failed to open upload : $1
upload_title=Upload File
upload_file=File to upload
upload_dir=Upload to directory
upload_ok=Upload
upload_conv=Convert DOS newlines?
upload_efile=No file selected to upload.
upload_edir=Upload directory does not exist.
upload_eperm=You are not allowed to create $1
upload_ewrite=Failed to write to $1 : $2.

find_eaccess=You are not allowed to access $1
find_eexist=$1 does not exist in $2
find_edir=$1 is not a directory in $2

cancel=Cancel

chmod_eaccess=You are not allowed to access '$1'
chmod_euser=$1 : no such user
chmod_egroup=$1 : no such group
chmod_elink=symlink failed : $1
chmod_echown=chown failed : $1
chmod_echmod=chmod failed : $1

copy_efrom=You are not allowed to copy from '$1'
copy_eto=You are not allowed to copy to '$1'
copy_elink=symlink failed : $1

delete_eaccess=You are not allowed to delete '$1'

list_eaccess=You are not allowed to access this directory
list_edir=Failed to list $1 : $2

move_eto=You are not allowed to move to '$1'
move_afrom=You are not allowed to move '$1'

acl_user=Access files on server as user
acl_user_def=Same as Webmin login
acl_umask=Umask for new files
acl_follow=Always follow symlinks?
acl_dirs=Only allow access to directories
acl_home=Include home directory of Webmin user
acl_log=Log all file modifications?

share_title=Sharing
share_samba=Windows
share_nfs=NFS
share_son=Windows file sharing enabled
share_soff=Windows file sharing disabled
share_writable=Writable?
share_available=Currently active?
share_sheader=Sharing options
share_only=Only
share_guest=Guest access?
share_comment=Comment
share_nheader=NFS export options
share_non=NFS file sharing enabled
share_noff=NFS file sharing disabled
share_desc=Description
share_ro=Read-only hosts
share_rw=Read-write hosts
share_root=Root access hosts
share_none=None
share_all=All
share_listed=Listed..
share_host=Hosts
share_opts=Options
share_s0=Trust nobody
share_s1=Trust non-root
share_s2=Trust everybody
share_lro=Read-only
share_lrw=Read-write

log_create_export=Created NFS export $1
log_modify_export=Modified NFS export $1
log_delete_export=Deleted NFS export $1
log_create_share=Created Samba share $1
log_modify_share=Modified Samba share $1
log_delete_share=Deleted Samba share $1
log_save=Saved file $1
log_chmod=Changed permissions on file $1
log_mkdir=Created directory $1
log_upload=Uploaded file $1
log_link=Created symbolic link $1 to $2
log_relink=Modified symbolic link $1 to $2
log_copy=Copied file $1 to $2
log_move=Moved file $1 to $2
log_delete=Deleted file $1
log_attr=Set attributes on file $1
log_acl=Set ACL on file $1

search_eaccess=You are not allowed to search this directory
search_title=Find files
search_ok=Search Now
search_dir=Search directory
search_match=For files matching
search_user=Owned by user
search_group=Owned by group
search_any=Any
search_type=File type
search_types_=Any
search_types_f=File
search_types_d=Directory
search_types_l=Symbolic link
search_types_p=Named pipe
search_size=File size
search_more=More than
search_less=Less than
search_xdev=Search past mounts?
search_edir=Missing or invalid search directory
search_ematch=Missing matching regexp
search_euser=Missing username
search_egroup=Missing group name
search_esize=File size must be an integer
search_crit=Search criteria
search_list=Search results

facl_eaccess=You are not allowed to set ACLs for this file

attr_eattrs=Failed to get attributes : $1
attr_efs=The filesystem $1 does not support attributes
attr_add=Add Attribute
attr_name=Attribute Name
attr_value=Attribute Value
attr_efailed=Failed to set attributes for $1 : $2
attr_title=File Attributes for $1
attr_create=Add Attribute
attr_edit=Edit Attribute
attr_ename=Missing attribute name

ext_eattrs=Failed to get EXT attributes : $1
ext_efs=The filesystem $1 does not support EXT attributes
ext_title=EXT attributes for $1
ext_header=EXT file attributes
ext_efailed=Failed to set attributes for $1 : $2

eattr_A=Do not update access times
eattr_a=Can only append to file
eattr_c=Compress data on disk
eattr_d=Do not backup with dump
eattr_i=Do not allow modification
eattr_s=Zero blocks when deleting
eattr_S=Always sync after writing
eattr_u=Save contents for undeletion

  07070100046bd0000081a40000000000000002000000013d1fe2d500001b6b000000200000000000000000000000000000001300000003reloc/file/lang/es    index_title=Gestor de Archivos
index_nojava=Este módulo necesita de java para funcionar pero tu navegador no soporta java
switch_euser=¡No existe el usuario Unix!

top_open=Abrir
top_view=Ver
top_edit=Editar
top_refresh=Refrescar
top_info=Información
top_delete=Borrar
top_new=Nuevo
top_upload=Cargar
top_rename=Renombrar
top_copy=Copiar
top_cut=Cortar
top_paste=Pegar
top_share=Compartir
top_search=Hallar

right_name=Nombre
right_size=Medida
right_user=Usuario
right_group=Grupo
right_date=Fecha

edit_enormal=Sólo se pueden editar los archivos normales
edit_title=Editando $1
edit_title2=Creando archivo
edit_filename=Nombre de Archivo:
edit_eover=$1 no puede ser sobreescrito
edit_esave=No puedo salvar archivo: $1
edit_eaccess=No estás autorizado a salvar '$1'

info_file=Archivo
info_path=Trayectoria:
info_type=Tipo:
info_size=Medida:
info_mod=Modificado:
info_link=Enlaza con:
info_perms=Permisos
info_user=Usuario:
info_group=Grupo:
info_other=Otros:
info_sticky=Restricción:
info_sticky2=Sólo los propietarios pueden borrar archivos
info_own=Propiedad
info_setuid=PonerUid:
info_setuid2=Ejecutar como usuario
info_setgid=PonerGid:
info_setgid2=Los Archivos heredan grupo
info_setgid3=Ejecutar como grupo
info_apply=Aplicar cambios a
info_apply1=Este directorio solamente
info_apply2=Este directorio y sus archivos
info_apply3=Este directorio y todos los subdirectorios
info_efailed=No puedo actualizar $1 : $2
info_read=Lectura
info_write=Escritura
info_list=Lista
info_exec=Ejecución

delete_dtitle=Borrar directorio
delete_ftitle=Borrar archivo
delete_ddesc=¿Estás seguro de querer borrar permanentemente el directorio $1 y todo su contenido?
delete_fdesc=¿Estás seguro de querer borrar permanentemente el archivo $1?
delete_efailed=No pude borrar $1 : $2

mkdir_title=Nuevo Directorio
mkdir_dir=Nuevo Directorio:
mkdir_eexists=$1 ya existe
mkdir_efailed=No pude crear directorio: $1
mkdir_eaccess=No estás autorizado a crear '$1'

link_title=Crear Enlace
link_from=Enlace de:
link_to=Enlaza con:
link_eexists=$1 ya existe
link_efailed=Error en enlace: $1
link_efrom=No estás autorizado a enlazar desde '$1'
link_efollow=No estás autorizado a crear enlaces simbólicos

rename_title=Renombrar $1
rename_old=Nombre antiguo:
rename_new=Nombre nuevo:
rename_ok=Renombrar
rename_eexists=Ya existe un archivo llamado $1
rename_efailed=Error en cambio de nombre: $1
rename_eold=No estás autorizado a renombrar '$1'
rename_enew=No estás autorizado a renombrar a '$1'

file_type0=Directorio
file_type1=Archivo de texto
file_type2=Archivo de Imagen
file_type3=Archivo binario
file_type4=Archivo
file_type5=Enlace simbólico
file_type6=Archivo de dispositivo
file_type7=Tubería

view_enormal=Sólo se pueden ver los archivos normales
view_eaccess=No estás autorizado a acceder a $1
view_eopen=No pude abrir $1 : $2

paste_ecopy=Debes de cortar o copiar antes de pegar
paste_egone=El archivo copiado $1 ya no existe
paste_eover=$1 no puede ser sobreescrito
paste_eself=No puedes pegar un archivo sobre sí mismo
paste_emfailed=No pude Mover: $1
paste_ecfailed=No pude Copiar: $1

over_title=El archivo ya Existe
over_msg=El archivo $1 ya existe. Usa el campo debajo para digitar un nuevo nombre de archivo para el archivo a ser pegado.
over_new=Nuevo nombre de archivo:
over_ok=Ok

upload_efailed=No pude abrir la Carga: $1
upload_title=Cargar Archivo
upload_file=Archivo a Cargar
upload_dir=Cargar en directorio
upload_ok=Carga
upload_conv=¿Convierto líneas de DOS?
upload_efile=No se ha seleccionado archivo para cargar.
upload_edir=Directorio de Carga no existe.
upload_eperm=No estás autorizado a crear $1
upload_ewrite=No pude escribir en $1 : $2.

find_eaccess=No estás autorizado a acceder a $1
find_eexist=$1 no existe en $2
find_edir=$1 no es un directorio de $2

cancel=Cancelar

chmod_eaccess=No estás autorizado a acceder a '$1'
chmod_euser=$1 : no exite tal usuario
chmod_egroup=$1 : no exite tal grupo
chmod_elink=error en enlace simbólico: $1
chmod_echown=No pude cambiar propietario: $1
chmod_echmod=No pude cambiar permisos: $1

copy_efrom=No estás autorizado a copiar desde '$1'
copy_eto=No estás autorizado a copiar en '$1'
copy_elink=error en enlace simbólico: $1

delete_eaccess=No estás autorizado a borrar '$1'

list_eaccess=No estás autorizado a acceder a este directorio
list_edir=No pude listar $1 : $2

move_eto=No estás autorizado a mover a '$1'
move_afrom=No estás autorizado a mover '$1'

acl_user=Acceder a archivo en servidor como usuario
acl_user_def=El mismo que el login de Webmin
acl_umask=Máscara de Usario para Nuevos archivos
acl_follow=¿Sigo siempre enlaces simbólicos?
acl_dirs=Sólo permitir acceso a directorios
acl_home=Incluir directorio inicial de usuario Webmin

share_title=Compartir
share_samba=Windows
share_nfs=NFS
share_son=Activada compartición de archivos de Windows
share_soff=Desactivada compartición de archivos de Windows
share_writable=¿Escribible?
share_available=¿Actuálmente activa?
share_sheader=Opciones de compartición
share_only=Sólamente
share_guest=¿Acceso a invitado?
share_comment=Comentario
share_nheader=Opciones de exportación de NFS
share_non=Compartición de archivos NFS activada
share_noff=Compartición de archivos NFS desactivada
share_desc=Descripción
share_ro=Máquinas Sólo-lectura
share_rw=Máquinas Lectura-escritura
share_root=Máquinas de acceso Root
share_none=Ninguna
share_all=Todas
share_listed=Listadas...
share_host=Máquinas
share_opts=Opciones
share_s0=No fiarse de nadie
share_s1=Fiarse de no-root
share_s2=Fiarse de todos
share_lro=Sólo-lectura
share_lrw=Lectura-escritura

log_create_export=Creada exportación NFS $1
log_modify_export=Modificada exportación NFS $1
log_delete_export=Borrada exportación NFS $1
log_create_share=Creada compartición Samba $1
log_modify_share=Modificada compartición Samba $1
log_delete_share=Borrada compartición Samba $1
log_save=Salvado archivo $1
log_chmod=Cambiado permisos en archivo $1
log_mkdir=Creado directorio $1
log_upload=Descargado archivo $1
log_link=Creado enlace simbólico $1 a $2
log_relink=Modificado enlace simbólico $1 a $2
log_copy=Copiado archivo $1 a $2
log_move=Movido archivo $1 a $2
log_delete=Borrado archivo $1

search_eaccess=No estás autorizado a buscar este directorio
search_title=Hallar archivos
search_ok=Buscar Ahora
search_dir=Buscar directorio
search_match=por archivos que coincidan con
search_user=Perteneciente al usuario
search_group=Perteneciente al grupo
search_any=Cualquiera
search_type=Tipo de archivo
search_types_=Cualquiera
search_types_f=Archivo
search_types_d=Directorio
search_types_l=Enlace simbólico
search_types_p=Tubería nombrada
search_size=Medida de archivo
search_more=Más de
search_less=Menos de
search_xdev=¿Busco montajes pasados?
search_edir=Directorio de búsqueda sin poner o inválido
search_ematch=Regexp coincidente sin poner
search_euser=Nombre de usuario sin poner
search_egroup=Nombre de grupo sin poner
search_esize=La medida de archivo debe de ser un entero
search_crit=Criterio de búsqueda
search_list=Resultados de la búsqueda

 07070100046bd4000081a40000000000000002000000013d1fe2d500001d2b000000200000000000000000000000000000001300000003reloc/file/lang/fr    index_title=Gestionnaire de Fichier
index_nojava=Ce module nécessite que java soit en fonction, mais votre fureteur ne le supporte pas
switch_euser=L'utilisateur Unix n'existe pas !

top_open=Ouvrir
top_view=Voir
top_edit=Éditer
top_refresh=Rafraîchir
top_info=Information
top_delete=Supprimer
top_new=Nouveau
top_upload=Envoyer
top_rename=Renommer
top_copy=Copier
top_cut=Couper
top_paste=Coller
top_share=Partage
top_search=Trouver

right_name=Nom
right_size=Taille
right_user=Usager
right_group=Groupe
right_date=Date

edit_enormal=Seulement les fichiers normaux peuvent être éditer
edit_title=Éditer '$1'
edit_title2=Créer un fichier
edit_filename=Nom de fichier:
edit_eover='$1' ne peut être écrit par-dessus
edit_esave=Impossible d'ouvrir le fichier '$1'
edit_eaccess=Vous n'êtes pas autorisé à sauver '$1'

info_file=Fichier
info_path=Chemin:
info_type=Type:
info_size=Taille:
info_mod=Modifié:
info_link=Liens vers:
info_perms=Permissions
info_user=Usager:
info_group=Groupe:
info_other=Autre:
info_sticky=Collant:
info_sticky2=Seulement son propriétaire peut effacer un fichier
info_own=Propriétaire
info_setuid=SUID:
info_setuid2=Exécuter comme usager
info_setgid=SGID:
info_setgid2=Les fichiers hérite du groupe
info_setgid3=Exécuter comme groupe
info_apply=Appliquer les changements à
info_apply1=Ce répertoire seulement
info_apply2=Ce répertoire et à ses fichiers
info_apply3=Ce répertoire et tout ses sous-répertoires
info_efailed=Impossible de mettre à jour '$1' : $2
info_read=Lire
info_write=Écrire
info_list=Lister
info_exec=Exécuter

delete_dtitle=Supprimer un répertoire
delete_ftitle=Supprimer un fichier
delete_ddesc=Vous êtes sur que vous voulez supprimer définitivement le répertoire '$1' et tout son contenu?
delete_fdesc=Vous êtes sur que vous voulez supprimer définitivement le fichier $1?
delete_efailed=Impossible de supprimer '$1' : $2

mkdir_title=Nouveau Répertoire
mkdir_dir=Nouveau répertoire:
mkdir_eexists='$1' existe déjà
mkdir_efailed=Impossible de créer le répertoire : $1
mkdir_eaccess=Vous n'êtes pas autorisé à créer '$1'

link_title=Créer un Lien Symbolique
link_from=Lien de:
link_to=Lien vers:
link_eexists='$1' Existe déjà
link_efailed=Impossible de faire le lien symbolique '$1'
link_efrom=Vous n'êtes pas autorisé à créer aucun lien symbolique de '$1'
link_efollow=Vous n'êtes pas autorisé à créer aucun lien symbolique

rename_title=Renommer '$1'
rename_old=Ancien nom:
rename_new=Nouveau nom:
rename_ok=Renommer
rename_eexists=Un fichier appelé '$1' existe déjà
rename_efailed=Impossible de renommer '$1'
rename_eold=Vous n'êtes pas autorisé à renommer '$1'
rename_enew=Vous n'êtes pas autorisé à renommer pour '$1'

file_type0=Répertoire
file_type1=Fichier texte
file_type2=Fichier image
file_type3=Fichier binaire
file_type4=Fichier
file_type5=Lien symbolique
file_type6=Fichier de périphérique
file_type7=Tuyau

view_enormal=Seulement un fichier normal peut être visionné
view_eaccess=Vous n'êtes pas autorisé d'accéder à '$1'
view_eopen=Impossible d'ouvrir '$1' : $2

paste_ecopy=Vous devez copier ou couper avant de coller
paste_egone=Le fichier copié '$1' n'existe plus
paste_eover='$1' ne peut être écrasé
paste_eself=Vous ne pouvez coller un fichier par-dessus lui-même
paste_emfailed=Impossible de déplacer '$1'
paste_ecfailed=Impossible de copier '$1'

over_title=Le fichier existe
over_msg=Le fichier $1 existe déjà. Utiliser le champ ci-dessous pour entrer un nouveau fichier pour le fichier collé.
over_new=Nouveau nom de fichier::
over_ok=Ok

upload_efailed=Impossible d'ouvrir l'envoie '$1'
upload_title=Envoie de Fichier
upload_file=Fichier à envoyer
upload_dir=Envoyer dans un répertoire
upload_ok=Envoie
upload_conv=Convertir les retours de chariot en format DOS?
upload_efile=Aucun fichier n'ont été sélectionné pour envoyer.
upload_edir=Le répertoire d'envoi n'existe pas.
upload_eperm=Vous n'êtes pas autorisé à créer '$1'
upload_ewrite=Impossible d'écrire dans '$1' : $2

find_eaccess=Vous n'êtes pas autorisé d'accéder à '$1'
find_eexist='$1' n'existe pas dans '$2'
find_edir='$1' n'est pas un répertoire dans '$2'

cancel=Annuler

chmod_eaccess=Vous n'êtes pas autorisé d'accéder à '$1'
chmod_euser=$1 : usager inexistant
chmod_egroup=$1 : groupe inexistant
chmod_elink=lien symbolique impossible : $1
chmod_echown=Impossible de changer de propriétaire : $1
chmod_echmod=Impossible de changer de permission : $1

copy_efrom=Vous n'êtes pas autorisé à copier de '$1'
copy_eto=Vous n'êtes pas autorisé à copier vers '$1'
copy_elink=lien symbolique impossible : $1

delete_eaccess=Vous n'êtes pas autorisé à supprimer '$1'

list_eaccess=Vous n'êtes pas autorisé d'accéder ce répertoire
list_edir=Echec du listage de $1 : $2

move_eto=Vous n'êtes pas autorisé à déplacer vers '$1'
move_afrom=Vous n'êtes pas autorisé à déplacer '$1'

acl_user=Accéder au système de fichier en étant un usager
acl_user_def=Pareil que le login Webmin
acl_umask=Démasquer tout nouveau fichier
acl_follow=Toujours suivre les liens symboliques?
acl_dirs=Seulement accès aux répertoires
acl_home=Inclure le répertoire personnel de l'utilisateur Webmin

share_title=Partage
share_samba=Windows
share_nfs=NFS
share_son=Partage de fichiers Windows activé
share_soff=Partage de fichiers Windows désactivé
share_writable=En écriture ?
share_available=Actuellement disponible ?
share_sheader=Options de partage
share_only=Seulement
share_guest=Accès Invité ?
share_comment=Commentaire
share_nheader=Options d'export NFS
share_non=Partage de fichiers NFS activé
share_noff=Partage de fichiers NFS désactivé
share_desc=Description
share_ro=Machines en lecture seule
share_rw=Machines en lecture/écriture
share_root=Machines avec accès root
share_none=Aucune
share_all=Toutes
share_listed=Listées ...
share_host=Machines
share_opts=Options
share_s0=Ne faire confiance à personne
share_s1=Faire confiance aux non-root
share_s2=Faire confiance à tout le monde
share_lro=Lecture seule
share_lrw=Lecture-écriture

log_create_export=Export NFS $1 créé
log_modify_export=Export NFS $1 modifié
log_delete_export=Export NFS $1 supprimé
log_create_share=Ressource partagée Samba $1 créée
log_modify_share=Ressource partagée Samba $1 modifiée
log_delete_share=Ressource partagée Samba $1 supprimée
log_save=Fichier $1 sauvé
log_chmod=Permissions modifiées sur le fichier $1
log_mkdir=Répertoire $1 créé
log_upload=Fichier $1 téléchargé
log_link=Lien symbolique de $1 vers $2 créé
log_relink=Lien symbolique de $1 vers $2 modifié
log_copy=Lien symbolique de $1 vers $2 copié
log_move=Fichier renommé de $1 en $2
log_delete=Fichier $1 supprimé

search_eaccess=Vous n'avez pas le droit de chercher dans ce répertoire
search_title=Trouver des fichiers
search_ok=Chercher maintenant
search_dir=Répertoire de recherche
search_match=Pour les fichiers correspondant à
search_user=Possédé par utilisateur
search_group=Possédé par groupe
search_any=N'importe
search_type=Type de fichier
search_types_=N'importe
search_types_f=Fichier
search_types_d=Répertoire
search_types_l=Lien symbolique
search_types_p=Tube nommé
search_size=Taille de fichier
search_more=Plus de
search_less=Moins de
search_xdev=Chercher au-delà des points de montage ?
search_edir=Répertoire de recherche manquant ou invalide
search_ematch=Expression rationnelle manquante
search_euser=Nom d'utilisateur manquant
search_egroup=Nom de groupe manquant
search_esize=La taille de fichier doit être un entier
search_crit=Critères de recherche
search_list=Résultats de la recherche

 07070100046bd6000081a40000000000000002000000013d1fe2d500001102000000200000000000000000000000000000001300000003reloc/file/lang/it    index_title=File Manager
index_nojava=Questo modulo richiede java per funzionare, ma il tuo browser
non supporta java

top_open=Apri
top_view=Visualizza
top_edit=Modifica
top_refresh=Aggiorna
top_info=Info
top_delete=Elimina
top_new=Nuovo
top_upload=Upload
top_rename=Rinomina
top_copy=Copia
top_cut=Taglia
top_paste=Incolla

right_name=Nome
right_size=Dimensione
right_user=Utente
right_group=Gruppo
right_date=Data

edit_enormal=Solo i file normali possono essere modificati
edit_title=Modifica di $1
edit_title2=Creazione file
edit_filename=Nome file:
edit_eover=$1 non puo' essere sovrascritto
edit_esave=Errore nel salvataggio del file : $1
edit_eaccess=Non hai i permessi per salvare '$1'

info_file=File
info_path=Percorso:
info_type=Tipo:
info_size=Dimensione:
info_mod=Modificato:
info_link=Collegamento a:
info_perms=Permessi
info_user=Utente:
info_group=Gruppo:
info_other=Altro:
info_sticky=Sticky:
info_sticky2=Solo i possessori possono eliminare i files
info_own=Possesso
info_setuid=Setuid:
info_setuid2=Esegui come utente
info_setgid=Setgid:
info_setgid2=Files inherit group
info_setgid3=Esegui come gruppo
info_apply=Applica le modifiche a
info_apply1=Solo questa directory
info_apply2=Questa directory ed i suoi files
info_apply3=Questa directory e tutte le sottodirectory
info_efailed=Errore nell'aggiornamento di $1 : $2
info_read=Lettura
info_write=Scrittura
info_list=Sfoglia
info_exec=Esecuzione

delete_dtitle=Elimina directory
delete_ftitle=Elimina file
delete_ddesc=Sei sicuro di voler eliminare permanentemente la directory $1 e
tutto il suo contenuto?
delete_fdesc=Sei sicuro di voler eliminare permanentemente il file $1 ?
delete_efailed=Errore nell'eliminazione di $1 : $2

mkdir_title=Nuova Directory
mkdir_dir=Nuova directory:
mkdir_eexists=$1 esiste gia'
mkdir_efailed=Creazione della directory fallita: $1
mkdir_eaccess=Non hai i permessi per creare '$1'

link_title=Crea collegamento
link_from=Collegamento da:
link_to=Collegamento a:
link_eexists=$1 esiste gia'
link_efailed=Collegamento fallito : $1
link_efrom=Non hai i permessi per fare un collegamento da '$1'
link_efollow=Non hai i permessi per creare collegamenti simbolici

rename_title=Rinomina $1
rename_old=Vecchio nome:
rename_new=Nuovo nome:
rename_ok=Rinomina
rename_eexists=Un file chiamato $1 esiste gia'
rename_efailed=Rinomina fallita: $1
rename_eold=Non hai i permessi per rinominare '$1'
rename_enew=Non hai i permessi per rinominare in '$1'

file_type0=Directory
file_type1=File di testo
file_type2=File di immagine
file_type3=File binario
file_type4=File
file_type5=Collegamento simbolico
file_type6=File di periferica
file_type7=Pipe

view_enormal=Solo i file normali possono essere visualizzati
view_eaccess=Non hai i permessi per accedere a $1
view_eopen=Errore nell'apertura di $1 : $2

paste_ecopy=Devi tagliare o copiare, prima di incollare
paste_egone=Il file copiato $1 non esiste piu'
paste_eover=$1 non puo' essere sovrascritto
paste_eself=Non puoi incollare un file su se stesso
paste_emfailed=Spostamento fallito: $1
paste_ecfailed=Copia fallita: $1

upload_efailed=Errore nell'apertura dell'upload : $1
upload_title=Upload File
upload_file=File da trasferire
upload_dir=Upload nella directory
upload_ok=Upload
upload_conv=Converti i 'tornaacapo' DOS?
upload_efile=Non hai selezionato il file da trasferire.
upload_edir=La directory di trasferimento non esiste.
upload_eperm=Non hai i permessi per creare $1
upload_ewrite=Errore nella scrittura di $1 : $2.

find_eaccess=Non hai i permessi per accedere a $1
find_eexist=$1 non esiste in $2
find_edir=$1 non e' una directory in $2

cancel=Annulla

chmod_eaccess=Non hai i permessi per accedere a '$1'
chmod_euser=$1 : utente inesistente
chmod_egroup=$1 : gruppo inesistente
chmod_elink=symlink fallito : $1
chmod_echown=chown fallito : $1
chmod_echmod=chmod fallito : $1

copy_efrom=Non hai i permessi per copiare da '$1'
copy_eto=Non hai i permessi per copiare su '$1'
copy_elink=symlink fallito : $1

delete_eaccess=Non hai i permessi per eliminare '$1'

list_eaccess=Non hai i permessi per accedere a questa directory

move_eto=Non hai i permessi per spostare su '$1'
move_afrom=Non hai i permessi per spostare '$1'

acl_user=Accedi ai file sul server come utente
acl_umask=Umask per i nuovi files
acl_follow=Segui sepre i symlinks?
acl_dirs=Permetti solo l'accesso alle directory


  07070100046bd7000081a40000000000000002000000013d1fe2d500001a1b000000200000000000000000000000000000001a00000003reloc/file/lang/ja_JP.euc index_title=¥Õ¥¡¥¤¥ë ¥Þ¥Í¡¼¥¸¥ã
index_nojava=¤³¤Î¥â¥¸¥å¡¼¥ë¤ÏÆ°ºî¤¹¤ë¤Î¤Ë Java ¤òÉ¬Í×¤È¤·¤Þ¤¹¤¬¡¢¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï Java ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó

top_open=³«¤¯
top_view=É½¼¨
top_edit=ÊÔ½¸
top_refresh=¹¹¿·
top_info=¾ðÊó
top_delete=ºï½ü
top_new=¿·µ¬
top_upload=¥¢¥Ã¥×¥í¡¼¥É
top_rename=Ì¾¾ÎÊÑ¹¹
top_copy=¥³¥Ô¡¼
top_cut=¥«¥Ã¥È
top_paste=¥Ú¡¼¥¹¥È
top_share=¶¦Í­
top_search=¸¡º÷

right_name=¥Û¥¹¥ÈÌ¾
right_size=¥µ¥¤¥º
right_user=¥æ¡¼¥¶
right_group=¥°¥ë¡¼¥×
right_date=Æü»þ

edit_enormal=É¸½à¥Õ¥¡¥¤¥ë¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹
edit_title=$1 ¤òÊÔ½¸Ãæ
edit_title2=¥Õ¥¡¥¤¥ë¤òºîÀ®Ãæ
edit_filename=¥Õ¥¡¥¤¥ëÌ¾:
edit_eover=$1 ¤Ï¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó
edit_esave=¥Õ¥¡¥¤¥ë¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
edit_eaccess='$1' ¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó

info_file=¥Õ¥¡¥¤¥ë
info_path=¥Ñ¥¹:
info_type=¼ïÎà:
info_size=¥µ¥¤¥º:
info_mod=ÊÑ¹¹:
info_link=¥ê¥ó¥¯Àè:
info_perms=µö²Ä
info_user=¥æ¡¼¥¶:
info_group=¥°¥ë¡¼¥×:
info_other=¤½¤ÎÂ¾:
info_sticky=¥¹¥Æ¥£¥Ã¥­¡¼:
info_sticky2=½êÍ­¼Ô¤Î¤ß¤¬¥Õ¥¡¥¤¥ë¤òºï½ü¤Ç¤­¤Þ¤¹
info_own=½êÍ­¸¢
info_setuid=setuid (¥æ¡¼¥¶ ID ¤òÀßÄê):
info_setuid2=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
info_setgid=setgid (¥°¥ë¡¼¥× ID ¤òÀßÄê):
info_setgid2=¥Õ¥¡¥¤¥ë¤Î·Ñ¾µ¥°¥ë¡¼¥×
info_setgid3=¼¡¤Î¥°¥ë¡¼¥×¤È¤·¤Æ¼Â¹Ô
info_apply=ÊÑ¹¹¤òÅ¬ÍÑ
info_apply1=¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß
info_apply2=¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¤½¤³¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë
info_apply3=¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤È¤¹¤Ù¤Æ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê
info_efailed=$1 ¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
info_read=ÆÉ¼è¤ê
info_write=½ñ¹þ¤ß
info_list=¥ê¥¹¥È
info_exec=¼Â¹Ô

delete_dtitle=¥Ç¥£¥ì¥¯¥È¥ê¤Îºï½ü
delete_ftitle=¥Õ¥¡¥¤¥ë¤Îºï½ü
delete_ddesc=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤È¤½¤ÎÆâÍÆ¤ò±Êµ×¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
delete_fdesc=¥æ¡¼¥¶ $1¤ò±Êµ×¤Ëºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
delete_efailed=$1 ¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2

mkdir_title=¿·µ¬¤Î¥Ç¥£¥ì¥¯¥È¥ê
mkdir_dir=¿·µ¬¤Î¥Ç¥£¥ì¥¯¥È¥ê:
mkdir_eexists=$1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
mkdir_efailed=¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
mkdir_eaccess='$1' ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó

link_title=¥ê¥ó¥¯¤ÎºîÀ®
link_from=¥ê¥ó¥¯¸µ:
link_to=¥ê¥ó¥¯Àè:
link_eexists=$1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
link_efailed=¥ê¥ó¥¯¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
link_efrom='$1' ¤«¤é¥ê¥ó¥¯¤Ç¤­¤Þ¤»¤ó
link_efollow=¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Þ¤»¤ó

rename_title=$1 ¤ÎÌ¾¾ÎÊÑ¹¹
rename_old=¸Å¤¤Ì¾Á°:
rename_new=¿·¤·¤¤Ì¾Á°:
rename_ok=Ì¾¾ÎÊÑ¹¹
rename_eexists=$1 ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
rename_efailed=Ì¾Á°¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
rename_eold='$1' ¤ÎÌ¾Á°¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó
rename_enew='$1' ¤ÎÌ¾Á°¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó

file_type0=¥Ç¥£¥ì¥¯¥È¥ê
file_type1=¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë
file_type2=²èÁü¥Õ¥¡¥¤¥ë
file_type3=¥Ð¥¤¥Ê¥ê ¥Õ¥¡¥¤¥ë
file_type4=¥Õ¥¡¥¤¥ë
file_type5=¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯
file_type6=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë
file_type7=¥Ñ¥¤¥×

view_enormal=É¸½à¥Õ¥¡¥¤¥ë¤Î¤ßÉ½¼¨¤Ç¤­¤Þ¤¹
view_eaccess=$1 ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó
view_eopen=$1 ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: $2

paste_ecopy=¥Ú¡¼¥¹¥È¤¹¤ëÁ°¤Ë¥«¥Ã¥È¤Þ¤¿¤Ï¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤
paste_egone=¥³¥Ô¡¼¤·¤¿¥Õ¥¡¥¤¥ë $1 ¤Ï¤â¤¦Â¸ºß¤·¤Þ¤»¤ó
paste_eover=$1 ¤Ï¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó
paste_eself=¥Õ¥¡¥¤¥ë¤ò¤½¤Î¥Õ¥¡¥¤¥ë¼«¿È¤Ë¥Ú¡¼¥¹¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
paste_emfailed=°ÜÆ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
paste_ecfailed=¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1

over_title=´ûÂ¸¤Î¥Õ¥¡¥¤¥ë
over_msg=¥Õ¥¡¥¤¥ë $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹¡£¥Ú¡¼¥¹¥È¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î¿·µ¬¥Õ¥¡¥¤¥ëÌ¾¤ò²¼¤Î¥Õ¥£¡¼¥ë¥É¤ËÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£
over_new=¿·µ¬¤Î¥Õ¥¡¥¤¥ëÌ¾:
over_ok=OK

upload_efailed=¥¢¥Ã¥×¥í¡¼¥É¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: $1
upload_title=¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É
upload_file=¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë
upload_dir=¥¢¥Ã¥×¥í¡¼¥É ¥Ç¥£¥ì¥¯¥È¥ê
upload_ok=¥¢¥Ã¥×¥í¡¼¥É
upload_conv=DOS ²þ¹Ô¤ËÊÑ´¹¤·¤Þ¤¹¤«¡©
upload_efile=¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
upload_edir=¥¢¥Ã¥×¥í¡¼¥É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Þ¤»¤ó¡£
upload_eperm=$1 ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
upload_ewrite=$1 ¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿: $2.

find_eaccess=$1 ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó
find_eexist=$1 ¤Ï $2 ¤Ë¤ÏÂ¸ºß¤·¤Þ¤»¤ó
find_edir=$1 ¤Ï $2 Æâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

cancel=¥­¥ã¥ó¥»¥ë

chmod_eaccess='$1' ¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó
chmod_euser=$1 : ¤½¤Î¥æ¡¼¥¶¤ÏÂ¸ºß¤·¤Þ¤»¤ó
chmod_egroup=$1 : ¤½¤Î¥°¥ë¡¼¥×¤ÏÂ¸ºß¤·¤Þ¤»¤ó
chmod_elink=symlink ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
chmod_echown=chown ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
chmod_echmod=chmod  ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1

copy_efrom='$1' ¤«¤é¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
copy_eto='$1' ¤Ø¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
copy_elink=symlink ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1

delete_eaccess='$1' ¤òºï½ü¤Ç¤­¤Þ¤»¤ó

list_eaccess=¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó
list_edir=$1 ¤ò¥ê¥¹¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2

move_eto='$1' ¤Ø¤Ï°ÜÆ°¤Ç¤­¤Þ¤»¤ó
move_afrom='$1' ¤Ï°ÜÆ°¤Ç¤­¤Þ¤»¤ó

acl_user=¥µ¡¼¥Ð¤Î¥Õ¥¡¥¤¥ë¤Ë¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¥¢¥¯¥»¥¹
acl_umask=¿·µ¬¥Õ¥¡¥¤¥ë¤Î Umask
acl_follow=symlink ¤ò¾ï¤Ë¤¿¤É¤ê¤Þ¤¹¤«¡©
acl_dirs=¼¡¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥¢¥¯¥»¥¹¤Î¤ß¤òµö²Ä

share_title=¶¦Í­
share_samba=Windows
share_nfs=NFS
share_son=Windows ¥Õ¥¡¥¤¥ë¤Î¶¦Í­¤òÍ­¸ú
share_soff=Windows ¥Õ¥¡¥¤¥ë¤Î¶¦Í­¤òÌµ¸ú
share_writable=½ñ¹þ¤ß¤Ç¤­¤Þ¤¹¤«¡©
share_available=¸½ºß¥¢¥¯¥Æ¥£¥Ö¤Ç¤¹¤«¡©
share_sheader=¶¦Í­¥ª¥×¥·¥ç¥ó
share_only=¼¡¤Î¤ß
share_guest=¥²¥¹¥È¤Î¥¢¥¯¥»¥¹¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
share_comment=¥³¥á¥ó¥È
share_nheader=NFS ¥¨¥¯¥¹¥Ý¡¼¥È ¥ª¥×¥·¥ç¥ó
share_non=NFS ¥Õ¥¡¥¤¥ë¤Î¶¦Í­¤òÍ­¸ú
share_noff=NFS ¥Õ¥¡¥¤¥ë¤Î¶¦Í­¤òÌµ¸ú
share_desc=ÀâÌÀ
share_ro=ÆÉ¼è¤êÀìÍÑ¤Î¥Û¥¹¥È
share_rw=ÆÉ¼è¤ê-½ñ¹þ¤ß²ÄÇ½¤Î¥Û¥¹¥È
share_root=root ¥¢¥¯¥»¥¹¤Î¥Û¥¹¥È
share_none=¤Ê¤·
share_all=¤¹¤Ù¤Æ
share_listed=¥ê¥¹¥È..
share_host=¥Û¥¹¥È
share_opts=¥ª¥×¥·¥ç¥ó
share_s0=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤ò¿®Íê¤·¤Ê¤¤
share_s1=root °Ê³°¤ò¿®Íê
share_s2=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤ò¿®Íê
share_lro=ÆÉ¼è¤êÀìÍÑ
share_lrw=ÆÉ¼è¤ê-½ñ¹þ¤ß

log_create_export=NFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_export=NFS ¥¨¥¯¥¹¥Ý¡¼¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_export=NFS ¥¨¥¯¥¹¥Ý¡¼¥È$1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_share=Samba ¤Î¶¦Í­ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_share=Samba ¤Î¶¦Í­ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_share=Samba ¤Î¶¦Í­ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_save=¥Õ¥¡¥¤¥ë $1 ¤òÊÝÂ¸¤·¤Þ¤·¤¿
log_chmod=¥Õ¥¡¥¤¥ë $1 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mkdir=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_upload=¥Õ¥¡¥¤¥ë $1 ¤ò¥¢¥Ã¥×¥í¡¼¥É¤·¤Þ¤·¤¿
log_link=$2¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_relink=$2 ¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_copy=¥Õ¥¡¥¤¥ë $1 ¤ò $2 ¤Ë¥³¥Ô¡¼¤·¤Þ¤·¤¿
log_move=¥Õ¥¡¥¤¥ë $1 ¤ò $2 ¤Ë°ÜÆ°¤·¤Þ¤·¤¿
log_delete=¥Õ¥¡¥¤¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿

search_eaccess=¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤Ç¤­¤Þ¤»¤ó
search_title=¥Õ¥¡¥¤¥ë¤Î¸¡º÷
search_ok=¤¹¤°¤Ë¸¡º÷
search_dir=¸¡º÷¥Ç¥£¥ì¥¯¥È¥ê
search_match=°ìÃ×¤·¤¿¥Õ¥¡¥¤¥ë
search_user=½êÍ­¥æ¡¼¥¶
search_group=½êÍ­¥°¥ë¡¼¥×
search_any=Ç¤°Õ
search_type=¥Õ¥¡¥¤¥ë¤Î¼ïÎà
search_types_=Ç¤°Õ
search_types_f=¥Õ¥¡¥¤¥ë
search_types_d=¥Ç¥£¥ì¥¯¥È¥ê
search_types_l=¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯
search_types_p=Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×
search_size=¥Õ¥¡¥¤¥ë ¥µ¥¤¥º
search_more=¼¡¤è¤êÂç¤­¤¤
search_less=¼¡¤è¤ê¾®¤µ¤¤
search_xdev=²áµî¤Î¥Þ¥¦¥ó¥È¤ò¸¡º÷¤·¤Þ¤¹¤«¡©
search_edir=¸¡º÷¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
search_ematch=°ìÃ×¤·¤¿Àµµ¬É½¸½¤¬¤¢¤ê¤Þ¤»¤ó
search_euser=¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
search_egroup=¥°¥ë¡¼¥×Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
search_esize=¥Õ¥¡¥¤¥ë ¥µ¥¤¥º¤ÏÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
search_crit=¸¡º÷¾ò·ï
search_list=¸¡º÷·ë²Ì

 07070100046bd8000081a40000000000000002000000013d1fe2d500001762000000200000000000000000000000000000001a00000003reloc/file/lang/ko_KR.euc index_title=ÆÄÀÏ °ü¸®ÀÚ
index_nojava=ÀÌ ¸ðµâÀº Java¿Í ÇÔ²² »ç¿ëÇØ¾ß ÇÏÁö¸¸ ÇöÀç ºê¶ó¿ìÀú¿¡¼­ Java¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù

top_open=¿­±â
top_view=º¸±â
top_edit=ÆíÁý
top_refresh=»õ·Î °íÄ§
top_info=Á¤º¸
top_delete=»èÁ¦
top_new=»õ·Î ¸¸µé±â
top_upload=¾÷·Îµå
top_rename=ÀÌ¸§ ¹Ù²Ù±â
top_copy=º¹»ç
top_cut=Àß¶ó³»±â
top_paste=ºÙ¿©³Ö±â
top_share=°øÀ¯
top_search=Ã£±â

right_name=ÀÌ¸§
right_size=Å©±â
right_user=»ç¿ëÀÚ
right_group=±×·ì
right_date=³¯Â¥

edit_enormal=ÀÏ¹Ý ÆÄÀÏ¸¸ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù
edit_title=$1 ÆíÁý
edit_title2=ÆÄÀÏ ÀÛ¼º
edit_filename=ÆÄÀÏ ÀÌ¸§:
edit_eover=$1Àº(´Â) µ¤¾î¾µ ¼ö ¾ø½À´Ï´Ù
edit_esave=ÆÄÀÏÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù:  $1
edit_eaccess='$1'À»(¸¦) ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù

info_file=ÆÄÀÏ
info_path=°æ·Î:
info_type=À¯Çü:
info_size=Å©±â:
info_mod=¼öÁ¤ÇÑ ³¯Â¥:
info_link=¸µÅ© ´ë»ó:
info_perms=»ç¿ë ±ÇÇÑ
info_user=»ç¿ëÀÚ:
info_group=±×·ì:
info_other=±× ¿Ü:
info_sticky=°íÁ¤:
info_sticky2=¼ÒÀ¯ÀÚ¸¸ ÆÄÀÏÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù
info_own=¼ÒÀ¯±Ç
info_setuid=Setuid:
info_setuid2=»ç¿ëÀÚ·Î¼­ ½ÇÇà
info_setgid=Setgid:
info_setgid2=ÆÄÀÏÀÌ ±×·ì »ó¼Ó
info_setgid3=±×·ìÀ¸·Î¼­ ½ÇÇà
info_apply=º¯°æ ³»¿ë Àû¿ë ´ë»ó
info_apply1=ÇöÀç µð·ºÅä¸®¸¸
info_apply2=ÇöÀç µð·ºÅä¸®¿Í ÇØ´ç ÆÄÀÏ
info_apply3=ÇöÀç µð·ºÅä¸®¿Í ¸ðµç ÇÏÀ§ µð·ºÅä¸®
info_efailed=$1À»(¸¦) ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù: $2
info_read=ÀÐ±â
info_write=¾²±â
info_list=³ª¿­
info_exec=½ÇÇà

delete_dtitle=µð·ºÅä¸® »èÁ¦
delete_ftitle=ÆÄÀÏ »èÁ¦
delete_ddesc=µð·ºÅä¸® $1°ú(¿Í) ±× ¾ÈÀÇ ¸ðµç ÆÄÀÏÀ» ¿µ±¸ÀûÀ¸·Î »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
delete_fdesc=ÆÄÀÏ $1À»(¸¦) ¿µ±¸ÀûÀ¸·Î »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
delete_efailed=$1À»(¸¦) »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù: $2

mkdir_title=»õ µð·ºÅä¸®
mkdir_dir=»õ µð·ºÅä¸®:
mkdir_eexists=$1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
mkdir_efailed=µð·ºÅä¸®¸¦ ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù: $1
mkdir_eaccess='$1'À»(¸¦) ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

link_title=¸µÅ© ÀÛ¼º
link_from=¸µÅ© ¼Ò½º:
link_to=¸µÅ© ´ë»ó:
link_eexists=$1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
link_efailed=¸µÅ© ½ÇÆÐ: $1
link_efrom='$1'¿¡¼­ ¸µÅ©ÇÒ ¼ö ¾ø½À´Ï´Ù
link_efollow=½Éº¼¸¯ ¸µÅ©¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

rename_title=$1 ÀÌ¸§ ¹Ù²Ù±â
rename_old=±âÁ¸ ÀÌ¸§:
rename_new=»õ ÀÌ¸§:
rename_ok=ÀÌ¸§ ¹Ù²Ù±â
rename_eexists=ÆÄÀÏ $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
rename_efailed=ÀÌ¸§À» ¹Ù²ÙÁö ¸øÇß½À´Ï´Ù: $1
rename_eold='$1'ÀÇ ÀÌ¸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù
rename_enew='$1'(À¸)·Î ÀÌ¸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù

file_type0=µð·ºÅä¸®
file_type1=ÅØ½ºÆ® ÆÄÀÏ
file_type2=ÀÌ¹ÌÁö ÆÄÀÏ
file_type3=ÀÌÁø ÆÄÀÏ
file_type4=ÆÄÀÏ
file_type5=½Éº¼¸¯ ¸µÅ©
file_type6=ÀåÄ¡ ÆÄÀÏ
file_type7=ÆÄÀÌÇÁ

view_enormal=ÀÏ¹Ý ÆÄÀÏ¸¸ º¼ ¼ö ÀÖ½À´Ï´Ù
view_eaccess=$1¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù
view_eopen=$1À»(¸¦) ¿­Áö ¸øÇß½À´Ï´Ù: $2

paste_ecopy=ºÙ¿©³Ö±â Àü¿¡ Àß¶ó³»°Å³ª º¹»çÇØ¾ß ÇÕ´Ï´Ù
paste_egone=º¹»çÇÑ ÆÄÀÏ $1(ÀÌ)°¡ ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
paste_eover=$1Àº(´Â) µ¤¾î¾µ ¼ö ¾ø½À´Ï´Ù
paste_eself=°°Àº ÆÄÀÏ¿¡´Â ºÙ¿©³ÖÀ» ¼ö ¾ø½À´Ï´Ù
paste_emfailed=ÀÌµ¿ÇÏÁö ¸øÇß½À´Ï´Ù: $1
paste_ecfailed=º¹»çÇÏÁö ¸øÇß½À´Ï´Ù: $1

over_title=ÆÄÀÏ Á¸Àç
over_msg=ÆÄÀÏ $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù. ºÙ¿©³ÖÀº ÆÄÀÏÀÇ »õ ÀÌ¸§À» ¾Æ·¡ÀÇ ÇÊµå¿¡ ÀÔ·ÂÇÏ½Ê½Ã¿À.
over_new=»õ ÆÄÀÏ ÀÌ¸§:
over_ok=È®ÀÎ

upload_efailed=¾÷·ÎµåÇÒ ÆÄÀÏÀ» ¿­Áö ¸øÇß½À´Ï´Ù: $1
upload_title=ÆÄÀÏ ¾÷·Îµå
upload_file=¾÷·ÎµåÇÒ ÆÄÀÏ
upload_dir=µð·ºÅä¸®¿¡ ¾÷·Îµå
upload_ok=¾÷·Îµå
upload_conv=DOS ÁÙ¹Ù²ÞÀ» º¯È¯ÇÕ´Ï±î?
upload_efile=¾÷·ÎµåÇÒ ÆÄÀÏÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
upload_edir=¾÷·Îµå µð·ºÅä¸®°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.
upload_eperm=$1À»(¸¦) ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
upload_ewrite=$1¿¡ ¾²Áö ¸øÇß½À´Ï´Ù: $2

find_eaccess=$1¿¡ ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù
find_eexist=$2¿¡ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
find_edir=$1Àº(´Â) $2ÀÇ µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù

cancel=Ãë¼Ò

chmod_eaccess='$1'¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù
chmod_euser=$1: ÇØ´ç »ç¿ëÀÚ ¾øÀ½
chmod_egroup=$1: ÇØ´ç ±×·ì ¾øÀ½
chmod_elink=½Éº¼¸¯ ¸µÅ© ½ÇÆÐ: $1
chmod_echown=chown ½ÇÆÐ: $1
chmod_echmod=chmod ½ÇÆÐ: $1

copy_efrom='$1'¿¡¼­ º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
copy_eto='$1'¿¡ º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
copy_elink=½Éº¼¸¯ ¸µÅ© ½ÇÆÐ: $1

delete_eaccess='$1'À»(¸¦) »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù

list_eaccess=ÀÌ µð·ºÅä¸®¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù
list_edir=$1À»(¸¦) ³ª¿­ÇÏÁö ¸øÇß½À´Ï´Ù: $2

move_eto='$1'(À¸)·Î ÀÌµ¿ÇÒ ¼ö ¾ø½À´Ï´Ù
move_afrom='$1'À»(¸¦) ÀÌµ¿ÇÒ ¼ö ¾ø½À´Ï´Ù

acl_user=»ç¿ëÀÚ·Î¼­ ¼­¹ö ÆÄÀÏ¿¡ Á¢±Ù
acl_umask=»õ ÆÄÀÏÀÇ Umask
acl_follow=Ç×»ó ½Éº¼¸¯ ¸µÅ©¸¦ µû¸¨´Ï±î?
acl_dirs=µð·ºÅä¸®¿¡ ´ëÇÑ ¾×¼¼½º¸¸ Çã¿ë

share_title=°øÀ¯
share_samba=À©µµ¿ì
share_nfs=NFS
share_son=À©µµ¿ì ÆÄÀÏ °øÀ¯ °¡´É
share_soff=À©µµ¿ì ÆÄÀÏ °øÀ¯ ºÒ´É
share_writable=¾²±â °¡´ÉÇÕ´Ï±î?
share_available=ÇöÀç È°¼º »óÅÂÀÔ´Ï±î?
share_sheader=°øÀ¯ ¿É¼Ç
share_only=Àü¿ë
share_guest=°Ô½ºÆ® Á¢±ÙÀ» Çã¿ëÇÕ´Ï±î?
share_comment=ÁÖ¼®
share_nheader=NFS ³»º¸³»±â ¿É¼Ç
share_non=NFS ÆÄÀÏ °øÀ¯ °¡´É
share_noff=NFS ÆÄÀÏ °øÀ¯ ºÒ´É
share_desc=¼³¸í
share_ro=ÀÐ±â Àü¿ë È£½ºÆ®
share_rw=ÀÐ±â/¾²±â È£½ºÆ®
share_root=root ¾×¼¼½º È£½ºÆ®
share_none=¾øÀ½
share_all=¸ðµÎ
share_listed=³ª¿­..
share_host=È£½ºÆ®
share_opts=¿É¼Ç
share_s0=¾Æ¹«µµ ½Å·ÚÇÏÁö ¾ÊÀ½
share_s1=root¿Ü »ç¿ëÀÚ ½Å·Ú
share_s2=¸ðµç »ç¿ëÀÚ ½Å·Ú
share_lro=ÀÐ±â Àü¿ë
share_lrw=ÀÐ±â/¾²±â

log_create_export=NFS ³»º¸³»±â $1 ÀÛ¼ºµÊ
log_modify_export=NFS ³»º¸³»±â $1 ¼öÁ¤µÊ
log_delete_export=NFS ³»º¸³»±â $1 »èÁ¦µÊ
log_create_share=»ï¹Ù °øÀ¯ $1 ÀÛ¼ºµÊ
log_modify_share=»ï¹Ù °øÀ¯ $1 ¼öÁ¤µÊ
log_delete_share=»ï¹Ù °øÀ¯ $1 »èÁ¦µÊ
log_save=ÆÄÀÏ $1 ÀúÀåµÊ
log_chmod=ÆÄÀÏ $1ÀÇ »ç¿ë ±ÇÇÑ º¯°æµÊ
log_mkdir=µð·ºÅä¸® $1 ÀÛ¼ºµÊ
log_upload=ÆÄÀÏ $1 ¾÷·ÎµåµÊ
log_link=$2¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ© $1 ÀÛ¼ºµÊ
log_relink=$2¿¡ ´ëÇÑ ½Éº¼¸¯ ¸µÅ© $1 ¼öÁ¤µÊ
log_copy=$2(À¸)·Î ÆÄÀÏ $1 º¹»çµÊ
log_move=$2(À¸)·Î ÆÄÀÏ $1 ÀÌµ¿µÊ
log_delete=ÆÄÀÏ $1 »èÁ¦µÊ

search_eaccess=ÀÌ µð·ºÅä¸®¸¦ °Ë»öÇÒ ¼ö ¾ø½À´Ï´Ù
search_title=ÆÄÀÏ Ã£±â
search_ok=Áö±Ý °Ë»ö
search_dir=µð·ºÅä¸® °Ë»ö
search_match=ÆÄÀÏ °Ë»ö ÆÐÅÏ
search_user=»ç¿ëÀÚ ¼ÒÀ¯
search_group=±×·ì ¼ÒÀ¯
search_any=ÀÓÀÇ
search_type=ÆÄÀÏ À¯Çü
search_types_=ÀÓÀÇ
search_types_f=ÆÄÀÏ
search_types_d=µð·ºÅä¸®
search_types_l=½Éº¼¸¯ ¸µÅ©
search_types_p=¸í¸íµÈ ÆÄÀÌÇÁ
search_size=ÆÄÀÏ Å©±â
search_more=º¸´Ù Å­
search_less=º¸´Ù ÀÛÀ½
search_xdev=Áö³ª°£ ¸¶¿îÆ®¸¦ °Ë»öÇÕ´Ï±î?
search_edir=¾ø°Å³ª Àß¸øµÈ °Ë»ö µð·ºÅä¸®
search_ematch=ÀÏÄ¡ÇÏ´Â Á¤±Ô ½ÄÀÌ ¾ø½À´Ï´Ù
search_euser=¾ø´Â »ç¿ëÀÚ ÀÌ¸§
search_egroup=¾ø´Â ±×·ì ÀÌ¸§
search_esize=ÆÄÀÏ Å©±â´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
search_crit=°Ë»ö ±âÁØ
search_list=°Ë»ö °á°ú

  07070100046bd9000081a40000000000000002000000013d1fe2d500002d05000000200000000000000000000000000000001300000003reloc/file/lang/pl    index_title=Zarz±dca plików
index_nojava=Ten modu³ wymaga do swojego dzia³ania javy, natomiast Twoja przegl±darka javy nie obs³uguje
# switch_euser=U¿ytkownik Uniksa nie istnieje!
switch_euser=Uzytkownik Uniksa nie istnieje!

# top_open=Otwórz
top_open=Otworz
top_view=Obejrzyj
top_edit=Modyfikuj
# top_refresh=Od¶wie¿
top_refresh=Odswiez
top_info=Informacje
# top_delete=Usuñ
top_delete=Usun
top_new=Nowy
# top_upload=Prze¶lij
top_upload=Przeslij
# top_rename=Zmieñ nazwê
top_rename=Zmien nazwe
top_copy=Kopiuj
top_cut=Wytnij
top_paste=Wklej
# top_share=Udostêpnianie
top_share=Udostepnianie
top_search=Szukaj

right_name=Nazwa
right_size=Rozmiar
# right_user=W³a¶ciciel
right_user=Wlasciciel
right_group=Grupa
right_date=Data

# edit_enormal=Modyfikowaæ mo¿na tylko zwyk³e pliki
edit_enormal=Modyfikowac mozna tylko zwykle pliki
edit_title=Modyfikacja $1
edit_title2=Tworzenie pliku
edit_filename=Nazwa pliku:
# edit_eover=$1 nie mo¿e byæ nadpisany
edit_eover=$1 nie moze byc nadpisany
# edit_esave=Nie uda³o siê zachowaæ pliku : $1
edit_esave=Nie udalo sie zachowac pliku : $1
# edit_eaccess=Nie masz uprawnieñ do zachowania '$1'
edit_eaccess=Nie masz uprawnien do zachowania '$1'

info_file=Plik
# info_path=¦cie¿ka:
info_path=Sciezka:
info_type=Typ:
info_size=Rozmiar:
info_mod=Zmieniony:
# info_link=Dowi±zanie do:
info_link=Dowiazanie do:
info_perms=Uprawnienia
# info_user=W³a¶ciciel:
info_user=Wlasciciel:
info_group=Grupa:
info_other=Inni:
info_sticky=Sticky:
# info_sticky2=Tylko w³a¶ciciele mog± usuwaæ pliki
info_sticky2=Tylko wlasciciele moga usuwac pliki
# info_own=Prawa w³asno¶ci
info_own=Prawa wlasnosci
info_setuid=Setuid:
# info_setuid2=Uruchom jako u¿ytkownik
info_setuid2=Uruchom jako uzytkownik
info_setgid=Setgid:
# info_setgid2=Pliki dziedzicz± grupê
info_setgid2=Pliki dziedzicza grupe
info_setgid3=Uruchom jako grupa
info_apply=Zastosuj zmiany do
info_apply1=tylko katalogu
# info_apply2=katalogu i zawartych w nim plików
info_apply2=katalogu i zawartych w nim plikow
info_apply3=katalogu wraz z podkatalogami
# info_efailed=Nie uda³o sie zaktualizowaæ $1 : $2
info_efailed=Nie udalo sie zaktualizowac $1 : $2
info_read=Odczyt
info_write=Zapis
# info_list=Przegl±danie
info_list=Przegladanie
info_exec=Uruchamianie

delete_dtitle=Usuñ katalog
delete_ftitle=Usuñ plik
# delete_ddesc=Czy jeste¶ pewien, ¿e chcesz nieodwracalnie usun±æ katalog $1 wraz z ca³± zawarto¶ci±?
delete_ddesc=Czy jestes pewien, ze chcesz nieodwracalnie usunac katalog $1 wraz z cala zawartoscia?
# delete_fdesc=Czy jeste¶ pewien, ¿e chcesz nieodwracalnie usun±æ plik $1 ?
delete_fdesc=Czy jestes pewien, ze chcesz nieodwracalnie usunac plik $1 ?
# delete_efailed=Nie uda³o siê usun±æ $1 : $2
delete_efailed=Nie udalo sie usunac $1 : $2

mkdir_title=Nowy katalog
mkdir_dir=Nowy katalog:
# mkdir_eexists=$1 ju¿ istnieje
mkdir_eexists=$1 juz istnieje
# mkdir_efailed=Nie uda³o sie utworzyæ katalogu : $1
mkdir_efailed=Nie udalo sie utworzyc katalogu : $1
# mkdir_eaccess=Nie masz uprawnieñ do utworzenia '$1'
mkdir_eaccess=Nie masz uprawnien do utworzenia '$1'

link_title=Utwórz dowi±zanie
link_from=Nazwa dowi±zania:
link_to=Dowi±zanie do:
# link_eexists=$1 ju¿ istnieje
link_eexists=$1 juz istnieje
# link_efailed=Nie uda³o siê utworzyæ dowi±zania : $1
link_efailed=Nie udalo sie utworzyc dowiazania : $1
# link_efrom=Nie masz uprawnieñ do utworzenia dowi±zania '$1'
link_efrom=Nie masz uprawnien do utworzenia dowiazania '$1'
# link_efollow=Nie masz uprawnieñ do tworzenia dowi±zañ symbolicznych
link_efollow=Nie masz uprawnien do tworzenia dowiazan symbolicznych

rename_title=Zmieñ nazwê $1
rename_old=Stara nazwa:
rename_new=Nowa nazwa:
# rename_ok=Zmieñ nazwê
rename_ok=Zmien nazwe
# rename_eexists=Plik o nazwie $1 ju¿ istnieje
rename_eexists=Plik o nazwie $1 juz istnieje
# rename_efailed=Nie uda³o siê zmieniæ nazwy : $1
rename_efailed=Nie udalo sie zmienic nazwy : $1
# rename_eold=Nie masz uprawnieñ do zmiany nazwy '$1'
rename_eold=Nie masz uprawnien do zmiany nazwy '$1'
# rename_enew=Nie masz uprawnieñ do zmiany nazwy na '$1'
rename_enew=Nie masz uprawnien do zmiany nazwy na '$1'

file_type0=Katalog
file_type1=Plik tekstowy
file_type2=Plik Image
file_type3=Plik binarny
file_type4=Plik
# file_type5=Dowi±zanie symboliczne
file_type5=Dowiazanie symboliczne
# file_type6=Plik urz±dzenia
file_type6=Plik urzadzenia
file_type7=plik FIFO

# view_enormal=Mo¿na ogl±daæ tylko zwyk³e pliki
view_enormal=Mozna ogladac tylko zwykle pliki
# view_eaccess=Nie masz prawa dostêpu do $1
view_eaccess=Nie masz prawa dostepu do $1
# view_eopen=Nie uda³o siê otworzyæ $1 : $2
view_eopen=Nie udalo sie otworzyc $1 : $2

# paste_ecopy=Aby wkleiæ musisz wcze¶niej co¶ skopiowaæ lub wyci±æ
paste_ecopy=Aby wkleic musisz wczesniej cos skopiowac lub wyciac
# paste_egone=Kopiowany plik $1 ju¿ nie istnieje
paste_egone=Kopiowany plik $1 juz nie istnieje
# paste_eover=Nie mo¿na nadpisaæ $1
paste_eover=Nie mozna nadpisac $1
# paste_eself=Nie mo¿esz wkleiæ pliku w miejsce jego samego
paste_eself=Nie mozesz wkleic pliku w miejsce jego samego
# paste_emfailed=Nie uda³o siê przesun±æ : $1
paste_emfailed=Nie udalo sie przesunac : $1
# paste_ecfailed=Nie uda³o siê skopiowaæ : $1
paste_ecfailed=Nie udalo sie skopiowac : $1

over_title=Plik istnieje
# over_msg=Plik $1 ju¿ istnieje. Podaj now± nazwê dla tworzonego pliku korzystaj±c z pola poni¿ej.
over_msg=Plik $1 juz istnieje. Podaj nowa nazwe dla tworzonego pliku korzystajac z pola ponizej.
over_new=Nowa nazwa pliku:
over_ok=OK

# upload_efailed=Nie uda³o siê otworzyæ przesy³ania : $1
upload_efailed=Nie udalo sie otworzyc przesylania : $1
# upload_title=Prze¶lij plik
upload_title=Przeslij plik
# upload_file=Plik do przes³ania
upload_file=Plik do przeslania
# upload_dir=Prze¶lij do katalogu
upload_dir=Przeslij do katalogu
# upload_ok=Prze¶lij
upload_ok=Przeslij
# upload_conv=Przekszta³ciæ DOS-owe koñce linii?
upload_conv=Przekszta³cic DOS-owe konce linii?
# upload_efile=Nie podano pliku do przes³ania.
upload_efile=Nie podano pliku do przeslania.
# upload_edir=Katalog, do którego ma nast±piæ przes³anie nie istnieje.
upload_edir=Katalog, do ktorego ma nastapic przeslanie nie istnieje.
# upload_eperm=Nie masz uprawnieñ do utworzenia $1
upload_eperm=Nie masz uprawnien do utworzenia $1
# upload_ewrite=Nie uda³o siê zapisaæ w $1 : $2.
upload_ewrite=Nie udalo sie zapisac w $1 : $2.

# find_eaccess=Nie masz prawa dostêpu do $1
find_eaccess=Nie masz prawa dostepu do $1
find_eexist=$1 nie istnieje w $2
find_edir=$1 nie jest podkatalogiem $2

cancel=Rezygnuj

# chmod_eaccess=Nie masz prawa dostêpu do '$1'
chmod_eaccess=Nie masz prawa dostepu do '$1'
# chmod_euser=$1 : nie ma takiego u¿ytkownika
chmod_euser=$1 : nie ma takiego uzytkownika
chmod_egroup=$1 : nie ma takiej grupy
# chmod_elink=nie uda³o siê utworzyæ dowi±zania symbolicznego : $1
chmod_elink=nie udalo sie utworzyc dowiazania symbolicznego : $1
# chmod_echown=nie uda³o siê zmieniæ w³a¶ciciela : $1
chmod_echown=nie udalo sie zmienic w³asciciela : $1
# chmod_echmod=nie uda³o siê zmieniæ uprawnieñ : $1
chmod_echmod=nie udalo sie zmienic uprawnien : $1

# copy_efrom=Nie masz uprawnieñ do kopiowania '$1'
copy_efrom=Nie masz uprawnien do kopiowania '$1'
# copy_eto=Nie masz uprawnieñ do kopiowania do '$1'
copy_eto=Nie masz uprawnien do kopiowania do '$1'
# copy_elink=nie uda³o siê utworzyæ dowi±zania symbolicznego : $1
copy_elink=nie udalo sie utworzyc dowiazania symbolicznego : $1

# delete_eaccess=Nie masz uprawnieñ do usuniêcia '$1'
delete_eaccess=Nie masz uprawnien do usuniecia '$1'

# list_eaccess=Nie masz prawa dostêpu do tego katalogu
list_eaccess=Nie masz prawa dostepu do tego katalogu
# list_edir=Nie uda³o siê przejrzeæ $1 : $2
list_edir=Nie udalo sie przejrzec $1 : $2

# move_eto=Nie masz uprawnieñ do przenoszenia do '$1'
move_eto=Nie masz uprawnien do przenoszenia do '$1'
# move_afrom=Nie masz uprawnieñ do przeniesienia '$1'
move_afrom=Nie masz uprawnien do przeniesienia '$1'

acl_user=Dostêp do plików na serwerze z prawami u¿ytkownika
acl_user_def=Taki sam jak zalogowany do Webmina
acl_umask=Umaska dla nowych plików
acl_follow=Zawsze ¶ledziæ dowi±zania symboliczne?
acl_dirs=Pozwoliæ jedynie na dostêp do katalogów
# acl_home=Do³±cz katalog domowy u¿ytkownika Webmina
acl_home=Dolacz katalog domowy uzytkownika Webmina

share_title=Udostêpnianie
share_samba=Windows
share_nfs=NFS
# share_son=Udostêpnianie plików dla Windows w³±czone
share_son=Udostepnianie plikow dla Windows wlaczone
# share_soff=Udostêpnianie plików dla Windows wy³±czone
share_soff=Udostepnianie plikow dla Windows wylaczone
share_writable=Prawa zapisu?
share_available=Aktualnie czynne?
# share_sheader=Opcje wspó³dzielenia
share_sheader=Opcje wspoldzielenia
# share_only=Wy³±cznie
share_only=Wylacznie
# share_guest=Dostêp go¶cinny?
share_guest=Dostep goscinny?
share_comment=Uwagi
# share_nheader=Opcje udostêpniania NFS
share_nheader=Opcje udostepniania NFS
# share_non=Udostêpnianie NFS w³±czone
share_non=Udostepnianie NFS wlaczone
# share_noff=Udostêpnianie NFS wy³±czone
share_noff=Udostepnianie NFS wylaczone
share_desc=Opis
# share_ro=Hosty z dostêpem tylko do odczytu
share_ro=Hosty z dostepem tylko do odczytu
# share_rw=Hosty z dostêpem do zapisu
share_rw=Hosty z dostepem do zapisu
# share_root=Hosty z dostêpem roota
share_root=Hosty z dostepem roota
share_none=Brak
share_all=Wszystkie
share_listed=Wymienione..
share_host=Hosty
share_opts=Opcje
share_s0=Nie ufaj nikomu
# share_s1=Ufaj wszystkim prócz roota
share_s1=Ufaj wszystkim procz roota
share_s2=Ufaj wszystkim
share_lro=Tylko do odczytu
share_lrw=Odczyt i zapis

log_create_export=Utworzono udostêpnianie NFS $1
log_modify_export=Zmieniono udostêpnianie NFS $1
log_delete_export=Usuniêto udostêpnianie NFS $1
log_create_share=Utworzono zasób Samby $1
log_modify_share=Zmieniono zasób Samby $1
log_delete_share=Usuniêto zasób Samby $1
log_save=Zachowano plik $1
log_chmod=Zmieniono uprawnienia dla pliku $1
log_mkdir=Utworzono katalog $1
log_upload=Przes³ano plik $1
log_link=Utworzono dowi±zanie symboliczne $1 do $2
log_relink=Zmieniono dowi±zanie symboliczne $1 do $2
log_copy=Skopiowano plik $1 jako $2
log_move=Przeniesiono plik $1 do $2
log_delete=Usuniêto plik $1

# search_eaccess=Nie masz uprawnieñ do przeszukiwania tego katalogu
search_eaccess=Nie masz uprawnien do przeszukiwania tego katalogu
search_title=Szukaj plików
search_ok=Szukaj teraz
search_dir=Szukaj w katalogu
# search_match=Plików wg wzorca
search_match=Plikow wg wzorca
# search_user=Nale¿±cych do u¿ytkownika
search_user=Nalezacych do uzytkownika
# search_group=Nale¿±cych do grupy
search_group=Nalezacych do grupy
search_any=Dowolny
search_type=Rodzaj pliku
search_types_=Dowolny
# search_types_f=Zwyk³y plik
search_types_f=Zwykly plik
search_types_d=Katalog
# search_types_l=Dowi±zanie symboliczne
search_types_l=Dowiazanie symboliczne
search_types_p=Nazwane FIFO
search_size=Rozmiar pliku
# search_more=Wiêkszy ni¿
search_more=Wiekszy niz
# search_less=Mniejszy ni¿
search_less=Mniejszy niz
# search_xdev=Przeszukiwaæ inne systemy plików?
search_xdev=Przeszukiwac inne systemy plikow?
search_edir=Nie podany lub niepoprawny katalog przeszukiwania
# search_ematch=Brak wyra¿enia regularnego do dopasowania
search_ematch=Brak wyrazenia regularnego do dopasowania
# search_euser=Nie podano nazwy u¿ytkownika
search_euser=Nie podano nazwy uzytkownika
search_egroup=Nie podano nazwy grupy
# search_esize=Rozmiar pliku musi byæ liczb± ca³kowit±
search_esize=Rozmiar pliku musi byc liczba calkowita
search_crit=Kryteria szukania
search_list=Wyniki szukania
   07070100046bda000081a40000000000000002000000013d1fe2d5000011ac000000200000000000000000000000000000001300000003reloc/file/lang/pt    index_title=Administrador de Ficheiros
index_nojava=Este módulo requer java para funcionar, mas o seu navegador não suporta java

top_open=Abrir
top_view=Ver
top_edit=Editar
top_refresh=Refrescar
top_info=Informações
top_delete=Apagar
top_new=Novo
top_upload=Carregar
top_rename=Renomear
top_copy=Copiar
top_cut=Cortar
top_paste=Colar

right_name=Nome
right_size=Tamanho
right_user=Utilizador
right_group=Grupo
right_date=Data

edit_enormal=Apenas ficheiros normais podem ser editados
edit_title=A editar $1
edit_title2=A criar ficheiro
edit_filename=Nome do ficheiro:
edit_eover=$1 não pode ser sobrescrito
edit_esave=Erro ao guardar ficheiro : $1
edit_eaccess=Você não está autorizado para guardar '$1'

info_file=Ficheiro
info_path=Caminho:
info_type=Tipo:
info_size=Tamanho:
info_mod=Modificado:
info_link=Enlace com:
info_perms=Permissões
info_user=Utilizador:
info_group=Grupo:
info_other=Outro:
info_sticky=Restrição:
info_sticky2=Apenas os proprietários podem apagar ficheiros
info_own=Propriedade
info_setuid=Colocar UID:
info_setuid2=Executar como utilizador
info_setgid=Colocar GID:
info_setgid2=Ficheiros herdados do grupo
info_setgid3=Executar como grupo
info_apply=Aplicar alterações a
info_apply1=Este directório apenas
info_apply2=Este directório e os seus ficheiros
info_apply3=Este directório e todos os subdirectórios
info_efailed=Erro ao actualizar $1 : $2
info_read=Leitura
info_write=Escrita
info_list=Lista
info_exec=Execução

delete_dtitle=Apagar directório
delete_ftitle=Apagar ficheiro
delete_ddesc=Tem a certeza que quer permanentemente apagar o directório $1 e todo o seu conteúdo?
delete_fdesc=Tem a certeza que quer apagar permanentemente o ficheiro $1 ?
delete_efailed=Erro ao apagar $1 : $2

mkdir_title=Novo Directório
mkdir_dir=Novo directório:
mkdir_eexists=$1 já existe
mkdir_efailed=Erro na criação de directório : $1
mkdir_eaccess=Você não está autorizado para criar '$1'

link_title=Criar Enlace
link_from=Enlace de:
link_to=Enlace com:
link_eexists=$1 já existe
link_efailed=Erro no enlace : $1
link_efrom=Você não está autorizado para criar enlaces de '$1'
link_efollow=Você não está autorizado para criar enlaces simbólicos

rename_title=Renomear $1
rename_old=Nome antigo:
rename_new=Nome novo:
rename_ok=Renomear
rename_eexists=Já existe um ficheiro denominado $1
rename_efailed=Erro na renomeação : $1
rename_eold=Você não está autorizado para renomear '$1'
rename_enew=Você não está autorizado para renomear para '$1'

file_type0=Directório
file_type1=Ficheiro de texto
file_type2=Ficheiro de imagem
file_type3=Ficheiro binário
file_type4=Ficheiro
file_type5=Enlace simbólico
file_type6=Ficheiro de dispositivo
file_type7=Tubo

view_enormal=Apenas ficheiros normais podem ser vistos
view_eaccess=Você não está autorizado para aceder a $1
view_eopen=Erro ao abrir $1 : $2

paste_ecopy=Tem de cortar ou copiar primeiro antes de colar
paste_egone=O ficheiro cpoiado $1 já não existe
paste_eover=$1 não pode ser sobrescrito
paste_eself=Não pode colar um ficheiro sobre si mesmo
paste_emfailed=Erro ao mover : $1
paste_ecfailed=Erro ao copiar : $1

upload_efailed=Erro ao abrir ficheiro carregado : $1
upload_title=Carregar Ficheiro
upload_file=Ficheiro paa carregar
upload_dir=Carregar para o directório
upload_ok=Carregar
upload_conv=Converter linhas de DOS?
upload_efile=Não foram seleccionados ficheiros para carregar.
upload_edir=Directório de carga não existe.
upload_eperm=Você não está autorizado para criar $1
upload_ewrite=Erro ao escrever para $1 : $2.

find_eaccess=Você não está autorizado para aceder a $1
find_eexist=$1 não existe em $2
find_edir=$1 não é um directório de $2

cancel=Cancelar

chmod_eaccess=Você não está autorizado para aceder a '$1'
chmod_euser=$1 : não existe tal utilizador
chmod_egroup=$1 : não existe tal grupo
chmod_elink=erro no enlace simbólico : $1
chmod_echown=erro na alteração de proprietário : $1
chmod_echmod=erro na alteração de permissões : $1

copy_efrom=Você não está autorizado para copiar de '$1'
copy_eto=Você não está autorizado para copiar para '$1'
copy_elink=erro no enlace simbólico : $1

delete_eaccess=Você não está autorizado para apagar '$1'

list_eaccess=Você não está autorizado para aceder a este directório

move_eto=Você não está autorizado para mover para '$1'
move_afrom=Você não está autorizado para mover '$1'

acl_user=Aceder a ficheiros no servidor como utilizador
acl_umask=Máscara de utilizador para novos ficheiros
acl_follow=Seguir sempre enlaces simbólicos?
acl_dirs=Apenas permitir acesso a directórios
07070100046bdb000081a40000000000000002000000013d1fe2d5000010d1000000200000000000000000000000000000001600000003reloc/file/lang/ru_RU top_delete=Óäàëèòü
info_apply=Ïðèíÿòü èçìåíåíèÿ äëÿ
info_perms=Ïðàâà
info_file=Ôàéë
view_enormal=Òîëüêî îáû÷íûå ôàéëû ìîæíî ïðîñìàòðèâàòü
top_upload=Çàãðóçèòü
edit_esave=Íå ìîãó ñîõðàíèòü ôàéë  : $1
upload_ewrite=Îøèáêà ïðè çàïèñè â $1 : $2.
chmod_elink=îøèáêà ïðè ñîçäàíèè ñèìâîëè÷åñêîé ññûëêè : $1
upload_ok=Çàãðóçèòü
view_eaccess=Âàì íå ðàçðåøåí äîñòóï ê $1
info_group=Ãðóïïà:
edit_title2=Ñîçäàíèå ôàéëà
top_info=Èíôî
move_afrom=Âàì íå ðàçðåøåíî ïåðåìåùàòü '$1'
link_efailed=Îøèáêà ïðè ñîçäàíèè ññûëêè : $1
info_setuid2=Âûïîëíÿòü êàê ïîëüçîâàòåëü
chmod_euser=$1 : íåò òàêîãî ïîëüçîâàòåëÿ
link_efrom=Âàì íå ðàçðåøåíî ñîçäàâàòü ññûëêó îò '$1'
info_mod=Èçìåíÿëñÿ:
right_date=Äàòà
copy_efrom=Âàì íå ðàçðåøåíî êîïèðîâàíèå èç '$1'
info_sticky2=Òîëüêî âëàäåëüöû ìîãóò óäàëÿòü ôàéëû
rename_old=Ñòàðîå èìÿ:
find_eaccess=Âàì íå ðàçðåøåí äîñòóï ê $1
mkdir_eexists=$1 óæå ñóùåñòâóåò
upload_dir=Çàãðóæàòü â êàòàëîã
rename_enew=Âàì íå ðàçðåøåíî ïåðèìåíîâûâàòü â '$1'
find_edir=$1 íå ÿâëÿåòñÿ êàòàëîãîì â $2
upload_efile=Íå âûáðàíû ôàéëû äëÿ çàãðóçêè
info_type=Òèï:
info_setuid=Setuid:
right_group=Ãðóïïà
upload_efailed=Îøèáêà ïðè îòêðûòèè çàãðóçêè : $1
top_cut=Âûðåçàòü
info_read=×òåíèå
acl_user=Äîñòóï ê ôàéëàì íà ñåðâåðå êàê ïîëüçîâàòåëü
paste_ecopy=Âû äîëæíû âûðåçàòü èëè êîïèðîâàòü ïåðåä âñòàâêîé
info_exec=Âûïîëíåíèå
delete_ddesc=Âû óâåðåíû, ÷òî âû õîòèòå áåçâîçâðàòíî óäàëèòü êàòàëîã $1 è âñ£ åãî ñîäåðæèìîå?
info_link=Ññûëêà íà:
link_to=Ññûëêà äëÿ:
info_size=Ðàçìåð:
info_path=Ïóòü:
copy_eto=Âàì íå ðàçðåøåíî êîïèðîâàíèå â '$1'
rename_ok=Ïåðåèìåíîâàòü
chmod_egroup=$1 : íåò òàêîé ãðóïïû
info_own=Âëàäåëåö
upload_conv=Êîíâåðòèðîâàòü ïåðåâîäû ñòðîê DOS?
cancel=Ïðåðâàòü
info_list=Ñïèñîê
index_nojava=Äàííûé ìîäóëü òðåáóåò ïîääåðæêè java äëÿ ðàáîòû, íî âàø áðàóçåð íå ïîääåðæèâàåò java
paste_eover=$1 íå ìîæåò áûòü ïåðåïèñàí
info_user=Ïîëüçîâàòåëü:
delete_fdesc=Âû óâåðåíû, ÷òî âû õîòèòå áåçâîçâðàòíî óäàëèòü ôàéë $1 ?
top_open=Îòêðûòü
edit_title=Ðåäàêòèðîâàíèå $1
paste_egone=Êîïèðóåìûé ôàéë $1 áîëüøå íå ñóùåñòâóåò
top_paste=Âñòàâèòü
chmod_echmod=îøèáêà ïðè ñìåíå ðåæèìà äîñòóïà : $1
edit_filename=Èìÿ ôàéëà:
link_eexists=$1 óæå ñóùåñòâóåò
edit_enormal=Òîëüêî îáû÷íûå ôàéëû ìîãóò áûòü îòðåäàêòèðîâàíû
info_setgid2=Ôàéëû íàñëåäóþò ãðóïïó
info_setgid3=Âûïîëíÿòü êàê ãðóïïà
top_copy=Êîïèðîâàòü
edit_eaccess=Âàì íå ðàçðåøåíî ñîõðàíÿòü  '$1'
right_name=Èìÿ
rename_efailed=Îøèáêà ïðè ïåðèìåíîâàíèè : $1
upload_edir=Êàòàëîã äëÿ çàãðóçêè íå ñóùåñòâóåò.
rename_new=Íîâîå èìÿ:
top_view=Ïðîñìîòð
delete_dtitle=Óäàëèòü êàòàëîã
link_from=Ññûëêà îò:
index_title=Ôàéëîâûé Ìåíåäæåð
file_type0=Êàòàëîã
file_type1=Òåêñòîâûé ôàéë
file_type2=Ãðàôè÷åñêèé ôàéë
file_type3=Áèíàðíûé ôàéë
file_type4=Ôàéë
file_type5=Ñèìâîëè÷åñêàÿ ññûëêà
file_type6=Ôàéë óñòðîéñòâà
file_type7=Êàíàë
info_sticky=Ëèïó÷êà:
upload_title=Çàãðóçèòü Ôàéë
top_edit=Ðåäàêò
upload_eperm=Âàì íå ðàçðåøåíî ñîçäàâàòü  $1
move_eto=Âàì íå ðàçðåøåíî ïåðåìåùàòü â '$1'
paste_eself=Âû íå ìîæåòå âñòàâèòü ôàéë ïîâåðõ ñàìîãî ñåáÿ
copy_elink=îøèáêà ïðè ñîçäàíèè ñèìâîëè÷åñêîé ññûëêè : $1
chmod_echown=îøèáêà ïðè ñìåíå âëàäåëüöà : $1
acl_umask=Umask äëÿ íîâûõ ôàéëîâ
mkdir_dir=Íîâûé êàòàëîã:
info_other=Ïðî÷èå:
mkdir_title=Íîâûé Êàòàëîã
delete_ftitle=Óäàëèòü ôàéë
find_eexist=$1 íå ñóùåñòâóåò â $2
right_size=Ðàçìåð
edit_eover=$1 íå ìîæåò áûòü ïåðåïèñàí
paste_emfailed=Îøèáêà ïðè ïåðåìåùåíèè : $1
link_title=Ñîçàíèå Ññûëêè
info_apply1=Ýòîãî êàòàëîãà
info_apply2=Ýòîãî êàòàëîãà è åãî ôàéëîâ
info_apply3=Ýòîãî êàòàëîãà è âñåõ ïîäêàòàëîãîâ
info_efailed=Îøèáêà ïðè îáíîâëåíèè $1 : $2
acl_follow=Âñåãäà ñëåäîâàòü ñèìâîëè÷åñêèì ññûëêàì?
upload_file=Ôàéë äëÿ çàãðóçêè
info_setgid=Setgid:
paste_ecfailed=Îøèáêà ïðè êîïèðîâàíèè : $1
mkdir_eaccess=Âàì íå ðàçðåøåíî ñîçäàâàòü '$1'
right_user=Ïîëüçîâàòåëü
rename_eold=Âàì íå ðàçðåøåíî ïåðèìåíîâûâàòü '$1'
link_efollow=Âàì íå ðàçðåøåíî ñîçäàâàòü ñèìâîëè÷åñêèå ññûëêè
rename_title=Ïåðåèìåíîâàíèå $1
top_new=Íîâûé
mkdir_efailed=Îøèáêà ïðè ñîçäàíèè êàòàëîãà : $1
info_write=Çàïèñü
rename_eexists=Ôàéë ñ èìåíåì $1 óæå ñóùåñòâóåò
acl_dirs=Ðàçðåøèòü äîñòóï òîëüêî ê êàòàëîãàì
chmod_eaccess=Âàì íå ðàçðåøåí äîñòóï ê '$1'
top_refresh=Îáíîâèòü
delete_eaccess=Âàì íå ðàçðåøåíî óäàëÿòü '$1'
view_eopen=Îøèáêà ïðè îòêðûòèè $1 : $2
top_rename=Ïåðåèìåí.
list_eaccess=Âàì íå ðàçðåøåí äîñòóï ê äàííîìó êàòàëîãó
delete_efailed=Îøèáêà ïðè óäàëåíèè $1 : $2
   07070100046bdc000081a40000000000000002000000013d1fe2d5000010e6000000200000000000000000000000000000001600000003reloc/file/lang/ru_SU index_title=æÁÊÌÏ×ÙÊ íÅÎÅÄÖÅÒ
index_nojava=äÁÎÎÙÊ ÍÏÄÕÌØ ÔÒÅÂÕÅÔ ÐÏÄÄÅÒÖËÉ java ÄÌÑ ÒÁÂÏÔÙ, ÎÏ ×ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ java

top_open=ïÔËÒÙÔØ
top_view=ðÒÏÓÍÏÔÒ
top_edit=òÅÄÁËÔ
top_refresh=ïÂÎÏ×ÉÔØ
top_info=éÎÆÏ
top_delete=õÄÁÌÉÔØ
top_new=îÏ×ÙÊ
top_upload=úÁÇÒÕÚÉÔØ
top_rename=ðÅÒÅÉÍÅÎ.
top_copy=ëÏÐÉÒÏ×ÁÔØ
top_cut=÷ÙÒÅÚÁÔØ
top_paste=÷ÓÔÁ×ÉÔØ

right_name=éÍÑ
right_size=òÁÚÍÅÒ
right_user=ðÏÌØÚÏ×ÁÔÅÌØ
right_group=çÒÕÐÐÁ
right_date=äÁÔÁ

edit_enormal=ôÏÌØËÏ ÏÂÙÞÎÙÅ ÆÁÊÌÙ ÍÏÇÕÔ ÂÙÔØ ÏÔÒÅÄÁËÔÉÒÏ×ÁÎÙ
edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ $1
edit_title2=óÏÚÄÁÎÉÅ ÆÁÊÌÁ
edit_filename=éÍÑ ÆÁÊÌÁ:
edit_eover=$1 ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÐÉÓÁÎ
edit_esave=îÅ ÍÏÇÕ ÓÏÈÒÁÎÉÔØ ÆÁÊÌ  : $1
edit_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÈÒÁÎÑÔØ  '$1'

info_file=æÁÊÌ
info_path=ðÕÔØ:
info_type=ôÉÐ:
info_size=òÁÚÍÅÒ:
info_mod=éÚÍÅÎÑÌÓÑ:
info_link=óÓÙÌËÁ ÎÁ:
info_perms=ðÒÁ×Á
info_user=ðÏÌØÚÏ×ÁÔÅÌØ:
info_group=çÒÕÐÐÁ:
info_other=ðÒÏÞÉÅ:
info_sticky=ìÉÐÕÞËÁ:
info_sticky2=ôÏÌØËÏ ×ÌÁÄÅÌØÃÙ ÍÏÇÕÔ ÕÄÁÌÑÔØ ÆÁÊÌÙ
info_own=÷ÌÁÄÅÌÅÃ
info_setuid=Setuid:
info_setuid2=÷ÙÐÏÌÎÑÔØ ËÁË ÐÏÌØÚÏ×ÁÔÅÌØ
info_setgid=Setgid:
info_setgid2=æÁÊÌÙ ÎÁÓÌÅÄÕÀÔ ÇÒÕÐÐÕ
info_setgid3=÷ÙÐÏÌÎÑÔØ ËÁË ÇÒÕÐÐÁ
info_apply=ðÒÉÎÑÔØ ÉÚÍÅÎÅÎÉÑ ÄÌÑ
info_apply1=üÔÏÇÏ ËÁÔÁÌÏÇÁ
info_apply2=üÔÏÇÏ ËÁÔÁÌÏÇÁ É ÅÇÏ ÆÁÊÌÏ×
info_apply3=üÔÏÇÏ ËÁÔÁÌÏÇÁ É ×ÓÅÈ ÐÏÄËÁÔÁÌÏÇÏ×
info_efailed=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ $1 : $2
info_read=þÔÅÎÉÅ
info_write=úÁÐÉÓØ
info_list=óÐÉÓÏË
info_exec=÷ÙÐÏÌÎÅÎÉÅ

delete_dtitle=õÄÁÌÉÔØ ËÁÔÁÌÏÇ
delete_ftitle=õÄÁÌÉÔØ ÆÁÊÌ
delete_ddesc=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÂÅÚ×ÏÚ×ÒÁÔÎÏ ÕÄÁÌÉÔØ ËÁÔÁÌÏÇ $1 É ×Ó£ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ?
delete_fdesc=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÂÅÚ×ÏÚ×ÒÁÔÎÏ ÕÄÁÌÉÔØ ÆÁÊÌ $1 ?
delete_efailed=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ $1 : $2

mkdir_title=îÏ×ÙÊ ëÁÔÁÌÏÇ
mkdir_dir=îÏ×ÙÊ ËÁÔÁÌÏÇ:
mkdir_eexists=$1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
mkdir_efailed=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÁÔÁÌÏÇÁ : $1
mkdir_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ '$1'

link_title=óÏÚÁÎÉÅ óÓÙÌËÉ
link_from=óÓÙÌËÁ ÏÔ:
link_to=óÓÙÌËÁ ÄÌÑ:
link_eexists=$1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
link_efailed=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÓÓÙÌËÉ : $1
link_efrom=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÓÓÙÌËÕ ÏÔ '$1'
link_efollow=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ

rename_title=ðÅÒÅÉÍÅÎÏ×ÁÎÉÅ $1
rename_old=óÔÁÒÏÅ ÉÍÑ:
rename_new=îÏ×ÏÅ ÉÍÑ:
rename_ok=ðÅÒÅÉÍÅÎÏ×ÁÔØ
rename_eexists=æÁÊÌ Ó ÉÍÅÎÅÍ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
rename_efailed=ïÛÉÂËÁ ÐÒÉ ÐÅÒÉÍÅÎÏ×ÁÎÉÉ : $1
rename_eold=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÅÒÉÍÅÎÏ×Ù×ÁÔØ '$1'
rename_enew=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÅÒÉÍÅÎÏ×Ù×ÁÔØ × '$1'

file_type0=ëÁÔÁÌÏÇ
file_type1=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ
file_type2=çÒÁÆÉÞÅÓËÉÊ ÆÁÊÌ
file_type3=âÉÎÁÒÎÙÊ ÆÁÊÌ
file_type4=æÁÊÌ
file_type5=óÉÍ×ÏÌÉÞÅÓËÁÑ ÓÓÙÌËÁ
file_type6=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á
file_type7=ëÁÎÁÌ

view_enormal=ôÏÌØËÏ ÏÂÙÞÎÙÅ ÆÁÊÌÙ ÍÏÖÎÏ ÐÒÏÓÍÁÔÒÉ×ÁÔØ
view_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ Ë $1
view_eopen=ïÛÉÂËÁ ÐÒÉ ÏÔËÒÙÔÉÉ $1 : $2

paste_ecopy=÷Ù ÄÏÌÖÎÙ ×ÙÒÅÚÁÔØ ÉÌÉ ËÏÐÉÒÏ×ÁÔØ ÐÅÒÅÄ ×ÓÔÁ×ËÏÊ
paste_egone=ëÏÐÉÒÕÅÍÙÊ ÆÁÊÌ $1 ÂÏÌØÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
paste_eover=$1 ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÐÉÓÁÎ
paste_eself=÷Ù ÎÅ ÍÏÖÅÔÅ ×ÓÔÁ×ÉÔØ ÆÁÊÌ ÐÏ×ÅÒÈ ÓÁÍÏÇÏ ÓÅÂÑ
paste_emfailed=ïÛÉÂËÁ ÐÒÉ ÐÅÒÅÍÅÝÅÎÉÉ : $1
paste_ecfailed=ïÛÉÂËÁ ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ : $1

upload_efailed=ïÛÉÂËÁ ÐÒÉ ÏÔËÒÙÔÉÉ ÚÁÇÒÕÚËÉ : $1
upload_title=úÁÇÒÕÚÉÔØ æÁÊÌ
upload_file=æÁÊÌ ÄÌÑ ÚÁÇÒÕÚËÉ
upload_dir=úÁÇÒÕÖÁÔØ × ËÁÔÁÌÏÇ
upload_ok=úÁÇÒÕÚÉÔØ
upload_conv=ëÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÐÅÒÅ×ÏÄÙ ÓÔÒÏË DOS?
upload_efile=îÅ ×ÙÂÒÁÎÙ ÆÁÊÌÙ ÄÌÑ ÚÁÇÒÕÚËÉ
upload_edir=ëÁÔÁÌÏÇ ÄÌÑ ÚÁÇÒÕÚËÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.
upload_eperm=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ  $1
upload_ewrite=ïÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ × $1 : $2.

find_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ Ë $1
find_eexist=$1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ × $2
find_edir=$1 ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ × $2

cancel=ðÒÅÒ×ÁÔØ

chmod_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ Ë '$1'
chmod_euser=$1 : ÎÅÔ ÔÁËÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
chmod_egroup=$1 : ÎÅÔ ÔÁËÏÊ ÇÒÕÐÐÙ
chmod_elink=ÏÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÉ : $1
chmod_echown=ÏÛÉÂËÁ ÐÒÉ ÓÍÅÎÅ ×ÌÁÄÅÌØÃÁ : $1
chmod_echmod=ÏÛÉÂËÁ ÐÒÉ ÓÍÅÎÅ ÒÅÖÉÍÁ ÄÏÓÔÕÐÁ : $1

copy_efrom=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ËÏÐÉÒÏ×ÁÎÉÅ ÉÚ '$1'
copy_eto=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ËÏÐÉÒÏ×ÁÎÉÅ × '$1'
copy_elink=ÏÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÉ : $1

delete_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ '$1'

list_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ Ë ÄÁÎÎÏÍÕ ËÁÔÁÌÏÇÕ

move_eto=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÅÒÅÍÅÝÁÔØ × '$1'
move_afrom=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÅÒÅÍÅÝÁÔØ '$1'

acl_user=äÏÓÔÕÐ Ë ÆÁÊÌÁÍ ÎÁ ÓÅÒ×ÅÒÅ ËÁË ÐÏÌØÚÏ×ÁÔÅÌØ
acl_umask=Umask ÄÌÑ ÎÏ×ÙÈ ÆÁÊÌÏ×
acl_follow=÷ÓÅÇÄÁ ÓÌÅÄÏ×ÁÔØ ÓÉÍ×ÏÌÉÞÅÓËÉÍ ÓÓÙÌËÁÍ?
acl_dirs=òÁÚÒÅÛÉÔØ ÄÏÓÔÕÐ ÔÏÌØËÏ Ë ËÁÔÁÌÏÇÁÍ

  07070100046bde000081a40000000000000002000000013d1fe2d5000010a5000000200000000000000000000000000000001300000003reloc/file/lang/sv    index_title=Filhanterare
index_nojava=Denna modul behöver java för att fungera, men din läsare stödjer inte java

top_open=Öppna
top_view=Visa
top_edit=Ändra
top_refresh=Uppdatera
top_info=Info
top_delete=Ta bort
top_new=Ny
top_upload=Ladda in
top_rename=Byt namn
top_copy=Kopiera
top_cut=Klipp ut
top_paste=Klistra in

right_name=Namn
right_size=Storlek
right_user=Användare
right_group=Grupp
right_date=Datum

edit_enormal=Du kan bara ändra standardfiler
edit_title=Ändrar i $1
edit_title2=Skapar fil
edit_filename=Filnamn:
edit_eover=$1 får inte skrivas över
edit_esave=Det gick inte att spara filen: $1
edit_eaccess=Du får inte spara filen '$1'

info_file=Fil
info_path=Sökväg:
info_type=Typ:
info_size=Storlek:
info_mod=Ändrad:
info_link=Länk till:
info_perms=Rättigheter
info_user=Användare:
info_group=Grupp:
info_other=Övriga:
info_sticky=Sticky:
info_sticky2=Det är bara ägare som får ta bort filer
info_own=Ägare
info_setuid=Setuid:
info_setuid2=Utför som användare
info_setgid=Setgid:
info_setgid2=Filer ärver grupp
info_setgid3=Utför som grupp
info_apply=Utför ändringarna på
info_apply1=Endast denna katalog
info_apply2=Denna katalog och filerna i den
info_apply3=Denna katalog och dess underkataloger
info_efailed=Det gick inte att uppdatera $1 : $2
info_read=Läs
info_write=Skriv
info_list=Lista
info_exec=Exec

delete_dtitle=Ta bort katalog
delete_ftitle=Ta bort fil
delete_ddesc=Vill du verkligen ta bort katalogen $1 med innehåll permanent?
delete_fdesc=Vill du verkligen ta bort filen $1 permanent?
delete_efailed=Det gick inte att ta bort $1 : $2

mkdir_title=Ny katalog
mkdir_dir=Ny katalog:
mkdir_eexists=$1 finns redan
mkdir_efailed=Det gick inte att skapa katalogen: $1
mkdir_eaccess=Du får inte skapa '$1'

link_title=Skapa länk
link_from=Länk från:
link_to=Länk till:
link_eexists=$1 finns redan
link_efailed=Det gick inte att länka: $1
link_efrom=Du får inte länka från '$1'
link_efollow=Du får inte skapa symboliska länkar

rename_title=Byt namn på $1
rename_old=Gammalt namn:
rename_new=Nytt namn:
rename_ok=Byt namn
rename_eexists=Det finns redan en fil som heter $1
rename_efailed=Det gick inte att byta namn: $1
rename_eold=Du får inte byta namn på '$1'
rename_enew=Du får inte byta namn till '$1'

file_type0=Katalog
file_type1=Textfil
file_type2=Bildfile
file_type3=Binärfil
file_type4=Fil
file_type5=Symbolisk länk
file_type6=Device-fil
file_type7=Pipe

view_enormal=Endast normala filer kan visas
view_eaccess=Du får inte komma åt $1
view_eopen=Det gick inte att öppna $1: $2

paste_ecopy=Något måste klippas ut eller kopieras för att du ska kunna klistra in
paste_egone=Den kopierade filen $1 finns inte längre
paste_eover=$1 får inte skrivas över
paste_eself=En fil får inte klistras in över sig själv
paste_emfailed=Det gick inte att flytta: $1
paste_ecfailed=Det gick inte att kopiera: $1

over_title=Filen finns
over_msg=Filen $1 finns redan. Skriv in ett nytt filnamn för den inklistrade filen i fältet nedan.
over_new=Nytt filnamn:
over_ok=OK

upload_efailed=Det gick inte att sätta igång nedladdningen: $1
upload_title=Ladda ned fil
upload_file=Fil att ladda ned
upload_dir=Ladda ned till katalog
upload_ok=Ladda ned
upload_conv=Konvertera DOS-radbrytningar?
upload_efile=Du har inte valt någon fil som ska laddas ned.
upload_edir=Du har inte valt någon katalog att ladda ned till.
upload_eperm=Du får inte skapa $1
upload_ewrite=Det gick inte att skriva till $1: $2.

find_eaccess=Du får inte komma åt $1
find_eexist=$1 finns inte i $2
find_edir=$1 är inte en katalog i $2

cancel=Avbryt

chmod_eaccess=Du får inte komma åt '$1'
chmod_euser=$1 :användaren finns inte
chmod_egroup=$1 :gruppen finns inte
chmod_elink=symlink misslyckades: $1
chmod_echown=chown misslyckades: $1
chmod_echmod=chmod misslyckades: $1

copy_efrom=Du får inte kopiera från '$1'
copy_eto=Du får inte kopiera till '$1'
copy_elink=symlink misslyckades: $1

delete_eaccess=Du får inte ta bort '$1'

list_eaccess=Du får inte komma åt denna katalog
list_edir=Det gick inte att lista $1: $2

move_eto=Du får inte flytta filer till '$1'
move_afrom=Du får inte flytta på '$1'

acl_user=Kom åt filer på servern som användare
acl_umask=Umask för nya filer
acl_follow=Ska symboliska länkar alltid följas?
acl_dirs=Tillåt endast åtkomst till kataloger

   07070100046bdf000081a40000000000000002000000013d1fe2d50000165b000000200000000000000000000000000000001300000003reloc/file/lang/tr    index_title=Dosya Yöneticisi
index_nojava=Bu modül java gerektirir, fakat sizin tarayýcýnýz java'yi desteklemiyor

top_open=Aç
top_view=Göster
top_edit=Deðiþtir
top_refresh=Yenile
top_info=Bilgi
top_delete=Sil
top_new=Yeni
top_upload=Yükleme
top_copy=Kopyala
top_cut=Kes
top_paste=Yapýþtýr 
top_share=Paylaþtýr

right_name=Ad
right_size=Boyut
right_user=Kullanýcý
right_group=Grup
right_date=Tarih

edit_enormal=Sadece normal dosyalar deðiþtirilebilir
edit_title=$1 deðiþtiriliyor
edit_title2=Dosya oluþturuluyor
edit_filename=Dosya Ýsmi:
edit_eover=$1 üzerine yazýlamaz
edit_esave=Dosyanýn kaydedilmesinde hata oluþtu : $1
edit_eaccess='$1' kaydedilmesine izininiz yoktur

info_file=Dosya
info_path=Yol:
info_type=Tip:
info_size=Boyut:
info_mod=Deðiþtirildi:
info_link=Link to:#####
info_perms=Haklar
info_user=Kullanýcý:
info_group=Grup:
info_other=Diðerleri:
info_sticky=Sticky:
info_sticky2=Dosyalarý sadece sahipleri silebilir
info_own=Sahiplik
info_setuid=Uid'yi belirt:
info_setuid2=Kullanýcý Olarak Çalýþtýr
info_setgid=Gid'yi Oluþtur:
info_setgid2=Dosyalar grubun olsun
info_setgid3=Grup olarak çalýþtýr
info_apply=Deðiþiklikleri uygula ...
info_apply1=Sadece bu dizine
info_apply2=Bu dizin ve dosyalarýna
info_apply3=Bu dizin ve alt dizinlerine
info_efailed=Güncellemede hata oluþtu $1 : $2
info_read=Oku
info_write=Yaz
info_list=Listele
info_exec=Çalýþtýr

delete_dtitle=Dizin Sil
delete_ftitle=Dosya Sil
delete_ddesc=$1 dizinini ve içindekileri silmek istediðinizden eminmisiniz?
delete_fdesc=$1 dizinini silmek istediinizden eminmisiniz? 
delete_efailed=Silme iþleminde hata oluþtu $1 : $2

mkdir_title=Yeni Dizin
mkdir_dir=Yeni dizin:
mkdir_eexists=$1 dizini mevcut
mkdir_efailed=Dizin oluþturmada hata oluþtu : $1
mkdir_eaccess='$1' dizini oluþturmaya hakkýnýz yok

link_title=Link Oluþtur
link_from=Link buradan:
link_to=Link buraya:
link_eexists=$1 her zaman mevcut
link_efailed=Link oluþturulurken hata oluþtu : $1
link_efrom='$1' den link oluþturmaya hakkýnýz yoktur
link_efollow=Sembolik linkler oluþturmaya hakkýnýz yoktur

rename_title=Yeniden Adlandýr $1
rename_old=Eski Ýsmi:
rename_new=Yeni Ýsmi:
rename_ok=Yeniden Adlandýr
rename_eexists=$1 dosyasý her zaman mevcut
rename_efailed=Yeniden adlandýrmada hata oluþtu : $1
rename_eold='$1'i yeniden adlandýrmaya hakkýnýz yoktur
rename_enew='$1' olarak yeniden adlandyrmaya hakkynyz yoktur

file_type0=Dizin
file_type1=Yazý Dosyasý
file_type2=Resim Dosyasý
file_type3=Ýkili Dosya
file_type4=Dosya
file_type5=Sembolik Link
file_type6=Araç Dosyasý
file_type7=Boru

view_enormal=Sadece normal dosyalar görüntülenebilir
view_eaccess=$1'e eriþime hakkýnýz yoktur
view_eopen=Açma iþleminde hata oluþtu $1 : $2

paste_ecopy=Yapýþtýrmadan önce kopyalamalý veya kesmelisiniz
paste_egone=Kopyalanan dosya $1 artýk yok
paste_eover=$1 üzerine yazýlamaz
paste_eself=Dosyayý kendi üzerine yapýþtýramazsýnýz
paste_emfailed=Taþýmada hata oluþtu : $1
paste_ecfailed=Kopyalamada hata olutu : $1

over_title=Dosya Mevcut
over_msg=$1 dosyasý her zaman mevcut. Yapýþtýrýlan dosyaya yeni bir isim girmek için boþ formu kullanýnýz.
over_new=Yeni dosya ismi
over_ok=Tamam

upload_efailed=Dosyanýn yüklenmesinde hata oluþtu : $1
upload_title=Dosyayý Yükle
upload_file=Yüklecek Dosya
upload_dir=Dizine Yükleme
upload_ok=Yükle
upload_conv=DOS satýrlarý çevirilsin mi?
upload_efile=Yüklenecek dosya seçilmedi.
upload_edir=Yükleme dizini mevcut deðil
upload_eperm=$1 oluþturmanýza izin verilmedi
upload_ewrite=$1'i yazmada hata oluþtu : $2.

find_eaccess=$1'e eriþim izininiz yoktur
find_eexist=$1, $2 içinde mevcut deðil
find_edir=$1, $2'de bir dizin deðil

cancel=Ýptal

chmod_eaccess='$1'e eriim izininiz yoktur 
chmod_euser=$1 : Kullanýýcý yok
chmod_egroup=$1 : Grup yok
chmod_elink=Sembolik linkte hata oluþtu : $1
chmod_echown=chown'da hata oluþtu : $1
chmod_echmod=chmod'da hata olustu  : $1

copy_efrom='$1'den kopyalamanýza izin verilmemiþtir
copy_eto='$1'e kopyalamanýza izin verilmemiþtir 
copy_elink=Sembolik linkte hata oluþtu : $1

delete_eaccess='$1'i silmede hata oluþtu

list_eaccess=Bu dizine giriþ izininiz yoktur

move_eto='$1'e taþýmaya hakkýnýz yoktur
move_afrom='$1'i taþýmaya hakkynyz yoktur 

acl_user=Sunucuda kullanýcý olarak dosyalara ulaþ 
acl_umask=Yeni dosyalar için umask
acl_follow=Sembolik linkleri her zaman takip et.
acl_dirs=Sadece dizinlere giriþlere izin ver.

share_title=Paylaþtýrma
share_samba=Windows
share_nfs=NFS
share_son=Windows dosya paylaþýmý açýk
share_soff=Windows dosya paylaþýmý kapalý
share_writable=Yazýlabilir?
share_available=Aktif mi?
share_sheader=Paylaþým seçenekleri
share_only=Sadece
share_guest=Ziyaretçi giriþleri?
share_comment=Açýklama
share_nheader=NFS sunum seçenekleri
share_non=NFS dosya paylaþýmý açýk
share_noff=NFS dosya paylaþýmý kapalý
share_desc=Açýklama
share_ro=Sadece okuma izinli makineler
share_rw=Okuma-yazma izinli makineler
share_root=Root giriþli makineler
share_none=Hiçbiri
share_all=Hepsi
share_listed=Listeli...
share_host=Makineler
share_opts=Seçenekler
share_s0=Hiçkimseye güvenme
share_s1=Root dýþýndakilere güven
share_s2=Herkese güven
share_lro=Sadece okunur
share_lrw=Okunur-yazýlýr

log_create_export=NFS sunumu $1 oluþturuldu
log_modify_export=NFS sunumu $1 deðiþtirildi
log_delete_export=NFS sunumu $1 silindi
log_create_share=Samba paylaþýmý $1 oluþturuldu
log_modify_share=Samba paylaþýmý $1 deðiþtirildi
log_delete_share=Samba paylaþýmý $1 silindi
log_save=$1 dosyasý kaydedildi
log_chmod=$1 dosyasýnýn haklarý deðiþtirildi
log_mkdir=$1 dizini oluþturuldu
log_upload=$1 dosyasý yüklendi
log_link=$2'ye sembolik link $1 oluþturuldu
log_relink=$2'ye sembolik link $1 deðiþtirildi
log_copy=$1 dosyasý $2'ye kopyalandý
log_move=$1 dosyasý $2'ye taþýndý
log_delete=$1 dosyasý silindi

 07070100046be1000081a40000000000000002000000013d1fe2d5000012c7000000200000000000000000000000000000001600000003reloc/file/lang/zh_CN index_title=ÎÄ¼þ¹ÜÀíÆ÷
index_nojava=±¾Ä£¿éÐèÒªjava¹¦ÄÜ,µ«ÊÇä¯ÀÂÆ÷²»Ö§³Öjava
top_open=´ò¿ª
top_view=²é¿´
top_edit=±à¼­
top_refresh=Ë¢ÐÂ
top_info=ÐÅÏ¢
top_delete=É¾³ý
top_new=ÐÂ½¨
top_upload=ÉÏÔØ
top_rename=ÖØÃüÃû
top_copy=¿½±´
top_cut=¼ôÇÐ
top_paste=Õ³Ìù
top_share=¹²Ïí
top_search=²éÕÒ
right_name=Ãû³Æ
right_size=´óÐ¡
right_user=ÓÃ»§
right_group=×é
right_date=ÈÕÆÚ
edit_enormal=Ö»ÄÜ±à¼­Õý³£ÎÄ¼þ
edit_title=ÕýÔÚ±à¼­ $1
edit_title2=ÕýÔÚ´´½¨ÎÄ¼þ
edit_filename=ÎÄ¼þÃû£º
edit_eover=²»ÄÜ¸²¸Ç£º$1
edit_esave=±£´æÎÄ¼þ $1 Ê§°Ü
edit_eaccess=Ã»ÓÐ±£´æÎÄ¼þ'$1'µÄÈ¨Àû
info_file=ÎÄ¼þ
info_path=Â·¾¶£º
info_type=ÀàÐÍ£º
info_size=´óÐ¡£º
info_mod=ÐÞ¸Ä£º
info_link=Áª½áµ½£º
info_perms=Ðí¿É
info_user=ÓÃ»§£º
info_group=Ð¡×é£º
info_other=ÆäËü£º
info_sticky=Õ³ÐÔ£º
info_sticky2=Ö»ÓÐËùÓÉÕß²ÅÄÜÉ¾³ýÎÄ¼þ
info_own=ËùÓÐÈ¨
info_setuid=ÉèÖÃÓÃ»§id£º
info_setuid2=ÒÔÓÃ»§Ö´ÐÐ
info_setgid=ÉèÖÃ×éid£º
info_setgid2=ÎÄ¼þ¼Ì³Ð×é
info_setgid3=ÒÔ×éÖ´ÐÐ
info_apply=Ó¦ÓÃ¸ü¸ÄÖÁ
info_apply1=½ö´ËÄ¿Â¼
info_apply2=±¾Ä¿Â¼¼°ÆäÎÄ¼þ
info_apply3=±¾Ä¿Â¼¼°ÆäËùÓÐ×ÓÄ¿Â¼
info_efailed=¸üÐÂ $1 £º$2 Ê§°Ü
info_read=¶ÁÈ¡
info_write=Ð´Èë
info_list=ÁÐ±í
info_exec=Ö´ÐÐ
delete_dtitle=Ä¿Â¼É¾³ý
delete_ftitle=É¾³ýÎÄ¼þ
delete_ddesc=È·ÊµÒªÓÀ¾ÃÉ¾³ýÄ¿Â¼ $1 ¼°ÆäÄÚÈÝ£¿
delete_fdesc=È·ÊµÒªÓÀ¾ÃÉ¾³ýÎÄ¼þ $1£¿
delete_efailed=É¾³ý $1 £º$2 Ê§°Ü
mkdir_title=ÐÂ½¨Ä¿Â¼
mkdir_dir=ÐÂ½¨Ä¿Â¼£º
mkdir_eexists=$1 ÒÑ¾­´æÔÚ
mkdir_efailed=´´½¨Ä¿Â¼ $1 Ê§°Ü
mkdir_eaccess=ÄãÎÞÈ¨´´½¨ '$1'
link_title=´´½¨Á´½Ó
link_from=Á´½Ó×Ô£º
link_to=Á´½Óµ½£º
link_eexists=$1 ÒÑ¾­´æÔÚ
link_efailed=Á´½ÓÊ§°Ü£º$1
link_efrom=ÄãÎÞÈ¨Á´½Ó×Ô '$1'
link_efollow=ÄãÎÞÈ¨´´½¨·ûºÅÁ´½Ó
rename_title=ÖØÃüÃû$1
rename_old=Ô­Ãû£º
rename_new=ÐÂÃû£º
rename_ok=ÖØÃüÃû
rename_eexists=ÎÄ¼þ $1 ÒÑ´æÔÚ
rename_efailed=ÖØÃüÃûÊ§°Ü: $1
rename_eold=ÄãÎÞÈ¨ÖØÃüÃû '$1'
rename_enew=ÄãÎÞÈ¨ÖØÃüÃûÎª '$1'
file_type0=Ä¿Â¼
file_type1=ÎÄ±¾ÎÄ¼þ
file_type2=Ó³ÏóÎÄ¼þ
file_type3=¶þ½øÖÆÎÄ¼þ
file_type4=ÎÄ¼þ
file_type5=·ûºÅÁ´½Ó
file_type6=Éè±¸ÎÄ¼þ
file_type7=¹ÜµÀ
view_enormal=Ö»ÄÜ²é¿´Õý³£ÎÄ¼þ
view_eaccess=ÄãÎÞÈ¨·ÃÎÊ $1
view_eopen=´ò¿ª $1: $2 Ê§°Ü
paste_ecopy=ÔÚÕ³ÌùÖ®Ç°±ØÐë¼ôÇÐ»ò¿½±´
paste_egone=¿½±´µÄÎÄ¼þ $1 ÒÑ¾­²»´æÔÚ
paste_eover=$1 ²»ÄÜ¸²¸Ç
paste_eself=²»ÄÜ½«ÎÄ¼þÕ³ÌùÖÁ×ÔÉí
paste_emfailed=ÒÆ¶¯Ê§°Ü£º$1
paste_ecfailed=¿½±´Ê§°Ü£º$1
over_title=ÎÄ¼þ´æÔÚ
over_msg=ÎÄ¼þ $1 ÒÑ¾­´æÔÚ¡£ÔÚÏÂÃæµÄ×Ö¶ÎÖÐÎªÒªÕ³ÌùµÄÎÄ¼þÊäÈëÒ»¸öÐÂÃû¡£
over_new=ÐÂÃû£º
over_ok=È·ÈÏ
upload_efailed=´ò¿ªÉÏÔØÊ§°Ü£º$1
upload_title=ÉÏÔØÎÄ¼þ
upload_file=ÎÄ¼þÉÏÔØ
upload_dir=ÉÏÔØµ½Ä¿Â¼
upload_ok=ÉÏÔØ
upload_conv=ÊÇ·ñ×ª»»DOS»»ÐÐ·ûºÅ£¿
upload_efile=Ã»ÓÐÑ¡¶¨ÉÏÔØÎÄ¼þ¡£
upload_edir=ÉÏÔØÄ¿Â¼²»´æÔÚ¡£
upload_eperm=ÄãÎÞÈ¨´´½¨ $1
upload_ewrite=Ð´Èë $1£º$2 Ê§°Ü¡£
find_eaccess=ÄãÎÞÈ¨·ÃÎÊ $1
find_eexist=ÔÚ$2ÖÐ²»´æÔÚ$1
find_edir=$1 ²»ÊÇ $2 ÖÐµÄÄ¿Â¼
cancel=È¡Ïû
chmod_eaccess=ÄãÎÞÈ¨·ÃÎÊ '$1'
chmod_euser=$1£ºÎÞ´ËÓÃ»§
chmod_egroup=$1£ºÎÞ´ËÓÃ»§×é
chmod_elink=symlink Ê§°Ü£º$1
chmod_echown=chown Ê§°Ü£º$1
chmod_echmod=chmod Ê§°Ü£º$1
copy_efrom=ÄãÎÞÈ¨´Ó '$1' ¿½±´
copy_eto=ÄãÎÞÈ¨¿½±´µ½ '$1'
copy_elink=symlink Ê§°Ü '$1'
delete_eaccess=ÄãÎÞÈ¨É¾³ý '$1'
list_eaccess=ÄãÎÞÈ¨·ÃÎÊ´ËÄ¿Â¼
move_eto=ÄãÎÞÈ¨ÒÆ¶¯µ½ '$1'
move_afrom=ÄãÎÞÈ¨ÒÆ¶¯ '$1'
acl_user=ÒÔÓÃ»§·ÃÎÊ·þÎñÆ÷µÄÎÄ¼þ
acl_umask=¶ÔÐÂÎÄ¼þÈ¥³ýÑÚÂë
acl_follow=ÊÇ·ñ×ÜÊÇ¸úËæ·ûºÅÁ´½Ó£¿
acl_dirs=½öÔÊÐí·ÃÎÊÄ¿Â¼
share_title=¹²Ïí
share_samba=Windows
share_nfs=NFS
share_son=ÆôÓÃ Windows ÎÄ¼þ¹²Ïí
share_soff=½ûÓÃ Windows ÎÄ¼þ¹²Ïí
share_writable=¿ÉÐ´Èë£¿
share_available=ÏÖÔÚ»î¶¯Âð£¿
share_sheader=¹²ÏíÑ¡Ïî
share_only=½ö
share_guest=Guest ·ÃÎÊ£¿
share_comment=×¢ÊÍ
share_nheader=NFS µ¼³öÑ¡Ïî
share_non=ÒÑÆôÓÃ NFS ÎÄ¼þ¹²Ïí
share_noff=ÒÑ½ûÓÃ NFS ÎÄ¼þ¹²Ïí
share_desc=ÃèÊö
share_ro=Ö»¶ÁÖ÷»ú
share_rw=¶ÁÐ´Ö÷»ú
share_root=Root ·ÃÎÊÖ÷»ú
share_none=ÎÞ
share_all=ËùÓÐ
share_listed=ÒÑÁÐ³öµÄ..
share_host=Ö÷»ú
share_opts=Ñ¡Ïî
share_s0=²»ÐÅÈÎÈÎºÎÈË
share_s1=ÐÅÈÎ·Ç Root ÓÃ»§
share_s2=ÐÅÈÎËùÓÐÈË
share_lro=Ö»¶Á
share_lrw=¶ÁÐ´
log_create_export=ÒÑ´´½¨ NFS µ¼³ö $1
log_modify_export=ÒÑÐÞ¸Ä NFS µ¼³ö $1
log_delete_export=ÒÑÉ¾³ý NFS µ¼³ö $1
log_create_share=ÒÑ´´½¨ Samba ¹²Ïí $1
log_modify_share=ÒÑÐÞ¸Ä Samba ¹²Ïí $1
log_delete_share=ÒÑÉ¾³ý Samba ¹²Ïí $1
log_save=ÒÑ±£´æÎÄ¼þ $1
log_chmod=ÒÑ¸Ä±ä¶ÔÎÄ¼þ $1 µÄÈ¨ÏÞ
log_mkdir=ÒÑ´´½¨Ä¿Â¼ $1
log_upload=ÒÑÉÏÔØÎÄ¼þ $1
log_link=ÒÑ´´½¨·ûºÅÁ¬½Ó $1 µ½ $2
log_relink=ÒÑÐÞ¸Ä·ûºÅÁ¬½Ó $1 µ½ $2
log_copy=ÒÑ¿½±´ÎÄ¼þ $1 µ½ $2
log_move=ÒÑÒÆ¶¯ÎÄ¼þ $1 µ½ $2
log_delete=ÒÑÉ¾³ýÎÄ¼þ $1
search_eaccess=ÄúÎÞÈ¨ËÑË÷´ËÄ¿Â¼
search_title=ÕÒµ½ÎÄ¼þ
search_ok=ÏÖÔÚËÑË÷
search_dir=ËÑË÷Ä¿Â¼
search_match=ÎÄ¼þÆ¥Åä
search_user=ÓÃ»§ËùÓÐ
search_group=×éËùÓÐ
search_any=ÈÎºÎ
search_type=ÎÄ¼þÀàÐÍ
search_types_=ÈÎºÎ
search_types_f=ÎÄ¼þ
search_types_d=Ä¿Â¼
search_types_l=·ûºÅÁ¬½Ó
search_types_p=ÃüÃû¹ÜµÀ
search_size=ÎÄ¼þ´óÐ¡
search_more=¶àÓÚ
search_less=ÉÙÓÚ
search_xdev=ËÑË÷ÒÔÇ°µÄ¼ÓÔØ£¿
search_edir=¶ªÊ§»òÎÞÐ§µÄËÑË÷Ä¿Â¼
search_ematch=¶ªÊ§Æ¥ÅäµÄÕýÔò±í´ïÊ½
search_euser=¶ªÊ§ÓÃ»§Ãû
search_egroup=¶ªÊ§×éÃû
search_esize=ÎÄ¼þ´óÐ¡Öµ±ØÐëÊÇÕûÊý
search_crit=ËÑË÷±ê×¼
search_list=ËÑË÷½á¹û
 07070100046be2000081a40000000000000002000000013d1fe2d500000c7d000000200000000000000000000000000000001b00000003reloc/file/lang/zh_TW.Big5    index_title=ÀÉ®×ºÞ²zªÌ
index_nojava=³o­Ó¼Ò²Õ»Ý­n Java ¤~¯à¥¿½Tªº¹B§@, ¦ý¬O±zªºÂsÄý¾¹¦ü¥G¤£¤ä´© Java

top_open=¶}±Ò
top_view=ÀËµø
top_edit=½s¿è
top_refresh=­«Åª
top_info=¸ê°T
top_delete=§R°£
top_new=¼W¥[
top_upload=¤W¶Ç
top_rename=§ï¦W
top_copy=½Æ»s
top_cut=°Å¤U
top_paste=¶K¤W

right_name=¦WºÙ
right_size=¤j¤p
right_user=¨Ï¥ÎªÌ
right_group=¸s²Õ
right_date=¤é´Á

edit_enormal=¥u¯à½s¿è¤@¯ëªºÀÉ®×
edit_title=½s¿è $1 ¤¤
edit_title2=«Ø¥ßÀÉ®×¤¤
edit_filename=ÀÉ®×¦WºÙ:
edit_eover=$1 µLªk³Q»\¼g
edit_esave=µLªkÀx¦sÀÉ®× : $1
edit_eaccess=±z¤£³Q¤¹³\Àx¦s '$1'

info_file=ÀÉ®×
info_path=¸ô®|:
info_type=Ãþ§O:
info_size=¤j¤p:
info_mod=­×§ï®É¶¡:
info_link=³sµ²¨ì:
info_perms=Åv­­
info_user=¨Ï¥ÎªÌ:
info_group=¸s²Õ:
info_other=¨ä¥L:
info_sticky=³]©w¦ì¤¸:
info_sticky2=¥u¦³¾Ö¦³ªÌ¤~¯à§R°£ÀÉ®×
info_own=©Ò¦³Åv
info_setuid=³]©w UID:
info_setuid2=¥H¨Ï¥ÎªÌÅv­­°õ¦æ
info_setgid=³]©w GID:
info_setgid2=ÀÉ®×Ä~©Ó¸s²Õ
info_setgid3=¥H¸s²ÕÅv­­°õ¦æ
info_apply=®M¥ÎÅÜ§ó¨ì
info_apply1=¥u¦³³o­Ó¥Ø¿ý
info_apply2=³o­Ó¥Ø¿ý»P¨ä¤¤ªºÀÉ®×
info_apply3=³o­Ó¥Ø¿ý»P©Ò¦³ªº¤l¥Ø¿ý
info_efailed=µLªk­«Åª $1 : $2
info_read=Åª¨ú
info_write=¼g¤J
info_list=¦C¥X
info_exec=°õ¦æ

delete_dtitle=§R°£¥Ø¿ý
delete_ftitle=§R°£ÀÉ®×
delete_ddesc=±z½T©w­n¥Ã¤[ªº§R°£¥Ø¿ý $1 »P¨ä©Ò¦³¤º®e¶Ü?
delete_fdesc=±z½T©w­n¥Ã¤[ªº§R°£ÀÉ®× $1 ¶Ü?
delete_efailed=µLªk§R°£ $1 : $2

mkdir_title=¼W¥[¥Ø¿ý
mkdir_dir=¥Ø¿ý:
mkdir_eexists=$1 ¤w¸g¦s¦b
mkdir_efailed=«Ø¥ß¥Ø¿ý¥¢±Ñ : $1
mkdir_eaccess=±z¤£³Q¤¹³\«Ø¥ß '$1'

link_title=«Ø¥ß³sµ²
link_from=³sµ²¦Û:
link_to=³sµ²¨ì:
link_eexists=$1 ¤w¸g¦s¦b
link_efailed=³sµ²¥¢±Ñ : $1
link_efrom=±z¤£³Q¤¹³\³sµ² '$1'
link_efollow=±z¤£³Q¤¹³\«Ø¥ß²Å¸¹³sµ²

rename_title=ÅÜ§ó¦WºÙ $1
rename_old=ÂÂÀÉ¦W:
rename_new=ÅÜ§ó¬°:
rename_ok=§ï¦W
rename_eexists=¥s°µ $1 ªºÀÉ®×¤w¸g¦s¦b
rename_efailed=§ï¦W¥¢±Ñ : $1
rename_eold=±z¤£³Q¤¹³\§ï¦W¦Û '$1'
rename_enew=±z¤£³Q¤¹³\§ï¦W¦¨ '$1'

file_type0=¥Ø¿ý
file_type1=¤å¦rÀÉ
file_type2=¼v¹³ÀÉ
file_type3=¤G¶i¦ìÀÉ
file_type4=ÀÉ®×
file_type5=²Å¸¹³sµ²
file_type6=³]³Æ±±¨îÀÉ
file_type7=ºÞ½u

view_enormal=¥u¦³¤@¯ëªºÀÉ®×¥i¥H³QÀËµø
view_eaccess=±z¤£³Q¤¹³\¦s¨ú $1
view_eopen=µLªk¶}±Òn $1 : $2

paste_ecopy=¦b±z¶K¤W­n¥ý°Å¤U©Î½Æ»s
paste_egone=½Æ»sªºÀÉ®× $1 ¤w¸g¤£¦s¦b
paste_eover=$1 µLªk³Q»\¼g
paste_eself=±z¤£¯à§âÀÉ®×¶K¨ì¥»¨­¤W
paste_emfailed=²¾°Ê¥¢±Ñ : $1
paste_ecfailed=«þ¨©¥¢±Ñ : $1

upload_efailed=¶}±Ò¤W¶Ç¥¢±Ñ : $1
upload_title=¤W¶ÇÀÉ®×
upload_file=­n¤W¶ÇªºÀÉ®×
upload_dir=¤W¶Ç¨ì¥Ø¿ý
upload_ok=¤W¶Ç
upload_conv=¬O§_­n§ïÅÜ DOS ªº´«¦æ²Å¸¹?
upload_efile=¨S¦³¿ï¾Ü­n¤W¶ÇªºÀÉ®×.
upload_edir=¤W¶Çªº¥Ø¿ý¤£¦s¦b.
upload_eperm=±z¤£³Q¤¹³\«Ø¥ß $1
upload_ewrite=µLªk¼g¤J¨ì $1 : $2.

find_eaccess=±z¤£³Q¤¹³\¦s¨ú $1
find_eexist=$1 ¤£¦s¦b©ó $2
find_edir=$1 ¤£¬O¤@­Ó¥Ø¿ý¦b $2

cancel=¨ú®ø

chmod_eaccess=±z¤£³Q¤¹³\¦s¨ú '$1'
chmod_euser=$1 : ¨S¦³³o­Ó¨Ï¥ÎªÌ
chmod_egroup=$1 : ¨S¦³³o­Ó¸s²Õ
chmod_elink=²Å¸¹³sµ²¥¢±Ñd : $1
chmod_echown=ÅÜ§ó¾Ö¦³ªÌ¥¢±Ñ : $1
chmod_echmod=ÅÜ§óÅv­­¥¢±Ñ : $1

copy_efrom=±z¤£³Q¤¹³\«þ¨©¦Û '$1'
copy_eto=±z¤£³Q¤¹³\«þ¨©¨ì '$1'
copy_elink=²Å¸¹³sµ²¥¢±Ñ : $1

delete_eaccess=±z¤£³Q¤¹³\§R°£ '$1'

list_eaccess=±z¤£³Q¤¹³\¦s¨ú³o­Ó¥Ø¿ý

move_eto=±z¤£³Q¤¹³\²¾°Ê¨ì '$1'
move_afrom=±z¤£³Q¤¹³\²¾°Ê¦Û '$1'

acl_user=¥H¨Ï¥ÎªÌÅv­­¦s¨ú¦øªA¾¹¤WªºÀÉ®×
acl_umask=«Ø¥ßÀÉ®×ªº¾B¸n
acl_follow=¬O§_¸òÀH²Å¸¹³sµ²?
acl_dirs=¥u¤¹³\¦s¨ú¨ì¥Ø¿ý

   0707010000eb9a000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000002000000003reloc/file/config-generic-linux   xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb9b000081a40000000000000002000000013d1fe2d60000007e000000200000000000000000000000000000001700000003reloc/file/config-irix    xfs_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
getfacl=getfacl
setfacl=setfacl -S -
  0707010000eb9c000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000002100000003reloc/file/config-mandrake-linux  xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb9d000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001c00000003reloc/file/config-msc-linux   xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb9e000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001d00000003reloc/file/config-open-linux  xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eb9f000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001f00000003reloc/file/config-redhat-linux    xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eba0000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000002200000003reloc/file/config-slackware-linux xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eba1000081a40000000000000002000000013d1fe2d6000000d7000000200000000000000000000000000000001a00000003reloc/file/config-solaris ufs_acl=&has_command("getfacl") && &has_command("setfacl")
nfs_acl=&has_command("getfacl") && &has_command("setfacl")
lofs_acl=&has_command("getfacl") && &has_command("setfacl")
getfacl=getfacl
setfacl=setfacl -f -
 0707010000eba2000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001d00000003reloc/file/config-suse-linux  xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eba3000081a40000000000000002000000013d1fe2d6000001a8000000200000000000000000000000000000001e00000003reloc/file/config-turbo-linux xfs_acl=&has_command("getfacl") && &has_command("setfacl")
ext2_acl=&has_command("getfacl") && &has_command("setfacl")
ext3_acl=&has_command("getfacl") && &has_command("setfacl")
xfs_attr=&has_command("attr")
ext2_attr=&has_command("attr")
ext3_attr=&has_command("attr")
ext2_ext=&has_command("lsattr") && &has_command("chattr")
ext3_ext=&has_command("lsattr") && &has_command("chattr")
getfacl=getfacl
setfacl=setfacl -S -
0707010000eba4000081e40000000000000002000000013d1fe2d600000424000000200000000000000000000000000000001400000003reloc/file/copy.cgi   #!/usr/local/bin/perl
# copy.cgi
# Copy some file or directory

require './file-lib.pl';
&ReadParse();
&webmin_log("copy", undef, $in{'from'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'from'})) {
	print &text('copy_efrom', $in{'from'}),"\n";
	exit;
	}
if (!&can_access($in{'to'})) {
	print &text('copy_eto', $in{'to'}),"\n";
	exit;
	}
if (-l $in{'from'}) {
	# Remake the link
	&lock_file($in{'to'});
	if (!symlink(readlink($in{'from'}), $in{'to'})) {
		print &text('copy_elink', $!),"\n";
		exit;
		}
	&unlock_file($in{'to'});
	}
elsif (-d $in{'from'}) {
	# Recursively copy with tar
	unlink($in{'to'});
	mkdir($in{'to'}, 0755);
	$out = &backquote_logged("(cd \"$in{'from'}\" ; tar cf - . | (cd \"$in{'to'}\" ; tar xf -)) 2>&1");
	}
else {
	# Simple copy using cp
	unlink($in{'to'});
	$out = &backquote_logged("cp -p \"$in{'from'}\" \"$in{'to'}\" 2>&1");
	}
if ($?) { print $out,"\n"; }
else {
	print "\n";
	print &file_info_line($in{'to'}),"\n";
	}

sub split_dir
{
$_[0] =~ /^(.*\/)([^\/]+)$/;
return ($1, $2);
}

0707010000eba5000081a40000000000000002000000013d1fe2d600000032000000200000000000000000000000000000001600000003reloc/file/defaultacl noconfig=0
user=0
root=/
follow=0
umask=022
log=0
  0707010000eba6000081e40000000000000002000000013d1fe2d6000001a0000000200000000000000000000000000000001600000003reloc/file/delete.cgi #!/usr/local/bin/perl
# delete.cgi
# Delete some file or directory

require './file-lib.pl';
&ReadParse();
&webmin_log("delete", undef, $in{'file'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print &text('delete_eaccess', $in{'file'}),"\n";
	exit;
	}
$out = &backquote_logged("cd / ; rm -rf \"$in{'file'}\" 2>&1");
if ($?) { print $out; }
else { print "\n"; }

0707010000eba7000081a40000000000000002000000013d1fe2d5000007f0000000200000000000000000000000000000001700000003reloc/file/file-lib.pl    # file-lib.pl
# Common functions for file manager CGIs

do '../web-lib.pl';
&ReadParse(\%prein, 'GET');
if ($prein{'trust'}) {
	dbmopen(%trustdb, "$ENV{'WEBMIN_CONFIG'}/file/trust", 0700);
	if ($trustdb{$prein{'trust'}}) {
		$trust_unknown_referers = 1;
		$trustdb{$prein{'trust'}} = time();
		}
	dbmclose(%trustdb);
	}
&init_config();
%access = &get_module_acl();
if ($access{'home'}) {
	local @u = getpwnam($remote_user);
	$u[7] = &resolve_links($u[7]);
	if (@u) {
		$access{'root'} .= ' ' if ($access{'root'});
		$access{'root'} .= $u[7];
		}
	}

$icon_map = (	"c", 1,    "txt", 1,
		"pl", 1,   "cgi", 1,
		"html", 1, "htm", 1,
		"gif", 2,  "jpg", 2,
		"tar", 3
		);

# file_info_line(path)
# Returns a line of text containing encoded details of some file
sub file_info_line
{
local @st = $access{'follow'} ? stat($_[0]) : lstat($_[0]);
local $ext = $_[0] =~ /\S+\.([^\.\/]+)$/ ? $1 : undef;
local $user = getpwuid($st[4]); $user = $st[4] if (!$user);
local $group = getgrgid($st[5]); $group = $st[5] if (!$group);
local $rl = readlink($_[0]);
return sprintf ("%s\t%u\t%s\t%s\t%u\t%u\t%u\t%s",
		$_[0],
		(-l $_[0] && !$access{'follow'} ? 5 :
		 -d $_[0] ? 0 :
		 -b $_[0] ? 6 :
		 -c $_[0] ? 6 :
		 -p $_[0] ? 7 :
		 -S $_[0] ? 7 :
		 defined($icon_map{$ext}) ? $icon_map{$ext} : 4),
		$user, $group,
		$st[7], $st[2], $st[9], -l $_[0] && !$rl ? "???" : $rl);
}

# switch_acl_uid()
sub switch_acl_uid
{
if ($access{'uid'}) {
	local @u = $access{'uid'} < 0 ? getpwnam($remote_user)
				      : getpwuid($access{'uid'});
	@u || &error($text{'switch_euser'});
	$( = $u[3]; $) = "$u[3] ".join(" ", $u[3], &other_groups($u[0]));
	($>, $<) = ($u[2], $u[2]);
	umask(oct($access{'umask'}));
	}
}

# can_access(file)
sub can_access
{
local @f = grep { $_ ne '' } split(/\//, $_[0]);
DIR: foreach $r (split(/\s+/, $access{'root'})) {
	return 1 if ($r eq '/' || $_[0] eq '/');
	local @a = grep { $_ ne '' } split(/\//, $r);
	local $i;
	for($i=0; $i<@a && $i<@f; $i++) {
		next DIR if ($a[$i] ne $f[$i]);
		}
	return 1;
	}
return 0;
}

1;

0707010000eba8000081e40000000000000002000000013d1fe2d6000004b8000000200000000000000000000000000000001b00000003reloc/file/filesystems.cgi    #!/usr/local/bin/perl
# filesystems.cgi
# List all filesystems and their types

require './file-lib.pl';
print "Content-type: text/plain\n\n";
if (!&foreign_check("mount")) {
	print "0\n";
	exit;
	}
&foreign_require("mount", "mount-lib.pl");
@mounts = &foreign_call("mount", "list_mounted");
print "1\n";

foreach $m (sort { length($a->[0]) <=> length($b->[0]) } @mounts) {
	next if ($m->[0] !~ /^\//);
	local @supp = @{$support{$m->[2]}};
	if (!@supp) {
		# Work out what this filesystem supports
		@supp = ( eval $config{$m->[2]."_acl"} ? 1 : 0,
			  eval $config{$m->[2]."_attr"} ? 1 : 0,
			  eval $config{$m->[2]."_ext"} ? 1 : 0 );
		$support{$m->[2]} = \@supp;
		}

	# Check if the filesystem really does support attrs and ACLs
	local @supp2 = @supp;
	if ($supp2[0]) {
		local $out = `$config{'getfacl'} '$m->[0]' 2>/dev/null`;
		if ($?) {
			$supp2[0] = 0;
			}
		else {
			local $aclcount;
			foreach $l (split(/\n/, $out)) {
				$l =~ s/#.*$//;
				$l =~ s/\s+$//;
				$aclcount++ if ($l =~ /\S/);
				}
			$supp2[0] = 0 if (!$aclcount);
			}
		}
	if ($supp2[1]) {
		local $out = `attr -l '$m->[0]' 2>/dev/null`;
		if ($?) {
			$supp2[1] = 0;
			}
		}

	print join(" ", @$m[0..3], @supp2),"\n";
	}

0707010000eba9000081e40000000000000002000000013d1fe2d600000315000000200000000000000000000000000000001800000003reloc/file/getattrs.cgi   #!/usr/local/bin/perl
# getattrs.cgi
# Returns a list in URL-encode name=value format of attributes on some file

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	$out = `attr -l '$in{'file'}' 2>&1`;
	if ($?) {
		print $out,"\n";
		}
	else {
		foreach $l (split(/[\r\n]+/, $out)) {
			if ($l =~ /Attribute\s+"(.*)"/i) {
				# Get the valid for this attribute
				local $name = $1;
				$got = `attr -g '$name' '$in{'file'}' 2>&1`;
				if ($? || $got !~ /^(.*)\n([\0-\377]*)\n$/) {
					print $got,"\n";
					exit;
					}
				push(@rv, [ $name, $2 ] );
				}
			}
		print "\n";
		foreach $r (@rv) {
			print &urlize($r->[0]),"=",&urlize($r->[1]),"\n";
			}
		}
	}

   0707010000ebaa000081e40000000000000002000000013d1fe2d6000001e2000000200000000000000000000000000000001600000003reloc/file/getext.cgi #!/usr/local/bin/perl
# getext.cgi
# Returns a string of EXT attributes for some file

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	$out = `lsattr -d '$in{'file'}' 2>&1`;
	$out =~ s/^lsattr.*\n//;
	if ($? || $out !~ /^(\S+)\s/) {
		print $out,"\n";
		}
	else {
		print "\n";
		@a = split(//, $1);
		print join("", grep { $_ ne '-' } @a),"\n";
		}
	}


  0707010000ebab000081e40000000000000002000000013d1fe2d6000002b9000000200000000000000000000000000000001700000003reloc/file/getfacl.cgi    #!/usr/local/bin/perl
# getfacl.cgi
# Gets the ACLs for some file

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	chdir("/");
	if ($in{'file'} eq '/') {
		$in{'file'} = '.';
		}
	else {
		$in{'file'} =~ s/^\///;
		}
	$out = `$config{'getfacl'} '$in{'file'}' 2>&1`;
	if ($?) {
		print $out,"\n";
		}
	else {
		foreach $l (split(/\n/, $out)) {
			$l =~ s/#.*$//;
			$l =~ s/\s+$//;
			push(@rv, $l) if ($l =~ /\S/);
			}
		if (!@rv) {
			print "Filesystem does not support ACLs\n";
			}
		else {
			print "\n";
			foreach $l (@rv) {
				print $l,"\n";
				}
			}
		}
	}

   0707010000ebac000081e40000000000000002000000013d1fe2d6000005ed000000200000000000000000000000000000001500000003reloc/file/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Output HTML for the file manager applet

require './file-lib.pl';
$theme_no_table = 1;
if ($access{'uid'} < 0 && !defined(getpwnam($remote_user))) {
	&error(&text('index_eremote', $remote_user));
	}
&header($text{'index_title'});
if ($gconfig{'referers_none'}) {
	# Because java applet HTTP requests don't always include a referer:
	# header, we need to use a DBM of trust keys to identify trusted applets
	if (defined(&seed_random)) { &seed_random(); }
	else { srand(time() ^ $$); }
	$trust = int(rand(1000000000));
	local $now = time();
	dbmopen(%trustdb, "$config_directory/file/trust", 0700);
	foreach $k (keys %trustdb) {
		if ($now - $trustdb{$k} > 30*24*60*60) {
			delete($trustdb{$k});
			}
		}
	$trustdb{$trust} = $now;
	dbmclose(%trustdb);
	}


$sharing = $access{'uid'} ? 0 : 1;
&read_acl(undef, \%acl);
$mc = @{$acl{$base_remote_user}};
if (!$gconfig{'gotoone'} || $mc > 1) {
	%minfo = &get_module_info();
	$return = "<param name=return value=\"$gconfig{'webprefix'}/?cat=$minfo{'category'}\">";
	}
print <<EOF;
<script>
function upload(dir)
{
open("upform.cgi?dir="+dir+"&trust=$trust", "upload", "toolbar=no,menubar=no,scrollbar=no,width=450,height=200");
}
</script>

<applet code=FileManager name=FileManager width=100% height=100% MAYSCRIPT>
<param name=root value="$access{'root'}">
<param name=follow value="$access{'follow'}">
<param name=sharing value="$sharing">
<param name=trust value="$trust">
$return
$text{'index_nojava'} <p>
</applet>
EOF
&footer();


   0707010000ebad000081e40000000000000002000000013d1fe2d6000000c2000000200000000000000000000000000000001400000003reloc/file/lang.cgi   #!/usr/local/bin/perl
# lang.cgi
# Return language translation values

require './file-lib.pl';
print "Content-type: text/plain\n\n";
foreach $k (keys %text) {
	print $k,"=",$text{$k},"\n";
	}

  0707010000ebae000081e40000000000000002000000013d1fe2d500000256000000200000000000000000000000000000001400000003reloc/file/list.cgi   #!/usr/local/bin/perl
# list.cgi
# Return a list of files in some directory

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
$d = $in{'dir'} eq "/" ? "" : $in{'dir'};
if (!&can_access($in{'dir'})) {
	print $text{'list_eaccess'},"\n";
	}
elsif (!opendir(DIR, $in{'dir'})) {
	print "$!\n";
	}
else {
	print "\n";
	@files = sort { $a cmp $b } readdir(DIR);
	@files = grep { $_ ne "." && $_ ne ".." } @files;
	@files = grep { &can_access("$d/$_") } @files;
	closedir(DIR);
	foreach $f (".", "..", @files) {
		print &file_info_line("$d/$f"),"\n";
		}
	}

  0707010000ebaf000081e40000000000000002000000013d1fe2d600000936000000200000000000000000000000000000001c00000003reloc/file/list_exports.cgi   #!/usr/local/bin/perl
# list_exports.cgi
# Output info about NFS exports

require './file-lib.pl';
print "Content-type: text/plain\n\n";
if ($access{'uid'}) {
	# User has no access to NFS
	print "0\n";
	exit;
	}

&read_acl(\%acl, undef);
%einfo = &get_module_info("exports");
%dinfo = &get_module_info("dfsadmin");
#%binfo = &get_module_info("bsdexports");	# too hard

if (%einfo && &check_os_support(\%einfo)) {
	# Linux NFS exports
	&module_check("exports");
	if (!&has_command("rpc.nfsd") && !&has_command("nfsd")) {
		print "0\n";
		exit;
		}
	print "1\n";
	&foreign_require("exports", "exports-lib.pl");
	foreach $e (&foreign_call("exports", "list_exports")) {
		push(@{$exp{$e->{'dir'}}}, $e)
			if ($e->{'dir'} !~ /:/ && $e->{'host'} !~ /:/);
		}
	foreach $d (keys %exp) {
		local $host;
		foreach $e (@{$exp{$d}}) {
			local $o = $e->{'options'};
			$host .= sprintf ":%s:%d:%d",
				$e->{'host'} ? $e->{'host'} : '*',
				defined($o->{'ro'}),
				defined($o->{'all_squash'}) ? 0 :
				defined($o->{'no_root_squash'}) ? 2 : 1;
			}
		print $d,$host,"\n";
		}
	}
elsif (%dinfo && &check_os_support(\%dinfo)) {
	# Solaris NFS shares
	&module_check("dfsadmin");
	print "2\n";
	&foreign_require("dfsadmin", "dfs-lib.pl");
	foreach $s (&foreign_call("dfsadmin", "list_shares")) {
		$opts = &foreign_call("dfsadmin", "parse_options",$s->{'opts'});
		$opts->{'ro'} = '-' if (!defined($opts->{'ro'}));
		$opts->{'ro'} =~ s/:/ /g;
		$opts->{'rw'} = '-' if (!defined($opts->{'rw'}));
		$opts->{'rw'} =~ s/:/ /g;
		$opts->{'root'} = '-' if (!defined($opts->{'root'}));
		$opts->{'root'} =~ s/:/ /g;
		printf "%s:%s:%s:%s:%s\n",
			$s->{'dir'}, $opts->{'ro'}, $opts->{'rw'},
			$opts->{'root'}, $s->{'desc'};
		}
	}
elsif (%binfo && &check_os_support(\%binfo)) {
	# BSD NFS exports
	&module_check("bsdexports");
	print "3\n";
	&foreign_require("bsdexports", "bsdexports-lib.pl");
	foreach $e (&foreign_call("bsdexports", "list_exports")) {
		foreach $d (@{$e->{'dirs'}}) {
			printf "%s:%s", $d, $e->{'ro'} ? 1 : 0;
			if ($e->{'network'}) {
				printf ":%s/%s\n",
					$e->{'network'}, $e->{'mask'};
				}
			else {
				foreach $h (@{$e->{'hosts'}}) {
					print ":$h";
					}
				print "\n";
				}
			}
		}
	}
else {
	# No NFS modules installed or supported
	print "0\n";
	}

sub module_check
{
if (!$acl{$base_remote_user,$_[0]}) {
	print "0\n";
	exit;
	}
}

  0707010000ebb0000081e40000000000000002000000013d1fe2d6000004b1000000200000000000000000000000000000001b00000003reloc/file/list_shares.cgi    #!/usr/local/bin/perl
# list_shares.cgi
# Output info about samba shares

require './file-lib.pl';
print "Content-type: text/plain\n\n";
if ($access{'uid'}) {
	# User has no access to samba
	print "0\n";
	exit;
	}

%minfo = &get_module_info("samba");
&read_acl(\%acl, undef);
if (!%minfo || !&check_os_support(\%minfo) ||
    !$acl{$base_remote_user,'samba'}) {
	# Samba module not installed or supported
	print "0\n";
	exit;
	}

&foreign_require("samba", "samba-lib.pl");
%sconfig = &foreign_config("samba");
if (!-r $sconfig{'smb_conf'} || !&has_command($sconfig{'samba_server'})) {
	# Samba not installed
	print "0\n";
	exit;
	}

print "1\n";
foreach $s (&foreign_call("samba", "list_shares")) {
	&foreign_call("samba", "get_share", $s);
	if ($s ne 'global' && $s ne 'homes' && $s ne 'printers' &&
	    $samba::share{'path'} =~ /^\/[^\%\s]*$/ &&
	    $samba::share{'printable'} !~ /true|yes/i) {
		printf "%s:%s:%s:%s:%s\n",
			$samba::share{'path'},
			$samba::share{'available'} =~ /no|false/i ? 0 : 1,
			$samba::share{'writable'} =~ /yes|true/i ? 1 : 0,
			$samba::share{'guest only'} =~ /yes|true/i ? 2 :
			$samba::share{'public'} =~ /yes|true/i ? 1 : 0,
			$samba::share{'comment'};
		}
	}

   0707010000ebb1000081a40000000000000002000000013d1fe2d600000553000000200000000000000000000000000000001900000003reloc/file/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'file-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'export' || $type eq 'share') {
	return &text("log_${action}_${type}",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'save' || $action eq 'chmod' || $action eq 'mkdir' ||
       $action eq 'upload' || $action eq 'delete') {
	return &text("log_${action}",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'link' || $action eq 'move' || $action eq 'copy') {
	return &text("log_${action}",
		     "<tt>".&html_escape($object)."</tt>",
		     "<tt>".&html_escape($p->{'to'})."</tt>");
	}
elsif ($action eq 'relink') {
	return &text('log_relink',
		     "<tt>".&html_escape($object)."</tt>",
		     "<tt>".&html_escape($p->{'linkto'})."</tt>");
	}
elsif ($action eq 'rename') {
	return &text('log_move',
		     "<tt>".&html_escape($object)."</tt>",
		     "<tt>".&html_escape($p->{'new'})."</tt>");
	}
elsif ($action eq 'attr') {
	return &text('log_attr', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'acl') {
	return &text('log_acl', "<tt>".&html_escape($object)."</tt>");
	}
else {
	return undef;
	}
}

 0707010000ebb2000081e40000000000000002000000013d1fe2d500000216000000200000000000000000000000000000001800000003reloc/file/makelink.cgi   #!/usr/local/bin/perl
# makelink.cgi
# Create a symbolic link

require './file-lib.pl';
&ReadParse();
&webmin_log("link", undef, $in{'from'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
&lock_file($in{'from'});
if (!&can_access($in{'from'})) {
	print &text('link_efrom', $in{'from'}),"\n";
	}
elsif ($access{'follow'}) {
	print $text{'link_efollow'},"\n";
	}
elsif (!symlink($in{'to'}, $in{'from'})) {
	print "$!\n";
	}
else {
	print "\n";
	print &file_info_line($in{'from'}),"\n";
	&unlock_file($in{'from'});
	}

  0707010000ebb3000081e40000000000000002000000013d1fe2d5000001c4000000200000000000000000000000000000001500000003reloc/file/mkdir.cgi  #!/usr/local/bin/perl
# mkdir.cgi
# Create a directory

require './file-lib.pl';
&ReadParse();
&webmin_log("mkdir", undef, $in{'dir'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
&lock_file($in{'dir'});
if (!&can_access($in{'dir'})) {
	print &text('mkdir_eaccess', $in{'dir'}),"\n";
	}
elsif (!mkdir($in{'dir'}, 0777)) {
	print "$!\n";
	}
else {
	print "\n";
	print &file_info_line($in{'dir'}),"\n";
	&unlock_file($in{'dir'});
	}


0707010000ebb4000081a40000000000000002000000013d1fe2ea000001ce000000200000000000000000000000000000001700000003reloc/file/module.info    desc_ru_SU=íÅÎÅÄÖÅÒ æÁÊÌÏ×
risk=high
desc_ko_KR.euc=ÆÄÀÏ °ü¸®ÀÚ
desc_zh_TW.Big5=ÀÉ®×ºÞ²zªÌ
desc_pl=Zarz±dzanie plikami
desc_de=Datei-Manager
name=FileManager
desc_zh_CN=ÎÄ¼þ¹ÜÀíÆ÷
desc_pt=Administrador de Ficheiros
desc_tr=Dosya Yöneticisi
desc=File Manager
desc_es=Gestor de Archivos
desc_sv=Filhanterare
desc_fr=Gestionnaire de Fichiers
desc_ja_JP.euc=¥Õ¥¡¥¤¥ë ¥Þ¥Í¡¼¥¸¥ã
depends=0.990
version=0.990
desc_ca=Administrador de Fitxers
desc_ru_RU=Ìåíåäæåð Ôàéëîâ
  0707010000ebb5000081e40000000000000002000000013d1fe2d600000254000000200000000000000000000000000000001400000003reloc/file/move.cgi   #!/usr/local/bin/perl
# move.cgi
# Move some file or directory

require './file-lib.pl';
&ReadParse();
&webmin_log("move", undef, $in{'from'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
unlink($in{'to'}); # in case we are moving a directory
if (!&can_access($in{'to'})) {
	print &text('move_eto', $in{'to'}),"\n";
	exit;
	}
if (!&can_access($in{'from'})) {
	print &text('move_efrom', $in{'from'}),"\n";
	exit;
	}
$out = &backquote_logged("mv \"$in{'from'}\" \"$in{'to'}\" 2>&1");
if ($?) {
	print $out,"\n";
	}
else {
	print "\n";
	print &file_info_line($in{'to'}),"\n";
	}

0707010000ebb6000081e40000000000000002000000013d1fe2d5000001c9000000200000000000000000000000000000001600000003reloc/file/rename.cgi #!/usr/local/bin/perl
# rename.cgi
# Rename some file

require './file-lib.pl';
&ReadParse();
&webmin_log("rename", undef, $in{'old'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'old'})) {
	print &text('rename_eold', $in{'old'}),"\n";
	}
elsif (!&can_access($in{'new'})) {
	print &text('rename_enew', $in{'new'}),"\n";
	}
elsif (!&rename_logged($in{'old'}, $in{'new'})) {
	print "$!\n";
	}
else {
	print "\n";
	}


   0707010000ebb7000081e40000000000000002000000013d1fe2d6000000b0000000200000000000000000000000000000001400000003reloc/file/root.cgi   #!/usr/local/bin/perl
# root.cgi
# Return information about the root directory

require './file-lib.pl';
print "Content-type: text/plain\n\n";
print &file_info_line("/"),"\n";
0707010000ebb8000081e40000000000000002000000013d1fe2d500000225000000200000000000000000000000000000001400000003reloc/file/save.cgi   #!/usr/local/bin/perl
# save.cgi
# Write data to a file

require './file-lib.pl';
$p = $ENV{'PATH_INFO'};
&webmin_log("save", undef, $p) if ($access{'uid'});
&switch_acl_uid();
print "Content-type: text/plain\n\n";
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
&lock_file($p);
if (!&can_access($p)) {
	print &text('edit_eaccess', $p),"\n";
	}
elsif (!open(FILE, ">$p")) {
	print "$!\n";
	}
else {
	print FILE $buf;
	close(FILE);
	&unlock_file($p);
	print "\n";
	print &file_info_line($p),"\n";
	&webmin_log("save", undef, $p) if (!$access{'uid'});
	}

   0707010000ebb9000081e40000000000000002000000013d1fe2d600000f5a000000200000000000000000000000000000001b00000003reloc/file/save_export.cgi    #!/usr/local/bin/perl
# save_export.cgi
# Update, create or delete an NFS export

require './file-lib.pl';
&ReadParse();
print "Content-type: text/plain\n\n";
if ($access{'uid'}) {
	# User has no access to NFS
	print "0\n";
	exit;
	}

&read_acl(\%acl, undef);
%einfo = &get_module_info("exports");
%dinfo = &get_module_info("dfsadmin");
%binfo = &get_module_info("bsdexports");

if (%einfo && &check_os_support(\%einfo)) {
	# Linux NFS exports
	&module_check("exports");
	&foreign_require("exports", "exports-lib.pl");
	%econfig = &foreign_config("exports");
	&lock_file($econfig{'exports_file'});
	foreach $e (&foreign_call("exports", "list_exports")) {
		push(@{$exp{$e->{'dir'}}}, $e);
		}
	if ($in{'delete'}) {
		# Delete all exports for some dir
		foreach $e (reverse(@{$exp{$in{'path'}}})) {
			&foreign_call("exports", "delete_export", $e);
			}
		}
	else {
		# Adding or updating an export
		if (!$in{'new'}) {
			# Updating, so delete old exports first
			foreach $e (reverse(@{$exp{$in{'path'}}})) {
				$host{$e->{'host'}} = $e;
				&foreign_call("exports", "delete_export", $e);
				}
			}
		for($i=0; $in{"host$i"}; $i++) {
			$h = $in{"host$i"} eq '*' ? '' : $in{"host$i"};
			$e = $host{$h};
			$e = { 'active' => 1,
			       'host' => $h,
			       'dir' => $in{'path'} } if (!$e);
			delete($e->{'options'}->{'ro'});
			if ($in{"ro$i"}) {
				$e->{'options'}->{'ro'} = '';
				}
			delete($e->{'options'}->{'all_squash'});
			delete($e->{'options'}->{'no_root_squash'});
			if ($in{"squash$i"} == 0) {
				$e->{'options'}->{'all_squash'} = '';
				}
			elsif ($in{"squash$i"} == 2) {
				$e->{'options'}->{'no_root_squash'} = '';
				}
			&foreign_call("exports", "create_export", $e);
			}
		}
	&unlock_file($econfig{'exports_file'});
	&system_logged("$econfig{'portmap_command'} >/dev/null 2>&1 </dev/null")
		if ($econfig{'portmap_command'});
	&system_logged("($econfig{'restart_command'}) </dev/null >/dev/null 2>&1");
	&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
		    'export', $in{'path'});
	print "1\n";
	}
elsif (%dinfo && &check_os_support(\%dinfo)) {
	# Solaris NFS shares
	&module_check("dfsadmin");
	&foreign_require("dfsadmin", "dfs-lib.pl");
	%iconfig = &foreign_config("dfsadmin");
	&lock_file($iconfig{'dfstab_file'});
	@shlist = &foreign_call("dfsadmin", "list_shares");
	foreach $s (@shlist) {
		$share = $s if ($s->{'dir'} eq $in{'path'});
		}
	if ($in{'delete'}) {
		# Delete existing share
		&foreign_call("dfsadmin", "delete_share", $share);
		}
	elsif ($in{'new'}) {
		# Create new share
		foreach $r ('ro', 'rw', 'root') {
			if ($in{$r} ne '-') {
				$in{$r} =~ s/\s+/:/g;
				$opts->{$r} = $in{$r};
				}
			}
		$share->{'dir'} = $in{'path'};
		$share->{'desc'} = $in{'desc'};
		$share->{'opts'} =
			&foreign_call("dfsadmin", "join_options", $opts);
		&foreign_call("dfsadmin", "create_share", $share);
		}
	else {
		# Update existing share
		$opts = &foreign_call("dfsadmin", "parse_options",
				      $share->{'opts'});
		foreach $r ('ro', 'rw', 'root') {
			if ($in{$r} eq '-') { delete($opts->{$r}); }
			else {
				$in{$r} =~ s/\s+/:/g;
				$opts->{$r} = $in{$r};
				}
			}
		$share->{'dir'} = $in{'path'};
		$share->{'desc'} = $in{'desc'};
		$share->{'opts'} =
			&foreign_call("dfsadmin", "join_options", $opts);
		&foreign_call("dfsadmin", "modify_share", $share);
		}
	&unlock_file($iconfig{'dfstab_file'});

	# Apply changes to NFS daemon
	&system_logged("$iconfig{'unshare_all_command'} >/dev/null 2>&1");
	&system_logged("$iconfig{'share_all_command'} >/dev/null 2>&1");
	&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
		    'export', $in{'path'});
	print "1\n";
	}
elsif (%binfo && &check_os_support(\%binfo)) {
	# BSD NFS exports
	&module_check("bsdexports");
	}
else {
	# No NFS modules installed or supported
	print "0\n";
	}

sub module_check
{
if (!$acl{$base_remote_user,$_[0]}) {
	print "0\n";
	exit;
	}
}

  0707010000ebba000081e40000000000000002000000013d1fe2d6000009e6000000200000000000000000000000000000001a00000003reloc/file/save_share.cgi #!/usr/local/bin/perl
# save_share.cgi
# Create, update or delete a samba share

require './file-lib.pl';
&ReadParse();
print "Content-type: text/plain\n\n";
if ($access{'uid'}) {
	# User has no access to samba
	print "0\n";
	exit;
	}

%minfo = &get_module_info("samba");
&read_acl(\%acl, undef);
if (!%minfo || !&check_os_support(\%minfo) ||
    !$acl{$base_remote_user,'samba'}) {
	# Samba module not installed or supported
	print "0\n";
	exit;
	}

&foreign_require("samba", "samba-lib.pl");
%sconfig = &foreign_config("samba");
&lock_file($sconfig{'smb_conf'});
@shares = &foreign_call("samba", "list_shares");

if ($in{'delete'}) {
	# Deleting an old share
	foreach $s (@shares) {
		&foreign_call("samba", "get_share", $s);
		if ($samba::share{'path'} &&
		    $samba::share{'path'} eq $in{'path'}) {
			&foreign_call("samba", "delete_share", $s);
			last;
			}
		}
	print "1\n";
	}
elsif ($in{'new'}) {
	# Creating a new share
	map { $taken{$_}++ } @shares;
	if ($in{'path'} =~ /\/([^\/]+)$/) {
		$base = $1;
		}
	else {
		$base = "root";
		}
	if ($taken{$base}) {
		for($i=2; $taken{$base.$i}; $i++) { }
		$base = $base.$i;
		}
	$samba::share{'path'} = $in{'path'};
	$samba::share{'available'} = $in{'available'} ? 'yes' : 'no';
	$samba::share{'writable'} = $in{'writable'} ? 'yes' : 'no';
	$samba::share{'comment'} = $in{'comment'};
	if ($in{'guest'} == 2) {
		$samba::share{'public'} = 'yes';
		$samba::share{'guest only'} = 'yes';
		}
	elsif ($in{'guest'} == 1) {
		$samba::share{'public'} = 'yes';
		}
	&foreign_call("samba", "create_share", $base);
	print "1\n";
	}
else {
	# Updating an existing share
	foreach $s (@shares) {
		&foreign_call("samba", "get_share", $s);
		if ($samba::share{'path'} &&
		    $samba::share{'path'} eq $in{'path'}) {
			# found the share to update
			$samba::share{'available'} = $in{'available'} ? 'yes'
								      : 'no';
			$samba::share{'writable'} = $in{'writable'} ? 'yes'
								    : 'no';
			$samba::share{'comment'} = $in{'comment'};
			if ($in{'guest'} == 2) {
				$samba::share{'public'} = 'yes';
				$samba::share{'guest only'} = 'yes';
				}
			elsif ($in{'guest'} == 1) {
				$samba::share{'public'} = 'yes';
				delete($samba::share{'guest only'});
				}
			else {
				delete($samba::share{'public'});
				delete($samba::share{'guest only'});
				}
			&foreign_call("samba", "modify_share", $s, $s);
			last;
			}
		}
	print "1\n";
	}
&unlock_file($sconfig{'smb_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'share', $in{'path'});

  0707010000ebbb000081e40000000000000002000000013d1fe2d6000002ed000000200000000000000000000000000000001600000003reloc/file/search.cgi #!/usr/local/bin/perl
# search.cgi
# Find files under some directory

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'dir'})) {
	print $text{'search_eaccess'},"\n";
	}

$in{'dir'} =~ s/^\/+/\//g;
if ($in{'dir'} eq '/') {
	$in{'dir'} =~ s/\/$//;
	}
$cmd = "find $in{'dir'} -name \"$in{'match'}\"";
if ($in{'type'}) {
	$cmd .= " -type $in{'type'}";
	}
if ($in{'user'}) {
	$cmd .= " -user $in{'user'}";
	}
if ($in{'group'}) {
	$cmd .= " -group $in{'group'}";
	}
if ($in{'size'}) {
	$cmd .= " -size $in{'size'}";
	}
if ($in{'xdev'}) {
	$cmd .= " -xdev";
	}

print "\n";
open(CMD, "$cmd 2>/dev/null |");
while($f = <CMD>) {
	chop($f);
	print &file_info_line($f),"\n";
	}
close(CMD);

   0707010000ebbc000081e40000000000000002000000013d1fe2d600000374000000200000000000000000000000000000001800000003reloc/file/setattrs.cgi   #!/usr/local/bin/perl
# setattrs.cgi
# Sets all the attributes for a file

require './file-lib.pl';
&ReadParse();
&webmin_log("attr", undef, $in{'file'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	# Set given attribs
	$temp = &tempname();
	for($i=0; defined($n = $in{"name$i"}); $i++) {
		$v = $in{"value$i"};
		open(TEMP, ">$temp");
		print TEMP $v;
		close(TEMP);
		$out = `attr -s '$n' '$in{'file'}' <$temp 2>&1`;
		unlink($temp);
		if ($?) {
			print $out,"\n";
			exit;
			}
		$set{$n}++;
		}

	# Remove those that no longer exist
	$out = `attr -l '$in{'file'}' 2>&1`;
	foreach $l (split(/[\r\n]+/, $out)) {
		if ($l =~ /Attribute\s+"(.*)"/i && !$set{$1}) {
			$out = `attr -r '$1' '$in{'file'}' 2>&1`;
			if ($?) {
				print $out,"\n";
				exit;
				}
			}
		}
	print "\n";
	}

0707010000ebbd000081e40000000000000002000000013d1fe2d60000017f000000200000000000000000000000000000001600000003reloc/file/setext.cgi #!/usr/local/bin/perl
# setext.cgi
# Sets the EXT attributes for some file

require './file-lib.pl';
&ReadParse();
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	$cmd = "chattr '=$in{'attrs'}' '$in{'file'}'";
	$out = `$cmd 2>&1`;
	if ($?) {
		print $out,"\n";
		}
	else {
		print "\n";
		}
	}

 0707010000ebbe000081e40000000000000002000000013d1fe2d600000334000000200000000000000000000000000000001700000003reloc/file/setfacl.cgi    #!/usr/local/bin/perl
# setfacl.cgi
# Sets the ACLs for some file

require './file-lib.pl';
&ReadParse();
&webmin_log("acl", undef, $in{'file'}, \%in);
&switch_acl_uid();
print "Content-type: text/plain\n\n";
if (!&can_access($in{'file'})) {
	print $text{'facl_eaccess'},"\n";
	}
else {
	pipe(ACLINr, ACLINw);
	pipe(ACLOUTr, ACLOUTw);
	$pid = fork();
	if (!$pid) {
		untie(*STDIN);
		untie(*STDOUT);
		untie(*STDERR);
		open(STDIN, "<&ACLINr");
		open(STDOUT, ">&ACLOUTw");
		open(STDERR, ">&ACLOUTw");
		close(ACLINw);
		close(ACLOUTr);
		exec("$config{'setfacl'} '$in{'file'}'");
		print "Exec failed : $!\n";
		exit(1);
		}
	close(ACLINr);
	close(ACLOUTw);
	print ACLINw $in{'acl'},"\n";
	close(ACLINw);
	waitpid($pid, 0);
	$rv = <ACLOUTr>;
	close(ACLOUTr);
	if ($rv) {
		print $rv;
		}
	else {
		print "\n";
		}
	}

0707010000ebbf000081e40000000000000002000000013d1fe2d50000059e000000200000000000000000000000000000001400000003reloc/file/show.cgi   #!/usr/local/bin/perl
# show.cgi
# Output some file for the browser

require './file-lib.pl';
&ReadParse();
use POSIX;
$p = $ENV{'PATH_INFO'};
if ($in{'type'}) {
	# Use the supplied content type
	$type = $in{'type'};
	}
else {
	# Try to guess type from filename
	if ($p =~ /\.([^\.\/]+)$/) {
		$ext = lc($1);
		&get_miniserv_config(\%miniserv);
		open(MIME, $miniserv{'mimetypes'});
		while(<MIME>) {
			s/#.*//g;
			if (/(\S+)\s+(.*)/) {
				foreach $e (split(/\s+/, $2)) {
					if ($ext eq $e) {
						$type = $1;
						last;
						}
					}
				}
			}
		close(MIME);
		}
	if (!$type) {
		# No idea .. use the 'file' command
		if (`file "$p"` =~ /text|script/) {
			$type = "text/plain";
			}
		else {
			$type = "application/unknown";
			}
		}
	}

# Dump the file
&switch_acl_uid();
if (!&can_access($p)) {
	print "Content-type: text/plain\n\n";
	$err = &text('view_eaccess', $p)."\n";
	print "Content-length: ",length($err),"\n";
	print $err;
	}
elsif (!open(FILE, $p)) {
	print "Content-type: text/plain\n\n";
	$err = &text('view_eopen', $p, $!)."\n";
	print "Content-length: ",length($err),"\n";
	print $err;
	}
else {
	@st = stat($p);
	print "Content-length: $st[7]\n";
	print "Content-type: $type\n\n";
	if ($type =~ /^text\/html/i && !$in{'edit'}) {
		while(read(FILE, $buf, 1024)) {
			$data .= $buf;
			}
		print &filter_javascript($data);
		}
	else {
		while(read(FILE, $buf, 1024)) {
			print $buf;
			}
		}
	close(FILE);
	}

  0707010000ebc0000081e40000000000000002000000013d1fe2d600000373000000200000000000000000000000000000001600000003reloc/file/upform.cgi #!/usr/local/bin/perl
# upform.cgi
# Display the upload form

require './file-lib.pl';
&ReadParse();
&header($text{'upload_title'});
print "<form action=upload.cgi enctype=multipart/form-data method=post>\n";
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'upload_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>$text{'upload_file'}</b></td>\n";
print "<td><input type=file name=file size=20></td> </tr>\n";
print "<tr> <td><b>$text{'upload_dir'}</b></td>\n";
print "<td><input name=dir size=20 value='$in{'dir'}'>\n",
      "<input type=submit value=\"$text{'upload_ok'}\"></td> </tr>\n";
print "<tr> <td><b>$text{'upload_conv'}</b></td>\n";
print "<td><input type=radio name=dos value=1> $text{'yes'}\n";
print "<input type=radio name=dos value=0 checked> $text{'no'}</td> </tr>\n";
print "</table></td></tr></table>\n";
 0707010000ebc1000081e40000000000000002000000013d1fe2d60000036d000000200000000000000000000000000000001600000003reloc/file/upload.cgi #!/usr/local/bin/perl
# upload.cgi
# Upload a file

require './file-lib.pl';
&header();
&ReadParseMime();

if (!$in{'file'}) {
	print "<p><b>$text{'upload_efile'}</b><p>\n";
	}
elsif (!-d $in{'dir'}) {
	print "<p><b>$text{'upload_edir'}</b><p>\n";
	}
else {
	$in{'file_filename'} =~ /([^\\\/]+)$/;
	$path = "$in{'dir'}/$1";
	&webmin_log("upload", undef, $path);
	&switch_acl_uid();
	if (!&can_access($path)) {
		print "<p><b>",&text('upload_eperm', $path),"</b><p>\n";
		}
	elsif (!open(FILE, ">$path")) {
		print "<p><b>",&text('upload_ewrite', $path, $!),"</b><p>\n";
		}
	else {
		if ($in{'dos'}) {
			$in{'file'} =~ s/\r\n/\n/g;
			}
		print FILE $in{'file'};
		close(FILE);
		$info = &file_info_line($path);
		print "<script>\n";
		print "opener.document.FileManager.",
		      "upload_notify(\"$path\", \"$info\");\n";
		print "close();\n";
		print "</script>\n";
		}
	}
   0707010004828f000041ed0000000000000001000000053d1ffa3b00000000000000200000000000000000000000000000000d00000003reloc/format  07070100048290000081a40000000000000002000000013d1fe2c30000042c000000200000000000000000000000000000001d00000003reloc/format/acl_security.pl  
require 'format-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the format module
sub acl_security_form
{
local @dlist = &list_disks();
local ($d, %dcan);
map { $dcan{$_}++ } split(/\s+/, $_[0]->{'disks'});
print "<tr> <td valign=top><b>$text{'acl_disks'}</b></td> <td>\n";
printf "<input type=radio name=disks_def value=1 %s> %s\n",
	$_[0]->{'disks'} eq '*' ? 'checked' : '', $text{'acl_dall'};
printf "<input type=radio name=disks_def value=0 %s> %s<br>\n",
	$_[0]->{'disks'} eq '*' ? '' : 'checked', $text{'acl_dsel'};
print "<select name=disks size=4 multiple>\n";
foreach $d (@dlist) {
	$d->{'device'} =~ s/^.*\///;
	printf "<option value='%s' %s>%s\n",
		$d->{'device'},
		$dcan{$d->{'device'}} ? "selected" : "",
		"$d->{'desc'} ($d->{'type'})";
	}
print "</select></td> </tr>\n";
}

# acl_security_save(&options)
# Parse the form for security options for the format module
sub acl_security_save
{
if ($in{'disks_def'}) {
	$_[0]->{'disks'} = "*";
	}
else {
	$_[0]->{'disks'} = join(" ", split(/\0/, $in{'disks'}));
	}
}

07070100048291000081a40000000000000002000000013d1fe2c400000054000000200000000000000000000000000000001400000003reloc/format/config   metastat_path=/usr/opt/SUNWmd/sbin/metastat
metadb_path=/usr/opt/SUNWmd/sbin/metadb
07070100048292000081a40000000000000002000000013d1fe2c30000005a000000200000000000000000000000000000001900000003reloc/format/config.info  metastat_path=Full path to <tt>metastat</tt>,0
metadb_path=Full path to <tt>metadb</tt>,0
  07070100048293000081a40000000000000002000000013d1fe2c40000005c000000200000000000000000000000000000001c00000003reloc/format/config.info.ca   metastat_path=Full path to <tt>metastat</tt>,0
metadb_path=Full path to <tt>metadb</tt>,0


07070100048294000081a40000000000000002000000013d1fe2c300000064000000200000000000000000000000000000001c00000003reloc/format/config.info.de   metastat_path=Absoluter Pfad zu <tt>metastat</tt>,0
metadb_path=Absoluter Pfad zu <tt>metadb</tt>,0
07070100048295000081a40000000000000002000000013d1fe2c30000006e000000200000000000000000000000000000001c00000003reloc/format/config.info.es   metastat_path=Trayectoria completa a <tt>metastat</tt>,0
metadb_path=Trayectoria completa a <tt>metadb</tt>,0
  07070100048296000081a40000000000000002000000013d1fe2c300000068000000200000000000000000000000000000001c00000003reloc/format/config.info.fr   metastat_path=Chemin complet pour <tt>metastat</tt>,0
metadb_path=Chemin complet pour <tt>metadb</tt>,0
07070100048297000081a40000000000000002000000013d1fe2c400000064000000200000000000000000000000000000001c00000003reloc/format/config.info.hu   metastat_path=A <tt>metastat</tt> teljes £tvonala,0
metadb_path=A <tt>metadb</tt> teljes £tvonala,0
07070100048298000081a40000000000000002000000013d1fe2c400000062000000200000000000000000000000000000001c00000003reloc/format/config.info.pl   metastat_path=Pe³na ¶cie¿ka do <tt>metastat</tt>,0
metadb_path=Pe³na ¶cie¿ka do <tt>metadb</tt>,0
  07070100048299000081a40000000000000002000000013d1fe2c300000070000000200000000000000000000000000000001c00000003reloc/format/config.info.sv   metastat_path=Fullständig sökväg till <tt>metastat</tt>,0
metadb_path=Fullständig sökväg till <tt>metadb</tt>,0
0707010004829a000081a40000000000000002000000013d1fe2c400000059000000200000000000000000000000000000001c00000003reloc/format/config.info.tr   metastat_path=<tt>metastat</tt>'ýn tam yolu,0
metadb_path=<tt>metadb</tt>'nin tam yolu,0
   0707010004829b000081a40000000000000002000000013d1fe2c400000052000000200000000000000000000000000000001f00000003reloc/format/config.info.zh_CN    metastat_path=<tt>metastat</tt> µÄÈ«Â·¾¶,0
metadb_path=<tt>metadb</tt> µÄÈ«Â·¾¶,0
  0707010004829c000081a40000000000000002000000013d1fe2c40000005c000000200000000000000000000000000000002400000003reloc/format/config.info.zh_TW.Big5   metastat_path=¨ì <tt>metastat</tt> ªº§¹¾ã¸ô®|,0
metadb_path=¨ì <tt>metadb</tt> ªº§¹¾ã¸ô®|,0
0707010004829d000081e40000000000000002000000013d1fe2c300000aa7000000200000000000000000000000000000002000000003reloc/format/copy_part_form.cgi   #!/usr/local/bin/perl
# copy_part_form.cgi
# Display a form for copying the partitions map of this disk to otthers

require './format-lib.pl';
&ReadParse();
&header("Copy Partition Map", "");
print "<hr>\n";
$extwidth = 400;

print "This form allows you to copy the partition map from this disk\n";
print "to others of the same size. This is useful for setting up disks\n";
print "for use as parts of a RAID or mirrored MetaDisk.<p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Partition</b></td> <td><b>Tag</b></td>\n";
print "<td><b>Extent</b></td> <td><b>Start</b></td> <td><b>End</b></td></tr>\n";
@dlist = &list_disks();
@dinfo = split(/\s+/, $dlist[$in{disk}]); $cyl = $dinfo[2];
@plist = &list_partitions($in{disk});
for($i=0; $i<@plist; $i++) {
	@p = split(/\s+/, $plist[$i]);
	print "<tr $cb> <td>$i</td> <td>$p[0]</td>\n";
	if ($p[3]) {
		printf "<td><img src=images/gap.gif height=10 width=%d>",
			$extwidth*$p[2]/$cyl;
		printf "<img src=images/use.gif height=10 width=%d>",
			$extwidth*($p[3]-$p[2])/$cyl;
		printf "<img src=images/gap.gif height=10 width=%d></td>\n",
			$extwidth*($cyl-$p[3])/$cyl;
		print "<td>$p[2]</td> <td>$p[3]</td> </tr>\n";
		}
	else { print "<td colspan=3><br></td>\n"; }
	print "</tr>\n";
	}
print "</table><p>\n";

# find all disks that are not in use
print "Select the disks to copy this partition map to..<br>\n";
print "<form action=copy_part.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb><td></td> <td><b>Disk Type</b></td> <td><b>Cylinders</b></td>\n";
print "     <td><b>Controller</b></td> <td><b>Target</b></td>\n";
print "     <td><b>Unit</b></td> <td><b>Device</b></td> <td><br></td> </tr>\n";
for($i=0; $i<@dlist; $i++) {
	print "<tr $cb> <td width=20>";
	@d = split(/\s+/, $dlist[$i]);
	undef($err);
	if ($d[2] ne $cyl) { $err = "Different disk size"; }
	elsif ($i == $in{disk}) { $err = "Source disk"; }
	else {
		@plist = split(/\s+/, &list_partitions($i));
		for($j=0; $j<@plist; $j++) {
			$dev = "/dev/dsk/$d[0]s$j";
			if (&device_status($dev)) {
				$err = "Currently in use";
				}
			}
		}

	if (!$err) { print "<input type=checkbox name=disk$i>\n"; }
	else { print "<br>"; }
	print "</td>\n";

	print "<td>$d[1]</td> <td>$d[2]</td>\n";
	$d[0] =~ /c(\d+)t(\d+)d(\d+)/;
	print "<td>$1</td> <td>$2</td> <td>$3</td> <td>$d[0]</td>\n";
	if ($err) { print "<td><font color=#ff0000>$err</font></td> </tr>\n"; }
	else { print "<td><font color=#00ff00>Possible target</font></td> </tr>\n"; }
	if (!$err) { $foundone = 1; }
	}
print "</table><p>\n";
if ($foundone) { print "<input type=submit value=Copy>\n"; }
else { print "No disks are possible targets for copying.\n"; }
print "</form>\n";

print "<hr>\n";
&footer("", "disk list");

 0707010004829e000081a40000000000000002000000013d1fe2c300000013000000200000000000000000000000000000001800000003reloc/format/defaultacl   noconfig=0
disks=*
 0707010004829f000081e40000000000000002000000013d1fe2c300000a67000000200000000000000000000000000000001b00000003reloc/format/edit_disk.cgi    #!/usr/local/bin/perl
# edit_disk.cgi
# Display information about a disk, with links to low-level format,
# repair and other dangerous options

require './format-lib.pl';
&header("Edit Disk", "");
print "<hr>\n";
print "<table width=100%><tr> <td valign=top>\n";
$d = $ARGV[0];

@dlist = &list_disks();
@dinfo = split(/\s+/, $dlist[$d]);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Disk Details</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>Disk Type:</b></td> <td>$dinfo[1]</td> </tr>\n";
print "<tr> <td><b>Device:</b></td> <td><tt>/dev/dsk/$dinfo[0]</tt></td> </tr>\n";

print "<tr> <td valign=top><b>SCSI:</b></td>\n";
$dinfo[0] =~ /c(\d+)t(\d+)d(\d+)/;
print "<td><table>\n";
print "<tr> <td>Controller</td> <td>$1</td> </tr>\n";
print "<tr> <td>Target</td> <td>$2</td> </tr>\n";
print "<tr> <td>Unit</td> <td>$3</td> </tr></table></td> </tr>\n";

print "<tr> <td valign=top><b>Vendor:</b></td>\n";
@inq = &disk_info($d);
print "<td><table>\n";
print "<tr> <td>Name</td> <td>$inq[0]</td> </tr>\n";
print "<tr> <td>Product</td> <td>$inq[1]</td> </tr>\n";
print "<tr> <td>Revision</td> <td>$inq[2]</td> </tr></table></td> </tr>\n";
print "</table></td></tr></table>\n";

print "</td> <td valign=top>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td colspan=2><b>Disk Tasks</b></td> </tr>\n";
@plist = &list_partitions($d);
for($i=0; $i<@plist; $i++) {
	@stat = &device_status("/dev/dsk/$dinfo[0]s$i");
	if (@stat) { $inuse = 1; }
	if ($stat[2]) { $mounted = 1; }
	}

print "<tr $cb> <form action=format_form.cgi>\n";
print "<td valign=top><b>Format Disk</b><br>\n";
if (!$inuse) {
	print "<input type=hidden name=disk value=$d>\n";
	print "<input type=submit value=\"Format\"></td>\n";
	print "<td>Does a low level format of the disk, permanently erasing\n";
	print "all data. This is only necessary if the disk has not been\n";
	print "formatted by the vendor.</td> </tr>\n";
	}
else {
	print "</td> <td>You cannot format this disk because it contains\n";
	print "filesystems that are in the system mount list.</td> </tr>\n";
	}
print "</form> </tr>\n";

print "<tr $cb> <form action=copy_part_form.cgi>\n";
print "<td valign=top><b>Copy Partitions</b><br>\n";
print "<input type=hidden name=disk value=$d>\n";
print "<input type=submit value=\"Copy\"></td>\n";
print "<td>Copy the partition map from this disk to other disks. This\n";
print "is useful if you have a large number of disks that need the same\n";
print "partition layout, such as for a MetaDisk array.</td> </tr>\n";
print "</form> </tr>\n";

print "</table>\n";

print "</td> </tr></table><p>\n";
print "<hr>\n";
&footer("", "disk list");

 070701000482a0000081e40000000000000002000000013d1fe2c4000012e3000000200000000000000000000000000000001b00000003reloc/format/edit_part.cgi    #!/usr/local/bin/perl
# edit_part.cgi
# Edit an existing partition

require './format-lib.pl';
$d = $ARGV[0]; $p = $ARGV[1];
@dlist = &list_disks();
$dinfo = $dlist[$d];
&can_edit_disk($dinfo->{'device'}) || &error($text{'edit_ecannot'});
&header($text{'edit_title'}, "");
print "<hr>\n";
print "<table width=100%><tr> <td valign=top>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<form action=save_part.cgi><tr $cb><td><table>\n";
print "<input type=hidden name=disk value=$d>\n";
print "<input type=hidden name=part value=$p>\n";
@plist = &list_partitions($dinfo->{'device'});
$pinfo = $plist[$p];
$new = !$pinfo->{'end'};

$dinfo->{'device'} =~ /c(\d+)t(\d+)d(\d+)/;
print "<tr> <td><b>$text{'edit_location'}</b></td>\n";
print "<td>$pinfo->{'desc'}</td> </tr>\n";

$dev = $pinfo->{'device'};
print "<tr> <td><b>$text{'edit_dev'}</b></td> <td><tt>$dev</tt></td> </tr>\n";

print "<tr> <td><b>$text{'edit_type'}</b></td> <td><select name=tag>\n";
foreach $t (&list_tags()) {
	printf "<option %s>$t\n", $t eq $pinfo->{'tag'} ? "selected" : "";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'edit_flags'}</b></td>\n";
printf "<td nowrap><input type=checkbox name=writable value=1 %s> %s\n",
	$pinfo->{'flag'} =~ /^w.$/ ? "checked" : "", $text{'edit_w'};
printf "<input type=checkbox name=mountable value=1 %s> %s</td> </tr>\n",
	$pinfo->{'flag'} =~ /^.m$/ ? "checked" : "", $text{'edit_m'};

print "<tr> <td><b>$text{'edit_extent'}</b></td>\n";
printf "<td nowrap><input name=start size=6 value=\"%s\"> - \n",
	$pinfo->{'end'} ? $pinfo->{'start'} : "";
printf "<input name=end size=6 value=\"%s\">\n",
	$pinfo->{'end'} ? $pinfo->{'end'} : "";
print "of $dinfo->{'cyl'}</td> </tr>\n";

if ($pinfo->{'end'}) {
	print "<tr> <td><b>$text{'edit_stat'}</b></td>\n";
	@stat = &device_status($dev);
	if ($stat[1] eq "meta") {
		print "<td>$text{'edit_meta'}</td> </tr>\n";
		}
	elsif ($stat[1] eq "metadb") {
		print "<td>$text{'edit_metadb'}</td> </tr>\n";
		}
	elsif (@stat) {
		local $msg = $stat[2] ? 'edit_mount' : 'edit_umount';
		$msg .= 'vm' if ($stat[1] eq 'swap');
		print "<td>",&text($msg, "<tt>$stat[0]</tt>",
				   "<tt>$stat[1]</tt>"),"</td> </tr>\n";
		}
	else { print "<td>$text{'edit_nouse'}</td> </tr>\n"; }

	if ($stat[1] !~ /^meta/) {
		print "<tr> <td><b>$text{'edit_fs'}</b></td>\n";
		$fs = &filesystem_type($dev);
		printf "<td>%s</td> </tr>\n", $fs ? &fstype_name($fs) : "None";
		}
	}

print "</table></td></tr></table><p>\n";
if (@stat) { print "<b>$text{'edit_inuse'}</b>.\n"; }
elsif ($new) {
	print "<input type=submit value=\"$text{'edit_setup'}\">\n";
	}
else {
	print "<input type=submit value=\"$text{'edit_change'}\">\n";
	print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
	}
print "</form>\n";

print "</td> <td valign=top>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td colspan=2><b>$text{'edit_tasks'}</b></td> </tr>\n";

print "<tr $cb> <form action=newfs_form.cgi>\n";
print "<td valign=top nowrap><b>$text{'edit_newfs'}</b><br>\n";
if (!$new && (!@stat || $stat[2] == 0)) {
	print "<input type=hidden name=dev value=$dev>\n";
	print "<input type=submit value=\"$text{'create'}\"></td>\n";
	print "<td>$text{'edit_newdesc1'}</td>\n";
	}
elsif ($new) {
	print "</td> <td>$text{'edit_newdesc2'}</td>\n";
	}
else {
	print "</td> <td>$text{'edit_newdesc3'}</td>\n";
	}
print "</form> </tr>\n";


print "<tr $cb> <form action=fsck_form.cgi>\n";
print "<td valign=top><b>$text{'edit_fsckfs'}</b><br>\n";
if (!$new && (!@stat || $stat[2] == 0) && $fs eq "ufs") {
	print "<input type=hidden name=dev value=$dev>\n";
	print "<input type=submit value=\"$text{'edit_fsck'}\"></td>\n";
	print "<td>$text{'edit_fsckdesc1'}</td>\n";
	}
elsif ($new) {
	print "</td> <td>$text{'edit_fsckdesc2'}</td>\n";
	}
elsif (@stat && $stat[2]) {
	print "</td> <td>$text{'edit_fsckdesc3'}</td>\n";
	}
elsif (!$fs) {
	print "</td> <td>$text{'edit_fsckdesc4'}</td>\n";
	}
else {
	print "</td> <td>$text{'edit_fsckdesc5'}</td>\n";
	}
print "</form> </tr>\n";

print "<tr $cb> <form action=tunefs_form.cgi>\n";
print "<td valign=top><b>$text{'edit_tunefs'}</b><br>\n";
if (!$new && (!@stat || $stat[2] == 0) && $fs eq "ufs") {
	print "<input type=hidden name=dev value=$dev>\n";
	print "<input type=submit value=\"$text{'edit_tune'}\"></td>\n";
	print "<td>$text{'edit_tunedesc1'}</td>\n";
	}
elsif ($new) {
	print "</td> <td>$text{'edit_tunedesc2'}</td>\n";
	}
elsif (@stat && $stat[2]) {
	print "</td> <td>$text{'edit_tunedesc3'}</td>\n";
	}
elsif (!$fs) {
	print "</td> <td>$text{'edit_tunedesc4'}</td>\n";
	}
elsif ($fs ne "ufs") {
	print "</td> <td>$text{'edit_tunedesc5'}</td>\n";
	}
print "</form> </tr>\n";

print "</table>\n";
print "</td></tr></table>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

 070701000482a1000081a40000000000000002000000013d1fe2c400002350000000200000000000000000000000000000001b00000003reloc/format/format-lib.pl    # format-lib.pl
# Common functions for partitioning and formatting disks under solaris

do '../web-lib.pl';
&init_config();
&foreign_require("mount", "mount-lib.pl");
&foreign_require("proc", "proc-lib.pl");

%access = &get_module_acl();
$| = 1;

# list_disks()
# Returns a list of structures, one per disk
sub list_disks
{
local(@rv);
local $temp = &tempname();
open(TEMP, ">$temp");
print TEMP "disk\n";
close(TEMP);
open(FORMAT, "format -f $temp |");
while(1) {
	local $rv = &wait_for(FORMAT, 'Specify', '\s+\d+\. (\S+) <(.*) cyl (\d+) alt (\d+) hd (\d+) sec (\d+)>\s*(\S*)', '\s+\d+\. (\S+) <drive type unknown>', 'space for more');
	if ($rv == 0) { last; }
	elsif ($rv == 1) {
		local $disk = { 'device' => "/dev/dsk/$matches[1]",
			    	'type' => $matches[2] eq 'DEFAULT' ?
					  undef : $matches[2],
			    	'cyl' => $matches[3],
			    	'alt' => $matches[4],
			    	'hd' => $matches[5],
			    	'sec' => $matches[6],
			    	'volume' => $matches[7] };
		if ($matches[1] =~ /c(\d+)t(\d+)d(\d+)$/) {
			$disk->{'desc'} = &text('select_device',
						"$1", "$2", "$3");
			}
		elsif ($matches[1] =~ /c(\d+)d(\d+)$/) {
			$disk->{'desc'} = &text('select_idedevice',
					    	chr($1*2 + $2 + 65));
			}
		push(@rv, $disk);
		}
	}
close(FORMAT);
unlink($temp);
return @rv;
}

# disk_info(disk)
# Returns an array containing a disks vendor, product and revision
sub disk_info
{
local(@rv);
&open_format();
&choose_disk($_[0]);
&fast_wait_for($fh, 'format>');
&wprint("inquiry\n");
&wait_for($fh, 'Vendor:\s+(.*)\r\nProduct:\s+(.*)\r\nRevision:\s+(.*)\r\n');
@rv = ($matches[1],$matches[2],$matches[3]);
&wait_for($fh, 'format>');
return @rv;
}

# list_partitions(device)
# Returns a list of structures, one per partition
sub list_partitions
{
local(@rv, $secs, $i);
local @tag = &list_tags();
open(VTOC, "prtvtoc $_[0]s0 |");
while(<VTOC>) {
	if (/(\d+)\s+sectors\/cylinder/) {
		$secs = $1;
		}
	if (/^\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) {
		local $n = $1;
		local $part = { 'tag' => $tag[$2],
				'flag' => $3 eq "00" ? "wm" :
					  $3 eq "01" ? "wu" :
					  $3 eq "10" ? "rm" : "ru",
				'start' => int($4 / $secs),
				'end' => int($6 / $secs),
				'device' => $_[0]."s$n" };
		$rv[$n] = $part;
		}
	}
close(VTOC);
for($i=0; $i<8 || $i<@rv; $i++) {
	$rv[$i] = { 'tag' => 'unassigned',
		    'flag' => 'wm',
		    'device' => $_[0]."s$i" } if (!$rv[$i]);
	if ($_[0] =~ /c(\d+)t(\d+)d(\d+)$/) {
		$rv[$i]->{'desc'} = &text('select_part',
					  "$1", "$2", "$3", $i);
		}
	elsif ($_[0] =~ /c(\d+)d(\d+)$/) {
		$rv[$i]->{'desc'} = &text('select_idepart',
				    	  chr($1*2 + $2 + 65), $i);
		}
	}
return @rv;

#&open_format();
#&choose_disk($_[0]);
#if (!&wait_for($fh, 'unformatted', 'formatted')) { return (); }
#&wait_for($fh, 'format>');
#&wprint("partition\n");
#&wait_for($fh, 'partition>');
#&wprint("print\n");
#&wait_for($fh, 'Blocks\r\n');
#while(&wait_for($fh, 'partition>', '\s+\d+\s+(\S+)\s+(\S+)\s+(\d+)(\s+-\s+(\d+))?.*\r\n')) {
#	local $part = { 'tag' => $matches[1],
#			'flag' => $matches[2],
#			'start' => $matches[3],
#			'end' => $matches[5] ? $matches[5] : $matches[3] };
#	if ($matches[1] =~ /c(\d+)t(\d+)d(\d+)s(\d+)$/) {
#		$part->{'desc'} = &text('select_part', "$1", "$2", "$3", "$4");
#		}
#	push(@rv, $part);
#	}
#&wprint("quit\n");
#&wait_for($fh, 'format>');
#return @rv[0..7];
}

# modify_partition(disk, partition, tag, flag, start, end)
# Changes an existing partition
sub modify_partition
{
`uname -m` =~ /sun/i || &error($text{'esun'});
local(@rv);
&open_format();
&choose_disk($_[0]);
&wait_for($fh, 'format>');
&wprint("partition\n");
&wait_for($fh, 'partition>');
&wprint("$_[1]\n");
&wait_for($fh, 'Enter.*:'); &wprint("$_[2]\n");
&wait_for($fh, 'Enter.*:'); &wprint("$_[3]\n");
&wait_for($fh, 'Enter.*:'); &wprint("$_[4]\n");
&wait_for($fh, 'Enter.*:');
if ($_[4] || $_[5]) { &wprint(($_[5]-$_[4]+1)."c\n"); }
else {
	# deleting this partition..
	&wprint("0\n");
	}
&wait_for($fh, 'partition>');
&wprint("label\n");
if (&wait_for($fh, 'continue', 'Cannot')) {
	&error($text{'emounted'});
	}
&wprint("y\n");
if (&wait_for($fh, 'partition>', 'no backup labels')) {
	&error($text{'elast'});
	}
&wprint("quit\n");
&wait_for($fh, 'format>');
}

# list_tags()
# Returns a list of all known tags
sub list_tags
{
return ("unassigned", "boot", "root", "swap",
	"usr", "backup", "stand", "var", "home", "alternates", "cache");

}

# device_status(device)
# Returns the mount point, type and status of some device. Uses the mount module
# to query the list of known and mounted filesystems
sub device_status
{
@mounted = &foreign_call("mount", "list_mounted") if (!@mounted);
@mounts = &foreign_call("mount", "list_mounts") if (!@mounts);
local ($mounted) = grep { $_->[1] eq $_[0] } @mounted;
local ($mount) = grep { $_->[1] eq $_[0] } @mounts;
if ($mounted) { return ($mounted->[0], $mounted->[2], 1,
			&indexof($mount, @mounts),
			&indexof($mounted, @mounted)); }
elsif ($mount) { return ($mount->[0], $mount->[2], 0,
			 &indexof($mount, @mounts)); }
else {
	&metamap_init();
	if ($metastat{$_[0]}) { return ("meta", "meta", 1); }
	if ($metadb{$_[0]}) { return ("meta", "metadb", 1); }
	return ();
	}
}


# fstype_name(type)
# Returns a human-readable filesystem name
sub fstype_name
{
return $text{"fstype_$_[0]"} ? $text{"fstype_$_[0]"}
			     : $text{'fstype_unknown'};
}

# filesystem_type(device)
# Calls fstyp to get the filesystem on some device
sub filesystem_type
{
local($out);
chop($out = `fstyp $_[0] 2>&1`);
if ($out =~ /^\S+$/) { return $out; }
return undef;
}

# fsck_error(code)
# Translate an error code from fsck
sub fsck_error
{
return $text{"fsck_$_[0]"} ? $text{"fsck_$_[0]"} : $text{'fsck_unknown'};
}


#############################################################################
# Internal functions
#############################################################################
# open_format()
# Internal function to run the 'format' command
sub open_format
{
return if ($format_already_open);
($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "format");
while(1) {
	local $rv = &wait_for($fh, 'Specify.*:', 'no disks found', 'space for more');
	if ($rv == 0) { last; }
	elsif ($rv == 1) { &error($text{'eformat'}); }
	else { &wprint(" "); }
	}
&wprint("0\n");
&wait_for($fh, 'format>');
$format_already_open++;
}

sub wprint
{
syswrite($fh, $_[0], length($_[0]));
}

sub opt_input
{
print $_[2] ? "<tr>" : "";
print "<td align=right><b>$text{$_[0]}</b></td> <td nowrap>\n";
print "<input type=radio name=$_[0]_def value=1 checked> $text{'default'}\n";
print "&nbsp; <input type=radio name=$_[0]_def value=0>\n";
print "<input name=$_[0] size=6> $_[1]</td>";
print $_[2] ? "\n" : "</tr>\n";
}

sub opt_check
{
if ($in{"$_[0]_def"}) { return ""; }
elsif ($in{$_[0]} !~ /^$_[1]$/) {
	&error(&text('opt_error', $in{$_[0]}, $text{$_[0]}));
	}
else { return " $_[2] $in{$_[0]}"; }
}

# metamap_init()
# internal function to build %metastat and %metadb arrays
sub metamap_init
{
if ($done_metamap_init) { return; }
$done_metamap_init = 1;
if (-x $config{metastat_path} && -x $config{metadb_path}) {
	open(METASTAT, "$config{metastat_path} 2>&1 |");
	while(<METASTAT>) {
		if (/(c\d+t\d+d\d+s\d+)/) { $metastat{"/dev/dsk/$1"}++; }
		}
	close(METASTAT);
	open(METADB, "$config{metadb_path} -i 2>&1 |");
	while(<METADB>) {
		if (/(c\d+t\d+d\d+s\d+)/) { $metadb{"/dev/dsk/$1"}++; }
		}
	close(METADB);
	}
}

sub choose_disk
{
&wprint("disk\n");
while(&wait_for($fh, 'Specify.*:', 'space for more')) {
	&wprint(" ");
	}
&wprint("$_[0]\n");
}

# can_edit_disk(device)
sub can_edit_disk
{
$_[0] =~ /(c\d+t\d+d\d+)/;
foreach (split(/\s+/, $access{'disks'})) {
	return 1 if ($_ eq "*" || $_ eq $1);
	}
return 0;
}

# partition_select(name, value, mode, &found)
# Returns HTML for selecting a disk or partition
# mode 0 = disk partitions
#      1 = disks
#      2 = disks and disk partitions
sub partition_select
{
local $rv = "<select name=$_[0]>\n";
local ($found, $d, $p);
local @dlist = &list_disks();
foreach $d (@dlist) {
	if ($_[0] > 2) {
		local $name = $d->{'desc'};
		$name .= " ($d->{'type'})" if ($d->{'type'});
		$rv .= sprintf "<option value=%s %s>%s\n",
			$d->{'device'},
			$_[1] eq $d->{'device'} ? "selected" : "", $name;
		$found++ if ($_[1] eq $d->{'device'});
		}
	if ($_[0] != 1) {
		local @parts = &list_partitions($d->{'device'});
		foreach $p (@parts) {
			local $name = $p->{'desc'};
			next if (!$p->{'end'});
			$name .= " ($p->{'tag'})" if ($p->{'tag'});
			$rv .= sprintf "<option %s value=%s>%s\n",
				$_[1] eq $p->{'device'} ? "selected" : "",
				$p->{'device'}, $name;
			$found++ if ($_[1] eq $p->{'device'});
			}
		}
	}
if (!$found && $_[1] && !$_[3]) {
	$rv .= "<option selected>$_[1]\n";
	}
if ($_[3]) {
	${$_[3]} = $found;
	}
$rv .= "</select>\n";
return $rv;
}

# disk_space(device)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
local $out = `df -k $_[0] 2>&1`;
$out =~ /(\/dev\/\S+)\s+(\d+)\s+\S+\s+(\d+)/ || return ();
return ($2, $3);
}

070701000482a2000081e40000000000000002000000013d1fe2c300000229000000200000000000000000000000000000001600000003reloc/format/fsck.cgi #!/usr/local/bin/perl
# fsck.cgi
# Do the actual checking of a filesystem

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'fsck_ecannot'});
&header($text{'fsck_title'}, "");
print "<hr>\n";
$in{dev} =~ s/dsk/rdsk/g;
$cmd = "fsck -F ufs $in{mode} $in{dev}";

print &text('fsck_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
open(FSCK, "$cmd 2>&1 </dev/null |");
while(<FSCK>) { print; }
close(FSCK);
print "</pre>\n";
print "... ",&fsck_error($?/256),"<p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000482a3000081e40000000000000002000000013d1fe2c400000376000000200000000000000000000000000000001b00000003reloc/format/fsck_form.cgi    #!/usr/local/bin/perl
# fsck_form.cgi
# Display a form asking for fsck options

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'fsck_ecannot'});
&header($text{'fsck_title'}, "");
print "<hr>\n";

$fs = &filesystem_type($in{'dev'});
print "<form action=fsck.cgi>\n";
print "<input type=hidden name=dev value=\"$in{dev}\">\n";
print &text('fsck_desc', &fstype_name($fs), "<tt>$in{'dev'}</tt>"),"<p>\n";

print "<input type=radio name=mode value=\"-m\">\n";
print "$text{'fsck_mode0'}<br>\n";

print "<input type=radio name=mode value=\"-n\">\n";
print "$text{'fsck_mode1'}<br>\n";

print "<input type=radio name=mode value=\"-y\" checked>\n";
print "$text{'fsck_mode2'}<br><p>\n";

print "<div align=center><input type=submit ",
      "value=\"$text{'fsck_repair'}\"></div>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010004dca2000041ed0000000000000001000000023d1ffa3a00000000000000200000000000000000000000000000001200000003reloc/format/help 0707010004dd03000081a40000000000000002000000013d1fe2c3000000c9000000200000000000000000000000000000001f00000003reloc/format/help/help.ca.html    <body bgcolor=#ffffff>
<h1>L'ajuda d'aquest mòdul encara no està feta</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>

   0707010004dd0c000081a40000000000000002000000013d1fe2c3000000cd000000200000000000000000000000000000001f00000003reloc/format/help/help.es.html    <body bgcolor=#ffffff>
<h1>La Ayuda para este módulo aún no está hecha</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Volver a módulo</a><p>
 

   0707010004dd14000081a40000000000000002000000013d1fe2c3000000c7000000200000000000000000000000000000001c00000003reloc/format/help/help.html   <body bgcolor=#ffffff>
<h1>Help for this module is not done yet</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 0707010004dd32000081a40000000000000002000000013d1fe2c3000000cc000000200000000000000000000000000000001f00000003reloc/format/help/help.sv.html    <body bgcolor=#ffffff>
<h1>Det finns ingen hjälp till denna modul än</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

0707010004dd33000081a40000000000000002000000013d1fe2c3000000b1000000200000000000000000000000000000002700000003reloc/format/help/help.zh_TW.Big5.html    <body bgcolor=#ffffff>
<h1>³o­Ó¼Ò²Õªº»¡©ú©|¥¼§¹¦¨</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>
 

   0707010004f3ac000041ed0000000000000001000000023d1ffa3a00000000000000200000000000000000000000000000001400000003reloc/format/images   0707010004f45b000081a40000000000000002000000013d1fe2c30000002c000000200000000000000000000000000000001c00000003reloc/format/images/gap.gif   GIF89a 
 €     ÿÿÿ!ù   ,     
  Œ ;0707010004f45c000081a40000000000000002000000013d1fe2c300000134000000200000000000000000000000000000001d00000003reloc/format/images/icon.gif  GIF89a0 0 ¡  ÿÿÿfff™™™ÌÌÌ!ù    ,    0 0  þ„©Ëí£4¡Ú¦¦Vø
×æTá‰Š™éº+¸ð­Î¤£vE«ñz'KP6$ætÞåöT}ÌÉÔ$•¸ÉV9‹ÇÐÃ&«×ž·Ž³gç$Ï‹eºâ[Å§'Ç÷±ð•2¨×öGÔ§¨fÖØ³÷±hi8IIv3Vè×âèÉ™ºÙ7š’zè	ëŠJº×ªÙYËÙ7§[
Š€–ûë|ð[\yLqu²öÙc%=Íˆ«ü+¨ý‡ˆ)¨+éÍš­JhÉ+8÷4^LMC_ÿ½_ëÝ<Áœ>IÙcQÐà@‚Ë¼9 ®ß¿{ìÖ-|ˆàÆ;:(  ;0707010004f45d000081a40000000000000002000000013d1fe2c300000024000000200000000000000000000000000000001c00000003reloc/format/images/use.gif   GIF87a 
 €  ÿ     ,     
  „ ;070701000482a4000081e40000000000000002000000013d1fe2c400000bb2000000200000000000000000000000000000001700000003reloc/format/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display a list of known disks and partitions

require './format-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("format", "man"));
print "<hr>\n";
$extwidth = 250;

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_disk'}</b></td> ",
      "<td><b>$text{'index_parts'}</b></td> </tr>\n";
@dlist = &list_disks();
for($i=0; $i<@dlist; $i++) {
	$dl = $dlist[$i];
	next if (!&can_edit_disk($dl->{'device'}));
	print "<tr $cb> <td valign=top><table>\n";
	print "<tr> <td><b>$text{'index_location'}</b></td> ";
	print "<td>$dl->{'desc'}</td> </tr>\n";
	print "<tr> <td><b>$text{'index_cyl'}</b></td>\n";
	print "<td>$dl->{'cyl'}</td> </tr>\n";
	print "<tr> <td><b>$text{'index_model'}</b></td> ";
	print "<td>",$dl->{'type'} ? $dl->{'type'} : $text{'index_unknown'},
	      "</td> </tr>\n";
	print "</table></td> <td valign=top>\n";
	if (!$dl->{'device'}) {
		# Drive type unknown..
		print "<b>$text{'index_unknown2'}</b>\n";
		}
	elsif (@parts = &list_partitions($dl->{'device'})) {
		# Known and formatted..
		print "<table width=100%>\n";
		print "<tr> <td><b>$text{'index_no'}</b></td> ",
		      "<td><b>$text{'index_type'}</b></td> ",
		      "<td><b>$text{'index_extent'}</b></td> ",
		      "<td><b>$text{'index_start'}</b></td> ",
		      "<td><b>$text{'index_end'}</b></td> ",
		      "<td><b>$text{'index_use'}</b></td> ",
		      "<td><b>$text{'index_free'}</b></td> </tr>\n";
		for($j=0; $j<@parts; $j++) {
			$p = $parts[$j];
			print "<tr> <td><a href=\"edit_part.cgi?$i+$j\">$j</a>",
			      "</td> <td>$p->{'tag'}</td> <td>\n";
			if ($p->{'end'} != 0) {
				printf
				  "<img src=images/gap.gif height=10 width=%d>",
				  $extwidth*$p->{'start'}/$dl->{'cyl'};
				printf
				  "<img src=images/use.gif height=10 width=%d>",
				  $extwidth*($p->{'end'}-$p->{'start'})/
				  $dl->{'cyl'};
				printf
				  "<img src=images/gap.gif height=10 width=%d>",
				  $extwidth*($dl->{'cyl'}-$p->{'end'})/
				  $dl->{'cyl'};
				print "</td> <td>$p->{'start'}</td> ",
				      "<td>$p->{'end'}</td> <td>\n";
				@stat = &device_status($p->{'device'});
				if ($stat[1] =~ /^meta/) {
					print "MetaDisk\n";
					}
				elsif ($stat[0] && $stat[3] == -1) {
					print "<tt><a href=/mount/edit_mount.cgi?index=$stat[4]&temp=1&return=/$module_name/>$stat[0]</a></tt>\n";
					}
				elsif ($stat[0]) {
					print "<tt><a href=/mount/edit_mount.cgi?index=$stat[3]&return=/$module_name/>$stat[0]</a></tt>\n";
					}
				print "</td> <td>\n";
				if ($stat[0] ne 'swap' &&
				    (@space = &disk_space($p->{'device'})) &&
				    $space[0]) {
					printf "%d %%\n",
					       100 * $space[1] / $space[0];
					}
				print "</td> </tr>\n";
				}
			else { print "<td colspan=5></td>\n"; }
			}
		print "</table>\n";
		}
	else {
		# Disk is not formatted.. 
		print "<b>$text{'index_format'}</b>\n";
		}
	print "</td> </tr>\n";
	}
print "</table><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  07070100050b19000041ed0000000000000001000000023d1ffa3b00000000000000200000000000000000000000000000001200000003reloc/format/lang 07070100050b1a000081a40000000000000002000000013d1fe2c300001a6a000000200000000000000000000000000000001500000003reloc/format/lang/ca  index_title=Particions dels Discs Locals
index_disk=Disc
index_parts=Particions
index_location=Ubicació
index_model=Model
index_unknown=Desconegut
index_cyl=Cilindres
index_unknown2=Tipus de disc desconegut
index_no=Nª
index_type=Tipus
index_extent=Extensió
index_start=Inici
index_end=Fi
index_use=Usat
index_free=Lliure
index_format=Aquest disc no està formatat
index_return=a la llista de discs

edit_title=Edició de Partició
edit_ecannot=No tens permís per editar aquest disc
edit_header=Detalls de la Partició
edit_location=Ubicació
edit_dev=Dispositiu
edit_type=Tipus
edit_flags=Opcions
edit_w=Lectura/Escriptura
edit_m=Muntable
edit_extent=Extensió
edit_stat=Estat
edit_meta=Part de MetaDisk
edit_metadb=Part de la base de dades MetaDisk
edit_mount=Muntat a $1 com $2
edit_mountvm=Muntat com a memòria virtual
edit_umount=Per muntar a $1 com $2
edit_umountvm=Per muntar com a memòria virtual
edit_nouse=Sense ús
edit_fs=Sistema de fitxers
edit_inuse=Aquesta partició no es pot canviar, ja que està en ús
edit_setup=Configuració
edit_change=Canvia
edit_tasks=Tasques de Partició
edit_newfs=Nou Sistema de Fitxers
edit_newdesc1=Construeix un nou sistema de fitxers en aquesta partició, esborrant de forma permanent qualsevol fitxer existent. Has de fer-ho després de crear una nova partició o canviar-ne una d'existent.
edit_newdesc2=No pots crear un nou sistema de fitxers en aquesta partició, ja que encara no s'ha configurat.
edit_newdesc3=No pots crear un nou sistema de fitxers en aquesta partició, ja que està actualment muntada. Fes servir el <a href=/mount/>mòdul de sistemes de fitxers</a> per desmuntar abans aquesta partició.
edit_fsckfs=Reparació de Sistema de Fitxers
edit_fsck=Repara
edit_fsckdesc1=Crida el programa <tt>fsck</tt> per reparar un sistema de fitxers per tal que pugui ser muntat. Això pot ser necessari si el sistema no s'ha tancat apropiadament.
edit_fsckdesc2=No pots verificar el sistema de fitxers d'aquesta partició perquè encara no s'ha configurat.
edit_fsckdesc3=No pots verificar el sistema de fitxers d'aquesta partició perquè està muntat. Fes servir el <a href=/mount/>mòdul de sistemes de fitxers</a> per desmuntar-lo abans.
edit_fsckdesc4==No pots verificar el sistema de fitxers d'aquesta partició perquè no en conté cap.
edit_fsckdesc5==No pots verificar el sistema de fitxers d'aquesta partició perquè només es poden verificar els sistemes de fitxers <tt>UFS</tt>.
edit_tunefs=Sintonització de Sistema de Fitxers
edit_tune=Sintonitza
edit_tunedesc1=Permet modificar diversos paràmetres d'un sistema de fitxers existent
edit_tunedesc2=No pots sintonitzar el sistema de fitxers d'aquesta partició perquè encara no s'ha configurat.
edit_tunedesc3=No pots sintonitzar el sistema de fitxers d'aquesta partició perquè està muntat. Fes servir el <a href=/mount/>mòdul de sistemes de fitxers</a> per desmuntar-lo abans.
edit_tunedesc4=No pots sintonitzar el sistema de fitxers d'aquesta partició perquè no en té cap.
edit_tunedesc5=No pots sintonitzar el sistema de fitxers d'aquesta partició perquè només es poden sintonitzar els sistemes de fitxers <tt>UFS</tt>.

save_ecannot=No tens permís per editar aquest disc
save_edelete=No he pogut suprimir la partició
save_esave=No he pogut desar la partició
save_estart='$1' no és un cilindre inicial vàlid
save_eend='$1' no és un cilindre final
save_estartmin=El cilindre inicial ha de ser > 0
save_eendmax=El cilindre final ha de ser < $1
save_estartend=EL cilindre inicial ha de ser menor que el final

newfs_title=Creació de Sistema de Fitxers
newfs_ecannot=No tens permís per formatar aquest disc
newfs_desc=Fent clic sobre el botó al peu del formulari es construirà un nou $1 al dispositiu $2. Totes les dades d'aquesta partició seran esborrades de forma permanent.
newfs_warn=Aquesta partició està muntada a $1. Crear un nou sistema de fitxers esborrarà tots els fitxers que estaven prèviament accessibles sota aquest directori.
newfs_header=Opcions de Sistema de Fitxers
ufs_a=Blocs / cilindres esgrunats
ufs_b=Mida de bloc lògic
ufs_c=Cilindres / grup
ufs_d=Retard rotacional
ufs_f=Mida del fragment
ufs_i=Mida de l'inode
ufs_m=Espai reservat
ufs_n=Posicions rotacionals
ufs_o=Optimitza per
newfs_space=Espai
newfs_time=Temps
ufs_r=Velocitat del disc
ufs_s=Mida del sistema de fitxers
ufs_t=Pistes / cilindres
ufs_cb=Nombre màxim de blocs contigus
newfs_create=Crea Sistema de Fitxers
newfs_err=No he pogut crear el sistema de fitxers
newfs_exec=Executant l'ordre $1...
newfs_failed=...l'ordre ha fallat!
newfs_ok=...ordre completa.

fsck_title=Reparació de Sistema de Fitxers
fsck_ecannot=No tens permís per reparar aquest disc
fsck_desc=Fent clic sobre el botó <b>Repara</b> e s verificarà i, opcionalment, repararà el $1 a $2. El nivell de verificació i reparació es determina per la tria inferior.
fsck_mode0=Informa només de l'estat del sistema de fitxers.
fsck_mode1=Verifica tot el sistema de fitxers, però no corregeixis cap error.
fsck_mode2=Verifica i corregeix tots els errors trobats al sistema de fitxers.
fsck_repair=Repara
fsck_exec=Executant l'ordre $1...
fsck_0=no s'ha detectat cap error
fsck_1=paràmetres incorrectes
fsck_32=el sistema de fitxers necessita verificació
fsck_34=no puc obrir el dispositiu
fsck_36=s'han detectat errors no corregibles
fsck_37=procés mort durant la verificació
fsck_39=s'han detectat errors no corregibles!
fsck_40=no s'ha detectat cap error
fsck_unknown=error desconegut

tunefs_title=Sintonització de Sistema de Fitxers
tunefs_ecannot=No tens permís per sintonitzar aquest disc
tunefs_desc=Aquest formulari permet ajustar diversos paràmetres del $1 a $2. Els fitxers existents d'aquest sistema no seran malmesos.
tunefs_header=Paràmetres de Sintonització
tunefs_opt=Optimitza per
tunefs_space=Espai
tunefs_time=Temps
tunefs_tune=Sintonitza el Sistema de Fitxers
tunefs_a=Nombre màxim de blocs contigus
tunefs_d=Retard rotacional
tunefs_e=Nombre màxim de blocs de fitxer per grup de cilindres
tunefs_m=Espai reservat
tunefs_err=No he pogut sintonitzar el sistema de fitxers
tunefs_exec=Executant l'ordre $1...
tunefs_failed=...l'ordre ha fallat!
tunefs_ok=...ordre completa.

select_device=Controladora SCSI $1 objectiu $2 unitat $3
select_idedevice=Dispositiu IDE $1
select_part=Controladora SCSI $1 objectiu $2 unitat $3 partició $4
select_idepart=Dispositiu IDE $1 partició $2
opt_error='$1' no és una $2 vàlida
esun=Les particions només es poden modificar en el maquinari de Sun
emounted=El disc té particions muntades
elast=La darrera partició no es pot treure
eformat=<tt>format</tt> no ha trobat cap disc!

fstype_ufs=Sistema de Fitxers Unix Solaris
fstype_unknown=Sistema de fitxers desconegut

acl_disks=Discs que aquest usuari pot particionar i formatar
acl_dall=Tots els discs
acl_dsel=Seleccionats...



  07070100050b1b000081a40000000000000002000000013d1fe2c300001c33000000200000000000000000000000000000001500000003reloc/format/lang/de  index_title=Partitionen auf lokalen Festplatten
index_disk=Festplatte
index_parts=Partitionen
index_location=Ort
index_model=Modell
index_unknown=Unbekannt
index_cyl=Zylinder
index_unknown2=Festplattentyp unbekannt
index_no=Nr.
index_type=Typ
index_extent=Gr&ouml;sse
index_start=Beginn
index_end=Ende
index_use=Benutzt
index_free=Frei
index_format=Diese Festplatte ist nicht formattiert
index_return=Festplattenliste

edit_title=Partition bearbeiten
edit_ecannot=Sie sind nicht berechtigt diese Festplatte zu bearbeiten.
edit_header=Detailangaben zur Partition
edit_location=Ort
edit_dev=Ger&auml;t
edit_type=Typ
edit_flags=Flags
edit_w=kann beschrieben werden
edit_m=kann gemountet werden 
edit_extent=Gr&ouml;sse
edit_stat=Status
edit_meta=Teil einer MetaDisk
edit_metadb=Teil einer MetaDisk Datenbank
edit_mount=Gemountet auf $1 als $2
edit_mountvm=Gemountet als Virtueller Speicher
edit_umount=Zum Mounten auf $1 als $2
edit_umountvm=Zum Mounten als virtueller Speicher
edit_nouse=unbenutzt
edit_fs=Dateisystem
edit_inuse=Diese Partition kann nicht ge&auml;ndert werde, da sie gerade benutzt wird.
edit_setup=Einrichten
edit_change=&Auml;ndern
edit_tasks=Partition Tasks
edit_newfs=Neues Dateisystem
edit_newdesc1=Erstellt ein neues Dateisystem auf dieser Partition und l&ouml;scht alle bestehenden Dateien dauerhaft. Dies muss nach dem Erstellen einer neuen Partition oder nach der &Auml;nderung einer bestehenden Partition ausgef&uuml;hrt werden 
edit_newdesc2=Sie k&ouml;nnen kein neues Dateisystem anlegen da es nicht erstellt ist.
edit_newdesc3=Sie k&ouml;nnen kein neues Dateisystem erstellen, da es zur Zeit gemountet ist. Benutzen Sie das <a href=/mount/> Dateisystemmodul </a> um diese Partition zu unmounten 
edit_fsckfs=Dateisystem reparieren
edit_fsck=Reparieren
edit_fsckdesc1=Ruft das <tt>FSCK</tt> Programm auf, um das Dateisystem zu reparieren damit es gemountet werden kann. Dies kann notwendig sein, wenn das System nicht korrekt heruntergefahren wurde.
edit_fsckdesc2=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht pr&uuml;fen, es wurde bisher nicht erstellt.
edit_fsckdesc3=Sie k&ouml;nnen das Dateisystem auf dieser Partition  nicht pr&uuml;fen, da es zur Zeit gemountet ist. Benutzen Sie das <a href=/mount/> Dateisystemmodul </a> um es erst zu unmounten.
edit_fsckdesc4=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht pr&uuml;fen, sie hat kein Dateisystem. 
edit_fsckdesc5=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht pr&uuml;fen, da nur <tt>UFS</tt> Dateisystem gepr&uuml;ft werden k&ouml;nnen.
edit_tunefs=Dateisystem einstellen
edit_tune=Einstellen
edit_tunedesc1=Erlaubt Ihnen verschiedene Parameter des bestehenden Dateisystems zu &auml;ndern
edit_tunedesc2=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht einstellen, da es bisher nicht erstellt wurde
edit_tunedwsc3=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht einstellen, da es zur Zeit gemountet ist. Benutzen Sie das <a href=/mount/> Dateisystemmodul </a> zum Unmounten.
edit_tunedesc4=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht einstellen, da diese Partition kein Dateisystem hat. 
edit_tunedesc5=Sie k&ouml;nnen das Dateisystem auf dieser Partition nicht einstellen, da nur <tt>UFS</tt> Dateisysteme eingestellt werden k&ouml;nnen.

save_ecannot=Es ist Ihnen nicht erlaubt diese Festplatte zu &auml;ndern
save_edelete=Partition konnte nicht gel&ouml;scht werden
save_esave=Partition konnte nicht gespeichert werden
save_estart='$1' ist kein g&uuml;ltiger Startzylinder
save_eend='$1' ist kein g&uuml;ltiger Endzylinder
save_estartmin=Der Startzylinder muss > 0 sein
save_eendmax=Der Endzylinder muss < $1 sein
save_estartend=Der Startzylinder muss kleiner als der Endzylinder sein

newfs_title=Dateisystem erzeugen
newfs_ecannot=Es ist Ihnen nicht erlaubt diese Festplatte zu formatieren
newfs_desc=Das Anklicken des Knopfes am unteren Endes des frormulars erstellt ein neues $1 auf Ger&auml;t $2. Alle Daten auf dieser Partition werden endg&uuml;tig gel&ouml;scht. 
newfs_warn=Diese Partition wurde auf $1 gemountet. Das Erzeugen eines neuen Dateisystems wird alle Dateien,  uf die man fr&uuml;her unter diesem Verzeichnis zugreifen konnte l&ouml;schen.
newfs_header=Dateisystem Optionen
ufs_a=Ersatzblocks / -Zylinder
ufs_b=Logische Blockgr&ouml;sse
ufs_c=Zylinder / Gruppe
ufs_d=Rotationsverz&ouml;gerung
ufs_f=Fragment Gr&ouml;sse
ufs_i=Inode Gr&ouml;sse
ufs_m=reservierter Platz
ufs_n=Rotational positions
ufs_o=Optimiere f&uuml;r
newfs_space=Space
newfs_time=Zeit
ufs_r=Festplattengeschwindigkeit
ufs_s=Dateisystem Gr&ouml;sse
ufs_t=Spuren / Zylinder
ufs_cb=max. Anzahl benachbarter Bl&ouml;cke
newfs_create=Erstelle Dateisystem
newfs_err=Dateisystem konnte nicht erstellt werden
newfs_exec=F&uuml;hre Kommando $1 aus ..
newfs_failed=.. Kommando konnte nicht ausgef&uuml;hrt werden
newfs_ok=.. Kommando beendet.

fsck_title=Dateisystem reparieren
fsck_ecannot=Sie sind nicht berechtigt diese Festplatte zu reparieren
fsck_desc=Clicking the <b>Repair</b> button will check and optionally repair the $1 on $2. The level of checking and repair is determined by your choice below.
fsck_mode0=Zeige nur den Dateisystem Status an.
fsck_mode1=Pr&uuml;fe das gesamte Dateisystem auf Fehler, aber koorigiere keine der gefundenen Fehler.
fsck_mode2=Pr&uuml;fe auf und korrigiere alle gefundenen Fehler auf dem gesamten Dateisystem
fsck_repair=Reparieren
fsck_exec=F&uuml;hre Kommando $1 aus ..
fsck_0=keine Fehler gefunden
fsck_1=falsche Parameter
fsck_32=Dateisystem muss gepr&uuml;ft werden
fsck_34=kann das Ger&auml;t nicht &ouml;nnen
fsck_36=nicht behebbare Fehler gefunden
fsck_37=Prozeese w&auml;hren der Pr&uuml;fung abgebrochen
fsck_39=nicht behebbare Fehler gefunden!
fsck_40=keine Fehler gefunden
fsck_unknown=unbekannter Fehler

tunefs_title=Dateisystemeinstellungen
tunefs_ecannot=Sie sind nicht berechtigt die Einstellungen auf dieser Festplatte einzustellen.
tunefs_desc=This form allows you to adjust various parameters of the $1 on $2. Existing files on this filesystem will not be harmed.
tunefs_header=Einstellbare Parameter
tunefs_opt=Optimiere f&uuml;r
tunefs_space=Gr&ouml;sse
tunefs_time=Zeit
tunefs_tune=Dateisystem einstellen
tunefs_a=max. Anzahl zusammenh&auml;ngender Bl&ouml;cke
tunefs_d=Rotationsverz&ouml;gerung
tunefs_e=max. Datei Bl&ouml;cke pro Zylindergruppe
tunefs_m=Reservieter Bereich
tunefs_err=Dateisystem konnte nicht eingestellt werden
tunefs_exec=F&uuml;hre  Kommando $1 aus ..
tunefs_failed=.. Kommando konnte nicht ausgef&uuml;hrt werden!
tunefs_ok=.. Kommando beendet .

select_device=SCSI-Controller $1 Ziel $2 Ger&auml;t $3
select_part=SCSI-Controller $1 Ziel $2 Ger&auml;t $3 Partition $4
select_idedevice=IDE Ger&auml;t $1
select_idepart=IDE Ger&auml;t $1 Partition $2
opt_error='$1' ist kein g&uuml;ltiges $2
esun=Partitionen k&ouml;nnen nur auf SUN Hardware ge&auml;ndert werden
emounted=Festplatte hat gemountete Partitionen
elast=Die letzte PArtition konnte nicht entfernt werden
eformat=<tt>Format</tt> konnte keine Festplatten finden!

fstype_ufs=Solaris Unix Dateisystem
fstype_unknown=Unbekanntes Dateisystem

acl_disks=Disks this user can partition and format
acl_dall=All disks
acl_dsel=Selected..
 07070100050b1c000081a40000000000000002000000013d1fe2c300001789000000200000000000000000000000000000001500000003reloc/format/lang/en  index_title=Partitions on Local Disks
index_disk=Disk
index_parts=Partitions
index_location=Location
index_model=Model
index_unknown=Unknown
index_cyl=Cylinders
index_unknown2=Disk type unknown
index_no=No.
index_type=Type
index_extent=Extent
index_start=Start
index_end=End
index_use=Use
index_free=Free
index_format=This disk is not formatted
index_return=disk list

edit_ecannot=You are not allowed to edit this disk
edit_title=Edit Partition
edit_header=Partition Details
edit_location=Location
edit_dev=Device
edit_type=Type
edit_flags=Flags
edit_w=Writable
edit_m=Mountable
edit_extent=Extent
edit_stat=Status
edit_meta=Part of MetaDisk
edit_metadb=Part of MetaDisk database
edit_mount=Mounted on $1 as $2
edit_mountvm=Mounted as virtual memory
edit_umount=For mounting on $1 as $2
edit_umountvm=For mounting as virtual memory
edit_nouse=Not in use
edit_fs=Filesystem
edit_inuse=This partition cannot be changed as it is currently in use
edit_setup=Setup
edit_change=Change
edit_tasks=Partition Tasks
edit_newfs=New Filesystem
edit_newdesc1=Builds a new filesystem on this partition, permanently erasing any existing files. You must do this after creating a new partition or changing an existing one.
edit_newdesc2=You cannot build a new filesystem on this partition as it has not been setup yet.
edit_newdesc3=You cannot build a new filesystem on this partition as it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount this partition first.
edit_fsckfs=Repair Filesystem
edit_fsck=Repair
edit_fsckdesc1=Calls the <tt>fsck</tt> program to repair a filesystem so that it can be mounted. This may be necessary if your system was not shut down properly.
edit_fsckdesc2=You cannot check the filesystem on this partition because it has not been setup yet.
edit_fsckdesc3=You cannot check the filesystem on this partition because it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount it first.
edit_fsckdesc4=You cannot check the filesystem on this partition because it does not have a filesystem.
edit_fsckdesc5=You cannot check the filesystem on this partition because only <tt>UFS</tt> filesystems can be checked.
edit_tunefs=Tune Filesystem
edit_tune=Tune
edit_tunedesc1=Allows you to modify various parameters of an existing filesystem
edit_tunedesc2=You cannot tune the filesystem on this partition because it has not been setup yet.
edit_tunedesc3=You cannot tune the filesystem on this partition because it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount it first.
edit_tunedesc4=You cannot tune the filesystem on this partition because it does not have a filesystem.
edit_tunedesc5=You cannot tune the filesystem on this partition because only <tt>UFS</tt> filesystems can be tuned.

save_ecannot=You are not allowed to edit this disk
save_edelete=Failed to delete partition
save_esave=Failed to save partition
save_estart='$1' is not a valid starting cylinder
save_eend='$1' is not a valid ending cylinder
save_estartmin=The starting cylinder must be > 0
save_eendmax=The ending cylinder must be < $1
save_estartend=The starting cylinder must be less than the ending

newfs_title=Create Filesystem
newfs_ecannot=You are not allowed to format this disk
newfs_desc=Clicking the button at the bottom of this form will build a new $1 on the device $2. All data on this partition will be permanently erased.
newfs_warn=This partition has been mounted on $1. Creating a new filesystem will erase all files that were previously accesible under this directory.
newfs_header=Filesystem Options
ufs_a=Spare blocks / cylinder
ufs_b=Logical block size
ufs_c=Cylinders / group
ufs_d=Rotational delay
ufs_f=Fragment size
ufs_i=Inode size
ufs_m=Reserved space
ufs_n=Rotational positions
ufs_o=Optimize for
newfs_space=Space
newfs_time=Time
ufs_r=Disk speed
ufs_s=Filesystem size
ufs_t=Tracks / cylinder
ufs_cb=Max contiguous blocks
newfs_create=Create Filesystem
newfs_err=Failed to create filesystem
newfs_exec=Executing command $1 ..
newfs_failed=.. command failed!
newfs_ok=.. command complete.

fsck_title=Repair Filesystem
fsck_ecannot=You are not allowed to repair this disk
fsck_desc=Clicking the <b>Repair</b> button will check and optionally repair the $1 on $2. The level of checking and repair is determined by your choice below.
fsck_mode0=Only report the filesystem status.
fsck_mode1=Check the entire filesystem for errors, but do not fix any errors found.
fsck_mode2=Check for and fix any errors found on the entire filesystem.
fsck_repair=Repair
fsck_exec=Executing command $1 ..
fsck_0=no errors detected
fsck_1=incorrect parameters
fsck_32=filesystem needs checking
fsck_34=cannot open device
fsck_36=uncorrectable errors detected
fsck_37=process killed during checking
fsck_39=uncorrectable errors detected!
fsck_40=no errors detected
fsck_unknown=unknown error

tunefs_title=Tune Filesystem
tunefs_ecannot=You are not allowed to tune this disk
tunefs_desc=This form allows you to adjust various parameters of the $1 on $2. Existing files on this filesystem will not be harmed.
tunefs_header=Tuning Parameters
tunefs_opt=Optimize for
tunefs_space=Space
tunefs_time=Time
tunefs_tune=Tune Filesystem
tunefs_a=Max contiguous blocks
tunefs_d=Rotational delay
tunefs_e=Max file blocks per cylinder group
tunefs_m=Reserved space
tunefs_err=Failed to tune filesystem
tunefs_exec=Executing command $1 ..
tunefs_failed=.. command failed!
tunefs_ok=.. command complete.

select_device=SCSI controller $1 target $2 unit $3
select_idedevice=IDE device $1
select_part=SCSI controller $1 target $2 unit $3 partition $4
select_idepart=IDE device $1 partition $2
opt_error='$1' is not a valid $2
esun=Partitions can only be modified on Sun hardware
emounted=Disk has mounted partitions
elast=The last partition cannot be removed
eformat=<tt>format</tt> didn't find any disks!

fstype_ufs=Solaris Unix Filesystem
fstype_unknown=Unknown Filesystem

acl_disks=Disks this user can partition and format
acl_dall=All disks
acl_dsel=Selected..
   07070100050b1d000081a40000000000000002000000013d1fe2c3000017d1000000200000000000000000000000000000001500000003reloc/format/lang/es  index_title=Particiones en Discos Locales
index_disk=Disco
index_parts=Particiones
index_location=Localización
index_type=Modelo
index_unknown=Desconocido
index_cyl=Cilindros
index_unknown2=Tipo de disco desconocido
index_no=Núm.
index_type=Tipo
index_extent=Extensión
index_start=Inicio
index_end=Fin
index_use=Uso
index_free=Libre
index_format=Este disco no está formateado
index_return=lista de discos

edit_ecannot=You are not allowed to edit this disk
edit_title=Edit Partition
edit_header=Partition Details
edit_location=Location
edit_dev=Device
edit_type=Type
edit_flags=Flags
edit_w=Writable
edit_m=Mountable
edit_extent=Extent
edit_stat=Status
edit_meta=Part of MetaDisk
edit_metadb=Part of MetaDisk database
edit_mount=Mounted on $1 as $2
edit_mountvm=Mounted as virtual memory
edit_umount=For mounting on $1 as $2
edit_umountvm=For mounting as virtual memory
edit_nouse=Not in use
edit_fs=Filesystem
edit_inuse=This partition cannot be changed as it is currently in use
edit_setup=Setup
edit_change=Change
edit_tasks=Partition Tasks
edit_newfs=New Filesystem
edit_newdesc1=Builds a new filesystem on this partition, permanently erasing any existing files. You must do this after creating a new partition or changing an existing one.
edit_newdesc2=You cannot build a new filesysten on this partition as it has not been been setup yet.
edit_newdesc3=You cannot build a new filesystem on this partition as it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount this partition first.
edit_fsckfs=Repair Filesystem
edit_fsck=Repair
edit_fsckdesc1=Calls the <tt>fsck</tt> program to repair a filesystem so that it can be mounted. This may be necessary if your system was not shut down properly.
edit_fsckdesc2=You cannot check the filesystem on this partition because it has not been setup yet.
edit_fsckdesc3=You cannot check the filesystem on this partition because it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount it first.
edit_fsckdesc4=You cannot check the filesystem on this partition because it does not have a filesystem.
edit_fsckdesc5=You cannot check the filesystem on this partition because only <tt>UFS</tt> filesystems can be checked.
edit_tunefs=Tune Filesystem
edit_tune=Tune
edit_tunedesc1=Allows you to modify various parameters of an existing filesystem
edit_tunedesc2=You cannot tune the filesystem on this partition because it has not been setup yet.
edit_tunedesc3=You cannot tune the filesystem on this partition because it is currently mounted. Use the <a href=/mount/>filesystems module</a> to unmount it first.
edit_tunedesc4=You cannot tune the filesystem on this partition because it does not have a filesystem.
edit_tunedesc5=You cannot tune the filesystem on this partition because only <tt>UFS</tt> filesystems can be tuned.

save_ecannot=You are not allowed to edit this disk
save_edelete=Failed to delete partition
save_esave=Failed to save partition
save_estart='$1' is not a valid starting cylinder
save_eend='$1' is not a valid ending cylinder
save_estartmin=The starting cylinder must be > 0
save_eendmax=The ending cylinder must be < $1
save_estartend=The starting cylinder must be less than the ending

newfs_title=Create Filesystem
newfs_ecannot=You are not allowed to format this disk
newfs_desc=Clicking the button at the bottom of this form will build a new $1 on the device $2. All data on this partition will be permanently erased.
newfs_warn=This partition has been mounted on $1. Creating a new filesystem will erase all files that were previously accesible under this directory.
newfs_header=Filesystem Options
ufs_a=Spare blocks / cylinder
ufs_b=Logical block size
ufs_c=Cylinders / group
ufs_d=Rotational delay
ufs_f=Fragment size
ufs_i=Inode size
ufs_m=Reserved space
ufs_n=Rotational positions
ufs_o=Optimize for
newfs_space=Space
newfs_time=Time
ufs_r=Disk speed
ufs_s=Filesystem size
ufs_t=Tracks / cylinder
ufs_cb=Max contiguous blocks
newfs_create=Create Filesystem
newfs_err=Failed to create filesystem
newfs_exec=Executing command $1 ..
newfs_failed=.. command failed!
newfs_ok=.. command complete.

fsck_title=Repair Filesystem
fsck_ecannot=You are not allowed to repair this disk
fsck_desc=Clicking the <b>Repair</b> button will check and optionally repair the $1 on $2. The level of checking and repair is determined by your choice below.
fsck_mode0=Only report the filesystem status.
fsck_mode1=Check the entire filesystem for errors, but do not fix any errors found.
fsck_mode2=Check for and fix any errors found on the entire filesystem.
fsck_repair=Repair
fsck_exec=Executing command $1 ..
fsck_0=no errors detected
fsck_1=incorrect parameters
fsck_32=filesystem needs checking
fsck_34=cannot open device
fsck_36=uncorrectable errors detected
fsck_37=process killed during checking
fsck_39=uncorrectable errors detected!
fsck_40=no errors detected
fsck_unknown=unknown error

tunefs_title=Tune Filesystem
tunefs_ecannot=You are not allowed to tune this disk
tunefs_desc=This form allows you to adjust various parameters of the $1 on $2. Existing files on this filesystem will not be harmed.
tunefs_header=Tuning Parameters
tunefs_opt=Optimize for
tunefs_space=Space
tunefs_time=Time
tunefs_tune=Tune Filesystem
tunefs_a=Max contiguous blocks
tunefs_d=Rotational delay
tunefs_e=Max file blocks per cylinder group
tunefs_m=Reserved space
tunefs_err=Failed to tune filesystem
tunefs_exec=Executing command $1 ..
tunefs_failed=.. command failed!
tunefs_ok=.. command complete.

select_device=SCSI controller $1 target $2 unit $3
select_idedevice=IDE device $1
select_part=SCSI controller $1 target $2 unit $3 partition $4
select_idepart=IDE device $1 partition $2
opt_error='$1' is not a valid $2
esun=Partitions can only be modified on Sun hardware
emounted=Disk has mounted partitions
elast=The last partition cannot be removed
eformat=<tt>format</tt> didn't find any disks!

fstype_ufs=Solaris Unix Filesystem
fstype_unknown=Unknown Filesystem

acl_disks=Discos que este usuario puede particionar y formatear
acl_dall=Todos los discos
acl_dsel=Los seleccionados...
   07070100050b1e000081a40000000000000002000000013d1fe2c300001c8d000000200000000000000000000000000000001500000003reloc/format/lang/fr  index_title=Partitions sur les disques locaux
index_disk=Disque
index_parts=Partitions
index_location=Emplacement
index_model=Modèle
index_unknown=Inconnu
index_cyl=Cylindres
index_unknown2=Type de disque inconnu
index_no=Non.
index_type=Type
index_extent=Etendue
index_start=Début
index_end=Fin
index_use=Utilisé
index_free=Libre
index_format=Ce disque n'est pas formatté
index_return=liste de disques

edit_ecannot=Vous n'êtes pas autorisé à éditer ce disque
edit_title=Editer la partition
edit_header=Détails de la partition
edit_location=Emplacement
edit_dev=Périphérique
edit_type=Type
edit_flags=Drapeaux
edit_w=En écriture
edit_m=Montable
edit_extent=Etendue
edit_stat=Statut
edit_meta=Partie de MetaDisk
edit_metadb=Partie d'une base de données MetaDisk
edit_mount=Monté sur $1 en tant que $2
edit_mountvm=Monté comme mémoire virtuelle
edit_umount=Pour le montage sur $1 en tant que $2
edit_umountvm=Pour le montage en tant que mémoire virtuelle
edit_nouse=Pas en utilisation
edit_fs=Système de fichiers
edit_inuse=Cette partition ne peut pas être modifiée car elle est actuellement utilisée
edit_setup=Réglages
edit_change=Modifier
edit_tasks=Tâches de partionnement
edit_newfs=Nouveau système de fichiers
edit_newdesc1=Créé un nouveau système de fichiers sur cette partition, effaçant de manière permanente tout fichier existant. Vous devez faire ceci après avoir créer une nouvelle partition ou avoir changer une existante.
edit_newdesc2=Vous ne pouvez pas créer un nouveau système de fichiers sur cette partition car elle n'a pas été encore paramétrée.
edit_newdesc3=Vous ne pouvez pas créer un nouveau système de fichiers sur cette partition car elle est actuellement montée. Utilisez le <a href=/mount/>module de systèmes de fichiers</a> pour démonter d'abord cette partition.
edit_fsckfs=Réparer le système de fichiers
edit_fsck=Réparer
edit_fsckdesc1=Appelle le programme <tt>fsck</tt> pour réparer un système de fichiers tel qu'il puisse être monté. Cela peut être nécéssaire si votre système n'a pas été arrêté proprement.
edit_fsckdesc2=Vous ne pouvez pas vérifier le système de fichiers sur cette partition car il n'a pas encore été installé.
edit_fsckdesc3=Vous ne pouvez pas vérifier le système de fichiers sur cette partition car elle est actuellement montée. Utilisez le <a href=/mount/>module de systèmes de fichiers</a> pour démonter d'abord cette partition.
edit_fsckdesc4=Vous ne pouvez pas vérifier le système de fichiers sur cette partition car elle n'a pas de système de fichiers.
edit_fsckdesc5=Vous ne pouvez pas vérifier le système de fichiers sur cette partition car seuls les systèmes de fichiers <tt>UFS</tt> peuvent être vérifiés.
edit_tunefs=Paramétrage du système de fichiers
edit_tune=Paramétrer
edit_tunedesc1=Vous permet de modifier des paramètres variés d'un système de fichiers existant
edit_tunedesc2=Vous ne pouvez pas paramétrer le système de fichiers sur cette partition car il n'a pas encore été installé.
edit_tunedesc3=Vous ne pouvez pas paramétrer le système de fichiers sur cette partition car il est actuellement monté. Utilisez le <a href=/mount/>module de systèmes de fichiers</a> pour démonter d'abord cette partition.
edit_tunedesc4=Vous ne pouvez pas paramétrer le système de fichiers sur cette partition car il n'a pas de système de fichiers.
edit_tunedesc5=Vous ne pouvez pas paramétrer le système de fichiers sur cette partition car seuls les systèmes de fichiers <tt>UFS</tt> peuvent être paramétrés.

save_ecannot=Vous n'avez pas le droit d'éditer ce disque
save_edelete=Echec de la suppression de partition
save_esave=Echec de la sauvegarde de la partition
save_estart='$1' n'est pas un cylindre de départ valide
save_eend='$1' n'est pas un cylindre de fin valide
save_estartmin=Le cylindre de départ doit être > 0
save_eendmax=Le cylindre de fin doit être < $1
save_estartend=Le cylindre de départ doit être inférieur à celui de fin

newfs_title=Créer un système de fichiers
newfs_ecannot=Vous n'êtes pas autorisé à formater ce disque
newfs_desc=Cliquer le bouton au bas de ce formulaire créera un nouveau $1 sur le périphérique $2. Toutes les données sur cette partition seront effacées de manière permanente.
newfs_warn=Cette partition a été montée sur $1. Créer un nouveau système de fichiers effacera tous les fichiers qui étaient auparavant accessibles sous ce répertoire.
newfs_header=Options du système de fichiers
ufs_a=Blocs / cylindres restant
ufs_b=Taille de bloc logique
ufs_c=Cylindres / groupe
ufs_d=Délai rotaionnel
ufs_f=Taille de fragment
ufs_i=Taille d'inode
ufs_m=Espace réservé
ufs_n=Positions rotationnelles
ufs_o=Optimiser pour
newfs_space=Espace
newfs_time=Rapidité
ufs_r=Vitesse de disque
ufs_s=Taille du système de fichiers
ufs_t=Pistes / cylindre
ufs_cb=Blocs maximum contigus
newfs_create=Créer système de fichiers
newfs_err=Echec de la création du système de fichiers
newfs_exec=Exécution de la commande $1 ...
newfs_failed=... commande échouée !
newfs_ok=... commande réussie.

fsck_title=Réparer un système de fichiers
fsck_ecannot=Vous n'êtes pas autorisé à réparer ce disque
fsck_desc=Cliquer sur le bouton <b>Réparer</b> vérifiera et optionnellement réparera le $1 sur $2. Le niveau de vérification et de réparation est déterminé par votre choix ci-dessous.
fsck_mode0=Donner seulement le statut du système de fichiers.
fsck_mode1=Vérifier le système de fichiers entier pour des erreurs, mais ne corriger aucune des erreurs trouvées.
fsck_mode2=Vérifier et corriger toutes les erreurs trouvées sur le système de fichiers
fsck_repair=Réparer
fsck_exec=Exécution de la commande $1 ..
fsck_0=aucune erreur détectée
fsck_1=paramètres incorrects
fsck_32=le système de fichier a besoin d'une vérification
fsck_34=ne peut pas ouvrir le périphérique
fsck_36=erreurs non-corrigeables détectées
fsck_37=processus tué durant la vérification
fsck_39=erreurs non-corrigeables détectées !
fsck_40=aucune erreur détectée
fsck_unknown=erreur inconnue

tunefs_title=Paramétrer le système de fichiers
tunefs_ecannot=Vous n'êtes pas autorisé à paramétrer ce disque
tunefs_desc=Ce formulaire vous permet d'ajuster des paramètres variés du $1 sur $2. Les fichiers existant sur ce système de fichiers ne seront pas endommagés.
tunefs_header=Paramètres
tunefs_opt=Optimiser pour
tunefs_space=Espace
tunefs_time=Rapidité
tunefs_tune=Paramétrer le système de fichiers
tunefs_a=Blocs contigus maximum
tunefs_d=Délai rotationnel
tunefs_e=blocs de fichier maximum par groupe de cylindre
tunefs_m=Espace réservé
tunefs_err=Echec du paramétrage du système de fichiers
tunefs_exec=Exécution de la commande $1 ...
tunefs_failed=... commande échouée!
tunefs_ok=... commande réussie.

select_device=Contrôleur SCSI $1 cible $2 unité $3
select_idedevice=Périphérique IDE $1
select_part=Contrôleur SCSI $1 cible $2 unité $3 partition $4
select_idepart=Périphérique IDE $1 partition $2
opt_error='$1' n'est pas un $2 valide
esun=Les partitions peuvent être modifiées seulement sur du matériel Sun
emounted=Le disque a des partitions montées
elast=La dernière partition ne peut pas être enlevée
eformat=<tt>format</tt> n'a trouvé aucun disque !

fstype_ufs=Système de fichiers Solaris
fstype_unknown=Système de fichiers inconnu

acl_disks=Disques que cet utilisateur peut partionner et formater
acl_dall=Tous les disques
acl_dsel=Sélectionnés ...
   07070100050b1f000081a40000000000000002000000013d1fe2c300001a5a000000200000000000000000000000000000001500000003reloc/format/lang/hu  # webmin-0.90format/lang/hu
# translated by Gabor Keve <gabor.keve@it-worx.hu>
#
index_title=A lok lis lemez part¡ci¢i
index_disk=Lemez
index_parts=part¡ci¢s
index_location=Elhelyezked‚s
index_model=Modell
index_unknown=Ismeretlen
index_cyl=Cilinderek
index_unknown2=A lemez t¡pusa ismeretlen
index_no=No.
index_type=T¡pus
index_extent=Nagys g
index_start=Kezdete
index_end=V‚ge
index_use=Felhaszn lva
index_free=Szabad
index_format=Ez a lemez nem format lt
index_return=Lemez lista

edit_ecannot=™nnek nincs joga szerkeszteni ezt a lemezt
edit_title=Part¡ci¢ szerkeszt‚se
edit_header=A part¡ci¢ r‚szletez‚se
edit_location=Elhelyezked‚s
edit_dev=Eszk”z
edit_type=T¡pus
edit_flags=Jelz‹k
edit_w=Örhat¢
edit_m=Csatlakoztathat¢
edit_extent=Nagys g
edit_stat=St tusz
edit_meta=R‚sze a Metalemeznek
edit_metadb=R‚sze a Metalemez adatb‚zsinak
edit_mount=Csatlakoztatva a(z) $1 mint $2
edit_mountvm=Csatlakoztatva mint virtu lis mem¢ria
edit_umount=A(z) $1 mint $2 csatlakoztat s hoz
edit_umountvm=A virtu lsi mem¢ria csatlakoztat s hoz
edit_nouse=Nincs haszn lva
edit_fs=File rendszer
edit_inuse=Ez a part¡ci¢ nem v ltoztathat¢, mert haszn latban van
edit_setup=Be ll¡t s
edit_change=V ltoztat s
edit_tasks=part¡ci¢ feladat
edit_newfs=éj file rendszer
edit_newdesc1=Egy £j file rendszer ezen a part¡ci¢n, ”r”kre let”rli az ”sszes l‚tez‹ file-t. ™n ezt az £j part¡ci¢ l‚trehoz sa ut n vagy egy megl‚v‹ m¢dos¡t sa ut n is megteheti.
edit_newdesc2=™n nem tud egy £j file rendszert l‚trehozni ezen a part¡ci¢, am¡g az nem let be ll¡tva.
edit_newdesc3=™n nem tud egy £j file rendszert l‚trehozni ezen a part¡ci¢ ha az csatlakoztatva van. El‹sz”r haszn lja a <a href=/mount/>file rendszer modult</a> hogy lecsatlakoztassa ezt a part¡ci¢t.
edit_fsckfs=File rendszer jav¡t sa
edit_fsck=Jav¡t s
edit_fsckdesc1=Az  <tt>fsck</tt> program h¡v sa a file rendszer jav¡t s t v‚gzi, ha nem lehet csatlakoztattni. Ez n‚ha szks‚ges ha az ™n rendszere nem lett j¢l le ll¡tva.
edit_fsckdesc2=™n nem tudja ellen‹rizni ezt a file rendszert ezen a part¡ci¢n, mert m‚g nem lett be ll¡tva.
edit_fsckdesc3=™n nem tudja ellen‹rizni ezt a file rendszert ezen a part¡ci¢n, mert ez jelenleg csatlakoztatva van.El‹sz”r haszn lja a <a href=/mount/>file rendszer modult</a> hogy lecsatlakoztassa.
edit_fsckdesc4=™n nem tudja ellen‹rizni ezt a file rendszert ezen a part¡ci¢n, mert ezen nincs file rendszer.
edit_fsckdesc5=™n nem tudja ellen‹rizni ezt a file rendszert ezen a part¡ci¢n, mert csak az <tt>UFS</tt> File rendszereket lehet ellen‹rizni.
edit_tunefs=File rendszer hangol sa
edit_tune=Tune
edit_tunedesc1=Lehet‹s‚ge van a file rendszer kl”nb”z‹ param‚tereit m¢dos¡tani.
edit_tunedesc2=™n nem tudja hangolni a file rendszert ezen a part¡ci¢n, mert m‚g nem lett be ll¡tva.
edit_tunedesc3=™n nem tudja hangolni a file rendszert ezen a part¡ci¢n, mert ez jelenleg csatlakoztatva van.El‹sz”r haszn lja a <a href=/mount/>file rendszer modult</a> hogy lecsatlakoztassa.
edit_tunedesc4=™n nem tudja hangolni a file rendszert ezen a part¡ci¢n, mert ezen nincs file rendszer.
edit_tunedesc5=™n nem tudja hangolni a file rendszert ezen a part¡ci¢n, mert csak az <tt>UFS</tt> File rendszereket lehet hangolni.

save_ecannot=™nnek nincs joga szerkeszteni ezt a lemezt
save_edelete=Nem lehet t”r”lni a part¡ci¢
save_esave=Nem lehet menteni a part¡ci¢
save_estart='$1' nem val¢s kezd‹ cilinder
save_eend='$1' nem val¢s befejez‹ cilinder
save_estartmin=A kezd‹ cilindernek nagyobbnak kell lenni mint nulla
save_eendmax=A befejez‹ cilindernek kisebbnek kell lenni mint $1
save_estartend=A kezd‹ cilindernek kisebbnek kell lenni, mint a befejez‹ cilindernek

newfs_title=File rendszer l‚trehoz sa
newfs_ecannot=™nnek nincs joga form zni ezt a lemezt
newfs_desc=Az als¢ gombra kattintva ez az oldal fel‚p¡t egy £j $1 -t a $2 eszk”z”n. Az ”sszes adat ezen a part¡ci¢ v‚gleg t”r”lve lesz.
newfs_warn=Ez a  part¡ci¢ m r csatlakoztattva van ezen $1. Egy £j file rendszer l‚trehoz sa t”r”lni fogja az ”sszes file -t ami el‹z‹leg hozz f‚rt ehhez a k”nyvt rhoz.
newfs_header=File rendszer be ll¡t sok
ufs_a=Tartal‚k blokk / cilinder
ufs_b=Logikai blokk m‚ret
ufs_c=Cilinder / csoport
ufs_d=Forgat si sznet
ufs_f=T”red‚k m‚ret
ufs_i=Inode m‚ret
ufs_m=Fentartott r‚sz
ufs_n=Forgat si poz¡ci¢
ufs_o=Optimaliz lja
newfs_space=helyre
newfs_time=id‹re
ufs_r=Lemez sebess‚g
ufs_s=File rendszer m‚ret
ufs_t=S v / cilinder
ufs_cb=Maxim lis ”sszefgg‹ blokkok
newfs_create=File rendszer l‚trehoz sa
newfs_err=Nem lehet l‚trehozni a file rendszert
newfs_exec=Futtatom a  $1 parancsot..
newfs_failed=.. parancs hib s!
newfs_ok=.. parancs rendben.

fsck_title=File rendszer jav¡t sa
fsck_ecannot=™nnek nincs joga jav¡tani ezt a lemez
fsck_desc=A <b>Jav¡t s</b> gombra kattintva ellen‹rizve ‚s opcion lisan jav¡tva lesz a(z) $1 a(z) $2 -n. Az ellen‹rz‚si ‚s  jav¡t si szintet az ™n v laszt sa befoly solja.
fsck_mode0=Csak jelent‚s a file rendszer  llapot r¢l.
fsck_mode1=Az eg‚sz file rendszer hibavizsg lata, de ne legyenek kijav¡tva a hib k.
fsck_mode2=Az eg‚sz file rendszer hibavizsg lata, ‚s hiba eset‚n a jav¡t s.
fsck_repair=Jav¡t s
fsck_exec=Futtatom a(z) $1 parancsot..
fsck_0=nem tal ltam hib t
fsck_1=hib s param‚terek
fsck_32=A file rendszernek szks‚ge van az ellen‹rz‚sre
fsck_34=nem lehet az eszk”zt megnyitni
fsck_36=jav¡thatatlan hib t tal ltam
fsck_37=A processz le lett  ll¡tva az ellen‹rz‚s sor n
fsck_39=jav¡thatatlan hib t tal ltam!
fsck_40=nem tal ltam hib t
fsck_unknown=ismeretlen hiba

tunefs_title=File rendszer hangol s
tunefs_ecannot=™nnek nincs joga ezt a lemez hangolni
tunefs_desc=Ezen az oldalon ™nnek lehet‹s‚ge van be ll¡tani bizonyos param‚tereket a(z) $1 a(z) $2 -n. A m r megl‚v‹ file -ok ezen a file rendszer nem lesznek megrong lva.
tunefs_header=Hangol si param‚terek
tunefs_opt=Optimaliz lja
tunefs_space=Helyre
tunefs_time=Id‹re
tunefs_tune=File rendszer hangol sa
tunefs_a=Maxim lis ”sszefgg‹ blokkok
tunefs_d=Forgat si sznet
tunefs_e=Maxim lis file blokk / cilinder csoport
tunefs_m=Fentartott hely
tunefs_err=Nem lehet hangolni a file rendszert
tunefs_exec=Futtatom a $1  parancsot..
tunefs_failed=.. parancs hib s!
tunefs_ok=.. parancs rendben.

select_device=SCSI kontroller $1 c‚l $2 eszk”z $3
select_idedevice=IDE eszk”z $1
select_part=SCSI kontroller $1 c‚l $2 egys‚g $3 part¡ci¢ $4
select_idepart=IDE eszk”z $1 part¡ci¢ $2
opt_error='$1' nem ‚rv‚nyes $2
esun=A part¡ci¢s csak Sun hardveren m¢dos¡that¢
emounted=A lemeznek csatlakoztatott part¡ci¢(i) van(nak)
elast=Az utols¢ part¡ci¢t nem lehet elt vol¡tani
eformat=<tt>format</tt> nem tal l semmilyen lemezt!

fstype_ufs=Solaris Unix file rendszer
fstype_unknown=Ismeretlen file rendszer

acl_disks=A lemezeket ez a felhaszn l¢ tudja part¡cion lni ‚s form zni
acl_dall=™sszes lemez
acl_dsel=Kiv lasztott..
  07070100050b20000081a40000000000000002000000013d1fe2c30000198f000000200000000000000000000000000000001c00000003reloc/format/lang/ja_JP.euc   index_title=¥í¡¼¥«¥ë ¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
index_disk=¥Ç¥£¥¹¥¯
index_parts=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
index_location=¾ì½ê
index_model=¥â¥Ç¥ë
index_unknown=ÉÔÌÀ
index_cyl=¥·¥ê¥ó¥À
index_unknown2=ÉÔÌÀ¤Ê¥Ç¥£¥¹¥¯¤Î¼ïÎà
index_no=ÈÖ¹æ
index_type=¼ïÎà
index_extent=¥¨¥¯¥¹¥Æ¥ó¥È
index_start=³«»Ï
index_end=½ªÎ»
index_use=»ÈÍÑ
index_free=¶õ¤­
index_format=¤³¤Î¥Ç¥£¥¹¥¯¤Ï¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
index_return=¥Ç¥£¥¹¥¯¤Î¥ê¥¹¥È

edit_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_title=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÊÔ½¸
edit_header=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¾ÜºÙ
edit_location=¾ì½ê
edit_dev=¥Ç¥Ð¥¤¥¹
edit_type=¼ïÎà
edit_flags=¥Õ¥é¥°
edit_w=½ñ¹þ¤ß²ÄÇ½
edit_m=¥Þ¥¦¥ó¥È²ÄÇ½
edit_extent=¥¨¥¯¥¹¥Æ¥ó¥È
edit_stat=¥¹¥Æ¡¼¥¿¥¹
edit_meta=MetaDisk ¤Î°ìÉô
edit_metadb=MetaDisk ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î°ìÉô
edit_mount=$1 ¤Ë $2 ¤È¤·¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
edit_mountvm=²¾ÁÛ¥á¥â¥ê¤È¤·¤Æ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
edit_umount=$1 ¤Ë $2 ¤È¤·¤Æ¥Þ¥¦¥ó¥È
edit_umountvm=²¾ÁÛ¥á¥â¥ê¤È¤·¤Æ¥Þ¥¦¥ó¥È
edit_nouse=»ÈÍÑ¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¥£¥¹¥¯
edit_fs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
edit_inuse=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¸½ºß»ÈÍÑÃæ¤Î¤¿¤áÊÑ¹¹¤Ç¤­¤Þ¤»¤ó
edit_setup=¥»¥Ã¥È¥¢¥Ã¥×
edit_change=ÊÑ¹¹
edit_tasks=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥¿¥¹¥¯
edit_newfs=¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
edit_newdesc1=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î´ûÂ¸¤Î¥Õ¥¡¥¤¥ë¤ò±Êµ×¤Ë¾Ãµî¤·¤Æ¡¢¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤·¤Þ¤¹¡£¤³¤Îºî¶È¤Ï¡¢¿·µ¬¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®¸å¤Þ¤¿¤Ï´ûÂ¸¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÑ¹¹¸å¤Ë¼Â¹Ô¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
edit_newdesc2=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤Þ¤ÀÀßÄê¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¹½ÃÛ¤Ç¤­¤Þ¤»¤ó¡£
edit_newdesc3=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤¿¤á¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¡£<a href=/mount/>¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥â¥¸¥å¡¼¥ë</a> ¤ò»ÈÍÑ¤·¤Æ¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºÇ½é¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
edit_fsckfs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü
edit_fsck=½¤Éü
edit_fsckdesc1=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò½¤Éü¤¹¤ë¤Ë¤Ï¡¢<tt>fsck</tt> ¥×¥í¥°¥é¥à¤ò¸Æ¤Ó½Ð¤·¤Æ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È²ÄÇ½¤Ë¤·¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤¬Àµ¾ï¤Ë¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¼Â¹Ô¤¬É¬Í×¤Ë¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
edit_fsckdesc2=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤Þ¤ÀÀßÄê¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´¤Ù¤é¤ì¤Þ¤»¤ó¡£
edit_fsckdesc3=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤¿¤áÄ´À°¤Ç¤­¤Þ¤»¤ó¡£<a href=/mount/>¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥â¥¸¥å¡¼¥ë</a>¤ò»ÈÍÑ¤·¤ÆºÇ½é¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
edit_fsckdesc4=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤¬¤Ê¤¤¤Î¤Ç¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´¤Ù¤é¤ì¤Þ¤»¤ó¡£
edit_fsckdesc5=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÏÄ´¤Ù¤é¤ì¤Þ¤»¤ó¡£<tt>UFS</tt> ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¤ßÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
edit_tunefs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
edit_tune=Ä´À°
edit_tunedesc1=´ûÂ¸¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÂ¿ÍÍ¤Î¥Ñ¥é¥á¡¼¥¿¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
edit_tunedesc2=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤Þ¤ÀÀßÄê¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¡£
edit_tunedesc3=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤¿¤á¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¡£<a href=/mount/>¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥â¥¸¥å¡¼¥ë</a>¤ò»ÈÍÑ¤·¤ÆºÇ½é¤Ë¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
edit_tunedesc4=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ï¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤¬¤Ê¤¤¤Î¤Ç¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¡£
edit_tunedesc5=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÏÄ´À°¤Ç¤­¤Þ¤»¤ó¡£<tt>UFS</tt> ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¤ßÄ´À°¤Ç¤­¤Þ¤¹¡£

save_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
save_edelete=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_esave=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_estart='$1' ¤ÏÌµ¸ú¤Ê³«»Ï¥·¥ê¥ó¥À¤Ç¤¹
save_eend='$1' ¤ÏÌµ¸ú¤Ê½ªÎ»¥·¥ê¥ó¥À¤Ç¤¹
save_estartmin=³«»Ï¥·¥ê¥ó¥À¤Ï 0 ¤è¤êÂç¤­¤¤É¬Í×¤¬¤¢¤ê¤Þ¤¹
save_eendmax=½ªÎ»¥·¥ê¥ó¥À¤Ï $1 ¤è¤ê¾®¤µ¤¤É¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
save_estartend=³«»Ï¥·¥ê¥ó¥À¤Ï½ªÎ»¥·¥ê¥ó¥À¤è¤ê¾®¤µ¤¤É¬Í×¤¬¤¢¤ê¤Þ¤¹

newfs_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®
newfs_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤Ï¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤Þ¤»¤ó
newfs_desc=¤³¤Î²èÌÌ¤Î²¼¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¿·µ¬¤Î $1¤ò¥Ç¥Ð¥¤¥¹ $2 ¤Ë¹½ÃÛ¤·¤Þ¤¹¡£¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤Ï±Êµ×¤Ë¾Ãµî¤µ¤ì¤Þ¤¹¡£
newfs_warn=¤³¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï $1 ¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·µ¬¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®¤¹¤ë¤È¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç°ÊÁ°¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤¿¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬¾Ãµî¤µ¤ì¤Þ¤¹¡£
newfs_header=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥ª¥×¥·¥ç¥ó
ufs_a=¥¹¥Ú¥¢ ¥Ö¥í¥Ã¥¯/¥·¥ê¥ó¥À
ufs_b=ÏÀÍý¥Ö¥í¥Ã¥¯ ¥µ¥¤¥º
ufs_c=¥·¥ê¥ó¥À/¥°¥ë¡¼¥×
ufs_d=²óÅ¾ÂÔ¤Á
ufs_f=¥Õ¥é¥°¥á¥ó¥È ¥µ¥¤¥º
ufs_i=i ¥Î¡¼¥É ¥µ¥¤¥º
ufs_m=Í½Ìó¤µ¤ì¤¿¥¹¥Ú¡¼¥¹
ufs_n=²óÅ¾°ÌÃÖ
ufs_o=ºÇÅ¬²½
newfs_space=¥¹¥Ú¡¼¥¹
newfs_time=»þ´Ö
ufs_r=¥Ç¥£¥¹¥¯Â®ÅÙ
ufs_s=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥µ¥¤¥º
ufs_t=¥È¥é¥Ã¥¯/¥·¥ê¥ó¥À
ufs_cb=ºÇÂçÏ¢Â³¥Ö¥í¥Ã¥¯
newfs_create=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®
newfs_err=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
newfs_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
newfs_failed=..¡¡¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
newfs_ok=..¡¡¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

fsck_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î½¤Éü
fsck_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤Ï½¤Éü¤Ç¤­¤Þ¤»¤ó
fsck_desc=¤³¤Î <b>½¤Éü</b> ¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È  $2 ¾å¤Î $1¤òÄ´¤Ù¿ï»þ¤Ë¤½¤ì¤ò½¤Éü¤·¤Þ¤¹¡£¸¡ºº¤È½¤Éü¤Î¥ì¥Ù¥ë¤Ï²¼¤ÎÁªÂò¤Ë¤è¤ê·èÄê¤µ¤ì¤Þ¤¹¡£
fsck_mode0=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥¹¥Æ¡¼¥¿¥¹¤Î¤ß¤òÊó¹ð¤¹¤ë¡£
fsck_mode1=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥àÁ´ÂÎ¤Ç¥¨¥é¡¼¤òÄ´¤Ù¤ë¤¬¡¢È¯¸«¤µ¤ì¤¿¥¨¥é¡¼¤Ï½¤Éü¤·¤Ê¤¤¡£
fsck_mode2=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥àÁ´ÂÎ¤Ç¥¨¥é¡¼¤òÄ´¤Ù¡¢È¯¸«¤µ¤ì¤¿¥¨¥é¡¼¤ò½¤Éü¤¹¤ë¡£
fsck_repair=½¤Éü
fsck_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
fsck_0=¸¡½Ð¤µ¤ì¤¿¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó
fsck_1=ÉÔÀµ¤Ê¥Ñ¥é¥á¡¼¥¿
fsck_32=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¸¡ºº¤¬É¬Í×¤Ç¤¹
fsck_34=¥Ç¥Ð¥¤¥¹¤ò³«¤±¤Þ¤»¤ó
fsck_36=½¤Éü¤Ç¤­¤Ê¤¤¥¨¥é¡¼¤ò¸¡½Ð¤·¤Þ¤·¤¿
fsck_37=¸¡ººÃæ¤Ë¥×¥í¥»¥¹¤¬¶¯À©½ªÎ»¤µ¤ì¤Þ¤·¤¿
fsck_39=½¤Éü¤Ç¤­¤Ê¤¤¥¨¥é¡¼¤ò¸¡½Ð¤·¤Þ¤·¤¿¡£
fsck_40=¸¡½Ð¤µ¤ì¤¿¥¨¥é¡¼¤Ï¤¢¤ê¤Þ¤»¤ó
fsck_unknown=ÉÔÌÀ¤Î¥¨¥é¡¼

tunefs_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
tunefs_ecannot=¤³¤Î¥Ç¥£¥¹¥¯¤ÏÄ´À°¤Ç¤­¤Þ¤»¤ó
tunefs_desc=¤³¤ì¤Ï $2 ¾å¤Î $1  ¤ÎÂ¿ÍÍ¤Ê¥Ñ¥é¥á¡¼¥¿¤òÄ´Àá²ÄÇ½¤Ë¤·¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î´ûÂ¸¤Î¥Õ¥¡¥¤¥ë¤Ï±Æ¶Á¤ò¼õ¤±¤Þ¤»¤ó¡£
tunefs_header=¥Ñ¥é¥á¡¼¥¿¤ÎÄ´À°
tunefs_opt=ºÇÅ¬²½
tunefs_space=¥¹¥Ú¡¼¥¹
tunefs_time=»þ´Ö
tunefs_tune=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎÄ´À°
tunefs_a=ºÇÂçÏ¢Â³¥Ö¥í¥Ã¥¯
tunefs_d=²óÅ¾ÂÔ¤Á
tunefs_e=¥·¥ê¥ó¥À ¥°¥ë¡¼¥×¤´¤È¤ÎºÇÂç¥Õ¥¡¥¤¥ë ¥Ö¥í¥Ã¥¯
tunefs_m=Í½Ìó¤µ¤ì¤¿¥¹¥Ú¡¼¥¹
tunefs_err=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òÄ´À°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
tunefs_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
tunefs_failed=.. ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
tunefs_ok=.. ¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

select_device=SCSI ¥³¥ó¥È¥í¡¼¥é $1 ¥¿¡¼¥²¥Ã¥È $2 ¥æ¥Ë¥Ã¥È $3
select_idedevice=IDE ¥Ç¥Ð¥¤¥¹ $1
select_part=SCSI ¥³¥ó¥È¥í¡¼¥é $1 ¥¿¡¼¥²¥Ã¥È $2 ¥æ¥Ë¥Ã¥È $3 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $4
select_idepart=IDE ¥Ç¥Ð¥¤¥¹ $1 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $2
opt_error='$1' ¤ÏÍ­¸ú¤Ê $2 ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
esun=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï Sun ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤Ç¤Î¤ßÊÑ¹¹¤Ç¤­¤Þ¤¹
emounted=¥Ç¥£¥¹¥¯¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹
elast=ºÇ¸å¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
eformat=<tt>¥Õ¥©¡¼¥Þ¥Ã¥È</tt> ¥Ç¥£¥¹¥¯¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£

fstype_ufs=Solaris Unix ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
fstype_unknown=ÉÔÌÀ¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à

acl_disks=¤³¤Î¥æ¡¼¥¶¤¬¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÀÚ¤Ã¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤ë¥Ç¥£¥¹¥¯
acl_dall=¤¹¤Ù¤Æ¤Î¥Ç¥£¥¹¥¯
acl_dsel=ÁªÂò..
 07070100050b21000081a40000000000000002000000013d1fe2c300001728000000200000000000000000000000000000001c00000003reloc/format/lang/ko_KR.euc   index_title=·ÎÄÃ µð½ºÅ© ÆÄÆ¼¼Ç
index_disk=µð½ºÅ©
index_parts=ÆÄÆ¼¼Ç
index_location=À§Ä¡
index_model=¸ðµ¨
index_unknown=¾Ë ¼ö ¾øÀ½
index_cyl=½Ç¸°´õ
index_unknown2=¾Ë ¼ö ¾ø´Â µð½ºÅ© À¯Çü
index_no=¹øÈ£
index_type=À¯Çü
index_extent=ÀÍ½ºÅÙÆ®
index_start=½ÃÀÛ
index_end=³¡
index_use=»ç¿ëÇÑ °ø°£
index_free=ºó °ø°£
index_format=µð½ºÅ©°¡ Æ÷¸ËµÇÁö ¾Ê¾Ò½À´Ï´Ù
index_return=µð½ºÅ© ¸ñ·Ï

edit_ecannot=ÀÌ µð½ºÅ©¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_title=ÆÄÆ¼¼Ç ÆíÁý
edit_header=ÆÄÆ¼¼Ç ¼¼ºÎ Á¤º¸
edit_location=À§Ä¡
edit_dev=ÀåÄ¡
edit_type=À¯Çü
edit_flags=ÇÃ·¡±×
edit_w=¾²±â °¡´É
edit_m=¸¶¿îÆ® °¡´É
edit_extent=ÀÍ½ºÅÙÆ®
edit_stat=»óÅÂ
edit_meta=¸ÞÅ¸µð½ºÅ©ÀÇ ÀÏºÎ
edit_metadb=¸ÞÅ¸µð½ºÅ© µ¥ÀÌÅÍº£ÀÌ½ºÀÇ ÀÏºÎ
edit_mount=$1¿¡ $2(À¸)·Î¼­ ¸¶¿îÆ®µÊ
edit_mountvm=°¡»ó ¸Þ¸ð¸®·Î¼­ ¸¶¿îÆ®µÊ
edit_umount=$1¿¡ $2(À¸)·Î¼­ ¸¶¿îÆ®
edit_umountvm=°¡»ó ¸Þ¸ð¸®·Î¼­ ¸¶¿îÆ®
edit_nouse=»ç¿ë ÁßÀÌ ¾Æ´Ô
edit_fs=ÆÄÀÏ ½Ã½ºÅÛ
edit_inuse=ÀÌ ÆÄÆ¼¼ÇÀº ÇöÀç »ç¿ë ÁßÀÌ¹Ç·Î º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù
edit_setup=¼³Á¤
edit_change=º¯°æ
edit_tasks=ÆÄÆ¼¼Ç ÀÛ¾÷
edit_newfs=»õ ÆÄÀÏ ½Ã½ºÅÛ
edit_newdesc1=ÀÌ ÆÄÆ¼¼Ç¿¡ »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ±¸ÃàÇÏ°í ±âÁ¸ ÆÄÀÏÀ» ¿µ±¸ÀûÀ¸·Î Áö¿ó´Ï´Ù. »õ ÆÄÆ¼¼ÇÀ» ÀÛ¼ºÇÏ°Å³ª ±âÁ¸ ÆÄÆ¼¼ÇÀ» º¯°æÇÑ °æ¿ì ÀÌ ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.
edit_newdesc2=¾ÆÁ÷ ¼³Á¤µÇÁö ¾ÊÀº ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼Ç¿¡ »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_newdesc3=ÀÌ¹Ì ¸¶¿îÆ®µÇ¾î ÀÖ´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼Ç¿¡ »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ¾ø½À´Ï´Ù. ¸ÕÀú <a href=/mount/>ÆÄÀÏ ½Ã½ºÅÛ ¸ðµâ</a>À» »ç¿ëÇÏ¿© ÀÌ ÆÄÆ¼¼ÇÀ» ¸¶¿îÆ® ÇØÁ¦ÇÏ½Ê½Ã¿À.
edit_fsckfs=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸
edit_fsck=º¹±¸
edit_fsckdesc1=<tt>fsck</tt> ÇÁ·Î±×·¥À» È£ÃâÇÏ¿© ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ® °¡´ÉÇÑ »óÅÂ·Î º¹±¸ÇÏ½Ê½Ã¿À. ÆÄÀÏ ½Ã½ºÅÛÀÌ ¿Ã¹Ù¸£°Ô Á¾·áµÇÁö ¾ÊÀº °æ¿ì ÀÌ ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.
edit_fsckdesc2=¾ÆÁ÷ ¼³Á¤µÇÁö ¾ÊÀº ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_fsckdesc3=ÀÌ¹Ì ¸¶¿îÆ®µÇ¾î ÀÖ´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ¾ø½À´Ï´Ù. ¸ÕÀú <a href=/mount/>ÆÄÀÏ ½Ã½ºÅÛ ¸ðµâ</a>À» »ç¿ëÇÏ¿© ÀÌ ÆÄÆ¼¼ÇÀ» ¸¶¿îÆ® ÇØÁ¦ÇÏ½Ê½Ã¿À.
edit_fsckdesc4=ÆÄÀÏ ½Ã½ºÅÛÀÌ ¾ø´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_fsckdesc5=<tt>UFS</tt> ÆÄÀÏ ½Ã½ºÅÛ¸¸ °Ë»çÇÒ ¼ö ÀÖ´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_tunefs=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
edit_tune=Á¶Á¤
edit_tunedesc1=±âÁ¸ ÆÄÀÏ ½Ã½ºÅÛÀÇ ´Ù¾çÇÑ ¸Å°³ º¯¼ö¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù
edit_tunedesc2=¾ÆÁ÷ ¼³Á¤µÇÁö ¾ÊÀº ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_tunedesc3=ÀÌ¹Ì ¸¶¿îÆ®µÇ¾î ÀÖ´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù. ¸ÕÀú <a href=/mount/>ÆÄÀÏ ½Ã½ºÅÛ ¸ðµâ</a>À» »ç¿ëÇÏ¿© ÀÌ ÆÄÆ¼¼ÇÀ» ¸¶¿îÆ® ÇØÁ¦ÇÏ½Ê½Ã¿À.
edit_tunedesc4=ÆÄÀÏ ½Ã½ºÅÛÀÌ ¾ø´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
edit_tunedesc5=<tt>UFS</tt> ÆÄÀÏ ½Ã½ºÅÛ¸¸ Á¶Á¤ÇÒ ¼ö ÀÖ´Â ÆÄÆ¼¼ÇÀÌ¹Ç·Î ÀÌ ÆÄÆ¼¼ÇÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.

save_ecannot=ÀÌ µð½ºÅ©¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_edelete=ÆÄÆ¼¼ÇÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
save_esave=ÆÄÆ¼¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_estart='$1'Àº(´Â) À¯È¿ÇÑ ½Ç¸°´õ ½ÃÀÛÁ¡ÀÌ ¾Æ´Õ´Ï´Ù
save_eend='$1'Àº(´Â) À¯È¿ÇÑ ½Ç¸°´õ ³¡Á¡ÀÌ ¾Æ´Õ´Ï´Ù
save_estartmin=½Ç¸°´õ ½ÃÀÛÁ¡Àº 0 º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù
save_eendmax=½Ç¸°´õ ³¡Á¡Àº $1 º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù
save_estartend=½Ç¸°´õ ½ÃÀÛÁ¡Àº ½Ç¸°´õ ³¡Á¡º¸´Ù ÀÛ¾Æ¾ß ÇÕ´Ï´Ù

newfs_title=ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º
newfs_ecannot=ÀÌ µð½ºÅ©¸¦ Æ÷¸ËÇÒ ¼ö ¾ø½À´Ï´Ù
newfs_desc=ÀÌ ¾ç½ÄÀÇ ¸Ç ¾Æ·¡¿¡ ÀÖ´Â ¹öÆ°À» ´©¸£¸é ÀåÄ¡ $2¿¡ »õ $1ÀÌ(°¡) ±¸ÃàµË´Ï´Ù. ÀÌ ÆÄÆ¼¼ÇÀÇ ¸ðµç µ¥ÀÌÅÍ´Â ¿µ±¸ÀûÀ¸·Î Áö¿öÁý´Ï´Ù.
newfs_warn=ÀÌ ÆÄÆ¼¼ÇÀÌ $1¿¡ ¸¶¿îÆ®µÇ¾ú½À´Ï´Ù. »õ ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏ¸é ÀÌ µð·ºÅä¸® ¾Æ·¡ÀÇ ÀÌÀü¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ¾ú´ø ¸ðµç ÆÄÀÏÀÌ Áö¿öÁý´Ï´Ù.
newfs_header=ÆÄÀÏ ½Ã½ºÅÛ ¿É¼Ç
ufs_a=¿¹ºñ ºí·Ï/½Ç¸°´õ
ufs_b=³í¸® ºí·Ï Å©±â
ufs_c=½Ç¸°´õ/±×·ì
ufs_d=È¸Àü Áö¿¬
ufs_f=Á¶°¢ Å©±â
ufs_i=Inode Å©±â
ufs_m=¿¹¾àµÈ °ø°£ 
ufs_n=È¸Àü À§Ä¡
ufs_o=ÃÖÀûÈ­ ´ë»ó
newfs_space=°ø°£
newfs_time=½Ã°£
ufs_r=µð½ºÅ© ¼Óµµ
ufs_s=ÆÄÀÏ ½Ã½ºÅÛ Å©±â
ufs_t=Æ®·¢/½Ç¸°´õ
ufs_cb=ÃÖ´ë ÀÎÁ¢ ºí·Ï ¼ö
newfs_create=ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º
newfs_err=ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
newfs_exec=$1 ¸í·É ½ÇÇà Áß..
newfs_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
newfs_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù.

fsck_title=ÆÄÀÏ ½Ã½ºÅÛ º¹±¸
fsck_ecannot=ÀÌ µð½ºÅ©¸¦ º¹±¸ÇÒ ¼ö ¾ø½À´Ï´Ù
fsck_desc=<b>º¹±¸</b> ¹öÆ°¸¦ ´©¸£¸é $2ÀÇ $1À»(¸¦) °Ë»çÇÑ ÈÄ ÇÊ¿äÇÑ °æ¿ì º¹±¸ÇÕ´Ï´Ù. °Ë»ç ¹× º¹±¸ ¼öÁØÀº ´ÙÀ½°ú °°Àº »ç¿ëÀÚ ¼±ÅÃ »çÇ×¿¡ µû¶ó °áÁ¤µË´Ï´Ù.
fsck_mode0=ÆÄÀÏ ½Ã½ºÅÛ »óÅÂ¸¸ º¸°íÇÕ´Ï´Ù.
fsck_mode1=ÀüÃ¼ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¿À·ù¸¦ °Ë»çÇÏÁö¸¸ ¹ß°ßµÈ ¿À·ù¸¦ ¼öÁ¤ÇÏÁö ¾Ê½À´Ï´Ù.
fsck_mode2=ÀüÃ¼ ÆÄÀÏ ½Ã½ºÅÛÀÇ ¿À·ù¸¦ °Ë»çÇÏ°í ¹ß°ßµÈ ¿À·ù¸¦ ¸ðµÎ ¼öÁ¤ÇÕ´Ï´Ù.
fsck_repair=º¹±¸
fsck_exec=$1 ¸í·É ½ÇÇà Áß..
fsck_0=¹ß°ßµÈ ¿À·ù°¡ ¾ø½À´Ï´Ù
fsck_1=Àß¸øµÈ ¸Å°³ º¯¼öÀÔ´Ï´Ù
fsck_32=ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇØ¾ß ÇÕ´Ï´Ù
fsck_34=ÀåÄ¡¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù
fsck_36=Á¤Á¤ÇÒ ¼ö ¾ø´Â ¿À·ù°¡ ÀÖ½À´Ï´Ù
fsck_37=°Ë»ç µµÁß ÇÁ·Î¼¼½º°¡ Áß´ÜµÇ¾ú½À´Ï´Ù
fsck_39=Á¤Á¤ÇÒ ¼ö ¾ø´Â ¿À·ù°¡ ÀÖ½À´Ï´Ù!
fsck_40=¿À·ù°¡ ¾ø½À´Ï´Ù
fsck_unknown=¾Ë ¼ö ¾ø´Â ¿À·ù

tunefs_title=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
tunefs_ecannot=ÀÌ µð½ºÅ©¸¦ Á¶Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù
tunefs_desc=ÀÌ ¾ç½Ä¿¡¼­´Â $2ÀÇ $1¿¡ ´ëÇÑ ´Ù¾çÇÑ ¸Å°³ º¯¼ö¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ±âÁ¸ ÆÄÀÏ¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.
tunefs_header=¸Å°³ º¯¼ö Á¶Á¤
tunefs_opt=ÃÖÀûÈ­ ´ë»ó
tunefs_space=°ø°£
tunefs_time=½Ã°£
tunefs_tune=ÆÄÀÏ ½Ã½ºÅÛ Á¶Á¤
tunefs_a=ÃÖ´ë ÀÎÁ¢ ºí·Ï ¼ö
tunefs_d=È¸Àü Áö¿¬
tunefs_e=½Ç¸°´õ ±×·ì ´ç ÃÖ´ë ÆÄÀÏ ºí·Ï ¼ö
tunefs_m=¿¹¾àµÈ °ø°£ 
tunefs_err=ÆÄÀÏ ½Ã½ºÅÛÀ» Á¶Á¤ÇÏÁö ¸øÇß½À´Ï´Ù
tunefs_exec=$1 ¸í·É ½ÇÇà Áß..
tunefs_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
tunefs_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù

select_device=SCSI ÄÁÆ®·Ñ·¯ $1 ´ë»ó $2 ÀåÄ¡ $3
select_idedevice=RAID ÀåÄ¡ $1
select_part=SCSI ÄÁÆ®·Ñ·¯ $1 ´ë»ó $2 ÀåÄ¡ $3 ÆÄÆ¼¼Ç $4
select_idepart=IDE ÀåÄ¡ $1 ÆÄÆ¼¼Ç $2
opt_error='$1'Àº(´Â) À¯È¿ÇÑ $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù 
esun=ÆÄÆ¼¼ÇÀº Sun ÇÏµå¿þ¾î¿¡¼­¸¸ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù
emounted=µð½ºÅ©¿¡ ¸¶¿îÆ®µÈ ÆÄÆ¼¼Ç ÀÖ½À´Ï´Ù
elast=¸¶Áö¸· ÆÄÆ¼¼ÇÀ» Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù
eformat=<tt>format</tt> ÇÒ µð½ºÅ©¸¦ Ã£À» ¼ö ¾ø½À´Ï´Ù!

fstype_ufs=¼Ö¶ó¸®½º À¯´Ð½º ÆÄÀÏ ½Ã½ºÅÛ
fstype_unknown=¾Ë ¼ö ¾ø´Â ÆÄÀÏ ½Ã½ºÅÛ

acl_disks=ÀÌ »ç¿ëÀÚ°¡ ºÐÇÒ ¹× Æ÷¸ËÇÒ ¼ö ÀÖ´Â µð½ºÅ©
acl_dall=¸ðµç µð½ºÅ©
acl_dsel=¼±ÅÃÇÑ µð½ºÅ©..
07070100050b22000081a40000000000000002000000013d1fe2c300001a8a000000200000000000000000000000000000001500000003reloc/format/lang/pl  index_title=Partycje na lokalnych dyskach
index_disk=Dysk
index_parts=Partycje
index_location=Po³o¿enie
index_model=Model
index_unknown=Nieznany
index_cyl=Cylindry
index_unknown2=Nieznany typ dysku
index_no=Nr
index_type=Rodzaj
index_extent=Umiejscowienie
index_start=Pocz±tek
index_end=Koniec
index_use=Korzysta
index_free=Wolne
index_format=Ten dysk jest niesformatowany
index_return=listy dysków

edit_ecannot=Nie masz uprawnieñ do zmian tego dysku
edit_title=Zmieñ partycjê
edit_header=Dane partycji
edit_location=Po³o¿enie
edit_dev=Urz±dzenie
edit_type=Rodzaj
edit_flags=Znaczniki
edit_w=Zapisywalna
edit_m=Monowalna
edit_extent=Umiejscowienie
edit_stat=Stan
edit_meta=Czê¶æ MetaDysku
edit_metadb=Czê¶æ bazy danych MetaDysku
edit_mount=Zamontowana w&nbsp;$1 jako $2
edit_mountvm=Zamontowana jako pamiêæ wirtualna
edit_umount=Do zamontowania w&nbsp;$1 jako $2
edit_umountvm=Do zamontowania jako pamiêæ wirtualna
edit_nouse=Nie u¿ywana
edit_fs=System plików
edit_inuse=Tej partycji nie mo¿na zmieniaæ, gdy¿ jest aktualnie u¿ywana
edit_setup=Ustawienia
edit_change=Zmieñ
edit_tasks=Zadania dla pzrtycji
edit_newfs=Nowy system plików
edit_newdesc1=Tworzy nowy system plików na tej partycji, nieodwracalnie usuwaj±c wszelkie istniej±ce pliki. Musisz to uczyniæ po utworzeniu nowej partycji lub zmianie istniej±cej.
edit_newdesc2=Nie mo¿esz utworzyæ nowego systemu plików na tej partycji, gdy¿ nie zosta³a ona jeszcze skonfigurowana.
edit_newdesc3=Nie mo¿esz utworzyæ nowego systemu plików na tej partycji, gdy¿ jest ona aktualnie zamontowana. Odmontuj j± najpierw za pomoc± modu³u <a href=/mount/>Lokalne i&nbsp;sieciowe systemy plików</a>.
edit_fsckfs=Napraw system plików
edit_fsck=Napraw
edit_fsckdesc1=Wywo³uje program <tt>fsck</tt>, aby naprawiæ system plików tak, aby móg³ on byæ zamontowany. Mo¿e to byæ konieczne, je¶li system nie zosta³ prawid³owo zamkniêty.
edit_fsckdesc2=Nie mo¿esz sprawdziæ systemu plików na tej partycji, gdy¿ nie zosta³a ona jeszcze skonfigurowana.
edit_fsckdesc3=Nie mo¿esz sprawdziæ systemu plików na tej partycji, gdy¿ jest ona aktualnie zamontowana. Odmontuj j± najpierw za pomoc± modu³u <a href=/mount/>Lokalne i&nbsp;sieciowe systemy plików</a>.
edit_fsckdesc4=Nie mo¿esz sprawdziæ systemu plików na tej partycji, gdy¿ nie zawiera ona systemu plików.
edit_fsckdesc5=Nie mo¿esz sprawdziæ systemu plików na tej partycji, gdy¿ sprawdziæ mo¿na tylko systemy plików <tt>UFS</tt>.
edit_tunefs=Dostrój system plików
edit_tune=Dostrój
edit_tunedesc1=Pozwala zmieniæ ró¿ne parametry istniej±cego systemu plków
edit_tunedesc2=Nie mo¿esz dostrajaæ systemu plików na tej partycji, gdy¿ nie zosta³a ona jeszcze skonfigurowana.
edit_tunedesc3=Nie mo¿esz dostrajaæ systemu plików na tej partycji, gdy¿ jest ona aktualnie zamontowana. Odmontuj j± najpierw za pomoc± modu³u <a href=/mount/>Lokalne i&nbsp;sieciowe systemy plików</a>.
edit_tunedesc4=Nie mo¿esz dostrajaæ systemu plików na tej partycji, gdy¿ nie zawiera ona systemu plików.
edit_tunedesc5=Nie mo¿esz dostrajaæ systemu plików na tej partycji, gdy¿ mo¿na dostrajaæ jedynie systemy plików <tt>UFS</tt>.

save_ecannot=Nie masz upranieñ do zmian tego dysku
save_edelete=Nie uda³o siê skasowaæ partycji
save_esave=Nie uda³o siê zachowaæ partycji
save_estart='$1' nie jest poprawnym numerem pocz±tkowego cylindra
save_eend='$1' nie jest poprawnym numerem koñcowego cylindra
save_estartmin=Numer pocz±tkowego cylindra musi byæ > 0
save_eendmax=Numer koñcowego cylindra musi byæ < $1
save_estartend=Numer pocz±tkowego cylindra musi byæ mniejszy ni¼ numer koñcowego cylindra

newfs_title=Utwórz system plików
newfs_ecannot=Nie masz uprawnieñ do formatowania tego dysku
newfs_desc=Naciskaj±c przycisk u&nbsp;do³u tego formularza utworzysz nowy $1 na urz±dzeniu $2. Wszystkie dane z&nbsp;tej partycji zostan± nieodwracalnie usuniête.
newfs_warn=Ta partycja jest zamontowa na w&nbsp;$1. Utworzenie nowego systemu plików usunie wszystkie pliki, które by³y uprzednio dostêpne w&nbsp;tym katalogu.
newfs_header=Opcje systemu plików
ufs_a=Zapasowe bloki / cylinder
ufs_b=Rozmiar bloku logicznego
ufs_c=Cylindry / grupê
ufs_d=Opó¼nienie obrotu
ufs_f=Rozmiar fragmentu
ufs_i=Rozmiar i-wêz³a
ufs_m=Przestrzeñ zarezerwowana
ufs_n=Po³o¿enia rotacyjne
ufs_o=Optymalizowaæ wzglêdem
newfs_space=Przestrzeni
newfs_time=Czasu
ufs_r=Prêdko¶æ dysku
ufs_s=Rozmiar systemu plików
ufs_t=¦cie¿ek / cylinder
ufs_cb=Maks. ci±g³ych bloków
newfs_create=Utwórz system plików
newfs_err=Nie uda³o siê utworzyæ systemu plików
newfs_exec=Wykonywanie polecenia $1 ..
newfs_failed=.. polecenie zakoñczy³o siê niepowodzeniem!
newfs_ok=.. zakoñczone.

fsck_title=Napraw system plików
fsck_ecannot=Nie masz uprawnieñ do naprawy tego dysku
fsck_desc=Naciskajêc przycisk <b>Napraw</b> sprawdzisz i&nbsp;ewentualnie naprawisz $1 na $2. Poziom sprawdzania i&nbsp;naprawy zale¿y od Twojego wyboru poni¿ej.
fsck_mode0=Tylko podaj stan systemu plików.
fsck_mode1=Sprawd¼ ca³y system plików pod k±tem b³êdów, ale nic nie naprawiaj.
fsck_mode2=Sprawd¼ i&nbsp;napraw wszystkie znalezione w&nbsp;tym systemie plików b³êdy.
fsck_repair=Napraw
fsck_exec=Wykonujê polecenie $1 ..
fsck_0=nie znaleziono b³êdów
fsck_1=niepoprawne parametry
fsck_32=System plików wymaga sprawdzenia
fsck_34=nie uda³o siê otwprzyæ urz±dzenia
fsck_36=znaleziono nienaprawialne b³êdy
fsck_37=proces zosta³ zabity podczas sprawdzania
fsck_39=znaleziono nienaprawialne b³êdy!
fsck_40=nie znaleziono b³êdów
fsck_unknown=nieznany b³±d

tunefs_title=Dostrój system plików
tunefs_ecannot=Nie masz uprawnieñ do dostrajania systemów plików na tym dysku
tunefs_desc=Za pomoc± tego formularza mo¿esz dostroiæ ró¿ne parametry $1 na $2. Istniej±cym na tym systemie plików plikom nic siê nie stanie.
tunefs_header=Parametry dostrajania
tunefs_opt=Optymalizuj wed³ug
tunefs_space=Przestrzeni
tunefs_time=Czasu
tunefs_tune=Dostrój system plików
tunefs_a=Maks. ci±g³ych bloków
tunefs_d=Opó¼nienie obrotu
tunefs_e=Maks. bloków pliku w&nbsp;grupie cylindrów
tunefs_m=Przestrzeñ zarezerwowana
tunefs_err=Nie uda³o siê dostroiæ systemu plików
tunefs_exec=Wykonywanie polecenia $1 ..
tunefs_failed=.. polecenie zakoñczy³o siê niepowodzeniem!
tunefs_ok=.. zakoñczone.

select_device=Kontroler SCSI $1 urz±dzenie $2 podurz±dzenie $3
select_idedevice=Urz±dzenie IDE $1
select_part=Kontroler SCSI $1 urz±dzenie $2 podurz±dzenie $3 partycja $4
select_idepart=Urz±dzenie IDE $1 partycja $2
opt_error='$1' nie jest poprawnym $2
esun=Partycje mo¿na zmieniaæ tylko na sprzêcie Sun-a
emounted=Dysk zawiera podmontowane partycje
elast=Nie mo¿na usun±æ ostatniej partycji
eformat=<tt>format</tt> nie znalaz³ ¿adnego dysku!

fstype_ufs=Uniksowy system plików Solarisa
fstype_unknown=Nieznany system plików

acl_disks=Dyski, które ten u¿ytkownik mo¿e partycjonowaæ i&nbsp;formatowaæ
acl_dall=Wszystkie dyski
acl_dsel=Wybrane..
  07070100050b23000081a40000000000000002000000013d1fe2c3000018ad000000200000000000000000000000000000001500000003reloc/format/lang/sv  index_title=Partitioner på lokala diskar
index_disk=Disk
index_parts=Partitioner
index_location=Plats
index_model=Modell
index_unknown=Okänd
index_cyl=Cylindrar
index_unknown2=Okänd disktyp
index_no=Nr
index_type=Typ
index_extent=Omfattning
index_start=Start
index_end=Slut
index_use=Använt
index_free=Ledigt
index_format=Den här disken är inte formaterad
index_return=disklista

edit_ecannot=Du får inte ändra något för den här disken
edit_title=Ändra partition
edit_header=Uppgifter om partition
edit_location=Plats
edit_dev=Disk
edit_type=Typ
edit_flags=Flaggor
edit_w=Skrivbar
edit_m=Monteringsbar
edit_extent=Omfattning
edit_stat=Status
edit_meta=Del av MetaDisk
edit_metadb=Del av MetaDisk-databas
edit_mount=Monterad på $1 som $2
edit_mountvm=Monterad som virtuellt minne
edit_umount=För montering på $1 som $2
edit_umountvm=För montering som virtuellt minne
edit_nouse=Används inte
edit_fs=Filsystem
edit_inuse=Denna partition får inte ändras, eftersom den används just nu
edit_setup=Sätta upp
edit_change=Ändra
edit_tasks=Partitionens syfte
edit_newfs=Nytt filsystem
edit_newdesc1=Skapar ett nytt filsystem på denna partition och raderar därmed alla befintliga filer permanent. Detta måste göras när en ny partition skapats eller en befintlig ändrats.
edit_newdesc2=Det går inte att skapa ett nytt filsystem på denna partition eftersom den inte satts upp än.
edit_newdesc3=Det går inte att skapa ett nytt filsystem på denna partition eftersom den just nu monteras av någon klient. Använd <a href=/mount/>filsystemsmodulen</a> för att montera av partitionen först.
edit_fsckfs=Reparera filsystem
edit_fsck=Reparera
edit_fsckdesc1=Använder programmet <tt>fsck</tt> för att reparera ett filsystem så att det går att montera. Detta kan bli nödvändigt om systemet inte togs ned på rätt sätt.
edit_fsckdesc2=Det går inte att kontrollera filsystemet på denna partition eftersom det inte har satts upp än.
edit_fsckdesc3=Det går inte att kontrollera filsystemet på denna partition eftersom den just nu monteras av en klient. Använd <a href=/mount/>filsystemsmodulen</a> för att montera av den först.
edit_fsckdesc4=Det går inte att kontrollera filsystemet på denna partition eftersom den inte har något.
edit_fsckdesc5=Det går inte att kontrollera filsystemet på denna partition eftersom endast <tt>UFS</tt>-filsystem kan kontrolleras.
edit_tunefs=Trimma filsystem
edit_tune=Trimma
edit_tunedesc1=Gör att det går att ändra diverse parametrar för ett befintligt filsystem
edit_tunedesc2=Det går inte att trimma filsystemet på denna partition eftersom det inte har satts upp än.
edit_tunedesc3=Det går inte att trimma filsystemet på denna partition eftersom den just nu monsteras av en klient. Använd <a href=/mount/>filsystemsmodulen</a> för att montera av den först.
edit_tunedesc4=Det går inte att trimma filsystemet på denna partition eftersom den inte har något.
edit_tunedesc5=Det går inte att trimma filsystemet på denna partition eftersom endast <tt>UFS</tt>-filsystem kan trimmas.

save_ecannot=Du får inte ändra något för denna disk
save_edelete=Det gick inte att ta bort partitionen
save_esave=Det gick inte att spara partitionen
save_estart='$1' är inte en giltig startcylinder
save_eend='$1' är inte en giltig slutcylinder
save_estartmin=Startcylindern måste vara > 0
save_eendmax=Slutcylindern måste vara < $1
save_estartend=Startcylindern måste ha ett lägre värde än slutcylindern

newfs_title=Skapa filsystem
newfs_ecannot=Du får inte formatera denna disk
newfs_desc=Skapa en ny $1 på disk $2 genom att trycka på knappen längst ned. Alla data på denna partition kommer att raderas permanent.
newfs_warn=Denna partition har monterats på $1. När ett nytt filsystem skapas kommer alla tidigare tillgängliga filer under denna katalog att raderas.
newfs_header=Filsystemsinställningar
ufs_a=Reservblock/cylinder
ufs_b=Logisk blockstorlek
ufs_c=Cylindrar/grupp
ufs_d=Rotationsintervall
ufs_f=Fragmentstorlek
ufs_i=Inode-storlek
ufs_m=Reserverat utrymme
ufs_n=Rotationspositioner
ufs_o=Optimera med avseende på
newfs_space=Utrymme
newfs_time=Tid
ufs_r=Diskhastighet
ufs_s=Filsystemsstorlek
ufs_t=Spår/cylinder
ufs_cb=Maximalt antal intilliggande block
newfs_create=Skapa filsystem
newfs_err=Det gick inte att skapa filsystem
newfs_exec=Utför kommando $1 ...
newfs_failed=... det gick inte!
newfs_ok=... klart.

fsck_title=Reparera filsystem
fsck_ecannot=Du får inte reparera denna disk
fsck_desc=Om du trycker på knappen <b>Reparera</b> kommer $1 på $2 att kontrolleras och repareras. Ange nivå för kontroll och reparation nedan.
fsck_mode0=Rapportera endast filsystemets status.
fsck_mode1=Felkontrollera hela filsystemet, men rätta inte de fel som hittas.
fsck_mode2=Felkontrollera och rätta felen i hela filsystemet.
fsck_repair=Reparera
fsck_exec=Utför kommando $1 ...
fsck_0=inga fel hittades
fsck_1=felaktiga parametrar
fsck_32=filsystemet behöver kontrolleras
fsck_34=kunde inte läsa disken
fsck_36=hittade fel som inte går att rätta till
fsck_37=processen slogs ihjäl under kontrollen
fsck_39=hittade fel som inte går att rätta till!
fsck_40=inga fel hittades
fsck_unknown=okänt fel

tunefs_title=Trimma filsystem
tunefs_ecannot=Du får inte trimma denna disk
tunefs_desc=Med detta formulär kan du justera diverse parametrar för $1 på $2. Befintliga filer på detta filsystem kommer inte att påverkas.
tunefs_header=Trimningsparametrar
tunefs_opt=Optimera med avseende på
tunefs_space=Utrymme
tunefs_time=Tid
tunefs_tune=Trimma filsystem
tunefs_a=Maximalt antal intilliggande block
tunefs_d=Rotationsintervall
tunefs_e=Maximalt antal filblock per cylindergrupp
tunefs_m=Reserverat utrymme
tunefs_err=Det gick inte att trimma filsystemet
tunefs_exec=Utför kommando $1 ...
tunefs_failed=... det gick inte!
tunefs_ok=... klart.

select_device=SCSI-kontroller $1 mål $2 disk $3
select_idedevice=IDE-disk $1
select_part=SCSI-kontroller $1 mål $2 disk $3 partition $4
select_idepart=IDE-disk $1 partition $2
opt_error='$1' är inte en giltig $2
esun=Partitioner kan endast modifieras på Sun-hårdvara
emounted=Disken har monterade partitioner
elast=Den sista partitionen får inte tas bort
eformat=<tt>format</tt> hittade inga diskar!

fstype_ufs=Solaris Unix-filsystem
fstype_unknown=Okänt filsystem

acl_disks=Diskar som denna användare får partitionera och formatera
acl_dall=Alla diskar
acl_dsel=Angivna ...
   07070100050b24000081a40000000000000002000000013d1fe2c30000007d000000200000000000000000000000000000001500000003reloc/format/lang/tr  select_device=SCSI kontrol edicisi $1 hedef $2 bölüm $3
select_part=SCSI kontrol edicisi $1 hedef $2 bölüm $3 disk bölümü $4
   07070100050b25000081a40000000000000002000000013d1fe2c30000113f000000200000000000000000000000000000001800000003reloc/format/lang/zh_CN   index_title=·ÖÇøºÍ±¾µØ´ÅÅÌ
index_disk=´ÅÅÌ
index_parts=·ÖÇø
index_location=Î»ÖÃ
index_model=Ä£ÐÍ
index_unknown=Î´Öª
index_cyl=ÖùÃæ
index_unknown2=´ÅÅÌÀàÐÍÎ´Öª
index_no=±êºÅ
index_type=ÀàÐÍ
index_extent=·¶Î§
index_start=¿ªÊ¼
index_end=½áÊø
index_use=Ê¹ÓÃ
index_free=¿ÕÏÐ
index_format=´ÅÅÌÎ´¸ñÊ½»¯
index_return=´ÅÅÌÁÐ±í
edit_ecannot=ÄúÃ»ÓÐ±à¼­´Ë´ÅÅÌµÄÈ¨ÏÞ
edit_title=±à¼­·ÖÇø
edit_header=·ÖÇøÏêÇé
edit_location=Î»ÖÃ
edit_dev=Éè±¸
edit_type=ÀàÐÍ
edit_flags=±ê¼Ç
edit_w=¿ÉÐ´
edit_m=¿É¹Ò×°
edit_extent=·¶Î§
edit_stat=×´Ì¬
edit_meta=Ô­´ÅÅÌµÄÒ»²¿·Ö
edit_metadb=Ô­´ÅÅÌÊý¾Ý¿âµÄÒ»²¿·Ö
edit_mount=ÒÔ$2¹Ò×°µ½$1ÉÏ
edit_mountvm=ÒÔÐéÄâÄÚ´æ¹Ò×°
edit_umount=ÎªÁËÒÔ$2¹Ò×°µ½$1ÉÏ
edit_umountvm=ÎªÁËÒÔÐéÄâÄÚ´æ¹Ò×°
edit_nouse=²»ÔÚÊ¹ÓÃÖÐ
edit_fs=ÎÄ¼þÏµÍ³
edit_inuse=´Ë·ÖÇøÕýÔÚÊ¹ÓÃÖÐ£¬²»ÄÜ¹»ÐÞ¸Ä
edit_setup=ÉèÖÃ
edit_change=¸Ä±ä
edit_tasks=·ÖÇøÈÎÎñ
edit_newfs=ÐÂµÄÎÄ¼þÏµÍ³
edit_newdesc1=ÔÚ´Ë·ÖÇøÉÏ´´½¨ÐÂµÄÎÄ¼þÏµÍ³½«ÓÀ¾ÃÉ¾³ýÈÎºÎÏÖÓÐÎÄ¼þ¡£Äú±ØÐëÔÚ´´½¨ÐÂ·ÖÇø»ò¸ü¸ÄÏÖÓÐ·ÖÇøºó²Å´´½¨ÐÂµÄÎÄ¼þÏµÍ³¡£
edit_newdesc2=Äú²»ÄÜÔÚ´Ë·ÖÇøÉÏ´´½¨ÐÂµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÉÐÎ´ÉèÖÃ¡£
edit_newdesc3=Äú²»ÄÜÔÚ´Ë·ÖÇøÉÏ´´½¨ÐÂµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÄ¿Ç°ÒÑ¹Ò×°¡£ÏÈÊ¹ÓÃ<a href=/mount/>ÎÄ¼þÏµÍ³Ä£¿é</a>À´Ð¶×°¸Ã·ÖÇø¡£
edit_fsckfs=ÐÞ¸´ÎÄ¼þÏµÍ³
edit_fsck=ÐÞ¸´
edit_fsckdesc1=µ÷ÓÃ<tt>fsck</tt>³ÌÐòÀ´ÐÞ¸´ÎÄ¼þÏµÍ³£¬´Ó¶øÊ¹¸ÃÎÄ¼þÏµÍ³ÄÜ¹»±»¹Ò×°¡£Èç¹ûÄúÃ»ÓÐÕýÈ·¹Ø±ÕÏµÍ³£¬¿ÉÄÜ±ØÐëÔËÐÐ¸Ã³ÌÐò¡£
edit_fsckdesc2=Äú²»ÄÜ¼ì²é´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³,ÒòÎª·ÖÇø»¹Ã»ÓÐÉèÖÃ¡£
edit_fsckdesc3=Äú²»ÄÜ¼ì²é´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÄ¿Ç°ÒÑ¹Ò×°¡£ÏÈÊ¹ÓÃ<a href=/mount/>ÎÄ¼þÏµÍ³Ä£¿é</a>À´Ð¶×°¸Ã·ÖÇø¡£
edit_fsckdesc4=Äú²»ÄÜ¼ì²é´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÉÏÃ»ÓÐÎÄ¼þÏµÍ³¡£
edit_fsckdesc5=Äú²»ÄÜ¼ì²é´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÖ»ÓÐ<tt>UFS</tt>ÎÄ¼þÏµÍ³¿É±»¼ì²é¡£
edit_tunefs=µ÷ÕûÎÄ¼þÏµÍ³
edit_tune=µ÷Õû
edit_tunedesc1=ÔÊÐíÐÞ¸ÄÏÖÓÐÎÄ¼þÏµÍ³µÄ²»Í¬²ÎÊý
edit_tunedesc2=Äú²»ÄÜµ÷Õû´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³,ÒòÎª·ÖÇø»¹Ã»ÓÐÉèÖÃ¡£
edit_tunedesc3=Äú²»ÄÜµ÷Õû´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÄ¿Ç°ÒÑ¹Ò×°¡£ÏÈÊ¹ÓÃ<a href=/mount/>ÎÄ¼þÏµÍ³Ä£¿é</a>À´Ð¶×°¸Ã·ÖÇø¡£¡£
edit_tunedesc4=Äú²»ÄÜµ÷Õû´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÆäÉÏÃ»ÓÐÎÄ¼þÏµÍ³¡£
edit_tunedesc5=Äú²»ÄÜµ÷Õû´Ë·ÖÇøÉÏµÄÎÄ¼þÏµÍ³£¬ÒòÎªÖ»ÓÐ<tt>UFS</tt>ÎÄ¼þÏµÍ³¿É±»¼ì²é¡£
save_ecannot=ÄúÃ»ÓÐ±à¼­¸Ã´ÅÅÌµÄÈ¨ÏÞ
save_edelete=É¾³ý·ÖÇøÊ§°Ü
save_esave=±£´æ·ÖÇøÊ§°Ü
save_estart='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÆðÊ¼ÖùÃæ
save_eend='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ½áÊøÖùÃæ
save_estartmin=ÆðÊ¼ÖùÃæ±ØÐë´óÓÚ0
save_eendmax=½áÊøÖùÃæ±ØÐëÐ¡ÓÚ$1
save_estartend=ÆðÊ¼ÖùÃæ±ØÐëÐ¡ÓÚ½áÊøÖùÃæ
newfs_title=´´½¨ÎÄ¼þÏµÍ³
newfs_ecannot=ÄúÃ»ÓÐ¸ñÊ½»¯´ÅÅÌµÄÈ¨ÏÞ
newfs_desc=µã»÷´Ë±íµ×²¿µÄ°´Å¥½«ÔÚÉè±¸ $2 ÉÏ´´½¨Ò»¸öÐÂµÄ $1,·ÖÇøÉÏµÄËùÓÐÊý¾Ý½«»á±»³¹µ×É¾³ý¡£
newfs_warn=·ÖÇøÒÑ¾­¹Ò×°µ½ $1,´´½¨Ò»¸öÐÂµÄÎÄ¼þÏµÍ³½«»áÉ¾³ý´ËÄ¿Â¼ÏÂÒÔÇ°¿ÉÒÔ·ÃÎÊµÄËùÓÐÎÄ¼þ¡£
newfs_header=ÎÄ¼þÏµÍ³Ñ¡Ïî
ufs_a=¿ÕÏÐ¿é/ÖùÃæ
ufs_b=Âß¼­¿é´óÐ¡
ufs_c=ÖùÃæ/×é
ufs_d=×ª¶¯ÑÓ³Ù
ufs_f=ËéÆ¬´óÐ¡
ufs_i=Inode´óÐ¡
ufs_m=Ô¤Áô¿Õ¼ä
ufs_n=×ª¶¯Î»ÖÃ
ufs_o=ÓÅ»¯
newfs_space=¿Õ¼ä
newfs_time=Ê±¼ä
ufs_r=´ÅÅÌËÙ¶È
ufs_s=ÎÄ¼þÏµÍ³´óÐ¡
ufs_t=´ÅµÀ/ÉÈÇø
ufs_cb=×î´óÁ¬Ðø¿é´óÐ¡
newfs_create=´´½¨ÎÄ¼þÏµÍ³
newfs_err=´´½¨ÎÄ¼þÏµÍ³Ê§°Ü
newfs_exec=Ö´ÐÐÃüÁî$1..
newfs_failed=..ÃüÁîÊ§°Ü!
newfs_ok=..ÃüÁî½áÊø¡£
fsck_title=ÐÞ¸´ÎÄ¼þÏµÍ³
fsck_ecannot=ÄúÃ»ÓÐÐÞ¸´¸Ã´ÅÅÌµÄÈ¨ÏÞ
fsck_desc=µã»÷<b>ÐÞ¸´</b>°´Å¥½«»á¼ì²âºÍÓÐÑ¡ÔñµØÐÞ¸´$2ÉÏµÄ$1.¼ì²âºÍÐÞ¸´±ê×¼ÓÉÄúÏÂÃæ×÷³öµÄÑ¡Ôñ¶øÈ·¶¨¡£
fsck_mode0=½ö±¨¸æÎÄ¼þÏµÍ³×´Ì¬¡£
fsck_mode1=¼ì²âÕû¸öÎÄ¼þÏµÍ³ÖÐµÄ´íÎó£¬µ«²»ÐÞ¸´ÈÎºÎ·¢ÏÖµÄ´íÎó¡£
fsck_mode2=¼ì²âÕû¸öÎÄ¼þÏµÍ³,²¢ÐÞ¸´ÈÎºÎ·¢ÏÖµÄ´íÎó¡£
fsck_repair=ÐÞ¸´
fsck_exec=Ö´ÐÐÃüÁî $1 ..
fsck_0=Ã»ÓÐ¼ì²âµ½´íÎó
fsck_1=²ÎÊý´íÎó
fsck_32=ÎÄ¼þÏµÍ³ÐèÒª¼ì²é
fsck_34=Éè±¸²»ÄÜ´ò¿ª
fsck_36=¼ì²âµ½ÎÞ·¨ÐÞ¸´µÄ´íÎó
fsck_37=ÔÚ¼ì²âÖÐ½ø³Ì±»É±
fsck_39=¼ì²âµ½ÎÞ·¨ÐÞ¸´µÄ´íÎó!
fsck_40=Î´·¢ÏÖÈÎºÎ´íÎó¡£
fsck_unknown=²»ÈÏÊ¶µÄ´íÎó
tunefs_title=µ÷ÕûÎÄ¼þÏµÍ³
tunefs_ecannot=ÄúÃ»ÓÐµ÷Õû¸Ã´ÅÅÌµÄÈ¨ÏÞ
tunefs_desc=´Ë±íÈÃÄúµ÷Õû$2ÉÏ$1µÄ²»Í¬²ÎÊý¡£ÎÄ¼þÏµÍ³ÉÏµÄÏÖÓÐÎÄ¼þ²»»áÊÜµ½ÆÆ»µ¡£
tunefs_header=µ÷Õû²ÎÊý
tunefs_opt=ÓÅ»¯
tunefs_space=¿Õ¼ä
tunefs_time=Ê±¼ä
tunefs_tune=µ÷ÕûÎÄ¼þÏµÍ³
tunefs_a=×î´óµÄÁ¬Ðø¿é
tunefs_d=×ª¶¯ÑÓ³Ù
tunefs_e=Ã¿ÖùÃæ×éµÄ×î´óÎÄ¼þ¿éÊý
tunefs_m=±£Áô¿Õ¼ä
tunefs_err=µ÷ÕûÎÄ¼þÏµÍ³Ê§°Ü
tunefs_exec=Ö´ÐÐÃüÁî$1..
tunefs_failed=..ÃüÁîÊ§°Ü!
tunefs_ok=..ÃüÁî½áÊø
select_device=SCSI¿ØÖÆÆ÷$1 Ä¿±ê$2 µ¥Ôª$3
select_idedevice=IDEÉè±¸ $1
select_part=SCSI¿ØÖÆÆ÷$1 Ä¿±ê$2 µ¥Ôª$3 ·ÖÇø$4
select_idepart=IDEÉè±¸$1 ·ÖÇø$2
opt_error='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ$2
esun=·ÖÇø½öÄÜ¹»ÔÚSUNÓ²¼þÆ½Ì¨ÏÂ½øÐÐÐÞ¸Ä
emounted=´ÅÅÌÉÏÓÐ¹Ò×°µÄ·ÖÇø
elast=×îºóµÄ·ÖÇø²»ÄÜÒÆÈ¥
eformat=<tt>format</tt> Ã»ÓÐ·¢ÏÖÈÎºÎ´ÅÅÌ!
fstype_ufs=Solaris UnixÎÄ¼þÏµÍ³
fstype_unknown=Î´ÖªÎÄ¼þÏµÍ³
acl_disks=¸ÃÓÃ»§ÄÜ¹»·ÖÇøºÍ¸ñÊ½»¯µÄ´ÅÅÌ
acl_dall=ËùÓÐ´ÅÅÌ
acl_dsel=Ñ¡Ôñ..
 07070100050b26000081a40000000000000002000000013d1fe2c3000011a3000000200000000000000000000000000000001d00000003reloc/format/lang/zh_TW.Big5  index_title=¤À³Î°Ï©M¥»¦aºÏºÐ
index_disk=ºÏºÐ
index_parts=¤À³Î°Ï
index_location=¦ì¸m
index_model=¼Ò«¬
index_unknown=¥¼ª¾
index_cyl=ºÏ¬W
index_unknown2=ºÏºÐÃþ«¬¥¼ª¾
index_no=§Ç¸¹
index_type=Ãþ«¬
index_extent=½d³ò
index_start=¶}©l
index_end=µ²§ô
index_use=¨Ï¥Î
index_free=ªÅ¶¢
index_format=ºÏºÐ¥¼®æ¦¡¤Æ
index_return=ºÏºÐ¦Cªí

edit_ecannot=±z¨S¦³½s¿è¦¹ºÏºÐªºÅv­­
edit_title=½s¿è¤À³Î°Ï
edit_header=¤À³Î°Ï¤º®e
edit_location=¦ì¸m
edit_dev=¸Ë¸m
edit_type=Ãþ«¬
edit_flags=¼ÐÅÒ
edit_w=¥i¼g¤J
edit_m=¥i±¾¸ü
edit_extent=½d³ò
edit_stat=ª¬ºA
edit_meta=­ìºÏºÐªº¤@³¡¤À
edit_metadb=­ìºÏºÐ¸ê®Æ®wªº¤@³¡¤À
edit_mount=¥H$2±¾¸ü¨ì$1¤W
edit_mountvm=¥HµêÀÀ°O¾ÐÅé±¾¸ü
edit_umount=¬°¤F¥H$2±¾¸ü¨ì$1¤W
edit_umountvm=¬°¤F¥HµêÀÀ°O¾ÐÅé±¾¸ü
edit_nouse=¤£¦b¨Ï¥Î¤¤
edit_fs=ÀÉ®×¨t²Î
edit_inuse=¦¹¤À³Î°Ï¥¿¦b¨Ï¥Î¤¤¡A¤£¯à°÷­×§ï
edit_setup=³]©w
edit_change=§ïÅÜ
edit_tasks=¤À³Î°Ï¥ô°È
edit_newfs=·sªºÀÉ®×¨t²Î
edit_newdesc1=¦b¦¹¤À³Î°Ï¤W·s¼W·sªºÀÉ®×¨t²Î±N¥Ã¤[§R°£¥ô¦ó²{¦³ÀÉ®×¡C±z¥²¶·¦b·s¼W·s¤À³Î°Ï©Î§ó§ï²{¦³¤À³Î°Ï«á¤~·s¼W·sªºÀÉ®×¨t²Î¡C
edit_newdesc2=±z¤£¯à¦b¦¹¤À³Î°Ï¤W·s¼W·sªºÀÉ®×¨t²Î¡A¦]¬°¨ä©|¥¼³]©w¡C
edit_newdesc3=±z¤£¯à¦b¦¹¤À³Î°Ï¤W·s¼W·sªºÀÉ®×¨t²Î¡A¦]¬°¨ä¥Ø«e¤w±¾¸ü¡C¥ý¨Ï¥Î<a href=/mount/>ÀÉ®×¨t²Î¼Ò²Õ</a>¨Ó¨ø¸ü¸Ó¤À³Î°Ï¡C
edit_fsckfs=­×´_ÀÉ®×¨t²Î
edit_fsck=­×´_
edit_fsckdesc1=½Õ¥Î<tt>fsck</tt>µ{¦¡¨Ó­×´_ÀÉ®×¨t²Î¡A±q¦Ó¨Ï¸ÓÀÉ®×¨t²Î¥i¥H³Q±¾¸ü¡C¦pªG±z¨S¦³¥¿½TÃö³¬¨t²Î¡A¥i¯à¥²¶·°õ¦æ¸Óµ{¦¡¡C
edit_fsckdesc2=±z¤£¯àÀË¬d¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î,¦]¬°¤À³Î°ÏÁÙ¨S¦³³]©w¡C
edit_fsckdesc3=±z¤£¯àÀË¬d¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¨ä¥Ø«e¤w±¾¸ü¡C¥ý¨Ï¥Î<a href=/mount/>ÀÉ®×¨t²Î¼Ò²Õ</a>¨Ó¨ø¸ü¸Ó¤À³Î°Ï¡C
edit_fsckdesc4=±z¤£¯àÀË¬d¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¨ä¤W¨S¦³ÀÉ®×¨t²Î¡C
edit_fsckdesc5=±z¤£¯àÀË¬d¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¥u¦³<tt>UFS</tt>ÀÉ®×¨t²Î¥i³QÀË¬d¡C
edit_tunefs=½Õ¾ãÀÉ®×¨t²Î
edit_tune=½Õ¾ã
edit_tunedesc1=¤¹³\­×§ï²{¦³ÀÉ®×¨t²Îªº¤£¦P°Ñ¼Æ
edit_tunedesc2=±z¤£¯à½Õ¾ã¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î,¦]¬°¤À³Î°ÏÁÙ¨S¦³³]©w¡C
edit_tunedesc3=±z¤£¯à½Õ¾ã¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¨ä¥Ø«e¤w±¾¸ü¡C¥ý¨Ï¥Î<a href=/mount/>ÀÉ®×¨t²Î¼Ò²Õ</a>¨Ó¨ø¸ü¸Ó¤À³Î°Ï¡C¡C
edit_tunedesc4=±z¤£¯à½Õ¾ã¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¨ä¤W¨S¦³ÀÉ®×¨t²Î¡C
edit_tunedesc5=±z¤£¯à½Õ¾ã¦¹¤À³Î°Ï¤WªºÀÉ®×¨t²Î¡A¦]¬°¥u¦³<tt>UFS</tt>ÀÉ®×¨t²Î¥i³QÀË¬d¡C

save_ecannot=±z¨S¦³½s¿è¸ÓºÏºÐªºÅv­­
save_edelete=§R°£¤À³Î°Ï¥¢±Ñ
save_esave=Àx¦s¤À³Î°Ï¥¢±Ñ
save_estart='$1'¤£¬O¤@­Ó¦³®Äªº°_©lºÏ¬W
save_eend='$1'¤£¬O¤@­Ó¦³®Äªºµ²§ôºÏ¬W
save_estartmin=°_©lºÏ¬W¥²¶·¤j©ó0
save_eendmax=µ²§ôºÏ¬W¥²¶·¤p©ó$1
save_estartend=°_©lºÏ¬W¥²¶·¤p©óµ²§ôºÏ¬W

newfs_title=·s¼WÀÉ®×¨t²Î
newfs_ecannot=±z¨S¦³®æ¦¡¤ÆºÏºÐªºÅv­­
newfs_desc=ÂIÀ»¦¹ªí³æ¤U¤èªº«ö¶s±N¦b¸Ë¸m $2 ¤W·s¼W¤@­Ó·sªº $1,¤À³Î°Ï¤Wªº©Ò¦³¸ê®Æ±N·|³Q¹ý©³§R°£¡C
newfs_warn=¤À³Î°Ï¤w¸g±¾¸ü¨ì $1,·s¼W¤@­Ó·sªºÀÉ®×¨t²Î±N·|§R°£¦¹¥Ø¿ý¤U¥H«e¥i¥H³X°Ýªº©Ò¦³ÀÉ®×¡C
newfs_header=ÀÉ®×¨t²Î¿ï¶µ
ufs_a=ªÅ¶¢°Ï¶ô/ºÏ¬W
ufs_b=ÅÞ¿è°Ï¶ô¤j¤p
ufs_c=ºÏ¬W/²Õ
ufs_d=Âà°Ê©µ¿ð
ufs_f=¸H¤ù¤j¤p
ufs_i=Inode¤j¤p
ufs_m=¹w¯dªÅ¶¡
ufs_n=Âà°Ê¦ì¸m
ufs_o=³Ì¨Î¤Æ
newfs_space=ªÅ¶¡
newfs_time=®É¶¡
ufs_r=ºÏºÐ³t«×
ufs_s=ÀÉ®×¨t²Î¤j¤p
ufs_t=ºÏ­y/ºÏ°Ï
ufs_cb=³Ì¤j³sÄò°Ï¶ô¤j¤p
newfs_create=·s¼WÀÉ®×¨t²Î
newfs_err=·s¼WÀÉ®×¨t²Î¥¢±Ñ
newfs_exec=°õ¦æ©R¥O$1..
newfs_failed=..©R¥O¥¢±Ñ!
newfs_ok=..©R¥Oµ²§ô¡C

fsck_title=­×´_ÀÉ®×¨t²Î
fsck_ecannot=±z¨S¦³­×´_¸ÓºÏºÐªºÅv­­
fsck_desc=ÂIÀ»<b>­×´_</b>«ö¶s±N·|ÀË´ú©M¦³¿ï¾Ü¦a­×´_$2¤Wªº$1.ÀË´ú©M­×´_¼Ð·Ç¥Ñ±z¤U­±§@¥Xªº¿ï¾Ü¦Ó¨M©w¡C
fsck_mode0=¶È³ø§iÀÉ®×¨t²Îª¬ºA¡C
fsck_mode1=ÀË´ú¾ã­ÓÀÉ®×¨t²Î¤¤ªº¿ù»~¡A¦ý¤£­×´_¥ô¦óµo²{ªº¿ù»~¡C
fsck_mode2=ÀË´ú¾ã­ÓÀÉ®×¨t²Î,¨Ã­×´_¥ô¦óµo²{ªº¿ù»~¡C
fsck_repair=­×´_
fsck_exec=°õ¦æ©R¥O $1 ..
fsck_0=¨S¦³ÀË´ú¨ì¿ù»~
fsck_1=°Ñ¼Æ¿ù»~
fsck_32=ÀÉ®×¨t²Î»Ý­nÀË¬d
fsck_34=¸Ë¸m¤£¯à¥´¶}
fsck_36=ÀË´ú¨ìµLªk­×´_ªº¿ù»~
fsck_37=¦bÀË´ú¤¤¶iµ{³Q±þ
fsck_39=ÀË´ú¨ìµLªk­×´_ªº¿ù»~!
fsck_40=¥¼µo²{¥ô¦ó¿ù»~¡C
fsck_unknown=¤£»{ÃÑªº¿ù»~

tunefs_title=½Õ¾ãÀÉ®×¨t²Î
tunefs_ecannot=±z¨S¦³½Õ¾ã¸ÓºÏºÐªºÅv­­
tunefs_desc=¦¹ªíÅý±z½Õ¾ã$2¤W$1ªº¤£¦P°Ñ¼Æ¡CÀÉ®×¨t²Î¤Wªº²{¦³ÀÉ®×¤£·|¨ü¨ì¯}Ãa¡C
tunefs_header=½Õ¾ã°Ñ¼Æ
tunefs_opt=³Ì¨Î¤Æ
tunefs_space=ªÅ¶¡
tunefs_time=®É¶¡
tunefs_tune=½Õ¾ãÀÉ®×¨t²Î
tunefs_a=³Ì¤jªº³sÄò°Ï¶ô
tunefs_d=Âà°Ê©µ¿ð
tunefs_e=¨CºÏ¬W²Õªº³Ì¤j¤å¥ó°Ï¶ô¼Æ
tunefs_m=«O¯dªÅ¶¡
tunefs_err=½Õ¾ãÀÉ®×¨t²Î¥¢±Ñ
tunefs_exec=°õ¦æ©R¥O$1..
tunefs_failed=..©R¥O¥¢±Ñ!
tunefs_ok=..©R¥Oµ²§ô

select_device=SCSI±±¨î¾¹$1 ¥Ø¼Ð$2 ³æ¤¸$3
select_idedevice=IDE¸Ë¸m $1
select_part=SCSI±±¨î¾¹$1 ¥Ø¼Ð$2 ³æ¤¸$3 ¤À³Î°Ï$4
select_idepart=IDE¸Ë¸m$1 ¤À³Î°Ï$2
opt_error='$1'¤£¬O¤@­Ó¦³®Äªº$2
esun=¤À³Î°Ï¶È¥i¥H¦bSUNµwÅé¥­»O¤U¶i¦æ­×§ï
emounted=ºÏºÐ¤W¦³±¾¸üªº¤À³Î°Ï
elast=³Ì«áªº¤À³Î°Ï¤£¯à²¾¥h
eformat=<tt>format</tt> ¨S¦³µo²{¥ô¦óºÏºÐ!

fstype_ufs=Solaris UnixÀÉ®×¨t²Î
fstype_unknown=¥¼ª¾ÀÉ®×¨t²Î

acl_disks=¸Ó¨Ï¥ÎªÌ¥i¥H¤À³Î°Ï©M®æ¦¡¤ÆªººÏºÐ
acl_dall=©Ò¦³ºÏºÐ
acl_dsel=¿ï¾Ü..
 070701000482a5000081a40000000000000002000000013d1fe2ea0000024c000000200000000000000000000000000000001900000003reloc/format/module.info  risk=high
desc_ko_KR.euc=Áö¿ª µð½ºÅ© ÆÄÆ¼¼Ç 
desc_zh_TW.Big5=ºÏºÐ¤À³Î°ÏºÞ²zªÌ
desc_pl=Partycje na dyskach lokalnych
desc_de=Festplatten-Partitionen
name=Partition Manager
desc_zh_CN=·ÖÇø¹ÜÀíÆ÷
desc_pt=Partições em Discos Locais
category=hardware
desc_tr=Yerel Diskteki Bölümler
os_support=solaris
desc=Partitions on Local Disks
desc_es=Particiones en Discos Locales
desc_sv=Partitionshanterare
desc_fr=Partition sur Disque Local
desc_ja_JP.euc=¥í¡¼¥«¥ë ¥Ç¥£¥¹¥¯¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
depends=mount proc 0.990
version=0.990
desc_hu=A lokális lemez partíciói
desc_ca=Particions dels Discs Locals
070701000482a6000081e40000000000000002000000013d1fe2c300000494000000200000000000000000000000000000001700000003reloc/format/newfs.cgi    #!/usr/local/bin/perl
# newfs.cgi
# Create a new filesystem 

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'newfs_ecannot'});
&error_setup($text{'newfs_err'});
$cmd = "newfs";
$cmd .= &opt_check("ufs_a", '\d+', "-a");
$cmd .= &opt_check("ufs_b", '\d+', "-b");
$cmd .= &opt_check("ufs_c", '\d+', "-c");
$cmd .= &opt_check("ufs_d", '\d+', "-d");
$cmd .= &opt_check("ufs_f", '\d+', "-f");
$cmd .= &opt_check("ufs_i", '\d+', "-i");
$cmd .= &opt_check("ufs_m", '\d+', "-m");
$cmd .= &opt_check("ufs_n", '\d+', "-n");
$cmd .= $in{ufs_o} ? " -o $in{ufs_o}" : "";
$cmd .= &opt_check("ufs_r", '\d+', "-r");
$cmd .= &opt_check("ufs_s", '\d+', "-s");
$cmd .= &opt_check("ufs_t", '\d+', "-t");
$cmd .= &opt_check("ufs_cb", '\d+', "-C");
$in{dev} =~ s/dsk/rdsk/g;
$cmd .= " $in{dev}";

&header($text{'newfs_title'}, "");
print "<hr>\n";

print &text('newfs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
open(MKFS, "$cmd 2>&1 </dev/null |");
while(<MKFS>) { print; }
close(MKFS);
print "</pre>\n";
if ($?) { print "$text{'newfs_failed'} <p>\n"; }
else { print "$text{'newfs_ok'} <p>\n"; }

print "<hr>\n";
&footer("", $text{'index_return'});

070701000482a7000081e40000000000000002000000013d1fe2c40000062b000000200000000000000000000000000000001c00000003reloc/format/newfs_form.cgi   #!/usr/local/bin/perl
# newfs_form.cgi
# Display a form asking for new filesystem details

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error("You are not allowed to format this disk");
&header("Create Filesystem", "");
print "<hr>\n";

print "<form action=newfs.cgi>\n";
print "<input type=hidden name=dev value=\"$in{dev}\">\n";
print &text('newfs_desc', "<b>".&fstype_name("ufs")."</b>",
			  "<b><tt>$in{dev}</tt></b>"),"<p>\n";

if ((@stat = &device_status($in{dev})) && $stat[1] ne "swap") {
	print &text('newfs_warn', "<tt>$stat[0]</tt>"),"<p>\n";
	}

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'newfs_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
&opt_input("ufs_a", "", 1);
&opt_input("ufs_b", "bytes", 0);
&opt_input("ufs_c", "", 1);
&opt_input("ufs_d", "ms", 0);
&opt_input("ufs_f", "bytes", 1);
&opt_input("ufs_i", "bytes", 0);
&opt_input("ufs_m", "%", 1);
&opt_input("ufs_n", "", 0);
print "<tr> <td align=right><b>$text{'ufs_o'}</b></td>\n";
print "<td><select name=ufs_o>\n";
print "<option value=''> $text{'default'}\n";
print "<option value=space> $text{'newfs_space'}\n";
print "<option value=time> $text{'newfs_time'}\n";
print "</select></td>\n";
&opt_input("ufs_r", "rpm", 0);
&opt_input("ufs_s", "sectors", 1);
&opt_input("ufs_t", "", 0);
&opt_input("ufs_cb", "", 1);
print "</table></td></tr></table><br>\n";

print "<div align=right>\n";
print "<input type=submit value=\"$text{'newfs_create'}\"></form>\n";
print "</div>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000482a8000081e40000000000000002000000013d1fe2c30000040a000000200000000000000000000000000000001b00000003reloc/format/save_part.cgi    #!/usr/local/bin/perl
# save_part.cgi
# Save an existing partition

require './format-lib.pl';
&ReadParse();

# check start and end
@dlist = &list_disks();
$dinfo = $dlist[$in{'disk'}];
&can_edit_disk($dinfo->{'device'}) ||
	&error($text{'save_ecannot'});
if ($in{delete}) {
	# unassigning a partition
	&error_setup($text{'save_edelete'});
	&modify_partition($in{'disk'}, $in{'part'}, "unassigned", "wu", "", "");
	&redirect("");
	}
else {
	# changing an existing partition
	&error_setup($text{'save_esave'});
	$in{start} =~ /^\d+$/ ||
		&error(&text('save_estart', $in{start}));
	$in{end} =~ /^\d+$/ ||
		&error(&text('save_eend', $in{end}));
	$in{start} >= 0 ||
		&error($text{'save_estartmin'});
	$in{end} < $dinfo->{'cyl'} ||
		&error(&text('save_eendmax', $dinfo->{'cyl'}));
	$in{start} < $in{end} ||
		&error($text{'save_estartend'});

	# make the change
	$flag = ($in{writable} ? "w" : "r").($in{mountable} ? "m" : "u");
	&modify_partition($in{disk}, $in{part}, $in{tag}, $flag,
			  $in{start}, $in{end});
	&redirect("");
	}

  070701000482a9000081e40000000000000002000000013d1fe2c40000037c000000200000000000000000000000000000001800000003reloc/format/tunefs.cgi   #!/usr/local/bin/perl
# tunefs.cgi
# You can tune a filesystem, but you can't tuna fish

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'tunefs_ecannot'});
&error_setup($text{'tunefs_err'});

$cmd = "tunefs";
$cmd .= &opt_check("tunefs_a", '\d+', "-a");
$cmd .= &opt_check("tunefs_d", '\d+', "-d");
$cmd .= &opt_check("tunefs_e", '\d+', "-e");
$cmd .= &opt_check("tunefs_m", '\d+', "-m");
$cmd .= $in{tunefs_o} ? " -o $in{tunefs_o}" : "";
$in{dev} =~ s/dsk/rdsk/g;
$cmd .= " $in{dev}";

&header($text{'tunefs_title'}, "");
print "<hr>\n";

print &text('tunefs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
open(TUNEFS, "$cmd 2>&1 </dev/null |");
while(<TUNEFS>) { print; }
close(TUNEFS);
print "</pre>\n";
if ($?) { print "$text{'tunefs_failed'}<p>\n"; }
else { print "$text{'tunefs_ok'}<p>\n"; }

print "<hr>\n";
&footer("", $text{'index_return'});

070701000482aa000081e40000000000000002000000013d1fe2c3000004ed000000200000000000000000000000000000001d00000003reloc/format/tunefs_form.cgi  #!/usr/local/bin/perl
# tunefs_form.cgi
# Display a form for entering filesystem tuning options

require './format-lib.pl';
&ReadParse();
&can_edit_disk($in{'dev'}) || &error($text{'tunefs_ecannot'});
&header($text{'tunefs_title'}, "");
print "<hr>\n";

@stat = &device_status($in{dev});
$fs = &filesystem_type($in{dev});
print "<form action=tunefs.cgi>\n";
print "<input type=hidden name=dev value=\"$in{dev}\">\n";
print &text('tunefs_desc', &fstype_name($fs), "<tt>$in{'dev'}</tt>"),"<p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'tunefs_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
&opt_input("tunefs_a", "", 1);
&opt_input("tunefs_d", "ms", 0);
&opt_input("tunefs_e", "", 1);
&opt_input("tunefs_m", "%", 0);
print "<tr> <td align=right><b>$text{'tunefs_opt'}</b></td>\n";
print "<td><select name=tunefs_o>\n";
print "<option value=''> $text{'default'}\n";
print "<option value=space> $text{'tunefs_space'}\n";
print "<option value=time> $text{'tunefs_time'}\n";
print "</select></td>\n";
print "</table></td></tr></table><br>\n";

print "<div align=right>\n";
print "<input type=submit value=\"$text{'tunefs_tune'}\"></form>\n";
print "</div>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000521cb000041ed0000000000000001000000053d1ffa4000000000000000200000000000000000000000000000000d00000003reloc/fsdump  070701000521cc000081e40000000000000002000000013d1fe2e9000002b3000000200000000000000000000000000000001800000003reloc/fsdump/backup.cgi   #!/usr/local/bin/perl
# backup.cgi
# Run a filesystem backup and show the results

require './fsdump-lib.pl';
&ReadParse();
$dump = &get_dump($in{'id'});

$theme_no_table++;
&header($text{'backup_title'}, "");
print "<hr>\n";

print "<p><b>",&text('backup_desc', "<tt>".&html_escape($dump->{'dir'})."</tt>",
	             &dump_dest($dump)),"</b><p>\n";
print "<pre>";
$ok = &execute_dump($dump, STDOUT, 1);
print "</pre>\n";
if ($ok) {
	print "<b>$text{'backup_done'}</b><br>\n";
	}
else {
	print "<b>$text{'backup_failed'}</b><br>\n";
	}
&webmin_log("backup", undef, undef, $dump);

print "<hr>\n";
&footer("edit_dump.cgi?id=$in{'id'}", $text{'edit_return'},
	"", $text{'index_return'});

 070701000521ce000081e40000000000000002000000013d1fe2e9000003b0000000200000000000000000000000000000001700000003reloc/fsdump/backup.pl    #!/usr/local/bin/perl
# backup.pl
# Perform a backup and send the results to someone

$no_acl_check++;
require './fsdump-lib.pl';
$dump = &get_dump($ARGV[0]);
$dump->{'id'} || die "Dump $ARGV[0] does not exist!";

if ($dump->{'email'} && &foreign_check("sendmail") &&
    (%sconfig = &foreign_config("sendmail")) && -x $sconfig{'sendmail_path'}) {
	# Save output for mailing
	$temp = &tempname();
	open(OUT, ">$temp");
	}
else {
	# Throw output away
	open(OUT, ">/dev/null");
	}
$ok = &execute_dump($dump, OUT, 0);
close(OUT);
if ($temp) {
	open(MAIL, "|$sconfig{'sendmail_path'} -t >/dev/null 2>&1");
	print MAIL "From: webmin\n";
	print MAIL "To: $dump->{'email'}\n";
	print MAIL "Subject: Dump of $dump->{'dir'}\n";
	print MAIL "\n";
	open(OUT, $temp);
	while(<OUT>) {
		print MAIL $_;
		}
	close(OUT);
	print MAIL "\n";
	if ($ok) {
		print "Backup succeeded\n";
		}
	else {
		print "Backup failed!\n";
		}
	close(MAIL);
	unlink($temp);
	}

070701000521cf000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002100000003reloc/fsdump/cobalt-linux-lib.pl  # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521d0000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002000000003reloc/fsdump/corel-linux-lib.pl   # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521d1000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002100000003reloc/fsdump/debian-linux-lib.pl  # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521d2000081e40000000000000002000000013d1fe2e900000aaa000000200000000000000000000000000000001b00000003reloc/fsdump/edit_dump.cgi    #!/usr/local/bin/perl
# edit_dump.cgi
# Edit or create a filesystem backup

require './fsdump-lib.pl';
&foreign_require("cron", "cron-lib.pl");
&ReadParse();

if (!$in{'id'}) {
	# Adding a new backup of some type
	&error_setup($text{'edit_err'});
	$in{'dir'} || &error($text{'edit_edir'});
	$fs = &directory_filesystem($in{'dir'});
	@supp = &supported_filesystems();
	&indexof($fs, @supp) >= 0 || &error(&text('edit_efs', uc($fs)));
	&header($text{'edit_title'}, "", "edit");
	$dump = { 'dir' => $in{'dir'},
		  'fs' => $fs,
		  'mins' => '0',
		  'hours' => '0',
		  'days' => '*',
		  'months' => '*',
		  'weekdays' => '*' };
	}
else {
	# Editing an existing backup
	$dump = &get_dump($in{'id'});
	&header($text{'edit_title2'}, "", "create");
	}
print "<hr>\n";

print "<form action=save_dump.cgi>\n";
print "<input type=hidden name=id value='$in{'id'}'>\n";
print "<input type=hidden name=fs value='$dump->{'fs'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('edit_header', uc($dump->{'fs'})),
      "</b></td> </tr>\n";

print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>",&hlink($text{'dump_dir'}, "dir"),"</b></td>\n";
printf "<td colspan=3><input name=dir size=50 value='%s'> %s</td> </tr>\n",
	$dump->{'dir'}, &file_chooser_button("dir", 1);

&dump_form($dump);
print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'edit_enabled'}, "enabled"),"</b></td>\n";
printf "<td colspan=3><input type=radio name=enabled value=0 %s> %s\n",
	$dump->{'enabled'} ? '' : 'checked', $text{'edit_enabled_no'};
printf "<input type=radio name=enabled value=1 %s> %s</td> </tr>\n",
	$dump->{'enabled'} ? 'checked' : '', $text{'edit_enabled_yes'};

print "<tr> <td><b>",&hlink($text{'edit_email'}, "email"),"</b></td>\n";
printf "<td colspan=3><input name=email size=30 value='%s'></td> </tr>\n",
	$dump->{'email'};
print "</table>\n";

print "<table border width=100%>\n";
&foreign_call("cron", "show_times_input", $dump);
print "</table>\n";
print "</td></tr></table>\n";

print "<table width=100%><tr>\n";
if ($in{'id'}) {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=middle><input type=submit name=savenow ",
	      "value='$text{'edit_savenow'}'></td>\n";
	print "<td align=middle><input type=submit name=backup ",
	      "value='$text{'edit_now'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	print "<td align=right><input type=submit name=savenow ",
	      "value='$text{'edit_createnow'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000521d5000081a40000000000000002000000013d1fe2e9000000e5000000200000000000000000000000000000001f00000003reloc/fsdump/feedback_files.pl    
do 'fsdump-lib.pl';

sub feedback_files
{
local (@rv, $f);
opendir(DIR, $module_config_directory);
foreach $f (readdir(DIR)) {
	push(@rv, "$module_config_directory/$f") if ($f =~ /\.dump$/);
	}
closedir(DIR);
return @rv;
}

1;

   070701000521d6000081a40000000000000002000000013d1fe2e900001c4e000000200000000000000000000000000000001c00000003reloc/fsdump/freebsd-lib.pl   # freebsd-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ufs") if (&has_command("dump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
      "</b></td>\n";
printf "<td><input name=update type=radio value=1 %s> %s\n",
	$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
printf "<input name=update type=radio value=0 %s> %s</td>\n",
	$_[0]->{'update'} ? '' : 'checked', $text{'no'};

print "<td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
print "<td><select name=level>\n";
foreach $l (0 .. 9) {
	printf "<option value=%d %s>%d %s\n",
		$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
		$text{'dump_level_'.$l};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
      "</b></td> <td colspan=3>\n";
printf "<input name=blocks_def type=radio value=1 %s> %s\n",
	$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
printf "<input name=blocks_def type=radio value=0 %s>\n",
	$_[0]->{'blocks'} ? 'checked' : '';
printf "<input name=blocks size=8 value='%s'> kB</td> </tr>\n",
	$_[0]->{'blocks'};
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

local $mp;
foreach $m (&foreign_call("mount", "list_mounted")) {
	$mp++ if ($m->[0] eq $in{'dir'});
	}
$mp || &error($text{'dump_emp'});

$_[0]->{'update'} = $in{'update'};
$_[0]->{'level'} = $in{'level'};
if ($in{'blocks_def'}) {
	delete($_[0]->{'blocks'});
	}
else {
	$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
	$_[0]->{'blocks'} = $in{'blocks'};
	}
}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local $cmd;

$cmd = "dump -$_[0]->{'level'}";
if ($_[0]->{'huser'}) {
	$cmd .= " -f '$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$cmd .= " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$cmd .= " -f '$_[0]->{'file'}'";
	}
$cmd .= " -u" if ($_[0]->{'update'});
if ($_[0]->{'blocks'}) {
	$cmd .= " -B $_[0]->{'blocks'}";
	}
else {
	$cmd .= " -a";
	}
$cmd .= " '$_[0]->{'dir'}'";

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
return &has_command("restore") ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
      "</b></td>\n";
print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
      "$text{'restore_all'}\n";
print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
print "<input name=files size=40></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
print "<td colspan=3><input name=dir size=40> ",
	&file_chooser_button("dir", 1),"</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_nothing'},"rnothing"),
      "</b></td>\n";
print "<td><input type=radio name=nothing value=1> $text{'yes'}\n";
print "<input type=radio name=nothing value=0 checked> $text{'no'}</td>\n";

print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd = "restore";
$cmd .= ($in{'test'} ? " -t" : " -x");
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}

$cmd .= " -N" if ($in{'nothing'});
if (!$in{'files_def'}) {
	$in{'files'} || &error($text{'restore_efiles'});
	$cmd .= " $in{'files'}";
	}
-d $in{'dir'} || &error($text{'restore_edir'});

return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);

# Need to supply prompts
&foreign_require("proc", "proc-lib.pl");
local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
local $donevolume;
while(1) {
	local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
	last if ($rv < 0);
	print &html_escape($matches[1]);
	if ($rv == 0) {
		if ($donevolume++) {
			return $text{'restore_evolume'};
			}
		else {
			syswrite($fh, "1\n", 2);
			}
		}
	elsif ($rv == 1) {
		syswrite($fh, "n\n", 2);
		}
	elsif ($rv == 2) {
		return &text('restore_equestion',
			     "<tt>$matches[2]</tt>");
		}
	}
close($fh);
return undef;
}

1;

  070701000521d7000081a40000000000000002000000013d1fe2e900000b3b000000200000000000000000000000000000001b00000003reloc/fsdump/fsdump-lib.pl    #!/usr/local/bin/perl
# fsdump-lib.pl
# Common functions for doing filesystem backups with dump

do '../web-lib.pl';
&init_config();
do "$gconfig{'os_type'}-lib.pl";
&foreign_require("mount", "mount-lib.pl");

$cron_cmd = "$module_config_directory/backup.pl";

# list_dumps()
# Returns a list of all scheduled dumps
sub list_dumps
{
local (@rv, $f);
opendir(DIR, $module_config_directory);
foreach $f (sort { $a cmp $b } readdir(DIR)) {
	next if ($f !~ /^(\S+)\.dump$/);
	push(@rv, &get_dump($1));
	}
closedir(DIR);
return @rv;
}

# get_dump(id)
sub get_dump
{
local %dump;
&read_file("$module_config_directory/$_[0].dump", \%dump);
$dump{'id'} = $_[0];
return \%dump;
}

# save_dump(&dump)
sub save_dump
{
$_[0]->{'id'} = $$.time() if (!$_[0]->{'id'});
&lock_file("$module_config_directory/$_[0]->{'id'}.dump");
&write_file("$module_config_directory/$_[0]->{'id'}.dump", $_[0]);
&unlock_file("$module_config_directory/$_[0]->{'id'}.dump");
}

# delete_dump(&dump)
sub delete_dump
{
&lock_file("$module_config_directory/$_[0]->{'id'}.dump");
unlink("$module_config_directory/$_[0]->{'id'}.dump");
&unlock_file("$module_config_directory/$_[0]->{'id'}.dump");
}

# directory_filesystem(dir)
# Returns the filesystem type of some directory 
sub directory_filesystem
{
local $type;
foreach $m (sort { length($a->[0]) <=> length($b->[0]) }
	         &foreign_call("mount", "list_mounted")) {
	local $l = length($m->[0]);
	if ($m->[0] eq $_[0] || $m->[0] eq "/" ||
	    (length($_[0]) >= $l && substr($_[0], 0, $l+1) eq $m->[0]."/")) {
		$type = $m->[2];
		}
	}
return $type;
}

sub dump_when
{
if ($_[0]->{'mins'} eq '*' && $_[0]->{'hours'} eq '*' && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
	return $text{'when_min'};
	}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} eq '*' && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
	return &text('when_hour', $_[0]->{'mins'});
	}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
	return &text('when_day', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'});
	}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} =~ /^\d+$/ && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} eq '*') {
	return &text('when_month', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'}, $_[0]->{'days'});
	}
elsif ($_[0]->{'mins'} =~ /^\d+$/ && $_[0]->{'hours'} =~ /^\d+$/ && $_[0]->{'days'} eq '*' && $_[0]->{'months'} eq '*' && $_[0]->{'weekdays'} =~ /^\d+$/) {
	return &text('when_weekday', sprintf("%2.2d", $_[0]->{'mins'}), $_[0]->{'hours'}, $text{"day_".$_[0]->{'weekdays'}});
	}
else {
	return &text('when_cron', join(" ", $_[0]->{'mins'}, $_[0]->{'hours'}, $_[0]->{'days'}, $_[0]->{'months'}, $_[0]->{'weekdays'}));
	}
}

1;

 070701000521d8000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002200000003reloc/fsdump/generic-linux-lib.pl # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521d9000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002100000003reloc/fsdump/gentoo-linux-lib.pl  # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 0707010005664c000041ed0000000000000001000000023d1ffa3f00000000000000200000000000000000000000000000001200000003reloc/fsdump/help 070701000566b2000081a40000000000000002000000013d1fe2e9000000cc000000200000000000000000000000000000002200000003reloc/fsdump/help/attribs.ca.html <header>Inclou els atributs dels fitxers</header>

Quan es posa aquesta opció a Sí, la còpia inclourà qualsevol conjunt
d'atributs estesos dels fitxers que facin servir l'ordre <tt>attr</tt>. <p>

<hr>


070701000566b6000081a40000000000000002000000013d1fe2e9000000b4000000200000000000000000000000000000001f00000003reloc/fsdump/help/attribs.html    <header>Include file attributes?</header>

When this option is set to Yes, the backup will include any extended attributes
set of files using the <tt>attr</tt> command. <p>

<hr>

070701000566f4000081a40000000000000002000000013d1fe2e9000000fc000000200000000000000000000000000000002100000003reloc/fsdump/help/create.ca.html  <header>Crea la Còpia</header>

En aquesta pàgina, pots introduir els detalls d'una nova còpia configurada.

<include dump>

Un cop acabats d'entrar els detalls d'aquesta còpia, fes clic sobre el botó
Crea al peu de la pàgina per desar-la. <p>

<hr>


070701000566f5000081a40000000000000002000000013d1fe2e9000000f9000000200000000000000000000000000000001e00000003reloc/fsdump/help/create.html <header>Create Backup</header>

On this page you can enter the details of a new configured backup.

<include dump>

Once you have finished entering the details of this backup, click the Create
button at the bottom of the page to save it. <p>

<hr>

   070701000566f6000081a40000000000000002000000013d1fe2e900000172000000200000000000000000000000000000001f00000003reloc/fsdump/help/dest.ca.html    <header>Copia sobre</header>

Això pot ser o bé el camí d'un fitxer al qual s'escriurà la còpia, o bé
el camí d'una unitat de cinta  (com ara <tt>/dev/st0</tt>), o un fitxer o
dispositiu d'un host remot. Per tal que les còpies a un host remot funcionin,
aquest ha de suportar el protocol <tt>rmt</tt>, que normalment no està 
activat per raons de seguretat. <p>

<hr>


  070701000566f7000081a40000000000000002000000013d1fe2e900000163000000200000000000000000000000000000001c00000003reloc/fsdump/help/dest.html   <header>Backup to</header>

This can either be the path to a file to which the backup will be written,
the path to a tape drive device (like <tt>/dev/st0</tt>), or a file or device
on a remote host. For backups to a remote host to work, it must support the
<tt>rmt</tt> protocol, which is not usually turned on by default for security
reasons. <p>

<hr>

 070701000566f8000081a40000000000000002000000013d1fe2e9000000e3000000200000000000000000000000000000001e00000003reloc/fsdump/help/dir.ca.html <header>Directori a copiar</header>

Quan es faci la còpia, es desarà aquest directori i tot el seu contingut.
Amb alguns sistemes de fitxers (com ara XFS), cal que sigui el punt de
muntatge del sistema de fitxers. <p>

<hr>


 070701000566f9000081a40000000000000002000000013d1fe2e9000000d3000000200000000000000000000000000000001b00000003reloc/fsdump/help/dir.html    <header>Directory to backup</header>

This directory and all its contents will be saved when the backup is done.
With some filesystem types (such as XFS) it must be the mount point of the
filesystem. <p>

<hr>

 070701000566fa000081a40000000000000002000000013d1fe2e9000000d8000000200000000000000000000000000000001f00000003reloc/fsdump/help/dump.ca.html    Els detalls d'una còpia es divideixen en dues parts. A dalt hi ha les
opcions específiques del tipus de sistema de fitxers, i a baix els camps 
per seleccionar si la còpia es farà de forma planificada, i quan. <p>


070701000566fb000081a40000000000000002000000013d1fe2e9000000d9000000200000000000000000000000000000001c00000003reloc/fsdump/help/dump.html   The details of a backup are divided into two parts. At the top are options
specific to the filesystem type, and at the bottom are fields for selecting
if and when the backup is automatically scheduled to be run. <p>

   070701000566fc000081a40000000000000002000000013d1fe2e90000011c000000200000000000000000000000000000001f00000003reloc/fsdump/help/edit.ca.html    <header>Edició de Còpia</header>

En aquesta pàgina pots editar els detalls d'una còpia configurada existent.

<include dump>

Al peu de la pàgina hi ha els botons per desar els canvis que has fet,
executar immediatament la còpia i esborrar aquesta configuració de còpia. <p>

<hr>


070701000566fd000081a40000000000000002000000013d1fe2e900000115000000200000000000000000000000000000001c00000003reloc/fsdump/help/edit.html   <header>Edit Backup</header>

On this page you can edit the details of an existing configured backup.

<include dump>

At the bottom of the page are buttons for saving the changes you have made,
running the backup immediately and deleting this backup configuration. <p>

<hr>

   070701000566fe000081a40000000000000002000000013d1fe2e900000120000000200000000000000000000000000000002000000003reloc/fsdump/help/email.ca.html   <header>Envia la sortida planificada per correu a</header>

Si es configura una còpia per executar-se de forma planificada, la sortida 
de l'ordre <tt>dump</tt> s'enviarà a l'adreça introduïda en aquest camp.
Si no es dóna cap adreça, la sortida serà senzillament descartada. <p>

<hr>


070701000566ff000081a40000000000000002000000013d1fe2e900000106000000200000000000000000000000000000001d00000003reloc/fsdump/help/email.html  <header>Email scheduled output to</header>

If a backup is setup to be run on schedule, the output from the <tt>dump</tt>
command will be emailed to the address entered into this field. If not address
is supplied, the output will simply be discarded. <p>

<hr>

  07070100056700000081a40000000000000002000000013d1fe2e900000124000000200000000000000000000000000000002200000003reloc/fsdump/help/enabled.ca.html <header>Còpia planificada activada</header>

Si aquesta opció està posada a Activada, Webmin crearà un treball <tt>cron</tt>
que executarà la còpia a les hores triades a sota. Altrament, la còpia
només s'executarà quan facis clic sobre el botó Fes la Còpia del peu de la 
pàgina. <p>

<hr>


07070100056701000081a40000000000000002000000013d1fe2e900000112000000200000000000000000000000000000001f00000003reloc/fsdump/help/enabled.html    <header>Scheduled backup enabled?</header>

If this option is set to Enabled, Webmin will create a cron job that
runs the backup at the times chosen below. Otherwise, the backup will only
be run when you click on the Run Backup button at the bottom of this page. <p>

<hr>

  07070100056702000081a40000000000000002000000013d1fe2e900000116000000200000000000000000000000000000002000000003reloc/fsdump/help/erase.ca.html   <header>Esborra el fitxer / la cinta abans de la còpia</header>

Si es copia sobre un fitxer, establir aquesta opció provocarà que el fitxer
s'esborri abans de procedir. Si la còpia és a una cinta, aquesta opció 
provocarà que s'esborri la cinta abans de continuar. <p>

<hr>


  07070100056703000081a40000000000000002000000013d1fe2e900000116000000200000000000000000000000000000001d00000003reloc/fsdump/help/erase.html  <header>Delete file / erase tape before backup?</header>

If backing up to a file, setting this option to Yes will cause the backup
command to delete the file before proceeding. If backing up to a tape, this
option will cause the tape to be erased before continuing. <p>

<hr>

  07070100056704000081a40000000000000002000000013d1fe2e9000003c1000000200000000000000000000000000000002000000003reloc/fsdump/help/intro.ca.html   <header>Còpia de Seguretat de Sistemes de Fitxers</header>

Aquest mòdul permet copiar i restaurar sistemes de fitxers sencers fent 
servir la família d'ordres <tt>dump</tt> i <tt>restore</tt>. Les còpies
de seguretat de sistemes de fitxers es fan normalment sobre una cinta, però
també es poden desar sobre un fitxer en un altre sistema si no tens cap
unitat de cinta. <p>

Contràriament a altres eines de còpia com <tt>tar</tt>, les ordres 
utilitzades per aquest mòdul ultrapassen el sistema de fitxers normal i,
per tant, no es poden fer servir per copiar sistemes de fitxers de tipus
no suportats, com ara NFS o FAT. En general, només estarà suportat el
sistema de fitxers natiu basat en disc del sistema operatiu que estàs
executant. <p>

La pàgina principal del mòdul conté una llista de les còpies configurades
(si és que n'hi ha), un botó per afegir una còpia nova i un botó per a 
restaurar una còpia d'algun tipus de sistema de fitxers.  <p>

<hr>


   07070100056705000081a40000000000000002000000013d1fe2e90000031d000000200000000000000000000000000000001d00000003reloc/fsdump/help/intro.html  <header>Filesystem Backup</header>

This module allows you to backup and restore entire filesystems using the
<tt>dump</tt> and <tt>restore</tt> family of commands. Filesystem backups are
normally made to tape, but can also be saved to a file on another filesystem
if you do not have a tape drive. <p>

Unlike other backup tools such as <tt>tar</tt>, the commands used by this module
bypass the normal filesystem and so cannot be used to backup filesystems of
unsupported types, such as NFS or FAT. Generally only the native disk-based
filesystem of the operating system that you are running will be supported. <p>

The main page of the module contains a list of configured backups
(if any), a button for adding a new backup and a button for restoring a backup
of some filesystem type. <p>

<hr>

   07070100056706000081a40000000000000002000000013d1fe2e9000000da000000200000000000000000000000000000002100000003reloc/fsdump/help/invent.ca.html  <header>Enregistra la còpia a l'inventari</header>

Quan s'activa aquesta opció, es manté un registre a l'inventari de còpies
(normalment, <tt>/var/lib/xfsdump/inventory</tt>) quan s'executa aquesta
còpia. <p>

<hr>


  07070100056707000081a40000000000000002000000013d1fe2e9000000d4000000200000000000000000000000000000001e00000003reloc/fsdump/help/invent.html <header>Record backup in inventory?</header>

When this option is enabled, a record will be kept in the backup inventory
(usually at <tt>/var/lib/xfsdump/inventory</tt>) of this backup when it is run. <p>

<hr>

07070100056708000081a40000000000000002000000013d1fe2e90000006f000000200000000000000000000000000000002000000003reloc/fsdump/help/label.ca.html   <header>Etiqueta de la còpia</header>

Un petit text per a identificar aquesta còpia més endavant. <p>

<hr>


 07070100056709000081a40000000000000002000000013d1fe2e90000006c000000200000000000000000000000000000001d00000003reloc/fsdump/help/label.html  <header>Backup label</header>

A short string that can be used to identify this backup later on. <p>

<hr>

0707010005670a000081a40000000000000002000000013d1fe2e900000138000000200000000000000000000000000000002000000003reloc/fsdump/help/level.ca.html   <header>Nivell de còpia</header>

El nivell de còpia controla quins fitxers s'escriuran a la còpia. Si es tria
el nivell 0, es desarà cada fitxer sota el directori a copiar. Altrament,
només es copiaran els fitxers que són nous o han estat modificats d'ençà
de la darrera còpia d'un nivell inferior. <p>

<hr>


0707010005670b000081a40000000000000002000000013d1fe2e90000011e000000200000000000000000000000000000001d00000003reloc/fsdump/help/level.html  <header>Dump level</header>

The dump level controls which files will be written to the backup. If level 0
is chosen, every file under the directory to backup will be saved. Otherwise,
only files that are new or modified since the last dump of a lower level will
be written. <p>

<hr>

  0707010005670c000081a40000000000000002000000013d1fe2e9000000ac000000200000000000000000000000000000001e00000003reloc/fsdump/help/max.ca.html <header>Mida màxima de fitxer a incloure</header>

Si s'estableix aquesta opció, els fitxers més grans de la mida màxima
especificada no s'afegiran a la còpia. <p>

<hr>


0707010005670d000081a40000000000000002000000013d1fe2e9000000a1000000200000000000000000000000000000001b00000003reloc/fsdump/help/max.html    <header>Maximum file size to include</header>

If this option is set, files larger than the specified maximum size will not
be written to the backup. <p>

<hr>

   0707010005670e000081a40000000000000002000000013d1fe2e900000131000000200000000000000000000000000000002000000003reloc/fsdump/help/multi.ca.html   <header>Parteix en múltiples fitxers</header>

Si es copia sobre un fitxer normal en un sistema de fitxers amb una mida
màxima de fitxer petita (com ara EXT2), s'hauria d'activar aquesta opció 
per tal que la copia es divideixi en múltiples fitxers com <tt>dump001</tt>,
<tt>dump002</tt> etc. <p>

<hr>


   0707010005670f000081a40000000000000002000000013d1fe2e900000121000000200000000000000000000000000000001d00000003reloc/fsdump/help/multi.html  <header>Split across multiple files?</header>

If backing up to a normal file on a filesystem with a small maximum file size
(like EXT2), this option should be enabled so that the backup is split into
multiple files with names like <tt>dump001</tt>, <tt>dump002</tt> and so on. <p>

<hr>

   07070100056710000081a40000000000000002000000013d1fe2e9000000d5000000200000000000000000000000000000001f00000003reloc/fsdump/help/nothing.html    <header>Just test backup?</header>

If this option is selected, the restore process will do everything except
write the restored files to disk. This can be useful for checking the
integrity of a backup. <p>
<hr>

   07070100056715000081a40000000000000002000000013d1fe2e9000000a5000000200000000000000000000000000000002200000003reloc/fsdump/help/offline.ca.html <header>Expulsa la cinta després de la còpia</header>

Si se selecciona aquesta opció, la cinta de còpia serà rebobinada i
expulsada en acabar la còpia. <p>

<hr>


   07070100056716000081a40000000000000002000000013d1fe2e90000009a000000200000000000000000000000000000001f00000003reloc/fsdump/help/offline.html    <header>Eject tape after backup?</header>

If this option is selected, the backup tape will be rewound and ejected
once the backup is complete. <p>
<hr>

  07070100056717000081a40000000000000002000000013d1fe2e9000000a3000000200000000000000000000000000000001f00000003reloc/fsdump/help/over.ca.html    <header>Pregunta abans de reescriure una cinta</header>

Si s'estableix aquesta opció, la còpia no reescriurà una cinta que ja conté
una còpia prèvia. <p>

<hr>


 07070100056718000081a40000000000000002000000013d1fe2e900000098000000200000000000000000000000000000001c00000003reloc/fsdump/help/over.html   <header>Ask before overwriting tape?</header>

If this option is set, the backup will not overwrite a tape that has
a previous backup on it. <p>

<hr>

07070100056719000081a40000000000000002000000013d1fe2e9000000b9000000200000000000000000000000000000002400000003reloc/fsdump/help/overwrite.ca.html   <header>Reescriu sempre la còpia</header>

Si aquesta opció està posada a Sí, l'ordre de còpia sempre reescriurà
la cinta de còpia sense comprovar si ja en conté una altra. <p>

<hr>


   0707010005671b000081a40000000000000002000000013d1fe2e9000000c8000000200000000000000000000000000000002100000003reloc/fsdump/help/overwrite.html  <header>Always overwrite backup?</header>

If this option is set to Yes, the backup command will always overwrite
the backup tape without checking if there is another backup already on it. <p>

<hr>

0707010005671c000081a40000000000000002000000013d1fe2e9000000cc000000200000000000000000000000000000001f00000003reloc/fsdump/help/rdir.ca.html    <header>Restaura al directori</header>

El directori sobre el qual s'escriuran els fitxers restaurats. Normalment,
això és el mateix directori del qual es va fer la còpia, però no té per què.
<p>

<hr>


0707010005671d000081a40000000000000002000000013d1fe2e9000000d8000000200000000000000000000000000000001c00000003reloc/fsdump/help/rdir.html   <header>Restore to directory</header>

The directory to which the restored files will be written. This should normally
be the directory from which the backup has made, but does not necessarily have
to be. <p>

<hr>

07070100056720000081a40000000000000002000000013d1fe2e900000131000000200000000000000000000000000000002200000003reloc/fsdump/help/restore.ca.html <header>Restaura la Còpia</header>

Aquesta pàgina permet restaurar una còpia anterior feta utilitzant el mòdul
o una de les ordres de la família <tt>dump</tt>. Has de vigilar a l'hora
de fer-la servir, ja que pot haver-hi fitxers nous que podrien ser reescrits
en restaurar una copia antiga. <p>

<hr>


   07070100056725000081a40000000000000002000000013d1fe2e90000010f000000200000000000000000000000000000001f00000003reloc/fsdump/help/restore.html    <header>Restore Backup</header>

This page allows you to restore a previous backup made using the module,
or one of the <tt>dump</tt> family of commands. You should be careful when
using it, as new files could easily be overwritten by restoring an old backup. <p>

<hr>

 07070100056726000081a40000000000000002000000013d1fe2e900000169000000200000000000000000000000000000002100000003reloc/fsdump/help/rfiles.ca.html  <header>Fitxers a restaurar</header>

Si s'estableix aquesta opció, només es restauraran de la còpia els fitxers
llistats. Els noms de fitxers han de ser relatius al sistema de fitxers 
a partir del qual s'ha fet la còpia, així que si has copiat <tt>/home</tt>
i només vols restaurar <tt>/home/foo</tt>, has d'introduir <tt>foo</tt>
en aquest camp. <p>

<hr>


   07070100056727000081a40000000000000002000000013d1fe2e90000014c000000200000000000000000000000000000001e00000003reloc/fsdump/help/rfiles.html <header>Files to restore</header>

If this option is set, only the listed files will be restored from the backup.
The filenames must be relative to the filesystem that the backup was made from,
so if you backed up <tt>/home</tt> and wanted to just restore <tt>/home/foo</tt>
you would enter <tt>foo</tt> into this field. <p>

<hr>

07070100056728000081a40000000000000002000000013d1fe2e900000135000000200000000000000000000000000000002100000003reloc/fsdump/help/rlabel.ca.html  <header>Restaura només la còpia amb etiqueta</header>

En restaurar d'una cinta que conté còpies múltiples, aquesta opció
es pot utilitzar per especificar exactament quina còpia vols restaurar.
L'etiqueta que introdueixis ha de coincidir amb l'etiqueta que hi vas
posar quan es va crear la còpia. <p>

<hr>


   07070100056729000081a40000000000000002000000013d1fe2e900000127000000200000000000000000000000000000001e00000003reloc/fsdump/help/rlabel.html <header>Only restore backup with label</header>

When restoring from a tape that contains multiple backups, this option
can be used to specify exactly which backup you want to restore. The label
that you enter must match the label that was set when the backup was
originally created. <p>

<hr>

 0707010005672a000081a40000000000000002000000013d1fe2e9000001a2000000200000000000000000000000000000002100000003reloc/fsdump/help/rmulti.ca.html  <header>La còpia està partida en múltiples fitxers</header>

Si has fet una còpia sobre múltiples fitxers utilitzant l'opció 
<i>Parteix en múltiples fitxers</i> a la pàgina de còpia, has de seleccionar
aquesta opció en restaurar-la. Llavors, s'afegiran les etiquetes <tt>001</tt>,
<tt>002</tt>, etc. al nom del fitxer a partir del qual es restaura la còpia
per tenir els noms reals dels fitxers de còpia. <p>

<hr>


  0707010005672b000081a40000000000000002000000013d1fe2e900000172000000200000000000000000000000000000001e00000003reloc/fsdump/help/rmulti.html <header>Backup is split across multiple files?</header>

If a backup has been made to multiple files using the <i>Split across multiple
files?</i> option on the backup page, you must select this option when restoring.
The filename to restore from will then have <tt>001</tt>, <tt>002</tt> and so
on appended to it to get the actual names of the backup files. <p>

<hr>

  0707010005672c000081a40000000000000002000000013d1fe2e900000123000000200000000000000000000000000000002500000003reloc/fsdump/help/rnoattribs.ca.html  <header>Restaura els atributs dels fitxers</header>

Si aquesta opció es posa a Sí, els atributs sobre els fitxers restaurats 
s'establiran als mateixos valors que tenien quan van ser copiats - això
assumint que estàs restaurant sobre un sistema de fitxers que suporta
atributs. <p>

<hr>


 0707010005672d000081a40000000000000002000000013d1fe2e9000000ec000000200000000000000000000000000000002200000003reloc/fsdump/help/rnoattribs.html <header>Restore file attributes?</header>

If this option is set to Yes, attributes on restored files will set to what
they were when the backup was made - assuming you are restoring to a filesystem
that supports attributes. <p>

<hr>

0707010005672e000081a40000000000000002000000013d1fe2e9000000e5000000200000000000000000000000000000002000000003reloc/fsdump/help/rover.ca.html   <header>Reescriu els fitxers existents</header>

Aquesta opció controla què passa quan un fitxer de la còpia té el mateix
nom que un fitxer que ja existeix. L'opció per defecte "Sempre" s'ha de fer
servir amb compte. <p>

<hr>


   0707010005672f000081a40000000000000002000000013d1fe2e9000000de000000200000000000000000000000000000001d00000003reloc/fsdump/help/rover.html  <header>Overwrite existing files?</header>

This option controls what happens when a file in the backup has the same
path as a file already on your system. The default option of Always should
be used with care. <p>

<hr>

  07070100056730000081a40000000000000002000000013d1fe2e90000016d000000200000000000000000000000000000001f00000003reloc/fsdump/help/rsrc.ca.html    <header>Restaura del fitxer o dispositiu</header>

Aquesta opció determina a partir d'on es llegeixen les dades a restaurar.
Pot ser un fitxer o unitat de cinta local , o un fitxer o dispositiu d'un
host remot. Per a restaurar des d'un host remot, cal que aquest suporti el
protocol <tt>rmt</tt>, que normalment no està activat per motius de
seguretat. <p>

<hr>


   07070100056731000081a40000000000000002000000013d1fe2e900000161000000200000000000000000000000000000001c00000003reloc/fsdump/help/rsrc.html   <header>Restore from file or device</header>

This option determines where the backup dump data is read from. It can either
be a local file or tape device, or a file or device on a remote host.
For restores from a remote host to work, it must support the
<tt>rmt</tt> protocol, which is not usually turned on by default for security
reasons. <p>

<hr>

   07070100056732000081a40000000000000002000000013d1fe2e9000000f6000000200000000000000000000000000000002000000003reloc/fsdump/help/rtest.ca.html   <header>Mostra només els fitxers de la còpia</header>

Quan aquesta opció està activada, en lloc de restaurar la còpia, es mostra
una llista dels fitxers copiats. Això pot ser útil per veure quins fitxers
i directoris es restauraran. <p>

<hr>


  07070100056733000081a40000000000000002000000013d1fe2e9000000f8000000200000000000000000000000000000001d00000003reloc/fsdump/help/rtest.html  <header>Only show files in backup?</header>

When this option is enabled, instead of the backup being restored a list
of all the files in the backup dump will be displayed. This can be useful
for seeing what file paths will be restored. <p>

<hr>

07070100056734000081a40000000000000002000000013d1fe2e9000000e3000000200000000000000000000000000000002100000003reloc/fsdump/help/update.ca.html  <header>Actualitza el fitxer <tt>/etc/dumpdates</tt></header>

Quan s'activa aquesta opció, la data, l'hora, l'origen i el destí de la còpia
s'enregistren en una forma humanament llegible a <tt>/etc/dumpdates</tt>. <p>

<hr>


 07070100056735000081a40000000000000002000000013d1fe2e9000000cf000000200000000000000000000000000000001e00000003reloc/fsdump/help/update.html <header>Update /etc/dumpdates file?</header>

When this option is enabled, the date, time, source and destination of the backup
will be recorded in human-readable form in <tt>/etc/dumpdates</tt>. <p>

<hr>

 07070100056736000081a40000000000000002000000013d1fe2e9000000de000000200000000000000000000000000000002100000003reloc/fsdump/help/verify.ca.html  <header>Verifica les dades després de la còpia</header>

Si selecciones aquesta opció, el contingut de la cinta o fitxer de còpia
es comprovarà contra les fitxers font originals quan s'hagi completat
la còpia. <p>

<hr>


  07070100056737000081a40000000000000002000000013d1fe2e9000000ca000000200000000000000000000000000000001e00000003reloc/fsdump/help/verify.html <header>Verify data after backup?</header>

If this option is selected, the contents of the backup tape or file will
be verified against the original source files when the backup is complete. <p>
<hr>

  07070100057d92000041ed0000000000000001000000023d1ffa3f00000000000000200000000000000000000000000000001400000003reloc/fsdump/images   07070100057d93000081a40000000000000002000000013d1fe2e90000093f000000200000000000000000000000000000001d00000003reloc/fsdump/images/icon.gif  GIF89a0 0 ç  njJ–†2Â¢>®²²-23ÑÎÉb^>ÝÞÜ>FKåæåêîì*.1NV[„VnjR²œJòòðvnNJRV"&&6:@Ž‚Zvjošš–TJL_^SööòFNR†‚b¶ººjfN‹Šzr^^bb©ª¨úúúbZRrrbˆz~6>BÚÚÜÄÂÂF>@FF>©–OVVFž’žªž¨†z6Zbf:BEvrnúþý|~„ZZTbfjjjfš–ŽÑÒÓ~‚ˆ:22¦¦§f^cnjfznF|rTŠ‚RV^bÚÖÒNNFWVZâÞÚ˜ŽzvjÊÂ¾FFNWZZBJNîæâNJN¢ž™’Ž†nnf622ËÆÃZRRBB>zvR`NPFJRzrJ..0jfV


¾º²€z\ââáœˆP†‚zzvnzffêêé·²¯@:<bfn††Ž²®¬NNVnnr^^a^V]ŠvN26:JJRfjjž¢¦>BJ>>Elf@ª¦¢FJNÂº¶òîìŽ’NRZJNV¢¢¨~rzBFJfbnjjrvzzRVZ~zx>BF"""VZ^¾¶²^bnêæâšŠZÒÊÅæâÞbfrÞÚÖRZ^’ŠšJNRZ^jlbdJJBœˆ2zjpþþþ‚~zŠ~z…†ˆBFNfVVbjq227ÖÎËÖÒÐNRV:>F™šZZažž njj­®±¸¶¶†~VRV^uA::@NBFsvxÍÊÇ’”˜ŽšJJLrjF**-––š

úöö^bjZ^e626fdXâÚÖrfbjbJ’Š†zSTNSÄ¾¹zvdŽ~6fjuBBHWV_eY_GBE­¢«~nj2./ÒÎÒd`Jöö÷VZb.2:‚vGÊ¦:–†V~nN®ªª:>BÞÖÒŽ†–RRZŽ~‚ÄÆÄîêèlfhÖÖÔ˜œ¤bb_êâÞ„‚ƒ‰~ƒnjstrx¼¼¼‚z‚|nt’‚>†zBnrx66=îîìffi¢–¢{vjnvvnFZZL>64‚~^,    0 0  þ ;	H° Áƒ¼ÁP¡Ã‡
o”˜È¡ ®@Ü˜°„Á^û&š„£•
Ž(Nôèã3G˜Ž`ÂG)V$H`3f´ )Ãt£_¶ÊEÈ‰pb§­š4	Â‹Vi±ù¨‹8Uì<¤ajª@“
•Ñ6ÀÁ‹ÌF1£Š©A‚ê‘@@¶“S¿w(ójÛ+eø|Î¥J:¨F¤B×Wà>6:Dˆ°ðOä¤ÄøF:*äˆª#@5* g«N”*~]»¦*Ž¯ÑTSesÛ‘/6iMH­Â¥J9¹F‡T…@˜h¤äèH¡IlÁ¤®{ö#]ˆþWà€ÃÃ½‡õø¬ø¶þ©@Ú¯5 Ôàš/4J³ÙŸ6»+¿ÔQ)t<QO+D†*º„Áa|£KÍÔ H rÊ€ØœiÙépÎ¯Œ‘I%]Ô@G´ ÔŠ*+„ANa|ÑN<(KtQÇ° 	,¿ìÇFtÑÑ0Â[dL|pÐì8ã Œäd’EJˆH]øE(]pH™\Cƒ/¿Ìt&¿qL|œgP#8£Ë2ò22+¬QG˜|DÅ¡(J(Q„E‡pÂ©Ê5• ¢ÎŒeq\‹8O|!4ãd’‹Ž™ ŠÔ Hþ¡ÀÊl´Ñ:,Pª8ƒ+ À>áÎ BDA	4
xÔ€Š7y(ò,$0[%ØÂRÉ†PfPç¨2‡Ð7$®±²šGÞ Ò¨ R^—<ÃÉ,ºLË|\‚Ï#Ö¼&ê@!D6Ù,ÃMC:VC³5xãM
ÏÆ»n¸d	
Ðè²4¸ÀH(¶<bŽ˜Õ	ˆóÆËC vÑl´©U š7²¤PÃÓ³È'¢¬!GoäÑÀ%}Hbò=Ö´Ä.PàòÄa¾ÈûÔãË)ÜÌs»²È’G(-è\ÑÎ î<‹‘3Ì:æ” 2þLØ dvÈ%?ü‘Ê^¿Á£ †
ÅÓˆ"œøãN>ùÜòÎì”R
K¤!ð,ìQE;;ü5ŽàJ*é„P ºtA&]äñ†8BpáÏ4ñÈî XD‚€•`ŽbPaŒ';(1h£“€BKŠ(B‡.Ìú#oœò„ùDM>€ÄÑND²DÔS–†jPQ…'¬0J3¨*°è! ]Œò†:(·pÇÑ‡d8Á ¢{ˆý¨‘?c$bÌJÂ&0MÔàlx°°¡ â] ¨Ðˆ>8ôÛH	P7ô`þÍHÂˆ0…
y£{®ªÀ÷
‚(L 
nhD2p•¡¤d86ÈñlLA¹È*À
ä!¨H`¼‘PìAKI	 ðBÓ F÷Z• BÀŠ„h”"HQ :Bdè‹*@r|£@Ãò€‡PøñX‹"D¬ú˜\ä0'»Ð Èq„C¡¨ä¢–e¨e„è(úrƒ8P€ ˜Æ8,QÄBuT˜êp¦0…)Q,èðÀ‡.èb‡8B~ð#9xÃ%.ˆ:\¢Íì‚*2ÈAä± Ádq	®|&@6ˆƒó	…þ
$"Ð¦ü!ö€†¼0³	“>û„ŠˆÁõˆ|pÞ–’“ £
¿à™"¶6S °@Ä)¼¶n6“H0™>É‘j0ƒRà(àj/;ENßp¡:ð”XÞâ¨Cs¦¨E7p0…
Ô j(G¹9¸Vc	’ðQ9R‚{H‚à@‡ABTÀ—ÙËÞ€SUDÃPÀ*#l ’XÂKk±
8ÂÍ ÖÖá	$5otm^±„%P‚µH…þŠžº!¨’`ibR?˜CdXB$H Š8$ 	èÀ*E7{ôâë *„j5¨¡±÷Ø*k	rƒ˜CRHÃ#ÖñÝîÖ éEøy\9ê6  ; 070701000521da000081e40000000000000002000000013d1fe2e90000074a000000200000000000000000000000000000001700000003reloc/fsdump/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display a list of scheduled dumps

require './fsdump-lib.pl';
&header($text{'index_title'}, "", "intro", 0, 1);
print "<hr>\n";

@fslist = &supported_filesystems();
if (!@fslist) {
	print "<p>",&text('index_ecommands', "<tt>dump</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@dumps = &list_dumps();
if (@dumps) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'dump_dir'}</b></td>\n";
	print "<td><b>$text{'dump_fs'}</b></td>\n";
	print "<td><b>$text{'dump_level'}</b></td>\n";
	print "<td><b>$text{'dump_dest'}</b></td>\n";
	print "<td><b>$text{'dump_sched'}</b></td>\n";
	print "<td><b>$text{'dump_when'}</b></td> </tr>\n";
	foreach $d (@dumps) {
		print "<tr $cb>\n";
		print "<td><a href='edit_dump.cgi?id=$d->{'id'}'><tt>",
		      &html_escape($d->{'dir'}),"</tt></a></td>\n";
		print "<td>",uc($d->{'fs'}),"</td>\n";
		print "<td>",&html_escape($d->{'level'}),"</td>\n";
		print "<td><tt>",&dump_dest($d),"</tt></td>\n";
		print "<td>",$d->{'enabled'} ? $text{'yes'} : $text{'no'},"</td>\n";
		print "<td>",&dump_when($d),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
print "<form action=edit_dump.cgi>\n";
print "<input type=submit value='$text{'index_add'}'>\n";
print "<input name=dir size=20> ",&file_chooser_button("dir"),"\n";
print "</form>\n";

# Display restore button
print "<hr>\n";
print "<form action=restore_form.cgi>\n";
print "<table width=100%><tr>\n";
print "<td nowrap><input type=submit value='$text{'index_restore'}'>";
print "<select name=fs>\n";
foreach $f (&supported_filesystems()) {
	printf "<option value=%s>%s\n", $f, uc($f);
	}
print "</select></td>\n";
print "<td>$text{'index_restoremsg'}</td>\n";
print "</tr></table></form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  07070100059311000041ed0000000000000001000000023d1ffa3f00000000000000200000000000000000000000000000001200000003reloc/fsdump/lang 07070100059312000081a40000000000000002000000013d1fe2e90000133c000000200000000000000000000000000000001500000003reloc/fsdump/lang/ca  index_title=Còpia de Seguretat de Sistemes de Fitxers
index_add=Afegeix una còpia nova del directori:
index_none=Encara no s'ha creat cap configuració de còpia.
index_restore=Restaura una còpia del tipus de sistema de fitxers:
index_restoremsg=Selecciona el tipus de sistema de fitxers i fes clic sobre aquest botó per començar el procés de selecció de restauració de la còpia d'un sistema de fitxers.
index_ecommands=No s'ha trobat al sistema cap de les ordres de còpia de sistemes de fitxers (com ara $1) que necessita aquest mòdul. Pot ser que no estiguin instal·lades.
index_return=a la llista de còpies

dump_dir=Directori a copiar
dump_fs=Sistema de fitxers
dump_sched=Planificada
dump_when=Hores planificades de còpia
dump_dest=Copia sobre
dump_file=Fitxer o unitat de cinta
dump_host=Host $1 com a usuari $2 en el fitxer o dispositiu $3
dump_level=Nivell de còpia
dump_level_0=(Còpia completa)
dump_label=Etiqueta de la còpia
dump_multi=Parteix en múltiples fitxers
dump_update=Actualitza el fitxer <tt>/etc/dumpdates</tt>
dump_edir=Hi falta el directopri a copiar o bé és invàlid
dump_efile=Hi falta el fitxer o dispositiu de còpia
dump_ehost=Hi falta el host de còpia o bé és invàlid
dump_ehuser=Nom d'usuari invàlid en el host de còpia
dump_ehfile=Hi falta el fitxer o dispositiu en el host de còpia
dump_elabel=Etiqueta de còpia invàlida (pot ser com a màxim de 15 caràcters)
dump_elabel2=Etiqueta de còpia invàlida (pot ser com a màxim de 255 caràcters)
dump_max=Mida màxima de fitxer a incloure
dump_unlimited=Il·limitada
dump_attribs=Inclou els atributs dels fitxers
dump_over=Pregunta abans de reescriure una cinta
dump_overwrite=Reescriu sempre la còpia
dump_invent=Enregistra la còpia a l'inventari
dump_emax=Hi falta la mida màxima de fitxer o bé és invàlida
dump_emp=El directori a copiar ha de ser un punt de muntatge
dump_erase=Esborra el fitxer / la cinta abans de la còpia
dump_verify=Verifica les dades després de la còpia
dump_offline=Expulsa la cinta després de la còpia

edit_err=No he pogut crear la còpia
edit_edir=Hi falta el directori a copiar
edit_efs=Els sistemes de fitxers de tipus $1 no es poden copiar amb aquest mòdul
edit_title=Addició de Nova Còpia
edit_title2=Edició de Còpia
edit_header=Detalls de còpia del sistema de fitxers $1
edit_enabled=Còpia planificada activada
edit_enabled_no=Desactivada
edit_enabled_yes=Activada, a les hores triades a sota...
edit_savenow=Desa i Fes la Còpia Ara
edit_createnow=Crea i Fes la Còpia Ara
edit_now=Fes la Còpia Ara
edit_return=a la còpia
edit_email=Envia la sortida planificada per correu a

save_err=No he pogut desar la còpia
save_edir=Hi falta el directori a copiar o bé és invàlid
save_efs=El directori a copiar no pot canviar a un sistema de fitxers diferents

backup_title=Copia Ara
backup_desc=Executant la còpia de $1 sobre $2 ..

when_min=Cada minut
when_hour=Cada hora a $1 minuts passada l'hora
when_day=Cada dia a les $2:$1
when_month=El dia $3 de cada mes a les $2:$1
when_weekday=Cada $3 a les $2:$1
when_cron=A l'hora <i>cron</i> $1

restore_title=Restauració de Còpia
restore_ecommand=No s'ha trobat al sistema l'ordre de restauració $1 necessària per a restaurar les còpies del sistema de fitxers $2. Pot ser que no estigui instal·lada.
restore_header=Restaura la còpia del sistema de fitxers $1
restore_src=Restaura del fitxer o dispositiu
restore_dir=Restaura al directori
restore_ok=Restaura la Còpia Ara!
restore_over=Reescriu els fitxers existents
restore_over0=Sempre
restore_over1=A menys que siguin més nous que la còpia
restore_over2=Mai
restore_noattribs=Restaura els atributs dels fitxers
restore_label=Restaura només la còpia amb etiqueta
restore_files=Fitxers a restaurar
restore_all=Tota la còpia
restore_sel=Fitxers llistats...
restore_multi=La còpia està partida en múltiples fitxers
restore_efile=Hi falta el fitxer o dispositiu d'origen o bé és invàlid
restore_ehost=Hi falta el host d'origen o bé és invàlid
restore_ehuser=Nom d'usuari invàlid en el host d'origen
restore_ehfile=Hi falta el fitxer o dispositiu en el host d'origen, o bé és invàlid
restore_now=Restaurant la còpia amb l'ordre $1...
restore_desc=Aquesta pàgina permet restaurar una còpia prèvia d'un sistema de fitxers. Compte en restaurar, ja que els fitxers modificats d'ençà de la còpia poden quedar reescrits!
restore_efiles=Hi falten els fitxers a restaurar
restore_evolume=Les restauracions multivolum no estan suportades.
restore_equestion=Pregunta desconeguda de la restauració: $1
restore_edir=Hi falta el nom del directori destí o bé és invàlid
restore_failed=La restauració ha fallat: $1
restore_complete=La restauració s'ha completat amb èxit.
restore_test=Mostra només els fitxers de la còpia

log_create=He creat la configuració de còpia de $1
log_modify=He modificat la configuració de còpia de $1
log_delete=He suprimit la configuració de còpia de $1
log_backup=He copiat $1 a $2
log_restore=He resttaurat la còpia de $1

07070100059313000081a40000000000000002000000013d1fe2e90000112d000000200000000000000000000000000000001500000003reloc/fsdump/lang/en  index_title=Filesystem Backup
index_add=Add a new backup of directory:
index_none=No filesystem backups configurations have been created yet.
index_restore=Restore backup of filesystem type:
index_restoremsg=Select the filesystem type and click this button to begin the process of selecting a filesystem backup to restore.
index_ecommands=None of the filesystem backup commands (such as $1) needed by this module were found on your system. Maybe they are not currently installed.
index_return=backups list

dump_dir=Directory to backup
dump_fs=Filesystem
dump_sched=Scheduled?
dump_when=Scheduled times to backup
dump_dest=Backup to
dump_file=File or tape device
dump_host=Host $1 as user $2 in file or device $3
dump_level=Dump level
dump_level_0=(Full backup)
dump_label=Backup label
dump_multi=Split across multiple files?
dump_update=Update <tt>/etc/dumpdates</tt> file?
dump_edir=Missing or invalid directory to backup
dump_efile=Missing file or device to backup to
dump_ehost=Missing or invalid host to backup to
dump_ehuser=Invalid username on host to backup to
dump_ehfile=Missing or invalid file or device on host to backup to
dump_elabel=Invalid backup label (can be at most 15 characters)
dump_elabel2=Invalid backup label (can be at most 255 characters)
dump_max=Maximum file size to include
dump_unlimited=Unlimited
dump_attribs=Include file attributes?
dump_over=Ask before overwriting tape?
dump_overwrite=Always overwrite backup?
dump_invent=Record backup in inventory?
dump_emax=Missing or invalid maximum file size
dump_emp=Directory to backup must be a filesystem mount point
dump_erase=Delete file / erase tape before backup?
dump_verify=Verify data after backup?
dump_offline=Eject tape after backup?
dump_blocks=Tape size
dump_auto=Work out automatically

edit_err=Failed to create backup
edit_edir=Missing backup directory
edit_efs=Filesystems of type $1 cannot be backed up by this module
edit_title=Add New Backup
edit_title2=Edit Backup
edit_header=$1 filesystem backup details
edit_enabled=Scheduled backup enabled?
edit_enabled_no=Disabled
edit_enabled_yes=Enabled, at times chosen below..
edit_savenow=Save and Backup Now
edit_createnow=Create and Backup Now
edit_now=Backup Now
edit_return=dump
edit_email=Email scheduled output to

save_err=Failed to save backup
save_edir=Missing or invalid backup directory
save_efs=Backup directory cannot change to a different filesystem

backup_title=Backup Now
backup_desc=Performing backup of $1 to $2 ..
backup_done=.. backup complete.
backup_failed=.. backup failed!

when_min=Every minute
when_hour=Every hour at $1 past the hour
when_day=Every day at $2:$1
when_month=On day $3 every month at $2:$1
when_weekday=Every $3 at $2:$1
when_cron=At cron time $1

restore_title=Restore Backup
restore_ecommand=The command $1 needed to restore $2 filesystem backups was not found on your system. Maybe it is not currently installed.
restore_header=Restore backup of $1 filesystem
restore_src=Restore from file or device
restore_dir=Restore to directory
restore_ok=Restore Backup Now!
restore_over=Overwrite existing files?
restore_over0=Always
restore_over1=Unless newer than backup
restore_over2=Never
restore_noattribs=Restore file attributes?
restore_label=Only restore backup with label
restore_files=Files to restore
restore_all=Everything in backup
restore_sel=Listed files ..
restore_multi=Backup is split across multiple files?
restore_efile=Missing file or device to restore from
restore_ehost=Missing or invalid host to restore from
restore_ehuser=Invalid username on host to restore from
restore_ehfile=Missing or invalid file or device on host to restore from
restore_now=Restoring backup with command $1 ..
restore_desc=This page allows you to restore a previous filesystem backup. Be careful when restoring, as files modified since the backup may be overwritten!
restore_efiles=Missing files to restore
restore_evolume=Multi-volume restores are not supported.
restore_equestion=Unknown question from restore : $1
restore_edir=Missing or invalid directory to restore to
restore_failed=Restore failed : $1
restore_complete=Restore completed successfully.
restore_test=Only show files in backup?
restore_nothing=Just test backup?

log_create=Created backup config for $1
log_modify=Modified backup config for $1
log_delete=Deleted backup config for $1
log_backup=Backed up $1 to $2
log_restore=Restored backup from $1

   07070100059314000081a40000000000000002000000013d1fe2e900000c73000000200000000000000000000000000000001d00000003reloc/fsdump/lang/zh_TW.Big5  index_title=ÀÉ®×¨t²Î³Æ¥÷
index_add=·s¼W¥Ø¿ý³Æ¥÷:
index_none=©|¥¼²ÕºAÀÉ®×¨t²Î³Æ¥÷
index_restore=¦^¦s³Æ¥÷ªºÀÉ®×¨t²ÎÃþ«¬:
index_restoremsg=¿ï¨úÀÉ®×¨t²ÎÃþ«¬©M«ö¤U¦¹¶s¶}©l°õ¦æµ{§Ç¨Ó¦^¦s¿ï¨úªºÀÉ®×¨t²Î³Æ¥÷¡C
index_ecommands=¼Ò²Õ¦b±zªº¨t²Î¤W§ä¤£¨ì©Ò»Ý­nªºÀÉ®×¨t²Î³Æ¥÷«ü¥O (¹³¬O $1)¡A¤]³\²{¦bÁÙ¨S¦³¦w¸Ë¡C
index_return=³Æ¥÷²M³æ

dump_dir=³Æ¥÷¥Ø¿ý
dump_fs=ÀÉ®×¨t²Î
dump_sched=±Æµ{?
dump_when=±Æ©w®É¶¡¨Ó³Æ¥÷
dump_dest=³Æ¥÷¨ì
dump_file=ÀÉ®×©ÎºÏ±a¾÷¸Ë¸m
dump_host=¥D¾÷¦ì¸m $1 ¥Î¨Ï¥ÎªÌ $2 ³Æ¥÷¨ìÀÉ®×©Î¸Ë¸m $3
dump_level=³Æ¥÷¼h¯Å
dump_level_0=(¥þ³¡³Æ¥÷)
dump_label=³Æ¥÷¼ÐÃ±
dump_multi=¤À¦¨¦h­Ó³sÄòÀÉ®×?
dump_update=§ó·s<tt>/etc/dumpdates</tt>ÀÉ®×?
dump_edir=¨S¦³¿é¤J©Î¿ù»~ªº³Æ¥÷¥Ø¿ý
dump_efile=¨S¦³¿é¤J³Æ¥÷ªºÀÉ®×©Î¸Ë¸m
dump_ehost=¨S¦³¿é¤J©Î¿ù»~ªº³Æ¥÷¥D¾÷
dump_ehuser=¦b¥D¾÷¤WµL®Äªº³Æ¥÷¨Ï¥ÎªÌ¦WºÙ
dump_ehfile=¦b¥D¾÷¤W¨S¦³¿é¤J©Î¿ù»~ªº³Æ¥÷ÀÉ®×©Î¸Ë¸m
dump_elabel=µL®Äªº³Æ¥÷¼ÐÃ± (³Ì¦h15­Ó¦r¤¸)
dump_elabel2=µL®Äªº³Æ¥÷¼ÐÃ± (³Ì¦h255­Ó¦r¤¸)
dump_max=©Ò¥]§tªº³Ì¤jÀÉ®×¤j¤p
dump_unlimited=¤£­­¨î
dump_attribs=¥]§tÀÉ®×ÄÝ©Ê?
dump_over=¦bÂÐ»\¨ìºÏ±a«e¥ý¸ß°Ý?
dump_overwrite=¨C¦¸¦b³Æ¥÷³£«e¥ý¸ß°Ý?
dump_invent=³Æ¥÷®É¬ö¿ý¸Ô²Ó¥Ø¿ý?
dump_emax=¨S¦³¿é¤J©Î¿ù»~ªº³Ì¤jÀÉ®×¤j¤p
dump_emp=³Æ¥÷¥Ø¿ý¥²¶·¬O¤@­ÓÀÉ®×¨t²Î±¾¸üÂI
dump_erase=¦b³Æ¥÷«e¥ý§R°£ÀÉ®×/©Ù°£ºÏ±a?
dump_verify=¦b³Æ¥÷«áÀËÅç¸ê®Æ?
dump_offline=¦b³Æ¥÷«á°h¥XºÏ±a?

edit_err=·s¼W³Æ¥÷¥¢±Ñ
edit_edir=¨S¦³¿é¤J³Æ¥÷¥Ø¿ý
edit_efs=³o­Ó¼Ò²ÕµLªk³Æ¥÷ $1 Ãþ«¬ªºÀÉ®×¨t²Î
edit_title=·s¼W³Æ¥÷
edit_title2=½s¿è³Æ¥÷
edit_header=$1 ÀÉ®×¨t²Î³Æ¥÷¤º®e
edit_enabled=±Ò¥Î±Æµ{³Æ¥÷?
edit_enabled_no=°±¥Î
edit_enabled_yes=±Ò¥Î,¦b¤U¤è¿ï¨úªº®É¶¡..
edit_savenow=Àx¦s¨Ã¶}©l³Æ¥÷
edit_createnow=·s¼W¨Ã¶}©l³Æ¥÷
edit_now=²{¦b³Æ¥÷
edit_return=dump
edit_email=¶Ç°e±Æµ{¿é¥X¨ì¹q¤l¶l¥ó

save_err=Àx¦s³Æ¥÷¥¢±Ñ
save_edir=¨S¦³¿é¤J©Î¿ù»~ªº³Æ¥÷¥Ø¿ý
save_efs=³Æ¥÷¥Ø¿ýµLªkÅÜ§ó¦¨¤£¦PªºÀÉ®×¨t²Î

backup_title=²{¦b³Æ¥÷
backup_desc=³Æ¥÷ $1 ¨ì $2 ..

when_min=¨C¤À
when_hour=¨C¤p®Éªº $1 past the hour
when_day=¨C¤Ñªº $2:$1
when_month=¨C­Ó¤ë²Ä$3¤Ñªº$2:$1
when_weekday=¨C¬P´Á $3 ªº $2:$1
when_cron=±Æµ{®É¶¡(cron) $1

restore_title=¦^¦s³Æ¥÷
restore_ecommand=«ü¥O $1¦b±zªº¨t²Î¤W§ä¤£¨ì©Ò»Ý­nªº$2ÀÉ®×¨t²Î¦^¦s³Æ¥÷«ü¥O¡A¤]³\²{¦bÁÙ¨S¦³¦w¸Ë¡C
restore_header=¦^¦s³Æ¥÷ $1 ÀÉ®×¨t²Î
restore_src=±qÀÉ®×©Î¸Ë¸m¦^¦s
restore_dir=¦^¦s¥Ø¿ý
restore_ok=²{¦b¦^¦s³Æ¥÷!
restore_over=½Æ¼g­ì¦³ÀÉ®×?
restore_over0=¥þ³¡³£¬O
restore_over1=°£«D¤ñ³Æ¥÷ªº·s
restore_over2=¤@­Ó¤]¤£
restore_noattribs=¦^¦sÀÉ®×ÄÝ©Ê?
restore_label=¥u¦^¦s¦³¼ÐÃ±ªº³Æ¥÷
restore_files=ÀÉ®×¦^¦s
restore_all=©Ò¦³³Æ¥÷ªºªF¦è
restore_sel=ÀÉ®×²M³æ¤¤ªº..
restore_multi=³Æ¥÷¬O¦h­Ó³sÄòÀÉ®×?
restore_efile=§ä¤£¨ìÀÉ®×©Î¸Ë¸m¦^¦sªºªF¦è
restore_ehost=¨S¦³¿é¤J©Î¿ù»~ªº¦^¦s¥D¾÷¦ì¸m
restore_ehuser=¿ù»~ªº¦^¦s¨Ï¥ÎªÌ¦b¥D¾÷¦ì¸m¤W
restore_ehfile=¿ù»~ªºÀÉ®×©Î¸Ë¸m¦b¦^¦s¥D¾÷¦ì¸m¤W
restore_now=¥Ø«e¥Î«ü¥O $1 ¦^¦s³Æ¥÷¤¤ ..
restore_desc=³o­¶­±¬O¥Î¨Ó¦^¦s¥ý«eªºÀÉ®×¨t²Î³Æ¥÷¡A½Ðª`·N¡I·í¶}©l¦^¦s®É,ÀÉ®×·|³Q­×§ï¦¨³Æ¥÷¸Ì­±ªº¤º®e!
restore_efiles=§ä¤£¨ì¦^¦sÀÉ®×
restore_evolume=¤£¤ä´©¦hºÏºÐ²Õ¦X(Multi-volume)¦^¦s.
restore_equestion=¦^¦s®É¥¼ª¾ªº°ÝÃD : $1
restore_edir=¨S¦³¿é¤J©Î¿ù»~ªº¦^¦s¥Ø¿ý
restore_failed=¦^¦s¥¢±Ñ : $1
restore_complete=¦^¦s¦¨¥\¡I
restore_test=¥uÅã¥Ü³Æ¥÷ªºÀÉ®×?

log_create=·s¼W$1ªº³Æ¥÷³]©w
log_modify=­×§ï$1ªº³Æ¥÷³]©w
log_delete=§R°£$1ªº³Æ¥÷³]©w
log_backup=³Æ¥÷ $1 ¨ì $2
log_restore=±q$1¦^¦s³Æ¥÷


 070701000521db000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000001a00000003reloc/fsdump/linux-lib.pl # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521dc000081a40000000000000002000000013d1fe2e9000002ce000000200000000000000000000000000000001b00000003reloc/fsdump/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'fsdump-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'create' || $action eq 'modify' || $action eq 'delete') {
	return &text("log_$action", "<tt>".&html_escape($p->{'dir'})."</tt>");
	}
elsif ($action eq 'backup') {
	return &text('log_backup', "<tt>".&html_escape($p->{'dir'})."</tt>",
				   "<tt>".&dump_dest($p)."</tt>");
	}
elsif ($action eq 'restore') {
	return &text('log_restore', "<tt>".&html_escape($object)."</tt>");
	}
else {
	return undef;
	}
}

  070701000521dd000081a40000000000000002000000013d1fe2e900001c4e000000200000000000000000000000000000001a00000003reloc/fsdump/macos-lib.pl # freebsd-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ufs") if (&has_command("dump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
      "</b></td>\n";
printf "<td><input name=update type=radio value=1 %s> %s\n",
	$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
printf "<input name=update type=radio value=0 %s> %s</td>\n",
	$_[0]->{'update'} ? '' : 'checked', $text{'no'};

print "<td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
print "<td><select name=level>\n";
foreach $l (0 .. 9) {
	printf "<option value=%d %s>%d %s\n",
		$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
		$text{'dump_level_'.$l};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
      "</b></td> <td colspan=3>\n";
printf "<input name=blocks_def type=radio value=1 %s> %s\n",
	$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
printf "<input name=blocks_def type=radio value=0 %s>\n",
	$_[0]->{'blocks'} ? 'checked' : '';
printf "<input name=blocks size=8 value='%s'> kB</td> </tr>\n",
	$_[0]->{'blocks'};
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

local $mp;
foreach $m (&foreign_call("mount", "list_mounted")) {
	$mp++ if ($m->[0] eq $in{'dir'});
	}
$mp || &error($text{'dump_emp'});

$_[0]->{'update'} = $in{'update'};
$_[0]->{'level'} = $in{'level'};
if ($in{'blocks_def'}) {
	delete($_[0]->{'blocks'});
	}
else {
	$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
	$_[0]->{'blocks'} = $in{'blocks'};
	}
}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local $cmd;

$cmd = "dump -$_[0]->{'level'}";
if ($_[0]->{'huser'}) {
	$cmd .= " -f '$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$cmd .= " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$cmd .= " -f '$_[0]->{'file'}'";
	}
$cmd .= " -u" if ($_[0]->{'update'});
if ($_[0]->{'blocks'}) {
	$cmd .= " -B $_[0]->{'blocks'}";
	}
else {
	$cmd .= " -a";
	}
$cmd .= " '$_[0]->{'dir'}'";

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
return &has_command("restore") ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
      "</b></td>\n";
print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
      "$text{'restore_all'}\n";
print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
print "<input name=files size=40></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
print "<td colspan=3><input name=dir size=40> ",
	&file_chooser_button("dir", 1),"</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_nothing'},"rnothing"),
      "</b></td>\n";
print "<td><input type=radio name=nothing value=1> $text{'yes'}\n";
print "<input type=radio name=nothing value=0 checked> $text{'no'}</td>\n";

print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd = "restore";
$cmd .= ($in{'test'} ? " -t" : " -x");
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}

$cmd .= " -N" if ($in{'nothing'});
if (!$in{'files_def'}) {
	$in{'files'} || &error($text{'restore_efiles'});
	$cmd .= " $in{'files'}";
	}
-d $in{'dir'} || &error($text{'restore_edir'});

return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);

# Need to supply prompts
&foreign_require("proc", "proc-lib.pl");
local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
local $donevolume;
while(1) {
	local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
	last if ($rv < 0);
	print &html_escape($matches[1]);
	if ($rv == 0) {
		if ($donevolume++) {
			return $text{'restore_evolume'};
			}
		else {
			syswrite($fh, "1\n", 2);
			}
		}
	elsif ($rv == 1) {
		syswrite($fh, "n\n", 2);
		}
	elsif ($rv == 2) {
		return &text('restore_equestion',
			     "<tt>$matches[2]</tt>");
		}
	}
close($fh);
return undef;
}

1;

  070701000521ea000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002300000003reloc/fsdump/mandrake-linux-lib.pl    # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521eb000081a40000000000000002000000013d1fe2ea00000159000000200000000000000000000000000000001900000003reloc/fsdump/module.info  category=system
desc_zh_TW.Big5=ÀÉ®×¨t²Î³Æ¥÷
os_support=redhat-linux mandrake-linux slackware-linux debian-linux suse-linux open-linux turbo-linux corel-linux cobalt-linux msc-linux generic-linux solaris freebsd macos gentoo-linux
desc=Filesystem Backup
name=Dump
depends=mount cron proc 0.990
version=0.990
desc_ca=Còpia de Sistemes de Fitxers
   070701000521ec000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000001e00000003reloc/fsdump/msc-linux-lib.pl # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521ed000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000001f00000003reloc/fsdump/open-linux-lib.pl    # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521ee000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002100000003reloc/fsdump/redhat-linux-lib.pl  # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521ef000081e40000000000000002000000013d1fe2e9000002ec000000200000000000000000000000000000001900000003reloc/fsdump/restore.cgi  #!/usr/local/bin/perl
# restore.cgi
# Restore a backup dump

require './fsdump-lib.pl';
&ReadParse();
&error_setup($text{'restore_err'});

$cmd = &parse_restore($in{'fs'});

$theme_no_table++;
&header($text{'restore_title'}, "");
print "<hr>\n";

print "<b>",&text('restore_now', "<tt>$cmd</tt>"),"</b> <p>\n";
print "<pre>";
$rv = &restore_backup($in{'fs'}, $cmd);
print "</pre>\n";
if ($rv) {
	print "<b>",&text('restore_failed', $rv),"</b><p>\n";
	}
elsif (!$in{'test'}) {
	print "<b>$text{'restore_complete'}</b><p>\n";
	}
&webmin_log("restore", undef, $in{'mode'} == 0 ? $in{'file'} :
		      $in{'huser'} ? "$in{'huser'}@$in{'host'}:$in{'hfile'}" :
				     "$in{'huser'}:$in{'hfile'}");

print "<hr>\n";
&footer("", $text{'index_return'});

070701000521f0000081e40000000000000002000000013d1fe2e900000369000000200000000000000000000000000000001e00000003reloc/fsdump/restore_form.cgi #!/usr/local/bin/perl
# restore_form.cgi
# Display a form with restore options

require './fsdump-lib.pl';
&ReadParse();

&header($text{'restore_title'}, "", "restore");
print "<hr>\n";

$m = &missing_restore_command($in{'fs'});
if ($m) {
	print "<p>",&text('restore_ecommand', "<tt>$m</tt>", uc($in{'fs'})),
	      "<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

print "<b>$text{'restore_desc'}</b><p>\n";

print "<form action=restore.cgi>\n";
print "<input type=hidden name=fs value='$in{'fs'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('restore_header', uc($in{'fs'})),"</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&restore_form($in{'fs'});

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'restore_ok'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000521f1000081e40000000000000002000000013d1fe2e900000b75000000200000000000000000000000000000001b00000003reloc/fsdump/save_dump.cgi    #!/usr/local/bin/perl
# save_dump.cgi
# Save the details of a scheduled backup

require './fsdump-lib.pl';
&foreign_require("cron", "cron-lib.pl");
&ReadParse();
&error_setup($text{'save_err'});

if ($in{'id'}) {
	$dump = &get_dump($in{'id'});
	@jobs = &foreign_call("cron", "list_cron_jobs");
	foreach $j (@jobs) {
		$job = $j if ($j->{'command'} eq "$cron_cmd $dump->{'id'}");
		}
	$oldenabled = $dump->{'enabled'};
	}

if ($in{'delete'}) {
	# Just delete this dump
	&delete_dump($dump);
	if ($job) {
		&lock_file($job->{'file'});
		&foreign_call("cron", "delete_cron_job", $job);
		&unlock_file($job->{'file'});
		}
	&webmin_log("delete", undef, $dump->{'id'}, $dump);
	&redirect("");
	}
elsif ($in{'backup'}) {
	# Redirect to backup page
	&redirect("backup.cgi?id=$in{'id'}");
	}
else {
	# Validate and store inputs
	-d $in{'dir'} || &error($text{'save_edir'});
	$fs = &directory_filesystem($in{'dir'});
	$fs eq $in{'fs'} || &error($text{'save_efs'});
	$dump->{'dir'} = $in{'dir'};
	$dump->{'fs'} = $in{'fs'};
	$dump->{'email'} = $in{'email'};
	&parse_dump($dump);
	$dump->{'enabled'} = $in{'enabled'};
	&foreign_call("cron", "parse_times_input", $dump, \%in);

	# Create or update the dump and cron job
	&save_dump($dump);
	local $oldjob = $job;
	if ($dump->{'enabled'}) {
		# Create cron job and script
		$job->{'user'} = 'root';
		$job->{'active'} = 1;
		$job->{'mins'} = $dump->{'mins'};
		$job->{'hours'} = $dump->{'hours'};
		$job->{'days'} = $dump->{'days'};
		$job->{'months'} = $dump->{'months'};
		$job->{'weekdays'} = $dump->{'weekdays'};
		$job->{'command'} = "$cron_cmd $dump->{'id'}";
		open(PERL, "$config_directory/perl-path");
		chop($perl_path = <PERL>);
		close(PERL);
		&lock_file($cron_cmd);
		open(CMD, ">$cron_cmd");
		print CMD <<EOF;
#!$perl_path
open(CONF, "$config_directory/miniserv.conf");
while(<CONF>) {
	\$root = \$1 if (/^root=(.*)/);
	}
close(CONF);
\$ENV{'WEBMIN_CONFIG'} = "$ENV{'WEBMIN_CONFIG'}";
\$ENV{'WEBMIN_VAR'} = "$ENV{'WEBMIN_VAR'}";
chdir("\$root/$module_name");
exec("\$root/$module_name/backup.pl", \$ARGV[0]);
EOF
		close(CMD);
		chmod(0755, $cron_cmd);
		&unlock_file($cron_cmd);
		}
	if ($dump->{'enabled'} && !$oldjob) {
		# Create the cron job
		local %cconfig = &foreign_config("cron");
		local $ctab = "$cconfig{'cron_dir'}/root";
		&lock_file($ctab);
		&foreign_call("cron", "create_cron_job", $job); 
		&unlock_file($ctab);
		}
	elsif ($dump->{'enabled'} && $oldjob) {
		# Update the cron job
		&lock_file($job->{'file'});
		&foreign_call("cron", "change_cron_job", $job); 
		&unlock_file($job->{'file'});
		}
	elsif (!$dump->{'enabled'} && $oldjob) {
		# Delete the cron job
		&lock_file($job->{'file'});
		&foreign_call("cron", "delete_cron_job", $job);
		&unlock_file($job->{'file'});
		}

	&webmin_log($in{'id'} ? "modify" : "create", undef, $dump->{'id'}, $dump);
	if ($in{'savenow'}) {
		&redirect("backup.cgi?id=$dump->{'id'}");
		}
	else {
		&redirect("");
		}
	}

   070701000521f2000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002400000003reloc/fsdump/slackware-linux-lib.pl   # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521f3000081a40000000000000002000000013d1fe2e900001b53000000200000000000000000000000000000001c00000003reloc/fsdump/solaris-lib.pl   # solaris-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ufs") if (&has_command("ufsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
      "</b></td>\n";
printf "<td><input name=update type=radio value=1 %s> %s\n",
	$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
printf "<input name=update type=radio value=0 %s> %s</td>\n",
	$_[0]->{'update'} ? '' : 'checked', $text{'no'};

print "<td><b>",&hlink($text{'dump_verify'},"verify"),"</b></td>\n";
printf "<td><input name=verify type=radio value=1 %s> %s\n",
	$_[0]->{'verify'} ? 'checked' : '', $text{'yes'};
printf "<input name=verify type=radio value=0 %s> %s</td> </tr>\n",
	$_[0]->{'verify'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
print "<td><select name=level>\n";
foreach $l (0 .. 9) {
	printf "<option value=%d %s>%d %s\n",
		$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
		$text{'dump_level_'.$l};
	}
print "</select></td>\n";

print "<td><b>",&hlink($text{'dump_offline'},"offline"),"</b></td>\n";
printf "<td><input name=offline type=radio value=1 %s> %s\n",
	$_[0]->{'offline'} ? 'checked' : '', $text{'yes'};
printf "<input name=offline type=radio value=0 %s> %s</td> </tr>\n",
	$_[0]->{'offline'} ? '' : 'checked', $text{'no'};
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

$_[0]->{'update'} = $in{'update'};
$_[0]->{'verify'} = $in{'verify'};
$_[0]->{'level'} = $in{'level'};
$_[0]->{'offline'} = $in{'offline'};
}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local $cmd = "ufsdump $_[0]->{'level'}";
$cmd .= "u" if ($_[0]->{'update'});
$cmd .= "v" if ($_[0]->{'verify'});
$cmd .= "o" if ($_[0]->{'offline'});
if ($_[0]->{'huser'}) {
	$cmd .= "f '$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$cmd .= "f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$cmd .= "f '$_[0]->{'file'}'";
	}
$cmd .= " '$_[0]->{'dir'}'";

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
return &has_command("ufsrestore") ? undef : "ufsrestore";
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
      "</b></td>\n";
print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
      "$text{'restore_all'}\n";
print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
print "<input name=files size=40></td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
print "<td><input name=dir size=40> ",&file_chooser_button("dir", 1),
      "</td> </tr>\n";

print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
$cmd = "ufsrestore";
$cmd .= ($in{'test'} ? " t" : " x");
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= "f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= "f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= "f '$in{'host'}:$in{'hfile'}'";
		}
	}

if (!$in{'files_def'}) {
	$in{'files'} || &error($text{'restore_efiles'});
	$cmd .= " $in{'files'}";
	}
-d $in{'dir'} || &error($text{'restore_edir'});

return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);

&foreign_require("proc", "proc-lib.pl");
local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
local $donevolume;
while(1) {
	local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "(Directories already exist, set modes anyway. \\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
	last if ($rv < 0);
	print &html_escape($matches[1]);
	if ($rv == 0) {
		if ($donevolume++) {
			return $text{'restore_evolume'};
			}
		else {
			syswrite($fh, "1\n", 2);
			}
		}
	elsif ($rv == 1 || $rv == 2) {
		syswrite($fh, "n\n", 2);
		}
	elsif ($rv == 3) {
		return &text('restore_equestion',
			     "<tt>$matches[2]</tt>");
		}
	}
close($fh);
return undef;
}

1;

 070701000521f4000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000001f00000003reloc/fsdump/suse-linux-lib.pl    # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521f5000081a40000000000000002000000013d1fe2e9000034df000000200000000000000000000000000000002000000003reloc/fsdump/turbo-linux-lib.pl   # linux-lib.pl

# supported_filesystems()
# Returns a list of filesystem types on which dumping is supported
sub supported_filesystems
{
local @rv;
push(@rv, "ext2", "ext3") if (&has_command("dump"));
push(@rv, "xfs") if (&has_command("xfsdump"));
return @rv;
}

# dump_form(&dump)
sub dump_form
{
# Display common options
print "<tr> <td valign=top><b>",&hlink($text{'dump_dest'}, "dest"),
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'host'} ? '' : 'checked', $text{'dump_file'};
printf "<input name=file size=50 value='%s'> %s<br>\n",
	$_[0]->{'host'} ? '' : $_[0]->{'file'},
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1 %s>\n",
	$_[0]->{'host'} ? 'checked' : '';
print &text('dump_host',
	    "<input name=host size=15 value='$_[0]->{'host'}'>",
	    "<input name=huser size=8 value='$_[0]->{'huser'}'>",
	    "<input name=hfile size=20 value='$_[0]->{'hfile'}'>"),
      "</td> </tr>\n";

if ($_[0]->{'fs'} eq 'xfs') {
	# Display xfs dump options
	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_max'},"max"),"</b></td>\n";
	printf "<td><input type=radio name=max_def value=1 %s> %s\n",
		$_[0]->{'max'} ? '' : 'checked', $text{'dump_unlimited'};
	printf "<input type=radio name=max_def value=0 %s>\n",
		$_[0]->{'max'} ? 'checked' : '';
	printf "<input name=max size=8 value='%s'> kB</td>\n", $_[0]->{'max'};

	print "<td><b>",&hlink($text{'dump_attribs'},"attribs"),"</b></td>\n";
	printf "<td><input type=radio name=noattribs value=0 %s> %s\n",
		$_[0]->{'noattribs'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noattribs value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noattribs'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_over'},"over"),"</b></td>\n";
	printf "<td><input type=radio name=over value=0 %s> %s\n",
		$_[0]->{'over'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=over value=1 %s> %s</td>\n",
		$_[0]->{'over'} ? 'checked' : '', $text{'no'};

	print "<td><b>",&hlink($text{'dump_invent'},"invent"),"</b></td>\n";
	printf "<td><input type=radio name=noinvent value=0 %s> %s\n",
		$_[0]->{'noinvent'} ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=noinvent value=1 %s> %s</td> </tr>\n",
		$_[0]->{'noinvent'} ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_overwrite'},"overwrite"),
	      "</b></td>\n";
	printf "<td><input type=radio name=overwrite value=1 %s> %s\n",
		$_[0]->{'overwrite'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=overwrite value=0 %s> %s</td>\n",
		$_[0]->{'overwrite'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_erase'},"erase"),"</b></td>\n";
	printf "<td><input type=radio name=erase value=1 %s> %s\n",
		$_[0]->{'erase'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=erase value=0 %s> %s</td> </tr>\n",
		$_[0]->{'erase'} ? '' : 'checked', $text{'no'};
	}
else {
	# Display ext2/3 filesystem dump options
	print "<tr> <td><b>",&hlink($text{'dump_update'},"update"),
	      "</b></td>\n";
	printf "<td><input name=update type=radio value=1 %s> %s\n",
		$_[0]->{'update'} ? 'checked' : '', $text{'yes'};
	printf "<input name=update type=radio value=0 %s> %s</td>\n",
		$_[0]->{'update'} ? '' : 'checked', $text{'no'};

	print "<td><b>",&hlink($text{'dump_multi'},"multi"),"</b></td>\n";
	printf "<td><input name=multi type=radio value=1 %s> %s\n",
		$_[0]->{'multi'} ? 'checked' : '', $text{'yes'};
	printf "<input name=multi type=radio value=0 %s> %s</td> </tr>\n",
		$_[0]->{'multi'} ? '' : 'checked', $text{'no'};

	print "<tr> <td><b>",&hlink($text{'dump_level'},"level"),"</b></td>\n";
	print "<td><select name=level>\n";
	foreach $l (0 .. 9) {
		printf "<option value=%d %s>%d %s\n",
			$l, $_[0]->{'level'} == $l ? "selected" : "", $l,
			$text{'dump_level_'.$l};
		}
	print "</select></td>\n";

	print "<td><b>",&hlink($text{'dump_label'},"label"),"</b></td>\n";
	printf "<td><input name=label size=15 value='%s'></td> </tr>\n",
		$_[0]->{'label'};

	print "<tr> <td><b>",&hlink($text{'dump_blocks'},"blocks"),
	      "</b></td> <td colspan=3>\n";
	printf "<input name=blocks_def type=radio value=1 %s> %s\n",
		$_[0]->{'blocks'} ? '' : 'checked', $text{'dump_auto'};
	printf "<input name=blocks_def type=radio value=0 %s>\n",
		$_[0]->{'blocks'} ? 'checked' : '';
	printf "<input name=blocks size=8 value='%s'> kB</td>\n",
		$_[0]->{'blocks'};
	}
}

# parse_dump(&dump)
sub parse_dump
{
# Parse common options
if ($in{'mode'} == 0) {
	$in{'file'} =~ /\S/ || &error($text{'dump_efile'});
	$_[0]->{'file'} = $in{'file'};
	delete($_[0]->{'host'});
	delete($_[0]->{'huser'});
	delete($_[0]->{'hfile'});
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'dump_ehost'});
	$_[0]->{'host'} = $in{'host'};
	$in{'huser'} =~ /^\S+$/ || &error($text{'dump_ehuser'});
	$_[0]->{'huser'} = $in{'huser'};
	$in{'hfile'} || &error($text{'dump_ehfile'});
	$_[0]->{'hfile'} = $in{'hfile'};
	delete($_[0]->{'file'});
	}

if ($_[0]->{'fs'} eq 'xfs') {
	# Parse xfs options
	local $mp;
	foreach $m (&foreign_call("mount", "list_mounted")) {
		$mp++ if ($m->[0] eq $in{'dir'});
		}
	$mp || &error($text{'dump_emp'});
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 256 ||
		&error($text{'dump_elabel2'});
	$_[0]->{'label'} = $in{'label'};
	$_[0]->{'level'} = $in{'level'};
	if ($in{'max_def'}) {
		delete($_[0]->{'max'});
		}
	else {
		$in{'max'} =~ /^\d+$/ || &error($text{'dump_emax'});
		$_[0]->{'max'} = $in{'max'};
		}
	$_[0]->{'noattribs'} = $in{'noattribs'};
	$_[0]->{'over'} = $in{'over'};
	$_[0]->{'noinvent'} = $in{'noinvent'};
	$_[0]->{'overwrite'} = $in{'overwrite'};
	$_[0]->{'erase'} = $in{'erase'};
	}
else {
	# Parse ext2/3 options
	$_[0]->{'update'} = $in{'update'};
	$_[0]->{'multi'} = $in{'multi'};
	$_[0]->{'level'} = $in{'level'};
	$in{'label'} =~ /^\S*$/ && length($in{'label'}) < 16 ||
		&error($text{'dump_elabel'});
	$_[0]->{'label'} = $in{'label'};
	if ($in{'blocks_def'}) {
		delete($_[0]->{'blocks'});
		}
	else {
		$in{'blocks'} =~ /^\d+$/ || &error($text{'dump_eblocks'});
		$_[0]->{'blocks'} = $in{'blocks'};
		}
	}

}

# execute_dump(&dump, filehandle, escape)
# Executes a dump and displays the output
sub execute_dump
{
local $fh = $_[1];
local ($cmd, $flag);
if ($_[0]->{'huser'}) {
	$flag = " -f '$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
elsif ($_[0]->{'host'}) {
	$flag = " -f '$_[0]->{'host'}:$_[0]->{'hfile'}'";
	}
else {
	$flag = " -f '$_[0]->{'file'}'";
	}
if ($_[0]->{'fs'} eq 'xfs') {
	# xfs backup
	$cmd = "xfsdump -l $_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -M '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -z '$_[0]->{'max'}'" if ($_[0]->{'max'});
	$cmd .= " -A" if ($_[0]->{'noattribs'});
	$cmd .= " -F" if ($_[0]->{'over'});
	$cmd .= " -J" if ($_[0]->{'noinvent'});
	$cmd .= " -o" if ($_[0]->{'overwrite'});
	$cmd .= " -E -F" if ($_[0]->{'erase'});
	$cmd .= " '$_[0]->{'dir'}'";
	}
else {
	# ext2/3 backup
	$cmd = "dump -$_[0]->{'level'}";
	$cmd .= $flag;
	$cmd .= " -u" if ($_[0]->{'update'});
	$cmd .= " -M" if ($_[0]->{'multi'});
	$cmd .= " -L '$_[0]->{'label'}'" if ($_[0]->{'label'});
	$cmd .= " -B $_[0]->{'blocks'}" if ($_[0]->{'blocks'});
	$cmd .= " '$_[0]->{'dir'}'";
	}

&system_logged("sync");
sleep(1);
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	if ($_[2]) {
		print $fh &html_escape($_);
		}
	else {
		print $fh $_;
		}
	}
close(CMD);
return $? ? 0 : 1;
}

# dump_dest(&dump)
sub dump_dest
{
if ($_[0]->{'file'}) {
	return "<tt>".&html_escape($_[0]->{'file'})."</tt>";
	}
elsif ($_[0]->{'huser'}) {
	return "<tt>".&html_escape("$_[0]->{'huser'}\@$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
else {
	return "<tt>".&html_escape("$_[0]->{'host'}:$_[0]->{'hfile'}")."</tt>";
	}
}

# missing_restore_command(filesystem)
sub missing_restore_command
{
local $cmd = $_[0] eq 'xfs' ? 'xfsrestore' : 'restore';
return &has_command($cmd) ? undef : $cmd;
}

# restore_form(filesystem)
sub restore_form
{
# common options
print "<tr> <td valign=top><b>",&hlink($text{'restore_src'}, "rsrc"),
      "</b></td>\n";
printf "<td colspan=3><input type=radio name=mode value=0 checked> %s\n",
	$text{'dump_file'};
printf "<input name=file size=50> %s<br>\n",
	&file_chooser_button("file");
printf "<input type=radio name=mode value=1>\n";
print &text('dump_host',
	    "<input name=host size=15>",
	    "<input name=huser size=8>",
	    "<input name=hfile size=20>"),
      "</td> </tr>\n";

if ($_[0] eq 'xfs') {
	# xfs restore options
	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),
	      "</b></td> <td colspan=3>\n";
	print "<input name=dir size=50> ",&file_chooser_button("dir", 1),
	      "</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_over'},"rover"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=over value=0 checked> ",
	      "$text{'restore_over0'}\n";
	print "<input type=radio name=over value=1> $text{'restore_over1'}\n";
	print "<input type=radio name=over value=2> ",
	      "$text{'restore_over2'}</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_noattribs'},"rnoattribs"),
	      "</b></td> <td>\n";
	print "<input type=radio name=noattribs value=0 checked> $text{'yes'}\n";
	print "<input type=radio name=noattribs value=1> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_label'},"rlabel"),"</b></td>\n";
	print "<td><input name=label size=20></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
else {
	# ext2/3 restore options
	print "<tr> <td><b>",&hlink($text{'restore_files'},"rfiles"),
	      "</b></td>\n";
	print "<td colspan=3><input type=radio name=files_def value=1 checked> ",
	      "$text{'restore_all'}\n";
	print "<input type=radio name=files_def value=0> $text{'restore_sel'}\n";
	print "<input name=files size=40></td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_dir'},"rdir"),"</td>\n";
	print "<td colspan=3><input name=dir size=40> ",
		&file_chooser_button("dir", 1),"</td> </tr>\n";

	print "<tr> <td><b>",&hlink($text{'restore_multi'},"rmulti"),
	      "</b></td>\n";
	print "<td><input type=radio name=multi value=1> $text{'yes'}\n";
	print "<input type=radio name=multi value=0 checked> $text{'no'}</td>\n";

	print "<td><b>",&hlink($text{'restore_test'},"rtest"),"</td>\n";
	print "<td><input type=radio name=test value=1> $text{'yes'}\n";
	print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
	}
}

# parse_restore(filesystem)
# Parses inputs from restore_form() and returns a command to be passed to
# restore_backup()
sub parse_restore
{
local $cmd;
if ($_[0] eq 'xfs') {
	$cmd = "xfsrestore";
	$cmd .= " -t" if ($in{'test'});
	}
else {
	$cmd = "restore";
	$cmd .= ($in{'test'} ? " -t" : " -x");
	}
if ($in{'mode'} == 0) {
	$in{'file'} || &error($text{'restore_efile'});
	$cmd .= " -f '$in{'file'}'";
	}
else {
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error($text{'restore_ehost'});
	$in{'huser'} =~ /^\S*$/ || &error($text{'restore_ehuser'});
	$in{'hfile'} || &error($text{'restore_ehfile'});
	if ($in{'huser'}) {
		$cmd .= " -f '$in{'huser'}@$in{'host'}:$in{'hfile'}'";
		}
	else {
		$cmd .= " -f '$in{'host'}:$in{'hfile'}'";
		}
	}
if ($_[0] eq 'xfs') {
	# parse xfs options
	$cmd .= " -E" if ($in{'over'} == 1);
	$cmd .= " -e" if ($in{'over'} == 2);
	$cmd .= " -A" if ($in{'noattribs'});
	$cmd .= " -L '$in{'label'}'" if ($in{'label'});
	$cmd .= " -F";
	if (!$in{'test'}) {
		-d $in{'dir'} || &error($text{'restore_edir'});
		$cmd .= " '$in{'dir'}'";
		}
	}
else {
	# parse ext2/3 options
	$cmd .= " -M" if ($in{'multi'});
	if (!$in{'files_def'}) {
		$in{'files'} || &error($text{'restore_efiles'});
		$cmd .= " $in{'files'}";
		}
	-d $in{'dir'} || &error($text{'restore_edir'});
	}
return $cmd;
}

# restore_backup(filesystem, command)
# Restores a backup based on inputs from restore_form(), and displays the results
sub restore_backup
{
&additional_log('exec', undef, $_[1]);
if ($_[0] eq 'xfs') {
	# Just run the backup command
	open(CMD, "$_[1] 2>&1 </dev/null |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	}
else {
	# Need to supply prompts
	&foreign_require("proc", "proc-lib.pl");
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", "cd '$in{'dir'}' ; $_[1]");
	local $donevolume;
	while(1) {
		local $rv = &wait_for($fh, "(next volume #)", "(set owner.mode for.*\\[yn\\])", "((.*)\\[yn\\])", "(.*\\n)");
		last if ($rv < 0);
		print &html_escape($matches[1]);
		if ($rv == 0) {
			if ($donevolume++) {
				return $text{'restore_evolume'};
				}
			else {
				syswrite($fh, "1\n", 2);
				}
			}
		elsif ($rv == 1) {
			syswrite($fh, "n\n", 2);
			}
		elsif ($rv == 2) {
			return &text('restore_equestion',
				     "<tt>$matches[2]</tt>");
			}
		}
	close($fh);
	}
return undef;
}

1;

 070701000521f6000081a40000000000000002000000013d1fe2e90000015b000000200000000000000000000000000000001a00000003reloc/fsdump/uninstall.pl # uninstall.pl
# Called when webmin is uninstalled

require 'fsdump-lib.pl';

sub module_uninstall
{
&foreign_require("cron", "cron-lib.pl");
@jobs = &cron::list_cron_jobs();
foreach $j (sort { $b->{'line'} <=> $a->{'line'} } @jobs) {
	if ($j->{'command'} =~ /^$cron_cmd\s+/) {
		# Cancel this cron job
		&cron::delete_cron_job($j);
		}
	}
}

1;

 0707010003e273000081e40000000000000002000000013d1fe2b7000014f6000000200000000000000000000000000000001800000003reloc/group_chooser.cgi   #!/usr/local/bin/perl
# group_chooser.cgi
# This CGI generated the HTML for choosing a group or list of groups.

require './web-lib.pl';
&init_config();
&ReadParse();
%access = &get_module_acl();

# Build list of primary groups
setpwent();
while(@uinfo = getpwent()) {
	push(@{$members{$uinfo[3]}}, $uinfo[0]);
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');

if ($in{'multi'}) {
	# selecting multiple groups.
	if ($in{'frame'} == 0) {
		# base frame
		&PrintHeader();
		print "<script>\n";
		@ul = &split_quoted($in{'group'});
		$len = @ul;
		print "sel = new Array($len);\n";
		print "selr = new Array($len);\n";
		for($i=0; $i<$len; $i++) {
			print "sel[$i] = \"$ul[$i]\";\n";
			@ginfo = getgrnam($ul[$i]);
			if (@ginfo) {
				@mems = &unique( split(/ /, $ginfo[3]),
						 @{$members{$ginfo[2]}} );
				if (@mems > 3) { @mems = (@mems[0..1], "..."); }
				print "selr[$i] = \"",join(' ', @mems),"\";\n";
				}
			else { print "selr[$i] = \"???\";\n"; }
			}
		print "</script>\n";
		print "<title>$text{'groups_title1'}</title>\n";
		print "<frameset cols='50%,50%'>\n";
		print "<frame src=\"/group_chooser.cgi?frame=1&multi=1\">\n";
		print "<frameset rows='*,50' frameborder=no>\n";
		print " <frame src=\"/group_chooser.cgi?frame=2&multi=1\">\n";
		print " <frame src=\"/group_chooser.cgi?frame=3&multi=1\" scrolling=no>\n";
		print "</frameset>\n";
		print "</frameset>\n";
		}
	elsif ($in{'frame'} == 1) {
		# list of all groups to choose from
		&header();
		print "<script>\n";
		print "function addgroup(u, r)\n";
		print "{\n";
		print "top.sel[top.sel.length] = u\n";
		print "top.selr[top.selr.length] = r\n";
		print "top.frames[1].location = top.frames[1].location\n";
		print "return false;\n";
		print "}\n";
		print "</script>\n";
		print "<font size=+1>$text{'groups_all'}</font>\n";
		print "<table width=100%>\n";
		foreach $u (&get_groups_list()) {
			if ($in{'group'} eq $u->[0]) { print "<tr $cb>\n"; }
			else { print "<tr>\n"; }
			print "<td width=20%><a href=\"\" onClick='return addgroup(\"$u->[0]\", \"$u->[3]\")'>$u->[0]</a></td>\n";
			print "<td>$u->[3]</td> </tr>\n";
			}
		print "</table>\n";
		}
	elsif ($in{'frame'} == 2) {
		# show chosen groups
		&header();
		print "<font size=+1>$text{'groups_sel'}</font>\n";
		print <<'EOF';
<table width=100%>
<script>
function sub(j)
{
sel2 = new Array(); selr2 = new Array();
for(k=0,l=0; k<top.sel.length; k++) {
	if (k != j) {
		sel2[l] = top.sel[k];
		selr2[l] = top.selr[k];
		l++;
		}
	}
top.sel = sel2; top.selr = selr2;
location = location;
return false;
}
for(i=0; i<top.sel.length; i++) {
	document.write("<tr>\n");
	document.write("<td><a href=\"\" onClick='return sub("+i+")'>"+top.sel[i]+"</a></td>\n");
	document.write("<td>"+top.selr[i]+"</td>\n");
	}
</script>
</table>
EOF
		}
	elsif ($in{'frame'} == 3) {
		# output OK and Cancel buttons
		&header();
		print "<script>\n";
		print "function qjoin(l)\n";
		print "{\n";
		print "rv = \"\";\n";
		print "for(i=0; i<l.length; i++) {\n";
		print "    if (rv != '') rv += ' ';\n";
		print "    if (l[i].indexOf(' ') < 0) rv += l[i];\n";
		print "    else rv += '\"'+l[i]+'\"'\n";
		print "    }\n";
		print "return rv;\n";
		print "}\n";
		print "</script>\n";
		print "<form>\n";
		print "<input type=button value=\"$text{'groups_ok'}\" ",
		      " onClick='top.ifield.value = qjoin(top.sel); ",
		      "top.close()'>\n";
		print "<input type=button value=\"$text{'groups_cancel'}\" ",
		      "onClick='top.close()'>\n";
		print "&nbsp;&nbsp;<input type=button value=\"$text{'groups_clear'}\" onClick='top.sel = new Array(); top.selr = new Array(); top.frames[1].location = top.frames[1].location'>\n";
		print "</form>\n";
		}
	}
else {
	# selecting just one group .. display a list of all groups to choose from
	&header();
	print "<script>\n";
	print "function select(f)\n";
	print "{\n";
	print "ifield.value = f;\n";
	print "top.close();\n";
	print "return false;\n";
	print "}\n";
	print "</script>\n";
	print "<title>$text{'groups_title2'}</title>\n";
	print "<table width=100%>\n";
	foreach $u (&get_groups_list()) {
		if ($in{'group'} eq $u->[0]) { print "<tr $cb>\n"; }
		else { print "<tr>\n"; }
		print "<td width=20%><a href=\"\" onClick='return select(\"$u->[0]\")'>$u->[0]</a></td>\n";
		print "<td>$u->[3]</td> </tr>\n";
		}
	print "</table>\n";
	}

sub get_groups_list
{
local(@ginfo, @groups, %gcan, %found);
if ($access{'gedit_mode'} == 2 || $access{'gedit_mode'} == 3) {
	map { $gcan{$_}++ } split(/\s+/, $access{'gedit'});
	}
setgrent();
while(@ginfo = getgrent()) {
	@mems = &unique( split(/ /, $ginfo[3]), @{$members{$ginfo[2]}} );
	if (@mems > 3) { @mems = (@mems[0..1], "..."); }
	$ginfo[3] = join(' ', @mems);
	if ($access{'gedit_mode'} == 0 ||
	    $access{'gedit_mode'} == 2 && $gcan{$ginfo[0]} ||
	    $access{'gedit_mode'} == 3 && !$gcan{$ginfo[0]} ||
	    $access{'gedit_mode'} == 4 &&
		(!$access{'gedit'} || $ginfo[2] >= $access{'gedit'}) &&
		(!$access{'gedit2'} || $ginfo[2] <= $access{'gedit2'})) {
		push(@groups, [ @ginfo ]) if (!$found{$ginfo[0]}++);
		}
	}
endgrent() if ($gconfig{'os_type'} ne 'hpux');
return sort { $a->[0] cmp $b->[0] } @groups;
}

# split_quoted(string)
sub split_quoted
{
local @rv;
local $str = $_[0];
while($str =~ /^\s*(\S*"[^"]+"\S*)(.*)$/ || $str =~ /^\s*(\S+)(.*)$/) {
	$str = $2;
	local $g = $1;
	$g =~ s/"//g;
	push(@rv, $g);
	}
return @rv;
}

  0707010005aafc000041ed0000000000000001000000043d1ffa4100000000000000200000000000000000000000000000000b00000003reloc/grub    0707010005aafd000081a40000000000000002000000013d1fe2e300000045000000200000000000000000000000000000001200000003reloc/grub/config menu_file=/boot/grub/menu.lst
grub_path=/usr/sbin/grub
install=(hd0)
   0707010005aafe000081a40000000000000002000000013d1fe2e300000041000000200000000000000000000000000000001f00000003reloc/grub/config-gentoo-linux    menu_file=/boot/grub/menu.lst
grub_path=/sbin/grub
install=(hd0)
   0707010005aaff000081a40000000000000002000000013d1fe2e300000042000000200000000000000000000000000000002300000003reloc/grub/config-redhat-linux-7.2    menu_file=/boot/grub/grub.conf
grub_path=/sbin/grub
install=(hd0)
  0707010005ab00000081a40000000000000002000000013d1fe2e300000042000000200000000000000000000000000000002300000003reloc/grub/config-redhat-linux-7.3    menu_file=/boot/grub/grub.conf
grub_path=/sbin/grub
install=(hd0)
  0707010005ab01000081a40000000000000002000000013d1fe2e300000076000000200000000000000000000000000000001700000003reloc/grub/config.info    menu_file=GRUB menu configuration file,0
grub_path=Path to grub executable,0
install=Install GRUB on disk/partition,0
  0707010005ab02000081a40000000000000002000000013d1fe2e30000008a000000200000000000000000000000000000001a00000003reloc/grub/config.info.ca menu_file=Fitxer de configuració de menús del GRUB,0
grub_path=Camí de l'executable grub,0
install=Instal·la el GRUB al disc/partició,0


  0707010005ab03000081a40000000000000002000000013d1fe2e300000087000000200000000000000000000000000000001a00000003reloc/grub/config.info.es menu_file=Archivo de configuración de menú GRUB,0
grub_path=Trayectoria a ejecutable grub,0
install=Instalar GRUB en disco/partición,0
 0707010005ab04000081a40000000000000002000000013d1fe2e300000086000000200000000000000000000000000000001a00000003reloc/grub/config.info.pl menu_file=Plik konfiguracyjny manu GRUBa,0
grub_path=Scie¿ka do programu <tt>grub</tt>,0
install=Instalowaæ GRUBa na dysku/partycji,0
  0707010005ab05000081a40000000000000002000000013d1fe2e300000054000000200000000000000000000000000000002200000003reloc/grub/config.info.zh_TW.Big5 menu_file=GRUB¥Ø¿ý²ÕºAÀÉ,0
grub_path=grub°õ¦æ¸ô®|,0
install=¦w¸ËGRUB¦bºÏºÐ/¤À³Î°Ï,0
0707010005ab06000081e40000000000000002000000013d1fe2e300000c38000000200000000000000000000000000000001b00000003reloc/grub/edit_global.cgi    #!/usr/local/bin/perl
# edit_global.cgi
# Edit global GRUB options

require './grub-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
$conf = &get_menu_config();
&header($text{'global_title'}, "");
print "<hr>\n";

print "<form action=save_global.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'global_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$default = &find_value("default", $conf);
@titles = &find_value("title", $conf);
print "<tr> <td><b>$text{'global_default'}</b></td>\n";
print "<td><select name=default>\n";
printf "<option value='' %s>%s\n",
	$default eq '' ? 'selected' : '', $text{'global_first'};
for($i=0; $i<@titles; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, $default eq $i ? 'selected' : '', $titles[$i];
	}
print "</select></td>\n";

$fallback = &find_value("fallback", $conf);
print "<td><b>$text{'global_fallback'}</b></td>\n";
print "<td><select name=fallback>\n";
printf "<option value='' %s>%s\n",
	$fallback eq '' ? 'selected' : '', $text{'global_first'};
for($i=0; $i<@titles; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, $fallback eq $i ? 'selected' : '', $titles[$i];
	}
print "</select></td> </tr>\n";

$timeout = &find_value("timeout", $conf);
print "<tr> <td><b>$text{'global_timeout'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=timeout_def value=1 %s> %s\n",
	$timeout eq '' ? 'checked' : '', $text{'default'};
printf "<input type=radio name=timeout_def value=0 %s>\n",
	$timeout eq '' ? '' : 'checked';
printf "<input name=timeout size=5 value='%s'> %s</td> </tr>\n",
	$timeout, $text{'global_secs'};

$password = &find("password", $conf);
@pv = split(/\s+/, $password->{'value'}) if ($password);
print "<tr> <td valign=top><b>$text{'global_password'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=password_def value=1 %s> %s\n",
	$password eq '' ? 'checked' : '', $text{'global_none'};
printf "<input type=radio name=password_def value=0 %s>\n",
	$password eq '' ? '' : 'checked';
printf "<input name=password size=20 value='%s'><br>\n", $pv[0];
printf "<input type=checkbox name=password_file %s> %s\n",
	$pv[1] ? "checked" : "", $text{'global_password_file'}; 
printf "<input name=password_filename size=30 value='%s'></td> </tr>\n", $pv[1];

$r = $config{'install'};
$dev = $r =~ /^\(hd([0-4])\)$/ ? "/dev/hd".chr($1+97) :
       $r =~ /^\(hd([0-4]),([0-7])\)$/ ? "/dev/hd".chr($1+97).($2+1) :
       $r =~ /^\(fd([0-4])\)$/ ? "/dev/fd$1" : undef;
$sel = &foreign_call("fdisk", "partition_select", "install", $dev, 2, \$found,
		     '(hd[a-d])|(fd[0-4])');
print "<td><b>$text{'global_install'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=install_mode value=1 %s> %s %s\n",
	$found ? 'checked' : '', $text{'global_sel'}, $sel;
printf "<input type=radio name=install_mode value=0 %s> %s\n",
	$found ? '' : 'checked', $text{'global_other'};
printf "<input name=other size=10 value='%s'></td> </tr>\n",
	$found ? '' : $r;

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010005ab07000081e40000000000000002000000013d1fe2e300000e05000000200000000000000000000000000000001a00000003reloc/grub/edit_title.cgi #!/usr/local/bin/perl
# edit_title.cgi
# Display menu option details

require './grub-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();
$conf = &get_menu_config();
if ($in{'new'}) {
	&header($text{'title_add'}, "");
	}
else {
	&header($text{'title_edit'}, "");
	$title = $conf->[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_title.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'title_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'title_title'}</b></td>\n";
printf "<td colspan=3><input name=title size=35 value='%s'></td> </tr>\n",
	$title->{'value'};

$r = $title->{'root'};
$mode = !$r ? 0 :
	$r =~ /^\(hd([0-4])\)$/ ? 2 :
	$r =~ /^\(hd([0-4]),([0-7])\)$/ ? 2 :
	$r =~ /^\(fd([0-4])\)$/ ? 2 : 1;
if ($mode == 2) {
	$dev = $r =~ /^\(hd([0-4])\)$/ ? "/dev/hd".chr($1+97) :
	       $r =~ /^\(hd([0-4]),([0-7])\)$/ ? "/dev/hd".chr($1+97).($2+1) :
	       $r =~ /^\(fd([0-4])\)$/ ? "/dev/fd$1" : undef;
	}
$sel = &foreign_call("fdisk", "partition_select", "root", $dev, 2, \$found,
		     '(hd[a-d])|(fd[0-4])');
if (!$found && $mode == 2) {
	$mode = 1;
	}

print "<td><b>$text{'title_root'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=root_mode value=0 %s> %s\n",
	$mode == 0 ? 'checked' : '', $text{'default'};
printf "<input type=radio name=root_mode value=2 %s> %s %s\n",
	$mode == 2 ? 'checked' : '', $text{'title_sel'}, $sel;
printf "<input type=radio name=root_mode value=1 %s> %s\n",
	$mode == 1 ? 'checked' : '', $text{'title_other'};
printf "<input name=other size=10 value='%s'></td> </tr>\n",
	$mode == 1 ? $title->{'root'} : '';

$boot = $title->{'chainloader'} ? 1 :
	$title->{'kernel'} ? 2 : 0;
if ($boot == 2) {
	$title->{'kernel'} =~ /^(\S+)\s*(.*)$/;
	$kernel = $1; $args = $2;
	}
print "<tr> <td valign=top><b>$text{'title_boot'}</b></td> <td colspan=3>\n";
print "<table width=100%>\n";

printf "<tr> <td valign=top><input type=radio name=boot_mode value=2 %s> %s</td>\n",
	$boot == 2 ? 'checked' : '', $text{'title_kernel'};
printf "<td>%s <input name=kernel size=40 value='%s'> %s<br>\n",
	$text{'title_kfile'}, $kernel;
printf "%s <input name=args size=40 value='%s'></td> </tr>\n",
	$text{'title_args'}, $args;

$chain = $title->{'chainloader'};
printf "<tr> <td valign=top><input type=radio name=boot_mode value=1 %s> %s</td>\n",
	$boot == 1 ? 'checked' : '', $text{'title_chain'};
printf "<td><input type=radio name=chain_def value=1 %s> %s<br>\n",
	$chain eq '+1' || !$chain ? 'checked' : '',
	$text{'title_chain_def'};
printf "<input type=radio name=chain_def value=0 %s> %s\n",
	$chain eq '+1' || !$chain ? '' : 'checked',
	$text{'title_chain_file'};
printf "<input name=chain size=40 value='%s'><br>\n",
	$chain eq '+1' ? '' : $chain;
printf "<input type=checkbox name=makeactive value=1 %s> %s</td> </tr>\n",
	defined($title->{'makeactive'}) ? 'checked' : '',
	$text{'title_makeactive'};

printf "<tr> <td colspan=2><input type=radio name=boot_mode value=0 %s> %s</td> </tr>\n",
	$boot == 0 ? 'checked' : '', $text{'title_none'};

print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td align=left><input type=submit value=\"$text{'save'}\"></td>\n";
if (!$in{'new'}) {
	print "<td align=right>",
	     "<input type=submit name=delete value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010005ab08000081a40000000000000002000000013d1fe2e300000825000000200000000000000000000000000000001700000003reloc/grub/grub-lib.pl    # grub-lib.pl
# Functions for parsing and editing a grub menu file

do '../web-lib.pl';
&init_config();

%title_order = ( 'root', 2,
		 'kernel', 1 );

# get_menu_config()
# Parses the config file into a list of title structures
sub get_menu_config
{
local $lnum = 0;
local (@rv, $title);
open(CONF, $config{'menu_file'});
while(<CONF>) {
	s/#.*$//;
	s/\r|\n//g;
	if (/^\s*(\S+)\s*=\s*(.*)/ || /^\s*(\S+)\s*(.*)/) {
		if ($title && $1 ne 'title') {
			# directive in an existing section
			$title->{$1} = $2;
			$title->{'eline'} = $lnum;
			}
		else {
			# top-level title or option
			local $d = { 'name' => $1,
				     'value' => $2,
				     'line' => $lnum,
				     'eline' => $lnum,
				     'index' => scalar(@rv) };
			push(@rv, $d);
			$title = $d if ($1 eq 'title');
			}
		}
	$lnum++;
	}
close(CONF);
return \@rv;
}

# save_directive(&config, &old|name, &new)
sub save_directive
{
local $old;
if (!$_[1] || ref($_[1])) {
	$old = $_[1];
	}
else {
	$old = &find($_[1], $_[0]);
	}
local @lines;
if (defined($_[2])) {
	@lines = ( "$_[2]->{'name'} $_[2]->{'value'}" );
	foreach $k (sort { $title_order{$b} <=> $title_order{$a} }
			 keys %{$_[2]}) {
		if ($k !~ /^(name|value|line|eline|index)$/) {
			if ($_[2]->{$k} eq '') {
				push(@lines, $k);
				}
			else {
				push(@lines, $k." ".$_[2]->{$k});
				}
			}
		}
	}
local $lref = &read_file_lines($config{'menu_file'});
if ($old) {
	# Replace one entry in the file
	splice(@$lref, $old->{'line'}, $old->{'eline'} - $old->{'line'} + 1,
	       @lines);
	}
elsif ($_[2]->{'name'} eq 'title') {
	# Append to file
	push(@$lref, "", @lines);
	}
else {
	# Insert before titles
	local $t = &find("title", $_[0]);
	if ($t) {
		splice(@$lref, $t->{'line'}, 0, @lines);
		}
	else {
		push(@$lref, "", @lines);
		}
	}
}

# find(name, &config)
sub find
{
local @rv;
foreach $c (@{$_[1]}) {
	push(@rv, $c) if ($c->{'name'} eq $_[0]);
	}
return wantarray ? @rv : $rv[0];
}

# find_value(name, &config)
sub find_value
{
local @rv = &find($_[0], $_[1]);
return !@rv ? undef : wantarray ? map { $_->{'value'} } @rv : $rv[0]->{'value'};
}

   0707010005f26f000041ed0000000000000001000000023d1ffa4000000000000000200000000000000000000000000000001200000003reloc/grub/images 0707010005f270000081a40000000000000002000000013d1fe2e300000823000000200000000000000000000000000000001c00000003reloc/grub/images/chain.gif   GIF89a0 0 ç  ÿÿÿÿ))ÿïïÿ  ÿ””ÿÖÖÿ÷÷ÿ™™™ÿssÿBBÿÿJJÌÌÌÿRRfffÿççÿÞÞÿ!!ÿ½½ÿœœÿ{{ÿŒŒÿ11ÿÿccÿ„„ÿ¥¥ÿÆÆœ¥ÖŒ”Æ{„½ksµZkµRc­RZ­JZ­Zc­ÆÎçŒœÎBR¥JZ¥k{½¥­ÖÎÖçœ¥Îs{½”œÎJR¥„ŒÆÞÞï9J¥csµÆÆç ¢¤ßßßqrs´·º¥””Z9Jœ„ŒõÚÏôÊµªª«”JRÎÎÆ{BJúíâ../ÖÖÖ{19R19Z19½1Bò¥‘îîîVVV|~‚Ö××ZBR­1B„JZR)1Z)1µBB­BJ½)1ÿûöóóóõnPÐÉ¼cfi   &''!!!	ÞÖÖB9Rk)Bs19”19œZkkRZïôõõüþÿS£Ž‰ˆ‰Š988+     CDDÆµ½„ZcÈÉÉÛ|ëW1ÿ3 -„{„c191BcçççŽ“˜a8.fÌ3Rš&÷÷÷„)1ÆÖÖ11R„9Bæñý´áþÏßì)+. (gÆ!)œ””ssŒÙïûÝôý112ž­½œ!1­)1k9B”­½¤Îóõôï–nkJR­{„JBJRRs{Œ¥f§ê


­!)ïççB))›Óøÿþú½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
B11óøþÙâì½ÚøâèîµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ­!„csÞÞÞúýÿ¢Êî²è8=CÿÌ áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ J9BZJRcZcMNO B99ZJkkBRœ½Î½ÎÎüüüsks„ss1!1Îçç„œµ”­Î¥œœ­œœÿ÷ÿÞÖÞsZc)!!1))99Z9c”Bk¥J{µŒŒœ111Œks÷ïï½µ½Œ„„919„{ŒÆÆÆµ­­ÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ€°¡Ã‡ÿ$ ±¢Á(xÀ"B CŠD@ Èˆ
.`àñßHbÊœs€ƒD”(0Á CÒJ´À€t 2ÂRˆ ‰JŠ@Â€	 —h°”‚„9µlÌœ–Rh ‚…KÏ~Åpa¬Y¢ä&E°4ÃÐ1#¡ Y©/CÎ TÃ©–ÀðulâI3k~ räÇSãâ,¸¹ôeÌ8ˆžºõ¬áÓ‡‰æ„‰ÀBì© _ß•Íùlï™<| BÄ$Dˆ(!öí»³˜8!‚ŠÈSŒP±‚…ÌÜvåþ>—ÚB
#Ò§Gá‚*NðŸ¿ê½zõ)¢Ò¤ýÞ0t‘(ÜwŸÑ!_s»ÑT€#ä÷Û~ré–àL/ˆö C2È’úMX 	/¸PBu(Ì@Ã5|w K.Žçal³„Ó/Êg#Q6$ö U9þ7ß8äðÝßEÞL:Ð´4õàC?äðƒo2¾WY|41TBÐ4D= ôˆd’AÊT„1qFÈ™„Lc6 „KÜÀDLàà„•6ü`COˆçŸLPD!SP‘DBXq…LRb‘EZôðÄ\táÅ]€F]ˆñý-ÙÀþd”a„gÄ„FiÈ¤†ž>¬±…l(‘CnxáÅpÄ!Ç¨vAÇ–Î4ÅGÐSØÓn4°DJŒ‰°yà yè¡.{ðjN¸SSøQkøAF® ÈCŒ«…=àb¢®ºqð1!îvÁE!ÑÒD†Ò "‰œq…"‹4PèŒø …ZhÑˆ#o¤«î#]@2ÈÌî6ñDÅÒ^ÉGLaD’LBI%9XÒÈ—pª]ÂÆÂp`23ÍÎf³LHDš‰&gœ1Å&}4ÀI'ž	(\¸a‰#Ÿ,³Ì3J[Êx„›”Dþ(¢Ø1
)Y”bÊ"7ÜC§X¢*rÈ»„LI©7pIÔ]£²I*ª”ÑÀ*«°ÒŠ+¯ÀrG,¼†,³´Nª˜À]K8È+Ó³Îj‹-†4p.°ä¢Ë.¼¼òJ/¾€ñ0ÌÓ…0ÃtÁÇäbÜa{LT áG&ÄPQŒ1? p,È˜‹.ÉìB„Ê0Ï<-Ã,³Ì'r JÅ–uñSSø9Ø3LÑS¼"ÎpÆ3Ü.DC~óC´`DUØBrÊ„Lžð @¸0…)”Ñ…/¼Â}³˜Ã4 Êd<¤ÖÖö#†2Á	op5 `TÃòÂ€à2¢W»ƒ„¨×˜VÏŽ€¡Ü]h‚%öàG Ê§z ü>8ë5D(ršÓ„ªÜÀPtø‚6q
f¡jÂX¡0º ü!
GàF°ƒží ;ð)¾ŽTà„3á¸Á™8A^@Õ„±.Ø !ÔÂ†8ú0r\Ì~(Å7Êsœ/"H8–`8¦¡ê€(H*ÒG¨cìE;ÜñxÀ#òàÄ<ZòpÜ	¨ŠWAx0z\£<ðƒ=îQ\#ô ‡>öAL‚d¾ÈÕ"‰qôÝôÈ~ð„$  ; 0707010005f271000081a40000000000000002000000013d1fe2e300001065000000200000000000000000000000000000001b00000003reloc/grub/images/grub.gif    GIF87ad > ÷     €   € €€   €€ € €€ÀÀÀÀÜÀ¦Êð¤ÈðQS1@\!@Z)KR!BR)BR!OG)7R)7R!BJ!;EM:G9:M9J!M@7H)0J!7B1;B!5B1B!(B!49!39)9!)9/1) 9!5.!3-)1%1! 3))!)#&! )*!)! #!!@@@	
		 üóÿdÝò„F ¥  Ô«ê· dV,q:üÿ÷ûöÿ÷ö÷ööïô÷áâìßÛâ½ÛÙÚõÐjÛÓšÉÏÒöÆcëÆuòÇZ½Ë¼¹Ï˜¿ÍläºgµÎZ¾ÉZ¬ÎpÄÇR½·¸¨ÏcÛµV«Æm¤ÎR­Æc°ÈHÉ¬™œÆcœÆZ¢ÆIÉªs¥°¬¥½T­ºM¥½Gœ½Z¸¯Sœ½@”½R“½J¢­q“½B¡¥—”©—¥¯Fœ³?”µJœ°N”µB”²R”¶9ŒµJŒµB„µJŠµ9‰°R”­B„µB”­9Ž«JŒ­BŒ§aŒ­9‰®1„­B„­9žŠŒ¥9{­9¢B¥0€¦J{­1„¥9„£B„¥1—‹‡{¤B{¥9{¥1s¦0‡š9†š.s¡9•ˆZ{œ1{š9sœ1lœB{˜)sœ)hž9kž/{”1s”9s”1s”)›wW‚‰9k”1f”9k”)s‹;a•.s‹1sŒ)sŒ!kŒ1…#kŒ)kŒ!cŒ1cŒ)h†:k„1k„)ivrk„!c„1˜dLyodc†!c„)s|'W†1Y…)k{'e{1c{)goWc{!T}=Z{1U~ W{)P{1cs'ya8Zs)Ws!Ps1Ps)Zk)kb'Zk!g^=Pk1Rk)Pk!Jk)hZ1c^&Zc!VZZTc)Bj1Rc!Jc)Jc!Ae)RX<SZ!MZ)NQJJZ!         ÿûð  ¤€€€ÿ   ÿ ÿÿ   ÿÿ ÿ ÿÿÿÿÿ!ù    ,    d >  þ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç¡dñ¡F„ÐøI'0!ú…
”£M›HÅâ„Ó‘ÏH†PEj³hÂ1 `á"EŠ)N¢ZÉ"%Š§EîêTÙâm+4/-Ë¯aJq±ÂkªSVœº‰¹§Î*%|JÉ‹XÐx>Æj­(X…©ÊRÖJ‹*«\¹‚b¢½–þv¬ƒŽZ²^°bÉâÅª«^œšJ-]-NdÈ2ôú±´Ò(ÍëD‹Ö ™.\S[‹à-T¦LéêÕ
Ó1’'ÓøfÍ_},Íb”7EEÙ’þQã•Lt«Þ¤¬Ys¥Š¦€ÓÕ
·8“¹É˜…jÌ˜GÙBG"‹xáQã™2º8k@‡kx"‹.ô9åH;V9Â	%ex1F}ˆBI^sH#Z„e`B	FCM4½èK/qX!a<wÈ É;ËýÆŠ(Ê8J'•Ç^xÑFœÄ%w$Â
"‡0RÆ‹ÍË7Ð@ƒŽ2Ô€¶M„ktÐNæ´³ƒkéBJ'¬ PÉ&‘D"
“M¢‘/^„Ç£ì‘3³È%A@Ê7èd3Í|²3Å78¸`C;t
[­<•ä œDâ¡dxQŠÙ)3þpÐÑˆ‰Ì’Å7ž4…Ñà/ ƒ‹˜Ù(ÓË±RìÐÃ6tºC;bðB
(–8RIžŽ4bÇ"]p‘:iô±H4a  t  Àa	+€ ’«f3Ì,ÌihÓLºœ;èàf;»“(œ8I%v82ˆ!{È!	m´Á…rô1Lâ*h "ò(¬À"@".(6³€3:½Ð¢M4Çô"‹bÔpÂ³%„R…	WRª#Ða2žpAqoÐ±.aì‘†¬¨´AGº¬2(!Ä“YQ4´ó€Úh/ C^4Aò’C¡Äál lâþÒvÐÁRÅªtÛEm¼ñ‡'ˆPAEtBÆÖs 2J#iø13—ˆbKLí Cð4Ú O4%ãÛ…±[Ä1N$lˆ!ƒ¤ñ†eäÞ.NsÑÅoè¡GÐ|£…¤1‹7+2
(sÀA"€aD" `_ˆ$a
1¨0:è˜€Î0ÓÐ‚Š,©Ä‚J,I… Ë&àù‡r¤Axî¹ïKï\Þ!¸À?3èÁdp  ðHÀBé‚ƒ Œ ŠfÀÁ” DÀ‰:]¤u¡Á$Ð ò É€*RŠš"õÛ[#!Ü„SE$ž53˜Âþ‚3à¸€
¤ ‡¸®æ7#pâeØ 1
h ‚µHÄ*’	W¬'øF	MÀ‹NÀ¢ HcÚð”A bƒ¨á*Ö†ÜpáÀ Ð†<èáÇpƒÓ~÷ÇA–A‡ …Ú€`Ä£œÀEü 2?øš°Å%Ñ†‰Ü!qXÃ¦0‹hhà¿èÄœ„ÒˆŠábƒØÕ@Ç?üáˆ4;:‘
8$C˜È"|789èÁbn(‚'Š6¸AÿøÇ¦†;bz‘Ãö°‡ZxÂEy…+N +Œò
RX€Xá	V¢]m€ƒ'Dag¾tþ°„(X±Ž` ä“@*v¤–XG¶AA
¯Ž A±6\`£€)èÀ¤0”V][ €‰V@ÄâlÍ(§ …/D r¸†¸èX†s,¢ø„'€1h`¶X0Øa‰s°°ÐERp\(m°%Ëpˆ7ìÁnhƒŒÀHxBhðÂŽš@pbi ¡,ñ
`<dX1"-ØõZèÀ aŠ>$¢ú{Å)¶ˆp0€h€ŒtQ‹¡’ 0 @/ÞÁ^¤‚& Ã!0á´2Ø¢àÛ`„ÂMÂdxÕ6²ÐäÚþCäa‰ZÃ!ÖÇ¬1ÎmânøBà²]øuohhÀŽl ÃÆ~ú4€«Æ5‹l"p.Þ‘y¤ ÊPDùÕ:–ö§mCÆ	¬àjpÄÆÒ9@$bÌø&CÖPb˜À G5QyˆCÀ°ÅyÄ'p€CP0dÅFãÐÅ6¶¡Tã°Àâ#Ø fˆƒ²ÅB_ITŒmx…3O›4”a=VCôp.„Áim(–q‰Z€ó QE‰áŠ3XùpEAFÀ‚h`àØ7& Ž	lC&ÀþÒ`€ßP…-p±Œk|àåESxÑ€	ˆ ÆÐF'®1f”x0‚úà	f Á?¯	`„áx`(”ü@d²‰ÀLŒ5X9ÖHµBÐ‚°Z-ø@ÚaŒ  @@°LÐÀ
@0PübÌhFt1et`ÅÁ¸Æ6d
½â!C3Ôñã2ø˜pð„&ô7_Œ ›¨…&41O?(ÄÄÇ8¬Ao¸"	¹G;h@r¨#í6À ´Ãê¸Ä06€‚„âÌ[*4pŠÄj@ð-š2^ãhE*þ0°ƒ0ÿó£%Úàc: Ñohk¼a@4âXÐ„Êryg€æˆ€Ïe XC$hGªÁ~Ó Ð@‚a( à<lÁ
UÌ"×`Ço€!ŒfT#Â…(6à„"2ž ¢êƒþø×DÐ¼”hÄ7@¡
…Œc: oaàŠè[`¾À+`È·ÀaAº‘uŽ€º°…*¼2‹Ç‚`ÞÆHÐŠ[Ü‚ÀXÆ:0]£Æ¸†/¼°Q@i`yÑˆDT† „ò7á—Î[ãÏÀ €y P€ðÐA	 þq¨€5Èœ„”€PA4æŒh``à 0@QîhL ¶°E5¶‘¸`ËààæµÍ@v„O²˜0m``ž¶qW‡I`uq æÆÜ'³€ à Ð¾À
á2°@ðpf‡çpÌðÌ°¸ £€±ë@º°»0æ€ÐF4Ã0ž€‡°ªi@| š°Ù Å Qð
TWÍÀQÐà@Ÿð	¯€- 0xbÁ¶¬r¯ð
Ò6©û—n`ËP#pþh` Áw…¸	ÛææÀÜPÈà!pàf1	íÐrxò €òÐµ¶p0z«¥€×ðvâ "%"Ðò6gœ çàñÀI0Q #  à Ü€ïð-°×°ŸÀ`p¶P¸Àé  ¬ Ï@î°n¦	òE…²Òv°ÐP‹"(@Pí0wPp! pðððo¶¶`
×páÐ  w¢$pJC…pàÆ‡`˜  2Ð902ªþ$
ä€Üà"Ð-Àà°Ñ Ýðêð×ðaà0×@ˆà `2£Ð¾`ª(	  #"Àí0†uà @ò*	û÷¹ò ³ÝPÿÆ ~Øï0bé 
‹0…€Pxp•Á%0‰á#+ð±   + ¾–0¸ëpÑ Õè çàÁà òà ß šPŒ€ép2 ˜  ðP~a 0]ë0Ð žé À$°)Pi°À Wš$(0°}q làç€q¸ ˆ»ù$ ”*@!0µþP
ÄIw +0 ·:#À ÝÐÍ×{ÕÐ0Q*PÇòpàpÍ°”„Ÿ0Ñ@¾ÀÕð‚¢8îùù° ‘á ± ÊŠÊ Š4`° ˆ €6øž‘¡¢ €¢ª¢á¢‘¡0:üÖß@ àŽ€¶µp¢º¢1
¡2º-:¤*¤)Ú¢Ú* Ù  îˆ!:†F¤DÚ /j¡z¤š*¤,ª¡ÙÐšÕµª7œIÚ¥_Ú¥\£dš¢\Z¤q:§Š¡Ñ@JÙv)‚ñ¦OAš¥*z¨p:§bJÎÐ/É, „I[Z¨‹ª¤qz¤‰J¨wš¡½–	q¡rº¤œÚ cJ§HJ§§º©˜ºª3êŸ°«²:«´Z«  ;   0707010005f272000081a40000000000000002000000013d1fe2e300000635000000200000000000000000000000000000001b00000003reloc/grub/images/icon.gif    GIF89a0 0 ç  Qr/u¢4Šr\8F®ª\bŠ8fº<jbTE^$Ž¢8^ž,nv,@R#Vb(T~0‚®9’ºOvŠ1%.¤Æ`®B ºJƒ¢9JF$‚’<s–/’²\\r)Pj*.:Xj'žºtBF)Ö¶TRV,š²Hyž7 ÂYg~/tŠPƒª9nŠ2Q^$‘¶J?Z)`~*az)žŠl~–@¬ÂSt’1[j?ŸºW6N$>:$j†T"šjLJR$Š¶DŽ®P†¢L^j$b†0ºÆ\nf@‚®H6.$‚š>Zr8m’1Pf*~ª8‚~\:F0–ÂTv‚4ªÊlž¦T–ºRv–@4B(CN&i†,¦ºT‚šd|¢9>J$^bL~Š<Š¦>Xn)nŠTRbLb~<¬Æhzf<’~LTz,8J"fŠ/J^&ªDrŠDbv,4: ÒÊŒ…ªHOb%|š7r’< ¾Y#*–®LŠ®Hvr4BR4.6…¦Atš2\v,Qn,BF8¦ÂYmŽ/–¶Obz8²šLÆ¶dèÂd‚¾D‚‚„zZ<XJ0l–2’ŠD~’T46,¤’TšLiz1’†dXR<švTNN$žÂd>B4~nDž¶\nž4âºT~IRRL*&*.”¦LfrDš‚d²Æ\bbTZb<–¶tvŽdFR0®ždIZ$t†XVr,Z~,Š²<–²D¦¾LRJ,n‚,>2bv4¦ªL¶®\Ž¾DÚºdœ¶IªÆ\@>0‰¦Ojj4˜¾Oz¦4|j@5>æÆt’ž<~ž4²Ê\**^n,‚ž\Žª\Rv,^Ž4Bb,AV$tŽ2¦Êd²@¢¾L,> ¢¾lEJ$j‚4a‚,IV!‘²L†²DZfDNVDJV,&2~^<.2Vf<b†@Šª<>N n†0z’@Vf,‚²<Zv4vš<nŽLb‚7fŽ0Jb'rŽ<–²PŠ²Hfv<Vv4Z‚0ºÊ\62$¦¾TvžDP^4’¶TªÂ\ZjL~¢DZn4~fL~šDÿÿÿ!þMade with GIMP !ù  ÿ ,   0   þ ÿ	H° Áƒ*\È°¡Ãðøu@¢'Õ½‡Ž9¢áÒ!<‚=1uêOÆŒËä­;2cž#e 	Â´KW¸“Um,#!Ó¢W}ú0iÄ]Â\œÂ™ðË•Á€Ù2…HE™–J°pb¡>1>0%hC^€1eeŠC€£#%T%I2i/<Í ÌÉàbì¿1\ôÈD,  ndèÂ*?2ÜAÁËÄ¾w%*ˆ;)¥E $O¨Ú!Ä—˜#ŽkÁ!!T«- @¤€rç
¾ª2Šš ¬Å˜d‡­säæÈª|pá:ƒk˜­,8#çéNÌP/ÁBH0”þhñà’€$[’8³ðLF+8¨Q‘sëÌ<dÈ©`…±C5°ÀÆÂ¨Ð•²F?h0Û-WÜáf¼€@CN'UT!.¬X €û0!‡s;\‹ý4„,ÂÌÀ
*03^zp±Ì	\pÀ\ŒÃÌrÈQÏ µ(M¤¼Î¸±‚A Ð1f|0EfØ G	tpB+$E	èñBÌ¨°+E0¼ÄPÃ(IÌàƒAýtÉ'a`‡4p7d á…@4üÒÀ˜‘€8¤qOÕ”SŽPÀ‚3&ø`0nQÐ,þ†tcˆ!›ürÏH³ÍK¤È/TÌJT¼°B*|pŠ8.p!ÌøðÁÇn\cÑCé³Ç?÷ÄñO”C5±|PÍ	_°CÍÓt0FS`±B1þÈ±Eï°QÆAŠ`´Ã)YÄá@°óÊ8?XÕn\”rÏ4¼DpM	øõ%Ü´ƒ4šH³Â)p d.¼Ð ì´s‡3£1A”‚4j0Ò vLaH˜ñƒ4œàF3Š@Ä”Í7ä±34Ú ™4F”œ¢5©LóËÕA@§4ðÂ×`7À2-QXi;4â¬ÐqÜxç­·_ ;   0707010005f273000081a40000000000000002000000013d1fe2e30000064e000000200000000000000000000000000000001d00000003reloc/grub/images/kernel.gif  GIF89a0 0 ç  ÿÿÿ™™™ÌÌÌfff%+,RL@(&'9-/	"&(&" h]TicW²ª¤]ZHÓÒÐº²|VZT

!¸˜Lœ|0±­O#."í®ðµæÆê»âª†]ö¾øÂàÂÞ²Þ¢R2<",ûú÷¾Žâ¶•^$Õªr^LTTTêæÒãÝßæÓÁÞÊ´ðííþúüÞÚìÝâÕçæåñîãüöô[edÖÖÕÎÎÈööóòúúðôà&*<+2:ÚÎÌîäÕéêëêÞ¾óòòââä934G:7ÜÝÛ††tnf\!*+'üüü ÔÜÔ–†4íéêÇ±|zjTÒ¾/~jGC?æÎlŠjšžŒôñêÒ¢,âºðÂ>*4¦ŠÎÆLöùîÐ¥ñºï½hVTÚžÈÂ†$Öâ¾¢’\ï¾þÆ$öòäè³È¤,
Ï›smgÖ®DÂŠæ®òÄ·“$Ó‰~dšzD¶‚,³{$®††zT±‹ ¾’Å…	¢f†^4ïïð’r4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#@±¢Å‹%Ä( £Ç Ð8°"È“(P0ò¢CŠ)c~ÉæÌŒ	ÈÜ©’å 1qÊåÊŸDe˜¨£EŸIy.%èô©Ï«Xõ8u`V¬U+"µY´«À°dj5¥Ð³mËjí—kÅ¡*ëK÷¤É¼x;þ•Ê—îEÁyÍþkËQ-ÆÂˆu¾],µjáÁ~'ëÝÉv¦ (p 1`ª›÷F= 
¾K5ïV®¸ÝÀ•‰'ÞÚùã‚ˆ :²bÆ‡_”0‚
”—^›³å¨.þ`È aC€j¾²<L0ðÁ ˆÙÏÙÏ„BÄ%˜p‚
 ·ž~‚A¦ 
)¨°-¸ ÀÜ•„`‚QÁƒ3Ä@C6pÃlÂéW\Gàƒ;äÀC ðÀ´Yxá‰(0? „=!§Ùˆ`qDHP„G qÄ=ôp„h$¡R‰ì§DK0ÑCQ6ñƒOˆÁ•Ý© ÅL2)”QØgÀùÝ¨haQÎ	¤H!ÚXÞÖY8,(Fôð&F1…rP‘(q?aP@Nö D¤LBy„\a Y¤iâ þD@ ÅR1ê@ÊEktáj– Å@Ài¤¸J©­)à«‘¯~Fb…·–jÄd`Z†¿*:Àh¤†=éœFø¹Â1"ÀF›òDƒ(¼&G¤=J…,ÌAGvÜ1Qj'á1ÂiàB¢¡G”éRƒ	n°°G
`Ð»0Ã• /(§À‡H¤%}øG
(D²BN¡4Â&—€G$t eÿÑG(HœÆÃ€DäT u° H{R!O<áÚn…”;ÂL€KA†BG 2ì"<ñ@@ A"rR‡"cÄÄ"‹0Òˆ#@âB$E’'âˆ$†äíøA ;  0707010005ab09000081e40000000000000002000000013d1fe2e3000008cd000000200000000000000000000000000000001500000003reloc/grub/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display GRUB menu titles

require './grub-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("grub", "man", "doc"));
print "<hr>\n";

# Check that GRUB is installed
if (!-r $config{'menu_file'}) {
	print "<p>",&text('index_efile', "<tt>$config{'menu_file'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!-x $config{'grub_path'}) {
	print "<p>",&text('index_epath', "<tt>$config{'grub_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# List the boot options
$conf = &get_menu_config();
$def = &find_value("default", $conf);
foreach $t (&find("title", $conf)) {
	push(@icons, $t->{'chainloader'} ? "images/chain.gif"
					 : "images/kernel.gif");
	local $tt = &html_escape($t->{'value'});
	push(@titles, $def == $i ? "<b>$tt</b>" : $tt);
	push(@links, "edit_title.cgi?idx=$t->{'index'}");
	$i++;
	}
if (@links) {
	print "<a href='edit_title.cgi?new=1'>$text{'index_add'}</a><br>\n";
	&icons_table(\@links, \@titles, \@icons, 4);
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
print "<a href='edit_title.cgi?new=1'>$text{'index_add'}</a><p>\n";
print "<hr>\n";

print "<table width=100%>\n";
print "<form action=edit_global.cgi>\n";
print "<tr><td><input type=submit value=\"$text{'index_global'}\"></td>\n";
print "<td>$text{'index_globalmsg'}</td></tr></form>\n";

%flang = &load_language('fdisk');
$text{'select_part'} = $flang{'select_part'};
$text{'select_device'} = $flang{'select_device'};
$text{'select_fd'} = $flang{'select_fd'};
$r = $config{'install'};
$dev = $r =~ /^\(fd(\d+)\)$/ ? &text('select_fd', $1) :
       $r =~ /^\(hd([0-3])\)$/ ? &text('select_device', 'IDE', uc(chr($1+97))) :
       $r =~ /^\(hd([0-3]),([0-7])\)$/ ? &text('select_part', 'IDE',
					       uc(chr($1+97)), $2) : $r;
print "<form action=install.cgi>\n";
print "<input type=hidden name=dev value='$dev'>\n";
print "<tr><td><input type=submit value=\"$text{'index_install'}\"></td>\n";
print "<td>",&text('index_installmsg', $dev),"</td></tr></form>\n";

print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

   0707010005ab0a000081e40000000000000002000000013d1fe2e300000537000000200000000000000000000000000000001700000003reloc/grub/install.cgi    #!/usr/local/bin/perl
# install.cgi
# Install the GRUB boot loader

require './grub-lib.pl';
&error_setup($text{'install_err'});
&ReadParse();

# Ask grub where the menu.lst file is
$temp = &tempname();
open(TEMP, ">$temp");
print TEMP "find $config{'menu_file'}\n";
close(TEMP);
open(GRUB, "$config{'grub_path'} --batch <$temp |");
while(<GRUB>) {
	if (/find\s+(\S+)/ && $1 eq $config{'menu_file'}) {
		$out .= $_;
		$_ = <GRUB>;
		if (/^\s*(\(\S+\))/) {
			$root = $1;
			}
		}
	$out .= $_;
	}
close(GRUB);
unlink($temp);
if (!$root || $?) {
	# Didn't find it!
	&error($text{'install_efind'},"<pre>",$out,"</pre>");
	}

# Setup on the chosen device
&header($text{'install_title'}, "");
print "<hr>\n";
print &text('install_desc', $in{'dev'}, "<tt>root $root</tt>",
	    "<tt>setup $config{'install'}</tt>"),"<p>\n";
print "<pre>";
open(TEMP, ">$temp");
print TEMP "root $root\n";
print TEMP "setup $config{'install'}\n";
close(TEMP);
open(GRUB, "$config{'grub_path'} --batch <$temp |");
while(<GRUB>) {
	if (/\d+\s+sectors\s+are\s+embedded/i) {
		$embedded++;
		}
	elsif (/error/) {
		$error++;
		}
	print &html_escape($_);
	}
close(GRUB);
print "</pre>\n";
if (!$embedded || $? || $error) {
	print "$text{'install_failed'}<p>\n";
	}
else {
	print "$text{'install_ok'}<p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010006071e000041ed0000000000000001000000023d1ffa4100000000000000200000000000000000000000000000001000000003reloc/grub/lang   0707010006071f000081a40000000000000002000000013d1fe2e300000bf8000000200000000000000000000000000000001300000003reloc/grub/lang/ca    index_title=Gestor d'Engegada GRUB
index_add=Afegeix una nova opció d'engegada
index_global=Edita les Opcions Globals
index_globalmsg=Edita les opcions globals d'engegada que s'apliquen a totes les opcions del menú d'engegada, i tria el dispositiu on està instal·lat el GRUB.
index_install=Instal·la el GRUB
index_installmsg=Instal·la el gestor d'engegada GRUB a $1 per mostrar les opcions de dalt en el moment d'engegar. Això obviarà qualsevol altre gestor d'engegada existent, com ara el LILO, i pot fer que el sistema no es pugui engegar!
index_none=No has definit cap opció d'engegada. Assegura't que n'afegeixes almenys una abans d'instal·lar el grub.
index_efile=No s'ha trobat el fitxer de menus del GRUB $1. Pot ser que el GRUB no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_epath=No s'ha trobat l'executable del GRUB $1. Pot ser que el GRUB no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_return=a la llista d'opcions

title_add=Afegeix Opció d'Engegada
title_edit=Edita Opció d'Engegada
title_header=Detalls de l'opció del menú d'engegada
title_title=Títol de l'opció
title_root=Partició d'engegada
title_other=Altres
title_sel=Seleccionat
title_boot=Sistema operatiu a engegar
title_kernel=Kernel Linux
title_kfile=Camí del kernel
title_args=Opcions del kernel
title_chain=Altres SO
title_chain_def=Del primer sector de la partició
title_chain_file=Del fitxer <i>chainloader</i>
title_makeactive=Fes activa la partició arrel
title_none=Cap (entrada de menú inactiva)
title_err=No he pogut desar l'opció d'engegada
title_etitle=Hi falta el títol de l'opció
title_eroot=Hi falta la partició arrel
title_ekernel=Hi falta el camí del kernel o bé no és vàlid
title_echain=Hi falta el fitxer <i>chainloader</i> o bé no és vàlid
title_edev=Dispositiu de particions arrel $1 no suportat

global_title=Opcions Globals
global_header=Opcions globals del menú d'engegada
global_default=Opció d'engegada per defecte
global_fallback=Opció alternativa d'engegada
global_first=Primera de la llista
global_timeout=Temps límit abans de carregar l'opció per defecte
global_secs=segons
global_install=Instal·la el GRUB al disc/partició
global_sel=Seleccionat
global_other=Altres
global_password=Contrasenya d'engegada
global_none=Cap
global_password_file=Si s'introdueix una contrasenya, fes servir el fitxer de menú:
global_pass
global_err=No he pogut desar les opcions globals
global_etimeout=Hi falta el temps límit o bé no és vàlid
global_edev=Disc/partició d'instal·lació $1 no suportat
global_eother=Hi falta el disc/partició o bé no és vàlid
global_epassword=Hi falta la contrasenya d'engegada o bé no és vàlida
global_epasswordfile=Hi falta el fitxer alternatiu de menú o bé no és vàlid

install_title=Instal·la el GRUB
install_err=No he pogut instal·lar el GRUB
install_efind=No he pogut trobar el fitxer de menú
install_desc=Instal·lant el GRUB a $1 amb les ordres $2 i $3...
install_ok=...instal·lació completa.
install_failed=...la instal·lació ha fallat!


07070100060720000081a40000000000000002000000013d1fe2e300000a0d000000200000000000000000000000000000001300000003reloc/grub/lang/en    index_title=GRUB Boot Loader
index_add=Add a new boot option
index_global=Edit Global Options
index_globalmsg=Edit global bootup options that apply to all boot menu choices, and choose the device that GRUB is installed onto.
index_install=Install GRUB
index_installmsg=Install the GRUB boot loader on $1 to display the options above at bootup time. This will override any existing boot loader such as LILO, and may render your system unbootable!
index_none=No boot options have been defined. Make sure you add at least one before installing grub.
index_efile=The GRUB menu file $1 was not found on your system. Maybe GRUB is not installed, or the <a href='$2'>module configuration</a> is incorrect.
index_epath=The GRUB executable $1 was not found on your system. Maybe GRUB is not installed, or the <a href='$2'>module configuration</a> is incorrect.
index_return=options list

title_add=Add Boot Option
title_edit=Edit Boot Option
title_header=Boot menu option details
title_title=Option title
title_root=Boot image partition
title_other=Other
title_sel=Selected
title_boot=Operating system to boot
title_kernel=Linux kernel
title_kfile=Path to kernel
title_args=Kernel options
title_chain=Other OS
title_chain_def=From first sector of partition
title_chain_file=From chainloader file
title_makeactive=Make root partition active?
title_none=None (non-booting menu entry)
title_err=Failed to save boot option
title_etitle=Missing option title
title_eroot=Missing root partition
title_ekernel=Missing or invalid kernel path
title_echain=Missing or invalid chainloader file
title_edev=Unsupported root partition device $1

global_title=Global Options
global_header=Global boot menu options
global_default=Default boot option
global_fallback=Fallback boot option
global_first=First on list
global_timeout=Timeout before loading default
global_secs=seconds
global_install=Install GRUB on disk/partition
global_sel=Selected
global_other=Other
global_password=Boot password
global_none=None
global_password_file=Use menu file if password is entered:
global_pass
global_err=Failed to save global options
global_etimeout=Missing or invalid timeout
global_edev=Unsupported install disk/partition $1
global_eother=Missing or invalid disk/partition
global_epassword=Missing or invalid boot password
global_epasswordfile=Missing alternate menu filename

install_title=Install GRUB
install_err=Failed to install GRUB
install_efind=Could not find menu file
install_desc=Installing GRUB on $1 with commands $2 and $3 ..
install_ok=.. install complete.
install_failed=.. install failed!

   07070100060721000081a40000000000000002000000013d1fe2e300000a93000000200000000000000000000000000000001300000003reloc/grub/lang/es    index_title=Iniciador de Sistema GRUB
index_add=Añadir una nueva opción de inicio
index_global=Editar Opciones Globales
index_globalmsg=Editar opciones globales de inicio que se aplican a todas las opciones del menú de inicio y escoger el dispositivo en que GRUB está instalado.
index_install=Instalar GRUB
index_installmsg=Instalar el iniciador de sistema GRUB en $1 para mostrar las opciones de encima en el momento de inicio de sistema. ¡Esto pasará por alto cualquier iniciador de sistema ya existente como LILO y puede hacer que tu sistema no se inicie!.
index_none=No se han definido opciones de inicio. Asegúrate de que has añadido al menos una antes de instalar Grub.
index_efile=El archivo de menú de GRUB $1 no está en tu sistema. Quizás GRUB no está instalado o la <a href='$2'>configuración del módulo</a> es incorrecta.
index_epath=El ejecutable GRUB $1 no está en tu sistema. Quizás GRUB no está instaldo o la <a href='$2'>configuración del módulo</a> es incorrecta.
index_return=lista de opciones

title_add=Añadir Opción de Inicio
title_edit=Editar Opción de Inicio
title_header=Detalles de opción de menú de inicio
title_title=Título de opción
title_root=Partición de imagen de inicio
title_other=Otra
title_sel=La seleccionada
title_boot=Sistema operativo a iniciar
title_kernel=Kernel de Linux
title_kfile=Trayectoria al kernel
title_args=Opciones del kernel
title_chain=Otro SO
title_chain_def=Desde el primer sector de la partición
title_chain_file=Desde archivo cargador de cadena
title_makeactive=¿Pongo como activa la partición raíz?
title_none=Ninguna (entrada de menú de no-inicio)
title_err=No pude salvar opción de inicio
title_etitle=Falta el título de opción
title_eroot=Falta la partición raíz
title_ekernel=Trayectoria a kernel inválida o falta
title_echain=Archivo de cargador de cadena inválido o falta
title_edev=Dispositivo $1 de partición raíz no soportado

global_title=Opciones Globales
global_header=Opciones de menú global de inicio
global_default=Opción de inicio por defecto
global_fallback=Opción de inicio fallido
global_first=Primera de la lista
global_timeout=Tiempo máximo antes de cargar la de por defecto
global_secs=segundos
global_install=Instalar GRUB en disco/partición
global_sel=La seleccionada
global_other=Otra
global_err=No pude salvar opciones globales
global_etimeout=Tiempo máximo inválido o falta
global_edev=Instalar disco/partición $1 no soportado
global_eother=Disco/partición falta o inválido

install_title=Instalar GRUB
install_err=No pude instalar GRUB
install_efind=No pude hallar archivo de menú
install_desc=Instalando GRUB en $1 con comandos $2 y $3...
install_ok=... instalación terminada.
install_failed=... ¡instalación fallida!

 07070100060722000081a40000000000000002000000013d1fe2e300000ac2000000200000000000000000000000000000001a00000003reloc/grub/lang/ja_JP.euc index_title=GRUB ¥Ö¡¼¥È ¥í¡¼¥À¡¼
index_add=¿·µ¬¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó¤òÄÉ²Ã
index_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_globalmsg=¤¹¤Ù¤Æ¤Î¥Ö¡¼¥È ¥á¥Ë¥å¡¼¤ÎÁªÂò»è¤ËÅ¬ÍÑ¤¹¤ë¥°¥í¡¼¥Ð¥ë ¥Ö¡¼¥È¥¢¥Ã¥× ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤·¤Æ¡¢GRUB ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¥Ç¥Ð¥¤¥¹¤òÁªÂò¤·¤Þ¤¹¡£
index_install=GRUB ¤Î¥¤¥ó¥¹¥È¡¼¥ë
index_installmsg=¥Ö¡¼¥È¥¢¥Ã¥×¤Ë¾å¤Î¥ª¥×¥·¥ç¥ó¤òÉ½¼¨¤¹¤ë¤¿¤á¤Ë GRUB ¥í¡¼¥À¡¼¤ò $1 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£¤³¤ÎÁàºî¤Ë¤è¤ê¡¢LILO ¤Ê¤É¤Î´ûÂ¸¤Î¥Ö¡¼¥È ¥í¡¼¥À¡¼¤¬¾å½ñ¤­¤µ¤ì¡¢¥·¥¹¥Æ¥à¤ò¥Ö¡¼¥È¤Ç¤­¤Ê¤¯¤Ê¤ë²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_none=ÄêµÁ¤µ¤ì¤¿¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó¤Ï¤¢¤ê¤Þ¤»¤ó¡£GRUB ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÁ°¤Ë¾¯¤Ê¤¯¤È¤â 1¤Ä¤Î¥ª¥×¥·¥ç¥ó¤òÄÉ²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
index_efile=GRUB ¥á¥Ë¥å¡¼ ¥Õ¥¡¥¤¥ë $1 ¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿GRUB ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a>¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_epath=GRUB ¼Â¹Ô¥Õ¥¡¥¤¥ë $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£GRUB ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_return=¥ª¥×¥·¥ç¥ó ¥ê¥¹¥È

title_add=¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó¤ÎÄÉ²Ã
title_edit=¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó¤ÎÊÔ½¸
title_header=¥Ö¡¼¥È ¥á¥Ë¥å¡¼ ¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ
title_title=¥ª¥×¥·¥ç¥ó ¥¿¥¤¥È¥ë
title_root=¥Ö¡¼¥È²èÁü¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
title_other=¤½¤ÎÂ¾
title_sel=ÁªÂò..
title_boot=¥Ö¡¼¥È¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
title_kernel=Linux ¥«¡¼¥Í¥ë
title_kfile=¥«¡¼¥Í¥ë¤Ø¤Î¥Ñ¥¹
title_args=¥«¡¼¥Í¥ë¤Î¥ª¥×¥·¥ç¥ó
title_chain=Â¾¤Î OS
title_chain_def=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºÇ½é¤Î¥»¥¯¥¿¤«¤é
title_chain_file=chainloader ¥Õ¥¡¥¤¥ë¤«¤é
title_makeactive=root ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¤«¡©
title_none=¤Ê¤· (¥Ö¡¼¥È¤·¤Ê¤¤¥á¥Ë¥å¡¼¤Î¹àÌÜ)
title_err=¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
title_etitle=¥ª¥×¥·¥ç¥ó ¥¿¥¤¥È¥ë¤¬¤¢¤ê¤Þ¤»¤ó
title_eroot=root ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó
title_ekernel=¥«¡¼¥Í¥ë¤Î¥Ñ¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
title_echain=chainloader ¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
title_edev=root ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥Ç¥Ð¥¤¥¹ $1 ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

global_title=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
global_header=¥°¥í¡¼¥Ð¥ë¥Ö¡¼¥È ¥á¥Ë¥å¡¼ ¥ª¥×¥·¥ç¥ó
global_default=¥Ç¥Õ¥©¥ë¥È ¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó
global_fallback=¥Õ¥©¡¼¥ë¥Ð¥Ã¥¯ ¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó
global_first=¥ê¥¹¥È¤ÎºÇ½é
global_timeout=¥Ç¥Õ¥©¥ë¥È¤ò¥í¡¼¥É¤¹¤ë¤Þ¤Ç¤Î¥¿¥¤¥à¥¢¥¦¥È
global_secs=ÉÃ
global_install=GRUB ¤ò¥Ç¥£¥¹¥¯/¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¥¤¥ó¥¹¥È¡¼¥ë
global_sel=ÁªÂò..
global_other=¤½¤ÎÂ¾
global_err=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
global_etimeout=¥¿¥¤¥à¥¢¥¦¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_edev=¥¤¥ó¥¹¥È¡¼¥ë ¥Ç¥£¥¹¥¯/¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó
global_eother=¥Ç¥£¥¹¥¯/¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

install_title=GRUB ¤Î¥¤¥ó¥¹¥È¡¼¥ë
install_err=GRUB ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
install_efind=¥á¥Ë¥å¡¼ ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
install_desc=GRUB ¤ò $1 ¤Ë¥³¥Þ¥ó¥É $2 ¤È $3 ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤Þ¤¹ ..
install_ok=.. ¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿¡£
install_failed=.. ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£

  07070100060723000081a40000000000000002000000013d1fe2e3000008ab000000200000000000000000000000000000001a00000003reloc/grub/lang/ko_KR.euc index_title=GRUB ºÎÆ® ·Î´õ
index_add=»õ ºÎÆ® ¿É¼Ç Ãß°¡
index_global=±Û·Î¹ú ¿É¼Ç ÆíÁý
index_globalmsg=¸ðµç ºÎÆ® ¸Þ´º ¼±ÅÃ »çÇ×¿¡ Àû¿ëµÇ´Â ±Û·Î¹ú ºÎÆÃ ¿É¼ÇÀ» ÆíÁýÇÏ°í GRUB¸¦ ¼³Ä¡ÇÒ ÀåÄ¡¸¦ ¼±ÅÃÇÏ½Ê½Ã¿À.
index_install=GRUB ¼³Ä¡
index_installmsg=ºÎÆ®ÇÒ ¶§ À§ÀÇ ¿É¼ÇÀ» Ç¥½ÃÇÏ·Á¸é $1¿¡ GRUB ºÎÆ® ·Î´õ¸¦ ¼³Ä¡ÇÏ½Ê½Ã¿À. ÀÌ °æ¿ì, LILO¿Í °°Àº ±âÁ¸ ºÎÆ® ·Î´õ°¡ °ãÃÄ¾²¿©Áö¹Ç·Î ½Ã½ºÅÛÀÌ ºÎÆÃµÇÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù!
index_none=Á¤ÀÇµÈ ºÎÆ® ¿É¼ÇÀÌ ¾ø½À´Ï´Ù. GRUB¸¦ ¼³Ä¡ÇÏ±â Àü¿¡ ºÎÆ® ¿É¼ÇÀ» ÇÏ³ª ÀÌ»ó Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
index_efile=½Ã½ºÅÛ¿¡ GRUB ¸Þ´º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. GRUB°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_epath=½Ã½ºÅÛ¿¡ GRUB ½ÇÇà ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. GRUB°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_return=¿É¼Ç ¸ñ·Ï

title_add=ºÎÆ® ¿É¼Ç Ãß°¡
title_edit=ºÎÆ® ¿É¼Ç ÆíÁý
title_header=ºÎÆ® ¸Þ´º ¿É¼Ç Á¤º¸
title_title=¿É¼Ç Á¦¸ñ
title_root=ºÎÆ® ÀÌ¹ÌÁö ÆÄÆ¼¼Ç
title_other=±× ¿Ü
title_sel=¼±ÅÃÇÑ Ç×¸ñ
title_boot=ºÎÆ®ÇÒ ¿î¿µ Ã¼Á¦
title_kernel=¸®´ª½º Ä¿³Î
title_kfile=Ä¿³Î °æ·Î
title_args=Ä¿³Î ¿É¼Ç
title_chain=´Ù¸¥ ¿î¿µ Ã¼Á¦
title_chain_def=ÆÄÆ¼¼ÇÀÇ Ã¹¹øÂ° ¼½ÅÍ·ÎºÎÅÍ
title_chain_file=chainloader ÆÄÀÏ·ÎºÎÅÍ
title_makeactive=·çÆ® ÆÄÆ¼¼ÇÀ» È°¼ºÈ­ÇÕ´Ï±î?
title_none=¾øÀ½(ºÎÆÃ ¸Þ´º Ç×¸ñÀÌ ¾Æ´Ô)
title_err=ºÎÆ® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
title_etitle=¾ø´Â ¿É¼Ç Á¦¸ñ
title_eroot=¾ø´Â ·çÆ® ÆÄÆ¼¼Ç
title_ekernel=¾ø°Å³ª Àß¸øµÈ Ä¿³Î °æ·Î
title_echain=¾ø°Å³ª Àß¸øµÈ chainloader ÆÄÀÏ
title_edev=Áö¿øµÇÁö ¾Ê´Â ·çÆ® ÆÄÆ¼¼Ç ÀåÄ¡ $1ÀÔ´Ï´Ù

global_title=±Û·Î¹ú ¿É¼Ç
global_header=±Û·Î¹ú ºÎÆ® ¸Þ´º ¿É¼Ç
global_default=±âº» ºÎÆ® ¿É¼Ç
global_fallback=´ëÃ¼ ºÎÆ® ¿É¼Ç
global_first=¸ñ·ÏÀÇ Ã¹¹øÂ° Ç×¸ñ
global_timeout=±âº»°ª ·Îµå Àü ½Ã°£ ÃÊ°ú
global_secs=ÃÊ
global_install=µð½ºÅ©/ÆÄÆ¼¼Ç¿¡ GRUB ¼³Ä¡
global_sel=¼±ÅÃÇÑ Ç×¸ñ
global_other=±× ¿Ü
global_err=±Û·Î¹ú ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
global_etimeout=¾ø°Å³ª Àß¸øµÈ ½Ã°£ ÃÊ°ú °ª
global_edev=Áö¿øµÇÁö ¾Ê´Â ¼³Ä¡ µð½ºÅ©/ÆÄÆ¼¼Ç $1ÀÔ´Ï´Ù
global_eother=¾ø°Å³ª Àß¸øµÈ µð½ºÅ©/ÆÄÆ¼¼Ç

install_title=GRUB ¼³Ä¡
install_err=GRUB¸¦ ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
install_efind=¸Þ´º ÆÄÀÏÀ» Ã£À» ¼ö ¾ø½À´Ï´Ù
install_desc=¸í·É $2 ¹× $3À» »ç¿ëÇÏ¿© $1¿¡ GRUB ¼³Ä¡ Áß..
install_ok=.. ¼³Ä¡°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù
install_failed=.. ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù!

 07070100060724000081a40000000000000002000000013d1fe2e300000a97000000200000000000000000000000000000001300000003reloc/grub/lang/pl    index_title=Inicjator systemu GRUB
index_add=Dodaj now± opcjê startow±
index_global=Zmieñ opcje ogólne
index_globalmsg=Zmieñ ogólne opcje startowe, które dotycz± wszystkich wyborów z&nbsp;menu startowego oraz okre¶l urz±dzenie, na którym GRUB ma byæ instalowany.
index_install=Zainstaluj GRUBa
index_installmsg=Zainstaluj inicjatora systemu GRUB na $1, aby wy¶wietliæ powy¿sze opcje podczas startu systemu. Spowoduje to nadpisanie istniej±cego inicjatora systemu, takiego jak LILO i&nbsp;mo¿e siê okazaæ, ¿e system nie wystartuje!
index_none=Nie zdefiniowano ¿adnych opcji startowych. Upewnij siê, ¿e doda³e¶ co najmniej jedn± przed zainstalowaniem gruba.
index_efile=Nie znaleziono w&nbsp;systemie pliku menu GRUBa $1. Prawdopodobnie nie zainstalowano GRUBa lub <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_epath=Nie znaleziono w&nbsp;systemie progrzmu GRUBa $1. Prawdopodobnie nie zainstalowano GRUBa lub <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_return=listy opcji

title_add=Dodaj opcjê startow±
title_edit=Zmieñ opcjê startow±
title_header=Dane opcji menu startowego
title_title=Tytu³ opcji
title_root=Partycja obrazu systemu
title_other=Inna
title_sel=Wybrana
title_boot=Uruchamiany system operacyjny
title_kernel=Kernel Linuksa
title_kfile=¦cie¿ka do pliku kernela
title_args=Opcje kernela
title_chain=Inny OS
title_chain_def=Z&nbsp;pierwszego sektora partycji
title_chain_file=Z&nbsp;pliku &quot;chainloader&quot;-a
title_makeactive=Uczyniæ partycjê aktywn±?
title_none=Brak (nie uruchamialna pozycja menu)
title_err=Nie uda³o siê zachowaæ opcji startowej
title_etitle=Nie podano tytu³u opcji
title_eroot=Nie podano partycji
title_ekernel=Nie podana lub niepoprawna ¶cie¿ka do kernela
title_echain=Nie podany lub niepoprawny plik &quot;chainloader&quot;-a
title_edev=Urz±dzenie partycji $1 nie jest obs³ugiwane

global_title=Opcje ogólne
global_header=Opcje ogólne menu startowego
global_default=Domy¶lna opcja startowa
global_fallback=Awaryjne opcja startowa  
global_first=Pierwsza na li¶cie
global_timeout=Czas oczekiwanie przed ³adowaniem domy¶lnego
global_secs=sekund
global_install=Zainstalowaæ GRUBa na dysku/partycji
global_sel=Zaznaczonej
global_other=Innej
global_err=Nie uda³o siê zachowaæ opcji ogólnych
global_etimeout=Nie podany lub nieporawny czas oczekiwania
global_edev=Nie obs³ugiwany(-a) dysk/partycja instalacyjny(-a) $1
global_eother=Nie podany(-a) lub niepoprawny(-a) dysk/partycja

install_title=Zainstaluj GRUBa
install_err=Nie uda³o siê zainstalowaæ GRUBa
install_efind=Nie znaleziono pliku menu
install_desc=Instalacja GRUBa na $1 za pomoc± poleceñ $2 i&nbsp;$3 ..
install_ok=.. zakoñczona.
install_failed=.. instalacja siê nie powiod³a!
 07070100060725000081a40000000000000002000000013d1fe2e3000007f6000000200000000000000000000000000000001b00000003reloc/grub/lang/zh_TW.Big5    index_title=GRUB¶}¾÷ºÞ²z
index_add=·s¼W¶}¾÷¿ï¶µ
index_global=½s¿è³q¥Î¿ï¶µ
index_globalmsg=½s¿è¶}¾÷³q¥Î¿ï¶µ±N·|®M¥Î¦b¥þ³¡¶}¾÷¥Ø¿ý¤¤ªº¿ï¶µ, ©M¿ï¾Ü¦w¸Ë GRUBªº¸Ë¸m
index_install=¦w¸Ë GRUB
index_installmsg=¦w¸Ë  GRUB ¶}¾÷ºÞ²zµ{¦¡¦b $1¤W¡A¦b¶}¾÷®ÉÅã¥Ü¤W¤èªº¿ï¶µ.³o±N·|ÂÐ¼g¥ô¦ó¤w¸g¦s¦bªº¶}¾÷ºÞ²zµ{¦¡¹³¬O LILO,¬Æ¦Ü·|Åý¨t²ÎµLªk¶}¾÷!
index_none=¨S¦³©w¸q¥ô¦ó¶}¾÷¿ï¶µ.½Ð½T©w¦Ü¤Ö·s¼W¤F¤@­Ógrubªº¶}¾÷¿ï¶µ
index_efile=¦b±zªº¨t²Î¤W§ä¤£¨ìGRUB ªº¥Ø¿ýÀÉ®× $1.¤]³\¨S¦³¦w¸ËGRUB, ©ÎµÛ <a href='$2'>¼Ò²Õ³]©w</a> ¤£¥¿½T
index_epath=¦b±zªº¨t²Î¤WµLªk°õ¦æGRUB ªº¥Ø¿ýÀÉ®× $1.¤]³\¨S¦³¦w¸ËGRUB, ©ÎµÛ <a href='$2'>¼Ò²Õ³]©w</a> ¤£¥¿½T
index_return=¿ï¶µ²M³æ

title_add=·s¼W¶}¾÷¿ï¶µ
title_edit=½s¿è¶}¾÷¿ï¶µ
title_header=¶}¾÷¥Ø¿ý¿ï¶µ¤º®e
title_title=¿ï¶µ¼ÐÃD
title_root=¶}¾÷ºÏºÐ¤À³Î°Ï
title_other=¨ä¥L
title_sel=¿ï¨ú
title_boot=¶}¾÷§@·~¨t²Î
title_kernel=Linux®Ö¤ß
title_kfile=®Ö¤ß¦ì¸m
title_args=®Ö¤ß¿ï¶µ
title_chain=¨ä¥L§@·~¨t²Î
title_chain_def=±q¸Ó¤À³Î°Ïªº²Ä¤@­Ó°Ï¬q
title_chain_file=±qchainloaderÀÉ®×
title_makeactive=Make root partition active?
title_none=µL (non-booting menu entry)
title_err=Àx¦s¶}¾÷¿ï¶µ¥¢±Ñ
title_etitle=¨S¦³¿é¤J¶}¾÷¼ÐÃD
title_eroot=¨S¦³¿é¤J¶}¾÷¤À³Î°Ï
title_ekernel=¨S¦³¿é¤J©Î¿ù»~ªº®Ö¤ß¸ô®|
title_echain=¨S¦³¿é¤J©Î¿ù»~ªºchainloader file
title_edev=¤£¤ä´©ºÏºÐ¤À³Î°Ï¸Ë¸m $1

global_title=³q¥Î¿ï¶µ
global_header=³q¥Î¶}¾÷¥Ø¿ý¿ï¶µ
global_default=¹w³]¶}¾÷¿ï¶µ
global_fallback=Fallback¶}¾÷¿ï¶µ
global_first=²M³æ¤¤²Ä¤@­Ó
global_timeout=¶}¾÷µ¥«Ý®É¶¡
global_secs=¬í
global_install=¦w¸Ë GRUB ¨ì ºÏºÐ/¤À³Î°Ï
global_sel=¿ï¨ú
global_other=¨ä¥L
global_password=¶}¾÷±K½X
global_none=µL
global_password_file=¦pªG±K½X¿é¤J®É¨Ï¥Î¶}¾÷ÀÉ®×:
global_pass
global_err=Àx¦s³q¥Î¿ï¶µ¥¢±Ñ
global_etimeout=¨S¦³¿é¤J©Î¿ù»~ªºµ¥«Ý®É¶¡
global_edev=¤£¤ä´©¦w¸Ë¨ì ºÏºÐ/¤À³Î°Ï $1
global_eother=¨S¦³¿é¤J©Î¿ù»~ªººÏºÐ/¤À³Î°Ï
global_epassword=¨S¦³¿é¤J©Î¿ù»~ªº±K½X
global_epasswordfile=¨S¦³¿é¤J alternate ¥Ø¿ýÀÉ®×

install_title=¦w¸ËGRUB
install_err=¸Ë¸üGRUB¥¢±Ñ
install_efind=§ä¤£¨ì¥Ø¿ýÀÉ®×
install_desc=¸Ë¸ü GRUB ¨ì $1 ¨Ï¥Î©R¥O $2 ©M $3 ..
install_ok=..¦w¸Ë¦¨¥\.
install_failed=..¦w¸Ë¥¢±Ñ!


  0707010005ab0b000081a40000000000000002000000013d1fe2ea00000179000000200000000000000000000000000000001700000003reloc/grub/module.info    category=hardware
desc_ko_KR.euc= GRUB ºÎÆ® ·Î´õ 
desc_zh_TW.Big5=GRUB ¶}¾÷ºÞ²z
os_support=open-linux/2.4 open-linux/2.5 open-linux/3.1e {-d "/boot/grub" || -d "/boot/boot/grub" || -x "/usr/sbin/grub" || -x "/sbin/grub"}
desc=GRUB Boot Loader
desc_pl=Inicjator systemu GRUB
name=GRUB
desc_ja_JP.euc=GRUB ¥Ö¡¼¥È ¥í¡¼¥À
depends=0.990
version=0.990
desc_ca=Gestor d'Engegada GRUB
   0707010005ab0c000081e40000000000000002000000013d1fe2e300000798000000200000000000000000000000000000001b00000003reloc/grub/save_global.cgi    #!/usr/local/bin/perl
# save_global.cgi
# Save global GRUB options

require './grub-lib.pl';
&ReadParse();
&error_setup($text{'global_err'});
$conf = &get_menu_config();
&error_setup($text{'global_err'});

# validate and save inputs
if ($in{'default'} eq '') {
	&save_directive($conf, 'default', undef);
	}
else {
	&save_directive($conf, 'default', { 'name' => 'default',
					    'value' => $in{'default'} });
	}
if ($in{'fallback'} eq '') {
	&save_directive($conf, 'fallback', undef);
	}
else {
	&save_directive($conf, 'fallback', { 'name' => 'fallback',
					     'value' => $in{'fallback'} });
	}
if ($in{'timeout_def'}) {
	&save_directive($conf, 'timeout', undef);
	}
else {
	$in{'timeout'} =~ /^\d+$/ || &error($text{'global_etimeout'});
	&save_directive($conf, 'timeout', { 'name' => 'timeout',
					    'value' => $in{'timeout'} });
	}
if ($in{'password_def'}) {
	&save_directive($conf, 'password', undef);
	}
else {
	$in{'password'} =~ /^\S+$/ || &error($text{'global_epassword'});
	if (!$in{'password_file'}) {
		&save_directive($conf, 'password', { 'name' => 'password',
		    'value' => $in{'password'} } );
		}
	else {
		$in{'password_filename'} =~ /^\S+$/ ||
			&error($text{'global_epasswordfile'});
		&save_directive($conf, 'password', { 'name' => 'password',
		    'value' => $in{'password'}.' '.$in{'password_filename'} } );
		}
	}
if ($in{'install_mode'} == 1) {
	if ($in{'install'} =~ /\/dev\/hd([a-d])$/) {
		$config{'install'} = "(hd".(ord($1)-97).")";
		}
	elsif ($in{'install'} =~ /\/dev\/hd([a-d])([1-8])$/) {
		$config{'install'} = "(hd".(ord($1)-97).",".($2-1).")";
		}
	elsif ($in{'install'} =~ /\/dev\/fd([0-4])$/) {
		$config{'install'} = "(fd$1)";
		}
	else {
		&error(&text('global_edev', $in{'root'}));
		}
	}
else {
	$in{'other'} =~ /^\S+$/ || &error($text{'global_eother'});
	$config{'install'} = $in{'other'};
	}
&write_file("$module_config_directory/config", \%config);
&flush_file_lines();
&redirect("");

0707010005ab0d000081e40000000000000002000000013d1fe2e30000070b000000200000000000000000000000000000001a00000003reloc/grub/save_title.cgi #!/usr/local/bin/perl
# save_title.cgi
# Save a boot menu option

require './grub-lib.pl';
&ReadParse();
$conf = &get_menu_config();
if (!$in{'new'}) {
	$old = $title = $conf->[$in{'idx'}];
	}
&error_setup($text{'title_err'});

if ($in{'delete'}) {
	# Just delete the title
	&save_directive($conf, $title, undef);
	}
else {
	# validate inputs
	$in{'title'} =~ /\S/ || &error($text{'title_etitle'});
	$in{'root_mode'} != 1 || $in{'other'} =~ /^\S+$/ ||
		&error($text{'title_eroot'});
	$in{'boot_mode'} != 2 || $in{'kernel'} =~ /^\S+$/ ||
		&error($text{'title_ekernel'});
	$in{'boot_mode'} != 1 || $in{'chain_def'} || $in{'chain'} =~ /^\S+$/ ||
		&error($text{'title_echain'});

	# store inputs in title structure
	$title->{'name'} = 'title';
	$title->{'value'} = $in{'title'};
	if ($in{'root_mode'} == 0) {
		delete($title->{'root'});
		}
	elsif ($in{'root_mode'} == 1) {
		$title->{'root'} = $in{'other'};
		}
	else {
		if ($in{'root'} =~ /\/dev\/hd([a-d])$/) {
			$title->{'root'} = "(hd".(ord($1)-97).")";
			}
		elsif ($in{'root'} =~ /\/dev\/hd([a-d])([1-8])$/) {
			$title->{'root'} = "(hd".(ord($1)-97).",".($2-1).")";
			}
		elsif ($in{'root'} =~ /\/dev\/fd([0-4])$/) {
			$title->{'root'} = "(fd$1)";
			}
		else {
			&error(&text('title_edev', $in{'root'}));
			}
		}
	delete($title->{'kernel'});
	delete($title->{'chainloader'});
	if ($in{'boot_mode'} == 2) {
		$title->{'kernel'} = $in{'kernel'};
		$title->{'kernel'} .= " $in{'args'}" if ($in{'args'});
		}
	elsif ($in{'boot_mode'} == 1) {
		$title->{'chainloader'} = $in{'chain_def'} ? '+1'
							   : $in{'chain'};
		}
	if ($in{'makeactive'}) {
		$title->{'makeactive'} = "";
		}
	else {
		delete($title->{'makeactive'});
		}

	# create or update the title
	&save_directive($conf, $old, $title);
	}

&flush_file_lines();
&redirect("");

 07070100061ef5000041ed0000000000000001000000043d1ffa4200000000000000200000000000000000000000000000001000000003reloc/heartbeat   07070100061ef6000081e40000000000000002000000013d1fe2e60000016c000000200000000000000000000000000000001a00000003reloc/heartbeat/apply.cgi #!/usr/local/bin/perl
# apply.cgi
# Apply changes to the heartbeat process

require './heartbeat-lib.pl';
&ReadParse();
&error_setup($text{'apply_err'});
if ($config{'apply_cmd'}) {
	$out = &backquote_logged("$config{'apply_cmd'} 2>&1 </dev/null");
	if ($?) {
		&error($out);
		}
	}
else {
	kill(HUP, $in{'pid'}) || &error($text{'apply_epid'});
	}
&redirect("");

07070100061ef7000081a40000000000000002000000013d1fe2e6000000e0000000200000000000000000000000000000001700000003reloc/heartbeat/config    ha_cf=
authkeys=
haresources=
resource_d=
stop_cmd=/etc/init.d/heartbeat start
start_cmd=/etc/init.d/heartbeat start
pid_file=/var/run/heartbeat.pid
ha_dir=/etc/ha.d
apply_cmd=/etc/init.d/heartbeat reload
serials=/dev/ttyS*
07070100061ef8000081a40000000000000002000000013d1fe2e60000010b000000200000000000000000000000000000001f00000003reloc/heartbeat/config-freebsd    ha_cf=
authkeys=
haresources=
resource_d=
stop_cmd=/usr/local/etc/rc.d/heartbeat.sh start
start_cmd=/usr/local/etc/rc.d/heartbeat.sh start
pid_file=/var/run/heartbeat.pid
ha_dir=/usr/local/etc/ha.d
apply_cmd=/usr/local/etc/rc.d/heartbeat.sh reload
serials=/dev/cuaa*
 07070100061ef9000081a40000000000000002000000013d1fe2e6000000ea000000200000000000000000000000000000002500000003reloc/heartbeat/config-generic-linux  ha_cf=
authkeys=
haresources=
resource_d=
stop_cmd=kill `cat /var/run/heartbeat.pid`
start_cmd=/usr/lib/heartbeat/heartbeat
pid_file=/var/run/heartbeat.pid
ha_dir=/etc/ha.d
apply_cmd=/usr/lib/heartbeat/heartbeat -r
serials=/dev/ttyS*
  07070100061efa000081a40000000000000002000000013d1fe2e6000000ea000000200000000000000000000000000000002700000003reloc/heartbeat/config-slackware-linux    ha_cf=
authkeys=
haresources=
resource_d=
stop_cmd=kill `cat /var/run/heartbeat.pid`
start_cmd=/usr/lib/heartbeat/heartbeat
pid_file=/var/run/heartbeat.pid
ha_dir=/etc/ha.d
apply_cmd=/usr/lib/heartbeat/heartbeat -r
serials=/dev/ttyS*
  07070100061efb000081a40000000000000002000000013d1fe2e600000198000000200000000000000000000000000000001c00000003reloc/heartbeat/config.info   ha_dir=Heartbeat config directory,0
ha_cf=Path to heartbeat config file,3,Automatic
haresources=Path to resources file,3,Automatic
authkeys=Path to authentication keys file,3,Automatic
resource_d=Heartbeat service scripts directory,3,Automatic
pid_file=Path to heartbeat PID file,0
start_cmd=Command to start heartbeat,0
apply_cmd=Command to apply changes,3,Automatic
serials=Pattern for serial port files,0
07070100061efc000081a40000000000000002000000013d1fe2e6000001d4000000200000000000000000000000000000001f00000003reloc/heartbeat/config.info.ca    ha_dir=Directori de configuració de heartbeat,0
ha_cf=Camí del fitxer de configuració de heartbeat,3,Automàtic
haresources=Camí del fitxer de recursos,3,Automàtic
authkeys=Camí del fitxer de claus d'autenticació,3,Automàtic
resource_d=Directori de scripts de serveis heartbeat,3,Automàtic
pid_file=Camí del fitxer de PID de heartbeat,0
start_cmd=Ordre per iniciar heartbeat,0
apply_cmd=Ordre per aplicar canvis,3,Automàtic
serials=Patró dels fitxers de ports sèrie,0

07070100061efd000081a40000000000000002000000013d1fe2e6000001bb000000200000000000000000000000000000001f00000003reloc/heartbeat/config.info.hu    ha_dir=A szívverés konfiguráció könyvtára,0
ha_cf=A szívverés konfigurációs file könyvtára,3,Automatikus
haresources=Az erõforrás file könyvtára,3,Automatikus
authkeys=Az autentikációs kulcs file könyvtára,3,Automatikus
resource_d=A szívverés szolgáltatás parancsfile könyvtára,3,Automatikus
pid_file=A szívverés PID file könyvtára,0
start_cmd=A szívverés indító parancs,0
apply_cmd=A módosulások elfogadásához szükséges parancs,3,Automatikus
 07070100061f00000081e40000000000000002000000013d1fe2e600000362000000200000000000000000000000000000001e00000003reloc/heartbeat/edit_auth.cgi #!/usr/local/bin/perl
# edit_auth.cgi
# Display authentication settings

require './heartbeat-lib.pl';
&header($text{'auth_title'}, "");
print "<hr>\n";

$conf = &get_auth_config();

print "<form action=save_auth.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'auth_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table><tr>\n";
print "<td valign=top><b>$text{'auth_mode'}</td> <td>\n";

$i = 1;
foreach $k ('crc', 'sha1', 'md5') {
	printf "<input type=radio name=auth value=%d %s> %s\n",
		$i, $conf->{'auth'}->[0] == $i ? "checked" : "",
		$text{"auth_$k"};
	if ($k ne 'crc') {
		printf "<input name=%s size=20 value='%s'>\n",
			$k, $conf->{$i}->[1];
		}
	print "<br>\n";
	$i++;
	}

print "</td></tr></table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100061f01000081e40000000000000002000000013d1fe2e60000131d000000200000000000000000000000000000001e00000003reloc/heartbeat/edit_conf.cgi #!/usr/local/bin/perl
# edit_conf.cgi
# Display ha_conf options

require './heartbeat-lib.pl';
&header($text{'conf_title'}, "");
print "<hr>\n";

@conf = &get_ha_config();
print "<form action=save_conf.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'conf_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$serial = &find("serial", \@conf);
print "<tr> <td><b>$text{'conf_serial'}</b></td>\n";
print "<td><select name=serial>\n";
opendir(DIR, "/dev");
printf "<option value='' %s>%s\n",
	$serial ? "" : "selected", $text{'conf_none'};
foreach $p (glob($config{'serials'})) {
	printf "<option %s>%s\n",
		$p eq $serial ? "selected" : "", $p;
	$sfound++ if ($p eq $serial);
	}
closedir(DIR);
print "<option selected>$serial\n" if ($serial && !$sfound);
print "</select></td>\n";

$baud = &find("baud", \@conf);
print "<td><b>$text{'conf_baud'}</b></td> <td>\n";
printf "<input type=radio name=baud_def value=1 %s> %s\n",
	$baud ? "" : "checked", $text{'default'};
printf "<input type=radio name=baud_def value=0 %s>\n",
	$baud ? "checked" : "";
printf "<input name=baud size=6 value='%s'></td> </tr>\n", $baud;

$udp = &find("udp", \@conf);
print "<tr> <td><b>$text{'conf_udp'}</b></td> <td>\n";
printf "<input type=radio name=udp_def value=1 %s> %s\n",
	$udp ? "" : "checked", $text{'conf_none'};
printf "<input type=radio name=udp_def value=0 %s>\n",
	$udp ? "checked" : "";
printf "<input name=udp size=6 value='%s'></td>\n", $udp;

$udpport = &find("udpport", \@conf);
print "<td><b>$text{'conf_udpport'}</b></td> <td>\n";
printf "<input type=radio name=udpport_def value=1 %s> %s\n",
	$udpport ? "" : "checked", $text{'default'};
printf "<input type=radio name=udpport_def value=0 %s>\n",
	$udpport ? "checked" : "";
printf "<input name=udpport size=6 value='%s'></td> </tr>\n", $udpport;

$keepalive = &find("keepalive", \@conf);
print "<tr> <td><b>$text{'conf_keepalive'}</b></td> <td>\n";
printf "<input type=radio name=keepalive_def value=1 %s> %s\n",
	$keepalive ? "" : "checked", $text{'default'};
printf "<input type=radio name=keepalive_def value=0 %s>\n",
	$keepalive ? "checked" : "";
printf "<input name=keepalive size=6 value='%s'> %s</td>\n",
	$keepalive, $text{'conf_secs'};

$deadtime = &find("deadtime", \@conf);
print "<td><b>$text{'conf_deadtime'}</b></td> <td>\n";
printf "<input type=radio name=deadtime_def value=1 %s> %s\n",
	$deadtime ? "" : "checked", $text{'default'};
printf "<input type=radio name=deadtime_def value=0 %s>\n",
	$deadtime ? "checked" : "";
printf "<input name=deadtime size=6 value='%s'> %s</td> </tr>\n",
	$deadtime, $text{'conf_secs'};

$watchdog = &find("watchdog", \@conf);
print "<tr> <td><b>$text{'conf_watchdog'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=watchdog_def value=1 %s> %s\n",
	$watchdog ? "" : "checked", $text{'conf_none'};
printf "<input type=radio name=watchdog_def value=0 %s>\n",
	$watchdog ? "checked" : "";
printf "<input name=watchdog size=25 value='%s'> %s</td> </tr>\n",
	$watchdog, &file_chooser_button("watchdog");

print "<tr> <td valign=top><b>$text{'conf_node'}</b></td> <td colspan=3>\n";
print "<textarea name=node rows=4 cols=40>",
	join("\n", &find("node", \@conf)),"</textarea></td> </tr>\n";

$logfile = &find("logfile", \@conf);
print "<tr> <td><b>$text{'conf_logfile'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=logfile_def value=1 %s> %s\n",
	$logfile ? "" : "checked", $text{'conf_none'};
printf "<input type=radio name=logfile_def value=0 %s>\n",
	$logfile ? "checked" : "";
printf "<input name=logfile size=40 value='%s'> %s</td> </tr>\n",
	$logfile, &file_chooser_button("logfile");

$logfacility = &find("logfacility", \@conf);
print "<tr> <td><b>$text{'conf_logfacility'}</b></td> <td>\n";
printf "<input type=radio name=logfacility_def value=1 %s> %s\n",
	$logfacility ? "" : "checked", $text{'default'};
printf "<input type=radio name=logfacility_def value=0 %s>\n",
	$logfacility ? "checked" : "";
if (&foreign_check("syslog")) {
	local %sconfig = &foreign_config("syslog");
	print "<select name=logfacility>\n";
	foreach $f (split(/\s+/, $sconfig{'facilities'})) {
		printf "<option %s>%s\n",
			$f eq $logfacility ? "selected" : "", $f;
		}
	print "</select>\n";
	}
else {
	printf "<input name=logfacility size=15 value='%s'>\n", $logfacility;
	}
print "</td>\n";

$initdead = &find("initdead", \@conf);
print "<td><b>$text{'conf_initdead'}</b></td> <td>\n";
printf "<input type=radio name=initdead_def value=1 %s> %s\n",
	$initdead ? "" : "checked", $text{'default'};
printf "<input type=radio name=initdead_def value=0 %s>\n",
	$initdead ? "checked" : "";
printf "<input name=initdead size=6 value='%s'> %s</td> </tr>\n",
	$initdead, $text{'conf_secs'};

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'conf_ok'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100061f06000081e40000000000000002000000013d1fe2e600000bb2000000200000000000000000000000000000001e00000003reloc/heartbeat/edit_node.cgi #!/usr/local/bin/perl
# edit_node.cgi
# Edit a node in the haresources file

require './heartbeat-lib.pl';
&ReadParse();
&foreign_require("init", "init-lib.pl");

if ($in{'new'}) {
	&header($text{'node_create'}, "");
	}
else {
	&header($text{'node_edit'}, "");
	@res = &list_resources();
	$res = $res[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_node.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'node_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'node_node'}</b></td>\n";
printf "<td><input name=node size=40 value='%s'></td> </tr>\n",
	$res->{'node'};

print "<tr> <td valign=top><b>$text{'node_ips'}</b></td>\n";
print "<td><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'node_ip'}</b></td> ",
      "<td><b>$text{'node_cidr'}</b></td> ",
      "<td><b>$text{'node_broad'}</b></td> </tr>\n";
$i = 0;
foreach $a (@{$res->{'ips'}}, "") {
	local @a = split(/\//, $a);
	print "<tr $cb> <td><input name=ip_$i size=15 value='$a[0]'></td>\n";
	printf "<td><input type=radio name=cidr_def_$i value=1 %s> %s\n",
		$a[1] ? "" : "checked", $text{'default'};
	printf "<input type=radio name=cidr_def_$i value=0 %s>\n",
		$a[1] ? "checked" : "";
	print "<input name=cidr_$i size=4 value='$a[1]'></td>\n";
	printf "<td><input type=radio name=broad_def_$i value=1 %s> %s\n",
		$a[2] ? "" : "checked", $text{'default'};
	printf "<input type=radio name=broad_def_$i value=0 %s>\n",
		$a[2] ? "checked" : "";
	print "<input name=broad_$i size=15 value='$a[2]'></td> </tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

@acts = map { /^(\S+)/; $1 } &foreign_call("init", "list_actions");
opendir(DIR, $resource_d);
while($f = readdir(DIR)) {
	push(@acts, $f) if ($f !~ /^\./);
	}
closedir(DIR);
print "<tr> <td valign=top><b>$text{'node_servs'}</b></td>\n";
print "<td><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'node_serv'}</b></td> ",
      "<td><b>$text{'node_args'}</b></td> </tr>\n";
$i = 0;
foreach $a (@{$res->{'servs'}}, "") {
	local @a = split(/::/, $a);
	print "<tr $cb> <td><select name=serv_$i>\n";
	printf "<option value='' %s>&nbsp;\n",
		$a[0] ? "" : "selected";
	local $found;
	foreach $s (@acts) {
		printf "<option %s>%s\n",
			$a[0] eq $s ? "selected" : "", $s;
		$found++ if ($a[0] eq $s);
		}
	if (!$found && $a[0]) {
		print "<option selected>$a[0]\n";
		}
	print "</select></td>\n";
	printf "<td><input name=args_$i size=40 value='%s'></td> </tr>\n",
		join(" ", @a[1..$#a]);
	$i++;
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
print "<td align=right><input type=submit name=delete ",
      "value='$text{'delete'}'></td> </tr>\n";
print "</table>\n";

print "</form><hr>\n";
&footer("edit_res.cgi", $text{'res_return'});

  07070100061f0d000081e40000000000000002000000013d1fe2e6000003bb000000200000000000000000000000000000001d00000003reloc/heartbeat/edit_res.cgi  #!/usr/local/bin/perl
# edit_res.cgi
# Display all resource file entries

require './heartbeat-lib.pl';
&header($text{'res_title'}, "");
print "<hr>\n";

@res = &list_resources();
if (@res) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'res_node'}</b></td> ",
	      "<td><b>$text{'res_ips'}</b></td> ",
	      "<td><b>$text{'res_servs'}</b></td> </tr>\n";
	local $i = 0;
	foreach $r (@res) {
		print "<tr $cb> <td><a href='edit_node.cgi?idx=$i'>",
		      "$r->{'node'}</a></td>\n";
		printf "<td>%s</td>\n",
			$r->{'ips'} ? join(" ", @{$r->{'ips'}})
				    : $text{'res_none'};
		printf "<td>%s</td> </tr>\n", $r->{'servs'} ?
		    join("&nbsp;,&nbsp;", map { s/::/ /g; $_ } @{$r->{'servs'}})
		    : $text{'res_none'};
		$i++;
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'res_nores'}</b><br>\n";
	}
print "<a href='edit_node.cgi?new=1'>$text{'res_add'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100061f0f000081a40000000000000002000000013d1fe2e60000006e000000200000000000000000000000000000002200000003reloc/heartbeat/feedback_files.pl 
do 'heartbeat-lib.pl';

sub feedback_files
{
return ( $ha_cf, $haresources, $authkeys, $resource_d );
}

1;

  07070100061f10000081a40000000000000002000000013d1fe2e500000dd9000000200000000000000000000000000000002100000003reloc/heartbeat/heartbeat-lib.pl  # heartbeat-lib.pl
# Common functions for heartbeat tool configuration

do '../web-lib.pl';
&init_config();

$ha_cf = $config{'ha_cf'} ? $config{'ha_cf'} : "$config{'ha_dir'}/ha.cf";
$haresources = $config{'haresources'} ? $config{'haresources'}
				      : "$config{'ha_dir'}/haresources";
$authkeys = $config{'authkeys'} ? $config{'authkeys'}
				: "$config{'ha_dir'}/authkeys";
$resource_d = $config{'resource_d'} ? $config{'resource_d'}
				    : "$config{'ha_dir'}/resource.d";

sub get_ha_config
{
local @rv;
local $lnum = 0;
open(CONF, $ha_cf);
while(<CONF>) {
	s/\s+$//;
	s/#.*$//;
	if (/^(\S+)\s+(\S+)$/) {
		push(@rv, { 'name' => $1,
			    'value' => $2,
			    'line' => $lnum });
		}
	$lnum++;
	}
close(CONF);
return @rv;
}

# find(name, &config)
sub find
{
local @rv;
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c->{'value'});
		}
	}
return wantarray ? @rv : @rv==0 ? undef : $rv[0];
}

# find_struct(name, &config)
sub find_struct
{
local @rv;
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return wantarray ? @rv : @rv==0 ? undef : $rv[0];
}

# save_directive(&config, name, &values)
sub save_directive
{
local $lref = &read_file_lines($ha_cf);
local @old = &find_struct($_[1], $_[0]);
for($i=0; $i<@old || $i<@{$_[2]}; $i++) {
	if ($i >= @old) {
		# adding a directive
		push(@$lref, "$_[1]\t$_[2]->[$i]");
		push(@{$_[0]}, { 'name' => $_[1],
				 'value' => $_[2]->[$i],
				 'line' => scalar(@$lref)-1 });
		}
	elsif ($i >= @{$_[2]}) {
		# removing a directive
		splice(@$lref, $old[$i]->{'line'}, 1);
		splice(@{$_[0]}, &indexof($old[$i], @{$_[0]}), 1);
		&renumber($_[0], $old[$i]->{'line'}, -1);
		}
	else {
		# updating a directive
		splice(@$lref, $old[$i]->{'line'}, 1, "$_[1]\t$_[2]->[$i]");
		$old[$i]->{'value'} = $_[2]->[$i];
		}
	}
}

# renumber(&config, line, offset)
sub renumber
{
foreach $c (@{$_[0]}) {
	if ($c->{'line'} > $_[1]) {
		$c->{'line'} += $_[2];
		}
	}
}

sub list_resources()
{
local @rv;
local $lnum = 0;
open(RES, $haresources);
while(<RES>) {
	s/\s+$//;
	s/#.*$//;
	local @res = split(/\s+/, $_);
	if (@res > 0) {
		local $r = { 'node' => shift(@res),
			     'line' => $lnum };
		foreach $v (@res) {
			if ($v =~ /^[0-9\.\/]+$/) {
				push(@{$r->{'ips'}}, $v);
				}
			elsif ($v =~ /^IPaddr::(\S+)$/) {
				push(@{$r->{'ips'}}, $1);
				}
			else {
				push(@{$r->{'servs'}}, $v);
				}
			}
		push(@rv, $r);
		}
	$lnum++;
	}
close(RES);
return @rv;
}

sub create_resource
{
local $lref = &read_file_lines($haresources);
push(@$lref, &resource_line($_[0]));
&flush_file_lines();
}

sub modify_resource
{
local $lref = &read_file_lines($haresources);
$lref->[$_[0]->{'line'}] = &resource_line($_[0]);
&flush_file_lines();
}

sub delete_resource
{
local $lref = &read_file_lines($haresources);
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
}

sub resource_line
{
local @l = ( $_[0]->{'node'} );
push(@l, @{$_[0]->{'ips'}});
push(@l, @{$_[0]->{'servs'}});
return join(" ", @l);
}

sub get_auth_config
{
local $rv;
open(AUTH, $authkeys);
while(<AUTH>) {
	s/\r|\n//g;
	s/#.*$//;
	local @l = split(/\s+/, $_);
	if (@l > 0) {
		$rv->{shift(@l)} = \@l;
		}
	}
close(AUTH);
return $rv;
}

sub save_auth_config
{
local %auth;
open(AUTH, ">$authkeys");
if ($_[0]->{'auth'}) {
	print AUTH "auth ",join(" ", @{$_[0]->{'auth'}}),"\n";
	map { $auth{$_}++ } @{$_[0]->{'auth'}};
	}
foreach $k (keys %{$_[0]}) {
	if ($k ne 'auth') {
		print AUTH "# " if (!$auth{$k});
		print AUTH "$k ",join(" ", @{$_[0]->{$k}}),"\n";
		}
	}
close(AUTH);
}

1;

   07070100063553000041ed0000000000000001000000023d1ffa4200000000000000200000000000000000000000000000001700000003reloc/heartbeat/images    07070100063554000081a40000000000000002000000013d1fe2e500000113000000200000000000000000000000000000002000000003reloc/heartbeat/images/auth.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100063555000081a40000000000000002000000013d1fe2e50000013c000000200000000000000000000000000000002000000003reloc/heartbeat/images/conf.gif   GIF89a0 0 ã  ÿÿÿªªªUUU999   ÇÇÇrrrãããŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  ßÈI«½8ëÍ»Ï 1ˆAñ­S!”pÂrÈ+ïr}co3~• q	;"%B¦Ô†<H¯$b)H
	QuKóPðïÐï7Ìf¶Cê¿KlÜ2pCdr,„sˆ1‚OQ;†‘D–“2všcŸ€¢ œ2z§jC«­qK±²®K¬¶˜D¶¥3¶|ªº¿ ‹oÈ¯1žÌŽ%¾ÑÓÃÈØÚ¿àáÇÖåæç¿	"ëëèØîCñŒæïó;÷2ù1èêìíè–‹  ;07070100063556000081a40000000000000002000000013d1fe2e50000092e000000200000000000000000000000000000002000000003reloc/heartbeat/images/icon.gif   GIF89a0 0 ç  B

þþþÎÎÎ¾šššwwŠ^^ú

¦Ï33jr::ª$$¾vvrò00x44ªii®Ç‚ºZZ‚ÞÞÞ¦Ê¦¦ÈzzÊ®®ºòNNŽÂ†† ªêêêÎZZR22–Â""â¶¶Îxx²¦NN¢öJJÒZZàÂÂùþ~~§Ú’’ÖZZÒ¢¢Úòòævvâ""ÖÎÎºúZZÏÈ‚**òBB›

RæÎÎ¢ì::šÞjjêššæââê°°ž––´JîîîþººêšBBªæÊÊânnööö¶xxÎBBžÎTT¢

Ý++†&&æêªªý®®Šfº

Vrò((«

â22ÊÊÊ¿þÑÑæþ::þŠŠþffêÊÊîÞÞòòòº¾††¼""""³þrr’Õ³®þnnž‚‚žþŽŽ÷êêÆ--Z¶¦¦þšššFFúþÚÚî††î²²Æ>>ú¦¦þÃÃvêJJöîîö’’e

ý..n³þªª¶ŠŠý""þvvé++Âf00ö&&~nn¦

rJJö^^þ‚‚þ²²Þ::Î((š¶^’JJþééòþööâJJýúúª¾..øàà‰®ÒwöVV¢®ý¢¢þ66ö†

â>>öòòÆý??bÚÆÆ®††Î::»Ò..f~

”þÊÊþbbþ’’ÁþÖÖö22Îþááý22~þ**¾®®ŽRRþ––þjj¢jö¾¾ì""Æ^^þNNÎ""Â¦¦ý¶¶ýòò¿

ºÂ¾¢Æ¢¢¦**¾~~æ¾¾æÖÖê¶¶¶~~½ºŽŽ´

ýIIýþîî­ý^^ýTTýzz¢""nÖý&&þ¾¾ýžžþ††³,    0 0  þ H0 *Táæ)‡ª`ÁUtH‘â¼gŸlù£“,eLž5$Ž“@Ê’Ññ§Œ³U+šb†ÈŸ½zÐ Qz´š¯5ÖÁDuÆfši(å„¶æšµD1šâò"ÏširÊ{4hŸ<Ÿ×$…ë—,ë4y^oÝbšì^¥~¦¢xfÍŸÉ|=‚–Ë….B³tM½4û¹ d`±Ïzkø(Ss&EBÖ$I2,d›¸qs†•[¶LK®iñ"Û»%Æ€„ÃFÁÂán›¥x/”“Î¢-&\èÔÃòå
lIhxr O,4”|yÊãÀÙŽ'OîT³IÅqXâþ]ëwÆÖ<‡L>!óŒ$°öÀ«2{Ó­;(ŒÃ€*ÔBË(Ò@K,‹ÐÁE"Ÿ„@ˆ$ÂÇo°2GåTQE$WlP…
ôU1ŒwlƒÂæx¸Á À¢‚; ÀàÎñø“8\´J?L€S	(â˜óD¢üÃœ
>¨0†
sÐóD92Ðƒ‡
£,i
U¼8+*CŒ=ž$ÂE\s5ÂÄ‹ˆƒK9›  ÂA¨€Â÷íñÄC €…
s(—ŒQ,°l2Êðì’?Â¤M#Ÿ$ƒÅ(ØÌ‘D¦¬\¡B$U<Aâ¤s  OìqÇ§UþŸÎ¡
:ÄãI?GH •ÜS;ãÐ2Ì¢:-‚^yŒ‹Ç`7D{C‹
xÐ'â&â2Î
yÒÏ<¨ØRU3o˜8¬ŒbäØÉç0Ø{Ìíèá‘°BK$(<Ï(¢XRO%5¸ÂKk¬a	<xD@ËØøp@>±	6¡ª2ÄªŒR.¢`ª4ð|PÅŠø€Â›Ðƒ@×äàJ…¬Ñ8€°!‹
ƒ(WÎêÄ‚ŠŒÇÆ¸ÂIQ+0 PB°@H8…ôpK(£ì±G9ÔbIê(C8+èdðÙÎªMª({¨pÀ?Uü³BDÑGþ8E ÐãÈÙ¢
Ç´8â²]–½ç³|ÒG/ãô:Ë

„‚ [ÀtÄå%ˆSEUà‰x½©ð©ÂÆî¢íá²+Â3„4°<áCI„b9;™ÐŠ:,£=­žŠ‡©#îùD¨çÑ,}¤V«ö¢Rû
Ëôòlä
äDB©#®¶êeó9ïœ«‡^vù­ŽH6_ôò7h®âqD)Ê‹rº×‹Ôw:Aî^ór Í¡‚$$a{ ‚eÀtø c€’†4Žñ"úØINÎ#‘‡¸Ô¬'prÒÀæ Š!¤ ™Ž!
V|.zSŸœ×ªå¹¯yþK ð°<<lbÒH‡CÚP]ˆâIH`ÑöDªg¥Îyï£¢çµ"QÍÇpB(‡W¼BPØá ã÷¸cxì«Ûá ¹d>Aéâ1¨H €3žrlœãÒªÅ•èƒøÂ+ Ð‡˜¬£ÙèÀóHuÅ²­®T;DÛ©¥Éy!Yh\ZPŠ|øqqÇ;U&S)2>íTËš×Â0	]Eê¨€)]©ÊÃ‘mcÏ¢Ï(à(ÈÓu Å€#ä"U|#	˜×½2É'2N€Š«Â+daŒ)Ø’™Â9*pFgqr€êcêöäÉCSX&8Ò‡(âÈþÔêæ¥ÊmYÎë@> ÑŽFÎ“ }„+ÉF"4¦Î}óŠåZô ™A5[)MÇ1îE±ÌGŠ%`”"WE–ÜUO¶oÇLÀ 1Á“äÆ‘€úª Ç“åP‘²($ª›VÄ
â€‡Nùt4@©ïÑ()A õ¨Î(‡N±sÅˆ6`¤ÙPÀ $tUŠˆ`sXªúœw©†5V-ëQ%@gìÔŒøC60A È5*VXF9†©È¨’‚? @xñWÀ^¢"“ÅH•ð‹`À•Ë	ÈYâ Àn`ÒÌjùpÄ4qÔÔ´1É 	8¡‡2”¶à45,ðZÜÊå›¾H@  ;  07070100063557000081a40000000000000002000000013d1fe2e5000000fb000000200000000000000000000000000000001f00000003reloc/heartbeat/images/res.gif    GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ì„©Ëí£œ†‹³u†¢ÈuÑ7¦`i>¨:²móÂ¡</µ-ày²³ù~‡ lHUHâ²·‰^rÏgŒ*ä‘¨Ò‹ö–Ô}Wa…uË•¦ºQO`ðŽÃƒg°DŽ‡¯Ç½;üGÇ×t1pˆx(8Fè±Ç˜¤Y†PGFY´Æ¦aõøÕ¨“·Ú1Jª
è9éö–(«8ˆ™ùúãZê4ZëÄê…Û2ª'Üi˜hÙg«´ÉÉL¡
ÝÌìŒmHŒ‡Üg«í-<;;5n[  ; 07070100061f11000081e40000000000000002000000013d1fe2e60000051a000000200000000000000000000000000000001a00000003reloc/heartbeat/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display heartbeat option categories

require './heartbeat-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("heartbeat", "man", "doc"));
print "<hr>\n";

# Check if heartbeat is installed
if (!-d $config{'ha_dir'}) {
	print "<p>",&text('index_edir', "<tt>$config{'ha_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@opts = ( 'conf', 'res', 'auth' );
@links = map { "edit_${_}.cgi" } @opts;
@titles = map { $text{"${_}_title"} } @opts;
@icons = map { "images/${_}.gif" } @opts;
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
print "<table width=100%><tr>\n";
if (open(PID, $config{'pid_file'})) {
	chop($pid = <PID>);
	close(PID);
	}
if ($pid && kill(0, $pid)) {
	print "<form action=apply.cgi>\n";
	print "<input type=hidden name=pid value='$pid'>\n";
	print "<td><input type=submit value='$text{'index_apply'}'></td>\n";
	print "<td>$text{'index_applymsg'}</td>\n";
	print "</form>\n";
	}
else {
	print "<form action=start.cgi>\n";
	print "<td><input type=submit value='$text{'index_start'}'></td>\n";
	print "<td>$text{'index_startmsg'}</td>\n";
	print "</form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("/", $text{'index'});
  07070100064d30000041ed0000000000000001000000023d1ffa4200000000000000200000000000000000000000000000001500000003reloc/heartbeat/lang  07070100064d31000081a40000000000000002000000013d1fe2e600000d18000000200000000000000000000000000000001800000003reloc/heartbeat/lang/ca   index_title=Monitor Heartbeat
index_return=al monitor heartbeat
index_edir=El directori de configuració $1 de heartbeat no existeix. Pot ser que el Heartbeat no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_start=Inicia el Monitor Heartbeat
index_startmsg=Fes clic sobre aquest botó per iniciar el procés monitor heartbeat. Això activarà el servei automàtic de fallades amb la configuració actual.
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per forçar la recàrrega de la configuració actual sobre el procés en execució.

conf_title=Opcions de Configuració
conf_header=Opcions de configuració de heartbeat
conf_serial=Port sèrie heartbeat
conf_baud=Bauds del port sèrie
conf_udp=Dispositiu Ethernet de heartbeat
conf_none=Cap
conf_udpport=Port UDP de heartbeat
conf_keepalive=Temps entre batecs
conf_secs=segons
conf_deadtime=Temps abans de donar el node per mort
conf_watchdog=Fitxer de dispositiu "gos guardià"
conf_node=Hosts en el <i>cluster</i>
conf_logfile=Fitxer de registre de heartbeat
conf_logfacility=Utilitat de registre syslog
conf_initdead=Temps inicial de mort
conf_ok=Desa les Opcions
conf_err=No he pogut desar les opcions
conf_ebaud=Hi falta la velocitat en bauds o bé és invàlida
conf_eudp=Hi falta el dispositiu hearbeat o bé és invàlid
conf_eudpport=Hi falta el port de heartbeat o bé és invàlid
conf_ekeepalive=Hi falta el temps entre batecs o bé és invàlid
conf_edeadtime=Hi falta el temps de mort o bé és invàlid
conf_ewatchdog=Hi falta el de dispositiu "gos guardià" o bé és invàlid
conf_enonode=No has introduït cap host al <i>cluster</i>
conf_ethisnode=El host $1 no és a la llista de hosts del <i>cluster</i>
conf_elogfile=Hi falta el nom del fitxer de registre o bé és invàlid
conf_einitdead=Hi falta el temps inicial de mort o bé és invàlid 
conf_einitdead2=El temps inicial de mort ha de ser almenys el doble del temps abans de considerar mort un node

res_title=Recursos del <i>Cluster</i>
res_node=Node Primari
res_ips=Adreces IP
res_servs=Serveis del Node
res_none=Cap
res_nores=No hi ha cap recurs del <i>cluster</i> definit al sistema.
res_add=Afegeix un recurs del <i>cluster</i>
res_return=a la llista de recursos

node_create=Addició de Recurs de <i>Cluster</i>
node_edit=Edició de recurs de <i>Cluster</i>
node_header=Detalls del recurs de <i>cluster</i>
node_node=Node primari del recurs
node_ips=Adreces IP del recurs
node_ip=Adreces IP
node_cidr=CIDR de la màscara de xarxa
node_broad=Adreça de retransmissió
node_servs=Serveis del recurs
node_serv=Servei
node_args=Arguments addicionals
node_err=No he pogut desar el recurs del <i>cluster</i>
node_enone=Hi falta el node primari o bé és invàlid
node_eip='$1' no és una adreça IP vàlida
node_ecidr='$1' no és un CIDR vàlid
node_ebroad='$1' no és una adreça de retransmissió vàlida

auth_title=Claus d'Autenticació
auth_header=Autenticació de node del <i>cluster</i>
auth_mode=Mode d'autenticació
auth_crc=CRC (Sense seguretat)
auth_sha1=SHA1 amb contrasenya
auth_md5=MD5 amb contrasenya
auth_err=No he pogut desar les claus d'autenticació
auth_emd5=Hi falta la contrasenya MD5 o bé és invàlida
auth_esha1=Hi falta la contrasenya SHA1 o bé és invàlida

start_err=No he pogut iniciar heartbeat

apply_err=No he pogut aplicar els canvis
apply_epid=El procés ja no esta`en execució



07070100064d32000081a40000000000000002000000013d1fe2e500000b56000000200000000000000000000000000000001800000003reloc/heartbeat/lang/en   index_title=Heartbeat Monitor
index_return=heartbeat monitor
index_edir=The heartbeat config directory $1 does not exist. Maybe Heartbeat is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_start=Start Heartbeat Monitor
index_startmsg=Click this button to start the Heartbeat monitor process. This will enable automatic service failover on your system with the current configuration.
index_apply=Apply Changes
index_applymsg=Click this button to force the running Heartbeat monitor process to reload the current configuration.

conf_title=Configuration Options
conf_header=Heartbeat configuration options
conf_serial=Serial heartbeat port
conf_baud=Baud rate for serial port
conf_udp=Ethernet heartbeat device
conf_none=None
conf_udpport=UDP heartbeat port
conf_keepalive=Time between heartbeats
conf_secs=seconds
conf_deadtime=Time before node is considered dead
conf_watchdog=Watchdog device file
conf_node=Hosts in cluster
conf_logfile=Heartbeat log file
conf_logfacility=Syslog log facility
conf_initdead=Initial dead time
conf_ok=Save Options
conf_err=Failed to save options
conf_ebaud=Missing or invalid baud rate
conf_eudp=Missing or invalid heartbeat device
conf_eudpport=Missing or invalid heartbeat port
conf_ekeepalive=Missing or invalid time between heartbeats
conf_edeadtime=Missing or invalid dead time
conf_ewatchdog=Missing or non-existant watchdog device file
conf_enonode=No cluster hosts entered
conf_ethisnode=This host $1 is not on the cluster hosts list
conf_elogfile=Missing or invalid log filename
conf_einitdead=Missing or invalid initial dead time
conf_einitdead2=Initial dead time must be at least twice the time before a node is considered dead

res_title=Cluster Resources
res_node=Primary Node
res_ips=IP Addresses
res_servs=Node Services
res_none=None
res_nores=No cluster resources have been defined on your system.
res_add=Add a cluster resource
res_return=resources list

node_create=Add Cluster Resource
node_edit=Edit Cluster Resource
node_header=Cluster resource details
node_node=Primary node for resource
node_ips=IP addresses for resource
node_ip=IP address
node_cidr=Netmask CIDR
node_broad=Broadcast address
node_servs=Services for resource
node_serv=Service
node_args=Additional arguments
node_err=Failed to save cluster resource
node_enone=Missing or invalid primary node
node_eip='$1' is not a valid IP address
node_ecidr='$1' is not a valid CIDR
node_ebroad='$1' is not a valid broadcast address

auth_title=Authentication Keys
auth_header=Cluster node authentication
auth_mode=Authentication mode
auth_crc=CRC (No security)
auth_sha1=SHA1 with password
auth_md5=MD5 with password
auth_err=Failed to save authentication keys
auth_emd5=Missing or invalid MD5 password
auth_esha1=Missing or invalid SHA1 password

start_err=Failed to start heartbeat

apply_err=Failed to apply changes
apply_epid=Process is no longer running

  07070100064d33000081a40000000000000002000000013d1fe2e600000831000000200000000000000000000000000000001800000003reloc/heartbeat/lang/hu   # webmin-0.90heartbeat/lang/hu
# translated by Gabor Keve <gabor.keve@it-worx.hu>
#
index_title=Szívverés Monitor
index_return=Szívverés monitor
index_edir=A szívverés konfigurációs könyvtár $1 nem létezik. Talán a szívverés nincs installálva, vagy az Ön <a href='$2'>modul konfigurációja</a> hibás.
index_start=Szívverés Monitor indítása
index_startmsg=Kattintson erre a gombra ha el szeretné indítani a szívverés monitort. Ez érvényesíti az automatikus szolgáltatás failover az Ön rendszerében az aktuális konfigurációval.
index_apply=Modosulások elfogadása
index_applymsg=Click this button to force the running szívverés monitor process to reload the current konfigurációuration.

conf_title=Konfigurációs beállítások
conf_header=Szívverés konfigurációs beállítások
conf_serial=Soros szívverés port
conf_baud=A soros port baud sebessége
conf_udp=Ethernet szívverés eszköz
conf_none=Nincs
conf_udpport=UDP szívverés port
conf_keepalive=A szívverések közti idõ
conf_secs=másodperc
conf_deadtime=Az idõ, miután a csomópont halottnak lesz tekintve
conf_watchdog=Watchdog eszköz file
conf_node=Hosztok a füzéren
node_edit=A fürtök erõforrásainak szerkesztése
node_header=Fürt erõforrásainak részletezése
node_node=Elsõszámú csomópontja az erõforrásoknak
node_ips=Az erõforrás IP címe
node_ip=IP címek
node_cidr=Hálózati maszk CIDR
node_broad=Üzenetszórás címe
node_servs=Az erõforrás szolgáltatás
node_serv=Szolgáltatás
node_args=Kiegészítõ paraméterek
node_err=Nem lehet menteni a fürt erõforrásokat
node_enone=Hibás vagy érvénytelen elsõdleges csomópont
node_eip='$1' nem valós IP cím
node_ecidr='$1' nem valós CIDR
node_ebroad='$1' nem valós üzenetszóró cím

auth_title=Hitelesítési kulcs
auth_header=Fürt csomópont hitelesítés
auth_mode=Hitelesítési mód
auth_crc=CRC (Nem biztonságos)
auth_sha1=SHA1 jelszóval
auth_md5=MD5 jelszóval
auth_err=Nem lehet menteni a hitelesítési kulcsot
auth_emd5=Hibás vagy érvénytelen MD5 jelszó
auth_esha1=Hibás vagy érvénytelen SHA1 jelszó

start_err=Nem lehet indítani a szívverést

apply_err=Nem lehet menteni a változásokat
apply_epid=A folyamat már nem fut

   07070100061f12000081a40000000000000002000000013d1fe2ea0000011e000000200000000000000000000000000000001c00000003reloc/heartbeat/module.info   category=cluster
depends=init 0.990
os_support=msc-linux redhat-linux open-linux slackware-linux debian-linux suse-linux corel-linux turbo-linux cobalt-linux mandrake-linux debian-linux freebsd generic-linux
desc=Heartbeat Monitor
version=0.990
desc_ca=Monitor Heartbeat
name=Heartbeat
  07070100061f13000081e40000000000000002000000013d1fe2e6000001db000000200000000000000000000000000000001e00000003reloc/heartbeat/save_auth.cgi #!/usr/local/bin/perl
# save_auth.cgi
# Save authentication settings

require './heartbeat-lib.pl';
&ReadParse();
&error_setup($text{'auth_err'});

$conf = &get_auth_config();
$conf->{'auth'} = [ $in{'auth'} ];
$i = 1;
foreach $k ('crc', 'sha1', 'md5') {
	if ($k eq 'crc') {
		$conf->{$i} = [ $k ];
		}
	else {
		$in{'auth'} != $i || $in{$k} =~ /^\S+$/ ||
			&error($text{"auth_e$k"});
		$conf->{$i} = [ $k, $in{$k} ];
		}
	$i++;
	}
&save_auth_config($conf);
&redirect("");

 07070100061f14000081e40000000000000002000000013d1fe2e60000099b000000200000000000000000000000000000001e00000003reloc/heartbeat/save_conf.cgi #!/usr/local/bin/perl
# save_conf.cgi
# Save configuration options

require './heartbeat-lib.pl';
&ReadParse();
@conf = &get_ha_config();
&error_setup($text{'conf_err'});

# Parse and validate inputs
&save_directive(\@conf, 'serial', $in{'serial'} ? [ $in{'serial'} ] : [ ] );

if ($in{'baud_def'}) {
	&save_directive(\@conf, 'baud', [ ]);
	}
else {
	$in{'baud'} =~ /^\d+$/ || &error($text{'conf_ebaud'});
	&save_directive(\@conf, 'baud', [ $in{'baud'} ]);
	}

if ($in{'udp_def'}) {
	&save_directive(\@conf, 'udp', [ ]);
	}
else {
	$in{'udp'} =~ /^\S+\d+$/ || &error($text{'conf_eudp'});
	&save_directive(\@conf, 'udp', [ $in{'udp'} ]);
	}

if ($in{'udpport_def'}) {
	&save_directive(\@conf, 'udpport', [ ]);
	}
else {
	$in{'udpport'} =~ /^\d+$/ || &error($text{'conf_eudpport'});
	&save_directive(\@conf, 'udpport', [ $in{'udpport'} ]);
	}

if ($in{'keepalive_def'}) {
	&save_directive(\@conf, 'keepalive', [ ]);
	}
else {
	$in{'keepalive'} =~ /^\d+$/ || &error($text{'conf_ekeepalive'});
	&save_directive(\@conf, 'keepalive', [ $in{'keepalive'} ]);
	}

if ($in{'deadtime_def'}) {
	&save_directive(\@conf, 'deadtime', [ ]);
	}
else {
	$in{'deadtime'} =~ /^\d+$/ || &error($text{'conf_edeadtime'});
	&save_directive(\@conf, 'deadtime', [ $in{'deadtime'} ]);
	}

if ($in{'watchdog_def'}) {
	&save_directive(\@conf, 'watchdog', [ ]);
	}
else {
	-r $in{'watchdog'} || &error($text{'conf_ewatchdog'});
	&save_directive(\@conf, 'watchdog', [ $in{'watchdog'} ]);
	}

@node = split(/\s+/, $in{'node'});
@node || &error($text{'conf_enonode'});
$uname = `uname -n 2>/dev/null`;
$uname =~ s/\r|\n//g;
foreach $n (@node) {
	$found++ if ($n eq $uname);
	}
!$uname || $found || &error(&text('conf_ethisnode', "<tt>$uname</tt>"));
&save_directive(\@conf, 'node', \@node);

if ($in{'logfile_def'}) {
	&save_directive(\@conf, 'logfile', [ ]);
	}
else {
	$in{'logfile'} =~ /^\S+$/ || &error($text{'conf_elogfile'});
	&save_directive(\@conf, 'logfile', [ $in{'logfile'} ]);
	}

if ($in{'logfacility_def'}) {
	&save_directive(\@conf, 'logfacility', [ ]);
	}
else {
	&save_directive(\@conf, 'logfacility', [ $in{'logfacility'} ]);
	}

if ($in{'initdead_def'}) {
	&save_directive(\@conf, 'initdead', [ ]);
	}
else {
	$in{'initdead'} =~ /^\d+$/ || &error($text{'conf_einitdead'});
	$in{'deadtime_def'} || $in{'initdead'} >= $in{'deadtime'}*2 ||
		&error($text{'conf_einitdead2'});
	&save_directive(\@conf, 'initdead', [ $in{'initdead'} ]);
	}

&flush_file_lines();
&redirect("");

 07070100061f15000081e40000000000000002000000013d1fe2e600000517000000200000000000000000000000000000001e00000003reloc/heartbeat/save_node.cgi #!/usr/local/bin/perl
# save_node.cgi
# Save a node in the resources file

require './heartbeat-lib.pl';
&ReadParse();
&error_setup($text{'node_err'});
if (!$in{'new'}) {
	@res = &list_resources();
	$res = $res[$in{'idx'}];
	}

if ($in{'delete'}) {
	# Just delete this resource
	&delete_resource($res);
	&redirect("edit_res.cgi");
	exit;
	}

# Validate and store inputs
$in{'node'} =~ /^(\S+)$/ || &error($text{'node_enode'});
for($i=0; defined($in{"ip_$i"}); $i++) {
	next if (!$in{"ip_$i"});
	&check_ipaddress($in{"ip_$i"}) ||
		&error(&text('node_eip', $in{"ip_$i"}));
	local @ip = ( $in{"ip_$i"} );
	if (!$in{"cidr_def_$i"}) {
		$in{"cidr_$i"} =~ /^(\d+)$/ ||
			&error(&text('node_ecidr', $in{"cidr_$i"}));
		push(@ip, $in{"cidr_$i"});
		if (!$in{"broad_def_$i"}) {
			&check_ipaddress($in{"broad_$i"}) ||
				&error(&text('node_ebroad', $in{"broad_$i"}));
			push(@ip, $in{"broad_$i"});
			}
		}
	push(@ips, join("/", @ip));
	}
for($i=0; defined($in{"serv_$i"}); $i++) {
	next if (!$in{"serv_$i"});
	push(@servs, join("::", $in{"serv_$i"}, split(/\s+/, $in{"args_$i"})));
	}

# Create or update the resource
$res->{'node'} = $in{'node'};
$res->{'ips'} = \@ips;
$res->{'servs'} = \@servs;
if ($in{'new'}) {
	&create_resource($res);
	}
else {
	&modify_resource($res);
	}
&redirect("edit_res.cgi");

 07070100061f16000081e40000000000000002000000013d1fe2e6000000ef000000200000000000000000000000000000001a00000003reloc/heartbeat/start.cgi #!/usr/local/bin/perl
# start.cgi
# Start the heartbeat process

require './heartbeat-lib.pl';
&error_setup($text{'start_err'});
$out = &backquote_logged("$config{'start_cmd'} 2>&1 </dev/null");
if ($?) {
	&error($out);
	}
&redirect("");

 0707010003e274000081e40000000000000002000000013d1fe2b700000850000000200000000000000000000000000000000f00000003reloc/help.cgi    #!/usr/local/bin/perl
# help.cgi
# Displays help HTML for some module, with substitutions

require './web-lib.pl';
&init_config();
&error_setup($text{'help_err'});
$ENV{'PATH_INFO'} !~ /[\\\&\;\`\'\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'help_epath'});
$ENV{'PATH_INFO'} =~ /^\/(\S+)\/(\S+)$/ || &error($text{'help_epath'});
$module = $1; $file = $2;

# if it ends with .gif assume it is a direct URL
if ($file =~ /\.gif$/) {
	&redirect("$module/$file");
	exit;
}

# read the help file
$path = &help_file($module, $file);
@st = stat($path);
open(HELP, $path) || &helperror(&text('help_efile', $path));
read(HELP, $help, $st[7]);
close(HELP);

# find and replace the <header> section
if ($help =~ s/<header>([^<]+)<\/header>/<center><h1>$1<\/h1><\/center><hr>/) {
	&header($1);
	}
else {
	&helperror($text{'help_eheader'});
	}

# find and replace <include> directives
$help =~ s/<include\s+(\S+)>/inchelp($1)/ge;

# find and replace <if><else> directives
$help =~ s/<if\s+([^>]*)>([\000-\177]*?)<else>([\000-\177]*?)<\/if>/ifhelp($1, $2, $3)/ge;

# find and replace <if> directives
$help =~ s/<if\s+([^>]*)>([\000-\177]*?)<\/if>/ifhelp($1, $2)/ge;

# find and replace <exec> directives
$help =~ s/<exec\s+([^>]*)>/exechelp($1)/ge;

# output the HTML
print $help;
&footer();

# inchelp(path)
sub inchelp
{
if ($_[0] =~ /^\/(\S+)\/(\S+)$/) {
	# including something from another module..
	}
else {
	# including from this module
	local $ipath = &help_file($module, $_[0]);
	@st = stat($ipath);
	open(INC, $ipath) ||
		return "<i>".&text('help_einclude', $_[0])."</i><br>\n";
	read(INC, $inc, $st[7]);
	close(INC);
	return $inc;
	}
}

# ifhelp(perl, text, [elsetext])
sub ifhelp
{
local $rv = eval $_[0];
if ($@) { return "<i>".&text('help_eif', $_[0], $@)."</i><br>\n"; }
elsif ($rv) { return $_[1]; }
else { return $_[2]; }
}

# exechelp(perl)
sub exechelp
{
local $rv = eval $_[0];
if ($@) { return "<i>".&text('help_eexec', $_[0], $@)."</i><br>\n"; }
else { return $rv; }
}

sub helperror
{
&header($text{'error'});
print "<center><h2>$text{'error'}</h2></center>\n";
print "<hr><p><b>",@_,"</b><p><hr>\n";
exit;
}

07070100067aa4000041ed0000000000000001000000053d1ffa4700000000000000200000000000000000000000000000001200000003reloc/hpuxexports 07070100067aa5000081e40000000000000002000000013d1fe2d500000056000000200000000000000000000000000000001e00000003reloc/hpuxexports/config-hpux exports_file=/etc/exports
restart_command=exportfs -au; exportfs -a
export_style=hpux
  07070100067aa6000081a40000000000000002000000013d1fe2d50000005c000000200000000000000000000000000000001e00000003reloc/hpuxexports/config.info exports_file=Exported filesystems file,0
restart_command=Command to restart export server,0
07070100067aa7000081a40000000000000002000000013d1fe2d50000007a000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.ca  exports_file=Fitxer de sistemes de fitxers exportats,0
restart_command=Ordre per reiniciar el servidor d'exportacions,0


  07070100067aa8000081a40000000000000002000000013d1fe2d50000006f000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.de  exports_file=Datei mit exportierten Dateisystemen,0
restart_command=Kommando zum Neustart des Export Servers,0
 07070100067aa9000081a40000000000000002000000013d1fe2d50000007b000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.es  exports_file=Archivo de sistema de archivos exportado,0
restart_command=Comando para rearrancar servidor de exortaciones,0
 07070100067aaa000081a40000000000000002000000013d1fe2d50000006f000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.fr  exports_file=Fichier des systèmes de fichier exporté,0
restart_command=Commande pour redémarrer le serveur,0
 07070100067aab000081a40000000000000002000000013d1fe2d50000004f000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.pl  exports_file=Plik 'exports',0
restart_command=Polecenie restartu serwera NFS,0
 07070100067aac000081a40000000000000002000000013d1fe2d500000073000000200000000000000000000000000000002400000003reloc/hpuxexports/config.info.ru_RU   exports_file=Ôàéë ñî ñïèñêîì ýêñïîðòèðîâàííûõ ôàéëîâûõ ñèñòåì,0
restart_command=Êîìàíäà äëÿ ðåñòàðòà ñåðâåðà NFS,0
 07070100067aad000081a40000000000000002000000013d1fe2d500000073000000200000000000000000000000000000002400000003reloc/hpuxexports/config.info.ru_SU   exports_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ,0
restart_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÓÔÁÒÔÁ ÓÅÒ×ÅÒÁ NFS,0
 07070100067aae000081a40000000000000002000000013d1fe2d500000067000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.sv  exports_file=Fil med exporterade filsystem,0
restart_command=Kommando för att starta om exportserver,0
 07070100067aaf000081a40000000000000002000000013d1fe2d500000067000000200000000000000000000000000000002100000003reloc/hpuxexports/config.info.tr  exports_file=Sunulan dosya sistemleri dosyasý,0
restart_command=NFS sunucusu yeniden baþlatma komutu,0
 07070100067ab0000081a40000000000000002000000013d1fe2d50000004d000000200000000000000000000000000000002400000003reloc/hpuxexports/config.info.zh_CN   exports_file=±»Êä³öµÄÎÄ¼þÏµÍ³ÎÄ¼þ,0
restart_command=ÖØÐÂÆô¶¯Êä³ö·þÎñÆ÷ÃüÁî,0
   07070100067ab1000081a40000000000000002000000013d1fe2d500000076000000200000000000000000000000000000002900000003reloc/hpuxexports/config.info.zh_TW.Big5  exports_file=NFS ¶×¥XÀÉ®×¦ì¸m,0
export_all_command=¶×¥X©Ò¦³¥Ø¿ýªº«ü¥O,0
unexport_all_command=¨ú®ø¶×¥X©Ò¦³¥Ø¿ýªº«ü¥O,0
  07070100067ab2000081e40000000000000002000000013d1fe2d500000099000000200000000000000000000000000000002400000003reloc/hpuxexports/delete_export.cgi   #!/usr/local/bin/perl
# delete_share.cgi
# Delete a share

require './hpuxexports-lib.pl';
&ReadParse();
&delete_export($in{directory});
&redirect("");

   07070100067ab3000081e40000000000000002000000013d1fe2d500000728000000200000000000000000000000000000002200000003reloc/hpuxexports/edit_export.cgi #!/usr/local/bin/perl
# edit_export.cgi
# Allow editing of one export to a client

require './exports-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'create_title'}, "", "create_export");
	}
else {
	&header($text{'edit_title'}, "", "edit_export");
	@exps = &list_exports();
	$exp = $exps[$in{'idx'}];
	%opts = %{$exp->{'options'}};
	}
print "<hr>\n";

print "<form action=save_export.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<td colspan=3><input name=dir size=40 value=\"$exp->{'dir'}\">",
        &file_chooser_button("dir", 1),"</td> </tr>\n";

print "<tr> <td>",&hlink("<b>$text{'edit_active'}</b>","active"),"</td>\n";
printf "<td colspan=3><input type=radio name=active value=1 %s> %s\n",
        $in{'new'} || $exp->{'active'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=active value=0 %s> %s</td> </tr>\n",
        $in{'new'} || $exp->{'active'} ? '' : 'checked', $text{'no'};

&more_detail_fields();

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_security'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&security_fields();

print "</table></td></tr></table>\n";
if (!$in{'new'}) {
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n";
	print "</tr></table>\n";
	}
else {
	print "<input type=hidden name=new value=1>\n";
	print "<input type=submit value=\"$text{'create'}\">\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

07070100067ab4000081a40000000000000002000000013d1fe2d500000c31000000200000000000000000000000000000002100000003reloc/hpuxexports/exports-lib.pl  # export-lib.pl
# Common functions for exports file

do '../web-lib.pl';
&init_config();
do "hpux-lib.pl";
%access = &get_module_acl();

# parse_options($options, \%options)
# Parse a mount options string like rw=foo,nosuid,... into a associative
# options array. Parts with no value are given an empty string as the value
# usefull for HPUX and DFS - perhaps for linux, too
sub parse_options
{
local($opt);
foreach $opt (split(/,/, $_[0])) {
        if ($opt =~ /^([^=]+)=(.*)$/) {
                $_[1]->{$1} = $2;
                }
        else {
                $_[1]->{$opt} = "";
                }
        }
}


# join_options(\%options)
# Returns a list of options from a options array, in the form used in
# the exports file
# usefull for HPUX and DFS - perhaps for linux, too
sub join_options
{
local $o = $_[0];
local(@list, $k);
foreach $k (keys %$o) {
        if ($_[0]->{$k} eq "") {
                push(@list, $k);
                }
        else {
                push(@list, "$k=$_[0]->{$k}");
                }
        }
return join(',', @list);
}

# create_export(&export)
sub create_export
{
open(EXP, ">>$config{'exports_file'}");
print EXP &make_exports_line($_[0]),"\n";
close(EXP);
}


# modify_export(&export, &old)
sub modify_export
{
local @exps = &list_exports();
local @same = grep { $_->{'line'} eq $_[1]->{'line'} } @exps;
local $lref = &read_file_lines($config{'exports_file'});
if ($_[0]->{'dir'} eq $_[1]->{'dir'} &&
    $_[0]->{'active'} == $_[1]->{'active'} || @same == 1) {
        # directory not changed, or on a line of it's own
        splice(@same, &indexof($_[1],@same), 1, $_[0]);
        splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'}-$_[1]->{'line'}+1,
               &make_exports_line(@same));
        }
else {
        # move to a line of it's own
        splice(@same, &indexof($_[1],@same), 1);
        splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'}-$_[1]->{'line'}+1,
               &make_exports_line(@same));
        push(@$lref, &make_exports_line($_[0]));
        }
&flush_file_lines();
}


# delete_export(&export)
# Delete an existing export
sub delete_export
{
local @exps = &list_exports();
local @same = grep { $_ ne $_[0] && $_->{'line'} eq $_[0]->{'line'} } @exps;
local $lref = &read_file_lines($config{'exports_file'});
if (@same) {
        # other exports on the same line.. cannot totally delete
        splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'}-$_[0]->{'line'}+1,
               &make_exports_line(@same));
        map { $_->{'line'} = $_->{'eline'} = $_[0]->{'line'} } @same;
        }
else {
        # remove export line
        splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'}-$_[0]->{'line'}+1);
        }
@list_exports_cache = grep { $_ ne $_[0] } @list_exports_cache;
&flush_file_lines();
}


# check_hosts(option, hostlist)
# Die if any of the listed hosts does not exist
# or no hosts listed for specified option
sub check_hosts
{
local @h = split(/\s+/, $_[1]);

if (!@h) {
        &error(&text('save_enohost', $_[0]));
        }

foreach (@h) {
        if (!inet_aton($_)) { &error(&text('save_ehost', $_, $_[0])); }
        }
}

1;

   0707010006a802000041ed0000000000000001000000023d1ffa4600000000000000200000000000000000000000000000001700000003reloc/hpuxexports/help    0707010006a803000081a40000000000000002000000013d1fe2d50000008c000000200000000000000000000000000000002600000003reloc/hpuxexports/help/active.ca.html <header>Actiu</header>

Controla si l'exportació NFS està activada o no. Si és no, l'entrada
es comenta al fitxer <tt>exports</tt>.

<hr>


0707010006a804000081a40000000000000002000000013d1fe2d5000000ad000000200000000000000000000000000000002600000003reloc/hpuxexports/help/active.es.html <header>Activa?</header>

Controla si esta exportación NFS está activa o no. Si no lo está, la línea del archivo
<tt>exports</tt> con dicha exportación es comentada. 
<hr>

   0707010006a805000081a40000000000000002000000013d1fe2d50000008e000000200000000000000000000000000000002300000003reloc/hpuxexports/help/active.html    <header>Active?</header>

Controls whether this NFS export is active or not. If not, it is commented
out in the <tt>exports</tt> file. 
<hr>

  0707010006a806000081a40000000000000002000000013d1fe2d5000000a2000000200000000000000000000000000000002600000003reloc/hpuxexports/help/active.pl.html <header>Aktywne?</header>

Okre¶la, czy to udostêpnianie po NFS jest aktywne, czy nie. Nieaktywno¶æ
polega na wykomentowaniu w&nbsp; pliku <tt>exports</tt>.
<hr>
  0707010006a807000081a40000000000000002000000013d1fe2d5000000ad000000200000000000000000000000000000002600000003reloc/hpuxexports/help/active.sv.html <header>Aktiverad?</header>

Anger om denna NFS-exportering är aktiverad eller ej. Om den inte är
aktiverad kommer den att kommenteras bort i <tt>exports</tt>-filen. 
<hr>

   0707010006a808000081a40000000000000002000000013d1fe2d500000073000000200000000000000000000000000000002e00000003reloc/hpuxexports/help/active.zh_TW.Big5.html <header>¬O§_±Ò°Ê?</header>

±±¨î NFS ¶×¥X¬O§_­n±Ò°Ê. ¦pªG¿ï¾Ü§_, ³o±N·|§â <tt>exports</tt> ¤¤¬ÛÃöªº¦æµù¸Ñ±¼ 
<hr>

 0707010006a809000081a40000000000000002000000013d1fe2d5000000e4000000200000000000000000000000000000002400000003reloc/hpuxexports/help/anon.ca.html   <header>Usuari Anònim</header>

Quan l'usuari root d'un client no és a la llista d'accessos de fitxers
d'<a href=root_access>Accés root</a> d'aquesta exportació, l'usuari root
serà tractat com l'usuari seleccionat aquí.

<hr>


0707010006a80a000081a40000000000000002000000013d1fe2d5000000fc000000200000000000000000000000000000002400000003reloc/hpuxexports/help/anon.es.html   <header>Usuario Anónimo</header>

Cuando el usuario root de un cliente que no está en la lista de
<a href=root_access>Acceso de Root</a> accede a archivos de esta compartición,
el usuario root será tratado como el usuario que seleccionemos aquí.
<hr>

0707010006a80b000081a40000000000000002000000013d1fe2d5000000eb000000200000000000000000000000000000002400000003reloc/hpuxexports/help/anon.fr.html   <header>Usager Anonyme</header>

Quand l'usager 'root' sur un client qui n'a pas <a href=root_access>l'Accès Root</a> dans la liste d'accès aux fichiers de ce partage, l'usager root sera traité comme l'usager sélectionné ici.
<hr>
 0707010006a80c000081a40000000000000002000000013d1fe2d5000000d9000000200000000000000000000000000000002100000003reloc/hpuxexports/help/anon.html  <header>Anonymous User</header>

When the root user on a client that is not on the <a href=root_access>Root
Access</a> list accesses files on this share, the root user will be
treated as the user selected here.
<hr>

   0707010006a80d000081a40000000000000002000000013d1fe2d50000010c000000200000000000000000000000000000002400000003reloc/hpuxexports/help/anon.pl.html   <header>U¿ytkownik anonimowy</header>

Gdy u¿ytkownik <tt>root</tt> stacji klienckiej, która nie znajduje siê na
li¶cie <a href=root_access>Dostêpu dla root-a</a> uzyska dostêp do plików
tego zasobu, u¿ytkownik ten bêdzie traktowany jak u¿ytkownik tutaj podany.
<hr>

0707010006a80e000081a40000000000000002000000013d1fe2d5000000fc000000200000000000000000000000000000002400000003reloc/hpuxexports/help/anon.sv.html   <header>Anonym användare</header>

Om en root på en klient som inte finns på <a href=root_access>Root-tillgång</a>-listanförsöker komma åt filer på denna delade resurs, kommer denna root att ha samma rättigheter som den användare du angivit här.
<hr>

0707010006a80f000081a40000000000000002000000013d1fe2d50000008d000000200000000000000000000000000000002c00000003reloc/hpuxexports/help/anon.zh_TW.Big5.html   <header>°Î¦W¨Ï¥ÎªÌ</header>

·í«È¤áºÝªº root ¨Ï¥ÎªÌ¤£¦b <a href=root_access>Root ¦s¨ú</a>¦Cªí¤¤®É, ³o­Ó root ±N³Q·í§@³oÃä¿ï¾Üªº¨Ï¥ÎªÌ.
<hr>

   0707010006a810000081a40000000000000002000000013d1fe2d50000044d000000200000000000000000000000000000002500000003reloc/hpuxexports/help/async.ca.html  <header>Escriptures asíncrones</header>

"Sí" - Les escriptures sobre el servidor es realitzen de forma asíncrona.
Quan el client NFS envia una petició d'escriptura a un servidor NFS,
el servidor retorna una resposta afirmativa al client abans d'escriure 
res al seu disc. Llavors, el client pot enviar una altra petició
d'escriptura sense haver completat l'anterior.
El rendiment amb escriptura asíncrona és millor que el de l'escriptura
síncrona. No obstant, si cau el servidor després d'enviar la resposta 
afirmativa al client i abans d'escriure les dades al disc, les dades
es perden i el client no en té constància.
<p>
"No" - Les escriptures sobre el servidor es realitzen de forma síncrona.
Quan el client NFS envia una petició d'escriptura a un servidor NFS,
el servidor escriu les dades al seu disc abans de retornar una resposta
afirmativa al client. El client s'ha d'esperar que el servidor hagi
acabat d'escriure les dades abans d'enviar una altra petició d'escriptura.
El rendiment de l'escriptura síncrona no és tant bo com el de l'escriptura
asíncrona.
<p>
Per defecte, és "No".
<hr>

   0707010006a811000081a40000000000000002000000013d1fe2d50000040d000000200000000000000000000000000000002200000003reloc/hpuxexports/help/async.html <header>Asynchronous writes</header>

"Yes" - Writes to the server are done asynchronously.
When your NFS client sends a write request to an NFS
server, the server returns a positive response to your client
before writing any data to its disk. Your client can then send
another write request without waiting for the server to
complete the previous write.
Write performance is better with asynchronous writes than
with synchronous writes. However, if the server crashes
after sending the positive response to the client but before
writing the data to disk, the data is lost, and the client is not
notified.
<p>
"No" - Writes to the server are done synchronously. When
your NFS client sends a write request to an NFS server, the
server writes the data to its disk before returning a positive
response to your client. Your client must wait until the server
writes the data to disk before it can send another write
request.
Write performance is not as good with synchronous writes
as with asynchronous writes.
<p>
The default is "No".
<hr>

   0707010006a812000081a40000000000000002000000013d1fe2d50000041d000000200000000000000000000000000000002500000003reloc/hpuxexports/help/async.pl.html  <header>Asynchroniczny zapis</header>

"Tak" - Operacje zapisu na serwerze bêd± siê odbywa³y asynchronicznie. Gdy
klient NFS-u wy¶le do serwera ¿±danie zapisu, serwer zwróci klientowi
odpowied¼ pozytywn± zanim zapisze jakiekolwiek dane na dysku. Klient mo¿e
wówczas wys³aæ inne ¿±danie zapisu bez oczekiwania na zakoñczenie przez
serwer poprzedniego zapisu. Przy zapisie asynchronicznym wydajno¶æ zapisu
jest lepsza ni¿ przy zapisie synchronicznym. Jednak¿e, je¶li serwer ulegnie
awarii po wys³aniu pozytywnej odpowiedzi do klienta, ale przed zapisaniem
danych na dysku, dane zostan± stracone a klient nie zostanie o&nbsp;tym
powiadomiony. <p>

"Nie" - Operacje zapisu bêd± siê odbywa³y synchronicznie. Gdy klient NFS-u
wy¶le ¿±danie zapisu do serwera, serwer zapisze dane na dysku przed
zwróceniem klientowi pozytywnej odpowiedzi. Klient musi czekaæ, a¿ serwer
zapisze dane na dysku, zanim bêdzie móg³ wys³aæ inne ¿±danie zapisu.
Wydajno¶æ zapisu synchronicznego nie jest tak dobra jak zapisu
asynchronicznego. <p>

Warto¶ci± domy¶ln± jest "Nie".
<hr>
   0707010006a813000081a40000000000000002000000013d1fe2d50000008a000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/create_export.ca.html  <header>Creació d'Exportació</header>

Aquesta pàgina permet especificar un directori per exportar i el client
al qual s'exporta.

<hr>


  0707010006a814000081a40000000000000002000000013d1fe2d500000090000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/create_export.es.html  <header>Crear Exportación</header>

Esta página te permite especificar un directorio a ser exportado y el
cliente al cual será exportado.
<hr>

0707010006a815000081a40000000000000002000000013d1fe2d500000082000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/create_export.fr.html  <header>Créer un Partage</header>

Cette page vous permet de spécifier quel répertoire partagé et quel client y a accès.
<hr>
  0707010006a816000081a40000000000000002000000013d1fe2d500000089000000200000000000000000000000000000002a00000003reloc/hpuxexports/help/create_export.html <header>Create Export</header>

This page allows you to specify a directory for exporting, and the client
to which it is exported.
<hr>

   0707010006a817000081a40000000000000002000000013d1fe2d5000000a2000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/create_export.pl.html  <header>Nowe udostêpnianie</header>

Ta strona pozwala ci na okre¶lenie katalogu, który chcesz udostêpniaæ oraz
klienta, dla którego ma on byæ udostêpniony.
<hr>
  0707010006a819000081a40000000000000002000000013d1fe2d500000091000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/create_export.sv.html  <header>Lägg till exportering</header>

På denna sida anger du en katalog som ska exporteras och den klient
som katalogen exporteras till.
<hr>

   0707010006a81b000081a40000000000000002000000013d1fe2d50000005b000000200000000000000000000000000000003500000003reloc/hpuxexports/help/create_export.zh_TW.Big5.html  <header>«Ø¥ß¶×¥X</header>

³o¤@­¶¤¹³\±z«ü©w¤@­Ó­n¶×¥Xªº¥Ø¿ý, »P«È¤áºÝªº¬ÛÃö¦s¨úÅv­­.
<hr>

 0707010006a81c000081a40000000000000002000000013d1fe2d500000062000000200000000000000000000000000000002400000003reloc/hpuxexports/help/desc.ca.html   <header>Descripció</header>

Una curta descripció humanament llegible d'aquesta exportació

<hr>

  0707010006a81d000081a40000000000000002000000013d1fe2d500000060000000200000000000000000000000000000002400000003reloc/hpuxexports/help/desc.es.html   <header>Descripción</header>

Una breve descripción humánamente legible para esta carpeta
<hr>

0707010006a81e000081a40000000000000002000000013d1fe2d50000004c000000200000000000000000000000000000002400000003reloc/hpuxexports/help/desc.fr.html   <header>Description</header>

Une petite description de ce partage
<hr>
0707010006a81f000081a40000000000000002000000013d1fe2d500000056000000200000000000000000000000000000002100000003reloc/hpuxexports/help/desc.html  <header>Description</header>

A short human-readable description for this share
<hr>

  0707010006a820000081a40000000000000002000000013d1fe2d50000004f000000200000000000000000000000000000002400000003reloc/hpuxexports/help/desc.pl.html   <header>Opis</header>

Krótki, zrozumia³y dla cz³owieka opis tego zasobu.
<hr>
 0707010006a821000081a40000000000000002000000013d1fe2d500000045000000200000000000000000000000000000002400000003reloc/hpuxexports/help/desc.sv.html   <header>Beskrivning</header>

Kort beskrivning av denna resurs
<hr>

   0707010006a822000081a40000000000000002000000013d1fe2d50000003e000000200000000000000000000000000000002c00000003reloc/hpuxexports/help/desc.zh_TW.Big5.html   <header>»¡©ú</header>

¤@­Óµ¹³o­Ó¤À¨ÉÂ²µuªº, ©öÅªªº»¡©ú
<hr>

  0707010006a823000081a40000000000000002000000013d1fe2d500000181000000200000000000000000000000000000002300000003reloc/hpuxexports/help/dir.ca.html    <header>Directori a exportar</header>

Aquest és el directori que s''exporta als clients llistats a la secció
<a href=client>Exporta a ...</a>. En contra del que fan altres servidors
NFS, Linux suporta la reexportació d'un directori que ja està muntat com
a NFS des d'un altre host, i també l'exportació d'un directori que
conté punts de muntatge d'altres sistemes de fitxers.

<hr>


   0707010006a824000081a40000000000000002000000013d1fe2d50000018a000000200000000000000000000000000000002300000003reloc/hpuxexports/help/dir.es.html    <header>Directorio a exportar</header>

Este es el directorio que es exportado a los clientes listados en la
sección <a href=client>Exportar a...</a>. Al contrario que otros servidores
NFS, Linux soporta la reexportación de un directorio que ha sido montado
mediante NFS desde otra máquina y la exportación de un directorio que
contiene puntos de montaje para otros sistemas de archivos.
<hr>

  0707010006a825000081a40000000000000002000000013d1fe2d500000159000000200000000000000000000000000000002300000003reloc/hpuxexports/help/dir.fr.html    <header>Répertoire à Partager</header>

Ceci est le répertoire qui sera partagé aux clients listés dans la section <a href=client>Partagé à</a>.  Contrairement aux autres serveurs NFS, Linux supporte le repartage de répertoire qui a déjà été monté par un autre hôte et de repartager à son tour du contenu de d'autre système de fichier.
<hr>
   0707010006a826000081a40000000000000002000000013d1fe2d50000015f000000200000000000000000000000000000002000000003reloc/hpuxexports/help/dir.html   <header>Directory to export</header>

This is the directory being exported to the clients listed in the
<a href=client>Export to..</a> section. Unlike other NFS servers, Linux
supports the re-exporting of a directory that has been NFS mounted from
another host, and the exporting of a directory that contains mount points
for other filesystems.
<hr>

 0707010006a827000081a40000000000000002000000013d1fe2d50000015c000000200000000000000000000000000000002300000003reloc/hpuxexports/help/dir.pl.html    <header>Udostêpniany katalog</header>

To jest nazwa katalogu udostêpnianego klientom wymienionym w&nbsp;pozycji
<a href=client>Udostêpniaj dla..</a>. W&nbsp;odró¿nieniu od innych sewrerów
NFS-u, Linux potrafi udostêpniaæ katalog podmontowany po NFS-ie
z&nbsp;innego komputera, jak te¿ katalog, który zawiera podmontowane inne
systemy plików.
<hr>
0707010006a828000081a40000000000000002000000013d1fe2d500000156000000200000000000000000000000000000002300000003reloc/hpuxexports/help/dir.sv.html    <header>Katalog att exportera</header>

Detta är den katalog som exporteras till de klienter som anges i
<a href=client>Exportera till ...</a>-stycket. Till skillnad från
andra NFS-servrar går det i Linux att exportera en katalog som redan
har NFS-monterats av en annan dator eller som innehåller
monteringspunkter för andra filsystem.
<hr>

  0707010006a829000081a40000000000000002000000013d1fe2d5000000f1000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/dir.zh_TW.Big5.html    <header>­n¶×¥Xªº¥Ø¿ý</header>


³o¬O±N­n¶×¥Xµ¹¦b<a href=client>¶×¥Xµ¹...</a>¦Cªí¤¤¥D¾÷ªº¥Ø¿ý. ¤£¹³¨ä¥Lªº NFS ¦øªA¾¹, Linux ¤ä´©§â±q¨ä¥L¥D¾÷±¾¸ü±o¨ìªº¥Ø¿ý¦A¤@¦¸ªº¶×¥X; ¦Ó¥B¶×¥Xªº¥Ø¿ý±N¥]§t¤U­±©Ò¦³ªº¤l¥Ø¿ý, §Y¨Ï¬O¦s©ñ©ó¨ä¥LªºÀÉ®×¨t²Î¤¤.
<hr>

   0707010006a82a000081a40000000000000002000000013d1fe2d5000000a7000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/edit_export.ca.html    <header>Edició d'Exportació</header>

Aquesta pàgina permet canviar les opcions d'un directori actualment exportat
a algun client, o bé suprimir l'exportació.

<hr>


 0707010006a82b000081a40000000000000002000000013d1fe2d5000000a3000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/edit_export.es.html    <header>Editar Exportación</header>

Esta página te permite cambiar las opciones para un directorio ya exportado
para algún cliente o borrar la exportación.
<hr>

 0707010006a831000081a40000000000000002000000013d1fe2d5000000a3000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/edit_export.fr.html    <header>Éditer un Partage</header>

Cette page vous permet de changer les options d'un répertoire partagé pour certain client ou de supprimer ce partage.
<hr>
 0707010006a832000081a40000000000000002000000013d1fe2d50000009c000000200000000000000000000000000000002800000003reloc/hpuxexports/help/edit_export.html   <header>Edit Export</header>

This page allows you to change the options for a currently exported
directory for some client, or to delete the export.
<hr>

0707010006a833000081a40000000000000002000000013d1fe2d5000000ba000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/edit_export.pl.html    <header>Zmieñ udostêpnianie</header>

Ta strona pozwala ci na zmianê parametrów udostêpniania dla pewnego klienta
dla aktualnie udostêpnianego katalogu lub zakoñczyæ udostêpnianie.
<hr>
  0707010006a834000081a40000000000000002000000013d1fe2d50000008a000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/edit_export.sv.html    <header>Ändra exportering</header>

På denna sida kan du ändra inställningarna för en exporterad katalog
och ta bort exporteringen.
<hr>

  0707010006a835000081a40000000000000002000000013d1fe2d500000069000000200000000000000000000000000000003300000003reloc/hpuxexports/help/edit_export.zh_TW.Big5.html    <header>½s¿è¶×¥X</header>

³o¤@­¶¤¹³\±z¥i¥H§ïÅÜ¥Ø«e¶×¥Xµ¹¬Y¨Ç¥D¾÷¤§¥Ø¿ýªº¬ÛÃö¿ï¶µ, ©Î§R°£³o­Ó¶×¥X.
<hr>

   0707010006a836000081a40000000000000002000000013d1fe2d5000000cb000000200000000000000000000000000000002400000003reloc/hpuxexports/help/help.ca.html   <body bgcolor=#ffffff>
<h1>L'ajuda d'aquest mòdul no està disponible</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 


 0707010006a837000081a40000000000000002000000013d1fe2d5000000d1000000200000000000000000000000000000002400000003reloc/hpuxexports/help/help.es.html   <body bgcolor=#ffffff>
<h1>La ayuda de este módulo aún no está disponible</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Volver al módulo</a><p>
 

   0707010006a838000081a40000000000000002000000013d1fe2d5000000c8000000200000000000000000000000000000002100000003reloc/hpuxexports/help/help.html  <body bgcolor=#ffffff>
<h1>Help for this module is not available</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

0707010006a839000081a40000000000000002000000013d1fe2d5000000c9000000200000000000000000000000000000002400000003reloc/hpuxexports/help/help.sv.html   <body bgcolor=#ffffff>
<h1>Det finns ingen hjälp till denna modul</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

   0707010006a83a000081a40000000000000002000000013d1fe2d5000000af000000200000000000000000000000000000002c00000003reloc/hpuxexports/help/help.zh_TW.Big5.html   <body bgcolor=#ffffff>
<h1>³o­Ó¼Ò²Õªº»¡©ú¤£¦s¦b</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>
 

 0707010006a83b000081a40000000000000002000000013d1fe2d5000000fd000000200000000000000000000000000000002500000003reloc/hpuxexports/help/index.ca.html  <header>Fitxer d'índex WebNFS</header>

Si aquesta exportació està disponible via WebNFS, aquesta opció permet
establir el nom del fitxer que es retornarà quan es demana un directori.
Típicament, això és alguna cosa com ara <tt>index.html</tt>.

<hr>


   0707010006a83c000081a40000000000000002000000013d1fe2d500000122000000200000000000000000000000000000002500000003reloc/hpuxexports/help/index.es.html  <header>Archivo índice de WebNFS</header>

Si esta compartición es puesta como disponible a través de WebNFS, esta
opción  te permite poner el nombre del archivo que será devuelto si se
realiza un requerimiento para un directorio. Típicamente esto será algo
como <tt>index.html</tt>.
<hr>

  0707010006a83d000081a40000000000000002000000013d1fe2d500000107000000200000000000000000000000000000002500000003reloc/hpuxexports/help/index.fr.html  <header>Fichier Index WebNFS</header>

Si ce partage est accessible via WebNFS, cette option vous permet de définir le nom du fichier qui va être retourné si une requête est faite sur ce répertoire.  Généralement quelque chose comme <tt>index.html</tt>.
<hr>
 0707010006a83e000081a40000000000000002000000013d1fe2d500000100000000200000000000000000000000000000002200000003reloc/hpuxexports/help/index.html <header>WebNFS index file</header>

If this share is made available via WebNFS, this option allows you to
set the name of the file that will be returned if a request is made for
a directory. Typically this will be something like <tt>index.html</tt>.
<hr>

0707010006a83f000081a40000000000000002000000013d1fe2d50000011c000000200000000000000000000000000000002500000003reloc/hpuxexports/help/index.pl.html  <header>Plik indeksowy WebNFS-u</header>

Je¶li ten zasób jest udostêpniony poprzez WebNFS, niniejsza opcja pozwala na
ustawianie nazwy pliku, który zostanie zwrócony, gdy zostanie otrzymane
¿±danie dotycz±ce katalogu. Zazwyczaj bêdzie to co¶ w&nbsp;rodzaju
<tt>index.html</tt>.
<hr>
0707010006a840000081a40000000000000002000000013d1fe2d5000000f7000000200000000000000000000000000000002500000003reloc/hpuxexports/help/index.sv.html  <header>WebNFS-indexfil</header>

Om denna resurs görs tillgänglig via WebNFS gör denna inställning att du kan namnge den fil som returneras som svar vid förfrågningar om kataloger.
Vanligen heter filen något i stil med <tt>index.html</tt>.
<hr>

 0707010006a841000081a40000000000000002000000013d1fe2d5000000a4000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/index.zh_TW.Big5.html  <header>WebNFS ¯Á¤ÞÀÉ®×</header>

¦pªG³o­Ó¤À¨É¬O³]¦¨¥i¥H³q¹L WebNFS ¤À¨É, ³o­Ó¿ï¶µ¥i¥HÅý±z³]©w¹ï¥Ø¿ý¦³­n¨D®É¦^À³ªºÀÉ®×. ¤@¯ë¦Ó¨¥³£·|³]¦¨ <tt>index.html</tt>.
<hr>

0707010006a842000081a40000000000000002000000013d1fe2d500000407000000200000000000000000000000000000002500000003reloc/hpuxexports/help/intro.ca.html  <header>Introducció a les Exportacions NFS</header>

<include nfs>

<h3>NFS de HPUX</h3>
Aquest mòdul permet configurar directoris (anomenats <i>exportacions</i>
en HPUX) per tal que siguin compartits des del teu sistema a través de
NFS. La primera pàgina mostra una llista de directoris i els clients
als quals s'exporten, i permet que facis clic sobre un client per tal de
canviar-ne les opcions o començar l'exportació d'un nou directori.
<p>
Sota la llista d'exportacions de la primera pàgina hi ha un botó que
farà activa la configuració actual.
<p>
HPUX no permet reeexportar un directori NFS muntat des d'un altre servidor.
Només es poden exportar els directoris dels sistemes de fitxers locals.
Si un directori compartit conté el punt de muntatge d'un altre sistema
de fitxers local, els clients NFS no veuran els fitxers per sota d'aquest
punt de muntatge. El servidor ha de reexportar cada sistema de fitxers 
per separat, i els clients els han de muntar en els punts correctes
de la jerarquia de directoris.
<p>

<hr>


 0707010006a843000081a40000000000000002000000013d1fe2d50000004c000000200000000000000000000000000000002500000003reloc/hpuxexports/help/intro.es.html  <header>Introducción a Comparticiones NFS</header>

<include nfs.es>

<hr>

0707010006a845000081a40000000000000002000000013d1fe2d500000385000000200000000000000000000000000000002200000003reloc/hpuxexports/help/intro.html <header>Introduction to NFS Shares</header>

<include nfs>

<h3>HPUX NFS</h3>
This module allows you to configure directories (called <i>exports</i>
in HPUX) shared via NFS from your system. The first page
shows a list of directories and the clients they are exported to, allowing
you to click on the client to edit its options or start exporting
a new directory. <p>

Below the list of shares on the first page is a button which will
make the current configuration active. <p>

HPUX does not allow you to re-export a directory NFS mounted from
another server - only directories on filesystems can be exported. If
a shared directory contains the mount point of another local filesystem,
NFS clients of that share will not see files below that mount point.
The server must re-export each local filesystem separately, to be
mounted by clients at the correct point in the directory hierarchy. <p>

<hr>

   0707010006a844000081a40000000000000002000000013d1fe2d500000047000000200000000000000000000000000000002500000003reloc/hpuxexports/help/intro.fr.html  <header>Introduction Au Partage NFS</header>

<include nfs>

<hr>
 0707010006a846000081a40000000000000002000000013d1fe2d50000040b000000200000000000000000000000000000002500000003reloc/hpuxexports/help/intro.pl.html  <header>Udostêpnianie po NFS</header>

<include nfs>

<h3>NFS w&nbsp;HPUX</h3> 
Ten modu³ pozwala na skonfigurowanie katalogów (zwane w&nbsp;HPUX
<i>exports</i>) udostêpnianych przez Twój system poprzez NFS. Na pierwszej
stronie znajduje siê lista katalogów oraz klientów, dla których s± one
udostêpniane. Mo¿esz, poprzez klikniêcie na kliencie, zmieniæ jego opcje
lub rozpocz±æ udostêpnianie nowego katalogu. <p>

Poni¿ej listy zasobów na pierwszej stronie znajduje siê przycisk
uaktywniaj±cy bie¿±c± konfiguracjê. <p>

HPUX nie pozwala na ponowne udostêpnianie katalogów zamontowanych poprzez
NFS z&nbsp;innego serwera - mo¿na udostêpniaæ jedynie katalogi na systemach
plików. Je¶li udostêpniany katalog zawiera punkt montowania innego lokalnego
systemu plików, klient NFS-u dla tego zasobu nie zobaczy plików poni¿ej
wspomnianego punktu montowania. Serwer musi udostêpniæ ka¿dy lokalny system
plików osobno w&nbsp;celu ich zamontowania przez stacje klienckie we
w³a¶ciwych punktach montowania w&nbsp;hierarchii katalogów. <p>

<hr>
 0707010006a847000081a40000000000000002000000013d1fe2d500000046000000200000000000000000000000000000002500000003reloc/hpuxexports/help/intro.sv.html  <header>Introduktion till NFS-resurser</header>

<include nfs>

<hr>

  0707010006a848000081a40000000000000002000000013d1fe2d500000036000000200000000000000000000000000000002d00000003reloc/hpuxexports/help/intro.zh_TW.Big5.html  <header>NFS ¶×¥XªºÂ²¤¶</header>

<include nfs>

<hr>

  0707010006a849000081a40000000000000002000000013d1fe2d50000048f000000200000000000000000000000000000002300000003reloc/hpuxexports/help/nfs.ca.html    <h3>Introducció a NFS</h3>

NFS és el protocol d'exportació de fitxers estàndard dels sistemes Unix.
NFS permet que un sistema exporti un directori a través de la xarxa
a un o més hosts, permetent així que els usuaris i programes d'altres
hosts puguin accedir als fitxers exportats com si fossin locals.
<p>
Un servidor NFS és un sistema que exporta un o més directoris, mentre
que un client NFS és un sistema que munta un o més directoris des d'un
servidor. Un host pot un servidor NFS i un client d'altres servidors
al mateix temps.
<p>
Un servidor controla quins clients poden muntar un directori exportat
acarant l'adreça IP del client contra una llista de hosts permesos
pel directori en qüestió. El servidor també pot designar una exportació
com a només lectura per a certs clients.
<p>
Contràriament a altres sistemes de fitxers en xarxa, un client NFS
no s'ha d'identificar en muntar un directori exportat. El servidor
confia que el client està identificant els seus propis usuaris i
està subministrant l'ID de l'usuari en accedir als fitxers exportats.
Així doncs, és convenient que permetis l'accés només des de hosts
clients en els quals pot confiar.
<p>

 0707010006a84a000081a40000000000000002000000013d1fe2d50000050f000000200000000000000000000000000000002300000003reloc/hpuxexports/help/nfs.es.html    <h3>Introducción a NFS</h3>

NFS es el protocolo estándar para compartir archivos utilizado por los sistemas
Unix. NFS permite a un sistema exportar un directorio a través de la red a
una o más máquinas, permitiendo a los usuarios y a los programas de esas
máquinas acceder a los archivos exportados como si fueran locales. <p>

Un servidor NFS es un sistema que exporta uno o más directorios, mientras que
un cliente NFS es un sistema que monta uno o más directorios del servidor.
Una máquina puede ser a la vez servidor NFS y cliente de otros servidores. <p>

Un servidor controla qué clientes pueden montar un directorio exportado
mediante el chequeo de la dirección IP del cliente contra una lista de
máquinas autorizadas a acceder al directorio requerido. El servidor puede
tambien designar una exportación como de sólo-lectura o de sólo-lectura para
ciertos clientes. <p>

Al contrario que otros sistemas de archivos de red, un cliente NFS no tiene
porqué hacer login en el servidor cuando monta un directorio exportado. El
servidor confía en el cliente para autentificar a los usuario y para que
suministre la ID del usuario en curso cuando acceda a los archivos exportados.
De esta manera, sólo deberías permitir montar directorios exportados a
máquinas cliente en las que confíes. <p>

 0707010006a84b000081a40000000000000002000000013d1fe2d5000004ae000000200000000000000000000000000000002300000003reloc/hpuxexports/help/nfs.fr.html    <header>Introduction à NFS</header>

NFS est un protocole de partage de fichier standard utilisé sur les systèmes Unix.  NFS permet à un système de partager un répertoire sur un réseau à un autre hôte, permettant aux usagers et applications de l'hôte d'avoir accès aux fichiers partagé.<p>

Un serveur NFS est un système qui partage un ou plusieurs répertoire, tandis qu'un client NFS est un système qui monte un ou plusieurs répertoire d'un serveur.  Un hôte peut autant être client que serveur NFS d'un autre hôte.<p>

Un serveur contrôle quels clients peut monter un répertoire partagé en vérifiant l'adresse IP du client avec la liste des hôtes autorisé pour le répertoire demandé.  Le serveur peu aussi partagé en lecture seule ou désigner certains clients en lecture seulement.<p>

Contrairement aux autres systèmes de fichiers, un client NFS ne nécessite pas d'ouverture de session au serveur pour monter un répertoire partagé.  Le serveur fait confiant au client et authentifie les usagers en leurs donnant un numéro lors de l'accès au fichier partagé.  Ainsi, vous pouvez allouer seulement certain hôte client que vous faites confiance pour monter un répertoire partagé.<p>
<hr>
  0707010006a84c000081a40000000000000002000000013d1fe2d500000445000000200000000000000000000000000000002000000003reloc/hpuxexports/help/nfs.html   <h3>Introduction to NFS</h3>

NFS is the standard file-sharing protocol used by Unix systems. NFS allows
one system to export a directory across the network to one or more other
hosts, allowing users and programs on those hosts to access exported files
as though they were local. <p>

An NFS server is a system which exports one or more directories, while an NFS
client is a system that mounts one or more directories from a server. A
host can be both an NFS server and a client of other servers. <p>

A server controls which clients can mount an exported directory by checking
the IP address of the client against a list of allowed hosts for the
requested directory. The server can also designate an export read-only,
or read-only for certain clients. <p>

Unlike other network filesystems, an NFS client does not have to login to
the server when mounting an exported directory. The server trusts the client
to authenticate users and provide the ID of the current user when accessing
exported files.  Thus you should only allow client hosts that you trust to
mount exported directories. <p>

   0707010006a84d000081a40000000000000002000000013d1fe2d50000050c000000200000000000000000000000000000002300000003reloc/hpuxexports/help/nfs.pl.html    <h3>Wprowadzenie do NFS-u</h3>

NFS jest standardowym protoko³em wspó³dzielenia plików u¿ywanym przez
systemy uniksowe. Pozwala on systemowi udostêpniæ ("wyeksportowaæ") pewien
katalog poprzez sieæ dla jednego lub wiêcej komputerów, pozwalaj±c
u¿ytkownikom i&nbsp;programom na tych komputerach uzyskaæ dostêp do
udostêpnionych plików tak, jakby by³y one lokalne. <p>

Serwerem NFS-u jest system, który udostêpnia jeden lub wiêcej katalogów,
podczas gdy klientem jest system, który montuje jeden lub wiêcej katalogów
z&nbsp;serwera. Komputer mo¿e byæ jednocze¶nie serwerem oraz klientem innych
serwerów. <p>

Serwer okre¶la, którzy klienci mog± montowaæ udostêpniony katalog poprzez
porównanie adresu IP klienta z&nbsp;list± komputerów dopuszczonych do
¿±danego katalogu. Serwer mo¿e równie¿ okre¶liæ zasób jako tylko do odczytu
lub tylko do odczytu dla pewnych klientów. <p>

W odró¿nieniu od innych sieciowych systemów plików, klient NFS-u nie musi
siê logowaæ do serwera podczas montowania udostêpnionego katalogu. Serwer
wierzy, ¿e klient autoryzowa³ u¿ytkowników i&nbsp;okre¶li³ prawid³owy numer
ID aktualnego u¿ytkownika podczas dostêpu do udostêpnianych przez serwer
plików. Wobec tego powiniene¶ pozwoliæ na montowanie udostêpnianych zasobów
jedynie zaufanym komputerom klienckim. <p>
0707010006a84e000081a40000000000000002000000013d1fe2d500000476000000200000000000000000000000000000002300000003reloc/hpuxexports/help/nfs.sv.html    <h3>Introduktion till NFS</h3>

NFS är standardprotokollet för fildelning i Unix-system. Med NFS kan
ett system exportera en katalog över nätverket till en eller flera datorer,
så att användare och program på dessa datorer kan komma åt filer som om
de fanns på de lokala datorerna.

<p>En NFS-server är ett system som exporterar en eller flera kataloger
och en NFS-klient är ett system som monterar en eller flera kataloger
från en server. Samma dator kan vara både NFS-server och klient.

<p>Servern bestämmer om en klient får montera en exporterad katalog
genom att kontrollera IP-adressen för klienten mot en lista över
datorer som tillåts montera katalogen i fråga. Servern kan också göra
så att en katalog exporteras med enbart läsrättigheter, för alla klienter
eller vissa, namngivna.

<p>NFS-klienter behöver, till skillnad från andra filsystem över nätverk,
inte logga in på servern då en exporterad katalog ska monteras. Servern
litar på att klienten har kontrollerat användarens identitet och att denna
identitet bifogas förfrågningar. Därför kan det vara dumt att tillåta
montering från klienter som du inte fullständigt litar på.
  0707010006a84f000081a40000000000000002000000013d1fe2d50000029c000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/nfs.zh_TW.Big5.html    <h3>NFS Â²¤¶</h3>

NFS ¬O Unix ¨t²Î©Ò¨Ï¥Îªº¼Ð·ÇÀÉ®×¤À¨É³q°T¨ó©w. NFS ¤¹³\¤@­Ó¨t²Î±N¨ä¥Ø¿ý³z¹Lºô¸ô¤À¨Éµ¹¨ä¥Lªº¥D¾÷, ¤¹³\¦b¨ä¥L¥D¾÷¤Wªº¨Ï¥ÎªÌ©Îµ{¦¡¥i¥H¦s¨ú³Q¶×¥XªºÀÉ®×, ¨Ã»{¬°¸ÓÀÉ®×¬O¦b¥»¦aºÝ¨t²Î¤W. <p>

¤@­Ó NFS ¦øªA¾¹¬O¤@­Ó±N¤@­Ó©Î¦h­Ó¥Ø¿ý¶×¥Xªº¨t²Î, NFS «È¤áºÝ«h¬O±q¦øªA¾¹±¾¸ü¤@­Ó©Î¦h­Ó¥Ø¿ýªº¨t²Î. ¤@­Ó¥D¾÷¥i¥H¦P®É¬O NFS ¦øªA¾¹»P¨ä¥L¦øªA¾¹ªº«È¤áºÝ. <p>

¦øªA¾¹¸g¥ÑÀË¬d«È¤áºÝªº IP ¦ì¸m¬O§_¦b¦Cªí¤¤, ¥H¨M©w¸Ó«È¤áºÝ¬O§_¥i¥H±¾¸ü¶×¥Xªº¥Ø¿ý. ¦øªA¾¹¥i¥H¿ï¾Ü¥H°ßÅªªº¤è¦¡©Î¥iÅª¼gªº¤è¦¡¶×¥Xµ¹¯S©wªº«È¤áºÝ. <p>

¤£¹³¨ä¥Lªººô¸ôÀÉ®×¨t²Î, NFS «È¤áºÝ¦A±¾¸ü¥Ø¿ý®É, ¤£»Ý­nµn¤J¨ì¦øªA¾¹¤¤. ¦øªA¾¹±N«H¥ô¥i¥H¦s¨ú«È¤áºÝ¨t²Îªº¨Ï¥ÎªÌ¦s¨ú¶×¥Xªº¥Ø¿ý.©Ò¥H±zÀ³¸Ó¥u±N¥Ø¿ý¶×¥Xµ¹¥i«H¥ôªº¨t²Î. <p>

0707010006a850000081a40000000000000002000000013d1fe2d500000088000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/root_access.ca.html    <header>Accés root</header>

Especifica els clients remots els usuaris root dels quals tindran accés
root al directori exportat.

<hr>

0707010006a851000081a40000000000000002000000013d1fe2d500000086000000200000000000000000000000000000002800000003reloc/hpuxexports/help/root_access.html   <header>Root access</header>

Specify the remote clients whose root users will have root user
access to the exported directory.
<hr>

  0707010006a852000081a40000000000000002000000013d1fe2d5000000b9000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/root_access.pl.html    <header>Dostêp dla root-a</header>

Okre¶la zdalne stacje klienckie, z&nbsp;których u¿ytkownicy <tt>root</tt>
bêd± mieli prawa u¿ytkownika <tt>root</tt> do udostêpnianego zasobu.
<hr>

   0707010006a853000081a40000000000000002000000013d1fe2d500000158000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_gids.ca.html    <header>No confiïs en els GIDs</header>

Igual que <a href=squash_uids>No confiïs en els UIDs</a>, aquesta opció
et permet especificar una llista de GIDs dels clients per tractar-los
com a <a href=anongid>grups no fiables</a>. Has d'introduir una llista 
de GIDs o rangs de GIDs separats per comes, com ara <tt>1,10,20-25,100-150</tt>.

<hr>


0707010006a854000081a40000000000000002000000013d1fe2d500000149000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_gids.es.html    <header>GIDs no fiables</header>

Al igual que las <a href=squash_uids>UIDs no fiables</a>, esta opción
te permite especificar una lista de GIDs de cliente a ser tratados como el
<a href=anongid_es>grupo no fiable</a>. Debes de digitar una lista separada por
comas de GIDs o rangos de GID como <tt>1,10,20-25,100-150</tt>.
<hr>

   0707010006a855000081a40000000000000002000000013d1fe2d50000019a000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_gids.fr.html    <header>Ne Pas Faire Confiance Aux Numéros De Groupe</header>

Comme <a href=squash_uids>Ne pas faire confiance aux numéros de groupe</a>, cette option vous permet de spécifier une liste de groupe de client qui seront traité comme <a href=anonuid>usager insécure</a>. Vous devez entrer une liste séparée par des virgules des numéros de groupe ou des zones de numéro comme <tt>1,10,20-25,100-150</tt>.
<hr>
  0707010006a856000081a40000000000000002000000013d1fe2d500000128000000200000000000000000000000000000002800000003reloc/hpuxexports/help/squash_gids.html   <header>Don't trust GIDs</header>

Like <a href=squash_uids>Don't trust UIDs</a>, this option
allows you to specify a list of client GIDs to be treated as the
<a href=anongid>untrusted group</a>. You must enter a comma-separated list
of GIDs or GID ranges like <tt>1,10,20-25,100-150</tt>.
<hr>

0707010006a857000081a40000000000000002000000013d1fe2d500000141000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_gids.pl.html    <header>Nie ufaj GID-om</header>

Podobnie jak <a href=squash_uids>Nie ufaj UID-om</a>, ta opcja pozwala ci
okre¶liæ listê numerów GID, które maj± byæ traktowane jak
<a href=anongid>grupa niewiarygodna</a>. Musisz podaæ rozdzielon±
przecinkami listê GID-ów lub ich zakresów, na przyk³ad
<tt>1,10,20-25,100-150</tt>.
<hr>
   0707010006a858000081a40000000000000002000000013d1fe2d50000012b000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_gids.sv.html    <header>Lita inte på GID</header>

Precis som <a href=squash_uids>Lita inte på UID</a> kan du här ange en
lista över klient-GID som ska behandlas som en <a href=anongid>opålitlig
grupp</a>. Dessa ska ange som en kommaseparerad lista av
GID och GID-intervall, t ex <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010006a859000081a40000000000000002000000013d1fe2d5000000ef000000200000000000000000000000000000003300000003reloc/hpuxexports/help/squash_gids.zh_TW.Big5.html    <header>¤£«H¥ôªº GID</header>

´N¹³¬O <a href=squash_uids>¤£«H¥ôªº UID</a>, ³o­Ó¿ï¶µ¥i¥HÅý±z«ü©w«È¤áºÝ¤W­±ªº­þ¨Ç¸s²Õ½s¸¹­n³Q·í§@<a href=anongid>¤£«H¥ôªº¸s²Õ</a>. ±z¥i¥H¿é¤J¤@­Ó¥Î³r¸¹ ',' ¹j¶}ªº¦Cªí, ¨Ò¦p <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010006a85a000081a40000000000000002000000013d1fe2d50000016a000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_uids.ca.html    <header>No confiïs en els UIDs</header>

A més a més de la secció <a href=squash>Confia en els usuaris remots</a>,
aquesta opció permet especificar una llista de UIDs dels clients que 
seran tractats com a <a href=anonuid>usuaris no fiables</a>. Has d'introduir
una llista de UIDs o rangs de UIDs separats per comes, com ara
<tt>1,10,20-25,100-150</tt>.

<hr>


  0707010006a85b000081a40000000000000002000000013d1fe2d500000153000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_uids.es.html    <header>UIDs no fiables</header>

Además de la sección <a href=squash>Confiar en usuarios remotos</a>, esta
opción te permite especificar una lista de UIDs de cliente a ser tratados
como el <a href=anonuid>usuario no fiable</a>. Debes de digitar una lista
separada por comas de UIDs o rangos de UID como <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010006a85c000081a40000000000000002000000013d1fe2d500000197000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_uids.fr.html    <header>Ne Pas Faire Confiance Aux Numéros d'Usager</header>

Comme <a href=squash_uids>Ne pas faire confiance aux numéros d'usager</a>, cette option vous permet de spécifier une liste d'usager de client qui seront traité comme <a href=anongid>groupe insécure</a>. Vous devez entrer une liste séparée par des virgules des numéros de groupe ou des zones de numéro comme <tt>1,10,20-25,100-150</tt>.
<hr>
 0707010006a85d000081a40000000000000002000000013d1fe2d50000013a000000200000000000000000000000000000002800000003reloc/hpuxexports/help/squash_uids.html   <header>Don't trust UIDs</header>

In addition to the <a href=squash>Trust remote users</a> section, this option
allows you to specify a list of client UIDs to be treated as the
<a href=anonuid>untrusted user</a>. You must enter a comma-separated list
of UIDs or UID ranges like <tt>1,10,20-25,100-150</tt>.
<hr>

  0707010006a85e000081a40000000000000002000000013d1fe2d500000156000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_uids.pl.html    <header>Nie ufaj UID-om</header>

Jako dalsza czê¶æ opcji <a href=squash>Zaufani u¿ytkownicy zdalni</a> ta
opcja pozwala ci okre¶liæ listê numerów UID, które maj± byæ traktowane jak
<a href=anonuid>u¿ytkownik niewiarygodni</a>. Musisz podaæ rozdzielon±
przecinkami listê UID-ów lub ich zakresów, na przyk³ad
<tt>1,10,20-25,100-150</tt>.
<hr>
  0707010006a85f000081a40000000000000002000000013d1fe2d500000127000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/squash_uids.sv.html    <header>Lita inte på UID</header>

Utöver <a href=squash>Lita på användare</a> kan du här ange en
lista över klient-UID som ska behandlas som en <a href=anonuid>opålitlig
användare</a>. Dessa ska ange som en kommaseparerad lista av
UID och UID-intervall, t ex <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010006a860000081a40000000000000002000000013d1fe2d5000000ef000000200000000000000000000000000000003300000003reloc/hpuxexports/help/squash_uids.zh_TW.Big5.html    <header>¤£«H¥ôªº UID</header>

¹ïÀ³©ó<a href=squash>«H¥ô»·ºÝ¨Ï¥ÎªÌ</a>°Ï°ì, ³o­Ó¿ï¶µÅý±z«ü©w«È¤áºÝ¤W­±ªº­þ¨Ç¨Ï¥ÎªÌ½s¸¹­n³Q·í§@<a href=anonuid>¤£«H¥ôªº¨Ï¥ÎªÌ</a>. ±z¥i¥H¿é¤J¤@­Ó¥Î³r¸¹ ',' ¹j¶}ªº¦Cªí, ¨Ò¦p <tt>1,10,20-25,100-150</tt>.
<hr>

 0707010006a861000081a40000000000000002000000013d1fe2d500000083000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/user_access.ca.html    <header>Accés d'usuari</header>

Especifica quins clients tindran accés al directori exportat i quin
tipus d'accés tindran.

<hr>

 0707010006a862000081a40000000000000002000000013d1fe2d50000008d000000200000000000000000000000000000002800000003reloc/hpuxexports/help/user_access.html   <header>User access</header>

Specify which clients will have access to the exported directory and what
type of access they will have.
<hr>

   0707010006a8c4000081a40000000000000002000000013d1fe2d5000000aa000000200000000000000000000000000000002b00000003reloc/hpuxexports/help/user_access.pl.html    <header>Dostêp dla u¿ytkowników</header>

Okre¶la zdalne stacje klienckie, które bêd± mia³y dostêp do udostêpnianego
katalogu i&nbsp;jaki to bêdzie rodzaj dostêpu.
<hr>

  07070100067ab5000081a40000000000000002000000013d1fe2d500001aae000000200000000000000000000000000000001e00000003reloc/hpuxexports/hpux-lib.pl # hpux-lib.pl
# Functions for HPUX exports files

# list_exports()
# Return a list of all the directories currently being exported
sub list_exports
{
local (@rv, $pos, $lnum, $h, $o, $line);
return @list_exports_cache if (@list_exports_cache);
open(EXP, $config{'exports_file'});
$lnum = 0;
while($line = <EXP>) {
        local $slnum = $lnum;
        $line =~ s/\s+$//g;
        while($line =~ /\\$/) {
                # continuation character!
                $line =~ s/\\$//;
                $line .= <EXP>;
                $line =~ s/\s+$//g;
                $lnum++;
                }
        if ($line =~ /^(#*)\s*(\/\S*)\s+-(.*)$/) {
                local %exp;
                $exp{'active'} = !$1;
                $exp{'dir'} = $2;
		# 'host' includes the hole option string!
		# for describe_host needed, only
                $exp{'host'} = $3;
		parse_options($3, $exp{'options'});
                $exp{'line'} = $slnum;
                $exp{'eline'} = $lnum;
		$exp{'pos'} = $pos++;
                $exp{'index'} = scalar(@rv);
                push(@rv, \%exp);
                }
        $lnum++;
        }
close(EXP);
@list_exports_cache = @rv;
return @list_exports_cache;
}


# make_exports_line([&export]+)
sub make_exports_line
{
local ($options, $line);
$options = join_options($_[0]->{'options'});
$line = ($_[0]->{'active'} ? "" : "#").$_[0]->{'dir'};
$line .= ($options ? " -".$options : "");
return $line;
}


# describe_host(host)
# Given a host option string return a human-readable version
sub describe_host
{
local ($desc, %options);
&parse_options($_[0], \%options);
if (defined($options{"ro"}) && $options{"access"} ne "") {
	$desc = $text{'index_sel_ro'};
	}
elsif (defined($options{"ro"}) && !defined($options{"access"})) {
	$desc = $text{'index_all_ro'};
	}
elsif ($options{"rw"} ne "") {
	$desc = $text{'index_ro_rw'};
	}
elsif (!defined($options{"ro"}) && $options{"access"} ne "") {
	$desc = $text{'index_sel_rw'};
	}
elsif (!defined($options{"ro"}) && !defined($options{"rw"}) && !defined($options{"access"})) {
	$desc = $text{'index_all_rw'};
	}
if ($options{"root"} ne "") {
	$desc .= ", ";
	$desc .= $text{'index_sel_root'};
	}
return $desc;
}

# more_detail_fields()
sub more_detail_fields
{
print " <td><b>", &hlink($text{'edit_async'}, "async"), "</b></td>\n";
printf "<td nowrap><input type=radio name=async value=1 %s> %s\n",
        defined($opts{"async"}) ? "checked" : "", $text{'yes'};
printf "<input type=radio name=nfs_bg value=0 %s> %s</td> </tr>\n",
        defined($opts{"async"}) ? "" : "checked", $text{'no'};
}

# security_fields()
sub security_fields
{
print "<tr $cb>\n";
print " <td><b>", &hlink($text{'edit_user_access'}, "user_access"), "</b></td>\n";
print " <td><b>", &hlink($text{'edit_root_access'}, "root_access"), "</b></td>\n";
print " <td><b>", &hlink($text{'edit_anon_access'}, "anon"), "</b></td>\n";
print "</tr>\n";

$fn = "<font size=-1>"; $efn = "</font>";
print "<tr $cb>\n";
printf " <td><input type=radio name=user value=1 %s> $text{'edit_sel_ro'}<br>\n",
        defined($opts{"ro"}) && $opts{"access"} ne "" ? "checked" : "";
printf "<input type=radio name=user value=2 %s> $text{'edit_all_ro'}<br>\n",
        defined($opts{"ro"}) && !defined($opts{"access"}) ? "checked" : "";
printf "<input type=radio name=user value=3 %s> $text{'edit_ro_rw'}<br>\n",
        $opts{"rw"} ne "" ? "checked" : "";
printf "<input type=radio name=user value=4 %s> $text{'edit_sel_rw'}<br>\n",
        !defined($opts{"ro"}) && $opts{"access"} ne "" ? "checked" : "";
printf "<input type=radio name=user value=5 %s> $text{'edit_all_rw'}<br>\n",
        !defined($opts{"ro"}) && !defined($opts{"rw"}) && !defined($opts{"access"}) ? "checked" : "";
print " </td>\n";
printf " <td><input type=radio name=root value=1 %s> $text{'edit_none'}<br>\n",
        defined($opts{"root"}) ? "" : "checked";
print "<br>";
print "<br>";
print "<br>";
printf "<input type=radio name=root value=2 %s> $text{'edit_sel_hosts'}<br>\n",
        $opts{"root"} ne "" ? "checked" : "";
print " </td>\n";
print " <td>\n";
if ($in{'new'}) { $opts{"anon"} = getpwnam("nobody"); }
printf "<input type=radio name=anon value=1 %s> $text{'edit_anon_noaccess'}<br>\n",
	$opts{"anon"} == -1 ? "checked" : "";
if (defined($opts{"anon"}) && $opts{"anon"} != -1) {
	$anonuser = getpwuid($opts{'anon'}) ?
		getpwuid($opts{'anon'}) : $opts{'anon'};
	}
printf "<input type=radio name=anon value=2 %s>\n",
	$opts{"anon"} != -1 ? "checked" : "";
print "<input name=anonnam size=8 value=\"$anonuser\"> ",
	&user_chooser_button("anonnam", 0),"\n";   
print "<br>";
print "<br>";
print "<br>";
print "<br>";
print " </td>\n";
print "</tr>\n";

print "<tr $cb>\n";
print " <td>$fn<textarea name=ualist rows=6 cols=40 >";
        if ($opts{"rw"} ne "") {
                $list = join("\n", split(/:/, $opts{"rw"}));
                }
        if ($opts{"access"} ne "") {
                $list = join("\n", split(/:/, $opts{"access"}));
                }
        print $list;
print "</textarea>$efn</td>\n";
printf " <td>$fn<textarea name=rtlist rows=6 cols=40 >%s</textarea>$efn</td>\n",
        join("\n", split(/:/, $opts{"root"}));
print "</tr>\n";
}

# check_inputs()
sub check_inputs
{
if ($in{user} == 1 || $in{user} == 3 || $in{user} == 4) {
	&check_hosts($text{'edit_user_access'}, $in{ualist});
        @ualist = split(/\s+/, $in{ualist});
        }
if ($in{root} == 2) {
	&check_hosts($text{'edit_root_access'}, $in{rtlist});
	@rtlist = split(/\s+/, $in{rtlist});
        }

# Remove from the root list any hosts which not in the user list as well
if (($in{user} == 1 || $in{user} == 3 || $in{user} == 4) && $in{root} == 2) {
        @tmplist = @rtlist;
        foreach $rth (@tmplist) {
                if (($idx = &indexof($rth, @ualist)) == -1) {
                        splice(@rtlist, &indexof($rth, @rtlist), 1);
                        }
                }
        if (@rtlist == 0) {
                $in{root} = 1;
                }
        }
}


# set_options()
# Fill in the options associative array
sub set_options
{
delete($opts{"ro"});
delete($opts{"rw"});
delete($opts{"access"});
if ($in{user} == 1) { $opts{"ro"} = ""; $opts{"access"} = join(':', @ualist); }
elsif ($in{user} == 2) { $opts{"ro"} = ""; }
elsif ($in{user} == 3) { $opts{"rw"} = join(':', @ualist); }
elsif ($in{user} == 4) { $opts{"access"} = join(':', @ualist); }
elsif ($in{user} == 5) { ; }

if ($in{root} == 1) { delete($opts{"root"}); }
elsif ($in{root} == 2) { $opts{"root"} = join(':', @rtlist); }

if ($in{async} == 1) { $opts{"async"} = ""; }
else { delete($opts{"async"}); }

if ($in{'anon'} == 1) { $opts{"anon"} = -1; }
elsif ($in{'anonnam'} =~ /^[0-9\-]+$/)
	{ $opts{"anon"} = $in{"anonnam"}; }
elsif (getpwnam($in{"anonnam"})) 
	{ $opts{"anon"} = getpwnam($in{"anonnam"}); }
else { $opts{"anon"} = -1; }
}

1;

  07070100067ab6000081a40000000000000002000000013d1fe2d500000a3c000000200000000000000000000000000000002500000003reloc/hpuxexports/hpuxexports-lib.pl  # hpuxexports-lib.pl
# Common functions for managing exports files

do '../web-lib.pl';
&init_config();

# list_exports()
# Return a list of all the directories currently being exported
sub list_exports
{
local(@rv);
open(EXP, $config{exports_file});
while(<EXP>) {
	chop; s/#.*//g;
	if (!/\S/) { next; }
	/(\/\S*)\s*/; push(@rv, $1);
	}
close(EXP);
return @rv;
}


# get_exports(directory)
# Return an array containing the following for some directory
#  directory, options
sub get_exports
{
local(@rv);
open(EXP, $config{exports_file});
while(<EXP>) {
	chop; s/#.*//g;
	if (!/\S/) { next; }
	if (/(\/\S*)\s+-(.*)/ && $1 eq $_[0]) {
		# found matching exports with options
		$rv[0] = $1;
                $rv[1] = $2;
		}
	elsif (/(\/\S*)\s+-(.*)/ && $1 eq $_[0]) {
		# found matching exports with options
		$rv[0] = $1;
                $rv[1] = $2;
		}
	}
close(EXP);
return @rv;
}


# create_export(directory, options)
# Add a new exports to the exports file
sub create_export
{
open(EXP, ">> $config{exports_file}");
print EXP "$_[0] ";
if ($_[1]) { print EXP "-$_[1]\n" };
close(EXP);
}


# modify_export(old_directory, directory, options)
# Modify an existing exports
sub modify_export
{
local(@exp);
open(EXP, $config{exports_file});
@exp = <EXP>;
close(EXP);
open(EXP, "> $config{exports_file}");
foreach (@exp) {
	chop; ($line = $_) =~ s/#.*//g;
	if ($line =~ /(\/\S+)\s*/ && $1 eq $_[0]) {
		# found exports to change..
		/\s*(\S+)/;
		print EXP "$_[1] ";
		if ($_[2]) { print EXP "-$_[2]\n" };
		}
	else {
		# leave this line alone
		print EXP "$_\n";
		}
	}
close(EXP);
}


# delete_export(directory)
# Delete the export for a particular directory
sub delete_export
{
local(@exp);
open(EXP, $config{exports_file});
@exp = <EXP>;
close(EXP);
open(EXP, "> $config{exports_file}");
foreach (@exp) {
	chop; ($line = $_) =~ s/#.*//g;
	if ($line !~ /(\/\S+)\s*/ || $1 ne $_[0]) {
		# Leave this line alone
		print EXP "$_\n";
		}
	}
close(EXP);
}


# parse_options(string)
# Parse a mount options string like rw=foo,nosuid,... into the associative
# array %options. Parts with no value are given an empty string as the value
sub parse_options
{
local($opt);
undef(%options);
foreach $opt (split(/,/, $_[0])) {
	if ($opt =~ /^([^=]+)=(.*)$/) {
		$options{$1} = $2;
		}
	else {
		$options{$opt} = "";
		}
	}
}

# join_options()
# Returns a list of options from the %options array, in the form used in
# the exports file
sub join_options
{
local(@list, $k);
foreach $k (keys %options) {
	if ($options{$k} eq "") {
		push(@list, $k);
		}
	else {
		push(@list, "$k=$options{$k}");
		}
	}
return join(',', @list);
}

1;

0707010006ee38000041ed0000000000000001000000023d1ffa4600000000000000200000000000000000000000000000001900000003reloc/hpuxexports/images  0707010006ee39000081a40000000000000002000000013d1fe2d50000061d000000200000000000000000000000000000002400000003reloc/hpuxexports/images/export.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½ŠêÊw1ãDgðàb½[Îœ!›m·oK"¬W/š*fÓ˜¥Äé‹OG™õ<ØqbÚ“¡qÕ|—À	q@	¶Ð<ºœm-[­^7<,8”]>{5Eó"˜8ì¾Ñäh6Ÿ³Œr/f›Ã‰ˆê-ú¶máu4i®GbWqìF ‘A@
7¶ñ¢¶mÜbÄõ³#ÇÌE):
“6¡„,Î\5‹Dx£[¾853LÎÛ´iœ¬øÙ°ž 	mr|K‘!Ã¬Y®|ÝŠæR¤ž™jÖmÛ6fÁ¦þ @ƒ8ÃB­$ X°à€Yª\!Ñ4g„ê™Ò¥kZ3f¾ì¢
{'¬ 9SH `I&¨¨2Ë.» ƒÆ3ÍpI=¾0óË.µÌòF` )9$	ŠP@ª¨‚
+³°‚'­ì¡H†tà.ð	 ÒªdDRt‡ lâd„ÏíÂ‹/?ÞÂ
+®l²ˆeÄðÁ‡|D„EðÄ"›dòd®<×&+1‚² Í˜Â‡‚HôŽ_ @“8IÊ&¬€B£+¨ ²	*ž˜`
 u˜!FH„!Aœ4Bˆ%iB’	vžÌÀÈÌF
6|M?H1ò0I%‹xê	!7@+ßðQ†e#9c2F8°b"  …/„ AD
HD%PRÀÒÆ	"1+À	¿ ±Åe^4×ª•Aìàí¾€Ñ»)l3y‘BÄ!<Pe ‘{àTGÜ@È&‘‘ÁäX«fHaÕJÌP HP‹Æ	™[Ï1´òÉ1£òÊ,·ìòË0³¬P&4×lóÍ8ç¬sTÌÐlÊ
õœÉÏ@#$4ÑE$tÍÅì´Ê8?í´ÎTWmõÕXëlFÖU›áõ×`‡-¶×=öÙb'­öÚl·íö@ ;   0707010006ee3a000081a40000000000000002000000013d1fe2d5000000f5000000200000000000000000000000000000002200000003reloc/hpuxexports/images/icon.gif GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  Æ„©Ëí£œ´Ú[ƒÞ<`¹	âH
Û×å:ªª¨lÛu°!¯á,žŸ¦ãÍ<Ð$dù,9Ó1ÙruMè2Üñl—*’VÓ¾ºA(éJñz…ÆiiÍ3Ëfšû\ß£ù6ù×#‡(õ‡ˆ6¡¦x8WØ7HÈ§HTt·5‰©©ôxàIš 5ÄYŠ¶¨êª`[âÀZk[ëê4ð:¡Ë+áûûàÔ
,K|jx»ÌÜì\3ðÌ:@]m}M“Í-ü.>þ]  ;   07070100067ab7000081e40000000000000002000000013d1fe2d500000833000000200000000000000000000000000000001c00000003reloc/hpuxexports/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a list of directories and their client(s)

$| = 1;
require './exports-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

if (!&has_command("rpc.nfsd") && !&has_command("nfsd") &&
    !&has_command("rpc.knfsd")) {
	print "<p>",$text{'index_eprog'},"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@exps = &list_exports();
if (@exps) {
	@dirs = &unique(map { $_->{'dir'} } @exps);
	if ($access{'icons'}) {
		# Display icons for exports
		foreach $d (@dirs) {
			@cl = grep { $_->{'dir'} eq $d } @exps;
			foreach $c (@cl) {
				push(@icons, "images/export.gif");
				local $desc = &describe_host($c->{'host'});
				if ($c->{'active'}) {
					push(@titles, $d.'<br>'.$desc);
					}
				else {
					push(@titles, '<font color=#ff0000>'.
					     $d.'<br>'.$desc.'</font>');
					}
				push(@links,
				     "edit_export.cgi?idx=$c->{'index'}");
				}
			}
		&icons_table(\@links, \@titles, \@icons);
		}
	else {
		# Display table of exports and clients
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'index_dir'}</b></td> ",
		      "<td><b>$text{'index_to'}</b></td> </tr>\n";
		foreach $d (@dirs) {
			print "<tr $cb> <td valign=top>$d</td>\n";
			print "<td>\n";
			@cl = grep { $_->{'dir'} eq $d } @exps;
			$ccount = 0;
			foreach $c (@cl) {
				print "&nbsp;|&nbsp; " if ($ccount++);
				print "<a href=\"edit_export.cgi?idx=$c->{'index'}\">",&describe_host($c->{'host'}),"</a>\n";
				print "<font color=#ff0000>($text{'index_inactive'})","</font>\n" if (!$c->{'active'});
				}
			print "</td> </tr>\n";
			}
		print "</table>\n";
		}
	}
else {
	print "<b>$text{'index_none'}</b> <p>\n";
	}
print "<a href=\"edit_export.cgi?new=1\">$text{'index_add'}</a> <p>\n";

print "<hr>\n";
print "<table width=100%> <tr>\n";
print "<td><form action=restart_mountd.cgi>\n";
print "<input type=submit value=\"$text{'index_apply'}\">\n";
print "</form></td>\n";
print "<td valign=top>$text{'index_applymsg'}</td>\n";
print "</tr> <tr> </table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

 070701000703b1000041ed0000000000000001000000023d1ffa4700000000000000200000000000000000000000000000001700000003reloc/hpuxexports/lang    070701000703b2000081a40000000000000002000000013d1fe2d500000c6b000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/ca index_title=Exportacions NFS
index_dir=Directori
index_inactive=Inactiu
index_to=Exportat a...
index_none=Encara no hi ha cap directori exportat.
index_add=Afegeix una exportació nova
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplicar la configuració d'exportacions actual. Això farà que tots els directoris llistats aquí damunt estiguin disponibles amb les opcions especificades.
index_return=la llista d'exportacions
index_eprog=No s'ha trobat l'executable servidor NFS. Sembla que el paquet NFS no està instal·lat.
index_sel_ro=accés de lectura per a hosts seleccionats
index_all_ro=accés de lectura per a tots els hosts
index_ro_rw=accés de lectura per a tots els hosts, accés d'escriptura per a hosts seleccionats
index_sel_rw=accés d'escriptura per a hosts seleccionats
index_all_rw=accés d'escriptura per a tots els hosts
index_sel_root=accés root per a hosts seleccionats

edit_title=Edició d'Exportació
create_title=Creació d'Exportació
edit_details=Detalls de l'exportació
edit_security=Seguretat de l'exportació
edit_dir=Directori per exportar
edit_active=Actiu
edit_to=Exporta a...
edit_all=Tothom
edit_host=Host(s)
edit_webnfs=Clients WebNFS
edit_netgroup=Grup de xarxa
edit_network=Xarxa
edit_netmask=Màscara de subxarxa
edit_relative=Fes que els enllaços simbòlics siguin relatius
edit_insecure=Els clients han d'estar en un port segur
edit_mode=Mode d'accés
edit_ro=Només lectura
edit_rw=Lectura/escriptura
edit_noaccess=Denega l'accés al directori
edit_squash=Confia en els usuaris remots
edit_everyone=Tots
edit_except=Tots menys root
edit_nobody=Ningú
edit_uids=No confiïs en els UIDs
edit_none=Cap
edit_gids=No confiïs en els GIDs
edit_anonuid=Tracta els usuaris no fiables com
edit_default=Defecte
edit_anongid=Tracta els grups no fiables com
edit_sel_ro=Accés de lectura per als hosts llistats
edit_all_ro=Accés de lectura per a tots els hosts
edit_ro_rw=Accés de lectura per a tots els hosts, accés d'escriptura per als hosts llistats
edit_sel_rw=Accés d'escriptura per als hosts llistats
edit_all_rw=Accés d'escriptura per a tots els hosts
edit_sel_hosts=Hosts llistats
edit_all_hosts=Tots els hosts
edit_user_access=Accés d'usuari
edit_root_access=Accés root
edit_anon_access=Usuari anònim
edit_anon_notset=No establert
edit_anon_noaccess=No té accés
edit_async=Escriptures asíncrones

save_err=No he pogut desar l'exportació
save_edir=El directori '$1' no existeix
save_enetgroup=Hi falta el grup de xarxa o bé no és vàlid
save_enetwork='$1' no és una xarxa vàlida
save_enetmask='$1' no és una màscara de subxarxa vàlida
save_ehost='$2' - '$1' no és un nom de host vàlid
save_enohost='$1' - No has especificat cap host
save_euids=Els UIDs no fiables han de ser una llista de números o rangs separats per comes
save_egids=Els GIDs no fiables han de ser una llista de números o rangs separats per comes

log_modify=He modificat l'exportació NFS $1
log_modify_l=He modificat l'exportació NFS $1 to $2
log_delete=He suprimit l'exportació NFS $1
log_delete_l=He suprimit l'exportació NFS $1 to $2
log_create=He creat l'exportació NFS $1
log_create_l=He creat l'exportació NFS $1 to $2
log_apply=He aplicat la configuració



 070701000703b3000081a40000000000000002000000013d1fe2d500000b80000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/de index_title=NFS-Exporte
index_dir=Verzeichnis
index_inactive=Inaktiv
index_to=Exportiert nach ...
index_none=Sie exportieren bis jetzt keine Verzeichnisse
index_add=Einen neuen Export hinzuf&uuml;gen
index_apply=&Auml;nderungen anwenden
index_applymsg=Klicken Sie auf diesen Button, um die aktuelle Export-Konfiguration anzuwenden. Dies wird alle oben angegebenen Verzeichnisse mit den jeweiligen Einstellungen verf&uuml;gbar machen.
index_return=Export-Liste
index_eprog=Die ausf&uuml;hrbare Datei des NFS-Servers konnte nicht gefunden werden auf dem System. Es scheint, als w&auml;re das NFS Paket nicht installiert
index_sel_ro=ausgew&auml;hlte Hosts Lesezugriff
index_all_ro=alle Hosts Lesezugriff
index_ro_rw=alle Hosts Lesezugriff, ausgew&auml;hlte Hosts Schreibzugriff 
index_sel_rw=ausgew&auml;hlte Hosts Schreibzugriff
index_all_rw=alle Hosts Schreibzugriff
index_sel_root=ausgew&auml;hlte Hosts root Zugriff
edit_title=Export bearbeiten
create_title=Export erstellen
edit_details=Export Details
edit_security=Export Sicherheit
edit_dir=Zu exportierendes Verzeichnis
edit_active=Aktiv?
edit_to=Exportiere zu..
edit_all=Jedem
edit_host=Host(s)
edit_webnfs=WebNFS Clients
edit_netgroup=Netzgruppe
edit_network=Netzwerk
edit_netmask=Netzmaske
edit_relative=Mache symbolische Links relativ?
edit_insecure=Clients m&uuml;ssen sicheren Port benutzen?
edit_mode=Zugriffs-Modus
edit_ro=Nur Lesen
edit_rw=Lesen/Schreiben
edit_noaccess=Verweigere Zugriff auf Verzeichnis?
edit_squash=Vertraue Fernbenutzern
edit_everyone=Jedem
edit_except=Jedem au&szlig;er Root
edit_nobody=Niemandem
edit_uids=Traue nicht den UIDs
edit_none=Keine
edit_gids=Traue nicht den GIDs
edit_anonuid=Behandle nicht-vertraute Benutzer als
edit_default=Standard
edit_anongid=Behandle nicht-vertraute Gruppen als
edit_sel_ro=Lesezugriff f&uuml;r aufgef&uuml;hrte Hosts
edit_all_ro=Lesezugriff f&uuml;r alle Hosts
edit_ro_rw=Lesezugriff f&uuml;r alle Hosts, Schreibzugriff f&uuml;r aufgef&uuml;hrte Hosts 
edit_sel_rw=Schreibzugriff f&uuml;r aufgef&uuml;hrte Hosts
edit_all_rw=Schreibzugriff f&uuml;r alle Hosts
edit_sel_hosts=Aufgef&uuml;hrte Hosts
edit_all_hosts=Alle Hosts
edit_user_access=Benutzerzugriff
edit_root_access=Root-Zugriff
edit_anon_access=Anonymer Benutzer
edit_anon_notset=Nicht definiert 
edit_anon_noaccess=Kein Zugriff
edit_async=Asynchrones Schreiben
save_err=Fehler beim Speichern der Exporte
save_edir=Verzeichnis '$1' existiert nicht
save_enetgroup=Fehlende oder ung&uuml;ltige Netzgruppe
save_enetwork='$1' ist kein g&uuml;ltiges Netzwerk
save_enetmask='$1' ist keine g&uuml;ltige Netzmaske
save_ehost='$2' - '$1' ist kein g&uuml;ltiger Host-Name
save_enohost='$1' - Es sind keine Host-Namen aufgelistet
save_euids=UIDs, denen nicht getraut wird, m&uuml;ssen eine durch Kommata getrennte Liste mit Nummern oder Bereichen sein
save_egids=GIDs, denen nicht getraut wird, m&uuml;ssen eine durch Kommata getrennte Liste mit Nummern oder Bereichen sein
070701000703b4000081a40000000000000002000000013d1fe2d500000a77000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/en index_title=NFS Exports
index_dir=Directory
index_inactive=Inactive
index_to=Exported to..
index_none=You are not exporting any directories yet.
index_add=Add a new export
index_apply=Apply Changes
index_applymsg=Click this button to apply the current file exports configuration. This will make all the directories listed above available with the options specified.
index_return=exports list
index_eprog=The NFS server executable was not found on your system. The NFS package does not appear to be installed.
index_sel_ro=selected hosts read access
index_all_ro=all hosts read access
index_ro_rw=all hosts read access, selected hosts write access
index_sel_rw=selected hosts write access
index_all_rw=all hosts write access
index_sel_root=selected hosts root access

edit_title=Edit Export
create_title=Create Export
edit_details=Export details
edit_security=Export security
edit_dir=Directory to export
edit_active=Active?
edit_to=Export to..
edit_all=Everyone
edit_host=Host(s)
edit_webnfs=WebNFS clients
edit_netgroup=Netgroup
edit_network=Network
edit_netmask=Netmask
edit_relative=Make symbolic links relative?
edit_insecure=Clients must be on secure port?
edit_mode=Access mode
edit_ro=Read only
edit_rw=Read/write
edit_noaccess=Deny access to directory?
edit_squash=Trust remote users
edit_everyone=Everyone
edit_except=Everyone except root
edit_nobody=Nobody
edit_uids=Don't trust UIDs
edit_none=None
edit_gids=Don't trust GIDs
edit_anonuid=Treat untrusted users as
edit_default=Default
edit_anongid=Treat untrusted groups as
edit_sel_ro=Listed hosts read access
edit_all_ro=All hosts read access
edit_ro_rw=All hosts read access, listed hosts write access
edit_sel_rw=Listed hosts write access
edit_all_rw=All hosts write access
edit_sel_hosts=Listed hosts
edit_all_hosts=All hosts
edit_user_access=User access
edit_root_access=Root access
edit_anon_access=Anonymous user
edit_anon_notset=Not set 
edit_anon_noaccess=No access
edit_async=Asynchronous writes

save_err=Failed to save export
save_edir=Directory '$1' does not exist
save_enetgroup=Invalid or missing netgroup
save_enetwork='$1' is not a valid network
save_enetmask='$1' is not a valid netmask
save_ehost='$2' - '$1' is not a valid hostname
save_enohost='$1' - You did not list any hosts
save_euids=UIDs not to trust must be a comma-separated list of numbers or ranges
save_egids=GIDs not to trust must be a comma-separated list of numbers or ranges

log_modify=Modified NFS export $1
log_modify_l=Modified NFS export $1 to $2
log_delete=Deleted NFS export $1
log_delete_l=Deleted NFS export $1 to $2
log_create=Created NFS export $1
log_create_l=Created NFS export $1 to $2
log_apply=Applied configuration
 070701000703b5000081a40000000000000002000000013d1fe2d500000c6f000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/es index_title=Exportaciones de NFS
index_dir=Directorio
index_inactive=Inactivo
index_to=Exportado a...
index_none=Aún no estás exportando directorios.
index_add=Añadir una nueva exportación
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para aplicar las configuraciones actuales de exportación de archivos. Esto hará que todos los directorios listados arriba estén disponibles con las opciones especificadas.
index_return=lista de exportaciones
index_eprog=El ejecutable del servidor NFS no ha sido encontrado en tu sistema. El paquete NFS no parece haber sido instalado.
index_sel_ro=acceso de lectura a máquinas seleccionadas
index_all_ro=acceso de lectura a todas las máquinas
index_ro_rw=todas las máquinas acceso de lectura, las seleccionadas acceso de escritrua
index_sel_rw=acceso de escritura a máquinas seleccionadas
index_all_rw=todas las máquinas acceso de escritura
index_sel_root=acceso root a máquinas seleccionadas

edit_title=Editar Exportación
create_title=Crear Exportación
edit_details=Detalles de Exportación
edit_security=Exportar seguridad
edit_dir=Directorio a exportar
edit_active=¿Activo?
edit_to=Exportar a...
edit_all=Todo el mundo
edit_host=Máquina(s)
edit_webnfs=Clientes WebNFS
edit_netgroup=Grupo de Red
edit_network=Red
edit_netmask=Máscara de Red
edit_relative=¿Hacer enlaces simbólicos relativos?
edit_insecure=¿Los clientes deben de estar en puerto seguro?
edit_mode=Modo de Acceso
edit_ro=Sólo lectura
edit_rw=Lectura/Escritura
edit_noaccess=¿Denegar acceso al directorio?
edit_squash=Confiar en usuarios remotos
edit_everyone=Todo el mundo
edit_except=Todo el mundo excepto root
edit_nobody=Nadie
edit_uids=No confiar en UIDs
edit_none=Ninguno
edit_gids=No confiar en GIDs
edit_anonuid=Tratar usuarios no fiables como
edit_default=Por defecto
edit_anongid=Tratar grupos no fiables como
edit_sel_ro=Acceso de lectura a máquinas listadas
edit_all_ro=Acceso de lectura a todas las máquinas
edit_ro_rw=Acceso de lectura a todas las máquinas y de escritura a las listadas
edit_sel_rw=Acceso de escritura a las máquinas listadas
edit_all_rw=Todas las máquinas con acceso de escritura
edit_sel_hosts=Máquinas listadas
edit_all_hosts=Todas las máquinas
edit_user_access=Acceso de usuario
edit_root_access=Acceso de Root
edit_anon_access=Usuario anónimo
edit_anon_notset=No puesto
edit_anon_noaccess=Sin acceso
edit_async=Escrituras asíncronas

save_err=Error al salvar exportación
save_edir=Directorio '$1' no existe
save_enetgroup=Grupo de Red inválido o perdido
save_enetwork='$1' no es una red válida
save_enetmask='$1' no es una máscara de red válida
save_ehost='$2' - '$1' no es un nombre válido de máquina
save_enohost='$1' - No listaste máquina alguna
save_euids=UIDs no fiables deben de ser una lista de números o rangos separados por comas
save_egids=GIDs no fiables deben de ser una lista de números o rangos separados por comas

log_modify=Modificada exportación NFS $1
log_modify_l=Modificadas exportaciones NFS $1 a $2
log_delete=Borrada exportación NFS $1
log_delete_l=Borradas exportaciones NFS $1 a $2
log_create=Creada exportación NFS $1
log_create_l=Creadas exportaciones NFS $1 a $2
log_apply=Aplicada configuración
 070701000703b6000081a40000000000000002000000013d1fe2d50000073c000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/fr index_title=Partage NFS
index_dir=Répertoire
index_inactive=Inactif
index_to=Partager à
index_none=Aucun répertoire encore partagé
index_add=Ajouter un nouveau partage
index_apply=Appliquer tous Changements
index_applymsg=Cliquer sur ce bouton pour appliquer la configuration.  Ceci va mettre tous répertoires listés disponibles avec les options spécifiées.
index_return=liste des partages
index_eprog=L'exécutable du serveur NFS n'a pas été trouvé sur votre système.  Le composant NFS ne semble pas avoir été installé.

edit_title=Éditer un Partage
create_title=Créer un Partage
edit_details=Détails du partage
edit_dir=Répertoire partager
edit_active=Actif?
edit_to=Partager à
edit_all=Tous
edit_host=Hôtes
edit_webnfs=Clients WebNFS
edit_netgroup=Groupe réseau
edit_network=Réseau
edit_netmask=Masque de sous-réseau
edit_relative=Les liens symboliques sont relatifs?
edit_insecure=Les clients doivent être sur un port sécure?
edit_mode=Mode d'accès
edit_ro=Lecture seule
edit_rw=Lecture/écriture
edit_noaccess=Refuser l'accès au répertoire?
edit_squash=Faire confiance aux usagers distants
edit_everyone=Tous
edit_except=Tout excepté root
edit_nobody=Aucun
edit_uids=Ne pas faire confiance aux UID
edit_none=Aucun
edit_gids=Ne pas faire confiance aux GID
edit_anonuid=Les usagers insécure sont traités comme
edit_default=Défaut
edit_anongid=Les groupes insécure sont traités comme

save_err=Impossible d'enregistrer le partage
save_edir=Le répertoire $1 n'existe pas
save_enetgroup=Groupe de réseau manquant ou invalide
save_enetwork=$1 est un réseau invalide
save_enetmask=$1 est un masque de sous-réseau invalide
save_ehost=$1 est un nom d'hôte invalide
save_euids=La liste ou la plage des numéros d'usager insécure doit être séparé par des virgules
save_egids=La liste ou la plage des numéros de groupe insécure doit être séparé par des virgules
070701000703b7000081a40000000000000002000000013d1fe2d500000bd8000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/pl index_title=Udostêpnianie po NFS
index_dir=Katalog
index_inactive=Nieaktywne
index_to=Wyeksportowane do..
index_none=Nie wyeksportowa³e¶ jeszcze ¿adnego katalogu.
index_add=Dodaj nowy zasób
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê udostêpniania. Spowoduje to dostêpno¶æ wymienionych powy¿ej katalogów z ustawionymi opcjami.
index_return=udostêpniania po NFS
index_eprog=Nie znaleziono programu serwera NFS. Prawdopodobnie nie zosta³ zainstalowany.
index_sel_ro=do odczytu dla wybranych hostów
index_all_ro=do odczytu dla wszystkich hostów
index_ro_rw=do odczytu dla wszystkich hostów, do zapisu dla wybranych hostów
index_sel_rw=do zapisu dla wybranych hostów
index_all_rw=do zapisu dla wszystkich hostów
index_sel_root=prawa <tt>root</tt>-a dla wybranych hostów

edit_title=Zmieñ udostêpnianie
create_title=Udostêpnij
edit_details=Dane udostêpniania
edit_security=Zabezpieczenie udostêpniania
edit_dir=Udostêpniany katalog
edit_active=Aktywne?
edit_to=Udostêpniaj dla..
edit_all=Wszystkich
edit_host=Komputerów
edit_webnfs=Klienci WebNFS
edit_netgroup=Grupa sieciowa
edit_network=Sieæ
edit_netmask=Maska
edit_relative=Wzglêdne dowiazania symboliczne?
edit_insecure=Tylko klienci na bezpiecznych portach?
edit_mode=Tryb dostêpu
edit_ro=Tylko do odczytu
edit_rw=Odczyt i&nbsp;zapis
edit_noaccess=Zablokowaæ dostêp do katalogu?
edit_squash=Zaufani u¿ytkownicy zdalni
edit_everyone=Wszyscy
edit_except=Wszyscy oprócz roota
edit_nobody=Nikt
edit_uids=Nie ufaj UID-om
edit_none=¯adnemu
edit_gids=Nie ufaj GID-om
edit_anonuid=Traktuj niewiarygodnych u¿ytkowników jako
edit_default=Domy¶lne
edit_anongid=Traktuj niewiarygodne grupy jako
edit_sel_ro=Do odczytu dla wymienionych hostów
edit_all_ro=Do odczytu dla wszystkich hostów
edit_ro_rw=Do odczytu dla wszystkich hostów, do zapisu dla wymienionych hostów
edit_sel_rw=Do zapisu dla wymienionych hostów
edit_all_rw=Do zapisu dla wszystkich hostów
edit_sel_hosts=Wymienione hosty
edit_all_hosts=Wszystkie hosty
edit_user_access=Dostêp dla u¿ytkowników
edit_root_access=Dostêp dla <tt>root</tt>-a
edit_anon_access=U¿ytkownik anonimowy
edit_anon_notset=Nie ustawiono
edit_anon_noaccess=Brak dostêpu
edit_async=Asynchroniczny zapis

save_err=Nie uda³o sie zachowaæ parametrów udostêpniania
save_edir=Katalog '$1' nie istnieje
save_enetgroup=Niepoprawna lub nie podana grupa sieciowa
save_enetwork='$1' nie jest poprawn± sieci±
save_enetmask='$1' nie jest poprawn± mask± sieci
save_ehost='$2' - '$1' nie jest poprawn± nazw± hosta
save_enohost='$1' - Nie podano ¿adnego hosta
save_euids=Niewiarygodne UID-y musz± byæ rozdzielon± przecinkami list± liczb lub zakresów
save_egids=Niewiarygodne GID-y musz± byæ rozdzielon± przecinkami list± liczb lub zakresów

log_modify=Zmieniono eksport NFS $1
log_modify_l=Zmieniono eksport NFS $1 do $2
log_delete=Zmieniono eksport NFS $1
log_delete_l=Zmmieniono eksport NFS $1 do $2
log_create=Utworzono eksport NFS $1
log_create_l=Utworzono eksport NFS $1 do $2
log_apply=Zastosowano konfiguracjê
070701000703b8000081a40000000000000002000000013d1fe2d5000006e7000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/pt index_title=Exportações NFS
index_dir=Directório
index_to=Exportado para..
index_none=Você ainda não está a exportar quaisquer directórios.
index_add=Adicionar nova exportação
index_apply=Aplicar Alterações
index_applymsg=Clique neste botão para aplicar a configuração de exportação de ficheiros actual. Desta forma, todos os directórios abaixo listados estarão disponiveis com as opções especificadas.
index_return=lista de exportações

edit_title=Editar Exportação
create_title=Criar Exportação
edit_details=Detalhes da exportação
edit_dir=Directório a exportar
edit_to=Exportar para..
edit_all=Toda a gente
edit_host=Anfitrião(s)
edit_webnfs=Clientes WebNFS
edit_netgroup=Grupo de Rede
edit_network=Grupo de Trabalho
edit_netmask=Máscara de Rede
edit_relative=Fazer as ligações simbólicas relativas?
edit_insecure=Os clientes deverão estar numa porta segura?
edit_mode=Modo de acesso
edit_ro=Leirura apenas
edit_rw=Leitura/escrita
edit_noaccess=Negar o acesso ao directório?
edit_squash=Confiar nos utilizadores remotos
edit_everyone=Toda a gente
edit_except=Toda a gente excepto root
edit_nobody=Ninguém
edit_uids=Não confiar em UIDs
edit_none=Nenhum
edit_gids=Não confiar em GIDs
edit_anonuid=Tratar utilizadores não fiáveis como
edit_default=Predefinido
edit_anongid=Tratar grupos não fiáveis como

save_err=Erro ao guardar exportação
save_edir=O directório '$1' não existe
save_enetgroup=Grupo de rede inválido ou em falta
save_enetwork='$1' não é uma rede válida
save_enetmask='$1' não é uma máscara de rede válida
save_ehost='$1' não é um nome de anfitrião válido
save_euids=Os UIDs não fiáveis devem ser uma lista de números ou alcances separadas por virgulas
save_egids=Os GIDs não fiáveis devem ser uma lista de números ou alcances separadas por virgulas
 070701000703b9000081a40000000000000002000000013d1fe2d5000006ce000000200000000000000000000000000000001d00000003reloc/hpuxexports/lang/ru_RU  edit_insecure=Êëèåíòû äîëæíû áûòü íà çàùèùåííîì ïîðòó?
edit_dir=Êàòàëîã äëÿ ýêñïîðòà
save_enetgroup=Íåâåðíàÿ èëè ïîòåðÿííàÿ ñåòåâàÿ ãðóïïà
index_none=Âû íå ýêñïîðòèðóåòå íè îäíîãî êàòàëîãà.
save_euids=Íåäîñòîâåðíûå UIDû äîëæíû áûòü ñïèñêîì ðàçäåëåííûì çàïÿòûìè èëè äèàïàçîíîì íîìåðîâ
edit_default=Ïî óìîë÷àíèþ
edit_mode=Ðåæèì äîñòóïà
edit_details=Ïàðàìåòðû ðåñóðñà
edit_gids=Íå äîâåðÿòü GIDàì
edit_except=Êàæäîìó, êðîìå root
edit_nobody=Íèêîìó
save_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
edit_everyone=Êàæäîìó
index_dir=Êàòàëîã
save_err=Îøèáêà ïðè ñîõðàíåíèè ðåñóðñà
edit_netgroup=Ñåòåâàÿ ãðóïïà
edit_uids=Íå äîâåðÿòü UIDàì
save_enetwork='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòüþ
index_apply=Ïðèíÿòü Èçìåíåíèÿ
edit_all=Êàæäîãî
index_add=Äîáàâèòü íîâûé ðåñóðñ
edit_relative=Ñäåëàòü ñèìâîëè÷åñêèå ññûëêè îòíîñèòåëüíûìè?
edit_host=Õîñò(û)
index_applymsg=Íàæìèòå íà ýòó êíîïêó äëÿ ïðèíÿòèÿ èçìåíåíèé â ôàéëå êîíôèãóðàöèè ýêñïîðòèðîâàííûõ ðåñóðñîâ. Ýòî äåéñòâèå ñäåëàåò âñå âûøåïåðå÷èñëåííûå êàòàëîãè äîñòóïíû ïî NFS â ñîîòâåòñòâèè ñ óêàçàííûìè ïàðàìåòðàìè
edit_anongid=Ñ÷èòàòü íåäîñòîâåðíûå ãðóïïû êàê
save_enetmask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ãðóïïîé
edit_ro=Òîëüêî ÷òåíèå
edit_title=Ðåäàêòèðîâàíèå Ðåñóðñà
edit_to=Ýêñïîðòèðîâàòü äëÿ..
edit_webnfs=Êëèåíòû WebNFS
edit_rw=×òåíèå/çàïèñü
edit_network=Ñåòü
save_edir=Êàòàëîã '$1' íå ñóùåñòâóåò
edit_anonuid=Ñ÷èòàòü íåäîñòîâåðíûõ ïîëüçîâàòåëåé êàê
edit_noaccess=Çàïðåòèòü äîñòóï ê êàòàëîãó?
create_title=Ñîçäàíèå Ðåñóðñà
edit_none=Íåò
index_return=ñïèñîê ðåñóðñîâ
edit_netmask=Ñåòåâàÿ ìàñêà
index_title=Ýêñïîðò Ðåñóðñîâ NFS
save_egids=Íåäîñòîâåðíûå GIDû äîëæíû áûòü ñïèñêîì ðàçäåëåííûì çàïÿòûìè èëè äèàïàçîíîì íîìåðîâ
index_to=Ýêñïîðòèðîâàí äëÿ..
edit_squash=Äîâåðÿòü óäàëåííûì ïîëüçîâàòåëÿì
  070701000703ba000081a40000000000000002000000013d1fe2d5000006d1000000200000000000000000000000000000001d00000003reloc/hpuxexports/lang/ru_SU  index_title=üËÓÐÏÒÔ òÅÓÕÒÓÏ× NFS
index_dir=ëÁÔÁÌÏÇ
index_to=üËÓÐÏÒÔÉÒÏ×ÁÎ ÄÌÑ..
index_none=÷Ù ÎÅ ÜËÓÐÏÒÔÉÒÕÅÔÅ ÎÉ ÏÄÎÏÇÏ ËÁÔÁÌÏÇÁ.
index_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÒÅÓÕÒÓ
index_apply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_applymsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÐÒÉÎÑÔÉÑ ÉÚÍÅÎÅÎÉÊ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ ÜËÓÐÏÒÔÉÒÏ×ÁÎÎÙÈ ÒÅÓÕÒÓÏ×. üÔÏ ÄÅÊÓÔ×ÉÅ ÓÄÅÌÁÅÔ ×ÓÅ ×ÙÛÅÐÅÒÅÞÉÓÌÅÎÎÙÅ ËÁÔÁÌÏÇÉ ÄÏÓÔÕÐÎÙ ÐÏ NFS × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÕËÁÚÁÎÎÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ
index_return=ÓÐÉÓÏË ÒÅÓÕÒÓÏ×

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ òÅÓÕÒÓÁ
create_title=óÏÚÄÁÎÉÅ òÅÓÕÒÓÁ
edit_details=ðÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÁ
edit_dir=ëÁÔÁÌÏÇ ÄÌÑ ÜËÓÐÏÒÔÁ
edit_to=üËÓÐÏÒÔÉÒÏ×ÁÔØ ÄÌÑ..
edit_all=ëÁÖÄÏÇÏ
edit_host=èÏÓÔ(Ù)
edit_webnfs=ëÌÉÅÎÔÙ WebNFS
edit_netgroup=óÅÔÅ×ÁÑ ÇÒÕÐÐÁ
edit_network=óÅÔØ
edit_netmask=óÅÔÅ×ÁÑ ÍÁÓËÁ
edit_relative=óÄÅÌÁÔØ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ ÏÔÎÏÓÉÔÅÌØÎÙÍÉ?
edit_insecure=ëÌÉÅÎÔÙ ÄÏÌÖÎÙ ÂÙÔØ ÎÁ ÚÁÝÉÝÅÎÎÏÍ ÐÏÒÔÕ?
edit_mode=òÅÖÉÍ ÄÏÓÔÕÐÁ
edit_ro=ôÏÌØËÏ ÞÔÅÎÉÅ
edit_rw=þÔÅÎÉÅ/ÚÁÐÉÓØ
edit_noaccess=úÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ë ËÁÔÁÌÏÇÕ?
edit_squash=äÏ×ÅÒÑÔØ ÕÄÁÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ
edit_everyone=ëÁÖÄÏÍÕ
edit_except=ëÁÖÄÏÍÕ, ËÒÏÍÅ root
edit_nobody=îÉËÏÍÕ
edit_uids=îÅ ÄÏ×ÅÒÑÔØ UIDÁÍ
edit_none=îÅÔ
edit_gids=îÅ ÄÏ×ÅÒÑÔØ GIDÁÍ
edit_anonuid=óÞÉÔÁÔØ ÎÅÄÏÓÔÏ×ÅÒÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ËÁË
edit_default=ðÏ ÕÍÏÌÞÁÎÉÀ
edit_anongid=óÞÉÔÁÔØ ÎÅÄÏÓÔÏ×ÅÒÎÙÅ ÇÒÕÐÐÙ ËÁË

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÅÓÕÒÓÁ
save_edir=ëÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_enetgroup=îÅ×ÅÒÎÁÑ ÉÌÉ ÐÏÔÅÒÑÎÎÁÑ ÓÅÔÅ×ÁÑ ÇÒÕÐÐÁ
save_enetwork='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔØÀ
save_enetmask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÇÒÕÐÐÏÊ
save_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
save_euids=îÅÄÏÓÔÏ×ÅÒÎÙÅ UIDÙ ÄÏÌÖÎÙ ÂÙÔØ ÓÐÉÓËÏÍ ÒÁÚÄÅÌÅÎÎÙÍ ÚÁÐÑÔÙÍÉ ÉÌÉ ÄÉÁÐÁÚÏÎÏÍ ÎÏÍÅÒÏ×
save_egids=îÅÄÏÓÔÏ×ÅÒÎÙÅ GIDÙ ÄÏÌÖÎÙ ÂÙÔØ ÓÐÉÓËÏÍ ÒÁÚÄÅÌÅÎÎÙÍ ÚÁÐÑÔÙÍÉ ÉÌÉ ÄÉÁÐÁÚÏÎÏÍ ÎÏÍÅÒÏ×

   070701000703bb000081a40000000000000002000000013d1fe2d50000071b000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/sv index_title=NFS-exportering
index_dir=Katalog
index_inactive=Inaktiv
index_to=Exportera till ...
index_none=Du exporterar inga kataloger än.
index_add=Lägg till exportering
index_apply=Genomför ändringar
index_applymsg=Tryck på denna knapp för att använda dessa filexporteringsinställningar. Detta kommer att göra de ovan listade katalogerna tillgängliga med de inställningar du har angivit.
index_return=exporteringslista
index_eprog=Den exekverbara NFS-serverfilen fanns inte på ditt system. NFS-paketet verkar inte vara installerat.

edit_title=Ändra exportering
create_title=Lägg till exportering
edit_details=Uppgifter om exportering
edit_dir=Exporterad katalog
edit_active=Aktiverad?
edit_to=Exportera till ...
edit_all=Alla
edit_host=Datorer
edit_webnfs=WebNFS-klienter
edit_netgroup=Nätverksgrupp
edit_network=Nätverk
edit_netmask=Nätmask
edit_relative=Ska symboliska länkar vara relativa?
edit_insecure=Måste klienter använda en säker port?
edit_mode=Rättigheter
edit_ro=Endast läsbart
edit_rw=Läs- och skrivbart
edit_noaccess=Neka tillgång till katalog?
edit_squash=Lita på användare
edit_everyone=Alla
edit_except=Alla utom root
edit_nobody=Ingen
edit_uids=Lita inte på UID
edit_none=Inget
edit_gids=Lita inte på GID
edit_anonuid=Behandla icke betrodda användare som
edit_default=Standard
edit_anongid=Behandla icke betrodda grupper som

save_err=Det gick inte att spara exportering
save_edir=Katalogen '$1' finns inte
save_enetgroup=Nätgruppen finns inte eller är inte en giltig nätgrupp
save_enetwork='$1' är inte ett giltigt nätverk
save_enetmask='$1' är inte en giltig nätmask
save_ehost='$1' är inte ett giltigt värdnamn
save_euids=Ej betrodda UID:n måste vara en kommaseparerad lista med nummer eller intervall
save_egids=Ej betrodda GID:n måste vara en kommaseparerad lista med nummer eller intervall
 070701000703bc000081a40000000000000002000000013d1fe2d50000077f000000200000000000000000000000000000001a00000003reloc/hpuxexports/lang/tr index_title=NFS Sunumlarý
index_dir=Dizin
index_inactive=Aktif deðil
index_to=Aktif Baðlantý Durumu..
index_none=Herhangi bir dizinde henüz baðlantý yapýlmadý
index_add=Yeni bir baðlantý ekle
index_apply=Deðiþiklikleri Uygula
index_applymsg=Bu düðmeyi týklayarak mevcut dosya baðlantý ayarlarýný uygulayabilirsiniz.
index_return=baðlantýlar listesi
index_eprog=NFS sunucusu çalýþtrýlabilir dosyasý bulunamadý. NFS paketi yüklenmemiþ olabilir

edit_title=Baðlantýyý Deðiþtir
create_title=Baðlantý Oluþtur
edit_details=Baðlantý Ayarlarý
edit_dir=Baðlantý Dizini
edit_active=Aktif?
edit_to=Baðlantý yap ...
edit_all=Tamamý
edit_host=Makine(ler)
edit_webnfs=WebNFS istemcileri
edit_netgroup=Að grubu
edit_network=Að
edit_netmask=Að maskesi
edit_relative=Sembolik bað yapýlsýn mý?
edit_insecure=Ýstemciler güvenli portta olsun mu?
edit_mode=Giriþ modu
edit_ro=Salt okunur
edit_rw=Oku/Yaz
edit_noaccess=Dizine giriþler engellensin mi?
edit_squash=Uzak kullanýcýlarý onayla
edit_everyone=Herbiri
edit_except=Root dýþýnda herkes
edit_nobody=Hiçkimse
edit_uids=UID onayla
edit_none=Hiçbiri
edit_gids=GID onayla
edit_anonuid=Onaylanmamýþ kullanýcýlarý araþtýr
edit_default=Öntanýmlý
edit_anongid=Onaylanmamýþ gruplarý araþtýr

save_err=Baðlantýnýn kaydedilmesinde hata oluþtu
save_edir='$1' dizini mevcut deðil
save_enetgroup=Yanlýþ ya da kayýp netgroup
save_enetwork='$1' geçerli bir að adý deðil
save_enetmask='$1' geçerli bir að maskesi deðil
save_ehost='$1' geçerli bir makþne adý deðil
save_euids=Sayý ya da alan listesinin virgülle ayrýlmýþ olan UID'leri onaylanmaz
save_egids=Sayy ya da alan listesinin virgülle ayrylmyþ olan GID'leri onaylanmaz

log_modify=NFS sunumu $1 deðiþtirildi
log_modify_l=$2'de NFS sunumu $1 deðiþtirildi
log_delete=NFS sunumu $1 silindi
log_delete_l=$2'de NFS sunumu $1 silindi
log_create=NFS sunumu $1 oluþturuldu
log_create_l=$2'de NFS sunumu $1 oluþturuldu
log_apply=Yapýlandýrma uygulandý
 
 070701000703bd000081a40000000000000002000000013d1fe2d5000004e6000000200000000000000000000000000000001d00000003reloc/hpuxexports/lang/zh_CN  index_title=NFSÊä³ö
index_dir=Ä¿Â¼
index_inactive=²»»î¶¯µÄ
index_to=Êä³öµ½..
index_none=ÄúÉÐÎ´Êä³öÈÎºÎÄ¿Â¼¡£
index_add=Ôö¼ÓÒ»¸öÐÂµÄÊä³ö
index_apply=Ó¦ÓÃ¸Ä±ä
index_applymsg=°´Õâ¸ö°´Å¥Ê¹µ±Ç°µÄÎÄ¼þÊä³öÅäÖÃÆð×÷ÓÃ. Õâ½«Ê¹ÉÏÃæÁÐ³öµÄËùÓÐÄ¿Â¼ÒÔÖ¸¶¨µÄÑ¡ÏîÆð×÷ÓÃ¡£
index_return=Êä³öÁÐ±í
index_eprog=ÔÚÄúµÄÏµÍ³ÖÐÃ»·¢ÏÖNFS·þÎñÆ÷Ö´ÐÐ³ÌÐò. Ã»°²×°NFS°ü¡£
edit_title=±à¼­Êä³ö
create_title=´´½¨Êä³ö
edit_details=Êä³öµÄÏ¸½Ú
edit_dir=Êä³öµÄÄ¿Â¼
edit_active=»î¶¯µÄ£¿
edit_to=Êä³öµ½..
edit_all=Ã¿¸ö
edit_host=Ö÷»ú
edit_webnfs=WebNFS¿Í»§
edit_netgroup=ÍøÂç×é
edit_network=ÍøÂç
edit_netmask=ÍøÂçÑÚÂë
edit_relative=Ê¹·ûºÅÁ¬½ÓÎªÏà¶ÔµÄÂð£¿
edit_insecure=¿Í»§±ØÐëÔÚÒ»¸ö°²È«¶Ë¿ÚÉÏ£¿
edit_mode=·ÃÎÊ·½Ê½
edit_ro=Ö»¶Á
edit_rw=¶ÁÐ´
edit_noaccess=¾Ü¾ø·ÃÎÊÄ¿Â¼£¿
edit_squash=ÐÅÈÎÔ¶¶ËÓÃ»§
edit_everyone=Ã¿¸öÈË
edit_except=³ýrootÍâµÄÃ¿ÈË
edit_nobody=Ã»ÈË
edit_uids=²»ÐÅÈÎUID
edit_none=Ã»ÓÐ
edit_gids=²»ÐÅÈÎGID
edit_anonuid=½«²»¿ÉÐÅÓÃ»§µ±×÷
edit_default=È±Ê¡
edit_anongid=½«²»¿ÉÐÅ×éµ±×÷
save_err=±£´æÊä³öÊ§°Ü
save_edir=Ä¿Â¼'$1' ²»´æÔÚ
save_enetgroup=·Ç·¨»òÈ±ÉÙÍøÂç×é
save_enetwork='$1'²»ÊÇÓÐÐ§µÄÍøÂç
save_enetmask='$1'²»ÊÇÓÐÐ§µÄÍøÂçÑÚÂë
save_ehost='$1'²»ÊÇÓÐÐ§µÄÖ÷»úÃû
save_euids=²»ÐÅÈÎµÄUID±ØÐëÊÇÒ»¸ö¶ººÅ·Ö¸ôµÄÊý×ÖÐòÁÐ»ò·¶Î§ÐòÁÐ
save_egids=²»ÐÅÈÎµÄGID±ØÐëÊÇÒ»¸ö¶ººÅ·Ö¸ôµÄÊý×ÖÐòÁÐ»ò·¶Î§ÐòÁÐ
  070701000703be000081a40000000000000002000000013d1fe2d50000053b000000200000000000000000000000000000002200000003reloc/hpuxexports/lang/zh_TW.Big5 index_title=NFS ¶×¥X
index_dir=¥Ø¿ý
index_inactive=°±¥Î
index_to=¶×¥Xµ¹...
index_none=±z¥Ø«e¨S¦³¶×¥X¥ô¦ó¥Ø¿ý¡C
index_add=¼W¥[¤@­Ó·sªº¶×¥X
index_apply=®M¥ÎÅÜ§ó
index_applymsg=«ö¤U³o­Ó«ö¶s¥H®M¥Î¥Ø«eÀÉ®×¶×¥Xªº³]©w¡C³o±N·|¨Ï¤W¦Cªº¥Ø¿ý¨Ì¾Ú«ü©wªº¿ï¶µ¶×¥X¡C
index_return=¶×¥X²M³æ
index_eprog=¦b±zªº¨t²Î¤W§ä¤£¨ì NFS ¦øªA¾¹°õ¦æÀÉ¡CNFS ®M¸Ë³nÅé¦ü¥G©|¥¼¦w¸Ë¡C
edit_title=½s¿è¶×¥X
create_title=«Ø¥ß¶×¥X
edit_details=¶×¥Xªº¸Ô²Ó¸ê®Æ
edit_dir=­n¶×¥Xªº¥Ø¿ý
edit_active=¬O§_­n±Ò°Ê?
edit_to=¶×¥Xµ¹...
edit_all=¥ô¦ó¤H
edit_host=¥D¾÷
edit_webnfs=WebNFS ¥Î¤áºÝ
edit_netgroup=ºô¸ô¸s²Õ
edit_network=ºô¸ô
edit_netmask=ºô¸ô¾B¸n
edit_relative=¬O§_±N²Å¸¹³sµ²ÅÜ§ó¦¨¬Û¹ï³sµ²?
edit_insecure=¥Î¤áºÝ¬O§_¥²¶·¨Ï¥Î¦w¥þ³s±µ°ð?
edit_mode=¦s¨ú¼Ò¦¡
edit_ro=°ßÅª
edit_rw=¥iÅª¼g
edit_noaccess=¬O§_©Úµ´¥Ø¿ýªº¦s¨ú?
edit_squash=«H¥ô»·ºÝ¨Ï¥ÎªÌ
edit_everyone=¥ô¦ó¤H
edit_except=°£¤F root ¥~ªº¥ô¦ó¤H
edit_nobody=¨S¦³¤H
edit_uids=¤£«H¥ô UID
edit_none=µL
edit_gids=¤£«H¥ô GID
edit_anonuid=±N¤£«H¥ôªº¨Ï¥ÎªÌ·í¦¨
edit_default=¹w³]
edit_anongid=±N¤£«H¥ôªº¸s²Õ·í¦¨
save_err=Àx¦s¶×¥X¥¢±Ñ
save_edir=¥Ø¿ý '$1' ¤£¦s¦b
save_enetgroup=¿ù»~©Î¯Ê¤Öªººô¸ô¸s²Õ
save_enetwork='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô
save_enetmask='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¾B¸n
save_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
save_euids=¤£«H¥ôªº UID ²M³æ¥²¶·¬O¥H³r¸¹ ',' ¤À¶}ªº¼Æ¦r©Î½d³ò
save_egids=¤£«H¥ôªº GID ²M³æ¥²¶·¬O¥H³r¸¹ ',' ¤À¶}ªº¼Æ¦r©Î½d³ò
 07070100067ab8000081a40000000000000002000000013d1fe2d500000391000000200000000000000000000000000000002000000003reloc/hpuxexports/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'exports-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, [long])
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
$p->{'host'} = $p->{'host'} ? &html_escape($p->{'host'}) : '*';
$object = &html_escape($object);
if ($action eq 'modify') {
	return &text($long ? 'log_modify_l' : 'log_modify',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'create') {
	return &text($long ? 'log_create_l' : 'log_create',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'delete') {
	return &text($long ? 'log_delete_l' : 'log_delete',
		     "<tt>$object</tt>", "<tt>$p->{'host'}</tt>");
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
else {
	return undef;
	}
}

   07070100067ab9000081a40000000000000002000000013d1fe2d50000000b000000200000000000000000000000000000001b00000003reloc/hpuxexports/low.risk    noconfig=1
 07070100067aba000081a40000000000000002000000013d1fe2d500000011000000200000000000000000000000000000001c00000003reloc/hpuxexports/low.skill   icons=1
simple=1
   07070100067abb000081a40000000000000002000000013d1fe2d50000000b000000200000000000000000000000000000001e00000003reloc/hpuxexports/medium.risk noconfig=1
 07070100067abc000081a40000000000000002000000013d1fe2d500000009000000200000000000000000000000000000001f00000003reloc/hpuxexports/medium.skill    simple=1
   07070100067abd000081a40000000000000002000000013d1fe2ea000001df000000200000000000000000000000000000001e00000003reloc/hpuxexports/module.info desc_ru_SU=NFS òÅÓÕÒÓÙ
risk=low medium high
desc_ko_KR.euc=NFS ³»º¸³»±â 
desc_zh_TW.Big5=NFS ¶×¥X
desc_pl=Zarz±dca udostêpniania
desc_de=NFS Exporte
name=Export Manager
desc_zh_CN=NFSÍøÂçÎÄ¼þÊä³öÏµÍ³
desc_pt=Exportações de NFS
category=system
desc_tr=NFS Sunumlarý
os_support=hpux
desc=NFS Exports
desc_es=Exportaciones de NFS
desc_sv=NFS-exportering
desc_fr=Partage NFS
desc_ja_JP.euc=NFS ¥¨¥¯¥¹¥Ý¡¼¥È
depends=0.990
version=0.990
desc_ca=Exportacions NFS
desc_ru_RU=NFS Ðåñóðñû
 07070100067abe000081e40000000000000002000000013d1fe2d50000024f000000200000000000000000000000000000002800000003reloc/hpuxexports/restart_exporting.cgi   #!/usr/local/bin/perl
# restart_exporting.cgi
# Call unexportall and exportall to stop and re-start file exporting

require './hpuxexports-lib.pl';
$whatfailed = "Failed to apply changes";

$temp = &tempname();
system("$config{unexport_all_command} >/dev/null 2>$temp");
$why = `/bin/cat $temp`;
unlink($temp);
#if ($why =~ /\S+/) {
#	&error("Unexport failed : </h2><pre>$why</pre>");
#	}
system("$config{export_all_command} >/dev/null 2>$temp");
$why = `/bin/cat $temp`;
unlink($temp);
if ($why =~ /\S+/) {
	&error("Export failed : </h2><pre>$why</pre>");
	}
unlink($temp);
&redirect("");

 07070100067abf000081e40000000000000002000000013d1fe2d500000232000000200000000000000000000000000000002500000003reloc/hpuxexports/restart_mountd.cgi  #!/usr/local/bin/perl
# restart_mountd.cgi
# Do whatever is needed to apply changes to the exports file

require './exports-lib.pl';
$whatfailed = "Failed to apply changes";
&system_logged("$config{'portmap_command'} >/dev/null 2>&1 </dev/null")
	if ($config{'portmap_command'});
$temp = &tempname();
$rv = &system_logged("($config{'restart_command'}) </dev/null >$temp 2>&1");
$out = `cat $temp`;
unlink($temp);
#if ($rv) { <-- This seems to be a bug
if ($out) {
	# something went wrong.. display an error
	&error($out);
	}
&webmin_log('apply');
&redirect("");
  07070100067ac1000081e40000000000000002000000013d1fe2d500000420000000200000000000000000000000000000002200000003reloc/hpuxexports/save_export.cgi #!/usr/local/bin/perl
# save_export.cgi
# Save, create or delete an export

require './exports-lib.pl';
&ReadParse();
&lock_file($config{'exports_file'});
@exps = &list_exports();

if ($in{'delete'}) {
	# Deleting some export
	$exp = $exps[$in{'idx'}];
	&delete_export($exp);
	}
else {
	if (!$in{'new'}) {
		# Get old export
		$oldexp = $exps[$in{'idx'}];
		%opts = %{$oldexp->{'options'}};
		}

	# check dir and active
	&error_setup($text{'save_err'});
	-d $in{'dir'} || &error(&text('save_edir', $in{'dir'}));
	$exp{'dir'} = $in{'dir'};
	$exp{'active'} = $in{'active'};

	# check inputs
	&check_inputs();

	# validate and parse options
	&set_options();

	$exp{'options'} = \%opts;
	if ($in{'new'}) {
		&create_export(\%exp);
		}
	else {
		&modify_export(\%exp, $oldexp);
		}
	}
&unlock_file($config{'exports_file'});
if ($in{'delete'}) {
	&webmin_log("delete", "export", $exp->{'dir'}, $exp);
	}
elsif ($in{'new'}) {
	&webmin_log("create", "export", $exp{'dir'}, \%exp);
	}
else {
	&webmin_log("modify", "export", $exp{'dir'}, \%exp);
	}
&redirect("");

07070100071c09000041ed0000000000000001000000033d1ffa5100000000000000200000000000000000000000000000000d00000003reloc/images  07070100071c1b000081a40000000000000002000000013d1fe2b7000000dd000000200000000000000000000000000000001700000003reloc/images/audio.gif    GIF89a  Â  ÿÿÿÌÿÿÌÌÌ™™™fff333      !þNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995 !ù   ,       PºÜþÎHø¤-tYC$¦!zP(
WÉ›ñEz‘U[Ü4ìÝJÞì¯€1ºT/²g ŠÌOó9T7A‰3‡Ín}7ÑšaîÊŒpÍ^$  ;   07070100071c1c000081a40000000000000002000000013d1fe2b700000029000000200000000000000000000000000000001600000003reloc/images/back.gif GIF87a
 
 €  ÌÿÌ   ,    
 
  „©Ëíc+ ;   07070100071c1d000081a40000000000000002000000013d1fe2b7000000f6000000200000000000000000000000000000001800000003reloc/images/binary.gif   GIF89a  Â  ÿÿÿÌÿÿÌÌÌ™™™333         !þNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995 !ù   ,       iHº¼ñ0@«$¾Y
]! ©q^¨¥	¡kêµ®ßjAèüvƒQhè³)ƒä àŠn%Ó–“—¾*Ô‚¥ZUÆîÄ)ô„§´ã9ë!_Ñ8ëÚ³ës˜;¯î‹	J‚I;C‡ˆS	 ;  07070100071c1e000081a40000000000000002000000013d1fe2b7000000e1000000200000000000000000000000000000001500000003reloc/images/dir.gif  GIF89a  Â  ÿÿÿÿÌ™Ìÿÿ™f3333         !þNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995 !ù   ,       T(ºÜþ0ÊIY¹øÎºïEÄ}d¦)Å@zj‰C,Ç+ŽõWž<œìIEáqg<²‚N"4ÚIRaV˜VÅÝÂx‚Ôl<&€Ãæ´zÍ#,LðŒ; ;   07070100071c1f000081a40000000000000002000000013d1fe2b700000135000000200000000000000000000000000000001700000003reloc/images/image.gif    GIF89a  ã  ÿÿÿÿ33ÌÿÿÌÌÌ™™™ffff  333 ™Ì ™3 3f               !þNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995 !ù   ,       ðÈI§¸XÀ»ßGvm^I†Yv*:A, ÚØ6Ë°¿àkë-ŽÈÅØãž¥6KX5 Tª“%8kVËbßð•4ˆ¾öjÝîi‡¾ ðe,|y7W„†‡ŠŽ/+f”•z%~™€–w
£¤Ÿ›—%ˆP¬­O@I²³R ;   07070100071c20000081a40000000000000002000000013d1fe2b70000002a000000200000000000000000000000000000001500000003reloc/images/lc1.gif  GIF87a  €  øüø˜˜ø,       	„‹›Î \ ;  07070100071c21000081a40000000000000002000000013d1fe2b70000002a000000200000000000000000000000000000001500000003reloc/images/lc2.gif  GIF87a  €  øüøÈÌÈ,       	„‹›Î \ ;  07070100071c22000081a40000000000000002000000013d1fe2b700000076000000200000000000000000000000000000001600000003reloc/images/left.gif GIF89a    €  þþü!ù   ,         MŒ©Ëí£D`N€-Ä\7Þy
ŠYšhê­¬åÆî(×`bçÙ©ç|o£ k¸aŒfD-’ÊåÑdxB³i´i¥’²¿W[ùžÄä²ù(  ;  07070100073295000041ed0000000000000001000000023d1ffa5100000000000000200000000000000000000000000000001500000003reloc/images/letters  07070100073298000081a40000000000000002000000013d1fe2b600000117000000200000000000000000000000000000001d00000003reloc/images/letters/100.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÄðÈI«½8SÀ;Ðàáu¡6rev~éµ¶î	[ï¼É ¡HU_	ÁI@˜ü(áŠè%ˆÁÒ#á&Ñé(ðTj¿”Ät(ƒ'^Ï ä.±«AÏâ¾VlŒôZïT3wWi?x ˆW}(OŽ,V#!“F's‚'E&|'bW+›?‡¢¥ŒƒL{Œ':²¶_S°Âo§Æ¸¿´Â£‘P“ŸÐXeey6ÝÞßàáâãäåæçÝ ; 0707010007329a000081a40000000000000002000000013d1fe2b600000107000000200000000000000000000000000000001d00000003reloc/images/letters/101.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ´ðÈI«½8ëÍ»ÿ`(Ždi&DJ b! pIGrlè@Ø gùƒCáÈXpÀ€ª+P
ÑJ‚sN^9ÃÁ…$`›H–mÎË–}:‰‘ÉÔö}Gg€@ƒ…L‡mRŒŽŒ5u1w!p2V"i9$e ”Zn’“d:bhA*AD°ˆ2ªž}^¨ˆIc„G<	`¬5+&ÏÐÑÒÓÔÕÖ× ; 0707010007329b000081a40000000000000002000000013d1fe2b6000000c9000000200000000000000000000000000000001d00000003reloc/images/letters/102.gif  GIF89a 0 ã     UUUªªªŽŽŽrrrÿÿÿãããÇÇÇ                     !ù   ,     0  vÐÈ9‡½‡ÎS€ÿÀ ‡ ‚¢fž_Z±¨À­Ê
AŽhp6J°ß$¨!äf¬c€`@Ò@æóuNÕë'Š¸À.ƒ…($ÿÌ#4%²Ûêñ»<?×Ó÷õ©mˆór{p€‚t†vˆxŠz |‘’“”•–—˜™? ;   0707010007329d000081a40000000000000002000000013d1fe2b600000141000000200000000000000000000000000000001d00000003reloc/images/letters/103.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  îðÈI«½8ëÍ»ÿ`(Ždib	¡&d p<SÜøeÄ¼Œ¯ž%ØëÄX%Yä	˜ J¡IŠ”kspTaµ-’Ð6'Þâ¯‚0ˆf?v4z˜öxX@E4uoPcvŠE‹=sŒƒ~<€‚o<;ƒrtThM’{|}Tk	iyn_UŸ¸§«¼0{C¼Gµ·<G¤£6=–Ëo#Å	E$™1›ÒNtÈ†´<Ñä1,ÛÉ8é1È¿0±mö=ªçñ_Ö¡ø÷Ìœ¼»a€ ¾
  ;   0707010007329e000081a40000000000000002000000013d1fe2b6000000f4000000200000000000000000000000000000001d00000003reloc/images/letters/104.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ¡ðÈI«­èM®ŸÙ¦uŸŠdiœz±£»Š±LÁ@j¸n÷‚€0Ñr’„à8(ÌhDœh¸	ƒ£¶*ÁeµÌ"L¦ºå€úËDkâ$[T”.mGú™ÇpwFPcƒ‚(„‡†-@ŠW@Œ/’O‡•”H˜Vƒž š…“ ›¥—§–‹ª™¦¤«Ž°®©³Ÿ‰;¹º»¼½¾¿ÀÁÂÃÄ. ;0707010007329f000081a40000000000000002000000013d1fe2b60000006f000000200000000000000000000000000000001d00000003reloc/images/letters/105.gif  GIF89a
 0 ¡     UUUªªªÿÿÿ!ù   ,    
 0  @œŽ2í°Æsq¶jñÔ/ú†b@–G1™º±›J«ÜÒ¯[|ñ;Þþt¨ ÑWÎŽÂ¤	I§ÔªõŠÍ.
 ; 070701000732a0000081a40000000000000002000000013d1fe2b6000000bc000000200000000000000000000000000000001d00000003reloc/images/letters/106.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                     !ù   ,     0  iÐH3ªs‚ÍA–÷á6–Þ‡žåè¾püt°!Þé¢Úú9àNØË¬ˆ&dÊøcChQÓ¤>­QìTå^½Yð–Ô%Íaôø(M¶—Úä¡8PäŽ/ìñ (7ƒ!~6 ;070701000732a1000081a40000000000000002000000013d1fe2b600000108000000200000000000000000000000000000001d00000003reloc/images/letters/107.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  µðÈI«½ kp{Ýš'`6z%wbåÊ‚®•Æ_KOó-åüÀbg« )®89¦ÞY‚F™‡ÀSÆÔ–¯Í¤¹°¡|F‹×%3ªä,)ç *¨0Jù}~)	"‚)`x†|‚z‰d%€armW m• ˆ5iIn!	eª&¨–¥bF~žR[K¦~„D¾¢½µœŒ:ÎÏÐÑÒÓÔÕÖ×Ø. ;070701000732a2000081a40000000000000002000000013d1fe2b600000068000000200000000000000000000000000000001d00000003reloc/images/letters/108.gif  GIF89a	 0 ¡     UUUªªªÿÿÿ!ù   ,    	 0  9œË1Ê–ƒqFù.°—×ÜÕˆ%‰¡›™jÞé²«ú¶!-×sŒ÷üŽ„°`L*—Ì¦ó	  ;070701000732a6000081a40000000000000002000000013d1fe2b600000145000000200000000000000000000000000000001d00000003reloc/images/letters/109.gif  GIF89a( 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ( 0  òðÈI«½8ëÍ»ÿ`(Ždižhª–áZò&XÜøD@ïˆJaàëAJ Ø“,™E˜UBOª–Õ“n¯à-Ä^J,»©‚©Vpk—qé5;)!x|h zL|pT†>	TRhh–Tˆ:P™P›T~L¡L£¥§E©U­¯‘=«´¶=±>º¼¾ À¹ÄŸ¨¸ ÂË} ÎÐW®ÓšÊÖµØ¢ÚL¦ÝªßEáÍÙ³Û½â²ÑÆÈÏä>æ°ÔôM×çÞéàû÷Ð¹SWlÚŠƒ*\È°¡Ã‡#JÜ ;   070701000732a7000081a40000000000000002000000013d1fe2b6000000ea000000200000000000000000000000000000001d00000003reloc/images/letters/110.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  —ðÈI«½8ëÍ»ÿ`(ŽdiN¡Zà¾ÅT@mÉeÛÁÐ»` Q	†@ãnP
”ÊÞÄ˜„s+`ð²¦Ð¥ €,K@yÞI-	v‘ì:cÛ¦±ã-~zu‚w„yA{5}„Mˆs‘‡;‰ ‹‘“–ƒš†€Œ¡Žž…”¢ ¨¥|¦•­'²³´µ¶·¸¹º& ;  070701000732a8000081a40000000000000002000000013d1fe2b600000117000000200000000000000000000000000000001d00000003reloc/images/letters/111.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÄðÈI«½8ëÍ»ÿ`(Ždiž¡ª‰ ÏÀ`$ßKï´Ðn„o(#hÄd“P:!o¨JwKa8€N‚a¡r•~–0–Òäá0ˆ¡×Àl<Ã¿ób;Coq<ƒˆC‰;Œ’Ch’j4~€={yt4–Q<~C‚¢;–®4¬[<³‡S+0D…µNDz|Â£ÆÇ ·eIcÏ36§	UÛ¿(ßàáâãäåæç& ; 070701000732a9000081a40000000000000002000000013d1fe2b600000127000000200000000000000000000000000000001d00000003reloc/images/letters/112.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÔðÈI«½8ëÍ»ÿ`(Ždir¡[à¾ÅT@m	fÛÁÐ»` a	†@ãn@¤¥RP‘Z±ÉõèJ›«| xmÙ°ÒpA(Z#SP6•é‹’¥’-XJOƒB‡}<ŠŒŒ‹‰5=“;—„AYvg |k	¡•69QAsª5¬žAlˆR*£5`[Â¸¹KÂ²dJ¨Ç´Å6e[|NF	¿ czÕ	/ÔA%œ#ç"é!ë íïñó+÷$ ; 070701000732aa000081a40000000000000002000000013d1fe2b600000125000000200000000000000000000000000000001d00000003reloc/images/letters/113.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÒðÈI«½8ëÍ»ÿ`(Ždib¡$b@,ˆ”xžX,ÿ1`QÄ¤Šh”“ÄA9A@¡¾_SpÅq¯E´@A®F$Õ2UJ²2CædY‰5LÂýü	6pAj?rguˆZ‹2,Ž‚‡T‘a“‰•M™ƒD†sT}2nw@ym‰ (®–«?°²–§@+•Œ„``š¹I®š¸Ä18kUÇÍŠÏ¹†œ9šÙ"à!â äæèêìÔåð	++5 ;   070701000732ab000081a40000000000000002000000013d1fe2b6000000c1000000200000000000000000000000000000001d00000003reloc/images/letters/114.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  nðÈI«½8ëÍ»ÿ`(NaJI ®‰„@H„,GmÏùˆæ#|<Í€L6‘Äç.Š4´*ÊÝÕ’•2Ý˜&,ûæ|NÛÖ˜0ü"wËæÜ6[má±zqtƒy|{o#Š‹ŒŽ‘ ;   070701000732ac000081a40000000000000002000000013d1fe2b60000010e000000200000000000000000000000000000001d00000003reloc/images/letters/115.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  »ðÈI«½8ëÍ»ÿ`(ŽdÉhà¾î$1À8<ÐWÿ0‚… ,º„ÄÍP
¹A1I´rÈƒÇ«\aÉ“ˆŠ±˜TªpÎ	²ïOFèb ÌW`Š‘çT~pKGi[N	Š@‡@a	j(‚J9aŽ/li£D8š8l?vx\…1¼¥:I•‹.v«ÂŒƒºM—U¾Q§'½¼ &×ØÙÚÛÜÝÞß ;  070701000732ad000081a40000000000000002000000013d1fe2b6000000cf000000200000000000000000000000000000001d00000003reloc/images/letters/116.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  |ðÈI«½8ëºOY Œ$’å‰&&®íõ¢±5§•7¬€àžWÅÃi\Ž’„¨€gˆ@”Û¨–ãq³^MŒ“…]g3Œ¼e³Üß‰ö^×Ç÷²'ÀîIK„€	S<…	VQ~–—˜™š›œžŸ ; 070701000732ae000081a40000000000000002000000013d1fe2b6000000f0000000200000000000000000000000000000001d00000003reloc/images/letters/117.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ðÈI«½8ëÍ»ÿ`(Ždi^E ®I–®j tMdsMß¹~c=Û!¸ÃéŠDÀï’ä•Æ£SõŸKKóJb¹V/u+¶’™ß³6ý-Õ•-œ"o£ÇvË€},`OPInBYIE	 ‘{Ž?”Ž˜B‡™:v—™v¡¤]Ž~ªy0-'¹º»¼½¾¿À¾ ;070701000732af000081a40000000000000002000000013d1fe2b60000010a000000200000000000000000000000000000001d00000003reloc/images/letters/118.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ·ðÈI«½8ëÍ»ÿ`(Ždiž¬l°íJ	`ßÀŒ!øHƒÀ!Ã1%5!#L'aáÅ	*¡Ë¢ìm)<á%Û»RØ¸_Eøµ„{Ï‰±§³Ð+M=LRA8c{8}]7}†7ˆw7He87y6rBr‘6[Š6–/=_˜¦i™¥Vp¦¬”U g°»7n¶=ˆ¨|"¿#›8Ç (ÒÓÔÕÖ×ØÙÚÚ ;  070701000732b0000081a40000000000000002000000013d1fe2b70000016d000000200000000000000000000000000000001d00000003reloc/images/letters/119.gif  GIF89a( 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ( 0  þðÈI«½8ëÍ»ÿ`(Ždižhª®f¼p\1<[Eàÿ ‚üñ,‚bPP,%ài‘N
ÊNª­$”‚	QiiZ+ØâQ2P
)mé{bÞ˜ÊuO
Ðâ?]QET„R†{@Š‹i>Eˆ?sIEtv›“”[Es€ š>su>a_EŒ¡’³j¦S‡@²–T°v¬>‘Kc?½@‚PJ3¬¸?œÅn¨x—Ú@˜H…´Ç¾ã¢¶­Â}ƒ@– ®ìªÃÓ>ÈíY@¦»îd(ö®Ámâ™«Ä‡eÙ(Ôûæ!Õ'l|>¨óÎÉ‡‰+lÌBŠfY¨\É²¥Ë—0cÊœI³&… ;   070701000732b1000081a40000000000000002000000013d1fe2b600000109000000200000000000000000000000000000001d00000003reloc/images/letters/120.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ¶ðÈI«½8ëÍ»ÿ`(Ždi†D ®*r¥¬jH`ßÀlÕ¸H‰ÞÍE)sÃQ@AðpƒÝñ'Q
	– 0z@k¯pl‰ç–pÄfØG!xˆCÑµàæÀãsuGx^Gd b=\Zq:OqTŒqŽ{H”6˜>£ 	ˆ†@G:Fr 6h²|ƒcw»7šf°]µ}œ8X¸8L¦À'ÑÒÓÔÕÖ×ØÙ" ;   070701000732b2000081a40000000000000002000000013d1fe2b600000127000000200000000000000000000000000000001d00000003reloc/images/letters/121.gif  GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÔðÈI«½8ëÍ»ÿ`(Ždi†Aª‰F¬©q@mZ`Û²±Ûš_­•‚p0¡ýdßs"Ý1/aK‚0".ËJöW°(É•‚WÑý¾”®Ðâ´	°BäD¾+[ÔS€;panv‰6[B~g}EoA?wU5l‹sc6z–;H u“œ ŒG¦F5«BP¯·C|‡¢ƒ?ŽÁ6W!Ä5¼ ³ É¹?Í ­5‘ÞÓ …àŠä¿æ¾šéFâ°5î!	0Õ ; 070701000732b3000081a40000000000000002000000013d1fe2b6000000d3000000200000000000000000000000000000001d00000003reloc/images/letters/122.gif  GIF89a 0 ã     UUUªªªŽŽŽrrrÿÿÿãããÇÇÇ                     !ù   ,     0  €ÐÈI«½8ëÍ»ÿ`(ŽdI"Aª®l‹H Ïtm°­ï¸ïÀYï‹ÁÞaÀl:™;Á' <T›[½v<±ÖãŒiåÍyVðº€n“wÞñy—«õr²5[€5/kH4rˆ‰2‹;u>“”Œv&›œžŸ ¡¢£ ; 070701000732b8000081a40000000000000002000000013d1fe2b6000000ee000000200000000000000000000000000000001d00000003reloc/images/letters/123.gif  GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ›ðÈI«½8KÂyÊH Œd€d
˜ª–×ðÂ•›H&¦‚vì$‚8jˆ £N¥Ä ›—ç9MA-Ò#Uk­5ˆWƒñ.r4®ÍŸ‹m$(hæ€¡Ýš%Éjf]\$>/qKƒ‹_„E^“WY’™”›–˜N*>*|	3¬vX~+h‚*,¥/µhj¬­‡ ;  070701000732fd000081a40000000000000002000000013d1fe2b600000065000000200000000000000000000000000000001d00000003reloc/images/letters/124.gif  GIF89a 2 ¡     ªªªÿÿÿ   !ù   ,     2  6”)Ý±Ü‹²J•`ã«e8r^Hv¢šžåg®.·òmçõ÷(ÿó½‚Ä‰âˆL*—Ì&¢  ;   070701000732fe000081a40000000000000002000000013d1fe2b6000000de000000200000000000000000000000000000001d00000003reloc/images/letters/125.gif  GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ‹ðÈI«½ø½Sž@(Å'ž@¡§z±§—%êfûIúÞ›¨Ýá·
úŒÀ“ˆa¾EåQú JŸŠ°³¢™áµefº…AÔX7Š¾Pñå-â&EKPM‚OTQ€Sˆ!†ƒŽ…Š‡ŒNk#œ|"‘,¡'~0yœ«zBB ;  070701000732ff000081a40000000000000002000000013d1fe2b6000000bb000000200000000000000000000000000000001d00000003reloc/images/letters/126.gif  GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  hðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾°štP RTàÿ A3PzÀä`wô†¤Ô70
ƒŸA2íN$ @¸
¼@‚$áSSQ¯[RÅÀ§s	3£«p1‚ƒ„…†‡ˆ‰Š‹  ; 07070100073300000081a40000000000000002000000013d1fe2b600000131000000200000000000000000000000000000002800000003reloc/images/letters/177.iso-8859-2.gif   GIF89a 0 ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÞðÈI«½8ëÍ»ÿ`(Ždi&Dš" b@,ËÁsžIèÀ™Íò=JâxTŠº€4 ²&À€… ¸9çE ó‚gTæý ªB"µŽ_æ*3Ö–$È{9}8e„G€vKAWu ^Œ2iD†@Iœ‚g2bc¤1Zw]£:¦˜l~­oA^A’²¢ˆ…¿·{š:¶pA:W•1šXQsS 	Á 5 ß9â-²É"é#2Ò!©%î1&˜ãnËõ$.ˆ&4D  ;   07070100073301000081a40000000000000002000000013d1fe2b60000008c000000200000000000000000000000000000002800000003reloc/images/letters/179.iso-8859-2.gif   GIF89a 2 ñ     UUUªªªÿÿÿ!ù   ,     2  ]œ©Ëm¢ÊH•½9íY]X(vÈ7j"@&Ê¦Ï
p=Ó¬­§7—Óu~;Í4ø!• l)x’€ªÒwZ!ƒX#µi­~³aðØÛåÊÈguÑœvÈçôºýŽÏëõ ;07070100073302000081a40000000000000002000000013d1fe2b60000012c000000200000000000000000000000000000002800000003reloc/images/letters/182.iso-8859-2.gif   GIF89a ; ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÙðÈI«½8ëÍ»ÿ`(Ždi’H ®A
@,!!Ï!2Ü <Èv‚v8e89Ÿ„¨4T€ñbƒÖ†€¼ò®ÐK,Ä2ù<Ñ©ËJá:( &	+}ßÂzI^	t^|RR‰^‹‚t€so3v•œw œ“]œ1¨K¬X	«Šd4	Q£nA}Wi8É²»<‘™©^a¦ Y+dqÃ±Ë±¨¥ß®	~ÛÇQ,ÁOõö÷øùúûü ;07070100073303000081a40000000000000002000000013d1fe2b6000000fb000000200000000000000000000000000000002800000003reloc/images/letters/188.iso-8859-2.gif   GIF89a ; ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ¨ðÈI«½8ëÍ»ÿ`(Ždi’H ®A
@,!!Ï!2Ü <Èv‚v8e89Ÿ¢kJ¥º$Džv L²Üp÷+.{±eñù NóÖ‚|N—s  v€øèy|~[\km2ˆŠ1ŒŽ M:[F–Z˜šAž7„¢}¥2£©2W’n=h²—´µŸl¸›·»1>±nœPÄÅÆÇÈÉÊË ; 07070100073304000081a40000000000000002000000013d1fe2b6000000e7000000200000000000000000000000000000002800000003reloc/images/letters/191.iso-8859-2.gif   GIF89a ; ó     UUUªªªŽŽŽrrrÿÿÿãããÇÇÇ                     !ù   ,     ;  ”ÐÈI«½8ëÍ»ÿ`(Ždižã ®Ã¼0àÆïLÛ1ë5êÿD`H,ˆÉ€ÆlÂZ’¥súTR¯PƒôêÌn¹ÌìE^9 @Spø¨™l÷ºí!t?ßX–“¯zú/Mƒ…L‡„†ˆsrpto4q•4I`S‹€ Ÿ¡ŽZ¤ŠQ§4£ª0‹@°±²³´µ¶· ; 07070100073305000081a40000000000000002000000013d1fe2b600000160000000200000000000000000000000000000001d00000003reloc/images/letters/192.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈI«½ø†ÍÉ F d	 aJ&¨ðÁš_œÎä€Ú!¼[+ìu€Å¤rÉlJ|%$SÐ*šˆª‰¸,h£Óon™“jEƒ™ôJÖ¤d¢:x·Ð6uË 7µyv[sUAƒ-Z<UmŒ-<Z5P'1•‰1~œ%‘*ew+Z;!^„ZR T-Ÿc!£&Š©C¨¦¶`  ¯&W†~ËÌÂ%\}pb­ÐÕZÉÚ_xÔÞZ±ãp•ìÅ4³$§ÈZ¡æU÷!Ù–º·0Ä‘Àuà]	z º‘õk¡~(þ• ¨B  EçÙP@Ÿ“ CŠI²¤É“(SÚˆ  ;07070100073306000081a40000000000000002000000013d1fe2b600000166000000200000000000000000000000000000001d00000003reloc/images/letters/193.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈI«½8cº‰&V`žÁ¨Ä‰®#2¸@
‹mßYëî<Ììì}Å¤rÉlN|4 ²YŠM„õZ¶¦©²ºÅ*µ`AiH›€¼¡;™ˆä§u°M3ðEx&	uQA…4V<9:Ž.<VzP.0—'‹0‘DQ“*h4z›&™#_†Vbd¡ &f¦.Œ®4]¿˜»'²‚ ¤´¸ˆ?ÓÔÊ ÁniÈØÝ¯Ñâ`¨Üæ[pŠëÝªËôÎj·«#å&Ìî4þiÀÆêÀ°½F¨3‘ð€‚"ú-“`Ìß‚=ÁX€‘Cˆü¬tB²¤É“(Sª\É²¥K  ;  07070100073307000081a40000000000000002000000013d1fe2b60000016d000000200000000000000000000000000000001d00000003reloc/images/letters/194.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈI«½8Oº'Zh@i‰¨ç9 ªV´¤)ÄXÒHkàD­Z  Dà¢Z0 ÁÓ‰NÔŸrËíz¿˜c«¤3Ç€øÐC—Rß™PîžÝjo{HrŸ| E]C|]:4…%~@€'Ž&ƒJŠ(ˆ-[—'hJ,-ƒ '7@hIbP8©›8£’±%¥"{'Œ¬&V2hhuw²´i·¯r-pÌ'½¸&Â#c¶Ä%y9háâS•(‘sÖåécÞîéŒWñé“õî»µTþÛC#í‚&ÐdÓPÎ
4žT +ñ@@ áµ(E­†RlôêbÆ=®YÉ²¥Ë—0cÊœI³fÌ ;   07070100073308000081a40000000000000002000000013d1fe2b60000016d000000200000000000000000000000000000001d00000003reloc/images/letters/195.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈI«½8ëÍg
`T`Ž˜,0#²š)e´xnÔR™ÿ&ïp3„YŽ0<Œ•äÀ$@‘asËíz¿<p~þ`ÐÊ- Mä®ˆîªßLnñt§|4[	9€-yC{,‹&~M‡,	„9M•8?CJ,žTC?yb9Z¦™›5¡}*9)w,‰ª-¨n–?qsŸ¯uµP½8lÌºÉ Á’¢Ã&Ç˜-Xá×'Žcäè?Þìxçð9¿ôè¹,!þÿÚLÜ:ð
À.w?fQH˜b*h,8u˜'ÑÉƒÞa›¦°áÅ•¥ hñ :‚YÉ²¥Ë—0cÊœI³æË ;   07070100073309000081a40000000000000002000000013d1fe2b600000163000000200000000000000000000000000000001d00000003reloc/images/letters/196.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈI«½8ëÍø ! ØYå'dzV)°¶åKÅslOø¨ï‡€p˜$†C rÉl:Ÿ/ZÊ Ä>ƒ'â
*6Üµig™Û°ŠiPÌû³LÄòÔj×žöKp@y%	v?6†.1;1);W91QW7Œ/’€Ÿ ”izR ™`‡<1ce ¢X¦%­)^½%«¹ ±ƒ£³ g‰€ÒÓÉ]saÇ×Û›Ðà\{ÚäW0én©HóCÌ!µWÃãñì“'ß btÚû O? ¤Šõ{0Á„6h´P ¢+¤ ˆI²¤É“(Sª\ÉH ; 0707010007330a000081a40000000000000002000000013d1fe2b60000017b000000200000000000000000000000000000001d00000003reloc/images/letters/197.gif  GIF89a# ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # ;  þðÈIi ˆR»ÿR@ žž1bf °”ˆ„YƒDÆM…aÇRz€!ÑƒÈ(€nÙi	„è“ÊÄ‘ 4î¡	¦âns‘_ÀË-‰ÆôC3>JÐƒ|.tv|xm{Fie‰%m^ i	w#JTŒ#š&\–	”q\¤_2q?D-$Ÿ­fT|Jp$l'µ#|«0°ž¿;ˆ$˜¹91€¨|s(„ÀÂ†'Å#½Ì$~'Ü#·Ø‚'¡ÃÒ`'§®XîXæ Þ)‘ör ò÷ÍìûÇ&túç“3‚‘:$ÓÀ¢¡Ã†é’Pãs«Ÿ-.î7œ)¬ŠXÑƒ?'64áxÀ£È%!9\rò\ž›8sêÜÉ³§ÏŸ@ƒòŒ  ; 0707010007330b000081a40000000000000002000000013d1fe2b60000015f000000200000000000000000000000000000001d00000003reloc/images/letters/198.gif  GIF89a1 ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    1 ;  þðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾p,[`ßx®ï9Ñ%¼ pçã†ÈaqSK:uËáIÅE1ªöz!àK.›ËˆMA<Éæ®p®ÐÖÁYˆ]ZâÆÝWk9}7*M8tuo,@:{|v,G„“+‰7W…Z \S:[¥‡’ž›D¤«¬9¥U r~µ°6¸yP¼‚gÄd‘³7X˜'š6ÒÓÒÏ ©#°Ø"•Û(ÖUÜ ¢½ã¶â';cÅ`Í#É±ÌÃîÅ	º8éêÀ–2ô£rGž/~½IÇaà8Úph˜Ðo8ð!¬xn†Ç CŠI²¤É“(OF  ; 0707010007330c000081a40000000000000002000000013d1fe2b600000161000000200000000000000000000000000000001d00000003reloc/images/letters/199.gif  GIF89a" ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    " ;  þðÈI«½8ëÍ»ÿ`(Ždižhª®WR A@ d1Ì|/$ Ä®Gä	pCqÙ#lÌèÌ‰QJ¯ÔJ"*(èr€¤‰ò!&*…å;CXªÏ¼ §Í+LêDE|3~ˆ2x3€=8„h)’}—EY&Œ j%ž*¢)¤(¦'¨&qDœ%˜S)[–_·_HE‚¬=‡›1>¾F³=ŠKË2jV­žz•E BvÆh^`ÃÚžW<¼çécÜèRdáWsµÐnïÈå pEb¿¬l,‘Ç½UÍR IÅ>'Ô 8³nÄ¬ˆŠø×ãÃ$8Û ;   0707010007330d000081a40000000000000002000000013d1fe2b6000000fb000000200000000000000000000000000000001d00000003reloc/images/letters/200.gif  GIF89a ; ã     UUU999ªªªrrrÿÿÿãããÇÇÇ                     !ù   ,     ;  ¨ÐÈI«½…ÍÃÁ` d)„¨4–$‘¢k9|/“AÞ ¢Û¬ÁTè¸†È¤ry!°žÐ(ëè”Z¥Ô«ö™Ýz»^-8l—è´z­¦UŸÌ7+¥Cíð¥¼„ŸëÉV9{€%‚„… ‡‰…ŒŽ€ŠP“Pl˜j>ƒuwžyJ‰}| ~¢¨Ÿª\™®hˆ”R±²Ÿ‘Š´µ~·…¹º$LÁÂÃÄÅÆÇÈÉÊË ; 07070100073359000081a40000000000000002000000013d1fe2b6000000da000000200000000000000000000000000000001d00000003reloc/images/letters/201.gif  GIF89a ; Â     UUUªªªrrrÿÿÿãããÇÇÇ!ù   ,     ;  ŸXºÜþ0Ž@kˆXÀ;xBù!&ëŒ^,3|?„eïÀ pØP¤‹É4*Íhç)•R«Í+©õà°x>,Œ¿š¸¶…ï`8WoÅ»1¯'ñû€ ‚€… _dŠa‡i7u*Ž2”’l—n™p›r*‰‹¡Kƒ:P¥5¤¨%ª«&«¯°+Dµ¶·¸¹º»¼½¾¿	 ;  0707010007335a000081a40000000000000002000000013d1fe2b600000112000000200000000000000000000000000000001d00000003reloc/images/letters/202.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ¿ðÈI«½xšÀ¹É d d	|áE˜,‘V;°È;Í¥pæ`^#^Vb’`BˆÇE!HµŸvËí^‚¬°X,Ïd zÍ*³ß 7|-ŸŸë9‚~ÏïóñF^j,G^f%…]‡†a‰\‹ [‘“Z‘v$Tƒ™-˜™› v¢a¥¦&¨&~®|Yœˆ‚•´Ž¶„¸&–?µ¹¿»ºy¯ÅK£™GÉvË©·ÌsÎÏÂÑp¼‚ÙÚÛÜÝÞßàáâÞ ;  0707010007335b000081a40000000000000002000000013d1fe2b6000000e1000000200000000000000000000000000000001d00000003reloc/images/letters/203.gif  GIF89a ; Â     UUUªªªŽŽŽÿÿÿãããÇÇÇ   !ù   ,     ;  ¦HºÜþ0J)€½+\¦ª…nãVN'¦hªG´Vz­’ìü2ð»lH,È"-Äl^§T
M¯¡êëÔr¹Þï5œ˜Ïèô¹e&Û¡·ÕýÞÊíõæ]Ÿ;q[~ €‚M„…$~‡ˆ7ŠMj’htIx˜|š—H™ž› GŸ¤‘“¨fpŽ(s¬­‹…«¯"®´µ±‚r»¼½¾¿ÀÁÂÃÄÅ
	 ;   0707010007335c000081a40000000000000002000000013d1fe2b6000000af000000200000000000000000000000000000001d00000003reloc/images/letters/204.gif  GIF89a ; Â     UUUªªªŽŽŽrrrÿÿÿããã!ù   ,     ;  thºÌñ°4%€½džz8w“±uÀPž—Pš" ­Ð¾x®ãjM=Ð
A”Q‰$.;ÏKô×<2’Ð*óêÔf¹ÖVê%ƒ·âîù›+ÆÔµ¹~«él»Û /–ãxszu|wƒy…{};ŒŽ‘’“;	 ; 0707010007335d000081a40000000000000002000000013d1fe2b6000000aa000000200000000000000000000000000000001d00000003reloc/images/letters/205.gif  GIF89a ; Â     UUU999ªªªrrrÿÿÿããã!ù   ,     ;  ohºÜ|!Êà¸˜2‚s;ChL ’×¡Kè9ÄT8tmß¶*ÂâÅ÷¿]C×	‡=€³ô!Oá&ÙTFShVš¢^™_çÛÕ–¹
"x¼>“Ó^¶ØÝ†›íhƒzŽëãt|wƒy8‡ˆ‰Š‹ŒŽŽ	 ;  0707010007335e000081a40000000000000002000000013d1fe2b6000000dd000000200000000000000000000000000000001d00000003reloc/images/letters/206.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ŠðÈI«=(èMî@(‰Œã€X
ŠB• ‚ò†D ƒ E1 VÍª˜ÄyžÐ¨ÔóC UÖz}fG[kXëåŽÁeqšL5¯Ñmuœ}ùŠÎ÷w~¯»ù{~r‚tv!xˆzŠ€Œ„}†‘ƒ•…‡]›“Ž—™’S¤¥¦§¨©ª«¬­ ;   0707010007335f000081a40000000000000002000000013d1fe2b6000000ba000000200000000000000000000000000000001d00000003reloc/images/letters/207.gif  GIF89a ; Â     UUUªªªŽŽŽÿÿÿÇÇÇ      !ù   ,     ;  HºÜþ0€9Ã¢T‰­Â“ÆQ"XžiwÚÌó°Ðtí|ïÿ@`Hð„Åá1©Ü!“Kfêd«R,ò,N½Z0×ú%–›ãlzûèšÃïµ¸M†£éj<Ûá¾óërqzsy…{}W~‰€ƒ‚‡„Ž†@–—˜™š›œž@	 ;  07070100073360000081a40000000000000002000000013d1fe2b60000012f000000200000000000000000000000000000001d00000003reloc/images/letters/208.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  ÜðÈI«½8ëÍ»ÿ`(Ždižhª®lëp,ÏñÈGï< $žpfà0A.ƒD
4Md³#`Ax©n¼g—fýò–/'°›¦ÉÄNüž•9ZÚØî1¨)fpQ2r4‡„…0‹u†Ž{‘Œ€Š’“™;‹“ žœ3¤	¨—2w‚|1®~4hŸƒx;•²q ¼0³µ°±Á‰zÀ ÂmT¹y¶ÑÅ	ÏÐ×¢2Pßà·ã5åæçJFß/˜\.õö÷øùúûüýþõ  ; 07070100073361000081a40000000000000002000000013d1fe2b700000161000000200000000000000000000000000000002800000003reloc/images/letters/208.iso-8859-9.gif   GIF89a# 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # 0  þðÈI%1a€B(I%Žbph
IšjŒ„K!š¬o}» Ï…{"œN@®V9ÅN!—T2$‘‹jM¤*ONOŠ1ÄZbMM
1Ã¼£¢Sr{?„…1j‚6@*zŠ.Œ)T#u(”"16P…Ÿ M›*‹F£œ§=¤v«G©¥°B=x*“Z¬?}.	ÀÀ*=p)b{m(Hd–C²)f{Ì¨¼*^{·ÆÕÖ>ÉÜÛâ¾Þßç,#0:Çá1„®î‘§]åõù+ÅÐîùÛ0@N½cü" ÐA^™v- z0%“Ç CŠI²¤É“(Sªœ ;   07070100073362000081a40000000000000002000000013d1fe2b60000015a000000200000000000000000000000000000001d00000003reloc/images/letters/209.gif  GIF89a  ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,      ;  þðÈI«½8ë}‘	`a	 `pQ®e@HÅú¢	kß*‘wˆ´•‹`ôºC ¨$¼P— É¬vËí¢T8]O¾8ãCù†@ßÈ> r“^ß°šzœI«÷?y~vaz€g‡€mŠƒ7<,s‹BK,x•-F,M”6H„3›r;69š¢’56S¨“l§®Bf¹6p£—+™µž+ Ç¥´ºœ‘%¬Í±,"×·6½Ñ©à,ÞÀÂÄqÁ¯Éìèî„á“ÔÜÙ>í»æôÛãOš†u,
ŠÛ /¡¼êPxOC¾^2jÜÈ±£Ç CŠIrB ;  07070100073363000081a40000000000000002000000013d1fe2b600000186000000200000000000000000000000000000001d00000003reloc/images/letters/210.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8§À{@Y@i
bz‘fI¨ðÄšÃsÜq$<\k„<¯¢rÉ,&
“\"
ƒ–ö¶à– «BHÃè’¡œM»w!DÛýÍÁ`8‡a€‚ada6ˆZD)‘`Ša"_[p˜Zk1w&>%)ŸZd~'<Œ[…›µA±:´ZU=[(£-¬*®-¢`EÄ¨ÃËAÍ%Ê[ÌÐÒ ÖÕÏÛ<ÈÎ½-¿BZÂ·Z¶1º ¡ë¡1`¶ª Æ!ß.Øé)§Óœ0î±«@IŒŠ‰*„kñ!~ ÌQ(8d/Š-4M€h"Ïž>4iJ]C‡Î»‘KLAR%©ÝÐÈÒ@Êã‚<‰Â0 zM‚
J´¨Ñ£H“*]º4 ;  07070100073364000081a40000000000000002000000013d1fe2b600000186000000200000000000000000000000000000001d00000003reloc/images/letters/211.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëC‚ÿÁ&V`ž 1®G€š*+o*‹ÈðÆ·æ¢¼&±n  qÉlŠ…€à4ð({ˆ‚®ö$„®Øäe!¦ã´a”K»!MûíŽc¶â@@0 Åbƒb_$b4\‰/#‘5‹b#a5v\k,x(?/ž+ /›'“2%5†\·,±&qµE7ª²™(¬,®¨£5BÅ'Ä\ÍÑË/ÒÌÔÊ7Î&Ð×7ÉÏ¿@=Âdœ¶=¼pë¢+¹æ&Ç"à0Û º"§áè5êe¸ÇŽB%³6á²IÂ8R àï%Bü|u'>4~Ôd˜CgÌ»CKöb“’N©ßh¸QK„Wn@‘1 ‰N‚
J´¨Ñ£H“*]Ê$ ;  07070100073365000081a40000000000000002000000013d1fe2b600000186000000200000000000000000000000000000002800000003reloc/images/letters/211.iso-8859-2.gif   GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëC‚ÿÁ&V`ž 1®G€š*+o*‹ÈðÆ·æ¢¼&±n  qÉlŠ…€à4ð({ˆ‚®ö$„®Øäe!¦ã´a”K»!MûíŽc¶â@@0 Åbƒb_$b4\‰/#‘5‹b#a5v\k,x(?/ž+ /›'“2%5†\·,±&qµE7ª²™(¬,®¨£5BÅ'Ä\ÍÑË/ÒÌÔÊ7Î&Ð×7ÉÏ¿@=Âdœ¶=¼pë¢+¹æ&Ç"à0Û º"§áè5êe¸ÇŽB%³6á²IÂ8R àï%Bü|u'>4~Ôd˜CgÌ»CKöb“’N©ßh¸QK„Wn@‘1 ‰N‚
J´¨Ñ£H“*]Ê$ ;  07070100073366000081a40000000000000002000000013d1fe2b60000018d000000200000000000000000000000000000001d00000003reloc/images/letters/212.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8[ºGZx%@iƒ¨JÈpžÁ*
§{rf¼Hñ&¹Í‹ 	Ô@AÖË@±•I‰Á`RÔ 1ÊízU‰B€Vt¶Ýžóu “>¶Üä–!Èó<Àjéÿ 1~€‚klxr8;r’”roWsHžš5*¢›s !q/‡¨K9‰%Fl¬"®'œOA‘ÃA¿Jlh2¸m²'º*¼&ÏrQÐÕ±×IÙ¶ÛlØÜÞ âáà/QÔßÂÊIÍtÄl—2Ç‡öIÅð&Òë Ð£'¢V9
«V „u T<$Ru’Àß¡šcéB¦<;œ*4±¨Ñ#=|,*”‡¡Ê‘,]z„ù'¥‡€„\‘‰æ“eQÂŒ¡Åâ—£H“*]Ê´©Ó§P£B  ;   07070100073367000081a40000000000000002000000013d1fe2b60000018d000000200000000000000000000000000000001d00000003reloc/images/letters/213.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëÍq	 T Ý…fÅ˜°@Z´«»ÉM•»àËG¡„‚ 8ˆ–S‚ø´DO*’íz¿`Kâ³4@Üo5'|õžÀöNðî Êr¡ÁÎÎm+~~€}:HxAB‘BuQASB—:( A™Bžq.…¨:{7‡ A­¯-u&¢>›:”«;Ç7Á5TAi>º:Ã³.¼¾&Õ-YÜÚ²AÞâá;ãæå:çêé.YÙ¸PÏOÒ.ÃÈÆOÌ…ûOŽõ¬ù€í enU`•^¬¤ìuH€©B1D×&¸uBD;“T|äaHN¢EÌ\ÔRqk¬‚\þá#“–‘y¨²c ¥=h]Æh„&c˜£H“*]Ê´©Ó§P£z‰  ;   07070100073368000081a40000000000000002000000013d1fe2b600000181000000200000000000000000000000000000001d00000003reloc/images/letters/214.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëÍ+`8}!Ø]d9–æé±ÀÊºï,¥"-«7¬O‰€pÈ¤rÉÔ$
Ah $0…&H Û0¨ëBHÅhC¡E»¶{€gÚá@@0œÃaƒa^a8%‰,’!‹a`0v=0j.x<[Ÿ'¡,œ!”40†[¸.² v¶,V:«,´š ­.¯<ÇHÍÏ:ÏÑ4Ó[Î×ÐÙ:Ë9À%Â4Ä“·?½uè£.ºã%ÉÝ áÇ»¨9å0òôé(X"Ç!"FyüQ  oÌ…%
]@$†S…†%ôðñ“&ƒ:/hØMÄ2`’sL€8g€ÅˆPÎ
—äI”Œ(lÂ³§ÏŸ@ƒ
J´¨Ñ%  ;   07070100073369000081a40000000000000002000000013d1fe2b700000181000000200000000000000000000000000000002800000003reloc/images/letters/214.iso-8859-9.gif   GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëÍ+`8}!Ø]d9–æé±ÀÊºï,¥"-«7¬O‰€pÈ¤rÉÔ$
Ah $0…&H Û0¨ëBHÅhC¡E»¶{€gÚá@@0œÃaƒa^a8%‰,’!‹a`0v=0j.x<[Ÿ'¡,œ!”40†[¸.² v¶,V:«,´š ­.¯<ÇHÍÏ:ÏÑ4Ó[Î×ÐÙ:Ë9À%Â4Ä“·?½uè£.ºã%ÉÝ áÇ»¨9å0òôé(X"Ç!"FyüQ  oÌ…%
]@$†S…†%ôðñ“&ƒ:/hØMÄ2`’sL€8g€ÅˆPÎ
—äI”Œ(lÂ³§ÏŸ@ƒ
J´¨Ñ%  ;   0707010007336a000081a40000000000000002000000013d1fe2b6000000fa000000200000000000000000000000000000001d00000003reloc/images/letters/215.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿããã                     !ù   ,     ;  §ðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾p,OX_@xù^€ O“RÁä—4
ÍäÍRŒúÑÁtRmj'Xï¶›ü£ 39À„Ëˆ5 yè9Çž§ïóI~|l!r: ‡NŠJŒ€hKTyxY[rZ–b“hfœ c”[¢—š˜§ž­w«¯N­fµK¢¶º«±¿Á3ÅÆÇÈÉÊ+ ;  0707010007336b000081a40000000000000002000000013d1fe2b6000001a5000000200000000000000000000000000000001d00000003reloc/images/letters/216.gif  GIF89a% ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % ;  þðÈI«½8ëÍ»ÿ`(Ždižhª®)ò!D 4 E‚!CÀ‚šp80¸(A€!“ŸÏ¥d-¨–˜ Z1Ô­xH Ïµò%»„B*À$¶F‚•V’DjvNPWwP:ˆQs5<[P’„Z‚P‘“UœO>…^.™5uSO­©|B€5¤f4›§|‚PjÅ¢ ÂÇ¾OËÉž•ÏÌÕÉ¹ÔdÖÜŒÚÛBÆOÓÃ„áÄ×·4¹ —ÉBG6ð†¦OüC.’|Ñ`Ö<H²>AÑ6F‘Zi(Ø‹¸a]¿oZÌeXUÃ-KSÐÔµ«¡ï £(%àØÄ!nàÈOK4OV …s‹Î
„¬LD# å„nŠÑHáŸ¾#s0êOÙŽsnäxÁ¢«×¯`ÃŠK¶¬Y
  ;   0707010007336c000081a40000000000000002000000013d1fe2b60000013b000000200000000000000000000000000000001d00000003reloc/images/letters/217.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  èðÈI«½8…ÍÂ  d)„è4–$‘¦k9|o“AÞ@¢Û¬Á/dè¸†È¤r	d‘^gëÀ{¦¢RW •´Þn–¾zÁR±íT³Ø,w	^’O·ö/9mãûk{m€o‚q„s†uˆwe(XgŠV“~Ž!…’š” ›‰ ¢|—‘™¡Ÿ«¥­R>(”´R0e¦ B!^\À!^9[ Ä	Æ^²	À¼×Ï^½*ÔÞNÑßßÌãåÀÈêAG!	îå¸?Eä%áL 
H° Áƒ&‰  ; 0707010007336d000081a40000000000000002000000013d1fe2b600000135000000200000000000000000000000000000001d00000003reloc/images/letters/218.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  âðÈI«½8KºZx @i„¨g™ªÑ¢0†í[[ì©ï”Dx1|~Ä¤rÉ”ôZ*Ù,õ<Eg´ªé:=hKÜáöy±e-’ŠÙ!·yœvgõ,\#Wß¡mXkx]t…o„q‚Vˆs{}v‡‹†‘1Œ•|š˜“zŠœ—¢’¥™¤€–‰-	"Œ±3"‡ !$pX X N½¿	ÁX¯B½ÑÉX¹c½ÙË7ÙÞ&ÆÝß½Ãä-H	èäµ;F8&ÛMûüýþÿ 
H0C ;   0707010007336e000081a40000000000000002000000013d1fe2b60000014b000000200000000000000000000000000000001d00000003reloc/images/letters/219.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  øðÈI«½Ø’À;Êà” d	!ˆ¦¤˜`²fWF‹mrK„A˜}`ˆ–B#	n†N`IAHÃŸvËíÞŠ- ,‚[ã0À¬N—g“[o§Èôxinb‡ù%~hwj‚r„oz$€$†{ˆyv!x}u•Šb˜–ƒ“…ž‡ ‰’ ”šŒk¢¤‘—¯™¦¨­‹œ·ªº¬¼²©´¶¾j>!<oÉ-6!¼Ä(*j›ÓT1j/DÖ	2Æ"Ó'XßjÑšâÓÇ+ìñ ×UMò-Ú9÷%Y 	öÅÐì(ö8pç¥¡Ã‡#JœH±¢Å‹!"  ; 0707010007336f000081a40000000000000002000000013d1fe2b600000142000000200000000000000000000000000000001d00000003reloc/images/letters/220.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ïðÈI«½8ë-	øà€_Àuä'¦æé¥+Ùr/ƒóV‡Ò(Ÿ‡D`HœˆÃpÉl:ŸÐ“FK}‡©­jÅjy:+À+v‰ÉVs7[æ¦ÐÔðú«r“à[ù›¶ƒð`;|q‚g…y‡smzw‰ƒWuŽ„t j{™›~” —¢‹œ¦’ˆ£§Ÿ©“c•š¡²™	ˆºVJ ±b´Åb3™ É	Ëb¸	Å ÜÓbÂÎØÔäéÏçêÅ9î$X	òê¾Kèp(P-ŠÁƒ*\È°¡Ã‡#  ;  07070100073370000081a40000000000000002000000013d1fe2b700000142000000200000000000000000000000000000002800000003reloc/images/letters/220.iso-8859-9.gif   GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ïðÈI«½8ë-	øà€_Àuä'¦æé¥+Ùr/ƒóV‡Ò(Ÿ‡D`HœˆÃpÉl:ŸÐ“FK}‡©­jÅjy:+À+v‰ÉVs7[æ¦ÐÔðú«r“à[ù›¶ƒð`;|q‚g…y‡smzw‰ƒWuŽ„t j{™›~” —¢‹œ¦’ˆ£§Ÿ©“c•š¡²™	ˆºVJ ±b´Åb3™ É	Ëb¸	Å ÜÓbÂÎØÔäéÏçêÅ9î$X	òê¾Kèp(P-ŠÁƒ*\È°¡Ã‡#  ;  07070100073371000081a40000000000000002000000013d1fe2b600000130000000200000000000000000000000000000001d00000003reloc/images/letters/221.gif  GIF89a" ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    " ;  ÝðÈI«½8[º‰&R`žÁ¨'ªŽÈÐé+smgl«ï™ÈûˆÈ¤r	LÌNÇQáiBHJT•p=8©Ñw6¨¨ev¦ ¨€öeÜJW¦O»åü”W¶-~oyxd‡-j`€&bhwT!"k$O’0”t'—#|lWO?"1œ„3V6Š¢¥PD ™'°;=pµH¹T»M¾&‚@8pzH®}L´'ËJŽÏTŒÖØÖ×OÙÏÛÚÞÜáàãâ3ßLåëçæéäîíðÜõö÷øùúûüýþÿ"  ;07070100073372000081a40000000000000002000000013d1fe2b7000003af000000200000000000000000000000000000002800000003reloc/images/letters/221.iso-8859-9.gif   GIF89a ; ÷     UUUªªªŽŽŽÿÿÿÇÇÇ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              !ù   ,     ;  Œ 	H° Áƒ*( €Ã‡6|è0bÂ‰-"ÄQ"ÅŠˆ9`¡É“(Qr|èñ#€–aR”Éò¢Ë—6]Òt¸çÆ›=ƒæŒ9tfÑš?uå¹ÔçÁ•L“•j”*Ò§@›
µ«R®NB[pìV¯SÑVU{UlV°)ãÊK·®Ý»xó& ; 07070100073373000081a40000000000000002000000013d1fe2b6000000f7000000200000000000000000000000000000001d00000003reloc/images/letters/222.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ¤ðÈI«½8ëÍ»ÿ`(Ždižhªj@ë„ùºq9·5yÃò» KøU„ÈÖÀ(I:çó(M(Õä 1Ù1	‚ xmú4… {ÖvìÙ—’Ø%ÌrŽÿšcÛ{v|4o7q}†7Pˆ8bA9YH™‡.eŸ ¢£YwQ©„@m:²±y6´"°¹¸!º+¿ÀÁÂÃÄÅÆÇÂ ; 07070100073374000081a40000000000000002000000013d1fe2b700000469000000200000000000000000000000000000002800000003reloc/images/letters/222.iso-8859-9.gif   GIF89a 0 ÷     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  !ù   ,     0  ÿ (  (Tˆ ‚#H `¡Å‹ $AEŒ xÈÁ€( ÙñdÊ”+#~|™2 Ä!Ø(€—y
Lˆ‘ ÇD/
 ÒèQ¤ IâTút Ð…N	`´Yõ€­=1.íš ¡Ù ÂbdÙU"œ¶•xÕâ€ çüúònÞ¶oi.¼[€­D­‚/0`˜ âÄEÀòàÆ˜	9æSƒ8¿”¬×gR”˜»úD)WoæÓ"]KÀ&l ­Ÿ>Ž}›´j°»UÎ­¼0íÔ‹\?7X—aê‰Í,rñß6‡ô}€¶e•lM~F/Qüx…¹3O,à¹ÀëQjt¡Ý Ò»Y6Dê ¥å_fïÙ5 D§P8•YýùçC
jg—€f¨!G ;   07070100073375000081a40000000000000002000000013d1fe2b600000145000000200000000000000000000000000000001d00000003reloc/images/letters/223.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  òðÈI«½8ëÍ»ÿ`(Ždiž(˜AÛ	ˆ`ß¸oîÿMàGÄCqiXÌèn2ü„,(¨ÈJÕGþÂ‘0!üœ˜ñ-qûà¹~°ãðz S~7€j?…Mq@‹oY5>Œ xš7hu‘¡ESm¢}L‡šœQG¦w	©¯	JD;«]¨°=ŠÁ·»Æ†‚l½B?Î§Ž>ÒÂ´>1Ï‰dÊ‚ÀÜD£Çu”KaÜ‚éËðF×õ6®¶óù`™NÁPÊƒ,X@¥XÈ°¡Ã‡#JD ;   07070100073376000081a40000000000000002000000013d1fe2b600000127000000200000000000000000000000000000001d00000003reloc/images/letters/224.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÔðÈI«½8ëÍ»ÿ`(Ždi’I ®2@,$,ÇD}ƒûî’M–Þ&+wj:%„¨4”ÚEB`íZÄÀëíYÄd2²bH§•2ËK›ºLÊð¦·ÂÏ]};>"wV	\†‹*n2c“;[˜—im]y]Yq‰PVk{1€°¶ y¢º¼¸«¤G„±^v¥¨ŸÑœ|Ì˜’;®ˆiÀ7A	Ó3YÜ7¾	KÉOðñòóôõö÷ ; 07070100073377000081a40000000000000002000000013d1fe2b600000134000000200000000000000000000000000000001d00000003reloc/images/letters/225.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  áðÈI«½8ëÍ»ÿ`(Ždiž£¬l1@,ˆˆrLAì"‚ºåˆ!Ã±6B°VL”tŠ X­	QAàË	
Ñ×-»Äåt,€ªÕ†ùÜ]‹k®ô†vF>lev0ƒym]„"9Vs’|t“JtŽc£eŸ	§¢˜—^Yw¤‰>‡x2“‘2q¼k…]‡ˆ¶e½Å>Ç¸®° Ÿ¿ÓØeWÙŠª§iŸßiÃ?æGÍ1íÒ¹Læm*+ñSüýþÿ 
x" ;07070100073378000081a40000000000000002000000013d1fe2b600000144000000200000000000000000000000000000001d00000003reloc/images/letters/226.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ñðÈI«½8ëÍ»ÿ`(Ždiž¬,1@,IÌó€|ËOW@àÄ/p. G1àvk…¶H”x” ˜ÍÝÂ°ÄQÕMÔ07º§ä÷zwC€{A~z[m3itMOnq‘3‡SP”2x’"JŸjf™_‹z}	˜…¦^±¬U±°2q„ŽX¥1qº1Â|t‚ÊQ›1–—¢ÒoFÖnÔÅÃ®t­¡âÌt¿ß3qs´åä…Çnañ«8Ú9i*zÇÌáxDÕ–ÎÆ(\È°¡Ã‡#jˆ  ;07070100073379000081a40000000000000002000000013d1fe2b60000013a000000200000000000000000000000000000001d00000003reloc/images/letters/227.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  çðÈI«½8ëÍ»ÿ`(Ždiž(ElT kˆ ß€@HÉ n8LdbÄdNãƒp8xa7+¯¸´t—*›+ãq(ÑUFÚTy€)ˆ&z?ä÷n€tn,,J*IdmCD†XD“C}I#	s8¢Š„ zª3x¥¯«®‹H’ƒI ~Iq‡˜ŸTÁ‘7•–ÌD0ÑCÏxJºDUhtÉT¿Q¶¹ä³´È¯©8Åàt¸u=‹qð7Ó[‰›ÎH° ÁƒSD  ;  0707010007337a000081a40000000000000002000000013d1fe2b60000013c000000200000000000000000000000000000001d00000003reloc/images/letters/228.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  éðÈI«½8ëÍ»ÿ`(Ždižh—l;-[l`ßSpÛ½Û¹_OSûwÃLqw¼%1KœD‡Ü Øì$‘Å&RàÒµû¿ €àé8`¦”ÛŸ”¨=m¸À÷vmyr-hqtM7‚UqixiP—$T‘XŸ0‡€x€qªo®¯	²­B£jez O–|”ÀOž7}¥œ“Ã¤q¨N’iÅÑ¤»ÁÉ¤à6Yâ¤µ²rxæqÀß€Õ6óÛ?‚æP-î…H° Áƒ*ô ;0707010007337b000081a40000000000000002000000013d1fe2b60000014b000000200000000000000000000000000000001d00000003reloc/images/letters/229.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  øðÈI«½8ëÍ»ÿ`(ŽdiD	‰@â+ß4hÌÈ‘À€Ö'6 $f $Eé'G€AÇó…Û-6!Ûî(µê‘„tÚœ5 ·3g¯°–@}“çù€x>€€zu**o[l‰u~(p†`[”’[ˆ7”Z¡Yi šŒ|¢	™„©tµp¢¸|´2”Q‰f¨}ÀDž¶p‚È ~œ7—˜º×29“Ü–ËÉƒÛ¤Ï{Åæ¥¼¹Ïë½pb÷–á[8B@ÙHV)
P@Ú‰‡#JœH±¢Å‹"  ; 0707010007337c000081a40000000000000002000000013d1fe2b600000182000000200000000000000000000000000000001d00000003reloc/images/letters/230.gif  GIF89a+ ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    + ;  þðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾p,Ïtmßxž%DO$ž/„0 È$RP¨$Ê$³cˆZ‘Â½&³ÄÀëŒÉJæˆn»›•‚{ÞRÎÑA`ßE
fW	WprƒUVvŠikVŒ}I™HZ ŸW#xI¡§H›V£ltsj…¡¼t±[ÀÁÂbs»ÆšŽƒŒz|ØÙØMƒµœQÃ ’_¡#¡ˆÌH«¡ßÝV„Ú@éÉW—³òH ‡åŸ„¯¬ðQ€8†®Lëá°€wŒHèfUD:0–øÑ‰Ð€K"Ñp'¯Ø–®ÈP‡áÖ=>ÓZÀ•­ K@ƒ
J´¨Ñ£#"  ;  0707010007337d000081a40000000000000002000000013d1fe2b600000128000000200000000000000000000000000000002800000003reloc/images/letters/230.iso-8859-2.gif   GIF89a ; ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÕðÈI«½8ëÍ»ÿ`(Ždiž¬l "@,„Ìq8ý8]è6‚A’¡eD9K	‚”€©z±@¢“ bg‚jêûmNxä²–þÄ{%Ç(ÈÞ`;AxqD3oyIXu3Š†3c8.h3”!=ŽC=f‚2Ÿ¡9#¥>6=˜ –2	-+Ž2pš8œX¬}2|¨ œŒ2x_RÀ2ÆÃmnkÒÖ Â~Ú¢ÞÖ£ÙÊ¸Q³ÜOñòóôõö÷ø ;0707010007337e000081a40000000000000002000000013d1fe2b60000012d000000200000000000000000000000000000001d00000003reloc/images/letters/231.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÚðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾ðIÌ³ˆ ïÀ` oÈ3lÄ¤n ¼ •J¦E…*¨ (C2Ð”Æ´ELœœ‰eJ.aó®˜' Ñïø"^CqI$†#ˆ"Š!I€!~:\–`v;‚<MoC¢;iD™	IF›w4‘;qŸUD°¥ºI¨¦¾RÂZ„²C“l\ÈO¤"®=3Õ¹:ÝÚD!M¸<¬"¦Ø„~ëïà\¹æË§â8»û ;   0707010007337f000081a40000000000000002000000013d1fe2b70000012d000000200000000000000000000000000000002800000003reloc/images/letters/231.iso-8859-9.gif   GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÚðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾ðIÌ³ˆ ïÀ` oÈ3lÄ¤n ¼ •J¦E…*¨ (C2Ð”Æ´ELœœ‰eJ.aó®˜' Ñïø"^CqI$†#ˆ"Š!I€!~:\–`v;‚<MoC¢;iD™	IF›w4‘;qŸUD°¥ºI¨¦¾RÂZ„²C“l\ÈO¤"®=3Õ¹:ÝÚD!M¸<¬"¦Ø„~ëïà\¹æË§â8»û ;   07070100073380000081a40000000000000002000000013d1fe2b600000122000000200000000000000000000000000000001d00000003reloc/images/letters/232.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÏðÈI«½8ëÍ»ÿ`(Ždi’I ®2@,$,ÇD}ƒûî’M–Þ&+wj:%	‚”à;™¡È!²Ù–fÞõ0ä²¹:!¨ßÈÊ¼šg”½’°ËâX;~8`z@nŽYq7LhYiojE›œ`9Ÿ ;¢¤œ¦@,«¬*E•2— 7x"Š;4#‡ ²)¬°±†Y„‰eSelÎ§ƒ¼ €ÆÒg…£al	‚Ê\,TOëìíîïðñò ;  07070100073381000081a40000000000000002000000013d1fe2b600000125000000200000000000000000000000000000001d00000003reloc/images/letters/233.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÒðÈI«½8ëÍ»ÿ`(Ždiž£¬l1@,ˆˆrLAì"‚ºåˆ!Ã±6B°VL”tz X­MÎ÷+D7J.×¥1ŠÅŒùŒÆôØlƒ%q°Øßƒ@L¨À¸rb	B\9i{>}o9†€Ž9\Œpž3Ÿ¢¡¢ž¤¥l§3O¬­,—ˆ$’2yŠ2d"tCµ­¹z\H‡>…·‹W˜9[¨2È»Ó Æ¥œ	ÒžÁá€½j*-”Tîïðñòóôõ ;   07070100073382000081a40000000000000002000000013d1fe2b600000134000000200000000000000000000000000000001d00000003reloc/images/letters/234.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  áðÈI«½8ëÍ»ÿ`(Ždiž¬,1@,IÌó€|ËOW@àÄ/p. G1àvk…¶H”x„ ˜	µPâ†‹	¢Ä´íKgéx ¼òÌã÷J~yvVt+smA)t:*tv=>l3M‹2€Žmt˜25F8šwP}ƒƒH­®yM±²t´¶~¸8‰[¾¿§™$Œ$œ1] ‡Å—¿iÄÎ¤1ÉÖgK3ÂC¹TÍã…Õ®ž•®èæmàBZ[hcüýþÿ 
˜! ;07070100073384000081a40000000000000002000000013d1fe2b70000012d000000200000000000000000000000000000001d00000003reloc/images/letters/235.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÚðÈI«½8ëÍ»ÿ`(Ždiž¨¬l"%,»tMHD]Ï:p¹O÷ê†6\€¤—‚tŠ ¦Ó”v”ÀVCÁ’fpqƒq/ðÅÔãA»ò†ÇçJ»z`IY~K	5|b=‰NVc…ky:K‹—DuG¢zv.¥¦j7©ªK¬®v°k1µ¶+.ŸI"F5ƒ"K$’>0¶º»‘K”cSjsÖ±:ÐÅ¦‹Î±r­jl	jf1x[÷øùúûüýù ;   07070100073383000081a40000000000000002000000013d1fe2b600000125000000200000000000000000000000000000002800000003reloc/images/letters/234.iso-8859-2.gif   GIF89a ; ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÒðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾°‰4‘ˆI ìü.„ GänBqÉ^”Ì¨“‚D¯È‰)†Ku9@PuÅl¡8À {	¸7­ –|æÍ»Ý‰qIE@PW† …‡Qq‹ŒKŽW’D]^˜™š^p$Eb#s<f"[€{›HŸ |;mrd5VE	“D³©¾ Y±‡ukŒGÂd»	Ð 6 BD‰"¥ˆ#½F§"‹É á;$¥ÅUE%Ï=10 ;   07070100073385000081a40000000000000002000000013d1fe2b6000000b1000000200000000000000000000000000000001d00000003reloc/images/letters/236.gif  GIF89a ; ã     UUU999ªªªrrrÿÿÿãããÇÇÇ                     !ù   ,     ;  ^ÐÈI«½8ëÍ»ÿ ŒdpX ®Â•®*áÂÀp¢t€½+²ÃƒL¡$;%Ò…¦Z24(Lº¢6-L€U‹}v£ßi¸:¾V²Ût™{ö¶Áoqœ<7SÐku}ìûÿ€ ;   070701000733a8000081a40000000000000002000000013d1fe2b600000099000000200000000000000000000000000000001d00000003reloc/images/letters/237.gif  GIF89a ; Â     UUUªªªŽŽŽrrrÿÿÿããã!ù   ,     ;  ^hºÜþ0ÊI«½X–À»#@(
Í!ˆ¡p4
¨ÍàÂŒ‰ÒLq¯eÇñ™ Åçq¸B# ydºœ(¨HŠ46­OlT;åVJêÒ;_ÍYôVÝea²x.¯ïø¼~Ïg$  ;   070701000733a9000081a40000000000000002000000013d1fe2b6000000c9000000200000000000000000000000000000001d00000003reloc/images/letters/238.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  vðÈI«½8ëÍ»ÿ`(zF`š†f l¤áÎ„…ÌÃŒTy+×€î=V@R˜%&‰Yáp2Õ(„êrÄåjM›+,&ÏÌ.tK=Öˆl¸»<?×Ó÷u¾yÇÿ{r}tƒv…x‡z‰|~€‹‚]“”•–—˜™ ;   070701000733aa000081a40000000000000002000000013d1fe2b6000000aa000000200000000000000000000000000000001d00000003reloc/images/letters/239.gif  GIF89a ; Â     UUUªªªŽŽŽÿÿÿãããÇÇÇ   !ù   ,     ;  oHºÜþ0ÊI«½8ëMøà2€ß@@ª.š§›²2ŒÊ´kË@®î8EKG(ŽÈ…y4pžRHÂëQy“j{F´]×Ö¹gòÃ\F·ÕöÚ=‡7äqzÞÎÀßõ|~}€…‚P‰Š‹ŒŽ	 ;  070701000733ab000081a40000000000000002000000013d1fe2b600000150000000200000000000000000000000000000001d00000003reloc/images/letters/240.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ýðÈI«½8ëÍ»ÿ`(ŽdižhZƒ¬Âë±@bõ@pžÍ&Úœ„Ðh =¦Íðìè–Ì_'f9lMÐeÊ4ˆbÍ%)ÐÂY¢Jafƒ(Ôk		L:^€QF{JˆDL• y–ˆZtš’ƒRœo¨€nF£b5H”z¶F?ŠC…R?®kÂ Á_ÅÇºÄ_ÊÍF/‘R¹6p¢C À¼68FsØ6gê=Œ¦³¾ª^~^ŒÜžvíš¼MêÇ
Í*/w¶œ‚®"°§¢¢Å‹3jÜÈ1c ;070701000733ac000081a40000000000000002000000013d1fe2b70000044d000000200000000000000000000000000000002800000003reloc/images/letters/240.iso-8859-9.gif   GIF89a 0 ÷     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  !ù   ,     0  ÿ H° Áƒ*\È°¡Ã†  00±"E JÜÈ‘£ÆŽ <ŒrcÆ‡(& À2AÊ	€``` 8s¼Xr ‚2;ZR¢O¢"-
@ÀR‘6™ÎIp@Oœ¤FyR`«%fù³ °T Y áÚI
MøjÊõdÍ„oç>íŠnßŽ„¼p1È¶
ßí˜7áÞ¤.KTÈ“ï¶nÃ
‹ø`]¨&?.{ é´ÑJ-JPóì¹Oã5LP÷FŸ¼kËîèó3lƒ7;
€l÷Ëà(Ì|)PõÆÊÍ9
p;|¢XÐf_o*tYýjNñ·W½]’µÀ³ìKD€žé ò]Ï^î9åd î ;   070701000733ad000081a40000000000000002000000013d1fe2b60000011f000000200000000000000000000000000000001d00000003reloc/images/letters/241.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÌðÈI«½8ëÍ»ÿ`(Ždiž R,a	 dÄß€‘HÅí^œp8ÈÀ†H@“¸„€m8Ãô ‚
Áp,3	èE.3¡„±%ÁjÆÒ€Ð]„äí+É¡z8~8W>}Dˆ8E…H,GH;jHK—1uS83Ÿ ?rB§H4T±Ÿ®­°·µ¸¦²·´±º¿¹³ºÁÅÀÄÆÊvÃ¾ÈÏ¼Â¼ÇËÉÐ×ÒN»ÜÖÎÕÍÌÙàÜfèéêëìíîï ; 070701000733ae000081a40000000000000002000000013d1fe2b60000010b000000200000000000000000000000000000002800000003reloc/images/letters/241.iso-8859-2.gif   GIF89a ; ó     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ¸ðÈI«½8ëÍ»ÿ`(ŽdiŽD ®Aˆ pa Ã4HÜ³;Ü9Mü$€#«xj:	‚4I°TÔÂÀ•RÜ…(ä˜´|3LÒf6/üä²¤.¨lT|vYC7g|`w2-|L\7’]u˜—š<œ‘ž›¢¡¤¤§©Ÿ¥1 ¯®0°³² ´·¶¸-¨­ª¬½£­Ã¦Å«¾ÈÀÊÂÉÄÎÌÑOÔÕÖ×ØÙÚÛ ; 070701000733af000081a40000000000000002000000013d1fe2b600000135000000200000000000000000000000000000001d00000003reloc/images/letters/242.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  âðÈI«½8ëÍ»ÿ`(Ždižc ®Q@,È;Ç	ß®=5ŸÌpÚÉEÅlV„h””Üd‚B“\¿KáK 3Ö2ùl«ËìI¢,X•ÃïU°•_[sW9`n?_€7_HŽi3.F279œ8£ ¢„¥©¦…¬¦ª¡‡W™2’–W•š¹1²ƒ7¦ =ÀXÎ2ÌÃ1Ó {RÖ1žzod¾ÔÑâ×æoÓŠoäïÚ",-}Nýþÿ 
H0D ;   070701000733b0000081a40000000000000002000000013d1fe2b600000139000000200000000000000000000000000000001d00000003reloc/images/letters/243.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  æðÈI«½8ëÍ»ÿ`(ŽdižhEl Ï A´lD^ÃƒÜn„£E	¡Éà:¦žÏaJH
Ÿ,àÔ‚ZÚ [AdÃÚF§1m÷»b@·ÎZë$¦5”ë>€Jyq2~x3jI>=9•4jZE4ŒŽ:Ÿ3d¦¤ª?¬6¯±¬²>6‡9›Z“™3—‘9Zµ„¬“Ã4ÇÐÀÎ	Š2£TXa¡|raÁ*äZÍ¿èêfè ÖÂÜšzL-¨P 
H° Áƒ"  ;   070701000733b1000081a40000000000000002000000013d1fe2b600000139000000200000000000000000000000000000002800000003reloc/images/letters/243.iso-8859-2.gif   GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  æðÈI«½8ëÍ»ÿ`(ŽdižhEl Ï A´lD^ÃƒÜn„£E	¡Éà:¦žÏaJH
Ÿ,àÔ‚ZÚ [AdÃÚF§1m÷»b@·ÎZë$¦5”ë>€Jyq2~x3jI>=9•4jZE4ŒŽ:Ÿ3d¦¤ª?¬6¯±¬²>6‡9›Z“™3—‘9Zµ„¬“Ã4ÇÐÀÎ	Š2£TXa¡|raÁ*äZÍ¿èêfè ÖÂÜšzL-¨P 
H° Áƒ"  ;   070701000733b2000081a40000000000000002000000013d1fe2b60000014b000000200000000000000000000000000000001d00000003reloc/images/letters/244.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  øðÈI«½8ëÍ»ÿ`(Ždižèf,k˜ ÏÀ;tNˆH>äˆÐo&8hP DeO!—˜$r¢ÅÚQÜ@0E&Îç1ÏðDªD,GÔB»®Óàø€ ^Wƒ{3-Š2IStˆ	GtY‰“x˜H…T=tƒs4EK96¬4•4Qup¤u»½¿¿ÁÃt¿Ÿ3²´D°3®¨3¶Ï3È›}¼tØÖÛãP’9á¥“hl|¹é†uÔÒö×«ûµzüiêPÀÑ#Ü6$ Ã¥À¼2#JœH±¢Å‹#  ; 070701000733b3000081a40000000000000002000000013d1fe2b600000146000000200000000000000000000000000000001d00000003reloc/images/letters/245.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  óðÈI«½8ëÍ»ÿ`(Ždižh*%FI… 4Átr § +›™qIóip´¡\Ú6‚(Ah‚‡@vªÎh—L&%ªFAÏ“È2uÈô^˜-p|}{‚F~	w.EyvE„_Ff‹FJ…ˆDF˜:KbK 6¢¤:²E¸¶¼9º¿4·œcÆÃ Ç¹?­¯©«§9W¯Ë›EÉ°Ö`â5j¯àµ”Rdè;“‡Fb[åóWj÷|ù†|êi@ðˆ)Ž\ ”¦¡Ã‡#Jœ(1 ;  070701000733b4000081a40000000000000002000000013d1fe2b600000142000000200000000000000000000000000000001d00000003reloc/images/letters/246.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ïðÈI«½8ëÍ»ÿ`(Ždižh¬l"%,ÛtMHD]Ï:p¹O÷ê†6\€¤—‚tŠ ¦Ó”6•ÀºFÁ’øu
ƒqo`Æ Äêq ƒHÇÕó‹ýŽ·â,pc_VjKŠ=mƒ{5‡‚5y	cUF5J=ycK—™N©°D¯K³I¹®»>µ=²¶’¤@K¢œPcÂŽš¾žÎÁÛ:ØÚ•;­šSa†ˆ|wÌ ë¡Ùîðßòoôö	å:„<\1ÃÀ­-*\È°¡Ã‡ "  ;  070701000733b5000081a40000000000000002000000013d1fe2b700000142000000200000000000000000000000000000002800000003reloc/images/letters/246.iso-8859-9.gif   GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ïðÈI«½8ëÍ»ÿ`(Ždižh¬l"%,ÛtMHD]Ï:p¹O÷ê†6\€¤—‚tŠ ¦Ó”6•ÀºFÁ’øu
ƒqo`Æ Äêq ƒHÇÕó‹ýŽ·â,pc_VjKŠ=mƒ{5‡‚5y	cUF5J=ycK—™N©°D¯K³I¹®»>µ=²¶’¤@K¢œPcÂŽš¾žÎÁÛ:ØÚ•;­šSa†ˆ|wÌ ë¡Ùîðßòoôö	å:„<\1ÃÀ­-*\È°¡Ã‡ "  ;  070701000733b6000081a40000000000000002000000013d1fe2b6000000e1000000200000000000000000000000000000001d00000003reloc/images/letters/247.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ŽðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾0š `óØ<ƒ‰O Ú	mÅ£íç)("ÄàX¦¼@	Q˜±V‚@.›ÏèòÌølµl·.¯èv7>ÿÔŽÓ€€`a+[X6$‹<U!NGIJ‰ q=˜J•"Gƒl&d„­®¯°± ;   070701000733b7000081a40000000000000002000000013d1fe2b600000148000000200000000000000000000000000000001d00000003reloc/images/letters/248.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  õðÈI«½8ëÍ»ÿ`(Ždižhª®lë¾pì&DM$h… üÀ_€@!ü—Â È
Ä@¤ |Í¬pZHµà#®2k¡8ÀÆfÇ„ÖPA¨›ÊÙ­¸ƒpe@ts	Y…GMHFL;† ;Y•A„EB?Dš@}ž™M¢© y£¡°T‘‹¯«³„¶¸¹|x¦ ·ŠÄL‰Å¾ËL`Æ{@“²YÓÏAhÜNÍˆ‚@~ZC5=‡VfaVäíGâ_òLÚ¿7ñçâØ´êÖÀ©`È›Ø°1PêÂ@#JœH±bŠ ;070701000733b8000081a40000000000000002000000013d1fe2b60000010d000000200000000000000000000000000000001d00000003reloc/images/letters/249.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ºðÈI«½8ëÍ»ÿ`(ŽdijE ®†ˆ@,.,Rß@0¾<ÂÏ€²Öo¥ÒžÐO‚©¢a¦T×Ëly¾ïÍ‡ËÂ\òÅCƒ½é»[ŽÏÕ–»<^ëûc{o€g‚„m†…ˆ]kv|~‘yƒ’Ž•“—–7 7Ns]\t©tD7¤¬tŸ¹¼‡«½¡‘»À9”Ä:”r±7NÊ	LBQÖ×ØÙÚÛÜÝ ;   070701000733b9000081a40000000000000002000000013d1fe2b600000112000000200000000000000000000000000000001d00000003reloc/images/letters/250.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ¿ðÈI«½8ëÍ»ÿ`(Ždi’H ®A
@,!!Ï!2Ü <Èv‚v8e89Ÿ¡KåÂH§. ÑÞ¸^Žy€ñ¥œ>°Õ–·¯Èådú|ÛÕã×~zy|q|ƒ_{Š‰b‹Žf’‘m…v‡Œ€„‚HŠlh–h•m¥u“Ž	¥ ´Ÿ‚·±ºm«»70ˆ¹±Dš:¿4Ç±¢Ì”K+UPÛÜÝÞßàáâ ;  070701000733ba000081a40000000000000002000000013d1fe2b600000118000000200000000000000000000000000000001d00000003reloc/images/letters/251.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÅðÈI«½8ëÍ»ÿ`(Ždiž¬,"&@,Cˆó€ÂŒÏ!‡(äBŽ 	ø\DÎ@ùÅ+@¥ ¶&jLÞ€WšóN’‹iÚ€	üÝ–×3sö“?ô/}{€{‚„9t‹z|‡…ƒ‘†ˆŠ3Œ›Ž—’‰”Ÿ0¤2PF¨1A7}=9ª±}Cp½Npn§ÀÄ¥³Å2Ç2ÃÈ*’JÎ¿¥·Ê3HÓ¢·[¶eâãäåæçèé ;070701000733bb000081a40000000000000002000000013d1fe2b600000116000000200000000000000000000000000000001d00000003reloc/images/letters/252.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÃðÈI«½8ëÍ»ÿ`(Ždiž^¬ìT°k‘@mO]³^ã>†æê„¢ÎhCZ”7Iî˜A®ØI{M ¾`Œ
‰Éåt×ª} ge»‡p]NÙÛ©xn~TƒIyMm…ˆ„Š†Oˆs’‡‚–‘˜w—Œœšž€™•>¨>£Špu”³B³W¬³´§¿Â€²Ã:¾¢ÁÆÅ¢SÂÌ¥¸³¯ÓŸZ0aàáâãäåæá ;  070701000733bc000081a40000000000000002000000013d1fe2b700000116000000200000000000000000000000000000002800000003reloc/images/letters/252.iso-8859-9.gif   GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  ÃðÈI«½8ëÍ»ÿ`(Ždiž^¬ìT°k‘@mO]³^ã>†æê„¢ÎhCZ”7Iî˜A®ØI{M ¾`Œ
‰Éåt×ª} ge»‡p]NÙÛ©xn~TƒIyMm…ˆ„Š†Oˆs’‡‚–‘˜w—Œœšž€™•>¨>£Špu”³B³W¬³´§¿Â€²Ã:¾¢ÁÆÅ¢SÂÌ¥¸³¯ÓŸZ0aàáâãäåæá ;  070701000733bd000081a40000000000000002000000013d1fe2b600000145000000200000000000000000000000000000001d00000003reloc/images/letters/253.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  òðÈI«½8ëÍ»ÿ`(Ždiž¬l "@,„Ìq8ý8]è6‚A’¡eD9Ÿ+¡QI Î•!Î°†@#¦"{Í	7˜h¿˜0+‘ÏÚA*õ=xz8k3‡=\^2€~8o1yh”=‹sŒ‚8š‘1|ž‰2‹g3“¥¨u[«c…2i´À®–˜ ±Év1«ÁÃb½È¢Î{•¦ ¿Ù¡Ü Þ2ƒà=tCå!ÈéË Ÿ÷¼ ¶»Õ™ù2Zq  •€öqØöL!‡R
ä ;   070701000733be000081a40000000000000002000000013d1fe2b70000038f000000200000000000000000000000000000002800000003reloc/images/letters/253.iso-8859-9.gif   GIF89a ; ÷     UUUªªªŽŽŽÿÿÿãããÇÇÇ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           !ù   ,     ;  l 	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜX0€ÇI€È’#O¢TY’%I—)¢Œ™p¦I™3aÞ¬™çJŸ-¾J¡MH‰î4Ú“çO§A¡•ZôàQ¥³jÝÊµkÅ€ ; 070701000733bf000081a40000000000000002000000013d1fe2b60000013d000000200000000000000000000000000000001d00000003reloc/images/letters/254.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  êðÈI«½8ëÍ»ÿ`(Ždižhº@ë$ë¶ð(Ïµx¿ñL÷¾\h÷³ù BYIž	Í²†0ŽÄez \®‚eš “KÁ×<O–l³Vwx¶àm¸'rtfQ`ƒXG{]`s[`Š3‘Ak.š3ŸGŸK¢¤>¦¥ª¡ ž®­\™ieG•3…>pˆ¼8’.…u4O¯Á|q× ¾KÍqBSÀ×Ä\Ô`Ê±E‡`~“›ox¨cg@8ø<Fï:÷üù îó×oÈ?¤Ió" ;   070701000733c0000081a40000000000000002000000013d1fe2b60000015b000000200000000000000000000000000000001d00000003reloc/images/letters/255.gif  GIF89a ; ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     ;  þðÈI«½8ëÍ»ÿ`(Ždiž¨T,[Lm›h`ÛÁtß½9ÉÐËÔvÁÃ°ˆ9Þ’KR÷c^„lv&Ñj©°cˆ¹43ë`4„áàp[+Î›A2&-n\m?sWruC\C{C/y6‹?C›nq?“‘Uƒ;`Œ~§7ž „Ÿ’MŠ£«»z0š};¥• `‰;¾6=™OÅÓ•wª7J?Ìz?ÕnDÚ‡ßŽ °¹Òµ ´ì!î7—ñ6…!Ï B ¯r dqÀBÀ B Çà”»ÁŠÃ¿-NTöá"4	ëxˆ0c ›† ; 070701000733c1000081a40000000000000002000000013d1fe2b60000006c000000200000000000000000000000000000001c00000003reloc/images/letters/32.gif   GIF89a 0 Â     UUU999ªªªŽŽŽrrrÿÿÿ!þMade with GIMP !ù   ,     0  xºÜþ0ÊI«½8ëÍ»ÿ`(Ždižhª®lë¾p,ÏV ;070701000733c2000081a40000000000000002000000013d1fe2b6000000ad000000200000000000000000000000000000001c00000003reloc/images/letters/33.gif   GIF89a
 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    
 2  ZðÈI«½’€Í9Z·}¡HŠ#ˆz*zº­w¯œ¬‰´N»4ˆ‚I@'YF9cI¢J”ÒT†›"ÐNC¥ôÁ˜Ïã^©³Dµ§kÎ›ÝÜ ïø¼~ÏÏG  ;   070701000733c3000081a40000000000000002000000013d1fe2b600000099000000200000000000000000000000000000001c00000003reloc/images/letters/34.gif   GIF89a 2 Â     UUUªªªŽŽŽÿÿÿÇÇÇ      !þMade with GIMP !ù   ,     2  LHºÜþ0.*Ó^B-V]……¨gæq©¹’û¶²X—7ºº6¬ö4Ÿ·æ…€20X$—M‰tJ­Z¯Ø¬vËíz¿à°xL.›Ïèi ;   070701000733c4000081a40000000000000002000000013d1fe2b60000012a000000200000000000000000000000000000001c00000003reloc/images/letters/35.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ×ðÈI«½8ëÍ»ÿ 5ŒBŒ B±ÊRÜ	ã@…cÉÙžÈ·JV#×F(P¢“xÀ‰t+ñÅ8P@ÅX)Î“m½¢Ä0kNg)õ¼¾«ï&om osoN,Tdac^2A,‰E(;ŒdZ#\¢‹(£ƒ§D	~­_L­u¯±²s—r¶›,)•=œ’¥C¬#O3SÊ”K»½“Q| ¯Ç"Éj„šÀ?ÂÄ$5åÚîïðñòóôõö÷øùú ;  070701000733c5000081a40000000000000002000000013d1fe2b600000158000000200000000000000000000000000000001c00000003reloc/images/letters/36.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  þðÈIO
¡ê­	 \¸y (&D |‘˜U1|t=ˆ‰¬u_!ÄÌGdqxÅ"0VäŠ/Ê°V8$_f’ð$W‰ÁGÉÚ&áÂ;yÖ¶Ö´·<¸ið´½¿ÓÐr0{=Uq%0$„†‚jE<ŒcI -‚B”xQAS™›;™59!	H™¦§MŒ‰I…&$	“>‚a˜dˆD_Åp‹©_~¬zÍ Ìl`Àƒ5_²uz¯%]>¦if¤Þ/aÚ´ä=NÊÞ£ jö™_½÷èD×ã#)À@¿H€A¬ gbD‹¬a´€a£Ç CŠ ;070701000733c6000081a40000000000000002000000013d1fe2b6000001aa000000200000000000000000000000000000001c00000003reloc/images/letters/37.gif   GIF89a, 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    , 2  þðÈI«½8ëÍ»ÿà”AP`R¨—@,…ÃÈ¼, ›„¬ÖÙõŽ`æ–ëŽP€ óŒµ6ˆ£àdä%0ƒØÔÙ#Jaß¥
øy¡gA¤Çž»’¶V2Jy<] WY1 =‚7~€1‘ ŒB<‚œ™!”2ˆv<ML!‰Z¢C"°ª¯Q1§©ª†QIlˆª¼=¾wº}<l{È®+Á‰Ç+ÐÑ¢´bÝªŠ ÒËGÕ àçµ‡ÈŸšêµåL‚l¶ÊzàùðÉÌeÅv9
‘K¼6–ä0'†ÁŠbÖÀqMÚF9XÉÄè†QŠFq<t|§'"‰DåCøˆ—%çê%;òÏ€ºÜ‰ç¥CN£°»°/È=K-4:NÊÍ%¶BLcqÕ›×¯`ÃŠK¶¬Ù³hÓª][! ;  070701000733c7000081a40000000000000002000000013d1fe2b60000015d000000200000000000000000000000000000001c00000003reloc/images/letters/38.gif   GIF89a" 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    " 2  þðÈI«½8ëÍ»¿I  ¤`$–dëHJnÝ±LÛü #¼  *ØBåò}FÍÜX“rlD
´EøØº”@Ü±*LîG\CIv®â1o	RÔšÀhsB5g2iB„yAƒ„l=~: N™™YˆZ‚ž”œ_|6†j	}‹.]³$8€5ºcu7°¢<¦¹=±¶–a” w3«­É¿ÒÓ×5ÌÀ7 <d[/Õ¸‡½‚n	ïAäŠÎ÷$õªøBêÍý ˜wËŠ‚A€!U„9¤PãÊ‚<O™ô%ÚÈ±£Ç CŠI²¤É  ;   070701000733c8000081a40000000000000002000000013d1fe2b600000065000000200000000000000000000000000000001c00000003reloc/images/letters/39.gif   GIF89a 2 Â     UUUªªªŽŽŽÿÿÿÇÇÇ      !ù   ,     2  *HºÜ A ¤6b9+ß—f	j"j¦Ý¼AáÌtmßx®ï|ïÿÀ / ;   070701000733c9000081a40000000000000002000000013d1fe2b6000000ea000000200000000000000000000000000000001c00000003reloc/images/letters/40.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  —ðÈI«½¸šÀÉ C†Œb‘	h‰…¨Šmf €l8‚Ý¨@††ú\
8À
'¼ðŠdHf’MK"ix%–*\£3+&©\«/ìëÛwã–wê÷·¿À NXC8f# Ihv#:@#…[S,1”‘—#‹š"Y‡ >O"]R#¨–AœD" ¡¹h ;  070701000733ca000081a40000000000000002000000013d1fe2b6000000ea000000200000000000000000000000000000001c00000003reloc/images/letters/41.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  —ðÈI«½2hð	@"†„gœCw™'‰­g‚Á¢à	'`_„žÓóa@1L°ç²ÞihAž”Å”ey2{2g3_¬¢_:gÝ=íú]¥ÏãðS“R|Y/Ea\"PEjl~eI8"r‰€R"^’E{—›dL	=œš -¥=‡©S¦z£”¸¸ ;  070701000733cb000081a40000000000000002000000013d1fe2b6000000c1000000200000000000000000000000000000001c00000003reloc/images/letters/42.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  nðÈI«½8ë:Ø”÷’H–^–ÈdJ‰‘LA'°b<t†+þ¿„ ,zf‡•ÀhcY 3³û	4µbïBô²$QåA‹’­¹ç’@!
Ö\KáÄïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘ ;   070701000733cc000081a40000000000000002000000013d1fe2b6000000a2000000200000000000000000000000000000001c00000003reloc/images/letters/43.gif   GIF89a 2 Â     UUU999ªªªÿÿÿãããÇÇÇ!ù   ,     2  gXºÜþ0ÊI«½8ëÍ»ÿ`(~aš^ ¬kÊ¶úºsü4›Ãœ¬Û5É!@,7£2  ÜžPh3JN«ØŸ3›½r«
ÃilÜÈdŠ·Yã€¿Þm÷–Ûs8[ãùÿ€‚ƒ„…†	 ;  070701000733cd000081a40000000000000002000000013d1fe2b600000097000000200000000000000000000000000000001c00000003reloc/images/letters/44.gif   GIF89a	 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    	 2  DðÈI«½8ëÍ»ÿ`(ŽdižSB¬lr@,¯<×6@Ãùžë8›¯WáÑ(‚X‚¹&†Ø€B-‰dìäÖÏuˆ  ; 070701000733ce000081a40000000000000002000000013d1fe2b60000006f000000200000000000000000000000000000001c00000003reloc/images/letters/45.gif   GIF89a 2 Â     UUUªªªÿÿÿãããÇÇÇ      !ù   ,     2  48ºÜþ0ÊI«½8ëÍ»ÿ`(`žè)ik®¥›ÂòÌÖêk!üÀ 0*È¤rÉlz ; 070701000733cf000081a40000000000000002000000013d1fe2b600000057000000200000000000000000000000000000001c00000003reloc/images/letters/46.gif   GIF89a
 2 ¡     ªªªÿÿÿããã!ù   ,    
 2  (”©Ëí£œ´Ú‹³Þü…ƒ”&g™
+«®í‹Æçü¶ÝÎ÷G ; 070701000733d0000081a40000000000000002000000013d1fe2b6000000cd000000200000000000000000000000000000001c00000003reloc/images/letters/47.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  zðÈI«½8Ó zOšäuCx$#`˜FJ˜Cj¢c`®)¤Hˆ¤!U0qF½PªŽV¡ÖŠf)[7z…vWðF4òLãf
ª9z¨+	[cå¾2q}[¹;IiNl pKt†v]0y&”•–—˜™š›œ• ;   070701000733d1000081a40000000000000002000000013d1fe2b60000012c000000200000000000000000000000000000001c00000003reloc/images/letters/48.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÙðÈI«½—”ÀÁ dY
	8fkêèÎ@€t^XHî#ÃLà)f0
²‚s%M“àrlí$2ÓÇ’pÙ$3PøÐkM1Ù0Zú^Ò¤›”¼[4Àà [^€‚}6†|„‹7.‡L{-Š‘Œ—…™–&6}WzZ‰ ‹]›h.)c.U&®eR+.u¤%u¹&OÂ%·µ&@²fª>3’œÔÑ<ÐØ Ä¸Û>Þ*w9½äµÌäðñòóôõö÷øùúûüû ;070701000733d2000081a40000000000000002000000013d1fe2b6000000c5000000200000000000000000000000000000001c00000003reloc/images/letters/49.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  rðÈI«½)h.@Þ4ˆcyhê­[!Fœ"D¶HÂ½Ø/(< ‰>#EÊlž§©’ªªÌk‘ºõ`“\k8;{»—¯,¶¨Ó³XN¦›Ùs|]w·+oq|k~y…{‡}*‹ŒŽ‘’“”• ;   070701000733d3000081a40000000000000002000000013d1fe2b60000010e000000200000000000000000000000000000001c00000003reloc/images/letters/50.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  »ðÈI«½‘:!–@išAJy¾(‚!l—ƒlÕ÷W†ž0@AÜ…¦’l 
ÁF”,M…Ë6±…l²L
À@ÓWõb~¡akKû]Y v‹˜›¯ðNd}s'Y‚„&‡47uv/‚A7q!-=†’'Mv[T:v‰t‚§%¥¢—‡{g‡W&y±…³´B½ U¾½DiÁ¯£ÅpˆÈ¯ªËD	­»ÔÕÖ×ØÙÚÛÜÝÞ ;  070701000733d4000081a40000000000000002000000013d1fe2b600000121000000200000000000000000000000000000001c00000003reloc/images/letters/51.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÎðÈI«½:IXX@išN	y¾èJÀ´`I­Æ%ì:e„@íFQ¾˜„ëU	.šð}0?ï„x
9O_	Ùd†¥WS€õæ•úk š:anxgV}x…O[s‰‚ˆ@ o+	H0‡ƒ<ƒœžU0‹žirmb¨¦S&’¢/BwzT¹hR0P]vB	5‹Æ4W¿Ê/™9Ï±°;¤×vÑ!S²¡çèéêëìíîïðñ¡ ;   070701000733d5000081a40000000000000002000000013d1fe2b600000105000000200000000000000000000000000000001c00000003reloc/images/letters/52.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ²ðÈI«½˜’À{(Y6 d	áe˜&šRÛ¾” —.MÜ8-¼“oUÎ^1SA–ÙJ…«‰‘’k/e²Ì‘$hIÔJ²„0‡3O’arVMƒ¶{*RjÞc X|k$	uiqv…G‘$z“h]sŒ‹,Ÿ Ÿ‚d ŠuAA(§¨7ª¬¯B«°=²³/œ>–·º¹º{’¿¾Â€Ä†¿`ÇÈËÌÍÎÏÐÑÒÓÔÕÖ ;   070701000733d6000081a40000000000000002000000013d1fe2b600000117000000200000000000000000000000000000001c00000003reloc/images/letters/53.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÄðÈI«½8ëºÿàGTDh†#Už,NAË¾R,›ô!Üx(Äp>†âeåÉ)ÌNâY±yT„lÑ
 !A!³óÀ,âÂCYÚ¡éä÷ 'Ñ Àg%y j\v||k†RT=’D•˜’š•P!D‰Š|r!ce"Ÿ?F&&«hz­)_&¥tu‚UÅŽ2N5m¥	¼&Ê\|ÎžÞßàáâãäåæç ; 070701000733d7000081a40000000000000002000000013d1fe2b600000139000000200000000000000000000000000000001c00000003reloc/images/letters/54.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  æðÈI«½‘‚!	†`ž§ˆ2 0JˆDlŸ³åÞ|X•¼Û R°BàóI˜¨Àj‚ ¢“Dl0¥ha‚‰!VÀtÎ	ôÄÅíK†Wæ²‚-t)E0IAuoA&\†‰<‹‡7a’<9‘19V(”™Q¢'+¥&k&3¨pfoyx'p·­4²_µr²d"´'eŸ ”¤19c0N6Y[ª¨ËÈ[>¬&Ñ¾–&Ú•ä©Ìäœ¨FìàQ×	™G~vüýþÿ 
H° Áƒ#  ;   070701000733d8000081a40000000000000002000000013d1fe2b6000000eb000000200000000000000000000000000000001c00000003reloc/images/letters/55.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ˜ðÈI«½8gºÿ`è'ž'i¢ìX¶0 ÆíL£Ä¢M+×Ï‚€HC‹ñ3ð%)PâI	v
ÔI$ÈN¢ g62x%KÏà|(„°çtg}vƒà^9€îµðYz ld fg`Sg!|YV ‡^‰9q!„!H^’Y”–^!bY"l¨g›š©±²³´µ¶·¸¹º» ; 070701000733d9000081a40000000000000002000000013d1fe2b600000136000000200000000000000000000000000000001c00000003reloc/images/letters/56.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ãðÈI«½8‘ÀA†@išCRÅéž±omÊiï8…ìÀEç¢KE©*ˆÁë9IÔ@•Ö‹B˜bj\ï<éºßsåj1Ÿ˜"ua«5AB’»àm@N!u‚ €!J@wP†‡ Ž|‘/“&Hš%B‹%=4/= L T?[Z0n&T°.µsc±¶%¸¾»À’!Vj5{¨'¸ ˜Æ =³Í	¤Çt–/¬¼ß›9ã’”eßè>Ï6)+>~ÁÍñøùúûüýþÿ 
H°à… ;  070701000733da000081a40000000000000002000000013d1fe2b600000138000000200000000000000000000000000000001c00000003reloc/images/letters/57.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  åðÈI«½:IXX@išNy¾&±pc´­ËâêµŠb°AÍP©†¬%w^
0Þ! +„~¥ÀDù‚Z¸¯‰4D5×¸¬~i—x5¦øÈ'^€&~|Uq0~	Nfv…`&H„}Q@œ~hœF @™ ž¤A]	¦%LZCz+W0¼!ªHÅ»=0LŒ¾‡&Ç5‚S0Âª±zØ ÇÌ¡/ÖÏáVÜ:Þ£æŽu“/)¿	”îóûüýþÿ 
H° Áƒ  ;070701000733db000081a40000000000000002000000013d1fe2b600000074000000200000000000000000000000000000001c00000003reloc/images/letters/58.gif   GIF89a	 2 Â     UUUªªªŽŽŽÿÿÿÇÇÇ      !ù   ,    	 2  9HºÜþ0ÊI«¥#è=H `x¡H–Àø¡*šžå˜mZwÝx®7…àÿ˜i‚Z,ã‹8tvÐ¨´’  ;070701000733dc000081a40000000000000002000000013d1fe2b6000000a5000000200000000000000000000000000000001c00000003reloc/images/letters/59.gif   GIF89a
 2 ã     UUUªªªŽŽŽrrrÿÿÿãããÇÇÇ                     !ù   ,    
 2  RÐÈI«½8ëÍ»ÿ[ Ž"h
§Š²†û¶.,¯´
“£	þÀ p3(‡\Ê&cÖ”³XŠ“>+ËÊ!•¤P‹ U¨¸Â8šƒMÈ]Š{H‰  ;   070701000733dd000081a40000000000000002000000013d1fe2b6000000df000000200000000000000000000000000000001c00000003reloc/images/letters/60.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ŒðÈI«½8ëÍ»ÿ`(Ždižhª®‘œH1 D™@N… ëµÂ0û=‰€qÔô–FB3,B‚Â&yÕ^N_wP˜fª]lS“H?×¬*0‡ºß8®ýpÓoh]`Oce~8€†1Vtk{P“7W˜Fœ•G'š #v,©ª«¬­®¯* ; 070701000733de000081a40000000000000002000000013d1fe2b600000077000000200000000000000000000000000000001c00000003reloc/images/letters/61.gif   GIF89a 2 ¡     UUUÿÿÿ   !ù   ,     2  H”©Ëí£œ´Ú‹³Þ¼û†b æ‰¦êå
Ãí×¬kçÀ¬Û|k†Äb‚Tý’J³‰|š–Ò©³j5j·Ü®÷‹ ; 070701000733df000081a40000000000000002000000013d1fe2b6000000e2000000200000000000000000000000000000001c00000003reloc/images/letters/62.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ðÈI«½8ëÍ»ÿ`(Ždižhªv	¡ÀP 'ÜFRÚ÷-¸"^ï&£}„Ã^îƒ0$Ÿ‚¨ x#+`tDaÐõIÕ2VËi–o"jw„H'C	îÜ#/ÚNo_	vVkbd~g	eƒ†OˆHI?G]K HE#<›; ž&l+«¬­®¯°±²' ;  070701000733e0000081a40000000000000002000000013d1fe2b6000000fe000000200000000000000000000000000000001c00000003reloc/images/letters/63.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  «ðÈI«½8ëLºßW! dIF&ƒéšÂ½´I\D­“7•ì@ÙdDŽ-šaò{T”BMh 	+ÒW/ðZb”ZïÂuÂ/MÙt>xÞ"dAˆé¹éŠ_›¼xI.|95PtˆNŠ Œ„†ƒxY.c–~$€–”$Ÿ/£/m§G¬§°±²³%°µ¢§¸ ·4½iº¾ÁÀ³ÅÆÇÈÉÊËÌÍÎ ;  070701000733e1000081a40000000000000002000000013d1fe2b6000001d0000000200000000000000000000000000000001c00000003reloc/images/letters/64.gif   GIF89a' 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ' 2  þðÈI«½8ëÍûIE  $âiˆ1”p,kÕÆ8>Ð5ñæ@˜@Õ1äP	
!¤#p±§ð+93PX`…È–ˆ–BìÚƒ.ˆq".ñ(£Ò¶’üäAè§¼ tf6q80inp0oˆA$^g^	ƒ‰’$Usž$F%‡ŒŸj0z… d°“DT8z…W1šQ`©8^Nª –¹1¿€sÃ‘rÀ0¨£ ÏÖ¢ÉÖd—%Ú¦$™m¤%–ãàÑ˜›“ôæÎZÅÍå¸¼Þ…» ˆŒªs`%±€Ú2nùHàò7mŽ<âfÚãÅáN~åV™cv¡Êµ=&Eê»Î˜8I€b@²`r‚”$hà4 ÌÂ=d˜ã™*N€Dü¤¸òäš›ðÆÐ3ƒ-PUÆ ª ¬Y…å˜±Ô;¾<øPy1,š¦«|«Ñ'Žk0€8!ä¨Û¼€L¸°áÃˆ+^Ì¸qÞ ;070701000733e2000081a40000000000000002000000013d1fe2b60000013a000000200000000000000000000000000000001c00000003reloc/images/letters/65.gif   GIF89a# 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # 0  çðÈI«½8Kºï†&RÂ÷ãˆ˜f’jû…/VÊZ[+î»ŠÁç	)¢ç(I°Ið84ªã1úI8YÇ¯I"+,-Ú$Ê¦¢OÊµu–¢÷´S=Rus#1`24"7{}9*xˆ-"–…<‹"\~6ObY¥¦ž.XJDŒª¯8£´>SB¸¯ZŠ¼¯„~ÅÆÇÅŽº‘†¢2w,Ó2Ð™f)®ÛÊÐ"·Ö#³ sÚÜ/ÞðáÏ;å êLüýþÿ 
H° ÁƒF  ;  070701000733e3000081a40000000000000002000000013d1fe2b600000117000000200000000000000000000000000000001c00000003reloc/images/letters/66.gif   GIF89a  0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,      0  ÄðÈI«½èÍ;A`‡gžš0Zhë¬+k05ÏÃ*Ý³a{¤¢ 0~à$`Ò™”S­„˜éÓŠåh«ÐÇ	<Çhù‚0˜
HN`N¯M‚¥Òï;p1€Sj„~ˆŠ‡^‘’“b&	Vgy;k$n`[P—ŸIVTY¨ª«^­šV	R²ª]+¤AF™¸¾w‚°Œi·È†È¬qÌƒŒ˜Ò<s"¯ÚÛÜÝÞßàáâãäåæçè ; 070701000733e4000081a40000000000000002000000013d1fe2b60000013c000000200000000000000000000000000000001c00000003reloc/images/letters/67.gif   GIF89a" 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    " 0  éðÈIO*A€B H%ŽR1ph*$$™œiŒ
a;ržöè@„‡•PP ¿Ü FÅÔ	"3T
9o‹ËZQžOV˜cõ!L¸¨¶Ï™œûro)!tW=ƒyˆ6ŠBŒ-|Y’ •$—™#›œžŸw2¢`1H¢Ž©ŸJ‡N³N52q§)£¨*º3r¯)z9Ç-“E½‘2i†2”ÌÍ_@MO¿ÖšFA¸ãä·Ø è)SrÂäb±Ú)×œ	PV­¥ 
H° Áƒ*¬ ;070701000733e5000081a40000000000000002000000013d1fe2b60000011e000000200000000000000000000000000000001c00000003reloc/images/letters/68.gif   GIF89a! 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ! 0  ËðÈI«½•€Í»çB@`“ö¨`&êvÃhµoÈm¿¸¤ï®DîDJ(ÁðC’ (¡Ø”@?Ê)³z@ V‡€+1œ
Z¹{
¤;ër+Ž_Õa*ÙüÖ×b#dy[„'‚z\…ƒŒ‰†xd'+ŽUwp‘šds0ok^n›¡“¦kž`—”X%‹£}´‡	­K’3|'R @mÇ/YÀÊ`ÍÎ¥3Ó ÅÖÊÑqàáâãäåæçèéêëìíîU ;  070701000733e6000081a40000000000000002000000013d1fe2b6000000c0000000200000000000000000000000000000001c00000003reloc/images/letters/69.gif   GIF89a 0 Â     UUUªªªÿÿÿãããÇÇÇ      !ù   ,     0  …8ºÜþJ€I«½VDÌûÔƒä(’¤‰¢ê:¶™ Ït=ÛíÍYñÀ&ÈóQˆ;ã	Q˜'ÔátMŒª»Ðº¸9ë,³æsckÓ
hÝ4n™Óö0>/Í—ë~}|Cln‡2zix^bŠ‹KG’“O•“~š›œžŸ ¡¢£¤H	 ;070701000733e7000081a40000000000000002000000013d1fe2b6000000b9000000200000000000000000000000000000001c00000003reloc/images/letters/70.gif   GIF89a 0 Â     UUU999ªªªÿÿÿãããÇÇÇ   !ù   ,     0  ~HºÜîÈI«ÄËyÞ]ˆib	|¦ˆ¦ÝJ	C,ÏtlUöì8ò<ŸD|OÅÝ‘˜d,›Š{Õ®±Bul¹¯âÈWÁ3™¥FSÚ9ªS*ÿR¦Ðgý<Üó‘{zu‚r„T†ytŠƒŒ…Ž‡~“”•–—˜™š›œu	 ;   070701000733e8000081a40000000000000002000000013d1fe2b600000161000000200000000000000000000000000000001c00000003reloc/images/letters/71.gif   GIF89a# 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    # 0  þðÈI%1a€B(I%Žbph
IšjŒ„K!š¬o}» Ï…{"œN@®V9ÅN!—T2$‘‹jM¤*ONOŠ1ÄZbMM
1Ã¼£¢Sr{?„…1j‚6@*zŠ.Œ)T#u(”"16P…Ÿ M›*‹F£œ§=¤v«G©¥°B=x*“Z¬?}.	ÀÀ*=p)b{m(Hd–C²)f{Ì¨¼*^{·ÆÕÖ>ÉÜÛâ¾Þßç,#0:Çá1„®î‘§]åõù+ÅÐîùÛ0@N½cü" ÐA^™v- z0%“Ç CŠI²¤É“(Sªœ ;   070701000733e9000081a40000000000000002000000013d1fe2b6000000c0000000200000000000000000000000000000001c00000003reloc/images/letters/72.gif   GIF89a 0 ¡     UUUªªªÿÿÿ!ù   ,     0  ‘œ©{SŠáªœHƒ›U\§Þxx¦†*v¶oµÃ£8+—0¯óÑ ¶¨WYƒÉ_R J£Fõúqb·%÷ëýnÃâ+H«×ë*ÙÕ¾™ñá£(ÌÜw¸EÞG÷g·!øp†×D˜X§ÇÁW¸—$©è8É8xÉéwh*:JZjzŠšªºÊÚêÚZ  ;070701000733ea000081a40000000000000002000000013d1fe2b600000068000000200000000000000000000000000000001c00000003reloc/images/letters/73.gif   GIF89a	 0 ¡     UUUÿÿÿ   !ù   ,    	 0  9”Ë!Ê–ƒqFù.°—×ÜÕˆ%‰¡›™jÞé²«ú¶!-×sŒ÷üŽ„°`L*—Ì¦ó	  ;070701000733eb000081a40000000000000002000000013d1fe2b6000000ea000000200000000000000000000000000000001c00000003reloc/images/letters/74.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  —ðÈI«½ØÀ;ÈÙæq &Žåuz©6’-µv±ü~µ4ÃùŽ÷·œ.(ô	Æ"ø:&™(eS…²¨W+Mèz¦å²òÛ¦ó¤üJ¨–‚á¼ÀûH0)Ü7x	7n7sq7’†““y˜ƒzœ„	‘“ˆ-‹] G±²³´µ¶·¸¹º- ;  070701000733ec000081a40000000000000002000000013d1fe2b600000122000000200000000000000000000000000000001c00000003reloc/images/letters/75.gif   GIF89a" 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    " 0  ÏðÈI«½è¦'z’¨‘_bnè±¶2¬]õ~2»æ.å7K°ìa†”Òf¬tÞÈI3D¥œÖs¸bY“­©ëhä²1ÄõN^ì±û=FÏé4“à^Ê¯¬w~4	‚&s†mn~4vy‰Wvq"j"ibŸ˜MESK›"—¥g+{G°IUµ¨*PB¶4ˆ¾º³ÄYQ§’ª¬„xÊW¢Ã}ÅÌiÐ»y>|åæçèéêëìíîïðñòë ;  070701000733ed000081a40000000000000002000000013d1fe2b6000000a8000000200000000000000000000000000000001c00000003reloc/images/letters/76.gif   GIF89a 0 Â     UUUªªªÿÿÿÇÇÇ         !ù   ,     0  m8ºÜîÈ	že‘ÊË³æ—G–8‘¹¡Z±˜¶ÂŠK/ö=ä7Oû0 Kˆ"’Œ dGöê1u»§N’:ePjÉúã½Cp‘)(›Ïè2!Êl·l·|wÍeõû=¯—óûoP‚ƒ„…†‡ˆ‰Š‹Œ	 ;070701000733ee000081a40000000000000002000000013d1fe2b60000016d000000200000000000000000000000000000001c00000003reloc/images/letters/77.gif   GIF89a% 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % 0  þðÈI«½øÀ»Ù´yd ‘h(¨gŽ-G¨BÌ½6g¨9€ç‚,öË…½b‡åId˜7”òVë2¤‚ôTB.1	ÒðÆu1ÃÀØW^"HˆPXOÙâËÀC°·És&$l~ZACA~Ž„^d%yU2…w‚™ ;p›£a”.ªˆd£~¨N+W²[–¹{3»•¸_o©­•³’  mŠÃ¬Êqs ÓÆ½ÁžÂÚ±Àd¢Õ_Ì¥CÐç“¼ï°l"[éµ-ºï†ñÜ-·û8Uðä* ©	ÎÖ-²×¯Ž…Ë"CÎ`ºq-âPXµmÂîêSA²¤É“(Sª\É²¥Ë—0cÊœI³¦Ì ;   070701000733ef000081a40000000000000002000000013d1fe2b600000135000000200000000000000000000000000000001c00000003reloc/images/letters/78.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  âðÈI«½3€ÍÁÑmÁ¡[NâXž¨°Jm÷¢1×ÜƒÊ÷+¬x$Óƒ !ÄßóŒþT—ªr¹‘e‡ÛŽ ¥³ha¹q'h£7„Êr“Ã›A“r¾#PS,v#e({4ƒe#^‰.xp(X}„jl™Š9r#tš‹oz ’o Œ#§¢†#µ”Žb»¯–³¡¼KVÁ¤\Ê°©\P“Ë²ÉÔÐ·ÎÙ3¾8Ï3ÃàÝ3È6å+Í­w3ÔÓ®ÚÖäîõö÷øùúûüýþÿ 
Hð@ ;   070701000733f0000081a40000000000000002000000013d1fe2b600000154000000200000000000000000000000000000001c00000003reloc/images/letters/79.gif   GIF89a$ 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    $ 0  þðÈI%1a€-‚IU(R‰±(j c‹i¯mEhr~Dmé@T¯E7ÃP8ž +„‹	@JAn*ä>˜¬P©ª|qŠ;)ZÑm,©FaáËX`"À)r(lc^1,n)S†„sˆ)†…u”qz— {™œ›Ÿ™£¡)¤”¦¦ «› '{’( …‹()=½B™¹'S}™±' »>y¨mÆÈHf'dh&1l‡9Ù-Û1à×'W"	ÔÝ$LNPæv#ÃG2I"õö'øôûký\¬ šËfÜ±u!
;mIœH±¢Å‹3jÜÈ±£Ç  ;070701000733f1000081a40000000000000002000000013d1fe2b6000000f4000000200000000000000000000000000000001c00000003reloc/images/letters/80.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ¡ðÈI«½èÍû^i¢e®^ ²°æRq]Ð5< ™—V	‚Àt“”~—BIÐë /R“ó´$J	£o4Ý¤Ž\­SL“¶ç1—€%{ÃQOWS¥°[s@ý 4ýr:8€&Yyƒ E†€‰Š1…‡ /jf`™šhœ—eŸ o¢‘ž¥nt¨‚¡«i­«›®²±§¨´®¹º»¼½¾¿ÀÁÂÃÄ# ;070701000733f2000081a40000000000000002000000013d1fe2b600000175000000200000000000000000000000000000001c00000003reloc/images/letters/81.gif   GIF89a% 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    % 0  þðÈIe*A€=B U(VH1lhŠ
ÉèJ…*ËìKjsž¶„œºà&`û	 ¢˜.WrƒjqÍµH9âE‡ºªAïPž}'¹ñ:&SJÚ*ÞZÂLQ3r{t*oS+{3ZŒ‰‡C>3 €*w—„~l3ž¢2œ¦žx¡ª(¤¬§*®£¥²ž ­‹2–™)›6P}“’IE–»*¿)‚[LDh)½¯ $ÇÇ°q"¸:vØˆ"Û2o”3Ôíëê(Y"ø)ïÆAN H	¢G„$BÌ£p¡….:œÑ¿ Â©yÁ%#ô²q!C
¨5I*" –-ÉÄœI³¦Í›8sêÜÉ3Q ;   070701000733f3000081a40000000000000002000000013d1fe2b600000116000000200000000000000000000000000000001c00000003reloc/images/letters/82.gif   GIF89a! 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ! 0  ÃðÈI«½èÍ{A`‡gž›1fhû­”+o,Í¸Páx{Ò!a8~ ð@8!9ÊeÑã»—’„)ºÅZ““®W\ºb&YXðž›(	1ðà¹Q¨v<.z-ze„6aˆ‹_P,’UŒ`}&Gx †t&€™BM6khf‘qc®‡“Xk«¶²$¹¦B¼´K¿°X~Ÿ¡:˜ÀBS¦·¨º^×ØÙÚÛÜÝÞßàáâãäåæ ;  070701000733f4000081a40000000000000002000000013d1fe2b60000014a000000200000000000000000000000000000001c00000003reloc/images/letters/83.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÷ðÈ)	h	¢`x$Âfž€ˆ R¢ð|,2Ä¸6Ðíç»Ðë—€1Aa%!|(¦$ƒ"°Ô“€³^±0Rû@7^ÊX>ÖMÔ¶ÀØ…8Š×!`^}"g&ƒo?‡‰}D‡|"j’'–˜™'WŒ “C A_¬?¢ŠNY8¨mN8‚Š©·2¾"² FÀ ½_ŸÁÇ´ºpË:ƒ¥yc'l¯]…¹#Ý 1›«1ÎÄ¦:|6ïU!òóÉ©Ô™ß	ûp¨ð•ƒ¡ ò	[È°¡Ã‡#JœH±¢EE  ;  070701000733f5000081a40000000000000002000000013d1fe2b6000000b3000000200000000000000000000000000000001c00000003reloc/images/letters/84.gif   GIF89a 0 Â     UUU999ªªªÿÿÿÇÇÇ      !ù   ,     0  xHºÜþ+€I«½8‰»§÷VHžà†¢æJjÅ Ï´p	t>#¦½`ä¢
“¢±‡(—æÚR!Ö«#«õ»Õ/xX“+Ó.w¼·Õbó[;¿Ö©wh~¹7öqlnƒpef*‡r…ˆŽ‘’“”•–—Z	 ; 070701000733f6000081a40000000000000002000000013d1fe2b600000125000000200000000000000000000000000000001c00000003reloc/images/letters/85.gif   GIF89a  0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,      0  ÒðÈI«½è®·M¢æ}SX’å‰ªÈŠ.s3W÷(•—¤§Émv"ÀhÂ€Ì PE^¨¿–{ Z-\ïš¥WeÝY–>®qíæ”ÜÕÎÑuóWïá}n>r/av‡tbƒEqRŠx@Nt–%BŒO%/œ@ 	¤¤ª“¤ ±¤Ÿ½µÃ”£ÄÄ¦ÈÉ@®˜ÎšBÓÃËN7â×ÞèéêëìíîïðñòóôõN ;   070701000733f7000081a40000000000000002000000013d1fe2b600000129000000200000000000000000000000000000001c00000003reloc/images/letters/86.gif   GIF89a! 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ! 0  ÖðÈI«½µ€ÍAÁÑq2nX'€HB«RÃ)LÚ™Ì‡y~ßÈÀË^“Øè6Ø2-$¨œ;•è$MžR Öòbì¨j£*åÊÙ]Ø›.EÙ!’Ÿ˜ò†iq¦Ap.Q*tY[|y_bjo'hr†nAx3z¡’pŒ~˜<0'Ž«¡ˆŠ‡°=¯¶¬•—(»±:pˆ¶p¡Â¼©ÁË¡'Æ»#Ë^-ÐØÒµØ·Ú ßÙ¯ãÝÔØÖãsåëîïðñòóôõö÷øù  ;   070701000733f8000081a40000000000000002000000013d1fe2b6000001b5000000200000000000000000000000000000001c00000003reloc/images/letters/87.gif   GIF89a/ 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    / 0  þðÈI«½8Kº…ö}‰ŒÀp$(dlKˆè{´@Fàö³Ã	UºQ*Ì5Y1\sô&ˆV¯"-Th%+¿Ö¸’%R8(„Å©½Ð;gÉ½óÀ­#F5-UU rQOŠ W\w}-Œ-l#w†{“ŸnMO#[£`bo#re¨®[ŠŠE™LJž«+ƒšm¯zÇÉ‚—Î#¦‘›Ô£ß›Ã¶¦iè¿ÀÏÐæÃç[»3{˜Ö$7à¤ŽíšBoßº>ò\‘Fï_¥;„ÉjxÀ‘‡ ®ò´#‡âqc¼*éZeÆ£².kR}8 E–ÕŒuág¢˜LFÃ¡ñVb ù!¥G‹1U¶fr`¦”èœ°îVœ@=¶HwHÆTŸíûJ¶¬Ù³hÓª]Ë¶­Û·pãÊK·.Å ;   070701000733f9000081a40000000000000002000000013d1fe2b600000141000000200000000000000000000000000000001c00000003reloc/images/letters/88.gif   GIF89a! 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ! 0  îðÈI«½•€Í·Á2tÜ'	$‡€‡‘Ã*!/€ôKTî›`¨ÔÍ2J	.‰š¬’ô_Pà5¨^G\‘l;?Ö5U•ôH&Ö!È=äHeõ¡™BLS;¹ûê%_50K‚]w‚YŠ!‡ „c/i”^J™tBœš‚y™g5qo‡˜l‘a–‘ Žr©`‰jŒ7†ur¿$2­~ ¸ ‰ž£¥§¼Ñ“Ì¯35«¡$ÇÐÙ±ÖnÉÒ¶% åˆÅÒO/2ÂÍjîYÉ´ ñœH° Áƒ*\È°¡C‚  ;   070701000733fa000081a40000000000000002000000013d1fe2b600000114000000200000000000000000000000000000001c00000003reloc/images/letters/89.gif   GIF89a! 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,    ! 0  ÁðÈI«½Õ€ÍwÂ•ÐqÂŒ\ N	êIš‹¬G<Ôàâà)S`†±ux
iÑ¡ˆ”ÖÏ\b”·–3€V|ÏŠtTX9ÌÃv3 GÐ7§L«fa¨6Mâ„›\{.ev$‚k m}‰c‹%‘B#—r.–—xšC¡Žw¥‡~ª¨iª„a®´#¶¸º·.¾ƒÀÁ¼ÁÅÇÉ ËÃ¾ÌÎ(Ò¹ÄÏºÑÇÚÛÜÝÞßàáâãä  ;070701000733fb000081a40000000000000002000000013d1fe2b6000000f6000000200000000000000000000000000000001c00000003reloc/images/letters/90.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  £ðÈI«½”€Í»ÿß¤d¹‰fJ£ê¢îËÆòx®ïø@˜ ì
¤1ˆð}ˆ%Fð“^¤‚ÕÒò·$H	ž4IÑ²„
ª’á}èv¾jD2]>ƒøeXmtq xevtzc€[~	t‚Zo$‡`‰dyNPt¡^<§;45«*ª­&¯°$²³+¶´t»¼½¾¿ÀÁÂÃÄÅÆ ;  070701000733fc000081a40000000000000002000000013d1fe2b6000000a8000000200000000000000000000000000000001c00000003reloc/images/letters/91.gif   GIF89a 2 Â     UUU999ªªªŽŽŽÿÿÿãããÇÇÇ!ù   ,     2  mXºÜþfÈIÇ)èÍAÀ]øe!7–&È	ÕEnŸójq3{Ï]3zÞí‹žìçK6âVd.iMè7*„I$O™uv¥_jØªònµAîÙœF_ÕmöÛ]¯íqü\^/PP7"}ƒ‡ˆ‰	 ;070701000733fd000081a40000000000000002000000013d1fe2b6000000a8000000200000000000000000000000000000001c00000003reloc/images/letters/93.gif   GIF89a 2 Â     UUU999ªªªŽŽŽÿÿÿãããÇÇÇ!ù   ,     2  mXºÜþgÈI‡)èÍÁÀ]øe!7–fQB÷9äö6±63µ÷ä÷Âï.`
$iEä—d.}MèSñ3Ê„W«»Õê¼=jT<•«Êlº»þ¶ÃfµS.¥“íqö|›åK'(|‚[‡ˆ‰	 ;070701000733fe000081a40000000000000002000000013d1fe2b6000000da000000200000000000000000000000000000001c00000003reloc/images/letters/94.gif   GIF89a 2 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     2  ‡ðÈI«½8ëÍ»§ Ã7!ãX˜G˜’ì;_!‹Â7ÜbÒÙ£×Ù©P)Ÿ(*©œÆ(2H/å…)BLÑxd`S^Ëy”þ¦Ê•qÕBxµ¯ö —ÈR\ mk={p[y† Z/},•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ªŸ ;  070701000733ff000081a40000000000000002000000013d1fe2b600000078000000200000000000000000000000000000001c00000003reloc/images/letters/95.gif   GIF89a 2 Â     UUUªªªÿÿÿÇÇÇ         !ù   ,     2  =8ºÜþ0Ê¦uâêÍ»ÿ`(Ždižhª®lë¾p,Ïtmßx®ï|_
À pH$€¤rÉl6+§tª„ú®¼ ;07070100073400000081a40000000000000002000000013d1fe2b600000071000000200000000000000000000000000000001c00000003reloc/images/letters/96.gif   GIF89a 2 Â     UUUªªªrrrÿÿÿãããÇÇÇ!ù   ,     2  6Xº¼ñ0Œ6€½ÀPlC+7m˜ ‘ñÜ±‘ºÎtmßx®ï|ïÿÀ pH,HËæa&Ÿ» ;   07070100073401000081a40000000000000002000000013d1fe2b600000118000000200000000000000000000000000000001c00000003reloc/images/letters/97.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÅðÈI«½8ëÍ»ÿ`(Ždi&Dš" b@,ËÁsžIèÀ™Íò=JâxTŠº€4 ²&À€… ¸9çE ó‚gTæý ªB"µŽ_æ*3Ö–$È{9}8e„G€vKAWu ^Œ2iD†@Iœ‚g2bc¤1Zw]£:¦˜l~­oA^A’²¢ˆ…¿·{š:¶pA:W•1šXQsS &àáâãäåæçè  ;07070100073402000081a40000000000000002000000013d1fe2b60000011d000000200000000000000000000000000000001c00000003reloc/images/letters/98.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  ÊðÈI«½è°§Üö¡6~ewbéÊ–îÕÆÕLO¶„<AÂ’‚ $H¼BÄ0¥	 ,)Ä€É<A¥ 5$¨m¿€–(O™×Ó>Î!±d}A¤¸SˆÎKrG>j!mZqHY‹#…‘“••”!’–M˜"‰r~p„)	©LFKUyz´¦¯£\<«i`_¾¿ÇVc§ËºÊ¼w„Î¤ok‡+	eeÛ7ãäåæçèéêëìí' ;   07070100073403000081a40000000000000002000000013d1fe2b600000108000000200000000000000000000000000000001c00000003reloc/images/letters/99.gif   GIF89a 0 ã     UUU999ªªªŽŽŽrrrÿÿÿãããÇÇÇ                  !ù   ,     0  µðÈI«½8ëÍ»ÿ`(ŽdÙ%DJ ! p	—r,FèÀáò‡„q9èIÁA  &	à 6Aàt“W®iÉêÀ¦*S›s™¢,pÇè!ƒNË ~B"‚0€… ‡‰x v0	S•n@Nz9|@ŽI_2\‰ |]l1XA)¢m¥K0«¡¶@\¹ºƒ^¾‹²cš(–—¼&ÐÑÒÓÔÕÖ×Ø ;07070100071c23000081a40000000000000002000000013d1fe2b700001ab3000000200000000000000000000000000000001900000003reloc/images/newlogo.gif  GIF89a4P Æ  &&&VVVvvv¢¢¢ºººÊÊÊÚÚÚêêê222‚‚‚îîînnnFFF®¦žŠŠŠ¶¦¦bbbššš²²²òòê>>>ÒÒÒ


ÂÂÂöööJJJ¶¶®ŽŽŽ^^^úúúþþþ’’’RRRÎÆ¾¾¶®...¾®®~~~jjj666Âº¶ÖÎÆÞÞÖ¾¶¶ÞÖÖ"""ªªªZZZrrrÆ¶¶¶®¦âââzzz®®®NNN***žžžfff–––:::¶®®BBBÆÆ¾†††ÖÖÎÎÎÆîêê¦¦¦ÂººÎÆÆ¾¾¶æææÖÖÖÎÎÎ¾¾¾ÆÆÆÖÎÎÞÞÞ®¦¦òòò¶¶¶Æ¾¾Æ¾¶ÆÂÂÂ¾¾úööÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    4P  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£ŽI¤§¨©ª«¬¡R9	­²³´µ¶ X9L·¼½¾¿¼OC'ÀÅÆÇÈš))SÉÎÏÐÑE99MO¦ÑÙÚÛ­P9Ë9X±Üäåæ™N¯Y2'CX3ãçóôõ„	O)'¦L'îXŽÈ³G°`´E&œ°`b	î²0I0Ð Å‹·Àà‘"É¿B/N´;Áä	EŒ(S®rÂ$E‹?!±za¡]¸‰'UêÜ¹‰¢b<6<4G»!)° ÁW‘§Ó§‹øÃ2Hä¢‡ÿ†¼+I±)Ô¯OŸü»0Ë	²‹œ˜ÍšC†	(þLs’¶î¼'-—š’bW)8j¦ÒV
×'&)"ž"c†ÝÇåœä{yšŒ'‘Ž`ø/…e,X¤ Âd˜È¨µá=¡—“„ÃÅ“4ÉB‘'rTP%ÃÔÀŸáË”ç}G›L¡ÉÉ‹\ûN8NýØ^ÚH•ïÂ‹G‰J†óP¨_¿aƒ$(?AŸ^Š¯ŸäËGà~ê8`C	PB`p4O@‘Âi÷Ì0HÑŸ\q…5ðƒÌ%ÂaJT`Ä(Þ à QDBBüP	F¨pÃ
@P€Ÿ'Ql<p8ã7H‘š
9vþ L
¡€:£Ñ?G’ CL°A<Ôð	$|ðAü°\…(HCXp	ì@ Ø(Iì@À@”ÐÁD<`Ã©PAQãŸ@àj8@CH€©OF™LRL€C!’ñ€Ã„P\q'¬²º	œàYLÀ•ØŠei@  €!
ø°$A€ Ãfê‚4 `D*Pü  
>d+  80)dAÜ@C¯äº €HùÄ>IuU@aAäö* ;8`Âmž‰$bP@¡Õ®õÖë  ÉFPBÁä‰Š¢(þB	6´ˆ	+<\o ™òŒd5HS'ˆPð@‚õ2@D%8!ÈYp–Â¼ÆÃC@ äB²ÀÄ 4 ªlð »à¤Ö0K×ð©ûòD$bŸµÇ U’ÄYä>ÅÒkÝF ÑB—ÐôÓY§¶ƒXm·1ÃIWHƒ)¤+¶?°P¶DÈ'x HÐ]ïŽ8„Ç ŠŒkxjt Ñ>`zÏº'T9ÈR y½(€'"¥}ôG¼zÞë Ž@ÂèKÛœŠ©ŽšD(ÀwìÖ11æþ‹Kaí„DñÃª÷ê°H/Hƒ-äÐB;Pa@ÊÝÈ˜ H 4«à
ÒW·Ôt >€]‹˜¶èîd/PHS6`#@­^ˆAx€A¡II@×6p>K
$—ûÁ±½	tª¨ú¬Õ©8Ìá P|ü$¤ºÎ	Lö>)@€š\pD!
L 1’Ð5•‹ÌŠÁöê%;Ddày…ãž*
pÒ-°:ÏxBº¶¸" ÅJù@€/H® ,9(Àˆc;ƒDå:³üW0æ-â Ò„ÆŠ
ˆ‹†hDFƒ& ™¬©eŠ„dšþ €½²£ð…x 5pB×”E.„à^Ø"¹„ÀD@–ä2¤*> „0Ld‘DFŽøådBDåš2 ã€¾T¢xðâ8¡ø"€ÁWZ€`ä""@!„³t˜Œ¦@b¸ÚÿÒVôÎCA“0ŠX`Qù<q ”à'-ž „?áˆ'!™vPeqX`ãÉŽ°Ç@¡ +ˆ¦ð‘\4•²J€ ÀR h€4° RØÒ‰z1‘‹liKWh
Â(ŒŠ@Tä ¬€ AÈ€#T`ƒœ¶4è¤pþÉˆF*ðŒà8F\aQbÓ‹*P "
^ÂjŠnÀVÓ%BJp”\ ‚?9`X„Au"?±3‚ *VU@X­â|@0’°µ­(`<Ê–ðb>
±$>2Ú„•‘±N™˜'+BÈê	X@K_
Ó?€€¦,íb!j°€à’¥ DÄ”ð2²õF Á€pˆ ”à €#4²”€ç8¤„¬Â¥PD O%âPÁ
ÀVì Pª 2PÕ†® ¸".V°‚®â
ùÌrT'; °o!Œ ¦ðR A‚4öþG1·è`BXÀ  ‚ˆ lÑ€Ðàë,ç¼Ôà,V:ÂOˆø‡ù-¨AàK;¢ð2H`ð' @†°þÀ ÙÈº<ÄTàÂ#†… oà' +XÓ –Y ø@  q"nP§ÙÑ„¼ +apîµƒ 26ˆð„)à€
 Ö]ÊW	†b-Ÿtš!j°¨Ø ËYÆ
 <"8À+Aà.zÐa€ßjX	:Ì‚™õ 	ØZ hy‰@!¦$€ÂDÖkÞÈ$2[à’ÅAA!ÇŒ1ž}©×þià §]S5lä—Ò€1v²‘C #€çt²l¡£[ÙÌÒ†uˆk}kA8 ´Ò@	Œô9`Ð trB çC-@ˆlj¡A¹%
Â¦µ(m ¸@(`A„»Êèp•¹àCË`°|@„¦ü`(@˜Å- z25–×l@âUŸûˆ÷‘ ™åÆÕ fÜn*»¬7†@¾÷}ÀaNn¹D6*¬"ØÁ‘]IDýâLCTP•Ù‹rä .uˆ+ÐÖˆ8·ÕCð 
ªÀÚæì:çÝÜ`øÉ·SC0€À½@Ám-þŠŸø Ç®öb3@ D0DŒP1ik€žd63J º•ÓVW;µ‘€€M DÄ… ™tÞÍDæŒ ‚„6ƒÐ„<r‚+ÜàÈ0£idÙ
Â 7h²“iIn“f2Ëau˜âÝàÖ€ >@ „€ùÁz „K¢  Ü‘cÐAPÈ|ÁíP`| F©v#<÷&ÄÅïdxê= rð \ =(´|,WP&s"J äÓAP€ocsø XàPŽ‘‚E€@ %PcÃD–ÊvAà +ÇoþUçV†À1°w$@:Ðm @l±FÊ§£„} dƒ }ÒfG1KÌG„Bèd€0 *pJÐ4~B@(@QXC#ÑÂ¿b„PgG+T* 3áFO­ƒKSx p†±v‡	(†îƒ<úÐÏAUÀ3ƒxb²â9P`J#!+0Q°„§|š	0€åÿ`+`d€0 ‚p{‡„ƒ° +€Ùvd¥Ttž(·å˜2oKTƒ†pnà¦|PG„µÈ…ÇEOƒà%ÐÓl–rhØ‹´ˆ)«(†G&f@à†ýç)­£ræâþ ö:ÐqP†ÕÄÿÀäˆ"Áí°Ž'€HÀLð€:° òo/WÀÓ¡‰'`‚.ep0åØP·yVrn
 [ùðŠÄ…BC6@†	GD°‹inèF'ü¶-Ì’BÒçà7³U ½t-wd,C4(†,çr 0y9¹jt´t€KÈ|:ô;b¨INN0ÿ0…pôsÆs«æz1( 0À4CŠA6,€: u‘%Á·wI&#eu`V…p ’XR)m68Š“Ø|q9€ÂÃ*-S“W‹ö[u, –„ðþCŒ]Ç RõZÙu6U);ÙlØè:õ§˜† 7ÐrhhSjóˆp'ÐY†À”=GŽD™ÍöJUQY0Øl!öò u²U)ÂwdÀ7•¢H„yà r’D@¶‘ ¸‹G&¿I*Á‡—¸$}, m„À[@€œG˜Rpp{wd¾‰€˜w8–Gœ   ÿ‡šå™žêiŠ„À´ à{€•¥éCt!l‚ H ‰NõR1  C€b‘¬´= E5 1©žåÙ€‚ð+0Zžú×0ÉWž°œß· Â{ñI+à“šž¹µƒ£$²-ŸXjþ?X¢5‰¢˜‚†J ‹2z‚+@žæ9z£~å‰’Š°`ìy3MiÅb‚€ŽÁ– !‰, K.ðJW@ ²b¯éR5ªk¹ž†°°Š'³  @¢Z—‰…T¡IönD
 1wóÕ‘é)}
—J@M%£pJ*!P£2
¡†À!@¤º„Š@ê)£;º‘^$>€œK*& @tm£”„Ðò ÄQ@@øøJ~ö°Ø§D'€Å¸£… ”Z¡6( ~j©‰@@ ¼Y¡„pœ;ª¨"rƒê	-,p,ƒ w2š§þ‚ài€}œ‰¿‚œ& ‹ÚU ðY¨‡p üç ›¥'`s…p¤j0ÐŽ+ã &p©oës/˜¡J)@ÑªA6‚ð•×Úž€{gSÔØ\Ê¬qœ
 Ê%—Dz£‰€"ƒÚ§!`’úW[™w¢ŠpB  Ï˜žÐ,@Ì® äê ]Õ
°²,ë À|ï*íà¢{¯†°/»û2TŠz—žÿ* fa)0 +D´£²ƒv·ÕF`‚™—›…p±Ø8—ê©‚lMÐ‚.Ê0UW¢A;ŠÙ³wFª@( ³2»þ1Z¢¹é·Û¹·‹@=@–Œ@{^±/Púÿ N ‚°8»EYzx90)@ pµ'!‚Ð Ú€0 9K§„`‚ê €­… s±Šöb—¨‘ ¬'R4€ßÂ†nJ¦Œ@uèj·°u¨³ 0¿
¢ ›_ˆ}êzA Ÿ„¼Œ0MZì ª‚ÀYß¡™­üÆ„‘±N “) QŒ)£º” £–@z8	À\ ª6°o·  x/&b?Wé ©&—È)ŸÕ6©+Ú~¹yq‹«½‹° 6€»x·° .¸ƒà¬Ð››>:¢ŽþÀ0ë®ŽÐ©'uOIHá=1R°¼ê™¥!p…`³­CÓ„>ðÃ°h2JJ¿ç²{G ‹%J„4ÀP|V^B_ä…"­—yÍË‘ê'»7hm«*ù÷l­¬Ëãj¬3†m%*Œ©¶é™›(p}2
Á‡5cüèh«†àPÊ†È1°-ÙæJô&p¨°Sl1PaKP °ã@y[¡l+ð÷–°›AÑr6 a§ÖP(z¦ª2ª0‰œ“¨6 K	ª gÜ'jìÂlL¤L¼‹ðsWZ¡@ÇïVÂƒ  4Â|\€gÈþºFè¾ð™óSp/ÛÈ!¶yßŒåÉ„;Ø©0ötÆÌ QB )[¸Ÿ,·DörÎÒŒ:*£
„Ã«žµ£r¨Ëv¹D ³lyvÌ£‰»r»È¼ÐÑ;/‹}Ïlšµ5Í¥0Ãƒ Ý+Làíà$ÀÌ$©A’\ÎK$2˜cI¦[ž/•,   Ê™ÐÅ¼£é©€
ˆ‡±¶£E,zCË’PAP‘*}»Ü·½?üûÆ‰À1­t¼-½*»Çpqu»Æ0‡ Ã…àã;pÂä,Ó˜¢¾ý³Ew¾ñš¬J‹@J> ÄÈJÀþ°Œ<½|y(£CýØ£~“€Ô·»4p…å ?+ÕÞù¼’m½ ° _üÀ¬~]…@Îü™öÏåéÁÞ{D;m#I3–ôÚª@	Ð¦ ZD46& ïÓH¼Ôšòß¤·…`I
Ø<}Ü&:£¶“À0jua6¼TÕÂÌBH£ÑŠð‚ªhÌ›=jê—›^ÚŽÐ'Áœž¦]ÿðÚ¸b‚€•˜LÔ\×Ó™Ò¼ÎÒ§£•NàG<šÜÓÅö;°]t W¢6	“žà
“›}¦)<	Éb+Ë 0x†¿`ÝWÙ†+€Ù%*³ŸL¸ƒp†\þí™†žÕýHIº„°/6zÓ¥Œ=½Dp ´¦ž-GÅÑ%jG<`ØY;Îá˜€O[¢µ|]¡ì<FP[á‰à¶¼âˆ Ý@KÑU^¡¹É,âÝ}Â§Zîf¡†0¹,‘Ó‚8²˜mš©5@“å RYÂÑ1ž5p± Ê„Âú	Ì<æŽà*©‘ž¢ ³Hnš=¢ü‚ Ö †}¹Ù¨\ûäyç½æ(V˜C©‡QÐ¹'àzaØr*Kç‡¾F€–4¦é)ËzºŽ«Ÿð+)\½ˆ (_Íã`'*€(<éƒÀ(5kÞþàá,Ðå‚€¨%z8G~í Ž¹Ø	HÃU‘P¾E”¯;íåkà	 BðS€9ÿð©‚`Èí Ý*Vûéž ì2J|ð&°²ëC; zlå[NN–í+€Ô®Îü.ñ'íp›Ð^	è(Š… !²‚Ü;ïãp ƒÜ ¸a'0›÷Ð‡`ïôûëÍ¼£ùžNð €¦*w=;ÇOÍHÏ£ó¾LñÚ.Ç}ÑÍÞ·¢n	<æâƒ€ò·Áî-Ï3®”!!º½1ý]¢bŒ+í‘öRÐQ°!îÃ†žx¡c¯ë 1P­[þÜÌX¿÷ÓžôM?ƒ?ÞÍ¸–€´†ðÑ·&áÆ­ç‡àÓ±ï-ÁBY¢ˆ+"°_óµ_y–²6uÂ)œ¥·«P éP¾Bg»ÖI¯&2¸±å ñ\øJŸ¿°jë÷‹ÀÑ-Öòj0ïûÓòås†ÉÓw› ãE‡«L¬¢¦ƒ°é2~÷Ì¨å ï P+Pà
œ}_þßŸñ»ï ‡£ûŒP)¿þpêe;‰ eÏÓ„žÇÜ€Àð7HX¨€˜¨ˆhãTøHeäÐCÄ`ÉÃÂ¢PQ"°˜ƒÒCññXhäÀÂ šÈóHþá¢0ªK²`ó*š«ûHBásüw›XC¨ŒÈ,œjDá‹M(srAèd!#œðµÄâ¬ˆ®x£}ã£ð±ñxDpÓ#d(abüƒ¥Á‡vT0 J†5*Y"F(X!R°uLÛ ;Ä¸&òÏÆPJ-™³˜"UrÑº”º`ÈÈBhFŠ©ÈA‰2$G¼v hfûÕÎi*PEiø` ;Tì›ÔÅA Bø!«‹±Šhp¡àA‰º.0Á>N*Cõh€³º>Lò«3å‡-5›ùX™Ôh{°ED˜ç£'’þüIåD‘BOŽ­1ô„¦ ¥,Á:ee$P€¡Cztx€¢VÈG6ŠªM£oŒÜš?ÀÀB@UXBtÁV–ùÑ´j.µE(Ñ8ñKÈã%k^!ÄGNušµ%ù9hIçAF±äÚbFùtšg·+ÁÓu°¸å‚1x ¬·:¤"–„PËZµ,hœ3¦"v)-Ðƒböa'“yûÁ2™0@@Ãˆ¸´§'<ñÇD…}'üè!zÈÓjí ök¬…àÚ#éHñÖZJ.ÒâŽ‰D 4d˜Hv…¨ð (ÂÙ--êbƒÈè%0äp#œƒþ01DjMâŸ3ïhÆÔ"Y9eƒBèÌyúL4¢˜>\F¢H;h9&y)š©Ù ¬ÙV¤4F#C2¤ÀDXüØ‚Ÿ„B¦fè8# 
ŒªeÂ2È¬´žù ì‰ä@\v™ÒB„P©Š—²˜)  W±ŸF3Ã}dñ£Sh3(¶*šÎž4êð*¢ðº¬(xvëƒ
³hwÙ Ø•Ú8Zï¯éRy«(è"XJðO›ŸNÀ7/Ë_{‡2;íR,Åÿî«ˆ!·‹d6¾J«-Dj³Â'Ébº¢¿šÁ&p‚ Lcœ°DÄ6ßüi7”À.%Ôð.Î©ÔÀ³(%Ü …ÐJ/ÍtÓ… ; 07070100071c24000081a40000000000000002000000013d1fe2b70000002b000000200000000000000000000000000000001500000003reloc/images/rc1.gif  GIF87a  €  ˜˜øøüø,       
D~ ¨½ ‘   ; 07070100071c25000081a40000000000000002000000013d1fe2b70000002b000000200000000000000000000000000000001500000003reloc/images/rc2.gif  GIF87a  €  ÈÌÈøüø,       
D~ ¨½ ‘   ; 07070100071c26000081a40000000000000002000000013d1fe2b600000087000000200000000000000000000000000000001700000003reloc/images/right.gif    GIF89a    €  ÿÿÿ!þMade with GIMP !ù   ,         LŒ©Ëí£l`N€-Ä\;ÞyŠYššŠl{¼ò;Î6¨Üzvîzï»Å‚6 ‘•8Ò’J’j¦Z-ŸÈ¨Ôi½ÂLØ¬ak­xÇä²9Q  ; 07070100071c27000081a40000000000000002000000013d1fe2b7000012bb000000200000000000000000000000000000001b00000003reloc/images/smalllogo.gif    GIF89a™ V ç  ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷ïçç÷ïïÿ÷÷ÎÆÆÖÎÎÞÖÖçÞÞ½µµ­¥¥µ­­Æ½½”ŒŒœ””¥œœŒ„„{ssskk„{{kcc½­­ÆµµZRRµ¥¥cZZRJJJBBB99911scckZZZJJ)!!J99B11!9))1!!)!    Æ½µ¥œ”„{scZRB91!ÖÎÆ½µ­µ­¥œ”Œ”Œ„{skskcZRJRJB91)1)! ÎÆ½­¥œkcZJB9)!ïïç÷÷ïÎÎÆÖÖÎÞÞÖççÞ½½µµµ­ÆÆ½””ŒŒŒ„„„{kkcccZRRJ99111)))!!! Þï÷ï÷ÿœ½çc”ÖB{Î!cÆ J½ÎÞ÷sœÞR„Ö1kÎŒ­çRÆ½Îï   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    ™ V  þ H° Áƒ*\È°¡Ã‡#JDè¡C3jÜÈ±ãD8”¸è±¤É“(‚Ä0eCÊ—0cnôð!ÅeêÜÉ“`E(¤xÚ³¨Q”eÈòbÎ£P£>ô0fÍ”)i4”à@Rª×¯;pÈ0Eé”Br 
¶-TXšXbB
Š$ÒZ|ê¶¯L4Ô:R„»)Ì¤åÊÖ¯c“ãN‘bÂ‹À†í.±Ao×Ç 5>ƒBF‰ÃO;D¡|X„†Î\?‡ž­’Ã2– !¥DÁ¼ëžå{/_ÚÈÞ Æ §-ô@bFÝÒ)Ê^l<9r¸†Sþô@ù8A4™íÞuÝ™»S |+¾÷~T¬†ÃÏá§‚&„B%ìw
ST–Áv°ÅfQHu@ßQ?á&Þx#È ‚E)DF	^Ì@™š€{¼ÖY‰#˜@ÂƒFuXPäâU&hÐ”l¡a†€‡É@c
)`PF"e‹=¤Ax}°
ž•WSæMÇ	e°&Ü	_œ0™tHê™“!#dÊÀ
iŒ Ž	ðA	QØ¤faò¤d]QÄÁTA)œ@*T±Â
p×Ed€‡¢0B’Z@AŒ¡Y"¦ ^ ©„ùS2˜ ‚Œ½Àƒþ.°1A.€áD:øÐ‚‰TV	ÀD`Å;¼@À€< ‘\ ªÐVPÁÈJ«A§%F
ê·”“‹gf†Ÿ¤P/\C-@ð@8lÑÅÃ™èÞPpÉÛn`€ñ€¼(`@ L%¢V@ÁÃØFp,Ô>ô)gœñ¸ô\ 0A.5ƒ4ô@ƒ´¼@>EX‰p ¯'bÐ ;Äð=´¼ìrˆÇa°ðµÈ+ïL0ª¯y ©´¢fÍ0µˆ‹TÉj"ž)H`ÀZä€Àl À LàE]&€H™Ÿf ‚þ<ÄðFZèÀÚmtI0³>íÀã[‹mqnµÖfž9¶TkTr]`àâ“} A Fa‡ ¬@ ¬; Q,Áš5tIàNÄÀ pp`´Ñ
4ÔGð ä7à ÖR°pC\®ùöK@ùI «éàxh¦a‚pHFü!¯'L%Œ`û5”åÄ$0@ ]@ëÞw¼ñ)ä`œ¼¢½	T[Áæ¸·¹	€¯d“YÑ@Ð„*)Œ/ëC‚’@@£U€"Á¡‚À€¸®\pûÞwÂ…`ËzÏ“ ¹Y!þ–k5g=Ny0HƒFÆ*¨é\áÀúŒÀ$à¡„¨šXŠt7<YÀƒî0@,.ÄÌ›Õó §ÃôÐ{Éž‡ø@¯qDI\4¢’0°D‚ŒAI0ûº@H- M	I¤Ò0™˜à
,D º®„‡_B0ëA€:d%@…Hp‚Cdœ;ò2™ Š—Ù é¤€4±D@Â#”@H<PñVi^‰†ÄÀ Ú!*Éº×aò{a¡=êU s³¢Z´GÇQn‹#Ÿ“‚nšh‚Êø){bP‚ðˆ§K#ð²Y0´Xrß” oþ(˜Û!F#\“ˆ£HÕÊÇI€{³úæAäˆJ:JœhZƒšž¢¤5”&5©Œ 3Ônv º@„)|!KäÔÀƒ$`’ËìgH@l’”É¢fË@AëÙ± ™j(9'È7¬Ê@P4ŸÀ(Ñ@BYG¸¹.	*0R
râô€ žÑ’€Ò”€?$ÈÃ(à¼è	­ÖÜž*²MŠÉu­= 23ˆ}ä$º:‚°/†¯£i#’© pH¦ Œ&Æ™bÒh«4È@Û=°* “ôáAâ2G‡a‹”C„ DÆT—ø‡|HþšVK3¨iEH‚ÚwV*RfB³»l`°ãñR 8ëû’g,.§,cÙË`"T{5ÈÕ&8«dÀºÜ³ÒR2ÙJ	Q{£œÀÈ6—™"Mñ€^ª@
e‘h€…—àxxèÂ  Üã	à ¦å,Ë†ö P §ŽGù€
t ¼r•ZDì#—üÄò>æÜ`¤
äa8ðÒ™ü¤H`‚>]Æ)£X¶[  ‡TîO@Ê	,°³0€E(@-„ÔOÜ¬Þ')'TÉI sU[/SEçÔÜ<e½€…O*ÙãAP‚ ˆp>I€Y¸þ&KÙ.ìU9>«ìâ`O‚RH€@8Z	(T WÛž€\ÂÐLÈPJV†HaÊ)/Œ`«T‘Ešuø2ê`8¼ÿ%¡	ù"°€`†](‚ƒ4pH6¿O“Iðl°€j ÈrÅnANY-®Ò‡m)² Û`ê(\"u/L©Æ&‹£Ñ»l8 	$i|@€É&!YÆÀ¨Ãp ˜Žµãûo3K8ÞÅùxÖørÒk¡Òz™@'ÈVxcBÅ–£LIqiz IÁSpRH#)PÃP 9E*kHAÙ…#ÔxlNþ -
0àO(ª›0>bÝ<òº÷I·*  ®§ÈQÐh€gžÊ	ì˜|kÂ
–P§«œ w^
ŠÌr•Á¦.=²‹€@"ÀœŸJhÃ@Xˆ+: ød>ƒ@&ðº¯#o `œ‚°,äÛÐÜxN©9	<àÈZnò&P¥Š“±¬¹ºâ—˜ørji‰e"_†2X	í$ npºã@>øç!°À^ø¼¼ŒÌ	Ís¸àà‡ö(-p™$;, =A á?¤)	(cÁ" 0C]>`†ùYBì .t€]Âž‘þ™ƒ-¬n†.0Rp Ø‰þx´Ÿ9¶j½dæÜ'Ðº÷àBZî}à Ø@“WC†œÆƒaRæ¡|3€^h`4ÀN‚dH•oÖ bàu3dHæçj‡¿"wk$=u§{²—9ã AÕC3öÖgP6$ 3@[17¡3«‘e³“vñQÁƒm†Äb ËÃ 	` P`VF“ 8~Ð45 z¶zlô;	Vù'T–¦‚ÀCQZ£”]uá¯E²å ‚³³uÁþÓ:„d‡pbp°,9@\À[Fó þ¼1eÿóuc qGPÑEÐ Qo;§9ÀP=„{‰63'xÃæs³Ñ†  ¶CÇ1u±a“á C¯CH\`b` 	àzHp(–¼j± æ7C@ ÍÒ8³Fw7wt¿"TÔ"-¨4hÑMØ2^gä!#‡HKR.3`€*–Çã>$<>P  rìsIB6|>Èv­ã>0 v—,ðo»ˆwÜC-—Ø=Q“f¨‚FdP‡¼1ŽÇáRp!%°*".wHIHG U5 Í´[ÎPƒ¡Ãm÷O°“ ÁÒŒÒuþ ÎD)ØM·ç hhŸ˜ZÿçŠ)pÈÎGKp1ÒpvTôe2Õ×>1Õ—”.Bá6Œøw?]ËB]
6¹9AÇ…ÊQ“bè{AËw@ªè²O"?‘b HHfb@ @ØÆ‡LÙeóŠjRpŒÇS ðc:ä
 ‘h9D~xeX™s“8r”DQP"0^ # ( \ @~	rw H|HH¯ã,|Q+é>ŸÅ~nV3™ú7–Õƒ{Ðè‰Øødá!e‡†‡>Qš­±Œg~Y ~þ)’À b4HJ@I¥Òc°iÕ›ðó’;Ä2
  &xMt ™>Q™Ý““Ñ¢Šñ±Ÿõe¡%Ý  7"©\„TH&sãaÅ¨˜Ð˜ðÖz –Á{69/ÈŠPùöÿ‡#gPïa"àx"€€ @ÎT`‡°[]pbÁã'ÉÕ:‡0=5J˜ sG^cøžÄŸâ5áAi®[$N7*x<ÔêtGÀM°bÁ¼Ar‘ï# ÓŒÒS0ÐÿƒCµdlš©a¶ó|Šàt1¥± ïSVØCþaVA@’Šd!ñ_OØ˜ëéÐ‰	1¤‚ö<‘›Ó“ñõtGid $>Q2°L_f‹v0<±9  €¹Ñ¦Zy@0oÐ«í¤A™³VÄ*wdè†6¬Å*w”êÃgâ9€@(z`Þbs`‹Aàª¯*’¥´€·…‘ª‡Ð,?ª »Øž®·¦±Ö#1ôZ¯ƒŸÿ1¯õJ¯¹ú¡S±Q Q”2°" rq";pàJ<êLãƒŠ€$ó„/c »±ë ÍšmµS"+²3¨VŸ4²#KŸá©üaþŠ!À)ÀâƒD0Fâ*;òÁ QKäæ!GX3´X@´H{øº´D«1|[U5R0¤#[TuA­ŠöŠÁÔ-#âôq˜'(‘prñQªSWlytiŠ>Úš‰àH6«xÖŽf+!ª8¥“uKµ—˜’q‚Xç$Àþ±¯Ô·:A‘>XB3`¸Pz"˜‚i %W·$ }¿'SF¹)ÑÏGoh²µæ1Ú)  ­Q*JWªû0;Õj°t¸%"i€R[;¥»ëPÏ”aºPZ·)°°å4È¯›¼_á#ªJr˜g‚¸"dS%‹½b;#Q@¸°eGk»# ½æë 2b±@‹¸v"Nq9¿³1b#º	w+uâç¿Þ¡½AA&BÁEr'×‹À ‘p&P  pË¹!@J”!¦L†Guñœ#Œ$ä	„d#¿)œ¯h# ·/Ã!A9[Ã¡q•¥Ã,2#êƒ>ü `–C|ÄH| ; 07070100071c28000081a40000000000000002000000013d1fe2b7000000e5000000200000000000000000000000000000001600000003reloc/images/text.gif GIF89a  Â  ÿÿÿÌÿÿ™™™333            !þNThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995 !ù   ,       X8º¼ñ0@«#¾i;Ï×U"¸×qDëRÄÏ'
»n·–à„š­òJn»(¬¤À<:{P¤ôÙ¼VEÚé÷Šín—Y2ºëü~ð¸O‘Ú	 ;   07070100071c29000081a40000000000000002000000013d1fe2b700000084000000200000000000000000000000000000001900000003reloc/images/unknown.gif  GIF89a  ¡  ÿÿÿ   QQûú@!ù    ,       U„©ËíM˜´V„Þ\Ï”m–H(Ã:Lžt„j;»&\ztºf–‰rñZž_g(äP:5”2‰t>*(Óº<¥Ym7ªMA«V¶l–†§¿ö¯äŽ
 ;07070100071c2a000081a40000000000000002000000013d1fe2b7000005a1000000200000000000000000000000000000001900000003reloc/images/usermin.gif  GIF89aù 1 ã  ÿÿÿÇÇÇUUUŽŽŽªªª   ããã999rrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    ù 1  þÈI«½8ëÍ»ÿ`(Žaž'IBëºAøÎƒjßx®«Eïû»áG$„ˆ?ApÉl:9HàÓ2ŒŒ kA9íz¿#-XRb?ZîxÍ^‹ÇeäÙ“nÛïÏ78^<ZÕx‚<Vk|?suƒŒt…pZ‰PŽ–—z_‡>“‹˜¡¢wœ=ž £ª«S¥W~Q€¬³´8®§©419	/&M¼0$½.À¼ÅÈƒ&Î¸·°H²Z>¸,ãÖç3Ë},ïÁ óQ5Xñçá^¾îQ@gA¾	Û²TÚ0 ’æ,ì³øã_	+þX8Í)…%Eí ¸òqà!MF™`Ò¢€”ÑLÌ “#ojúd™’
H•G!í™î€5¦é2Âœ U
?ŽN•&ÕKÃÕ¡I8TšIâÌP )”£’•jsA²0¶ €ºZÊæ|Ô5(Ø­ðú,kÔÞ‘VÚúTŒµ(…©êVü»…Œ$n?¿Qî—aòæÌ&‡ø³i"	äÎ|:JŒ½ŠvV`ÜÃ_>^_‰x¤€6‹´—ÿ-Ýºµj$o~œk7À®P7´Úµmx.`¸	òmO‡àÌø¸™æR·¾v °)õMd·…è?.äu¹¹Vò	 þ€i¬H—öM Ù]ãL7ãðâ_ló­Ø®UàüM9ÂýÑáH¤.¢(Á‚x9HÁ†EÄ÷‰l$†•=ï¸ôa&Þ8ÕJ@…HÄˆx¹DÁŽ•é§^LZY$2¢B£e9)Q#zx¡+xPJ—¸¢vA²ÈÝHš0¡|ÏÔT9VjÀ™`g_”B‚æ”VøØ’T%&Hx¾Ä' ø#@€^ZA)²ˆÙ¨Ÿ:Š¥+Úz<ºæŒ˜ðÞ8´—Á¨¦EÚÐ~*•mÒ‡\rjF¡J¾šèP%Wg}ÆÊA«{¾z©°®†a­þÔ¥æ…lföÍ®¼:¦œi•›-²ÛJ+Z¨frêë­ŸJilo¦9xígÝÚ(„¥Ä~Ëm¦Ê®'.­1–{œ·QÛ“¿ÎZ£žïow‡†Ë¬Îâ*+¿%¬[!Œ> `ÐÅï´Kð°ðv®¦Þ»ls
ú„–vWÌ_íÄÁÀ¬qAÂ
±‚ ;kk­ZX7©È#€¿LóË){³Òî"üq½ /Ü©Z~ð^F0* «î s±ó¤¼K 0=…d=B3Î	½“`è
Km–!|MvÓyvÙg#²s£br>S@&Çb×vP%¢·ÓaÛÌ÷Ìþc?™3´#^ò@æ4ÎÜ’ºZßBúê£EQ“÷¹ë5øæ@GMÑl;îü}^¹iVàï)P›¸åÇìñïz^t³IQÜÏ‹eàïMãB€ôWãÞ8F¶Žyì­7O»ÔÙ£½vº#rON€'ö¸¸”øL'?¾é³k¿)úø\<ê74¬ ½û•‹dw¹¿5PläKØùÐ65©Õ­8X» i´Q+á‚ü{ òüö°üðyi—?c8 ¬°€!F¨?’reáëpæ¿ÃQ0}œÍiPÑmf†(eˆhÃ61‚“`u= i€Iˆ“[;d˜ ¼i‹-aÜïö÷ÄÞ0Y³ ;‡B ë³X‡5´ž1jplˆ©vh‘n}<yÈgd€ô`!‰·H/£^\K»€Èc0A@µÈä"  ;   07070100071c2b000081a40000000000000002000000013d1fe2b700000210000000200000000000000000000000000000001d00000003reloc/images/webmin-mini.xpm  /* XPM */
static char * webmin_mini_xpm[] = {
"16 16 10 1",
" 	c None",
".	c #020204",
"+	c #8E8E8C",
"@	c #565654",
"#	c #E2E2E4",
"$	c #3A3A3C",
"%	c #C6C6C4",
"&	c #1E1E1C",
"*	c #AAAAAC",
"=	c #727274",
"                ",
"                ",
"  ..   ..   ..* ",
"  ..  %..   ..  ",
"  ..  ...  @.&  ",
"  ..  ...  ..   ",
"  .. %. .  ..   ",
"  .. .. . @.*   ",
"  .. .$ . ..    ",
"  @.%.  . .&    ",
"  @...  .@.     ",
"  *..@  ...     ",
"  %..   ..%     ",
"   ..   ..      ",
"                ",
"                "};
07070100071c2c000081a40000000000000002000000013d1fe2b700000762000000200000000000000000000000000000001800000003reloc/images/webmin.gif   GIF89a; ã  ÇÇÇªªªÿÿÿŽŽŽ   UUUãããrrr999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    ;  þ„Ië8ë¥ý\¸}Ÿ!žhJVfê¾p,ËDmßD0ïá€ÿ€¬ ÄéhE[‹7KÖŽÌ¨tŠræ¨;ƒ•0@Z»±€5…Y¡å´ÚìD¯Qk!¦ÝÎc+â}:óÿ€~"yVa[CVB„ƒ’S‘“bVK)†[^I–• £/¢–[n'D‰©" r ¦¤³!²’«Iw.‰5{/>N`“¶´Å¡m´ÀI‹.u‰º)¸EšÄÆ³ÖÎIÔ!˜¼lË£Ù×±È´qç(œ‰ÝÛ@¾§êå×÷øùŽ³Òñ.þÈ}+Ò*¹ziB&/ÐDÄAê`Â‹æœ¤€±HC8þN"J²ˆ±$¡ÖÚPicW°ôÝCÀ]z €ßŸ xÚÜ`  OŸ³tÊ€ô„²"ÂB°»a´HS,o0 å–®ÖÂ9 ]‘¶fØ)ŸOS
ÀëY[Ûæã§Qf€Uû*$Š‰ .ˆ!îf=óJ VC¤ ’_FS÷ô‹Ô‡Q7D:´ö!y"2SìSD@V‘ìþã @õCÔc“Aì$AÞs¼‹DÎÐÝhˆJ\,Çs²BÎMCVÓŠ†úQ~–92î?„Çq ÛñOŠ±Û(/âú“öE|¡Qx~†ñ_mžéŒ}ˆà@©þgƒø‘ÇÁy­h °ôP ¶Äß]" þ‰æ„cý¹‡¼à^"¸!Ä„Øá–l?L§bŽ Ú}šupaƒÞÈl
ê( &&úÈƒN¸c[Â¡>Ù&äŒBò’JQÞf™:UêAŸ,ge ]Ï­§Š?$Oˆb§ÏC.¦7Ù™ çWWê‰šø°ˆNžfp„I@7îAÓgiÑ¦gx9~5#W‡"ºw¾q@¦`Mx?A.Ó\‰\\… •“rfE†ŸaØhoC ©Ê))@}«Úté{‚`ù
#^ñçž4b*.ÚÒŠþª%€¦ÂöºêÊnúâ´ë´ƒBµÐÝ‰ê18ªnfp¤I¦éQ žQk˜·E¾ ¨¨÷¨óö¢Ž.˜®@(Émh]beŸk5º×æ	 ÿ@n|1ìZ!qÎnQ¼cü[Ü«. D‚lcÆøYZ|m(CŸœfâIkÅ¼±'ô©K¿7Äœ’¯fá‰q­ÌK~û€ã@*@ÄLòÌ"ö.¸åŽ+u.5Ç›\¹Nß€š“Ð¸ŒHòh)ÃˆPì|ôÔW‹Œ³¤0¨-‘:Ê¶*»ßæÛ—^ÜÞŒS3íºµ¸X3]8ÕÆ&M•Îl ²´þ3Âö›åGþb¿|÷Ö‡·ý´ç›#¾±â+1Þ9Q½a&l‚¶ b…–gIz<È-øç„>÷áoGk¸î±!—Õ½¨ò†ZìUÎžØ¶Û:¶í¶¯FCûš
bAÈBþƒOÈG©|íS;ŸûõÿMÝ;c˜¿AÏ¥#vBºó:že'Þ;Ì|ùï|ûê£×¬:aM5û(‡»ð	i|û;œûÒw:ÿ=m}¦û_×n0
êYÕƒ_ä´·¶‚3è“<&À
Rpzß"	½Ä$¨ÜÄX¼1±@š&¨c†ÒC_aXµ¿¯€`jƒUž÷Û,Mt>[IFö- nƒkãþ ·þq ZçšŸGÈný!p0ØÕ¬È91tìâÑ…'JÎ4¢2"ÆÂÞ‰ä/¸ÅÑÉÑTÜ‘KLŸ9JÁb1a·®‘,"²„Œ¡)È ¡Â‘ÂbµÖŒP`	[°cÑÈÆ?BÏ’™,bõ˜XÉß…Ê–ŸAßÒØ´üÍ&»Ô_‰KbÐ˜q„e'íS+N±Ú;°åK +•©r$%'yLQBqqÕ,Ý!…ˆºÉÀ„M(ÈæÂ°CjG6¯¶¹Ne“–ÜLf1½™nñó†[PöHä† øS¯Jå * ž6µò¡Ôä,þxÏl±¡ô˜2* 7Ü¯FôŒ^HíéM}v³–.$4Iº@8ð!"ùèº†HÎaþ3È,¤ÐÆ¹LONÎ¥¿b©ŽXÎFÉC^¤iOGZÔhÉ0©œ¬éûá1¥úˆ¨MUéE£zS®¢Ÿõl*Ç6iÕ®6òqá ¥P;dÀO¼œ^å&XEŠI8ê®ûüêFr	&Ï”ƒvXCâÔ¬Ù¼¤+KzWq®•®8”³lê5à gaß7—åŽ Rs}¬hÅª<ÍRV®.€ÖÐ È“B¦Ý,íõÚT•©'EíaQjÒÐš¤@)€jÌT@%3Ëo—…  ;  07070100071c2d000081a40000000000000002000000013d1fe2b70000054b000000200000000000000000000000000000001800000003reloc/images/webmin.xpm   /* XPM */
static char * webmin_xpm[] = {
"32 32 10 1",
" 	c None",
".	c #020204",
"+	c #8E8E8C",
"@	c #565654",
"#	c #E2E2E4",
"$	c #3A3A3C",
"%	c #C6C6C4",
"&	c #1E1E1C",
"*	c #AAAAAC",
"=	c #727274",
"                                ",
"                                ",
"                                ",
"                                ",
"    ....*     &....     *....   ",
"    ....*    =.....     ....&   ",
"    @...*    &.....    *....=   ",
"    @...*    ......    ....$    ",
"    @...*    ......    ....*    ",
"    =...*   =......    ....     ",
"    *...*   &......   *....     ",
"    *...*  =...@...   ....*     ",
"    *...*  &...@...  *...&      ",
"    #...*  ...=@...  ....#      ",
"     ...*  ...%@...  ....       ",
"     ...* =..= @...  ...&       ",
"     ...* &..% @... *...=       ",
"     ...*=...  @... ...@        ",
"     ...*&...  @...*...%        ",
"     ...*...+  @.......         ",
"     ...*...#  @.......         ",
"     ...&..*   @......%         ",
"     ......    @.....&          ",
"     ......    @.....#          ",
"     ......    @.....           ",
"     .....%    @....&           ",
"     ....&     +....+           ",
"     ....%     *...@            ",
"     ****      #***#            ",
"                                ",
"                                ",
"                                "};
 0707010003e275000081e40000000000000002000000013d1fe2b700001caa000000200000000000000000000000000000001000000003reloc/index.cgi   #!/usr/local/bin/perl

require './web-lib.pl';
&init_config();
$hostname = &get_system_hostname();
$ver = &get_webmin_version();
&get_miniserv_config(\%miniserv);
if ($gconfig{'real_os_type'}) {
	if ($gconfig{'os_version'} eq "*") {
		$ostr = $gconfig{'real_os_type'};
		}
	else {
		$ostr = "$gconfig{'real_os_type'} $gconfig{'real_os_version'}";
		}
	}
else {
	$ostr = "$gconfig{'os_type'} $gconfig{'os_version'}";
	}

# Build a list of all modules
&read_acl(\%acl);
local $risk = $gconfig{'risk_'.$base_remote_user};
local $minfo;
foreach $minfo (&get_all_module_infos()) {
	next if (!&check_os_support($minfo));
	if ($risk) {
		# Check module risk level
		next if ($risk ne 'high' && $minfo->{'risk'} &&
			 $minfo->{'risk'} !~ /$risk/);
		}
	else {
		# Check specific ACL
		next if (!$acl{$base_remote_user,$minfo->{'dir'}} &&
			 !$acl{$base_remote_user,"*"});
		}
	push(@modules, $minfo);
	}
@modules = sort { $a->{'desc'} cmp $b->{'desc'} } @modules;

if (@modules == 1 && $gconfig{'gotoone'}) {
	# Redirect into a single module
	&redirect($modules[0]->{'dir'}.'/');
	exit;
	}

$gconfig{'sysinfo'} = 0;
if ($gconfig{'alt_startpage'}) {
	# Tim's webmin header
	&header(&text('main_title', $ver, $hostname, $ostr));
	print "<TABLE BORDER=0 WIDTH=100%>\n";
	print "<TR><TD WIDTH=20% ALIGN=left>\n";
	print "Version $ver<BR>$hostname<BR>$ostr</TD>";
	print "<TD WIDTH=60% ALIGN=center>\n";
	print "<IMG SRC=\"images/newlogo.gif\" BORDER=0>";
	print "</TD><TD WIDTH=20% ALIGN=right>";
	print "<a href=http://www.webmin.com/>$text{'main_homepage'}</a><br>";
	print "<a href=feedback_form.cgi>$text{'main_feedback'}</a>";
	if ($miniserv{'logout'} && !$ENV{'SSL_USER'} && !$ENV{'LOCAL_USER'} &&
	    $ENV{'HTTP_USER_AGENT'} !~ /webmin/i) {
		print "<br><br>\n";
		if ($main::session_id) {
			print "<a href='session_login.cgi?logout=1'>",
			      "$text{'main_logout'}</a>";
			}
		else {
			print "<a href=switch_user.cgi>$text{'main_switch'}</a>";
			}
		}
	print "</TD></TR></TABLE><HR><P>\n\n";
	}
else {
	# Standard webmin header
	if ($gconfig{'texttitles'}) {
		@args = ( $text{'main_title2'}, undef );
		}
	else {
		@args = ( $gconfig{'nohostname'} ? $text{'main_title2'} :
			    &text('main_title', $ver, $hostname, $ostr),
			  "images/newlogo.gif" );
		}
	&header(@args, undef, undef, 1, 1,
		$tconfig{'brand'} ? 
		"<a href=$tconfig{'brand_url'}>$tconfig{'brand'}</a>" :
		$gconfig{'brand'} ? 
		"<a href=$gconfig{'brand_url'}>$gconfig{'brand'}</a>" :
		"<a href=http://www.webmin.com/>$text{'main_homepage'}</a><br>".
		"<a href=feedback_form.cgi>$text{'main_feedback'}</a>"
		);
	print "<center><font size=+1>",
	    &text('main_version', $ver, $hostname, $ostr),"</font></center>\n"
		if (!$gconfig{'nohostname'});
	print "<hr><p>\n";
	}

if (!@modules) {
	# use has no modules!
	print "<p><b>$text{'main_none'}</b><p>\n";
	}
elsif ($gconfig{"notabs_${base_remote_user}"} == 2 ||
    $gconfig{"notabs_${base_remote_user}"} == 0 && $gconfig{'notabs'}) {
	# Generate main menu with all modules on one page
	print "<center><table cellpadding=5>\n";
	$pos = 0;
	$cols = $gconfig{'nocols'} ? $gconfig{'nocols'} : 4;
	$per = 100.0 / $cols;
	foreach $m (@modules) {
		if ($pos % $cols == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=$per\%>\n";
		print "<table border><tr><td><a href=$gconfig{'webprefix'}/$m->{'dir'}/>",
		      "<img src=$m->{'dir'}/images/icon.gif border=0 ",
		      "width=48 height=48></a></td></tr></table>\n";
		print "<a href=$gconfig{'webprefix'}/$m->{'dir'}/>$m->{'desc'}</a></td>\n";
		if ($pos % $cols == $cols - 1) { print "</tr>\n"; }
		$pos++;
		}
	print "</table></center><p><hr>\n";
	}
else {
	# Display under categorised tabs
	&ReadParse();
	&read_file("$config_directory/webmin.catnames", \%catnames);
	foreach $m (@modules) {
		$c = $m->{'category'};
		next if ($cats{$c});
		if (defined($catnames{$c})) {
			$cats{$c} = $catnames{$c};
			}
		elsif ($text{"category_$c"}) {
			$cats{$c} = $text{"category_$c"};
			}
		else {
			# try to get category name from module ..
			local %mtext = &load_language($m->{'dir'});
			if ($mtext{"category_$c"}) {
				$cats{$c} = $mtext{"category_$c"};
				}
			else {
				$c = $m->{'category'} = "";
				$cats{$c} = $text{"category_$c"};
				}
			}
		}
	@cats = sort { $b cmp $a } keys %cats;
	$cats = @cats;
	$per = $cats ? 100.0 / $cats : 100;
	if (!defined($in{'cat'})) {
		# Use default category
		if (defined($gconfig{'deftab'}) &&
		    &indexof($gconfig{'deftab'}, @cats) >= 0) {
			$in{'cat'} = $gconfig{'deftab'};
			}
		else {
			$in{'cat'} = $cats[0];
			}
		}
	elsif (!$cats{$in{'cat'}}) {
		$in{'cat'} = "";
		}
	print "<table border=0 cellpadding=0 cellspacing=0 height=20><tr>\n";
	$usercol = defined($gconfig{'cs_header'}) ||
		   defined($gconfig{'cs_table'}) ||
		   defined($gconfig{'cs_page'});
	foreach $c (@cats) {
		$t = $cats{$c};
		if ($in{'cat'} eq $c) {
			print "<td valign=top $cb>", $usercol ? "<br>" :
			  "<img src=images/lc2.gif alt=\"\">","</td>\n";
			print "<td $cb>&nbsp;<b>$t</b>&nbsp;</td>\n";
			print "<td valign=top $cb>", $usercol ? "<br>" :
			  "<img src=images/rc2.gif alt=\"\">","</td>\n";
			}
		else {
			print "<td valign=top $tb>", $usercol ? "<br>" :
			  "<img src=images/lc1.gif alt=\"\">","</td>\n";
			print "<td $tb>&nbsp;",
			      "<a href=$gconfig{'webprefix'}/?cat=$c><b>$t</b></a>&nbsp;</td>\n";
			print "<td valign=top $tb>", $usercol ? "<br>" :
			  "<img src=images/rc1.gif alt=\"\">","</td>\n";
			}
		print "<td width=10></td>\n";
		}
	print "</tr></table> <table border=0 cellpadding=0 cellspacing=0 ",
              "width=100% $cb>\n";
	print "<tr><td><table width=100% cellpadding=5>\n";

	# Display the modules in this category
	$pos = 0;
	$cols = $gconfig{'nocols'} ? $gconfig{'nocols'} : 4;
	$per = 100.0 / $cols;
	foreach $m (@modules) {
		next if ($m->{'category'} ne $in{'cat'});

		if ($pos % $cols == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=$per\%>\n";
		print "<table border bgcolor=#ffffff><tr><td><a href=$gconfig{'webprefix'}/$m->{'dir'}/>",
		      "<img src=$m->{'dir'}/images/icon.gif alt=\"\" border=0></a>",
		      "</td></tr></table>\n";
		print "<a href=$gconfig{'webprefix'}/$m->{'dir'}/>$m->{'desc'}</a></td>\n";
		if ($pos++ % $cols == $cols - 1) { print "</tr>\n"; }
		}
	while($pos++ % $cols) {
		print "<td width=$per\%></td>\n";
		}
	print "</table></td></tr></table><p><hr>\n";
	}

if ($miniserv{'logout'} && !$gconfig{'alt_startpage'} &&
    !$ENV{'SSL_USER'} && !$ENV{'LOCAL_USER'} &&
    $ENV{'HTTP_USER_AGENT'} !~ /webmin/i) {
	print "<table width=100% cellpadding=0 cellspacing=0><tr>\n";
	if ($gconfig{'skill_'.$base_remote_user}) {
		print "<td><b>$text{'main_skill'}:</b>\n";
		foreach $s ('high', 'medium', 'low') {
			print "&nbsp;|&nbsp;" if ($done_first_skill++);
			if ($gconfig{'skill_'.$base_remote_user} eq $s) {
				print $text{'skill_'.$s};
				}
			else {
				print "<a href='switch_skill.cgi?skill=$s&",
				   "cat=$in{'cat'}'>",$text{'skill_'.$s},"</a>";
				}
			}
		print "</td>\n";
		}
	if ($main::session_id) {
		print "<td align=right><a href='session_login.cgi?logout=1'>",
		      "$text{'main_logout'}</a></div><br>\n";
		}
	else {
		print "<td align=right><a href=switch_user.cgi>",
		      "$text{'main_switch'}</a></div><br>\n";
		}
	print "</tr></table>\n";
	}
&footer();

  070701000749ed000041ed0000000000000001000000053d1ffa5800000000000000200000000000000000000000000000000c00000003reloc/inetd   070701000749ee000081a40000000000000002000000013d1fe2ba00000114000000200000000000000000000000000000001700000003reloc/inetd/config-aix    show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=1
070701000749ef000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002000000003reloc/inetd/config-cobalt-linux   show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   070701000749f0000081a40000000000000002000000013d1fe2ba00000131000000200000000000000000000000000000001f00000003reloc/inetd/config-corel-linux    show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   070701000749f1000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002000000003reloc/inetd/config-debian-linux   show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   070701000749f2000081a40000000000000002000000013d1fe2ba000000e2000000200000000000000000000000000000001b00000003reloc/inetd/config-freebsd    show_empty=0
rpc_inetd=0
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=2
sort_mode=0
ipv6=0
  070701000749f3000081a40000000000000002000000013d1fe2bb000000e2000000200000000000000000000000000000001f00000003reloc/inetd/config-freebsd-2.1    show_empty=0
rpc_inetd=0
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
  070701000749f4000081a40000000000000002000000013d1fe2bb000000e2000000200000000000000000000000000000001f00000003reloc/inetd/config-freebsd-2.2    show_empty=0
rpc_inetd=0
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
  070701000749f5000081a40000000000000002000000013d1fe2bb000000fb000000200000000000000000000000000000002100000003reloc/inetd/config-generic-linux  show_empty=1
extended_inetd=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
tcpd_path=/usr/sbin/tcpd
sort_mode=0
ipv6=0
 070701000749f6000081a40000000000000002000000013d1fe2ba000000d8000000200000000000000000000000000000001800000003reloc/inetd/config-hpux   show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=inetd -c
extended_inetd=1
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
sort_mode=0
ipv6=0
070701000749f7000081a40000000000000002000000013d1fe2ba00000131000000200000000000000000000000000000001d00000003reloc/inetd/config-lfs-linux  restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=1
tcpd_path=/usr/sbin/tcpd
inetd_conf_file=/etc/inetd.conf
rpc_inetd=1
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
show_empty=1
sort_mode=0
ipv6=0
   070701000749f8000081a40000000000000002000000013d1fe2ba000001bb000000200000000000000000000000000000001900000003reloc/inetd/config-macos  get_services_command=nidump services . >/etc/services.ni
restart_command=ps ax | grep inetd | head -1 | awk '{ print $1 }' | xargs kill -HUP
services_file=/etc/services.ni
extended_inetd=0
protocols_file=/etc/protocols
rpc_file=/etc/rpc
tcpd_path=/usr/libexec/tcpd
inetd_conf_file=/etc/inetd.conf
rpc_inetd=0
rpc_protocols=tcp udp
put_services_command=niload services . </etc/services.ni
allow_file=
deny_file=
show_empty=1
sort_mode=0
ipv6=0
 070701000749f9000081a40000000000000002000000013d1fe2bb00000150000000200000000000000000000000000000002200000003reloc/inetd/config-mandrake-linux show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd || /etc/rc.d/init.d/inet start
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
070701000749fa000081a40000000000000002000000013d1fe2bb0000014b000000200000000000000000000000000000001d00000003reloc/inetd/config-msc-linux  show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd || /etc/init.d/inet start
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
 070701000749fb000081a40000000000000002000000013d1fe2bb000000e2000000200000000000000000000000000000001a00000003reloc/inetd/config-netbsd show_empty=0
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=2
sort_mode=0
ipv6=1
  070701000749fc000081a40000000000000002000000013d1fe2ba00000131000000200000000000000000000000000000001e00000003reloc/inetd/config-open-linux show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   070701000749fd000081a40000000000000002000000013d1fe2bb00000147000000200000000000000000000000000000002300000003reloc/inetd/config-open-linux-3.1e    show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
inetd_dir=/etc/inet.d
 070701000749fe000081a40000000000000002000000013d1fe2ba000000d1000000200000000000000000000000000000001b00000003reloc/inetd/config-openbsd    show_empty=0
rpc_inetd=0
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
sort_mode=0
ipv6=0
   070701000749ff000081a40000000000000002000000013d1fe2bb00000129000000200000000000000000000000000000001e00000003reloc/inetd/config-openserver show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp datagram_v circuit_v
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
   07070100074a00000081a40000000000000002000000013d1fe2bb00000114000000200000000000000000000000000000001800000003reloc/inetd/config-osf1   show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
07070100074a01000081a40000000000000002000000013d1fe2bb00000150000000200000000000000000000000000000002000000003reloc/inetd/config-redhat-linux   show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd || /etc/rc.d/init.d/inet start
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
07070100074a02000081a40000000000000002000000013d1fe2bb00000100000000200000000000000000000000000000002300000003reloc/inetd/config-slackware-linux    show_empty=1
extended_inetd=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
restart_command=/bin/killall -HUP inetd
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
tcpd_path=/usr/sbin/tcpd
sort_mode=0
ipv6=0
07070100074a03000081a40000000000000002000000013d1fe2ba00000147000000200000000000000000000000000000001b00000003reloc/inetd/config-solaris    show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp datagram_v circuit_v rawip ticlts ticotsord ticots
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
 07070100074a04000081a40000000000000002000000013d1fe2bb00000147000000200000000000000000000000000000001d00000003reloc/inetd/config-solaris-8  show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp datagram_v circuit_v rawip ticlts ticotsord ticots
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=1
 07070100074a05000081a40000000000000002000000013d1fe2bb00000147000000200000000000000000000000000000001d00000003reloc/inetd/config-solaris-9  show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp datagram_v circuit_v rawip ticlts ticotsord ticots
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=1
 07070100074a06000081a40000000000000002000000013d1fe2ba00000131000000200000000000000000000000000000001e00000003reloc/inetd/config-suse-linux show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a07000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-6.3 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a08000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-6.4 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a09000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-7.0 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0a000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-7.1 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0b000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-7.2 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0c000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-7.3 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0d000081a40000000000000002000000013d1fe2bb00000131000000200000000000000000000000000000002200000003reloc/inetd/config-suse-linux-8.0 show_empty=0
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0e000081a40000000000000002000000013d1fe2ba00000131000000200000000000000000000000000000001f00000003reloc/inetd/config-turbo-linux    show_empty=1
services_file=/etc/services
extended_inetd=1
restart_command=killall -HUP inetd
rpc_file=/etc/rpc
protocols_file=/etc/protocols
tcpd_path=/usr/sbin/tcpd
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp
allow_file=/etc/hosts.allow
deny_file=/etc/hosts.deny
sort_mode=0
ipv6=0
   07070100074a0f000081a40000000000000002000000013d1fe2bb00000129000000200000000000000000000000000000001c00000003reloc/inetd/config-unixware   show_empty=1
rpc_inetd=1
inetd_conf_file=/etc/inetd.conf
rpc_protocols=tcp udp datagram_v circuit_v
restart_command=ps -ef | grep inetd | head -1 | awk '{ print $2 }' | xargs kill -HUP
services_file=/etc/services
protocols_file=/etc/protocols
rpc_file=/etc/rpc
extended_inetd=0
sort_mode=0
ipv6=0
   07070100074a10000081a40000000000000002000000013d1fe2bb000002a7000000200000000000000000000000000000001800000003reloc/inetd/config.info   inetd_conf_file=Inetd configuration file,0
inetd_dir=Inetd configuration directory,3,None
extended_inetd=Extended inetd support,1,0-Original,1-Basic,2-Enhanced
show_empty=Show services with no program,1,1-Yes,0-No
rpc_inetd=Inetd supports RPC programs,1,1-Yes,0-No
ipv6=Supports IPv6 services,1,1-Yes,0-No
sort_mode=Sort services and programs by,1,0-Order in file,1-Name,2-Assignment
services_file=Network services file,0
rpc_file=RPC services file,0
protocols_file=Network protocols file,0
rpc_protocols=RPC subprotocols,0
restart_command=Command to restart inetd,0
tcpd_path=Full path to tcpd,3
allow_file=Full path to tcpd allow file,3
deny_file=Full path to tcpd deny file,3
 07070100074a65000081a40000000000000002000000013d1fe2bb000002f3000000200000000000000000000000000000001b00000003reloc/inetd/config.info.ca    inetd_conf_file=Fitxer de configuració d'inetd,0
inetd_dir=Directori de configuració d'inetd,3,Cap
extended_inetd=Suport ampliat d'inetd,1,0-Original,1-Bàsic,2-Millorat
show_empty=Mostra els serveis sense programa,1,1-Sí,0-No
rpc_inetd=Inetd suporta el programa RPC,1,1-Sí,0-No
ipv6=Suporta serveis IPv6,1,1-Sí,0-No
sort_mode=Ordena els serveis i els programes per,1,0-l'ordre del fitxer,1-Nom,2-Assignació
services_file=Fitxer de serveis de xarxa,0
rpc_file=Fitxer de serveis RPC,0
protocols_file=Fitxer de protocols de xarxa,0
rpc_protocols=Subprotocols RPC,0
restart_command=Ordre per reiniciar inetd,0
tcpd_path=Camí complet de tcpd,3
allow_file=Camí complet del fitxer <i>allow</i> de tcpd,3
deny_file=Camí complet del fitxer <i>deny</i> de tcpd,3


 07070100074a66000081a40000000000000002000000013d1fe2bb000002ac000000200000000000000000000000000000001b00000003reloc/inetd/config.info.de    inetd_conf_file=Inetd Konfigurationsdatei,0
extended_inetd=Erweiterte Inetd Unterst&uuml;tzung,1,0-Nein,1-Normal,2-Erweitert
show_empty=Zeige Dienste ohne Programm,1,1-Ja,0-Nein
rpc_inetd=Inetd unterst&uuml;tzt RPC Programme,1,1-Ja,0-Nein
sort_mode=Sortiere Dienste und Programme nach,1,0-Reihenfolge in Datei,1-Name,2-Zuweisung
services_file=Datei mit Netzwerkdiensten,0
rpc_file=Datei mit RPC Diensten,0
protocols_file=Datei mit Netzwerk-Protokollen,0
rpc_protocols=RPC Unterprotokolle,0
restart_command=Kommando zum Neustarten des inetd,0
tcpd_path=Absoluter Pfad zu tcpd,3
allow_file=Absoluter Pfad zur tcpd Erlaubnisdatei,3
deny_file=Absoluter Pfad zur tcpd Verweigerungsdatei,3
07070100074a67000081a40000000000000002000000013d1fe2ba00000331000000200000000000000000000000000000001b00000003reloc/inetd/config.info.es    inetd_conf_file=Archivo de configuración de inetd,0
inetd_dir=Directorio de configuración de Inetd,3,Ninguno
extended_inetd=Soporte extendido de inetd,1,0-No,1-Básico,2-Mejorado
show_empty=Mostrar servicios que no tengan programa,1,1-Sí,0-No
rpc_inetd=Inetd sporta programas RPC,1,1-Sí,0-No
ipv6=Soporta servicios de IPv6,1,1-Sí,0-No
sort_mode=Clasificar servicios y programas por,1,0-Orden en el archivo,1-Nombre,2-Asignación
services_file=Archivo de servicios de Red,0
rpc_file=Archivo de servicios RPC,0
protocols_file=Archivo de protocolos de Red,0
rpc_protocols=Subprotocolos RPC,0
restart_command=Comando para rearrancar inetd,0
tcpd_path=Trayectoria completa a tcpd,3
allow_file=Trayectoria completa a archivo de autorizaciones de tcpd,3
deny_file=Trayectoria completa a archivo de no autorizaciones de tcpd,3
   07070100074a68000081a40000000000000002000000013d1fe2bb00000259000000200000000000000000000000000000001b00000003reloc/inetd/config.info.fr    inetd_conf_file=Fichier de configuration inetd,0
extended_inetd=Support étendu d'inetd,1,0-Non,1-De base,2-Amélioré
show_empty=Afficher les serveurs sans programmes,1,1-Oui,0-Non
rpc_inetd=Inetd supporte les services RPC,1,1-Oui,0-Non
services_file=Fichier de services réseau,0
rpc_file=Fichier de services RPC,0
protocols_file=Fichier de protocoles réseau,0
rpc_protocols=Sous-protocole RPC,0
restart_command=Commande pour redémarrer inetd,0
tcpd_path=Chemin de l'exécutable tcpd,3
allow_file=Chemin du fichier d'autorisation tcpd,3
deny_file=Chemin du fichier de non-autorisation tcpd,3
   07070100074a69000081a40000000000000002000000013d1fe2bb000002c5000000200000000000000000000000000000001b00000003reloc/inetd/config.info.hu    inetd_conf_file=Inetd konfigurációs file,0
extended_inetd=Kibõvített inetd fut?,1,0-Nem,1-Kissé,2-Nagyon
show_empty=A program nélküli szolgáltatások látsszanak?,1,1-Igen,0-Nem
rpc_inetd=Az inetd támogatja az RPC-t?,1,1-Igen,0-Nem
ipv6=IPv6 szolgáltatások támogatva?,1,1-Igen,0-Nem
sort_mode=Sorbarendezés szempontja,1,0-File,1-ABC,2-Státusz
services_file=A hálózati szolgáltatások listája,0
rpc_file=Az RPC szolgáltatások listája,0
protocols_file=A hálózati protokollok listája,0
rpc_protocols=RPC alprotokollok,0
restart_command=Az inetd-t újraindító parancs,0
tcpd_path=<tt>tcpd</tt> teljes ösvénnyel,3
allow_file=tcpd allow file teljes ösvénnyel,3
deny_file=tcpd deny file teljes ösvénnyel,3
   07070100074a6a000081a40000000000000002000000013d1fe2bb000002f5000000200000000000000000000000000000001b00000003reloc/inetd/config.info.pl    inetd_conf_file=Plik konfiguracyjny inetd,0
inetd_dir=Katalog konfiguracyjny inetd,3,Brak
extended_inetd=Rozszerzona obs³uga inetd,1,0-Pierwotna,1-Podstawowa,2-Wzbogacona
show_empty=Pokazywaæ us³ugi bez programu,1,1-Tak,0-Nie
rpc_inetd=Inetd obs³uguje programy RPC,1,1-Tak,0-Nie
ipv6=Wspomaganie dla us³ug IPv6,1,1-Tak,0-Nie
sort_mode=Porz±dek us³ug i&nbsp;programów,1,0-Porz±dek w&nbsp;plku,1-Wg nazwy,2-Assignment
services_file=Plik us³ug sieciowych,0
rpc_file=Plik us³ug RPC,0
protocols_file=Plik protoko³ów sieciowych,0
rpc_protocols=Podprotoko³y RPC,0
restart_command=Polecenie restartuj±ce inetd,0
tcpd_path=Pe³na ¶cie¿ka do tcpd,3
allow_file=Pe³na ¶cie¿ka do pliku <tt>allow</tt> dla tcpd,3
deny_file=Pe³na ¶cie¿ka do pliku <tt>deny</tt> dla tcpd,3

   07070100074a6b000081a40000000000000002000000013d1fe2bb0000023c000000200000000000000000000000000000001e00000003reloc/inetd/config.info.ru_RU restart_command=Êîìàíäà äëÿ ïåðåçàïóñêà inetd,0
services_file=Ôàéë ñ ñåòåâûìè ñåðâèñàìè,0
protocols_file=Ôàéë ñ ñåòåâûìè ïðîòîêîëàìè,0
rpc_file=Ôàéë ñ RPC ñåðâèñàìè,0
extended_inetd=Ïîääåðæêà ðàñøèðåííîãî inetd,1,0-Íåò,1-Áàçîâûé,2-Óëó÷øåííûé
tcpd_path=Ïîëíûé ïóòü ê tcpd,3
inetd_conf_file=Êîíôèãóðàöèîííûé ôàéë inetd,0
rpc_inetd=Ïîääåðæêà RPC ïðîãðàìì â inetd,1,1-Äà,0-Íåò
rpc_protocols=RPC ñóáïðîòîêîëû,0
allow_file=Ïîëíûé ïóòü ê ôàéëó ðàçðåøåíèÿ äîñòóïà tcpd,3
deny_file=Ïîëíûé ïóòü ê ôàéëó çàïðåòà äîñòóïà tcpd,3
show_empty=Ïîêàçûâàòü ñåðâèñû áåç ïðîãðàìì,1,1-Äà,0-Íåò
07070100074a6c000081a40000000000000002000000013d1fe2ba0000023c000000200000000000000000000000000000001e00000003reloc/inetd/config.info.ru_SU inetd_conf_file=ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ inetd,0
extended_inetd=ðÏÄÄÅÒÖËÁ ÒÁÓÛÉÒÅÎÎÏÇÏ inetd,1,0-îÅÔ,1-âÁÚÏ×ÙÊ,2-õÌÕÞÛÅÎÎÙÊ
show_empty=ðÏËÁÚÙ×ÁÔØ ÓÅÒ×ÉÓÙ ÂÅÚ ÐÒÏÇÒÁÍÍ,1,1-äÁ,0-îÅÔ
rpc_inetd=ðÏÄÄÅÒÖËÁ RPC ÐÒÏÇÒÁÍÍ × inetd,1,1-äÁ,0-îÅÔ
services_file=æÁÊÌ Ó ÓÅÔÅ×ÙÍÉ ÓÅÒ×ÉÓÁÍÉ,0
rpc_file=æÁÊÌ Ó RPC ÓÅÒ×ÉÓÁÍÉ,0
protocols_file=æÁÊÌ Ó ÓÅÔÅ×ÙÍÉ ÐÒÏÔÏËÏÌÁÍÉ,0
rpc_protocols=RPC ÓÕÂÐÒÏÔÏËÏÌÙ,0
restart_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÅÒÅÚÁÐÕÓËÁ inetd,0
tcpd_path=ðÏÌÎÙÊ ÐÕÔØ Ë tcpd,3
allow_file=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ÒÁÚÒÅÛÅÎÉÑ ÄÏÓÔÕÐÁ tcpd,3
deny_file=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ÚÁÐÒÅÔÁ ÄÏÓÔÕÐÁ tcpd,3
07070100074a6d000081a40000000000000002000000013d1fe2bb000002d9000000200000000000000000000000000000001b00000003reloc/inetd/config.info.sv    inetd_conf_file=Inetd-inställningsfil,0
inetd_dir=Inetd-inställningskatalog,3,Ingen
extended_inetd=inetd-stöd,1,0-Original,1-Basstöd,2-Utökat stöd
show_empty=Visa tjänster som inte har något program,1,1-Ja,0-Nej
rpc_inetd=Inetd stödjer RPCprogram,1,1-Ja,0-Nej
ipv6=Stödjer IPv6-tjänster,1,1-Ja,0-Nej
sort_mode=Sortera tjänster och program efter,1,0-Filordning,1-Namn,2-Uppgift
services_file=Fil för nätverkstjänster,0
rpc_file=Fil för RPC-tjänster,0
protocols_file=Fil för nätverksprotokoll,0
rpc_protocols=Underprotokoll till RPC,0
restart_command=Kommando för att starta om inetd,0
tcpd_path=Fullständig sökväg till tcpd,3
allow_file=Fullständig sökväg till tcpd allow file,3
deny_file=Fullständig sökväg till tcpd deny file,3
   07070100074a6e000081a40000000000000002000000013d1fe2bb0000028d000000200000000000000000000000000000001b00000003reloc/inetd/config.info.tr    inetd_conf_file=Inetd yapýlandýrma dosyasý,0
extended_inetd=Uzatýlmýþ inetd desteði,1,0-Hayýr,1-Temel,2-Enhanced
show_empty=Program olmadan servisleri göster,1,1-Evet,0-Hayýr
rpc_inetd=Inetd, RPC programlarýný desteklesin,1,1-Evet,0-Hayýr
sort_mode=Servisleri ve programlarý sýralama ,1,0-Dosyadaki þekliyle,1-Ada göre,2-Assignment
services_file=Að servisleri dosyasý,0
rpc_file=RPC servisleri dosyasý,0
protocols_file=Að protokolleri dosyasý,0
rpc_protocols=RPC alt protokulleri,0
restart_command=Inetd'yi yeniden baþlatma komutu,0
tcpd_path=tcpd'nin tam yolu,3
allow_file=tcpd kabul dosyasýnýn tam yeri,3
deny_file=tcpd reddetme dosyasýnýn tam yeri,3
   07070100074a6f000081a40000000000000002000000013d1fe2ba000001f4000000200000000000000000000000000000001e00000003reloc/inetd/config.info.zh_CN inetd_conf_file=InetdÅäÖÃÎÄ¼þ,0
extended_inetd=À©Õ¹inetdÖ§³Ö,1,0-ÎÞ,1-»ù±¾,2-ÔöÇ¿
show_empty=ÏÔÊ¾Ã»ÓÐ³ÌÐòµÄ·þÎñ,1,1-ÊÇ,0-·ñ
rpc_inetd=InetdÖ§³ÖRPC³ÌÐò,1,1-ÊÇ,0-·ñ
ipv6=Ö§³Ö IPv6 ·þÎñ,1,1-ÊÇ,0-·ñ
sort_mode=ÅÅÐò·þÎñºÍ³ÌÐò°´ÕÕ,1,0-°´ÕÕÎÄ¼þ,1-Ãû³Æ,2-Ö¸¶¨
services_file=ÍøÂç·þÎñÎÄ¼þ,0
rpc_file=RPC·þÎñÎÄ¼þ,0
protocols_file=ÍøÂçÐ­ÒéÎÄ¼þ,0
rpc_protocols=RPC×ÓÐ­Òé,0
restart_command=ÖØÐÂÆô¶¯inetdµÄÃüÁî,0
tcpd_path=tcpdµÄÍêÕûÂ·¾¶,3
allow_file=tcpd allow ÎÄ¼þµÄÍêÕûÂ·¾¶,3
deny_file=tcpd deny ÎÄ¼þµÄÍêÕûÂ·¾¶,3
07070100074a70000081a40000000000000002000000013d1fe2ba000001e9000000200000000000000000000000000000002300000003reloc/inetd/config.info.zh_TW.Big5    inetd_conf_file=Inetd ²ÕºAÀÉ,0
extended_inetd=©µ¦ùªº inetd ¤ä´©,1,0-µL,1-°ò¥»ªº,2-¥[±jªº
show_empty=¬O§_Åã¥Ü¨S¦³¹ïÀ³µ{¦¡ªºªA°È?,1,1-¬O,0-§_
rpc_inetd=Inetd ¬O§_¤ä´© RPC µ{¦¡?,1,1-¬O,0-§_
services_file=ºô¸ôªA°ÈÀÉ®×,0
rpc_file=RPC ªA°ÈÀÉ®×,0
protocols_file=ºô¸ô¨ó©wÀÉ®×,0
rpc_protocols=RPC ¤l¨ó©w,0
restart_command=­«·s±Ò°Ê inetd ªº©R¥O,0
tcpd_path=¨ì tcpd (TCP wrapper) ªº§¹¾ã¸ô®|,3
allow_file=¨ì tcpd (TCP wrapper) ¤¹³\ÀÉ®×ªº§¹¾ã¸ô®|,3
deny_file=¨ì tcpd (TCP wrapper) ©Úµ´ÀÉ®×ªº§¹¾ã¸ô®|,3
   07070100074a71000081e40000000000000002000000013d1fe2bb00000233000000200000000000000000000000000000001b00000003reloc/inetd/delete_rpc.cgi    #!/usr/local/bin/perl
# delete_rpc.cgi
# Delete an RPC program

require './inetd-lib.pl';
&ReadParse();

&lock_inetd_files();
@rpcs = &list_rpcs();
@rpc = @{$rpcs[$in{'rpos'}]};
&delete_rpc($rpc[0]);
if ($in{'ipos'} =~ /\d/) {
	@inets = &list_inets();
	@inet = @{$inets[$in{'ipos'}]};
	&delete_inet($inet[0]);
	}
&unlock_inetd_files();
&webmin_log("delete", "rpc", $rpc[1],
	    { 'name' => $rpc[1], 'number' => $rpc[2],
	      'active' => $inet[1],
	      'user' => $inet[7], 'wait' => $inet[6],
	      'prog' => join(" ", @inet[8..@inet-1]) } );
&redirect("");
 07070100074a72000081e40000000000000002000000013d1fe2ba0000025d000000200000000000000000000000000000001c00000003reloc/inetd/delete_serv.cgi   #!/usr/local/bin/perl
# delete_inet.cgi
# Delete an internet service

require './inetd-lib.pl';
&ReadParse();

&lock_inetd_files();
@servs = &list_services();
@serv = @{$servs[$in{'spos'}]};
&delete_service($serv[0]);
if ($in{'ipos'} =~ /\d/) {
	@inets = &list_inets();
	@inet = @{$inets[$in{'ipos'}]};
	&delete_inet($inet[0]);
	}
&unlock_inetd_files();
&webmin_log("delete", "serv", $serv[1],
	    { 'name' => $serv[1], 'port' => $serv[2],
	      'proto' => $serv[3], 'active' => $inet[1],
	      'user' => $inet[7], 'wait' => $inet[6],
	      'prog' => join(" ", @inet[8..@inet-1]) } );
&redirect("");

   07070100074a73000081e40000000000000002000000013d1fe2bb0000164a000000200000000000000000000000000000001900000003reloc/inetd/edit_rpc.cgi  #!/usr/local/bin/perl
# edit_rpc.cgi
# Display a form for editing a RPC service

require './inetd-lib.pl';
&ReadParse();

if ($in{'new'}) {
	&header($text{'editrpc_title1'}, "");
	}
else {
	&header($text{'editrpc_title2'}, "");
	@rpc = @{(&list_rpcs())[$in{'rpos'}]};
	if ($in{'ipos'} =~ /\d/) {
		@inet = @{(&list_inets())[$in{'ipos'}]};
		}
	}
print "<hr>\n";

print "<form action=\"save_rpc.cgi\">\n";
if (@rpc) {
	print "<input type=hidden name=rpos value=$in{'rpos'}>\n";
	print "<input type=hidden name=ipos value=$in{'ipos'}>\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'editrpc_detail'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td nowrap><b>$text{'editrpc_prgname'}</b></td>\n";
print "<td><input size=10 name=name value=\"$rpc[1]\"></td>\n";

print "<td><b>$text{'editrpc_prgnum'}</b></td>\n";
print "<td><input size=7 name=number value=\"$rpc[2]\"></td> </tr>\n";

print "<tr> <td><b>$text{'editrpc_aliase'}</b></td> <td colspan=3>\n";
print "<input size=40 name=aliases value=\"$rpc[3]\"></td> </tr>\n";

print "</table></td></tr></table><p>\n";

if ($config{'rpc_inetd'}) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'editrpc_server'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td colspan=4>\n";
	printf "<input type=radio name=act value=0 %s> $text{'editrpc_noassigned'}\n",
		@inet ? "" : "checked";
	printf "<input type=radio name=act value=1 %s> $text{'editrpc_disable'}\n",
		@inet && !$inet[1] ? "checked" : "";
	printf "<input type=radio name=act value=2 %s> $text{'editrpc_enable'}\n",
		$inet[1] ? "checked" : "";
	print "</td> </tr>\n";

	print "<td><b>$text{'editrpc_version'}</b></td>\n";
	if ($inet[3] =~ /^[^\/]+\/([0-9]+)\-([0-9]+)$/) {
		$vfrom = $1; $vto = $2;
		}
	elsif ($inet[3] =~ /^[^\/]+\/([0-9]+)$/) {
		$vfrom = $1; $vto = $1;
		}
	else { $vfrom = $vto = ""; }
	print "<td><input size=1 name=vfrom value=\"$vfrom\"> -\n";
	print "<input size=1 name=vto value=\"$vto\"></td>\n";

	print "<td><b>$text{'editrpc_socket'}</b></td>\n";
	print "<td><select name=type>\n";
	printf "<option value=stream %s>Stream\n",
		$inet[4] eq "stream" || !@inet ? "selected" : "";
	printf "<option value=dgram %s>Datagram\n",
		$inet[4] eq "dgram" ? "selected" : "";
	printf "<option value=tli %s>TLI\n",
		$inet[4] eq "tli" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'editrpc_protocol'}</b></td>\n";
	$inet[5] =~ /^[^\/]+\/(.*)$/;
	if ($1 eq "*") { @usedpr = split(/\s+/, $config{'rpc_protocols'}); }
	else { @usedpr = split(/,/, $1); }
	print "<td colspan=3>\n";
	foreach $upr (split(/\s+/, $config{rpc_protocols})) {
		printf "<input name=protocols type=checkbox value=\"$upr\" %s>".
		       " $upr\n", &indexof($upr,@usedpr)<0?"":"checked";
		}
	print "</td> </tr>\n";

	print "<tr> <td nowrap><b>$text{'editrpc_server'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=internal value=1 %s> $text{'editrpc_internal'}\n",
		$inet[8] eq "internal" ? "checked" : "";
	printf "<input type=radio name=internal value=0 %s>\n",
		$inet[8] ne "internal" || !@inet ? "checked" : "";
	printf "<input name=program size=40 value=\"%s\">\n",
		$inet[8] ne "internal" || !@inet ? $inet[8] : "";
	print &file_chooser_button("program", 0);
	print "</td> </tr>\n";

	print "<tr> <td nowrap><b>$text{'editrpc_command'}</b></td> <td colspan=3>\n";
	printf "<input name=args size=40 value=\"%s\"></td> </tr>\n",
		$inet[8] eq "internal" ? "" : $inet[9];

	if ($inet[6] =~ /^(\S+)\.(\d+)$/) { $waitmode = $1; $permin = $2; }
	else { $waitmode = $inet[6]; $permin = -1; }
	if ($inet[7] =~ /^(\S+)\.(\S+)$/) { $user = $1; $group = $2; }
	else { $user = $inet[7]; undef($group); }

	print "<tr> <td nowrap><b>$text{'editrpc_waitmode'}</b></td>\n";
	printf "<td nowrap><input type=radio name=wait value=wait %s> $text{'editrpc_wait'}\n",
		$waitmode eq "wait" || !@inet ? "checked" : "";
	printf "<input type=radio name=wait value=nowait %s> $text{'editrpc_nowait'}</td>\n",
		$waitmode eq "nowait" ? "checked" : "";

	print "<td nowrap><b>$text{'editrpc_execasuser'}</b></td>\n";
	print "<td nowrap><input name=user size=8 value=\"$user\"> ",
	      &user_chooser_button("user", 0),"</td> </tr>\n";

	if ($config{extended_inetd}) {
		print "<tr> <td nowrap><b>$text{'editrpc_max'}</b></td> <td nowrap>\n";
		printf "<input type=radio name=permin_def value=1 %s> $text{'editrpc_default'}\n",
			$permin<0 ? "checked" : "";
		printf "&nbsp; <input type=radio name=permin_def value=0 %s>\n",
			$permin<0 ? "" : "checked";
		printf "<input name=permin size=5 value=\"%s\"></td>\n",
			$permin<0 ? "" : $permin;

		print "<td nowrap><b>$text{'editrpc_execasgrp'}</b></td>\n";
		print "<td nowrap><select name=group>\n";
		printf "<option value=\"\" %s> $text{'editrpc_default'}",
			$group ? "" : "selected";
		setgrent();
		while(@ginfo = getgrent()) {
			printf "<option value=\"$ginfo[0]\" %s>$ginfo[0]\n",
				$ginfo[0] eq $group ? "selected" : "";
			}
		print "</select></td> </tr>\n";
		endgrent() if ($gconfig{'os_type'} ne 'hpux');
		}

	print "</table></td></tr></table><p>\n";
	}

if (@rpc) {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=$text{'index_save'}></td>\n";
	print "</form><form action=\"delete_rpc.cgi\">\n";
	print "<input type=hidden name=rpos value=\"$in{'rpos'}\">\n";
	print "<input type=hidden name=ipos value=\"$in{'ipos'}\">\n";
	print "<td align=right><input type=submit value=$text{'index_delete'}></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=$text{'index_create'}></form><p>\n";
	}

printf "<hr>\n";
&footer("", $text{'index_list'});

  07070100074a74000081e40000000000000002000000013d1fe2bb00001a5d000000200000000000000000000000000000001a00000003reloc/inetd/edit_serv.cgi #!/usr/local/bin/perl
# edit_inet.cgi
# Display a form for editing or creating an internet service

require './inetd-lib.pl';
&ReadParse();

if ($in{'new'}) {
	&header($text{'editserv_title1'}, "");
	}
else {
	&header($text{'editserv_title2'}, "");
	@serv = @{(&list_services())[$in{'spos'}]};
	if ($in{'ipos'} =~ /\d/) {
		@inet = @{(&list_inets())[$in{'ipos'}]};
		}
	}
print "<hr>\n";

print "<form action=\"save_serv.cgi\">\n";
if (@serv) {
	print "<input type=hidden name=spos value=$in{'spos'}>\n";
	print "<input type=hidden name=ipos value=$in{'ipos'}>\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'editserv_detail'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td nowrap><b>$text{'editserv_name'}</b></td>\n";
print "<td><input size=20 name=name value=\"$serv[1]\"></td>\n";

print "<td nowrap><b>$text{'editserv_port'}</b></td>\n";
print "<td nowrap><input size=10 name=port value=\"$serv[2]\"></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'editrpc_protocol'}</b></td>\n";
print "<td valign=top><select name=protocol>\n";
foreach $p (&list_protocols()) {
	printf "<option value=$p %s>%s %s\n",
		$serv[3] eq $p || (!@serv && $p eq "tcp") ? "selected" : "",
		uc($p), $prot_name{$p} ? "($prot_name{$p})" : "";
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'editrpc_aliase'}</b></td>\n";
printf "<td valign=top><textarea name=aliases ".
       "rows=3 cols=20>%s</textarea></td> </tr>\n",
	join("\n", split(/\s+/, $serv[4]));

print "</table></td> </tr></table><p>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'editrpc_server'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td colspan=4>\n";
	printf "<input type=radio name=act value=0 %s> $text{'editrpc_noassigned'}\n",
		@inet ? "" : "checked";
	printf "<input type=radio name=act value=1 %s> $text{'editrpc_disable'}\n",
		@inet && !$inet[1] ? "checked" : "";
	printf "<input type=radio name=act value=2 %s> $text{'editrpc_enable'}\n",
		$inet[1] ? "checked" : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'editserv_program'}</b></td>\n";
printf "<td colspan=3><input type=radio name=serv value=1 %s>\n",
	$inet[8] eq "internal" ? "checked" : "";
print "$text{'editserv_inetd'}</td> </tr>\n";

$tcpd = (-x $config{'tcpd_path'} && $inet[8] eq $config{'tcpd_path'});
print "<tr> <td></td>\n";
printf "<td colspan=3><input type=radio name=serv value=2 %s> $text{'editrpc_command'}\n",
	$inet[8] ne "internal" && !$tcpd ? "checked" : "";
printf "<input name=program size=30 value=\"%s\">\n",
	$inet[8] ne "internal" && !$tcpd ? $inet[8] : "";
print &file_chooser_button("program", 0);
printf "$text{'editserv_args'} <input name=args size=30 value=\"%s\"></td> </tr>\n",
	$inet[5] ne "internal" && !$tcpd ? $inet[9] : "";

if (-x $config{'tcpd_path'}) {
	print "<tr> <td></td>\n";
	printf "<td colspan=3><input type=radio name=serv value=3 %s>\n",
		$tcpd ? "checked" : "";
 	print "$text{'editserv_wrapper'}\n";
	$inet[9] =~ /^(\S+)\s*(.*)$/;
	printf "<input name=tcpd size=15 value=\"%s\">\n", $tcpd ? $1 : "";
	printf "$text{'editserv_args'} <input name=args2 size=30 value=\"%s\"></td> </tr>\n",
		$tcpd ? $2 : "";
	}

@op1 = split(/[:\.\/]/, $inet[6]);
@op2 = split(/[:\.\/]/, $inet[7]);
if ($inet[7] =~ /\// && $inet[7] !~ /:/) {
	# class but no group!
	splice(@op2, 1, 0, undef);
	}
print "<tr> <td nowrap><b>$text{'editrpc_waitmode'}</b></td> <td nowrap>\n";
printf "<input type=radio name=wait value=wait %s> $text{'editrpc_wait'}\n",
	$op1[0] eq "wait" ? "checked" : "";
printf "<input type=radio name=wait value=nowait %s> $text{'editrpc_nowait'}</td>\n",
	$op1[0] eq "nowait" || !@inet ? "checked" : "";

print "<td nowrap><b>$text{'editrpc_execasuser'}</b></td>\n";
print "<td nowrap><input name=user size=8 value=\"$op2[0]\"> ",
      &user_chooser_button("user", 0),"</td> </tr>\n";

if ($config{'extended_inetd'} == 1) {
	# Display max per minute and group options
	# This is for systems like Linux
	print "<tr> <td nowrap><b>$text{'editrpc_max'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=permin_def value=1 %s> $text{'editrpc_default'}\n",
		@op1 < 2 ? "checked" : "";
	printf "&nbsp; <input type=radio name=permin_def value=0 %s>\n",
		@op1 < 2 ? "" : "checked";
	printf "<input name=permin size=5 value=\"%s\"></td>\n",
		@op1 < 2 ? "" : $op1[1];

	print "<td nowrap><b>$text{'editrpc_execasgrp'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=group_def value=1 %s> %s\n",
		$op2[1] ? "" : "checked", $text{'default'};
	printf "<input type=radio name=group_def value=0 %s>\n",
		$op2[1] ? "checked" : "";
	print &unix_group_input("group", $op2[1]),"</td> </tr>\n";
	}
elsif ($config{'extended_inetd'} == 2) {
	# Display max child, max per minute, group and login class options
	# This is for systems like FreeBSD
	print "<tr> <td nowrap><b>$text{'editrpc_max'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=permin_def value=1 %s> $text{'editrpc_default'}\n",
		@op1 < 3 ? "checked" : "";
	printf "&nbsp; <input type=radio name=permin_def value=0 %s>\n",
		@op1 < 3 ? "" : "checked";
	printf "<input name=permin size=5 value=\"%s\"></td>\n",
		@op1 < 3 ? "" : $op1[2];

	print "<td nowrap><b>$text{'editrpc_execasgrp'}</b></td>\n";
	print "<td nowrap><select name=group>\n";
	printf "<option value=\"\" %s> $text{'editrpc_default'}",
		$op2[1] ? "" : "selected";
	setgrent();
	while(@ginfo = getgrent()) {
		printf "<option value=\"$ginfo[0]\" %s>$ginfo[0]\n",
			$ginfo[0] eq $op2[1] ? "selected" : "";
		}
	print "</select></td> </tr>\n";
	endgrent() if ($gconfig{'os_type'} ne 'hpux');

	print "<tr> <td nowrap><b>$text{'editserv_maxchild'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=child_def value=1 %s> $text{'editrpc_default'}\n",
		@op1 < 2 ? "checked" : "";
	printf "&nbsp; <input type=radio name=child_def value=0 %s>\n",
		@op1 < 2 ? "" : "checked";
	printf "<input name=child size=5 value=\"%s\"></td>\n",
		@op1 < 2 ? "" : $op1[1];

	print "<td nowrap><b>$text{'editserv_execlogin'}</b></td>\n";
	print "<td><input name=class size=10 value=\"$op2[2]\"></td> </tr>\n";
	}

print "</table></td></tr></table>\n";
if (!$in{'new'}) {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=$text{'index_save'}></td>\n";
	print "</form><form action=\"delete_serv.cgi\">\n";
	print "<input type=hidden name=spos value=\"$in{'spos'}\">\n";
	print "<input type=hidden name=ipos value=\"$in{'ipos'}\">\n";
	print "<td align=right><input type=submit value=$text{'index_delete'}></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=$text{'index_create'}></form><p>\n";
	}

printf "<hr>\n";
&footer("", $text{'index_list'});
   07070100075ff5000041ed0000000000000001000000023d1ffa5500000000000000200000000000000000000000000000001100000003reloc/inetd/help  07070100075ff6000081a40000000000000002000000013d1fe2bb0000167a000000200000000000000000000000000000001e00000003reloc/inetd/help/help.ca.html <body bgcolor=#ffffff>
<title>Serveis d'Internet</title>
<center><img src="images/inetd.gif"></center><br>
<h2><i>Aquesta pàgina d'ajuda és incompleta</i></h2>
<hr>
<h3>Introducció</h3>
Aquest mòdul permet gestionar i configurar els serveis d'Internet tals
com <tt>telnet</tt>, <tt>ftp</tt> i <tt>finger</tt>. Cada servei 
d'Internet té un nom, un número de port i un protocol (com ara
<tt>telnet</tt> sobre <tt>tcp</tt> port 23). Molts serveis també
tenen un programa servidor per manipular les connexions de xarxa
d'aquests serveis. <p>

Els serveis amb un programa associat es controlen amb el dimoni Unix
<tt>inetd</tt>, que escolta les connexions de xarxa per compte 
de tots els seus serveis. Quan es rep una connexió, el programa servidor
s'inicia per manipular les dades de la nova connexió. <p>

No tots els serveis d'Internet estan gestionats per aquest mòdul.
Els servidors que reben moltes connexions, com ara HTTPD, SMB o NFS 
s'executen separadament per evitar haver d'iniciar un nou procés per 
cada petició. Aquests serveis es poden configurar fent servir altres
mòduls Webmin, com ara <a href=/samba/>Samba</a> o
<a href=/apache/>Apache</a>. <p>

La pàgina principal d'aquest mòdul llista tots els serveis d'Internet
i RPC del sistema. Els serveis que tenen un programa assignat es mostren
amb negreta. La llista de serveis d'Internet, serveis RPC i programes
es treu dels fitxers <tt>/etc/services</tt>, <tt>/etc/rpc</tt> i
<tt>/etc/inetd.conf</tt>. <p>

<hr>
<h3>Creació d'un Nou Servei</h3>
Per crear un nou servei d'Internet, fes clic sobre l'enllaç
<tt>Crea un nou servei d'Internet</tt> sota la llista dels serveis
actius. Això et portarà a un formulari on es poden introduir els
detalls del nou servei:
<ul>
<li><b>Nom del Servei</b><br>
   Cada servei ha de tenir una parella única de nom i protocol.
   Això vol dir que dos serveis poden tenir el mateix nom si
   i només si fan servir protocols diferents. <p>
<li><b>Protocol</b><br>
   El protocol de comunicació utilitzat per aquest servei.
   Gairebé tots els serveis d'Internet fan servir el protocol
   <tt>TCP</tt>, i la resta el protocol <tt>UDP</tt>. <p>
<li><b>Port</b><br>
   Cada servei té un número de port que ha de ser únic en tot el 
   protocol utilitzat pel servei. El número de port ha d'estar
   entre 0 i 65535, tant per <tt>TCP</tt> com per <tt>UDP</tt>. <p>
<li><b>Àlies</b><br>
   Una llista de noms alternatius utilitzats per referir-se al
   servei. Un àlies no pot tenir el mateix nom que un servei o un
   àlies del mateix protocol que ja existeixi. <p>
</ul><p>
Es poden fer servir els noms dels serveis d'Internet en lloc de noms de port
amb les ordres tals com ara <tt>telnet</tt>. Per exemple, pots introduir
<tt>telnet foo.bar.com smtp</tt> per connectar-te al port 25 del host 
<tt>foo.bar.com</tt>, assumint que el servei d'Internet <tt>smtp</tt>
està correctament definit. <p>

Pels serveis amb un programa associat, has de triar l'opció
<tt>Utilitza el programa de sota</tt>
<ul>
<li><b>Programa</b><br>
   Alguns (pocs) serveis són gestionats internament per <tt>inetd</tt>.
   Per tant, per a gairebé tots els nous serveis que creïs,
   cal donar el camí complet del programa a executar. <p>
<li><b>Arguments</b><br>
   Els arguments de la línia d'ordres per passar-li al programa anterior.
   El primer argument ha de ser el nom del programa, i la resta
   els altres paràmetres. <p>
<li><b>Mode d'espera</b><br>
   Això determina si <tt>inetd</tt> ha d'esperar fins que el programa
   es completi abans d'iniciar-ne d'altres o no. Per a la majoria de
   serveis, això hauria de ser <tt>No esperis</tt>. <p>
<li><b>Executa com</b><br>
   El nom de l'usuari sota el qual s'ha d'executar el programa.
   La majoria de servidors necessiten ser executats com a <tt>root</tt>. <p>
</ul><p>
Quan s'afegeix un nou servei, no té efecte immediatament. Has de fer
clic sobre el botó <tt>Reinicia Inetd</tt> de la pàgina principal per
tal que s'apliquin els canvis. <p>

<hr>
<h3>Edició d'un Servei Existent</h3>
Per editar un servei, fes clic sobre el nom del servei a la llista de 
la pàgina principal. Això mostrarà el mateix formulari utilitzat per
crear un servei nou, que et permetrà d'editar els detalls del servei.
També pots fer clic sobre el botó <tt>Suprimeix</tt> al peu del la
pàgina per suprimir el servei. <p>

Ves amb compte editant o suprimint serveis tals com <tt>telnet</tt> o
<tt>ftp</tt>. Canviar aquests serveis pot fer impossible l'entrada
a la teva màquina (o pitjor). <p>

Quan es modifica un servei, no té efecte immediatament. Has de fer
clic sobre el botó <tt>Reinicia Inetd</tt> de la pàgina principal per
tal que s'apliquin els canvis. <p>

<hr>
<h3>Creació i Edició de Programes RPC</h3>
En general, no tindràs necessitat de crear o editar programes RPC al
teu sistema. No obstant, si cal, el procediment es similar al de 
creació i edició de serveis d'Internet. <p>
 
El formulari per editar i crear programes RPC contindrà sempre almenys
els camps següents:
<ul>
<li><b>Nom del Programa</b><br>
   Un nom únic de programa (dins del mateix protocol). <p>
<li><b>Número</b><br>
   Cada programa RPC té un número únic, determinat quan s'escriu
   el programa. <p>
<li><b>Àlies</b><br>
   Altres noms que es poden utilitzar per fer referència al programa.<p>
</ul><p>

Alguns sistemes operatius (com el Solaris) permeten associar un programa
servidor amb un servei RPC. Aquest programa serà executat per <tt>inetd</tt>
quan rebi una petició pel programa. <p>
Si el teu sistema suporta programes servidors RPC executats per inetd,
també seran visibles els camps següents:
<ul>
<li>???
</ul>
 
<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 


  07070100075ff7000081a40000000000000002000000013d1fe2bb00001790000000200000000000000000000000000000001e00000003reloc/inetd/help/help.es.html <body bgcolor=#ffffff>
<title>Servicios de Internet</title>
<center><img src="images/inetd.gif"></center><br>
<h2><i>Esta página de ayuda está incompleta</i></h2>
<hr>
<h3>Introducción</h3>
Este módulo te permite gestionar y configurar servicios de internet como
<tt>telnet</tt>, <tt>ftp</tt> y <tt>finger</tt>. Cada servicio de internet
tiene un nombre, número de puerto y protocolo (como <tt>telnet</tt> en
puerto <tt>tcp</tt> 23). Muchos servicios también tienen un programa servidor
para manejar conexiones de red para esos servicios. <p>

Los servicios con un programa asociado son controlados por un daemon
<tt>inetd</tt> de Unix, que escucha por conexiones de red en nombre de
todos sus servicios. Cuando se recibe una conexión, el programa servidor es
arrancado para manejar los datos de la nueva conexión. <p>

No todos los servicios de internet son gestionados por este mósulo. Los
servidores que reciben muchas conexiones como HTTPD, SMB o NFS son ejecutados
de forma separada para evitar el tener que arrancar un nuevo proceso para
cada requerimiento. Estos servicios pueden ser configurados mediante otros
módulos de Qebmin, como <a href=/samba/>Samba</a> o <a href=/apache/>Apache</a>. <p>

La página principal de este módulo lista todos los servicios de internet
y de RPC de tu sistema. Los servicios con un programa asignado se
muestran en negrita. La lista de servicios de internet, servicios de RPC
y de programas se recoge de los archivos <tt>/etc/services</tt>, <tt>/etc/rpc</tt> y
<tt>/etc/inetd.conf</tt>. <p>

<hr>
<h3>Creando un Nuevo Servicio</h3>
Para crear un nuevo servicio de internet, haz click en el enlace
<tt>Crear un Nuevo Servicio</tt> bajo la lista de servicios activos.
Esto te llevará a un formumario en el cual se puede suministrar los
detalles del nuevo servicio:
	<ul>
	<li><b>Nombre del Servicio</b><br>
	    Cada servicio debe de tener un par de nombre único y protocolo.
	    Esto quiere decir que dos servicios pueden tener el mismo
	    nombre sólamente si utilizan protocolos diferentes. <p>
	<li><b>Protocolo</b><br>
	    El protocolo de comunicaciones usado por este servicio. Casi
	    todos los servicios de internet usan el protocolo <tt>TCP</tt>
	    y el resto usan <tt>UDP</tt>. <p>
	<li><b>Puerto</b><br>
	    Cada servicio tiene un número de puerto que debe de ser único
	    dentro del protocolo usado por el servicio. El número de puerto
	    debe de estar entre 0 y 65535 tanto para <tt>TCP</tt> como para <tt>UDP</tt>. <p>
	<li><b>Aliases</b><br>
	    Una lista de nombres alternativos usados para referirse a este
	    servicio. No se puede usar un alias que ya exista o poner alias
	    a un servicio ya existente con el mismo protocolo. <p>
	</ul><p>
Los nombres de servicio de internet se pueden utilizar en lugar de los
nombres de máquina en comandos como <tt>telnet</tt>. Por ejemplo, puedes
digitar <tt>telnet foo.bar.com smtp</tt> para conectarte al puerto 25
en la máquina <tt>foo.bar.com</tt>, asumiendo que el servicio de internet
<tt>smtp</tt> se defina corréctamente. <p>

Para servicios con un programa asociado, debes de seleccionar la opción
<tt>Usar el programa inferior</tt>.
	<ul>
	<li><b>Programa</b><br>
	    Algunos raros servicios son manejados intérnamente por <tt>inetd</tt>.
	    Sin embargo, para casi todos los nuevos servicios que crees,
	    la trayectoria completa al programa a ejecutar para el servicio
	    debería de suministrarse aquí.<p>
	<li><b>Argumentos</b><br>
	    Argumentos de línea de comando a pasar al programa superior. El
	    primer argumento debería de ser el nombre del programa, y el
	    resto otros parámetros a pasar.<p>
	<li><b>Modo de Espera</b><br>
	    Éste determina si <tt>inetd</tt> esperará hasta que el programa
	    se complete antes de arrancar cualquier otro o no. Para la mayoría
	    de los servicios, éste debería de ser <tt>No esperar</tt>. <p>
	<li><b>Ejecutar como</b><br>
	    El nombre de usuario bajo el que debería de ejecutarse el programa
	    servidor. La mayoría de servidores necesitarán ser ejecutados
	    como <tt>root</tt>. <p>
	</ul><p>
When a new service is added, it will not take effect immediately. You must
click the <tt>Restart Inetd</tt> button on the main page for the addition
to be applied. <p>

<hr>
<h3>Editing an Existing Service</h3>
To edit a service, click on the service name from the list on the main page.
This will display the same form used for creating a service to allow you
to edit the service details. You can also click on the <tt>Delete</tt>
button at the bottom of the page to delete the service. <p>

Be careful when editing or deleting existing system services such as
<tt>telnet</tt> or <tt>ftp</tt>. Changing these may make it impossible
to login to your machine (or worse). <p>

When a service is modified, it will not take effect immediately. You must
click the <tt>Restart Inetd</tt> button on the main page for the changes
to be applied. <p>

<hr>
<h3>Creating and Editing RPC Programs</h3>
In general, you will never need to create or edit RPC programs on your
system. However, if you do the procedure is similar to creating and
editing internet services. <p>
 
The form for editing and creating RPC programs will always contain at
least the following fields :
	<ul>
	<li><b>Program Name</b><br>
	    A unique name for this RPC program (within the same protocol). <p>
	<li><b>Number</b><br>
	    Every RPC program has a unique program number, determined when
	    the program is written. <p>
	<li><b>Aliases</b><br>
	    Other names that can be used to refer to this RPC program. <p>
	</ul><p>

Some operating systems (such as Solaris) allow a server program to be
associated with an RPC service. This program will be run by <tt>inetd</tt>
when it receives a request for the program. <p>
If your system supports RPC server programs started by inetd, the following
fields will also be visible :
	<ul>
	<li>???
	</ul>
 
<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 
07070100075ff8000081a40000000000000002000000013d1fe2bb000015ca000000200000000000000000000000000000001b00000003reloc/inetd/help/help.html    <body bgcolor=#ffffff>
<title>Internet Services</title>
<center><img src="images/inetd.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
This module allows you to manage and setup internet services such as
<tt>telnet</tt>, <tt>ftp</tt> and <tt>finger</tt>. Every internet service
has a name, port number and protocol (such as <tt>telnet</tt> on
<tt>tcp</tt> port 23). Many services also have a server program to handle
network connections to that services. <p>

Services with an associated program are controlled by the Unix 
<tt>inetd</tt> daemon, which listens for network connections on behalf of
all its services. When a connection is received, the server program is
started to handle data from the new connection. <p>

Not all internet services are managed by this module. Servers that receive
many connections such as HTTPD, SMB or NFS are run separately to avoid
having to start a new process for each request. These services can be
configured using other Webmin modules, such as <a href=/samba/>Samba</a>
or <a href=/apache/>Apache</a>. <p>

The main page for this module lists all the internet and RPC services
on your system. Services with a program assigned are displayed in bold.
The list of internet services, RPC services and programs are taken from
the files <tt>/etc/services</tt>, <tt>/etc/rpc</tt> and 
<tt>/etc/inetd.conf</tt>. <p>

<hr>
<h3>Creating a New Service</h3>
To create a new internet service, click on the <tt>Create New Service</tt>
link below the list of active services. This will take you to a form
in which the details of the new service can be entered :
	<ul>
	<li><b>Service Name</b><br>
	    Every service must have a unique name and protocol pair.
	    This means that two services can have the same name only
	    if they use different protocols. <p>
	<li><b>Protocol</b><br>
	    The communications protocol used by this service. Almost all
	    internet services use the <tt>TCP</tt> protocol, and the rest
	    use <tt>UDP</tt>. <p>
	<li><b>Port</b><br>
	    Every service has a port number which must be unique within
	    the protocol used by the service. The port number must be between
	    0 and 65535 for both <tt>TCP</tt> and <tt>UDP</tt>. <p>
	<li><b>Aliases</b><br>
	    A list of alternative names used to refer to this service. An
	    alias cannot be already used as the name or alias of an existing
	    service with the same protocol. <p>
	</ul><p>
Internet service names can be used instead of hostnames in commands
such as <tt>telnet</tt>. For example, you can type <tt>telnet foo.bar.com smtp</tt> to connect to port 25 on the host <tt>foo.bar.com</tt>, assuming
the <tt>smtp</tt> internet service is defined correctly. <p>

For services with an associated program, you must choose the <tt>Use the
program below</tt> option ???
	<ul>
	<li><b>Program</b><br>
	    Some rare services are handled internally by <tt>inetd</tt>.
	    However, for almost all new services that you create the full
	    path to the program to execute for the service should be given
	    here. <p>
	<li><b>Arguments</b><br>
	    Command line arguments to pass to the program above. The first
	    argument should be the program name, and the rest other parameters
	    to pass. <p>
	<li><b>Wait mode</b><br>
	    This determines if <tt>inetd</tt> will wait until the program
	    is complete before starting any others or not. For most services,
	    this should be <tt>Don't wait</tt>. <p>
	<li><b>Execute as</b><br>
	    The username of the user the server program should be run as.
	    Most servers will need to be run as <tt>root</tt>. <p>
	</ul><p>
When a new service is added, it will not take effect immediately. You must
click the <tt>Restart Inetd</tt> button on the main page for the addition
to be applied. <p>

<hr>
<h3>Editing an Existing Service</h3>
To edit a service, click on the service name from the list on the main page.
This will display the same form used for creating a service to allow you
to edit the service details. You can also click on the <tt>Delete</tt>
button at the bottom of the page to delete the service. <p>

Be careful when editing or deleting existing system services such as
<tt>telnet</tt> or <tt>ftp</tt>. Changing these may make it impossible
to login to your machine (or worse). <p>

When a service is modified, it will not take effect immediately. You must
click the <tt>Restart Inetd</tt> button on the main page for the changes
to be applied. <p>

<hr>
<h3>Creating and Editing RPC Programs</h3>
In general, you will never need to create or edit RPC programs on your
system. However, if you do the procedure is similar to creating and
editing internet services. <p>
 
The form for editing and creating RPC programs will always contain at
least the following fields :
	<ul>
	<li><b>Program Name</b><br>
	    A unique name for this RPC program (within the same protocol). <p>
	<li><b>Number</b><br>
	    Every RPC program has a unique program number, determined when
	    the program is written. <p>
	<li><b>Aliases</b><br>
	    Other names that can be used to refer to this RPC program. <p>
	</ul><p>

Some operating systems (such as Solaris) allow a server program to be
associated with an RPC service. This program will be run by <tt>inetd</tt>
when it receives a request for the program. <p>
If your system supports RPC server programs started by inetd, the following
fields will also be visible :
	<ul>
	<li>???
	</ul>
 
<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 
  07070100075ff9000081a40000000000000002000000013d1fe2bb000014f3000000200000000000000000000000000000001e00000003reloc/inetd/help/help.sv.html <body bgcolor=#ffffff>
<title>Internettjänster</title>
<center><img src="images/inetd.gif"></center><br>
<h2><i>Denna hjälpsida är inte färdig</i></h2>
<hr>
<h3>Introduktion</h3>
Med denna modul kan du sätta upp och administrera internettjänster som
<tt>telnet</tt>, <tt>ftp</tt> och <tt>finger</tt>. Varje internettjänst
har ett namn, ett portnummer och ett protokoll (t ex <tt>telnet</tt> över
<tt>tcp</tt>, port 23). Flera tjänster har också serverprogram som
hanterar uppkopplingar till tjänsten.

<p>Tjänster som har ett sådant program kontrolleras av Unix-demonen
<tt>inetd</tt>, som lyssnar efter uppkopplingar för alla sina tjänster.
När en uppkoppling sker startas serverprogrammet för att hantera data från
den nya uppkopplingen.

<p>Alla internettjänster hanteras inte av denna modul. Servrar som tar
emot många uppkopplingar, t ex HTTPD, SMB och NFS, körs separat för att
inetd inte ska behöva starta en ny process för varje uppkoppling till dem.
För dessa tjänster görs inställningar i respektive Webmin-modul, t ex
<a href=/samba/>Samba</a> och <a href=/apache/>Apache</a>.

<p>På startsidan för denna modul listas alla internet- och RPC-tjänster
på ditt system. Tjänster som har tillhörande program visas med fetstil.
Listan genereras från filerna <tt>/etc/services</tt>, <tt>/etc/rpc</tt>
och <tt>/etc/inetd.conf</tt>.

<hr>
<h3>Lägga till tjänst</h3>
För att lägga till en tjänst klickar du på länken <tt>Lägga till tjänst</tt>
nedanför listan över tjänster. Då kommer du till ett formulär där du kan
skriva in uppgifter om den nya tjänsten.

	<ul>
	<li><b>Namn på tjänsten</b>
	    <br>Varje tjänst måste ha ett unikt par av namn och protokoll.
	    Detta betyder att två tjänster kan heta samma sak om de använder
	    olika protokoll.
	<li><b>Protokoll</b>
	    <br>Kommunikationsprotokollen som tjänsten använder sig av.
	    De flesta internettjänster använder <tt>TCP</tt>-protokollet
	    och resten använder <tt>UDP</tt>.
	<li><b>Port</b>
	    <br>Varje tjänst har ett portnummer som måste vara unikt inom
	    protokollet som används. Portnumret måste ligga i intervallet
	    0-65535 både för <tt>TCP</tt> och <tt>UDP</tt>.
	<li><b>Alias</b>
	    <br>Här kan du skriva in fler namn som tjänsten kan anropas med.
	    Du får inte använda namn eller alias som redan är upptagna inom
	    protokollet.
	</ul>

<p>Du kan använda tjänstenamnet istället för datornamnet i t ex
<tt>telnet</tt>-kommandon. Du kan exempelvis skriva <tt>telnet
foo.bar.com smtp</tt> för att koppla upp dig mot port 25 på datorn
<tt>foo.bar.com</tt>, under förutsättning att tjänsten <tt>smtp</tt>
har definierats på rätt sätt.

<p>För tjänster med tillhörande program måste du välja <tt>Använd programmet
nedan</tt> när du skriver in uppgifterna.
	<ul>
	<li><b>Program</b>
	    <br>Vissa tjänster hanteras internt av <tt>inetd</tt>.
	    Du bör dock här ange fullständig sökväg till det program som ska
	    utföras när du lägger till en tjänst.
	<li><b>Argument</b>
	    <br>Kommandoradsargument som ska skickas till det program du
	    angivit ovan. Det första argumentet bör vara programnamnet och
	    övriga argument parametrar till programmet.
	<li><b>Vänteläge</b>
	    <br>Här bestämmer du om <tt>inetd</tt> ska vänta tills
	    programmet är klart innan det ska köra igång något annat.
	    För de flesta tjänster bör du välja <tt>Vänta inte</tt>.
	<li><b>Kör som</b>
	    <br>Användarnamnet för den användare som serverprogrammet ska
	    köras som. De flesta servrar måste köras som <tt>root</tt>.
	</ul>

<p>När du har lagt till en tjänst kommer den inte att vara tillgänglig
direkt. Du måste trycka på knappen <tt>Starta om inetd</tt> på startsidan
för att tjänsten ska gå att använda.

<hr>
<h3>Ändra en tjänst</h3>
För att ändra i en tjänst klickar du på tjänstenamnet i listan på
startsidan. Du får då upp samma formulär som när du lägger till en
tjänst, och kan ändra de uppgifter du vill. Du kan också trycka på
<tt>Ta bort</tt>-knappen längst ned på sidan för att ta bort tjänsten.

<p>Var försiktig när du ändrar i eller tar bort systemtjänster som
<tt>telnet</tt> och <tt>ftp</tt>. Om du ändrar i dem kan du få problem
med inloggning (eller värre).

<p>När du har ändrat i en tjänst kommer detta inte att tas i drift på
en gång, utan du måste trycka på <tt>Starta om inetd</tt>-knappen för
att ändringarna ska gå igenom.

<hr>
<h3>Skapa och ändra RPC-program</h3>
Normalt kommer du inte att behöva skapa eller ändra RPC-program på
ditt system. Om du skulle vilja göra det ändå går det till på ungefär
samma sätt som för internettjänster.

<p>Formuläret för RPC-program innehåller alltid åtminstone dessa fält:
	<ul>
	<li><b>Programnamn</b>
	    <br>Ett unikt namn (inom protokollet) på RPC-programmet.
	<li><b>Nummer</b>
	    <br>Varje RPC-program har ett unikt programnummer som bestäms
	    när programmet skrivs.
	<li><b>Alias</b>
	    <br>Här kan du skriva in fler namn som RPC-programmet kan
	    anropas med.
	</ul>

<p>En del operativsystem (t ex Solaris) stödjer att RPC-tjänster kan
ha tillhörande serverprogram. Dessa program kommer att köras av <tt>inetd</tt>
när programmet anropas.

<p>Om ditt system stödjer RPC-serverprogram via inetd, kommer följande
fält också att finnas:
	<ul>
	<li>???
	</ul>
 
<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 
 07070100075ffa000081a40000000000000002000000013d1fe2bb00000f19000000200000000000000000000000000000002600000003reloc/inetd/help/help.zh_TW.Big5.html <body bgcolor=#ffffff>
<title>ºô»Úºô¸ôªA°È</title>
<center><img src="images/inetd.gif"></center><br>
<h2><i>³o­Ó»¡©ú­¶©|¥¼§¹¦¨</i></h2>
<hr>
<h3>«e¨¥</h3>
³o­Ó¼Ò²Õ¤¹³\±zºÞ²z¨Ã³]©w½Ñ¦p <tt>telnet</tt>, <tt>ftp</tt> »P <tt>finger</tt> µ¥µ¥ªººô»Úºô¸ôªA°È. ¨C­Óºô»Úºô¸ôªA°È³£­n¦³¤@­Ó¦WºÙ, ³q°T°ð½s¸¹»P³q«H¨ó©wªº³]©w (¨Ò¦p <tt>telnet</tt> ¦b
<tt>tcp</tt> ³q°T°ð 23). ³\¦hªºªA°È¤]³£­n¦³¤@­Ó¦øªA¾¹µ{¦¡¨Ó³B²z³s¨ì³o­ÓªA°Èªº³sµ². <p>

ªA°È»P¬ÛÃöªºµ{¦¡³£¬O³Q Unix <tt>inetd</tt> ¦uÅ@¾¹©Ò±±¨î, ¥¦ºÊÅ¥©Ò¦³ºô¸ôªº³s½u, ¨Ã±µ¨ü©Ò¦³ªº­n¨D. ·í±µ¨ü¤F­n¨D«á, ¯u¹êªº¦øªA¾¹µ{¦¡±N·|³Q±Ò°Ê¨Ã³B²z³o­Ó³s½uªº¸ê®Æ. <p>

¤£¬O©Ò¦³ªººô»Úºô¸ô³£¬O¥Ñ³o­Ó¼Ò²Õ©ÒºÞ²zªº. ¤@¨Ç³B²z¤j¶q³s½uªºªA°È¨Ò¦p HTTPD, SMB, NFS ³£¬O¦Û¦æ³B²zªº, ¥HÁ×§K­n¬°¨C­Ó­n¨D³£±Ò°Ê¤@­Ó·sµ{§Ç. ³o¨ÇªA°È¥i¥H³Q Webmin ªº¨ä¥L¼Ò²Õ©Ò²ÕºA, ¨Ò¦p <a href=/samba/>Samba</a> ©Î <a href=/apache/>Apache</a>. <p>

¥D­nªº³o¤@­¶¦C¥X¤F±z¨t²Î¤W©Ò¦³ªººô»Úºô¸ô»P RPC ªA°È. ¦³«ü©w±±¨îµ{¦¡ªºªA°È±N¥H<b>²ÊÅé</b>ªí²{. ³o­Ó¦Cªí¥Ü¨Ó¦ÛÀÉ®× <tt>/etc/services</tt>, <tt>/etc/rpc</tt> »P <tt>/etc/inetd.conf</tt>. <p>

<hr>
<h3>«Ø¥ß¤@­Ó·sªA°È</h3>
­n«Ø¥ß¤@­Ó·sªººô»Úºô¸ôªA°È, «ö¤UªA°È¦Cªí¤UºÝªº<tt>«Ø¥ß·sªA°È</tt>³sµ². ³o·|±N±z±a¨ì¤@­Óªí³æ, ¦Ó±z¥²¶·­n´£¨Ñ¹L¦³·sªA°È¥²¶·ªº²Ó¸`:
	<ul>
	<li><b>ªA°È¦WºÙ</b><br>
	    ¨C­ÓªA°È³£¥²¶·¦³¤@­Ó±M¤@ªº¦WºÙ»P³q°T¨ó©w¹ï. ³oªí¥Ü°£«D¨Ï¥Î¤£¦Pªº³q°T¨ó©w, §_«h¤£¯à¨Ï¥Î¬Û¦Pªº¦WºÙ. <p>
	<li><b>³q°T¨ó©w</b><br>
	    ³o­ÓªA°È¨Ï¥Îªº³q°T¨ó©w. ´X¥G©Ò¦³ªººô»Úºô¸ôªA°È³£¨Ï¥Î <tt>TCP</tt> ³q°T¨ó©w, ¤Ö¼Æ¤~¨Ï¥Î <tt>UDP</tt>. <p>
	<li><b>³q°T°ð</b><br>
	    ¨C­ÓªA°È³£¦³¤@­Ó³q°T°ð½s¸¹, ¹ï¨C­Ó¨Ï¥Î¬Û¦P³q°T¨ó©wªºªA°È¦Ó¨¥, ³o¥²¶·¬O¤£¦Pªº. ¹ï©ó <tt>TCP</tt> »P <tt>UDP</tt> ¦Ó¨¥, ³q°T°ð½s¸¹¥i¥H¬O¦b 0 ¨ì 65535 ¶¡ªº¾ã¼Æ. <p>
	<li><b>§O¦W</b><br>
	    ¨ä¥L«ü¦V³o­ÓªA°Èªº¦WºÙ. §O¦W¤£¯à¬O¨ä¥L¨Ï¥Î¬Û¦P³q°T¨ó©wªºªA°È¦WºÙ©Î¥¦ªº§O¦W. <p>
	</ul><p>
ºô»Úºô¸ô¦WºÙ¥i¥H¨Ï¥Î¦b«ü¥O¦C©R¥O¤¤¨Ò¦p <tt>telnet</tt>. Á|¨Ò¨Ó»¡, ±z¥i¥H¿é¤J <tt>telnet foo.bar.com smtp</tt> ¥H³s±µ¨ì¥D¾÷ <tt>foo.bar.com</tt> ªº²Ä 25 ¸¹³q°T°ð¤W­±. <p>

¹ï©óªA°È»P¬ÛÃöªºµ{¦¡, ±z¥²³\¿ï¾Ü<tt>¨Ï¥Îµ{¦¡©ó</tt>¿ï¶µ?
	<ul>
	<li><b>µ{¦¡</b><br>
	    ¤Ö¼Æªºµ{¦¡¬O³Q <tt>inetd</tt> ¤º³¡©Ò³B²z. µM¦Ó, ´X¥G©Ò¦³±z«Ø¥ßªº·sªA°È³£¥²¶·­n¦b³oÃä«ü©w¨ì¯u¹ê¦øªAµ{¦¡ªº§¹¾ã¸ô®|. <p>
	<li><b>°Ñ¼Æ</b><br>
	    °eµ¹«e­±µ{¦¡ªº©R¥O¦C°Ñ¼Æ. ²Ä¤@­Ó°Ñ¼ÆÀ³¸Ó¬Oµ{¦¡ªº¦WºÙ, µM«á¤~¬O­n°e¹L¥hªº°Ñ¼Æ. <p>
	<li><b>µ¥«Ý¼Ò¦¡</b><br>
	    ³o­Ó¨M©w¤F <tt>inetd</tt> ¬O§_­n¦b¶}©l¤@­Ó·sªºªA°È¤§«e¥ýµ¥«Ýµ{¦¡µ²§ô. ¹ï©ó¤j¦h¼ÆªºªA°È¦Ó¨¥, À³¸Ó¬O<tt>¤£µ¥«Ý</tt>. <p>
	<li><b>¥H...°õ¦æ</b><br>
	    ³o­Ó¦øªA¾¹µ{¦¡°õ¦æ®É©Ò¨Ï¥Îªº¨Ï¥ÎªÌ¦WºÙ. ¤j¦h¼Æªº¦øªA¾¹³£¬O¥H <tt>root</tt> ªº¨­¤À°õ¦æ. <p>
	</ul><p>
·í¼W¥[¤F·sªºªA°È¤§«á, ¥¦±N¤£·|¥ß§Y²£¥Í¼vÅT. ±z¥²¶·­n«ö¤U¥Dµe­±©³ºÝªº<tt>­«·s±Ò°Ê inetd</tt> «ö¶s¥H®M¥ÎÅÜ§ó. <p>

<hr>
<h3>½s¿è²{¦sªºªA°È</h3>
­n½s¿è¤@­ÓªA°È, «ö¤U¥Dµe­±¦Cªí¤¤ªA°Èªº¦WºÙ. ³o±N·|Åã¥Ü»P«Ø¥ß·sªA°È¬Û¦Pªºªí³æ, ¤¹³\±z½s¿è³o­ÓªA°Èªº¸Ô²Ó¸ê®Æ. ±z¤]¥i¥H«ö¤U­¶­±©³Â_ªº<tt>§R°£</tt>«ö¶s¥H§R°£³o­ÓªA°È. <p>

·í½s¿è©Î§R°£½Ñ¦p <tt>telnet</tt> ©Î <tt>ftp</tt> µ¥²{¦s¨t²ÎªA°È®É­n¯S§O¤p¤ß. §ïÅÜ³o¨Ç¥i¯à·|³y¦¨±z¤£¯àµn¤J±zªº¨t²Î (©Î§óÁV). <p>

·íªA°È³QÅÜ§ó«á, ¥¦¤£·|¥ß¨è¥Í®Ä. ±z¥²¶·«ö¤U¥Dµe­±¤UºÝªº<tt>­«·s±Ò°Ê inetd</tt> ¥H¨Ï³o¨ÇÅÜ§ó³Q®M¥Î. <p>

<hr>
<h3>«Ø¥ß»P½s¿è RPC µ{¦¡</h3>
¤@¯ë¦Ó¨¥, ±z¥Ã»·¤£»Ý­n¦b±zªº¨t²Î¤W«Ø¥ß©Î½s¿è¤@­Ó RPC µ{¦¡. µM¦Ó, ¦pªG±z¦³³o­Ó»Ý­n, ³o»P«Ø¥ß©Î½s¿èºô»Úºô¸ôªA°È¬Û·íÃþ¦ü. <p>
 
¥i¥HÅý±z½s¿è©Î«Ø¥ß RPC µ{¦¡ªºªí³æ¥]§t¤F¦Ü¤Ö¤U¦CªºÄæ¦ì:
	<ul>
	<li><b>µ{¦¡¦WºÙ</b><br>
	    ³o­Ó RPC µ{¦¡ªº±M¦³¦WºÙ (¦b¬Û¦P³q°T¨ó©w¤¤). <p>
	<li><b>½s¸¹</b><br>
	    ¨C¤@­Ó RPC µ{¦¡³£¦³¤@ªº±M¦³ªºµ{¦¡½s¸¹, ³o¬O¦Aµ{¦¡¼g§@®É³Q¨M©wªº. <p>
	<li><b>§O¦W</b><br>
	    ¨ä¥L°Ñ·Ó¨ì³o­Ó RPC µ{¦¡ªº¦WºÙ. <p>
	</ul><p>

¦³¨Ç§@·~¨t²Î (¨Ò¦p Solaris) ¤¹³\¦øªA¾¹µ{¦¡°Ñ·Ó©ó RPC ªA°È. ³o­Óµ{¦¡±N·|¦b±µ¦¬¨ì­n¨D«á¥Ñ <tt>inetd</tt> °õ¦æ. <p>
¦pªG±zªº¨t²Î¤ä´©¥H inetd ±Ò°Ê RPC ¦øªA¾¹, ¤U­±ªºÄæ¬°±N¬O¥i¨£ªº:
	<ul>
	<li>???
	</ul>
 
<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 
   0707010007774e000041ed0000000000000001000000023d1ffa5600000000000000200000000000000000000000000000001300000003reloc/inetd/images    0707010007774f000081a40000000000000002000000013d1fe2ba00000112000000200000000000000000000000000000001c00000003reloc/inetd/images/icon.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ   ÌÌÿ™™™fff      !ù    ,    0 0  ×ºþ0ÊÉª­PèÍ{‡Wˆ=^Y‚bš™¬†¦áÚš/lÉ³WÛ™ŸÞ÷Ûì„ bQp*‹MÞóµMsUØu–Uù–Æ ²ç sº¢mûšÙÃ‰|.+ƒ<}_·óÿ}vd€‚V„†ByŒŒŠcŽ’6“—•ˆt•xœžz¡pm¥ž˜˜¦q¬—®7«±’³šš¨¨)¾¿ÀÁÂÃÄ¹¾Æ†ÈÊ‚ÌÉÎHÐ¿»ÂØÄÛÜÝÞßÃàÜåæçèéå
ÑêîéÓñòóôõöš	 ;  07070100074a75000081e40000000000000002000000013d1fe2bb00000d0b000000200000000000000000000000000000001600000003reloc/inetd/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of known services, built from those handled by inetd and
# from the services file

require './inetd-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("inetd", "man", "doc", "howto"));
print "<hr>\n";

# break down into rpc and internet services
$j = 0;
foreach $i (&list_inets()) {
	if ($i->[2]) {
		# rpc service
		$i->[3] =~ /^(\S+)\//;
		if ($i->[1]) { $rpc_active{$1} = $j; }
		else { $rpc_disabled{$1} = $j; }
		}
	else {
		# internet service
		if ($i->[1]) { $int_active{$i->[3],$i->[5]} = $j; }
		else { $int_disabled{$i->[3],$i->[5]} = $j; }
		}
	$j++;
	}

print "<a href=\"edit_serv.cgi?new=1\">$text{'index_newservice'}</a>.<br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_service'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
$i = 0;
@slist = &list_services();
if ($config{'sort_mode'} == 1) {
	@slist = sort { uc($a->[1]) cmp uc($b->[1]) } @slist;
	}
elsif ($config{'sort_mode'} == 2) {
	@slist = sort { (defined($int_active{$b->[1],$b->[3]}) ? 2 :
			 defined($int_disabled{$b->[1],$b->[3]}) ? 1 : 0) <=>
			(defined($int_active{$a->[1],$a->[3]}) ? 2 :
			 defined($int_disabled{$a->[1],$a->[3]}) ? 1 : 0) }
		      @slist;
	}
foreach $s (@slist) {
	$ia = $int_active{$s->[1],$s->[3]};
	$id = $int_disabled{$s->[1],$s->[3]};
	if ($ia =~ /\d/) { $op = "<b>"; $cl = "</b>"; $ip = $ia; }
	elsif ($id =~ /\d/) { $op = "<i><b>"; $cl = "</b></i>"; $ip = $id; }
	elsif (!$config{'show_empty'}) { next; }
	else { $op = $cl = $ip = ""; }
	if ($i%4 == 0) { print "<tr>\n"; }
	print "<td>$op";
	print "<a href=\"edit_serv.cgi?spos=$s->[5]&ipos=$ip\">",
	      &html_escape($s->[1]),"</a>(",&html_escape($s->[3]),")";
	print "$cl</td>\n";
	if ($i++%4 == 3) { print "</tr>\n"; }
	}
print "</table></td></tr></table>\n";
print "<a href=\"edit_serv.cgi?new=1\">$text{'index_newservice'}</a>.<p>\n";

print "<hr>\n";
print "<a href=\"edit_rpc.cgi?new=1\">$text{'index_newrpc'}</a>. <br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_rpc'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
$i = 0;
@rlist = &list_rpcs();
if ($config{'sort_mode'} == 1) {
	@rlist = sort { uc($a->[1]) cmp uc($b->[1]) } @rlist;
	}
elsif ($config{'sort_mode'} == 2) {
	@rlist = sort { ($rpc_active{$b->[1]} ? 2 :
			 $rpc_disabled{$b->[1]} ? 1 : 0) <=>
			($rpc_active{$a->[1]} ? 2 :
			 $rpc_disabled{$a->[1]} ? 1 : 0) } @rlist;
	}
foreach $r (@rlist) {
	if ($i%4 == 0) { print "<tr $cb>\n"; }
	$ra = $rpc_active{$r->[1]};
	$rd = $rpc_disabled{$r->[1]};
	if ($ra =~ /\d/) { $op = "<b>"; $cl = "</b>"; $rp = $ra; }
	elsif ($rd =~ /\d/) { $op = "<i>"; $cl = "</i>"; $rp = $rd; }
	else { $op = $cl = $rp = ""; }
	print "<td>$op";
	print "<a href=\"edit_rpc.cgi?rpos=$r->[4]&ipos=$rp\">",
	      &html_escape($r->[1]),"</a>$cl</td>\n";
	if ($i++%4 == 3) { print "</tr>\n"; }
	}
print "</table></td></tr></table>\n";
print "<a href=\"edit_rpc.cgi?new=1\">$text{'index_newrpc'}</a>. <p>\n";

print "<hr>\n";
print "<form action=restart_inetd.cgi>\n";
print "<table width=100%> <tr>\n";
print "<td><input type=submit value=\"$text{'index_apply'}\"></td>\n";
print "<td valign=top> $text{'index_applymsg'}</td>\n";
print "</tr> </table> </form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

 07070100074a76000081a40000000000000002000000013d1fe2ba000016c1000000200000000000000000000000000000001900000003reloc/inetd/inetd-lib.pl  # inetd-lib.pl
# Common functions for managing inetd.conf and services files

do '../web-lib.pl';
&init_config();

# list_services()
# Returns a list of services from the services file, each being an array of
#  line name port protocol aliases index
sub list_services
{
local(@rv, $l);
$l = 0;
system("$config{'get_services_command'}") if ($config{'get_services_command'});
open(SERVICES, $config{services_file});
while(<SERVICES>) {
	chop; s/#.*$//g;
	if (/^(\S+)\s+([0-9]+)\/(\S+)\s*(.*)$/) {
		push(@rv, [ $l, $1, $2, $3, $4, scalar(@rv) ]);
		if ($config{'ipv6'}) {
			push(@rv, [ $l, $1, $2, $3.'6', $4, scalar(@rv) ]);
			}
		}
	$l++;
	}
close(SERVICES);
return @rv;
}

# create_service(name, port, proto, aliases)
# Add a new service to the list
sub create_service
{
local $p = $_[2];
if ($config{'ipv6'} && $p =~ /^(\S+)6$/) {
	# don't add the service if it is already there
	foreach $s (&list_services()) {
		return if ($s->[1] eq $_[0] && $s->[2] == $_[1] &&
			   $s->[3] eq $1);
		}
	$p =~ s/6$//;
	}
open(SERVICES, ">> $config{services_file}");
print SERVICES "$_[0]\t$_[1]/$p",$_[3] ? "\t$_[3]\n" : "\n";
close(SERVICES);
system("$config{'put_services_command'}") if ($config{'put_services_command'});
}


# modify_service(line, name, port, proto, aliases)
# Change an existing service
sub modify_service
{
local(@serv);
open(SERVICES, $config{services_file});
@serv = <SERVICES>;
close(SERVICES);
$serv[$_[0]] = "$_[1]\t$_[2]/$_[3]".($_[4] ? "\t$_[4]\n" : "\n");
open(SERVICES, "> $config{services_file}");
print SERVICES @serv;
close(SERVICES);
system("$config{'put_services_command'}") if ($config{'put_services_command'});
}


# delete_service(line)
sub delete_service
{
local(@serv);
open(SERVICES, $config{services_file});
@serv = <SERVICES>;
close(SERVICES);
splice(@serv, $_[0], 1);
open(SERVICES, "> $config{services_file}");
print SERVICES @serv;
close(SERVICES);
system("$config{'put_services_command'}") if ($config{'put_services_command'});
}

# list_inets()
# Returns a list of service details handled by inetd. RPC services
# will have a name like foo/1 or bar/1-3, where the thing after the / is
# the version or versions supported. For each service, the list contains
#  line active? rpc? name type protocol wait user path|internal args file
sub list_inets
{
# build list of inetd files
local (@files, @rv, $l);
@files = ( $config{'inetd_conf_file'} );
opendir(DIR, $config{'inetd_dir'});
foreach $f (readdir(DIR)) {
	next if ($f =~ /^\./);
	push(@files, "$config{'inetd_dir'}/$f");
	}
closedir(DIR);

# parse each file
foreach $f (@files) {
	$l = 0;
	open(INET, $f);
	while(<INET>) {
		chop;
		if (/^(#+|#<off>#)?\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\/\S+|internal)\s*(.*)$/) {
			push(@rv, [ $l, !$1, 0, $2, $3, $4,
				    $5, $6, $7, $8, $f ]);
			$rv[$#rv]->[2] = ($2 =~ /\//);
			}
		$l++;
		}
	close(INET);
	}
return @rv;
}

# create_inet(enabled, name, type, protocol, wait, user, program, args)
# Add a new service to the main inetd config file
sub create_inet
{
open(INET, ">> $config{inetd_conf_file}");
print INET ($_[0] ? "" : "#")."$_[1]\t$_[2]\t$_[3]\t$_[4]\t$_[5]\t$_[6]".
	   ($_[7] ? "\t$_[7]\n" : "\n");
close(INET);
}


# modify_inet(line, enabled, name, type, protocol,
#	      wait, user, program, args, file)
# Modify an existing inetd service
sub modify_inet
{
local(@inet);
open(INET, $_[9]);
@inet = <INET>;
close(INET);
$inet[$_[0]] = ($_[1] ? "" : "#")."$_[2]\t$_[3]\t$_[4]\t$_[5]\t$_[6]\t$_[7]".
	       ($_[8] ? "\t$_[8]\n" : "\n");
open(INET, ">$_[9]");
print INET @inet;
close(INET);
}


# delete_inet(line, file)
# Delete an internet service at some line
sub delete_inet
{
local(@inet);
open(INET, $_[1]);
@inet = <INET>;
close(INET);
splice(@inet, $_[0], 1);
open(INET, ">$_[1]");
print INET @inet;
close(INET);
}


# list_rpcs()
# Returns a list of rpc services, in the format
#  line name number aliases index
sub list_rpcs
{
local(@rv, $l);
$l = 0;
open(RPC, $config{rpc_file});
while(<RPC>) {
	chop; s/#.*$//g;
	if (/^(\S+)\s+(\d+)\s*(.*)$/) {
		push(@rv, [ $l, $1, $2, $3, scalar(@rv) ]);
		}
	$l++;
	}
close(RPC);
return @rv;
}
	
# create_rpc(name, number, aliases)
# Create a new rpc file entry
sub create_rpc
{
open(RPC, ">> $config{rpc_file}");
print RPC "$_[0]\t$_[1]",($_[2] ? "\t$_[2]\n" : "\n");
close(RPC);
}


# modify_rpc(line, name, number, aliases)
# Change an existing rpc program
sub modify_rpc
{
local(@rpcs);
open(RPC, $config{rpc_file});
@rpcs = <RPC>;
close(RPC);
$rpcs[$_[0]] = "$_[1]\t$_[2]".($_[3] ? "\t$_[3]\n" : "\n");
open(RPC, "> $config{rpc_file}");
print RPC @rpcs;
close(RPC);
}


# delete_rpc(line)
# Delete an entry from the rpc file
sub delete_rpc
{
local(@rpcs);
open(RPC, $config{rpc_file});
@rpcs = <RPC>;
close(RPC);
splice(@rpcs, $_[0], 1);
open(RPC, "> $config{rpc_file}");
print RPC @rpcs;
close(RPC);
}


# list_protocols()
# Returns a list of supported protocols on this system
sub list_protocols
{
local(@rv);
open(PROT, $config{protocols_file});
while(<PROT>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	/^(\S+)\s+/;
	push(@rv, $1);
	if ($config{'ipv6'}) {
		if ($1 eq 'tcp') { push(@rv, 'tcp6'); }
		elsif ($1 eq 'udp') { push(@rv, 'udp6'); }
		}
	}
close(PROT);
return &unique(@rv);
}

sub lock_inetd_files
{
&lock_file($config{'inetd_conf_file'}, 0, 1);
&lock_file($config{'services_file'}, 0, 1);
&lock_file($config{'protocols_file'}, 0, 1);
&lock_file($config{'rpc_file'}, 0, 1);
}

sub unlock_inetd_files
{
&unlock_file($config{'inetd_conf_file'});
&unlock_file($config{'services_file'});
&unlock_file($config{'protocols_file'});
&unlock_file($config{'rpc_file'});
}

%prot_name = ("ip", "Internet Protocol",
	      "tcp", "Transmission Control Protocol",
	      "udp", "User Datagram Protocol",
	      "tcp6", "Transmission Control Protocol IPv6",
	      "udp6", "User Datagram Protocol IPv6");

1;
   07070100078e14000041ed0000000000000001000000023d1ffa5600000000000000200000000000000000000000000000001100000003reloc/inetd/lang  07070100078e15000081a40000000000000002000000013d1fe2bb000010a6000000200000000000000000000000000000001400000003reloc/inetd/lang/ca   index_title=Serveis d'Internet
index_list=a la llista de serveis
index_save=Desa
index_delete=Suprimeix
index_create=Crea

index_service=Serveis d'Internet
index_newservice=Crea un nou servei d'Internet
index_rpc=Programes RPC
index_newrpc=Crea un nou programa RPC
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplicar la configuració actual enviant un senyal SIGHUP al procés <tt>inetd</tt> en execució

error_restart=No he pogut reiniciar inetd
error_saverpc=No he pogut desar el programa RPC
error_invalidprgname='$1' no és un nom de programa vàlid
error_invalidprgnum='$1' no és un número de programa vàlid
error_invalidver='$1' no és una versió RPC vàlida
error_noprotocol=Has de triar almenys un protocol
error_notexist='$1' no existeix
error_notexecutable='$1' no és executable
error_invalidcmd='$1' no és una ordre vàlida
error_nouser=Has de seleccionar un usuari
error_prgexist=Ja existeix un programa RPC anomenat $1
error_prginuse=El número de programa RPC $1 ja està en ús
error_saveservice=No he pogut desar el servei d'Internet
error_invalidport='$1' no és un número de port vàlid
error_invalidservice='$1' no és un nom de servei vàlid
error_portnum=El número de port $1 ha de ser >0 i <65536
error_invalidprg='$1' no és un programa vàlid
error_invalidarg='$1' no és una llista d'arguments vàlida
error_invalidwrapper='$1' no és un servei d'embolcall TCP vàlid
error_invalidpermin='$1' no és un màxim per minut vàlid
error_invalidchildnum='$1' no és un nombre vàlid de processos fill
error_childnum=Si es dóna un màxim per minut, també cal donar un nombre màxim de processos fill
error_serviceexist=Ja existeix un servei amb el port $1 i el protocol $2
error_nameexist=Ja existeix un servei amb el nom $1 i el protocol $2
error_inetservice=Ja existeix un servei d'Internet amb el nom $1 i el protocol $2

editrpc_title1=Creació de Programa RPC
editrpc_title2=Edició de Programa RPC
editrpc_detail=Detalls del Programa RPC
editrpc_prgname=Nom del Programa
editrpc_prgnum=Número del Programa
editrpc_aliase=Àlies
editrpc_server=Programa Servidor
editrpc_noassigned=No hi ha cap programa assignat
editrpc_disable=Programa desactivat...
editrpc_enable=Programa activat...
editrpc_socket=Tipus de Sòcol
editrpc_version=Versions RPC
editrpc_protocol=Protocols
editrpc_internal=Intern
editrpc_command=Ordre
editrpc_waitmode=Mode d'Espera
editrpc_wait=Espera fins que es completi
editrpc_nowait=No esperis
editrpc_execasuser=Executa com a Usuari
editrpc_max=Màxim per Minut
editrpc_default=Defecte
editrpc_execasgrp=Executa com a Grup

editserv_title1=Creació de Servei Internet
editserv_title2=Edició de Servei Internet
editserv_detail=Detalls del Servei d'Internet
editserv_name=Nom del Servei
editserv_port=Número de Port
editserv_program=Programa
editserv_args=Arguments
editserv_maxchild=Nombre màxim de processos fills
editserv_execlogin=Executa com a Classe de Connexió
editserv_wrapper=Embolcall TCP
editserv_inetd=Intern d'<tt>inetd</tt>

log_apply=Canvis aplicats
log_create_serv=He creat el servei $1
log_modify_serv=He modificat el servei $1
log_delete_serv=He suprimit el servei $1
log_create_prog=He creat el servei i el programa $1
log_modify_prog=He modificat el servei i el programa $1
log_delete_prog=He suprimit el servei i el programa $1
log_create_serv_l=He creat el servei $1 al port $2
log_modify_serv_l=He modificat el servei $1 al port $2
log_delete_serv_l=He suprimit el servei $1 al port $2
log_create_prog_l=He creat el servei $1 al port $2 pel programa $3
log_modify_prog_l=He modificat el servei $1 al port $2 pel programa $3
log_delete_prog_l=He suprimit el servei $1 al port $2 pel programa $3
log_create_rpc=He creat l'RPC $1
log_modify_rpc=He modificat l'RPC $1
log_delete_rpc=He suprimit l'RPC $1
log_create_rprog=He creat l'RPC i el programa $1
log_modify_rprog=He modificat l'RPC i el programa $1
log_delete_rprog=He suprimit l'RPC i el programa $1
log_create_rpc_l=He creat l'RPC $1 número $2
log_modify_rpc_l=He modificat l'RPC $1 número $2
log_delete_rpc_l=He suprimit l'RPC $1 número $2
log_create_rprog_l=He creat l'RPC $1 número $2 pel programa $3
log_modify_rprog_l=He modificat l'RPC $1 número $2 pel programa $3
log_delete_rprog_l=He suprimit l'RPC $1 número $2 pel programa $3


  07070100078e16000081a40000000000000002000000013d1fe2bb00000b07000000200000000000000000000000000000001400000003reloc/inetd/lang/cz   index_title=Sluzby internetu
index_list=seznam sluzeb
index_save=Ulozit
index_delete=Smazat
index_create=Vytvorit

index_service=Sluzby internetu
index_newservice=Vytvorit novou sluzbu internetu
index_rpc=RPC Programy
index_newrpc=Vytvorit novy RPC program
index_apply=Pouzit zmeny
index_applymsg=Kliknutim na toto tlacitko se projevi zmeny teto konfigurace, bude vyslan signal SIGHUP na bezici proces <tt>inetd</tt>

error_restart=Nepodarilo se restarovat Inetd
error_saverpc=Nepodarilo se ulozit RPC program
error_invalidprgname='$1' neni platnym nazvem programu
error_invalidprgnum='$1' neni platnym cilsem programu
error_invalidver='$1' neni platnou RPC verzi
error_noprotocol=Musite vybrat minimalne jeden protokol
error_notexist='$1' neexistuje
error_notexecutable='$1' neni spustitelne
error_invalidcmd='$1' neni platnym prikazem
error_nouser=Musite vybrat uzivatele
error_prgexist=RPC program s nazvem $1 jiz existuje
error_prginuse=Cislo RPC programu $1 jiz bylo pouzito
error_saveservice=Nepodarilo se ulozit internetovou sluzbu
error_invalidport='$1' neni platnym cislem portu
error_invalidservice='$1' neni platnym nazvem sluzby
error_portnum=Cislo portu $1 musi byt >0 a <65536
error_invalidprg='$1' neni platnym programem
error_invalidarg='$1' is not a valid arg list
error_invalidwrapper='$1' is not a valid TCP-wrappers service
error_invalidpermin='$1' is not a valid maximum per minute
error_invalidchildnum='$1' is not a valid number of child processes
error_childnum=If a maximum per minute is given, so must a number of child processes
error_serviceexist=Sluzba, vyuzivajici port $1 a protokol $2 jiz existuje
error_nameexist=Sluzba s nazvem $1 a protokolem $2 jiz existuje
error_inetservice=Internetova sluzba s nazvem $1 a protokolem $2 jiz existuje

editrpc_title1=Vytvorit RPC Program
editrpc_title2=Editovat RPC Program
editrpc_detail=Detaily RPC programu
editrpc_prgname=Nazev programu
editrpc_prgnum=Cislo programu
editrpc_aliase=Aliasy
editrpc_server=Serverovy Program
editrpc_noassigned=Nestanovit zadny program
editrpc_disable=Program vypnut..
editrpc_enable=Program zapnut..
editrpc_socket=Typ soketu
editrpc_version=RPC Verze
editrpc_protocol=Protokoly
editrpc_internal=Internal
editrpc_command=Command
editrpc_waitmode=Cekaci mod
editrpc_wait=Pockat na dokonceni
editrpc_nowait=Necekat
editrpc_execasuser=Execute As User
editrpc_max=Max per Minute
editrpc_default=Vychozi
editrpc_execasgrp=Execute as Group

editserv_title1=Vytvorit internetovou sluzbu
editserv_title2=Editovat internetovou sluzbu 
editserv_detail=Detaily internetove sluzby
editserv_name=Nazev sluzby
editserv_port=Cislo portu
editserv_program=Program
editserv_args=Args
editserv_maxchild=Max Child Processes
editserv_execlogin=Execute As Login Class
editserv_wrapper=TCP-Wrapper
editserv_inetd=Internal to <tt>inetd</tt>
 07070100078e17000081a40000000000000002000000013d1fe2bb0000116d000000200000000000000000000000000000001400000003reloc/inetd/lang/de   index_title=Internet Services
index_list=Service Liste
index_save=Speichern
index_delete=L&ouml;schen
index_create=Erstellen

index_service=Internet Services
index_newservice=einen neuen Internet Service erstellen
index_rpc=RPC Programme
index_newrpc=ein neues RPC Programm erstellen
index_apply=&Auml;nderungen anwenden
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running <tt>inetd</tt> process

error_restart=Inetd konnte nicht neu gestartet werden
error_saverpc=RPC Programm konnte nicht gespeichert werden
error_invalidprgname='$1' ist kein g&uuml;ltiger Programmname
error_invalidprgnum='$1' istkeine g&uuml;ltige Programmnummer
error_invalidver='$1' ist keine g&uuml;ltige RPC Version
error_noprotocol=Sie m&uuuml;ssen mindestens ein Protkoll ausw&auml;len
error_notexist='$1' existiert nicht
error_notexecutable='$1' ist nicht ausf&uuml;hrbar
error_invalidcmd='$1' ist kein g&uuml;ltiges Kommando
error_nouser=Sie m&uuml;ssen einen Benutzer ausw&auml;hlen
error_prgexist=Ein RPC Programm mit Namen $1 existiert bereits
error_prginuse=DAs RPC Programm Nummer $1 wird bereits benutzt
error_saveservice=Internet Service konnte nicht gespeichert werden
error_invalidport='$1' ist keine g&uuml;ltige Portnummer
error_invalidservice='$1' ist kein g&uuml;ltiger Servicename
error_portnum=Die Portnummer $1 muss >0 und <65536 sein
error_invalidprg='$1' ist kein g&uuml;ltiges Programm
error_invalidarg='$1' ist keine g&uuml;ltige Argumentenliste
error_invalidwrapper='$1' ist kein g&uuml;ltiger TCP-Wrapper Service
error_invalidpermin='$1' ist kein g&uuml;ltiges Maximum pro Minute
error_invalidchildnum='$1' ist keine g&uuml;ltige Nummer von Kindprozessen
error_childnum=If a maximum per minute is given, so must a number of child processes
error_serviceexist=Ein Service, der Port $1 und Protokoll $2 benuztz existiert bereits
error_nameexist=Ein Service mit dem  Namen $1 und dem Protokoll $2 existiert bereits
error_inetservice=Ein Internet Service mit dem Namen $1 und dem Protokoll $2 existiert bereits

editrpc_title1=Erstelle RPC Program
editrpc_title2=Bearbeite RPC Program
editrpc_detail=RPC Programm Details
editrpc_prgname=Programm Name
editrpc_prgnum=Programm Number
editrpc_aliase=Aliases
editrpc_server=Server Programm
editrpc_noassigned=Kein Programm zugeordnet
editrpc_disable=Programm deaktiviert..
editrpc_enable=Programm aktiviert..
editrpc_socket=Socket Type
editrpc_version=RPC Versionen
editrpc_protocol=Protokolle
editrpc_internal=Intern
editrpc_command=Kommando
editrpc_waitmode=Warte Modus
editrpc_wait=Warten bis beendet
editrpc_nowait=Nicht warten
editrpc_execasuser=Ausf&uuml;hren als User
editrpc_max=Max pro Minute
editrpc_default=Default
editrpc_execasgrp=Ausf&uuml;hren als Gruppe

editserv_title1=Erstelle Internet Service
editserv_title2=Bearbeite Internet Service
editserv_detail=Internet Service Details
editserv_name=Service Name
editserv_port=Port Nummer
editserv_program=Programm
editserv_args=Argumente
editserv_maxchild=Max. Anzahl Kindprozesse
editserv_execlogin=Ausf&uuml;hren als Login Klasse
editserv_wrapper=TCP-Wrapper
editserv_inetd=Intern zu <tt>inetd</tt>

log_apply=angewendete &Auml;nderungen
log_create_serv=Service $1 erstellt
log_modify_serv=Service $1 ge&auml;ndert
log_delete_serv=Service $1 gel&ouml;scht
log_create_prog=Service und Programm $1 erstellt
log_modify_prog=Service und Programm $1 ge&auml;ndert
log_delete_prog=Service und Programm $1 gel&ouml;scht
log_create_serv_l=Service $1 auf Port $2 erstellt
log_modify_serv_l=Service $1 auf Port $2 ge&auml;ndert
log_delete_serv_l=Service $1 auf Port $2 gel&ouml;scht
log_create_prog_l=Service $1 auf Port $2 f&uuml;r Programm $3 erstellt
log_modify_prog_l=Service $1 auf Port $2 f&uuml;r Programm $3 ge&auml;ndert
log_delete_prog_l=Service $1 auf Port $2 f&uuml;r Programm $3 gel&ouml;scht

log_create_rpc=RPC $1 erstellt
log_modify_rpc=RPC $1 ge&auml;ndert
log_delete_rpc=RPC $1 gel&ouml;scht
log_create_rprog=RPC und Programm $1 erstellt
log_modify_rprog=RPC und Programm $1 ge&auml;ndert
log_delete_rprog=RPC und Programm $1 gel&ouml;scht
log_create_rpc_l=RPC $1 Nummer $2 erstellt
log_modify_rpc_l=RPC $1 Nummer $2 ge&auml;ndert
log_delete_rpc_l=RPC $1 Nummer $2 gel&ouml;scht
log_create_rprog_l=RPC $1 Nummer $2 f&uuml;r Programm $3 erstellt
log_modify_rprog_l=RPC $1 Nummer $2 f&uuml;r Programm $3 ge&auml;ndert
log_delete_rprog_l=RPC $1 Nummer $2 f&uuml;r Programm $3 gel&ouml;scht

   07070100078e18000081a40000000000000002000000013d1fe2ba00000fca000000200000000000000000000000000000001400000003reloc/inetd/lang/en   index_title=Internet Services
index_list=service list
index_save=Save
index_delete=Delete
index_create=Create

index_service=Internet Services
index_newservice=Create a new internet service
index_rpc=RPC Programs
index_newrpc=Create a new RPC program
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running <tt>inetd</tt> process

error_restart=Failed to restart Inetd
error_saverpc=Failed to save RPC program
error_invalidprgname='$1' is not a valid program name
error_invalidprgnum='$1' is not a valid program number
error_invalidver='$1' is not a valid RPC version
error_noprotocol=You must choose at least one protocol
error_notexist='$1' does not exist
error_notexecutable='$1' is not executable
error_invalidcmd='$1' is not a valid command
error_nouser=You must select a user
error_user=Missing or invalid user to execute as
error_group=Missing or invalid group to execute as
error_prgexist=An RPC program called $1 already exists
error_prginuse=The RPC program number $1 is already in use
error_saveservice=Failed to save internet service
error_invalidport='$1' is not a valid port number
error_invalidservice='$1' is not a valid service name
error_portnum=Port number $1 must be >0 and <65536
error_invalidprg='$1' is not a valid program
error_invalidarg='$1' is not a valid arg list
error_invalidwrapper='$1' is not a valid TCP-wrappers service
error_invalidpermin='$1' is not a valid maximum per minute
error_invalidchildnum='$1' is not a valid number of child processes
error_childnum=If a maximum per minute is given, so must a number of child processes
error_serviceexist=A service using port $1 and protocol $2 already exists
error_nameexist=A service with name $1 and protocol $2 already exists
error_inetservice=An internet service with name $1 and protocol $2 already exists

editrpc_title1=Create RPC Program
editrpc_title2=Edit RPC Program
editrpc_detail=RPC Program Details
editrpc_prgname=Program Name
editrpc_prgnum=Program Number
editrpc_aliase=Aliases
editrpc_server=Server Program
editrpc_noassigned=No program assigned
editrpc_disable=Program disabled..
editrpc_enable=Program enabled..
editrpc_socket=Socket Type
editrpc_version=RPC Versions
editrpc_protocol=Protocols
editrpc_internal=Internal
editrpc_command=Command
editrpc_waitmode=Wait Mode
editrpc_wait=Wait until complete
editrpc_nowait=Don't wait
editrpc_execasuser=Execute As User
editrpc_max=Max per Minute
editrpc_default=Default
editrpc_execasgrp=Execute as Group

editserv_title1=Create Internet Service
editserv_title2=Edit Internet Service
editserv_detail=Internet Service Details
editserv_name=Service Name
editserv_port=Port Number
editserv_program=Program
editserv_args=Args
editserv_maxchild=Max Child Processes
editserv_execlogin=Execute As Login Class
editserv_wrapper=TCP-Wrapper
editserv_inetd=Internal to <tt>inetd</tt>

log_apply=Applied changes
log_create_serv=Created service $1
log_modify_serv=Modified service $1
log_delete_serv=Deleted service $1
log_create_prog=Created service and program $1
log_modify_prog=Modified service and program $1
log_delete_prog=Deleted service and program $1
log_create_serv_l=Created service $1 on port $2
log_modify_serv_l=Modified service $1 on port $2
log_delete_serv_l=Deleted service $1 on port $2
log_create_prog_l=Created service $1 on port $2 for program $3
log_modify_prog_l=Modified service $1 on port $2 for program $3
log_delete_prog_l=Deleted service $1 on port $2 for program $3

log_create_rpc=Created RPC $1
log_modify_rpc=Modified RPC $1
log_delete_rpc=Deleted RPC $1
log_create_rprog=Created RPC and program $1
log_modify_rprog=Modified RPC and program $1
log_delete_rprog=Deleted RPC and program $1
log_create_rpc_l=Created RPC $1 number $2
log_modify_rpc_l=Modified RPC $1 number $2
log_delete_rpc_l=Deleted RPC $1 number $2
log_create_rprog_l=Created RPC $1 number $2 for program $3
log_modify_rprog_l=Modified RPC $1 number $2 for program $3
log_delete_rprog_l=Deleted RPC $1 number $2 for program $3

  07070100078e19000081a40000000000000002000000013d1fe2ba00001086000000200000000000000000000000000000001400000003reloc/inetd/lang/es   index_title=Servicios de Internet
index_list=lista de sercicios
index_save=Salvar
index_delete=Borrar
index_create=Crear

index_service=Servicios de Internet
index_newservice=Crear un nuevo servicio de internet
index_rpc=Programas RPC
index_newrpc=Crear un nuevo programa RPC
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para aplicar la configuración en curso mediante en envío de una señal SIGHUP al proceso <tt>inetd</tt> en ejecución

error_restart=No pude rearrancar Inetd
error_saverpc=No pude salvar programa RPC
error_invalidprgname='$1' no es un nombre de programa válido
error_invalidprgnum='$1' no es un número de programa válido
error_invalidver='$1' no es una versión RPC válida
error_noprotocol=Debes de seleccionar al menos un protocolo
error_notexist='$1' no existe
error_notexecutable='$1' no es ejecutable
error_invalidcmd='$1' no es un comando válido
error_nouser=Debes de seleccionar un usuario
error_prgexist=Ya existe un programa RPC llamado $1
error_prginuse=El número $1 de programa RPC ya está en uso
error_saveservice=No pude salvar servicio de internet
error_invalidport='$1' no es un número válido de puerto
error_invalidservice='$1' no es un nombre válido de servicio
error_portnum=El número de puerto $1 debe de ser >0 y <65536
error_invalidprg='$1' no es un programa válido
error_invalidarg='$1' no es una lista válida de argumentos
error_invalidwrapper='$1' no es un servicio válido de arropadores-TCP
error_invalidpermin='$1' no es un máximo por minuto válido
error_invalidchildnum='$1' no es un número válido de procesos hijo
error_childnum=Si se digita un máximo por minuto, se debe de hacer lo mismo con el número de procesos hijo
error_serviceexist=Ya existe un servicio que usa el puerto $1 y protocolo $2
error_nameexist=Ya existe un servicio llamado $1 y protocolo $2
error_inetservice=Ya existe un servicio de internet llamado $1 con protocolo $2

editrpc_title1=Crear Programa RPC
editrpc_title2=Editar Programa RPC
editrpc_detail=Detalles de Programa RPC
editrpc_prgname=Nombre de Programa
editrpc_prgnum=Número de Programa
editrpc_aliase=Aliases
editrpc_server=Programa de Servidor
editrpc_noassigned=No se ha asignado programa
editrpc_disable=Programa desactivado...
editrpc_enable=Programa activado...
editrpc_socket=Tipo de Socket
editrpc_version=Versiones RPC
editrpc_protocol=Protocolos
editrpc_internal=Interno
editrpc_command=Comando
editrpc_waitmode=Modo de Espera
editrpc_wait=Esperar hasta que se complete
editrpc_nowait=No esperar
editrpc_execasuser=Ejecutar Como Usuario
editrpc_max=Máx. por Minuto
editrpc_default=Por defecto
editrpc_execasgrp=Ejecutar como Grupo

editserv_title1=Crar Servicio de Internet
editserv_title2=Editar Servicio de Internet
editserv_detail=Detalles de Servicio de Internet
editserv_name=Nombre de Servicio
editserv_port=Número de Puerto
editserv_program=Programa
editserv_args=Argumentoss
editserv_maxchild=Máx. Procesos Hijo
editserv_execlogin=Ejecutar Como Clase de Login
editserv_wrapper=Arropador-TCP
editserv_inetd=Interno a <tt>inetd</tt>

log_apply=Cambios aplicados
log_create_serv=Creado servicio $1
log_modify_serv=Modificado servicio $1
log_delete_serv=Borrado servicio $1
log_create_prog=Creado servicio y programa $1
log_modify_prog=Modificado servicio y programa $1
log_delete_prog=Borrado servicio y programa $1
log_create_serv_l=Creado servicio $1 en puerto $2
log_modify_serv_l=Modificado servicio $1 en puerto $2
log_delete_serv_l=Borrado servicio $1 en puerto $2
log_create_prog_l=Creado servicio $1 en puerto $2 para programa $3
log_modify_prog_l=Modificado servicio $1 en puerto $2 para programa $3
log_delete_prog_l=Borrado servicio $1 en puerto $2 para programa $3

log_create_rpc=Creado RPC $1
log_modify_rpc=Modificado RPC $1
log_delete_rpc=Borrado RPC $1
log_create_rprog=Creado RPC y programa $1
log_modify_rprog=Modificado RPC y programa $1
log_delete_rprog=Borrado RPC y programa $1
log_create_rpc_l=Creado RPC $1 número $2
log_modify_rpc_l=Modificado RPC $1 número $2
log_delete_rpc_l=Borrado RPC $1 número $2
log_create_rprog_l=Creado RPC $1 número $2 para programa $3
log_modify_rprog_l=Modificad RPC $1 número $2 para programa $3
log_delete_rprog_l=Borrado RPC $1 número $2 para programa $3

  07070100078e1a000081a40000000000000002000000013d1fe2bb000011f7000000200000000000000000000000000000001400000003reloc/inetd/lang/fr   index_title=Services internet
index_list=list des services
index_save=Enregistrer
index_delete=Supprimer
index_create=Créer

index_service=Services internet
index_newservice=Créer un nouveau service internet
index_rpc=Programmes RPC
index_newrpc=Créer un nouveau programme RPC
index_apply=Mettre à jour
index_applymsg=Cliquer sur ce bouton pour prendre en compte la configuration courante en envoyant un signal <tt>SIGHUP</tt> au processus <tt>inetd</tt> en cours.

error_restart=Impossible de redémarrer <tt>inetd</tt>
error_saverpc=Impossible de créer le programme RPC
error_invalidprgname='$1' n'est pas un nom de programme valide
error_invalidprgnum='$1' n'est pas un numéro de programme valide
error_invalidver='$1' n'est pas une version de RPC valide
error_noprotocol=Vous devez choisir au moins un protocole
error_notexist='$1' n'existe pas
error_notexecutable='$1' n'est pas exécutable
error_invalidcmd='$1' n'est pas une commande valide
error_nouser=Vous devez choisir un utilisateur
error_prgexist=Un programme RPC du nom de $1 existe déjà
error_prginuse=Le numéro de programme RPC $1 est déjà utilisé
error_saveservice=Impossible de créer le service internet
error_invalidport='$1' n'est pas un numéro de port valide
error_invalidservice='$1' n'est pas un nom de service valide
error_portnum=Le numéro de port $1 doit être >0 et <65536
error_invalidprg='$1' n'est pas un programme valide
error_invalidarg='$1' n'est pas une liste d'arguments valide
error_invalidwrapper='$1' n'est pas un service des TCP-wrappers valide
error_invalidpermin='$1' n'est pas un maximum valide d'exécutions par minutes
error_invalidchildnum='$1' n'est pas un nombre valide de processus fils
error_childnum=Il faut spécifier un nombre de processus fils si le maximum d'exécutions par minute est spécifié
error_serviceexist=Un service utilisant le port $1 et le protocole $2 existe déjà
error_nameexist=Un service du nom de $1 et utilisant le protocole $2 existe déjà
error_inetservice=Un service internet du nom de $1 et utilisant le protocole $2 existe déjà

editrpc_title1=Création d'un programme RPC
editrpc_title2=Modification d'un programme RPC
editrpc_detail=Details du programme RPC
editrpc_prgname=Nom du programme
editrpc_prgnum=Numéro du programme
editrpc_aliase=Synonymes
editrpc_server=Serveur
editrpc_noassigned=Aucun programme assigné
editrpc_disable=Programme arrêté
editrpc_enable=Programme en fonctionnement
editrpc_socket=Type de socket
editrpc_version=Version de RPC
editrpc_protocol=Protocole
editrpc_internal=Interne
editrpc_command=Commande
editrpc_waitmode=Mode d'attente
editrpc_wait=Attend d'avoir terminé
editrpc_nowait=N'attend pas
editrpc_execasuser=Exécute en tant qu'utilisateur
editrpc_max=Maximum par minute
editrpc_default=Défaut
editrpc_execasgrp=Exécute en tant que groupe

editserv_title1=Création d'un service internet
editserv_title2=Modification d'un service internet
editserv_detail=Détails du service internet
editserv_name=Nom du service
editserv_port=Numéro de port
editserv_program=Programme
editserv_args=Arguments
editserv_maxchild=Nombre maximum de processus fils
editserv_execlogin=Exécute en tant que classe de connexion
editserv_wrapper=TCP-Wrapper
editserv_inetd=Interne à <tt>inetd</tt>

log_apply=Changements effectués
log_create_serv=Création du service $1
log_modify_serv=Modification du service $1
log_delete_serv=Suppression du service $1
log_create_prog=Création du service et du programme $1
log_modify_prog=Modification du service et du programme $1
log_delete_prog=Suppression du service et du programme $1
log_create_serv_l=Création du service $1 sur le port $2
log_modify_serv_l=Modification du service $1 sur le port $2
log_delete_serv_l=Suppression du service $1 sur le port $2
log_create_prog_l=Création du service $1 sur le port $2 pour le programme $3
log_modify_prog_l=Modification du service $1 sur le port $2 pour le programme $3
log_delete_prog_l=Suppression du service $1 sur le port $2 pour le programme $3

log_create_rpc=Création du RPC $1
log_modify_rpc=Modification du RPC $1
log_delete_rpc=Suppression RPC $1
log_create_rprog=Création du RPC et du programme $1
log_modify_rprog=Modification du RPC et du programme $1
log_delete_rprog=Suppression du RPC et du programme $1
log_create_rpc_l=Création du RPC $1 numéro $2
log_modify_rpc_l=Modification du RPC $1 numéro $2
log_delete_rpc_l=Suppression du RPC $1 numéro $2
log_create_rprog_l=Création du RPC $1 numéro $2 pour le programme $3
log_modify_rprog_l=Modification du RPC $1 numéro $2 pour le programme $3
log_delete_rprog_l=Suppression du RPC $1 numéro $2 pour le programme $3
 07070100078eaa000081a40000000000000002000000013d1fe2ba000012fd000000200000000000000000000000000000001400000003reloc/inetd/lang/hu   # webmin-0.82inetd/lang/hu
# Translated by <kissg@sztaki.hu>

index_title=Internet szolgáltatások
index_list=szolgáltatáslista
index_save=Módosítás
index_delete=Megszüntetés
index_create=Létrehozás

index_service=Internet szolgáltatások (az inetd-n keresztül)
index_newservice=Új szolgáltatás bekonfigurálása
index_rpc=RPC programok
index_newrpc=Új RPC program bekonfigurálása
index_apply=Változtatások életbe léptetése
index_applymsg=Ezt a gombot megnyomva egy SIGHUP jelzést küldhetsz az <tt>inetd</tt> programnak, aminek következtében az imént beállított konfiguráció azonnal életbe lép. Ellenkezõ esetben csak a következõ rendszerindítástól lesz csak hatása változtatásoknak.

error_restart=Nem sikerült az <tt>inetd</tt>-t újraindítani
error_saverpc=Nem sikerült bekonfigurálni az új RPC programot
error_invalidprgname=A '$1' programnév rossz
error_invalidprgnum=A '$1' azonosítószám rossz
error_invalidver=A '$1' hibás RPC verziószám
error_noprotocol=Nem választottál ki egy protokollt sem
error_notexist=A '$1' program nem létezik
error_notexecutable=A '$1' program nem végrehajtható
error_invalidcmd='$1' hibás parancs
error_nouser=Nem adtál meg felhasználót
error_prgexist='$1' nevû RPC program már van
error_prginuse=A '$1' azonosító szám foglalt
error_saveservice=Nem sikerült elmenteni az internet szolgáltatást
error_invalidport=A '$1' portszám rossz
error_invalidservice=A '$1' szolgáltatásnév rossz
error_portnum=A $1 portszám nem 1 és 65535 közé esik
error_invalidprg=A '$1' programnév hibás
error_invalidarg=A '$1' argumentumlista hibás
error_invalidwrapper='$1' nem lehet a TCP wrapper neve
error_invalidpermin='$1' nem lehet a percenkénti indítások maximális száma
error_invalidchildnum='$1' nem lehet a gyerekprocesszek száma
error_childnum=Ha a percenkénti korlátot megadtad, akkor limitálno kell a gyerekprocesszek számát is
error_serviceexist=A $1. $2 porton már van egy szolgáltatás
error_nameexist=Már van egy $1 nevû szolgáltatás $2 protokollal
error_inetservice=Már van egy $1 nevû szolgáltatás $2 protokollal

editrpc_title1=Új RPC program bekonfigurálása
editrpc_title2=RPC program módosítása
editrpc_detail=Az RPC szolgáltatás azonosítása
editrpc_prgname=Neve
editrpc_prgnum=Azonosítószám
editrpc_aliase=Másodlagos nevei
editrpc_server=Kiszolgálóprogram
editrpc_noassigned=Nincs program
editrpc_disable=Program letiltva
editrpc_enable=Program engedélyezve
editrpc_socket=Socket típusa
editrpc_version=Megengedett RPC verziók
editrpc_protocol=Protokoll
editrpc_internal=Belsõ<br>
editrpc_command=Külsõ parancs
editrpc_waitmode=Várjunk míg lefut?
editrpc_wait=Igen
editrpc_nowait=Nem
editrpc_execasuser=Mely felhasználó<br> nevében fusson?
editrpc_max=Percenként lefutások<br>maximális száma?
editrpc_default=Szokásos
editrpc_execasgrp=Mely csoport<br> nevében fusson?

editserv_title1=Új IP szolgáltatás megadása
editserv_title2=Internet szolgáltatás módosítása
editserv_detail=Internet szolgáltatás azonosítása
editserv_name=Név
editserv_port=Portszám
editserv_program=Progra&#109;
editserv_args=<br>Argumentumok
editserv_maxchild=Gyerekek<br> maximális száma
editserv_execlogin=Felhasználói osztály
editserv_wrapper=TCP Wrapper
editserv_inetd=Az <tt>inetd</tt> beépített szolgáltatása

log_apply=Változások életbe léptetése
log_create_serv=A $1 szolgáltatás létrehozása
log_modify_serv=A $1 szolgáltatás módosítása
log_delete_serv=A $1 szolgáltatás törlése
log_create_prog=A $1 szolgáltatás és program létrehozása
log_modify_prog=A $1 szolgáltatás és program módosítása
log_delete_prog=A $1 szolgáltatás és program törlése
log_create_serv_l=A $1 szolgáltatás létrehozása a $2. porton
log_modify_serv_l=A $1 szolgáltatás módosítása a $2. porton
log_delete_serv_l=A $1 szolgáltatás törlése a $2. porton
log_create_prog_l=A $3 program által nyújtott $1 szolgáltatás létrehozása a $2. porton
log_modify_prog_l=A $3 program által nyújtott $1 szolgáltatás módosítása a $2. porton
log_delete_prog_l=A $3 program által nyújtott $1 szolgáltatás törlése a $2. porton

log_create_rpc=A $1 RPC szolgáltatás létrehozása
log_modify_rpc=A $1 RPC szolgáltatás módosítása
log_delete_rpc=A $1 RPC szolgáltatás törlése
log_create_rprog=A $1 RPC szolgáltatás és program létrehozása
log_modify_rprog=A $1 RPC szolgáltatás és program módosítása
log_delete_rprog=A $1 RPC szolgáltatás és program törlése
log_create_rpc_l=A $1 RPC szolgáltatás létrehozása $2 számmal
log_modify_rpc_l=A $1 RPC szolgáltatás módosítása $2 számmal
log_delete_rpc_l=A $1 RPC szolgáltatás törlése $2 számmal
log_create_rprog_l=A $3 program által nyújtott $1 RPC szolgáltatás létrehozása $2 számmal
log_modify_rprog_l=A $3 program által nyújtott $1 RPC szolgáltatás módosítása $2 számmal
log_delete_rprog_l=A $3 program által nyújtott $1 RPC szolgáltatás törlése $2 számmal
   07070100078eab000081a40000000000000002000000013d1fe2bb0000111f000000200000000000000000000000000000001400000003reloc/inetd/lang/it   index_title=Servizi Internet
index_list=Lista servizi
index_save=Salva
index_delete=Cancella
index_create=Crea

index_service=Servizi Internet
index_newservice=Crea un nuovo servizio internet
index_rpc=Programmi RPC
index_newrpc=Crea un nuovo Programma RPC
index_apply=Applica le modifiche
index_applymsg=Clicca su questo pulsante per applicare la configurazione corrente inviando un segnale SIGHUP al processo <tt>inetd</tt> in esecuzione

error_restart=Fallito il riavvio di inetd
error_saverpc=Fallito il salvataggio del programma RPC
error_invalidprgname='$1' non e' un nome di programma valido
error_invalidprgnum='$1' non e' un valido numero di programma
error_invalidver='$1' non e' una versione RPC valida
error_noprotocol=Devi scegliere almeno un protocollo
error_notexist='$1' non esiste
error_notexecutable='$1' non e' eseguibile
error_invalidcmd='$1' non e' un comando valido
error_nouser=Devi scegliere un utente
error_prgexist=Esiste gia' un programma RPC chiamato $1 
error_prginuse=Il numero RPC del programma $1 e' gia' in uso
error_saveservice=Fallito il salvataggio del servizio internet
error_invalidport='$1' non e' un numero di porta valido
error_invalidservice='$1' non e' un nome valido per il servizio
error_portnum=La porta numero $1 deve essere >0 e <65536
error_invalidprg='$1' non e' un programma valido
error_invalidarg='$1' non e' una lista di argomenti valida
error_invalidwrapper='$1' non e' un servizio TCP-wrappers valido
error_invalidpermin='$1' non e' un valido valore massimo per minuto
error_invalidchildnum='$1' non e' un numero valido di processi figlio
error_childnum=Se viene impostato un valore massimo per minuto allora deve essere impostato anche il numero di processi figlio
error_serviceexist=Un servizio che usa la porta $1 e il protocollo $2 esiste gia'
error_nameexist=Un servizio chiamato $1 e che usa il protocollo $2 esiste già'
error_inetservice=Un servizio internet chiamato $1 e che usa il protocollo $2 esiste gia'

editrpc_title1=Crea un programma RPC
editrpc_title2=Modifica un programma RPC
editrpc_detail=Dettagli sul programma RPC
editrpc_prgname=Nome programma
editrpc_prgnum=Numero programma
editrpc_aliase=Aliases
editrpc_server=Programma server
editrpc_noassigned=Nessun programma assegnato
editrpc_disable=Programma disabilitato..
editrpc_enable=Programma abilitato..
editrpc_socket=Tipo di Socket
editrpc_version=Versione RPC
editrpc_protocol=Protocolli
editrpc_internal=Interno
editrpc_command=Comando
editrpc_waitmode=Modo di attesa
editrpc_wait=Aspetta finche' non ha finito
editrpc_nowait=Non aspettare
editrpc_execasuser=Esegui come utente
editrpc_max=Massimo per minuto
editrpc_default=Default
editrpc_execasgrp=Esegui come gruppo

editserv_title1=Crea servizio internet
editserv_title2=Modifica servizio internet
editserv_detail=Dettagli servizio internet
editserv_name=Nome servizio
editserv_port=Numero porta
editserv_program=Programma
editserv_args=Argomenti
editserv_maxchild=Numero massimo processi figlio
editserv_execlogin=Esegui come Login Class
editserv_wrapper=TCP-Wrapper
editserv_inetd=Interno a <tt>inetd</tt>

log_apply=Applica le modifiche
log_create_serv=Creato il servizio $1
log_modify_serv=Modificato il servizio $1
log_delete_serv=Cancellato servizio $1
log_create_prog=Creato il servizio e il programma $1
log_modify_prog=Modificato servizio e il programma $1
log_delete_prog=Cancellato il servizio e il programma $1
log_create_serv_l=Creato il servizio $1 sulla porta $2
log_modify_serv_l=Modificato il servizio $1 sulla porta $2
log_delete_serv_l=Cancellato il servizio $1 sulla porta $2
log_create_prog_l=Creato il servizio $1 sulla porta $2 per il programma $3
log_modify_prog_l=Modificato il servizio $1 sulla porta $2 per il programma $3
log_delete_prog_l=Cancellato il servizio $1 sulla porta $2 per il programma $3

log_create_rpc=Creato RPC $1
log_modify_rpc=Modificato RPC $1
log_delete_rpc=Cancellato RPC $1
log_create_rprog=Creato RPC e programma $1
log_modify_rprog=Modificato RPC e programma $1
log_delete_rprog=Cancellato RPC e programma $1
log_create_rpc_l=Creato RPC $1 numero $2
log_modify_rpc_l=Modificato RPC $1 numero $2
log_delete_rpc_l=Cancellato RPC $1 numero $2
log_create_rprog_l=Creato RPC $1 numero $2 per il programma $3
log_modify_rprog_l=Modificato RPC $1 numero $2 per il programma $3
log_delete_rprog_l=Cancellato RPC $1 numero $2 per il programma $3


 07070100078eac000081a40000000000000002000000013d1fe2bb000010b8000000200000000000000000000000000000001b00000003reloc/inetd/lang/ja_JP.euc    index_title=Inetd ¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹
index_list=¥µ¡¼¥Ó¥¹ ¥ê¥¹¥È
index_save=ÊÝÂ¸
index_delete=ºï½ü
index_create=ºîÀ®

index_service=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹
index_newservice=¿·µ¬¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤ÎºîÀ®
index_rpc=RPC ¥×¥í¥°¥é¥à
index_newrpc=¿·µ¬ RPC ¥×¥í¥°¥é¥à¤ÎºîÀ®
index_apply=ÊÑ¹¹¤òÅ¬ÍÑ
index_applymsg=¼Â¹ÔÃæ¤Î<tt>inetd</tt> ¥×¥í¥»¥¹¤Ë SIGHUP ¿®¹æ¤òÁ÷¿®¤·¤Æ¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£

error_restart=Inetd ¤òºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
error_saverpc=RPC ¥×¥í¥°¥é¥à¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
error_invalidprgname='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥àÌ¾¤Ç¤¹
error_invalidprgnum='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥àÈÖ¹æ¤Ç¤¹
error_invalidver='$1' ¤ÏÌµ¸ú¤ÊRPC ¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹
error_noprotocol=¾¯¤Ê¤¯¤È¤â 1¤Ä¤Î¥×¥í¥È¥³¥ë¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
error_notexist='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
error_notexecutable='$1' ¤Ï¼Â¹Ô¤Ç¤­¤Þ¤»¤ó
error_invalidcmd='$1' ¤ÏÌµ¸ú¤Ê¥³¥Þ¥ó¥É¤Ç¤¹
error_nouser=¥æ¡¼¥¶¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
error_prgexist=$1 ¤È¤¤¤¦ RPC ¥×¥í¥°¥é¥à¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
error_prginuse=RPC ¥×¥í¥°¥é¥àÈÖ¹æ $1 ¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
error_saveservice=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
error_invalidport='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹
error_invalidservice='$1' ¤ÏÌµ¸ú¤Ê¥µ¡¼¥Ó¥¹Ì¾¤Ç¤¹
error_portnum=¥Ý¡¼¥ÈÈÖ¹æ $1 ¤Ï 0 ¤è¤êÂç¤­¤¯¤Æ65536 ¤è¤ê¾®¤µ¤¯¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ 
error_invalidprg='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥à¤Ç¤¹
error_invalidarg='$1' ¤ÏÌµ¸ú¤Ê°ú¿ô¥ê¥¹¥È¤Ç¤¹
error_invalidwrapper='$1' ¤ÏÌµ¸ú¤Ê TCP ¥é¥Ã¥Ñ¡¼ ¥µ¡¼¥Ó¥¹Ì¾¤Ç¤¹
error_invalidpermin='$1' ¤ÏÍ­¸ú¤ÊÊ¬Ã±°ÌºÇÂçÃÍ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
error_invalidchildnum='$1'¤ÏÌµ¸ú¤Ê»Ò¤Î½èÍý¿ô¤Ç¤¹
error_childnum=Ê¬Ã±°Ì¤ÎºÇÂçÃÍ¤ò»ØÄê¤·¤¿¾ì¹ç¤Ï¡¢»Ò¤Î½èÍý¿ô¤â»ØÄê¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
error_serviceexist=¥Ý¡¼¥È $1 ¤È¥×¥í¥È¥³¥ë $2 ¤ò»ÈÍÑ¤·¤¿¥µ¡¼¥Ó¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
error_nameexist=Ì¾Á° $1 ¤È¥×¥í¥È¥³¥ë $2 ¤ò»ÈÍÑ¤·¤¿¥µ¡¼¥Ó¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹
error_inetservice=Ì¾Á° $1 ¤È¥×¥í¥È¥³¥ë $2 ¤ò»ÈÍÑ¤·¤¿¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹

editrpc_title1=RPC ¥×¥í¥°¥é¥à¤ÎºîÀ®
editrpc_title2=RPC ¥×¥í¥°¥é¥à¤ÎÊÔ½¸
editrpc_detail=RPC ¥×¥í¥°¥é¥à¤Î¾ÜºÙ
editrpc_prgname=¥×¥í¥°¥é¥àÌ¾
editrpc_prgnum=¥×¥í¥°¥é¥à¿ô
editrpc_aliase=¥¨¥¤¥ê¥¢¥¹
editrpc_server=¥µ¡¼¥Ð ¥×¥í¥°¥é¥à
editrpc_noassigned=³ä¤êÅö¤Æ¤é¤ì¤¿¥×¥í¥°¥é¥à¤Ï¤¢¤ê¤Þ¤»¤ó
editrpc_disable=¥×¥í¥°¥é¥àÌµ¸ú..
editrpc_enable=¥×¥í¥°¥é¥àÍ­¸ú..
editrpc_socket=¥½¥±¥Ã¥È¤Î¼ïÎà
editrpc_version=RPC ¥Ð¡¼¥¸¥ç¥ó
editrpc_protocol=¥×¥í¥È¥³¥ë
editrpc_internal=ÆâÉô
editrpc_command=¥³¥Þ¥ó¥É
editrpc_waitmode=ÂÔµ¡¥â¡¼¥É
editrpc_wait=½ªÎ»¤Þ¤ÇÂÔµ¡
editrpc_nowait=ÂÔµ¡¤·¤Ê¤¤
editrpc_execasuser=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
editrpc_max=Ê¬Ã±°Ì¤ÎºÇÂçÃÍ
editrpc_default=¥Ç¥Õ¥©¥ë¥È
editrpc_execasgrp=¼¡¤Î¥°¥ë¡¼¥×¤È¤·¤Æ¼Â¹Ô

editserv_title1=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤ÎºîÀ®
editserv_title2=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤ÎÊÔ½¸
editserv_detail=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ
editserv_name=¥µ¡¼¥Ó¥¹Ì¾
editserv_port=¥Ý¡¼¥ÈÈÖ¹æ
editserv_program=¥×¥í¥°¥é¥à
editserv_args=Args
editserv_maxchild=»Ò½èÍýºÇÂçÃÍ
editserv_execlogin=¥í¥°¥¤¥ó ¥¯¥é¥¹¤È¤·¤Æ¼Â¹Ô
editserv_wrapper=TCP ¥é¥Ã¥Ñ¡¼
editserv_inetd=inetd<tt>·ÐÍ³</tt>

log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_create_serv=¥µ¡¼¥Ó¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_serv=¥µ¡¼¥Ó¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_serv=¥µ¡¼¥Ó¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_prog=¥µ¡¼¥Ó¥¹¤È¥×¥í¥°¥é¥à $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_prog=¥µ¡¼¥Ó¥¹¤È¥×¥í¥°¥é¥à $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_prog=¥µ¡¼¥Ó¥¹¤È¥×¥í¥°¥é¥à $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_serv_l=¥Ý¡¼¥È $2 ¾å¤Î¥µ¡¼¥Ó¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_serv_l=¥Ý¡¼¥È $2 ¾å¤Î¥µ¡¼¥Ó¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_serv_l=¥Ý¡¼¥È $2 ¾å¤Î¥µ¡¼¥Ó¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_prog_l=¥Ý¡¼¥È $2¾å¤Î¥×¥í¥°¥é¥à $3 ÍÑ¥µ¡¼¥Ó¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_prog_l=¥Ý¡¼¥È $2¾å¤Î¥×¥í¥°¥é¥à $3 ÍÑ¥µ¡¼¥Ó¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_prog_l=¥Ý¡¼¥È $2¾å¤Î¥×¥í¥°¥é¥à $3 ÍÑ¥µ¡¼¥Ó¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿

log_create_rpc=RPC $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_rpc=RPC $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_rpc=RPC $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_rprog=RPC ¤È¥×¥í¥°¥é¥à $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_rprog=RPC ¤È¥×¥í¥°¥é¥à $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_rprog=RPC ¤È¥×¥í¥°¥é¥à $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_rpc_l=RPC $1 ÈÖ¹æ $2 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_rpc_l=RPC $1 ÈÖ¹æ $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_rpc_l=RPC $1 ÈÖ¹æ $2 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_rprog_l=¥×¥í¥°¥é¥à $3 ÍÑ¤ÎRPC $1 ÈÖ¹æ $2 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_rprog_l=¥×¥í¥°¥é¥à $3 ÍÑ¤ÎRPC $1 ÈÖ¹æ $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_rprog_l=¥×¥í¥°¥é¥à $3 ÍÑ¤ÎRPC $1 ÈÖ¹æ $2 ¤òºï½ü¤·¤Þ¤·¤¿

07070100078ead000081a40000000000000002000000013d1fe2bb00000f98000000200000000000000000000000000000001b00000003reloc/inetd/lang/ko_KR.euc    index_title=ÀÎÅÍ³Ý ¼­ºñ½º
index_list=¼­ºñ½º ¸ñ·Ï
index_save=ÀúÀå
index_delete=»èÁ¦
index_create=ÀÛ¼º

index_service=ÀÎÅÍ³Ý ¼­ºñ½º
index_newservice=»õ ÀÎÅÍ³Ý ¼­ºñ½º ÀÛ¼º
index_rpc=RPC ÇÁ·Î±×·¥
index_newrpc=»õ RPC ÇÁ·Î±×·¥ ÀÛ¼º
index_apply=º¯°æ ³»¿ë Àû¿ë
index_applymsg=ÀÌ ´ÜÃß¸¦ ´©¸£¸é ½ÇÇà ÁßÀÎ <tt>inetd</tt> ÇÁ·Î¼¼½º¿¡ SIGHUP ½ÅÈ£¸¦ º¸³»¼­ ÇöÀç ±¸¼ºÀÌ Àû¿ëµË´Ï´Ù.

error_restart=Inetd¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
error_saverpc=RPC ÇÁ·Î±×·¥À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
error_invalidprgname='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Î±×·¥ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
error_invalidprgnum='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Î±×·¥ ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
error_invalidver='$1'Àº(´Â) À¯È¿ÇÑ RPC ¹öÀüÀÌ ¾Æ´Õ´Ï´Ù
error_noprotocol=ÇÏ³ª ÀÌ»óÀÇ ÇÁ·ÎÅäÄÝÀ» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
error_notexist='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
error_notexecutable='$1'Àº(´Â) ½ÇÇà ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
error_invalidcmd='$1'Àº(´Â) À¯È¿ÇÑ ¸í·ÉÀÌ ¾Æ´Õ´Ï´Ù 
error_nouser=»ç¿ëÀÚ¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
error_prgexist=RPC ÇÁ·Î±×·¥ $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
error_prginuse=RPC ÇÁ·Î±×·¥ ¹øÈ£ $1Àº(´Â) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
error_saveservice=ÀÎÅÍ³Ý ¼­ºñ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
error_invalidport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ® ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
error_invalidservice='$1'Àº(´Â) À¯È¿ÇÑ ¼­ºñ½º ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
error_portnum=Æ÷Æ® ¹øÈ£ $1Àº(´Â) 0º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù <65536
error_invalidprg='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Î±×·¥ÀÌ ¾Æ´Õ´Ï´Ù
error_invalidarg='$1'Àº(´Â) À¯È¿ÇÑ ÀÎ¼ö°¡ ¾Æ´Õ´Ï´Ù
error_invalidwrapper='$1'Àº(´Â) À¯È¿ÇÑ TCP-wrappers (TCP-·¡ÆÛ) ¼­ºñ½º°¡ ¾Æ´Õ´Ï´Ù
error_invalidpermin='$1'Àº(´Â) À¯È¿ÇÑ ºÐ ´ç ÃÖ´ë ¼ö°¡ ¾Æ´Õ´Ï´Ù
error_invalidchildnum='$1'Àº(´Â) À¯È¿ÇÑ ÇÏÀ§ ÇÁ·Î¼¼½º ¼ö°¡ ¾Æ´Õ´Ï´Ù
error_childnum=ºÐ ´ç ÃÖ´ë ¼ö°¡ ÁöÁ¤µÈ °æ¿ì ÇÏÀ§ ÇÁ·Î¼¼½ºÀÇ ¼öµµ ±×·¯ÇØ¾ß ÇÕ´Ï´Ù
error_serviceexist=Æ÷Æ® $1°ú ÇÁ·ÎÅäÄÝ $2À»(¸¦) »ç¿ëÇÏ°íÀÖ´Â ¼­ºñ½º°¡ ÀÌ¹Ì Á¸ÀçÇÕ´Ï´Ù.
error_nameexist=ÀÌ¹Ì ´Ù¸¥ ¼­ºñ½º¿¡¼­ ÀÌ¸§ $1/ÇÁ·ÎÅäÄÝ $2À»(¸¦) »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù
error_inetservice=ÀÌ¹Ì ´Ù¸¥ ÀÎÅÍ³Ý ¼­ºñ½º¿¡¼­ ÀÌ¸§ $1/ÇÁ·ÎÅäÄÝ $2À»(¸¦) »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù

editrpc_title1=RPC ÇÁ·Î±×·¥ ÀÛ¼º
editrpc_title2=RPC ÇÁ·Î±×·¥ ÆíÁý
editrpc_detail=RPC ÇÁ·Î±×·¥ ¼¼ºÎ Á¤º¸
editrpc_prgname=ÇÁ·Î±×·¥ ÀÌ¸§
editrpc_prgnum=ÇÁ·Î±×·¥ ¹øÈ£
editrpc_aliase=º°Äª
editrpc_server=¼­¹ö ÇÁ·Î±×·¥
editrpc_noassigned=ÇÒ´çµÈ ÇÁ·Î±×·¥ÀÌ ¾ø½À´Ï´Ù
editrpc_disable=ÇÁ·Î±×·¥ÀÌ »ç¿ë ºÒ´É »óÅÂÀÓ..
editrpc_enable=ÇÁ·Î±×·¥ÀÌ »ç¿ë °¡´É »óÅÂÀÓ..
editrpc_socket=¼ÒÄÏ À¯Çü
editrpc_version=RPC ¹öÀü
editrpc_protocol=ÇÁ·ÎÅäÄÝ
editrpc_internal=³»ºÎ
editrpc_command=¸í·É
editrpc_waitmode=´ë±â ¸ðµå
editrpc_wait=¿Ï·á±îÁö ´ë±â
editrpc_nowait=´ë±â ¾ÈÇÔ
editrpc_execasuser=»ç¿ëÀÚ·Î¼­ ½ÇÇà
editrpc_max=ºÐ ´ç ÃÖ´ë ¼ö
editrpc_default=±âº»°ª
editrpc_execasgrp=±×·ìÀ¸·Î¼­ ½ÇÇà

editserv_title1=ÀÎÅÍ³Ý ¼­ºñ½º ÀÛ¼º
editserv_title2=ÀÎÅÍ³Ý ¼­ºñ½º ÆíÁý
editserv_detail=ÀÎÅÍ³Ý ¼­ºñ½º ¼¼ºÎ Á¤º¸
editserv_name=¼­ºñ½º ÀÌ¸§
editserv_port=Æ÷Æ® ¹øÈ£
editserv_program=ÇÁ·Î±×·¥
editserv_args=ÀÎ¼ö
editserv_maxchild=ÃÖ´ë ÇÏÀ§ ÇÁ·Î¼¼½º
editserv_execlogin=·Î±×ÀÎ Å¬·¡½º·Î ½ÇÇà
editserv_wrapper=TCP ·¡ÆÛ
editserv_inetd=Internal to <tt>inetd</tt>

log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
log_create_serv=¼­ºñ½º $1 ÀÛ¼ºµÊ
log_modify_serv=¼­ºñ½º $1 ¼öÁ¤µÊ
log_delete_serv=¼­ºñ½º $1 »èÁ¦µÊ
log_create_prog=¼­ºñ½º ¹× ÇÁ·Î±×·¥ $1 ÀÛ¼ºµÊ
log_modify_prog=¼­ºñ½º ¹× ÇÁ·Î±×·¥ $1 ¼öÁ¤µÊ
log_delete_prog=¼­ºñ½º ¹× ÇÁ·Î±×·¥ $1 »èÁ¦µÊ
log_create_serv_l=Æ÷Æ® $2¿¡¼­ ¼­ºñ½º $1 ÀÛ¼ºµÊ
log_modify_serv_l=Æ÷Æ® $2¿¡¼­ ¼­ºñ½º $1 ¼öÁ¤µÊ
log_delete_serv_l=Æ÷Æ® $2¿¡¼­ ¼­ºñ½º $1 »èÁ¦µÊ
log_create_prog_l=Æ÷Æ® $2¿¡¼­ ÇÁ·Î±×·¥ $3ÀÇ ¼­ºñ½º $1 ÀÛ¼ºµÊ
log_modify_prog_l=Æ÷Æ® $2¿¡¼­ ÇÁ·Î±×·¥ $3ÀÇ ¼­ºñ½º $1 ¼öÁ¤µÊ
log_delete_prog_l=Æ÷Æ® $2¿¡¼­ ÇÁ·Î±×·¥ $3ÀÇ ¼­ºñ½º $1 »èÁ¦µÊ

log_create_rpc=RPC $1 ÀÛ¼ºµÊ
log_modify_rpc=RPC $1 ¼öÁ¤µÊ
log_delete_rpc=RPC $1 »èÁ¦µÊ
log_create_rprog=RPC ¹× ÇÁ·Î±×·¥ $1 ÀÛ¼ºµÊ
log_modify_rprog=RPC ¹× ÇÁ·Î±×·¥ $1 ¼öÁ¤µÊ
log_delete_rprog=RPC ¹× ÇÁ·Î±×·¥ $1 »èÁ¦µÊ
log_create_rpc_l=RPC $1 ¹øÈ£ $2 ÀÛ¼ºµÊ
log_modify_rpc_l=RPC $1 ¹øÈ£ $2 ¼öÁ¤µÊ
log_delete_rpc_l=RPC $1 ¹øÈ£ $2 »èÁ¦µÊ
log_create_rprog_l=$3 ÇÁ·Î±×·¥ÀÇ RPC $1 ¹øÈ£ $2 ÀÛ¼ºµÊ
log_modify_rprog_l=$3 ÇÁ·Î±×·¥ÀÇ RPC $1 ¹øÈ£ $2 ¼öÁ¤µÊ
log_delete_rprog_l=$3 ÇÁ·Î±×·¥ÀÇ RPC $1 ¹øÈ£ $2 »èÁ¦µÊ

07070100078eae000081a40000000000000002000000013d1fe2ba000010ab000000200000000000000000000000000000001400000003reloc/inetd/lang/pl   index_title=Us³ugi internetowe
index_list=listy us³ug
index_save=Zachowaj
index_delete=Usuñ
index_create=Utwórz

index_service=Us³ugi internetowe
index_newservice=Utwórz now± us³ugê internetow±
index_rpc=Programy RPC
index_newrpc=Utwórz nowy program RPC
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê poprzez wys³anie sygna³u SIGHUP do procesu <tt>inetd</tt>

error_restart=Nie uda³o sie zrestartowaæ Inetd
error_saverpc=Nie uda³o sie zachowac programu RPC
error_invalidprgname='$1' nie jest poprawn± nazw± programu
error_invalidprgnum='$1' nie jest poprawnym numerem programu
error_invalidver='$1' nie jest poprawn± wersj± RPC
error_noprotocol=Musisz wybraæ co najmniej jeden protokó³
error_notexist='$1' nie istnieje
error_notexecutable='$1' nie jest uruchamialny
error_invalidcmd='$1' nie jest poprawnym poleceniem
error_nouser=Musisz wybraæ u¿ytkownika
error_prgexist=Program RPC o&nbsp;nazwie $1 ju¿ istnieje
error_prginuse=Numer programu RPC $1 jest ju¿ u¿ywany
error_saveservice=Nie uda³o siê zapisaæ us³ugi internetowej
error_invalidport='$1' nie jest poprawnym numerem portu
error_invalidservice='$1' nie jest poprawn± nazw± us³ugi
error_portnum=Numer portu $1 musi byæ >0 i&nbsp;<65536
error_invalidprg='$1' nie jest poprawnym programem
error_invalidarg='$1' nie jest poprawn± list± argumentów
error_invalidwrapper='$1' nie jest poprawn± us³ug± TCP-wrappers
error_invalidpermin='$1' nie jest poprawn± maksymaln± liczb± po³±czeñ na minutê
error_invalidchildnum='$1' nie jest poprawn± liczba procesów potomnych
error_childnum=Je¶li podano maksymaln± liczbê po³±czeñ na minutê, musi byæ tak¿e podana liczba procesów potomnych
error_serviceexist=Us³uga korzystaj±ca z&nbsp;portu $1 po protokole $2 ju¿ istnieje
error_nameexist=Us³uga o&nbsp;nazwie $1 po protokole $2 ju¿ istnieje
error_inetservice=Us³uga internetowa o&nbsp;nazwie $1 po protokole $2 ju¿ istnieje

editrpc_title1=Utwórz program RPC
editrpc_title2=Zmieñ program RPC
editrpc_detail=Dane programu RPC
editrpc_prgname=Nazwa programu
editrpc_prgnum=Numer programu
editrpc_aliase=Aliasy
editrpc_server=Program serwera
editrpc_noassigned=Nie przypisano programu
editrpc_disable=Program wy³±czony..
editrpc_enable=Program w³±czony..
editrpc_socket=Typ gniazda
editrpc_version=Wersje RPC
editrpc_protocol=Protokó³
editrpc_internal=Wewnêtrznie
editrpc_command=Polecenie
editrpc_waitmode=Tryb czekania
editrpc_wait=Czekaj na zakoñczenie
editrpc_nowait=Nie czekaj
editrpc_execasuser=Uruchom jako u¿ytkownik
editrpc_max=Maks. na minutê
editrpc_default=Domy¶lne
editrpc_execasgrp=Uruchom jako grupa

editserv_title1=Utwórz us³ugê internetow±
editserv_title2=Zmieñ us³ugê internetow±
editserv_detail=Dane us³ugi internetowej
editserv_name=Nazwa us³ugi
editserv_port=Numer portu
editserv_program=Program
editserv_args=Argumenty
editserv_maxchild=Maks. liczba potomnych
editserv_execlogin=Uruchom w&nbsp;klasie logowania
editserv_wrapper=TCP-Wrapper
editserv_inetd=Wewnêtrzne polecenie <tt>inetd</tt>

log_apply=Zastosowano zmiany
log_create_serv=Utworzono us³ugê $1
log_modify_serv=Zmieniono us³ugê $1
log_delete_serv=Wy³±czono us³ugê $1
log_create_prog=Utworzono us³ugê i&nbsp;program $1
log_modify_prog=Zmieniono us³ugê i&nbsp;program $1
log_delete_prog=Wy³±czono us³ugê i&nbsp;program $1
log_create_serv_l=Utworzono us³ugê $1 na porcie $2
log_modify_serv_l=Zmieniono us³ugê $1 na porcie $2
log_delete_serv_l=Wy³±czono us³ugê $1 na porcie $2
log_create_prog_l=Utworzono us³ugê $1 na porcie $2 dla programu $3
log_modify_prog_l=Zmieniono us³ugê $1 na porcie $2 dla programu $3
log_delete_prog_l=Wy³±czono us³ugê $1 na porcie $2 dla programu $3

log_create_rpc=Utworzono RPC $1
log_modify_rpc=Zmieniono RPC $1
log_delete_rpc=Wy³±czono RPC $1
log_create_rprog=Utworzono RPC i&nbsp;program $1
log_modify_rprog=Zmieniono RPC i&nbsp;program $1
log_delete_rprog=Wy³±czono RPC i&nbsp;program $1
log_create_rpc_l=Utworzono RPC $1 o&nbsp;numerze $2
log_modify_rpc_l=Zmieniono RPC $1 o&nbsp;numerze $2
log_delete_rpc_l=Wy³±czono RPC $1 o&nbsp;numerze $2
log_create_rprog_l=Utworzono RPC $1 o&nbsp;numerze $2 dla programu $3
log_modify_rprog_l=Zmieniono RPC $1 o&nbsp;numerze $2 dla programu $3
log_delete_rprog_l=Wy³±czono RPC $1 o&nbsp;numerze $2 dla programu $3

 07070100078eaf000081a40000000000000002000000013d1fe2ba0000106b000000200000000000000000000000000000001400000003reloc/inetd/lang/sv   index_title=Internettjänster
index_list=tjänstelista
index_save=Spara
index_delete=Ta bort
index_create=Lägg till

index_service=Internettjänster
index_newservice=Lägg till en internettjänst
index_rpc=RPC-program
index_newrpc=Lägg till ett RPC-program
index_apply=Utför ändringarna
index_applymsg=Tryck på denna knapp för att använda dessa inställningar genom att en SIGHUP-signal skickas till den <tt>inetd</tt>-process som körs just nu.

error_restart=Det gick inte att starta om Inetd
error_saverpc=Det gick inte att spara RPC-program
error_invalidprgname='$1' är inte ett giltigt programnamn
error_invalidprgnum='$1' är inte ett giltigt programnummer
error_invalidver='$1' är inte en giltig RPC-version
error_noprotocol=Du måste ange minst ett protokoll
error_notexist='$1' finns inte
error_notexecutable='$1' är inte körbart
error_invalidcmd='$1' är inte ett giltigt kommando
error_nouser=Du måste ange en användare
error_prgexist=Det finns redan ett RPC-program med namnet $1
error_prginuse=RPC-program nummer $1 används redan
error_saveservice=Det gick inte att spara internettjänst
error_invalidport='$1' är inte ett giltigt portnummer
error_invalidservice='$1' är inte ett giltigt tjänstenamn
error_portnum=Portnumret $1 måste ligga mellan 0 och 65536
error_invalidprg='$1' är inte ett giltigt program
error_invalidarg='$1' är inte en giltig argumentlista
error_invalidwrapper='$1' är inte en giltig TCP-wrappers-tjänst
error_invalidpermin='$1' är inte ett giltigt maximum per minut
error_invalidchildnum='$1' är inte ett giltigt antal underprocesser
error_childnum=Om du har angivit ett maximum per minut måste du också ange ett antal underprocesser
error_serviceexist=Det finns redan en tjänst som använder port $1 och protokoll $2
error_nameexist=Det finns redan en tjänst med namnet $1 och som använder protokoll $2
error_inetservice=Det finns redan en internettjänst med namnet $1 och som använder protokoll $2

editrpc_title1=Lägg till ett RPC-program
editrpc_title2=Ändra RPC-program
editrpc_detail=Uppgifter om RPC-program
editrpc_prgname=Programnamn
editrpc_prgnum=Programnummer
editrpc_aliase=Alias
editrpc_server=Serverprogram
editrpc_noassigned=Inget program tilldelat
editrpc_disable=Programmet deaktiverat ...
editrpc_enable=Programmet aktiverat ...
editrpc_socket=Sockettyp
editrpc_version=RPC-versioner
editrpc_protocol=Protokoll
editrpc_internal=Internt
editrpc_command=Kommando
editrpc_waitmode=Vänteläge
editrpc_wait=Vänta tills det är klart
editrpc_nowait=Vänta inte
editrpc_execasuser=Kör som användare
editrpc_max=Max per minut
editrpc_default=Standard
editrpc_execasgrp=Kör som grupp

editserv_title1=Lägg till internettjänst
editserv_title2=Ändra internettjänst
editserv_detail=Uppgifter om internettjänst
editserv_name=Tjänstenamn
editserv_port=Portnummer
editserv_program=Program
editserv_args=Argument
editserv_maxchild=Maximalt antal underprocesser
editserv_execlogin=Kör som inloggningsklass
editserv_wrapper=TCP-Wrapper
editserv_inetd=Internt till <tt>inetd</tt>

log_apply=Tog ändringarna i drift
log_create_serv=Skapade tjänsten $1
log_modify_serv=Modifierade tjänsten $1
log_delete_serv=Tog bort tjänsten $1
log_create_prog=Skapade tjänsten och programmet $1
log_modify_prog=Modifierade tjänsten och programmet $1
log_delete_prog=Tog bort tjänsten och programmet $1
log_create_serv_l=Skapade tjänsten $1 på port $2
log_modify_serv_l=Modifierade tjänsten $1 på port $2
log_delete_serv_l=Tog bort tjänsten $1 på port $2
log_create_prog_l=Skapade tjänsten $1 på port $2 för program $3
log_modify_prog_l=Modifierade tjänsten $1 på port $2 för program $3
log_delete_prog_l=Tog bort tjänsten $1 på port $2 för program $3

log_create_rpc=Skapade RPC $1
log_modify_rpc=Modifierade RPC $1
log_delete_rpc=Tog bort RPC $1
log_create_rprog=Skapade RPC och program $1
log_modify_rprog=Modifierade RPC och program $1
log_delete_rprog=Tog bort RPC och program $1
log_create_rpc_l=Skapade RPC $1 nummer $2
log_modify_rpc_l=Modifierade RPC $1 nummer $2
log_delete_rpc_l=Tog bort RPC $1 nummer $2
log_create_rprog_l=Skapade RPC $1 nummer $2 för program $3
log_modify_rprog_l=Modifierade RPC $1 nummer $2 för program $3
log_delete_rprog_l=Tog bort RPC $1 nummer $2 för program $3
 07070100078eb0000081a40000000000000002000000013d1fe2ba0000108e000000200000000000000000000000000000001400000003reloc/inetd/lang/tr   index_title=Internet Servisleri
index_list=servis listesi
index_save=Kaydet
index_delete=Sil
index_create=Oluþtur

index_service=Internet Servisleri
index_newservice=Yeni bir internet servisi oluþtur
index_rpc=RPC Programlarý
index_newrpc=Yeni bir RPC programý oluþtur
index_apply=Deðiþiklikleri Uygula
index_applymsg=Bu butonu týkladýðýnýzda çalýþan inetd iþlemine SIGHUP sinyali gönderilerek mevcut yapýlandýrma uygulanacaktýr.

error_restart=Inetd'nin tekrar baþlatýlmasýnda hata oluþtu
error_saverpc=RPC programýnýn kaydedilmesinde hata oluþtu
error_invalidprgname='$1' geçerli bir program ismi deðil
error_invalidprgnum='$1' geçerli bir program numarasý deðildir
error_invalidver='$1' geçerli bir RPC sürümü deðildir
error_noprotocol=En az bir protokol seçmelisiniz
error_notexist='$1' mevcut deðil
error_notexecutable='$1' çalýþtýrýlabilir deðildir
error_invalidcmd='$1' geçerli bir komut deðildir
error_nouser=Bir kullanýcý seçmelisiniz
error_prgexist=$1 RPC programý her zaman mevcuttur
error_prginuse=RPC program numarasý $1 her zaman kullanýmdadýr
error_saveservice=Ýnternet servisinin kaydedilmesinde hata oluþtu
error_invalidport='$1' geçerli bir port numarasý deðildir
error_invalidservice='$1' geçerli bir servis ismi deðildir
error_portnum=Port numarasý $1  >0 ve <65536 olmalýdýr
error_invalidprg='$1' geçerli bir program deðildir
error_invalidarg='$1' geçerli bir argüman listesi deðildir
error_invalidwrapper='$1' geçerli bir TCP-gönderim servisi deðildir
error_invalidpermin='$1' geçerli bir en çok dakika baþýna deðildir
error_invalidchildnum='$1' geçerli bir çocuk iþlem sayýsý deðildir
error_childnum=En çok dakika baþýna girildiyse , bir çocuk iþlem sayýsý girmelisiniz
error_serviceexist=Servisin kullandýðý port $1 ve protokol $2 her zaman mevcuttur
error_nameexist=Servis $1 ve protokol $2 her zaman mevcuttur.
error_inetservice=Ýnternet servisi $1 ve protokol $2 her zaman mevcuttur.

editrpc_title1=RPC Programý Oluþtur
editrpc_title2=RPC Programý Deðiþtir
editrpc_detail=RPC Programý Ayrýntýlarý
editrpc_prgname=Program Ýsmi
editrpc_prgnum=Program Numarasý
editrpc_aliase=Takma Ýsimler
editrpc_server=Sunucu Programý
editrpc_noassigned=Belirlenen program yok
editrpc_disable=Program kapalý..
editrpc_enable=Program aktif..
editrpc_socket=Soket Tipi
editrpc_version=RPC Sürümleri
editrpc_protocol=Protokoller
editrpc_internal=Ýç
editrpc_command=Komut
editrpc_waitmode=Bekleme Modu
editrpc_wait=Tamamlanana kadar bekle
editrpc_nowait=Bekleme
editrpc_execasuser=Kullanýcý Olarak Çalýþtýr
editrpc_max=En çok dakika baþýna
editrpc_default=Öntanýmlý
editrpc_execasgrp=Grup olarak çalýþtýr

editserv_title1=Ýnternet Servisi Oluþtur
editserv_title2=Ýnternet Servisi Deðiþtir
editserv_detail=Ýnternet Service Ayrýntýlarý
editserv_name=Servis Ýsmi
editserv_port=Port Numarasý
editserv_program=Program
editserv_args=Argümanlar
editserv_maxchild=En çok çocuk iþlem
editserv_execlogin=Giriþ Sýnýfý Olarak Çalýþtýr
editserv_wrapper=TCP-Gönderimi
editserv_inetd=<tt>inetd</tt>'ye dahil et

log_apply=Deðiþiklikler uygulandý
log_create_serv=$1 servisi oluþturuldu
log_modify_serv=$1 servisi deðiþtirildi
log_delete_serv=$1 servisi silindi
log_create_prog=$1 programý ve servisi oluþturuldu
log_modify_prog=$1 programý ve servisi deðiþtirildi
log_delete_prog=$1 programý ve servisi silindi
log_create_serv_l=Port $2'deki $1 servisi oluþturuldu
log_modify_serv_l=Port $2'deki $1 servisi deðiþtirildi
log_delete_serv_l=Port $2'deki $1 servisi silindi
log_create_prog_l=Program $3 için port $2'deki $1 servisi oluþturuldu
log_modify_prog_l=Program $3 için port $2'deki $1 servisi deðiþtirildi
log_delete_prog_l=Program $3 için port $2'deki $1 servisi silindi

log_create_rpc=RPC $1 oluþturuldu
log_modify_rpc=RPC $1 deðiþtirildi
log_delete_rpc=RPC $1 silindi
log_create_rprog=$1 programý ve RPC oluþturuldu
log_modify_rprog=$1 programý ve RPC deðiþtirildi
log_delete_rprog=$1 programý ve RPC silindi
log_create_rpc_l=RPC $1 numara $2 oluþturuldu
log_modify_rpc_l=RPC $1 numara $2 deðiþtirildi
log_delete_rpc_l=RPC $1 numara $2 silindi
log_create_rprog_l=$3 programý için RPC $1 numara $2 oluþturuldu
log_modify_rprog_l=$3 programý için RPC $1 numara $2 deðiþtirildi
log_delete_rprog_l=$3 programý için RPC $1 numara $2 silindi


  07070100078eb1000081a40000000000000002000000013d1fe2ba00000c97000000200000000000000000000000000000001700000003reloc/inetd/lang/zh_CN    index_title=ÒòÌØÍø·þÎñ
index_list=·þÎñÁÐ±í
index_save=±£´æ
index_delete=É¾³ý
index_create=´´½¨
index_service=ÒòÌØÍø·þÎñ
index_newservice=ÐÂ½¨Ò»¸öÒòÌØÍø·þÎñ
index_rpc=RPC³ÌÐò
index_newrpc=ÐÂ½¨Ò»¸öRPC·þÎñ
index_apply=Ó¦ÓÃ¸ü¸Ä
index_applymsg=µã»÷´Ë°´Å¥£¬·¢ËÍ SIGHUP ÐÅºÅ¸øÕýÔÚÔËÐÐµÄ<tt>inetd</tt>½ø³Ì£¬ÒÔÓ¦ÓÃµ±Ç°µÄÅäÖÃ
error_restart=ÖØÆôInetdÊ§°Ü
error_saverpc=±£´æRPC³ÌÐòÊ§°Ü
error_invalidprgname='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ³ÌÐòÃû
error_invalidprgnum='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ³ÌÐò±àºÅ
error_invalidver='$1' ²»ÊÇÒ»¸öÓÐÐ§µÄRPC°æ±¾
error_noprotocol=ÄãÖÁÉÙÒªÑ¡ÔñÒ»ÖÖÐ­Òé
error_notexist='$1'²»´æÔÚ
error_notexecutable='$1'²»¿ÉÖ´ÐÐ
error_invalidcmd='$1'²»ÊÇÒ»¸öÓÐÐ§ÃüÁî
error_nouser=Äã±ØÐëÑ¡ÔñÒ»¸öÓÃ»§
error_prgexist=ÒÑ¾­´æÔÚÃûÎª'$1'µÄRPC³ÌÐò
error_prginuse=RPC³ÌÐò±àºÅ $1 Õý±»Ê¹ÓÃ
error_saveservice=±£´æÒòÌØÍø·þÎñÊ§°Ü
error_invalidport='$1' ²»ÊÇÒ»¸öÓÐÐ§µÄ¶Ë¿ÚºÅ
error_invalidservice='$1' ²»ÊÇÒ»¸öÓÐÐ§µÄ·þÎñÃû
error_portnum=¶Ë¿ÚºÅ$1±ØÐë´óÓÚ 0 ÇÒÐ¡ÓÚ 65536
error_invalidprg='$1' ²»ÊÇÒ»¸öÓÐÐ§µÄ³ÌÐò
error_invalidarg='$1' ²»ÊÇÓÐÐ§µÄ²ÎÊýÁÐ
error_invalidwrapper='$1' ²»ÊÇÓÐÐ§µÄTCP-wrappers·þÎñ
error_invalidpermin='$1' ²»ÊÇÓÐÐ§µÄÃ¿·ÖÖÓ×î´óÖµ
error_invalidchildnum='$1' ²»ÊÇÓÐÐ§µÄ×Ó½ø³ÌÊýÄ¿
error_childnum=¼ÙÈç¸ø¶¨ÁËÃ¿·ÖÖÓ×î´óÖµ, ¾Í±ØÐë¸ø³ö×Ó½ø³ÌÊýÄ¿
error_serviceexist=ÒÑ´æÔÚÒ»¸öÊ¹ÓÃ¶Ë¿Ú $1 ºÍÐ­Òé $2 µÄ·þÎñ
error_nameexist=ÒÑ´æÔÚÒ»¸öÃû³ÆÎª $1 ºÍÐ­ÒéÎª $2 µÄ·þÎñ
error_inetservice=ÒÑ´æÔÚÒ»¸öÃû³ÆÎª $1 ºÍÐ­ÒéÎª $2 µÄÒòÌØÍø·þÎñ
editrpc_title1=´´½¨RPC³ÌÐò
editrpc_title2=±à¼­RPC³ÌÐò
editrpc_detail=RPC³ÌÐòÏ¸½Ú
editrpc_prgname=³ÌÐòÃû
editrpc_prgnum=³ÌÐò±àºÅ
editrpc_aliase=±ðÃû
editrpc_server=·þÎñÆ÷³ÌÐò
editrpc_noassigned=Î´Ö¸ÅÉ³ÌÐò
editrpc_disable=³ÌÐò±»½ûÓÃ..
editrpc_enable=³ÌÐò±»ÆôÓÃ..
editrpc_socket=Ì×½ÚÀàÐÍ
editrpc_version=RPC°æ±¾
editrpc_protocol=Ð­Òé
editrpc_internal=ÄÚ²¿
editrpc_command=ÃüÁî
editrpc_waitmode=µÈ´ýÄ£Ê½
editrpc_wait=µÈ´ýÖ±µ½Íê³É
editrpc_nowait=²»µÈ´ý
editrpc_execasuser=×÷ÎªÓÃ»§ÔËÐÐ
editrpc_max=Ã¿·ÖÖÓ×î´óÖµ
editrpc_default=È±Ê¡
editrpc_execasgrp=×÷Îª×éÔËÐÐ
editserv_title1=´´½¨ÒòÌØÍø·þÎñ
editserv_title2=±à¼­ÒòÌØÍø·þÎñ
editserv_detail=ÒòÌØÍø·þÎñÏ¸½Ú
editserv_name=·þÎñÃû
editserv_port=¶Ë¿ÚºÅ
editserv_program=³ÌÐò
editserv_args=²ÎÊý
editserv_maxchild=×î¶à×Ó½ø³ÌÊý
editserv_execlogin=ÒÔµÇÂ¼¼¶±ðÖ´ÐÐ
editserv_wrapper=TCP-Wrapper
editserv_inetd=ÔÚ <tt>inetd</tt> ÄÚ²¿
log_apply=ÒÑÓ¦ÓÃ¸ü¸Ä
log_create_serv=ÒÑ´´½¨·þÎñ $1
log_modify_serv=ÒÑÐÞ¸Ä·þÎñ $1
log_delete_serv=ÒÑÉ¾³ý·þÎñ $1
log_create_prog=ÒÑ´´½¨·þÎñºÍ³ÌÐò $1
log_modify_prog=ÒÑÐÞ¸Ä·þÎñºÍ³ÌÐò $1
log_delete_prog=ÒÑÉ¾³ý·þÎñºÍ³ÌÐò $1
log_create_serv_l=ÒÑÔÚ¶Ë¿Ú $2 ´´½¨·þÎñ $1
log_modify_serv_l=ÒÑÔÚ¶Ë¿Ú $2 ÐÞ¸Ä·þÎñ $1
log_delete_serv_l=ÒÑÔÚ¶Ë¿Ú $2 É¾³ý·þÎñ $1
log_create_prog_l=ÒÑÔÚ¶Ë¿Ú $2 ´´½¨³ÌÐò $3 ·þÎñ $1
log_modify_prog_l=ÒÑÔÚ¶Ë¿Ú $2 ¸üÐÂ³ÌÐò $3 ·þÎñ $1
log_delete_prog_l=ÒÑÔÚ¶Ë¿Ú $2 É¾³ý³ÌÐò $3 ·þÎñ $1
log_create_rpc=ÒÑ´´½¨ RPC $1
log_modify_rpc=ÒÑÐÞ¸Ä RPC $1
log_delete_rpc=ÒÑÉ¾³ý RPC $1
log_create_rprog=ÒÑ´´½¨ RPC ºÍ³ÌÐò $1
log_modify_rprog=ÒÑÐÞ¸Ä RPC ºÍ³ÌÐò $1
log_delete_rprog=ÒÑÉ¾³ý RPC ºÍ³ÌÐò $1
log_create_rpc_l=ÒÑ´´½¨ RPC $1 ºÅÂë $2
log_modify_rpc_l=ÒÑÐÞ¸Ä RPC $1 ºÅÂë $2
log_delete_rpc_l=ÒÑÉ¾³ý RPC $1 ºÅÂë $2
log_create_rprog_l=ÒÑ´´½¨³ÌÐò $3µÄ RPC $1 ºÅÂë $2
log_modify_rprog_l=ÒÑÐÞ¸Ä³ÌÐò $3µÄ RPC $1 ºÅÂë $2
log_delete_rprog_l=ÒÑÉ¾³ý³ÌÐò $3µÄ RPC $1 ºÅÂë $2
 07070100078eb2000081a40000000000000002000000013d1fe2bb00000ca5000000200000000000000000000000000000001c00000003reloc/inetd/lang/zh_TW.Big5   index_title=ºô»Úºô¸ôªA°È
index_list=ªA°È¦Cªí
index_save=Àx¦s
index_delete=§R°£
index_create=·s¼W

index_service=ºô»Úºô¸ôªA°È
index_newservice=·s¼W¤@­Óºô»Úºô¸ôªA°È
index_rpc=RPCµ{¦¡
index_newrpc=·s¼W¤@­ÓRPCªA°È
index_apply=®M¥Î§ó§ï
index_applymsg=ÂIÀ»¦¹«ö¶s¡Aµo°e SIGHUP «H¸¹µ¹¥¿¦b°õ¦æªº<tt>inetd</tt>µ{§Ç¡A¥H®M¥Î·í«eªº°t¸m

error_restart=­«·s±Ò°ÊInetd¥¢±Ñ
error_saverpc=Àx¦sRPCµ{¦¡¥¢±Ñ
error_invalidprgname='$1'¤£¬O¤@­Ó¦³®Äªºµ{¦¡¦WºÙ
error_invalidprgnum='$1'¤£¬O¤@­Ó¦³®Äªºµ{¦¡½s¸¹
error_invalidver='$1' ¤£¬O¤@­Ó¦³®ÄªºRPCª©¥»
error_noprotocol=±z¦Ü¤Ö­n¿ï¾Ü¤@ºØ¨ó©w
error_notexist='$1'¤£¦s¦b
error_notexecutable='$1'¤£¥i°õ¦æ
error_invalidcmd='$1'¤£¬O¤@­Ó¦³®Ä©R¥O
error_nouser=±z¥²¶·¿ï¾Ü¤@­Ó¨Ï¥ÎªÌ
error_prgexist=¤w¸g¦s¦b¦WºÙ¬°'$1'ªºRPCµ{¦¡
error_prginuse=RPCµ{¦¡½s¸¹ $1 ¥¿³Q¨Ï¥Î
error_saveservice=Àx¦sºô»Úºô¸ôªA°È¥¢±Ñ
error_invalidport='$1' ¤£¬O¤@­Ó¦³®Äªº°ð¸¹
error_invalidservice='$1' ¤£¬O¤@­Ó¦³®ÄªºªA°È¦WºÙ
error_portnum=°ð¸¹$1¥²¶·¤j©ó 0 ¥B¤p©ó 65536
error_invalidprg='$1' ¤£¬O¤@­Ó¦³®Äªºµ{¦¡
error_invalidarg='$1' ¤£¬O¦³®Äªº°Ñ¼Æ¦C
error_invalidwrapper='$1' ¤£¬O¦³®ÄªºTCP-wrappersªA°È
error_invalidpermin='$1' ¤£¬O¦³®Äªº¨C¤ÀÄÁ³Ì¤j­È
error_invalidchildnum='$1' ¤£¬O¦³®Äªº¤lµ{§Ç¼Æ¥Ø
error_childnum=°²¦p³]©w¤F¨C¤ÀÄÁ³Ì¤j­È, ´N¥²¶·¿é¤J¤lµ{§Ç¼Æ¥Ø
error_serviceexist=¨Ï¥Î°ð $1 ©M¨ó©w $2 ªºªA°È¤w¸g¦s¦b
error_nameexist=¦WºÙ¬° $1 ©M¨ó©w¬° $2 ªºªA°È¤w¸g¦s¦b
error_inetservice=¦WºÙ¬° $1 ©M¨ó©w¬° $2 ªººô»Úºô¸ôªA°È¤w¸g¦s¦b

editrpc_title1=·s¼WRPCµ{¦¡
editrpc_title2=½s¿èRPCµ{¦¡
editrpc_detail=RPCµ{¦¡¤º®e
editrpc_prgname=µ{¦¡¦WºÙ
editrpc_prgnum=µ{¦¡½s¸¹
editrpc_aliase=§O¦W
editrpc_server=¦øªA¾¹µ{¦¡
editrpc_noassigned=¥¼«ü¬£µ{¦¡
editrpc_disable=°±¥Îµ{¦¡..
editrpc_enable=±Ò¥Îµ{¦¡..
editrpc_socket=SocketÃþ«¬
editrpc_version=RPCª©¥»
editrpc_protocol=¨ó©w
editrpc_internal=¥»¨­
editrpc_command=©R¥O
editrpc_waitmode=µ¥«Ý¼Ò¦¡
editrpc_wait=µ¥«Ýª½¨ì§¹¦¨
editrpc_nowait=¤£µ¥«Ý
editrpc_execasuser=°õ¦æªº¨Ï¥ÎªÌ
editrpc_max=¨C¤ÀÄÁ³Ì¤j­È
editrpc_default=¹w³]
editrpc_execasgrp=°õ¦æªº¸s²Õ

editserv_title1=·s¼Wºô»Úºô¸ôªA°È
editserv_title2=½s¿èºô»Úºô¸ôªA°È
editserv_detail=ºô»Úºô¸ôªA°È¤º®e
editserv_name=ªA°È¦WºÙ
editserv_port=°ð¸¹
editserv_program=µ{¦¡
editserv_args=°Ñ¼Æ
editserv_maxchild=³Ì¦h¤lµ{§Ç¼Æ
editserv_execlogin=¥Hµn¿ý¯Å§O°õ¦æ
editserv_wrapper=TCP-Wrapper
editserv_inetd=¦b <tt>inetd</tt> ¤º³¡

log_apply=¤w®M¥Î§ó§ï
log_create_serv=¤w·s¼WªA°È $1
log_modify_serv=¤w­×§ïªA°È $1
log_delete_serv=¤w§R°£ªA°È $1
log_create_prog=¤w·s¼WªA°È©Mµ{¦¡ $1
log_modify_prog=¤w­×§ïªA°È©Mµ{¦¡ $1
log_delete_prog=¤w§R°£ªA°È©Mµ{¦¡ $1
log_create_serv_l=¤w¦b°ð $2 ·s¼WªA°È $1
log_modify_serv_l=¤w¦b°ð $2 ­×§ïªA°È $1
log_delete_serv_l=¤w¦b°ð $2 §R°£ªA°È $1
log_create_prog_l=¤w¦b°ð $2 ·s¼Wµ{¦¡ $3 ªA°È $1
log_modify_prog_l=¤w¦b°ð $2 §ó·sµ{¦¡ $3 ªA°È $1
log_delete_prog_l=¤w¦b°ð $2 §R°£µ{¦¡ $3 ªA°È $1

log_create_rpc=¤w·s¼W RPC $1
log_modify_rpc=¤w­×§ï RPC $1
log_delete_rpc=¤w§R°£ RPC $1
log_create_rprog=¤w·s¼W RPC ©Mµ{¦¡ $1
log_modify_rprog=¤w­×§ï RPC ©Mµ{¦¡ $1
log_delete_rprog=¤w§R°£ RPC ©Mµ{¦¡ $1
log_create_rpc_l=¤w·s¼W RPC $1 ¸¹½X $2
log_modify_rpc_l=¤w­×§ï RPC $1 ¸¹½X $2
log_delete_rpc_l=¤w§R°£ RPC $1 ¸¹½X $2
log_create_rprog_l=¤w·s¼Wµ{¦¡ $3ªº RPC $1 ¸¹½X $2
log_modify_rprog_l=¤w­×§ïµ{¦¡ $3ªº RPC $1 ¸¹½X $2
log_delete_rprog_l=¤w§R°£µ{¦¡ $3ªº RPC $1 ¸¹½X $2

   07070100074a77000081a40000000000000002000000013d1fe2bb0000037c000000200000000000000000000000000000001a00000003reloc/inetd/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'inetd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'apply') {
	return $text{'log_apply'};
	}
elsif ($type eq 'serv') {
	local $msg = $p->{'prog'} ? "log_${action}_prog"
				  : "log_${action}_serv";
	$msg .= "_l" if ($long);
	return &text($msg, "<tt>$object</tt>", "<tt>$p->{'port'}</tt>",
		     "<tt>".&html_escape($p->{'prog'})."</tt>");
	}
elsif ($type eq 'rpc') {
	local $msg = $p->{'prog'} ? "log_${action}_rprog"
				  : "log_${action}_rpc";
	$msg .= "_l" if ($long);
	return &text($msg, "<tt>$object</tt>", "<tt>$p->{'number'}</tt>",
		     "<tt>".&html_escape($p->{'prog'})."</tt>");
	}
else {
	return undef;
	}
}

07070100074a78000081a40000000000000002000000013d1fe2ea00000519000000200000000000000000000000000000001800000003reloc/inetd/module.info   desc_ru_SU=óÅÒ×ÉÓÙ É ðÒÏÔÏËÏÌÙ Internet
risk=low medium high
desc_ko_KR.euc=ÀÎÆ®³Ý ¼­ºñ½º ¹× ÇÁ·ÎÅäÄÝ 
desc_zh_TW.Big5=ºô»Úºô¸ôªA°È»P¨ó©w
desc_pl=Us³ugi i&nbsp;protoko³y internetowe
desc_de=Internet Dienste und Protokolle
name=Inetd Admin
desc_zh_CN=inetd ·þÎñÅäÖÃ
desc_pt=Serviços e Protocolos de Internet
category=servers
desc_tr=Internet Servisleri ve Protokoller
os_support=slackware-linux redhat-linux/4.0 redhat-linux/4.1 redhat-linux/4.2 redhat-linux/5.0 redhat-linux/5.1 redhat-linux/5.2 redhat-linux/6.0 redhat-linux/6.1 redhat-linux/6.2 redhat-linux/7.0{-r "/etc/inetd.conf"} redhat-linux/7.1{-r "/etc/inetd.conf"} redhat-linux/7.2{-r "/etc/inetd.conf"} redhat-linux/7.3{-r "/etc/inetd.conf"} mandrake-linux{-r "/etc/inetd.conf"} solaris debian-linux suse-linux hpux freebsd unixware openserver osf1 macos open-linux turbo-linux openbsd corel-linux cobalt-linux lfs-linux aix netbsd msc-linux generic-linux gentoo-linux{-r "/etc/inetd.conf"}
desc=Internet Services and Protocols
desc_es=Servicios y Protocolos de Internet
desc_sv=Internettjänster och -protokoll
desc_fr=Services et Protocoles Internet
desc_cz=Internetove sluzby a protokoly
depends=0.990
version=0.990
desc_hu=Internet szolgáltatások és protokollok
desc_ca=Protocols i Serveis d'Internet
desc_ru_RU=Ñåðâèñû è Ïðîòîêîëû Internet
   07070100074a79000081e40000000000000002000000013d1fe2bb0000012e000000200000000000000000000000000000001e00000003reloc/inetd/restart_inetd.cgi #!/usr/local/bin/perl
# restart_inetd.cgi
# Send a HUP signal to the inetd process

require './inetd-lib.pl';
$whatfailed = $text{'error_restart'};

$out = &backquote_logged("$config{'restart_command'} 2>&1");
if ($?) {
	# Failed to signal inetd
	&error($out);
	}
&webmin_log("apply");
&redirect("");

  07070100074a7a000081e40000000000000002000000013d1fe2ba00000dd3000000200000000000000000000000000000001900000003reloc/inetd/save_rpc.cgi  #!/usr/local/bin/perl
# save_rpc.cgi

require './inetd-lib.pl';
&error_setup($text{'error_saverpc'});
&ReadParse();

# Check inputs
$in{name} =~ /^[A-z][A-z0-9\_\-]+$/ ||
	&error(&text('error_invalidprgname', $in{name}));
$in{number} =~ /^[0-9]+$/ ||
	&error(&text('error_prgnum', $in{number}));
if ($in{'act'}) {
	$in{vfrom} =~ /^[0-9]+$/ ||
		&error("$in{vfrom} ");
	if ($in{vto} eq "") { $in{vto} = $in{vfrom}; }
	$in{vto} =~ /^[0-9]+$/ ||
		&error(&text('error_invalidver', $in{vto}));
	if ($in{vto} < $in{vfrom}) {
		$tmp = $in{vfrom}; $in{vfrom} = $in{vto}; $in{vto} = $tmp;
		}
	if ($in{protocols} eq "") {
		&error(&text('error_noprotocol'));
		}
	if (!$in{internal}) {
		$in{program} =~ /^\/.*/ ||
			&error(&text('error_invalidname', $in{program}));
		if ($in{'act'} == 2) {
			(-r $in{program}) ||
				&error(&text('error_notexist', $in{program}));
			(-x $in{program}) ||
				&error(&text('error_ntexecutable',$in{program}));
			}
		$in{args} =~ /^\S+/ ||
			&error(&text('error_invalidcmd', $in{args}));
		}
	$in{'user'} || &error(&text('error_nouser'));
	}

@rargs = ($in{'name'}, $in{'number'}, $in{'aliases'});
$vers = ($in{vfrom} == $in{vto} ? $in{vfrom} : "$in{vfrom}-$in{vto}");
$prots = join(',', split(/\0/, $in{protocols}));
@iargs = ($in{'act'} == 2, "$in{name}/$vers", $in{type}, "rpc/$prots");
if ($config{extended_inetd}) {
	push(@iargs, ($in{permin_def} ? $in{wait} : "$in{wait}.$in{permin}"));
	push(@iargs, ($in{group} ? "$in{user}.$in{group}" : $in{user}));
	}
else {
	push(@iargs, $in{wait});
	push(@iargs, $in{user});
	}
if ($in{internal}) { push(@iargs, "internal", undef); }
else {
	push(@iargs, $in{program});
	push(@iargs, $in{args});
	}

&lock_inetd_files();
@rpcs = &list_rpcs();
@inets = &list_inets();
foreach $r (@rpcs) {
	if ($r->[1] eq $rargs[0]) { $same_name = $r; }
	if ($r->[2] == $rargs[1]) { $same_prog = $r; }
	}

if ($in{'rpos'} =~ /\d/) {
	# Changing a program (and maybe inetd entry)
	@old_rpc = @{$rpcs[$in{'rpos'}]};
        if ($in{'ipos'} =~ /\d/) {
		@old_inet = @{$inets[$in{'ipos'}]};
		}
	if ($same_name && $old_rpc[1] ne $rargs[0]) {
		&error(&text('error_prgexist', $rargs[0]));
		}
	if ($same_prog && $old_rpc[2] ne $rargs[1]) {
		&error(&text('error_prginuse', $rargs[1]));
		}
	&modify_rpc($old_rpc[0], @rargs);
	if ($in{'act'} && @old_inet) {
		# modify inetd
		&modify_inet($old_inet[0], @iargs, $old_inet[10]);
		}
	elsif ($in{'act'} && !@old_inet) {
		# add to inetd
		&create_inet(@iargs);
		}
	elsif (!$in{'act'} && @old_inet) {
		# remove from inetd
		&delete_inet($old_inet[0], $old_inet[10]);
		}
	&unlock_inetd_files();
	&webmin_log("modify", "rpc", $rargs[0],
		    { 'name' => $rargs[0], 'number' => $rargs[1],
		      'active' => $iargs[0],
		      'user' => $iargs[5], 'wait' => $iargs[4],
		      'prog' => $in{'act'} ? join(" ", @iargs[6..@iargs-1])
					   : undef } );
	}
else {
	# Creating a new program
	if ($same_name) {
		&error(&text('error_prgexist', $rargs[0]));
		}
	if ($same_prog) {
		&error(&text('error_prginuse', $rargs[1]));
		}
	if ($in{'act'}) {
		foreach $i (@inets) {
			if ($i->[2] && $i->[3] eq $rargs[0]) {
				&error(&text('error_prgexist', $rargs[0]));
				}
			}
		}
	&create_rpc(@rargs);
	if ($in{'act'}) { &create_inet(@iargs); }
	&unlock_inetd_files();
	&webmin_log("create", "rpc", $rargs[0],
		    { 'name' => $rargs[0], 'number' => $rargs[1],
		      'active' => $iargs[0],
		      'user' => $iargs[5], 'wait' => $iargs[4],
		      'prog' => $in{'act'} ? join(" ", @iargs[6..@iargs-1])
					   : undef } );
	}
&redirect("");

 07070100074a7b000081e40000000000000002000000013d1fe2bb000013ca000000200000000000000000000000000000001a00000003reloc/inetd/save_serv.cgi #!/usr/local/bin/perl
# save_serv.cgi
# Save or create an internet service. This can be called N ways
#  - create a new services file entry
#  - create a new inetd.conf entry (and maybe update or add to services file)
#  - update inetd.conf (and maybe services)
#  - remove an entry from inetd.conf (and maybe change services)

require './inetd-lib.pl';
&error_setup($text{'error_saveservice'});
&ReadParse();

# Check inputs
$in{'name'} =~ /^[A-z][A-z0-9\_\-]+$/ ||
	&error(&text('error_invalidservice' ,$in{'name'}));
$in{'port'} =~ /^[0-9]*$/ || &error(&text('error_invalidport', $in{'port'}));
if ($in{'port'} <= 0 || $in{'port'} > 65535) {
	&error(&text('error_portnum', $in{'port'}));
	}
if ($in{'act'} && $in{'serv'} == 2) {
	$in{'program'} =~ /^\/\S+$/ ||
		&error(&text('error_invalidprg', $in{program}));
	if ($in{'act'} == 2) {
		(-r $in{'program'}) ||
			&error(&text('error_notexist', $in{'program'}));
		(-x $in{'program'}) ||
			&error(&text('error_notexecutable', $in{'program'}));
		}
	$in{'args'} =~ /^\S+/ ||&error(&text('error_invalidarg', $in{'args'}));
	}
elsif ($in{'act'} && $in{serv} == 3) {
	$in{tcpd} =~ /^\S+$/ ||
		&error(&text('error_invalidwrapper', $in{tcpd}));
	}
if ($in{'act'}) {
	$in{'user'} || &error($text{'error_no_user'});
	defined(getpwnam($in{'user'})) || &error($text{'error_user'});
	$in{'group_def'} || defined(getgrnam($in{'group'})) ||
		&error($text{'error_group'});
	}
if ($config{'extended_inetd'} && !$in{'permin_def'} && $in{'permin'}!~/^\d+$/) {
	&error(&text('error_invalidpermin', $in{'permin'}));
	}
if ($config{'extended_inetd'} == 2 &&
    !$in{'child_def'} && $in{'child'} !~ /^\d+$/) {
	&error(&text('error_invalidchildnum', $in{'child'}));
	}

# Build argument list
@sargs = ($in{'name'}, $in{'port'}, $in{'protocol'},
	  join(' ', split(/\s+/, $in{'aliases'})) );
@iargs = ($in{'act'} == 2, $in{'name'},
	  $in{'protocol'} =~ /^tcp/ ? "stream" : "dgram", $in{'protocol'});
$wait = $in{'wait'};
$user = $in{'user'};
if ($config{'extended_inetd'} == 1) {
	if (!$in{'permin_def'}) { $wait .= ".$in{'permin'}"; }
	if (!$in{'group_def'}) { $user .= ".$in{'group'}"; }
	}
elsif ($config{'extended_inetd'} == 2) {
	if (!$in{'child_def'}) { $wait .= "/$in{'child'}"; }
	if (!$in{'permin_def'} && $in{'child_def'}) {
		&error($text{'error_childnum'});
		}
	if (!$in{'permin_def'}) { $wait .= "/$in{'permin'}"; }
	if ($in{'group'}) { $user .= ":$in{'group'}"; }
	if ($in{'class'}) { $user .= "/$in{'class'}"; }
	}
push(@iargs, $wait);
push(@iargs, $user);
if ($in{'serv'} == 1) { push(@iargs, "internal", undef); }
elsif ($in{serv} == 2) {
	push(@iargs, $in{'program'});
	push(@iargs, $in{'args'});
	}
elsif ($in{serv} == 3) {
	push(@iargs, $config{'tcpd_path'});
	push(@iargs, $in{'tcpd'});
	$iargs[$#iargs] .= " $in{'args2'}" if ($in{'args2'});
	}

&lock_inetd_files();
@servs = &list_services();
@inets = &list_inets();
foreach $s (@servs) {
	if ($s->[1] eq $sargs[0] && $s->[3] eq $sargs[2]) { $same_name = $s; }
	if ($s->[2] == $sargs[1] && $s->[3] eq $sargs[2]) { $same_port = $s; }
	}

if ($in{'spos'} =~ /\d/) {
	# Changing a service..
	@old_serv = @{$servs[$in{'spos'}]};
	if ($in{'ipos'} =~ /\d/) {
		@old_inet = @{$inets[$in{'ipos'}]};
		}
	if ($old_serv[1] ne $sargs[0] || $old_serv[2] != $sargs[1] ||
	    $old_serv[3] ne $sargs[2]) {
		if ($same_name && $same_name->[2] != $old_serv[2]) {
			&error(&text('error_nameexist', $sargs[0], $sargs[2]));
			}
		if ($same_port && $same_port->[1] ne $old_serv[1]) {
			&error(&text('error_serviceexist', $sargs[1], $sargs[2]));
			}
		}
	&modify_service($old_serv[0], @sargs);
	if ($in{'act'} && @old_inet) {
		# modify inetd
		&modify_inet($old_inet[0], @iargs, $old_inet[10]);
		}
	elsif ($in{'act'} && !@old_inet) {
		# add to inetd
		&create_inet(@iargs);
		}
	elsif (!$in{'act'} && @old_inet) {
		# remove from inetd
		&delete_inet($old_inet[0], $old_inet[10]);
		@iargs = ();
		}
	&unlock_inetd_files();
	&webmin_log("modify", "serv", $sargs[0],
		    { 'name' => $sargs[0], 'port' => $sargs[1],
		      'proto' => $sargs[2], 'active' => $iargs[0],
		      'user' => $iargs[5], 'wait' => $iargs[4],
		      'prog' => $in{'act'} ? join(" ", @iargs[6..@iargs-1])
					   : undef } );
	}
else {
	# Creating a new service...
	# Check for a service with the same name or port and protocol
	if ($same_name) {
		&error(&text('error_nameexist', $sargs[0], $sargs[2]));
		}
	if ($same_port) {
		&error(&text('error_serviceexist', $sargs[1], $sargs[2]));
		}
	# Check for an existing internet service
	if ($in{'act'}) {
		foreach $i (@inets) {
			if ($i->[3] eq $iargs[1] && $i->[5] eq $iargs[3]) {
				&error(&text('error_inetservice', $i->[3], $i->[5]));
				}
			}
		}
	&create_service(@sargs);
	if ($in{'act'}) { &create_inet(@iargs); }
	&unlock_inetd_files();
	&webmin_log("create", "serv", $sargs[0],
		    { 'name' => $sargs[0], 'port' => $sargs[1],
		      'proto' => $sargs[2], 'active' => $iargs[0],
		      'user' => $iargs[5], 'wait' => $iargs[4],
		      'prog' => $in{'act'} ? join(" ", @iargs[6..@iargs-1])
					   : undef } );
	}
&redirect("");

  070701000001af000041ed0000000000000001000000053d1ffa5e00000000000000200000000000000000000000000000000b00000003reloc/init    070701000001b0000081a40000000000000002000000013d1fe2bc00000512000000200000000000000000000000000000001b00000003reloc/init/acl_security.pl    
require 'init-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the init module
sub acl_security_form
{
if ($config{'local_script'}) {
	print "<tr> <td><b>$text{'acl_script'}</b></td> <td>\n";
	}
else {
	print "<tr> <td><b>$text{'acl_actions'}</b></td><td>\n";
	}
printf "<input type=radio name=bootup value=1 %s> $text{'yes'}\n",
	$_[0]->{'bootup'} ? "checked" : "";
printf "<input type=radio name=bootup value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'bootup'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_reboot'}</b></td> <td>\n";
printf "<input type=radio name=reboot value=1 %s> $text{'yes'}\n",
	$_[0]->{'reboot'} ? "checked" : "";
printf "<input type=radio name=reboot value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'reboot'} ? "" : "checked";

print "<td><b>$text{'acl_shutdown'}</b></td> <td>\n";
printf "<input type=radio name=shutdown value=1 %s> $text{'yes'}\n",
	$_[0]->{'shutdown'} ? "checked" : "";
printf "<input type=radio name=shutdown value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'shutdown'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the init module
sub acl_security_save
{
$_[0]->{'bootup'} = $in{'bootup'};
$_[0]->{'reboot'} = $in{'reboot'};
$_[0]->{'shutdown'} = $in{'shutdown'};
}

  070701000001b1000081e40000000000000002000000013d1fe2bc00001204000000200000000000000000000000000000001500000003reloc/init/atboot.pl  #!/usr/local/bin/perl
# atboot.pl
# Called by setup.sh to have webmin started at boot time

$no_acl_check++;
require './init-lib.pl';

if ($config{'darwin_setup'}) {
	# Darwin System
	open(LOCAL, ">>$config{'hostconfig'}");
	print LOCAL "WEBMIN=-YES-\n";
	close(LOCAL);
	
	$paramlist = "$config{'darwin_setup'}/Webmin/$config{'plist'}";
	$scriptfile = "$config{'darwin_setup'}/Webmin/Webmin";
	
	# On a Virgin darwin system, $config{'darwin_setup'} may not yet exist
	-d "$config{'darwin_setup'}/Webmin" || do {
		if ( -d "$config{'darwin_setup'}" ) {
			mkdir ("$config{'darwin_setup'}/Webmin", 0755);
			} else {
			mkdir ("$config{'darwin_setup'}", 0755);
			mkdir ("$config{'darwin_setup'}/Webmin",0755);
			}
		} until -d "$config{'darwin_setup'}/Webmin";

	open(PLIST, ">$paramlist");
	print PLIST "{\n";
	print PLIST "\t\tDescription\t\t= \"Webmin system administration daemon\";\n";
	print PLIST "\t\tProvides\t\t= (\"Webmin\");\n";
	print PLIST "\t\tRequires\t\t= (\"Resolver\");\n";
	print PLIST "\t\tOrderPreference\t\t= \"None\";\n";
	print PLIST "\t\tMessages =\n";
	print PLIST "\t\t{\n";
	print PLIST "\t\t\tstart\t= \"Starting Webmin Server\";\n";
	print PLIST "\t\t\tstop\t= \"Stopping Webmin Server\";\n";
	print PLIST "\t\t};\n";
	print PLIST "}\n";
	close(PLIST);
	# Create Bootup Script
	open(STARTUP, ">$scriptfile");
	print STARTUP "#!/bin/sh\n\n";
	print STARTUP ". /etc/rc.common\n\n";
	print STARTUP "if [ \"\${WEBMIN:=-NO-}\" = \"-YES-\" ]; then\n";
	print STARTUP "\tConsoleMessage \"Starting Webmin\"\n";
	print STARTUP "\t$config_directory/start\n";
	print STARTUP "fi\n";
	close(STARTUP);
	chmod(0750, $scriptfile);
	}
elsif (!$config{'init_base'}) {
	# Add to the boot time rc script
	open(LOCAL, ">>$config{'local_script'}");
	print LOCAL "$config_directory/start	# Start webmin\n";
	close(LOCAL);
	print "Added to bootup script $config{'local_script'}\n";
	}
else {
	# Create a bootup action
	($initrl) = &get_inittab_runlevel();
	$fn = &action_filename("webmin");
	open(ACTION,">$fn");
	$desc = "Start/stop Webmin";
	print ACTION "#!/bin/sh\n";
	$start_order = "9" x $config{'order_digits'};
	$stop_order = "9" x $config{'order_digits'};
	if ($config{'chkconfig'}) {
		# Redhat-style description: and chkconfig: lines
		print ACTION "# description: $desc\n";
		print ACTION "# chkconfig: $config{'chkconfig'} ",
			     "$start_order $stop_order\n";
		}
	elsif ($config{'init_info'}) {
		# Suse-style init info section
		print ACTION "### BEGIN INIT INFO\n",
			     "# Provides: webmin\n",
			     "# Default-Start: $initrl\n",
			     "# Description: $desc\n",
			     "### END INIT INFO\n";
		}
	else {
		# Just description in a comment
		print ACTION "# $desc\n";
		}
	print ACTION "\n";
	print ACTION "case \"\$1\" in\n";

	print ACTION "'start')\n";
	print ACTION "\t$config_directory/start\n";
	print ACTION "\tRETVAL=\$?\n";
	if ($config{'subsys'}) {
		print ACTION "\tif [ \"\$RETVAL\" = \"0\" ]; then\n";
		print ACTION "\t\ttouch $config{'subsys'}/webmin\n";
		print ACTION "\tfi\n";
		}
	print ACTION "\t;;\n";

	print ACTION "'stop')\n";
	print ACTION "\t$config_directory/stop\n";
	print ACTION "\tRETVAL=\$?\n";
	if ($config{'subsys'}) {
		print ACTION "\tif [ \"\$RETVAL\" = \"0\" ]; then\n";
		print ACTION "\t\trm -f $config{'subsys'}/webmin\n";
		print ACTION "\tfi\n";
		}
	print ACTION "\t;;\n";

	print ACTION "'status')\n";
	print ACTION "\tpidfile=`grep \"^pidfile=\" $config_directory/miniserv.conf | sed -e 's/pidfile=//g'`\n";
	print ACTION "\tif [ -s \$pidfile ]; then\n";
	print ACTION "\t\tpid=`cat \$pidfile`\n";
	print ACTION "\t\tkill -0 \$pid >/dev/null 2>&1\n";
	print ACTION "\t\tif [ \"\$?\" = \"0\" ]; then\n";
	print ACTION "\t\t\techo \"webmin (pid \$pid) is running\"\n";
	print ACTION "\t\t\tRETVAL=0\n";
	print ACTION "\t\telse\n";
	print ACTION "\t\t\techo \"webmin is stopped\"\n";
	print ACTION "\t\t\tRETVAL=1\n";
	print ACTION "\t\tfi\n";
	print ACTION "\telse\n";
	print ACTION "\t\techo \"webmin is stopped\"\n";
	print ACTION "\t\tRETVAL=1\n";
	print ACTION "\tfi\n";
	print ACTION "\t;;\n";

	print ACTION "'restart')\n";
	print ACTION "\t$config_directory/stop && $config_directory/start\n";
	print ACTION "\tRETVAL=\$?\n";
	print ACTION "\t;;\n";

	print ACTION "*)\n";
	print ACTION "\techo \"Usage: \$0 { start | stop }\"\n";
	print ACTION "\tRETVAL=1\n";
	print ACTION "\t;;\n";
	print ACTION "esac\n";
	print ACTION "exit \$RETVAL\n";
	close(ACTION);
	chmod(0755, $fn);
	&add_rl_action("webmin", $initrl, "S", $start_order);
	&add_rl_action("webmin", $initrl, "K", $stop_order);
	print "Created init script $fn\n";
	}

070701000001b2000081e40000000000000002000000013d1fe2bc000001dd000000200000000000000000000000000000001900000003reloc/init/change_rl.cgi  #!/usr/local/bin/perl
# change_rl.cgi
# Switch to a different runlevel with the telinit command

require './init-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'bootup'} || &error($text{'change_ecannot'});

&header($text{'change_title'}, "");
print "<hr>\n";

$cmd = "telinit '$in{'level'}'";
print "<p>",&text('change_cmd', $in{'level'}, "<tt>$cmd</tt>"),"<p>\n";
system("$cmd </dev/null >/dev/null 2>&1 &");

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000001b3000081a40000000000000002000000013d1fe2bc000000d3000000200000000000000000000000000000001600000003reloc/init/config-aix show_opts=0
inittab_id=init
expert=0
start_stop_msg=0
reboot_command=reboot
shutdown_command=shutdown -Fh
soft_links=1
init_base=
order_digits=2
desc=0
init_dir=
daemons_dir=
local_script=/etc/rc
status_check=0
 070701000001b4000081a40000000000000002000000013d1fe2bc000000e5000000200000000000000000000000000000002300000003reloc/init/config-cobalt-linux-2.2    soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
subsys=/var/lock/subsys
expert=0
desc=1
status_check=0
   070701000001b5000081a40000000000000002000000013d1fe2bc000000e5000000200000000000000000000000000000002300000003reloc/init/config-cobalt-linux-4.0    soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
subsys=/var/lock/subsys
expert=0
desc=1
status_check=0
   070701000001b6000081a40000000000000002000000013d1fe2bc000000f4000000200000000000000000000000000000002300000003reloc/init/config-cobalt-linux-5.0    soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
expert=0
desc=1
status_check=0
07070100000230000081a40000000000000002000000013d1fe2bc000000f4000000200000000000000000000000000000002300000003reloc/init/config-cobalt-linux-6.0    soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
expert=0
desc=1
status_check=0
070701000002a6000081a40000000000000002000000013d1fe2bc000000a6000000200000000000000000000000000000001e00000003reloc/init/config-corel-linux soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
  070701000002a7000081a40000000000000002000000013d1fe2bc000000a6000000200000000000000000000000000000001f00000003reloc/init/config-debian-linux    soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
  070701000002a8000081a40000000000000002000000013d1fe2bc0000006a000000200000000000000000000000000000001a00000003reloc/init/config-freebsd reboot_command=shutdown -r now
shutdown_command=shutdown -p now
local_script=/etc/rc.local
status_check=0
  070701000002a9000081a40000000000000002000000013d1fe2bc000000e1000000200000000000000000000000000000002000000003reloc/init/config-generic-linux   soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=shutdown -r now
shutdown_command=shutdown -h now
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
expert=0
desc=1
status_check=0
   070701000002aa000081a40000000000000002000000013d1fe2bb000000ff000000200000000000000000000000000000001700000003reloc/init/config-hpux    start_stop_msg=1
soft_links=1
show_opts=0
init_base=/sbin
init_dir=/sbin/init.d
reboot_command=shutdown -r
shutdown_command=shutdown -h
order_digits=3
inittab_id=init
desc=0
expert=0
status_check=0
inittab_rl_4=4,3,2,1
inittab_rl_3=3,2,1
inittab_rl_2=2,1
 070701000002ab000081a40000000000000002000000013d1fe2bc000000b7000000200000000000000000000000000000001700000003reloc/init/config-irix    soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=shutdown -i 0 -g 0 -y
order_digits=2
inittab_id=is
desc=0
expert=0
status_check=0
 070701000002ac000081a40000000000000002000000013d1fe2bc000000f3000000200000000000000000000000000000001800000003reloc/init/config-macos   reboot_command=reboot
shutdown_command=halt
local_script=/etc/rc
startup_dirs=/System/Library/StartupItems:/Library/StartupItems
darwin_setup=/System/Library/StartupItems
hostconfig=/etc/hostconfig
plist=StartupParameters.plist
status_check=0
 070701000002ad000081a40000000000000002000000013d1fe2bc00000108000000200000000000000000000000000000002100000003reloc/init/config-mandrake-linux  soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=shutdown -r now
shutdown_command=shutdown -h now
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
expert=0
desc=1
status_check=1
070701000002ae000081a40000000000000002000000013d1fe2bc00000103000000200000000000000000000000000000001c00000003reloc/init/config-msc-linux   soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/init.d
reboot_command=shutdown -r now
shutdown_command=shutdown -h now
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
expert=0
desc=1
status_check=1
 070701000002af000081a40000000000000002000000013d1fe2bc00000056000000200000000000000000000000000000001900000003reloc/init/config-netbsd  reboot_command=reboot
shutdown_command=halt
local_script=/etc/rc.local
status_check=0
  070701000002b0000081a40000000000000002000000013d1fe2bc000000e6000000200000000000000000000000000000001d00000003reloc/init/config-open-linux  soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=shutdown -r now
shutdown_command=shutdown -h now
order_digits=2
inittab_id=id
desc=1
expert=0
daemons_dir=/etc/sysconfig/daemons
status_check=0
  070701000002b1000081a40000000000000002000000013d1fe2bc00000056000000200000000000000000000000000000001a00000003reloc/init/config-openbsd reboot_command=reboot
shutdown_command=halt
local_script=/etc/rc.local
status_check=0
  070701000002b2000081a40000000000000002000000013d1fe2bc000000c6000000200000000000000000000000000000001d00000003reloc/init/config-openserver  soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=shutdown -i 6 -g 0 -y
shutdown_command=shutdown -i 5 -g 0 -y
order_digits=2
inittab_id=is
desc=0
expert=0
status_check=0
  070701000002b3000081a40000000000000002000000013d1fe2bc000000f9000000200000000000000000000000000000001700000003reloc/init/config-osf1    daemons_dir=
show_opts=0
inittab_id=is
expert=0
start_stop_msg=1
reboot_command=reboot
shutdown_command=init 0
soft_links=1
init_base=/sbin
local_script=
desc=0
order_digits=2
init_dir=/sbin/init.d
status_check=0
inittab_rl_4=4,3,2
inittab_rl_3=3,2
   070701000002b4000081a40000000000000002000000013d1fe2bc00000108000000200000000000000000000000000000001f00000003reloc/init/config-redhat-linux    soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=shutdown -r now
shutdown_command=shutdown -h now
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
expert=0
desc=1
status_check=1
070701000002b5000081a40000000000000002000000013d1fe2bc0000005b000000200000000000000000000000000000002200000003reloc/init/config-slackware-linux reboot_command=reboot
shutdown_command=halt
local_script=/etc/rc.d/rc.local
status_check=0
 070701000002b6000081a40000000000000002000000013d1fe2bc000000c8000000200000000000000000000000000000001a00000003reloc/init/config-solaris soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=shutdown -i 5 -g 0 -y
order_digits=2
inittab_id=is
desc=0
expert=0
inittab_rl_3=3,2
status_check=0
070701000002b7000081a40000000000000002000000013d1fe2bc000000ae000000200000000000000000000000000000001d00000003reloc/init/config-suse-linux  soft_links=1
show_opts=0
init_base=/sbin/init.d
init_dir=/sbin/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=0
status_check=0
  070701000002b8000081a40000000000000002000000013d1fe2bc000000b8000000200000000000000000000000000000002100000003reloc/init/config-suse-linux-7.1  soft_links=1
show_opts=0
init_base=/etc/init.d
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
init_info=1
070701000002b9000081a40000000000000002000000013d1fe2bc000000b8000000200000000000000000000000000000002100000003reloc/init/config-suse-linux-7.2  soft_links=1
show_opts=0
init_base=/etc/init.d
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
init_info=1
070701000002ba000081a40000000000000002000000013d1fe2bc000000b8000000200000000000000000000000000000002100000003reloc/init/config-suse-linux-7.3  soft_links=1
show_opts=0
init_base=/etc/init.d
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
init_info=1
070701000002bb000081a40000000000000002000000013d1fe2bc000000b8000000200000000000000000000000000000002100000003reloc/init/config-suse-linux-8.0  soft_links=1
show_opts=0
init_base=/etc/init.d
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
expert=0
desc=1
status_check=0
init_info=1
070701000002bc000081a40000000000000002000000013d1fe2bc000000f4000000200000000000000000000000000000001e00000003reloc/init/config-turbo-linux soft_links=1
show_opts=0
init_base=/etc/rc.d
init_dir=/etc/rc.d/init.d
reboot_command=reboot
shutdown_command=halt
order_digits=2
inittab_id=id
extra_init=/etc/rc.d/rc.local
chkconfig=2345
subsys=/var/lock/subsys
desc=1
expert=0
status_check=0
070701000002bd000081a40000000000000002000000013d1fe2bc000000b7000000200000000000000000000000000000001b00000003reloc/init/config-unixware    soft_links=1
show_opts=0
init_base=/etc/
init_dir=/etc/init.d
reboot_command=reboot
shutdown_command=shutdown -i 5 -g 0 -y
order_digits=2
inittab_id=is
desc=0
expert=0
status_check=0
 070701000002be000081a40000000000000002000000013d1fe2bc000003bb000000200000000000000000000000000000001700000003reloc/init/config.info    expert=Allow selection of individual runlevels,1,1-Yes,0-No
desc=Display actions with descriptions,1,2-Yes&#44; and show all runlevels,1-Yes,0-No
init_base=Directory in which runlevel directories are located,0
init_dir=Directory containing master init scripts,0
soft_links=Link type to use for runlevel files,1,0-Hard,1-Soft
order_digits=Number of digits in action order,0
local_script=Local startup commands script,3
reboot_command=Command to reboot the system,0
shutdown_command=Command to shutdown the system,0
start_stop_msg=System supports bootup/shutdown messages,1,0-No,1-Yes
inittab_id=inittab ID for bootup runlevel,0
daemons_dir=Caldera daemons directory,3,None
startup_dirs=Darwin StartupItems directories,0
darwin_setup=Directory for custom StartupItems,0
hostconfig=Darwin hostconfig file,0
plist=Name of plist in a StartupItems directory,0
status_check=Show current status of actions,1,2-On index and action pages,1-On action page only,0-No
 070701000002bf000081a40000000000000002000000013d1fe2bc00000448000000200000000000000000000000000000001a00000003reloc/init/config.info.ca expert=Permet la selecció de nivells d'execució individuals,1,1-Sí,0-No
desc=Mostra les accions amb descripcions,1,2-Sí&#044; i mostra tots els nivells d'execució,1-Sí,0-No
init_base=Directori on s'allotgen els directoris de nivells d'execució,0
init_dir=Directori que conté els scripts init mestres,0
soft_links=Tipus d'enllaç pels fitxers de nivell d'execució,1,0-Real,1-Simbòlic
order_digits=Nombre de dígits de l'ordre de l'acció,0
local_script=Script local d'execució d'ordres,3
reboot_command=Ordre de reinici del sistema,0
shutdown_command=Ordre de tancament del sistema,0
start_stop_msg=El sistema suporta missatges d'engegada/tancament,1,0-No,1-Sí
inittab_id=ID d'inittab per al nivell d'engegada per omissió,0
daemons_dir=Directori de dimonis de Caldera,3,Cap
status_check=Mostra l'estat actual de les accions,1,2-A les pàgines d'índex i de l'acció,1-Només a la pàgina de l'acció,0-No
startup_dirs=Directoris StartupItems Darwin,0
darwin_setup=Directoris StartupItems Personalitzats,0
hostconfig=Fitxer de configuració de host Darwin,0
plist=Nom de plist d'un directori StartupItems,0

070701000002c0000081a40000000000000002000000013d1fe2bc0000042e000000200000000000000000000000000000001a00000003reloc/init/config.info.de expert=Erlaube die Auswahl einzelner Runlevel,1,1-Ja,0-Nein
desc=Zeige Aktionen mit Beschreibung,1,1-Ja,0-Nein
init_base=Verzeichnis&#044 in dem die Runlevel-Verzeichnisse liegen,0
init_dir=Verzeichnis&#044 in dem das Haupt-Skript liegt,0
soft_links=Link-Typ&#044 der bei Runlevel-Dateien verwendet werden soll,1,0-Hard,1-Soft
order_digits=Anzahl Ziffern in Aktionsreihenfolge,0
local_script=Lokales Start-Skript,3,Kein
reboot_command=Kommando zum Neustart des Systems,0
shutdown_command=Kommando zum Herunterfahren des Systems,0
start_stop_msg=System unterst&uuml;tzt 'Bootup-/Shutdown-' Nachrichten,1,0-Nein,1-Ja
inittab_id=inittab ID f&uuml;r Bootup-Runlevel,0
daemons_dir=Caldera-Verzeichnis f&uuml;r Daemonen,3,Keines
startup_dirs=Darwin 'StartupItems' Verzeichnisse,0
darwin_setup=Verzeichnis f&uuml;r gew&ouml;hnliche 'StartupItems',0
hostconfig=Darwin 'hostconfig'-Datei,0
plist=Name der plist in einem 'StartupItems' Verzeichnis,0
status_check=Zeige aktuellen Status der Aktionen,1,2-Auf Index&#045 und Aktionen&#045Seite,1-Nur auf der Aktionen&#045Seite,0-Nein  070701000002c1000081a40000000000000002000000013d1fe2bc00000377000000200000000000000000000000000000001a00000003reloc/init/config.info.es expert=Permitir selección de niveles individuales de ejecución,1,1-Sí,0-No
desc=Mostrar acciones con descripciones,1,1-Sí,0-No
init_base=Directorio en el cual están localizados los directorios de nivel de ejecución,0
init_dir=Directorio que contiene los guiones maestros de inicio,0
soft_links=Tipo de enlace a usar en los archivos de nivel de ejecución,1,0-Hard,1-Soft
order_digits=Número de dígitos en el orden de acción,0
local_script=Guiones de comandos para arranque local,3
reboot_command=Comando para rearrancar el sitema,0
shutdown_command=Comando para parar el sistema,0
start_stop_msg=El sistema soporta mensajes de arranque/parada,1,0-No,1-Sí
inittab_id=ID de inittab para nivel de ejecución en arranque,0
daemons_dir=Directorio de demonios de Caldera,3,Ninguno
status_check=Mostrar estado actual de acciones,1,2-En índice y páginas de acción,1-Sólo en páginas de acción,0-No
 070701000002c2000081a40000000000000002000000013d1fe2bc00000247000000200000000000000000000000000000001a00000003reloc/init/config.info.fr init_base=Répertoire dans lequel les répertoires des niveaux d'exécution sont situés,0
init_dir=Répertoire qui contient les scripts de démarrage,0
soft_links=Type de liens utilisés pour les niveaux d'exécution,1,0-Dur,1-Symboliques
order_digits=Nombre de chiffre dans l'ordre d'action,0
local_script=Script local de démarrage,3
reboot_command=Commande pour redémarrer le système,0
shutdown_command=Commande pour arrêter le système,0
start_stop_msg=Le système supporte les messages de démarrage et d'arrêt,1,0-Non,1-Oui
inittab_id=Numéro du niveau d'exécution du démarrage,0
 070701000002c3000081a40000000000000002000000013d1fe2bc00000428000000200000000000000000000000000000001a00000003reloc/init/config.info.pl expert=Pozwalaæ na wybór poszczególnych poziomów pracy systemu,1,1-Tak,0-Nie
desc=Wy¶wietlaæ dzia³ania wraz z&nbsp;opisami,1,2,Tak&#044; i&nbsp;pokazuj wszystkie poziomy,1-Tak,0-Nie
init_base=Katalog zawieraj±cy podkatalogi poziomów pracy,0
init_dir=Katalog zawieraj±cy nadrzêdne skrypty startowe,0
soft_links=Stosowany rodzaj dowi±zañ do plików poziomów pracy,1,0-Twarde,1-Miêkkie
order_digits=Liczba cyfr okre¶laj±cych kolejno¶æ uruchamiania,0
local_script=Lokalny skrypt poleceñ startowych,3
reboot_command=Polecenie restartuj±ce system,0
shutdown_command=Polecenie zamykaj±ce system,0
start_stop_msg=System wspomaga komunikaty startowe/zamykaj±ce,1,0-Nie,1-Tak
inittab_id=ID inicjalnego poziomu pracy w&nbsp;inittab-ie,0
daemons_dir=Katalog demonów Caldery,3,Brak
startup_dirs=Katalogi StartupItems Darwina,0
darwin_setup=Katalog dla indywidualnych StartupItems,0
hostconfig=Plik hostconfig Darwina,0
plist=Nazwa p-listy w katalogu StartupItems,0
status_check=Pokazywaæ bie¿±cy stan akcji,1,2-Na stronach indeksowej i&nbsp;akcji,1-Tylko na stronie akcji,0-Nie
070701000002c4000081a40000000000000002000000013d1fe2bc00000240000000200000000000000000000000000000001d00000003reloc/init/config.info.ru_RU  start_stop_msg=Ïîääåðæèâàåò ëè ñèñòåìà ñòàðòîâûå/ñòîïîâûå ñîîáùåíèÿ,1,0-Íåò,1-Äà
reboot_command=Êîìàíäà äëÿ ïåðåçàïóñêà ñèñòåìû,0
shutdown_command=Êîìàíäà äëÿ îñòàíîâêè ñèñòåìû,0
init_dir=Êàòàëîã ñîäåðæàùèé ãëàâíûå ñöåíàðèè èíèöèàëèçàöèè,0
soft_links=Òèï ëèíêîâ äëÿ ôàéëîâ ñî ñöåíàðèÿìè óðîâíåé èñïîëíåíèÿ,1,0-Æåñòêèå,1-Ñèìâîëè÷åñêèå
init_base=Êàòàëîã ñ ðàçìåùåííûìè â íåì ïîäêàòàëîãàìè óðîâíåé èñïîëíåíèÿ,0
inittab_id=inittab ID äëÿ ñòàðòîâîãî óðîâíÿ èñïîëíåíèÿ,0
local_script=Ëîêàëüíûé ñöåíàðèé ñòàðòîâûõ êîìàíä,3
order_digits=Êîë-âî öèôð â àêòèâàöèîííîì íîìåðå ñöåíàðèåâ,0
070701000002c5000081a40000000000000002000000013d1fe2bb00000240000000200000000000000000000000000000001d00000003reloc/init/config.info.ru_SU  init_base=ëÁÔÁÌÏÇ Ó ÒÁÚÍÅÝÅÎÎÙÍÉ × ÎÅÍ ÐÏÄËÁÔÁÌÏÇÁÍÉ ÕÒÏ×ÎÅÊ ÉÓÐÏÌÎÅÎÉÑ,0
init_dir=ëÁÔÁÌÏÇ ÓÏÄÅÒÖÁÝÉÊ ÇÌÁ×ÎÙÅ ÓÃÅÎÁÒÉÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ,0
soft_links=ôÉÐ ÌÉÎËÏ× ÄÌÑ ÆÁÊÌÏ× ÓÏ ÓÃÅÎÁÒÉÑÍÉ ÕÒÏ×ÎÅÊ ÉÓÐÏÌÎÅÎÉÑ,1,0-öÅÓÔËÉÅ,1-óÉÍ×ÏÌÉÞÅÓËÉÅ
order_digits=ëÏÌ-×Ï ÃÉÆÒ × ÁËÔÉ×ÁÃÉÏÎÎÏÍ ÎÏÍÅÒÅ ÓÃÅÎÁÒÉÅ×,0
local_script=ìÏËÁÌØÎÙÊ ÓÃÅÎÁÒÉÊ ÓÔÁÒÔÏ×ÙÈ ËÏÍÁÎÄ,3
reboot_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÅÒÅÚÁÐÕÓËÁ ÓÉÓÔÅÍÙ,0
shutdown_command=ëÏÍÁÎÄÁ ÄÌÑ ÏÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ,0
start_stop_msg=ðÏÄÄÅÒÖÉ×ÁÅÔ ÌÉ ÓÉÓÔÅÍÁ ÓÔÁÒÔÏ×ÙÅ/ÓÔÏÐÏ×ÙÅ ÓÏÏÂÝÅÎÉÑ,1,0-îÅÔ,1-äÁ
inittab_id=inittab ID ÄÌÑ ÓÔÁÒÔÏ×ÏÇÏ ÕÒÏ×ÎÑ ÉÓÐÏÌÎÅÎÉÑ,0
070701000002c6000081a40000000000000002000000013d1fe2bc000002c9000000200000000000000000000000000000001a00000003reloc/init/config.info.sv expert=Tillåt individuella körnivåer,1,1-Ja,0-Nej
desc=Visa funktioner med beskrivningar,1,1-Ja,0-Nej
init_base=Katalog för körnivå-kataloger,0
init_dir=Katalog för master-init-script,0
soft_links=Länktyp för körnivå-filer,1,0-Hård,1-Mjuk
order_digits=Antal siffror i utförandeordning,0
local_script=Lokalt startkommandoscript,3
reboot_command=Kommando för att starta om systemet,0
shutdown_command=Kommando för att stänga av systemet,0
start_stop_msg=Systemet stödjer omstarts-/avstängningsmeddelanden,1,0-Nej,1-Ja
inittab_id=inittab-ID för startkörnivå,0
daemons_dir=Katalog för Caldera-demoner,3,Ingen
status_check=Visa aktuell funktionsstatus,1,2-På index- och funktionssidor,1-Endast på funktionssidor,0-Nej
   070701000002c7000081a40000000000000002000000013d1fe2bc000002ac000000200000000000000000000000000000001a00000003reloc/init/config.info.tr expert=Kiþisel çalýþma seviyesinin seçimine izin verilsin,1,1-Evet,0-Hayýr
desc=Ýþlemleri açýklamalarý ile görüntüle,1,1-Evet,0-Hayýr
init_base=Çalýþma seviyelerinin olduðu dizin,0
init_dir=Directory containing master init scripts,0
soft_links=Açýlýþ seviyeleri dosyasý için kullanýlacak link tipi,1,0-Hard,1-Soft
order_digits=Ýþlem sýralamasýndaki rakam sayýsý,0
local_script=Yerel baþlangýç komutlarý betiði,3
reboot_command=Sistemi yeniden baþlatma komutu,0
shutdown_command=Sistemi kapatma komutu,0
start_stop_msg=Sistem açýlýþ/kapanýþ mesajlarýný desteklesin,1,0-Hayýr,1-Evet
inittab_id=Açýlýþ çalýþma seviyesi için inittab ID ,0
daemons_dir=Caldera daemon'larý dizini,3,Hiçbiri
070701000002c8000081a40000000000000002000000013d1fe2bc000001c0000000200000000000000000000000000000001d00000003reloc/init/config.info.zh_CN  expert=ÔÊÐíÑ¡Ôñµ¥¶ÀµÄÔËÐÐ¼¶±ð,1,1-ÊÇ,0-·ñ
desc=ÏÔÊ¾ descriptions µÄ¶¯×÷,1,1-ÊÇ,0-·ñ
init_base=ÔËÐÐ¼¶±ðÄ¿Â¼±»¶¨Î»µÄÄ¿Â¼,0
init_dir=°üº¬Ö÷³õÊ¼»¯½Å±¾µÄÄ¿Â¼,0
soft_links=ÔËÐÐ¼¶±ðÎÄ¼þµÄÁ¬½ÓÀàÐÍ,1,0-Ó²,1-Èí
order_digits=Ö´ÐÐË³ÐòµÄÊý×Ö¸öÊý,0
local_script=±¾µØÆô¶¯ÃüÁî½Å±¾,3
reboot_command=ÖØÆôÏµÍ³ÃüÁî,0
shutdown_command=¹Ø»úÃüÁî,0
start_stop_msg=ÏµÍ³Ö§³ÖÆô¶¯/¹Ø»úÐÅÏ¢,1,0-²»,1-ÊÇ
inittab_id=Òýµ¼¼¶±ðµÄinittab ID,0
daemons_dir=Caldera ÊØ»¤½ø³ÌÄ¿Â¼,3,None
070701000002c9000081a40000000000000002000000013d1fe2bc000001f0000000200000000000000000000000000000002200000003reloc/init/config.info.zh_TW.Big5 expert=¬O§_¤¹³\¿ï¾Ü­Ó§Oªº°õ¦æ¼h¯Å,1,1-¬O,0-§_
desc=Åã¥Ü°Ê§@®É¬O§_¦P®ÉÅã¥Ü»¡©ú,1,1-¬O,0-§_
init_base=°õ¦æ¼h¯Åªº¥Ø¿ý©ñ¸mªº¸ô®|,0
init_dir=¥]§t¥D­n°_©l¤Æ©R¥O½Zªº¸ô®|,0
soft_links=³sµ²¨ì¥D­n©R¥O½ZªºÃþ«¬,1,0-µw³sµ²,1-³n³sµ² (²Å¸¹³sµ²)
order_digits=©R¥O¶¶§Çªº¦ì¸m,0
local_script=¥»¦aºÝ±Ò°Ê«ü¥O½Z,3
reboot_command=­«·s¶}¾÷ªº©R¥O,0
shutdown_command=Ãö³¬¨t²Îªº©R¥O,0
start_stop_msg=¨t²Î¬O§_¤ä´© ¶}¾÷/Ãö¾÷ °T®§,1,0-§_,1-¬O
inittab_id=¶}¾÷°õ¦æ¶¥¼h¦b inittab ¤¤ªº½s¸¹,0
daemons_dir=Caldera ¦uÅ@¾¹¥Ø¿ý,3,None
070701000002ca000081a40000000000000002000000013d1fe2bc00000028000000200000000000000000000000000000001600000003reloc/init/defaultacl bootup=1
reboot=1
shutdown=1
noconfig=0
070701000002cb000081e40000000000000002000000013d1fe2bc000005c1000000200000000000000000000000000000001600000003reloc/init/delboot.pl #!/usr/local/bin/perl
# delboot.pl
# Called by uninstall.sh to stop webmin being started at boot time

$no_acl_check++;
require './init-lib.pl';
if ($config{'darwin_setup'}) {
	# Remove from hostconfig file
	open(LOCAL, $config{'hostconfig'});
	@local = <LOCAL>;
	close(LOCAL);
	$start = "WEBMIN=-";
	open(LOCAL, ">$config{'hostconfig'}");
	print LOCAL grep { !/^$start/ } @local;
	close(LOCAL);
	print "Deleted from $config{'hostconfig'}\n";
	# get rid of the startup items
	$paramlist = "$config{'darwin_setup'}/Webmin/$config{'plist'}";
	$scriptfile = "$config{'darwin_setup'}/Webmin/Webmin";
	print "Deleting $config{'darwin_setup'}/Webmin ..";
	unlink ($paramlist);
	unlink ($scriptfile);
	print "\. ", rmdir ("$config{'darwin_setup'}/Webmin") ? "Success":"Failed", "\n";
	}
elsif (!$config{'init_base'}) {
	# Remove from boot time rc script
	open(LOCAL, $config{'local_script'});
	@local = <LOCAL>;
	close(LOCAL);
	$start = "$config_directory/start";
	open(LOCAL, ">$config{'local_script'}");
	print LOCAL grep { !/^$start/ } @local;
	close(LOCAL);
	print "Deleted from bootup script $config{'local_script'}\n";
	}
else {
	# Delete bootup action
	foreach (&action_levels('S', "webmin")) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action("webmin", $1, 'S');
		}
	foreach (&action_levels('K', "webmin")) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action("webmin", $1, 'K');
		}
	$fn = &action_filename("webmin");
	unlink($fn);
	print "Deleted init script $fn\n";
	}

   070701000002cc000081e40000000000000002000000013d1fe2bc00000340000000200000000000000000000000000000001d00000003reloc/init/delete_action.cgi  #!/usr/local/bin/perl
# delete_action.cgi
# Delete an existing action and remove it from all the runlevels

require './init-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'bootup'} || &error($text{'save_ecannot'});

if ($in{type} == 0) {
	# Deleting a normal action
	foreach (&action_levels('S', $in{action})) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action($in{action}, $1, 'S');
		}
	foreach (&action_levels('K', $in{action})) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action($in{action}, $1, 'K');
		}
	$file = &action_filename($in{action});
	}
elsif ($in{type} == 1) {
	# deleting an odd action
	$file = &runlevel_filename($in{runlevel}, $in{startstop},
				   $in{number}, $in{action});
	}
&lock_file($file);
unlink($file);
&unlock_file($file);
&webmin_log('delete', 'action', $in{'action'});
&redirect("");

070701000002cd000081e40000000000000002000000013d1fe2bb00001e7b000000200000000000000000000000000000001b00000003reloc/init/edit_action.cgi    #!/usr/local/bin/perl
# edit_action.cgi
# Edit or create a bootup action. Existing actions can either be in the
# init.d directory (and linked to from the appropriate runlevels), or
# just plain runlevel files

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error($text{'edit_ecannot'});

$ty = $ARGV[0];
if ($ty == 0) {
	# Editing an action in init.d, linked to from various runlevels
	$ac = $ARGV[1];
	&header($text{'edit_title'}, "");
	$file = &action_filename($ac);
	open(FILE, $file);
	while(<FILE>) {
		$data .= $_;
		if (/^\s*(['"]?)([a-z]+)\1\)/i) {
			$hasarg{$2}++;
			}
		}
	close(FILE);
	}
elsif ($ty == 1) {
	# Editing an action in one of the runlevels
	$rl = $ARGV[1];
	$num = $ARGV[2];
	$ac = $ARGV[3];
	$inode = $ARGV[4];
	$ss = $ARGV[5];
	&header($text{'edit_title'}, "");
	$file = &runlevel_filename($rl, $ss, $num, $ac);
	$data = `cat $file`;
	}
else {
	# Creating a new action in init.d
	&header($text{'create_title'}, "");
	}

print "<hr>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<form method=post action=save_action.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=type value=$ty>\n";
if ($ty != 2) {
	print "<input type=hidden name=old value=\"$ac\">\n";
	if ($ty == 1) {
		print "<input type=hidden name=runlevel value=\"$rl\">\n";
		print "<input type=hidden name=startstop value=\"$ss\">\n";
		print "<input type=hidden name=number value=\"$num\">\n";
		}
	}
print "<tr> <td><b>$text{'edit_name'}</b></td>\n";
if ($ac =~ /^\//) {
	print "<td><tt>$ac</tt></td> </tr>\n";
	print "<input type=hidden name=name value=\"$ac\">\n";
	print "<input type=hidden name=extra value=1>\n";
	}
else {
	print "<td><input size=20 name=name value=\"$ac\"></td> </tr>\n";
	}

$fs = "<font size=-1>"; $fe = "</font>";
if ($ty == 2) {
	# Display fields for a template
	print "<tr> <td valign=top><b>$text{'edit_desc'}</b></td>\n";
	print "<td>$fs<textarea rows=2 cols=80 name=desc>",
	      "</textarea>$fe</td> </tr>\n";

	if ($config{'start_stop_msg'}) {
		print "<tr> <td><b>$text{'edit_startmsg'}</b></td>\n";
		print "<td><input name=start_msg size=40></td> </tr>\n";

		print "<tr> <td><b>$text{'edit_stopmsg'}</b></td>\n";
		print "<td><input name=stop_msg size=40></td> </tr>\n";
		}

	print "<tr> <td valign=top><b>$text{'edit_start'}</b></td>\n";
	print "<td>$fs<textarea rows=5 cols=80 name=start>",
	      "</textarea>$fe</td> </tr>\n";

	print "<tr> <td valign=top><b>$text{'edit_stop'}</b></td>\n";
	print "<td>$fs<textarea rows=5 cols=80 name=stop>",
	      "</textarea>$fe</td> </tr>\n";
	}
else {
	# Allow direct editing of the script
	print "<tr> <td valign=top><b>$text{'edit_script'}</b></td>\n";
	print "<td>$fs<textarea rows=15 cols=80 name=data>",$data,
	      "</textarea>$fe</td> </tr>\n";
	}

if ($ty == 1) {
	# Display a message
	print "</table></td></tr></table><p>\n";
	print "<b>",&text("edit_bad$ss", $rl),"</b><br>\n";
	print "<a href=\"fix_action.cgi?$rl+$ss+$num+$ac\">",
	      "$text{'edit_fix'}</a>. <p>\n";
	}
elsif (!$config{'expert'}) {
	# Just tell the user if this action is started at boot time
	local $boot = 0;
	print "<tr> <td><b>$text{'edit_boot'}</b></td>\n";
	if ($ty == 0) {
		local @boot = &get_inittab_runlevel();
		foreach $s (&action_levels('S', $ac)) {
			local ($l, $p) = split(/\s+/, $s);
			$boot = 1 if (&indexof($l, @boot) >= 0);
			}
		if ($boot && $config{'daemons_dir'} &&
		    &read_env_file("$config{'daemons_dir'}/$ac", \%daemon)) {
			$boot = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
			}
		print "<input type=hidden name=oldboot value='$boot'>\n";
		}
	printf "<td><input name=boot type=radio value=1 %s> %s\n",
		$boot || $ty == 2 ? 'checked' : '', $text{'yes'};
	printf "<input name=boot type=radio value=0 %s> %s\n",
		$boot || $ty == 2 ? '' : 'checked', $text{'no'};
	if ($hasarg{'status'} && $config{'status_check'}) {
		# Show if action is currently running
		$out = `$file status`;
		print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",
		      "<b>$text{'edit_status'}</b>&nbsp;&nbsp;\n";
		if ($out =~ /running/i) {
			print $text{'yes'};
			}
		elsif ($out =~ /stopped/i) {
			print "<font color=#ff0000>$text{'no'}</font>";
			}
		else {
			print "<i>$text{'edit_unknown'}</i>";
			}
		}
	print "</td></tr> </table></td></tr></table>\n";
	}
else {
	if ($config{'daemons_dir'} && $ac &&
	    &read_env_file("$config{'daemons_dir'}/$ac", \%daemon)) {
		# Display onboot flag from daemons file
		$boot = lc($daemon{'ONBOOT'}) eq 'yes';
		print "<tr> <td><b>$text{'edit_boot'}</b></td>\n";
		printf "<td><input name=boot type=radio value=1 %s> %s\n",
			$boot ? 'checked' : '', $text{'yes'};
		printf "<input name=boot type=radio value=0 %s> %s</td></tr>\n",
			$boot ? '' : 'checked', $text{'no'};
		}

	# Display which runlevels the action is started/stopped in
	print "</table></td></tr></table><p>\n";

	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'edit_levels'}</b></td> </tr>\n";
	print "<tr $cb> <td><b><table>\n";
	if ($ac) {
		foreach $s (&action_levels('S', $ac)) {
			@s = split(/\s+/, $s);
			$spri{$s[0]} = $s[1];
			}
		foreach $k (&action_levels('K', $ac)) {
			@k = split(/\s+/, $k);
			$kpri{$k[0]} = $k[1];
			}
		}
	@boot = &get_inittab_runlevel();
	foreach $rl (&list_runlevels()) {
		print "<tr>\n" if (!$sw);
		if (&indexof($rl, @boot) == -1) {
			print "<td><b>",&text('edit_rl', $rl),"</b></td>\n";
			}
		else {
			print "<td><b><i>",&text('edit_rl', $rl),
			      "</i></b></td>\n";
			}

		$od = $config{'order_digits'};
		printf "<td><input type=checkbox name=S$rl value=1 %s>\n",
			defined($spri{$rl}) ? "checked" : "";
		print $text{'edit_startat'},"\n";
		print "<input name=pri_S$rl size=$od value=$spri{$rl}></td>\n";

		printf "<td><input type=checkbox name=K$rl value=1 %s>\n",
			defined($kpri{$rl}) ? "checked" : "";
		print $text{'edit_stopat'},"\n";
		print "<input name=pri_K$rl size=$od value=$kpri{$rl}></td>\n";
		print "</tr>\n" if ($sw);
		$sw = !$sw;
		}
	print "<td colspan=3><br></td> </tr>\n" if ($sw);
	print "</table></td></tr></table>\n";
	}

if ($ty != 2) {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";

	print "</form><form action=\"start_stop.cgi\">\n";
	print "<input type=hidden name=file value=\"$file\">\n";
	print "<input type=hidden name=name value=\"$ac\">\n";
	$args = join("+", @ARGV);
	print "<input type=hidden name=back value=\"edit_action.cgi?$args\">\n";
	print "<td align=center>\n";
	print "<input type=submit name=start value=\"$text{'edit_startnow'}\">\n";
	if ($hasarg{'restart'}) {
		print "<input type=submit name=restart value=\"$text{'edit_restartnow'}\">\n";
		}
	if ($hasarg{'condrestart'}) {
		print "<input type=submit name=condrestart value=\"$text{'edit_condrestartnow'}\">\n";
		}
	if ($hasarg{'reload'}) {
		print "<input type=submit name=reload value=\"$text{'edit_reloadnow'}\">\n";
		}
	if ($hasarg{'status'}) {
		print "<input type=submit name=status value=\"$text{'edit_statusnow'}\">\n";
		}
	print "<input type=submit name=stop value=\"$text{'edit_stopnow'}\">\n";
	print "</td>\n";

	print "</form><form action=\"delete_action.cgi\">\n";
	print "<input type=hidden name=type value=\"$ty\">\n";
	print "<input type=hidden name=action value=\"$ac\">\n";
	if ($ty == 1) {
		print "<input type=hidden name=runlevel value=\"$rl\">\n";
		print "<input type=hidden name=startstop value=\"$ss\">\n";
		print "<input type=hidden name=number value=\"$num\">\n";
		}
	print "<td align=right><input type=submit ",
	      "value=\"$text{'delete'}\"></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\"></form><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});


 070701000002ce000081e40000000000000002000000013d1fe2bc00001862000000200000000000000000000000000000001f00000003reloc/init/edit_hostconfig.cgi    #!/usr/local/bin/perl
# edit_hostconfig.cgi
#
# Edit the settings in the hostconfig file, or the
# StartupItems script or plist associated with the
# action described in the hostconfig file.
#
# Also create a new startup action with associated script and plist
# and manually modify hostconfig file.

require './init-lib.pl';
require './hostconfig-lib.pl';
use File::Basename;
%access = &get_module_acl();
$access{'bootup'} || &error($text{'edit_ecannot'});

$ty = $ARGV[0];
if ($ty == 0) {
	# Editing an existing action in /etc/hostconfig
	$action_to_edit = $ARGV[1];
	&header($text{'edit_title'}, "");
	%startuphash = &hostconfig_gather(startscript);
	$startscript = $startuphash{"$action_to_edit"};
	if ( $startscript ne "") {
		$startupdir = dirname("$startscript");
		$plistedit = "$startupdir/$config{'plist'}";
		}
	else {
		$plistedit = "";
		}

	#create the action edit table
	$actionedit = &hostconfig_editaction("$action_to_edit", "$startscript");
	print "<form action=modifyhostconfig.cgi method=post name=hostmod>\n";
	print "<table width=\"100%\" border><tr $tb> <td><b>", &text('index_action'), "</b></td>\n";
	print "<td><b>", &text('index_setting'), "</b></td></tr>\n";
	print "<tr $cb><td valign=middle>$action_to_edit</td>\n";
	print "<td>$actionedit</td></tr></table>\n";
	print "<input type=submit value='$text{'save'}'></form>\n";
	
	
	#create the edit file forms
	if ($startscript ne "") {
		print "<hr>\n";
		print &text('edit_hostconfig_startup',
			"<tt>$startscript</tt>"),"<br>\n";
		#	}
		print "<form action=save_startscript.cgi method=post>\n";
		print "<textarea name=startup rows=20 cols=80>";
		open(STARTSCRIPT, $startscript);
		while(<STARTSCRIPT>) { print; }
		close(STARTSCRIPT);
		print "</textarea><br>\n";
		print "<input type=hidden name=\"action\" value=\"$action_to_edit\">\n";
		print "<input type=submit value='$text{'save'}'></form>\n";
		}
	if ($plistedit ne "") {
		print "<hr>\n";
		print &text('edit_hostconfig_plist',
			"<tt>$plistedit</tt>"),"<br>\n";
		#	}
		print "<form action=save_startscript.cgi method=post>\n";
		print "<textarea name=plist rows=20 cols=80>";
		open(PLIST, $plistedit);
		while(<PLIST>) { print; }
		close(PLIST);
		print "</textarea><br>\n";
		print "<input type=hidden name=\"action\" value=\"$action_to_edit\">\n";
#		print "$plistedit</textarea><br>\n";
		print "<input type=submit value='$text{'save'}'></form>\n";
		}
	}

if ($ty == 1) {
	&header($text{'edit_hostconfig_new'}, "");
	print "<HR>\n";

	print "<P>\n", &text('edit_hostconfig_noquotes',
		"<tt>$text{'edit_start'}</tt>"),"\n";

	print "<P>\n", &text('edit_hostconfig_startitems',
		"<tt>$text{'edit_hostconfig_actionname'}</tt>",
		"<tt>$text{'edit_hostconfig_scriptname'}</tt>"),"\n";

	print "<P>\n", &text('edit_hostconfig_array',
		"<tt>Provides</tt>", "<tt>Requires</tt>", "<tt>Uses</tt>"),"\n";
	
	print "<P>\n $text{'edit_hostconfig_further'}\n";

	#print "<form method=post action=save_hostconfig_action.cgi enctype=multipart/form-data>\n";
	print "<form method=post action=save_hostconfig_action.cgi>\n";
	print "<table border>\n";
	print "<tr $tb><td><b>Action Details</b></td></tr>\n";
	print "<tr $cb><td><table cellpadding=3>\n";

	# create the form fields

	$textt=&hostconfig_createtext("Action Name","req");
	print "<tr>", &hostconfig_createtext("$text{'edit_hostconfig_actionname'}","req");
	print "<td><input size=20 name=action_name value=\"\"></td></tr>\n";
	
	print "<tr>", &hostconfig_createtext("$text{'edit_hostconfig_scriptname'}","req");
	print "<td><input size=20 name=script_name value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("$text{'edit_start'}","req");
	print "<td><font size=-1><textarea rows=5 cols=80 name=execute></textarea></font></td></tr>\n";

	print "<tr>", &hostconfig_createtext("$text{'index_desc'}","");
	print "<td><input size=60 name=description value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Provides","");
	print "<td><input size=60 name=provides value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Requires","");
	print "<td><input size=60 name=requires value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Uses","");
	print "<td><input size=60 name=uses value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("OrderPreference","");
	print "<td><SELECT name=order><option value=First>First<option value=Early>Early<option value=None selected>None<option value=Late>Late<option value=Last>Last</select></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Start Message","");
	print "<td><input size=60 name=start value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Stop Message","");
	print "<td><input size=60 name=stop value=\"\"></td></tr>\n";

	print "<tr>", &hostconfig_createtext("Start at boot time?","");
	print "<td><input name=boot type=radio value=\"-YES-\"> Yes\n";
	print "<input name=boot type=radio value=\"-NO-\" checked> No</td></tr>\n";

	print "<tr><td><font size=-1 color=#ff0000>* required field</font></td><td> </td></tr>\n";
	print "</table>";
	print "</td></tr></table>\n";
	print "<input type=submit value=\"Create\"></form>\n";

	}

if ($ty == 2) {
	
	&header($text{'edit_hostconfig_title'}, "");
	print &text('edit_hostconfig_hostconfig',
		"<tt>$config{'hostconfig'}</tt>"),"<br>\n";
	print "<form action=save_startscript.cgi method=post>\n";
	print "<textarea name=hostconfig rows=20 cols=80>";
	open(LOCAL, $config{'hostconfig'});
	while(<LOCAL>) { print; }
	close(LOCAL);
	print "</textarea><br>\n";
	print "<input type=submit value='$text{'save'}'></form>\n";
	print "<hr>\n";

	#add reboot and shutdown messages to this page as well...
	print "<table cellpadding=5 width=100%>\n";
	if ($access{'reboot'}) {
		print "<form action=reboot.cgi>\n";
		print "<tr> <td><input type=submit ",
			"value=\"$text{'index_reboot'}\"></td>\n";
		print "</form>\n";
		print "<td>$text{'index_rebootmsg'}</td> </tr>\n";
		}

	if ($access{'shutdown'}) {
		print "<form action=shutdown.cgi>\n";
		print "<tr> <td><input type=submit ",
			"value=\"$text{'index_shutdown'}\"></td>\n";
		print "</form>\n";
		print "<td>$text{'index_shutdownmsg'}</td> </tr>\n";
		}
	print "</table>\n";
	}
	
print "<hr>\n";
&footer("", $text{'index_return'});
  070701000002cf000081e40000000000000002000000013d1fe2bc00000276000000200000000000000000000000000000001a00000003reloc/init/fix_action.cgi #!/usr/local/bin/perl
# fix_action.cgi
# Convert an action from a run-level file to a proper action in init.d

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error("You are not allowed to edit bootup actions");
$rl = $ARGV[0];
$ss = $ARGV[1];
$num = $ARGV[2];
$ac = $ARGV[3];

$oldfile = &runlevel_filename($rl, $ss, $num, $ac);
$newfile = &action_filename($ac);
while(-r $newfile) {
	if ($ac =~ /^(.*)_([0-9]+)$/) { $ac = "$1_".($2+1); }
	else { $ac = $ac."_1"; }
	$newfile = &action_filename($ac);
	}
`mv $oldfile $newfile`;
&add_rl_action($ac, $rl, $ss, $num);
&redirect("edit_action.cgi?0+$ac");

  07070100001916000041ed0000000000000001000000023d1ffa5d00000000000000200000000000000000000000000000001000000003reloc/init/help   07070100001917000081a40000000000000002000000013d1fe2bc000000cb000000200000000000000000000000000000001d00000003reloc/init/help/help.ca.html  <body bgcolor=#ffffff>
<h1>L'ajuda d'aquest mòdul encara no està feta</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 

 07070100001918000081a40000000000000002000000013d1fe2bc000000dd000000200000000000000000000000000000001d00000003reloc/init/help/help.de.html  <body bgcolor=#ffffff>
<h1>Hilfe f&uuml;r dieses Modul ist noch nicht verf&uuml;gbar</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Zur&uuml;ck zum Modul</a><p>   07070100001919000081a40000000000000002000000013d1fe2bc000000d4000000200000000000000000000000000000001d00000003reloc/init/help/help.es.html  <body bgcolor=#ffffff>
<h1>Aún no existe ayuda disponible para este módulo</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Regresar al módulo</a><p>
 

0707010000191a000081a40000000000000002000000013d1fe2bc000000c7000000200000000000000000000000000000001a00000003reloc/init/help/help.html <body bgcolor=#ffffff>
<h1>Help for this module is not done yet</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 0707010000191b000081a40000000000000002000000013d1fe2bc000000cc000000200000000000000000000000000000001d00000003reloc/init/help/help.sv.html  <body bgcolor=#ffffff>
<h1>Det finns ingen hjälp till denna modul än</h1>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

0707010000191c000081a40000000000000002000000013d1fe2bc0000004c000000200000000000000000000000000000001d00000003reloc/init/help/proc.ca.html  <body bgcolor=#ffffff>
<h1>L'ajuda d'aquest mòdul encara no està feta</h1>

0707010000191d000081a40000000000000002000000013d1fe2bc00000059000000200000000000000000000000000000001d00000003reloc/init/help/proc.de.html  <body bgcolor=#ffffff>
<h1>Hilfe f&uuml;r dieses Modul ist noch nicht verf&uuml;gbar</h1>   0707010000191e000081a40000000000000002000000013d1fe2bc0000004e000000200000000000000000000000000000001d00000003reloc/init/help/proc.es.html  <body bgcolor=#ffffff>
<h1>Aún no hay ayuda disponible para este módulo</h1>

  0707010000191f000081a40000000000000002000000013d1fe2bc00000046000000200000000000000000000000000000001a00000003reloc/init/help/proc.html <body bgcolor=#ffffff>
<h1>Help for this module is not done yet</h1>

  07070100001920000081a40000000000000002000000013d1fe2bc0000004c000000200000000000000000000000000000001d00000003reloc/init/help/proc.sv.html  <body bgcolor=#ffffff>
<h1>Det finns ingen hjälp till denna modul än</h1>


070701000002d0000081e40000000000000002000000013d1fe2bc00002267000000200000000000000000000000000000001d00000003reloc/init/hostconfig-lib.pl  #!/usr/local/bin/perl
# hostconfig-lib.pl

# These are functions specific to the hostconfig file
# used by darwin

# written by Michael A. Peters <mpeters@mac.com>

sub hostconfig_settings
{
####
#
# This subroutine reads the hostconfig file into an array
# and outputs a second array containing matched pairs of
# the startup action and what the startup action is set to
#
####
local($conffile, @hconf);
$conffile = "$config{'hostconfig'}";
open(LOCAL, $conffile);
@conf = <LOCAL>;
close(LOCAL);
@conf = grep /^\w/, @conf;
while (<@conf>) {
	push @hconf, [ split /=/ ];
	}
return @hconf;
}

sub hostconfig_gather
{
####
#
# Gathers information about an action item that is set in the hostconfig
# file.
#
# It takes one arguement- the type of info wanted (description or 
# scriptname)
#
# It outputs a hash where the action item is the key, and what was 
# requested is the value.
#
# Thus, we can use the hash to find out what startup script is 
# associated with the MAILSERVER action or what description goes with 
# that action.
#
# Originally I wanted to output an array with two elements where the 
# first was one type of hash, and the second element was the second type # of hash, but I couldn't get that to work (array of hashes)
#
####
local ($hash_type, @startupdir, $plist, @action_to_description, @action_to_script, @sec_action_to_description, @sec_action_to_script, $element, @ls, @script, $a, $action_name, @param, $description);

my($hash_type) = @_;
@startupdir = ();
@startupdir = split (/:/, $config{'startup_dirs'});
$plist = $config{'plist'};
@action_to_description = ();
@action_to_script = ();
@sec_action_to_description = ();
@sec_action_to_script = ();

foreach $element (@startupdir) {
	if ( -d "$element" ) {
		opendir (LOCAL, $element);
		@ls = readdir LOCAL;
		closedir LOCAL;
		shift @ls; shift @ls;
		foreach $a (@ls) {
			#we need BOTH an executable and a plist- or its useless.
			#executable script has to be in a directory of the same
			#name for some reason
			if (( -x "$element/$a/$a") && ( -e "$element/$a/$plist")) {
				#Get the startup action associated with script
				open (SCRIPT, "$element/$a/$a");
				@script = <SCRIPT>;
				close SCRIPT;
				@script = grep /:=/, @script;
				#  we are looking at a line in the script that looks like:
				#if [ "${WEBMIN:=-NO-}" = "-YES-" ]; then
				#  and we want to extract the WEBMIN part as the action_name
				if ( $script[0] =~ /\$\{(.*):/ ) {
					$action_name = $1;
					}
				else {
					#shouldn't happen
					$action_name = "";
					}
				open (PLIST, "$element/$a/$plist");
				@param = <PLIST>;
				close PLIST;
				@param = grep /Description[ \t]*=/, @param;
				#  we are looking at a line in the plist that looks like:
				#\t\tDescription\t\t= "Webmin System Administration Daemon";
				#  and we want to extract the contents of the quotes
				if ( $param[0] =~ /\"(.*)\"/ ) {
					$description = $1;
					}
				else {
					$description = "";
					}
				# make the primary hash
				if ( $action_name ne "" ) {
					$action_to_description{$action_name} = "$description";
					$action_to_script{$action_name} = "$element/$a/$a";
					}
				# make the secondary hash
				shift @script;
				if ( $script[0] ne "" ) {
					foreach $secondary (@script) {
						if ( $secondary =~ /\$\{(.*):/ ) {
							$action_name = $1;
							$sec_action_to_description{$action_name} = "$description";
							$sec_action_to_script{$action_name} = "$element/$a/$a";
							}
						}
					}
				} #ends the: if (( -x "$element/$a/$a") && ( -e "$element/$a/$plist")
			} #ends the: foreach $a (@ls)
		} #ends the: if ( -d "$element" )
	} #ends the: foreach $element (@startupdir)
	
# now we have two sets of each hash
# elements in sec_blah that are not already in blah
# need to be integrated into blah
#
# We have to do this because some scripts use several action_name just 
# for that particular script, and sometimes what one action is set to is 
# used in how another script acts even though that is not the action for # that script.
#
# Thus, if a action_item is in the secondary array and is not in the
# primary, we know that it is a case where more than one action belongs
# to a script- but if its in both, the action probably belongs to the
# script in the primary.

while (($key,$value) = each %action_to_description) {
	$sec_action_to_description{$key} = "$value";
	}
while (($key,$value) = each %action_to_script) {
	$sec_action_to_script{$key} = "$value";
	}
	
if ( $hash_type eq "description" ) {
	return %sec_action_to_description;
	}
elsif ( $hash_type eq "startscript" ) {
	return %sec_action_to_script;
	}

}

sub hostconfig_table
{
####
#
# This sub writes a table row in html for index.cgi.
# It takes the startup action, setting, and provides
# as its arguements- and outputs a string.
#
####
local($ahref, $setting, $link, $description);
my($ahref, $setting, $description) = @_;
$link = "<td><a href=\"edit_hostconfig.cgi?0+$ahref\">$ahref</a></td>";
if ( $setting eq "-NO-" ) {
	$setting = "<td><FONT color=#ff0000>$setting</font></td>";
	}
elsif ( $setting ne "" ) {
	$setting = "<td>$setting</td>";
	}
else {
	$setting = "<td>&nbsp;</td>"
	}
if ( $description ne "" ) {
	$description = "<td>$description</td>";
	}
else {
	$description = "<td>&nbsp;</td>";
	}
if ( $ahref ne "" ) {
	return "<tr $cb>\n$link\n$setting\n$description\n</tr>\n";
	}
else {
	return "<!-- this is annoying- I'll have to track it down.. -->";
	}
}

sub hostconfig_editaction
{
####
#
# This sub takes either one or two arguements- the first (action name)
# is required, the second is the StartupItems script affected by
# the setting of the action. 
#
# If there is no script, the current setting is used as the default in
# a text field for editing.
#
# If there is a script, but the setting is something like automatic in 
# the Network script where there isn't an alternative, then radio button # choice between the defined setting and a custom one is offered.
#
# If, as is the case with most scripts, there is a -NO- and -YES- 
# option, then those two choices are offered as a radio button option 
# and a text box option just in case a custom answer is needed.
#
# Returns a string
#
####
local(@sconf, @sfile, @possible_settings, $current, $setting, $line, $option_selected, $buttons, $pre);
my($action_item, $startupfile) = @_;

# get current setting
$line = "$config{'hostconfig'}";
open(HCONF, $line);
@sconf = <HCONF>;
close(HCONF);
@sconf = grep /^$action_item=/, @sconf;
($dontcare, $current) = split(/=/, $sconf[0]);
if ( $current eq "" ) {
	$current = "udefined";
	}
#get rid of quotes
$current =~ s/\"//g;
$current =~ s/\n//;

@possible_settings = ();
$option_selected = "";
$buttons = "";
$option_selected = "";

# get possible settings
if ( $startupfile ne "" ) {
	open(LOCAL, $startupfile);
	@sfile = <LOCAL>;
	close(LOCAL);
	#
	# I really need to write a parser to get
	# this done- so that I can deal with
	# case options.
	#
	# But this is better than nothing...
	#
	@sfile = grep /\{$action_item:=/, @sfile;
	for $element (@sfile) {
		# We are looking at a line that looks like
		#if [ "${WEBMIN:=-NO-}" = "-YES-" ]; then
		# We want the -NO- and -YES-
		if ( $element =~ /\"\$\{$action_item:=(.*)\}\"[ \t]*=[ \t]*\"(.*)\"/ ) {
			push @possible_settings, ($1, $2);
			}
		}
	# get rid of duplicate entries
	%unique = map { $_ => 1 } @possible_settings;
	@possible_settings = keys %unique;
	} # end of :if ( $startupfile ne "" )
	
if ( $possible_settings[0] eq "" ) {
	$buttons = "<input type=text name=choice value=\"$current\">";
	}
else {
	foreach $setting (@possible_settings) {
		if ( $setting ne $current ) {
			if ( $buttons eq "" ) {
				$pre = "";
				}
			else {
				$pre = "$buttons<br>\n";
				}
			$buttons = "$pre<input type=radio name=choice value=\"$setting\">$setting";
			}
		else {
			$option_selected = "yes";
			if ( $buttons eq "" ) {
				$pre = "";
				}
			else {
				$pre = "$buttons<br>\n";
				}
			$buttons = "$pre<input type=radio name=choice value=\"$setting\" checked>$setting";
			}
		} #end foreach
	# add custom text option
	if ( $option_selected eq "yes" ) {
		$buttons = "$buttons<br>\n<input type=radio name=choice value=custom> <input type=text name=custom size=60 value=\"\">";
		}
	else {
		$buttons = "$buttons<br>\n<input type=radio name=choice value=custom checked> <input type=text name=custom size=60 value=\"$current\">";
		}
	}
# add hidden value
$buttons = "$buttons\n<input type=hidden name=action value=$action_item>\n";
	
return $buttons;

}

sub hostconfig_createtext
{
# simply outputs the text in the create new action table
my($text_line,$required_field) = @_;
if ( $required_field ne "" ) {
	$output="<td><font size=-1 color=#ff0000>*</font><b>$text_line</b></td>\n";
	}
else {
	$output="<td><b>$text_line</b></td>\n";
	}
return $output;
}
1;
 0707010000308f000041ed0000000000000001000000023d1ffa5d00000000000000200000000000000000000000000000001200000003reloc/init/images 07070100003090000081a40000000000000002000000013d1fe2bc00000185000000200000000000000000000000000000001b00000003reloc/init/images/icon.gif    GIF89a0 0 ã  ÿÿÿÌÌÌ   ÌÌÿH£ÿ²Mz™™™®²Ãfffÿ                    !ù    ,    0 0  þÈI«½8ÓÀ»ÿŸ&^`YŽèÄ	lë¾—¦+l³ò<Ö7œë^Ïõb„C\ ð2nÉWQÒr"“SŠÀxfµÀnïž‰oä2êlK«ElßµÝ™îîwŸÕu'NT@…††‚ƒp| @{…Œ1st.A‡™‘:U—š™Žv ¡†£‰ª‹Œ¥­©žk¸¹º»iM¶ÂÃÃ¼y°‹ÁÄÄÆ”´€·ÓÔÍ#È{ÑÕÔ×»yŠvÁÝÓèéáâ—äåçéèëTÚOîÝúúóõ8([&l?ÿX¸¥ë€Á‡ýœ9j"°áCƒWU¨˜+žGy3WÉr¥1àÈY%-J9âÔ –GN†ÔhŠQ‚3Ebr9 ÀÍœª:ðìÉ	& ¡<Q ;   070701000002d1000081e40000000000000002000000013d1fe2bc00001a2e000000200000000000000000000000000000001500000003reloc/init/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display a list of run-levels and the actions that are run at boot and
# shutdown time for each level

require './init-lib.pl';
require './hostconfig-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1);
%access = &get_module_acl();
print "<hr>\n";

if ($config{'hostconfig'} && $access{'bootup'}) {
	# This hostconfig if block written by Michael A. Peters <mpeters@mac.com>
	# for OSX/Darwin.
	# build hostconfig table 
	
	@hconf_set = &hostconfig_settings();
	%description_list = &hostconfig_gather(description);
	
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>", &text('index_action'), "</b></td>\n";
	print "<td><b>", &text('index_setting'), "</b></td>\n";
	print "<td> <b>", &text('index_desc'), "</b></td> </tr>\n";
	$i = 0;
	while (<@hconf_set>) {
		$action_description = $description_list{"$hconf_set[$i][0]"};
		print &hostconfig_table($hconf_set[$i][0], $hconf_set[$i][1], $action_description);
		$i++;
		}
	print "</table>\n";
	print "<a href='edit_hostconfig.cgi?1'>$text{'index_add_mac'}</a><br>\n";
	print "<a href='edit_hostconfig.cgi?2'>", &text('index_editconfig',
		"<tt>$config{'hostconfig'}</tt>"),"</a><P>\n";
	print "<hr>\n"; 
	}

if ($config{'init_base'} && $access{'bootup'}) {
	# build list of normal and broken actions
	@iacts = &list_actions();
	foreach $a (@iacts) {
		@ac = split(/\s+/, $a);
		$nodemap{$ac[1]} = $ac[0];
		push(@acts, $ac[0]);
		push(@actsl, "0+$ac[0]");
		push(@actsf, $ac[0] =~ /^\// ? $ac[0]
					     : "$config{'init_dir'}/$ac[0]");
		}
	@runlevels = &list_runlevels();
	foreach $r (@runlevels) {
		foreach $w ("S", "K") {
			foreach $a (&runlevel_actions($r, $w)) {
				@ac = split(/\s+/, $a);
				if (!$nodemap{$ac[2]}) {
					push(@acts, $ac[1]);
					push(@actsl,
					     "1+$r+$ac[0]+$ac[1]+$ac[2]+$w");
					push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]");
					}
				}
			}
		}
	@boot = &get_inittab_runlevel();

	print "<a href='edit_action.cgi?2'>$text{'index_add'}</a><br>\n";
	if (!$config{'desc'}) {
		# Display actions by name only
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'index_title'}</b></td> </tr>\n";
		print "<tr $cb> <td><table width=100%>\n";
		$len = @acts; $len = int(($len+3)/4)*4;
		for($i=0; $i<$len; $i++) {
			if ($i%4 == 0) { print "<tr>\n"; }
			print "<td width=25%>";
			if ($acts[$i]) {
				print "<a href=\"edit_action.cgi?$actsl[$i]\">",
				      "$acts[$i]</a>\n";
				}
			print "</td>\n";
			if ($i%4 == 3) { print "</tr>\n"; }
			}
		print "</table></td></tr></table>\n";
		}
	else {
		# Display actions and descriptions
		print "<form action=mass_start_stop.cgi>\n";
		print "<table border width=100%>\n";
		print "<tr $tb> <td>&nbsp;</td>\n";
		print "<td><b>$text{'index_action'}</b></td>\n";
		if ($config{'desc'} == 2) {
			print "<td nowrap><b>$text{'index_levels'}</b></td>\n";
			}
		else {
			print "<td nowrap><b>$text{'index_boot'}</b></td>\n";
			}
		if ($config{'status_check'} == 2) {
			print "<td nowrap><b>$text{'index_status'}</b></td> ";
			}
		print "<td><b>$text{'index_desc'}</b></td> </tr>\n";
		for($i=0; $i<@acts; $i++) {
			local ($boot, %daemon, @levels);
			foreach $s (&action_levels('S', $acts[$i])) {
				local ($l, $p) = split(/\s+/, $s);
				$boot = 1 if (&indexof($l, @boot) >= 0);
				push(@levels, &indexof($l, @boot) >= 0 ?
				  "<font color=#ff0000>$l</font>" : $l);
				}
			if ($boot && $config{'daemons_dir'} &&
			    &read_env_file("$config{'daemons_dir'}/$acts[$i]",
					   \%daemon)) {
				$boot = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
				}
			print "<tr $cb>\n";
			if ($actsl[$i] =~ /^0/) {
				print "<td><input type=checkbox name=idx ",
				      "value='$i'></td>\n";
				}
			else {
				print "<td>&nbsp;</td>\n";
				}
			print "<td><a href=\"edit_action.cgi?",
			      "$actsl[$i]\">$acts[$i]</a></td>\n";
			local %has;
			$d = &html_escape(&init_description($actsf[$i],
				 $config{'status_check'} == 2 ? \%has : undef));
			if ($config{'desc'} == 2) {
				print "<td>",@levels ? join(" ", @levels) :
						       "<br>","</td>\n";
				}
			else {
				print "<td>", $boot ? $text{'yes'} :
				      "<font color=#ff0000>$text{'no'}</font>",
				      "</td>\n";
				}
			if ($config{'status_check'} == 2) {
				print "<td>\n";
				if ($actsl[$i] =~ /^0/) {
					local $out = $has{'status'} ?
						`$actsf[$i] status` : '';
					if ($out =~ /running/i) {
						print $text{'yes'};
						}
					elsif ($out =~ /stopped/i) {
						print "<font color=#ff0000>",
						      "$text{'no'}</font>";
						}
					else {
						print "<br>";
						}
					}
				else {
					print "&nbsp;";
					}
				print "</td>\n";
				}
			print "<td>",$d ? $d : "<br>","</td>\n";
			print "</tr>\n";
			}
		print "</table>\n";
		}
	print "<input type=submit name=start value='$text{'index_start'}'>\n";
	print "<input type=submit name=stop value='$text{'index_stop'}'>\n";
	print "</form>\n";
	print "<a href='edit_action.cgi?2'>$text{'index_add'}</a><p>\n";
	print "<hr>\n";

	# Show runlevel switch form
	print "<form action=change_rl.cgi>\n";
	print "<table width=100%>\n";

	print "<tr> <td nowrap><input type=submit ",
	      "value='$text{'index_rlchange'}'>\n";
	print "<select name=level>\n";
	foreach $r (@runlevels) {
		printf "<option %s>%s\n",
			$r eq $boot[0] ? "selected" : "", $r;
		}
	print "</select></td> <td>$text{'index_rlchangedesc'}</td> </tr>\n";

	print "</table></form><hr>\n";
	}
elsif ($config{'local_script'} && $access{'bootup'}) {
	# Display local bootup script
	if ($config{'hostconfig'}) {
		# This means a darwin system where
		# daemons are not started in the rc script
		print &text('index_script_mac',
			"<tt>$config{'local_script'}</tt>"),"<br>\n";
		}
	else {
		print &text('index_script',
			"<tt>$config{'local_script'}</tt>"),"<br>\n";
		}
	print "<form action=save_local.cgi method=post>\n";
	print "<textarea name=local rows=20 cols=80>";
	open(LOCAL, $config{'local_script'});
	while(<LOCAL>) { print; }
	close(LOCAL);
	print "</textarea><br>\n";
	print "<input type=submit value='$text{'save'}'></form>\n";
	print "<hr>\n";
	}

# reboot/shutdown buttons
print "<table cellpadding=5 width=100%>\n";
if ($access{'reboot'}) {
	print "<form action=reboot.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value=\"$text{'index_reboot'}\"></td>\n";
	print "</form>\n";
	print "<td>$text{'index_rebootmsg'}</td> </tr>\n";
	}

if ($access{'shutdown'}) {
	print "<form action=shutdown.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value=\"$text{'index_shutdown'}\"></td>\n";
	print "</form>\n";
	print "<td>$text{'index_shutdownmsg'}</td> </tr>\n";
	}
print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  070701000002d2000081e40000000000000002000000013d1fe2bc00001e83000000200000000000000000000000000000001700000003reloc/init/init-lib.pl    # init-lib.pl
# Common functions for SYSV-style boot/shutdown sequences.
# These functions assume that under a directory (like /etc/ or /etc/rc.d/)
# there is a directory called rcX.d for each runlevel X. In each runlevel
# directory is a list of files with names like S64foobar or K99smeg, where
# the first letter is S (for commands run at boot time) or K (shutdown time),
# the next 2 digits the execution order and the rest the action name.
#
# Typically, each runlevel file is linked (hard or soft) to a file in
# the directory init.d. Each file in init.d may have several links to it from
# different runlevels (for startup and shutdown). However, some runlevel
# files may not be links at all.

do '../web-lib.pl';
&init_config();

# runlevel_actions(level, S|K)
# Return a list of actions started or stopped in some run-level, each in
# the format:
#  number name inode
sub runlevel_actions
{
local($dir, $f, @stbuf, @rv);
$dir = "$config{init_base}/rc$_[0].d";
opendir(DIR, $dir);
foreach $f (readdir(DIR)) {
	if ($f !~ /^([A-Z])(\d+)(.*)$/ || $1 ne $_[1]) { next; }
	if (!(@stbuf = stat("$dir/$f"))) { next; }
	push(@rv, "$2 $3 $stbuf[1]");
	}
closedir(DIR);
@rv = sort { @a = split(/\s/,$a); @b = split(/\s/,$b); $a[0] <=> $b[0]; } @rv;
return $_[1] eq "S" ? @rv : reverse(@rv);
}


# list_runlevels()
# Returns a list of known runlevels
sub list_runlevels
{
local(@rv);
opendir(DIR, $config{init_base});
foreach (readdir(DIR)) {
	if (/^rc([A-z0-9])\.d$/) {
		#if (!$config{show_opts} && $1 < 1) { next; }
		push(@rv, $1);
		}
	}
closedir(DIR);
return sort(@rv);
}


# list_actions()
# List boot time actions from init.d
sub list_actions
{
local($dir, $f, @stbuf, @rv);
$dir = $config{init_dir};
opendir(DIR, $dir);
foreach $f (sort { $a cmp $b } readdir(DIR)) {
	if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" ||
	    $f eq "core" || $f eq "README" || $f eq "rc" || $f eq "rcS" ||
	    -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" ||
	    $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/) { next; }
	if (@stbuf = stat("$dir/$f")) {
		push(@rv, "$f $stbuf[1]");
		}
	}
closedir(DIR);
foreach $f (split(/\s+/, $config{'extra_init'})) {
	if (@stbuf = stat($f)) {
		push(@rv, "$f $stbuf[1]");
		}
	}
return @rv;
}


# action_levels(S|K, action)
# Return a list of run levels in which some action (from init.d) is started
# or stopped. Each item is in the format:
#  level order name
sub action_levels
{
local(@stbuf, $rl, $dir, $f, @stbuf2, @rv);
@stbuf = stat(&action_filename($_[1]));
foreach $rl (&list_runlevels()) {
	$dir = "$config{init_base}/rc$rl.d";
	opendir(DIR, $dir);
	foreach $f (readdir(DIR)) {
		if ($f =~ /^([A-Z])(\d+)(.*)$/ && $1 eq $_[0]) {
			@stbuf2 = stat("$dir/$f");
			if ($stbuf[1] == $stbuf2[1]) {
				push(@rv, "$rl $2 $3");
				last;
				}
			}
		}
	closedir(DIR);
	}
return @rv;
}


# action_filename(name)
# Returns the name of the file in init.d for some action
sub action_filename
{
return $_[0] =~ /^\// ? $_[0] : "$config{init_dir}/$_[0]";
}


# runlevel_filename(level, S|K, order, name)
sub runlevel_filename
{
local $n = $_[3];
$n =~ s/^(.*)\///;
return "$config{init_base}/rc$_[0].d/$_[1]$_[2]$n";
}


# add_rl_action(action, runlevel, S|K, order)
# Add some existing action to a runlevel
sub add_rl_action
{
$file = &runlevel_filename($_[1], $_[2], $_[3], $_[0]);
while(-r $file) {
	if ($file =~ /^(.*)_(\d+)$/) { $file = "$1_".($2+1); }
	else { $file = $file."_1"; }
	}
&lock_file($file);
if ($config{soft_links}) {
	symlink(&action_filename($_[0]), $file);
	}
else {
	link(&action_filename($_[0]), $file);
	}
&unlock_file($file);
}


# delete_rl_action(name, runlevel, S|K)
# Delete some action from a runlevel
sub delete_rl_action
{
local(@stbuf, $dir, $f, @stbuf2);
@stbuf = stat(&action_filename($_[0]));
$dir = "$config{init_base}/rc$_[1].d";
opendir(DIR, $dir);
foreach $f (readdir(DIR)) {
	if ($f =~ /^([A-Z])(\d+)(.+)$/ && $1 eq $_[2]) {
		@stbuf2 = stat("$dir/$f");
		if ($stbuf[1] == $stbuf2[1]) {
			# found file to delete.. unlink
			&lock_file("$dir/$f");
			unlink("$dir/$f");
			&unlock_file("$dir/$f");
			last;
			}
		}
	}
closedir(DIR);
}


# reorder_rl_action(name, runlevel, S|K, new_order)
sub reorder_rl_action
{
local(@stbuf, $dir, $f, @stbuf2);
@stbuf = stat(&action_filename($_[0]));
$dir = "$config{init_base}/rc$_[1].d";
opendir(DIR, $dir);
foreach $f (readdir(DIR)) {
	if ($f =~ /^([A-Z])(\d+)(.+)$/ && $1 eq $_[2]) {
		@stbuf2 = stat("$dir/$f");
		if ($stbuf[1] == $stbuf2[1]) {
			# Found file that needs renaming
			$file = "$config{init_base}/rc$_[1].d/$1$_[3]$3";
			while(-r $file) {
				if ($file =~ /^(.*)_(\d+)$/)
					{ $file = "$1_".($2+1); }
				else { $file = $file."_1"; }
				}
			&rename_logged("$dir/$f", $file);
			last;
			}
		}
	}
closedir(DIR);
}


# rename_action(old, new)
# Change the name of an action in init.d, and re-direct all soft links
# to it from the runlevel directories
sub rename_action
{
local($file, $idx, $old);
foreach (&action_levels('S', $_[0])) {
	/^(\S+)\s+(\S+)\s+(\S+)$/;
	$file = "$config{init_base}/rc$1.d/S$2$3";
	if (readlink($file)) {
		# File is a symbolic link.. change it
		&lock_file($file);
		unlink($file);
		symlink("$config{init_dir}/$_[1]", $file);
		&unlock_file($file);
		}
	if (($idx = index($file, $_[0])) != -1) {
		$old = $file;
		substr($file, $idx, length($_[0])) = $_[1];
		&rename_logged($old, $file);
		}
	}
foreach (&action_levels('K', $_[0])) {
	/^(\S+)\s+(\S+)\s+(\S+)$/;
	$file = "$config{init_base}/rc$1.d/K$2$3";
	if (readlink($file)) {
		# File is a symbolic link.. change it
		&lock_file($file);
		unlink($file);
		symlink("$config{init_dir}/$_[1]", $file);
		&unlock_file($file);
		}
	if (($idx = index($file, $_[0])) != -1) {
		$old = $file;
		substr($file, $idx, length($_[0])) = $_[1];
		&rename_logged($old, $file);
		}
	}
&rename_logged("$config{init_dir}/$_[0]", "$config{init_dir}/$_[1]");
}


# rename_rl_action(runlevel, S|K, order, old, new)
# Change the name of a runlevel file
sub rename_rl_action
{
&rename_logged("$config{init_base}/rc$_[0].d/$_[1]$_[2]$_[3]",
               "$config{init_base}/rc$_[0].d/$_[1]$_[2]$_[4]");
}

# get_inittab_runlevel()
# Returns the runlevels entered at boot time
sub get_inittab_runlevel
{
local %iconfig = &foreign_config("inittab");
local @rv;
local $id = $config{'inittab_id'};
open(TAB, $iconfig{'inittab_file'});
while(<TAB>) {
	if (/^$id:(\d+):/) { @rv = ( $1 ); }
	}
close(TAB);
if ($config{"inittab_rl_$rv[0]"}) {
	@rv = split(/,/, $config{"inittab_rl_$rv[0]"});
	}
return @rv;
}

# init_description(file, \%hasargs)
sub init_description
{
open(FILE, $_[0]);
local @lines = <FILE>;
close(FILE);
if ($_[1]) {
	foreach (@lines) {
		if (/^\s*(['"]?)([a-z]+)\1\)/i) {
			$_[1]->{$2}++;
			}
		}
	}

local $desc;
if ($config{'daemons_dir'}) {
	# First try the daemons file
	local %daemon;
	if ($_[0] =~ /\/([^\/]+)$/ &&
	    &read_env_file("$config{'daemons_dir'}/$1", \%daemon) &&
	    $daemon{'DESCRIPTIVE'}) {
		return $daemon{'DESCRIPTIVE'};
		}
	}
if ($config{'chkconfig'}) {
	# Find the redhat-style description: section
	foreach (@lines) {
		s/\r|\n//g;
		if (/^#+\s*description:(.*?)(\\?$)/) {
			$desc = $1;
			}
		elsif (/^#+\s*(.*?)(\\?$)/ && $desc && $1) {
			$desc .= "\n".$1;
			}
		if ($desc && !$2) {
			last;
			}
		}
	}
elsif ($config{'init_info'}) {
	# Find the suse-style Description: line
	foreach (@lines) {
		s/\r|\n//g;
		if (/^#\s*Description:\s*(.*)/) {
			$desc = $1;
			}
		}
	}
else {
	# Use the first comments
	foreach (@lines) {
		s/\r|\n//g;
		next if (/^#!\s*\/(bin|sbin|usr)\// || /\$id/i || /^#+\s+@/ ||
			 /source function library/i || /^#+\s*copyright/i);
		if (/^#+\s*(.*)/) {
			last if ($desc && !$1);
			$desc .= $1."\n" if ($1);
			}
		elsif (/\S/) { last; }
		}
	$_[0] =~ /\/([^\/]+)$/;
	$desc =~ s/^\s*$1\s+//;
	}
return $desc;
}

1;

 070701000048aa000041ed0000000000000001000000023d1ffa5e00000000000000200000000000000000000000000000001000000003reloc/init/lang   070701000048ab000081a40000000000000002000000013d1fe2bc00001776000000200000000000000000000000000000001300000003reloc/init/lang/ca    index_title=Engegada i Tancament
index_add=Crea una nova acció d'engegada i tancament
index_reboot=Reengega el Sistema
index_rebootmsg=Fes clic sobre aquest botó per reengegar el sistema immediatament. Tots els usuaris actualment connectats seran desconnectats i tots el serveis reiniciats.
index_shutdown=Tanca el Sistema
index_shutdownmsg=Fes clic sobre aquest botó per tancar el sistema immediatament. S'aturaran tots els serveis,  tots els usuaris seran desconnectats i s'apagarà la màquina (si el maquinari ho suporta).
index_script=El script $1 llistat a sota s'executarà en engegar. Pots afegir-hi les teves pròpies ordres per engegar dimonis o serveis quan es reengega el sistema.
index_return=a les accions d'engegada i tancament
index_action=Acció
index_desc=Descripció
index_boot=Inicia-la en engegar
index_levels=Inicia-la als nivells d'execució
index_status=Inicia-la ara
index_add_mac=Afegeix un nou script d'engegada
index_provides=Subministra
index_setting=Estableix
index_script_mac=El script $1 llistat a sota s'executarà en engegar el sistema. No obstant, et suggerim que afegeixis al directori d'inici les teves pròpies ordres per iniciar dimonis o servidors en engegar.
index_editconfig=Edita el fitxer $1 manualment
index_stop=Atura els Seleccionats
index_start=Inicia els Seleccionats
index_rlchange=Canvia al Nivell d'Execució:
index_rlchangedesc=Fes clic sobre aquest botó per canviar des del nivell d'execució actual al seleccionat. Això provocarà que totes les accions del nivell d'execució actual s'aturin, i que s'iniciïn llavors totes les accions del nou nivell.
index_rlt=Inicia totes les accions del nivell d'execució:
index_rlstartdesc=Fent clic sobre aquest botó provocaràs que totes les opcions configurades per iniciar-se amb el nivell seleccionat ho facin de forma immediata.
index_rlstop=Atura totes les accions del nivell d'execució:
configurades per aturar-se en deixar el nivell seleccionat ho facin de forma immediata. Ves amb compte, pot ser que això causi el tancament del sistema.

edit_title=Edició d'Acció
create_title=Creació d'Acció
edit_ecannot=No tens permís per editar accions d'engegada
edit_details=Detalls de l'Acció
edit_name=Nom
edit_desc=Descripció
edit_startmsg=Missatge d'engegada
edit_stopmsg=Missatge de tancament
edit_start=Ordres d'engegada
edit_stop=Ordres de tancament
edit_script=Script d'Acció
edit_boot=Inicia-la en engegar
edit_badS=Donat que aquesta ordre no s'ha creat apropiadament, només s'inicia en el nivell d'execució $1.
edit_badK=Donat que aquesta ordre no s'ha creat apropiadament, només s'atura en el nivell d'execució $1.
edit_fix=Fes clic aquí per posar aquesta ordre a disposició d'altres nivells d'execució
edit_levels=Nivells d'execució en els quals s'ha d'iniciar i aturar
edit_rl=Nivell d'execució $1
edit_startat=Inicia-la a 
edit_stopat=Atura-la a
edit_startnow=Inicia-la ara
edit_stopnow=Atura-la ara
edit_restartnow=Reinicia-la ara
edit_condrestartnow=Reinicia-la Si Cal
edit_reloadnow=Recarrega-la Ara
edit_statusnow=Mostra l'Estat
edit_return=a l'acció
edit_status=Iniciada ara
edit_unknown=Desconeguda

save_err=No he pogut desar l'acció
save_ecannot=No tens permís per editar accions d'engegada
save_ealready=Ja existeix una acció anomenada '$1'
save_ewrite=No he pogut escriure $1: $2

ss_ecannot=No tens permís per editar accions d'inici o atur
ss_start=Acció d'Inici
ss_stop=Acció d'Atur
ss_restart=Acció de Reinici
ss_reload=Acció de Recàrrega
ss_status=Estat de l'Acció
ss_exec=Executant $1...

shutdown_ecannot=No tens permís per tancar el sistema
shutdown_title=Tancament
shutdown_rusure=Segur que vols tancar el sistema amb l'ordre $1?
shutdown_ok=Tanca el sistema
shutdown_exec=Tancant el sistema amb l'ordre $1...

reboot_ecannot=No tens permís per reengegar el sistema
reboot_title=Reengega
reboot_rusure=Segur que vols reiniciar el sistema amb l'ordre $1?
reboot_ok=Reengega el sistema
reboot_exec=Reengegant el sistema $1...

acl_script=Pot editar el script d'engegada
acl_actions=Pot editar, crear i suprimir accions
acl_reboot=Pot reengegar el sistema
acl_shutdown=Pot tancar el sistema

log_rename=He renomenat l'acció $1 a $2
log_modify=He modificat l' acció $1
log_create=He creat l'acció $1
log_delete=He suprimit l'acció $1
log_start=He iniciat l'acció d'engegada $1
log_stop=He aturat l'acció de tancament $1
log_reboot=He reengegat el sistema
log_shutdown=He tancat el sistema
log_local=He modificat el script d'engegada
log_bootup=He canviat l'acció d'engegada de $1

edit_hostconfig_startup=El script $1 s'executa en engegar el sistema si aquesta acció és activa. Pots editar-la a sota
edit_hostconfig_plist=El fitxer $1 estableix certs paràmetres amb respecte el script d'engegada. El pots editar a sota
edit_hostconfig_new=Crea una Nova Acció
edit_hostconfig_noquotes=No facis servir cometes a cap camp excepte el $1.
edit_hostconfig_startitems=El camp $1 no ha de començar amb un número ni un subguió, i, com a conveni, totes els caràcters alfabètics han de ser en majúscules. El camp $2 ha de ser un nom de fitxer legal i no ha de contenir cap punt.
edit_hostconfig_actionname=Nom de l'acció
edit_hostconfig_scriptname=Nom del script
edit_hostconfig_array=Els camps $1, $2, i $3 són camps taula i poden contenir més d'un valor. Delimita els valors múltiples amb dos punts (:).
edit_hostconfig_further=Després de crear la nova acció d'engegada, se t'enviarà a una pàgina on pots remenar, si cal, el script i la llista de paràmetres.
edit_hostconfig_hostconfig=El fitxer $1 controla els serveis globals del sistema i els dimonis que s'inicien en engegar el sistema. Els pots editar a sota.
edit_hostconfig_title=Edició de Hostconfig

mass_enone=No has seleccionat cap acció
mass_start=Accions d'Inici
mass_stop=Accions d'Aturada

change_err=No tens permís per canviar de nivell d'execució
change_title=Canvia el Nivell d'Execució
change_cmd=Canviant al nivell d'execució $1 amb l'ordre $2. Això pot trigar una mica, i pot ser que el Webmin ja no estigui disponible després del canvi.
  070701000048ac000081a40000000000000002000000013d1fe2bc00001c22000000200000000000000000000000000000001300000003reloc/init/lang/de    #        webmin-0.97     init/lang/de
#
#        created: ??.??.????                 by:???
#        last modified: 29-may-2002          Rev.: 29-05-2002
#        last modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                     durch: ???
# letzte &Auml;nderung: 29.05.2002        Rev.: 29.05.2002
# zuletzt modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Systemstart- und Herunterfahren-Dienste

index_add=Einen neuen Start- oder Stop-Dienst erstellen
index_reboot=System neu starten
index_rebootmsg=Klicken Sie auf diese Schaltfl&auml;che, um das System jetzt sofort neu zu starten. Alle im Moment eingeloggten Benutzer werden vom System getrennt und alle Dienste werden neu gestartet.
index_shutdown=System herunterfahren
index_shutdownmsg=Klicken Sie auf diese Schaltfl&auml;che, um das System jetzt sofort herunterzufahren. Alle Dienste werden gestoppt, alle Benutzer getrennt und die Maschine abgeschaltet (wenn Ihre Hardware dies unterst&uuml;tzt).
index_script=Das unten angezeigte Skript $1 wird beim Starten des Systems ausgef&uuml;hrt. Sie k&ouml;nnen eigene Kommandos hinzuf&uuml;gen, um D&auml;monen oder Server beim Neustart neu zu starten.
index_return=Systemstart- und Herunterfahren-Dienste
index_action=Aktion
index_desc=Beschreibung
index_boot=Starte beim Systemstart?
index_levels=Starte im Runlevel
index_status=jetzt gestartet?
index_add_mac=F&uuml;ge neues 'bootup' Aktionsskript hinzu
index_provides=bietet
index_setting=Einstellung
index_script_mac=Das unten aufgef&uuml;hrte Skript $1 wird zum Systemstart ausgef&uuml;hrt. Jedoch ist es ratsam, da&szlig; Sie Ihre eigenen Befehle zum Start-Verzeichnis hinzuf&uuml;gen, um D&auml;monen oder Server beim Systemstart zu starten.
index_editconfig=Bearbeite die $1 Datei manuell
index_stop=Stoppe ausgew&auml;hlte
index_start=Starte ausgew&auml;hlte
index_rlchange=Wechsle zum Runlevel:
index_rlchangedesc=Klicken Sie auf diese Schaltfl&auml;che, um Ihr System vom aktuellen zum ausgew&auml;hlten Runlevel umzuschalten. Dies wird alle Dienste im aktuellen Runlevel stoppen und danach alle Dienste des neuen Runlevels starten.
index_rlt=Starte alle Dienste im Runlevel:
index_rlstartdesc=Klicken dieser Schaltfl&auml;che wird alle Dienste, die konfiguriert sind beim Eintritt in den gew&auml;hlten Runlevel zu starten, sofort starten.
index_rlstop=Stoppe alle Dienste im Runlevel:
index_rlstartdesc=Klicken dieser Schaltfl&auml;che wird alle Dienste, die konfiguriert sind beim Eintritt in den gew&auml;hlten Runlevel zu stoppen, sofort beenden. Vorsicht, dies kann zu einem 'shutdown' Ihres Systems f&uuml;hren.

edit_title=Dienst bearbeiten
create_title=Dienst erstellen
edit_ecannot=Sie haben keine Berechtigung, Startdienste zu bearbeiten
edit_details=Dienst-Details
edit_name=Name
edit_desc=Beschreibung
edit_startmsg=Systemstart-Nachricht
edit_stopmsg=Herunterfahren-Nachricht
edit_start=Systemstart-Kommandos
edit_stop=Herunterfahren-Kommandos
edit_script=Skript
edit_boot=Start beim Systemstart?
edit_badS=Weil dieser Dienst nicht richtig erstellt wurde, wird er nur in Runlevel $1 gestartet.
edit_badK=Weil dieser Dienst nicht richtig erstellt wurde, wird er nur in Runlevel $1 gestoppt.
edit_fix=Klicken Sie hier, um den Dienst auch in anderen Runleveln verf&uuml;gbar zu machen.
edit_levels=Runlevels in denen gestartet bzw. gestoppt werden soll
edit_rl=Runlevel $1
edit_startat=Start bei
edit_stopat=Stop bei
edit_startnow=Starte jetzt
edit_stopnow=Stoppe jetzt
edit_restartnow=Neustart jetzt
edit_condrestartnow=Neustart wenn n&ouml;tig
edit_reloadnow=jetzt neu laden
edit_statusnow=zeige Status
edit_return=Dienst
edit_status=jetzt gestartet?
edit_unknown=Unbekannt

save_err=Fehler beim Speichern des Dienstes
save_ecannot=Sie haben keine Berechtigung, Startdienste zu bearbeiten
save_ealready=Es existiert bereits ein Dienst mit dem Namen '$1'
save_ewrite=Fehler beim Schreiben zu $1 : $2

ss_ecannot=Sie haben keine Berechtigung, Startdienste zu starten/stoppen
ss_start=Starte Dienst
ss_stop=Stoppe Dienst
ss_restart=Dienst neu starten
ss_reload=Dienst neu laden
ss_status=Status der Aktion
ss_exec=F&uuml;hre $1 aus ...

shutdown_ecannot=Sie haben keine Berechtigung, das System herunterzufahren
shutdown_title=Herunterfahren
shutdown_rusure=Sind Sie sicher, da&szlig; Sie das System mit dem Kommando $1 herunterfahren wollen?
shutdown_ok=System herunterfahren
shutdown_exec=Fahre das System herunter mit dem Kommando $1 ...

reboot_ecannot=Sie haben keine Berechtigung, das System neu zu starten
reboot_title=Neustart
reboot_rusure=Sind Sie sicher, da&szlig; Sie das System mit dem Kommando $1 neu starten wollen?
reboot_ok=System neu starten
reboot_exec=Starte System neu mit dem Kommando $1 ...

acl_script=Darf Startdienst-Skripte bearbeiten?
acl_actions=Darf Dienste bearbeiten, anlegen und l&ouml;schen?
acl_reboot=Darf das System neu starten?
acl_shutdown=Darf das System herunterfahren?

log_rename=Aktion $1 nach $2 umbenannt
log_modify=Aktion $1 ver&auml;ndert
log_create=Aktion $1 erzeugt
log_delete=Aktion $1 gel&ouml;scht
log_start=Gestarteter Systemstart-Dienst $1
log_stop=Herunterfahren-Dienst $1 gestoppt
log_reboot=System neu gestartet
log_shutdown=System heruntergefahren
log_local=Systemstart-Skript ver&auml;ndert
log_bootup=ge&auml;nderter Start-Dienst f&uuml;r $1

edit_hostconfig_startup=Das Skript $1 wird ausgef&uuml;hrt beim System-Start, wenn dieser Dienst aktiviert ist. Sie k&ouml;nnen das Skript unten bearbeiten.
edit_hostconfig_plist=Die Datei $1 setzt bestimmte Parameter unter Ber&uuml;cksichtigung des Boot-Skriptes. Sie k&ouml;nnen Sie unten bearbeiten.
edit_hostconfig_new=Erzeuge neuen Dienst
edit_hostconfig_noquotes=Benutzen Sie keine Anf&uuml;hrungszeichen in irgendwelchen Feldern, au&szlig;er im $1 Feld.
edit_hostconfig_startitems=Das $1 Feld sollte nicht  mit einer Ziffer oder einem Unterstrich beginnen, und gem&auml;&szlig; den Konventionen sollten alle Buchstaben Gro&szlig;buchstaben sein.Das $2 Feld sollte ein g&uuml;ltiger Dateiname sein und keinen Punkt enthalten.
edit_hostconfig_actionname=Dienst-Name
edit_hostconfig_scriptname=Skript-Name
edit_hostconfig_array=Die Felder $1, $2, und $3 sind Array-Felder und k&ouml;nnen mehr als einen Wert enthalten. Begrenzen Sie mehrere Werte durch ein Komma.
edit_hostconfig_further=Nach dem Erstellen eines neuen Start-Dienstes werden Sie zu einer Seite weitergeleitet, wo Sie das Start-Skript und die Parameter bearbeiten k&ouml;nnen, falls es notwendig ist.
edit_hostconfig_hostconfig=Die Datei $1 verwaltet Systemweite Dienste und D&auml;monen die beim Systemstart gestartet werden. Sie k&ouml;nnen Sie unten bearbeiten.
edit_hostconfig_title=Editiere 'Hostconfig'

mass_enone=Keine Aktionen ausgew&auml;hlt
mass_start=Starte Aktionen
mass_stop=Stoppe Aktionen

change_err=Sie sind nicht berechtigt, die Runlevels zu wechseln.
change_title=Wechsele Runlevel
change_cmd=Wechsel zum Runlevel $1 mit Befehl $2. Dies kann einige Zeit dauern und Webmin k&ouml;nnte nach dem Wechsel nicht mehr verf&uuml;gbar sein.  070701000048ad000081a40000000000000002000000013d1fe2bc000015fe000000200000000000000000000000000000001300000003reloc/init/lang/en    index_title=Bootup and Shutdown
index_add=Create a new bootup and shutdown action
index_reboot=Reboot System
index_rebootmsg=Click on this button to immediately reboot the system. All currently logged in users will be disconnected and all services will be re-started.
index_shutdown=Shutdown System
index_shutdownmsg=Click on this button to immediately shutdown the system. All services will be stopped, all users disconnected and the system powered off (if your hardware supports it).
index_script=The script $1 listed below will be run at bootup time. You may add your own commands to have daemons or servers re-started when the system is re-booted.
index_return=bootup and shutdown actions
index_action=Action
index_desc=Description
index_boot=Start at boot?
index_levels=Start in runlevels
index_status=Started now?
index_add_mac=Add a new bootup action script
index_provides=Provides
index_setting=Setting
index_script_mac=The script $1 listed below will be run at bootup time. However, it is suggested that you add your own commands to have daemons or servers started upon system boot to the startup directory.
index_editconfig=Edit the $1 file manually
index_stop=Stop Selected
index_start=Start Selected
index_rlchange=Change to runlevel:
index_rlchangedesc=Click this button to switch your system from the current runlevel to the selected one. This will cause all the actions in the current level to be stopped, and then all the actions in the new runlevel to be started.
index_rlt=Start all actions in runlevel:
index_rlstartdesc=Clicking this button will cause all actions that are setup to be started when entering the selected runlevel to be started immediately.
index_rlstop=Stop all actions in runlevel:
index_rlstartdesc=Clicking this button will cause all actions that are setup to be stopped when exiting the selected runlevel to be stopped immediately. Be careful, as this may result in the shutdown of your system.


edit_title=Edit Action
create_title=Create Action
edit_ecannot=You are not allowed to edit bootup actions
edit_details=Action Details
edit_name=Name
edit_desc=Description
edit_startmsg=Bootup message
edit_stopmsg=Shutdown message
edit_start=Bootup commands
edit_stop=Shutdown commands
edit_script=Action Script
edit_boot=Start at boot time?
edit_badS=Because this action was not created properly, it is started only in runlevel $1.
edit_badK=Because this action was not created properly, it is stopped only in runlevel $1.
edit_fix=Click here to make this action available to other runlevels
edit_levels=Runlevels to start and stop in
edit_rl=Runlevel $1
edit_startat=Start at
edit_stopat=Stop at
edit_startnow=Start Now
edit_stopnow=Stop Now
edit_restartnow=Restart Now
edit_condrestartnow=Restart If Needed
edit_reloadnow=Reload Now
edit_statusnow=Show Status
edit_return=action
edit_status=Started now?
edit_unknown=Unknown

save_err=Failed to save action
save_ecannot=You are not allowed to edit bootup actions
save_ealready=An action called '$1' already exists
save_ewrite=Failed to write to $1 : $2

ss_ecannot=You are not allowed to start or stop bootup actions
ss_start=Start Action
ss_stop=Stop Action
ss_restart=Restart Action
ss_reload=Reloading Action
ss_status=Action Status
ss_exec=Executing $1 ..

shutdown_ecannot=You are not allowed to shutdown the system
shutdown_title=Shutdown
shutdown_rusure=Are you sure you want to shutdown the system with the command $1 ?
shutdown_ok=Shutdown System
shutdown_exec=Shutting down with command $1 ..

reboot_ecannot=You are not allowed to reboot the system
reboot_title=Reboot
reboot_rusure=Are you sure you want to reboot the system with the command $1 ?
reboot_ok=Reboot System
reboot_exec=Rebooting with command $1 ..

acl_script=Can edit the bootup script?
acl_actions=Can edit, create and delete actions?
acl_reboot=Can reboot the system?
acl_shutdown=Can shutdown the system?

log_rename=Renamed action $1 to $2
log_modify=Modified action $1
log_create=Created action $1
log_delete=Deleted action $1
log_start=Started bootup action $1
log_stop=Stopped shutdown action $1
log_reboot=Rebooted system
log_shutdown=Shutdown system
log_local=Modified bootup script
log_bootup=Changed boot action for $1

edit_hostconfig_startup=The script $1 is run at system boot time if this action is active. You may edit it below
edit_hostconfig_plist=The file $1 sets certain parameters with respect the boot script. You may edit it below
edit_hostconfig_new=Create New Action
edit_hostconfig_noquotes=Do not use quotes in any fields except for the $1 field.
edit_hostconfig_startitems=The $1 field should not start with a number or underscore, and by convention, all alphabetical characters should be upper case. The $2 field should be a legal filename and should not contain a dot.
edit_hostconfig_actionname=Action name
edit_hostconfig_scriptname=Script name
edit_hostconfig_array=The fields $1, $2, and $3 are array fields and can contain more than one value. Delimitate multiple values with a colon.
edit_hostconfig_further=After creating the new startup action, you will be forwarded to a page where you can tweak the startup script and parameter list if needed.
edit_hostconfig_hostconfig=The file $1 controls system wide services and daemons that are started at system boot. You may edit it below
edit_hostconfig_title=Edit Hostconfig

mass_enone=No actions selected
mass_start=Starting Actions
mass_stop=Stopping Actions

change_err=You are not allowed to switch runlevels
change_title=Switch Runlevel
change_cmd=Switching to runlevel $1 with command $2. This may take some time, and Webmin might not be available anymore after switching.

  070701000048ae000081a40000000000000002000000013d1fe2bc00000d3d000000200000000000000000000000000000001300000003reloc/init/lang/es    index_title=Arranque y Parada
index_add=Crear una nueva acción de arranque y parada
index_reboot=Rearrancar Sistema
index_rebootmsg=Haz click en este botón para rearrancar el sistema de forma inmediata. Todos los usuario conectados serán desconectados y todos los servicios serán rearrancados.
index_shutdown=Apagar Sistema
index_shutdownmsg=Haz click en este botón para apagar el sistema de forma inmediata. Se pararán todos los servicios, todos los usuarios serán desconectados y el sistema apagado de la corriente (si tu hardware lo soporta).
index_script=El guión $1 listado debajo será ejecutado al arrancar. Puedes añadir tus propios comandos como demonios o rearrancar servidores cuando el sistema rearranque.
index_return=acciones de arranque y parada
index_action=Acción
index_desc=Descripción
index_boot=¿Arranco con la máquina?
index_status=¿Arrancado ahora?

edit_title=Editar Acción
create_title=Crear Acción
edit_ecannot=No estás autorizado a editar acciones de arranque
edit_details=Detalle de Acciones
edit_name=Nombre
edit_desc=Descripción
edit_startmsg=Mensaje de Arranque
edit_stopmsg=Mensaje de Parada
edit_start=Comandos de Arranque
edit_stop=Comandos de Parada
edit_script=Guión de Acción
edit_boot=¿Arranco al arrancar el sistema?
edit_badS=A causa de que esta acción no ha sido creada convenientemente, sólo se iniciará en nivel de ejecución $1.
edit_badK=A causa de que esta acción no ha sido creada convenientemente, sólo se iniciará en nivel de ejecución $1.
edit_fix=Haz click aquí para hacer que esta acción esté disponible en otros niveles de ejecución
edit_levels=Niveles de ejecución en que se debe iniciar y parar
edit_rl=Nivel $1
edit_startat=Iniciar en
edit_stopat=Parar en
edit_startnow=Iniciar Ahora
edit_stopnow=Parar Ahora
edit_restartnow=Rearrancar Ahora
edit_condrestartnow=Rearrancar Si es Necesario
edit_reloadnow=Recargar Ahora
edit_statusnow=Mostrar Estado
edit_return=acción
edit_status=¿Arrancado ahora?
edit_unknown=Desconocido

save_err=Error al salvar acción
save_ecannot=No estás autorizao a editar acciones de arranque
save_ealready=Una acción llamada '$1' ya existe
save_ewrite=Error al escribir a $1 : $2

ss_ecannot=No estás autorizado a iniciar o parar acciones de arranque
ss_start=Acción de Inicio
ss_stop=Acción de Parada
ss_restart=Acción de Rearranque
ss_reload=Acción de Recarga
ss_status=Estado de Acción
ss_exec=Ejecutando $1 ...

shutdown_ecannot=No estás autorizado a parar el sistema
shutdown_title=Parada
shutdown_rusure=¿Estás seguro de querer parar el sistema con el comando $1?
shutdown_ok=Parada del Sistema
shutdown_exec=Parando con el comando $1 ...

reboot_ecannot=No estás autorizado a rearrancar el sisema
reboot_title=Rearranque
reboot_rusure=¿Estás seguro de querer rearrancar el sistema con el comando $1?
reboot_ok=Rearrancar Sistema
reboot_exec=Rearrancando con comando $1 ...

acl_script=¿Puedo editar el guión de arranque?
acl_actions=¿Puedo editar, crear y borrar acciones?
acl_reboot=¿Puedo rearrancar el sistema?
acl_shutdown=¿Puedo parar el sistema?

log_rename=Renombrada acción $1 por $2
log_modify=Modificada acción $1
log_create=Creada acción $1
log_delete=Borrada acción $1
log_start=Iniciada acción de arranque $1
log_stop=Parada acción de cierre $1
log_reboot=Sistema rearrancado
log_shutdown=Sistema parado
log_local=Modificado guión de arranque
log_bootup=Cambiada acción de arranque para $1
   070701000048af000081a40000000000000002000000013d1fe2bc00000de3000000200000000000000000000000000000001300000003reloc/init/lang/fr    index_title=Actions de démarrage et d'arrêt
index_add=Créer une nouvelle action de démarrage ou d'arrêt
index_reboot=Redémarrer le Système
index_rebootmsg=Cliquer sur ce bouton va immédiatement redémarrer le système.  Tout utilisateur avec une session ouverte va être déconnecté et tout les services seront redémarrés.
index_shutdown=Arrêter le système
index_shutdownmsg=Cliquer sur ce bouton va immédiatement arrêter le système.  Tous les services vont être stoppés, tous les utilisateurs déconnectés et le système mis hors tension (si le matériel le supporte).
index_script=Le script '$1' listé ci-dessous va être exécuté au démarrage.  Vous pouvez ajouter vos propres commandes pour avoir vos services et processus exécutés de nouveau quand le système va redémarrer.
index_return=l'action de démarrage et d'arrêt
index_action=Action
index_desc=Description
index_boot=Démarrer au boot ?
index_levels=Démarrer dans les runlevels
index_status=Démarré maintenant ?


edit_title=Éditer une action
create_title=Créer une action
edit_ecannot=Vous n'êtes pas autorisé à éditer une action
edit_details=Détails de l'action
edit_name=Nom
edit_desc=Description
edit_startmsg=Message au démarrage
edit_stopmsg=Message à l'arrêt
edit_start=Commande au démarrage
edit_stop=Commande à l'arrêt
edit_script=Script de l'action
edit_boot=Démarrer au moment du boot ?
edit_badS=Cette action ayant été créé incorrectement, elle ne va s'exécuter qu'au niveau d'exécution $1.
edit_badK=Cette action ayant été créé incorrectement, elle  ne va s'arrêter qu'au niveau d'exécution $1.
edit_fix=Cliquer ici pour permettre à cette action d'être disponible à d'autres niveaux d'exécution
edit_levels=Niveaux d'exécution auxquels démarrer et arrêter
edit_rl=Niveau $1
edit_startat=Démarre à
edit_stopat=Arrête à
edit_startnow=Exécuter maintenant
edit_stopnow=Arrêter maintenant
edit_restartnow=Redémarrer maintenant
edit_condrestartnow=Redémarrer si nécessaire
edit_reloadnow=Recharger maintenant
edit_statusnow=Montrer l'état
edit_return=action
edit_status=Démarré maintenant ?
edit_unknown=Inconnu

save_err=Impossible d'enregistrer l'action
save_ecannot=Vous n'êtes pas autorisé à éditer une action de démarrage
save_ealready=Une action appelée $1 existe déjà
save_ewrite=Impossible d'écrire sur '$1' : $2

ss_ecannot=Vous n'êtes pas autorisé à démarrer et arrêter la moindre action
ss_start=Démarrer action
ss_stop=Arrêter action
ss_restart=Redemarre l'action
ss_reload=Recharger l'action
ss_status=État de l'action
ss_exec=Exécution '$1'...

shutdown_ecannot=Vous n'êtes pas autorisé à arrêter le système
shutdown_title=Arrêt du Système
shutdown_rusure=Êtes-vous sûr de vouloir arrêter le système avec la commande '$1' ?
shutdown_ok=Arrêt du système
shutdown_exec=Arrêt du système avec la commande '$1'

reboot_ecannot=Vous n'êtes pas autorisé à redémarrer le système
reboot_title=Redémarrer
reboot_rusure=Êtes-vous sûr de vouloir redémarrer le système avec la commande '$1' ?
reboot_ok=Redémarrer le système
reboot_exec=Redémarrer avec la commande '$1'

acl_script=Peut éditer le script de démarrage?
acl_actions=Peut éditer, créer et supprimer des actions?
acl_reboot=Peut redémarrer le système?
acl_shutdown=Peut arrêter le système?

log_rename=Action $1 renommée en $2
log_modify=Action $1 modifiée
log_create=Action $1 créée
log_delete=Action $1 supprimée
log_start=Action de démarrage $1 lancée
log_stop=Action d'arrêt $1 stoppée
log_reboot=Système redémarré
log_shutdown=Système arrêté
log_local=Script de démarrage modifié
log_bootup=Action de démarrage modifiée pour $1
 070701000048b0000081a40000000000000002000000013d1fe2bc00000942000000200000000000000000000000000000001300000003reloc/init/lang/it    index_title=Avvio e Spegnimento
index_add=Crea una nuova azione di avvio o spegnimento
index_reboot=Riavvia Sistema
index_rebootmsg=Clicca questo pulsante per riavviare immediatamente il
sistema. Tutti gli utenti saranno disconnessi e tutti i servizi riavviati.
index_shutdown=Spegni Sistema
index_shutdownmsg=Clicca questo pulsante per spegnere immediatamente il
sistema. Tutti i servizi verranno bloccati, tutti gli utenti disconnessi ed
il computer verr&agrave; spento (se l'hardware lo supporta).
index_script=Lo script $1 verr&agrave; lanciato all'avvio. Puoi aggiungere i
tuoi comandi per riavviare i demoni o i server quando il sistema viene
riavviato.
index_return=azioni di avvio e spegnimento

edit_title=Edit Action
create_title=Create Action
edit_ecannot=You are not allowed to edit bootup actions
edit_details=Action Details
edit_name=Name
edit_desc=Description
edit_startmsg=Bootup message
edit_stopmsg=Shutdown message
edit_start=Bootup commands
edit_stop=Shutdown commands
edit_script=Action Script
edit_badS=Because this action was not created properly, it is started only in runlevel $1.
edit_badK=Because this action was not created properly, it is stopped only in runlevel $1.
edit_fix=Click here to make this action available to other runlevels
edit_levels=Runlevels to start and stop in
edit_rl=Runlevel $1
edit_startat=Start at
edit_stopat=Stop at
edit_startnow=Start Now
edit_stopnow=Stop Now
edit_return=action

save_err=Failed to save action
save_ecannot=You are not allowed to edit bootup actions
save_ealready=An action called '$1' already exists
save_ewrite=Failed to write to $1 : $2

ss_ecannot=You are not allowed to start or stop bootup actions
ss_start=Start Action
ss_stop=Stop Action
ss_exec=Executing $1 ..

shutdown_ecannot=You are not allowed to shutdown the system
shutdown_title=Shutdown
shutdown_rusure=Are you sure you want to shutdown the system with the command $1 ?
shutdown_ok=Shutdown System
shutdown_exec=Shutting down with command $1 ..

reboot_ecannot=You are not allowed to reboot the system
reboot_title=Reboot
reboot_rusure=Are you sure you want to reboot the system with the command $1 ?
reboot_ok=Reboot System
reboot_exec=Rebooting with command $1 ..

acl_script=Can edit the bootup script?
acl_actions=Can edit, create and delete actions?
acl_reboot=Can reboot the system?
acl_shutdown=Can shutdown the system?

  070701000048b1000081a40000000000000002000000013d1fe2bc00000d0d000000200000000000000000000000000000001a00000003reloc/init/lang/ja_JP.euc index_title=µ¯Æ°µÚ¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó
index_add=¿·µ¬¤Îµ¯Æ°¤Þ¤¿¤Ï¥·¥ã¥Ã¥È¥À¥¦¥ó ¥¢¥¯¥·¥ç¥ó¤òºîÀ®
index_reboot=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°
index_rebootmsg=¥·¥¹¥Æ¥à¤òº£¤¹¤°ºÆµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬ÀÚÃÇ¤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ó¥¹¤¬ºÆÅÙ³«»Ï¤µ¤ì¤Þ¤¹¡£
index_shutdown=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó
index_shutdownmsg=¥·¥¹¥Æ¥à¤òº£¤¹¤°¥·¥ã¥Ã¥È¥À¥¦¥ó¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ó¥¹¤¬Ää»ß¤µ¤ì¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤¬ÀÚÃÇ¤µ¤ì¤Æ¥·¥¹¥Æ¥à¤ÎÅÅ¸»¤¬¥ª¥Õ¤Ë¤Ê¤ê¤Þ¤¹ (¤´»ÈÍÑ¤Î¥Ï¡¼¥É¥¦¥§¥¢¤¬¥µ¥Ý¡¼¥È¤¹¤ë¾ì¹ç)¡£
index_script=²¼¤ËÉ½¼¨¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È $1 ¤Ïµ¯Æ°»þ¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¥·¥¹¥Æ¥à¤ÎºÆµ¯Æ°»þ¤Ë¥Ç¡¼¥â¥ó¤Þ¤¿¤Ï¥µ¡¼¥Ð¤òºÆµ¯Æ°¤µ¤»¤ë¤¿¤á¤ËÆÈ¼«¤Î¥³¥Þ¥ó¥É¤òÄÉ²Ã¤Ç¤­¤Þ¤¹¡£
index_return=µ¯Æ°µÚ¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó ¥¢¥¯¥·¥ç¥ó
index_action=¥¢¥¯¥·¥ç¥ó
index_desc=ÀâÌÀ
index_boot=µ¯Æ°»þ¤Ë³«»Ï¤·¤Þ¤¹¤«¡©
index_status=º£¤¹¤°³«»Ï¤·¤Þ¤¹¤«¡©

edit_title=¥¢¥¯¥·¥ç¥ó¤ÎÊÔ½¸
create_title=¥¢¥¯¥·¥ç¥ó¤ÎºîÀ®
edit_ecannot=µ¯Æ° ¥¢¥¯¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_details=¥¢¥¯¥·¥ç¥ó¤Î¾ÜºÙ
edit_name=Ì¾Á°
edit_desc=ÀâÌÀ
edit_startmsg=µ¯Æ° ¥á¥Ã¥»¡¼¥¸
edit_stopmsg=¥·¥ã¥Ã¥È¥À¥¦¥ó ¥á¥Ã¥»¡¼¥¸
edit_start=µ¯Æ° ¥³¥Þ¥ó¥É
edit_stop=¥·¥ã¥Ã¥È¥À¥¦¥ó ¥³¥Þ¥ó¥É
edit_script=¥¢¥¯¥·¥ç¥ó ¥¹¥¯¥ê¥×¥È
edit_boot=µ¯Æ°»þ¤Ë³«»Ï¤·¤Þ¤¹¤«¡©
edit_badS=¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏÀµ¤·¤¯ºîÀ®¤µ¤ì¤Ê¤«¤Ã¤¿¤¿¤á¡¢¼Â¹Ô¥ì¥Ù¥ë $1 ¤Î¤ß¤Ç³«»Ï¤µ¤ì¤Þ¤·¤¿¡£
edit_badK=¤³¤Î¥¢¥¯¥·¥ç¥ó¤ÏÀµ¤·¤¯ºîÀ®¤µ¤ì¤Ê¤«¤Ã¤¿¤¿¤á¡¢¼Â¹Ô¥ì¥Ù¥ë $1 ¤Î¤ß¤ÇÄä»ß¤µ¤ì¤Þ¤·¤¿¡£
edit_fix=¤³¤Î¥¢¥¯¥·¥ç¥ó¤òÂ¾¤Î¼Â¹Ô¥ì¥Ù¥ë¤ËÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤
edit_levels=³«»Ï¤ÈÄä»ß¤Î¼Â¹Ô¥ì¥Ù¥ë
edit_rl=¼Â¹Ô¥ì¥Ù¥ë $1
edit_startat=³«»Ï
edit_stopat=Ää»ß
edit_startnow=º£¤¹¤°³«»Ï
edit_stopnow=º£¤¹¤°Ää»ß
edit_restartnow=º£¤¹¤°ºÆµ¯Æ°
edit_condrestartnow=É¬Í×¤Ê¾ì¹ç¤ËºÆµ¯Æ°
edit_reloadnow=º£¤¹¤°ºÆ¥í¡¼¥É
edit_statusnow=¥¹¥Æ¡¼¥¿¥¹¤òÉ½¼¨
edit_return=¥¢¥¯¥·¥ç¥ó
edit_status=¤¹¤°¤Ë³«»Ï¤·¤Þ¤·¤¿¤«¡©
edit_unknown=ÉÔÌÀ

save_err=¥¢¥¯¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ecannot=µ¯Æ° ¥¢¥¯¥·¥ç¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
save_ealready='$1' ¤È¤¤¤¦¥¢¥¯¥·¥ç¥óÌ¾¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
save_ewrite=$1 ¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó¤Ç¤·¤¿: $2

ss_ecannot=µ¯Æ° ¥¢¥¯¥·¥ç¥ó¤ò³«»Ï¤Þ¤¿¤ÏÄä»ß¤Ç¤­¤Þ¤»¤ó
ss_start=µ¯Æ°¥¢¥¯¥·¥ç¥ó
ss_stop=Ää»ß¥¢¥¯¥·¥ç¥ó
ss_restart=ºÆµ¯Æ°¥¢¥¯¥·¥ç¥ó
ss_reload=ºÆ¥í¡¼¥É ¥¢¥¯¥·¥ç¥ó
ss_status=¥¢¥¯¥·¥ç¥ó ¥¹¥Æ¡¼¥¿¥¹
ss_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..

shutdown_ecannot=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤Ç¤­¤Þ¤»¤ó
shutdown_title=¥·¥ã¥Ã¥È¥À¥¦¥ó
shutdown_rusure=¥³¥Þ¥ó¥É $1 ¤ò»ÈÍÑ¤·¤Æ¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
shutdown_ok=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó
shutdown_exec=¥³¥Þ¥ó¥É $1 ¤ò»ÈÍÑ¤·¤Æ¥·¥ã¥Ã¥È¥À¥¦¥ó ..

reboot_ecannot=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó
reboot_title=ºÆµ¯Æ°
reboot_rusure=¥³¥Þ¥ó¥É $1 ¤ò»ÈÍÑ¤·¤Æ¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
reboot_ok=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°
reboot_exec=¥³¥Þ¥ó¥É $1 ¤ò»ÈÍÑ¤·¤ÆºÆµ¯Æ°Ãæ..

acl_script=µ¯Æ° ¥¹¥¯¥ê¥×¥È¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_actions=¥¢¥¯¥·¥ç¥ó¤òÊÔ½¸¡¢ºîÀ®¤ª¤è¤Óºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_reboot=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_shutdown=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

log_rename=¥¢¥¯¥·¥ç¥ó $1 ¤ò $2 ¤ËÌ¾¾ÎÊÑ¹¹¤·¤Þ¤·¤¿
log_modify=¥¢¥¯¥·¥ç¥ó $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=¥¢¥¯¥·¥ç¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=¥¢¥¯¥·¥ç¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_start=µ¯Æ°¥¢¥¯¥·¥ç¥ó $1 ¤ò³«»Ï¤·¤Þ¤·¤¿
log_stop=¥·¥ã¥Ã¥È¥À¥¦¥ó ¥¢¥¯¥·¥ç¥ó $1 ¤òÄä»ß¤·¤Þ¤·¤¿
log_reboot=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°¤·¤Þ¤·¤¿
log_shutdown=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Þ¤·¤¿
log_local=µ¯Æ° ¥¹¥¯¥ê¥×¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_bootup=$1 ¤Îµ¯Æ°¥¢¥¯¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
   070701000048b2000081a40000000000000002000000013d1fe2bc00000afb000000200000000000000000000000000000001a00000003reloc/init/lang/ko_KR.euc index_title=ºÎÆÃ ¹× Á¾·á
index_add=»õ ºÎÆÃ ¶Ç´Â Á¾·á µ¿ÀÛ ÀÛ¼º
index_reboot=½Ã½ºÅÛ ÀçºÎÆÃ
index_rebootmsg=½Ã½ºÅÛÀ» Áï½Ã ÀçºÎÆÃÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ÇöÀç ·Î±×ÀÎÇÑ ¸ðµç »ç¿ëÀÚÀÇ ¿¬°áÀÌ ²÷±ä ÈÄ ¸ðµç ¼­ºñ½º°¡ ´Ù½Ã ½ÃÀÛµË´Ï´Ù.
index_shutdown=½Ã½ºÅÛ Á¾·á
index_shutdownmsg=½Ã½ºÅÛÀ» Áï½Ã Á¾·áÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ¸ðµç ¼­ºñ½º°¡ ÁßÁöµÇ°í ¸ðµç »ç¿ëÀÚÀÇ ¿¬°áÀÌ ²÷±ä ÈÄ ½Ã½ºÅÛ Àü¿øÀÌ ²¨Áý´Ï´Ù(ÇÏµå¿þ¾î¿¡¼­ Áö¿øÇÏ´Â °æ¿ì).
index_script=¾Æ·¡ÀÇ ½ºÅ©¸³Æ® $1ÀÌ(°¡) ºÎÆÃ ½Ã¿¡ ½ÇÇàµË´Ï´Ù. ½Ã½ºÅÛÀÌ ÀçºÎÆÃµÉ ¶§ µ¥º»ÀÌ³ª ¼­¹ö¸¦ ´Ù½Ã ½ÃÀÛÇÏ´Â Æ¯Á¤ ¸í·ÉÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_return=ºÎÆÃ ¹× Á¾·á µ¿ÀÛ
index_action=µ¿ÀÛ
index_desc=¼³¸í
index_boot=ºÎÆÃ ¶§ ½ÃÀÛÇÕ´Ï±î?
index_status=Áö±Ý ½ÃÀÛÇÕ´Ï±î?

edit_title=µ¿ÀÛ ÆíÁý
create_title=µ¿ÀÛ ÀÛ¼º
edit_ecannot=ºÎÆÃ µ¿ÀÛÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_details=µ¿ÀÛ ¼¼ºÎ Á¤º¸
edit_name=ÀÌ¸§
edit_desc=¼³¸í
edit_startmsg=ºÎÆÃ ¸Þ½ÃÁö
edit_stopmsg=Á¾·á ¸Þ½ÃÁö
edit_start=ºÎÆÃ ¸í·É
edit_stop=Á¾·á ¸í·É
edit_script=µ¿ÀÛ ½ºÅ©¸³Æ®
edit_boot=ºÎÆÃ ½Ã ½ÃÀÛÇÕ´Ï±î?
edit_badS=ÀÌ µ¿ÀÛÀÌ ¿Ã¹Ù¸£°Ô ÀÛ¼ºµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ½ÇÇà ¼öÁØ $1¿¡¼­¸¸ ½ÃÀÛµË´Ï´Ù.
edit_badK=ÀÌ µ¿ÀÛÀÌ ¿Ã¹Ù¸£°Ô ÀÛ¼ºµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ½ÇÇà ¼öÁØ $1¿¡¼­¸¸ ÁßÁöµË´Ï´Ù.
edit_fix=´Ù¸¥ ½ÇÇà ¼öÁØ¿¡¼­µµ ÀÌ µ¿ÀÛÀ» »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é ¿©±â¸¦ ´©¸£½Ê½Ã¿À
edit_levels=½ÃÀÛ ¹× ÁßÁöÇÒ ½ÇÇà ¼öÁØ
edit_rl=½ÇÇà ¼öÁØ $1
edit_startat=½ÃÀÛ
edit_stopat=ÁßÁö
edit_startnow=Áö±Ý ½ÃÀÛ
edit_stopnow=Áö±Ý ÁßÁö
edit_restartnow=Áö±Ý ´Ù½Ã ½ÃÀÛ
edit_condrestartnow=ÇÊ¿äÇÒ ¶§ ´Ù½Ã ½ÃÀÛ
edit_reloadnow=Áö±Ý ´Ù½Ã ·Îµå
edit_statusnow=»óÅÂ Ç¥½Ã
edit_return=µ¿ÀÛ
edit_status=Áö±Ý ½ÃÀÛÇÕ´Ï±î?
edit_unknown=¾Ë ¼ö ¾øÀ½

save_err=µ¿ÀÛÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ecannot=ºÎÆÃ µ¿ÀÛÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_ealready=µ¿ÀÛ '$1'ÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
save_ewrite=$1¿¡ ¾²Áö ¸øÇß½À´Ï´Ù: $2

ss_ecannot=ºÎÆÃ µ¿ÀÛÀ» ½ÃÀÛÇÏ°Å³ª ÁßÁöÇÒ ¼ö ¾ø½À´Ï´Ù
ss_start=µ¿ÀÛ ½ÃÀÛ
ss_stop=µ¿ÀÛ ÁßÁö
ss_restart=µ¿ÀÛ ´Ù½Ã ½ÃÀÛ
ss_reload=µ¿ÀÛ ´Ù½Ã ·Îµå
ss_status=µ¿ÀÛ »óÅÂ
ss_exec=$1 ½ÇÇà Áß..

shutdown_ecannot=½Ã½ºÅÛÀ» Á¾·áÇÒ ¼ö ¾ø½À´Ï´Ù
shutdown_title=Á¾·á
shutdown_rusure=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» Á¾·áÇÏ½Ã°Ú½À´Ï±î?
shutdown_ok=½Ã½ºÅÛ Á¾·á
shutdown_exec=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© Á¾·á Áß..

reboot_ecannot=½Ã½ºÅÛÀ» ÀçºÎÆÃÇÒ ¼ö ¾ø½À´Ï´Ù
reboot_title=ÀçºÎÆÃ
reboot_rusure=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏ½Ã°Ú½À´Ï±î?
reboot_ok=½Ã½ºÅÛ ÀçºÎÆÃ
reboot_exec=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© ÀçºÎÆÃ Áß..

acl_script=ºÎÆÃ ½ºÅ©¸³Æ®¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_actions=µ¿ÀÛÀ» ÆíÁý, ÀÛ¼º ¹× »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_reboot=½Ã½ºÅÛÀ» ÀçºÎÆÃÇÒ ¼ö ÀÖ½À´Ï±î?
acl_shutdown=½Ã½ºÅÛÀ» Á¾·áÇÒ ¼ö ÀÖ½À´Ï±î?

log_rename=µ¿ÀÛ ÀÌ¸§ÀÌ $1¿¡¼­ $2(À¸)·Î ¹Ù²ñ
log_modify=µ¿ÀÛ $1 ¼öÁ¤µÊ
log_create=µ¿ÀÛ $1 ÀÛ¼ºµÊ
log_delete=µ¿ÀÛ $1 »èÁ¦µÊ
log_start=ºÎÆÃ µ¿ÀÛ $1 ½ÃÀÛµÊ
log_stop=Á¾·á µ¿ÀÛ $1 ÁßÁöµÊ
log_reboot=½Ã½ºÅÛ ÀçºÎÆÃµÊ
log_shutdown=½Ã½ºÅÛ Á¾·áµÊ
log_local=ºÎÆÃ ½ºÅ©¸³Æ® ¼öÁ¤µÊ
log_bootup=$1ÀÇ ºÎÆÃ µ¿ÀÛ º¯°æµÊ
 070701000048b3000081a40000000000000002000000013d1fe2bc000011c4000000200000000000000000000000000000001300000003reloc/init/lang/pl    index_title=Start i zamykanie systemu
index_add=Utwórz now± akcjê startu lub zamykania
index_reboot=Restartuj system
index_rebootmsg=Naci¶nij przycisk by natychmiast zrestartowaæ system. 
index_shutdown=Zamknij system
index_shutdownmsg=Naci¶nij przycisk by natychmiast zamkn±æ system.
index_script=Skrypt $1 (pokazany poni¿ej) bêdzie uruchomiony podczas startu systemu. Mo¿esz dodaæ w³asne komendy startuj±ce demony i serwery podczas startu systemu.
index_return=listy akcji startu i&nbsp;zamykania
index_action=Akcja
index_desc=Opis
index_boot=Uruchamiaæ przy starcie?
index_levels=Uruchamiaæ na poziomach
index_status=Dzia³a obecnie?
index_add_mac=Dodaj nowy skrypt startowy
index_provides=Zapewnia
index_setting=Ustawienia
index_script_mac=Wymieniony poni¿ej skrypt $1 bêdzie uruchamiany podczas startu systemu. Jednak¿e, zalecane jest umieszczenie w&nbsp;katalogu startowym w³asnych poleceñ uruchamiaj±ce demony lub serwery podczas startu systemu.
index_editconfig=Zmieñ plik $1 rêcznie

edit_title=Zmieñ akcjê
create_title=Utwórz akcjê
edit_ecannot=Nie masz uprawnieñ do zmiany akcji
edit_details=Szczegó³y akcji
edit_name=Nazwa
edit_desc=Opis
edit_startmsg=Komunikat startu
edit_stopmsg=Komunikat zatrzymania
edit_start=Komenda startu
edit_stop=Komenda zatrzymania
edit_script=Skrypt akcji
edit_boot=Uruchomiæ przy starcie?
edit_badS=Poniewa¿ akcja nie zostala utworzona poprawnie, zostanie uruchomiona tylko na poziomie $1.
edit_badK=Poniewa¿ akcja nie zostala utworzona poprawnie, zostanie zatrzymana tylko na poziomie $1.
edit_fix=Naci¶nij tutaj by udostêpniæ akcjê na innych poziomach.
edit_levels=Poziomy na których akcjê uruchomiæ i&nbsp;zatrzymaæ
edit_rl=Poziom $1
edit_startat=Uruchom na
edit_stopat=Zatrzymaj na
edit_startnow=Uruchom teraz
edit_stopnow=Zatrzymaj teraz
edit_restartnow=Restartuj teraz
edit_condrestartnow=Restartuj, je¶li trzeba
edit_reloadnow=Prze³aduj teraz
edit_statusnow=Poka¿ stan
edit_return=akcji
edit_status=Dzia³a obecnie?
edit_unknown=Nieznany

save_err=Nie uda³o siê zachowaæ akcji
save_ecannot=Nie masz uprawnieñ do poprawiania akcji startowych
save_ealready=Akcja o&nbsp;nazwie '$1' ju¿ istnieje
save_ewrite=Nie uda³o siê zapisaæ $1 : $2

ss_ecannot=Nie masz prawa uruchamiaæ ani zatrzymywaæ akcji
ss_start=Uruchom akcjê
ss_stop=Zatrzymaj akcjê
ss_restart=Restartuj akcjê
ss_reload=Prze³adowanie akcji
ss_status=Stan akcji
ss_exec=Wykonywanie $1 ..

shutdown_ecannot=Nie masz prawa zatrzymaæ systemu
shutdown_title=Zatrzymaj
shutdown_rusure=Czy na pewno chcesz zatrzymaæ system komend± $1 ?
shutdown_ok=Zatrzymanie systemu
shutdown_exec=Zatrzymywanie systemu komend± $1 ..

reboot_ecannot=Nie masz prawa restartowaæ systemu
reboot_title=Restart
reboot_rusure=Czy na pewno chcesz zrestartowac system komend± $1 ?
reboot_ok=Restart systemu
reboot_exec=Restart systemu komend± $1 ..

acl_script=Mo¿e poprawiaæ skrypt startuj±cy?
acl_actions=Mo¿e poprawiaæ, tworzyæ i&nbsp;usuwaæ akcje?
acl_reboot=Mo¿e restartowaæ system?
acl_shutdown=Mo¿e zamkn±æ system?

log_rename=Zmieniono nazwê $1 na $2
log_modify=Zmodyfikowano akcjê $1
log_create=Utworzono akcjê $1
log_delete=Usuniêto akcjê $1
log_start=Wystartowano akcjê $1
log_stop=Zatrzymano akcjê $1
log_reboot=Restartowano system
log_shutdown=Zatrzymano system
log_local=Zmodyfikowano skrypt startowy
log_bootup=Zmieniono akcjê startow± dla $1

edit_hostconfig_startup=Skrypt $1 jest uruchamiany podczas startu systemu, o&nbsp;ile ta akcja jest w³±czona. Mo¿esz go zmodyfikowaæ poni¿ej
edit_hostconfig_plist=Plik $1 ustawia pewne parametry odnosz±ce siê do skryptu startowego. Mo¿esz go zmodyfikowaæ poni¿ej
edit_hostconfig_new=Utwórz now± akcjê
edit_hostconfig_noquotes=Nie u¿ywaj znaków cytuj±cych w&nbsp;¿adnym polu oprócz pola $1.
edit_hostconfig_startitems=Pole $1 nie powinno zaczynaæ siê od cyfry ani od znaku podkre¶lenia oraz, umownie, wszystkie litery powinny byæ wielkimi literami. Pole $2 powinno byæ dozwolon± nazw± pliku nie zawieraj±c± kropki.
edit_hostconfig_actionname=Nazwa akcji
edit_hostconfig_scriptname=Nazwa skryptu
edit_hostconfig_array=Pola $1, $2, i&nbap;$3 s± polami tablicowymi i&nbap;mog± zawieraæ wiêcej ni¿ jedn± warto¶æ. Rozdzielaj warto¶ci dwukropkami.
edit_hostconfig_further=Po utworzeniu nowej akcji startowej, zostaniesz przekierowany na stronê umo¿liwiaj±c± zmianê skryptu startowego i&nbsp;listy parametrów, je¶li trzeba.
edit_hostconfig_hostconfig=Plik $1 steruje ogólnosystemowymi us³ugami i demonami, które s± uruchamiane podczas startu systemu. Mo¿esz go zmodyfikowaæ pomi¿ej.
edit_hostconfig_title=Zmieñ Hostconfig
070701000048b4000081a40000000000000002000000013d1fe2bc00000a26000000200000000000000000000000000000001300000003reloc/init/lang/pt    index_title=Iniciar e Encerrar
index_add=Criar nova acção de iniciar ou encerrar
index_reboot=Reiniciar o Sistema
index_rebootmsg=Clique neste botão para reiniciar imediatamente o sistema. Todos os utilizadores ligados serão desconectados e todos os serviços serão reiniciados.
index_shutdown=Encerrar Sistema
index_shutdownmsg=Clique neste botão para encerrar imediatamente o sistema. Todos os serviços serão terminados, todos os utilizadores desconectados e o sistema será desligado (se o seu hardware o suportar).
index_script=O script $1 abaixo listado será executado ao iniciar do sistema. Poderá adicionar comandos personalizados para que programas daemons ou servidores se iniciem quando reiniciar o sistema.
index_return=acções de iniciar e encerrar

edit_title=Editar Acção
create_title=Criar Acção
edit_ecannot=Você não está autorizado para editar acções de iniciar
edit_details=Detalhes de Acção
edit_name=Nome
edit_desc=Descrição
edit_startmsg=Mensagem ao iniciar
edit_stopmsg=Mensagem ao encerrar
edit_start=Commandos de iniciar
edit_stop=Comandos de encerrar
edit_script=Script de Acção
edit_badS=Devido ao facto desta acção não ter sido criada correctamente, será iniciada apenas no runlevel $1.
edit_badK=Devido ao facto desta acção não ter sido criada correctamente, será terminada apenas no runlevel $1.
edit_fix=Clique aqui de modo a fazer com que esta acção esteja disponível para outros runlevels
edit_levels=Runlevels para iniciar e parar em
edit_rl=Runlevel $1
edit_startat=Iniciar em
edit_stopat=Parar em
edit_startnow=Iniciar já
edit_stopnow=Parar já
edit_return=acção

save_err=Erro ao guardar acção
save_ecannot=Você não está autorizado para editar acções de iniciar
save_ealready=Um acção denominada de '$1' já existe
save_ewrite=Erro ao escrever para $1 : $2

ss_ecannot=Você não está autorizado para começar ou parar acções de iniciar
ss_start=Iniciar Acção
ss_stop=Parar Acção
ss_exec=A executar $1 ..

shutdown_ecannot=Você não está autorizado para encerrar o sistema
shutdown_title=Encerrar
shutdown_rusure=Tem a certeza que quer encerrar o sistema com o comando $1 ?
shutdown_ok=Encerrar Sistema
shutdown_exec=A encerrar sistema com o comando $1 ..

reboot_ecannot=Você não está autorizado para reiniciar o sistema
reboot_title=Reiniciar
reboot_rusure=Tem a certeza que quer reiniciar o sistema com o comando $1 ?
reboot_ok=Reiniciar Sistema
reboot_exec=A reiniciar sistema com o comando $1 ..

acl_script=Pode editar o script de iniciação?
acl_actions=Pode editar, criar e apagar acções?
acl_reboot=Pode reiniciar o sistema?
acl_shutdown=Pode encerrar o sistema?
  070701000048b5000081a40000000000000002000000013d1fe2bc00000a6c000000200000000000000000000000000000001600000003reloc/init/lang/ru_RU save_err=Îøèáêà ïðè ñîõðàíåíèè ñöåíàðèÿ
edit_badK=Ïîñêîëüêó äàííûé ñöåíàðèé áûë ñîçäàí íåïðàâèëüíî, îí áóäåò âûçâàí ïðè ïðè îñòàíîâêå, òîëüêî íà óðîâíå âûïîëíåíèÿ $1.
edit_badS=Ïîñêîëüêó äàííûé ñöåíàðèé áûë ñîçäàí íåïðàâèëüíî, îí áóäåò âûçâàí ïðè ñòàðòå òîëüêî íà óðîâíå âûïîëíåíèÿ $1.
index_rebootmsg=Íàæìèòå íà ýòó êíîïêó äëÿ ðåñòàðòà ñèñòåìû. Âñå ïîäêëþ÷åííûå ïîëüçîâàòåëè áóäóò îòêëþ÷åíû è âñå ñåðâèñû áóäóò ðåñòàðòîâàíû.
ss_ecannot=Âàì íå ðàçðåøåíî çàïóñêàòü èëè îñòàíàâëèâàòü ñòàðòîâûå ñöåíàðèè
shutdown_rusure=Âû óâåðåíû, ÷òî õîòèòå îñòàíîâèòü ñèñòåìó êîìàíäîé $1 ?
shutdown_ecannot=Âàì íå ðàçðåøåíî îñòàíàâëèâàòü ñèñòåìó
reboot_title=Ðåñòàðò Ñèñòåìû
edit_stopat=Ñòîï â
index_reboot=Ðåñòàðòîâàòü Ñèñòåìó
shutdown_exec=Îñòàíîâêà ñèñòåìû êîìàíäîé $1 ..
ss_exec=Âûïîëíåíèå $1 ..
ss_start=Ñòàðòîâûé Ñöåíàðèé
edit_startat=Ñòàðò â
edit_startnow=Ñòàðîâàòü Íåìåäëåííî
index_return=ñïèñîê ñöåíàðèåâ
edit_script=Òåêñò Ñöåíàðèÿ
acl_actions=Ìîæåò ðåäàêòèðîâàòü, ñîçäàâàòü è óäàëÿòü ñöåíàðèè?
acl_reboot=Ìîæåò ðåñòàðòîâàòü ñèñòåìó?
edit_details=Ïàðàìåòðû Ñöåíàðèÿ
create_title=Ñîçäàíèå Ñöåíàðèÿ
edit_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ñöåíàðèè ñòàðòà
edit_rl=Óðîâåíü $1
index_shutdownmsg=Íàæìèòå íà ýòó êíîïêó äëÿ íåìåäëåííîãî íà÷àëà ïðîöåññà îñòàíîâêè ñèñòåìû. Âñå ñåðâèñû áóäóò îñòàíîâëåíû, âñå ïîëüçîâàòåëè îòñîåäåíåíû è ïèòàíèå ñèñòåìû îòêëþ÷åíî (åñëè âàøà àïïàðàòóðà ïîääåðæèâàåò äàííóþ âîçìîæíîñòü).
index_add=Ñîçäàòü íîâûé ñöåíàèé äëÿ ñòàðòà èëè îñòàíîâêè
edit_start=Ñòàðòîâûå êîìàíäû
edit_title=Ðåäàêòèðîâàíèå Ñöåíàðèÿ
edit_desc=Îïèñàíèå
edit_stopmsg=Ñòîïîâîå ñîîáùåíèå
shutdown_title=Îñòàíîâêà Ñèñòåìû
acl_shutdown=Ìîæåò îñòàíàâëèâàòü ñèñòåìó?
edit_fix=Æìèòå ñþäà, ÷òîáû ñäåëàòü äàííûé ñöåíàðèé äîñòóïíûì äëÿ äðóãèõ óðîâíåé âûïîëíåíèÿ
reboot_ecannot=Âàì íå ðàçðåøåíî ðåñòàðòîâàòü ñèñòåìó
edit_stop=Ñòîïîâûå êîìàíäû
index_script=Ñöåíàðèé $1 óêàçàííûé íèæå áóäåò ïðîèãðûâàòüñÿ âî âðåìÿ ñòàðòà. Âû ìîæåòå äîáàâèòü âàøè ñîáñòâåííûå êîìàíäû äëÿ ðåñòàðòà äåìîíîâ èëè ñåðâåðîâ ïðè ðåñòàðòå ñèñòåìû.
index_shutdown=Îñòàíîâèòü Ñèñòåìó
index_title=Ñòàðò è Îñòàíîâ Ñèñòåìû
save_ewrite=Îøèáêà ïðè çàïèñè â $1 : $2
edit_startmsg=Ñòàðòîâîå ñîîáùåíèå
reboot_ok=Ðåñòàðòîâàòü Ñèñòåìó
edit_return=ñöåíàðèé
save_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ñòàðòîâûå ñöåíàðèè
edit_name=Èìÿ
edit_levels=Óðîâíè âûïîëíåíèÿ ïðè êîòîðûõ îñóùåñòâëÿåòñÿ ñòàðò è îñòàíîâêà
acl_script=Ìîæåò ðåäàêòèðîâàòü òåêñòû ñòàðòîâûõå ñöåíàðèåâè?
ss_stop=Ñöåíàðèé Îñòàíîâêè
shutdown_ok=Îñòàíîâèòü Ñèñòåìó
reboot_rusure=Âû óâåðåíû, ÷òî õîòèòå ðåñòàðòîâàòü ñèñòåìó êîìàíäîé $1 ?
reboot_exec=Ðåñòàðò ñèñòåìû êîìàíäîé $1 ..
save_ealready=Ñöåíàðèé ñ èìåíåì '$1' óæå ñóùåñòâóåò
edit_stopnow=Îñòàíîâèòü Íåìåäëåííî
070701000048b6000081a40000000000000002000000013d1fe2bc00000a72000000200000000000000000000000000000001600000003reloc/init/lang/ru_SU index_title=óÔÁÒÔ É ïÓÔÁÎÏ× óÉÓÔÅÍÙ
index_add=óÏÚÄÁÔØ ÎÏ×ÙÊ ÓÃÅÎÁÉÊ ÄÌÑ ÓÔÁÒÔÁ ÉÌÉ ÏÓÔÁÎÏ×ËÉ
index_reboot=òÅÓÔÁÒÔÏ×ÁÔØ óÉÓÔÅÍÕ
index_rebootmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÒÅÓÔÁÒÔÁ ÓÉÓÔÅÍÙ. ÷ÓÅ ÐÏÄËÌÀÞÅÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÂÕÄÕÔ ÏÔËÌÀÞÅÎÙ É ×ÓÅ ÓÅÒ×ÉÓÙ ÂÕÄÕÔ ÒÅÓÔÁÒÔÏ×ÁÎÙ.
index_shutdown=ïÓÔÁÎÏ×ÉÔØ óÉÓÔÅÍÕ
index_shutdownmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÎÅÍÅÄÌÅÎÎÏÇÏ ÎÁÞÁÌÁ ÐÒÏÃÅÓÓÁ ÏÓÔÁÎÏ×ËÉ ÓÉÓÔÅÍÙ. ÷ÓÅ ÓÅÒ×ÉÓÙ ÂÕÄÕÔ ÏÓÔÁÎÏ×ÌÅÎÙ, ×ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÏÔÓÏÅÄÅÎÅÎÙ É ÐÉÔÁÎÉÅ ÓÉÓÔÅÍÙ ÏÔËÌÀÞÅÎÏ (ÅÓÌÉ ×ÁÛÁ ÁÐÐÁÒÁÔÕÒÁ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÁÎÎÕÀ ×ÏÚÍÏÖÎÏÓÔØ).
index_script=óÃÅÎÁÒÉÊ $1 ÕËÁÚÁÎÎÙÊ ÎÉÖÅ ÂÕÄÅÔ ÐÒÏÉÇÒÙ×ÁÔØÓÑ ×Ï ×ÒÅÍÑ ÓÔÁÒÔÁ. ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÉÔØ ×ÁÛÉ ÓÏÂÓÔ×ÅÎÎÙÅ ËÏÍÁÎÄÙ ÄÌÑ ÒÅÓÔÁÒÔÁ ÄÅÍÏÎÏ× ÉÌÉ ÓÅÒ×ÅÒÏ× ÐÒÉ ÒÅÓÔÁÒÔÅ ÓÉÓÔÅÍÙ.
index_return=ÓÐÉÓÏË ÓÃÅÎÁÒÉÅ×

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ óÃÅÎÁÒÉÑ
create_title=óÏÚÄÁÎÉÅ óÃÅÎÁÒÉÑ
edit_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÃÅÎÁÒÉÉ ÓÔÁÒÔÁ
edit_details=ðÁÒÁÍÅÔÒÙ óÃÅÎÁÒÉÑ
edit_name=éÍÑ
edit_desc=ïÐÉÓÁÎÉÅ
edit_startmsg=óÔÁÒÔÏ×ÏÅ ÓÏÏÂÝÅÎÉÅ
edit_stopmsg=óÔÏÐÏ×ÏÅ ÓÏÏÂÝÅÎÉÅ
edit_start=óÔÁÒÔÏ×ÙÅ ËÏÍÁÎÄÙ
edit_stop=óÔÏÐÏ×ÙÅ ËÏÍÁÎÄÙ
edit_script=ôÅËÓÔ óÃÅÎÁÒÉÑ
edit_badS=ðÏÓËÏÌØËÕ ÄÁÎÎÙÊ ÓÃÅÎÁÒÉÊ ÂÙÌ ÓÏÚÄÁÎ ÎÅÐÒÁ×ÉÌØÎÏ, ÏÎ ÂÕÄÅÔ ×ÙÚ×ÁÎ ÐÒÉ ÓÔÁÒÔÅ ÔÏÌØËÏ ÎÁ ÕÒÏ×ÎÅ ×ÙÐÏÌÎÅÎÉÑ $1.
edit_badK=ðÏÓËÏÌØËÕ ÄÁÎÎÙÊ ÓÃÅÎÁÒÉÊ ÂÙÌ ÓÏÚÄÁÎ ÎÅÐÒÁ×ÉÌØÎÏ, ÏÎ ÂÕÄÅÔ ×ÙÚ×ÁÎ ÐÒÉ ÐÒÉ ÏÓÔÁÎÏ×ËÅ, ÔÏÌØËÏ ÎÁ ÕÒÏ×ÎÅ ×ÙÐÏÌÎÅÎÉÑ $1.
edit_fix=öÍÉÔÅ ÓÀÄÁ, ÞÔÏÂÙ ÓÄÅÌÁÔØ ÄÁÎÎÙÊ ÓÃÅÎÁÒÉÊ ÄÏÓÔÕÐÎÙÍ ÄÌÑ ÄÒÕÇÉÈ ÕÒÏ×ÎÅÊ ×ÙÐÏÌÎÅÎÉÑ
edit_levels=õÒÏ×ÎÉ ×ÙÐÏÌÎÅÎÉÑ ÐÒÉ ËÏÔÏÒÙÈ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÓÔÁÒÔ É ÏÓÔÁÎÏ×ËÁ
edit_rl=õÒÏ×ÅÎØ $1
edit_startat=óÔÁÒÔ ×
edit_stopat=óÔÏÐ ×
edit_startnow=óÔÁÒÏ×ÁÔØ îÅÍÅÄÌÅÎÎÏ
edit_stopnow=ïÓÔÁÎÏ×ÉÔØ îÅÍÅÄÌÅÎÎÏ
edit_return=ÓÃÅÎÁÒÉÊ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÓÃÅÎÁÒÉÑ
save_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÔÁÒÔÏ×ÙÅ ÓÃÅÎÁÒÉÉ
save_ealready=óÃÅÎÁÒÉÊ Ó ÉÍÅÎÅÍ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
save_ewrite=ïÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ × $1 : $2

ss_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÚÁÐÕÓËÁÔØ ÉÌÉ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÔÁÒÔÏ×ÙÅ ÓÃÅÎÁÒÉÉ
ss_start=óÔÁÒÔÏ×ÙÊ óÃÅÎÁÒÉÊ
ss_stop=óÃÅÎÁÒÉÊ ïÓÔÁÎÏ×ËÉ
ss_exec=÷ÙÐÏÌÎÅÎÉÅ $1 ..

shutdown_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÉÓÔÅÍÕ
shutdown_title=ïÓÔÁÎÏ×ËÁ óÉÓÔÅÍÙ
shutdown_rusure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÏÓÔÁÎÏ×ÉÔØ ÓÉÓÔÅÍÕ ËÏÍÁÎÄÏÊ $1 ?
shutdown_ok=ïÓÔÁÎÏ×ÉÔØ óÉÓÔÅÍÕ
shutdown_exec=ïÓÔÁÎÏ×ËÁ ÓÉÓÔÅÍÙ ËÏÍÁÎÄÏÊ $1 ..

reboot_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÓÔÁÒÔÏ×ÁÔØ ÓÉÓÔÅÍÕ
reboot_title=òÅÓÔÁÒÔ óÉÓÔÅÍÙ
reboot_rusure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÒÅÓÔÁÒÔÏ×ÁÔØ ÓÉÓÔÅÍÕ ËÏÍÁÎÄÏÊ $1 ?
reboot_ok=òÅÓÔÁÒÔÏ×ÁÔØ óÉÓÔÅÍÕ
reboot_exec=òÅÓÔÁÒÔ ÓÉÓÔÅÍÙ ËÏÍÁÎÄÏÊ $1 ..

acl_script=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÔÅËÓÔÙ ÓÔÁÒÔÏ×ÙÈÅ ÓÃÅÎÁÒÉÅ×É?
acl_actions=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ, ÓÏÚÄÁ×ÁÔØ É ÕÄÁÌÑÔØ ÓÃÅÎÁÒÉÉ?
acl_reboot=íÏÖÅÔ ÒÅÓÔÁÒÔÏ×ÁÔØ ÓÉÓÔÅÍÕ?
acl_shutdown=íÏÖÅÔ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÉÓÔÅÍÕ?
  070701000048b7000081a40000000000000002000000013d1fe2bc00000cb4000000200000000000000000000000000000001300000003reloc/init/lang/sv    index_title=Start och avstängning
index_add=Skapa en ny start- eller avstängningsfunktion
index_reboot=Starta om systemet
index_rebootmsg=Tryck på denna knapp för att omedelbart starta om systemet. Alla inloggade användare kommer att loggas ut och alla tjänster startas om.
index_shutdown=Stäng av systemet
index_shutdownmsg=Tryck på denna knapp för att omedelbart stänga av systemet. Alla tjänster kommer att stängas av, alla användare kommer att loggas ut och maskinen kommer att stängas av (om din hårdvara stödjer detta).
index_script=Scriptet $1 som visas nedan kommer att köras när systemet startar. Du kan lägga till egna kommandon för att starta demoner eller servrar när systemet startas om.
index_return=start- och avstängningsfunktioner
index_action=Funktion
index_desc=Beskrivning
index_boot=Starta vid systemstart?
index_status=Startad nu?

edit_title=Ändra funtion
create_title=Skapa funktion
edit_ecannot=Du får inte ändra startfunktioner
edit_details=Uppgifter om funktionen
edit_name=Namn
edit_desc=Beskrivning
edit_boot=Starta vid systemstart?
edit_startmsg=Startmeddelande
edit_stopmsg=Avstängningsmeddelande
edit_start=Startkommandon
edit_stop=Avstängningskommandon
edit_script=Funktionsscript
edit_badS=Eftersom denna funktion inte definierats på ett korrekt sätt, kommer den bara att köras på körnivå $1.
edit_badK=Eftersom denna funktion inte definierats på ett korrekt sätt, kommer den bara att avslutas på körnivå $1.
edit_fix=Tryck här för att göra funktionen tillgänglig för andra körnivåer
edit_levels=Körnivåer att köra och avsluta på
edit_rl=Körnivå $1
edit_startat=Starta
edit_stopat=Avsluta
edit_startnow=Starta nu
edit_stopnow=Avsluta nu
edit_restartnow=Starta om nu
edit_condrestartnow=Starta om ifall det behövs
edit_reloadnow=Ladda om nu
edit_statusnow=Visa status
edit_return=funktion
edit_status=Startad nu?
edit_unknown=Okänd

save_err=Det gick inte att spara funktion
save_ecannot=Du får inte ändra startfunktioner
save_ealready=Det finns redan en funktion som heter '$1'
save_ewrite=Det gick inte att skriva till $1: $2

ss_ecannot=Du får inte starta eller avsluta startfunktioner
ss_start=Startfunktion
ss_stop=Avstängningsfunktion
ss_restart=Omstartsfunktion
ss_reload=Omladdningsfunktion
ss_status=Funktionsstatus
ss_exec=Utför $1 ...

shutdown_ecannot=Du får inte stänga av systemet
shutdown_title=Stäng av
shutdown_rusure=Vill du verkligen stänga av systemet med kommandot $1?
shutdown_ok=Stäng av systemet
shutdown_exec=Stänger av med kommando $1 ...

reboot_ecannot=Du får inte starta om systemet
reboot_title=Starta om
reboot_rusure=Vill du verkligen starta om systemet med kommandot $1?
reboot_ok=Starta om systemet
reboot_exec=Startar om med kommando $1 ...

acl_script=Kunna ändra startscriptet?
acl_actions=Kunna ändra, skapa och ta bort funktioner?
acl_reboot=Kunna starta om systemet?
acl_shutdown=Kunna stänga av systemet?

log_rename=Bytte namn på funktion $1 till $2
log_modify=Modifierade funktion $1
log_create=Lade till funktion $1
log_delete=Tog bort funktion $1
log_start=Startade systemstartsfunktion $1
log_stop=Stannade systemstoppsfunktion $1
log_reboot=Startade om systemet
log_shutdown=Ta ned systemet
log_local=Modifierade systemstartsscript
log_bootup=Ändrade startfunktion för $1
070701000048b8000081a40000000000000002000000013d1fe2bc00000bd4000000200000000000000000000000000000001300000003reloc/init/lang/tr    index_title=Açýlýþ ve Kapanýþ
index_add=Yeni bir açýlýþ veya kapanýþ komutu ekle
index_reboot=Sistemi Yeniden Baþlat
index_rebootmsg=Bu butonu týkayarak makineyi hemen yeniden baþlatabilirsiniz.Sistemdeki bütün kullanýcýlarýn baðlantýsý kesilecek ve bütün servisler yeniden baþlatýlacaktýr.
index_shutdown=Sistemi kapat
index_shutdownmsg=Bu butonu týklayarak makineyi hemen kapatabilirsiniz.Sistemdeki büyün servisler durdurulup, bütün kullanýcýlarýn baðlantýsý kesilecek ve sistem kapatýlacaktýr(eðer donaným destekliyor ise)
index_script=$1 programcýðý açýlýþta çalýþacak olan programlarý listelemiþtir. Sistem yeniden baþlatýldýðýnda yeniden baþlatýlan daemon ya da sunuculara kendi komutlarýnýzý ekleyebilirsiniz.
index_return=açýlýþ ve kapanýþ hareketi
index_action=Servis
index_desc=Açýklama
index_boot=Açýlýþta baþlasýn mý?

edit_title=Servis Deðiþtir
create_title=Servis Oluþtur
edit_ecannot=Açýlýþ servisleri deðiþtirmeye hakkýnýz yotur
edit_details=Servis Ayarlarý
edit_name=Ýsim
edit_desc=Açýklama
edit_startmsg=Açýlýþ mesajý
edit_stopmsg=Kapanýþ mesajý
edit_start=Açýlýþ komutlarý
edit_stop=Kapanýþ komutlarý
edit_boot=Açýlýþta baþlatýlsýn mý?
edit_script=Servis Programcýðý 
edit_badS=Çünkü bu servis düzgün olarak oluþturulamadý,bu sadece çalýþma seviyesi $1 olarak baþlatýlabilir.
edit_badK=Çünkü bu servis düzgün olarak oluþturulamadý,bu sadece çalýþma seviyesi $1 olarak durdurulabilir.  
edit_fix=Butonu týklayarak bu servisi diðer çalýþma seviyelerine uygun hale getirebilirsiniz.
edit_levels= Baþlatma ve durdurmadaki çalýþma seviyeleri 
edit_rl=Çalýþma seviyesi $1
edit_startat=Baþla
edit_stopat=Dur
edit_startnow=Þimdi Baþlat
edit_stopnow=Þimdi Durdur
edit_return=servis

save_err=Servisi kaydetmede hata oluþtu
save_ecannot=Açýlýþ servislerini deðiþtirmeye hakkýnýz yoktur
save_ealready='$1' servisi her zaman mevcut.
save_ewrite=$1'e yazmada hata oluþtu : $2

ss_ecannot=Açýlýþ servislerini baþlatma ya da durdurmaya izininiz yoktur.
ss_start=Servis Baþlat 
ss_stop=Servis Durdur
ss_exec=$1 Çalýþtýrýlýyor ..

shutdown_ecannot=Sistemi kapatmaya izininiz yoktur
shutdown_title=Kapanýþ
shutdown_rusure=$1 komutu ile sistemi kapatmak istediðiniza eminmisiniz?
shutdown_ok=Sistemi Kapat
shutdown_exec=$1 komutu ile kapatýlýyor ..

reboot_ecannot=Sistemi tekrar baþlatmaya izininiz yoktur
reboot_title=Tekrar Baþlat
reboot_rusure=Sisteminizi $1komutu ile tekrar baþlatman istediðinizden eminmisiniz ?
reboot_ok=Sistemi Tekrar Baþlat
reboot_exec=$1 komutu ile yeniden baþlatýlýyor ..

acl_script=Açýlýþ programcýðýný deðiþtirebilsin?
acl_actions=Deðiþtirme, oluþturma ya da silme servislerini yapabilsin?
acl_reboot=Sistemi yeniden baþlatabilsin?
acl_shutdown=Sistemi kapatabilsin?

log_rename=Ýþlem $1, $2 olarak yeniden isimlendirildi
log_modify=Ýþlem $1 deðiþtirildi
log_create=Ýþlem $1 oluþturuldu
log_delete=Ýþlem $1 silindi
log_start=Açýlýþ iþlemi $1 baþlatýldý
log_stop=Kapanýþ iþlemi $1 durduruldu
log_reboot=Sistem yeniden baþlatýldý
log_shutdown=Sistem kapatýldý
log_local=Açýlýþ betiði deðiþtirildi
070701000048b9000081a40000000000000002000000013d1fe2bc00000796000000200000000000000000000000000000001600000003reloc/init/lang/zh_CN index_title=Òýµ¼ºÍ¹Ø»ú
index_add=´´½¨Ò»¸öÐÂµÄÒýµ¼»ò¹Ø»ú²Ù×÷
index_reboot=ÖØÆôÏµÍ³
index_rebootmsg=°´¸Ã°´Å¥½«Á¢¼´ÖØÆôÏµÍ³¡£µ±Ç°ËùÓÐµÇÂ¼ÓÃ»§½«±»¶Ï¿ª£¬ËùÓÐ·þÎñ½«±»ÖØÆô¡£
index_shutdown=¹Ø»ú
index_shutdownmsg=°´¸Ã°´Å¥½«Á¢¼´¹Ø±ÕÏµÍ³¡£ËùÓÐ·þÎñ½«±»ÖÐÖ¹£¬ËùÓÐÓÃ»§½«±»¶Ï¿ª£¬µçÔ´±»¹Øµô(Èç¹ûÄúµÄÓ²¼þÖ§³ÖµÄ»°)¡£
index_script=Æô¶¯Ê±ÔËÐÐÏÂÃæµÄ½Å±¾ $1¡£Äú¿ÉÒÔ¼ÓÈë×Ô¼ºµÄÃüÁîÊ¹ÏµÍ³ÖØÆôÊ±ÖØÆôÊØ»¤½ø³Ì»ò·þÎñÆ÷¡£
index_return=Òýµ¼»ò¹Ø»ú¶¯×÷
index_action=²Ù×÷
index_desc=ÃèÊö
index_boot=¿ªÊ¼Òýµ¼£¿
edit_title=±à¼­²Ù×÷
create_title=´´½¨²Ù×÷
edit_ecannot=ÄúÎÞÈ¨±à¼­Æô¶¯²Ù×÷
edit_details=²Ù×÷Ï¸½Ú
edit_name=Ãû×Ö
edit_desc=ÃèÊö
edit_startmsg=Æô¶¯ÏûÏ¢
edit_stopmsg=¹Ø»úÏûÏ¢
edit_start=Æô¶¯ÃüÁî
edit_stop=¹Ø»úÃüÁî
edit_script=²Ù×÷½Å±¾
edit_boot=ÔÚÒýµ¼Ê±Æô¶¯£¿
edit_badS=ÒòÎªÕâ¸ö²Ù×÷´´½¨²»ÕýÈ·£¬Ö»ÄÜÒÔÔËÐÐ¼¶±ð$1Æô¶¯¡£
edit_badK=ÒòÎªÕâ¸ö²Ù×÷´´½¨²»ÕýÈ·£¬Ö»ÄÜÒÔÔËÐÐ¼¶±ð$1Í£Ö¹¡£
edit_fix=µã»÷ÕâÀïÊ¹Õâ¸ö²Ù×÷ÄÜÎªÆäËüÔËÐÐ¼¶±ðËùÓÃ¡£
edit_levels=¿ªÊ¼ºÍÍ£Ö¹µÄÔËÐÐ¼¶±ð
edit_rl=ÔËÐÐ¼¶±ð $1
edit_startat=¿ªÊ¼ÔÚ
edit_stopat=Í£Ö¹ÔÚ
edit_startnow=ÏÖÔÚ¿ªÊ¼
edit_stopnow=ÏÖÔÚÍ£Ö¹
edit_return=²Ù×÷
save_err=±£´æ²Ù×÷Ê§°Ü
save_ecannot=ÄúÎÞÈ¨±à¼­Æô¶¯²Ù×÷
save_ealready=²Ù×÷'$1' ÒÑ´æÔÚ
save_ewrite=Ð´$1 : $2Ê§°Ü
ss_ecannot=ÄúÎÞÈ¨¿ªÊ¼»òÍ£Ö¹Æô¶¯²Ù×÷
ss_start=¿ªÊ¼²Ù×÷
ss_stop=Í£Ö¹²Ù×÷
ss_exec=Ö´ÐÐ $1 ..
shutdown_ecannot=ÄúÎÞÈ¨¹Ø±ÕÏµÍ³
shutdown_title=¹Ø»ú
shutdown_rusure=ÄúÈ·ÊµÒªÓÃÕâ¸öÃüÁî¹Ø±ÕÏµÍ³ $1 £¿
shutdown_ok=¹Ø±ÕÏµÍ³
shutdown_exec=ÓÃÃüÁî $1 ..¹Ø±ÕÏµÍ³
reboot_ecannot=ÄúÎÞÈ¨ÖØÐÂÆô¶¯ÏµÍ³
reboot_title=ÖØÆô
reboot_rusure=ÄúÈ·ÊµÒªÓÃÕâ¸öÃüÁîÖØÆôÏµÍ³ $1 £¿
reboot_ok=ÖØÐÂÆô¶¯ÏµÍ³
reboot_exec=ÓÃÃüÁî $1 ..ÖØÆôÏµÍ³
acl_script=ÄÜ±à¼­Æô¶¯½Å±¾£¿
acl_actions=ÄÜ±à¼­¡¢´´½¨ºÍÉ¾³ý²Ù×÷£¿
acl_reboot=ÄÜÖØÐÂÆô¶¯ÏµÍ³£¿
acl_shutdown=ÄÜ¹Ø±ÕÏµÍ³£¿
log_rename=½«²Ù×÷ $1 ¸ÄÃûÎª$2
log_modify=¸üÐÂ²Ù×÷ $1
log_create=´´½¨²Ù×÷ $1
log_delete=É¾³ý²Ù×÷ $1
log_start=ÒÑÆô¶¯Òýµ¼²Ù×÷$1
log_stop=ÒÑÍ£Ö¹¹Ø±Õ²Ù×÷ $1
log_reboot=ÖØÐÂÒýµ¼ÏµÍ³
log_shutdown=¹Ø±ÕÏµÍ³
log_local=¸üÐÂÏµÍ³Òýµ¼½Å±¾
log_bootup=ÒÑÎª $1 ¸Ä±äÁËÒýµ¼²Ù×÷
  070701000048ba000081a40000000000000002000000013d1fe2bc0000075a000000200000000000000000000000000000001b00000003reloc/init/lang/zh_TW.Big5    index_title=¶}¾÷»PÃö¾÷
index_add=«Ø¥ß·sªº¶}¾÷©ÎÃö¾÷°Ê§@
index_reboot=­«·s±Ò°Ê¨t²Î
index_rebootmsg=«ö¤U³o­Ó«ö¶s¥H¥ß¨è­«·s±Ò°Ê³o­Ó¨t²Î. ©Ò¦³¥Ø«eµn¤Jªº¨Ï¥ÎªÌ³£·|Â_½u, ¦Ó¥B©Ò¦³ªºªA°È³£·|­«·s±Ò°Ê.
index_shutdown=Ãö³¬¨t²Î
index_shutdownmsg=«ö¤U³o­Ó«ö¶s¥H¥ß¨èÃö³¬³o­Ó¨t²Î. ©Ò¦³ªºªA°È³£·|°±¤î, ©Ò¦³ªº¨Ï¥ÎªÌ³£·|Â_½u¦Ó¥B¨t²Îªº¹q·½·|Ãö³¬ (¦pªG±zªºµwÅé¤ä´©ªº¸Ü).
index_script=¦C¦b¤U­±ªº©R¥O½Z $1 ±N·|¦b¶}¾÷®É°õ¦æ. ±z¥i¥H¥[¤J±z¦Û¤vªº«ü¥O¥H¨Ï¦øªA¾¹©Î¦uÅ@¾¹¦b¨t²Î·s±Ò°Ê®É¸òµÛ­«·s±Ò°Ê.
index_return=¶}¾÷»PÃö¾÷°Ê§@
index_action=°Ê§@
index_desc=»¡©ú

edit_title=½s¿è°Ê§@
create_title=«Ø¥ß°Ê§@
edit_ecannot=±z¤£³Q¤¹³\½s¿è°Ê§@
edit_details=°Ê§@¸Ô²Ó¸ê®Æ
edit_name=¦WºÙ
edit_desc=»¡©ú
edit_startmsg=±Ò°Ê°T®§
edit_stopmsg=°±¤î°T®§
edit_start=±Ò°Ê«ü¥O
edit_stop=°±¤î«ü¥O
edit_script=°Ê§@©R¥O½Z
edit_boot=¬O§_¦b¶}¾÷®É±Ò°Ê?
edit_badS=¦]¬°³o­Ó°Ê§@¨S¦³¥¿½Tªº«Ø¥ß, ©Ò¥H¥u·|¦b°õ¦æ¶¥¼h $1 ¤¤±Ò°Ê.
edit_badK=¦]¬°³o­Ó°Ê§@¨S¦³¥¿½Tªº«Ø¥ß, ©Ò¥H¥u·|¦b°õ¦æ¶¥¼h $1 ¤¤°±¤î.
edit_fix=«ö¤U³o®É¤w¨Ï±o³o­Ó°Ê§@¥i¥H¦b¨ä¥L°õ¦æ¶¥¼h¤¤¨Ï¥Î
edit_levels=­n±Ò°Ê»P°±¤îªº°õ¦æ¶¥¼h
edit_rl=°õ¦æ¶¥¼h $1
edit_startat=±Ò°Ê¶¶§Ç
edit_stopat=°±¤î¶¶§Ç
edit_startnow=¥ß¨è±Ò°Ê
edit_stopnow=¥ß¨è°±¤î
edit_return=°Ê§@

save_err=µLªkÀx¦s°Ê§@
save_ecannot=±z¤£³Q¤¹³\½s¿è¶}¾÷°Ê§@
save_ealready=¥s°µ '$1' ªº°Ê§@¤w¸g¦s¦b
save_ewrite=µLªk¼g¤J¨ì $1 : $2

ss_ecannot=±z¤£³Q¤¹³\±Ò°Ê©Î°±¤î¶}¾÷°Ê§@
ss_start=¶}©l°Ê§@
ss_stop=°±¤î°Ê§@
ss_exec=°õ¦æ $1 ¤¤...

shutdown_ecannot=±z¤£³Q¤¹³\Ãö³¬³o­Ó¨t²Î
shutdown_title=Ãö¾÷
shutdown_rusure=±z¬O§_½T©w­n¥H«ü¥O $1 Ãö³¬³o­Ó¨t²Î?
shutdown_ok=Ãö³¬¨t²Î
shutdown_exec=¥H©R¥O $1 Ãö³¬¨t²Î¤¤...

reboot_ecannot=±z¤£³Q¤¹³\­«·s±Ò°Ê³o­Ó¨t²Î
reboot_title=­«·s±Ò°Ê
reboot_rusure=±z¬O§_½T©w­n¥H«ü¥O $1 ­«·s±Ò°Ê³o­Ó¨t²Î?
reboot_ok=­«·s±Ò°Ê¨t²Î
reboot_exec=¥H©R¥O $1 ­«·s±Ò°Ê¨t²Î¤¤...

acl_script=¬O§_¥i¥H½s¿è¶}¾÷©R¥O½Z?
acl_actions=¬O§_¥i¥H½s¿è, «Ø¥ß»P§R°£°Ê§@?
acl_reboot=¬O§_¥i¥H­«·s±Ò°Ê³o­Ó¨t²Î?
acl_shutdown=¬O§_¥i¥HÃö³¬³o­Ó¨t²Î?

  070701000002d3000081a40000000000000002000000013d1fe2bc00000488000000200000000000000000000000000000001900000003reloc/init/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'init-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'modify') {
	if ($p->{'old'} ne $p->{'name'}) {
		return &text('log_rename', "<tt>$p->{'old'}</tt>",
					   "<tt>$p->{'name'}</tt>");
		}
	else {
		return &text('log_modify', "<tt>$object</tt>");
		}
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
elsif ($action eq 'start') {
	return &text('log_start', "<tt>$object</tt>");
	}
elsif ($action eq 'stop') {
	return &text('log_stop', "<tt>$object</tt>");
	}
elsif ($action eq 'reboot') {
	return $text{'log_reboot'};
	}
elsif ($action eq 'shutdown') {
	return $text{'log_shutdown'};
	}
elsif ($action eq 'local') {
	return $text{'log_local'};
	}
elsif ($action eq 'bootup') {
	return &text('log_bootup', join(" , ", map { "<tt>$_</tt>" } keys %$p));
	}
else {
	return undef;
	}
}

070701000002d4000081a40000000000000002000000013d1fe2bc00000014000000200000000000000000000000000000001400000003reloc/init/low.risk   bootup=0
noconfig=1
070701000002d6000081a40000000000000002000000013d1fe2bc00000014000000200000000000000000000000000000001700000003reloc/init/medium.risk    bootup=2
noconfig=1
070701000002d5000081e40000000000000002000000013d1fe2bc00000437000000200000000000000000000000000000001f00000003reloc/init/mass_start_stop.cgi    #!/usr/local/bin/perl
# mass_start_stop.cgi
# Start or stop multiple actions at once

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error($text{'ss_ecannot'});
&foreign_require("proc", "proc-lib.pl");
&ReadParse();
@sel = split(/\0/, $in{'idx'});
@sel || &error($text{'mass_enone'});

# build list of normal and broken actions
@iacts = &list_actions();
foreach $a (@iacts) {
	@ac = split(/\s+/, $a);
	push(@acts, $ac[0]);
	push(@actsf, $ac[0] =~ /^\// ? $ac[0]
				     : "$config{'init_dir'}/$ac[0]");
	}

$| = 1;
$theme_no_table++;
&header($in{'start'} ? $text{'mass_start'} : $text{'mass_stop'}, "");
print "<hr>\n";
foreach $idx (@sel) {
	local $cmd = "$actsf[$idx] ".($in{'start'} ? "start" : "stop");
	print &text('ss_exec', "<tt>$cmd</tt>"),"<p>\n";
	print "<pre>";
	&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1);
	print "</pre>\n";
	push(@selacts, $acts[$idx]);
	}
&webmin_log($in{'start'} ? 'massstart' : 'massstop', 'action',
	    join(" ", @selacts));
print "<hr>\n";
&footer("", $text{'index_return'});
 070701000002d7000081e40000000000000002000000013d1fe2bc00000441000000200000000000000000000000000000002000000003reloc/init/modifyhostconfig.cgi   #!/usr/local/bin/perl
# modifyhostconfig.cgi
# Rewrites the hostconfig file

# Written by Michael A. Peters <mpeters@mac.com>
# for OSX/Darwin

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error("You are not allowed to edit the bootup script");
&ReadParse();

if ( $in{'choice'} eq "custom" ) {
	$setting = $in{'custom'};
	}
else {
	$setting = $in{'choice'};
	}
	
if ( $setting =~ /^\%22(.*)\%22$/ ) {
	$setting = $1;
	}
	
$setting =~ s/\+/ /g;
if ( $setting =~ /[ ]/ ) {
	$setting = "\"$setting\"";
	}

# not all possibile blunders are fixed, but at least intelligently
# made ones...

$setting = "$in{'action'}=$setting";

$hostc = $config{'hostconfig'};
# modify and write the hostconfig file
@new = ();
&lock_file($config{'hostconfig'});
open(LOCAL, "$hostc");
@old = <LOCAL>;
close(LOCAL);
foreach $line (@old) {
	$line =~ s/^$in{'action'}=(.*)$/$setting/;
	push @new, $line;
	}

open(LOCAL, "> $config{'hostconfig'}");
print LOCAL @new;
close(LOCAL);
&unlock_file($config{'hostconfig'});
&webmin_log("hostconfig", undef, undef, "\%in");
&redirect("");
   07070100000310000081a40000000000000002000000013d1fe2ea00000314000000200000000000000000000000000000001700000003reloc/init/module.info    desc_ru_SU=óÔÁÒÔ É ïÓÔÁÎÏ× óÉÓÔÅÍÙ
risk=low medium high
desc_ko_KR.euc=ºÎÆÃ ¹× Á¾·á 
desc_zh_TW.Big5=¶}¾÷»PÃö¾÷
desc_pl=Start i&nbsp;zamykanie systemu
desc_de=System Start und Stop
name=Boot Manager
desc_zh_CN=Òýµ¼ºÍ¹Ø»ú
desc_pt=Iniciar e Encerrar
category=system
desc_tr=Açýlýþ ve Kapanýþ
os_support=solaris redhat-linux mandrake-linux debian-linux suse-linux hpux slackware-linux freebsd unixware openserver open-linux turbo-linux openbsd corel-linux cobalt-linux cobalt-linux osf1 irix aix macos netbsd msc-linux generic-linux
desc=Bootup and Shutdown
desc_es=Arranque y Parada
desc_sv=Start och avstängning
desc_fr=Actions de démarrage et d'arrêt
desc_ja_JP.euc=µ¯Æ°¤ª¤è¤Ó¥·¥ã¥Ã¥È¥À¥¦¥ó
depends=proc 0.990
version=0.990
desc_ca=Engegada i Tancament
desc_ru_RU=Ñòàðò è Îñòàíîâ Ñèñòåìû
07070100000311000081e40000000000000002000000013d1fe2bc000002f8000000200000000000000000000000000000001600000003reloc/init/reboot.cgi #!/usr/local/bin/perl
# reboot.cgi
# Reboot the system immediately..

require './init-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'reboot'} || &error($text{'reboot_ecannot'});
&header($text{'reboot_title'}, "");
print "<hr><p>\n";
$ttcmd = "<tt>$config{'reboot_command'}</tt>";
if ($in{'confirm'}) {
	print "<font size=+1>",&text('reboot_exec', $ttcmd),"</font><p>\n";
	&system_logged("$config{'reboot_command'} >/dev/null 2>/dev/null");
	&webmin_log("reboot");
	}
else {
	print "<font size=+1>",&text('reboot_rusure', $ttcmd),"</font>\n";
	print "<center><form action=reboot.cgi>\n";
	print "<input type=submit value=\"$text{'reboot_ok'}\" name=confirm>\n";
	print "</form></center>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

07070100000312000081e40000000000000002000000013d1fe2bc00001b9c000000200000000000000000000000000000001b00000003reloc/init/save_action.cgi    #!/usr/local/bin/perl
# save_action.cgi
# Save or create an action

require './init-lib.pl';
&error_setup($text{'save_err'});
%access = &get_module_acl();
$access{'bootup'} || &error($text{'save_ecannot'});
&ReadParseMime();

# Check inputs
$in{'extra'} || $in{name} =~ /^[A-z0-9\_\-\.]+$/ ||
	&error("$in{name} is not a valid action name");
$dig = $config{'order_digits'};
foreach $rl (&list_runlevels()) {
	# If no priority was given for start/stop, make it 99
	if ($in{"S$rl"}) {
		if (!$in{"pri_S$rl"}) {
			$in{"pri_S$rl"} = "9" x $dig;
			}
		else {
			$in{"pri_S$rl"} = sprintf "%${dig}.${dig}d",
						  $in{"pri_S$rl"};
			}
		}
	if ($in{"K$rl"}) {
		if (!$in{"pri_K$rl"}) {
			$in{"pri_K$rl"} = "9" x $dig;
			}
		else {
			$in{"pri_K$rl"} = sprintf "%${dig}.${dig}d",
						  $in{"pri_K$rl"};
			}
		}
	}

if ($in{'old'} && $in{'type'} == 0) {
	# Changing a 'sane' action
	local $dd = $config{'daemons_dir'};
	$in{data} =~ s/\r//g;
	if ($in{old} ne $in{name}) {
		# Need to rename the action..
		if (-r &action_filename($in{name})) {
			&error(&text('save_ealready', $in{name}));
			}
		&rename_action($in{old}, $in{name});
		if ($dd) {
			# Need to rename the caldera daemons file too
			&rename_logged("$dd/$in{old}", "$dd/$in{name}");
			&lock_file("$dd/$in{'name'}");
			&read_env_file("$dd/$in{name}", \%daemon);
			$daemon{'IDENT'} = $in{'name'}
				if ($daemon{'IDENT'} eq $in{'old'});
			&write_env_file("$dd/$in{name}", \%daemon);
			}
		}
	&lock_file("$dd/$in{'name'}") if ($dd);
	$file = &action_filename($in{name});
	&lock_file($file);
	foreach (&action_levels('S', $in{name})) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		$slvl{$1} = $2;
		}
	foreach (&action_levels('K', $in{name})) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		$klvl{$1} = $2;
		}
	if ($config{'expert'}) {
		# Update all runlevels
		foreach $rl (&list_runlevels()) {
			if ($in{"S$rl"} && !$slvl{$rl}) {
				&add_rl_action($in{name}, $rl,
					       'S', $in{"pri_S$rl"});
				}
			elsif (!$in{"S$rl"} && $slvl{$rl}) {
				&delete_rl_action($in{name}, $rl, 'S');
				}
			elsif ($in{"pri_S$rl"} != $slvl{$rl}) {
				&reorder_rl_action($in{name}, $rl,
						   'S', $in{"pri_S$rl"});
				}
			if ($in{"K$rl"} && !$klvl{$rl}) {
				&add_rl_action($in{name}, $rl,
					       'K', $in{"pri_K$rl"});
				}
			elsif (!$in{"K$rl"} && $klvl{$rl}) {
				&delete_rl_action($in{name}, $rl, 'K');
				}
			elsif ($in{"pri_K$rl"} != $klvl{$rl}) {
				&reorder_rl_action($in{name}, $rl,
						   'K',$in{"pri_K$rl"});
				}
			}

		if (defined($in{'boot'}) && $dd) {
			# Update onboot flag in daemons file
			&read_env_file("$dd/$in{'name'}", \%daemon);
			$daemon{'ONBOOT'} = $in{'boot'} ? 'yes' : 'no';
			&write_env_file("$dd/$in{'name'}", \%daemon);
			}
		}
	else {
		# Just change whether it gets started or not
		@boot = &get_inittab_runlevel();
		if ($in{'boot'} && !$in{'oldboot'}) {
			# Start at boot time
			&add_rl_action($in{'name'}, $boot[0], 'S', "9" x $dig);
			if ($dd && &read_env_file("$dd/$in{'name'}",\%daemon)) {
				$daemon{'ONBOOT'} = 'yes';
				&write_env_file("$dd/$in{'name'}", \%daemon);
				}
			}
		elsif (!$in{'boot'} && $in{'oldboot'}) {
			# Don't start at boot time
			if ($dd && &read_env_file("$dd/$in{'name'}",\%daemon)) {
				# Just update the daemons file
				$daemon{'ONBOOT'} = 'no';
				&write_env_file("$dd/$in{'name'}", \%daemon);
				}
			else {
				# Remove the S links
				foreach (&action_levels('S', $in{name})) {
					/^(\S+)\s+(\S+)\s+(\S+)$/;
					&delete_rl_action($in{name}, $1, 'S');
					}
				}
			}
		}
	open(ACTION, ">$file");
	print ACTION $in{data};
	close(ACTION);
	&unlock_file($file);
	&unlock_file("$dd/$in{'name'}") if ($dd);
	delete($in{'data'});
	&webmin_log("modify", "action", $in{'name'}, \%in);
	}
elsif ($in{'old'} && $in{'type'} == 1) {
	# Changing an odd action
	$in{data} =~ s/\r//g;
	$file = &runlevel_filename($in{runlevel}, $in{startstop},
				   $in{number}, $in{name});
	&lock_file($file);
	if ($in{old} ne $in{name}) {
		if (-r &action_filename($in{name})) {
			&error("An action called $in{name} already exists");
			}
		&rename_rl_action($in{runlevel}, $in{startstop}, $in{number},
				  $in{old}, $in{name});
		}
	open(ACTION, "> $file");
	print ACTION $in{data};
	close(ACTION);
	&unlock_file($file);
	delete($in{'data'});
	&webmin_log("modify", "action", $in{'name'}, \%in);
	}
else {
	# Creating a new action, and add it to multiple runlevels
	if (-r &action_filename($in{name})) {
		&error(&text('save_ealready', $in{name}));
		}
	@boot = &get_inittab_runlevel();
	&lock_file(&action_filename($in{name}));
	$in{desc} =~ s/\r//g; $in{start} =~ s/\r//g; $in{stop} =~ s/\r//g;
	$data = "#!/bin/sh\n";
	if ($config{'chkconfig'}) {
		# Redhat-style description: and chkconfig: lines
		$desc = "description:";
		foreach (split(/\n/, $in{desc})) {
			$data .= "# $desc $_\n";
			$desc = " " x length($desc);
			}
		$startorder = "9" x $dig;
		$stoporder = "0" x $dig;
		foreach $rl (&list_runlevels()) {
			$startorder = $in{"pri_S$rl"} if ($in{"S$rl"});
			$stoporder = $in{"pri_K$rl"} if ($in{"K$rl"});
			}
		$data .= "# chkconfig: $config{'chkconfig'} ".
			 "$startorder $stoporder\n";
		}
	elsif ($config{'init_info'}) {
		# Suse-style init info section
		$data .= "### BEGIN INIT INFO\n".
			 "# Provides: $in{'name'}\n".
			 "# Default-Start: $boot[0]\n".
			 "# Description: $in{'desc'}\n".
			 "### END INIT INFO\n";
		}
	else {
		foreach (split(/\n/, $in{'desc'})) {
			$data .= "# $_\n";
			}
		}
	$data .= "\ncase \"\$1\" in\n";
	if ($config{'start_stop_msg'}) {
		$data .= "'start_msg')\n";
		$data .= "\techo \"$in{'start_msg'}\"\n";
		$data .= "\t;;\n";
		$data .= "'stop_msg')\n";
		$data .= "\techo \"$in{'stop_msg'}\"\n";
		$data .= "\t;;\n";
		}
	$subsys = $config{'subsys'};
	$data .= "'start')\n";
	foreach (split(/\n/, $in{start})) {
		$data .= "\t$_\n";
		}
	if ($subsys) {
		$data .= "\ttouch $subsys/$in{'name'}\n";
		}
	$data .= "\t;;\n";
	$data .= "'stop')\n";
	foreach (split(/\n/, $in{stop})) {
		$data .= "\t$_\n";
		}
	if ($subsys) {
		$data .= "\trm -f $subsys/$in{'name'}\n";
		}
	$data .= "\t;;\n";
	$data .= "*)\n";
	if ($config{'start_stop_msg'}) {
		$data .= "\techo \"Usage: \$0 { start | stop | start_msg | stop_msg }\"\n";
		}
	else {
		$data .= "\techo \"Usage: \$0 { start | stop }\"\n";
		}
	$data .= "\t;;\n";
	$data .= "esac\n";
	$data .= "exit 0\n";
	$file = &action_filename($in{name});
	open(ACTION, "> $file") || &error(&text('save_ewrite', $file, $!));
	print ACTION $data;
	close(ACTION);
	chmod(0755, $file);

	if ($config{'expert'}) {
		# Make links from runlevels
		foreach $rl (&list_runlevels()) {
			if ($in{"S$rl"}) {
				&add_rl_action($in{name}, $rl, 'S',
					       $in{"pri_S$rl"});
				}
			if ($in{"K$rl"}) {
				&add_rl_action($in{name}, $rl, 'K',
					       $in{"pri_K$rl"});
				}
			}
		}
	else {
		# Just make one runlevel link
		if ($in{'boot'}) {
			&add_rl_action($in{'name'}, $boot[0], 'S', "9" x $dig);
			}
		}
	&unlock_file(&action_filename($in{name}));
	delete($in{'data'});
	&webmin_log("create", "action", $in{'name'}, \%in);
	}
&redirect("");

07070100000313000081e40000000000000002000000013d1fe2bc000005b7000000200000000000000000000000000000001b00000003reloc/init/save_bootup.cgi    #!/usr/local/bin/perl
# save_bootup.cgi
# Change whether lots of actions are run at boot or not

require './init-lib.pl';
&ReadParse();

@iacts = &list_actions();
foreach $a (@iacts) {
	local @ac = split(/\s+/, $a);
	$acts{$ac[0]} = \@ac;
	}
@boot = &get_inittab_runlevel();
$dd = $config{'daemons_dir'};
$dig = $config{'order_digits'};

# Go through all the changed actions
foreach $a (keys %in) {
	next if (!$acts{$a});

	# Get current status
	local ($boot, $rlboot, %daemon, $daemon);
	foreach $s (&action_levels('S', $a)) {
		local ($l, $p) = split(/\s+/, $s);
		$rlboot = $boot = 1 if (&indexof($l, @boot) >= 0);
		}
	if ($dd && &read_env_file("$dd/$a", \%daemon)) {
		$daemon = 1;
		}
	if ($boot && $daemon) {
		$boot = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
		}

	if (!$boot && $in{$a}) {
		# Change to start at boot
		&add_rl_action($a, $boot[0], 'S', "9" x $dig) if (!$rlboot);
		if ($daemon) {
			&lock_file("$dd/$a");
			$daemon{'ONBOOT'} = 'yes';
			&write_env_file("$dd/$a", \%daemon);
			&unlock_file("$dd/$a");
			}
		$done{$a} = 1;
		}
	elsif ($boot && !$in{$a}) {
		# Change to stop at boot
		if ($daemon) {
			&lock_file("$dd/$a");
			$daemon{'ONBOOT'} = 'no';
			&write_env_file("$dd/$a", \%daemon);
			&unlock_file("$dd/$a");
			}
		else {
			foreach (&action_levels('S', $a)) {
				/^(\S+)\s+(\S+)\s+(\S+)$/;
				&delete_rl_action($a, $1, 'S');
				}
			}
		$done{$a} = 0;
		}
	}
&webmin_log("bootup", undef, undef, \%done);
&redirect("");

 07070100000314000081e40000000000000002000000013d1fe2bc00001245000000200000000000000000000000000000002600000003reloc/init/save_hostconfig_action.cgi #!/usr/local/bin/perl
# save_hostconfig_action.cgi
#
# Creates a new StartupItems directory containing a script and
# plist, and adds the appropriate entry into the hostconfig file.
#
# Written by Michael A. Peters <mpeters@mac.com> for the webmin init 
# module for Darwin and OS X.

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error("You are not allowed to edit the bootup script");
&ReadParse();

#make sure required fields have been filled out
if ( $in{'action_name'} eq "" ) {
	&error("The $text{'edit_hostconfig_actionname'} field may not be left blank");
	}
elsif ( $in{'script_name'} eq "" ) {
	&error("The $text{'edit_hostconfig_scriptname'} field may not be left blank");
	}
elsif ( $in{'execute'} eq "" ) {
	&error("The $text{'edit_start'} field may not be left blank");
	}
	
#check for legality of action name and script name
if (not $in{'action_name'}=~ /^[A-Z][A-Z0-9_]*$/ ) {
	&error("The $text{'edit_hostconfig_actionname'} should contain only upper case letters, numbers, and _ and should start with an upper case letter");
	}
else {
	#make sure action name is not in use
	open(LOCAL, $config{'hostconfig'});
	@temp = <LOCAL>;
	close(LOCAL);
	foreach $element (@temp) {
		if ($element =~ /^$in{'action_name'}=(.*)$/ ) {
			&error("$in{'action_name'} is already in use. Please choose another value for $text{'edit_hostconfig_actionname'}");
			}
		}
	}
if (not $in{'script_name'}=~ /^[A-Za-z0-9_-]*$/ ) {
	&error("The $text{'edit_hostconfig_scriptname'} should contain only letters, numbers, _, and -");
	}
else {
	if ( -d "$config{'darwin_setup'}/$in{'script_name'}" ) {
	# Perl does know about hfs+ preservation but not sensitivity-
	# I checked :)
		&error("$in{'script_name'} is already in use for another action. Please choose another value for $text{'edit_hostconfig_scriptname'}");
		}
	}

#assign values	
$in{'execute'} =~ s/\r//g;
if ( $in{'start'} eq "" ) {
	$in{'start'} = "Starting $in{'script_name'}";
	}
if ( $in{'stop'} eq "" ) {
	$in{'stop'} = "Stopping $in{'script_name'}";
	}
if ( $in{'description'} eq "" ) {
	$in{'description'} = "No description available";
	}
	
#assign array values
if ( $in{'provides'} ne "" ) {
	@provides_array = split (/:/, $in{'provides'});
	$provides = "\"$provides_array[0]\"";
	if ( $provides_array[1] ne "" ) {
		shift @provides_array;
		foreach $element (@provides_array) {
			$provides = "$provides, \"$element\""
			}
		}
	}
if ( $in{'requires'} ne "" ) {
	@requires_array = split (/:/, $in{'requires'});
	$requires = "\"$requires_array[0]\"";
	if ( $requires_array[1] ne "" ) {
		shift @requires_array;
		foreach $element (@requires_array) {
			$requires = "$requires, \"$element\""
			}
		}
	}
if ( $in{'uses'} ne "" ) {
	@uses_array = split (/:/, $in{'uses'});
	$uses = "\"$uses_array[0]\"";
	if ( $uses_array[1] ne "" ) {
		shift @uses_array;
		foreach $element (@uses_array) {
			$uses = "$uses, \"$element\""
			}
		}
	}

# make array string
$array="";
if ( $provides ne "" ) {
	$array = "\tProvides\t= \($provides\);\n";
	}
if ( $requires ne "" ) {
	$array = "$array\tRequires\t= \($requires\);\n";
	}
if ( $uses ne "" ) {
	$array = "$array\tUses\t= \($uses\);\n";
	}
	
# make plist
$plist = "\{\n\tDescription\t= \"$in{'description'}\";\n$array\tOrderPreference\t= \"$in{'order'}\";\n\tMessages =\n\t\{\n\t\tstart\t= \"$in{'start'}\";\n\t\tstop\t=\"$in{'stop'}\";\n\t\};\n\}\n";

# make startscript
$startscript = "#!/bin/sh\n\n. /etc/rc.common\n\nif \[ \"\$\{$in{'action_name'}:=-NO-\}\" = \"-YES-\" \]; then\n\tConsoleMessage \"$in{'start'}\"\n$in{'execute'}\nfi\n";

# So write the files already!
if (not -d "$config{'darwin_setup'}") {
	mkdir ("$config{'darwin_setup'}", 0755);
	}
# startup dir for this action should not yet exist
mkdir ("$config{'darwin_setup'}/$in{'script_name'}", 0755) || &error("Could not create $config{'darwin_setup'}/$in{'script_name'}");

open(LOCAL, "> $config{'darwin_setup'}/$in{'script_name'}/$config{'plist'}");
print LOCAL $plist;
close(LOCAL);
chmod(0644, "$config{'darwin_setup'}/$in{'script_name'}/$config{'plist'}");

open(LOCAL, "> $config{'darwin_setup'}/$in{'script_name'}/$in{'script_name'}");
print LOCAL $startscript;
close(LOCAL);
chmod(0750, "$config{'darwin_setup'}/$in{'script_name'}/$in{'script_name'}");

&lock_file("$config{'hostconfig'}");
open(LOCAL, ">> $config{'hostconfig'}");
print LOCAL "$in{'action_name'}=$in{'boot'}\n";
close(LOCAL);
&unlock_file("$config{'hostconfig'}");
&webmin_log("new_action", undef, undef, \%in);
&redirect("edit_hostconfig.cgi?0+$in{'action_name'}");

#print "Content-type: text/plain", "\n\n";
#print "Debug\n\n";
#print "$plist";
#print "\n\n";
#print "$startscript";
#print "\n";
   07070100000315000081e40000000000000002000000013d1fe2bc000001cb000000200000000000000000000000000000001a00000003reloc/init/save_local.cgi #!/usr/local/bin/perl
# save_local.cgi
# Save the local startup script

require './init-lib.pl';
%access = &get_module_acl();
$access{'bootup'} || &error("You are not allowed to edit the bootup script");
&ReadParse();
$in{'local'} =~ s/\r//g;
&lock_file($config{'local_script'});
open(LOCAL, "> $config{'local_script'}");
print LOCAL $in{'local'};
close(LOCAL);
&unlock_file($config{'local_script'});
&webmin_log("local", undef, undef, \%in);
&redirect("");

 07070100000316000081e40000000000000002000000013d1fe2bc00000796000000200000000000000000000000000000002000000003reloc/init/save_startscript.cgi   #!/usr/local/bin/perl
# save_startscript.cgi
# saves modifications to the StartupItems/script/script or
# the StartupItems/script/StartupItems.plist

# Even though it would be MUCH faster to pass the file to be edited
# in the form, forms are filled out by the browser, not the server.
#
# A malicious user could manipulate the form to write to
# any file they darned well please. While a user who has webmin access 
# to the bootup scripts could do a fair amount of damage anyway, I still
# would rather limit the possible files the cgi will write to to the
# actual bootup scripts.

# Written by Michael A. Peters <mpeters@mac.com> for
# webmin init module, based on save_local.cgi of same
# module. Written for Darwin/OS X.

require './init-lib.pl';
require './hostconfig-lib.pl';
use File::Basename;
%access = &get_module_acl();
$access{'bootup'} || &error("You are not allowed to edit the bootup script");
&ReadParse();

$action=$in{'action'};

if ( $in{'plist'} ne "" ) {
	$in{'plist'} =~ s/\r//g;
	$towrite = $in{'plist'};
	%temphash = &hostconfig_gather(startscript);
	$tempfile = $temphash{"$action"};
	$dir = dirname("$tempfile");
	$file = "$dir/$config{'plist'}";
	$redirect = "edit_hostconfig.cgi?0+$action";
	-e $file || &error("$file doesn't seem to exist");
	}
elsif ( $in{'startup'} ne "" ) {
	$in{'startup'} =~ s/\r//g;
	$towrite = $in{'startup'};
	%temphash = &hostconfig_gather(startscript);
	$file = $temphash{"$action"};
	$redirect = "edit_hostconfig.cgi?0+$action";
	-e $file || &error("$file doesn't seem to exist");
	}
elsif ( $in{'hostconfig'} ne "" ) {
	$in{'hostconfig'} =~ s/\r//g;
	$towrite = $in{'hostconfig'};
	$file = $config{'hostconfig'};
	$redirect = "edit_hostconfig.cgi?2";
	}
else {
	&error("I do not know what you want me to do");
	}

&lock_file($file);
open(LOCAL, "> $file");
print LOCAL $towrite;
close(LOCAL);
&unlock_file($file);
&webmin_log("startup", undef, undef, \%in);
&redirect("$redirect");
  07070100000317000081e40000000000000002000000013d1fe2bc0000031b000000200000000000000000000000000000001800000003reloc/init/shutdown.cgi   #!/usr/local/bin/perl
# shutdown.cgi
# Shutdown the system immediately..

require './init-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'shutdown'} || &error($text{'shutdown_ecannot'});
&header($text{'shutdown_title'}, "");
print "<hr><p>\n";
$ttcmd = "<tt>$config{'shutdown_command'}</tt>";
if ($in{'confirm'}) {
	print "<font size=+1>",&text('shutdown_exec', $ttcmd),"</font><p>\n";
	&system_logged("$config{'shutdown_command'} >/dev/null 2>/dev/null");
	&webmin_log("shutdown");
	}
else {
	print "<font size=+1>",&text('shutdown_rusure', $ttcmd),"</font>\n";
	print "<center><form action=shutdown.cgi>\n";
	print "<input type=submit value=\"$text{'shutdown_ok'}\" ",
	      "name=confirm>\n";
	print "</form></center>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100000318000081e40000000000000002000000013d1fe2bc00000483000000200000000000000000000000000000001a00000003reloc/init/start_stop.cgi #!/usr/local/bin/perl
# start_stop.cgi
# Start or stop a boot-time action

require './init-lib.pl';
&foreign_require("proc", "proc-lib.pl");
%access = &get_module_acl();
$access{'bootup'} || &error($text{'ss_ecannot'});
&ReadParse();

$| = 1;
$theme_no_header = 1;
if (defined($in{'start'})) {
	&header($text{'ss_start'}, "");
	$cmd = "$in{'file'} start";
	}
elsif (defined($in{'restart'})) {
	&header($text{'ss_restart'}, "");
	$cmd = "$in{'file'} restart";
	}
elsif (defined($in{'condrestart'})) {
	&header($text{'ss_restart'}, "");
	$cmd = "$in{'file'} condrestart";
	}
elsif (defined($in{'reload'})) {
	&header($text{'ss_reload'}, "");
	$cmd = "$in{'file'} reload";
	}
elsif (defined($in{'status'})) {
	&header($text{'ss_status'}, "");
	$cmd = "$in{'file'} status";
	}
else {
	&header($text{'ss_stop'}, "");
	$cmd = "$in{'file'} stop";
	}
print "<hr><p>\n";
print &text('ss_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>";
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1);
print "</pre>\n";
&webmin_log($in{'start'} ? 'start' : 'stop', 'action', $in{'name'});
print "<hr>\n";
&footer($in{'back'}, $text{'edit_return'});

 07070100000319000081a40000000000000002000000013d1fe2bc000005ee000000200000000000000000000000000000001800000003reloc/init/uninstall.pl   # uninstall.pl
# Called when webmin is uninstalled

require 'init-lib.pl';

sub module_uninstall
{
local %miniserv;
&get_miniserv_config(\%miniserv);
return if (!$miniserv{'atboot'});
if ($config{'darwin_setup'}) {
	# Remove from hostconfig file
	open(LOCAL, $config{'hostconfig'});
	@local = <LOCAL>;
	close(LOCAL);
	$start = "WEBMIN=-";
	open(LOCAL, ">$config{'hostconfig'}");
	print LOCAL grep { !/^$start/ } @local;
	close(LOCAL);
	print "Deleted from $config{'hostconfig'}\n";
	# get rid of the startup items
	$paramlist = "$config{'darwin_setup'}/Webmin/$config{'plist'}";
	$scriptfile = "$config{'darwin_setup'}/Webmin/Webmin";
	print "Deleting $config{'darwin_setup'}/Webmin ..";
	unlink ($paramlist);
	unlink ($scriptfile);
	print "\. ", rmdir ("$config{'darwin_setup'}/Webmin") ? "Success":"Failed", "\n";
	}
elsif (!$config{'init_base'}) {
	# Remove from boot time rc script
	open(LOCAL, $config{'local_script'});
	@local = <LOCAL>;
	close(LOCAL);
	$start = "$config_directory/start";
	open(LOCAL, ">$config{'local_script'}");
	print LOCAL grep { !/^$start/ } @local;
	close(LOCAL);
	print "Deleted from bootup script $config{'local_script'}\n";
	}
else {
	# Delete bootup action
	foreach (&action_levels('S', "webmin")) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action("webmin", $1, 'S');
		}
	foreach (&action_levels('K', "webmin")) {
		/^(\S+)\s+(\S+)\s+(\S+)$/;
		&delete_rl_action("webmin", $1, 'K');
		}
	$fn = &action_filename("webmin");
	unlink($fn);
	print "Deleted init script $fn\n";
	}
}

1;

  07070100005f25000041ed0000000000000001000000053d1ffa6300000000000000200000000000000000000000000000000e00000003reloc/inittab 07070100005f26000081e40000000000000002000000013d1fe2dc000000a8000000200000000000000000000000000000001800000003reloc/inittab/apply.cgi   #!/usr/local/bin/perl
# apply.cgi
# Apply the current init config

require './inittab-lib.pl';
&system_logged("inittab -q >/dev/null 2>&1 </dev/null");
&redirect("");

07070100005f27000081a40000000000000002000000013d1fe2dc0000001a000000200000000000000000000000000000001500000003reloc/inittab/config  inittab_file=/etc/inittab
  07070100005f28000081a40000000000000002000000013d1fe2dc00000024000000200000000000000000000000000000001a00000003reloc/inittab/config.info inittab_file=Path to inittab file,0
07070100005f58000081a40000000000000002000000013d1fe2dc00000027000000200000000000000000000000000000001d00000003reloc/inittab/config.info.ca  inittab_file=Camí del fitxer inittab,0
 07070100005f5e000081a40000000000000002000000013d1fe2dc00000023000000200000000000000000000000000000001d00000003reloc/inittab/config.info.de  inittab_file=Pfad zur inittab Datei 07070100005f5f000081a40000000000000002000000013d1fe2dc0000002d000000200000000000000000000000000000001d00000003reloc/inittab/config.info.es  inittab_file=Trayectoria a archivo inittab,0
   07070100005f61000081a40000000000000002000000013d1fe2dc00000029000000200000000000000000000000000000001d00000003reloc/inittab/config.info.fr  inittab_file=Chemin du fichier inittab,0
   07070100005f62000081a40000000000000002000000013d1fe2dc00000028000000200000000000000000000000000000001d00000003reloc/inittab/config.info.pl  inittab_file=¦cie¿ka do pliku inittab,0
07070100005f64000081a40000000000000002000000013d1fe2dc00000024000000200000000000000000000000000000002000000003reloc/inittab/config.info.ru_RU   inittab_file=Ïóòü ê ôàéëó inittab,0
07070100005f66000081a40000000000000002000000013d1fe2dc00000024000000200000000000000000000000000000002000000003reloc/inittab/config.info.ru_SU   inittab_file=ðÕÔØ Ë ÆÁÊÌÕ inittab,0
07070100005f67000081a40000000000000002000000013d1fe2dc00000027000000200000000000000000000000000000001d00000003reloc/inittab/config.info.sv  inittab_file=Sökväg till inittab-fil,0
 07070100005f6f000081a40000000000000002000000013d1fe2dc00000024000000200000000000000000000000000000001d00000003reloc/inittab/config.info.tr  inittab_file=inittab dosyasý yolu,0
07070100005f7d000081a40000000000000002000000013d1fe2dc00000022000000200000000000000000000000000000002000000003reloc/inittab/config.info.zh_CN   inittab_file=inittab ÎÄ¼þµÄÂ·¾¶,0
  07070100005f7f000081a40000000000000002000000013d1fe2dc00000029000000200000000000000000000000000000002500000003reloc/inittab/config.info.zh_TW.Big5  inittab_file=¨ì inittab ÀÉ®×ªº§¹¾ã¸ô®|,0
   07070100005f80000081a40000000000000002000000013d1fe2dc0000000a000000200000000000000000000000000000001900000003reloc/inittab/defaultacl  inittab=1
  07070100005f81000081e40000000000000002000000013d1fe2dc00000b0a000000200000000000000000000000000000001f00000003reloc/inittab/edit_inittab.cgi    #!/usr/local/bin/perl

require "./inittab-lib.pl";

&ReadParse();

&header( &text( 'edit_inittab_title', $in{ 'id' } ), "", "index", 1, 1, undef );
print "<hr>\n";

print(
    "<form action=save_inittab.cgi><p><table border width=\"100%\">",
	"<tr ", $tb, ">",
	    "<td><b>", $text{ 'edit_inittab_details' }, "</b></td>",
	"</tr><tr ", $cb, "><td><table width=\"100%\">" );

open( INITTAB, $config{ 'inittab_file' } );
while($line = <INITTAB>)
{
    $line =~ s/\r|\n//g;
    $line =~ s/#.*$//g;
    $line =~ s/\/\/.*$//g;

    if( $line )
    {
	while($line =~ /\\$/)
	{
		local $nl = <INITTAB>;
		$line =~ s/\\$//;
		$nl =~ s/^\s+//;
		$line .= $nl;
	}
	local ( $id, $raw_runlevels, $action, $process ) = split( /:/ , $line );

	if( $id eq $in{ 'id' } )
	{
    	    $process = $text{ 'inittab_none' } if( !$process );

    	    print(
		"<tr>",
		    "<td>", &hlink( $text{ 'inittab_id' }, "id" ), "</td>",
		    "<td>", &p_entry( "id", $id, $config{ 'inittab_size' } ), "<input type=hidden name=oldid value=", $id, "></td>",
		"</tr><tr>",
		    "<td>", &hlink( $text{ 'inittab_runlevels' }, "runlevels" ), "</td><td>" );

	    foreach $checkbox ( 0..6, "a", "b", "c" )
	    {
		local $runlevels;

		print( "<input type=checkbox name=", $checkbox, " value=1" );
		foreach $runlevel ( split( //, $raw_runlevels ) )
		{
		    print( " checked" ) if( $runlevel eq $checkbox );
		}
		print( ">", $checkbox, " " );
	    }

	    $process = "" if( $process eq $text{ 'inittab_none' } );
	    $action = "kbdrequest" if ($action eq "kbrequest");
	    print( 
		"</td></tr><tr>",
		    "<td>", &hlink( $text{ 'inittab_action' }, "action" ), "</td>",
		    "<td>", &p_select_wdl( "action", $action, ( "respawn", $text{ 'inittab_respawn' }, "wait", $text{ 'inittab_wait' }, "once", $text{ 'inittab_once' }, "wait", $text{ 'inittab_wait' }, "ondemand", $text{ 'inittab_ondemand' }, "initdefault", $text{ 'inittab_initdefault' }, "sysinit", $text{ 'inittab_sysinit' }, "powerwait", $text{ 'inittab_powerwait' }, "powerfail", $text{ 'inittab_powerfail' }, "powerokwait", $text{ 'inittab_powerokwait' }, "powerfailnow", $text{ 'inittab_powerfailnow' }, "ctrlaltdel", $text{ 'inittab_ctrlaltdel' }, "kbdrequest", $text{ 'inittab_kbdrequest' }, "bootwait", $text{'inittab_bootwait'}, "boot", $text{'inittab_boot'} ) ), "</td>",
		"</tr><tr>",
		    "<td>", &hlink( $text{ 'inittab_process' }, "process" ), "</td>\n",
		    "<td>", &p_entry( "process", $process, 50 ), "</td>",
		"</tr>" );
	}
    }
}

print( "</td></tr></table></table>",
	"<table width=\"100%\">",
	    "<tr>",
		"<td align=left>", &p_button( "button", $text{ 'edit_inittab_save' } ), "</td>",
		"<td align=right>", &p_button( "button", $text{ 'edit_inittab_del' } ), "</td>",
	    "</tr>",
	"</table></form>" );

print "<hr>\n";
&footer( "", $text{ 'inittab_return' } );

  07070100007613000041ed0000000000000001000000023d1ffa6200000000000000200000000000000000000000000000001300000003reloc/inittab/help    07070100007614000081a40000000000000002000000013d1fe2dc00000b09000000200000000000000000000000000000002200000003reloc/inittab/help/action.ca.html <header>Acció</header>

Descriu quina acció cal emprendre.<p>

Les accions vàlides per aquest camp són:<p>

<b>Activa</b><br>
El procés es tornarà a iniciar sempre que s'aturi (p. ex., getty).<p>

<b>Espera</b><br>
El procés s'iniciarà un cop quan s'entri al nivell d'execució especificat
i <i>init</i> esperarà que acabi.<p>

<b>Un cop pel nivell</b><br>
El procés s'executarà un cop quan s'entri al nivell d'execució especificat.<p>

<b>En engegar</b><br>
El procés s'executarà en engegar el sistema. El camp dels nivells
d'execució s'ignora.<p>

<b>En engegar, espera que acabi</b><br>
El procés s'executarà en engegar el sistema, mentre que <i>init</i>
s'esperarà que acabi. El camp dels nivells d'execució s'ignora.<p>

<b>No facis res</b><br>
Això no fa res.<p>

<b>Quan sigui a A, B, C</b><br>
Un procés marcat amb un nivell d'execució <tt>sota demanda</tt> s'executarà
sempre que es cridi el nivell d'execució demanat. No obstant, no hi haurà
cap canvi de nivell d'execució (els nivells d'execució sota demanda són
`a', `b', i `c').<p>

<b>Nivell d'execució per defecte</b><br>
Una entrada <tt>initdefault</tt> especifica el nivell d'execució que cal
entrar en engegar el sistema. Si no n'hi ha cap, <i>init</i> en demanarà
un per la consola. El camp del procés s'ignora.<p>

<b>Durant l'engegada del sistema</b><br>
El procés s'executarà durant l'engegada del sistema. S'executarà abans
que qualsevol entrada <tt><b>En engegar</b></tt> o <tt><b>En engegar,
espera que acabi</b></tt>. El camp dels nivells d'execució s'ignora.<p>

<b>La màquina s'apaga</b><br>
El procés s'executarà quan s'apagui la màquina. Normalment, s'informa 
<i>init</i> d'això per un procés en contacte amb un SAI connectat a 
l'ordinador. <i>init</i> esperarà que el procés acabi abans de continuar.<p>

<b>La màquina s'apaga sense esperar</b><br>
Igual que per a <tt><b>La màquina s'apaga</b></tt>, amb l'excepció que
<i>init</i> no espera que el procés es completi.<p>

<b>La màquina es torna a encendre</b><br>
Aquest procés s'executarà tan aviat com s'informi <i>init</i> que 
s'ha encès la màquina.<p>

<b>Se'n va la llum</b><br>
Aquest procés s'executarà quan s'informi <i>init</i> que la bateria del
SAI extern està gairebé buida i que el corrent està fallant (suposant
que el SAI extern i el procés de monitorització siguin capaços de
detectar aquesta condició).<p>

<b>Ctrl-Alt-Del</b><br>
EL procés s'executarà quan <i>init</i> rebi el senyal <i>SIGINT</i>.
Això vol dir que algú a premut la combinació CTRL-ALT-SUPR a la consola.
Normalment, es vol executar un tancament per entrar en mode monousuari
o reengegar la màquina.<p>

<b>Combinació especial de tecles</b><br>
El procés s'executarà quan <i>init</i> rebi un senyal del gestor de teclat
que s'ha premut una combinació de tecles especial al teclat de la consola.<p>

<hr>


   07070100007615000081a40000000000000002000000013d1fe2dc00000ca0000000200000000000000000000000000000002200000003reloc/inittab/help/action.es.html <header>Acción</header>

Describe qué acción debería tomarse.<p>

Las acciones válidas para este campo son:<p>

<b>Reengendrar</b><br>
El proceso será rearrancado cuando termine (p.ej. getty).<p>

<b>Esperar</b><br>
El proceso será arrancado una vez cuando se entre en el nivel de ejecución especificado e <i>init</i> esperará hasta que termine.<p>

<b>Una vez por nivel</b><br>
El proceso será ejecutado una vez cuando se entre en el nivel de ejecución especificado.<p>

<b>En momento de arranque</b><br>
El proceso será ejecutado durante el arranque de sistema. El campo de niveles de ejecución será ignorado.<p>

<b>En momento de arranque, esperar hasta que termine</b><br>
El proceso será ejecutado durante el arranque de sistema e <i>init</i> esperará hasta que termine (p.ej. /etc/rc). El campo de niveles de ejecución es ignorado.<p>

<b>No hacer nada</b><br>
Esto no hace nada.<p>

<b>Siempre que sea A, B, C</b><br>
Un proceso marcado con un nivel de ejecución <tt>según demanda (ondemand)</tt> será ejecutado cuando el nivel de ejecución <tt>según demanda (ondemand)</tt> sea llamado. Sin embargo, no ocurrirá cambio en nivel de ejecución (los niveles de según demanda son 'a', 'b' y 'c').<p> 

<b>En nivel por defecto</b><br>
Una entrada <tt>por defecto de init (initdefault)</tt> especifica el nivel de ejecución en que debería de entrarse tras el arranque del sistema.  Si no existe ninguna, init te preguntará por un nivel de ejecución en la consola. El campo de proceso es ignorado.<p>

<b>Durante el arranque de sistema</b><br>
El proceso será ejecutado durante el arranque del sistema. Será ejecutado antes de cualquier entrada <tt><b>En momento de aranque</b></tt> o <tt><b>En momento de arranque, esperar hasta que termine</b></tt>. El campo de niveles de ejecución será ignorado.<p>

<b>Se va la corriente</b><br>
El proceso será ejecutado cuando la corriente se vaya. Init es informado normalmente acerca de esto por un proceso que conversa con la UPS conectada al ordenador. <i>Init</i> esperará hasta que el proceso acabe antes de seguir.<p>

<b>Se va la corriente sin espera</b><br>
Igual que con <tt><b>Se va la corriente</b></tt>, excepto que <i>init</i> no espera hasta que el proceso termine.<p>

<b>Vuelve la corriente</b><br>
Este proceso es ejecutado tan pronto como <i>init</i> es informado de que la corriente ha sido restaurada.<p>

<b>Fallo de corriente</b><br>
Este proceso será ejecutado cuando <i>init</i> es informado de que la batería de la UPS externa está casi vacía y la corriente está fallando (suponiendo que la UPS externa y que el proceso de monitorización son capaces de detectar esta condición).<p>

<b>Ctrl-Alt-Supr</b><br>
El proceso será ejecutado cuando <i>init</i> recibe la señal <i>SIGINT</i>. Esto quiere decir que alguien desde la consola del sistema ha presionado la combinación de teclas CTRL-ALT-SUPR. Normálmente uno siempre quiere ejecutar alguna clase de <tt>apagado</tt> o entrar en nivel de mono-usuario o rearrancar la máquina.<p>

<b>Combinación especial de teclas</b><br>
El proceso será ejecutado cuando <i>init</i> reciba una señal desde el manejador de teclado de que una combinación especial de teclas ha sido presionada en el teclado de la consola.<p>

<hr>
07070100007616000081a40000000000000002000000013d1fe2dc00000b22000000200000000000000000000000000000002200000003reloc/inittab/help/action.fr.html <header>Action</header>

Decrit quel action doit être faite.<p>

Les actions valides pour ce champ sont :<p>

<b>Redémarrer après être terminé</b><br>
Le processus est redémarré une fois qu'il est terminé.  (exemple getty).<p>

<b>Attend son exécution dans le niveau</b><br>
Le processus est démarré quand le niveau d'exécution est atteint.  <i>Init</i> attend qu'il se termine.<p>

<b>Une seule fois dans le niveau</b><br>
Le processus sera exécuté une seule et unique fois, quand le niveau d'exécution est entré.<p>

<b>Au démarrage</b><br>
Le processus est exécuté durant le démarrage, les niveaux d'exécution sont ignorés.<p>

<b>Au démarrage pendant et init l'attend</b><br>
Le processus est exécuté durant le démarrage, et <i>init</i> attend qu'il ai terminé de s'exécuter avant de continuer (exemple./etc/rc).  Le niveau d'exécution est ignoré.<p>

<b>Rien faire</b><br>
Fait rien.<p>

<b>Au niveau A, B ou C</b><br>
Au processus marqué de cet action, <i>init</i> l'exécute quand un des niveaux d'exécution A, B ou C sont appelé.  Par contre, aucun réel changement de niveau sont fait quand un de ses niveaux (a, b ou c) sont appelé.<p>

<b>Au niveau par défaut</b><br>
Une entrée contient le niveau d'exécution par défaut après que le système ai démarré.  C'est à ce niveau par défaut que s'exécute ce processus, ainsi les niveaux d'exécution sont ignorés.<p>

<b>Durant le démarrage</b><br>
Le processus sera executé durant le démarrage du système   Il s'exécutera après toutes entrée <tt><b>Au démarrage</b></tt> et <tt><b>Au démarrage sans qu'init l'attende</b></tt> entries. Les niveaux d'exécution sont ignoré.<p>

<b>Quand l'alimentation défaille</b><br>
Le processus est exécuter quand l'UPS connecté à l'ordinateur informe que l'alimentation va manquer.  <i>Init</i> va attendre que le processus soit terminé avant de continuer.<p>

<b>Quand l'alimentation défaille, sans attendre</b><br>
As for <tt><b>Quand l'alimentation défaille</b></tt>, except that <i>init</i> does not wait for the process's completion.<p>

<b>Quand l'alimentation reviens</b><br>
Ce processus sera exécuter aussitot qu'<i>init</i> est informé que l'alimentation est revenue.<p>

<b>Quand l'alimentation s'arrête</b><br>
Le processus s'exécute quand <i>init</i> constate que la batterie externe de l'UPS est presque vide et que l'alimentation va manquer.<p>

<b>Ctrl-Alt-Del</b><br>
Le processus sera exécuté quand <i>init</i> recoit le signal <i>SIGINT</i> pour qu'il se termine.  Ceci signifie que quelqu'un sur la console a appuyé sur les touches CTRL-ALT-DEL.  En général, celà signifie qu'il souhaite redémarrer le système.<p>

<b>Combinaisons spéciales de touches</b><br>
Le processus est exécuté quand <i>init</i> recoit un signal du gestionnaire de clavier qui dit qu'une combinaison spéciale de touches à été pressé du clavier de la console.<p>

<hr>
  07070100007617000081a40000000000000002000000013d1fe2dc00000afa000000200000000000000000000000000000001f00000003reloc/inittab/help/action.html    <header>Action</header>

Describes which action should be taken.<p>

Valid actions for this field are :<p>

<b>Respawn</b><br>
The process will be restarted whenever it terminates (e.g. getty).<p>

<b>Wait</b><br>
The process will be started once when the specified runlevel is entered and <i>init</i> will wait for its termination.<p>

<b>Once time at level</b><br>
The process will be executed once when the specified runlevel is entered.<p>

<b>Boot time</b><br>
The process will be executed during system boot.  The runlevels field is ignored.<p>

<b>Boot time, wait until termination</b><br>
The process will be executed during system boot, while <i>init</i> waits for its termination (e.g./etc/rc).  The runlevels field is ignored.<p>

<b>Do nothing</b><br>
This does nothing.<p>

<b>Whenever in A, B, C</b><br>
A process marked with an <tt>ondemand</tt> runlevel will be executed whenever the specified <tt>ondemand</tt> runlevel is called.  However, no runlevel change will occur (ondemand runlevels are `a', `b', and `c').<p>

<b>At default level</b><br>
An <tt>initdefault</tt> entry specifies the runlevel which should be entered after system boot.  If none exists, init will ask for a runlevel on the console. The process field is ignored.<p>

<b>During system boot</b><br>
The process will be executed during system boot. It will be executed before any <tt><b>Boot time</b></tt> or <tt><b>Boot time, wait until termination</b></tt> entries. The runlevels field is ignored.<p>

<b>Power goes down</b><br>
The process will be executed when the power goes down. Init is usually informed about this by a process talking to a UPS connected to the computer.  <i>Init</i> will wait for the process to finish before continuing.<p>

<b>Power goes down without waiting</b><br>
As for <tt><b>Power goes down</b></tt>, except that <i>init</i> does not wait for the process's completion.<p>

<b>Power is restored</b><br>
This process will be executed as soon as <i>init</i> is informormed that the power has been restored.<p>

<b>Power fail</b><br>
This process will be executed when <i>init</i> is told that the battery of the external UPS is almost empty and the power is failing (provided that the external UPS and the monitoring process are able to detect this condition).<p>

<b>Ctrl-Alt-Del</b><br>
The process will be executed when <i>init</i> receives the <i>SIGINT</i> signal.  This means that someone on the system console has pressed the CTRL-ALT-DEL key combination. Typically one wants to execute some sort of <tt>shutdown</tt> either to get into single-user level or to reboot the machine.<p>

<b>Special key combination</b><br>
The process will be executed when <i>init</i> receives a signal from the keyboard handler that a special key combination was pressed on the console keyboard.<p>

<hr>
  07070100007618000081a40000000000000002000000013d1fe2dc00000c24000000200000000000000000000000000000002200000003reloc/inittab/help/action.pl.html <header>Akcja</header>

Okre¶la, jaka akcja powinna byæ podjêta. <p>

Dopuszczalnymi warto¶ciami tego pola s±&nbsp;: <p>

<b>Odtwórz po zakoñczeniu</b><br>
Proces zostanie uruchomiony ponownie, gdy tylko siê zakoñczy (np. getty). <p>

<b>Czekaj</b><br>
Proces zostanie uruchomiony raz podczas wchodzenia na okre¶lony poziom
i&nbsp;<i>init</i> bêdzie czeka³ na jego zakoñczenie. <p>

<b><p>Jednorazowo na poziomie</b><br>
Proces zostanie uruchomiony raz podczas wchodzenia na okre¶lony poziom. <p>

<b>Podczas startu</b><br>
Proces zostanie uruchomiony raz podczas startu systemu. Pole poziomu
uruchamiania jest ignorowane. <p>

<b>Podczas startu, czekaj na zakoñczenie</b><br>
Proces zostanie uruchomiony raz podczas startu systemu, a&nbsp;<i>init</i>
bêdzie czeka³ na jego zakoñczenie (np. /etc/rc). Pole poziomu uruchamiania
jest ignorowane. <p>

<b>Nic nie rób</b><br>
Nic siê nie stanie. <p>

<b>Kiedykolwiek na poziomie A, B, C</b><br>
Proces oznaczony przez poziom uruchamiania <tt>na ¿±danie</tt> zostanie
uruchomiony podczas wywo³ania okre¶lonego poziomu <tt>na ¿±danie</tt>.
Jednak¿e, nie nast±pi zmaina bie¿±cego poziomu uruchamiania (poziomami na
¿±danie s± `a', `b', i&nbsp;`c'). <p>

<b>Domy¶lny poziom</b><br>
Wpis <tt>domy¶lny poziom</tt> (<tt>initdefault</tt>) okre¶la, na jaki poziom
uruchamiania system powinien wej¶æ po starcie. Je¶li go nie podano, init
zapyta o&nbsp;ten poziom na konsoli. Pole procesu jest ignorowane. <p>

<b>Podczas startu systemu</b><br>
Ten proces bêdzie uruchomiony podczas startu systemu przed jakimkolwiek
z&nbsp;procesów <tt><b>Podczas startu</b></tt> czy <tt><b>Podczas startu,
czekaj na zakoñczenie</b></tt>. Pole poziomów uruchamiania jest ignorowane.
<p>

<b>Zanik zasilania</b><br>
Proces bêdzie uruchomiony gdy wyst±pi zanik zasilania. Init jest zazwyczaj
o&nbsp;tym informowany przez proces monitoruj±cy po³±czenie UPS-a
z&nbsp;komputerem. <i>Init</i> bêdzie czeka³ na zakoñczenie dzia³ania tego
procesu przed kontynuacj±. <p>

<b>Zanik zasilania, nie czekaæ</b><br>
Tak jak dla <tt><b>Zanik zasilania</b></tt>, lecz <i>init</i> nie czeka na
zakoñczenie procesu. <p>

<b>Powrót zasilania</b><br>
Ten proces zostanie uruchomiony natychmiast po powiadomieniu <i>init</i>-a
o&nbsp;przywróceniu zasilania. <p>

<b>Brak zasilania</b><br>
Ten proces zostanie uruchomiony, gdy <i>init</i> zostanie powiadomiony, ¿e
akumulatory zewnêtrznego UPS-a s± niemal ca³kowicie roz³adowane
a&nbsp;zasilania nadal nie ma (pod warunkiem, ¿e zewnêtrzny UPS oraz proces
monitoruj±cy jego stan s± w&nbsp;stanie wykryæ tê sytuacjê). <p>

<b>Ctrl-Alt-Del</b><br>
Proces zostanie uruchomiony, gdy <i>init</i> otrzyma sygna³ <i>SIGINT</i>.
Oznacza to, ¿e kto¶ nacisn±³ kombinacjê klawiszy CTRL-ALT-DEL przy konsoli.
Najprawdopodobniej kto¶ chce uruchomiæ pewien rodzaj <tt>shutdown</tt>-a,
aby uzyskaæ poziom jednou¿ytkownikowy lub wykonaæ restart maszyny. <p>

<b>Specjalna kombinacja klawiszy</b><br>
Proces zostanie uruchomiony, gdy <i>init</i> otrzyma sygna³ od procedur
obs³ugi klawiatury, ¿e na klawiaturze konsoli zosta³a naci¶niêta specjalna
kombinacja klawiszy. <p>

<hr>
070701000076b8000081a40000000000000002000000013d1fe2dc00000be5000000200000000000000000000000000000002500000003reloc/inittab/help/action.ru_RU.html  <header>Äåéñòâèå</header>

Îïèñûâàåò, êàêèå äåéñòâèÿ íåîáõîäèìî ïðåäïðèíÿòü.<p>

Äîïóñòèìûå çíà÷åíèÿ äëÿ äàííîãî ïîëÿ :<p>

<b>Ïåðåçàïóñê</b><br>
Ïðîöåññ áóäåò ðåñòàðòîâàí ïðè åãî çàâåðøåíèè (ïðèìåð: getty).<p>

<b>Îæèäàíèå</b><br>
Ïðîöåññ áóäåò çàïóùåí åäèíîæäû ïðè âõîäå â ñîîòâåòñòâóþùèé óðîâåíü âûïîëíåíèÿ è <i>init</i> áóäåò æäàòü åãî çàâåðøåíèÿ.<p>

<b>Åäèíîæäû íà óðîâíå</b><br>
Ïðîöåññ áóäåò âûïîëíåí åäèíîæäû ïðè âõîäå â ñîîòâåòñòâóþùèé óðîâåíü âûïîëíåíèÿ.<p>

<b>Ïðè ñòàðòå</b><br>
Ïðîöåññ áóäåò âûïîëíåí ïðè çàãðóçêè ñèñòåìû. Ñîäåðæèìîå ïîëÿ óðîâíåé âûïîëíåíèÿ èãíîðèðóåòñÿ.<p>

<b>Ïðè ñòàðòå, æäàòü îêîí÷àíèÿ</b><br>
Ïðîöåññ áóäåò âûïîëíåí ïðè çàãðóçêè ñèñòåìû, <i>init</i> áóäåò æäàòü åãî çàâåðøåíèÿ (íàïðèìåð /etc/rc).Ñîäåðæèìîå ïîëÿ óðîâíåé âûïîëíåíèÿ èãíîðèðóåòñÿ.<p>

<b>Íè÷åãî íå äåëàòü</b><br>
Ýòî çíà÷èò íè÷åãî íå äåëàòü.<p>

<b>Ïðè íàæîæäåíèè â A, B, C</b><br>
Ïðîöåññ èìåþùèé óðîâåíü âûïîëíåíèÿ <tt>ondemand</tt> áóäåò âûïîëíÿòñÿ, êîãäà âûçûâàåòñÿ óêàçàííûé óðîâåíü âûïîëíåíèÿ <tt>ondemand</tt>. Îäíàêî èçìåíåíèÿ óðîâíÿ  âûïîëíåíèÿ íå ïðîèçîéäåò (`a', `b' è `c' - óðîâíè âûïîëíåíèÿ <tt>ondemand</tt>).<p>

<b>Íà óðîâíå âûïîëíåíèÿ ïî óìîë÷àíèþ</b><br>
Óðîâåíü <tt>initdefault</tt> ÿâëÿåòñÿ óðîâíåì âûïîëíåíèÿ â êîòîðûé ñèñòåìà âõîäèò ïîñëå çàãðóçêè. Åñëè íå ñóùåñòâóåò, init ïîïðîñèò ââåñòè ýòîò óðîâåíü ñ êîíñîëè ïîñëå çàãðóçêè. Ñîäåðæèìîå ïîëÿ ïðîöåññà èãíîðèðóåòñÿ.<p>

<b>Âî âðåìÿ ñòàðòà ñèñòåìû</b><br>
Ïðîöåññ áóäåò âûïîëíåí â òå÷åíèè çàãðóçêè ñèñòåìû. Îí áóäåò âûïîëíåí <b>äî</b> ëþáîãî <tt><b>Ïðè ñòàðòå</b></tt> èëè <tt><b>Ïðè ñòàðòå, æäàòü îêîí÷àíèÿ</b></tt> ïðîöåññîâ. Ñîäåðæèìîå ïîëÿ óðîâíåé âûïîëíåíèÿ èãíîðèðóåòñÿ.<p>

<b>Îòêëþ÷åíèå ïèòàíèÿ</b><br>
Ïðîöåññ áóäåò âûïîëíåí ïðè îòêëþ÷åíèå ïèòàíèÿ. Îáû÷íî init óçíàåò îá ýòîì îò ïðîãðàììû óïðàâëÿþùåé ÈÁÏ (UPS), êîòîðûé ïîäêëþ÷åí ê êîìïúþòåðó. <i>Init</i> áóäåò æäàòü îêîí÷àíèÿ äàííîãî ïðîöåññà ïåðåä òåì, êàê ïðîäîëæèòü ñâîå äàëüíåéøåå âûïîëíåíèå.<p>

<b>Îòêëþ÷åíèå ïèòàíèÿ áåç îæèäàíèÿ</b><br>
Àíàëîãè÷íî, êàê <tt><b>Îòêëþ÷åíèå ïèòàíèÿ</b></tt> çà èñêëþ÷åíèåì òîãî, ÷òî <i>init</i> íå æäåò çàâåðøåíèÿ ïðîöåññà.<p>

<b>Âîññòàíîâëåíèå ïèòàíèÿ</b><br>
Äàííûé ïðîöåññ áóäåò âûïîëíåí, êàê òîëüêî <i>init</i> óçíàåò î òîì, ÷òî ïèòàíèå âîññòàíîâëåíî.<p>

<b>Ñáîé ïèòàíèÿ</b><br>
Äàííûé ïðîöåññ áóäåò âûïîëíåí, êîãäà <i>init</i> óçíàåò î òîì, ÷òî ðåñóðñ àêêóìóëÿòîðíûõ áàòòàðåé âíåøíåãî ÈÁÏ íà èñõîäå è ïèòàíèå ñêîðî èñ÷åçíåò (ïðåäïîëîãàåòñÿ, ÷òî âíåøíèé ÈÁÏ è ïðîãðàììà åãî ìîíèòîðèíãà ñïîñîáíû îáíàðóæèòü äàííóþ ñèòóàöèþ).<p>

<b>Ctrl-Alt-Del</b><br>
Äàííûé ïðîöåññ áóäåò âûïîëíåí, êîãäà <i>init</i> ïîëó÷èò ñèãíàë <i>SIGINT</i>. Ýòî îçíà÷àåò, ÷òî íåêòî íàæàë êîìáèíàöèþ êëàâèø CTRL-ALT-DEL íà êîíñîëè. Îáû÷íî íà Desktop ñèñòåìàõ äàííûé ïðîöåññ îñóùåñòâëÿåò íåêèé âèä çàâåðøåíèÿ ðàáîòû (íàïðèìåð ïåðåõîä â îäíîïîëçîâàòåëüñêèé ðåæèì èëè ïåðåçàãðóçêà ìàøèíû).<p>

<b>Ñïåöèàëüíàÿ êîìáèíàöèÿ êëàâèø</b><br>
Äàííûé ïðîöåññ áóäåò âûïîëíåí, êîãäà <i>init</i> ïîëó÷èò ñèãíàë îò îáðàáîò÷èêà êëàâèàòóðû î òîì, ÷òî áûëà íàæàòà ñïåöèàëüíàÿ êîìáèíàöèÿ êëàâèø íà êîíñîëè.<p>

<hr>
   070701000076b9000081a40000000000000002000000013d1fe2dc00000be5000000200000000000000000000000000000002500000003reloc/inittab/help/action.ru_SU.html  <header>äÅÊÓÔ×ÉÅ</header>

ïÐÉÓÙ×ÁÅÔ, ËÁËÉÅ ÄÅÊÓÔ×ÉÑ ÎÅÏÂÈÏÄÉÍÏ ÐÒÅÄÐÒÉÎÑÔØ.<p>

äÏÐÕÓÔÉÍÙÅ ÚÎÁÞÅÎÉÑ ÄÌÑ ÄÁÎÎÏÇÏ ÐÏÌÑ :<p>

<b>ðÅÒÅÚÁÐÕÓË</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ÒÅÓÔÁÒÔÏ×ÁÎ ÐÒÉ ÅÇÏ ÚÁ×ÅÒÛÅÎÉÉ (ÐÒÉÍÅÒ: getty).<p>

<b>ïÖÉÄÁÎÉÅ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ÚÁÐÕÝÅÎ ÅÄÉÎÏÖÄÙ ÐÒÉ ×ÈÏÄÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÕÒÏ×ÅÎØ ×ÙÐÏÌÎÅÎÉÑ É <i>init</i> ÂÕÄÅÔ ÖÄÁÔØ ÅÇÏ ÚÁ×ÅÒÛÅÎÉÑ.<p>

<b>åÄÉÎÏÖÄÙ ÎÁ ÕÒÏ×ÎÅ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ ÅÄÉÎÏÖÄÙ ÐÒÉ ×ÈÏÄÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÕÒÏ×ÅÎØ ×ÙÐÏÌÎÅÎÉÑ.<p>

<b>ðÒÉ ÓÔÁÒÔÅ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ ÐÒÉ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÙ. óÏÄÅÒÖÉÍÏÅ ÐÏÌÑ ÕÒÏ×ÎÅÊ ×ÙÐÏÌÎÅÎÉÑ ÉÇÎÏÒÉÒÕÅÔÓÑ.<p>

<b>ðÒÉ ÓÔÁÒÔÅ, ÖÄÁÔØ ÏËÏÎÞÁÎÉÑ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ ÐÒÉ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÙ, <i>init</i> ÂÕÄÅÔ ÖÄÁÔØ ÅÇÏ ÚÁ×ÅÒÛÅÎÉÑ (ÎÁÐÒÉÍÅÒ /etc/rc).óÏÄÅÒÖÉÍÏÅ ÐÏÌÑ ÕÒÏ×ÎÅÊ ×ÙÐÏÌÎÅÎÉÑ ÉÇÎÏÒÉÒÕÅÔÓÑ.<p>

<b>îÉÞÅÇÏ ÎÅ ÄÅÌÁÔØ</b><br>
üÔÏ ÚÎÁÞÉÔ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÔØ.<p>

<b>ðÒÉ ÎÁÖÏÖÄÅÎÉÉ × A, B, C</b><br>
ðÒÏÃÅÓÓ ÉÍÅÀÝÉÊ ÕÒÏ×ÅÎØ ×ÙÐÏÌÎÅÎÉÑ <tt>ondemand</tt> ÂÕÄÅÔ ×ÙÐÏÌÎÑÔÓÑ, ËÏÇÄÁ ×ÙÚÙ×ÁÅÔÓÑ ÕËÁÚÁÎÎÙÊ ÕÒÏ×ÅÎØ ×ÙÐÏÌÎÅÎÉÑ <tt>ondemand</tt>. ïÄÎÁËÏ ÉÚÍÅÎÅÎÉÑ ÕÒÏ×ÎÑ  ×ÙÐÏÌÎÅÎÉÑ ÎÅ ÐÒÏÉÚÏÊÄÅÔ (`a', `b' É `c' - ÕÒÏ×ÎÉ ×ÙÐÏÌÎÅÎÉÑ <tt>ondemand</tt>).<p>

<b>îÁ ÕÒÏ×ÎÅ ×ÙÐÏÌÎÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ</b><br>
õÒÏ×ÅÎØ <tt>initdefault</tt> Ñ×ÌÑÅÔÓÑ ÕÒÏ×ÎÅÍ ×ÙÐÏÌÎÅÎÉÑ × ËÏÔÏÒÙÊ ÓÉÓÔÅÍÁ ×ÈÏÄÉÔ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ. åÓÌÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, init ÐÏÐÒÏÓÉÔ ××ÅÓÔÉ ÜÔÏÔ ÕÒÏ×ÅÎØ Ó ËÏÎÓÏÌÉ ÐÏÓÌÅ ÚÁÇÒÕÚËÉ. óÏÄÅÒÖÉÍÏÅ ÐÏÌÑ ÐÒÏÃÅÓÓÁ ÉÇÎÏÒÉÒÕÅÔÓÑ.<p>

<b>÷Ï ×ÒÅÍÑ ÓÔÁÒÔÁ ÓÉÓÔÅÍÙ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ × ÔÅÞÅÎÉÉ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÙ. ïÎ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ <b>ÄÏ</b> ÌÀÂÏÇÏ <tt><b>ðÒÉ ÓÔÁÒÔÅ</b></tt> ÉÌÉ <tt><b>ðÒÉ ÓÔÁÒÔÅ, ÖÄÁÔØ ÏËÏÎÞÁÎÉÑ</b></tt> ÐÒÏÃÅÓÓÏ×. óÏÄÅÒÖÉÍÏÅ ÐÏÌÑ ÕÒÏ×ÎÅÊ ×ÙÐÏÌÎÅÎÉÑ ÉÇÎÏÒÉÒÕÅÔÓÑ.<p>

<b>ïÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ</b><br>
ðÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ ÐÒÉ ÏÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ. ïÂÙÞÎÏ init ÕÚÎÁÅÔ ÏÂ ÜÔÏÍ ÏÔ ÐÒÏÇÒÁÍÍÙ ÕÐÒÁ×ÌÑÀÝÅÊ éâð (UPS), ËÏÔÏÒÙÊ ÐÏÄËÌÀÞÅÎ Ë ËÏÍÐßÀÔÅÒÕ. <i>Init</i> ÂÕÄÅÔ ÖÄÁÔØ ÏËÏÎÞÁÎÉÑ ÄÁÎÎÏÇÏ ÐÒÏÃÅÓÓÁ ÐÅÒÅÄ ÔÅÍ, ËÁË ÐÒÏÄÏÌÖÉÔØ Ó×ÏÅ ÄÁÌØÎÅÊÛÅÅ ×ÙÐÏÌÎÅÎÉÅ.<p>

<b>ïÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ ÂÅÚ ÏÖÉÄÁÎÉÑ</b><br>
áÎÁÌÏÇÉÞÎÏ, ËÁË <tt><b>ïÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ</b></tt> ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÔÏÇÏ, ÞÔÏ <i>init</i> ÎÅ ÖÄÅÔ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÏÃÅÓÓÁ.<p>

<b>÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÐÉÔÁÎÉÑ</b><br>
äÁÎÎÙÊ ÐÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ, ËÁË ÔÏÌØËÏ <i>init</i> ÕÚÎÁÅÔ Ï ÔÏÍ, ÞÔÏ ÐÉÔÁÎÉÅ ×ÏÓÓÔÁÎÏ×ÌÅÎÏ.<p>

<b>óÂÏÊ ÐÉÔÁÎÉÑ</b><br>
äÁÎÎÙÊ ÐÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ, ËÏÇÄÁ <i>init</i> ÕÚÎÁÅÔ Ï ÔÏÍ, ÞÔÏ ÒÅÓÕÒÓ ÁËËÕÍÕÌÑÔÏÒÎÙÈ ÂÁÔÔÁÒÅÊ ×ÎÅÛÎÅÇÏ éâð ÎÁ ÉÓÈÏÄÅ É ÐÉÔÁÎÉÅ ÓËÏÒÏ ÉÓÞÅÚÎÅÔ (ÐÒÅÄÐÏÌÏÇÁÅÔÓÑ, ÞÔÏ ×ÎÅÛÎÉÊ éâð É ÐÒÏÇÒÁÍÍÁ ÅÇÏ ÍÏÎÉÔÏÒÉÎÇÁ ÓÐÏÓÏÂÎÙ ÏÂÎÁÒÕÖÉÔØ ÄÁÎÎÕÀ ÓÉÔÕÁÃÉÀ).<p>

<b>Ctrl-Alt-Del</b><br>
äÁÎÎÙÊ ÐÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ, ËÏÇÄÁ <i>init</i> ÐÏÌÕÞÉÔ ÓÉÇÎÁÌ <i>SIGINT</i>. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÎÅËÔÏ ÎÁÖÁÌ ËÏÍÂÉÎÁÃÉÀ ËÌÁ×ÉÛ CTRL-ALT-DEL ÎÁ ËÏÎÓÏÌÉ. ïÂÙÞÎÏ ÎÁ Desktop ÓÉÓÔÅÍÁÈ ÄÁÎÎÙÊ ÐÒÏÃÅÓÓ ÏÓÕÝÅÓÔ×ÌÑÅÔ ÎÅËÉÊ ×ÉÄ ÚÁ×ÅÒÛÅÎÉÑ ÒÁÂÏÔÙ (ÎÁÐÒÉÍÅÒ ÐÅÒÅÈÏÄ × ÏÄÎÏÐÏÌÚÏ×ÁÔÅÌØÓËÉÊ ÒÅÖÉÍ ÉÌÉ ÐÅÒÅÚÁÇÒÕÚËÁ ÍÁÛÉÎÙ).<p>

<b>óÐÅÃÉÁÌØÎÁÑ ËÏÍÂÉÎÁÃÉÑ ËÌÁ×ÉÛ</b><br>
äÁÎÎÙÊ ÐÒÏÃÅÓÓ ÂÕÄÅÔ ×ÙÐÏÌÎÅÎ, ËÏÇÄÁ <i>init</i> ÐÏÌÕÞÉÔ ÓÉÇÎÁÌ ÏÔ ÏÂÒÁÂÏÔÞÉËÁ ËÌÁ×ÉÁÔÕÒÙ Ï ÔÏÍ, ÞÔÏ ÂÙÌÁ ÎÁÖÁÔÁ ÓÐÅÃÉÁÌØÎÁÑ ËÏÍÂÉÎÁÃÉÑ ËÌÁ×ÉÛ ÎÁ ËÏÎÓÏÌÉ.<p>

<hr>
   070701000076ba000081a40000000000000002000000013d1fe2dc00000a43000000200000000000000000000000000000002200000003reloc/inittab/help/action.sv.html <header>Åtgärd</header>

Talar om vilken åtgärd som ska vidtas.

<p>Giltiga åtgärder är:

<h4>Fortsätt</h4>
Processen startas om så fort den av någon anledning avslutats (t ex getty).

<h4>Vänta</h4>
Processen startas när den angivna körnivån nås och <i>init</i> väntar på att
den ska avslutas.

<h4>En gång på nivå</h4>
Processen kommer att köras en gång när den angivna körnivån nås.

<h4>Vid start</h4>a
Processen kommer att köras när systemet startas. Körnivåfältet ignoreras.

<h4>Vid start, vänta på avslutning</h4>
Processen kommer att köras när systemet startas och <i>init</i> väntar på att
den ska avslutas (t ex /etc/rc). Körnivåfältet ignoreras.

<h4>Gör ingenting</h4>
Gör ingenting.

<h4>Alltid vid A, B, C</h4>
En process som markerats med en <tt>på begäran</tt>-körnivå kommer att köras
varje gång den specificerade <tt>på begäran</tt>-körnivån anropas. Körnivån
kommer dock inte att ändras (på begäran-körnivåer är 'a', 'b' och 'c').

<h4>På standardnivå</h4>
<tt>Initdefault</tt>-posten anger den körnivå som ska gälla vid systemstart.
Om du inte angivit någon standardnivå kommer init att fråga efter körnivå
via konsolen. Processfältet ignoreras.

<h4>Under systemstart</h4>
Processen kommer att köras under systemstart, före alla processer som
angivits under <tt><b>Vid start</b></tt> och <tt><b>Vid start, vänta på
avslutning</b></tt>. Körnivåfältet ignoreras.

<h4>Vid strömavbrott</h4>
Processen kommer att köras vid strömavbrott. Init får vanligen reda på
detta via en process som kommunicerar med en UPS anslutet till datorn.
<i>Init</i> väntar på att processen ska avslutas innan den fortsätter.

<h4>Vid strömavbrott, utan väntetid</h4>
Likadant som <tt><b>Vid strömavbrott</b></tt> utom att <i>init</i> inte
väntar på att processen ska avslutas.

<h4>Då strömmen kommer tillbaka</h4>
Processen kommer att köras då <i>init</i> får veta att strömmen kommit
tillbaka.

<h4>Vid UPS-svikt</h4>
Processen kommer att köras då <i>init</i> får veta att UPS-batteriet är
nästan slut och spänningen kommer att försvinna (förutsatt att den externa
UPSen och den övervakande processen kan upptäcka detta).

<h4>Ctrl-Alt-Del</h4>
Processen kommer att köras då <i>init</i> får signalen <i>SIGINT</i>. Detta
betyder att någon vid systemkonsolen har tryckt CTRL-ALT-DEL. Vanligen vill
man då köra någon slags <tt>shutdown</tt>, antingen för att gå över i
single-user eller för att starta om maskinen.

<h4>Speciell tangentkombination</h4>
Processen kommer att köras då <i>init</i> tar emot en signal från
tangentbordshanteraren som betyder att en speciell tangentkombination
skrevs in på konsoltangentbordet.

<hr>
 070701000076bf000081a40000000000000002000000013d1fe2dc000001fa000000200000000000000000000000000000001e00000003reloc/inittab/help/id.ca.html <header>Nom del Procés</header>

L'Id (nom del procés) és una seqüència única de 1-4 caràcters que identifica
una entrada del fitxer <tt>inittab</tt> (per a les versions de sysvinit
compilades amb llibreries < 5.2.18 o les llibreries a.out, el límit és 
de 2 caràcters).<p>

Nota: Per a <tt>gettys</tt> o altres processos de login, el camp ha de ser
el sufix de la <tt>tty</tt> corresponent, p. ex., 1 per a <tt>tty1</tt>.
Altrament, el comptabilitzador de logins pot no funcionar correctament.<p>

<hr>


  070701000076c0000081a40000000000000002000000013d1fe2dc000001ed000000200000000000000000000000000000001e00000003reloc/inittab/help/id.es.html <header>Nombre de Proceso</header>

La Id (nombre de proceso) es una secuencia única de 1 a 4 caracteres que identifica una entrada en el archivo inittab (para versiones de sysvinit compiladas con librerías menores a 5.2.18 o librerías a.out el límite es de 2 caracteres).<p>

Nota: Para procesos gettys u otros login, el campo debería de ser el sufijo tty de el correspondiente tty, p.ej. 1 para tty1. De otra forma, el control de cuentas de login podría no funcionar corréctamente.<p>

<hr>
   070701000076c1000081a40000000000000002000000013d1fe2dc00000214000000200000000000000000000000000000001e00000003reloc/inittab/help/id.fr.html <header>Nom de Processus</header>

Le nom de processus est une séquence unique de 1 à 4 caractères qui identifie une entrée dans le fichier inittab (pour les versions de sysvinit compilé avec les librairies plus vieilles que 5.2.18 ou a.out la limite est de 2 caractères).<p>

Note: pour gettys et autre processus d'ouverture de session, ce champs peut être le suffix de tty du tty correspondant, par exemple pour le tty1 le champ pourrait être 1.  Sinon les ouvertures de sessions ne pourrait pas être faite correctement.<p>

<hr>
070701000076c2000081a40000000000000002000000013d1fe2dc000001b0000000200000000000000000000000000000001b00000003reloc/inittab/help/id.html    <header>Process Name</header>

The Id (process name) is a unique sequence of 1-4 characters which identifies an entry in inittab file (for versions of sysvinit compiled with libraries < 5.2.18 or a.out libraries the limit is 2 characters).<p>

Note: For gettys or other login processes, the field should be the tty suffix of the corresponding tty, e.g.1 for tty1.  Otherwise, the login accounting might not work correctly.<p>

<hr>
070701000076c3000081a40000000000000002000000013d1fe2dc0000020c000000200000000000000000000000000000001e00000003reloc/inittab/help/id.pl.html <header>Nazwa</header>

Ten identyfikator (nazwa procesu) jest unikalnym ci±giem zawieraj±cym 1-4
znaków, który identyfikuje wpis w&nbsp;pliku inittab (dla wersji inita SysV
skompilowanych z&nbsp;bibliotekami libc <&nbsp;5.2.18 lub a.out ograniczenie
d³ugo¶ci wynosi 2 znaki). <p>

Uwaga: Dla getty-ów oraz innych procesów s³u¿±cych logowaniu polem tym
powinna byæ koñcówka nazwy tty-ka, na którym odbywa sie logowanie, np. 1 dla
tty1. W&nbsp;przeciwnym razie rejestrowanie logowañ mo¿e nie odbywaæ siê
poprawnie. <p>

<hr>
070701000076c4000081a40000000000000002000000013d1fe2dc000001c7000000200000000000000000000000000000002100000003reloc/inittab/help/id.ru_RU.html  <header>Èìÿ Ïðîöåññà</header>

Id (èìÿ ïðîöåññà) ýòî óíèêàëüíàÿ ïîñëåäîâàòåëüíîñòü 1-4 ñèìâîëîâ èäåíòèôèöèðóþùèõ çàïèñü â ôàéëå inittab (äëÿ âåðñèé sysvinit ñêîìïèëèðîâàííûõ ñ áèáëèîòåêàìè âåðñèè < 5.2.18 èëè ñ áèáëèîòåêàìè a.out - äàííûé ëèìèò 2 ñèìâîëà).<p>

Ïðèìå÷àíèå: Äëÿ getty è äðóãèõ login ïðîöåññîâ ýòî ïîëå äîëæíî áûòü ñóôôèêñîì ñîîòâåòñòâóþùåãî tty ò.å. 1 äëÿ tty1. Èíà÷å æóðíàëèçàöèÿ ðåãèñòðàöèé â ñèñòåìå ìîæåò ðàáîòàòü íåêîððåêòíî.<p>

<hr>
 070701000076c5000081a40000000000000002000000013d1fe2dc000001c7000000200000000000000000000000000000002100000003reloc/inittab/help/id.ru_SU.html  <header>éÍÑ ðÒÏÃÅÓÓÁ</header>

Id (ÉÍÑ ÐÒÏÃÅÓÓÁ) ÜÔÏ ÕÎÉËÁÌØÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ 1-4 ÓÉÍ×ÏÌÏ× ÉÄÅÎÔÉÆÉÃÉÒÕÀÝÉÈ ÚÁÐÉÓØ × ÆÁÊÌÅ inittab (ÄÌÑ ×ÅÒÓÉÊ sysvinit ÓËÏÍÐÉÌÉÒÏ×ÁÎÎÙÈ Ó ÂÉÂÌÉÏÔÅËÁÍÉ ×ÅÒÓÉÉ < 5.2.18 ÉÌÉ Ó ÂÉÂÌÉÏÔÅËÁÍÉ a.out - ÄÁÎÎÙÊ ÌÉÍÉÔ 2 ÓÉÍ×ÏÌÁ).<p>

ðÒÉÍÅÞÁÎÉÅ: äÌÑ getty É ÄÒÕÇÉÈ login ÐÒÏÃÅÓÓÏ× ÜÔÏ ÐÏÌÅ ÄÏÌÖÎÏ ÂÙÔØ ÓÕÆÆÉËÓÏÍ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ tty Ô.Å. 1 ÄÌÑ tty1. éÎÁÞÅ ÖÕÒÎÁÌÉÚÁÃÉÑ ÒÅÇÉÓÔÒÁÃÉÊ × ÓÉÓÔÅÍÅ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÎÅËÏÒÒÅËÔÎÏ.<p>

<hr>
 070701000076c6000081a40000000000000002000000013d1fe2dc0000019a000000200000000000000000000000000000001e00000003reloc/inittab/help/id.sv.html <header>Processnamn</header>

ID (processnamn) är en unik följd av 1-4 tecken som symboliserar en post
i inittab-filen (för sysvinit-versioner kompilerade med bibliotek < 5.2.18
eller a.out-bibliotek är följden begränsad till två tecken).

Obs: För getty och andra inloggningsprocesser bör fältet innehålla
tty-suffixet för motsvarande tty, t ex 1 för tty1, annars kan
inloggningshanteringen få problem.

<hr>
  070701000076c7000081a40000000000000002000000013d1fe2dc0000010e000000200000000000000000000000000000002100000003reloc/inittab/help/index.ca.html  <header>Inittab</header>

El fitxer inittab que fa servir el procés <i>init</i> compatible amb SysV.<p>

El fitxer <tt>inittab</tt> descriu quins processos s'inicien en engegar
i durant l'operació normal (p. ex, /etc/init.d/boot, /etc/init.d/rc, gettys...).
<p>

<hr>


  070701000076cb000081a40000000000000002000000013d1fe2dc00000112000000200000000000000000000000000000002100000003reloc/inittab/help/index.es.html  <header>Inittab</header>

Archivo inittab usado por procesos de init compatibles con sysv.<p>

El archivo inittab describe qué procesos son arrancados en el arranque de sistema y durante las operaciones normales (p.ej. /etc/init.d/boot, /etc/init.d/rc, gettys...).<p>

<hr>
  070701000076cc000081a40000000000000002000000013d1fe2dc0000010b000000200000000000000000000000000000002100000003reloc/inittab/help/index.fr.html  <header>Inittab</header>

Inittab est un fichier utilisé par les programmes d'initialisation compatible sysv.<p>

Il décrit quel processus sont exécuté au démarrage et durant certaine opération normale (exemple: /etc/init.d/boot, /etc/init.d/rc, gettys...).<p>

<hr>
 070701000076cd000081a40000000000000002000000013d1fe2dc000000ee000000200000000000000000000000000000001e00000003reloc/inittab/help/index.html <header>Inittab</header>

Inittab file used by the sysv-compatible init process.<p>

The inittab file describes which processes are started at bootup and during normal operation (e.g./etc/init.d/boot, /etc/init.d/rc, gettys...).<p>

<hr>
  070701000076ce000081a40000000000000002000000013d1fe2dc0000010e000000200000000000000000000000000000002100000003reloc/inittab/help/index.pl.html  <header>Inittab</header>

Plik inittab jest u¿ywany przez zgodny z Systemem V proces init.<p>

Plik inittab okre¶la, które procesy s± uruchamiane podczas startu systemu,
jak te¿ podczas normalnej jego pracy. (np. /etc/init.d/boot, /etc/init.d/rc,
getty-ki...). <p>
<hr>
  070701000076cf000081a40000000000000002000000013d1fe2dc000000f9000000200000000000000000000000000000002400000003reloc/inittab/help/index.ru_RU.html   <header>Inittab</header>

Inittab ôàéë èñïîëüçóåòñÿ sysv-ñîâìåñòèìûì ïðîöåññîì init.<p>

Ôàéë inittab îïèñûâàåò êàêèå ïðîöåññû ñòàðòóþò ïðè çàãðóçêå è ïðè íîðìàëüíîì ôóíêöèîíèðîâàíèèè (íàïðèìåð: /etc/init.d/boot, /etc/init.d/rc, getty...).<p>

<hr>
   070701000076d0000081a40000000000000002000000013d1fe2dc000000f9000000200000000000000000000000000000002400000003reloc/inittab/help/index.ru_SU.html   <header>Inittab</header>

Inittab ÆÁÊÌ ÉÓÐÏÌØÚÕÅÔÓÑ sysv-ÓÏ×ÍÅÓÔÉÍÙÍ ÐÒÏÃÅÓÓÏÍ init.<p>

æÁÊÌ inittab ÏÐÉÓÙ×ÁÅÔ ËÁËÉÅ ÐÒÏÃÅÓÓÙ ÓÔÁÒÔÕÀÔ ÐÒÉ ÚÁÇÒÕÚËÅ É ÐÒÉ ÎÏÒÍÁÌØÎÏÍ ÆÕÎËÃÉÏÎÉÒÏ×ÁÎÉÉÉ (ÎÁÐÒÉÍÅÒ: /etc/init.d/boot, /etc/init.d/rc, getty...).<p>

<hr>
   070701000076d1000081a40000000000000002000000013d1fe2dc000000f5000000200000000000000000000000000000002100000003reloc/inittab/help/index.sv.html  <header>Inittab</header>

Inittab-fil som används av den sysv-kompatibla init-processen.

<p>Inittab-filen beskriver vilka processer som ska köras igång vid start
och under normal drift (t ex /etc/init.d/boot, /etc/init.d/rc, gettys ...).

<hr>
   070701000076d2000081a40000000000000002000000013d1fe2dc000001a7000000200000000000000000000000000000002300000003reloc/inittab/help/process.ca.html    <header>Procés</header>

Aquest camp conté la línia d'ordres del programa a executar en el nivell
d'execució especificat (p. ex. /etc/init.d/rc, /sbin/getty...).<br>

Si el camp del procés comença amb un caràcter '+', <i>init</i> no durà
la comptabilitat utmp i wtmp d'aquest procés. Això és necessari per als
processos que insisteixen en fer el seu propi manteniment utmp/wtmp.
També és un <i>bug</i> històric.<p>

<hr>


 070701000076d3000081a40000000000000002000000013d1fe2dc000001c3000000200000000000000000000000000000002300000003reloc/inittab/help/process.es.html    <header>Proceso</header>

Este campo contiene la línea de comando del programa que debería de ser
ejecutado en el nivel de ejecución especificado (p.ej. /etc/init.d/rc, /sbin/getty...).<br>

Si el campo de proceso comienza con un caracter '+', <i>init</i> no hará
control de cuentas con utmp y wtmp para ese proceso. Esto es necesario para
gettys que insisten en realizar su propio control de utmp y wtmp. Este es
también un error histórico.<p>

<hr>
 070701000076d4000081a40000000000000002000000013d1fe2dc00000121000000200000000000000000000000000000002300000003reloc/inittab/help/process.fr.html    <header>Processus</header>

Spécifie quel processus exécuter.<br>
Si le champ du processus commence par le caractère '+', init ne fera pas de journal sur ce processus.  Ceci est nécessaire pour gettys qui insiste pour faire ses propres journaux.  C'est aussi un bogue historique.<p>

<hr>
   070701000076d5000081a40000000000000002000000013d1fe2dc00000199000000200000000000000000000000000000002000000003reloc/inittab/help/process.html   <header>Process</header>

This field contains the command line of the program which should be executed
on the specified runlevel (e.g. /etc/init.d/rc, /sbin/getty...).<br>

If the process field starts with a `+' character, <i>init</i> will not do
utmp and wtmp accounting for that process. This is needed for gettys that
insist on doing their own utmp/wtmp housekeeping. This is also a historic
bug.<p>

<hr>
   070701000076d6000081a40000000000000002000000013d1fe2dc0000018f000000200000000000000000000000000000002300000003reloc/inittab/help/process.pl.html    <header>Proces</header>

To pole zawiera polecenie uruchamiaj±ce program na zadanym poziomie
uruchamiania (np. /etc/init.d/rc, /sbin/getty...). <br>

Je¶li zaczyna siê ono znakiem `+', <i>init</i> nie bêdzie logowa³ tego
procesu w&nbsp;plikach utmp i&nbsp;wtmp. Jest to potrzebne w&nbsp;przypadku
getty-ów, które same zarz±dzaja wpisami w&nbsp;utmp/wtmp. Jest to te¿
zasz³o¶æ historyczna. <p>

<hr>
 070701000076d7000081a40000000000000002000000013d1fe2dc000000b6000000200000000000000000000000000000002600000003reloc/inittab/help/process.ru_RU.html <header>Ïðîöåññ</header>

Â ýòîì ïîëå íàõîäèòñÿ êîìàäíàÿ ñòðîêà ïðîãðàììû, êîòîðàÿ áóäåò âûçâàíà äàííûì ïðîöåññîì èíèöèàëèçàöèè (íàïðèìåð: /etc/init.d/rc, /sbin/getty ...).<p>

<hr>
  070701000076d8000081a40000000000000002000000013d1fe2dc000000b6000000200000000000000000000000000000002600000003reloc/inittab/help/process.ru_SU.html <header>ðÒÏÃÅÓÓ</header>

÷ ÜÔÏÍ ÐÏÌÅ ÎÁÈÏÄÉÔÓÑ ËÏÍÁÄÎÁÑ ÓÔÒÏËÁ ÐÒÏÇÒÁÍÍÙ, ËÏÔÏÒÁÑ ÂÕÄÅÔ ×ÙÚ×ÁÎÁ ÄÁÎÎÙÍ ÐÒÏÃÅÓÓÏÍ ÉÎÉÃÉÁÌÉÚÁÃÉÉ (ÎÁÐÒÉÍÅÒ: /etc/init.d/rc, /sbin/getty ...).<p>

<hr>
  070701000076d9000081a40000000000000002000000013d1fe2dc00000164000000200000000000000000000000000000002300000003reloc/inittab/help/process.sv.html    <header>Process</header>

I detta fält finns kommandoraden för det program som ska köras på den
angivna nivån (t ex /etc/init.d/rc, /sbin/getty ...).

<br>Om processfältet börjar med ett '+'-tecken kommer <i>init</i> inte
att utföra utmp eller wtmp för processen. Detta behövs för gettys som
sköter sin egen utmp/wtmp. Det är också en klassisk bugg.

<hr>
070701000076da000081a40000000000000002000000013d1fe2dc000001a6000000200000000000000000000000000000002500000003reloc/inittab/help/runlevels.ca.html  <header>Nivells d'execució</header>

El camp pot contenir múltiples caràcters per a diferents nivells d'execució.
Per exemple, <tt>123</tt> especifica que el procés s'ha d'iniciar en els
nivells d'execució 1, 2, i 3.<p>

Quan el nivell d'execució del sistema es canvia, tots els processos en 
execució que no estan especificats al nivell nou es maten; primer amb
<tt>SIGTERM</tt>, llavors amb <tt>SIGKILL</tt>.<p>

<hr>


  070701000076db000081a40000000000000002000000013d1fe2dc000001ca000000200000000000000000000000000000002500000003reloc/inittab/help/runlevels.es.html  <header>Niveles de Ejecución</header>

El campo puede contener múltiples caracteres para diferentes niveles de ejecución. Por ejemplo, <tt>123</tt> especifica que el proceso debería de ser arrancado en los niveles de ejecución 1, 2, y 3.<p>

Cuando se cambia el nivel de ejecución del sistema, cualquier proceso que esté en ejecución que no se haya especificado en el nuevo nivel es matado, primero con <tt>SIGTERM</tt>, luego con <tt>SIGKILL</tt>.<p>

<hr>
  070701000076dc000081a40000000000000002000000013d1fe2dc000001b9000000200000000000000000000000000000002500000003reloc/inittab/help/runlevels.fr.html  <header>Niveaux d'Exécution</header>

Le champ du niveau d'exécution peut contenir les caractères des différents niveaux.  Par exemple <tt>123</tt> spécifie que le processus doit être démarré au niveau d'exécution 1, 2 et 3.<p>

Quand le système change de niveau, tout les processus qui ne sont pas spécifié dans le nouveau niveau sont tué, pour commencer avec le signal <tt>SIGTERM</tt> et ensuite avec le signal <tt>SIGKILL</tt>.<p>

<hr>
   070701000076dd000081a40000000000000002000000013d1fe2dc0000017a000000200000000000000000000000000000002200000003reloc/inittab/help/runlevels.html <header>Runlevels</header>

The field may contain multiple characters for different runlevels.  For example, <tt>123</tt> specifies that the process should be started in runlevels 1, 2, and 3.<p>

When the system runlevel is changed, any running processes that are not specified for the new runlevel are killed, first with <tt>SIGTERM</tt>, then with <tt>SIGKILL</tt>.<p>

<hr>
  070701000076de000081a40000000000000002000000013d1fe2dc000001d5000000200000000000000000000000000000002500000003reloc/inittab/help/runlevels.pl.html  <header>Poziomy</header>

To pole mo¿e zawieraæ kilka znaków okre¶laj±cych ró¿ne poziomy uruchomienia
systemu. Na przyk³ad, <tt>123</tt> okre¶la, ¿e proces powinien byæ
uruchomiony na poziomach 1, 2 i&nbsp;3. <p>

Gdy poziom uruchomienia systemu ulega zmianie, wszystkie dzia³aj±ce,
a&nbsp;nie wyszczególnione dla nowego poziomu uruchomienia procesy, s±
zabijane. Najpierw poprzez wys³anie do nich sygna³u <tt>SIGTERM</tt>,
a&nbsp;nastêpnie <tt>SIGKILL</tt>. <p>

<hr>
   070701000076df000081a40000000000000002000000013d1fe2dc00000190000000200000000000000000000000000000002800000003reloc/inittab/help/runlevels.ru_RU.html   <header>Óðîâíè âûïîëíåíèÿ</header>

Äàííîå ïîëå ìîæåò ñîäåðæàòü íåñêîëêî ñèìâîëîâ äëÿ ðàçíûõ óðîâíåé âûïîëíåíèÿ. Íàïðèìåð <tt>123</tt> îçíà÷àåò, ÷òî ïðîöåññ äîëæåí ñòàðòîâàòü â óðîâíÿõ âûïîëíåíèÿ 1, 2, è 3.<p>

Ïðè ñìåíå óðîâíÿ âûïîëíåíèÿ ëþáûå ïðîöåññû, êîòîðûå íå ïðåäíàçíà÷åíû äëÿ íîâîãî óðîâíÿ âûïîëíåíèÿ ïðèáèâàþòñÿ ñíà÷àëà ñèãíàëîì <tt>SIGTERM</tt>, à çàòåì ñèãíàëîì <tt>SIGKILL</tt>.<p>

<hr>
070701000076e0000081a40000000000000002000000013d1fe2dc00000190000000200000000000000000000000000000002800000003reloc/inittab/help/runlevels.ru_SU.html   <header>õÒÏ×ÎÉ ×ÙÐÏÌÎÅÎÉÑ</header>

äÁÎÎÏÅ ÐÏÌÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÎÅÓËÏÌËÏ ÓÉÍ×ÏÌÏ× ÄÌÑ ÒÁÚÎÙÈ ÕÒÏ×ÎÅÊ ×ÙÐÏÌÎÅÎÉÑ. îÁÐÒÉÍÅÒ <tt>123</tt> ÏÚÎÁÞÁÅÔ, ÞÔÏ ÐÒÏÃÅÓÓ ÄÏÌÖÅÎ ÓÔÁÒÔÏ×ÁÔØ × ÕÒÏ×ÎÑÈ ×ÙÐÏÌÎÅÎÉÑ 1, 2, É 3.<p>

ðÒÉ ÓÍÅÎÅ ÕÒÏ×ÎÑ ×ÙÐÏÌÎÅÎÉÑ ÌÀÂÙÅ ÐÒÏÃÅÓÓÙ, ËÏÔÏÒÙÅ ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎÙ ÄÌÑ ÎÏ×ÏÇÏ ÕÒÏ×ÎÑ ×ÙÐÏÌÎÅÎÉÑ ÐÒÉÂÉ×ÁÀÔÓÑ ÓÎÁÞÁÌÁ ÓÉÇÎÁÌÏÍ <tt>SIGTERM</tt>, Á ÚÁÔÅÍ ÓÉÇÎÁÌÏÍ <tt>SIGKILL</tt>.<p>

<hr>
070701000076e1000081a40000000000000002000000013d1fe2dc00000175000000200000000000000000000000000000002500000003reloc/inittab/help/runlevels.sv.html  <header>Körnivåer</header>

Fältet får innehålla flera tecken, som motsvarar olika körnivåer. Exempelvis
betyder <tt>123</tt> att processen ska köras igång vid körnivåerna 1, 2 och 3.

<p>När körnivån för systemet ändras kommer alla processer som inte har
definierats för den nya körnivån att slås ihjäl, först med <tt>SIGTERM</tt>
och därefter med <tt>SIGKILL</tt>.

<hr>
   07070100008dda000041ed0000000000000001000000023d1ffa6200000000000000200000000000000000000000000000001500000003reloc/inittab/images  07070100008ddb000081a40000000000000002000000013d1fe2dc00000128000000200000000000000000000000000000001e00000003reloc/inittab/images/icon.gif GIF89a0 0 ¡     ÿÿÿÿÿÿÿÿÿ!þBy Gimp Ostie! !ù
  ,    0 0  ç”©Ëí£œ´Ú‹³Þ¼û†âè æ‰f€€¦ˆÄr»Z°<×,€çüyáõbº_@xüµlBd’ÕS&O‘J„b³(ªÉêõm«Ò¸IDÏ´oEyJ_›ìpuâœ;é†òŒc·ÖÃ‡gøWw(‘÷ÈæÆ˜ö&gYbÔ¤!…Õ¹P¦t‰DÚpúà(™ f¸ª	J(Šf*‹æÊ&0˜«û›¥rU‹7¥øzë$W˜…1­7h\v9µ‘h—ãî9=8”Ù±i}ÂäC²Øv¯¿Ïßïÿ0 Àü
  ;07070100005f82000081e40000000000000002000000013d1fe2dc000008da000000200000000000000000000000000000001800000003reloc/inittab/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a list of run-levels and the actions that are run at boot and
# shutdown time for each level

require './inittab-lib.pl';
&header( $text{'inittab_title'}, "", "index", 1, 1, 0,
	&help_search_link("inittab", "man"));
%access = &get_module_acl();

print(
"<hr><a href=new_inittab.cgi>", $text{ 'inittab_new' }, "</a><br>",
"<table border width=\"100%\">",
  "<tr ", $tb, ">",
	"<td><b>", &hlink( $text{ 'inittab_id' }, "id" ), "</b></td>",
	"<td><b>", &hlink( $text{ 'inittab_runlevels' }, "runlevels" ), "</b></td>",
	"<td><b>", &hlink( $text{ 'inittab_action' }, "action" ), "</b></td>",
	"<td><b>", &hlink( $text{ 'inittab_process' }, "process" ), "</b></td>",
  "</tr>" );

open( INITTAB, $config{ 'inittab_file' } );
while($line = <INITTAB>)
{
  $line =~ s/\r|\n//g;
  $line =~ s/#.*$//g;
  $line =~ s/\/\/.*$//g;

  #For AIX inittab files, a leading ':' indicates a comment
  #Do a check to make sure its AIX, then take care of comment
  if($gconfig{'os_type'} eq 'aix') {
      $line =~ s/^:.*$//g;
  }

  if($line)
  {
	while($line =~ /\\$/)
	{
		local $nl = <INITTAB>;
		$line =~ s/\\$//;
		$nl =~ s/^\s+//;
		$line .= $nl;
	}
	local ( $id, $raw_runlevels, $action, $process ) = split( /:/, $line );
	local $runlevels = "";
	$process = $text{ 'inittab_none' } if( !$process );
    if( $raw_runlevels )
	{
	  foreach $runlevel ( split( //, $raw_runlevels ) )
	  {
		    $runlevels .= $runlevel. ", ";
	  }
	  chop( $runlevels ); chop( $runlevels );
	} else {
	  $runlevels = $text{ 'inittab_none' };
	}

	$action = "kbdrequest" if ($action eq "kbrequest");
	$action = "inittab_". $action;
	print(
  "<tr ", $cb, ">",
	"<td><a href=\"edit_inittab.cgi?id=", $id, "\">",
		&html_escape($id), "</a></td>",
	"<td>", &html_escape($runlevels), "</td>",
	"<td>", $text{ $action }, "</td>",
	"<td>", &html_escape($process), "</td>",
  "</tr>" );
  }
}
print(
"</table>",
"<a href=new_inittab.cgi>", $text{ 'inittab_new' }, "</a><p>" );

print "<hr>\n";
print "<table width=100%><tr>\n";
print "<form action=apply.cgi>\n";
print "<td><input type=submit value='$text{'inittab_apply'}'></td>\n";
print "<td>$text{'inittab_applymsg'}</td>\n";
print "</form></tr></table><br>\n";

print "<hr>\n";
&footer( "/", $text{'index'} );

  07070100005f83000081e40000000000000002000000013d1fe2dc00000592000000200000000000000000000000000000001d00000003reloc/inittab/inittab-lib.pl  #!/usr/local/bin/perl

do "../web-lib.pl";

&init_config();
%access = &get_module_acl();
$| = 1;

sub p_link
{
    my ( $dest, $text ) = @_;
    return "<a href=\"". $dest. "\">". $text. "</a>";
}

sub p_radio
{
    my ( $name, $checked, @list ) = @_;
    local ($out, $size, $i);
    $size = @list; $i = 0;

    do
    {
	$out .= " <input type=radio name=".$name." value=".$list[$i];
	$out .= " checked" if( $checked eq $list[$i++] );
	$out .="> ".$list[$i++];
    } while( $i < $size );

    return $out;
}

sub p_entry
{
    my ( $name, $value, $size ) = @_;
    my $q = $_[1] =~ /'/ ? "\"" : "'";

    $size ? return "<input name=". $name. " size=". $size." value=$q". $value."$q>" : return "<input name=". $name. " value=$q". $value."$q>";
}

sub p_select_wdl
{
    my ( $name, $selected, @list ) = @_;
    local $size = @list, $i = 0, $out = " <select name=".$name.">";
    do
    {
	$out .= "<option name=".$name." value=".$list[$i];
	$out .= " selected" if( $selected eq $list[$i++] );
	$out .= ">".$list[$i++];
    } while( $i < $size );
    $out .= "</select>";

    return $out;
}

sub p_select
{
    my ( $name, $selected, @list ) = @_;
    local (@newlist, $item);

    foreach $item ( @list )
    {
	push( @newlist, $item, $item );
    }

    p_select_wdl( $name, $selected, @newlist );
}

sub p_button
{
    my ( $name, $value ) = @_;
    return "<input type=submit name=". $name. " value=\"". $value. "\">";
}
  0707010000a2be000041ed0000000000000001000000023d1ffa6300000000000000200000000000000000000000000000001300000003reloc/inittab/lang    0707010000a2e6000081a40000000000000002000000013d1fe2dc0000069d000000200000000000000000000000000000001600000003reloc/inittab/lang/ca inittab_title=Configuració init de SysV
inittab_new=Crea un nou procés init
inittab_id=Nom
inittab_runlevels=Nivell d'Execució
inittab_action=Acció
inittab_process=Procés
inittab_none=Cap
inittab_respawn=Activa
inittab_wait=Espera
inittab_once=Un cop pel nivell
inittab_boot=En engegar
inittab_bootwait=En engegar, espera que acabi
inittab_off=No facis res
inittab_ondemand=Quan sigui a A, B, C
inittab_initdefault=Després d'engegar el sistema
inittab_sysinit=Durant l'engegada del sistema
inittab_powerwait=La màquina s'apaga
inittab_powerfail=La màquina s'apaga sense esperar
inittab_powerokwait=La màquina es torna a encendre
inittab_powerfailnow=Se'n va la llum
inittab_ctrlaltdel=Ctrl-Alt-Supr
inittab_kbdrequest=Combinació especial de tecles
inittab_return=a l'índex d'inittab
inittab_apply=Aplica la Configuració d'Init
inittab_applymsg=Fes clic sobre aquest botó per aplicar la confiuració Init de SysV actual executant l'ordre <tt>telinit -q</tt>. Tingues en compte que, en executar aquesta ordre, qualsevol error en la configuració pot fer que el sistema no funcioni.

edit_inittab_err=No tens permís per editar processos
edit_inittab_title=Edició del Procés $1
edit_inittab_details=Detalls del Procés
edit_inittab_del=Suprimeix
edit_inittab_save=Desa

new_inittab_err=No tens permís per crear nous processos
new_inittab_title=Nou procés

save_inittab_err=No tens permís per desar processos
save_inittab_noid=Error, no has introduït cap nom de procés
save_inittab_already=Error, aquest nom de procés ja existeix

log_modify=He modificat el procés init $1
log_rename=He renomenat el procés init $1 a $2
log_create=He creat el procés init $1
log_delete=He suprimit el procés init $1


   0707010000a2e7000081a40000000000000002000000013d1fe2dc00000540000000200000000000000000000000000000001600000003reloc/inittab/lang/de inittab_title=SysV-Init-Konfiguration
inittab_new=Erstellen eines neuen Init-Prozesses
inittab_id=Name
inittab_runlevels=Ausf&uuml;hrungs-Level
inittab_action=Aktion
inittab_process=Prozess
inittab_none=Keine
inittab_respawn=Neu starten
inittab_wait=Warten
inittab_once=Einmal im Level
inittab_boot=Beim Booten
inittab_bootwait=Beim Booten, warten bis Beendigung
inittab_off=Nichts tun
inittab_ondemand=Immer wenn in A, B, C
inittab_initdefault=Nach dem Systemstart
inittab_sysinit=W&auml;hrend des Systemstarts
inittab_powerwait=Bei Stromausfall
inittab_powerfail=Bei Stromausfall ohne Warten
inittab_powerokwait=Stromversorgung ist wiederhergestellt
inittab_powerfailnow=Stromausfall
inittab_ctrlaltdel=Strg-Alt-Entf
inittab_kbdrequest=Spezielle Tastenkombination
inittab_return=Inittab-Index
edit_inittab_err=Sie haben keine Berechtigung, einen Prozess zu bearbeiten
edit_inittab_title=Prozess $1 bearbeiten
edit_inittab_details=Prozessdetails
edit_inittab_del=L&ouml;schen
edit_inittab_save=Speichern
new_inittab_err=Sie haben keine Berechtigung, einen neuen Prozess zu erstellen
new_inittab_title=Neuer Prozess
save_inittab_err=Sie haben keine Berechtigung, einen Prozess zu speichern
save_inittab_noid=Fehler, es wurde kein Name f&uuml;r den Prozess eingegeben
save_inittab_already=Fehler, der angegebene Prozessname ist bereits vergeben
0707010000a2e8000081a40000000000000002000000013d1fe2dc0000061e000000200000000000000000000000000000001600000003reloc/inittab/lang/en inittab_title=SysV Init Configuration
inittab_new=Create a new init process
inittab_id=Name
inittab_runlevels=Execution Level
inittab_action=Action
inittab_process=Process
inittab_none=None
inittab_respawn=Respawn
inittab_wait=Wait
inittab_once=Once time at level
inittab_boot=Boot time
inittab_bootwait=Boot time, wait until termination
inittab_off=Do nothing
inittab_ondemand=Whenever in A, B, C
inittab_initdefault=After system boot
inittab_sysinit=During system boot
inittab_powerwait=Power goes down
inittab_powerfail=Power goes down whitout waiting
inittab_powerokwait=Power is restored
inittab_powerfailnow=Power fail
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=Special key combination
inittab_return=inittab index
inittab_apply=Apply Init Configuration
inittab_applymsg=Click this button to apply the current SysV Init Configuration by running the command <tt>telinit -q</tt>. Be aware that any mistakes in your configuration may make the system unusable when this command is run.

edit_inittab_err=Your not allowed to edit a process
edit_inittab_title=Edit Process $1
edit_inittab_details=Process Details
edit_inittab_del=Delete
edit_inittab_save=Save

new_inittab_err=Your not allowed to create a new process
new_inittab_title=New Process

save_inittab_err=Your not allowed to save a process
save_inittab_noid=Error, no name process entered
save_inittab_already=Error, the name process already exist

log_modify=Modified init process $1
log_rename=Renamed init process $1 to $2
log_create=Created init process $1
log_delete=Deleted init process $1

  0707010000a2e9000081a40000000000000002000000013d1fe2dc000005b7000000200000000000000000000000000000001600000003reloc/inittab/lang/es inittab_title=Configuración Init de SysV
inittab_new=Crear un nuevo proceso de init
inittab_id=Nombre
inittab_runlevels=Nivel de Ejecución
inittab_action=Acción
inittab_process=Proceso
inittab_none=Ninguno
inittab_respawn=Reproducir
inittab_wait=Esperar
inittab_once=Una vez por nivel
inittab_boot=En el arranque
inittab_bootwait=En el arranque, esperar hasta que termine
inittab_off=No hacer nada
inittab_ondemand=Cuando sea dentro de A, B, C
inittab_initdefault=Tras el arranque del sistema
inittab_sysinit=Durante el arranque del sistema
inittab_powerwait=Apagado de Corriente
inittab_powerfail=Apagado de Corriente sin esperar
inittab_powerokwait=Restauración de Corriente
inittab_powerfailnow=Fallo de Corriente
inittab_ctrlaltdel=Ctrl-Alt-Supr
inittab_kbrequest=Combinación especial de tecla
inittab_return=índice de inittab

edit_inittab_err=No estás autorizado a editar un proceso
edit_inittab_title=Editar Proceso $1
edit_inittab_details=Detalles del Proceso
edit_inittab_del=Borrar
edit_inittab_save=Salvar

new_inittab_err=No estás autorizado a crear un nuevo proceso
new_inittab_title=Nuevo Proceso

save_inittab_err=No estás autorizado a salvar un proceso
save_inittab_noid=Error, no se ha digitado nombre de proceso
save_inittab_already=Error, ya existe el nombre del poceso

log_modify=Modificado proceso $1 de inicio
log_rename=Renombrado proceso de inicio $1 por $2
log_create=Creado proceso de inicio $1
log_delete=Borrado proceso de inicio $1

 0707010000a2ea000081a40000000000000002000000013d1fe2dc00000654000000200000000000000000000000000000001600000003reloc/inittab/lang/fr inittab_title=Processus d'Initialisation
inittab_new=Créer un nouveau processus
inittab_id=Nom (unique)
inittab_runlevels=Niveau(x) d'exécution
inittab_action=Action
inittab_process=Processus
inittab_none=Aucun
inittab_respawn=Redémarre après être terminé
inittab_wait=Attend son exécution dans le niveau
inittab_once=Une seule fois dans le niveau
inittab_boot=Au démarrage
inittab_bootwait=Au démarrage et init l'attend
inittab_off=Rien faire
inittab_ondemand=N'importe quand dans le niveau
inittab_initdefault=Après le démarrage
inittab_sysinit=Durant le démarrage
inittab_powerwait=Quand l'alimentation défaille
inittab_powerfail=Quand l'alimentation défaille, sans attendre
inittab_powerokwait=Quand l'alimentation revient
inittab_powerfailnow=Quand l'alimentation s'arrête
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=Combinaison spéciale de touches
inittab_return=index de l'action de démarrage et d'arrêt

edit_inittab_err=Vous n'êtes pas autorisé à editer un processus
edit_inittab_title=Éditer le Processus $1
edit_inittab_details=Détails du Processus
edit_inittab_del=Supprimer
edit_inittab_save=Enregistrer

new_inittab_err=Vous n'êtes pas autorisé à créer un nouveau processus
new_inittab_title=Nouveau Processus

save_inittab_err=Vous n'êtes pas autorisé à enregistrer un processus
save_inittab_noid=Erreur, aucun nom de processus d'entré
save_inittab_already=Erreur, le nom de processus existe déjà

log_modify=Processus d'initialisation $1 modifié
log_rename=Processus d'initialisation $1 renommé en $2
log_create=Processus d'initialisation $1 créé
log_delete=Processus d'initialisation $1 supprimé
0707010000a2eb000081a40000000000000002000000013d1fe2dc000004f4000000200000000000000000000000000000001d00000003reloc/inittab/lang/ja_JP.euc  inittab_title=SysV Init ÀßÄê
inittab_new=¿·µ¬¤Î init ¥×¥í¥»¥¹¤òºîÀ®
inittab_id=Ì¾Á°
inittab_runlevels=¼Â¹Ô¥ì¥Ù¥ë
inittab_action=¥¢¥¯¥·¥ç¥ó
inittab_process=¥×¥í¥»¥¹
inittab_none=¤Ê¤·
inittab_respawn=Respawn
inittab_wait=ÂÔµ¡
inittab_once=¥ì¥Ù¥ë¤Ç°ìÅÙ
inittab_boot=µ¯Æ°»þ
inittab_bootwait=µ¯Æ°»þ¡¢½ªÎ»¤¹¤ë¤Þ¤ÇÂÔµ¡
inittab_off=¥ª¥Õ
inittab_ondemand=A¡¢B¡¢ C ¤ÇÍ×µá»þ
inittab_initdefault=¥·¥¹¥Æ¥à¤òµ¯Æ°¸å
inittab_sysinit=¥·¥¹¥Æ¥à¤òµ¯Æ°Ãæ
inittab_powerwait=ÅÅ¸»¤ò¥ª¥Õ
inittab_powerfail=ÂÔµ¡¤Ê¤·¤ÇÅÅ¸»¤ò¥ª¥Õ
inittab_powerokwait=ÅÅ¸»¤òÉü¸µ
inittab_powerfailnow=ÅÅ¸»¾ã³²
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=ÆÃ¼ì¥­¡¼¤ÎÁÈ¤ß¹ç¤ï¤»
inittab_return=inittab ¥¤¥ó¥Ç¥Ã¥¯¥¹

edit_inittab_err=¥×¥í¥»¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_inittab_title=¥×¥í¥»¥¹ $1 ¤òÊÔ½¸
edit_inittab_details=¥×¥í¥»¥¹¤Î¾ÜºÙ
edit_inittab_del=ºï½ü
edit_inittab_save=ÊÝÂ¸

new_inittab_err=¿·µ¬¤Î¥×¥í¥»¥¹¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
new_inittab_title=¿·µ¬¤Î¥×¥í¥»¥¹

save_inittab_err=¥×¥í¥»¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó
save_inittab_noid=¥¨¥é¡¼:Ì¾Á°¥×¥í¥»¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_inittab_already=¥¨¥é¡¼:¤½¤ÎÌ¾Á°¤Î¥×¥í¥»¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹

log_modify=init ¥×¥í¥»¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_rename=init ¥×¥í¥»¥¹ $1 ¤ò $2 ¤ËÌ¾¾ÎÊÑ¹¹¤·¤Þ¤·¤¿
log_create=init ¥×¥í¥»¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete=init ¥×¥í¥»¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿

0707010000a2ec000081a40000000000000002000000013d1fe2dc000004d3000000200000000000000000000000000000001d00000003reloc/inittab/lang/ko_KR.euc  inittab_title=SysV init ±¸¼º
inittab_new=»õ init ÇÁ·Î¼¼½º ÀÛ¼º
inittab_id=ÀÌ¸§
inittab_runlevels=½ÇÇà ¼öÁØ
inittab_action=µ¿ÀÛ
inittab_process=ÇÁ·Î¼¼½º
inittab_none=¾øÀ½
inittab_respawn=Respawn
inittab_wait=´ë±â
inittab_once=¼öÁØ¸¶´Ù ÇÑ ¹ø
inittab_boot=ºÎÆÃ ½Ã°£
inittab_bootwait=ºÎÆÃ ½Ã°£, Á¾·áÇÒ ¶§±îÁö ´ë±â
inittab_off=Á¶Ä¡ ¾øÀ½
inittab_ondemand=A, B, C¿¡ ÀÖÀ» ¶§¸¶´Ù
inittab_initdefault=½Ã½ºÅÛ ºÎÆÃ ÈÄ
inittab_sysinit=½Ã½ºÅÛ ºÎÆÃ µµÁß
inittab_powerwait=Àü¿ø ²¨Áü
inittab_powerfail=´ë±âÇÏÁö ¾Ê°í Àü¿ø ²¨Áü
inittab_powerokwait=Àü¿ø º¹¿øµÊ
inittab_powerfailnow=Á¤Àü
inittab_ctrlaltdel=Ctrl+Alt+Del
inittab_kbdrequest=Æ¯Á¤ Å° Á¶ÇÕ
inittab_return=inittab ÀÎµ¦½º

edit_inittab_err=ÇÁ·Î¼¼½º¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_inittab_title=ÇÁ·Î¼¼½º $1 ÆíÁý
edit_inittab_details=ÇÁ·Î¼¼½º »ó¼¼ Á¤º¸
edit_inittab_del=»èÁ¦
edit_inittab_save=ÀúÀå

new_inittab_err=»õ ÇÁ·Î¼¼½º¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
new_inittab_title=»õ ÇÁ·Î¼¼½º

save_inittab_err=ÇÁ·Î¼¼½º¸¦ ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù
save_inittab_noid=¿À·ù. ÀÌ¸§ ÇÁ·Î¼¼½º¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
save_inittab_already=¿À·ù, ÀÌ¸§ ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù

log_modify=init ÇÁ·Î¼¼½º $1 ¼öÁ¤µÊ
log_rename=init ÇÁ·Î¼¼½º ÀÌ¸§ÀÌ $1¿¡¼­ $2(À¸)·Î ¹Ù²ñ
log_create=init ÇÁ·Î¼¼½º $1 ÀÛ¼ºµÊ
log_delete=init ÇÁ·Î¼¼½º $1 »èÁ¦µÊ

 0707010000a2ed000081a40000000000000002000000013d1fe2dc00000560000000200000000000000000000000000000001600000003reloc/inittab/lang/pl inittab_title=Konfiguracja inita (System V)
inittab_new=Utwórz nowy proces inita
inittab_id=Nazwa
inittab_runlevels=Poziom
inittab_action=Akcja
inittab_process=Proces
inittab_none=¯aden
inittab_respawn=Odtwórz po zakoñczeniu
inittab_wait=Czekaj
inittab_once=Jednorazowo na poziomie
inittab_boot=Podczas startu
inittab_bootwait=Podczas startu, czekaj na zakoñczenie
inittab_off=Nic nie rób
inittab_ondemand=Kiedykolwiek na poziomie A, B, C
inittab_initdefault=Domy¶lny poziom
inittab_sysinit=Podczas startu systemu
inittab_powerwait=Zanik zasilania
inittab_powerfail=Zanik zasilania, nie czekaæ
inittab_powerokwait=Powrót zasilania
inittab_powerfailnow=Brak zasilania
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=Specjalna kombinacja klawiszy
inittab_return=tablicy inittaba

edit_inittab_err=Nie masz uprawnieñ do zmiany procesów
edit_inittab_title=Zmieñ proces $1
edit_inittab_details=Dane procesu
edit_inittab_del=Usuñ
edit_inittab_save=Zachowaj

new_inittab_err=Nie masz uprawnieñ do tworzenia nowych procesów
new_inittab_title=Nowy proces

save_inittab_err=Nie masz uprawnieñ do zachowania procesu
save_inittab_noid=B³±d, nie podano nazwy procesu
save_inittab_already=B³±d, ta nazwa procesu ju¿ istnieje

log_modify=Zmieniono proces inita $1
log_rename=Zmieniono nazwê procesu inita $1 na $2
log_create=Utworzono proces inita $1
log_delete=Usuniêto proces inita $1

0707010000a2ee000081a40000000000000002000000013d1fe2dc000004f4000000200000000000000000000000000000001900000003reloc/inittab/lang/ru_RU  inittab_powerfailnow=Ñáîé ïèòàíèÿ
inittab_runlevels=Óðîâåíü Âûïîëíåíèÿ
inittab_process=Ïðîöåññ
inittab_powerwait=Îòêëþ÷åíèå ïèòàíèÿ
inittab_ondemand=Ïðè íàæîæäåíèè â A, B, C
inittab_none=Íåò
new_inittab_title=Íîâûé ïðîöåññ
inittab_return=ìåíþ èíèöèàëèçàòîðà
edit_inittab_save=Ñîõðàíèòü
edit_inittab_title=Ðåäàêòèðîâàíèå Ïðîöåññà $1
inittab_sysinit=Âî âðåìÿ ñòàðòà ñèñòåìû
save_inittab_already=Îøèáêà, ïðîöåññ ñ òàêèì èìåíåì óæå ñóùåñòâóåò
inittab_wait=Îæèäàíèå
inittab_powerokwait=Âîññòàíîâëåíèå ïèòàíèÿ
save_inittab_err=Âàì íå ðàçðåøåíî ñîõðàíÿòü ïðîöåññ
inittab_kbdrequest=Ñïåöèàëüíàÿ êîìáèíàöèÿ êëàâèø
inittab_bootwait=Ïðè ñòàðòå, æäàòü îêîí÷àíèÿ
inittab_once=Åäèíîæäû íà óðîâíå
edit_inittab_del=Óäàëèòü
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_new=Ñîçäàòü íîâûé ïðîöåññ èíèöèàëèçàöèè
inittab_respawn=Ïåðåçàïóñê
inittab_action=Äåéñòâèå
save_inittab_noid=Îøèáêà, íå ââåäåíî èìÿ ïðîöåññà
new_inittab_err=Âàì íå ðàçðåøåíî ñîçäàâàòü íîâûé ïðîöåññ
edit_inittab_details=Ïàðàìåòðû ïðîöåññà èíèöèàëèçàöèè
inittab_initdefault=Ïîñëå ñòàðòà ñèñòåìû
inittab_title=Êîíôèãóðàöèÿ SysV Èíèöèàëèçàòîðà (Init)
inittab_id=Èìÿ
inittab_boot=Ïðè ñòàðòå
inittab_powerfail=Îòêëþ÷åíèå ïèòàíèÿ áåç îæèäàíèÿ
inittab_off=Íè÷åãî íå äåëàòü
edit_inittab_err=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïðîöåññ
0707010000a2ef000081a40000000000000002000000013d1fe2dc000004f7000000200000000000000000000000000000001900000003reloc/inittab/lang/ru_SU  inittab_title=ëÏÎÆÉÇÕÒÁÃÉÑ SysV éÎÉÃÉÁÌÉÚÁÔÏÒÁ (Init)
inittab_new=óÏÚÄÁÔØ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ ÉÎÉÃÉÁÌÉÚÁÃÉÉ
inittab_id=éÍÑ
inittab_runlevels=õÒÏ×ÅÎØ ÷ÙÐÏÌÎÅÎÉÑ
inittab_action=äÅÊÓÔ×ÉÅ
inittab_process=ðÒÏÃÅÓÓ
inittab_none=îÅÔ
inittab_respawn=ðÅÒÅÚÁÐÕÓË
inittab_wait=ïÖÉÄÁÎÉÅ
inittab_once=åÄÉÎÏÖÄÙ ÎÁ ÕÒÏ×ÎÅ
inittab_boot=ðÒÉ ÓÔÁÒÔÅ
inittab_bootwait=ðÒÉ ÓÔÁÒÔÅ, ÖÄÁÔØ ÏËÏÎÞÁÎÉÑ
inittab_off=îÉÞÅÇÏ ÎÅ ÄÅÌÁÔØ
inittab_ondemand=ðÒÉ ÎÁÖÏÖÄÅÎÉÉ × A, B, C
inittab_initdefault=ðÏÓÌÅ ÓÔÁÒÔÁ ÓÉÓÔÅÍÙ
inittab_sysinit=÷Ï ×ÒÅÍÑ ÓÔÁÒÔÁ ÓÉÓÔÅÍÙ
inittab_powerwait=ïÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ
inittab_powerfail=ïÔËÌÀÞÅÎÉÅ ÐÉÔÁÎÉÑ ÂÅÚ ÏÖÉÄÁÎÉÑ
inittab_powerokwait=÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÐÉÔÁÎÉÑ
inittab_powerfailnow=óÂÏÊ ÐÉÔÁÎÉÑ
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=óÐÅÃÉÁÌØÎÁÑ ËÏÍÂÉÎÁÃÉÑ ËÌÁ×ÉÛ
inittab_return=ÍÅÎÀ ÉÎÉÃÉÁÌÉÚÁÔÏÒÁ

edit_inittab_err=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÒÏÃÅÓÓ
edit_inittab_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÒÏÃÅÓÓÁ $1
edit_inittab_details=ðÁÒÁÍÅÔÒÙ ÐÒÏÃÅÓÓÁ ÉÎÉÃÉÁÌÉÚÁÃÉÉ
edit_inittab_del=õÄÁÌÉÔØ
edit_inittab_save=óÏÈÒÁÎÉÔØ

new_inittab_err=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ
new_inittab_title=îÏ×ÙÊ ÐÒÏÃÅÓÓ

save_inittab_err=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÈÒÁÎÑÔØ ÐÒÏÃÅÓÓ
save_inittab_noid=ïÛÉÂËÁ, ÎÅ ××ÅÄÅÎÏ ÉÍÑ ÐÒÏÃÅÓÓÁ
save_inittab_already=ïÛÉÂËÁ, ÐÒÏÃÅÓÓ Ó ÔÁËÉÍ ÉÍÅÎÅÍ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
 0707010000a2f0000081a40000000000000002000000013d1fe2dc00000543000000200000000000000000000000000000001600000003reloc/inittab/lang/sv inittab_title=Startinställningar för SysV
inittab_new=Skapa en ny init-process
inittab_id=Processnamn
inittab_runlevels=Nivå för utförande
inittab_action=Agera
inittab_process=Process
inittab_none=Ingen
inittab_respawn=Fortsätt
inittab_wait=Vänta
inittab_once=En gång på nivå
inittab_boot=Vid start
inittab_bootwait=Vid start, vänta på avslutning
inittab_off=Gör ingenting
inittab_ondemand=Alltid vid A, B, C
inittab_initdefault=På standardnivå
inittab_sysinit=Under systemstart
inittab_powerwait=Vid strömavbrott
inittab_powerfail=Vid strömavbrott, utan dröjsmål
inittab_powerokwait=Då strömmen kommer tillbaka
inittab_powerfailnow=Vid UPS-svikt
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=Speciell tangentkombination
inittab_return=inittab-index

edit_inittab_err=Du får inte ändra processer
edit_inittab_title=Ändra process $1
edit_inittab_details=Uppgifter om process
edit_inittab_del=Ta bort
edit_inittab_save=Spara

new_inittab_err=Du får inte skapa en ny process
new_inittab_title=Ny process

save_inittab_err=Du får inte spara processer
save_inittab_noid=Fel! Du har inte angivit något namn för processen
save_inittab_already=Fel! Det finns redan en process med detta namn

log_modify=Modifierade init-process $1
log_rename=Bytte namn på init-process $1 till $2
log_create=Skapadeinit-process $1
log_delete=Tog bort init-process $1
 0707010000a2f1000081a40000000000000002000000013d1fe2dc000005b8000000200000000000000000000000000000001600000003reloc/inittab/lang/tr inittab_title=SysV Açýlýþ Yapýlandýrmasý
inittab_new=Yeni bir açýlýþ iþlemi oluþtur
inittab_id=Ýsim
inittab_runlevels=Çalýþma Seviyesi
inittab_action=Ne zaman yapýlsýn
inittab_process=Ýþlem
inittab_none=Hiçbiri
inittab_respawn=Çok sayýda üretildiðinde(respawn)
inittab_wait=Bekleme
inittab_once=Seviyede bir kere
inittab_boot=Açýlýþta
inittab_bootwait=Açýlýþta, yok edilinceye kadar
inittab_off=Hiçbirþey yapma
inittab_ondemand=A, B, C'de her zaman
inittab_initdefault=Sistem açýldýktan sonra
inittab_sysinit=Sistem açýlýþý sýrasýnda
inittab_powerwait=Güç kapatýlýrken
inittab_powerfail=Güç beklemeden kapatýldýðýnda
inittab_powerokwait=Güç yeniden düzenlendiðinde
inittab_powerfailnow=Güç düþtüðünde
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=Özel tuþ kombinasyonu
inittab_kbrequest=Özel tuþ kombinasyonu
inittab_return=inittab indeksi

edit_inittab_err=Bir iþlemi deðiþtirmek için izininiz yoktur
edit_inittab_title=Ýþlem $1'i Deðiþtir
edit_inittab_details=Ýþlem Ayrýntýlarý
edit_inittab_del=Sil
edit_inittab_save=Kaydet

new_inittab_err=Yeni bir iþlem oluþturmak için izininiz yoktur
new_inittab_title=Yeni Ýþlem

save_inittab_err=bir iþlem kaydetmek için izininiz yoktur
save_inittab_noid=Hata, iþlem ismi girilmedi
save_inittab_already=Hata, iþlem ismi her zaman mevcut

log_modify=Açýlýþ iþlemi $1 deðiþtirildi
log_rename=Açýlýþ iþlemi $1, $1 olarak yeniden isimlendirildi
log_create=Açýlýþ iþlemi $1 oluþturuldu
log_delete=Açýlýþ iþlemi $1 silindi

0707010000a2f2000081a40000000000000002000000013d1fe2dc0000041e000000200000000000000000000000000000001900000003reloc/inittab/lang/zh_CN  inittab_title=SysV ³õÊ¼»¯ÅäÖÃ
inittab_new=´´½¨Ò»¸öÐÂµÄ³õÊ¼»¯½ø³Ì
inittab_id=Ãû×Ö
inittab_runlevels=Ö´ÐÐµÈ¼¶
inittab_action=¶¯×÷
inittab_process=½ø³Ì
inittab_none=ÎÞ
inittab_respawn=ÖØÐÂ²úÉú
inittab_wait=µÈ´ý
inittab_once=Ò»´Î¼ÆÊ±£¬ÔÚµÈ¼¶
inittab_boot=Òýµ¼Ê±¼ä
inittab_bootwait=Òýµ¼Ê±¼ä£¬µÈ´ýµ½½áÊø
inittab_off=ÎÞÐÐ¶¯
inittab_ondemand=Ã¿µ±ÔÚA¡¢B¡¢CÖÐ
inittab_initdefault=ÏµÍ³Òýµ¼ºó
inittab_sysinit=ÏµÍ³Òýµ¼ÆÚ¼ä
inittab_powerwait=¹Ø±ÕµçÔ´
inittab_powerfail=ÎÞµÈ´ýµØ¹Ø±ÕµçÔ´
inittab_powerokwait=µçÔ´»Ö¸´
inittab_powerfailnow=µçÔ´Ê§°Ü
inittab_ctrlaltdel=Ctrl-Alt-Del
inittab_kbdrequest=ÌØÊâ¼ü×éºÏ
inittab_return=inittab Ë÷Òý
edit_inittab_err=Äú²»ÄÜ±à¼­½ø³Ì
edit_inittab_title=±à¼­½ø³Ì $1
edit_inittab_details=½ø³ÌÏêÊö
edit_inittab_del=É¾³ý
edit_inittab_save=±£´æ
new_inittab_err=Äú²»ÄÜ´´½¨ÐÂ½ø³Ì
new_inittab_title=ÐÂ½ø³Ì
save_inittab_err=Äú²»ÄÜ±£´æÒ»¸ö½ø³Ì
save_inittab_noid=´íÎó£¬Î´ÊäÈë½ø³ÌÃû
save_inittab_already=´íÎó£¬½ø³ÌÃûÒÑ´æÔÚ
log_modify=ÒÑÐÞ¸Ä³õÊ¼»¯½ø³Ì $1
log_rename=½ø³Ì $1 ÒÑ¸ÄÃûÎª $2
log_create=ÒÑ´´½¨³õÊ¼»¯½ø³Ì $1
log_delete=ÒÑÉ¾³ý³õÊ¼»¯½ø³Ì $1
  0707010000a2f3000081a40000000000000002000000013d1fe2dc000003e6000000200000000000000000000000000000001e00000003reloc/inittab/lang/zh_TW.Big5 inittab_title=SysV ¨t²Î±Ò°Ê²ÕºA
inittab_new=«Ø¥ß¤@­Ó·sªº±Ò°Êµ{§Ç
inittab_id=¦WºÙ
inittab_runlevels=°õ¦æ¼h¯Å
inittab_action=°Ê§@¤è¦¡
inittab_process=±Ò°Êµ{§Ç
inittab_none=µL
inittab_respawn=­l¥Í
inittab_wait=µ¥«Ý
inittab_once=¥u°õ¦æ¤@¦¸
inittab_boot=¶}¾÷®É
inittab_bootwait=¶}¾÷®É, µ¥«Ýµ²§ô
inittab_off=¤£°µ¨Æ
inittab_ondemand=¤£½×¦b A, B, C
inittab_initdefault=¨t²Î¶}¾÷«á
inittab_sysinit=¶}¾÷µ{§Ç¤¤
inittab_powerwait=¥¢¥h¹q·½®É
inittab_powerfail=¥¢¥h¹q·½®É, ¤£µ¥«Ý
inittab_powerokwait=¹q·½¦^´_®É
inittab_powerfailnow=¹q·½¥¢®Ä
inittab_ctrlaltdel=·x¶}¾÷ (Ctrl-Alt-Del)
inittab_kbdrequest=¯S®íÁä²Õ¦X
inittab_kbrequest=¯S®íÁä²Õ¦X
inittab_return=inittab ¯Á¤Þ

edit_inittab_err=±z¤£³Q¤¹³\½s¿è¤@­Óµ{§Ç
edit_inittab_title=½s¿èµ{§Ç $1
edit_inittab_details=µ{§Ç¸Ô²Ó¸ê®Æ
edit_inittab_del=§R°£
edit_inittab_save=Àx¦s

new_inittab_err=±z¤£³Q¤¹³\«Ø¥ß¤@­Ó·sµ{§Ç
new_inittab_title=·sµ{§Ç

save_inittab_err=±z¤£³Q¤¹³\Àx¦s¤@­Óµ{§Ç
save_inittab_noid=¿ù»~, ¨S¦³¿é¤Jµ{§Ç¦WºÙ
save_inittab_already=¿ù»~, µ{§Ç¦WºÙ¤w¸g¦s¦b
  07070100005f84000081a40000000000000002000000013d1fe2dc000002c9000000200000000000000000000000000000001c00000003reloc/inittab/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'inittab-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'modify' && $p->{'oldid'} ne $object) {
	return &text('log_modify', "<tt>$p->{'oldid'}</tt>",
				   "<tt>$object</tt>");
	}
elsif ($action eq 'modify') {
	return &text('log_modify', "<tt>$object</tt>");
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

   07070100005f85000081a40000000000000002000000013d1fe2ea0000030f000000200000000000000000000000000000001a00000003reloc/inittab/module.info desc_ru_SU=ëÏÎÆÉÇÕÒÁÃÉÑ SysV éÎÉÃÉÁÌÉÚÁÔÏÒÁ
risk=high
desc_ko_KR.euc=SysV Init ±¸¼º 
desc_zh_TW.Big5=SysV ¨t²Î±Ò°Ê²ÕºA
desc_pl=Konfiguracja inita (System&nbsp;V)
desc_de=Bootkonfiguration (SysV)
name=Inittab
desc_zh_CN=SysV ³õÊ¼»¯ÅäÖÃ
desc_pt=Configuração de Inicialização SysV
category=system
desc_tr=SysV Açýlýþ Yapýlandýrmasý
os_support=solaris redhat-linux mandrake-linux debian-linux suse-linux hpux slackware-linux unixware openserver open-linux turbo-linux msc-linux generic-linux aix gentoo-linux
desc=SysV Init Configuration
desc_es=Configuración Init de SysV
desc_sv=Startinställningar för SysV
desc_fr=Processus d'initialisation SysV
desc_ja_JP.euc=SysV Init ¤ÎÀßÄê
depends=0.990
version=0.990
desc_ca=Configuració Init de SysV
desc_ru_RU=Êîíôèãóðàöèÿ SysV Èíèöèàëèçàòîðà
 07070100005f86000081e40000000000000002000000013d1fe2dc00000808000000200000000000000000000000000000001e00000003reloc/inittab/new_inittab.cgi #!/usr/local/bin/perl

require "./inittab-lib.pl";

&ReadParse();

&header( &text( 'new_inittab_title', $in{ 'id' } ), "", "index", 1, 1, undef );

print(
"<form action=save_inittab.cgi><p>",
"<table border width=\"100%\">",
    "<tr ", $tb, ">",
        "<td><b>", $text{ 'edit_inittab_details' }, "</b></td>",
    "</tr><tr ", $cb, ">",
	"<td>",
	    "<table width=\"100%\">",
    		"<tr>",
        	    "<td>", &hlink( $text{ 'inittab_id' }, "id" ), "</td>",
        	    "<td>", &p_entry( "id", "", 4 ), "</td>",
    		"</tr><tr>",
		    "<td>", $text{ 'inittab_runlevels' }, "</td>",
		    "<td><input type=checkbox name=0 value=1>0 <input type=checkbox name=1 value=1>1 <input type=checkbox name=2 value=1>2 <input type=checkbox name=3 value=1>3 <input type=checkbox name=4 value=1>4 <input type=checkbox name=5 value=1>5 <input type=checkbox name=6 value=1>6 <input type=checkbox name=a value=1>A <input type=checkbox name=b value=1>B <input type=checkbox name=c value=1>C</td>",
		"</tr><tr>",
    		    "<td>", $text{ 'inittab_action' }, "</td>",
    		    "<td>", &p_select_wdl( "action", "", ( "respawn", $text{ 'inittab_respawn' }, "wait", $text{ 'inittab_wait' }, "once", $text{ 'inittab_once' }, "wait", $text{ 'inittab_wait' }, "ondemand", $text{ 'inittab_ondemand' }, "initdefault", $text{ 'inittab_initdefault' }, "sysinit", $text{ 'inittab_sysinit' }, "powerwait", $text{ 'inittab_powerwait' }, "powerfail", $text{ 'inittab_powerfail' }, "powerokwait", $text{ 'inittab_powerokwait' }, "powerfailnow", $text{ 'inittab_powerfailnow' }, "ctraltdel", $text{ 'inittab_ctrlaltdel' }, "kbdrequest", $text{ 'inittab_kbdrequest' } ) ), "</td>",
		"</tr><tr>",
    		    "<td>", $text{ 'inittab_process' }, "</td>",
    		    "<td>", &p_entry( "process", "" ), "</td>",
		"</tr>",
	    "</table>",
	"</td>",
    "</tr>",
"</table>",
"<table width=\"100%\">",
    "<tr>",
	"<td align=left>", &p_button( "button", $text{ 'edit_inittab_save' } ), "</td>",
    "</tr>",
"</table></form>" );

&footer( "/inittab/index.cgi", $text{ 'inittab_return' } );
07070100005f87000081e40000000000000002000000013d1fe2dc00000680000000200000000000000000000000000000001f00000003reloc/inittab/save_inittab.cgi    #!/usr/local/bin/perl

require "./inittab-lib.pl";

&ReadParse();

&error( $text{ 'save_inittab_err' } ) if( !$access{ 'inittab' } );
&error( $text{ 'save_inittab_noid' } ) if( !$in{ 'id' } );

&lock_file($config{ 'inittab_file' });
$file = &read_file_lines( $config{ 'inittab_file' } );
$number = -1;

for($i=0; $i<@$file; $i++)
{
    $line = $file->[$i];
    $line =~ s/\r|\n//g;
    $line =~ s/#.*$//g;
    $line =~ s/\/\/.*$//g;

    if( $line )
    {
	local $si = $i;

	while($line =~ /\\$/)
	{
		local $nl = $file->[++$i];
		$line =~ s/\\$//;
		$nl =~ s/^\s+//;
		$line .= $nl;
	}

        local ( $id ) = split( /:/, $line );
	if ($id eq $in{ 'oldid' })
	{
		$number = $si;
		$enumber = $i;
	}

	if( $in{ 'id' } ne $in{ 'oldid' } && $id eq $in{ 'id' } )
	{
	    &error( $text{ 'save_inittab_already' } );
	}
    }
}

if( $in{ 'button' } eq $text{ 'edit_inittab_del' } )
{
    splice( @$file, $number, $enumber-$number+1 );
}
elsif( $in{ 'button' } eq $text{ 'edit_inittab_save' } )
{
    local $new = $in{ 'id' }. ":";
    foreach ( 0..6, "a", "b", "c" )
    {
	$new .= $_ if( $in{ $_ } eq "1" );
    }
    $new .= ":". $in{ 'action' }. ":". $in{ 'process' };

    if( $number == -1 )
    {
	push( @$file, $new );
    }
    else
    {
	splice( @$file, $number, $enumber-$number+1, $new);
    }
}

&flush_file_lines();
&unlock_file($config{ 'inittab_file' });
if ( $in{ 'button' } eq $text{ 'edit_inittab_del' }) {
	&webmin_log("delete", "inittab", $in{ 'oldid' }, \%in);
	}
elsif ( $number == -1 ) {
	&webmin_log("create", "inittab", $in{ 'id' }, \%in);
	}
else {
	&webmin_log("modify", "inittab", $in{ 'id' }, \%in);
	}

&redirect( "/inittab/index.cgi" );
0707010003e276000081e40000000000000002000000013d1fe2b800000af0000000200000000000000000000000000000001800000003reloc/install-module.pl   #!/usr/local/bin/perl
# install-module.pl
# Installs a webmin module in a .wbm file

# Check arguments
if (@ARGV > 2 || !@ARGV) {
	die "usage: install-module.pl <module.wbm> [config_directory]";
	}
$file = $ARGV[0];
$config = $ARGV[1] ? $ARGV[1] : "/etc/webmin";
-r $file || die "$file does not exist";
&read_file("$config/config", \%gconfig) ||
	die "$config is not a webmin config directory";
&read_file("$config/miniserv.conf", \%miniserv) ||
	die "Failed to read $config/miniserv.conf";
$root = $miniserv{'root'};
-d $root || die "Webmin directory $root does not exist";

# Check if the module file is valid
open(MOD, $file);
read(MOD, $buf, 2);
close(MOD);
if ($buf eq "\037\235") {
	$pre = "uncompress -c $file";
	}
elsif ($buf eq "\037\213") {
	$pre = "gunzip -c $file";
	}
else {
	$pre = "cat $file";
	}
$tar = `$pre | tar tf - 2>&1`;
die "Failed to untar $file : $tar" if ($?);
foreach $f (split(/\n/, $tar)) {
	if ($f =~ /^\.\/([^\/]+)\/(.*)$/ || $f =~ /^([^\/]+)\/(.*)$/) {
		$mods{$1}++;
		$hasfile{$1,$2}++;
		}
	}
foreach $m (keys %mods) {
	$hasfile{$m,"module.info"} || die "Mising module.info file in $file";
	}
%mods || die "$file contains no modules!";

# Delete existing modules
foreach $m (keys %mods) {
	system("rm -rf $root/$m 2>&1 >/dev/null") if ($m ne 'webmin');
	}

# Extract all the modules and update perl paths
$out = `$pre | (cd $root ; tar xf - 2>&1)`;
die "Failed to extract modules from $file : $out" if ($?);
open(PERL, "$config/perl-path");
chop($perl = <PERL>);
close(PERL);
@st = stat("$root/index.cgi");
foreach $m (keys %mods) {
	system("find $root/$m -name '*.cgi' | $perl $root/perlpath.pl $perl -");
	system("find $root/$m -name '*.pl' | $perl $root/perlpath.pl $perl -");
	system("chown -R $st[4]:$st[5] $root/$m");
	local %minfo;
	&read_file("$root/$m/module.info", \%minfo);
	$desc .= "Installed $minfo{'desc'} in $root/$m\n";
	}

# Copy module config files
$mods = join(' ', keys %mods);
system("$perl $root/copyconfig.pl $gconfig{'os_type'} $gconfig{'os_version'} $root $config $mods");

# Update ACL for the root user, or the first user in the ACL file
open(ACL, "$config/webmin.acl");
chop(@acl = <ACL>);
close(ACL);
foreach $a (@acl) {
	if ($a =~ /^(\S+):/ && ($1 eq 'root' || $1 eq 'admin')) {
		$a .= " $mods";
		$found = 1;
		last;
		}
	}
if (!$found) {
	$acl[0] .= " $mods";
	}
open(ACL, "> $config/webmin.acl");
foreach $a (@acl) {
	print ACL "$a\n";
	}
close(ACL);

# All done!
print $desc;

# read_file(file, &assoc, [&order], [lowercase])
# Fill an associative array with name=value pairs from a file
sub read_file
{
open(ARFILE, $_[0]) || return 0;
while(<ARFILE>) {
	s/\r|\n//g;
        if (!/^#/ && /^([^=]+)=(.*)$/) {
		$_[1]->{$_[3] ? lc($1) : $1} = $2;
		push(@{$_[2]}, $1) if ($_[2]);
        	}
        }
close(ARFILE);
return 1;
}
 
0707010003e277000081a40000000000000002000000013d1ff7b30000000c000000200000000000000000000000000000001300000003reloc/install-type    solaris-pkg
0707010000bb8c000041ed0000000000000001000000053d1ffa6500000000000000200000000000000000000000000000000d00000003reloc/jabber  0707010000bb8d000081a40000000000000002000000013d1fe2e800000098000000200000000000000000000000000000001400000003reloc/jabber/config   jabber_config=/opt/jabber/etc/jabber.xml
jabber_dir=/opt/jabber
start_cmd=/opt/jabber/etc/jabberd.init start
stop_cmd=/opt/jabber/etc/jabberd.init stop
0707010000bb8e000081a40000000000000002000000013d1fe2e8000000be000000200000000000000000000000000000002100000003reloc/jabber/config-cobalt-linux  jabber_config=/etc/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/spool/jabber
  0707010000bb8f000081a40000000000000002000000013d1fe2e8000000a6000000200000000000000000000000000000002100000003reloc/jabber/config-debian-linux  jabber_config=/etc/jabber/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
  0707010000bb90000081a40000000000000002000000013d1fe2e8000000cb000000200000000000000000000000000000002300000003reloc/jabber/config-mandrake-linux    jabber_config=/etc/jabber/jabber.xml
jabber_dir=/usr/lib/jabber
start_cmd=/etc/rc.d/init.d/jabber start
stop_cmd=/etc/rc.d/init.d/jabber stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/lib/jabber
 0707010000bb91000081a40000000000000002000000013d1fe2e8000000be000000200000000000000000000000000000001e00000003reloc/jabber/config-msc-linux jabber_config=/etc/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/spool/jabber
  0707010000bb92000081a40000000000000002000000013d1fe2e8000000be000000200000000000000000000000000000002100000003reloc/jabber/config-redhat-linux  jabber_config=/etc/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/spool/jabber
  0707010000bb93000081a40000000000000002000000013d1fe2e8000000be000000200000000000000000000000000000001f00000003reloc/jabber/config-suse-linux    jabber_config=/etc/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/spool/jabber
  0707010000bb94000081a40000000000000002000000013d1fe2e8000000be000000200000000000000000000000000000002000000003reloc/jabber/config-turbo-linux   jabber_config=/etc/jabber.xml
jabber_dir=/var/lib/jabber
start_cmd=/etc/init.d/jabberd start
stop_cmd=/etc/init.d/jabberd stop
jabber_daemon=/usr/sbin/jabberd
jabber_spool=/var/spool/jabber
  0707010000bb95000081a40000000000000002000000013d1fe2e80000011b000000200000000000000000000000000000001900000003reloc/jabber/config.info  jabber_config=Jabber XML config file,0
jabber_dir=Jabber base directory,0
jabber_daemon=Path to jabber server program,3,Under base directory
jabber_spool=Jabber hosts directory,3,Under base directory
start_cmd=Command to start jabber,0
stop_cmd=Command to stop jabber,3,Kill process
 0707010000bb96000081a40000000000000002000000013d1fe2e80000013a000000200000000000000000000000000000001c00000003reloc/jabber/config.info.ca   jabber_config=Fitxer de configuració XML de Jabber,0
jabber_dir=Directori base de Jabber,0
jabber_daemon=Camí del programa servidor jabber,3,Sota el directori base
jabber_spool=Directori de hosts de jabber,3,El directori base
start_cmd=Ordre d'inici de jabber,0
stop_cmd=Ordre d'aturada de jabber,3,Mata el procés
  0707010000bb97000081e40000000000000002000000013d1fe2e8000006b1000000200000000000000000000000000000001c00000003reloc/jabber/edit_admin.cgi   #!/usr/local/bin/perl
# edit_admin.cgi
# Display <admin> section options

require './jabber-lib.pl';
&header($text{'admin_title'}, "", "admin");
print "<hr>\n";

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);
$admin = &find("admin", $jsm);

print "<form action=save_admin.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'admin_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'admin_read'}</b></td>\n";
print "<td><textarea name=read rows=3 cols=50>",
	join("\n", &find_value("read", $admin)),"</textarea></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'admin_write'}</b></td>\n";
print "<td><textarea name=write rows=3 cols=50>",
	join("\n", &find_value("write", $admin)),"</textarea></td> </tr>\n";

$reply = &find("reply", $admin);
print "<tr> <td valign=top><b>$text{'admin_reply'}</b></td>\n";
printf "<td><input type=radio name=reply_def value=1 %s> %s\n",
	$reply ? "" : "checked", $text{'no'};
printf "<input type=radio name=reply_def value=0 %s> %s<br>\n",
	$reply ? "checked" : "", $text{'yes'};
print "<table>\n";
print "<tr> <td><b>$text{'admin_rsubject'}</b></td>\n";
printf "<td><input name=rsubject size=40 value='%s'></td> </tr>\n",
	&find_value("subject", $reply);
print "<tr> <td valign=top><b>$text{'admin_rbody'}</b></td>\n";
print "<td><textarea name=rbody rows=4 cols=40 wrap=auto>",
	&find_value("body", $reply),"</textarea></td> </tr>\n";
print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000bb98000081e40000000000000002000000013d1fe2e8000002c5000000200000000000000000000000000000001b00000003reloc/jabber/edit_file.cgi    #!/usr/local/bin/perl
# edit_file.cgi
# Display a form for editing the Jabber config file directly

require './jabber-lib.pl';
&header($text{'file_title'}, "", "file");
print "<hr>\n";

print "$text{'file_desc'}<p>\n";

print "<form action=save_file.cgi method=post enctype=multipart/form-data>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'file_header'}</b></td> </tr>\n";
print "<tr $cb> <td><textarea name=file rows=15 cols=80>";
open(FILE, $config{'jabber_config'});
while(<FILE>) {
	print &html_escape($_);
	}
close(FILE);
print "</textarea></td> </tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000bb99000081e40000000000000002000000013d1fe2e800000585000000200000000000000000000000000000001d00000003reloc/jabber/edit_filter.cgi  #!/usr/local/bin/perl
# edit_filter.cgi
# Display allowed user filter options

require './jabber-lib.pl';
&header($text{'filter_title'}, "", "filter");
print "<hr>\n";

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);
$filter = &find("filter", $jsm);

print "<form action=save_filter.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'filter_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'filter_max'}</b></td>\n";
printf "<td><input name=max size=6 value='%s'></td> </tr>\n",
	&find_value("max_size", $filter);

$allow = &find("allow", $filter);

$conds = &find("conditions", $allow);
print "<tr> <td valign=top><b>$text{'filter_conds'}</b></td> <td>\n";
foreach $c (@filter_conds) {
	$cx = &find($c, $conds);
	printf "<input type=checkbox name=%s value=1 %s> %s\n",
		"cond_$c", $cx ? "checked" : "", $c;
	}
print "</td> </tr>\n";

$acts = &find("actions", $allow);
print "<tr> <td valign=top><b>$text{'filter_acts'}</b></td> <td>\n";
foreach $c (@filter_acts) {
	$cx = &find($c, $acts);
	printf "<input type=checkbox name=%s value=1 %s> %s\n",
		"act_$c", $cx ? "checked" : "", $c;
	}
print "</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000bb9a000081e40000000000000002000000013d1fe2e8000006d8000000200000000000000000000000000000001e00000003reloc/jabber/edit_general.cgi #!/usr/local/bin/perl
# edit_general.cgi
# Edit general jabber server options

require './jabber-lib.pl';
&header($text{'general_title'}, "", "general");
print "<hr>\n";

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);

print "<form action=save_general.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'general_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$host = &find("host", $session);
$hostname = &find_by_tag("jabberd:cmdline", "flag", "h", $host);
print "<tr> <td><b>$text{'general_host'}</b></td>\n";
printf "<td colspan=3><input name=host size=40 value='%s'></td> </tr>\n",
	&value_in($hostname);

$elogger = &find_by_tag("log", "id", "elogger", $conf);
print "<tr> <td><b>$text{'general_elog'}</b></td>\n";
printf "<td><input name=elog size=25 value='%s'></td>\n",
	&find_value("file", $elogger);

print "<td><b>$text{'general_elogfmt'}</b></td>\n";
printf "<td><input name=elogfmt size=25 value='%s'></td> </tr>\n",
	&find_value("format", $elogger);

$rlogger = &find_by_tag("log", "id", "rlogger", $conf);
print "<tr> <td><b>$text{'general_rlog'}</b></td>\n";
printf "<td><input name=rlog size=25 value='%s'></td>\n",
	&find_value("file", $rlogger);

print "<td><b>$text{'general_rlogfmt'}</b></td>\n";
printf "<td><input name=rlogfmt size=25 value='%s'></td> </tr>\n",
	&find_value("format", $rlogger);

$pidfile = &find_value("pidfile", $conf);
print "<tr> <td><b>$text{'general_pidfile'}</b></td>\n";
printf "<td colspan=3><input name=pidfile size=40 value='%s'></td> </tr>\n",
	$pidfile;

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000bb9b000081e40000000000000002000000013d1fe2e800000666000000200000000000000000000000000000001a00000003reloc/jabber/edit_ips.cgi #!/usr/local/bin/perl
# edit_ips.cgi
# Edit which addresses are allowed or denied for connection to the server

require './jabber-lib.pl';
&header($text{'ips_title'}, "", "ips");
print "<hr>\n";

$conf = &get_jabber_config();
$io = &find("io", $conf);
@allow = &find("allow", $io);
@deny = &find("deny", $io);

print "<form action=save_ips.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ips_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'ips_allow'}</b></td> ",
      "<td><b>$text{'ips_deny'}</b></td> </tr>\n";

printf "<tr> <td><input type=radio name=allow_def value=1 %s> %s\n",
	@allow ? "" : "checked", $text{'ips_all'};
printf "<input type=radio name=allow_def value=0 %s> %s<br>\n",
	@allow ? "checked" : "", $text{'ips_sel'};
print "<textarea name=allow rows=8 cols=30>\n";
foreach $a (@allow) {
	local $ip = &find_value("ip", $a), $nm = &find_value("mask", $a);
	if ($nm) { print "$ip/$nm\n"; }
	else { print "$ip\n"; }
	}
print "</textarea></td>\n";

printf "<td><input type=radio name=deny_def value=1 %s> %s\n",
	@deny ? "" : "checked", $text{'ips_none'};
printf "<input type=radio name=deny_def value=0 %s> %s<br>\n",
	@deny ? "checked" : "", $text{'ips_sel'};
print "<textarea name=deny rows=8 cols=30>\n";
foreach $a (@deny) {
	local $ip = &find_value("ip", $a), $nm = &find_value("mask", $a);
	if ($nm) { print "$ip/$nm\n"; }
	else { print "$ip\n"; }
	}
print "</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000bb9c000081e40000000000000002000000013d1fe2e800000b3c000000200000000000000000000000000000001c00000003reloc/jabber/edit_karma.cgi   #!/usr/local/bin/perl
# edit_karma.cgi
# Edit karma traffic limitation options

require './jabber-lib.pl';
&header($text{'karma_title'}, "", "karma");
print "<hr>\n";

$conf = &get_jabber_config();
$io = &find("io", $conf);
$karma = &find("karma", $io);

print "<form action=save_karma.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'karma_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$rate = &find("rate", $io);
print "<tr> <td><b>$text{'karma_rate'}</b></td>\n";
printf "<td><input type=radio name=rate_def value=1 %s> %s\n",
	$rate ? "" : "checked", $text{'karma_rate_def'};
printf "<input type=radio name=rate_def value=0 %s>\n",
	$rate ? "checked" : "";
print &text('karma_rate_sel',
	    "<input name=points size=5 value='$rate->[1]->[0]->{'points'}'>",
	    "<input name=time size=5 value='$rate->[1]->[0]->{'time'}'>"),
	   "</td> </tr>\n";

$mode = $karma ? 3 : -1;
for($i=0; $i<@karma_presets; $i++) {
	local $kp = $karma_presets[$i];
	local $different = 0;
	foreach $k (keys %$kp) {
		local $v = &find_value($k, $karma);
		if ($v != $kp->{$k}) {
			$different++;
			last;
			}
		}
	if (!$different) {
		$mode = $i;
		last;
		}
	}

print "<tr> <td valign=top><b>$text{'karma_mode'}</b></td>\n";
print "<td><select name=mode>\n";
printf "<option value=-1 %s> %s\n",
	$mode == -1 ? "selected" : "", $text{'karma_none'};
printf "<option value=0 %s> %s\n",
	$mode == 0 ? "selected" : "", $text{'karma_low'};
printf "<option value=1 %s> %s\n",
	$mode == 1 ? "selected" : "", $text{'karma_medium'};
printf "<option value=2 %s> %s\n",
	$mode == 2 ? "selected" : "", $text{'karma_high'};
printf "<option value=3 %s> %s\n",
	$mode == 3 ? "selected" : "", $text{'karma_sel'};
print "</select><br><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'karma_heartbeat'}</b></td>\n";
printf "<td><input name=heartbeat size=6 value='%s'></td>\n",
	&find_value("heartbeat", $karma);

print "<td><b>$text{'karma_init'}</b></td>\n";
printf "<td><input name=init size=6 value='%s'></td> </tr>\n",
	&find_value("init", $karma);

print "<tr> <td><b>$text{'karma_max'}</b></td>\n";
printf "<td><input name=max size=6 value='%s'></td>\n",
	&find_value("max", $karma);

print "<td><b>$text{'karma_dec'}</b></td>\n";
printf "<td><input name=dec size=6 value='%s'></td> </tr>\n",
	&find_value("dec", $karma);

$p = &find_value("penalty", $karma);
print "<tr> <td><b>$text{'karma_penalty'}</b></td>\n";
printf "<td><input name=penalty size=6 value='%s'></td>\n",
	defined($p) ? $p * -1 : undef;

print "<td><b>$text{'karma_restore'}</b></td>\n";
printf "<td><input name=restore size=6 value='%s'></td> </tr>\n",
	&find_value("restore", $karma);

print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000bb9d000081e40000000000000002000000013d1fe2e8000009e4000000200000000000000000000000000000001f00000003reloc/jabber/edit_messages.cgi    #!/usr/local/bin/perl
# edit_messages.cgi
# Display welcome and other messages

require './jabber-lib.pl';
&header($text{'messages_title'}, "", "messages");
print "<hr>\n";

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);

print "<form action=save_messages.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'messages_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$welcome = &find("welcome", $jsm);
print "<tr> <td><b>$text{'messages_wsubject'}</b></td>\n";
printf "<td colspan=3><input name=wsubject size=50 value='%s'></td> </tr>\n",
	&find_value("subject", $welcome);
print "<tr> <td valign=top><b>$text{'messages_wbody'}</b></td>\n";
print "<td colspan=3><textarea name=wbody rows=4 cols=50 wrap=auto>",
	&find_value("body", $welcome),"</textarea></td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

$register = &find("register", $jsm);
print "<tr> <td><b>$text{'messages_rinstr'}</b></td>\n";
printf "<td colspan=3><input name=rinstr size=50 value='%s'></td> </tr>\n",
	&find_value("instructions", $register);
print "<tr> <td><b>$text{'messages_rnotify'}</b></td>\n";
printf "<td><input type=radio name=rnotify value=1 %s> %s\n",
	$register->[1]->[0]->{'notify'} eq 'yes' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=rnotify value=0 %s> %s</td>\n",
	$register->[1]->[0]->{'notify'} eq 'yes' ? '' : 'checked', $text{'no'};
print "<td><b>$text{'messages_rfields'}</b></td> <td>\n";
foreach $f (@register_fields) {
	local $rf = &find($f, $register);
	printf "<input type=checkbox name=%s value=1 %s> %s\n",
		"rfield_$f", $rf ? "checked" : "", $f;
	}
print "</td></tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

$vcard = &find("vcard", $jsm);
@vc = @{$vcard->[1]}; shift(@vc);
print "<tr> <td valign=top><b>$text{'messages_vcard'}</b></td>\n";
print "<td colspan=3><textarea name=vcard rows=4 cols=50 wrap=auto>",
	&xml_string($vcard->[0], $vcard->[1]),"</textarea></td> </tr>\n";

$vcard2jud = &find("vcard2jud", $jsm);
print "<tr> <td><b>$text{'messages_vcard2jud'}</b></td>\n";
printf "<td><input type=radio name=vcard2jud value=1 %s> %s\n",
	$vcard2jud ? "checked" : "", $text{'yes'};
printf "<input type=radio name=vcard2jud value=0 %s> %s</td> </tr>\n",
	$vcard2jud ? "" : "checked", $text{'no'};

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000bb9e000081e40000000000000002000000013d1fe2e800000577000000200000000000000000000000000000001e00000003reloc/jabber/edit_modules.cgi #!/usr/local/bin/perl
# edit_modules.cgi
# Edit which modules are loaded from which shared libraries by the server

require './jabber-lib.pl';
&header($text{'modules_title'}, "", "modules");
print "<hr>\n";

print "$text{'modules_desc'}<p>\n";

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$load = &find("load", $session);

print "<form action=save_modules.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'modules_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'modules_mod'}</b></td> ",
      "<td><b>$text{'modules_so'}</b></td> ",
      "<td><b>$text{'modules_mod'}</b></td> ",
      "<td><b>$text{'modules_so'}</b></td> </tr>\n";
for($i=1; $i<@{$load->[1]}; $i+=2) {
	if ($load->[1]->[$i] ne '0') {
		push(@mods, [ $load->[1]->[$i], $load->[1]->[$i+1] ] );
		}
	}
if (scalar(@mods)%2 == 0) {
	push(@mods, [ ], [ ]);
	}
else {
	push(@mods, [ ]);
	}
for($n=0; $n<@mods; $n++) {
	print "<tr>\n" if ($n%2 == 0);
	printf "<td><input name=%s size=15 value='%s'></td>\n",
		"mod_$n", $mods[$n]->[0];
	printf "<td><input name=%s size=15 value='%s'></td>\n",
		"so_$n", &value_in($mods[$n]);
	print "</tr>\n" if ($n%2 == 1);
	}

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000d0e4000041ed0000000000000001000000023d1ffa6400000000000000200000000000000000000000000000001200000003reloc/jabber/help 0707010000d0e5000081a40000000000000002000000013d1fe2e80000019c000000200000000000000000000000000000002000000003reloc/jabber/help/admin.ca.html   <header>Usuaris Administradors</header>

En aquesta pàgina, pots triar quins usuaris de Jabber rebran missatges
d'administració enviats al sistema. La secció <b>Autoresposta</b> de la
pàgina permet configurar un missatge que s'enviarà en resposta a 
qualsevol missatge d'administració, que es fa servir típicament per
dir al remitent que el seu missatge ha estat reenviat a un administrador
apropiat. <p>

<hr>

0707010000d0e6000081a40000000000000002000000013d1fe2e800000187000000200000000000000000000000000000001d00000003reloc/jabber/help/admin.html  <header>Administrative Users</header>

On this page you can choose which Jabber users will receive admin messages
sent to the server. The <b>Autoreply</b> section of the page allows you
to configure a message that will be sent back in response to any admin
message, which is typically used to tell the sender that their message has
been forwarded to an appropriate administrator. <p>

<hr>

 0707010000d0e7000081a40000000000000002000000013d1fe2e80000012a000000200000000000000000000000000000001f00000003reloc/jabber/help/file.ca.html    <header>Edició del Fitxer de Configuració</header>

En aquesta pàgina, pots editar directament el fitxer XML de configuració 
de Jabber. Això ho has de fer només si estàs familiaritzat amb el format
de configuració del fitxer, ja que només es fa una comprovació bàsica del
fitxer desat. <p>

<hr>

  0707010000d0e8000081a40000000000000002000000013d1fe2e8000000f0000000200000000000000000000000000000001c00000003reloc/jabber/help/file.html   <header>Edit Config File</header>

On this page you can edit the XML Jabber config file directly. This should
only be done if you are familiar with the configuration file format, as
only basic checking is done on the saved file. <p>

<hr>

0707010000d0e9000081a40000000000000002000000013d1fe2e80000027d000000200000000000000000000000000000002100000003reloc/jabber/help/filter.ca.html  <header>Filtres d'Usuari</header>

Si està suportat pel client, el servidor Jabber pot filtrar missatges
basant-se en diversos criteris abans de ser enviats a un client. Aquesta
pàgina conté les següents opcions de filtratge:

<ul>
<li><b>Nombre màxim de regles de filtratge</b><br>
   El nombre màxim de regles de filtratge que un sol usuari pot configurar
   sobre el servidor. <p>
<li><b>Condicions de filtratge permeses</b><br>
   Les condicions que un client pot emprar en les regles de filtratge. <p>
<li><b>Accions de filtratge permeses</b><br>
   Les accions que un client pot emprar en les regles de filtratge. <p>
</ul>

<hr>

   0707010000d0ea000081a40000000000000002000000013d1fe2e800000244000000200000000000000000000000000000001e00000003reloc/jabber/help/filter.html <header>User Filters</header>

If supported by the client, the Jabber server can filter messages based on
various criteria before they are even sent to a client. This page contains
the following filtering options :

<ul>
<li><b>Maximum filter rules</b><br>
    The maximum number of filter rules that a single user can set up on
    the server. <p>

<li><b>Allowed filter conditions</b><br>
    The conditions that a client can make use of in filter rules. <p>

<li><b>Allowed filter actions</b><br>
    The actions that a client can make use of in filter rules. <p>
</ul>

<hr>

0707010000d0eb000081a40000000000000002000000013d1fe2e8000003cf000000200000000000000000000000000000002200000003reloc/jabber/help/general.ca.html <header>Opcions Generals</header>

Aquesta pàgina permet configurar opcions globals comunes del servidor Jabber.
<ul>
<li><b>El nom del teu servidor</b><br>
   El nom de host que els clients faran servir per connectar-se al teu
   servidor Jabber. Aquest ha de ser el nom de domini completament qualificat,
   com ara <tt>jabber.foo.com</tt>.<p>

<li><b>Fitxer de registre d'errors i Format del registre d'errors</b><br>
   Aquestes opcions controlen quin fitxer (relatiu al directori base del
   servidor) es fa servir per enregistrar error, i el format en què es
   grava el registre. <p>

<li><b>Fitxer de registre d'accés i Format del registre d'accés</b><br>
   Aquestes opcions controlen quin fitxer (relatiu al directori base del
   servidor) es fa servir per enregistrar les entrades i sortides dels
   clients, i el format en què es grava el registre. <p>

<li><b>Fitxer d'ID de Procés</b><br>
   El fitxer on el servidor grava el seu ID de procés. <p>
</ul>
<hr>


 0707010000d0ec000081a40000000000000002000000013d1fe2e800000338000000200000000000000000000000000000001f00000003reloc/jabber/help/general.html    <header>General Options</header>

This page allows you to configure common global Jabber server options.
<ul>
<li><b>Your server's hostname</b><br>
    The hostname that clients will use to connect to your Jabber server. This
    should be the fully qualified domain name, like <tt>jabber.foo.com</tt>.<p>

<li><b>Error log file and Error log fomat</b><br>
    These control which file (relative to the server base directory) is used
    for logging errors, and the format that the log is in. <p>

<li><b>Access log file and Access log fomat</b><br>
    These control which file (relative to the server base directory) is used
    for recording client logins and logouts, and the format that the file
    is in. <p>

<li><b>Process ID file</b><br>
    The file to which the server will write its process ID. <p>
</ul>
<hr>

0707010000d0ed000081a40000000000000002000000013d1fe2e800000171000000200000000000000000000000000000002000000003reloc/jabber/help/intro.ca.html   <header>Servidor IM Jabber</header>

Aquest mòdul permet configurar aquesta missatgeria instantània del servidor
Jabber. Com que Jabber fa servir fitxers de configuració XML, el mòdul
reescriurà totalment el fitxer de configuració així que s'hagin fet efectius
els canvis de configuració. Es perdran tots els comentaris i la major part
del format existent. <p>

<hr>


   0707010000d0ee000081a40000000000000002000000013d1fe2e700000135000000200000000000000000000000000000001d00000003reloc/jabber/help/intro.html  <header>Jabber IM Server</header>

This module allows you to configure the Jabber instant messaging server.
Because Jabber uses XML config files, the module will totally re-write
the config file as soon as any configuration changes are made. All comments
and most existing formatting will be lost. <p>

<hr>

   0707010000d0ef000081a40000000000000002000000013d1fe2e80000026e000000200000000000000000000000000000001e00000003reloc/jabber/help/ips.ca.html <header>Control d'Accés IP</header>

En aquesta pàgina, pots controlar quines adreces IP tenen permès l'accés
al teu servidor Jabber. Si introdueixes alguna adreça a la secció 
<b>IPs de clients permesos</b>. llavors només aquestes adreces hi tindran
accés -altrament, es permetrà la connexió des de qualsevol adreça.
No obstant, es bloquejarà qualsevol adreça llistada a la secció 
<b>IPs de clients denegades</b>, tant si és a la llista d'adreces
permeses com si no. <p>

Tots dos camps accepten adreces IP (com 1.2.3.4) o parelles IP/subxarxa
(com 1.2.3.0/255.255.255.0) per a especificar un xarxa sencera. <p>

<hr>


  0707010000d0f0000081a40000000000000002000000013d1fe2e80000023d000000200000000000000000000000000000001b00000003reloc/jabber/help/ips.html    <header>IP Access Control</header>

On this page you can control which IP addresses are allowed to access
your Jabber server. If any addresses are entered into the <b>Allowed client
IPs</b> section, then only those addresses will be granted access - otherwise
any address will be allowed to connect. However, any address listed in
the <b>Denied client IPs</b> section will be blocked, whether it is on
the allowed list or not. <p>

Both fields accept IP addresses (like 1.2.3.4) or IP/netmask pairs
(like 1.2.3.0/255.255.255.0) for specifying an entire network. <p>

<hr>

   0707010000d0f1000081a40000000000000002000000013d1fe2e800000305000000200000000000000000000000000000002000000003reloc/jabber/help/karma.ca.html   <header>Control de Trànsit Karma</header>

El servidor Jabber té la capacitat de restringir l'amplada de banda que 
un client pot fer servir, que es pot configurar amb les opcions d'aquesta
pàgina:

<ul>
<li><b>Manipulació de connexions excessives</b><br>
   Si està activada, el servidor només permetrà que un client faci com a molt
   un nombre escollit de peticions en un període de temps escollit. <p>
<li><b>Mode Karma</b><br>
   Per a aquesta opció, pots triar que el servidor no forci cap límit de 
   trànsit per client, triar un dels valors límit predefinits (baix, mitjà
   o alt), o introduir els teus propis límits escollits. Només hauries de
   fer servir aquesta darrera opció si estàs familiaritzat amb el
   significat de tots els camps.  <p>
</ul>

<hr>


   0707010000d0f2000081a40000000000000002000000013d1fe2e8000002dd000000200000000000000000000000000000001d00000003reloc/jabber/help/karma.html  <header>Karma Traffic Control</header>

The Jabber server has the ability to restrict the amount of bandwidth a
client can use, which can be setup using the options on this page :

<ul>
<li><b>Excessive connection handling</b><br>
    If this is enabled, the server will only allow a client to make at most a
    chosen number of requests within a chosen time period. <p>

<li><b>Karma mode</b><br>
    For this option, you can choose for the server not to enforce any
    per-client traffic limits, choose one of the three pre-defined limit
    settings (low, medium or high), or enter your own selected limits.
    This final option should only be used if you are familiar with the
    meanings of all the fields. <p>
</ul>

<hr>

   0707010000d0f3000081a40000000000000002000000013d1fe2e8000002cd000000200000000000000000000000000000002300000003reloc/jabber/help/messages.ca.html    <header>Missatges</header>

Les opcions d'aquesta pàgina estan dividides en tres seccions:
<ul>
<li><b>Missatge de benvinguda</b><br>
   Aquest és el missatge instantani que s'enviarà als nous usuaris
   que es registrin en aquest servidor. <p>
<li><b>Registre</b><br>
   Les entrades d'aquesta secció permeten configurar el missatge que
   s'envia als clients no registrats, si es notifica l'administrador
   dels nous registres, i els camps XML que els calen als nous usuaris. <p>
<li><b>vCard del Servidor</b><br>
   És una estructura XML que conté els detalls del servidor que s'envien
   al directori global d'usuaris de Jabber. Modifica-ho només si estàs
   familiaritzat amb el format vCard. <p>
</ul>

<hr>


   0707010000d0f4000081a40000000000000002000000013d1fe2e8000002c1000000200000000000000000000000000000002000000003reloc/jabber/help/messages.html   <header>Messages</header>

The options on this page are broken down into three sections :
<ul>
<li><b>Welcome message</b><br>
    This is the instant message that will be sent to new users who register
    with this server. <p>

<li><b>Registration</b><br>
    The inputs in this section all you to configure the message that
    is sent to unregistered clients, whether the admin is notified of
    new registrations, and the XML fields that are required from new users.<p>

<li><b>Server vCard</b><br>
    This is an XML structure containing details of the server that gets
    sent to the global Jabber user's directory. Only modify this if you
    are familiar with the vCard format. <p>
</ul>

<hr>

   0707010000d0f5000081a40000000000000002000000013d1fe2e800000179000000200000000000000000000000000000002200000003reloc/jabber/help/modules.ca.html <header>Mòduls de Jabber</header>

Aquesta pàgina llista els mòduls individuals carregats dinàmicament que
constitueixen el gestor de sessió de Jabber. Per desactivar un mòdul,
esborra'l de la llista de sota; per afegir-ne un, fes-ho a la part de baix.
Tingues en compte que l'ordre dels mòduls és important, ja que els paquets
es lliuren seguint l'ordre següent. <p>
 
<hr>


   0707010000d0f6000081a40000000000000002000000013d1fe2e800000159000000200000000000000000000000000000001f00000003reloc/jabber/help/modules.html    <header>Jabber Modules</header>

This page lists the dynamically loaded individual
modules that make up the Jabber session manager. To disable
a module, delete it from the list below, or to add a new module
enter it at the bottom. Note that the order
of modules is important, since packets are delivered
based on the following order. <p>

<hr>

   070701000115c5000041ed0000000000000001000000023d1ffa6500000000000000200000000000000000000000000000001400000003reloc/jabber/images   070701000115c6000081a40000000000000002000000013d1fe2e8000000c8000000200000000000000000000000000000001e00000003reloc/jabber/images/admin.gif GIF89a0 0 ¡  ÿÿÿÌÌÌfff   !ù    ,    0 0  ™„©Ëí£”Ê©Ø\àŸ[Â ØŒæ…2êšyŽ0ÀñCÛO›ÖzÃsù~‹à"GtÉŽÃ¤âõl:IP@gšêlƒ–Á¼_	¹9£gÕµréÎÂãÇ6¡¾ãíz+_Ÿ×ç7'8XHE(Ø·øG'ò¸&Ò%ùEiYèiyÉQy¸e¸™ÙèÖ)u—zÈZè*Šth :kQ  ;070701000115c7000081a40000000000000002000000013d1fe2e800000131000000200000000000000000000000000000001d00000003reloc/jabber/images/file.gif  GIF89a0 0 Â  `d`˜˜˜ÈÌÈøüø   ÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  äxºÜþ0ÊI«½8ëÍ»ÿ`Hdižhª®²¾pL‚x®ï|ïç@P;ÌHä ¹T*PaJ´E¯X``X$ý˜Ì¬O°­oâtÌµú’fX=`›½ô|½ÜE÷àMzZmg‚tv}r:pO†{„xŽYˆVŒ8s’w~™Q”…˜Œ‚Ÿ‘P¥7–r£†©§W¯€—¢Šy¯°¨|n¹c»…½¾ª£µ˜j¸Á<²q‹³’S›ÊkBw4DÙÚÛÜÝÞÞ
ØßãäåE"åèd¢I ëíî[ñ0öúûüýþÿ 
‘  ;   070701000115c8000081a40000000000000002000000013d1fe2e8000003bd000000200000000000000000000000000000001f00000003reloc/jabber/images/filter.gif    GIF89a0 0 Æ  ÿÿÿüüüùùù÷÷÷ôôôóóóòòòñññðððïïïíííìììõõõçççëëëéééêêêèèèöööøøøäääŽŽŽÂÂÂÐÐÐÚÚÚàààÞÞÞßßßæææåååáááÏÏÏ»»»”””´´´ÝÝÝâââÜÜÜîîîããã–––þþþ©©©ÃÃÃ···ªªªŠŠŠØØØÕÕÕ‰‰‰³³³¼¼¼¨¨¨›››ÖÖÖÍÍÍ«««ÛÛÛÆÆÆÄÄÄ²²²ýýý¯¯¯ÓÓÓÇÇÇ¾¾¾±±±ÙÙÙ¬¬¬ûûûÈÈÈ¿¿¿ËËË×××ÊÊÊÌÌÌÅÅÅÎÎÎ¸¸¸ÑÑÑÔÔÔÀÀÀ°°°úúúÉÉÉ¹¹¹½½½ÁÁÁµµµÒÒÒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽƒ–	


		˜‡	“š¬
§„	´
 !Â„"#$%%&
$Ê''$($ß„)*+ð:@0‘À ˜L<àÐ,Zè+ÔÀÅ‹(txàÉ BMvð #F°‰„dÌÐ BO¢>.ˆ@¡‰4> , †9,0qà`&êe¸!qg!8rd øÀÄ¬™ªyðð‚Æ§†tì‘DƒX•,àP®þ`õðñCÃT
0Ä†@‚Ä=¤@È»/PÐ`ÃDŠ>tÃH‰(vpBC	&#:CÃ	DØ ÉÑˆ
€À !‚&
#l€ Q%%:˜X`D‚Þ‰V$!áNÃÈ1°0¢Z&Ñ]h2R‰ìÒdÀð¼"P¢80Ÿ(ÈØ#
‚DJù‡¢Ür?¡(Má„XðÞ²Â2 ˜  ;,!‚ƒê ’=€F8Á›†T QÅ‡*¡Ã=h ;X‘¢†7¬pÄ‹6qÄ)¨xAä¨á `§âN ¡" P`$¡Ä‘IÈpÃ‘/ÑÄ‘C¡“ŠCÈpÁ‘4‘Å‘E,Ðß‘N ;   070701000115c9000081a40000000000000002000000013d1fe2e800000318000000200000000000000000000000000000002000000003reloc/jabber/images/general.gif   GIF89a0 0 Æ  ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷ÿ÷÷ÿïïÿççÿÞÞ÷ÖÖïœ”÷µ­ï­¥÷­¥ï¥œ÷½µï„sç{kçscçkZÞB)Þ9!÷ÎÆ÷Æ½ïœŒï”„ïŒ{ç„sçcJÞZBçZBÞR9ÞJ1ï¥”ç{cçsZçkRÞJ)ÞB!ÿÞÖ÷ÖÎ÷µ¥ï­œïŒsç„kçcBÞZ9ÞR1÷½­ï”{÷ÞÖ÷ÆµÿçÞ÷Î½ÿïçÿ÷ïÿÿ÷   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘Ž’•… %4>HI9>K0–P5?@/§.>4599'¢ŒC.6J(;&0Qƒ!KH>"±ˆ4/>Œ;:¡Â„5.3»† L „<@ËÌ;>Ñˆ035B‚N:9!ÌA:âŒ&9K‚0/FÌ+7N7+‚;/Ù•N/Þ=‚rÃ€HxÄâ#‚P¸¨f©‡=I3Ä9qÑDÔ%•b4àC†()*AY£ÆI}’<@cž%#. T¢Hƒ†¨Dbõ*ª„Q r¬µ#e¥…5¡IÈ‹ÌQ…Ä#I·¬` )6’/|–…DÌæZG~%^À|ÛH¬t1ùá/¯¢Àü
BBˆIÁãœ`A „”Ø1c‰2RxxÜ(…ãÇ#”Ä`"BH+¶}öûá	
°eì ¢„H_Î„>| ±”ó¸L˜¨ÁbÇVÜLˆÄ€±ƒGoÜG1ºõëØ³kßÎ½ûã@ ;070701000115ca000081a40000000000000002000000013d1fe2e800000318000000200000000000000000000000000000001d00000003reloc/jabber/images/icon.gif  GIF89a0 0 Æ  ÿÿÿ!!!)))111999BBBJJJRRRZZZccckkksss{{{„„„ŒŒŒ”””œœœ¥¥¥­­­µµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞçççïïï÷÷÷ÿ÷÷ÿïïÿççÿÞÞ÷ÖÖïœ”÷µ­ï­¥÷­¥ï¥œ÷½µï„sç{kçscçkZÞB)Þ9!÷ÎÆ÷Æ½ïœŒï”„ïŒ{ç„sçcJÞZBçZBÞR9ÞJ1ï¥”ç{cçsZçkRÞJ)ÞB!ÿÞÖ÷ÖÎ÷µ¥ï­œïŒsç„kçcBÞZ9ÞR1÷½­ï”{÷ÞÖ÷ÆµÿçÞ÷Î½ÿïçÿ÷ïÿÿ÷   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘Ž’•… %4>HI9>K0–P5?@/§.>4599'¢ŒC.6J(;&0Qƒ!KH>"±ˆ4/>Œ;:¡Â„5.3»† L „<@ËÌ;>Ñˆ035B‚N:9!ÌA:âŒ&9K‚0/FÌ+7N7+‚;/Ù•N/Þ=‚rÃ€HxÄâ#‚P¸¨f©‡=I3Ä9qÑDÔ%•b4àC†()*AY£ÆI}’<@cž%#. T¢Hƒ†¨Dbõ*ª„Q r¬µ#e¥…5¡IÈ‹ÌQ…Ä#I·¬` )6’/|–…DÌæZG~%^À|ÛH¬t1ùá/¯¢Àü
BBˆIÁãœ`A „”Ø1c‰2RxxÜ(…ãÇ#”Ä`"BH+¶}öûá	
°eì ¢„H_Î„>| ±”ó¸L˜¨ÁbÇVÜLˆÄ€±ƒGoÜG1ºõëØ³kßÎ½ûã@ ;070701000115cc000081a40000000000000002000000013d1fe2e800000113000000200000000000000000000000000000001c00000003reloc/jabber/images/ips.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 070701000115cd000081a40000000000000002000000013d1fe2e8000007a9000000200000000000000000000000000000001e00000003reloc/jabber/images/karma.gif GIF87a0 0 ÷  Œ‚ÌÂÄÂ¬¬¢LBìÚ„‚täÚ<$"lbœ’¬®¬¼²œ’,TRüê42äâÜìæLÌÂL¬¢,¤šTR4ìæ4äÞT,*|rŒŽ|ôòì¤š$\Z<ÜÎÔÒÄìâ<¼®,"D6ÜÒD´ª,üæ$üúô”Ž¼º¤Ì¾,œš<üî|v,
ŒŠtìÞ<œ’ìæ\¬žôæ$ÌÂ4LN<ôÞ\Zôæôæ<\V<„zÜÚÔÜÖdôæ4¬¢LJìâ,$&ljT46$¬¢D¤š,.üöôd^D¬ž,ôæL”†ÌÆ´„†täÚL$&tj¤’¼¶¤Äº<:´¦,TV4ìâ\”Ž„ôöì¬ž\^LÜÒ,¼®,&D>äÖD¬ªDüþô”Š$Ä¾¬ÄºD¤š4$
ôê$üêôê<„‚ÌÂ,ÄÆ´äÚ4´¶¬œ–D\R<2ÌÊl¬¦,¤žäÚd4*ìêìÔÊ\„~<¼²Œ~Ì¾´®<Ì¾<´²¬Œ’ŒÜÒdZTJ|nÜÎ<¤š<ìÞ4äÖ\ìâL”ŽŒŠ„ìÞL¬žL>äÖT|v¤ž\^DÔÖÌ,&¼¾¬œ–ÌÆ4ÜÞÔ¬¦$¤ž,¬¦LFlfœ–,D:ÜÖD´®,üê$ôê„~ôê4¤žäÞL¤–”Ž$$\V<6d^TNÌÂ$ÄÂ´„‚|äÚD$"œ’üê¤šTR<äÞ\,*ŒŽ„ôòô\ZDÔÒÌìâD¼®üúü¼º¬üîŒŠ|ìÞDœ’$ôæ,ÌÂ<ôæD\VD¬¢$ìâ4,.$„†|$&TV<ôöô¬ž$¼®üþüôê,üêôêD„‚¬¦4Ì¾D|v,&ÜÞÜ t  T¬ôòòÿÿÿ¿¿¿®üÕ™‰ï@@`¸ðÍyzñ(œzñÿ¿,    0 0  þ Ç	H° Áƒ*\HpY¢f#J,(€R_&j\(É^	ddÜH’`dºL ò@†²’%%$“AiHœr‘|‰„©1H™”³ÊA(–‚†ž9•xFµV!Å H…PîÎƒ9#•"ô©k‰M/ÂJ-7âè4­ƒ4Ýd-N,W)p¤€çf$=2: 5Y&Ã’Y±â
 ë\¡ $÷±KÆÙ½A6èú`­Ø‹âdÌ™SJWQqâ}¬T­.ZmÇžx u)q¤íA£1é’jaµÁæ*ØrÎ´0'‹ïbåX«…wÌ Þt¹@¦ßq|ø®êŽågVþ€RË6IèÚdä&—ÐÅp*Õš×iq¶é„qÍ‡Ñ9ÎMÄ0º\…”2‡©ÅAÈ­¡Ò@@@¬QÞÝHDºb'èÒÚ>ÄñB1‘”@\CX£Ã•â‹3Ö0 CØV
¬˜ø6BA`*s”`‰uÀ0\kspà9ÕaB$ÁäX5n´¦
)„Ç#{\A$«pöä2XPYWMÍAHÀWCù ”èÀU=ÄRÎ"˜X†“¥ÂÁ)¶ÄAÔ]scP3¹dPTƒcM…­âŒP/tZ98PÁ¨XSNTþÄBCw
Ô	ºQ™X¥Æ1¥(È5*‚U*’"ð
qèT&ÛT¢Íq€@M$1‡œ–ªí8láF°¥`„TÚ‚%Í6¯(X+åNõå) $2N ªÜ"¼º"9 ÂÙ¦¼ª/²gÜr
eNu,CäQŠ¥ãˆ1G*Ù–+d@œ]ŠìÐ'C	çKÖ)ˆ :d°Ejƒ6»@ØÈW¥3NàF-¾-Œ¬3Œ¨"ï@p¡‹6äøFî q|JŸ)ælÍ ‹UL#0’ypA®÷y–§ š!GÐ)ŒÂZ)ºÈbDTåÆAMþÑX¤1N­Ã…¦)=V
Øh2µC”‡{¸&KÕ—C·D£Pgk#‡eTÝ€ 1´¦¬`Í/Â€@‘Ç–³w,ø­Ð2ßd@ÄWåX!ƒ.=ë¢‹žœa‹…Œ30N˜k?è²‰MqDÂ}5ê"Î²Ð7‡8è›Ñ´kÎ„1D,84ù$MØø ”‡¸u$»Üò	IÐKïC92bÍE¬0„Ts`C9J%»ü‘­$à .@18ø@›9±Š‹ hF-J9¶‘¿ýñ¤ À0°@Œ!Q‰CHðŒ@ÔŸíxŽoLp’8¸ƒ!œäÔÅ-øSÅö2Ž&0c‚S"âT†BKäo;DË2$HA§mk,µ¹Å™8&pBÄ œÂÊÁý‘± [ü¡©‚¿[à'Þ@>éÍvÄãA"PüF£ Ò'ÐÄðìÅEÌxƒª HK&¤	HÈ@2¤àI†Z	 ;   070701000115ce000081a40000000000000002000000013d1fe2e80000013a000000200000000000000000000000000000002100000003reloc/jabber/images/messages.gif  GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  çÉI«½8ëÍ»ÿ`(Ždižhª®lë¾ptmßx®ëüÀ pH,½À` \6•Æ(@¥äÄ'íF«ƒ«•ø–L'Ó+­Ä…l’Mº¯äy½N8Ür[{{}~y‚ƒtnUf@NChiŠBe\M“hš›“?ž›A—™”jjO¢ ©¦£zižšœ°¢”@¤]œ•Gz¼ƒ¹³§Ÿ«Â»DÁOÆP§kËPEÊÒÐÐÕÂÙ×½‰«´Í±ÍÞ‘É¾¿uÔçtéê^ìíR¤óôõö÷øùø2üýþÿ 
H° Áƒ7D  ;  070701000115cf000081a40000000000000002000000013d1fe2e8000001cc000000200000000000000000000000000000001d00000003reloc/jabber/images/misc.gif  GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;070701000115d0000081a40000000000000002000000013d1fe2e800000119000000200000000000000000000000000000002000000003reloc/jabber/images/modules.gif   GIF89a0 0 ¡  ÿÿÿÈ  —  ÿ  !ù    ,    0 0  ê„©Ëí£œ´Ú‹³Þ<øÀ]Ÿ'„Ôð	ê`BÃ›®o«Œ/,Ü÷ØŽA®úJIÜ‰™€ñ‡L¢–3Ì'¼ê~I‘-›’‚AŸgK?Ieóy
ªc@ˆûËU+ã:ÇÝ'öµ#·G†ðg6–77Âd€è¶§B(EÇr y7©·‰ô˜‰B	ç´EHŠ˜4$6	ªú‡Æ4©‚»ê‰j{{˜+;ªÓk» üBÜÛp|§LüÐ<ô\l'Gíè'ý:ÑÜíK®ý­Z®š®ÙÝóGMƒk¦<_3í}oL·omî/ À4P  ;   0707010000bb9f000081e40000000000000002000000013d1fe2e800000fb6000000200000000000000000000000000000001700000003reloc/jabber/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display jabber configuration option categories

require './jabber-lib.pl';

# Check if config file exists
if (!-r $config{'jabber_config'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, undef,
		&help_search_link("jabber", "man", "doc", "google"));
	print "<hr>\n";
	print &text('index_econfig', "<tt>$config{'jabber_config'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if base directory exists
if (!-d $config{'jabber_dir'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, undef,
		&help_search_link("jabber", "man", "doc", "google"));
	print "<hr>\n";
	print &text('index_edir', "<tt>$config{'jabber_dir'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check the version of jabberd
$jabberd = $config{'jabber_daemon'} ? $config{'jabber_daemon'}
				    : "$config{'jabber_dir'}/bin/jabberd";
if (!-x $jabberd) {
	&header($text{'index_title'}, "", "intro", 1, 1, undef,
		&help_search_link("jabber", "man", "doc", "google"));
	print "<hr>\n";
	print &text('index_ejabberd', "<tt>$jabberd</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}
$out = `$jabberd -v 2>&1`;
if ($out !~ /\s(1\.4\S*)/) {
	&header($text{'index_title'}, "", "intro", 1, 1, undef,
		&help_search_link("jabber", "man", "doc", "google"));
	print "<hr>\n";
	print &text('index_eversion', "<tt>$out</tt>", "1.4"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}
$ver = $1;

&header($text{'index_title'}, "", "intro", 1, 1, undef,
	&help_search_link("jabber", "man", "doc", "google"),
	undef, undef, &text('index_version', $ver));
print "<hr>\n";

# Check if XML::Parser is installed, and if not offer to install it
if (!$got_xml_parser) {
	print &text('index_emodule', "<tt>XML::Parser</tt>",
	    "/cpan/download.cgi?source=3&cpan=XML::Parser&mode=2"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if XML::Generator is installed, and if not offer to install it
if (!$got_xml_generator) {
	print &text('index_emodule', "<tt>XML::Generator</tt>",
	    "/cpan/download.cgi?source=3&cpan=XML::Generator&mode=2"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Show config category icons
$conf = &get_jabber_config();
if (!ref($conf)) {
	print &text('index_eparse', "<tt>XML::Parser</tt>", $conf),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}
@cats = ( "general", "messages", "modules", "karma", "ips", "filter", "admin", "file" );
@links = map { "edit_${_}.cgi" } @cats;
@titles = map { $text{"${_}_title"} } @cats;
@icons = map { "images/${_}.gif" } @cats;
&icons_table(\@links, \@titles, \@icons);

# Show warning about config file
open(CONFIG, $config{'jabber_config'});
while(<CONFIG>) {
	if (/\s+<!--/) {
		$has_comment++;
		last;
		}
	}
close(CONFIG);
print "<b>",&text('index_comments',
	  "<tt>$config{'jabber_config'}</tt>"),"</b><p>\n" if ($has_comment);

# Check if jabber is running and show the correct buttons
print "<hr>\n";
print "<table width=100%>\n";
if (open(PID, &jabber_pid_file()) && ($pid = int(<PID>)) && kill(0, $pid)) {
	# Running .. offer to restart and stop
	print "<form action=restart.cgi><tr>\n";
	print "<td><input type=submit value=\"$text{'index_restart'}\"></td>\n";
	print "<td>$text{'index_restartmsg'}</td>\n";
	print "</tr></form>\n";

	print "<form action=stop.cgi><tr>\n";
	print "<td><input type=submit value=\"$text{'index_stop'}\"></td>\n";
	print "<td>$text{'index_stopmsg'}</td>\n";
	print "</tr></form>\n";
	}
else {
	# Not running .. offer to start
	print "<form action=start.cgi><tr>\n";
	print "<td><input type=submit value=\"$text{'index_start'}\"></td>\n";
	print "<td>$text{'index_startmsg'}</td>\n";
	print "</tr></form>\n";
	}
print "</table>\n";
close(PID);

print "<hr>\n";
&footer("/", $text{'index'});

  0707010000bba0000081a40000000000000002000000013d1fe2e800001028000000200000000000000000000000000000001b00000003reloc/jabber/jabber-lib.pl    # jabber-lib.pl
# Common functions for editing the jabber config files
#
# XXX - http://prdownloads.sourceforge.net/expat/expat-1.95.2-1.i686.rpm
#     - XML::Parser  XML::Generator
# XXX - admin <read> and <write> - what do they mean?

do '../web-lib.pl';
&init_config();

eval "use XML::Parser; \$got_xml_parser++";
eval "use XML::Generator; \$got_xml_generator++";

# get_jabber_config()
# Parse the jabber XML config file
sub get_jabber_config
{
return $get_jabber_config_cache if (defined($get_jabber_config_cache));
local $xml = new XML::Parser('Style' => 'Tree');
eval { $get_jabber_config_cache = $xml->parsefile($config{'jabber_config'}); };
if ($@) {
	return $@;
	}
return $get_jabber_config_cache;
}

# find(name, &config)
sub find
{
local (@rv, $i);
local $list = $_[1]->[1];
for($i=1; $i<@$list; $i+=2) {
	if (lc($list->[$i]) eq lc($_[0])) {
		push(@rv, [ $list->[$i], $list->[$i+1], $i ]);
		}
	}
return wantarray ? @rv : $rv[0];
}

# find_value(name, &config)
sub find_value
{
local @rv = map { &value_in($_) } &find($_[0], $_[1]);
return wantarray ? @rv : $rv[0];
}

# jabber_pid_file()
# Returns the PID file used by jabber
sub jabber_pid_file
{
local $conf = &get_jabber_config();
local $pidfile = &find_value("pidfile", $conf);
if ($pidfile =~ /^\//) {
	return $pidfile;
	}
elsif ($pidfile) {
	return "$config{'jabber_dir'}/$pidfile";
	}
else {
	return "$config{'jabber_dir'}/jabber.pid";
	}
}

# value_in(&tag)
sub value_in
{
return undef if (!$_[0]);
local $zero = &find("0", $_[0]);
return $zero ? $zero->[1] : undef;
}

# generate_config(&tree, &gen)
# Returns an XML::Generator object created from a config tree structure
sub generate_config
{
local $gen = $_[1] ? $_[1] : XML::Generator->new(escape => 'always');
local $list = $_[0]->[1];
local (@mems, $i);
for($i=1; $i<@$list-1; $i+=2) {
	if ($list->[$i] eq '0') {
		push(@mems, $list->[$i+1]);
		}
	else {
		push(@mems, &generate_config(
				[ $list->[$i], $list->[$i+1] ], $gen));
		}
	}
local $name = $_[0]->[0];
return $gen->$name($list->[0], @mems);
}

# save_jabber_config(&config)
sub save_jabber_config
{
open(CONFIG, ">$config{'jabber_config'}");
local $xml = &generate_config($_[0]);
print CONFIG $xml;
print CONFIG "\n";
close(CONFIG);
}

# save_directive(&config, name|&old, &new)
# Replaces all directives of some name with new values
sub save_directive
{
local @ov = ref($_[1]) ? @{$_[1]} : &find($_[1], $_[0]);
local @nv = @{$_[2]};
local ($i, $j);
for($i=0; $i<@ov || $i<@nv; $i++) {
	local $idx = $ov[$i]->[2] if ($ov[$i]);
	if ($ov[$i] && $nv[$i]) {
		# Updating an existing value
		$_[0]->[1]->[$idx] = $nv[$i]->[0];
		$_[0]->[1]->[$idx+1] = $nv[$i]->[1];
		}
	elsif ($ov[$i]) {
		# Deleting an old value
		splice(@{$_[0]->[1]}, $idx, 2);
		map { $_->[2] -= 2 if ($_->[2] >= $idx) } @ov;
		}
	else {
		# Adding a new value after the last non-text one
		local $nt = -1;
		for($j=1; $j<@{$_[0]->[1]}; $j+=2) {
			$nt = $j if ($_[0]->[1]->[$j] ne '0');
			}
		splice(@{$_[0]->[1]}, $nt+2, 0, $nv[$i]->[0], $nv[$i]->[1]);
		}
	}
}

# find_by_tag(name, tag, value, &config)
sub find_by_tag
{
local @m = &find($_[0], $_[3]);
@m = grep { lc($_->[1]->[0]->{lc($_[1])}) eq lc($_[2]) } @m;
return wantarray ? @m : $m[0];
}

# xml_string(name, &tree, ...)
# Converts a list of XML structures into text
sub xml_string
{
local $rv = "";
for($i=0; $i<@_; $i+=2) {
	local $xml = &generate_config([ $_[$i], $_[$i+1] ]);
	if ($xml =~ /\S/) {
		$rv .= $xml."\n";
		}
	}
return $rv;
}

@register_fields = ( 'name', 'email' );

@karma_presets = ( { 'heartbeat' => 2,	'init' => 10,
		     'max' => 10,	'inc' => 1,
		     'dec' => 1,	'penalty' => -6,
		     'restore' => 10 },
		   { 'heartbeat' => 2,	'init' => 50,
		     'max' => 50,	'inc' => 4,
		     'dec' => 1,	'penalty' => -5,
		     'restore' => 50 },
		   { 'heartbeat' => 2,	'init' => 64,
		     'max' => 64,	'inc' => 6,
		     'dec' => 1,	'penalty' => -3,
		     'restore' => 64 }
		  );

@filter_conds = ( "ns", "unavailable", "from", "resource", "subject", "body",
		  "show", "type", "roster", "group" );

@filter_acts =  ( "error", "offline", "forward", "reply", "continue",
		  "settype" );

1;

07070100012f45000041ed0000000000000001000000023d1ffa6500000000000000200000000000000000000000000000001200000003reloc/jabber/lang 07070100012f46000081a40000000000000002000000013d1fe2e7000018c9000000200000000000000000000000000000001500000003reloc/jabber/lang/ca  index_title=Servidor IM Jabber
index_econfig=El fitxer de configuració $1 de Jabber no existeix. O bé el Jabber no està instal·lat, o bé la <a href='$2'>configuració del mòdul</a> és incorrecta.
index_edir=El directori base $1 de Jabber no existeix. O bé el Jabber no està instal·lat, o bé la <a href='$2'>configuració del mòdul</a> és incorrecta.
index_emodule=El mòdul perl $1 necessari per tal que Webmin gestioni el fitxer de configuració XML de Jabber's no està instal·lat. <a href='$2'>Fes clic aquí</a> per instal·lar-lo directament des de CPAN.
index_eparse=El mòdul perl $1 no ha pogut analitzar el fitxer de configuració de Jabber: $2
index_ejabberd=No s'ha trobat al sistema el programa servidor $1 de Jabber. O bé el Jabber no està instal·lat, o bé la <a href='$2'>configuració del mòdul</a> és incorrecta.
index_eversion=Webmin només suporta Jabber versió $2, però el teu servidor ha donat la informació de versió següent: $1
index_start=Inicia el Servidor Jabber
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor Jabber al sistema. Fins que no s'iniciï, no el podrà fer servir cap client de missatgeria instantània.
index_stop=Atura el Servidor Jabber
index_stopmsg=Fes clic sobre aquest botó per aturar el servidor Jabber en execució al sistema. Mentre estigui aturat, no el podrà fer servir cap client de missatgeria instantània.
index_restart=Aplica els Canvis
index_restartmsg=Fes clic sobre aquest botó per aplicar la configuració actual aturant i reiniciant el servidor Jabber.
index_comments=Atenció - el fitxer de configuració $1 de Jabber conté comentaris, que s'eliminaran si es fan canvis de configuració fent servir aquest mòdul.
index_return=al menú de Jabber
index_version=Versió Jabber $1

general_title=Opcions Generals
general_header=Opcions globals del servidor Jabber
general_host=El nom del teu servidor
general_elog=Fitxer de registre d'errors
general_elogfmt=Format del registre d'errors
general_rlog=Fitxer de registre d'accés
general_rlogfmt=Format del registre d'accés
general_pidfile=Fitxer d'ID de procés
general_err=No he pogut desar les opcions generals
general_ehost=Hi falta el nom de host del servidor o bé és invàlid
general_eelog=Hi falta el fitxer de registre d'errors o bé és invàlid
general_eelogfmt=Hi falta el format del registre d'errors o bé és invàlid Missing error log format
general_erlog=Hi falta el fitxer de registre de trànsit o bé és invàlid
general_erlogfmt=Hi falta el format dels registres de trànsit o bé és invàlid
general_epidfile=Hi falta el fitxer d'ID de procés o bé és invàlid

messages_title=Missatges
messages_header=Missatge del servidor Jabber per als clients
messages_wsubject=Tema del missatge de benvinguda
messages_wbody=Cos del missatge de benvinguda
messages_vcard=vCard del servidor
messages_rinstr=Instruccions d'enregistrament
messages_rnotify=Notifica l'administrador de l'enregistrament
messages_rfields=Camps d'enregistrament obligatoris
messages_vcard2jud=Envia la vCard al directori d'usuari de Jabber
messages_err=No he pogut desar els missatges
messages_evcard=XML de vCard invàlid: $1
messages_etag=El XML de la vCard del servidor no comença amb &lt;vCard&gt;

modules_title=Mòduls de Jabber
modules_desc=Els mòduls llistats a sota es fan servir per tal de processar els missatges rebuts pel gestor de sessions de Jabber. Canvia aquesta llista només si saps el que estàs fent.
modules_header=Mòduls de gestió de sessió del servidor Jabber
modules_mod=Nom del mòdul
modules_so=Llibreria compartida
modules_err=No he pogut desar els mòduls de Jabber
modules_emod='$1' no és un nom de mòdul vàlid
modules_eso=La llibreria compartida '$1' no existeix

karma_title=Control de Trànsit Karma
karma_header=Opcions de control de la cadència de trànsit
karma_rate=Gestió de connexions excessives
karma_rate_def=Desactivat
karma_rate_sel=Bloqueja el client durant $2 segonds després de $1 connexions
karma_mode=Mode karma
karma_none=Sense límits
karma_low=Límits baixos de trànsit
karma_medium=Límits mitjans de trànsit
karma_high=Límits alts de trànsit
karma_sel=Fes servir els valors de sota...
karma_heartbeat=Longitud en segons del període (<tt>heartbeat</tt>)
karma_init=Períodes d'inicialització (<tt>init</tt>)
karma_max=Karma màxim (<tt>max</tt>)
karma_inc=Increment de karma (<tt>inc</tt>)
karma_dec=Decrement de karma (<tt>dec</tt>)
karma_penalty=Períodes de càstig (<tt>penalty</tt>)
karma_restore=Períodes de restauració (<tt>restore</tt>)
karma_err=No he pogut desar les opcions de karma
karma_eheartbeat=Hi falta la longitud del període o bé és invàlid
karma_einit=Hi falta el període d'inicialització o bé és invàlid
karma_emax=Hi falta el karma màxim o bé és invàlid
karma_einc=Hi falta l'increment de karma o bé és invàlid
karma_edec=Hi falta el decrement de karma o bé és invàlid
karma_epenalty=Hi falten els períodes de càstig o bé són invàlids
karma_erestore=Hi falten els períodes de restauració o bé són invàlids
karma_epoints=Hi falta el nombre de connexions o bé és invàlid
karma_etime=Hi falta el temps de bloqueig o bé és invàlid

ips_title=Control d'Accés IP
ips_header=Control d'accés IP al servidor Jabber
ips_allow=IPs de clients permeses
ips_all=Totes les adreces
ips_deny=IPs de clients denegades
ips_none=Cap
ips_sel=Adreces/màscares llistades...
ips_err=No he pogut desar el control d'accés IP
ips_eaddr='$1' no és una adreça IP o adreça/màscara IP vàlida

file_title=Edició de la Configuració
file_desc=Fes servir el formulari de sota per editar directament el fitxer de configuració de Jabber. Això ho pots fer només si entens el format de configuració XML.
file_header=Edita el fitxer de configuració de Jabber
file_err=No he pogut desar el fitxer de configuració

admin_title=Usuaris Administradors
admin_header=Usuaris administradors del servidor
admin_read=Administradors amb accés de lectura
admin_write=Administradors amb accés d'escriptura
admin_reply=Respon automàticament els missatges d'administració
admin_rsubject=Tema de l'autoresposta
admin_rbody=Missatge d'autoresposta

filter_title=Filtres d'Usuari
filter_header=Permisos de filtres d'usuari
filter_max=Nombre màxim de regles filtratge
filter_conds=Condicions de filtratge permeses
filter_acts=Accions de filtratge permeses

restart_err=No he pogut aplicar els canvis
stop_err=No he pogut aturar Jabber
start_err=No he pogut iniciar Jabber



   07070100012f47000081a40000000000000002000000013d1fe2e700001526000000200000000000000000000000000000001500000003reloc/jabber/lang/en  index_title=Jabber IM Server
index_econfig=The Jabber config file $1 does not exist. Either Jabber is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_edir=The Jabber base directory $1 does not exist. Either Jabber is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_emodule=The Perl module $1 which is required by Webmin for handling Jabber's XML config is not installed. <a href='$2'>Click here</a> to install it directly from CPAN.
index_eparse=The $1 perl module could not parse your Jabber config file : $2
index_ejabberd=The Jabber server program $1 was not found on your system. Either Jabber is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Webmin only supports Jabber version $2, but your server reported the following version information : $1
index_start=Start Jabber Server
index_startmsg=Click this button to start the Jabber server on your system. Until it is started, no instant messaging clients will be able to use it.
index_stop=Stop Jabber Server
index_stopmsg=Click this button to stop the running Jabber server on your system. No instant messaging clients will be able to use it when it is stopped.
index_restart=Apply Changes
index_restartmsg=Click this button to apply the current configuration by stopping and then re-starting the Jabber server.
index_comments=Warning - your Jabber config file $1 contains comments, which will be removed if any configuration changes are made using this module.
index_return=Jabber menu
index_version=Jabber version $1

general_title=General Options
general_header=Global Jabber server options
general_host=Your server's hostname
general_elog=Error log file
general_elogfmt=Error log format
general_rlog=Access log file
general_rlogfmt=Access log format
general_pidfile=Process ID file
general_err=Failed to save general options
general_ehost=Missing or invalid server hostname
general_eelog=Missing or invalid error log file
general_eelogfmt=Missing error log format
general_erlog=Missing or invalid traffic log file
general_erlogfmt=Missing traffic log format
general_epidfile=Missing or invalid process ID file

messages_title=Messages
messages_header=Jabber server message for clients
messages_wsubject=Welcome message subject
messages_wbody=Welcome message body
messages_vcard=Server vCard
messages_rinstr=Registration instructions
messages_rnotify=Notify admin on registration?
messages_rfields=Required registration fields
messages_vcard2jud=Send vCard to Jabber user directory?
messages_err=Failed to save messages
messages_evcard=Invalid vCard XML : $1
messages_etag=Server vCard XML does not start with &lt;vCard&gt;

modules_title=Jabber Modules
modules_desc=The modules listed below are used in order to process messages received by the Jabber session manager. You should only change this list if you know what you are doing.
modules_header=Jabber server session manager modules
modules_mod=Module name
modules_so=Shared library
modules_err=Failed to save Jabber modules
modules_emod='$1' is not a valid module name
modules_eso=Shared library '$1' does not exist

karma_title=Karma Traffic Control
karma_header=Traffic rate control options
karma_rate=Excessive connection handling
karma_rate_def=Disabled
karma_rate_sel=Block client for $2 seconds after $1 connections
karma_mode=Karma mode
karma_none=No limits
karma_low=Low traffic limits
karma_medium=Medium traffic limits
karma_high=High traffic limits
karma_sel=Use settings selected below ..
karma_heartbeat=Period length in seconds (<tt>heartbeat</tt>)
karma_init=Initialization periods (<tt>init</tt>)
karma_max=Karma maximum (<tt>max</tt>)
karma_inc=Karma increment (<tt>inc</tt>)
karma_dec=Karma decrement (<tt>dec</tt>)
karma_penalty=Penalty periods (<tt>penalty</tt>)
karma_restore=Burst restore periods (<tt>restore</tt>)
karma_err=Failed to save karma options
karma_eheartbeat=Missing or invalid period length
karma_einit=Missing or invalid initialization periods
karma_emax=Missing or invalid karma maximum
karma_einc=Missing or invalid karma increment
karma_edec=Missing or invalid karma decrement
karma_epenalty=Missing or invalid penalty periods
karma_erestore=Missing or invalid restore periods
karma_epoints=Missing or invalid number of connections
karma_etime=Missing or invalid time to block for

ips_title=IP Access Control
ips_header=Jabber server IP access control
ips_allow=Allowed client IPs
ips_all=All addresses
ips_deny=Denied client IPs
ips_none=None
ips_sel=Listed addresses/netmasks ..
ips_err=Failed to save IP access control
ips_eaddr='$1' is not a valid IP address or IP address/netmask

file_title=Edit Config File
file_desc=Use the form below to edit the Jabber config file directly. This should only be done if you understand the XML configuration format.
file_header=Edit Jabber configuration file
file_err=Failed to save config file

admin_title=Administrative Users
admin_header=Server adminstration users
admin_read=Read access admins
admin_write=Write access admins
admin_reply=Autoreply to admin messages?
admin_rsubject=Autoreply subject
admin_rbody=Autoreply message

filter_title=User Filters
filter_header=User filter permissions
filter_max=Maximum filter rules
filter_conds=Allowed filter conditions
filter_acts=Allowed filter actions

restart_err=Failed to apply changes
stop_err=Failed to stop Jabber
start_err=Failed to start Jabber

  0707010000bba1000081a40000000000000002000000013d1fe2ea0000006a000000200000000000000000000000000000001900000003reloc/jabber/module.info  category=servers
depends=0.990
desc=Jabber IM Server
version=0.990
desc_ca=Servidor IM Jabber
name=Jabber
  0707010000bba2000081e40000000000000002000000013d1fe2e80000021c000000200000000000000000000000000000001900000003reloc/jabber/restart.cgi  #!/usr/local/bin/perl
# restart.cgi
# Stop and then restart the Jabber server

require './jabber-lib.pl';
&error_setup($text{'restart_err'});

if ($config{'stop_cmd'}) {
	&system_logged("$config{'stop_cmd'} </dev/null >/dev/null 2>&1");
	}
else {
	if (open(PID, &jabber_pid_file()) && ($pid = int(<PID>)) &&
	    &kill_logged('TERM', $pid)) {
		# Stopped ok ..
		}
	else {
		&error("<tt>$!</tt>");
		}
	}
unlink(&jabber_pid_file());

&system_logged("$config{'start_cmd'} </dev/null >/tmp/err 2>&1");
&webmin_log("restart");
&redirect("");

0707010000bba3000081e40000000000000002000000013d1fe2e8000004a5000000200000000000000000000000000000001c00000003reloc/jabber/save_admin.cgi   #!/usr/local/bin/perl
# save_admin.cgi
# Save admin users and autoreply

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'admin_err'});

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);
$admin = &find("admin", $jsm);
if (!$admin) {
	$admin = [ "admin", [ { } ] ];
	}

# Validate and save inputs
foreach $r (split(/\s+/, $in{'read'})) {
	push(@read, [ 'read', [ { }, 0, $r ] ] );
	}
&save_directive($admin, "read", \@read);
foreach $w (split(/\s+/, $in{'write'})) {
	push(@write, [ 'write', [ { }, 0, $w ] ] );
	}
&save_directive($admin, "write", \@write);
if ($in{'reply_def'}) {
	&save_directive($admin, "reply");
	}
else {
	$reply = &find("reply", $admin);
	if (!$reply) {
		$reply = [ "reply", [ { } ] ];
		&save_directive($admin, "reply", [ $reply ] );
		}
	&save_directive($reply, "subject",
			[ [ 'subject', [ { }, 0, $in{'rsubject'} ] ] ]);
	&save_directive($reply, "body",
			[ [ 'body', [ { }, 0, $in{'rbody'} ] ] ]);
	}
@am = @{$admin->[1]};
if (@am > 1) {
	&save_directive($jsm, "admin", [ $admin ]);
	}
else {
	&save_directive($jsm, "admin");
	}

&save_jabber_config($conf);
&redirect("");

   0707010000bba4000081e40000000000000002000000013d1fe2e800000261000000200000000000000000000000000000001b00000003reloc/jabber/save_file.cgi    #!/usr/local/bin/perl
# edit_file.cgi
# Save the jabber config file, with verification

require './jabber-lib.pl';
&ReadParseMime();
&error_setup($text{'file_err'});

# Write to a temp file and check it
$temp = &tempname();
$in{'file'} =~ s/\r//g;
open(TEMP, ">$temp");
print TEMP $in{'file'};
close(TEMP);
local $xml = new XML::Parser('Style' => 'Tree');
eval { $xml->parsefile($temp); };
unlink($temp);
if ($@) {
	$err = $@;
	$err =~ s/\s+at\s+(\S+)\s+line\s+(\d+)$//;
	&error($err);
	}

# Write to the real file
open(FILE, ">$config{'jabber_config'}");
print FILE $in{'file'};
close(FILE);
&redirect("");

   0707010000bba5000081e40000000000000002000000013d1fe2e80000039e000000200000000000000000000000000000001d00000003reloc/jabber/save_filter.cgi  #!/usr/local/bin/perl
# save_filter.cgi
# Save user filter options

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'filter_err'});

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);
$filter = &find("filter", $jsm);
$allow = &find("allow", $filter);

# Validate and store inputs
$in{'max'} =~ /^\d+$/ || &error($text{'filter_emax'});
&save_directive($filter, "max_size",
		[ [ "max_size", [ { }, 0, $in{'max'} ] ] ] );
$conds = &find("conditions", $allow);
foreach $c (@filter_conds) {
	if ($in{"cond_$c"}) {
		&save_directive($conds, $c, [ [ $c, [ { } ] ] ] );
		}
	else {
		&save_directive($conds, $c);
		}
	}
$acts = &find("actions", $allow);
foreach $c (@filter_acts) {
	if ($in{"act_$c"}) {
		&save_directive($acts, $c, [ [ $c, [ { } ] ] ] );
		}
	else {
		&save_directive($acts, $c);
		}
	}

&save_jabber_config($conf);
&redirect("");

  0707010000bba6000081e40000000000000002000000013d1fe2e80000070b000000200000000000000000000000000000001e00000003reloc/jabber/save_general.cgi #!/usr/local/bin/perl
# save_general.cgi
# Save general jabber server options

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'general_err'});

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$host = &find("host", $session);
$hostname = &find_by_tag("jabberd:cmdline", "flag", "h", $host);
$jsm = &find("jsm", $session);
$update = &find("update", $jsm);
$updatename = &find_by_tag("jabberd:cmdline", "flag", "h", $update);
$elogger = &find_by_tag("log", "id", "elogger", $conf);
$rlogger = &find_by_tag("log", "id", "rlogger", $conf);
$pidfile = &find_value("pidfile", $conf);

# Validate and store inputs
$in{'host'} =~ /^[a-z0-9\.\-]+$/ || &error($text{'general_ehost'});
&save_directive($hostname, "0", [ [ 0, $in{'host'} ] ]);
&save_directive($updatename, "0", [ [ 0, $in{'host'} ] ]) if ($updatename);
$in{'elog'} =~ /^\S+$/ || &error($text{'general_eelog'});
$in{'elogfmt'} =~ /\S/ || &error($text{'general_eelogfmt'});
if ($elogger) {
	&save_directive($elogger, "file",
			[ [ 'file', [ { }, 0, $in{'elog'} ] ] ] );
	&save_directive($elogger, "format",
			[ [ 'format', [ { }, 0, $in{'elogfmt'} ] ] ] );
	}
$in{'rlog'} =~ /^\S+$/ || &error($text{'general_erlog'});
$in{'rlogfmt'} =~ /\S/ || &error($text{'general_erlogfmt'});
if ($rlogger) {
	&save_directive($rlogger, "file",
			[ [ 'file', [ { }, 0, $in{'rlog'} ] ] ] );
	&save_directive($rlogger, "format",
			[ [ 'format', [ { }, 0, $in{'rlogfmt'} ] ] ] );
	}
$in{'pidfile'} =~ /^\S+$/ || &error($text{'general_epidfile'});
&save_directive($conf, "pidfile",
		[ [ 'pidfile', [ { }, 0, $in{'pidfile'} ] ] ] );
$spool = $config{'jabber_spool'} ? $config{'jabber_spool'}
				 : "$config{'jabber_dir'}/spool";
mkdir("$spool/$in{'host'}", 0755);

&save_jabber_config($conf);
&redirect("");

 0707010000bba7000081e40000000000000002000000013d1fe2e8000003d9000000200000000000000000000000000000001a00000003reloc/jabber/save_ips.cgi #!/usr/local/bin/perl
# save_ips.cgi
# Save allowed and denied IP addresses

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'ips_err'});

$conf = &get_jabber_config();
$io = &find("io", $conf);
@oldallow = &find("allow", $io);
@olddeny = &find("deny", $io);

# Validate and store inputs
if (!$in{'allow_def'}) {
	foreach $a (split(/\s+/, $in{'allow'})) {
		push(@allow, &check_addr($a, "allow"));
		}
	}
if (!$in{'deny_def'}) {
	foreach $a (split(/\s+/, $in{'deny'})) {
		push(@deny, &check_addr($a, "deny"));
		}
	}
&save_directive($io, "allow", \@allow);
&save_directive($io, "deny", \@deny);
&save_jabber_config($conf);
&redirect("");

sub check_addr
{
if (&check_ipaddress($_[0])) {
	return [ $_[1], [ {}, "ip", [ { }, "0", $_[0] ] ] ];
	}
elsif ($_[0] =~ /^(\S+)\/(\S+)$/ &&
       &check_ipaddress($1) && &check_ipaddress($2)) {
	return [ $_[1], [ {}, "ip", [ { }, "0", $1 ],
			      "mask", [ { }, "0", $2 ] ] ];
	}
else {
	&error(&text('ips_eaddr', $_[0]));
	}
}
   0707010000bba8000081e40000000000000002000000013d1fe2e800000512000000200000000000000000000000000000001c00000003reloc/jabber/save_karma.cgi   #!/usr/local/bin/perl
# save_karma.cgi
# Save karma traffic control options

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'karma_err'});

$conf = &get_jabber_config();
$io = &find("io", $conf);
$karma = &find("karma", $io);

if (!$karma) {
	# Create a new empty karma block
	$karma = [ "karma", [ { } ] ];
	}

# Validate and store inputs
if ($in{'rate_def'}) {
	&save_directive($io, "rate");
	}
else {
	$in{'points'} =~ /^\d+$/ || &error($text{'karma_epoints'});
	$in{'time'} =~ /^\d+$/ || &error($text{'karma_etime'});
	&save_directive($io, "rate",
			[ [ "rate", [ { 'points' => $in{'points'},
					'time' => $in{'time'} } ] ] ] );
	}
if ($in{'mode'} == -1) {
	# Remove karma section entirely
	&save_directive($io, "karma");
	}
elsif ($in{'mode'} == 3) {
	# Check user karma inputs
	foreach $k ('heartbeat', 'init', 'max', 'dec', 'penalty', 'restore') {
		$in{$k} =~ /^\d+$/ || &error($text{"karma_e$k"});
		local $v = $k eq 'penalty' ? -$in{$k} : $in{$k};
		&save_directive($karma, $k, [ [ $k, [ { }, 0, $v ] ] ] );
		}
	}
else {
	# Use pre-defined karma
	$kp = $karma_presets[$in{'mode'}];
	foreach $k (keys %$kp) {
		&save_directive($karma, $k, [ [ $k, [ { }, 0, $kp->{$k} ] ] ] );
		}
	&save_directive($io, "karma", [ $karma ] );
	}
&save_jabber_config($conf);
&redirect("");

  0707010000bba9000081e40000000000000002000000013d1fe2e80000052a000000200000000000000000000000000000001f00000003reloc/jabber/save_messages.cgi    #!/usr/local/bin/perl
# save_messages.cgi
# Save welcome and other messages

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'messages_err'});

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$jsm = &find("jsm", $session);
$welcome = &find("welcome", $jsm);
$register = &find("register", $jsm);
$vcard = &find("vcard", $jsm);

# Validate and store inputs
&save_directive($welcome, "subject",
		[ [ "subject", [ { }, 0, $in{'wsubject'} ] ] ] );
&save_directive($welcome, "body",
		[ [ "body", [ { }, 0, $in{'wbody'} ] ] ] );
eval {
	$xml = new XML::Parser('Style' => 'Tree');
	$in{'vcard'} =~ s/\r//g;
	$vcxml = $xml->parse($in{'vcard'});
	};
$register->[1]->[0]->{'notify'} = $in{'rnotify'} ? 'yes' : 'no';
&save_directive($register, "instructions",
		[ [ "instructions", [ { }, 0, $in{'rinstr'} ] ] ] );
foreach $f (@register_fields) {
	if ($in{"rfield_$f"}) {
		&save_directive($register, $f, [ [ $f, [ { } ] ] ] );
		}
	else {
		&save_directive($register, $f);
		}
	}
&error(&text('messages_evcard', $@)) if ($@);
&error($text{'messages_etag'}) if (lc($vcxml->[0]) ne 'vcard');
&save_directive($jsm, [ $vcard ], [ $vcxml ]);
&save_directive($jsm, "vcard2jud",
		$in{'vcard2jud'} ? [ [ 'vcard2jud', [ { } ] ] ] : [ ] );

&save_jabber_config($conf);
&redirect("");

  0707010000bbaa000081e40000000000000002000000013d1fe2e8000002f2000000200000000000000000000000000000001e00000003reloc/jabber/save_modules.cgi #!/usr/local/bin/perl
# save_modules.cgi
# Save server modules and shared libraries

require './jabber-lib.pl';
&ReadParse();
&error_setup($text{'modules_err'});

$conf = &get_jabber_config();
$session = &find_by_tag("service", "id", "sessions", $conf);
$load = &find("load", $session);

$newload = [ "load", [ $load->[1]->[0] ] ];
for($n=0; defined($mod = $in{"mod_$n"}); $n++) {
	next if (!$mod);
	$so = $in{"so_$n"};
	$mod =~ /^\S+$/ || &error(&text('modules_emod', $mod));
	$sopath = $so =~ /^\// ? $so : "$config{'jabber_dir'}/$so";
	-r $sopath || &error(&text('modules_eso', $so));
	&save_directive($newload, $mod, [ [ $mod, [ { }, 0, $so ] ] ] );
	}
&save_directive($session, [ $load ], [ $newload ] );

&save_jabber_config($conf);
&redirect("");
  0707010000bbab000081e40000000000000002000000013d1fe2e8000000c0000000200000000000000000000000000000001700000003reloc/jabber/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the jabber server

require './jabber-lib.pl';
&system_logged("$config{'start_cmd'} </dev/null >/tmp/err 2>&1");
&webmin_log("start");
&redirect("");

0707010000bbac000081e40000000000000002000000013d1fe2e8000001be000000200000000000000000000000000000001600000003reloc/jabber/stop.cgi #!/usr/local/bin/perl
# stop.cgi
# Stop the jabber server

require './jabber-lib.pl';
&error_setup($text{'stop_err'});
if ($config{'stop_cmd'}) {
	&system_logged("$config{'stop_cmd'} </dev/null >/dev/null 2>&1");
	}
else {
	if (open(PID, &jabber_pid_file()) && ($pid = int(<PID>)) &&
	    &kill_logged('TERM', $pid)) {
		# Stopped ok ..
		}
	else {
		&error("<tt>$!</tt>");
		}
	}
unlink(&jabber_pid_file());
&webmin_log("stop");
&redirect("");

  0707010003e278000081a40000000000000002000000013d1fe2b800003ac2000000200000000000000000000000000000001800000003reloc/javascript-lib.pl   #javascript-lib.pl

#------------------------------#
#  JavaScript Library          #
#                              #
#  Written By:                 #
#    John Smith                #
#    <john.smith@msclinux.com> #
#                              #
#  MSC.Software                #
#  http://www.msclinux.com     #
#  http://www.mscsoftware.com  #
#------------------------------#

#----------------------------------------------------------------------------#
# Available Functions                                                        #
#    *jroll_over                                                             #
#      -This gives you simple mouse over functions on graphics               #
#       and includea a link.                                                 #
#       -Usage = &jroll_over("url", "name", "border", "imgoff", "imgon");    #
#    *jimg_preload                                                           #
#      -Preloads any number of given images.                                 #
#       -Usage = &jimg_preload("image/1.gif", "imgage/u.gif");               #
#    *jimg_update                                                            #
#      -Updates any image on your page that has a name                       #
#       -Usage = &jimg_update("imgname", "image/toload.gif");                #
#    *janim                                                                  #
#      -Builds an Animation with any given list of images                    #
#       -Usage = &janim("name", "speed", "list.gif", "of.gif", "images.jpg") #
#    *janim_start                                                            #
#      -Starts the animation you built with janim                            #
#       -Usage = &janim_start("name");                                       #
#    *janim_stop                                                             #
#      -Stops the animation you built with janim                             #
#       -Usage = &janim_stop("name");                                        #
#    *jalert                                                                 #
#      -Launches an alert dialog box with a custom message                   #
#       -Usage = &jalert("Your alert message!");                             #
#    *jwindow                                                                #
#      -Opens a window with a given URL                                      #
#       -Usage = &jwindow("url", "name", "width", "height");                 #
#    *jwindow_xy                                                             #
#      -Repostitions a named windows x and y                                 #
#       -Usage = &jwindow_xy("name", "x", "y");                              #
#    *jterminal                                                              #
#      -Creates an empty plain text window for writing data to               #
#       -Usage = &jterminal("name", "width", "height");                      #
#    *jwrite                                                                 #
#      -Write data to a created window or terminal                           #
#       -Usage = &jwrite("name", "data to write");                           #
#    *jtext                                                                  #
#      -Simple text rollovers between two colors                             #
#       -Usage = &jtext("text message", "red", "#F1F1F1");                   #
#    *jtalkback                                                              #
#      -Builds a JavaScript for a pop-up talkback/bug report window          #
#       -Usage = &jtalkback();                                               #
#    *jerror                                                                 #
#      -Launches the jtalkback window upon execution                         #
#       -Usage = &jerror("title", "email", "width", "height", \              #
#                        "errmsg", "url", "erroredonline");                  #
#    *jtalkback_link                                                         #
#      -Creates a button or text link to launch the jtalkback window         #
#       -Usage = &jtalkback_link("title", "email", "width", "height", \      #
#                                "text", "type");                            #
#----------------------------------------------------------------------------#

#creates a mouse over event with a link
sub jroll_over {
   my ($url, $name, $border, $img_off, $img_on) = @_;
   if (!$url) { $url = "javascript:"; }
   print "\n<a href=\"$url\"", " onmouseover=\"document.$name.src=\'$img_on\'\;\"", " onmouseout=\"document.$name.src=\'$img_off\'\;\">";
   print "<img src=\"$img_off\" name=\"$name\" border=\"0\" alt=\"$name\"></a>";
}

#preloads a list of images for smooth loading
sub jimg_preload {
   my (@img_array) = @_; 
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   foreach my $img (@img_array) {
      print "(new Image).src = \"$img\"\;\n";
   }
   print "</SCRIPT>\n";
}

#update any image on a page by its name
sub jimg_update {
   my ($name, $img) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "document.$name.src = '$img';\n";
   print "</SCRIPT>\n";
}

#build an animation (preloads images itself)
sub janim {
   my ($name, $speed, @anim_array) = @_;
   my $frames = @anim_array;
   my $count = 0;
   my $arraycount = 0;
   print "<img name='$name' src='@anim_array[0]' alt='$name'>\n";
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "var aniframes$name = new Array($frames);\n";
   foreach my $img (@anim_array) {
      print "aniframes$name\[$count] = new Image();\n";
      print "aniframes$name\[$count].src = '@anim_array[$arraycount]';\n";
      $arraycount++;
      $count++;
   }
   print "var frame$name = 0;\n";
   print "var timeout_id$name = null;\n";
   print "function animate$name() {\n";
   print "document.$name.src = aniframes$name\[frame$name].src;\n";
   print "frame$name = (frame$name + 1)%$frames;\n";
   print "timeout_id$name = setTimeout('animate$name()', $speed);\n";
   print "}\n";
   print "</SCRIPT>\n";
}

#start an animation
sub janim_start {
   my ($name) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "animate$name();\n";
   print "</SCRIPT>\n";
}

#stop an animation
sub janim_stop {
   my ($name, $image) = @_;
   if (!$image) { }
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "if (timeout_id$name) clearTimeout(timeout_id$name);\n";
   print "timeout_id$name=null;\n";
   if ($image) {
      print "document.$name.src = '$image';\n";
   }
   print "</SCRIPT>\n";
}

#create an alert dialog box
sub jalert {
   my (@alert_msg) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "alert('@alert_msg')";
   print "</SCRIPT>\n";
}

#opens a specified url in a seprate window
sub jwindow {
   my ($url, $name, $width, $height) = @_;
   if (!$width)  { $width  = "300"; }
   if (!$height) { $height = "200"; }
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "$name = window.open('$url','$name','width=$width,height=$height');\n";
   print "</SCRIPT>\n";
}

#sets a specified window to x y location
sub jwindow_xy {
   my ($name, $x, $y) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "$name.moveTo('$x','$y');\n";
   print "</SCRIPT>\n";
}

#opens a blank terminal window for writing data to
sub jterminal {
   my ($name, $width, $height) = @_;
   if (!$width)  { $width  = "300"; }
   if (!$height) { $height = "200"; }
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "$name = window.open('','$name','width=$width,height=$height');\n";
   print "$name.document.open('text/plain')\n";
   print "</SCRIPT>\n";
}

#write data to a given window name
sub jwrite {
   my ($name, @msg) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "$name.document.writeln('@msg');\n";
   print "</SCRIPT>\n";
}

#text rollover
sub jtext {
   my ($text, $coloroff, $coloron) = @_;
   print "<font color=\"$coloroff\" onMouseOver=\"this.style.color = '$coloron'\" onMouseOut=\"this.style.color = '$coloroff'\">$text</font>";
}

#Puts the needed JavaScript into your page for talkback reports
sub jtalkback {
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "var error_count = 0;\n";

   print "function talkback(title,email,width,height,errmsg,url,line)\n";
   print "{\n";
   print "   var w = window.open(\"\", \"error\"+error_count++, \"resizable,status,width=\"+ width + \",height=\" + height + \"\");\n";
   print "   var d = w.document;\n";
   print "d.write('<body bgcolor=\"#FFFFFF\" text=\"#000000\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">');\n";

   print "d.write('<form action=\"/jtalkback.cgi\" method=\"post\">');\n";

   print "d.write('<input type=\"hidden\" name=\"Subject\" value=\"' + title + '\">');\n";  
   print "d.write('<input type=\"hidden\" name=\"EmailTo\" value=\"' + email + '\">');\n";  

   print "d.write('<table width=\"100%\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\">');\n";
   print "d.write('  <tr $tb>');\n";
   print "d.write('    <td colspan=\"2\">');\n";
   print "d.write('      <div align=\"center\"><font size=\"4\" face=\"Verdana, Arial, Helvetica, sans-serif\">' + title + '</font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('  </tr>');\n";


   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Name:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Name\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";

   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>eMail:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"eMail\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";


   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>OS:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"OS\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";

   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Program:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Program\" value=\"' + url + '\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";


   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Error:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Error\" value=\"' + errmsg + '\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";

   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Line:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Line\" value=\"' + line + '\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";

   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Browser:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Browser\" value=\"' + navigator.userAgent + '\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";

   print "d.write('  <tr $cb>');\n";
   print "d.write('    <td width=\"18%\">');\n";
   print "d.write('      <div align=\"right\"><font face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Comment:</b>');\n";
   print "d.write('        </font></div>');\n";
   print "d.write('    </td>');\n";
   print "d.write('    <td width=\"82%\"> <font face=\"Verdana, Arial, Helvetica, sans-serif\">');\n";
   print "d.write('<center><input size=\"42\" name=\"Comment\"></center>');\n";
   print "d.write('      </font></td>');\n";
   print "d.write('  </tr>');\n";
   print "d.write('  </table>');\n";

   print "d.write('<table border=\"0\" width=\"100%\"><tr><td>');\n";
   print "d.write('      <input type=\"submit\" value=\"Report Error\">&nbsp;&nbsp;');\n";
   print "d.write('      <input type=\"button\" value=\"Dismiss\" onclick=\"self.close();\">');\n";
   print "d.write('</td></tr></table>');\n";

   print "d.write('</form>');\n";
   print "d.close();\n";
   print "return true;\n";
   print "}\n";
   print "</SCRIPT>\n";

}

#Launches the talkback form
sub jerror {
   my ($title, $email, $width, $height, $errmsg, $url, $line) = @_;
   print "<SCRIPT LANGUAGE=JavaScript>\n";
   print "talkback('$title','$email','$width','$height','$errmsg','$url','$line');\n";
   print "</SCRIPT>\n";
}

#Allows you to manually luanch the talkback form
sub jtalkback_link {
   my ($title, $email, $width, $height, $text, $type) = @_;
   if ($type eq 0) {
      print "<a href=\"#\" onclick=\"talkback('$title', '$email', '$width', '$height','$errmsg','$url','$line');\">$text</a>\n";
   } elsif ($type eq 1) {
      print "<form><input type=\"button\" value=\"$text\" onclick=\"talkback('$title', '$email', '$width', '$height','$errmsg','$url','$line');\"></form>\n";
   }
}

return 1;
  07070100015c5c000041ed0000000000000001000000343d1ffa6f00000000000000200000000000000000000000000000000f00000003reloc/kdestyle    07070100017402000041ed0000000000000001000000033d1ffa6600000000000000200000000000000000000000000000001300000003reloc/kdestyle/acl    0707010001fb1c000041ed0000000000000001000000023d1ffa6600000000000000200000000000000000000000000000001a00000003reloc/kdestyle/acl/images 0707010001fb1d000081a40000000000000002000000013d1fe2e4000008e2000000200000000000000000000000000000002300000003reloc/kdestyle/acl/images/icon.gif    GIF89a0 0 ç  úúù÷ööæææÌÊÇóòñÁº·ÊÂÀÂ¶²ÍÆÄàÞÞ½µ²ÓÎÌêæåÅÃÁÙÖÖëêéÞÚØÇ¾ºþþþÔÒÏïîíãâßÂ¾º®®®ž•‘©¨¨µ±°wxx¡œš”’’Š‰_[ZsmljjjH@9.+*VVV"""@@@654fffÝÒÍ>86oegOLL&&&~~~




¢¢¢ÒÊÇ*†…Š

AGJ$"62**F2:‚
"22
>$$r>L^5??+ŽV">^.*~6JŽ87†<8ƒGEdBjCj.¤x„2<4•BM’B7…43\\NJ€hd9ŽXRN2*:"–(#ˆ6*“8A“23™>@”96z&Q
DRk+"gc¶ššz=.›OLš>Nœ89nu$$ƒ,-ž8Jºv~@œGG–.?”./„,f"¦2F¤-7œ22B2šJq#:’FBˆB>©<?²::6nN&v2jŠ*N*lJ&JW>;<$b‚N~¶‚žº~‚à³¦í¼¨ñ³·8
‚b†ìÀÌ†VZÑ«ŸëÆ¬òÁ´ì¼¼FJ("ª^RÒÂ².jx¦Ý²Ç±‡ƒè´ª.©KI&\Ü¼Ø]YöÒÊÞºšýÌµb2&¢<DN=®Ž‚Ô¼¸ìÂ²áª¦|Ž""n†‚Î¶¢ÂvâÒ¶âÊšrN:Êœ’®rfæÎ¢ìÌ°Ý½¯öºÀã¿¨>vF:&ŽPBfæÎÒø¾ÀûÄ¿äž¤^N–ÞÆÞå»½ø´¸ñÌÅùÁ«hB<Î¢’’ac.z^ŠòÁ¿¤†¬Ü¼Â::ÎÂÒÞÎ²¶–ŽæÊºZ"6äÆ¾²ŽžB6F.JH2Žê²ÆöÊâÖ²Î^V²Ê’Êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	8@ ‚*\ÈP¡€#JœH À?3jHÀÀ	0n©@ hààÁA’0	 €€   "Ìt	 fF“ ¤”@4 LHð€|*¤€ ‚( @”@…H-X°È°gÏ‰@à†Þò$*!dx9ÐÁ<hˆñA„ *`ø "„ˆITxÀ Æ$J\x¶	'B H`À 	TS¨X±‚E	DÐ ÁÅ‹0XÄˆñ¯Œ3hÀè€64 °¡†Ýl>@p#ŒºcŒ@(ÆŒ$6þ7Á*y 
ÔÀá|Ä€Rx Ñ"Ç÷Ýv¡#ÆŒQð[, Áˆ°‚8ÌàPà6Ô°[Ñ	´	ßÑàAC€@Z´ÀØ@C6|` Œ&ìFÃ	ü 	#¬B¥‰Yà’xÅ…8Œ`à·Å Â1¬ØBÿdpÂ
»y ÁBL A„XA@Á@&	9è C0§Âw. \•,x Z4ÐpD
 ÀGci`@$µÀ ø`a <€ÂßqÀÙÅðÃ#°@C	2äXR <@”	œ
 L þÏ‰PÀm9¬°–Ùá°B	:ÌÐÂ	0A1Ä@`ª;¤Ê,XÐA…µ’pB3|PÓ -Ä@DF„I$ÁÃ"‘„Kè0UH,làÀ °0²`,@L4á„O@…S(AÅýP…W`Ð V“)D°€·-è\%`@¼Y¤lZl±°\tQE^|aˆp•Âª(Pžì]˜Ã!>0V”ag˜†i¤¡Æl°ÑÆn¼B ”ÊjO°\Vè¦,ÕqÈaÆsÌA‡QDÁ…þuØqfà‘GB2eŒ“)¤Õ€#œÐø P€zTÇgDQ7x¤Egô¸føá‡B8@Ô¨DALPâÛ˜AõxàH ‚ÐA‡ }Ü!Ev€Qñ2 t\@ˆ5“SƒAH!†lqH}ˆðˆ$‚R„óBì`ÒÆ|U€ÿh…"X,R#Œ¨Ñˆ#| ]3Há\(CC0Ø%` 
 Î’G`ÃÚ	IØa“H
4œaa€À€XD$ %*a‰K`"šÈ61˜mAþZØCøQ(À ™ˆ"8Ñ	O|¡Å(H)”B\¡ ˆ²@À„™È)P‘ŠO¨B¡X+Úpˆ=¤á“(ú ˆV”e)qÅ+® ‹X˜B³x-&aÂZÈáRD@DÁ‰Øâ·ÀE.tŠ]°âvàE/‡Zô¡}ð…Tò`˜‚£ÃWA6tPÁîËQ"ÄÂ1`LˆB»(Æ'ŒÑÁ(ìa
]è‚!lI&XàÈøD2:¡ŒNˆBËx"±†.0ƒÍØ3âŒg@#ÑÆ.¦¡	e(C°ØÄ&X±	0¬a8Äç@¨QkDCÓ˜Æ54¡N5"	ógô)&p™È†&®qidbÚØF1¸ÁŠn,”¡õF'2!lPô˜XÆ,V*%ˆ¤G8@‘Uh"¡˜(d‘‰U€â/…©@la,Ø…4 	ŠL\#¹ ‚PâŠqD€ä0E9Þ‰e˜#Öø„7Œ0Uœã¬ç@Ç-¸!k¤#êX‡\Ëª,¸ãð+8èºG¼ãëàkC(qV† ;  07070100021321000041ed0000000000000001000000033d1ffa6600000000000000200000000000000000000000000000001600000003reloc/kdestyle/apache 070701000286c0000041ed0000000000000001000000023d1ffa6600000000000000200000000000000000000000000000001d00000003reloc/kdestyle/apache/images  070701000286c1000081a40000000000000002000000013d1fe2e400000240000000200000000000000000000000000000002600000003reloc/kdestyle/apache/images/icon.gif GIF89a0 0 ¥  ðlpª,Þ4Æ#qÝ nß §ä Û¼4»œÀ± çS–'	A[ê% Éw 4ÀÀÀUZ^`ccsttIKI€€~ŒŒ‹Ú½¤‰jXVUS¨˜~ñÛ»ljg›š™º¹¸êÂ¥j<Ó}Hì§}ßCÕÊÊÊªªª   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ? ,    0 0  þÀŸpH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïd‰Úœ„ÀD/‘Êˆçã9 t&%#^''))‚u!_()‘‚†˜Z	 ¡	“ƒ%»$ˆR (	¯ž´¶Æ”–„‡RÂ¼Å£
²ËÆ	€ç ©LŠ "tçÙ·	
Éáþã€´È€áÎ&ˆà-›³?ån9X ‹_?ãF`ØøKÉ	M.,AšI‡ÚêÕ»UOR0a®KrÂ
rJÁ³^É’&OšÊ¶qã5M>²¢RÂ„œ<ðÔeb€€ &hÝÊS„‡	Þ@i‡BØ…nRø:¡­[§¢z i–vÁÊêÝ¢/EkL¸°áÃˆ+^Ì¸±ãÄA  ;07070100029e7f000041ed0000000000000001000000033d1ffa6600000000000000200000000000000000000000000000001500000003reloc/kdestyle/bind8  0707010002b487000041ed0000000000000001000000023d1ffa6600000000000000200000000000000000000000000000001c00000003reloc/kdestyle/bind8/images   0707010002b488000081a40000000000000002000000013d1fe2e4000008ca000000200000000000000000000000000000002500000003reloc/kdestyle/bind8/images/icon.gif  GIF89a0 0 ç  :R–®!ââ–ª¢“ÌCU¢ž^šÂÊzŠ"€->†¾ÊÂ~fµ­sºš¾…„Â2žÇ·RÒàî\d’©l¢"4}—†¸¸ÊtzžŽ†¶þöÆ¢š>~2rÊªÒ®vªæáÖÖÌ¥NVŽ¯‘êÖ¾çðúš2’ZfšV^†Š‚B(2l¯§OÅ¶sVZŽ«¸ÐÂÀÜ~.z¨–%–’ÊßØ :”¶²ºäÞµ ’
Öâþ›T“Ê²F¾†·ÕÆâØÂøðÃŸ‚îþö¶²šÖ¶Î¬®À¶§c¿Ÿ1ªªºøòè6@ƒìáò¸n°äã¼à¢ÔÄÀ|šNŽ‘3ˆ¾ŽµNU ÚÖ¦ Š(’b†Š{Ž^’¨d¦×Ê‹À®D´DªðéÖ6F‚ÌÂgœšÂÝ»ÛŠ†"¸š ‰µ BææÌÓÚêÎÀt¶•?gq¢üùê»ºi®A©òÊâ¸§DS]¤Î®Æëâ¹È¶`Æš¾ÊÖÎßÆÜãÐ™òæô~Ž®ªR¦ûéÝpx”…´Í”Ê¤¥ÚÊÂ¾ÆæÎ¹tÇoºàÒ£?íÖëª›2Ï†ÌæÊæÔÆn²¦*Æ®uÈ¼cæÙ¸ßª×ÛÏ¤Ž’|•>ŽîèÆš’*êîâžB˜Ö¦Õ®¼îÈÌèÅv¹¿¢G°‘)¹0Æ²Nöî¦û×÷¯¢5©4 äØªt}¶:A™îðú¼°c¢*š.NšÀ¸µ\¯êÞÌis²½ÂÙÙÎ‚ˆ’Ì^a¦×Âz²¢^19’¿¯LÆž¶¿¨GÊ¾™üüÛ¡ˆ©N¢AMœ~†¼ÜÏœíæ¼è®Ø‘“ÁþëþÎÆä¡¢ÆÚÎÞ¢–V°–+ªŸR›~	É¯a9JŸÊÓì²›3¬¬Ò¨’"ÑÆ{¹»Ûèß§Á–»ÞÚÊ¶e­|tRf²Zbº²®’ÒžÍÝ±ØªJª¢”9¨‰ÆÂž˜…'¸ªV·T«&>™·£5ëÞ¹îÆæ™‹.`i®º¶ŠãØžÆª6®I¡ýñÞþþêò¦âÏ»hëÚ¥Ö²^Ì¶j¨%å¼ÝVb§Á°XðèÌüãúôïÛØÈ@B†ÎÂ†öæ¶ÖÊšåÓåÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>\3/‰bÓ‰‘§lÑîe„XgÐ  ÑP%™6í¤G2¬ãoN¶={t$Át‡R®nd26§â’B…’¤J¥NM‰="	˜:Uh°¢•°£Ä\S (QJ•ªL“ó–x»ÇC“\jL™zAÀ?³#‘¬ñâ«Š¯¨ØšÌ˜A ATeíæõDÑ¶ƒ¬he*‡9u«fFK9/Ù°eMÁJmN -©{W3Æ'SæÃ†UÒ–¹J€JRÐ,ÞŒ÷æxñ‚¦T^Õ€ªÒ;±âŒÃ¢µ+ˆ# pœ”PãÀ`âŒhþK¢Î	×Õèðä‰Ð‚ZzõGgG·÷6zbÔ`ï„û”±Bi”rAHÐ²Ä
ÈË°ÄÃI)p\ÁÏ-”BÈ
„Ïi±H°ÀQÏŠ¥ÄË‚CÈoˆ5äÈK#W8Ã…"ŠD0K-™,#Ž8`8‚Ë2 ÊdÄ½ ƒN#­\ñ#¥ù‘Å€ÁšøàM#ÝXÃ ïÒH#ÎìÃ+À‘DlÆ2òpc75ŒôA‘ô¢:rE>W”G"õÌIä&f#Hü1’4×(h(ïÐÁË‰ºsˆ;µäA&b,óI30Ø C)þ±#;Ýôð†=ª„¢æ¡bxSê#À°Œ
blPL3J–È>}`„ÆˆãŒÍïä³7ß¬°B#}”ãCËh"B3¸„†`ôd/o¼H(tl`Œ*ìÈ†%âƒ8„à©$ºÀŽq¬A>ZZÃ;èpñEÿ €"ýà,™H‚H1ŽÈÓ7>óˆ4-ˆÐ³ø(<ŽÎ´BeLÔòÇb¤Æ&„4ÓŒ<¸øò#¡D‚2zä!ô|`Ð:ZŒñÆ8D1B>ñ ƒL"ð`ƒ>g¢É20H!E!û`Kx—˜c=gˆR,
¤@AhaÓJ ÍþÔ8Â€7`D Bçt“ˆ1Ÿ†#aCÍ#@ôg´A.È2ŠÜOb»ã,èhðp…@¬°	ÅxF9ÛC³‹(«˜óJºŒ"K8–(ÓB‰ZØ£0:ÐÈÀ¾ÿ°‚-ÿØSŠ D˜¡	«”ÓÊ-ë0#Ì/z<À;,´a@2ÉT .x @Í6=ð#m( 4BÇ>WH‰Lß˜Ó'`§	GpÃÂøP€_¸âú°†9Â€ œ"á€ ;Øq‹[ÜÊã…d@¥C”áU«Ç7Ø°‰e,ƒŽpD1|`%Ìàƒ0VÁ	äþgXß)Pè	dcÀ4ÐÑŠ|äã„ŠPÑŠd3¸àFl0„(ƒÌèB”6g OG( A&1	%(!
QD+œáŒ2üÈ`C&j‘½bà‚ga Œ€‘Ñ=Ú …-ñë¨|BH‡@ôã
°(C"@$qdÅ(†&¸!*€èdpÁ3øÀ(	ÂÈÃï’a L	è4FðŽP\aÈ2þ€Œq,†<fFDdH¥tÈ‡ìb«X…åØw°4â{³cÆyBdÌ‚(‡ Œ!ˆrPA[ÀXÀ
V\à]“FMz(`j,HÒ ƒå „;ªVL1áo@ú€ ‚‚7øÅ%À(¾.<àP ‡%ŒviHVáAâ¡ˆ±¥y†2üP€3´í¢pEDŒP
À`{çjÈ/ôñ€WÀÖH†,& ¼©‹G/ò„ì|˜Û?Z ‡K„è«`H@  ;  0707010002cae4000041ed0000000000000001000000033d1ffa6600000000000000200000000000000000000000000000001a00000003reloc/kdestyle/bsdexports 0707010002fc05000041ed0000000000000001000000023d1ffa6600000000000000200000000000000000000000000000002100000003reloc/kdestyle/bsdexports/images  0707010002fc06000081a40000000000000002000000013d1fe2e4000003df000000200000000000000000000000000000002a00000003reloc/kdestyle/bsdexports/images/icon.gif GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 070701000310d3000041ed0000000000000001000000033d1ffa6700000000000000200000000000000000000000000000001800000003reloc/kdestyle/cdbackup   07070100032787000041ed0000000000000001000000023d1ffa6700000000000000200000000000000000000000000000001f00000003reloc/kdestyle/cdbackup/images    07070100032788000081a40000000000000002000000013d1fe2e400000909000000200000000000000000000000000000002800000003reloc/kdestyle/cdbackup/images/icon.gif   GIF89a0 0 ç  fffš¾š¾ö¶®^fþÆ¾Ïö‚‚rrrºî²Ù¾oê‚~îÞ›ššþ¾¾ÂÈþ¾ººîºæÛNNNš²ŠÒÂšþ>æÖ„Ôþ¾þúúö†ŠºÚêjjjÂššö¾›žÎ¦=:.¿ºä‚âÒî¾âþ¾âê²êºŠþ’’ÊrvŠª’üÎÎ®chþÊ¿îêÎÒ¾–²ÖÖþ––®¾Úîþ¾æ¾~¢Â–¯¶–îæÂâÎ|¦Â–úžšþá¾¢¢¢¸ššò¾šþúåºv~ê†‚¹Îò"""Â¾Þ²jnÒÂŠøºÂ¾ª³®ÚÆp¢¶²þê¾þÎ¾ª¦š’vr


êÚšþúÞ¾¾¾®šŠ>>>þº¶þöª...Â––þ¾ºRRRÖ¤¢þÒ¾ëÞ£ÊÊÊºººzy}ÎÎÎîò¶îš–ÖÂêÖš¶ÂþÊÂ¶ÎÀ®®ªžßÍ‘Æ¨šªššôþ¾¶¾þF22âÂwÎÂ©ÖÆ‚ÂÂÂÊnv®²Ö‰„p÷êžþÆ¾þ®®ê¾ŽÞÊtê®¦ÆÆÅþö®½µ—ºâáÂþ¾ôæ˜òÎ¶šÂœ³²°þÖ¾Â¾ØæÂ‚¶úÂü¶¨ZZZäÒ”ÊÂº<6.ëÚ•¤ššþöºÞÂsêÞž®®®FFFæææÊ¾Á
üòª×Âzüþ¾š¨œâÆzºîÑš¹šÂ¢–668Êº¢ñâ–êÚ‹þî¾˜É–òæ©ÚÊ~þöÉžžžÔÂ’¼¨–îîîºÒîûº§øì¨ê¾Šš®šþþþv‚†º¶öîº²þÚ¾ºòÊÞÊŠþÂ¾þæ¾ØÂvÇ¾ÉÚÂoÞÆrº¾þú¾¦¶¶þüò³ùî¡êÂŠÎþ¾¶¶³âÎŠ¶öÉÉš™¶Æû^^^ò¾”¦ª¾ÉÁ°þöòºÞæ·þ¾êÖˆ¾œšJJJþò½âÊxæÒžzvæÂ~þú¾®›šªª©:::®ºš222îâ¤ÕÆ‘º®šš²š¾þ¾¾ºê¦¦¥îÂ’æÖŒáÈÞÊzººóâÎ†òÞ’ÖÂˆºêÖºÖëÆž–þ¶®ÞÆvººû¶²šêÂ‚¾¾þêêêÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*4X`¡Ã‡,G±¢EˆÞÙˆ©£8vì|øhÕjÒ›p3>l Å¥KâüVé?d%¢%	·%›–r*b*`¦@7xùüø6Ô7Z9“Èj„¥ÙŠAR¸SÀV;:@	clM¨:áÃÒËÅ½W@³þ£`§jEåùÉ7¶é7œ(¤by°çI¢KâªÔv§,¸0øº´ì·¿í>ÈZÛ6‘.'”È)~xçH‹fzi°¥KÑ-î«dƒV´h›	Iä‹œ7 8,@üÎ>,l)_nk\[@íƒÚÎ=¶yªa"C*áµþ©"Ý—Õ‘_¥ùE‰$øtÞn"¡kßÒU¥gr
ÈX0	:0±@M( @[.|wÂH=‡€—Ê4 Š*Œ€^˜r
ÒdC	Öa±ÇaàÀQŸ:ŒL0¢XxPUXbÎ¨2±é!â9‚°1R8£üñÀºlãb×„2H5ö‘Žu¡Ì;`Î—vÀ
'æLƒÈ%!90É[xa*OF9c,D<óÌ'XMS\` –HrJr’ U(“GXIÍÜƒÎ	&D#±ØùLià‰PUø‰Æ)îtƒÁFwXHK þH  ›XÃÌìBe¦iÄ¡.¸´’ç?]Øáç#Ëð"Ì€U\â@]ŒCÃ&³ÎZA* TSgÃÄ£ˆ ‚°	àç2m¬Â~0±JH B4c8ÀŽ?ÊeâÈ¬Î"Ê¾Æ#."(’°"èäg¼ÀóKYLT\€ —ä¡#>ØB†@UØò/ ·|"¹	‹P0š´Ü0A(ÃË*gœ±@'LL!hAŠ?aÄN&³’ÒŠˆÑ2$š¨¡Éjø§6—œsŽ+H A5w"Ž8@ƒ-Ù0IP¯±k³ƒÔ#¸BwÝw‹dþ3R]-Î8cH0ƒ‡çg$>¨MÛj«=;­2k&âd,EÐ@Š8l,ÀuÍô”N+ìäYŽO«­‰-Œ8­Œ1«#¶ "¶8 )yˆƒƒ,Ì/¿tRG©´zì,+,†¹xøð‰3·g¢,Lëˆ2ˆÀ SÅ3•Ló•ÓÊ(â¾ëˆ«>Mˆ²B¶³JQ&8°„¥ 	–"Œ±0a,â–úÌE®_õ#ÏˆE‘ŠZ``4‡#Ø@XbD ò!?\bXÿÐB+pQ\èƒSÏ ª±Ü nˆ‚¼}ˆÁþ/à„Ð lH$à(Nˆ-|"ÃH‰`jÔƒ„0AJq-laGcÇ%”`	NPAˆ¦ "º!By0±‰Ÿ°bÁA„â0|ñ…\x!ohöXBÆB ŽQ"žbDˆ@¡@Ê‘"P±ØÅ5’¡GTèÂ½hDP`ƒ`0!$8…)JCQ$ QTcõ`!8	‡mèâ{ÀB#J@Jã1ÁT0Å1XAcpâ•ƒ$€ØñêÈ€)á‹D<áX1mP<& ñÐ'ÀA,<³Ò| RGmÖ ¾ëÐÅöÀQ&ß˜ƒ)ý w¨R”'ì0Í‚ÌÓžàðd"@‰Y|  ­Ää%Bw$óœ`EÂÐPƒ à5ð*zàÍ=< IHB	aƒJÌD Ð6Ð©¢¤ ¶Ñ}‚R˜ÄˆÆLù1›
ƒ x¤2*— `	¯h)8e‘ `4 •€(¸¡HBñ¬ªU0Šfôøð'- :c
Ü@D$*O Xe1U*2ø
PC_;!_3’­¼á“p I| ’l©µ¯øÃße7ËÙÎzö³ m@  ;   07070100035560000041ed0000000000000001000000033d1ffa6700000000000000200000000000000000000000000000001400000003reloc/kdestyle/cpan   07070100036db1000041ed0000000000000001000000023d1ffa6700000000000000200000000000000000000000000000001b00000003reloc/kdestyle/cpan/images    07070100036db2000081a40000000000000002000000013d1fe2e4000002e1000000200000000000000000000000000000002400000003reloc/kdestyle/cpan/images/icon.gif   GIF89a0 0 „  ‘ŠˆbJGnjjÎËÊ1,-¹¬§•mftOJR3/¶…¢{t\VÃœ”0Ó« îíìàÜÛŸš™aZZƒz{@:9¿º¹Ø½¶ \>:þþüâÌÂ¦Š†ibC,*ÿÿÿ!ù
  ,    0 0  þà'Ždižhª®lë¾p,Ïtmß8pdH	 Â“92‰C&ãê\.@5f:‡C'ã˜°‹ƒq `0˜^pƒ5)JÆƒv‘RƒZ+T*o—„„Yc.K)¦
€§šc\.	c&Z—‚š®	E+ÂC&¹cc
¿¦ƒÌYq‰*ºJ%Â	¨
æoÒZœ¹	í+d¦×#pö	¨¦xúåpÚµ‹p g€Þ hçhÐ©A•2±#&gÏ

¨.=Ùp9Údª&¬þ0 p ¤[)"¼áÐ`Çx¶dˆ—‰P‡p¯ˆQ)€A~‚ö
–1»Ø¼’C…Ê„öµ€ñÆõ´ ð `A;.*«VðJ€ƒ4.$„£p€C¸0ØIm´;¾­!ícÚ-i­ŠP5$I4Œã“v $ÆFTÅ÷ØF‚Gj`&h¢*ƒf`Ö P53
Tú:¸€£¯Ø 
xÊá¡JTœÎ±À‹àäÈ5¯Å‚œ:ä0)Àu
Ð;@¾! /-Äã@Ú8ÝZ(`³`CŽ½+¸PÀ í÷½Á³XÀ`Ãƒ÷œÆ„s6YWÃiŸ´`pÀ4  s-\°À8¨K,*ø x¼g×U âˆ„(¢8!A ¤ÜÀÀ 	üuÆŒ4b`‡! åÕÀ&ÖHc‰Tð] Ø XBLö¨ä“PF)å”2„  ;   07070100038397000041ed0000000000000001000000033d1ffa6700000000000000200000000000000000000000000000001400000003reloc/kdestyle/cron   070701000399fe000041ed0000000000000001000000023d1ffa6700000000000000200000000000000000000000000000001b00000003reloc/kdestyle/cron/images    070701000399ff000081a40000000000000002000000013d1fe2e4000007e6000000200000000000000000000000000000002400000003reloc/kdestyle/cron/images/icon.gif   GIF89a0 0 ç  –Š6ÒÊbš–b>>>ÆºVZZY®ª^º²N‚vBžšvfff¢–B~vNžšznnnvvv®žBæâvŽŠf–’v¢ž††~Z†‚bªªžÞÞrª¢†ÖÎšÆ¦7zzzÆÆ¢~~~ÊºJž–zÂ¦6ÞÚjBBB¾®VJJJ222ŠŠ†ÊÂZ†‚j’’~²–.ªŽ*¶ªjššŽ’‚:’’†¢žŠ‚‚v¶®N¦¢šÒÂVÎ¾O²¦JÂ¶Z˜–ŠÒÎnª¢l¾ž4Â¦:ŽŽz††~ÚÎZâÞ’ŽŽ‚šŽ:‚zV¾²NÎºW¦¦žNNNº®f¢ž€òòrÒÂN¶–.Æª?žžžÊ²Fšš’¦Š*‚‚~Š‚J^^^º¢:ÞÚvRRR¦¢fº®bÒÎjÂ²j¶ªJ’’’ŽŽŽšš–ÖºHŠ~>àÊh²¦tž–~¾²VÚÖ’âÞb¢Ž=Â®LÞÎfÚÒ^Â¦J¨–<¦¢Š~JîârÖÂVrrr¾¦B––’ÖºZ"""Æ®?®–2²¢F¢–rjjjîænÊÆZÚÆbÊ¶GÖÖvÆ¶VÖÆRº®R††‚ÚÎrbbbÖÆVÖÊ^Š†f¢’>âÚf¾²^†z:Î¾^êÞfš†:Ê®CêêzÂ¾Z’†:VVVº¢F®–6¶š2¦šv²®šºªP¾®P†‚Z¶®jž’>¦šBª’.ÎÂYª¦jÊº`Ò¾OÚÊfæÚnêÞnº¦LÆ²R®¦vš–rÒÆ^ŠŠŠ¶¢Fžš’¾®^Æ¶^†zB²®¦Â²W’ŽŽš–”ÚÊ\²š9Â¢6¾²bàÒfº®rÎÂbæÚcºš2ª¦‚òêv²ª^†‚vžŽ:ÞÒb¢¢¢¦¦¦ÎÂRÚÎ^¦Ž*ÚÚ’&&&®š>¶¦Nª¢€òænÊºR‚‚‚†††ÚÊb¾®f¦ž‚Î¶JÂ²^ÒÂR†‚‚ÖÒž¾¶RÞÒrÊ¶Vªš@¶¦I®’.²¢J†‚f¢šz²žFÎºN–’†ÎÆ^Î®>Æ¾Z–†:º®nššš–––²š>¦Ž2¦ž†âÚt¶¦vÚÂZÒ¾ZÎº^ÖÆZÊÂ^Â¶^¶ªNÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#<¥I>lÉT­š#±c?\ÒÌ™“U‚P°f«þPëè.r¢`È±pîÜ„ÆØ9’$ŒåÂ~þØ2äN0`¢Ä³Â?!B
ù<ØÏ²ÇªDQ¦eQ¢\C¡ n ¦äæï]Ê®=àzÍšRy˜P0ý$EÚl$€»L™0`•Æëð i®3v°lú‹ËVeË
'ŽÇ9ž®Y˜Ä‰c†Ã“rjÑ¬1B<®aãÍŠ'&0_â"J…(,,SOyºD¬y›kûBÃJ$C9‚µ‘ô§'Kq|ääâÚ™ó%¤þ5’iÁ‚Š›tòd)ˆ¨xaãÇ‹³Ä“P#‡’ÊK*†©S¨REtƒ4ÄFœÉ#Æ†‘ÀveæXñŒUÖYiAdƒ!ç„áÇêâ‚4“¼—[bM‚yíÕWD»Â|	ÆQ‚ƒ„)ó€<±)ÕA/„fF+z ÷Ð.¥ O<òÈs-é@òA™µm ãE-HìÖÆ.»<¤È"8ÄÒä5è ÑHa¸Æ…²Ãs|˜ó\°$“ÒJÁâ;D„‘ˆ.°òŽ7QXc@R±ÍâÂ#ä CÞ*02 ìŒ°CÍ4³
¬ÀV€‘„2ð)VO}÷åwTRþKQð_TÁ"D¯„q.|x%|\x€-3|Ef@Û5×\èD†	9Ëd©CÎòÈ™"úÀ[Ë\ãWÖ Ê$&±€±Ž!R@±ÐÝ8á	žË‡`èR›U	\ƒ™aˆmöAû+?L¦*êHñ‰"9L[“OZv•Ëœ[‚ƒq '½œ¶ P@QH’K6	l¬Á¦›°ÝÅä~¹€ÑD°²Iõ ,e6K.ÀwHÞ,ªØÌƒá‡\s<7$H3€z&@,!‹aÆÙÒK!u`‡\Ë5qèÁ)¹ái,„¡C+æXÖþ•M†Á˜'äA@,k¢?hâÐ>»¸“k
¨ãO± È±5@“‡œpÍÀu€H;¼<ÄL!Ô¢À„Ÿ¨à!ˆ3ƒñ   œ@‚u0[‡˜€%p;¤ŽN|B6äÀÈÄ*ƒ!	¨]—5Ö|ðÁ,YØ±DN4,Á$	Óf‡Ë¹×U—õtbO4ïDÔn/ ²Ï±0yMåÇRÇÌ¢:`=Œ ñ“È06!7±HºÌg>º)áÕû@"Lp0¤!ÈðI9x!„dln•« ³®‰DdðG¸Eh 
µ0C§xœù:` Zƒ®~`:„4`ùÇéÐ@Â±ƒÔû ï0á0l`|¨á_àuOP X õ®pö)¡IØ@À€$
7‚,ÐA½êà
CŒZž1pDÀi×zñ3ÔC»C'<0„J ã dA8Pe°‡ŠÑ5¤€‘”dAÊágì¡íÃÁ>üQ”	¡‡&æhŒ°Ì¥.w™Ë€  ;  0707010003b210000041ed0000000000000001000000033d1ffa6700000000000000200000000000000000000000000000001600000003reloc/kdestyle/custom 0707010003f63c000041ed0000000000000001000000023d1ffa6700000000000000200000000000000000000000000000001d00000003reloc/kdestyle/custom/images  0707010003f63d000081a40000000000000002000000013d1fe2e400000169000000200000000000000000000000000000002600000003reloc/kdestyle/custom/images/icon.gif GIF89a0 0 „     ÿÿ ÿÿ*ÑÏÿÿUÿÿÿÿxÿÿÿÿÿÿ@ÌÊÈÆ3ÿÿŸÿÿªÿÿOÿÿÂÿÿÔÈÆ-ÿÿÿ   €€€¾» ÜÜÜÃÃÃXXXÖÖÖmmmNNN>>>333ÿÿÿ!ù
  ,    0 0  æà'Ždižhª®lë¾p,Ïtmßx®ï|ï>  ¶†Eã
 H*I€"`@H¿@!
0Üñ	@$Fƒ±P$Ø Àa`< †Á7"}~€‚„†OPtvxz| gikm	[dDQ|QŸ‡8   W~­¥§;©¶¸@H½·¹"ÁJÃ¿PdµÄÆ”ÇÏ»= ÓÅÖ<ØÚÝ¼Ùâä:ßáãÑÒàçíîëñé9ôèî•æùóüòÑðŒöÏžxýô)\È°¡Ã‡w„  ;   07070100040dd2000041ed0000000000000001000000033d1ffa6700000000000000200000000000000000000000000000001800000003reloc/kdestyle/dfsadmin   070701000425ac000041ed0000000000000001000000023d1ffa6700000000000000200000000000000000000000000000001f00000003reloc/kdestyle/dfsadmin/images    070701000425b2000081a40000000000000002000000013d1fe2e4000003df000000200000000000000000000000000000002800000003reloc/kdestyle/dfsadmin/images/icon.gif   GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100046be4000041ed0000000000000001000000033d1ffa6800000000000000200000000000000000000000000000001500000003reloc/kdestyle/dhcpd  070701000482ab000041ed0000000000000001000000023d1ffa6800000000000000200000000000000000000000000000001c00000003reloc/kdestyle/dhcpd/images   070701000482ac000081a40000000000000002000000013d1fe2e4000005d4000000200000000000000000000000000000002500000003reloc/kdestyle/dhcpd/images/icon.gif  GIF89a0 0 ç     Mo%JdB_2L ËßïóüÓåðd£½ àñû_ÀØÌâ+‘®­Ë@ÑÛ&•±—¿FÛæ•²6R¿ßî”¹ºÑ™»WuE`@Y)> 3žßïø§ÜìT½×¶ÁÚHßé¢Ãe‰ÿÿÿžÃ Ä¥ÉiïïïßßßãäãåååãããØØØÐÐÐÈÈÈÃÃÃ½½½³³³©©©¢¢¢   ___ìíì×××ÞÞÞáááäããcccýýýûûûùùù÷÷÷õõõóóóðððííîëëëèèèjjjçççÕÕÕÏÎÏËËËÇÇÇÄÄÄGƒˆKŽ”Q’–@v{9jn1^b*PSHLAE9=H‡‹ãïðÇàâ¬ÑÔÁÆt²¸Y£ª=“œ!„Ž^g×éëÁÜß§ÎÒŒ¿Äq±·V¡©;’› ƒ]fA{€°Ó×›ÇÌƒº¿j¬³Pž¥5˜€Š \d<pu‰¾Ã]¥¬E˜ ,Š“|†6dib¨¯M¤7™v€ ku0Z]&‡{… _g'NREˆHƒ‰@…7z,t{mtdm LSÓÓÓìëëÌÍÍhhhAAAEEELLLVVVbcclllddd^^^uuu˜——JJJ}}}‹‹‹›››³³´´´µªªª\]]ÑÑÑ‹Œ‹]]\···®®®(((‘‘‘‡‡‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹ ÀhQ#ÇŠ?Nù0€I\$é0@$X¹b 4p±¦ÆŸ=#0ð B	AÿýZeC
&P¨`!iH§Jk.¼pR †6pèàáˆW}jE»Vá…"F(1ÁÄ	)TL»Ô Ö„oW°˜Ðân
MÕ2M1ðÃ0üªUø×-\¼‘%¬¼¹mÃ1cäìVïhÏ"’î¼´µkÔ	W1ƒF3nàÈ¡c>~Ü !i A„!R„È!»{ÿöqÃqˆœ¬8rI’$J”þ,aÒD†“'P D±^<iÆ#â™ÈE
!7¦P©båÊúëe‡ÄXd¡EXlÁE^|FPèð_{š‡DbŒ±Âd”aÆh¤¡ÆNˆ]q $álŒÁFn¼GrÌA‡²wblJ<QGd´aÇxä¡Ç|ô£‰¢¨„~¸Q†wüq 2ˆ’9èPvKÐ@Èf¼Ç…rÈˆ$²¤ŽMÆÆÄŠÀqy bˆ‹0’H#oz©ŠMÜàÈ#<‰$“PRÉŸ–J!cÆ9q‰˜<^zRtÚ©9®FiFAP‘I9ôw¨¬²Ek³€±Õ É&œtâÉ' „âI'œl"ì&¢Œ²)¥LšUlNL1Å(¦œ‚J*:¨‚Ê)¦Œ¢í(Î®ÂJ²ÉŠâäÎC­A„DÑ
ª9ä@®+¯|ûÚk”Ù Ë¾üöë/¿QÔ›ì½?ÑJÙ±$¬ðÂ±Èâ°Ã	üÊÀÝ0ËÅg<Ës|qÀö®t	-$—lòÉ%ƒ¬ìB PQËË0Ç,3Ì¯ÌÁ8‹šÚÎ<O ;0707010004dd34000041ed0000000000000001000000033d1ffa6800000000000000200000000000000000000000000000001800000003reloc/kdestyle/dnsadmin   0707010004f45e000041ed0000000000000001000000023d1ffa6800000000000000200000000000000000000000000000001f00000003reloc/kdestyle/dnsadmin/images    0707010004f45f000081a40000000000000002000000013d1fe2e4000008c8000000200000000000000000000000000000002800000003reloc/kdestyle/dnsadmin/images/icon.gif   GIF89a0 0 ç  :R–®!ââ–“Ìª¢CU¢ž^šÂÊzŠ"€->†¾ÊÂ~fµ­sºš¾…„Â#6~Ç·RÒàî\d’©l¢—†~0v¸¸ÊtzžŽ†¶þöÆ¢š>ÊªÒ®vªæáÖÖÌ¥NVŽ"0v¯‘êÖ¾çðúš2’ZfšV^†Š‚B¯§OÅ¶sVZŽ«¸ÐÂÀÜ¨–%–’ÊßØ :”¶²ºäÞµ ’
*2fÖâþ›T“Ê²F¾†·ÕÆâØÂøðÃŸ‚îþö¶²šÖ¶Î¬®À¶§c¿Ÿ1ªªºøòè6@ƒìáò¸n°äã¼à¢ÔÄÀ|šNŽ‘3ˆ¾ŽµNU ÚÖ¦ Š(’b†Š{Ž^’¨d¦×Ê‹À®D´DªðéÖ6F‚ÌÂgœšÂÝ»ÛŠ†"¸š ‰µ BææÌÓÚêÎÀt¶•?gq¢üùê»ºi®A©òÊâ¸§DS]¤Î®Æëâ¹È¶`Æš¾ÊÖÎßÆÜãÐ™òæô~Ž®ªR¦ûéÝpx”…´Í”Ê¤¥ÚÊÂ¾ÆæÎ¹tÇoºàÒ£?íÖëª›2Ï†ÌæÊæÔÆn²¦*Æ®uÈ¼cæÙ¸ßª×ÛÏ¤Ž’|•>ŽîèÆš’*êîâžB˜Ö¦Õ®¼î2žÈÌèÅv¹¿¢G°‘)¹0Æ²Nöî¦û×÷¯¢5©4 äØªt}¶:A™îðú¼°c¢*š.NšÀ¸µ\¯êÞÌis²½ÂÙÙÎ‚ˆ’Ì^a¦×Âz²¢^¿¯LÆž¶¿¨GÊ¾™üüÛ¡ˆ©N¢AMœ~†¼ÜÏœíæ¼è®Ø‘“ÁþëþÎÆä¡¢ÆÚÎÞ¢–V°–+ªŸR›~	É¯a9JŸÊÓì²›3¬¬Ò¨’"ÑÆ{¹»Ûèß§Á–»ãÕÞ¶e­|t28ŒRf²Zbº²®’ÒžÍÝ±ØªJª¢”9¨‰ÆÂž˜…'¸ªV·T«&>™·£5ëÞ¹îÆæ™‹.`i®º¶ŠãØžÆª6®I¡ýñÞþþêò¦âÏ»hëÚ¥Ö²^Ì¶j¨%å¼ÝVb§Á°XðèÌüãúôïÛØÈ@B†ÎÂ†öæ¶.:žÖÊšÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>T3/Û‰bËi‘§lÐîe„HG  ÐP!‘&ÍÎ£G2¤MN6=zr Ádg®m*óŸ09•"„$U*uiJèYp(Q™rRÂn’WpXLšD¡ªU E£	š§¤Y=˜àJcÊ”‚D­=¢¦K/*½¨bc#FTõêyÄÅlØ
ª¢”©ä<{6ã¯Y9ÈÍ[„-d
pM*ñ§Ý@Î‹1:‘"l¨˜¶´S‰Ð«#ïÉÒ›T˜RK
•ßhe
ƒÖŽÐŽÀ=jR"ƒ¢Ïþü…W\7²§9Àšð³ðâ5nŽŽnÿîá¾·èÆ£¿ÀWÐìC†
 QŠ-©2‹z8à.~À'¥¼a?¶hÐÀ :Hø>”…"ÂòF=,–K,ßlCÌ B¸>IÌ ã.ŒXÑÌ‰$,´dF›|ÑÊ„(S8ò‚:Œ´b[”2ä7´¡Ì&Üh¢IÞØ8Ž3ð Œ0ÒÌ>[,¡'Df2ÄÄ(#7x3ÃHð 	/I  VäcÅÇÔs-kØY1ò€!€
#ípMƒ†òÎ»Xa,îâ-8D‰2Å(³þ4¸PŠ@ìHÄN7<¸a*¡°™è'ÞÐ#Ž ÌŸBi#·D1|`t‰ãŒóŒïä³7ßøQ
#|”ÓÃCÃŒ¹`T®#AÉ‹n ÊÛã;0 ‘„@ˆ³†±ò4ÒHÆ+ÆAµTAød!ß3Š ÓŒüs‰øsÇ:dÉ'.4"<·ôPð1>ø¼k-#ùäSåKÐâ‡â¤óÅ&e¸À3Üô`²#(ÿCB2yà!	ìA‚AEd!†3@J(V\x"ðÐâBô‰Ä¸E`˜ÜC-â]bŽ	ô˜!J5ýÂQ„þ=S§ùL+ÓÜÂ@Ê$’çÔ‚HŸ˜{‹ÀŽLáÈ9ƒlÐ“ËýŒÞ5Œ$nŒ³ƒ?s Sñ:Ï$…@g¨ÙòÐPNÛ2Œ£‹(«˜ó
¹Œ¢ •$Ã‚‰bØcÏ»èÌ ûA-ÿØSÏÎeˆùu9­°³Î2Áø’ÇÀ? ƒŒ%!är
ÓlÃ?ã¼
nZ1¥
‰xƒ,qq"h„7²ð \`ð…+è¡k˜#À)ÂK°ƒ¶°…® 1ƒP ­hE>È•RaP†«ÁbTàI –±‡`¬bþˆÌ`€Sä"0š@$!†$$áTj,Èà‡ :ê«*Cá‚[p4Â?’ÁŠepOˆ3Vd ‘Ž’ @ÀÀMÍ ƒ;„T"e"_Ä-4Á[LáG ÆZ@$¯xÂ´ÆÁ‰¥“×.ü1*2X±H› ÅÄDHnL!D—Cœ±‡e´àiGØÀd@	›A:ñŒ\Í
:€ ãÁ¢Ð¢q”â3¼ÀÄaªlA÷]èb« =ÜG4À
nxÆ¢È`ª)Æã²XÃ Êˆb"S€xþ± #¬ ¬‘¸À¸Œ< ›lP€àX>¨ )øD1Êáwœ³Q)HÁÜðA>X ¤ |q‰2’þ|=*„x ³ÈX˜ˆc|cõhˆ3’q	˜An®…+"R„R¤€lš [C|¡¼"‚Ö@5& ÄIŠ/â„$ìÁ òp	yõ«	 ;07070100050b27000041ed0000000000000001000000033d1ffa6800000000000000200000000000000000000000000000001700000003reloc/kdestyle/exports    070701000521f7000041ed0000000000000001000000023d1ffa6800000000000000200000000000000000000000000000001e00000003reloc/kdestyle/exports/images 070701000521f8000081a40000000000000002000000013d1fe2e4000003df000000200000000000000000000000000000002700000003reloc/kdestyle/exports/images/icon.gif    GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100056738000041ed0000000000000001000000033d1ffa6800000000000000200000000000000000000000000000001500000003reloc/kdestyle/fdisk  07070100057d94000041ed0000000000000001000000023d1ffa6800000000000000200000000000000000000000000000001c00000003reloc/kdestyle/fdisk/images   07070100057d95000081a40000000000000002000000013d1fe2e400000763000000200000000000000000000000000000002500000003reloc/kdestyle/fdisk/images/icon.gif  GIF89a0 0 ç  {Áa–Š.¾v*FFFF>Ô’Í}...JFÔ’ÙŠÆŒL–^&OFÉRB¾&&&æ¾’Rv*^ŠVþþþ~JbBžÇ}p²Nfj"V<r’’’ZJ®¢Î‚Z2
Jf?ÂÂÂv¸TÆ~2¦ÒŠú†ÎŒV‚ÆÆÆªžbB2&jN–òJº>¾r‚â¶BrFcÛuZ<PóÚ]š’>ò`¼^BRÂfÂzrJ~º^êÂr†ºvîÎ†zJRÚvbRRRrŽ2ò–zÊr¶²²²2¢¢¢ŠÜ‹‚‚‚Âžv^Önª¢N^ž>®r2bZÓNlD‚b>rZBòf®J&îÎ®R.¦¦¥UA²bFNB6jèp˜vvv~z*ò®vc¢>_VÔjjjbbbÚ~ªÔ•U‚Æj¢ŽNòÆv¦^búæt.z>^ÚÚÚjHÈâtÀ^>NžžžZF~jJjÚªt|ªH666’VâÂž:‡Ò}¢bòÖ[XBÒêr¢ZRÎR^:Ò¢jV2:òÖŠæv¾®š‚RNÙjªCRBF^V®öÊv’Z²®®®^Fbï~¯öâ~†²NŒ‹ŠbJ~öâlJJJ:::zâŠz’6ŠRzˆÀj6*Þ®~bV>¢‚zOBÒßNNNZBVjR~***"†^6žf&öàˆ
fVÂf:*òz¦òZ¾ZZZêv¾„Êp^^^ö~Æ—––òz½vÂvîÎjŠRºr&r¢:fä„æ¶†vVVOFÒõÚczrFznF~~~l@FBÕBBBnf^«j"RrFî¢Šnnnr²J6.&‚ºVR:nVVV¾¢†’æšòÖcY=gÎšb†B^RJÒ^Fªººº

öÞfNBÂŠâ’ðÒpºz2v²Nj¦>†††JBÒ^Bf¦šBjž:Þº–ˆÎ|zzzVJÌbVÄZBrfff>>>úæŠTH¾R>ÂWNÖo«Dòv¼–Þ’‰Öƒšššòj¾fF^bZ¾úæ~ÎŽFÚ¦nÖšZ>"òÚlRJÌd¦>…ÎsKAÌözÂöÞnÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\XÐ€‡JœøÏš‡2~@€¢ÇƒãÄÉ6?ª¬ˆ¦¤K’$S®œhÑœ¹<áÄiSæL…!å¼VÏ€‰e,dyŠÙñ'BOh2eÏ€Õ\w².³ÌœO§¡Bº`0`ÍzÇŸ({¾:=€Æœ€Yë dµŒ¬0Ê”˜Ü•b±xÓ¢/›0îÔ²…áH°¢†›Î„j®}ú´² ï2ÀÓ¦	ž…®ætÄ¢´n$£A¤Õe¾ÔÓæ	õêë‰b,
æ[¶l£m¼	séÆ·eþ¦9Ú>f¦^þ/¤kÎ„ ‚-ñ`aÌ|RÊž5|Y|Ñ¡#‘¥‡=Õ’P6¨¢ŠªDàÁIPÁCbÄrÂ8sÆN˜bÊQ€`Aœ™IªÔaÄ>.€SGÅHCAßð±€ÅØr†8Ê‚,—x‰EÒ¨âŽ(ºãŽ$b˜ñÆß0¡À(ì ƒì¸Â;‰ð^O@²dÓMð¢L5´DBËšô ÂE$Ó (O¨`‡–®ôÃÊž¼dàã@ÖD’'”ÙŽ&Õh2D	1Á(Í4qÂ	ñ‰aG–[n™GHžAyâ@§…fÐ£lº³Oßt Çþ|$ÊC•PAƒ©dÙ¤¢±ÉqPÎ!ÚlRjûh¢¬²û Â(±ˆ‘Â	üáŠ+_ôÊ2¯…ŠÊ!»´’‘çf¤.±æ4Q€
ŸP[@üdR7“üàEŸøÊÃ¯YÔÅ&áá	´Ò
‡H!º‡°á‰92/ófœ	i03É
…úû¯fHÐ«HqÅ0«+Ä;WxâË&„¨#N>d¬sÛÜ’F}ôËÃ¿ ,…ÃdÀEËBhpE¡àÉ£‡êôÒËÎ_?é”Òï&ÿò ,HÀE¡£–Zª[Œ³…Å:_1½¤3Å1t ¶þØ A¶«d¶Ú…ºÑˆ:tc15SÜýõÐ|ƒÊ…ße¯Bª4`¾v'J(‘O/·`õÅÔ0sŒÐ‡YÚQ6*„ÇŽ7mð£Î3Ü¢Ì0sÏ×ÈŒ¼¬Qà±k^ê(Ð¬1'/¼ÀŒêºDCÄ;•ª|ìà*räØOÞJ÷„»øC?R4EÄ—‹~òÞî¯ûªUŽüÈg~ý¨ÛÄûT’="œ¯ÿ+•¿6A€ü•OÜëŸæ&²¡à¤	ñ·Àýà Á’=FH¡r¤RA€fð#ÄkÝëFECn`AHö4 …ãYN|D¼ágRB×I@hð•û0˜Ã…xb`C4€pÜ‰M^9¢Ø°p<‹Y4Ž2Ž0Œ	HDÐÈÆ6ºñ ; 07070100059315000041ed0000000000000001000000033d1ffa6800000000000000200000000000000000000000000000001400000003reloc/kdestyle/file   0707010005ab0e000041ed0000000000000001000000023d1ffa6800000000000000200000000000000000000000000000001b00000003reloc/kdestyle/file/images    0707010005ab0f000081a40000000000000002000000013d1fe2e4000004eb000000200000000000000000000000000000002400000003reloc/kdestyle/file/images/icon.gif   GIF89a0 0 ç  RRRcccaaaNNN___^^^]^]]\[A@?$$%SSS```ÖÖÖçççäääääååååüõíxto   ]]]ýýýýýþúù÷ùóîÿÿõ|uoXXXÿÿÿþùòøìàÿôßundýõïõìßíàÎýèÊri[ååæûú÷ïáÎçÖ½ùà»reS]]^ééçúôïøìßãÍ«ñÓ§m`Kýõìÿÿôß½‹dT<EEE|wo-%MMMIIIDDDBCC<==666000YYYœœœ¤¤¤¡¡¡ ¡¡®©¥[ZXîîîÿþþÿþýƒ|wúúûþÿÿýÿÿûøõ÷ïåÿùéwqiþúöùòèòæ×ÿîÔtl`ãääûüüþýûùñèêÛÆùäÁqgWæèéüøöûòèêÜÄåÒ³ùÜ³qdQWWW[\[ïëçÿúïùëÜðáÉíØ¹çÎ§åÇ˜gYCVUSØÏÇåÚÍÛÌºÕÂ§Ô¼šË±Š¶™nQD/===*+*111ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±bC  ,j€1€ÆŠxü81äH’M¢”¨’ €˜ià ‚+ÿqTpRà8pð B	rî¤P° *X¸€!ƒ†¤+wn(H¡€ƒ
8tððV”;(È(°ëW!DŒ Qâ¬@Œx	âÝË–`Úµ#»š8ÑAŠ*VØÝ VíVŒ7~ì@ã¾X´pñbD
1dœåÛ—t^ƒZ*80ƒÆ*bÔ°a÷ãÒ‚7HÀ¢Ä
6rÔÞh¹§À’+W®´cNˆ-Ÿ7Œ.}!õê	¯c?¨}{ÁîÞÉ‚¯Ó9yîæ	êØqƒ‡û>~ i.²à‚ B†Ù_ÄÈ$ÍñT$J,ÁÃYtAn5áÄPD!Å‚demyUXqRôW}ÿt•…[paE^|±_m`Z_âñ5R€†VŒAFfŒFã]7"À’Kti¨±m¸ñv1iœ–LF¤CrÌAGvÜG%æ¤Ç|ôáÇ€ ˆ iæ4!Ë1wÞž|öéçŸ€*hŸ ; 0707010005f274000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001600000003reloc/kdestyle/format 07070100060726000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000001d00000003reloc/kdestyle/format/images  07070100060727000081a40000000000000002000000013d1fe2e400000763000000200000000000000000000000000000002600000003reloc/kdestyle/format/images/icon.gif GIF89a0 0 ç  {Áa–Š.¾v*FFFF>Ô’Í}...JFÔ’ÙŠÆŒL–^&OFÉRB¾&&&æ¾’Rv*^ŠVþþþ~JbBžÇ}p²Nfj"V<r’’’ZJ®¢Î‚Z2
Jf?ÂÂÂv¸TÆ~2¦ÒŠú†ÎŒV‚ÆÆÆªžbB2&jN–òJº>¾r‚â¶BrFcÛuZ<PóÚ]š’>ò`¼^BRÂfÂzrJ~º^êÂr†ºvîÎ†zJRÚvbRRRrŽ2ò–zÊr¶²²²2¢¢¢ŠÜ‹‚‚‚Âžv^Önª¢N^ž>®r2bZÓNlD‚b>rZBòf®J&îÎ®R.¦¦¥UA²bFNB6jèp˜vvv~z*ò®vc¢>_VÔjjjbbbÚ~ªÔ•U‚Æj¢ŽNòÆv¦^búæt.z>^ÚÚÚjHÈâtÀ^>NžžžZF~jJjÚªt|ªH666’VâÂž:‡Ò}¢bòÖ[XBÒêr¢ZRÎR^:Ò¢jV2:òÖŠæv¾®š‚RNÙjªCRBF^V®öÊv’Z²®®®^Fbï~¯öâ~†²NŒ‹ŠbJ~öâlJJJ:::zâŠz’6ŠRzˆÀj6*Þ®~bV>¢‚zOBÒßNNNZBVjR~***"†^6žf&öàˆ
fVÂf:*òz¦òZ¾ZZZêv¾„Êp^^^ö~Æ—––òz½vÂvîÎjŠRºr&r¢:fä„æ¶†vVVOFÒõÚczrFznF~~~l@FBÕBBBnf^«j"RrFî¢Šnnnr²J6.&‚ºVR:nVVV¾¢†’æšòÖcY=gÎšb†B^RJÒ^Fªººº

öÞfNBÂŠâ’ðÒpºz2v²Nj¦>†††JBÒ^Bf¦šBjž:Þº–ˆÎ|zzzVJÌbVÄZBrfff>>>úæŠTH¾R>ÂWNÖo«Dòv¼–Þ’‰Öƒšššòj¾fF^bZ¾úæ~ÎŽFÚ¦nÖšZ>"òÚlRJÌd¦>…ÎsKAÌözÂöÞnÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\XÐ€‡JœøÏš‡2~@€¢ÇƒãÄÉ6?ª¬ˆ¦¤K’$S®œhÑœ¹<áÄiSæL…!å¼VÏ€‰e,dyŠÙñ'BOh2eÏ€Õ\w².³ÌœO§¡Bº`0`ÍzÇŸ({¾:=€Æœ€Yë dµŒ¬0Ê”˜Ü•b±xÓ¢/›0îÔ²…áH°¢†›Î„j®}ú´² ï2ÀÓ¦	ž…®ætÄ¢´n$£A¤Õe¾ÔÓæ	õêë‰b,
æ[¶l£m¼	séÆ·eþ¦9Ú>f¦^þ/¤kÎ„ ‚-ñ`aÌ|RÊž5|Y|Ñ¡#‘¥‡=Õ’P6¨¢ŠªDàÁIPÁCbÄrÂ8sÆN˜bÊQ€`Aœ™IªÔaÄ>.€SGÅHCAßð±€ÅØr†8Ê‚,—x‰EÒ¨âŽ(ºãŽ$b˜ñÆß0¡À(ì ƒì¸Â;‰ð^O@²dÓMð¢L5´DBËšô ÂE$Ó (O¨`‡–®ôÃÊž¼dàã@ÖD’'”ÙŽ&Õh2D	1Á(Í4qÂ	ñ‰aG–[n™GHžAyâ@§…fÐ£lº³Oßt Çþ|$ÊC•PAƒ©dÙ¤¢±ÉqPÎ!ÚlRjûh¢¬²û Â(±ˆ‘Â	üáŠ+_ôÊ2¯…ŠÊ!»´’‘çf¤.±æ4Q€
ŸP[@üdR7“üàEŸøÊÃ¯YÔÅ&áá	´Ò
‡H!º‡°á‰92/ófœ	i03É
…úû¯fHÐ«HqÅ0«+Ä;WxâË&„¨#N>d¬sÛÜ’F}ôËÃ¿ ,…ÃdÀEËBhpE¡àÉ£‡êôÒËÎ_?é”Òï&ÿò ,HÀE¡£–Zª[Œ³…Å:_1½¤3Å1t ¶þØ A¶«d¶Ú…ºÑˆ:tc15SÜýõÐ|ƒÊ…ße¯Bª4`¾v'J(‘O/·`õÅÔ0sŒÐ‡YÚQ6*„ÇŽ7mð£Î3Ü¢Ì0sÏ×ÈŒ¼¬Qà±k^ê(Ð¬1'/¼ÀŒêºDCÄ;•ª|ìà*räØOÞJ÷„»øC?R4EÄ—‹~òÞî¯ûªUŽüÈg~ý¨ÛÄûT’="œ¯ÿ+•¿6A€ü•OÜëŸæ&²¡à¤	ñ·Àýà Á’=FH¡r¤RA€fð#ÄkÝëFECn`AHö4 …ãYN|D¼ágRB×I@hð•û0˜Ã…xb`C4€pÜ‰M^9¢Ø°p<‹Y4Ž2Ž0Œ	HDÐÈÆ6ºñ ; 07070100061f17000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001b00000003reloc/kdestyle/hpuxexports    07070100063558000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000002200000003reloc/kdestyle/hpuxexports/images 07070100063559000081a40000000000000002000000013d1fe2e4000003df000000200000000000000000000000000000002b00000003reloc/kdestyle/hpuxexports/images/icon.gif    GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100064d34000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001500000003reloc/kdestyle/inetd  07070100067ac2000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000001c00000003reloc/kdestyle/inetd/images   07070100067ac3000081a40000000000000002000000013d1fe2e40000053d000000200000000000000000000000000000002500000003reloc/kdestyle/inetd/images/icon.gif  GIF89a0 0 ç     ÿÿÿéÛÎþüûâÒÆøðìÝÍÀ¦œ¨þþýñéÝÕÄ¹“§áÒÅ™¦po¥ùôïÚÉ½ˆ¦hi¦úöñÕÅº‡¥ôêàÊº³|y¥þþûëÞÑ»­­~{¥öïèáÑÅ¯£ªts¥üúõÝÍ¿”Œ¦kk¦õíâÒÁ¸Š…¥ce¦÷ðêÏ¿¶‚~¥íáÕÀ±¯wu¥æ×Ê¶©«zw¥ðæÙ©©on¥øóêÖÅºŽˆ¦df¦îâÖÉ¸²‚}¥]`¥þüýÉ·²ôêâåÖÊ¹«¬qp¥ùôíõíäßÐÃ­¡©sr¥ÑÀ· ”§õêääÕÈÅ³°óêàˆƒ¥bc¦æ×Ì¿°¯X\¥õëæ‡¦ut¥¯£©£˜¨|¥ïãØ×Ç»¥›¨mm¥Ç·²…¥SW¥ëáÑÆ¶±]_¥ßÎÂµ§«òéßãÕÈ¶¨¬äÕÊÓÃ¹¦›¨çÙÌÏ¿µgh¦×È»¾®­†¦¼­­xv¥WZ¥¬Ÿ©kl¦OT¥ÛÊ¾_a¦Ã³°`b¦³§«²¤ª¢—§IM¤ãÒÅÒÁ·£˜§¼­®VY¥ûø÷ÚÊ½NR¤ðåÙåÖÉ¾­®X[¥AF¡“Œ¦Ç¸²š’¦¨ž¨LP¤–¦Í¼µ°£ª~¥UX¥«©Ž‡¦DI¢BG¢GK£{y¥9>žÍ»´¥™¨HL£lm¦<?ŸJM¤;?Ÿ=@ 15˜04—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jT cG‚?n, €I –0€@Ê‘ 0pàå? (X`æÍ 8°	à„zŽ,9B¢,\À ti8íàáˆª„1‚Ñ&N  ›±d
+ˆN`ÑÂÛ¶^ÀˆAT„4îbPÃÆDsèØÁC0G‘ôHàƒªÊ@‚qœpå¶ ˆ1r„¨ $I’N\©d	° š¨pò„(”(1¤pŽ<E „Tª¢¡E¢,X1K€(W° 6 ‹–-\ˆzè2¢vE ^žþ|&1DÇ92Þ¢ÇÈeÌœ	¬M5Ó}
°†Í‚6D¹ñèé·ßqÈ1QiÐQ‡»­¦ÁF¨¶Ÿ,€G„«‘ÇzÅÆ,hàMwð!D{û]Ð~pØdûýH Þíg‚ T"#B RF!=9·Á	î×B .ò#u‡ bB"<©Èu8©(²È“$¥ÁŒd·8Ò˜Jo<Â$`’dD$X<¡åM’LBI%DYrI˜ÄIdBT<¡	Q}lb'‚’ q‹7©1ž€''àð	Q”€bG(‘. 	¢Œ©J•RŠ)©>öžJ!¨ë®¼öêë¯À+ì°' ;   0707010006a8c7000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001400000003reloc/kdestyle/init   0707010006d60c000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000001b00000003reloc/kdestyle/init/images    0707010006d60d000081a40000000000000002000000013d1fe2e4000005d4000000200000000000000000000000000000002400000003reloc/kdestyle/init/images/icon.gif   GIF89a0 0 Æ  :ú2ŽŽŽvvvþþþ’JJN~Âö®®®ÚÚÚFvJzŽò¾¾¾RŠ–––ÒÒÒ^ž>>>šššnnnÂÂÂžžžæææ
rÂ~~~VŽÎÎÊ""&ªªª
j²²²²226
fªZZ^Z–âââ¢¢¢ÆÆÆ¶¶¶
^žîîîÊÊÊZ’ŠŠŽNŠ’’’ÞÞÞZš
b¢¦¦¦ÖÖÖN‚ºººR’666
^¢V’RRV‚‚†ZžVšêêê^¢J‚b¦::>Z–
zÎV–BBF
ZšFzRŽNNN
f®N†J~^ž
V–
ZžR–
b¦’’–ÖÖÚ
j¶ââæJ†ÂÂÆÎÎÎªª®¢¢¦NŽ
f²«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹Œˆ \‘’“””I•˜˜… žŸ ¡¢£ \„œ,A226°°-)´µ¶·¸· ¨,'2¯²-³¹È´»ÍÎ8Í½¿ÁÃ^^ÆÇËÛÜË)µÌ88**"Òƒ©´]ÊÉñß»¶*		§êA'
H° A‚T€ ‘N§ NXAq…„‹3j¬(!cÇˆ Q£áŸ‡Ò‘âÅ—0cv|IƒcH…}ñcâŽ•Bveù£hQ™?$ì¸(dG‘õýŠ0¨Ð¥D©1ˆ×¢@ŠÎø1”ìS	rN=!ÑˆÅþ?ˆ®÷GX£_»vý1CÈ]	PóísX€êS˜@¢ä‡KŠBŒnë	’€LU-?¶2&JBE«„¤T0RäË5ìX UT‰]…Ç¨ètš‰-•®Ü±ú4•±{/2‘ƒ	“0LxX˜O÷É¼ðh€ ÁJ+DžXTë3¦]‘cŒ*[¶À¸Q -ÃÁ×…)8À½@÷O4 ÆDréÙuQ±ƒL•uœ°²ßvÝ	A† Æp9Ö4<ÐÀC00Ä´X@0šT¡á†Ü5E,Yµ^Sä¸,Ñb„( þP’uI`¡v&4 AýýwÕp+MY%•FY@’(HÅ­}áØ<Òeq; ÁBÙ€—(`&…N*p!zT •Ps5ÚH4°\CDa§—D*&a~îÇ„b’Gœ;P±ÂbŠÂÀ(Käè"P c~ÚpÀS §P£…¥3DÙR‰€TªªøqÒê«9˜`‚+P§›)1ƒ¯À6°„Ý¹Á¶«*`ƒ«08Çƒb§­T¨VˆÎ™ãQDqäÚrËç±<S(¡„	è;Ã¾&ðÐœ¨¼:Ú%¼Æ p·ßpöFÇƒ	‰þq¥ìeÍ= Å‰ŽéqÂËjÃ¤”l²'¤Ü­·£Í.ã˜#ZöÕ &ªl«pÊÄÐóªß¶lÚ<cÎ9øÔœ$Î:ïÜ³Êó}M6à0CN93ãCŒyFšªÎ„r“^Ç²5Ø¤ÐÂ2ÍsNÖiqÝuÓ@ <3ìÊÐÇ|3N92×ls×ÃBàôÓdSè Œ7îøãG.ùãÖÀåpùæœs®yç cîˆ ‘| C%TàC ¨€…€áCMŒàDå£€¦úê5¨`Ã	€0@=è`î¹obÁEL }ôETo}õÒoÀ|î’„î½ç5’4ÝÉä{²}" 8£þúì·¯>~ ÀÁü>Ìo¿ýõßŸÿý÷ŸÿÈ÷ ôžøHÀ°  ;0707010006ee3b000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001b00000003reloc/kdestyle/initnetwork    070701000703bf000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000002200000003reloc/kdestyle/initnetwork/images 070701000703c0000081a40000000000000002000000013d1fe2e4000001d8000000200000000000000000000000000000002b00000003reloc/kdestyle/initnetwork/images/icon.gif    GIF89a0 0 „     ÜÜÜÚÚÚYaE˜Ÿ,Š“oyFMÃÃÃÛëíemq{MT½½½ÏÏÏ€€€mvGN   pzmw¿¿¿ëêëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þà'Ždižhª®lë¾pÌt]Ë¸ŒA »œl7 DPÛF…’#ŒÆ’Úàð–‹²™iä/à ~ÇgœžŠHD)‘ÔtiNPJ7€u%VcŠ‹#^ab%“”:g&š”;¢=Jq¦v›s}¬~fŸ‹gˆ#°©*µ¶(¸¹ž¼™¾¿´Ád¦ÆÇ€ÈrÄ.€²Ï¯Ì-»,Ô/Ö·ÒÕÚ'Øœ²"ÞºÚK=?AÔÐáäwFHS‰Áå>@ë]OQðéíGIèìð`Ñb¯>BR vùriŸ¼~¦€†¦à	K%Ñ£%8ËLP\b­‘>®VàÐ™çñMTó:T±–É= úü!ÖèQ$`"1dÃâE†—$­ìçSé
p@!ÅD¢äQH<jUž«Z¥,«Öc0/>ë¶•×Mê„Éå ;07070100071c2e000041ed0000000000000001000000033d1ffa6900000000000000200000000000000000000000000000001700000003reloc/kdestyle/inittab    07070100073404000041ed0000000000000001000000023d1ffa6900000000000000200000000000000000000000000000001e00000003reloc/kdestyle/inittab/images 07070100073405000081a40000000000000002000000013d1fe2e5000007a3000000200000000000000000000000000000002700000003reloc/kdestyle/inittab/images/icon.gif    GIF89a0 0 ç  
B]
zš²ÊÚŠªÆjŒ¨šÀ.AV¢¾#ÆÝjŠdžº>žÂ/Zz–¶ÒOz™š¶ÌPu’^âîö/½†§&®Ñ:V¾Öæ,RpfºÕŽÆÚFk‰Jb>b:†¦&½RÒâ¦ÆØÈØäH¼ÔbÂÖBz–¢Æ#Jh&†ªZÊÞ
Ž²Bj†>ÆÞÉæòR†¢Rr*·ÎR¾ÖtÀØ/°Í
6J¢Øçš¹>®Ê:f‚¶äð6v–ÒäFd+ÉÙ¢À¯ÍŽªzÏâzšÒòúZ¦ÂäõüJh%¢½žØèªÍfš¶¶ÎÞ†ªÂB_¬âîºÕ‚ºÒÓæòr•†¢*ÎáZ­É«¾Î”²/¥Ã&7ZxÅÚÎÞê¢½!®É¢Þê/ÁÖ
>]
*>.FìòöR–¶›ºNž¾†¦BŽ®ÒêòU³Ì.”¸fˆ@¶Ð"¦ÃžÎâ&¾Ó¾Òâ¶ÖÂéór°Ê†Ðâ3ZvBañúþ}˜ÖænÒæŽÚçv–®’±Ž¯žÄ~£Nr®ÒâVs7¢¿
":>]V~žrŽ¦1Îßuš³$RršÂÖJÂÙ[²Ì¶Î¦È'®Ç&ÎÞtÈÜ¾Ùp¸ÒG¬ÉÚâênÊÞV¾ÖªÆèíô:²Î‚¦ŠÎá>¦Ã ’´:ªÆºêò6ÖâVv‘ªÇ4ÈÚ:¾ÖÉëõ‚ÊÝjŠž»vÖæÂÒâ“ª¾Jm^ÎàJÆÞÞæò©ÖåÖìòJ²Î¢ÄžÁn’®$ÊÞb‡8–¸#ªÇ‚¤^†¢¼âîVwŽÖæŠ©\¶ÏÛõú0Š®–¼VzÐîõš¾t’«Š¬bÊÞ>‚ž&Nj¦Åæúþ2ªÊ!²Ì
2FN¦Â2ÒãNoJÎâ¦Æ
6P²ÑFfv—Fh'¦ÄÍà/¹ÒC¥Â6²ÎªÞí%¶ÎN®Ê^¼ÔŠ®.Vr&²ÈÇÒÞ?f‚ªÂÕêöþ–¹“®Âîîö¨Úê6žÂn:¦ÂÂÚ–µ¼æñ   !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\ˆ0ƒC†#tøP¢Å…ÁU¼Èqb(P1êHR #(*~üYò€— "fø¡bC5|ø´„“aò<x ±AœÎ’<}&ÙÑ¨Ø*’%™Ta†$¢ P@B$©;aZU±#š½,~I¨&n$R±Udg§	A(‘sK®Áïä9ªE«D‰xe(öåÁÕ$8Ê/×.$P;V†ñ[ÇU18^'
0IjÂÌÐ™×°cË–M°ê@qVM¦
Í.cæ¦ æz¶ñÙµýþc´t-ÓôÐ¼Â÷eÓ¶|ýF	ØÎ½»w-^þ'ýïÇ;Ý”{#y†OÏ‰7§lÉaJD>EœØ½¡ÄŸ?–7èTÞãõÅ.Dó\'÷ ñ*Lc‚	:ØPŽ}è(ÃÁæÐ¡Ë‡ºàCÇ5‘†x%•Ä2O<÷ÜCcr‚	3ØpÉ0åpÁ‰2,Ç3×ÐÓÇ‘ô,óyœH`Š0e°‡f• F(¡À`2³àrŽb3G¼|BŠÏ,ƒ=H ±Ì+À5‰¢@<m AÐÉ.»À ÎÓL²Ž–X’‚/ßÌ!Ê'D Ï¼b„¯øƒƒy à$AZhñRS 0ðÐ“|ÉD!)Ú‹5þ6ðâ	K¨ƒ
¨ ÂCÈÀ‚ÅÌÌùO§/IC‚€Üâe6–Rˆ4c@!ÃØ`£gâ€>ÈRC;Ûì“À1=´E;·Œ0‚7/±)Lk­µô2‡r´“	)>LÊ`Á 3+«î1^Ä2DÙÌ L	ðùRÛÌÇÍ@£FJèÀÉ~Ê(C	€ûÀ11ÂòÔÅ‰Œ“áð“ÀÅR„c¨´Õ‚\õˆ ‚"Š S
Òˆ`ŠÅxA$¢€4Í„£	0˜d¼1†úM!¾ø"K²ˆvlËâK/õÂFÌb]°H ‰ Íþ7Ù q0Àhò ú%¬‘M6ð\æ0ÃˆÁÊ7Lô²…4tƒf·62Ä‘L3 Á7ÀðÓ3Ø–0ÁŠ5å”£Äë¯¡Fj@CˆdÞÓ?4PF"~l‘M¨BºX"¶/j’L2VXÁ1ÄL?Š!~T¡ºÔû^è³Eu¼0zRXn!ÒŒSÅÌ12Ô¿^tÃ=º.)ÇûÝÀÄ%Î!: Ô!„¨B"qƒ,bf0Ã&x€FðÝ+È÷"–ŒÌ öÊNœáp8‚fè‚
»`A3`¶ñÞðf³a¬ãKC(Â:Ó˜Ýi°„œ‹LAŸ"(`‡žéyÒ€.ÐÐÓ«BœÁ’ÏøÐ ß“A0ô¡8xAUTâ±è»ÎÅÂ‹¶ÈIò½n8ãÝ ‡­‘Þ™! Ýˆc;C…\ààÐÈbøÒ‹ü±àèLiH@jƒ‡ŒäÈS±‘H6²’–”È/ÉN2$  ; 07070100074a7c000041ed0000000000000001000000033d1ffa6a00000000000000200000000000000000000000000000001800000003reloc/kdestyle/ipchains   07070100075ffb000041ed0000000000000001000000023d1ffa6a00000000000000200000000000000000000000000000001f00000003reloc/kdestyle/ipchains/images    07070100075ffc000081a40000000000000002000000013d1fe2e5000009b5000000200000000000000000000000000000002800000003reloc/kdestyle/ipchains/images/icon.gif   GIF89a0 0 ç  ê²*Þ~fâZ
ò²JÎ>:Â¶nŠ€€öÎjŠVžæ6ÒÎÎÞ–¶Î*öîzúò~æšæVÆêÆ’††^VVÞÚÚúò‚Ö:Öâö~Æ–Z¢––öÆNÀººæææâŠêBöúö²ÆRRª¢¢ºrnî.öÞJî*òb
ÆZZÂ~ZòÊúò–ÉÂÂçöæò‚÷÷÷æòòòê:öÖnöê6îvžff^îîîâJ
æªÞf*æ
ÖÖÖâââ®ªª¾JNº²²öærÖ..Îöê>Â^Zò¾ŽjbêŽò¦2ÎÂÂöÂ¾bböjæ>æ.þ.úúÞö²2ÎÆÆöÎBîrö òJö¶êêêêRþ–ÊººòzÞÎÎþÆjNNæÖÖÚ&"rêFöÚbî¦ÒÆÆ¶~~úRê–ŠŠÂ²²öv
òºJÚN"ªžžÒ62ÖÒÒÞÞÞöê"Ú¢öêææöîjöêNêââ²‚~ÊJJöÖBþòZâ&ÒÊÊöÊ6¶ªªòžêö*
þ‚¾jfúFÚÖÖÖÎÎöÖVâöÂ6âÚÚî¶ú:úNöªöÁbúö¶îêêšŽŽ¹®®ÞÖÖÆººîææöæRîâ6öFÖ*&–òŠ
³¦¦úò2¦æÞÞîª¾öµò¢ò–úöÅ½¶¶JÖâ’ÊBB÷áfö†æ¦ÖÊÊÚÎÎöº2r
ö¶ÎÊÊÎæââÊÆÆòR
¦ššöòòòîîïÚÒÒöÝVÂ¾¾ÆNJún¾®®ÆVVî†òŽî®®¦¦öbÊ¾¾úîZ¾²²êÞ

ÎVVÂ¶¶îvÆ¾¾æÚÚòêêöbâÖÖònö~’’zÂjjöÎNöîrŽîÎ¾¾ÖÆÆúv
Æ¶¶êZâÞÞê2®¢¢ßÒÒúòŽ   !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹ÿ ØÈ±£Ç Cz,¨€ž¦Üýá·ñ¿oèm„Ó&Íõd=Ûùlc=îDðSÃ±àF~ÏD<c!i#ILìØÚèiÝ4«ý6»")©»˜ryj£ FEª]+RÃY£$ A2d Ox5i‚T@=;€¯ð_9ÃØš†wJÖŸ Ü¢%àŠ¡hÑ A9Z©RªØ€*t?0`*_ùvN	| ðá;—*?’Ú+¥™ÇfÍÐÒ•ò¤	€&czõ 	µo6R cÇù)Ü‚1V
ófžþyBµ€­xQ¡Ê`š\Àì  ¬	ðõŽFË+ý€!U¶ #àT‰Ø¢'w$€zú˜ÄÆÙŸ§ôÙd±’,€‚†åF?Mm×ý$R
 Ì$’ˆ!‰S,¯ÄÑB C@C‚ Š(Âx†çXO"fH¢_È¡’H:< 0Ägé¡ˆPâÁÐœ¡(´pc	<2 §ÜÙ[”ÉRV1ë¬“È™qe:é\²D•¯(Z¾±B6Š0ó€!g `C7DfG™$ß˜£*é`À‹‰üxÉ"| HŠØIBXÃJwœQÂf¨HR’¢†#Ÿ-þ†”bÈœÜ¡H1ôEyäÈ"2Ü±>X“Ç%-h¢ÏŠÅìQšŠ$À´³°ÑoŒÃÊú‚‚ B¼‘¶!) {\Ñ!CŒZ‚-¤ÐB{—d¡-+€ÀbÙ#…Y´ Ãg†0‰,gbx.>WcK"ŠðXŠ"-\"E0xyÃû|ðJ-+°rÀ¬ ,@	Ìœq†2š0‘°QjüeÇ-tyG	§Ì<2 +=°GÁý
+¬\Ò†glPBÍ°t–ÂÿÄVN*ÓT,²YÏ"Å,È³ìCÏ "´N¬pGCØªH6°€e{HŽþ'—\ÂJYüD
)¼ÒÀ+OÄA0HKøHm´A±—wôòÕ…iq„‚¸oàÒHAIü7œ}Á¿¬4°À;³´Âí·sdnÕ™Ââ—xÍ/2e8BÏ+œ°rÃ2;ÐÒJ+H!ÍGHQH3ÄÛ%DB{î4vqo
Ù,"ÇÜÀ	'œ°Ì8û<ŸÇ=Zœ@Æ0 0Å5ß‘DY»@& TA¤àk³€E<pƒGˆÃh Â8¸ Zp-¼‰¸À2 Óªq!ªµg*¥`ÍZp€4àp\xÄ>îÁŽ|ôÀb@ÃÆP-`BþFpÁ	‚±Cõ¢wËÓ p†^´`ÖˆC¯"À‰VŒ9h‡¶à m˜Cûp´p|Àà€ø€ 6Ð‹n˜Å„ùÀ;æähÈ!;LmˆA09BƒX#€°ƒéÎ{UóD¬˜a‹¯9á	vt…#¶‘QÜb»h‡6t¡‹*üí˜üÐJ«Ìð] 7+CB
yh@v@	olcu¸….*°*lÃ
£0 î±†XäÀx€//1„<àe”	3`ËYÐc¯Ø4È ‹I$ãÇ å.0ŠQŒ  ˆA;¼A†PTi-þ(ÔJh”j(Ã%Ø@À
Q"ÉÀB'F°‰Ð ñð`…ròxðÆ0ç?º%ñ\½ø§!ôáµy8a´XÃ1°‰M4AŒˆi|0‚ILB×&®Ñ…Ì"ÌH	9G´¡v³˜(Ì‰,PãÂx*#š@xˆ‚4¸&B‡.TÎ#„D¡JQ‚L´!>­7tQ‡\0B˜@~€ˆ¨~âpF%öÚ†fÁ?ÊP63ô f  #=ªRà
B@`·€Â!âJCÈãàÀAnáo¸—¸C“J—ðI @8
Ö†<,6Üø˜„	>A×¸N`þ˜ p€ƒ[8bdp9î èã6à'eÀÀž@ Š@à€®–½mnË[Ñ„‡h€„ (F9E9  ˆSl KXl%€a]ÞBa¤È//¸ËÛ
¨ÃR¸C3D£@Xè	‰ ø¯ðƒà…„½@áÌòv {MAH0Âá{8  ;   07070100077750000041ed0000000000000001000000033d1ffa6a00000000000000200000000000000000000000000000001400000003reloc/kdestyle/lilo   07070100078eb3000041ed0000000000000001000000023d1ffa6a00000000000000200000000000000000000000000000001b00000003reloc/kdestyle/lilo/images    07070100078eb4000081a40000000000000002000000013d1fe2e500000706000000200000000000000000000000000000002400000003reloc/kdestyle/lilo/images/icon.gif   GIF89a0 0 ç  nbBÊ–Â¦"bJ
ÂžFöÆ2V:
öÊFöÖf:.‚f‚‚‚òæ¶&ÒªöÒ\zz|êêêbJ"ªŠÞ¶öÒböîÖ²žròòòªvöÆ,¶ª~ŽvVJJJ^>¦’jÖÖÖâÂöööÂÂÂÚ¶"²¢†J2ZZZ666¶®’†rN


–jþúòîÎfJrrrFFFrV&¾¶¢ÎÎÎ>*
¦‚FêºrNê¶Ú¦NB¶Ž²zÎ¢þþþbbbâââîºzVNNO222òÎâºF>&†††ª‚Æ¾¦&&&–ŽvjjjâªšššvR²~
æºfVŠŠŠ¢ræÞÆòºRRR***¾Š
â¶rfNÒ®ò¾¾Ž&>>>îº‚Z®®®º²¦ÚÚÚÊÊÊîîîî¾$êÆ¾¾¾ÆŽ
’b
¶†ŽŽŒÒ–
ê²¢¢¢ÊªFÖ®ÒžºººB:.ÒžÞÞÚöÆ7""#..,ÊÆºöÖ"BB>æ¶fffVVWò¾>2Š~jÂ®~²’jrZ"æææ^F²²²:::ö¾Ú¢VBöÒVöÊAÊšÒÒÒÂ’ö¾òÂ*^^^æ®
º‚
F2ÞªÆÆÆê¶Ö¢‚~zî¾’’Šæ¶&>::òÖ."~R
î²Ê’
¦v


nnnî¾.zZ"

æ²^B
òÂÒšöÊ:¶¶¶¾†
úúúæ®öÎNvvvŽföÂÎ–

.**Öžb^^ÂŽÊš’’’R>òÒ®†ê®Þ¦RNNVRR**.njjZVR2..jffîº226..2ö¾òÂ.ÖšÞ¦Î–
úÒ^:66šj
Æ’î¶bB
"æ®vrr¶~
ŽŠŠÂŠ
ÎšöÂ&’fbbfê²ÞÞÞBBBÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡˜Xp"€ˆZ¬H1cÄAT2EÕ»/Û¾ñ(RcGƒ_Á‰—DI”?„4dlùç@¼àùÎŸ‰+?¾tyñ`7 QÂ½ àì…†#M!ZéS ’#¼°…SNÖ‡[;vý7¨ßŠ] Ž‚æM€¤Î]
N”PB-3›÷¡’IÖ¨
E"	Ž$KúL{ö©/'~`õâÄ”ÈyR~éªž¤{XÆÈÒbmBÑj_ZÒÅ§×›W†d  Zbä¥/W¬£²jIµ%c‚ð>¢Jëï³/³QŠfÉOA
øyW£_6´Ï›þŠô—h0ÃÊ@bÃ ÖŠAwÀoešv ¼:'RDÊ ±"ÞDQxù6}/™aÉ$EôQÉ	ü˜0ÄUá/·–/T2á$ü´1á„ürÄ‰fhxÐfˆ81#Žhd¡ˆŠi G(k´aBmCÌðÓI*GŒU.8þã µ8QŒANHL‘8œ Â`õN“Ë¼c	?VÂø¢™Äð“/QÜÇß¨hÉªä!Áˆ1Äˆ&?IXbÆ-~©˜„–œ0å™1¾ø¢	uÜ¡Ä ð¢â"Lãß„˜ äˆfšÆ;Ù°  ÐÊ.ð˜2‰•EH¨hŒþœ K"b^&…ÓÉfNRå«¶aÊ-S$qÄIyqG35°•k¸j¦•˜òÇ1+|ñÅ y)"Â2Úôhf«h*:ä	ƒL»l“×XÓD.ÁÏ³æŽØ€°èC„%„ÔàÑ[tÑ,³©š&Jˆ<Ðâ¼ÀÈ¡A°(d\ÒÅwT¡©0–,$§ â@Q<±¡!‡(Ft‘]ô’ƒ*4Ü©¨«Cl E)˜Àà´àÑÆm!>ø³É'—üRÁ/32¢öªñŒ(ÏÌŒ(—¬Â´C[ìÓA:ƒs; ‡?Ï¢I$R “‹æ,òàÑ…Ç]œÍÐÅàsA:‚\¢8BˆGÝB¶Áõ0¢÷&Œã±âxÀ€v1äbLâ‹¯¢‡‘$L"Á$ô‘39ÌJ:Æüí±€äƒv)­ôpÕŠwaÄ=.¤Ç	ÂT1E©€8Æ\°Hx`ÌiüŒ>”â·âíÌâŽUwhàÌ¨f G;íôÒË5€lýC: A°À`"K;Ø3µÀš ¨z`¢}ç_a>€†9lá
Ã E,Há„s…=F1?9<ð ð Hh’
Wˆ£€  ;  0707010000031a000041ed0000000000000001000000033d1ffa6a00000000000000200000000000000000000000000000001700000003reloc/kdestyle/lpadmin    07070100001921000041ed0000000000000001000000023d1ffa6a00000000000000200000000000000000000000000000001e00000003reloc/kdestyle/lpadmin/images 07070100001922000081a40000000000000002000000013d1fe2e500000724000000200000000000000000000000000000002700000003reloc/kdestyle/lpadmin/images/icon.gif    GIF89a0 0 ç     			ÜÜÜÚÚÚÿÿÿÙÙÙÖÖÖÔÔÔÑÑÑWWWVVVUUUÛÛÛØØØÓÓÓÎÎÎÌÌÌÉÉÉTTTSSSRRRQQQÐÐÐÍÍÍËËËÈÈÈÆÆÆÀÀÀÁÁÁ€€€000PPPOOOMMMLLLÊÊÊÅÅÅ¾¾¾»»»¸¸¸\\\èèèôôôNNNJJJIIIHHHÂÂÂ¿¿¿½½½ºººµµµ³³³°°°þþþKKKGGGFFFEEECCC···²²²¯¯¯­­­ªªª¨¨¨DDDBBB@@@???±±±¬¬¬§§§¥¥¥¢¢¢ŸŸŸAAA>>>===©©©¦¦¦¤¤¤¡¡¡444ZZZYYYrrržžžœœœššš˜˜˜•••888XXXýýýùùùúúú|||–––”””’’’ûûû^^^~~~———ŽŽŽ]]]„„„ÁÁ¼ ÿ ‚ÿ‚ÿÿ [[[ÿÿÀ‚‚‚¿À¿ƒƒƒ¤˜þÔªÿïÕÕÕ×××ÒÒÒÏÏÏæææ‘‘‘äääÇÇÇÄÄÄ```âââàààŠŠŠ‰‰‰ˆˆˆeee“““ÝÝÝ‡‡‡†††¼¼¼iii¹¹¹¶¶¶´´´nnn‹‹‹}}}zzz®®®ßßßxxxwww«««yyy£££ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœ8@ (j`€Ç  Ø±ãÇDŽ$É€—' H @%Ë„ 0hðÒ€ƒ (ˆ a‚Í›sê¤PÁÂ…ž0dÐ°CGIhðD¦BˆA¢g‰&:t8"EV‰ T|è°‚…D´ ëâŒž1dÌ ‘¢†oÆ[GÏ»$r¸€¡c=iø¨ñH!C#ÜÊ˜Ç_‚ ÌƒH"FŽôD$‰%K˜4Y‰“+]»O? ¢u'Fž@i¥§”)TªXá}À•Ò©œFM
–,bþ+×²…K/=¿LÇ	»0Äˆ#Ü@÷ïÈ”)óa@ù.fœFP¨GA TPš©±cÝ­‘dñAjuÐ†ºQàzŠÔÞojˆñ}Âu÷F’†qt G†sÐñ!u Ìu!<öÆƒ)‚ àUxá Ö¡–jp#‚ªµc=	Åàåg!’1D‰G“N<™TOQv0%=EXäy`¨G…e°C˜"ø™jY5eBªP${`(|ôAF†¸0§˜4€xfxf‹[ªEh}øÑ¤ŠÒ	b£´ñh@ý©”ð(’\ši“þpºhIyÔFfxÈ	‚ §š‰a®jÚÁ ÄÚ)£ÿ˜ÔÆ
+‚!i( Q%L©ÊÐÁ«Çª¬¬žâè‘ ‚À …2‡th0!ÒA°Q€ˆ¸ÊÎúi³šQ*¾&¢ˆ"‹0ÒHZ]ž0C°8²ï¸ËÒÚh^<2­¯‚d A	@2@$’ì!Ø$„ù@æ ”HÌ/¹ÌPÀÂnï~<o½è>G%dXâÃ%˜ü€„™´<q¿t@º3	•ˆÁš(\ïU2œP	¯›”Á‰´u’´Ë/z`³@¡A0Lå‰ÈH"ÉZ3|`I
õ	þ(1öÒäžÝì®ÔÎ1‡ÇgbÂ£ìQ	Ð)lVô¯A$ñ÷ËŠ
ÞìLi25	Ó{HÈðÀ®l]tØ¶]N±æÍ& Ôµ(òv#$—~Â$(X²	Ñ`ÑI¡Ház¬°s$RÛœÅÁ£ìñsï)”a7ô]üI±tò©´â£wðÀéd°ÑuÑ7xfÛJdÛÄà&éY£œ€ìœ-¼mRPÂäç=Ôo!*áÐˆ&
ÖO€TŸÄè•\âzÙÂö¦°„QŒ‚%Iû*ÜP	I!ET"„ B‡	UÈ„
µ"*Œ¢
»AJE¢Ãúð‡@„H@  ;07070100003091000041ed0000000000000001000000033d1ffa6a00000000000000200000000000000000000000000000001900000003reloc/kdestyle/majordomo  070701000048bb000041ed0000000000000001000000023d1ffa6a00000000000000200000000000000000000000000000002000000003reloc/kdestyle/majordomo/images   070701000048bc000081a40000000000000002000000013d1fe2e5000008c7000000200000000000000000000000000000002900000003reloc/kdestyle/majordomo/images/icon.gif  GIF89a0 0 ç  NFF’~VªšzÂº²âÖª‚öâ²úîÎbZZúöònff>::


ÖÂžîîæÂ²Ž.**êâÊ†rR–‚jÞÊž¶ª–ÒÊ¶öòâæâÖ–†v&""úòæ²¢ŠÞÖ¾žŽvþþþ†~~þúê‚vf®š~:66îêÞþöÖÞÒºâÖÂšŠnVNJÞÒªòêÒª¢–ÎÂ²ŽŠ†ÚÎ¶ÞÒ®f^^ÆÂºêÞÆöòîúúú:22*&&†zzöêÆvnnš––~zv–†zþöÞ–Š‚"žŽ†âÖ¾öîÞúúòÒ¾šþêºÞÊ¦ÚÒÒ¾²ž^VVúîÖJBBîâÊòêÞžš–úöêÞÚÒ’ŽŠ²¦žÊ¶–êæÖþúöfb^®¢–êÚ¶âÒ®âÚÆrjbŠ~jþöâöê¾ÎÆ¾êÚ®žŠnÂ®ŽúöîþòÎž’Š2**~vvöæÆÎÆ¶ÚÆ¢

.&&
ÞÎ²þúîÞÒ¶þúúzrròêÎâÚÎúòÞîêæêÞÖòêÖrjjúöæþòÖþöîöîâ‚zz2..ž–’šŽ‚’†rZRRB::òîââÎªRJJÞÖÎF>>jbbòîê¶®ž–ŠvþöÚòêÚöêÎúòÚêÖ²úæºº¦Ž¢šš–ŽŽ¢’‚âÎ¦º²¦¢ŽnâÒ²öæ¾æÚÂª¢žòæÊòæ¶ÒÆ²îÞ²ÎÆÆîêâöîêž––¾²ªâÒªöêÒþúòþöêþòÞþöæÊÆº–ŠzîÞÆþòÚ>66~zzº®¢ÒÂ®šŠv¾²¢öæ¶êÚºVNNæÖ®ºªšÒÆ¶–†rº®šþòÒöæÊÞÎ¶¢’†æÚÆòæÎêÞÊž’ŽâÖÆúîÒöêÂÎÆÂîêêòîæšŠr²¦¢âÚÊšŽ†òîîª¢¢ÒÂ²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ\´Ã¤JS˜dìQ5jXbPˆŸ8qz(¹°ÂŸÑ^"´©¥—*UÁTÀH¶"‘ÜygÁ¨b"rÝº…¨¨­:l}Àh•[:üì$)Á™ˆe~)ƒÌF[¶Œˆ#+ˆ¬PCNExGE.8| ªE(Ë*Ñ¢UA–†.åñkíAÎrõ|“JÄ’¡ˆ”öù‚èËRYrž.ˆcØ †$¨¸Z&Î 52v„Ÿ V¬ )²ó?ÎÎÜáƒ®6þ¬Ô‹f_š6qê´ýÙâÐm‹€l«è¨–™:…*Õö‘S†xþ¨8S•´V®5¼®–!jlÙ³ikO=ânÝãá8™’Pq½}õõW`ƒ¶}¹Ü‡Ø[ˆ<ÓØP{DVYuÙa¦gkÛ*Ø§‚¢‘6ÄVYòUk¯Å6›Z$ix‡	v(Þ‹PË/¼`×&0w\M7å´S ¼¹ˆ[xÎÜrÇÏ •ËcEM¨CvM=ÕN8œr†‘n-x‡Up4Ô DQôˆE%2À€G´)dG¸hˆ}æ"Þ[q!bW^ÑÔòLUÌd
iqJœõ!ˆàs‹5¶Ä£~¡Ã”:dcáQ"ôfYn™Ûg1æâ(Þad¶(õÅ+ªˆ`ÙþÝiêB/ZäQ„œô›b|"Â(Iôaª-{X6åŒÜbÙ9ÄzP¶Úq¨‹\:Wß"‚FE¶T•}Lê
	AJ/oö‚Cž¾Øë¹ B7*ôÕ’¾òO]'H!ÿ€P4ÒÁšdyk¢õá†K.g›„Å~!HMˆ Ãd:DRÈ T-Ì@›‚’Ä9‚Ÿ±Póµ ,Ód,é«U€¬³AäÁL´t¢œÂ©a÷¹|	·ˆ0P×l£¬½I}¡óÕáAŠ#"¸(Œk}†œaÓˆ8=Ã4Ö¸jYªWÇM´¤E‡¼©Éþ›qöšëß‚voøðÔ”-÷âéAŠ!uÒ‰¹)h1†º)»±!·,AÂ1lÃmª×-nº@?ˆ±Æ[ì5ÑvÐ°e‡gàbv.WÀRøÕ!B‚éÀÿ£G°žBy¤ D{ƒÃµ¹ ž‹akj„·x°	6À wA èë†8@J5@£+	§§QûÃ¹TñçCAf
dØpÁ÷é!†)tcFÆ`0¢­Ë}ÑËÅý`àŠ³yn	¹ð@$¼€…9ðÏ z€´f7æ	Aè:E/Š€ÛáB³pD¢ç2C,!JÈÀ.>=ü@k#Å!²p9h„þg(‚4’Q
d¼ìe†„!¨@Ãƒ @uZsC\7hBE á	gƒ]À)^;CYÑDÏxu "´Ñ,f€(vA\¢lf;Ã*ÊXÃü€·p€$˜!„ i¢mÄ ÌÀ†‘Y£ûÀÇþAqk#cÛ(‚
<€ G&ê¨EÛíkS€9x·C¸²"Æ!2Ì`£ÄE‹ 	bTÒ áó#)®9M¦@p3”°
i¬ Ã@†®ˆÈU@Â6ñßzÆfˆ@8D
˜!…?€€1PpÑ‰+¢¡Ø *@Þ‚ÇÐä!4)…	$ËpÄ':Ñ‰C žñžøþxOO¸¡›Ìg'¢qƒ8ah‚&­á‹„ä‰¦PC5ªÑn"¼H4‚Oh'ðhã4H
ZÐ‚¤ÄMiá:< l  Rá	Oì@¦	–Z!d¡vÐ€#X•¸ƒ$ ¤z! ; 07070100005f88000041ed0000000000000001000000033d1ffa6a00000000000000200000000000000000000000000000001300000003reloc/kdestyle/man    070701000076e2000041ed0000000000000001000000023d1ffa6a00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/man/images 070701000076e3000081a40000000000000002000000013d1fe2e500000537000000200000000000000000000000000000002300000003reloc/kdestyle/man/images/icon.gif    GIF89a0 0 ç     DŽŒZ›™R–•K‘o§¦h¤¢b žY›™HAŒŠ€²±|¯®v¬ªp¨§g£¡`žV˜—M“’EŽ=Šˆ‹¸·‹¸¸ˆ·µ„´³}°¯m¦¥d¡Ÿ[›šQ•”?‹‰7†„‹¹¸Ž»º‘¼»“¾½»º‰·¶ƒ´³z®­q¨§g¢¢^›U˜–J‘B‹9‡†0‚€ƒ³²»¹“½½˜ÁÀšÂÁ–À¿Žº¹†¶´tª©i¤¢`ŸK’CŒ;ˆ‡2ƒ)~|¯ÎÍ—À¿…µ³Š¸·¼»–¿¾œÃÂ£ÇÇˆ·¶~°¯u«©k¥¤L“‘!yw¥ÈÈ©ËÊsq4„ƒŸÅÄ£ÇÆ‰¸·(}{ xvsqnlxv™ÂÁÄÃ³²/'|{wurpmkhfmk’½¼{¯®‚³²5…ƒ,~${yvtqoljgefdº¹t«©z®¬x­¬sª©usom	jh‡¶µn§¥f£¡aŸž<‰‡-€~&|zrpig²±f¢¡^œX™˜S—–L’‘>Š‰"yxpnz¯­_žU˜—8‡…+}vuigÿÿÿu«ªW™˜GŽBŒŠn§¦u¬ªP•”ÊÊÊh££o¨¦I‘i¤£ [œšzm/`W%Á¥\ŒFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£E   dH…# PòäÁ‘@0 “.ÿ\À ƒ"H˜@§Ç‘,\À¡†:$ððÁ¨Æ‘ BˆA¢„‰(R¨XÁ¢…‹V?€Q"†Œ4jØ¸‘GvðèáãGZ‰#2„H#Ghˆ@’DÉ¼LðýÑä/Ä‘Nžiû6îÜºwóîíÛŠe‡ ¢ 2…JÖ­]¿†[öl+W°œf ‹j-[¸”Hº´éÓ¨S?tñòL1»QŽñ€L2fÌðô	T(Ñ3hÒþ¨YÃ¦›è¸™®ú8qäÌ‰9³¦¤éÔ±ã¦?zƒê­GÝ h€Çyè¡K{œÁG_ø1Æý7Q€ì È È „€!¼ðÃ!t RÞyÿ¥×_†‰, È"°0"#>4’†#>2$aH]$eH2	%{|à}dE?BI‹		©Z%–\âÂ/4Ò‡tD)%$˜Pé¢€ªe¢É&|üFbŽ‰	'fž™á(pHœRÎ9ÒU/úæÉ'|’Ig¼zÞ˜rz† Œ	J(~"Q€‘‚"Ê(“Zzá¢˜hÊi(94Ò¡¢†Bj©ý)( °ºP¬²Öjë­¸æªë®¼öê+« ; 07070100008ddc000041ed0000000000000001000000033d1ffa6b00000000000000200000000000000000000000000000001500000003reloc/kdestyle/mount  0707010000a2fe000041ed0000000000000001000000023d1ffa6b00000000000000200000000000000000000000000000001c00000003reloc/kdestyle/mount/images   0707010000a2ff000081a40000000000000002000000013d1fe2e5000006e7000000200000000000000000000000000000002500000003reloc/kdestyle/mount/images/icon.gif  GIF89a0 0 ç  ‚Þ\zÚTædŠâd}ÞTvÚLrÖLŠÞd…â[hÒ@’Þl•êlnÖFbÎ<ZÂ4šætšêq’æj\Ê42~"ªò„¦ò|žît:ŽJ.²öŒ­ö„šît@–$N	F»þ”µúŒ¢îw‚æLZš¦ü•¢ü¢ò|Jž,!^VBž®ìªüŽšü‹–üBÎnÞ<&j£²ü‘žüˆ’ü~ŠüR¦4*n&f>¦¶üž®ü…Žü}†üz‚ürzì1zR¦¶ìªºüu~ü>R´>Æ:Â6¶^²<.v·Êü°Âü–¦üE^Á2v>Ê:º6²2ª.¢*š&Ž.’"b¾Îü­¾ö¢®ü‚ŠüFbÇ:‰:¾*–&†.ŽÂÖü¾Òü²ÆüIjÎB 	.o2¦âÎ„šŠT*Š"‚z+rÄÚüR~ÜJ¶2®æÖ”ÞÎ„ÚÆtÒ¾d–†Dvb¢ü†¶ôV~ÜRÌ>—6òâ¤êÖ”Ê¶TÆ®HŠz4bžúašôZàNÁFª
*dúê¼òâ¬êÚ™äÒŒÝÊ|ÖÂnÎ¶\Æ²LÀª<¶ž,‚nV‚áVÑöæ²îÞ¢Îº\º¢²šbf$^–ò]’ìW†å^äº¢4¦ŽG:ZŠæÂ®D¦’$PBZŽìRzÚ®š4^NNrÔ¶¢DvbN>OvÔJnÌ¾®T‚rjZXJJ>öÒDöÞ\úæ”Æ¶lŽzIfÄîÎDÒ¾|ž†zf
BZ¼ÚÊŒ®–ŠvfVVFBV¼>N´ëÊ>æÆ<âÒ¤bR:J¬âÂ<Ý¾4Øº4Ò¶,¾¦$·žª’™‚†rn^:B¬Ï²,Ê®)’~Æª$|jÂ¦$¾¢!Âª$¶šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœHñ  3
@ÀE PÀÀ @@ AG
 L™À$  fÒ$ B„(yàç„	*%jáI`Àç„6LÝÈ¡ƒUZ.=ÐÀÁ!ÄnÄ¨€ˆfIxÀYbmƒ&àÊp…Ðˆ F(æ`!ÅÕ´¨XÁBC± \¼@#Æá† dÌH Ø	HsPAƒ2ˆ2×xqÂŒ8>+-Ct‚¼pÈ¡c‡‰Ê<x¼èácóí@‚Ñ}woÑH¤Î1¤¸	"xþ12û…íÐ‚„îBë2’(Y¢dF &šÐ0ÞÉ#=¸ 6Ä€GD!…{»õ6ETTaÅXd¡E~4lÁ\ø×E^œ@`?|a,šŠ!ácdAFCè·…	fœá]·™m$¦¡Fk0X“óUÁFn¼Go!Gksä¸cEøPXgtÔ1d‘ ‰±„WÜGzìÁRîÐ‡NèˆÆåqö u"˜°Ä„ƒr¦…rH›ˆ ’œ2WŠ,Âˆž‰ :ò$‘H2	%•Xr	&n"ÒÇ©oác&Šh"i þRTêÐ&ŽpÂI'NâI¨Ÿ€J(‰ö‘¨(£øa)¥´ºÈ±ZZ'ŽÔ
‰™yìj‰) œ‚Ê©ÃŽ’
)™$«žÌÊú^­èvB-¡ª˜²
+Û**J+ßÒáJ)É’+ˆŠïAm´›¶ái¡¯À¯¢£ÐKŠ½±(â0ž„álA ü-´àê©'²Ì-¨ûm&®Ô‹-â¾:1Qÿ-'œzz.¹è²*	ƒ[r,i€¡H)®2²2Q¼ôâ‹­èÞjæ/À`R3*¨Ô[²-iÅÃ‹M4/Âý²¦C0Åä/*Æ0L5Q“¬&ZoÍ×^kŠL2Ä(3ËÇ2Ì@ÝÌEUƒqŒ3Ï”HÜrM4Ñ-M¯yÏ2È¨ÐuÑàÏP£âD£x4ÕXs6Ùh³7Ýxóqå@Í7œõyè£ƒN6Ÿl#&ÞèBËÄÔ½MèÖ`ƒíã”~Š8ääÂLì`èà _Ž9Ê“ôÑ~ü8çàŽŽ9 Œ=÷Ñ_N9ŸhŠ6ŸàÝú]Ä¾6èh£üÜÐ/ÑEùÓ(’q
ÿQä"¾JF2˜‘‹,p,ˆ 'HÁ
F$  ; 0707010000bbad000041ed0000000000000001000000033d1ffa6b00000000000000200000000000000000000000000000001500000003reloc/kdestyle/mysql  0707010000d0f7000041ed0000000000000001000000023d1ffa6b00000000000000200000000000000000000000000000001c00000003reloc/kdestyle/mysql/images   0707010000d0f8000081a40000000000000002000000013d1fe2e5000002ff000000200000000000000000000000000000002500000003reloc/kdestyle/mysql/images/icon.gif  GIF89a0 0 „  ÿÿÿ÷÷÷ðîîçççÞÞÞÖÖÖÏÎÎÆÆÆ½½½¶´´­­­¥¥¥œœœ”””ŒŒŒµlljjj§::   ÎŒ“ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ  Š‰0žhª®ì8MR+Ïò”Â;™t/CºBb0L|ÈÂ¦LŒº¤ (:ÆPE§2Âá`0@‰¡ ã[‚C¡`8t `@pß+B…@x]€)]		Kwƒ*{–Z@M­®¢³
:w®­Ž°"890®k­¾¨Ç		ËÌ#
du®Ô
­Ù"¥ rÇ	à½¾¥®»­ÏZn¾4°W`Áƒc®080à\€®%p Â†´úK9‹²Î¸šUñ¬þÔQ @@£+—Ç&|¤ðhÀP•ÓiÁi‚ÁÁMÜc‚¶"SfA2Vó’àHhˆR·%$-cHË¨HNZpVWX4ðúŽN+€RÄ"¨êÒ 0@Ð\W`Ã
 ` Ò;®,0 ¯‘ !®àÆÅÁ²À$Wåi«×J³¨F®M@`^W

t‰@àó V­4<àØb]„z˜22
ØÀ][7˜Á•:íƒÔ8L¾A®Rgb¼	8VúÍÃ¨‚¨˜4)ƒáÇôzž"ÕË¹gÌ3<¦Awï-E¶Bd÷ûôE€É}Óq£—htñS€Â­7Ô=Õ9³W.ÀP`R<fP1	@À^ÈJu-&OˆÂ²FÔìõX9æ1†! ñóíç”ƒÙÓW0¥P´fÆe$£Ó9,xdÆ5oÍxÎcÏxÁ<2ù•u|ó“dZ"9VF†  ; 070701000115d1000041ed0000000000000001000000033d1ffa6b00000000000000200000000000000000000000000000001300000003reloc/kdestyle/net    07070100012f48000041ed0000000000000001000000023d1ffa6b00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/net/images 07070100012f49000081a40000000000000002000000013d1fe2e50000098a000000200000000000000000000000000000002300000003reloc/kdestyle/net/images/icon.gif    ‰PNG

   IHDR   0   0   Wù‡   gAMA  ±üa   bKGD      ùC»   	pHYs    d_‘   tIMEÑ/™e½P  	IDATxœí˜{pTÕÇ?çÞ»»É&äEb0h¨
X±*v:¶µNSéh­cÁ Æ€¦¯iíàs´ˆÄ:– ´ŠˆÊ@[)l¦8C‘É åˆæ	†@’Mö}÷Þ{NÿØG²$˜„é´“ïÌÙ³çì¹ç|¿¿×=³0‚	âlPJM°m[¸\®ªäô—=2^ÆY°,kªmÛÂ4MÍ¶mQzëãÛúZ®Z‘	ÈÓÚ°ÃèoAO‹D£QÍ4M-I|Ó“w——Ï¨ìl1É¾ºZÚÛy"	!ù€	X€Ã0{¤_X–5 
éI«O˜½hëŽççRT\‚…FÄrˆÙŠ€iÑŽâ†9Ñæ£©å$k6ï$\µâB @\”Í0z£§€¾,#,Ëš
…t¿ßoøý~ãš/mùdÙÎ+K{Ø¢±ÍOkW˜!ö¶ø¾èŒ©)²TŒpW»ví#\µbÐ‡SD*„&OžÌ† Ø¹sååw§Ù¶-"‘ˆ~Í‚—¶üù©ÙäÓìÑÐâp‹CÇ;xwÁ(üÙëØ–ƒG(25¥CÉ¥ø‚yµáª—&¶6ZÏÁm·ÝÆøñã{-rG\]±ôƒgî¹–1”Òì³«þÛç£Ã_¤È´ýa.2%ìÓÑæ˜Ï¤3ªÈ)* ÷ûó …@vÂxg]DNGÊ{÷îMn–JÓ¦MÛàÒ/ã+/'ì@ý© û8tÒGC[ˆ¼+é|ù rÊ—¡T|#)ÁBÃ„0 Ž•t"õqÔªUk (/¿›Euóì]­ÌùñµÌ˜6…¨Ò¨njçï5-ë
Ñîâ˜1„#AJ””i'-îd€¿±ÙnÆÝ^…·8wžÝ­!´;âÓµÛ9úŒ•â~Æ2šÌàÊdLÉX,©8z²‹šÍ¾ ¡N4†!%*á¼$!º‰	¡ãH‹cmæ…¯¢8šÏÿZ‹î @I…RŠ—¾÷Ë>ù8/U=‚õyZÔ÷ÿ !Ãr$¾É1_ˆ–Ž Áˆ…m9þ4¿×ê’ŠW™iVeÙ ^Ù÷>¿Òç M…0h2¾RÅ0ûoãžT*%lá„Y(Õ»Pj½fú„ 3Á6ñ…Â´£8¶ƒrF•¿Hî½ËÒVËÓ’eÛ¨˜‰²-”­hn=Š´U<ITœ»R
'àMâc¥}|3oL?ãì(É©®0]á(á°IÔ²pllÑ‡UÂQ+½(…rbñä–÷ç±è¹ùt­ü=R*º@Së„¥U@Á¬Y³RûœŽ…PäŸ+éøæåøü!üáQÓÆ‰YàH”è#¥ƒÒtP*ž Ž…ŠEQ±(YZˆ¬›–óØ¸ý| ï¥¡ü:÷wñg°°ð:*++QåÍô´D_!4À€ú¦&Š
ó‘1…³ Q*é‘¼©ƒlD"®qÀÅ«Š‚óFc+8/ÿ"T×n”RˆÄãÛ¶m£££ƒŽŽª««Y·ø§”cŸ%7îÍk@v^Í5“î%/1îì\tÛB“vÊó^Oº +J¡ëÌÒ"Í vëAn½ý
22nÀ5*ÆÓ_½<O1':@‚Á`ªT]Ë«ãòâûÖBh µµ‡(s	¶4 ÿ†'z­n|€f</Ô…uBÐÇµS®g]ÝZô«CÃuBÇð
ÐêµO¨®®N7Äé„+@×4úË½,¿éMbß.oº+CÓwÇ"””ñš¯’‰'‘1'ÄimFF¨¶CÿÖ„šGÄ›’ñ#háërJI”T©Úú  MÌý®~«„Š{–àš|'äàè."T
¡$B&È[&*Bs,dÐÕô]|'†¡óÎ±Ð3z†@3ÉR“,™ñaq>‰¼Ý™cÆŒlÜ¸Æß ÙÙ y†é8qK‰0Ã¡dÙ¾Ÿ‹ï+b}Ãvî¿òfŒ,#KCËˆ‡	Óë|ee%ö]õé<›Ä \™…³½Ìº~:ïÌß”ú=cÒH[CÓ%Ò¶±>ÛJ‚+“ç–±uëVÜ7GÈËÏâé‰sÉ+ÈÆëõ`¸td0‹¦Öè]…®¼+?ÿPÊè}+£¼6Ç+Ë »0“×W/aÃáøë’D}˜¶Ö=is¿{	dÏž=466rÙ¨1,oÚˆÑ.H™S)””,,º®WztÒ=ñ7s·‚³p8¼Ÿ)sÅÛosåîçüÑ—òlèu¦•ŒãÄÉF^\õËk¶ M…râ	¨ä¿q—aš&Ñh4.*GãùëàõzÐ-qKu^šZPùXe¯*´øÀjÔ~É“ýñŒüäM™8‘5Ænž(¸ý”FvŽWŽNQq.žVóJoÆ²lœ›“¾FÞ}ãCjkk»ÊÑñz=ü|çÒÔí3i}¥ª\qUYaúœTiF\‰xZøBštðd¸nAV–#[gtQîÑçÍç7ûÞŠ{!Sñ“Ç¦ò¦ßD t.¡‰î›¦JLTžîjDòvG2Ô¦OŸNÚÚÛ¸ýò"în-~¯q¹t4¸=šKàÍò`xuò
²1r5Œ\W®Î¿ž¥¡yÂM „è&H_¤{Î‘òTíî¬¸°¯xWN,gá‘7Ð4-%Jè`:Â ·Û@3@éñ”Yh!tXö_¤íóòÔ‡zd
É<poÚô·Ür›7oæÓµÛ™ùùÇ,){†·k¨/«£qÝQêËêh~ïsê3ë8¾©ž†Qõ´lifIÙƒ<²úU
ë9ù·ê‹ëxdõ«gMz(PÝÁª©y©Ú´î’÷@¯yR·ûakÀ<PZZÚk®ømH}Cþe Pï®_ŸæalÃŽ>ÿVéç÷ÿMÌœ9S¥OàœxáŒXµjJRŸü>Ü¿ôEÖÐðYê{ò5>Øþ\áKÔÔÔœÓÃ‡ý%é¹0ßÿOaÁF0‚ü×ñ(ZéÌEPd    IEND®B`‚  07070100015c5d000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001300000003reloc/kdestyle/pam    07070100017403000041ed0000000000000001000000023d1ffa6c00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/pam/images 07070100017404000081a40000000000000002000000013d1fe2e500000687000000200000000000000000000000000000002300000003reloc/kdestyle/pam/images/icon.gif    GIF89a0 0 ç  ::rrB²²ŽææÖ.*ŠŠZÖÖÂb^&––fÂÂ¦^Z"ªª‚ööîRN&ÎÎ²zzNžžrjfb¾¾šJF66ÞÞÎòòê¢¢bbN.*

††jvn,ªª¢¦¦z††Y¶¶ŽÊÊªzvn>> ""ŽŠrêêÚfb&ZV*ªªŽ::.22&zz^žž‚ŽŽZ""bb.úúöÂÂ²66*¾¾¯¶¶š*"vr^^ZN¢¢uÒÒºââÖ"®®†ÚÚÊ~~^62RR*ššvfbFNJ2†~NŠŠlFB(.*"²²ž2*'B>B:*"ÆÆ¢ººšîîäÎÊ¾~~JRN4¦¦†VV:nj:®®..ššjrnZ’ŽnÒÒÊ"""ZR8¢¢z^Z8jfRF:.ÊÆºÎÎ¶–’bvvF2."þþþ®¦‚:6"‚~Z‚‚^††nNJ††b¶²šBBrrN222ª¦–rn:ºº¦ÞÞÓ®®¦ÊÊ®*&^^0®®š...&&¾¾¢
VR8¶¶’ŽŠfææÚ>:nf*jf6ÊÆ®&Ž†rÆÆ®ºº–ff7*&®ª†RN>

ÒÒ¿ÆÆ¶


êêâ&&ŽŽr’’f¦¦‚®®–ÎÎ¾ÊÊ¶:62.®ª‚~R.&¢¢†––jææÞ¶¶¢ÆÆ©žžvÚÚÎJJ&¢¢~îîê***~~Qššq^Z>ÆÂª:6&²®†ÞÚÊFBâÞÖb^.ŽŽb&&ff2jfB†‚VnjR‚‚Vš–núúú²²’ÖÖÆ¶¶–†‚_ªª†Š†Vº¶šžšwzvFÂ¾¦

¦¢~::~zV66žžŠ2.*vr@Š†f&"bZ6²®š’Žv.*(ÎÎº"®®ŠööòÂÂª¦¦~ººžÊÊ²º¶Ž>:.62&~zbª¦Švn^6.&Š†r’Žb>:––nŠŠ^¾¾žªª’ââÚÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹òq #€1ø dd8 (iMrêTNÚH„cÚ¤œ	*¾N/ŽáÀÊ™™S GP¸z¤á²èÆžIMDô%Ï¦	M~¨:2åB¼ŠzU8öeY©Ãæ<«ÔãK	¢¤2’êÎ‚éÕR¿ªR}Àˆ¬Z6]a˜ìÃƒ§4huð€`2ª2p1’€`1A5gPÉBD­Ù3jüdÉjgî ­G°iõ’A×ˆ’æAÅ®K©2ºFPE"‚„ÚÀŒ,fÜ~"Oˆº¬û1ËA—{[àþÀ[b‚@¨tqnXñwÊE^Ó†ø£ÁœöY³Ö¡sCÆƒšñÐ1	sél ‹žäññ1É5Î0°]ÙDÓÌ1pœ£¡YÒœÐ:9  VDäaI3³TðƒÍìE&jÔ(D}¤s,A`2ÀÑÑDwôƒpeD3 ?êìOjL±H!¬Ð£9²<£&N„A?üŒPF)]<Ã @ø@‰j´,À†:½AsÈÓ…,C”2À%´ã‰:X0}Ðr 3¨XÂO3e(SL—EÑ	% ³C žáO;`Lá5 â£:ˆ0¢….¹Ô€gDþôÓÎUp
ŒrrqŽKôâ££¸P)Ö„CiDp „,XÒ)V<P	<jð@Æ8¢!òÌ#è2i¼
‘x„³D˜ÇÜ	PLÑ
®ÈòG3ÑlGÊ˜ p,D áŒ©D(—N:ïlBI”<lóË%C8 Ü>o"]ƒõ‹•æ¥sC(ÈÌ¥â|1€-#ü@J.’d Å`Ç#¡XÁÜ€,’	›j82GTPÁ$ÐÂV,/T@8X‘3::ƒK&å@!u"DóÃ+7ƒEq*· 8üñD.háŠ-?cÍ0(pR´CJ$³†?¡ôÈ†g,ü0ò‹%“ô0P0÷CMÈó-D4Ê½eÌ²ÀX`¢¶•Š=‚;è”¡1x`‘D-©0xbNtí¢Läò„!Š[EÄ
QA)¤°rîÄoüñÈ'¯üò ; 0707010001fb1e000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001300000003reloc/kdestyle/pap    07070100021322000041ed0000000000000001000000023d1ffa6c00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/pap/images 07070100021323000081a40000000000000002000000013d1fe2e5000006f2000000200000000000000000000000000000002300000003reloc/kdestyle/pap/images/icon.gif    GIF89a0 0 ç  ¦¦~~2ª¦ªrrVÞÞÞn‚~‚úúÒªžZZZ666j*"ª^R:"–Êž’RBfŠ6*Þºš&"Zöö>&&.þþþŽZRâ¾ª†>:º~‚^BªªjB>‚^Z6n¦.6âÒ¶’’òòš>Bò²¶âÊšÚÖÚ®Ž‚>&bz>.B–..2:‚†‚Îjjj²®²ÎÂÒ’22>
6öºÂF’z¦jfj^V²^.*ºº†.¶–Žžfb.æÎÒ‚N~šNNž22Ö²ÎRîÂÎîÎ²âª¦¾ºÂj.**F">ºv~šššæž¦ÆÆ†VZ^N–ª>>¦¢¦¦z†ÞÎ²ÖÒÖêÆ®‚b†Ê’Ê*"úÂª


î¾ªŽ:62
Ö¾ºâ²¦r>NŠB>&Žz&ž:JJ&–j’R
JB:62N>‚æº¾z^ŠÞ¾ÚjZRz²::¶¢ÂrN:ÆÂÆ¢¢^NJ¦†®žFFF.J’:BJ*"ú¾ÂþÎ¶v2‚jfB2š¶‚žªJJÒÂ²"6ž:::–:6B6fBjîÂ²‚..úÆ¾âââöÒÊN*nbbbæÊºŠŠŠvzzvvF:^6>òÎÆ¾¾®rfê²ÆJ
V¢>FöÊâ"""’FBš>Nú¶º~6JÎÎ–.>NNN:

Fr":¾¾¾"BB’>:’ŽÆ²Žž.j~zz†††’bbN2*ê¶ªv&&Þ¾®‚FFî¾¾>*ŽÂÂf"ÊÆÊ²†‚*ÞÆÞnæÆ¾¦2F’B6BFJÆ¾ºÞ¾Â‚‚‚"2–BNÞ²ÆŽ""&^†62æâæJ::J2Ž^^^b2&ÊÊ>òÂ¾¶ššÚÚÚòÂ¶Î¢’æÎ¢ÊÊÊâÞâÂ¾º
FFFŠ*ÞÚÞN&ÎÊÎÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ"<ÀÅÓ¬«æ•@–4«0ðD “Â¹4 H²¤É“ª€TˆiäÉ—0)68°ò Ë˜8M®ªf\n}9pàË-.&ÀzÙ‰çÀM'•Ýû·jjA?Êþ}1qRžSž f”wã–ÀU«ä5XÛ@Þª2oÝxˆ¶Á¦¯ÿ:uªÒ)ÁMoT&OWŠwŒ»áiï^¼\–Ç@%TŠ7¾üµÀU²%€÷`;’	v"i¶4HÁ v\Eqœk‡mG1ëí„8HÞ=øƒ$—ßg‘l€ð¦Wä¿I+éÇà½’p¡¬¢ÓãÀo7)þªÔ.0<E¿nÝêDÛ$sƒ«L”Qö~`…Wèœžód‚RÔp
6hÌÍP3Ð¬Š	ÍÓßIÒt*SLÄ+ÞœQÌ”(ø52DÑÅ 5PÆŠ,¶è"‹²í c¯d3ÍgtàÍ2` ˆ"D²A0äýÁQxSˆ7:’K!gèà†=ôÀ„N‘¨ŒC…èÐJ+@y†%n<3Œ¯òE‚ Cƒè f+²D¥$:Ðàf+…1—|ðÆ’LóÆÑ” „$Ð@ƒ%gÄ`K$E.2†)¶°2Ž4”P$l±Ç¢ÞlàEþCÂ þöØ’H"nä1„,vÒ°$’tÐÁ´ªÉcÀÑƒL€c@§¹ˆ¹G!¨ Ã ­Â€#¨aÆ
TDI1:²‘D6ƒ„ºG«$„aL€a†µC$áÍ“JìQB«¼ø°ÍÌ0£Ž0ÁÆ ’X’Ë*Ð C#­vƒG#dâˆAN.Ò¾‘„%…¨P‚$­ÖÇ.¤Q	OdðÁ0½p£Ä¢44BEÚÀG†ÔL»j˜Òƒ²äág6–|BC‘uœÀB#Œ †1•<Á¤(;m1|ÀJ‘ÇÜÂ'cÆ¤ÍA‘€#Çæ
-E¶!ÁÛrÉÒV¬à
dŒ‰9Ð’´¸ÓªÎØqVô-Ì!OŒ†Ób„oä'flëŠ+—˜ñ„ëD L›ãÒê?ÇÜaŒ—á÷9jpp	"µ‡âÉëbM%f³ç Â	f¨†"á ÿuÁNˆb»ëŠiT ý?ÝäP^8BDfpÀI&v,pÇ)ãëbÁ,zHðÈÀa4ÖØÅ$qñD;(…*–@‰1Â€ÑÄâ0J@!@€Á †þ&  ;  07070100028717000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001700000003reloc/kdestyle/postfix    07070100029e80000041ed0000000000000001000000023d1ffa6c00000000000000200000000000000000000000000000001e00000003reloc/kdestyle/postfix/images 07070100029e81000081a40000000000000002000000013d1fe2e5000006c1000000200000000000000000000000000000002700000003reloc/kdestyle/postfix/images/icon.gif    GIF89a0 0 ç     )))ÿÿÿËÍÉýýý³³³hhhCCCÞÞÞVVVŠŒêêê222e/Wf/Wg/Xh.Wh.Xj.Xi-X³—ª“Zk-Ym,YäÔßo,Z{?io+Zq+[Ân¡t)[s*\u)\…7jx(]z'^Ø•¼~&_%`æÓß…#açÓàŒ cèÒàæ«Í÷÷÷•fêÒáëÑáŸiìÑáìÎß<d6§l»8„íÐâïÐâíÎàCj4Cj3«m°oKp0‰¢sðÐâSw-Tx.y•[ÝäÔ¶qñÏã]*¿Î“»sóÏãÈ~f‡'¯À‹àçÔÃup$âéÓòÃÞõÎäy—!äêÓË	w‚žæìÒÏxÐyöÍäŠ¥èíÑÕz”­š±$êðÑáé²ÅQÙ{Ù|Ú|Ú{µÝ}Þ}Ý~Þ~¨¾íòÌß~à~²ÆñõË½Ï	ßèÌÛ0ÅØÆÖÅØÎÞÕãúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 € ,    0 0  þ 	H° Áƒ*\È°¡Ã‡ `¢ÀŠ1^´x1âÀ ,0`âÈ€ @	  J@ðR€L	l*his€6K*°É ›@<‰´©Ó§P›rlÈ4ªU«Sð «×¯`@ð:öÍ¬rý:BY·p#¸@‚Í™% @—B¾(ø¥0A°à
( ¶€ôÂÒ¦"W˜LC˜3kÆ,õ!O›B‹‡<tXýau‡–\
T ˆÛ¸3„0Í›#‚ !‚DO´/Ø$Áœy‰ÞÐMHŸ~â„MäP½û	è¼QþXNA¾<Qä	«ªX¿¾ÄŠ÷ðã¯Á¢~ýÎ›Ú¯bE‹ÿ X‘V„”F¥ç’ 6ˆÂF!#ùäÂH1ŒÀ /äXBÊ	 Ãˆ2À a„3¤øÓY ¨UÑI;À€  ÷‰2„"<öHCU$5Å¡lN¡UUH"	ƒ6ÐÀä“@^õ”‘M%‰äOfÉ$O8téå—`
€3
Ã™gê ;´É= ƒ^>üðCvæ©ç2)"€
è›oÂ+
¡è¢C°è£`cmATji¥Ddši2ÚTÄ§Eq¤0¨EhÐg$áê«þ®¢ Ä¬JPˆÔ¸.Á©¼"‘ëªTUÄÛ„N$«ìÚ	 Å³PD!Å´ÔJÅ³g!¢ StëíÊ†ëÄzQa.U¤«nºQ˜ÛgBj}Û­WÔko½ …Å¾Ldáï¿Yì»ïKm¥ÅÁZ<Ã½÷~¶ÅÃLp!ñÄ\<üp¶ÅdS^pÂ_XÃÈ0 S`¤F,·†Ê`KQSbÔlóÍ8‡8ÆÎcÁD@›qÏc\w €i0­†Ók¨!õÔÊ±aõÕ@—qÆÕV €B[µ!öØd»ÑÆp¸áÆQq´í¶pËávÛ¤ÖnÌ1¡|÷í7[Õ!¸àfØa¸r^Æm+åHÝ!ùx~x“ËœÑãSj¬‡{Tn¹fäÁÇ|0^ÐH)pA™H0dÔ–ÀQ}ä®ûî¼×mH"‘dR¶' œÈ'¯üò^/4‚Ð ÁJœ7¥”GGWz4ý¡Ó†ÇÙ ëFc^Á³4£E@]o>BÏs„`Jï×oÿýøçŸP@ ;   0707010002b489000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/postgresql 0707010002cae5000041ed0000000000000001000000023d1ffa6c00000000000000200000000000000000000000000000002100000003reloc/kdestyle/postgresql/images  0707010002cae6000081a40000000000000002000000013d1fe2e500000916000000200000000000000000000000000000002a00000003reloc/kdestyle/postgresql/images/icon.gif GIF89a0 0 ç  -j•eŠ¦Ž®Â¢ÊÚ&&&¾Öä668ÚÚÛ>>?ââãNRRrnn_^^ššœææækjiZVVæò÷2b†‡¦¹ŒŠ‹²²´îòõÁÂÀ2j’VVVnnnv–ªîöúÚâäÕæïHjŠ:b…®®¯\z˜vvwÇÖá6b‰ÊÊÊîúúV~œ¢¾ÎGFEÈÚäÚæîJv–âææ¼ÎÜz¢¾¢žž.f’†Š†VZZŠ¢®¤²¼+*)†žª‚„âîîZ†¦ÒÖÔ6fŠ>b†š¦®öúú²¾Ê.fŽ™¶Ê6jŠ“––Îâìúþþ2f’lŠ¦RpŠ®ÂÎ|ž·Úîõæêë¬ºÄNNNÖÚÖ¦¦¨Ir“ÎÒÒ"321~–¦f€šabc6f’oŽ§“ª¼ºÊÖzzzZ‚žîîíŠŽŽ¶¶·:f†Brš•®Â:jŽ¶ÆÒÖÚÚ¤¶Äâò÷vŽž"""2f–~’¢æîôÂÆÅ;63AnŽÐÚâš®ºòöøj’®‚¢ºŽ¦¶fbbÊÎÎJJKNnŠÂÒß^†¢½¾¿NrŽ::8éöûÖâèŽŽ..-.f—‚~}^‚›Rz™çîîzš°ž¶É>jŠ:bŠRRRÝÞÞººº6fŽn–¶b~–ÏÎÏªªªÓêïFn†Úêó²ÊÖ•²Ãzrróòò2bŠ†‚‚u–±ZZZ¶Ê×6bŽQv—ÞîóÎÞèâêìBBBVVR¢¦¨Z~œ’’“f†¢n’¯Þêò¼ÒÞ~~~¢ºËêòõŠªÀ:f‹JnŽÞâå²ÆÔŽªÀêîóFnŽâêò*&&úúú2fŠÒâëþþþrŠ¢º¶¶ÆÆÄÒÞå¾ÚêÈÞæ2bŽ>f‰Úòöš²Â‚š²:6:®ÆÚÒÒÒ&""VRRsrr®²¶¡¢£ööòv’ªBj‰‚††gfežºÆvš²„ž³¦¾ÏêêêBf†®ÆÒRRNnŽ®2fŽBjŽB>@ÖÖÖNJHÂÖáb†¥>::âîó¦ªª††‚¢ªªÆÊÊNr”ööø†¢¹b‚š~š¯r’¬Bn“z–®:b’,    0 0  þ 	H° Áƒ*\È°¡Ã‡#JœH±¢ÄQ–PZÖ®>‚åPpª2C»Ù*Z”%N"¢ §cXW	ˆ÷Òºk‡NqY%Î”[4.a 2ï[ 7§P4$ÆãÚ­M­èÈÛÚ«NQ‘÷ÁX-	­†äj3.Ò´<1Zý(ñæ1…ÄÀ±`ÃjÜ=J”Îx"ÁÌ(|¶¼¬Bê„7x+j%AÝ3R“ö³v ÁG„Û¨õ’æ­#F]R-Ép/Ð0©;]CN±V¤­ú²+@L5úáêÅâÏ]ƒd²˜9¤Øi9ÿR©^÷)Í³Ô©ž-±,bv*8PÚþ<BI] FzqÐB<HªÔ©+$U9rNi­‹|uÛ©ÓÅÙ1òÌ«p€ò1H#ØNƒRCj²-±D‚ÔÒ:© ¨aˆÏà‡Éùy! ,É	@HcFzDLÚH¢!ƒÏüÇÁ'ÐôXCÏ¤"‡:˜È±#KYL8-˜à	2L96ÆaÏô¨vJ’S)2r„†ÊW#>cE'â#i˜±È(á Ý0‰æ=BÃ
K"Â	”`RD˜ôXL Œ:v @ ¤àB5Ç„Ï€LÓåvŽçÉ*sðÃIq€þZƒ:šØ Š”˜M)—G1Ûõ ¼¸á†1¡ì 3Nœ°ÝšKÔàM'¾äðÄˆÜñLÁã
a#Ë¤|`÷ Ò‡7˜ EnÜC`14GË*[ðD7ŸX€ À¼QÇA<p‘„´¥ªŽ!P¨ ${„ð	-=f‘|ÀXÒ]uÆ§AfPÓC0ÏÈ¦]µÁ¬B žðŽ.HÉ.êâ†5Î9éÁÌÀdI½xk©ÏÄ‹ª=Š¤ é¢:g@ÁA5qN‰±´R€qs€ÒS©òY!O,#ê.'t)§þ:¬`‹ÏüòÎ˜3‚É	APÂ;©œö2¸¡
£þ‘²†4¤xbÖ*È£:2sB«,†BœØ!Á#T¦!&b|B]>³‹18ÔpÄ‘ÓîrN'ìÍ¿\Â
=ðÝÈQ¤yêtnÅ†’ 
/¿¶:±¸ÁÄ¾M¸Ð 8"” ¾øGÉëžÔ’Žˆê„bŠ Àà|¸˜ð‹	_lÂ2q@ ä1=4È¬0‡’xñ	tIÒ‰U¢&H¡ˆC`0ƒ+øE.z‘XŠ{Â¸íä€	éœè>êø…   XÆgBŒ)ÐÃþg¨M—jp‚è¡¾`…	b‘(‰È?/ò„¸qˆdÄáˆƒgb†a´‚	%b„óÒA¸£dÈ…Ò°&5ªÛéÂ:Zàx W€1~0K$d…-&ÑÿÄ¢ß   D!}x
V˜ ˆœx¬âý ‘=("1IÈá,ñ…œ@ŸpÀ`‡Vxa^@Ä# x¢í‰ÀtÈG:ž°fX" àCNQ	¤¡¬àD)ô@„9ðÂ¦‡±£Em§ùˆB6±Œz@ ÊiH9ÁÀ@~˜B->Tx ÈÅ#Ø 2©£óþƒü .Ôƒ±@à‡TÀ3ÀF	nqƒÄAžš’ŠPTT Ö‚(b	\àø0C	NñŠÌcòœÕvŠ 9 àE’…¨À2ÿùÖ$VÁ‚
Ìt!: †#X*RYA¸ÅObÀXê`i…`.5!è ‚)HñÂû<#íˆ–®zl‚P’\RÈ1)”¬™‡q‚#Õ
.ˆÀ6àj%@Â‡¤³àÁìx+_¡4 ‰¿†	è°He±Ùh9"YX 
Ù°ƒ;®°QÌÛ8ENQM(Ö´W ;  0707010002fc07000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001400000003reloc/kdestyle/proc   070701000310d4000041ed0000000000000001000000023d1ffa6c00000000000000200000000000000000000000000000001b00000003reloc/kdestyle/proc/images    070701000310d5000081a40000000000000002000000013d1fe2e5000008b6000000200000000000000000000000000000002400000003reloc/kdestyle/proc/images/icon.gif   GIF89a0 0 ç  &&$fflnntZrT
2\""$ffdjjlrnlvrtzz|vvtRRT^^dZZ\ŽŠŒš–”ªª¬ºº¼Z^\bbdrrtzvt~~|~‚|ŠŠŒvv|fbd’’”ž¢œ®®¬ÂÂÄ^^\‚‚„ŽŽ”šžœÎÎÌææännl‚†„’–”NRL¶¶´ÆÂÄÚÖÜ††„Š†„––”êêì†‚„††ŒŽŽŒššœžž¤¦¢¤ª¦¬¢¢¤¶²´Â¾¼ÖÒÔæâä’ŽŒžžœêæä²²´žšœ²®¬¾º¼ÊÊÌÞÞÜ–’”¾¾¼––œÚÚÜââä
*L‚²¼¦¦¤ÆÆÄÒÒÔVväÒÎÌÖÖÔRräª¦¤îîìJjäNnäFbÜRnä¦¦¬îêì‚~|>^ÔB^ÜFfÜÞÚÜ:VÔ>ZÔJfÜ­­¯²²³º¹º.FÄ2NÌÚ¾êŽ®ÅÅÅÀÀÁ¼¼¼*FÄŠz¶nr
¾¾¿ºººµµ¶ÊÆÄ">ÄêÒŠþšâ·¸¸³³´®¯¯.´î
^&>Ä±±±¬­­¨¨¨.´¦6¼ªª«¦¦¦¡¡¢&¬*´£¤¤ŸŸ š››âÞäž˜™™””•§§©¹¹ºÃÃÄÀÀÀ1Je––—‘’’ŽŽ   ..0¼½½ÁÁÁ¼¼½/Hb‹‹Œ†‡‡+,-³³³¹¹¹´´µ°°°,E`ˆ‰Š„……€€))+²²±¨¨©££¤)B]‚‚ƒ}~yzz&&(Ÿ ¡  ¡›œœ——˜˜˜™&@Z{||wwxrst#$%‘’“”•ŽŽ$=Xtuvpqqklm>><!!"‡‡‰‡ˆˆƒƒ„~€‚ƒ„!:Unooijkefg ……†{{|vwxrsswwy8Rghiccd^_`ZVTqvrï`ab\]^WXYnnpbcd[\\UVWQRSX`XOOP**,b^\

®ª¬VRTŽ†„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡C ">œÈ@ 0` bG CR\hà 	,`ÐÀÁ/0ˆ aŽ#8ð ‚….`È a0!t¸ ÁÃ!pæ,‰ ‚\hÀ Ãˆ$<h¡B™$JØ4!q"€#NÀ´  Å]S€U!¡‰ee¦P1ERx#†YQpÍ0ƒF6lÜÀ‘c`šêØÁ£‡¶Ô¨±áAîz¥ÖCŒ:&€"DàH!RÄÈ‘#‰°íÁ8dœðºá²!rïfA!‰8þÐP’ƒ…‘%L˜$/ ³&NÜ?y\=F 8&LÂ=#Fh°Â38%DQ0q„z ~:4!…Nà€ƒ¯`C	ÙéÆ]þ1S¤°” &,±  èô~MTa#…VL`'œ Ý…`„	T¸
¥A
Ljd1ôàŽJac¡%=î$&˜QP€Â$ÜP	^q”ìåBXdQ…Vbé,ÁÃ	2t÷‘TtGE#ü`Ca!˜p„WŒå@êÖ„XdºÅwR˜D;!€e&1¤(h@‚\°ÐèþAtáÅ¤áðM|†adŠÅ•z² BŽ'„@ÁQ˜`Dˆn N!¤’²—›MŒ1dìªEXla§žfœFG¹lgn`B˜ºD¬³Z{ki¨±ÆÛ²ÁFZ´Ñ†¸Y¸ñ$EI°Ð,:€Pœ'DJë? \ÛDûÊ‘†¿sŒ!0e”‘EvÜ‘Dëö‰èx:‡‡i²^ÀO€ÐDzè±G|ð1‡}ôA``áÇ€P°pÃBLpf
D<qÅÕJ©q ‚2HAËAHÑs1…rHP@=ˆŽPµÌ4gÐ ”8ëŒHþ"‰¢HÏ{€-´j±#P@AŸp÷hÞ°¢T0q…6k×„#|?òH×~‡Fj@‰$n?„q§¹f“¼™9´8b»í|‚à„’%•XBAÔOÜ`ƒgzá.£Q<Š9{—`’‰&›lŽ{"Ž|îuŠÂI'žPÐ81¨AÜQ^QˆÑ…Ÿ°J(nˆ2Š¤X{î¢H)¦8E¸°ºD`q£«vÀ>1œ ~BE*T±
V ¢úã›íúçŠWÀ‚«ó 	^0‚T@:ð“Ä*'²0Ä, A‹Zèïv°Å-páÔàþ`@Ü^P5ð EŸˆ_jr¡‹]ð¢¾øÅŒ`ƒØÀ¼ J‰ÂxD·ƒÅ  1Ž¡?d$CI`M’.0€¸¡© P¢C"²Œe €ÍpÆ3 ilnÔ¨h0p 	°ã'.V‘%,¡}€5®lhcÜè†7¾‘„F>2H 8"BÉŠDÁ’—ì£ qŒcÕ G9ÌA\à	°À,€  ¡•
€«ŒðÊX.c 8:Ò¡Žu°#	¿ Ú€	3@fB26P@H¯Ä¤ÝñÀƒ]ˆ 4ð a˜‡8Ç	 	ägËŒ‚:0Pà  €Átð/äÓúÌ	Æ–3Ðƒ?BèƒtÀP|v òˆ¨D!’ÐTÔ
íãt€ƒ†. ˆ)jFJRDÀ¤°zé|
³Ã¤©r `¢b#P€€T¡&“¨EµÇê±‚¦:µ" ˆ 2`Õ«î‘•^«XÇJV¯ ;  07070100032789000041ed0000000000000001000000033d1ffa6c00000000000000200000000000000000000000000000001500000003reloc/kdestyle/quota  070701000355fb000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001c00000003reloc/kdestyle/quota/images   07070100035604000081a40000000000000002000000013d1fe2e5000007e4000000200000000000000000000000000000002500000003reloc/kdestyle/quota/images/icon.gif  GIF89a0 0 ç     ÚÚÜÂÂÄªª¬&*,"&,""$**(~R$ªŠ\ª¢”ªš|žr<F..24^J4‚V$ê¶|êÆœöâÄîÎ¬òÎ¤öÞ¼¶z4ÖÖÔš^ÎŽLÆ†<Ö¢læÂ”öÞÄòÒ¬îÊœîÎ¤úîÜž^ªj$²r$ÖždîÊ¤òÊ¤îÆœöâÌöæÔrV4Â†LÂ‚<²r,žf,¾~<Ê–\öÚ¾òÖ´òÖ¼þîÜþòÜZ6Þ¢dÊŽLº~<Îš\æºˆêÊœòÚ¼$â²|Þ®|ÚªpÎ–TÊŠ<N*"®n'æ²|òÒ´ŠR26<>*$òÆ„â¾ŒêÂœæ¾Žêº„6"V.ž‚\¦†T¢b~FöÒ¬òÎ¬º‚L&>><..,R*öÖ´b:Öª|ŠjD†^4æªlÂ¢„2">:4664&*4^2þòäúÚ´*N6zNÆŠD¾št*öâ¼æÆ¤ê¾”æÆœ®†dvB¶‚Dº¦„’b,
:Ö–TâºŒº‚T*"

NNL¶¶¼ŠŠŒN*Âª”¶¦”¾¢„ŠzlnV<
ÎŠDÚª|––”224ÆÆÄ¾ÂÄNRT:>D¦’|Ú¦l¶ž|Â~<ÞšT
þþüššœ¦¦¤ºº¼jnlRRT¢–„úæÄº~4šb$Ê†DZZ\BBD

nZ<æÚÌþòÔúâÄ¾‚<¾v$Ö¦tþêÌÒ†4ŽZrrtbbdŠz\Ê†<f>zz|B>4òêÔòÚ´æ¢\bB."žžœÞÞÜvz|
‚‚„²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H°`€ƒ*\È°¡Â  0@@ ‡3>P €
XÔHÒ!D	,`ÐÀÁƒ‘%c„!‚„	*X¸€!L™$dÐ°C@„1â‚Ï‹@3B$QÂ†(>¤P‘b‹-~F]ÑÅ1dÌð@£Š6VÜÀñt,Y9tìxa‚G?&¤øð ?ˆµ1ˆ!Cˆ1ÂãH $I”,™àÃ‡&A…ØÄÉ(Q¤LIB¥Š•+X²hñ!%Ê.]¼ˆ.Iú˜0[R ° feÌT9cc‰a4i¼¨Ù-UÀš5lÚ¸añÈpÈþ´ˆ#É [Â| SçËt¨1!øòÅ˜; ðäÑ³‡O? ˆ *"Å„bˆ ‡À”uˆ$rÈŠ,Âˆ áÈ#| É%DÒ’L‘À$6ƒ”T’"– ã —`’‰&›pBG%ÄÐÉ;xòI‡é T xJ"¢Œ‚È’¤¨QŠ)#œB*œ€J*1” Š)ª¸"(k¬’H"¬´âÊ+°Ärƒ,[„ð
›ì0K'´ðA¤‘£‰’(µ H+¶ bË-¸4…‚
pÞâÂ¹è&|8cH-k¤Œ!†°!P »ˆ" (¼jK/­tá§hþ5H¡Ã/ÀLúO˜b Â8áD!¬dˆ@àÌ§ÁøIª-Ìú	Â`ðÄ0ÄcÌ1¶bÂFA´ñH	<òÈ*ÁþÃ
mhRÇL» “(« ÒË¼„ª	É½®(³§Šiôë­f€›@`PáÄ!ŽÔGqÀ2ÈŒZê©ÛÒ
ªÌd[GYÜ1ÀYdÑÆÆmøÂˆA»„òçÄ½4ë¬­ÿ°QGÉ}Ì„Ç"·Áñ# ïñP0È¼l*ÅÍÐüOTt2È<?°Çd%kô¼¶|¢tÍC=5Y0vÈ·C$+q+–nýÏ*u(ÁÔ!‹-vx›‘@þ7@"ü	
(û)P&u8|´FÈç Õ~[Á(Áð¹&u$È`”ÜÔ1l:F<#
4¢dnø@™ì²€&xÔ¾p<2°ÉÌDRL0¯Ã,e,RÁ(â¸ðíqLh„Pñ5‘ˆ%‹h¢ÉxÀÈ70½]±‘&e|`‰aøµôf€¾B«d0†&–TPApðÇ>–…d¡
÷#H(`äEÄAyxPDÉDG@Ž%p «¨€Q†2àÁQXÄ"öP²Ž=ã» @01
T`x€Å`á?<øŸ]Zp6fÅ°°Ä–…<àaˆK(î–x8´B…Ù… *0Ä<ä|DßqW‡Z@ñ˜†ð<laKÀC  Âv±	_ã.`qÄœ1xƒ— eÄq ¡è_˜ž
x vpÄþøD¬zø ¨¿
˜q–P#k#ÿY‚¾¨Ý>ðÂ]b“¡`Ã!x	ŒÁK ¢%à„L$b“
ÁD–À‚À-¸d&,ñŒ:¬"˜Yâvˆ† ;07070100036dbb000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001400000003reloc/kdestyle/raid   07070100038398000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001b00000003reloc/kdestyle/raid/images    07070100038399000081a40000000000000002000000013d1fe2e500000745000000200000000000000000000000000000002400000003reloc/kdestyle/raid/images/icon.gif   GIF89a0 0 ç  ÚÚÜÂÂÄªª¬&*,"&,""$**(~R$ªŠ\ª¢”ªš|žr<F..24^J4‚V$ê¶|êÆœöâÄîÎ¬òÎ¤öÞ¼¶z4ÖÖÔš^ÎŽLÆ†<Ö¢læÂ”öÞÄòÒ¬îÊœîÎ¤úîÜž^ªj$²r$ÖždîÊ¤òÊ¤îÆœöâÌöæÔrV4Â†LÂ‚<²r,žf,¾~<Ê–\öÚ¾òÖ´òÖ¼Z6Þ¢dÊŽLº~<Îš\æºˆêÊœ$â²|Þ®|ÚªpÎ–TÊŠ<N*"®n'26<>*$òÆ„â¾ŒêÂœæ¾Žêº„6"V.ž‚\¦†T..,R*öÖ´òÎ¬b:Öª|664&*4^2þòäòÚ¼úÚ´*öâ¼æÆ¤ê¾”æÆœ®†dvB¶¶¼ŠŠŒNNLN*Âª”¶¦”º¦„¾¢„Â¢„ŠzlþîÜþòÜ––”224ÆÆÄ¾ÂÄNRTþþü>><ššœ¦¦¤ºº¼jnl>:4RRTæ²|òÒ´ZZ\BBD

nZ<æÚÌ¢b~FöÒ¬
ŠjD†^4rrtbbdN6zNzz|¶‚D’b,žžœÞÞÜnV<vz|:>D¦’|Ú¦l¢–„úæÄþòÔúâÄÖ¦tþêÌŠR&Šz\º‚Læªl2"ÆŠD¾št*:Ö–TâºŒº‚T*"


ÎŠDÚª|¶ž|Â~<ÞšT
º~4šb$Ê†D¾‚<¾v$Ò†4ŽZÊ†<f>B>4òêÔòÚ´æ¢\bB."
‚‚„²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° @ \È°¡Ã 0@@  3j‘ ¸¸±$Ãˆ$P°€A$MÊ„à„&P¨`á„˜35ÀAÃ<| B„…Ÿƒ>Œ8‚D‰&Nx@‘…Š*X •j0b/`ÄÑa…4j$TH¶`D7p¸(‘CÇPxˆ8±âX²{´ðñH!9†  R¤ãÇ#£"`ä’$J–0)ÒÄÉ((U²t	SóÌˆF¢H™BÅ‰
U¬\©Ñ&N<}Þ–,Z¶¬ðÀ¥K/W†=štiÓ§Ã§0%Ê)`>þ„3†LªV±jåê¬X×Ú±˜9ƒ&J5kØ´qóÆ,Zµl¹W*ÀTB€†sœaD(@vÜ•×^}ý˜Ì0<]wà‘ÇzìaÆ‰|ôáGb‹5öXd“ñ ÌEWCÝE gœ!È „blž&i¦Aq"‰F‘E9€Ü¡ˆ‹ÂÈ"ŒÀ&m¶á¦[8â„e ‰t|ðˆÜ	˜ŒDRÜqÉ-×ÜsW° É$©­ÔÒK#D	–v2ævÝ}Þxå•Q	–ôvSN;õ„ \‚É7_}÷å·ß™œ'QþH)Å”SŸž¤É%)È ƒJHá&œt‚ÞUYmÕÕWa%
Ñ#y Pâ‰)®xF‹~x"Â'þ¥µV[oÅUàÊ@I?9d‘†€G(êÅ—_€	Öá‡!†{e–[vù%#¢Œ"ŒŒ9™d”Ý(Á;T@JáÎYçŽF2H)¦ ùYh£•vÚ“‰ì°„TœR
á.š%$Ž:ºˆ˜³Õv[n»¥é*5 â¡©àÑœv…:j ‹D¢g Æ!§sÎA'è$D¨ÂSx°
+Qìœ ·>¼2¤Þ'yæ]jÉ"­¸’Â+KPK,²(Ë³YšJŸ}øéÇ_« Ì2þ	´p D-L `‹‚</$î%-ØàƒNh°Ü²J$À€‹8ä¢h Q¸áã>‹¢Š,ºhí' L‘‚	»ð	½T¡`çŸN.Bi¤º¡P‚'t‚ƒ/¸üRç´¿Æh¾^‚Ù¯S'¤Ð»(-h L0³{”œtÚ‰§Ä'ñI"'L@Ã73LöµOer£)/¢KÄ\€D1ÆƒL2ì×µ¬¨¤
šÐ¼D¤YÊ@žöü‘¬y/OdÄ $¶Œþ1ð p{`$Rö%]Xð‚ŠºÄÉðAf|„ŠbÔ„Ævn(ŒÓ¢6ˆf´í…íc  Î0€,Ýá&
ÌáÅ…%ìÉ‹¡•œ¡‡gè‰BŒáÏ@‰q)‘8;ÊH@  ;   07070100039a00000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001500000003reloc/kdestyle/samba  0707010003b211000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001c00000003reloc/kdestyle/samba/images   0707010003b212000081a40000000000000002000000013d1fe2e500000441000000200000000000000000000000000000002500000003reloc/kdestyle/samba/images/icon.gif  GIF89a0 0 Æ  ÿÿÿ÷÷÷ ¢¤îîîßßßqrs´·ºõÚÏôÊµúýÿªª«çççúíâ™™™../ÈÉÉüþÿò¥‘VVV|~‚Ö××ÿûöóóóõnPÐÉ¼cfi   &''!!!	üüüïôõõüþÿS£Ž‰ˆ‰Š988+     CDDÛ|ëW1ÿ3 -õôïŽ“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gíõüÙïûÝôý112ž­½ÿþú›Óø¤Îó–nªÏòâèîf§ê


½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
óøþÙâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO ÌÌÌÍÍÍÏÏÏÐÐÐÎÎÎ›››œœœšššfff            !þMade with GIMP ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–‚——›–Ÿ’	

¥®‹°¡«
š®§ !›!"#½#$%&'()*+Ü,¤–& `µPç¢€.^(D#·	,ÉX0CƒhÑÂ
¦ˆQÃ†Ã–Eº€±9`ˆ€ƒŽ'*ä±¡GŸ'T˜ä#Ç ‚èP h‰bÈO ø.HñƒH#2D+ ÁDGBòôùÓ’þ&ÝH’à‚’%8<(°IoT¨@ÁÐÆÕÙLº`¡H"Mœ<ò Jƒ¤LÙL…Û¶U6˜D ¢•+P°(É¢åÉ“-\<tñBûË0a6Ä@—¤4H EÌ(JÆdq ‚mÚTÂ”)sD7*%	7ÁÌ’3KžDAƒ&Ís5ÖL§Î-®¥
'
4`seÉ2:<y>eE›õk$vI 4 B|Ppn¨¡†oÀÆzeä6Ú'<ÐÀ;pÇ6êMwD_¾•BÀ1,tÇLØÃ`üÆqdWJTà£PÜ¬ †x–’K"!°TÜtÐÊ’‹„ð€ÜDDe#À…ZmÉÈ 
T ˜UN2Çšl¶éæ›oÒAGuØa§wÐÁ¦"ôéçŸ€(xä‘¡zô™Ë}îæ"Œ6àè£‰D:)¥†Dêg%pvúf ž†º¦ ¤–jê©¨¦*©ª¦îáê«°Æ*««‚H:ë­²bªë®¼öêk"  ;   0707010003f63e000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001800000003reloc/kdestyle/sendmail   07070100040dd3000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001f00000003reloc/kdestyle/sendmail/images    07070100040dd6000081a40000000000000002000000013d1fe2e5000007d6000000200000000000000000000000000000002800000003reloc/kdestyle/sendmail/images/icon.gif   GIF89a0 0 ç  ìì×îîÚîîÜêêÐëëÔììÕììØÿÿÿððßååÉççÌéèÎñðàïïÞæèæââÀääÅåäÆçæÊòòåøøòÛÑØU{* |7eñòâßà¹àà½áà¿ýýü·¤µP2h#RòòâÜÜ²ÝÝµàÞ¹àà¼÷÷îóóóž{” Æ«¾ƒ H¬E„óòæÙ×¬ÛÙ¯ÜÚ²ÝÜµÞÝ¸àß¹áà¾âáÀ¦ˆŸÖ¯ÅðÑã¢3xüüúôôç×Ö¨Ø×©Ø×ªÚÙ®ÜÚ±ÜÜ³ÞÝ¶ÞÞ¹ââÁãâÃõõëº™°üþþÍµ© RË<ŽõõéÖÕ¤×Ö¦Ù×ªÙØ­ÚÚ°ÜÛ³ãâÁöõìöäîï´Õ²iõõêÕÔ¡ÕÔ£ÕÕ£×Ö¥××§××¨ÙØ«ÜÛ±àá¾äãÃ• ?å†¼Ï P×x÷öìÓÒžÔÓŸÞÜ¶ååÅæåÈçb¬ëCœÒÑšÓÒœÓÓÓÓžÔÔ ÞÜµàß»åãÄùùóôúý÷÷ðÙ×«ææÊÆ 4øøðÒÑ›ö™ÌóóåóóæõôéùøòÞÝ·èçÍîîÙÕÕ¢ëêÓððÝùùõâá¿êêÑðïÝûûöûüùÞÜ·íì×êéÓìí×ññâüüø¹¹¹éêÏðïÞõôêÆÆÆÓÓÓÙÙÙàà¾ééÑññÞóôåö÷í’’’²²²ÑÑÑòòòõõõïïïÍÌÑÐ˜ÙÜ®âà¿ðòÞØÙ«ššš×××ÝÝÝéééùùùúúúççç·¶UÆÅ‚×Ñ ååÄóðâ÷öðüþükkkŒŒŒ¦¦¦ÉÉÉÛÛÛ«¬6À¿vßÞ¯êê×ØÙªÂÂÂÍÍÍÔÔÔåååýýýUUUuuu”””«««¶¶¶ëëë   ÜÜ±ËÊ‰°­6ÞÞÞííí„„„———¢¢¢ÑÑœÀÀÀÎÎ–žžžãããààà)))yyy÷÷÷^^^lll¾¾¾+++KKKÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jd âÄ‹+ `  Œ5(`à ‚AR¬¨`ƒ<@Ð ¥Êƒ!D0B0d@ ÁæM7pè Á€‡@` âFAjA¢„‰'P¤ ¡"ÅŠX´ðà"«D/`Ä1ƒFn¨ ‚:ÔîàáÖ¡Æ>~ 	"dEŒAbhŽ$JX,a‚ Ia…<A%Š”)$f˜¨A%B%|X¹²ÎY>Ô¨e—.^¾@#ÝblŒ‘p 32V”Ábæ4º‘VL£F‹–ßO¼þø %È”5D¾aÓ&’%K® psÆÌù'²€GÎ:ß9œp`HF3ØÁÚ
L€GK¸Q†f¸‘‡Yè¡‡~ü¥ o]„çÃ‹5†\Ëñ±À	nôq†9èM q‚úý‘ÆÞ9!ZÂ-†Zz¬EÐG\È"‚ ƒTq‚„èÇÝq!ZpÃÉ%C!vQqO†E‡€ðzT€‡~Xjˆ"‚Q¢c!A.%R’ Š4ðdGÜˆÇ"ú©ñá–‰™Æ•jŒ´Ö pÀ!Ž8Ð€‚4Q…xàñˆ~ j@W—þ(JÀG™‚nÚ‘	ˆÀƒ”„,‰~Þ'BF’^ëµ1+‚JÀ$@É •ð€†‹X¬ª\8Â	)
,ÛH"\2Á˜I%šª-h¾=1Úx%‚œëEÀF;º	'A‚'||J(¢àñ+hàùƒiçKÅwADÌ0
)¥˜r
*©¨²
+´Ò„ó&Ào\šv`]¬1ŒáÊ+›tK,²ÌBK-¶Ü‚K.‡è²/ú…8ìžu@…Ep°FZôâË/— *B›"Ì0Ä£ÑB ˆXšßªv5Ð°†1[ÜòÊ1À SJþ2Êœ²-²œÝ ^ˆ·GqtÙ3„ñ·ØÂL3Î<Í&ÁÈBË2ÑÄ"ÍC„¸g!3lPB	SL£ÔØR0Èül2²\³Ì2×ó¹aÂEÃu¬Q‡uÄ t¨BM*Õ¼Þ6Ùh2±ø-‹î WœkŒ >xáÄ6©ÜrË0sH“7Ì.*×Ð2t'»N¬s‘ \¤¡J7qH5¤ñ
mhÃ|7JñTÐâààDý(â»­a`xÂþ—ŠpHÃØ‡7ŽÑ	pÔ¢v¨pà8”!Aˆ  D©)¼Àr” l_2¸ant·²Ç8NNpc‚aÛ”R’CÒp†½q‰R(#…)™)®ŽMü‰	]ÎrD¾ÀÆ3ÀñeÄ‚àPF-®QpXƒÉ Å'"¸3þÉØ)QBpÄ¥àÆ1Žq‰W@Œù /´aŽKèÏp†/ÄÑŒ^<’‘6 ‘lô‚ŸLåQ"_h£Ÿ\eCZ9
(Êò!ÒØ„-o	Pòò—À¦0' ;  070701000425b3000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001700000003reloc/kdestyle/servers    07070100046be5000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001e00000003reloc/kdestyle/servers/images 07070100046be7000081a40000000000000002000000013d1fe2e5000005f6000000200000000000000000000000000000002700000003reloc/kdestyle/servers/images/icon.gif    GIF89a0 0 ç  B’šÂ„ââä¢šÄFFDjêòä^¢<ÎÎÌþ’”""$‚‚„þæä®®¬ÞîÜž>
þÎÌ’’”òúôÚÚÜ²ºÜÆÆÄffdŠ¢„ööôêêìºÞâô†ÎÎü‚‚ô®®ü’’ôjr´îîì¢¢ü224¾Ò´Šºt®ÎœªÞÞüººüÂÂüzz|þòô†ŽÄššüZž4ææä†FDzòòôr®Tº²´úúüÞÞÜ’¢„êêüÖÖü::<J–$¢ÊŒ¢¢¤ZZ\rÖÖÔþ¢¤þîìžRºº¼vrtúöüîêìÂ*ææüŽÎÒì¶¶ü––ôîîüªªüÊÊüŠŠôòöüÞÞìF–ââìJJLnnªLÒÒÔþ–”..,ŽŽŒþêìª®ÔF
þÖÔžžœöúôÂÂÜjjlŽ¢„ööüêêô"ââüŠ††ô²²ü~~ôîîô¦¦ü664’¾t²Ò¤²¾¾üz²\–¦ŒÆÆü~~|žžü¶¶´þþü>><¦¦¤¾¾¼ŽŽôþöôÒÒü¦Ê”Æ¢ææìòòüÞÞä––üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ 	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±ãCòÀ¡ÂB&q0ÁÁ!‡—0aöh¸Á„!7bDàcãPË†=þ\È#A$5 :D‘"„ÇÐ…-cZ£¤‘À§	7d ‚	HG¼`Àš°gƒ$e4RrhRÃ'‰è°øó5
6dr8›äW¶ÉÀgÇ;ìxØ‘÷à$9oX¨2‡·ŸLâeC2‘åhlCš2ZäHš`.JÀGP†˜yäÀÒ&pf‡x<y"¤O—zòàòÒ†6*Mšn<8Áê>UNfú¤Jþy¡ÅÅ@€Z¸0ïÂ
Axf°ä¢Å A'F9$çÎ}!8òÂ{àqÅ3âˆ!bE!Ü1C…ÜÁHWÜ±Ç… 2ÃŒlÁÈ/ŒPa!xð—Çˆ^± ŒdHÂV¸PÈwŒ0ÅÕÁÃÂY\<÷#%@RL2Y’?b]H!M)‘ñÐCL\:ô—/ ˜É54ÉðÐD‡œAFk=±Ú~<²Â¾1ÄA4äÀG=ÐðM91D ˆÑs.mà„q†Ç1´A
è€À5Œ!@˜1ÔÓÀ†‹TºÐ¥*GËqÄ‘*œ¬b
	˜aFž
ÉÜA·AuØ À¼&¤[™zâ„9ð­‡ÔÄìBÁjAØÉñÜv]tÑ&üˆq”°4IÜÑàaY%V¼0Hy/ÔqÂ{Œp‚ŽàñB#`QÐY„ E‡öYQ	WÔwß	x8BÐ[ÜA	3da…ˆ[lA‚#€HÂ	„'ˆ‰–0ÂÈ[\È3ˆ0CŠU'oBôóÏTmôÑH'­ôÒL7íôÓ ;  070701000482ad000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001800000003reloc/kdestyle/software   0707010004dd35000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001f00000003reloc/kdestyle/software/images    0707010004dd36000081a40000000000000002000000013d1fe2e5000005a4000000200000000000000000000000000000002800000003reloc/kdestyle/software/images/icon.gif   GIF89a0 0 Æ  þö´þþûýúàþúñòê¤ùî£öî³úöÜøòÈîâ”òæ—îâ…ÖÆf¶¶êÞ|âÖ|æÚƒ´²¼»îÞ„ÞÎtáÒzÙÍt¼®\¢ž¬¬’Ž”’––›¤¢¦¦ÎºTšŒI}{‚~…‚††‹ÍÂlÊ¾lÆ²Dƒu<†nfbrnurvvŠ†ÅºdÂ¶d½²d´ª\rb4VR]Zb^jfmjnnzv®¦\¬¢TªžT¥œTFBC>JFOJVN$ZVffž–Lœ’L–ŽI~v<þî”VN^^“ŠDŽ†D†zDŒ‚D‡~<yn6zz\þò²<6RN	‚z<f^,>:	²®”’ŽlýöËzr4aZ*jVâÚ¼þúÌ82B:rj4kc,þþäzf2*6.º²œ®š<š–š’tš†4ŽzÂºœÎÆ´º¶þú´ÚÖÌª¦úêÌþö þöŽþò„þòtþò_ÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽŠ ˆ‘”„  “–—•—¡™›¥ž‰ ¢¢“ ¥±§¨ƒ—º¹—	¯°œš•—

ËÏ¥	ØÛÄ³—âãæÓÎ¥½Ø	ÂÜß’ ÷ü2hÈà3îÞ€'Œ^- Ó"Jlðo‡<| ñ€œûJ1X°@áÂÿ Á²%K"F(aâÄ‰‹ú]@ÁE
‘#I8à+•Š£GW°háÂÅ2MÄ¸Ù3E
3fÐ Q¨³ÈÀ Â†8r´Ð±ƒÇ‹þ=d–ÀJã†5|üð$Ð°–.]2„H#7Ž¤mdÇÛ¸>ðêýÑ7H’$J”,YÂDpÊKMB!2Dˆa'‰Ÿ<i±c‡ÊA,cÞ¥v)+dÜD×è!…‹¹‘zufÚ¶§L¡R¥ŠnpV®HO0KiÃY²(†¢|9-+˜lÙK —Ýb»x±ò¥ý .C°À7]$Ëw&LÀ4æU).Xˆž! 0†zVQ\”Á…¥5wÆhF _ƒjÀPÂ€…XÊë#Àl”!ãaDo
!„=lpÂ‡Žˆ( hEyk F/†v…Œ,”þ`Ó	1àNyi0Àm¬W^nZŠ%ùÆÜXÂ Zeih˜æ”zG¸GGÈQB€ic	$™chH
*8ÆoÒ1ÁuèØhBŸ0”YKš˜¢9 ¡dØAÆtÜ1h€té}öð‚¥‚ €)§´~€·æQG©|¤{ò	Ã<ÀªÒ ›êé­dÜz+¯ |àª4I‚«.ì`¬¬´úE§vàj‡v”Šê¯až0é0dÛÂ¶Ý‚‹k(z ‡D;mº|ŽÐC¶:¼›#­á6n¸÷ÞÛkF„Ùï°.Œ¼þ~Ê¼öÚ«ÇÒî«.ŸØœÃÄwz«¸	'¼Ç x|ã#»ƒ#ß # ˆ‹±ÆßËó çÃ6{É¼“«2ó¡ªM%ŒùÖÌ-à€tž¥ëÉ)ïqïÊdï±ª	c‹õÈG8ÁµÒ©ˆöÊQÿÜ‡MhÍÃ-}CEqó"—¤¬bïñó}¬,4Ä|³ý7^×Ó³âˆ3Îxw÷K4ÖZ^9á (¾²Ýœsþð #=zŽ  Þxê~ôA)±"Ol,ì›÷Q»ì²ŽDß¯Ó¢ œû¡|ÌÙ"Q¼ñ)ïÇçÏC" ~¸P½õbíÎý÷à‡/H  ;0707010004f460000041ed0000000000000001000000033d1ffa6d00000000000000200000000000000000000000000000001500000003reloc/kdestyle/squid  07070100050b28000041ed0000000000000001000000023d1ffa6d00000000000000200000000000000000000000000000001c00000003reloc/kdestyle/squid/images   07070100050b29000081a40000000000000002000000013d1fe2e500000453000000200000000000000000000000000000002500000003reloc/kdestyle/squid/images/icon.gif  GIF89a0 0 Æ     ííí²²²ììê°°°êêèïëê®®¬èèèëëë®®®«««æææîëì¬¬ª©¨§åååèçåùùùüüüÀÀÀ¿¿¿½½½¬¬¬¨¨¨§§§÷öôÿÿÿÃÃÃ¸¸¸æãäöóô÷÷÷úúúººº···¥¥¥óóóôôôµµµâââçäåðððõõóåäâçæäòñïùö÷òîí£££òððïîì¡¡¡äãáîíëââà£¡¡ïïïø÷õ¥¤¢áááóóñ£¢ ááß¦¥£žžžÝÝÝïìíßÞÝ››™ÛÛÛéèçšššÕÔÓ×××ëèçœ™š˜˜˜–––“““ÏÏÏÒÒÒØØØÞÞÞš›•••‘‘‘ŒŒŒÊÊÊÌÌÌÐÐÐÕÕÕÜÛÙŽŽŽ‹‹‹ˆˆˆÖÖÔ†††ÇÇÇÈÈÈ¢¡Ÿ…………‡†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“… ””–„ ™—  ¢žŒ ¢ ¦§ˆ©«	¯°† 
«« ·Â«
«¶ƒ ÃŠ  ¦ ¾Í ÐÓ‡ ×– Ý¹î !ÑçšÖDŒp· ‰[ –ÙPÂD¾	æU»&ð„0Ü†@‘¢ %V€ØqÑÄ
CmËp0 -lpaâ9i¨(X°ÐaD( ñZºDÁ#šƒ	ÓDqÄ	•cô{	.€‡ä²m0Ç![ÀO	à&
˜	Ì¸
BëÖtþ]õ 6(~‚ Ô(ZÀÈ¶£ l}Ë¡ðR Nén#Q–ØUA
Û‘ð¿kÂÂbÌ^gD[CÆ7§È3ì®;îBÀƒh„rôÀí-<}
Pp¥ÙŸ~ €\+ HÞÒ&LL4‚|v&D9L†È)ai``éŽe™Èö¼BŠðØ{»ÁQóš@xM"{#ï	sDwË1€D9œ£FŒµ—~. ÄÀP³RAÑ„O@a~QH!ÅSHEmËà {4QˆV@q#…Ql!(v!Œr¸Hw²„5^áÅ_€±J;ö(ESd²-(Èr „è$QŠ±ÊdhÁãÙ°¨àehçÌ˜ešáÍjF‘ãcEÆr¤œùEy†è  BÊA Ñq€V"¥‚.¹™KlÈ¡ã	 ?Ôö
 4d÷ž$˜ÞÀÂ*H6ŠK.+Ö°J{ŸN‚©rZvêÞ©Ô¬H”0²Hk­ó)Êê®ÔtÇÃ¨>,5¡à^«¸`:â±ÈB+í´ÔV+H  ; 070701000521f9000041ed0000000000000001000000033d1ffa6e00000000000000200000000000000000000000000000001300000003reloc/kdestyle/ssh    07070100056739000041ed0000000000000001000000023d1ffa6e00000000000000200000000000000000000000000000001a00000003reloc/kdestyle/ssh/images 0707010005673a000081a40000000000000002000000013d1fe2e500000755000000200000000000000000000000000000002300000003reloc/kdestyle/ssh/images/icon.gif    GIF89a0 0 ç     ÁÁÁÿÿÿïïïìììêêêçççåååâââàààÞÞÞÛÛÛÙÙÙÖÖÖÔÔÔÒÒÒÏÏÏÍÍÍÊÊÊÈÈÈÆÆÆÃÃÃ¾¾¾¼¼¼ººº···µµµ²²²wwwíííèèèæææãããáááÜÜÜ×××ÕÕÕÐÐÐËËËÉÉÉÄÄÄ¿¿¿½½½¸¸¸³³³±±±ëëëéééffdJJL¯¯¯ýýú­­­®®®«««¬¬¬ªªªäää¨¨¨¦¦¦§§§¤¤¤ßßß¥¥¥¢¢¢ÝÝÝ£££¡¡¡„„‡¾¾Àºº½¶¶¹²²µ¯¯²««®§§«££§ŸŸ¤ÌÈÈŸŸŸÔÒÒ   ÜÛÛØØØžžž›››ÓÓÓœœœššš}}}˜˜˜ÇÇÇÂÂÂ¹¹¹zzz™™™–––‹‹‹ÅÅÅÑÑÑÎÎÎÌÌÌ»»»¶¶¶´´´———”””334uuu°°°•••“““.hh5|z3vt1pn1onrrr6}{3vu1poooo-fd8ƒ€mmm*_^9‡„75{y3usjjj:Š‡<Ž‹=’>•’?–“8„‚6|4yw2sr©©©ggg9…ƒ;Š<Œ<7~eeeÚÚÚ:‰†4xv2rqbbb8ƒ___]]]ZZZ???ÿzz„]
WWWÿaa·+ª“4ÿßTONN€€€ÿIIÁ>)ð[ÿ00ÿvvvkkk€{––”aaa  ŠŠŒ8û0ÞÞÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°!B #JœH±¢Ã‚ ØÈ±£Ç ¸8€€
8€ ‚8x !‚„	*°pC8Œ$ùÏd‡>€¡@ƒ$”ˆ`âR¨À°B‹B‰àâŒhÓª]Ë¶…Œ°DM¾0£¢Ý‰3dÐ€KÒäÊºîÞQÃß‹&•Ö5)¸âŒ8;4™`ˆGœC‡ä†&[.ÖLq†ŽŸšt9š´Ä<z¤^hÒ‡ˆÖ®!ÎøD(iŒ‚,À{†!B‰1rI%K˜4™îd¨@“0‰»ž1äIòåÍŸþGŸ%Šõ±Oµ“ž!eÊwæÎ¡K§Å<A“UH¨×<ÃÊ•÷áÉw@}ö•$@Xì×ØYh!” °Å„[œgÒL

6ƒ\Õ…^ ðE
€Æ‰'Z(€T1Ìàâ‹0Æ(£cEÆeŒ¸UôØ£ŠfœÆ	^ä¨‚
i€¡ÆnA¦ÃBHaEb°Ñ†Pn¬ÕÕ\r©"hÜTF*ðFkl 6œÖCw²‡BÍAGvÜ1PxôÙ§…ø(è „úãyè±‡ž,ÀÁÇ£žWTnšõáÇyÎÐBtÚ©¤ˆ5è ¤–Zj ‚BÈzÊpC!þ°Â
êdøƒ!‡ ’ˆ"‰ rˆ!‹0Òˆ#¬>ö$È";ëu€AÄ‰!’LBÉ$’I%ƒÔ±¨ž8ð`É¸ã.K‘A qI•,&†`È"•Ð‘‰&¬êùä&üò;+Dn”$) TÃ Œâ'~ÂÈ ™›ï;ÑÉÅÿkáÀ1ÅPG#ƒÐ‘ƒ4R¾ùêyœ',³¬ñ}ËÃŽR‡uâÈ·)sgÅ'@
¨³Ð2ËÑG“1(÷9`F‹2FíâYbõÐÍÂ´MF.0…u Ð4dˆ;%©F£l>	ÄShqu*ªHš
]»¡·þPÁÙS("‰J2YØiQÆÍ) Ð]]A pýÈzS@E ´XÊæœwîùçt—'©< z_þÈ,§âúë°Ç»*ô8Nœ>€Þ¥Óƒ…ª/üðÄ?`} ¦¶ õu EÿÑ±TKò ÀƒÞ<Ìò‰…¸` >ì@	hL€•
`hÐ8ì „,ôÓ?k*#Àƒóõ
¸‚ `/T€DG£Åž4„Z8°ËúÇë†* À¶È H$	Pà·˜È-v «‘"‚ Ÿ-p‹*œ/'(C Ø—L ~o³
AS€ÿ•o6X  ú.p®¼ï?‚N(t½à LàÎ ¢¦!Z`¤…"†Ri¢ÇHF2 ;   07070100057d96000041ed0000000000000001000000033d1ffa6e00000000000000200000000000000000000000000000001600000003reloc/kdestyle/status 07070100059316000041ed0000000000000001000000023d1ffa6e00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/status/images  07070100059318000081a40000000000000002000000013d1fe2e5000006ad000000200000000000000000000000000000002600000003reloc/kdestyle/status/images/icon.gif GIF89a0 0 ç     ÿÿÃÿÿ‹ÿÿ›þÿbîö[ÿÿ’êðXûóXÿÿgÿÿƒÿÿ{Üµ>ÿÿ¯ìðXçåTâÙPàÐKÝÆGÙ¼B×±=œ= ÿÿtîö^ìö[äÚOàÏKÛÆGÙºBÒ©8ÑÍ »¢ ±‡ ¬n ·z Ï¡Ò¤5È»  Ð¡4Ü®9¶¡ Ì˜!Ò£4Ô©8ä½AâÊI»• ÿÊ@ÙºA¼Ž ÿÿÿâÚOÿÓGúú÷þþ÷ÚÚÊ×è ÛË(âÏKÝÆHÓ®ÛºBÝÅGòòëëìáÜÜÇÇ» Öº!Æ¥ ëëáâãÔçç×ÒÔÁÕ¶0×±>ÊÆ ÜÜÊ××ÃØØÂÿÿæ’’ˆÐ£5ÑÞ øøôñòêëéÞÔÖÁÍÎ¹ÈÇ±¿¿©¶¶ ®®š¦¥”žž‘––——‘ÊÙ éëÞÔÔÃÇÇ±ŠŠŠˆ‹ ññêÔÔÁÇÇ¯¤¤”œœ‰‰‡þþýèèÜžœ‘„††÷øôïñêÚÚÉÔÓ¿„„Mos8RR*HCtƒ„[[[øøóéèÞàâÔ’’_‚‚M  mmhŠ„„†ƒƒ…„‡‡‹!!ïïçààÑ** ƒ…àâÑÚÙÇÓÓ¿‚‚H††‡ŒŒ‰™š’’”‰èæÚ‚}Mmn6qquŠ˜–Ž§§˜´¶ÙÙÇÓÑ¿ËÍ¶ŒŠˆ’‹™™ŽŸŸ’§¨–°±œ¹¹£ge.ö÷òææÜàßÑÓÓ½ÄÄ®§¨©‰‡‡’“‹¡Ÿ‘ÂÂ«zzAîîåÑÓ½ËË¶¼¼¦˜˜{’‹¡¡’ÂÂ¬‰ŒWÛßÎÃÃ¤ÕÓÀÙ×ÇÑÑ½º¼¦±³žÝÝÚ¨¨—ºº¤› n‹‹Z¸¸›³±ž«ª—¢¢”wwhÿÿû¨ª–zzH¶¶ž³±œÄÂ­±±˜ŽŽº½¾¢¡’ª¨—ÊË´„ƒ†¡¢“¼º¤¡¤xÿÿñ‡‰‡³³žºº¦±±Œ¾¾®ŠŒ‰››¢¢“¤¢”««˜ÍË¸ÙÚÇÔ×Ã³¶«““Œ´´Ÿ}‚M©©ˆËÍ³âàÑ×ÜÃ›œÅÈ¬íëáƒƒm›„­­”„‚P““dÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#J< ÀÄ‹`£G ¨HÒcC’@@€‚:šD¨±Aƒ <€AÂ
dÎÌháÂdÐ°…A‡Ò,ŠÔÃ!DŒè@¢„P©X(pÀƒ	”"Jœ@¢"X‚ “¦
@Å
-¸øz²dÆJ_Ð…Á‚B ø.0£ñŒ¯ x@Cƒº5#V¼¸±8èæð ctøø‘x"c@‚`‘	-Ú’TàG„"œÃú­Øˆ‘#H’ d\QÉ’(jH° Á4˜ÿÇØ1ñâÇ›þ8yÅqã( j°rBJa<4dx0%xwó©T±r¤É,Yh±]xñé‘ÐÞ{?ñÁaä`~ùU!Fc`A†€X† ˆpÆˆ!ôÀCgù•Ð}ù¡^X¨Áál|QFËUT„s=tŸT ñF0n8àpØØFnÁeÂÛÔrÌ1$uØqyè¤’qìÁ_M:Ä˜} áÇt È À ‚RH†‚H"ŠDÉcr,â#mRfEðaˆ#ˆÇ˜}·È@‰$Š@£{LBI%–¨h¦c‹\Bh$˜d’©&|2‰þ›pÒÉ3xâgXú#Ÿ€Šª+2‰(£RŠ)§ ’Ê­1¦Ê"«°òI+¡¸‚‡}¯À)² ‹Ê,´0ËÝµ˜ú‰-·¸‚K.öÙ )»xË-½ˆ€/¿ Œ0éCÌ×RTÌÆsÊ1©Ð+n³  “Œ2¼³3Í8“é3ðBsp*Ñ”QEÒC3»RÉ$‡v·3ÓCM¸&PM.¦”%Ö¼rIŽa“1.ß’ÌÂ4ic3%“l³M"¯8F
7ÌÓ+ÚØâÑ}CðÍ“²Ç†€CÉ¶P‡#Ž+¡óÉ8XKI)±”“4"Š‹9ç0.®ÜbË'ŒüÒ6\3Œ"·žŽËØæ “ÎÞ®¨É:Œ¼ÁÎàÍ¶ÓŽ]#²Ç6mPâŽ9Í¤óßðÄ#Ï<oÐcæÍ*2ær„Ô³†é¸d‚	  Œc÷À.\ŽxàcºwjJ`yì ùH£†¾u’>ñïÖŸtÇ>ü\Ý}_oþùè§/P@ ;   0707010005ab10000041ed0000000000000001000000033d1ffa6e00000000000000200000000000000000000000000000001600000003reloc/kdestyle/syslog 0707010005f275000041ed0000000000000001000000023d1ffa6e00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/syslog/images  0707010005f276000081a40000000000000002000000013d1fe2e500000849000000200000000000000000000000000000002600000003reloc/kdestyle/syslog/images/icon.gif GIF89a0 0 ç  
+%RN&H>

'#!.* 

		¦¦(ßâ îòæêpk òöòú÷úöúòöòö"îô+–•ÌÎ+×Õ8'[Sëî,¾½'ª¦:Þî2‚™“%UT4(îúËÌ8v~&âîJqvRJ:^VJrråé)Žš‰’ÎÞ6xtVÞÞŽêöŠRNjn%%ÂÆ(¨²*¢²6ž®zvF<;ººîòîöÖÞNnb4²²JÆÊêî$êîêî¶º"†Š>Šz^znRNS72ˆˆÜß+æêâæææßâ9ž¢
Ñ×ÎÞÒæ®¶ßâ×Ú9*"&²¾ÛÞ#ž #^ZÌÐRáæÒÔ6fZfÍÎ–š.ÊÎZÖ×B×Ú.ÂÂ'*2	¾º>ÈÈNÍÐAÙÚ'ÚÚÊÊ*jfB>>E5	žšÐØ,ÖÖ%«®),*ÆÆ7ÐÒ(ÐÒÌÐLHF
fbZ¬¨(ÄÆ>ÆÆ"ÉÊÌÎQMA

¬­ ¾¾ÂÂÆÆÆÆf`¦¢ºº¾¾¹º¾¾
¶¶³²nn
ª­²²¶¶ºº¶¶¶²¶º¶¶]gž¦&²²¦®__­²²®°·²¶‚†2®®KH°¬­­
š¢"nl$¯®B6B62,.¥§yv"2,,B>£­®¸–’BjfŒŠ"êú*ˆTZv~–Š2jn2!ÂÊ:Ž†,fj
BB6:LB
66ÎÒ®²!zv^fšžJ"*86ŠŽ'À¾R2nv.6&6–š:ÚÚŠŽ††BÓ×ÙàZZ
éî3ª¢(ÂÂ
ÂÆvr&®²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœè@ 0p  ‚,`À Á‚‘&	¨Té ¥ˆ @ˆ a…
r^¸`ƒÏœ=bÈ¡B8¨ØAÃÎ>€øé³ªÕª=yÍBÄK† F(1` 'Pt°ÚÓj
¶xZ¨AÅŠ¯
°háâ
%b|ÁB¶XÛn5j!‚ŒKóÒ¨áÂÆ6rèØÁ#BÐ­Dƒºóh„=,àã‡ 'ù dH"D2)²7î"D€'Á±‘«”8r#Á$
’œPb‰oßLˆ/Y"¡	“Dšþˆ!Ã‰‚ÕOt@‰²@
‰)I¨T‘±ÄŠ}+Lò[‘pE†	LH`Ê…x%À9P]ì@Yø'à}V\1 X¨!_|q`PXb1)Á@f€‘Åv8`‡gŒ(â"†Ah€FC ¨‘A@Ál´áFc@0¢”Wœ"„øÅ\ŽáÁªU Ä1sÐÑFU¸Á%QF	çvtiGnÜGé±iÒÑA~¸átÚ¡¨¢u4ê‡mÐñ éa‚¼qÇ¨!ˆ [²E¨¡
âG~ á!„xQˆ!þ%q""¼ñF"Š¨¡ë®‹,¢H®ƒtÐtÌÑCŒLÔˆ#rˆðÈ#¼	$‘@"ÉµØJ‚ëtëÈ$ÉJÔ%•<bI%•qI%—\‚É»ðbb	$‰ððH&šlnDApÒ‰'Ÿx"°&ƒ
(‹2
(ò>ûH%=RŠ²¦Œ2ŠÀ‡Ê)wÒI(c\‰%£’ÊÄñ„*¼ñ)«¬rŠ*§°Â1(ž´"ð%™rÂá
*¬€bñË¯tBóÆ{¢‰&¡|Š)° Q#±ü!KÑ¡ØÌqÒ¯p|Š'?½Ê+¯ÌRÐAó¡
+«Ä2J(ªœÝÉ*¼"³þØ¯È3%B°-.-µ$íñÝª(­Ê+ª,Ž¶,x£}ˆ-·PôOd@.‹ß‡×½Šç§è6ãŽ€‡åà’‹*²Ä‹,ã}wÌ‘.º.ìby)¼ôÂ
+¨ø’'±@Š' ˆ’·Ò‘óáB¨3 Ë!¿ “,¼L1E´CF/Ž´3+ÔrH@OÑ¤¢ƒ09€1Ì[Ó@¸ D1Æpàw-±8†‚p Ô5É‚2–‘
fÃ4 @!šá\À; „’âÀ€“Xî HE18€‹g,cqB q†àdÀ…ÂáQ4j!iÄ€“ÀÅC‚  jTCþÁ¨—¬Ñƒ*LÁ
¹yáVvÃ&`‚3v¨d\CØƒ²!,B_ Bv|#ÜÆ‰E`‚² ldÐ7Ðfd€{ðÆÎ`ŸüøÑfã7ð€4(2„°ƒpPA'8‚ÄáoŒã’˜ÇøxŸ/C}i@!Ê‡è	°ÈžaLœC	°\D4z5ËhDC¸‡¬aµ†´Ø€R‹²äb¬¼ÎÁLt8óZè8‡3gA Á=„'ÙvÐ‚\|l°Ø(>	Q|â¢PX:EÁŠt4Àr±YÀ
ˆ<@5+k+Z
ñB8„,PA†Xsw±1I<ÏRXã –‹¨D'JÑŠ.$  ;   07070100060728000041ed0000000000000001000000033d1ffa6e00000000000000200000000000000000000000000000001600000003reloc/kdestyle/telnet 07070100061f1e000041ed0000000000000001000000023d1ffa6e00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/telnet/images  07070100061f1f000081a40000000000000002000000013d1fe2e50000088b000000200000000000000000000000000000002600000003reloc/kdestyle/telnet/images/icon.gif GIF89a0 0 ç  666nnn’êÊf:ú2’’’öæ®&&&¾Š&îî¶ö’þêÎîÚšþÂ‚âÆšZZZÆžvêêê®Ž.zBæÊ¢þþŠ
îîîöòÖ
þþâ>>>žžžŠn^þ–&ÂÂÂþæºþŽÒÒÒŽŽŽòò‚NNNž–Æ®†þöæúª^òÚ²âÊžÖ®‚îîÆ–––Ö¾šBBB¶¶¶rVNêÚ¾ÞÆ¢þö¾¶–~žnVîÞºŠŠŠþ®VâÎj‚‚‚þþú¢~bÚÎ~¶ŽnÞÞÞþæªòÊŠ^>2Ú²nfffRF:îÖŽ22ÆÆÆ


Æºf¾¦~¢‚zrrrææænRFÎÎÎþöÎþþžöÖ¢¾¾¾222öÞ¦îÎnþºnòÒ‚â¾Žªªªþî®Þ¶†îÒvúÚ–þÞžþþÂF6*þê¶öò¦...~~~òò¶VVVbB6úòŠêÎšþþÒÚÚÚvRFFFîÆ–âââÊÊÊÖÖÖòºzŽrf¾–vºººþú¾ÚÆ–îÒ¦þâª***""®®®JJJbbbÆ¦Ž"""þÎ†þò¾RRR¦†f:::zzzþÞªòî’²²²þÒ’þÖ¢þî¶þêªª†~^^^âÊ†þúæjjjîÎžæÎžþÎŽòÖ®
vvvþ¾fúÖ’þþþJJNÚ¶nBBFòÞžZZ^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°!B #JœH±¢Åˆ³œÚÈ±£Ç CžÊà €SRªT9¡å”)vì™)G<$rV©rçN“Ÿ!BdÉBª¤Á“+W¶œð2&™5o’À¹³gŸA‡5ZiR•/›B­i“êNž>›ÍÊ§¨I”);8‘ªP¡TuïÚÅ»·.^¿yùòìö(Ü…<Äàñ#’€$Ñé@"O(.JI˜+A¯RÅ0Àc)†"ê EÐÌ4C<5˜Fá®‡W•àqÊt'CmNLnýÚ‰ìÙ|hØö<ôŒ?ÖœÐIS›T3iAð •ñã§”þSºýî„B‘HIIr*BäÉÔpO¼xòÍÍ§@ýT£ÈÂiçlÇDÉø	tÒL1Cì5ÒF#…p$_wßw !	þ³à¤â^
×Á#ò]ÖJ}¹¡Ç‹nLt
%„pÈœ‚§05Å*4rB!tÀ×š"Ýe*Gì!b¡Ã tà¢5vøá@9Ã‰´†À!­ 0åJ!FWqÃ¡ÇŸìáVž“[vÀ¥jXöš˜KÖ1A,qAf|¡ŸÀñÆ'™¸QgS©ha)Ÿ‚pwlz rÅbD1Ä“ÄaÆ$/|ðÂ'W˜±ÄþO"ðVLv¬"È­p÷ ˜(Òoˆ°ÅC ÒÀôÑQ˜R¢ˆÑ&7žäT!D>°+¯NtpÄ9LbF-|Qèp2	ATrA²a¨Pƒ¸	n3±Ê¦ž´’
NâÆC1Ä˜C¼0	q4ðÂârr	‹!†œžY;S!N pl(ùEA<alñâÆ±CH4À8üÑpE±GÇ§QÓ*A"‘b`ò†$/HqHòG;¬¼…›(À'8¨Ä±q˜"ÐdR‘¼Á	pä Êf˜ÊK Æ”ÊÁþÔ› Û‡)z]Óu †œ0b‰¹[XÁ /!Ë@Àˆ—l2j}Qs'••JEL!ÄÖ€p1„­â‡hàüÂ&[_ÒðôáEà¸IE8EG¨Š8 FÄ"˜È8$,“pÒG^ô±‚bl`N$Œ>‘üÂä—`ñÂïNB±a8¸0Äq`ÊžrS¿Gä¢>ðÚ¬‡"X`u}Áü`ä`[¸Ä^T‚w†!AHàŠïía[ Å† Šd}bb€0ƒ^€(	¸€l‚)úð†Äè-¬B!8q
rb`þe`(šfN˜/ÜqöA ò»B¾pRÜ+ƒhIKšà&1 K.˜Ø»°ÂL"°A(\p·ä®MuÒ`O´8”.&ïqcÂÂ €A>(ƒº†?,â Ñ:‚¬ø–9à‘k©£¼h†> ÁC¸þàƒ°€= )ºÀ M%ˆþNÂ“&  ÐÊ`ø.¾‹S{AÂ@ ô¬dp@)JAE–€‘†Ñb$³PPÂ–Pà"F`@<«ˆ’DP#” •«AzÒC
RŒ³œäŒ„\‡+¡’ÀAÜ8@ÏJJB’m*'2R ‰$BŽH€È€(œ"Yf¸gŒ$â‡@d)¸@p@Q\B^
ÊÑÏB’ ÃFz2ˆƒM)Þ„8X`czHDJg*HLIëÄ Mw
‰ž;ªP‡JÔ¢*$  ; 07070100015c5e000081a40000000000000002000000013d1fe2ea00000036000000200000000000000000000000000000001a00000003reloc/kdestyle/theme.info depends=0.990
desc=KDE-style Icon Theme
version=0.990
  0707010006355a000041ed0000000000000001000000033d1ffa6e00000000000000200000000000000000000000000000001400000003reloc/kdestyle/time   07070100064d35000041ed0000000000000001000000023d1ffa6e00000000000000200000000000000000000000000000001b00000003reloc/kdestyle/time/images    07070100064d36000081a40000000000000002000000013d1fe2e50000066f000000200000000000000000000000000000002400000003reloc/kdestyle/time/images/icon.gif   GIF89a0 0 ç     è«á¢Ú–ÒŠË~Âr»g´\®S	¦I
Ÿ>™3‘)‹ð· í³ç«â¡ºf…€ñ¹ ï· ì±Æy¢Cz€‰‘'š5¤D
­R	µ^½jÅv¡?{Ç{w x}	ƒ”-ž;¨J
°W¸dÀoÉ|Ù–¢AzÝ¬/‡%™3¬P	¼iÄuÍ‚Õë°{‚´odäËÃùóðÿÿÿûõïïÛÂÜª_Ñ‡Ù”î³( ~Ð¤ îÒÝ›M: £€„¿«€ÜÜÜ€€€pppOOO   ÃÃÃpopüõ8îè1ÓÎ"»¶£ž
|||ÿ˜˜ÿÿ  ÿ''ÿÿÿKKÿ**ÿÎÎÿÿ..òòíÿÕÕÿÅÅÿ©©ÿ""ÿÂÂóóâóòáÿ‚‚ððÓððÌÿÇÇêê©êêžÿ¬¬ÿèèèácÙÖ^ÿöð5èâ9×Ñ0ÇÂ ÿ……ÿTTÿ··ÿ]]èá.ÖÑ$ÇÂ¸³ÿ$$ÿ££öï5èá-ÆÁ¨¥ÿ¦¦›—ÿ»»·³èâ.¸´F 	½‚‡èâ-èÄŠÓ¥¡çâ.èÇžË{…”š)Â}eéÐÃûõððÛÂÜ©`ÏÕ‹ä¥Œ’˜&ž1¥<¬F²Q¸Z	¼b	ÂkÇtÍ~Ó‡Ø‘Þšã¢è©¤£££¤£££¤¤£¤££££¤¤¤¤¤©L	.£8©C°MµW»`	ÀhÅqÑ„ÖÜ–áŸæ¨ë¯ïµ Àpzzzzzyyyzyzzzyzyzyyyy¾l¥F
¹\	¾eÃnÉwÛ“àé¬¬O	ã¥ÕÎƒÆw·a±X«N	:–/ÓŒË¶_°U	›7"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡HœH‘"Dˆ@ €(XÀ ‰x !‚Ž'„YÒ…
 R&`á†6pèàáˆ"FQâ¦‰œ:ò<E
+°háâŒ2Ì@£Ô¨ °á`Ã9thØ€G?28 r-AµlƒB¤ˆ#G$Q²D/“¾~6aëäÉáË—¡DÑ+%òA l§`m„Š^ÈžÿvP…4æ*§S§eëztlÙi×¾|mE«wó>™²¢•ãÇs® @o…Æ‘K?~E"[æ»_`ºwéW°þ,ÇNZâs„Ý¿?¾¶ùíÐÕ[É¢¥õá-â¯«æÂ¥‹—/`(wÞgÇeaßnYäGsýýg„€ð¡'iY„±p~•v¨¥5áh^¨šþ=Ü€b&Æd´XˆêÜagqÈff´xF‹d Yˆ2Žhâ‰~vY-ªaÄ-²ñcŒÛ1×FCÚ¸fn¼Çaq´(Ç“"27U¢‘kuðøŒbgÇ4ªfæŒ¤ñØ"`ê‡]zÄi¥„¤íÁ‹-æyy}øqÙ{žYÛ<*Ña€"È 4þ)f„B†!‡¢£¤‡q"‰(²s’gþŒÑÊŸ#$É"‘<Ø*f’ØÉ£†Á¸¦Êë$Fü
¬qPB!”ÆòH®T	³Î~Xì±ŽX’ê%Û6[¤£ÞZ¸¹ªº-lçÒ™îebÂV&Õ:¢‰®¼±‰™®Î[áZpÒ‰±€x¢¬Ÿ€ð¼O†Â–(£RŠ)‡™r
*©¨¢×* ÅÈ$—lrÉ²ÒŠ+¯À‹,³ÐR‹-·à’‹.»ð‚A£ ôâË/ÀôŒ0Áó‹/À-Ì0Dû1Ås2É(³3 4ãÌ3ÐD#Í4Ô¬r5Ö\S6Õd£Í5Ö`cMÛÛd³6Öl3ÜtãÍO7à„Ó±8ã¬B5åPpÃ<W¤øâ HcNç “7ê¬Ãí¸“C+88nÀð<=ð<ÄÐ0ôà „
(ã¿Énûí ; 07070100067ac4000041ed0000000000000001000000033d1ffa6f00000000000000200000000000000000000000000000001900000003reloc/kdestyle/useradmin  0707010006a8c8000041ed0000000000000001000000023d1ffa6f00000000000000200000000000000000000000000000002000000003reloc/kdestyle/useradmin/images   0707010006a8cb000081a40000000000000002000000013d1fe2e50000079f000000200000000000000000000000000000002900000003reloc/kdestyle/useradmin/images/icon.gif  GIF89a0 0 ç  
–š^jþþb"¨øêŠâÚf’†‚2’š¢£^ –¾Ž.Z.ÉªqþæÈr~J½`ÞŽ.¾º¶®zv0"®þêÚ¾ŠèŽ,¿uáïî^fRî¦D’r:¾šz›ùè¦¶šÒtÌøöŠÆÊæÂ¢Ú®€¥†G‘ëØ6*òÎ®î.ÞþþiR:T|R0Ï†9‚FF‚öô H(ï¯~â¡qê¾´¢zwòš&bšŠüúåZNÌbÞ¶‚¿}Iú½«ÛªoÊ‚6šæâe39G	 xLó R6Vjìûûð¨QMÂ’†ž’bä©©õþþ’ú÷ßzøÊªÀÌ°¢Z:†Fb¢’e:¿›˜ØÀ¼ˆ8¢’zÚÒª‚YO4M*Òm)Ôt&ûš0ÆŽ2ä”Nvz‚Ž¾²ö²©§òÝû¨SÐ›WÖª†Ú^þýí‹û÷íªmÞˆ(O['¶žfÝ¾¨:$vvZõÄ¸Þ´´¶r.Vvv>2èœCýš?þÒ¢íÇ½ ˆtŽNýýò¶îæÌ™ÁµÆ®ÆªšNëµÃ¢Þæà ’ÅŠk®j.þ¶^Î”oZ666JJ¤j?Ú¶ŠLRLù“'t5à‚Þ~:¨æôÔŸwäŠHŠÜÒ62>Ô{ú¢n˜ýúþ¾‚úÊÄÓl€ýüB&*àÈ¸ü AìÁÄdB8Žhh‚²ŽäžXJF"egé³¢š^bú²[÷ÅÉ:2wýü~Žvß½ºvîösƒh¶ŠR´tÚ™V¿¡WÉl	¿/ÖŽ¶Ž’Úr
ü¨>ÏKtY÷½½t@Õ‚/Ñ­§”êð…S3²‡mNJRÂ¦‚¾ÞÖÒ¢¤û•6nf.ƒïíò¦–î†.j.(þñÕþÃ³¢ïðþ¶j†ýúëªaÞ¦Vrª‚’ÎÊzNFBbBñš>â´´¾’VÓ|'þÕÀýýü¶f*îºž¸ˆ„í²švZNÓ¶ªÖÎÒ±†Æþþý 4Ãw(ÏtNŠnàyM.&‘W6«âÒ¿nV&k¯žÖ¢’ üù†BbŠ’æn&û½íÑÃì³¯ñ¡Dÿÿÿ!ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜ884 Ñ4èìÞ:«¾ø˜ôš/ÁY²¤¢G>|nÜð5eQÞ Ø1Rj¼)*ô4¸n	p7&.ñèñ†(b“Ö…óvajjmSƒhÑhøÐ±iSœüÞ+Ž»[òÖh0¢Áß!˜jÉ æ†©l6]Ë†æ<ˆÄ‰Ó¥`j!êÎ62«‘Àr±â©4C›„kÝ¥&vqºõa(PÊ”ÝµmÛª2Òzlè‘fêxüYÈqë$N»šTnâL÷íÜ¼ü€Æ4ñÂâ3¡þB›ÆË/g´?Ü‚.Û#ÜŽÔ©{odiSâ3‹É¹nùêx£ÞÐA‰3(tÆ/5øSÐ`Ž4¥`!E`àË”X—
ÁÜÂŽ7Ûð6þ€Rƒ:¼¨cGè óÃuÌPð$ø‰2·É‡‚7-Ô’À#s”òÙ‰]˜G†T "‰=QãJ'i”°B ³\pÁ(ÓÅmdìñH!â$EA¬óÅ!êäF‰H’	CitBM&chÑ†<[ÜõAt PJ3lÂJ=…ä²1ôÒ"/d0²BÌP³•®¤Ñg7\ìrÉ¨\²Æ2¨AN¬„Ç&þý¤O-ðŠ“hSI¦¹âë}–áÎî8w‰?C59¿ A‰’£‰?åÑÆXÙ«¯®t [äãÌë\ðf.Í1Yp‡¡ü"†&FtÁK5ú\“‰¯uâïô8`Dî@“ôÍ>âÄ!‚*¼D?¬ôÍÛøÓí¼àŠ ½'5ZÖÂÅÞp0Å Ç»ü\!
£"H?ûÜƒ‚Ö,cƒÇ ãy%¨tãÌÉë˜13psÌ	n|ò‰›„
,ß<òÅ*Ö˜¸ÒÇ0AÊ”ä‰!‹¸¡G9ºdQŒ9üä,V+áGþ2X3Ë)ñØÓ‰CÌ¸B3ñÔQË:òÄ0Å1¦¼#G2@l"Èßô£D.¿<ƒˆ“¼ñŠ$L@äoÒ À@¹¸ØÂˆ/Ù°"ˆ*¿ôÃƒ bˆÁ9!ÄÐòF t Q§hq…^öÒ‹<üR»Él‡8¸7“
W¼Ï…†lØr.-$ „¤ÇnÀ›L*ÑˆQŒ)¨ôA!E®dR€lBÂ1“8!à‡¬/Â`ôD YÀ€ i¸H
P<ph…>Ì‘‡< aó0…(Ü0a¨À¨D/’‰L0£ö =Â ˆÀ‚„pÁ3F‘‡P$€O˜@†‘‘°ù‹ö6èÐˆQÈ¡ãp7`¡„<ðDÄF^@jÄâL>Œá‰DdÁ*p^?ŽÄ_þÊÄ q@Ð€nˆƒ ¢±	7„[/>À ‹<Œà"8’	iüÁ‹Œ¤$'IÉJZò’˜Ì¤& ; 0707010006d60e000041ed0000000000000001000000033d1ffa6f00000000000000200000000000000000000000000000001600000003reloc/kdestyle/webmin 0707010006ee3c000041ed0000000000000001000000023d1ffa6f00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/webmin/images  0707010006ee5f000081a40000000000000002000000013d1fe2e5000008ff000000200000000000000000000000000000002600000003reloc/kdestyle/webmin/images/icon.gif GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**,    0 0  þ å	H°`¡‚*\ÈPž¥D×Jœ¸p¡D3j”°³s5ŠTXÈ@Fº–Érà²S®šxctJ’%t-EòÀ
tÊ®<A”HeÈœ-%VåÊycX]æ	9•8‘&DÇÊS	W<,ê.Fg ³¹r º£"-ib„îÝ¶Ÿ¨ŽiÈ‡OŸ’Ì3'‰™¹DGJ07ã˜D¹f Qùa`£BÌä4!b‹Ñ ­ý`¹‘§–8À°åJ@’ÐÁª,°:,Á^Á°ÂÂ’oçnAk!¯¹ *dUË¢'\¬y»®9(t°:	²dqT¦Ýf™þq¸"AÞK4fÝk‡iØ(0ƒXh2Çl™øXâöÍòäŠË4“x…°²Ã*&ØðÏÀŽšxc.ƒ´ÒŠ,¾ ¡H'ô`
 LtŽ9Â(!Ð2«œÁÅÚD À‹©´SH#\ì¢#¹dÄ“Î‹ ÐsŽDÌ¬òòœs<ÈÃMm@ñ¢Ë2Æ5Qø`Å TlÐ†*Ï ÉN7-“„»'É¯òÈÌaÄQBqÉ-óTÀˆuÄG 2P&„0„ŽpkœÈ5ë$9
‘LòF ö¨òG=`€ÁŠ{ØD*2Ø3è‹.,„Ž9ÞdòÔ9ó0RNqþ¨6‘¤ÃãÓh0Cˆ2 'l2* ì,“f¡@Q!’´rE#ævD Í‹DÄ+ò¼c&& €@ $ ©ÔÐ20Bœ<Ì°ðK
I&ÁòtðMP@1$û "Ž, ´ñ%èiGAè˜ÉH"Ô-£‹]|°Ž&¦¼2³ÿ`£M<o4ò8ÐNÃ¼‰! 0*Ý$‰9ÝXŠËÜ‚H?±rŠ‡TÁŒ&§è1‡oøÃ&uÈcÎ!xÀ1Q,£N:¾˜„<’œÃˆ5¶„á	ŽVXC¦¬…4;x²ƒÀà3(hÀB þ&wpò"Á #J:£" Oò€â2ÐD‘B
ë€è80Æ´\3†cPÄñ¼…"è”!Í1|hq<ó#©ËðCÐ¿D$ÐWÐ+Ï((qÐ:ˆôãÄ7@qÂ1ˆÂ$Ñ à#¬H×/ÒÓÍ%µ9´òÐq…%°ÀÂÅ‰ #‰ôCªŒBBÿpòL*$¼"‡@jŽî$€P3M’<ñƒPdå D`hÁ…v @PP0ü¡Ž ´!L¸‹@Úáº)!à‘ "‘$#•i„.®€ˆWœÚPÅ7*1	#l
m–$4ÑÔ€þÔcÂB„.d‚bYÂtwkbºH2œ@uäÃm8Abà‚1Ü‚[`Û€þÚA‰v(dD ÷4ƒT4Ðx…2‘v<C/jC°tàÎqáÔ€õ,¤Þ`!<ŒBœ#Kt(%Fe¼6DüX†T$¤"!Òˆ&(!+»ðD
–ŠfÌ3q  ¥`x¸Dc Lo ÷È@¢€_|¡2X"x°ƒ]˜ØÃ
AA'°# 0!4|ð…©av`BÐx£Qò¸FUÀ°Ž`„&å¸E0n§$t#ËéàÁÑŒ˜š%è@	âÆ(@«JÀÅ G R °3‘„Oâž¸‚'4—Œ\ƒ–Ø(LÁˆ+,{°83æÁVÃÐP‚@²Ž+ðr$ï `#Pñ…VÐ{…°„9 qaØâH@'A:ª.xb¬úEy
Ñ3˜Â¥†¸§•‚¼ã?ØB¸µŒDtCÐÐÅÊÓÕ…pÁ‰ØA,q
aø JmëB> Fø ¯`„8©×†4Â``„)t‘×Â2ä°¯˜A›‘,cÊ leSàBÍj$+” ; 070701000703dd000041ed0000000000000001000000033d1ffa6f00000000000000200000000000000000000000000000001900000003reloc/kdestyle/webminlog  07070100071c2f000041ed0000000000000001000000023d1ffa6f00000000000000200000000000000000000000000000002000000003reloc/kdestyle/webminlog/images   07070100071c30000081a40000000000000002000000013d1fe2e500000849000000200000000000000000000000000000002900000003reloc/kdestyle/webminlog/images/icon.gif  GIF89a0 0 ç  
+%RN&H>

'#!.* 

		¦¦(ßâ îòæêpk òöòú÷úöúòöòö"îô+–•ÌÎ+×Õ8'[Sëî,¾½'ª¦:Þî2‚™“%UT4(îúËÌ8v~&âîJqvRJ:^VJrråé)Žš‰’ÎÞ6xtVÞÞŽêöŠRNjn%%ÂÆ(¨²*¢²6ž®zvF<;ººîòîöÖÞNnb4²²JÆÊêî$êîêî¶º"†Š>Šz^znRNS72ˆˆÜß+æêâæææßâ9ž¢
Ñ×ÎÞÒæ®¶ßâ×Ú9*"&²¾ÛÞ#ž #^ZÌÐRáæÒÔ6fZfÍÎ–š.ÊÎZÖ×B×Ú.ÂÂ'*2	¾º>ÈÈNÍÐAÙÚ'ÚÚÊÊ*jfB>>E5	žšÐØ,ÖÖ%«®),*ÆÆ7ÐÒ(ÐÒÌÐLHF
fbZ¬¨(ÄÆ>ÆÆ"ÉÊÌÎQMA

¬­ ¾¾ÂÂÆÆÆÆf`¦¢ºº¾¾¹º¾¾
¶¶³²nn
ª­²²¶¶ºº¶¶¶²¶º¶¶]gž¦&²²¦®__­²²®°·²¶‚†2®®KH°¬­­
š¢"nl$¯®B6B62,.¥§yv"2,,B>£­®¸–’BjfŒŠ"êú*ˆTZv~–Š2jn2!ÂÊ:Ž†,fj
BB6:LB
66ÎÒ®²!zv^fšžJ"*86ŠŽ'À¾R2nv.6&6–š:ÚÚŠŽ††BÓ×ÙàZZ
éî3ª¢(ÂÂ
ÂÆvr&®²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœè@ 0p  ‚,`À Á‚‘&	¨Té ¥ˆ @ˆ a…
r^¸`ƒÏœ=bÈ¡B8¨ØAÃÎ>€øé³ªÕª=yÍBÄK† F(1` 'Pt°ÚÓj
¶xZ¨AÅŠ¯
°háâ
%b|ÁB¶XÛn5j!‚ŒKóÒ¨áÂÆ6rèØÁ#BÐ­Dƒºóh„=,àã‡ 'ù dH"D2)²7î"D€'Á±‘«”8r#Á$
’œPb‰oßLˆ/Y"¡	“Dšþˆ!Ã‰‚ÕOt@‰²@
‰)I¨T‘±ÄŠ}+Lò[‘pE†	LH`Ê…x%À9P]ì@Yø'à}V\1 X¨!_|q`PXb1)Á@f€‘Åv8`‡gŒ(â"†Ah€FC ¨‘A@Ál´áFc@0¢”Wœ"„øÅ\ŽáÁªU Ä1sÐÑFU¸Á%QF	çvtiGnÜGé±iÒÑA~¸átÚ¡¨¢u4ê‡mÐñ éa‚¼qÇ¨!ˆ [²E¨¡
âG~ á!„xQˆ!þ%q""¼ñF"Š¨¡ë®‹,¢H®ƒtÐtÌÑCŒLÔˆ#rˆðÈ#¼	$‘@"ÉµØJ‚ëtëÈ$ÉJÔ%•<bI%•qI%—\‚É»ðbb	$‰ððH&šlnDApÒ‰'Ÿx"°&ƒ
(‹2
(ò>ûH%=RŠ²¦Œ2ŠÀ‡Ê)wÒI(c\‰%£’ÊÄñ„*¼ñ)«¬rŠ*§°Â1(ž´"ð%™rÂá
*¬€bñË¯tBóÆ{¢‰&¡|Š)° Q#±ü!KÑ¡ØÌqÒ¯p|Š'?½Ê+¯ÌRÐAó¡
+«Ä2J(ªœÝÉ*¼"³þØ¯È3%B°-.-µ$íñÝª(­Ê+ª,Ž¶,x£}ˆ-·PôOd@.‹ß‡×½Šç§è6ãŽ€‡åà’‹*²Ä‹,ã}wÌ‘.º.ìby)¼ôÂ
+¨ø’'±@Š' ˆ’·Ò‘óáB¨3 Ë!¿ “,¼L1E´CF/Ž´3+ÔrH@OÑ¤¢ƒ09€1Ì[Ó@¸ D1Æpàw-±8†‚p Ô5É‚2–‘
fÃ4 @!šá\À; „’âÀ€“Xî HE18€‹g,cqB q†àdÀ…ÂáQ4j!iÄ€“ÀÅC‚  jTCþÁ¨—¬Ñƒ*LÁ
¹yáVvÃ&`‚3v¨d\CØƒ²!,B_ Bv|#ÜÆ‰E`‚² ldÐ7Ðfd€{ðÆÎ`ŸüøÑfã7ð€4(2„°ƒpPA'8‚ÄáoŒã’˜ÇøxŸ/C}i@!Ê‡è	°ÈžaLœC	°\D4z5ËhDC¸‡¬aµ†´Ø€R‹²äb¬¼ÎÁLt8óZè8‡3gA Á=„'ÙvÐ‚\|l°Ø(>	Q|â¢PX:EÁŠt4Àr±YÀ
ˆ<@5+k+Z
ñB8„,PA†Xsw±1I<ÏRXã –‹¨D'JÑŠ.$  ;   07070100073406000041ed0000000000000001000000033d1ffa6f00000000000000200000000000000000000000000000001600000003reloc/kdestyle/wuftpd 07070100074a7d000041ed0000000000000001000000023d1ffa6f00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/wuftpd/images  07070100074a7e000081a40000000000000002000000013d1fe2e50000064b000000200000000000000000000000000000002600000003reloc/kdestyle/wuftpd/images/icon.gif GIF89a0 0 ç  ==>QgpgcFcX.XnSlla88**$&&2fœ^Šœ’~LNŠ”f‚lNN<9B7::,ÒÊ\ÂºdÒžDÒ®t¶¾lBzÜ>r¤/^±VN,*>L*6DYa]9=3®’Læ²Tæ¶\æÆtÚº|ÛÂn¶º”Ö²tV’ÔJ‚´6nœjjL*Nl*B\Bae;F~´ÎÒ„âÞƒÖÎ|¾Â|¢ªL®ºdR‚Ä&Z¬&N¤&Fd6T0CQ%;æÒ”öÒ¤öÞ´âÎ”ÞÚœÎÊ„Æº”fžÜ^Š¼R^„Jb´&R|:d9ZšÔ¾Ò¼öæÌâæ´æÊ„Î¦džžMJb„B”B|.$<ž¶¤ÚÞÜöâÔöÞÌêâ”ÖÒŒ²ždšš\Bj|:d°264:þîäþöìàÞ´ÖÖ¤Æ¾l²®i:n´6j´LLE&<BzÄn²Ô²Ê¼¬²l¾ž\¶‚LVz\62>vÄÆÎ¼RsŒ1.#9rªÜ¢šDRŠÔ.V¤%:^žä¦ºÜîÎŒÎ¾„b~œ66-b¢Üzºä–šœj–¬RŽäJ†¼*) êâ´v®ÄÖÚ¼ÚÆtÂÊl&.C")>$9V‚Œ-4F"7¾¶\Ff”FHN¢–\rŽl>R|"F|¤ªhŽjDj^$  .b”ž~L–ƒU~jLJF,BGU   .ZŒJ~Ä²–L}vJjfD^V4Šƒ-Y‹5m›=q£AyÃ=uÃ5i³•‚T¡™C‘U}K}iKaV+UM+QE3%-B)#:EUŠ‚‚
†ÿÿÿþþü„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç0€@@@Á	88ð å?"H˜@B…
.`È a‡<| BÄ%LX8C
+Xtlá‚Âˆ/`Ä¡ÀÄ5lØ¸#‡Ž;N”àÑÃÇ A~B„F…"FlA’CcJ–ø`Â¸ÉNÐxBJR¦ ¡’±Ê	+W°0É"ZË–A¸ÌèâåËšs€¹æ‹+X²ˆƒ…Œ“2NÌœáÂ¥š4˜§äÈ¡Æâ6mÜìCÝG™/ÞÀ‰#š/2þžc±
6uÄLÇb×‰“'\ìX`sÃÍîTÄsAIb`ANŒÀƒzØ±Ç|t¤SLqÍMÔ
&øñ‡zú ˆP ˆ	{,HáM1ÇƒPÔ&RHhLøà„!‡ò„	ˆì‘È|h ˜Ùs(BÑ.˜`By,b£!Œ´‘ÇŽˆð8Ÿƒ*·¢‹taÂ~(Ñˆ#$òH„ðhbÉ-I$I‚{ø1Ä&lñB“ìÑãl°áàR	$”PT	
{(©!„(áÂ–²‡—ØÑ r„ºy &UÁÆ	*æJœp† ™@¡É%þ›ØÇ‰¡¬Q^t(iÂ£„ ºG'd’‰'ŸHÁÉ
9º†­

¤–ª„¤¢@Ñê(¤¤P
aÉ°†)‚Ê.œJ%²¡JŒ²
+)´²A² @…+µð
,±Ä"Ë, ÓR‹-·à’‹.»ðÒA/¾ì°Ã/ÀHÌÄWlñÅŒÆ?tÊ0 ‡21"—lòÉÃãÐÇÅãrË-¿ì²ËÆÔlÌ06×Œ³Í «ÌË3ÃôÌÄC2ÑFÓ<óÍ)ÿ<ŒÐBË¼ôÑÃ(]µÑW“<Ì)õÐÅ´l³ËY_=6Ù\+ä51Q³ôÑd']tÕt§œvB»3+Ûa]´ß8ÇM6É;rÈÉ®xáU¬1ÆS,ÌãÛdùå˜g®9G ; 07070100075ffd000041ed0000000000000001000000033d1ffa6f00000000000000200000000000000000000000000000001600000003reloc/kdestyle/xinetd 07070100077751000041ed0000000000000001000000023d1ffa6f00000000000000200000000000000000000000000000001d00000003reloc/kdestyle/xinetd/images  07070100077752000081a40000000000000002000000013d1fe2e50000053d000000200000000000000000000000000000002600000003reloc/kdestyle/xinetd/images/icon.gif GIF89a0 0 ç     ÿÿÿéÛÎþüûâÒÆøðìÝÍÀ¦œ¨þþýñéÝÕÄ¹“§áÒÅ™¦po¥ùôïÚÉ½ˆ¦hi¦úöñÕÅº‡¥ôêàÊº³|y¥þþûëÞÑ»­­~{¥öïèáÑÅ¯£ªts¥üúõÝÍ¿”Œ¦kk¦õíâÒÁ¸Š…¥ce¦÷ðêÏ¿¶‚~¥íáÕÀ±¯wu¥æ×Ê¶©«zw¥ðæÙ©©on¥øóêÖÅºŽˆ¦df¦îâÖÉ¸²‚}¥]`¥þüýÉ·²ôêâåÖÊ¹«¬qp¥ùôíõíäßÐÃ­¡©sr¥ÑÀ· ”§õêääÕÈÅ³°óêàˆƒ¥bc¦æ×Ì¿°¯X\¥õëæ‡¦ut¥¯£©£˜¨|¥ïãØ×Ç»¥›¨mm¥Ç·²…¥SW¥ëáÑÆ¶±]_¥ßÎÂµ§«òéßãÕÈ¶¨¬äÕÊÓÃ¹¦›¨çÙÌÏ¿µgh¦×È»¾®­†¦¼­­xv¥WZ¥¬Ÿ©kl¦OT¥ÛÊ¾_a¦Ã³°`b¦³§«²¤ª¢—§IM¤ãÒÅÒÁ·£˜§¼­®VY¥ûø÷ÚÊ½NR¤ðåÙåÖÉ¾­®X[¥AF¡“Œ¦Ç¸²š’¦¨ž¨LP¤–¦Í¼µ°£ª~¥UX¥«©Ž‡¦DI¢BG¢GK£{y¥9>žÍ»´¥™¨HL£lm¦<?ŸJM¤;?Ÿ=@ 15˜04—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jT cG‚?n, €I –0€@Ê‘ 0pàå? (X`æÍ 8°	à„zŽ,9B¢,\À ti8íàáˆª„1‚Ñ&N  ›±d
+ˆN`ÑÂÛ¶^ÀˆAT„4îbPÃÆDsèØÁC0G‘ôHàƒªÊ@‚qœpå¶ ˆ1r„¨ $I’N\©d	° š¨pò„(”(1¤pŽ<E „Tª¢¡E¢,X1K€(W° 6 ‹–-\ˆzè2¢vE ^žþ|&1DÇ92Þ¢ÇÈeÌœ	¬M5Ó}
°†Í‚6D¹ñèé·ßqÈ1QiÐQ‡»­¦ÁF¨¶Ÿ,€G„«‘ÇzÅÆ,hàMwð!D{û]Ð~pØdûýH Þíg‚ T"#B RF!=9·Á	î×B .ò#u‡ bB"<©Èu8©(²È“$¥ÁŒd·8Ò˜Jo<Â$`’dD$X<¡åM’LBI%DYrI˜ÄIdBT<¡	Q}lb'‚’ q‹7©1ž€''àð	Q”€bG(‘. 	¢Œ©J•RŠ)©>öžJ!¨ë®¼öêë¯À+ì°' ;   07070100078eb5000041ed0000000000000001000000023d1ffa7200000000000000200000000000000000000000000000000b00000003reloc/lang    07070100078eb6000081a40000000000000002000000013d1fe2b700001acf000000200000000000000000000000000000000e00000003reloc/lang/ca main_return=Torna $1
main_homepage=Pàgina Arrel
main_feedback=Opinions...
main_switch=Canvia l'Usuari...
main_logout=Surt
main_version=Versió $1 a $2 ($3)
main_title=Webmin $1 a $2 ($3)
main_title2=Webmin
main_none=No tens accés a cap mòdul Webmin.
main_skill=Nivell de Coneixements

category_servers=Servidors
category_hardware=Maquinari
category_system=Sistema
category_webmin=Webmin
category_net=Xarxa
category_syslet=Syslets
category_cluster=Cluster
category_info=Informació
category_=Altres

header_webmin=Índex de Webmin
header_module=Índex de Mòduls
header_help=Ajuda...
header_config=Configuració del Mòdul
header_servers=Servidors Webmin

index=a l'índex
yes=Sí
no=No
save=Desa
create=Crea
delete=Suprimeix
find=Busca
error=Error
default=Defecte
modify=Modifica
reset=Reinicia
ok=Bé
cancel=Cancel·la
helpsearch=Busca documents...
switch_remote_euser=L'usuari Unix $1 no existeix.
programname=Webmin

chooser_title1=Tria Fitxer...
chooser_title2=Tria Directori...
chooser_dir=Directori de $1
chooser_ok=Bé

users_title1=Selecciona els Usuaris...
users_title2=Selecciona l'Usuari...
users_sel=Usuaris seleccionats
users_all=Tots els Usuaris
users_ok=Bé
users_cancel=Cancel·la
users_clear=Neteja

groups_title1=Selecciona els Grups...
groups_title2=Selecciona el Grup...
groups_all=Tots els Grups
groups_sel=Grups Seleccionats
groups_ok=Bé
groups_cancel=Cancel·la
groups_clear=Neteja

config_ecannot=No tens permís per configurar aquest mòdul
config_title=Configuració
config_dir=$1
config_header=$1: Opcions configurables
config_none=Cap
config_eaccess=No tens permís per accedir a aquest mòdul
config_err=No he pogut desar la configuració

help_err=No he pogut mostrar l'ajuda
help_epath=Hi falta el camí de l'ajuda o bé no és vàlid
help_efile=No he pogut llegir el fitxer d'ajuda $1
help_eheader=Hi falta la secció &lt;header&gt;
help_einclude=No he pogut incloure $1
help_eif=$1 ha fallat: $2
help_eexec=$1 ha fallat: $2

referer_title=Avís de Seguretat
referer_warn=<b>Atenció!</b> Webmin ha detectat que el programa $2 és un enllaç a l'URL $1, que sembla ser que queda fora del servidor Webmin. Això pot ser un intent d'enganyar el servidor per tal que executi una ordre perillosa.
referer_warn_unknown=<b>Atenció!</b> Webmin ha detectat que el programa $1 és un enllaç a un URL desconegut, que sembla ser que queda fora del servidor Webmin. Això pot ser un intent d'enganyar el servidor per tal que executi una ordre perillosa.
referer_ok=Continua executant el programa Webmin
referer_again=No tornis a mostrar aquest avís

session_header=Entrada a Webmin
session_mesg=Per entrar al servidor Webmin de $1, has d'introduir un nom d'usuari i una contrasenya.
session_mesg2=Per entrar, has d'introduir un nom d'usuari i una contrasenya.
session_user=Usuari
session_pass=Contrasenya
session_login=Entra
session_clear=Neteja
session_failed=L'entrada ha fallat. Prova-ho un altre cop, si et plau.
session_logout=Has sortit amb èxit. Fes servir el formulari de sota per tornar a entrar.
session_timed_out=La sessió s'ha cancel·lat després de $1 minuts d'inactivitat.
session_save=Recorda la contrasenya

acl_root=Directori arrel del selector de fitxers
acl_home=Directori arrel de l'usuari
acl_uedit=Usuaris visibles en el selector d'usuaris
acl_uedit_all=Tots els usuaris
acl_uedit_none=Cap usuari
acl_uedit_only=Només els usuaris
acl_uedit_except=Tots excepte els usuaris
acl_uedit_uid=Usuaris amb UID en el rang
acl_uedit_group=Usuaris amb grup
acl_gedit=Grups visibles en el selector de grups
acl_gedit_all=Tots els grups
acl_gedit_none=Cap grup
acl_gedit_only=Només els grups
acl_gedit_except=Tots excepte els grups
acl_gedit_gid=Grups amb GIDs en el rang
acl_feedback=Pot enviar ciorreus d'opinió
acl_feedback2=Sí
acl_feedback1=Sí, però no amb fitxers de configuració
acl_feedback0=No
acl_rpc=Pot fer crides RPC
acl_rpc2=Només per a <tt>root</tt> o <tt>admin</tt>
acl_rpc1=Sí
acl_rpc0=No

month_1=Gener
month_2=Febrer
month_3=Març
month_4=Abril
month_5=Maig
month_6=Juny
month_7=Juliol
month_8=Agost
month_9=Setembre
month_10=Octubre
month_11=Novembre
month_12=Desembre

day_0=Diumenge
day_1=Dilluns
day_2=Dimarts
day_3=Dimecres
day_4=Dijous
day_5=Divendres
day_6=Dissabte

smonth_1=Gen
smonth_2=Feb
smonth_3=Mar
smonth_4=Abr
smonth_5=Mai
smonth_6=Jun
smonth_7=Jul
smonth_8=Ago
smonth_9=Set
smonth_10=Oct
smonth_11=Nov
smonth_12=Des

sday_0=Dmg
sday_1=Dll
sday_2=Dmt
sday_3=Dmc
sday_4=Djs
sday_5=Dvs
sday_6=Dss

emodule=Accés denegat : L'usuari $1 no té permís per utilitzar el mòdul $2
elock_tries=No he pogut blocar el fitxer $1 després de $2 minuts

skill_high=Expert
skill_medium=Mitjà
skill_low=Passerell

feedback_title=Informe d'Opinió
feedback_desc=Aquest formulari et permet informar de defectes o fer suggeriments als desenvolupadors de Webmin sobre qulasevol problema o mancança de funcionalitats que hagis trobat. Quan facis clic sobre el botó Envia, s'enviaran a $1 els detalls introduïts al formulari.
feedback_header=Detalls
feedback_name=El teu nom
feedback_email=La teva adreça electrònica
feedback_module=Pel que fa al mòdul
feedback_all=Tots els mòduls
feedback_text=Descripció del problema o suggerència
feedback_os=Inclou els detalls del sistema operatiu amb el correu electrònic
feedback_osdesc=Si selecciones aquesta opció, el correu inclourà el nom i la versió del teu sistema operatiu.
feedback_config=Inclou la configuració del mòdul amb el correu electrònic
feedback_configdesc=Si selecciones aquesta opció, el correu inclourà la configuració del mòdul relacionat i el contingut de qualsevol fitxer de configuració utilitzat pel mateix. Per exemple, si l'informe té a veure amb el mòdul d'<i>Usuaris i Grups</i>, s'enviaran els fitxers <tt>/etc/passwd</tt> i <tt>/etc/shadow</tt>.
feedback_attach=Fitxers addicionals per adjuntar
feedback_send=Envia
feedback_mailserver=Envia a través d'un servidor SMTP
feedback_mailserver_def=Programa sendmail local
feedback_err=No he pogut enviar l'informe
feedback_emodule=Has triat d'incloure la configuració del mòdul en el correu, però no has seleccionat cap mòdul
feedback_emodule2=El mòdul seleccionat no existeix
feedback_econfig=No tens un accés complet al mòdul seleccionat.
feedback_via=He enviat l'informe a $1 a tarvés del servidor SMTP $2.
feedback_prog=He enviat l'informe a $1 fent servir el programa $2 de sendmail.
feedback_esend=No he pogut enviar l'informe a través del programa sendmail ni del servidor SMTP local.
feedback_to=Envia les opinions a les adreces
feedback_enoto=No has introduït cap adreça per enviar les opinions
feedback_ecannot=No tens permís per enviar opinions
feedback_ecannot2=No tens permís per enviar opinions que contenen fitxers de configuració

progress_size=Descarregant $1 ($2 bytes)...
progress_nosize=Descarregant $1...
progress_data=S'han rebut $1 bytes ($2 %)
progress_data2=S'han rebut $1 bytes
progress_done=...descàrrega completa.


 07070100078eb7000081a40000000000000002000000013d1fe2b700000600000000200000000000000000000000000000000e00000003reloc/lang/cz main_return=Zpìt na $1
main_homepage=Hlavní strana
main_feedback=Feedback..
main_switch=Pøepnout u¾ivatele ..
main_version=Verze $1 na $2 ($3)
main_title=Webmin $1 na $2 ($3)

category_servers=Servery
category_hardware=Hardware
category_system=Systém
category_webmin=Webmin
category_net=Sí»ování
category_=Ostatní

header_webmin=Webmin Index
header_module=Module Index
header_help=Help..
header_config=Module Config
header_servers=Webmin Servers

index=index
yes=Ano
no=Ne
save=Zapsat
create=Vytvoøit
delete=Smazat
find=Najít
error=Chyba
default=Standartní
modify=Zmìnit
reset=Reset
ok=OK
cancel=Kancel

chooser_title1=Vybrat soubor..
chooser_title2=Vybrat adresáø..
chooser_dir=Adresáø $1
chooser_ok=Ok

users_title1=Vybrat u¾ivatele..
users_title2=Vybrat u¾ivatele..
users_sel=Vybraní u¾ivatelé
users_all=V¹ichni u¾ivatelé
users_ok=Ok
users_cancel=Cancel
users_clear=Vyèistit

groups_title1=Vybrat skupiny..
groups_title2=Vybrat skupinu..
groups_all=V¹echny skupiny
groups_sel=Vybrané skupiny
groups_ok=Ok
groups_cancel=Cancel
groups_clear=Vyèistit

config_ecannot=Nemáte oprávnìní pro konfiguraci tohoto modulu
config_title=Konfigurace
config_dir=Pro modul $1
config_header=Konfiguraèní mo¾nosti pro $1
config_none=Nic
config_eaccess=Nemáte oprávnìní pro pøístup k tomuto modulu

help_err=Nemohu zobrazit nápovìdu
help_epath=Chybìjící cesta k souboru nápovìdy
help_efile=Chyba pøi ètení souboru nápovìdy $1
help_eheader=Chybìjící &lt;header&gt; section
help_einclude=Nemohu vlo¾it $1
help_eif=$1 chyba : $2
help_eexec=$1 chyba : $2

07070100078eb8000081a40000000000000002000000013d1fe2b700001eec000000200000000000000000000000000000000e00000003reloc/lang/de #        webmin-0.97     /lang/de
#
#        created: ??.??.????                by: ????
#        last modified: 03-jun-2002         Rev.: 03-06-2002
#        modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                      durch:
# letzte &Auml;nderung: 03.06.2002         Rev.: 03-06-2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

main_return=Zur&uuml;ck zu $1
main_homepage=Homepage
main_feedback=R&uuml;ckmeldung...
main_switch=Benutzer wechseln...
main_logout=Abmelden
main_version=Version $1 auf $2 ($3)
main_title2=Webmin
main_title=Webmin $1 auf $2 ($3)
main_none=Sie haben f&uuml;r kein Webmin-Modul Zugriffsrechte.
main_skill=Qualifikations-Stufe

category_servers=Server
category_hardware=Hardware
category_system=System
category_webmin=Webmin
category_net=Netzwerk
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Sonstiges

header_webmin=Webmin-Index
header_module=Modul-Index
header_help=Hilfe...
header_config=Modul-Konfiguration
header_servers=Webmin-Server

index=Startseite
yes=Ja
no=Nein
save=Speichern
create=Erstellen
delete=L&ouml;schen
find=Finden
error=Fehler
default=Standard
modify=Modifizieren
reset=Reset
ok=OK
cancel=Abbruch
helpsearch=Suche in der Hilfe

switch_remote_euser=Der Unix-Benutzer $1 existiert nicht.

programname=Webmin

chooser_title1=W&auml;hle Datei...
chooser_title2=W&auml;hle Verzeichnis...
chooser_dir=Verzeichnis von $1
chooser_ok=OK

users_title1=W&auml;hle Benutzer...
users_title2=W&auml;hle Benutzer...
users_sel=Gew&auml;hlte Benutzer
users_all=Alle Benutzer
users_ok=OK
users_cancel=Abbrechen
users_clear=L&ouml;schen

groups_title1=W&auml;hle Gruppen...
groups_title2=W&auml;hle Gruppe...
groups_all=Alle Gruppen
groups_sel=Gew&auml;hlte Gruppen
groups_ok=OK
groups_cancel=Abbrechen
groups_clear=L&ouml;schen

config_ecannot=Sie haben nicht die Berechtigung, die Konfiguration dieses Moduls zu &auml;ndern
config_title=Konfiguration
config_dir=F&uuml;r Modul $1
config_header=Konfigurierbare Einstellungen f&uuml;r $1
config_none=Keine
config_eaccess=Sie haben keine Berechtigung zum Zugriff auf dieses Modul
config_err=Speichern der Konfiguration gescheitert

help_err=Fehler beim Anzeigen der Hilfe
help_epath=Fehlender Hilfe-Pfad
help_efile=Fehler beim Lesen der Hilfe-Datei $1
help_eheader=Fehlender &lt;header&gt; Teil
help_einclude=Fehler beim Einbinden von $1
help_eif=$1 schlug fehl : $2
help_eexec=$1 schlug fehl : $2

referer_title=Sicherheits-Warnung
referer_warn=<b>Warnung!</b> Webmin hat entdeckt, da&szlig; auf das Programm $2 von der URL $1 verwiesen wurde, welche scheinbar au&szlig;erhalb des Webmin-Servers liegt. Dies kann ein Versuch sein, ihren Server auszutricksen, um ein gef&auml;hrliches Kommando auszuf&uuml;hren.
referer_warn_unknown=<b>Warnung!</b> Webmin hat entdeckt, da&szlig; das Programm $1 mit einer unbekannten URL verkn&uuml;pft wurde, welche ausserhalb des Webmin-Servers zu liegen scheint. Dies kann ein Versuch sein, ihren Server auszutricksen, um ein gef&auml;hrliches Kommando auszuf&uuml;hren.
referer_ok=Weitermachen mit dem Ausf&uuml;hren
referer_again=Diese Warnmeldung in der Zukunft nicht mehr anzeigen

session_header=Anmelden bei Webmin
session_mesg=Sie m&uuml;ssen einen Benutzernamen und ein Passwort zur Anmeldung am Webmin Server auf $1 eingeben.
session_mesg2=Sie m&uuml;ssen einen Benutzernamen und ein Passwort zur Anmeldung eingeben.
session_user=Benutzername
session_pass=Passwort
session_login=Anmelden
session_clear=Zur&uuml;cksetzen
session_failed=Anmeldung fehlgeschlagen. Bitte versuchen Sie es noch einmal.
session_logout=Abmeldung erfolgreich. Benutzen Sie das nachfolgende Formular um sich erneut anzumelden.
session_timed_out=Sitzung abgebrochen nach $1 Minuten ohne Aktivit&auml;t.
session_save=Anmeldung dauerhaft speichern

acl_root=Hauptverzeichnis f&uuml;r Dateiauswahlfenster
acl_home=Benutzer Heimat-Verzeichnis
acl_uedit=Sichtbare Benutzer in Benutzerauswahl
acl_uedit_all=Alle
acl_uedit_none=Keine
acl_uedit_only=Nur folgende
acl_uedit_except=Alle au&szlig;er
acl_uedit_uid=Benutzer mit UIDs im Bereich
acl_uedit_group=Benutzer aus der Gruppe
acl_gedit=Sichtbare Gruppen in Gruppenauswahl
acl_gedit_all=Alle
acl_gedit_none=Keine
acl_gedit_only=Nur folgende...
acl_gedit_except=Alle au&szlig;er...
acl_gedit_gid=Gruppen mit GIDs im Bereich...

acl_feedback=Darf R&uuml;ckmeldungs-Email senden?
acl_feedback2=Ja
acl_feedback1=Ja, aber ohne Konfigurations-Dateien
acl_feedback0=Nein
acl_rpc=Darf RPC-Aufrufe machen?
acl_rpc2=Nur f&uuml;r <tt>root</tt> oder <tt>admin</tt>
acl_rpc1=Ja
acl_rpc0=Nein

month_1=Januar
month_2=Februar
month_3=M&auml;rz
month_4=April
month_5=Mai
month_6=Juni
month_7=Juli
month_8=August
month_9=September
month_10=Oktober
month_11=November
month_12=Dezember

day_0=Sonntag
day_1=Montag
day_2=Dienstag
day_3=Mittwoch
day_4=Donnerstag
day_5=Freitag
day_6=Samstag

smonth_1=Jan
smonth_2=Feb
smonth_3=Mrz
smonth_4=Apr
smonth_5=Mai
smonth_6=Jun
smonth_7=Jul
smonth_8=Aug
smonth_9=Sep
smonth_10=Okt
smonth_11=Nov
smonth_12=Dez

sday_0=So
sday_1=Mo
sday_2=Di
sday_3=Mi
sday_4=Do
sday_5=Fr
sday_6=Sa

emodule=Zugriff verweigert: Benutzer $1 ist nicht berechtigt, das $2 Modul    zu benutzen
elock_tries=Sperren der Datei $1 nach $2 Minuten gescheitert

skill_high=Experte
skill_medium=Fortgeschritten
skill_low=Neuling

feedback_title=Webmin-R&uuml;ckmeldung
feedback_desc=Dieses Formular erlaubt Ihnen, den Webmin-Entwicklern Fehler zu melden oder Vorschl&auml;ge zu machen bez&uuml;glich eines Fehlers oder einer fehlenden Eigenschaft, die Sie gefunden haben. Wenn die Senden-Schaltfl&auml;che gedr&uuml;ckt wird, werden die eingegebenen Details gesendet an $1.
feedback_header=R&uuml;ckmeldung-Einzelheiten
feedback_name=Ihr Name
feedback_email=Ihre email-Adresse
feedback_module=betreffendes Modul
feedback_all=Alle Module
feedback_text=Beschreibung des Problems oder Vorschlag
feedback_os=Betriebssystem-Details in email einbeziehen?
feedback_osdesc=Wenn diese Option gew&auml;hlt ist, wird die automatische R&uuml;ckmeldung Bezeichnung und Version Ihres Betriebssystems beinhalten.
feedback_config=Modul-Konfiguration in email einbeziehen?
feedback_configdesc=Wenn dies gew&auml;hlt ist, wird die email die Konfiguration des betreffenden Modules und die Inhalte s&auml;mtlicher Konfigurationsdateien die das Modul benutzt beinhalten. Zum Beispiel: wenn sich die R&uuml;ckmeldung auf das Modul <i>Benutzer und Gruppen</i> bezieht, werden Ihre <tt>/etc/passwd</tt> und <tt>/etc/shadow</tt> Dateien gesendet!
feedback_attach=Zus&auml;tzliche Dateien anf&uuml;gen
feedback_send=Sende R&uuml;ckmeldung
feedback_mailserver=Sende via SMTP-Server
feedback_mailserver_def=Lokales Sendmail-Programm
feedback_err=R&uuml;ckmeldung senden gescheitert
feedback_emodule=Sie w&auml;hlten Modul-Konfiguration in email einbeziehen, aber haben kein Modul ausgew&auml;hlt.
feedback_emodule2=Gew&auml;hltes Modul existiert nicht
feedback_econfig=Sie haben keinen Vollzugriff zum ausgew&auml;hlten Modul.
feedback_via=Sende R&uuml;ckmeldung zu $1 via SMTP-Server $2
feedback_prog=Sende R&uuml;ckmeldung zu $1 mit Sendmail-Programm $2
feedback_esend=R&uuml;ckmeldung senden via Sendmail-Programm oder lokalem SMTP-Server gescheitert.
feedback_to=Sende R&uuml;ckmeldung zu Adresse(n)
feedback_enoto=Keine Adressen zum Senden der R&uuml;ckmeldung eingegeben
feedback_ecannot=Sie sind nicht berechtigt, eine R&uuml;ckmeldung zu senden.
feedback_ecannot2=Sie sind nicht berechtigt, eine R&uuml;ckmeldung mit enthaltenen Konfigurations-Dateien zu senden.

progress_size=Herunterladen $1 ($2 Bytes) ...
progress_nosize=Herunterladen $1 ...
progress_data=Empfangen $1 Bytes ($2 %)
progress_data2=Empfangen $1 Bytes
progress_done=... Herunterladen komplett.07070100078eb9000081a40000000000000002000000013d1fe2b7000019db000000200000000000000000000000000000000e00000003reloc/lang/en main_return=Return to $1
main_homepage=Home Page
main_feedback=Feedback..
main_switch=Switch user..
main_logout=Logout
main_version=Version $1 on $2 ($3)
main_title=Webmin $1 on $2 ($3)
main_title2=Webmin
main_none=You do not have access to any Webmin modules.
main_skill=Skill level

category_servers=Servers
category_hardware=Hardware
category_system=System
category_webmin=Webmin
category_net=Networking
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Others

header_webmin=Webmin Index
header_module=Module Index
header_help=Help..
header_config=Module Config
header_servers=Webmin Servers

index=index
yes=Yes
no=No
save=Save
create=Create
delete=Delete
find=Find
error=Error
efilewrite=Failed to write to $1 : $2
default=Default
modify=Modify
reset=Reset
ok=OK
cancel=Cancel
helpsearch=Search docs..
switch_remote_euser=The Unix user $1 does not exist.
programname=Webmin

chooser_title1=Choose File..
chooser_title2=Choose Directory..
chooser_dir=Directory of $1
chooser_ok=Ok

users_title1=Select Users..
users_title2=Select User..
users_sel=Selected Users
users_all=All Users
users_ok=Ok
users_cancel=Cancel
users_clear=Clear

groups_title1=Select Groups..
groups_title2=Select Group..
groups_all=All Groups
groups_sel=Selected Groups
groups_ok=Ok
groups_cancel=Cancel
groups_clear=Clear

config_ecannot=You are not allowed to configure this module
config_title=Configuration
config_dir=For module $1
config_header=Configurable options for $1
config_none=None
config_eaccess=You are not allowed to access this module
config_err=Failed to save config

help_err=Failed to display help
help_epath=Missing or invalid help path
help_efile=Failed to read help file $1
help_eheader=Missing &lt;header&gt; section
help_einclude=Failed to include $1
help_eif=$1 failed : $2
help_eexec=$1 failed : $2

referer_title=Security Warning
referer_warn=<b>Warning!</b> Webmin has detected that the program $2 was linked to from the URL $1, which appears to be outside the Webmin server. This may be an attempt to trick your server into executing a dangerous command.
referer_warn_unknown=<b>Warning!</b> Webmin has detected that the program $1 was linked to from an unknown URL, which appears to be outside the Webmin server. This may be an attempt to trick your server into executing a dangerous command.
referer_ok=Continue executing Webmin program
referer_again=Don't show this warning in future.

session_header=Login to Webmin
session_mesg=You must enter a username and password to login to the Webmin server on $1.
session_mesg2=You must enter a username and password to login.
session_user=Username
session_pass=Password
session_login=Login
session_clear=Clear
session_failed=Login failed. Please try again.
session_logout=Logout successful. Use the form below to login again.
session_timed_out=Session timed out after $1 minutes of inactivity.
session_save=Remember login permanently?

acl_root=Root directory for file chooser
acl_home=User's home directory
acl_uedit=Users visible in user chooser
acl_uedit_all=All users
acl_uedit_none=No users
acl_uedit_only=Only users
acl_uedit_except=All except users
acl_uedit_uid=Users with UIDs in range
acl_uedit_group=Users with group
acl_gedit=Groups visible in group chooser
acl_gedit_all=All groups
acl_gedit_none=No groups
acl_gedit_only=Only groups
acl_gedit_except=All except groups
acl_gedit_gid=Groups with GIDs in range
acl_feedback=Can send feedback email?
acl_feedback2=Yes
acl_feedback1=Yes, but not with config files
acl_feedback0=No
acl_rpc=Can make RPC calls?
acl_rpc2=Only for <tt>root</tt> or <tt>admin</tt>
acl_rpc1=Yes
acl_rpc0=No

month_1=January
month_2=February
month_3=March
month_4=April
month_5=May
month_6=June
month_7=July
month_8=August
month_9=September
month_10=October
month_11=November
month_12=December

day_0=Sunday
day_1=Monday
day_2=Tuesday
day_3=Wednesday
day_4=Thursday
day_5=Friday
day_6=Saturday

smonth_1=Jan
smonth_2=Feb
smonth_3=Mar
smonth_4=Apr
smonth_5=May
smonth_6=Jun
smonth_7=Jul
smonth_8=Aug
smonth_9=Sep
smonth_10=Oct
smonth_11=Nov
smonth_12=Dec

sday_0=Su
sday_1=Mo
sday_2=Tu
sday_3=We
sday_4=Th
sday_5=Fr
sday_6=Sa

emodule=Access denied : User $1 is not allowed to use the $2 module
elock_tries=Failed to lock file $1 after $2 minutes

skill_high=Expert
skill_medium=Intermediate
skill_low=Novice

feedback_title=Webmin Feedback
feedback_desc=This form allows you to report bugs on make suggestions to the Webmin developers regarding any problems or missing features that you have found. When the Send button is clicked, the details entered into the form will be emailed to $1.
feedback_desc2=This feedback will be sent to the developer of Usermin, not your system administrator, ISP or hosting company. Please write your feedback in english, even if you are currently running Webmin in another language.
feedback_header=Feedback details
feedback_name=Your name
feedback_email=Your email address
feedback_module=Regarding module
feedback_all=All modules
feedback_text=Description of problem or suggestion
feedback_os=Include operating system details in email?
feedback_osdesc=If this option is selected, the automatic feedback email will include your operating system name and version.
feedback_config=Include module configuration in email?
feedback_configdesc=If this is selected, the email will include the configuration of the related module and the contents of any config files that the module uses. For example, if the feedback was related to the <i>Users and Groups</i> module, your <tt>/etc/passwd</tt> and <tt>/etc/shadow</tt> files would be sent.
feedback_attach=Additional files to attach
feedback_send=Send Feedback
feedback_mailserver=Send via SMTP server
feedback_mailserver_def=Local sendmail program
feedback_err=Failed to send feedback
feedback_emodule=You chose to include module configuration in the email, but did not select a module.
feedback_emodule2=Selected module does not exist
feedback_econfig=You do not have full access to the selected module.
feedback_via=Sent feedback to $1 via SMTP server $2
feedback_prog=Sent feedback to $1 using sendmail program $2
feedback_esend=Failed to send feedback via sendmail program or local SMTP server.
feedback_to=Send feedback to addresses
feedback_enoto=No addresses were entered to send feedback to
feedback_ecannot=You are not allowed to send feedback
feedback_ecannot2=You are not allowed to send feedback containing config files

progress_size=Downloading $1 ($2 bytes) ..
progress_nosize=Downloading $1 ..
progress_data=Received $1 bytes ($2 %)
progress_data2=Received $1 bytes
progress_done=.. Download complete.

 07070100078eba000081a40000000000000002000000013d1fe2b7000010a7000000200000000000000000000000000000000e00000003reloc/lang/es main_return=Volver a $1
main_homepage=Página Inicial
main_feedback=Comentarios...
main_switch=Cambiar usuario...
main_logout=Salir de login
main_version=Versión $1 en $2 ($3)
main_title=Webmin $1 en $2 ($3)
main_none=No tienes acceso a ningún módulo de Webmin.
main_skill=Nivel de inteligencia

category_servers=Servidores
category_hardware=Hardware
category_system=Sistema
category_webmin=Webmin
category_net=Trabajando en Red
category_syslet=Conectores de Sistema
category_=Otros

header_webmin=Índice de Webmin
header_module=Índice de Módulo
header_help=Ayuda...
header_config=Configurar Módulo
header_servers=Servidores de Webmin

index=índice
yes=Sí
no=No
save=Salvar
create=Crear
delete=Borrar
find=Hallar
error=Error
default=Por defecto
modify=Modificar
reset=Limpiar
ok=Ok
cancel=Cancelar
helpsearch=Buscar documentos...

chooser_title1=Seleccionar Archivo...
chooser_title2=Seleccionar Directorio...
chooser_dir=Directorio de $1
chooser_ok=Ok

users_title1=Seleccionar Usuarios...
users_title2=Seleccionar Usuario...
users_sel=Usuarios Seleccionados
users_all=Todos los Usuarios
users_ok=Ok
users_cancel=Cancelar
users_clear=Limpiar

groups_title1=Seleccionar Grupos...
groups_title2=Seleccionar Grupo...
groups_all=Todos los Grupos
groups_sel=Grupos Seleccionados
groups_ok=Ok
groups_cancel=Cancelar
groups_clear=Limpiar

config_ecannot=No estás autorizado a configurar este módulo
config_title=Configuración
config_dir=Para el módulo $1
config_header=Opciones configurables para $1
config_none=Ninguna
config_eaccess=No estás autorizado a acceder a este módulo

help_err=No puedo mostrar la ayuda
help_epath=Trayectoria de ayuda sin poner o inválida
help_efile=No puedo leer archivo de ayuda $1
help_eheader=Sección de &lt;cabecera&gt; perdida
help_einclude=No puedo incluir $1
help_eif=$1 falló : $2
help_eexec=$1 falló : $2

referer_title=Aviso de Seguridad
referer_warn=<b>¡Aviso!</b> Webmin ha detectado que el programa $2 fue enlazado desde la dirección (URL) $1, la cual parece estar fuera del servidor Webmin. Esto puede ser un intento de engañar a tu servidor y hacerle ejecutar un comando peligroso.
referer_warn_unknown=<b>¡Aviso!</b> Webmin ha detectado que el programa $1 fue enlazado desde una dirección (URL) desconocida, la cual parece estar fuera del servidor Webmin. Esto puede ser un intento de engañar a tu servidor para que ejecute un comando peligroso.
referer_ok=Continuar ejecutando el programa Webmin
referer_again=No mostrar este aviso en el futuro.

session_header=Hacer login a Webmin
session_mesg=Debes de digitar un nombre de usuario y una clave de acceso para hacer login al servidor de en $1.
session_user=Nombre de usuario
session_pass=Clave de acceso
session_login=Hacer login
session_clear=Limpiar
session_failed=Falló el login. Por favor, prueba otra vez.
session_logout=Salida de login OK. Usa el formulario inferior para hacer login otra vez.
session_timed_out=La sesión se terminó tras $1 minutos de inactividad.
session_save=¿Recordar login permanéntemente?

acl_root=Directorio raíz para selector de archivos
acl_uedit=Usuarios visibles en selector de usuarios
acl_uedit_all=Todos los usuarios
acl_uedit_none=Ningún usuario
acl_uedit_only=Sólo los usuarios
acl_uedit_except=Todos excepto los usuarios
acl_uedit_uid=Usuarios con UIDs en rango
acl_uedit_group=Usuarios con grupo
acl_gedit=Grupos visibles en selector de grupo
acl_gedit_all=Todos los grupos
acl_gedit_none=Ningún grupo
acl_gedit_only=Sólo los grupos
acl_gedit_except=Todos excepto los grupos
acl_gedit_gid=Grupos con GIDs en rango

month_1=Enero
month_2=Febrero
month_3=Marzo
month_4=Abril
month_5=Mayo
month_6=Junio
month_7=Julio
month_8=Agosto
month_9=Septiembre
month_10=Octubre
month_11=Noviembre
month_12=Diciembre

day_0=Domingo
day_1=Lunes
day_2=Martes
day_3=Miércoles
day_4=Jueves
day_5=Viernes
day_6=Sábado

smonth_1=Ene
smonth_2=Feb
smonth_3=Mar
smonth_4=Abr
smonth_5=May
smonth_6=Jun
smonth_7=Jul
smonth_8=Ago
smonth_9=Sep
smonth_10=Oct
smonth_11=Nov
smonth_12=Dic

sday_0=Do
sday_1=Lu
sday_2=Ma
sday_3=Mi
sday_4=Ju
sday_5=Vi
sday_6=Sá

emodule=Acceso denegado: El usuario $1 no está autorizado a usar el módulo $2
elock_tries=No pude bloquear el archivo $1 tras $2 minutos

skill_high=Experto
skill_medium=Intermedio
skill_low=Novicio

 07070100078ebb000081a40000000000000002000000013d1fe2b7000010d0000000200000000000000000000000000000000e00000003reloc/lang/fr main_return=Retourner à $1
main_homepage=Page principale
main_feedback=Commentaires ...
main_switch=Changer d'utilisateur
main_logout=Sortie
main_version=Version $1 sur $2 ($3)
main_title=Webmin $1 sur $2 ($3)
main_none=Vous n'avez accès à aucun module Webmin.
main_skill=Niveau de compétence

category_servers=Serveurs
category_hardware=Matériel
category_system=Système
category_webmin=Webmin
category_net=Réseau
category_syslet=Syslets
category_=Autres

header_webmin=Index de Webmin
header_module=Index du Module
header_help=Aide
header_config=Configuration du Module
header_servers=Serveurs Webmin

index=l'index
yes=Oui
no=Non
save=Sauvegarder
create=Créer
delete=Supprimer
find=Trouver
error=Erreur
default=Défaut
modify=Modifier
reset=Reset
ok=OK
cancel=Annuler
helpsearch=Chercher dans la documentation ...

chooser_title1=Choisir un fichier
chooser_title2=Choisir un répertoire
chooser_dir=Répertoire de $1
chooser_ok=OK

users_title1=Choisir les utilisateurs
users_title2=Choisir l'utilisateur
users_sel=Utilisateurs choisis
users_all=Tous les utilisateurs
users_ok=OK
users_cancel=Annuler
users_clear=Effacer

groups_title1=Choisir les groupes
groups_title2=Choisir un groupe
groups_all=Tous les  groupes
groups_sel=Groupes choisis
groups_ok=OK
groups_cancel=Annuler
groups_clear=Effacer

config_ecannot=Vous n'êtes pas autorisé à configurer ce module
config_title=Configuration
config_dir=du module $1
config_header=Options configurables de $1
config_none=Aucun
config_eaccess=Vous n'avez pas accès à ce module

help_err=Impossible d'afficher l'aide
help_epath=Chemin d'aide manquant
help_efile=Impossible de lire le fichier d'aide $1
help_eheader=Section &lt;header&gt; manquante
help_einclude=Impossible d'inclure $1
help_eif=$1 impossible : $2
help_eexec=$1 impossible : $2

referer_title=Avertissement de Sécurité
referer_warn=<b>Attention !</b> Webmin a détecté que le programme $2 a été indiqué par l'URL $1 qui est en dehors du serveur Webmin. Ce peut être une tentative de faire éxecuter par votre serveur une commande dangereuse.
referer_warn_unknown=<b>Attention !</b> Webmin a détecté que le programme $1 a été indiqué par une URL inconnue, qui est en dehors du serveur Webmin. Ce peut être une tentative de faire éxecuter par votre serveur une commande dangereuse.
referer_ok=Continuer en éxecutant le programme
referer_again=Ne plus montrer cet avertissement à l'avenir

session_header=Connection à Webmin
session_mesg=Vous devez entrer un nom d'utilisateur et un mot de passe pour vous connecter au serveur Webmin sur $1.
session_user=Nom d'utilisateur
session_pass=Mot de passe
session_login=Login
session_clear=Effacer
session_failed=Echec du login. Essayez de nouveau.
session_logout=Sortie effectuée. Utilisez le formulaire ci-dessous pour vous connecter de nouveau.
session_timed_out=Session interrompue après $1 minutes d'inactivité.
session_save=Retenir le login de manière permanente ?

acl_root=Répertoire racine pour le sélecteur de fichier
acl_uedit=Utilisateurs visibles dans le sélecteur d'utilisateur
acl_uedit_all=Tous les utilisateurs
acl_uedit_none=Aucun utilisateur
acl_uedit_only=Seulement les utilisateurs
acl_uedit_except=Tous exceptés les utilisateurs
acl_uedit_uid=Utilisateurs avec UID dans l'intervalle
acl_uedit_group=Utilisateurs ayant le groupe
acl_gedit=Groupes visibles dans le sélecteur de groupe
acl_gedit_all=Tous les groupes
acl_gedit_none=Aucun groupe
acl_gedit_only=Seulement les groupes
acl_gedit_except=Tous exceptés les groupes
acl_gedit_gid=Groupes avec GID dans l'intervalle

month_1=Janvier
month_2=Février
month_3=Mars
month_4=Avril
month_5=Mai
month_6=Juin
month_7=Juillet
month_8=Août
month_9=Septembre
month_10=Octobre
month_11=Novembre
month_12=Décembre

day_0=Dimanche
day_1=Lundi
day_2=Mardi
day_3=Mercredi
day_4=Jeudi
day_5=Vendredi
day_6=Samedi

smonth_1=Janvier
smonth_2=Février
smonth_3=Mars
smonth_4=Avril
smonth_5=Mai
smonth_6=Juin
smonth_7=Juillet
smonth_8=Août
smonth_9=Septembre
smonth_10=Octobre
smonth_11=Novembre
smonth_12=Décembre

sday_0=Di
sday_1=Lu
sday_2=Ma
sday_3=Me
sday_4=Je
sday_5=Ve
sday_6=Sa

emodule=Accès refusé : l'utilisateur $1 n'est pas autorisé à utiliser le module $2
elock_tries=Echec du verrouillage du fichier $1 après $2 minute(s)

skill_high=Expert
skill_medium=Intermédiaire
skill_low=Novice
07070100078ebc000081a40000000000000002000000013d1fe2b700000847000000200000000000000000000000000000000e00000003reloc/lang/he main_return=çæåø àì  ä$1
main_homepage=ãó øàùé
main_feedback=îùåá..
main_switch=äçìôõ îùúîù..
main_version=âéøñà $1 òì $2 ($3)
main_title=Webmin $1 òì $2 ($3)
main_none=àéï ìê âéùä ìîåãåìéí ùì webmin.

category_servers=ùøúéí
category_hardware=çåîøä
category_system=îòøëú
category_webmin=Webmin
category_net=øùú
category_=ùåðåú

header_webmin=Webmin Index
header_module=àéðã÷ñ îåãåìéí
header_help=òæøä..
header_config=äâãøåú îåãåìéí
header_servers=Webmin ùøúé

index=àéðã÷ñ
yes=ëï
no=ìà
save=ùîåø
create=öåø
delete=îç÷
find=çôù
error=áòéä
default=áøéøú îçãì
modify=ùðä
reset=Reset
ok=OK
cancel=áéèåì

chooser_title1=áçø ÷åáõ..
chooser_title2=áçø úé÷éä..
chooser_dir=øùéîú ä÷áöéí á  $1
chooser_ok=àéùåø

users_title1=áçø îùúîùéí..
users_title2=áçø îùúîù..
users_sel=îùúîùéí ðáçøéí
users_all=ëì äîùúîùéí
users_ok=éàììä
users_cancel=áéèåì
users_clear=ð÷ä

groups_title1=áçø ÷áåöåú..
groups_title2=áçø ÷áåöä..
groups_all=ëì ä÷áåöåú
groups_sel=Selected Groups
groups_ok=éàììä
groups_cancel=Cancel
groups_clear=Clear

config_ecannot=àéï ìê äøùàä ìùðåú àú äúöåøä ùì äîåãåìéí
config_title=úöåøä
config_dir=ìîåãåì  $1
config_header=àôùøåéåú úöåøä ìîåãåì  $1
config_none=ììà
config_eaccess=àñåø ìê ìâùú ìîåãåì 

help_err=Failed to display help
help_epath=Missing help path
help_efile=Failed to read help file $1
help_eheader=Missing &lt;header&gt; section
help_einclude=Failed to include $1
help_eif=$1 failed : $2
help_eexec=$1 failed : $2

referer_title=àæäøú áèéçåú
referer_warn=<b>æäéøåú!</b> Webmin has detected that the program $2 was linked to from the URL $1, which appears to be outside the Webmin server. This may be an attempt to trick your server into executing a dangerous command.
referer_ok=Continue executing Webmin program
referer_again=àì úáìáì ìé àú äîåç ùåá.

month_1=éðåàø
month_2=ôáøåàø
month_3=îøõ
month_4=àôøéì
month_5=îàé
month_6=éåðé
month_7=éåìé
month_8=àåâåñè
month_9=àìåì
month_10=àå÷èåáø
month_11=ðåáîáø
month_12=çåøó

smonth_1=éðåàø
smonth_2=ôáøåàø
smonth_3=îøõ
smonth_4=àôøéì
smonth_5=îàé
smonth_6=éåðé
smonth_7=éåìé
smonth_8=àåâåñè
smonth_9=àìåì
smonth_10=àå÷èåáø
smonth_11=ðåáîáø
smonth_12=çåøó

 07070100078eef000081a40000000000000002000000013d1fe2b700000ccc000000200000000000000000000000000000000e00000003reloc/lang/hu # webmin-0.82/lang/hu
# Translated by <kissg@sztaki.hu>

main_return=Vissza $1
main_homepage=Webmin hálószem
main_feedback=Visszajelzés...
main_switch=Felhasználóváltás...
main_logout=Kilépés
main_version=Verziószám: $1. Gép: $2 ($3)
main_title=Webmin $1 a $2 ($3) gépen
main_none=Egyetlen Webmin modulhoz sincs hozzáférésed

category_servers=Kiszolgálók
category_hardware=Hardver
category_system=Rendszer
category_webmin=Webmin
category_net=Hálózat
category_=Egyéb

header_webmin=Webmin index
header_module=Modul index
header_help=Help...
header_config=Modul konfigurálás
header_servers=Webmin szerverek

index=az indexhez
yes=Igen
no=Nem
save=Mentés
create=Létrehozás
delete=Törlés
find=Keresés
error=Hiba
default=Szokásos
modify=Módosítás
# Nor 'ok' neither 'reset' is used in any situation
reset=Reset
ok=OK
cancel=Mégsem

chooser_title1=Válassz egy file-t
chooser_title2=Válassz egy katalógust
chooser_dir=A $1 katalógus
chooser_ok=Rendben

users_title1=Jelölj meg felhasználókat
users_title2=Válassz egy felhasználót
users_sel=Kiválasztott felhasználók
users_all=Minden felhasználó
users_ok=Rendben
users_cancel=Mégsem
users_clear=Törlés

groups_title1=Jelölj meg csoportokat
groups_title2=Válassz egy csoportot
groups_all=Minden csoport
groups_sel=Kiválasztott csoportok
groups_ok=Rendben
groups_cancel=Mégsem
groups_clear=Törlés

config_ecannot=Nincs jogod konfigurálni ezt a modult
config_title=Konfiguráció
config_dir=A "$1" modul számára
config_header=A "$1" modul konfigurálható opciói
config_none=Nincs
config_eaccess=Nincs jogod hozzáférni ehhez a modulhoz

help_err=Nem sikerült megjeleníteni a helpet
help_epath=Nincs beállítva a PATH_INFO változó
help_efile=Nem sikerült olvasni a $1 file-t
help_eheader=Hiányzik a &lt;header&gt; rész
help_einclude=Nem sikerült beilleszteni a $1 file-t
help_eif=$1 nem sikerült: $2
help_eexec=$1 nem sikerült: $2

referer_title=Biztonsági riadó
referer_warn=<b>Figyelem!</b> A Webmin észrevette, hogy a $2 programot a $1 URL-en lévõ dokumentumba bújtatott link révén akarják indítani, ami kicsit gyanús, mert nem ezen a Webmin szerveren van. Meglehet, hogy ez valami trükkös kísérlet arra, hogy egy veszélyes program induljon el a szerveren.
referer_ok=Hajtsd végre a kívánt programot!
referer_again=Máskor nem kérem ezt a figyelmeztetést

session_header=Belépés a Webminbe
session_mesg=Add meg az azonosítódat és a jelszavadat a $1 Webmin szerverbe való belépéshez
session_user=Azonosító
session_pass=Jelszó
session_login=Belépés
session_clear=Törlés
session_failed=Sikertelen belépési kísérlet. Próbáld meg újra!
session_logout=Kiléptetés végrehajtva. Újabb belépéshez használd az alábbi ûrlapot!
session_timed_out=$1 perces tétlenség után a munkafolyamat megszakítva.

acl_root=A file-menüben látható részfa gyökere
acl_uedit=A felhasználók menüjében ki szerepljen?
acl_uedit_all=Minden felhasználó
acl_uedit_only=Csak a felsoroltak:
acl_uedit_except=Mindenki, kivéve a felsoroltak:
acl_uedit_uid=A megadott UID tartományba esõ felhasználók:
acl_uedit_group=A megadott csoportba tartozó felhasználók:
acl_gedit=A csoportok menüjében mi szerepeljen?
acl_gedit_all=Minden csoport
acl_gedit_only=Csak a felsoroltak:
acl_gedit_except=Mindegyik, kivéve a felsoroltak:
acl_gedit_gid=A megadott GID tartományba esõ felhasználók:
07070100078ef0000081a40000000000000002000000013d1fe2b700000785000000200000000000000000000000000000000e00000003reloc/lang/it main_return=Ritorna a $1
main_homepage=Home Page
main_feedback=Feedback..
main_switch=Cambia utente..
main_version=Versione $1 su  $2 ($3)
main_title=Webmin $1 su $2 ($3)

category_servers=Servers
category_hardware=Hardware
category_system=Sistema
category_webmin=Webmin
category_net=Rete
category_=Altro

header_webmin=Indice Webmin
header_module=Indice dei Moduli
header_help=Aiuto..
header_config=Configurazione Moduli
header_servers=Webmin Servers

index=indice
yes=Si
no=No
save=Salva
create=Crea
delete=Elimina
find=Trova
error=Errore
default=Default
modify=Modifica
reset=Ripristina
ok=OK
cancel=Annulla

chooser_title1=Seleziona File..
chooser_title2=Seleziona Directory..
chooser_dir=Directory di $1
chooser_ok=Ok

users_title1=Seleziona Utenti..
users_title2=Seleziona Utente..
users_sel=Seleziona Utenti
users_all=Tutti gli Utenti
users_ok=Ok
users_cancel=Annulla
users_clear=Pulisci

groups_title1=Seleziona Gruppi..
groups_title2=Seleziona Gruppo..
groups_all=Tutti i Gruppi
groups_sel=Gruppi Selezionati
groups_ok=Ok
groups_cancel=Annulla
groups_clear=Pulisci

config_ecannot=Non hai i permessi per configurare questo modulo
config_title=Configurazione
config_dir=Per il modulo $1
config_header=Opzioni Configurabili per $1
config_none=Nessuno
config_eaccess=Non hai i permessi per accedere a questo modulo

help_err=Errore nella Visualizzazione dell'Help
help_epath=Percorso Help Mancante
help_efile=Errore nella lettura del file di help $1 
help_eheader=Manca la sezione &lt;header&gt;
help_einclude=Errore nell'inclusione di $1
help_eif=$1 Errore : $2
help_eexec=$1 Errore : $2

month_1=Gennaio
month_2=Febbraio
month_3=Marzo
month_4=Aprile
month_5=Maggio
month_6=Giugno
month_7=Luglio
month_8=Agosto
month_9=Settembre
month_10=Ottobre
month_11=Novembre
month_12=Dicembre

day_0=Domenica
day_1=Luned&igrave;
day_2=Marted&igrave;
day_3=Mercoled&igrave;
day_4=Gioved&igrave;
day_5=Venerd&igrave;
day_6=Sabato

   07070100078ef1000081a40000000000000002000000013d1fe2b700000f49000000200000000000000000000000000000001500000003reloc/lang/ja_JP.euc  main_return=$1 ¤ËÌá¤ë
main_homepage=¥Û¡¼¥à ¥Ú¡¼¥¸
main_feedback=¥Õ¥£¡¼¥É¥Ð¥Ã¥¯..
main_switch=¥æ¡¼¥¶¤òÀÚÂØ¤¨..
main_logout=¥í¥°¥¢¥¦¥È
main_version=$2 ($3) ¾å¤Î¥Ð¡¼¥¸¥ç¥ó $1
main_title=$2 ($3) ¾å¤ÎWebmin $1
main_none=Webmin ¥â¥¸¥å¡¼¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó¡£
main_skill=¥¹¥­¥ë ¥ì¥Ù¥ë

category_servers=¥µ¡¼¥Ð
category_hardware=¥Ï¡¼¥É¥¦¥§¥¢
category_system=¥·¥¹¥Æ¥à
category_webmin=Webmin
category_net=¥Í¥Ã¥È¥ï¡¼¥¯
category_syslet=Syslets
category_=¤½¤ÎÂ¾

header_webmin=Webmin ¥¤¥ó¥Ç¥Ã¥¯¥¹
header_module=¥â¥¸¥å¡¼¥ë ¥¤¥ó¥Ç¥Ã¥¯¥¹
header_help=¥Ø¥ë¥×..
header_config=¥â¥¸¥å¡¼¥ëÀßÄê
header_servers=Webmin ¥µ¡¼¥Ð

index=¥¤¥ó¥Ç¥Ã¥¯¥¹
yes=¤Ï¤¤
no=¤¤¤¤¤¨
save=ÊÝÂ¸
create=ºîÀ®
delete=ºï½ü
find=¸¡º÷
error=¥¨¥é¡¼
default=¥Ç¥Õ¥©¥ë¥È
modify=ÊÑ¹¹
reset=¥ê¥»¥Ã¥È
ok=OK
cancel=¥­¥ã¥ó¥»¥ë

chooser_title1=¥Õ¥¡¥¤¥ë¤ÎÁªÂò..
chooser_title2=¥Ç¥£¥ì¥¯¥È¥ê¤ÎÁªÂò..
chooser_dir=$1 ¤Î¥Ç¥£¥ì¥¯¥È¥ê
chooser_ok=OK

users_title1=¥æ¡¼¥¶¤ÎÁªÂò..
users_title2=¥æ¡¼¥¶¤ÎÁªÂò..
users_sel=ÁªÂò¤µ¤ì¤¿¥æ¡¼¥¶
users_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
users_ok=OK
users_cancel=¥­¥ã¥ó¥»¥ë
users_clear=¥¯¥ê¥¢

groups_title1=¥°¥ë¡¼¥×¤ÎÁªÂò..
groups_title2=¥°¥ë¡¼¥×¤ÎÁªÂò..
groups_all=¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
groups_sel=ÁªÂò¤µ¤ì¤¿¥°¥ë¡¼¥×
groups_ok=OK
groups_cancel=¥­¥ã¥ó¥»¥ë
groups_clear=¥¯¥ê¥¢

config_ecannot=¤³¤Î¥â¥¸¥å¡¼¥ë¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó
config_title=ÀßÄê
config_dir=¥â¥¸¥å¡¼¥ë $1 ÍÑ
config_header=$1 ¤ËÀßÄê²ÄÇ½¤Ê¥ª¥×¥·¥ç¥ó
config_none=¤Ê¤·
config_eaccess=¤³¤Î¥â¥¸¥å¡¼¥ë¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó

help_err=¥Ø¥ë¥×¤òÉ½¼¨¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
help_epath=¥Ø¥ë¥× ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
help_efile=¥Ø¥ë¥× ¥Õ¥¡¥¤¥ë $1 ¤òÆÉ¤ß¼è¤ì¤Þ¤»¤ó¤Ç¤·¤¿
help_eheader=&lt;¥Ø¥Ã¥À &gt; ¥»¥¯¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó
help_einclude=$1 ¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿
help_eif=$1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2
help_eexec=$1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2

referer_title=¥»¥­¥å¥ê¥Æ¥£·Ù¹ð
referer_warn=<b>·Ù¹ð</b> Webmin ¤Ï¥×¥í¥°¥é¥à $2 ¤¬ Webmin ¥µ¡¼¥Ð¤Î³°Â¦¤Ë¤¢¤ë¤È»×¤ï¤ì¤ë URL $1 ¤«¤é¥ê¥ó¥¯¤µ¤ì¤¿¤³¤È¤ò¸¡½Ð¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢¥µ¡¼¥Ð¤Ë´í¸±¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤ë²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
referer_warn_unknown=<b>·Ù¹ð</b> Webmin ¤Ï¥×¥í¥°¥é¥à $1 ¤¬ Webmin ¥µ¡¼¥Ð¤Î³°Â¦¤Ë¤¢¤ë¤È»×¤ï¤ì¤ë URL ¤«¤é¥ê¥ó¥¯¤µ¤ì¤¿¤³¤È¤ò¸¡½Ð¤·¤Þ¤·¤¿¡£¤³¤ì¤Ï¡¢¥µ¡¼¥Ð¤Ë´í¸±¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤µ¤»¤è¤¦¤È¤·¤Æ¤¤¤ë²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
referer_ok=Webmin ¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤òÂ³¹Ô
referer_again=¤³¤Î·Ù¹ð¤òº£¸åÉ½¼¨¤·¤Ê¤¤

session_header=Webmin ¤Ë¥í¥°¥¤¥ó
session_mesg=$1 ¾å¤Î Webmin ¥µ¡¼¥Ð¤Ë¥í¥°¥¤¥ó¤¹¤ë¤Ë¤Ï¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
session_user=¥æ¡¼¥¶Ì¾
session_pass=¥Ñ¥¹¥ï¡¼¥É
session_login=¥í¥°¥¤¥ó
session_clear=¥¯¥ê¥¢
session_failed=¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¤â¤¦°ìÅÙ»î¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£
session_logout=¥í¥°¥¢¥¦¥È¤ò´°Î»¤·¤Þ¤·¤¿¡£ºÆÅÙ¥í¥°¥¤¥ó¤¹¤ë¤Ë¤Ï²¼¤Î²èÌÌ¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
session_timed_out=$1 Ê¬´ÖÆ°ºî¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¥»¥Ã¥·¥ç¥ó¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿¡£
session_save=¥í¥°¥¤¥ó¤òµ­²±¤µ¤»¤Þ¤¹¤«¡©

acl_root=¥Õ¥¡¥¤¥ëÁªÂò¤Î root ¥Ç¥£¥ì¥¯¥È¥ê
acl_uedit=¥æ¡¼¥¶ÁªÂò¤ËÉ½¼¨¤µ¤ì¤¿¥æ¡¼¥¶
acl_uedit_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_uedit_none=¥æ¡¼¥¶¤Ê¤·
acl_uedit_only=¼¡¤Î¥æ¡¼¥¶¤Î¤ß
acl_uedit_except=¤³¤ì¤é¤Î¥æ¡¼¥¶°Ê³°¤Î¤¹¤Ù¤Æ
acl_uedit_uid=ÆÃÄê¤ÎUIDÈÏ°ÏÆâ¤Î¥æ¡¼¥¶
acl_uedit_group=¥°¥ë¡¼¥×¤Î¥æ¡¼¥¶
acl_gedit=¥°¥ë¡¼¥×ÁªÂòÆâ¤ËÉ½¼¨¤µ¤ì¤¿¥°¥ë¡¼¥×
acl_gedit_all=¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
acl_gedit_none=¥°¥ë¡¼¥×¤Ê¤·
acl_gedit_only=¥°¥ë¡¼¥×¤Î¤ß
acl_gedit_except=¥°¥ë¡¼¥×°Ê³°¤¹¤Ù¤Æ
acl_gedit_gid=ÈÏ°ÏÆâ¤Î¥°¥ë¡¼¥× ID ¤ò»ý¤Ä¥°¥ë¡¼¥×

month_1=1·î
month_2=2·î
month_3=3·î
month_4=4·î
month_5=5·î
month_6=6·î
month_7=7·î
month_8=8·î
month_9=9·î
month_10=10·î
month_11=11·î
month_12=12·î

day_0=ÆüÍË
day_1=·îÍË
day_2=²ÐÍË
day_3=¿åÍË
day_4=ÌÚÍË
day_5=¶âÍË
day_6=ÅÚÍË

smonth_1=1·î
smonth_2=2·î
smonth_3=3·î
smonth_4=4·î
smonth_5=5·î
smonth_6=6·î
smonth_7=7·î
smonth_8=8·î
smonth_9=9·î
smonth_10=10·î
smonth_11=11·î
smonth_12=12·î

sday_0=Æü
sday_1=·î
sday_2=²Ð
sday_3=¿å
sday_4=ÌÚ
sday_5=¶â
sday_6=ÅÚ

emodule=¥¢¥¯¥»¥¹¤¬µñÈÝ¤µ¤ì¤Þ¤·¤¿:¥æ¡¼¥¶ $1 ¤Ï $2 ¥â¥¸¥å¡¼¥ë¤Î»ÈÍÑ¤¬µö²Ä¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
elock_tries=¥Õ¥¡¥¤¥ë $1 ¤Î¥í¥Ã¥¯¤ò $2 Ê¬´Ö»î¹Ô¤·¤Þ¤·¤¿¤¬¼ºÇÔ¤·¤Þ¤·¤¿

skill_high=¾åµé
skill_medium=Ãæµé
skill_low=½éµé

   07070100078ef2000081a40000000000000002000000013d1fe2b700000dd3000000200000000000000000000000000000001500000003reloc/lang/ko_KR.euc  main_return=$1(À¸)·Î µ¹¾Æ°¨
main_homepage=È¨ ÆäÀÌÁö
main_feedback=ÇÇµå¹é..
main_switch=»ç¿ëÀÚ ÀüÈ¯..
main_logout=·Î±×¾Æ¿ô
main_version=$2ÀÇ ¹öÀü $1($3)
main_title=$2ÀÇ Webmin $1($3)
main_none=Webmin ¸ðµâ¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾ø½À´Ï´Ù.
main_skill=±â´É ¼öÁØ

category_servers=¼­¹ö
category_hardware=ÇÏµå¿þ¾î
category_system=½Ã½ºÅÛ
category_webmin=Webmin
category_net=³×Æ®¿öÅ·
category_syslet=Syslets
category_=±× ¿Ü

header_webmin=Webmin ÀÎµ¦½º
header_module=¸ðµâ ÀÎµ¦½º
header_help=µµ¿ò¸»..
header_config=¸ðµâ ±¸¼º
header_servers=Webmin ¼­¹ö

index=ÀÎµ¦½º
yes=¿¹
no=¾Æ´Ï¿À
save=ÀúÀå
create=ÀÛ¼º
delete=»èÁ¦
find=Ã£±â
error=¿À·ù
default=±âº»°ª
modify=¼öÁ¤
reset=Àç¼³Á¤
ok=È®ÀÎ
cancel=Ãë¼Ò

chooser_title1=ÆÄÀÏ ¼±ÅÃ..
chooser_title2=µð·ºÅä¸® ¼±ÅÃ..
chooser_dir=$1ÀÇ µð·ºÅä¸®
chooser_ok=È®ÀÎ

users_title1=»ç¿ëÀÚ ¼±ÅÃ..
users_title2=»ç¿ëÀÚ ¼±ÅÃ..
users_sel=¼±ÅÃÇÑ »ç¿ëÀÚ
users_all=¸ðµç »ç¿ëÀÚ
users_ok=È®ÀÎ
users_cancel=Ãë¼Ò
users_clear=Áö¿ì±â

groups_title1=±×·ì ¼±ÅÃ..
groups_title2=±×·ì ¼±ÅÃ..
groups_all=¸ðµç ±×·ì
groups_sel=¼±ÅÃÇÑ ±×·ì
groups_ok=È®ÀÎ
groups_cancel=Ãë¼Ò
groups_clear=Áö¿ì±â

config_ecannot=ÀÌ ¸ðµâÀ» ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
config_title=±¸¼º
config_dir=¸ðµâ $1
config_header=$1ÀÇ ±¸¼º °¡´ÉÇÑ ¿É¼Ç
config_none=¾øÀ½
config_eaccess=ÀÌ ¸ðµâ¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù

help_err=µµ¿ò¸»À» Ç¥½ÃÇÏÁö ¸øÇß½À´Ï´Ù
help_epath=¾ø°Å³ª Àß¸øµÈ µµ¿ò¸» °æ·Î
help_efile=µµ¿ò¸» ÆÄÀÏ $1À»(¸¦) ÀÐÁö ¸øÇß½À´Ï´Ù
help_eheader=¾ø´Â &lt;¸Ó¸®±Û&gt; ¼½¼Ç
help_einclude=$1À»(¸¦) Æ÷ÇÔ½ÃÅ°Áö ¸øÇß½À´Ï´Ù
help_eif=$1 ½ÇÆÐ: $2
help_eexec=$1 ½ÇÆÐ: $2

referer_title=º¸¾È °æ°í
referer_warn=<b>°æ°í! </b>ÇÁ·Î±×·¥ $2°¡ ¿¬°áµÇ¾îÀÖ´Â URL $1Àº Webmin ¼­¹öÀÇ ¿ÜºÎÀÇ ¸µÅ© ÀÓÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù.ÀÌ´Â ¼­¹ö¸¦ ¼Ó¿© À§ÇèÇÑ ¸í·ÉÀ» ½ÇÇàÇÏ·Á´Â ½ÃµµÀÏ ¼ö ÀÖ½À´Ï´Ù.
referer_warn_unknown=<b>°æ°í! </b>ÇÁ·Î±×·¥ $1ÀÌ(°¡) ¿¬°áµÇ¾îÀÖ´Â URLÀº Webmin ¼­¹öÀÇ ¿ÜºÎÀÇ ¸µÅ© ÀÓÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù.) ÀÌ´Â ¼­¹ö¸¦ ¼Ó¿©¼­ À§ÇèÇÑ ¸í·ÉÀ» ½ÇÇàÇÏ·Á´Â ½ÃµµÀÏ ¼ö ÀÖ½À´Ï´Ù.
referer_ok=Webmin ÇÁ·Î±×·¥ ½ÇÇà °è¼Ó
referer_again=¾ÕÀ¸·Î ÀÌ °æ°í¸¦ Ç¥½Ã ¾ÈÇÔ

session_header=Webmin¿¡ ·Î±×ÀÎ
session_mesg=$1ÀÇ Webmin ¼­¹ö¿¡ ·Î±×ÀÎÇÒ »ç¿ëÀÚ ÀÌ¸§°ú ¾ÏÈ£¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.
session_user=»ç¿ëÀÚ ÀÌ¸§
session_pass=¾ÏÈ£
session_login=·Î±×ÀÎ
session_clear=Áö¿ì±â
session_failed=·Î±×ÀÎÇÏÁö ¸øÇß½À´Ï´Ù. ´Ù½Ã ½ÃµµÇÏ½Ê½Ã¿À.
session_logout=·Î±×¾Æ¿ôµÇ¾ú½À´Ï´Ù. ¾Æ·¡ÀÇ ¾ç½ÄÀ» »ç¿ëÇÏ¿© ´Ù½Ã ·Î±×ÀÎÇÏ½Ê½Ã¿À.
session_timed_out=¼¼¼ÇÀÌ $1ºÐ µ¿¾È ºñÈ°¼ºÈ­µÈ ÈÄ ½Ã°£ ÃÊ°úµÇ¾ú½À´Ï´Ù.
session_save=·Î±×ÀÎÀ» ¿µ±¸ÀûÀ¸·Î ±â¾ïÇÕ´Ï±î?

acl_root=ÆÄÀÏ ¼±ÅÃÀÚÀÇ ·çÆ® µð·ºÅä¸®
acl_uedit=»ç¿ëÀÚ ¼±ÅÃÀÚ¿¡ ³ªÅ¸³ª´Â »ç¿ëÀÚ
acl_uedit_all=¸ðµç »ç¿ëÀÚ
acl_uedit_none=»ç¿ëÀÚ ¾øÀ½
acl_uedit_only=»ç¿ëÀÚ¸¸
acl_uedit_except=»ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
acl_uedit_uid=¹üÀ§ ³»ÀÇ UID°¡ ÀÖ´Â »ç¿ëÀÚ
acl_uedit_group=±×·ì¿¡ ¼ÓÇÑ »ç¿ëÀÚ
acl_gedit=±×·ì ¼±ÅÃÀÚ¿¡ Ç¥½ÃµÈ ±×·ì
acl_gedit_all=¸ðµç ±×·ì
acl_gedit_none=±×·ì ¾øÀ½
acl_gedit_only=±×·ì¸¸
acl_gedit_except=±×·ìÀ» Á¦¿ÜÇÑ ¸ðµÎ
acl_gedit_gid=¹üÀ§ ³»ÀÇ GID°¡ ÀÖ´Â ±×·ì

month_1=1¿ù
month_2=2¿ù
month_3=3¿ù
month_4=4¿ù
month_5=5¿ù
month_6=6¿ù
month_7=7¿ù
month_8=8¿ù
month_9=9¿ù
month_10=10¿ù
month_11=11¿ù
month_12=12¿ù

day_0=ÀÏ¿äÀÏ
day_1=¿ù¿äÀÏ
day_2=È­¿äÀÏ
day_3=¼ö¿äÀÏ
day_4=¸ñ¿äÀÏ
day_5=±Ý¿äÀÏ
day_6=Åä¿äÀÏ

smonth_1=1¿ù
smonth_2=2¿ù
smonth_3=3¿ù
smonth_4=4¿ù
smonth_5=5¿ù
smonth_6=6¿ù
smonth_7=7¿ù
smonth_8=8¿ù
smonth_9=9¿ù
smonth_10=10¿ù
smonth_11=11¿ù
smonth_12=12¿ù

sday_0=ÀÏ
sday_1=¿ù
sday_2=È­
sday_3=¼ö
sday_4=¸ñ
sday_5=±Ý
sday_6=Åä

emodule=Á¢±Ù °ÅºÎµÊ: »ç¿ëÀÚ $1Àº(´Â) ¸ðµâ $2À»(¸¦) »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
elock_tries=$2ºÐÀÌ °æ°úÇÑ ÈÄ ÆÄÀÏ $1À»(¸¦) Àá±×Áö ¸øÇß½À´Ï´Ù

skill_high=Àü¹®°¡
skill_medium=Áß±Þ
skill_low=ÃÊ±Þ

 07070100078ef3000081a40000000000000002000000013d1fe2b700001015000000200000000000000000000000000000000e00000003reloc/lang/nl main_return=Terug naar $1
main_homepage=Thuis Page
main_feedback=Terugkoppeling..
main_switch=Wisselen gebruiker..
main_logout=Uitloggen
main_version=Versie $1 on $2 ($3)
main_title=Webmin $1 on $2 ($3)
main_none=U heeft geen toegang tot enige Webmin modules.
main_skill=Ervarings niveau

category_servers=Servers
category_hardware=Hardware
category_system=Systeem
category_webmin=Webmin
category_net=Netwerk
category_syslet=Syslets
category_=Overige

header_webmin=Webmin Index
header_module=Module Index
header_help=Help..
header_config=Module Configuratie
header_servers=Webmin Servers

index=index
yes=Ja
no=Nee
save=Opslaan
create=Maak aan
delete=Verwijder
find=Zoek
error=Fout
default=Standaard
modify=Wijzig
reset=Reset
ok=OK
cancel=Annuleren

chooser_title1=Kies Bestand..
chooser_title2=Kies Directory..
chooser_dir=Directory van $1
chooser_ok=Ok

users_title1=Selecteer Gebruikers..
users_title2=Selecteer Gebruiker..
users_sel=Geselecteerde Gebruikers
users_all=Alle Gebruikers
users_ok=Ok
users_cancel=Annuleer
users_clear=Maak Leeg

groups_title1=Selecteer Groepen..
groups_title2=Selecteer Groep..
groups_all=Alle Groepen
groups_sel=Geselecteerde Groepen
groups_ok=Ok
groups_cancel=Annuleer
groups_clear=Maak leeg

config_ecannot=U bent niet gemachtigd om deze module te configureren
config_title=Configuratie
config_dir=Voor module $1
config_header=Configureerbare opties voor $1
config_none=Geen
config_eaccess=U bent niet gemachtigd om deze module te gebruiken

help_err=Fout bij het tonen van de help
help_epath=missend of ongeldig help pad
help_efile=bout bij het lezen van het belpbestand $1
help_eheader=Missend &lt;header&gt; sectie
help_einclude=Fout bij het invoegen van $1
help_eif=Fout bij $1: $2
help_eexec=Fout bij $1: $2

referer_title=Beveiligings Waarschuwing
referer_warn=<b>Waarschuwing!</b> Webmin heeft ontdekt dat het programma $2 werd aangeroepen vanaf de URL $1, welke zich blijkbaar buiten de Webmin server bevind. Dit kan een poging zijn om uw server een mogelijk gevaarlijk commando te laten uitvoeren.
referer_warn_unknown=<b>Waarschuwing!</b> Webmin heeft ontdekt dat het programma $1 werdt aangeroepen vanaf een onbekende URL, welke zich blijkbaar buiten de Webmin server bevind. Dit kan een poging zijn om uw server een mogelijk gevaarlijk commando te laten uitvoeren.
referer_ok=Ga verder met het uitvoeren van het Webmin programma
referer_again=Toon mij deze waarschuwing in het vervolg niet meer.

session_header=Aanmelden bij Webmin
session_mesg=U moet een gebruikersnaam en een wachtwoord invoeren om u aan te melden bij de Webmin server op $1.
session_user=Gebruikersnaam
session_pass=Wachtwoord
session_login=Aanmelden
session_clear=Wissen
session_failed=Aanmelden mislukt. Probeer opnieuw.
session_logout=Afmelden succesvol. Gebruik het onderstaande formulier om u opnieuw aan te melden.
session_timed_out=Sessie beeindigd na $1 minuten zonder activiteit.

acl_root=Root directory voor bestandskiezer
acl_uedit=Gebruikers onzichtbaar in gebruikerskiezer
acl_uedit_all=Alle gebruikers
acl_uedit_only=Alleen gebruikers
acl_uedit_except=Alle behalve de gebruikers
acl_uedit_uid=Gebruikers met UIDs in bereik
acl_uedit_group=gebruikers met groep
acl_gedit=Groepen onzichtbaar in groepenkiezer
acl_gedit_all=Alle groepen
acl_gedit_only=Alleen de groepen
acl_gedit_except=Alle behalve de groepen
acl_gedit_gid=Groepen met GIDs in bereik

month_1=januari
month_2=februari
month_3=maart
month_4=april
month_5=mei
month_6=juni
month_7=juli
month_8=august
month_9=september
month_10=oktober
month_11=november
month_12=december

day_0=zondag
day_1=maandag
day_2=dinsdag
day_3=woensdag
day_4=donderdag
day_5=vrijdag
day_6=zaterdag

smonth_1=jan
smonth_2=febr
smonth_3=mrt
smonth_4=apr
smonth_5=mei
smonth_6=jun
smonth_7=jul
smonth_8=aug
smonth_9=sep
smonth_10=okt
smonth_11=nov
smonth_12=dec

sday_0=zo
sday_1=ma
sday_2=di
sday_3=wo
sday_4=do
sday_5=vr
sday_6=za

emodule=Toegang geweigerd : Gebruiker $1 is niet bevoegd om module $2 te gebruiken
elock_tries=Fout bij het vesleutelen van bestand $1 na $2 minuten

skill_high=Expert
skill_medium=Gevorderde
skill_low=Beginner

   07070100078ef4000081a40000000000000002000000013d1fe2b7000007d6000000200000000000000000000000000000000e00000003reloc/lang/no main_return=Gå tillbake til $1
main_homepage=Hjemeside
main_feedback=Bytte bruker ...
main_switch=Bytt bruker ...
main_version=Versjon $1 på $2 ($3)
main_title=Webmin $1 på $2 ($3)
main_none=Du har ikke tilgang til noen Webminmoduler.

category_servers=Servere
category_hardware=Maskinvare
category_system=System
category_webmin=Webmin
category_net=Nettverk
category_=Andre

header_webmin=Webmin Index
header_module=Modulindex
header_help=Hjelp ...
header_config=Modulkonfigurering
header_servers=Webminservere

index=index
yes=Ja
no=Nei
save=Lagre
create=Opprett
delete=Slett
find=Søk
error=Feil
default=Default
modify=Endre
reset=Nullstill
ok=OK
cancel=Avbryt

chooser_title1=Velg fil ...
chooser_title2=Velg katalog ...
chooser_dir=Katalog for $1
chooser_ok=OK

users_title1=Velg brukere ...
users_title2=Velg bruker ...
users_sel=Valgte brukere
users_all=Alle brukere
users_ok=OK
users_cancel=Avbryt
users_clear=Nullstill

groups_title1=Velg grupper ...
groups_title2=Velg grupp ...
groups_all=Alle grupper
groups_sel=Valgte grupper
groups_ok=OK
groups_cancel=Avbryt
groups_clear=Nullstill

config_ecannot=Du får ikke lov til å konfigurere dette modul
config_title=Konfigurering
config_dir=For modul $1
config_header=Konfigurerbar instillninger for $1
config_none=Ingen
config_eaccess=Du får ingen tilgang til denne modul

help_err=Hjelp kunne ikke vises
help_epath=Manglende eller ugyldige hjelpbane
help_efile=Kunne ikke lese hjelpfilen for $1
help_eheader=Seksjon &lt;header&gt; mangler
help_einclude=Det gick ikke å ta med $1
help_eif=$1 misslykket : $2
help_eexec=$1 misslykket : $2

referer_title=Sikkerhetsadvarsel
referer_warn=<b>Advarsel!</b> Webmin har oppdaget at URL $1 linken til programmet $2, seer ut til å vare utenfør Webminserveren. Dette kan vare ett forsøk på å lure din server til å utføre ett farligt kommando. 
referer_ok=Fortsetter å kjøre Webminprogrammet
referer_again=Ikke vise dette advarsel igjen.
  07070100078ef5000081a40000000000000002000000013d1fe2b70000102c000000200000000000000000000000000000000e00000003reloc/lang/pl main_return=Powrót do $1
main_homepage=Strona g³ówna
main_feedback=Poczta do serwisu..
main_switch=Prze³±cz u¿ytkownika..
main_logout=Wyloguj siê
main_version=Wersja $1 na $2 ($3)
main_title=Webmin $1 na $2 ($3)
main_none=Nie masz prawa dostêpu do ¿adnego z modu³ów Webmina.
main_skill=Poziom umiejêtno¶ci

category_servers=Serwery
category_hardware=Sprzêt
category_system=System
category_webmin=Webmin
category_net=Sieæ
category_syslet=Syslet
category_cluster=Klaster
category_=Inne

header_webmin=Indeks Webmina
header_module=Indeks modu³u
header_help=Pomoc..
header_config=Konfiguracja modu³u
header_servers=Serwery Webmina

index=indeksu
yes=Tak
no=Nie
save=Zachowaj
create=Utwórz
delete=Usuñ
find=Znajd¼
error=B³±d
default=Domy¶lnie
modify=Modyfikuj
reset=Kasuj
ok=OK
cancel=Rezygnuj
helpsearch=Szukaj dokumentacji

chooser_title1=Wybierz zbiór..
chooser_title2=Wybierz kartotekê..
chooser_dir=Zawarto¶æ $1
chooser_ok=OK

users_title1=Wybierz u¿tkowników..
users_title2=Wybierz u¿ytkownika..
users_sel=Wybrani u¿ytkownicy
users_all=Wszyscy u¿ytkownicy
users_ok=OK
users_cancel=Rezygnuj
users_clear=Czy¶æ

groups_title1=Wybierz grupy..
groups_title2=Wybierz grupê..
groups_all=Wszystkie grupy
groups_sel=Wybrane grupy
groups_ok=OK
groups_cancel=Rezygnuj
groups_clear=Czy¶æ

config_ecannot=Nie masz uprawnieñ do konfiguracji tego modu³u
config_title=Konfiguracja
config_dir=modu³u $1
config_header=Konfigurowalne opcje modu³u $1
config_none=Brak
config_eaccess=Nie masz uprawnieñ dostêpu do tego modu³u

help_err=Nie mogê wy¶wietliæ pomocy
help_epath=Nie podano lub podano niopoprawn± ¶cie¿kê dostêpu do pomocy
help_efile=Nie mogê przeczytaæ zbioru pomocy $1
help_eheader=Brak sekcji &lt;header&gt;
help_einclude=Nie moge w³±czyæ $1
help_eif=$1 b³±d : $2
help_eexec=$1 b³±d : $2

referer_title=Uwaga niebezpieczeñstwo!
referer_warn=<b>Uwaga!</b> Webmin wykry³, ¿e program $2 jest dowi±zany do URL-a $1 znajduj±cego siê poza serwerem Webmina. Mo¿e to byæ próba podstêpnego zmuszenia twojego serwera do wykonania niebezpiecznego polecenia.
referer_warn_unknown=<b>Uwaga!</b> Webmin wykry³, ¿e program $1 jest dowi±zany do nieznanego URL-a znajduj±cego siê poza serwerem Webmina. Mo¿e to byæ próba podstêpnego zmuszenia twojego serwera do wykonania niebezpiecznego polecenia.
referer_ok=Kontynuuj wykonywanie programu Webmin
referer_again=Nie pokazuj tego ostrze¿enia w&nbsp;przysz³o¶ci.

session_header=Logowanie do Webmina
session_mesg=Musisz podaæ nazwê u¿ytkownika i&nbsp;has³o, aby zalogowaæ siê do serwera Webmina na $1.
session_user=Nazwa u¿ytkownika
session_pass=Has³o
session_login=Zaloguj siê
session_clear=Wyczy¶æ
session_failed=Nie uda³o siê zalogowaæ. Spróbuj ponownie.
session_logout=Logowanie zakoñczone pomy¶lnie. U¿yj poni¿szego formularza, aby zalogowaæ siê ponownie.
session_timed_out=Sesja przeterminowana po $1 minutach braku aktywno¶ci.
session_save=Pamiêtaæ logowanie ca³y czas?

acl_root=Katalog g³ówny dla wyboru pliku
acl_uedit=U¿ytkownicy widoczni przy wyborze u¿ytkownika
acl_uedit_all=Wszyscy
acl_uedit_none=¯aden
acl_uedit_only=Wybrani
acl_uedit_except=Wszyscy oprócz
acl_uedit_uid=U¿ytkownicy o&nbsp;UID-ach z&nbsp;zakresu
acl_uedit_group=U¿ytkownicy o&nbsp;grupie
acl_gedit=Grupy widoczne przy wyborze grupy
acl_gedit_all=Wszystkie
acl_gedit_none=¯adna
acl_gedit_only=Wybrane
acl_gedit_except=Wszystkie oprócz
acl_gedit_gid=Grupy o&nbsp;GID-ach z&nbsp;zakresu

month_1=Styczeñ
month_2=Luty
month_3=Marzec
month_4=Kwiecieñ
month_5=Maj
month_6=Czerwiec
month_7=Lipiec
month_8=Sierpieñ
month_9=Wrzesieñ
month_10=Pa¼dziernik
month_11=Listopad
month_12=Grudzieñ

day_0=Niedziela
day_1=Poniedzia³ek
day_2=Wtorek
day_3=¦roda
day_4=Czwartek
day_5=Pi±tek
day_6=Sobota

smonth_1=Sty
smonth_2=Lut
smonth_3=Mar
smonth_4=Kwi
smonth_5=Maj
smonth_6=Cze
smonth_7=Lip
smonth_8=Sie
smonth_9=Wrz
smonth_10=Pa¼
smonth_11=Lis
smonth_12=Gru

sday_0=Ni
sday_1=Po
sday_2=Wt
sday_3=¦r
sday_4=Cz
sday_5=Pi
sday_6=So

emodule=Dostêp zabroniony&nbsp;: U¿ytkownik $1 nie ma praw do korzystania z&nbsp;modu³u $2
elock_tries=Przez $2 minut nie uda³o siê zablokowaæ pliku $1

skill_high=Ekspert
skill_medium=Przeciêtny
skill_low=Nowicjusz

07070100078ef6000081a40000000000000002000000013d1fe2b7000006e0000000200000000000000000000000000000000e00000003reloc/lang/pt main_return=Voltar a $1
main_homepage=Home Page
main_feedback=Comentários..
main_switch=Trocar utilizador..
main_version=Versão $1 em servidor $2 ($3)
main_title=Webmin $1 em servidor $2 ($3)

header_webmin=Índex do Webmin
header_module=Índex do Módulo
header_help=Ajuda..
header_config=Configuração do Módulo
header_servers=Servidores Webmin

index=índex
yes=Sim
no=Não
save=Guardar
create=Criar
delete=Apagar
find=Procurar
error=Erro

chooser_title1=Escolher Ficheiro..
chooser_title2=Escolher Directório..
chooser_dir=Directório de $1
chooser_ok=Ok

users_title1=Seleccionar Utilizadores..
users_title2=Seleccionar Utilizador..
users_sel=Utilizadores Seleccionados
users_all=Todos os Utilizadores
users_ok=Ok
users_cancel=Cancelar
users_clear=Limpar

groups_title1=Seleccionar Grupos..
groups_title2=Seleccionar Grupo..
groups_all=Todos os Grupos
groups_sel=Grupos Seleccionados
groups_ok=Ok
groups_cancel=Cancelar
groups_clear=Limpar

config_ecannot=Você não está autorizado para configurar este módulo
config_title=Configuração
config_dir=Para o módulo $1
config_header=Opções configuráveis para $1
config_none=Nenhum
config_eaccess=Você não está autorizado para aceder a este módulo

help_err=Erro ao mostrar a ajuda
help_epath=Falta o caminho para o ficheiro de ajuda
help_efile=Erro ao ler o ficheiro de ajuda $1
help_eheader=Falta a  &lt;header&gt; secção
help_einclude=Erro ao incluir $1
help_eif=$1 falhou : $2
help_eexec=$1 falhou : $2

month_1=Janeiro
month_2=Fevereiro
month_3=Março
month_4=Abril
month_5=Maio
month_6=Junho
month_7=Julho
month_8=Agosto
month_9=Setembro
month_10=Outubro
month_11=Novembro
month_12=Dezembro

day_0=Domingo
day_1=Segunda-Feira
day_2=Terça-Feira
day_3=Quarta-Feira
day_4=Quinta-Feira
day_5=Sexta-Feira
day_6=Sábado

07070100078ef7000081a40000000000000002000000013d1fe2b7000006bd000000200000000000000000000000000000001100000003reloc/lang/pt_BR  main_return=Voltar a $1
main_homepage=Home Page
main_feedback=Comentários..
main_switch=Trocar usuário..
main_version=Versão $1 no servidor $2 ($3)
main_title=Webmin $1 no servidor $2 ($3)

header_webmin=Índice do Webmin
header_module=Índice do Módulo
header_help=Ajuda..
header_config=Configuração do Módulo
header_servers=Servidores Webmin

index=índice
yes=Sim
no=Não
save=Salvar
create=Criar
delete=Remover
find=Procurar
error=Erro

chooser_title1=Escolher Arquivo..
chooser_title2=Escolher Diretório..
chooser_dir=Diretório de $1
chooser_ok=Ok

users_title1=Selecionar Usuários..
users_title2=Selecionar Usuário..
users_sel=Usuários Selecionados
users_all=Todos os Usuários
users_ok=Ok
users_cancel=Cancelar
users_clear=Limpar

groups_title1=Selecionar Grupos..
groups_title2=Selecionar Grupo..
groups_all=Todos os Grupos
groups_sel=Grupos Selecionados
groups_ok=Ok
groups_cancel=Cancelar
groups_clear=Limpar

config_ecannot=Você não está autorizado a configurar este módulo
config_title=Configuração
config_dir=Para o módulo $1
config_header=Opções configuráveis para $1
config_none=Nenhum
config_eaccess=Você não está autorizado a acessar este módulo

help_err=Erro ao mostrar a ajuda
help_epath=Falta o caminho para o arquivo de ajuda
help_efile=Erro ao ler o arquivo de ajuda $1
help_eheader=Falta a seção &lt;header&gt;
help_einclude=Erro ao incluir $1
help_eif=$1 falhou : $2
help_eexec=$1 falhou : $2

month_1=Janeiro
month_2=Fevereiro
month_3=Março
month_4=Abril
month_5=Maio
month_6=Junho
month_7=Julho
month_8=Agosto
month_9=Setembro
month_10=Outubro
month_11=Novembro
month_12=Dezembro

day_0=Domingo
day_1=Segunda-Feira
day_2=Terça-Feira
day_3=Quarta-Feira
day_4=Quinta-Feira
day_5=Sexta-Feira
day_6=Sábado

   07070100078ef8000081a40000000000000002000000013d1fe2b700000f53000000200000000000000000000000000000001100000003reloc/lang/ru_RU  groups_sel=Âûáðàííûå Ãðóïïû
groups_clear=Î÷èñòèòü
main_feedback=Ïèøèòå..
chooser_dir=Êàòàëîã $1
header_servers=Ñåðâåðû Webmin
config_dir=Äëÿ ìîäóëÿ $1
main_switch=Ïåðåêëþ÷èòüñÿ íà ïîëüçîâàòåëÿ..
users_cancel=Îòìåíèòü
no=Íåò
header_config=Êîíôèãóðàöèÿ Ìîäóëÿ
users_title1=Âûáåðèòå Ïîëüçîâàòåëåé..
users_title2=Âûáåðèòå Ïîëüçîâàòåëÿ..
month_10=Îêòÿáðü
month_11=Íîÿáðü
month_12=Äåêàáðü
main_homepage=Äîìàøíÿÿ Ñòðàíèöà
config_eaccess=Âàì íå ðàçðåøåí äîñòóï ê äàííîìó ìîäóëþ
chooser_ok=Ïðîäîëæèòü
help_err=Îøèáêà ïðè âûçîâå ïîìîùè
yes=Äà
delete=Óäàëèòü
month_1=ßíâàðü
month_2=Ôåâðàëü
month_3=Ìàðò
month_4=Àïðåëü
groups_ok=Ïðîäîëæèòü
month_5=Ìàé
help_epath=Îòñóòñòâóåò ïóòü ê ïîìîùè
month_6=Èþíü
month_7=Èþëü
month_8=Àâãóñò
month_9=Ñåíòÿáðü
main_return=Âîçâðàò â $1
config_none=Íåò
main_version=Âåðñèÿ $1 íà $2 ($3)
error=Îøèáêà
users_all=Âñå Ïîëüçîâàòåëè
day_0=Âîñêðåñåíüå
header_module=Ìåíþ Ìîäóëÿ
day_1=Ïîíåäåëüíèê
save=Ñîõðàíèòü
day_2=Âòîðíèê
day_3=Ñðåäà
day_4=×åòâåðã
header_help=Ïîìîùü..
help_einclude=Îøèáêà ïðè âêëþ÷åíèè $1
day_5=Ïÿòíèöà
day_6=Ñóááîòà
groups_all=Âñå Ãðóïïû
config_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü äàííûé ìîäóëü
find=Íàéòè
chooser_title1=Âûáåðèòå Ôàéë..
groups_cancel=Îòìåíèòü
chooser_title2=Âûáåðèòå Êàòàëîã..
main_title=Webmin $1 íà $2 ($3)
header_webmin=Ãëàâíîå Ìåíþ
users_ok=Ïðîäîëæèòü
help_efile=Îøèáêà ïðè ÷òåíèè ôàéëà ïîìîùè $1
groups_title1=Âûáåðèòå Ãðóïïû..
help_eexec=$1 îøèáêà : $2
groups_title2=Âûáåðèòå Ãðóïïó..
create=Ñîçäàòü
users_sel=Âûáðàííûå Ïîëüçîâàòåëè
help_eheader=Îòñóòñòâóåò ñåêöèÿ &lt;header&gt;
config_title=Êîíôèãóðàöèÿ
users_clear=Î÷èñòèòü
index=ãëàâíîå ìåíþ
help_eif=$1 îøèáêà : $2
config_header=Íàñòðàèâàåìûå ïàðàìåòðû äëÿ $1
category_syslet=Ñèñëåòû
category_system=Ñèñòåìà
category_servers=Ñåðâåðû
referer_again=Íå ïîêàçûâàòü ýòî ïðåäóïðåæäåíèå â áóäóùåì.
acl_gedit_all=Âñå ãðóïïû
acl_gedit=Ãðóïïû âèäèìûå â ñåëåêòîðå ãðóïï
referer_warn=<b>ÂÍÈÌÀÍÈÅ!</b> Webmin îáíàðóæèë, ÷òî ïðîãðàììà $2 áûëà âûçâàíà ñ URL $1, êîòîðûé íàõîäèòñÿ çà ïðåäåëàìè äàííîãî ñåðâåðà. Ýòî ìîæåò áûòü ïîïûòêîé  çàñòàâèòü Âàø ñåðâåð âûïîëíèòü îïàñíóþ êîìàíäó.
acl_uedit_all=Âñå ïîëüçîâàòåëè
default=Ïî óìîë÷àíèþ
acl_uedit=Ïîëüçîâàòåëè âèäèìûå â ñåëåêòîðå ïîëüçîâàòåëåé
session_header=Âõîä íà Webmin
acl_gedit_gid=Ãðóïïû ñ GID â äèàïàçîíå
skill_low=Íîâè÷£ê
elock_tries=Îøèáêà áëîêèðîâàíèÿ ôàéëà $1 ïî èñòå÷åíèè $2 ìèíóò
acl_uedit_group=Ïîëüçîâàòåëè ñ ãðóïïîé
acl_gedit_except=Âñå ãðóïïû, êðîìå
smonth_1=ßíâ
smonth_2=Ôåâ
session_clear=Î÷èñòèòü
smonth_3=Ìàð
smonth_4=Àïð
smonth_5=Ìàé
smonth_6=Èþí
smonth_7=Èþë
smonth_8=Àâã
smonth_9=Ñåí
main_none=Âàì íå ðàçðåøåí äîñòóï íè ê îäíîìó èç ìîäóëåé Webmin.
reset=Ñáðîñ
cancel=Îòìåíà
session_login=Âõîä
category_=Ïðî÷åå
skill_high=Ýêñïåðò
main_logout=Âûõîä
session_user=Èìÿ ïîëüçîâàòåëÿ
referer_ok=Ïðîäîëæèòü âûïîëíåíèå
emodule=Äîñòóï çàïðåùåí: Ïîëüçîàâàòåëþ $1 íåëüçÿ èñïîëüçîâàòü ìîäóëü $2
referer_title=Ïðåäóïðåæäåíèå î íàðóøåíèè áåçîïàñíîñòè
referer_warn_unknown=<b>ÂÍÈÌÀÍÈÅ!</b> Webmin îáíàðóæèë, ÷òî ïðîãðàììà $2 áûëà âûçâàíà ñ íåçíàêîìîãî URL $1, êîòîðûé íàõîäèòñÿ çà ïðåäåëàìè äàííîãî ñåðâåðà. Ýòî ìîæåò áûòü ïîïûòêîé çàñòàâèòü Âàø ñåðâåð âûïîëíèòü îïàñíóþ êîìàíäó.
acl_uedit_except=Âñå ïîëüçîâàòåëè, êðîìå
smonth_10=Îêò
smonth_11=Íîÿ
smonth_12=Äåê
sday_0=Âñ
sday_1=Ïí
sday_2=Âò
sday_3=Ñð
sday_4=×ò
sday_5=Ïò
sday_6=Ñá
modify=Èçìåíèòü
acl_uedit_only=Òîëüêî ïîëüçîâàòåëè
session_mesg=Âû äîëæíû ââåñòè èìÿ ïîëüçîâàòåëÿ è ïàðîëü äëÿ âõîäà ðåãèñòðàöèè íà ñåðâåðå Webmin, íà $1.
ok=Ïðîäîëæèòü
category_webmin=Webmin
skill_medium=Ñïåöèàëèñò
category_net=Ñåòü
acl_uedit_uid=Ïîëüçîâàòåëè ñ UID â äèàïàçîíå
acl_root=Êîðíåâîé êàòàëîã äëÿ ñåëåêòîðà ôàéëîâ
session_pass=Ïàðîëü
acl_gedit_only=Òîëüêî ãðóïïû
session_logout=Âûõîä ïðîøåë óñïåøíî. Âîñïîëüçóéòåñü ôîðìîé íèæå äëÿ ïîâòîðíîãî âîäà.
main_skill=Óðîâåíü îïûòà
session_failed=Îøèáêà ïðè ðåãèñòðàöèè. Ïîïðîáóéòå åùå.
category_hardware=Îáîðóäîâàíèå
session_timed_out=Òàéìàóò ñåññèè ïîñëå $1 ìèíóò áåçäåéñòâèÿ.
 07070100078ef9000081a40000000000000002000000013d1fe2b700000f65000000200000000000000000000000000000001100000003reloc/lang/ru_SU  main_return=÷ÏÚ×ÒÁÔ × $1
main_homepage=äÏÍÁÛÎÑÑ óÔÒÁÎÉÃÁ
main_feedback=ðÉÛÉÔÅ..
main_switch=ðÅÒÅËÌÀÞÉÔØÓÑ ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ..
main_version=÷ÅÒÓÉÑ $1 ÎÁ $2 ($3)
main_title=Webmin $1 ÎÁ $2 ($3)

header_webmin=çÌÁ×ÎÏÅ íÅÎÀ
header_module=íÅÎÀ íÏÄÕÌÑ
header_help=ðÏÍÏÝØ..
header_config=ëÏÎÆÉÇÕÒÁÃÉÑ íÏÄÕÌÑ
header_servers=óÅÒ×ÅÒÙ Webmin

index=ÇÌÁ×ÎÏÅ ÍÅÎÀ
yes=äÁ
no=îÅÔ
save=óÏÈÒÁÎÉÔØ
create=óÏÚÄÁÔØ
delete=õÄÁÌÉÔØ
find=îÁÊÔÉ
error=ïÛÉÂËÁ

chooser_title1=÷ÙÂÅÒÉÔÅ æÁÊÌ..
chooser_title2=÷ÙÂÅÒÉÔÅ ëÁÔÁÌÏÇ..
chooser_dir=ëÁÔÁÌÏÇ $1
chooser_ok=ðÒÏÄÏÌÖÉÔØ

users_title1=÷ÙÂÅÒÉÔÅ ðÏÌØÚÏ×ÁÔÅÌÅÊ..
users_title2=÷ÙÂÅÒÉÔÅ ðÏÌØÚÏ×ÁÔÅÌÑ..
users_sel=÷ÙÂÒÁÎÎÙÅ ðÏÌØÚÏ×ÁÔÅÌÉ
users_all=÷ÓÅ ðÏÌØÚÏ×ÁÔÅÌÉ
users_ok=ðÒÏÄÏÌÖÉÔØ
users_cancel=ïÔÍÅÎÉÔØ
users_clear=ïÞÉÓÔÉÔØ

groups_title1=÷ÙÂÅÒÉÔÅ çÒÕÐÐÙ..
groups_title2=÷ÙÂÅÒÉÔÅ çÒÕÐÐÕ..
groups_all=÷ÓÅ çÒÕÐÐÙ
groups_sel=÷ÙÂÒÁÎÎÙÅ çÒÕÐÐÙ
groups_ok=ðÒÏÄÏÌÖÉÔØ
groups_cancel=ïÔÍÅÎÉÔØ
groups_clear=ïÞÉÓÔÉÔØ

config_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ ÄÁÎÎÙÊ ÍÏÄÕÌØ
config_title=ëÏÎÆÉÇÕÒÁÃÉÑ
config_dir=äÌÑ ÍÏÄÕÌÑ $1
config_header=îÁÓÔÒÁÉ×ÁÅÍÙÅ ÐÁÒÁÍÅÔÒÙ ÄÌÑ $1
config_none=îÅÔ
config_eaccess=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ Ë ÄÁÎÎÏÍÕ ÍÏÄÕÌÀ

help_err=ïÛÉÂËÁ ÐÒÉ ×ÙÚÏ×Å ÐÏÍÏÝÉ
help_epath=ïÔÓÕÔÓÔ×ÕÅÔ ÐÕÔØ Ë ÐÏÍÏÝÉ
help_efile=ïÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ÆÁÊÌÁ ÐÏÍÏÝÉ $1
help_eheader=ïÔÓÕÔÓÔ×ÕÅÔ ÓÅËÃÉÑ &lt;header&gt;
help_einclude=ïÛÉÂËÁ ÐÒÉ ×ËÌÀÞÅÎÉÉ $1
help_eif=$1 ÏÛÉÂËÁ : $2
help_eexec=$1 ÏÛÉÂËÁ : $2

month_1=ñÎ×ÁÒØ
month_2=æÅ×ÒÁÌØ
month_3=íÁÒÔ
month_4=áÐÒÅÌØ
month_5=íÁÊ
month_6=éÀÎØ
month_7=éÀÌØ
month_8=á×ÇÕÓÔ
month_9=óÅÎÔÑÂÒØ
month_10=ïËÔÑÂÒØ
month_11=îÏÑÂÒØ
month_12=äÅËÁÂÒØ

day_0=÷ÏÓËÒÅÓÅÎØÅ
day_1=ðÏÎÅÄÅÌØÎÉË
day_2=÷ÔÏÒÎÉË
day_3=óÒÅÄÁ
day_4=þÅÔ×ÅÒÇ
day_5=ðÑÔÎÉÃÁ
day_6=óÕÂÂÏÔÁ

acl_gedit=çÒÕÐÐÙ ×ÉÄÉÍÙÅ × ÓÅÌÅËÔÏÒÅ ÇÒÕÐÐ
acl_gedit_all=÷ÓÅ ÇÒÕÐÐÙ
acl_gedit_except=÷ÓÅ ÇÒÕÐÐÙ, ËÒÏÍÅ
acl_gedit_gid=çÒÕÐÐÙ Ó GID × ÄÉÁÐÁÚÏÎÅ
acl_gedit_only=ôÏÌØËÏ ÇÒÕÐÐÙ
acl_root=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ ÄÌÑ ÓÅÌÅËÔÏÒÁ ÆÁÊÌÏ×
acl_uedit=ðÏÌØÚÏ×ÁÔÅÌÉ ×ÉÄÉÍÙÅ × ÓÅÌÅËÔÏÒÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_uedit_all=÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
acl_uedit_except=÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ, ËÒÏÍÅ
acl_uedit_group=ðÏÌØÚÏ×ÁÔÅÌÉ Ó ÇÒÕÐÐÏÊ
acl_uedit_only=ôÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÉ
acl_uedit_uid=ðÏÌØÚÏ×ÁÔÅÌÉ Ó UID × ÄÉÁÐÁÚÏÎÅ
cancel=ïÔÍÅÎÁ

category_=ðÒÏÞÅÅ
category_hardware=ïÂÏÒÕÄÏ×ÁÎÉÅ
category_net=óÅÔØ
category_servers=óÅÒ×ÅÒÙ
category_syslet=óÉÓÌÅÔÙ
category_system=óÉÓÔÅÍÁ
category_webmin=Webmin

default=ðÏ ÕÍÏÌÞÁÎÉÀ
elock_tries=ïÛÉÂËÁ ÂÌÏËÉÒÏ×ÁÎÉÑ ÆÁÊÌÁ $1 ÐÏ ÉÓÔÅÞÅÎÉÉ $2 ÍÉÎÕÔ
emodule=äÏÓÔÕÐ ÚÁÐÒÅÝÅÎ: ðÏÌØÚÏÁ×ÁÔÅÌÀ $1 ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÏÄÕÌØ $2

main_logout=÷ÙÈÏÄ
main_none=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎ ÄÏÓÔÕÐ ÎÉ Ë ÏÄÎÏÍÕ ÉÚ ÍÏÄÕÌÅÊ Webmin.
main_skill=õÒÏ×ÅÎØ ÏÐÙÔÁ
modify=éÚÍÅÎÉÔØ
ok=ðÒÏÄÏÌÖÉÔØ

referer_again=îÅ ÐÏËÁÚÙ×ÁÔØ ÜÔÏ ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ × ÂÕÄÕÝÅÍ.
referer_ok=ðÒÏÄÏÌÖÉÔØ ×ÙÐÏÌÎÅÎÉÅ
referer_title=ðÒÅÄÕÐÒÅÖÄÅÎÉÅ Ï ÎÁÒÕÛÅÎÉÉ ÂÅÚÏÐÁÓÎÏÓÔÉ
referer_warn=<b>÷îéíáîéå!</b> Webmin ÏÂÎÁÒÕÖÉÌ, ÞÔÏ ÐÒÏÇÒÁÍÍÁ $2 ÂÙÌÁ ×ÙÚ×ÁÎÁ Ó URL $1, ËÏÔÏÒÙÊ ÎÁÈÏÄÉÔÓÑ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÐÙÔËÏÊ  ÚÁÓÔÁ×ÉÔØ ÷ÁÛ ÓÅÒ×ÅÒ ×ÙÐÏÌÎÉÔØ ÏÐÁÓÎÕÀ ËÏÍÁÎÄÕ.
referer_warn_unknown=<b>÷îéíáîéå!</b> Webmin ÏÂÎÁÒÕÖÉÌ, ÞÔÏ ÐÒÏÇÒÁÍÍÁ $2 ÂÙÌÁ ×ÙÚ×ÁÎÁ Ó ÎÅÚÎÁËÏÍÏÇÏ URL $1, ËÏÔÏÒÙÊ ÎÁÈÏÄÉÔÓÑ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÐÙÔËÏÊ ÚÁÓÔÁ×ÉÔØ ÷ÁÛ ÓÅÒ×ÅÒ ×ÙÐÏÌÎÉÔØ ÏÐÁÓÎÕÀ ËÏÍÁÎÄÕ.
reset=óÂÒÏÓ

sday_0=÷Ó
sday_1=ðÎ
sday_2=÷Ô
sday_3=óÒ
sday_4=þÔ
sday_5=ðÔ
sday_6=óÂ

session_clear=ïÞÉÓÔÉÔØ
session_failed=ïÛÉÂËÁ ÐÒÉ ÒÅÇÉÓÔÒÁÃÉÉ. ðÏÐÒÏÂÕÊÔÅ ÅÝÅ.
session_header=÷ÈÏÄ ÎÁ Webmin
session_login=÷ÈÏÄ
session_logout=÷ÙÈÏÄ ÐÒÏÛÅÌ ÕÓÐÅÛÎÏ. ÷ÏÓÐÏÌØÚÕÊÔÅÓØ ÆÏÒÍÏÊ ÎÉÖÅ ÄÌÑ ÐÏ×ÔÏÒÎÏÇÏ ×ÏÄÁ.
session_mesg=÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÁÒÏÌØ ÄÌÑ ×ÈÏÄÁ ÒÅÇÉÓÔÒÁÃÉÉ ÎÁ ÓÅÒ×ÅÒÅ Webmin, ÎÁ $1.
session_pass=ðÁÒÏÌØ
session_timed_out=ôÁÊÍÁÕÔ ÓÅÓÓÉÉ ÐÏÓÌÅ $1 ÍÉÎÕÔ ÂÅÚÄÅÊÓÔ×ÉÑ.
session_user=éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ

skill_high=üËÓÐÅÒÔ
skill_low=îÏ×ÉÞ£Ë
skill_medium=óÐÅÃÉÁÌÉÓÔ

smonth_10=ïËÔ
smonth_11=îÏÑ
smonth_12=äÅË
smonth_1=ñÎ×
smonth_2=æÅ×
smonth_3=íÁÒ
smonth_4=áÐÒ
smonth_5=íÁÊ
smonth_6=éÀÎ
smonth_7=éÀÌ
smonth_8=á×Ç
smonth_9=óÅÎ
   07070100078efa000081a40000000000000002000000013d1fe2b700000410000000200000000000000000000000000000000e00000003reloc/lang/si ***********************************************************************
*            Welcome to the Webmin setup script, version 0.852         *
***********************************************************************
Webmin is a web-based interface that allows Unix-like operating
systems and common Unix services to be easily administered.

Installing Webmin in /usr/libexec/webmin ...

***********************************************************************
Webmin uses separate directories for configuration files and log files.
Unless you want to run multiple versions of Webmin at the same time
you can just accept the defaults.

Config file directory [/etc/webmin]: Log file directory [/var/webmin]: 
***********************************************************************
Webmin is written entirely in Perl. Please enter the full path to the
Perl 5 interpreter on your system.


Testing Perl ...
Perl seems to be installed ok

***********************************************************************
Failed to detect operating system
07070100078efb000081a40000000000000002000000013d1fe2b700000976000000200000000000000000000000000000000e00000003reloc/lang/sv main_return=Gå tillbaka till $1
main_homepage=Hemsida
main_feedback=Tyck till ...
main_switch=Ny användare ...
main_version=Version $1 på $2 ($3)
main_title=Webmin $1 på $2 ($3)
main_none=Du har inte åtkomsträttighet till några Webmin-moduler

category_servers=Servrar
category_hardware=Hårdvara
category_system=System
category_webmin=Webmin
category_net=Nätverk
category_=Övrigt

header_webmin=Webmin Index
header_module=Modulindex
header_help=Hjälp ...
header_config=Modulkonfigurering
header_servers=Webminservrar

index=index
yes=Ja
no=Nej
save=Spara
create=Skapa
delete=Radera
find=Sök
error=Fel
default=Standard
modify=Ändra
reset=Återställ
ok=OK
cancel=Avbryt

chooser_title1=Välj fil ...
chooser_title2=Välj katalog ...
chooser_dir=Katalog för $1
chooser_ok=OK

users_title1=Välj användare ...
users_title2=Välj användare ...
users_sel=Valda användare
users_all=Alla användare
users_ok=OK
users_cancel=Avbryt
users_clear=Nollställ

groups_title1=Välj grupper ...
groups_title2=Välj grupp ...
groups_all=Alla grupper
groups_sel=Valda grupper
groups_ok=OK
groups_cancel=Avbryt
groups_clear=Nollställ

config_ecannot=Du får inte konfigurera denna modul
config_title=Konfigurering
config_dir=För modul $1
config_header=Konfigurerbara inställningar för $1
config_none=Inga
config_eaccess=Du får inte komma åt denna modul

help_err=Hjälp kunde inte visas
help_epath=Ingen sökväg till hjälp
help_efile=Kunde inte läsa hjälpfilen för $1
help_eheader=Sektion &lt;header&gt; saknas
help_einclude=Det gick inte att ta med $1
help_eif=$1 misslyckades : $2
help_eexec=$1 misslyckades : $2

referer_title=Säkerhetsvarning
referer_warn=<b>Varning!</b> Webmin har upptäckt att URL $1 länkar till programmet $2, som verkar vara utanför Webminservern. Detta kan vara ett försök att lura din server att utföra ett farligt kommando. 
referer_ok=Fortsätt att köra Webminprogrammet
referer_again=Visa inte denna varning igen

month_1=januari
month_2=februari
month_3=mars
month_4=april
month_5=maj
month_6=juni
month_7=juli
month_8=augusti
month_9=september
month_10=oktober
month_11=november
month_12=december

day_0=söndag
day_1=måndag
day_2=tisdag
day_3=onsdag
day_4=torsdag
day_5=fredag
day_6=lördag

smonth_1=jan
smonth_2=feb
smonth_3=mar
smonth_4=apr
smonth_5=maj
smonth_6=jun
smonth_7=jul
smonth_8=aug
smonth_9=sep
smonth_10=okt
smonth_11=nov
smonth_12=dec

sday_0=sö
sday_1=må
sday_2=ti
sday_3=on
sday_4=to
sday_5=fr
sday_6=lö

  07070100078efc000081a40000000000000002000000013d1fe2b700000ee7000000200000000000000000000000000000000e00000003reloc/lang/th main_return=¡ÅÑºä»... $1
main_homepage=Ë¹éÒáÃ¡
main_feedback=àÊ¹Íá¹Ð..
main_switch=à»ÅÕèÂ¹ ¼Ùéãªé..
main_logout=Logout
main_version=Version $1 on $2 ($3)
main_title=Webmin $1 on $2 ($3)
main_none=·èÒ¹äÁèÁÕÊÔ·¸Ôã¹¡ÒÃãªé§Ò¹ Webmin modules ã´æ
main_skill=ÃÐ´Ñº ·Ñ¡ÉÐ

category_servers=ºÃÔ¡ÒÃ
category_hardware=ÍØ»¡Ã³ì
category_system=ÃÐºº
category_webmin=Webmin
category_net=à¤Ã×Í¢èÒÂ
category_syslet=Syslets
category_=Í×è¹æ

header_webmin=Webmin Index
header_module=Module Index
header_help=¤Óá¹Ð¹Ó..
header_config=Module Config
header_servers=Webmin Servers

index=´Ñª¹Õ
yes=ãªè
no=äÁèãªè
save=ºÑ¹·Ö¡
create=ÊÃéÒ§
delete=Åº
find=¤é¹ËÒ
error=¼Ô´¾ÅÒ´
default=¤èÒàÃÔèÁµé¹
modify=á¡éä¢
reset=àÃÔèÁãËÁè
ok=µ¡Å§
cancel=Â¡àÅÔ¡
helpsearch=¤é¹ËÒ àÍ¡ÊÒÃ..

chooser_title1=àÅ×Í¡ á¿éÁ..
chooser_title2=àÅ×Í¡ Directory..
chooser_dir=Directory of $1
chooser_ok=µ¡Å§

users_title1=àÅ×Í¡ ¼Ùéãªé..
users_title2=àÅ×Í¡ ¼Ùéãªé..
users_sel=¼Ùéãªé ·ÕèàÅ×Í¡
users_all=¼Ùéãªé·Ø¡¤¹
users_ok=µ¡Å§
users_cancel=Â¡àÅÔ¡
users_clear=ÅéÒ§

groups_title1=àÅ×Í¡ ¡ÅØèÁ..
groups_title2=àÅ×Í¡ ¡ÅØèÁ..
groups_all=·Ø¡¡ÅØèÁ
groups_sel=¡ÅØèÁ ·ÕèàÅ×Í¡
groups_ok=µ¡Å§
groups_cancel=Â¡àÅÔ¡
groups_clear=ÅéÒ§

config_ecannot=·èÒ¹äÁèä´éÃÑºÍ¹Ø­ÒµãËéá¡éä¢ module ¹Õé
config_title=»ÃÑºáµè§
config_dir=ÊÓËÃÑº module $1
config_header=»ÃÑºáµè§ µÑÇàÅ×Í¡ ÊÓËÃÑº $1
config_none=None
config_eaccess=·ÕèÒäÁèÃÑºÍ¹Ø­ÒµãËéãªé module ¹Õé

help_err=äÁèÊÒÁÒÃ¶áÊ´§ ¤Óá¹Ð¹Ó
help_epath=path ¤Óá¹Ð¹Ó äÁè¶Ù¡µéÍ§ ËÃ×Í ãªéäÁèä´é
help_efile=äÁèÊÒÁÒÃ¶ÍèÒ¹á¿éÁ  ¤Óá¹Ð¹Ó $1
help_eheader=Missing &lt;header&gt; section
help_einclude=Failed to include $1
help_eif=$1 failed : $2
help_eexec=$1 failed : $2

referer_title=ÃÐººàµ×Í¹ÀÑÂ
referer_warn=<b>ÃÐÇÑ§!</b> Webmin has detected that the program $2 was linked to from the URL $1, which appears to be outside the Webmin server. This may be an attempt to trick your server into executing a dangerous command.
referer_warn_unknown=<b>ÃÐÇÑ§!</b> Webmin has detected that the program $1 was linked to from an unknown URL, which appears to be outside the Webmin server. This may be an attempt to trick your server into executing a dangerous command.
referer_ok=Continue executing Webmin program
referer_again=Don't show this warning in future.

session_header=Login to Webmin
session_mesg=You must enter a username and password to login to the Webmin server on $1.
session_user=Username
session_pass=Password
session_login=Login
session_clear=Clear
session_failed=Login failed. Please try again.
session_logout=Logout successful. Use the form below to login again.
session_timed_out=Session timed out after $1 minutes of inactivity.
session_save=Remember login permanently?

acl_root=Root directory for file chooser
acl_uedit=Users visible in user chooser
acl_uedit_all=All users
acl_uedit_none=No users
acl_uedit_only=Only users
acl_uedit_except=All except users
acl_uedit_uid=Users with UIDs in range
acl_uedit_group=Users with group
acl_gedit=Groups visible in group chooser
acl_gedit_all=All groups
acl_gedit_none=No groups
acl_gedit_only=Only groups
acl_gedit_except=All except groups
acl_gedit_gid=Groups with GIDs in range

month_1=Á¡ÃÒ¤Á
month_2=¡ØÁÀÒ¾Ñ¹¸ì
month_3=ÁÕ¹Ò¤Á
month_4=àÁÉÒÂ¹
month_5=¾ÄÉÀÒ¤Á
month_6=ÁÔ¶Ø¹ÒÂ¹
month_7=¡Ã¡®Ò¤Á
month_8=ÊÔ§ËÒ¤Á
month_9=¡Ñ¹ÂÒÂ¹
month_10=µØÅÒ¤Á
month_11=¾ÄÈ¨Ô¡ÒÂ¹
month_12=¸Ñ¹ÇÒ¤Á

day_0=ÍÒ·ÔµÂì
day_1=¨Ñ¹·Ãì
day_2=ÍÑ§¤ÒÃ
day_3=¾Ø¸
day_4=¾ÄËÑÊ
day_5=ÈØ¡Ãì
day_6=àÊÒÃì

smonth_1=Á.¤.
smonth_2=¡.¾.
smonth_3=ÁÕ.¤.
smonth_4=àÁ.Â.
smonth_5=¾.¤.
smonth_6=ÁÔ.Â.
smonth_7=¡.¤.
smonth_8=Ê.¤.
smonth_9=¡.Â.
smonth_10=µ.¤.
smonth_11=¾.Â.
smonth_12=¸.¤.

sday_0=ÍÒ.
sday_1=¨.
sday_2=Í.
sday_3=¾.
sday_4=¾Ä.
sday_5=È.
sday_6=Ê.

emodule=Access denied : User $1 is not allowed to use the $2 module
elock_tries=Failed to lock file $1 after $2 minutes

skill_high=àªÕèÂÇªÒ­
skill_medium=¾Íà»ç¹
skill_low=Á×ÍãËÁè


 07070100078efd000081a40000000000000002000000013d1fe2b700000aee000000200000000000000000000000000000000e00000003reloc/lang/tr main_return=Geri Dön ($1) 
main_homepage=Ana Sayfa
main_feedback=Feedback..
main_switch=Kullanýcý Deðiþtir..
main_logout=Çýkýþ
main_version=$2'de Sürüm $1 ($3)
main_title=$2'de Webmin $1 ($3)
main_none=Herhangi bir webmin modülüne ulaþmak için izininiz yoktur.

category_servers=Sunucular
category_hardware=Donaným
category_system=Sistem
category_webmin=Webmin
category_net=Að
category_=Diðer

header_webmin=Webmin Indeksi
header_module=Modül Indeksi
header_help=Yardým..
header_config=Modül Ayarlarý
header_servers=Webmin Sunucularý

index=Ana Sayfa
yes=Evet
no=Hayýr
save=Kaydet
create=Oluþtur
delete=Sil
find=Ara
error=Hata
default=Default
modify=Deðiþtir
reset=Reset
ok=Tamam
cancel=Ýptal

chooser_title1=Dosya Seç..
chooser_title2=Dizin Seç..
chooser_dir=$1'deki Dizin
chooser_ok=Tamam

users_title1=Kullanýcýlarý Seç..
users_title2=Kullanýcý Seç..
users_sel=Seçilen Kullanýcýlar
users_all=Bütün Kullanýcýlar
users_ok=Tamam
users_cancel=Ýptal
users_clear=Temizle

groups_title1=Gruplarý Seç..
groups_title2=Grubu Seç..
groups_all=Bütün Gruplar
groups_sel=Seçilen Gruplar
groups_ok=Tamam
groups_cancel=Ýptal
groups_clear=Temizle

config_ecannot=Bu modülü ayarlamak için izin verilmedi
config_title=Ayarlama
config_dir=For module $1
config_header=$1'deki ayarlanabilir seçenekler
config_none=None
config_eaccess=Bu modülü ayarlamak için izin verilmedi

help_err=Yardýmýn görüntülenmesinde hata oluþtu
help_epath=Yardým dosyasý bulunamadý
help_efile=$1'in yadým dosyasýnýn okunmasýnda hata oluþtu
help_eheader=Aranan &lt;baþlýk&gt; bölüm
help_einclude=$1'in içeriðinde hata oluþtu
help_eif=$1'de hata oluþtu : $2
help_eexec=$1'de hata oluþtu : $2

referer_title=Güvenlik Uyarýsý
referer_warn=<b>Uyarý!!!<b> Webmin program $2 programýnýn $1 URL'sinden link aldýðýný tespit etti.Bu makinenize dýþarýdan bir saldýrý giriþimi olabilir.
referer_ok=Webmin programýný çalýþtýrmaya devam et.
referer_again=Gelecekte bu uyarýyý bir daha gösterme.

session_header=Webmin'e Giriþ
session_mesg=$1'deki Webmin sunucusuna girmek için bir kullanýcý adý ve þifre girmelisiniz.
session_user=Kullanýcý Adý
session_pass=Þifre
session_login=Giriþ
session_clear=Temizle
session_failed=Giriþ Baþarýsýz. Lütfen tekrar deneyiniz.
session_logout=Çýkýþ baþarýlý. Takip eden formu doldurarak tekrar girebilirsiniz.
session_timed_out=Oturum $1 dakika iþlem yapýlmadýðýnda inaktif olacaktýr.

month_1=Ocak
month_2=Þubat
month_3=Mart
month_4=Nisan
month_5=Mayýs
month_6=Haziran
month_7=Temmuz
month_8=Aðustos
month_9=Eylül
month_10=Ekim
month_11=Kasim
month_12=Aralik

day_0=Pazar
day_1=Pazartesi
day_2=Salý
day_3=Çarþamba
day_4=Perþembe
day_5=Cuma
day_6=Cumartesi

smonth_1=Oca
smonth_2=Þub
smonth_3=Mar
smonth_4=Nis
smonth_5=May
smonth_6=Haz
smonth_7=Tem
smonth_8=Aðu
smonth_9=Eyl
smonth_10=Eki
smonth_11=Kas
smonth_12=Ara

  07070100078f00000081a40000000000000002000000013d1fe2b700000b35000000200000000000000000000000000000001100000003reloc/lang/zh_CN  main_return=»Øµ½$1
main_homepage=Webmin ÍøÕ¾
main_feedback=Òâ¼û·´À¡..
main_switch=ÇÐ»»ÓÃ»§..
main_logout=ÍË³ö
main_version=°æ±¾ $1 - Ö÷»ú $2 ($3)
main_title=Webmin $1 ÔÚ $2 ($3)
main_none=ÄúÃ»ÓÐÈ¨ÏÞ·ÃÎÊÈÎºÎ Webmin Ä£¿é
main_skill=¼¼ÊõµÈ¼¶

category_servers=·þÎñ
category_hardware=Ó²¼þ
category_system=ÏµÍ³
category_webmin=Webmin
category_net=ÍøÂç
category_syslet=Syslets
category_=ÆäËû

header_webmin=Webmin ¹ÜÀíÊ×Ò³
header_module=µ±Ç°Ä£¿éÊ×Ò³
header_help=°ïÖúÐÅÏ¢..
header_config=µ±Ç°Ä£¿éÅäÖÃ..
header_servers=Webmin·þÎñÆ÷

index=Ê×Ò³
yes=ÊÇ
no=·ñ
save=±£´æ
create=ÐÂ½¨
delete=É¾³ý
find=²éÕÒ
error=´íÎó
default=Ä¬ÈÏÖµ
modify=ÐÞ¸Ä
reset=¸´Ô­
ok=È·ÈÏ
cancel=È¡Ïû

chooser_title1=Ñ¡ÔñÎÄ¼þ..
chooser_title2=Ñ¡ÔñÄ¿Â¼..
chooser_dir=$1 Ä¿Â¼
chooser_ok=È·ÈÏ

users_title1=Ñ¡ÔñÓÃ»§..
users_title2=Ñ¡ÔñÓÃ»§..
users_sel=ÒÑÑ¡ÔñµÄÓÃ»§
users_all=ËùÓÐÓÃ»§
users_ok=È·ÈÏ
users_cancel=È¡Ïû
users_clear=Çå³ý

groups_title1=Ñ¡Ôñ×é..
groups_title2=Ñ¡Ôñ×é..
groups_all=ËùÓÐ×é
groups_sel=ÒÑÑ¡ÔñµÄ×é
groups_ok=È·ÈÏ
groups_cancel=È¡Ïû
groups_clear=Çå³ý

config_ecannot=ÄãÃ»ÓÐÅäÖÃÕâ¸öÄ£¿éµÄÈ¨ÏÞ
config_title=Ä£¿éÅäÖÃ
config_dir=Ä£¿é: $1
config_header=$1µÄÅäÖÃÑ¡Ïî
config_none=ÎÞ
config_eaccess=ÄãÃ»ÓÐ·ÃÎÊÕâ¸öÄ£¿éµÄÈ¨ÏÞ

help_err=ÎÞ·¨ÏÔÊ¾°ïÖú
help_epath=¶ªÊ§°ïÖúÂ·¾¶
help_efile=ÎÞ·¨¶ÁÈ¡°ïÖúÎÄ¼þ $1
help_eheader=¶ªÊ§ &lt;±êÌâ &gt;ÕÂ½Ú 
help_einclude=°üº¬ $1 Ê§°Ü
help_eif=$1 Ê§°Ü : $2
help_eexec=$1 Ê§°Ü : $2

referer_title=°²È«¾¯¸æ
referer_warn=<b>¾¯¸æ!</b> Webmin Ì½²âµ½,³ÌÐò $2 ÒÑÍ¨¹ýURL $1 Áª½Ó,$1½«×÷ÎªÍâ²¿µÄWebmin ·þÎñÆ÷,Õâ½«ÊÔÍ¼Òýµ¼ÄúµÄ·þÎñÆ÷ÔËÐÐÒ»¸öÎ£ÏÕÖ¸Áî.
referer_ok=i¼ÌÐøÔËÐÐ Webmin ³ÌÐò
referer_again=½«À´²»ÔÙÏÔÊ¾¸Ã¾¯¸æÐÅÏ¢.

session_header=µÇÂ¼µ½ Webmin
session_mesg=ÔÚµÇÂ½ $1 ÉÏµÄ Webmin ·þÎñÆ÷Ê±Äú±ØÐëÊäÈëÕýÈ·µÄÓÃ»§ÃûºÍ¿ÚÁî.
session_user=ÓÃ»§Ãû
session_pass=¿ÚÁî
session_login=µÇÂ¼
session_clear=Çå³ý
session_failed=µÇÂ¼Ê§°Ü.ÇëÔÙÊÔÒ»´Î.
session_logout=³É¹¦ÍË³ö.ÈçÏëÔÙ´ÎµÇÂ¼,ÇëÊ¹ÓÃÏÂÃæµÄ±íµ¥.
session_timed_out=¶Ô»°ÒÑ¾­³¬Ê±(Ê±¼äÎª $1 ·ÖÖÓ).

acl_root=ÎÄ¼þÑ¡ÔñÆ÷µÄ¸ùÄ¿Â¼
acl_uedit=ÓÃ»§Ñ¡ÔñÆ÷ÖÐµÄÏÖÓÐÓÃ»§
acl_uedit_all=ËùÓÐÓÃ»§
acl_uedit_only=ÌØÓÐµÄÓÃ»§
acl_uedit_except=ËùÓÐÀýÍâÓÃ»§
acl_uedit_uid=·¶Î§ÄÚÓÐ UID µÄÓÃ»§
acl_uedit_group=Îª×é³ÉÔ±µÄÓÃ»§
acl_gedit=×éÑ¡ÔñÆ÷ÖÐµÄÏÖÓÐ×é
acl_gedit_all=ËùÓÐ×é
acl_gedit_only=ÌØÓÐµÄ×é
acl_gedit_except=ËùÓÐÀýÍâ×é
acl_gedit_gid=·¶Î§ÄÚÓÐ GID µÄ×é

month_1=Ò»ÔÂ
month_2=¶þÔÂ
month_3=ÈýÔÂ
month_4=ËÄÔÂ
month_5=ÎåÔÂ
month_6=ÁùÔÂ
month_7=ÆßÔÂ
month_8=°ËÔÂ
month_9=¾ÅÔÂ
month_10=Ê®ÔÂ
month_11=Ê®Ò»ÔÂ
month_12=Ê®¶þÔÂ

day_0=ÐÇÆÚÈÕ
day_1=ÐÇÆÚÒ»
day_2=ÐÇÆÚ¶þ
day_3=ÐÇÆÚÈý
day_4=ÐÇÆÚËÄ
day_5=ÐÇÆÚÎå
day_6=ÐÇÆÚÁù

smonth_1=Ò»ÔÂ
smonth_2=¶þÔÂ
smonth_3=ÈýÔÂ
smonth_4=ËÄÔÂ
smonth_5=ÎåÔÂ
smonth_6=ÁùÔÂ
smonth_7=ÆßÔÂ
smonth_8=°ËÔÂ
smonth_9=¾ÅÔÂ
smonth_10=Ê®ÔÂ
smonth_11=Ê®Ò»ÔÂ
smonth_12=Ê®¶þÔÂ

sday_0=ÈÕ
sday_1=Ò»
sday_2=¶þ
sday_3=Èý
sday_4=ËÄ
sday_5=Îå
sday_6=Áù

emodule=¾Ü¾ø·ÃÎÊ : ÓÃ»§ $1 ²»ÔÊÐíÓÃÄ£¿é $2

skill_high=×¨¼Ò
skill_medium=Ò»°ã
skill_low=³õÑ§Õß
   07070100078f01000081a40000000000000002000000013d1fe2b700001381000000200000000000000000000000000000001600000003reloc/lang/zh_TW.Big5 main_return=¦^¨ì $1
main_homepage=­º­¶
main_feedback=¦^õX...
main_switch=¤Á´«¨Ï¥ÎªÌ...
main_logout=µn¥X
main_version=ª©¥» $1 ¦b $2 ($3)
main_title=Webmin $1 ¦b $2 ($3)
main_none=±z¨S¦³¥ô¦ó¥i¨Ï¥ÎªºWebmin¼Ò²Õ
main_skill=Skill level

category_servers=¦øªA¾¹
category_hardware=µwÅé
category_system=¨t²Î
category_webmin=Webmin
category_net=ºô¸ô
category_syslet=ºôºÞ
category_cluster=¹q¸£ÂO¶°
category_info=¸ê°T
category_=¨ä¥L

header_webmin=Webmin ¯Á¤Þ
header_module=¼Ò²Õ¯Á¤Þ
header_help=»¡©ú...
header_config=¼Ò²Õ²ÕºA
header_servers=Webmin ¦øªA¾¹

index=¯Á¤Þ
yes=¬O
no=§_
save=Àx¦s
create=«Ø¥ß
delete=§R°£
find=§ä´M
error=¿ù»~
default=¹w³]
modify=­×§ï
reset=­«³]
ok=½T©w
cancel=¨ú®ø
helpsearch=·j´M¤å¥ó
switch_remote_euser=Unix¨Ï¥ÎªÌ $1 ¨Ã¤£¦s¦b

chooser_title1=¿ï¾ÜÀÉ®×...
chooser_title2=¿ï¾Ü¥Ø¿ý...
chooser_dir=$1 ªº¥Ø¿ý
chooser_ok=½T©w

users_title1=¿ï¾Ü¨Ï¥ÎªÌ...
users_title2=¿ï¾Ü¨Ï¥ÎªÌ...
users_sel=¿ï¾Üªº¨Ï¥ÎªÌ
users_all=¥þ³¡ªº¨Ï¥ÎªÌ
users_ok=½T©w
users_cancel=¨ú®ø
users_clear=²M°£

groups_title1=¿ï¾Ü¸s²Õ...
groups_title2=¿ï¾Ü¸s²Õ...
groups_all=¥þ³¡ªº¸s²Õ
groups_sel=¿ï¾Üªº¸s²Õ
groups_ok=½T©w
groups_cancel=¨ú®ø
groups_clear=²M°£

config_ecannot=±z¤£³Q¤¹³\²ÕºA³o­Ó¼Ò²Õ
config_title=²ÕºA³]©w
config_dir=µ¹¼Ò²Õ $1
config_header=µ¹ $1 ªº¥i²ÕºA¿ï¶µ
config_none=µL
config_eaccess=±z¤£³Q¤¹³\¦s¨ú³o­Ó¼Ò²Õ
config_err=Àx¦s²ÕºA¿ù»~

help_err=µLªkÅã¥Ü»¡©ú
help_epath=¿ò¥¢»¡©úÀÉ¸ô®|
help_efile=µLªkÅª¨ú»¡©úÀÉ $1
help_eheader=¿ò¥¢ &lt;¼ÐÀY&gt; °Ï¬q
help_einclude=µLªk¤Þ¤J $1
help_eif=$1 ¥¢±Ñ : $2
help_eexec=$1 ¥¢±Ñ : $2

referer_title=¦w¥þÄµ§i
referer_warn=<b>Äµ§i!</b> Webminµo²{µ{¦¡ $2±q URL $1³sµ²¨Óªº¡A¥X²{¦b Webmin¥H¥~¡C¨Ã¥ø¹Ï¹Á¸Õ¦b±zªº¦øªA¾¹°õ¦æ¦MÀIªº«ü¥O¡C
referer_warn_unknown=<b>Äµ§i!</b> Webminµo²{µ{¦¡ $2±q¤£ª¾¦Wªº¦ì¸m³sµ²¨Óªº¡A¥X²{¦b Webmin¥H¥~¡C¨Ã¥ø¹Ï¹Á¸Õ¦b±zªº¦øªA¾¹°õ¦æ¦MÀIªº«ü¥O¡C
referer_ok=Ä~Äò°õ¦æWebminµ{¦¡
referer_again=¥H«á¤£¦AÅã¥Ü³o­Ó°T®§

session_header=µn¤JWebmin
session_mesg=±z¥²¶·¿é¤J¨Ï¥ÎªÌ¦WºÙ©M±K½X¨Óµn¤JWebmin ¦øªA¾¹¦b $1¤W¡C
session_mesg2=±z¥²¶·¿é¤J¨Ï¥ÎªÌ¦WºÙ©M±K½X¨Óµn¤J
session_user=¨Ï¥ÎªÌ¦WºÙ
session_pass=±K½X
session_login=µn¤J
session_clear=²M°£
session_failed=µn¤J¥¢±Ñ¡A½Ð¦A¸Õ¤@¦¸
session_logout=µn¥X¦¨¥\¡A¨Ï¥Î¤U­±ªºÄæ¦ì­«·sµn¤J
session_timed_out=³s½u¹O®É©ó$1¤ÀÄÁ
session_save=°O±o¤W¦¸µn¤J±b¸¹?

acl_root=ÀÉ®×¿ï¨ú®Éªº®Ú¥Ø¿ý
acl_home=¨Ï¥ÎªÌ®a¥Ø¿ý
acl_uedit=¿ï¾Ü¥i¥H¬Ý¨ìªº¨Ï¥ÎªÌ
acl_uedit_all=©Ò¦³¨Ï¥ÎªÌ
acl_uedit_none=¨S¦³¨Ï¥ÎªÌ
acl_uedit_only=¥u¦³¨Ï¥ÎªÌ
acl_uedit_except=¥þ³¡¨Ï¥ÎªÌ°£¤F
acl_uedit_uid=¨Ï¥ÎªÌ UID ½d³ò¬O
acl_uedit_group=¨Ï¥ÎªÌ¸s²Õ
acl_gedit=¿ï¾Ü¥i¥H¬Ý¨ìªº¸s²Õ
acl_gedit_all=©Ò¦³¸s²Õ
acl_gedit_none=¨S¦³¸s²Õ
acl_gedit_only=¥u¦³¸s²Õ
acl_gedit_except=©Ò¦³¸s²Õ°£¤F
acl_gedit_gid=¸s²ÕGID½d³ò¬O
acl_feedback=¥i¥H±H°e¦^õX«H¥ó?
acl_feedback2=¬O
acl_feedback1=¬O,¦ý¤£¯à¥]§t²ÕºAÀÉ®×
acl_feedback0=§_
acl_rpc=¥i¥H¨Ï¥ÎRPC ?
acl_rpc2=¥u¦³ <tt>root</tt> ©Î <tt>admin</tt>
acl_rpc1=¬O
acl_rpc0=§_

month_1=¤@¤ë
month_2=¤G¤ë
month_3=¤T¤ë
month_4=¥|¤ë
month_5=¤­¤ë
month_6=¤»¤ë
month_7=¤C¤ë
month_8=¤K¤ë
month_9=¤E¤ë
month_10=¤Q¤ë
month_11=¤Q¤@¤ë
month_12=¤Q¤G¤ë

day_0=¬P´Á¤é
day_1=¬P´Á¤@
day_2=¬P´Á¤G
day_3=¬P´Á¤T
day_4=¬P´Á¥|
day_5=¬P´Á¤­
day_6=¬P´Á¤»

smonth_1=¤@¤ë
smonth_2=¤G¤ë
smonth_3=¤T¤ë
smonth_4=¥|¤ë
smonth_5=¤­¤ë
smonth_6=¤»¤ë
smonth_7=¤C¤ë
smonth_8=¤K¤ë
smonth_9=¤E¤ë
smonth_10=¤Q¤ë
smonth_11=¤Q¤@¤ë
smonth_12=¤Q¤G¤ë

sday_0=¬P´Á¤é
sday_1=¬P´Á¤@
sday_2=¬P´Á¤G
sday_3=¬P´Á¤T
sday_4=¬P´Á¥|
sday_5=¬P´Á¤­
sday_6=¬P´Á¤»

emodule=¦s¨ú©Úµ´ : ¨Ï¥ÎªÌ $1 ¤£¤¹³\¨Ï¥Î $2 ¼Ò²Õ
elock_tries=µLªkÂêÀÉ®× $1¦b $2 ¤ÀÄÁ«á

skill_high=±M®a 
skill_medium=¤¤µ¥
skill_low=·s¤â

feedback_title=¦^õXWebmin
feedback_desc=³oªí³æ¥i¥HÅý§A¦^³ø¿ù»~(bugs)©M«ØÄ³Webminµo®i¸sÃö©ó¥ô¦ó°ÝÃD©Î©Ò©¿²¤ªº¯S¦â¡A·í«ö¤U¶Ç°e«ö¶s«á¡A³o­¶ªº¤º®e±N·|±H¨ì $1¡C
feedback_header=¦^õX¤º®e
feedback_name=±zªº©m¦W
feedback_email=±zªº¹q¤l¶l¥ó
feedback_module=Ãö©ó¼Ò²Õ
feedback_all=©Ò¦³¼Ò²Õ
feedback_text=´y­z°ÝÃD©Î«ØÄ³
feedback_os=¦b±H°e¶l¥ó¤¤¥]§t§@·~¨t²Î¸ê°T?
feedback_osdesc=¦pªG¿ï¨ú¦¹¶µ¥Ø,·|¦Û°Ê¦b¦^õX«H¥ó¤¤¥[¤W±zªº§@·~¨t²Î¦WºÙ©Mª©¥»¡C
feedback_config=¦b±H°e¶l¥ó¤¤¥]§t¼Ò²Õ²ÕºA³]©w?
feedback_configdesc=¦pªG¿ï¨ú¦¹¶µ¥Ø,¦b¦^õX¶l¥ó¤¤·|ªþ¤W¬ÛÃöªº¼Ò²Õ©M¼Ò²Õ·|¥Î¨ì¬ÛÃöªº©Ò¦³³]©wÀÉ®×¡C¨Ò¦p ,¦pªG¦^õX¬OÃö©ó <b><i>¨Ï¥ÎªÌ©M¸s²Õ</i></b> ¼Ò²Õ,§Aªº <tt>/etc/passwd</tt>©M <tt>/etc/shadow</tt>ÀÉ®×·|³Qªþ¥[¤W¥h¡C
feedback_attach=¥[¤J­nªþ¤WªºÀÉ®×
feedback_send=¶Ç°e¦^õX
feedback_mailserver=¶Ç°e¸g¥ÑSMTP¦øªA¾¹
feedback_mailserver_def=¥»¦asendmailµ{¦¡
feedback_err=±H°e¦^õX®Éµo¥Í¿ù»~
feedback_emodule=¦b«H¥ó¤¤±z¿ï¾Ü¤F¥]§t¼Ò²Õ²ÕºA³]©w,¦ý«o¨S¦³¿ï¨ú¼Ò²Õ¡C
feedback_emodule2=¿ï¨úªº¼Ò²Õ¤£¦s¦b
feedback_econfig=±z¨S¦³§¹¾ãªºÅv­­¨Ó¿ï¨ú¼Ò²Õ
feedback_via=¶Ç°e¦^õX«H¥ó¨ì $1¸g¥Ñ SMTP¦øªA¾¹ $2
feedback_prog=¶Ç°e¦^õX«H¥ó¨ì $1 ¨Ï¥Îsendmailµ{¦¡ $2
feedback_esend=¨Ï¥Îsendmail©Î¥»¦aSMTP¦øªA¾¹¶Ç°e¦^õX¶l¥ó¿ù»~
feedback_to=¶Ç°e¦^õX¨ì¦ì§}
feedback_enoto=¨S¦³¶ñ¼g¶Ç°e¦^õX¦ì§}¦ì¸m
feedback_ecannot=±z¤£³Q¤¹³\±H°e¦^õX«H¥ó
feedback_ecannot2=±z¤£³Q¤¹³\±H°e¥]§t³]©w²ÕºAÀÉ®×ªº¦^õX«H¥ó

progress_size=¤U¸ü¤¤ $1 ($2 ¦ì¤¸²Õ) ..
progress_nosize=¥¿¦b¤U¸ü $1 ..
progress_data=¤U¸ü $1 ¦ì¤¸²Õ ($2 %)
progress_data2=¤U¸ü $1 ¦ì¤¸²Õ
progress_done=.. ¤U¸ü§¹¦¨

   0707010003e279000081a40000000000000002000000013d1fe2b70000036f000000200000000000000000000000000000001400000003reloc/lang_list.txt   lang=en,titles=1	English
lang=de,titles=1	German
lang=ru_SU,charset=koi8-r,titles=0	Russian KOI8
lang=ru_RU,charset=windows-1251,titles=0	Russian CP1251
lang=es,titles=1	Spanish
lang=fr,titles=1	French
lang=pt,titles=1	Portuguese
lang=pt_BR,titles=1,fallback=pt	Portuguese (Brazilian)
lang=zh_TW.Big5,charset=Big5,titles=0	Traditional Chinese
lang=zh_CN,titles=0,charset=GB2312	Simplified Chinese
lang=sv,titles=1	Swedish
lang=it,titles=1	Italian
lang=hu,titles=1	Hungarian
lang=he,titles=0,charset=iso-8859-8	Hebrew
lang=tr,titles=1,charset=iso-8859-9	Turkish
lang=pl,charset=iso-8859-2,titles=1	Polish
lang=nl,titles=1	Dutch
lang=ja_JP.euc,charset=EUC-JP,titles=0	Japanese
lang=si,charset=iso-8859-2,titles=0	Slovenian
lang=ko_KR.euc,charset=EUC-KR,titles=0	Korean
lang=ca,titles=1        Catalan
lang=cz,charset=ISO-8859-2,titles=0	Czech
lang=th,charset=tis-620,titles=0	Thai
 0707010000031b000041ed0000000000000001000000043d1ffa7400000000000000200000000000000000000000000000000b00000003reloc/lilo    0707010000031c000081e40000000000000002000000013d1fe2d8000001d3000000200000000000000000000000000000001500000003reloc/lilo/apply.cgi  #!/usr/local/bin/perl
# apply.cgi
# Call lilo to apply the current config

require './lilo-lib.pl';
&foreign_require("proc", "proc-lib.pl");
$| = 1;
&header($text{'apply_title'}, "");
print "<hr><p>\n";
$cmd = "$config{'lilo_cmd'} -v";
print &text('apply_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>";
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT);
&webmin_log("apply");
print "</pre>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000031d000081a40000000000000002000000013d1fe2d80000002d000000200000000000000000000000000000001200000003reloc/lilo/config lilo_cmd=/sbin/lilo
lilo_conf=/etc/lilo.conf
   0707010000031e000081a40000000000000002000000013d1fe2d80000002d000000200000000000000000000000000000001c00000003reloc/lilo/config-lfs-linux   lilo_cmd=/sbin/lilo
lilo_conf=/etc/lilo.conf
   07070100000321000081a40000000000000002000000013d1fe2d800000054000000200000000000000000000000000000001700000003reloc/lilo/config.info    lilo_conf=Path to LILO config file,0
lilo_cmd=Command to apply LILO configuration,0
07070100000322000081a40000000000000002000000013d1fe2d800000065000000200000000000000000000000000000001a00000003reloc/lilo/config.info.ca lilo_conf=Camí del fitxer de configuració LILO,0
lilo_cmd=Ordre per aplicar la configuració LILO,0


   07070100000323000081a40000000000000002000000013d1fe2d800000061000000200000000000000000000000000000001a00000003reloc/lilo/config.info.de lilo_conf=Pfad zur LILO Konfigurationsdatei,0
lilo_cmd=Kommando zum Anwenden der Konfiguration,0
   07070100000324000081a40000000000000002000000013d1fe2d80000006e000000200000000000000000000000000000001a00000003reloc/lilo/config.info.es lilo_conf=Trayectoria a archivo de configuración de LILO,0
lilo_cmd=Comando para aplicar configuración LILO,0
  07070100000325000081a40000000000000002000000013d1fe2d800000072000000200000000000000000000000000000001a00000003reloc/lilo/config.info.fr lilo_conf=Chemin du fichier de configuration de LILO,0
lilo_cmd=Commande pour appliquer la configuration LILO,0
  07070100000326000081a40000000000000002000000013d1fe2d800000072000000200000000000000000000000000000001a00000003reloc/lilo/config.info.hu lilo_conf=A LILO konfigurációs állományának elérési útvonala,0
lilo_cmd=A LILO beállításait érvényesítõ parancs,0
  07070100000327000081a40000000000000002000000013d1fe2d800000039000000200000000000000000000000000000002100000003reloc/lilo/config.info.ja_JP.euc  lilo_conf=LILOÀßÄê¥Õ¥¡¥¤¥ë,0
lilo_cmd=lilo¤Ø¤Î¥Õ¥ë¥Ñ¥¹,0
   07070100000328000081a40000000000000002000000013d1fe2d800000064000000200000000000000000000000000000001a00000003reloc/lilo/config.info.pl lilo_conf=¦cie¿ka do pliku konfiguracyjnego LILO,0
lilo_cmd=Polecenie aktywacji konfiguracji LILO,0
07070100000329000081a40000000000000002000000013d1fe2d800000059000000200000000000000000000000000000001d00000003reloc/lilo/config.info.ru_RU  lilo_cmd=Êîìàíäà äëÿ àêòèâàöèè êîíôèãóðàöèè LILO,0
lilo_conf=Ïóòü ê ôàéëó êîíôèãóðàöèè,0
   0707010000032a000081a40000000000000002000000013d1fe2d800000059000000200000000000000000000000000000001d00000003reloc/lilo/config.info.ru_SU  lilo_conf=ðÕÔØ Ë ÆÁÊÌÕ ËÏÎÆÉÇÕÒÁÃÉÉ,0
lilo_cmd=ëÏÍÁÎÄÁ ÄÌÑ ÁËÔÉ×ÁÃÉÉ ËÏÎÆÉÇÕÒÁÃÉÉ LILO,0
   0707010000032b000081a40000000000000002000000013d1fe2d800000069000000200000000000000000000000000000001a00000003reloc/lilo/config.info.sv lilo_conf=Sökväg till LILO-inställningsfil,0
lilo_cmd=Kommando för att ta LILO-konfigurationen i drift,0
   0707010000032c000081a40000000000000002000000013d1fe2d80000005c000000200000000000000000000000000000001a00000003reloc/lilo/config.info.tr lilo_conf=LILO yapýlandýrma dosyasý yolu,0
lilo_cmd=LILO yapýlandýrmasýný uygulama komutu,0
0707010000032d000081a40000000000000002000000013d1fe2d800000044000000200000000000000000000000000000001d00000003reloc/lilo/config.info.zh_CN  lilo_conf=LILO ÅäÖÃÎÄ¼þµÄÈ«Â·¾¶,0
lilo_cmd=Ê¹ LILO ÅäÖÃÉúÐ§µÄÃüÁî,0
0707010000032e000081a40000000000000002000000013d1fe2d800000041000000200000000000000000000000000000002200000003reloc/lilo/config.info.zh_TW.Big5 lilo_conf=¨ì LILO ²ÕºAÀÉªº¸ô®|,0
lilo_cmd=®M¥Î LILO ²ÕºAªº«ü¥O,0
   0707010000032f000081e40000000000000002000000013d1fe2d8000011fb000000200000000000000000000000000000001b00000003reloc/lilo/edit_global.cgi    #!/usr/local/bin/perl
# edit_global.cgi
# Display options that apply to all sections

require './lilo-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");

&header($text{'global_title'}, "");
print "<hr>\n";
$conf = &get_lilo_conf();

print "<form action=save_global.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'global_desc'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$boot = &find_value("boot", $conf);
print "<tr> <td><b>$text{'global_boot'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=bootmode value=0 %s> $text{'global_root'}\n",
	$boot ? "" : "checked";
printf "<input type=radio name=bootmode value=1 %s>\n",
	$boot ? "checked" : "";
print &foreign_call("fdisk", "partition_select", "boot", $boot, 2);
print "</td> </tr>\n";

$default = &find_value("default", $conf);
print "<tr> <td><b>$text{'global_default'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=defaultmode value=0 %s> $text{'global_first'}\n",
	$default ? "" : "checked";
printf "<input type=radio name=defaultmode value=1 %s>\n",
	$default ? "checked" : "";
print "<select name=default>\n";
@images = sort { $a->{'index'} <=> $b->{'index'} }
	       ( &find("image", $conf), &find("other", $conf) );
foreach $i (@images) {
	$l = &find_value("label", $i->{'members'});
	if ($l) {
		printf "<option %s>$l\n",
			$default eq $l ? "selected" : "";
		}
	}
print "</select></td> </tr>\n";

$prompt = &find("prompt", $conf);
print "<tr> <td><b>$text{'global_prompt'}</b></td> <td>\n";
printf "<input type=radio name=prompt value=1 %s> $text{'yes'}\n",
	$prompt ? "checked" : "";
printf "<input type=radio name=prompt value=0 %s> $text{'no'}</td>\n",
	$prompt ? "" : "checked";

$timeout = &find_value("timeout", $conf);
print "<td><b>$text{'global_timeout'}</b></td> <td>\n";
printf "<input type=radio name=timeout_def value=1 %s> %s\n",
	$timeout ? "" : "checked", $text{'global_forever'};
printf "<input type=radio name=timeout_def value=0 %s>\n",
	$timeout ? "checked" : "";
printf "<input name=timeout size=5 value='%s'> $text{'global_secs'}</td> </tr>\n",
	$timeout ? $timeout / 10.0 : "";

$lock = &find("lock", $conf);
print "<tr> <td><b>$text{'global_lock'}</b></td> <td>\n";
printf "<input type=radio name=lock value=1 %s> $text{'yes'}\n",
	$lock ? "checked" : "";
printf "<input type=radio name=lock value=0 %s> $text{'no'}</td>\n",
	$lock ? "" : "checked";

$delay = &find_value("delay", $conf);
print "<td><b>$text{'global_delay'}</b></td> <td>\n";
printf "<input type=radio name=delay_def value=1 %s> $text{'global_imm'}\n",
	$delay ? "" : "checked";
printf "<input type=radio name=delay_def value=0 %s>\n",
	$delay ? "checked" : "";
printf "<input name=delay size=5 value='%s'> $text{'global_secs'}</td> </tr>\n",
	$delay ? $delay / 10.0 : "";

$compact = &find("compact", $conf);
print "<tr> <td><b>$text{'global_compact'}</b></td> <td>\n";
printf "<input type=radio name=compact value=1 %s> $text{'yes'}\n",
	$compact ? "checked" : "";
printf "<input type=radio name=compact value=0 %s> $text{'no'}</td>\n",
	$compact ? "" : "checked";

$optional = &find("optional", $conf);
print "<td><b>$text{'global_optional'}</b></td> <td>\n";
printf "<input type=radio name=optional value=1 %s> $text{'yes'}\n",
	$optional ? "checked" : "";
printf "<input type=radio name=optional value=0 %s> $text{'no'}</td> </tr>\n",
	$optional ? "" : "checked";

$password = &find_value("password", $conf);
print "<tr> <td><b>$text{'global_password'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=passmode value=0 %s> $text{'global_none'}\n",
	$password ? "" : "checked";
printf "<input type=radio name=passmode value=1 %s>\n",
	$password ? "checked" : "";
print "<input name=password size=25 value=\"$password\"></td> </tr>\n";

$restricted = &find("restricted", $conf);
printf "<tr> <td><b>$text{'global_restricted'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=restricted value=1 %s> %s\n",
	$restricted ? "checked" : "", $text{'global_extra'};
printf "<input type=radio name=restricted value=0 %s> %s</td> </tr>\n",
	$restricted ? "" : "checked", $text{'global_any'};

if ($lilo_version >= 21.3) {
	$lba = &find("lba32", $conf);
	print "<tr> <td><b>$text{'global_lba'}</b></td> <td>\n";
	printf "<input type=radio name=lba value=1 %s> $text{'yes'}\n",
		$lba ? "checked" : "";
	printf "<input type=radio name=lba value=0 %s> $text{'no'}</td></tr>\n",
		$lba ? "" : "checked";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000033a000081e40000000000000002000000013d1fe2d800001503000000200000000000000000000000000000001a00000003reloc/lilo/edit_image.cgi #!/usr/local/bin/perl
# edit_image.cgi
# Edit or create a boot partition

require './lilo-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");

&ReadParse();
if ($in{'new'}) {
	&header($text{'image_title1'}, "");
	$members = [ ];
	}
else {
	&header($text{'image_title2'}, "");
	$conf = &get_lilo_conf();
	$image = $conf->[$in{'idx'}];
	$members = $image->{'members'};
	}
print "<hr>\n";

print "<form action=save_image.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'image_options'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'image_name'}</b></td>\n";
printf "<td><input name=label size=15 value='%s'></td>\n",
	&find_value("label", $members);

print "<td><b>$text{'image_kernel'}</b></td>\n";
printf "<td><input name=image size=25 value='%s'> %s</td> </tr>\n",
	$image->{'value'}, &file_chooser_button("image", 0);

print "<tr> <td><b>$text{'image_opts'}</b></td> <td colspan=3>\n";
$append = &find_value("append", $members);
$literal = &find_value("literal", $members);
$append =~ s/^"(.*)"$/$1/g;
$literal =~ s/^"(.*)"$/$1/g;
printf "<input type=radio name=opts value=0 %s> $text{'image_default'}\n",
	$append || $literal ? "" : "checked";
printf "<input type=radio name=opts value=1 %s> $text{'image_add'}\n",
	$append ? "checked" : "";
printf "<input type=radio name=opts value=2 %s> $text{'image_replace'}\n",
	$literal ? "checked" : "";
printf "&nbsp; <input name=append size=20 value='%s'></td> </tr>\n",
	$append ? $append : $literal;

print "<tr> <td><b>$text{'image_root'}</b></td> <td colspan=3>\n";
$root = &find_value("root", $members);
printf "<input type=radio name=rmode value=0 %s> $text{'image_fromkern'}\n",
	$root ? "" : "checked";
printf "<input type=radio name=rmode value=1 %s> $text{'image_rcurr'}\n",
	$root eq "current" ? "checked" : "";
printf "<input type=radio name=rmode value=2 %s> $text{'image_rdev'}\n",
	$root && $root ne "current" ? "checked" : "";
print &foreign_call("fdisk", "partition_select",
		    "root", $root eq "current" ? undef : $root, 0);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'image_initrd'}</b></td> <td colspan=3>\n";
$initrd = &find_value("initrd", $members);
printf "<input type=radio name=initrd_def value=1 %s> $text{'default'}\n",
	$initrd ? '' : 'checked';
printf "<input type=radio name=initrd_def value=0 %s>\n",
	$initrd ? 'checked' : '';
printf "<input name=initrd size=30 value='%s'> %s</td> </tr>\n",
	$initrd, &file_chooser_button("initrd");

$readonly = &find("read-only", $members);
$readwrite = &find("read-write", $members);
print "<tr> <td><b>$text{'image_mode'}</b></td> <td><select name=ro>\n";
printf "<option value=0 %s>$text{'image_fromkern'}\n",
	$readonly || $readwrite ? "" : "selected";
printf "<option value=1 %s>$text{'image_ro'}\n",
	$readonly ? "selected" : "";
printf "<option value=2 %s>$text{'image_rw'}\n",
	$readwrite ? "selected" : "";
print "</select></td>\n";

$vga = lc(&find_value("vga", $members));
print "<td><b>$text{'image_vga'}</b></td>\n";
print "<td><select name=vga>\n";
printf "<option value='' %s>$text{'image_fromkern'}\n",
	$vga ? "" : "selected";
printf "<option value=normal %s>80x25\n",
	$vga eq "normal" ? "selected" : "";
printf "<option value=ext %s>80x50\n",
	$vga eq "ext" || $vga eq "extended" ? "selected" : "";
printf "<option value=ask %s>$text{'image_ask'}\n",
	$vga eq "ask" ? "selected" : "";
printf "<option value=other %s>$text{'image_other'}\n",
	$vga =~ /\d/ ? "selected" : "";
printf "</select><input name=vgaother size=6 value='%s'></td> </tr>\n",
	$vga =~ /\d/ ? $vga : "";

$lock = &find("lock", $members);
print "<tr> <td><b>$text{'image_lock'}</b></td> <td>\n";
printf "<input type=radio name=lock value=1 %s> $text{'yes'}\n",
	$lock ? "checked" : "";
printf "<input type=radio name=lock value=0 %s> $text{'no'}</td>\n",
	$lock ? "" : "checked";

$optional = &find("optional", $members);
print "<td><b>$text{'image_optional'}</b></td> <td>\n";
printf "<input type=radio name=optional value=1 %s> $text{'yes'}\n",
	$optional ? "checked" : "";
printf "<input type=radio name=optional value=0 %s> $text{'no'}</td> </tr>\n",
	$optional ? "" : "checked";

$password = &find_value("password", $members);
print "<tr> <td><b>$text{'image_password'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=passmode value=0 %s> $text{'image_none'}\n",
	$password ? "" : "checked";
printf "<input type=radio name=passmode value=1 %s>\n",
	$password ? "checked" : "";
print "<input name=password size=25 value=\"$password\"></td> </tr>\n";

$restricted = &find("restricted", $members);
printf "<tr> <td><b>$text{'image_restricted'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=restricted value=1 %s> %s\n",
	$restricted ? "checked" : "", $text{'image_extra'};
printf "<input type=radio name=restricted value=0 %s> %s</td> </tr>\n",
	$restricted ? "" : "checked", $text{'image_any'};

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td align=left><input type=submit value=\"$text{'save'}\"></td>\n";
if (!$in{'new'}) {
	print "<td align=right>",
	      "<input type=submit name=delete value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100001923000041ed0000000000000001000000023d1ffa7300000000000000200000000000000000000000000000001200000003reloc/lilo/images 07070100001964000081a40000000000000002000000013d1fe2d80000073f000000200000000000000000000000000000001b00000003reloc/lilo/images/icon.gif    GIF87a0 0 ç  ÿÿÿûú÷üüüÜÝÛÔÜÔíéêöùîÓÒÐ&" +2:&&:%+,ýüúRL@NJT(&'9-/0*,àÝí!	"&(‚r\h]TicW²ª¤]ZHÚÎÌÞÊ´nf\smgÛÓÁïêß¾¾¤2&
º²|VZT

ÝâÕ&¸˜L¾Žœ|0ÒÆ„±­O#’xLÈ¤,ðÂï¾ôÌâº®ŠLêÆÌ."è³í®ðµöÂ\æÆê»âªÐ¥†]ïïðÑ'ö¾øÂâÆàÂÞ²Þ¢Æš$R2<",–jâ¶•^$Õª¿¥Or^LTTTND<êæÒêÞ¾Ç±|Šj~j ŒT¹µœîäÕþúüÖÖÕãÝßæÓÁðííôñêÞÚìêÞÔçæåñîãüöôööó[edÆÆÌ¨¨”öêäòúúóòòÎÎÈðôà&*<éêëçâÜ²®”ââä934ÛÒÑG:7_\\ZVD,††t!*+' –†4öòäÆ¾„
zjTÒ¾/ñºGC?æÎl#(šžŒÒ¢,òÄ>*4¦Š6ÎÆLØ£ÂŠ–‚\ï½hVTÚžÈÂ†$Öâ¾¢’\þÆ$ÖºŒö¶~‚L†n¾¦tÆ”Òº4ˆh4™™™
J.Ï›ð¶Ò¾\   Ö®D¾’îâì^B¢šlæ®·“$€ZÓ‰~dšzDÅ…	¶‚,³{$†zT±‹ ¾~¢f†^4éäß                                                                                                                                                            ,    0 0  þ H° Áƒ*T@À XH±"A$P°€ÁC&4Ð@ƒ((€A¤Ë  D)áÁ
*¼|YÀÂƒš3/`È à@Ë5l˜Is¦HC¨ÀC‡x¨€²hÔŠ| ¥ˆ$²:€ð•âÔ&N<@‘BÅŠ(Y´]X BZ¸xÃ…”ö*Œ@F†4j€x`ãVŠ`‘CÇ=|ü rqf„‚B¤ˆ‘#H’(A¹àôÁ%˜4qòJ)S¨T± €í‚KX¡q…Y´láÒE—ã5Xø&Œ˜1dÊþ˜‰òÌ‚Æ°€&š5_L¨acÆM@ÚnÓ`3nÄðqÈ1‡tÌBÇÕ¡€wÌ‡„xL˜ÇLq ÁDŠ¥ÀzP¸…fàQ¢\3ñ±„bK0à@%”abõ™Ñ‡1|ñÇ3uÀà^ppÆ*T(ÇfÌ!¦øô@ìµJpäa"….i" €<€CVèÔ–I()af°¹¤r˜Ç"eé!%ˆh”0›f°1ÇZÊqa’ƒd5Ó Q	Ð „äqèp9a’ƒšQHS§KâÀ!HšˆJ&Éä–xœP"þ(%¢ŸKit "”X¡¨¾™d}L.2SM°H {,™do^:Çx0ÒHy´1úŠ82H¥J(¨¯Jh<ò"û$‘H"Æ$ij(ªå®:#”„¡è•XÒÆN—ø€ÉbdRœ‚êk†pD¡	MlÂ	‡"ÙÑÉ˜4áCd¨€é–õQ¸žðøÀJ@qE|’EB4!	M€‚DM¡üzàIð…(RŒâ	)¥aÊ)Ÿ*4DH"Ég8£J2'°r
±I!…ª8É*'TÆRÁÃÍŸaÂJM4–L_’Œ´âÊþBõ¦¼2ðBmÀrÄÍMàÌNð Ãf”Ëä °!Ë,´L®y,Õ‰-mnPDÊá;¸½ƒ$FÌP¢Œ˜Ë-· p9 Ì~‹î ø€Ë¹ë^{Acq‹/žxHä¢ËërÌ J»Ð „ôÒû‰q“€÷ñâI)D÷"ÄB`"I)¾8rHÒ/Àø€}íƒç¾ô#Œ/¤ðÄ0®P:Zx‚ŽX™8 ½t`ÅÅý
Â¿ÐO e €1ŒQƒcäbÈH†2P…éo	™€<1A‚TP„+ !f0ƒePÐ{œƒa9÷Â*D (ùÈk×BâÐ‡"Ùœæv§ÄÍ‰Ht	í¦H»ïQñŠ™"v¢ ; 07070100001973000081a40000000000000002000000013d1fe2d80000064e000000200000000000000000000000000000001c00000003reloc/lilo/images/image.gif   GIF89a0 0 ç  ÿÿÿ™™™ÌÌÌfff%+,RL@(&'9-/	"&(&" h]TicW²ª¤]ZHÓÒÐº²|VZT

!¸˜Lœ|0±­O#."í®ðµæÆê»âª†]ö¾øÂàÂÞ²Þ¢R2<",ûú÷¾Žâ¶•^$Õªr^LTTTêæÒãÝßæÓÁÞÊ´ðííþúüÞÚìÝâÕçæåñîãüöô[edÖÖÕÎÎÈööóòúúðôà&*<+2:ÚÎÌîäÕéêëêÞ¾óòòââä934G:7ÜÝÛ††tnf\!*+'üüü ÔÜÔ–†4íéêÇ±|zjTÒ¾/~jGC?æÎlŠjšžŒôñêÒ¢,âºðÂ>*4¦ŠÎÆLöùîÐ¥ñºï½hVTÚžÈÂ†$Öâ¾¢’\ï¾þÆ$öòäè³È¤,
Ï›smgÖ®DÂŠæ®òÄ·“$Ó‰~dšzD¶‚,³{$®††zT±‹ ¾’Å…	¢f†^4ïïð’r4ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#@±¢Å‹%Ä( £Ç Ð8°"È“(P0ò¢CŠ)c~ÉæÌŒ	ÈÜ©’å 1qÊåÊŸDe˜¨£EŸIy.%èô©Ï«Xõ8u`V¬U+"µY´«À°dj5¥Ð³mËjí—kÅ¡*ëK÷¤É¼x;þ•Ê—îEÁyÍþkËQ-ÆÂˆu¾],µjáÁ~'ëÝÉv¦ (p 1`ª›÷F= 
¾K5ïV®¸ÝÀ•‰'ÞÚùã‚ˆ :²bÆ‡_”0‚
”—^›³å¨.þ`È aC€j¾²<L0ðÁ ˆÙÏÙÏ„BÄ%˜p‚
 ·ž~‚A¦ 
)¨°-¸ ÀÜ•„`‚QÁƒ3Ä@C6pÃlÂéW\Gàƒ;äÀC ðÀ´Yxá‰(0? „=!§Ùˆ`qDHP„G qÄ=ôp„h$¡R‰ì§DK0ÑCQ6ñƒOˆÁ•Ý© ÅL2)”QØgÀùÝ¨haQÎ	¤H!ÚXÞÖY8,(Fôð&F1…rP‘(q?aP@Nö D¤LBy„\a Y¤iâ þD@ ÅR1ê@ÊEktáj– Å@Ài¤¸J©­)à«‘¯~Fb…·–jÄd`Z†¿*:Àh¤†=éœFø¹Â1"ÀF›òDƒ(¼&G¤=J…,ÌAGvÜ1Qj'á1ÂiàB¢¡G”éRƒ	n°°G
`Ð»0Ã• /(§À‡H¤%}øG
(D²BN¡4Â&—€G$t eÿÑG(HœÆÃ€DäT u° H{R!O<áÚn…”;ÂL€KA†BG 2ì"<ñ@@ A"rR‡"cÄÄ"‹0Òˆ#@âB$E’'âˆ$†äíøA ;  07070100001974000081a40000000000000002000000013d1fe2d800000823000000200000000000000000000000000000001c00000003reloc/lilo/images/other.gif   GIF89a0 0 ç  ÿÿÿÿ))ÿïïÿ  ÿ””ÿÖÖÿ÷÷ÿ™™™ÿssÿBBÿÿJJÌÌÌÿRRfffÿççÿÞÞÿ!!ÿ½½ÿœœÿ{{ÿŒŒÿ11ÿÿccÿ„„ÿ¥¥ÿÆÆœ¥ÖŒ”Æ{„½ksµZkµRc­RZ­JZ­Zc­ÆÎçŒœÎBR¥JZ¥k{½¥­ÖÎÖçœ¥Îs{½”œÎJR¥„ŒÆÞÞï9J¥csµÆÆç ¢¤ßßßqrs´·º¥””Z9Jœ„ŒõÚÏôÊµªª«”JRÎÎÆ{BJúíâ../ÖÖÖ{19R19Z19½1Bò¥‘îîîVVV|~‚Ö××ZBR­1B„JZR)1Z)1µBB­BJ½)1ÿûöóóóõnPÐÉ¼cfi   &''!!!	ÞÖÖB9Rk)Bs19”19œZkkRZïôõõüþÿS£Ž‰ˆ‰Š988+     CDDÆµ½„ZcÈÉÉÛ|ëW1ÿ3 -„{„c191BcçççŽ“˜a8.fÌ3Rš&÷÷÷„)1ÆÖÖ11R„9Bæñý´áþÏßì)+. (gÆ!)œ””ssŒÙïûÝôý112ž­½œ!1­)1k9B”­½¤Îóõôï–nkJR­{„JBJRRs{Œ¥f§ê


­!)ïççB))›Óøÿþú½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
B11óøþÙâì½ÚøâèîµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ­!„csÞÞÞúýÿ¢Êî²è8=CÿÌ áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ J9BZJRcZcMNO B99ZJkkBRœ½Î½ÎÎüüüsks„ss1!1Îçç„œµ”­Î¥œœ­œœÿ÷ÿÞÖÞsZc)!!1))99Z9c”Bk¥J{µŒŒœ111Œks÷ïï½µ½Œ„„919„{ŒÆÆÆµ­­ÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ€°¡Ã‡ÿ$ ±¢Á(xÀ"B CŠD@ Èˆ
.`àñßHbÊœs€ƒD”(0Á CÒJ´À€t 2ÂRˆ ‰JŠ@Â€	 —h°”‚„9µlÌœ–Rh ‚…KÏ~Åpa¬Y¢ä&E°4ÃÐ1#¡ Y©/CÎ TÃ©–ÀðulâI3k~ räÇSãâ,¸¹ôeÌ8ˆžºõ¬áÓ‡‰æ„‰ÀBì© _ß•Íùlï™<| BÄ$Dˆ(!öí»³˜8!‚ŠÈSŒP±‚…ÌÜvåþ>—ÚB
#Ò§Gá‚*NðŸ¿ê½zõ)¢Ò¤ýÞ0t‘(ÜwŸÑ!_s»ÑT€#ä÷Û~ré–àL/ˆö C2È’úMX 	/¸PBu(Ì@Ã5|w K.Žçal³„Ó/Êg#Q6$ö U9þ7ß8äðÝßEÞL:Ð´4õàC?äðƒo2¾WY|41TBÐ4D= ôˆd’AÊT„1qFÈ™„Lc6 „KÜÀDLàà„•6ü`COˆçŸLPD!SP‘DBXq…LRb‘EZôðÄ\táÅ]€F]ˆñý-ÙÀþd”a„gÄ„FiÈ¤†ž>¬±…l(‘CnxáÅpÄ!Ç¨vAÇ–Î4ÅGÐSØÓn4°DJŒ‰°yà yè¡.{ðjN¸SSøQkøAF® ÈCŒ«…=àb¢®ºqð1!îvÁE!ÑÒD†Ò "‰œq…"‹4PèŒø …ZhÑˆ#o¤«î#]@2ÈÌî6ñDÅÒ^ÉGLaD’LBI%9XÒÈ—pª]ÂÆÂp`23ÍÎf³LHDš‰&gœ1Å&}4ÀI'ž	(\¸a‰#Ÿ,³Ì3J[Êx„›”Dþ(¢Ø1
)Y”bÊ"7ÜC§X¢*rÈ»„LI©7pIÔ]£²I*ª”ÑÀ*«°ÒŠ+¯ÀrG,¼†,³´Nª˜À]K8È+Ó³Îj‹-†4p.°ä¢Ë.¼¼òJ/¾€ñ0ÌÓ…0ÃtÁÇäbÜa{LT áG&ÄPQŒ1? p,È˜‹.ÉìB„Ê0Ï<-Ã,³Ì'r JÅ–uñSSø9Ø3LÑS¼"ÎpÆ3Ü.DC~óC´`DUØBrÊ„Lžð @¸0…)”Ñ…/¼Â}³˜Ã4 Êd<¤ÖÖö#†2Á	op5 `TÃòÂ€à2¢W»ƒ„¨×˜VÏŽ€¡Ü]h‚%öàG Ê§z ü>8ë5D(ršÓ„ªÜÀPtø‚6q
f¡jÂX¡0º ü!
GàF°ƒží ;ð)¾ŽTà„3á¸Á™8A^@Õ„±.Ø !ÔÂ†8ú0r\Ì~(Å7Êsœ/"H8–`8¦¡ê€(H*ÒG¨cìE;ÜñxÀ#òàÄ<ZòpÜ	¨ŠWAx0z\£<ðƒ=îQ\#ô ‡>öAL‚d¾ÈÕ"‰qôÝôÈ~ð„$  ; 0707010000033b000081e40000000000000002000000013d1fe2d80000085e000000200000000000000000000000000000001a00000003reloc/lilo/edit_other.cgi #!/usr/local/bin/perl
# edit_other.cgi
# Edit or create a boot partition

require './lilo-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");

&ReadParse();
if ($in{'new'}) {
	&header($text{'other_title1'}, "");
	$members = [ ];
	}
else {
	&header($text{'other_title2'}, "");
	$conf = &get_lilo_conf();
	$other = $conf->[$in{'idx'}];
	$members = $other->{'members'};
	}
print "<hr>\n";

print "<form action=save_other.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'other_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'other_name'}</b></td>\n";
printf "<td valign=top><input name=label size=15 value='%s'></td>\n",
	&find_value("label", $members);

print "<td><b>$text{'other_part'}</b></td> <td>\n";
print &foreign_call("fdisk", "partition_select", "other", $other->{'value'}, 0);
print "</td> </tr>\n";

$table = &find_value("table", $members);
print "<tr> <td><b>$text{'other_pass'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=tablemode value=0 %s> $text{'no'}\n",
	$table ? "" : "checked";
printf "<input type=radio name=tablemode value=1 %s> $text{'other_yes'}\n",
	$table ? "checked" : "";
print &foreign_call("fdisk", "partition_select", "table", $table, 1);
print "</td> </tr>\n";

$password = &find_value("password", $members);
print "<tr> <td><b>$text{'other_password'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=passmode value=0 %s> $text{'other_none'}\n",
	$password ? "" : "checked";
printf "<input type=radio name=passmode value=1 %s>\n",
	$password ? "checked" : "";
print "<input name=password size=25 value=\"$password\"></td> </tr>\n";

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td align=left><input type=submit value=\"$text{'save'}\"></td>\n";
if (!$in{'new'}) {
	print "<td align=right>",
	      "<input type=submit name=delete value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000033d000081e40000000000000002000000013d1fe2d800000adf000000200000000000000000000000000000001500000003reloc/lilo/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display all the boot partitions

require './lilo-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("lilo", "man", "doc", "howto"));
print "<hr>\n";

# Check for non-intel architecture
if (`uname -m 2>&1` !~ /i.86/i) {
	print "<p>$text{'index_earch'}<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if lilo.conf exists
if (!-r $config{'lilo_conf'}) {
	print "<p>",&text('index_econf',
			  "<tt>$config{'lilo_conf'}</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Get the lilo version
$out = `$config{'lilo_cmd'} -V 2>&1`;
if ($out =~ /lilo\s+version\s+([0-9\.]+)/i) {
	$lilo_version = $1;
	}
else {
	$lilo_version = 1;
	}
open(VERSION, ">$module_config_directory/version");
print VERSION $lilo_version,"\n";
close(VERSION);

$conf = &get_lilo_conf();
@images = sort { $a->{'index'} <=> $b->{'index'} }
	       ( &find("image", $conf), &find("other", $conf) );

$default = &find_value("default", $conf);
foreach $i (@images) {
	local $n = $i->{'name'};
	push(@icons, $n eq "image" ? "images/image.gif" : "images/other.gif");
	$l = &find_value("label", $i->{'members'});
	push(@titles, !$default && $i eq $images[0] ? "<b>$l</b>" :
		      $default && $default eq $l ? "<b>$l</b>" : $l);
	push(@links, "edit_$n.cgi?idx=$i->{'index'}");
	}
print "<a href='edit_image.cgi?new=1'>$text{'index_addk'}</a> &nbsp;\n";
print "<a href='edit_other.cgi?new=1'>$text{'index_addp'}</a><br>\n";
&icons_table(\@links, \@titles, \@icons, 4);
print "<a href='edit_image.cgi?new=1'>$text{'index_addk'}</a> &nbsp;\n";
print "<a href='edit_other.cgi?new=1'>$text{'index_addp'}</a><p>\n";
print "<hr>\n";

print "<table width=100%>\n";
print "<form action=edit_global.cgi>\n";
print "<tr><td><input type=submit value=\"$text{'index_global'}\"></td>\n";
print "<td>$text{'index_globalmsg'}</td></tr></form>\n";

%flang = &load_language('fdisk');
$text{'select_part'} = $flang{'select_part'};
$text{'select_device'} = $flang{'select_device'};
$text{'select_fd'} = $flang{'select_fd'};
$dev = &find_value("boot", $conf);
print "<form action=apply.cgi>\n";
print "<tr><td><input type=submit value=\"$text{'index_apply'}\"></td> <td>\n";
if ($dev) {
	print &text('index_applymsg1',
	  $dev =~ /fd(\d+)$/ ? &text('select_fd', $1) :
	  $dev =~ /hd([a-z])(\d+)$/ ? &text('select_part', 'IDE', uc($1), $2) :
	  $dev =~ /sd([a-z])(\d+)$/ ? &text('select_part', 'SCSI', uc($1), $2) :
	  $dev =~ /hd([a-z])$/ ? &text('select_device', 'IDE', uc($1)) :
	  $dev =~ /sd([a-z])$/ ? &text('select_device', 'SCSI', uc($1)) : $dev);
	}
else {
	print $text{'index_applymsg2'};
	}
print "\n",$text{'index_applymsg3'},"</td></tr></form>\n";
print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

 07070100003092000041ed0000000000000001000000023d1ffa7400000000000000200000000000000000000000000000001000000003reloc/lilo/lang   07070100003093000081a40000000000000002000000013d1fe2d800000dea000000200000000000000000000000000000001300000003reloc/lilo/lang/ca    index_title=Engegada del Linux
index_addk=Creació d'un nou kernel
index_addp=Creació d'una nova partició
index_global=Edició d'Opcions Globals
index_globalmsg=Edita les opcions globals d'engegada que s'apliquen a tots els kernels i particions.
index_apply=Aplica la Configuració
index_applymsg1=Aplica la configuració actual al sector d'engegada de $1.
index_applymsg2=Aplica la configuració actual al sector d'engegada del dispositiu arrel actual.
index_applymsg3=Assegura't que la configuració és correcta abans de reengegar!
index_return=a les particions i kernels
index_earch=LILO només està suportat en sistemes d'arquitectura x86

global_title=Opcions Globals
global_desc=Opcions Globals d'Engegada
global_boot=Grava el gestor d'engegada a
global_root=Dispositiu arrel
global_default=Partició/kernel per defecte
global_first=El primer de la llista
global_prompt=Mostra el prompt del LILO
global_timeout=Temps d'espera del prompt del LILO
global_forever=Infinit
global_lock=Recorda les opcions del kernel de l'usuari
global_delay=Temps d'espera abans d'engegar
global_imm=Immediat
global_compact=Barreja les peticions de lectura
global_optional=Omet els kernels que no existeixin
global_password=Contrasenya d'engegada per defecte
global_none=Cap
global_restricted=Contrasenya necessària per
global_extra=Engegar kernels amb opcions extres
global_any=Qualsevol
global_secs=segons
global_lba=Permet l'engegada per sobre dels 1024 cilindres
global_err=No he pogut desar les opcions globals

apply_title=Aplica la Configuració
apply_exec=Aplicant la configuració del LILO amb l'ordre $1...

image_title1=Creació de Kernel
image_title2=Edició de Kernel
image_options=Opcions del Kernel
image_name=Nom
image_kernel=Kernel a engegar
image_opts=Opcions del kernel
image_default=Defecte
image_add=Afegeix opcions...
image_replace=Reemplaça les opcions...
image_root=Dispositiu arrel
image_fromkern=Del kernel
image_rcurr=Arrel actual
image_rdev=Dispositiu...
image_initrd=Fitxer ramdisk inicial
image_mode=Mode de muntatge de root
image_ro=Només lectura
image_rw=Lectura/escriptura
image_vga=Mode text VGA
image_ask=Pregunta a l'usuari
image_other=Altres
image_lock=Recorda les opcions del kernel de l'usuari
image_optional=Omet els kernels que no existeixin
image_password=Contrasenya d'engegada
image_restricted=Contrasenya necessària per
image_extra=Engegar kernels amb opcions extres
image_any=Qualsevol
image_none=Cap
image_ename=Falta el nom d'aquest kernel
image_ekernel=La imatge '$1' del kernel no existeix
image_einitrd=El fitxer ramdisk inicial '$1' no existeix

other_title1=Creació de Partició
other_title2=Edició de Partició
other_details=Detalls de la Partició
other_name=Nom
other_part=Partició a engegar
other_pass=Passa la taula de particions al SO?
other_yes=Sí, des de
other_password=Contrasenya d'engegada
other_none=Cap
other_ename=Falta el nom d'aquesta partició

log_create_image=He creat el kernel $1
log_modify_image=He modificat el kernel $1
log_delete_image=He suprimit el kernel $1
log_create_image_l=He creat el kernel $1 per a $2
log_modify_image_l=He modificat el kernel $1 per a $2
log_delete_image_l=He suprimit el kernel $1 per a $2
log_create_other=He creat la partició $1
log_modify_other=He modificat la partició $1
log_delete_other=He suprimit la partició $1
log_create_other_l=He creat la partició d'engegada $1 de $2
log_modify_other_l=He modificat la partició d'engegada $1 de $2
log_delete_other_l=He suprimit la partició d'engegada $1 de $2
log_apply=He aplicat la configuració
log_global=He canviat les opcions globals

  07070100003094000081a40000000000000002000000013d1fe2d800000a89000000200000000000000000000000000000001300000003reloc/lilo/lang/cz    index_title=Konfigurace LILO
index_addk=Vytvorit nove bootovaci jadro
index_addp=Vytvorit novy bootovaci oddil
index_global=Editovat celkove moznosti 
index_globalmsg=Editovat globalni bootovaci moznosti, vztahujici se na vsechny jadra a oblasti.
index_apply=Pouzit konfiguraci
index_applymsg1=Pouzit tuto konfiguraci na bootovaci sektor na $1.
index_applymsg2=Pouzit tuto kongiguraci na bootovaci sektor na bezne korenove zarizeni.
index_applymsg3=Pred restartovanim PC se presvedcte, ze Vase konfigurace je spravna!!
index_return=jadra a oddily
index_earch=LILO je podporovano pouze na systemech s x86kovou architekturou

global_title=Globalni nastaveni
global_desc=Globalni nastaveni bootovani
global_boot=Zapsat LILO
global_root=Korenove zarizeni
global_default=Defaultni jadro/oddil
global_first=Prvni na seznamu
global_prompt=Zobrazit LILO prompt?
global_timeout=Cekaci doba v LILO promptu
global_forever=Navzdy
global_lock=Zapamatovat uzivatelovy moznosti jadra?
global_delay=Cekaci doba pred nabootovanim
global_imm=Neodkladny
global_compact=Sloucit pozadavky?
global_optional=Zrusit neexistujici jadra?
global_password=Defaultni bootovaci heslo
global_none=Nic
global_restricted=Je nutne zadat heslo
global_extra=Bootovaci jadra s rozsirenymi moznostmi
global_any=Kazde bootovani
global_secs=sekund
global_err=Chyba pri ukladani globalniho nastaveni

apply_title=Pouzit konfiguraci
apply_exec=Pouzit konfiguraci LILA s prikazem $1 ..

image_title1=Vytvorit bootovaci jadro
image_title2=Editovat bootovaci jadro
image_options=Moznosti bootovaciho jadra
image_name=Jmeno
image_kernel=Jadro k bootovani
image_opts=Moznosti jadra
image_default=Defaultni
image_add=Pridat moznosti..
image_replace=Nahradit moznosti..
image_root=Korenove zarizeni
image_fromkern=Z jadra..
image_rcurr=Tento root
image_rdev=Zarizeni ..
image_initrd=Inicializovat ramdisk
image_mode=Root mount mode
image_ro=Read-only
image_rw=Read-write
image_vga=VGA text mode
image_ask=Ask user
image_other=Jine
image_lock=Zapamatovat uzivatelovy moznosti jadra?
image_optional=Zrusit neexistujici jadra?
image_password=Bootovaci heslo
image_restricted=Heslo pro
image_extra=Bootovaci jadro s rozsirenymi moznostmi
image_any=Any booting
image_none=Nic
image_ename=Chybi pojmenovani pro toto bootovaci jadro
image_ekernel=Image jadra '$1' neexistuje
image_einitrd=Inicializace ramdiskoveho souboru '$1' neexistuje

other_title1=Vytvorit bootovaci partisnu
other_title2=Editovat bootovaci oddil
other_details=Detaily oddilu
other_name=Jmeno
other_part=Bootovaci partisna
other_pass=Ulozit tabulku oddilu do OS?
other_yes=Ano, z
other_password=Bootovaci heslo
other_none=Nic
other_ename=Chybi pojmenovani pro tento bootovaci oddil   07070100003095000081a40000000000000002000000013d1fe2d800000b22000000200000000000000000000000000000001300000003reloc/lilo/lang/de    index_title=Linux-Bootup-Konfiguration
index_addk=Einen neuen Boot-Kernel erstellen
index_addp=Eine neue Boot-Partition erstellen
index_global=Globale Einstellungen bearbeiten
index_globalmsg=Globale Einstellungen, die alle Kernel und Partitionen betreffen, bearbeiten
index_apply=Konfiguration anwenden
index_applymsg1=Aktuelle Konfiguration auf den Boot-Sektor auf $1 anwenden
index_applymsg2=Aktuelle Konfiguration auf den Boot-Sektor auf $1 anwenden.
index_applymsg3=Stellen Sie sicher, dass die Konfiguration korrekt ist, bevor Sie das System neu starten!
index_return=Kernel und Partitionen
global_title=Globale Einstellungen
global_desc=Globale Boot-Einstellungen
global_boot=Schreibe Bootlader auf
global_root=Root-Ger&auml;t 
global_default=Standard-Kernel/-Partition
global_first=Erster in Liste
global_prompt=LILO-Eingabezeile anzeigen?
global_timeout=Wartezeit der LILO-Eingabezeile
global_forever=Endlos
global_lock=Benutzer-Kernel-Optionen merken?
global_delay=Wartezeit vor dem Booten
global_imm=Sofort
global_compact=Leseanfragen zusammenfassen?
global_optional=&Uuml;berspringe Kernel, die nicht existieren?
global_password=Standard-Boot-Kennwort
global_none=Keines
global_restricted=Kennwort ben&ouml;tigt f&uuml;r
global_extra=Booten der Kernel mit zus&auml;tzlichen Einstellungen
global_any=Jegliches Booten
global_secs=Sekunden
global_err=Fehler beim Speichern der globalen Einstellungen
apply_title=Konfiguration anwenden
apply_exec=Wende LILO-Konfiguration an mit dem Befehl $1 ..
image_title1=Boot-Kernel erstellen
image_title2=Boot-Kernel bearbeiten
image_options=Boot-Kernel-Einstellungen
image_name=Name
image_kernel=Zu bootender Kernel
image_opts=Kernel-Parameter
image_default=Standard
image_add=F&uuml;ge Optionen hinzu..
image_replace=Ersetze Optionen..
image_root=Root-Ger&auml;t
image_fromkern=Von Kernel
image_rcurr=Aktuelles Stammverzeichnis
image_rdev=Ger&auml;t ..
image_initrd=Anf&auml;ngliche RAM-Disk-Datei
image_mode=Root-Mount-Modus
image_ro=Schreibgesch&uuml;tzt
image_rw=Lesen und Schreiben
image_vga=VGA-Textmodus
image_ask=Benutzer fragen
image_other=Andere
image_lock=Benutzer-Kernel-Optionen merken?
image_optional=&Uuml;berspringe Kernel, die nicht existieren?
image_password=Boot-Kennwort
image_restricted=Kennwort ben&ouml;tigt f&uuml;r
image_extra=Booten der Kernel mit zus&auml;tzlichen Einstellungen
image_any=Jegliches Booten
image_none=Keines
image_ename=Fehlender Name f&uuml;r diesen Kernel
image_ekernel=Kernel-Abbild '$1' existiert nicht
other_title1=Boot-Partition erstellen
other_title2=Boot-Partition bearbeiten
other_details=Partitionsdetails
other_name=Name
other_part=Zu bootende Partition
other_pass=&Uuml;bergebe die Partitionstabelle an das Betriebsystem?
other_yes=Ja, von
other_password=Boot-Kennwort
other_none=Keines
other_ename=Es fehlt der Name f&uuml;r diese Boot-Partition
  07070100003096000081a40000000000000002000000013d1fe2d800000d2e000000200000000000000000000000000000001300000003reloc/lilo/lang/en    index_title=Linux Bootup Configuration
index_addk=Create a new boot kernel
index_addp=Create a new boot partition
index_global=Edit Global Options
index_globalmsg=Edit global bootup options that apply to all kernels and partitions.
index_apply=Apply Configuration
index_applymsg1=Apply the current configuration to the boot sector on $1.
index_applymsg2=Apply the current configuration to the boot sector on the current root device.
index_applymsg3=Make sure your configuration is correct before rebooting!
index_return=kernels and partitions
index_earch=LILO is only supported on x86 architecture systems
index_econf=The LILO configuration file $1 does not exist. Maybe another boot loader is being used on your system.

global_title=Global Options
global_desc=Global Boot Options
global_boot=Write boot loader to
global_root=Root device
global_default=Default kernel/partition
global_first=First in list
global_prompt=Display LILO prompt?
global_timeout=Time to wait at LILO prompt
global_forever=Forever
global_lock=Remember user kernel options?
global_delay=Time to wait before booting
global_imm=Immediate
global_compact=Merge read requests?
global_optional=Skip kernels that do not exist?
global_password=Default boot password
global_none=None
global_restricted=Password needed for
global_extra=Booting kernels with extra options
global_any=Any booting
global_secs=seconds
global_lba=Allow booting from beyond 1024 cylinders?
global_err=Failed to save global options

apply_title=Apply Configuration
apply_exec=Applying LILO configuration with command $1 ..

image_title1=Create Boot Kernel
image_title2=Edit Boot Kernel
image_options=Boot Kernel Options
image_name=Name
image_kernel=Kernel to boot
image_opts=Kernel options
image_default=Default
image_add=Add options..
image_replace=Replace options..
image_root=Root device
image_fromkern=From kernel
image_rcurr=Current root
image_rdev=Device ..
image_initrd=Initial ramdisk file
image_mode=Root mount mode
image_ro=Read-only
image_rw=Read-write
image_vga=VGA text mode
image_ask=Ask user
image_other=Other
image_lock=Remember user kernel options?
image_optional=Skip kernels that do not exist?
image_password=Boot password
image_restricted=Password needed for
image_extra=Booting kernels with extra options
image_any=Any booting
image_none=None
image_ename=Missing name for this boot kernel
image_ekernel=Kernel image '$1' does not exist
image_einitrd=Initial ramdisk file '$1' does not exist

other_title1=Create Boot Partition
other_title2=Edit Boot Partition
other_details=Partition Details
other_name=Name
other_part=Partition to boot
other_pass=Pass partition table to OS?
other_yes=Yes, from
other_password=Boot password
other_none=None
other_ename=Missing name for this boot partition

log_create_image=Created boot kernel $1
log_modify_image=Modified boot kernel $1
log_delete_image=Deleted boot kernel $1
log_create_image_l=Created boot kernel $1 for $2
log_modify_image_l=Modified boot kernel $1 for $2
log_delete_image_l=Deleted boot kernel $1 for $2
log_create_other=Created boot partition $1
log_modify_other=Modified boot partition $1
log_delete_other=Deleted boot partition $1
log_create_other_l=Created boot partition $1 on $2
log_modify_other_l=Modified boot partition $1 on $2
log_delete_other_l=Deleted boot partition $1 on $2
log_apply=Applied configuration
log_global=Changed global options


  07070100003097000081a40000000000000002000000013d1fe2d800000f1a000000200000000000000000000000000000001300000003reloc/lilo/lang/es    index_title=Configuración de Arranque de Linux
index_addk=Crear un nuevo kernel de arranque
index_addp=Crear una nueva partición de arranque
index_global=Editar Opciones Globales
index_globalmsg=Editar opciones de arranque globales que se aplican a todos los kernels y particiones
index_apply=Aplicar Configuración
index_applymsg1=Aplicar la configuración actual al sector de arranque en $1.
index_applymsg2=Aplicar la configuración actual al sector de arranque en el dispositivo raiz actual.
index_applymsg3=¡Asegúrate de que tu configuración es correcta antes de rearrancar!
index_return=kernels y particiones
index_earch=LILO es soportado sólamente en sistemas con arquitectura x86

global_title=Opciones Globales
global_desc=Opciones Globales de Arranque
global_boot=Escribir cargador de arranque en
global_root=Dispositivo raiz
global_default=Kernel/partición por defecto
global_first=Primero en la lista
global_prompt=¿Muestro el prompt de LILO?
global_timeout=Tiempo de espera en el prompt de LILO
global_forever=Por siempre
global_lock=¿Recuerdo las opciones de usuario del kernel?
global_delay=Tiempo de espera antes de arrancar
global_imm=Inmediato
global_compact=¿Mezclo requerimientos de lectura?
global_optional=¿Me salto los kernels que no existan?
global_password=Clave de acceso de arranque por defecto
global_none=Ninguna
global_restricted=Clave de acceso necesitada para
global_extra=Arrancar kernels con opciones extra
global_any=Cualquier arranque
global_secs=segundos
global_lba=¿Permitir arrancar desde más allá de 1024 cilindros?
global_err=Error al salvar opciones globales

apply_title=Aplicar Configuración
apply_exec=Aplicar configuración LILO con el comando $1 ...

image_title1=Crear Kernel de Arranque
image_title2=Editar Kernel de Arranque
image_options=Opciones de Kernel de Arranque
image_name=Nombre
image_kernel=Kernel a arrancar
image_opts=Opciones del Kernel
image_default=Por defecto
image_add=Añadir opciones...
image_replace=Reemplazar opciones...
image_root=Dispositivo raiz
image_fromkern=Desde el kernel
image_rcurr=Raíz actual
image_rdev=Dispositivo...
image_initrd=Archivo de disco de memoria inicial
image_mode=Modo de montaje del Raíz
image_ro=Sólo-lectura
image_rw=Lectura-escritura
image_vga=modo de texto VGA
image_ask=Preguntar al usuario
image_other=Otros
image_lock=¿Recuerdo las opciones de kernel del usuario?
image_optional=¿Me salto los kernels que no existan?
image_password=Clave de Acceso de arranque
image_restricted=Se necesita clave de acceso para
image_extra=Arrancando kernels con opciones extra
image_any=Cualquier arranque
image_none=Ninguno
image_ename=Nombre para este kernel de arranque sin poner
image_ekernel=La Imagen del Kernel '$1' no existe
image_einitrd=El archivo de disco de memoria inicial '$1' no existe

other_title1=Crear Partición de Arranque
other_title2=Editar Partición de Arranque
other_details=Detalles de la Partición
other_name=Nombre
other_part=Partición a arrancar
other_pass=¿Paso la tabla de partición al SO?
other_yes=Sí, desde
other_password=Clave de acceso de arranque
other_none=Ninguna
other_ename=Nombre para esta partición de arranque sin poner

log_create_image=Creado kernel de arranque $1
log_modify_image=Modificado kernel de arranque $1
log_delete_image=Borrado kernel de arranque $1
log_create_image_l=Creado kernel de arranque $1 para $2
log_modify_image_l=Modificado kernel de arranque $1 para $2
log_delete_image_l=Borrado kernel de arranque $1 para $2
log_create_other=Creada partición de arranque $1
log_modify_other=Modificada partición de arranque $1
log_delete_other=Borrada partición de arranque $1
log_create_other_l=Creada partición de arranque $1 en $2
log_modify_other_l=Modificada partición de arranque $1 en $2
log_delete_other_l=Borrada partición de arranque $1 en $2
log_apply=Aplicada configuración
log_global=Cambiadas opciones globales


  07070100003098000081a40000000000000002000000013d1fe2d800000eef000000200000000000000000000000000000001300000003reloc/lilo/lang/fr    index_title=Configuration du démarrage de Linux
index_addk=Créer un nouveau noyau de démarrage
index_addp=Créer une nouvelle partition de démarrage
index_global=Éditer les Options Globale
index_globalmsg=Éditer les options globales de démarrage qui s'applique à tous les noyaux et partitions
index_apply=Appliquer la Configuration
index_applymsg1=Appliquer la configuration courante au secteur de démarrage sur $1.
index_applymsg2=Appliquer la configuration courante au secteur de démarrage du périphérique racine courant
index_applymsg3=S'assurer que votre configuration est correcte avant de redémarrer!
index_return=noyaux et partitions
index_earch=LILO est seulement supporté sur les architectures x86

global_title=Options Globale
global_desc=Options Globale de Démarrage
global_boot=Écrire le chargeur de démarrage sur
global_root=Périphérique racine
global_default=Partition ou noyau par défaut
global_first=Premier de la liste
global_prompt=Afficher l'indicatif LILO?
global_timeout=Temps d'attente à l'indicatif LILO
global_forever=Infini
global_lock=Se souvient des options usager du noyau?
global_delay=Temps d'attente avant de démarrer
global_imm=Immédiat
global_compact=Joindre les requêtes de lecture?
global_optional=Passer le noyau s'il n'existe pas?
global_password=Mot de passe de démarrage par défaut
global_none=Aucun
global_restricted=Mot de passe nécessaire pour
global_extra=Démarrer le noyau avec des options supplémentaires
global_any=Tout démarrage
global_secs=secondes
global_lba=Permettre le démarrage au-delà des 1024 cylindres ?
global_err=Impossible de sauvegarder les options globales

apply_title=Appliquer la Configuration
apply_exec=Appliquer la configuration LILO avec la commande '$1'

image_title1=Créer un Noyau de Démarrage
image_title2=Éditer un Noyau de Démarrage
image_options=Options du Noyau de Démarrage
image_name=Nom
image_kernel=Noyau à démarrer
image_opts=Options du noyau
image_default=Défaut
image_add=Ajouter des options
image_replace=Remplacer des options
image_root=Périphérique racine
image_fromkern=À partir du noyau
image_rcurr=Racine courante
image_rdev=Périphérique
image_initrd=Fichier disque mémoire initial
image_mode=Mode de montage racine
image_ro=Lecture seule
image_rw=Lecture et écriture
image_vga=Mode texte VGA
image_ask=Demander à l'usager
image_other=Autre
image_lock=Se souvenir des options usager du noyau?
image_optional=Passer le noyau s'il n'existe pas?
image_password=Mot de passe de démarrage
image_restricted=Mot de passe nécessaire pour
image_extra=Démarrer le noyau avec des options supplémentaires
image_any=Tout démarrage
image_none=Aucun
image_ename=Nom introuvable pour ce noyau de démarrage
image_ekernel=Image du noyau '$1' introuvable
image_einitrd=Le fichier disque mémoire initial '$1' n'existe pas

other_title1=Créer une Partition de Démarrage
other_title2=Éditer une Partition de Démarrage
other_details=Détails sur la Partition
other_name=Nom
other_part=Partition à démarrer
other_pass=Passer la table de partition au système d'exploitation?
other_yes=Oui, à partir de
other_password=Mot de passe au démarrage
other_none=Aucune
other_ename=Nom introuvable pour cette partition de démarrage

log_create_image=Noyau $1 créé
log_modify_image=Noyau $1 modifié
log_delete_image=Noyau $1 supprimé
log_create_image_l=Noyau $1 créé pour $2
log_modify_image_l=Noyau $1 modifié pour $2
log_delete_image_l=Noyau $1 supprimé pour $2
log_create_other=Partition de démarrage $1 créée
log_modify_other=Partition de démarrage $1 modifiée
log_delete_other=Partition de démarrage $1 supprimée
log_create_other_l=Partition de démarrage $1 créée sur $2
log_modify_other_l=Partition de démarrage $1 modifiée sur $2
log_delete_other_l=Partition de démarrage $1 supprimée sur $2
log_apply=Configuration appliquée
log_global=Options globales modifiées
 07070100003099000081a40000000000000002000000013d1fe2d800000b17000000200000000000000000000000000000001300000003reloc/lilo/lang/hu    index_title=Linux Bootup beállítások
index_addk=Új boot kernel készítése
index_addp=Új partíció készítése
index_global=Általános opciók szerkesztése
index_globalmsg=Általános bootolási opciók szerkesztése, ahol beállíthatók a kernelek és a partíciók.
index_apply=Beállítások érvényesítése
index_applymsg1=A jelenlegi beállítások érvényesítése $1 eszközön.
index_applymsg2=A jelenlegi beállítások érvényesítése a jelenlegi root eszköz boot szektorába.
index_applymsg3=Újraindítás elõtt gyõzõdjön meg arról, hogy a beállítások megfelelõek!
index_return=q kernelekhez és partíciókhoz
index_earch=LILO csak az x86-os architektúrákat támogatja

global_title=Általános opciók
global_desc=Általános boot opciók
global_boot=Boot-betöltõ kiírása
global_root=root eszköz-re
global_default=Alapértelmezett kernel/partíció
global_first=Elsõ a listában
global_prompt=A LILO parancssort megjelenítse?
global_timeout=A LILO parancssor várakozási ideje
global_forever=Örökké
global_lock=Emlékezzen a felhasználói kernel kapcsolóira?
global_delay=Várakozás bootolás elõtt
global_imm=Azonnal
global_compact=Olvasási kérések összefésülése?
global_optional=Kihagyja azokat a kerneleket, amelyek nem léteznek?
global_password=Alapértelmezett boot jelszó
global_none=Nincs
global_restricted=Jelszó kell
global_extra=az extra kapcsolókkal behúzott kernelekhez
global_any=minden rendszerindulás esetén
global_secs=másodpercek
global_err=Az általános beállítások elmentése nem sikerült.

apply_title=Beállítások érvényesítése
apply_exec=LILO beállítások érvényesítése a(z) $1 paranccsal...

image_title1=Boot kernel létrehozásal
image_title2=Boot kernel szerkesztése
image_options=Boot Kernel kapcsolók
image_name=Név
image_kernel=Boot-olandó kernel
image_opts=Kernel kapcsolók
image_default=Alapértelmezett
image_add=Kapcsolók hozzáadása...
image_replace=Kapcsolók kicserélése...
image_root=Root eszköz
image_fromkern=A kernelbõl
image_rcurr=Jelenlegi root
image_rdev=Eszköz ..
image_mode=Root csatolási mód
image_ro=Csak olvasható
image_rw=Írható-olvasható
image_vga=VGA szöveges képernyõ
image_ask=Megkérezés a felhasználótól
image_other=Egyéb
image_lock=Emlékezzen a felhasználói kernel kapcsolóira?
image_optional=Kihagyja azokat a kerneleket, amelyek nem léteznek?
image_password=Boot jelszó
image_restricted=Jelszó kell
image_extra=az extra kapcsolókkal behúzott kernelekhez
image_any=minden rendszerindítás esetén
image_none=Nincs
image_ename=Nincs neve ennek a boot kernelnek.
image_ekernel=A(z) '$1' kernel image nem létezik

other_title1=Boot partíció létrehozása
other_title2=Boot partíció szerkesztése
other_details=Partíció beállítások Details
other_name=Név
other_part=Boot-olandó partíció
other_pass=Partíciós tábla átadása az OS-nek?
other_yes=Igen, innen
other_password=Boot jelszó
other_none=Nincs
other_ename=Nincs neve ennek a boot kernelnek.
 0707010000309a000081a40000000000000002000000013d1fe2d800000e40000000200000000000000000000000000000001a00000003reloc/lilo/lang/ja_JP.euc index_title=Linux ¥Ö¡¼¥È¥¢¥Ã¥×ÀßÄê
index_addk=¿·µ¬¤Î¥Ö¡¼¥È ¥«¡¼¥Í¥ë¤òºîÀ®
index_addp=¿·µ¬¤Î¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òºîÀ®
index_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_globalmsg=¤¹¤Ù¤Æ¤Î¥«¡¼¥Í¥ë¤È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÅ¬ÍÑ¤¹¤ë¥°¥í¡¼¥Ð¥ë ¥Ö¡¼¥È¥¢¥Ã¥× ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤·¤Þ¤¹¡£
index_apply=ÀßÄê¤òÅ¬ÍÑ
index_applymsg1=$1 ¤Î¥Ö¡¼¥È ¥»¥¯¥¿¤Ë¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤·¤Þ¤¹¡£
index_applymsg2=¸½ºß¤Î root ¥Ç¥Ð¥¤¥¹¤Î¥Ö¡¼¥È ¥»¥¯¥¿¤Ë¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤·¤Þ¤¹¡£
index_applymsg3=¥ê¥Ö¡¼¥È¤¹¤ëÁ°¤ËÀßÄê¤¬Àµ¤·¤¤¤³¤È¤ò³ÎÇ§¤·¤Æ¤¯¤À¤µ¤¤¡£
index_return=¥«¡¼¥Í¥ë¤È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
index_earch=LILO ¤Ï x86 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã ¥·¥¹¥Æ¥à¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹

global_title=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
global_desc=¥°¥í¡¼¥Ð¥ë ¥Ö¡¼¥È ¥ª¥×¥·¥ç¥ó
global_boot=¥Ö¡¼¥È ¥í¡¼¥À¤ò½ñ¹þ¤ß
global_root=root¥Ç¥Ð¥¤¥¹
global_default=¥Ç¥Õ¥©¥ë¥È ¥«¡¼¥Í¥ë/¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
global_first=¥ê¥¹¥È¤ÎºÇ½é
global_prompt=LILO ¥×¥í¥ó¥×¥È¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
global_timeout=LILO ¥×¥í¥ó¥×¥È¤òÂÔµ¡¤¹¤ë»þ´Ö
global_forever=±Êµ×
global_lock=¥æ¡¼¥¶ ¥«¡¼¥Í¥ë ¥ª¥×¥·¥ç¥ó¤òµ­²±¤·¤Þ¤¹¤«¡©
global_delay=¥Ö¡¼¥ÈÂÔµ¡»þ´Ö
global_imm=º£¤¹¤°
global_compact=ÆÉ¤ß¹þ¤ó¤ÀÍ×ÀÁ¤ò¥Þ¡¼¥¸¤·¤Þ¤¹¤«¡©
global_optional=Â¸ºß¤·¤Ê¤¤¥«¡¼¥Í¥ë¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹¤«¡©
global_password=¥Ç¥Õ¥©¥ë¥È ¥Ö¡¼¥È ¥Ñ¥¹¥ï¡¼¥É
global_none=¤Ê¤·
global_restricted=¥Ñ¥¹¥ï¡¼¥É¤¬É¬Í×
global_extra=ÄÉ²Ã¥ª¥×¥·¥ç¥ó¤Ç¥«¡¼¥Í¥ë¤ò¥Ö¡¼¥È
global_any=ÉÔÆÃÄê¤Ç¥Ö¡¼¥È
global_secs=ÉÃ
global_lba=1024 ¥·¥ê¥ó¥À¤òÄ¶¤¨¤ë¾ì¹ç¥Ö¡¼¥È¤òµö²Ä¤·¤Þ¤¹¤«¡©
global_err=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

apply_title=ÀßÄê¤òÅ¬ÍÑ
apply_exec=LILO ÀßÄê¤ò¥³¥Þ¥ó¥É $1 ¤ÇÅ¬ÍÑÃæ..

image_title1=¥Ö¡¼¥È ¥«¡¼¥Í¥ë¤ÎºîÀ®
image_title2=¥Ö¡¼¥È ¥«¡¼¥Í¥ë¤ÎÊÔ½¸
image_options=¥Ö¡¼¥È ¥«¡¼¥Í¥ë ¥ª¥×¥·¥ç¥ó
image_name=¥«¡¼¥Í¥ëÌ¾
image_kernel=¥Ö¡¼¥È¤¹¤ë¥«¡¼¥Í¥ë
image_opts=¥«¡¼¥Í¥ë¤Î¥ª¥×¥·¥ç¥ó
image_default=¥Ç¥Õ¥©¥ë¥È
image_add=¥ª¥×¥·¥ç¥ó¤ÎÄÉ²Ã..
image_replace=¥ª¥×¥·¥ç¥ó¤ÎÃÖ´¹..
image_root=root ¥Ç¥Ð¥¤¥¹
image_fromkern=¥«¡¼¥Í¥ë¤«¤é
image_rcurr=¸½ºß¤Î root
image_rdev=¥Ç¥Ð¥¤¥¹..
image_initrd=½é´ü ramdisk ¥Õ¥¡¥¤¥ë
image_mode=root ¥Þ¥¦¥ó¥È ¥â¡¼¥É
image_ro=ÆÉ¼è¤êÀìÍÑ
image_rw=ÆÉ¼è¤ê-½ñ¹þ¤ß
image_vga=VGA ¥Æ¥­¥¹¥È ¥â¡¼¥É
image_ask=ÀßÄêÊÑ¹¹¤Î¾ì¹ç¤ÏÆþÎÏ¤¬É¬Í×
image_other=¤½¤ÎÂ¾
image_lock=¥æ¡¼¥¶ ¥«¡¼¥Í¥ë ¥ª¥×¥·¥ç¥ó¤òµ­²±¤·¤Þ¤¹¤«¡©
image_optional=Â¸ºß¤·¤Ê¤¤¥«¡¼¥Í¥ë¤ò¥¹¥­¥Ã¥×¤·¤Þ¤¹¤«¡©
image_password=¥Ö¡¼¥È ¥Ñ¥¹¥ï¡¼¥É
image_restricted=¥Ñ¥¹¥ï¡¼¥É¤¬É¬Í×
image_extra=ÄÉ²Ã¥ª¥×¥·¥ç¥ó¤Ç¥«¡¼¥Í¥ë¤ò¥Ö¡¼¥È
image_any=ÉÔÆÃÄê¤Ç¥Ö¡¼¥È
image_none=¤Ê¤·
image_ename=¤³¤Î¥Ö¡¼¥È ¥«¡¼¥Í¥ë¤ÎÌ¾Á°¤¬¤¢¤ê¤Þ¤»¤ó
image_ekernel=¥«¡¼¥Í¥ë ¥¤¥á¡¼¥¸ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
image_einitrd=½é´ü ramdisk ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

other_title1=¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎºîÀ®
other_title2=¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÊÔ½¸
other_details=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Î¾ÜºÙ
other_name=¥Ñ¡¼¥Æ¥£¥·¥ç¥óÌ¾
other_part=¥Ö¡¼¥È¤¹¤ë¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
other_pass=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó ¥Æ¡¼¥Ö¥ë¤ò OS ¤ËÅÏ¤·¤Þ¤¹¤«¡©
other_yes=¤Ï¤¤¡¢¼¡¤«¤é¼Â¹Ô
other_password=¥Ö¡¼¥È ¥Ñ¥¹¥ï¡¼¥É
other_none=¤Ê¤·
other_ename=¤³¤Î¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÎÌ¾Á°¤¬¤¢¤ê¤Þ¤»¤ó

log_create_image=¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_image=¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_image=¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_image_l=$2 ÍÑ¤Î¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_image_l=$2 ÍÑ¤Î¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_image_l=$2 ÍÑ¤Î¥Ö¡¼¥È ¥«¡¼¥Í¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_other=¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_other=¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_other=¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_create_other_l=$2 ¾å¤Ë¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_other_l=$2 ¾å¤Î¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_other_l=$2 ¾å¤Ë¥Ö¡¼¥È ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_apply=ÀßÄê¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿


0707010000319e000081a40000000000000002000000013d1fe2d800000bb8000000200000000000000000000000000000001a00000003reloc/lilo/lang/ko_KR.euc index_title=??? ºÎÆÃ ±¸¼º
index_addk=»õ ºÎÆ® Ä¿³Î ÀÛ¼º
index_addp=»õ ºÎÆ® ÆÄÆ¼¼Ç ÀÛ¼º
index_global=±Û·Î¹ú ¿É¼Ç ÆíÁý
index_globalmsg=¸ðµç Ä¿³Î°ú ÆÄÆ¼¼Ç¿¡ Àû¿ëµÇ´Â ±Û·Î¹ú ºÎÆÃ ¿É¼ÇÀ» ÆíÁýÇÕ´Ï´Ù.
index_apply=±¸¼º Àû¿ë
index_applymsg1=$1ÀÇ ºÎÆ® ¼½ÅÍ¿¡ ÇöÀç ±¸¼ºÀ» Àû¿ëÇÕ´Ï´Ù.
index_applymsg2=ÇöÀç ·çÆ® ÀåÄ¡ÀÇ ºÎÆ® ¼½ÅÍ¿¡ ÇöÀç ±¸¼ºÀ» Àû¿ëÇÕ´Ï´Ù.
index_applymsg3=ÀçºÎÆÃÇÏ±â Àü¿¡ ±¸¼ºÀÌ ¿Ã¹Ù¸¥Áö È®ÀÎÇÏ½Ê½Ã¿À!
index_return=Ä¿³Î ¹× ÆÄÆ¼¼Ç
index_earch=LILO´Â x86 ¾ÆÅ°ÅØÃ³ ½Ã½ºÅÛ¿¡¼­¸¸ Áö¿øµË´Ï´Ù

global_title=±Û·Î¹ú ¿É¼Ç
global_desc=±Û·Î¹ú ºÎÆ® ¿É¼Ç
global_boot=ºÎÆ® ·Î´õ ¾²±â ´ë»ó
global_root=·çÆ® ÀåÄ¡
global_default=±âº» Ä¿³Î/ÆÄÆ¼¼Ç
global_first=¸ñ·ÏÀÇ Ã¹¹øÂ°
global_prompt=LILO ÇÁ·ÒÇÁÆ®¸¦ Ç¥½ÃÇÕ´Ï±î?
global_timeout=LILO ÇÁ·ÒÇÁÆ®¿¡¼­ ´ë±âÇÏ´Â ½Ã°£
global_forever=°è¼Ó
global_lock=»ç¿ëÀÚ Ä¿³Î ¿É¼ÇÀ» ±â¾ïÇÕ´Ï±î?
global_delay=ºÎÆÃÇÏ±â Àü¿¡ ´ë±âÇÏ´Â ½Ã°£
global_imm=Áï½Ã
global_compact=ÀÐ±â ¿äÃ»À» º´ÇÕÇÕ´Ï±î?
global_optional=Á¸ÀçÇÏÁö ¾Ê´Â Ä¿³ÎÀ» °Ç³Ê¶Ý´Ï±î?
global_password=±âº» ºÎÆ® ¾ÏÈ£
global_none=¾øÀ½
global_restricted=¾ÏÈ£°¡ ÇÊ¿äÇÑ °æ¿ì
global_extra=Ãß°¡ ¿É¼ÇÀ» »ç¿ëÇÏ¿© Ä¿³Î ºÎÆÃ ½Ã
global_any=¸ðµç ºÎÆÃ ½Ã
global_secs=ÃÊ
global_lba=1024 ½Ç¸°´õ ÀÌ»ó¿¡¼­ ºÎÆÃÇÒ ¼ö ÀÖ½À´Ï±î?
global_err=±Û·Î¹ú ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

apply_title=±¸¼º Àû¿ë
apply_exec=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© LILO ±¸¼º Àû¿ë Áß..

image_title1=ºÎÆ® Ä¿³Î ÀÛ¼º
image_title2=ºÎÆ® Ä¿³Î ÆíÁý
image_options=ºÎÆ® Ä¿³Î ¿É¼Ç
image_name=ÀÌ¸§
image_kernel=ºÎÆÃÇÒ Ä¿³Î
image_opts=Ä¿³Î ¿É¼Ç
image_default=±âº»°ª
image_add=¿É¼Ç Ãß°¡..
image_replace=¿É¼Ç ¹Ù²Ù±â..
image_root=·çÆ® ÀåÄ¡
image_fromkern=Ä¿³Î·ÎºÎÅÍ
image_rcurr=ÇöÀç ·çÆ®
image_rdev=ÀåÄ¡..
image_initrd=ÃÊ±â ramdisk ÆÄÀÏ
image_mode=·çÆ® ¸¶¿îÆ® ¸ðµå
image_ro=ÀÐ±â Àü¿ë
image_rw=ÀÐ±â/¾²±â
image_vga=VGA ÅØ½ºÆ® ¸ðµå
image_ask=»ç¿ëÀÚ¿¡°Ô ¹¯±â
image_other=±× ¿Ü
image_lock=»ç¿ëÀÚ Ä¿³Î ¿É¼ÇÀ» ÀúÀåÇÕ´Ï±î?
image_optional=Á¸ÀçÇÏÁö ¾Ê´Â Ä¿³ÎÀ» °Ç³Ê¶Ý´Ï±î?
image_password=ºÎÆ® ¾ÏÈ£
image_restricted=¾ÏÈ£°¡ ÇÊ¿äÇÑ °æ¿ì
image_extra=Ãß°¡ ¿É¼ÇÀ» »ç¿ëÇÏ¿© Ä¿³Î ºÎÆÃ ½Ã
image_any=¸ðµç ºÎÆÃ ½Ã
image_none=¾øÀ½
image_ename=¾ø´Â ºÎÆ® Ä¿³Î ÀÌ¸§
image_ekernel=Ä¿³Î ÀÌ¹ÌÁö '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
image_einitrd=ÃÊ±â ramdisk ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

other_title1=ºÎÆ® ÆÄÆ¼¼Ç ÀÛ¼º
other_title2=ºÎÆ® ÆÄÆ¼¼Ç ÆíÁý
other_details=ÆÄÆ¼¼Ç ¼¼ºÎ Á¤º¸
other_name=ÀÌ¸§
other_part=ºÎÆÃÇÒ ÆÄÆ¼¼Ç
other_pass=¿î¿µ Ã¼Á¦¿¡ ÆÄÆ¼¼Ç Å×ÀÌºíÀ» Àü´ÞÇÕ´Ï±î?
other_yes=¿¹, ´ÙÀ½À¸·ÎºÎÅÍ:
other_password=ºÎÆ® ¾ÏÈ£
other_none=¾øÀ½
other_ename=¾ø´Â ºÎÆ® ÆÄÆ¼¼Ç ÀÌ¸§

log_create_image=ºÎÆ® Ä¿³Î $1 ÀÛ¼ºµÊ
log_modify_image=ºÎÆ® Ä¿³Î $1 ¼öÁ¤µÊ
log_delete_image=ºÎÆ® Ä¿³Î $1 »èÁ¦µÊ
log_create_image_l=$2ÀÇ ºÎÆ® Ä¿³Î $1 ÀÛ¼ºµÊ
log_modify_image_l=$2ÀÇ ºÎÆ® Ä¿³Î $1 ¼öÁ¤µÊ
log_delete_image_l=$2ÀÇ ºÎÆ® Ä¿³Î $1 »èÁ¦µÊ
log_create_other=ºÎÆ® ÆÄÆ¼¼Ç $1 ÀÛ¼ºµÊ
log_modify_other=ºÎÆ® ÆÄÆ¼¼Ç $1 ¼öÁ¤µÊ
log_delete_other=ºÎÆ® ÆÄÆ¼¼Ç $1 »èÁ¦µÊ
log_create_other_l=$2¿¡¼­ ºÎÆ® ÆÄÆ¼¼Ç $1 ÀÛ¼ºµÊ
log_modify_other_l=$2¿¡¼­ ºÎÆ® ÆÄÆ¼¼Ç $1 ¼öÁ¤µÊ
log_delete_other_l=$2¿¡¼­ ºÎÆ® ÆÄÆ¼¼Ç $1 »èÁ¦µÊ
log_apply=±¸¼º Àû¿ëµÊ
log_global=±Û·Î¹ú ¿É¼Ç º¯°æµÊ


0707010000319f000081a40000000000000002000000013d1fe2d800000e07000000200000000000000000000000000000001300000003reloc/lilo/lang/pl    index_title=Konfiguracja startu Linuksa
index_addk=Okre¶l kernel startowy
index_addp=Okre¶l partycjê startow±
index_global=Zmieñ opcje ogólne
index_globalmsg=Zmiany opcje ogólnych, które maj± zastosowanie do wszystkich kerneli i&nbsp;partycji. 
index_apply=Zastosuj konfiguracjê
index_applymsg1=Zastosowanie bie¿±cej konfiguracji do sektora BOOT na $1. 
index_applymsg2=Zastosowanie bie¿±cej konfiguracji do sektora BOOT na bie¿±cym urz±dzeniu <tt>root</tt>.
index_applymsg3=Upewnij siê, ¿e konfiguracja jest prawid³owa zanim zrestartujesz system!
index_return=kerneli i&nbsp;partycji
index_earch=LILO obs³uguje jedynie systemy o&nbsp;architekturze x86.

global_title=Opcje ogólne
global_desc=Ogólne opcje startowe
global_boot=Zapisz bootloader na
global_root=Urz±dzeniu <tt>root</tt>
global_default=Domy¶lny kernel/partycja
global_first=Pierwszy na li¶cie
global_prompt=Wy¶wietliæ zg³oszenie LILO?
global_timeout=Czas oczekiwania po zg³oszeniu LILO
global_forever=Nieograniczony
global_lock=Zapamiêtaæ dodatkowe opcje dla kernela?
global_delay=Czas oczekiwania przed startem
global_imm=Nie czekaæ
global_compact=Po³±czyæ przyleg³e odczyty?
global_optional=Pomin±æ nieistniej±ce kernele?
global_password=Domy¶lne has³o startowe
global_none=Brak
global_restricted=Has³o potrzebne przy
global_extra=Podawaniu opcji startowych dla kerneli
global_any=Ka¿dym starcie
global_secs=sekund
global_lba=Umo¿liwiæ start z&nbsp;obszaru powy¿ej 1024 cylindra?
global_err=Nie uda³o siê zachowaæ opcji ogólnych

apply_title=Zastosuj konfiguracjê
apply_exec=Zastosowanie konfiguracji LILO popraez wydanie polecenia $1 ..

image_title1=Okre¶l kernel startowy
image_title2=Zmieñ kernel startowy
image_options=Opcje kernela startowego
image_name=Nazwa
image_kernel=Kernel do wystartowania
image_opts=Opcje kernela
image_default=Domy¶lne
image_add=Dodaæ opcje..
image_replace=Zast±piæ opcje..
image_root=Urz±dzenie <tt>root</tt>
image_fromkern=Z kernela
image_rcurr=Aktualne
image_rdev=Urz±dzenie ..
image_initrd=Plik inicjalnego ramdysku
image_mode=Tryb montowania <tt>root</tt>
image_ro=Tylko do odczytu
image_rw=Odczyt i&nbsp;zapis
image_vga=Tryb tekstowy VGA
image_ask=Spytaæ u¿ytkownika
image_other=Inny
image_lock=Zapamiêtaæ dodatkowe opcje dla kernela?
image_optional=Pomin±æ nieistniej±ce kernele?
image_password=Has³o startowe
image_restricted=Has³o potrzebne przy
image_extra=Podawaniu opcji startowych dla kerneli
image_any=Ka¿dym starcie
image_none=Brak
image_ename=Nie podano nazwy dla tego kernela.
image_ekernel=Obraz kernela '$1' nie istnieje.
image_einitrd=Plik inicjalnego ramdysku '$1' nie istnieje.

other_title1=Okre¶l partycjê startow±
other_title2=Zmieñ partycjê startow±
other_details=Dane partycji
other_name=Nazwa
other_part=Partycja startowa
other_pass=Przekazaæ OS tablicê partycji?
other_yes=Tak, z
other_password=Has³o startowe
other_none=Brak
other_ename=Nie podano nazwy dla tej partycji startowej.

log_create_image=Okre¶lono kernel startowy $1
log_modify_image=Zmieniono kernel startowy $1
log_delete_image=Usuniêto kernel startowy $1
log_create_image_l=Okre¶lono kernel startowy $1 dla $2
log_modify_image_l=Zmieniono kernel startowy $1 dla $2
log_delete_image_l=Usuniêto kernel startowy $1 dla $2
log_create_other=Okre¶lono partycjê startow± $1
log_modify_other=Zmieniono partycjê startow± $1
log_delete_other=Usuniêto partycjê startow± $1
log_create_other_l=Okre¶lono partycjê startow± $1 na $2
log_modify_other_l=Zmieniono partycjê startow± $1 na $2
log_delete_other_l=Usuniêto partycjê startow± $1 na $2
log_apply=Zastosowano konfiguracjê
log_global=Zmieniono opcje ogólne
 070701000031a0000081a40000000000000002000000013d1fe2d800000acc000000200000000000000000000000000000001300000003reloc/lilo/lang/pt    index_title=Configuração de Arranque do Linux
index_addk=Criar novo kernel de arranque
index_addp=Criar nova partição de arranque
index_global=Editar Opções Gerais
index_globalmsg=Editar opções gerais de arranque que se apliquem a todos os kernels e partições.
index_apply=Aplicar Configuração
index_applymsg1=Aplicar a configuração corrente ao sector de arranque $1.
index_applymsg2=Aplicar a configuração corrente ao sector de arranque no dispositivo root corrente.
index_applymsg3=Certifique-se que a sua configuração está correcta antes de reiniciar o sistema!
index_return=kernels e partições

global_title=Opções Gerais
global_desc=Opções Gerais de Arranque
global_boot=Escrever o carregador de arranque para
global_root=Dispositivo root
global_default=kernel/partição predefinida
global_first=Primeira da lista
global_prompt=Mostrar a prompt do LILO?
global_timeout=Tempo de espera na prompt do LILO
global_forever=Para sempre
global_lock=Lembrar opções de kernel do utilizador?
global_delay=Tempo de espera antes do arranque
global_imm=Imediato
global_compact=Misturar pedidos de leitura?
global_optional=Omitir kernels que não existam?
global_password=Password de arranque predefinida
global_none=Nenhuma
global_restricted=Password necessária para
global_extra=Iniciar kernels com opções extra
global_any=Qualquer arranque
global_secs=segundos
global_err=Falha ao guardar as opções gerais

apply_title=Aplicar Configuração
apply_exec=A aplicar configuração do LILO com o comando $1 ..

image_title1=Criar Kernel de Arranque
image_title2=Editar Kernel de Arranque
image_options=Opções do Kernel de Arranque
image_name=Nome
image_kernel=Kernel a iniciar
image_opts=Opções de Kernel
image_default=Predefinido
image_add=Adicionar opções..
image_replace=Substituir opções..
image_root=Dispositivo root
image_fromkern=Do kernel
image_rcurr=Root corrente
image_rdev=Dispositivo ..
image_mode=Modo de montagem em root
image_ro=Leitura apenas
image_rw=Leitura-escrita
image_vga=Modo de texto VGA
image_ask=Perguntar ao utilizador
image_other=Outro
image_lock=Lembrar opções de kernel do utilizador?
image_optional=Omitir kernels que não existam?
image_password=Password de arranque
image_restricted=Password necessária para
image_extra=Iniciar kernels com opções extra
image_any=Qualquer arranque
image_none=Nenhum
image_ename=Falta o nome para este kernel de arranque
image_ekernel=A imagem do kernel '$1' não existe

other_title1=Criar Partição de Arranque
other_title2=Editar Partição de Arranque
other_details=Detalhes da Partição
other_name=Nome
other_part=Paratição para arrancar
other_pass=Passar a tabela de partição para o SO?
other_yes=Sim, de
other_password=Password de arranque
other_none=Nenhum
other_ename=Falta o nome para esta partição de arranque
070701000031a1000081a40000000000000002000000013d1fe2d800000ab7000000200000000000000000000000000000001600000003reloc/lilo/lang/ru_RU image_opts=Ïàðàìåòðû ÿäðà
global_desc=Ãëîáàëüíûå Ïàðàìåòðû Çàãðóçêè
image_rdev=Óñòðîéñòâî ..
global_err=Îøèáêà ïðè ñîõðîíåíèè ãëîáàëüíûõ ïàðàìåòðîâ
image_root=Êîðíåâîå óñòðîéñòâî
other_details=Ïàðàìåòðû Ðàçäåëà
apply_title=Ïðèíÿòü Êîíôèãóðàöèþ
other_ename=Íå óêàçàíî èìÿ äëÿ çàãðóçî÷íîãî ðàçäåëà
global_imm=Íåìåäëåííî
image_mode=Ðåæèì ìîíòèðîâàíèÿ êîðíÿ
global_restricted=Ïàðîëü íåîáõîäèì äëÿ
image_title1=Ñîçäàíèå Çàãðóçî÷íîãî ßäðà
image_title2=Ðåäàêòèðîâàíèå Çàãðóçî÷íîãî ßäðà
image_any=Ëþáîé çàãðóçêè
index_apply=Ïðèíÿòü Ïàðàìåòðû
image_password=Çàãðóçî÷íûé ïàðîëü
index_return=ÿäðà è ðàçäåëû
image_kernel=ßäðî äëÿ çàãðóçêè
global_title=Ãëîáàëüíûå Ïàðàìåòðû
image_vga=Òåêñòîâûé ðåæèì VGA
other_name=Èìÿ
global_boot=Çàïèñàòü çàãðóç÷èê íà
image_ask=Ñïðîñèòü ïîëüçîâàòåëÿ
image_ekernel=Îáðàç ÿäðà '$1' íå ñóùåñòâóåò
image_options=Ïàðàìåòðû Çàãðóçî÷íîãî ßäðà
image_other=Äðóãîå
image_rcurr=Òåêóùèé êîðåíü
global_default=ßäðî/ðàçäåë ïî óìîë÷àíèþ
global_first=Ïåðâûé â ñïèñêå
image_name=Èìÿ
index_globalmsg=Ðåäàêòèðîâàíèå ãëîáàëüíûõ çàãðóçî÷íûõ ïàðàìåòðîâ, êîòîðûå äåéñòâóþò íà âñå ÿäðà è ðàçäåëû.
other_part=Ðàçäåë äëÿ çàãðóçêè
global_compact=Îáúåäèíèòü çàïðîñû íà ÷òåíèå?
other_pass=Ïåðåäàâàòü òàáëèöó ðàçäåëîâ â ÎÑ?
image_extra=Çàãðóçêè ÿäåð ñ äîïîëíèòåëüíûìè ïàðàìåòðàìè
other_title1=Ñîçäàíèå Çàãðóçî÷íîãî Ðàçäåëà
other_title2=Ðåäàêòèðîâàíèå Çàãðóçî÷íîãî Ðàçäåëà
index_applymsg1=Ïðèíÿòü òåêóùèå ïàðàìåòðû äëÿ çàãðóçî÷íîãî ñåêòîðà íà $1.
index_applymsg2=Ïðèíÿòü òåêóùèå ïàðàìåòðû äëÿ çàãðóçî÷íîãî ñåêòîðà íà òåêóùåì êîðíåâîì óñòðîéñòâå.
index_applymsg3=Óáåäèòåñü â ïðàâèëüíîñòè âàøåé êîíôèãóðàöèè ïåðåä ïåðåçàãðóçêîé!
global_lock=Çàïîìèíàòü ïîëüçîâàòåëüñêèå ïàðàìåòðû ÿäðà?
apply_exec=Àêòèâàöèÿ êîíôèãóðàöèè LILO ïðè ïîìîùè êîìàíäû $1 ..
global_optional=Ïðîïóñêàòü íåñóùåñòâóþùèå ÿäðà?
global_extra=Çàãðóçêè ÿäåð ñ äîïîëíèòåëüíûìè ïàðàìåòðàìè
image_lock=Çàïîìíèòü ïîëüçîâàòåëüñêèå ïàðàìåòðû ÿäðà
global_delay=Òàéìàóò ïåðåä çàãðóçêîé
image_ro=Òîëüêî-÷òåíèå
image_fromkern=Èç ÿäðà
image_rw=×òåíèå-Çàïèñü
other_yes=Äà, èç
index_global=Ðåäàêòèðîâàòü Ãëîáàëüíûå Ïàðàìåòðû
index_title=Çàãðóçî÷íàÿ Êîíôèãóðàöèÿ Linux
other_none=Íåò
global_forever=Áåñêîíå÷íî
global_timeout=Òàéìàóò íà ïðèãëàøåíèè LILO
global_none=Íåò
image_optional=Ïðîïóñêàòü íåñóùåñòâóþùèå ÿäðà?
global_prompt=Ïîêàçûâàòü ïðèãëàøåíèå LILO?
image_default=Ïî óìîë÷àíèþ
image_ename=Íå çàäàíî èìÿ äëÿ ýòîãî çàãðóçî÷íîãî ÿäðà
image_none=Íåò
global_any=Ëþáîé çàãðóçêè
image_restricted=Ïàðîëü íåîáõîäèì äëÿ
other_password=Çàãðóçî÷íûé ïàðîëü
image_replace=Çàìåíèòü ïàðàìåòðû..
global_root=Êîðíåâîå óñòðîéñòâî
global_password=Çàãðóçî÷íûé ïàðîëü ïî óìîë÷àíèþ
index_addk=Ñîçäàòü íîâîå çàãðóçî÷íîå ÿäðî
index_addp=Ñîçäàòü íîâûé çàãðóçî÷íûé ðàçäåë
image_add=Äîáàâèòü ïàðàìåòðû..
global_secs=ñåê.
 070701000031a2000081a40000000000000002000000013d1fe2d800000abb000000200000000000000000000000000000001600000003reloc/lilo/lang/ru_SU index_title=úÁÇÒÕÚÏÞÎÁÑ ëÏÎÆÉÇÕÒÁÃÉÑ Linux
index_addk=óÏÚÄÁÔØ ÎÏ×ÏÅ ÚÁÇÒÕÚÏÞÎÏÅ ÑÄÒÏ
index_addp=óÏÚÄÁÔØ ÎÏ×ÙÊ ÚÁÇÒÕÚÏÞÎÙÊ ÒÁÚÄÅÌ
index_global=òÅÄÁËÔÉÒÏ×ÁÔØ çÌÏÂÁÌØÎÙÅ ðÁÒÁÍÅÔÒÙ
index_globalmsg=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÇÌÏÂÁÌØÎÙÈ ÚÁÇÒÕÚÏÞÎÙÈ ÐÁÒÁÍÅÔÒÏ×, ËÏÔÏÒÙÅ ÄÅÊÓÔ×ÕÀÔ ÎÁ ×ÓÅ ÑÄÒÁ É ÒÁÚÄÅÌÙ.
index_apply=ðÒÉÎÑÔØ ðÁÒÁÍÅÔÒÙ
index_applymsg1=ðÒÉÎÑÔØ ÔÅËÕÝÉÅ ÐÁÒÁÍÅÔÒÙ ÄÌÑ ÚÁÇÒÕÚÏÞÎÏÇÏ ÓÅËÔÏÒÁ ÎÁ $1.
index_applymsg2=ðÒÉÎÑÔØ ÔÅËÕÝÉÅ ÐÁÒÁÍÅÔÒÙ ÄÌÑ ÚÁÇÒÕÚÏÞÎÏÇÏ ÓÅËÔÏÒÁ ÎÁ ÔÅËÕÝÅÍ ËÏÒÎÅ×ÏÍ ÕÓÔÒÏÊÓÔ×Å.
index_applymsg3=õÂÅÄÉÔÅÓØ × ÐÒÁ×ÉÌØÎÏÓÔÉ ×ÁÛÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÐÅÒÅÄ ÐÅÒÅÚÁÇÒÕÚËÏÊ!
index_return=ÑÄÒÁ É ÒÁÚÄÅÌÙ

global_title=çÌÏÂÁÌØÎÙÅ ðÁÒÁÍÅÔÒÙ
global_desc=çÌÏÂÁÌØÎÙÅ ðÁÒÁÍÅÔÒÙ úÁÇÒÕÚËÉ
global_boot=úÁÐÉÓÁÔØ ÚÁÇÒÕÚÞÉË ÎÁ
global_root=ëÏÒÎÅ×ÏÅ ÕÓÔÒÏÊÓÔ×Ï
global_default=ñÄÒÏ/ÒÁÚÄÅÌ ÐÏ ÕÍÏÌÞÁÎÉÀ
global_first=ðÅÒ×ÙÊ × ÓÐÉÓËÅ
global_prompt=ðÏËÁÚÙ×ÁÔØ ÐÒÉÇÌÁÛÅÎÉÅ LILO?
global_timeout=ôÁÊÍÁÕÔ ÎÁ ÐÒÉÇÌÁÛÅÎÉÉ LILO
global_forever=âÅÓËÏÎÅÞÎÏ
global_secs=ÓÅË.
global_lock=úÁÐÏÍÉÎÁÔØ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ?
global_delay=ôÁÊÍÁÕÔ ÐÅÒÅÄ ÚÁÇÒÕÚËÏÊ
global_imm=îÅÍÅÄÌÅÎÎÏ
global_compact=ïÂßÅÄÉÎÉÔØ ÚÁÐÒÏÓÙ ÎÁ ÞÔÅÎÉÅ?
global_optional=ðÒÏÐÕÓËÁÔØ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÅ ÑÄÒÁ?
global_password=úÁÇÒÕÚÏÞÎÙÊ ÐÁÒÏÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ
global_none=îÅÔ
global_restricted=ðÁÒÏÌØ ÎÅÏÂÈÏÄÉÍ ÄÌÑ
global_extra=úÁÇÒÕÚËÉ ÑÄÅÒ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ
global_any=ìÀÂÏÊ ÚÁÇÒÕÚËÉ
global_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÏÎÅÎÉÉ ÇÌÏÂÁÌØÎÙÈ ÐÁÒÁÍÅÔÒÏ×

apply_title=ðÒÉÎÑÔØ ëÏÎÆÉÇÕÒÁÃÉÀ
apply_exec=áËÔÉ×ÁÃÉÑ ËÏÎÆÉÇÕÒÁÃÉÉ LILO ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ $1 ..

image_title1=óÏÚÄÁÎÉÅ úÁÇÒÕÚÏÞÎÏÇÏ ñÄÒÁ
image_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ úÁÇÒÕÚÏÞÎÏÇÏ ñÄÒÁ
image_options=ðÁÒÁÍÅÔÒÙ úÁÇÒÕÚÏÞÎÏÇÏ ñÄÒÁ
image_name=éÍÑ
image_kernel=ñÄÒÏ ÄÌÑ ÚÁÇÒÕÚËÉ
image_opts=ðÁÒÁÍÅÔÒÙ ÑÄÒÁ
image_default=ðÏ ÕÍÏÌÞÁÎÉÀ
image_add=äÏÂÁ×ÉÔØ ÐÁÒÁÍÅÔÒÙ..
image_replace=úÁÍÅÎÉÔØ ÐÁÒÁÍÅÔÒÙ..
image_root=ëÏÒÎÅ×ÏÅ ÕÓÔÒÏÊÓÔ×Ï
image_fromkern=éÚ ÑÄÒÁ
image_rcurr=ôÅËÕÝÉÊ ËÏÒÅÎØ
image_rdev=õÓÔÒÏÊÓÔ×Ï ..
image_mode=òÅÖÉÍ ÍÏÎÔÉÒÏ×ÁÎÉÑ ËÏÒÎÑ
image_ro=ôÏÌØËÏ-ÞÔÅÎÉÅ
image_rw=þÔÅÎÉÅ-úÁÐÉÓØ
image_vga=ôÅËÓÔÏ×ÙÊ ÒÅÖÉÍ VGA
image_ask=óÐÒÏÓÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ
image_other=äÒÕÇÏÅ
image_lock=úÁÐÏÍÎÉÔØ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÐÁÒÁÍÅÔÒÙ ÑÄÒÁ
image_optional=ðÒÏÐÕÓËÁÔØ ÎÅÓÕÝÅÓÔ×ÕÀÝÉÅ ÑÄÒÁ?
image_password=úÁÇÒÕÚÏÞÎÙÊ ÐÁÒÏÌØ
image_restricted=ðÁÒÏÌØ ÎÅÏÂÈÏÄÉÍ ÄÌÑ
image_extra=úÁÇÒÕÚËÉ ÑÄÅÒ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ
image_any=ìÀÂÏÊ ÚÁÇÒÕÚËÉ
image_none=îÅÔ
image_ename=îÅ ÚÁÄÁÎÏ ÉÍÑ ÄÌÑ ÜÔÏÇÏ ÚÁÇÒÕÚÏÞÎÏÇÏ ÑÄÒÁ
image_ekernel=ïÂÒÁÚ ÑÄÒÁ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

other_title1=óÏÚÄÁÎÉÅ úÁÇÒÕÚÏÞÎÏÇÏ òÁÚÄÅÌÁ
other_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ úÁÇÒÕÚÏÞÎÏÇÏ òÁÚÄÅÌÁ
other_details=ðÁÒÁÍÅÔÒÙ òÁÚÄÅÌÁ
other_name=éÍÑ
other_part=òÁÚÄÅÌ ÄÌÑ ÚÁÇÒÕÚËÉ
other_pass=ðÅÒÅÄÁ×ÁÔØ ÔÁÂÌÉÃÕ ÒÁÚÄÅÌÏ× × ïó?
other_yes=äÁ, ÉÚ
other_password=úÁÇÒÕÚÏÞÎÙÊ ÐÁÒÏÌØ
other_none=îÅÔ
other_ename=îÅ ÕËÁÚÁÎÏ ÉÍÑ ÄÌÑ ÚÁÇÒÕÚÏÞÎÏÇÏ ÒÁÚÄÅÌÁ
 070701000031a3000081a40000000000000002000000013d1fe2d800000cf2000000200000000000000000000000000000001300000003reloc/lilo/lang/sv    index_title=Linux startinställningar
index_addk=Skapa en ny startkärna
index_addp=Skapa en ny startpartition
index_global=Ändra globala inställningar
index_globalmsg=Ändra globala inställningar för alla kärnor och partitioner.
index_apply=Ta inställningarna i drift
index_applymsg1=Använd dessa inställningar på startsektorn på $1.
index_applymsg2=Använd dessa inställningar på startsektorn på aktuell rotdisk.
index_applymsg3=Kontrollera inställningarna innan du startar om!
index_return=kärnor och partitioner
index_earch=LILO stöds endast av system med x86-arkitektur

global_title=Globala inställningar
global_desc=Globala startinställningar
global_boot=Skriv boot loader till
global_root=Rotdisk
global_default=Standardkärna/-partition
global_first=Först i listan
global_prompt=Visa LILO-prompt?
global_timeout=Väntetid vid LILO-prompt
global_forever=I evighet
global_lock=Spara kärninställningar för användare?
global_delay=Väntetid före start
global_imm=Omedelbart
global_compact=Sätta ihop läsförfrågningar?
global_optional=Hoppa över kärnor som inte finns?
global_password=Standardlösenord för start
global_none=Inget
global_restricted=Lösenord krävs för
global_extra=Startar kärnor med extrainställningar
global_any=Startar allt
global_secs=sekunder
global_err=Det gick inte att spara globala inställningar

apply_title=Ta inställningarna i drift
apply_exec=Tar LILO-inställningarna i drift med kommando $1 ...

image_title1=Skapa startkärna
image_title2=Ändra startkärna
image_options=Inställningar för startkärna
image_name=Namn
image_kernel=Startkärna
image_opts=Inställningar för kärna
image_default=Standard
image_add=Lägg till inställningar ...
image_replace=Byt ut inställningar ...
image_root=Rotdisk
image_fromkern=Från kärna
image_rcurr=Aktuell root
image_rdev=Disk ...
image_mode=Rootmonteringsläge
image_ro=Endast läsbar
image_rw=Läs- och skrivbar
image_vga=VGA-textmod
image_ask=Fråga användare
image_other=Övriga
image_initrd=Initial RAM-diskfil
image_lock=Spara kärninställningar för användare?
image_optional=Hoppa över kärnor som inte finns?
image_password=Startlösenord
image_restricted=Lösenord krävs för att
image_extra=starta kärnor med extrainställningar
image_any=starta alla
image_none=Inget
image_ename=Namn saknas för denna startkärna
image_ekernel=Kärn-image '$1' finns inte
image_einitrd=Initial RAM-diskfil '$1' finns inte

other_title1=Skapa startpartition
other_title2=Ändra startpartition
other_details=Uppgifter om partition
other_name=Namn
other_part=Partition att starta från
other_pass=Ge partitionstabellen till OS?
other_yes=Ja, från
other_password=Startlösenord
other_none=Inget
other_ename=Namn saknas för denna startpartition

log_create_image=Skapade startkärna $1
log_modify_image=Modifierade startkärna $1
log_delete_image=Tog bort startkärna $1
log_create_image_l=Skapade startkärna $1 för $2
log_modify_image_l=Modifierade startkärna $1 för $2
log_delete_image_l=Tog bort startkärna $1 för $2
log_create_other=Skapade startpartition $1
log_modify_other=Modifierade startpartition $1
log_delete_other=Tog bort startpartition $1
log_create_other_l=Skapade startpartition $1 på $2
log_modify_other_l=Modifierade startpartition $1 på $2
log_delete_other_l=Tog bort startpartition $1 på $2
log_apply=Tog ändringar i drift
log_global=Ändrade globala inställningar
  070701000031a4000081a40000000000000002000000013d1fe2d800000e29000000200000000000000000000000000000001300000003reloc/lilo/lang/tr    index_title=Linux Açýlýþ Yapýlandýrmasý
index_addk=Yeni bir açýlýþ çekirdeði oluþtur
index_addp=Yeni bir açýlýþ disk bölümü oluþtur
index_global=Genel Seçenekleri Deðiþtir
index_globalmsg=Bütün çekirdek ve disk bölümlerine uygulanacak olan deðiþiklikleri deðiþtirmek için týklayýnýz.
index_apply=Yapýlandýrmayý Uygula
index_applymsg1=Açýlýþ sektörü $1'e mevcut yapýlandýrmayý uygula.
index_applymsg2=Mevcut root aygýtýnýn açýlýþ sektörüne mevcut yapýlandýrmayý uygula.
index_applymsg3=Makineyi yeniden baþlatmadan önce yapýlandýrmanýzýn doðru olduðuna emin olunuz!
index_return=çekirdek ve disk bölümleri
index_earch=LILO sadece x86 mimarisindeki sistemleri destekler

global_title=Genel Seçenekler
global_desc=Genel Açýlýþ Seçenekleri
global_boot=Açýlýþ yükleyicisini buraya yaz
global_root=Root aygýtý
global_default=Öntanýmlý çekirdek/disk_bölümü
global_first=Listenin baþýndaki
global_prompt=LILO komut satýrý görüntülensin mi?
global_timeout=LILO komut satýrýndaki bekleme süresi
global_forever=Daima
global_lock=Kullanýcý çekirdek seçenekleri hatýrlansýn mý?
global_delay=Açýlýþtan önceki bekleme süresi
global_imm=Hemen aç
global_compact=Okuma istekleri birleþtirilsin mi?
global_optional=Eðer yoksa çekirdek geçilsin mi?
global_password=Öntanýmlý açýlýþ parolasý
global_none=Hiçbiri
global_restricted=Parolanýn kullaným þartý: 
global_extra=Çekirdekler ekstra seçenekler ile açýlýyorsa
global_any=Her açýlýþta
global_secs=saniye
global_err=Genel seçeneklerin kaydedilmesinde hata oluþtu

apply_title=Yapýlandýrmayý Uygula
apply_exec=LILO yapýlandýrmasý $1 komutu ile uygulanýyor..

image_title1=Açýlýþ çekirdeði oluþtur
image_title2=Açýlýþ çekirdeðini deðiþtir
image_options=Açýlýþ çekirdeði seçenekleri
image_name=Ýsim
image_kernel=Açýlýþ çekirdeði
image_opts=Çekirdek Seçenekleri
image_default=Öntanýmlý
image_add=Seçenekleri ekle..
image_replace=Seçenekleri deðiþtir..
image_root=Root aygýtý
image_fromkern=Çekirdekten
image_rcurr=Mevcut root
image_rdev=Aygýt ..
image_initrd=Ýlk ramdisk dosyasý
image_mode=Root baðlama modu
image_ro=Sadece okunur
image_rw=Okunur-yazýlýr
image_vga=VGA modu
image_ask=Kullanýcýya sor
image_other=Diðer
image_lock=Kullanýcý çekirdek seçenekleri hatýrlansýn mý?
image_optional=Eðer yoksa çekirdek geçilsin mi?
image_password=Açýlýþ parolasý
image_restricted=Parolanýn kullaným þartý
image_extra=Çekirdek ekstra seçeneklerle açýlýyorsa
image_any=Her açýlýþta
image_none=Hiçbiri
image_ename=Bu çekirdeðin ismi bulunamadý
image_ekernel=Çekirdek dosyasý '$1' mevcut deðil
image_einitrd=Ýlk ramdisk dosyasý '$1' mevcut deðil

other_title1=Açýlýþ Disk Bölümü oluþtur
other_title2=Açýlýþ Disk Bölümleriin Deðiþtir
other_details=Disk Bölümü Ayrýntýlarý
other_name=Ýsim
other_part=Açýlýþ disk bölümün
other_pass=OS'un disk bölüm tablosunu geç?
other_yes=Evet, buradadan
other_password=Açýlýþ parolasý
other_none=Hiçbiri
other_ename=Bu açýlýþ disk bölümünün ismi bulunamadý

log_create_image=Açýlýþ çekirdeði $1 oluþturuldu
log_modify_image=Açýlýþ çekirdeði $1 deðiþtirildi
log_delete_image=Açýlýþ çekirdeði $1 silindi
log_create_image_l=$2 için açýlýþ çekirdeði $1 oluþturuldu
log_modify_image_l=$2 için açýlýþ çekirdeði $1 deðiþtirildi
log_delete_image_l=$2 için açýlýþ çekirdeði $1 silindi
log_create_other=$Açýlýþ disk bölümü $1 oluþturuldu
log_modify_other=Açýlýþ disk bölümü $1 deðiþtirildi
log_delete_other=Açýlýþ disk bölümü $1 silindi
log_create_other_l=$2'de açýlýþ disk bölümü $1 oluþturuldu
log_modify_other_l=$2'de açýlýþ disk bölümü $1 deðiþtirildi
log_delete_other_l=$2'de açýlýþ disk bölümü $1 silindi
log_apply=Yapýlandýrma uygulandý
log_global=Genel seçenekler deðiþtirildi

   070701000031a5000081a40000000000000002000000013d1fe2d800000999000000200000000000000000000000000000001600000003reloc/lilo/lang/zh_CN index_title=Linux Æô¶¯ÅäÖÃ
index_addk=´´½¨Ò»¸öÐÂµÄÆô¶¯ÄÚºË
index_addp=´´½¨Ò»¸öÐÂµÄÆô¶¯·ÖÇø
index_global=±à¼­È«¾ÖÑ¡Ïî
index_globalmsg=±à¼­Ó¦ÓÃµ½ËùÓÐÄÚºËºÍ·ÖÇøµÄÈ«¾ÖÆô¶¯Ñ¡Ïî¡£
index_apply=Ó¦ÓÃÅäÖÃ
index_applymsg1=ÔÚ$1µÄÒýµ¼ÉÈÇøÓ¦ÓÃµ±Ç°ÅäÖÃ¡£
index_applymsg2=ÔÚµ±Ç°¸ùÉè±¸µÄÒýµ¼ÉÈÇøÓ¦ÓÃµ±Ç°ÅäÖÃ
index_applymsg3=ÔÚÖØÐÂÆô¶¯»úÆ÷Ç°, ÇëÈ·ÈÏÄúµÄÅäÖÃÊÇ·ñÕýÈ·!
index_return=ÄÚºËºÍ·ÖÇø
index_earch=Ö»ÓÐX86ÌåÏµ½á¹¹µÄÏµÍ³Ö§³ÖLILO
global_title=È«¾Ö²ÎÑ¡Ïî
global_desc=È«¾ÖÆô¶¯Ñ¡Ïî
global_boot=½«Æô¶¯×°ÔØÆ÷Ð´µ½
global_root=¸ùÉè±¸
global_default=È±Ê¡µÄÄÚºË»ò·ÖÇø
global_first=ÁÐ±íÖÐµÄµÚÒ»Ïî
global_prompt=ÏÔÊ¾LILOÌáÊ¾·ûÂð£¿
global_timeout=LILOÌáÊ¾·ûµÄµÈºòÊ±¼ä
global_forever=ÓÀ¾Ã
global_lock=ÊÇ·ñ¼Ç×¡ÓÃ»§ÄÚºËÑ¡Ïî£¿
global_delay=Òýµ¼Ç°µÄµÈºòÊ±¼ä
global_imm=Á¢¼´
global_compact=ºÏ²¢¶ÁÇëÇó£¿
global_optional=Ìø¹ý²»´æÔÚµÄÄÚºË£¿
global_password=È±Ê¡µÄÒýµ¼¿ÚÁî
global_none=ÎÞ
global_restricted=ÐèÒª¿ÚÁîÓÚ
global_extra=ÓÃ¶îÍâµÄÑ¡ÏîÆô¶¯ÄÚºË
global_any=ÈÎºÎÒýµ¼
global_secs=Ãë
global_err=±£´æÈ«¾ÖÑ¡ÏîÊ§°Ü
apply_title=Ó¦ÓÃÅäÖÃ
apply_exec=Ê¹ÓÃ$1ÃüÁîÓ¦ÓÃLILOÅäÖÃ..
image_title1=´´½¨Òýµ¼ÄÚºË
image_title2=±à¼­Òýµ¼ÄÚºË
image_options=Òýµ¼ÄÚºËÑ¡Ïî
image_name=Ãû³Æ
image_kernel=ÒªÒýµ¼µÄÄÚºË
image_opts=ÄÚºËÑ¡Ïî
image_default=È±Ê¡
image_add=Ìí¼ÓÑ¡Ïî..
image_replace=Ìæ»»Ñ¡Ïî..
image_root=¸ùÉè±¸
image_fromkern=À´×ÔÄÚºË
image_rcurr=µ±Ç°¸ù
image_rdev=Éè±¸..
image_initrd=³õÊ¼ ramdisk ÎÄ¼þ
image_mode=¸ù¹Ò×°Ä£Ê½
image_ro=Ö»¶Á
image_rw=¶ÁÐ´
image_vga=VGA ÎÄ±¾Ä£Ê½
image_ask=Ñ¯ÎÊÓÃ»§
image_other=ÆäËü
image_lock=ÊÇ·ñ¼Ç×¡ÓÃ»§ÄÚºËÑ¡Ïî£¿
image_optional=Ìø¹ý²»´æÔÚµÄÄÚºË£¿
image_password=Òýµ¼¿ÚÁî
image_restricted=ÐèÒª¿ÚÁîÓÚ
image_extra=ÓÃ¶îÍâÑ¡ÏîÒýµ¼ÄÚºË
image_any=ÈÎºÎÒýµ¼
image_none=ÎÞ
image_ename=´ËÒýµ¼ÄÚºËÃû¶ªÊ§
image_ekernel=ÄÚºËÓ³Ïñ'$1'²»´æÔÚ
image_einitrd=³õÊ¼ ramdisk ÎÄ¼þ '$1' ²»´æÔÚ
other_title1=´´½¨Æô¶¯·ÖÇø
other_title2=±à¼­Æô¶¯·ÖÇø
other_details=·ÖÇøÏêÇé
other_name=Ãû³Æ
other_part=Æô¶¯·ÖÇø
other_pass=½«·ÖÇø±í´«ËÍ¸ø²Ù×÷ÏµÍ³£¿
other_yes=ÊÇ£¬À´×Ô
other_password=Æô¶¯¿ÚÁî
other_none=ÎÞ
other_ename=´ËÒýµ¼·ÖÇøÃû³Æ¶ªÊ§
log_create_image=´´½¨Òýµ¼ÄÚºË$1
log_modify_image=ÐÞ¸ÄÒýµ¼ÄÚºË$1
log_delete_image=É¾³ýÒýµ¼ÄÚºË$1
log_create_image_l=Îª$2´´½¨Òýµ¼ÄÚºË$1
log_modify_image_l=Îª$2ÐÞ¸ÄÒýµ¼ÄÚºË$1
log_delete_image_l=Îª$2É¾³ýÒýµ¼ÄÚºË$1
log_create_other=´´½¨Òýµ¼·ÖÇø$1
log_modify_other=ÐÞ¸ÄÒýµ¼·ÖÇø$1
log_delete_other=É¾³ýÒýµ¼·ÖÇø$1
log_create_other_l=ÔÚ$2ÉÏ´´½¨Òýµ¼·ÖÇø$1
log_modify_other_l=ÔÚ$2ÉÏÐÞ¸ÄÒýµ¼·ÖÇø$1
log_delete_other_l=ÔÚ$2ÉÏÉ¾³ýÒýµ¼·ÖÇø$1
log_apply=ÅäÖÃÒÑÓ¦ÓÃ
log_global=ÒÑ¸Ä±äÈ«¾ÖÑ¡Ïî
   070701000031a6000081a40000000000000002000000013d1fe2d800000846000000200000000000000000000000000000001b00000003reloc/lilo/lang/zh_TW.Big5    index_title=Linux ¶}¾÷²ÕºA
index_addk=«Ø¥ß¤@­Ó·sªº¶}¾÷®Ö¤ß
index_addp=«Ø¥ß¤@­Ó·sªº¶}¾÷¤À³Î°Ï
index_global=½s¿è¥þ°ì¿ï¶µ
index_globalmsg=½s¿è¥þ°ì¶}¾÷¿ï¶µ±N·|®M¥Î¦b¥þ³¡ªº®Ö¤ß»P¤À³Î°Ï¤§¤W.
index_apply=®M¥Î²ÕºA
index_applymsg1=®M¥Î¥Ø«eªº²ÕºA¨ì $1 ªº¶}¾÷ºÏ°Ï.
index_applymsg2=®M¥Î¥Ø«eªº²ÕºA¨ì¥Ø«e®Ú¥Ø¿ý³]³Æªº¶}¾÷ºÏ°Ï.
index_applymsg3=¦A­«·s¶}¾÷«e¶É½T»{±zªº²ÕºA¬O¥¿½Tªº!
index_return=®Ö¤ß»P¤À³Î°Ï
index_earch=LILO ¤§¤ä´©¦b x86 ªº¨t²Î¤W­±

global_title=¥þ°ì¿ï¶µ
global_desc=¥þ°ì¶}¾÷¿ï¶µ
global_boot=±N¶}¾÷¸ü¤J¾¹¼g¤J¨ì
global_root=®Ú¥Ø¿ý³]³Æ
global_default=¹w³]ªº®Ö¤ß/¤À³Î°Ï
global_first=¦Cªí¤¤ªº²Ä¤@­Ó
global_prompt=¬O§_Åã¥Ü LILO ´£¥Ü²Å¸¹?
global_timeout=¦b LILO ´£¥Ü²Å¸¹µ¥«Ýªº®É¶¡
global_forever=¥Ã»·
global_lock=¬O§_°O¾Ð¨Ï¥ÎªÌªº®Ö¤ß¿ï¶µ?
global_delay=­«·s±Ò°Ê¤§«eµ¥«Ýªº®É¶¡
global_imm=¥ß¨è
global_compact=¬O§_¦X¨ÖÅª¨ú­n¨D?
global_optional=¬O§_©ñ±ó¤£¦s¦bªº®Ö¤ß?
global_password=¹w³]ªº¶}¾÷±K½X
global_none=µL
global_restricted=»Ý­n±K½Xµ¹
global_extra=§t¦³ÃB¥~¿ï¶µªº¶}¾÷®Ö¤ß
global_any=¥ô¦ó±Ò°Ê
global_secs=¬í
global_err=µLªkÀx¦s¥þ°ì¿ï¶µ

apply_title=®M¥Î²ÕºA
apply_exec=¥H©R¥O $1 ®M¥Î LILO ²ÕºAÀÉ¤¤...

image_title1=«Ø¥ß¶}¾÷®Ö¤ß
image_title2=½s¿è¶}¾÷®Ö¤ß
image_options=¶}¾÷®Ö¤ß¿ï¶µ
image_name=¦WºÙ
image_kernel=¶}¾÷­n¥Îªº®Ö¤ß
image_opts=®Ö¤ß¿ï¶µ
image_default=¹w³]
image_add=¼W¥[¿ï¶µ...
image_replace=¨ú¥N¿ï¶µ...
image_root=®Ú¥Ø¿ý³]³Æ
image_fromkern=±q®Ö¤ß
image_rcurr=¥Ø«eªº®Ú¥Ø¿ý
image_rdev=³]³Æ...
image_initrd=°_©l°O¾ÐÅéºÏºÐÀÉ®×
image_mode=®Ú¥Ø¿ý±¾¸ü¼Ò¦¡
image_ro=°ßÅª
image_rw=¥iÅª¼g
image_vga=VGA ¤å¦r¼Ò¦¡
image_ask=¸ß°Ý¨Ï¥ÎªÌ
image_other=¨ä¥L
image_lock=¬O§_­n°O¾Ð¨Ï¥ÎªÌªº®Ö¤ß¿ï¶µ?
image_optional=¬O§_©ñ±ó¤£¦s¦bªº®Ö¤ß?
image_password=¶}¾÷±K½X
image_restricted=»Ý­n±K½Xµ¹
image_extra=§t¦³ÃB¥~¿ï¶µªº¶}¾÷®Ö¤ß
image_any=¥ô¦ó±Ò°Ê
image_none=µL
image_ename=¿ò¥¢µ¹³o­Ó¶}¾÷®Ö¤ßªº¦WºÙ
image_ekernel=®Ö¤ß¼v¹³ÀÉ '$1' ¤£¦s¦b
image_einitrd=°_©l°O¾ÐÅéºÏºÐÀÉ®× '$1' ¤£¦s¦b

other_title1=«Ø¥ß¶}¾÷¤À³Î°Ï
other_title2=½s¿è¶}¾÷¤À³Î°Ï
other_details=¤À³Î°Ï¸Ô²Ó¸ê®Æ
other_name=¦WºÙ
other_part=¶}¾÷¨Ï¥Îªº¤À³Î°Ï
other_pass=¬O§_¶Ç»¼¤À³Î°Ïªíµ¹§@·~¨t²Î?
other_yes=¬O, ±q
other_password=¶}¾÷±K½X
other_none=µL
other_ename=¿ò¥¢³o­Ó¶}¾÷¤À³Î°Ïªº¦WºÙ
  0707010000033e000081a40000000000000002000000013d1fe2d800001305000000200000000000000000000000000000001700000003reloc/lilo/lilo-lib.pl    # lilo-lib.pl
# Common functions for lilo.conf

do '../web-lib.pl';
&init_config("lilo");

map { $member{$_}++ } ('range', 'loader', 'table', 'unsafe', 'label',
		       'alias', 'lock', 'optional', 'password', 'restricted',
		       'append', 'literal', 'ramdisk', 'read-only',
		       'read-write', 'root', 'vga', 'initrd');

# read the lilo version
if (open(VERSION, "$module_config_directory/version")) {
	chop($lilo_version = <VERSION>);
	close(VERSION);
	}

# get_lilo_conf()
# Parses lilo.conf and returns a list of directives
sub get_lilo_conf
{
return @lilo_conf_cache if (defined(@lilo_conf_cache));
open(CONF, $config{'lilo_conf'});
local $lnum = -1;
local ($image, $line);
while($line = <CONF>) {
	$lnum++;
	$line =~ s/\r|\n//g;
	$line =~ s/#.*$//g;
	local %dir;
	if ($line =~ /^\s*([^=\s]+)\s*=\s*(.*)$/) {
		$dir{'name'} = $1;
		$dir{'value'} = $2;
		$dir{'line'} = $lnum;
		if ($dir{'value'} =~ s/\\$//) {
			# multi-line directive!
			while($line = <CONF>) {
				$line =~ s/\r|\n//g;
				$line =~ s/^\s+//;
				local $cont = ($line =~ s/\\$//g);
				$dir{'value'} .= ' '.$line;
				$lnum++;
				last if (!$cont);
				}
			}
		$dir{'eline'} = $lnum;
		}
	elsif ($line =~ /^\s*(\S+)/) {
		$dir{'name'} = $1;
		$dir{'eline'} = $dir{'line'} = $lnum;
		}
	else { next; }
	if ($dir{'name'} eq 'image' || $dir{'name'} eq 'other') {
		$dir{'index'} = scalar(@rv);
		$image = \%dir;
		push(@rv, \%dir);
		}
	elsif ($member{$dir{'name'}} && $image) {
		$dir{'index'} = scalar(@{$image->{'members'}});
		push(@{$image->{'members'}}, \%dir);
		$image->{'eline'} = $lnum;
		}
	else {
		$dir{'index'} = scalar(@rv);
		push(@rv, \%dir);
		$image = undef;
		}
	}
close(CONF);
@lilo_conf_cache = @rv;
return \@rv;
}

# save_directive(&config, &old|name, &new)
# Given a directive, either update it in the config file or add it at the
# correct position.
sub save_directive
{
local $lref = &read_file_lines($config{'lilo_conf'});
local $old = ref($_[1]) ? $_[1] : &find($_[1], $_[0]);
local @lines = $_[2] ? &directive_lines($_[2]) : undef;
if ($_[2] && $old) {
	# updating some directive, possibly multi-line
	local $len = $old->{'eline'} - $old->{'line'} + 1;
	splice(@$lref, $old->{'line'}, $len, @lines);
	&renumber($_[0], $old->{'eline'}+1, @lines - $len);
	$_[2]->{'eline'} = $_[2]->{'line'} + @lines - 1;
	$_[0]->[$old->{'index'}] = $_[2];
	}
elsif ($old) {
	# deleting an existing directive
	local $len = $old->{'eline'} - $old->{'line'} + 1;
	splice(@$lref, $old->{'line'}, $len);
	&renumber($_[0], $old->{'line'}, -1);
	splice(@{$_[0]}, $old->{'index'}, 1);
	&renumber_index($_[0], $old->{'index'}, -1);
	}
elsif ($_[2] && $_[2]->{'members'}) {
	# adding a multi-line directive at the end
	local $last = $_[0]->[@{$_[0]} - 1];
	$_[2]->{'line'} = $last->{'eline'} + 1;
	$_[2]->{'eline'} = $last->{'eline'} + @lines;
	push(@$lref, @lines);
	$_[2]->{'index'} = scalar(@{$_[0]});
	push(@{$_[0]}, $_[2]);
	}
elsif ($_[2]) {
	# adding a single-line directive at the top
	$_[2]->{'line'} = $_[2]->{'eline'} = 0;
	$_[2]->{'index'} = 0;
	splice(@$lref, 0, 0, @lines);
	&renumber($_[0], $_[2]->{'line'}, 1);
	&renumber_index($_[0], 0, 1);
	splice(@{$_[0]}, 0, 0, $_[2]);
	}
}

# directive_lines(&directive, indent)
sub directive_lines
{
if ($_[0]->{'members'}) {
	local @rv = ( $_[1].$_[0]->{'name'}."=".$_[0]->{'value'} );
	local $m;
	foreach $m (@{$_[0]->{'members'}}) {
		push(@rv, &directive_lines($m, $_[1]."\t"));
		}
	return @rv;
	}
elsif ($_[0]->{'value'} ne "") {
	return ( $_[1].$_[0]->{'name'}."=".$_[0]->{'value'} );
	}
else {
	return ( $_[1].$_[0]->{'name'} );
	}
}

# renumber(&config, line, offset)
# Add offset to the start and end of any directive after the line
sub renumber
{
return if (!$_[2]);
local $c;
foreach $c (@{$_[0]}) {
	$c->{'line'} += $_[2] if ($c->{'line'} >= $_[1]);
	$c->{'eline'} += $_[2] if ($c->{'eline'} >= $_[1]);
	if ($c->{'members'}) {
		&renumber($c->{'members'}, $_[1], $_[2]);
		}
	}
}

# renumber_index(&config, pos, offset)
sub renumber_index
{
return if (!$_[2]);
local $c;
foreach $c (@{$_[0]}) {
	$c->{'index'} += $_[2] if ($c->{'index'} >= $_[1]);
	}
}

# find(name, &array)
sub find
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &array)
sub find_value
{
local(@v);
@v = &find($_[0], $_[1]);
if (!@v) { return undef; }
elsif (wantarray) { return map { $_->{'value'} } @v; }
else { return $v[0]->{'value'}; }
}

# save_subdirective(&image, name, value)
sub save_subdirective
{
local $mems = $_[0]->{'members'};
local $old = &find($_[1], $mems);
if ($old && defined($_[2])) {
	$old->{'value'} = $_[2];
	}
elsif (defined($_[2])) {
	push(@$mems, { 'name' => $_[1], 'value' => $_[2] });
	}
elsif ($old) {
	local $idx = &indexof($old, @$mems);
	splice(@$mems, $idx, 1);
	}
}

1;
   0707010000033f000081a40000000000000002000000013d1fe2d800000354000000200000000000000000000000000000001900000003reloc/lilo/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'lilo-lib.pl';
&foreign_require("mount", "mount-lib.pl");

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
local $ll = $long ? "_l" : "";
if ($type eq 'image') {
	return &text("log_${action}_image${ll}", "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'image'})."</tt>");
	}
elsif ($type eq 'other') {
	local $other = &foreign_call("mount", "device_name", $p->{'other'})
		if ($long);
	return &text("log_${action}_other${ll}", "<tt>$object</tt>", $other);
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
elsif ($action eq 'global') {
	return $text{'log_global'};
	}
else {
	return undef;
	}
}

07070100000361000081a40000000000000002000000013d1fe2ea0000037d000000200000000000000000000000000000001700000003reloc/lilo/module.info    desc_ru_SU=úÁÇÒÕÚÞÉË ïó Linux
risk=high
desc_ko_KR.euc=¸®´ª½º ºÎÆ® ±¸¼º 
desc_zh_TW.Big5=Linux ¶}¾÷²ÕºA
desc_pl=Konfiguracja startu Linuksa
desc_de=Linux Boot Konfiguration
name=LILO
desc_zh_CN=Linux Æô¶¯¹ÜÀí
desc_pt=Configuração de Arranque do Linux
category=hardware
desc_tr=Linux Açýlýþ Yapýlandýrmasý
os_support=redhat-linux mandrake-linux{-r "/etc/lilo.conf" || -r "/usr/sbin/lilo"} slackware-linux suse-linux debian-linux turbo-linux corel-linux lfs-linux open-linux/2.3 open-linux/2.3e open-linux/2.4 msc-linux generic-linux
desc=Linux Bootup Configuration
desc_es=Configuración del Arranque de Linux
desc_sv=Inställningar för start av Linux
desc_fr=Configuration du Démarrage de Linux
desc_cz=Konfigurace bootovani Linuxu
desc_ja_JP.euc=Linux ¤Îµ¯Æ°ÀßÄê
depends=0.990
version=0.990
desc_hu=Linux BOOT beállítások
desc_ca=Configuració d'Engegada del Linux
desc_ru_RU=Çàãðóç÷èê ÎÑ Linux
   07070100000363000081e40000000000000002000000013d1fe2d8000005b9000000200000000000000000000000000000001b00000003reloc/lilo/save_global.cgi    #!/usr/local/bin/perl
# save_global.cgi
# Save global options

require './lilo-lib.pl';
&ReadParse();
&lock_file($config{'lilo_conf'});
$conf = &get_lilo_conf();
&error_setup($text{'global_err'});

&save_directive($conf, "boot",
		$in{'bootmode'} ? { 'name' => 'boot', 'value' => $in{'boot'} }
				: undef);
&save_directive($conf, "default",
		$in{'defaultmode'} ? { 'name' => 'default',
				       'value' => $in{'default'} } : undef);
&save_directive($conf, "prompt",
		$in{'prompt'} ? { 'name' => 'prompt' } : undef);
&save_directive($conf, "timeout",
		$in{'timeout_def'} ? undef :
		{ 'name' => 'timeout', 'value' => $in{'timeout'}*10 });
&save_directive($conf, "lock",
		$in{'lock'} ? { 'name' => 'lock' } : undef);
&save_directive($conf, "delay",
		$in{'delay_def'} ? undef :
		{ 'name' => 'delay', 'value' => $in{'delay'}*10 });
&save_directive($conf, "compact",
		$in{'compact'} ? { 'name' => 'compact' } : undef);
&save_directive($conf, "optional",
		$in{'optional'} ? { 'name' => 'optional' } : undef);
&save_directive($conf, "password",
		$in{'passmode'} ? { 'name' => 'password',
				    'value' => $in{'password'} } : undef);
&save_directive($conf, "restricted",
		$in{'restricted'} ? { 'name' => 'restricted' } : undef);
if ($lilo_version >= 21.3) {
	&save_directive($conf, "lba32",
			$in{'lba'} ? { 'name' => 'lba32' } : undef);
	}
&flush_file_lines();
&unlock_file($config{'lilo_conf'});
&webmin_log("global", undef, undef, \%in);
&redirect("");

   07070100000364000081e40000000000000002000000013d1fe2d800000a78000000200000000000000000000000000000001a00000003reloc/lilo/save_image.cgi #!/usr/local/bin/perl
# save_image.cgi

require './lilo-lib.pl';
&ReadParse();

&lock_file($config{'lilo_conf'});
$conf = &get_lilo_conf();
if ($in{'delete'}) {
	# deleting an existing image
	$image = $conf->[$in{'idx'}];
	&save_directive($conf, $image);
	&flush_file_lines();
	&unlock_file($config{'lilo_conf'});
	&webmin_log("delete", "image",
		    &find_value("label", $image->{'members'}), \%in);
	&redirect("");
	exit;
	}
elsif ($in{'new'}) {
	# creating a new kernel image
	$image = { 'name' => 'image',
		   'members' => [ ] };
	}
else {
	# updating an existing image
	$oldimage = $image = $conf->[$in{'idx'}];
	}

# Validate and store inputs
$in{'label'} =~ /\S+/ || &error($text{'image_ename'});
&save_subdirective($image, "label", $in{'label'});
$in{'optional'} || -r $in{'image'} ||
	&error(&text('image_ekernel', $in{'image'}));
$image->{'value'} = $in{'image'};
if ($in{'opts'} == 0) {
	&save_subdirective($image, "append");
	&save_subdirective($image, "literal");
	}
elsif ($in{'opts'} == 1) {
	&save_subdirective($image, "append", "\"$in{'append'}\"");
	&save_subdirective($image, "literal");
	}
else {
	&save_subdirective($image, "append");
	&save_subdirective($image, "literal", "\"$in{'append'}\"");
	}
if ($in{'rmode'} == 0) {
	&save_subdirective($image, "root");
	}
elsif ($in{'rmode'} == 1) {
	&save_subdirective($image, "root", "current");
	}
elsif ($in{'rmode'} == 2) {
	&save_subdirective($image, "root", $in{'root'});
	}
if ($in{'initrd_def'}) {
	&save_subdirective($image, "initrd");
	}
else {
	-r $in{'initrd'} || &error(&text('image_einitrd', $in{'initrd'}));
	&save_subdirective($image, "initrd", $in{'initrd'});
	}
&save_subdirective($image, "read-only", $in{'ro'} == 1 ? "" : undef);
&save_subdirective($image, "read-write", $in{'ro'} == 2 ? "" : undef);
if ($in{'vga'} eq "") {
	&save_subdirective($image, "vga");
	}
elsif ($in{'vga'} eq "other") {
	$in{'vgaother'} =~ /^\d+$/ ||
		&error("VGA text mode must be an integer");
	&save_subdirective($image, "vga", $in{'vgaother'});
	}
else {
	&save_subdirective($image, "vga", $in{'vga'});
	}
if ($in{'passmode'} == 0) {
	&save_subdirective($image, "password");
	}
else {
	&save_subdirective($image, "password", $in{'password'});
	}
&save_subdirective($image, "restricted", $in{'restricted'} ? "" : undef);
&save_subdirective($image, "lock", $in{'lock'} ? "" : undef);
&save_subdirective($image, "optional", $in{'optional'} ? "" : undef);

# Save the actual image structure
&save_directive($conf, $oldimage, $image);
&flush_file_lines();
&unlock_file($config{'lilo_conf'});
&webmin_log($in{'new'} ? 'create' : 'modify', "image",
	    &find_value("label", $image->{'members'}), \%in);
&redirect("");

07070100000366000081e40000000000000002000000013d1fe2d800000536000000200000000000000000000000000000001a00000003reloc/lilo/save_other.cgi #!/usr/local/bin/perl
# save_other.cgi

require './lilo-lib.pl';
&ReadParse();

&lock_file($config{'lilo_conf'});
$conf = &get_lilo_conf();
if ($in{'delete'}) {
	# deleting an existing partition
	$other = $conf->[$in{'idx'}];
	&save_directive($conf, $other);
	&flush_file_lines();
	&unlock_file($config{'lilo_conf'});
	&webmin_log("delete", "other",
		    &find_value("label", $other->{'members'}), \%in);
	&redirect("");
	exit;
	}
elsif ($in{'new'}) {
	# creating a new boot partition
	$other = { 'name' => 'other',
		   'members' => [ ] };
	}
else {
	# updating an existing image
	$oldother = $other = $conf->[$in{'idx'}];
	}

# Validate and store inputs
$in{'label'} =~ /\S+/ || &error($text{'other_ename'});
&save_subdirective($other, "label", $in{'label'});
$other->{'value'} = $in{'other'};
if ($in{'tablemode'} == 0) {
	&save_subdirective($other, "table");
	}
else {
	&save_subdirective($other, "table", $in{'table'});
	}
if ($in{'passmode'} == 0) {
	&save_subdirective($other, "password");
	}
else {
	&save_subdirective($other, "password", $in{'password'});
	}

# Save the actual partition structure
&save_directive($conf, $oldother, $other);
&flush_file_lines();
&unlock_file($config{'lilo_conf'});
&webmin_log($in{'new'} ? 'create' : 'modify', "other",
	    &find_value("label", $other->{'members'}), \%in);
&redirect("");

  070701000048bd000041ed0000000000000001000000043d1ffa7e00000000000000200000000000000000000000000000000e00000003reloc/lpadmin 070701000048be000081a40000000000000002000000013d1fe2d200000ef2000000200000000000000000000000000000001e00000003reloc/lpadmin/acl_security.pl 
require 'lpadmin-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the lpadmin module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_printers'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input name=printers_def type=radio value=1 %s> %s\n",
	$_[0]->{'printers'} eq '*' ? 'checked' : '', $text{'acl_pall'};
printf "<input name=printers_def type=radio value=0 %s> %s<br>\n",
	$_[0]->{'printers'} eq '*' ? '' : 'checked', $text{'acl_psel'};
print "<select name=printers multiple size=4 width=15>\n";
local @plist = &list_printers();
local ($p, %pcan);
map { $pcan{$_}++ } split(/\s+/, $_[0]->{'printers'});
foreach $p (@plist) {
	local $prn = &get_printer($p);
	printf "<option value=%s %s>%s (%s)\n",
		$p, $pcan{$p} ? 'selected' : '',
		$prn->{'desc'}, $p;
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_cancel'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=cancel value=0 %s> $text{'no'}\n",
	$_[0]->{'cancel'} == 0 ? "checked" : "";
printf "<input type=radio name=cancel value=1 %s> $text{'yes'}\n",
	$_[0]->{'cancel'} == 1 ? "checked" : "";
printf "<input type=radio name=cancel value=2 %s> $text{'acl_listed'}<br>\n",
	$_[0]->{'cancel'} == 2 ? "checked" : "";
print "<select name=jobs multiple size=4 width=15>\n";
map { $jcan{$_}++ } split(/\s+/, $_[0]->{'jobs'});
foreach $p (@plist) {
	local $prn = &get_printer($p);
	printf "<option value=%s %s>%s (%s)\n",
		$p, $jcan{$p} ? 'selected' : '',
		$prn->{'desc'}, $p;
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'acl_user'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$_[0]->{'user'} eq '*' ? 'checked' : '', $text{'acl_user_all'};
printf "<input type=radio name=user_def value=2 %s> %s\n",
	$_[0]->{'user'} ? '' : 'checked', $text{'acl_user_this'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$_[0]->{'user'} eq '*' || !$_[0]->{'user'} ? '' : 'checked';
printf "<input name=user size=13 value='%s'></td> </tr>\n",
	$_[0]->{'user'} eq '*' || !$_[0]->{'user'} ? '' : $_[0]->{'user'};

print "<tr> <td><b>$text{'acl_add'}</b></td>\n";
printf "<td><input type=radio name=add value=1 %s> $text{'yes'}\n",
	$_[0]->{'add'} ? "checked" : "";
printf "<input type=radio name=add value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'add'} ? "" : "checked";

print "<td><b>$text{'acl_stop'}</b></td>\n";
printf "<td><input type=radio name=stop value=1 %s> $text{'yes'}\n",
	$_[0]->{'stop'} == 1 ? "checked" : "";
printf "<input type=radio name=stop value=2 %s> $text{'acl_restart'}\n",
	$_[0]->{'stop'} == 2 ? "checked" : "";
printf "<input type=radio name=stop value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'stop'} == 0 ? "checked" : "";

print "<tr> <td><b>$text{'acl_view'}</b></td>\n";
printf "<td><input type=radio name=view value=1 %s> $text{'yes'}\n",
	$_[0]->{'view'} ? "checked" : "";
printf "<input type=radio name=view value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'view'} ? "" : "checked";

print "<td><b>$text{'acl_test'}</b></td>\n";
printf "<td><input type=radio name=test value=1 %s> $text{'yes'}\n",
	$_[0]->{'test'} ? "checked" : "";
printf "<input type=radio name=test value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'test'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the lpadmin module
sub acl_security_save
{
if ($in{'printers_def'}) {
	$_[0]->{'printers'} = '*';
	}
else {
	$_[0]->{'printers'} = join(" ", split(/\0/, $in{'printers'}));
	}
$_[0]->{'cancel'} = $in{'cancel'};
$_[0]->{'jobs'} = $in{'cancel'} == 2 ? join(" ", split(/\0/, $in{'jobs'})) : "";
$_[0]->{'add'} = $in{'add'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'view'} = $in{'view'};
$_[0]->{'user'} = $in{'user_def'} == 1 ? '*' :
		  $in{'user_def'} == 2 ? undef : $in{'user'};
}

  070701000048bf000081a40000000000000002000000013d1fe2d2000010c3000000200000000000000000000000000000001800000003reloc/lpadmin/ascii.txt   
                         Webmin Printer Test Page
                         ------------------------

This is the printer test page for the Webmin Printer Administration module.
If you can read this, your printer is probably working properly.

Below should be a table of all the printable ASCII characters.

Oct  Hex  Dec    Character              Oct  Hex  Dec    Character
---  ---  ---    ---------              ---  ---  ---    ---------
 40   20   32                            41   21   33    !                      
 42   22   34    "                       43   23   35    #                      
 44   24   36    $                       45   25   37    %                      
 46   26   38    &                       47   27   39    '                      
 50   28   40    (                       51   29   41    )                      
 52   2a   42    *                       53   2b   43    +                      
 54   2c   44    ,                       55   2d   45    -                      
 56   2e   46    .                       57   2f   47    /                      
 60   30   48    0                       61   31   49    1                      
 62   32   50    2                       63   33   51    3                      
 64   34   52    4                       65   35   53    5                      
 66   36   54    6                       67   37   55    7                      
 70   38   56    8                       71   39   57    9                      
 72   3a   58    :                       73   3b   59    ;                      
 74   3c   60    <                       75   3d   61    =                      
 76   3e   62    >                       77   3f   63    ?                      
100   40   64    @                      101   41   65    A                      
102   42   66    B                      103   43   67    C                      
104   44   68    D                      105   45   69    E                      
106   46   70    F                      107   47   71    G                      
110   48   72    H                      111   49   73    I                      
112   4a   74    J                      113   4b   75    K                      
114   4c   76    L                      115   4d   77    M                      
116   4e   78    N                      117   4f   79    O                      
120   50   80    P                      121   51   81    Q                      
122   52   82    R                      123   53   83    S                      
124   54   84    T                      125   55   85    U                      
126   56   86    V                      127   57   87    W                      
130   58   88    X                      131   59   89    Y                      
132   5a   90    Z                      133   5b   91    [                      
134   5c   92    \                      135   5d   93    ]                      
136   5e   94    ^                      137   5f   95    _                      
140   60   96    `                      141   61   97    a                      
142   62   98    b                      143   63   99    c                      
144   64  100    d                      145   65  101    e                      
146   66  102    f                      147   67  103    g                      
150   68  104    h                      151   69  105    i                      
152   6a  106    j                      153   6b  107    k                      
154   6c  108    l                      155   6d  109    m                      
156   6e  110    n                      157   6f  111    o                      
160   70  112    p                      161   71  113    q                      
162   72  114    r                      163   73  115    s                      
164   74  116    t                      165   75  117    u                      
166   76  118    v                      167   77  119    w                      
170   78  120    x                      171   79  121    y                      
172   7a  122    z                      173   7b  123    {                      
174   7c  124    |                      175   7d  125    }                      
176   7e  126    ~                      

 070701000048c0000081e40000000000000002000000013d1fe2d200000230000000200000000000000000000000000000001f00000003reloc/lpadmin/base_coas_driver    #!/bin/sh
source /etc/sysconfig/printers/XXX
if [ "$PAPERSIZE" = "a4" ]; then
  T=A4
else
  T=Letter
fi

enscript -M $T -Z -p - |

if [ "$DOUBLEPAGE" = "true" ]; then
  psnup -d -b0.6cm -p$PAPERSIZE -2
else
  cat -
fi |

if [ "$GSDEVICE" = "PostScript" ]; then
	cat -
elif [ "$GSDEVICE" = "uniprint" ]; then
	exec 3>&1 1>&2
	gs @$UPP.upp -q -sOutputFile="|cat 1>&3"
else
	gs -q $GSOPTIONS -sDEVICE=$GSDEVICE \
		-r$RESOLUTION \
		-sPAPERSIZE=$PAPERSIZE \
		-dNOPAUSE \
		-dSAFER \
		-sOutputFile=- -
fi

if [ "$SENDEOF" != "" ]; then
	printf "\004"
fi

exit 0
070701000048c1000081a40000000000000002000000013d1fe2d200000afb000000200000000000000000000000000000001500000003reloc/lpadmin/bw.fig  #FIG 3.2
Portrait
Center
Inches
A4      
100.00
Single
-2
1200 2
0 32 #8e8e8e
0 33 #8e8e8e
0 34 #8e8e8e
0 35 #8e8e8e
0 36 #8e8e8e
0 37 #8e8e8e
0 38 #414541
0 39 #8e8e8e
0 40 #414541
0 41 #8e8e8e
0 42 #414541
0 43 #8e8e8e
0 44 #414541
0 45 #8e8e8e
0 46 #414541
0 47 #8e8e8e
0 48 #414541
0 49 #8e8e8e
0 50 #414541
0 51 #8e8e8e
0 52 #414541
0 53 #8e8e8e
0 54 #414541
0 55 #8e8e8e
0 56 #414541
0 57 #8e8e8e
0 58 #414541
0 59 #8e8e8e
0 60 #8e8e8e
0 61 #8e8e8e
0 62 #8e8e8e
0 63 #8e8e8e
0 64 #8e8e8e
0 65 #8e8e8e
0 66 #8e8e8e
0 67 #8e8e8e
0 68 #8e8e8e
0 69 #414541
6 600 1800 9600 6000
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 2100 9300 5700
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 2700 9300 5100
2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 3300 9300 4500
2 1 0 4 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 3900 9300 3900
2 1 0 5 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 4500 9300 3300
2 1 0 6 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 5100 9300 2700
2 1 0 7 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 5700 9300 2100
-6
6 900 6300 9300 7800
4 0 0 100 0 0 24 0.0000 4 330 7545 900 6600 This is the printer test page for the Webmin Printer\001
4 0 0 100 0 0 24 0.0000 4 330 8340 900 7020 Administration module. If you can read this, your printer\001
4 0 0 100 0 0 24 0.0000 4 330 4260 900 7440 is probably working properly.\001
-6
6 900 8100 5100 11700
2 2 0 0 0 7 100 0 17 0.000 0 0 -1 0 0 5
	 1500 8100 2100 8100 2100 11700 1500 11700 1500 8100
2 2 0 0 0 7 100 0 15 0.000 0 0 -1 0 0 5
	 2100 8100 2700 8100 2700 11700 2100 11700 2100 8100
2 2 0 0 0 7 100 0 13 0.000 0 0 -1 0 0 5
	 2700 8100 3300 8100 3300 11700 2700 11700 2700 8100
2 2 0 0 0 7 100 0 11 0.000 0 0 -1 0 0 5
	 3300 8100 3900 8100 3900 11700 3300 11700 3300 8100
2 2 0 0 0 7 100 0 9 0.000 0 0 -1 0 0 5
	 3900 8100 4500 8100 4500 11700 3900 11700 3900 8100
2 2 0 0 0 7 100 0 19 0.000 0 0 -1 0 0 5
	 1500 8100 900 8100 900 11700 1500 11700 1500 8100
2 2 0 0 0 7 100 0 7 0.000 0 0 -1 0 0 5
	 4500 8100 5100 8100 5100 11700 4500 11700 4500 8100
-6
6 5100 8100 9300 11700
2 2 0 0 0 7 100 0 17 0.000 0 0 -1 0 0 5
	 8700 8100 8100 8100 8100 11700 8700 11700 8700 8100
2 2 0 0 0 7 100 0 15 0.000 0 0 -1 0 0 5
	 8100 8100 7500 8100 7500 11700 8100 11700 8100 8100
2 2 0 0 0 7 100 0 13 0.000 0 0 -1 0 0 5
	 7500 8100 6900 8100 6900 11700 7500 11700 7500 8100
2 2 0 0 0 7 100 0 11 0.000 0 0 -1 0 0 5
	 6900 8100 6300 8100 6300 11700 6900 11700 6900 8100
2 2 0 0 0 7 100 0 9 0.000 0 0 -1 0 0 5
	 6300 8100 5700 8100 5700 11700 6300 11700 6300 8100
2 2 0 0 0 7 100 0 19 0.000 0 0 -1 0 0 5
	 8700 8100 9300 8100 9300 11700 8700 11700 8700 8100
2 2 0 0 0 7 100 0 7 0.000 0 0 -1 0 0 5
	 5700 8100 5100 8100 5100 11700 5700 11700 5700 8100
-6
4 0 0 100 0 0 72 0.0000 4 960 8250 900 1500 Webmin Test Page\001
4 0 0 100 0 0 72 0.0000 4 960 8250 900 13200 Webmin Test Page\001
 070701000048c2000081a40000000000000002000000013d1fe2d2000019d7000000200000000000000000000000000000001400000003reloc/lpadmin/bw.ps   %!PS-Adobe-2.0
%%Title: bw.ps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Mon Dec  4 16:12:32 2000
%%For: jcameron@vaio.home (Jamie Cameron)
%%Orientation: Portrait
%%BoundingBox: 49 32 568 799
%%Pages: 1
%%BeginSetup
%%IncludeFeature: *PageSize A4
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.557 0.557 0.557 srgb} bind def
/col33 {0.557 0.557 0.557 srgb} bind def
/col34 {0.557 0.557 0.557 srgb} bind def
/col35 {0.557 0.557 0.557 srgb} bind def
/col36 {0.557 0.557 0.557 srgb} bind def
/col37 {0.557 0.557 0.557 srgb} bind def
/col38 {0.255 0.271 0.255 srgb} bind def
/col39 {0.557 0.557 0.557 srgb} bind def
/col40 {0.255 0.271 0.255 srgb} bind def
/col41 {0.557 0.557 0.557 srgb} bind def
/col42 {0.255 0.271 0.255 srgb} bind def
/col43 {0.557 0.557 0.557 srgb} bind def
/col44 {0.255 0.271 0.255 srgb} bind def
/col45 {0.557 0.557 0.557 srgb} bind def
/col46 {0.255 0.271 0.255 srgb} bind def
/col47 {0.557 0.557 0.557 srgb} bind def
/col48 {0.255 0.271 0.255 srgb} bind def
/col49 {0.557 0.557 0.557 srgb} bind def
/col50 {0.255 0.271 0.255 srgb} bind def
/col51 {0.557 0.557 0.557 srgb} bind def
/col52 {0.255 0.271 0.255 srgb} bind def
/col53 {0.557 0.557 0.557 srgb} bind def
/col54 {0.255 0.271 0.255 srgb} bind def
/col55 {0.557 0.557 0.557 srgb} bind def
/col56 {0.255 0.271 0.255 srgb} bind def
/col57 {0.557 0.557 0.557 srgb} bind def
/col58 {0.255 0.271 0.255 srgb} bind def
/col59 {0.557 0.557 0.557 srgb} bind def
/col60 {0.557 0.557 0.557 srgb} bind def
/col61 {0.557 0.557 0.557 srgb} bind def
/col62 {0.557 0.557 0.557 srgb} bind def
/col63 {0.557 0.557 0.557 srgb} bind def
/col64 {0.557 0.557 0.557 srgb} bind def
/col65 {0.557 0.557 0.557 srgb} bind def
/col66 {0.557 0.557 0.557 srgb} bind def
/col67 {0.557 0.557 0.557 srgb} bind def
/col68 {0.557 0.557 0.557 srgb} bind def
/col69 {0.255 0.271 0.255 srgb} bind def

end
save
0.0 842.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n -1000 14488 m -1000 -1000 l 10453 -1000 l 10453 14488 l cp clip
 0.06000 0.06000 sc
%%Page: 1 1
% Polyline
7.500 slw
n 900 2100 m 9300 5700 l gs col0 s gr 
% Polyline
15.000 slw
n 900 2700 m 9300 5100 l gs col0 s gr 
% Polyline
30.000 slw
n 900 3300 m 9300 4500 l gs col0 s gr 
% Polyline
45.000 slw
n 900 3900 m 9300 3900 l gs col0 s gr 
% Polyline
60.000 slw
n 900 4500 m 9300 3300 l gs col0 s gr 
% Polyline
75.000 slw
n 900 5100 m 9300 2700 l gs col0 s gr 
% Polyline
90.000 slw
n 900 5700 m 9300 2100 l gs col0 s gr 
/Times-Roman ff 360.00 scf sf
900 6600 m
gs 1 -1 sc (This is the printer test page for the Webmin Printer) col0 sh gr
/Times-Roman ff 360.00 scf sf
900 7020 m
gs 1 -1 sc (Administration module. If you can read this, your printer) col0 sh gr
/Times-Roman ff 360.00 scf sf
900 7440 m
gs 1 -1 sc (is probably working properly.) col0 sh gr
% Polyline
0.000 slw
n 1500 8100 m 2100 8100 l 2100 11700 l 1500 11700 l cp gs col7 0.85 shd ef gr 
% Polyline
n 2100 8100 m 2700 8100 l 2700 11700 l 2100 11700 l cp gs col7 0.75 shd ef gr 
% Polyline
n 2700 8100 m 3300 8100 l 3300 11700 l 2700 11700 l cp gs col7 0.65 shd ef gr 
% Polyline
n 3300 8100 m 3900 8100 l 3900 11700 l 3300 11700 l cp gs col7 0.55 shd ef gr 
% Polyline
n 3900 8100 m 4500 8100 l 4500 11700 l 3900 11700 l cp gs col7 0.45 shd ef gr 
% Polyline
n 1500 8100 m 900 8100 l 900 11700 l 1500 11700 l cp gs col7 0.95 shd ef gr 
% Polyline
n 4500 8100 m 5100 8100 l 5100 11700 l 4500 11700 l cp gs col7 0.35 shd ef gr 
% Polyline
n 8700 8100 m 8100 8100 l 8100 11700 l 8700 11700 l cp gs col7 0.85 shd ef gr 
% Polyline
n 8100 8100 m 7500 8100 l 7500 11700 l 8100 11700 l cp gs col7 0.75 shd ef gr 
% Polyline
n 7500 8100 m 6900 8100 l 6900 11700 l 7500 11700 l cp gs col7 0.65 shd ef gr 
% Polyline
n 6900 8100 m 6300 8100 l 6300 11700 l 6900 11700 l cp gs col7 0.55 shd ef gr 
% Polyline
n 6300 8100 m 5700 8100 l 5700 11700 l 6300 11700 l cp gs col7 0.45 shd ef gr 
% Polyline
n 8700 8100 m 9300 8100 l 9300 11700 l 8700 11700 l cp gs col7 0.95 shd ef gr 
% Polyline
n 5700 8100 m 5100 8100 l 5100 11700 l 5700 11700 l cp gs col7 0.35 shd ef gr 
/Times-Roman ff 1080.00 scf sf
900 1500 m
gs 1 -1 sc (Webmin Test Page) col0 sh gr
/Times-Roman ff 1080.00 scf sf
900 13200 m
gs 1 -1 sc (Webmin Test Page) col0 sh gr
$F2psEnd
rs
showpage
 070701000048c3000081a40000000000000002000000013d1fe2d2000030b7000000200000000000000000000000000000002000000003reloc/lpadmin/caldera-driver.pl   # caldera-driver.pl
# Functions for printer drivers as generated by COAS

%paper_sizes = ( 'a4', 'A4',
		 'a3', 'A3',
		 'a5', 'A5',
		 'letter', 'US Letter',
		 'legal', 'Legal',
		 'ledger', 'Ledger' );
$driver_dir = "/etc/sysconfig/printers";
$base_driver = "/usr/libexec/printers/genericfilter";
open(BASE, $base_driver);
$base_driver_text = join(<BASE>);
close(BASE);
$webmin_windows_driver = 1;

# is_windows_driver(path)
# Returns the server, share, username, password, workgroup, program
# if path is a webmin windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path, &printer)
# Returns the driver name and dpi if some path is a webmin driver, or undef
sub is_driver
{
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => "$text{'caldera_none'}" };
	}
open(DRV, $_[0]);
local @lines = <DRV>;
close(DRV);
local %conf;
if ($lines[1] =~ /^source ($driver_dir\/\S+)/) {
	# Looks like a 2.3 caldera driver! Read the sysconfig file
	&read_env_file($1, \%conf);
	if ($conf{'GSDEVICE'} eq 'NET' || $conf{'GSDEVICE'} eq 'RAW') {
		# Driver isn't even used
		return { 'mode' => 0,
			 'desc' => 'None' };
		}
	elsif ($conf{'GSDEVICE'} eq 'uniprint') {
		# Uniprint driver
		foreach $u (&list_uniprint()) {
			$desc = $u->[1] if ($u->[0] eq $conf{'UPP'});
			}
		$desc =~ s/,.*$//g;
		return { 'mode' => 3,
			 'upp' => $conf{'UPP'},
			 'paper' => $conf{'PAPERSIZE'},
			 'double' => lc($conf{'DOUBLEPAGE'}),
			 'eof' => lc($conf{'SENDEOF'}),
			 'desc' => $desc ? $desc : $conf{'UPP'} };
		}
	else {
		# A caldera printer driver
		open(COAS, $config{'coas_printers'});
		local $plist = &parse_coas(COAS);
		close(COAS);
		local ($prn, $p);
		foreach $p (values %$plist) {
			$prn = $p
				if ($p->{'type'}->{'0'} eq $conf{'GSDEVICE'} &&
				    !$desc);
			}
		return { 'mode' => 1,
			 'gsdevice' => $conf{'GSDEVICE'},
			 'gsname' => $conf{'GSNAME'},
			 'res' => $conf{'RESOLUTION'},
			 'paper' => $conf{'PAPERSIZE'},
			 'eof' => lc($conf{'SENDEOF'}),
			 'double' => lc($conf{'DOUBLEPAGE'}),
			 'gsopts' => $conf{'GSOPTS'},
			 'ddesc' => $prn->{'description'},
			 'desc' => $conf{'GSNAME'} ? $conf{'GSNAME'}
						   : $prn->{'description'} };
		}
	}
elsif (join(@lines) eq $base_driver_text) {
	# Looks like a 2.4 caldera driver!
	&read_env_file("$driver_dir/$_[1]->{'name'}", \%conf);
	if ($conf{'GSDEVICE'} eq 'NET' || $conf{'GSDEVICE'} eq 'RAW') {
		# Driver isn't even used
		return { 'mode' => 0,
			 'desc' => 'None' };
		}
	else {
		# A new caldera printer driver
		open(COAS, $config{'coas_printers'});
		local $plist = &parse_coas(COAS);
		close(COAS);
		local ($prn, $p, $type);
		foreach $p (values %$plist) {
			$type = ref($p->{'type'}) ? $p->{'type'}->{'0'}
						  : $p->{'type'};
			$prn = $p if ($type eq $conf{'GSDEVICE'} && !$prn &&
				($p->{'description'} eq $conf{'DESC'} ||
				 $p->{'description'} eq $conf{'GSNAME'}));
			}
		if (!$prn) {
			foreach $p (values %$plist) {
				$type = ref($p->{'type'}) ? $p->{'type'}->{'0'}
							  : $p->{'type'};
				$prn = $p if ($type eq $conf{'GSDEVICE'} &&
					      !$prn);
				}
			}
		return { 'mode' => 1,
			 'gsdevice' => $conf{'GSDEVICE'},
			 'gsname' => $conf{'GSNAME'},
			 'res' => $conf{'RESOLUTION'},
			 'paper' => $conf{'PAPERSIZE'},
			 'eof' => lc($conf{'SENDEOF'}),
			 'double' => lc($conf{'DOUBLEPAGE'}),
			 'gsopts' => $conf{'GSOPTS'},
			 'upp' => $conf{'UPP'},
			 'ddesc' => $prn->{'description'},
			 'desc' => $conf{'GSNAME'} ? $conf{'GSNAME'}
						   : $prn->{'description'} };
		}
	}
else {
	# A driver of some kind, but not caldera's
	return { 'mode' => 2,
		 'file' => $_[0],
		 'desc' => $_[0] };
	}
}

# create_windows_driver(&printer, &driver)
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
sub create_driver
{
&lock_file("$driver_dir/$_[0]->{'name'}");
if ($_[1]->{'mode'} == 0) {
	unlink("$driver_dir/$_[0]->{'name'}");
	&unlock_file("$driver_dir/$_[0]->{'name'}");
	return undef;
	}
elsif ($_[1]->{'mode'} == 2) {
	unlink("$driver_dir/$_[0]->{'name'}");
	&unlock_file("$driver_dir/$_[0]->{'name'}");
	return $_[1]->{'file'};
	}
else {
	# Create or update the parameters file
	local %conf;
	&read_env_file("$driver_dir/$_[0]->{'name'}", \%conf);
	$conf{'GSDEVICE'} = $_[1]->{'gsdevice'};
	$conf{'GSNAME'} = $_[1]->{'gsname'};
	$conf{'NAME'} = $_[0]->{'name'};
	$conf{'RESOLUTION'} = $_[1]->{'res'};
	$conf{'PAPERSIZE'} = $_[1]->{'paper'};
	$conf{'DESC'} = $_[0]->{'desc'};
	$conf{'SENDEOF'} = $_[1]->{'eof'};
	$conf{'DOUBLEPAGE'} = $_[1]->{'double'};
	$conf{'GSOPTS'} = $_[1]->{'gsopts'};
	$conf{'UPP'} = $_[1]->{'upp'};
	&write_env_file("$driver_dir/$_[0]->{'name'}", \%conf);
	&unlock_file("$driver_dir/$_[0]->{'name'}");

	&lock_file("$config{'spool_dir'}/$_[0]->{'name'}");
	mkdir("$config{'spool_dir'}/$_[0]->{'name'}", 0755);
	&unlock_file("$config{'spool_dir'}/$_[0]->{'name'}");
	local $drv = "$config{'spool_dir'}/$_[0]->{'name'}/printfilter";
	&lock_file($drv);
	if ($gconfig{'os_version'} >= 2.4) {
		# Create the 2.4 driver program
		system("cp $base_driver $drv");
		}
	else {
		# Create the 2.3 driver program
		open(DRIVER, $base_driver);
		local @lines = <DRIVER>;
		close(DRIVER);
		open(DRV, ">$drv");
		print DRV "#!/bin/bash\n";
		print DRV "source $driver_dir/$_[0]->{'name'}\n";
		print DRV @lines;
		close(DRV);
		}
	&unlock_file($drv);
	return $drv;
	}
}

# delete_driver(name)
sub delete_driver
{
&delete_webmin_driver($_[0]);
&lock_file("$driver_dir/$_[0]");
unlink("$driver_dir/$_[0]");
&unlock_file("$driver_dir/$_[0]");
}

# driver_input(&printer, &driver)
sub driver_input
{
local $mode = $_[1]->{'mode'};
printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$mode == 0 ? 'checked' : '', $text{'caldera_none'};
print "<td>($text{'caldera_nonemsg'})</td> </tr>\n";
printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>",
	$mode == 2 ? 'checked' : '', $text{'caldera_prog'};
printf "<td><input name=program size=40 value='%s'></td> </tr>\n",
	$mode == 2 ? $_[0]->{'iface'} : '';

# Normal driver options
printf "<tr> <td valign=top><input type=radio name=mode value=1 %s> %s</td>\n",
	$mode == 1 ? 'checked' : '', $text{'caldera_coas'};
print "<td><table width=100%>\n";

local $sels = $gconfig{'os_version'} < 2.4 ? 5 : 10;
print "<tr> <td valign=top><b>$text{'caldera_printer'}</b></td>\n";
print "<td colspan=3><select size=$sels name=gsdevice onChange='setres(0)'>\n";
open(COAS, $config{'coas_printers'});
local $plist = &parse_coas(COAS);
close(COAS);
local ($i, $j, $p, $k, $found, $select_res);
foreach $p (values %$plist) {
	if ($p->{'description'} eq $_[1]->{'gsname'} &&
	    $p->{'type'}->{'0'} ne $_[1]->{'gsdevice'}) {
		# COAS has changed the device
		$_[1]->{'gsname'} = undef;
		}
	}
foreach $k (sort { $a <=> $b } keys %$plist) {
	$p = $plist->{$k};
	local $type = ref($p->{'type'}) ? $p->{'type'}->{'0'}
					: $p->{'type'};
	next if ($type =~ /NET|RAW/);
	local @thisres = values %{$p->{'resolution'}};
	#local $got = ($_[1]->{'gsname'} eq $p->{'description'} &&
	#	      $_[1]->{'gsdevice'} eq $type) ||
	#	     (!$_[1]->{'gsname'} && !$found &&
	#	      $_[1]->{'gsdevice'} eq $type);
	local $got = $_[1]->{'ddesc'} eq $p->{'description'};
	printf "<option %s value='%s'>%s\n",
		$got ? 'selected' : '',
		$p->{'description'}.";".join(";", @thisres),
		$p->{'description'};
	$found = $p if ($got);
	$select_res = &indexof($_[1]->{'res'}, @thisres) if ($got);
	map { $gotres{$_}++ } @thisres;
	}
print "</select><select name=res size=$sels>\n";
foreach $r (sort { $a <=> $b} keys %gotres) {
	printf "<option %s>%s\n",
		$_[1]->{'res'} eq $r ? 'selected' : '', $r;
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_eof'}</b></td>\n";
printf "<td><input type=radio name=eof value=true %s> $text{'yes'}\n",
	$_[1]->{'eof'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=eof value=false %s> $text{'no'}</td>\n",
	$_[1]->{'eof'} eq 'true' ? '' : 'checked';

print "<td><b>$text{'caldera_paper'}</b></td> <td><select name=paper>\n";
foreach $p (sort { $a cmp $b } keys %paper_sizes) {
	printf "<option value='%s' %s>%s\n",
		$p, $_[1]->{'paper'} eq $p ? 'selected' : '',
		$paper_sizes{$p};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_double'}</b></td>\n";
printf "<td><input type=radio name=double value=true %s> $text{'yes'}\n",
	$_[1]->{'double'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=double value=false %s> $text{'no'}</td>\n",
	$_[1]->{'double'} eq 'true' ? '' : 'checked';

if ($found) {
	$_[1]->{'gsopts'} =~ s/\s*$found->{'gsoptions'}\s*//;
	}
print "<td><b>$text{'caldera_gsopts'}</b></td>\n";
printf "<td><input name=gsopts size=30 value='%s'></td> </tr>\n",
	$_[1]->{'gsopts'};

print "</table></td></tr>\n";

if ($gconfig{'os_version'} < 2.4) {
	# Uniprint driver options
	printf "<tr> <td valign=top><input type=radio name=mode value=3 %s> %s</td>\n",
		$mode == 3 ? 'checked' : '', $text{'caldera_uniprint'};
	print "<td><table width=100%>\n";

	print "<tr> <td valign=top><b>$text{'caldera_printer'}</b></td>\n";
	print "<td colspan=3><select name=uniprint size=5>\n";
	foreach $u (&list_uniprint()) {
		printf "<option value=%s %s>%s\n",
			$u->[0], $u->[0] eq $_[1]->{'upp'} ? 'selected' : '',
			$u->[1];
		}
	closedir(DIR);
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'caldera_eof'}</b></td>\n";
	printf "<td><input type=radio name=ueof value=true %s> $text{'yes'}\n",
		$_[1]->{'eof'} eq 'true' ? 'checked' : '';
	printf "<input type=radio name=ueof value=false %s> $text{'no'}</td>\n",
		$_[1]->{'eof'} eq 'true' ? '' : 'checked';

	print "<td><b>$text{'caldera_paper'}</b></td> <td><select name=upaper>\n";
	foreach $p (sort { $a cmp $b } keys %paper_sizes) {
		printf "<option value='%s' %s>%s\n",
			$p, $_[1]->{'paper'} eq $p ? 'selected' : '',
			$paper_sizes{$p};
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'caldera_double'}</b></td>\n";
	printf "<td><input type=radio name=udouble value=true %s> $text{'yes'}\n",
		$_[1]->{'double'} eq 'true' ? 'checked' : '';
	printf "<input type=radio name=udouble value=false %s> $text{'no'}</td>\n",
		$_[1]->{'double'} eq 'true' ? '' : 'checked';

	print "</table></td></tr>\n";
	}

return <<EOF;
<script>
function setres(sel)
{
var idx = document.forms[0].gsdevice.selectedIndex;
var v = new String(document.forms[0].gsdevice.options[idx].value);
var vv = v.split(";");
var res = document.forms[0].res;
res.length = 0;
for(var i=1; i<vv.length; i++) {
	res.options[i-1] = new Option(vv[i], vv[i]);
	}
if (res.length > 0) {
	res.options[sel].selected = true;
	}
}
setres($select_res);
</script>
EOF
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	$in{'program'} =~ /^(\S+)/ && -x $1 ||
		&error(&text('caldera_eprog', $in{'program'}));
	return { 'mode' => 2,
		 'file' => $in{'program'} };
	}
elsif ($in{'mode'} == 1) {
	# Normal ghostscript driver
	open(COAS, $config{'coas_printers'});
	local $plist = &parse_coas(COAS);
	close(COAS);
	$in{'gsdevice'} || &error($text{'caldera_edriver'});
	$in{'gsdevice'} =~ s/;(.*)$//;
	local ($p, $prn);
	foreach $p (values %$plist) {
		$prn = $p if ($p->{'description'} eq $in{'gsdevice'});
		}
	local $gsdevice = ref($prn->{'type'}) ? $prn->{'type'}->{'0'}
					      : $prn->{'type'},
	$gsdevice eq 'PostScript' || $in{'res'} ||
		&error($text{'caldera_eres'});
	if ($prn->{'gsoptions'}) {
		$in{'gsopts'} .= " ".$prn->{'gsoptions'};
		}
	return { 'mode' => 1,
		 'gsdevice' => $gsdevice,
		 'upp' => $prn->{'uniprint'},
		 'gsname' => $in{'gsdevice'},
		 'res' => $in{'res'},
		 'paper' => $in{'paper'},
		 'eof' => $in{'eof'},
		 'double' => $in{'double'},
		 'gsopts' => $in{'gsopts'} };
	}
else {
	# Uniprint ghostscript driver under 2.3
	$in{'uniprint'} || &error($text{'caldera_edriver'});
	return { 'mode' => 3,
		 'gsdevice' => 'uniprint',
		 'upp' => $in{'uniprint'},
		 'paper' => $in{'upaper'},
		 'eof' => $in{'ueof'},
		 'double' => $in{'udouble'} };
	}
}

# parse_coas(handle)
sub parse_coas
{
local $h = $_[0];
local (%rv, $_);
while(<$h>) {
	s/#.*$//g;
	s/\r|\n//g;
	if (/^\s*(\S+)\s+{/) {
		# start of a section
		local $k = $1;
		$rv{$k} = &parse_coas($h);
		}
	elsif (/^\s*}/) {
		# end of a section
		last;
		}
	elsif (/^\s*(\S+)\s+(.*)/) {
		# a value in a section
		$rv{$1} = $2;
		}
	}
return \%rv;
}

1;

 070701000048c4000081e40000000000000002000000013d1fe2d2000001c0000000200000000000000000000000000000001d00000003reloc/lpadmin/cancel_all.cgi  #!/usr/local/bin/perl
# cancel_all.cgi
# Cancel all print jobs on some printer

require './lpadmin-lib.pl';
&ReadParse();
&error_setup($text{'cancel_err'});

@jobs = &get_jobs($in{'name'});
foreach $j (@jobs) {
	($ju = $j->{'user'}) =~ s/\!.*$//;
	&can_edit_jobs($in{'name'}, $ju) || &error($text{'cancel_ecannot'});
	&cancel_job($in{'name'}, $j->{'id'});
	}
&webmin_log("cancel", "all", $in{'name'});
&redirect("list_jobs.cgi?name=$in{'name'}");

070701000048c5000081e40000000000000002000000013d1fe2d20000024e000000200000000000000000000000000000001d00000003reloc/lpadmin/cancel_job.cgi  #!/usr/local/bin/perl
# cancel_job.cgi
# Cancel an existing print job

require './lpadmin-lib.pl';
&ReadParse();
&error_setup($text{'cancel_err'});

@jobs = &get_jobs($in{'name'});
foreach $j (@jobs) {
	if ($j->{'id'} == $in{'id'}) { $found++; }
	}
($ju = $j->{'user'}) =~ s/\!.*$//;
&can_edit_jobs($in{'name'}, $ju) || &error($text{'cancel_ecannot'});
if ($found) {
	# print job exists.. cancel it
	&cancel_job($in{'name'}, $in{'id'});
	&webmin_log("cancel", "job", $in{'name'}, \%in);
	&redirect("list_jobs.cgi?name=$in{'name'}");
	}
else {
	&error(&text('cancel_egone', $in{'id'}));
	}

  070701000048c6000081a40000000000000002000000013d1fe2d200003161000000200000000000000000000000000000001e00000003reloc/lpadmin/catalog.devices x11             X Windows version 11, release >=4   [Unix and VMS only]
x11alpha        X Windows masquerading as a device with alpha capability
x11cmyk         X Windows masquerading as a 1-bit-per-plane CMYK device
x11cmyk2        X Windows as a 2-bit-per-plane CMYK device
x11cmyk4        X Windows as a 4-bit-per-plane CMYK device
x11cmyk8        X Windows as an 8-bit-per-plane CMYK device
x11gray2        X Windows as a 2-bit gray-scale device
x11gray4        X Windows as a 4-bit gray-scale device
x11mono         X Windows masquerading as a black-and-white device
lvga256         Linux vgalib, 256-color VGA modes  [Linux only]
vgalib          Linux PC with VGALIB   [Linux only]
sxlcrt          CRT sixels, e.g. for VT240-like terminals
appledmp        Apple Dot Matrix Printer (should also work with Imagewriter)
iwhi            Apple Imagewriter in high-resolution mode
iwlo            Apple Imagewriter in low-resolution mode
iwlq            Apple Imagewriter LQ in 320 x 216 dpi mode
t4693d2         Tektronix 4693d color printer, 2 bits per R/G/B component
t4693d4         Tektronix 4693d color printer, 4 bits per R/G/B component
t4693d8         Tektronix 4693d color printer, 8 bits per R/G/B component
tek4696         Tektronix 4695/4696 inkjet plotter
ap3250          Epson AP3250 printer
epson           Epson-compatible dot matrix printers (9- or 24-pin)
eps9mid         Epson-compatible 9-pin, interleaved lines (intermediate resolution)
eps9high        Epson-compatible 9-pin, interleaved lines (triple resolution)
epsonc          Epson LQ-2550 and Fujitsu 3400/2400/1200 color printers
lp8000          Epson LP-8000 laser printer
lq850           Epson LQ850 printer at 360 x 360 DPI resolution; also good for Canon BJ300 with LQ850 emulation
st800           Epson Stylus 800 printer
stcolor         Epson Stylus Color
hl7x0           Brother HL 720 and HL 730 (HL 760 is PCL compliant)
uniprint        Unified printer driver -- Configurable Color ESC/P-, ESC/P2-, HP-RTL/PCL mono/color driver
cdeskjet        H-P DeskJet 500C with 1 bit/pixel color
cdjcolor        H-P DeskJet 500C with 24 bit/pixel color and high-quality color (Floyd-Steinberg) dithering; also good for DeskJet 540C and Citizen Projet IIc (-r200x300)
cdjmono         H-P DeskJet 500C printing black only; also good for DeskJet 510, 520, and 540C (black only)
cdj500          H-P DeskJet 500C (same as cdjcolor)
cdj550          H-P DeskJet 550C/560C/660C/660Cse
cdj670          H-P DeskJet 670 (supports also hp690; experimental driver of hp8xx package)
cdj850          H-P DeskJet 850 (supports also hp855, hp870, and hp1100; experimental driver of hp8xx package)
cdj880          H-P DeskJet 880 (experimental driver of patched hp8xx package)
cdj890          H-P DeskJet 890 (experimental driver of hp8xx package)
cdj970          H-P 970Cxi Driver under development
cdj1600         H-P DeskJet 1600 (experimental driver of hp8xx package)
djet820c        H-P DeskJet 820c, EXPERIMENTAL: NO COLOR, HARDCODED PAPER SIZES (A4, letter)
deskjet         H-P DeskJet and DeskJet Plus
djet500         H-P DeskJet 500; use -r600 for DJ 600 series
djet500c        H-P DeskJet 500C alternate driver (does not work on 550C or 560C)
dnj650c         H-P DesignJet 650C
paintjet        alternate H-P PaintJet color printer
pj              H-P PaintJet XL driver
pjetxl          alternate H-P PaintJet XL driver
pjxl            H-P PaintJet XL color printer
pjxl300         H-P PaintJet XL300 color printer; also good for PaintJet 1200C and CopyJet
hpdj            printers (e.g. H-P DeskJets) understanding PCL-3 (black and colour)
stp             STP driver -- Configurable Color ESC/P-, ESC/P2-, HP-RTL/PCL mono/color driver
laserjet        H-P LaserJet
ljet2p          H-P LaserJet IId/IIp/III* with TIFF compression
ljet3           H-P LaserJet III* with Delta Row compression
ljet3d          H-P LaserJet IIID with duplex capability
ljet4           H-P LaserJet 4 (defaults to 600 dpi)
lj4dith         H-P LaserJet 4 with Floyd-Steinberg dithering
ljetplus        H-P LaserJet Plus
lj5mono         H-P LaserJet 5 & 6 family (PCL XL), bitmap: see below for restrictions & advice
lj5gray         H-P LaserJet 5 & 6 family, gray-scale bitmap; see below for restrictions & advice
cljet5          H-P Color LaserJet 5/5M
lp2563          H-P 2563B line printer
bj10e           Canon BubbleJet BJ10e
bj200           Canon BubbleJet BJ200
bjc600          Canon Color BubbleJet BJC-600, BJC-4000 and BJC-70 also good for Apple printers like the StyleWriter 2x00
bjc800          Canon Color BubbleJet BJC-800
lbp8            Canon LBP-8II laser printer
lips3           Canon LIPS III laser printer in English (CaPSL) mode
lxm5700m        LexMark 5700 printer
lex7000         Lexmark 7000 printer
lex5700         Lexmark 5700 printer
lex3200         Lexmark 3200 printer
lex2050         Lexmark 2050 printer
declj250        alternate DEC LJ250 driver
dl2100          DEC DEClaser 2100 printer
la50            DEC LA50 printer
la70            DEC LA70 printer
la75            DEC LA75 printer
la75plus        DEC LA75plus printer
ln03            DEC LN03 printer
lj250           DEC LJ250 Companion color printer
ccr             CalComp Raster format
cp50            Mitsubishi CP50 color printer
ibmpro          IBM 9-pin Proprinter
imagen          Imagen ImPress printers
jetp3852        IBM Jetprinter ink-jet color printer (Model #3852)
m8510           C.Itoh M8510 printer
necp6           NEC P6/P6+/P60 printers at 360 x 360 DPI resolution
oce9050         OCE 9050 printer
oki182          Okidata MicroLine 182
oki4w           Okidata OkiPage 4w+ LED printer
okiibm          Okidata MicroLine IBM-compatible printers
r4081           Ricoh 4081 laser printer
sj48            StarJet 48 inkjet printer
xes             Xerox XES printers (2700, 3700, 4045, etc.)
pbm             Portable Bitmap (plain format)
pbmraw          Portable Bitmap (raw format)
pgm             Portable Graymap (plain format)
pgmraw          Portable Graymap (raw format)
pgnm            Portable Graymap (plain format), optimizing to PBM if possible
pgnmraw         Portable Graymap (raw format), optimizing to PBM if possible
pnm             Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM if possible
pnmraw          Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM if possible
ppm             Portable Pixmap (plain format) (RGB)
ppmraw          Portable Pixmap (raw format) (RGB)
pkm             Portable inKmap (plain format) (4-bit CMYK => RGB)
pkmraw          Portable inKmap (raw format) (4-bit CMYK => RGB)
plan9bm         Plan 9 bitmap format
inferno         Inferno bitmaps
dfaxhigh        DigiBoard, Inc.'s DigiFAX software format (high resolution)
dfaxlow         DigiFAX low (normal) resolution
faxg3           Group 3 fax, with EOLs but no header or EOD
faxg32d         Group 3 2-D fax, with EOLs but no header or EOD
faxg4           Group 4 fax, with EOLs but no header or EOD
tiffcrle        TIFF "CCITT RLE 1-dim" (= Group 3 fax with no EOLs)
tiffg3          TIFF Group 3 fax (with EOLs)
tiffg32d        TIFF Group 3 2-D fax
tiffg4          TIFF Group 4 fax
tiff12nc        TIFF 12-bit RGB, no compression
tiff24nc        TIFF 24-bit RGB, no compression (NeXT standard format)
tifflzw         TIFF LZW (tag = 5) (monochrome)
tiffpack        TIFF PackBits (tag = 32773) (monochrome)
psmono          PostScript (Level 1) monochrome image
psgray          PostScript (Level 1) 8-bit gray image
psrgb           PostScript (Level 2) 24-bit color image
bit             Plain bits, monochrome
bitrgb          Plain bits, RGB
bitcmyk         Plain bits, CMYK
mgrmono         1-bit monochrome MGR devices
mgrgray2        2-bit gray scale MGR devices
mgrgray4        4-bit gray scale MGR devices
mgrgray8        8-bit gray scale MGR devices
mgr4            4-bit (VGA) color MGR devices
mgr8            8-bit color MGR devices
pcxmono         PCX file format, monochrome (1-bit black and white)
pcxgray         PCX file format, 8-bit gray scale
pcx16           PCX file format, 4-bit planar (EGA/VGA) color
pcx256          PCX file format, 8-bit chunky color
pcx24b          PCX file format, 24-bit color (3 8-bit planes)
pcxcmyk         PCX file format, 4-bit chunky CMYK color
pngmono         Monochrome Portable Network Graphics (PNG)
pnggray         8-bit gray Portable Network Graphics (PNG)
png16           4-bit color Portable Network Graphics (PNG)
png256          8-bit color Portable Network Graphics (PNG)
png16m          24-bit color Portable Network Graphics (PNG)
sgirgb          SGI RGB pixmap format
bmpmono         Monochrome MS Windows .BMP file format
bmp16           4-bit (EGA/VGA) .BMP file format
bmp256          8-bit (256-color) .BMP file format
bmp16m          24-bit .BMP file format
cgmmono         Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY
cgm8            8-bit (256-color) CGM -- DITTO
cgm24           24-bit color CGM -- DITTO
cif             CIF file format for VLSI
jpeg            JPEG format, RGB output
jpeggray        JPEG format, gray output
miff24          ImageMagick MIFF format, 24-bit direct color, RLE compressed
pdfwrite        PDF output (like Adobe Acrobat Distiller)
pswrite         PostScript output (like PostScript Distillery)
epswrite        EPS output (like PostScript Distillery)
pxlmono         Black-and-white PCL XL
pxlcolor        Color PCL XL
bjc6000a1.upp   Canon BJC 6000, 360x360DpI, plain paper, color, rendered
bjc6000b1.upp   Canon BJC 6000, 720x720DpI, plain paper, color, rendered
bjc610a0.upp    Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered
bjc610a1.upp    Canon BJC 610, 360x360DpI, plain paper, color, rendered
bjc610a2.upp    Canon BJC 610, 360x360DpI, coated paper, color, rendered
bjc610a3.upp    Canon BJC 610, 360x360DpI, transparency film, color, rendered
bjc610a4.upp    Canon BJC 610, 360x360DpI, back print film, color, rendered
bjc610a5.upp    Canon BJC 610, 360x360DpI, fabric sheet, color, rendered
bjc610a6.upp    Canon BJC 610, 360x360DpI, glossy paper, color, rendered
bjc610a7.upp    Canon BJC 610, 360x360DpI, high gloss film, color, rendered
bjc610a8.upp    Canon BJC 610, 360x360DpI, high resolution paper, color, rendered
bjc610b1.upp    Canon BJC 610, 720x720DpI, plain paper, color, rendered
bjc610b2.upp    Canon BJC 610, 720x720DpI, coated paper, color, rendered
bjc610b3.upp    Canon BJC 610, 720x720DpI, transparency film, color, rendered
bjc610b4.upp    Canon BJC 610, 720x720DpI, back print film, color, rendered
bjc610b6.upp    Canon BJC 610, 720x720DpI, glossy paper, color, rendered
bjc610b7.upp    Canon BJC 610, 720x720DpI, high gloss paper, color, rendered
bjc610b8.upp    Canon BJC 610, 720x720DpI, high resolution paper, color, rendered
cdj550.upp      HP Deskjet 550c, 300x300DpI, Gamma=2
necp2x.upp      NEC Prinwriter 2X, 360x360DpI, Plain Paper
necp2x6.upp     NEC Prinwriter 2X, 360x360DpI, Plain Paper
ras1.upp        SUN rasterfile, 1 Bit, 2 Colors (Ghostscript-Rendering)
ras24.upp       SUN rasterfile, 24 Bit, 7 Colors (RGB-Error-Diffusion)
ras3.upp        SUN rasterfile, 3 Bit, 7 Colors (RGB-Ghostscript)
ras32.upp       SUN rasterfile, 32 Bit, 6+1 Colors (CMYK-Error-Diffusion)
ras4.upp        SUN rasterfile, 4 Bit, 6+1 Colors (CMYK-Ghostscript)
ras8m.upp       SUN rasterfile, 8 Bit, 2 Colors (Error-Diffusion)
stc.upp         Epson Stylus Color I (and PRO Series), 360x360DpI, Plain Paper
stc1520h.upp    Epson Stylus Color 1520, 1440x720DpI, Inkjet Paper
stc2.upp        Epson Stylus Color II / IIs, 360x360DpI, Plain Paper
stc2_h.upp      Epson Stylus Color II, 720x720DpI, Special Paper
stc2s_h.upp     Epson Stylus Color IIs, 720x720DpI, Special Paper
stc500p.upp     Epson Stylus Color 500, 360x360DpI, not Weaved, Plain Paper
stc500ph.upp    Epson Stylus Color 500, 720x720DpI, not Weaved, Plain Paper
stc600ih.upp    Epson Stylus Color 600, 1440x720DpI, Inkjet Paper
stc600p.upp     Epson Stylus Color 600, 720x720DpI, Plain Paper
stc600pl.upp    Epson Stylus Color 600, 360x360DpI, Plain Paper
stc740ih.upp    Epson Stylus Color 740, 1440x720DpI, Inkjet Paper
stc740p.upp     Epson Stylus Color 740, 720x720DpI, Plain Paper
stc740pl.upp    Epson Stylus Color 740, 360x360DpI, Plain Paper
stc800ih.upp    Epson Stylus Color 800, 1440x720DpI, Inkjet Paper
stc800p.upp     Epson Stylus Color 800, 720x720DpI, Plain Paper
stc800pl.upp    Epson Stylus Color 800, 360x360DpI, Plain Paper
stc_h.upp       Epson Stylus Color I (and PRO Series), 720x720DpI, Special Paper
stc_l.upp       Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave
stcany.upp      Any Epson Stylus Color, 360x360DpI
   070701000048c7000081a40000000000000002000000013d1fe2d200000ba8000000200000000000000000000000000000001900000003reloc/lpadmin/colour.fig  #FIG 3.2
Portrait
Flush left
Inches
A4      
100.00
Single
-2
1200 2
0 32 #8e8e8e
0 33 #8e8e8e
0 34 #8e8e8e
0 35 #8e8e8e
0 36 #8e8e8e
0 37 #8e8e8e
0 38 #414541
0 39 #8e8e8e
0 40 #414541
0 41 #8e8e8e
0 42 #414541
0 43 #8e8e8e
0 44 #414541
0 45 #8e8e8e
0 46 #414541
0 47 #8e8e8e
0 48 #414541
0 49 #8e8e8e
0 50 #414541
0 51 #8e8e8e
0 52 #414541
0 53 #8e8e8e
0 54 #414541
0 55 #8e8e8e
0 56 #414541
0 57 #8e8e8e
0 58 #414541
0 59 #8e8e8e
0 60 #8e8e8e
0 61 #8e8e8e
0 62 #8e8e8e
0 63 #8e8e8e
0 64 #8e8e8e
0 65 #8e8e8e
0 66 #8e8e8e
0 67 #8e8e8e
0 68 #8e8e8e
0 69 #414541
6 900 6300 9300 7800
4 0 0 100 0 0 24 0.0000 4 330 7545 900 6600 This is the printer test page for the Webmin Printer\001
4 0 0 100 0 0 24 0.0000 4 330 8340 900 7020 Administration module. If you can read this, your printer\001
4 0 0 100 0 0 24 0.0000 4 330 4260 900 7440 is probably working properly.\001
-6
6 900 8100 5100 11700
2 2 0 0 0 4 100 0 20 0.000 0 0 -1 0 0 5
	 900 8100 1500 8100 1500 11700 900 11700 900 8100
2 2 0 0 0 4 100 0 20 0.000 0 0 -1 0 0 5
	 900 8100 1500 8100 1500 11700 900 11700 900 8100
2 2 0 0 0 31 100 0 20 0.000 0 0 -1 0 0 5
	 1500 8100 2100 8100 2100 11700 1500 11700 1500 8100
2 2 0 0 0 6 100 0 20 0.000 0 0 -1 0 0 5
	 2100 8100 2700 8100 2700 11700 2100 11700 2100 8100
2 2 0 0 0 2 100 0 20 0.000 0 0 -1 0 0 5
	 2700 8100 3300 8100 3300 11700 2700 11700 2700 8100
2 2 0 0 0 1 100 0 20 0.000 0 0 -1 0 0 5
	 3300 8100 3900 8100 3900 11700 3300 11700 3300 8100
2 2 0 0 0 5 100 0 20 0.000 0 0 -1 0 0 5
	 3900 8100 4500 8100 4500 11700 3900 11700 3900 8100
2 2 0 0 0 23 100 0 20 0.000 0 0 -1 0 0 5
	 4500 8100 5100 8100 5100 11700 4500 11700 4500 8100
-6
6 5100 8100 9300 11700
2 2 0 0 0 4 100 0 20 0.000 0 0 -1 0 0 5
	 9300 8100 8700 8100 8700 11700 9300 11700 9300 8100
2 2 0 0 0 4 100 0 20 0.000 0 0 -1 0 0 5
	 9300 8100 8700 8100 8700 11700 9300 11700 9300 8100
2 2 0 0 0 31 100 0 20 0.000 0 0 -1 0 0 5
	 8700 8100 8100 8100 8100 11700 8700 11700 8700 8100
2 2 0 0 0 6 100 0 20 0.000 0 0 -1 0 0 5
	 8100 8100 7500 8100 7500 11700 8100 11700 8100 8100
2 2 0 0 0 2 100 0 20 0.000 0 0 -1 0 0 5
	 7500 8100 6900 8100 6900 11700 7500 11700 7500 8100
2 2 0 0 0 1 100 0 20 0.000 0 0 -1 0 0 5
	 6900 8100 6300 8100 6300 11700 6900 11700 6900 8100
2 2 0 0 0 5 100 0 20 0.000 0 0 -1 0 0 5
	 6300 8100 5700 8100 5700 11700 6300 11700 6300 8100
2 2 0 0 0 23 100 0 20 0.000 0 0 -1 0 0 5
	 5700 8100 5100 8100 5100 11700 5700 11700 5700 8100
-6
2 1 0 3 2 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 3300 9300 4500
2 1 0 4 1 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 3900 9300 3900
2 1 0 5 5 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 4500 9300 3300
2 1 0 7 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 5700 9300 2100
2 1 0 1 4 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 2100 9300 5700
2 1 0 2 6 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 2700 9300 5100
2 1 0 6 21 7 100 0 -1 0.000 0 0 -1 0 0 2
	 900 5100 9300 2700
4 0 0 100 0 0 72 0.0000 4 960 8250 900 1500 Webmin Test Page\001
4 0 0 100 0 0 72 0.0000 4 960 8250 900 13200 Webmin Test Page\001
070701000048c8000081a40000000000000002000000013d1fe2d200001a88000000200000000000000000000000000000001800000003reloc/lpadmin/colour.ps   %!PS-Adobe-2.0
%%Title: colour.ps
%%Creator: fig2dev Version 3.2 Patchlevel 1
%%CreationDate: Mon Dec  4 16:16:30 2000
%%For: jcameron@vaio.home (Jamie Cameron)
%%Orientation: Portrait
%%BoundingBox: 49 32 568 799
%%Pages: 1
%%BeginSetup
%%IncludeFeature: *PageSize A4
%%EndSetup
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.557 0.557 0.557 srgb} bind def
/col33 {0.557 0.557 0.557 srgb} bind def
/col34 {0.557 0.557 0.557 srgb} bind def
/col35 {0.557 0.557 0.557 srgb} bind def
/col36 {0.557 0.557 0.557 srgb} bind def
/col37 {0.557 0.557 0.557 srgb} bind def
/col38 {0.255 0.271 0.255 srgb} bind def
/col39 {0.557 0.557 0.557 srgb} bind def
/col40 {0.255 0.271 0.255 srgb} bind def
/col41 {0.557 0.557 0.557 srgb} bind def
/col42 {0.255 0.271 0.255 srgb} bind def
/col43 {0.557 0.557 0.557 srgb} bind def
/col44 {0.255 0.271 0.255 srgb} bind def
/col45 {0.557 0.557 0.557 srgb} bind def
/col46 {0.255 0.271 0.255 srgb} bind def
/col47 {0.557 0.557 0.557 srgb} bind def
/col48 {0.255 0.271 0.255 srgb} bind def
/col49 {0.557 0.557 0.557 srgb} bind def
/col50 {0.255 0.271 0.255 srgb} bind def
/col51 {0.557 0.557 0.557 srgb} bind def
/col52 {0.255 0.271 0.255 srgb} bind def
/col53 {0.557 0.557 0.557 srgb} bind def
/col54 {0.255 0.271 0.255 srgb} bind def
/col55 {0.557 0.557 0.557 srgb} bind def
/col56 {0.255 0.271 0.255 srgb} bind def
/col57 {0.557 0.557 0.557 srgb} bind def
/col58 {0.255 0.271 0.255 srgb} bind def
/col59 {0.557 0.557 0.557 srgb} bind def
/col60 {0.557 0.557 0.557 srgb} bind def
/col61 {0.557 0.557 0.557 srgb} bind def
/col62 {0.557 0.557 0.557 srgb} bind def
/col63 {0.557 0.557 0.557 srgb} bind def
/col64 {0.557 0.557 0.557 srgb} bind def
/col65 {0.557 0.557 0.557 srgb} bind def
/col66 {0.557 0.557 0.557 srgb} bind def
/col67 {0.557 0.557 0.557 srgb} bind def
/col68 {0.557 0.557 0.557 srgb} bind def
/col69 {0.255 0.271 0.255 srgb} bind def

end
save
0.0 842.0 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
%%EndProlog

$F2psBegin
10 setmiterlimit
n -1000 14488 m -1000 -1000 l 10453 -1000 l 10453 14488 l cp clip
 0.06000 0.06000 sc
%%Page: 1 1
/Times-Roman ff 360.00 scf sf
900 6600 m
gs 1 -1 sc (This is the printer test page for the Webmin Printer) col0 sh gr
/Times-Roman ff 360.00 scf sf
900 7020 m
gs 1 -1 sc (Administration module. If you can read this, your printer) col0 sh gr
/Times-Roman ff 360.00 scf sf
900 7440 m
gs 1 -1 sc (is probably working properly.) col0 sh gr
% Polyline
n 900 8100 m 1500 8100 l 1500 11700 l 900 11700 l cp gs col4 1.00 shd ef gr 
% Polyline
n 900 8100 m 1500 8100 l 1500 11700 l 900 11700 l cp gs col4 1.00 shd ef gr 
% Polyline
n 1500 8100 m 2100 8100 l 2100 11700 l 1500 11700 l cp gs col31 1.00 shd ef gr 
% Polyline
n 2100 8100 m 2700 8100 l 2700 11700 l 2100 11700 l cp gs col6 1.00 shd ef gr 
% Polyline
n 2700 8100 m 3300 8100 l 3300 11700 l 2700 11700 l cp gs col2 1.00 shd ef gr 
% Polyline
n 3300 8100 m 3900 8100 l 3900 11700 l 3300 11700 l cp gs col1 1.00 shd ef gr 
% Polyline
n 3900 8100 m 4500 8100 l 4500 11700 l 3900 11700 l cp gs col5 1.00 shd ef gr 
% Polyline
n 4500 8100 m 5100 8100 l 5100 11700 l 4500 11700 l cp gs col23 1.00 shd ef gr 
% Polyline
n 9300 8100 m 8700 8100 l 8700 11700 l 9300 11700 l cp gs col4 1.00 shd ef gr 
% Polyline
n 9300 8100 m 8700 8100 l 8700 11700 l 9300 11700 l cp gs col4 1.00 shd ef gr 
% Polyline
n 8700 8100 m 8100 8100 l 8100 11700 l 8700 11700 l cp gs col31 1.00 shd ef gr 
% Polyline
n 8100 8100 m 7500 8100 l 7500 11700 l 8100 11700 l cp gs col6 1.00 shd ef gr 
% Polyline
n 7500 8100 m 6900 8100 l 6900 11700 l 7500 11700 l cp gs col2 1.00 shd ef gr 
% Polyline
n 6900 8100 m 6300 8100 l 6300 11700 l 6900 11700 l cp gs col1 1.00 shd ef gr 
% Polyline
n 6300 8100 m 5700 8100 l 5700 11700 l 6300 11700 l cp gs col5 1.00 shd ef gr 
% Polyline
n 5700 8100 m 5100 8100 l 5100 11700 l 5700 11700 l cp gs col23 1.00 shd ef gr 
% Polyline
30.000 slw
n 900 3300 m 9300 4500 l gs col2 s gr 
% Polyline
45.000 slw
n 900 3900 m 9300 3900 l gs col1 s gr 
% Polyline
60.000 slw
n 900 4500 m 9300 3300 l gs col5 s gr 
% Polyline
90.000 slw
n 900 5700 m 9300 2100 l gs col0 s gr 
% Polyline
7.500 slw
n 900 2100 m 9300 5700 l gs col4 s gr 
% Polyline
15.000 slw
n 900 2700 m 9300 5100 l gs col6 s gr 
% Polyline
75.000 slw
n 900 5100 m 9300 2700 l gs col21 s gr 
/Times-Roman ff 1080.00 scf sf
900 1500 m
gs 1 -1 sc (Webmin Test Page) col0 sh gr
/Times-Roman ff 1080.00 scf sf
900 13200 m
gs 1 -1 sc (Webmin Test Page) col0 sh gr
$F2psEnd
rs
showpage
070701000048c9000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002100000003reloc/lpadmin/config-corel-linux  printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
iface_perms=755
driver_style=webmin
show_status=0
sort_mode=0
   070701000048ca000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002200000003reloc/lpadmin/config-debian-linux printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
iface_perms=755
driver_style=webmin
show_status=0
sort_mode=0
   070701000048cb000081a40000000000000002000000013d1fe2d2000000cb000000200000000000000000000000000000001d00000003reloc/lpadmin/config-freebsd  iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=freebsd
driver_style=webmin
show_status=0
sort_mode=0
 070701000048cc000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002300000003reloc/lpadmin/config-generic-linux    iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
driver_style=webmin
show_status=0
sort_mode=0
   070701000048cd000081a40000000000000002000000013d1fe2d2000000dd000000200000000000000000000000000000002200000003reloc/lpadmin/config-gentoo-linux iface_perms=755
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=cups
driver_style=cups
show_status=0
iface_owner=lp:lp
sort_mode=0
model_path=/usr/share/cups/model
   070701000048ce000081a40000000000000002000000013d1fe2d200000128000000200000000000000000000000000000001a00000003reloc/lpadmin/config-hpux iface_perms=711
gs_lib=
iface_arg=6
model_path=/usr/spool/lp/model
scheduler_stop=lpshut
gs_path=gs
scheduler_start=lpsched
smbclient_path=/usr/local/samba/bin/smbclient
print_style=hpux
gs_fontpath=
hpnp_path=/usr/lib/hpnp/bin/hpnpf
iface_owner=lp:lp
driver_style=hpux
show_status=0
sort_mode=0
070701000048cf000081a40000000000000002000000013d1fe2d2000000b8000000200000000000000000000000000000001a00000003reloc/lpadmin/config-irix gs_lib=
printcap_file=
show_status=1
gs_path=
driver_style=irix
print_style=irix
model_path=/var/spool/lp/model
smbclient_path=
gs_fontpath=
hpnp_path=/usr/lib/print/hpnpf
sort_mode=0
070701000048d0000081a40000000000000002000000013d1fe2d2000000cb000000200000000000000000000000000000001b00000003reloc/lpadmin/config-macos    gs_lib=
printcap_file=/etc/printcap
iface_arg=
spool_dir=/var/spool/lpd
print_style=freebsd
smbclient_path=smbclient
gs_fontpath=
gs_path=gs
iface_perms=755
driver_style=webmin
show_status=0
sort_mode=0
 070701000048d1000081a40000000000000002000000013d1fe2d2000000da000000200000000000000000000000000000002400000003reloc/lpadmin/config-mandrake-linux   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=cups
driver_style=redhat
show_status=0
iface_owner=lp:lp
sort_mode=0
  070701000048d2000081a40000000000000002000000013d1fe2d2000000f9000000200000000000000000000000000000002800000003reloc/lpadmin/config-mandrake-linux-8.0   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=cups
driver_style=cups
show_status=0
iface_owner=lp:lp
sort_mode=0
model_path=/usr/share/cups/model
   070701000048d3000081a40000000000000002000000013d1fe2d2000000f9000000200000000000000000000000000000002800000003reloc/lpadmin/config-mandrake-linux-8.1   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=cups
driver_style=cups
show_status=0
iface_owner=lp:lp
sort_mode=0
model_path=/usr/share/cups/model
   070701000048d4000081a40000000000000002000000013d1fe2d2000000f9000000200000000000000000000000000000002800000003reloc/lpadmin/config-mandrake-linux-8.2   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=cups
driver_style=cups
show_status=0
iface_owner=lp:lp
sort_mode=0
model_path=/usr/share/cups/model
   070701000048d5000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000001f00000003reloc/lpadmin/config-msc-linux    iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
driver_style=redhat
show_status=0
sort_mode=0
   070701000048d6000081a40000000000000002000000013d1fe2d2000000cb000000200000000000000000000000000000001c00000003reloc/lpadmin/config-netbsd   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=freebsd
driver_style=webmin
show_status=0
sort_mode=0
 070701000048d7000081a40000000000000002000000013d1fe2d20000011a000000200000000000000000000000000000002000000003reloc/lpadmin/config-open-linux   iface_perms=755
printcap_file=/etc/printcap
gs_lib=/usr/share/ghostscript/5.10
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
driver_style=caldera
coas_printers=/usr/lib/coas/repository/printermodels
show_status=0
sort_mode=0
  070701000048d8000081a40000000000000002000000013d1fe2d2000000d4000000200000000000000000000000000000002500000003reloc/lpadmin/config-open-linux-3.1e  show_status=0
smbclient_path=smbclient
spool_dir=/var/spool/cups
driver_style=cups
print_style=cups
iface_arg=
gs_fontpath=
model_path=/usr/share/cups/model
hpnp_path=
gs_lib=
printcap_file=
gs_path=
sort_mode=0
070701000048d9000081a40000000000000002000000013d1fe2d2000000cb000000200000000000000000000000000000001d00000003reloc/lpadmin/config-openbsd  iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=freebsd
driver_style=webmin
show_status=0
sort_mode=0
 070701000048da000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002200000003reloc/lpadmin/config-redhat-linux iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
driver_style=redhat
show_status=0
sort_mode=0
   070701000048db000081a40000000000000002000000013d1fe2d2000000e1000000200000000000000000000000000000002600000003reloc/lpadmin/config-redhat-linux-7.0 iface_perms=755
printcap_file=/etc/printcap.local
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
driver_style=redhat
show_status=0
iface_owner=lp:lp
sort_mode=0
   070701000048dc000081a40000000000000002000000013d1fe2d2000000e4000000200000000000000000000000000000002600000003reloc/lpadmin/config-redhat-linux-7.1 iface_perms=755
printcap_file=/etc/printcap.local
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
driver_style=printconf
show_status=0
iface_owner=lp:lp
sort_mode=0
070701000048dd000081a40000000000000002000000013d1fe2d200000150000000200000000000000000000000000000002600000003reloc/lpadmin/config-redhat-linux-7.2 iface_perms=755
printcap_file=/etc/printcap.local
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
show_status=0
iface_owner=lp:lp
sort_mode=0
driver_style=webmin
stop_cmd=/etc/rc.d/init.d/lpd stop
start_cmd=/etc/rc.d/init.d/lpd start
apply_cmd=/etc/rc.d/init.d/lpd restart
070701000048de000081a40000000000000002000000013d1fe2d200000150000000200000000000000000000000000000002600000003reloc/lpadmin/config-redhat-linux-7.3 iface_perms=755
printcap_file=/etc/printcap.local
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
show_status=0
iface_owner=lp:lp
sort_mode=0
driver_style=webmin
stop_cmd=/etc/rc.d/init.d/lpd stop
start_cmd=/etc/rc.d/init.d/lpd start
apply_cmd=/etc/rc.d/init.d/lpd restart
070701000048df000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002500000003reloc/lpadmin/config-slackware-linux  iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
driver_style=webmin
show_status=0
sort_mode=0
   070701000048e0000081a40000000000000002000000013d1fe2d200000142000000200000000000000000000000000000001d00000003reloc/lpadmin/config-solaris  iface_perms=711
gs_lib=/usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/Type3
gs_fontpath=/usr/openwin/lib/X11/fonts/Type1/outline
print_style=solaris
gs_path=gs
smbclient_path=/usr/local/samba/bin/smbclient
iface_arg=6
driver_style=webmin
default_interface=/usr/lib/lp/model/standard
show_status=0
sort_mode=0
  070701000048e1000081a40000000000000002000000013d1fe2d2000000c7000000200000000000000000000000000000002000000003reloc/lpadmin/config-suse-linux   iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=lprng
driver_style=suse
show_status=0
sort_mode=0
 070701000048e2000081a40000000000000002000000013d1fe2d2000000c9000000200000000000000000000000000000002100000003reloc/lpadmin/config-turbo-linux  iface_perms=755
printcap_file=/etc/printcap
gs_lib=
iface_arg=
gs_path=gs
spool_dir=/var/spool/lpd
gs_fontpath=
smbclient_path=smbclient
print_style=linux
driver_style=redhat
show_status=0
sort_mode=0
   070701000048e3000081a40000000000000002000000013d1fe2d200000113000000200000000000000000000000000000001e00000003reloc/lpadmin/config-unixware iface_perms=711
gs_lib=/usr/X/lib/X11/fonts/Type1:/usr/X/lib/X11/fonts/Type3
gs_fontpath=/usr/X/lib/X11/fonts/Type1/outline
print_style=unixware
gs_path=/usr/local/bin/gs
smbclient_path=/usr/local/samba/bin/smbclient
iface_arg=6
driver_style=webmin
show_status=0
sort_mode=0
 070701000048e4000081a40000000000000002000000013d1fe2d2000003e4000000200000000000000000000000000000001a00000003reloc/lpadmin/config.info print_style=Printer configuration style,4,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS,irix-IRIX
driver_style=Printer driver style,4,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,cups-CUPS,irix-IRIX,printconf-Redhat Printconf
printcap_file=Printers file,3,None
model_path=Directory containing interface programs,3,None
smbclient_path=Path to smbclient,3,None
gs_path=Path to ghostscript,3,None
gs_fontpath=Ghostscript font directories,3,Default
gs_lib=Ghostscript library directories,3,Default
hpnp_path=Path to hpnp program,3,None
show_status=Show enabled and accepting status instead of driver?,1,1-Yes,0-No
queue_refresh=Seconds to wait before refreshing print queue,3,Don't refresh
start_cmd=Command to start scheduler,3,Determined by printer style
stop_cmd=Command to stop scheduler,3,Determined by printer style
apply_cmd=Command to run after making any changes,3,None
sort_mode=Sort printers by,1,1-Name,0-Order in system
070701000048e5000081a40000000000000002000000013d1fe2d2000003fc000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.ca  print_style=Estil de configuració d'impressores,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS,irix-IRIX
driver_style=Estil de driver d'impressió,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,cups-CUPS,irix-IRIX,printconf-Printconf de Redhat
printcap_file=Fitxer d'impressores,3,Cap
model_path=Directori que conté els programes d'interfície,3,Cap
smbclient_path=Camí de smbclient,3,Cap
gs_path=Camí de ghostscript,3,Cap
gs_fontpath=Directoris de fonts de Ghostscript,3,Defecte
gs_lib=Directoris de llibreries Ghostscript,3,Defecte
hpnp_path=Camí del programa hpnp,3,Cap
show_status=Mostra l'estat d'activació i acceptació en lloc del driver,1,1-Sí,0-No
queue_refresh=Segons d'espera abans de refrescar la cua d'impressió,3,No refresquis
start_cmd=Ordre per engegar el spooler,3,Determinat pel tipus d'impressora
stop_cmd=Ordre per aturar el spooler,3,Determinat pel tipus d'impressora
sort_mode=Ordena les impressores per,1,1-Nom,0-Ordre del sistema

070701000048e6000081a40000000000000002000000013d1fe2d2000003ad000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.de  print_style=Typ derDruckerkonfiguration,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS,irix-IRIX
driver_style=Typ der Druckertreiber,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SUSE,cups-CUPS,irix-IRIX,printconf-RedhatPrintconf
printcap_file=Datei mit Druckern,3,Keine
model_path=Verzeichnis das Schnittstellen Programme enth&auml;lt,3,Keines
smbclient_path=Pfad zu smbclient,3,Nicht vorhanden
gs_path=Pfad zu ghostscript,3,Nicht vorhanden
gs_fontpath=Ghostscript Schriftenverzeichnis,3,Standard
gs_lib=Ghostscript Bibliothekverzeichnisse,3,Standard
hpnp_path=Pfad zum hpnp Programm,3,Nicht vorhanden
show_status=Zeige Aktiv und Status anstatt Treiber?,1,1-Ja,0-Nein
queue_refresh=Wartezeit für Refresh der Warteschlange,3,Kein Refresh
start_cmd=Kommando zum Starten des Scheduler,3,durch Drucker bestimmt
stop_cmd=Kommando zum Stoppen des Scheduler,3,durch Drucker bestimmt
   070701000048e7000081a40000000000000002000000013d1fe2d20000037e000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.es  print_style=Estilo de configuración de impresoras,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS,irix-IRIX
driver_style=Estilo de controlador de Impresoras,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,cups-CUPS,irix-IRIX,printconf-Printconf de RedHat
printcap_file=Archivo de impresoras,3,Ninguno
model_path=Directorio que contiene los programas de interfaz,3,Ninguno
smbclient_path=Trayectoria de smbclient,3,Ninguna
gs_path=Trayectoria de ghostscript,3,Ninguna
gs_fontpath=Directorios de tipos de letra de Ghostscript,3,Por defecto
gs_lib=Directorios de biblioteca de Ghostscript,3,Por defecto
hpnp_path=Trayectoria de programa hpnp,3,Ninguna
show_status=¿Mostrar estado de activada y de aceptando en vez del controlador?,1,1-Sí,0-No
queue_refresh=Segundos a esperar antes de refrescar la cola de impresión,3,No refrescar
  070701000048e8000081a40000000000000002000000013d1fe2d20000022d000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.fr  print_style=Style de configuration d'imprimante,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=Style de pilote d'imprimante,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE
model_path=Répertoire qui contient les applications d'interface,3,Aucun
smbclient_path=Chemin pour smbclient,3,Aucun
gs_path=Chemin pour ghostscript,3,Aucun
gs_fontpath=Répertoire de polices Ghostscript,3,Défaut
gs_lib=Répertoire de librairie Ghostscript,3,Défaut
hpnp_path=Chemin du programme hpnp,3,Aucun
   070701000048e9000081a40000000000000002000000013d1fe2d2000002ad000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.hu  print_style=A&nbsp;nyomtatóalrendszer fajtája,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=A nyomtatómeghajtó fajtája,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE
printcap_file=A nyomtatók listáját tartalmazó file,3,Nincs
model_path=Az illesztõprogramok katalógusa,3,Nincs
smbclient_path=Az <tt>smbclient</tt> program,3,Nincs
gs_path=A <tt>ghostscript</tt> program,3,Nincs
gs_fontpath=A Ghostscript fontok katalógusa,3,Szokásos
gs_lib=A Ghostscript könyvtárak katalógusa,3,Szokásos
hpnp_path=A <tt>hpnp</tt> program,3,Nincs
show_status=A nyomtató állapota megjelenjen a fõtáblázatban?,1,1-Igen,0-Nem
   070701000048ea000081a40000000000000002000000013d1fe2d2000002a1000000200000000000000000000000000000002400000003reloc/lpadmin/config.info.ja_JP.euc   print_style=¥×¥ê¥ó¥¿ÀßÄê¥Õ¥¡¥¤¥ë¤Î½ñ¼°,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS
driver_style=¥×¥ê¥ó¥¿¥É¥é¥¤¥Ð¤Î½ñ¼°,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,cups-CUPS
printcap_file=¥×¥ê¥ó¥¿¥Õ¥¡¥¤¥ë,3,¤Ê¤·
model_path=¥¤¥ó¥¿¥Õ¥§¥¤¥¹¥×¥í¥°¥é¥à¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê,3,¤Ê¤·
smbclient_path=smbclinent¤Ø¤Î¥Ñ¥¹,3,¤Ê¤·
gs_path=ghostscript¤Ø¤Î¥Ñ¥¹,3,¤Ê¤·
gs_fontpath=Ghostscript¥Õ¥©¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê,3,¥Ç¥Õ¥©¥ë¥È
gs_lib=Ghostscript¥é¥¤¥Ö¥é¥ê ¥Ç¥£¥ì¥¯¥È¥ê,3,¥Ç¥Õ¥©¥ë¥È
hpnp_path=hpnp¥×¥í¥°¥é¥à¤Ø¤Î¥Ñ¥¹,3,¤Ê¤·
show_status=¥É¥é¥¤¥Ð¤Ë¤«¤«¤ï¤é¤º¡¢°õºþ²ÄÇ½¤«¤É¤¦¤«¤ä¡¢°õºþ¼õ¤±ÉÕ¤±¾õÂÖ¤òÉ½¼¨¤¹¤ë,1,1-¤¹¤ë,0-¤·¤Ê¤¤
   070701000048eb000081a40000000000000002000000013d1fe2d20000038b000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.nl  print_style=Printer configuratiestijl,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS,irix-IRIX
driver_style=Printer driver-stijl,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,cups-CUPS,irix-IRIX,printconf-Redhat Printconf
printcap_file=Printers bestand,3,Geen
model_path=Map met interface programma's,3,Geen
smbclient_path=Pad naar smbclient,3,Geen
gs_path=Pad naar ghostscript,3,Geen
gs_fontpath=Ghostscript fontmappen,3,Standaard
gs_lib=Ghostscript bibliotheekmappen,3,Standaard
hpnp_path=Pad naar hpnp programma,3,Geen
show_status=Tonen ingeschakeld en accepteert taken i.p.v. driver?,1,1-Ja,0-Nee
queue_refresh=Seconden wachttijd voor opnieuw tonen printer wachtrij,3,Niet opnieuw tonen
start_cmd=Commando om scheduler te starten,3,Afhankelijk van printerstijl
stop_cmd=Commando om scheduler te stoppen,3,Afhankelijk van printerstijl
 070701000048ec000081a40000000000000002000000013d1fe2d2000003b7000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.pl  print_style=Styl konfiguracji drukarek,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,irix-IRIX
driver_style=Typ sterowników drukarek,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE,irix-IRIX
printcap_file=Plik opisu drukarek,3,Brak
model_path=Katalog zawieraj±cy filtry programowe,3,Brak
smbclient_path=¦cie¿ka do programu smbclient,3,Brak
gs_path=¦cie¿ka do programu ghostscript,3,Brak
gs_fontpath=Katalogi czcionek ghostscripta,3,Domy¶lne
gs_lib=Katalogi bibliotek Ghostscripta,3,Domy¶lne
hpnp_path=¦cie¿ka do programu hpnp,3,Brak
show_status=Pokazywaæ stan w³±czenia i&nbsp;przyjmowania po³±czeñ zamiast sterownika?,1,1-Tak,0-Nie
queue_refresh=Liczba sekund oczekiwania na od¶wie¿enie kolejki drukowania,3,Nie od¶wie¿aj
start_cmd=Polecenie uruchamiaj±ce zarz±dcê kolejek,3,Okre¶lone przez wzorzec drukarki
stop_cmd=Polecenie zatrzymuj±ce zarz±dcê kolejek,3,Okre¶lone przez wzorzec drukarki
 070701000048ed000081a40000000000000002000000013d1fe2d2000001ee000000200000000000000000000000000000002000000003reloc/lpadmin/config.info.ru_RU   gs_lib=Êàòàëîãè áèáëèîòåê äëÿ Ghostscript,3,Ïî óìîë÷àíèþ
hpnp_path=Ïóòü ê ïðîãðàììå hpnp,3,Íåò
gs_path=Ïóòü ê ghostscript,3,Íåò
driver_style=Òèï äðàéâåðîâ ïå÷àòè,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE
print_style=Òèï ñèñòåìû ïå÷àòè,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
model_path=Êàòàëîã äëÿ èíòåðôåéñíûõ ïðîãðàìì,3,Íåò
smbclient_path=Ïóòü ê smbclient,3,Íåò
gs_fontpath=Êàòàëîãè øðèôòîâ äëÿ Ghostscript,3,Ïî óìîë÷àíèþ
  070701000048ee000081a40000000000000002000000013d1fe2d2000001ee000000200000000000000000000000000000002000000003reloc/lpadmin/config.info.ru_SU   print_style=ôÉÐ ÓÉÓÔÅÍÙ ÐÅÞÁÔÉ,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=ôÉÐ ÄÒÁÊ×ÅÒÏ× ÐÅÞÁÔÉ,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE
model_path=ëÁÔÁÌÏÇ ÄÌÑ ÉÎÔÅÒÆÅÊÓÎÙÈ ÐÒÏÇÒÁÍÍ,3,îÅÔ
smbclient_path=ðÕÔØ Ë smbclient,3,îÅÔ
gs_path=ðÕÔØ Ë ghostscript,3,îÅÔ
gs_fontpath=ëÁÔÁÌÏÇÉ ÛÒÉÆÔÏ× ÄÌÑ Ghostscript,3,ðÏ ÕÍÏÌÞÁÎÉÀ
gs_lib=ëÁÔÁÌÏÇÉ ÂÉÂÌÉÏÔÅË ÄÌÑ Ghostscript,3,ðÏ ÕÍÏÌÞÁÎÉÀ
hpnp_path=ðÕÔØ Ë ÐÒÏÇÒÁÍÍÅ hpnp,3,îÅÔ
  070701000048ef000081a40000000000000002000000013d1fe2d200000280000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.sv  print_style=Skrivarinställningar,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare,cups-CUPS
driver_style=Skrivardrivrutin,1,webmin-Webmin,caldera-Caldera,redhat-RedHat,hpux-HPUX,suse-SuSE,cups-CUPS
printcap_file=Skrivarfil,3,Ingen
model_path=Katalog med interface-program,3,Ingen
smbclient_path=Sökväg till smbclient,3,Ingen
gs_path=Sökväg till ghostscript,3,Ingen
gs_fontpath=Typsnittskatalog för ghostscript,3,Standard
gs_lib=Lib-katalog för ghostscript,3,Standard
hpnp_path=Sökväg till hpnp-program,3,Ingen
show_status=Visa aktiverad och mottagningsstatus istället för skrivardrivrutin?,1,1-Ja,0-Nej
070701000048f0000081a40000000000000002000000013d1fe2d20000021d000000200000000000000000000000000000001d00000003reloc/lpadmin/config.info.tr  print_style=Yazýcý yapýlandýrma stili,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=Yazýcý sürücü stili,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX,suse-SuSE
printcap_file=Yazýcý dosyasý,3,Hiçbiri
model_path=Arayüz programlarýný içeren dizin,3,Hiçbiri
smbclient_path=smbclient komutu yolu,3,Hiçbiri
gs_path=ghostscript komutu yolu,3,Hiçbiri
gs_fontpath=Ghostscript font dizini,3,Öntanýmlý
gs_lib=Ghostscript kütüphane dizini,3,Öntanýmlý
hpnp_path=hpnp programý yolu,3,Hiçbiri
   070701000048f1000081a40000000000000002000000013d1fe2d2000001f0000000200000000000000000000000000000002000000003reloc/lpadmin/config.info.zh_CN   print_style=´òÓ¡»úÅäÖÃÀàÐÍ,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=´òÓ¡»úÇý¶¯ÀàÐÍ,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX
printcap_file=´òÓ¡»úÎÄ¼þ,3,ÎÞ
model_path=½Ó¿Ú³ÌÐòËùÔÚÄ¿Â¼,3,¿Õ
smbclient_path=smbclientµÄÂ·¾¶,3,¿Õ
gs_path=ghostscriptµÄÂ·¾¶,3,¿Õ
gs_fontpath=Ghostscript×ÖÌåËùÔÚÄ¿Â¼,3,È±Ê¡
gs_lib=Ghostscript¿âËùÔÚÄ¿Â¼,3,È±Ê¡
hpnp_path=hpnp³ÌÐòµÄÂ·¾¶,3,¿Õ
show_status=ÏÔÊ¾ÔÊÐíÔËÐÐºÍ½ÓÊÜµÄ×´Ì¬¶ø²»ÊÇÇý¶¯?,1,1-ÊÇ,0-·ñ
070701000048f2000081a40000000000000002000000013d1fe2d2000001e0000000200000000000000000000000000000002500000003reloc/lpadmin/config.info.zh_TW.Big5  print_style=¦Lªí¾÷²ÕºA¼Ë¦¡,1,solaris-Solaris,linux-Linux,freebsd-FreeBSD,hpux-HPUX,lprng-LPRng,unixware-UnixWare
driver_style=¦Lªí¾÷ÅX°Êµ{¦¡¼Ë¦¡,1,webmin-Webmin,caldera-Caldera,redhat-Redhat,hpux-HPUX
printcap_file=¦Lªí¾÷ÀÉ®×,3,None
model_path=¥]§t¤¶­±µ{¦¡ªº¥Ø¿ý,3,None
smbclient_path=¨ì smbclient ªº§¹¾ã¸ô®|,3,None
gs_path=¨ì ghostscript ªº§¹¾ã¸ô®|,3,None
gs_fontpath=Ghostscript ¦r«¬¥Ø¿ý,3,Default
gs_lib=Ghostscript ¨ç¼Æ®w¥Ø¿ý,3,Default
hpnp_path=¨ì hpnp µ{¦¡ªº§¹¾ã¸ô®|,3,None
070701000048f3000081a40000000000000002000000013d1fe2d200001881000000200000000000000000000000000000001d00000003reloc/lpadmin/cups-driver.pl  # cups-driver.pl
# Functions for CUPS printer drivers

$webmin_windows_driver = 0;
$cups_ppd_dir = "/etc/cups/ppd";

# is_windows_driver(path, &printer)
# Returns the server, share, username, password, workgroup, program
# if path is a webmin windows driver
sub is_windows_driver
{
if ($_[1]->{'dev'} =~ /^smb:\/\/(\S*):(\S*)\@(\S*)\/(\S*)\/(\S*)$/) {
	return { 'user' => $1,
		 'pass' => $2,
		 'workgroup' => $3,
		 'server' => $4,
		 'share' => $5,
		 'program' => $_[0] };
	}
elsif ($_[1]->{'dev'} =~ /^smb:\/\/(\S*):(\S*)\@(\S*)\/(\S*)$/) {
	return { 'user' => $1,
		 'pass' => $2,
		 'server' => $3,
		 'share' => $4,
		 'program' => $_[0] };
	}
elsif ($_[1]->{'dev'} =~ /^smb:\/\/(\S*)\/(\S*)\/(\S*)$/) {
	return { 'workgroup' => $1,
		 'server' => $2,
		 'share' => $3,
		 'program' => $_[0] };
	}
elsif ($_[1]->{'dev'} =~ /^smb:\/\/(\S*)\/(\S*)$/) {
	return { 'server' => $1,
		 'share' => $2,
		 'program' => $_[0] };
	}
else {
	return undef;
	}
}

# is_driver(path, &printer)
# Returns the driver name if some path is a CUPS driver, or undef
sub is_driver
{
if (!$_[0] || !-r $_[0]) {
	return { 'mode' => 0,
		 'desc' => $text{'cups_none'} };
	}
local $ppd = &parse_cups_ppd($_[0]);
if ($ppd->{'NickName'}) {
	# Looks like a CUPS PPD file!
	return { 'mode' => 1,
		 'manuf' => $ppd->{'Manufacturer'},
		 'model' => $ppd->{'ModelName'},
		 'nick' => $ppd->{'NickName'},
		 'desc' => "$ppd->{'Manufacturer'} $ppd->{'ModelName'}" };
	}
else {
	# Some other kind of interface file
	return { 'mode' => 2,
		 'file' => $_[0],
		 'desc' => $_[0] };
	}
}

# create_windows_driver(&printer, &driver)
sub create_windows_driver
{
if ($_[1]->{'workgroup'} && $_[1]->{'user'}) {
	$_[0]->{'dev'} = "smb://$_[1]->{'user'}:$_[1]->{'pass'}\@$_[1]->{'workgroup'}/$_[1]->{'server'}/$_[1]->{'share'}";
	}
elsif ($_[1]->{'workgroup'}) {
	$_[0]->{'dev'} = "smb://$_[1]->{'workgroup'}/$_[1]->{'server'}/$_[1]->{'share'}";
	}
elsif ($_[1]->{'user'}) {
	$_[0]->{'dev'} = "smb://$_[1]->{'user'}:$_[1]->{'pass'}\@$_[1]->{'server'}/$_[1]->{'share'}";
	}
else {
	$_[0]->{'dev'} = "smb://$_[1]->{'server'}/$_[1]->{'share'}";
	}
return $_[1]->{'program'};
}

# create_driver(&printer, &driver)
sub create_driver
{
local $drv = "$cups_ppd_dir/$_[0]->{'name'}.ppd";
undef($cups_driver_options);
if ($_[1]->{'mode'} == 0) {
	&system_logged("rm -f \"$drv\"");
	return undef;
	}
elsif ($_[1]->{'mode'} == 2) {
	&system_logged("rm -f \"$drv\"");
	return $_[1]->{'file'};
	}
else {
	# Copy the driver into place
	if ($_[1]->{'ppd'} =~ /\.gz$/) {
		&system_logged("gunzip -c '$_[1]->{'ppd'}' >$drv");
		}
	else {
		&system_logged("cp $_[1]->{'ppd'} $drv");
		}
	$cups_driver_options = $_[1]->{'opts'};	# for modify_printer
	return $drv;
	}
}

# delete_driver(name)
sub delete_driver
{
&system_logged("rm -f \"$cups_ppd_dir/$_[0].ppd\"");
}

# driver_input(&printer, &driver)
sub driver_input
{
printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$_[1]->{'mode'} == 0 ? 'checked' : '', $text{'cups_none'};
print "<td>($text{'cups_nonemsg'})</td> </tr>\n";
printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>",
	$_[1]->{'mode'} == 2 ? 'checked' : '', $text{'cups_prog'};
printf "<td><input name=program size=40 value='%s'></td> </tr>\n",
	$_[1]->{'mode'} == 2 ? $_[0]->{'iface'} : '';

# Display all the CUPS drivers
printf "<tr> <td valign=top><input type=radio name=mode value=1 %s> %s</td>\n",
	$_[1]->{'mode'} == 1 ? 'checked' : '', $text{'cups_driver'};
print "<td><select name=ppd size=10>\n";
local (@ppds, $d, $f, $ppd, %cache, $outofdate, @files);
open(FIND, "find '$config{'model_path'}' -type f -print |");
while(<FIND>) {
	chop;
	push(@files, $_);
	}
close(FIND);
&read_file("$module_config_directory/ppd-cache", \%cache);
foreach $f (@files) {
	if (!defined($cache{$f})) {
		$outofdate++;
		last;
		}
	}
if ($outofdate || scalar(keys %cache) != scalar(@files)) {
	# Cache is out of date
	undef(%cache);
	foreach $f (@files) {
		local $ppd = &parse_cups_ppd($f);
		$cache{$f} = $ppd->{'NickName'};
		}
	&write_file("$module_config_directory/ppd-cache", \%cache);
	}
foreach $f (sort { $cache{$a} cmp $cache{$b} } keys %cache) {
	if ($cache{$f}) {
		printf "<option value=%s %s>%s\n",
			$f, $_[1]->{'nick'} eq $cache{$f} ? 'selected' : '',
			$cache{$f};
		$currppd = $f if ($_[1]->{'nick'} eq $cache{$f});
		}
	}
print "</select>\n";

# Display driver option inputs
if ($currppd) {
	local $ppd = &parse_cups_ppd($currppd);
	print "<br><b>",&text('cups_opts', $ppd->{'NickName'}),
	      "</b><table>\n";
	open(OPTS, "lpoptions -p '$_[0]->{'name'}' -l 2>/dev/null |");
	while(<OPTS>) {
		if (/^(\S+)\/([^:]+):\s*(.*)/ && $1 ne "PageRegion") {
			print "<tr>\n" if ($i%2 == 0);
			local $code = $1;
			local $disp = $2;
			local @opts = split(/\s+/, $3);
			print "<td><b>$disp:</b></td>\n";
			print "<td><select name=ppd_$code>\n";
			foreach $o (@opts) {
				local $sel = ($o =~ s/^\*//);
				printf "<option value='%s' %s>%s\n",
					$o, $sel ? "selected" : "",
					$ppd->{$code}->{$o} ?
					  $ppd->{$code}->{$o} : $o;
				}
			print "</select></td>\n";
			print "<tr>\n" if ($i%2 == 1);
			}
		}
	close(OPTS);
	print "</table>\n";
	}

print "</td> </tr>\n";
return undef;
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	$in{'program'} =~ /^(\S+)/ && -x $1 ||
		&error(&text('cups_eprog', $in{'program'}));
	return { 'mode' => 2,
		 'file' => $in{'program'} };
	}
elsif ($in{'mode'} == 1) {
	# CUPS printer driver
	local $ppd = &parse_cups_ppd($in{'ppd'});
	local $rv = { 'mode' => 1,
		      'ppd' => $in{'ppd'},
		      'nick' => $ppd->{'NickName'},
		      'manuf' => $ppd->{'Manufacturer'},
		      'model' => $ppd->{'ModelName'} };
	foreach $i (keys %in) {
		$rv->{'opts'}->{$1} = $in{$i} if ($i =~ /^ppd_(.*)$/);
		}
	return $rv;
	}
}

# parse_cups_ppd(file)
sub parse_cups_ppd
{
local %ppd;
if ($_[0] =~ /\.gz$/) {
	open(PPD, "gunzip -c '$_[0]' |");
	}
else {
	open(PPD, $_[0]);
	}
while(<PPD>) {
	if (/^\s*\*(\S+):\s*"(.*)"/ || /^\s*\*(\S+):\s*(\S+)/) {
		$ppd{$1} = $2;
		}
	elsif (/^\s*\*(\S+)\s+(\S+)\/([^:]+):/) {
		$ppd{$1}->{$2} = $3 if (!defined($ppd{$1}->{$2}));
		}
	}
close(PPD);
return \%ppd;
}

1;

   070701000048f4000081a40000000000000002000000013d1fe2d2000019e8000000200000000000000000000000000000001a00000003reloc/lpadmin/cups-lib.pl # cups-lib.pl
# Functions for CUPS printer management

# list_printers()
# Returns an array of known printer names
sub list_printers
{
return () if (!&sched_running());
local(@rv, $_);
open(STAT, "lpstat -v |");
while(<STAT>) {
	if (/\s+for\s+(\S+):/i) { push(@rv, $1); }
	}
close(STAT);
return &unique(@rv);
}

# get_printer(name, [nostatus])
# Returns a reference to an associative array of printer details
sub get_printer
{
local($stat, @rv, $body, $avl, $con, $sys, %prn, $_, $out);
$out = `lpstat -l -p $_[0]`;
return undef if ($out =~ /non-existent\s+printer/);
if ($out =~ /^printer\s+(\S+)\s+(\S+).*\n([\000-\177]*)$/) {
	# printer exists..
	$prn{'name'} = $1;
	$prn{'enabled'} = $2 ne "disabled";
	$body = $3;
	}
else {
	# no printer found
	return undef;
	}
if (!$prn{'enabled'} && $body =~ /^\s+(.*)/) {
	$prn{'enabled_why'} = lc($1) eq "paused" || lc($1) eq "reason unknown" ?
			      "" : $1;
	}
if ($body =~ /Description: (.*)/) { $prn{'desc'} = $1; }
if ($body =~ /Printer types: (.*)/) { $prn{'ptype'} = $1; }
if ($body =~ /Interface: (.*)/ && $1 ne $config{'default_interface'})
	{ $prn{'iface'} = $1; }
if ($body =~ /Banner not required/) { $prn{'banner'} = 0; }
else { $prn{'banner'} = 1; }

if (!$_[1]) {
	# request availability
	$avl = `lpstat -a $prn{'name'} 2>&1`;
	if ($avl =~ /^\S+\s+not accepting.*\n\s*(.*)/) {
		$prn{'accepting'} = 0;
		$prn{'accepting_why'} = lc($1) eq "reason unknown" ? "" : $1;
		}
	else { $prn{'accepting'} = 1; }
	}

# request connection
$con = `lpstat -v $prn{'name'} 2>&1`;
if ($con =~ /^device for \S+:\s+(lpd|ipp):\/\/([^\s\/]+)\/(\S+)/) {
	$prn{'rhost'} = $2;
	$prn{'rqueue'} = $3;
	if ($1 eq 'ipp') {
		$prn{'rtype'} = 'ipp';
		$prn{'rhost'} =~ s/:631//;
		}
	}
elsif ($con =~ /^device for \S+:\s+socket:\/\/(\S+):(\d+)/) {
	$prn{'dhost'} = $1;
	$prn{'dport'} = $2;
	}
elsif ($con =~ /^device for \S+:\s+(file|serial|parallel):([^\s\?]+)/) {
	$prn{'dev'} = $2;
	}
elsif ($con =~ /^device for \S+:\s+(\S+)/) {
	$prn{'dev'} = $1;
	}

# Check if this is the default printer
`lpstat -d 2>&1` =~ /destination: (\S+)/;
if ($1 eq $prn{'name'}) { $prn{'default'} = 1; }

return \%prn;
}

# get_jobs(printer)
sub get_jobs
{
local (@jobs, $htype);
open(LPQ, "lpq -P$_[0] |");
while(<LPQ>) {
	chop;
	if (/^(\S+)\s+(\S+?)\s*(\d+)\s+(.*\S)\s+(\d+)\s+(\S+)$/) {
		# Normal lpq output
		local(%job, $f, @pq);
		$job{'id'} = $3;
		$job{'user'} = $2;
		$job{'size'} = $5;
		$job{'file'} = $4;
		$job{'printing'} = ($1 eq "active");
		local $d = $config{'spool_dir'};
		opendir(DIR, $d);
		while($f = readdir(DIR)) {
			if ($f =~ /^d(\d+)\-(\d+)$/ && $1 == $job{'id'}) {
				push(@pq, "$d/$f");
				}
			}
		closedir(DIR);
		$job{'printfile'} = @pq ? \@pq : undef;
		push(@jobs, \%job);
		}
	}
close(LPQ);
return @jobs;
}

# printer_support(option)
sub printer_support
{
return $_[0] !~ /^(msize|alias|rnoqueue|ctype|sysv|allow)$/;
}

# list_classes()
# Returns an associative array of print classes
sub list_classes
{
local($stat, %rv);
$stat = `lpstat -c 2>&1`;
while($stat =~ /^members of class (\S+):\n((\s+\S+\n)+)([\000-\177]*)$/) {
	$stat = $4;
	$rv{$1} = [ grep { $_ ne "" } split(/\s+/, $2) ];
	}
return \%rv;
}

# create_printer(&details)
# Create a new printer
sub create_printer
{
&modify_printer($_[0]);
}

# modify_printer(&details)
# Change an existing printer
sub modify_printer
{
local(%prn, $cmd, $out);
%prn = %{$_[0]};

# call lpadmin
$cmd = "lpadmin -p $prn{'name'} -D \"$prn{'desc'}\"";
if ($prn{'dev'} =~ /\/dev\/tty/) {
	$cmd .= " -v serial:$prn{'dev'}";
	}
elsif ($prn{'dev'} =~ /\/dev\/lp/) {
	$cmd .= " -v parallel:$prn{'dev'}";
	}
elsif ($prn{'dev'}) {
	$cmd .= " -v $prn{'dev'}";
	}
elsif ($prn{'rhost'}) {
	if ($prn{'rtype'} eq 'ipp') {
		$cmd .= " -v ipp://$prn{'rhost'}/$prn{'rqueue'}";
		}
	else {
		$cmd .= " -v lpd://$prn{'rhost'}/$prn{'rqueue'}";
		}
	}
else {
	$cmd .= " -v socket://$prn{'dhost'}:$prn{'dport'}";
	}
if ($prn{'iface'}) {
	$cmd .= " -P $prn{'iface'}";
	}
foreach $o (keys %$cups_driver_options) {
	$cmd .= " -o '$o=$cups_driver_options->{$o}'";
	}
$out = &backquote_logged("cd / ; $cmd 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out ($cmd)</pre>"); }

# make the default
if ($prn{'default'}) {
	$out = &backquote_logged("cd / ; lpadmin -d $prn{'name'} 2>&1");
	if ($?) { &error("Failed to set default : <pre>$out</pre>"); }
	}

# enable or disable
local $enable = &has_command("enable");
if ($prn{'enabled'}) { $cmd = "$enable $prn{'name'}"; }
elsif ($prn{'enabled_why'})
	{ $cmd = "$enable $prn{'name'} ; disable -r \"$prn{'enabled_why'}\" $prn{'name'}"; }
else { $cmd = "$enable $prn{'name'} ; disable $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");

# accepting or rejecting requests
if ($prn{'accepting'}) { $cmd = "accept $prn{'name'}"; }
elsif ($prn{'accepting_why'}) {
	$cmd = "accept $prn{'name'} ; ".
	       "reject -r \"$prn{'accepting_why'}\" $prn{'name'}";
	}
else { $cmd = "accept $prn{'name'} ; reject $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");
}

# delete_printer(name)
# Deletes some existing printer
sub delete_printer
{
local($out);
$out = &backquote_logged("lpadmin -x $_[0] 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }
}

# cancel_job(printer, id)
# Cancels some print job
sub cancel_job
{
local($out);
$out = &backquote_logged("lprm -P$_[0] $_[1] 2>&1");
if ($?) { &error("lprm failed : <pre>$out</pre>"); }
sleep(1);
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
@pid = &find_byname("cups");
if (@pid) { return $pid[0]; }
return 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("cupsd 2>&1");
if ($?) { &error("failed to start cups : <tt>$out</tt>"); }
sleep(3);
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local @pid = &find_byname("cups");
&kill_logged('TERM', @pid) || &error("Failed to stop cups : $!");
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lpr -P$_[0] $_[1]";
}

if (-r "/dev/lp0") {
	@device_files = ("/dev/lp0", "/dev/lp1",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
else {
	@device_files = ("/dev/lp1", "/dev/lp2",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
if (-r "/dev/usblp0") {
	push(@device_files, "/dev/usblp0", "/dev/usblp1",
			    "/dev/usblp2", "/dev/usblp3");
	}
@device_names = (&text('linux_paralel', "1"), &text('linux_paralel', "2"),
		 &text('linux_serial', "1"), &text('linux_serial', "2"),
		 $text{'linux_null'},  &text('linux_usb', 1),
		 &text('linux_usb', 2), &text('linux_usb', 3),
		 &text('linux_usb', 4));

070701000048f5000081a40000000000000002000000013d1fe2d200000036000000200000000000000000000000000000001900000003reloc/lpadmin/defaultacl  printers=*
add=1
cancel=1
stop=1
view=1
test=1
user=*
  070701000048f6000081e40000000000000002000000013d1fe2d20000031f000000200000000000000000000000000000002100000003reloc/lpadmin/delete_printer.cgi  #!/usr/local/bin/perl
# delete_printer.cgi
# Delete an existing printer

require './lpadmin-lib.pl';
&ReadParse();
&can_edit_printer($in{'name'}) || &error($text{'save_eedit'});
$prn = &get_printer($in{'name'});
$info = &log_info($prn);
&delete_printer($in{'name'});
&delete_driver($in{'name'});
&delete_webmin_driver($in{'name'});
&system_logged("$config{'apply_cmd'} >/dev/null 2>&1 </dev/null")
	if ($config{'apply_cmd'});
&webmin_log("delete", "printer", $prn->{'name'}, $info);

# remove from acl files
&read_acl(undef, \%wusers);
foreach $u (keys %wusers) {
	%uaccess = &get_module_acl($u);
	if ($uaccess{'printers'} ne '*') {
		$uaccess{'printers'} =
			join(' ', grep { $_ ne $in{'name'} }
				  split(/\s+/, $uaccess{'printers'}));
		&save_module_acl(\%uaccess, $u);
		}
	}
&redirect("");

 07070100004910000081a40000000000000002000000013d1fe2d2000009d0000000200000000000000000000000000000001200000003reloc/lpadmin/stp bjc-30	Canon BJC 30
bjc-1000	Canon BJC 1000
bjc-2000	Canon BJC 2000
bjc-3000	Canon BJC 3000
bjc-4300	Canon BJC 4300
bjc-4400	Canon BJC 4400 photo
bjc-6000	Canon BJC 6000
bjc-6100	Canon BJC 6100
bjc-7000	Canon BJC 7000
bjc-7100	Canon BJC 7100
bjc-8200	Canon BJC 8200
escp2	Epson Stylus Color
escp2-pro	Epson Stylus Color Pro
escp2-pro-xl	Epson Stylus Color Pro XL
escp2-400	Epson Stylus Color 400
escp2-440	Epson Stylus Color 440
escp2-460	Epson Stylus Color 460
escp2-500	Epson Stylus Color 500
escp2-600	Epson Stylus Color 600
escp2-640	Epson Stylus Color 640
escp2-660	Epson Stylus Color 660
escp2-670	Epson Stylus Color 670
escp2-680	Epson Stylus Color 680
escp2-740	Epson Stylus Color 740
escp2-760	Epson Stylus Color 760
escp2-777	Epson Stylus Color 777
escp2-800	Epson Stylus Color 800
escp2-850	Epson Stylus Color 850
escp2-860	Epson Stylus Color 860
escp2-880	Epson Stylus Color 880
escp2-900	Epson Stylus Color 900
escp2-980	Epson Stylus Color 980
escp2-1160	Epson Stylus Color 1160
escp2-1500	Epson Stylus Color 1500
escp2-1520	Epson Stylus Color 1520
escp2-3000	Epson Stylus Color 3000
escp2-photo	Epson Stylus Photo
escp2-700	Epson Stylus Photo 700
escp2-ex	Epson Stylus Photo EX
escp2-720	Epson Stylus Photo 720
escp2-750	Epson Stylus Photo 750
escp2-790	Epson Stylus Photo 790
escp2-870	Epson Stylus Photo 870
escp2-1200	Epson Stylus Photo 1200
escp2-1270	Epson Stylus Photo 1270
escp2-2000	Epson Stylus Photo 2000P
pcl-340	HP DeskJet 340
pcl-400	HP DeskJet 400
pcl-500	HP DeskJet 500
pcl-501	HP DeskJet 500C
pcl-520	HP DeskJet 520
pcl-540	HP DeskJet 540C
pcl-550	HP DeskJet 550C
pcl-560	HP DeskJet 560C
pcl-600	HP DeskJet 600/600C (Single Cartridge)
pcl-601	HP DeskJet 600 series (2 Cartridge)
pcl-690	HP DeskJet 690 series (Photo-Ink capable)
pcl-810	HP DeskJet 810C
pcl-812	HP DeskJet 812C
pcl-840	HP DeskJet 840C
pcl-842	HP DeskJet 842C
pcl-850	HP DeskJet 850C
pcl-855	HP DeskJet 855C
pcl-870	HP DeskJet 870C
pcl-890	HP DeskJet 890C
pcl-895	HP DeskJet 895C
pcl-900	HP DeskJet 900 series
pcl-P1000	HP PhotoSmart P1000
pcl-1100	HP DeskJet 1100C
pcl-P1100	HP PhotoSmart P1100
pcl-1120	HP DeskJet 1120C
pcl-1200	HP DeskJet 1200C
pcl-1220	HP DeskJet 1220C
pcl-1600	HP DeskJet 1600C
pcl-2000	HP DeskJet 2000 series
pcl-2500	HP DeskJet 2500 series
pcl-2	HP LaserJet II series
pcl-3	HP LaserJet III series
pcl-4	HP LaserJet 4 series
pcl-4v	HP LaserJet 4V, 4Si
pcl-5	HP LaserJet 5 series
pcl-5si	HP LaserJet 5Si
pcl-6	HP LaserJet 6 series
lexmark-4076	Lexmark 4076 (PCL printer)
lexmark-z52	Lexmark Z52
070701000048f7000081a40000000000000002000000013d1fe2d20000495b000000200000000000000000000000000000001600000003reloc/lpadmin/drivers md2k		Alps MD-1000
md2k		Alps MD-1300
md1xMono	Alps MD-1300 (black and white)
md2k		Alps MD-1500
md1xMono	Alps MD-1500 (black and white)
md2k		Alps MD-2000
md2k		Alps MD-4000
md5k		Alps MD-5000
md50Eco		Alps MD-5000
md50Mono	Alps MD-5000 (black and white)
epson	Anitech M24
pxlmono		Any PCL6 black and white printer
pxlcolor	Any PCL6 color printer
AP21xx	Apollo 2100
AP21xx	Apollo 2150
AP2560	Apollo 2500
AP2560	Apollo 2600
AP2xxx	Apollo 656
AP21xx	Apollo P-2000U
cdj550	Apollo P-2200
cdj550	Apollo P-2250
AP2xxx	Apollo P2200
AP2xxx	Apollo P2250
appledmp  Apple Dot Matrix Printer
appledmp  Apple Imagewriter
iwlq    Apple Imagewriter LQ in 320 x 216 dpi mode
iwhi    Apple Imagewriter in high-resolution mode
iwlo    Apple Imagewriter in low-resolution mode
bjc600   Apple StyleWriter 2x00
hl1250	Brother DCP-1200
lq850	Brother HJ-400
hl7x0  Brother HL-1020
hl1250	Brother HL-1030
hl7x0  Brother HL-1040
ljet4   Brother HL-1050
hl1250	Brother HL-1050
ljet4   Brother HL-1060
hl1250	Brother HL-1060
hl1250	Brother HL-1070
ljet4   Brother HL-1070
ljet3	Brother HL-10V
ljet4	Brother HL-10h
hl1250	Brother HL-1240
laserjet  Brother HL-1240
ljet4   Brother HL-1250
hl1250	Brother HL-1250
ljet4   Brother HL-1260
hl1250	Brother HL-1270N
ljet4   Brother HL-1270N
hl1250	Brother HL-1440
hl1250	Brother HL-1450
hl1250	Brother HL-1470N
hl1250	Brother HL-1650
ljet4   Brother HL-1660e
hl1250	Brother HL-1660e
hl1250	Brother HL-1670N
ljet4   Brother HL-2060
hl1250	Brother HL-2060
hl1250	Brother HL-2400CeN
hl1250	Brother HL-2460
hl1250	Brother HL-2460N
hl1250	Brother HL-3400CN
laserjet  Brother HL-4Ve
ljet4   Brother HL-660
ljet4   Brother HL-670
hl7x0  Brother HL-720
hl7x0  Brother HL-730
ljet4   Brother HL-760
ljetplus  Brother HL-8
hl7x0  Brother HL-820
ljet4   Brother HL-960
epson	Brother MC-3000
epsonc	Brother MFC 7150C
epsonc	Brother MFC 9100C
hl7x0  Brother MFC-8300
ljet3	Brother MFC-8300
laserjet  Brother MFC-8300
m8510   C.Itoh M8510
bj200	Canon BubbleJet BJ100
bj10e   Canon BubbleJet BJ10e
bj10v	Canon BubbleJet BJ10v
bj10v	Canon BubbleJet BJ15v
bj10e   Canon BubbleJet BJ20
bj200   Canon BubbleJet BJ200
bj200	Canon BubbleJet BJ30
bj200	Canon BubbleJet BJ330
bj10v	Canon BubbleJet BJ35v
bj10e   Canon BubbleJet BJ5
bj200   Canon BubbleJet BJC-1000 (black and white)
bj200   Canon BubbleJet BJC-210 (black and white)
bj200   Canon BubbleJet BJC-210SP (black and white)
bj200   Canon BubbleJet BJC-240 (black and white)
bj200   Canon BubbleJet BJC-250 (black and white)
bj200   Canon BubbleJet BJC-4550 (black and white)
bj200   Canon BubbleJet BJC-70 (black and white)
bjc600	Canon Color BubbleJet BJC-1000
bjc600	Canon Color BubbleJet BJC-2000
bjc600	Canon Color BubbleJet BJC-2010
bjc600   Canon Color BubbleJet BJC-210
bjc600	Canon Color BubbleJet BJC-2100
bjc600	Canon Color BubbleJet BJC-2110
bjc600   Canon Color BubbleJet BJC-240
bjc600	Canon Color BubbleJet BJC-250
bjc600	Canon Color BubbleJet BJC-3000
bjc600   Canon Color BubbleJet BJC-4000
bjc600   Canon Color BubbleJet BJC-4100
bjc600   Canon Color BubbleJet BJC-4200
bjc600   Canon Color BubbleJet BJC-4300
bjc600	Canon Color BubbleJet BJC-4310SP
bjc600	Canon Color BubbleJet BJC-4400
bjc600   Canon Color BubbleJet BJC-4550
bjc800	Canon Color BubbleJet BJC-4550
bjc600	Canon Color BubbleJet BJC-50
bjc600	Canon Color BubbleJet BJC-55
bjc600   Canon Color BubbleJet BJC-600
bjc600   Canon Color BubbleJet BJC-610
bjc600	Canon Color BubbleJet BJC-620
bjc600   Canon Color BubbleJet BJC-70
bjc800   Canon Color BubbleJet BJC-7000
bjc800	Canon Color BubbleJet BJC-7004
bjc800	Canon Color BubbleJet BJC-7100
bjc600	Canon Color BubbleJet BJC-80
bjc800   Canon Color BubbleJet BJC-800
bjc600	Canon Color BubbleJet BJC-85
bjc880j	Canon Color BubbleJet BJC-880J
ljet4	Canon ImageRunner 330s
ljet4	Canon LBP-1000
lbp310	Canon LBP-310
lbp320	Canon LBP-320 Pro
lbp8	Canon LBP-4+
ljet3	Canon LBP-430
bjc600	Canon MultiPASS C2500
bjc600	Canon MultiPASS C3000
bjc600	Canon MultiPASS C3500
bjc600	Canon MultiPASS C5000
bjc600	Canon MultiPASS C5500
bjc600 Canon S100
bjc600 Canon S400
lxm3200	Compaq IJ750
lex5700	Compaq IJ900
stp	Configurable Canon/Epson/HP/Lexmark Driver
la50    DEC LA50
ln03    DEC LN03
alc2000	Epson ALC2000
ap3250  Epson AP3250 printer
alc8500	Epson AcuLaser C8500
lp2000	Epson LP-7000
lp8000  Epson LP-8000
mj700v2c	Epson MachJet
stcolor	Epson SQ 1170
stcolor	Epson Stylus 800
stcolor Epson Stylus Color
mj6000c	Epson Stylus Color 1520
mj500c	Epson Stylus Color 200
mj6000c	Epson Stylus Color 800
fmpr	Fujitsu	FMPR
DJ9xxVIP	HP Business Inkjet 2000
DJ9xxVIP	HP Business Inkjet 2230
DJ9xxVIP	HP Business Inkjet 2250
DJ9xxVIP	HP Business Inkjet 2280
ljet4	HP Color 3P w/PCL5
cdj850  HP DeskJet 1100C
cdj850  HP DeskJet 1120
DJ8xx	HP DeskJet 1120
DJ8xx	HP DeskJet 1125
DJ9xx	HP DeskJet 1220
cdj850  HP DeskJet 1220
cdj1600	HP DeskJet 1600
cdj1600	HP DeskJet 1600CM
cdj550	HP DeskJet 310
cdj550	HP DeskJet 320
cdeskjet  HP DeskJet 400 with 3 bit/pixel color
cdeskjet  HP DeskJet 500C with 3 bit/pixel color
cdeskjet  HP DeskJet 540C with 3 bit/pixel color
cdj550  HP DeskJet 550C
cdj550  HP DeskJet 560C
cdeskjet  HP DeskJet 590C with 3 bit/pixel color
DJ6xx	HP DeskJet 600
cdj670	HP DeskJet 610
DJ6xxP	HP DeskJet 610 Photo
cdj550	HP DeskJet 610CL
cdj550	HP DeskJet 612
DJ6xxP	HP DeskJet 612 Photo
DJ630	HP DeskJet 630
DJ630	HP DeskJet 632
DJ6xxP	HP DeskJet 640 Photo
cdj550	HP DeskJet 648
DJ6xxP	HP DeskJet 648 Photo
DJ6xx	HP DeskJet 660
cdj550  HP DeskJet 660C
cdj550  HP DeskJet 660Cse
DJ6xx	HP DeskJet 670
cdj670	HP DeskJet 670
DJ6xx	HP DeskJet 670TV
cdj670	HP DeskJet 672
DJ6xx	HP DeskJet 672
DJ6xx	HP DeskJet 680
cdj670	HP DeskJet 680
cdj550  HP DeskJet 682
DJ6xx	HP DeskJet 682
cdj670	HP DeskJet 682
cdj550  HP DeskJet 683
cdj670	HP DeskJet 690
DJ6xxP	HP DeskJet 690 Photo
cdeskjet  HP DeskJet 690C with 3 bit/pixel color
cdj550	HP DeskJet 692
cdj670	HP DeskJet 692
DJ6xxP	HP DeskJet 692 Photo
DJ6xxP	HP DeskJet 693 Photo
cdeskjet  HP DeskJet 693C with 3 bit/pixel color
cdj550  HP DeskJet 694
cdj670	HP DeskJet 694
DJ6xxP	HP DeskJet 694 Photo
cdj550  HP DeskJet 695
DJ6xxP	HP DeskJet 695 Photo
cdj670	HP DeskJet 697
DJ6xxP	HP DeskJet 697 Photo
DJ8xx	HP DeskJet 810
cdj880	HP DeskJet 810
cdj670	HP DeskJet 810
DJ8xx	HP DeskJet 812
cdj550	HP DeskJet 812
cdj880	HP DeskJet 812
cdj880	HP DeskJet 815
DJ8xx	HP DeskJet 815
DJ8xx	HP DeskJet 816
DJ8x5	HP DeskJet 825
DJ8xx	HP DeskJet 830
DJ8xx	HP DeskJet 832
DJ8xx	HP DeskJet 840
cdj550	HP DeskJet 840
cdj670	HP DeskJet 840
cdj670	HP DeskJet 842
cdj550	HP DeskJet 842
DJ8xx	HP DeskJet 842
DJ8xx	HP DeskJet 843
DJ8x5	HP DeskJet 845
cdj670	HP DeskJet 845
cdj550  HP DeskJet 850
cdj850  HP DeskJet 850
cdj550  HP DeskJet 870Cse
DJ8xx	HP DeskJet 880
DJ8xx	HP DeskJet 882
DJ8xx	HP DeskJet 895
DJ9xx	HP DeskJet 916
DJ9xx	HP DeskJet 920
DJ9xx	HP DeskJet 930
cdj670	HP DeskJet 930
cdj550	HP DeskJet 930
cdj550	HP DeskJet 932
DJ9xx	HP DeskJet 932
DJ9xx	HP DeskJet 940
DJ9xx	HP DeskJet 948
cdj550	HP DeskJet 950
DJ9xx	HP DeskJet 950
DJ9xx	HP DeskJet 952
DJ9xx	HP DeskJet 955
DJ9xxVIP	HP DeskJet 960
cdj550	HP DeskJet 970
DJ9xx	HP DeskJet 970
DJ9xxVIP	HP DeskJet 980
cdj550	HP DeskJet 990
DJ9xxVIP	HP DeskJet 990
DJ9xxVIP	HP DeskJet 995
DJ9xxVIP	HP DeskJet cp 1160
DJ9xxVIP	HP DeskJet cp 1700
ljet4	HP LaserJet 1100
lj4dithp	HP LaserJet 4LJ Pro
lj5mono  HP LaserJet 5 (black and white)
ljet3   HP LaserJet III* with Delta Row compression
ljet3d  HP LaserJet IIID with duplex capability
ljetplus  HP LaserJet Plus
cdj550	HP OfficeJet 500
cdj550	HP OfficeJet 600
DJ9xx	HP OfficeJet G
cdj550	HP OfficeJet G55
cdj550	HP OfficeJet G85
cdj550	HP OfficeJet G95
DJ9xx	HP OfficeJet K
DJ6xx	HP OfficeJet PSC300
DJ6xx	HP OfficeJet PSC500
DJ8xx	HP OfficeJet PSC500
DJ6xx	HP OfficeJet PSC600
DJ9xx	HP OfficeJet PSC700
DJ6xx	HP OfficeJet PSC700
DJ9xx	HP OfficeJet PSC900
cdj550	HP OfficeJet Pro 1150
cdj550	HP OfficeJet Pro 1170
DJ8xx	HP OfficeJet Pro 1170
DJ8xx	HP OfficeJet Pro 1175
DJ8xx	HP OfficeJet R
cdj1600	HP OfficeJet R45
cdj550	HP OfficeJet R45
cdj1600	HP OfficeJet R60
cdj1600	HP OfficeJet R65
cdj1600	HP OfficeJet R80
DJ8xx	HP OfficeJet T
cdj550	HP OfficeJet T45
cdj550	HP OfficeJet T65
DJ9xx	HP OfficeJet V
cdj1600	HP PSC 500
paintjet	HP PaintJet
pj      HP PaintJet
pjxl300  HP PaintJet 1200C color
PS100	HP PhotoSmart 100
DJ9xx	HP PhotoSmart 1000
DJ9xx	HP PhotoSmart 1100
DJ9xxVIP	HP PhotoSmart 1115
DJ9xxVIP	HP PhotoSmart 1215
DJ9xxVIP	HP PhotoSmart 1218
DJ9xxVIP	HP PhotoSmart 1315
cdj1600	HP PhotoSmart P100
cdj1600	HP PhotoSmart P1000
cdj550	HP PhotoSmart P1000
cdj550	HP PhotoSmart P1100
DJ6xx	HP e-printer e-20
bj200	IBM Execjet 4072
imagen  Imagen ImPress
ljetplus  Kyocera F-3300
ljet4	Kyocera FS-1000
cdj550	Lexmark 3000
lxm5700m	Lexmark 5700
lex7000	Lexmark 7000
lxm3200	Lexmark Z22
ljet4	Minolta PagePro 1100
necp6	NEC P20
necp6   NEC P6
npdl	NEC PC-PR2000
ljet4	NEC SuperScript 1800
oce9050  OCE 9050
ml600	Okidata MicroLine 600CL
okiibm  Okidata MicroLine IBM-compatible printers
oki4w	Okidata OkiPage 4w
cdj550	Okidata Okijet 2500
ljet4	Okidata Okipage 10e
atx23	Practical Automation ATX-23
atx24	Practical Automation ATX-24
atx38	Practical Automation ATX-38
sparc   SPARCprinter
cdj550	Xerox DocuPrint C6
cdj550	Xerox DocuPrint C8
ljet4	Xerox DocuPrint P1202
cdj550  Xerox DocuPrint XJ6C
cdj550	Xerox Document Homecentre
cdj550  HP DeskJet 693
cdj550	Xerox WorkCentre 450cp
cdj670	HP PSC 500
cdj850  HP DeskJet 672C
cdj850  HP DeskJet 680
cdj850  HP DeskJet 870
cdj850  HP DeskJet 855
cdj880	HP DeskJet 832
ljet4	Samsung ML-4600
ljet4	Epson EPL-5800
hl1250	Brother MFC-9000
hl7x0  Brother MFC-9050
hl1250	Brother MFC-P2500
lq850   Canon BJ300
ljet4	Canon GP 335
ljet4	Canon LBP-1260
ljet4	Canon LBP-1760
lbp320	Canon LBP-350
ljet4	Canon LBP-430
lbp8	Canon LBP-4U
ljet3	Canon LBP-4sx
lbp8	Canon LBP-8A1
lbp8    Canon LBP-8II
lips2p	Canon LIPS II+
lips3   Canon LIPS III in English (CaPSL) mode
lips4	Canon LIPS IV
lips4v	Canon LIPS IVv
laserjet  Citizen ProJet II
cdjcolor  Citizen Projet IIc 
lxm5700m	Compaq IJ900
ljet3	DEC 1800
djet500	DEC DECWriter 110i
djet500	DEC DECWriter 500i
dl2100	DEC DEClaser 2100
la70    DEC LA70
la70t   DEC LA70 with low-resolution text enhancement
la75    DEC LA75
la75plus DEC LA75plus
declj250  DEC LJ250
lj250   DEC LJ250 Companion
ljet4	DEC LN17
ljet3	Epson ActionLaser 1100
ljet4	Epson ActionLaser C2000
ljet4	Epson ActionLaser C2000PS
ljet4	Epson ActionLaser C8500
ljet4	Epson ActionLaser C8500PS
laserjet  Epson ActionLaser II
ljet3	Epson EPL-5200
ljet3	Epson EPL-5200+
ljet4	Epson EPL-5700
epl5800	Epson EPL-5800
ljet4	Epson EPL-5900
laserjet  Epson EPL-7100
epl2050	Epson EPL-N2050
epl2050p	Epson EPL-N2050+
epl2050	Epson EPL-N2050PS
epl2050p	Epson EPL-N2050PS+
epson	Epson L-1000
lp2000	Epson LP-2000
lp2000	Epson LP-3000
lp2000	Epson LP-7000G
epsonc	Epson LQ-24
epsonc  Epson LQ-2550
epsonc	Epson LQ-2550
epson	Epson LQ-500
epson	Epson LQ-570+
lq850   Epson LQ850
epson	Epson LX-1050
mj700v2c	Epson Stylus
st800   Epson Stylus 800
st800   Epson Stylus Color
mj500c	Epson Stylus Color 1500
stcolor	Epson Stylus Color 1520
stcolor	Epson Stylus Color 300
mj8000c	Epson Stylus Color 3000
stcolor	Epson Stylus Color 3000
mj6000c	Epson Stylus Color 400
stcolor Epson Stylus Color 400
stcolor	Epson Stylus Color 440
stcolor Epson Stylus Color 500
stcolor Epson Stylus Color 600
stcolor	Epson Stylus Color 640
stcolor	Epson Stylus Color 670
stcolor	Epson Stylus Color 740
stcolor Epson Stylus Color 800
stcolor	Epson Stylus Color I
stcolor Epson Stylus Color II
stcolor	Epson Stylus Color IIs
mj500c	Epson Stylus Color IIs
stcolor	Epson Stylus Color PRO
stcolor	Epson Stylus Photo 750
photoex	Epson Stylus PhotoEX
stcolor	Epson Stylus Pro XL
stcolor	Epson Stylus Scan 2500
eps9mid  Epson-compatible 9-pin (intermediate resolution)
eps9high  Epson-compatible 9-pin (triple resolution)
epson   Epson-compatible dot matrix printers (9- or 24-pin)
dl2100	Fujitsu	DL2100
epsonc  Fujitsu 1200
epsonc  Fujitsu 2400
epsonc  Fujitsu 3400
fmlbp	Fujitsu FMLBP2xx Page Printer
laserjet  Fujitsu PrintPartner 10V
ljet4	Fujitsu PrintPartner 10V
ljet4	Fujitsu PrintPartner 16DV
ljet4	Fujitsu PrintPartner 20W
ljet3	Fujitsu PrintPartner 8000
lp2563  HP 2563B
chp2200		HP Business Inkjet 2200
ljet4	HP Color LaserJet 4550
cljet5	HP Color LaserJet 5
ljet4	HP Color LaserJet 5000
cljet5	HP Color LaserJet 5000
cljet5	HP Color LaserJet 5M
dnj650c  HP DesignJet 230
dnj650c  HP DesignJet 350C
dnj650c  HP DesignJet 650C
dnj650c  HP DesignJet 750C Plus
deskjet  HP DeskJet
deskjet  HP DeskJet 200
djet500	HP DeskJet 320
deskjet  HP DeskJet 340C
cdjmono  HP DeskJet 400 (black and white)
cdjcolor  HP DeskJet 400 with 24 bit/pixel color
djet500  HP DeskJet 500
djet500  HP DeskJet 500 Portable
cdjmono  HP DeskJet 500C (black and white)
cdjcolor  HP DeskJet 500C with 24 bit/pixel color
dj505j	HP DeskJet 505J Plus
djet500	HP DeskJet 510
cdjmono  HP DeskJet 510 (black and white)
djet500	HP DeskJet 520
cdjmono  HP DeskJet 520 (black and white)
djet500	HP DeskJet 540C
cdjmono  HP DeskJet 540C (black and white)
cdjcolor  HP DeskJet 540C with 24 bit/pixel color
djet500	HP DeskJet 550C
djet500	HP DeskJet 600
cdjmono  HP DeskJet 690C (black and white)
cdjcolor  HP DeskJet 690C with 24 bit/pixel color
cdjmono  HP DeskJet 693C (black and white)
cdjcolor  HP DeskJet 693C with 24 bit/pixel color
djet820c	HP DeskJet 820C
cdj880	HP DeskJet 840
cdj970	HP DeskJet 840
cdj970	HP DeskJet 841
cdj880	HP DeskJet 841
cdj880	HP DeskJet 842
cdj970	HP DeskJet 842
cdj970	HP DeskJet 845
cdj880	HP DeskJet 845
cdj850  HP DeskJet 870Cxi
cdj880	HP DeskJet 880
cdj850  HP DeskJet 880
cdj850  HP DeskJet 882
cdj880	HP DeskJet 882
cdj890	HP DeskJet 890
cdj850  HP DeskJet 890C
cdj890	HP DeskJet 895
cdj880	HP DeskJet 895
cdj880	HP DeskJet 932
cdj970	HP DeskJet 940
cdj970	HP DeskJet 950
cdj970	HP DeskJet 952
cdj880	HP DeskJet 955
chp2200	HP DeskJet 960
cdj970	HP DeskJet 960
cdj970	HP DeskJet 970Cxi
cdj970	HP DeskJet 980
chp2200	HP DeskJet 990
cdj970	HP DeskJet 990
deskjet  HP DeskJet Plus
laserjet  HP LaserJet
ljet4	HP LaserJet 1100A
ljet4	HP LaserJet 1200
ljet4	HP LaserJet 1220
laserjet  HP LaserJet 2
ljet4	HP LaserJet 2100
ljet4	HP LaserJet 2200
lj3100sw	HP LaserJet 3100
ljet4	HP LaserJet 3200
ljet4	HP LaserJet 3200m
ljet4	HP LaserJet 3200se
ljet4	HP LaserJet 4
ljet4	HP LaserJet 4 Plus
lj4dith  HP LaserJet 4 with Floyd-Steinberg dithering
ljet4	HP LaserJet 4050
ljet4	HP LaserJet 4100
ljet4	HP LaserJet 4L
ljet4	HP LaserJet 4M
ljet4	HP LaserJet 4ML
ljet4	HP LaserJet 4P
ljet4	HP LaserJet 4Si
lj4dithp	HP LaserJet 4V
ljet4	HP LaserJet 4V
ljet4	HP LaserJet 5
lj5gray  HP LaserJet 5 (gray-scale)
ljet4	HP LaserJet 5L
ljet4	HP LaserJet 5P
ljet4	HP LaserJet 5Si
ljet4	HP LaserJet 6
lj5mono  HP LaserJet 6 (black and white)
lj5gray  HP LaserJet 6 (gray-scale)
ljet4	HP LaserJet 6L
ljet4	HP LaserJet 6P
ljet4	HP LaserJet 8150
ljet4	HP LaserJet 9000
ljet3d	HP LaserJet IIIP w/PS
ljet2p  HP LaserJet IId/IIp/III* with TIFF compression
djet500	HP OfficeJet
djet500	HP OfficeJet 300
djet500	HP OfficeJet 330
djet500	HP OfficeJet 350
djet500  HP OfficeJet 590
cdj970	HP OfficeJet G95
djet500	HP OfficeJet LX
cdj850	HP OfficeJet Pro 1150
deskjet  HP OfficeJet R45
pjxl300  HP PaintJet 1600C color
pjetxl	HP PaintJet XL
pjxl    HP PaintJet XL color
pjxl300  HP PaintJet XL300 color
pjxl300	 HP PhotoSmart P100
cdj970	HP PhtoSmart P1000
cdj970	HP PhtoSmart P1100
cdj970	HP PhtoSmart P1115
cdj970	HP PhtoSmart P1215
cdj970	HP PhtoSmart P1218
cdj970	HP PhtoSmart P1315
laserjet  IBM 4019
ljet3	IBM 4029
laserjet  IBM 4029
ibmpro  IBM 9-pin Proprinter
ljet4	IBM Infoprint 12
jetp3852  IBM Jetprinter ink-jet (Model #3852)
ljet4	IBM Page Printer 3112
ibmpro	IBM Proprinter II
ljet4	Infotec 4651 MF
laserjet  Kyocera F-1010
ljetplus  Kyocera F-800T
fs600	Kyocera FS 600
ljet4	Kyocera FS-1000+
ljet4	Kyocera FS-1010
ljet4	Kyocera FS-1800
ljet4	Kyocera FS-1900
ljet3	Kyocera FS-3500
laserjet  Kyocera FS-3500
ljet4	Kyocera FS-3750
ljet4	Kyocera FS-3800
ljet4	Kyocera FS-600
ljet4	Kyocera FS-680
ljet4	Kyocera FS-9100DN
ljet4	Kyocera FS-9500DN
ljetplus  Kyocera P-2000
lex2050	Lexmark 2050
lxm3200	Lexmark 3200
lex3200	Lexmark 3200
lx5000	Lexmark 5000
lex5700	Lexmark 5700
ljet4	Lexmark Optra E
ljet4	Lexmark Optra E+
ljetplus  Lexmark Winwriter 400
lxm3200	Lexmark Z31
lxm3200	Lexmark Z32
lx5000	Lexmark Z51
lx5000	Lexmark Z82
ljet4	Minolta PagePro 6
ljet4	Minolta PagePro 6e
ljet4	Minolta PagePro 6ex
ljet4	Minolta PagePro 8
cp50    Mitsubishi CP50 color printer
npdl	NEC MultiWriter
necp6   NEC P6+
necp6   NEC P60
necp6	NEC P7
necp6	NEC P7+
necp6	NEC P70
npdl	NEC PC-PR1000
pr150	NEC PC-PR150
pr201	NEC PC-PR201
picty180	NEC PICTY180
epsonc	NEC PinWriter P6
epsonc	NEC PinWriter P6 plus
ljet4	NEC SuperScript 660i
ljetplus  NEC SuperScript 860
md5k		Okidata DP 5000
md50Eco		Okidata DP 5000
md50Mono	Okidata DP 5000 (black and white)
okiibm	Okidata ML 320
okiibm	Okidata ML 321
epson	Okidata ML 380
oki182  Okidata MicroLine 182
oki182  Okidata MicroLine 192+
ml600	Okidata MicroLine 620CL
ibmpro	Okidata Microline 192+
laserjet  Okidata OL400
ljet4	Okidata OL410e
laserjet  Okidata OL610e/S
laserjet  Okidata OL800
ljet4	Okidata OL810ex
oki4w	Okidata OkiPage 4w+ LED
oki4w	Okidata OkiPage 6w
oki4w	Okidata OkiPage 8w
oki4w	Okidata OkiPage 8w Lite
oki4w	Okidata OkiPage 8z
oki4w	Okidata OkiPage OL400w
ljet4	Okidata Okipage 10ex
ljet4	Okidata Okipage 14ex
ljet4	Okidata Okipage 6e
ljet4	Okidata Okipage 6ex
ljet4	Okidata Okipage 8p
ljet4	Okidata Super 6e
laserjet  Olivetti JP350S
djet500	Olivetti JP450
laserjet  Olivetti PG306
laserjet  PCPI 1030
epson	Panasonic KX-P1123
epson	Panasonic KX-P1124
epson	Panasonic KX-P1624
epson	Panasonic KX-P2023
epson	Panasonic KX-P2123
epsonc	Panasonic KX-P2135
ibmpro	Panasonic KX-P2150
ljet3	Panasonic KX-P4450
laserjet  Panasonic KX-P6150
r4081   Ricoh 4081
r4081   Ricoh 4801
r4081   Ricoh 6000
ljet4	Ricoh Aficio 220
ljet4	Ricoh Aficio 401
ljet4	Ricoh Aficio 700
ljet4	Samsung ML-5000a
ljet4	Samsung ML-6000/6100
ljet4	Samsung ML-7000/7000P/7000N
ljet4	Samsung ML-7050
ljet4	Samsung ML-85
ljet4	Samsung QL-5100A
ljet4	Samsung QL-6050
laserjet  Seiko SpeedJET 200
ljet4	Sharp AR-161
nwp533  Sony Microsystems NWP533
jj100	Star JJ-100
necp6	Star LC24-100
epsonc	Star LC24-200
epson	Star LC24-200
epson	Star LC90
laserjet  Star LaserPrinter 8
epson	Star NL10
sj48    StarJet 48
ljet3	Tally MT908
t4693d2  Tektronix 4693d (2 bits per color)
t4693d4  Tektronix 4693d (4 bits per color)
t4693d8  Tektronix 4693d (8 bits per color)
tek4696  Tektronix 4695/4696 plotter
ljet4	Xerox Able 1406
ljet4	Xerox DocuPrint 4508
cljet5	Xerox DocuPrint C20
ljet4	Xerox DocuPrint N4512
ljet4	Xerox DocuPrint N4512 PS
ljet4	Xerox DocuPrint P8e
lxm5700m	Xerox DocuPrint XJ8C
ljet4	Xerox Document Centre 400
lex5700	Xerox WorkCenter XK35c
lxm5700m	Xerox WorkCentre 470cx
xes     Xerox XES 2700
xes     Xerox XES 3700
xes     Xerox XES 4505
 070701000048f8000081e40000000000000002000000013d1fe2d200002884000000200000000000000000000000000000001f00000003reloc/lpadmin/edit_printer.cgi    #!/usr/local/bin/perl
# edit_printer.cgi
# Edit or create a printer

require './lpadmin-lib.pl';
&ReadParse();

if ($in{'new'}) {
	$access{'add'} || &error($text{'edit_eadd'});
	&header($text{'edit_add'}, "");
	$prn{'accepting'}++;
	$prn{'enabled'}++;
	$prn{'allow_all'}++;
	$prn{'dev'} = $device_files[0];
	$prn{'ctype'} = [ "postscript" ];
	}
else {
	&can_edit_printer($in{'name'}) || &error($text{'edit_eedit'});
	&header($text{'edit_edit'}, "");
	%prn = %{&get_printer($in{'name'})};
	}
print "<hr>\n";

print "<form action=save_printer.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_conf'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_name'}</b></td>\n";
if ($in{'new'}) {
	print "<td><input name=name size=15></td>\n";
	print "<input type=hidden name=new value=1>\n";
	}
else {
	print "<td>$prn{'name'}</td>\n";
	print "<input type=hidden name=name value=\"$prn{'name'}\">\n";
	}

print "<td align=right><b>$text{'edit_acc'}</b></td>\n";
printf "<td><input type=radio name=accepting value=1 %s> $text{'yes'}\n",
	$prn{'accepting'} ? "checked" : "";
if (&printer_support('why')) {
	printf "<input type=radio name=accepting value=0 %s> %s\n",
		$prn{'accepting'} ? "" : "checked", $text{'edit_why'};
	printf "<input name=accepting_why size=15 value=\"%s\"></td> </tr>\n",
		$prn{'accepting_why'};
	}
else {
	printf "<input type=radio name=accepting value=0 %s> $text{'no'}\n",
		$prn{'accepting'} ? "" : "checked";
	}

if (&printer_support('desc')) {
	print "<tr> <td><b>$text{'edit_desc'}</b></td>\n";
	print "<td><input name=desc size=20 value=\"$prn{'desc'}\"></td>\n";
	}
else { print "<tr> <td colspan=2></td>\n"; }

print "<td align=right><b>$text{'edit_ena'}</b></td>\n";
printf "<td><input type=radio name=enabled value=1 %s> $text{'yes'}\n",
	$prn{'enabled'} ? "checked" : "";
if (&printer_support('why')) {
	printf "<input type=radio name=enabled value=0 %s> %s\n",
		$prn{'enabled'} ? "" : "checked", $text{'edit_why'};
	printf "<input name=enabled_why size=15 value=\"%s\"></td> </tr>\n",
		$prn{'enabled_why'};
	}
else {
	printf "<input type=radio name=enabled value=0 %s> $text{'no'}\n",
		$prn{'enabled'} ? "" : "checked";
	}

if (&printer_support('allow')) {
	print "<tr> <td valign=top><b>$text{'edit_acl'}</b></td>\n";
	print "<td colspan=3><table><tr><td valign=top>\n";
	printf "<input type=radio name=access value=0 %s> %s<br>\n",
		$prn{'allow_all'} ? "checked" : "", $text{'edit_allow'};
	printf "<input type=radio name=access value=1 %s> %s<br>\n",
		$prn{'deny_all'} ? "checked" : "", $text{'edit_deny'};
	printf "<input type=radio name=access value=2 %s> %s<br>\n",
		$prn{'allow'} ? "checked" : "", $text{'edit_allowu'};
	printf "<input type=radio name=access value=3 %s> %s\n",
		$prn{'deny'} ? "checked" : "", $text{'edit_denyu'};
	print "</td> <td valign=top>\n";
	print "<textarea wrap=auto name=users rows=5 cols=30>",
	      join(" ", (@{$prn{'allow'}}, @{$prn{'deny'}})),
	      "</textarea></td>\n";
	print "<td valign=top>",&user_chooser_button("users",1),"</td>\n";
	print "</tr></table></td> </tr>\n";
	}

if (&printer_support('banner')) {
	print "<tr> <td valign=top><b>$text{'edit_banner'}</b></td> ",
	      "<td valign=top>\n";
	printf "<input type=radio name=prbanner value=1 %s> $text{'yes'}\n",
		$prn{'banner'} ? "checked" : "";
	printf "<input type=radio name=prbanner value=0 %s> %s</td>\n",
		$prn{'banner'} ? "" : "checked", $text{'edit_opt'};
	}
else { print "<tr>\n"; }

if (&printer_support('default')) {
	print "<td align=right><b>$text{'edit_default'}</b></td> <td>\n";
	if (!$prn{'default'}) {
		printf "<input type=radio name=default value=1 %s> $text{'yes'}\n", $prn{'default'} ? "checked" : "";
		printf "<input type=radio name=default value=0 %s> $text{'no'}</td></tr>\n", $prn{'default'} ? "" : "checked";
		}
	else {
		print "<i>$text{'edit_already'}</i> </td> </tr>\n";
		}
	}
elsif (&printer_support('msize')) {
	print "<td align=right><b>$text{'edit_max'}</b></td> <td>\n";
	printf "<input type=radio name=msize_def value=1 %s> %s\n",
		defined($prn{'msize'}) ? "" : "checked", $text{'default'};
	printf "<input type=radio name=msize_def value=2 %s> %s\n",
		$prn{'msize'} eq '0' ? "checked" : "", $text{'edit_unlimited'};
	printf "<input type=radio name=msize_def value=0 %s>\n",
		$prn{'msize'} ? "checked" : "";
	printf "<input name=msize size=6 value=\"%s\"> %s</td> </tr>\n",
		$prn{'msize'} ? $prn{'msize'} : "", $text{'blocks'};
	}
else { print "<td colspan=2></tr>\n"; }

if (&printer_support('ctype')) {
	@ctype = @{$prn{'ctype'}};
	print "<tr> <td><b>$text{'edit_dacc'}</b></td> <td colspan=3>\n";
	printf "<input type=checkbox name=ctype_simple %s> %s &nbsp;\n",
		&indexof("simple", @ctype) < 0 ? "" : "checked",
		$text{'edit_dtext'};
	printf "<input type=checkbox name=ctype_postscript %s> %s &nbsp;\n",
		&indexof("postscript", @ctype) < 0 ? "" : "checked",
		$text{'edit_dpost'};
	@ctypeo = grep { !/^(simple|postscript)$/ } @ctype;
	printf "<input type=checkbox name=ctype_other %s> %s\n",
		@ctypeo ? "checked" : "", $text{'edit_dother'};
	printf "<input name=ctype_olist size=20 value=\"%s\">\n",
		join(' ', @ctypeo);
	print "</td> </tr>\n";
	}

if (&printer_support('alias')) {
	@alias = @{$prn{'alias'}};
	print "<tr> <td><b>$text{'edit_alt'}</b></td> <td colspan=3>\n";
	printf "<input name=alias size=40 value=\"%s\"></td> </tr>\n",
		join(' ', @alias);
	}

print "</table></td></tr></table><p>\n";

if ($in{'new'} || &printer_support('editdest')) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_dest'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";

	$isdev = &indexof($prn{'dev'}, @device_files) >= 0;
	if (!$webmin_windows_driver) {
		$wdrv = &is_webmin_windows_driver($prn{'iface'}, \%prn);
		$webmin++ if ($wdrv);
		}
	$wdrv = &is_windows_driver($prn{'iface'}, \%prn) if (!$wdrv);
	$hdrv = &is_hpnp_driver($prn{'iface'}, \%prn);
	if ($wdrv) { $prn{'iface'} = $wdrv->{'program'}; }
	elsif ($hdrv) { $prn{'iface'} = $hdrv->{'program'}; }

	printf "<tr> <td><input type=radio name=dest value=0 %s> %s</td>\n",
		$prn{'dev'} && $isdev && !$wdrv && !$hdrv ? "checked" : "",
		$text{'edit_dev'};
	print "<td><select name=dev>\n";
	for($i=0; $i<@device_files; $i++) {
		$d = $device_files[$i];
		printf "<option value=\"$d\" %s>$device_names[$i]\n",
			$d eq $prn{'dev'} ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	printf "<tr> <td><input type=radio name=dest value=1 %s> %s</td>\n",
		$prn{'dev'} && !$isdev && !$wdrv && !$hdrv ? "checked" : "",
		$text{'edit_file'};
	printf "<td><input name=file size=25 value=\"%s\"></td> </tr>\n",
		$isdev || $wdrv || $hdrv ? "" : $prn{'dev'};

	printf "<tr> <td><input type=radio name=dest value=2 %s>\n",
		$prn{'rhost'} ? "checked" : "";
	print "$text{'edit_remote'}</td>\n";
	print "<td><input name=rhost size=25 value=\"$prn{'rhost'}\"></td>\n";
	print "<td>$text{'edit_rqueue'} ",
	      "<input name=rqueue size=15 value=\"$prn{'rqueue'}\">\n";
	if (&printer_support('sysv')) {
		print "$text{'edit_type'} <select name=rtype>\n";
		printf "<option value=bsd %s>BSD\n",
			$prn{'rtype'} eq "bsd" ? "selected" : "";
		printf "<option value=s5 %s>SysV\n",
			$prn{'rtype'} eq "s5" ? "selected" : "";
		print "</select>\n";
		}
	elsif (&printer_support('ipp')) {
		print "$text{'edit_type'} <select name=rtype>\n";
		printf "<option value=bsd %s>BSD\n",
			$prn{'rtype'} eq "bsd" ? "selected" : "";
		printf "<option value=ipp %s>IPP\n",
			$prn{'rtype'} eq "ipp" ? "selected" : "";
		print "</select>\n";
		}
	print "</td> </tr>\n";

	if (&printer_support("direct")) {
		printf "<tr> <td><input type=radio name=dest value=5 %s>\n",
			$prn{'dhost'} ? "checked" : "";
		print "$text{'edit_direct'}</td>\n";
		print "<td><input name=dhost size=25 ",
		      "value=\"$prn{'dhost'}\"></td>\n";
		print "<td>$text{'edit_dport'} ",
		      "<input name=dport size=5 value=\"$prn{'dport'}\">\n";
		print "</td> </tr>\n";
		}

	if (&has_smbclient()) {
		printf "<tr> <td><input type=radio name=dest value=3 %s>\n",
			$wdrv ? "checked" : "";
		printf "$text{'edit_smb'}</td> ".
		      "<td><input name=server size=25 value=\"%s\"></td>\n",
			$wdrv->{'server'};
		printf "<td>$text{'edit_share'} ".
		       "<input name=share size=15 value=\"%s\"></td>\n",
			$wdrv->{'share'};
		print "</tr><tr> <td align=right>$text{'edit_user'}</td>\n";
		printf "<td colspan=2><input name=user size=10 value=\"%s\">\n",
			$wdrv->{'user'};
		printf "$text{'edit_pass'} ".
		       "<input type=password name=pass size=10 value=\"%s\">\n",
			$wdrv->{'pass'};
		printf "$text{'edit_wgroup'} ".
		       "<input name=wgroup size=10 value=\"%s\">\n",
			$wdrv->{'workgroup'};
		print "</td> </tr>\n";
		}

	if (&has_hpnp()) {
		printf "<tr> <td><input type=radio name=dest value=4 %s>\n",
			$hdrv ? "checked" : "";
		print "$text{'edit_hpnp'}</td>\n";
		printf "<td><input name=hpnp size=25 value=\"%s\"></td>\n",
			$hdrv->{'server'};
		printf "<td>$text{'edit_port'} ".
		       "<input name=port size=15 value=\"%s\"></td> </tr>\n",
			$hdrv->{'port'};
		}

	print "<tr> <td>&nbsp;&nbsp;&nbsp;&nbsp;",
	      "<input type=checkbox name=check value=1> ",
	      "$text{'edit_check'}</td> </tr>\n";

	print "</table></td></tr></table><p>\n";

	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_driver'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	if (!$webmin_print_driver) {
		$drv = &is_webmin_driver($prn{'iface'}, \%prn);
		}
	if ($drv->{'mode'} != 0 && $drv->{'mode'} != 2 || $webmin) {
		$webmin++;
		$after = &webmin_driver_input(\%prn, $drv);
		}
	else {
		$drv = &is_driver($prn{'iface'}, \%prn);
		$after = &driver_input(\%prn, $drv);
		}
	print "</table></td></tr></table><p>\n";
	}
print "<input type=hidden name=webmin value=\"$webmin\">\n";

if ($in{'new'}) {
	print "<input type=submit value=\"$text{'create'}\"></form><p>\n";
	}
else {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";
	print "</form><form action=\"delete_printer.cgi\">\n";
	print "<input type=hidden name=name value=\"$in{'name'}\">\n";
	print "<td align=right><input type=submit ",
	      "value=\"$text{'delete'}\"></td> </tr>\n";
	print "</form></table><p>\n";
	}
print $after;

print "<hr>\n";
&footer("", $text{'index_return'});

070701000048f9000081a40000000000000002000000013d1fe2d200001a50000000200000000000000000000000000000001d00000003reloc/lpadmin/freebsd-lib.pl  # freebsd-lib.pl
# Functions for printcap-style printer management

# list_printers()
# Returns a list of known printer names
sub list_printers
{
local($l, @rv);
foreach $l (&list_printcap()) {
	$l->{'name'} =~ /^([^\|]+)/;
	push(@rv, $1);
	}
return @rv;
}

# get_printer(name, [nostatus])
sub get_printer
{
local($l, %prn, @w, @n, $w, %cap, @jobs);
foreach $l (&list_printcap()) {
	@n = split(/\|/, $l->{'name'});
	if ($n[0] eq $_[0]) {
		# found the printer.. get info from printcap
		$prn{'name'} = $n[0];
		if (@n > 2) { $prn{'alias'} = [ @n[1..$#n-1] ]; }
		if (@n > 1) { $prn{'desc'} = $n[$#n]; }
		$prn{'iface'} = $l->{'if'};
		$prn{'banner'} = !defined($l->{'sh'});
		$prn{'dev'} = $l->{'lp'};
		$prn{'rhost'} = $l->{'rm'};
		$prn{'rqueue'} = $l->{'rp'};
		$prn{'msize'} = $l->{'mx'};

		if (!$_[1]) {
			# call lpc to get status
			$out = `lpc status $prn{'name'} 2>&1`;
			$prn{'accepting'} = ($out =~ /queuing is enabled/);
			$prn{'enabled'} = ($out =~ /printing is enabled/);
			}

		return \%prn;
		}
	}
return undef;
}

sub get_jobs
{
local @jobs;
open(LPQ, "lpq -P$_[0] |");
while(<LPQ>) {
	chop;
	if (/^Rank\s+Owner\s+/) { $doneheader++; }
	elsif ($doneheader && /^(\S+)\s+(\S+)\s+(\d+)\s+(.*\S)\s+(\d+)\s+(\S+)$/) {
		local(%job);
		$job{'id'} = $3;
		$job{'user'} = $2;
		$job{'size'} = $5;
		$job{'file'} = $4;
		$job{'printing'} = ($1 eq "active");
		push(@jobs, \%job);
		}
	}
close(LPQ);
return @jobs;
}

sub printer_support
{
return $_[0] !~ /^(why|allow|default|ctype|riface|sysv|direct|rnoqueue|ipp)$/;
}


# create_printer(&details)
# Create a new printer in /etc/printcap
sub create_printer
{
local(%cap);
$cap{'sd'} = "$config{'spool_dir'}/$_[0]->{'name'}";
&lock_file($cap{'sd'});
mkdir($cap{'sd'}, 0755);
&unlock_file($cap{'sd'});
&lock_file($config{'printcap_file'});
open(CAP, ">> $config{'printcap_file'}");
print CAP &make_printcap($_[0], \%cap),"\n";
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# modify_printer(&details)
sub modify_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]->{'name'}) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]->{'name'}' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'},
       $old->{'eline'} - $old->{'line'} + 1, &make_printcap($_[0], $old)."\n");
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# delete_printer(name)
sub delete_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'}, $old->{'eline'} - $old->{'line'} + 1);
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
}

# cancel_job(printer, job)
# Calls lprm to remove some job
sub cancel_job
{
local($out);
$out = &backquote_logged("lprm -P$_[0] $_[1] 2>&1");
if ($?) { &error("lprm failed : $out"); }
}

# make_printcap(&details, &old)
# Updates or creates a printcap line
sub make_printcap
{
local(%prn, %cap, $a, $rv, $c);
%prn = %{$_[0]}; %cap = %{$_[1]};
$cap{'if'} = $prn{'iface'} ? $prn{'iface'} : undef;
$cap{'sh'} = $prn{'banner'} ? undef : "";
$cap{'lp'} = $prn{'dev'} ? $prn{'dev'} : undef;
$cap{'rm'} = $prn{'rhost'} ? $prn{'rhost'} : undef;
$cap{'rp'} = $prn{'rqueue'} ? $prn{'rqueue'} : undef;
$cap{'mx'} = defined($prn{'msize'}) ? $prn{'msize'} : undef;
$rv = $prn{'name'};
foreach $a (@{$prn{'alias'}}) { $rv .= "|$a"; }
$rv .= "|$prn{'desc'}";
foreach $c (keys %cap) {
	if (length($c) == 2 && defined($cap{$c})) {
		if ($cap{$c} eq "") { $rv .= ":$c"; }
		elsif ($cap{$c} =~ /^\d+$/) { $rv .= ":$c#$cap{$c}"; }
		else { $rv .= ":$c=$cap{$c}"; }
		}
	}
$rv .= ":";
return $rv;
}

# list_printcap()
# Returns an array of associative arrays containing printcap fields
sub list_printcap
{
return @list_printcap_cache if (defined(@list_printcap_cache));
local(@rv, @line, $line, $cont, $lnum, $i);
open(CAP, $config{'printcap_file'});
$lnum = 0;
while($line = <CAP>) {
	$line =~ s/^#.*$//g;	# remove comments
	$line =~ s/\s+$//g;	# remove trailing spaces
	$line =~ s/^\s+//g;	# remove leading spaces
	if ($line =~ /\S/) {
		$ncont = ($line =~ s/\\$//g);
		if ($cont) {
			$line[$#line] .= $line;
			$eline[@line - 1] = $lnum;
			}
		else {
			push(@line, $line);
			$eline[@line - 1] = $sline[@line - 1] = $lnum;
			}
		$cont = $ncont;
		}
	$lnum++;
	}
close(CAP);
for($i=0; $i<@line; $i++) {
	local(%cap);
	@w = split(/:+/, $line[$i]);
	$cap{'name'} = $w[0];
	$cap{'line'} = $sline[$i];
	$cap{'eline'} = $eline[$i];
	foreach $w (@w[1..$#w]) {
		if ($w =~ /^([A-z0-9]+)[=#](.*)$/) { $cap{$1} = $2; }
		elsif ($w =~ /^([A-z0-9]+)$/) { $cap{$w} = ""; }
		}
	push(@rv, \%cap);
	}
@list_printcap_cache = @rv;
return @rv;
}

# apply_status(&details)
# Calls lpc to enable or disable a printer.
# Restarting lpd doesn't seem to be necessary?
sub apply_status
{
local($out);
$out = `lpc status $prn{'name'} 2>&1`;
if ($prn{'enabled'} && $out !~ /printing is enabled/)
	{ &backquote_logged("lpc up $prn{'name'}"); }
elsif (!$prn{'enabled'} && $out =~ /printing is enabled/)
	{ &backquote_logged("lpc down $prn{'name'}"); }
if ($prn{'accepting'} && $out !~ /queuing is enabled/)
	{ &backquote_logged("lpc enable $prn{'name'}"); }
elsif (!$prn{'accepting'} && $out =~ /queuing is enabled/)
	{ &backquote_logged("lpc disable $prn{'name'}"); }
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
@pid = &find_byname("lpd");
if (@pid) { return $pid[0]; }
return 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("lpd 2>&1");
if ($?) { &error("failed to start lpd : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local @pid = &find_byname("lpd");
&kill_logged('TERM', @pid) || &error("Failed to stop lpd : $!");
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lpr -P$_[0] $_[1]";
}

if ($gconfig{'os_type'} eq 'openbsd') {
	@device_files = ("/dev/lpt0", "/dev/cua00", "/dev/cua01");
	}
else {
	@device_files = ("/dev/lpt0", "/dev/cuaa0", "/dev/cuaa1");
	}
@device_names = ($text{'freebsd_paralel'}, &text('freebsd_serial', "1"),
		 &text('freebsd_serial', "2"));

070701000048fa000081a40000000000000002000000013d1fe2d200000c4d000000200000000000000000000000000000001d00000003reloc/lpadmin/hpux-driver.pl  # hpux-driver.pl
# Functions for webmin print and smb drivers.
# Very similar to the webmin driver, but with a different interface
# program selector

$webmin_windows_driver = 1;
$webmin_print_driver = 1;

# is_windows_driver(path)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path)
# Returns a structure containing the details of a driver
sub is_driver
{
return &is_webmin_driver(@_);
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
return &create_webmin_driver(@_);
}

# delete_driver(name)
sub delete_driver
{
&delete_webmin_driver(@_);
}

# driver_input(&printer, &driver)
sub driver_input
{
local ($prn, $drv) = @_;

printf "<tr> <td><input type=radio name=drv value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'webmin_none'};
print "<td>($text{'webmin_remotemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=drv value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'webmin_model'};
print "<td><select name=iface>\n";
opendir(DIR, $config{'model_path'});
while($f = readdir(DIR)) {
	if ($f =~ /^\./) { next; }
	$path = "$config{'model_path'}/$f";
	printf "<option value=\"$path\" %s>$f\n",
		$path eq $prn{'iface'} ? "selected" : "";
	}
closedir(DIR);
print "</select></td> </tr>\n";

if (&has_ghostscript()) {
	local $out = `$config{'gs_path'} -help 2>&1`;
	if ($out =~ /Available devices:\n((\s+.*\n)+)/) {
		print "<tr> <td valign=top>\n";
		printf "<input type=radio name=drv value=1 %s>\n",
			$drv->{'mode'} == 1 ? "checked" : "";
		print "$text{'webmin_driver'}</td> <td valign=top>";
		foreach $d (split(/\s+/, $1)) { $drvsupp{$d}++; }
		print "<select name=driver size=7>\n";
		foreach $d (&list_webmin_drivers()) {
			if ($drvsupp{$d->[0]}) {
				printf "<option %s>%s\n",
				    $d->[1] eq $drv->{'type'} ? "selected" : "",
				    $d->[1];
				}
			}
		print "</select>&nbsp;&nbsp;";
		print "<select name=dpi size=7>\n";
		printf "<option value=\"\" %s>Default\n",
			$drv->{'dpi'} ? "" : "selected";
		foreach $d (75, 100, 150, 200, 300, 600) {
			printf "<option value=\"$d\" %s>$d DPI\n",
				$drv->{'dpi'} == $d ? "selected" : "";
			}
		print "</select></td> </tr>\n";
		}
	else {
		print "<tr> <td colspan=2>",
		      &text('webmin_edrivers', "<tt>$config{'gs_path'}</tt>"),
		      "</td> </tr>\n";
		}
	}
else {
	print "<tr> <td colspan=2>",
	      &text('webmin_egs', "<tt>$config{'gs_path'}</tt>"),
	      "</td> </tr>\n";
	}
return undef;
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'drv'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'drv'} == 2) {
	(-x $in{'iface'}) || &error("'$in{'iface'}' does not exist");
	return { 'mode' => 2,
		 'program' => $in{'iface'} };
	}
elsif ($in{'drv'} == 1) {
	return { 'mode' => 1,
		 'type' => $in{'driver'},
		 'dpi' => $in{'dpi'} };
	}
}

1;

   070701000048fb000081a40000000000000002000000013d1fe2d200002454000000200000000000000000000000000000001a00000003reloc/lpadmin/hpux-lib.pl # hpux-lib.pl
# Functions for hpux-style printer management

$hpux_iface_path = "/usr/spool/lp/interface";

# list_printers()
# Returns an array of known printer names
sub list_printers
{
local(@rv, $_);
open(STAT, "lpstat -p |");
while(<STAT>) {
	if (/^printer\s+(\S+)/) { push(@rv, $1); }
	}
close(STAT);

# make models executable
`chmod 755 $config{'model_path'}/*`;

return &unique(@rv);
}

# get_printer(name, [nostatus])
# Returns a reference to an associative array of printer details
sub get_printer
{
local($stat, @rv, $body1, $body2, $avl, $con, $sys, %prn, $_, $out);
$out = `lpstat -p$_[0]`;
if ($out =~ /^printer\s+(\S+)\s+(.*)\n(.*)\n(.*)$/) {
	# printer exists
	$prn{'name'} = $1;
	if ($2 =~ /enabled/) {$prn{'enabled'} = "enabled"};
        $body1 = $3;
        $body2 = $4;
	}
else {
	# no printer found
	return undef;
	}

# Interface
$prn{'iface'} = "$hpux_iface_path/$prn{'name'}";

# Description
local $wdrv = &is_windows_driver($prn{'iface'});
local $hdrv = &is_hpnp_driver($prn{'iface'});
$prn{'desc'} = $wdrv ? &grep_interface($wdrv->{'program'}) :
	       $hdrv ? &grep_interface($hdrv->{'program'}) :
		       &grep_interface($prn{'iface'});

# printer enabled?
if (!$prn{'enabled'} && $body1 =~ /^\s+(.*)/) {
	$prn{'enabled_why'} = $1 eq "reason unknown" ? "" : $1;
	}

if (!$_[1]) {
	# request availability
	$avl = `lpstat -a$prn{'name'} 2>&1`;
	if ($avl =~ /^\S+\s+not accepting.*\n\s+(.*)/) {
		$prn{'accepting'} = 0;
		$prn{'accepting_why'} = $1;
		if ($prn{'accepting_why'} eq "reason unknown") {
			$prn{'accepting_why'} = "";
			}
		}
	else { $prn{'accepting'} = 1; }
	}

# request connection
$con = `lpstat -v$prn{'name'} 2>&1`;
if ($con =~ /^device for \S+:\s+(\S+)\n\s+(remote to:)\s+(\S+)\s+(on)\s+(\S+)/) {
	$prn{'rhost'} = $5;
	$prn{'rqueue'} = $3;
	}
elsif ($con =~ /^device for \S+:\s+(\S+)/) { $prn{'dev'} = $1; }

# Check if this is the default printer
`lpstat -d 2>&1` =~ /destination: (\S+)/;
if ($1 eq $prn{'name'}) { $prn{'default'} = 1; }

return \%prn;
}

sub get_jobs
{
open(STAT, "lpstat -o$_[0] |");
local($id, $user, $prio, $when, $printing);
while(<STAT>) {
	if (/^(\S+-\d+)\s+(\S+)\s+priority\s+(\S+)\s+(\S+.*\d+ \d+:\d+)\s+(.*)/) {
		$id = $1;
		$user = $2;
		$prio = $3;
 		$when = $4;
		$printing = ($5 =~ /^on /);
		}
	elsif (/^(\S+-\d+)\s+(\S+)\s+priority\s+(\S+)\s+from\s+(\S+)\s+(.*)/) {
		$id = $1;
		$user = "$2\@$4";
		$prio = $3;
		$when = "?";
		$printing = ($5 =~ /^on /);
		}
	elsif (/^(.*)\s+(\d+) bytes/) {
		local(%job);
		$job{'id'} = $id;
		$job{'user'} = $user;
		$job{'prio'} = $prio;
	 	$job{'when'} = $when;
		$job{'printing'} = $printing;
		$job{'file'} = $1;
 		$job{'size'} = $2;
		push(@jobs, \%job);
		}
	}
close(STAT);
return @jobs;
}

# grep_interface($iface)
# try to find a description in the interface/model
sub grep_interface
{
local($iface, $desc, $out);
$iface = $_[0];

local $drv = &is_driver($iface);
if ($drv->{'mode'} == 1) {
	$desc = $drv->{'desc'};
	}
elsif ($drv->{'mode'} == 2) {
	$out = `head $drv->{'prog'} | grep -e interface  -e Printer -e /model/`;
	if ($out =~ /interface for\s+(.*)/) { $desc = $1; }
	elsif ($out =~ /\s+(\S.*)interface/) { $desc = $1; }
	elsif ($out =~ /Printer Command Language level\s+(\S+)/) { $desc = "PCL$1"; }
	elsif ($out =~ /\/model\/(\S+).*/) { $desc = $1; }
	elsif ($out =~ /^#\s+(.*)/) { $desc = $1; }
	else { $desc = "None"; }
	}
else {
	$desc = "None";
	}
return $desc;
}

# printer_support(option)
sub printer_support
{
return $_[0] !~ /^(allow|alias|ctype|banner|desc|editdest|msize|direct|rnoqueue|ipp)$/;
}

# list_classes()
# Returns an associative array of print classes
sub list_classes
{
local($stat, %rv);
$stat = `lpstat -c 2>&1`;
while($stat =~ /^members of class (\S+):\n((\s+\S+\n)+)([\000-\177]*)$/) {
	$stat = $4;
	$rv{$1} = [ grep { $_ ne "" } split(/\s+/, $2) ];
	}
return \%rv;
}

# create_printer(&details)
# Create a new printer
sub create_printer
{
local(%prn, $cmd, $out, $model, $dummy, $scheduler);
%prn = %{$_[0]};
local $wdrv = &is_windows_driver($prn{'iface'});
local $hdrv = &is_hpnp_driver($prn{'iface'});
$scheduler = &sched_running();
$dummy = "webmin.tmp"; `touch $config{'model_path'}/$dummy`;

# create lpadmin command
$cmd = "lpadmin -p$prn{'name'}";

## remote unix printer
if ($prn{'rhost'}) {
	if ($prn{'iface'}) {
		&error("lpadmin failed : <pre>No model allowed for remote unix printer.</pre>");
	}
	$cmd .= " -orm$prn{'rhost'}";
	$cmd .= " -orp$prn{'rqueue'}";
	$cmd .= " -mrmodel";
	$cmd .= " -ocmrcmodel";
	$cmd .= " -osmrsmodel";
	$cmd .= " -v/dev/null";
	$cmd .= " -orc";
	if ($prn{'rtype'} =~ /^BSD$/) {
		$cmd .= " -ob3";
		}
	}

## remote windows printer
elsif ($wdrv) {
	$cmd .= " -m$dummy";
	$cmd .= " -v/dev/null";
	$cmd .= " -g0";
	}

## remote HPNP printer
elsif ($hdrv) {
	$cmd .= " -m$dummy";
	$cmd .= " -v/dev/null";
	$cmd .= " -g0";
	}

## local printer with webmin driver
elsif ($prn{'iface'} eq "$drivers_directory/$prn{'name'}") {
	$cmd .= " -m$dummy";
	$cmd .= " -v$prn{'dev'}";
	$cmd .= " -g0";
	}

## local printer with HP-UX model
elsif ($prn{'iface'} =~ $config{'model_path'}) {
	$model = substr($prn{'iface'}, length($config{'model_path'}) + 1);
	$cmd .= " -m$model";
	$cmd .= " -v$prn{'dev'}";
	$cmd .= " -g0";
	}
else {
	&error("lpadmin failed : <pre>Action not supported.</pre>");
	}

# stop scheduler
$out = &backquote_logged("lpshut 2>&1");

# call lpadmin
$out = &backquote_logged("$cmd 2>&1");
if ($?) { &error("lpsched failed : <pre>$out</pre>"); }

## Link to windows webmin driver
&lock_file("$hpux_iface_path/$prn{'name'}");
if ($wdrv) {
	`rm $hpux_iface_path/$prn{'name'}`;
	`ln -s $drivers_directory/$prn{'name'}.smb $hpux_iface_path/$prn{'name'}`;
	}

## Link to webmin hpnp driver
if ($hdrv) {
	`rm $hpux_iface_path/$prn{'name'}`;
	`ln -s $drivers_directory/$prn{'name'}.hpnp $hpux_iface_path/$prn{'name'}`;
	}

## Link to webmin driver
if ($prn{'iface'} eq "$drivers_directory/$prn{'name'}" && !$wdrv) {
	`rm $hpux_iface_path/$prn{'name'}`;
	`ln -s $drivers_directory/$prn{'name'} $hpux_iface_path/$prn{'name'}`;
	}
&unlock_file("$hpux_iface_path/$prn{'name'}");
&lock_file("$config{'model_path'}/$dummy");
`rm $config{'model_path'}/$dummy`;
&unlock_file("$config{'model_path'}/$dummy");

# start scheduler
if ($scheduler) {
	$out = &backquote_logged("lpsched 2>&1");
	if ($?) { &error("lpsched failed : <pre>$out</pre>"); }
	}

&modify_printer($_[0]);
}

# modify_printer(&details)
# Change an existing printer
sub modify_printer
{
local(%prn, $cmd, $out);
%prn = %{$_[0]};

# make the default
if ($prn{'default'}) {
	$out = &backquote_logged("lpadmin -d$prn{'name'} 2>&1");
	if ($?) { &error("Failed to set default : <pre>$out</pre>"); }
	}

# enable or disable
if ($prn{'enabled'}) { $cmd = "enable $prn{'name'}"; }
elsif ($prn{'enabled_why'})
	{ $cmd = "enable $prn{'name'} ; disable -r\"$prn{'enabled_why'}\" $prn{'name'}"; }
else { $cmd = "enable $prn{'name'} ; disable $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");

# accepting or rejecting requests
if ($prn{'accepting'}) { $cmd = "accept $prn{'name'}"; }
elsif ($prn{'accepting_why'})
	{ $cmd = "accept $prn{'name'} ; reject -r\"$prn{'accepting_why'}\" $prn{'name'}"; }
else { $cmd = "accept $prn{'name'} ; reject $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");
}

# delete_printer(name)
# Deletes some existing printer
sub delete_printer
{
local($out, $scheduler);
$scheduler = &sched_running();

# delete print jobs
$out = &backquote_logged("cancel $_[0] -a 2>1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }

# stop scheduler
$out = &backquote_logged("lpshut 2>&1");

# call lpadmin
$out = &backquote_logged("lpadmin -x$_[0] 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }

# start scheduler
if ($scheduler) {
	$out = &backquote_logged("lpsched 2>&1");
	if ($?) { &error("lpsched failed : <pre>$out</pre>"); }
	}
}

# cancel_job(printer, id)
# Cancels some print job
sub cancel_job
{
local($out);
$out = &backquote_logged("cancel $_[1] 2>&1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }
sleep(1);
}

# sched_running()
# Returns 1 if running and 0 if not running
sub sched_running
{
local $out = `lpstat -r 2>&1`;
if ($out =~ /not/) { return 0; }
else { return 1; }
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("lpsched 2>&1");
if ($?) { &error("failed to start lpsched : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local $out = &backquote_logged("lpshut 2>&1");
if ($?) { &error("lpshut failed : <tt>$out</tt>"); }
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lp -d $_[0] $_[1]";
}

@device_files = ("/dev/c1t0d0_lp", "/dev/c2t0d0_lp",
		 "/dev/c0p0_lp", "/dev/c0p1_lp",
		 "/dev/c0p2_lp", "/dev/c0p3_lp",
		 "/dev/c0p4_lp", "/dev/c0p4_lp",
		 "/dev/c0p5_lp", "/dev/c0p5_lp",
		 "/dev/c1p0_lp",
		 "/dev/null");
@device_names = (&text('hpux_paralel', "c1t0d0"), &text('hpux_paralel', "c2t0d0"),
		 &text('hpux_serial', "c0p0"), &text('hpux_serial', "c0p1"),
		 &text('hpux_serial', "c0p2"), &text('hpux_serial', "c0p3"),
		 &text('hpux_serial', "c0p4"), &text('hpux_serial', "c0p5"),
		 &text('hpux_serial', "c0p6"), &text('hpux_serial', "c0p7"),
		 &text('hpux_serial', "c1p0"), $text{'hpux_null'});
07070100005f89000041ed0000000000000001000000023d1ffa7800000000000000200000000000000000000000000000001500000003reloc/lpadmin/images  07070100005f8a000081a40000000000000002000000013d1fe2d20000014a000000200000000000000000000000000000001e00000003reloc/lpadmin/images/icon.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  þºÜþ0ÊI«½8»´œÒ}_ÈŒ€@Væ&¼*„j­Ç'7[µÜðÒ£ü^Âd1²c	”PbJm2yÕªå9Éz­ŒøKžˆä4xq¨¿¯EüÎÆrcÝ.Àûõ{Pw~x>‚}„„H‡ƒŠ0‡‘’tj–—˜7Odœž ¡U£¤¥§¨Iª«¬a®°‰²¤f®¡±«wº»·¸„ ÀÁ®ÄŠ0@È§ÊxÐÎŒ»ÊÂÍ0ÙÐ²ÂÌÔÒÝß Ü8âèªæÉÚãÌËíßñÃ7ëôñóqô/<Œ#D€@¾v+¤á)xìà®lÄŽ™ª˜îb‹5I²¤É“  ;  070701000048fc000081e40000000000000002000000013d1fe2d200001018000000200000000000000000000000000000001800000003reloc/lpadmin/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a list of all known printers

require './lpadmin-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr><p>\n";
@plist = &list_printers();

if ($config{'sort_mode'}) {
	@plist = sort { $a cmp $b } @plist;
	}
if (@plist) {
	print "<a href=edit_printer.cgi?new=1>$text{'index_add'}</a><br>\n"
		if ($access{'add'});
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
	      "<td><b>$text{'index_desc'}</b></td> ",
	      "<td><b>$text{'index_to'}</b></td> ";
	if ($config{'show_status'}) {
        	print "<td><b>$text{'index_enabled'}</b></td> ",
		      "<td><b>$text{'index_accepting'}</b></td> ";
		}
	else {
        	print "<td><b>$text{'index_driver'}</b></td> ";
		}
	print "<td><b>$text{'index_jobs'}</b></td> </tr>\n";
	for($i=0; $i<@plist; $i++) {
		local ($wdrv, $hdrv, $drv);
		local $ed = &can_edit_printer($plist[$i]);
		local $jb = &can_edit_jobs($plist[$i]);
		next if (!$ed && !$jb && !$access{'view'});
		$p = &get_printer($plist[$i], !$config{'show_status'});

		print "<tr $cb>\n";
		if ($ed) {
			print "<td><a href=\"edit_printer.cgi?",
			      "name=$p->{'name'}\">",
			      &html_escape($p->{'name'}),"</a></td>\n";
			}
		else {
			print "<td>",&html_escape($p->{'name'}),"</td>\n";
			}
		print "<td>",$p->{'desc'} ? &html_escape($p->{'desc'})
					  : "<br>","</td>\n";
		if (!$webmin_windows_driver) {
			$wdrv = &is_webmin_windows_driver($p->{'iface'}, $p);
			}
		$wdrv = &is_windows_driver($p->{'iface'}, $p) if (!$wdrv);
		$hdrv = &is_hpnp_driver($p->{'iface'}, $p);
		if ($wdrv) {
			print "<td><tt>\\\\$wdrv->{'server'}",
			      "\\$wdrv->{'share'}</tt></td>\n";
			$p->{'iface'} = $wdrv->{'program'};
			}
		elsif ($hdrv) {
			print "<td><tt>HPNP $hdrv->{'server'}:",
			      "$hdrv->{'port'}</tt></td>\n";
			$p->{'iface'} = $hdrv->{'program'};
			}
		elsif ($p->{'rhost'}) {
			local $qu = $p->{'rqueue'} ? $p->{'rqueue'}
						   : $p->{'name'};
			print"<td><tt>$p->{'rhost'}:$qu</tt></td>\n";
			}
		elsif ($p->{'dhost'}) {
			print"<td><tt>$p->{'dhost'}:$p->{'dport'}</tt></td>\n";
			}
		else {
			print "<td>",&dev_name($p->{'dev'}),"</td>\n";
			}
		if (!$webmin_print_driver) {
			$drv = &is_webmin_driver($p->{'iface'}, $p);
			}
		$drv = &is_driver($p->{'iface'}, $p)
			if ($drv->{'mode'} == 0 || $drv->{'mode'} == 2);
		if ($config{'show_status'}) {
			printf "<td>%s</td>\n",
				$p->{'enabled'} ? $text{'yes'} : $text{'no'};
			printf "<td>%s</td>\n",
				$p->{'accepting'} ? $text{'yes'} : $text{'no'};
			}
		else {
			print "<td>",&html_escape($drv->{'desc'}),"</td>\n";
			}
		print "<td><a href=\"list_jobs.cgi?name=",
		      "$p->{'name'}\">$text{'index_list'}</a></td> </tr>\n";
		}
	print "</table>\n";
	}
else { print "<h3>$text{'index_none'}</h3>\n"; }
print "<a href=edit_printer.cgi?new=1>$text{'index_add'}</a>\n"
	if ($access{'add'});
print "<p>\n";

# display button to start or stop the scheduler (lpd, lpsched, etc..)
$pid = &sched_running();
if ($pid < 0 || !$access{'stop'}) {
	# cannot stop or start..
	}
elsif ($pid && $access{'stop'} == 2) {
	# can only restart
	print "<hr>\n";
	print "<form action=restart.cgi>\n";
        print "<input type=hidden name=pid value=$pid>\n";
        print "<table width=100%><tr><td>\n";
        print "<input type=submit value=\"$text{'index_restart'}\"></td>\n";
	print "<td>$text{'index_restartmsg'}</td> </tr></table>\n";
        print "</form>\n";
	}
elsif ($pid) {
	print "<hr>\n";
	print "<form action=stop.cgi>\n";
        print "<input type=hidden name=pid value=$pid>\n";
        print "<table width=100%><tr><td>\n";
        print "<input type=submit value=\"$text{'index_stop'}\"></td>\n";
	print "<td>$text{'index_stopmsg'}</td> </tr></table>\n";
        print "</form>\n";
	}
else {
	print "<hr>\n";
	print "<form action=start.cgi>\n";
        print "<table width=100%><tr><td>\n";
        print "<input type=submit value=\"$text{'index_start'}\"></td>\n";
	print "<td>$text{'index_startmsg'}</td> </tr></table>\n";
        print "</form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

070701000048fd000081a40000000000000002000000013d1fe2d200000c4d000000200000000000000000000000000000001d00000003reloc/lpadmin/irix-driver.pl  # irix-driver.pl
# Functions for webmin print and smb drivers.
# Very similar to the webmin driver, but with a different interface
# program selector

$webmin_windows_driver = 1;
$webmin_print_driver = 1;

# is_windows_driver(path)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path)
# Returns a structure containing the details of a driver
sub is_driver
{
return &is_webmin_driver(@_);
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
return &create_webmin_driver(@_);
}

# delete_driver(name)
sub delete_driver
{
&delete_webmin_driver(@_);
}

# driver_input(&printer, &driver)
sub driver_input
{
local ($prn, $drv) = @_;

printf "<tr> <td><input type=radio name=drv value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'webmin_none'};
print "<td>($text{'webmin_remotemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=drv value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'webmin_model'};
print "<td><select name=iface>\n";
opendir(DIR, $config{'model_path'});
while($f = readdir(DIR)) {
	if ($f =~ /^\./) { next; }
	$path = "$config{'model_path'}/$f";
	printf "<option value=\"$path\" %s>$f\n",
		$path eq $prn{'iface'} ? "selected" : "";
	}
closedir(DIR);
print "</select></td> </tr>\n";

if (&has_ghostscript()) {
	local $out = `$config{'gs_path'} -help 2>&1`;
	if ($out =~ /Available devices:\n((\s+.*\n)+)/) {
		print "<tr> <td valign=top>\n";
		printf "<input type=radio name=drv value=1 %s>\n",
			$drv->{'mode'} == 1 ? "checked" : "";
		print "$text{'webmin_driver'}</td> <td valign=top>";
		foreach $d (split(/\s+/, $1)) { $drvsupp{$d}++; }
		print "<select name=driver size=7>\n";
		foreach $d (&list_webmin_drivers()) {
			if ($drvsupp{$d->[0]}) {
				printf "<option %s>%s\n",
				    $d->[1] eq $drv->{'type'} ? "selected" : "",
				    $d->[1];
				}
			}
		print "</select>&nbsp;&nbsp;";
		print "<select name=dpi size=7>\n";
		printf "<option value=\"\" %s>Default\n",
			$drv->{'dpi'} ? "" : "selected";
		foreach $d (75, 100, 150, 200, 300, 600) {
			printf "<option value=\"$d\" %s>$d DPI\n",
				$drv->{'dpi'} == $d ? "selected" : "";
			}
		print "</select></td> </tr>\n";
		}
	else {
		print "<tr> <td colspan=2>",
		      &text('webmin_edrivers', "<tt>$config{'gs_path'}</tt>"),
		      "</td> </tr>\n";
		}
	}
else {
	print "<tr> <td colspan=2>",
	      &text('webmin_egs', "<tt>$config{'gs_path'}</tt>"),
	      "</td> </tr>\n";
	}
return undef;
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'drv'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'drv'} == 2) {
	(-x $in{'iface'}) || &error("'$in{'iface'}' does not exist");
	return { 'mode' => 2,
		 'program' => $in{'iface'} };
	}
elsif ($in{'drv'} == 1) {
	return { 'mode' => 1,
		 'type' => $in{'driver'},
		 'dpi' => $in{'dpi'} };
	}
}

1;

   070701000048fe000081a40000000000000002000000013d1fe2d2000027c0000000200000000000000000000000000000001a00000003reloc/lpadmin/irix-lib.pl # irix-lib.pl
# Functions for irix-style printer management

$irix_iface_path = "/var/spool/lp/interface";

# list_printers()
# Returns an array of known printer names
sub list_printers
{
local(@rv, $_);
open(STAT, "/usr/bin/lpstat -p |");
while(<STAT>) {
	if (/^printer\s+(\S+)/) { push(@rv, $1); }
	}
close(STAT);
return &unique(@rv);
}

# get_printer(name, [nostatus])
# Returns a reference to an associative array of printer details
sub get_printer
{
local($stat, @rv, $body, $body, $avl, $con, $sys, %prn, $_, $out);
$out = `/usr/bin/lpstat -p$_[0]`;
if ($out =~ /^printer\s+(\S+)\s*(.*)\s+(enabled|disabled)\s+since\s+(.+?)\n?(.*)?$/) {
	# printer exists
	$prn{'name'} = $1;
	$prn{'enabled'} = $3 eq "enabled";
	$body = $5;
	}
else {
	# no printer found
	return undef;
	}

# Interface
$prn{'iface'} = "$irix_iface_path/$prn{'name'}";

# Description
local $wdrv = &is_windows_driver($prn{'iface'});
local $hdrv = &is_hpnp_driver($prn{'iface'});
$prn{'desc'} = $wdrv ? &grep_interface($wdrv->{'program'}) :
	            $hdrv ? &grep_interface($hdrv->{'program'}) :
		         &grep_interface($prn{'iface'});

# printer enabled?
if (!$prn{'enabled'} && $body =~ /^\s+(.*)/) {
	$prn{'enabled_why'} = $1 eq "reason unknown" ? "" : $1;
	}

if (!$_[1]) {
	# request availability
	$avl = `/usr/bin/lpstat -a$prn{'name'} 2>&1`;
	if ($avl =~ /^\S+\s+not accepting.*\n\s+(.*)/) {
		$prn{'accepting'} = 0;
		$prn{'accepting_why'} = $1;
		if ($prn{'accepting_why'} eq "reason unknown") {
			$prn{'accepting_why'} = "";
			}
		}
	else { $prn{'accepting'} = 1; }
	}

# request connection
$con = `/usr/bin/lpstat -v$prn{'name'} 2>&1`;
if ($con =~ /^device for \S+:\s+(\S+)\n\s+(remote to:)\s+(\S+)\s+(on)\s+(\S+)/) {
	$prn{'rhost'} = $5;
	$prn{'rqueue'} = $3;
	}
elsif ($con =~ /^device for \S+:\s+(\S+)/) { $prn{'dev'} = $1; }

# Check if this is the default printer
`/usr/bin/lpstat -d 2>&1` =~ /destination: (\S+)/;
if ($1 eq $prn{'name'}) { $prn{'default'} = 1; }

return \%prn;
}

sub get_jobs
{
local @jobs;
open(STAT, "/usr/bin/lpstat -o$_[0] |");
while(<STAT>) {
	if (/^(\S+-\d+)\s+(\S+)\s+(\d+)\s+(\S+ \d+ \d+:\d+)\s+(.*)/) {
		local(%job, $d, $f, @pf);
		$job{'id'} = $1;
#		local $id = $2;
		$job{'user'} = $2;
		$job{'size'} = $3;
		$job{'when'} = $4;
		$job{'printing'} = ($5 =~ /^on /);
#		if ($job{'user'} =~ /(\S+)\!/ &&
#		    -d ($d="/var/spool/lp/tmp/$1")) {
#			opendir(DIR, $d);
#			foreach $f (readdir(DIR)) {
#				push(@pf, "$d/$f") if ($f =~ /^$id-[1-9]/);
#				}
#			closedir(DIR);
#			$job{'printfile'} = @pf ? \@pf : undef;
#			}

   	push(@jobs, \%job);
		}
	}
close(STAT);
return @jobs;
}

# grep_interface($iface)
# try to find a description in the interface/model
sub grep_interface
{
local($iface, $desc, $out);
$iface = $_[0];

local $drv = &is_driver($iface);
if ($drv->{'mode'} == 1) {
	$desc = $drv->{'desc'};
	}
elsif ($drv->{'mode'} == 2) {
	$out = `head $drv->{'prog'} | grep -e interface  -e Printer -e /model/`;
	if ($out =~ /interface for\s+(.*)/) { $desc = $1; }
	elsif ($out =~ /\s+(\S.*)interface/) { $desc = $1; }
	elsif ($out =~ /Printer Command Language level\s+(\S+)/) { $desc = "PCL$1"; }
	elsif ($out =~ /\/model\/(\S+).*/) { $desc = $1; }
	elsif ($out =~ /^#\s+(.*)/) { $desc = $1; }
	else { $desc = "None"; }
	}
else {
	$desc = "None";
	}
return $desc;
}

# printer_support(option)
sub printer_support
{
return $_[0] !~ /^(allow|alias|ctype|banner|desc|editdest|msize|direct|rnoqueue)$/;
}

# list_classes()
# Returns an associative array of print classes
sub list_classes
{
local($stat, %rv);
$stat = `/usr/bin/lpstat -c 2>&1`;
while($stat =~ /^members of class (\S+):\n((\s+\S+\n)+)([\000-\177]*)$/) {
	$stat = $4;
	$rv{$1} = [ grep { $_ ne "" } split(/\s+/, $2) ];
	}
return \%rv;
}

# create_printer(&details)
# Create a new printer
sub create_printer
{
local(%prn, $cmd, $out, $model, $dummy, $scheduler);
%prn = %{$_[0]};
#local $wdrv = &is_windows_driver($prn{'iface'});
#local $hdrv = &is_hpnp_driver($prn{'iface'});
#$scheduler = &sched_running();
#$dummy = "webmin.tmp"; `touch $config{'model_path'}/$dummy`;

# create lpadmin command
$cmd = "/usr/lib/lpadmin -p$prn{'name'}";

## remote unix printer
if ($prn{'rhost'}) {
	if ($prn{'iface'}) {
		&error("lpadmin failed : <pre>No model allowed for remote unix printer.</pre>");
	}
   &copy_netface_driver($_[0]);
	$cmd .= " -i$irix_iface_path/$prn{'name'}.tmp";
	$cmd .= " -v/dev/null";
	}

## remote windows printer
#elsif ($wdrv) {
#	$cmd .= " -m$dummy";
#	$cmd .= " -v/dev/null";
#	}

## remote HPNP printer
#elsif ($hdrv) {
#	$cmd .= " -m$dummy";
#	$cmd .= " -v/dev/null";
#	}

## local printer with webmin driver
#elsif ($prn{'iface'} eq "$drivers_directory/$prn{'name'}") {
#	$cmd .= " -m$dummy";
#	$cmd .= " -v$prn{'dev'}";
#	}

## local printer with IRIX model
elsif ($prn{'iface'} =~ $config{'model_path'}) {
	$model = substr($prn{'iface'}, length($config{'model_path'}) + 1);
	$cmd .= " -m$model";
	$cmd .= " -v$prn{'dev'}";
	}
else {
	&error("lpadmin failed : <pre>Action not supported.</pre>");
	}

# stop scheduler
#$out = &backquote_logged("/usr/lib/lpshut 2>&1");

# call lpadmin
&webmin_log ("lpadmin", $cmd);
$out = &backquote_logged("$cmd 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }

if ($prn{'rhost'}) {
  `rm $irix_iface_path/$prn{'name'}.tmp`;
}

## Link to windows webmin driver
#&lock_file("$irix_iface_path/$prn{'name'}");
#if ($wdrv) {
#	`rm $irix_iface_path/$prn{'name'}`;
#	`ln -s $drivers_directory/$prn{'name'}.smb $irix_iface_path/$prn{'name'}`;
#	}

## Link to webmin hpnp driver
#if ($hdrv) {
#	`rm $irix_iface_path/$prn{'name'}`;
#	`ln -s $drivers_directory/$prn{'name'}.hpnp $irix_iface_path/$prn{'name'}`;
#	}

## Link to webmin driver
#if ($prn{'iface'} eq "$drivers_directory/$prn{'name'}" && !$wdrv) {
#	`rm $irix_iface_path/$prn{'name'}`;
#	`ln -s $drivers_directory/$prn{'name'} $irix_iface_path/$prn{'name'}`;
#	}
#&unlock_file("$irix_iface_path/$prn{'name'}");
#&lock_file("$config{'model_path'}/$dummy");
#`rm $config{'model_path'}/$dummy`;
#&unlock_file("$config{'model_path'}/$dummy");

# start scheduler
#if ($scheduler) {
#	$out = &backquote_logged("/usr/lib/lpsched 2>&1");
#	if ($?) { &error("lpsched failed : <pre>$out</pre>"); }
#	}

#change printer parameters
&modify_printer($_[0]);
}

# copy_netface_driver(&prn)
# Copies netface driver to interfaces directory and changes
# remote host address, name and type of remote printer.
sub copy_netface_driver {
  local (%prn);
%prn = %{$_[0]};
  my ($cmd, $rname, $rtype, $nettype, $driver_file ) = ();

  if ( $prn{'rtype'} eq "s5" ) {
    $nettype = "sgi";
    $cmd = "/usr/bsd/rsh -l lp $prn{'rhost'} "
         . "\'grep \"^NAME\" $irix_iface_path/$prn{'rqueue'}\'";
    $rname = &backquote_logged("$cmd");
    if ($?) { &error("Failed to read remote printer's name : <pre>$rname</pre>"); }
    $cmd = "/usr/bsd/rsh -l lp $prn{'rhost'} "
         . "\'grep \"^TYPE\" $irix_iface_path/$prn{'rqueue'}\'";
    $rtype = &backquote_logged("$cmd");
    if ($?) { &error("Failed to read remote printer's type : <pre>$rtype</pre>"); }
  } else {
    $nettype = "bsd";
    $rname = "BSD Printer";
    $rtype = "PostScript";
  }  
  undef local $/;
  open (NETFACE,"<$config{'model_path'}/netface") or &error("Failed to open netface driver."); 
  $driver_file = <NETFACE>;
  close (NETFACE);

  $driver_file =~ s/^TYPE=unknown/$rtype/m;
  $driver_file =~ s/^NAME=/$rname/m;
  $driver_file =~ s/^NETTYPE=/NETTYPE=$nettype/m;
  $driver_file =~ s/^HOSTNAME=/HOSTNAME=$prn{'rhost'}/m;
  $driver_file =~ s/^HOSTPRINTER=/HOSTPRINTER=$prn{'rqueue'}/m;
  
  open (INTERFACE,">$irix_iface_path/$prn{'name'}.tmp") or &error("Failed to open interface for $prn{'name'}."); 
  print INTERFACE $driver_file;
  close (INTERFACE);  
}




# modify_printer(&details)
# Change an existing printer
sub modify_printer
{
local(%prn, $cmd, $out);
%prn = %{$_[0]};

# make the default
if ($prn{'default'}) {
	$out = &backquote_logged("/usr/lib/lpadmin -d$prn{'name'} 2>&1");
	if ($?) { &error("Failed to set default : <pre>$out</pre>"); }
	}

# enable or disable
if ($prn{'enabled'}) { $cmd = "/usr/bin/enable $prn{'name'}"; }
elsif ($prn{'enabled_why'})
	{ $cmd = "/usr/bin/enable $prn{'name'} ; /usr/bin/disable -r\"$prn{'enabled_why'}\" $prn{'name'}"; }
else { $cmd = "/usr/bin/enable $prn{'name'} ; /usr/bin/disable $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");

# accepting or rejecting requests
if ($prn{'accepting'}) { $cmd = "/usr/lib/accept $prn{'name'}"; }
elsif ($prn{'accepting_why'})
	{ $cmd = "/usr/lib/accept $prn{'name'} ; /usr/lib/reject -r\"$prn{'accepting_why'}\" $prn{'name'}"; }
else { $cmd = "/usr/lib/accept $prn{'name'} ; /usr/lib/reject $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");
}

# delete_printer(name)
# Deletes some existing printer
sub delete_printer
{
local($out, $scheduler);
#$scheduler = &sched_running();

# delete print jobs
$out = &backquote_logged("/usr/bin/cancel -a $_[0]  2>&1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }

# call lpadmin
$out = &backquote_logged("/usr/lib/lpadmin -x$_[0] 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }
}

# cancel_job(printer, id)
# Cancels some print job
sub cancel_job
{
local($out);
$out = &backquote_logged("/usr/bin/cancel $_[1] 2>&1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }
sleep(1);
}

# sched_running()
# Returns 1 if running and 0 if not running
sub sched_running
{
local $out = `lpstat -r 2>&1`;
if ($out =~ /not/) { return 0; }
else { return 1; }
}

# start_sched()
# Start lpsched
sub start_sched
{
my $cmd = "/usr/lib/lpshut > /dev/null 2>&1;"
        . "/sbin/killall lpautoenable;"
        . "rm -f /var/spool/lp/SCHEDLOCK /var/spool/lp/FIFO;"
        . "/usr/lib/lpsched 2>&1";
local $out = &backquote_logged($cmd);
if ($?) { &error("failed to start lpsched : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local $out = &backquote_logged("/usr/lib/lpshut 2>&1");
if ($?) { &error("lpshut failed : <tt>$out</tt>"); }
}

@device_files = ("/dev/plp", 
       "/dev/ttyd1", "/dev/ttyd2",
		 "/dev/null");
@device_names = ("Parallel", 
		 "Serial 1", "Serial 2",
		 "Null Device");
070701000076e4000041ed0000000000000001000000023d1ffa7b00000000000000200000000000000000000000000000001300000003reloc/lpadmin/lang    070701000076e5000081a40000000000000002000000013d1fe2d2000021e3000000200000000000000000000000000000001600000003reloc/lpadmin/lang/ca index_title=Administració d'Impressores
index_name=Impressora
index_desc=Descripció
index_to=Imprimeix sobre
index_driver=Driver/Filtre
index_enabled=Activada
index_accepting=Acceptant
index_jobs=Treballs
index_none=No hi ha cap impressora instal·lada al sistema
index_list=llista...
index_add=Afegeix una impressora nova
index_stop=Atura el Gestor d'Impressió
index_stopmsg=Fes clic sobre aquest botó per aturar el gestor d'impressió en execució. Això impedirà que cap usuari local ni remot pugui imprimir al sistema.
index_start=Inicia el Gestor d'Impressió
index_startmsg=Fes clic sobre aquest botó per engegar el gestor d'impressió. Això permetrà tant als usuaris locals com als remots d'imprimir al sistema.
index_restart=Reinicia el Gestor d'Impressió
index_restartmsg=Fes clic sobre aquest botó per reiniciar el gestor d'impressió. Això forçarà l'aplicació de la configuració d'impressió actual.
index_return=a la llista d'impressores

edit_eedit=No tens permís per editar aquesta impressora
edit_eadd=No tens permís per crear impressores
edit_add=Creació d'Impressora
edit_edit=Edició d'Impressora
edit_conf=Configuració d'Impressora
edit_name=Nom
edit_acc=Accepta peticions
edit_why=No - Perquè
edit_desc=Descripció
edit_ena=Impressió Activada
edit_acl=Control d'accés
edit_allow=Permès a tothom
edit_deny=Denegat a tothom
edit_allowu=Permès als usuaris llistats...
edit_denyu=Denegat als usuaris llistats...
edit_banner=Imprimeix portada
edit_opt=Opcional
edit_default=Impressora per defecte
edit_already=Ja és la impressora per defecte
edit_max=Mida màxima<br>dels treballs<br>d'impressió
edit_unlimited=Il·limitat
edit_dacc=El driver accepta
edit_dtext=Text
edit_dpost=PostScript
edit_dother=Altres
edit_alt=Noms alternatius de la impressora
edit_dest=Destinació de la impressió
edit_dev=Dispositiu local
edit_file=Fitxer Local
edit_remote=Servidor remot Unix
edit_rqueue=Impressora
edit_type=Tipus
edit_smb=Servidor remot Windows
edit_share=Impressora
edit_user=Usuari
edit_pass=Contrasenya
edit_wgroup=Grup de treball
edit_hpnp=Servidor remot HPNP
edit_port=Port
edit_direct=Connexió directa TCP
edit_dport=Port
edit_driver=Driver d'impressió
edit_check=Comprova si el servidor remot funciona

blocks=blocs

save_err=No he pogut desar la impressora
save_eadd=No tens permís per afegir impressores
save_eedit=No tens permís per editar aquesta impressora
save_ename='$1' no és un nom d'impressora vàlid
save_edup=Ja existeix una impressora anomenada '$1'
save_eallow=No s'han introduït els usuaris permesos
save_edeny=No s'han introduït els usuaris denegats
save_euser=L'usuari '$1' no existeix
save_etype=Has de seleccionar almenys un tipus de driver d'acceptació
save_emax=La mida màxima del treball d'impressió ha de ser un enter
save_efile='$1' no existeix
save_erhost=El host remot '$1' no existeix
save_erqueue='$1' no es un nom de cua remota vàlid
save_eremote=Amb les impressores remotes Unix no es poden fer servir drivers
save_edhost=El host directe '$1' no existeix
save_edport=Hi falta el port directe o no és vàlid

jobs_title=Treballs d'Impressió
jobs_header=Treballs d'impressió de $1
jobs_id=ID del treball
jobs_size=Mida
jobs_by=Enviat per
jobs_when=Enviat 
jobs_file=Nom del fitxer
jobs_cancel=Fes clic sobre un ID de treball de la llista de dalt per cancel·lar-lo.
jobs_cancelview=Fes clic sobre un ID de treball de la llista de dalt per cancel·lar-lo, o bé fes clic sobre la mida per visualitzar-lo.
jobs_none=No hi ha treballs d'impressió a $1
jobs_all=Cancel·la tots els treballs d'impressió
jobs_bytes=bytes
jobs_test=Imprimeix Pàgina de Prova

cancel_ecannot=No tens permís per cancel·lar treballs d'impressió
cancel_err=No he pogut cancel·lar el treball d'impressió
cancel_egone=El treball d'impressió $1 ja no existeix

view_ecannot=No pots visualitzar aquest treball d'impressió
view_egone=Aquest treball d'impressió ja no existeix

start_ecannot=No tens permís per iniciar el gestor d'impressió
start_err=No he pogut iniciar el gestor d'impressió

stop_ecannot=No tens permís per aturar el gestor d'impressió
stop_err=No he pogut aturar el gestor d'impressió

restart_ecannot==No tens permís per reiniciar el gestor d'impressió
restart_err=No he pogut reiniciar el gestor d'impressió

webmin_none=Cap
webmin_nonemsg=Impressora PostScript o text
webmin_remotemsg=Impressora remota
webmin_model=Model
webmin_prog=Programa
webmin_driver=Driver Webmin
webmin_uniprint=Driver Uniprint
webmin_edrivers=No he pogut obtenir els drivers de $1. Els drivers de Webmin que fan servir ghostscript no estan disponibles
webmin_egs=No s'ha trobat l'ordre $1. Els drivers de Webmin que fan servir ghostscript no estan disponibles
webmin_edriver='$1' no existeix

caldera_none=Cap
caldera_nonemsg=Impressora transparent o remota
caldera_prog=Programa
caldera_coas=Driver COAS
caldera_printer=Impressora i resolució
caldera_eof=Envia EOF
caldera_paper=Mida del paper
caldera_double=Imprimeix a doble cara
caldera_gsopts=Opcions addicionals GS
caldera_uniprint=Driver Uniprint
caldera_eprog='$1' no existeix
caldera_edriver=No has seleccionat cap driver d'impressió
caldera_eres=No has seleccionat cap resolució

redhat_none=Cap
redhat_nonemsg=Impressora PostScript o text
redhat_prog=Programa
redhat_driver=Driver de Redhat
redhat_printer=Impressora i resolució
redhat_eof=Envia EOF
redhat_paper=Mida del paper
redhat_pages=Pàgines per pàgina de sortida
redhat_gsopts=Opcions addicionals GS
redhat_hmargin=Marge esquerre/dret
redhat_vmargin=Marge superior/inferior
redhat_crlf=Corregeix el text escalat
redhat_eprog='$1' no existeix
redhat_edriver=No has seleccionat cap driver d'impressió
redhat_ehmargin=Hi falta el marge esquerre/dret o bé és invàlid
redhat_evmargin=Hi falta el marge superior/inferior o bé és invàlid
redhat_eres=No has seleccionat cap resolució
redhat_printer2=Model i driver de la impressora

suse_none=Cap
suse_nonemsg=Impressora PostScript o text
suse_prog=Programa
suse_driver=Driver APSfilter
suse_printer=Tipus d'impressora
suse_res=Resolució en PPP
suse_colour=Impressora en Color
suse_paper=Mida del paper
suse_method=Mètode de filtratge
suse_auto=Automàtic
suse_ascii=ASCII
suse_raw=Transparent
suse_extra=Opcions extra de ghostscript
suse_yast2=Driver YAST2
suse_edriver=No has seleccionat cap tipus d'impressora
suse_eres=No has seleccionat cap resolució

estop=No he pogut aturar lpd: $1

acl_printers=Impressores que aquest usuari pot configurar
acl_add=Pot crear impressores
acl_cancel=Pot cancel·lar treballs d'impressió
acl_stop=Pot aturar o iniciar el gestor d'impressió
acl_restart=Només reiniciar
acl_listed=Només per a impressores seleccionades...
acl_pall=Totes les impressores
acl_psel=Seleccionades...
acl_view=Mostra les impressores no configurables
acl_test=Pot imprimir pàgines de prova
acl_user=Gestiona els treballs d'impressió propietat de
acl_user_all=Tots els usuaris
acl_user_this=L'usuari Webmin actual

log_stop=He aturat el servidor d'impressió
log_start=He iniciat el servidor d'impressió
log_restart=He reiniciat el servidor d'impressió
log_cancel_job=He cancel·lat el treball d'impressió $2 a $1
log_cancel_all=He cancel·lat tots els treballs d'impressió de $1
log_create=He creat la impressora $1 a $2
log_modify=He modificat la impressora $1 a $2
log_delete=He suprimit la impressora $1 a $2
log_create_l=He creat la impressora $3 $1 a $2
log_modify_l=He modificat la impressora $3 $1 a $2
log_delete_l=He suprimit la impressora $3 $1 a $2

linux_paralel=Port Paral·lel $1
linux_serial=Port Sèrie $1 (COM$1)
linux_null=Dispositiu Nul
linux_usb=Impressora USB $1

freebsd_paralel=Port Paral·lel
freebsd_serial=Port Sèrie $1 (COM$1)

openbsd_paralel=Port Paral·lel
openbsd_serial=Port Sèrie $1 (COM$1)

unixware_paralel=Port Paral·lel $1
unixware_serial=Port Sèrie $1
unixware_null=Dispositiu Nul

hpux_paralel=Paral·lel $1
hpux_serial=Sèrie $1
hpux_null=Dispositiu Nul

lprng_paralel=Port Paral·lel $1
lprng_serial=Port Sèrie $1 (COM$1)
lprng_null=Dispositiu Nul

solaris_paralel=Port Paral·lel
solaris_uparalel=Port Paral·lel Ultra 5/10
solaris_serial=Port Sèrie $1
solaris_null=Dispositiu Nul

test_title=Pàgina de Prova
test_ecannot=No tens permís per imprimir pàgines de prova
test_desc=Aquest formulari permet imprimir una pàgina de prova per la impressora $1. Selecciona el tipus de pàgina que vols imprimir:
test_0=Pàgina PostScript en blanc i negre
test_1=Pàgina PostScript en color
test_2=Text ASCII
test_3=Qualsevol fitxer pujat
test_print=Imprimeix la pàgina
test_exec=Imprimint la pàgina de prova amb l'ordre $1...
test_failed=...l'ordre ha fallat!
test_ok=...ordre completa.

cups_none=Cap
cups_nonemsg=Impressora transparent o remota
cups_prog=Programa
cups_driver=Driver CUPS


 070701000076e6000081a40000000000000002000000013d1fe2d2000023ab000000200000000000000000000000000000001600000003reloc/lpadmin/lang/de index_title=Druckerverwaltung
index_name=Drucker
index_desc=Beschreibung
index_to=Drucken auf
index_driver=Treiber
index_enabled=Aktiv?
index_accepting=verarbeitet Aufträge?
index_jobs=Auftr&auml;ge
index_none=Es konnten keine installierten Drucker gefunden werden
index_list=Liste...
index_add=Einen neuen Drucker hinzuf&uuml;gen
index_stop=Stoppe Warteschlange
index_stopmsg=Klicken Sie auf diese Schaltfl&auml;che, um den laufenden Verwaltungsprozess f&uuml;r Drucker zu stoppen. Dies wird verhindern, dass lokale oder &uuml;ber ein Netzwerk verbundene Benutzer auf Ihrem System drucken. 
index_start=Starte Warteschlange
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den Verwaltungsprozess f&uuml;r Drucker zu starten. Dies wird lokalen und &uuml;ber ein Netzwerk verbundenen Benutzern gestatten, auf Ihrem System zu drucken. 
index_restart=Warteschlange neu starten
index_restartmsg=Klicken Sie auf diese Schaltfl&auml;che, um den Verwaltungsprozess f&uuml;r Drucker neu zu starten.
index_return=Druckerliste

edit_eedit=Sie haben keine Berechtigung, diesen Drucker zu bearbeiten
edit_eadd=Sie haben keine Berechtigung, Drucker hinzuzuf&uuml;gen
edit_add=Drucker installieren
edit_edit=Drucker bearbeiten
edit_conf=Druckerkonfiguration
edit_name=Name
edit_acc=Akzeptiert Anfragen?
edit_why=Nein - Warum nicht
edit_desc=Beschreibung
edit_ena=Drucken aktiviert?
edit_acl=Zugriffskontrolle
edit_allow=Erlaube jedem
edit_deny=Verweigere jedem
edit_allowu=Erlaube den aufgelisteten Benutzern..
edit_denyu=Verweigere den aufgelisteten Benutzern..
edit_banner=Drucke Banner?
edit_opt=Optional
edit_default=Standarddrucker?
edit_already=Ist bereits Standarddrucker
edit_max=Maximale Gr&ouml;&szlig;e eines Druckauftrags
edit_unlimited=unbegrenzt
edit_dacc=Treiber akzeptiert
edit_dtext=Text
edit_dpost=Postscript
edit_dother=Andere
edit_alt=Alternative Druckernamen
edit_dest=Druckziel
edit_dev=Lokales Ger&auml;t
edit_file=Lokale Datei
edit_remote=Entfernter-Unix-Server
edit_rqueue=Drucker
edit_type=Typ
edit_smb=Entfernter-Windows-Server
edit_share=Drucker
edit_user=Benutzer
edit_pass=Kennwort
edit_wgroup=Arbeitsgruppe
edit_hpnp=Remote-HPNP-Server
edit_port=Anschluss
edit_direct=Direkte TCP-Verbindung
edit_dport=Anschluss
edit_driver=Druckertreiber
edit_check=Test, ob entfernter Server aktiv ist?

blocks=Blocks

save_err=Fehler beim Speichern des Druckers
save_eadd=Sie haben keine Berechtigung, Drucker hinzuzuf&uuml;gen
save_eedit=Sie haben keine Berechtigung, diesen Drucker zu bearbeiten
save_ename='$1' ist kein g&uuml;ltiger Druckername
save_edup=Es existiert bereits ein Drucker mit dem Namen '$1'
save_eallow=Es wurden keine Benutzer eingegeben, denen der Zugriff gestattet werden soll.
save_edeny=Es wurden keine Benutzer eingegeben, denen der Zugriff verweigert werden soll.
save_euser=Benutzer '$1' existiert nicht
save_etype=Sie m&uuml;ssen mindestens einen Typ ausw&auml;hlen, den dieser Treiber akzeptiert
save_emax=Maximale Anzahl von Druckauftr&auml;ge muss eine ganze Zahl sein
save_efile='$1' existiert nicht
save_erhost=Server '$1' existiert nicht
save_erqueue='$1' ist kein g&uuml;ltiger Name f&uuml;r eine Warteschlange auf einem Server
save_eremote=Treiber k&ouml;nnen nicht mit Remote-Unix-Druckern verwendet werden
save_edhost=Der Host '$1' f&uuml;r eine direkte Verbindung existiert nicht
save_edport=Fehlender oder ung&uuml;ltiger Anschluss zur direkten Verbindung

jobs_title=Druckauftr&auml;ge
jobs_header=Druckauftr&auml;ge auf $1
jobs_id=Auftrags-ID
jobs_size=Gr&ouml;&szlig;e
jobs_by=Eingereicht von
jobs_when=Eingereicht um
jobs_file=Dateiname
jobs_cancel=Klicken Sie auf eine Auftrags-ID in der Liste oben, um abzubrechen
jobs_cancelview=Klicke auf eine Job ID von der Liste, um abzubrechen, oder klicke auf die Job Gr&ouml;sse um ihn
anzusehen.
jobs_none=Keine Druckauftr&auml;ge auf $1
jobs_all=L&ouml;sche alle Druckauftr&auml;ge
jobs_bytes=Bytes
jobs_test=Testseite drucken

cancel_ecannot=Sie haben keine Berechtigung, Druckauftr&auml;ge abzubrechen
cancel_err=Fehler beim abbrechen des Druckauftrags
cancel_egone=Druckauftrag $1 elected Es wurde kein Treiber gew&auml;hlt

view_ecannot=Sie k&ouml;nnen diesen Durckauftrag nicht einsehen
view_egone=Dieser Druckauftrag existiert nicht mehr

start_ecannot=Sie haben keine Berechtigung, die Druck-Verwaltung zu starten
start_err=Fehler beim Starten der Druck-Verwaltung

stop_ecannot=Sie haben keine Berechtigung, die Druck-Verwaltung zu stoppen
stop_err=Fehler beim Stoppen der Druck-Verwaltung

restart_ecannot=Sie sind nicht berechtigt den Scheduler neu zu starten.
restart_err=Der Scheduler konnte nicht neu gestartet werden.

webmin_none=Keiner
webmin_nonemsg=Postscript oder Text Drucker
webmin_remotemsg=Ferner Drucker auf Server
webmin_model=Modell
webmin_prog=Programm
webmin_driver=Webmin Treiber
webmin_uniprint=Uniprint Treiber
webmin_edrivers=Fehler beim holen der Treiber von $1. Webmin Treiber, die Ghostscript benutzen, sind nicht verf&uuml;gbar
webmin_egs=Das Kommando $1 wurde nicht gefunden. Webmin Treiber, die Ghostscript benutzen, sind nicht verf&uuml;gbar
webmin_edriver='$1' existiert nicht

caldera_none=Keiner
caldera_nonemsg=Ferner oder roher Drucker
caldera_prog=Programm
caldera_coas=COAS Treiber
caldera_printer=Drucker und Aufl&ouml;sung
caldera_eof=Sende EOF?
caldera_paper=Papier Gr&ouml;sse
caldera_double=Drucke doppel-seitig?
caldera_gsopts=Zus&auml;tzliche GS Einstellungen
caldera_uniprint=Uniprint Treiber
caldera_eprog='$1' existiert nicht
caldera_edriver=Es wurde kein Treiber gew&auml;hlt
caldera_eres=Es wurde keine Aufl&ouml;sung gew&auml;hlt

redhat_none=Keine
redhat_nonemsg=Postscript- oder Textdrucker
redhat_prog=Programm
redhat_driver=Redhat-Treiber
redhat_printer=Drucker und Aufl&ouml;sung
redhat_eof=Sende EOF?
redhat_paper=Papiergr&ouml;&szlig;e
redhat_pages=Seiten pro Ausgabeseite
redhat_gsopts=Zus&auml;tzliche GS-Einstellungen
redhat_hmargin=Rechter/linker Rand
redhat_vmargin=Oberer/unterer Rand
redhat_crlf=Gl&auml;tte Treppcheneffekte von Text?
redhat_eprog='$1' existiert nicht
redhat_edriver=Es wurde kein Treiber gew&auml;hlt
redhat_ehmargin=Fehlender oder ung&uuml;ltiger rechter/linker Rand
redhat_evmargin=Fehlender oder ung&uuml;ltiger oberer/unterer Rand
redhat_eres=Es wurde keine Aufl&ouml;sung gew&auml;hlt

suse_none=Keiner
suse_nonemsg=Postscript oder Text Drucker
suse_prog=Program
suse_driver=APSfilter Treiber
suse_printer=Printer Typ
suse_res=Resolution in DPI
suse_colour=Farbdrucker?
suse_paper=Papiergr&ouml;sse
suse_method=Filtermethode
suse_auto=Automatisch
suse_ascii=ASCII
suse_raw=Raw
suse_extra=Extra Ghostscript Optionen
suse_yast2=YAST2 Treiber
suse_edriver=Kein Drucker Typ gew&auml;hlt
suse_eres=Fehlende oder ung&uuml;ltige Aufl&ouml;sung

estop=Stoppen von lpd : $1 gescheitert

acl_printers=Drucker, die dieser Benutzer konfigurieren darf
acl_add=Darf neue Drucker hinzuf&uuml;gen?
acl_cancel=Darf Druckauftr&auml;ge einsehen und abbrechen?
acl_stop=Darf Druckverwaltung starten oder stoppen?
acl_restart=Nur Neustart?
acl_listed=Nur auf ausgew&auml;hlten Druckern ..
acl_all=Auf allen Druckern
acl_psel=Ausgew&auml;hlte...
acl_view=Zeige nichtkonfigurierbare Drucker?
acl_test=Darf Testseite drucken?
acl_user=Bearbeite Druckauftr&auml;ge f&uuml;r
acl_user_all=Alle Benutzer
acl_user_this=Derzeitger Webmin Benutzer

log_stop=Drucker Scheduler gestoppt
log_start=Drucker Scheduler gestartet
log_restart=Drucker Scheduler neu gestartet
log_cancel_job=Druckjob $2 auf $1 abgebrochen
log_cancel_all=Alle Druckjobs auf $1 abgebrochen
log_create=Drucker $1 auf $2 angelegt
log_modify=Drucker $1 auf $2 ge&auml;ndert
log_delete=Drucker $1 auf $2 gel&ouml;scht
log_create_l=$3 Drucker $1 auf $2 angelegt
log_modify_l=$3 Drucker $1 auf $2 ge&auml;ndert
log_delete_l=$3 Drucker $1 auf $2 gel&ouml;scht
 
linux_paralel=Parallele Schnittstelle $1
linux_serial=Serielle Schnittstelle $1 (COM$1)
linux_null=kein Ger&auml;t
linux_usb=USB Drucker $1

freebsd_paralel=Parallele Schnittstelle
freebsd_serial=Serielle Schnittstelle $1 (COM$1)

openbsd_paralel=Parallele Schnittstelle
openbsd_serial=Serielle Schnittstelle $1 (COM$1)

unixware_paralel=Parallele Schnittstelle $1
unixware_serial=Serielle Schnittstelle $1
unixware_null=kein Ger&auml;t

hpux_paralel=Parallele Schnittstelle $1
hpux_serial=Seriell $1
hpux_null=kein Ger&auml;t

lprng_paralel=Parallele Schnittstelle $1
lprng_serial=Serielle Schnittstelle $1 (COM$1)
lprng_null=kein Ger&auml;t

solaris_paralel=Parallele Schnittstelle
solaris_uparalel=Ultra 5/10 Parallele Schnittstelle
solaris_serial=Serielle Schnittstelle  $1
solaris_null=kein Ger&auml;t

test_title=Drucke Testseite
test_ecannot=Sie sind nicht berechtigt die Testseite zu drucken
test_desc=Diese Maske erlaubt Ihnen eine Testseite auf Drucker $1 zu drucken. W&auml;hlen Sie den Typ:
test_0=Postscript S/W
test_1=Postscript Farbe
test_2=Nur ASCII Text
test_3=Eine geladene Datei
test_print=Drucke Seite
test_exec=Drucke Testseite mit Kommando $1 ..
test_failed=.. Kommando fehkgeschlagen!
test_ok=.. Kommando beendet.

cups_none=Keiner
cups_nonemsg=ferner oder RAW Drucker
cups_prog=Programm
cups_driver=CUPS Treiber
 070701000076e7000081a40000000000000002000000013d1fe2d200001dac000000200000000000000000000000000000001600000003reloc/lpadmin/lang/en index_title=Printer Administration
index_name=Printer
index_desc=Description
index_to=Print to
index_driver=Driver
index_enabled=Enabled?
index_accepting=Accepting?
index_jobs=Jobs
index_none=No printers installed on this system
index_list=list..
index_add=Add a new printer
index_stop=Stop Scheduler
index_stopmsg=Click this button to stop the running print scheduler process. This will prevent any local or remote users from printing on your system.
index_start=Start Scheduler
index_startmsg=Click this button to start the print scheduler process. This will allow local and remote users to print on your system.
index_restart=Restart Scheduler
index_restartmsg=Click this button to restart the print scheduler process. This will force the current print configuration to be applied.
index_return=printer list

edit_eedit=You are not allowed to edit this printer
edit_eadd=You are not allowed to add printers
edit_add=Create Printer
edit_edit=Edit Printer
edit_conf=Printer Configuration
edit_name=Name
edit_acc=Accepting requests?
edit_why=No - Why not
edit_desc=Description
edit_ena=Printing enabled?
edit_acl=Access control
edit_allow=Allow everyone
edit_deny=Deny everyone
edit_allowu=Allow listed users..
edit_denyu=Deny listed users..
edit_banner=Print banner?
edit_opt=Optional
edit_default=Default printer?
edit_already=Already the default printer
edit_max=Max print job size
edit_unlimited=Unlimited
edit_dacc=Driver accepts
edit_dtext=Text
edit_dpost=Postscript
edit_dother=Other
edit_alt=Alternate printer names
edit_dest=Print Destination
edit_dev=Local device
edit_file=Local file
edit_remote=Remote Unix server
edit_rqueue=Printer
edit_type=Type
edit_smb=Remote Windows server
edit_share=Printer
edit_user=User
edit_pass=Password
edit_wgroup=Workgroup
edit_hpnp=Remote HPNP server
edit_port=Port
edit_direct=Direct TCP connection
edit_dport=Port
edit_driver=Printer Driver
edit_check=Check if remote server is up?

blocks=blocks

save_err=Failed to save printer
save_eadd=You are not allowed to add printers
save_eedit=You are not allowed to edit this printer
save_ename='$1' is not a valid printer name
save_edup=A printer called '$1' already exists
save_eallow=No users to allow entered
save_edeny=No users to deny entered
save_euser=User '$1' does not exist
save_etype=You must select at least one type for this driver to accept
save_emax=Max print job size must be an integer
save_efile='$1' does not exist
save_erhost=Remote host '$1' does not exist
save_erqueue='$1' is not a valid remote queue name
save_eremote=Drivers cannot be used with remote Unix printers
save_edhost=Direct host '$1' does not exist
save_edport=Missing or invalid direct port

jobs_title=Print Jobs
jobs_header=Print jobs on $1
jobs_id=Job ID
jobs_size=Size
jobs_by=Submitted By
jobs_when=Submitted At
jobs_file=Filename
jobs_cancel=Click on a job ID from the list above to cancel.
jobs_cancelview=Click on a job ID from the list above to cancel, or click on the job size to view it.
jobs_none=No print jobs on $1
jobs_all=Cancel all print jobs
jobs_bytes=bytes
jobs_test=Print Test Page

cancel_ecannot=You are not allowed to cancel print jobs
cancel_err=Failed to cancel print job
cancel_egone=Print job $1 no longer exists

view_ecannot=You cannot view this print job
view_egone=This print job no longer exists

start_ecannot=You are not allowed to start the scheduler
start_err=Failed to start scheduler

stop_ecannot=You are not allowed to stop the scheduler
stop_err=Failed to stop scheduler

restart_ecannot=You are not allowed to restart the scheduler
restart_err=Failed to restart scheduler

webmin_none=None
webmin_nonemsg=Postscript or text printer
webmin_remotemsg=Remote printer
webmin_model=Model
webmin_prog=Program
webmin_driver=Webmin driver
webmin_uniprint=Uniprint driver
webmin_edrivers=Failed to get drivers from $1. Webmin printer drivers using ghostscript are not available
webmin_egs=The command $1 was not found. Webmin printer drivers using ghostscript are not available
webmin_edriver='$1' does not exist

caldera_none=None
caldera_nonemsg=Remote or raw printer
caldera_prog=Program
caldera_coas=COAS driver
caldera_printer=Printer and resolution
caldera_eof=Send EOF?
caldera_paper=Paper size
caldera_double=Print double-sided?
caldera_gsopts=Additional GS options
caldera_uniprint=Uniprint driver
caldera_eprog='$1' does not exist
caldera_edriver=No printer driver selected
caldera_eres=No resolution selected

redhat_none=None
redhat_nonemsg=Postscript or text printer
redhat_prog=Program
redhat_driver=Redhat driver
redhat_printer=Printer and resolution
redhat_eof=Send EOF?
redhat_paper=Paper size
redhat_pages=Pages per output page
redhat_gsopts=Additional GS options
redhat_hmargin=Right/left margin
redhat_vmargin=Top/bottom margin
redhat_crlf=Fix stair-stepping text?
redhat_eprog='$1' does not exist
redhat_edriver=No printer driver selected
redhat_ehmargin=Missing or invalid right/left margin
redhat_evmargin=Missing or invalid top/bottom margin
redhat_eres=No resolution selected
redhat_printer2=Printer model and driver

suse_none=None
suse_nonemsg=Postscript or text printer
suse_prog=Program
suse_driver=APSfilter driver
suse_printer=Printer type
suse_res=Resolution in DPI
suse_colour=Colour printer?
suse_paper=Paper size
suse_method=Filter method
suse_auto=Automatic
suse_ascii=ASCII
suse_raw=Raw
suse_extra=Extra ghostscript options
suse_yast2=YAST2 driver
suse_edriver=No printer type selected
suse_eres=Missing or invalid resolution

estop=Failed to stop lpd : $1

acl_printers=Printers this user can configure
acl_add=Can add new printers?
acl_cancel=Can cancel print jobs?
acl_stop=Can stop or start scheduler?
acl_restart=Restart only
acl_listed=Only on selected printers ..
acl_pall=All printers
acl_psel=Selected..
acl_view=Show non-configurable printers?
acl_test=Can print test pages?
acl_user=Manage print jobs owned by
acl_user_all=All users
acl_user_this=Current Webmin user

log_stop=Stopped print scheduler
log_start=Started print scheduler
log_restart=Restarted print scheduler
log_cancel_job=Cancelled print job $2 on $1
log_cancel_all=Cancelled all print jobs on $1
log_create=Created printer $1 on $2
log_modify=Modified printer $1 on $2
log_delete=Deleted printer $1 on $2
log_create_l=Created $3 printer $1 on $2
log_modify_l=Modified $3 printer $1 on $2
log_delete_l=Deleted $3 printer $1 on $2

linux_paralel=Parallel Port $1
linux_serial=Serial Port $1 (COM$1)
linux_null=Null Device
linux_usb=USB printer $1

freebsd_paralel=Parallel Port
freebsd_serial=Serial Port $1 (COM$1)

openbsd_paralel=Parallel Port
openbsd_serial=Serial Port $1 (COM$1)

unixware_paralel=Parallel Port $1
unixware_serial=Serial Port $1
unixware_null=Null Device

hpux_paralel=Parallel $1
hpux_serial=Serial $1
hpux_null=Null Device

lprng_paralel=Parallel Port $1
lprng_serial=Serial Port $1 (COM$1)
lprng_null=Null Device

solaris_paralel=Parallel Port
solaris_uparalel=Ultra 5/10 Parallel Port
solaris_serial=Serial Port $1
solaris_null=Null Device

test_title=Print Test Page
test_ecannot=You are not allowed to print test pages
test_desc=This form allows you to print a test page for printer $1. Select the type of page that you want to print :
test_0=Black and white Postscript page
test_1=Colour Postscript page
test_2=Plain ASCII text
test_3=Any uploaded file
test_print=Print page
test_exec=Printing test page with command $1 ..
test_failed=.. command failed!
test_ok=.. command complete.

cups_none=None
cups_nonemsg=Remote or raw printer
cups_prog=Program
cups_driver=CUPS driver
cups_eprog='$1' is not a valid program
cups_opts=Options for $1

070701000076e8000081a40000000000000002000000013d1fe2d200002254000000200000000000000000000000000000001600000003reloc/lpadmin/lang/es index_title=Administración de Impresoras
index_name=Impresora
index_desc=Descripción
index_to=Imprime en
index_driver=Filtro (Controlador)
index_enabled=¿Activado?
index_accepting=¿Aceptando?
index_jobs=Tareas
index_none=No hay impresoras instaladas en este sistema
index_list=relación...
index_add=Añadir una nueva impresora
index_stop=Parar Planificador
index_stopmsg=Haz click en este botón para parar el proceso en curso del planificador de impresión. Esto hará prevenir que cualquier usuario local o remoto impriman en tu sistema.
index_start=Arrancar Planificador
index_startmsg=Haz click en este botón para arrancar el proceso del planificador de impresión. Esto permitirá que los usuarios locales y remotos impriman en tu sistema.
index_restart=Rearrancar Planificador
index_restartmsg=Haz click en este botón para rearrancar el proceso del planificador de impresión. Esto forzará la aplicación de la configuración en curso.
index_return=Lista de impresoras

edit_eedit=No estás autorizado a editar esta impresora
edit_eadd=No estás autorizado a añadir impresoras
edit_add=Crear Impresora
edit_edit=Editar Impresora
edit_conf=Configuración de Impresora
edit_name=Nombre
edit_acc=¿Aceptando requerimientos?
edit_why=No - Por qué no
edit_desc=Descripción
edit_ena=¿Impresión activada?
edit_acl=Control de Acceso
edit_allow=Permitir a todos
edit_deny=Denegar a todos
edit_allowu=Permitir a usuarios listados...
edit_denyu=Denegar a usuarios listados...
edit_banner=¿Imprimo página de cabecera?
edit_opt=Opcional
edit_default=¿Es la impresora por Defecto?
edit_already=Ya es la impresora por defecto
edit_max=Medida máxima de tarea de impresión
edit_unlimited=Ilimitado
edit_dacc=El controlador acepta
edit_dtext=Texto
edit_dpost=Postscript
edit_dother=Otros
edit_alt=Nombres alternativos de impresora
edit_dest=Destino de la impresión
edit_dev=Dispositivo local
edit_file=Archivo local
edit_remote=Servidor Unix remoto
edit_rqueue=Impresora
edit_type=Tipo
edit_smb=Servidor Windows remoto
edit_share=Impresora
edit_user=Usuario
edit_pass=Clave de Acceso
edit_wgroup=Grupo de Trabajo
edit_hpnp=Servidor HPNP remoto
edit_port=Puerto
edit_direct=Conexión TCP directa
edit_dport=Puerto
edit_driver=Controlador de Impresora
edit_check=¿Reviso si el servidor remoto está activo?

blocks=bloques

save_err=Error al salvar impresora
save_eadd=No estás autorizado a añadir impresoras
save_eedit=No estás autorizado a editar esta impresora
save_ename='$1' no es un nombre válido de impresora
save_edup=Ya existe una impresora llamada '$1'
save_eallow=No se han digitado usuarios a autorizar
save_edeny=No se han digitado usuarios a denegar
save_euser=El usuario '$1' no existe
save_etype=Debes de seleccionar al menos un tipo para que sea aceptado por este controlador
save_emax=La medida máxima de tareas de impresión debe de ser un entero
save_efile='$1' no existe
save_erhost=La máquina remota '$1' no existe
save_erqueue='$1' no es un nombre de cola remota válido
save_eremote=Los controladores no pueden ser usados con impresoras Unix remotas
save_edhost=La máquina directa '$1' no existe
save_edport=Puerto directo falta o es inválido

jobs_title=Tareas de impresión
jobs_header=Imprimir tareas en $1
jobs_id=ID de Tarea
jobs_size=Medida
jobs_by=Puesto Por
jobs_when=Puesto a las
jobs_file=Nombre de Archivo
jobs_cancel=Haz click en una ID de tarea de la lista superior para cancelarla.
jobs_cancelview=Haz click en una ID de tarea de la lista superior para cancelarla o haz click en la medida de la tarea para verla.
jobs_none=No hay tareas de impresión en $1
jobs_all=Cancelar todas las tareas de impresión
jobs_bytes=octetos
jobs_test=Imprimir Página de Prueba

cancel_ecannot=No estás autorizado a cancelar tareas de impresión
cancel_err=Error al cancelar tarea de impresión
cancel_egone=La tarea de impresión $1 ya no existe

view_ecannot=No puedes ver esta tarea de impresión
view_egone=Esta tarea de impresión ya no existe

start_ecannot=No estás autorizado a arrancar el planificador
start_err=Error al arrancar planificador

stop_ecannot=No estás autorizado a parar el planificador
stop_err=Error al parar planificador

restart_ecannot=No estás autorizado a rearrancar el planificador de impresión
restart_err=No pude rearrancar el planificador de impresión

webmin_none=Ninguno
webmin_nonemsg=Impresora Postscript o de texto
webmin_remotemsg=Impresora remota
webmin_model=Modelo
webmin_prog=Programa
webmin_driver=Controlador de Webmin
webmin_uniprint=Controlador Uniprint
webmin_edrivers=Error al obtener los controladores desde $1. Los controladores de impresoras de Webmin que utilicen ghostscript no estarán disponibles
webmin_egs=El comando $1 no fue encontrado. Los controladores de impresora de Webmin que utilicen ghostscript no estarán disponibles
webmin_edriver='$1' no existe

caldera_none=Ninguno
caldera_nonemsg=Impresora remota o sin buffer
caldera_prog=Programa
caldera_coas=Controlador COAS
caldera_printer=Impresora y resolución
caldera_eof=¿Envío Fin-de-Archivo (EOF)?
caldera_paper=Medida del papel
caldera_double=¿Imprimo por ambas caras?
caldera_gsopts=Opciones GS adicionales
caldera_uniprint=Controlador Uniprint
caldera_eprog='$1' no existe
caldera_edriver=No se ha seleccionado controlador de impresora
caldera_eres=No se ha seleccionado resolución

redhat_none=Ninguno
redhat_nonemsg=Impresora postscript o de texto
redhat_prog=Programa
redhat_driver=Controlador Redhat
redhat_printer=Impresora y resolución
redhat_eof=¿Envío Fin-de-Archivo (EOF)?
redhat_paper=Medida del papel
redhat_pages=Página por página de salida
redhat_gsopts=Opciones GS adicionales
redhat_hmargin=Márgen Derecho/Izquierdo
redhat_vmargin=Márgen Superior/Inferior
redhat_crlf=¿Fijo el texto en modo escalonando-escalera?
redhat_eprog='$1' no existe
redhat_edriver=No se ha seleccionado controlador de impresora
redhat_ehmargin=Márgen derecho/izquierdo falta o es inválido
redhat_evmargin=Márgen superior/inferior falta o es inválido
redhat_eres=No se ha seleccionado resolución
redhat_printer2=Model y conductor de impresora

suse_none=Ninguna
suse_nonemsg=Impresora postscript o de texto
suse_prog=Programa
suse_driver=Controlador APSfilter
suse_printer=Tipo de impresora
suse_res=Resolución en DPI
suse_colour=¿Impresora a color?
suse_paper=Medida del papel
suse_method=Método de filtrado
suse_auto=Automático
suse_ascii=ASCII
suse_raw=Sin búfer
suse_extra=Opciones extra de ghostscript
suse_yast2=Conductor de YAST2
suse_edriver=No se ha selecciona tipo de impresora
suse_eres=Resuloción falta o es inválida

estop=No pude parar lpd: $1

acl_printers=Impresoras que este usuario puede configurar
acl_add=¿Puedo añadir impresoras nuevas?
acl_cancel=¿Puedo ver y cancelar tareas de impresión?
acl_stop=¿Puedo parar o arrancar el planificador?
acl_restart=Sólo rearrancar
acl_listed=Sólo en las impresoras seleccionadas...
acl_pall=Todas las impresoras
acl_psel=Las seleccionadas...
acl_view=¿Mostrar impresoras no configurables?
acl_test=¿Puedo imprimir páginas de prueba?

log_stop=Parado Gestor de impresión
log_start=Arrancado gestor de impresión
log_restart=Rearrancado planificador de impresión
log_cancel_job=Cancelada tarea de impresión $2 en $1
log_cancel_all=Canceladas todas las tareas de impresión en $1
log_create=Creada impresora $1 en $2
log_modify=Modificada impresora $1 en $2
log_delete=Borrada impresora $1 en $2
log_create_l=Creada $3 impresora $1 en $2
log_modify_l=Modificada $3 impresora $1 en $2
log_delete_l=Borrada $3 impresora $1 en $2

linux_paralel=Puerto Paralelo $1
linux_serial=Puerto Serial $1 (COM$1)
linux_null=Dispositivo Nulo
linux_usb=Impresora USB $1

freebsd_paralel=Puerto Paralelo
freebsd_serial=Puerto Serial $1 (COM$1)

openbsd_paralel=Puerto Paralelo
openbsd_serial=Puerto Serial $1 (COM$1)

unixware_paralel=Puerto Paralelo $1
unixware_serial=Puerto Serial $1
unixware_null=Dispositivo Nulo

hpux_paralel=Paralelo $1
hpux_serial=Serial $1
hpux_null=Dispositivo Nulo

lprng_paralel=Puerto Paralelo $1
lprng_serial=Puerto Serial $1 (COM$1)
lprng_null=Dispositivo Nulo

solaris_paralel=Puerto Paralelo
solaris_uparalel=Puerto Paralelo Ultra 5/10
solaris_serial=Puerto Serial $1
solaris_null=Dispositivo Nulo

test_title=Imprimir Página de Prueba
test_ecannot=No estás autorizado a imprimir páginas de prueba
test_desc=Este formulario te permite imprimir una página de prueba en la impresora $1. Selecciona el tipo de página que deseas imprimir:
test_0=Página Postcript en blanco y negro
test_1=Página Postscript en color
test_2=Texto ASCII
test_3=Cualquier fichero cargado
test_print=Imprimir página
test_exec=Imprimiendo página de prueba con el comando $1...
test_failed=... ¡Falló el comando!
test_ok=... comando completado.

cups_none=Ninguno
cups_nonemsg=Impresora remota o directa
cups_prog=Programa
cups_driver=Controlador CUPS

070701000076e9000081a40000000000000002000000013d1fe2d200002242000000200000000000000000000000000000001600000003reloc/lpadmin/lang/fr index_title=Administration de l'Imprimante
index_name=Imprimante
index_desc=Description
index_to=Imprimer à
index_driver=Pilote
index_enabled=Activée ?
index_accepting=Acceptant ?
index_jobs=Tâches
index_none=Aucune imprimante installée sur ce système
index_list=liste
index_add=Ajouter une nouvelle imprimante
index_stop=Arrêter le gestionnaire
index_stopmsg=Cliquer sur ce bouton pour arrêter le gestionnaire d'impression.  Ceci va prévenir les usagers local et distant d'imprimer sur votre système.
index_start=Démarrer le gestionnaire
index_startmsg=Cliquer sur ce bouton pour démarrer le gestionnaire d'impression.  Ceci va permettre aux usagers local et distant d'imprimer sur votre système.
index_restart=Redémarrer le gestionnaire
index_restartmsg=Cliquer ce bouton pour redémarrer le processus de gestionnaire d'imprimante. Ceci forcera l'application de la configuration d'impression actuelle.
index_return=liste d'imprimantes

edit_eedit=Vous n'êtes pas autorisé à éditer cette imprimante
edit_eadd=Vous n'êtes pas autorisé à ajouter une imprimante
edit_add=Créer une imprimante
edit_edit=Éditer une imprimante
edit_conf=Configuration de l'imprimante
edit_name=Nom
edit_acc=Accepte des requêtes?
edit_why=Non - Pourquoi pas
edit_desc=Description
edit_ena=Impression active?
edit_acl=Contrôle d'accès
edit_allow=Autorisé n'importe qui
edit_deny=Refuser tout le monde
edit_allowu=Autoriser les usagers listés
edit_denyu=Refuser les usagers listés
edit_banner=Imprimer une bannière?
edit_opt=Optionnel
edit_default=Imprimante par défaut?
edit_already=Déjà l'imprimante par défaut
edit_max=Taille maximum de la tâche d'impression
edit_unlimited=Illimitée
edit_dacc=Pilote accepte
edit_dtext=Texte
edit_dpost=Postscript
edit_dother=Autre
edit_alt=Autres noms à l'imprimante
edit_dest=Destination de l'impression
edit_dev=Périphérique local
edit_file=Fichier local
edit_remote=Serveur Unix distant
edit_rqueue=Imprimante
edit_type=Type
edit_smb=Serveur Windows distant
edit_share=Imprimante
edit_user=Nom d'usager
edit_pass=Mot de passe
edit_wgroup=Groupe de travail
edit_hpnp=Serveur HPNP distant
edit_port=Port
edit_direct=Connection TCP directe
edit_dport=Port
edit_driver=Pilote d'Impression
edit_check=Vérifier si le serveur distant tourne ?

blocks=blocs

save_err=Impossible d'enregistrer l'imprimante
save_eadd=Vous n'êtes pas autorisé à ajouter une imprimante
save_eedit=Vous n'êtes pas autorisé à éditer cette imprimante
save_ename=$1 n'est pas un nom d'imprimante valide
save_edup=Une imprimante appelée $1 existe déjà
save_eallow=Aucun usager autorisé d'entrée
save_edeny=Aucun usager refusé d'entrée
save_euser=L'usager $1 n'existe pas
save_etype=Vous devez choisir au moins un type pour ce pilote
save_emax=La taille maximum des tâches d'impressions doit être un entier
save_efile=$1 n'existe pas
save_erhost=L'hôte distant $1 ne semble pas exister
save_erqueue=$1 n'est pas un nom valide de file d'attente distante
save_eremote=Les pilotes ne peuvent être utilisés sur les imprimantes Unix distante
save_edhost=La machine directe '$1' n'existe pas
save_edport=Port direct invalide ou manquant

jobs_title=Tâches d'Impression
jobs_header=Tâches d'impression pour $1
jobs_id=Numéro de la tâche
jobs_size=Taille
jobs_by=Soumit Par
jobs_when=Soumit À
jobs_file=Nom de fichier
jobs_cancel=Cliquer sur un numéro de tâche pour l'annuler
jobs_cancelview=Cliquer sur une ID de tâche dans la liste ci-dessus pour annuler, ou cliquer sur la taille de la tâche pour la voir.
jobs_none=Aucune tâche d'impression sur $1
jobs_all=Effacer toutes les tâches d'impression
jobs_bytes=octets
jobs_test=Imprimer une page de test

cancel_ecannot=Vous n'êtes pas autorisé à annuler une tâche d'impression
cancel_err=Impossible d'annuler la tâche d'impression
cancel_egone=La tâche d'impression $1 n'existe plus

view_ecannot=Vous ne pouvez voir cette tâche d'impression
view_egone=Cette tâche d'impression n'existe plus

start_ecannot=Vous n'êtes pas autorisé à démarrer le gestionnaire d'impression
start_err=Impossible d'arrêter le gestionnaire d'impression

stop_ecannot=Vous n'êtes pas autorisé à arrêter le gestionnaire
stop_err=Impossible d'arrêter le gestionnaire

restart_ecannot=Vous n'êtes pas autorisé à redémarrer le gestionnaire
restart_err=Echec du redémarrage du gestionnaire

webmin_none=Aucune
webmin_nonemsg=Imprimante Postscript ou texte
webmin_remotemsg=Imprimante distante
webmin_model=Modèle
webmin_prog=Programme
webmin_driver=Pilote Webmin
webmin_uniprint=Pilote Uniprint
webmin_edrivers=Impossible de prendre les pilotes de $1.  Les pilotes Webmin utilisant Ghostscript ne seront pas disponible
webmin_egs=La commande $1 n'a pas été trouvé.  Les pilotes Webmin utilisant Ghostscript ne seront pas disponible
webmin_edriver=$1 n'existe pas

caldera_none=Aucune
caldera_nonemsg=Imprimante distante ou directe
caldera_prog=Programme
caldera_coas=Pilote COAS
caldera_printer=Imprimante et résolution
caldera_eof=Envoyer le signal de fin de fichier?
caldera_paper=Taille du papier
caldera_double=Imprimer des deux cotés du papier?
caldera_gsopts=Options Ghostscript additionnel
caldera_uniprint=Pilote Uniprint
caldera_eprog=$1 n'existe pas
caldera_edriver=Aucun pilote d'imprimante sélectionné
caldera_eres=Aucune résolution sélectionnée

redhat_none=Aucune
redhat_nonemsg=Imprimante texte ou Postscript
redhat_prog=Programme
redhat_driver=Pilote de RedHat
redhat_printer=Imprimante et résolution
redhat_eof=Envoyer le signal de fin de fichier?
redhat_paper=Taille du papier
redhat_pages=Pages par page de sortie
redhat_gsopts=Options Ghostscript additionnel
redhat_hmargin=Marge Droite/Gauche
redhat_vmargin=Marge Haut/Bas
redhat_crlf=Fixer l'effet escalier du texte?
redhat_eprog=$1 n'existe pas
redhat_edriver=Aucun pilote d'imprimante de sélectionné
redhat_ehmargin=Marge Droite/Gauche manquante ou invalide
redhat_evmargin=Marge Haut/Bas manquante ou invalide
redhat_eres=Aucune résolution de sélectionné
redhat_printer2=Modèle d'imprimante et pilote

suse_none=Aucune
suse_nonemsg=Imprimante texte ou Postscript
suse_prog=Programme
suse_driver=Pilote APSfilter
suse_printer=Type d'imprimante
suse_res=Résolution en points par pouce
suse_colour=Imprimante couleur ?
suse_paper=Taille de papier
suse_method=Méthode de filtre
suse_auto=Automatique
suse_ascii=ASCII
suse_raw=Brute
suse_extra=Options ghostscript supplémentaires
suse_yast2=Pilote YAST2
suse_edriver=Aucun type d'imprimante sélectionné
suse_eres=Résolution manquante ou invalide

estop=Echec de l'arrêt de lpd : $1

acl_printers=Imprimantes que cet usager peut configurer
acl_add=Peut ajouter de nouvelle imprimante?
acl_cancel=Peut annuler une tâche d'impression?
acl_stop=Peut arrêter ou démarrer le gestionnaire d'impression?
acl_restart=Redémarrer seulement
acl_listed=Seulement sur les imprimantes sélectionnées
acl_pall=Toutes les imprimantes
acl_psel=Sélectionnées ...
acl_view=Montrer les imprimantes non configurables ?
acl_test=Peut imprimer des pages de test ?

log_stop=Gestionnaire d'impression stoppé
log_start=Gestionnaire d'impression démarré
log_restart=Gestionnaire d'impression redémarré
log_cancel_job=Tâche d'impression $2 supprimée sur $1
log_cancel_all=Toutes les tâches d'impression sur $1 supprimées
log_create=Imprimante $1 crée sur $2
log_modify=Imprimante $1 modifiée sur $2
log_delete=Imprimante $1 supprimée sur $2
log_create_l=Created $3 printer $1 on $2
log_modify_l=Modified $3 printer $1 on $2
log_delete_l=Deleted $3 printer $1 on $2

linux_paralel=Port parallèle $1
linux_serial=Port série $1 (COM$1)
linux_null=Périphérique nul
linux_usb=Imprimante USB $1

freebsd_paralel=Port parallèle
freebsd_serial=Port série $1 (COM$1)

openbsd_paralel=Port parallèle
openbsd_serial=Port série $1 (COM$1)

unixware_paralel=Port parallèle $1
unixware_serial=Port série $1
unixware_null=Périphérique nul

hpux_paralel=Parallèle $1
hpux_serial=Série $1
hpux_null=Périphérique nul

lprng_paralel=Port parallèle $1
lprng_serial=Port série $1 (COM$1)
lprng_null=Périphérique nul

solaris_paralel=Port parallèle
solaris_uparalel=Port parallèle Ultra 5/10
solaris_serial=Port série $1
solaris_null=Périphérique nul

test_title=Imprimer une page de test
test_ecannot=Vous n'êtes pas autorisé à imprimer des pages de test
test_desc=Ce formulaire vous permet d'imprimer une page de test pour l'imprimante $1. Sélectionner le type de page que vous voulez imprimer :
test_0=Page Postscript noir et blanc
test_1=Page Postscript couleur
test_2=Texte ASCII simple
test_3=N'importe quel fichier téléchargé
test_print=Imprimer la page
test_exec=Impression de la page de test avec la commande $1 ...
test_failed=... commande échouée !
test_ok=... commande réussie.

cups_none=Aucun
cups_nonemsg=Imprimante distante ou sans traitement
cups_prog=Programme
cups_driver=Pilote CUPS

  070701000076ea000081a40000000000000002000000013d1fe2d200001c3e000000200000000000000000000000000000001600000003reloc/lpadmin/lang/hu # webmin-0.82/acl/lang/hu
# Translated by <kissg@sztaki.hu>
# Some Caldera/RedHat/SuSe/HPUX related strings remained untranslated due to
# their specific nature. Further volunteers wanted.

index_title=Nyomtatók
index_name=Nyomtató
index_desc=Megnevezés
index_to=Kimenet
index_driver=Meghajtó
index_enabled=Engedé-<br>lyezve?
index_accepting=Fogadó-<br>képes?
index_jobs=Feladatok
index_none=Egyetlen nyomtató sincs a rendszerben
index_list=lista...
index_add=Új nyomtató rendszerbe állítása
index_stop=Ütemezõ leállítása
index_stopmsg=Ha megnyomod ezt a gombot, megáll a nyomtatás ütemezésést végzõ processz, és se a helyi, se a távoli felhasználók nem tudnak nyomtatni a rendszereden.
index_start=Ütemezõ indítása
index_startmsg=Ha megnyomod ezt a gombot, elindul a nyomtatás ütemezésést végzõ processz, és a helyi illetve távoli felhasználók elküldhetik a nyomtatnivalójukat.
index_return=a nyomtatók listájához

edit_eedit=Nem módosíthatod ennek a nyomtatónak a beállításait
edit_eadd=Nem vehetsz fel új nyomtatót a rendszerbe
edit_add=Új nyomtató felvétele
edit_edit=Nyomtató módosítása
edit_conf=Nyomtatósor konfigurációja
edit_name=Azonosító
edit_acc=Elfogadjon új feladatokat?
edit_why=Nem, mert
edit_desc=Megnevezés
edit_ena=Nyomtatás engedélyezve?
edit_acl=Ki nyomtathat ide?
edit_allow=Bárki
edit_deny=Senki
edit_allowu=Csak a felsoroltak
edit_denyu=Bárki,&nbsp;kivéve&nbsp;a&nbsp;felsoroltakat
edit_banner=Címlap nyomtatása?
edit_opt=Választható
edit_default=Ez az alap-<br>nyomtató?
edit_already=Igen, korábban már annak jelölted ki
edit_max=A nyomtatnivaló maximális&nbsp;mérete (kB)
edit_dacc=Elfogadható nyomtatnivaló
edit_dtext=Szöveg (text)
edit_dpost=Postscrip&#116;
edit_dother=Egyéb
edit_alt=Alternatív azonosítók
edit_dest=Kimenet
edit_dev=Helyi interfész
edit_file=Helyi file
edit_remote=Távoli Unixos gép
edit_rqueue=Nyomtató
edit_type=típusa:
edit_smb=Távoli Windows-os gép
edit_share=Nyomtató
edit_user=Felhasználó
edit_pass=Jelszó
edit_wgroup=Munkacsoport
edit_hpnp=Távoli HPNP szerver
edit_port=Por&#116;
edit_direct=Közvetlen TCP kapcsolat
edit_dport=Por&#116;
edit_driver=Meghajtó

save_err=Nem sikerült elmenteni a konfigurációt
save_eadd=Nincs jogod új printer felvételéhez
save_eedit=Nincs jogod változtatni ezen a nyomtatón
save_ename=A(z) '$1' név hibás
save_edup=Már van egy '$1' nevû nyomtató
save_eallow=Nem adtad meg, kik nyomtathatnak ide
save_edeny=Nem adtad meg, kik nem nyomtathatnak ide
save_euser=Nincs '$1' nevû felhasználó
save_etype=Nem adtad meg, hogy milyen fajta nyomtatnivaló jöhet ide
save_emax=A nyomtatandó anyag maximális mérete egész szám kell legyen
save_efile=Nincs '$1' nevû file
save_erhost=Nincs '$1' nevû távoli gép
save_erqueue='$1' is not a valid remote queue name
save_eremote=Távoli unixos gépre csak driver nélkül nyomtathatsz
save_edhost='$1' nevû gép nincs
save_edport=Nem adtad meg a portot

jobs_title=Nyomtatósor
jobs_header=Nyomtatásra váró anyagok a(z) $1 nyomtatón
jobs_id=Azonosító
jobs_size=Méret
jobs_by=Feladó
jobs_when=Dátum
jobs_file=Filenév
jobs_cancel=Az azonosítóra kattintva törölheted az anyagot a sorból.
jobs_cancelview=Az azonosítóra kattintva törölheted az anyagot a sorból, a méretre kattintva pedig megnézheted a tartalmát.
jobs_none=Nincs várakozó nyomtatnivaló a(z) $1 sorában
jobs_all=Minden várakozó anyag törlése
jobs_bytes=byte

cancel_ecannot=Nincs jogod törölni a nyomtatósorból
cancel_err=Nem sikerült törölni az anyagot
cancel_egone=A $1 jelû nyomtatnivaló már nem létezik

view_ecannot=Nem nézheted meg a nyomtatandó file-t
view_egone=Ez a nyomtatnivaló már nem létezik

start_ecannot=Nincs jogod az ütemezõ indításához
start_err=Nem sikerült elindítani az ütemezõt

stop_ecannot=Nincs jogod az ütemezõ leállításához
stop_err=Nem sikerült leállítani az ütemezõt

webmin_none=Nem kell
webmin_nonemsg=Postscript vagy karakteres nyomtató
webmin_remotemsg=Távoli nyomtató
webmin_model=Model
webmin_prog=Progra&#109;
webmin_driver=Webmin meghajtó
webmin_uniprint=Uniprint meghajtó
webmin_edrivers=Nem derült ki, hogy a $1 milyen nyomtatókat támogat. A <tt>ghostscript</tt>et használó meghajtókat nélkülöznöd kell.
webmin_egs=Hiányzik a $1 program. A <tt>ghostscript</tt>et használó meghajtókat nélkülöznöd kell.
webmin_edriver='$1' nem létezik

caldera_none=None
caldera_nonemsg=Remote or raw printer
caldera_prog=Program
caldera_coas=COAS driver
caldera_printer=Printer and resolution
caldera_eof=Send EOF?
caldera_paper=Papírméret
caldera_double=Kétoldalas nyomtatás?
caldera_gsopts=Additional GS options
caldera_uniprint=Uniprint driver
caldera_eprog='$1' does not exist
caldera_edriver=No printer driver selected
caldera_eres=No resolution selected

redhat_none=None
redhat_nonemsg=Postscript or text printer
redhat_prog=Program
redhat_driver=Redhat driver
redhat_printer=Printer and resolution
redhat_eof=Send EOF?
redhat_paper=Papírméret
redhat_pages=Pages per output page
redhat_gsopts=Additional GS options
redhat_hmargin=Jobb/bal margó
redhat_vmargin=Felsõ/alsó margó
redhat_crlf=Fix stair-stepping text?
redhat_eprog='$1' does not exist
redhat_edriver=No printer driver selected
redhat_ehmargin=Missing or invalid right/left margin
redhat_evmargin=Missing or invalid top/bottom margin
redhat_eres=No resolution selected

suse_none=None
suse_nonemsg=Postscript or text printer
suse_prog=Program
suse_driver=APSfilter driver
suse_printer=Printer type
suse_res=Resolution in DPI
suse_colour=Colour printer?
suse_paper=Papírméret
suse_method=Filter method
suse_auto=Automatic
suse_ascii=ASCII

estop=Nem sikerült leállítani az <tt>lpd<tt>-t: $1

acl_printers=Mely nyomtatókat konfigurálhatja?
acl_add=Felvehet új nyomtatókat?
acl_cancel=Megnézheti és törölheti a nyomtatandó anyagokat?
acl_stop=Leállíthatja/elindíthatja az ütemezõt?
acl_listed=Csak a megjelölt nyomtatókon:
acl_pall=Mindegyiket
acl_psel=A megjelölteket:

log_stop=Nyomtatódémon leállítása
log_start=Nyomtatódémon elindítása
log_cancel_job=A(z) $2 jelû anyag törlése a(z) $1 nyomtatósorból
log_cancel_all=Minden anyag törlése a(z) $1 nyomtatósorból
log_create=A(z) $1 nyomtató létrehozása
log_modify=A(z) $1 nyomtató módosítása
log_delete=A(z) $1 nyomtató törlése
log_create_l=A(z) $1 jelû "$3" nyomtató létrehozása
log_modify_l=A(z) $1 jelû "$3" nyomtató módosítása
log_delete_l=A(z) $1 jelû "$3" nyomtató törlése

linux_paralel=$1. párhuzamos csatoló
linux_serial=$1. soros csatoló (COM$1)
linux_null="Null" eszköz
linux_usb=USB nyomtató $1

freebsd_paralel=Párhuzamos csatoló
freebsd_serial=$1. soros csatoló (COM$1)

openbsd_paralel=Párhuzamos csatoló
openbsd_serial=$1. soros csatoló (COM$1)

unixware_paralel=$1. párhuzamos csatoló
unixware_serial="$1" soros csatoló (COM$1)
unixware_null="Null" eszköz

hpux_paralel="$1" párhuzamos csatoló
hpux_serial="$1" soros csatoló
hpux_null="Null" eszköz

lprng_paralel=$1. párhuzamos csatoló
lprng_serial=$1. soros csatoló (COM$1)
lprng_null="Null" eszköz

solaris_paralel=Párhuzamos csatoló
solaris_uparalel=Ultra 5/10 párhuzamos csatoló
solaris_serial="$1" soros csatoló
solaris_null="Null" eszköz
  070701000076eb000081a40000000000000002000000013d1fe2d2000014ea000000200000000000000000000000000000001600000003reloc/lpadmin/lang/it index_title=Amministrazione Stampanti
index_name=Stampante
index_desc=Descrizione
index_to=Stampa in
index_driver=Driver
index_jobs=Jobs
index_none=Nessuna stampante installata nel sistema
index_list=lista..
index_add=Aggiungi una nuova stampante
index_stop=Ferma lo Scheduling
index_stopmsg=Seleziona il pulsante per fermare il processo di stampa. 
Questo blocca la stampa a utenti locali e remoti.
index_start=Inizia lo Scheduling
index_startmsg=Seleziona il pulsante per iniziare il processo di stampa. 
Questo permette a utenti locali e remoti di stampare sul tuo sistema
index_return=lista stampante

edit_eedit=Non sei autorizzato a modificare la stampante
edit_eadd=Non sei autorizzato ad aggiungere stampanti
edit_add=Crea una Stampante
edit_edit=Modifica una Stampante
edit_conf=Configurazione Stampante
edit_name=Nome
edit_acc=Accetta richieste?
edit_why=No - Perche' no
edit_desc=Descrizione
edit_ena=Stampante Abilitata?
edit_acl=Controllo Accessi
edit_allow=Autorizza tutti
edit_deny=Non Autorizzare nessuno
edit_allowu=Autorizza gli utenti elencati...
edit_denyu=Non autorizza gli utenti elencati...
edit_banner=Stampa una intestazione?
edit_opt=Opzionale
edit_default=Stampante di Default?
edit_already=La stampante e' gia' di default
edit_max=Massima grandezza del processo di stampa
edit_dacc=Driver accettati
edit_dtext=Testo
edit_dpost=Postscript
edit_dother=Altri
edit_alt=Nomi alternativi della stampante
edit_dest=Destinazione Stampa
edit_dev=Dispositivo Locale
edit_file=File Locale
edit_remote=Server Unix Remoto
edit_rqueue=Stampante
edit_type=Tipo
edit_smb=Server Windows remoto
edit_share=Stampante
edit_user=Utente
edit_pass=Password
edit_wgroup=Gruppo di Lavoro
edit_hpnp=Server remoto HPNP
edit_port=Porta
edit_driver=Driver della Stampante

blocks=blocchi

save_err=Errore nel salvataggio della stampante
save_eadd=Non sei autorizzato ad aggiungere stampanti
save_eedit=on sei autorizzato a modificare questa stampante
save_ename='$1' non e' un nome valido per la stampante
save_edup=La stampante '$1' e' gia' presente
save_eallow=Nessun utente autorizzato inserito
save_edeny=Nessun utente non autorizzato inserito
save_euser=L'utente '$1' non esiste
save_etype=Devi selezionare almeno un tipo di driver per accettare
save_emax=La dimensione massima per un processo di stampa deve essere un 
numero intero
save_efile='$1' non esiste
save_erhost=L'host remoto '$1' non esiste
save_erqueue='$1' non e' un nome valido di coda remota di stampa
save_eremote=Il driver non puo' essere usato con una stampante remota Unix

jobs_title=Processi di Stampa
jobs_header=Processi di Stampa in $1
jobs_id=ID Processo
jobs_size=Dimensione
jobs_by=Inviato da
jobs_when=Inviato alle
jobs_file=Nome del file
jobs_cancel=Seleziona l'ID del processo per eliminarlo
jobs_cancelview=Seleziona l'ID del processo per eliminarlo, o seleziona la 
dimensione del processo per vederlo.
jobs_none=Nessun processo di stampa in $1

cancel_ecannot=Non sei autorizzato ad eliminare i processi di stampa
cancel_err=Errore nella cancellazione del processo di stampa
cancel_egone=Il processo di stampa $1 non esiste

view_ecannot=Non puoi vedere questo processo di stampa
view_egone=Questo processo di stampa non esiste

start_ecannot=Non sei autorizzato a far partire lo scheduler
start_err=Errore nell'esecuzione dello scheduler

stop_ecannot=Non sei autorizzato a bloccare lo scheduler
stop_err=Errore nel bloccare lo scheduler

webmin_none=Nessuno
webmin_nonemsg=Stampante Postscript o di testo
webmin_remotemsg=Stampante remota
webmin_model=Modello
webmin_prog=Programma
webmin_driver=Driver Webmin
webmin_uniprint=Driver Uniprint
webmin_edrivers=Errore nell'utilizzare il driver da $1. I driver Webmin 
della stampante che usano il ghostscript non sono disponibili
webmin_egs=Il comando $1 non e' stato trovato. I driver Webmin della 
stampante che usano il ghostscript non sono disponibili
webmin_edriver='$1' non esiste

caldera_none=Nessuno
caldera_nonemsg=Stampante remota o di tipo raw
caldera_prog=Programma
caldera_coas=Driver COAS
caldera_printer=Stampante e risoluzione
caldera_eof=Invia EOF (Fine File)?
caldera_paper=Dimensione della carta
caldera_double=Stampa su entrambi i lati?
caldera_gsopts=Opzione GS aggiuntiva
caldera_uniprint=Driver Uniprint
caldera_eprog='$1' non esiste
caldera_edriver=Driver della stampante non selezionato
caldera_eres=Nessuna risoluzione selezionata

redhat_none=Nessuno
redhat_nonemsg=Stampante Postscript o di testo
redhat_prog=Programma
redhat_driver=Driver RedHat
redhat_printer=Stampante e risoluzione
redhat_eof=Invia EOF (Fine File)?
redhat_paper=Dimensione della carta
redhat_pages=Pages per output page
redhat_gsopts=Opzione GS aggiuntiva
redhat_hmargin=margine Destro/Sinistro
redhat_vmargin=margine Superiore/inferiore
redhat_crlf=Fix stair-stepping text?
redhat_eprog='$1' non esiste
redhat_edriver=Driver della stampante non selezionato
redhat_ehmargin=Margine sinistro/destro errato o invalido
redhat_evmargin=Margine superiore/inferiore errato o invalido
redhat_eres=Nessuna risoluzione selezionata

acl_printers=Stampanti che questo utente puo' configurare
acl_add=Puo' aggiungere nuove stampanti?
acl_cancel=Puo' vedere o annullare i processi della stampante ?
acl_stop=Puo' bloccare o far partire lo scheduler ?
acl_all=Su tutte le stampanti
acl_listed=Solo sulle stampanti selezionate..



  070701000076ec000081a40000000000000002000000013d1fe2d200002047000000200000000000000000000000000000001d00000003reloc/lpadmin/lang/ja_JP.euc  index_title=¥×¥ê¥ó¥¿¤Î´ÉÍý
index_name=¥×¥ê¥ó¥¿
index_desc=ÀâÌÀ
index_to=½ÐÎÏÀè
index_driver=¥É¥é¥¤¥Ð
index_enabled=Í­¸ú¤Ë¤·¤Þ¤¹¤«¡©
index_accepting=¼õ¤±Æþ¤ì¤Þ¤¹¤«¡©
index_jobs=¥¸¥ç¥Ö
index_none=¤³¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥×¥ê¥ó¥¿¤¬¤¢¤ê¤Þ¤»¤ó
index_list=¥ê¥¹¥È..
index_add=¿·µ¬¤Î¥×¥ê¥ó¥¿¤òÄÉ²Ã
index_stop=¥¹¥±¥¸¥å¡¼¥é¤ÎÄä»ß
index_stopmsg=¼Â¹ÔÃæ¤Î¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é ¥×¥í¥»¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤ÇÂ¾¤Î¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Þ¤¿¤Ï¥ê¥â¡¼¥È ¥æ¡¼¥¶¤¬°õºþ¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
index_start=¥¹¥±¥¸¥å¡¼¥é¤Î³«»Ï
index_startmsg=¼Â¹ÔÃæ¤Î¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é ¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ç¥í¡¼¥«¥ë ¥æ¡¼¥¶¤È¥ê¥â¡¼¥È ¥æ¡¼¥¶¤¬°õºþ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
index_restart=¥¹¥±¥¸¥å¡¼¥é¤òºÆ³«
index_restartmsg=¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é ¥×¥í¥»¥¹¤òºÆ³«¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¸½ºß¤Î°õºþÀßÄê¤ÎÅ¬ÍÑ¤ò¶¯À©¤·¤Þ¤¹¡£
index_return=¥×¥ê¥ó¥¿ ¥ê¥¹¥È

edit_eedit=¤³¤Î¥×¥ê¥ó¥¿¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
edit_eadd=¥×¥ê¥ó¥¿¤òÄÉ²Ã¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
edit_add=¥×¥ê¥ó¥¿¤òºîÀ®
edit_edit=¥×¥ê¥ó¥¿¤òÊÔ½¸
edit_conf=¥×¥ê¥ó¥¿ÀßÄê
edit_name=¥×¥ê¥ó¥¿Ì¾
edit_acc=Í×ÀÁ¤ò¼õ¤±Æþ¤ì¤Þ¤¹¤«¡©
edit_why=¤¤¤¤¤¨ -  ¤Ï¤¤
edit_desc=ÀâÌÀ
edit_ena=°õºþ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
edit_acl=¥¢¥¯¥»¥¹À©¸æ
edit_allow=Á´°÷µö²Ä
edit_deny=Á´°÷µñÈÝ
edit_allowu=¥ê¥¹¥È¤µ¤ì¤¿¥æ¡¼¥¶¤òµö²Ä..
edit_denyu=¥ê¥¹¥È¤µ¤ì¤¿¥æ¡¼¥¶¤òµñÈÝ..
edit_banner=¥Ð¥Ê¡¼¤ò°õºþ¤·¤Þ¤¹¤«¡©
edit_opt=¥ª¥×¥·¥ç¥ó
edit_default=¥Ç¥Õ¥©¥ë¥È ¥×¥ê¥ó¥¿¤Ë¤·¤Þ¤¹¤«¡©
edit_already=¤¹¤Ç¤Ë¥Ç¥Õ¥©¥ë¥È ¥×¥ê¥ó¥¿¤Ç¤¹
edit_max=ºÇÂç¥×¥ê¥ó¥È ¥¸¥ç¥Ö ¥µ¥¤¥º
edit_unlimited=ÌµÀ©¸Â
edit_dacc=¥É¥é¥¤¥Ð¤ò¼õÆþ¤ì
edit_dtext=¥Æ¥­¥¹¥È
edit_dpost=¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È
edit_dother=¤½¤ÎÂ¾
edit_alt=ÂåÂØ¥×¥ê¥ó¥¿Ì¾
edit_dest=½ÐÎÏÀè
edit_dev=¥í¡¼¥«¥ë ¥Ç¥Ð¥¤¥¹
edit_file=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë
edit_remote=¥ê¥â¡¼¥È Unix ¥µ¡¼¥Ð
edit_rqueue=¥×¥ê¥ó¥¿
edit_type=¼ïÎà
edit_smb=¥ê¥â¡¼¥È Windows ¥µ¡¼¥Ð
edit_share=¥×¥ê¥ó¥¿
edit_user=¥æ¡¼¥¶
edit_pass=¥Ñ¥¹¥ï¡¼¥É
edit_wgroup=¥ï¡¼¥¯¥°¥ë¡¼¥×
edit_hpnp=¥ê¥â¡¼¥È HPNP ¥µ¡¼¥Ð
edit_port=¥Ý¡¼¥È
edit_direct=¥À¥¤¥ì¥¯¥È TCP ÀÜÂ³
edit_dport=¥Ý¡¼¥È
edit_driver=¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð
edit_check=¥ê¥â¡¼¥È ¥µ¡¼¥Ð¤¬¼Â¹ÔÃæ¤«³ÎÇ§¤·¤Þ¤¹¤«¡© 

blocks=¥Ö¥í¥Ã¥¯

save_err=¥×¥ê¥ó¥¿¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_eadd=¥×¥ê¥ó¥¿¤òÄÉ²Ã¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
save_eedit=¤³¤Î¥×¥ê¥ó¥¿¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
save_ename='$1' ¤ÏÌµ¸ú¤Ê¥×¥ê¥ó¥¿Ì¾¤Ç¤¹
save_edup='$1' ¤È¤¤¤¦¥×¥ê¥ó¥¿Ì¾¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
save_eallow=µö²Ä¤¹¤ë¥æ¡¼¥¶¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_edeny=µñÈÝ¤¹¤ë¥æ¡¼¥¶¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_euser=¥æ¡¼¥¶ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_etype=¤³¤Î¥É¥é¥¤¥Ð¤¬¼õ¤±Æþ¤ì¤ë¼ïÎà¤òºÇÄã1¤ÄÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
save_emax=ºÇÂç¥×¥ê¥ó¥È ¥¸¥ç¥Ö ¥µ¥¤¥º¤ÏÀ°¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
save_efile='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_erhost=¥ê¥â¡¼¥È ¥Û¥¹¥È '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_erqueue='$1' ¤ÏÌµ¸ú¤Ê¥ê¥â¡¼¥È ¥­¥å¡¼Ì¾¤Ç¤¹
save_eremote=¥É¥é¥¤¥Ð¤Ï¥ê¥â¡¼¥È Unix ¥×¥ê¥ó¥¿¤Ç»ÈÍÑ¤Ç¤­¤Þ¤»¤ó
save_edhost=¥Û¥¹¥È '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_edport=¥À¥¤¥ì¥¯¥È ¥Ý¡¼¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

jobs_title=¥×¥ê¥ó¥È ¥¸¥ç¥Ö
jobs_header=$1 ¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö
jobs_id=¥¸¥ç¥Ö ID
jobs_size=¥µ¥¤¥º
jobs_by=¥µ¥Ö¥ß¥Ã¥È¤·¤¿¥æ¡¼¥¶
jobs_when=¥µ¥Ö¥ß¥Ã¥È¤·¤¿Æü»þ
jobs_file=¥Õ¥¡¥¤¥ëÌ¾
jobs_cancel=¥­¥ã¥ó¥»¥ë¤¹¤ë¤Ë¤Ï¡¢¾å¤Î¥ê¥¹¥È¤Ç¥¸¥ç¥Ö ID ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
jobs_cancelview=¾å¤Î¥ê¥¹¥È¤Ç¥¸¥ç¥Ö ID ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¥­¥ã¥ó¥»¥ë¤¹¤ë¤«¡¢¥¸¥ç¥Ö¤Î¥µ¥¤¥º¤ò¥¯¥ê¥Ã¥¯¤·¤ÆÉ½¼¨¤·¤Æ¤¯¤À¤µ¤¤¡£
jobs_none=$1 ¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤Ï¤¢¤ê¤Þ¤»¤ó
jobs_all=¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ò¥­¥ã¥ó¥»¥ë
jobs_bytes=¥Ð¥¤¥È
jobs_test=¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþ

cancel_ecannot=¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ò¥­¥ã¥ó¥»¥ë¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
cancel_err=¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ò¥­¥ã¥ó¥»¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cancel_egone=¥×¥ê¥ó¥È ¥¸¥ç¥Ö $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤»¤ó

view_ecannot=¤³¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ÏÉ½¼¨¤Ç¤­¤Þ¤»¤ó
view_egone=¤³¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤»¤ó

start_ecannot=¥¹¥±¥¸¥å¡¼¥é¤ò³«»Ï¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
start_err=¥¹¥±¥¸¥å¡¼¥é¤ò³«»Ï¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

stop_ecannot=¥¹¥±¥¸¥å¡¼¥é¤òÄä»ß¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
stop_err=¥¹¥±¥¸¥å¡¼¥é¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

restart_ecannot=¥¹¥±¥¸¥å¡¼¥é¤òºÆ³«¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
restart_err=¥¹¥±¥¸¥å¡¼¥é¤òºÆ³«¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

webmin_none=¤Ê¤·
webmin_nonemsg=¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È¤Þ¤¿¤Ï¥Æ¥­¥¹¥È ¥×¥ê¥ó¥¿
webmin_remotemsg=¥ê¥â¡¼¥È ¥×¥ê¥ó¥¿
webmin_model=¥â¥Ç¥ë
webmin_prog=¥×¥í¥°¥é¥à
webmin_driver=Webmin ¥É¥é¥¤¥Ð
webmin_uniprint=Uniprint ¥É¥é¥¤¥Ð
webmin_edrivers=$1 ¤«¤é¥É¥é¥¤¥Ð¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ghostscript ¤ò»ÈÍÑ¤¹¤ë Webmin ¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó¡£
webmin_egs=¥³¥Þ¥ó¥É $1 ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£ghostscript ¤ò»ÈÍÑ¤¹¤ë Webmin ¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó¡£
webmin_edriver='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

caldera_none=¤Ê¤·
caldera_nonemsg=¥ê¥â¡¼¥È¤Þ¤¿¤Ï raw ¥×¥ê¥ó¥¿
caldera_prog=¥×¥í¥°¥é¥à
caldera_coas=COAS ¥É¥é¥¤¥Ð
caldera_printer=¥×¥ê¥ó¥¿¤È²òÁüÅÙ
caldera_eof=EOF ¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
caldera_paper=ÍÑ»æ¥µ¥¤¥º
caldera_double=Î¾ÌÌ°õºþ¤·¤Þ¤¹¤«¡©
caldera_gsopts=ÄÉ²Ã GS ¥ª¥×¥·¥ç¥ó
caldera_uniprint=Uniprint ¥É¥é¥¤¥Ð
caldera_eprog='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
caldera_edriver=¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
caldera_eres=²òÁüÅÙ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

redhat_none=¤Ê¤·
redhat_nonemsg=¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È¤Þ¤¿¤Ï¥Æ¥­¥¹¥È ¥×¥ê¥ó¥¿
redhat_prog=¥×¥í¥°¥é¥à
redhat_driver=Redhat ¥É¥é¥¤¥Ð
redhat_printer=¥×¥ê¥ó¥¿¤È²òÁüÅÙ
redhat_eof=EOF ¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
redhat_paper=ÍÑ»æ¥µ¥¤¥º
redhat_pages=½ÐÎÏ¥Ú¡¼¥¸¿ô
redhat_gsopts=ÄÉ²Ã GS ¥ª¥×¥·¥ç¥ó
redhat_hmargin=±¦/º¸ ¥Þ¡¼¥¸¥ó
redhat_vmargin=¾å/²¼ ¥Þ¡¼¥¸¥ó
redhat_crlf=stair-stepping text (ÃÊº¹¥Æ¥­¥¹¥È) ¤ò½¤Àµ¤·¤Þ¤¹¤«¡©
redhat_eprog='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
redhat_edriver=¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
redhat_ehmargin=±¦/º¸ ¥Þ¡¼¥¸¥ó¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
redhat_evmargin=¾å/²¼ ¥Þ¡¼¥¸¥ó¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
redhat_eres=²òÁüÅÙ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
redhat_printer2=¥×¥ê¥ó¥¿ ¥â¥Ç¥ë¤È¥É¥é¥¤¥Ð

suse_none=¤Ê¤·
suse_nonemsg=¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È¤Þ¤¿¤Ï¥Æ¥­¥¹¥È ¥×¥ê¥ó¥¿
suse_prog=¥×¥í¥°¥é¥à
suse_driver=APSfilter ¥É¥é¥¤¥Ð
suse_printer=¥×¥ê¥ó¥¿¤Î¼ïÎà
suse_res=DPI ¤Î²òÁüÅÙ
suse_colour=¥«¥é¡¼ ¥×¥ê¥ó¥¿¤Ç¤¹¤«¡©
suse_paper=ÍÑ»æ¥µ¥¤¥º
suse_method=¥Õ¥£¥ë¥¿ÊýË¡
suse_auto=¼«Æ°
suse_ascii=ASCII
suse_raw=Raw
suse_extra=ÄÉ²Ã ghostscript ¥ª¥×¥·¥ç¥ó
suse_yast2=YAST2 ¥É¥é¥¤¥Ð
suse_edriver=¥×¥ê¥ó¥¿¤Î¼ïÎà¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
suse_eres=²òÁüÅÙ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

estop=lpd ¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1

acl_printers=¤³¤Î¥æ¡¼¥¶¤¬ÀßÄê¤Ç¤­¤ë¥×¥ê¥ó¥¿
acl_add=¿·µ¬¤Î¥×¥ê¥ó¥¿¤òÄÉ²Ã²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_cancel=¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ò¥­¥ã¥ó¥»¥ë²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_stop=¥¹¥±¥¸¥å¡¼¥é¤òÄä»ß¤Þ¤¿¤Ï³«»Ï²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡© 
acl_restart=ºÆ³«¤Î¤ß
acl_listed=ÁªÂò¤µ¤ì¤¿¥×¥ê¥ó¥¿¤Î¤ß ..
acl_pall=¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥¿
acl_psel=ÁªÂò..
acl_view=ÀßÄêÉÔ²ÄÇ½¤Ê¥×¥ê¥ó¥¿¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
acl_test=¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

log_stop=¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é¤òÄä»ß¤·¤Þ¤·¤¿
log_start=¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é¤ò³«»Ï¤·¤Þ¤·¤¿
log_restart=¥×¥ê¥ó¥È ¥¹¥±¥¸¥å¡¼¥é¤òºÆ³«¤·¤Þ¤·¤¿
log_cancel_job=$1 ¾å¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö $2¤ò¥­¥ã¥ó¥»¥ë¤·¤Þ¤·¤¿
log_cancel_all=$1 ¤Î¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥È ¥¸¥ç¥Ö¤ò¥­¥ã¥ó¥»¥ë¤·¤Þ¤·¤¿
log_create=$1¥×¥ê¥ó¥¿¤ò $2 ¤ËºîÀ®¤·¤Þ¤·¤¿
log_modify=$2 ¾å¤Î $1¥×¥ê¥ó¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete=$2 ¾å¤Î $1¥×¥ê¥ó¥¿¤òºï½ü¤·¤Þ¤·¤¿
log_create_l=$2 ¾å¤Ë$3¥×¥ê¥ó¥¿ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_l=$2¾å¤Î $3¥×¥ê¥ó¥¿ $1¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_l=$2¾å¤Î $3¥×¥ê¥ó¥¿ $1¤òºï½ü¤·¤Þ¤·¤¿

linux_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È $1
linux_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1 (COM$1)
linux_null=Null ¥Ç¥Ð¥¤¥¹
linux_usb=USB ¥×¥ê¥ó¥¿ $1

freebsd_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È
freebsd_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1 (COM$1)

openbsd_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È
openbsd_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1 (COM$1)

unixware_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È $1
unixware_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1
unixware_null=Null ¥Ç¥Ð¥¤¥¹

hpux_paralel=¥Ñ¥é¥ì¥ë $1
hpux_serial=¥·¥ê¥¢¥ë  $1
hpux_null=Null ¥Ç¥Ð¥¤¥¹

lprng_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È $1
lprng_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1 (COM$1)
lprng_null=Null ¥Ç¥Ð¥¤¥¹

solaris_paralel=¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È
solaris_uparalel=Ultra 5/10 ¥Ñ¥é¥ì¥ë ¥Ý¡¼¥È
solaris_serial=¥·¥ê¥¢¥ë ¥Ý¡¼¥È $1
solaris_null=Null ¥Ç¥Ð¥¤¥¹

test_title=¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþ
test_ecannot=¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþ¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
test_desc=¥×¥ê¥ó¥¿ $1 ¤Î¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþ²ÄÇ½¤Ë¤·¤Þ¤¹¡£°õºþ¤¹¤ë¥Ú¡¼¥¸¤Î¼ïÎà¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤:
test_0=¥â¥Î¥¯¥í ¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È ¥Ú¡¼¥¸
test_1=¥«¥é¡¼ ¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È ¥Ú¡¼¥¸
test_2=¥×¥ì¥¤¥ó ASCII ¥Æ¥­¥¹¥È
test_3=ÉÔÆÃÄê¤Î¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
test_print=°õºþ¥Ú¡¼¥¸
test_exec=¥³¥Þ¥ó¥É $1 ¤Ç¥Æ¥¹¥È ¥Ú¡¼¥¸¤ò°õºþÃæ..
test_failed=.. ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
test_ok=.. ¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

cups_none=¤Ê¤·
cups_nonemsg=¥ê¥â¡¼¥È¤Þ¤¿¤Ï raw ¥×¥ê¥ó¥¿
cups_prog=¥×¥í¥°¥é¥à
cups_driver=CUPS ¥É¥é¥¤¥Ð

 070701000076ed000081a40000000000000002000000013d1fe2d200001cc9000000200000000000000000000000000000001d00000003reloc/lpadmin/lang/ko_KR.euc  index_title=ÇÁ¸°ÅÍ °ü¸®
index_name=ÇÁ¸°ÅÍ
index_desc=¼³¸í
index_to=ÀÎ¼â º¸³¾ °÷
index_driver=µå¶óÀÌ¹ö
index_enabled=»ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
index_accepting=¼ö¶ôÇÕ´Ï±î?
index_jobs=ÀÛ¾÷
index_none=½Ã½ºÅÛ¿¡ ÇÁ¸°ÅÍ°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù
index_list=¸ñ·Ï..
index_add=»õ ÇÁ¸°ÅÍ Ãß°¡
index_stop=½ºÄÉÁÙ·¯ ÁßÁö
index_stopmsg=½ÇÇà ÁßÀÎ ÀÎ¼â ½ºÄÉÁÙ·¯¸¦ ÁßÁöÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ·ÎÄÃ ¶Ç´Â ¿ø°Ý »ç¿ëÀÚ´Â ½Ã½ºÅÛ¿¡¼­ ÀÎ¼âÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.
index_start=½ºÄÉÁÙ·¯ ½ÃÀÛ
index_startmsg=ÀÎ¼â ½ºÄÉÁÙ·¯¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ·ÎÄÃ ¹× ¿ø°Ý »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡¼­ ÀÎ¼âÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
index_restart=½ºÄÉÁÙ·¯ ´Ù½Ã ½ÃÀÛ
index_restartmsg=ÀÎ¼â ½ºÄÉÁÙ·¯¸¦ ´Ù½Ã ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ÇöÀçÀÇ ÀÎ¼â ±¸¼ºÀÌ Àû¿ëµË´Ï´Ù.
index_return=ÇÁ¸°ÅÍ ¸ñ·Ï

edit_eedit=ÀÌ ÇÁ¸°ÅÍ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_eadd=ÇÁ¸°ÅÍ¸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù
edit_add=ÇÁ¸°ÅÍ ÀÛ¼º
edit_edit=ÇÁ¸°ÅÍ ÆíÁý
edit_conf=ÇÁ¸°ÅÍ ±¸¼º
edit_name=ÀÌ¸§
edit_acc=¿äÃ»À» ¼ö¶ôÇÕ´Ï±î?
edit_why=¾Æ´Ï¿À - ÀÌÀ¯´Â?
edit_desc=¼³¸í
edit_ena=ÀÎ¼â ±â´ÉÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï±î?
edit_acl=Á¢±Ù Á¦¾î
edit_allow=¸ðµç »ç¿ëÀÚ Çã¿ë
edit_deny=¸ðµç »ç¿ëÀÚ °ÅºÎ
edit_allowu=³ª¿­µÈ »ç¿ëÀÚ Çã¿ë..
edit_denyu=³ª¿­µÈ »ç¿ëÀÚ °ÅºÎ..
edit_banner=¹è³Ê¸¦ ÀÎ¼âÇÕ´Ï±î?
edit_opt=¼±ÅÃ »çÇ×
edit_default=±âº» ÇÁ¸°ÅÍÀÔ´Ï±î?
edit_already=ÀÌ¹Ì ±âº» ÇÁ¸°ÅÍÀÓ
edit_max=ÃÖ´ë ÀÎ¼â ÀÛ¾÷ Å©±â
edit_unlimited=Á¦ÇÑ ¾øÀ½
edit_dacc=µå¶óÀÌ¹ö ¼ö¶ô
edit_dtext=ÅØ½ºÆ®
edit_dpost=Æ÷½ºÆ®½ºÅ©¸³Æ®
edit_dother=±× ¿Ü
edit_alt=´ëÃ¼ ÇÁ¸°ÅÍ ÀÌ¸§
edit_dest=ÀÎ¼â ¸ñÀûÁö
edit_dev=·ÎÄÃ ÀåÄ¡
edit_file=·ÎÄÃ ÆÄÀÏ
edit_remote=¿ø°Ý À¯´Ð½º ¼­¹ö
edit_rqueue=ÇÁ¸°ÅÍ
edit_type=À¯Çü
edit_smb=¿ø°Ý À©µµ¿ì ¼­¹ö
edit_share=ÇÁ¸°ÅÍ
edit_user=»ç¿ëÀÚ
edit_pass=¾ÏÈ£
edit_wgroup=ÀÛ¾÷ ±×·ì
edit_hpnp=¿ø°Ý HPNP ¼­¹ö
edit_port=Æ÷Æ®
edit_direct=Á÷Á¢ TCP ¿¬°á
edit_dport=Æ÷Æ®
edit_driver=ÇÁ¸°ÅÍ µå¶óÀÌ¹ö
edit_check=¿ø°Ý ¼­¹ö°¡ ÀÛµ¿ÇÏ´ÂÁö °Ë»çÇÕ´Ï±î?

blocks=ºí·Ï

save_err=ÇÁ¸°ÅÍ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_eadd=ÇÁ¸°ÅÍ¸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù
save_eedit=ÀÌ ÇÁ¸°ÅÍ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
save_ename='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ¸°ÅÍ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
save_edup='$1'(ÀÌ)¶ó´Â ÇÁ¸°ÅÍ°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù
save_eallow=ÀÔ·ÂÀÌ Çã¿ëµÈ »ç¿ëÀÚ ¾øÀ½
save_edeny=ÀÔ·ÂÀÌ °ÅºÎµÈ »ç¿ëÀÚ ¾øÀ½
save_euser=»ç¿ëÀÚ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_etype=ÀÌ µå¶óÀÌ¹ö¸¦ ¼ö¶ôÇÏ·Á¸é ÇÏ³ª ÀÌ»óÀÇ À¯ÇüÀ» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
save_emax=ÃÖ´ë ÀÎ¼â ÀÛ¾÷ Å©±â´Â Á¤¼ö¿©¾ß ÇÕ´Ï´Ù
save_efile='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_erhost=¿ø°Ý È£½ºÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_erqueue='$1'Àº(´Â) À¯È¿ÇÑ ¿ø°Ý ´ë±â¿­ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
save_eremote=¿ø°Ý À¯´Ð½º ÇÁ¸°ÅÍ¿¡ »ç¿ëÇÒ ¼ö ¾ø´Â µå¶óÀÌ¹öÀÔ´Ï´Ù
save_edhost=Á÷Á¢ È£½ºÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_edport=¾ø°Å³ª Àß¸øµÈ Á÷Á¢ Æ÷Æ®

jobs_title=ÀÎ¼â ÀÛ¾÷
jobs_header=$1ÀÇ ÀÎ¼â ÀÛ¾÷
jobs_id=ÀÛ¾÷ ID
jobs_size=Å©±â
jobs_by=Á¦ÃâÀÚ
jobs_when=Á¦Ãâ ½Ã°£
jobs_file=ÆÄÀÏ ÀÌ¸§
jobs_cancel=Ãë¼ÒÇÏ·Á¸é À§ÀÇ ¸ñ·Ï¿¡¼­ ÀÛ¾÷ ID¸¦ ´©¸£½Ê½Ã¿À.
jobs_cancelview=Ãë¼ÒÇÏ·Á¸é À§ÀÇ ¸ñ·Ï¿¡¼­ ÀÛ¾÷ ID¸¦ ´©¸£°í, º¸·Á¸é ÀÛ¾÷ Å©±â¸¦ ´©¸£½Ê½Ã¿À.
jobs_none=$1¿¡ ÀÎ¼â ÀÛ¾÷ÀÌ ¾ø½À´Ï´Ù
jobs_all=¸ðµç ÀÎ¼â ÀÛ¾÷ Ãë¼Ò
jobs_bytes=¹ÙÀÌÆ®
jobs_test=Å×½ºÆ® ÆäÀÌÁö ÀÎ¼â

cancel_ecannot=ÀÎ¼â ÀÛ¾÷À» Ãë¼ÒÇÒ ¼ö ¾ø½À´Ï´Ù
cancel_err=ÀÎ¼â ÀÛ¾÷À» Ãë¼ÒÇÏÁö ¸øÇß½À´Ï´Ù
cancel_egone=ÀÎ¼â ÀÛ¾÷ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

view_ecannot=ÀÌ ÀÎ¼â ÀÛ¾÷À» º¼ ¼ö ¾ø½À´Ï´Ù
view_egone=ÀÌ ÀÎ¼â ÀÛ¾÷ÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

start_ecannot=½ºÄÉÁÙ·¯¸¦ ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù
start_err=½ºÄÉÁÙ·¯¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù

stop_ecannot=½ºÄÉÁÙ·¯¸¦ ÁßÁöÇÒ ¼ö ¾ø½À´Ï´Ù
stop_err=½ºÄÉÁÙ·¯¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù

restart_ecannot=½ºÄÉÁÙ·¯¸¦ ´Ù½Ã ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù
restart_err=½ºÄÉÁÙ·¯¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù

webmin_none=¾øÀ½
webmin_nonemsg=Æ÷½ºÆ®½ºÅ©¸³Æ® ¶Ç´Â ÅØ½ºÆ® ÇÁ¸°ÅÍ
webmin_remotemsg=¿ø°Ý ÇÁ¸°ÅÍ
webmin_model=¸ðµ¨
webmin_prog=ÇÁ·Î±×·¥
webmin_driver=Webmin µå¶óÀÌ¹ö
webmin_uniprint=Uniprint µå¶óÀÌ¹ö
webmin_edrivers=$1¿¡¼­ µå¶óÀÌ¹ö¸¦ °¡Á®¿ÀÁö ¸øÇß½À´Ï´Ù. ghostscript¸¦ »ç¿ëÇÏ´Â Webmin ÇÁ¸°ÅÍ µå¶óÀÌ¹ö´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
webmin_egs=¸í·É $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ghostscript¸¦ »ç¿ëÇÏ´Â Webmin ÇÁ¸°ÅÍ µå¶óÀÌ¹ö´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
webmin_edriver='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

caldera_none=¾øÀ½
caldera_nonemsg=¿ø°Ý ¶Ç´Â ¿ø½Ã ÇÁ¸°ÅÍ
caldera_prog=ÇÁ·Î±×·¥
caldera_coas=COAS µå¶óÀÌ¹ö
caldera_printer=ÇÁ¸°ÅÍ ¹× ÇØ»óµµ
caldera_eof=EOF¸¦ º¸³À´Ï±î?
caldera_paper=¿ëÁö Å©±â
caldera_double=¾ç¸é¿¡ ÀÎ¼âÇÕ´Ï±î?
caldera_gsopts=Ãß°¡ GS ¿É¼Ç
caldera_uniprint=Uniprint µå¶óÀÌ¹ö
caldera_eprog='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
caldera_edriver=¼±ÅÃÇÑ ÇÁ¸°ÅÍ µå¶óÀÌ¹ö°¡ ¾ø½À´Ï´Ù
caldera_eres=ÇØ»óµµ¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù

redhat_none=¾øÀ½
redhat_nonemsg=Æ÷½ºÆ®½ºÅ©¸³Æ® ¶Ç´Â ÅØ½ºÆ® ÇÁ¸°ÅÍ
redhat_prog=ÇÁ·Î±×·¥
redhat_driver=Redhat µå¶óÀÌ¹ö
redhat_printer=ÇÁ¸°ÅÍ ¹× ÇØ»óµµ
redhat_eof=EOF¸¦ º¸³À´Ï±î?
redhat_paper=¿ëÁö Å©±â
redhat_pages=Ãâ·Â ÆäÀÌÁö ´ç ÆäÀÌÁö ¼ö
redhat_gsopts=Ãß°¡ GS ¿É¼Ç
redhat_hmargin=¿À¸¥ÂÊ/¿ÞÂÊ ¿©¹é
redhat_vmargin=À§ÂÊ/¾Æ·¡ÂÊ ¿©¹é
redhat_crlf=°è´Ü½Ä ÅØ½ºÆ®¸¦ °íÁ¤ÇÕ´Ï±î?
redhat_eprog='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
redhat_edriver=¼±ÅÃÇÑ ÇÁ¸°ÅÍ µå¶óÀÌ¹ö°¡ ¾ø½À´Ï´Ù
redhat_ehmargin=¾ø°Å³ª Àß¸øµÈ ¿À¸¥ÂÊ/¿ÞÂÊ ¿©¹é
redhat_evmargin=¾ø°Å³ª Àß¸øµÈ À§ÂÊ/¾Æ·¡ÂÊ ¿©¹é
redhat_eres=ÇØ»óµµ¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
redhat_printer2=ÇÁ¸°ÅÍ ¸ðµ¨ ¹× µå¶óÀÌ¹ö

suse_none=¾øÀ½
suse_nonemsg=Æ÷½ºÆ®½ºÅ©¸³Æ® ¶Ç´Â ÅØ½ºÆ® ÇÁ¸°ÅÍ
suse_prog=ÇÁ·Î±×·¥
suse_driver=APSfilter µå¶óÀÌ¹ö
suse_printer=ÇÁ¸°ÅÍ À¯Çü
suse_res=ÇØ»óµµ(DPI)
suse_colour=ÄÃ·¯ ÇÁ¸°ÅÍÀÔ´Ï±î?
suse_paper=¿ëÁö Å©±â
suse_method=ÇÊÅÍ ¹æ¹ý
suse_auto=ÀÚµ¿
suse_ascii=¾Æ½ºÅ°
suse_raw=¿ø½Ã
suse_extra=Ãß°¡ ghostscript ¿É¼Ç
suse_yast2=YAST2 µå¶óÀÌ¹ö
suse_edriver=ÇÁ¸°ÅÍ À¯ÇüÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
suse_eres=¾ø°Å³ª Àß¸øµÈ ÇØ»óµµ

estop=lpd¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù: $1

acl_printers=ÀÌ »ç¿ëÀÚ°¡ ±¸¼ºÇÒ ¼ö ÀÖ´Â ÇÁ¸°ÅÍ
acl_add=»õ ÇÁ¸°ÅÍ¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_cancel=ÀÎ¼â ÀÛ¾÷À» Ãë¼ÒÇÒ ¼ö ÀÖ½À´Ï±î?
acl_stop=½ºÄÉÁÙ·¯¸¦ ÁßÁöÇÏ°Å³ª ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï±î?
acl_restart=Àç½ÃÀÛ¸¸
acl_listed=¼±ÅÃÇÑ ÇÁ¸°ÅÍ¿¡¼­¸¸..
acl_pall=¸ðµç ÇÁ¸°ÅÍ
acl_psel=¼±ÅÃÇÑ ÇÁ¸°ÅÍ..
acl_view=±¸¼ºÇÒ ¼ö ¾ø´Â ÇÁ¸°ÅÍ¸¦ Ç¥½ÃÇÕ´Ï±î?
acl_test=Å×½ºÆ® ÆäÀÌÁö¸¦ ÀÎ¼âÇÒ ¼ö ÀÖ½À´Ï±î?

log_stop=ÀÎ¼â ½ºÄÉÁÙ·¯ ÁßÁöµÊ
log_start=ÀÎ¼â ½ºÄÉÁÙ·¯ ½ÃÀÛµÊ
log_restart=ÀÎ¼â ½ºÄÉÁÙ·¯ ´Ù½Ã ½ÃÀÛµÊ
log_cancel_job=$1ÀÇ ÀÎ¼â ÀÛ¾÷ $2 Ãë¼ÒµÊ
log_cancel_all=$1ÀÇ ¸ðµç ÀÎ¼â ÀÛ¾÷ Ãë¼ÒµÊ
log_create=$2ÀÇ ÇÁ¸°ÅÍ $1 ÀÛ¼ºµÊ
log_modify=$2ÀÇ ÇÁ¸°ÅÍ $1 ¼öÁ¤µÊ
log_delete=$2ÀÇ ÇÁ¸°ÅÍ $1 »èÁ¦µÊ
log_create_l=$2ÀÇ $3 ÇÁ¸°ÅÍ $1 ÀÛ¼ºµÊ
log_modify_l=$2ÀÇ $3 ÇÁ¸°ÅÍ $1 ¼öÁ¤µÊ
log_delete_l=$2ÀÇ $3 ÇÁ¸°ÅÍ $1 »èÁ¦µÊ

linux_paralel=º´·Ä Æ÷Æ® $1
linux_serial=Á÷·Ä Æ÷Æ® $1(COM$1)
linux_null=Null ÀåÄ¡
linux_usb=USB ÇÁ¸°ÅÍ $1

freebsd_paralel=º´·Ä Æ÷Æ®
freebsd_serial=Á÷·Ä Æ÷Æ® $1(COM$1)

openbsd_paralel=º´·Ä Æ÷Æ®
openbsd_serial=Á÷·Ä Æ÷Æ® $1(COM$1)

unixware_paralel=º´·Ä Æ÷Æ® $1
unixware_serial=Á÷·Ä Æ÷Æ® $1
unixware_null=Null ÀåÄ¡

hpux_paralel=º´·Ä $1
hpux_serial=Á÷·Ä $1
hpux_null=Null ÀåÄ¡

lprng_paralel=º´·Ä Æ÷Æ® $1
lprng_serial=Á÷·Ä Æ÷Æ® $1(COM$1)
lprng_null=Null ÀåÄ¡

solaris_paralel=º´·Ä Æ÷Æ®
solaris_uparalel=Ultra 5/10 º´·Ä Æ÷Æ®
solaris_serial=Á÷·Ä Æ÷Æ® $1
solaris_null=Null ÀåÄ¡

test_title=Å×½ºÆ® ÆäÀÌÁö ÀÎ¼â
test_ecannot=Å×½ºÆ® ÆäÀÌÁö¸¦ ÀÎ¼âÇÒ ¼ö ¾ø½À´Ï´Ù
test_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ÇÁ¸°ÅÍ $1ÀÇ Å×½ºÆ® ÆäÀÌÁö¸¦ ÀÎ¼âÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÎ¼âÇÒ ÆäÀÌÁö À¯ÇüÀ» ¼±ÅÃÇÏ½Ê½Ã¿À:
test_0=Èæ¹é Æ÷½ºÆ®½ºÅ©¸³Æ® ÆäÀÌÁö
test_1=ÄÃ·¯ Æ÷½ºÆ®½ºÅ©¸³Æ® ÆäÀÌÁö
test_2=ÀÏ¹Ý ¾Æ½ºÅ° ÅØ½ºÆ®
test_3=¾÷·ÎµåµÈ ÆÄÀÏ
test_print=ÆäÀÌÁö ÀÎ¼â
test_exec=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© Å×½ºÆ® ÆäÀÌÁö ÀÎ¼â Áß..
test_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
test_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù

cups_none=¾øÀ½
cups_nonemsg=¿ø°Ý ¶Ç´Â ¿ø½Ã ÇÁ¸°ÅÍ
cups_prog=ÇÁ·Î±×·¥
cups_driver=CUPS µå¶óÀÌ¹ö

   070701000076ee000081a40000000000000002000000013d1fe2d200001f49000000200000000000000000000000000000001600000003reloc/lpadmin/lang/nl index_title=Afdrukbeheer
index_name=Printer
index_desc=beschrijving
index_to=Print naar
index_driver=Driver
index_enabled=Ingeschakeld?
index_accepting=Accepteert opdrachten?
index_jobs=Taken
index_none=Geen printers in dit systeem geïnstalleerd
index_list=lijst..
index_add=Voeg een nieuwe printer toe
index_stop=Stop Scheduler
index_stopmsg=Klik op deze knop om de printer scheduler te stoppen. Daardoor zullen gebruikers (lokaal en op afstand) niet meer kunnen printen op dit systeem.
index_start=Start Scheduler
index_startmsg=Klik op deze knop om de printer scheduler te starten. Daardoor zullen gebruikers (lokaal en op afstand) kunnen printen op dit systeem.
index_restart=Herstart Scheduler
index_restartmsg=Klik op deze knop om de printer scheduler te herstarten. Daardoor wordt de huidige afdruk configuratie van kracht.
index_return=printer lijst

edit_eedit=U mag deze printer niet veranderen
edit_eadd=U mag geen printers toevoegen
edit_add=Printer Toevoegen
edit_edit=Printer Wijzigen
edit_conf=Printer Configuratie
edit_name=Naam
edit_acc=Accepteert opdrachten?
edit_why=Nee - Waarom niet
edit_desc=Beschrijving
edit_ena=Printen ingeschakeld?
edit_acl=Toegangs controle
edit_allow=Laat iedereen toe
edit_deny=Laat niemand toe
edit_allowu=Laat opgesomde gebruikers toe..
edit_denyu=Laat opgesomde gebruikers niet toe..
edit_banner=Scheidingsblad afdrukken?
edit_opt=Facultatief
edit_default=Standaard printer?
edit_already=Dit is reeds de standaard printer
edit_max=Max grootte printtaak
edit_unlimited=Onbeperkt
edit_dacc=Driver accepteert
edit_dtext=Tekst
edit_dpost=Postscript
edit_dother=Overige
edit_alt=Alternatieve printernamen
edit_dest=Print Bestemming
edit_dev=Lokaal apparaat
edit_file=Lokaal bestand
edit_remote=Remote Unix server
edit_rqueue=Printer
edit_type=Type
edit_smb=Remote Windows server
edit_share=Printer
edit_user=Gebruiker
edit_pass=Wachtwoord
edit_wgroup=Workgroup
edit_hpnp=Remote HPNP server
edit_port=Poort
edit_direct=Direkte TCP connectie
edit_dport=Poort
edit_driver=Printer Driver
edit_check=Controleren of remote server 'up' is?

blocks=blokken

save_err=Opslaan printer mislukt
save_eadd=U mag geen printers toevoegen
save_eedit=U mag deze printer niet wijzigen
save_ename='$1' is geen geldige printer naam
save_edup=Er bestaat al een printer met de naam '$1'
save_eallow=Geen toegestane gebruikers opgegeven
save_edeny=Geen te weigeren gebruikers opgegeven
save_euser=Gebruiker '$1' bestaat niet
save_etype=U moet minstens één soort driver selecteren
save_emax=Max grootte printtaak moet een heel getal zijn
save_efile='$1' bestaat niet
save_erhost=Remote host '$1' bestaat niet
save_erqueue='$1' is geen geldige naam van een remote queue 
save_eremote=Drivers kunnen niet gebruikt worden bij remote Unix printers
save_edhost=Direct host '$1' bestaat niet
save_edport=Ontbrekende of ongeldige directe poort

jobs_title=Afdruktaken
jobs_header=Afdruktaken op $1
jobs_id=Taak ID
jobs_size=Grootte
jobs_by=Opdracht van
jobs_when=Aangeleverd om
jobs_file=Bestandsnaam
jobs_cancel=Klik op een taak ID van bovenstaande lijst om te onderbreken.
jobs_cancelview=Klik op een taak ID van bovenstaande lijst om te onderbreken, of klik op de taak grootte om te bekijken.
jobs_none=Geen print taken op $1
jobs_all=Breek alle afdruktaken af
jobs_bytes=bytes
jobs_test=Print Testblad

cancel_ecannot=U mag geen afdruktaken afbreken
cancel_err=Afbreken printtaak is mislukt
cancel_egone=Afdruktaak $1 bestaat niet meer

view_ecannot=U mag deze afdruktaak niet bekijken
view_egone=Deze afdruktaak bestaat niet meer

start_ecannot=U mag de scheduler niet starten
start_err=Starten van scheduler is mislukt

stop_ecannot=U mag de scheduler niet stoppen
stop_err=Stoppen van scheduler is mislukt

restart_ecannot=U mag de scheduler niet herstarten
restart_err=Herstarten van scheduler is mislukt

webmin_none=Geen
webmin_nonemsg=Postscript of tekst printer
webmin_remotemsg=Remote printer
webmin_model=Model
webmin_prog=Programma
webmin_driver=Webmin driver
webmin_uniprint=Uniprint driver
webmin_edrivers=Kon de driver van $1 niet vinden. Webmin printer drivers op basis van ghostscript zijn niet beschikbaar
webmin_egs=Het commando $1 is niet gevonden. Webmin printer drivers op basis van ghostscript zijn niet beschikbaar
webmin_edriver='$1' bestaat niet

caldera_none=Geen
caldera_nonemsg=Remote of raw printer
caldera_prog=Programma
caldera_coas=COAS driver
caldera_printer=Printer en resolutie
caldera_eof=EOF versturen?
caldera_paper=Papier maat
caldera_double=Dubbelzijdig afdrukken?
caldera_gsopts=Additionele GS opties
caldera_uniprint=Uniprint driver
caldera_eprog='$1' bestaat niet
caldera_edriver=Geen printer driver geselecteerd
caldera_eres=Geen resolutie geselecteerd

redhat_none=Geen
redhat_nonemsg=Postscript of tekst printer
redhat_prog=Programma
redhat_driver=Redhat driver
redhat_printer=Printer en resolutie
redhat_eof=EOF versturen?
redhat_paper=Papier maat
redhat_pages=Pages per output page
redhat_gsopts=Additionele GS opties
redhat_hmargin=Links/rechts marge
redhat_vmargin=Boven/onder marge
redhat_crlf=Fiksen 'stair-stepping' tekst?
redhat_eprog='$1' bestaat niet
redhat_edriver=Geen printer driver geselecteerd
redhat_ehmargin=Ontbrekende of ongeldige linker/rechter marge
redhat_evmargin=Ontbrekende of ongeldige boven/onder marge
redhat_eres=Geen resolutie geselecteerd
redhat_printer2=Printer model en driver

suse_none=Geen
suse_nonemsg=Postscript of tekst printer
suse_prog=Programma
suse_driver=APSfilter driver
suse_printer=Printer type
suse_res=Resolutie in DPI
suse_colour=Kleuren printer?
suse_paper=Papier maat
suse_method=Filter methode
suse_auto=Automatisch
suse_ascii=ASCII
suse_raw=Raw
suse_extra=Extra ghostscript opties
suse_yast2=YAST2 driver
suse_edriver=Geen printer type geselecteerd
suse_eres=Ontbrekende of ongeldige resolutie

estop=Het stoppen is mislukt voor lpd : $1

acl_printers=Printers die deze gebruiker kan configureren
acl_add=Kan nieuwe printers toevoegen?
acl_cancel=Kan print jobs afbreken?
acl_stop=Kan scheduler stoppen of starten?
acl_restart=Alleen herstarten
acl_listed=Alleen geselecteerde printers ..
acl_pall=Alle printers
acl_psel=Geselecteerd..
acl_view=Niet-configureerbare printers tonen?
acl_test=Kan test bladzijden printen?
acl_user=Beheren van taken van
acl_user_all=Alle gebruikers
acl_user_this=Huidige Webmin gebruiker

log_stop=Print scheduler gestopt
log_start=Print scheduler gestart
log_restart==Print scheduler herstart
log_cancel_job=Afdruktaak $2 op $1 afgebroken
log_cancel_all=Alle afdruktaken op $1 afgebroken
log_create=Printer $1 op $2 aangemaakt
log_modify=Printer $1 op $2 gewijzigd
log_delete=Printer $1 op $2 verwijderd
log_create_l=$3 printer $1 op $2 aangemaakt
log_modify_l=$3 printer $1 op $2 gewijzigd
log_delete_l=$3 printer $1 op $2 verwijderd

linux_paralel=Parallelle Poort $1
linux_serial=Seriële Poort $1 (COM$1)
linux_null=Null Device
linux_usb=USB printer $1

freebsd_paralel=Parallelle Poort
freebsd_serial=Seriële Poort $1 (COM$1)

openbsd_paralel=Parallelle Poort
openbsd_serial=Seriële Poort $1 (COM$1)

unixware_paralel=Parallelle Poort $1
unixware_serial=Seriële Poort $1
unixware_null=Null Device

hpux_paralel=Parallelle $1
hpux_serial=Seriële Poort $1
hpux_null=Null Device

lprng_paralel=Parallelle Poort $1
lprng_serial=Seriële Poort $1 (COM$1)
lprng_null=Null Device

solaris_paralel=Parallelle Poort
solaris_uparalel=Ultra 5/10 Parallel Poort
solaris_serial=Seriële Poort $1
solaris_null=Null Device

test_title=Print Testblad
test_ecannot=U mag geen testblad afdrukken
test_desc=Met dit formulier kunt u een testblad afdrukken op printer $1. Selecteer het soort testblad dat u wilt printen :
test_0=Zwart en Wit Postscript blad
test_1=Kleuren Postscript blad
test_2=Uitsluitend ASCII tekst
test_3=Een 'uploaded'bestand
test_print=Print blad
test_exec=Afdrukken testblad met commando $1 ..
test_failed=.. commando mislukt!
test_ok=.. commando beëindigd.

cups_none=Geen
cups_nonemsg=Remote of raw printer
cups_prog=Programma
cups_driver=CUPS driver

   070701000076ef000081a40000000000000002000000013d1fe2d2000021a4000000200000000000000000000000000000001600000003reloc/lpadmin/lang/pl index_title=Zarz±dzanie drukarkami
index_name=Drukarka
index_desc=Opis
index_to=Drukuj do
index_driver=Sterownik
index_enabled=Aktywny?
index_accepting=Przyjmuje po³±czenia?
index_jobs=Zadania
index_none=W&nbsp;tym systemie nie zainstalowano ¿adnej drukarki
index_list=lista..
index_add=Dodaj now± drukarkê
index_stop=Zatrzymaj zarz±dcê
index_stopmsg=Naci¶nij ten przycisk, aby zatrzymaæ dzia³±j±cy proces zarz±dcy wydruków. Uniemo¿liwi to lokalnym i&nbsp;zdalnym u¿ytkownikom drukowanie w&nbsp;Twoim systemie.
index_start=Uruchom zarz±dcê
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ proces zarz±dcy wydruków. Umo¿liwi to lokalnym i&nbsp;zdalnym u¿ytkownikom drukowanie w&nbsp;Twoim systemie.
index_restart=Restartuj zarz±dcê
index_restartmsg=Naci¶nij ten przycisk, aby zrestartowaæ proces zarz±dcy wydruków. Wymusi to zastosowanie bie¿±cej konfiguracji drukarek.
index_return=listy drukarek

edit_eedit=Nie masz uprawnieñ do zmian tej drukarki
edit_eadd=Nie masz uprawnieñ do dodawania drukarek
edit_add=Utwórz drukarkê
edit_edit=Zmieñ drukarkê
edit_conf=Konfiguracja drukarki
edit_name=Nazwa
edit_acc=Przyjmuje zadania?
edit_why=Nie - Dlaczego
edit_desc=Opis
edit_ena=Drukowanie w³±czone?
edit_acl=Kontrola dostêpu
edit_allow=Pozwól wszystkim
edit_deny=Zabroñ wszystkim
edit_allowu=Pozwól wymienionym u¿ytkownikom..
edit_denyu=Zabroñ wymienionym u¿ytkownikom..
edit_banner=Drukowaæ nag³ówek?
edit_opt=Warunkowo
edit_default=Drukarka domy¶lna?
edit_already=Ju¿ jest drukark± domy¶ln±
edit_max=Maks. rozmiar zadania
edit_unlimited=Nieograniczony
edit_dacc=Sterownik przyjmuje
edit_dtext=Tekst
edit_dpost=Postscript
edit_dother=Inne
edit_alt=Alternatywne nazwy drukarki
edit_dest=Drukowanie do
edit_dev=Urz±dzenia lokalnego
edit_file=Pliku lokalnego
edit_remote=Zdalnego serwera Unix
edit_rqueue=Drukarka
edit_type=Typ
edit_smb=Zdalnego serwera Windows
edit_share=Drukarka
edit_user=U¿ytkownik
edit_pass=Has³o
edit_wgroup=Grupa robocza
edit_hpnp=Zdalnego serwera HPNP
edit_port=Port
edit_direct=Bezpo¶rednie po³±czenie TCP
edit_dport=Port
edit_driver=Sterownik drukarki
edit_check=Sprawdzaæ, czy zdalny serwer dzia³a?

blocks=bloków

save_err=Nie uda³o siê zachowaæ drukarki
save_eadd=Nie masz uprawnieñ do dodawania drukarek
save_eedit=Nie masz uprawnieñ do zmian tej drukarki
save_ename='$1' nie jest poprawn± nazw± drukarki
save_edup=Drukarka o&nbsp;nazwie '$1' ju¿ istnieje
save_eallow=Nie podano u¿ytkowników, którym pozwolono
save_edeny=Nie podano u¿ytkowników, którym zabroniono
save_euser=U¿ytkownik '$1' nie istnieje
save_etype=Musisz podaæ przynajmniej jeden typ zadañ, które ten sterownik przyjmuje
save_emax=Maksymalny rozmiar zadania musi byæ liczb± ca³kowit±
save_efile='$1' nie istnieje
save_erhost=Host zdalny '$1' nie istnieje
save_erqueue='$1' nie jest poprawn± nazw± kolejki
save_eremote=Nie mo¿na u¿ywaæ sterowników w&nbsp;przypadku zdalnych drukarek uniksowych
save_edhost=Host bezpo¶redni '$1' nie istnieje
save_edport=Nie podany lub niepoprawny port bezpo¶redni

jobs_title=Zadania do wydrukowania
jobs_header=Zadania do wydrukowania na $1
jobs_id=Nr ID zadania
jobs_size=Rozmiar
jobs_by=Zlecone przez
jobs_when=Zlecone o
jobs_file=Nazwa pliku
jobs_cancel=Naci¶nij na numer ID zadania z&nbsp;powy¿szej listy, aby je anulowaæ.
jobs_cancelview=Naci¶nij na numer ID zadania z&nbsp;powy¿szej listy, aby je anulowaæ, lub naci¶nij na rozmiar zadania, aby je obejrzeæ.
jobs_none=Brak zadañ do wydrukowania na $1
jobs_all=Anuluj wszystkie zadania do wydrukowania
jobs_bytes=bajtów
jobs_test=Drukuj stronê testow±

cancel_ecannot=Nie masz uprawnieñ do anulowania zadañ
cancel_err=Nie uda³o siê anulowaæ zadania
cancel_egone=Zadanie $1 ju¿ nie istnieje

view_ecannot=Nie masz uprawnieñ do ogl±dania tego zadania
view_egone=To zadanie ju¿ nie istnieje

start_ecannot=Nie masz uprawnieñ do uruchamiania zarz±dcy
start_err=Nie uda³o siê uruchomiæ zarz±dcy

stop_ecannot=Nie masz uprawnieñ do zatrzymywania zarz±dcy
stop_err=Nie uda³o siê zatrzymaæ zarz±dcy

restart_ecannot=Nie masz uprawnieñ do restartu zarz±dcy
restart_err=Nie uda³o siê zrestartowaæ zarz±dcy

webmin_none=Brak
webmin_nonemsg=Drukarka postscriptowa lub tekstowa
webmin_remotemsg=Drukarka zdalna
webmin_model=Model
webmin_prog=Program
webmin_driver=Sterownik Webmina
webmin_uniprint=Sterownik Uniprint
webmin_edrivers=Nie uda³o siê uzyskaæ sterownika $1. Brak sterowników Webmina u¿ywaj±cych ghostscripta.
webmin_egs=Komenda $1 nie znaleziona. Brak sterowników Webmina u¿ywaj±cych ghostscripta.
webmin_edriver='$1' nie istnieje.

caldera_none=Brak
caldera_nonemsg=Drukarka zdalna lub nie przetwarzaj±ca
caldera_prog=Program
caldera_coas=Sterownik COAS
caldera_printer=Drukarka i&nbsp;rozdzielczo¶æ
caldera_eof=Wysy³aæ EOF?
caldera_paper=Rozmiar papieru
caldera_double=Druk dwustronny?
caldera_gsopts=Dodatkowe parametry dla GS
caldera_uniprint=Sterownik Uniprint
caldera_eprog='$1' nie istnieje
caldera_edriver=Nie wybrano sterownika drukarki
caldera_eres=Nie wybrano rozdzielczo¶ci

redhat_none=Brak
redhat_nonemsg=Drukarka postscriptowa lub tekstowa
redhat_prog=Program
redhat_driver=Sterownik Redhata
redhat_printer=Drukarka i&nbsp;rozdzielczo¶æ
redhat_eof=Wysy³aæ EOF?
redhat_paper=Rozmiar papieru
redhat_pages=Liczba stron na stronie wydruku
redhat_gsopts=Dodatkowe parametry dla GS
redhat_hmargin=Prawy/lewy margines
redhat_vmargin=Górny/dolny margines
redhat_crlf=Usun±æ 'schodki' w&nbsp;tek¶cie?
redhat_eprog='$1' nie istnieje
redhat_edriver=Nie wybrano sterownika drukarki
redhat_ehmargin=Nie podany lub niepoprawny prawy/lewy margines
redhat_evmargin=Nie podany lub niepoprawny górny/dolny margines
redhat_eres=Nie wybrano rozdzielczo¶ci
redhat_printer2=Model i&nbsp;sterownik drukarki

suse_none=Brak 
suse_nonemsg=Drukarka postscriptowa lub tekstowa
suse_prog=Program
suse_driver=Sterownik filtru APS
suse_printer=Typ drukarki
suse_res=Rozdzielczo¶æ w&nbsp;DPI
suse_colour=Drukarka kolorowa?
suse_paper=Rozmiar papieru
suse_method=Rodzaj filtru
suse_auto=Automatyczny
suse_ascii=ASCII
suse_raw=Brak
suse_extra=Dodatkowe opcje dla ghostscripta
suse_yast2=sterownik YAST2
suse_edriver=Nie wybrano rodzaju drukarki
suse_eres=Nie podana lub niepoprawna rozdzielczo¶æ

estop=Nie uda³o siê zatrzymaæ lpd&nbsp;: $1

acl_printers=Drukarki, które ten u¿ytkownik mo¿e konfigurowaæ
acl_add=Mo¿e dodawaæ nowe drukarki?
acl_cancel=Mo¿e anulowaæ zadania do drukowania?
acl_stop=Mo¿e zatrzymywaæ i&nbsp;uruchamiaæ zarz±dcê?
acl_restart=Tylko restart
acl_listed=Tylko na zaznaczonych drukarkach ..
acl_pall=Wszystkie drukarki
acl_psel=Wybrane..
acl_view=Pokazywaæ niekonfigurowalne drukarki?
acl_test=Mo¿e drukowaæ strony testowe?
acl_user=Zarz±dzaj zadaniami drukowania nale¿±cymi do
acl_user_all=Wszystkich u¿ytkowników
acl_user_this=Aktualnego u¿ytkownika Webmina

log_stop=Zatrzymano zarz±dcê kolejek drukowania
log_start=Uruchomiono zarz±dcê kolejek drukowania
log_restart=Zrestartowano zarz±dcê kolejek drukowania
log_cancel_job=Anulowano zadanie drukowania $2 na $1
log_cancel_all=Anulowano wszystkie zadania drukowania na $1
log_create=Utworzono drukarkê $1 na $2
log_modify=Usuniêto drukarkê $1 na $2
log_delete=Deleted drukarkê $1 na $2
log_create_l=Utworzono drukarkê $3 $1 na $2
log_modify_l=Zmieniono drukarkê $3 $1 na $2
log_delete_l=Usuniêto drukarkê $3 $1 na $2

linux_paralel=Port równoleg³y $1
linux_serial=Port szeregowy $1 (COM$1)
linux_null=Urz±dzenie null
linux_usb=Drukarka USB $1

freebsd_paralel=Port równoleg³y
freebsd_serial=Port szeregowy $1 (COM$1)

openbsd_paralel=Port równoleg³y
openbsd_serial=Port szeregowy $1 (COM$1)

unixware_paralel=Port równoleg³y $1
unixware_serial=Port szeregowy $1
unixware_null=Urz±dzenie null

hpux_paralel=Port równoleg³y $1
hpux_serial=Port szeregowy $1
hpux_null=Urz±dzenie null

lprng_paralel=Port równoleg³y $1
lprng_serial=Port szeregowy $1 (COM$1)
lprng_null=Urz±dzenie null

solaris_paralel=Port równoleg³y
solaris_uparalel=Port równoleg³y Ultra 5/10
solaris_serial=Port szeregowy $1
solaris_null=Urz±dzenie null

test_title=Druk strony testowej
test_ecannot=Nie masz uprawnieñ do drukowania stron testowych
test_desc=Za pomoc± tego formularza mo¿esz wydrukowaæ stronê testow± na drukarce $1. Wybierz rodzaj drukowanej strony&nbsp;:
test_0=Czarno-bia³a strona postscriptowa
test_1=Kolorowa strona postscriptowa
test_2=Strona tekstowa ASCII
test_3=Dowolny przes³any plik
test_print=Drukuj stronê
test_exec=Trwa drukowanie strony testowej za pomoc± polecenia $1 ..
test_failed=.. polecenie zakoñczy³o siê niepowodzeniem!
test_ok=.. polecenie wykonano.

cups_none=Brak
cups_nonemsg=Drukarka zdalna lub nie przetwarzaj±ca
cups_prog=Program
cups_driver=Sterownik CUPS
070701000076f0000081a40000000000000002000000013d1fe2d20000150a000000200000000000000000000000000000001600000003reloc/lpadmin/lang/pt index_title=Administração de Impressoras
index_name=Impressora
index_desc=Descrição
index_to=Imprimir para
index_driver=Controlador
index_jobs=Tarefas
index_none=Não estão instaladas impressoras neste sistema
index_list=lista..
index_add=Adicionar nova impressora
index_stop=Parar Catalogador
index_stopmsg=Clique neste botão para parar o processo em curso do catalogador da impressora. Isto prevenirá que qualquer utilizador local ou remoto imprima no seu sistema.
index_start=Iniciar Catalogador
index_startmsg=Clique neste botão para iniciar o processo do catalogador da impressora. Isto permitirá que qualquer utilizador local ou remoto imprima no seu sistema.
index_return=lista de impressoras

edit_eedit=Você não está autorizado para editar esta impressora
edit_eadd=Você não está autorizado para adicionar impressoras
edit_add=Criar Impressora
edit_edit=Editar Impressora
edit_conf=Configuração da Impressora
edit_name=Nome
edit_acc=Aceitar requerimentos?
edit_why=Não - Porque não
edit_desc=Descrição
edit_ena=Impressão activada?
edit_acl=Controlo de acesso
edit_allow=Permitir a todos
edit_deny=Negar a todos
edit_allowu=Permitir a utilizadores listados..
edit_denyu=Negar a utilizadores listados..
edit_banner=Imprimir página de cabeçalho?
edit_opt=Opcional
edit_default=Impressora predefinida?
edit_already=Esta já é a impressora predefinida
edit_max=Tamanho máximo das tarefas de impressão
edit_dacc=O controlador aceita
edit_dtext=Texto
edit_dpost=Postscript
edit_dother=Outros
edit_alt=Nomes alternativos da impressora
edit_dest=Destino da impressão
edit_dev=Dispositivo local
edit_file=Ficheiro local
edit_remote=Servidor Unix remoto
edit_rqueue=Impressora
edit_type=Tipo
edit_smb=Servidor Windows remoto
edit_share=Impressora
edit_user=Utilizador
edit_pass=Password
edit_wgroup=Grupo de Trabalho
edit_hpnp=Servidor HPNP remoto
edit_port=Porta
edit_driver=Controlador da impressora

blocks=blocos

save_err=Erro ao guardar impressora
save_eadd=Você não está autorizado para adicionar impressoras
save_eedit=Você não está autorizado para editar esta impressora
save_ename='$1' não um nome de impressora válido
save_edup=Já existe uma impressora denominada '$1'
save_eallow=Não foram intruduzidos utilizadorores para autorizar
save_edeny=Não foram intruduzidos utilizadorores para negar
save_euser=O utilizador '$1' não existe
save_etype=Você deve introduzir pelos menos um tipo para ser aceite por este controlador
save_emax=O tamanho máximo da tarefa de impressão tem de ser um inteiro
save_efile='$1' não existe
save_erhost=O anfitrião remoto '$1' não existe
save_erqueue='$1' não é um nome de fila de trabalho remota válida
save_eremote=Os controladores não podem ser usados um impressoras Unix remotas

jobs_title=Tarefas de Impressão
jobs_header=Tarefas de impressão em $1
jobs_id=ID da tarefa
jobs_size=Tamanho
jobs_by=Submetido Por
jobs_when=Submetido às
jobs_file=Nome do Ficheiro
jobs_cancel=Clique num ID de tarefa da lista acima para cancelar.
jobs_none=Não há tarefas de impressão em $1

cancel_ecannot=Você não está autorizado para cancelar tarefas de impressão
cancel_err=Erro ao cancelar a tarefa de impressão
cancel_egone=A tarefa de impressão $1 já não existe

start_ecannot=Você não está autorizado para iniciar o catalogador
start_err=Erro ao iniciar o catalogador

stop_ecannot=Você não está autorizado para parar o catalogador
stop_err=Erro ao parar o catalogador

webmin_none=Nenhum
webmin_nonemsg=Impressora postscript ou de texto
webmin_remotemsg=Impressora remota
webmin_model=Modelo
webmin_prog=Programa
webmin_driver=Controlador do Webmin
webmin_uniprint=Controlador de uni-impressão
webmin_edrivers=Erro ao obter controladores de $1. Os controladores de impressão do Webmin que utilizem ghostscript não estarão disponíveis
webmin_egs=O comando $1 não foi encontrado. Os controladores de impressão do Webmin que utilizem ghostscript não estarão disponíveis
webmin_edriver='$1' não existe

caldera_none=Nenhum
caldera_nonemsg=Impressora remota ou sem buffer
caldera_prog=Programa
caldera_coas=Controlador COAS
caldera_printer=Impressora e resolução
caldera_eof=Enviar fim-de-ficheiro (EOF)?
caldera_paper=Dimensões do papel
caldera_double=Imprimir nos dois lados?
caldera_gsopts=Opções GS adicionais
caldera_uniprint=Controlador de uni-impressão
caldera_eprog='$1' não existe
caldera_edriver=Não foi seleccionado nenhum controlador de impressão
caldera_eres=Não seleccionada nenhuma resolução

redhat_none=Nenhum
redhat_nonemsg=Impressora postscript ou de texto
redhat_prog=Programa
redhat_driver=Controlador do Redhat
redhat_printer=Impressora e resolução
redhat_eof=Enviar fim-de-ficheiro (EOF)?
redhat_paper=Dimensões do papel
redhat_pages=Páginas por página de saída
redhat_gsopts=Opções GS adicionais
redhat_hmargin=Margem direita/esquerda
redhat_vmargin=Margem superior/inferior
redhat_crlf=Corrigir o texto em modo avanço-escalonado (stair-stepping)?
redhat_eprog='$1' não existe
redhat_edriver=Não foi seleccionado nenhum controlador de impressão
redhat_ehmargin=Margem direita/esquerda inválida ou em falta
redhat_evmargin=Margem superior/inferior inválida ou em falta
redhat_eres=No resolution selected Não foi seleccionada nehuma resolução

acl_printers=Impressoras que este utilizador pode configuar
acl_add=Pode adicionar novas impressoras?
acl_cancel=Pode cancelar tarefas de impresão?
acl_stop=Pode para ou iniciar o catalogador?
  070701000076f1000081a40000000000000002000000013d1fe2d2000012b0000000200000000000000000000000000000001900000003reloc/lpadmin/lang/ru_RU  redhat_driver=Äðàéâåð Redhat
save_err=Îøèáêà ïðè ñîõðàíåíèè ïðèíòåðà
edit_banner=Ïå÷àòàòü çàãîëîâîê?
edit_wgroup=Ðàáî÷àÿ ãðóïïà
redhat_eof=Ïîñûëàòü EOF?
save_edup=Ïðèíòåð ñ èìåíåì '$1' óæå ñóùåñòâóåò
edit_user=Ïîëüçîâàòåëü
cancel_egone=Çàäàíèå íà ïå÷àòü $1 áîëøå íå ñóùåñòâóåò
save_erhost=Óäàëåííûé õîñò '$1' íå ñóùåñòâóåò
webmin_edrivers=Îøèáêà ïðè óñïàíîâêå äðàéâåðà ñ $1. Äðàéâåðû ïðèíòåðîâ îò Webmin èñïîëüçóþùèå ghostscript íå äîñòóïíû.
jobs_size=Ðàçìåð
caldera_none=Íåò
save_erqueue='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì óäàëåííîé î÷åðåäè
redhat_nonemsg=Postscript èëè òåêñòîâûé ïðèíòåð
redhat_paper=Ðàçìåð áóìàãè
save_euser=Ïîëüçîâàòåëü '$1' íå ñóùåñòâóåò
jobs_id=ID çàäàíèÿ
index_none=Íåò ïðèíòåðîâ óñòàíîâëåííûõ íà äàííîé ñèñòåìå
edit_ena=Ïå÷àòü ðàçðåøåíà?
edit_dacc=Äðàéâåð ïðèíèìàåò
edit_dother=Äðóãîå
save_eadd=Âàì íå ðàçðåøåíî äîáàâëÿòü ïðèíòåðû
edit_max=Ìàêñ. ðàçìåð çàäàíèÿ
index_return=ñïèñîê ïðèíòåðîâ
caldera_nonemsg=Óäàëåííûé èëè 'ñûðîé' ïðèíòåð
edit_conf=Êîíôèãóðàöèÿ Ïðèíòåðà
webmin_model=Ìîäåëü
index_driver=Äðàéâåð
webmin_edriver='$1' íå ñóùåñòâóåò
save_eremote=Äðàéâåðû íå ìîãóò èñïîëüçîâàòñÿ ñ óäàëåííûìè Unix ïðèíòåðàìè
index_stopmsg=Íàæìèòå íà ýòó êíîïêó äëÿ îñòàíîâêè ðàáîòàþùåãî ñïóëåðà ïå÷àòè. Ýòî çàïðåòèò ëîêàëüíûì è óäàëåííûì ïîëüçîâàòåëÿì ïå÷àòàòü íà âàøåé ñèñòåìå.
webmin_none=Íåò
redhat_ehmargin=Óòåðÿí èëè íåâåðíûé ïðàâûé/ëåâûé îòñòóï
redhat_pages=Ñòðàíèö íà âûõîäíóþ ñòðàíèöó
caldera_eprog='$1' íå ñóùåñòâóåò
redhat_hmargin=Ïðàâûé/ëåâûé îòñòóï
jobs_none=Íåò çàäàíèé íà $1
edit_denyu=Çàïðåòèòü ïåðå÷èñëåííûì ïîëüçîâàòåëÿì..
start_ecannot=Âàì íå ðàçðåøåíî ñòàðòîâàòü ñïóëåð
edit_allowu=Ðàçðåøèòü ïåðå÷èñëåííûì ïîëüçîâàòåëÿì..
edit_edit=Ðåäàêòèðîâàíèå Ïðèíòåðà
jobs_when=Ïîñòàâëåíî
edit_port=Ïîðò
index_desc=Îïèñàíèå
cancel_err=Îøèáêà ïðè îòìåíå çàäàíèÿ íà ïå÷àòü
webmin_nonemsg=Postscript èëè òåêñòîâûé ïðèíòåð
save_eedit=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííûé ïðèíòåð
index_add=Äîáàâèòü íîâûé ïðèíòåð
redhat_eres=Íå âûáðàíî ðàçðåøåíèå
caldera_gsopts=Äîïîëíèòåëüíûå ïàðàìåòðû GS
edit_deny=Çàïðåòèòü âñåì
redhat_crlf=Èñïðàâëÿòü òåêñò-ëåñåíêîé?
edit_dev=Ëîêàëüíîå óñòðîéñòâî
stop_err=Îøèáêà ïðè îñòàíîâêå ñïóëåðà
acl_add=Ìîæåò äîáàâëÿòü íîâûå ïðèíòåðû?
edit_opt=Íåîáÿçàòåëüíî
edit_hpnp=Óäàëåííûé ñåðâåð HPNP
save_edeny=Íå ââåäåíî íè îäíîãî çàïðåùåííîãî ïîëüçîâàòåëÿ
save_emax=Ìàêñ. ðàçìåð çàäàíèÿ íà ïå÷àòü äîëæåí áûòü öåëûì
edit_desc=Îïèñàíèå
save_eallow=Íå ââåäåíî íè îäíîãî ðàçðåøåííîãî ïîëüçîâàòåëÿ
edit_dest=Óñòðîéñòâî ïå÷àòè
index_stop=Îñòàíîâèòü Ñïóëåð
edit_smb=Óäàëåííûé ñåðâåð Windows
caldera_paper=Ðàçìåð áóìàãè
cancel_ecannot=Âàì íå ðàçðåøåíî îòìåíÿòü çàäàíèÿ íà ïå÷àòü
edit_rqueue=Ïðèíòåð
redhat_evmargin=Óòåðÿí èëè íåâåðíûé âåðõíèé/íèæíèé îòñòóï
jobs_cancel=Íàæìèòå íà ID çàäàíèÿ èç ñïèñêà íèæå äëÿ óäàëåíèÿ åãî èç î÷åðåäè.
caldera_eres=Íå âûáðàíî ðàçðåøåíèå
edit_why=Íåò - Ïî÷åìó
redhat_prog=Ïðîãðàììà
webmin_egs=Êîìàíäà $1 íå íàéäåíà. Äðàéâåðû ïðèíòåðîâ îò Webmin èñïîëüçóþùèå ghostscript íå äîñòóïíû.
edit_file=Ëîêàëüíûé ôàéë
index_start=Ñòàðòîâàòü Ñïóëåð
stop_ecannot=Âàì íå ðàçðåøåíî îñòàíàâëèâàòü ñïóëåð
redhat_printer=Ïðèíòåð è ðàçðåøåíèå
redhat_vmargin=Âåðõíèé/íèæíèé îòñòóï
webmin_remotemsg=Óäàëåííûé ïðèíòåð
redhat_gsopts=Äîïîëíèòåëüíûå ïàðàìåòðû GS
index_name=Ïðèíòåð
caldera_double=Ïå÷àòàòü ñ äâóõ ñòîðîí?
jobs_header=Çàäàíèÿ äëÿ ïå÷àòè íà $1
index_title=Óïðàâëåíèå Ïðèíòåðàìè
save_efile='$1' íå ñóùåñòâóåò
webmin_driver=Äðàéâåð Webmin
edit_eadd=Âàì íå ðàçðåøåíî äîáàâëÿòü ïðèíòåðû
start_err=Îøèáêà ïðè ñòàðòå ñïóëåðà
blocks=áëîêîâ
index_startmsg=Íàæìèòå íà ýòó êíîïêó äëÿ ñòàðòà ñïóëåðà ïå÷àòè. Ýòî ïîçâîëèò ëîêàëüíûì è óäàëåííûì ïîëüçîâàòåëÿì ïå÷àòàòü íà âàøåé ñèñòåìå.
jobs_file=Èìÿ Ôàéëà
jobs_title=Çàäàíèÿ äëÿ Ïå÷àòè
index_jobs=Çàäàíèÿ
acl_printers=Ïðèíòåðû äîñòóïíûå äëÿ íàñòðîéêè äàííîìó ïîëüçîâàòåëþ
edit_dtext=Òåêñò
caldera_printer=Ïðèíòåð è ðàçðåøåíèå
edit_allow=Ðàçðåøèòü âñåì
edit_already=Óæå ÿâëÿåòñÿ ïðèíòåðîì ïî óìîë÷àíèþ
edit_remote=Óäàëåííûé ñåðâåð Unix
index_to=Ïå÷àòàåò íà
edit_name=Èìÿ
edit_driver=Äðàéâåð Ïðèíòåðà
caldera_prog=Ïðîãðàììà
edit_dpost=Postscript
edit_default=Ïðèíòåð ïî óìîë÷àíèþ?
edit_acc=Ïðèíèìàåò çàïðîñû?
edit_eedit=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííûé ïðèíòåð
save_ename='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ïðèíòåðà
edit_acl=Óïðàâëåíèå äîñòóïîì
edit_add=Ñîçäàíèå Ïðèíòåðà
redhat_eprog='$1' íå ñóùåñòâóåò
caldera_coas=Äðàéâåð COAS
edit_type=Òèï
acl_cancel=Ìîæåò ïðåðûâàòü çàäàíèÿ íà ïå÷àòü?
edit_share=Ïðèíòåð
caldera_eof=Ïîñûëàòü EOF?
redhat_edriver=Íå âûáðàí äðàéâåð ïðèíòåðà
redhat_none=Íåò
index_list=ñïèñîê..
save_etype=Âû äîëæíû âûáðàòü õîòÿáû îäèí òèï ñîäåðæèìîãî ïðèíèìàåìîãî äàííûì äðàéâåðîì
acl_stop=Ìîæåò îñòàíàâëèâàòü èëè ñòàðòîâàòü ñïóëåð?
edit_pass=Ïàðîëü
edit_alt=Àëüòåðíàòèâíûå èìåíà ïðèíòåðà
webmin_prog=Ïðîãðàììà
caldera_edriver=Íå âûáðàí äðàéâåð ïðèíòåðà
jobs_by=Ïîñòàâèë
070701000076f2000081a40000000000000002000000013d1fe2d2000012bc000000200000000000000000000000000000001900000003reloc/lpadmin/lang/ru_SU  index_title=õÐÒÁ×ÌÅÎÉÅ ðÒÉÎÔÅÒÁÍÉ
index_name=ðÒÉÎÔÅÒ
index_desc=ïÐÉÓÁÎÉÅ
index_to=ðÅÞÁÔÁÅÔ ÎÁ
index_driver=äÒÁÊ×ÅÒ
index_jobs=úÁÄÁÎÉÑ
index_none=îÅÔ ÐÒÉÎÔÅÒÏ× ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÎÁ ÄÁÎÎÏÊ ÓÉÓÔÅÍÅ
index_list=ÓÐÉÓÏË..
index_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÐÒÉÎÔÅÒ
index_stop=ïÓÔÁÎÏ×ÉÔØ óÐÕÌÅÒ
index_stopmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÏÓÔÁÎÏ×ËÉ ÒÁÂÏÔÁÀÝÅÇÏ ÓÐÕÌÅÒÁ ÐÅÞÁÔÉ. üÔÏ ÚÁÐÒÅÔÉÔ ÌÏËÁÌØÎÙÍ É ÕÄÁÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÐÅÞÁÔÁÔØ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ.
index_start=óÔÁÒÔÏ×ÁÔØ óÐÕÌÅÒ
index_startmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÓÔÁÒÔÁ ÓÐÕÌÅÒÁ ÐÅÞÁÔÉ. üÔÏ ÐÏÚ×ÏÌÉÔ ÌÏËÁÌØÎÙÍ É ÕÄÁÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÐÅÞÁÔÁÔØ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ.
index_return=ÓÐÉÓÏË ÐÒÉÎÔÅÒÏ×

edit_eedit=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÐÒÉÎÔÅÒ
edit_eadd=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÄÏÂÁ×ÌÑÔØ ÐÒÉÎÔÅÒÙ
edit_add=óÏÚÄÁÎÉÅ ðÒÉÎÔÅÒÁ
edit_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÒÉÎÔÅÒÁ
edit_conf=ëÏÎÆÉÇÕÒÁÃÉÑ ðÒÉÎÔÅÒÁ
edit_name=éÍÑ
edit_acc=ðÒÉÎÉÍÁÅÔ ÚÁÐÒÏÓÙ?
edit_why=îÅÔ - ðÏÞÅÍÕ
edit_desc=ïÐÉÓÁÎÉÅ
edit_ena=ðÅÞÁÔØ ÒÁÚÒÅÛÅÎÁ?
edit_acl=õÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ
edit_allow=òÁÚÒÅÛÉÔØ ×ÓÅÍ
edit_deny=úÁÐÒÅÔÉÔØ ×ÓÅÍ
edit_allowu=òÁÚÒÅÛÉÔØ ÐÅÒÅÞÉÓÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ..
edit_denyu=úÁÐÒÅÔÉÔØ ÐÅÒÅÞÉÓÌÅÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ..
edit_banner=ðÅÞÁÔÁÔØ ÚÁÇÏÌÏ×ÏË?
edit_opt=îÅÏÂÑÚÁÔÅÌØÎÏ
edit_default=ðÒÉÎÔÅÒ ÐÏ ÕÍÏÌÞÁÎÉÀ?
edit_already=õÖÅ Ñ×ÌÑÅÔÓÑ ÐÒÉÎÔÅÒÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ
edit_max=íÁËÓ. ÒÁÚÍÅÒ ÚÁÄÁÎÉÑ
edit_dacc=äÒÁÊ×ÅÒ ÐÒÉÎÉÍÁÅÔ
edit_dtext=ôÅËÓÔ
edit_dpost=Postscript
edit_dother=äÒÕÇÏÅ
edit_alt=áÌØÔÅÒÎÁÔÉ×ÎÙÅ ÉÍÅÎÁ ÐÒÉÎÔÅÒÁ
edit_dest=õÓÔÒÏÊÓÔ×Ï ÐÅÞÁÔÉ
edit_dev=ìÏËÁÌØÎÏÅ ÕÓÔÒÏÊÓÔ×Ï
edit_file=ìÏËÁÌØÎÙÊ ÆÁÊÌ
edit_remote=õÄÁÌÅÎÎÙÊ ÓÅÒ×ÅÒ Unix
edit_rqueue=ðÒÉÎÔÅÒ
edit_type=ôÉÐ
edit_smb=õÄÁÌÅÎÎÙÊ ÓÅÒ×ÅÒ Windows
edit_share=ðÒÉÎÔÅÒ
edit_user=ðÏÌØÚÏ×ÁÔÅÌØ
edit_pass=ðÁÒÏÌØ
edit_wgroup=òÁÂÏÞÁÑ ÇÒÕÐÐÁ
edit_hpnp=õÄÁÌÅÎÎÙÊ ÓÅÒ×ÅÒ HPNP
edit_port=ðÏÒÔ
edit_driver=äÒÁÊ×ÅÒ ðÒÉÎÔÅÒÁ

blocks=ÂÌÏËÏ×

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÉÎÔÅÒÁ
save_eadd=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÄÏÂÁ×ÌÑÔØ ÐÒÉÎÔÅÒÙ
save_eedit=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÙÊ ÐÒÉÎÔÅÒ
save_ename='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÒÉÎÔÅÒÁ
save_edup=ðÒÉÎÔÅÒ Ó ÉÍÅÎÅÍ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
save_eallow=îÅ ××ÅÄÅÎÏ ÎÉ ÏÄÎÏÇÏ ÒÁÚÒÅÛÅÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_edeny=îÅ ××ÅÄÅÎÏ ÎÉ ÏÄÎÏÇÏ ÚÁÐÒÅÝÅÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_euser=ðÏÌØÚÏ×ÁÔÅÌØ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_etype=÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÈÏÔÑÂÙ ÏÄÉÎ ÔÉÐ ÓÏÄÅÒÖÉÍÏÇÏ ÐÒÉÎÉÍÁÅÍÏÇÏ ÄÁÎÎÙÍ ÄÒÁÊ×ÅÒÏÍ
save_emax=íÁËÓ. ÒÁÚÍÅÒ ÚÁÄÁÎÉÑ ÎÁ ÐÅÞÁÔØ ÄÏÌÖÅÎ ÂÙÔØ ÃÅÌÙÍ
save_efile='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_erhost=õÄÁÌÅÎÎÙÊ ÈÏÓÔ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_erqueue='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÕÄÁÌÅÎÎÏÊ ÏÞÅÒÅÄÉ
save_eremote=äÒÁÊ×ÅÒÙ ÎÅ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔÓÑ Ó ÕÄÁÌÅÎÎÙÍÉ Unix ÐÒÉÎÔÅÒÁÍÉ

jobs_title=úÁÄÁÎÉÑ ÄÌÑ ðÅÞÁÔÉ
jobs_header=úÁÄÁÎÉÑ ÄÌÑ ÐÅÞÁÔÉ ÎÁ $1
jobs_id=ID ÚÁÄÁÎÉÑ
jobs_size=òÁÚÍÅÒ
jobs_by=ðÏÓÔÁ×ÉÌ
jobs_when=ðÏÓÔÁ×ÌÅÎÏ
jobs_file=éÍÑ æÁÊÌÁ
jobs_cancel=îÁÖÍÉÔÅ ÎÁ ID ÚÁÄÁÎÉÑ ÉÚ ÓÐÉÓËÁ ÎÉÖÅ ÄÌÑ ÕÄÁÌÅÎÉÑ ÅÇÏ ÉÚ ÏÞÅÒÅÄÉ.
jobs_none=îÅÔ ÚÁÄÁÎÉÊ ÎÁ $1

cancel_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÔÍÅÎÑÔØ ÚÁÄÁÎÉÑ ÎÁ ÐÅÞÁÔØ
cancel_err=ïÛÉÂËÁ ÐÒÉ ÏÔÍÅÎÅ ÚÁÄÁÎÉÑ ÎÁ ÐÅÞÁÔØ
cancel_egone=úÁÄÁÎÉÅ ÎÁ ÐÅÞÁÔØ $1 ÂÏÌÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

start_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÔÁÒÔÏ×ÁÔØ ÓÐÕÌÅÒ
start_err=ïÛÉÂËÁ ÐÒÉ ÓÔÁÒÔÅ ÓÐÕÌÅÒÁ

stop_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ ÓÐÕÌÅÒ
stop_err=ïÛÉÂËÁ ÐÒÉ ÏÓÔÁÎÏ×ËÅ ÓÐÕÌÅÒÁ

webmin_none=îÅÔ
webmin_nonemsg=Postscript ÉÌÉ ÔÅËÓÔÏ×ÙÊ ÐÒÉÎÔÅÒ
webmin_remotemsg=õÄÁÌÅÎÎÙÊ ÐÒÉÎÔÅÒ
webmin_model=íÏÄÅÌØ
webmin_prog=ðÒÏÇÒÁÍÍÁ
webmin_driver=äÒÁÊ×ÅÒ Webmin
webmin_edrivers=ïÛÉÂËÁ ÐÒÉ ÕÓÐÁÎÏ×ËÅ ÄÒÁÊ×ÅÒÁ Ó $1. äÒÁÊ×ÅÒÙ ÐÒÉÎÔÅÒÏ× ÏÔ Webmin ÉÓÐÏÌØÚÕÀÝÉÅ ghostscript ÎÅ ÄÏÓÔÕÐÎÙ.
webmin_egs=ëÏÍÁÎÄÁ $1 ÎÅ ÎÁÊÄÅÎÁ. äÒÁÊ×ÅÒÙ ÐÒÉÎÔÅÒÏ× ÏÔ Webmin ÉÓÐÏÌØÚÕÀÝÉÅ ghostscript ÎÅ ÄÏÓÔÕÐÎÙ.
webmin_edriver='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

caldera_none=îÅÔ
caldera_nonemsg=õÄÁÌÅÎÎÙÊ ÉÌÉ 'ÓÙÒÏÊ' ÐÒÉÎÔÅÒ
caldera_prog=ðÒÏÇÒÁÍÍÁ
caldera_coas=äÒÁÊ×ÅÒ COAS
caldera_printer=ðÒÉÎÔÅÒ É ÒÁÚÒÅÛÅÎÉÅ
caldera_eof=ðÏÓÙÌÁÔØ EOF?
caldera_paper=òÁÚÍÅÒ ÂÕÍÁÇÉ
caldera_double=ðÅÞÁÔÁÔØ Ó Ä×ÕÈ ÓÔÏÒÏÎ?
caldera_gsopts=äÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ GS
caldera_eprog='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
caldera_edriver=îÅ ×ÙÂÒÁÎ ÄÒÁÊ×ÅÒ ÐÒÉÎÔÅÒÁ
caldera_eres=îÅ ×ÙÂÒÁÎÏ ÒÁÚÒÅÛÅÎÉÅ

redhat_none=îÅÔ
redhat_nonemsg=Postscript ÉÌÉ ÔÅËÓÔÏ×ÙÊ ÐÒÉÎÔÅÒ
redhat_prog=ðÒÏÇÒÁÍÍÁ
redhat_driver=äÒÁÊ×ÅÒ Redhat
redhat_printer=ðÒÉÎÔÅÒ É ÒÁÚÒÅÛÅÎÉÅ
redhat_eof=ðÏÓÙÌÁÔØ EOF?
redhat_paper=òÁÚÍÅÒ ÂÕÍÁÇÉ
redhat_pages=óÔÒÁÎÉÃ ÎÁ ×ÙÈÏÄÎÕÀ ÓÔÒÁÎÉÃÕ
redhat_gsopts=äÏÐÏÌÎÉÔÅÌØÎÙÅ ÐÁÒÁÍÅÔÒÙ GS
redhat_hmargin=ðÒÁ×ÙÊ/ÌÅ×ÙÊ ÏÔÓÔÕÐ
redhat_vmargin=÷ÅÒÈÎÉÊ/ÎÉÖÎÉÊ ÏÔÓÔÕÐ
redhat_crlf=éÓÐÒÁ×ÌÑÔØ ÔÅËÓÔ-ÌÅÓÅÎËÏÊ?
redhat_eprog='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
redhat_edriver=îÅ ×ÙÂÒÁÎ ÄÒÁÊ×ÅÒ ÐÒÉÎÔÅÒÁ
redhat_ehmargin=õÔÅÒÑÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÐÒÁ×ÙÊ/ÌÅ×ÙÊ ÏÔÓÔÕÐ
redhat_evmargin=õÔÅÒÑÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ×ÅÒÈÎÉÊ/ÎÉÖÎÉÊ ÏÔÓÔÕÐ
redhat_eres=îÅ ×ÙÂÒÁÎÏ ÒÁÚÒÅÛÅÎÉÅ

acl_printers=ðÒÉÎÔÅÒÙ ÄÏÓÔÕÐÎÙÅ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÄÁÎÎÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ
acl_add=íÏÖÅÔ ÄÏÂÁ×ÌÑÔØ ÎÏ×ÙÅ ÐÒÉÎÔÅÒÙ?
acl_cancel=íÏÖÅÔ ÐÒÅÒÙ×ÁÔØ ÚÁÄÁÎÉÑ ÎÁ ÐÅÞÁÔØ?
acl_stop=íÏÖÅÔ ÏÓÔÁÎÁ×ÌÉ×ÁÔØ ÉÌÉ ÓÔÁÒÔÏ×ÁÔØ ÓÐÕÌÅÒ?

070701000076f3000081a40000000000000002000000013d1fe2d200001ea7000000200000000000000000000000000000001600000003reloc/lpadmin/lang/sv index_title=Skrivaradministration
index_name=Skrivare
index_desc=Beskrivning
index_to=Skriv till
index_driver=Drivrutin
index_enabled=Aktiverad?
index_accepting=Tar emot jobb?
index_jobs=Jobb
index_none=Ingen skrivare har installerats på detta system
index_list=lista ...
index_add=Lägg till skrivare
index_stop=Stanna skrivarservern
index_stopmsg=Tryck på denna knapp för att stanna den aktiva skrivarserverprocessen. Detta hindrar alla lokala och fjärrinloggade användare att skriva ut på ditt system.
index_start=Starta skrivarservern
index_startmsg=Tryck på denna knapp för att starta skrivarserverprocessen. Detta tillåter lokala och fjärrinloggade användare att skriva ut på ditt system.
index_restart=Starta om skrivarservern
index_restartmsg=Tryck på denna knapp för att starta om skrivarserverprocessen. Detta gör så att de aktuella skrivarinställningarna tas i drift.
index_return=skrivarlista

edit_eedit=Du får inte ändra något för denna skrivare
edit_eadd=Du får inte lägga till skrivare
edit_add=Ny skrivare
edit_edit=Ändra inställningar för skrivare
edit_conf=Skrivarinställningar
edit_name=Namn
edit_acc=Tillåta förfrågningar?
edit_why=Nej - varför inte
edit_desc=Beskrivning
edit_ena=Utskrift möjlig?
edit_acl=Åtkomstkontroll
edit_allow=Tillåt alla
edit_deny=Förbjud alla
edit_allowu=Tillåt följande användare ...
edit_denyu=Förbjud följande användare ...
edit_direct=Direkt TCP-förbindelse
edit_dport=Port
edit_banner=Skriva ut försättsblad?
edit_opt=Valfritt
edit_default=Standardskrivare?
edit_already=Den är redan standardskrivare
edit_max=Maximal utskriftstorlek
edit_unlimited=Obegränsad
edit_dacc=Så mycket som drivrutinen tillåter
edit_dtext=Text
edit_dpost=Postscript
edit_dother=Annat
edit_alt=Alternativa skrivarnamn
edit_dest=Skriv till
edit_dev=Lokal enhet
edit_file=Lokal fil
edit_remote=Annan Unix-server
edit_rqueue=Skrivare
edit_type=Typ
edit_smb=Annan Windows-server
edit_share=Skrivare
edit_user=Användare
edit_pass=Lösenord
edit_wgroup=Grupp
edit_hpnp=Annan HPNP-server
edit_port=Port
edit_driver=Skrivardrivrutin
edit_check=Kontrollera om servern är uppe?

blocks=block

save_err=Det gick inte att spara skrivaren
save_eadd=Du får inte lägga till skrivare
save_eedit=Du får inte ändra något för denna skrivare
save_ename='$1' är inte ett giltigt skrivarnamn
save_edup=Det finns redan en skrivare som heter '$1'
save_eallow=Du har inte angivit några användare som tillåts skriva ut
save_edeny=Du har inte angivit några användare som förbjuds skriva ut
save_euser=Användare '$1' finns inte
save_etype=Du måste välja minst en typ som drivrutinen klarar av
save_emax=Maximal utskriftstorlek ska anges som ett heltal
save_efile='$1' finns inte
save_erhost=Server '$1' finns inte
save_edhost=Datorn '$1' finns inte
save_edport=Port för direkt förbindelse saknas eller är ogiltig
save_erqueue='$1' är inte ett giltigt serverkönamn
save_eremote=Det går inte att använda drivrutiner tillsammans med andra Unix-skrivare

jobs_title=Visa utskriftsjobb
jobs_header=Visa utskriftsjobb för $1
jobs_id=Jobb-ID
jobs_size=Storlek
jobs_by=Skickat av
jobs_when=Skickat
jobs_file=Filnamn
jobs_cancel=Välj ett jobb-ID från listan för att avbryta det.
jobs_cancelview=Välj ett jobb-ID från listan för att avbryta det eller klicka på jobbstorleken för att visa jobbet.
jobs_none=Inga utskriftsjobb på $1
jobs_all=Avbryt alla utskriftsjobb
jobs_bytes=bytes
jobs_test=Gör testutskrift

cancel_ecannot=Du får inte avbryta utskriftsjobb
cancel_err=Det gick inte att avbryta utskriftsjobb
cancel_egone=Utskriftsjobb $1 finns inte längre

view_ecannot=Du får inte titta på detta utskriftsjobb
view_egone=Detta utskriftsjobb finns inte längre

start_ecannot=Du får inte starta skrivarservern
start_err=Det gick inte att starta skrivarservern

stop_ecannot=Du får inte stoppa skrivarservern
stop_err=Det gick inte att stoppa skrivarservern

restart_ecannot=Du får inte starta om skrivarservern
restart_err=Det gick inte att starta om skrivarservern

webmin_none=Ingen
webmin_nonemsg=Postscript eller textskrivare
webmin_remotemsg=Annan skrivare
webmin_model=Modell
webmin_prog=Program
webmin_driver=Webmin-drivrutin
webmin_uniprint=Uniprint-drivrutin
webmin_edrivers=Det gick inte att hämta drivrutiner från $1. Det finns ingen tillgänglig Webmin-skrivardrivrutin som kör ghostscript
webmin_egs=Kommandot $1 kunde inte hittas. Det finns ingen tillgänglig Webmin-skrivardrivrutin som kör ghostscript
webmin_edriver='$1' finns inte

caldera_none=Ingen
caldera_nonemsg=Fjärr- eller rå skrivare
caldera_prog=Program
caldera_coas=COAS-drivrutin
caldera_printer=Skrivare och upplösning
caldera_eof=Skicka EOF?
caldera_paper=Pappersstorlek
caldera_double=Dubbelsidig utskrift?
caldera_gsopts=Fler GS-inställningar
caldera_uniprint=Uniprint-drivrutin
caldera_eprog='$1' finns inte
caldera_edriver=Du har inte angivit någon skrivardrivrutin
caldera_eres=Du har inte angivit någon upplösning

redhat_none=Ingen
redhat_nonemsg=Postscript eller textskrivare
redhat_prog=Program
redhat_driver=Redhat-drivrutin
redhat_printer=Skrivare och upplösning
redhat_eof=Skicka EOF?
redhat_paper=Pappersstorlek
redhat_pages=Sidor per utskriven sida
redhat_gsopts=Fler GS-inställningar
redhat_hmargin=Höger/vänstermarginal
redhat_vmargin=Marginal över/under
redhat_crlf=Inte återgå till början av raden vid ny rad?
redhat_eprog='$1' finns inte
redhat_edriver=Du har inte angivit någon skrivardrivrutin
redhat_ehmargin=Höger/vänstermarginal saknas eller är ogiltig
redhat_evmargin=Marginal över/under saknas eller är ogiltig
redhat_eres=Du har inte angivit någon upplösning

suse_none=Ingen
suse_nonemsg=Postscript eller textskrivare
suse_prog=Program
suse_driver=APSfilter-drivrutin
suse_printer=Skrivartyp
suse_res=Upplösning i DPI
suse_colour=Färgskrivare?
suse_paper=Pappersstorlek
suse_method=Filtermetod
suse_auto=Automatisk
suse_ascii=ASCII

estop=Det gick inte att stoppa lpd: $1

acl_printers=Denna användare får konfigurera följande skrivare
acl_add=Kunna lägga till skrivare?
acl_cancel=Kunna stoppa utskriftsjobb?
acl_stop=Kunna stoppa och starta skrivarservern?
acl_restart=Endast starta om
acl_listed=Endast på följande skrivare ...
acl_pall=Alla skrivare
acl_psel=Angivna ...
acl_view=Visa skrivare som inte kan konfigureras?
acl_test=Kunna göra testutskrifter?

log_stop=Stoppade skrivarservern
log_start=Startade skrivarservern
log_restart=Startade om skrivarservern
log_cancel_job=Tog bort utskriftsjobb $2 på $1
log_cancel_all=Tog bort alla utskriftsjobb på $1
log_create=Lade till skrivare $1 på $2
log_modify=Modifierade skrivare $1 på $2
log_delete=Tog bort skrivare $1 på $2
log_create_l=Lade till $3 skrivare $1 på $2
log_modify_l=Modifierade $3 skrivare $1 på $2
log_delete_l=Tog bort $3 skrivare $1 på $2

linux_paralel=Parallellport $1
linux_serial=Serieport $1 (COM$1)
linux_null=Nollutgång
linux_usb=USB-skrivare $1

freebsd_paralel=Parallellport
freebsd_serial=Serieport $1 (COM$1)

openbsd_paralel=Parallellport
openbsd_serial=Serieport $1 (COM$1)

unixware_paralel=Parallellport $1
unixware_serial=Serieport $1
unixware_null=Nollutgång

hpux_paralel=Parallell $1
hpux_serial=Seriell $1
hpux_null=Nollutgång

lprng_paralel=Parallellport $1
lprng_serial=Serieport $1 (COM$1)
lprng_null=Nollutgång

solaris_paralel=Parallellport
solaris_uparalel=Ultra 5/10-parallellport
solaris_serial=Serieport $1
solaris_null=Nollutgång

test_title=Gör testutskrift
test_ecannot=Du får inte göra testutskrifter
test_desc=Med detta formulär kan du göra en testutskrift på skrivare $1. Ange vilken typ av utskrift du vill göra:
test_0=Svartvit Postscript-sida
test_1=Färg-Postscript-sida
test_2=Ren ASCII-text
test_3=En nedladdad fil
test_print=Skriv ut
test_exec=Skriver ut testsidan med kommandot $1 ...
test_failed=... det gick inte.
test_ok=... klart.

cups_none=Ingen
cups_nonemsg=Remote or raw printer
cups_prog=Program
cups_driver=CUPS-drivrutin
 070701000076f4000081a40000000000000002000000013d1fe2d200001737000000200000000000000000000000000000001600000003reloc/lpadmin/lang/tr index_title=Yazýcý Yönetimi
index_name=Yazýcý
index_desc=Açýklama
index_to=Yaz
index_driver=Sürücü
index_enabled=Aktif mi?
index_accepting=Kabul ediyor mu?
index_jobs=Ýþler
index_none=Bu sistemde yazýcý kurulmamýþ
index_list=liste..
index_add=Yeni yazýcý ekle
index_stop=Listeleyiciyi durdur
index_stopmsg=Bu butonu týklayarak çalýþan yazým listeleme iþlemini durdurabilirsiniz.Bu sisteminizde yazdýrma yapan yerel ya da uzak kullancýlarýn yazým iþlerini kesecektir
index_start=Listelemeyi Baþlat
index_startmsg=Bu butonu týklayarak yazým listeleme iþlemini baþlatabilirsiniz.Yerel ya da uzak kullanýcýlarýn sisteminizde yazým iþlemi yapmasýna izin verilecektir 
index_return=yazýcý listesi

edit_eedit=Bu yazýcýyý deðiþtirmenize izininiz yoktur
edit_eadd=Yazýcý eklemeye izininiz yoktur
edit_add=Yazýcý Oluþtur
edit_edit=Yazýcý Deðiþtir
edit_conf=Yazýcý Ayarlarý
edit_name=Ýsim
edit_acc=Ýstekler kabul edilsin?
edit_why=Hayýr - Why not
edit_desc=Açýklama
edit_ena=Yazma yapabilsin?
edit_acl=Ýzin kontrol
edit_allow=Herbirine izin ver
edit_deny=Herbirini reddet
edit_allowu=Listlenmiþ kullanýcýlarý kabul et..
edit_denyu=Listlenmiþ kullanýcýlarý reddet..
edit_banner=Baþlýk yaz?
edit_opt=Seçime Baðlý
edit_default=Öntanýmlý Yazýcý?
edit_already=Her zaman öntanýmlý yazýcý
edit_max=En çok yazým iþlem boyutu
edit_dacc=Sürücü kabulleri
edit_dtext=Yazý
edit_dpost=Postscript
edit_dother=Diðer
edit_alt=Diðer yazýcý isimleri
edit_dest=Yazým Hedefi
edit_dev=Yerel Aygýt
edit_file=Yerel Dosya
edit_remote=Uzak Unix sunucusu
edit_rqueue=Yazýcý
edit_type=Tip
edit_smb=Uzak Windows sunucusu
edit_share=Yazýcý
edit_user=Kullanýcý
edit_pass=Parola
edit_wgroup=Workgroup
edit_hpnp=Uzak HPNP sunucusu
edit_port=Port
edit_direct=Doðrudan TCP baðlantýsý
edit_dport=Port
edit_driver=Yazýcý Sürücüsü

blocks=blok

save_err=Yazýcýnýn kaydedilesinde hata oluþtu
save_eadd=Yazýcý eklemenize izin verilmedi
save_eedit=Yazýcý silmenize izin verilmedi
save_ename='$1' geçerli bir yazýcý ismi deðil
save_edup='$1' yazýcýsý her zaman mevcut
save_eallow=Giriþe izin verilecek kullanýcý yok
save_edeny=Giriþi reddedilecek kullanýcý yok
save_euser='$1' kullanýcýsý mevcut deðil
save_etype=Ýzin verilecek sürücü için en az bir tip seçmelisiniz
save_emax=En çok yazma iþi sayýsý tamsayý olarak verilmelidir
save_efile='$1' mevcu deðil
save_erhost=Uzak makine '$1' mevcut deðil
save_erqueue='$1' geçerli bir uzak kuyruk ismi deðil
save_eremote=Sürücüler uzak Uni yazýcýlarý ile kullanýlamazlar
save_edhost=Makine '$1' mevcut deðil
save_edport=Kayýp ya da yanlýþ doðrudan port

jobs_title=Yazma Ýþleri
jobs_header=$1'deki Yazma Ýþleri
jobs_id=Ýþ numarasý
jobs_size=Boyut
jobs_by=Gönderildi
jobs_when=Gönderildi
jobs_file=Dosya Ýsmi
jobs_cancel=Listeden iptal etmek için  iþ numarasý seçiniz
jobs_cancelview=Listeden iptal etmek için iþ numarasýný ya da görüntülemek için iþ boyutunu seçiniz 
jobs_none=$1'de yazma iþi bulunamadý
jobs_all=Bütün yazma iþlemleri iptal et

cancel_ecannot=Yazma iþlerini durdurmaya izininiz yoktur
cancel_err=Yazma iþinin durdurulmasýnda hata oluþtu
cancel_egone=Yazma iþi $1 varolandan daha büyük

view_ecannot=Bu yazma iþini görüntülemeye izininiz yoktur
view_egone=Yazma iþi varolandan daha büyük

start_ecannot=Listeleyiciyi baþlatmaya izininiz yoktur
start_err=Listeleyicinin baþlatýlmasýnda hata oluþtu

stop_ecannot=Listeleyiciyi durdurmanýza izininiz yoktur
stop_err=Listeleyicinin durdurulmasýnda hata oluþtu

webmin_none=Hiçbiri
webmin_nonemsg=Postscript ya da yazý yazýcýsý
webmin_remotemsg=Uzak yazýcý
webmin_model=Model
webmin_prog=Program
webmin_driver=Webmin sürücüsü
webmin_uniprint=Uniprint sürücüsü
webmin_edrivers=$1'den sürücülerin alýnmasýnda hata oluþtu.Webmin yazýcý sürücülerinin kullandýðý postscript kullanýlabilir deðildir
webmin_egs=$1 komutu bulunamadý.Webmin yazýcý sürücülerinin kullandýðý postscript kullanýlabilir deðildir
webmin_edriver='$1' mevcut deðil

caldera_none=Hiçbiri
caldera_nonemsg=Uzak ya da standart yazýcý
caldera_prog=Program
caldera_coas=COAS sürücüsü
caldera_printer=Yazýcý ve çözünürlük
caldera_eof=Dosya Sonu gönder?
caldera_paper=Kaðýt boyu
caldera_double=Yazým çift taraflý?
caldera_gsopts=Eklenebilir GS seçenekleri
caldera_uniprint=Uniprint sürücüsü
caldera_eprog='$1' mevcut deðil
caldera_edriver=Yazýcý sürücüsü seçilmedi
caldera_eres=Çözünürlük seçilmedi

redhat_none=Hiçbiri
redhat_nonemsg=Postscript ya da yazý yazýcýsý
redhat_prog=Program
redhat_driver=Redhat sürücüsü
redhat_printer=Yazýcý ve çözünürlük
redhat_eof=Dosya Sonu gönder?
redhat_paper=Kaðýt boyutu
redhat_pages=Çýktý baþýna sayfa
redhat_gsopts=Eklenebilir GS seçenekleri
redhat_hmargin=Sað/sol boþluk
redhat_vmargin=Üst/alt boþluk
redhat_crlf=Basamak adýmlý yazýlarý doldur
redhat_eprog='$1' mevcut deðil
redhat_edriver=Yazýcý sürücüsü seçilmedi
redhat_ehmargin=Kayýp ya da yanlýþ sað/sol boþluk
redhat_evmargin=Kayýp ya da yanlýþ üst/alt boþluk
redhat_eres=Çözünürlük seçilmedi

suse_none=Hiçbiri
suse_nonemsg=Postscript ya da düz metin yazýcýsý
suse_prog=Program
suse_driver=APSFilter sürücüsü
suse_printer=Yazýcý tipi
suse_res=DPI olarak çözünürlük
suse_colour=Renkli yazýcý mý?
suse_paper=Kaðýt boyutu
suse_method=Filtre metodu
suse_auto=Otomatik
suse_ascii=ASCII

estop=lpd'nin durdurulmasýnda hata oluþtu: $1

acl_printers=Bu kullanýcý yazýcýlarý ayarlayabilir
acl_add=Yeni yazýcýlar ekleyebilir?
acl_cancel=Yazým iþlerini görüntüleyebilir ya da durdurabilir?
acl_stop=Listelemeyi baþlatýp durdurabilir?
acl_all=Bütün yazýcýlarda
acl_listed=Sadece seçili yazýcýlarda ..

log_stop=Yazýcý planlayýcýsý durduruldu
log_start=Yazýcý planlayýcýsý çalýþtýrýldý
log_cancel_job=$1'deki yazým iþi $2 iptal edildi
log_cancel_all=$1'deki bütün yazým iþleri iptal edildi
log_create=$2'de $1 yazýcýsý oluþturuldu
log_modify=$2'de $1 yazýcýsý deðiþtirildi
log_delete=$2'de $1 yazýcýsý silindi
log_create_l=$2'de $1 yazýcýsý $3 oluþturuldu
log_modify_l=$2'de $1 yazýcýsý $3 deðiþtirildi
log_delete_l=$2'de $1 yazýcýsý $3 silindi

 070701000076f5000081a40000000000000002000000013d1fe2d200001429000000200000000000000000000000000000001900000003reloc/lpadmin/lang/zh_CN  index_title=´òÓ¡»ú¹ÜÀí
index_name=´òÓ¡»ú
index_desc=ÃèÊö
index_to=´òÓ¡µ½
index_driver=Çý¶¯³ÌÐò
index_enabled=ÒÑÆôÓÃ£¿
index_accepting=½ÓÊÜ£¿
index_jobs=ÈÎÎñ
index_none=Õâ¸öÏµÍ³Ã»ÓÐ°²×°´òÓ¡»ú
index_list=ÁÐ±í..
index_add=Ìí¼ÓÒ»Ì¨ÐÂµÄ´òÓ¡»ú
index_stop=Í£Ö¹µ÷¶È³ÌÐò
index_stopmsg=µã»÷Õâ¸ö°´Å¥Í£Ö¹ÕýÔÚÔËÐÐµÄ´òÓ¡µ÷¶È³ÌÐò½ø³Ì¡£ÕâÑù»á×èÖ¹ÈÎºÎ±¾»úºÍÔ¶³ÌµÄÓÃ»§ÔÚÄúµÄÏµÍ³½øÐÐ´òÓ¡²Ù×÷¡£
index_start=Æô¶¯´òÓ¡µ÷¶È³ÌÐò
index_startmsg=µã»÷Õâ¸ö°´Å¥Æô¶¯´òÓ¡µ÷¶È³ÌÐò½ø³Ì¡£ÕâÑù»áÔÊÐí±¾»úºÍÔ¶³ÌµÄÓÃ»§ÔÚÄúµÄÏµÍ³½øÐÐ´òÓ¡²Ù×÷¡£
index_return=´òÓ¡»úÁÐ±í
edit_eedit=ÄúÃ»ÓÐÐÞ¸ÄÕâÌ¨´òÓ¡»úµÄÈ¨ÏÞ
edit_eadd=ÄúÃ»ÓÐÌí¼Ó´òÓ¡»úµÄÈ¨ÏÞ
edit_add=´´½¨´òÓ¡»ú
edit_edit=ÐÞ¸Ä´òÓ¡»ú
edit_conf=´òÓ¡»úÅäÖÃ
edit_name=Ãû×Ö
edit_acc=½ÓÊÜÇëÇóÂð£¿
edit_why=²»-ÎªÊ²Ã´²»ÄØ
edit_desc=ÃèÊö
edit_ena=ÒÑÆôÓÃ´òÓ¡£¿
edit_acl=·ÃÎÊ¿ØÖÆ
edit_allow=ÔÊÐíÈÎºÎÈË
edit_deny=½ûÖ¹ÈÎºÎÈË
edit_allowu=ÔÊÐíÁÐ±íÖÐµÄÓÃ»§..
edit_denyu=½ûÖ¹ÁÐ±íÖÐµÄÓÃ»§..
edit_banner=´òÓ¡ºá·ùÂð£¿
edit_opt=¿ÉÑ¡
edit_default=È±Ê¡´òÓ¡»ú£¿
edit_already=ÒÑ¾­ÊÇÈ±Ê¡´òÓ¡»ú
edit_max=×î´óµÄ´òÓ¡ÈÎÎñ´óÐ¡
edit_dacc=Çý¶¯³ÌÐò½ÓÊÜ
edit_dtext=ÎÄ±¾
edit_dpost=Postscript
edit_dother=ÆäËü
edit_alt=Ìæ´ú´òÓ¡»úÃû
edit_dest=´òÓ¡Ä¿±ê
edit_dev=±¾µØÉè±¸
edit_file=±¾µØÎÄ¼þ
edit_remote=Ô¶³ÌUnix·þÎñÆ÷
edit_rqueue=´òÓ¡»ú
edit_type=ÀàÐÍ
edit_smb=Ô¶³ÌWindows·þÎñÆ÷
edit_share=´òÓ¡»ú
edit_user=ÓÃ»§Ãû
edit_pass=ÃÜÂë
edit_wgroup=¹¤×÷×é
edit_hpnp=Ô¶³ÌHPNP·þÎñÆ÷
edit_port=¶Ë¿Ú
edit_direct=Ö±½Ó TCP Áª½Ó
edit_dport=¶Ë¿Ú
edit_driver=´òÓ¡»úÇý¶¯³ÌÐò
save_err=±£´æ´òÓ¡»úÊ§°Ü
save_eadd=ÄúÃ»ÓÐÌí¼Ó´òÓ¡»úµÄÈ¨ÏÞ
save_eedit=ÄúÃ»ÓÐÐÞ¸Ä´Ë´òÓ¡»úµÄÈ¨ÏÞ
save_ename='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ´òÓ¡»úÃû
save_edup=ÒÑ¾­´æÔÚÒ»¸öÃûÎª'$1'µÄ´òÓ¡»ú
save_eallow=Ã»ÓÐÓÃ»§ÔÊÐí½øÈë
save_edeny=Ã»ÓÐÓÃ»§½ûÖ¹½øÈë
save_euser=ÓÃ»§'$1'²»´æÔÚ
save_etype=Äú±ØÐëÑ¡ÔñÖÁÉÙÒ»¸öÄÜ±»Õâ¸öÇý¶¯³ÌÐòËù½ÓÊÜµÄÀàÐÍ
save_emax=×î´óµÄ´òÓ¡ÈÎÎñ´óÐ¡±ØÐëÎªÕûÊý
save_efile='$1'²»´æÔÚ
save_erhost=Ô¶³ÌÖ÷»ú'$1'²»´æÔÚ
save_erqueue='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÔ¶³Ì¶ÓÁÐÃû
save_eremote=²»ÄÜ±»Ô¶³ÌUnix´òÓ¡»úËùÊ¹ÓÃµÄÇý¶¯³ÌÐò
save_edhost=Ö±½ÓÖ÷»ú '$1' ²»´æÔÚ
save_edport=¶ªÊ§»òÎÞÐ§µÄÖ±½Ó¶Ë¿Ú
jobs_title=´òÓ¡ÈÎÎñ
jobs_header=´òÓ¡ÈÎÎñÔÚ$1
jobs_id=ÈÎÎñID
jobs_size=´óÐ¡
jobs_by=Ìá½»Õß
jobs_when=Ìá½»ÔÚ
jobs_file=ÎÄ¼þÃû
jobs_cancel=µã»÷ÒÔÉÏÁÐ±íÖÐµÄÒ»¸öÈÎÎñIDÈ¡ÏûÈÎÎñ¡£
jobs_cancelview=µã»÷ÒÔÉÏÁÐ±íÖÐµÄÒ»¸öÈÎÎñIDÈ¡Ïû¸ÃÈÎÎñ,»òÕßµã»÷ÈÎÎñ´óÐ¡È¥²é¿´¾ßÌåÄÚÈÝ¡£
jobs_none=ÔÚ$1Ã»ÓÐ´òÓ¡ÈÎÎñ
jobs_all=È¡ÏûËùÓÐµÄ´òÓ¡ÈÎÎñ
jobs_bytes=×Ö½Ú
cancel_ecannot=ÄúÎÞÈ¨È¡Ïû´òÓ¡ÈÎÎñ
cancel_err=È¡Ïû´òÓ¡ÈÎÎñÊ§°Ü
cancel_egone=´òÓ¡ÈÎÎñ$1ÒÑ²»´æÔÚ
view_ecannot=Äú²»ÄÜ²é¿´Õâ¸ö´òÓ¡ÈÎÎñ
view_egone=Õâ¸ö´òÓ¡ÈÎÎñÒÑ²»´æÔÚ
start_ecannot=ÄúÃ»ÓÐÆô¶¯´òÓ¡µ÷¶È³ÌÐòµÄÈ¨ÏÞ
start_err=Æô¶¯´òÓ¡µ÷¶È³ÌÐòÊ§°Ü
stop_ecannot=ÄúÃ»ÓÐÍ£Ö¹´òÓ¡µ÷¶È³ÌÐòµÄÈ¨ÏÞ
stop_err=Í£Ö¹´òÓ¡µ÷¶È³ÌÐòÊ§°Ü
webmin_none=¿Õ
webmin_nonemsg=Postscripte»òÎÄ±¾´òÓ¡»ú
webmin_remotemsg=Ô¶³Ì´òÓ¡»ú
webmin_model=Ä£ÐÍ
webmin_prog=³ÌÐò
webmin_driver=WebminÇý¶¯³ÌÐò
webmin_uniprint=Í³Ò»´òÓ¡Çý¶¯³ÌÐò
webmin_edrivers=ÔÚ$1µÃ²»µ½Çý¶¯³ÌÐò¡£Ê¹ÓÃghostscriptµÄWebmin´òÓ¡»úÇý¶¯³ÌÐòÎÞÐ§¡£
webmin_egs=Ã»ÓÐÕÒµ½ÃüÁî$1,Ê¹ÓÃghostscriptµÄWebmin´òÓ¡»úÇý¶¯³ÌÐò²»¿ÉÓÃ¡£
webmin_edriver='$1'²»´æÔÚ
caldera_none=¿Õ
caldera_nonemsg=Ô¶³Ì»òÔ­Ê¼´òÓ¡»ú
caldera_prog=³ÌÐò
caldera_coas=COASÇý¶¯³ÌÐò
caldera_printer=´òÓ¡»úºÍ·Ö±æÂÊ
caldera_eof=·¢ËÍEOFÂð£¿
caldera_paper=Ö½ÕÅ´óÐ¡
caldera_double=Ë«Ãæ´òÓ¡Âð?
caldera_gsopts=¶îÍâµÄGSÑ¡Ïî
caldera_uniprint=Í³Ò»´òÓ¡Çý¶¯³ÌÐò
caldera_eprog='$1'²»´æÔÚ
caldera_edriver=Ã»ÓÐÑ¡Ôñ´òÓ¡»úÇý¶¯³ÌÐò
caldera_eres=Ã»ÓÐÑ¡Ôñ·Ö±æÂÊ
redhat_none=¿Õ
redhat_nonemsg=Postscript»òÎÄ±¾´òÓ¡»ú
redhat_prog=³ÌÐò
redhat_driver=RedhatÇý¶¯³ÌÐò
redhat_printer=´òÓ¡»úºÍ·Ö±æÂÊ
redhat_eof=·¢ËÍEOFÂð£¿
redhat_paper=Ö½ÕÅ´óÐ¡
redhat_pages=Ã¿´ÎÊä³öµÄÒ³ÃæÊýÁ¿
redhat_gsopts=¶îÍâµÄGSÑ¡Ïî
redhat_hmargin=×óÓÒËõ½ø
redhat_vmargin=ÉÏÏÂËõ½ø
redhat_crlf=ÕûÀíÌÝÐÎÎÄ±¾Âð£¿
redhat_eprog='$1'²»´æÔÚ
redhat_edriver=Ã»ÓÐÑ¡Ôñ´òÓ¡»úÇý¶¯³ÌÐò
redhat_ehmargin=Ã»ÓÐ»òÎÞÐ§µÄ×óÓÒËõ½ø
redhat_evmargin=Ã»ÓÐ»òÎÞÐ§µÄÉÏÏÂËõ½ø
redhat_eres=Ã»ÓÐÑ¡Ôñ·Ö±æÂÊ
suse_none=ÎÞ
suse_nonemsg=Postscript »òÎÄ±¾´òÓ¡»ú
suse_prog=³ÌÐò
suse_driver=APS ¹ýÂËÆ÷Çý¶¯³ÌÐò
suse_printer=´òÓ¡»úÀàÐÍ
suse_res=DPI ·Ö±æÂÊ
suse_colour=²ÊÉ«´òÓ¡»ú£¿
suse_paper=Ö½ÕÅ´óÐ¡
suse_method=¹ýÂËÆ÷·½Ê½
suse_auto=×Ô¶¯
suse_ascii=ASCII
estop=Í£Ö¹ lpd : $1 Ê§°Ü
acl_printers=¸ÃÓÃ»§¿ÉÒÔÅäÖÃµÄ´òÓ¡»ú
acl_add=¿ÉÒÔÌí¼ÓÐÂµÄ´òÓ¡»ú£¿
acl_cancel=¿ÉÒÔ²é¿´ºÍÈ¡Ïû´òÓ¡ÈÎÎñ£¿
acl_stop=¿ÉÒÔÍ£Ö¹»òÆô¶¯´òÓ¡µ÷¶È³ÌÐòÂð£¿
acl_listed=Ö»ÔÚÑ¡¶¨µÄ´òÓ¡»ú..
acl_pall=ËùÓÐ´òÓ¡»ú
acl_psel=ÒÑÑ¡ÔñµÄ..
acl_view=ÏÔÊ¾²»ÄÜÅäÖÃµÄ´òÓ¡»ú£¿
log_stop=ÖÐ¶ÏµÄ´òÓ¡µ÷¶È³ÌÐò
log_start=Æô¶¯µÄ´òÓ¡µ÷¶È³ÌÐò
log_cancel_job=$1 ÉÏÈ¡ÏûµÄµÄ´òÓ¡ÈÎÎñ $2
log_cancel_all=$1 ÉÏÈ¡ÏûµÄËùÓÐ´òÓ¡ÈÎÎñ
log_create=ÔÚ $2 ÉÏ´´½¨ÁË´òÓ¡»ú $1
log_modify=ÔÚ $2 ÉÏ¸üÐÂÁË´òÓ¡»ú $1
log_delete=ÔÚ $2 ÉÏÉ¾³ýÁË´òÓ¡»ú $1
log_create_l=ÔÚ $2 ÉÏ°²×°ÁË $3 ´òÓ¡»ú $1
log_modify_l=ÔÚ $2 ÉÏ¸üÐÂÁË $3 ´òÓ¡»ú $1
log_delete_l=ÔÚ $2 ÉÏÉ¾³ýÁË $3 ´òÓ¡»ú $1
linux_paralel=²¢¿Ú $1
linux_serial=´®¿Ú $1(COM$1)
linux_null=¿ÕÉè±¸
linux_usb=USB ´òÓ¡»ú $1
freebsd_paralel=²¢¿Ú
freebsd_serial=´®¿Ú $1(COM$1)
openbsd_paralel=²¢¿Ú
openbsd_serial=´®¿Ú $1(COM$1)
unixware_paralel=²¢¿Ú $1
unixware_serial=´®¿Ú $1
unixware_null=¿ÕÉè±¸
hpux_paralel=²¢¿Ú $1
hpux_serial=´®¿Ú $1
hpux_null=¿ÕÉè±¸
lprng_paralel=²¢¿Ú $1
lprng_serial=´®¿Ú $1
lprng_null=¿ÕÉè±¸
solaris_paralel=²¢¿Ú $1
solaris_uparalel=Ultra 5/10 ²¢¿Ú
solaris_serial=´®¿Ú $1
solaris_null=¿ÕÉè±¸
   070701000076f6000081a40000000000000002000000013d1fe2d200000fde000000200000000000000000000000000000001e00000003reloc/lpadmin/lang/zh_TW.Big5 index_title=¦Lªí¾÷ºÞ²zªÌ
index_name=¦Lªí¾÷
index_desc=´y­z
index_to=¦C¦L¨ì
index_driver=ÅX°Êµ{¦¡
index_jobs=¤u§@
index_none=¨t²Î¤W¨S¦³¦w¸Ë¦Lªí¾÷
index_list=¦Cªí...
index_add=¼W¥[¤@­Ó·sªº¦Lªí¾÷
index_stop=°±¤î±Æµ{¾¹
index_stopmsg=«ö¤U³o­Ó«ö¶s¥H°±¤î°õ¦æ¤¤ªº¦Lªí¾÷±Æµ{¾¹µ{§Ç. ³o±N¥i¥H¨¾¤î¥ô¦ó¥»¦aºÝ©Î»·ºÝªº¨Ï¥ÎªÌ¦b±zªº¨t²Î¤W¦C¦L.
index_start=±Ò°Ê±Æµ{¾¹
index_startmsg=«ö¤U³o­Ó«ö¶s¥H¾¹°Ê¦Lªí¾÷±Æµ{¾¹µ{§Ç. ³o±N¤¹³\¥»¦aºÝ©Î»·ºÝªº¨Ï¥ÎªÌ¦b±zªº¨t²Î¤W¦C¦L.
index_return=¦Lªí¾÷¦Cªí

edit_eedit=±z¤£³Q¤¹³\½s¿è³o­Ó¦Lªí¾÷
edit_eadd=±z¤£³Q¤¹³\«Ø¥ß¦Lªí¾÷
edit_add=«Ø¥ß¦Lªí¾÷
edit_edit=½s¿è¦Lªí¾÷
edit_conf=¦Lªí¾÷²ÕºA
edit_name=¦WºÙ
edit_acc=¬O§_±µ¨ü­n¨D?
edit_why=§_ - ¬°¦ó¤£
edit_desc=´y­z
edit_ena=¬O§_±Ò°Ê¦C¦L?
edit_acl=¦s¨ú±±¨î
edit_allow=¤¹³\¥ô¦ó¤H
edit_deny=©Úµ´¥ô¦ó¤H
edit_allowu=¤¹³\¦C¥Xªº¨Ï¥ÎªÌ...
edit_denyu=©Úµ´¦C¥Xªº¨Ï¥ÎªÌ...
edit_banner=¬O§_¦C¦L¼ÐÃD?
edit_opt=«D±j¨î©Êªº
edit_default=¬O§_¬°¹w³]ªº¦Lªí¾÷?
edit_already=¤w¸g¬O¹w³]ªº¦Lªí¾÷
edit_max=³Ì¤j¦C¦L¤u§@¤j¤p
edit_blocks=°Ï¶ô
edit_dacc=±µ¨üªºÅX°Êµ{¦¡
edit_dtext=¤å¦r
edit_dpost=Postscript
edit_dother=¨ä¥L
edit_alt=´À¥Nªº¦Lªí¾÷¦WºÙ
edit_dest=¦C¦L¥Ø¼Ð
edit_dev=¥»¦aºÝ³]³Æ
edit_file=¥»¦aºÝÀÉ®×
edit_remote=»·ºÝ Unix ¦øªA¾¹
edit_rqueue=¦Lªí¾÷
edit_type=Ãþ§O
edit_smb=»·ºÝ Windows ¦øªA¾¹
edit_share=¦Lªí¾÷
edit_user=¨Ï¥ÎªÌ
edit_pass=±K½X
edit_wgroup=¤u§@¸s²Õ
edit_hpnp=»·ºÝ HPNP ¦øªA¾¹
edit_port=³q°T°ð
edit_direct=ª½±µ TCP ³s½u
edit_dport=³q°T°ð
edit_driver=¦Lªí¾÷ÅX°Êµ{¦¡

save_err=Àx¦s¦Lªí¾÷¥¢±Ñ
save_eadd=±z¤£³Q¤¹³\¼W¥[¦Lªí¾÷
save_eedit=±z¤£³Q¤¹³\½s¿è³o­Ó¦Lªí¾÷
save_ename='$1' ¤£¬O¤@­Ó¦³®Äªº¦Lªí¾÷¦WºÙ
save_edup=¦Lªí¾÷¦WºÙ '$1' ¤w¸g¦s¦b
save_eallow=¨S¦³¿é¤J¤¹³\ªº¨Ï¥ÎªÌ
save_edeny=¨S¦³¿é¤J©Úµ´ªº¨Ï¥ÎªÌ
save_euser=¨Ï¥ÎªÌ '$1' ¤£¦s¦b
save_etype=±z¦Ü¤Ö¥²¶·¿é¤J¤@­Ó¦¹ÅX°Êµ{¦¡¥i¥H±µ¨üªºÃþ§O
save_emax=³Ì¤j¦C¦L¤u§@¤j¤p¥²¶·¬O¾ã¼Æ
save_efile='$1' ¤£¦s¦b
save_erhost=»·ºÝ¥D¾÷ '$1' ¤£¦s¦b
save_erqueue='$1' ¤£¬O¤@­Ó¦³®Äªº»·ºÝ¦Lªí¾÷¦î¦C¦WºÙ
save_eremote=ÅX°Êµ{¦¡¤£¯à¥Î¦b»·ºÝªº Unix ¦Lªí¾÷
save_edhost=ª½±µ³s½u¥D¾÷ '$1' ¤£¦s¦b
save_edport=¿ò¥¢©Î¿ù»~ªºª½±µ³s½u³q°T°ð

jobs_title=¦Lªí¾÷¤u§@
jobs_header=¦b $1 ¤W­±ªº¦C¦L¤u§@
jobs_id=¤u§@½s¸¹
jobs_size=¤j¤p
jobs_by=°e¥XªÌ
jobs_when=°e¥X©ó
jobs_file=ÀÉ®×¦WºÙ
jobs_cancel=«ö¤U¤W­±¦Cªí¤¤ªº¤u§@½s¸¹¥H¨ú®ø
jobs_cancelview=«ö¤U¤W­±¦Cªí¤¤ªº¤u§@½s¸¹¥H¨ú®ø, ©Î«ö¤U¤u§@¤j¤p¥HÀËµø.
jobs_none=¨S¦³¦b $1 ¤W­±ªº¦C¦L¤u§@

cancel_ecannot=±z¤£³Q¤¹³\¨ú®ø¦C¦L¤u§@
cancel_err=µLªk¨ú®ø¦C¦L¤u§@
cancel_egone=¦C¦L¤u§@ $1 ¤w¸g¤£¦s¦b

view_ecannot=±zµLªkÀËµø³o­Ó¦C¦L¤u§@
view_egone=³o­Ó¦C¦L¤u§@¤w¸g¤£¦s¦b

start_ecannot=±z¤£³Q¤¹³\±Ò°Ê±Æµ{¾¹
start_err=µLªk±Ò°Ê±Æµ{¾¹

stop_ecannot=±z¤£³Q¤¹³\°±¤î±Æµ{¾¹
stop_err=µLªk°±¤î±Æµ{¾¹

webmin_none=µL
webmin_nonemsg=Postscript ©Î¤å¦r¦Lªí¾÷
webmin_remotemsg=»·ºÝ¦Lªí¾÷
webmin_model=«¬¸¹
webmin_prog=µ{¦¡
webmin_driver=Webmin ÅX°Êµ{¦¡
webmin_uniprint=Uniprint ÅX°Êµ{¦¡
webmin_edrivers=µLªk¥Ñ $1 ¨ú±oÅX°Êµ{¦¡. ¨Ï¥Î ghostscript ªº Webmin ¦Lªí¾÷ÅX°Êµ{¦¡¤£¦s¦b
webmin_egs=§ä¤£¨ì©R¥O $1 . ¨Ï¥Î ghostscript ªº Webmin ¦Lªí¾÷ÅX°Êµ{¦¡¤£¦s¦b
webmin_edriver='$1' ¤£¦s¦b

caldera_none=µL
caldera_nonemsg=»·ºÝ©Î­ì©l (raw) ¸ê®Æ¦Lªí¾÷Remote or raw printer
caldera_prog=µ{¦¡
caldera_coas=COAS ÅX°Êµ{¦¡
caldera_printer=¦Lªí¾÷»P¸ÑªR«×
caldera_eof=¬O§_°e¥X EOF ¦r¤¸?
caldera_paper=¯È±i¤j¤p
caldera_double=¬O§_Âù­±¦C¦L?
caldera_gsopts=ÃB¥~ªº GS ¿ï¶µ
caldera_uniprint=Uniprint ÅX°Êµ{¦¡
caldera_eprog='$1' ¤£¦s¦b
caldera_edriver=¨S¦³¿ï¾Ü¦Lªí¾÷ÅX°Êµ{¦¡
caldera_eres=¨S¦³¿ï¾Ü¸ÑªR«×

redhat_none=µL
redhat_nonemsg=Postscript ©Î¤å¦r¦Lªí¾÷
redhat_prog=µ{¦¡
redhat_driver=Redhat ÅX°Êµ{¦¡
redhat_printer=¦Lªí¾÷»P¸ÑªR«×
redhat_eof=¬O§_°e¥X EOF ¦r¤¸?
redhat_paper=¯È±i¤j¤p
redhat_pages=¨C­¶¯È±i¦C¦L­¶¼Æ
redhat_gsopts=ÃB¥~ªº GS ¿ï¶µ
redhat_hmargin=¥ª/¥k Ãä¬É
redhat_vmargin=¤W/¤U Ãä¬É
redhat_crlf=¬O§_­×¸É¿÷¾¦¼²¤å¦r?
redhat_eprog='$1' ¤£¦s¦b
redhat_edriver=¨S¦³¿ï¾Ü¦Lªí¾÷ÅX°Êµ{¦¡
redhat_ehmargin=¿ò¥¢©Î¿ù»~ªº ¥ª/¥k Ãä¬É­È
redhat_evmargin=¿ò¥¢©Î¿ù»~ªº ¤W/¤U Ãä¬É­È
redhat_eres=¨S¦³¿ï¾Ü¸ÑªR«×

acl_printers=³o­Ó¨Ï¥ÎªÌ¥i¥H²ÕºAªº¦Lªí¾÷
acl_add=¬O§_¥i¥H¼W¥[·s¦Lªí¾÷?
acl_cancel=¬O§_¥i¥HÀËµø»P§R°£¦Lªí¾÷¤u§@?
acl_stop=¬O§_¥i¥H°±¤î©Î±Ò°Ê±Æµ{¾¹?
acl_all=¹ï©Ò¦³ªº¦Lªí¾÷
acl_listed=¥u¹ï©Ò¿ï¾Üªº¦Lªí¾÷...

  070701000048ff000081a40000000000000002000000013d1fe2d200002050000000200000000000000000000000000000001b00000003reloc/lpadmin/linux-lib.pl    # linux-lib.pl
# Functions for printcap-style printer management

# list_printers()
# Returns a list of known printer names
sub list_printers
{
local($l, @rv);
foreach $l (&list_printcap()) {
	$l->{'name'} =~ /^([^\|]+)/;
	push(@rv, $1);
	}
return @rv;
}

# get_printer(name, [nostatus])
sub get_printer
{
local($l, %prn, @w, @n, $w, %cap, @jobs);
foreach $l (&list_printcap()) {
	@n = split(/\|/, $l->{'name'});
	if ($n[0] eq $_[0]) {
		# found the printer.. get info from printcap
		$prn{'name'} = $n[0];
		if (@n > 2) { $prn{'alias'} = [ @n[1..$#n-1] ]; }
		if (@n > 1) { $prn{'desc'} = $n[$#n]; }
		$prn{'iface'} = $l->{'if'};
		$prn{'banner'} = !defined($l->{'sh'});
		$prn{'dev'} = $l->{'lp'};
		$prn{'rhost'} = $l->{'rm'};
		$prn{'rqueue'} = $l->{'rp'};
		$prn{'msize'} = $l->{'mx'};
		$prn{'comment'} = $l->{'comment'};

		if (!$_[1]) {
			# call lpc to get status
			$out = `lpc status $prn{'name'} 2>&1`;
			$prn{'accepting'} = ($out =~ /queuing is enabled/);
			$prn{'enabled'} = ($out =~ /printing is enabled/);
			}

		return \%prn;
		}
	}
return undef;
}

# get_jobs(printer)
sub get_jobs
{
local (@jobs, $htype);
open(LPQ, "lpq -P$_[0] |");
while(<LPQ>) {
	chop;
	if (/^\s*Rank\s+Owner\s+\S+\s+Job/) { $htype = 2; }
	elsif (/^Rank\s+Owner\s+/) { $htype = 1; }
	elsif ($htype == 1 &&
	       /^(\S+)\s+(\S+)\s+(\d+)\s+(.*\S)\s+(\d+)\s+(\S+)$/) {
		# Normal lpq output
		local(%job, $f, @pq);
		$job{'id'} = $3;
		$job{'user'} = $2;
		$job{'size'} = $5;
		$job{'file'} = $4;
		$job{'printing'} = ($1 eq "active");
		local $d = "$config{'spool_dir'}/$_[0]";
		opendir(DIR, $d);
		while($f = readdir(DIR)) {
			if ($f =~ /df.(\d+)/ && $1 == $job{'id'}) {
				push(@pq, "$d/$f");
				}
			}
		closedir(DIR);
		$job{'printfile'} = @pq ? \@pq : undef;
		push(@jobs, \%job);
		}
	elsif ($htype == 2 &&
	       /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\d*)\s+(\S+)\s+(\S+)\s+(\S+)$/) {
		# PLP lpq output
		local(%job);
		$job{'id'} = $4;
		$job{'user'} = $2;
		$job{'size'} = $4;
		$job{'file'} = $6;
		push(@jobs, \%job);
		}
	}
close(LPQ);
return @jobs;
}

sub printer_support
{
return $_[0] !~ /^(why|allow|default|ctype|sysv|direct|ipp)$/;
}


# create_printer(&details)
# Create a new printer in /etc/printcap
sub create_printer
{
local(%cap);
$cap{'sd'} = "$config{'spool_dir'}/$_[0]->{'name'}";
&lock_file($cap{'sd'});
mkdir($cap{'sd'}, 0755);
&unlock_file($cap{'sd'});
&lock_file($config{'printcap_file'});
open(CAP, ">> $config{'printcap_file'}");
print CAP &make_printcap($_[0], \%cap),"\n";
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# modify_printer(&details)
sub modify_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]->{'name'}) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]->{'name'}' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'},
       $old->{'eline'} - $old->{'line'} + 1, &make_printcap($_[0], $old)."\n");
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# delete_printer(name)
sub delete_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'}, $old->{'eline'} - $old->{'line'} + 1);
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
if ($old->{'sd'} eq "$config{'spool_dir'}/$_[0]") {
	system("rm -rf $old->{'sd'}");
	}
}

# cancel_job(printer, job)
# Calls lprm to remove some job
sub cancel_job
{
local($out);
$out = &backquote_logged("lprm -P$_[0] $_[1] 2>&1");
if ($?) { &error("lprm failed : $out"); }
}

# make_printcap(&details, &old)
# Updates or creates a printcap line
sub make_printcap
{
local(%prn, %cap, $a, $rv, $c);
%prn = %{$_[0]}; %cap = %{$_[1]};
$cap{'if'} = $prn{'iface'} ? $prn{'iface'} : undef;
$cap{'sh'} = $prn{'banner'} ? undef : "";
$cap{'lp'} = $prn{'dev'} ? $prn{'dev'} : undef;
$cap{'rm'} = $prn{'rhost'} ? $prn{'rhost'} : undef;
$cap{'rp'} = $prn{'rqueue'} ? $prn{'rqueue'} : undef;
$cap{'mx'} = defined($prn{'msize'}) ? $prn{'msize'} : undef;
$rv = $prn{'comment'}."\n" if ($prn{'comment'});
$rv .= $prn{'name'};
foreach $a (@{$prn{'alias'}}) { $rv .= "|$a"; }
$rv .= "|$prn{'desc'}" if ($prn{'desc'});
foreach $c (keys %cap) {
	if ($c =~ /^(\S\S)(#?)$/ && defined($cap{$c})) {
		if ($cap{$c} eq "") { $rv .= ":$c"; }
		elsif ($cap{$c} =~ /^\d+$/) { $rv .= ":$c#$cap{$c}"; }
		else { $rv .= ":$c=$cap{$c}"; }
		}
	}
$rv .= ":";
return $rv;
}

# list_printcap()
# Returns an array of associative arrays containing printcap fields
sub list_printcap
{
return @list_printcap_cache if (defined(@list_printcap_cache));
local(@rv, @line, @comment, @eline, @sline, $line, $cont, $lnum, $i);
open(CAP, $config{'printcap_file'});
$lnum = 0;
while($line = <CAP>) {
	$line =~ s/\s+$//g;	# remove trailing spaces/newline
	if ($line =~ /^(##.*)/) {
		# special commented line .. keep it
		$comment[@line] = $line;
		}
	else {
		$line =~ s/^#.*$//g;	# remove comments
		$line =~ s/^\s+//g;	# remove leading spaces
		if ($line =~ /\S/) {
			local $ncont = ($line =~ s/\\$//g);
			if ($cont) {
				$line[$#line] .= $line;
				$eline[@line - 1] = $lnum;
				}
			else {
				push(@line, $line);
				$eline[@line - 1] = $sline[@line - 1] = $lnum;
				}
			$cont = $ncont;
			}
		else {
			# only keep comments immediately before an entry
			$comment[@line] = undef;
			}
		}
	$lnum++;
	}
close(CAP);
for($i=0; $i<@line; $i++) {
	local(%cap);
	@w = split(/:+/, $line[$i]);
	$cap{'name'} = $w[0];
	$cap{'line'} = $sline[$i] - ($comment[$i] ? 1 : 0);
	$cap{'eline'} = $eline[$i];
	$cap{'comment'} = $comment[$i];
	foreach $w (@w[1..$#w]) {
		if ($w =~ /^([A-z0-9]+)[=#](.*)$/) { $cap{$1} = $2; }
		elsif ($w =~ /^([A-z0-9]+)$/) { $cap{$w} = ""; }
		}
	push(@rv, \%cap);
	}
@list_printcap_cache = @rv;
return @rv;
}

# apply_status(&details)
# Calls lpc to enable or disable a printer.
# Restarting lpd doesn't seem to be necessary?
sub apply_status
{
local($out);
$out = `lpc status $prn{'name'} 2>&1`;
if ($prn{'enabled'} && $out !~ /printing is enabled/)
	{ &backquote_logged("lpc up $prn{'name'}"); }
elsif (!$prn{'enabled'} && $out =~ /printing is enabled/)
	{ &backquote_logged("lpc down $prn{'name'}"); }
if ($prn{'accepting'} && $out !~ /queuing is enabled/)
	{ &backquote_logged("lpc enable $prn{'name'}"); }
elsif (!$prn{'accepting'} && $out =~ /queuing is enabled/)
	{ &backquote_logged("lpc disable $prn{'name'}"); }
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
@pid = &find_byname("lpd");
if (@pid) { return $pid[0]; }
return 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("lpd 2>&1");
if ($?) { &error("failed to start lpd : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local @pid = &find_byname("lpd");
&kill_logged('TERM', @pid) || &error("Failed to stop lpd : $!");
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lpr -P$_[0] $_[1]";
}

if (-r "/dev/lp0") {
	@device_files = ("/dev/lp0", "/dev/lp1",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
else {
	@device_files = ("/dev/lp1", "/dev/lp2",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
if (-r "/dev/usblp0") {
	push(@device_files, "/dev/usblp0", "/dev/usblp1",
			    "/dev/usblp2", "/dev/usblp3");
	}
elsif (-r "/dev/usb/lp0") {
	push(@device_files, "/dev/usb/lp0", "/dev/usb/lp1",
			    "/dev/usb/lp2", "/dev/usb/lp3");
	}
@device_names = (&text('linux_paralel', "1"), &text('linux_paralel', "2"),
		 &text('linux_serial', "1"), &text('linux_serial', "2"),
		 $text{'linux_null'}, &text('linux_usb', 1),
		 &text('linux_usb', 2), &text('linux_usb', 3),
		 &text('linux_usb', 4));

07070100004900000081e40000000000000002000000013d1fe2d2000008fd000000200000000000000000000000000000001c00000003reloc/lpadmin/list_jobs.cgi   #!/usr/local/bin/perl
# list_jobs.cgi
# List all print jobs on some printer

require './lpadmin-lib.pl';
&ReadParse();
print "Refresh: $config{'queue_refresh'}\r\n"
	if ($config{'queue_refresh'});
&header($text{'jobs_title'}, "");
print "<hr>\n";

@jobs = &get_jobs($in{'name'});
if (@jobs) {
	print "<h3>",&text('jobs_header', "<tt>$in{'name'}</tt>"),"</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'jobs_id'}</b></td>\n";
	print "<td><b>$text{'jobs_size'}</b></td>\n";
	print "<td><b>$text{'jobs_by'}</b></td>\n";
	if ($jobs[0]->{'when'}) {
		print "<td><b>$text{'jobs_when'}</b></td>\n";
		}
	if ($jobs[0]->{'file'}) {
		print "<td><b>$text{'jobs_file'}</b></td>\n";
		}
	foreach $j (@jobs) {
		local $ju = $j->{'user'};
		$ju =~ s/\!.*$//;
		print "<tr $cb>\n";
		if (&can_edit_jobs($in{'name'}, $ju)) {
			print "<td><a href=\"cancel_job.cgi?name=$in{'name'}&",
			      "id=$j->{'id'}\">",&html_escape($j->{'id'}),
			      "</a></td>\n";
			}
		else {
			print "<td>",&html_escape($j->{'id'}),"</td>\n";
			}
		if ($j->{'printfile'} && &can_edit_jobs($in{'name'}, $ju)) {
			print "<td><a href='view_job.cgi?name=$in{'name'}",
			      "&id=$j->{'id'}'>",&html_escape($j->{'size'}),
			      " $text{'jobs_bytes'}</a></td>\n";
			$printfile++;
			}
		else {
			print "<td>",&html_escape($j->{'size'}),
			      " $text{'jobs_bytes'}</td>\n";
			}
		if ($j->{'user'} =~ /^(\S+)\!(\S+)$/) {
			print "<td>",&html_escape("$2\@$1"),"</td>\n";
			}
		else { print "<td>",&html_escape($j->{'user'}),"</td>\n"; }
		if ($j->{'when'}) { print "<td>$j->{'when'}</td>\n"; }
		if ($j->{'file'}) { print "<td>$j->{'file'}</td>\n"; }
		print "</tr>\n";
		}
	print "</table>\n";
	if ($access{'cancel'}) {
		print "<table width=100%><tr><td>\n";
		print $printfile ? $text{'jobs_cancelview'}
				 : $text{'jobs_cancel'},"<br>\n";
		print "</td> <td align=right>",
		      "<a href='cancel_all.cgi?name=$in{'name'}'>",
		      "$text{'jobs_all'}</a></td> </tr></table>\n";
		}
	}
else { print "<h3>",&text('jobs_none', "<tt>$in{'name'}</tt>"),"</h3>\n"; }

print "<form action=test_form.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<input type=submit value='$text{'jobs_test'}'></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   07070100004901000081a40000000000000002000000013d1fe2d200000380000000200000000000000000000000000000001c00000003reloc/lpadmin/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'lpadmin-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'cancel') {
	return &text("log_cancel_${type}",
		     "<tt>".&html_escape($object)."</tt>",
		     "<tt>".&html_escape($p->{'id'})."</tt>");
	}
elsif ($action eq 'stop') {
	return $text{'log_stop'};
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($action eq 'restart') {
	return $text{'log_restart'};
	}
elsif ($type eq 'printer') {
	return &text($long && $p->{'mode'} ? "log_${action}_l" : "log_$action",
		     "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'dest'})."</tt>",
		     &html_escape($p->{'driver'}));
	}
else {
	return undef;
	}
}

07070100004902000081a40000000000000002000000013d1fe2d200003758000000200000000000000000000000000000001d00000003reloc/lpadmin/lpadmin-lib.pl  # lpadmin-lib.pl
# Functions for configuring and adding printers

do '../web-lib.pl';
&init_config();
do "$config{'print_style'}-lib.pl";
if ($config{'driver_style'}) {
	do "$config{'driver_style'}-driver.pl";
	}
else {
	do "webmin-driver.pl";
	}
%access = &get_module_acl();

$drivers_directory = "$module_config_directory/drivers";

# dev_name(file)
sub dev_name
{
local($i);
for($i=0; $i<@device_files; $i++) {
	if ($device_files[$i] eq $_[0]) { return $device_names[$i]; }
	}
return $_[0];
}

# has_ghostscript()
# Does this system have ghostscript installed?
sub has_ghostscript
{
return &has_command($config{'gs_path'});
}

# has_smbclient()
# Does this system have smbclient installed?
sub has_smbclient
{
return &has_command($config{'smbclient_path'});
}

# has_hpnp()
# Does this system have hpnp installed?
sub has_hpnp
{
return &has_command($config{'hpnp_path'});
}

# create_webmin_driver(&printer, &driver)
# lpadmin drivers are files in /etc/webmin/lpadmin/drivers. Each is a
# dynamically generated shell script which calls GS
sub create_webmin_driver
{
# check for non-driver
if ($_[1]->{'mode'} == 0) {
	return undef;
	}
elsif ($_[1]->{'mode'} == 2) {
	return $_[1]->{'program'};
	}

local($drv, $d, $gsdrv, $res, $perl);
&lock_file($drivers_directory);
mkdir($drivers_directory, 0755);
&unlock_file($drivers_directory);
$drv = "$drivers_directory/$_[0]->{'name'}";

# Find ghostscript driver
if ($_[1]->{'mode'} == 3) {
	$gsdrv = 'uniprint';
	}
else {
	foreach $d (&list_webmin_drivers()) {
		if ($d->[1] eq $_[1]->{'type'}) {
			$gsdrv = $d->[0];
			}
		}
	}

# Create script to call GS
&lock_file($drv);
open(DRV, ">$drv");
print DRV "#!/bin/sh\n";
print DRV "# Name: $_[0]->{'name'}\n";
print DRV "# Type: ",$_[1]->{'upp'} ? 'uniprint' : $_[1]->{'type'},"\n";
print DRV "# DPI: ",$_[1]->{'upp'} ? $_[1]->{'upp'} : $_[1]->{'dpi'},"\n";
if ($gconfig{'ld_env'}) {
	print DRV "$gconfig{'ld_env'}=$gconfig{'ld_path'}\n";
	}
print DRV "PATH=$gconfig{'path'}\n";
if ($config{'gs_fontpath'}) {
	print DRV "GS_FONTPATH=$config{'gs_fontpath'}\n";
	}
if ($config{'gs_lib'}) {
	print DRV "GS_LIB=$config{'gs_lib'}\n";
	}
print DRV "export $gconfig{'ld_env'} PATH GS_FONTPATH GS_LIB\n";
$res = $_[1]->{'upp'} ? "\@$_[1]->{'upp'}.upp" :
       $_[1]->{'dpi'} ? "-r$_[1]->{'dpi'}" : "";
open(PERL, "$config_directory/perl-path");
chop($perl = <PERL>);
close(PERL);
if ($config{'iface_arg'}) {
	for($i=0; $i<$config{'iface_arg'}-1; $i++) {
		print DRV "shift\n";
		}
	print DRV "cat \$* | $perl -e 'while(<STDIN>) { print if (!/^\\s*#####/); }' >/tmp/\$\$.gsin\n";
	}
else {
	print DRV "$perl -e 'while(<STDIN>) { print if (!/^\\s*#####/); }' >/tmp/\$\$.gsin\n";
	}
print DRV "$config{'gs_path'} -sOutputFile=/tmp/\$\$.gs -dSAFER -sDEVICE=$gsdrv $res -dNOPAUSE /tmp/\$\$.gsin </dev/null >/dev/null 2>&1\n";
print DRV "rm /tmp/\$\$.gsin\n";
print DRV "cat /tmp/\$\$.gs\n";
print DRV "rm /tmp/\$\$.gs\n";
close(DRV);
&unlock_file($drv);
&system_logged("chmod $config{'iface_perms'} $drv >/dev/null 2>&1");
if ($config{'iface_owner'}) {
	&system_logged("chown $config{'iface_owner'} $drv >/dev/null 2>&1");
	}
return $drv;
}

# create_webmin_windows_driver(&printer, &driver)
# Create an interface program that can print to a remote windows printer
# using some printer driver
sub create_webmin_windows_driver
{
local($drv, $prog);
&lock_file($drivers_directory);
mkdir($drivers_directory, 0755);
&unlock_file($drivers_directory);
$drv = "$drivers_directory/$_[0]->{'name'}.smb";

# Create script to call smbclient
&lock_file($drv);
open(DRV, ">$drv");
print DRV "#!/bin/sh\n";
print DRV "# Name: $_[0]->{'name'}\n";
print DRV "# Server: $_[1]->{'server'}\n";
print DRV "# Share: $_[1]->{'share'}\n";
print DRV "# User: $_[1]->{'user'}\n";
print DRV "# Password: $_[1]->{'pass'}\n";
print DRV "# Workgroup: $_[1]->{'workgroup'}\n";
print DRV "# Program: $_[1]->{'program'}\n";
if ($gconfig{'ld_env'}) {
	print DRV "$gconfig{'ld_env'}=$gconfig{'ld_path'}\n";
	}
print DRV "PATH=$gconfig{'path'}\n";
print DRV "export $gconfig{'ld_env'} PATH\n";
if (!$_[1]->{'program'}) {
	if ($config{'iface_arg'}) {
		for($i=0; $i<$config{'iface_arg'}-1; $i++) {
			print DRV "shift\n";
			}
		print DRV "cat \$* >/tmp/\$\$.smb\n";
		}
	else { print DRV "cat >/tmp/\$\$.smb\n"; }
	}
else {
	print DRV "$_[1]->{'program'} \"\$1\" \"\$2\" \"\$3\" \"\$4\" ",
		  "\"\$5\" \"\$6\" \"\$7\" \"\$8\" \"\$9\" ",
		  "\"\$10\" \"\$11\" \"\$12\" \"\$13\" >/tmp/\$\$.smb\n";
	system("chmod a+rx $_[1]->{'program'}");
	}
print DRV "$config{'smbclient_path'} '\\\\$_[1]->{'server'}\\$_[1]->{'share'}' ",
	  $_[1]->{'pass'} ? $_[1]->{'pass'} : "-N",
	  $_[1]->{'user'} ? " -U $_[1]->{'user'}" : "",
	  $_[1]->{'workgroup'} ? " -W $_[1]->{'workgroup'}" : "",
	  " -c \"print /tmp/\$\$.smb\" -P\n";
print DRV "rm /tmp/\$\$.smb\n";
close(DRV);
&unlock_file($drv);
&system_logged("chmod $config{'iface_perms'} $drv >/dev/null 2>&1");
if ($config{'iface_owner'}) {
	&system_logged("chown $config{'iface_owner'} $drv >/dev/null 2>&1");
	}
return $drv;
}

# create_hpnp_driver(&printer, &driver)
# Create an interface program that can print to a hpnp server using some
# interface program
sub create_hpnp_driver
{
local($drv, $prog);
&lock_file($drivers_directory);
mkdir($drivers_directory, 0755);
&unlock_file($drivers_directory);
$drv = "$drivers_directory/$_[0]->{'name'}.hpnp";

# Create script to call hpnp
&lock_file($drv);
open(DRV, ">$drv");
print DRV "#!/bin/sh\n";
print DRV "# Name: $_[0]->{'name'}\n";
print DRV "# Server: $_[1]->{'server'}\n";
print DRV "# Port: $_[1]->{'port'}\n";
print DRV "# Program: $_[1]->{'program'}\n";
if ($gconfig{'ld_env'}) {
	print DRV "$gconfig{'ld_env'}=$gconfig{'ld_path'}\n";
	}
print DRV "PATH=$gconfig{'path'}\n";
print DRV "export $gconfig{'ld_env'} PATH\n";
if (!$_[1]->{'program'}) {
	if ($config{'iface_arg'}) {
		for($i=0; $i<$config{'iface_arg'}-1; $i++) {
			print DRV "shift\n";
			}
		print DRV "cat \$* >/tmp/\$\$.hpnp\n";
		}
	else { print DRV "cat >/tmp/\$\$.hpnp\n"; }
	}
else {
	print DRV "$_[1]->{'program'} \"\$1\" \"\$2\" \"\$3\" \"\$4\" ",
		  "\"\$5\" \"\$6\" \"\$7\" \"\$8\" \"\$9\" ",
		  "\"\$10\" \"\$11\" \"\$12\" \"\$13\" >/tmp/\$\$.hpnp\n";
	system("chmod a+rx $_[1]->{'program'}");
	}
print DRV "$config{'hpnp_path'} -x $_[1]->{'server'}",
	  $_[1]->{'port'} ? " -p $_[1]->{'port'}" : "",
	  " /tmp/\$\$.hpnp\n";
print DRV "rm /tmp/\$\$.hpnp\n";
close(DRV);
&system_logged("chmod $config{'iface_perms'} $drv >/dev/null 2>&1");
if ($config{'iface_owner'}) {
	&system_logged("chown $config{'iface_owner'} $drv >/dev/null 2>&1");
	}
&unlock_file($drv);
return $drv;
}

# is_webmin_driver(path)
# Returns a structure of driver information
sub is_webmin_driver
{
local($l, $i, $u, $desc);
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => 'None' };
	}
if (&has_ghostscript()) {
	open(DRV, $_[0]);
	for($i=0; $i<4; $i++) { $l .= <DRV>; }
	close(DRV);
	if ($l =~ /# Name: (.*)\n# Type: (.*)\n# DPI: (.*)\n/) {
		if ($2 eq 'uniprint') {
			local $upp = $3;
			foreach $u (&list_uniprint()) {
				$desc = $u->[1] if ($u->[0] eq $upp);
				}
			$desc =~ s/,.*$//;
			return { 'mode' => 3,
				 'upp' => $upp,
				 'desc' => $desc ? $desc : $upp };
			}
		else {
			return { 'type' => $2,
				 'dpi' => $3,
				 'mode' => 1,
				 'desc' => $3 ? "$2 ($3 DPI)" : $2 };
			}
		}
	}
return { 'desc' => $_[0],
	 'prog' => $_[0],
	 'mode' => 2 };
}

# is_webmin_windows_driver(path)
# Returns a structure containing information about a windows driver, or undef
# Returns the server, share, username, password, workgroup, program
# if path is a webmin windows driver
sub is_webmin_windows_driver
{
local($i, $l);
if (!&has_smbclient()) { return undef; }
open(DRV, $_[0]);
for($i=0; $i<8; $i++) { $l .= <DRV>; }
close(DRV);
if ($l =~ /# Name: (.*)\n# Server: (.*)\n# Share: (.*)\n# User: (.*)\n# Password: (.*)\n# Workgroup: (.*)\n# Program: (.*)\n/) {
	return { 'server' => $2,
		 'share' => $3,
		 'user' => $4,
		 'pass' => $5,
		 'workgroup' => $6,
		 'program' => $7 };
	}
elsif ($l =~ /# Name: (.*)\n# Server: (.*)\n# Share: (.*)\n# User: (.*)\n# Password: (.*)\n# Program: (.*)\n/) {
	return { 'server' => $2,
		 'share' => $3,
		 'user' => $4,
		 'pass' => $5,
		 'program' => $7 };
	}
else { return undef; }
}

# delete_webmin_driver(name)
# Delete the drivers for some printer
sub delete_webmin_driver
{
&lock_file("$drivers_directory/$_[0]");
&lock_file("$drivers_directory/$_[0].smb");
&lock_file("$drivers_directory/$_[0].hpnp");
unlink("$drivers_directory/$_[0]");
unlink("$drivers_directory/$_[0].smb");
unlink("$drivers_directory/$_[0].hpnp");
&unlock_file("$drivers_directory/$_[0]");
&unlock_file("$drivers_directory/$_[0].smb");
&unlock_file("$drivers_directory/$_[0].hpnp");
}

# is_hpnp_driver(path, &printer)
# Returns a structure of hpnp details if path is a webmin hpnp driver
sub is_hpnp_driver
{
local($i, $l);
if (!&has_hpnp()) { return undef; }
open(DRV, $_[0]);
for($i=0; $i<5; $i++) { $l .= <DRV>; }
close(DRV);
if ($l =~ /# Name: (.*)\n# Server: (.*)\n# Port: (.*)\n# Program: (.*)\n/) {
	return { 'server' => $2,
		 'port' => $3,
		 'program' => $4 };
	}
else { return undef; }
}

# webmin_driver_input(&printer, &driver)
sub webmin_driver_input
{
local ($prn, $drv) = @_;

printf "<tr> <td><input type=radio name=drv value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'webmin_none'};
print "<td>($text{'webmin_nonemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=drv value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'webmin_prog'};
printf "<td><input name=iface value=\"%s\" size=35></td> </tr>\n",
	$drv->{'mode'} == 2 ? $drv->{'prog'} : "";

if (&has_ghostscript()) {
	local $out = `$config{'gs_path'} -help 2>&1`;
	if ($out =~ /Available devices:\n((\s+.*\n)+)/i) {
		print "<tr> <td valign=top>\n";
		printf "<input type=radio name=drv value=1 %s>\n",
			$drv->{'mode'} == 1 ? "checked" : "";
		print "$text{'webmin_driver'}</td> <td valign=top>";
		foreach $d (split(/\s+/, $1)) { $drvsupp{$d}++; }
		print "<select name=driver size=7>\n";
		foreach $d (&list_webmin_drivers()) {
			if ($drvsupp{$d->[0]}) {
				printf "<option %s>%s&nbsp;&nbsp;&nbsp;(%s)\n",
				    $d->[1] eq $drv->{'type'} ? "selected" : "",
				    $d->[1], $d->[0];
				}
			}
		print "</select>&nbsp;&nbsp;";
		print "<select name=dpi size=7>\n";
		printf "<option value=\"\" %s>Default\n",
			$drv->{'dpi'} ? "" : "selected";
		foreach $d (75, 100, 150, 200, 300, 600, 720, 1440) {
			printf "<option value=\"$d\" %s>$d DPI\n",
				$drv->{'dpi'} == $d ? "selected" : "";
			}
		print "</select></td> </tr>\n";

		if ($drvsupp{'uniprint'}) {
			print "<tr> <td valign=top>\n";
			printf "<input type=radio name=drv value=3 %s>\n",
				$drv->{'mode'} == 3 ? "checked" : "";
			print "$text{'webmin_uniprint'}</td> <td valign=top>";
			print "<select name=uniprint size=5>\n";
			foreach $u (&list_uniprint()) {
				printf "<option value=%s %s>%s\n",
				    $u->[0],
				    $u->[0] eq $drv->{'upp'} ? 'selected' : '',
				    $u->[1];
				}
			print "</select></td> </tr>\n";
			}
		}
	else {
		print "<tr> <td colspan=2>",
		      &text('webmin_edrivers', "<tt>$config{'gs_path'}</tt>"),
		      "</td> </tr>\n";
		}
	}
elsif ($config{'gs_path'}) {
	print "<tr> <td colspan=2>",
	      &text('webmin_egs', "<tt>$config{'gs_path'}</tt>"),
	      "</td> </tr>\n";
	}
return undef;
}

# parse_webmin_driver()
# Parse driver selection from %in and return a driver structure
sub parse_webmin_driver
{
if ($in{'drv'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'drv'} == 2) {
	(-x $in{'iface'}) || &error(&text('webmin_edriver', $in{'iface'}));
	return { 'mode' => 2,
		 'program' => $in{'iface'} };
	}
elsif ($in{'drv'} == 1) {
	return { 'mode' => 1,
		 'type' => $in{'driver'},
		 'dpi' => $in{'dpi'} };
	}
elsif ($in{'drv'} == 3) {
	return { 'mode' => 3,
		 'upp' => $in{'uniprint'} };
	}
}



# list_webmin_drivers()
sub list_webmin_drivers
{
local(@rv, $_);
open(DRIVERS, "$module_root_directory/drivers");
while(<DRIVERS>) {
	/^(\S+)\s+(.*)/;
	push(@rv, [ $1, $2 ]);
	}
close(DRIVERS);
return @rv;
}

# can_edit_printer(printer)
sub can_edit_printer
{
foreach $p (split(/\s+/, $access{'printers'})) {
	return 1 if ($p eq '*' || $p eq $_[0]);
	}
return 0;
}

# can_edit_jobs(printer, user)
sub can_edit_jobs
{
local $rv = 0;
if ($access{'cancel'} == 1) {
	$rv = 1;
	}
elsif ($access{'cancel'} == 0) {
	$rv = 0;
	}
else {
	foreach $p (split(/\s+/, $access{'jobs'})) {
		$rv = 1 if ($p eq $_[0]);
		}
	}
if ($rv) {
	if ($access{'user'} eq '*') {
		return 1;
		}
	elsif ($access{'user'} eq $_[1]) {
		return 1;
		}
	elsif (!$access{'user'} && $remote_user eq $_[1]) {
		return 1;
		}
	}
return 0;
}

# list_uniprint()
# Returns a list of uniprint drivers support by the installed ghostscript
sub list_uniprint
{
local (@rv, $f, $d);
local $out = `$config{'gs_path'} -help 2>&1`;
if ($out =~ /Search path:\n((\s+.*\n)+)/i) {
	foreach $d (split(/\s+/, $1)) {
		next if ($d !~ /^\//);
		opendir(DIR, $d);
		while($f = readdir(DIR)) {
			next if ($f !~ /^(.*)\.upp$/);
			local $upp = $1;
			open(UPP, "$d/$f");
			local $line = <UPP>;
			close(UPP);
			next if ($line !~ /upModel="(.*)"/i);
			push(@rv, [ $upp, $1 ]);
			}
		closedir(DIR);
		}
	}
return sort { $a->[0] cmp $b->[0] } @rv;
}

sub log_info
{
local ($drv, $wdrv, $hdrv);
if (!$webmin_windows_driver) {
	$wdrv = &is_webmin_windows_driver($_[0]->{'iface'}, $_[0]);
	}
$wdrv = &is_windows_driver($_[0]->{'iface'}, $_[0]) if (!$wdrv);
$hdrv = &is_hpnp_driver($_[0]->{'iface'}, $_[0]);
local $iface = $wdrv ? $wdrv->{'program'} :
	       $hdrv ? $hdrv->{'program'} : $_[0]->{'iface'};

if (!$webmin_print_driver) {
	$drv = &is_webmin_driver($iface, $_[0]);
	}
$drv = &is_driver($iface, $_[0])
	if ($drv->{'mode'} == 0 || $drv->{'mode'} == 2);
$drv->{'desc'} =~ s/\([^\)]+\)$//;

return { 'driver' => $drv->{'desc'},
	 'mode' => $drv->{'mode'},
	 'dest' => $wdrv ? "\\\\$wdrv->{'server'}\\$wdrv->{'share'}" :
		   $hdrv ? "HPNP $hdrv->{'server'}:$hdrv->{'port'}" :
		   $_[0]->{'rhost'} ? "$_[0]->{'rhost'}:$_[0]->{'rqueue'}" :
		   $_[0]->{'dhost'} ? "$_[0]->{'dhost'}:$_[0]->{'dport'}" :
		   &dev_name($_[0]->{'dev'}) };
}

07070100004903000081a40000000000000002000000013d1fe2d200002583000000200000000000000000000000000000001b00000003reloc/lpadmin/lprng-lib.pl    # lprng-lib.pl
# Functions for lprng-style printer management

# list_printers()
# Returns a list of known printer names
sub list_printers
{
local($l, @rv);
foreach $l (&list_printcap()) {
	$l->{'name'} =~ /^([^\|]+)/;
	push(@rv, $1);
	}
return @rv;
}

# get_printer(name, [nostatus])
sub get_printer
{
local($l, %prn, @w, @n, $w, %cap, @jobs);
foreach $l (&list_printcap()) {
	@n = split(/\|/, $l->{'name'});
	if ($n[0] eq $_[0]) {
		# found the printer.. get info from printcap
		$prn{'name'} = $n[0];
		if (@n > 2) { $prn{'alias'} = [ @n[1..$#n-1] ]; }
		if (@n > 1) { $prn{'desc'} = $n[$#n]; }
		$prn{'desc'} = $l->{'cm'} if ($l->{'cm'});
		$prn{'iface'} = $l->{'if'};
		$prn{'banner'} = !defined($l->{'sh'});
		if ($l->{'rm'}) {
			$prn{'rhost'} = $l->{'rm'};
			$prn{'rqueue'} = $l->{'rp'};
			}
		elsif ($l->{'lp'} =~ /^(\S+)\%(\d+)$/) {
			$prn{'dhost'} = $1;
			$prn{'dport'} = $2;
			}
		else {
			$prn{'dev'} = $l->{'lp'};
			}
		$prn{'msize'} = $l->{'mx'};
		$prn{'comment'} = $l->{'comment'};

		if (!$_[1]) {
			# call lpc to get status
			$out = `lpc -P$prn{'name'} status 2>&1`;
			if ($out =~ /\n(\S+)\s+(\S+)\s+(\S+)/) {
				$prn{'accepting'} = $3 eq 'enabled';
				$prn{'enabled'} = $2 eq 'enabled';
				}
			}

		return \%prn;
		}
	}
return undef;
}

# get_jobs(printer)
sub get_jobs
{
local @jobs;
open(LPQ, "lpq -P$_[0] |");
while(<LPQ>) {
	chop;
	if (/^\s+Rank\s+Owner/i) { $doneheader++; }
	elsif ($doneheader && /^(\S+)\s+(\S+)\s+\S+\s+(\d+)\s+(.*\S)\s+(\d+)\s+(\S+)$/) {
		# Local print queue
		local(%job, $f, @pq);
		$job{'id'} = $3;
		$job{'user'} = $2;
		$job{'size'} = $5;
		$job{'file'} = $4;
		$job{'printing'} = ($1 eq "active");
		$job{'user'} =~ s/\+\d+$//g;
		local $d = "$config{'spool_dir'}/$_[0]";
		opendir(DIR, $d);
		while($f = readdir(DIR)) {
			if ($f =~ /df.(\d+)/ && $1 == $job{'id'}) {
				push(@pq, "$d/$f");
				}
			}
		closedir(DIR);
		$job{'printfile'} = @pq ? \@pq : undef;
		push(@jobs, \%job);
		}
	elsif (/^(\S+):\s+(\S+)\s+\[job\s+(\d+)/) {
		# remote print queue
		local(%job);
		$job{'id'} = $3;
		$job{'user'} = $1;
		if (<LPQ> =~ /^\s+(.*\S)\s+(\d+)/) {
			$job{'file'} = $1;
			$job{'size'} = $2;
			push(@jobs, \%job);
			}
		}
	}
close(LPQ);
return @jobs;
}

sub printer_support
{
return $_[0] !~ /^(why|allow|default|ctype|sysv|ipp)$/;
}


# create_printer(&details)
# Create a new printer in /etc/printcap
sub create_printer
{
local(%cap);
if (!-d $config{'spool_dir'}) {
	&lock_file($config{'spool_dir'});
	mkdir($config{'spool_dir'}, 0755);
	&unlock_file($config{'spool_dir'});
	&system_logged("chown $config{'iface_owner'} $config{'spool_dir'}");
	}
$cap{'sd'} = "$config{'spool_dir'}/$_[0]->{'name'}";
&lock_file($cap{'sd'});
mkdir($cap{'sd'}, 0755);
&unlock_file($cap{'sd'});
&lock_file("$cap{'sd'}/control.$_[0]->{'name'}");
open(TOUCH, ">$cap{'sd'}/control.$_[0]->{'name'}");
close(TOUCH);
&unlock_file("$cap{'sd'}/control.$_[0]->{'name'}");
&lock_file("$cap{'sd'}/status.$_[0]->{'name'}");
open(TOUCH, ">$cap{'sd'}/status.$_[0]->{'name'}");
close(TOUCH);
&unlock_file("$cap{'sd'}/status.$_[0]->{'name'}");
&lock_file("$cap{'sd'}/unspooler.$_[0]->{'name'}");
open(TOUCH, ">$cap{'sd'}/unspooler.$_[0]->{'name'}");
close(TOUCH);
&unlock_file("$cap{'sd'}/unspooler.$_[0]->{'name'}");
if ($config{'iface_owner'}) {
	&system_logged("chown -R $config{'iface_owner'} $cap{'sd'}");
	}
else {
	local @st = stat($config{'spool_dir'});
	&system_logged("chown -R $st[4]:$st[5] $cap{'sd'}");
	}
&system_logged("chmod 2700 $cap{'sd'}");
&system_logged("chmod 600 $cap{'sd'}/*");
&system_logged("chmod 700 $cap{'sd'}/printfilter")
	if (-r "$cap{'sd'}/printfilter");

&lock_file($config{'printcap_file'});
open(CAP, ">> $config{'printcap_file'}");
print CAP &make_printcap($_[0], \%cap),"\n";
close(CAP);
&unlock_file($config{'printcap_file'});
&system_logged("lpc reread all >/dev/null 2>&1");
&apply_status($_[0]);
}

# modify_printer(&details)
sub modify_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]->{'name'}) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]->{'name'}' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'},
       $old->{'eline'} - $old->{'line'} + 1, &make_printcap($_[0], $old)."\n");
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
&system_logged("lpc reread all >/dev/null 2>&1");
&apply_status($_[0]);
}

# delete_printer(name)
sub delete_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'}, $old->{'eline'} - $old->{'line'} + 1);
open(CAP, ">$config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
if ($old->{'sd'} =~ /$_[0]$/) {
	&system_logged("rm -rf $old->{'sd'}");
	}
&system_logged("lpc reread all >/dev/null 2>&1");
}

# cancel_job(printer, job)
# Calls lprm to remove some job
sub cancel_job
{
local($out);
$out = &backquote_logged("lprm -P$_[0] $_[1] 2>&1");
if ($?) { &error("lprm failed : $out"); }
}

# make_printcap(&details, &old)
# Updates or creates a printcap line
sub make_printcap
{
local(%prn, %cap, $a, $rv, $c);
%prn = %{$_[0]}; %cap = %{$_[1]};
$cap{'if'} = $prn{'iface'} ? $prn{'iface'} : undef;
$cap{'sh'} = $prn{'banner'} ? undef : "";
$cap{'lp'} = $prn{'dhost'} ? "$prn{'dhost'}%$prn{'dport'}" :
	     $prn{'dev'} ? $prn{'dev'} : undef;
$cap{'rm'} = $prn{'rhost'} ? $prn{'rhost'} : undef;
$cap{'rp'} = $prn{'rqueue'} ? $prn{'rqueue'} : undef;
$cap{'mx'} = defined($prn{'msize'}) ? $prn{'msize'} : undef;
$cap{'cm'} = $prn{'desc'} ? $prn{'desc'} : undef;
$rv = $prn{'comment'}."\n" if ($prn{'comment'});
$rv .= $prn{'name'};
foreach $a (@{$prn{'alias'}}) { $rv .= "|$a"; }
$rv .= "|$prn{'desc'}";
foreach $c (keys %cap) {
	if ($c =~ /^(\S\S)(#?)$/ && defined($cap{$c})) {
		if ($cap{$c} eq "") { $rv .= ":$c"; }
		elsif ($cap{$c} =~ /^\d+$/) { $rv .= ":$c#$cap{$c}"; }
		else { $rv .= ":$c=$cap{$c}"; }
		}
	}
$rv .= ":";
return $rv;
}

# list_printcap()
# Returns an array of associative arrays containing printcap fields
sub list_printcap
{
return @list_printcap_cache if (defined(@list_printcap_cache));
local(@rv, @line, @comment, $line, $cont, $lnum, $i);
open(CAP, $config{'printcap_file'});
$lnum = 0;
while($line = <CAP>) {
	$line =~ s/\s+$//g;	# remove trailing spaces
	if ($line =~ /^(##.*)/) {
		# special commented line .. keep it
		$comment[@line] = $line;
		}
	else {
		local $oline = $line;
		$line =~ s/^#.*$//g;    # remove comments
		$line =~ s/^\s+//g;     # remove leading spaces
		if ($line =~ /\S/) {
			$ncont = ($line =~ s/\\$//g);
			if ($cont || $oline =~ /^\s+:/) {
				$line[$#line] .= $line;
				$eline[@line - 1] = $lnum;
				}
			else {
				push(@line, $line);
				$eline[@line - 1] = $sline[@line - 1] = $lnum;
				}
			$cont = $ncont;
			}
		else {
			# only keep comments immediately before an entry
			$comment[@line] = undef;
			}
		}
	$lnum++;
	}
close(CAP);
for($i=0; $i<@line; $i++) {
	local(%cap);
	next if ($line[$i] =~ /^include\s+(\S+)/);
	@w = split(/:+/, $line[$i]);
	$cap{'name'} = $w[0];
	$cap{'line'} = $sline[$i] - ($comment[$i] ? 1 : 0);
	$cap{'eline'} = $eline[$i];
	$cap{'comment'} = $comment[$i];
	foreach $w (@w[1..$#w]) {
		if ($w =~ /^([A-z0-9]+)[=#](.*)$/) { $cap{$1} = $2; }
		elsif ($w =~ /^([A-z0-9]+)$/) { $cap{$w} = ""; }
		}
	push(@rv, \%cap);
	}
@list_printcap_cache = @rv;
return @rv;
}

# apply_status(&details)
# Calls lpc to enable or disable a printer.
# Restarting lpd doesn't seem to be necessary?
sub apply_status
{
local $out;
if ($prn{'enabled'}) {
	$out = &backquote_logged("lpc -P$prn{'name'} start 2>&1");
	}
else {
	$out = &backquote_logged("lpc -P$prn{'name'} stop 2>&1");
	}
if ($prn{'accepting'}) {
	$out = &backquote_logged("lpc -P$prn{'name'} enable 2>&1");
	}
else {
	$out = &backquote_logged("lpc -P$prn{'name'} disable 2>&1");
	}
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
local $out = `lpc lpd all 2>&1`;
return $out =~ /pid\s+(\d+)/ ? $1 : 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("lpd 2>&1");
if ($? || $out =~ /error/i) { &error("<tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
&kill_logged('INT', $_[0]) || &error(&text("estop", $!));
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lpr -P$_[0] $_[1]";
}

if (-r "/dev/lp0") {
	@device_files = ("/dev/lp0", "/dev/lp1",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
else {
	@device_files = ("/dev/lp1", "/dev/lp2",
			 "/dev/ttyS0", "/dev/ttyS1", "/dev/null");
	}
if (-r "/dev/usblp0") {
	push(@device_files, "/dev/usblp0", "/dev/usblp1",
			    "/dev/usblp2", "/dev/usblp3");
	}
elsif (-r "/dev/usb/lp0") {
	push(@device_files, "/dev/usb/lp0", "/dev/usb/lp1",
			    "/dev/usb/lp2", "/dev/usb/lp3");
	}
@device_names = (&text('lprng_paralel', "1"), &text('lprng_paralel', "2"),
		 &text('lprng_serial', "1"), &text('lprng_serial', "2"),
		 $text{'lprng_null'}, &text('linux_usb', 1),
		 &text('linux_usb', 2), &text('linux_usb', 3),
		 &text('linux_usb', 4));


 07070100004904000081a40000000000000002000000013d1fe2ea00000312000000200000000000000000000000000000001a00000003reloc/lpadmin/module.info desc_nl=Afdrukbeheer
desc_ru_SU=õÐÒÁ×ÌÅÎÉÅ ðÒÉÎÔÅÒÁÍÉ
risk=low medium high
desc_ko_KR.euc=ÇÁ¸°ÅÍ °ü¸®
desc_zh_TW.Big5=¦Lªí¾÷ºÞ²zªÌ
desc_pl=Zarz±dzanie drukarkami
desc_de=Druckerverwaltung
name=lpadmin
desc_zh_CN=´òÓ¡»ú¹ÜÀí
desc_pt=Administração de Impressoras
category=hardware
desc_tr=Yazýcý Yönetimi
os_support=solaris redhat-linux mandrake-linux slackware-linux suse-linux debian-linux freebsd hpux unixware macos open-linux turbo-linux openbsd corel-linux irix netbsd msc-linux generic-linux gentoo-linux
desc=Printer Administration
desc_es=Administración de Impresoras
desc_sv=Skrivaradministration
desc_fr=Administration de l'Imprimante
desc_ja_JP.euc=¥×¥ê¥ó¥¿´ÉÍý
depends=0.990
version=0.990
desc_hu=Nyomtatók
desc_ca=Administració d'Impressores
desc_ru_RU=Óïðàâëåíèå Ïðèíòåðàìè
  07070100004905000081a40000000000000002000000013d1fe2d2000026b7000000200000000000000000000000000000002400000003reloc/lpadmin/old-caldera-driver.pl   # caldera-driver.pl
# Functions for printer drivers as generated by COAS

%paper_sizes = ( 'a4', 'A4',
		 'a3', 'A3',
		 'a5', 'A5',
		 'letter', 'US Letter',
		 'legal', 'Legal',
		 'ledger', 'Ledger' );
$driver_dir = "/etc/sysconfig/printers";
$base_driver = "$module_root_directory/base_coas_driver";
$webmin_windows_driver = 1;

# is_windows_driver(path)
# Returns the server, share, username, password, workgroup, program
# if path is a webmin windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path)
# Returns the driver name and dpi if some path is a webmin driver, or undef
sub is_driver
{
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => 'None' };
	}
open(DRV, $_[0]);
local @lines = <DRV>;
close(DRV);
if ($lines[1] =~ /^source ($driver_dir\/\S+)/) {
	# Looks like a caldera driver! Read the sysconfig file
	local %conf;
	&read_env_file($1, \%conf);
	if ($conf{'GSDEVICE'} eq 'NET' || $conf{'GSDEVICE'} eq 'RAW') {
		# Driver isn't even used
		return { 'mode' => 0,
			 'desc' => 'None' };
		}
	elsif ($conf{'GSDEVICE'} eq 'uniprint') {
		# Uniprint driver
		foreach $u (&list_uniprint()) {
			$desc = $u->[1] if ($u->[0] eq $conf{'UPP'});
			}
		$desc =~ s/,.*$//g;
		return { 'mode' => 3,
			 'upp' => $conf{'UPP'},
			 'paper' => $conf{'PAPERSIZE'},
			 'double' => lc($conf{'DOUBLEPAGE'}),
			 'eof' => lc($conf{'SENDEOF'}),
			 'desc' => $desc ? $desc : $conf{'UPP'} };
		}
	else {
		# A caldera printer driver
		open(COAS, $config{'coas_printers'});
		local $plist = &parse_coas(COAS);
		close(COAS);
		local ($desc, $p);
		foreach $p (values %$plist) {
			$desc = $p->{'description'}
				if ($p->{'type'}->{'0'} eq $conf{'GSDEVICE'} &&
				    !$desc);
			}
		return { 'mode' => 1,
			 'gsdevice' => $conf{'GSDEVICE'},
			 'gsname' => $conf{'GSNAME'},
			 'res' => $conf{'RESOLUTION'},
			 'paper' => $conf{'PAPERSIZE'},
			 'eof' => lc($conf{'SENDEOF'}),
			 'double' => lc($conf{'DOUBLEPAGE'}),
			 'gsopts' => $conf{'GSOPTS'},
			 'desc' => $conf{'GSNAME'} ? $conf{'GSNAME'} : $desc };
		}
	}
else {
	# A driver of some kind, but not caldera's
	return { 'mode' => 2,
		 'file' => $_[0],
		 'desc' => $_[0] };
	}
}

# create_windows_driver(&printer, &driver)
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
sub create_driver
{
if ($_[1]->{'mode'} == 0) {
	return undef;
	}
elsif ($_[1]->{'mode'} == 2) {
	return $_[1]->{'file'};
	}
else {
	# Create or update the parameters file
	local %conf;
	&read_env_file("$driver_dir/$_[0]->{'name'}", \%conf);
	$conf{'GSDEVICE'} = $_[1]->{'gsdevice'};
	$conf{'GSNAME'} = $_[1]->{'gsname'};
	$conf{'NAME'} = $_[0]->{'name'};
	$conf{'RESOLUTION'} = $_[1]->{'res'};
	$conf{'PAPERSIZE'} = $_[1]->{'paper'};
	$conf{'DESC'} = $_[0]->{'desc'};
	$conf{'SENDEOF'} = $_[1]->{'eof'};
	$conf{'DOUBLEPAGE'} = $_[1]->{'double'};
	$conf{'GSOPTS'} = $_[1]->{'gsopts'};
	$conf{'UPP'} = $_[1]->{'upp'};
	&write_env_file("$driver_dir/$_[0]->{'name'}", \%conf);

	# Create the standard driver program
	open(DRIVER, $base_driver);
	local @lines = <DRIVER>;
	close(DRIVER);
	$lines[1] = "source $driver_dir/$_[0]->{'name'}\n";
	mkdir("$config{'spool_dir'}/$_[0]->{'name'}", 0755);
	local $drv = "$config{'spool_dir'}/$_[0]->{'name'}/printfilter";
	open(DRV, ">$drv");
	print DRV @lines;
	close(DRV);
	return $drv;
	}
}

# delete_driver(name)
sub delete_driver
{
&delete_webmin_driver($_[0]);
unlink("$driver_dir/$_[0]");
}

# driver_input(&printer, &driver)
sub driver_input
{
local $mode = $_[0]->{'rhost'} ? 0 : $_[1]->{'mode'};
printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$mode == 0 ? 'checked' : '', $text{'caldera_none'};
print "<td>($text{'caldera_nonemsg'})</td> </tr>\n";
printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>",
	$mode == 2 ? 'checked' : '', $text{'caldera_prog'};
printf "<td><input name=program size=40 value='%s'></td> </tr>\n",
	$mode == 2 ? $_[0]->{'iface'} : '';

# Normal driver options
printf "<tr> <td valign=top><input type=radio name=mode value=1 %s> %s</td>\n",
	$mode == 1 ? 'checked' : '', $text{'caldera_coas'};
print "<td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'caldera_printer'}</b></td>\n";
print "<td colspan=3><select size=5 name=gsdevice onChange='setres(0)'>\n";
open(COAS, $config{'coas_printers'});
local $plist = &parse_coas(COAS);
close(COAS);
local ($i, $j, $p, $k, $found, $select_res);
foreach $p (values %$plist) {
	if ($p->{'description'} eq $_[1]->{'gsname'} &&
	    $p->{'type'}->{'0'} ne $_[1]->{'gsdevice'}) {
		# COAS has changed the device
		$_[1]->{'gsname'} = undef;
		}
	}
foreach $k (sort { $a <=> $b } keys %$plist) {
	$p = $plist->{$k};
	next if ($p->{'type'}->{'0'} =~ /NET|RAW/);
	local @thisres = values %{$p->{'resolution'}};
	local $got = ($_[1]->{'gsname'} eq $p->{'description'} &&
		      $_[1]->{'gsdevice'} eq $p->{'type'}->{'0'}) ||
		     (!$_[1]->{'gsname'} && !$found &&
		      $_[1]->{'gsdevice'} eq $p->{'type'}->{'0'});
	printf "<option %s value='%s'>%s\n",
		$got ? 'selected' : '',
		$p->{'description'}.";".join(";", @thisres),
		$p->{'description'};
	$found++ if ($got);
	$select_res = &indexof($_[1]->{'res'}, @thisres) if ($got);
	map { $gotres{$_}++ } @thisres;
	}
print "</select><select name=res size=5>\n";
foreach $r (sort { $a <=> $b} keys %gotres) {
	printf "<option %s>%s\n",
		$_[1]->{'res'} eq $r ? 'selected' : '', $r;
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_eof'}</b></td>\n";
printf "<td><input type=radio name=eof value=true %s> $text{'yes'}\n",
	$_[1]->{'eof'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=eof value=false %s> $text{'no'}</td>\n",
	$_[1]->{'eof'} eq 'true' ? '' : 'checked';

print "<td><b>$text{'caldera_paper'}</b></td> <td><select name=paper>\n";
foreach $p (sort { $a cmp $b } keys %paper_sizes) {
	printf "<option value='%s' %s>%s\n",
		$p, $_[1]->{'paper'} eq $p ? 'selected' : '',
		$paper_sizes{$p};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_double'}</b></td>\n";
printf "<td><input type=radio name=double value=true %s> $text{'yes'}\n",
	$_[1]->{'double'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=double value=false %s> $text{'no'}</td>\n",
	$_[1]->{'double'} eq 'true' ? '' : 'checked';

print "<td><b>$text{'caldera_gsopts'}</b></td>\n";
printf "<td><input name=gsopts size=30 value='%s'></td> </tr>\n",
	$_[1]->{'gsopts'};

print "</table></td></tr>\n";

# Uniprint driver options
printf "<tr> <td valign=top><input type=radio name=mode value=3 %s> %s</td>\n",
	$mode == 3 ? 'checked' : '', $text{'caldera_uniprint'};
print "<td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'caldera_printer'}</b></td>\n";
print "<td colspan=3><select name=uniprint size=5>\n";
foreach $u (&list_uniprint()) {
	printf "<option value=%s %s>%s\n",
		$u->[0], $u->[0] eq $_[1]->{'upp'} ? 'selected' : '', $u->[1];
	}
closedir(DIR);
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_eof'}</b></td>\n";
printf "<td><input type=radio name=ueof value=true %s> $text{'yes'}\n",
	$_[1]->{'eof'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=ueof value=false %s> $text{'no'}</td>\n",
	$_[1]->{'eof'} eq 'true' ? '' : 'checked';

print "<td><b>$text{'caldera_paper'}</b></td> <td><select name=upaper>\n";
foreach $p (sort { $a cmp $b } keys %paper_sizes) {
	printf "<option value='%s' %s>%s\n",
		$p, $_[1]->{'paper'} eq $p ? 'selected' : '',
		$paper_sizes{$p};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'caldera_double'}</b></td>\n";
printf "<td><input type=radio name=udouble value=true %s> $text{'yes'}\n",
	$_[1]->{'double'} eq 'true' ? 'checked' : '';
printf "<input type=radio name=udouble value=false %s> $text{'no'}</td>\n",
	$_[1]->{'double'} eq 'true' ? '' : 'checked';

print "</table></td></tr>\n";

return <<EOF;
<script>
function setres(sel)
{
var idx = document.forms[0].gsdevice.selectedIndex;
var v = new String(document.forms[0].gsdevice.options[idx].value);
var vv = v.split(";");
var res = document.forms[0].res;
res.length = 0;
for(var i=1; i<vv.length; i++) {
	res.options[i-1] = new Option(vv[i], vv[i]);
	}
if (res.length > 0) {
	res.options[sel].selected = true;
	}
}
setres($select_res);
</script>
EOF
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	$in{'program'} =~ /^(\S+)/ && -x $1 ||
		&error(&text('caldera_eprog', $in{'program'}));
	return { 'mode' => 2,
		 'file' => $in{'program'} };
	}
elsif ($in{'mode'} == 1) {
	# Normal ghostscript driver
	open(COAS, $config{'coas_printers'});
	local $plist = &parse_coas(COAS);
	close(COAS);
	$in{'gsdevice'} || &error($text{'caldera_edriver'});
	$in{'gsdevice'} =~ s/;(.*)$//;
	local ($p, $gsdevice);
	foreach $p (values %$plist) {
		$gsdevice = $p->{'type'}->{'0'}
			if ($p->{'description'} eq $in{'gsdevice'});
		}
	$gsdevice eq 'PostScript' || $in{'res'} ||
		&error($text{'caldera_eres'});
	return { 'mode' => 1,
		 'gsdevice' => $gsdevice,
		 'gsname' => $in{'gsdevice'},
		 'res' => $in{'res'},
		 'paper' => $in{'paper'},
		 'eof' => $in{'eof'},
		 'double' => $in{'double'},
		 'gsopts' => $in{'gsopts'} };
	}
else {
	# Uniprint ghostscript driver
	$in{'uniprint'} || &error($text{'caldera_edriver'});
	return { 'mode' => 3,
		 'gsdevice' => 'uniprint',
		 'upp' => $in{'uniprint'},
		 'paper' => $in{'upaper'},
		 'eof' => $in{'ueof'},
		 'double' => $in{'udouble'} };
	}
}

# parse_coas(handle)
sub parse_coas
{
local $h = $_[0];
local (%rv, $_);
while(<$h>) {
	s/#.*$//g;
	s/\r|\n//g;
	if (/^\s*(\S+)\s+{/) {
		# start of a section
		local $k = $1;
		$rv{$k} = &parse_coas($h);
		}
	elsif (/^\s*}/) {
		# end of a section
		last;
		}
	elsif (/^\s*(\S+)\s+(.*)/) {
		# a value in a section
		$rv{$1} = $2;
		}
	}
return \%rv;
}

1;

 07070100004906000081a40000000000000002000000013d1fe2d200001a50000000200000000000000000000000000000001d00000003reloc/lpadmin/openbsd-lib.pl  # freebsd-lib.pl
# Functions for printcap-style printer management

# list_printers()
# Returns a list of known printer names
sub list_printers
{
local($l, @rv);
foreach $l (&list_printcap()) {
	$l->{'name'} =~ /^([^\|]+)/;
	push(@rv, $1);
	}
return @rv;
}

# get_printer(name, [nostatus])
sub get_printer
{
local($l, %prn, @w, @n, $w, %cap, @jobs);
foreach $l (&list_printcap()) {
	@n = split(/\|/, $l->{'name'});
	if ($n[0] eq $_[0]) {
		# found the printer.. get info from printcap
		$prn{'name'} = $n[0];
		if (@n > 2) { $prn{'alias'} = [ @n[1..$#n-1] ]; }
		if (@n > 1) { $prn{'desc'} = $n[$#n]; }
		$prn{'iface'} = $l->{'if'};
		$prn{'banner'} = !defined($l->{'sh'});
		$prn{'dev'} = $l->{'lp'};
		$prn{'rhost'} = $l->{'rm'};
		$prn{'rqueue'} = $l->{'rp'};
		$prn{'msize'} = $l->{'mx'};

		if (!$_[1]) {
			# call lpc to get status
			$out = `lpc status $prn{'name'} 2>&1`;
			$prn{'accepting'} = ($out =~ /queuing is enabled/);
			$prn{'enabled'} = ($out =~ /printing is enabled/);
			}

		return \%prn;
		}
	}
return undef;
}

sub get_jobs
{
local @jobs;
open(LPQ, "lpq -P$_[0] |");
while(<LPQ>) {
	chop;
	if (/^Rank\s+Owner\s+/) { $doneheader++; }
	elsif ($doneheader && /^(\S+)\s+(\S+)\s+(\d+)\s+(.*\S)\s+(\d+)\s+(\S+)$/) {
		local(%job);
		$job{'id'} = $3;
		$job{'user'} = $2;
		$job{'size'} = $5;
		$job{'file'} = $4;
		$job{'printing'} = ($1 eq "active");
		push(@jobs, \%job);
		}
	}
close(LPQ);
return @jobs;
}

sub printer_support
{
return $_[0] !~ /^(why|allow|default|ctype|riface|sysv|direct|rnoqueue|ipp)$/;
}


# create_printer(&details)
# Create a new printer in /etc/printcap
sub create_printer
{
local(%cap);
$cap{'sd'} = "$config{'spool_dir'}/$_[0]->{'name'}";
&lock_file($cap{'sd'});
mkdir($cap{'sd'}, 0755);
&unlock_file($cap{'sd'});
&lock_file($config{'printcap_file'});
open(CAP, ">> $config{'printcap_file'}");
print CAP &make_printcap($_[0], \%cap),"\n";
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# modify_printer(&details)
sub modify_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]->{'name'}) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]->{'name'}' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'},
       $old->{'eline'} - $old->{'line'} + 1, &make_printcap($_[0], $old)."\n");
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
&apply_status($_[0]);
}

# delete_printer(name)
sub delete_printer
{
local(@old, $o, $old, @cap);
&lock_file($config{'printcap_file'});
@old = &list_printcap();
foreach $o (@old) {
	$o->{'name'} =~ /^([^\|]+)/;
	if ($1 eq $_[0]) {
		# found current details
		$old = $o;
		last;
		}
	}
if (!$old) { &error("Printer '$_[0]' no longer exists"); }
open(CAP, $config{'printcap_file'});
@cap = <CAP>;
close(CAP);
splice(@cap, $old->{'line'}, $old->{'eline'} - $old->{'line'} + 1);
open(CAP, "> $config{'printcap_file'}");
print CAP @cap;
close(CAP);
&unlock_file($config{'printcap_file'});
}

# cancel_job(printer, job)
# Calls lprm to remove some job
sub cancel_job
{
local($out);
$out = &backquote_logged("lprm -P$_[0] $_[1] 2>&1");
if ($?) { &error("lprm failed : $out"); }
}

# make_printcap(&details, &old)
# Updates or creates a printcap line
sub make_printcap
{
local(%prn, %cap, $a, $rv, $c);
%prn = %{$_[0]}; %cap = %{$_[1]};
$cap{'if'} = $prn{'iface'} ? $prn{'iface'} : undef;
$cap{'sh'} = $prn{'banner'} ? undef : "";
$cap{'lp'} = $prn{'dev'} ? $prn{'dev'} : undef;
$cap{'rm'} = $prn{'rhost'} ? $prn{'rhost'} : undef;
$cap{'rp'} = $prn{'rqueue'} ? $prn{'rqueue'} : undef;
$cap{'mx'} = defined($prn{'msize'}) ? $prn{'msize'} : undef;
$rv = $prn{'name'};
foreach $a (@{$prn{'alias'}}) { $rv .= "|$a"; }
$rv .= "|$prn{'desc'}";
foreach $c (keys %cap) {
	if (length($c) == 2 && defined($cap{$c})) {
		if ($cap{$c} eq "") { $rv .= ":$c"; }
		elsif ($cap{$c} =~ /^\d+$/) { $rv .= ":$c#$cap{$c}"; }
		else { $rv .= ":$c=$cap{$c}"; }
		}
	}
$rv .= ":";
return $rv;
}

# list_printcap()
# Returns an array of associative arrays containing printcap fields
sub list_printcap
{
return @list_printcap_cache if (defined(@list_printcap_cache));
local(@rv, @line, $line, $cont, $lnum, $i);
open(CAP, $config{'printcap_file'});
$lnum = 0;
while($line = <CAP>) {
	$line =~ s/^#.*$//g;	# remove comments
	$line =~ s/\s+$//g;	# remove trailing spaces
	$line =~ s/^\s+//g;	# remove leading spaces
	if ($line =~ /\S/) {
		$ncont = ($line =~ s/\\$//g);
		if ($cont) {
			$line[$#line] .= $line;
			$eline[@line - 1] = $lnum;
			}
		else {
			push(@line, $line);
			$eline[@line - 1] = $sline[@line - 1] = $lnum;
			}
		$cont = $ncont;
		}
	$lnum++;
	}
close(CAP);
for($i=0; $i<@line; $i++) {
	local(%cap);
	@w = split(/:+/, $line[$i]);
	$cap{'name'} = $w[0];
	$cap{'line'} = $sline[$i];
	$cap{'eline'} = $eline[$i];
	foreach $w (@w[1..$#w]) {
		if ($w =~ /^([A-z0-9]+)[=#](.*)$/) { $cap{$1} = $2; }
		elsif ($w =~ /^([A-z0-9]+)$/) { $cap{$w} = ""; }
		}
	push(@rv, \%cap);
	}
@list_printcap_cache = @rv;
return @rv;
}

# apply_status(&details)
# Calls lpc to enable or disable a printer.
# Restarting lpd doesn't seem to be necessary?
sub apply_status
{
local($out);
$out = `lpc status $prn{'name'} 2>&1`;
if ($prn{'enabled'} && $out !~ /printing is enabled/)
	{ &backquote_logged("lpc up $prn{'name'}"); }
elsif (!$prn{'enabled'} && $out =~ /printing is enabled/)
	{ &backquote_logged("lpc down $prn{'name'}"); }
if ($prn{'accepting'} && $out !~ /queuing is enabled/)
	{ &backquote_logged("lpc enable $prn{'name'}"); }
elsif (!$prn{'accepting'} && $out =~ /queuing is enabled/)
	{ &backquote_logged("lpc disable $prn{'name'}"); }
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
@pid = &find_byname("lpd");
if (@pid) { return $pid[0]; }
return 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("lpd 2>&1");
if ($?) { &error("failed to start lpd : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local @pid = &find_byname("lpd");
&kill_logged('TERM', @pid) || &error("Failed to stop lpd : $!");
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lpr -P$_[0] $_[1]";
}

if ($gconfig{'os_type'} eq 'openbsd') {
	@device_files = ("/dev/lpt0", "/dev/cua00", "/dev/cua01");
	}
else {
	@device_files = ("/dev/lpt0", "/dev/cuaa0", "/dev/cuaa1");
	}
@device_names = ($text{'freebsd_paralel'}, &text('freebsd_serial', "1"),
		 &text('freebsd_serial', "2"));

07070100004907000081a40000000000000002000000013d1fe2d20000259b000000200000000000000000000000000000002200000003reloc/lpadmin/printconf-driver.pl # printconf-driver.pl
# Functions for printer drivers as created by redhat 7.1

$mf_wrapper = "/usr/share/printconf/mf_wrapper";
@overview_files = ( "/usr/share/printconf/foomatic/data/00-overview.foo",
		    "/usr/share/printconf/foomatic/rh-data/00-overview.foo" );
$mfomatic = "/usr/share/printconf/foomatic/mfomatic";
$ps_wrapper= "/usr/share/printconf/util/mf_postscript_wrapper";
$text_filter = "pipe/postscript/ /usr/bin/mpage -b ifdef(`PAGEsize', PAGEsize, Letter) -1 -o -P- -";
$default_filter = "cat/text/";
$smb_driver = "/usr/share/printconf/smbprint";

@paper_sizes = ( 'Letter', 'Legal', 'Executive',
		 'A5', 'A4', 'A3' );

# is_windows_driver(path, &printer)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
local $sd = "$config{'spool_dir'}/$_[1]->{'name'}";
if ($_[1]->{'dev'} eq "|$smb_driver" && -r "$sd/script.cfg") {
	# Looks like a redhat SMB driver
	local %sconfig;
	&read_env_file("$sd/script.cfg", \%sconfig);
	$sconfig{'share'} =~ /^\\\\(.*)\\(.*)$/;
	return { 'server' => $1,
		 'share' => $2,
		 'user' => $sconfig{'user'},
		 'pass' => $sconfig{'password'},
		 'workgroup' => $sconfig{'workgroup'},
		 'program' => $_[0] };
	}
return undef;

}

# is_driver(path, &printer)
# Returns a structure containing the details of a driver
# XXX do we need to support old redhat drivers?
sub is_driver
{
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => "$text{'redhat_none'}" };
	}
local $sd = "$config{'spool_dir'}/$_[1]->{'name'}";
if ($_[0] eq $mf_wrapper && -r "$sd/mf.cfg") {
	# Looks like a new printconf driver
	local %define;
	&read_m4_file("$sd/mf.cfg", \%define);
	if ($define{'PSfilter'} =~
	    /^filter\s+$ps_wrapper.*\s(\S+)-(\d+)\.foo$/) {
		# Has printer driver
		return { 'mode' => 1,
			 'driver' => $1,
			 'id' => $2,
			 'paper' => $define{'PAGEsize'},
			 'make' => $define{'MAKE'},
			 'model' => $define{'MODEL'},
			 'desc' => "$define{'MAKE'} $define{'MODEL'}" };
		}
	elsif ($define{'PSfilter'} =~ /^filter\s+$ps_wrapper\s*$/) {
		# Postscript printer
		return { 'mode' => 1,
			 'postscript' => 1,
			 'paper' => $define{'PAGEsize'},
			 'desc' => 'Postscript printer' };
		}
	elsif ($define{'PSfilter'} eq 'text' &&
	       $define{'TEXTfilter'} eq 'text') {
		# Text only printer
		return { 'mode' => 1,
			 'text' => 1,
			 'desc' => 'Text printer' };
		}
	}

# Some other kind of driver
return { 'mode' => 2,
	 'file' => $_[0],
	 'desc' => $_[0] };
}

# read_m4_file(file, &hash)
sub read_m4_file
{
open(CFG, $_[0]);
while(<CFG>) {
	s/#.*$//; s/\r|\n//g;
	if (/^\s*define\(([A-Za-z0-9\_]+)\s*,\s*`([^']*)'\)/) {
		$_[1]->{$1} = $2;
		}
	elsif (/^\s*define\(([A-Za-z0-9\_]+)\s*,\s*([^\s\)]+)\)/) {
		$_[1]->{$1} = $2;
		}
	}
close(CFG);
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
local $sd = "$config{'spool_dir'}/$_[0]->{'name'}";

# Create the config file and driver
local %sconfig;
&read_file("$sd/script.cfg", \%sconfig);
$sconfig{'share'} = "\\\\$_[1]->{'server'}\\$_[1]->{'share'}";
$sconfig{'hostip'} = $_[1]->{'server'} eq $config{'hostip'} ?
			$sconfig{'hostip'} : undef;
$sconfig{'user'} = $_[1]->{'user'};
$sconfig{'password'} = $_[1]->{'pass'};
$sconfig{'workgroup'} = $_[1]->{'workgroup'};
&lock_file($sd);
mkdir($sd, 0755);
&unlock_file($sd);
&lock_file("$sd/script.cfg");
open(ENV, ">$sd/script.cfg");
print ENV "share='$sconfig{'share'}'\n";
print ENV "hostip=$sconfig{'hostip'}\n";
print ENV "user='$sconfig{'user'}'\n";
print ENV "password='$sconfig{'password'}'\n";
print ENV "workgroup='$sconfig{'workgroup'}'\n";
close(ENV);
&unlock_file("$sd/script.cfg");

# Set the print device
$_[0]->{'dev'} = "|$smb_driver";
return $_[1]->{'program'};
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
local ($prn, $drv) = @_;
if ($drv->{'mode'} == 0) {
	return undef;
	}
elsif ($drv->{'mode'} == 2) {
	return $drv->{'file'};
	}
else {
	# Create the config file
	local $sd = "$config{'spool_dir'}/$_[0]->{'name'}";
	mkdir($sd, 0755);
	&lock_file("$sd/mf.cfg");
	if ($drv->{'text'}) {
		%driver = ( 'MAKE', '',
			    'MODEL', '',
			    'COLOR', '',
			    'PAGEsize', $_[1]->{'paper'},
			    'TEXTfilter', 'text',
			    'PSfilter', 'text',
			    'PCLfilter', 'reject',
			    'PJLfilter', 'reject',
			    'DEFAULTfilter', $default_filter );
		}
	elsif ($drv->{'postscript'}) {
		%driver = ( 'MAKE', '',
			    'MODEL', '',
			    'COLOR', '',
			    'PAGEsize', $_[1]->{'paper'},
			    'TEXTfilter', $text_filter,
			    'PSfilter', "filter $ps_wrapper ",
			    'PCLfilter', 'cat',
			    'PJLfilter', 'cat',
			    'DEFAULTfilter', $default_filter );
		}
	else {
		local $base = "$drv->{'driver'}-$drv->{'id'}.foo";
		local $path;
		foreach $f (@overview_files) {
			local $d = $f; $d =~ s/\/[^\/]+$//;
			$path = "$d/$base" if (-r "$d/$base");
			}
		&system_logged("cp $path $sd");
		&read_m4_file("$sd/mf.cfg", \%driver);
		$driver{'MAKE'} = $drv->{'make'};
		$driver{'MODEL'} = $drv->{'model'};
		$driver{'COLOR'} = 'true';	# ???
		$driver{'PSfilter'} = "filter $ps_wrapper --mfomatic -d $base";
		$driver{'TEXTfilter'} = $text_filter;
		$driver{'PCLfilter'} = 'cat';
		$driver{'PJLfilter'} = 'cat';
		$driver{'PAGEsize'} = $_[1]->{'paper'};
		$driver{'DEFAULTfilter'} = $default_filter;
		}
	open(CFG, ">$sd/mf.cfg");
	foreach $d (keys %driver) {
		if ($driver{$d} =~ /`|'/) {
			print CFG "define($d, $driver{$d})dnl\n";
			}
		else {
			print CFG "define($d, `$driver{$d}')dnl\n";
			}
		}
	close(CFG);
	&unlock_file("$sd/mf.cfg");
	return $mf_wrapper;
	}
}

# delete_driver(name)
sub delete_driver
{
local $sd = "$config{'spool_dir'}/$_[0]";
unlink("$sd/mf.cfg", "$sd/account");
}

# driver_input(&printer, &driver)
sub driver_input
{
local ($prn, $drv) = @_;

printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'redhat_none'};
print "<td>($text{'redhat_nonemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'redhat_prog'};
printf "<td><input name=iface value=\"%s\" size=35></td> </tr>\n",
	$drv->{'mode'} == 2 ? $drv->{'file'} : "";

printf "<tr> <td valign=top><input type=radio name=mode value=1 %s>\n",
	$drv->{'mode'} == 1 ? "checked" : "";
print "$text{'redhat_driver'}</td> <td><table width=100%>";

print "<tr> <td valign=top><b>$text{'redhat_printer2'}</b></td>\n";
print "<td><select name=printer size=10 onChange='setdriver(0)'>\n";
printf "<option value=%s %s>%s\n",
	'text', $drv->{'text'} ? 'selected' : '', "Text printer";
printf "<option value=%s %s>%s\n",
	'postscript', $drv->{'postscript'} ? 'selected' : '',
	"Postscript printer";

local $list = &list_printconf_drivers();
local $select_driver = 0;
foreach $k (sort { lc($a) cmp lc($b) } keys %$list) {
	foreach $m (@{$list->{$k}}) {
		next if (!@{$m->{'drivers'}});
		printf "<option value='%s' %s>%s\n",
			join(";", $m->{'id'}, @{$m->{'drivers'}}),
			$drv->{'make'} eq $k &&
			$drv->{'model'} eq $m->{'model'} ? 'selected' : '',
			"$k $m->{'model'}";
		if ($drv->{'make'} eq $k && $drv->{'model'} eq $m->{'model'}) {
			$select_driver = &indexof($drv->{'driver'},
						  @{$m->{'drivers'}});
			}
		}
	}
print "</select><select name=driver size=10 width=100></select></td> </tr>\n";

local $foundp = 0;
print "<tr> <td><b>$text{'redhat_paper'}</b></td> <td><select name=paper>\n";
print "<option value='' selected>$text{'redhat_none'}\n" if (!$drv->{'paper'});
foreach $p (@paper_sizes) {
	printf "<option %s>%s\n",
		$drv->{'paper'} eq $p ? 'selected' : '', $p;
	$foundp++ if ($drv->{'paper'} eq $p);
	}
printf "<option selected>$drv->{'paper'}\n" if (!$foundp && $drv->{'paper'});
print "</select></td> </tr>\n";

print "</table></td></tr>\n";
return <<EOF;
<script>
function setdriver(sel)
{
var idx = document.forms[0].printer.selectedIndex;
var v = new String(document.forms[0].printer.options[idx].value);
var vv = v.split(";");
var driver = document.forms[0].driver;
driver.length = 0;
for(var i=1; i<vv.length; i++) {
	driver.options[i-1] = new Option(vv[i], vv[i]);
	}
if (driver.length > 0) {
	driver.options[sel].selected = true;
	}
}
setdriver($select_driver);
</script>
EOF
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	(-x $in{'iface'}) || &error(&text('redhat_eprog', $in{'iface'}));
	return { 'mode' => 2,
		 'file' => $in{'iface'} };
	}
else {
	$in{'printer'} || &error($text{'redhat_edriver'});
	if ($in{'printer'} eq 'text') {
		return { 'mode' => 1,
			 'paper' => $in{'paper'},
			 'text' => 1 };
		}
	elsif ($in{'printer'} eq 'postscript') {
		return { 'mode' => 1,
			 'paper' => $in{'paper'},
			 'postscript' => 1 };
		}
	else {
		$in{'driver'} || &error($text{'redhat_edriver'});
		local @p = split(/;/, $in{'printer'});
		local $list = &list_printconf_drivers();
		local ($make, $model);
		foreach $k (keys %$list) {
			foreach $m (@{$list->{$k}}) {
				if ($m->{'id'} == $p[0]) {
					$make = $k;
					$model = $m->{'model'};
					}
				}
			}
		return { 'mode' => 1,
			 'paper' => $in{'paper'},
			 'id' => $p[0],
			 'make' => $make,
			 'model' => $model,
			 'driver' => $in{'driver'} };
		}
	}
}

# list_printconf_drivers()
sub list_printconf_drivers
{
local %rv;
foreach $ov (@overview_files) {
	next if (!-r $ov);
	local $VAR1;
	eval { do $ov };
	next if ($@);
	foreach $k (keys %$VAR1) {
		foreach $m (@{$VAR1->{$k}}) {
			push(@{$rv{$k}}, $m);
			}
		}
	}
return \%rv;
}

 07070100004908000081a40000000000000002000000013d1fe2d20000316b000000200000000000000000000000000000001f00000003reloc/lpadmin/redhat-driver.pl    # redhat-driver.pl
# Functions for printer drivers as created by redhat

%paper_sizes = ( 'a4', 'A4',
		 'a3', 'A3',
		 'letter', 'US Letter',
		 'legal', 'Legal',
		 'ledger', 'Ledger' );
$rhs_drivers_file = "/usr/lib/rhs/rhs-printfilters/printerdb";
$base_driver = "/usr/lib/rhs/rhs-printfilters/master-filter";
$smb_driver = "/usr/lib/rhs/rhs-printfilters//smbprint";
$ncp_driver = "/usr/lib/rhs/rhs-printfilters//ncpprint";

# is_windows_driver(path, %driver)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
local $sd = "$config{'spool_dir'}/$_[1]->{'name'}";
if (($_[0] eq $smb_driver || $_[0] eq "$sd/filter") && -r "$sd/.config" &&
    $_[1]->{'comment'} =~ /^##PRINTTOOL3##\s+SMB/) {
	# Looks like a redhat SMB driver
	local %sconfig;
	&read_env_file("$sd/.config", \%sconfig);
	$sconfig{'share'} =~ /^\\\\(.*)\\(.*)$/;
	return { 'server' => $1,
		 'share' => $2,
		 'user' => $sconfig{'user'},
		 'pass' => $sconfig{'password'},
		 'workgroup' => $sconfig{'workgroup'},
		 'program' => $_[0] eq "$sd/filter" ? "$sd/filter" : undef };
	}
return undef;
}

# is_driver(path, &printer)
# Returns a structure containing the details of a driver
sub is_driver
{
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => "$text{'redhat_none'}" };
	}
local $sd = "$config{'spool_dir'}/$_[1]->{'name'}";
if ($_[0] eq "$sd/filter" &&
    $_[1]->{'comment'} =~ /^##PRINTTOOL3##\s+(LOCAL|REMOTE|SMB)\s+(\S+)\s+(\S+)\s+(\S+)\s+\S+\s+(\S+)\s+(\S+)\s+/) {
	# Looks like a redhat driver ..
	local ($r, $rhs);
	foreach $r (&read_rhs_drivers()) {
		$rhs = $r if ($r->{'name'} eq $5);
		}
	local (%general, %postscript, %textonly);
	&read_env_file("$sd/general.cfg", \%general);
	&read_env_file("$sd/postscript.cfg", \%postscript);
	&read_env_file("$sd/textonly.cfg", \%textonly);
	return { 'mode' => 1,
		 'gsdevice' => $postscript{'GSDEVICE'},
		 'res' => $postscript{'RESOLUTION'},
		 'paper' => $postscript{'PAPERSIZE'},
		 'gsopts' => $postscript{'EXTRA_GS_OPTIONS'},
		 'eof' => lc($textonly{'TEXT_SEND_EOF'}),
		 'nup' => $postscript{'NUP'},
		 'hmargin' => $postscript{'RTLFTMAR'},
		 'vmargin' => $postscript{'TOPBOTMAR'},
		 'crlf' => $textonly{'CRLFTRANS'},
		 'bpp' => $postscript{'COLOR'} =~ /-dBitsPerPixel=(\d+)/ ? $1
				: $postscript{'COLOR'},
		 'rhsname' => $rhs->{'name'},
		 'desc' => $rhs->{'desc'} };
	}
else {
	# Some other kind of driver
	return { 'mode' => 2,
		 'file' => $_[0],
		 'desc' => $_[0] };
	}
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
local $sd = "$config{'spool_dir'}/$_[0]->{'name'}";

# Create the config file and driver
local %sconfig;
&read_env_file("$sd/.config", \%sconfig);
$sconfig{'share'} = "\\\\$_[1]->{'server'}\\$_[1]->{'share'}";
$sconfig{'hostip'} = $_[1]->{'server'} eq $config{'hostip'} ?
			$sconfig{'hostip'} : undef;
$sconfig{'user'} = $_[1]->{'user'};
$sconfig{'password'} = $_[1]->{'pass'};
$sconfig{'workgroup'} = $_[1]->{'workgroup'};
&lock_file($sd);
mkdir($sd, 0755);
&unlock_file($sd);
&lock_file("$sd/.config");
open(ENV, ">$sd/.config");
print ENV "share='$sconfig{'share'}'\n";
print ENV "hostip=$sconfig{'hostip'}\n";
print ENV "user='$sconfig{'user'}'\n";
print ENV "password='$sconfig{'password'}'\n";
print ENV "workgroup='$sconfig{'workgroup'}'\n";
close(ENV);
&unlock_file("$sd/.config");

# Setup the comment and return the driver
local $drv = &is_driver($_[1]->{'program'}, $_[0]);
if ($drv->{'mode'} == 1) {
	local %general;
	&lock_file("$sd/general.cfg");
	&read_env_file("$sd/general.cfg", \%general);
	$general{'PRINTER_TYPE'} = 'SMB';
	&write_env_file("$sd/general.cfg", \%general, 1);
	&unlock_file("$sd/general.cfg");
	$_[0]->{'comment'} =~ s/\s+LOCAL\s+/ SMB /;
	return $_[1]->{'program'};
	}
else {
	$_[0]->{'comment'} = "##PRINTTOOL3## SMB";
	return $smb_driver;
	}
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
local ($prn, $drv) = @_;
if ($drv->{'mode'} == 0) {
	$prn->{'comment'} =
		join(" ", "##PRINTTOOL3##",
			  $prn->{'rhost'} ? "REMOTE" : "LOCAL");
	return undef;
	}
elsif ($drv->{'mode'} == 2) {
	$prn->{'comment'} =
		join(" ", "##PRINTTOOL3##",
			  $prn->{'rhost'} ? "REMOTE" : "LOCAL");
	return $drv->{'file'};
	}
else {
	if (!-d $config{'spool_dir'}) {
		&lock_file($config{'spool_dir'});
		mkdir($config{'spool_dir'}, 0755);
		&unlock_file($config{'spool_dir'});
		&system_logged("chown $config{'iface_owner'} $config{'spool_dir'}");
		}
	local $sd = "$config{'spool_dir'}/$_[0]->{'name'}";

	# create the config files
	local (%general, %postscript, %textonly);
	&lock_file("$sd/general.cfg");
	&lock_file("$sd/postscript.cfg");
	&lock_file("$sd/textonly.cfg");
	&read_env_file("$sd/general.cfg", \%general);
	&read_env_file("$sd/postscript.cfg", \%postscript);
	&read_env_file("$sd/textonly.cfg", \%textonly);
	if (!%general) {
		# setup for the first time..
		%general = ( 'DESIRED_TO', 'ps',
			     'ASCII_TO_PS', 'NO' );
		}
	$general{'PAPERSIZE'} = $drv->{'paper'};
	$general{'PRINTER_TYPE'} = $_[0]->{'rhost'} ? "REMOTE" : "LOCAL";
	$postscript{'GSDEVICE'} = $drv->{'gsdevice'};
	$postscript{'RESOLUTION'} = $drv->{'res'} ? $drv->{'res'} : "NAxNA";
	$postscript{'COLOR'} = $drv->{'bpp'} =~ /^\d+$/ ?
			"-dBitsPerPixel=$drv->{'bpp'}" : $drv->{'bpp'};
	$postscript{'PAPERSIZE'} = $drv->{'paper'};
	$postscript{'EXTRA_GS_OPTIONS'} = $drv->{'gsopts'};
	$postscript{'PS_SEND_EOF'} = uc($drv->{'eof'});
	$postscript{'NUP'} = $drv->{'nup'};
	$postscript{'RTLFTMAR'} = $drv->{'hmargin'};
	$postscript{'TOPBOTMAR'} = $drv->{'vmargin'};
	$textonly{'TEXT_SEND_EOF'} = uc($drv->{'eof'});
	$textonly{'CRLFTRANS'} = $drv->{'crlf'};
	&lock_file($sd);
	mkdir($sd, 0755);
	&unlock_file($sd);
	&write_env_file("$sd/general.cfg", \%general, 1);
	&write_env_file("$sd/postscript.cfg", \%postscript);
	&write_env_file("$sd/textonly.cfg", \%textonly);
	&unlock_file("$sd/general.cfg");
	&unlock_file("$sd/postscript.cfg");
	&unlock_file("$sd/textonly.cfg");

	# create the comment
	$_[0]->{'comment'} =
		join(" ", "##PRINTTOOL3##",
			  $_[0]->{'rhost'} ? "REMOTE" : "LOCAL",
			  $drv->{'gsdevice'},
			  $drv->{'res'} ? $drv->{'res'} : "NAxNA",
			  $drv->{'paper'},
			  "{}",
			  $drv->{'rhsname'},
			  $drv->{'bpp'} ? $drv->{'bpp'} : "Default",
			  $drv->{'crlf'} ? 1 : "{}" );

	# copy the standard filter into place
	&lock_file("$sd/filter");
	unlink("$sd/filter");
	system("cp $base_driver $sd/filter");
	&unlock_file("$sd/filter");
	return "$sd/filter";
	}
}

# delete_driver(name)
sub delete_driver
{
local $sd = "$config{'spool_dir'}/$_[0]";
unlink("$sd/.config", "$sd/filter");
unlink("$sd/general.cfg", "$sd/postscript.cfg", "$sd/textonly.cfg");
}

# driver_input(&printer, &driver)
sub driver_input
{
local ($prn, $drv) = @_;

printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'redhat_none'};
print "<td>($text{'redhat_nonemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'redhat_prog'};
printf "<td><input name=iface value=\"%s\" size=35></td> </tr>\n",
	$drv->{'mode'} == 2 ? $drv->{'file'} : "";

printf "<tr> <td valign=top><input type=radio name=mode value=1 %s>\n",
	$drv->{'mode'} == 1 ? "checked" : "";
print "$text{'redhat_driver'}</td> <td><table width=100%>";

print "<tr> <td valign=top><b>$text{'redhat_printer'}</b></td>\n";
print "<td colspan=3><select size=5 name=gsdevice onChange='setres(0)'>\n";
local @rhs = &read_rhs_drivers();
local ($r, $select_res, $rr);
local $bpp = $drv->{'bpp'};
local $res = $drv->{'res'};
foreach $r (@rhs) {
	local @res;
	if ($r->{'res'} && $r->{'bpp'}) {
		foreach $rr (@{$r->{'res'}}) {
			push(@res, map { "$rr->[0]x$rr->[1], $_->[0] DPI, $_->[1]" } @{$r->{'bpp'}});
			}
		for($i=0; $i<@res; $i++) {
			$select_res = $i if ($res[$i] =~ /^$res, $bpp / &&
					     $drv->{'rhsname'} eq $r->{'name'});
			}
		}
	elsif ($r->{'res'}) {
		@res = map { "$_->[0]x$_->[1]" } @{$r->{'res'}};
		$select_res = &indexof($res, @res)
			if ($drv->{'rhsname'} eq $r->{'name'});
		}
	else {
		@res = map { "$_->[1], $_->[0]" } @{$r->{'bpp'}};
		for($i=0; $i<@res; $i++) {
			$select_res = $i if ($res[$i] =~ / $bpp$/ &&
					     $drv->{'rhsname'} eq $r->{'name'});
			}
		}
	printf "<option value='%s' %s>%s\n",
		$r->{'name'}.";".join(";", @res),
		$drv->{'rhsname'} eq $r->{'name'} ? 'selected' : '',
		$r->{'desc'};
	}
print "</select><select size=5 name=res width=250>\n";
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'redhat_eof'}</b></td>\n";
printf "<td><input type=radio name=eof value=yes %s> $text{'yes'}\n",
	$drv->{'eof'} eq 'yes' ? 'checked' : '';
printf "<input type=radio name=eof value=no %s> $text{'no'}</td>\n",
	$drv->{'eof'} eq 'yes' ? '' : 'checked';

print "<td><b>$text{'redhat_paper'}</b></td> <td><select name=paper>\n";
foreach $p (sort { $a cmp $b } keys %paper_sizes) {
	printf "<option value='%s' %s>%s\n",
		$p, $drv->{'paper'} eq $p ? 'selected' : '',
		$paper_sizes{$p};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'redhat_pages'}</b></td>\n";
print "<td><select name=nup>\n";
foreach $p (1, 2, 4, 8) {
	printf "<option %s>%s\n",
		$drv->{'nup'} == $p ? 'selected' : '', $p;
	}
print "</select></td>\n";

print "<td><b>$text{'redhat_gsopts'}</b></td>\n";
printf "<td><input name=gsopts size=30 value='%s'></td> </tr>\n",
	$drv->{'gsopts'};

print "<tr> <td><b>$text{'redhat_hmargin'}</b></td>\n";
printf "<td><input name=hmargin size=6 value='%s'></td>\n",
	$drv->{'hmargin'} ? $drv->{'hmargin'} : 18;

print "<td><b>$text{'redhat_vmargin'}</b></td>\n";
printf "<td><input name=vmargin size=6 value='%s'></td> </tr>\n",
	$drv->{'vmargin'} ? $drv->{'vmargin'} : 18;

print "<tr> <td><b>$text{'redhat_crlf'}</b></td>\n";
printf "<td><input type=radio name=crlf value=1 %s> $text{'yes'}\n",
	$drv->{'crlf'} ? 'checked' : '';
printf "<input type=radio name=crlf value=0 %s> $text{'no'}</td>\n",
	$drv->{'crlf'} ? '' : 'checked';

print "</table></td></tr>\n";

return <<EOF;
<script>
function setres(sel)
{
var idx = document.forms[0].gsdevice.selectedIndex;
var v = new String(document.forms[0].gsdevice.options[idx].value);
var vv = v.split(";");
var res = document.forms[0].res;
res.length = 0;
for(var i=1; i<vv.length; i++) {
	res.options[i-1] = new Option(vv[i], i-1);
	}
if (res.length > 0) {
	res.options[sel].selected = true;
	}
}
setres($select_res);
</script>
EOF

}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	(-x $in{'iface'}) || &error(&text('redhat_eprog', $in{'iface'}));
	return { 'mode' => 2,
		 'file' => $in{'iface'} };
	}
elsif ($in{'mode'} == 1) {
	$in{'gsdevice'} || &error($text{'redhat_edriver'});
	$in{'hmargin'} =~ /^\d+$/ ||
		&error($text{'redhat_ehmargin'});
	$in{'vmargin'} =~ /^\d+$/ ||
		&error($text{'redhat_evmargin'});
	local $drv = { 'mode' => 1,
		       'eof' => $in{'eof'},
		       'paper' => $in{'paper'},
		       'nup' => $in{'nup'},
		       'gsopts' => $in{'gsopts'},
		       'hmargin' => $in{'hmargin'},
		       'vmargin' => $in{'vmargin'},
		       'crlf' => $in{'crlf'} };

	local ($r, $rhs);
	$in{'gsdevice'} =~ s/;.*$//;
	foreach $r (&read_rhs_drivers()) {
		$rhs = $r if ($r->{'name'} eq $in{'gsdevice'});
		}
	if ($rhs->{'res'} && $rhs->{'bpp'}) {
		defined($in{'res'}) || &error($text{'redhat_eres'});
		local $bc = @{$rhs->{'bpp'}};
		local $rs = $rhs->{'res'}->[$in{'res'} / $bc];
		local $bp = $rhs->{'bpp'}->[$in{'res'} % $bc];
		$drv->{'res'} = $rs->[0].'x'.$rs->[1];
		$drv->{'bpp'} = $bp->[0];
		}
	elsif ($rhs->{'res'}) {
		defined($in{'res'}) || &error($text{'redhat_eres'});
		local $rs = $rhs->{'res'}->[$in{'res'}];
		$drv->{'res'} = $rs->[0].'x'.$rs->[1];
		}
	elsif ($rhs->{'bpp'}) {
		defined($in{'res'}) || &error($text{'redhat_eres'});
		$drv->{'bpp'} = $rhs->{'bpp'}->[$in{'res'}]->[0];
		}
	$drv->{'rhsname'} = $rhs->{'name'};
	$drv->{'gsdevice'} = $rhs->{'gsdriver'};
	return $drv;
	}
}

sub read_rhs_drivers
{
local (@rv, $drv);
open(DRV, $rhs_drivers_file);
while(<DRV>) {
	s/#.*$//g;
	s/\r|\n//g;
	if (/^\s*StartEntry:\s+(.*)/) {
		push(@rv, $drv = { 'name' => $1 });
		}
	elsif (/^\s*GSDriver:\s+(\S+)/) {
		$drv->{'gsdriver'} = $1;
		}
	elsif (/^\s*Description:\s+{(.*)}/) {
		$drv->{'desc'} = $1;
		}
	elsif (/^\s*Resolution:\s+{(\d+)}\s+{(\d+)}/) {
		push(@{$drv->{'res'}}, [ $1, $2 ]);
		}
	elsif (/^\s*BitsPerPixel:\s+{(\S+)}\s+{(.*)}/) {
		push(@{$drv->{'bpp'}}, [ $1, $2 ]);
		}
	}
close(DRV);
return @rv;
}

1;

 07070100004909000081e40000000000000002000000013d1fe2d20000012d000000200000000000000000000000000000001a00000003reloc/lpadmin/restart.cgi #!/usr/local/bin/perl
# restart.cgi
# Stop and start the print scheduler

require './lpadmin-lib.pl';
&ReadParse();
$access{'stop'} == 2 || &error($text{'restart_ecannot'});
&error_setup($text{'restart_err'});
&stop_sched($in{'pid'});
sleep(2);
&start_sched();
&webmin_log("restart");
&redirect("");

   0707010000490a000081e40000000000000002000000013d1fe2d200001450000000200000000000000000000000000000001f00000003reloc/lpadmin/save_printer.cgi    #!/usr/local/bin/perl
# save_printer.cgi
# Create or modify a printer

require './lpadmin-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});

# Check ACL
if ($in{'new'}) {
	$access{'add'} || &error($text{'save_eadd'});
	}
else {
	&can_edit_printer($in{'name'}) ||
		&error($text{'save_eedit'});
	}

# validate and store printer details
$in{'name'} =~ /^[A-z0-9\-\_\.]+$/ ||
	&error(&text('save_ename', $in{'name'}));
if ($in{'new'} && &get_printer($in{'name'})) {
	&error(&text('save_edup', $in{'name'}));
	}
$prn{'name'} = $in{'name'};
$prn{'accepting'} = $in{'accepting'};
if (!$prn{'accepting'}) { $prn{'accepting_why'} = $in{'accepting_why'}; }
$prn{'enabled'} = $in{'enabled'};
if (!$prn{'enabled'}) { $prn{'enabled_why'} = $in{'enabled_why'}; }
$prn{'desc'} = $in{'desc'};
if (&printer_support('allow')) {
	@ul = split(/\s+/, $in{'users'});
	if ($in{'access'} == 0) { $prn{'allow_all'}++; }
	elsif ($in{'access'} == 1) { $prn{'deny_all'}++; }
	else {
		$w = $in{'access'} == 2 ? "allow" : "deny";
		if (!@ul) { &error($text{"save_e$w"}); }
		foreach $u (@ul) {
			if ($u !~ /^\S+\!\S+$/ && !(@dummy=getpwnam($u))) {
				&error(&text('save_euser', $u));
				}
			}
		$prn{$w} = \@ul;
		}
	}
if (&printer_support('ctype')) {
	$prn{'banner'} = $in{'prbanner'};
	if ($in{'ctype_simple'}) { push(@ctype, "simple"); }
	if ($in{'ctype_postscript'}) { push(@ctype, "postscript"); }
	if ($in{'ctype_other'}) {
		push(@ctype, split(/\s+/, $in{'ctype_olist'}));
		}
	&error($text{'save_etype'}) if (!@ctype);
	$prn{'ctype'} = \@ctype;
	}
$prn{'default'} = $in{'default'};
if (&printer_support('msize')) {
	if ($in{'msize_def'} == 2) {
		$prn{'msize'} = 0;
		}
	elsif ($in{'msize_def'} == 0) {
		$in{'msize'} =~ /^\d+$/ ||
			&error($text{'save_emax'});
		$prn{'msize'} = $in{'msize'};
		}
	}
if (&printer_support('alias')) {
	@alias = split(/\s+/, $in{'alias'});
	$prn{'alias'} = \@alias;
	}

if ($in{'new'} || &printer_support('editdest')) {
	if ($in{'webmin'}) {
		$drv = &parse_webmin_driver();
		$dfunc = \&create_webmin_driver;
		}
	else {
		$drv = &parse_driver();
		$dfunc = \&create_driver;
		}

	# validate and store destination section
	$SIG{'ALRM'} = \&connect_time_out;
	if ($in{'dest'} == 0) {
		# printing to some device
		$prn{'dev'} = $in{'dev'};
		$prn{'iface'} = &$dfunc(\%prn, $drv);
		}
	elsif ($in{'dest'} == 1) {
		# printing to some file
		(-r $in{'file'}) || ($in{'file'} =~ /^\|(.*)/ && -r $1) ||
			&error(&text('save_efile', $in{'file'}));
		$prn{'dev'} = $in{'file'};
		$prn{'iface'} = &$dfunc(\%prn, $drv);
		}
	elsif ($in{'dest'} == 2) {
		# printing to a unix host
		gethostbyname($in{'rhost'}) || &check_ipaddress($in{'rhost'}) ||
			&error(&text('save_erhost', $in{'rhost'}));
		$in{'rqueue'} =~ /^[A-z0-9\-\_\.]+$/ ||
			&printer_support('rnoqueue') ||
			&error(&text('save_erqueue', $in{'rqueue'}));
		$prn{'rhost'} = $in{'rhost'};
		$prn{'rqueue'} = $in{'rqueue'};
		$prn{'rtype'} = $in{'rtype'};
		if ($drv->{'mode'} && !&printer_support('riface')) {
			&error($text{'save_eremote'});
			}
		if ($in{'check'} && (!$in{'rtype'} || $in{'rtype'} eq 'bsd')) {
			# Try connecting to the LPR port
			alarm(10);
			&open_socket($prn{'rhost'}, 515, TEST);
			close(TEST);
			alarm(0);
			}
		$prn{'iface'} = &$dfunc(\%prn, $drv);
		}
	elsif ($in{'dest'} == 3) {
		# printing to windows
		$sdrv = { 'server' => $in{'server'},
			 'share' => $in{'share'},
			 'user' => $in{'user'},
			 'pass' => $in{'pass'},
			 'workgroup' => $in{'wgroup'},
			 'program' => &$dfunc(\%prn, $drv) };
		$prn{'dev'} = "/dev/null";
		$prn{'iface'} = $in{'webmin'} ? 
			&create_webmin_windows_driver(\%prn, $sdrv) :
			&create_windows_driver(\%prn, $sdrv);
		if ($in{'check'}) {
			# Try connecting to the SMB port
			alarm(10);
			&open_socket($sdrv->{'server'}, 139, TEST);
			close(TEST);
			alarm(0);
			}
		}
	elsif ($in{'dest'} == 4) {
		# printing to hpnp server
		$hdrv = { 'server' => $in{'hpnp'},
			  'port' => $in{'port'},
			  'program' => &$dfunc(\%prn, $drv) };
		$prn{'iface'} = &create_hpnp_driver(\%prn, $hdrv);
		$prn{'dev'} = "/dev/null";
		}
	elsif ($in{'dest'} == 5) {
		# direct connection printing
		gethostbyname($in{'dhost'}) || &check_ipaddress($in{'dhost'}) ||
			&error(&text('save_edhost', $in{'dhost'}));
		$in{'dport'} =~ /^\d+$/ || &error($text{'save_edport'});
		$prn{'dhost'} = $in{'dhost'};
		$prn{'dport'} = $in{'dport'};
		$prn{'iface'} = &$dfunc(\%prn, $drv);
		if ($in{'check'}) {
			# Try connecting to the port
			alarm(10);
			&open_socket($prn{'dhost'}, $prn{'dport'}, TEST);
			close(TEST);
			alarm(0);
			}
		}
	}

# Create the printer
if ($in{'new'}) {
	&create_printer(\%prn);
	&system_logged("$config{'apply_cmd'} >/dev/null 2>&1 </dev/null")
		if ($config{'apply_cmd'});
	&webmin_log("create", "printer", $prn{'name'}, &log_info(\%prn));
	}
else {
	&modify_printer(\%prn);
	&system_logged("$config{'apply_cmd'} >/dev/null 2>&1 </dev/null")
		if ($config{'apply_cmd'});
	&webmin_log("modify", "printer", $prn{'name'}, &log_info(\%prn));
	}

# Update ACL
if ($in{'new'} && $access{'printers'} ne '*') {
	$access{'printers'} .= " ".$in{'name'};
	&save_module_acl(\%access);
	}
&redirect("");

sub connect_time_out
{
$connect_timed_out++;
}

0707010000490b000081a40000000000000002000000013d1fe2d200001b99000000200000000000000000000000000000001d00000003reloc/lpadmin/solaris-lib.pl  # solaris-lib.pl
# Functions for solaris/hpux-style printer management

# list_printers()
# Returns an array of known printer names
sub list_printers
{
return () if (!&sched_running());
local(@rv, $_);
open(STAT, "lpstat -v |");
while(<STAT>) {
	if (/\s+for\s+(\S+):/i && $1 ne '_default') { push(@rv, $1); }
	}
close(STAT);
return &unique(@rv);
}

# get_printer(name, [nostatus])
# Returns a reference to an associative array of printer details
sub get_printer
{
local($stat, @rv, $body, $avl, $con, $sys, %prn, $_, $out);
$out = `lpstat -l -p $_[0]`;
if ($out =~ /^printer\s+(\S+)\s*(.*)\s+(enabled|disabled)\s+since\s+([^\.]*)\.\s+(.*)\.\n([\000-\177]*)$/) {
	# printer exists
	$prn{'name'} = $1;
	$prn{'enabled'} = $3 eq "enabled";
	$body = $6;
	}
elsif ($out =~ /^printer\s+(\S+)\s+waiting for auto-retry.\s+(\S+)\.\n([\000-\177]*)$/) {
	# printer has some problem
	$prn{'name'} = $1;
	$prn{'enabled'} = 1;
	$body = $3;
	}
else {
	# no printer found
	return undef;
	}
if (!$prn{'enabled'} && $body =~ /^\s+(.*)/) {
	$prn{'enabled_why'} = $1 eq "unknown reason" ? "" : $1;
	}
if ($body =~ /Description: (.*)/) { $prn{'desc'} = $1; }
if ($body =~ /Printer types: (.*)/) { $prn{'ptype'} = $1; }
if ($body =~ /Interface: (.*)/ && $1 ne $config{'default_interface'})
	{ $prn{'iface'} = $1; }
if ($body =~ /Banner not required/) { $prn{'banner'} = 0; }
else { $prn{'banner'} = 1; }
if ($body =~ /Content types: (.*)/) { $prn{'ctype'} = [ split(/[ ,]+/, $1) ]; }
if ($body =~ /Users (allowed|denied):\n((\s+\S+\n)+)/) {
	local(@l);
	@l = grep { $_ } split(/\s+/, $2);
	if ($1 eq "allowed") {
		if ($l[0] eq "(all)") { $prn{'allow_all'} = 1; }
		elsif ($l[0] eq "(none)") { $prn{'deny_all'} = 1; }
		else { $prn{'allow'} = \@l; }
		}
	else { $prn{'deny'} = \@l; }
	}

if (!$_[1]) {
	# request availability
	$avl = `lpstat -a $prn{'name'} 2>&1`;
	if ($avl =~ /^\S+\s+not accepting.*\n\s+(.*)/) {
		$prn{'accepting'} = 0;
		$prn{'accepting_why'} = $1;
		if ($prn{'accepting_why'} eq "unknown reason") {
			$prn{'accepting_why'} = "";
			}
		}
	else { $prn{'accepting'} = 1; }
	}

# request connection
$con = `lpstat -v $prn{'name'} 2>&1`;
if ($con =~ /^device for \S+:\s+(\S+)/) { $prn{'dev'} = $1; }
elsif ($con =~ /^system for \S+:\s+(\S+)\s+\(as printer (\S+)\)/) {
	$prn{'rhost'} = $1;
	$prn{'rqueue'} = $2;
	$sys = `lpsystem -l $prn{'rhost'} 2>&1`;
	$sys =~ /Type:\s+(\S+)/; $prn{'rtype'} = $1;
	}

# Check if this is the default printer
`lpstat -d 2>&1` =~ /destination: (\S+)/;
if ($1 eq $prn{'name'}) { $prn{'default'} = 1; }

return \%prn;
}

# get_jobs(printer)
sub get_jobs
{
local @jobs;
open(STAT, "lpstat -o $_[0] |");
while(<STAT>) {
	if (/^(\S+-(\d+))\s+(\S+)\s+(\d+)\s+(\S+ \d+ \d+:\d+)\s+(.*)/) {
		local(%job, $d, $f, @pf);
		$job{'id'} = $1;
		local $id = $2;
		$job{'user'} = $3;
		$job{'size'} = $4;
		$job{'when'} = $5;
		$job{'printing'} = ($6 =~ /^on /);
		if ($job{'user'} =~ /(\S+)\!/ &&
		    -d ($d="/var/spool/lp/tmp/$1")) {
			opendir(DIR, $d);
			foreach $f (readdir(DIR)) {
				push(@pf, "$d/$f") if ($f =~ /^$id-[1-9]/);
				}
			closedir(DIR);
			$job{'printfile'} = @pf ? \@pf : undef;
			}
		push(@jobs, \%job);
		}
	}
close(STAT);
return @jobs;
}

# printer_support(option)
sub printer_support
{
return $_[0] !~ /^(msize|alias|riface|direct|rnoqueue|ipp)$/;
}

# list_classes()
# Returns an associative array of print classes
sub list_classes
{
local($stat, %rv);
$stat = `lpstat -c 2>&1`;
while($stat =~ /^members of class (\S+):\n((\s+\S+\n)+)([\000-\177]*)$/) {
	$stat = $4;
	$rv{$1} = [ grep { $_ ne "" } split(/\s+/, $2) ];
	}
return \%rv;
}

# create_printer(&details)
# Create a new printer
sub create_printer
{
&modify_printer($_[0]);
}

# modify_printer(&details)
# Change an existing printer
sub modify_printer
{
local(%prn, $cmd, $out);
%prn = %{$_[0]};

# call lpsystem if needed
if ($prn{'rhost'}) {
	$out = &backquote_logged(
		"lpsystem -t $prn{'rtype'} $prn{'rhost'} 2>&1");
	if ($?) { &error("lpsystem failed : <pre>$out</pre>"); }
	}

# call lpadmin
$cmd = "lpadmin -p $prn{'name'} -D \"$prn{'desc'}\"";
if ($prn{'allow_all'}) { $cmd .= " -u allow:all"; }
elsif ($prn{'deny_all'}) { $cmd .= " -u deny:all"; }
elsif ($prn{'allow'}) {
	&system_logged("lpadmin -p $prn{'name'} -u deny:all >/dev/null 2>&1");
	$cmd .= " -u allow:".join(',', @{$prn{'allow'}});
	}
elsif ($prn{'deny'}) {
	&system_logged("lpadmin -p $prn{'name'} -u allow:all >/dev/null 2>&1");
	$cmd .= " -u deny:".join(',', @{$prn{'deny'}});
	}
if ($prn{'dev'}) {
	$cmd .= " -v $prn{'dev'}";
	if ($prn{'iface'}) {
		$cmd .= " -i \"$prn{'iface'}\"";
		}
	else {
		$cmd .= " -i \"$config{'default_interface'}\"";
		}
	if ($prn{'banner'}) { $cmd .= " -o banner"; }
	else { $cmd .= " -o nobanner"; }
	}
else { $cmd .= " -s $prn{'rhost'}!$prn{'rqueue'}"; }
@ctype = @{$prn{'ctype'}};
if (@ctype) { $cmd .= " -I ".join(',' , @ctype); }
$out = &backquote_logged("cd / ; $cmd 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out ($cmd)</pre>"); }

# make the default
if ($prn{'default'}) {
	$out = &backquote_logged("cd / ; lpadmin -d $prn{'name'} 2>&1");
	if ($?) { &error("Failed to set default : <pre>$out</pre>"); }
	}

# enable or disable
if ($prn{'enabled'}) { $cmd = "enable $prn{'name'}"; }
elsif ($prn{'enabled_why'})
	{ $cmd = "enable $prn{'name'} ; disable -r \"$prn{'enabled_why'}\" $prn{'name'}"; }
else { $cmd = "enable $prn{'name'} ; disable $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");

# accepting or rejecting requests
if ($prn{'accepting'}) { $cmd = "accept $prn{'name'}"; }
elsif ($prn{'accepting_why'}) {
	$cmd = "accept $prn{'name'} ; ".
	       "reject -r \"$prn{'accepting_why'}\" $prn{'name'}";
	}
else { $cmd = "accept $prn{'name'} ; reject $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");
}

# delete_printer(name)
# Deletes some existing printer
sub delete_printer
{
local($out);
$out = &backquote_logged("lpadmin -x $_[0] 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }
}

# cancel_job(printer, id)
# Cancels some print job
sub cancel_job
{
local($out);
$out = &backquote_logged("cancel $_[1] 2>&1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }
sleep(1);
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
@pid = &find_byname("lpsched");
if (@pid) { return $pid[0]; }
return 0;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("/usr/lib/lp/lpsched 2>&1");
if ($?) { &error("failed to start lpsched : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local $out = &backquote_logged("lpshut 2>&1");
if ($?) { &error("lpshut failed : <tt>$out</tt>"); }
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lp -d $_[0] $_[1]";
}

@device_files = ("/dev/bpp0", "/dev/ecpp0", "/dev/term/a",
		 "/dev/term/b", "/dev/null");
@device_names = ($text{'solaris_paralel'}, $text{'solaris_uparalel'},
		 &text('solaris_serial', "A"), &text('solaris_serial', "B"),
		 $text{'solaris_null'});

   0707010000490c000081e40000000000000002000000013d1fe2d2000000e4000000200000000000000000000000000000002400000003reloc/lpadmin/sortdrivers-by-drv.pl   #!/usr/local/bin/perl

open(DRIVERS, "drivers");
@dr = <DRIVERS>;
close(DRIVERS);

@dr = sort { $a =~ /^(\S+)\s+.*/; $x = $1; $b =~ /^(\S+)\s+.*/; $x cmp $1; } @dr;
open(DRIVERS, ">drivers");
print DRIVERS @dr;
close(DRIVERS);

0707010000490d000081e40000000000000002000000013d1fe2d2000000f8000000200000000000000000000000000000001d00000003reloc/lpadmin/sortdrivers.pl  #!/usr/local/bin/perl

open(DRIVERS, "drivers");
@dr = <DRIVERS>;
close(DRIVERS);

@dr = sort { $a =~ /^\S+\s+(.*)/; $x = $1; $b =~ /^\S+\s+(.*)/; $x cmp $1; } @dr;
open(DRIVERS, ">drivers");
print DRIVERS grep { $_ ne "\n" } @dr;
close(DRIVERS);

0707010000490e000081e40000000000000002000000013d1fe2d20000017f000000200000000000000000000000000000001800000003reloc/lpadmin/start.cgi   #!/usr/local/bin/perl
# start.cgi
# Start the print scheduler

require './lpadmin-lib.pl';
&ReadParse();
$access{'stop'} == 1 || &error($text{'start_ecannot'});
&error_setup($text{'start_err'});
if ($config{'start_cmd'}) {
	$out = &backquote_logged("($config{'start_cmd'}) 2>&1");
	&error($out) if ($?);
	sleep(3);
	}
else {
	&start_sched();
	}
&webmin_log("start");
&redirect("");

 0707010000490f000081e40000000000000002000000013d1fe2d200000176000000200000000000000000000000000000001700000003reloc/lpadmin/stop.cgi    #!/usr/local/bin/perl
# stop.cgi
# Stop the print scheduler

require './lpadmin-lib.pl';
&ReadParse();
$access{'stop'} == 1 || &error($text{'stop_ecannot'});
&error_setup($text{'stop_err'});
if ($config{'stop_cmd'}) {
	$out = &backquote_logged("($config{'stop_cmd'}) 2>&1");
	&error($out) if ($?);
	}
else {
	&stop_sched($in{'pid'});
	}
&webmin_log("stop");
&redirect("");

  07070100004911000081a40000000000000002000000013d1fe2d2000029ad000000200000000000000000000000000000001d00000003reloc/lpadmin/suse-driver.pl  # suse-driver.pl
# Functions for APS print filters, as used by SUSE

@paper_sizes = ( [ 'a4', 'A4' ],
		 [ 'a4dj', 'A4 inkjet' ],
		 [ 'a3', 'A3' ],
		 [ 'letter', 'US Letter' ],
		 [ 'letterdj', 'US Letter inkjet' ],
		 [ 'note', 'Note' ],
		 [ 'legal', 'Legal' ],
		 [ 'ledger', 'Ledger' ],
		 [ 'a0', 'A0' ],
		 [ 'a1', 'A1' ],
		 [ 'a2', 'A2' ],
		 [ 'a5', 'A5' ],
		 [ 'a6', 'A6' ],
		 [ 'a7', 'A7' ],
		 [ 'a8', 'A8' ],
		 [ 'a9', 'A9' ],
		 [ 'a10', 'A10' ],
		 [ 'b0', 'B0' ],
		 [ 'b1', 'B1' ],
		 [ 'b2', 'B2' ],
		 [ 'b3', 'B3' ],
		 [ 'b4', 'B4' ],
		 [ 'b5', 'B5' ],
		 [ 'archE', 'archE' ],
		 [ 'archD', 'archD' ],
		 [ 'archC', 'archC' ],
		 [ 'archB', 'archB' ],
		 [ 'archA', 'archA' ],
		 [ 'flsa', 'flsa' ],
		 [ 'flse', 'flse' ],
		 [ 'halfletter', 'Half Letter' ],
		 [ '11x17', '11x17' ] );
$apsfilter_dir = "/var/lib/apsfilter/bin";
$apsfilter_prog = "/var/lib/apsfilter/apsfilter";
$apsfilter_config = "/var/lib/apsfilter/template/apsfilterrc.gs_device_name";
$apsfilter_base = "/etc/apsfilterrc";
$driver_dir = "/etc/gs.upp";
$webmin_windows_driver = 1;

open(DRIVERS, "$module_root_directory/drivers");
while(<DRIVERS>) {
	if (/^(\S+)\s+(.*)/) {
		$driver{$1} = $2 if (!$driver{$1});
		}
	}
close(DRIVERS);
open(STP, "stp");
while(<STP>) {
	if (/^(\S+)\s+(.*)/) {
		$stp{$1} = $2 if (!$stp{$1});
		}
	}
close(STP);
foreach $u (&list_uniprint()) {
	$u->[1] =~ s/,.*$//;
	$driver{"$u->[0].upp"} = $u->[1];
	}

# is_windows_driver(path, %driver)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path, &printer)
# Returns a structure containing the details of a driver
sub is_driver
{
if (!$_[0]) {
	return { 'mode' => 0,
		 'desc' => "$text{'suse_none'}" };
	}
elsif ($_[0] =~ /$apsfilter_dir\/([^-]+)-([^-]+)-([^-]+)-([^-]+)-([^-]+)$/) {
	# Looks like an APS driver from suse (old style)
	local $rv =  {	'mode' => 1,
			'device' => $1,
		 	'paper' => $2,
		 	'method' => $3,
			'colour' => $4,
			'res' => $5 };
	local $desc = $driver{$rv->{'device'}} ? $driver{$rv->{'device'}} :
		      $rv->{'device'} =~ /^PS_/ ? "Postscript"
						: $rv->{'device'};
	$rv->{'desc'} = $rv->{'res'} ? "$desc ($rv->{'res'} DPI)" : $desc;
	return $rv;
	}
#elsif ($_[0] =~ /$apsfilter_dir\/([^-]+)--([^-]+)-([^-]+)$/ &&
#       -r "$driver_dir/$1") {
#	# Looks like a new-style APS suse driver
#	local $rv = { 'mode' => 3,
#		      'method' => $2 };
#	open(GS, "$driver_dir/$1");
#	while(<GS>) {
#		s/\r|\n//g;
#		if (/^-sDEVICE=(\S+)/) { $rv->{'device'} = $1; }
#		elsif (/^-sPAPERSIZE=(\S+)/) { $rv->{'paper'} = $1; }
#		elsif (/^-sCOLOR=(\S+)/) { $rv->{'colour'} = $1; }
#		elsif (/^-r(\S+)/) { $rv->{'res'} = $1; }
#		elsif (/^-supModel="(.*)"/) { $rv->{'desc'} = $1; }
#		elsif (/^-sModel="(.*)"/) { $rv->{'model'} = $1; }
#		elsif (/^\@(\S+\.upp)/) { $rv->{'device'} = $1; }
#		else { push(@{$rv->{'extra'}}, $_); }
#		}
#	close(GS);
#	return $rv;
#	}
elsif ($_[0] =~ /$apsfilter_dir\/([^-]+)-([^-]+)-([^-]+)$/) {
	# Null APS driver?
	return { 'mode' => 0,
		 'desc' => 'None' };
	}
else {
	# Some other kind of driver
	return { 'mode' => 2,
		 'file' => $_[0],
		 'desc' => $_[0] };
	}
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
local ($prn, $drv) = @_;
if ($drv->{'mode'} == 0) {
	return undef;
	}
elsif ($drv->{'mode'} == 2) {
	return $drv->{'file'};
	}
else {
	local $device;
	if ($drv->{'device'} eq 'ps') {
		$device = "PS_$drv->{'res'}dpi";
		}
	else {
		$device = $drv->{'device'};
		}
	local $aps = "$apsfilter_dir/$device-$drv->{'paper'}-".
		     "$drv->{'method'}-$drv->{'colour'}-$drv->{'res'}";
	&lock_file($aps);
	symlink($apsfilter_prog, $aps);
	&unlock_file($aps);
	if (!-r "$apsfilter_base.$device") {
		&lock_file("$apsfilter_base.$device");
		local $conf = `cat $apsfilter_config`;
		$conf =~ s/<gs_device_name>/$device/g;
		open(CONF, ">$apsfilter_base.$device");
		print CONF $conf;
		close(CONF);
		&unlock_file("$apsfilter_base.$device");
		}
	return $aps;
	}
}

# delete_driver(name)
sub delete_driver
{
}

# driver_input(&printer, &driver)
sub driver_input
{
local ($prn, $drv) = @_;
local ($found, $d);

printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$drv->{'mode'} == 0 ? "checked" : "", $text{'suse_none'};
print "<td>($text{'suse_nonemsg'})</td> </tr>\n";

printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>\n",
	$drv->{'mode'} == 2 ? "checked" : "", $text{'suse_prog'};
printf "<td><input name=iface value=\"%s\" size=35></td> </tr>\n",
	$drv->{'mode'} == 2 ? $drv->{'file'} : "";

if ($drv->{'mode'} == 2 || 1) {
	# Show input for old-style suse printer
	printf "<tr> <td valign=top><input type=radio name=mode value=1 %s>\n",
		$drv->{'mode'} == 1 ? "checked" : "";
	print "$text{'suse_driver'}</td> <td><table width=100%>";

	print "<tr> <td valign=top><b>$text{'suse_printer'}</b></td>\n";
	print "<td colspan=3><select size=10 name=device>\n";
	printf "<option value=ps %s>Postscript\n",
		$drv->{'device'} =~ /^PS_/ ? 'selected' : '';
	$found++ if ($drv->{'device'} =~ /^PS_/);
	foreach $d (&list_uniprint()) {
		local $u = "$d->[0].upp";
		printf "<option value=%s %s>%s\n",
			$u, $drv->{'device'} eq $u ? 'selected' : '', $d->[1];
		$found++ if ($drv->{'device'} eq $u);
		}
	local $out = `$config{'gs_path'} -help 2>&1`;
	$out =~ /Available devices:\n((\s+.*\n)+)/i;
	foreach $d (split(/\s+/, $1)) {
		if ($driver{$d}) {
			printf "<option value=%s %s>%s\n",
				$d, $drv->{'device'} eq $d ? 'selected' : '',
				$driver{$d};
			$found++ if ($drv->{'device'} eq $d);
			}
		}
	print "<option selected value=$drv->{'device'}>$drv->{'device'}\n"
		if (!$found && $drv->{'device'});
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'suse_res'}</b></td>\n";
	print "<td><input name=res size=8 value='$drv->{'res'}'></td>\n";

	print "<td><b>$text{'suse_colour'}</b></td>\n";
	printf "<td><input name=colour type=radio value=color %s> %s\n",
		$drv->{'colour'} eq 'mono' ? '' : 'checked', $text{'yes'};
	printf "<input name=colour type=radio value=color %s> %s</td> </tr>\n",
		$drv->{'colour'} eq 'mono' ? 'checked' : '', $text{'no'};

	print "<tr> <td><b>$text{'suse_paper'}</b></td>\n";
	print "<td><select name=paper>\n";
	foreach $p (@paper_sizes) {
		printf "<option value=%s %s>%s\n",
			$p->[0], $drv->{'paper'} eq $p->[0] ? 'selected' : '',
			$p->[1];
		}
	print "</select></td>\n";

	print "<td><b>$text{'suse_method'}</b></td>\n";
	printf "<td><input type=radio name=method value=auto %s> %s\n",
		$drv->{'method'} eq 'ascii' ? '' : 'checked',
		$text{'suse_auto'};
	printf "<input type=radio name=method value=ascii %s> %s</td> </tr>\n",
		$drv->{'method'} eq 'ascii' ? 'checked' : '',
		$text{'suse_ascii'};

	print "</table></td> </tr>\n";
	}
else {
	# Show input for new-style suse printer (NOT DONE YET!)
	printf "<tr> <td valign=top><input type=radio name=mode value=3 %s>\n",
		$drv->{'mode'} == 3 ? "checked" : "";
	print "$text{'suse_yast2'}</td> <td><table width=100%>";

	print "<tr> <td valign=top><b>$text{'suse_printer'}</b></td>\n";
	print "<td colspan=3><select size=10 name=device>\n";
	printf "<option value=ps %s>Postscript\n",
		$drv->{'device'} eq 'PS' ? 'selected' : '';
	$found++ if ($drv->{'device'} eq 'PS');
	local $out = `$config{'gs_path'} -help 2>&1`;
	$out =~ /Available devices:\n((\s+.*\n)+)/i;
	foreach $d (split(/\s+/, $1)) {
		if ($d ne 'stp' && $driver{$d}) {
			printf "<option value=%s %s>%s\n",
				$d, $drv->{'device'} eq $d ? 'selected' : '',
				$driver{$d};
			$found++ if ($drv->{'device'} eq $d);
			}
		}
	foreach $d (&list_uniprint()) {
		local $u = "$d->[0].upp";
		printf "<option value=%s %s>%s\n",
			$u, $drv->{'device'} eq $u ? 'selected' : '', $d->[1];
		$found++ if ($drv->{'device'} eq $u);
		}
	foreach $s (sort { $a cmp $b } keys %stp) {
		printf "<option value=%s.stp %s>%s\n",
			$s, $drv->{'device'} eq 'stp' &&
			    $drv->{'model'} eq $s ? 'selected' : '', $stp{$s};
		$found++ if ($drv->{'device'} eq 'stp' &&
			     $drv->{'model'} eq $s);
		}
	print "<option selected value=$drv->{'device'}>$drv->{'device'}\n"
		if (!$found && $drv->{'device'});
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'suse_colour'}</b></td>\n";
	printf "<td><input name=colour type=radio value=color %s> %s\n",
		$drv->{'colour'} eq 'mono' ? '' : 'checked', $text{'yes'};
	printf "<input name=colour type=radio value=color %s> %s</td>\n",
		$drv->{'colour'} eq 'mono' ? 'checked' : '', $text{'no'};

	print "<td><b>$text{'suse_paper'}</b></td>\n";
	print "<td><select name=paper>\n";
	foreach $p (@paper_sizes) {
		printf "<option value=%s %s>%s\n",
			$p->[0], $drv->{'paper'} eq $p->[0] ? 'selected' : '',
			$p->[1];
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'suse_res'}</b></td>\n";
	printf "<td><input type=radio name=res_def value=1 %s> %s\n",
		$drv->{'res'} ? '' : 'checked', $text{'suse_auto'};
	printf "<input type=radio name=res_def value=0 %s>\n",
		$drv->{'res'} ? 'checked' : '';
	print "<input name=res size=8 value='$drv->{'res'}'></td>\n";

	print "<td><b>$text{'suse_method'}</b></td>\n";
	print "<td><select name=method>\n";
	foreach $m ('auto', 'ascii', 'raw') {
		printf "<option value=%s %s>%s\n",
			$m, $drv->{'method'} eq $m ? 'selected' : '',
			$text{"suse_$m"};
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'suse_extra'}</b></td>\n";
	print "<td colspan=3><input name=extra size=50 value='",
	      join(" ", @{$drv->{'extra'}}),"'></td> </tr>\n";

	print "</table></td> </tr>\n";
	}
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
if ($in{'mode'} == 0) {
	return { 'mode' => 0 };
	}
elsif ($in{'mode'} == 2) {
	(-x $in{'iface'}) || &error(&text('suse_eprog', $in{'iface'}));
	return { 'mode' => 2,
		 'file' => $in{'iface'} };
	}
elsif ($in{'mode'} == 3) {
	# New suse printer (NOT DONE YET!)
	# All the other odd files created by yast2 need to be supported
	$in{'device'} || &error($text{'suse_edriver'});
	$in{'res_def'} || $in{'res'} =~ /^\d+$/ ||
		$in{'res'} =~ /^\d+x\d+$/ || &error($text{'suse_eres'});
	}
elsif ($in{'mode'} == 1) {
	# Old-style suse printer
	$in{'device'} || &error($text{'suse_edriver'});
	$in{'res'} =~ /^\d+$/ || &error(&text('suse_eres', $in{'res'}));
	return { 'mode' => 1,
		 'device' => $in{'device'},
		 'paper' => $in{'paper'},
		 'method' => $in{'method'},
		 'colour' => $in{'colour'},
		 'res' => $in{'res'} };
	}
}

1;

   07070100004912000081e40000000000000002000000013d1fe2d20000035e000000200000000000000000000000000000001c00000003reloc/lpadmin/test_form.cgi   #!/usr/local/bin/perl
# test_form.cgi
# Display options for printing a test page

require './lpadmin-lib.pl';
&ReadParse();
$access{'test'} || &error($text{'test_ecannot'});
&header($text{'test_title'}, "");
print "<hr>\n";

print "<form action=test_print.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print &text('test_desc', "<tt>$in{'name'}</tt>"),"<p>\n";

print "<input type=radio name=mode value=0 checked> $text{'test_0'}<br>\n";
print "<input type=radio name=mode value=1> $text{'test_1'}<br>\n";
print "<input type=radio name=mode value=2> $text{'test_2'}<br>\n";
print "<input type=radio name=mode value=3> $text{'test_3'} ",
      "<input type=file name=file><p>\n";

print "<input type=submit value='$text{'test_print'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

  07070100004913000081e40000000000000002000000013d1fe2d200000423000000200000000000000000000000000000001d00000003reloc/lpadmin/test_print.cgi  #!/usr/local/bin/perl
# test_print.cgi
# Print one of the test pages

require './lpadmin-lib.pl';
&foreign_require("proc", "proc-lib.pl");
&ReadParseMime();
$access{'test'} || &error($text{'test_ecannot'});
&header($text{'test_title'}, "");
print "<hr>\n";

if ($in{'mode'} == 0) {
	$file = "bw.ps";
	}
elsif ($in{'mode'} == 1) {
	$file = "colour.ps";
	}
elsif ($in{'mode'} == 2) {
	$file = "ascii.txt";
	}
else {
	$file = &tempname();
	open(FILE, ">$file");
	print FILE $in{'file'};
	close(FILE);
	}

$cmd = &print_command($in{'name'}, $file);
print &text('test_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
if ($access{'user'} eq '*') {
	open(CMD, "$cmd 2>&1 |");
	}
elsif ($access{'user'}) {
	open(CMD, "su '$access{'user'}' -c '$cmd' 2>&1 |");
	}
else {
	open(CMD, "su '$remote_user' -c '$cmd' 2>&1 |");
	}
while(<CMD>) {
	print;
	}
close(CMD);
print "</pre>\n";

if ($?) { print "<b>$text{'test_failed'}</b> <p>\n"; }
else { print "$text{'test_ok'} <p>\n"; }

unlink($file) if ($in{'mode'} == 3);
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004914000081a40000000000000002000000013d1fe2d200001d07000000200000000000000000000000000000001e00000003reloc/lpadmin/unixware-lib.pl # unixware-lib.pl
# Functions for UnixWare style printer management

$default_interface = "/usr/lib/lp/model/standard";

# list_printers()
# Returns an array of known printer names
sub list_printers
{
local(@rv, $_);
open(STAT, "lpstat -p |");
while(<STAT>) {
	if (/^printer\s+(\S+)/) { push(@rv, $1); }
	}
close(STAT);
return &unique(@rv);
}

# get_printer(name, [nostatus])
# Returns a reference to an associative array of printer details
sub get_printer
{
local($stat, @rv, $body, $avl, $con, $sys, %prn, @jobs, $_, $out);
$out = `lpstat -l -p $_[0]`;
if ($out =~ /^printer\s+(\S+)\s*(.*)\s+(enabled|disabled)\s+since\s+([^\.]*)\.\s+(.*)\.\n([\000-\177]*)$/) {
	# printer exists
	$prn{'name'} = $1;
	$prn{'enabled'} = $3 eq "enabled";
	$body = $6;
	}
elsif ($out =~ /^printer\s+(\S+)\s+waiting for auto-retry.\s+(\S+)\.\n([\000-\177]*)$/) {
	# printer has some problem
	$prn{'name'} = $1;
	$prn{'enabled'} = 1;
	$body = $3;
	}
else {
	# no printer found
	return undef;
	}
if (!$prn{'enabled'} && $body =~ /^\s+(.*)/) {
	$prn{'enabled_why'} = $1 eq "unknown reason" ? "" : $1;
	}
if ($body =~ /Description: (.*)/) { $prn{'desc'} = $1; }
if ($body =~ /Printer types: (.*)/) { $prn{'ptype'} = $1; }
if ($body =~ /Interface: (.*)/) { $prn{'iface'} = $1; }
if ($body =~ /Banner not required/) { $prn{'banner'} = 0; }
else { $prn{'banner'} = 1; }
if ($body =~ /Content types: (.*)/) { $prn{'ctype'} = [ split(/[ ,]+/, $1) ]; }
if ($body =~ /Users (allowed|denied):\n((\s+\S+\n)+)/) {
	local(@l);
	@l = grep { $_ } split(/\s+/, $2);
	if ($1 eq "allowed") {
		if ($l[0] eq "(all)") { $prn{'allow_all'} = 1; }
		elsif ($l[0] eq "(none)") { $prn{'deny_all'} = 1; }
		else { $prn{'allow'} = \@l; }
		}
	else { $prn{'deny'} = \@l; }
	}

if (!$_[1]) {
	# request availability
	$avl = `lpstat -a $prn{'name'} 2>&1`;
	if ($avl =~ /^\S+\s+not accepting.*\n\s+(.*)/) {
		$prn{'accepting'} = 0;
		$prn{'accepting_why'} = $1;
		if ($prn{'accepting_why'} eq "unknown reason") {
			$prn{'accepting_why'} = "";
			}
		}
	else { $prn{'accepting'} = 1; }
	}

# request connection
$con = `lpstat -v $prn{'name'} 2>&1`;
if ($con =~ /^device for \S+:\s+(\S+)/) { $prn{'dev'} = $1; }
elsif ($con =~ /^system for \S+:\s+(\S+)\s+\(as printer (\S+)\)/) {
	$prn{'rhost'} = $1;
	$prn{'rqueue'} = $2;
	$sys = `lpsystem -l $prn{'rhost'} 2>&1`;
	$sys =~ /Type:\s+(\S+)/; $prn{'rtype'} = $1;
	}

# Check if this is the default printer
`lpstat -d 2>&1` =~ /destination: (\S+)/;
if ($1 eq $prn{'name'}) { $prn{'default'} = 1; }

return \%prn;
}

sub get_jobs
{
local @jobs;

# Get used lang
local $lang = $gconfig{'lang'};

# Added 'env LANG=$lang'
open(STAT, "env LANG=$lang lpstat -o $_[0] |");
while(<STAT>) {
# original line which does not work
#	if (/^(\S+-\d+)\s+(\S+)\s+(\d+)\s+(\S+ \d+ \d+:\d+)\s+(.*)/) {
#

# lang=es
  if ( $lang eq 'es' ) {
	if (/^(\S+-\d+)\s+(\S+)\s+(\d+)\s+(\S+ \d+ \S+ \S+ \d+ \d+:\d+:\d+)\s+(.*)/) {
		local(%job);
		$job{'id'} = $1;
		$job{'user'} = $2;
		$job{'size'} = $3;
		$job{'when'} = $4;
		$job{'printing'} = ($5 =~ /^en /);
		push(@jobs, \%job);
	}
  }
# lang=C (us)
  elsif ( $lang eq 'us' ) {
	if (/^(\S+-\d+)\s+(\S+)\s+(\d+)\s+(\S+ \S+ \d+ \d+:\d+:\d+ \S+ \d+)\s+(.*)/) {
		local(%job);
		$job{'id'} = $1;
		$job{'user'} = $2;
		$job{'size'} = $3;
		$job{'when'} = $4;
		$job{'printing'} = ($5 =~ /^on /);
		push(@jobs, \%job);
	}
  }
# short string (any language)
  elsif (/^(\S+-\d+)\s+(\S+)\s+(\d+)\s+\s+(.*)/) {
		local(%job);
		$job{'id'} = $1;
		$job{'user'} = $2;
		$job{'size'} = $3;
		$job{'when'} = $4;
		$job{'printing'} = ($5 =~ /^on /);
		push(@jobs, \%job);
		}
  }
close(STAT);
return @jobs;
}

# printer_support(option)
sub printer_support
{
return $_[0] !~ /^(msize|alias|riface|direct|rnoqueue|ipp)$/;
}

# list_classes()
# Returns an associative array of print classes
sub list_classes
{
local($stat, %rv);
$stat = `lpstat -c 2>&1`;
while($stat =~ /^members of class (\S+):\n((\s+\S+\n)+)([\000-\177]*)$/) {
	$stat = $4;
	$rv{$1} = [ grep { $_ ne "" } split(/\s+/, $2) ];
	}
return \%rv;
}

# create_printer(&details)
# Create a new printer
sub create_printer
{
&modify_printer($_[0]);
}

# modify_printer(&details)
# Change an existing printer
sub modify_printer
{
local(%prn, $cmd, $out);
%prn = %{$_[0]};

# call lpsystem if needed
if ($prn{'rhost'}) {
	$out = &backquote_logged(
		"lpsystem -t $prn{'rtype'} $prn{'rhost'} 2>&1");
	if ($?) { &error("lpsystem failed : <pre>$out</pre>"); }
	}

# call lpadmin
$cmd = "lpadmin -p $prn{'name'} -D \"$prn{'desc'}\"";
if ($prn{'allow_all'}) { $cmd .= " -u allow:all"; }
elsif ($prn{'deny_all'}) { $cmd .= " -u deny:all"; }
elsif ($prn{'allow'}) {
	system("lpadmin -p $prn{'name'} -u deny:all >/dev/null 2>&1");
	$cmd .= " -u allow:".join(',', @{$prn{'allow'}});
	}
elsif ($prn{'deny'}) {
	system("lpadmin -p $prn{'name'} -u allow:all >/dev/null 2>&1");
	$cmd .= " -u deny:".join(',', @{$prn{'deny'}});
	}
if ($prn{'dev'}) {
	$cmd .= " -v $prn{'dev'}";
	$cmd .= " -i \"$prn{'iface'}\"";
	if ($prn{'banner'}) { $cmd .= " -o banner"; }
	else { $cmd .= " -o nobanner"; }
	}
else { $cmd .= " -s $prn{'rhost'}!$prn{'rqueue'}"; }
@ctype = @{$prn{'ctype'}};
if (@ctype) { $cmd .= " -I ".join(',' , @ctype); }
$out = &backquote_logged("$cmd 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }

# make the default
if ($prn{'default'}) {
	$out = &backquote_logged("lpadmin -d $prn{'name'} 2>&1");
	if ($?) { &error("Failed to set default : <pre>$out</pre>"); }
	}

# enable or disable
if ($prn{'enabled'}) { $cmd = "enable $prn{'name'}"; }
elsif ($prn{'enabled_why'})
	{ $cmd = "enable $prn{'name'} ; disable -r \"$prn{'enabled_why'}\" $prn{'name'}"; }
else { $cmd = "enable $prn{'name'} ; disable $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");

# accepting or rejecting requests
if ($prn{'accepting'}) { $cmd = "accept $prn{'name'}"; }
elsif ($prn{'accepting_why'})
	{ $cmd = "accept $prn{'name'} ; reject -r \"$prn{'accepting_why'}\" $prn{'name'}"; }
else { $cmd = "accept $prn{'name'} ; reject $prn{'name'}"; }
$out = &backquote_logged("$cmd 2>&1");
}

# delete_printer(name)
# Deletes some existing printer
sub delete_printer
{
local($out);
$out = &backquote_logged("lpadmin -x $_[0] 2>&1");
if ($?) { &error("lpadmin failed : <pre>$out</pre>"); }
}

# cancel_job(printer, id)
# Cancels some print job
sub cancel_job
{
local($out);
$out = &backquote_logged("cancel $_[1] 2>&1");
if ($?) { &error("cancel failed : <pre>$out</pre>"); }
sleep(1);
}

# sched_running()
# Returns the pid if lpsched is running, 0 if not, -1 if cannot be stopped
sub sched_running
{
#@pid = &find_byname("lpsched");
#if (@pid) { return $pid[0]; }
#return 0;
return -1;
}

# start_sched()
# Start lpsched
sub start_sched
{
local $out = &backquote_logged("/usr/lib/lp/lpsched 2>&1");
if ($?) { &error("failed to start lpsched : <tt>$out</tt>"); }
}

# stop_sched(pid)
# Stop the running lpsched process
sub stop_sched
{
local $out = &backquote_logged("lpshut 2>&1");
if ($?) { &error("lpshut failed : <tt>$out</tt>"); }
}

# print_command(printer, file)
# Returns the command to print some file on some printer
sub print_command
{
return "lp -d $_[0] $_[1]";
}

@device_files = ("/dev/lp0", "/dev/lp1", "/dev/lp2",
		 "/dev/tty1a", "/dev/tty2a", "/dev/null");
@device_names = (&text('unixware_paralel', "0"), &text('unixware_paralel', "1"),
		 &text('unixware_paralel', "2"), &text('unixware_serial', "A"),
		 &text('unixware_serial', "B"),	$text{'unixware_null'});

 07070100004915000081e40000000000000002000000013d1fe2d20000036d000000200000000000000000000000000000001b00000003reloc/lpadmin/view_job.cgi    #!/usr/local/bin/perl
# view_job.cgi
# View an existing print job

require './lpadmin-lib.pl';
&ReadParse();

@jobs = &get_jobs($in{'name'});
foreach $j (@jobs) {
	$job = $j if ($j->{'id'} eq $in{'id'});
	}
($ju = $j->{'user'}) =~ s/\!.*$//;
&can_edit_jobs($in{'name'}, $ju) || &error($text{'view_ecannot'});
if ($job) {
	# print job exists.. dump it
	@pf = @{$job->{'printfile'}};
	$type = `file $pf[0]`;
	if ($type =~ /postscript/i) {
		print "Content-type: application/postscript\n";
		}
	elsif ($type =~ /text/) {
		print "Content-type: text/plain\n";
		}
	else {
		print "Content-type: application/octet-stream\n";
		}
	foreach $pf (@pf) {
		@st = stat($pf);
		$total += $st[7];
		}
	print "Content-length: $total\n";
	print "\n";
	foreach $pf (@pf) {
		open(FILE, $pf);
		while(<FILE>) { print; }
		close(FILE);
		}
	}
else {
	&error(&text('view_egone', $in{'id'}));
	}

   07070100004916000081a40000000000000002000000013d1fe2d200000429000000200000000000000000000000000000001f00000003reloc/lpadmin/webmin-driver.pl    # webmin-driver.pl
# Functions for webmin print and smb drivers.
# These are all just calls to the standard driver functions.

$webmin_windows_driver = 1;
$webmin_print_driver = 1;

# is_windows_driver(path)
# Returns a driver structure if some path is a windows driver
sub is_windows_driver
{
return &is_webmin_windows_driver(@_);
}

# is_driver(path)
# Returns a structure containing the details of a driver
sub is_driver
{
return &is_webmin_driver(@_);
}

# create_windows_driver(&printer, &driver)
# Creates a new windows printer driver
sub create_windows_driver
{
return &create_webmin_windows_driver(@_);
}

# create_driver(&printer, &driver)
# Creates a new local printer driver and returns the path
sub create_driver
{
return &create_webmin_driver(@_);
}

# delete_driver(name)
sub delete_driver
{
&delete_webmin_driver(@_);
}

# driver_input(&printer, &driver)
sub driver_input
{
return &webmin_driver_input(@_);
}

# parse_driver()
# Parse driver selection from %in and return a driver structure
sub parse_driver
{
return &parse_webmin_driver(@_);
}

1;

   07070100008ddd000041ed0000000000000001000000043d1ffa8200000000000000200000000000000000000000000000000a00000003reloc/lvm 07070100008dde000081e40000000000000002000000013d1fe2e9000013ec000000200000000000000000000000000000001600000003reloc/lvm/edit_lv.cgi #!/usr/local/bin/perl
# Display a form for editing an existing logical volume

require './lvm-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();
($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
@lvs = &list_logical_volumes($in{'vg'});

if ($in{'lv'}) {
	($lv) = grep { $_->{'name'} eq $in{'lv'} } @lvs;
	&header($lv->{'is_snap'} ? $text{'lv_edit_snap'}
				 : $text{'lv_edit'}, "");
	@stat = &device_status($lv->{'device'});
	}
else {
	&header($in{'snap'} ? $text{'lv_create_snap'} : $text{'lv_create'}, "");
	$lv = { 'perm' => 'rw',
		'alloc' => 'n',
		'is_snap' => $in{'snap'},
	 	'size' => ($vg->{'pe_total'} - $vg->{'pe_alloc'})*
			  $vg->{'pe_size'} };
	}
print "<center><font size=+2>",&text('lv_vg', $vg->{'name'}),
      "</font></center>\n";
print "<hr>\n";

print "<form action=save_lv.cgi>\n";
print "<input type=hidden name=vg value='$in{'vg'}'>\n";
print "<input type=hidden name=lv value='$in{'lv'}'>\n";
print "<input type=hidden name=snap value='$in{'snap'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'lv_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($stat[2]) {
	print "<tr> <td><b>$text{'lv_name'}</b></td>\n";
	print "<td>$lv->{'name'}</td>\n";

	print "<td><b>$text{'lv_size'}</b></td>\n";
	print "<td>$lv->{'size'} kB</td> </tr>\n";
	}
else {
	print "<tr> <td><b>$text{'lv_name'}</b></td>\n";
	print "<td><input name=name size=15 value='$lv->{'name'}'></td>\n";

	print "<td><b>$text{'lv_size'}</b></td>\n";
	print "<td><input name=size size=8 value='$lv->{'size'}'> kB</td> </tr>\n";
	}

print "<tr> <td><b>$text{'lv_petotal'}</b></td>\n";
print "<td>",&text('lv_petotals', $vg->{'pe_alloc'}, $vg->{'pe_total'}),
      "</td>\n";

print "<td><b>$text{'lv_pesize'}</b></td>\n";
print "<td>$vg->{'pe_size'} kB</td> </tr>\n";

if ($in{'lv'}) {
	print "<tr> <td><b>$text{'lv_device'}</b></td>\n";
	print "<td><tt>$lv->{'device'}</tt></td>\n";

	print "<td><b>$text{'lv_status'}</b></td> <td>\n";
	if (!@stat) {
		print $text{'lv_notused'};
		}
	else {
		$msg = &device_message(@stat);
		print $msg;
		}
	print "</td> </tr>\n";
	}

if ($lv->{'is_snap'}) {
	print "<tr> <td><b>$text{'lv_snapof'}</b></td> <td>\n";
	if ($in{'lv'}) {
		# Show which LV this is a snapshot of
		local @snapof = grep { $_->{'size'} == $lv->{'size'} &&
				       $_->{'has_snap'} } @lvs;
		if (@snapof == 1) {
			print "<tt>$snapof[0]->{'name'}</tt>";
			}
		else {
			print "<i>$text{'lv_nosnap'}</i>";
			}
		}
	else {
		# Allow selection of snapshot source
		print "<select name=snapof>\n";
		foreach $l (@lvs) {
			print "<option>$l->{'name'}\n" if (!$l->{'is_snap'});
			}
		print "</select>\n";
		}
	print "</td> </tr>\n";
	}
elsif ($stat[2]) {
	# Display current permissons and allocation method
	print "<tr> <td><b>$text{'lv_perm'}</b></td>\n";
	print "<td>",$text{"lv_perm".$lv->{'perm'}},"</td>\n";

	print "<td><b>$text{'lv_alloc'}</b></td>\n";
	print "<td>",$text{"lv_alloc".$lv->{'alloc'}},"</td> </tr>\n";
	}
else {
	# Allow editing of permissons and allocation method
	print "<tr> <td><b>$text{'lv_perm'}</b></td>\n";
	printf "<td><input type=radio name=perm value=rw %s> %s\n",
		$lv->{'perm'} eq 'rw' ? 'checked' : '', $text{'lv_permrw'};
	printf "<input type=radio name=perm value=r %s> %s</td>\n",
		$lv->{'perm'} eq 'r' ? 'checked' : '', $text{'lv_permr'};

	print "<td><b>$text{'lv_alloc'}</b></td>\n";
	printf "<td><input type=radio name=alloc value=y %s> %s\n",
		$lv->{'alloc'} eq 'y' ? 'checked' : '', $text{'lv_allocy'};
	printf "<input type=radio name=alloc value=n %s> %s</td> </tr>\n",
		$lv->{'alloc'} eq 'n' ? 'checked' : '', $text{'lv_allocn'};
	}

if (!$in{'lv'} && !$lv->{'is_snap'}) {
	print "<tr> <td><b>$text{'lv_stripe'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=stripe_def value=1 checked> %s\n",
		$text{'lv_nostripe'};
	print "<input type=radio name=stripe_def value=0>\n";
	print &text('lv_stripes', "<input name=stripe size=4>"),
	      "</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($stat[2]) {
	print "<td><b>$text{'lv_cannot'}</b></td>\n";
	}
elsif ($in{'lv'}) {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
print "</tr></table></form>\n";

if ($in{'lv'} && !$stat[2] && !$lv->{'is_snap'}) {
	# Show buttons for creating filesystems
	print "<hr>\n";
	print "<table width=100%><tr>\n";
	print "<form action=mkfs_form.cgi>\n";
	print "<input type=hidden name=dev value='$lv->{'device'}'>\n";
	print "<td><input type=submit value='$text{'lv_mkfs'}'>\n";
	print "<select name=fs>\n";
	foreach $f (&fdisk::supported_filesystems()) {
		printf "<option value=%s %s>%s (%s)\n",
			$f, $stat[1] eq $f ? "selected" : "",
			$fdisk::text{"fs_$f"}, $f;
		}
	print "</select></td>\n";
	print "<td>$text{'lv_mkfsdesc'}</td>\n";
	print "</form></tr></table>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

07070100008ddf000081e40000000000000002000000013d1fe2e900000881000000200000000000000000000000000000001600000003reloc/lvm/edit_pv.cgi #!/usr/local/bin/perl
# edit_pv.cgi
# Display a form for editing or creating a physical volume

require './lvm-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();
($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();

if ($in{'pv'}) {
	@pvs = &list_physical_volumes($in{'vg'});
	($pv) = grep { $_->{'name'} eq $in{'pv'} } @pvs;
	&header($text{'pv_edit'}, "");
	}
else {
	&header($text{'pv_create'}, "");
	$pv = { 'alloc' => 'y' };
	}
print "<center><font size=+2>",&text('pv_vg', $vg->{'name'}),
      "</font></center>\n";
print "<hr>\n";

print "<form action=save_pv.cgi>\n";
print "<input type=hidden name=vg value='$in{'vg'}'>\n";
print "<input type=hidden name=pv value='$in{'pv'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pv_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'pv_device'}</b></td> <td colspan=3>\n";
if ($in{'pv'}) {
	local $name = &foreign_call("mount", "device_name", $pv->{'device'});
	print "$name\n";
	}
else {
	&device_input();
	}
print "</td> </tr>\n";

print "<tr> <td><b>$text{'pv_alloc'}</b></td>\n";
printf "<td><input type=radio name=alloc value=y %s> %s\n",
	$pv->{'alloc'} eq 'y' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=alloc value=n %s> %s</td>\n",
	$pv->{'alloc'} eq 'n' ? 'checked' : '', $text{'no'};

if ($in{'pv'}) {
	print "<td><b>$text{'pv_size'}</b></td>\n";
	print "<td>$pv->{'size'} kB</td> </tr>\n";

	print "<tr> <td><b>$text{'pv_petotal'}</b></td>\n";
	print "<td>",&text('lv_petotals', $pv->{'pe_alloc'}, $pv->{'pe_total'}),
	      "</td>\n";

	print "<td><b>$text{'pv_pesize'}</b></td>\n";
	print "<td>$pv->{'pe_size'} kB</td> </tr>\n";
	}
else {
	print "</tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'pv'}) {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      " value='$text{'pv_delete'}'></td>\n" if (@pvs > 1);
	}
else {
	print "<td><input type=submit value='$text{'pv_create'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100008de0000081e40000000000000002000000013d1fe2e90000072c000000200000000000000000000000000000001600000003reloc/lvm/edit_vg.cgi #!/usr/local/bin/perl
# edit_vg.cgi
# Display a form for editing or creating a volume group

require './lvm-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();

if ($in{'vg'}) {
	($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
	&header($text{'vg_edit'}, "");
	}
else {
	&header($text{'vg_create'}, "");
	}
print "<hr>\n";

print "<form action=save_vg.cgi>\n";
print "<input type=hidden name=vg value='$in{'vg'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'vg_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'vg_name'}</b></td>\n";
print "<td><input name=name size=20 value='$vg->{'name'}'></td>\n";

if ($in{'vg'}) {
	print "<td><b>$text{'vg_size'}</b></td>\n";
	print "<td>$vg->{'size'} kB</td> </tr>\n";

	print "<tr> <td><b>$text{'vg_petotal'}</b></td>\n";
	print "<td>",&text('lv_petotals', $vg->{'pe_alloc'}, $vg->{'pe_total'}),
	      "</td>\n";

	print "<td><b>$text{'vg_pesize'}</b></td>\n";
	print "<td>$vg->{'pe_size'} kB</td> </tr>\n";
	}
else {
	print "<td><b>$text{'vg_pesize'}</b></td>\n";
	print "<td><input type=radio name=pesize_def value=1 checked> ",
		$text{'default'},"\n";
	print "<input type=radio name=pesize_def value=0>\n";
	print "<input name=pesize size=8> kB</td> </tr>\n";

	print "<tr> <td><b>$text{'vg_device'}</b></td> <td colspan=3>\n";
	&device_input();
	print "</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'vg'}) {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      " value='$text{'delete'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100008de1000081a40000000000000002000000013d1fe2e90000009b000000200000000000000000000000000000001c00000003reloc/lvm/feedback_files.pl   
sub feedback_files
{
return ( "/proc/lvm/global", glob("/proc/lvm/VGs/*/group"),
	 glob("/proc/lvm/VGs/*/PVs/*"), glob("/proc/lvm/VGs/*/LVs/*") );
}

1;

 0707010000a300000041ed0000000000000001000000023d1ffa8100000000000000200000000000000000000000000000001100000003reloc/lvm/images  0707010000a301000081a40000000000000002000000013d1fe2e900000b58000000200000000000000000000000000000002100000003reloc/lvm/images/hdd_unmount.png  ‰PNG

   IHDR   0   0   Wù‡   gAMA  ±üa   bKGD      ùC»   	pHYs    ÒÝ~ü   tIMEÐ	'·u$L  
ÕIDATxœí™kp\eÇç¼çìÙ[6÷M€´„Ún‰I)hU:”¡ÅF&â8õ2Ð¥û¡8Zg©Öê`œ‘QD¦:Žê+ZcJ*  dJµ”B¡…Ò¦\*MiÜ4Ùl’Ý=÷ã‡í.ÙÜš4aÆ<3;³—÷ìùÿžç}ž÷yÏÙÔ‹Å<`ª×¼˜4_4Þb±˜×ÕÕE2™¤?™Äq]TU¥ººšh4J,›—û+s—:Ñ
â‰Ä„ß,ËâÎ;ï¤§§§¡9AÌ{¦?ÞvìØ1çHÌ+Àxñ½½½SŽmhh æ1o ññxœt:ÀÃŸõÑØü)Ê6S»™¡w^bðÄó¼÷ú¾ý7m^ æ ©©Éëììä¦U×SßÐÈÏ>m]¼‚p}y-¾`9áË¯&s®×Öñlá/àŸ»îcÇ±Ëioo¿$y®â›››½ÎÎN6mÚÄ=ŸTùÝ½«	E¯Â´l3‡¥gÀS5=I(€„ª¢í{ó‹¯, ÓÓÓ³,±sªBË–-óöìÙC<ç+“@5}=‡ žç¢j!d¡à¹BõáÚ:²¢$ã¯lÀ¶r\¹n{oìã¹GZg].9ÍÍÍÞž={Ø´iw/úÝaÄÐsYlÛÅr\Š"p]I’p,<×¶…‚‘Iƒ¬âJ
järÖn~ˆ×.@0ÃH\@ss³×ÑÑA<gÇíK]†æ×„Âˆž¿¯í€™Á²L =‹ç:HBI¡€ÃÊ!áãÆX»ù!6lØ0cˆYÄ·µµqGÝ[„¯ÆAü>?’çbX Š ÓÐó9 ØÆ(’,ð<%ARüØ¶,«HÂ€ç˜ø‚•üá›-3†˜UŒõ<ÀmŸº†Ìàû(¡*Â>H¢©zq¼äZ˜™!tÉÅî¿ Ò@øÃÈŠVœäFêÌ…ñ6¶>JtùíÀëÅÄž.'fPŸH$H§Ó´-D«¹Û“PeÂ¨Á·Èõã˜YdGÇîçßñØ3§Èx,¨‚Íë®dÅ+©[ñ9d_ Û±ñ,ÛÈà9’,!+>¾»r˜Ÿâ¢3+¾`_ýüÕð\ÅÀuªšpªêÉœÿï¾w–}¯¼ÍÞWGHKØŽG:#qnÈ`èýS˜Ù_sÅª/àX&žkáZžëá•°â†•|ìÅNÞN/%‘HL	qÑhjjš þcÞI*šñ#(¾ ª@FðGj	Õ62t¾=Ïç÷ÏsÇµe<ñ­ëxûoÒÝþ5‚á‡{úøéãû±®eàš9dUÃWVƒðG• áË›i¢xÏãrbZ€Â
;¾1iYQÑB•h¡
„ÏðP|~”`É!þzD§©Üâ;÷ÜÉõwlàÏÝÇY±¼…ïÿ¡«êœã9´ò:´Ê´²(Z¸E¡"„êc”K'ÈdSN¡X,6©øÃ_à‹-
5ËÖãY×Èá:¸®kc-<Â~ArTÂyï,©W;8súÿ°3Ü¼TÐýÆ K/;ÆÂ[6#Ë
ÈY¨Hª–wR¨EHôõž.öL Éd²DÏ¤ SµÄ‡¾¿HH˜ÃýHrþrÏµñlB@—/_Æšs#<ò×A~èð»§_áµ#@˜ëäa’i—w’ù©leRx®…çIÅ6CÑ‚œ?ö#•µ8|ðnøÄj ¢Ñèô ñ6lÀ0 RýçJÆŒX£i
’PÉeóÄ6ò5?tu+ïþê9~ôåzþë ›n[Ë@ë­¼Ûý+6?ö6¶ãñ™¥‚ú
×Ì`Û–‘A–ª?€iYœwàÅ—Ù¶mÛÔ cÅ¯ZµŠÖÖVNž<ÉáÃ‡yáùgK.<ñú+8ZÅxþ<`ÆcÉ5+±3øF{YßIÊý ÷–GaóÚ+©¬ªaàôQd-/ZÕBØfÅ ÷þ1^YPt^A¼¢”ú¼øi¬ø––Z[[9zô(uuulÜ¸‘7–\X:KíôÙ<ÿŽÇuVTh´,ð83åøìUÜÒRG2mñ^2M­û‘ª(j¸–Tz€ _c×Þƒ¤úñ ¶mO(ˆðÁilldÑ¢E?~œŽŽhkkC’òs¶¬¬Œ@ €eY8Ž_ó#D¾Ü¥‡³<üð©©©¡eÉBoAdÏqë—ƒ ¸V–ÜP’ÿž>†>x–Á!ÛÀ6_ËqðÊð°øÍËÅO	 °dÉ’â€ÞÞ^Ö­[Gkk+º®)++CÈ2Žë"dÝ6ÍòÚkGyúé§©©©!r×çÖ²±m55µuX¹aÌI(ÆÈy2#CE£¢<Böü£9É <€H=uü}JñO>ù$ŒYÌŠ »wï¦½½-[¶ðÄã¿&‰píµ×RUY‰ãºär9éííe×/wPßÐHMM÷}ãKÄ>¾ŒÆú*dÏFøƒ8z×Ì Ér~µÖÂÃýÅ‡ŒP]íâ.ºaâ8–e“NsèÍýüñõ‰â	âK ²Ù,ÝÝÝ<úè£Ø¶Íîßîb÷o¡²ö2`b%èë=Íãßhfñíëñ\Ô0ª"0sÃØ¹¶‘Ãs-dÅð‘ÅÎßXõª¨¡ÌL#;&9Ãàtß(;öë“Šïèè˜ ¾àìÙ³Å/wîÜ‰ištýåOD·[·ï£[–¨¿ñhÕ˜(j€œi\ð>5ß.UÃ~,ËA×u">IU0“dÚbû“C³_ÐßŸow…Ð€nÚÛÛ‰˜ÔûcmÍ¶.º«ïF•£§úò;/+€c™ÅE(6lŠ°0^9ÄCÿÈ””ÊB²N'@ <044tmm-’äá8étšD"Á‘#Gè9q|Z €]Ïöðóö'¸Ñ|–hl% ®¥#	IVð•ÕàèE€­#éƒœ?s’míGÙû¦5A¼ã8tvvN+ÆD §§G¼õë×—(Db&Ó	à®ösÐþu²©þroŒ…-7Quõ-_s´ŸÔ©sü¥nâ;ß¥vñRCù„Ý¾}{‰ç÷îÝ{Qñ“ˆÅbÞúõë©­­¥¾¾žX,Æš5kˆÇã3†˜‰ŠCWW×¬æüx›Ð„u¡'™m$¦³ÉÄ›¦‰bÆž/Ø¤ÝhbíÚµ%+ß|A¤úÏ•T]×‘eyÖâašýÀX ×uù+ÞqTU½$ñp¡
MeßÅW Ë2£££d³Y‰ož<5£êt1ñ–e±oß¾K3ØÔ„¢°¥»¤HŒŸ6 O=õÌá!ó´(X!õõõø|>,Ë*®3Ä_.îð<ÏC1'ÏÏ
 >Xì¢Ñ(B<Ï#•J!úRèÙÑ‹Šw]×uçEü¬ ÆCH’TqäÈúRBe%¯çþÙM"‘@UUÜ}ó%~Ö ã!
›±gÎœ)ŽíêêbëÖ­¸®‹b^=_°K:($6ÀâÅ‹èîÎ7€ §N`ëÖ­X–…ªªX–5ç„Ì.ù€c<„ãHèú3Åß÷ïß_|ÿa‰‡9žÐ lÛ.nIµ1mÈ‡%æá » ¡(
Bˆ’'gsYagjóùÇSD|hâ?²ÿû ¦ÏÍÈúü    IEND®B`‚0707010000a302000081a40000000000000002000000013d1fe2e900000651000000200000000000000000000000000000001a00000003reloc/lvm/images/icon.gif GIF89a0 0 ç  ÿÿÿ   ‘‘‘IIIZZZƒƒž99XHHkŽŽŽlM,Ø¨sôÜÁÑ¡m‰a6///€€›]A9ÊŠƒíÆÒÃˆ~xSE,,3zzz¨i%¸x1ß´„ôÚ½ëÈ¢õáÊÒ¦u===mm‡•]6¥hBÑ“•ìÄÐà«µïÏÝÅ“ˆ88BnnnŸf(¾}8°q.Õ¥pìÊ¥îÐ®òÚÁôßÈybH``z’X4­jGœc?Æ†~â¯¹ä¶ÂëÇ×íÍÛnOTCBAß´†á·‰Ò—W<)	Â|1ç¿”ä·ˆÞ«t888ll‡43OÐ”•Ò—›Å{b4"

µl=ÚŸ¦Ö•—Ò++C/!õÛ¿ñÔ¶»†M†a;œk5B"ëÊ¨ó×»÷áÊ*(&aaa)íÅÒé½Ê­w^}SH‰\G@!á³¼ëÁÏñÎÚ" 0OOqppp,*'&Ì°Ê¬¿¥‰‹Y$8- .Û¨rÞ°€Ü©rtttÿ  \\„$!1#À›­¼˜«±‘§zM34()+Í‰€ÏŽŽÏŒcc„&&&OOOjjj©©©œwvv€vjèÄéÃ›Á„A£h'»z5O5|||GGG/>>_SS€€ºŒÄ¸baŠseÜ¨²Ý¦­´mK[9«hCI,kkŒ88VáááóÙ¼÷ãÍëÆŸÉSÆ‚8ƒQHHHÖÖì#ëÃÎñÒÞß©²»u_ºnBuG)iiŠÄšnæ¼ŽöÝÃÒ i>$oooJJJaa–¸…Ùž ïÈÔÃw6^^€::YÙÙÙ%%%MMMaa•ÌÌæ-PPq==]ÒÒÒKKK  ÿ``”ÃÃà^^::Z€€€#!uuuFFF…^4ff™(dd„77T………yyyCCCjjŸccxhh‰44P˜b'‚‚‚ŸŸŸggƒƒº                  !ù    ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœH±¢Ä X,8 £C
8°Q ‚	,`È ƒ"HØ8B0dP¨a‡>€!¢â%Lœ@‘BÅ
„,Z¸x#†Œ4jÌ”hãŽ:vðèáãÇÎ‚€2„H#G$QBâ&Mœ<EÊ*U¬¬È À,Y´láÒÅË0aÄ@œ`™2fÎ I£f›6nx'Žœ9têØ¹ƒ'ž=|ú8Dàç @‚*dè¢DŠ	dÔÈÑ#H‘$M¢TÉÒ%L™4mê#{!§Nž>
%j©R¦Nþ¡J¥jÕpV­\½‚KÖ,´jÙÒpK`u…œpåÒµ‹W/_¿ôL0ÂcÞ@š°BÌ+cÌ1È$£Ì2Ý—3¸4³Ë†Î<M4ÒLCAšTÃà‰¯X#Æ5QÇ6Ùl(ã.ÚlÃBtƒâ+Êxs‹
}N83î"Î8
‘SM9šs:[µ˜Ð7TN6êl¸;µÃ
î¼#Q?Då7ÁƒK<òÌÃôÔcÏ;Va¥•A@
t¦A÷àãæBi­ÕÖ[qÍUW…²‰&E…–Øb=u”RºgE£•vZj«µöZl•Zº(EÄ‡œrÌ9teVI*zþê±ç|òÑ÷cu—J”à‚>á„·äª®&î¨"‹e4,Ai”PŽ;öˆ…Â.{RJƒ!¤$“¯8™O°A.ZÓM9…—`¾S”öQ‹•G%µTSO!dŽœï5TQ¹›PW_…5VYæÕTU]•ÕVþ"tW^{õõW`Ù
([nÁ%]y.D™e˜iÆ™g Ô(bŠ1ædb4lm¶á¦o¾'œ@™š†šj¬¹›C×e·]wß…7^yÃw\rË5÷\t› ­þ( Ä¬ëµ÷^|óÕ÷†rè!ˆ"´ë‰B(!…ÁX$6TâŽ)®HÑ1Eù¬Ž(J[Ñ•Yî²åBÛ6yNIj²ùçBè†Y’@}>Î¾“g®ùæœwîùç ;   0707010000a303000081a40000000000000002000000013d1fe2e900000780000000200000000000000000000000000000001800000003reloc/lvm/images/lv.gif   GIF89a0 0 ç  /   ÉÉê¬¬Û“’ÉÇ••Ì99X55R€€¹""7..I¨iCÌ…yÜ£¨÷Øãà«¶Íl¨g72ÄzcÎ‹‹ØŸ¦à«µñÎÚá®¹Þ§¯Ý §á¬¶™^2  5--HrBÃvºqQ¾waÊˆƒÑ–šÞ¥¬è½ÉðÍØÉ~d¢d7È‡€ØŸ§ã®¹ïÌÙå²¾á°»ôÕáîÍÚîË×äµÁŒT+–]7žc;¢gCµoPÈˆ…ß¨±ä³ÀëÈØïÒàìÏÞìÍÝÃpB¶mA—`<‘]9°lQÖ¢íÄÒÞ©³ä·Äê¿ÍçÄÓð×å}J$·nJ§fB—_:‹X6½{nÐ“”çºÇæ½Ìå¼ËÄuO¿{h¸t_Õ’Ø™žÖ““ã´¿f=ÈuÌŠ‡°iC¸oG‚S72 ; “Y.É{`á²¾Ú¡©Ùœ¢Ùž¢Å{^ÏÔ—ÃvX˜dGV7%·m<ÚŸ¦Ø›žÖ••Õ”–L)	ÓŽŠU/Ï ¬ƒN$Ý¦¯Þ§°Õª¹lQS	  ÇyVç¶Äç¶Ãa6ïÈÕê½ËG%²ƒ±¤pNGe9æµÀbOZ:-7ä±½à¯¾à³Âá¸Æ×¯¿@@aQQvgg¢ž‡¦- ]2CCfGGjaašww²qm¢21L¨g;”[5™`>NNs<<]__–ddŸww´††¿‹‹ÂÆ‚‚À22O[UrÔ§·¸nI±lFÀqKÿÿÿMMp\\XX‚‚»ˆ‡¼zz³?=\rgŽØµÈÝ¨²WW~ss®Æ²ÏxE¨¨×TTyÆzc¸rYÏš¢òÑÝUU|4==^BBc||·;;Zuu°kk¦žžÑoo¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\X@€‡Jœø€€
   Å-9A‚Ž SV@²åH”*'Š<  ¦M/=Æ\hqAM<€AÎ0wœ €‚	,\ÀAÃ:xXTéÀ@„1‚D	ªž8¡E
\uzý§@À‚+0Á¢…‹06tˆ!cºÆÂ†‡8rèØÁC
'xôðñHÄŠA‚] d"Erq’(YÂäG“&5êÊ- €“O D‘"y
U4$©aåŠÛ?¨Ðr4 ,Y´Œ€YG–[¸þpéâ…	V¬T‰ÑAAÜ`i~#BDOÄŒA¦Œ™3h¤¡Aj@°m8€†{¡!MnPñ&XÐ@rÌAÔá„XœpyèÁiìSƒ1EÒ|\ Çk´À…}ø1‡ˆ@ }à1h }Å¢@.’ÔÇ²ArCe°0È„hQH†h€‡ ‚ˆ‰…ÔnÍ4‰d ÈH,±HhœÁH#Ždø# V±ÈHÐ@ÃP@Ò l
äæP 	
K,B$fB!SH2É$ýÕH” 	€¢kd‘þ ¬)}TbÉ%˜lùÇ} B†ŽHÁ!#pÐ‚	p¬‘D}È*@&l¾ªI›d2k|:¢­¶œòˆu@Ô‰'B€ÁLhˆ³™|²Û« Š(Ôkï½õŽBŠ$yšÑI¥˜rÊn€1Å`|é³™@;E¨¤¢Ê*8‰Â
+­àJ+¯@ ,
Ä"Ë,áq±E´HAúÕ2‚-7œI*rp*àÒJ.ºìR@FðÒK.!ûò0Š  UÃÂr!EQ@¡E"0<ó»®Ü"º$Q+ÃäiÈœã) C !È}:äpJ¦xPLþÖ2;ÜfÆÜrL¤±Î:+2¼ÐÄ3DBª)`@	Éè0„¥ØÀ·Ì°
à7SP¸á‘ªPÃ?ÈÀÞ0¤@‰2Za‹v˜²yÃV¤Ë*°ŽŠ¬¤—¾D
(`ÆÖ2¯O¡Eq8Á÷'¸' 3›ìâ{ð¤Kh°"„áF)Í<Ÿ‰3¹·©Kõ×cox!D Á'DàI«
ðô~ó´;4ísŸ c¥µþ1 »E H:6,èÉôæµ@ÎŠaˆFúxÂŒPH£‚d˜3"®B¡³àæœq€Ê„z L¡ 1ØÂ¹ènÖ“aðX’ŠºP‚aº˜F+|¼¶ä‡)A ‰+€…$´¡ú†1Ä›5Q P¬¡]¥*îÀâµ¸E.ÔH£*XHÆ2ºŠÕ€…+\¡Š‘ q‹†*öE7&"ñ£ )Å€  ;0707010000a304000081a40000000000000002000000013d1fe2e900000780000000200000000000000000000000000000001800000003reloc/lvm/images/pv.gif   GIF89a0 0 ç  &&&   ÚÚÚÄÄÄ¯®®¬¬¬±±±IIIDDD---<<<ºz3Ú¥méÃ˜ûéÖëÇ¡ÙŸa»s&)))Ñ—XÝ¯~å¾“ëÈ¢÷âÊìÉ¤êÅœéÁ–ìÉ£«i"+++;;;|JÒ iÆ‰GË“UÙ©uà¶ˆêÄšñÔµ÷áÈÖšY¶q%Ø¨så½“íÊ¥öàÇïÎªìÊ¦ùåÑõàÈõÞÅîÏ­œ^©j&²q)¶v1Á†EØ©vêÅžîÍªòÚÂõâÍóßÉóÝÇÌ…:Ã€6ªm*¥i(½ƒEä¼ôÙ¾êÆŸîÐ®òÖ¹ðØ½öåÓŠSÂƒ@ºw1«l(žd%Ì™aß´…ðÒ²ïÔ¶îÒµÏFÍ—\ÆŽRãµƒåºä·†íÎ«rDÖ¡hÛ¬y¿}6Ãƒ=”_&3  = £cÕ—UìÌ©çÀ–æ½‘ç¿’Ñ•SÞ²‚â¸‹Ï‘N®s3cAÅ}0ç¿”æ½ä¸ˆã¶‡P,á±~[3	
	Ýº”‘WéÃ›éÄáÁŸ€a?  Ò’LðÏ®ðÐ¯j=öÝÃòÔ¶I'Âœt¿£„„]4n@ðÐ­q[BB3&îÍ©êÈ¦êËªëÎ¯âÄ¤QQQddd………¬˜ƒ/ ¯j"UUUYYY~~~•••Œˆ„@?>¼v)¦g$®o+aaaMMM{{{‚‚‚–––£££§§§¤¤£¬««  ¤AAAld\à¿œÃ…@¾€:Ë‰Bÿÿÿ___uuummmŸŸŸ¤£ ˜—–OMK‡|pâÈ¬éÅžkkk‘‘‘ÒÂ°„NÀÀÀgggÓ˜XÅ‹MÞ·øãÌiii<!NNNSSSšššKKK“““‰‰‰¸¸¸ŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\X@€‡Jœø€€
   Å-9A‚Ž SV@²åH”*'Š<  ¦M/=Æ\hqAM<€AÎ0wœ €‚	,\ÀAÃ:xXTéÀ@„1‚D	ªž8¡E
\uzý§@À‚+0Á¢…‹06tˆ!cºÆÂ†‡8rèØÁC
'xôðñHÄŠA‚] d"Erq’(YÂäG“&5êÊ- €“O D‘"y
U4$©aåŠÛ?¨Ðr4 ,Y´Œ€YG–[¸þpéâ…	V¬T‰ÑAAÜ`i~#BDOÄŒA¦Œ™3h¤¡Aj@°m8€†{¡!MnPñ&XÐ@rÌAÔá„XœpyèÁiìSƒ1EÒ|\ Çk´À…}ø1‡ˆ@ }à1h }Å¢@.’ÔÇ²ArCe°0È„hQH†h€‡ ‚ˆ‰…ÔnÍ4‰d ÈH,±HhœÁH#Ždø# V±ÈHÐ@ÃP@Ò l
äæP 	
K,B$fB!SH2É$ýÕH” 	€¢kd‘þ ¬)}TbÉ%˜lùÇ} B†ŽHÁ!#pÐ‚	p¬‘D}È*@&l¾ªI›d2k|:¢­¶œòˆu@Ô‰'B€ÁLhˆ³™|²Û« Š(Ôkï½õŽBŠ$yšÑI¥˜rÊn€1Å`|é³™@;E¨¤¢Ê*8‰Â
+­àÊ+°@@,
È2-áq±EµHAúÙ2Â-7œI*r€*äÒŠ.»ðR@Fôâ‹.!ÿL0Š  UÃÂr!EQ@¡E"0<ó»®à2»$Q+ÄèiÈœã) C !È}:äpJ¦x`LþÖ2;ÜfÇà‚L¤±Î:k2¼ÐÄ3DBª)`@	Êè0„¥ØÀ·Ì°
à7SP¸á‘ªPÃ?ÈÀÞ0¤@É2Zq‹v˜²yÃV´Ë*±ŽŠ¬¤—¾D
(`Æ3¯O¡Eq8Á÷'¸'@3›ðâ{ð¤KhÀ"„áF)Î<ŸÉ3¹·¹Kõ×cox!D Á'DàI«
 ô~ó´{4ísŸ c¥µþ1 »E H:6LèÉôæµ@ÎŠaFúxÒŒPL£‚dØ3"®B¡³àæžq€Ê„z L¡ 1ØÂ¹èŽÖ“aðX’ŠºP‚a» F+|¼¶ä‡)A ‰+€…$´¡úˆ1Ä›5Q P¬¡]µ*Àâµ¸E.#ÕH£*XHÆ2ºªÖˆ…+\¡Š‘ q‹$†*öE7&"ñ£ )Å€  ;0707010000a305000081a40000000000000002000000013d1fe2e9000007a3000000200000000000000000000000000000001a00000003reloc/lvm/images/snap.gif GIF89a0 0 ç  /   ÉÉê¬¬Û“’ÉÇ••Ì99X55R€€¹""7..I¨iCÌ…yÜ£¨÷Øãà«¶Íl¨g72ÄzcÎ‹‹ØŸ¦à«µñÎÚá®¹Þ§¯Ý §á¬¶™^2  5--HrBÃvºqQ¾waÊˆƒÑ–šÞ¥¬è½ÉðÍØÉ~d¢d7È‡€ØŸ§ã®¹ïÌÙå²¾á°»ôÕáîÍÚîË×äµÁŒT+–]7žc;¢gCµoPÈˆ…ß¨±ä³ÀëÈØïÒàìÏÞìÍÝÃpB¶mA—`<‘]9°lQÖ¢íÄÒÞ©³ä·Äê¿ÍçÄÓð×å}J$·nJ§fB—_:‹X6½{nÐ“”çºÇæ½Ìå¼ËÄuO¿{h¸t_Õ’Ø™žÖ““ã´¿f=ÈuÌŠ‡°iC¸oG‚S72 ; “Y.É{`á²¾Ú¡©Ùœ¢Ùž¢Å{^ÏÔ—ÃvX˜dGV7%·m<ÚŸ¦Ø›žÖ••Õ”–L)	ÓŽŠU/Ï ¬ƒN$Ý¦¯Þ§°Õª¹lQS	  ÇyVç¶Äç¶Ãa6ïÈÕê½ËG%²ƒ±¤pNGe9æµÀbOZ:-7ä±½à¯¾à³Âá¸Æ×¯¿@@aQQvgg¢ž‡¦- ]2CCfGGjaašww²qm¢21L¨g;”[5™`>NNs<<]__–ddŸww´††¿‹‹ÂÆ‚‚À22O[UrÔ§·¸nI±lFÀqKÿÿÿMMp\\XX‚‚»ˆ‡¼zz³?=\rgŽØµÈÝ¨²WW~ss®Æ²ÏxE¨¨×TTyÆzc¸rYÏš¢òÑÝUU|4==^BBc||·;;Zuu°kk¦žžÑoo¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\X@€‡Jœø€€
   Å-9A‚Ž SV@²åH”*'Š<  ¦M/=Æ\hqAM<€AÎ0wœ €‚	,\ÀAÃ:xXTéÀ@„1‚D	ªž8¡E
\uzý§@À‚+0Á¢…‹06tˆ!cºÆÂ†‡8rèØÁC
'xôðñHÄŠA‚] d"Erq’(YÂäG“&5êÊ- €“O D‘"y
U4$©aåŠÛ?¨Ðr4 ,Y´Œ€YG–[¸þpéâ…	V¬T‰ÑAAÜ`i~#BDOÄŒA¦Œ™3h¤¡Aj@°m8€†{¡!MnPñ&XÐ@rÌAÔá„XœpyèÁiìSƒ1EÒ|\ Çk´À…}ø1‡ˆ@ }à1h }Å¢@.’ÔÇ²ArCe°0È„hQH†h€‡ ‚ˆ‰…ÔnÍ4‰d ÈH,±HhœÁH#Ždø# V±ÈHÐ@ÃP@Ò l
äæP 	
K,B$fB!SH2É$ýÕH” 	€¢kd‘þ ¬)}TbÉ%˜lùÇ} B†ŽHÁ!#pÐ‚	p¬‘D}È*@&l¾ªI›d2k|:¢­¶œòˆu@Ô‰'B€ÁLhˆ³™|²Û« Š(Ôkï½õŽBŠ$yšÑI¥˜rÊn€1Å`|é³™@;E¨¤¢Ê*8‰Â
+­àJ+¯@ ,
Ä"Ë,áq±E´HAúÕ2‚-7œI*rp*àÒJ.ºìR@FðÒK.!ûò0Š  UÃÂr!EQ@¡E"0<ó»®Ü"º$Q+ÃäiÈœã) C !È}:äpJ¦xPLþÖ2;ÜfÆÜrL¤±Î:+2¼ÐÄ3DBª)`@	Éè0„¥ØÀ·Ì°
à7SP¸á‘ªPÃ?ÈÀÞ0¤@‰2Za‹v˜²yÃV¤Ë*°ŽŠ¬¤—¾D
(`ÆÖ2¯O¡Eq8Á÷'¸' 3›ìâ{ð¤Kh°"„áF)Í<Ÿ‰3¹·©Kõ×cox!D Á'DàI«
ðô~ó´;4ísŸ c¥µþ1 »E H:6,èÉôæµ@ÎŠaˆFúxÂŒPH£‚d˜3"(ˆ˜Ð«P`è,¸9g@.&Œ!7À
ƒ/$HD²Cééb„Ö³aðX’Š²é!é¡§Ñ
ßï‚-i”?‚@&:1V<€I˜Än!Fo†El1‡ñ")Æ1ÞB fÔ""C6êb° †UáÂ9NdŠdF5`á
W¨b$_üÇu˜ÈÜQäbB”H‰xÑ’j\ä\è¨ÆMn2  ; 0707010000a306000081a40000000000000002000000013d1fe2e900000651000000200000000000000000000000000000001800000003reloc/lvm/images/vg.gif   GIF89a0 0 ç  ÿÿÿ   ‘‘‘IIIZZZƒƒž99XHHkŽŽŽlM,Ø¨sôÜÁÑ¡m‰a6///€€›]A9ÊŠƒíÆÒÃˆ~xSE,,3zzz¨i%¸x1ß´„ôÚ½ëÈ¢õáÊÒ¦u===mm‡•]6¥hBÑ“•ìÄÐà«µïÏÝÅ“ˆ88BnnnŸf(¾}8°q.Õ¥pìÊ¥îÐ®òÚÁôßÈybH``z’X4­jGœc?Æ†~â¯¹ä¶ÂëÇ×íÍÛnOTCBAß´†á·‰Ò—W<)	Â|1ç¿”ä·ˆÞ«t888ll‡43OÐ”•Ò—›Å{b4"

µl=ÚŸ¦Ö•—Ò++C/!õÛ¿ñÔ¶»†M†a;œk5B"ëÊ¨ó×»÷áÊ*(&aaa)íÅÒé½Ê­w^}SH‰\G@!á³¼ëÁÏñÎÚ" 0OOqppp,*'&Ì°Ê¬¿¥‰‹Y$8- .Û¨rÞ°€Ü©rtttÿ  \\„$!1#À›­¼˜«±‘§zM34()+Í‰€ÏŽŽÏŒcc„&&&OOOjjj©©©œwvv€vjèÄéÃ›Á„A£h'»z5O5|||GGG/>>_SS€€ºŒÄ¸baŠseÜ¨²Ý¦­´mK[9«hCI,kkŒ88VáááóÙ¼÷ãÍëÆŸÉSÆ‚8ƒQHHHÖÖì#ëÃÎñÒÞß©²»u_ºnBuG)iiŠÄšnæ¼ŽöÝÃÒ i>$oooJJJaa–¸…Ùž ïÈÔÃw6^^€::YÙÙÙ%%%MMMaa•ÌÌæ-PPq==]ÒÒÒKKK  ÿ``”ÃÃà^^::Z€€€#!uuuFFF…^4ff™(dd„77T………yyyCCCjjŸccxhh‰44P˜b'‚‚‚ŸŸŸggƒƒº                  !ù    ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœH±¢Ä X,8 £C
8°Q ‚	,`È ƒ"HØ8B0dP¨a‡>€!¢â%Lœ@‘BÅ
„,Z¸x#†Œ4jÌ”hãŽ:vðèáãÇÎ‚€2„H#G$QBâ&Mœ<EÊ*U¬¬È À,Y´láÒÅË0aÄ@œ`™2fÎ I£f›6nx'Žœ9têØ¹ƒ'ž=|ú8Dàç @‚*dè¢DŠ	dÔÈÑ#H‘$M¢TÉÒ%L™4mê#{!§Nž>
%j©R¦Nþ¡J¥jÕpV­\½‚KÖ,´jÙÒpK`u…œpåÒµ‹W/_¿ôL0ÂcÞ@š°BÌ+cÌ1È$£Ì2Ý—3¸4³Ë†Î<M4ÒLCAšTÃà‰¯X#Æ5QÇ6Ùl(ã.ÚlÃBtƒâ+Êxs‹
}N83î"Î8
‘SM9šs:[µ˜Ð7TN6êl¸;µÃ
î¼#Q?Då7ÁƒK<òÌÃôÔcÏ;Va¥•A@
t¦A÷àãæBi­ÕÖ[qÍUW…²‰&E…–Øb=u”RºgE£•vZj«µöZl•Zº(EÄ‡œrÌ9teVI*zþê±ç|òÑ÷cu—J”à‚>á„·äª®&î¨"‹e4,Ai”PŽ;öˆ…Â.{RJƒ!¤$“¯8™O°A.ZÓM9…—`¾S”öQ‹•G%µTSO!dŽœï5TQ¹›PW_…5VYæÕTU]•ÕVþ"tW^{õõW`Ù
([nÁ%]y.D™e˜iÆ™g Ô(bŠ1ædb4lm¶á¦o¾'œ@™š†šj¬¹›C×e·]wß…7^yÃw\rË5÷\t› ­þ( Ä¬ëµ÷^|óÕ÷†rè!ˆ"´ë‰B(!…ÁX$6TâŽ)®HÑ1Eù¬Ž(J[Ñ•Yî²åBÛ6yNIj²ùçBè†Y’@}>Î¾“g®ùæœwîùç ;   07070100008de2000081e40000000000000002000000013d1fe2e900000c58000000200000000000000000000000000000001400000003reloc/lvm/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a table of all volumne groups and their physical and logical volumes.

require './lvm-lib.pl';
&header($text{'index_title'}, "", undef, 0, 1, 0,
	&help_search_link("lvm", "man", "doc", "google"));
print "<hr>\n";

if (!&has_command("vgdisplay")) {
	print "<p>",&text('index_ecommands', "<tt>vgdisplay</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!-d $lvm_proc) {
	print "<p>",&text('index_emodule', "<tt>$lvm_proc</tt>",
			  "<tt>lvm-mod</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$out = `vgdisplay --version 2>&1`;
if ($out !~ /\s+1\.[0-9\.]+/) {
	print "<p>",&text('index_eversion', "<tt>vgdisplay --version</tt>",
			  "<tt>$out</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@vgs = &list_volume_groups();
if (@vgs) {
	print "<a href='edit_vg.cgi'>$text{'index_add'}</a> <br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_vgs'}</b></td> ",
	      "<td><b>$text{'index_pvs'}</b></td> ",
	      "<td><b>$text{'index_lvs'}</b></td> </tr>\n";
	foreach $v (sort { $a->{'number'} <=> $b->{'number'} } @vgs) {
		print "<tr $cb> <td valign=top width=20%>\n";
		&icons_table( [ "edit_vg.cgi?vg=".&urlize($v->{'name'}) ],
			      [ &html_escape($v->{'name'}).
				"<br>$v->{'size'} kB" ],
			      [ "images/vg.gif" ], 1);
		print "</td> <td valign=top width=40%>\n";

		local @pvs = sort { $a->{'number'} <=> $b->{'number'} }
				  &list_physical_volumes($v->{'name'});
		if (@pvs) {
			local (@icons, @titles, @links);
			@icons = map { "images/pv.gif" } @pvs;
			@titles = map { &html_escape($_->{'device'}).
					"<br>$_->{'size'} kB" } @pvs;
			@links = map { "edit_pv.cgi?vg=".&urlize($v->{'name'}).
				       "&pv=".&urlize($_->{'name'}) } @pvs;
			&icons_table(\@links, \@titles, \@icons, 3);
			}
		else {
			print "<b>$text{'index_nopvs'}</b><p>\n";
			}
		print "<a href='edit_pv.cgi?vg=".&urlize($v->{'name'}).
		      "'>$text{'index_addpv'}</a>\n";

		print "</td> <td valign=top width=40%>\n";
		local @lvs = sort { $a->{'number'} <=> $b->{'number'} }
				  &list_logical_volumes($v->{'name'});
		if (@lvs) {
			@icons = map { $_->{'is_snap'} ? "images/snap.gif"
						       : "images/lv.gif" } @lvs;
			@titles = map { &html_escape($_->{'name'}).
					"<br>$_->{'size'} kB" } @lvs;
			@links = map { "edit_lv.cgi?vg=".&urlize($v->{'name'}).
				       "&lv=".&urlize($_->{'name'}) } @lvs;
			&icons_table(\@links, \@titles, \@icons, 3);
			}
		else {
			print "<b>$text{'index_nolvs'}</b><p>\n";
			}
		print "<a href='edit_lv.cgi?vg=".&urlize($v->{'name'}).
		      "'>$text{'index_addlv'}</a>&nbsp;&nbsp;&nbsp;\n";
		print "<a href='edit_lv.cgi?vg=".&urlize($v->{'name'}).
		      "&snap=1'>$text{'index_addsnap'}</a>\n" if (@lvs);
		print "</td> </tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<b>$text{'index_none'}</b> <p>\n";
	@tab = &list_lvmtab();
	if (@tab) {
		# Maybe LVM needs to be re-started
		print &text('index_init', "init.cgi"),"<p>\n";
		}
	}
print "<a href='edit_vg.cgi'>$text{'index_add'}</a> <p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

07070100008de3000081e40000000000000002000000013d1fe2e9000001cd000000200000000000000000000000000000001300000003reloc/lvm/init.cgi    #!/usr/local/bin/perl
# init.cgi
# Scan for and enable all volume groups

require './lvm-lib.pl';
$theme_no_table++;
$| = 1;
&header($text{'init_title'}, "");
print "<hr>\n";

foreach $cmd ("vgscan", "vgchange -a y") {
	print "<b>",&text('init_cmd', "<tt>$cmd</tt>"),"</b><br>\n";
	print "<pre>\n";
	open(CMD, "$cmd 2>&1 |");
	while(<CMD>) {
		print &html_escape($_);
		}
	close(CMD);
	print "</pre>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000bbae000041ed0000000000000001000000023d1ffa8200000000000000200000000000000000000000000000000f00000003reloc/lvm/lang    0707010000bbaf000081a40000000000000002000000013d1fe2e90000184e000000200000000000000000000000000000001200000003reloc/lvm/lang/ca index_title=Gestor de Volums Lògics
index_ecommands=No s'ha trobat al sistema l'ordre LVM $1. Webmin necessita les ordres d'administració LVM per tal de configurar i gestionar volums lògics.
index_emodule=El directori LVM d'estat $1 no existeix. Això vol dir que el teu kernel no suporta LVM, o bé que el mòdul $2 del kernel no està carregat.
index_vgs=Grups de Volums
index_pvs=Volums Físics
index_lvs=Volums Lògics
index_none=No s'ha trobat cap volum lògic al sistema.
index_add=Afegeix un nou grup de volums.
index_nolvs=Aquest grup de volums encara<br>no té cap volum lògic.
index_nopvs=Aquest grup de volums encara<br>no té cap volum físic.
index_addpv=Afegeix un nou volum físic al grup de volums.
index_addlv=Crea un nou volum lògic.
index_addsnap=Crea una nova instantània.
index_return=als grups de volums
index_init=Això pot ser perquè encara no has activat LVM. <a href='$1'>Activa'l ara</a> per veure tots els grups de volums.
index_eversion=Webmin només suporta les versions LVM 1.0  superiors. La sortida de $1 al sistema és: $2


lv_edit=Edita Volum Lògic
lv_edit_snap=Edita la instantània
lv_create=Crea un Volum Lògic
lv_create_snap=Crea una Instantània
lv_vg=En el grup de volums $1
lv_header=Detalls del volum lògic
lv_name=Nom del volum
lv_size=Mida del volum
lv_device=Fitxer de dispositiu
lv_status=Estat actual
lv_mount=Muntat a $1 com $2
lv_umount=Per muntar a $1 com $2
lv_mountvm=Muntat com a memòria virtual
lv_umountvm=Per muntar com a memòria virtual
lv_mountraid=Part del dispositiu RAID $1
lv_notused=No està en ús
lv_cannot=Aquest volum lògic no es pot canviar de nom ni de mida, ja que actualment està en ús.
lv_perm=Accés al volum
lv_permrw=Lectura/escriptura
lv_permr=Només lectura
lv_alloc=Mètode d'allotjament
lv_allocy=Contigu
lv_allocn=No contigu
lv_stripe=Volum a tires
lv_nostripe=Desactivat (allotja sempre de bon principi)
lv_stripes=Fes tires a través de $1 volums físics
lv_err=No he pogut desar el volum lògic
lv_ename=Hi falta el nom del volum o bé no és vàlid
lv_esame=Ja existeix un volum lògic amb el mateix nom
lv_esize=Hi falta la mida del volum o bé no és vàlida
lv_estripe=Hi falta el nombre de tires o bé no és vàlid
lv_delete=Suprimeix el Volum Lògic
lv_rusure=Segur que vols suprimir el volum lògic $1? Totes les dades del sistema de fitxers d'aquest volum lògic es perdran per sempre!
lv_rusnap=Segur que vols suprimir la instantània $1?
lv_deleteok=Suprimeix-lo ara
lv_err2=NO hepogut suprimir el volum lògic
lv_pesize=Mida del bloc d'allotjament
lv_petotal=Blocs allotjats per al grup de volums
lv_petotals=$1 de $2
lv_mkfs=Crea un sistema de fitxers del tipus:
lv_mkfsdesc=Selecciona un tipus de sistema de fitxers ifes clic sobre aquest botó per crear un sistema de fitxers nou en aquest volum lògic. Això esborrarà totes les dades que actualment puguin haver-hi al volum.
lv_toobig=La nova mida del volum és de $1 blocs (de $2 cadascun), però només en queden $3 de lliures al grup de volums.
lv_snapof=Instantània del volum lògic
lv_nosnap=No ho he pogut determinar!

mkfs_title=Creació de Sistema de Fitxers
mkfs_desc=Aquest formulari permet crear un nou sistema de fitxers $2 ($1) a volum lògic $3. Totes les dades existents s'esborraran.
mkfs_header=Opció del nou sistema de fitxers
mkfs_err=No he pogut crear el sistema de fitxers
mkfs_exec=Executant l'ordre $1...
mkfs_failed=...l'ordre ha fallat!
mkfs_ok=...l'ordre s'ha completat.

resize_title=Canvi de Mida de Volum Lògic
resize_mesg=No es pot canviar la mida del sistema de fitxers $1 d'aquest volum lògic. Si canvies la mida del volum lògic, has de tornar a crear el sistema de fitxers, cosa que n'esborrarà totes les dades.
resize_mesg2=Webmin no sap quina mena de sistema de fitxers hi ha en aquest volum lògic, si és que n'hi ha. Si canvies la mida del volum lògic, has de tornar a crear el sistema de fitxers, cosa que n'esborrarà totes les dades.
resize_fs=Hi ha hagut un error en canviar la mida del sistema de fitxers $1 d'aquest volum lògic: $2. Si canvies només la mida del volum lògic, has de tornar a crear el sistema de fitxers, cosa que n'esborrarà totes les dades.
resize_ok=Canvia la Mida del Volum Lògic

init_title=Activació de LVM
init_cmd=Executant l'ordre $1...

pv_edit=Edita el Volum Físic
pv_create=Afegeix un Volum Físic
pv_vg=Al grup de volums $1
pv_header=Detalls del volum físic
pv_device=Dispositiu de disc
pv_other=Altres dispositius...
pv_alloc=Activat per a allotjament
pv_size=Mida del disc
pv_petotal=Blocs allotjats
pv_pesize=Mida del bloc d'allotjament
pv_warn=Atenció! S'esborraran totes les dades del dispositiu seleccionat.
pv_create=Afegeix al grup de volums
pv_delete=Treu del grup de volums
pv_err=No he pogut desar el volum físic
pv_err2=No he pogut treure el volum físic
pv_delete=Elimina el Volum Físic
pv_rusure=Segur que vols treure el volum físic $1 del seu grup de volums? Això causarà que les dades contingudes es passin a altres volums físics del grup.
pv_deleteok=Treu el Volum
pv_eother=Hi falta el dispositiu e disc o bé és invàlid
pv_raid=Dispositiu RAID $1

vg_edit=Edita el Grup de Volums
vg_create=Crea un Grup de Volums
vg_name=Nom del grup de volums
vg_header=Detalls del grup de volums
vg_size=Mida total
vg_petotal=Blocs allotjats
vg_pesize=Mida del bloc d'allotjament
vg_device=Dispositiu físic inicial
vg_err=No he pogut desar el grup de volum
vg_err2=No he pogut suprimir el grup de volums
vg_delete=Suprimeix el Grup de Volums
vg_rusure=Segur que vols suprimir el grup de volums $1?
vg_cannot=Aquest grup de volums no es pot suprimir perquè encara té $1 volums lògics.
vg_deleteok=Suprimeix-lo Ara
vg_ename=Hi falta el nom del grup de volums o bé és invàlid
vg_epesize=Hi falta la mida del bloc d'allotjament o bé és invàlid

log_create_vg=He creat el grup de volums $1
log_modify_vg=He modificat el grup de volums $1
log_delete_vg=He suprimit el grup de volums $1
log_create_lv=He creat el volum lògic $1 al GV $2
log_modify_lv=He modificat el volum lògic $1 del GV $2
log_delete_lv=He suprimit el volum lògic $1 del GV $2
log_mkfs_lv=He creat el sistema de fitxers $1 a $2
log_create_pv=He afegit el volum físic $1 al GV $1
log_modify_pv=He modificat el volum físic $1 del GV $2
log_delete_pv=He tret el volum físic $1 del GV $2


  0707010000bbb0000081a40000000000000002000000013d1fe2e90000161d000000200000000000000000000000000000001200000003reloc/lvm/lang/en index_title=Logical Volume Management
index_ecommands=The LVM command $1 was not found on your system. Webmin needs the LVM administration commands in order to setup and manage logical volumes.
index_emodule=The LVM status directory $1 does not exist. This indicates that your kernel does not support LVM, or that the $2 kernel module is not loaded.
index_vgs=Volume Groups
index_pvs=Physical Volumes
index_lvs=Logical Volumes
index_none=No volume groups were found on your system.
index_add=Add a new volume group.
index_nolvs=This volume group has<br>no logical volumes yet.
index_nopvs=This volume group has<br>no physical volumes yet.
index_addpv=Add a physical volume to the group.
index_addlv=Create a new logical volume.
index_addsnap=Create a new snapshot.
index_return=volume groups
index_init=This may be because LVM has not been activated yet. <a href='$1'>Activate it now</a> to view all volume groups.
index_eversion=Webmin only supports LVM versions 1.0 and above. The output from $1 on your system was : $2


lv_edit=Edit Logical Volume
lv_edit_snap=Edit Snapshot
lv_create=Create Logical Volume
lv_create_snap=Create Snapshot
lv_vg=In volume group $1
lv_header=Logical volume details
lv_name=Volume name
lv_size=Volume size
lv_device=Device file
lv_status=Current status
lv_mount=Mounted on $1 as $2
lv_umount=For mounting on $1 as $2
lv_mountvm=Mounted as virtual memory
lv_umountvm=For mounting as virtual memory
lv_mountraid=Part of RAID device $1
lv_notused=Not in use
lv_cannot=This logical volume cannot be renamed or resized as it is currently in use.
lv_perm=Volume access
lv_permrw=Read/write
lv_permr=Read only
lv_alloc=Allocation method
lv_allocy=Contiguous
lv_allocn=Non-contiguous
lv_stripe=Volume striping
lv_nostripe=Disabled (always allocate from start)
lv_stripes=Stripe across $1 physical volumes
lv_err=Failed to save logical volume
lv_ename=Missing or invalid volume name
lv_esame=A logical volume with the same name already exists
lv_esize=Missing or invalid volume size
lv_estripe=Missing or invalid number of stripes
lv_delete=Delete Logical Volume
lv_rusure=Are you sure you want to delete the logical volume $1 ? Any data in a filesystem on this logical volume will be deleted forever!
lv_rusnap=Are you sure you want to delete the snapshot $1 ?
lv_deleteok=Delete Now
lv_err2=Failed to delete logical volume
lv_pesize=Allocation block size
lv_petotal=Blocks allocated from volume group
lv_petotals=$1 out of $2
lv_mkfs=Create filesystem of type:
lv_mkfsdesc=Select a filesystem type and click this button to create a new filesystem on this logical volume. This will erase any data currently on the volume.
lv_toobig=The new volume size is $1 blocks (of $2 each), but only $3 are free in the volume group.
lv_snapof=Snapshot of logical volume
lv_nosnap=Could not determine!

mkfs_title=Create Filesystem
mkfs_desc=This form allows you to build a new $2 ($1) filesystem on logical volume $3. All existing data will be erased.
mkfs_header=New filesystem options
mkfs_err=Failed to create filesystem
mkfs_exec=Executing command $1 ..
mkfs_failed=.. command failed!
mkfs_ok=.. command complete.

resize_title=Resize Logical Volume
resize_mesg=The $1 filesystem on this logical volume cannot be resized. If you resize the logical volume, you must re-create the filesystem, which will erase all data in it.
resize_mesg2=Webmin does not know what kind of filesystem is on this logical volume, if any. If you resize the logical volume, you must re-create the filesystem, which will erase all data in it.
resize_fs=There was an error resizing the $1 filesystem on this logical volume : $2  If you resize just the logical volume, you must re-create the filesystem, which will erase all data in it.
resize_ok=Resize Logical Volume

init_title=Activate LVM
init_cmd=Running command $1 ..

pv_edit=Edit Physical Volume
pv_create=Add Physical Volume
pv_vg=In volume group $1
pv_header=Physical volume details
pv_device=Disk device
pv_other=Other device..
pv_alloc=Enabled for allocation?
pv_size=Disk size
pv_petotal=Blocks allocated
pv_pesize=Allocation block size
pv_warn=Warning! All data on the selected device will be erased.
pv_create=Add to volume group
pv_delete=Remove from volume group
pv_err=Failed to save physical volume
pv_err2=Failed to remove physical volume
pv_delete=Remove Physical Volume
pv_rusure=Are you sure you want to remove physical volume device $1 from its volume group? This will result in any data being shifted to other physical volumes within the group.
pv_deleteok=Remove Volume
pv_eother=Missing or invalid disk device
pv_raid=RAID device $1

vg_edit=Edit Volume Group
vg_create=Create Volume Group
vg_name=Volume group name
vg_header=Volume group details
vg_size=Total size
vg_petotal=Blocks allocated
vg_pesize=Allocation block size
vg_device=Initial physical device
vg_err=Failed to save volume group
vg_err2=Failed to delete volume group
vg_delete=Delete Volume Group
vg_rusure=Are you sure you want to delete the volume group $1 ?
vg_cannot=This volume group cannot be deleted because it still has $1 logical volumes.
vg_deleteok=Delete Now
vg_ename=Missing or invalid volume group name
vg_epesize=Missing or invalid allocation block size

log_create_vg=Created volume group $1
log_modify_vg=Modified volume group $1
log_delete_vg=Deleted volume group $1
log_create_lv=Created logical volume $1 in VG $2
log_modify_lv=Modified logical volume $1 in VG $2
log_delete_lv=Deleted logical volume $1 in VG $2
log_mkfs_lv=Created $1 filesystem on $2
log_create_pv=Added physical volume $1 to VG $1
log_modify_pv=Modified physical volume $1 in VG $2
log_delete_pv=Removed physical volume $1 from VG $2

   0707010000bbb1000081a40000000000000002000000013d1fe2e900001012000000200000000000000000000000000000001a00000003reloc/lvm/lang/zh_TW.Big5 index_title=ÅÞ¿èºÞ²z¨t²Î
index_ecommands=¦b±zªº¨t²Î¤W§ä¤£¨ìLVM«ü¥O$1¡AWebmin»Ý­n LVMªººÞ²z«ü¥O¨Ó³]©w©MºÞ²zÅÞ¿è®eÅé 
index_emodule= LVMª¬ºA¥Ø¿ý $1¨Ã¤£¦s¦b¡C³o¥Nªí±zªº®Ö¤ß¨Ã¤£¤ä´©LVM¡A©Î¬O³o­Ó $2 ®Ö¤ß¼Ò²Õ¨S¦³¸ü¤J¡C
index_vgs=®eÅé¸s²Õ
index_pvs=¹êÅé®eÅé
index_lvs=ÅÞ¿è®eÅé
index_none=¦b±zªº¨t²Î¤W§ä¤£¨ì®eÅé¸s²Õ¡C
index_add=·s¼W®eÅé¸s²Õ
index_nolvs=³o­Ó®eÅé¸s²Õ<br>ÁÙ¨S¦³ÅÞ¿è®eÅé
index_nopvs=³o­Ó®eÅé¸s²Õ<br>ÁÙ¨S¦³¹êÅé¸s²Õ
index_addpv=¥[¤J¤@­Ó¹êÅé¸s²Õ¨ì¸s²Õ
index_addlv=·s¼W¤@­ÓÅÞ¿è®eÅé
index_addsnap=·s¼W¤@­Ó snapshot.
index_return=®eÅé¸s²Õ
index_init=³o¤]³\¬O¦]¬°LVM©|¥¼³Q±Ò°Ê <a href='$1'>²{¦b±Ò°Ê</a>¨ÓÂsÄý¥þ³¡®eÅé¸s²Õ
index_eversion=Webmin¥u¤ä´© LVMª©¥»1.0¥H¤W¡A¦b±zªº¨t²Î¤WÅã¥Üªºªí³æ $1 ¬O : $2


lv_edit=EditÅÞ¿è®eÅé
lv_edit_snap=½s¿èSnapshot
lv_create=·s¼WÅÞ¿è®eÅé
lv_create_snap=·s¼WSnapshot
lv_vg=In ®eÅé¸s²Õ $1
lv_header=ÅÞ¿è®eÅé¤º®e
lv_name=®eÅé¦WºÙ
lv_size=®eÅé¤j¤p
lv_device=¸Ë¸mÀÉ®×
lv_status=¥Ø«eª¬ºA
lv_mount=±¾¸ü $1 ¨ì $2
lv_umount=±q±¾¸üªº $1 ¨ì $2
lv_mountvm=±¾¸ü¨ìµêÀÀ°O¾ÐÅé
lv_umountvm=±q±¾¸üªºµêÀÀ°O¾ÐÅé
lv_mountraid=³¡¥÷ RAID ¸Ë¸m $1
lv_notused=¨ÃµL¨Ï¥Î
lv_cannot=³o­ÓÅÞ¿è®eÅé'¥¿¦b¨Ï¥Î¤¤¡AµLªk§ïÅÜ¦WºÙ©M¤j¤p
lv_perm=Volume access
lv_permrw=Åª/¼g
lv_permr=°ßÅª
lv_alloc=¤À°t¤èªk
lv_allocy=³s±µ
lv_allocn=µL³s±µ
lv_stripe=¤À¹j®eÅé
lv_nostripe=°±¥Î (¨C¦¸¦b±Ò°Ê®É¤À°t)
lv_stripes=¤À¹j¥]¬A $1 ¹êÅé¸s²Õ
lv_err=Àx¦sÅÞ¿è®eÅé¥¢±Ñ
lv_ename=¨S¦³¿é¤J©Î¿ù»~ªº®eÅé¦WºÙ
lv_esame=ÅÞ¿è®eÅé¬Û¦PªºÅÞ¿è®eÅé¦WºÙ¤w¸g¦s¦b
lv_esize=¨S¦³¿é¤J©Î¿ù»~ªº®eÅé¤j¤p
lv_estripe=¨S¦³¿é¤J©Î¿ù»~ªº¤À¹j¼Æ¥Ø
lv_delete=§R°£ÅÞ¿è®eÅé
lv_rusure=±z½T©w­n§R°£ÅÞ¿è®eÅé $1 ? ©Ò¦³¸ê®Æ¦bÀÉ®×¨t²Î¤W¦b¦¹ÅÞ¿è®eÅé±N·|¥Ã»·§R°£
lv_rusnap=±z½T©w­n§R°£snapshot $1 ?
lv_deleteok=²{¦b§R°£
lv_err2=§R°£ÅÞ¿è®eÅé¥¢±Ñ
lv_pesize=¤À°tºÏ°Ï¤j¤p
lv_petotal=±q®eÅé¸s²Õ¤À°tªººÏ°Ï
lv_petotals=$1 ¶W¹L $2
lv_mkfs=·s¼WÀÉ®×¨t²ÎÃþ«¬:
lv_mkfsdesc=¿ï¨ú¤@ºØÀÉ®×Ãþ«¬©MÂIÀ»³o­Ó«ö¶s¨Ó·s¼W¤@­ÓÀÉ®×¨t²Î¦b¦¹ÅÞ¿è®eÅé¡A³o±N·|²M°£²{¦b©Ò¦³¦b¦¹®eÅé¤Wªº¸ê®Æ¡C
lv_toobig=·sªº®eÅé¤j¤p¬O $1ºÏ°Ï (of $2 each)¡A ¦ý¥u³Ó $3 ¦b¦¹®eÅé¸s²Õ¤W¡C
lv_snapof=SnapshotªºÅÞ¿è®eÅé
lv_nosnap=µLªk½T©w!

mkfs_title=·s¼WÀÉ®×¨t²Î
mkfs_desc=³o­Óªí³æ¤¹³\±z«Ø¥ß¤@­Ó·sªº $2 ($1) ÀÉ®×¨t²Î¦bÅÞ¿è®eÅé $3¤W¡A ©Ò¦³¦s¦bªº¸ê®Æ±N³Q²M°£¡C
mkfs_header=·s¼WÀÉ®×¨t²Î¿ï¶µ
mkfs_err=·s¼WÀÉ®×¨t²Î¿ù»~
mkfs_exec=°õ¦æ«ü¥O $1 ..
mkfs_failed=.. «ü¥O¿ù»~!
mkfs_ok=.. «ü¥O§¹¦¨

resize_title=­«³]ÅÞ¿è®eÅé¤j¤p
resize_mesg=³o­Ó $1ÀÉ®×¨t²Î¦bÅÞ¿è®eÅé¤WµLªkÅÜ§ó¤j¤p¡A¦pªG·QÅÜ§óÅÞ¿è®eÅé¤j¤p¡A ±z¥²¶·­«·s«Ø¥ßÀÉ®×¨t²Î¡A³o±N·|²M°£©Ò¦³¦b¤W­±ªº¸ê®Æ¡C
resize_mesg2=Webmin ¤£ª¾¹D¬O¦óºØÀÉ®×¨t²Î¦b³oÅÞ¿è®eÅé¤W¡A¦pªG¦³ªº¸Ü¡A ¦pªG·QÅÜ§óÅÞ¿è®eÅé¤j¤p¡A ±z¥²¶·­«·s«Ø¥ßÀÉ®×¨t²Î¡A³o±N·|²M°£©Ò¦³¦b¤W­±ªº¸ê®Æ¡C
resize_fs=¤@­Ó­«³]ÀÉ®×¨t²Î $1 ¤j¤pªº¿ù»~¦b³oÅÞ¿è®eÅé¤W : $2  ¦pªG¥uÅÜ§óÅÞ¿è®eÅé¤j¤p¡A ±z¥²¶·­«·s«Ø¥ßÀÉ®×¨t²Î¡A³o±N·|²M°£©Ò¦³¦b¤W­±ªº¸ê®Æ¡C
resize_ok=­«³]ÅÞ¿è®eÅé¤j¤p

init_title=±Ò°Ê LVM
init_cmd=°õ¦æ«ü¥O $1 ..

pv_edit=½s¿è¹êÅé¸s²Õ
pv_create=·s¼W¹êÅé¸s²Õ
pv_vg=In ®eÅé¸s²Õ $1
pv_header=¹êÅé¸s²Õ¤º®e
pv_device=ºÏºÐ¸Ë¸m
pv_other=¨ä¥L¸Ë¸m..
pv_alloc=±Ò¥Î¤À°t?
pv_size=ºÏºÐ¤j¤p
pv_petotal=¤À°tºÏ°Ï
pv_pesize=¤À°tºÏºÐ¤j¤p
pv_warn=Äµ§i¡I©Ò¦³¦b¸Ë¸m¤W±o¸ê®Æ±N·|²M°£
pv_create=¥[¤J¨ì®eÅé¸s²Õ
pv_delete=±q®eÅé¸s²Õ²¾°£
pv_err=Àx¦s¹êÅé¸s²Õ¥¢±Ñ
pv_err2=²¾°£¹êÅé¸s²Õ¥¢±Ñ
pv_delete=²¾°£¹êÅé¸s²Õ
pv_rusure=±z½T©w­n§R°£¹êÅé¸s²Õ¸Ë¸m $1±q³o®eÅé¸s²Õ? ³o±N·|±N©Ò¦³¸ê®Æ¨Ì¸s²Õ¤Á´«¨ì¨ä¥L¹êÅé¸s²Õ¡C
pv_deleteok=²¾°£®eÅé
pv_eother=¨S¦³¿é¤J©Î¿ù»~ªººÏºÐ¸Ë¸m
pv_raid=RAID ¸Ë¸m $1

vg_edit=½s¿è®eÅé¸s²Õ
vg_create=·s¼W®eÅé¸s²Õ
vg_name=®eÅé¸s²Õ name
vg_header=®eÅé¸s²Õ¤º®e
vg_size=¥þ³¡¤j¤p
vg_petotal=¤À°tºÏ°Ï
vg_pesize=¤À°tºÏ°Ï¤j¤p
vg_device=ªì©l¹êÅé¸Ë¸m
vg_err=Àx¦s®eÅé¸s²Õ®Ñ¥N
vg_err2=§R°£®eÅé¸s²Õ¥¢±Ñ
vg_delete=§R°£®eÅé¸s²Õ
vg_rusure=±z½T©w­n§R°£®eÅé¸s²Õ $1 ?
vg_cannot=³o­Ó®eÅé¸s²ÕµLªk§R°£¦]¬°¥¦ÁÙ¥]§t $1ÅÞ¿è®eÅé.
vg_deleteok=²{¦b§R°£
vg_ename=¨S¦³¿é¤J©Î¿ù»~ªº®eÅé¸s²Õ¦WºÙ
vg_epesize=¨S¦³¿é¤J©Î¿ù»~ªººÏ°Ï¤À°t¤j¤p

log_create_vg=·s¼W®eÅé¸s²Õ $1
log_modify_vg=­×§ï®eÅé¸s²Õ $1
log_delete_vg=§R°£®eÅé¸s²Õ $1
log_create_lv=·s¼WdÅÞ¿è®eÅé $1 ¦b VG $2
log_modify_lv=­×§ïÅÞ¿è®eÅé $1 ¦b VG $2
log_delete_lv=§R°£ÅÞ¿è®eÅé $1 ¦b VG $2
log_mkfs_lv=·s¼W$1ÀÉ®×¨t²Î¦b $2
log_create_pv=¥[¤J¹êÅé¸s²Õ $1 ¨ì VG $1
log_modify_pv=­×§ï¹êÅé¸s²Õ $1 ¦b VG $2
log_delete_pv=²¾°£¹êÅé¸s²Õ $1 ±q VG $2

  07070100008de4000081a40000000000000002000000013d1fe2e900000249000000200000000000000000000000000000001800000003reloc/lvm/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'lvm-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'mkfs') {
	return &text('log_mkfs_lv', "<tt>".&html_escape($p->{'fs'})."</tt>",
		     "<tt>".&html_escape($object)."</tt>");
	}
else {
	return &text("log_${action}_${type}",
		     "<tt>".&html_escape($object)."</tt>",
		     "<tt>".&html_escape($p->{'vg'})."</tt>");
	}
}

   07070100008de5000081a40000000000000002000000013d1fe2e9000023a9000000200000000000000000000000000000001500000003reloc/lvm/lvm-lib.pl  # lvm-lib.pl
# Common functions for managing VGs, PVs and LVs

do '../web-lib.pl';
&init_config();
&foreign_require("mount", "mount-lib.pl");
if (&foreign_check("raid")) {
	&foreign_require("raid", "raid-lib.pl");
	$has_raid++;
	}

$lvm_proc = "/proc/lvm";
$lvm_tab = "/etc/lvmtab";

# list_physical_volumes(vg)
# Returns a list of all physical volumes for some volume group
sub list_physical_volumes
{
local @rv;
opendir(DIR, "$lvm_proc/VGs/$_[0]/PVs");
foreach $f (readdir(DIR)) {
	next if ($f eq '.' || $f eq '..');
	local $pv = { 'name' => $f,
		      'vg' => $_[0] };
	local %p = &parse_colon_file("$lvm_proc/VGs/$_[0]/PVs/$f");
	$pv->{'device'} = $p{'name'};
	$pv->{'number'} = $p{'number'};
	$pv->{'size'} = $p{'size'}/2;
	$pv->{'status'} = $p{'status'};
	$pv->{'number'} = $p{'number'};
	$pv->{'pe_size'} = $p{'PE size'};
	$pv->{'pe_total'} = $p{'PE total'};
	$pv->{'pe_alloc'} = $p{'PE allocated'};
	$pv->{'alloc'} = $p{'allocatable'} == 2 ? 'y' : 'n';
	push(@rv, $pv);
	}
closedir(DIR);
return @rv;
}

# create_physical_volume(&pv)
sub create_physical_volume
{
local $cmd = "pvcreate -f -y '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $out if ($?);
$cmd = "vgextend '$_[0]->{'vg'}' '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# change_physical_volume(&pv)
sub change_physical_volume
{
local $cmd = "pvchange -x $_[0]->{'alloc'} '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# delete_physical_volume(&pv)
sub delete_physical_volume
{
if ($_[0]->{'pe_alloc'}) {
	local $cmd = "(yes | pvmove '$_[0]->{'device'}')";
	local $out = &backquote_logged("$cmd 2>&1");
	return $out if ($?);
	}
local $cmd = "vgreduce '$_[0]->{'vg'}' '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}


# list_volume_groups()
# Returns a list of all volume groups
sub list_volume_groups
{
local (@rv, $f);
opendir(DIR, "$lvm_proc/VGs");
foreach $f (readdir(DIR)) {
	next if ($f eq '.' || $f eq '..');
	local $vg = { 'name' => $f };
	local %g = &parse_colon_file("$lvm_proc/VGs/$f/group");
	$vg->{'number'} = $g{'number'};
	$vg->{'size'} = $g{'size'};
	$vg->{'pe_size'} = $g{'PE size'};
	$vg->{'pe_total'} = $g{'PE total'};
	$vg->{'pe_alloc'} = $g{'PE allocated'};
	push(@rv, $vg);
	}
closedir(DIR);
return @rv;
}

# delete_volume_group(&vg)
sub delete_volume_group
{
local $cmd = "vgchange -a n '$_[0]->{'name'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $out if ($?);
$cmd = "vgremove '$_[0]->{'name'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# create_volume_group(&vg, device)
sub create_volume_group
{
&system_logged("vgscan >/dev/null 2>&1 </dev/null");
local $cmd = "pvcreate -f -y '$_[1]'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $out if ($?);
$cmd = "vgcreate";
$cmd .= " -s $_[0]->{'pe_size'}k" if ($_[0]->{'pe_size'});
$cmd .= " '$_[0]->{'name'}' '$_[1]'";
$out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# rename_volume_group(&vg, name)
sub rename_volume_group
{
local $cmd = "vgrename '$_[0]->{'name'}' '$_[1]'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $out if ($?);
$cmd = "vgchange -a n '$_[1]'";
$out = &backquote_logged("$cmd 2>&1 </dev/null");
return $out if ($?);
$cmd = "vgchange -a y '$_[1]'";
$out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}


# list_logical_volumes(vg)
sub list_logical_volumes
{
local @rv;
opendir(DIR, "$lvm_proc/VGs/$_[0]/LVs");
foreach $f (readdir(DIR)) {
	next if ($f eq '.' || $f eq '..');
	local $lv = { 'name' => $f,
		      'vg' => $_[0] };
	local %p = &parse_colon_file("$lvm_proc/VGs/$_[0]/LVs/$f");
	$lv->{'device'} = $p{'name'};
	$lv->{'number'} = $p{'number'};
	$lv->{'size'} = $p{'size'}/2;
	$lv->{'perm'} = $p{'access'} == 3 ? 'rw' : 'r';
	$lv->{'alloc'} = $p{'allocation'} == 2 ? 'y' : 'n';
	$lv->{'has_snap'} = $p{'access'} == 11;
	$lv->{'is_snap'} = $p{'access'} == 5;
	push(@rv, $lv);
	}
closedir(DIR);
return @rv;
}

# create_logical_volume(&lv)
sub create_logical_volume
{
local $cmd = "lvcreate -n$_[0]->{'name'} -L$_[0]->{'size'}k";
if ($_[0]->{'is_snap'}) {
	$cmd .= " -s '/dev/$_[0]->{'vg'}/$_[0]->{'snapof'}'";
	}
else {
	$cmd .= " -p $_[0]->{'perm'}";
	$cmd .= " -C $_[0]->{'alloc'}";
	$cmd .= " -i $_[0]->{'stripe'}" if ($_[0]->{'stripe'});
	$cmd .= " $_[0]->{'vg'}";
	}
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# delete_logical_volume(&lv)
sub delete_logical_volume
{
local $cmd = "lvremove -f '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# resize_logical_volume(&lv, size)
sub resize_logical_volume
{
local $cmd = $_[1] > $_[0]->{'size'} ? "lvextend" : "lvreduce -f";
$cmd .= " -L$_[1]k";
$cmd .= " '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# change_logical_volume(&lv)
sub change_logical_volume
{
local $cmd = "lvchange ";
$cmd .= " -p $_[0]->{'perm'}";
$cmd .= " -C $_[0]->{'alloc'}";
$cmd .= " '$_[0]->{'device'}'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# rename_logical_volume(&lv, name)
sub rename_logical_volume
{
local $cmd = "lvrename '$_[0]->{'device'}' '/dev/$_[0]->{'vg'}/$_[1]'";
local $out = &backquote_logged("$cmd 2>&1 </dev/null");
return $? ? $out : undef;
}

# can_resize_filesystem(type)
sub can_resize_filesystem
{
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	return &has_command("e2fsadm") ? 2 : 0;
	}
# xfs_growfs doesn't work on LVMs
#elsif ($_[0] eq "xfs") {
#	return &has_command("xfs_growfs") ? 1 : 0;
#	}
else {
	return 0;
	}
}

# resize_filesystem(&lv, type, size)
sub resize_filesystem
{
if ($_[1] eq "ext2" || $_[1] eq "ext3") {
	&foreign_require("proc", "proc-lib.pl");
	local $cmd = "e2fsadm -L $_[2]k '$_[0]->{'device'}'";
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", $cmd);
	local $out;
	while(<$fh>) {
		$out .= $_;
		}
	close($fh);
	waitpid($fpid, 0);
	&additional_log("exec", undef, $cmd);
	return $? ? $out : undef;
	}
elsif ($_[1] eq "xfs") {
	# Resize the logical volume first

	# XXX resize the filesystem
	}
else {
	return "???";
	}
}


# parse_colon_file(file)
sub parse_colon_file
{
local %rv;
open(FILE, $_[0]);
while(<FILE>) {
	if (/^([^:]+):\s*(.*)/) {
		$rv{$1} = $2;
		}
	}
close(FILE);
return %rv;
}

# device_status(device)
# Returns an array of  directory, type, mounted
sub device_status
{
@mounted = &foreign_call("mount", "list_mounted") if (!@mounted);
@mounts = &foreign_call("mount", "list_mounts") if (!@mounts);
local $label = &fdisk::get_label($_[0]);

local ($mounted) = grep { &same_file($_->[1], $_[0]) ||
			  $_->[1] eq "LABEL=$label" } @mounted;
local ($mount) = grep { &same_file($_->[1], $_[0]) ||
			$_->[1] eq "LABEL=$label" } @mounts;
if ($mounted) { return ($mounted->[0], $mounted->[2], 1,
			&indexof($mount, @mounts),
			&indexof($mounted, @mounted)); }
elsif ($mount) { return ($mount->[0], $mount->[2], 0,
			 &indexof($mount, @mounts)); }
elsif ($has_raid) {
	$raidconf = &foreign_call("raid", "get_raidtab") if (!$raidconf);
	foreach $c (@$raidconf) {
		foreach $d (raid::find_value('device', $c->{'members'})) {
			return ( $c->{'value'}, "raid", 1 ) if ($d eq $_[0]);
			}
		}
	}
return ();
}

sub device_message
{
$msg = $_[2] ? 'lv_mount' : 'lv_umount';
$msg .= 'vm' if ($_[1] eq 'swap');
$msg .= 'raid' if ($_[1] eq 'raid');
return &text($msg, "<tt>$_[0]</tt>", "<tt>$_[1]</tt>");
}

# list_lvmtab()
sub list_lvmtab
{
local @rv;
open(TAB, $lvm_tab);
local $/ = "\0";
while(<TAB>) {
	chop;
	push(@rv, $_) if ($_);
	}
close(TAB);
return @rv;
}

# device_input()
sub device_input
{
local (%used, $vg, $pv, $d, $p);

# Find partitions that are part of an LVM
foreach $vg (&list_volume_groups()) {
	foreach $pv (&list_physical_volumes($vg->{'name'})) {
		$used{$pv->{'device'}}++;
		}
	}

# Show available partitions
print "<select name=device>\n";
foreach $d (&foreign_call("fdisk", "list_disks_partitions")) {
	foreach $p (@{$d->{'parts'}}) {
		next if ($used{$p->{'device'}} || $p->{'extended'});
		local @ds = &device_status($p->{'device'});
		next if (@ds);
		if ($p->{'type'} eq '83') {
			local $label = &fdisk::get_label($p->{'device'});
			next if ($used{"LABEL=$label"});
			}
		local $tag = &foreign_call("fdisk", "tag_name", $p->{'type'});
		printf "<option value='%s'>%s %s\n",
			$p->{'device'}, $p->{'desc'},
			$tag ? "($tag)" : "";
		}
	}

# Show available RAID devices
local $conf = &foreign_call("raid", "get_raidtab");
foreach $c (@$conf) {
	next if ($used{$c->{'value'}});
	local @ds = &device_status($c->{'value'});
	next if (@ds);
	printf "<option value='%s'>%s\n",
		$c->{'value'}, &text('pv_raid', $c->{'value'} =~ /md(\d+)$/ ? "$1" : $c->{'value'});
	}

print "<option value=''>$text{'pv_other'}\n";
print "</select>\n";
print "<input name=other size=30> ",
	&file_chooser_button("other"),"<br>\n";
print "<b>$text{'pv_warn'}</b>\n";
}

1;

   07070100008de6000081e40000000000000002000000013d1fe2e90000034b000000200000000000000000000000000000001300000003reloc/lvm/mkfs.cgi    #!/usr/local/bin/perl
# mkfs.cgi
# Create a new filesystem on a logical volume

require './lvm-lib.pl';
&foreign_require("proc", "proc-lib.pl");
&foreign_require("fdisk", "fdisk-lib.pl");

&ReadParse();
&error_setup($text{'mkfs_err'});
&foreign_call("fdisk", "error_setup", $text{'mkfs_err'});
&foreign_call("fdisk", "ReadParse");
$cmd = &foreign_call("fdisk", "mkfs_parse", $in{'fs'}, $in{'dev'});

$| = 1;
$theme_no_header = 1;
&header($text{'mkfs_title'}, "");
print "<hr>\n";
print &text('mkfs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1);
print "</pre>\n";

if ($?) { print "<b>$text{'mkfs_failed'}</b> <p>\n"; }
else { print "$text{'mkfs_ok'} <p>\n"; }
&webmin_log("mkfs", "lv", $in{'dev'}, \%in);

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100008de7000081e40000000000000002000000013d1fe2e900000369000000200000000000000000000000000000001800000003reloc/lvm/mkfs_form.cgi   #!/usr/local/bin/perl
# mkfs_form.cgi
# Display a form for creating a filesystem on a logical volume

require './lvm-lib.pl';
&ReadParse();
&header($text{'mkfs_title'}, "");
print "<hr>\n";
&foreign_require("fdisk", "fdisk-lib.pl");

print "<b>",&text('mkfs_desc', "<tt>$in{'fs'}</tt>",
	&foreign_call("fdisk", "fstype_name", $in{'fs'}),
	"<tt>$in{'dev'}</tt>"),"</b><br>\n";

print "<form action=mkfs.cgi>\n";
print "<input type=hidden name=dev value='$in{'dev'}'>\n";
print "<input type=hidden name=fs value='$in{'fs'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb><td><b>$text{'mkfs_header'}</b></td> </tr>\n";
print "<tr $cb><td><table width=100%>\n";
&foreign_call("fdisk", "mkfs_options", $in{'fs'});
print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100008de8000081a40000000000000002000000013d1fe2ea00000143000000200000000000000000000000000000001600000003reloc/lvm/module.info category=hardware
desc_zh_TW.Big5=ÅÞ¿èºÞ²z¨t²Î
os_support=redhat-linux mandrake-linux slackware-linux debian-linux suse-linux open-linux turbo-linux corel-linux cobalt-linux msc-linux generic-linux gentoo-linux
desc=Logical Volume Management
name=LVM
depends=mount fdisk 0.990
version=0.990
desc_ca=Gestió de Volums Lògics
 07070100008de9000081e40000000000000002000000013d1fe2e9000011a3000000200000000000000000000000000000001600000003reloc/lvm/save_lv.cgi #!/usr/local/bin/perl
# save_lv.cgi
# Create, update or delete a logical volume

require './lvm-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();

($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
($lv) = grep { $_->{'name'} eq $in{'lv'} } &list_logical_volumes($in{'vg'})
	if ($in{'lv'});

if ($in{'confirm'}) {
	# Delete the logical volume
	&error_setup($text{'lv_err2'});
	$err = &delete_logical_volume($lv);
	&error("<pre>$err</pre>") if ($err);
	&webmin_log("delete", "lv", $in{'lv'}, $lv);
	&redirect("");
	}
elsif ($in{'delete'}) {
	# Ask the user if he is sure
	&header($text{'lv_delete'}, "");
	print "<hr>\n";
	print "<center><form action=save_lv.cgi>\n";
	print "<input type=hidden name=vg value='$in{'vg'}'>\n";
	print "<input type=hidden name=lv value='$in{'lv'}'>\n";
	print "<b>",&text($lv->{'is_snap'} ? 'lv_rusnap' : 'lv_rusure',
			  "<tt>$lv->{'device'}</tt>"),"</b><p>\n";
	print "<input type=submit name=confirm ",
	      "value='$text{'lv_deleteok'}'>\n";
	print "</center></form>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# Validate inputs
	&error_setup($text{'lv_err'});
	$in{'name'} =~ /^[A-Za-z0-9\.\-\_]+$/ || &error($text{'lv_ename'});
	($same) = grep { $_->{'name'} eq $in{'name'} }
		       &list_logical_volumes($in{'vg'});
	$same && (!$in{'lv'} || $in{'lv'} ne $in{'name'}) &&
		&error($text{'lv_esame'});
	$in{'size'} =~ /^\d+$/ || &error($text{'lv_esize'});
	$in{'snap'} || $in{'lv'} || $in{'stripe_def'} ||
		$in{'stripe'} =~ /^[1-9]\d*$/ || &error($text{'lv_estripe'});

	if (!$in{'lv'}) {
		# Just create the logical volume
		$lv->{'vg'} = $in{'vg'};
		$lv->{'name'} = $in{'name'};
		$lv->{'size'} = $in{'size'};
		if ($in{'snap'}) {
			$lv->{'is_snap'} = 1;
			$lv->{'snapof'} = $in{'snapof'};
			}
		else {
			$lv->{'perm'} = $in{'perm'};
			$lv->{'alloc'} = $in{'alloc'};
			$lv->{'stripe'} = $in{'stripe'} if (!$in{'stripe_def'});
			}
		$err = &create_logical_volume($lv);
		&error("<pre>$err</pre>") if ($err);
		&webmin_log("create", "lv", $in{'name'}, $lv);
		}
	elsif ($lv->{'is_snap'}) {
		# Modifying a snapshot
		if ($lv->{'size'} != $in{'size'}) {
			$err = &resize_logical_volume($lv, $in{'size'});
			&error("<pre>$err</pre>") if ($err);
			$lv->{'size'} = $in{'size'};
			}
		if ($lv->{'name'} ne $in{'name'}) {
			# Need to rename
			$err = &rename_logical_volume($lv, $in{'name'});
			&error("<pre>$err</pre>") if ($err);
			$lv->{'name'} = $in{'name'};
			}
		}
	else {
		# Modifying the logical volume
		@stat = &device_status($lv->{'device'});
		if ($lv->{'size'} != $in{'size'}) {
			# Is the new size too big?
			local $nblocks = int($in{'size'} / $vg->{'pe_size'})+1;
			local $oblocks = int($lv->{'size'} / $vg->{'pe_size'})+1;
			if ($vg->{'pe_alloc'} - $oblocks + $nblocks > $vg->{'pe_total'}) {
				#&error(&text('lv_toobig', $nblocks, "$vg->{'pe_size'} kB", $vg->{'pe_total'} - $vg->{'pe_alloc'}));
				}

			if ($in{'sizeconfirm'}) {
				# Just resize the logical volume
				$err = &resize_logical_volume($lv, $in{'size'});
				&error("<pre>$err</pre>") if ($err);
				}
			else {
				if (&can_resize_filesystem($stat[1])) {
					# Attempt to resize properly
					$err = &resize_filesystem($lv, $stat[1], $in{'size'});
					if ($err) {
						$err = &text('resize_fs', $stat[1], "</center><pre>$err</pre><center>");
						}
					}
				else {
					# Cannot resize .. ask for confirmation
					$err = @stat ?
						&text('resize_mesg', $stat[1]) :
						$text{'resize_mesg2'};
					}
				if ($err) {
					&header($text{'resize_title'}, "");
					print "<hr>\n";
					print "<center><form action=save_lv.cgi>\n";
					foreach $i (keys %in) {
						print "<input type=hidden name=$i value='$in{$i}'>\n";
						}
					print "<b>$err</b> <p>\n";
					print "<input type=submit name=sizeconfirm value='$text{'resize_ok'}'>\n";
					print "</form></center>\n";
					print "<hr>\n";
					&footer("", $text{'index_return'});
					exit;
					}
				}
			$lv->{'size'} = $in{'size'};
			}
		if ($lv->{'perm'} ne $in{'perm'} ||
		    $lv->{'alloc'} ne $in{'alloc'}) {
			# Need to change options
			$lv->{'perm'} = $in{'perm'};
			$lv->{'alloc'} = $in{'alloc'};
			$err = &change_logical_volume($lv);
			&error("<pre>$err</pre>") if ($err);
			}
		if ($lv->{'name'} ne $in{'name'}) {
			# Need to rename
			$err = &rename_logical_volume($lv, $in{'name'});
			&error("<pre>$err</pre>") if ($err);
			$lv->{'name'} = $in{'name'};
			}
		&webmin_log("modify", "lv", $in{'lv'}, $lv);
		}
	&redirect("");
	}

 07070100008dea000081e40000000000000002000000013d1fe2e90000068b000000200000000000000000000000000000001600000003reloc/lvm/save_pv.cgi #!/usr/local/bin/perl
# save_pv.cgi
# Create, modify or delete a physical volume

require './lvm-lib.pl';
&ReadParse();

($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups();
($pv) = grep { $_->{'name'} eq $in{'pv'} } &list_physical_volumes($in{'vg'})
	if ($in{'pv'});

if ($in{'confirm'}) {
	# Delete the logical volume
	&error_setup($text{'pv_err2'});
	$err = &delete_physical_volume($pv);
	&error("<pre>$err</pre>") if ($err);
	&webmin_log("delete", "pv", $in{'pv'}, $pv);
	&redirect("");
	}
elsif ($in{'delete'}) {
	# Ask the user if he is sure
	&header($text{'pv_delete'}, "");
	print "<hr>\n";
	print "<center><form action=save_pv.cgi>\n";
	print "<input type=hidden name=vg value='$in{'vg'}'>\n";
	print "<input type=hidden name=pv value='$in{'pv'}'>\n";
	print "<b>",&text('pv_rusure',
			  "<tt>$pv->{'device'}</tt>"),"</b><p>\n";
	print "<input type=submit name=confirm ",
	      "value='$text{'pv_deleteok'}'>\n";
	print "</center></form>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	&error_setup($text{'pv_err'});
	if (!$in{'pv'}) {
		# Add the physical volume
		$pv = { 'vg' => $in{'vg'},
			'alloc' => 'y' };
		if ($in{'device'}) {
			$pv->{'device'} = $in{'device'};
			}
		else {
			-r $in{'other'} || &error($text{'pv_eother'});
			$pv->{'device'} = $in{'other'};
			}
		$err = &create_physical_volume($pv);
		&error("<pre>$err</pre>") if ($err);
		}

	# Change the volume
	if ($pv->{'alloc'} ne $in{'alloc'}) {
		$pv->{'alloc'} = $in{'alloc'};
		$err = &change_physical_volume($pv);
		&error("<pre>$err</pre>") if ($err);
		}

	&webmin_log($in{'pv'} ? "modify" : "create", "pv", $pv->{'device'},$pv);
	&redirect("");
	}

 07070100008deb000081e40000000000000002000000013d1fe2e900000764000000200000000000000000000000000000001600000003reloc/lvm/save_vg.cgi #!/usr/local/bin/perl
# save_vg.cgi
# Create, update or delete a volume group

require './lvm-lib.pl';
&ReadParse();

($vg) = grep { $_->{'name'} eq $in{'vg'} } &list_volume_groups()
	if ($in{'vg'});

if ($in{'confirm'}) {
	# Delete the volume group
	&error_setup($text{'vg_err2'});
	$err = &delete_volume_group($vg);
	&error("<pre>$err</pre>") if ($err);
	&webmin_log("delete", "vg", $in{'vg'}, $vg);
	&redirect("");
	}
elsif ($in{'delete'}) {
	# Ask the user if he is sure
	&header($text{'vg_delete'}, "");
	print "<hr>\n";
	@lvs = &list_logical_volumes($in{'vg'});
	if (@lvs) {
		print "<p><b>",&text('vg_cannot', scalar(@lvs)),"</b> <p>\n";
		}
	else {
		print "<center><form action=save_vg.cgi>\n";
		print "<input type=hidden name=vg value='$in{'vg'}'>\n";
		print "<b>",&text('vg_rusure', $vg->{'name'}),"</b><p>\n";
		print "<input type=submit name=confirm ",
		      "value='$text{'vg_deleteok'}'>\n";
		print "</center></form>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	&error_setup($text{'vg_err'});
	$in{'name'} =~ /^[A-Za-z0-9\.\-\_]+$/ || &error($text{'vg_ename'});
	if (!$in{'vg'}) {
		# Add the volume group
		$vg = { 'name' => $in{'name'} };
		local $device;
		if ($in{'device'}) {
			$device = $in{'device'};
			}
		else {
			-r $in{'other'} || &error($text{'pv_eother'});
			$device = $in{'other'};
			}
		if (!$in{'pesize_def'}) {
			$in{'pesize'} =~ /^\d+$/ || &error($text{'vg_epesize'});
			$vg->{'pe_size'} = $in{'pesize'};
			}
		$err = &create_volume_group($vg, $device);
		&error("<pre>$err</pre>") if ($err);
		&webmin_log("create", "vg", $in{'name'}, $vg);
		}
	else {
		# Rename the volume group
		if ($vg->{'name'} ne $in{'name'}) {
			$err = &rename_volume_group($vg, $in{'name'});
			&error("<pre>$err</pre>") if ($err);
			$vg->{'name'} = $in{'name'};
			}
		&webmin_log("modify", "vg", $in{'vg'}, $vg);
		}
	&redirect("");
	}

0707010000d0fa000041ed0000000000000001000000043d1ffa8700000000000000200000000000000000000000000000001000000003reloc/majordomo   0707010000d0fb000081a40000000000000002000000013d1fe2d7000007b3000000200000000000000000000000000000002000000003reloc/majordomo/acl_security.pl   
require 'majordomo-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the majordomo module
sub acl_security_form
{
local $conf = &get_config();
local @lists = &list_lists($conf);
print "<tr> <td valign=top rowspan=3><b>$text{'acl_lists'}</b></td>\n";
print "<td rowspan=3 valign=top>\n";
printf "<input type=radio name=lists_def value=1 %s> %s\n",
	$_[0]->{'lists'} eq '*' ? 'checked' : '', $text{'acl_lall'};
printf "<input type=radio name=lists_def value=0 %s> %s<br>\n",
	$_[0]->{'lists'} eq '*' ? '' : 'checked', $text{'acl_lsel'};
print "<select name=lists multiple size=3 width=150>\n";
local (%lcan, $l);
map { $lcan{$_}++ } split(/\s+/, $_[0]->{'lists'});
foreach $l (@lists) {
	printf "<option %s>%s\n",
		$lcan{$l} ? "selected" : "", $l;
	}
print "</select></td>\n";

print "<td><b>$text{'acl_global'}</b></td> <td>\n";
printf "<input type=radio name=global value=1 %s> $text{'yes'}\n",
	$_[0]->{'global'} ? "checked" : "";
printf "<input type=radio name=global value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'global'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_create'}</b></td> <td>\n";
printf "<input type=radio name=create value=1 %s> $text{'yes'}\n",
	$_[0]->{'create'} ? "checked" : "";
printf "<input type=radio name=create value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'create'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_edit'}</b></td> <td>\n";
printf "<input type=radio name=edit value=1 %s> $text{'yes'}\n",
	$_[0]->{'edit'} ? "checked" : "";
printf "<input type=radio name=edit value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'edit'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the majordomo module
sub acl_security_save
{
if ($in{'lists_def'}) {
	$_[0]->{'lists'} = "*";
	}
else {
	$_[0]->{'lists'} = join(" ", split(/\0/, $in{'lists'}));
	}
$_[0]->{'global'} = $in{'global'};
$_[0]->{'create'} = $in{'create'};
$_[0]->{'edit'} = $in{'edit'};
}

 0707010000d11e000081e40000000000000002000000013d1fe2d700000363000000200000000000000000000000000000002000000003reloc/majordomo/alias_setup.cgi   #!/usr/local/bin/perl
# alias_setup.cgi
# Create the majordomo and majordomo-owner aliases

require './majordomo-lib.pl';
&ReadParse();
$aliases_files = &get_aliases_file();
$program_dir = $config{'smrsh_program_dir'} ? $config{'smrsh_program_dir'}
				            : $config{'program_dir'};
$wrapper_path = $config{'wrapper_path'} ? $config{'wrapper_path'}
				        : "$program_dir/wrapper";
&error_setup($text{'alias_err'});
if ($in{'owner_a'}) {
	$in{'owner'} =~ /^\S+$/ || &error($text{'alias_eowner'});
	$owner = { 'enabled' => 1,
		   'name' => $in{'owner_a'},
		   'values' => [ $in{'owner'} ] };
	&foreign_call("sendmail", "create_alias", $owner, $aliases_files);
	}
$email = { 'enabled' => 1,
	   'name' => $in{'email_a'},
	   'values' => [ "|$wrapper_path majordomo" ] };
&foreign_call("sendmail", "create_alias", $email, $aliases_files);
&redirect("");

 0707010000d120000081a40000000000000002000000013d1fe2d700000066000000200000000000000000000000000000001700000003reloc/majordomo/config    majordomo_cf=/usr/local/majordomo/majordomo.cf
program_dir=/usr/local/majordomo
dynamic=0
sort_mode=0
  0707010000d121000081a40000000000000002000000013d1fe2d700000050000000200000000000000000000000000000001b00000003reloc/majordomo/config-aix    majordomo_cf=/etc/majordomo.cf
program_dir=/usr/local/bin
dynamic=0
sort_mode=0
0707010000d122000081a40000000000000002000000013d1fe2d700000062000000200000000000000000000000000000002800000003reloc/majordomo/config-debian-linux-2.2   majordomo_cf=/etc/majordomo.cf
aliases_file=
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0
  0707010000d123000081a40000000000000002000000013d1fe2d800000062000000200000000000000000000000000000002800000003reloc/majordomo/config-debian-linux-3.0   majordomo_cf=/etc/majordomo.cf
aliases_file=
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0
  0707010000d124000081a40000000000000002000000013d1fe2d800000062000000200000000000000000000000000000002100000003reloc/majordomo/config-msc-linux  majordomo_cf=/etc/majordomo.cf
aliases_file=
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0
  0707010000d125000081a40000000000000002000000013d1fe2d800000072000000200000000000000000000000000000001e00000003reloc/majordomo/config-netbsd majordomo_cf=/usr/pkg/libexec/majordomo/majordomo.cf
program_dir=/usr/pkg/libexec/majordomo
dynamic=0
sort_mode=0
  0707010000d126000081a40000000000000002000000013d1fe2d700000062000000200000000000000000000000000000002200000003reloc/majordomo/config-open-linux majordomo_cf=/etc/majordomo.cf
aliases_file=
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0
  0707010000d127000081a40000000000000002000000013d1fe2d800000081000000200000000000000000000000000000002600000003reloc/majordomo/config-open-linux-2.4 majordomo_cf=/etc/majordomo.cf
aliases_file=
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0
wrapper_path=/usr/sbin/wrapper
   0707010000d128000081a40000000000000002000000013d1fe2d700000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-6.1 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d129000081a40000000000000002000000013d1fe2d700000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-6.2 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12a000081a40000000000000002000000013d1fe2d700000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-6.3 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12b000081a40000000000000002000000013d1fe2d700000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-6.4 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12c000081a40000000000000002000000013d1fe2d800000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-7.0 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12d000081a40000000000000002000000013d1fe2d800000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-7.1 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12e000081a40000000000000002000000013d1fe2d800000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-7.2 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d12f000081a40000000000000002000000013d1fe2d800000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-7.3 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d130000081a40000000000000002000000013d1fe2d800000055000000200000000000000000000000000000002600000003reloc/majordomo/config-suse-linux-8.0 majordomo_cf=/etc/majordomo.cf
program_dir=/usr/lib/majordomo
dynamic=0
sort_mode=0

   0707010000d131000081a40000000000000002000000013d1fe2d70000019f000000200000000000000000000000000000001c00000003reloc/majordomo/config.info   majordomo_cf=Full path to majordomo config file,0
program_dir=Directory containing majordomo programs,0
wrapper_path=Path to majordomo wrapper,3,In programs directory
aliases_file=Sendmail-style aliases file,3,Get from sendmail.cf
dynamic=Use random number for list alias,1,1-Yes,0-No
sort_mode=Sort mailing lists by,1,1-Name,0-Order created
smrsh_program_dir=Directory containing sendmail safe programs,3,Anywhere
 0707010000d132000081a40000000000000002000000013d1fe2d8000001f9000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.ca    majordomo_cf=Camí complet del fitxer de configuració de majordomo,0
program_dir=Directori que conté els programes de majordomo,0
wrapper_path=Camí de l'embolcall de majordomo,3,Al directori de programes
aliases_file=Fitxer d'àlies estil sendmail,3,Obtingues de sendmail.cf
dynamic=Fes servir un número aleatori per la llista d'àlies,1,1-Sí,0-No
sort_mode=Ordena les llistes de correu per,1,1-Nom,0-Ordre de creació
smrsh_program_dir=Directori que conté els programes segurs de sendmail,3,Qualsevol lloc


   0707010000d133000081a40000000000000002000000013d1fe2d7000000ce000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.de    majordomo_cf=Absoluter Pfad zur Majordomo Konfigurationsdatei,0
program_dir=Verzeichnis&#44; dass die Majordomo-Programme enth&auml;lt,0
aliases_file=Alias Datei in Sendmail-Form,3,Ermittle aus sendmail.cf
  0707010000d134000081a40000000000000002000000013d1fe2d700000208000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.es    majordomo_cf=Trayectoria completa a archivo de configuración de majordomo,0
program_dir=Directorio que contiene los programas de majordomo,0
wrapper_path=Trayectoria a encubridor de majordomo,3,En directorio de programas
aliases_file=Archivo de alias con estilo-Sendmail,3,Obtener de sendmail.cf
dynamic=Usar número al azar para listar alias,1,1-Sí,0-No
sort_mode=Clasificar las listas de correo por,1,1-Nombre,0-Orden de creación
smrsh_program_dir=Directorio que contiene los programas seguros de sendmail,3,Cualquiera
0707010000d135000081a40000000000000002000000013d1fe2d7000000bc000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.fr    majordomo_cf=Chemin du fichier de configuration de majordomo,0
program_dir=Répertoire du programme majordomo,0
aliases_file=Fichier d'aliases de style Sendmail,3,Prendre de sendmail.cf
0707010000d136000081a40000000000000002000000013d1fe2d8000001c9000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.pl    majordomo_cf=Pe³na ¶cie¿ka do pliku konfiguracyjnego majordomo,0
program_dir=Katalog zawieraj±cy programy majordomo,0
wrapper_path=¦cie¿ka do wrappera majordomo,3,W&nbsp;katalogu programów
aliases_file=Plik aliasów w stylu Sendmaila,3,Pobierz z sendmail.cf
dynamic=U¿ywaæ losowych aliasów list,1,1-Tak,0-Nie
sort_mode=Porz±dkuj listy wed³ug,1,1-Nazwy,0-Kolejno¶ci utworzenia
smrsh_program_dir=Katalog zawieraj±cy bezpieczne programy sendmail,3,Gdziekolwiek
   0707010000d137000081a40000000000000002000000013d1fe2d8000000ab000000200000000000000000000000000000002200000003reloc/majordomo/config.info.ru_RU majordomo_cf=Ïîëíûé ïóòü ê ôàéëó êîíôèãóðàöèè,0
aliases_file=Ôàéë ïñåâäîíèìîâ â ñòèëå Sendmail,3,Âçÿòü èç sendmail.cf
program_dir=Êàòàëîã ñîäåðæàùèé ïðîãðàììû majordomo,0
 0707010000d138000081a40000000000000002000000013d1fe2d7000000ab000000200000000000000000000000000000002200000003reloc/majordomo/config.info.ru_SU majordomo_cf=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ËÏÎÆÉÇÕÒÁÃÉÉ,0
program_dir=ëÁÔÁÌÏÇ ÓÏÄÅÒÖÁÝÉÊ ÐÒÏÇÒÁÍÍÙ majordomo,0
aliases_file=æÁÊÌ ÐÓÅ×ÄÏÎÉÍÏ× × ÓÔÉÌÅ Sendmail,3,÷ÚÑÔØ ÉÚ sendmail.cf
 0707010000d139000081a40000000000000002000000013d1fe2d700000177000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.sv    majordomo_cf=Fullständig sökväg till inställningsfil för majordomo,0
program_dir=Katalog för majordomo-program,0
aliases_file=Aliasfil för sendmail-style ,3,Hämta från sendmail.cf
dynamic=Använda slumptal för listalias,1,1-Ja,0-Nej
sort_mode=Sortera mailinglistor efter,1,1-Namn,0-Ordning de skapades i
smrsh_program_dir=Katalog med sendmail-säkerhetsprogram,3,Var som helst
 0707010000d141000081a40000000000000002000000013d1fe2d800000196000000200000000000000000000000000000001f00000003reloc/majordomo/config.info.tr    majordomo_cf=Majordomo yapýlandýrma dosyasýnýn tam yolu,0
program_dir=Majordomo programlarýný içeren dizin,0
aliases_file=Sendmail stili takma adlar dosyasý,3,sendmail.cf'den al
dynamic=Takma isimleri listemek için rastgele sayýlar kullan,1,1-Evet,0-Hayýr
sort_mode=Posta listelerini sýralam,1,1-Ýsim,0-Oluþturulma sýrasýyla
smrsh_program_dir=Sendmail güvenli programlarýný içeren dizin,3,Herhangi bir yer
  0707010000d142000081a40000000000000002000000013d1fe2d700000111000000200000000000000000000000000000002200000003reloc/majordomo/config.info.zh_CN majordomo_cf=ÅäÖÃÎÄ¼þµÄÈ«Â·¾¶,0
program_dir=°üº¬ majordomo ³ÌÐòµÄÄ¿Â¼,0
aliases_file=Sendmail-style ±ðÃûÎÄ¼þ,3,´Ó sendmail.cf »ñµÃ
dynamic=ÁÐ±í±ðÃûÊ¹ÓÃËæ¼´Êý×Ö,1,1-ÊÇ,0-·ñ
sort_mode=ÓÊ¼þÁÐ±íÅÅÐò°´ÕÕ,1,1-Ãû³Æ,0-½¨Á¢Ë³Ðò
smrsh_program_dir=°üº¬ sendmail °²È«³ÌÐòµÄÄ¿Â¼,3,ÈÎºÎ
   0707010000d143000081a40000000000000002000000013d1fe2d70000008f000000200000000000000000000000000000002700000003reloc/majordomo/config.info.zh_TW.Big5    majordomo_cf=¨ì Majordomo ³]©wÀÉªº§¹¾ã¸ô®|,0
program_dir=¥]§t Majordomo µ{¦¡ªº¥Ø¿ý,0
aliases_file=Sendmail¼Ë¦¡ªº§O¦WÀÉ®×,3,¥Ñ sendmail.cf ¨ú±o
 0707010000d144000081e40000000000000002000000013d1fe2d70000151c000000200000000000000000000000000000002200000003reloc/majordomo/create_digest.cgi #!/usr/local/bin/perl
# create_digest.cgi
# Create a new digest list

require './majordomo-lib.pl';
require 'ctime.pl';
%access = &get_module_acl();
$access{'create'} || &error($text{'digest_ecannot'});
&ReadParse();
$conf = &get_config();
$ldir = &perl_var_replace(&find_value("listdir", $conf), $conf);
$program_dir = $config{'smrsh_program_dir'} ? $config{'smrsh_program_dir'}
				            : $config{'program_dir'};
$wrapper_path = $config{'wrapper_path'} ? $config{'wrapper_path'}
				        : "$program_dir/wrapper";
&error_setup($text{'digest_err'});

# Validate inputs
$in{'name'} =~ /^\S+$/ || &error($text{'create_ename'});
$in{'name'} = lc($in{'name'});
if (&get_list($in{'name'}, $conf)) {
	&error(&text('create_eexists', $in{'name'}));
	}
$aliases_files = &get_aliases_file();
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	if ($a->{'enabled'} && lc($a->{'name'}) eq lc($in{'name'})) {
		&error(&text('create_ealias', $in{'name'}));
		}
	}
$in{'owner'} =~ /^\S+$/ ||
	&error($text{'create_eowner'});
$in{'password'} =~ /^\S+$/ ||
	&error($text{'create_epassword'});
$in{'mode'} != 0 || $in{'days'} =~ /^\d+$/ ||
	&error("Invalid or missing number of days");
$in{'mode'} != 1 || $in{'lines'} =~ /^\d+$/ ||
	&error("Invalid or missing number of lines");
$in{'info'} =~ s/\r//g;
$in{'footer'} =~ s/\r//g;

# Create list members file
&lock_file("$ldir/$in{'name'}");
open(MEMS, ">$ldir/$in{'name'}");
close(MEMS);
&set_permissions("$ldir/$in{'name'}");
&unlock_file("$ldir/$in{'name'}");

# Have majordomo create the new config file, by fooling the wrapper
# into thinking it has received an email with a config command
$lfile = "$ldir/$in{'name'}.config";
&lock_file($lfile);
open(WRAPPER, "|$wrapper_path majordomo >/dev/null 2>&1");
print WRAPPER "From: root\n\n";
print WRAPPER "config $in{'name'} $in{'password'}\n\n";
close(WRAPPER);

# create the .info file
$list = &get_list_config($lfile);
chop($ctime = ctime(time()));
$updated = "[Last updated on: $ctime]\n";
&lock_file("$ldir/$in{'name'}.info");
open(INFO, ">$ldir/$in{'name'}.info");
if (&find_value("date_info", $list) eq "yes") {
	print INFO $updated;
	}
print INFO $in{'info'};
close(INFO);
&set_permissions("$ldir/$in{'name'}.info");
&unlock_file("$ldir/$in{'name'}.info");

# create the archive directory
$adir = &perl_var_replace(&find_value("filedir", $conf), $conf);
$aext = &perl_var_replace(&find_value("filedir_suffix", $conf), $conf);
if ($adir && $aext) {
	&lock_file("$adir/$in{'name'}$aext");
	mkdir("$adir/$in{'name'}$aext", 0755);
	&set_permissions("$adir/$in{'name'}$aext");
	&unlock_file("$adir/$in{'name'}$aext");
	}

# Create the digest directories if needed
$ddir = &perl_var_replace(&find_value("digest_work_dir", $conf), $conf);
$fdir = &perl_var_replace(&find_value("filedir", $conf), $conf);
$fpfx = &perl_var_replace(&find_value("filedir_suffix", $conf), $conf);
&mkdir_heir("$ddir/$in{'name'}");
&mkdir_heir("$fdir/$in{'name'}$fpfx");

# Create aliases for the new list
&foreign_call("sendmail", "lock_alias_files", $aliases_files);
&newlist_alias($in{'list'}."-digestify", "|$wrapper_path digest -r -C -l $in{'name'} $in{'name'}-outgoing");
&newlist_alias($in{'name'}, $in{'list'});
&newlist_alias($in{'name'}."-outgoing", ":include:$ldir/$in{'name'}");
&newlist_alias("owner-".$in{'name'}, $in{'owner'});
&newlist_alias("owner-".$in{'name'}."-outgoing", $in{'owner'});
&newlist_alias($in{'name'}."-owner", $in{'owner'});
&newlist_alias($in{'name'}."-approval", $in{'owner'});
&newlist_alias($in{'name'}."-request", "|$wrapper_path ".
				       "majordomo -l $in{'name'}", 1);

# Add the digestify alias for the source list
foreach $a (&foreign_call("sendmail", "list_aliases", $aliases_files)) {
	if ($a->{'name'} eq "$in{'list'}-list") {
		push(@{$a->{'values'}}, $in{'list'}."-digestify");
		&foreign_call("sendmail", "modify_alias", $a, $a);
		}
	}
&foreign_call("sendmail", "unlock_alias_files", $aliases_files);

# Update the new config file
&save_list_directive($list, $lfile, "description", $in{'desc'});
&save_list_directive($list, $lfile, "digest_name", $in{'desc'});
&save_list_directive($list, $lfile, "digest_issue", 1);
&save_list_directive($list, $lfile, "digest_volume", 1);
&save_list_directive($list, $lfile, "admin_passwd", $in{'password'});
&save_list_directive($list, $lfile, "approve_passwd", $in{'password'});
&save_list_directive($list, $lfile, "message_footer", $in{'footer'}, 1);
if ($in{'mode'} == 0) {
	&save_list_directive($list, $lfile, "digest_maxdays", $in{'days'});
	&save_list_directive($list, $lfile, "digest_maxlines", "");
	}
else {
	&save_list_directive($list, $lfile, "digest_maxdays", "");
	&save_list_directive($list, $lfile, "digest_maxlines", $in{'lines'});
	}
&flush_file_lines();
&unlock_file($lfile);
&webmin_log("create", "digest", $in{'name'}, \%in);

# add to this user's ACL
if ($access{'lists'} ne '*') {
	$access{'lists'} .= " $in{'name'}";
	&save_module_acl(\%access);
	}
&redirect("edit_list.cgi?name=$in{'name'}");

# newlist_alias(name, value, last)
sub newlist_alias
{
local $al = { 'name' => $_[0],
	      'values' => [ $_[1] ],
	      'enabled' => 1 };
&foreign_call("sendmail", "create_alias", $al, $aliases_files, !$_[2]);
}

# mkdir_heir(dir)
sub mkdir_heir
{
if (!-d $_[0]) {
	local $d = $_[0];
	$d =~ s/\/[^\/]+$//;
	&mkdir_heir($d);
	mkdir($_[0], 0755);
	&set_permissions($_[0]);
	}
}
0707010000d145000081e40000000000000002000000013d1fe2d700000648000000200000000000000000000000000000002000000003reloc/majordomo/create_form.cgi   #!/usr/local/bin/perl
# create_form.cgi
# Display a form for creating a new mailing list

require './majordomo-lib.pl';
%access = &get_module_acl();
$access{'create'} || &error($text{'create_ecannot'});
&header($text{'create_title'}, "");
print "<hr>\n";

print <<EOF;
<form action=create_list.cgi method=post>
<table border width=100%>
<tr $tb> <td><b>$text{'create_header'}</b></td> </tr>
<tr $cb> <td><table width=100%>

<tr> <td><b>$text{'create_name'}</b></td>
     <td><input name=name size=15></td> </tr>
<tr> <td><b>$text{'create_owner'}</b></td>
     <td><input name=owner size=30></td> </tr>
<tr> <td><b>$text{'create_password'}</b></td>
     <td><input name=password type=password size=10></td> </tr>
<tr> <td><b>$text{'create_desc'}</b></td>
     <td><input name=desc size=50></td> </tr>
<tr> <td valign=top><b>$text{'create_info'}</b></td>
     <td><textarea name=info rows=5 cols=60></textarea></td> </tr>
<tr> <td valign=top><b>$text{'create_footer'}</b></td>
     <td><textarea name=footer rows=3 cols=60></textarea></td> </tr>

<tr> <td><b>$text{'create_moderate'}</b></td>
     <td><input type=radio name=moderate value=yes> $text{'yes'}
         <input type=radio name=moderate value=no checked> $text{'no'}
     </td> </tr>
<tr> <td><b>$text{'create_moderator'}</b></td>
     <td><input type=radio name=moderator_def value=1 checked>
	 $text{'create_same'}
         <input type=radio name=moderator_def value=0>
         <input name=moderator size=20></td> </tr>

</table></td></tr></table>
<input type=submit value="$text{'create'}"></form>
<hr>
EOF
&footer("", $text{'index_return'});

0707010000d146000081e40000000000000002000000013d1fe2d700001033000000200000000000000000000000000000002000000003reloc/majordomo/create_list.cgi   #!/usr/local/bin/perl
# create_list.cgi
# Create a new mailing list

require './majordomo-lib.pl';
require 'ctime.pl';
%access = &get_module_acl();
$access{'create'} || &error($text{'create_ecannot'});
&ReadParse();
$conf = &get_config();
$ldir = &perl_var_replace(&find_value("listdir", $conf), $conf);
$program_dir = $config{'smrsh_program_dir'} ? $config{'smrsh_program_dir'}
				            : $config{'program_dir'};
$wrapper_path = $config{'wrapper_path'} ? $config{'wrapper_path'}
				        : "$program_dir/wrapper";
&error_setup($text{'create_err'});

# Validate inputs
$in{'name'} =~ /^\S+$/ ||
	&error($text{'create_ename'});
$in{'name'} = lc($in{'name'});
if (&get_list($in{'name'}, $conf)) {
	&error(&text('create_eexists', $in{'name'}));
	}
$aliases_files = &get_aliases_file();
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	if ($a->{'enabled'} && lc($a->{'name'}) eq lc($in{'name'})) {
		&error(&text('create_ealias', $in{'name'}));
		}
	}
$in{'owner'} =~ /^\S+$/ ||
	&error($text{'create_eowner'});
$in{'password'} =~ /^\S+$/ ||
	&error($text{'create_epassword'});
$in{'moderator_def'} || $in{'moderator'} =~ /^\S+$/ ||
	&error($text{'create_emoderator'});
$in{'info'} =~ s/\r//g;
$in{'footer'} =~ s/\r//g;

# Create list members file
&lock_file("$ldir/$in{'name'}");
open(MEMS, ">$ldir/$in{'name'}");
close(MEMS);
&set_permissions("$ldir/$in{'name'}");
&unlock_file("$ldir/$in{'name'}");

# Have majordomo create the new config file, by fooling the wrapper
# into thinking it has received an email with a resend command
$lfile = "$ldir/$in{'name'}.config";
&lock_file($lfile);
open(WRAPPER, "|$wrapper_path resend -l $in{'name'} nobody >/dev/null 2>&1");
print WRAPPER "config $in{'name'} $in{'password'}\n\n";
close(WRAPPER);

# create the .info file
$list = &get_list_config($lfile);
chop($ctime = ctime(time()));
$updated = "[Last updated on: $ctime]\n";
&lock_file("$ldir/$in{'name'}.info");
open(INFO, ">$ldir/$in{'name'}.info");
if (&find_value("date_info", $list) eq "yes") {
	print INFO $updated;
	}
print INFO $in{'info'};
close(INFO);
&set_permissions("$ldir/$in{'name'}.info");
&unlock_file("$ldir/$in{'name'}.info");

# create the archive directory
$adir = &perl_var_replace(&find_value("filedir", $conf), $conf);
$aext = &perl_var_replace(&find_value("filedir_suffix", $conf), $conf);
if ($adir && $aext) {
	&lock_file("$adir/$in{'name'}$aext");
	mkdir("$adir/$in{'name'}$aext", 0755);
	&set_permissions("$adir/$in{'name'}$aext");
	&unlock_file("$adir/$in{'name'}$aext");
	}

# Create aliases for the new list
&foreign_call("sendmail", "lock_alias_files", $aliases_files);
$lname = $config{'dynamic'} ? time()+$$ : "$in{'name'}-list";
&newlist_alias($in{'name'}, "|$wrapper_path resend ".
		            "-l $in{'name'} $lname");
&newlist_alias($lname, ":include:$ldir/$in{'name'}");
&newlist_alias("owner-".$in{'name'}, $in{'owner'});
&newlist_alias($in{'name'}."-owner", $in{'owner'});
&newlist_alias($in{'name'}."-approval", $in{'owner'});
&newlist_alias($in{'name'}."-request", "|$wrapper_path ".
				       "majordomo -l $in{'name'}", 1);
&foreign_call("sendmail", "unlock_alias_files", $aliases_files);

# Update the new config file
&save_list_directive($list, $lfile, "description", $in{'desc'});
&save_list_directive($list, $lfile, "admin_passwd", $in{'password'});
&save_list_directive($list, $lfile, "approve_passwd", $in{'password'});
&save_list_directive($list, $lfile, "message_footer", $in{'footer'}, 1);
&save_list_directive($list, $lfile, "moderate", $in{'moderate'});
&save_list_directive($list, $lfile, "moderator",
		     $in{'moderator_def'} ? "" : $in{'moderator'});
&flush_file_lines();
&unlock_file($lfile);
&webmin_log("create", "list", $in{'name'}, \%in);

# add to this user's ACL
if ($access{'lists'} ne '*') {
	$access{'lists'} .= " $in{'name'}";
	&save_module_acl(\%access);
	}
&redirect("edit_list.cgi?name=$in{'name'}");

# newlist_alias(name, value, last)
sub newlist_alias
{
local $al = { 'name' => $_[0],
	      'values' => [ $_[1] ],
	      'enabled' => 1 };
&foreign_call("sendmail", "create_alias", $al, $aliases_files, !$_[2]);
}

 0707010000d147000081a40000000000000002000000013d1fe2d70000002c000000200000000000000000000000000000001b00000003reloc/majordomo/defaultacl    lists=*
global=1
create=1
edit=1
noconfig=0
0707010000d150000081e40000000000000002000000013d1fe2d700000d0c000000200000000000000000000000000000002000000003reloc/majordomo/delete_list.cgi   #!/usr/local/bin/perl
# delete_list.cgi
# Delete a mailing list, after asking the user if he is sure

require './majordomo-lib.pl';
&ReadParse();
$name = $in{'name'};
($namere = $name) =~ s/\./\\./g;
%access = &get_module_acl();
&can_edit_list(\%access, $name) || &error($text{'delete_ecannot'});

# find aliases and files
$conf = &get_config();
$aliases_files = &get_aliases_file();
&foreign_call("sendmail", "lock_alias_files", $aliases_files)
	if ($in{'confirm'});
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	if ($a->{'name'} eq $name && $a->{'value'} =~ /-digestify/i) {
		&error($text{'delete_edigest'});
		}
	if ($a->{'name'} =~ /-digestify$/i && $a->{'value'} =~ /\s$namere\s/i) {
		$digestify = $a;
		}
	if ($a->{'name'} eq $name) {
		foreach $v (@{$a->{'values'}}) {
			$real_list = $1
				if ($v =~ /^\|\S*wrapper\s+resend.*\s(\S+)$/);
			}
		}
	}
@daliases = grep { $_->{'name'} =~ /^$namere$/i ||
		  $_->{'name'} eq $real_list ||
		  $_->{'name'} =~ /^$namere-(list|owner|approval|outgoing|request)$/i ||
		  $_->{'name'} =~ /owner-$namere-outgoing$/i ||
		  $_->{'name'} =~ /$namere-outgoing-(list|owner|approval)$/i ||
		  $_ eq $digestify ||
		  $_->{'name'} =~ /^owner-$namere$/i } @aliases;
$ldir = &perl_var_replace(&find_value("listdir", $conf), $conf);
opendir(LDIR, $ldir);
while($f = readdir(LDIR)) {
	if ($f eq $name || $f =~ /^$namere\./) {
		push(@files, "$ldir/$f");
		}
	}
closedir(LDIR);

if ($in{'confirm'}) {
	# do the deletion
	foreach $f (@files) { &lock_file($f); }
	foreach $f (@files) {
		system("rm -rf \"$f\"");
		}
	foreach $f (@files) { &unlock_file($f); }
	@daliases = sort { $b->{'line'} <=> $a->{'line'} } @daliases;
	foreach $a (@daliases) {
		&foreign_call("sendmail", "delete_alias", $a, $aliases_file);
		}

	if ($digestify) {
		# delete the digestify alias from the 'parent' list
		foreach $a (@aliases) {
			$idx = &indexof($digestify->{'name'},@{$a->{'values'}});
			if ($idx >= 0) {
				splice(@{$a->{'values'}}, $idx, 1);
				&foreign_call("sendmail",
					      "modify_alias", $a, $a);
				}
			}
		}
	&foreign_call("sendmail", "unlock_alias_files", $aliases_files);

	# remove from ACLs
	&read_acl(undef, \%wusers);
	foreach $u (keys %wusers) {
		%uaccess = &get_module_acl($u);
		$uaccess{'lists'} = join(' ', grep { $_ ne $name }
					      split(/\s+/, $uaccess{'lists'}));
		&save_module_acl(\%uaccess, $u) if ($uaccess{'lists'} ne '*');
		}
	&webmin_log("delete", "list", $name);
	&redirect("");
	}
else {
	# ask the user if he is sure
	&header($text{'delete_title'}, "");
	print "<hr>\n";
	print "<form action=delete_list.cgi>\n";
	print "<input type=hidden name=name value=\"$name\">\n";
	print "<input type=hidden name=confirm value=1>\n";
	print "<b>",&text('delete_rusure', "<tt>".&html_escape($name)."</tt>"),
	      "</b><br>\n";
	print "<ul>\n";
	foreach $f (@files) {
		print "<tt>",&html_escape($f),"</tt><br>\n";
		}
	print "</ul>\n";
	print "<b>$text{'delete_aliases'}</b><br>\n";
	print "<ul>\n";
	foreach $a (@daliases) {
		print "<tt>",&html_escape("$a->{'name'}: $a->{'value'}"),
		      "</tt><br>\n";
		}
	print "</ul>\n";
	print "<center><input type=submit ",
	      "value='$text{'delete_ok'}'></center>\n";
	print "</form>\n";
	print "<hr>\n";
	&footer("edit_list.cgi?name=$name", $text{'edit_return'});
	}

0707010000d151000081e40000000000000002000000013d1fe2d700000686000000200000000000000000000000000000002000000003reloc/majordomo/digest_form.cgi   #!/usr/local/bin/perl
# digest_form.cgi
# Display a form for creating a new disgest list

require './majordomo-lib.pl';
%access = &get_module_acl();
$access{'create'} || &error($text{'cdigest_ecannot'});
&header($text{'cdigest_title'}, "");
print "<hr>\n";

$lists = "<select name=list>\n";
foreach $l (&list_lists(&get_config())) {
	$lists .= "<option>$l\n";
	}
$lists .= "</select>\n";

$old = &text('cdigest_old', "<input name=days size=3>");
$lines = &text('cdigest_lines', "<input name=lines size=5>");

print <<EOF;
<form action=create_digest.cgi method=post>
<table border width=100%>
<tr $tb> <td><b>$text{'cdigest_header'}</b></td> </tr>
<tr $cb> <td><table width=100%>

<tr> <td><b>$text{'cdigest_name'}</b></td>
     <td><input name=name size=15></td> </tr>
<tr> <td><b>$text{'cdigest_list'}</b></td> <td>$lists</td> </tr>
<tr> <td><b>$text{'cdigest_owner'}</b></td>
     <td><input name=owner size=30></td> </tr>
<tr> <td><b>$text{'cdigest_password'}</b></td>
     <td><input name=password type=password size=10></td> </tr>
<tr> <td><b>$text{'cdigest_desc'}</b></td>
     <td><input name=desc size=50></td> </tr>
<tr> <td valign=top><b>$text{'cdigest_info'}</b></td>
     <td><textarea name=info rows=5 cols=60></textarea></td> </tr>
<tr> <td valign=top><b>$text{'cdigest_footer'}</b></td>
     <td><textarea name=footer rows=3 cols=60></textarea></td> </tr>
<tr> <td valign=top><b>$text{'cdigest_when'}</b></td>
     <td><input type=radio name=mode value=0 checked> $old<br>
	 <input type=radio name=mode value=1> $lines</td> </tr>

</table></td></tr></table>
<input type=submit value="$text{'create'}"></form>
<hr>
EOF
&footer("", $text{'index_return'});

  0707010000d152000081e40000000000000002000000013d1fe2d700000e60000000200000000000000000000000000000002000000003reloc/majordomo/edit_access.cgi   #!/usr/local/bin/perl
# edit_access.cgi
# Edit access control options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'access_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_access.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &choice_input("get_access", $text{'access_get'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print &choice_input("index_access", $text{'access_index'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print "</tr>\n";

print "<tr>\n";
print &choice_input("info_access", $text{'access_info'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print &choice_input("intro_access", $text{'access_intro'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print "</tr>\n";

print "<tr>\n";
print &choice_input("which_access", $text{'access_which'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print &choice_input("who_access", $text{'access_who'}, $conf,
		    "open",$text{'access_open'}, "list",$text{'access_list'},
		    "closed",$text{'access_closed'});
print "</tr>\n";

$adv = &find_value("advertise", $conf);
$noadv = &find_value("noadvertise", $conf);
print "<tr>\n";
print "<td valign=top><b>$text{'access_adv'}</b></td> <td valign=top>\n";
printf "<input type=radio name=adv_mode value=0 %s> $text{'access_adv0'}<br>\n",
	$adv !~ /\S/ && $noadv !~ /\S/ ? "checked" : "";
printf "<input type=radio name=adv_mode value=1 %s> $text{'access_adv1'}<br>\n",
	$adv =~ /\S/ ? "checked" : "";
printf "<input type=radio name=adv_mode value=2 %s> $text{'access_adv2'}<br>\n",
	$noadv =~ /\S/ ? "checked" : "";
print "</td> <td valign=top colspan=2>\n";
printf "<textarea rows=4 cols=40 name=adv>%s</textarea></td> </tr>\n",
	$adv =~ /\S/ ? $adv : $noadv =~ /\S/ ? $noadv : "";

$res = &find_value("restrict_post", $conf);
$ldir = &perl_var_replace(&find_value("listdir", &get_config()),
			  &get_config());
$reslist = $res eq $in{'name'} || $res eq "$ldir/$in{'name'}";
print "<tr> <td><b>$text{'access_res'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=res_mode value=0 %s> $text{'access_res0'}\n",
	$res ? "" : "checked";
printf "<input type=radio name=res_mode value=1 %s> $text{'access_res1'}\n",
	$reslist ? "checked" : "";
printf "<input type=radio name=res_mode value=2 %s> $text{'access_res2'}\n",
	$res && !$reslist ? "checked" : "";
printf "<input name=res size=35 value=\"%s\">%s</td> </tr>\n",
	$res && !$reslist ? $res : "", &file_chooser_button("res", 0);

print "<tr>\n";
print &multi_input("taboo_body", $text{'access_tbody'}, $conf);
print "</tr>\n";

print "<tr>\n";
print &multi_input("taboo_headers", $text{'access_theader'}, $conf);
print "</tr>\n";

print "<tr> <td colspan=4>$text{'access_taboo'}</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

0707010000d153000081e40000000000000002000000013d1fe2d7000005e0000000200000000000000000000000000000002000000003reloc/majordomo/edit_digest.cgi   #!/usr/local/bin/perl
# edit_digest.cgi
# Edit digest options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'digest_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_digest.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'digest_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &opt_input("digest_name", $text{'digest_name'}, $conf,
	  	 $text{'default'}, 40);
print "</tr>\n";

print "<tr>\n";
print &opt_input("digest_maxdays", $text{'digest_maxdays'},
		 $conf, $text{'digest_unlimited'}, 5, $text{'digest_days'});
print &opt_input("digest_maxlines", $text{'digest_maxlines'},
		 $conf, $text{'digest_unlimited'}, 5, $text{'digest_lines'});
print "</tr>\n";

print "<tr>\n";
print &opt_input("digest_volume", $text{'digest_volume'},
		 $conf, $text{'default'}, 4);
print &opt_input("digest_issue", $text{'digest_issue'},
		 $conf, $text{'default'}, 4);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

0707010000d154000081e40000000000000002000000013d1fe2d700000553000000200000000000000000000000000000002000000003reloc/majordomo/edit_global.cgi   #!/usr/local/bin/perl
# edit_global.cgi
# Edit global majordomo options

require './majordomo-lib.pl';
$conf = &get_config();
%access = &get_module_acl();
$access{'global'} || &error($text{'global_ecannot'});
&header($text{'global_title'}, "");
print "<hr>\n";

print "<form action=save_global.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'global_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$whereami = &find_value("whereami", $conf);
print "<tr> <td><b>$text{'global_whereami'}</b></td>\n";
print "<td><input name=whereami size=30 value=\"$whereami\"></td> </tr>\n";

$whoami = &find_value("whoami", $conf);
print "<tr> <td><b>$text{'global_whoami'}</b></td>\n";
print "<td><input name=whoami size=40 value=\"$whoami\"></td> </tr>\n";

$whoami_o = &find_value("whoami_owner", $conf);
print "<tr> <td><b>$text{'global_owner'}</b></td>\n";
print "<td><input name=whoami_owner size=40 value=\"$whoami_o\"></td> </tr>\n";

$sendmail = &find_value("sendmail_command", $conf);
print "<tr> <td><b>$text{'global_sendmail'}</b></td>\n";
print "<td><input name=sendmail_command size=40 value=\"$sendmail\">",
	&file_chooser_button("sendmail_command", 0),"</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
 0707010000d155000081e40000000000000002000000013d1fe2d7000004a5000000200000000000000000000000000000001e00000003reloc/majordomo/edit_head.cgi #!/usr/local/bin/perl
# edit_head.cgi
# Edit headers and footers

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'head_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_head.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'head_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &multi_input("message_fronter", $text{'head_fronter'}, $conf);
print "</tr>\n";

print "<tr>\n";
print &multi_input("message_footer", $text{'head_footer'}, $conf);
print "</tr>\n";

print "<tr>\n";
print &multi_input("message_headers", $text{'head_headers'}, $conf);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});
   0707010000d156000081e40000000000000002000000013d1fe2d700000737000000200000000000000000000000000000001e00000003reloc/majordomo/edit_info.cgi #!/usr/local/bin/perl
# edit_info.cgi
# Display a form for editing the intro message for a list

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'info_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_info.cgi method=post>\n";
print "<input type=hidden name=name value=$in{'name'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'info_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'info_desc'}</b></td>\n";
$desc = &find_value("description", $conf);
print "<td><input name=description size=40 value=\"$desc\"></td> </tr>\n";

print "<tr> <td valign=top><b>",&text('info_info', $in{'name'}),"</b></td>\n";
print "<td><textarea rows=5 cols=80 name=info>\n";
open(INFO, $list->{'info'});
while(<INFO>) {
	print if (!/^\[Last updated on:/);
	}
close(INFO);
print "</textarea></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'info_intro'}</b></td> <td>\n";
$intro = -r $list->{'intro'};
printf "<input type=radio name=intro_def value=1 %s> $text{'info_same'}\n",
	$intro ? "" : "checked";
printf "<input type=radio name=intro_def value=0 %s> $text{'info_below'}<br>\n",
	$intro ? "checked" : "";
print "<textarea rows=5 cols=80 name=intro>\n";
open(INTRO, $list->{'intro'});
while(<INTRO>) {
	print if (!/^\[Last updated on:/);
	}
close(INTRO);
print "</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

 0707010000d157000081e40000000000000002000000013d1fe2d700000530000000200000000000000000000000000000001e00000003reloc/majordomo/edit_list.cgi #!/usr/local/bin/perl
# edit_list.cgi
# Edit an existing mailing list

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) ||
	&error($text{'edit_ecannot'});
&header($text{'edit_title'}, "");
print "<center><font size=+1><tt>",&html_escape($in{'name'}),
      "</tt></font></center>\n";
print "<hr>\n";

@links = ( "edit_members.cgi", "edit_info.cgi", "edit_subs.cgi",
	   "edit_mesg.cgi", "edit_access.cgi", "edit_head.cgi",
	   "edit_misc.cgi" );
foreach $a (&foreign_call("sendmail", "list_aliases", &get_aliases_file())) {
	if ($a->{'name'} =~ /-digestify$/i &&
	    $a->{'value'} =~ /\s$in{'name'}\s/i) {
		$isdigest++;
		}
	}
if ($isdigest) {
	push(@links, "edit_digest.cgi");
	}
map { s/edit_(\S+).cgi/images\/$1.gif/ } (@icons = @links);
map { s/edit_(\S+).cgi/$text{"$1_title"}/ } (@titles = @links);
@links = map { $_."?name=".&urlize($in{'name'}) } @links;
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
print "<table>\n";
print "<form action=delete_list.cgi>\n";
print "<input type=hidden name=name value=\"$in{'name'}\">\n";
print "<tr> <td><input type=submit value=\"$text{'edit_delete'}\"></td>\n";
print "<td>$text{'edit_deletemsg'}</td> </tr>\n";
print "</form>\n";
print "</table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000d158000081e40000000000000002000000013d1fe2d7000008b1000000200000000000000000000000000000002100000003reloc/majordomo/edit_members.cgi  #!/usr/local/bin/perl
# edit_members.cgi
# Display a form for editing the members of some list

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&header($text{'members_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

if ($access{'edit'}) {
	print "$text{'members_desc'}<br>\n";
	}
else {
	print "$text{'members_rodesc'}<br>\n";
	}
print "<form action=save_members.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<textarea rows=15 cols=60 name=members>\n";
open(MEMS, $list->{'members'});
while(<MEMS>) {
	print &html_escape($_);
	}
close(MEMS);
print "</textarea>\n";
if (!$access{'edit'}) {
	print "<p>\n";
	}
else {
	print "<br><input type=submit value=\"$text{'save'}\" name=update>\n";
	print "<hr>\n";

	print "<table>\n";
	print "<tr> <td><b>$text{'members_sub'}</b></td>\n";
	print "<td><input name=addr_a size=40> ",
	      "<input type=submit name=add ",
	      "value=\"$text{'members_add'}\"></td> </tr>\n";

	print "<tr> <td><b>$text{'members_unsub'}</b></td>\n";
	print "<td><input name=addr_r size=40> ",
	      "<input type=submit name=remove ",
	      "value=\"$text{'members_rem'}\"></td> </tr>\n";
	print "</table></form>\n";

	print "<hr>\n";
	print "<form action=save_auto.cgi>\n";
	print "<input type=hidden name=name value='$in{'name'}'>\n";
	print "<table>\n";
	$sync = $config{"sync_$in{'name'}"};
	print "<tr> <td><b>$text{'members_sync'}</b></td> <td>\n";
	printf "<input type=radio name=sync value=1 %s> %s\n",
		$sync ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=sync value=0 %s> %s</td> </tr>\n",
		$sync ? "" : "checked", $text{'no'};

	$shost = $config{"shost_$in{'name'}"};
	print "<tr><td><b>$text{'members_dom'}</b></td>\n";
	print "<td><input name=shost size=40 value='$shost'>\n";
	print "<input type=submit value=\"$text{'save'}\"></td> </tr>\n";

	print "</table></form>\n";
	}

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

   0707010000d159000081e40000000000000002000000013d1fe2d700000729000000200000000000000000000000000000001e00000003reloc/majordomo/edit_mesg.cgi #!/usr/local/bin/perl
# edit_mesg.cgi
# Edit subscription options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'mesg_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_mesg.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'mesg_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &opt_input("reply_to", $text{'mesg_reply'},
		 $conf, $text{'mesg_none'}, 20);
print &opt_input("sender", $text{'mesg_sender'}, $conf,
		 $text{'default'}, 15);
print "</tr>\n";

print "<tr>\n";
print &opt_input("resend_host", $text{'mesg_host'}, $conf,
		 $text{'default'}, 15);
print &opt_input("subject_prefix", $text{'mesg_subject'},
		 $conf, $text{'default'}, 20);
print "</tr>\n";

print "<tr>\n";
print &select_input("precedence", $text{'mesg_precedence'}, $conf,
		    "first-class", $text{'mesg_first'},
		    "special-delivery", $text{'mesg_special'},
		    "list", $text{'mesg_list'},
		    "bulk", $text{'mesg_bulk'},
		    "junk", $text{'mesg_junk'});
print &choice_input("purge_received", $text{'mesg_purge'}, $conf,
		    "yes", $text{'yes'}, "no", $text{'no'});
print "</tr>\n";

print "<tr>\n";
print &opt_input("maxlength", $text{'mesg_maxlength'}, $conf,
		 $text{'default'}, 8, "bytes");
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

   0707010000d15a000081e40000000000000002000000013d1fe2d70000055f000000200000000000000000000000000000001e00000003reloc/majordomo/edit_misc.cgi #!/usr/local/bin/perl
# edit_misc.cgi
# Edit miscellaneous options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'misc_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_misc.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'misc_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print &choice_input("mungedomain", $text{'misc_munge'},
		    $conf, "yes",$text{'yes'}, "no",$text{'no'});
print &choice_input("debug", $text{'misc_debug'}, $conf,
		    "yes",$text{'yes'}, "no",$text{'no'});
print "</tr>\n";

print "<tr>\n";
print &choice_input("date_info", $text{'misc_info'},
		    $conf, "yes",$text{'yes'}, "no",$text{'no'});
print &choice_input("date_intro", $text{'misc_intro'},
		    $conf, "yes",$text{'yes'}, "no",$text{'no'});
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

 0707010000d15b000081e40000000000000002000000013d1fe2d700000f7a000000200000000000000000000000000000001e00000003reloc/majordomo/edit_subs.cgi #!/usr/local/bin/perl
# edit_subs.cgi
# Edit subscription options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
&header($text{'subs_title'}, "");
print "<center><font size=+1>",&text('edit_for', "<tt>".&html_escape($in{'name'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_subs.cgi>\n";
print "<input type=hidden name=name value='$in{'name'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'subs_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$pol = &find_value("subscribe_policy", $conf);
if ($pol =~ /(\S+)\+confirm/) { $pol = $1; $confirm = 1; }
print "<tr> <td><b>$text{'subs_sub'}</b></td> <td colspan=3 nowrap>\n";
printf "<input name=subscribe_policy type=radio value=open %s> %s\n",
	$pol eq "open" ? "checked" : "", $text{'subs_sopen'};
printf "<input name=subscribe_policy type=radio value=auto %s> %s\n",
	$pol eq "auto" ? "checked" : "", $text{'subs_sauto'};
printf "<input name=subscribe_policy type=radio value=closed %s> %s\n",
	$pol eq "closed" ? "checked" : "", $text{'subs_closed'};
print "</td> </tr>\n";

$upol = &find_value("unsubscribe_policy", $conf);
print "<tr> <td><b>$text{'subs_unsub'}</b></td> <td colspan=3 nowrap>\n";
printf "<input name=unsubscribe_policy type=radio value=open %s> %s\n",
	$upol eq "open" ? "checked" : "", $text{'subs_uopen'};
printf "<input name=unsubscribe_policy type=radio value=auto %s> %s\n",
	$upol eq "auto" ? "checked" : "", $text{'subs_uauto'};
printf "<input name=unsubscribe_policy type=radio value=closed %s> %s\n",
	$upol eq "closed" ? "checked" : "", $text{'subs_closed'};
print "</td> </tr>\n";

print "<tr> <td><b>$text{'subs_confirm'}</b></td> <td>\n";
printf "<input name=subscribe_policy_c type=radio value='+confirm' %s> %s\n",
	$confirm ? "checked" : "", $text{'yes'};
printf "<input name=subscribe_policy_c type=radio value='' %s> %s</td>\n",
	$confirm ? "" : "checked", $text{'no'};
print &choice_input("welcome", $text{'subs_welcome'}, $conf,
		    "yes", $text{'yes'}, "no", $text{'no'});
print "</tr>\n";

print "<tr>\n";
print &choice_input("strip", $text{'subs_strip'}, $conf,
		    "yes", $text{'yes'}, "no", $text{'no'});
print &choice_input("announcements", $text{'subs_announcements'},
		    $conf, "yes", $text{'yes'}, "no", $text{'no'});
print "</tr>\n";

print "<tr>\n";
print &choice_input("administrivia", $text{'subs_administrivia'},
		    $conf, "yes", $text{'yes'}, "no", $text{'no'});
print &opt_input("admin_passwd", $text{'subs_passwd'}, $conf,
		 $text{'default'}, 10);
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";
print "<tr>\n";
print &choice_input("moderate", $text{'subs_moderate'}, $conf,
		    "yes", $text{'yes'}, "no", $text{'no'});
print &opt_input("moderator", $text{'subs_moderator'}, $conf,
		 $text{'subs_maint'}, 20);
print "</tr>\n";

print "<tr>\n";
print &opt_input("approve_passwd", $text{'subs_mpasswd'}, $conf,
		 $text{'default'}, 10);
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";
$aliases_files = &get_aliases_file();
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	$owner = $a->{'value'}
		if (lc($a->{'name'}) eq lc("$in{'name'}-owner") ||
		    lc($a->{'name'}) eq lc("owner-$in{'name'}"));
	$approval = $a->{'value'}
		if (lc($a->{'name'}) eq lc("$in{'name'}-approval"));
	}
print "<tr> <td><b>$text{'subs_owner'}</b></td>\n";
print "<td><input name=owner size=20 value='$owner'></td>\n";

print "<td><b>$text{'subs_approval'}</b></td>\n";
print "<td><input name=approval size=20 value='$approval'></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("edit_list.cgi?name=$in{'name'}", $text{'edit_return'});

  0707010000d15c000081a40000000000000002000000013d1fe2d800000167000000200000000000000000000000000000002200000003reloc/majordomo/feedback_files.pl 
do 'majordomo-lib.pl';

sub feedback_files
{
local $conf = &get_config();
local $ldir = &perl_var_replace(&find_value("listdir", $_[0]), $_[0]);
local @lists = &list_lists($conf);
local $aliases = $config{'aliases_file'} ? $config{'aliases_file'}
					 : "/etc/aliases";
return ( $config{'majordomo_cf'}, $aliases, map { "$ldir/$_.config" } @lists );
}

1;

 070701000115d2000041ed0000000000000001000000023d1ffa8600000000000000200000000000000000000000000000001700000003reloc/majordomo/images    070701000115d3000081a40000000000000002000000013d1fe2d700000113000000200000000000000000000000000000002200000003reloc/majordomo/images/access.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 070701000115d4000081a40000000000000002000000013d1fe2d700000179000000200000000000000000000000000000001f00000003reloc/majordomo/images/dig.gif    GIF89a0 0 Â  ÿÿÿÌÌÌ ÿ ™™™fff  ÿÿ     !ù    ,    0 0  þºÜþ0²@«½Aj¥øÃ&>A æ¹l8¾JFáÂ£¬ž£
P¥õ|ÔI˜"ºG$itD¥jãxx¿à°7&.·ÐÅYT•B¡PJ©\žÚØ¢^Àø+7sL„{:x{.%vD ,6e/4–Œ|ˆoQ=„Muv@š*L@j£W0«©§Ž¥…utºšl—X¾À…“f˜žÁy¯RŸ8ÐÃ}~Äº§Ø ÂŠŒÒ;1¼B+-¹ÚÅtÜœU±Ïâl£¸ã™â¬K®·ü÷}ö¶¶‹÷ï×2‚¡ |C5®ÖdÉÂDN‹©Z
›YIC?1F5ÞD)/‚·-
dùˆ´«\§”$dà.¥Ê<3—ÝlV"ˆ¾I<b:`YÌ‰Ð¡|ŽÊLª´ÏH0M£JI  ;   070701000115d6000081a40000000000000002000000013d1fe2d7000009a2000000200000000000000000000000000000002200000003reloc/majordomo/images/digest.gif GIF89a0 0 ç  ^²‚Œ¢N\ÁÂ½¶bl¤ ª"8Ö¦¬áâßÈBXÈRiÔbyàÂÀÈ&HÃ$á¢§ÔrÒ‚ŒÔ’˜ç²´æÔÌÙBfÈ2RÞRq¦4óòóãr„ä‚¦:Dâd{Â<ë¢«ä’›ÑÒÎØ6`ò²·×JañÂÄ²öäØÈZpñÒÑÔj{È:Zäš£®v|ÇJaÒz„ÜZr»4ÎÉË½&9òÊÉäºÀº<äŠ–¹,¼RdÊbxÒ$ßJbôÚÙÆ+QÞª¯ÔŠ”ãz‹íª±·*?úúûÃDÊ
¸4PÔZrµ¹´ïíìº:DÉÊÆã\w¹7Ém{Í¶¹ž.<éêçÜdyÐ4Zì”ŸÙÚÖô½¿¼Ül€Î:Lìœ¥ÏJ`öÊÄŠ»EVÝrƒÜ|ŠëšÑC`ÓTmÜ‚ÞFiäm‚øÓÏí»¾Ò*\å¬®òª°ÇÅÄÖšœî³¶üôôÙÕÓØMnßLnë}ŒÂ*NÑOçåãÊäRpêr„ä†“Ú>d÷ÅÄÎ[o½%FñÎÍlÎ’œž$Ît„ÚDÊŠ”œ
z².LâÎÄºn|àÝÚ²0¾^t¯IYÀ½»Ð@ª
$Ã9ÐÎÌÊ¾´Ö$P¬†
²N\Îz„êÄÀ±)À2HÌ
4Â6Î<ÀdtÝ”›ÚÆÄÝ‹—úìëÖº´êÚØ¼;Z¶DÎVtÎ#Q¾>¾.ÎcuúÞäÎ,VÂDbÚ*W¶úäæ»"Ï=^jæ£©Ê8ò¤¬Þ9dÂVlþþüÊ@ºº¸¾<Îj{ú¾¼ên„Þ›¤Â$HÖDÂ=Y¾LÂj|ÊF`âÆÌØFdÈ6VävŠä–ŸòÖÜäž¥Ü^vÉfqõÞÞÕ^tÑNh÷ÎÏÜv†Þ†”ó®µšÀ6PÊ<êÎÔÒ.LÂ.J¾0ÂÆÄâæäÖftâ¦¬Óv„Õ†é¶·ÛVpööôî¦¬Ú:\ó¶»ÖNdñÆÄÇ^qÓn|È>XÇNaÕ~‡â¾Ä¹4äŽ˜¼VfâNdÜ®°ã~‹î®´º.DúþüÆ?!þMade with GIMP !ù  Û ,    0 0  þ ·	H° ÁƒªKÈ°!Á820ÚVêÕ«´àŒ³Ò&„Ã©•xÃŸ6!Bˆ])²¥A×~ð{C’\¸Ö­£á²a)mÎx
T¢Þt#Jê"öa‹S¡=–fŒ™
=h¤™€®Dš7#~¬sú¡JjQBcf„D2¤JY«R¢š.}Jk7BÈ:][ªl“v`	[@DKP S#nÒLm¢ÑçZ—+íü–­"¦DážU	âçO¾èRk}„‘ÄUg– µ'.	)ÌMÉÁ6†ˆ9AÍÝ>W´ic³NŒ˜gí>tsÌB–=¤þÁG‡¹óçit}hZåÞ=Â ý-Ü–a›:õtœ¦‡Ž»3gP“Â[ìA‡ºD·.Ï€pTeÐ%Ü‘%” „w8’Å0ù4`<äÁC|ðñ3e¼±Î3ÏˆRŽv)¡Ì74‘ùäè–XL#ƒƒË{lQÆgÍ‡N$ðéŒA‚²cG7>4óÇÄÆGm$ÁÄ L0Âšw0A‰øáN:	ðáNÌÁƒfØ+	€£Ã÷`_TþÍ
òˆxFsä³Ë."PAE3Å¤âÂ¢dBó}H3M8CÇéä1ÇM4Áƒ<þE¬bk°`Î§©cÅoÆÁ„´!C5 ¥–4 ŽßÈ!ßÔaC.“pº --Ý±¡Bù“ÆX !aCÎ4Ó$ÐLv4ÐM8¢œ#„i%ºÍ3+„!¢„a6Õ@EÕá„/°ðÄ=.1rGH¡DR0Bq($³Ï9†&/„®øÑI1?° BKþÄG Àˆê8\ÊYä00ö¤28+Äs=*d	(À(ÊAVÈðË™/S²Mm´ÁDgB’!:øpbÂ%µÌRËØáÌÂM¡`ì‡?l ÄA¨#·?p´†ë|öFpˆþ	³˜ÐÊß8„óÉß¬¨ ÆÓT#Ä>,0ôŠ‹ð#D;ðÐ‘@päpÉ,8øÐI°ÒJà­80‰<ô(sÏÓ¤Ð5ë´“†>kÁ>´È@IÕqÜ±Æ³L‚ÌdØÒL,±N-„ãŽ3ÐóLB´l‘F%ˆÂA ·2ÏÅcÀ,À$ 
3rØâC1¨ØðÉà­€“Í9 ’P;$¥QC xá XX‚g¢‹/ÀðÃÒA†{ÄCà‡2êÀŠO(@ä GBà`=Œ%˜€( Øˆ¤á
ˆ'RQW,ÀfØÀœyŒAX…è!ˆ¸!þ×A	Â  ¢j(Ä:¡ fhaCD1Ž¡€)	SÃ=²Ð9Èc=ÊM0¤²ã‡HpˆPAHäèÇð0‹p°B:PÁ6Ð÷h GfHÆ0(l`öÞ†:pÂ°ð)¦ 'üƒ
d@B5¦`dáYxÔæpvP! x*–q¨ƒá
#yÀ<ÀÑ;ø¢èÀˆngt@gÈ‚5ö \ O~Ð!Pñ(4ü(Á&ÚÁl(£ ð
â‘… lÀ7pFÀ„^*Ãû¨À.VbäÀ9`À²Ž¼ƒš[þÐ‰4£axA<ÂðM„a
~p…*PäH€ 7 E(@M¢¼a C¿¾2d!ðøh5v,pa¶@Blü Ørˆ?ºBƒ¬UØ~eä‚dÐ‘iLA+P€ˆˆ‚þ@@K ‘@Ð`Õé6Z@Šx$@±pª¡€yø!ªp<ª!Š|J	 ¡E;¬š†Ìl[q€(D‘z”!ôˆG<ž±€dÀxÅÅŠa(VHˆ6`JR”"#ÂàA
QDã³ÙÐÁ1ÁøC
öŠJL¥Pºm#@sÖpƒGàpX­ Ù´Ô‡µ¡Úk)R¢™4:%˜ 	Ý	$n¬MÔ<2Ýä$µaÄ B0Ï— Ûè]Äî0\ëMmø…:@	ÄÁVÀÚà°àš× rÛF¢z#ŽÞAb ½½¯€ ;  070701000115d8000081a40000000000000002000000013d1fe2d7000000d7000000200000000000000000000000000000002000000003reloc/majordomo/images/head.gif   GIF89a0 0 ¡  ÿÿÿ™™™fff   !ù    ,    0 0  ¨„©Ëí£œ´Ú{ƒÞ¼{¬hˆ€)¤ ²êšž¤aÊVâhüºn‹‚"…¸ûÁ–KÛ-$¬x6ÊëÊsg¥QïËûŒ2ÆüØµÖÅ(í€KÝ39ÃÞ~ritº§•·÷—Pq8((‘×—y&IùèÈ©GX9·ùÖ¹õôÒÄcÊt…‰yçuêZjš‰¸¨ªÛ2ûY—1ÕëË±,<L\¼W  ; 070701000115d9000081a40000000000000002000000013d1fe2d70000014f000000200000000000000000000000000000002000000003reloc/majordomo/images/icon.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff ÿ   ÿÿ     !ù    ,    0 0  þºÜþ0ÊIë8ëÍ;¶L VÂ¨ˆC
¤H¼Pš¢gßÙX›Ólí¬•Ê‹ù*;£À4ê 5œ”óƒZ•£d‡R‰0Y5‰0N¤UTh±š;­&Ük›¡½¬­A_Er[yvvˆ{}ŒCƒa‡mgi‹‰užy–!ŸB-‚„¦˜£eœ…xŸ R¢š¤´‘^“¬•¹dX³®'™ÄJoqÇ¯¶·7Ãz¤Î°’-`/¼±ÅMÝ½ºXÌµÊ<oç†Ê,ª&Î§]+ððúÚóÏlñ¿ì	TPA¿€ $¨Ï?™òí9øìÞ*îWkcFj>b@²¤É“(Sn\ÉÒB ; 070701000115da000081a40000000000000002000000013d1fe2d70000013e000000200000000000000000000000000000002000000003reloc/majordomo/images/info.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff ÿ ÿÿ ÿ     !ù    ,    0 0  þºÜ!¼IëŒQai{Ýæyà¸”&$¦ú¸,¹ž[mßxîrq¿É` ‡EŸ‚Àd àIéi¨TSDz©‹&[ˆÁñS{Fÿð¸|.å¡á¦ºÛ4]
z
H~IR[ƒ]~€[}^_…G›G‹‹™Ž‡’H •£Df€tx#1 ,´ªD¨Ž»¾¼\„«ˆI–‚T¸„ÄˆÁ‘¾›¬v¹Æ»“ÉÂ=½¯¤Ö´·Ú­>¨«ßá)¶ë±ï±ãòÜwóåöô‡í`ìyõº¯*ôÛw¾ZÅ)èoa=‡!&œõ°àDgÁÛ(g˜ ;  07070100011612000081a40000000000000002000000013d1fe2d70000014f000000200000000000000000000000000000002000000003reloc/majordomo/images/list.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff ÿ   ÿÿ     !ù    ,    0 0  þºÜþ0ÊIë8ëÍ;¶L VÂ¨ˆC
¤H¼Pš¢gßÙX›Ólí¬•Ê‹ù*;£À4ê 5œ”óƒZ•£d‡R‰0Y5‰0N¤UTh±š;­&Ük›¡½¬­A_Er[yvvˆ{}ŒCƒa‡mgi‹‰užy–!ŸB-‚„¦˜£eœ…xŸ R¢š¤´‘^“¬•¹dX³®'™ÄJoqÇ¯¶·7Ãz¤Î°’-`/¼±ÅMÝ½ºXÌµÊ<oç†Ê,ª&Î§]+ððúÚóÏlñ¿ì	TPA¿€ $¨Ï?™òí9øìÞ*îWkcFj>b@²¤É“(Sn\ÉÒB ; 07070100011613000081a40000000000000002000000013d1fe2d700000186000000200000000000000000000000000000002300000003reloc/majordomo/images/members.gif    GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100011614000081a40000000000000002000000013d1fe2d700000102000000200000000000000000000000000000002000000003reloc/majordomo/images/mesg.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff ÿ ÿÿ ÿ    ÿ!ù    ,    0 0  ÇºÜþ0ÊI«½8ëÍ»ÿ`(Ždižhšlë¾p,ËL BBÃÎû;a8, ¹…-E,Ç¤ÂÆëýz "áY@ê˜Í¡W©"Úñ´|>‹¥€%JKTÇ?GÕ
‚Ë÷€>€‚ƒy
~xAWW@„‹V|Xˆ_U…˜‘—A‰˜"Ÿ7£–{™““–£‡ªŽª²Š8•°´¸
X«¦›‹©¼·‚­¶¤”dÈ¦ËÍÈ~ÒÓÔÕÖ×Ø×ËÛÜÝÞßàáâãäåæ	 ;  07070100011615000081a40000000000000002000000013d1fe2d7000001cc000000200000000000000000000000000000002000000003reloc/majordomo/images/misc.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100011616000081a40000000000000002000000013d1fe2d70000014a000000200000000000000000000000000000001f00000003reloc/majordomo/images/mod.gif    GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff ÿ   ÿÿ     !ù    ,    0 0  þºÜþ0Jª½8ë:_èà"„Ì7œÀ9DK #©|²SÜo,Ó5c…\×S~Â1¥JÕt$ÓjµPQ™V«¢M™`ª8ì„ÉMÔ4û¥rAÄkÑ¬lh{ïÎr.:óy{‡ˆ‰Š‹Œ…“‘s“•E—™=›œ$—˜Ÿ!¡£¤ž¦¡¢ ‡r «!®ˆ°ª² lº§¸­´¼˜¨ÄÆÅÅ±žÂÇÎÉ¥
ÌÏÎ¬ÓÒÚÙÍÈÖ’¢«”Øä­ßè1ãÛåÝÕéß ëæÔÖñòìöøÆáx‘ømšÀYð v¢çíŸ&†ï.tw/aAýtô`/W!¦ª'rd=“œ  ;  07070100011617000081a40000000000000002000000013d1fe2d70000014a000000200000000000000000000000000000002000000003reloc/majordomo/images/subs.gif   GIF89a0 0 Â  ÿÿÿ™™™fffÿºEÿ  ª Ã¦†ÌÌÌ!ù    ,    0 0  þºÜþ0ÊI«½8ë]ƒÿ`(\ãqd©©Ö¢« Øë./M»"û[øñŽÈäNh±¥t@Fo¹g¾¬Éœ0…;(/œÄ‘Ç8ŒÎDÕ£ 
&¹£kÇç{zL}s3lmƒ„a…HSŒ:e‰w$bF—Z‘\“~–GŽš£ -Š•¡@l¬Y)¨©bŒc[+u” c‡€2±EztÃ^I*ËÌ¿†¿nwÉ‹¥d½=ƒÖ{¶Ž¢®GŠÞâ—P:žæqê«€ñìqCñ´¢ßˆÙX7ü{‡ÃØ=d
”`“†	q-”ãÐTD‹U8< ¦£GJ„¼H²¤É“  ;  0707010000d15d000081e40000000000000002000000013d1fe2d70000136f000000200000000000000000000000000000001a00000003reloc/majordomo/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display all mailing lists and majordomo options

require './majordomo-lib.pl';
%access = &get_module_acl();

# Check for the majordomo config file
if (!-r $config{'majordomo_cf'}) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("majordomo", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_econfig', "<tt>$config{'majordomo_cf'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check for the programs dir
if (!-d $config{'program_dir'}) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("majordomo", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eprograms', "<tt>$config{'program_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check majordomo version
if (!-r "$config{'program_dir'}/majordomo_version.pl") {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("majordomo", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>$text{'index_eversion'}<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
require "$config{'program_dir'}/majordomo_version.pl";
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("majordomo", "man", "doc", "google"),
	undef, undef, &text('index_version', $majordomo_version));
print "<hr>\n";
if ($majordomo_version < 1.94 || $majordomo_version >= 2) {
	print "<p>$text{'index_eversion'}<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check $homedir in majordomo.cf
$conf = &get_config();
$homedir = &find_value("homedir", $conf);
if (!-d $homedir) {
	print "<p>",&text('index_ehomedir', "<tt>$homedir</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check $listdir in majordomo.cf
$listdir = &perl_var_replace(&find_value("listdir", $conf), $conf);
if (!-d $listdir) {
	print "<p>",&text('index_elistdir', "<tt>$listdir</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

if ($config{'aliases_file'}) {
	# aliases file specified in config
	$aliases_files = [ $config{'aliases_file'} ];
	}
else {
	# Check if sendmail is setup
	%smconfig = &foreign_config("sendmail");
	if (!-r $smconfig{'sendmail_cf'}) {
		print "<p>",&text('index_esendmail',
				  "<tt>$smconfig{'sendmail_cf'}</tt>"),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}

	# Check if sendmail is the right version for the sendmail module
	$sm_conf = &foreign_call("sendmail", "get_sendmailcf");
	if (!&foreign_call("sendmail", "check_sendmail_version", $sm_conf)) {
		print "<p>$text{'index_esendmailversion'}<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}
	$aliases_files = &foreign_call("sendmail", "aliases_file", $sm_conf);
	}

# Check for the majordomo aliases
$email = &find_value("whoami", $conf); $email =~ s/\@.*$//g;
$owner = &find_value("whoami_owner", $conf); $owner =~ s/\@.*$//g;
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	if ($a->{'enabled'} && lc($a->{'name'}) eq lc($email)) {
		$majordomo_alias = 1;
		}
	if ($a->{'enabled'} && lc($a->{'name'}) eq lc($owner)) {
		$majordomo_owner = 1;
		}
	}

# Offer to setup aliases
if (!$majordomo_alias) {
	print "<p>$text{'index_setupdesc'}\n";
	print "<center><form action=alias_setup.cgi>\n";
	if (!$majordomo_owner) {
		print "<b>$text{'index_owner'}</b>\n";
		print "<input name=owner size=25>\n";
		print "<input type=hidden name=owner_a value='$owner'>\n";
		}
	print "<input type=hidden name=email_a value='$email'>\n";
	print "<input type=submit value=\"$text{'index_setup'}\">\n";
	print "</form></center>\n";
	print "<hr>\n";
	}

# Display active lists
@lists = &list_lists($conf);
@lists = sort { $a cmp $b } @lists if ($config{'sort_mode'});
map { $lcan{$_}++ } split(/\s+/, $access{'lists'});
foreach $l (grep { $lcan{$_} || $lcan{"*"} } @lists) {
	push(@links, "edit_list.cgi?name=$l");
	push(@titles, &html_escape($l));
	push(@icons, "images/list.gif");
	}
if (@links) {
	print "<a href='create_form.cgi'>$text{'index_add'}</a>\n";
	if (@links) {
		print "&nbsp;&nbsp;\n";
		print "<a href='digest_form.cgi'>$text{'index_digest'}</a>\n";
		}
	print "<br>\n";
	&icons_table(\@links, \@titles, \@icons, 5);
	}
else {
	print "<b>$text{'index_none'}</b>.<p>\n";
	}
if ($access{'create'}) {
	print "<a href='create_form.cgi'>$text{'index_add'}</a>\n";
	if (@links) {
		print "&nbsp;&nbsp;\n";
		print "<a href='digest_form.cgi'>$text{'index_digest'}</a>\n";
		}
	print "<p>\n";
	}

if ($access{'global'}) {
	print "<hr>\n";
	print "<table> <tr>\n";
	print "<form action=edit_global.cgi>\n";
	print "<td><input type=submit value='$text{'index_global'}'></td>\n";
	print "<td>$text{'index_globaldesc'}</td> </tr> </form>\n";
	print "</table>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

 07070100012f4a000041ed0000000000000001000000023d1ffa8600000000000000200000000000000000000000000000001500000003reloc/majordomo/lang  07070100012f4b000081a40000000000000002000000013d1fe2d800002c6b000000200000000000000000000000000000001800000003reloc/majordomo/lang/ca   index_title=Administrador de Llistes Majordomo
index_econfig=El fitxer de configuració $1 del majordomo no existeix. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta, o bé que el majordomo no estigui instal·lat.
index_eprograms=El directori $1 del majordomo no existeix. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta, o bé que el majordomo no estigui instal·lat.
index_eversion=Aquesta versió del majordomo no està suportada per Webmin. Només estan suportades les versions 1.94 i posteriors.
index_ehomedir=La variable <tt>$homedir</tt> del fitxer de configuració del majordomo està establerta a $1, que no existeix.
index_elistdir=La variable <tt>$listdir</tt> del fitxer de configuració del majordomo està establerta a $1, que no existeix.
index_esendmail=El fitxer de configuració del sendmail $1 no existeix. Comprova la configuració del <a href=/sendmail/>mòdul Sendmail</a>.
index_esendmailversion=No sembla que el fitxer de configuració de sendmail sigui per a les darreres versuins del sendmail. Webmin només en suporta les versions 8.8 i posteriors.
index_setupdesc=El majordomo està instal·lat al sistema, però no està degudament configurat al fitxer d'àlies del sendmail.
index_owner=Adreça de correu del propietari
index_setup=Configura els Àlies
index_none=No tens cap llista de correu definida
index_add=Afegeix una nova llista de correu
index_digest=Afegeix una nova llista de resums
index_global=Edita les Opcions del Majordomo
index_globaldesc=Edita les opcions globals del majordomo que s'apliquen a totes les llistes de correu
index_return=a les llistes de correu
index_version=Versió majordomo $1

global_title=Opcions Globals
global_ecannot=No tens permís per editar les opcions globals
global_header=Opcions Globals del Majordomo
global_whereami=Nom de host del servidor de correu (<tt>$whereami</tt>)
global_whoami=Adreça mestra del majordomo
global_owner=Adreça del propietari del majordomo
global_sendmail=Camí de l'ordre sendmail
global_err=No he pogut desar les opcions globals
global_ewhereami=Hi falta el nom de host del servidor o bé no és vàlid
global_ewhoami=Hi falta l'adreça del majordomo o bé no és vàlida
global_eowner=Hi falta l'adreça del propietari o bé no és vàlida
global_esendmail=No existeix l'ordre '$1' del sendmail

create_title=Creació de Llista de Correu
create_ecannot=No tens permís per crear noves llistes de correu
create_header=Detalls de la nova llista
create_name=Nom de la llista
create_owner=Adreça del mantenidor de la llista
create_password=Contrasenya de manteniment
create_desc=Descripció
create_info=Missatge introductori
create_footer=Peu de missatge reenviat
create_moderate=Llista moderada
create_moderator=Adreça del moderador
create_same=La mateixa que el mantenidor
create_err=No he pogut crear la llista de correu
create_ename=Hi falta el nom de la llista o bé no és vàlid
create_eexists=Ja existeix una llista anomenada '$1'
create_ealias=Ja existeix un àlies de correu de '$1'
create_eowner=Hi falta l'adreça del propietari o bé no és vàlida
create_epassword=Hi la contrasenya d'administració o bé no és vàlida
create_emoderator=Hi falta l'adreça del moderador o bé no és vàlida

cdigest_title=Creació de Llista de Resums
cdigest_ecannot=No tens permís per crear noves llistes de resums
cdigest_header=Detalls de la nova llista de resums
cdigest_name=Nom de la llista
cdigest_list=Resumeix la llista
cdigest_owner=Llista l'adreça del mantenidor
cdigest_password=Contrasenya de manteniment
cdigest_desc=Descripció
cdigest_info=Missatge introductori
cdigest_footer=Peu del correu resum
cdigest_when=Envia un resum quan
cdigest_old=El missatge més vell sigui de fa $1 dies
cdigest_lines=El total de missatges faci $1 línies
cdigest_err=No he pogut crear la llista de resums
cdigest_edays=Hi falta el nombre de dies o bé no és vàlid
cdigest_elines=Hi falta el nombre de línies o bé no és vàlid

edit_title=Edició de Llista de Correu
edit_ecannot=No tens permís per editar aquesta llista de correu
edit_delete=Suprimeix la Llista
edit_deletemsg=Suprimeix aquesta llista, incloent-hi tots els fitxers associats i àlies de correu
edit_retorn=a la llista de correu
edit_for=$1

delete_title=Supressió de Llista
delete_ecannot=No tens permís per suprimir aquesta llista de correu
delete_edigest=Aquesta llista no es pot suprimir, ja que sembla que té una llista de resums associada
delete_rusure=Segur que vols suprimir la llista de correu $1? S'esborraran els següents fitxers:
delete_aliases=S'esborraran també els següents àlies:
delete_ok=Suprimeix la Llista

members_title=Membres de la Llista
members_desc=Fes servir la caixa de text de sota per editar la llista de les adreces de correu que rebran el correu enviat a aquesta llista.
members_rodesc=La caixa de text de sota llista totes les adreces de correu que rebran el correu enviat a aquesta llista.
members_sub=Subscriu l'adreça a la llista
members_add=Afegeix
members_unsub=Treu l'adreça de la llista
members_rem=Treu
members_sync=Sincronitza els usuaris Unix amb la llista
members_dom=Nom del domini per afegir als noms d'usuari
members_eedit=No tens permís per editar els membres d'aquesta llista
members_esub=Has de triar una contrasenya de manteniment abans de subscriure adreces a aquesta llista
members_esubaddr=L'adreça subscrita ha de tenir un nom de domini complet, com ara <tt>foo@bar.com</tt>
members_eunsub=Has de triar una contrasenya de manteniment abans de treure adreces d'aquesta llista
members_eunsubaddr=L'adreça donada de baixa ha de tenir un nom de domini complet, com ara <tt>foo@bar.com</tt>

info_title=Missatges i Descripció
info_header=Missatges i descripció
info_desc=Descripció de la llista per incloure en la resposta a l'ordre <tt>lists</tt>
info_info=Missatge informatiu per retornar en resposta a l'ordre <tt>info $1</tt>
info_intro=Missatge introductori per enviar quan algú se subscriu a la llista
info_same=El mateix que el missatge informatiu
info_below=Introduït a sota...

subs_title=Subscripció i Moderació
subs_header=Opcions de subscripció i moderació
subs_sub=Política de subscripcions
subs_sopen=Tothom es pot subscriure ell/a mateix/a
subs_sauto=Tothom pot subscriure tothom
subs_closed=Cal l'aprovació del mantenidor
subs_unsub=Política de baixes
subs_uopen=Tothom es pot donar de baixa ell/a mateix/a
subs_uauto=Tothom pot donar de baixa tothom
subs_confirm=Demana confirmació de la subscripció
subs_welcome=Envia el missatge introductori
subs_strip=Afegeix a la llista només l'adreça pelada
subs_announcements=Notifica les altes i les baixes al mantenidor
subs_administrivia=Reenvia les peticions d'alta/baixa al mantenidor
subs_passwd=Contrasenya de manteniment
subs_moderate=Llista moderada
subs_moderator=Adreça del moderador
subs_maint=Mantenidor
subs_mpasswd=Contrasenya de moderació
subs_owner=Adreça de correu del propietari
subs_approval=Adreça de correu d'aprovació
subs_eowner=Hi falta l'adreça del propietari
subs_eapproval=Hi falta l'adreça d'aprovació
subs_emoderator=Hi falta l'adreça del moderador o bé no és vàlida
subs_epasswd=Hi falta la contrasenya o bé no és vàlida

mesg_title=Opcions de Correu
mesg_header=Opcions del correu de sortida
mesg_reply=Adreça Reply-To: del missatge reenviat
mesg_none=Cap
mesg_sender=Adreça Sender: del correu
mesg_host=Nom de host del correu reenviat
mesg_subject=Prefix Subject: del correu reenviat
mesg_precedence=Prioritat del correu reenviat
mesg_first=Primera classe
mesg_special=Lliurament especial
mesg_list=Llista
mesg_bulk=Normal
mesg_junk=Ronya
mesg_purge=Treu les capçaleres Received: del correu reenviat
mesg_maxlength=Mida màxima permesa de missatge
mesg_ereply=Hi falta l'adreça Reply-To: o bé no és vàlida
mesg_esender=Hi falta Sender: o bé no és vàlida
mesg_esender2=L'adreça Sender: no pot incloure un nom de host
mesg_ehost=Hi falta el nom de host o bé no és vàlid
mesg_emaxlength=Hi falta la mida màxima de missatge o bé no és vàlida

access_title=Control d'Acéss
access_header=Control d'accés a les ordres del majordomo
access_open=Tothom
access_list=Membres de la llista
access_closed=Ningú
access_get=Accés a l'ordre <tt>get</tt>
access_index=Accés a l'ordre <tt>index</tt>
access_info=Accés a l'ordre <tt>info</tt>
access_intro=Accés a l'ordre <tt>intro</tt>
access_which=Accés a l'ordre <tt>which</tt>
access_who=Accés a l'ordre <tt>who</tt>
access_adv=Inclou aquesta llista en la resposta de l'ordre <tt>lists</tt> per a...
access_adv0=Tothom
access_adv1=Les adreces que coincideixin amb les expressions...
access_adv2=Les adreces que no coincideixin amb les expressions...
access_res=Qui pot penjar missatges en aquesta llista?
access_res0=Tothom
access_res1=Els membres de la llista
access_res2=Les adreces del fitxer
access_tbody=Expressions regulars tabú del cos
access_theader=Expressions regulars tabú de les capçaleres
access_taboo=Nota: totes les expressions regulars de tabú i d'adreces han de començar i acabar amb <tt>/</tt>, com ara <tt>/foobar.com/</tt> o <tt>/obscene/</tt>.

head_title=Capçaleres i Peus
head_header=Capçaleres i peus reenviats
head_fronter=Reenvia les capçaleres de correu
head_footer=Reenvia els peus de correu
head_headers=Capçaleres SMTP extres del correu reenviat

misc_title=Opcions Miscel.lànies
misc_header=Opcions miscel·lànies de la llista
misc_munge=Fes servir el domini només quan comparis adreces
misc_debug=Mode depuració
misc_info=Inclou la data de darrera modificació al missatge informatiu
misc_intro=Inclou la data de darrera modificació al missatge introductori

digest_title=Opcions de Resum
digest_header=Opcions de generació del resum
digest_name=Títol del resum
digest_maxdays=Edat del missatge més vell abans d'enviar
digest_days=dies
digest_lines=línies
digest_maxlines=Mida màxima del resum abans d'enviar
digest_volume=Número de volum actual
digest_issue=Número de publicació actual
digest_unlimited=Il·limitada
digest_edays=Hi falta el nombre de dies o bé no és vàlid
digest_elines=Hi falta el nombre de línies o bé no és vàlid
digest_evolume=Hi falta el número de volum o bé no és vàlid
digest_eissue=Hi falta el número de publicació o bé no és vàlid

log_global=He canviat les opcions globals
log_create_list=He creat la llista de correu $1
log_create_digest=He creat la llista de resums $1
log_delete_list=He suprimit la llista de correu $1
log_delete_digest=He suprimit la llista de resums $1
log_subscribe=He subscrit $2 a la llista $1
log_unsubscribe=He donat de baixa $2 de la llista $1
log_members=He actualitzat els membres de la llista $1
log_auto=He actualitzat la sincronització de la llista $1
log_info=He actualitzat els missatges i la descripció de la llista $1
log_subs=He actualitzat la subscripció i la moderació de la llista $1
log_mesg=He actualitzat les opcions de correu de la llista $1
log_access=He actualitzat el control d'accés de la llista $1
log_head=He actualitzat les capçaleres i els peus de la llista $1
log_misc=He actualitzat les opcions miscel·lànies de la llista $1
log_digest=He actualitzat les opcions de resum de la llista $1

acl_lists=Llistes de correu que aquest usuari pot gestionar
acl_lall=Totes les llistes
acl_lsel=Seleccionades...
acl_global=Pot editar les opcions globals
acl_create=Pot crear noves llistes de correu
acl_edit=Pot editar els membres de les llistes

alias_err=No he pogut configurar els àlies
alias_eowner=Hi falta l'adreça de correu del propietari


 07070100012f4c000081a40000000000000002000000013d1fe2d800002f12000000200000000000000000000000000000001800000003reloc/majordomo/lang/de   index_title=Majordomo Listen Manager
index_econfig=Die Majordomo Konfigurationsdate $1 gibt es nicht. Vielleicht ist Ihre <a href='$2'>Modul Konfiguration</a> nicht richtig, oder Majordomo ist gar nicht installiert.
index_eprograms=Das Majordomo Verzeichnis $1 gibt es nicht. Vielleicht ist Ihre <a href='$2'>Modul Konfiguration</a> nicht richtig, oder Majordomo ist gar nicht installiert.
index_eversion=Ihre Majordomo-Version wird von Webmin nicht unterstützt. Erst die Versionen 1.94 und darüber können mit Webmin bearbeitet werden.
index_ehomedir=Die <tt>$homedir</tt> Variable in Ihrer Majordomo Konfigurationsdatei ist auf $1 eingestellt. Dieses existiert jedoch nicht.
index_elistdir=Die <tt>$listdir</tt> Variable in Ihrer Majordomo Konfigurationsdatei ist auf $1 eingestellt. Dieses existiert jedoch nicht.
index_esendmail=Die Sendmail Konfigurationsdatei $1 gibt es nicht. Prüfen Sie Ihre <a href=/sendmail/>Sendmail Modul</a> Konfiguration.
index_esendmailversion=Ihre Sendmail Konfigurationsdatei scheint nicht für eine neuere Sendmail Version zu sein. Webmin unterstützt Sendmail in der Version 8.8 und darüber.
index_setupdesc=Majordomo wurde auf Ihrem System installiert, jedoch nicht richtig in der Sendmail-Alias Datei eingetragen.
index_owner=E-mail Adresse des Besitzers
index_setup=Einrichten von Aliasen
index_none=Sie haben keine Mailinglisten definiert
index_add=Hinzufügen einer Mailingliste
index_digest=Hinzufügen einer neuen Übersichtsliste
index_global=Bearbeiten der Majordomo Optionen
index_globaldesc=Bearbeiten der globalen Majordomo Optionen, die auf alle Mailinglisten angewandt werden
index_return=Mailinglisten

global_title=Globale Optionen
global_ecannot=Sie haben nicht die Berechtigung die globalen Optionen zu bearbeiten
global_header=Globale Majordomo Optionen
global_whereami=Mail Server Hostname (<tt>$whereami</tt>)
global_whoami=Majordomo's Hauptadresse
global_owner=Majordomo's Eigentümer Adresse
global_sendmail=Sendmail Kommandopfad
global_err=Speichern der globalen Optionen gescheitert
global_ewhereami=Der Mailserver Hostname fehlt oder ist ungültig
global_ewhoami=Die Majordomo Adresse fehlt oder ist ungültig
global_eowner=Die Eigentümer Adresse fehlt oder ist ungültig
global_esendmail=Das Sendmail Kommando '$1' gibt es nicht

create_ecannot=Sie haben nicht die Berechtigung um neue Listen zu erstellen
create_title=Mailing Liste erstellen
create_header=Details der neue Liste
create_name=Name der Liste
create_owner=Adresse des Listen Verwalters
create_password=Passwort des Verwalters
create_desc=Beschreibung
create_info=Einleitende Mitteilung
create_footer=Fußzeile einer weitergeleiteten Mail
create_moderate=Moderierte Liste?
create_moderator=Adresse des Moderators
create_same=Identisch mit der Adresse des Verwalters
create_err=Das Erstellen der Mailingliste ist gescheitert
create_ename=Der Listenname fehlt oder ist ungültig
create_eexists=Eine Mailingliste mit dem Namen '$1' gibt es bereits
create_ealias=Ein Mailalias für '$1' gibt es bereits
create_eowner=Die e-mail Adresse des Besitzers fehlt oder ist ungültig
create_epassword=Das Administrator Passwort fehlt oder ist ungültig
create_emoderator=Die e-mail Adresse des Moderators fehlt oder ist ungültig

cdigest_ecannot=Sie haben keine Berechtigung eine neue Übersichtsliste zu erstellen
cdigest_title=Erstellen einer neuen Übersichtsliste
cdigest_header=Details der neuen Übersichtsliste
cdigest_name=Name der Liste
cdigest_list=Erstellen einer Übersicht der Liste
cdigest_owner=Die e-mail Adresse des Verwalters der Liste
cdigest_password=Das Passwort des Verwalters
cdigest_desc=Beschreibung
cdigest_info=Informative Mitteilung
cdigest_footer=Fußzeile der Übersichtsmail
cdigest_when=Übermittle Übersicht wenn
cdigest_old=Die älteste Nachricht ist $1 Tag alt
cdigest_lines=Die Nachrichten haben insgesamt $1 Zeilen
cdigest_err=Die Erstellung der Übersichtsliste ist gescheitert
cdigest_edays=Die Anzahl der Tage fehlt oder ist ungültig
cdigest_elines=Die Anzahl der Zeilen fehlt oder ist ungültig

edit_title=Bearbeiten der Mailingliste
edit_ecannot=Sie haben nicht die Berechtigung die Mailingliste zu bearbeiten
edit_delete=Lösche die Liste
edit_deletemsg=Lösche diese Liste zusammen mit allen verbundenen Dateien und Mailaliasen
edit_return=Mailinglist
edit_for=Für die Liste $1

delete_ecannot=Sie haben nicht die Berechtigung die Mailingliste zu löschen
delete_edigest=Diese Liste kann nicht gelöscht werden, da sie mit einer Übersichtsliste verbunden zu sein scheint
delete_title=Lösche die Liste
delete_rusure=Sind Sie sich sicher, dass Sie die Mailingliste $1 löschen möchten? Damit werden die folgenden Dateien entfernt:
delete_aliases=Diese e-mail Aliase werden ebenfalls entfernt :
delete_ok=Lösche die Liste

members_title=Mitglieder der Liste
members_desc=Verwenden Sie das untere Textfeld um die Liste der e-mail Adressen zu bearbeiten, die die Mails erhalten sollen, die an diese Liste gesendet werden.
members_rodesc=Das untere Textfeld enthält alle e-mail Adressen, die die Mails erhalten sollen, die an diese Liste gesendet werden.
members_sub=Eine Adresse zu der Liste hinzufügen
members_add=Hinzufügen
members_unsub=Entferne Adresse aus der Liste
members_rem=Entfernen
members_sync=Unix Benutzer mit der Liste synchronisieren?
members_dom=Domain Name, der an den Usernamen angehängt wird
members_eedit=Sie haben nicht die Berechtigung die Mitglieder der Liste zu bearbeiten
members_esub=Sie müssen ein Verwalterpasswort auswählen, bevor Sie eine Adresse der Liste hinzufügen können
members_esubaddr=Die Adresse die hinzugefügt werden soll, muß einen kompletten Domain Namen besitzen, z.B. <tt>foo@bar.de</tt>
members_eunsub=Sie müssen ein Verwalterpasswort auswählen, bevor Sie Adressen aus der Liste entfernen können
members_eunsubaddr=Die Adresse, die entfernt werden soll muß einen kompletten Domain Namen besitzen, z.B. <tt>foo@bar.de</tt>

info_title=Mitteilungen und Beschreibung
info_header=Mitteilungen und Beschreibung
info_desc=Beschreibung der Liste. Sie wird in die Anwort auf ein <tt>lists</tt> Kommando eingefügt
info_info=Informative Mitteilung. Sie wird als Antwort auf das <tt>info $1</tt> Kommando versendet
info_intro=Einleitende Mitteilung. Sie wird versandt, sobald sich jemand in die Liste einschreibt
info_same=Das Gleiche wie die informative Mitteilung
info_below= So wie unten eingetragen...

subs_title=Einschreibung und Moderation
subs_header=Einschreibungs- und Moderationsoptionen
subs_sub=Einschreibungsregeln
subs_sopen=Jeder darf sich selbst einschreiben
subs_sauto=Jeder darf Jeden einschreiben
subs_closed=Zustimmung des Verwalters wird benötigt
subs_unsub=Kündigungs Regeln
subs_uopen=Jeder kann sich selbst kündigen
subs_uauto=Jeder kann Jeden kündigen
subs_confirm=Wird eine Bestätigung der Einschreibung verlangt?
subs_welcome=Soll die einleitende Mitteilung versandt werden?
subs_strip=Nur die ursprüngliche Adresse zur Liste hinzufügen?
subs_announcements=Benachrichtigung an den Verwalter über Einschreibungen und Kündigungen?
subs_administrivia=Weiterleitung der Einschreibungs-/ Kündigungsanfrage an den Verwalter?
subs_passwd=Passwort des Verwalters
subs_moderate=Moderierte Liste?
subs_moderator=Adresse des Moderators?
subs_maint=Verwalter
subs_mpasswd=Moderationspasswort
subs_owner=Die e-mail Adresse des Eigentümers
subs_approval=Die e-mail Adresse der Genehmigung
subs_eowner=Die e-mail Adresse des Eigentümers fehlt
subs_eapproval=Die e-mail Adresse der Genehmigung fehlt
subs_emoderator=Die e-mail Adresse des Moderators fehlt
subs_epasswd=Das Passwort fehlt oder ist falsch

mesg_title=E-mail Optionen
mesg_header=Optionen zum Senden von e-mail
mesg_reply=Reply-To: Adresse in der zurückgesandten e-mail
mesg_none=Nichts
mesg_sender=Sender: Adresse in der e-mail
mesg_host=Hostname für die zurückgesandte e-mail
mesg_subject=Subject: Betreff der zurückgesandte e-mail
mesg_precedence=Priorität der zurückgesandten e-mail
mesg_first=Erste Klasse
mesg_special=Spezielle Zustellung
mesg_list=List
mesg_bulk=Bulk
mesg_junk=Junk
mesg_purge=Remove Recieved: Kopfzeile der zurückgesandten e-mail
mesg_maxlength=Maximal erlaubte Nachrichtengröße
mesg_ereply=Fehlende oder ungültige Reply-To: Adresse
mesg_esender=Fehlende oder ungültige Sender: Adresse
mesg_esender2=Sender: Adresse darf keinen Hostnamen enthalten
mesg_ehost=Fehlender oder ungültiger Hostname
mesg_emaxlength=Fehlende oder ungültige Einstellung der maximalen Nachrichtengröße

access_title=Zugriffskontrolle
access_header=Zugriffskontrolle für Majordomo Kommandos
access_open=Jederman
access_list=Mitglieder der Liste
access_closed=Niemand
access_get=Zugriff auf das <tt>get</tt> Kommando
access_index=Zugriff auf das <tt>index</tt> Kommando
access_info=Zugriff auf das  <tt>info</tt> Kommando
access_intro=Zugriff auf das <tt>intro</tt> Kommando
access_which=Zugriff auf das <tt>which</tt> Kommando
access_who=Zugriff auf das <tt>who</tt> Kommando
access_adv=Berücksichtige diese Liste in der Antwort auf das <tt>lists</tt> Kommando für...
access_adv0=Jederman
access_adv1=Adressen die zu folgendem Ausdruck (regexps) passen...
access_adv2=Adressen die nicht zu folgendem Ausdruck (regexps) passen...
access_res=Wer kann an die Liste schreiben?
access_res0=Jederman
access_res1=Mitglieder der Liste
access_res2=Adressen aus der Datei
access_tbody=Ausdrücke (regexps), die im Nachrichtentext nicht erscheinen dürfen
access_theader=Ausdrücke (regexps), die in der Kopfzeile nicht erscheinen dürfen
access_taboo=Hinweis: Alle Ausdrücke (regexps) der Taboo-/ und der Adressen-Liste müssen mit einem <tt>/</tt> beginnen und enden. Z.B. <tt>/foobar.de/</tt> oder <tt>/obscene/</tt>.

head_title=Kopf- und Fußzeilen
head_header=Kopf- und Fußzeile einer zurückgesandten e-mail
head_fronter=Kopfzeile einer zurückgesandten e-mail
head_footer=Fußzeile einer zurückgesandten e-mail
head_headers=Zusätzliche SMTP-Kopfzeilen für zurückgesandte e-mail

misc_title=Diverse weitere Optionen
misc_header=Diverse Listen Optionen
misc_munge=Die Domain nur beim Vergleichen von Adressen verwenden?
misc_debug=Debug Modus?
misc_info=Einfügen des Datums der letzten Änderung in die Informative Nachricht?
misc_intro=Einfügen des Datums der letzten Änderung in die Einleitenden Mitteilung?

digest_title=Optionen der weiteren Verarbeitung
digest_header=Allgemeine Verarbeitungsoptionen
digest_name=Verarbeitungstitel
digest_maxdays=Maximales Nachrichtenalter vor dem Senden
digest_days=Tage
digest_lines=Linien
digest_maxlines=Größte Verarbeitungsgröße vor dem Senden
digest_volume=Derzeitige Verarbeitungsgröße
digest_issue=Aktuelle Nummer der Ausgabe
digest_unlimited=Ohne Ende
digest_edays=Die Anzahl der Tage fehlt oder ist ungültig
digest_elines=Die Anzahl der Linien fehlt oder ist ungültig
digest_evolume=Die Verarbeitungsgröße fehlt oder ist ungültig
digest_eissue=Die Nummer der Ausgabe fehlt oder ist ungültig

log_global=Veränderte allgemeine Optionen
log_create_list=Die Mailinglist wurde erstellt: $1
log_create_digest=Erstellte Verarbeitungsoptionen: $1
log_delete_list=Gelöschte Mailinglist: $1
log_delete_digest=Gelöschte Verarbeitungsliste: $1
log_subscribe=$2 eingetragen in die Liste $1
log_unsubscribe=$2 gekündigt von der Liste $1
log_members=Aktualisierte Mitglieder der Liste $1
log_auto=Aktualisierte Synchronisation der Liste $1
log_info=Aktualisierte Nachrichten und Beschreibungen der Liste $1
log_subs=Aktualisierte Abonnements und Moderation der Liste $1
log_mesg=Aktualisierte e-mail Optionen der Liste $1
log_access=Aktualisierte Zugriffskontrolle der Liste $1
log_head=Aktualisierte Kopf- und Fußzeile der Liste $1
log_misc=Aktualisierte allgemeine Optionen der Liste $1
log_digest=Aktualisierte Verarbeitungsoptionen der Liste $1

acl_lists=Mailinglisten, die dieser Benutzer verwalten darf
acl_lall=Alle Listen
acl_lsel=Ausgewählt ...
acl_global=Kann allgemeine Optionen verändern ?
acl_create=Kann neue Mailingliste erstellen ?
acl_edit=Kann Liste der Mitglieder verändern ?

alias_err=Alias konnten nicht eingerichtet werden
alias_eowner=E-mail Adresse des Eigentümers fehlt

  07070100012f4d000081a40000000000000002000000013d1fe2d7000026ac000000200000000000000000000000000000001800000003reloc/majordomo/lang/en   index_title=Majordomo List Manager
index_econfig=The majordomo config file $1 does not exist. Maybe your <a href='$2'>module configuration</a> is incorrect, or majordomo is not installed.
index_eprograms=The majordomo directory $1 does not exist. Maybe your <a href='$2'>module configuration</a> is incorrect, or majordomo is not installed.
index_eversion=Your majordomo version is not supported by Webmin. Only versions 1.94 and above are supported.
index_ehomedir=The <tt>$homedir</tt> variable in your majordomo config file is set to $1, which does not exist.
index_elistdir=The <tt>$listdir</tt> variable in your majordomo config file is set to $1, which does not exist.
index_esendmail=The sendmail config file $1 does not exist. Check your <a href=/sendmail/>Sendmail module</a> configuration.
index_esendmailversion=Your sendmail config file does not appear to be for the latest sendmail version. Webmin only supports versions 8.8 and above.
index_setupdesc=Majordomo has been installed on your system, but not setup properly in the sendmail aliases file.
index_owner=Owner email address
index_setup=Setup Aliases
index_none=You have no mailing lists defined
index_add=Add a new mailing list
index_digest=Add a new digest list
index_global=Edit Majordomo Options
index_globaldesc=Edit global Majordomo options that apply to all mailing lists
index_return=mailing lists
index_version=Majordomo version $1

global_title=Global Options
global_ecannot=You are not allowed to edit global options
global_header=Global Majordomo options
global_whereami=Mail server hostname (<tt>$whereami</tt>)
global_whoami=Majordomo master address
global_owner=Majordomo owner's address
global_sendmail=Sendmail command path
global_err=Failed to save global options
global_ewhereami=Missing or invalid mail server hostname
global_ewhoami=Missing or invalid Majordomo address
global_eowner=Missing or invalid owner's address
global_esendmail=Sendmail command '$1' does not exist

create_ecannot=You are not allowed to create new lists
create_title=Create Mailing List
create_header=New list details
create_name=List name
create_owner=List maintainer's address
create_password=Maintenance password
create_desc=Description
create_info=Introductory message
create_footer=Forwarded mail footer
create_moderate=Moderated list?
create_moderator=Moderator's address
create_same=Same as maintainer
create_err=Failed to create mailing list
create_ename=Invalid or missing list name
create_eexists=A mailing list called '$1' already exists
create_ealias=A mail alias for '$1' already exists
create_eowner=Invalid or missing owner's email address
create_epassword=Invalid or missing administration password
create_emoderator=Invalid or missing moderator's email address

cdigest_ecannot=You are not allowed to create new digest lists
cdigest_title=Create Digest List
cdigest_header=New digest list details
cdigest_name=List name
cdigest_list=Make disgest of list
cdigest_owner=List maintainer's address
cdigest_password=Maintenance password
cdigest_desc=Description
cdigest_info=Introductory message
cdigest_footer=Digest mail footer
cdigest_when=Send digest when
cdigest_old=Oldest message is $1 days old
cdigest_lines=Messages total $1 lines
cdigest_err=Failed to create digest list
cdigest_edays=Invalid or missing number of days
cdigest_elines=Invalid or missing number of lines

edit_title=Edit Mailing List
edit_ecannot=You are not allowed to edit this mailing list
edit_delete=Delete List
edit_deletemsg=Delete this list, including all associated files and mail aliases
edit_return=mailing list
edit_for=For list $1

delete_ecannot=You are not allowed to delete this mailing list
delete_edigest=This list cannot be deleted as it appears to have an associated digest list
delete_title=Delete List
delete_rusure=Are you sure you want to delete the mailing list $1? The following files will be deleted :
delete_aliases=The following mail aliases will also be deleted :
delete_ok=Delete List

members_title=List Members
members_desc=Use the text box below to edit the list of email addresses that will receive mail sent to this list.
members_rodesc=The text box below lists all email addresses that will receive mail sent to this list.
members_sub=Subscribe address to list
members_add=Add
members_unsub=Remove address from list
members_rem=Remove
members_sync=Synchronise Unix users with list?
members_dom=Domain name to append to usernames
members_eedit=You are not allowed to edit the members of this list
members_esub=You must choose a maintenance password before subscribing addresses to this list
members_esubaddr=The address to subscribe must have a full domain name, like <tt>foo@bar.com</tt>
members_eunsub=You must choose a maintenance password before unsubscribing addresses from this list
members_eunsubaddr=The address to unsubscribe must have a full domain name, like <tt>foo@bar.com</tt>

info_title=Messages and Description
info_header=Messages and description
info_desc=List description, to be included in the responsed to the <tt>lists</tt> command
info_info=Informative message, to be returned in response to the command <tt>info $1</tt>
info_intro=Introductory message, to be sent when someone subscribes to the list
info_same=Same as informative message
info_below=As entered below..

subs_title=Subscription and Moderation
subs_header=Subscription and moderation options
subs_sub=Subscribe policy
subs_sopen=Anyone can subscribe themself
subs_sauto=Anyone can subscribe anyone
subs_closed=Maintainer approval required
subs_unsub=Unsubscribe policy
subs_uopen=Anyone can unsubscribe themself
subs_uauto=Anyone can unsubscribe anyone
subs_confirm=Require subscribe confirmation?
subs_welcome=Send introductory message?
subs_strip=Add only raw address to list?
subs_announcements=Notify maintainer of subscribes and unsubscribes?
subs_administrivia=Forward subscribe/unsubscribe requests to maintainer?
subs_passwd=Maintenance password
subs_moderate=Moderated list?
subs_moderator=Moderator's address?
subs_maint=Maintainer
subs_mpasswd=Moderation password
subs_owner=Owner's email address
subs_approval=Approval email address
subs_eowner=Missing owner's email address
subs_eapproval=Missing approval email address
subs_emoderator=Missing or invalid moderator address
subs_epasswd=Missing or invalid password

mesg_title=Email Options
mesg_header=Outgoing email options
mesg_reply=Reply-To: address in resent email
mesg_none=None
mesg_sender=Sender: address in email
mesg_host=Hostname for resent email
mesg_subject=Subject: prefix for resent email
mesg_precedence=Resent email priority
mesg_first=First class
mesg_special=Special delivery
mesg_list=List
mesg_bulk=Bulk
mesg_junk=Junk
mesg_purge=Remove Recieved: headers from resent email
mesg_maxlength=Maximum allowable message size
mesg_ereply=Missing or invalid Reply-To: address
mesg_esender=Missing or invalid Sender: address
mesg_esender2=Sender: address must not include a hostname
mesg_ehost=Missing or invalid hostname
mesg_emaxlength=Missing or invalid maximum message size

access_title=Access Control
access_header=Access control for majordomo commands
access_open=Anyone
access_list=List members
access_closed=Nobody
access_get=Access to <tt>get</tt> command
access_index=Access to <tt>index</tt> command
access_info=Access to <tt>info</tt> command
access_intro=Access to <tt>intro</tt> command
access_which=Access to <tt>which</tt> command
access_who=Access to <tt>who</tt> command
access_adv=Include this list in response to <tt>lists</tt> command for..
access_adv0=Everyone
access_adv1=Addresses matching regexps..
access_adv2=Addresses not matching regexps..
access_res=Who can post to the list?
access_res0=Anyone
access_res1=List members
access_res2=Addresses in file
access_tbody=Taboo body regexps
access_theader=Taboo header regexps
access_taboo=Note: all taboo and address regexps must begin and end with <tt>/</tt> , like <tt>/foobar.com/</tt> or <tt>/obscene/</tt>.

head_title=Headers and Footers
head_header=Resent email headers and footers
head_fronter=Resent email header
head_footer=Resent email footer
head_headers=Extra SMTP headers for resent email

misc_title=Miscellaneous Options
misc_header=Miscellaneous list options
misc_munge=Use domain only when comparing addresses?
misc_debug=Debug mode?
misc_info=Include last modified date in informative message?
misc_intro=Include last modified date in introductory message?

digest_title=Digest Options
digest_header=Digest generation options
digest_name=Digest title
digest_maxdays=Oldest message age before sending
digest_days=days
digest_lines=lines
digest_maxlines=Max digest size before sending
digest_volume=Current volume number
digest_issue=Current issue number
digest_unlimited=Unlimited
digest_edays=Missing or invalid number of days
digest_elines=Missing or invalid number of lines
digest_evolume=Missing or invalid volume number
digest_eissue=Missing or invalid issue number

log_global=Changed global options
log_create_list=Created mailing list $1
log_create_digest=Created digest list $1
log_delete_list=Deleted mailing list $1
log_delete_digest=Deleted digest list $1
log_subscribe=Subscribed $2 to list $1
log_unsubscribe=Unsubscribed $2 from list $1
log_members=Updated members of list $1
log_auto=Updated synchronisation for list $1
log_info=Updated messages and description for list $1
log_subs=Updated subscription and moderation for list $1
log_mesg=Updated email options for list $1
log_access=Updated access control for list $1
log_head=Updated headers and footers for list $1
log_misc=Updated miscellaneous Options for list $1
log_digest=Updated digest options for list $1

acl_lists=Mailing lists this user can manage
acl_lall=All lists
acl_lsel=Selected..
acl_global=Can edit global options?
acl_create=Can create new mailing lists?
acl_edit=Can edit list membership?

alias_err=Failed to setup aliases
alias_eowner=Missing owner email address

07070100012f4e000081a40000000000000002000000013d1fe2d800002c29000000200000000000000000000000000000001800000003reloc/majordomo/lang/es   index_title=Gestor de Listas Majordomo
index_econfig=El archivo de configuración de majordomo $1 no existe. Quizás tu <a href='$2'>configuración del módulo</a> sea incorrecta o majordomo no está instalado.
index_eprograms=El directorio de majordomo $1 no existe. Quizás tu <a href='$2'>configuración del módulo</a> sea incorrecta o majordomo no está instalado.
index_eversion=Tu versión de majordomo no está soportada por Webmin. Sólo las versiones 1.94 y superiores están soportadas.
index_ehomedir=La variable <tt>$homedir</tt> de tu archivo de configuración de majordomo está configurada con el valor $1, el cual no existe.
index_elistdir=La variable <tt>$listdir</tt> de tu archivo de configuración de majordomo está configurada con el valor $1, el cual no existe.
index_esendmail=El archivo de configuración $1 no existe. Revisa tu <a href=/sendmail/>módulo de configuración de Sendmail</a>.
index_esendmailversion=Tu archivo de configuración de sendmail no parece ser el de la última versión de sendmail. Webmin sólo soporta versiones 8.8 y superiores.
index_setupdesc=Majordomo ha sido instalado en tu sistema, pero no está configurado adecuádamente en los archivos de alias de sendmail.
index_owner=Dirección de correo del propietario
index_setup=Configurar Aliases
index_none=No tienes definidas listas de correo
index_add=Añadir una nueva lista de correo
index_digest=Añadir una nueva lista de resumen
index_global=Editar Opciones de Majordomo
index_globaldesc=Editar opciones globales de Majordomo que se aplican a todas las listas de correo
index_return=listas de correo

global_title=Opciones Globales
global_ecannot=No estás autorizado a editar opciones globales
global_header=Opciones Globales de Majordomo
global_whereami=Nombre de máquina del servidor de Correo (<tt>$whereami</tt>)
global_whoami=Dirección maestra de Majordomo
global_owner=Dirección de propietario de Majordomo
global_sendmail=Trayectoria del comando Sendmail
global_err=No pude salvar opciones globales
global_ewhereami=Nombre de máquina de servidor de correo sin poner o inválido
global_ewhoami=Dirección de Majordomo sin poner o inválida
global_eowner=Dirección del propietario sin poner o inválida
global_esendmail=El comando de Sendmail '$1' no existe

create_ecannot=No estás autorizado a crear nuevas listas
create_title=Crear Lista de Correo
create_header=Detalles de la nueva lista
create_name=Nombre de la lista
create_owner=Dirección de mantenedores de la lista
create_password=Clave de acceso de Mantenimiento
create_desc=Descripción
create_info=Mensaje introductorio
create_footer=Pie de correo remitido
create_moderate=¿Lista moderada?
create_moderator=Dirección del moderador
create_same=La misma que la del mantenedor
create_err=No pude crear la lista de correo
create_ename=Nombre de lista inválido o sin poner
create_eexists=Ya existe una lista de correo llamada '$1'
create_ealias=Ya existe un alias de correo para '$1'
create_eowner=Dirección de correo de propietario sin poner o inválida
create_epassword=Clave de acceso de administración inválida o sin poner
create_emoderator=Dirección de correo del moderador inválida o sin poner

digest_ecannot=No estás autorizado a crear nuevas listas resumen
digest_title=Crear Listas Resumen
digest_header=Detalles de nueva lista resumen
digest_name=Nombre de lista
digest_list=Hacer resumen de lista
digest_owner=Lista de dirección de mantenedor
digest_password=Clave de acceso de mantenimiento
digest_desc=Descripción
digest_info=Mensaje introductorio
digest_footer=Pie de correo resumen
digest_when=Enviar resumen cuando
digest_old=El mensaje más viejo tiene $1 días
digest_lines=Total $1 líneas en mensajes
digest_err=No pude crear lista resumen
digest_edays=Número de días inválido o sin poner
digest_elines=Número de líneas inválido o sin poner

edit_title=Editar Lista de Correo
edit_ecannot=No estás autorizado a editar esta lista de correo
edit_delete=Borrar Lista
edit_deletemsg=Borrar esta lista, incluyendo todos sus archivos asociados y aliases de correo
edit_return=lista de correo
edit_for=Para la lista $1

delete_ecannot=No estás autorizado a borrar esta lista de correo
delete_edigest=Esta lista no puede ser borrada debido a que parece tener una lista resumen asociada
delete_title=Borrar Lista
delete_rusure=¿Estás seguro de querer borrar la lista de correo $1?. Los siguientes archivos serán borrados:
delete_aliases=Los siguientes aliases de correo serán también borrados:
delete_ok=Borrar Lista

members_title=Miembros de Lista
members_desc=Utiliza la caja de texto inferior para editar la lista de direcciones de correo que recibirán el correo enviado a esta lista.
members_rodesc=La caja de texto inferior lista todas las direcciones de correo que recibirán el correo enviado a esta lista.
members_sub=Subscribir dirección a lista
members_add=Añadir
members_unsub=Quitar dirección de la lista
members_rem=Quitar
members_sync=¿Sincronizo usuarios Unix con la lista?
members_dom=Nombre de dominio a añadir a nombres de usuario
members_eedit=No estás autorizado a editar los miembros de esta lista
members_esub=Debes de seleccionar una clave de acceso de mantenimiento antes de suscribir direcciones a esta lista
members_esubaddr=La dirección a suscribir debe de tener nombre completo de dominio, como <tt>foo@bar.com</tt>
members_eunsub=Debes de seleccionar una clave de acceso de mantenimiento antes de quitar suscripciones de direcciones de esta lista
members_eunsubaddr=La dirección a dar de baja debe de tener un nombre completo de dominio, como <tt>foo@bar.com</tt>

info_title=Mensajes y Descripción
info_header=Mensajes y descripción
info_desc=Descripción de lista, a ser incluída en el comando de respuesta a las <tt>listas</tt>
info_info=Mensaje informativo, a devolver en respuesta al comando <tt>info $1</tt>
info_intro=Mensaje introductorio, a enviar cuando alguien se suscriba a la lista
info_same=El mismo que el mensaje informativo
info_below=Según se digite debajo...

subs_title=Suscripción y Moderación
subs_header=Opciones de suscripción y moderación
subs_sub=Política de suscripción
subs_sopen=Cualquiera se puede suscribir
subs_sauto=Cualquiera puede suscribir a cualquiera
subs_closed=Se requiere aprobación del mantenedor
subs_unsub=Política de bajas
subs_uopen=Cualquiera puede dar de baja su suscripción
subs_uauto=Cualquiera puede dar de baja la suscripción a cualquiera
subs_confirm=¿Requiero confirmación de suscripción?
subs_welcome=¿Envío mensaje introductorio?
subs_strip=¿Añado sólo dirección tal cual a la lista?
subs_announcements=¿Notifico al mantenedor las suscripciones y las bajas?
subs_administrivia=¿Remito requerimientos de suscripción/baja al mantenedor?
subs_passwd=Clave de acceso de mantenimiento
subs_moderate=¿Lista moderada?
subs_moderator=¿Dirección del moderador?
subs_maint=Mantenedor
subs_mpasswd=Clave de acceso de moderación
subs_owner=Dirección de correo del propietario
subs_approval=Dirección de correo de aprobación
subs_eowner=Dirección de correo del propietario sin poner
subs_eapproval=Dirección de correo de aprobación sin poner
subs_emoderator=Dirección del moderador inválida o sin poner
subs_epasswd=Clave de acceso inválida o sin poner

mesg_title=Opciones de Correo
mesg_header=Opciones de correo saliente
mesg_reply=Responer-A: dirección en correo reenviado
mesg_none=Ninguna
mesg_sender=Remitente: dirección en correo
mesg_host=Nombre de máquina para correo reenviado
mesg_subject=Asunto: prefijo para correo reenviado
mesg_precedence=Prioridad de correo reenviado
mesg_first=Primera clase
mesg_special=Entrega especial
mesg_list=Lista
mesg_bulk=Enorme
mesg_junk=Restos
mesg_purge=Quitar recibidas: cabeceras de correo reenviado
mesg_maxlength=Medida máxima permitida de mensaje
mesg_ereply=Responder-A inválido o sin poner: dirección
mesg_esender=Remitente inválido o sin poner: dirección
mesg_esender2=Remitente: la dirección no debe de incluir un nombre de máquina
mesg_ehost=Nombre de máquina inválido o sin poner
mesg_emaxlength=Medida máxima de mensaje inválida o sin poner

access_title=Control de Acceso
access_header=Control de acceso para los comandos de majordomo
access_open=Cualquiera
access_list=Miembros de la lista
access_closed=Ninguno
access_get=Acceso al comando <tt>get</tt>
access_index=Acceso al comando <tt>index</tt>
access_info=Acceso al comando <tt>info</tt>
access_intro=Acceso al comando <tt>intro</tt>
access_which=Acceso al comando <tt>which</tt>
access_who=Acceso al comando <tt>who</tt>
access_adv=Incluir esta lista en respuesta al comando <tt>lists</tt> para...
access_adv0=Cada uno
access_adv1=Las direcciones que coincidan con expresión...
access_adv2=Las direcciones que no coincidan con expresión...
access_res=¿Quién puede enviar correo a la lista?
access_res0=Cualquiera
access_res1=Miembros de la lista
access_res2=Direcciones en archivo
access_tbody=Expresiones en cuerpo que son tabú
access_theader=Expresiones en cabecera que son tabú
access_taboo=Nota: todas las expresiones de direcciones y de tabú deben de comenzar y terminar con <tt>/</tt>, como <tt>/foobar.com/</tt> o <tt>/obsceno/</tt>.

head_title=Cabeceras y Pies
head_header=Cabeceras y pies de correo reenviado
head_fronter=Cabecera de correo reenviado
head_footer=Pie de correo reenviado
head_headers=Cabeceras extra de SMTP para correo reenviado

misc_title=Opciones Varias
misc_header=Lista de opciones varias
misc_munge=¿Uso sólo el dominio cuando comparo las direcciones?
misc_debug=¿Modo depuración?
misc_info=¿Incluyo la fecha de última modificación en mensaje informativo?
misc_intro=¿Incluyo la fecha de última modificación en mensaje introductorio?

digest_title=Opciones de Resumen
digest_header=Opciones de generación de resumen
digest_name=Título de resumen
digest_maxdays=Edad de mensaje más viejo antes de enviar
digest_days=días
digest_lines=líneas
digest_maxlines=Máx medida de resumen antes de enviar
digest_volume=Número de volumen en curso
digest_issue=Número de asunto en curso
digest_unlimited=Ilimitado
digest_edays=Número de días inválido o sin poner
digest_elines=Número de líneas inválido o sin poner
digest_evolume=Número de volumen inválido o sin poner
digest_eissue=Número de asunto inválido o sin poner

log_global=Cambiadas opciones globales
log_create_list=Creada lista de correo $1
log_create_digest=Creada lista resumen $1
log_delete_list=Borrada lista de correo $1
log_delete_digest=Borrada lista resumen $1
log_subscribe=Suscrito $2 a lista $1
log_unsubscribe=Dado de baja $2 de la lista $1
log_members=Actualizados miembros de lista $1
log_auto=Actualizada sincronización para lista $1
log_info=Actualizados mensajes y descripción para lista $1
log_subs=Actualizada suscripción y moderación para lista $1
log_mesg=Actualizadas opciones de correo para lista $1
log_access=Actualizado control de acceso para lista $1
log_head=Actualizadas cabeceras y pies para lista $1
log_misc=Actualizadas opciones varias para lista $1
log_digest=Actualizadas opciones de resumen para lista $1

acl_lists=Listas de correo que este usuario puede manejar
acl_lall=Todas las listas
acl_lsel=Las seleccionadas...
acl_global=¿Puede editar opciones globales?
acl_create=¿Puede crear nuevas listas de correo?
acl_edit=¿Puede editar pertenecia a listas?

alias_err=No pude configurar aliases
alias_eowner=Falta dirección de correo de propietario

   07070100012f4f000081a40000000000000002000000013d1fe2d800002756000000200000000000000000000000000000001f00000003reloc/majordomo/lang/ja_JP.euc    index_title=Majordomo ¥ê¥¹¥È ¥Þ¥Í¡¼¥¸¥ã
index_econfig=Majordomo ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a>¤¬ÉÔÀµ¤«¡¢majordomo ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eprograms=Majordomo ¥Ç¥£¥ì¥¯¥È¥ê $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤«¡¢majordomo ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_eversion=Webmin ¤Ï¡¢¤´»ÈÍÑ¤Î majordomo ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó 1.94 °Ê¹ß¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
index_ehomedir=Majordomo ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î<tt>$homedir</tt> ÊÑ¿ô¤¬ $1 ¤ËÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£
index_elistdir=Majordomo ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î<tt>$listdir</tt> ÊÑ¿ô¤¬ $1 ¤ËÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£
index_esendmail=sendmail ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href=/sendmail/>sendmail ¥â¥¸¥å¡¼¥ë</a>ÀßÄê¤ò³ÎÇ§¤·¤Æ²¼¤µ¤¤¡£
index_esendmailversion=¤³¤Îsendmail ÀßÄê¥Õ¥¡¥¤¥ë¤ÏºÇ¿·¤Î sendmail ¥Ð¡¼¥¸¥ç¥óÍÑ¤Ç¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£Webmin ¤Ï¥Ð¡¼¥¸¥ç¥ó 8.8 °Ê¹ß¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
index_setupdesc=Majordomo ¤Ï¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢sendmail ¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤ÇÀµ¤·¤¯ÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_owner=½êÍ­¼Ô E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
index_setup=¥»¥Ã¥È¥¢¥Ã¥× ¥¨¥¤¥ê¥¢¥¹
index_none=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
index_add=¿·µ¬¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òÄÉ²Ã
index_digest=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òÄÉ²Ã
index_global=Majordomo ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_globaldesc=¤¹¤Ù¤Æ¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ËÅ¬ÍÑ¤¹¤ë¥°¥í¡¼¥Ð¥ëMajordomo ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_return=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È

global_title=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
global_ecannot=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
global_header=¥°¥í¡¼¥Ð¥ë Majordomo ¥ª¥×¥·¥ç¥ó
global_whereami=¥á¡¼¥ë ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾ (<tt>$whereami</tt>)
global_whoami=Majordomo ¥Þ¥¹¥¿¡¼ ¥¢¥É¥ì¥¹
global_owner=Majordomo ½êÍ­¼Ô¤Î¥¢¥É¥ì¥¹
global_sendmail=sendmail ¥³¥Þ¥ó¥É ¥Ñ¥¹
global_err=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
global_ewhereami=¥á¡¼¥ë ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_ewhoami=Majordomo ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_eowner=½êÍ­¼Ô¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_esendmail=sendmail ¥³¥Þ¥ó¥É '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

create_ecannot=¿·µ¬¤Î¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
create_title=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÎºîÀ®
create_header=¿·µ¬¤Î¥ê¥¹¥È¤Î¾ÜºÙ
create_name=¥ê¥¹¥ÈÌ¾
create_owner=¥ê¥¹¥È¤Î´ÉÍý¿Í¤Î¥¢¥É¥ì¥¹
create_password=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
create_desc=ÀâÌÀ
create_info=¾Ò²ð¥á¥Ã¥»¡¼¥¸
create_footer=Å¾Á÷¤µ¤ì¤¿¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
create_moderate=¥â¥Ç¥ì¡¼¥È¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¹¤«¡©
create_moderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹
create_same=¥ê¥¹¥È¤Î´ÉÍý¼Ô¤ÈÆ±¤¸
create_err=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
create_ename=¥ê¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_eexists='$1' ¤È¤¤¤¦¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
create_ealias='$1' ¤È¤¤¤¦¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
create_eowner=½êÍ­¼Ô¤Î E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_epassword=´ÉÍý¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_emoderator=¥â¥Ç¥ì¡¼¥¿¤Î E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

cdigest_ecannot=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
cdigest_title=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®
cdigest_header=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤Î¾ÜºÙ
cdigest_name=¥ê¥¹¥ÈÌ¾
cdigest_list=¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥ÈÈÇ¤òºîÀ®
cdigest_owner=¥ê¥¹¥È¤Î´ÉÍý¿Í¤Î¥¢¥É¥ì¥¹
cdigest_password=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
cdigest_desc=ÀâÌÀ
cdigest_info=¾Ò²ð¥á¥Ã¥»¡¼¥¸
cdigest_footer=¥À¥¤¥¸¥§¥¹¥È ¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
cdigest_when=ºÇ¤â¸Å¤¤¥á¥Ã¥»¡¼¥¸¤¬
cdigest_old=$1 ÆüÁ°¤Î¾ì¹ç¤Ë¥À¥¤¥¸¥§¥¹¥È¤òÁ÷¿®
cdigest_lines=¥á¥Ã¥»¡¼¥¸¹ç·× $1 ¹Ô
cdigest_err=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cdigest_edays=Æü¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
cdigest_elines=¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

edit_title=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÎÊÔ½¸
edit_ecannot=¤³¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_delete=¥ê¥¹¥È¤òºï½ü
edit_deletemsg=¤¹¤Ù¤Æ¤Î´ØÏ¢¥Õ¥¡¥¤¥ë¤È¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤ò´Þ¤á¡¢¤³¤Î¥ê¥¹¥È¤òºï½ü
edit_return=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È
edit_for=¥ê¥¹¥È $1 ÍÑ

delete_ecannot=¤³¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
delete_edigest=¤³¤Î¥ê¥¹¥È¤Ï´ØÏ¢¤·¤¿¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤¬¤¢¤ë¤Î¤Çºï½ü¤Ç¤­¤Þ¤»¤ó
delete_title=¥ê¥¹¥È¤Îºï½ü
delete_rusure=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©¼¡¤Î¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Þ¤¹:
delete_aliases=¼¡¤Î¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤âºï½ü¤µ¤ì¤Þ¤¹
delete_ok=¥ê¥¹¥È¤Îºï½ü

members_title=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
members_desc=¤³¤Î¥ê¥¹¥È¤ËÁ÷¿®¤µ¤ì¤¿¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤òÊÔ½¸¤¹¤ë¤Ë¤Ï¡¢²¼¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
members_rodesc=²¼¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤Ï¡¢¤³¤Î¥ê¥¹¥È¤ËÁ÷¿®¤µ¤ì¤¿¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë¤¹¤Ù¤Æ¤Î E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤òÉ½¼¨¤·¤Þ¤¹¡£
members_sub=¥¢¥É¥ì¥¹¤ò¥ê¥¹¥È¤Ë¹ØÆÉ¤¹¤ë
members_add=ÄÉ²Ã
members_unsub=¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤òºï½ü
members_rem=ºï½ü
members_sync=Unix ¥æ¡¼¥¶¤ò¥ê¥¹¥È¤ÈÆ±´ü¤·¤Þ¤¹¤«¡©
members_dom=¥æ¡¼¥¶Ì¾¤ËÉÕ²Ã¤¹¤ë¥É¥á¥¤¥óÌ¾
members_eedit=¤³¤Î ¥ê¥¹¥È¤Î¥á¥ó¥Ð¡¼¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
members_esub=¥¢¥É¥ì¥¹¤ò¤³¤Î¥ê¥¹¥È¤Ë¹ØÆÉ¤¹¤ëÁ°¤ËÊÝ¼é¥Ñ¥¹¥ï¡¼¥É¤òÁª¤ÖÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
members_esubaddr=¹ØÆÉ¤¹¤ë¥¢¥É¥ì¥¹¤Ï¡¢´°Á´¤Ê¥É¥á¥¤¥ó¤ò»ý¤ÄÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£Îã:<tt>foo@bar.com</tt>
members_eunsub=¤³¤Î¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤ò¹ØÆÉÃæ»ß¤¹¤ëÁ°¤Ë¡¢ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É¤òÁª¤ÖÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
members_eunsubaddr=¹ØÆÉ¤òÃæ»ß¤¹¤ë¥¢¥É¥ì¥¹¤Ï¡¢´°Á´¤Ê¥É¥á¥¤¥ó¤ò»ý¤ÄÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£Îã:<tt>foo@bar.com</tt>

info_title=¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ
info_header=¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ
info_desc=<tt>¥ê¥¹¥È</tt> ¥³¥Þ¥ó¥É¤Ø¤Î±þÅú¤Ë´Þ¤á¤ë¥ê¥¹¥È¤ÎÀâÌÀ
info_info=¥³¥Þ¥ó¥É<tt>info $1</tt> ¤Ø¤Î±þÅú¤ËÊÖ¤¹¾ðÊó¥á¥Ã¥»¡¼¥¸
info_intro=¥ê¥¹¥È¤Î¿·µ¬¹ØÆÉ¼Ô¤ËÁ÷¿®¤¹¤ë¾Ò²ð¥á¥Ã¥»¡¼¥¸
info_same=¾ðÊó¥á¥Ã¥»¡¼¥¸¤ÈÆ±¤¸
info_below=²¼¤ËÆþÎÏ¤µ¤ì¤¿¤â¤Î¤ò»ÈÍÑ..

subs_title=¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó
subs_header=¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó ¥ª¥×¥·¥ç¥ó
subs_sub=¹ØÆÉ¥Ý¥ê¥·¡¼
subs_sopen=´õË¾¼ÔÁ´°÷¤¬¹ØÆÉ¤Ç¤­¤ë
subs_sauto=Ã¯¤Ç¤âÇ¤°Õ¤Î¥æ¡¼¥¶¤ò¹ØÆÉ¤Ç¤­¤ë
subs_closed=´ÉÍý¼Ô¤Î¾µÇ§¤¬É¬Í×
subs_unsub=¹ØÆÉÃæ»ß¥Ý¥ê¥·¡¼
subs_uopen=´õË¾¼ÔÁ´°÷¤¬¹ØÆÉÃæ»ß¤Ç¤­¤ë
subs_uauto=Ã¯¤Ç¤âÇ¤°Õ¤Î¥æ¡¼¥¶¤ò¹ØÆÉÃæ»ß¤Ç¤­¤ë
subs_confirm=¹ØÆÉ¤Î³ÎÇ§¤¬É¬Í×¤Ç¤¹¤«¡©
subs_welcome=¾Ò²ð¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
subs_strip=raw ¥¢¥É¥ì¥¹¤Î¤ß¤ò¥ê¥¹¥È¤ËÄÉ²Ã¤·¤Þ¤¹¤«¡©
subs_announcements=¹ØÆÉ¤È¹ØÆÉÃæ»ß¤ò´ÉÍý¼Ô¤ËÄÌÃÎ¤·¤Þ¤¹¤«¡©
subs_administrivia=¹ØÆÉ¤È¹ØÆÉÃæ»ß¤Î¥ê¥¯¥¨¥¹¥È¤ò´ÉÍý¼Ô¤ËÅ¾Á÷¤·¤Þ¤¹¤«¡©
subs_passwd=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
subs_moderate=¥â¥Ç¥ì¡¼¥È¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¹¤«¡©
subs_moderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹¤Ç¤¹¤«¡©
subs_maint=´ÉÍý¼Ô
subs_mpasswd=¥â¥Ç¥ì¡¼¥·¥ç¥ó ¥Ñ¥¹¥ï¡¼¥É
subs_owner=½êÍ­¼Ô E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
subs_approval=¾µÇ§E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
subs_eowner=½êÍ­¼Ô¤Î E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
subs_eapproval=¾µÇ§E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
subs_emoderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
subs_epasswd=¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

mesg_title=E ¥á¡¼¥ë ¥ª¥×¥·¥ç¥ó
mesg_header=E ¥á¡¼¥ë¤ÎÁ÷¿®¥ª¥×¥·¥ç¥ó
mesg_reply=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎReply-To: (ÊÖ¿®Àè)¥¢¥É¥ì¥¹
mesg_none=¤Ê¤·
mesg_sender=E ¥á¡¼¥ë¤ÎSender (Á÷¿®¼Ô) ¥¢¥É¥ì¥¹
mesg_host=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Û¥¹¥ÈÌ¾
mesg_subject=ºÆÁ÷¿®¤µ¤ì¤¿E ¥á¡¼¥ë¤ÎSubject: (·ïÌ¾) ¤ËÉÕ¤±¤ë¥×¥ê¥Õ¥£¥Ã¥¯¥¹
mesg_precedence=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎÍ¥ÀèÅÙ
mesg_first=É¸½à
mesg_special=½ÅÍ×
mesg_list=¥ê¥¹¥È
mesg_bulk=¥Ð¥ë¥¯ ¥á¡¼¥ë
mesg_junk=¥¸¥ã¥ó¥¯ ¥á¡¼¥ë
mesg_purge=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À¤«¤éReceived: (¼õ¿®)¤ò½üµî
mesg_maxlength=¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º
mesg_ereply=Reply-To: (ÊÖ¿®Àè)¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_esender=Sender: (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_esender2=Sender: (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤Ë¥Û¥¹¥ÈÌ¾¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
mesg_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_emaxlength=¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

access_title=¥¢¥¯¥»¥¹À©¸æ
access_header=majordomo ¥³¥Þ¥ó¥É¤Î¥¢¥¯¥»¥¹À©¸æ
access_open=Ç¤°Õ¤Î¥æ¡¼¥¶
access_list=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
access_closed=Á´°÷µñÈÝ
access_get=<tt>get</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_index=<tt>¥¤¥ó¥Ç¥Ã¥¯¥¹</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_info=<tt>info</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_intro=<tt>intro</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_which=<tt>which</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_who=<tt>who</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_adv=¤³¤Î¥ê¥¹¥È¤ò<tt>lists</tt> ¥³¥Þ¥ó¥É¤Ø¤Î¼¡¤Î±þÅú¤Ë´Þ¤á¤ë..
access_adv0=Á´°÷
access_adv1=Àµµ¬É½¸½¤È°ìÃ×¤·¤¿¥¢¥É¥ì¥¹..
access_adv2=Àµµ¬É½¸½¤È°ìÃ×¤·¤Ê¤¤¥¢¥É¥ì¥¹..
access_res=¥ê¥¹¥È¤ËÅê¹Æ¤Ç¤­¤ë¥æ¡¼¥¶
access_res0=Ç¤°Õ¤Î¥æ¡¼¥¶
access_res1=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
access_res2=¥Õ¥¡¥¤¥ëÆâ¤Î¥¢¥É¥ì¥¹
access_tbody=¶Ø»ß¤¹¤ëËÜÊ¸¤ÎÀµµ¬É½¸½
access_theader=¶Ø»ß¤¹¤ë¥Ø¥Ã¥À¤ÎÀµµ¬É½¸½
access_taboo=Ãí°Õ:¤¹¤Ù¤Æ¤Î¶Ø»ß¤È¥¢¥É¥ì¥¹¤ÎÀµµ¬É½¸½¤Ï<tt>/</tt>¤Ç³«»Ï¤µ¤ì½ªÎ»¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Îã:<tt>/foobar.com/</tt> ¤Þ¤¿¤Ï<tt>/obscene/</tt>¡£

head_title=¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿
head_header=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿
head_fronter=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À
head_footer=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
head_headers=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎÆÃÊÌ¤Î SMTP ¥Ø¥Ã¥À

misc_title=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_header=¤½¤ÎÂ¾¤Î¥ê¥¹¥È ¥ª¥×¥·¥ç¥ó
misc_munge=¥¢¥É¥ì¥¹¤ÎÈæ³Ó¤Ë¥É¥á¥¤¥ó¤Î¤ß¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
misc_debug=¥Ç¥Ð¥Ã¥¯ ¥â¡¼¥É¤Ë¤·¤Þ¤¹¤«¡©
misc_info=¾ðÊó¥á¥Ã¥»¡¼¥¸¤ËºÇ¸å¤Ë¹¹¿·¤µ¤ì¤¿Æü»þ¤ò´Þ¤á¤Þ¤¹¤«¡©
misc_intro=¾Ò²ð¥á¥Ã¥»¡¼¥¸¤ËºÇ¸å¤Ë¹¹¿·¤µ¤ì¤¿Æü»þ¤ò´Þ¤á¤Þ¤¹¤«¡©

digest_title=¥À¥¤¥¸¥§¥¹¥È ¥ª¥×¥·¥ç¥ó
digest_header=¥À¥¤¥¸¥§¥¹¥È¤ÎºîÀ®¥ª¥×¥·¥ç¥ó
digest_name=¥À¥¤¥¸¥§¥¹¥È¤Î¥¿¥¤¥È¥ë
digest_maxdays=Á÷¿®¤Þ¤Ç¤ÎºÇ¸Å¤Î¥á¥Ã¥»¡¼¥¸Æü¿ô
digest_days=Æü
digest_lines=¹Ô
digest_maxlines=Á÷¿®¤¹¤ë¤Þ¤Ç¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎºÇÂç¥µ¥¤¥º
digest_volume=¸½ºß¤Î´¬¿ô
digest_issue=¸½ºß¤Î¹æ¿ô
digest_unlimited=ÌµÀ©¸Â
digest_edays=Æü¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_elines=¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_evolume=´¬¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_eissue=¹æ¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

log_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_list=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_create_digest=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_list=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_digest=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_subscribe=$2 ¤ò¥ê¥¹¥È $1 ¤Ë¹ØÆÉ¤·¤Þ¤·¤¿
log_unsubscribe=¥ê¥¹¥È $1 ¤«¤é¤Î$2 ¤Î¹ØÆÉ¤òÃæ»ß¤·¤Þ¤·¤¿
log_members=¥ê¥¹¥È $1 ¤Î¥á¥ó¥Ð¡¼¤ò¹¹¿·¤·¤Þ¤·¤¿
log_auto=¥ê¥¹¥È $1 ¤ÎÆ±´ü¤ò¹¹¿·¤·¤Þ¤·¤¿
log_info=¥ê¥¹¥È $1 ¤Î¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ¤ò¹¹¿·¤·¤Þ¤·¤¿
log_subs=¥ê¥¹¥È $1 ¤Î¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_mesg=¥ê¥¹¥È $1 ¤Î E ¥á¡¼¥ë ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_access=¥ê¥¹¥È $1 ¤Î¥¢¥¯¥»¥¹À©¸æ¤ò¹¹¿·¤·¤Þ¤·¤¿
log_head=¥ê¥¹¥È $1 ¤Î¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿¤ò¹¹¿·¤·¤Þ¤·¤¿
log_misc=¥ê¥¹¥È $1 ¤Î¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_digest=¥ê¥¹¥È $1 ¤Î¥À¥¤¥¸¥§¥¹¥È ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿

acl_lists=¤³¤Î¥æ¡¼¥¶¤¬´ÉÍý¤Ç¤­¤ë¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È
acl_lall=¤¹¤Ù¤Æ¤Î¥ê¥¹¥È
acl_lsel=ÁªÂò..
acl_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_create=¿·µ¬¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_edit=¥ê¥¹¥È¤Î¥á¥ó¥Ð¡¼¥·¥Ã¥×¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

  07070100012f50000081a40000000000000002000000013d1fe2d800002756000000200000000000000000000000000000001f00000003reloc/majordomo/lang/ja_JP.jis    index_title=Majordomo ¥ê¥¹¥È ¥Þ¥Í¡¼¥¸¥ã
index_econfig=Majordomo ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a>¤¬ÉÔÀµ¤«¡¢majordomo ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eprograms=Majordomo ¥Ç¥£¥ì¥¯¥È¥ê $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤«¡¢majordomo ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_eversion=Webmin ¤Ï¡¢¤´»ÈÍÑ¤Î majordomo ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó 1.94 °Ê¹ß¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
index_ehomedir=Majordomo ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î<tt>$homedir</tt> ÊÑ¿ô¤¬ $1 ¤ËÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£
index_elistdir=Majordomo ÀßÄê¥Õ¥¡¥¤¥ëÆâ¤Î<tt>$listdir</tt> ÊÑ¿ô¤¬ $1 ¤ËÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤ì¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£
index_esendmail=sendmail ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£<a href=/sendmail/>sendmail ¥â¥¸¥å¡¼¥ë</a>ÀßÄê¤ò³ÎÇ§¤·¤Æ²¼¤µ¤¤¡£
index_esendmailversion=¤³¤Îsendmail ÀßÄê¥Õ¥¡¥¤¥ë¤ÏºÇ¿·¤Î sendmail ¥Ð¡¼¥¸¥ç¥óÍÑ¤Ç¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£Webmin ¤Ï¥Ð¡¼¥¸¥ç¥ó 8.8 °Ê¹ß¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
index_setupdesc=Majordomo ¤Ï¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢sendmail ¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤ÇÀµ¤·¤¯ÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_owner=½êÍ­¼Ô E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
index_setup=¥»¥Ã¥È¥¢¥Ã¥× ¥¨¥¤¥ê¥¢¥¹
index_none=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
index_add=¿·µ¬¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òÄÉ²Ã
index_digest=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òÄÉ²Ã
index_global=Majordomo ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_globaldesc=¤¹¤Ù¤Æ¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ËÅ¬ÍÑ¤¹¤ë¥°¥í¡¼¥Ð¥ëMajordomo ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
index_return=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È

global_title=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
global_ecannot=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
global_header=¥°¥í¡¼¥Ð¥ë Majordomo ¥ª¥×¥·¥ç¥ó
global_whereami=¥á¡¼¥ë ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾ (<tt>$whereami</tt>)
global_whoami=Majordomo ¥Þ¥¹¥¿¡¼ ¥¢¥É¥ì¥¹
global_owner=Majordomo ½êÍ­¼Ô¤Î¥¢¥É¥ì¥¹
global_sendmail=sendmail ¥³¥Þ¥ó¥É ¥Ñ¥¹
global_err=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
global_ewhereami=¥á¡¼¥ë ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_ewhoami=Majordomo ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_eowner=½êÍ­¼Ô¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
global_esendmail=sendmail ¥³¥Þ¥ó¥É '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

create_ecannot=¿·µ¬¤Î¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
create_title=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÎºîÀ®
create_header=¿·µ¬¤Î¥ê¥¹¥È¤Î¾ÜºÙ
create_name=¥ê¥¹¥ÈÌ¾
create_owner=¥ê¥¹¥È¤Î´ÉÍý¿Í¤Î¥¢¥É¥ì¥¹
create_password=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
create_desc=ÀâÌÀ
create_info=¾Ò²ð¥á¥Ã¥»¡¼¥¸
create_footer=Å¾Á÷¤µ¤ì¤¿¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
create_moderate=¥â¥Ç¥ì¡¼¥È¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¹¤«¡©
create_moderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹
create_same=¥ê¥¹¥È¤Î´ÉÍý¼Ô¤ÈÆ±¤¸
create_err=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
create_ename=¥ê¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_eexists='$1' ¤È¤¤¤¦¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
create_ealias='$1' ¤È¤¤¤¦¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
create_eowner=½êÍ­¼Ô¤Î E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_epassword=´ÉÍý¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
create_emoderator=¥â¥Ç¥ì¡¼¥¿¤Î E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

cdigest_ecannot=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
cdigest_title=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®
cdigest_header=¿·µ¬¤Î¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤Î¾ÜºÙ
cdigest_name=¥ê¥¹¥ÈÌ¾
cdigest_list=¥ê¥¹¥È¤Î¥À¥¤¥¸¥§¥¹¥ÈÈÇ¤òºîÀ®
cdigest_owner=¥ê¥¹¥È¤Î´ÉÍý¿Í¤Î¥¢¥É¥ì¥¹
cdigest_password=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
cdigest_desc=ÀâÌÀ
cdigest_info=¾Ò²ð¥á¥Ã¥»¡¼¥¸
cdigest_footer=¥À¥¤¥¸¥§¥¹¥È ¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
cdigest_when=ºÇ¤â¸Å¤¤¥á¥Ã¥»¡¼¥¸¤¬
cdigest_old=$1 ÆüÁ°¤Î¾ì¹ç¤Ë¥À¥¤¥¸¥§¥¹¥È¤òÁ÷¿®
cdigest_lines=¥á¥Ã¥»¡¼¥¸¹ç·× $1 ¹Ô
cdigest_err=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cdigest_edays=Æü¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
cdigest_elines=¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

edit_title=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÎÊÔ½¸
edit_ecannot=¤³¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
edit_delete=¥ê¥¹¥È¤òºï½ü
edit_deletemsg=¤¹¤Ù¤Æ¤Î´ØÏ¢¥Õ¥¡¥¤¥ë¤È¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤ò´Þ¤á¡¢¤³¤Î¥ê¥¹¥È¤òºï½ü
edit_return=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È
edit_for=¥ê¥¹¥È $1 ÍÑ

delete_ecannot=¤³¤Î¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
delete_edigest=¤³¤Î¥ê¥¹¥È¤Ï´ØÏ¢¤·¤¿¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È¤¬¤¢¤ë¤Î¤Çºï½ü¤Ç¤­¤Þ¤»¤ó
delete_title=¥ê¥¹¥È¤Îºï½ü
delete_rusure=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©¼¡¤Î¥Õ¥¡¥¤¥ë¤¬ºï½ü¤µ¤ì¤Þ¤¹:
delete_aliases=¼¡¤Î¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹¤âºï½ü¤µ¤ì¤Þ¤¹
delete_ok=¥ê¥¹¥È¤Îºï½ü

members_title=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
members_desc=¤³¤Î¥ê¥¹¥È¤ËÁ÷¿®¤µ¤ì¤¿¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë E¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Î¥ê¥¹¥È¤òÊÔ½¸¤¹¤ë¤Ë¤Ï¡¢²¼¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
members_rodesc=²¼¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤Ï¡¢¤³¤Î¥ê¥¹¥È¤ËÁ÷¿®¤µ¤ì¤¿¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë¤¹¤Ù¤Æ¤Î E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤òÉ½¼¨¤·¤Þ¤¹¡£
members_sub=¥¢¥É¥ì¥¹¤ò¥ê¥¹¥È¤Ë¹ØÆÉ¤¹¤ë
members_add=ÄÉ²Ã
members_unsub=¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤òºï½ü
members_rem=ºï½ü
members_sync=Unix ¥æ¡¼¥¶¤ò¥ê¥¹¥È¤ÈÆ±´ü¤·¤Þ¤¹¤«¡©
members_dom=¥æ¡¼¥¶Ì¾¤ËÉÕ²Ã¤¹¤ë¥É¥á¥¤¥óÌ¾
members_eedit=¤³¤Î ¥ê¥¹¥È¤Î¥á¥ó¥Ð¡¼¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
members_esub=¥¢¥É¥ì¥¹¤ò¤³¤Î¥ê¥¹¥È¤Ë¹ØÆÉ¤¹¤ëÁ°¤ËÊÝ¼é¥Ñ¥¹¥ï¡¼¥É¤òÁª¤ÖÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
members_esubaddr=¹ØÆÉ¤¹¤ë¥¢¥É¥ì¥¹¤Ï¡¢´°Á´¤Ê¥É¥á¥¤¥ó¤ò»ý¤ÄÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£Îã:<tt>foo@bar.com</tt>
members_eunsub=¤³¤Î¥ê¥¹¥È¤«¤é¥¢¥É¥ì¥¹¤ò¹ØÆÉÃæ»ß¤¹¤ëÁ°¤Ë¡¢ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É¤òÁª¤ÖÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
members_eunsubaddr=¹ØÆÉ¤òÃæ»ß¤¹¤ë¥¢¥É¥ì¥¹¤Ï¡¢´°Á´¤Ê¥É¥á¥¤¥ó¤ò»ý¤ÄÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£Îã:<tt>foo@bar.com</tt>

info_title=¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ
info_header=¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ
info_desc=<tt>¥ê¥¹¥È</tt> ¥³¥Þ¥ó¥É¤Ø¤Î±þÅú¤Ë´Þ¤á¤ë¥ê¥¹¥È¤ÎÀâÌÀ
info_info=¥³¥Þ¥ó¥É<tt>info $1</tt> ¤Ø¤Î±þÅú¤ËÊÖ¤¹¾ðÊó¥á¥Ã¥»¡¼¥¸
info_intro=¥ê¥¹¥È¤Î¿·µ¬¹ØÆÉ¼Ô¤ËÁ÷¿®¤¹¤ë¾Ò²ð¥á¥Ã¥»¡¼¥¸
info_same=¾ðÊó¥á¥Ã¥»¡¼¥¸¤ÈÆ±¤¸
info_below=²¼¤ËÆþÎÏ¤µ¤ì¤¿¤â¤Î¤ò»ÈÍÑ..

subs_title=¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó
subs_header=¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó ¥ª¥×¥·¥ç¥ó
subs_sub=¹ØÆÉ¥Ý¥ê¥·¡¼
subs_sopen=´õË¾¼ÔÁ´°÷¤¬¹ØÆÉ¤Ç¤­¤ë
subs_sauto=Ã¯¤Ç¤âÇ¤°Õ¤Î¥æ¡¼¥¶¤ò¹ØÆÉ¤Ç¤­¤ë
subs_closed=´ÉÍý¼Ô¤Î¾µÇ§¤¬É¬Í×
subs_unsub=¹ØÆÉÃæ»ß¥Ý¥ê¥·¡¼
subs_uopen=´õË¾¼ÔÁ´°÷¤¬¹ØÆÉÃæ»ß¤Ç¤­¤ë
subs_uauto=Ã¯¤Ç¤âÇ¤°Õ¤Î¥æ¡¼¥¶¤ò¹ØÆÉÃæ»ß¤Ç¤­¤ë
subs_confirm=¹ØÆÉ¤Î³ÎÇ§¤¬É¬Í×¤Ç¤¹¤«¡©
subs_welcome=¾Ò²ð¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
subs_strip=raw ¥¢¥É¥ì¥¹¤Î¤ß¤ò¥ê¥¹¥È¤ËÄÉ²Ã¤·¤Þ¤¹¤«¡©
subs_announcements=¹ØÆÉ¤È¹ØÆÉÃæ»ß¤ò´ÉÍý¼Ô¤ËÄÌÃÎ¤·¤Þ¤¹¤«¡©
subs_administrivia=¹ØÆÉ¤È¹ØÆÉÃæ»ß¤Î¥ê¥¯¥¨¥¹¥È¤ò´ÉÍý¼Ô¤ËÅ¾Á÷¤·¤Þ¤¹¤«¡©
subs_passwd=ÊÝ¼é¥Ñ¥¹¥ï¡¼¥É
subs_moderate=¥â¥Ç¥ì¡¼¥È¤µ¤ì¤¿¥ê¥¹¥È¤Ç¤¹¤«¡©
subs_moderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹¤Ç¤¹¤«¡©
subs_maint=´ÉÍý¼Ô
subs_mpasswd=¥â¥Ç¥ì¡¼¥·¥ç¥ó ¥Ñ¥¹¥ï¡¼¥É
subs_owner=½êÍ­¼Ô E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
subs_approval=¾µÇ§E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
subs_eowner=½êÍ­¼Ô¤Î E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
subs_eapproval=¾µÇ§E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
subs_emoderator=¥â¥Ç¥ì¡¼¥¿¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
subs_epasswd=¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

mesg_title=E ¥á¡¼¥ë ¥ª¥×¥·¥ç¥ó
mesg_header=E ¥á¡¼¥ë¤ÎÁ÷¿®¥ª¥×¥·¥ç¥ó
mesg_reply=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎReply-To: (ÊÖ¿®Àè)¥¢¥É¥ì¥¹
mesg_none=¤Ê¤·
mesg_sender=E ¥á¡¼¥ë¤ÎSender (Á÷¿®¼Ô) ¥¢¥É¥ì¥¹
mesg_host=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Û¥¹¥ÈÌ¾
mesg_subject=ºÆÁ÷¿®¤µ¤ì¤¿E ¥á¡¼¥ë¤ÎSubject: (·ïÌ¾) ¤ËÉÕ¤±¤ë¥×¥ê¥Õ¥£¥Ã¥¯¥¹
mesg_precedence=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎÍ¥ÀèÅÙ
mesg_first=É¸½à
mesg_special=½ÅÍ×
mesg_list=¥ê¥¹¥È
mesg_bulk=¥Ð¥ë¥¯ ¥á¡¼¥ë
mesg_junk=¥¸¥ã¥ó¥¯ ¥á¡¼¥ë
mesg_purge=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À¤«¤éReceived: (¼õ¿®)¤ò½üµî
mesg_maxlength=¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º
mesg_ereply=Reply-To: (ÊÖ¿®Àè)¤Î¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_esender=Sender: (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_esender2=Sender: (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤Ë¥Û¥¹¥ÈÌ¾¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
mesg_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
mesg_emaxlength=¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

access_title=¥¢¥¯¥»¥¹À©¸æ
access_header=majordomo ¥³¥Þ¥ó¥É¤Î¥¢¥¯¥»¥¹À©¸æ
access_open=Ç¤°Õ¤Î¥æ¡¼¥¶
access_list=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
access_closed=Á´°÷µñÈÝ
access_get=<tt>get</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_index=<tt>¥¤¥ó¥Ç¥Ã¥¯¥¹</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_info=<tt>info</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_intro=<tt>intro</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_which=<tt>which</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_who=<tt>who</tt> ¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥»¥¹
access_adv=¤³¤Î¥ê¥¹¥È¤ò<tt>lists</tt> ¥³¥Þ¥ó¥É¤Ø¤Î¼¡¤Î±þÅú¤Ë´Þ¤á¤ë..
access_adv0=Á´°÷
access_adv1=Àµµ¬É½¸½¤È°ìÃ×¤·¤¿¥¢¥É¥ì¥¹..
access_adv2=Àµµ¬É½¸½¤È°ìÃ×¤·¤Ê¤¤¥¢¥É¥ì¥¹..
access_res=¥ê¥¹¥È¤ËÅê¹Æ¤Ç¤­¤ë¥æ¡¼¥¶
access_res0=Ç¤°Õ¤Î¥æ¡¼¥¶
access_res1=¥ê¥¹¥È ¥á¥ó¥Ð¡¼
access_res2=¥Õ¥¡¥¤¥ëÆâ¤Î¥¢¥É¥ì¥¹
access_tbody=¶Ø»ß¤¹¤ëËÜÊ¸¤ÎÀµµ¬É½¸½
access_theader=¶Ø»ß¤¹¤ë¥Ø¥Ã¥À¤ÎÀµµ¬É½¸½
access_taboo=Ãí°Õ:¤¹¤Ù¤Æ¤Î¶Ø»ß¤È¥¢¥É¥ì¥¹¤ÎÀµµ¬É½¸½¤Ï<tt>/</tt>¤Ç³«»Ï¤µ¤ì½ªÎ»¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£Îã:<tt>/foobar.com/</tt> ¤Þ¤¿¤Ï<tt>/obscene/</tt>¡£

head_title=¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿
head_header=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿
head_fronter=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Ø¥Ã¥À
head_footer=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤Î¥Õ¥Ã¥¿
head_headers=ºÆÁ÷¿®¤µ¤ì¤¿ E ¥á¡¼¥ë¤ÎÆÃÊÌ¤Î SMTP ¥Ø¥Ã¥À

misc_title=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_header=¤½¤ÎÂ¾¤Î¥ê¥¹¥È ¥ª¥×¥·¥ç¥ó
misc_munge=¥¢¥É¥ì¥¹¤ÎÈæ³Ó¤Ë¥É¥á¥¤¥ó¤Î¤ß¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
misc_debug=¥Ç¥Ð¥Ã¥¯ ¥â¡¼¥É¤Ë¤·¤Þ¤¹¤«¡©
misc_info=¾ðÊó¥á¥Ã¥»¡¼¥¸¤ËºÇ¸å¤Ë¹¹¿·¤µ¤ì¤¿Æü»þ¤ò´Þ¤á¤Þ¤¹¤«¡©
misc_intro=¾Ò²ð¥á¥Ã¥»¡¼¥¸¤ËºÇ¸å¤Ë¹¹¿·¤µ¤ì¤¿Æü»þ¤ò´Þ¤á¤Þ¤¹¤«¡©

digest_title=¥À¥¤¥¸¥§¥¹¥È ¥ª¥×¥·¥ç¥ó
digest_header=¥À¥¤¥¸¥§¥¹¥È¤ÎºîÀ®¥ª¥×¥·¥ç¥ó
digest_name=¥À¥¤¥¸¥§¥¹¥È¤Î¥¿¥¤¥È¥ë
digest_maxdays=Á÷¿®¤Þ¤Ç¤ÎºÇ¸Å¤Î¥á¥Ã¥»¡¼¥¸Æü¿ô
digest_days=Æü
digest_lines=¹Ô
digest_maxlines=Á÷¿®¤¹¤ë¤Þ¤Ç¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎºÇÂç¥µ¥¤¥º
digest_volume=¸½ºß¤Î´¬¿ô
digest_issue=¸½ºß¤Î¹æ¿ô
digest_unlimited=ÌµÀ©¸Â
digest_edays=Æü¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_elines=¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_evolume=´¬¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
digest_eissue=¹æ¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

log_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_list=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_create_digest=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_list=¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_digest=¥À¥¤¥¸¥§¥¹¥È ¥ê¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_subscribe=$2 ¤ò¥ê¥¹¥È $1 ¤Ë¹ØÆÉ¤·¤Þ¤·¤¿
log_unsubscribe=¥ê¥¹¥È $1 ¤«¤é¤Î$2 ¤Î¹ØÆÉ¤òÃæ»ß¤·¤Þ¤·¤¿
log_members=¥ê¥¹¥È $1 ¤Î¥á¥ó¥Ð¡¼¤ò¹¹¿·¤·¤Þ¤·¤¿
log_auto=¥ê¥¹¥È $1 ¤ÎÆ±´ü¤ò¹¹¿·¤·¤Þ¤·¤¿
log_info=¥ê¥¹¥È $1 ¤Î¥á¥Ã¥»¡¼¥¸¤ÈÀâÌÀ¤ò¹¹¿·¤·¤Þ¤·¤¿
log_subs=¥ê¥¹¥È $1 ¤Î¹ØÆÉ¤È¥â¥Ç¥ì¡¼¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_mesg=¥ê¥¹¥È $1 ¤Î E ¥á¡¼¥ë ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_access=¥ê¥¹¥È $1 ¤Î¥¢¥¯¥»¥¹À©¸æ¤ò¹¹¿·¤·¤Þ¤·¤¿
log_head=¥ê¥¹¥È $1 ¤Î¥Ø¥Ã¥À¤È¥Õ¥Ã¥¿¤ò¹¹¿·¤·¤Þ¤·¤¿
log_misc=¥ê¥¹¥È $1 ¤Î¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿
log_digest=¥ê¥¹¥È $1 ¤Î¥À¥¤¥¸¥§¥¹¥È ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·¤·¤Þ¤·¤¿

acl_lists=¤³¤Î¥æ¡¼¥¶¤¬´ÉÍý¤Ç¤­¤ë¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È
acl_lall=¤¹¤Ù¤Æ¤Î¥ê¥¹¥È
acl_lsel=ÁªÂò..
acl_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_create=¿·µ¬¥á¡¼¥ê¥ó¥° ¥ê¥¹¥È¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_edit=¥ê¥¹¥È¤Î¥á¥ó¥Ð¡¼¥·¥Ã¥×¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

  07070100012f51000081a40000000000000002000000013d1fe2d800002322000000200000000000000000000000000000001f00000003reloc/majordomo/lang/ko_KR.euc    index_title=majordomo ¸ñ·Ï °ü¸®ÀÚ
index_econfig=majordomo ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾Ê°Å³ª majordomo°¡ ¼³Ä¡µÇÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eprograms=majordomo µð·ºÅä¸® $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾Ê°Å³ª majordomo°¡ ¼³Ä¡µÇÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eversion=Webmin¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â majordomo ¹öÀüÀÔ´Ï´Ù. Webmin¿¡¼­´Â 1.94 ÀÌ»ó ¹öÀü¸¸ Áö¿øÇÕ´Ï´Ù.
index_ehomedir=majordomo ±¸¼º ÆÄÀÏÀÇ<tt>$homedir</tt> º¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â $1(À¸)·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
index_elistdir=majordomo ±¸¼º ÆÄÀÏÀÇ<tt>$listdir</tt> º¯¼ö°¡ Á¸ÀçÇÏÁö ¾Ê´Â $1(À¸)·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.
index_esendmail=sendmail ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. <a href=/sendmail/>sendmail ¸ðµâ</a> ±¸¼ºÀ» °Ë»çÇÏ½Ê½Ã¿À.
index_esendmailversion=sendmail ±¸¼º ÆÄÀÏÀÌ ÃÖ½Å sendmail ¹öÀü¿ëÀÌ ¾Æ´Õ´Ï´Ù. Webmin¿¡¼­´Â 8.8 ÀÌ»ó ¹öÀü¸¸ Áö¿øÇÕ´Ï´Ù.
index_setupdesc=majordomo°¡ ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÁö¸¸ sendmail º°Äª ÆÄÀÏ¿¡¼­ ¿Ã¹Ù¸£°Ô ¼³Á¤µÇÁö ¾Ê¾Ò½À´Ï´Ù.
index_owner=¼ÒÀ¯ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
index_setup=º°Äª ¼³Á¤
index_none=Á¤ÀÇµÈ ¸ÞÀÏ ¸ñ·ÏÀÌ ¾ø½À´Ï´Ù
index_add=»õ ¸ÞÀÏ ¸ñ·Ï Ãß°¡
index_digest=»õ ´ÙÀÌÁ¦½ºÆ® ¸ñ·Ï Ãß°¡
index_global=majordomo ¿É¼Ç ÆíÁý
index_globaldesc=¸ðµç ¸ÞÀÏ ¸ñ·Ï¿¡ Àû¿ëµÇ´Â ±Û·Î¹ú majordomo ¿É¼Ç ÆíÁý
index_return=¸ÞÀÏ ¸ñ·Ï

global_title=±Û·Î¹ú ¿É¼Ç
global_ecannot=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
global_header=±Û·Î¹ú majordomo ¿É¼Ç
global_whereami=¸ÞÀÏ ¼­¹ö È£½ºÆ® ÀÌ¸§(<tt>$whereami</tt>)
global_whoami=majordomo ¸¶½ºÅÍ ÁÖ¼Ò
global_owner=majordomo ¼ÒÀ¯ÀÚ ÁÖ¼Ò
global_sendmail=sendmail ¸í·É °æ·Î
global_err=±Û·Î¹ú ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
global_ewhereami=¾ø°Å³ª Àß¸øµÈ ¸ÞÀÏ ¼­¹ö È£½ºÆ® ÀÌ¸§
global_ewhoami=¾ø°Å³ª Àß¸øµÈ majordomo ÁÖ¼Ò
global_eowner=¾ø°Å³ª Àß¸øµÈ ¼ÒÀ¯ÀÚ ÁÖ¼Ò
global_esendmail=sendmail ¸í·É '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

create_ecannot=»õ ¸ÞÀÏÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
create_title=¸ÞÀÏ ¸ñ·Ï ÀÛ¼º
create_header=»õ ¸ñ·Ï Á¤º¸
create_name=¸ñ·Ï ÀÌ¸§
create_owner=À¯Áöº¸¼öÀÚÀÇ ÁÖ¼Ò Ç¥½Ã
create_password=À¯Áöº¸¼ö ÆÐ½º¿öµå
create_desc=¼³¸í
create_info=¼Ò°³ ¸Þ½ÃÁö
create_footer=Àü´ÞµÈ ¸ÞÀÏ ¹Ù´Ú±Û
create_moderate=Á¶Á¤µÈ ¸ñ·ÏÀÔ´Ï±î?
create_moderator=Á¶Á¤ÀÚ ÁÖ¼Ò
create_same=À¯Áöº¸¼öÀÚ¿Í µ¿ÀÏ
create_err=¸ÞÀÏ ¸ñ·ÏÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
create_ename=¾ø°Å³ª Àß¸øµÈ ¸ñ·Ï ÀÌ¸§
create_eexists='$1'(ÀÌ)¶ó´Â ¸ÞÀÏ ¸ñ·ÏÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
create_ealias='$1'ÀÇ ¸ÞÀÏ º°ÄªÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
create_eowner=¾ø°Å³ª Àß¸øµÈ ¼ÒÀ¯ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
create_epassword=¾ø°Å³ª Àß¸øµÈ °ü¸® ÆÐ½º¿öµå
create_emoderator=¾ø°Å³ª Àß¸øµÈ Á¶Á¤ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò

cdigest_ecannot=»õ ´ÙÀÌÁ¦½ºÆ® ¸ñ·ÏÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
cdigest_title=´ÙÀÌÁ¦½ºÆ® ¸ñ·Ï ÀÛ¼º
cdigest_header=»õ ´ÙÀÌÁ¦½ºÆ® ¸ñ·Ï Á¤º¸
cdigest_name=¸ñ·Ï ÀÌ¸§
cdigest_list=¸ñ·Ï ´ÙÀÌÁ¦½ºÆ® ¸¸µé±â
cdigest_owner=À¯Áöº¸¼öÀÚÀÇ ÁÖ¼Ò Ç¥½Ã
cdigest_password=À¯Áöº¸¼ö ÆÐ½º¿öµå
cdigest_desc=¼³¸í
cdigest_info=¼Ò°³ ¸Þ½ÃÁö
cdigest_footer=´ÙÀÌÁ¦½ºÆ® ¸ÞÀÏ ¹Ù´Ú±Û
cdigest_when=´ÙÀÌÁ¦½ºÆ®¸¦ Àü¼ÛÇÒ °æ¿ì
cdigest_old=°¡Àå ¿À·¡µÈ ¸Þ½ÃÁöÀÇ º¸°ü ±â°£ÀÌ $1ÀÏÀÌ °æ°úÇÒ ¶§
cdigest_lines=ÃÑ ¸Þ½ÃÁö Çà ¼ö°¡ $1¿¡ µµ´ÞÇÒ ¶§
cdigest_err=´ÙÀÌÁ¦½ºÆ® ¸ñ·ÏÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
cdigest_edays=¾ø°Å³ª Àß¸øµÈ ÀÏ ¼ö
cdigest_elines=¾ø°Å³ª Àß¸øµÈ Çà ¼ö

edit_title=¸ÞÀÏ ¸ñ·Ï ÆíÁý
edit_ecannot=ÀÌ ¸ÞÀÏ ¸ñ·ÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
edit_delete=¸ñ·Ï »èÁ¦
edit_deletemsg=¸ðµç °ü·Ã ÆÄÀÏ ¹× ¸ÞÀÏ º°Äª°ú ÇÔ²² ÀÌ ¸ñ·Ï »èÁ¦
edit_return=¸ÞÀÏ ¸ñ·Ï
edit_for=¸ñ·Ï $1

delete_ecannot=ÀÌ ¸ÞÀÏ ¸ñ·ÏÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_edigest=ÀÌ ¸ñ·Ï¿¡´Â °ü·Ã ´ÙÀÌÁ¦½ºÆ® ¸ñ·ÏÀÌ ÀÖÀ¸¹Ç·Î »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_title=¸ñ·Ï »èÁ¦
delete_rusure=¸ÞÀÏ ¸ñ·Ï $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? ´ÙÀ½ ÆÄÀÏÀÌ »èÁ¦µË´Ï´Ù:
delete_aliases=¶ÇÇÑ ´ÙÀ½ ¸ÞÀÏ º°Äªµµ »èÁ¦µË´Ï´Ù:
delete_ok=¸ñ·Ï »èÁ¦

members_title=¸ñ·Ï ±¸¼º¿ø
members_desc=¾Æ·¡ÀÇ ÀÔ·Â¶õÀ» »ç¿ëÇÏ¿© ÀÌ ¸ñ·ÏÀ¸·Î Àü¼ÛµÈ ¸ÞÀÏÀ» ¹ÞÀ» ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò ¸ñ·ÏÀ» ÆíÁýÇÏ½Ê½Ã¿À.
members_rodesc=¾Æ·¡ÀÇ ÀÔ·Â¶õ¿¡´Â ÀÌ ¸ñ·Ï¿¡ º¸³»´Â ¸ÞÀÏÀ» ¹ÞÀ» ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò°¡ ¸ðµÎ ³ª¿­µË´Ï´Ù.
members_sub=¸ñ·Ï¿¡ ÁÖ¼Ò °¡ÀÔ
members_add=Ãß°¡
members_unsub=¸ñ·Ï¿¡¼­ ÁÖ¼Ò Á¦°Å
members_rem=Á¦°Å
members_sync=Unix »ç¿ëÀÚ¸¦ ¸ñ·Ï¿¡ µ¿±âÈ­ÇÏ½Ã°Ú½À´Ï±î?
members_dom=»ç¿ëÀÚ ÀÌ¸§¿¡ Ãß°¡ÇÒ µµ¸ÞÀÎ ÀÌ¸§
members_eedit=ÀÌ ¸ñ·ÏÀÇ ±¸¼º¿øÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
members_esub=ÀÌ ¸ñ·Ï¿¡ ÁÖ¼Ò¸¦ °¡ÀÔÇÏ±â Àü¿¡ À¯Áöº¸¼ö ÆÐ½º¿öµå¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
members_esubaddr=°¡ÀÔÇÒ ÁÖ¼Ò¿¡´Â ÀüÃ¼ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù(¿¹: <tt>foo@bar.com</tt>)
members_eunsub=ÀÌ ¸ñ·Ï¿¡¼­ ÁÖ¼Ò¸¦ Å»ÅðÇÏ±â Àü¿¡ À¯Áöº¸¼ö ÆÐ½º¿öµå¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù.
members_eunsubaddr=Å»ÅðÇÒ ÁÖ¼Ò¿¡´Â ÀüÃ¼ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ÀÖ¾î¾ß ÇÕ´Ï´Ù(¿¹: <tt>foo@bar.com</tt>)

info_title=¸Þ½ÃÁö ¹× ¼³¸í
info_header=¸Þ½ÃÁö ¹× ¼³¸í
info_desc=<tt>lists</tt> ¸í·É¿¡ ´ëÇÑ ÀÀ´ä¿¡ Æ÷ÇÔ½ÃÅ³ ¼³¸í ³ª¿­
info_info=<tt>info $1</tt> ¸í·É¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¹ÝÈ¯µÇ´Â ¸Þ½ÃÁö
info_intro=¸ñ·Ï¿¡ °¡ÀÔ½ÃÅ³ ¶§ Àü¼ÛÇÒ ¼Ò°³ ¸Þ½ÃÁö
info_same=Á¤º¸ Á¦°ø ¸Þ½ÃÁö¿Í µ¿ÀÏ
info_below=¾Æ·¡¿¡ ÀÔ·ÂµÈ ´ë·Î..

subs_title=°¡ÀÔ ¹× Á¶Á¤
subs_header=°¡ÀÔ ¹× Á¶Á¤ ¿É¼Ç
subs_sub=°¡ÀÔ Á¤Ã¥
subs_sopen=´©±¸µçÁö ÀÚ½ÅÀ» °¡ÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù
subs_sauto=´©±¸µçÁö ´Ù¸¥ »ç¿ëÀÚ¸¦ °¡ÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù
subs_closed=À¯Áöº¸¼öÀÚ ½ÂÀÎ ÇÊ¿ä
subs_unsub=Å»Åð Á¤Ã¥
subs_uopen=´©±¸µçÁö ÀÚ½ÅÀ» Å»Åð½ÃÅ³ ¼ö ÀÖ½À´Ï´Ù
subs_uauto=´©±¸µçÁö ¸ðµÎ¸¦ Å»Åð½ÃÅ³ ¼ö ÀÖ½À´Ï´Ù
subs_confirm=°¡ÀÔ È®ÀÎÀÌ ÇÊ¿äÇÕ´Ï±î?
subs_welcome=¼Ò°³ ¸Þ½ÃÁö¸¦ º¸³À´Ï±î?
subs_strip=¸ñ·Ï¿¡ ¿ø½Ã ÁÖ¼Ò¸¸ Ãß°¡ÇÕ´Ï±î?
subs_announcements=À¯Áöº¸¼öÀÚ¿¡°Ô °¡ÀÔ/Å»Åð¸¦ ¾Ë¸³´Ï±î?
subs_administrivia=À¯Áöº¸¼öÀÚ¿¡°Ô °¡ÀÔ/Å»Åð ¿äÃ»À» Àü´ÞÇÕ´Ï±î?
subs_passwd=À¯Áöº¸¼ö ÆÐ½º¿öµå
subs_moderate=Á¶Á¤µÈ ¸ñ·ÏÀÔ´Ï±î?
subs_moderator=Á¶Á¤ÀÚ ÁÖ¼Ò´Â ¹«¾ùÀÔ´Ï±î?
subs_maint=À¯Áöº¸¼öÀÚ
subs_mpasswd=Á¶Á¤ ÆÐ½º¿öµå
subs_owner=¼ÒÀ¯ÀÚÀÇ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
subs_approval=½ÂÀÎ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
subs_eowner=¾ø´Â ¼ÒÀ¯ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
subs_eapproval=¾ø´Â ½ÂÀÎ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
subs_emoderator=¾ø°Å³ª Àß¸øµÈ Á¶Á¤ÀÚ ÁÖ¼Ò
subs_epasswd=¾ø°Å³ª Àß¸øµÈ ÆÐ½º¿öµå

mesg_title=ÀüÀÚ ¸ÞÀÏ ¿É¼Ç
mesg_header=¹ß½Å ÀüÀÚ ¸ÞÀÏ ¿É¼Ç
mesg_reply=È¸½ÅÀÚ: È¸½Å ÀüÀÚ ¸ÞÀÏ¿¡ ÀÖ´Â ÁÖ¼Ò
mesg_none=¾øÀ½
mesg_sender= ¹ß½ÅÀÚ:ÀüÀÚ ¸ÞÀÏ¿¡ ÀÖ´Â ÁÖ¼Ò
mesg_host=È¸½Å ÀüÀÚ ¸ÞÀÏÀÇ È£½ºÆ® ÀÌ¸§
mesg_subject=Á¦¸ñ: È¸½Å ÀüÀÚ ¸ÞÀÏÀÇ Á¦¸ñ
mesg_precedence=È¸½Å ÀüÀÚ ¸ÞÀÏ ¿ì¼± ¼øÀ§
mesg_first=Ã¹¹øÂ° Å¬·¡½º
mesg_special=Æ¯¼ö ¹è´Þ
mesg_list=¸ñ·Ï
mesg_bulk=´ëÇü
mesg_junk=Á¤Å©
mesg_purge=È¸½Å ÀüÀÚ ¸ÞÀÏ¿¡¼­ '¼ö½ÅÀÚ:' ¸Ó¸´±Û Á¦°Å
mesg_maxlength=Çã¿ë °¡´ÉÇÑ ÃÖ´ë ¸Þ½ÃÁö Å©±â
mesg_ereply=¾ø°Å³ª Àß¸øµÈ 'È¸½ÅÀÚ:' ÁÖ¼Ò
mesg_esender=¾ø°Å³ª Àß¸øµÈ '¹ß½ÅÀÚ:' ÁÖ¼Ò
mesg_esender2='¹ß½ÅÀÚ:' ÁÖ¼Ò¿¡ È£½ºÆ® ÀÌ¸§À» »ç¿ëÇÏ¸é ¾ÈµË´Ï´Ù
mesg_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
mesg_emaxlength=¾ø°Å³ª Àß¸øµÈ ÃÖ´ë ¸Þ½ÃÁö Å©±â

access_title=¾×¼¼½º Á¦¾î
access_header=majordomo ¸í·ÉÀÇ ¾×¼¼½º Á¦¾î
access_open=¸ðµÎ
access_list=¸ñ·Ï ±¸¼º¿ø
access_closed=¾øÀ½
access_get=<tt>get</tt> ¸í·É¿¡ ¾×¼¼½º
access_index=<tt>index</tt> ¸í·É¿¡ ¾×¼¼½º
access_info=<tt>info</tt> ¸í·É¿¡ ¾×¼¼½º
access_intro=<tt>intro</tt> ¸í·É¿¡ ¾×¼¼½º
access_which=<tt>which</tt> ¸í·É¿¡ ¾×¼¼½º
access_who=<tt>who</tt> ¸í·É¿¡ ¾×¼¼½º
access_adv=<tt>lists</tt> ¸í·É¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î Æ÷ÇÔ½ÃÅ³ ¸ñ·Ï..
access_adv0=¸ðµç »ç¿ëÀÚ
access_adv1=Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏ´Â ÁÖ¼Ò..
access_adv2=Á¤±Ô½Ä°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â ÁÖ¼Ò..
access_res=¸ñ·Ï¿¡ °Ô½ÃÇÒ ¼ö ÀÖ´Â ´ë»ó
access_res0=¸ðµÎ
access_res1=¸ñ·Ï ±¸¼º¿ø
access_res2=ÆÄÀÏ¿¡ ÀÖ´Â ÁÖ¼Ò
access_tbody=taboo º»¹® Á¤±Ô½Ä
access_theader=taboo ¸Ó¸®±Û Á¤±Ô½Ä
access_taboo=Âü°í: ¸ðµç taboo ¹× ÁÖ¼Ò Á¤±Ô½ÄÀº <tt>/</tt>·Î ½ÃÀÛÇØ¼­ <tt>/</tt>·Î ³¡³ª¾ß ÇÕ´Ï´Ù(¿¹: <tt>/foobar.com/</tt>, <tt>/obscene/</tt>).

head_title=¸Ó¸®±Û ¹× ¹Ù´Ú±Û
head_header=È¸½Å ÀüÀÚ ¸ÞÀÏ ¸Ó¸®±Û ¹× ¹Ù´Ú±Û
head_fronter=È¸½Å ÀüÀÚ ¸ÞÀÏ ¸Ó¸®±Û
head_footer=È¸½Å ÀüÀÚ ¸ÞÀÏ ¹Ù´Ú±Û
head_headers=È¸½Å ÀüÀÚ ¸ÞÀÏÀÇ Ãß°¡ SMTP ¸Ó¸®±Û

misc_title=±âÅ¸ ¿É¼Ç
misc_header=±âÅ¸ ¸ñ·Ï ¿É¼Ç
misc_munge=ÁÖ¼Ò¸¦ ºñ±³ÇÒ ¶§¸¸ µµ¸ÞÀÎÀ» »ç¿ëÇÕ´Ï±î?
misc_debug=µð¹ö±× ¸ðµå¸¦ »ç¿ëÇÕ´Ï±î?
misc_info=Á¤º¸ Á¦°ø ¸Þ½ÃÁö¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤ÇÑ ³¯Â¥¸¦ Æ÷ÇÔ½ÃÅµ´Ï±î?
misc_intro=¼Ò°³ ¸Þ½ÃÁö¿¡ ¸¶Áö¸·À¸·Î ¼öÁ¤ÇÑ ³¯Â¥¸¦ Æ÷ÇÔ½ÃÅµ´Ï±î?

digest_title=´ÙÀÌÁ¦½ºÆ® ¿É¼Ç
digest_header=´ÙÀÌÁ¦½ºÆ® »ý¼º ¿É¼Ç
digest_name=´ÙÀÌÁ¦½ºÆ® Á¦¸ñ
digest_maxdays=Àü¼Û Àü °¡Àå ¿À·¡µÈ ¸Þ½ÃÁöÀÇ º¸°ü ±â°£
digest_days=ÀÏ
digest_lines=Çà
digest_maxlines=Àü¼Û Àü ÃÖ´ë ´ÙÀÌÁ¦½ºÆ® Å©±â
digest_volume=ÇöÀç º¼·ý ¹øÈ£
digest_issue=ÇöÀç ¹ßÇà ¹øÈ£
digest_unlimited=Á¦ÇÑ ¾øÀ½
digest_edays=¾ø°Å³ª Àß¸øµÈ ÀÏ ¼ö
digest_elines=¾ø°Å³ª Àß¸øµÈ Çà ¼ö
digest_evolume=¾ø°Å³ª Àß¸øµÈ º¼·ý ¹øÈ£
digest_eissue=¾ø°Å³ª Àß¸øµÈ ¹ßÇà ¹øÈ£

log_global=±Û·Î¹ú ¿É¼Ç º¯°æµÊ
log_create_list=¸ÞÀÏ ¸ñ·Ï $1 ÀÛ¼ºµÊ
log_create_digest=´ÙÀÌÁ¦½ºÆ® ¸ñ·Ï $1 ÀÛ¼ºµÊ
log_delete_list=¸ÞÀÏ ¸ñ·Ï $1 »èÁ¦µÊ
log_delete_digest=´ÙÀÌÁ¦½ºÆ® ¸ñ·Ï $1 »èÁ¦µÊ
log_subscribe=$2ÀÌ(°¡) ¸ñ·Ï $1¿¡ °¡ÀÔµÊ
log_unsubscribe=$2ÀÌ(°¡) ¸ñ·Ï $1¿¡¼­ Å»ÅðµÊ
log_members=¸ñ·Ï $1ÀÇ ±¸¼º¿ø ¾÷µ¥ÀÌÆ®µÊ
log_auto=¸ñ·Ï $1ÀÇ µ¿±âÈ­ ¾÷µ¥ÀÌÆ®µÊ
log_info=¸ñ·Ï $1ÀÇ ¸Þ½ÃÁö ¹× ¼³¸í ¾÷µ¥ÀÌÆ®µÊ
log_subs=¸ñ·Ï $1ÀÇ °¡ÀÔ ¹× Á¶Á¤ ¾÷µ¥ÀÌÆ®µÊ
log_mesg=¸ñ·Ï $1ÀÇ ÀüÀÚ ¸ÞÀÏ ¿É¼Ç ¾÷µ¥ÀÌÆ®µÊ
log_access=¸ñ·Ï $1ÀÇ ¾×¼¼½º Á¦¾î ¾÷µ¥ÀÌÆ®µÊ
log_head=¸ñ·Ï $1ÀÇ ¸Ó¸®±Û ¹× ¹Ù´Ú±Û ¾÷µ¥ÀÌÆ®µÊ
log_misc=¸ñ·Ï $1ÀÇ ±âÅ¸ ¿É¼Ç ¾÷µ¥ÀÌÆ®µÊ
log_digest=¸ñ·Ï $1ÀÇ ´ÙÀÌÁ¦½ºÆ® ¿É¼Ç ¾÷µ¥ÀÌÆ®µÊ

acl_lists=ÀÌ »ç¿ëÀÚ°¡ °ü¸®ÇÒ ¼ö ÀÖ´Â ¸ÞÀÏ ¸ñ·Ï
acl_lall=¸ðµç ¸ñ·Ï
acl_lsel=¼±ÅÃÇÑ ¸ñ·Ï..
acl_global=±Û·Î¹ú ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_create=»õ ¸ÞÀÏ ¸ñ·ÏÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_edit=¸ñ·Ï ±¸¼º¿øÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?

  07070100012f52000081a40000000000000002000000013d1fe2d800002a26000000200000000000000000000000000000001800000003reloc/majordomo/lang/sv   index_title=Majordomos listhanterare
index_econfig=Konfigurationsfilen $1 för majordomo finns inte. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga, eller också har majordomo inte installerats.
index_eprograms=Majordomo-katalogen $1 finns inte. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga, eller också har majordomo inte installerats.
index_eversion=Din version av majordomo stöds inte av Webmin. Endast versionerna 1.94 och högre stöds.
index_ehomedir=Variabeln <tt>$homedir</tt> i din konfigurationsfil för majordomo är satt till $1, som inte finns.
index_elistdir=Variabeln <tt>$listdir</tt> i din konfigurationsfil för majordomo är satt till $1, som inte finns.
index_esendmail=Konfigurationsfilen $1 för sendmail finns inte. Kontrollera inställningarna för din <a href=/sendmail/>Sendmail-modul</a>.
index_esendmailversion=Din konfigurationsfil för sendmail verkar inte höra till den senaste sendmail-versionen. Webmin stödjer endast version 8.8 och uppåt.
index_setupdesc=Majordomo är installerat på systemet, men har inte satts upp ordentligt i sendmails aliasfil.
index_owner=E-postadress till ägaren
index_setup=Sätt upp alias
index_none=Inga e-postlistor har definierats
index_add=Lägg till en e-postlista
index_digest=Lägg till en sammanfattande e-postlista
index_global=Ändra inställningar för Majordomo
index_globaldesc=Ändra globala Majordomo-inställningar som gäller för alla malilinglistor
index_return=e-postlistor
acl_lists=E-postlistor som denna användare får råda över
acl_global=Kunna ändra globala inställningar?
acl_create=Kunna skapa nya e-postlistor?
acl_edit=Kunna redigera listmedlemskap?
yes=Ja
no=Nej

global_title=Globala inställningar
global_ecannot=Du får inte ändra globala inställningar
global_header=Globala inställningar för Majordomo
global_whereami=Namn på e-postserver (<tt>$whereami</tt>)
global_whoami=Adress till Majordomo-master
global_owner=Adress till Majordomo-ägaren
global_sendmail=Sökväg till sendmail-kommando
global_err=Det gick inte att spara globala inställningar
global_ewhereami=Namn på e-postservern saknas eller är ogiltigt
global_ewhoami=Majordomo-adress saknas eller är ogiltig
global_eowner=Ägaradress saknas eller är ogiltig
global_esendmail=Sendmail-kommandot '$1' finns inte

create_ecannot=Du får inte skapa nya listor
create_title=Skapa e-postlista
create_header=Uppgifter om ny lista
create_name=Namn på listan
create_owner=Adress till listans administratör
create_password=Lösenord för administration
create_desc=Beskrivning
create_info=Introduktionsmeddelande
create_footer=Sidfot för eftersänt e-postmeddelande
create_moderate=Modererad lista?
create_moderator=Moderatorns adress
create_same=Samma som administratören
create_err=Det gick inte att skapa e-postlistan
create_ename=Listnamn saknas eller är ogiltigt
create_eexists=Det finns redan en e-postlista som heter '$1'
create_ealias=Det finns redan ett mailalias för '$1'
create_eowner=Ägaradress saknas eller är ogiltig
create_epassword=Administrationslösenord saknas eller är ogiltigt
create_emoderator=Moderatorns adress saknas eller är ogiltig

digest_ecannot=Du får inte skapa en ny sammanfattande e-postlista
digest_title=Skapa sammanfattande e-postlista
digest_header=Uppgifter om ny sammanfattande e-postlista
digest_name=Namn på listan
digest_list=Sammanfatta lista
digest_owner=Adress till administratör
digest_password=Lösenord för administration
digest_desc=Beskrivning
digest_info=Introduktionsmeddelande
digest_footer=Sidfot för sammanfattningsbrev
digest_when=Skicka sammanfattning när
digest_old=Det äldsta meddelandet är $1 dagar gammalt
digest_lines=Meddelandena totalt utgör $1 rader
digest_err=Det gick inte att skapa sammanfattande e-postlista
digest_edays=Antalet dagar saknas eller är ogiltigt
digest_elines=Antalet rader saknas eller är ogiltigt

edit_title=Ändra e-postlista
edit_ecannot=Du får inte ändra denna e-postlista
edit_delete=Ta bort lista
edit_deletemsg=Tar bort denna lista inklusive tillhörande filer och mailalias
edit_return=e-postlista
edit_for=För lista $1

delete_ecannot=Du får inte ta bort denna e-postlista
delete_edigest=Det går inte att ta bort denna lista eftersom den verkar ha en sammanfattande e-postlista kopplad till sig
delete_title=Ta bort listan
delete_rusure=Vill du verkligen ta bort e-postlistan $1? Följande filer kommer att tas bort:
delete_aliases=Följande mailalias kommer också att tas bort:
delete_ok=Ta bort listan

members_title=Listmedlemmar
members_desc=Använd textrutan nedan för att ändra i listan över de e-postadresser som ska få e-post som skickas till denna lista.
members_rodesc=I textrutan nedan visas alla e-postadresser som får e-post skickad till denna lista.
members_sub=Lägg till en adress till listan
members_add=Lägg till
members_unsub=Ta bort en adress från listan
members_rem=Ta bort
members_sync=Synkronisera Unix-användare med listan?
members_dom=Domännamn som ska läggas till användarnamnen
members_eedit=Du får inte ändra några uppgifter om medlemmarna på listan
members_esub=Du måste ange ett administrationslösenord innan du lägger till adresser till listan
members_esubaddr=Adressen som ska läggas till måste ha ett fullständigt domännamn, t ex <tt>foo@bar.com</tt>
members_eunsub=Du måste ange ett administratörslösenord innan du tar bort adresser från listan
members_eunsubaddr=Adressen som ska tas bort måste ha ett fullständigt domännamn, t ex <tt>foo@bar.com</tt>

info_title=Meddelanden och beskrivning
info_header=Meddelanden och beskrivning
info_desc=Listbeskrivning som ska bifogas i svaret till kommandot <tt>lists</tt>
info_info=Informativt meddelande som ska skickas som svar på kommandot <tt>info $1</tt>
info_intro=Introduktionsmeddelande som skickas när någon läggs till listan
info_same=Samma som det informativa meddelandet
info_below=Angivet nedan

subs_title=Tillägg och moderering
subs_header=Inställningar för tillägg och moderering
subs_sub=Tilläggspolicy
subs_sopen=Vem som helst kan lägga till sig själv
subs_sauto=Vem som helst kan lägga till vem som helst
subs_closed=Administratörens godkännande krävs
subs_unsub=Borttagningspolicy
subs_uopen=Vem som helst kan ta bort sig själv
subs_uauto=Vem som helst kan ta bort vem som helst
subs_confirm=Kräva bekräftelse för tillägg?
subs_welcome=Skicka introduktionsmeddelande?
subs_strip=Endast lägga till adressen till listan?
subs_announcements=Meddela administratören om tillägg och borttagningar?
subs_administrivia=Skicka vidare begäran om tillägg/borttagning till administratören?
subs_passwd=Administrationslösenord
subs_moderate=Modererad lista?
subs_moderator=Moderatorns adress?
subs_maint=Administratören
subs_mpasswd=Moderationslösenord
subs_owner=Ägarens e-postadress
subs_approval=E-postadress för godkännande
subs_eowner=Ägarens e-postadress saknas
subs_eapproval=E-postadress för godkännande saknas
subs_emoderator=Moderatorns adress saknas eller är ogiltig
subs_epasswd=Lösenord saknas eller är ogiltigt

mesg_title=E-postinställningar
mesg_header=Inställningar för utgående e-post
mesg_reply=Reply-To:-adress i vidareskickad e-post
mesg_none=Ingen
mesg_sender=Sender:-adress i e-postmeddelandet
mesg_host=Datornamn för återsänd e-post
mesg_subject=Subject:-prefix för återsänd e-post
mesg_precedence=Prioritet för återsänd e-post
mesg_first=Första klass
mesg_special=Specialleverans
mesg_list=Lista
mesg_bulk=Bulk
mesg_junk=Skräp
mesg_purge=Ta bort Recieved:-huvud från återsänd e-post
mesg_maxlength=Maximal storlek för meddelanden
mesg_ereply=Reply-To:-adress saknas eller är ogiltig
mesg_esender=Sender:-adress saknas eller är ogiltig
mesg_esender2=Sender:-adressen får inte innehålla ett datornamn
mesg_ehost=Datornamn saknas eller är ogiltigt
mesg_emaxlength=Maximal meddelandestorlek saknas eller är ogiltig

access_title=Kontroll
access_header=Kontroll av tillgång till majordomo-kommandon
access_open=Vem som helst
access_list=Listmedlemmar
access_closed=Ingen
access_get=Tillgång till kommandot <tt>get</tt>
access_index=Tillgång till kommandot <tt>index</tt>
access_info=Tillgång till kommandot <tt>info</tt>
access_intro=Tillgång till kommandot <tt>intro</tt>
access_which=Tillgång till kommandot <tt>which</tt>
access_who=Tillgång till kommandot <tt>who</tt>
access_adv=Bifoga denna lista i svaret på kommandot <tt>lists</tt> för ...
access_adv0=Alla
access_adv1=Adresser som matchar reguljärt uttryck
access_adv2=Adresser som inte matchar reguljärt uttryck
access_res=Vem kan posta på listan?
access_res0=Vem som helst
access_res1=Listmedlemmar
access_res2=Adresser i filen
access_tbody=Reguljära uttryck för tabubelagda saker i meddelandekroppen
access_theader=Reguljära uttryck för tabubelagda saker i meddelandehuvudet
access_taboo=Obs: alla tabu- och adressuttryck (reguljära) måste börja och sluta med <tt>/</tt>, t ex <tt>/foobar.com/</tt> eller <tt>/obscene/</tt>.

head_title=Huvuden och sidfötter
head_header=E-posthuvuden och -fötter för återsänd e-post
head_fronter=Huvud för återsänd e-post
head_footer=Sidfot för återsänd e-post
head_headers=Extra SMTP-huvuden för återsänd e-post

misc_title=Blandade inställningar
misc_header=Blandade inställningar för listor
misc_munge=Endast använda domänen när adresser jämförs?
misc_debug=Debugmod?
misc_info=Sätta in "ändrad senast"-datum i det informativa meddelandet?
misc_intro=Sätta in "ändrad senast"-datum i introduktionsmeddelandet?

digest_title=Inställningar för sammanfattningar
digest_header=Inställningar för generering av sammanfattningar
digest_name=Namn på sammanfattning
digest_maxdays=Äldsta meddelandets ålder innan sändning sker
digest_days=dagar
digest_lines=rader
digest_maxlines=Maximal sammanfattningsstorlek innan sändning sker
digest_volume=Aktuellt nummer på volymen
digest_issue=Aktuellt nummer på utgåvan
digest_unlimited=Obegränsat
digest_edays=Antalet dagar saknas eller är ogiltigt
digest_elines=Antalet rader saknas eller är ogiltigt
digest_evolume=Volymnummer saknas eller är ogiltigt
digest_eissue=Utgåvenummer saknas eller är ogiltigt

log_global=Ändrade globala inställningar
log_create_list=Skapade e-postlista $1
log_create_digest=Skapade sammanfattande lista $1
log_delete_list=Tog bort e-postlista $1
log_delete_digest=Tog bort sammanfattande lista $1
log_subscribe=Lade till $2 till lista $1
log_unsubscribe=Tog bort $2 från lista $1
log_members=Uppdaterade medlemmarna på lista $1
log_auto=Uppdaterade synkroniseringen för lista $1
log_info=Uppdaterade meddelanden och beskrivning för lista $1
log_subs=Uppdaterade tillägg och moderering för lista $1
log_mesg=Uppdaterade e-postinställningar för lista $1
log_access=Uppdaterade kommandotillgångskontroll för lista $1
log_head=Uppdaterade huvuden och sidfötter för lista $1
log_misc=Uppdaterade blandade inställningar för lista $1
log_digest=Uppdaterade sammanfattningsinställningar för lista $1

  07070100012f53000081a40000000000000002000000013d1fe2d800002762000000200000000000000000000000000000001800000003reloc/majordomo/lang/tr   index_title=Majordomo Liste Yöneticisi
index_econfig=Majordomo yapýlandýrma dosyasý $1 mevcut deðil. <a href='$2'>Modül yapýlandýrmasý</a> yanlýþ ya da, majordomo kurulmamýþ olabilir.
index_eprograms=Majordomo dizini $1 mevcut deðil. <a href='$2'>Modül yapýlandýrmasý</a> yanlýþ ya da, majordomo kurulmamýþ olabilir.
index_eversion=Majordomo sürümünüz Webmin tarafýndan desteklenmemektedir. Sadece 1.94 ve üzeri sürümler desteklenmektedir
index_ehomedir=Majordomo yapýlandýrma dosyasýndaki <tt>$homedir</tt> deðiþkeni olan $1 mevcut deðildir.
index_elistdir=Majordomo yapýlandýrma dosyasýndaki <tt>$listdir</tt> deðiþkeni olan $1 mevcut deðildir.
index_esendmail=Sendmail yapýlandýrma dosyasý $1 mevcut deðildir. <a href=/sendmail/>Sendmail modül</a> yapýlandýrmanýzý kontrol ediniz.
index_esendmailversion=Sendmail yapýlandýrma dosyanýz en son sürüm sendmail'e sahip deðilsiniz gibi görünüyor. Webmin sadece 8.8 ve daha üstü sürümleri desteklemektedir.
index_setupdesc=Majordomo sisteminizde kurulu fakat sendmail takma isimler dosyanýz deðiþtirilmemiþ.
index_owner=Majordomo yöneticisi e-posta adresi
index_setup=Takma Ýsimleri Oluþtur
index_none=Tanýmlý posta listeniz bulunmamaktadýr.
index_add=Yeni bir posta listesi oluþtur
index_digest=Yeni bir özet liste oluþtur
index_global=Majordomo Seçneklerini Deðiþtir
index_globaldesc=Bütün posta listelerine uygulanacak olan genel majordomo seçenkelerini deðiþtir
index_return=posta listeleri

global_title=Genel Seçenekler
global_ecannot=Genel seçenekleri deðiþtirmek için izininiz yoktur.
global_header=Genel Majordomo seçenekleri
global_whereami=Posta sunucusu makine adý (<tt>$whereami</tt>)
global_whoami=Majordomo yöneticisi adresi
global_owner=Majordomo sahibinin adresi
global_sendmail=Sendmail komutu yolu
global_err=Genel seçeneklerin kaydedilmesinde hata oluþtur
global_ewhereami=Kayýp ya da yanlýþ posta sunucusu makine adý
global_ewhoami=Kayýp ya da yanlýþ Majordomo adresi
global_eowner=Kayýp ya da yanlýþ sahip adresi
global_esendmail=Sendmail komutu '$1' mevcut deðil

create_ecannot=Yeni liste oluþturmak için izininiz yoktur
create_title=Yeni posta listesi oluþtur
create_header=Yeni liste ayrýntýlarý
create_name=Liste adý
create_owner=Liste yöneticisinin adresi
create_password=Yönetici þifresi
create_desc=Açýklama
create_info=Açýklayýcý mesaj
create_footer=Gönderilen posta dipnotu
create_moderate=Liste modere edilsin mi?
create_moderator=Moderator'ün adresi
create_same=Yönetici ile ayný
create_err=Posta listesinin oluþturulmasýnda hata oluþtu
create_ename=Kayýp ya da yanlýþ liste adý
create_eexists='$1' posta listesi her zaman mevcut
create_ealias=Posta takma ismi '$1' her zaman mevcut
create_eowner=Kayýp ya da yanlýþ sahip adresi
create_epassword=Kayýp ya da yanlýþ yönetici þifresi
create_emoderator=Kayýp ya da yanlýþ moderatör e-posta adresi

digest_ecannot=Yeni bir özet liste oluþturmak için izininiz yoktur
digest_title=Özet liste oluþtur
digest_header=Yeni özet liste ayrýntýlarý
digest_name=Liste adý
digest_list=Listenin özetini al
digest_owner=Liste yöneticisinin adresi
digest_password=Yönetici þifresi
digest_desc=Açýklama
digest_info=Açýklayýcý mesaj
digest_footer=Özet posta dipnotu
digest_when=Özet gönderme zamaný
digest_old=En eski mesaj $1 gün öncesine ait
digest_lines=Toplam $1 satýr mesaj
digest_err=Özet liste oluþturulmasýnda hata oluþtu
digest_edays=Kayýp ya da yanlýþ gün sayýsý
digest_elines=Kayýp ya da yanlýþ satýr sayýsý

edit_title=Posta Listesi Deðiþtir
edit_ecannot=Bu posta listesini deðiþtirmek için izininiz yoktur
edit_delete=Listeyi Sil
edit_deletemsg=Bu listeyi ve beraberindeki postalarla, posta takma isimleri sil
edit_return=posta listesi
edit_for=$1 listesi için

delete_ecannot=Bu posta listesini silmek için izininiz yoktur
delete_edigest=Bu liste bir özet listeye sahip olduðundan silinemez
delete_title=Liste Sil
delete_rusure=Posta listesi $1 silmek istediðinizden emin misiniz? Takip eden dosyalar silenecektir : 
delete_aliases=Takip eden posta listeleri silinmiþ olabilir :
delete_ok=Listeyi Sil

members_title=Liste Üyeleri
members_desc=Takip eden düz metin yazýsý kutusundaki e-posta adreslerini deðiþtirerek bu listeye posta gönderebilecek olan adresleri belirleyebilirsiniz.
members_rodesc=Takip eden düz metin yazýsý kutusundaki adresler bu listeden posta alacak olan adreslerdir.
members_sub=Listeye adres ekle
members_add=Ekle
members_unsub=Listeden adres sil
members_rem=Sil
members_sync=Liste ile Unix kullanýcýlarýný eþ zamanlandýr?
members_dom=Kullanýcý isimlerine eklenecek olan alan adý
members_eedit=Bu listenin üyelerini deðiþtirmek için izininiz yoktur.
members_esub=Listeye adres eklemeden önce yönetici þifresini girmelisiniz.
members_esubaddr=Eklenecek adres tam alan adýna sahip olmalýdýr, örneðin <tt>foo@bar.com</tt>
members_eunsub=Listeden adres silmeden önce yönetici þifresini girmelisiniz.
members_eunsubaddr=Silinecek adres tam alan adýna sahip olmalýdýr, örneðin <tt>foo@bar.com</tt>

info_title=Mesajlar ve Açýklama
info_header=Mesajlar ve açýklama
info_desc=Liste açýklamasý, <tt>lists</tt> komutunda listenin karþýsýnda açýklama olarak görülen kýsýmdýr
info_info=Bilgi verici mesaj, <tt>info $1</tt> komutunun çýktýsý olarak görülen mesajdýr
info_intro=Giriþ mesajý, biri listeye üye olduðunda ona gönderilecek olan mesajdýr.
info_same=Bilgi verici mesajla ayný
info_below=Aþaðýda girildiði gibi..

subs_title=Üyelik ve Moderasyon
subs_header=Üyelik ve moderasyon seçenekleri
subs_sub=Üyelik politikasý
subs_sopen=Herkes kendi kendine üye olabilir
subs_sauto=Herkes herkesi üye yapabilir
subs_closed=Yönetici onayý gereklidir
subs_unsub=Üyeliktan çýkma politikasý
subs_uopen=Herkes kendisi üyelikten çýkabilir
subs_uauto=Herkes herkesi üyelikten çýkarabilir
subs_confirm=Giriþ onaylamasý gereksin mi?
subs_welcome=Açýklayýcý mesaj gönderilsin mi?
subs_strip=Listeye sadece ham adres eklensin mi?
subs_announcements=Üyelikte ve üyelikten çýkýlýrken yöneticiye haber verilsin mi?
subs_administrivia=Üyelik ve üyelikten çýkma istekleri yöneticiye gönderilsin mi?
subs_passwd=Yönetici þifresi
subs_moderate=Liste modere edilsin mi?
subs_moderator=Moderatör'ün adresi?
subs_maint=Yöneticisi
subs_mpasswd=Moderasyon þifresi
subs_owner=Sahibin e-posta adresi
subs_approval=Onaylama e-posta adresi
subs_eowner=Sahip e-posta adresi bulunmadý
subs_eapproval=Onaylama e-posta adresi bulunmadý
subs_emoderator=Kayýp ya da yanlýþ moderatör adresi
subs_epasswd=Kayýp ya da yanlýþ þifre

mesg_title=E-posta Seçenekleri
mesg_header=Dýþa giden e-posta seçenekleri
mesg_reply=Reply-To: geri gönderilecek e-posta adresi
mesg_none=Hiçbiri
mesg_sender=Sender: e-posta adresi
mesg_host=Geri gönderilecek olan e-posta adresi için makine adý
mesg_subject=Subject: geri gönderilecek e-posta adresi için baþlýk
mesg_precedence=E-posta adresi önceliðini geri gönder
mesg_first=Birinci sýnýf
mesg_special=Özel daðýtýcý
mesg_list=Liste
mesg_bulk=Hacme göre
mesg_junk=Kalitesiz
mesg_purge=Remove Recieved: geri gönderilen postalarýn baþlýklarý
mesg_maxlength=Gönderilebilen en çok mesaj boyutu
mesg_ereply=Kayýp ya da yanlýþ Reply-To: adresi
mesg_esender=Kayýp ya da yanlýþ Sender: adresi
mesg_esender2=Sender: adres bir makine adý içermiyor.
mesg_ehost=Kayýp ya da yanlýþ makine adý
mesg_emaxlength=Kayýp ya da yanlýþ en çok mesaj boyutu

access_title=Giriþ Kontrolü
access_header=Majordomo komutlarý için giriþ kontrolü
access_open=Herkes
access_list=Liste üyeleri
access_closed=Hiçkimse
access_get=<tt>get</tt> komutuna izin
access_index=<tt>index</tt> komutuna izin
access_info=<tt>info</tt> komutuna izin
access_intro=<tt>intro</tt> komutuna izin
access_which=<tt>which</tt> komutuna izin
access_who=<tt>who</tt> komutuna izin
access_adv=<tt>lists</tt> komutunun cevabýnda içerilsin..
access_adv0=Herkes
access_adv1=Adresler düzenleme ifadeleri ile karþýlaþtýrýlýyor..
access_adv2=Adresler düzenleme ifadeleri ile karþýlaþtýrýlmýyor..
access_res=Listeye kim postalayabilsin?
access_res0=Herkes
access_res1=Liste üyeleri
access_res2=Dosyadaki adresler
access_tbody=Posta içeriðindeki yasak kelimeler
access_theader=Posta baþlýðýndaki yasak kelimeler
access_taboo=Not: bütün yasak kelimeler ve adres tanýmlamalarý <tt>/</tt> ile baþlamalý ve bitmelidir, örnek:<tt>/microsoft.com</tt> ya da <tt>/obscene/</tt>

head_title=Baþlýklar ve Dipnotlar
head_header=Eposta baþlýk ve dipnotlarýný tekrar gönder
head_fronter=Eposta baþlýklarýný tekrar gönder
head_footer=Eposta dipnotlarýný tekrar gönder
head_headers=Tekrar gönderilen e-postalar için ek SMTP baþlýklarý

misc_title=Çeþitli Seçenekler
misc_header=Çeþitli liste seçenekleri
misc_munge=Alaný, yalnýzca adresler karþýlaþtýrýldýðýnda kullan?
misc_debug=Hatasýzlaþtýrma modu?
misc_info=Bilgilendirici mesaj son deðiþtirilme tarihini içersin mi?
misc_intro=Giriþ mesajý son deðiþtirilme tarihini içersin mi?

digest_title=Özet Liste Seçenekleri
digest_header=Özet liste oluþturma seçenekleri
digest_name=Özet liste baþlýðý
digest_maxdays=Son özet mesaj süresi
digest_days=gün
digest_lines=satýr
digest_maxlines=Özet mesajýn en büyük boyutu
digest_volume=Þimdiki e-posta numarasý
digest_issue=Þimdiki konu numarasý
digest_unlimited=limitsiz
digest_edays=Kayýp ya da yanlýþ gün sayýsý
digest_elines=Kayýp ya da yanlýþ satýr sayýsý
digest_evolume=Kayýp ya da yanlýþ e-posta numarasý
digest_eissue=Kayýp ya da yanlýþ konu numarasý

log_global=Genel seçenekler deðiþtirildi
log_create_list=Posta listesi oluþturuldu $1
log_create_digest=Oluþturulan özet listesi $1
log_delete_list=Silinen posta listesi $1
log_delete_digest=Silinen özet listesi $1
log_subscribe=$2, $1 'e üye oldu
log_unsubscribe=$2, $1 üyeliðinden ayrýldý
log_members=Liste $1'in kullanýcýlarý güncellendi
log_auto=Liste $1' in uyumluluðu güncellendi
log_info=Liste $1'in mesajlarý ve açýklamalarý güncellendi
log_subs=Liste $1 için üyelik ve moderasyon güncellendi
log_mesg=Liste $1 için e-posta seçenekleri güncellendi
log_access=Liste $1 giriþ kontrolü güncellendi
log_head=Liste $1 için baþlýk ve dipnotlar güncellendi
log_misc=Liste $1 için çeþitli seçenekler güncellendi
log_digest=Liste $1 için özetleme seçenekleri güncellendi

  07070100012f54000081a40000000000000002000000013d1fe2d800001c53000000200000000000000000000000000000001b00000003reloc/majordomo/lang/zh_CN    index_title=Majordomo ÁÐ±í¹ÜÀíÆ÷
index_econfig=Majordomo ÅäÖÃÎÄ¼þ $1 ²»´æÔÚ.¿ÉÄÜÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·,»òÕß Majordomo Ã»ÓÐ°²×°¡£
index_eprograms=Majordomo Ä¿Â¼ $1 ²»´æÔÚ.¿ÉÄÜÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·,»òÕß Majordomo Ã»ÓÐ°²×°¡£
index_eversion=Webmin ²»Ö§³ÖÄúµÄ Majordomo °æ±¾,Ëü½öÖ§³Ö1.94»ò¸ü¸ß°æ±¾µÄMajordomo¡£
index_ehomedir=ÄúµÄ Majordomo ÅäÖÃÎÄ¼þÖÐµÄ<tt>$homedir</tt>±äÁ¿ÉèÖÃÎª $1£¬µ«Ëü²»´æÔÚ¡£
index_elistdir=ÄúµÄ Majordomo ÅäÖÃÎÄ¼þÖÐµÄ<tt>$listdir</tt>±äÁ¿ÉèÖÃÎª $1,µ«Ëü²»´æ>ÔÚ¡£
index_esendmail=Sendmail ÅäÖÃÎÄ¼þ $1²»´æÔÚ,Çë¼ì²éÄúµÄ<a href=/sendmail/>Sendmail Ä£¿é</a> ÅäÖÃ¡£
index_esendmailversion=ÄúµÄ sendmail ÅäÖÃÎÄ¼þ¿ÉÄÜ²»ÊÇ×îÐÂµÄ°æ±¾, WebminÖ»ÄÜÖ§³Ö8.8»ò¸ü¸ß°æ±¾¡£
index_setupdesc=Majordomo ÒÑ¾­°²×°ÔÚÄúµÄÏµÍ³ÉÏ,µ«Î´ÔÚ sendmail aliase ÎÄ¼þÖÐÕýÈ·ÉèÖÃ¡£
index_owner=ËùÓÐÕß E_mail µØÖ·
index_setup=´´½¨±ðÃû
index_none=ÄúÃ»ÓÐ¶¨ÒåÓÊ¼þÁÐ±í
index_add=Ôö¼ÓÒ»ÐÂµÄÓÊ¼þÁÐ±í
index_digest=Ôö¼ÓÒ»ÐÂµÄÎÄÕªÁÐ±í
index_global=±à¼­ Majordomo Ñ¡Ïî
index_globaldesc=±à¼­ÊÊÓÃÓÚÈ«²¿ÓÊ¼þÁÐ±íµÄ Majordomo Ñ¡Ïî
index_return=ÓÊ¼þÁÐ±í
global_title=È«¾ÖÑ¡Ïî
global_ecannot=ÄúÎÞÈ¨±à¼­È«¾ÖÑ¡Ïî
global_header=È«¾Ö Majordomo Ñ¡Ïî
global_whereami=ÓÊ¼þ·þÎñÆ÷Ö÷»úÃû(<tt>$whereami</tt>)
global_whoami=Majordomo Ö÷µØÖ·
global_owner=Majordomo ËùÓÐÕßµØÖ·
global_sendmail=Sendmail ÃüÁîÂ·¾¶
global_err=´æ´¢È«¾ÖÑ¡ÏîÊ§°Ü
global_ewhereami=¶ªÊ§»òÎÞÐ§µÄÓÊ¼þ·þÎñÆ÷Ö÷»úÃû
global_ewhoami=¶ªÊ§»òÎÞÐ§µÄ Majordomo µØÖ·
global_eowner=¶ªÊ§»òÎÞÐ§µÄËùÓÐÕßµØÖ·
global_esendmail=Sendmail ÃüÁî '$1' ²»´æÔÚ
create_ecannot=ÄúÎÞÈ¨´´½¨ÐÂÁÐ±í
create_title=´´½¨ÓÊ¼þÁÐ±í
create_header=ÐÂÁÐ±í¸ÅÊö
create_name=ÁÐ±íÃû³Æ
create_owner=ÁÐ³öÎ¬»¤ÕßµÄµØÖ·
create_password=Î¬»¤¿ÚÁî
create_desc=ÃèÊö
create_info=¼ò½éÏûÏ¢
create_footer=×ªÔËÓÊ¼þ×¢½Å
create_moderate=ÖÙ²ÃÁÐ±í£¿
create_moderator=ÖÙ²ÃÕßµÄµØÖ·
create_same=ÓëÎ¬»¤ÕßÏàÍ¬
create_err=´´½¨ÓÊ¼þÁÐ±íÊ§°Ü
create_ename=¶ªÊ§»òÎÞÐ§µÄÓÊ¼þÁÐ±íÃû
create_eexists=ÒÑÓÐÒ»¸öÃûÎª '$1' µÄÓÊ¼þÁÐ±í
create_ealias='$1' µÄÓÊ¼þ±ðÃûÒÑ¾­´æÔÚ
create_eowner=¶ªÊ§»òÎÞÐ§µÄËùÓÐÕßµÄÓÊ¼þµØÖ·
create_epassword=¶ªÊ§»òÎÞÐ§µÄ¹ÜÀí¿ÚÁî
create_emoderator=¶ªÊ§»òÎÞÐ§µÄÖÙ²ÃÕßÓÊ¼þµØÖ·
cdigest_ecannot=ÄúÎÞÈ¨´´½¨ÐÂµÄÎÄÕªÁÐ±í
cdigest_title=´´½¨ÎÄÕªÁÐ±í
cdigest_header=ÐÂÎÄÕªÁÐ±íÏêÊö
cdigest_name=ÁÐ±íÃû³Æ
cdigest_list=½øÐÐÁÐ±íµÄÎÄÕª
cdigest_owner=ÁÐ³öÎ¬»¤ÕßµÄµØÖ·
cdigest_password=Î¬»¤¿ÚÁî
cdigest_desc=ÃèÊö
cdigest_info=¼ò½éÏûÏ¢
cdigest_footer=ÎÄÕªÓÊ¼þ×¢½Å
cdigest_when=·¢ËÍÎÄÕªµÄÊ±¼ä
cdigest_old=×îÔçµÄÏûÏ¢ÒÑ¾­ $1 Ìì
cdigest_lines=ÏûÏ¢¹² $1 ÐÐ
cdigest_err=´´½¨ÎÄÕªÁÐ±íÊ§°Ü
cdigest_edays=¶ªÊ§»òÎÞÐ§µÄµÄÌìÊý
cdigest_elines=¶ªÊ§»òÎÞÐ§µÄÐÐÊý
edit_title=±à¼­ÓÊ¼þÁÐ±í
edit_ecannot=ÄúÎÞÈ¨±à¼­ÓÊ¼þÁÐ±í
edit_delete=É¾³ýÁÐ±í
edit_deletemsg=É¾³ýÕâ¸öÁÐ±í,¼°ÆäËù°üº¬µÄËùÓÐ¸½¼þºÍÓÊ¼þ±ðÃû
edit_return=ÓÊ¼þÁÐ±í
edit_for=ÎªÁÐ±í $1
delete_ecannot=ÄúÎÞÈ¨É¾³ý¸ÃÓÊ¼þÁÐ±í
delete_edigest=¸ÃÁÐ±í²»ÄÜÉ¾³ý,ÊÇÒòÎªËü¿ÉÄÜÓÐÏà¹ØµÄÎÄÕªÁÐ±í
delete_title=É¾³ýÁÐ±í
delete_rusure=ÄúÈ·ÐÅÒªÉ¾³ýÓÊ¼þÁÐ±í $1? ÏÂÃæÎÄ¼þ½«±»É¾³ý£º
delete_aliases=ÏÂÁÐÓÊ¼þ±ðÃûÒ²½«±»É¾³ý£º
delete_ok=É¾³ýÁÐ±í
members_title=ÁÐ³ö³ÉÔ±
members_desc=ÀûÓÃÏÂ±í±à¼­ÓÊ¼þµØÖ·ÁÐ±í,ÕâÐ©µØÖ·½«ÄÜÊÕµ½·¢ËÍµ½¸ÃÁÐ±íÖÐµÄÓÊ¼þ¡£
members_rodesc=ÏÂ±íÁÐ³öÁËËùÓÐÄÜÊÕµ½·¢ËÍ¸ø¸ÃÁÐ±íµÄÓÊ¼þµÄÓÊ¼þµØÖ·¡£
members_sub=Ô¤¶©µØÖ·ÖÁÁÐ±íÖÐ
members_add=Ôö¼Ó
members_unsub=´Ó±íÖÐÉ¾³ýµØÖ·
members_rem=É¾³ý
members_sync=½« Unix ÓÃ»§ÓëÁÐ±íÍ¬²½
members_dom=½«ÓòÃû×·¼ÓÖÁÓÃ»§Ãûºó
members_eedit=ÄúÎÞÈ¨±à¼­¸Ã´Ë±íÖÐµÄ³ÉÔ±
members_esub=ÔÚÔ¤¶©µØÖ·ÖÁÁÐ±íÖÐÖ®Ç°£¬Äú±ØÐëÎ¬»¤¿ÚÁî
members_esubaddr=ÒªÔ¤¶©µÄµØÖ·±ØÐëÓòÃûÆëÈ«,ÀýÈç:<tt>foo@bar.com</tt>
members_eunsub=ÔÚÁÐ±íÖÐÍË¶©µØÖ·Ö®Ç°,Äú±ØÐëÑ¡ÔñÎ¬»¤¿ÚÁî
members_eunsubaddr=ÒªÍË¶©µÄµØÖ·±ØÐëÓòÃûÆëÈ«,ÀýÈç:<tt>foo@bar.com</tt>
info_title=ÏûÏ¢ºÍÃèÊö
info_header=ÏûÏ¢ºÍÃèÊö
info_desc=ÁÐ³öÒª°üº¬ÔÚ<tt>lists</tt>ÃüÁîµÄ»ØÓ¦ÖÐµÄÃèÊö
info_info=»ØÓ¦<tt>info $1</tt>ÃüÁî¶ø·µ»ØµÄÐÅÏ¢ÐÔÏûÏ¢
info_intro=ÓÐÈËÔ¤¶©ÁÐ±íÊ±·¢³öµÄ¼òÒªÏûÏ¢
info_same=ÓëÐÅÏ¢ÐÔÏûÏ¢ÏàÍ¬
info_below=°´ÕÕÏÂÃæÊäÈë..
subs_title=Ô¤¶©ºÍÖÙ²Ã
subs_header=Ô¤¶©ºÍÖÙ²ÃÑ¡Ïî
subs_sub=Ô¤¶©¹æ¶¨
subs_sopen=ÈËÈË¾ù¿ÉÔ¤¶©×Ô¼º
subs_sauto=ÈËÈË¾ù¿ÉÔ¤¶©Ã¿¸öÈË
subs_closed=ÐèÒªÎ¬»¤ÕßÍ¬Òâ
subs_unsub=ÍË¶©¹æ¶¨
subs_uopen=ÈËÈË¾ù¿ÉÍË¶©×Ô¼º
subs_uauto=ÈËÈË¾ù¿ÉÍË¶©Ã¿¸öÈË
subs_confirm=ÒªÇóÔ¤¶©È·ÈÏ£¿
subs_welcome=·¢ËÍ¼òÒªÏûÏ¢£¿
subs_strip=Ö»ÔÚ±íÖÐÔö¼ÓÔ­Ê¼µØÖ·£¿
subs_announcements=Í¨ÖªÔ¤¶©ºÍÍË¶©µÄÎ¬»¤Õß£¿
subs_administrivia=½«Ô¤¶©ºÍÍË¶©ÇëÇó×ª·¢¸øÎ¬»¤Õß£¿
subs_passwd=Î¬»¤¿ÚÁî
subs_moderate=ÒÑÖÙ²ÃµÄÁÐ±í£¿
subs_moderator=ÖÙ²ÃÕßµÄµØÖ·£¿
subs_maint=Î¬»¤Õß
subs_mpasswd=ÖÙ²Ã¿ÚÁî
subs_owner=ËùÓÐÕßµÄÓÊ¼þµØÖ·
subs_approval=Åú×¼ÓÊ¼þµØÖ·
subs_eowner=¶ªÊ§ËùÓÐÕßµÄÓÊ¼þµØÖ·
subs_eapproval=¶ªÊ§Åú×¼ÓÊ¼þµØÖ·
subs_emoderator=¶ªÊ§»òÎÞÐ§µÄÖÙ²ÃÕßµØÖ·
subs_epasswd=¶ªÊ§»òÎÞÐ§µÄ¿ÚÁî
mesg_title=Email Ñ¡Ïî
mesg_header=Íâ·¢ÓÊ¼þÑ¡Ïî
mesg_reply=»Ø¸´µ½:µØÖ·ÔÚÖØ·¢µÄÓÊ¼þÖÐ
mesg_none=ÎÞ
mesg_sender=·¢ËÍÕß:µØÖ·ÔÚÓÊ¼þÖÐ
mesg_host=ÖØ·¢ÓÊ¼þµÄÖ÷»úÃû
mesg_subject=Ö÷Ìâ: ÖØ·¢ÓÊ¼þµÄÇ°×º
mesg_precedence=µ±ÖØ·¢¼þµÄÓÅÏÈ¼¶
mesg_first=ÌØ¿ì
mesg_special=×¨µÝ
mesg_list=ÁÐ±í
mesg_bulk=´ó×ÚÓÊ¼þ
mesg_junk=·ÏÓÊ¼þ
mesg_purge=É¾³ýÊÕµ½µÄÓÊ¼þ: ±êÌâÀ´×ÔÖØ·¢ÓÊ¼þ
mesg_maxlength=¿ÉÔÊÐíµÄ×î´óÓÊ¼þµÄ´óÐ¡
mesg_ereply=¶ªÊ§»òÎÞÐ§µÄ»Ø¸´µØÖ·
mesg_esender=¶ªÊ§»òÎÞÐ§µÄ·¢ËÍÕßµØÖ·
mesg_esender2=·¢ËÍÕß: µØÖ·²»µÃ°üÀ¨Ö÷»úÃû
mesg_ehost=¶ªÊ§»òÎÞÐ§µÄÖ÷»úÃû
mesg_emaxlength=¶ªÊ§»òÎÞÐ§µÄ×î´óÓÊ¼þµÄ´óÐ¡
access_title=·ÃÎÊ¿ØÖÆ
access_header=majordomo ÃüÁîµÄ·ÃÎÊ¿ØÖÆ
access_open=ÈÎºÎÈË
access_list=ÁÐ³ö³ÉÔ±
access_closed=Ã»ÓÐ³ÉÔ±
access_get=·ÃÎÊ<tt>get</tt>ÃüÁî
access_index=·ÃÎÊ<tt>index</tt>ÃüÁî
access_info=·ÃÎÊ<tt>info</tt>ÃüÁî
access_intro=·ÃÎÊ<tt>intro</tt>ÃüÁî
access_which=·ÃÎÊ<tt>which</tt>ÃüÁî
access_who=·ÃÎÊ<tt>who</tt>ÃüÁî
access_adv=ÔÚ¶Ô<tt>lists</tt>ÃüÁîµÄ»ØÓ¦ÖÐ°üÀ¨´ËÁÐ±í..
access_adv0=Ã¿¸öÈË
access_adv1=µØÖ·Æ¥ÅäÕýÔò±í´ïÊ½..
access_adv2=µØÖ·²»Æ¥ÅäÕýÔò±í´ïÊ½..
access_res=Ë­¿ÉÒÔÍ¶µÝÕâ¸öÁÐ±í£¿
access_res0=ÈÎºÎÈË
access_res1=ÁÐ³ö³ÉÔ±
access_res2=ÎÄ¼þÖÐµÄµØÖ·
access_tbody=TabooÕýÎÄÕýÔò±í´ïÊ½
access_theader=TabooÒ³Ê×ÕýÔò±í´ïÊ½
access_taboo=×¢Òâ:ËùÓÐTabooµÄºÍµØÖ·ÕýÔò±í´ïÊ½¾ù±ØÐëÒÔ<tt>/</tt>¿ªÍ·ºÍ½áÊø,ÀýÈç:<tt>/foobar.com/</tt> »ò <tt>/obscene/</tt>¡£
head_title=Ò³Ê×ºÍ×¢½Å
head_header=ÖØ·¢ÓÊ¼þµÄÒ³Ê×ºÍ×¢½Å
head_fronter=ÖØ·¢ÓÊ¼þµÄÒ³Ê×
head_footer=ÖØ·¢ÓÊ¼þµÄ×¢½Å
head_headers=ÖØ·¢ÓÊ¼þµÄ SMTP ¶îÍâÒ³Ê×
misc_title=ÔÓÀàÑ¡Ïî
misc_header=ÔÓÀàÁÐ±íÑ¡Ïî
misc_munge=Ö»ÓÐÔÚ±È½ÏµØÖ·Ê±Ê¹ÓÃÓòÃû?
misc_debug=µ÷ÊÔÄ£Ê½£¿
misc_info=ÔÚÐÅÏ¢ÐÔÏûÏ¢ÖÐ°üÀ¨×îºóµÄ¸üÐÂÈÕÆÚ£¿
misc_intro=ÔÚ¼ò½éÏûÏ¢ÖÐ°üÀ¨×îºóµÄ¸üÐÂÈÕÆÚ£¿
digest_title=ÎÄÕªÑ¡Ïî
digest_header=²úÉúÎÄÕªµÄÑ¡Ïî
digest_name=ÎÄÕª±êÌâ
digest_maxdays=Î´·¢ËÍµÄ×î¾ÉÏûÏ¢µÄÊ±¼ä
digest_days=Ìì
digest_lines=ÐÐ
digest_maxlines=Î´·¢ËÍµÄ×î´óÎÄÕªµÄ´óÐ¡
digest_volume=µ±Ç°µÄ¾íºÅ
digest_issue=µ±Ç°ÆÚºÅ
digest_unlimited=²»ÏÞ
digest_edays=¶ªÊ§»òÎÞÐ§µÄÌìÊý
digest_elines=¶ªÊ§»òÎÞÐ§µÄÐÐÊý
digest_evolume=¶ªÊ§»òÎÞÐ§µÄ¾íºÅ
digest_eissue=¶ªÊ§»òÎÞÐ§µÄÆÚºÅ
log_global=ÒÑ¸Ä±äÈ«¾ÖÑ¡Ïî
log_create_list=´´½¨ÁËÓÊ¼þÁÐ±í $1
log_create_digest=´´½¨ÁËÎÄÕªÁÐ±í $1
log_delete_list=É¾³ýÁËÓÊ¼þÁÐ±í $1
log_delete_digest=É¾³ýÁËÎÄÕªÁÐ±í $1
log_subscribe=Ô¤¶©ÁË $2 ÖÁÁÐ±í $1
log_unsubscribe=´ÓÁÐ±í $1 ÍË¶©ÁË $2
log_members=¸üÐÂÁËÁÐ±í $1µÄ³ÉÔ±
log_auto=¸üÐÂÁËÁÐ±í $1 µÄÍ¬²½
log_info=¸üÐÂÁËÁÐ±í $1 µÄÏûÏ¢ºÍÃèÊö
log_subs=¸üÐÂÁËÁÐ±í $1 µÄÔ¤¶©ºÍÖÙ²Ã
log_mesg=¸üÐÂÁËÁÐ±í $1 µÄÓÊ¼þÑ¡Ïî
log_access=¸üÐÂÁËÁÐ±í $1 µÄ·ÃÎÊ¿ØÖÆ
log_head=¸üÐÂÁËÁÐ±í $1 µÄÒ³Ê×ºÍÒ³½Å
log_misc=¸üÐÂÁËÁÐ±í $1 µÄÔÓÀà
log_digest=¸üÐÂÁËÁÐ±í $1 µÄÎÄÕªÑ¡Ïî
acl_lists=Õâ¸öÓÃ»§ÄÜ¹ÜÀíµÄÓÊ¼þ
acl_lall=ËùÓÐÁÐ±í
acl_lsel=ÒÑÑ¡Ôñ..
acl_global=¿ÉÒÔ±à¼­È«¾ÖÑ¡Ïî£¿
acl_create=¿ÉÒÔ´´½¨ÐÂµÄÓÊ¼þÁÐ±í?
acl_edit=¿ÉÒÔ±à¼­ÁÐ±íµÄ³ÉÔ±£¿
 0707010000d15e000081a40000000000000002000000013d1fe2d8000003d8000000200000000000000000000000000000001e00000003reloc/majordomo/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'majordomo-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
$p->{'addr'} = &html_escape($p->{'addr'});
if ($action eq 'global') {
	return $text{'log_global'};
	}
elsif ($action eq 'create') {
	return &text("log_create_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text("log_delete_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'subscribe') {
	return &text('log_subscribe', "<tt>$object</tt>",
				      "<tt>$p->{'addr'}</tt>");
	}
elsif ($action eq 'unsubscribe') {
	return &text('log_unsubscribe', "<tt>$object</tt>",
				        "<tt>$p->{'addr'}</tt>");
	}
elsif ($text{"log_${action}"}) {
	return &text("log_${action}", "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

0707010000d15f000081a40000000000000002000000013d1fe2d700001f49000000200000000000000000000000000000002100000003reloc/majordomo/majordomo-lib.pl  # majordomo-lib.pl
# Common majordomo functions

do '../web-lib.pl';
&init_config();

&foreign_require("sendmail", "sendmail-lib.pl");
&foreign_require("sendmail", "aliases-lib.pl");

%MAJOR_ENV = ( 'HOME', $config{'program_dir'} );

# get_config()
# Parse and return the majordomo config file
sub get_config
{
local(@rv, $line);
open(CONF, $config{'majordomo_cf'});
while(<CONF>) {
	s/\r|\n//g;
	if (/^\s*\$(\S+)\s*=\s*"(.*)";\s*$/) {
		# static config option
		push(@rv, { 'name' => $1,
			    'value' => &perl_unescape($2),
			    'line' => $line,
			    'eline' => $line });
		}
	elsif (/^\s*\$(\S+)\s*=\s*<<\s*'(\S+)';\s*$/) {
		# multiline config option
		local $o = { 'name' => $1,
			     'line' => $2 };
		local $end = $3;
		while(<CONF>) {
			$line++;
			last if ($_ =~ /^$end[\r\n]+$/);
			$o->{'value'} .= $_;
			}
		$o->{'eline'} = $line;
		push(@rv, $o);
		}
#	elsif (/^\s*\$(\S+)\s*=\s*\$ENV\{['"]([^'"]+)['"]\};\s*$/) {
#		# from majordomo environment variable
#		push(@rv, { 'name' => $1,
#			    'value' => $MAJOR_ENV{$2},
#			    'line' => $line,
#			    'eline' => $line });
#		}
	elsif (/^\s*\$(\S+)\s*=\s*(.*);\s*$/) {
		# computed config option
		push(@rv, { 'name' => $1,
			    'value' => $2,
			    'computed' => 1,
			    'line' => $line,
			    'eline' => $line });
		}
	$line++;
	}
close(CONF);
return \@rv;
}

# save_directive(&config, name, value)
# Update some directive in the global config file
sub save_directive
{
local $old = &find($_[1], $_[0]);
return if (!$old);
local $lref = &read_file_lines($config{'majordomo_cf'});
local $olen = $old->{'eline'} - $old->{'line'} + 1;
local $v = $_[2];
$v =~ s/\n$//;
if ($v =~ /\n/) {
	splice(@$lref, $old->{'line'}, $olen,
	       ( "\$$_[1] = <<'END';", split(/\n/, $v, -1), "END" ));
	}
else {
	$v =~ s/\@/\\@/g;
	splice(@$lref, $old->{'line'}, $olen, "\$$_[1] = \"$v\";");
	}
}

# find(name, &array)
sub find
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &array)
sub find_value
{
local(@v);
@v = &find($_[0], $_[1]);
@v = grep { !$_->{'computed'} } @v;
if (!@v) { return undef; }
elsif (wantarray) { return map { $_->{'value'} } @v; }
else { return $v[0]->{'value'}; }
}

# list_lists(&config)
# Returns a list of mailing list names
sub list_lists
{
local ($l, @rv);
local $ldir = &perl_var_replace(&find_value("listdir", $_[0]), $_[0]);
opendir(DIR, $ldir);
while($l = readdir(DIR)) {
	if ($l =~ /^(\S+)\.config$/ && $1 !~ /\.old$/) {
		push(@rv, $1);
		}
	}
closedir(DIR);
return @rv;
}
	
# get_list(name, &config)
# Returns the details of some list
sub get_list
{
local $ldir = &perl_var_replace(&find_value("listdir", $_[1]), $_[1]);
local %list;
return undef if (!-r "$ldir/$_[0].config");
$list{'name'} = $_[0];
$list{'members'} = "$ldir/$_[0]";
$list{'config'} = "$ldir/$_[0].config";
$list{'info'} = "$ldir/$_[0].info";
$list{'intro'} = "$ldir/$_[0].intro";
return \%list;
}

# get_list_config(file)
sub get_list_config
{
local(@rv, $line);
$lnum = 0;
open(CONF, $_[0]);
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*(\S+)\s*=\s*(.*)$/) {
		# single value
		push(@rv, { 'name' => $1,
			    'value' => $2,
			    'index' => scalar(@rv),
			    'line' => $lnum,
			    'eline' => $lnum });
		}
	elsif (/^\s*(\S+)\s*<<\s*(\S+)/) {
		# multi-line value
		local $c = { 'name' => $1,
			     'index' => scalar(@rv),
			     'line' => $lnum };
		local $end = $2;
		while(<CONF>) {
			$lnum++;
			last if (/^$end[\r\n]+$/);
			s/^--/-/;
			s/^-\n/\n/;
			$c->{'value'} .= $_;
			}
		$c->{'eline'} = $lnum;
		push(@rv, $c);
		}
	$lnum++;
	}
return \@rv;
}

# save_list_directive(&config, file, name, value, multiline)
sub save_list_directive
{
local $old = &find($_[2], $_[0]);
local $lref = &read_file_lines($_[1]);
local ($pos, $olen, $nlen);
if ($old) {
	$olen = $old->{'eline'} - $old->{'line'} + 1;
	$pos = $old->{'line'};
	}
else {
	$olen = 0;
	$pos = @$lref;
	}
if ($_[4]) {
	local $ov = $old->{'value'};
	$ov =~ s/\n$//;
	local $v = $_[3];
	$v =~ s/\n$//;
	local @lines = split(/\n/, $v, -1);
	@lines = map { s/^-/--/; s/^$/-/; $_ } @lines;
	splice(@$lref, $pos, $olen, ("$_[2]        <<   END", @lines, "END"))
		if (!$old || $v ne $ov);
	$nlen = (!$old || $v ne $ov) ? @lines + 2 : $olen;
	}
else {
	splice(@$lref, $pos, $olen, "$_[2] = $_[3]")
		if (!$old || $_[3] ne $old->{'value'});
	$nlen = 1;
	}
if ($old && $nlen != $olen) {
	foreach $c (@{$_[0]}) {
		if ($c->{'line'} > $old->{'eline'}) {
			$c->{'line'} += ($nlen - $olen);
			$c->{'eline'} += ($nlen - $olen);
			}
		}
	}
}

# get_aliases_file()
# Returns the paths to the sendmail-style aliases files
sub get_aliases_file
{
return [ $config{'aliases_file'} ] if ($config{'aliases_file'});
local $sm_conf = &foreign_call("sendmail", "get_sendmailcf");
return &foreign_call("sendmail", "aliases_file", $sm_conf);
}

# perl_unescape(string)
# Converts a string like "hello\@there\\foo" to "hello@there\foo"
sub perl_unescape
{
local $v = $_[0];
$v =~ s/\\(.)/$1/g;
return $v;
}

# perl_var_replace(string, &config)
# Replaces variables like $foo in a string with their value from
# the config file
sub perl_var_replace
{
local $str = $_[0];
local %donevar;
while($str =~ /\$([A-z0-9\_]+)/ && !$donevar{$1}) {
	$donevar{$1}++;
	local $val = &find_value($1, $_[1]);
	$str =~ s/\$([A-z0-9\_]+)/$val/;
	}
return $str;
}

# set_permissions(file)
# Sets the ownership and permissions on some file or directory,
# based on the ownership of the lists directory
sub set_permissions
{
local $conf = &get_config();
local $ldir = &perl_var_replace(&find_value("listdir", $conf), $conf);
local @ldir = stat($ldir);
chown($ldir[4], $ldir[5], $_[0]);
chmod(-d $_[0] ? 0775 : 0664, $_[0]);
}

# choice_input(name, text, &config, [opt, display]+)
sub choice_input
{
local $v = &find_value($_[0], $_[2]);
local $rv = "<td><b>$_[1]</b></td> <td nowrap>";
for($i=3; $i<@_; $i+=2) {
	local $ch = $v eq $_[$i] ? "checked" : "";
	$rv .= "<input name=$_[0] type=radio value='$_[$i]' $ch> ".$_[$i+1];
	}
$rv .= "</td>\n";
return $rv;
}

# save_choice(&config, file, name)
sub save_choice
{
&save_list_directive($_[0], $_[1], $_[2], $in{$_[2]});
}

# opt_input(name, text, &config, default, size, [units])
sub opt_input
{
local $v = &find_value($_[0], $_[2]);
local $rv = "<td><b>$_[1]</b></td> <td nowrap ".
	    ($_[4] > 30 ? "colspan=3" : "").">";
$rv .= sprintf "<input type=radio name=$_[0]_def value=1 %s> $_[3]\n",
		$v eq "" ? "checked" : "";
$rv .= sprintf "<input type=radio name=$_[0]_def value=0 %s>\n",
		$v eq "" ? "" : "checked";
local $passwd = $_[0] =~ /passwd/ ? "type=password" : "";
$rv .= "<input $passwd name=$_[0] size=$_[4] value=\"$v\"> $_[5]</td>\n";
return $rv;
}

# save_opt(&config, file, name, [&func])
sub save_opt
{
if ($in{"$_[2]_def"}) { &save_list_directive($_[0], $_[1], $_[2], ""); }
elsif ($_[3] && ($err = &{$_[3]}($in{$_[2]}))) { &error($err); }
else { &save_list_directive($_[0], $_[1], $_[2], $in{$_[2]}); }
}

# select_input(name, text, &config, [opt, display]+)
sub select_input
{
local $v = &find_value($_[0], $_[2]);
local $rv = "<td><b>$_[1]</b></td> <td nowrap><select name=$_[0]>";
for($i=3; $i<@_; $i+=2) {
	local $ch = $v eq $_[$i] ? "selected" : "";
	$rv .= "<option value='$_[$i]' $ch> ".$_[$i+1];
	}
$rv .= "</select></td>\n";
return $rv;
}

# save_select(&config, file, name)
sub save_select
{
&save_list_directive($_[0], $_[1], $_[2], $in{$_[2]});
}

# multi_input(name, text, &config)
sub multi_input
{
local $v = &find_value($_[0], $_[2]);
local $rv = "<td valign=top><b>$_[1]</b></td> <td colspan=3>".
	    "<textarea rows=4 cols=80 name=$_[0]>\n$v</textarea></td>\n";
return $rv;
}

# save_multi(&config, file, name)
sub save_multi
{
$in{$_[2]} =~ s/\r//g;
&save_list_directive($_[0], $_[1], $_[2], $in{$_[2]}, 1);
}

# can_edit_list(&access, name)
sub can_edit_list
{
foreach (split(/\s+/, $_[0]->{'lists'})) {
	return 1 if ($_ eq "*" || $_ eq $_[1]);
	}
return 0;
}

1;

   0707010000d160000081a40000000000000002000000013d1fe2ea0000034c000000200000000000000000000000000000001c00000003reloc/majordomo/module.info   desc_ru_SU=óÐÉÓËÉ òÁÓÓÙÌËÉ Majordomo
risk=low medium high
desc_ko_KR.euc=Majordomo ¸ñ·Ï °ü¸®ÀÚ 
desc_zh_TW.Big5=Majordomo ¶l»¼¦CªíºÞ²zªÌ
desc_pl=Serwer list dyskusyjnych Majordomo
desc_de=Majordomo Listenverwaltung
name=Majordomo
desc_zh_CN=Majordomo ÁÐ±í¹ÜÀí
desc_pt=Administrador de Listas Majordomo
category=servers
os_support=solaris redhat-linux mandrake-linux debian-linux slackware-linux suse-linux aix hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux corel-linux cobalt-linux netbsd msc-linux generic-linux gentoo-linux
desc=Majordomo List Manager
desc_sv=Listhanterare för Majordomo
desc_es=Gestor de Listas Majordomo
desc_fr=Gestionnaire de Majordomo
desc_ja_JP.euc=Majordomo ¥ê¥¹¥È ¥Þ¥Í¡¼¥¸¥ã
depends=sendmail 0.990
version=0.990
desc_ca=Administrador de Llistes Majordomo
desc_ru_RU=Ñïèñêè Ðàññûëêè Majordomo
0707010000d161000081e40000000000000002000000013d1fe2d700000590000000200000000000000000000000000000002000000003reloc/majordomo/save_access.cgi   #!/usr/local/bin/perl
# save_access.cgi
# Save access control options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});
&save_choice($conf, $list->{'config'}, "get_access");
&save_choice($conf, $list->{'config'}, "index_access");
&save_choice($conf, $list->{'config'}, "info_access");
&save_choice($conf, $list->{'config'}, "intro_access");
&save_choice($conf, $list->{'config'}, "which_access");
&save_choice($conf, $list->{'config'}, "who_access");
$in{'adv'} =~ s/\r//g;
if ($in{'adv_mode'} == 0) {
	$adv = $noadv = "";
	}
elsif ($in{'adv_mode'} == 1) {
	$adv = $in{'adv'};
	$noadv = "";
	}
else {
	$adv = "";
	$noadv = $in{'adv'};
	}
&save_list_directive($conf, $list->{'config'}, "advertise", $adv, 1);
&save_list_directive($conf, $list->{'config'}, "noadvertise", $noadv, 1);
&save_list_directive($conf, $list->{'config'}, "restrict_post",
		     $in{'res_mode'} == 0 ? "" :
		     $in{'res_mode'} == 1 ? $in{'name'} :
					    $in{'res'});
&save_multi($conf, $list->{'config'}, "taboo_body");
&save_multi($conf, $list->{'config'}, "taboo_headers");
&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("access", undef, $in{'name'}, \%in);
&redirect("edit_list.cgi?name=$in{'name'}");

0707010000d162000081e40000000000000002000000013d1fe2d70000025e000000200000000000000000000000000000001e00000003reloc/majordomo/save_auto.cgi #!/usr/local/bin/perl
# save_auto.cgi
# Update automatic sync options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
&lock_file("$module_config_directory/config");
if ($in{'sync'}) {
	$config{"sync_$in{'name'}"} = 1;
	}
else {
	delete($config{"sync_$in{'name'}"});
	}
$config{"shost_$in{'name'}"} = $in{'shost'};
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&webmin_log("auto", undef, $in{'name'});
&redirect("edit_list.cgi?name=$in{'name'}");

  0707010000d163000081e40000000000000002000000013d1fe2d700000468000000200000000000000000000000000000002000000003reloc/majordomo/save_digest.cgi   #!/usr/local/bin/perl
# save_digest.cgi
# Save digest options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});

&save_opt($conf, $list->{'config'}, "digest_name");
&save_opt($conf, $list->{'config'}, "digest_maxdays", \&check_days);
&save_opt($conf, $list->{'config'}, "digest_maxlines", \&check_lines);
&save_opt($conf, $list->{'config'}, "digest_volume", \&check_volume);
&save_opt($conf, $list->{'config'}, "digest_issue", \&check_issue);

&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("digest", undef, $in{'name'}, \%in);
&redirect("edit_list.cgi?name=$in{'name'}");

sub check_days
{
return $_[0] =~ /^\d+$/ ? undef : $text{'digest_edays'};
}

sub check_lines
{
return $_[0] =~ /^\d+$/ ? undef : $text{'digest_elines'};
}

sub check_volume
{
return $_[0] =~ /^\d+$/ ? undef : $text{'digest_evolume'};
}

sub check_issue
{
return $_[0] =~ /^\d+$/ ? undef : $text{'digest_eissue'};
}

0707010000d164000081e40000000000000002000000013d1fe2d7000003d8000000200000000000000000000000000000002000000003reloc/majordomo/save_global.cgi   #!/usr/local/bin/perl
# save_global.cgi
# Save global majordomo options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
$access{'global'} || &error($text{'global_ecannot'});
&lock_file($config{'majordomo_cf'});
$conf = &get_config();
&error_setup($text{'global_err'});

# Check inputs
$in{'whereami'} =~ /^[A-z0-9\-\.]+$/ ||
	&error($text{'global_ewhereami'});
$in{'whoami'} =~ /^\S+$/ ||
	&error($text{'global_ewhoami'});
$in{'whoami_owner'} =~ /^\S+$/ ||
	&error($text{'global_eowner'});
-x $in{'sendmail_command'} ||
	&error(&text('global_esendmail', "<tt>$in{'sendmail_command'}</tt>"));

# Save inputs
&save_directive($conf, "whereami", $in{'whereami'});
&save_directive($conf, "whoami", $in{'whoami'});
&save_directive($conf, "whoami_owner", $in{'whoami_owner'});
&save_directive($conf, "sendmail_command", $in{'sendmail_command'});
&flush_file_lines();
&unlock_file($config{'majordomo_cf'});
&webmin_log("global", undef, undef, \%in);
&redirect("");

0707010000d165000081e40000000000000002000000013d1fe2d70000028e000000200000000000000000000000000000001e00000003reloc/majordomo/save_head.cgi #!/usr/local/bin/perl
# save_head.cgi
# Save headers and footers

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});
&save_multi($conf, $list->{'config'}, "message_fronter");
&save_multi($conf, $list->{'config'}, "message_footer");
&save_multi($conf, $list->{'config'}, "message_headers");
&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("head", undef, $in{'name'}, \%in);
&redirect("edit_list.cgi?name=$in{'name'}");

  0707010000d166000081e40000000000000002000000013d1fe2d7000004ed000000200000000000000000000000000000001e00000003reloc/majordomo/save_info.cgi #!/usr/local/bin/perl
# save_info.cgi
# Store the info and intro message for a list

require './majordomo-lib.pl';
require 'ctime.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
&lock_file($list->{'info'});
&lock_file($list->{'intro'});
$conf = &get_list_config($list->{'config'});
chop($ctime = ctime(time()));
$updated = "[Last updated on: $ctime]\n";

$in{'info'} =~ s/\r//g;
open(INFO, ">$list->{'info'}");
if (&find_value("date_info", $conf) eq "yes") {
	print INFO $updated;
	}
print INFO $in{'info'};
print INFO "\n" if ($in{'info'} !~ /\n$/);
close(INFO);
if ($in{'intro_def'}) {
	unlink($list->{'intro'});
	}
else {
	$in{'intro'} =~ s/\r//g;
	open(INTRO, ">$list->{'intro'}");
	if (&find_value("date_intro", $conf) eq "yes") {
		print INTRO $updated;
		}
	print INTRO $in{'intro'};
	print INTRO "\n" if ($in{'intro'} !~ /\n$/);
	close(INTRO);
	&set_permissions($list->{'intro'});
	}
&save_list_directive($conf, $list->{'config'},
		     "description", $in{'description'});
&flush_file_lines();
&unlock_all_files();
&webmin_log("info", undef, $in{'name'});
&redirect("edit_list.cgi?name=$in{'name'}");

   0707010000d167000081e40000000000000002000000013d1fe2d700000919000000200000000000000000000000000000002100000003reloc/majordomo/save_members.cgi  #!/usr/local/bin/perl
# save_members.cgi
# Store the members of some list

require './majordomo-lib.pl';
&ReadParseMime();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$access{'edit'} || &error($text{'members_eedit'});
$list = &get_list($in{'name'}, &get_config());
$conf = &get_list_config($list->{'config'});
$pass = &find_value("admin_passwd", $conf);
$program_dir = $config{'smrsh_program_dir'} ? $config{'smrsh_program_dir'}
				            : $config{'program_dir'};
$wrapper_path = $config{'wrapper_path'} ? $config{'wrapper_path'}
				        : "$program_dir/wrapper";

# find the list owner's email address
$aliases_files = &get_aliases_file();
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	if ($a->{'name'} eq "owner-$in{'name'}" ||
	    $a->{'name'} eq "$in{'name'}-owner") {
		$owner = $a->{'values'}->[0];
		}
	}

&lock_file($list->{'members'});
if ($in{'update'}) {
	# save the new list of members
	$in{'members'} =~ s/\r//g;
	$in{'members'} =~ s/\n*$/\n/;
	open(MEMS, ">$list->{'members'}");
	print MEMS $in{'members'};
	close(MEMS);
	&unlock_file($list->{'members'});
	&webmin_log("members", undef, $in{'name'});
	}
elsif ($in{'add'}) {
	# call majordomo to subscribe an address
	$pass || &error($text{'members_esub'});
	$in{'addr_a'} =~ /^(\S+)\@(\S+)\.(\S+)$/ ||
		&error($text{'members_esubaddr'});
	open(WRAPPER, "|$wrapper_path majordomo");
	printf WRAPPER "From: %s\n\n",
		$owner ? $owner : $in{'addr_a'};
	print WRAPPER "approve $pass subscribe $in{'name'} $in{'addr_a'}\n\n";
	close(WRAPPER);
	sleep(1);
	&unlock_file($list->{'members'});
	&webmin_log("subscribe", undef, $in{'name'},
		    { 'addr' => $in{'addr_a'} });
	}
elsif ($in{'remove'}) {
	# call majordomo to unsubscribe an address
	$pass || &error($text{'members_eunsub'});
	$in{'addr_r'} =~ /^(\S+)\@(\S+)\.(\S+)$/ ||
		&error($text{'members_eunsubaddr'});
	open(WRAPPER, "|$wrapper_path majordomo");
	printf WRAPPER "From: %s\n\n",
		$owner ? $owner : $in{'addr_r'};
	print WRAPPER "approve $pass unsubscribe $in{'name'} $in{'addr_r'}\n\n";
	close(WRAPPER);
	sleep(1);
	&unlock_file($list->{'members'});
	&webmin_log("unsubscribe", undef, $in{'name'},
		    { 'addr' => $in{'addr_r'} });
	}
&redirect("edit_list.cgi?name=$in{'name'}");

   0707010000d168000081e40000000000000002000000013d1fe2d700000500000000200000000000000000000000000000001e00000003reloc/majordomo/save_mesg.cgi #!/usr/local/bin/perl
# save_mesg.cgi
# Save message options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});
&save_opt($conf, $list->{'config'}, "reply_to", \&check_reply);
&save_opt($conf, $list->{'config'}, "sender", \&check_sender);
&save_opt($conf, $list->{'config'}, "resend_host", \&check_host);
&save_opt($conf, $list->{'config'}, "subject_prefix");
&save_select($conf, $list->{'config'}, "precedence");
&save_choice($conf, $list->{'config'}, "purge_received");
&save_opt($conf, $list->{'config'}, "maxlength", \&check_maxlength);
&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("mesg", undef, $in{'name'}, \%in);
&redirect("edit_list.cgi?name=$in{'name'}");

sub check_reply
{
return $_[0] =~ /^\S+$/ ? undef : $text{'mesg_ereply'};
}

sub check_sender
{
return $_[0] =~ /\@/ ? $text{'mesg_esender2'} :
       $_[0] =~ /^\S+$/ ? undef : $text{'mesg_esender'};
}

sub check_host
{
return $_[0] =~ /^[A-z0-9\-\.]+$/ ? undef : $text{'mesg_ehost'};
}

sub check_maxlength
{
return $_[0] =~ /^\d+$/ ? undef : $text{'mesg_emaxlength'};
}

0707010000d169000081e40000000000000002000000013d1fe2d7000002b6000000200000000000000000000000000000001e00000003reloc/majordomo/save_misc.cgi #!/usr/local/bin/perl
# save_misc.cgi
# Save miscellaneous options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});
&save_choice($conf, $list->{'config'}, "mungedomain");
&save_choice($conf, $list->{'config'}, "debug");
&save_choice($conf, $list->{'config'}, "date_info");
&save_choice($conf, $list->{'config'}, "date_intro");
&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("misc", undef, $in{'name'}, \%in);
&redirect("edit_list.cgi?name=$in{'name'}");

  0707010000d16a000081e40000000000000002000000013d1fe2d70000096b000000200000000000000000000000000000001e00000003reloc/majordomo/save_subs.cgi #!/usr/local/bin/perl
# save_subs.cgi
# Save subscription options

require './majordomo-lib.pl';
&ReadParse();
%access = &get_module_acl();
&can_edit_list(\%access, $in{'name'}) || &error($text{'edit_ecannot'});
$list = &get_list($in{'name'}, &get_config());
&lock_file($list->{'config'});
$conf = &get_list_config($list->{'config'});
&save_list_directive($conf, $list->{'config'}, "subscribe_policy",
		     $in{'subscribe_policy'}.$in{'subscribe_policy_c'});
&save_list_directive($conf, $list->{'config'}, "unsubscribe_policy",
		     $in{'unsubscribe_policy'});
&save_choice($conf, $list->{'config'}, "welcome");
&save_choice($conf, $list->{'config'}, "strip");
&save_choice($conf, $list->{'config'}, "announcements");
&save_choice($conf, $list->{'config'}, "administrivia");
&save_opt($conf, $list->{'config'}, "admin_passwd", \&check_pass);
&save_choice($conf, $list->{'config'}, "moderate");
&save_opt($conf, $list->{'config'}, "moderator", \&check_email);
&save_opt($conf, $list->{'config'}, "approve_passwd", \&check_pass);

$in{'owner'} =~ /^\S+$/ || &error($text{'subs_eowner'});
$in{'approval'} =~ /^\S+$/ || &error($text{'subs_eapproval'});
$aliases_files = &get_aliases_file();
&foreign_call("sendmail", "lock_alias_files", $aliases_files);
@aliases = &foreign_call("sendmail", "list_aliases", $aliases_files);
foreach $a (@aliases) {
	$listowner = $a if (lc($a->{'name'}) eq lc("$in{'name'}-owner"));
	$ownerlist = $a if (lc($a->{'name'}) eq lc("owner-$in{'name'}"));
	$approval = $a if (lc($a->{'name'}) eq lc("$in{'name'}-approval"));
	}
&foreign_call('sendmail', 'modify_alias', $listowner,
	      { 'name' => "$in{'name'}-owner",
		'values' => [ $in{'owner'} ],
		'enabled' => 1 }) if ($listowner);
&foreign_call('sendmail', 'modify_alias', $ownerlist,
	      { 'name' => "owner-$in{'name'}",
		'values' => [ $in{'owner'} ],
		'enabled' => 1 }) if ($ownerlist);
&foreign_call('sendmail', 'modify_alias', $approval,
	      { 'name' => "$in{'name'}-approval",
		'values' => [ $in{'approval'} ],
		'enabled' => 1 }) if ($approval);
&foreign_call("sendmail", "unlock_alias_files", $aliases_files);

&flush_file_lines();
&unlock_file($list->{'config'});
&webmin_log("subs", undef, $in{'name'});
&redirect("edit_list.cgi?name=$in{'name'}");

sub check_email
{
return $_[0] =~ /^\S+$/ ? undef : $text{'subs_emoderator'};
}

sub check_pass
{
return $_[0] =~ /^\S+$/ ? undef : $text{'subs_epasswd'};
}
 0707010000d16b000081a40000000000000002000000013d1fe2d7000005cc000000200000000000000000000000000000002400000003reloc/majordomo/useradmin_update.pl   
do 'majordomo-lib.pl';
$conf = &get_config();
@lists = &list_lists($conf);

# useradmin_create_user(&details)
# Add a user to the mailing list
sub useradmin_create_user
{
foreach $l (@lists) {
	if ($config{"sync_$l"}) {
		local $dom = $config{"shost_$l"};
		$dom = &get_system_hostname() if (!$dom);
		local $list = &get_list($l, $conf);
		local $pass = &find_value("admin_passwd",
			   &get_list_config($list->{'config'}));
		&lock_file($list->{'members'});
		open(WRAPPER, "|$config{'program_dir'}/wrapper majordomo");
		print WRAPPER "From: $_[0]->{'user'}\@$dom\n\n";
		print WRAPPER "approve $pass subscribe $l ",
			      "$_[0]->{'user'}\@$dom\n\n";
		close(WRAPPER);
		sleep(1);
		&unlock_file($list->{'members'});
		}
	}
}

# useradmin_delete_user(&details)
# Delete a user from the mailing list
sub useradmin_delete_user
{
foreach $l (@lists) {
	if ($config{"sync_$l"}) {
		local $dom = $config{"shost_$l"};
		$dom = &get_system_hostname() if (!$dom);
		local $list = &get_list($l, $conf);
		local $pass = &find_value("admin_passwd",
			   &get_list_config($list->{'config'}));
		&lock_file($list->{'members'});
		open(WRAPPER, "|$config{'program_dir'}/wrapper majordomo");
		print WRAPPER "From: $_[0]->{'user'}\@$dom\n\n";
		print WRAPPER "approve $pass unsubscribe $l ",
			      "$_[0]->{'user'}\@$dom\n\n";
		close(WRAPPER);
		sleep(1);
		&unlock_file($list->{'members'});
		}
	}
}

# useradmin_modify_user(&details)
# Does nothing
sub useradmin_modify_user
{
}

1;

0707010003e27a000081a40000000000000002000000013d1fe2b800000157000000200000000000000000000000000000001200000003reloc/maketemp.pl # maketemp.pl
# Create the /tmp/.webmin directory if needed

$tmp_dir = "/tmp/.webmin";

if (!-d $tmp_dir) {
	mkdir($tmp_dir, 0755) || exit 1;
	chown($<, $(, $tmp_dir);
	chmod(0755, $tmp_dir);
	}
@st = stat($tmp_dir);
if (@st && $st[4] == $< && $st[5] == $( && $st[2] & 0x4000 &&
    ($st[2] & 0777) == 0755) {
	exit 0;
	}
else {
	exit 1;
	}

 07070100015c5f000041ed0000000000000001000000053d1ffa8f00000000000000200000000000000000000000000000000a00000003reloc/man 07070100015c60000081a40000000000000002000000013d1fe2dc00000057000000200000000000000000000000000000001500000003reloc/man/config-aix  search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
 07070100015c61000081a40000000000000002000000013d1fe2dc000000de000000200000000000000000000000000000001e00000003reloc/man/config-cobalt-linux search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc
kernel_dir=/usr/src/linux/Documentation
  07070100015c62000081a40000000000000002000000013d1fe2dc0000010e000000200000000000000000000000000000001d00000003reloc/man/config-corel-linux  search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/X11R6/share/doc/HTML/default
  07070100015c63000081a40000000000000002000000013d1fe2dc000000e4000000200000000000000000000000000000001e00000003reloc/man/config-debian-linux search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc
kernel_dir=/usr/src/linux/Documentation
07070100015c64000081a40000000000000002000000013d1fe2dc0000005d000000200000000000000000000000000000001900000003reloc/man/config-freebsd  search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
   07070100015c65000081a40000000000000002000000013d1fe2dc00000149000000200000000000000000000000000000001f00000003reloc/man/config-generic-linux    search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc /usr/share/doc
howto_dir=/usr/doc/HOWTO /usr/doc/HOWTO/mini /usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
kernel_dir=/usr/src/linux/Documentation
   07070100015c66000081a40000000000000002000000013d1fe2dc000000e4000000200000000000000000000000000000001e00000003reloc/man/config-gentoo-linux search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc
kernel_dir=/usr/src/linux/Documentation
07070100015c67000081a40000000000000002000000013d1fe2dc00000081000000200000000000000000000000000000001600000003reloc/man/config-hpux search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man - SECTION PAGE
man_cmd=man PAGE
list_cmd=
man2html_path=
list_cmd_sect=
   07070100015c68000081a40000000000000002000000013d1fe2dc000000a6000000200000000000000000000000000000001600000003reloc/man/config-irix search_cmd=man -k PAGE
man_dir=/usr/share/catman/a_man /usr/share/catman/u_man /usr/share/catman/p_man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
strip_letters=1
  07070100015c69000081a40000000000000002000000013d1fe2dc000000cd000000200000000000000000000000000000001b00000003reloc/man/config-lfs-linux    search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
kernel_dir=/usr/src/linux/Documentation
   07070100015c6b000081a40000000000000002000000013d1fe2dc00000074000000200000000000000000000000000000001700000003reloc/man/config-macos    search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
man2html_path=man2html
07070100015c6c000081a40000000000000002000000013d1fe2dc0000014a000000200000000000000000000000000000002000000003reloc/man/config-mandrake-linux   search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
howto_dir=/usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
  07070100015c7a000081a40000000000000002000000013d1fe2dc00000142000000200000000000000000000000000000001b00000003reloc/man/config-msc-linux    search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
howto_dir=/usr/share/doc/HOWTO /usr/doc/HOWTO/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/doc/kde/HTML/default
  07070100015c7c000081a40000000000000002000000013d1fe2dc0000005d000000200000000000000000000000000000001800000003reloc/man/config-netbsd   search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
   07070100015c82000081a40000000000000002000000013d1fe2dc00000133000000200000000000000000000000000000001c00000003reloc/man/config-open-linux   search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc
howto_dir=/usr/doc/HOWTO /usr/doc/HOWTO/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde/share/doc/HTML/default
 07070100015c88000081e40000000000000002000000013d1fe2dc0000013d000000200000000000000000000000000000002100000003reloc/man/config-open-linux-3.1e  kde_dir=/opt/kde2/share/doc/HTML/default
man_cmd=man PAGE
list_cmd=man -w PAGE
kernel_dir=/usr/src/linux/Documentation
man2html_path=man2html
doc_dir=/usr/share/doc/packages
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
list_cmd_sect=man -w SECTION PAGE
howto_dir=/usr/share/doc/HOWTO/en-text
search_cmd=man -k PAGE
   07070100015cac000081a40000000000000002000000013d1fe2dc0000005d000000200000000000000000000000000000001900000003reloc/man/config-openbsd  search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
   07070100015cae000081a40000000000000002000000013d1fe2dc000000a5000000200000000000000000000000000000001c00000003reloc/man/config-openserver   search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
   07070100015cb0000081a40000000000000002000000013d1fe2dc00000081000000200000000000000000000000000000001600000003reloc/man/config-osf1 search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man - SECTION PAGE
man_cmd=man PAGE
list_cmd=
man2html_path=
list_cmd_sect=
   07070100015d57000081a40000000000000002000000013d1fe2dc0000012d000000200000000000000000000000000000001e00000003reloc/man/config-redhat-linux search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc
howto_dir=/usr/doc/HOWTO /usr/doc/HOWTO/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/doc/kde/HTML/default
   07070100015d58000081a40000000000000002000000013d1fe2dc0000014a000000200000000000000000000000000000002200000003reloc/man/config-redhat-linux-7.0 search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
howto_dir=/usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
  07070100015d59000081a40000000000000002000000013d1fe2dc0000014a000000200000000000000000000000000000002200000003reloc/man/config-redhat-linux-7.1 search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
howto_dir=/usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
  07070100015d5a000081a40000000000000002000000013d1fe2dc0000014a000000200000000000000000000000000000002200000003reloc/man/config-redhat-linux-7.2 search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
howto_dir=/usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
  07070100015d5b000081a40000000000000002000000013d1fe2dc0000014a000000200000000000000000000000000000002200000003reloc/man/config-redhat-linux-7.3 search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc /usr/doc
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
howto_dir=/usr/share/doc/HOWTO /usr/share/doc/HOWTO/mini
  07070100015d5c000081a40000000000000002000000013d1fe2dc00000126000000200000000000000000000000000000002100000003reloc/man/config-slackware-linux  search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc
howto_dir=/usr/doc/Linux-HOWTOs
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde/share/doc/HTML/default
  07070100015d5d000081a40000000000000002000000013d1fe2dc0000005a000000200000000000000000000000000000001900000003reloc/man/config-solaris  search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man -s SECTION PAGE
man_cmd=man PAGE
  07070100015d5e000081a40000000000000002000000013d1fe2dc0000012b000000200000000000000000000000000000001c00000003reloc/man/config-suse-linux   search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/doc/packages
howto_dir=/usr/doc/howto/en
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde/share/doc/HTML/default
 07070100015d5f000081a40000000000000002000000013d1fe2dc00000155000000200000000000000000000000000000002000000003reloc/man/config-suse-linux-7.1   search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc/packages
howto_dir=/usr/share/doc/howto/en /usr/share/doc/howto/en/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde2/share/doc/HTML/default
   07070100015d60000081a40000000000000002000000013d1fe2dc0000015b000000200000000000000000000000000000002000000003reloc/man/config-suse-linux-7.2   search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc/packages
howto_dir=/usr/share/doc/howto/en /usr/share/doc/howto/en/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde2/share/doc/HTML/default
 07070100015d61000081a40000000000000002000000013d1fe2dc0000015b000000200000000000000000000000000000002000000003reloc/man/config-suse-linux-7.3   search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc/packages
howto_dir=/usr/share/doc/howto/en /usr/share/doc/howto/en/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde2/share/doc/HTML/default
 07070100015d62000081a40000000000000002000000013d1fe2dc0000015b000000200000000000000000000000000000002000000003reloc/man/config-suse-linux-8.0   search_cmd=man -k PAGE
man_dir=/usr/share/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc/packages
howto_dir=/usr/share/doc/howto/en /usr/share/doc/howto/en/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/opt/kde2/share/doc/HTML/default
 07070100015d63000081a40000000000000002000000013d1fe2dc00000162000000200000000000000000000000000000001d00000003reloc/man/config-turbo-linux  search_cmd=man -k PAGE
man_dir=/usr/man
man_cmd_sect=man SECTION PAGE
man_cmd=man PAGE
list_cmd_sect=man -w SECTION PAGE
list_cmd=man -w PAGE
man2html_path=man2html
doc_dir=/usr/share/doc/packages
howto_dir=/usr/share/doc/HOWTO/english/txt /usr/share/doc/HOWTO/english/txt/mini
kernel_dir=/usr/src/linux/Documentation
kde_dir=/usr/share/doc/HTML/default
  07070100015d64000081a40000000000000002000000013d1fe2dc00000226000000200000000000000000000000000000001600000003reloc/man/config.info man_cmd=Command to display manual page,0
man_cmd_sect=Command to display manual page from a section,0
search_cmd=Command to search pages,0
man_dir=Manual pages directories (MANPATH),0
list_cmd=Command to display the manual page filepath,0
list_cmd_sect=Command to display the manual page filepath from a section,0
man2html_path=Path to man2html,3,Do not use man2html
doc_dir=Package documentation directory,3,None
howto_dir=HOWTO document directories,3,None
kernel_dir=Kernel documentation directory,3,None
kde_dir=KDE documentation directory,3,None
  07070100015d65000081a40000000000000002000000013d1fe2dc00000257000000200000000000000000000000000000001900000003reloc/man/config.info.ca  man_cmd=Ordre per mostrar la pàgina del manual,0
man_cmd_sect=Ordre per mostrar la pàgina d'una secció del manual,0
search_cmd=Ordre per buscar pàgines,0
man_dir=Directoris de pàgines man (MANPATH),0
list_cmd=Ordre per mostrar el camí de la pàgina del manual,0
list_cmd_sect=Ordre per mostrar el camí de la pàgina d'una secció del manual,0
man2html_path=Camí de man2html,3,No facis servir man2html
doc_dir=Directori de la documentació dels paquets,3,Cap
howto_dir=Directori de documents HOWTO,3,Cap
kernel_dir=Directori de documentació del kernel,3,Cap
kde_dir=Directori de documentació KDE,3,Cap


 07070100015d66000081a40000000000000002000000013d1fe2dc00000270000000200000000000000000000000000000001900000003reloc/man/config.info.de  man_cmd=Kommando zum Anzeigen der Hilfeseite (man page),0
man_cmd_sect=Kommando zum Anzeigen der Hilfeseite einer Sektion,0
search_cmd=Kommando zum Durchsuchen der Seiten,0
man_dir=Verzeichnis der Hilfeseiten,0
list_cmd=Kommando zum Anzeigen des Datei-Pfades zu den Anleitungen,0
list_cmd_sect=Kommando zum Anzeigen des Datei-Pfades zu den Anleitungen einer Sektion,0
man2html_path=Pfad zu 'man2html',3,Kein 'man2html' benutzen
doc_dir=Paket-Dokumentation Verzeichnis,3,kein
howto_dir=HOWTO-Dokument Verzeichnis,3,kein
kernel_dir=Kernel-Dokumentation Verzeichnis,3,kein
kde_dir=KDE-Dokumentation Verzeichnis,3,kein07070100015d67000081a40000000000000002000000013d1fe2dc0000027c000000200000000000000000000000000000001900000003reloc/man/config.info.es  man_cmd=Comando para mostrar página del manual,0
man_cmd_sect=Comando para mostrar página de una sección,0
search_cmd=Comando para buscar páginas,0
man_dir=Directorio de páginas del manual,0
list_cmd=Comando que muestra la trayectoria de página del manual,0
list_cmd_sect=Comando que muestra la trayectoria de página del manual de una sección,0
man2html_path=Trayectoria a man2html,3,No usar man2html
doc_dir=Directorio de documentación del paquete,3,Ninguno
howto_dir=Directorios de documento COMO-HACER (HOWTO),3,Ninguno
kernel_dir=Directorio de documentación del kernel,3,Ninguno
kde_dir=Directorio de documentación de KDE,3,Ninguno
07070100015d68000081a40000000000000002000000013d1fe2dc000000d3000000200000000000000000000000000000001900000003reloc/man/config.info.fr  man_cmd=Commande pour afficher la page du manuel,0
man_cmd_sect=Commande pour afficher la page du manuel d'une section,0
search_cmd=Commande pour chercher dans les pages,0
man_dir=Répertoire des pages manuel,0

 07070100015d69000081a40000000000000002000000013d1fe2dc000000f8000000200000000000000000000000000000001900000003reloc/man/config.info.hu  man_cmd=Egy programleírást megjelenítõ parancs,0
man_cmd_sect=Adott kategóriába tartozó dokumentumot megjelenítõ parancs,0
search_cmd=A dokumentumok közti keresésre szolgáló parancs,0
man_dir=A programdokumentációt tartalmazó katalógus(ok),0

07070100015d72000081a40000000000000002000000013d1fe2dc00000294000000200000000000000000000000000000001900000003reloc/man/config.info.pl  man_cmd=Polecenie wy¶wietlaj±ce stronê podrêcznika,0
man_cmd_sect=Polecenie wy¶wietlaj±ce stronê podrêcznika z&nbsp;rozdzia³u,0
search_cmd=Polecenie przeszukuj±ce strony,0
man_dir=Katalogi zawieraj±ce strony podrêcznika (MANPATH),0
list_cmd=Polecenie zwracaj±ce scie¿kê do pliku strony podrêcznika,0
list_cmd_sect=Polecenie zwracaj±ce scie¿kê do pliku strony podrêcznika z&nbsp;rozdzia³u,0
man2html_path=¦cie¿ka do <tt>man2html</tt>,3,Nie korzystaj z&nbsp;<tt>man2html</tt>
doc_dir=Katalog dokumentacji pakietów,3,Brak
howto_dir=Katalog dokumentów &quot;HOWTO&quot;,3,Brak
kernel_dir=Katalog dokumentacji kernela,3,Brak
kde_dir=Katalog dokumentacji KDE,3,Brak
07070100015d73000081a40000000000000002000000013d1fe2dc000000d3000000200000000000000000000000000000001c00000003reloc/man/config.info.ru_RU   search_cmd=Êîìàíäà äëÿ ïîèñêà ñòðàíèö,0
man_dir=Êàòàëîã ñòðàíèö ðóêîâîäñòâà,0
man_cmd_sect=Êîìàíäà äëÿ îòîáðàæåíèÿ ñòðàíèö ðóêîâîäñòâà èç âûáðàííîé ñåêöèè,0
man_cmd=Êîìàíäà äëÿ îòîáðàæåíèÿ ñòðàíèö ðóêîâîäñòâà,0
 07070100015d75000081a40000000000000002000000013d1fe2dc000000d4000000200000000000000000000000000000001c00000003reloc/man/config.info.ru_SU   man_cmd=ëÏÍÁÎÄÁ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÔÒÁÎÉÃ ÒÕËÏ×ÏÄÓÔ×Á,0
man_cmd_sect=ëÏÍÁÎÄÁ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÔÒÁÎÉÃ ÒÕËÏ×ÏÄÓÔ×Á ÉÚ ×ÙÂÒÁÎÎÏÊ ÓÅËÃÉÉ,0
search_cmd=ëÏÍÁÎÄÁ ÄÌÑ ÐÏÉÓËÁ ÓÔÒÁÎÉÃ,0
man_dir=ëÁÔÁÌÏÇ ÓÔÒÁÎÉÃ ÒÕËÏ×ÏÄÓÔ×Á,0

07070100015d76000081a40000000000000002000000013d1fe2dc0000025a000000200000000000000000000000000000001900000003reloc/man/config.info.sv  man_cmd=Kommando för att visa manualsida,0
man_cmd_sect=Kommando för att visa manualsida ur en speciell avdelning,0
search_cmd=Kommando för att leta efter sidor,0
man_dir=Katalog för manualsidor (MANPATH),0
list_cmd=Kommando för att visa sökväg till manualsida,0
list_cmd_sect=Kommando för att visa sökväg till manualsida ur en speciell avdelning,0
man2html_path=Sökväg till man2html,3,Använd inte man2html
doc_dir=Katalog för paketdokumentation,3,Ingen
howto_dir=Katalog(er) för HOWTO-dokument,3,Ingen
kernel_dir=Katalog för kärnans dokumentation,3,Ingen
kde_dir=Katalog för KDE-dokumentation,3,Ingen
  07070100015d77000081a40000000000000002000000013d1fe2dc000000c4000000200000000000000000000000000000001900000003reloc/man/config.info.tr  man_cmd=Yardým sayfasýný görüntüleme komutu,0
man_cmd_sect=Bir bölümdeki yardým sayfasýný görüntüleme komutu,0
search_cmd=Sayfa aramak için kullanýlacak komut,0
man_dir=Yardým sayfalarý dizini,0

07070100015d78000081a40000000000000002000000013d1fe2dc00000117000000200000000000000000000000000000001c00000003reloc/man/config.info.zh_CN   man_cmd=ÏÔÊ¾ manual page µÄÃüÁî,0
man_cmd_sect=´ÓÄ³¶ÎÏÔÊ¾ manual page µÄÃüÁî,0
search_cmd=ËÑË÷ pages µÄÃüÁî,0
man_dir=Manual pages Ä¿Â¼,0
list_cmd=ÏÔÊ¾ manual page ÎÄ¼þÂ·¾¶µÄÃüÁî,0
list_cmd_sect=ÏÔÊ¾Ä³¶Î manual page ÎÄ¼þÂ·¾¶µÄÃüÁî,0
man2html_path=man2html µÄÂ·¾¶,3,²»Ê¹ man2html
 07070100015d79000081a40000000000000002000000013d1fe2dc00000079000000200000000000000000000000000000002100000003reloc/man/config.info.zh_TW.Big5  man_cmd=Åã¥Ü¤â¥U­¶ªº«ü¥O,0
man_cmd_sect=Åã¥Ü¯S©w¤â¥U­¶³¹¸`ªº«ü¥O,0
search_cmd=·j´M¤â¥U­¶ªº«ü¥O,0
man_dir=¤â¥U­¶ªº¸ô®|,0

   07070100017405000041ed0000000000000001000000023d1ffa8c00000000000000200000000000000000000000000000000f00000003reloc/man/help    07070100017406000081a40000000000000002000000013d1fe2dc00000278000000200000000000000000000000000000001d00000003reloc/man/help/intro.ca.html  <header>Pàgines del Manual</header>

Aquest mòdul permet buscar pàgines del manual del sistema, tal i
com ho faries fent servir l'ordre <tt>man</tt>. Introdueix l'ordre
o funció a buscar, selecciona si la recerca ha de ser el nom exacte
de l'ordre o una paraula de la descripció, selecciona la secció del manual
a consultar, i fes clic sobre el botó <tt>Busca</tt>. <p>

Si busques una coincidència exacta, es mostrarà la pàgina del manual
de l'ordre o funció, si aquesta s'ha trobat. Si busques per descripció,
se't mostrarà una llista de pàgines del manual que coincideixen, per
tal que triïs quines ordres vols veure. <p>

<hr>

07070100017407000081a40000000000000002000000013d1fe2dc00000349000000200000000000000000000000000000001d00000003reloc/man/help/intro.de.html  <header>Handb&uuml;cher ('manpages')</header>

Dieses Modul erlaubt Ihnen, die System-Handb&uuml;cher so zu durchsuchen, als ob Sie den <tt>man</tt>-Befehl benutzen.<p>
Geben Sie den Befehl oder die Funktion ein wonach Sie suchen, w&auml;hlen Sie ob Sie
nach einer exakten &Uuml;bereinstimmung f&uuml;r den Befehlsnamen oder ein Wort in der Beschreibung suchen,
w&auml;hlen Sie den Handbuchbereich f&uuml;r die Suche, und dr&uuml;cken Sie die <tt>Suchen</tt>-Schaltfl&auml;che. <p>

Wenn Sie nach einer exakten &Uuml;bereinstimmung suchen, wird die Handbuchseite f&uuml;r den Befehl oder die Funktion
angezeigt, wenn sie gefunden wird. <p>
Wenn sie nach einer Beschreibung suchen, wird
Ihnen eine Liste der &uuml;bereinstimmenden Handb&uuml;cher angezeigt, damit Sie die anzuzeigenden
Befehle/Funktionen ausw&auml;hlen k&ouml;nnen. <p>

<hr>   07070100017408000081a40000000000000002000000013d1fe2dc000002a6000000200000000000000000000000000000001d00000003reloc/man/help/intro.es.html  <header>Páginas del Manual</header>

Este módulo te permite buscar páginas de manual en tu sistema, igual
que harías mediante el comando <tt>man</tt>. Sólo digita el comando
o función que deseas buscar, selecciona si la búsqueda se realizará por
coincidencia exacta del nombre del comando o una palabra de la
descripción, selecciona la sección del manual donde buscar y haz click
en el botón de <tt>Buscar</tt>.<p>

Si estás buscando una coincidencia exacta, la página del manual del
comando o de la función será mostrada, si es encontrada. Si buscas por
descripción, una lista de páginas de manual coincidentes te será mostrada
para que selecciones cual deseas ver. <p>

<hr>

  07070100017409000081a40000000000000002000000013d1fe2dc000002d2000000200000000000000000000000000000001d00000003reloc/man/help/intro.fr.html  <header>Pages du manuel</header>

Ce module vous permet de chercher dans les pages du manuel
de votre système comme si vous utilisiez la commande <tt>man</tt>.
Vous n'avez qu'à entrer la commande ou la fonction que vous
voulez rechercher, choisir si vous désirez que la recherche
soit exacte  sur la commande ou s'applique sur un mot dans la
description, la section dans laquelle vous voulez appliquer
la recherche et cliquer sur le bouton <tt>Rehercher</tt>. <p>

Si vous faites une recherche exacte, la page du manuel va être
automatiquement affichée si elle est trouvée. Si c'est dans les
descriptions, une liste de toute les pages correspondantes va être
affichée et vous pourrez choisir la commande à voir. <p>

<hr>
  0707010001740a000081a40000000000000002000000013d1fe2dc0000026e000000200000000000000000000000000000001a00000003reloc/man/help/intro.html <header>Manual Pages</header>

This module allows you to search your system's manual pages, just
as you would using the <tt>man</tt> command. Just enter the command
or function you want to search for, select whether the search will be
for exact match on the command name or a word in the description, select
the manual section to query, and click the <tt>Search</tt> button. <p>

If searching for an exact match, the manual page for the command or
function will be displayed if it is found. If searching by description,
a list of matching manual pages will be displayed for you to select
commands from to view. <p>

<hr>

  0707010001740b000081a40000000000000002000000013d1fe2dc0000030c000000200000000000000000000000000000001d00000003reloc/man/help/intro.hu.html  <header>Programdokumentáció</header>

Ez a modul hozzáférhetõvé teszi számodra az operációs rendszerhez
adott dokumentációt, amit egy átlagos felhasználó a <tt>man</tt>
paranccsal nézegethet. A kereséshez megadhatod a kilistázandó
dokumentum pontos címét (programnevet, függvénynevet, file-nevet, stb.)
vagy kérheted az összes dokumentumot, melyeknek egysoros összefoglalójában
szerepel a keresendõ szöveg.
<p>

Elõbbi esetben leszûkítheted a keresendõ dokumentumok körét egy kategóriára
is. Ennek akkor van jelentõsége, ha ugyanolyan nevû dokumentum több
kategórában is elõfordul. (Például <tt>printf(1), printf(3)</tt> vagy
<tt>kill(1), kill(2)</tt>.) Az egyes kategóriák felsorolását és rövid
leírását a <tt>man(1)</tt> dokumentumban találod meg.
<p>

<hr>

0707010001740c000081a40000000000000002000000013d1fe2dc000002d6000000200000000000000000000000000000001d00000003reloc/man/help/intro.it.html  <header>Pagine di Manuale</header>

Questo modulo ti permette di cercare nelle pagine di manuale del tuo sistema,
come se tu stessi usando il comando <tt>man</tt>. Ti basta inserire il
comando o funzione che vuoi cercare, selezionare se la ricerca deve essere
per frase esatta nel nome del comando o una parola nella descrizione, selezionare 
la sezione di manuale in cui cercare, e cliccare sul pulsante <tt>Trova</tt>.<p>

Se stai cercando una frase esatta, la pagina di manuale per il comando o funzione
verr&agrave; visualizzato se viene trovato. Se stai cercando per descrizione, 
verr&agrave; visualizzata una lista con le pagine di manuale trovate, per permetterti
di selezionare il comando da visualizzare. <p>

<hr>

  0707010001740d000081a40000000000000002000000013d1fe2dc00000296000000200000000000000000000000000000001d00000003reloc/man/help/intro.pl.html  <header>Strony podrêcznika</header>

Ten modu³ pozwala ci przeszukaæ strony podrêcznika twojego systemu tak,
jakby¶ u¿ywa³ polecenia <tt>man</tt>. Po prostu wprowad¼ polecenie lub
funkcjê, której szukasz, zaznacz, czy szukasz dok³adnie tego polecenia,
czy s³owa w&nbsp;jego opisie, wybierz rozdzia³, który ciê interesuje oraz 
naci¶nij przycisk <tt>Szukaj</tt>. <p>

Je¶li poszukiwanie dok³adnego tytu³u zakoñczy siê sukcesem, wy¶wietlona
zostanie strona podrêcznika dla polecenia lub funkcji. Je¶li przeszukujesz
opisy poleceñ i&nbsp;funkcji, zostanie wy¶wietlona lista odpowiednich stron
podrêcznika, aby¶ móg³ z&nbsp;niej tê, któr± chcesz obejrzeæ. <p>

<hr>
  0707010001740e000081a40000000000000002000000013d1fe2dc00000270000000200000000000000000000000000000002000000003reloc/man/help/intro.ru_RU.html   <header>Ñòðàíèöû Ðóêîâîäñòâà</header>

Äàííûé ìîäóëü ïîçâîëÿåò âàì îñóùåñòâëÿòü ïîèñê â ñòðàíèöàõ ðóêîâîäñòâà âàøåé ñèñòåìû, êàê åñëè áû âû èñïîëüçîâàëè êîìàíäó <tt>man</tt>. Ïðîñòî ââåäèòå èìÿ êîìàíäû èëè ôóíêöèè, êîòîðóþ âû õîòèòå íàéòè, âûáåðèòå êàê áóäåò ïðîèçâîäèòüñÿ ïîèñê - ïî ïîëíîìó ñîîòâåòñòâèþ èìåíè êîìàíäû èëè ñëîâà â îïèñàíèè, âûáåðèòå ñåêöèþ ðóêîâîäñòâà äëÿ çàïðîñà è íàæìèòå íà êíîïêó <tt>Ïîèñê</tt>. <p>

Ïðè ïîèñêå ïî ïîëíîìó ñîîòâåòñòâèþ, áóäåò ïîêàçàíà íàéäåííàÿ ñòðàíèöà ðóêîâîäñòâà. Ïðè ïîèñêå ïî îïèñàíèþ, áóäåò ïîêàçàí ñïèñîê ñîîòâåòñâóþùèõ ñòðàíèö ðóêîâîäñòâà äëÿ äàëüíåéøåãî ïðîñìòðà. <p>  

<hr>

0707010001740f000081a40000000000000002000000013d1fe2dc00000270000000200000000000000000000000000000002000000003reloc/man/help/intro.ru_SU.html   <header>óÔÒÁÎÉÃÙ òÕËÏ×ÏÄÓÔ×Á</header>

äÁÎÎÙÊ ÍÏÄÕÌØ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÏÓÕÝÅÓÔ×ÌÑÔØ ÐÏÉÓË × ÓÔÒÁÎÉÃÁÈ ÒÕËÏ×ÏÄÓÔ×Á ×ÁÛÅÊ ÓÉÓÔÅÍÙ, ËÁË ÅÓÌÉ ÂÙ ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ËÏÍÁÎÄÕ <tt>man</tt>. ðÒÏÓÔÏ ××ÅÄÉÔÅ ÉÍÑ ËÏÍÁÎÄÙ ÉÌÉ ÆÕÎËÃÉÉ, ËÏÔÏÒÕÀ ×Ù ÈÏÔÉÔÅ ÎÁÊÔÉ, ×ÙÂÅÒÉÔÅ ËÁË ÂÕÄÅÔ ÐÒÏÉÚ×ÏÄÉÔØÓÑ ÐÏÉÓË - ÐÏ ÐÏÌÎÏÍÕ ÓÏÏÔ×ÅÔÓÔ×ÉÀ ÉÍÅÎÉ ËÏÍÁÎÄÙ ÉÌÉ ÓÌÏ×Á × ÏÐÉÓÁÎÉÉ, ×ÙÂÅÒÉÔÅ ÓÅËÃÉÀ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÚÁÐÒÏÓÁ É ÎÁÖÍÉÔÅ ÎÁ ËÎÏÐËÕ <tt>ðÏÉÓË</tt>. <p>

ðÒÉ ÐÏÉÓËÅ ÐÏ ÐÏÌÎÏÍÕ ÓÏÏÔ×ÅÔÓÔ×ÉÀ, ÂÕÄÅÔ ÐÏËÁÚÁÎÁ ÎÁÊÄÅÎÎÁÑ ÓÔÒÁÎÉÃÁ ÒÕËÏ×ÏÄÓÔ×Á. ðÒÉ ÐÏÉÓËÅ ÐÏ ÏÐÉÓÁÎÉÀ, ÂÕÄÅÔ ÐÏËÁÚÁÎ ÓÐÉÓÏË ÓÏÏÔ×ÅÔÓ×ÕÀÝÉÈ ÓÔÒÁÎÉÃ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÄÁÌØÎÅÊÛÅÇÏ ÐÒÏÓÍÔÒÁ. <p>  

<hr>

07070100017410000081a40000000000000002000000013d1fe2dc00000277000000200000000000000000000000000000001d00000003reloc/man/help/intro.sv.html  <header>Manualsidor</header>

Med denna modul kan du söka igenom manualsidorna för ditt system på
samma sätt som om du använde <tt>man</tt>-kommandot. Skriv in det
kommando eller den funktion du vill söka efter, välj om du vill söka
efter exakt detta kommandonamn eller om du vill söka efter ord i
beskrivningen, välj avsnitt att söka i och tryck på <tt>Sök</tt>-knappen.

Om du väljer att söka efter exakt detta kommandonamn kommer manualsidan
för kommandot eller funktionen att visas om den finns. Om du söker i
beskrivningarna kommer du att få upp en lista över manualsidor där du
kan välja vilken sida du vill titta på.

<hr>

 0707010001fb1f000041ed0000000000000001000000023d1ffa8c00000000000000200000000000000000000000000000001100000003reloc/man/images  0707010001fb20000081a40000000000000002000000013d1fe2dc00000468000000200000000000000000000000000000001a00000003reloc/man/images/icon.gif GIF89a0 0 ç     €   € €€   €€ € €€ÀÀÀOe}ƒ™±Œ‰\üDŒD$È„„„ÄH,”„T4ØDDD§Dt$+¨æÔDd Ä(,L'$¬i„(LÔ$çŒd„¬¤'Üd.Œ$$$,ÄÄÄÄ”&D„ü4üD¤$Ä(¤)¤4*÷x˜D4¼Ldd†dì$Üt/,TôT´
ÖX´$T¤¤¤˜F$4Ødddì7ˆ7(úäääš6Ä<„¸ç|$t<ô<¤87x|h†%4ÌtÄ<ht$¬¸¤8ìj<4¼—$tüTœ·Ù™DÙW	lìôHÔ$tŒ—`˜üLü,Ì©ôtè8ì”””TTT444ÔÔÔ´´´tttôôôTü,œD$”iyœt8$°x „T9$¼D ¨$¸,lü4t‡|@U)z lü\|äP$Dä<”4€üˆ\|$”G,Ô§,TœTŒü”TÔ<”ô4\D|t4¼ŒŒŒŒD4ŒLLLL¨,,,ÌÌÌ<ô(Æ”\\¬¬¬lll,ôìììDì¼œœœœ\\\<<<ÜÜÜ¼¼¼|||üüüLœ<	y„TüL”LÌÌD¬,)èl$Ì(4D*,¬iŒ*,ì¬(äl1„$,Ìœ(LŒü<ùL¤*¬<,úyœô,ä|,4\ôÁÌÙ  ¤€€€ÿ   ÿ ÿÿ   ÿÿ ÿ ÿÿÿÿÿ!þMade with GIMP !ù  þ ,  ! !  þ ý	H° Áƒ °¡C þ-|H‘`Ä+V¼ˆ‘¡F‡;~T¸p!FŒ=,9aDO¢T	q!¾“4S–œ)S >†6aÊ,iñæË˜=ª”‰QiÑ7%FEéï'>ÿ„ž´ª’aLˆZQþÄ¶)Ñ”0£†ÌZÀU˜e¹ôúrmÖ±o™f=jG¦>Ý’Õë¶+ÌºzÛVÍÊxhË¾j·Í[VjW¿{[¥ÌT®Û¯HO~‹µ3Q¯Qk†œÌY¦çÃl¯*-x ^¥@ÓRÅÇÛ$ëÁ=÷}YuòD«Åá2=;vo¥›K÷1W–²³dÎ»÷vÜnß4bïÞ"WòÞ·—Dÿ|¢ÍÂ›ÉGŸïwøòé_Lòýþó|Q„]}¸´’z9hQ€ ;07070100015d7a000081e40000000000000002000000013d1fe2dc00000972000000200000000000000000000000000000001400000003reloc/man/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display the manual pages search form

require './man-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

# build list of available search options
@search = ( "man", "help" );
foreach $d (split(/\s+/, $config{'doc_dir'})) {
	if (-d $d) {
		push(@search, "doc");
		last;
		}
	}
foreach $h (split(/\s+/, $config{'howto_dir'})) {
	if (-d $h) {
		push(@search, "howto");
		last;
		}
	}
if (-d $config{'kde_dir'}) {
	push(@search, "kde");
	}
if (-d $config{'kernel_dir'}) {
	push(@search, "kernel");
	}
if ($perl_doc) {
	push(@search, "perl");
	}
push(@search, "google");

# display the search form
print "<form action=search.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'index_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'index_for'}</b></td>\n";
print "<td><input name=for size=30></td> </tr>\n";

print "<tr> <td></td>\n";
print "<td><input type=radio name=and value=1 checked> $text{'index_and'}\n";
print "<input type=radio name=and value=0> $text{'index_or'}</td> </tr>\n";

print "<tr> <td><b>$text{'index_type'}</b></td>\n";
print "<td><input type=radio name=exact value=1 checked> $text{'index_name'}\n";
print "<input type=radio name=exact value=0> $text{'index_data'}</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'index_where'}</b></td> <td>\n";
foreach $s (@search) {
	printf "<input type=checkbox name=section value=%s %s> %s<br>\n",
		$s, $s eq 'man' ? 'checked' : '', $text{"index_${s}"};
	}
print "</td> </tr>\n";

print "<tr> <td colspan=2 align=right>",
      "<input type=submit value=\"$text{'index_search'}\">\n",
      "<input type=reset value=\"$text{'index_reset'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

@check = $config{'check'} ? split(/\s+/, $config{'check'}) : @search;
print "<hr>\n";
print "<form action=save_check.cgi>\n";
printf "<input type=hidden name=count value=%d>\n", scalar(@search);
print "<b>$text{'index_others'}</b><br>\n";
print "<table width=100%>\n";
foreach $s (@search) {
	print "<tr>\n" if ($c % 3 == 0);
	printf "<td><input type=checkbox name=check value=%s %s> %s</td>\n",
		$s, &indexof($s, @check) >= 0 ? 'checked' : '', 
		$text{"index_other_${s}"};
	print "<tr>\n" if ($c++ % 3 == 2);
	}
print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  07070100021324000041ed0000000000000001000000023d1ffa8d00000000000000200000000000000000000000000000000f00000003reloc/man/lang    07070100021325000081a40000000000000002000000013d1fe2dc000008d1000000200000000000000000000000000000001200000003reloc/man/lang/ca index_title=Documentació del Sistema
index_header=Recerca a la documentació del sistema
index_for=Busca
index_where=Busca a
index_alldoc=Tota la documentació
index_man=Pàgines del manual
index_doc=Documentació dels paquets
index_kernel=Documentació del kernel
index_info=Pàgines info
index_howto=Documents HOWTO
index_kde=Documentació KDE
index_perl=Documentació de mòduls Perl
index_help=Ajuda de Webmin
index_reset=Neteja
index_search=Busca
index_return=al formulari de recerca
index_type=Busca coincidències a
index_name=Només el nom
index_data=Nom i continguts
index_google=Motor de recerca Google
index_others=En buscar documentació des d'un altre mòdul, permet buscar...
index_other_man=Pàgines del manual
index_other_help=Ajuda de Webmin
index_other_doc=Documentació dels paquets
index_other_kernel=Documentació del kernel
index_other_howto=Documents HOWTO
index_other_perl=Documentació de mòduls Perl
index_other_google=Motor de recerca Google
index_other_kde=Documentació KDE
index_and=Busca-ho tot
index_or=Busca'n qualsevol

search_efor=No hi ha cap pàgina del manual
search_title=Resultats de la Recerca
search_desc=Descripció
search_type=Tipus
search_file=Pàgina o fitxer
search_man=Pàgina del manual
search_howto=Document HOWTO
search_doc=Documentació de paquet
search_kernel=Documentació del kernel
search_kde=Documentació KDE
search_perl=Mòdul Perl
search_help=Ajuda de Webmin
search_none=No s'ha trobat cap document que coincideixi amb $1.
search_for=per a $1
search_google=Resultats de la recerca Google

howto_title=Document HOWTO
howto_header=Fitxer $1 del document HOWTO
howto_epath=Camí del document HOWTO invàlid

doc_title=Documentació de Paquet
doc_header=Fitxer $1 de documentació de paquet
doc_epath=Camí de la documentació del paquet invàlid

man_title=Pàgina del Manual
man_header=Pàgina del manual de $1($2)
man_noentry=La pàgina del manual de $1 no existeix!

kernel_title=Documentació del Kernel
kernel_header=Fitxer $i de la documentació del kernel
kernel_epath=Camí de la documentació del kernel invàlid

kde_title=Documentació KDE
kde_header=Fitxer $1 de documentació KDE
kde_epath=Camí de la documentació KDE invàlid

perl_title=Mòdul Perl
perl_header=Documentació del mòdul Perl $1
perl_emod=Nom de mòdul Perl invàlid


   07070100021326000081a40000000000000002000000013d1fe2dc000001ee000000200000000000000000000000000000001200000003reloc/man/lang/cz index_title=Manualove stranky
index_header=Vyhledavani manualovych stranek
index_for=Hledat
index_exact=Exact match?
index_section=Manual section
index_all=Vse
index_reset=Smazat
index_search=Vyhledat
index_return=Vyhledavaci fomular

search_efor=Nebyly zadany zadne manualove stranky
search_title=Vysledek hledani
search_noentry=Nebyly nalezeny zadne manualove stranky pro $1.
search_page=Manualova stranka
search_section=Sekce
search_desc=Popis
search_none=No manual pages matching $1 found.
  07070100021327000081a40000000000000002000000013d1fe2dc00000ac1000000200000000000000000000000000000001200000003reloc/man/lang/de #        webmin-0.97     man/lang/de
#
#        created: ??.??.????                 by:???
#        last modified: 31-mar-2002          Rev.: 29-05-2002
#        last modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                     durch: ???
# letzte &Auml;nderung: 31.03.2002        Rev.: 29.05.2002
# zuletzt modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Systemdokumentation

index_header=Suche in Handb&uuml;chern ('manpages') des Systems
index_for=Suche nach...
index_where=Suche in...
index_alldoc=Gesamte Dokumentation
index_man=Handb&uuml;cher
index_doc=Paket-Dokumentation
index_kernel=Kernel-Dokumentation
index_info=Info-Seiten
index_howto=HOWTO-Dokumente
index_kde=KDE-Dokumentation
index_perl=Perl-Modul Dokumentation
index_help=Webmin-Hilfe
index_reset=Zur&uuml;cksetzen
index_search=Suche
index_return=Suchformular
index_type=Durchsuchen:
index_name=Nur Titel
index_data=Titel und Inhalt
index_google=Google-Suchmaschine
index_others=Bei der Suche nach Dokumenten aus einem anderen Modul sollen folgende Dokumente durchsucht werden:
index_other_man=Handb&uuml;cher
index_other_doc=Paket-Dokumentation
index_other_kernel=Kernel-Dokumentation
index_other_howto=HOWTO-Dokumente
index_other_perl=Perl-Modul Dokumentation
index_other_google=Google-Suchmaschine
index_other_help=Webmin-Hilfe
index_other_kde=KDE-Dokumentation
index_and=Alle Worte
index_or=Beliebige Worte

search_efor=Es wurde keine Anleitung angegeben, nach der gesucht werden soll
search_title=Suchergebnisse
search_desc=Beschreibung
search_type=Typ
search_file=Seite oder Datei
search_man=Handbuch
search_howto=HOWTO-Dokument
search_doc=Paket-Dokumentation
search_kernel=Kernel-Dokumentation
search_kde=KDE-Dokumentation
search_perl=Perl-Modul Dokumentation
search_help=Webmin-Hilfe
search_none=Keine Anleitung passend zu '$1' gefunden
search_for=F&uuml;r $1
search_google=Google-Suchergebnis

howto_title=HOWTO-Dokument
howto_header=HOWTO-Dokument Datei $1
howto_epath=Ung&uuml;ltiger HOWTO-Pfad

doc_title=Paket-Dokumentation
doc_header=Paket-Dokumentendatei $1
doc_epath=Ung&uuml;ltiger Paket-Dokumentenpfad

man_title=Handbuch
man_header=Handbuch f&uuml;r $1 ($2)
man_noentry=Handbuch f&uuml;r $1 nicht vorhanden!

kernel_title=Kernel-Dokument
kernel_header=Kernel-Dokumentendatei $1
kernel_epath=Ung&uuml;ltiger Kernel-Dokumentenpfad

kde_title=KDE-Dokumentation
kde_header=KDE-Dokumentendatei $1
kde_epath=Ung&uuml;ltiger KDE-Dokumentenpfad

perl_title=Perl-Modul Dokumentation
perl_header=Dokumentation f&uuml;r Perl-Modul $1
perl_emod=Ung&uuml;ltiger Perl-Modulname   07070100021328000081a40000000000000002000000013d1fe2dc000007ee000000200000000000000000000000000000001200000003reloc/man/lang/en index_title=System Documentation
index_header=System documentation search
index_for=Search for
index_where=Search in
index_alldoc=All documentation
index_man=Manual pages
index_doc=Package documentation
index_kernel=Kernel documentation
index_info=Info pages
index_howto=HOWTO documents
index_kde=KDE documentation
index_perl=Perl module documentation
index_help=Webmin Help
index_reset=Reset
index_search=Search
index_return=search form
index_type=Match
index_name=Name only
index_data=Name and contents
index_google=Google search engine
index_others=When searching documentation from another module, allow searching in ..
index_other_man=Manual pages
index_other_help=Webmin Help
index_other_doc=Package documentation
index_other_kernel=Kernel documentation
index_other_howto=HOWTO documents
index_other_perl=Perl module documentation
index_other_google=Google search engine
index_other_kde=KDE documentation
index_and=Match all
index_or=Match any

search_efor=No manual page to search for entered
search_title=Search Results
search_desc=Description
search_type=Type
search_file=Page or file
search_man=Manual page
search_howto=HOWTO document
search_doc=Package documentation
search_kernel=Kernel documentation
search_kde=KDE documentation
search_perl=Perl module
search_help=Webmin help
search_none=No documentation matching $1 found.
search_for=For $1
search_google=Google search result

howto_title=HOWTO Document
howto_header=HOWTO document file $1
howto_epath=Invalid HOWTO document path

doc_title=Package Documentation
doc_header=Package document file $1
doc_epath=Invalid package documentation path

man_title=Manual Page
man_header=Manual page for $1($2)
man_noentry=Manual page for $1 does not exist!

kernel_title=Kernel Document
kernel_header=Kernel document file $1
kernel_epath=Invalid kernel document path

kde_title=KDE Documentation
kde_header=KDE document file $1
kde_epath=Invalid KDE documentation path

perl_title=Perl Module
perl_header=Documentation for Perl module $1
perl_emod=Invalid Perl module name

  07070100021329000081a40000000000000002000000013d1fe2dc00000988000000200000000000000000000000000000001200000003reloc/man/lang/es index_title=Páginas del Manual
index_header=Búsqueda de páginas del manual del Sistema
index_for=Buscar el texto...
index_where=Buscar en
index_alldoc=Toda la documentación
index_man=Páginas del manual
index_doc=Documentación del paquete
index_kernel=Documentación del kernel
index_info=Páginas info
index_howto=Documentos COMO-HACER (HOWTO)
index_kde=Documentación de KDE
index_perl=Documentación del módulo de Perl
index_help=Ayuda de Webmin
index_reset=Reiniciar
index_search=Buscar
index_return=formulario de búsqueda
index_type=Que coincida con
index_name=Sólo el nombre
index_data=Nombre y contenido
index_google=Máquina de búsqueda Google
index_others=Al buscar la documentación de otro módulo, permitir la búsqueda en...
index_other_man=Páginas del manual
index_other_help=Ayuda de Webmin
index_other_doc=Documentación del paquete
index_other_kernel=Documentación del kernel
index_other_howto=Documentos COMO-HACER (HOWTO)
index_other_perl=Documentación del módulo de Perl
index_other_google=Máquina de búsqueda Google
index_and=Que coincidan todas
index_or=Que coincidan con cualquiera

search_efor=No se ha digitado página de manual a buscar
search_title=Resultados de la Búsqueda
search_desc=Descripción
search_type=Tipo
search_file=Página o archivo
search_man=Página del manual
search_howto=Documento COMO-HACER (HOWTO)
search_doc=Documentación del paquete
search_kernel=Documentación del kernel
search_kde=Documentación de KDE
search_perl=Módulo de Perl
search_help=Ayuda de Webmin
search_none=No se ha hallado documentación que coincida con $1.
search_for=Para $1
search_google=Resultado de búsqueda en Google

howto_title=Documento COMO-HACER (HOWTO)
howto_header=Archivo $1 de documento de COMO-HACER (HOWTO)
howto_epath=Trayectoria a documento COMO-HACER (HOWTO) inválida

doc_title=Documentación de Paquete
doc_header=Archivo de documentación de paquete $1
doc_epath=Trayectoria a documentatión de paquete inválida

man_title=Página de Manual
man_header=Página de manual para $1($2)
man_noentry=¡La página de manual para $1 no existe!

kernel_title=Documento de Kernel
kernel_header=Archivo $1 de documento de kernel
kernel_epath=Trayectoria a documento de kernel inválida

kde_title=Documentación de KDE
kde_header=Archivo $1 de documento de KDE
kde_epath=Trayectoria a documentación de KDE inválida

perl_title=Módulo de Perl
perl_header=Documentación para módulo de Perl $1
perl_emod=Nombre de módulo de Perl inválido

0707010002132a000081a40000000000000002000000013d1fe2dc000008d8000000200000000000000000000000000000001200000003reloc/man/lang/fr index_title=Pages de manuel
index_header=Recherche dans les pages de manuel
index_for=Rechercher
index_where=Chercher dans
index_alldoc=Toutes les documentations
index_man=Pages des manuel
index_doc=Documentation des composants
index_kernel=Documentation noyau
index_info=Pages Info
index_howto=Documents HOWTO
index_kde=Documentation KDE
index_perl=Documentation de module Perl
index_help=Aide Webmin
index_reset=Annuler
index_search=Rechercher
index_return=formulaire de recherche
index_type=Correspondance
index_name=Nom seul
index_data=Nom et contenu
index_google=Moteur de recherche Google
index_others=Lors de la recherche de documentation d'un autre module, permettre la recherche dans ...
index_other_man=Pages de manuel
index_other_help=Aide de Webmin
index_other_doc=Documentation de composant
index_other_kernel=Documentation du noyau
index_other_howto=Documents HOWTO
index_other_perl=Documentation de module Perl
index_other_google=Moteur de recherche Google
index_and=Correspondance totale
index_or=Correspondance partielle

search_efor=Aucune page du manuel à rechercher
search_title=Résultats de la recherche
search_desc=Description
search_type=Type
search_file=Page ou fichier
search_man=Page de manuel
search_howto=Document HOWTO
search_doc=Documentation de composant
search_kernel=Documentation du noyau
search_kde=Documentation KDE
search_none=Aucune page correspondant à $1 n'a été trouvée.
search_perl=Module Perl
search_help=Aide de Webmin
search_for=Pour $1
search_google=Résultat de la recherche Google

howto_title=Document HOWTO
howto_header=Fichier HOWTO $1
howto_epath=Chemin de documents HOWTO invalide

doc_title=Documentation de composant
doc_header=Fichier de documentation composant $1
doc_epath=Chemin de la documentation des composants invalide

man_title=Page de manuel
man_header=Page de manuel pour $1($2)
man_noentry=La page de manuel de $1 n'existe pas !

kernel_title=Documentation du noyau
kernel_header=Fichier de documentation noyau $1
kernel_epath=Chemin de la documentation du noyau invalide

kde_title=Documentation KDE
kde_header=Fichier de documentation KDE $1
kde_epath=Chemin de documentation KDE invalide

perl_title=Module Perl
perl_header=Documentation du module Perl $1
perl_emod=Nom du module Perl invalide
0707010002132b000081a40000000000000002000000013d1fe2dc00000286000000200000000000000000000000000000001200000003reloc/man/lang/hu # webmin-0.81/man/lang/hu
# Translated by <kissg@sztaki.hu>

index_title=Programdokumentáció
index_header=Keresés az op.rendszerhez adott dokumentációban
index_for=Keresendõ szöveg
index_exact=Ez egy dokumentum pontos címe?
index_section=Kategória
index_all=Mind
index_reset=Törlés
index_search=Keresés
index_return=a kereséshez

search_efor=Nem adtad, hogy mit kell keresni
search_euser=Nincs $1 azonosítójú felhasználó
search_title=A keresés eredménye
search_noentry='$1' cimmel nincs dokumentum
search_page=Dokumentum
search_section=Kategória
search_desc=Egysoros magyarázat
search_none=A '$1' szöveg sehol nem fordul elõ
  0707010002132c000081a40000000000000002000000013d1fe2dc00000915000000200000000000000000000000000000001200000003reloc/man/lang/it index_title=Documentazione di Sistema
index_header=Ricerca nelle pagine di manuale del Sistema
index_for=Cosa cercare
index_where=Cerca in
index_alldoc=Tutta la documentazione
index_man=Pagine di manuale
index_doc=Documentazione pacchetti
index_kernel=Documentazione kernel
index_info=Pagine info
index_howto=Documenti HOWTO
index_kde=Documentazione KDE
index_perl=Documentazione moduli Perl
index_help=Help di Webmin
index_reset=Reimposta
index_search=Trova
index_return=form di ricerca
index_type=Corrispondenza
index_name=Solo nome
index_data=Nome e contenuto
index_google=Motore di ricerca Google
index_others=Quando si cerca della documentazione da un altro modulo, consenti la ricerca in ..
index_other_man=Pagine di manuale
index_other_help=Help di Webmin
index_other_doc=Documentazione Pacchetti
index_other_kernel=Documentazione Kernel
index_other_howto=Documenti HOWTO
index_other_perl=Documentazione moduli Perl
index_other_google=Motore di ricerca Google
index_other_kde=Documentazione KDE
index_and=Frase esatta
index_or=Una parola qualsiasi

search_efor=Non &egrave; stata inserita nessuna pagina di manuale in cui cercare
search_title=Risultati della Ricerca
search_desc=Descrizione
search_type=Tipo
search_file=Pagina o file
search_man=Pagina di manuale
search_howto=Documento HOWTO
search_doc=Documentazione pacchetto
search_kernel=Documentazione Kernel
search_kde=Documentazione KDE
search_perl=Modulo Perl
search_help=Help di Webmin
search_none=Non &egrave; stato trovato nessun documento contenente $1.
search_for=$1
search_google=Risultato di ricerca di Google

howto_title=Documento HOWTO
howto_header=File di documento HOWTO $1
howto_epath=Percorso di documento HOWTO non valido

doc_title=Documentazione Pacchetto
doc_header=File di documentazione pacchetto $1
doc_epath=Percorso di documentazione pacchetto non valido

man_title=Pagina di Manuale
man_header=Pagina di Manuale per $1($2)
man_noentry=La pagina di manuale $1 non esiste!

kernel_title=Documento Kernel
kernel_header=File di documento kernel $1
kernel_epath=Percorso del documento kernel non valido

kde_title=Documentazione KDE
kde_header=File di documentazione KDE $1
kde_epath=Percorso della documentazione KDE non valido

perl_title=Modulo Perl
perl_header=Documentazione per il modulo Perl $1
perl_emod=Nome modulo Perl non valido

   0707010002132d000081a40000000000000002000000013d1fe2dc0000076e000000200000000000000000000000000000001900000003reloc/man/lang/ja_JP.euc  index_title=¥·¥¹¥Æ¥à¤Î¥Þ¥Ë¥å¥¢¥ë
index_header=¥·¥¹¥Æ¥à ¥Þ¥Ë¥å¥¢¥ë ¥Ú¡¼¥¸¸¡º÷
index_for=¸¡º÷ÂÐ¾Ý
index_where=¸¡º÷¾ì½ê
index_alldoc=¤¹¤Ù¤Æ¤Î¥Þ¥Ë¥å¥¢¥ë
index_man=¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸
index_doc=¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë
index_kernel=¥«¡¼¥Í¥ë ¥Þ¥Ë¥å¥¢¥ë
index_info=¾ðÊó¥Ú¡¼¥¸
index_howto=HOWTO ¥É¥­¥å¥á¥ó¥È
index_kde=KDE ¥Þ¥Ë¥å¥¢¥ë
index_perl=Perl ¥â¥¸¥å¡¼¥ë ¥Þ¥Ë¥å¥¢¥ë
index_help=Webmin ¥Ø¥ë¥×
index_reset=¥ê¥»¥Ã¥È
index_search=¸¡º÷
index_return=¸¡º÷·Á¼°
index_type=°ìÃ×
index_name=Ì¾Á°¤Î¤ß
index_data=Ì¾Á°¤È¥³¥ó¥Æ¥ó¥Ä
index_other_man=¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸
index_other_help=Webmin ¥Ø¥ë¥×
index_other_doc=¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë
index_other_kernel=¥«¡¼¥Í¥ë ¥Þ¥Ë¥å¥¢¥ë
index_other_howto=HOWTO ¥É¥­¥å¥á¥ó¥È
index_other_perl=Perl ¥â¥¸¥å¡¼¥ë ¥Þ¥Ë¥å¥¢¥ë

search_efor=¸¡º÷¤¹¤ë¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
search_title=¸¡º÷·ë²Ì
search_desc=ÀâÌÀ
search_type=¼ïÎà
search_file=¥Ú¡¼¥¸¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë
search_man=¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸
search_howto=HOWTO ¥É¥­¥å¥á¥ó¥È
search_doc=¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë
search_kernel=¥«¡¼¥Í¥ë ¥Þ¥Ë¥å¥¢¥ë
search_kde=KDE ¥Þ¥Ë¥å¥¢¥ë
search_perl=Perl ¥â¥¸¥å¡¼¥ë
search_help=Webmin ¥Ø¥ë¥×
search_none=$1 ¤È°ìÃ×¤·¤¿¥É¥­¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
search_for=$1 ¤ò¸¡º÷

howto_title=HOWTO ¥É¥­¥å¥á¥ó¥È
howto_header=HOWTO ¥É¥­¥å¥á¥ó¥È ¥Õ¥¡¥¤¥ë $1
howto_epath=HOWTO ¥É¥­¥å¥á¥ó¥È¤Î¥Ñ¥¹¤¬Ìµ¸ú¤Ç¤¹

doc_title=¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë
doc_header=HOWTO ¥É¥­¥å¥á¥ó¥È ¥Õ¥¡¥¤¥ë $1
doc_epath=¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë¤Î¥Ñ¥¹¤¬Ìµ¸ú¤Ç¤¹

man_title=¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸
man_header=$1($2) ¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸
man_noentry=$1 ¤Î¥Þ¥Ë¥å¥¢¥ë¤Î¥Ú¡¼¥¸¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£

kernel_title=¥«¡¼¥Í¥ë ¥É¥­¥å¥á¥ó¥È
kernel_header=¥«¡¼¥Í¥ë ¥É¥­¥å¥á¥ó¥È ¥Õ¥¡¥¤¥ë $1
kernel_epath=¥«¡¼¥Í¥ë ¥É¥­¥å¥á¥ó¥È¤Î¥Ñ¥¹¤¬Ìµ¸ú¤Ç¤¹

kde_title=KDE ¥Þ¥Ë¥å¥¢¥ë
kde_header=KDE ¥É¥­¥å¥á¥ó¥È ¥Õ¥¡¥¤¥ë $1
kde_epath=KDE ¥Þ¥Ë¥å¥¢¥ë¤Î¥Ñ¥¹¤¬Ìµ¸ú¤Ç¤¹

perl_title=Perl ¥â¥¸¥å¡¼¥ë
perl_header=Perl ¥â¥¸¥å¡¼¥ë $1 ¤Î¥Þ¥Ë¥å¥¢¥ë
perl_emod=Perl ¥â¥¸¥å¡¼¥ëÌ¾¤¬Ìµ¸ú¤Ç¤¹

  0707010002132e000081a40000000000000002000000013d1fe2dc000005f6000000200000000000000000000000000000001900000003reloc/man/lang/ko_KR.euc  index_title=½Ã½ºÅÛ ¹®¼­
index_header=½Ã½ºÅÛ ¼³¸í¼­ ÆäÀÌÁö °Ë»ö
index_for=°Ë»ö ´ë»ó
index_where=°Ë»ö À§Ä¡
index_alldoc=¸ðµç ¹®¼­
index_man=¼³¸í¼­ ÆäÀÌÁö
index_doc=ÆÐÅ°Áö ¹®¼­
index_kernel=Ä¿³Î ¹®¼­
index_info=Á¤º¸ ÆäÀÌÁö
index_howto=HOWTO ¹®¼­
index_kde=KDE ¹®¼­
index_perl=Perl ¸ðµâ ¹®¼­
index_help=Webmin µµ¿ò¸»
index_reset=Àç¼³Á¤
index_search=°Ë»ö
index_return=°Ë»ö ¾ç½Ä
index_type=ÀÏÄ¡
index_name=ÀÌ¸§¸¸
index_data=ÀÌ¸§°ú ³»¿ë
index_other_man=¼³¸í¼­ ÆäÀÌÁö
index_other_help=Webmin µµ¿ò¸»
index_other_doc=ÆÐÅ°Áö ¹®¼­
index_other_kernel=Ä¿³Î ¹®¼­
index_other_howto=HOWTO ¹®¼­
index_other_perl=Perl ¸ðµâ ¹®¼­

search_efor=°Ë»öÇÒ ¼³¸í¼­ ÆäÀÌÁö¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
search_title=°Ë»ö °á°ú
search_desc=¼³¸í
search_type=À¯Çü
search_file=ÆäÀÌÁö ¶Ç´Â ÆÄÀÏ
search_man=¼³¸í¼­ ÆäÀÌÁö
search_howto=HOWTO ¹®¼­
search_doc=ÆÐÅ°Áö ¹®¼­
search_kernel=Ä¿³Î ¹®¼­
search_kde=KDE ¹®¼­
search_perl=Perl ¸ðµâ
search_help=Webmin µµ¿ò¸»
search_none=$1°ú(¿Í) ÀÏÄ¡ÇÏ´Â ¹®¼­°¡ ¾ø½À´Ï´Ù.
search_for=$1 °Ë»ö

howto_title=HOWTO ¹®¼­
howto_header=HOWTO ¹®¼­ ÆÄÀÏ $1
howto_epath=Àß¸øµÈ HOWTO ¹®¼­ °æ·Î

doc_title=ÆÐÅ°Áö ¹®¼­
doc_header=ÆÐÅ°Áö ¹®¼­ ÆÄÀÏ $1
doc_epath=Àß¸øµÈ ÆÐÅ°Áö ¹®¼­ °æ·Î

man_title=¼³¸í¼­ ÆäÀÌÁö
man_header=$1ÀÇ ¼³¸í¼­ ÆäÀÌÁö($2)
man_noentry=$1ÀÇ ¼³¸í¼­ ÆäÀÌÁö°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù!

kernel_title=Ä¿³Î ¹®¼­
kernel_header=Ä¿³Î ¹®¼­ ÆÄÀÏ $1
kernel_epath=Àß¸øµÈ Ä¿³Î ¹®¼­ °æ·Î

kde_title=KDE ¹®¼­
kde_header=KDE ¹®¼­ ÆÄÀÏ $1
kde_epath=Àß¸øµÈ KDE ¹®¼­ °æ·Î

perl_title=Perl ¸ðµâ
perl_header=Perl ¸ðµâ $1 ¹®¼­
perl_emod=Àß¸øµÈ Perl ¸ðµâ ÀÌ¸§

  0707010002132f000081a40000000000000002000000013d1fe2dc000008eb000000200000000000000000000000000000001200000003reloc/man/lang/pl index_title=Dokumentacja systemu
index_header=System przeszukiwania stron podrêcznika
index_for=Szukaj
index_where=Przeszukuj
index_alldoc=Ca³± dokumentacjê
index_man=Strony podrêcznika
index_doc=Dokumentacjê pakietów
index_kernel=Dokumentacjê kernela
index_info=Strony &quot;info&quot;
index_howto=Dokumenty &quot;HOWTO&quot;
index_kde=Dokumentacjê KDE
index_perl=Dokumentacjê modu³ów Perla
index_help=Pomoc Webmina
index_reset=Od pocz±tku
index_search=Szukaj
index_return=formularza poszukiwania
index_type=Dopasuj do
index_name=Tylko nazwy
index_data=Nazwy i&nbsp;zawarto¶ci
index_google=Przeszukiwarka Google
index_others=Podczas przeszukiwania dokumentacji z&nbsp;innego modu³u, zezwalaæ na szukanie w ..
index_other_man=Stronach podrêcznika
index_other_help=Pomocy Webmina
index_other_doc=Dokumentacji pakietów
index_other_kernel=Dokumentacji kernela
index_other_howto=Dokumentach &quot;HOWTO&quot;
index_other_perl=Dokumentacji modu³ów Perla
index_other_google=Przeszukiwarce Google
index_other_kde=Dokumentacji KDE
index_and=Wszystkie warunki
index_or=Dowolny warunek

search_efor=Nie podano poszukiwanej strony
search_title=Wyniki poszukiwania
search_desc=Opis
search_type=Rodzaj
search_file=Strona lub plik
search_man=Strona podrêcznika
search_howto=Dokument &quot;HOWTO&quot;
search_doc=Dokumentacja pakietu
search_kernel=Dokumentacja kernela
search_kde=Dokumentacja KDE
search_perl=Modu³ Perla
search_help=Pomoc Webmina
search_none=Nie znaleziono ¿adnej strony pasuj±cej do $1.
search_for=$1
search_google=Wynik poszukiwania w&nbsp;Google

howto_title=Dokument &quot;HOWTO&quot;
howto_header=Plik dokumentu &quot;HOWTO&quot; $1
howto_epath=Niew³a¶ciwa ¶cie¿ka dokumentu &quot;HOWTO&quot;

doc_title=Dokumentacja pakietów
doc_header=Plik dokumentacji pakietu $1
doc_epath=Niew³a¶ciwa ¶cie¿ka dokumentacji pakietów

man_title=Strona podrêcznika
man_header=Strona podrêcznika dla $1($2)
man_noentry=Strona podrêcznika $1 nie istnieje!

kernel_title=Dokument kernela
kernel_header=Plik dokumentu kernela $1
kernel_epath=Niew³a¶ciwa ¶sie¿ka dokumentacji kernela

kde_title=Dokumentacja KDE
kde_header=Plik dokumentu KDE $1
kde_epath=Niew³a¶ciwa ¶sie¿ka dokumentacji KDE

perl_title=Modu³ Perla
perl_header=Dokumentacja modu³u Perla $1
perl_emod=Niew³a¶ciwa nazwa modu³u Perla
 07070100021330000081a40000000000000002000000013d1fe2dc000001f3000000200000000000000000000000000000001500000003reloc/man/lang/ru_RU  index_search=Ïîèñê
search_page=Ñòðàíèöà ðóêîâîäñòâà
search_section=Ñåêöèÿ
index_return=ôîðìó ïîèñêà
index_for=Íàéòè:
index_section=Ðàçäåë ðóêîâîäñòâà
search_none=Íå íàéäåíî ñòðàíèö ñîîòâåòñòâóþùèõ $1.
search_title=Ðåçóëüòàòû Ïîèñêà
index_all=Âñå
index_title=Ñòðàíèöû Ðóêîâîäñòâà
index_exact=Ïîëíîå ñîîòâåòñòâèå?
search_noentry=Íå íàéäåíà ñòðàíèöà äëÿ $1.
index_reset=Ñáðîñ
index_header=Ïîèñê ñòðàíèö ñèñòåìíîãî ðóêîâîäñòâà
search_desc=Îïèñàíèå
search_efor=Íå ââåäåíà ñòðàíèöà ðóêîâîäñòâà äëÿ ïîèñêà
 07070100021332000081a40000000000000002000000013d1fe2dc000001f4000000200000000000000000000000000000001500000003reloc/man/lang/ru_SU  index_title=óÔÒÁÎÉÃÙ òÕËÏ×ÏÄÓÔ×Á
index_header=ðÏÉÓË ÓÔÒÁÎÉÃ ÓÉÓÔÅÍÎÏÇÏ ÒÕËÏ×ÏÄÓÔ×Á
index_for=îÁÊÔÉ:
index_exact=ðÏÌÎÏÅ ÓÏÏÔ×ÅÔÓÔ×ÉÅ?
index_section=òÁÚÄÅÌ ÒÕËÏ×ÏÄÓÔ×Á
index_all=÷ÓÅ
index_reset=óÂÒÏÓ
index_search=ðÏÉÓË
index_return=ÆÏÒÍÕ ÐÏÉÓËÁ

search_efor=îÅ ××ÅÄÅÎÁ ÓÔÒÁÎÉÃÁ ÒÕËÏ×ÏÄÓÔ×Á ÄÌÑ ÐÏÉÓËÁ
search_title=òÅÚÕÌØÔÁÔÙ ðÏÉÓËÁ
search_noentry=îÅ ÎÁÊÄÅÎÁ ÓÔÒÁÎÉÃÁ ÄÌÑ $1.
search_page=óÔÒÁÎÉÃÁ ÒÕËÏ×ÏÄÓÔ×Á
search_section=óÅËÃÉÑ
search_desc=ïÐÉÓÁÎÉÅ
search_none=îÅ ÎÁÊÄÅÎÏ ÓÔÒÁÎÉÃ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ $1.
07070100021333000081a40000000000000002000000013d1fe2dc000006f2000000200000000000000000000000000000001200000003reloc/man/lang/sv index_title=Systemdokumentation
index_header=Sökning i systemets manualsidor
index_for=Sök efter
index_where=Sök i
index_alldoc=All dokumentation
index_man=Manualsidor
index_doc=Paketdokumentation
index_kernel=Kärnans dokumentation
index_info=Info-sidor
index_howto=HOWTO-dokument
index_kde=KDE-dokumentation
index_perl=Perl-moduldokumentation
index_help=Webmin-hjälp
index_reset=Återställ
index_search=Sök
index_return=sökformulär
index_type=Matcha
index_name=Endast namn
index_data=Namn och innehåll
index_other_man=Manualsidor
index_other_help=Webmin-hjälp
index_other_doc=Paketdokumentation
index_other_kernel=Kärnans dokumentation
index_other_howto=HOWTO-dokument
index_other_perl=Perl-moduldokumentation

search_efor=Det fanns ingen manualsida för detta
search_title=Sökresultat
search_desc=Beskrivning
search_type=Typ
search_file=Sida eller fil
search_man=Manualsida
search_howto=HOWTO-dokument
search_doc=Paketdokumentation
search_kernel=Kärnans dokumentation
search_kde=KDE-dokumentation
search_perl=Perl-modul
search_help=Webmin-hjälp
search_none=Det fanns ingen dokumentation som passade $1.
search_for=efter $1

howto_title=HOWTO-dokument
howto_header=HOWTO-dokumentfil $1
howto_epath=Ogiltig sökväg till HOWTO-dokument

doc_title=Paketdokumentation
doc_header=Paketdokumentfil $1
doc_epath=Ogiltig sökväg till paketdokumentation

man_title=Manualsida
man_header=Manualsida för $1 ($2)
man_noentry=Det finns ingen manualsida för $1.

kernel_title=Kärnans dokumentation
kernel_header=Kärndokumentfil $1
kernel_epath=Ogiltig sökväg till kärnans dokumentation

kde_title=KDE-dokumentation
kde_header=KDE-dokumentfil $1
kde_epath=Ogiltig sökväg till KDE-dokumentation

perl_title=Perl-modul
perl_header=Dokumentation för Perl-modul $1
perl_emod=Ogiltigt Perl-modulnamn

  07070100021334000081a40000000000000002000000013d1fe2dc00000217000000200000000000000000000000000000001200000003reloc/man/lang/tr index_title=Kýlavuz Sayfalar
index_header=Sistem yardýmcý sayfalarý arama
index_for=Ara
index_exact=Birebir eþleme yapýlsýn mý?
index_section=Kýlavuz sýnýfý
index_all=Tümü
index_reset=Temizle
index_search=Ara
index_return=arama formu

search_efor=Aramada girilen yardýmcý sayfa bulunamadý
search_euser=$1 kullanýcýsý mevcut deðil
search_title=Arama sonuçlarý
search_noentry=$1 için yardýmcý sayfa bulunamadý
search_page=Yardýmcý sayfa
search_section=Bölüm
search_desc=Açýklama
search_none=Karþýlaþýlan $1 yardýmcý sayfasý bulunamadý 

 07070100021335000081a40000000000000002000000013d1fe2dc00000193000000200000000000000000000000000000001500000003reloc/man/lang/zh_CN  index_title=²Î¿¼ÎÄµµ
index_header=ÏµÍ³ÊÖ²áÒ³ËÑË÷
index_for=ËÑË÷
index_exact=µÃµ½ÏàÓ¦°ïÖúÐÅÏ¢?
index_section=ÊÖ²á·ÖÇø
index_all=ËùÓÐ
index_reset=ÖØÖÃ
index_search=ËÑË÷
index_return=ËÑË÷·½Ê½
search_efor=Ã»ÓÐÊäÈëÒªËÑË÷µÄÊÖ²áÒ³
search_euser=Óµ»¤ $1 ²»´æÔÚ!
search_title=ËÑË÷½á¹û
search_noentry=$1 µÄ²Î¿¼²ÄÁÏÃ»ÕÒµ½
search_page=²Î¿¼²ÄÁÏ
search_section=·ÖÇø
search_desc=ÃèÊö
search_none=Ã»ÕÒµ½Óë $1 Æ¥ÅäµÄÎÄµµ
 070701000214a6000081a40000000000000002000000013d1fe2dc00000178000000200000000000000000000000000000001a00000003reloc/man/lang/zh_TW.Big5 index_title=¤â¥U­¶
index_header=¨t²Î¤â¥U­¶·j´M¾¹
index_for=·j´M
index_exact=¬O§_§¹¥þ²Å¦X?
index_section=¤â¥U³¹¸`
index_all=¥þ³¡
index_reset=­«³]
index_search=·j´M
index_return=·j´M¦Û

search_efor=¨S¦³¿é¤J­n·j´Mªº¤â¥U­¶
search_title=·j´Mµ²ªG
search_noentry=¨S¦³§ä¨ìÃö©ó $1 ªº¤â¥U­¶.
search_page=¤â¥U­¶
search_section=³¹¸`
search_desc=´y­z
search_none=¨S¦³§ä¨ì²Å¦X $1 ªº¤â¥U­¶.
07070100015d7b000081a40000000000000002000000013d1fe2dc000001db000000200000000000000000000000000000001500000003reloc/man/man-lib.pl  # man-lib.pl

do '../web-lib.pl';
&init_config();

$google_host = "www.google.com";
$google_port = 80;
$google_page = "/search";

# Get the paths to perl and perldoc
open(PERL, "$config_directory/perl-path");
chop($perl_path = <PERL>);
close(PERL);
if (&has_command("perldoc")) {
	$perl_doc = "perldoc";
	}
else {
	$perl_path =~ /^(.*)\/[^\/]+$/;
	if (-x "$1/perldoc") {
		$perl_doc = "$1/perldoc";
		}
	}
if ($perl_doc && $] >= 5.006) {
	$perl_doc = "$perl_doc -U";
	}

1;

 07070100015d7c000081a40000000000000002000000013d1fe2ea0000030e000000200000000000000000000000000000001600000003reloc/man/module.info desc_ru_SU=óÔÒÁÎÉÃÙ òÕËÏ×ÏÄÓÔ×Á
risk=low medium high
desc_ko_KR.euc=½Ã½ºÅÛ ¹®¼­ 
desc_zh_TW.Big5=¤â¥U­¶
desc_pl=Dokumentacja systemu
desc_de=Systemdokumentation
name=Man
desc_zh_CN=Ê¹ÓÃÊÖ²á
desc_pt=Páginas do Manual
category=system
desc_tr=Kýlavuz Sayfalar
os_support=solaris corel-linux debian-linux open-linux redhat-linux mandrake-linux slackware-linux solaris suse-linux turbo-linux freebsd openbsd cobalt-linux lfs-linux irix aix hpux macos netbsd msc-linux osf1 generic-linux openserver gentoo-linux
desc=System Documentation
desc_es=Páginas del Manual
desc_sv=Systemdokumentation
desc_fr=Pages de manuel
desc_cz=Manualove stranky
desc_ja_JP.euc=¥·¥¹¥Æ¥àÊ¸½ñ
depends=0.990
version=0.990
desc_hu=Programleírások
desc_ca=Documentació del Sistema
desc_ru_RU=Ñòðàíèöû Ðóêîâîäñòâà
  07070100015d7d000081e40000000000000002000000013d1fe2dc00000214000000200000000000000000000000000000001900000003reloc/man/save_check.cgi  #!/usr/local/bin/perl
# save_check.cgi
# Save the list of search types that are allowed for searches made
# from help_search_link()

require './man-lib.pl';
&ReadParse();
&lock_file("$module_config_directory/config");
@check = split(/\0/, $in{'check'});
if (!@check) {
	$config{'check'} = 'NONE';
	}
elsif (@check == $in{'count'}) {
	$config{'check'} = '';
	}
else {
	$config{'check'} = join(" ", @check);
	}
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&redirect("");

07070100015d7e000081e40000000000000002000000013d1fe2dc00002955000000200000000000000000000000000000001500000003reloc/man/search.cgi  #!/usr/local/bin/perl
# search.cgi
# Search for manual pages, and display a list of matches or an exact page

require './man-lib.pl';
use Config;
&ReadParse();
$in{'for'} || &error($text{'search_efor'});

@for = split(/\s+/, $in{'for'});
@howto = split(/\s+/, $config{'howto_dir'});
@doc = split(/\s+/, $config{'doc_dir'});
foreach $s (split(/\0/, $in{'section'})) {
	if ($s =~ /^([^:]+):(.*)/) {
		$section{$1}++;
		$opts{$1} = $2;
		}
	else {
		$section{$s}++;
		}
	}
if ($in{'check'} && $config{'check'}) {
	@check = split(/\s+/, $config{'check'});
	foreach $s (keys %section) {
		delete($section{$s}) if (&indexof($s, @check) < 0);
		}
	}

if ($section{'doc'}) {
	# Look in the system documentation directory (usually /usr/doc)
	foreach $d (@doc) {
		push(@rv, map { [ $text{'search_doc'},
				   "view_doc.cgi?file=".&urlize($_->[0]),
				   substr($_->[0], length($d)+1),
				   $_->[1], 1 ] }
			     &find_contents($d, \@for,
					    $howto[0], 1, $in{'exact'}));
		}
	}
if ($section{'howto'}) {
	# Look in the HOWTO directory
	foreach $h (@howto) {
		push(@rv, map { [ $text{'search_howto'},
			      "view_howto.cgi?file=".&urlize($_->[0]),
			      $_->[2], $_->[1], 2 ] }
		     &find_contents($h, \@for, undef, 0, $in{'exact'}));
		}
	@rv = grep { $_->[2] !~ /^index/i } @rv;
	}
if ($section{'kernel'}) {
	# Look in the linux kernel Documentation directory
	 push(@rv, map { [ $text{'search_kernel'},
			   "view_kernel.cgi?file=".&urlize($_->[0]),
			   substr($_->[0], length($config{'kernel_dir'})+1),
			   $_->[1], 1 ] }
		     &find_contents($config{'kernel_dir'}, \@for,
				    undef, 1, $in{'exact'}));
	}
if ($section{'kde'}) {
	# Look in the KDE documentation directory
	 push(@rv, map { [ $text{'search_kde'},
			   "view_kde.cgi?file=".&urlize($_->[0]),
			   substr($_->[0], length($config{'kde_dir'})+1),
			   $_->[1], 1 ] }
		     &find_contents($config{'kde_dir'}, \@for,
				    undef, 1, $in{'exact'}));
	}
if ($section{'perl'}) {
	if ($in{'exact'}) {
		# Check for an exact module name match
		local @f = $in{'and'} ? ( $for[0] ) : @for;
		foreach $f (@f) {
			chop($out = `$perl_doc -l $f 2>/dev/null`);
			if ($out) {
				local $doc = &parse_perl_module($out);
				$doc->{'name'} =~ s/^\s*(\S+)\s+-\s+//;
				push(@rv, [ $text{'search_perl'},
					    "view_perl.cgi?mod=$f",
					    $f, $doc->{'name'}, 1 ]);
				}
			}
		}
	else {
		# Search the text of all perl modules
		foreach $d ($Config{'sitelib'}, $Config{'privlib'}) {
			open(FIND, "find $d -name '*.pm' -print |");
			while($path = <FIND>) {
				chop($path);
				local $doc = &parse_perl_module($path);
				local ($any = 0, $all = 1);
				foreach $f (@for) {
					if ($doc->{'name'} !~ /$f/i &&
					    $doc->{'description'} !~ /$f/i) {
						$all = 0;
						}
					else {
						$any = 1;
						}
					}
				next if (!$all && $in{'and'} || !$any);

				$doc->{'name'} =~ s/^\s*(\S+)\s+-\s+//;
				local $modfile =
				   `$perl_doc -l $doc->{'package'} 2>/dev/null`;
				if ($doc->{'package'} && $modfile) {
					push(@rv, [ $text{'search_perl'},
					  "view_perl.cgi?mod=$doc->{'package'}",
					  $doc->{'package'}, $doc->{'name'},
					  1 ]);
					}
				}
			close(FIND);
			}
		}
	}
if ($section{'help'}) {
	# Look in the webmin module help pages
	opendir(DIR, "..");
	foreach $m (readdir(DIR)) {
		# Is this a module with help
		local $dir = "../$m/help";
		next if (!-d $dir || $m =~ /^\./ || -l "../$m");
		local %minfo = &get_module_info($m);
		next if (!%minfo || !&check_os_support(\%minfo));

		# Check the help pages
		local @pfx;
		opendir(DIR, $dir);
		while($f = readdir(DIR)) {
			push(@pfx, $1) if ($f =~ /^([^\.]+)\.html$/);
			}
		closedir(DIR);
		HELP: foreach $p (&unique(@pfx)) {
			local $file = &help_file($m, $p);
			open(HELP, $file);
			local @st = stat($file);
			read(HELP, $help, $st[7]);
			close(HELP);
			if ($help =~ /<header>([^<]+)<\/header>/) {
				$header = $1;
				}
			else { next; }
			$help =~ s/<include\s+(\S+)>/inchelp($1)/ge;
			$help =~ s/<[^>]+>//g;
			local $matches = 0;
			if ($in{'exact'}) {
				# Just check header
				foreach $f (@for) {
					$matches++ if ($header =~ /\Q$f\E/i);
					}
				}
			else {
				# Check entire body
				foreach $f (@for) {
					$matches++ if ($help =~ /\Q$f\E/i);
					}
				}
			if (($in{'and'} && $matches == @for) ||
			    (!$in{'and'} && $matches)) {
				push(@rv, [ $text{'search_help'},
					    "/help.cgi/$m/$p?x=1",
					    "$m/$p", $header,
					    2 ]);
				}
			}
		}
	}
if ($section{'man'}) {
	# Look in manual pages (searches are never exact)
	$cmd = $config{'search_cmd'};
	map { s/\\/\\\\/g; s/'/\\'/g; } @for;
	if ($in{'and'}) {
		$cmd =~ s/PAGE/'$for[0]'/;
		}
	else {
		local $fors = join(" ", map { "'$_'" } @for);
		$cmd =~ s/PAGE/$fors/;
		}
	if ($opts{'man'}) {
		$ENV{'MANPATH'} .= $config{'man_dir'}.':'.$opts{'man'};
		}
	open(MAN, "$cmd |");
	while(<MAN>) {
		if (/(([^,\s]+).*)\s*\((\S+)\)\s+-\s+(.*)/ &&
		    !$done{$2,$3}++) {
			local ($page, $sect, $desc) = ($1, $3, $4);
			local @pp = split(/[\s+,]/, $page);
			map { s/\((\S+)\)//; } @pp;

			# Keywords must be page name or desc
			local ($any = 0, $all = 1, $exact);
			foreach $f (@for) {
				if ($desc !~ /$f/i && $page !~ /$f/i &&
				    &indexof($f, @pp) < 0) {
					$all = 0;
					}
				else {
					$any = 1;
					}
				$exact++ if (&indexof($f, @pp) >= 0);
				}
			next if (!$all && $in{'and'} || !$any);

			push(@rv, [ $text{'search_man'},
				    "view_man.cgi?page=$pp[0]&sec=$3&opts=".
				    $opts{'man'}, "$pp[0] ($sect)", $desc,
				    $exact ? 4 : 3 ]);
			}
		}
	close(MAN);
	}
if ($section{'google'}) {
	# Try to call the Google search engine
	local ($grv, $error);
	local $j = $in{'and'} ? ' and ' : ' or ';
	&http_download($google_host, $google_port, "$google_page?q=".
		       &urlize(join($j, @for))."&sourceid=webmin&num=20",
		       \$grv, \$error);
	if (!$error) {
		# Parse the results
		while($grv =~ /<p><a\s+href=([^>]+)>([\000-\377]+?)<\/a>([\000-\377]*)$/i) {
			$grv = $3;
			local ($url = $1, $desc = $2);
			$desc =~ s/<\/?b>//g;
			local $matches = 0;
			foreach $f (@for) {
				$matches++ if ($desc =~ /\Q$f\E/i);
				}
			if (!$in{'exact'} ||
			    ($in{'and'} && $matches == @for) ||
			    (!$in{'and'} && $matches)) {
				push(@rv, [ $text{'search_google'}, $url, length($url) > 60 ? substr($url, 0, 60)."..." : $url, $desc, 0.5 ]);
				}
			}
		}
	}

if (@rv == 1 && !$in{'check'}) {
	# redirect to the exact page
	&redirect($in{'exact'} ? $rv[0]->[1]
			       : "$rv[0]->[1]&for=".&urlize($in{'for'}));
	exit;
	}

# Display search results
&header($text{'search_title'}, "");
$for = join($in{'and'} ? " and " : " or ", map { "<tt>$_</tt>" } @for);
print "<center><font size=+1>",&text('search_for', $for),
      "</font></center>\n";
print "<hr>\n";
if (@rv) {
	#@rv = sort { $b->[4] <=> $a->[4] } @rv;
	@rv = sort { &ranking($b) <=> &ranking($a) } @rv;
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'search_file'}</b></td> ",
	      "<td><b>$text{'search_type'}</b></td> ",
	      "<td><b>$text{'search_desc'}</b></td> </tr>\n";
	foreach $r (@rv) {
		print "<tr $cb>\n";
		if ($r->[1] =~ /^(http|ftp|https):/) {
			print "<td><a href='$r->[1]'>",&html_escape($r->[2]),
			      "</a></td>\n";
			}
		else {
			print "<td><a href='$r->[1]&for=".&urlize($in{'for'}).
			      "'>",&html_escape($r->[2]),"</a></td>\n";
			}
		print "<td nowrap>$r->[0]</td>\n";
		print "<td>",$r->[3] ? &html_escape($r->[3]) :"<br>","</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<p><b>",&text('search_none', "<tt>$in{'for'}</tt>"),"</b><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

# find_contents(directory, &strings, [exclude], [descend], [nameonly])
# Find some string in a directory of files
sub find_contents
{
opendir(DIR, $_[0]);
local @f = readdir(DIR);
closedir(DIR);
local @rv;
foreach $f (@f) {
	next if ($f =~ /^\./);
	local $p = "$_[0]/$f";
	next if ($p eq $_[2]);
	if (-d $p) {
		# go into subdirectory
		push(@rv, &find_contents($p, $_[1], $_[2], $_[3], $_[4]))
			if ($_[3]);
		}
	else {
		# Skip non-text or HTML files
		local $ff = $f;
		$ff =~ s/\.gz$//i;
		next if ($ff !~ /\.(txt|htm|html|doc)$/ &&
			 $ff =~ /\.[A-Za-z0-9]+$/);
		next if ($ff =~ /(^makefile$)|(^core$)/i);

		local $matches = 0;
		foreach $s (@{$_[1]}) {
			$matches++ if ($p =~ /\Q$s\E/i);
			}
		if ($_[4]) {
			# just compare filename
			if ($in{'and'} && $matches == @{$_[1]} ||
			    !$in{'and'} && $matches) {
				local ($desc, $data) = &read_doc_file($p);
				if ($desc !~ /^#!/ && $desc !~ /^#\%/) {
					push(@rv, [ $p, $desc, $f, $matches ]);
					}
				}
			}
		else {
			# compare file contents
			local ($desc, $data) = &read_doc_file($p);
			local $dmatches = 0;
			foreach $s (@{$_[1]}) {
				$dmatches++ if ($data =~ /\Q$s\E/i);
				}
			if (($in{'and'} && $dmatches == @{$_[1]} ||
			     !$in{'and'} && $dmatches) &&
			    $desc !~ /^#!/ && $desc !~ /^#\%/) {
				push(@rv, [ $p, $desc, $f, $matches ]);
				}
			}
		}
	}
return @rv;
}

# read_doc_file(filename)
# Returns desc, data
sub read_doc_file
{
local ($two, $first, $title, $data);
open(FILE, $_[0]);
read(FILE, $two, 2);
if ($two eq "\037\213") {
	close(FILE);
	open(FILE, "gunzip -c $p |");
	}
seek(FILE, 0, 0);
while(<FILE>) {
	$data .= $_;
	if (/[A-Za-z0-9]/ && !/\$\S+:/ && !$first) {
		chop($first = $_);
		$first =~ s/.\010//g;
		}
	}
close(FILE);
if ($data =~ /<\s*title\s*>([\000-\177]{0,200})<\s*\/\s*title\s*>/i) {
	$title = $1;
	}
return ($title ? $title : $first =~ /<.*>/ ? undef : $first, $data);
}

# parse_perl_module(file)
sub parse_perl_module
{
local (%doc, $inside);
open(MOD, $_[0]);
while(<MOD>) {
	if (/^\s*package\s+(\S+)\s*;/ && !$doc{'package'}) {
		$doc{'package'} = $1;
		}
	elsif (/^=head1\s+(\S+)/i) {
		$inside = $1;
		}
	elsif (/^=cut/i) {
		undef($inside);
		}
	elsif ($inside) {
		$doc{lc($inside)} .= $_;
		}
	}
close(MOD);
return \%doc;
}

# help_file(dir, prefix)
sub help_file
{
local $o;
foreach $o (@lang_order_list) {
	local $lang = "$_[0]/$_[1].$current_lang.html";
	return $lang if (-r $lang);
	}
return "$_[0]/$_[1].html";
}

# inchelp(path)
sub inchelp
{
local $inc;
local $ipath = &help_file($dir, $_[0]);
open(INC, $ipath) || return "<i>".&text('search_einclude', $_[0])."</i><br>\n";
local @st = stat(INC);
read(INC, $inc, $st[7]);
close(INC);
return $inc;
}

sub ranking
{
local ($name = 0, $desc = 0);
foreach $f (@for) {
	$desc++ if ($_[0]->[3] =~ /$f/i);
	$name++ if ($_[0]->[1] =~ /$f/i);
	}
return $name ? $_[0]->[4] * 10 :
       $desc ? $_[0]->[4] :
	       $_[0]->[4] / 10;
}

   07070100015d7f000081e40000000000000002000000013d1fe2dc000005e0000000200000000000000000000000000000001700000003reloc/man/view_doc.cgi    #!/usr/local/bin/perl
# view_doc.cgi
# View some package doc file

require './man-lib.pl';
&ReadParse();

$in{'file'} !~ /\.\./ ||
	&error($text{'doc_epath'});
$in{'file'} !~ /[\\\&\;\`\'\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'doc_epath'});
foreach $d (split(/\s+/, $config{'doc_dir'})) {
	$ok++ if (substr($in{'file'}, 0, length($d)) eq $d);
	}
$ok || &error($text{'doc_epath'});
-r $in{'file'} ||
	&error($text{'doc_epath'});

&header($text{'doc_title'}, "");
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('doc_header', $in{'file'}),"</b></td> </tr>\n";
print "<tr $cb> <td>";
open(FILE, $in{'file'});
read(FILE, $two, 2);
if ($two eq "\037\213") {
	close(FILE);
	open(FILE, "gunzip -c $in{'file'} |");
	}
seek(FILE, 0, 0);
if ($in{'file'} =~ /\.htm/i) {
	# Display HTML documentation
	($dir = $in{'file'}) =~ s/\/[^\/]+$//;
	while($line = <FILE>) {
		$line =~ s/href="([^"#][^"]*)"/href="view_doc.cgi?file=$dir\/$1"/ig;
		$line =~ s/href='([^'#][^']*)'/href='view_doc.cgi?file=$dir\/$1'/ig;
		$line =~ s/href=([^'"\s#][^'"\s>]*)/href='view_doc.cgi?file=$dir\/$1'/ig;
		print $line;
		}
	}
else {
	# Display text file
	print "<pre>";
	@for = split(/\s+/, $in{'for'});
	while($line = <FILE>) {
		$line = &html_escape($line);
		foreach $f (@for) {
			$line =~ s/.\010//g;
			$line =~ s/($f)/<b>$1<\/b>/ig;
			}
		print $line;
		}
	print "</pre>";
	}
close(FILE);
print "</td></tr></table><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100015d80000081e40000000000000002000000013d1fe2dc0000043f000000200000000000000000000000000000001900000003reloc/man/view_howto.cgi  #!/usr/local/bin/perl
# view_doc.cgi
# View some HOWTO doc file

require './man-lib.pl';
&ReadParse();

$in{'file'} !~ /\.\./ ||
	&error($text{'howto_epath'});
$in{'file'} !~ /[\\\&\;\`\'\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'howto_epath'});
foreach $h (split(/\s+/, $config{'howto_dir'})) {
	$ok++ if (substr($in{'file'}, 0, length($h)) eq $h);
	}
$ok || &error($text{'howto_epath'});
-r $in{'file'} || &error($text{'howto_epath'});

&header($text{'howto_title'}, "");
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('howto_header', $in{'file'}),"</b></td> </tr>\n";
print "<tr $cb> <td><pre>";
open(FILE, $in{'file'});
read(FILE, $two, 2);
if ($two eq "\037\213") {
	close(FILE);
	open(FILE, "gunzip -c $in{'file'} |");
	}
seek(FILE, 0, 0);
@for = split(/\s+/, $in{'for'});
while($line = <FILE>) {
	$line = &html_escape($line);
	foreach $f (@for) {
		$line =~ s/.\010//g;
		$line =~ s/($f)/<b>$1<\/b>/ig;
		}
	print $line;
	}
close(FILE);
print "</pre></td></tr></table><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100015d81000081e40000000000000002000000013d1fe2dc000005fd000000200000000000000000000000000000001700000003reloc/man/view_kde.cgi    #!/usr/local/bin/perl
# view_kde.cgi
# View some HTML KDE documentation

require './man-lib.pl';
&ReadParse();

$in{'file'} !~ /\.\./ ||
	&error($text{'kde_epath'});
$in{'file'} !~ /[\\\&\;\`\'\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'kde_epath'});
substr($in{'file'}, 0, length($config{'kde_dir'})) eq $config{'kde_dir'} ||
	&error($text{'kde_epath'});
-r $in{'file'} ||
	&error($text{'kde_epath'});

if ($in{'file'} =~ /\.(gif|jpg|jpeg|tif|png)$/i) {
	printf "Content-type: %s\n\n",
		$1 eq "gif" ? "image/gif" :
		$1 eq "jpg" || $1 eq "jpeg" ? "image/jpeg" :
		$1 eq "tif" ? "image/tiff" : "image/png";
	open(FILE, $in{'file'});
	while(read(FILE, $buf, 1024)) {
		print $buf;
		}
	close(FILE);
	}
else {
	&header($text{'kde_title'}, "");
	print "<hr>\n";

	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>",&text('kde_header', $in{'file'}),
	      "</b></td> </tr>\n";
	print "<tr $cb> <td>";
	($dir = $in{'file'}) =~ s/\/[^\/]+$//;
	open(FILE, $in{'file'});
	while($line = <FILE>) {
		$line =~ s/href="([^"]+)"/href="view_kde.cgi?file=$dir\/$1"/ig;
		$line =~ s/href='([^']+)'/href='view_kde.cgi?file=$dir\/$1'/ig;
		$line =~ s/href=([^'"\s>]+)/href='view_kde.cgi?file=$dir\/$1'/ig;
		$line =~ s/src="([^"]+)"/src="view_kde.cgi?file=$dir\/$1"/ig;
		$line =~ s/src='([^']+)'/src='view_kde.cgi?file=$dir\/$1'/ig;
		$line =~ s/src=([^'"\s>]+)/src='view_kde.cgi?file=$dir\/$1'/ig;
		print $line;
		}
	close(FILE);
	print "</td></tr></table><p>\n";

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

   07070100015d82000081e40000000000000002000000013d1fe2dc000005d3000000200000000000000000000000000000001a00000003reloc/man/view_kernel.cgi #!/usr/local/bin/perl
# view_kernel.cgi
# View some kernel doc file

require './man-lib.pl';
&ReadParse();

$in{'file'} !~ /\.\./ ||
	&error($text{'kernel_epath'});
$in{'file'} !~ /[\\\&\;\`\'\"\|\*\?\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'kernel_epath'});
foreach $h (split(/\s+/, $config{'kernel_dir'})) {
	$ok++ if (substr($in{'file'}, 0, length($h)) eq $h);
	}
$ok || &error($text{'kernel_epath'});
-r $in{'file'} || &error($text{'kernel_epath'});

&header($text{'kernel_title'}, "");
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('kernel_header', $in{'file'}),
      "</b></td> </tr>\n";
print "<tr $cb> <td>";
open(FILE, $in{'file'});
read(FILE, $two, 2);
if ($two eq "\037\213") {
	close(FILE);
	open(FILE, "gunzip -c $in{'file'} |");
	}
seek(FILE, 0, 0);
if ($in{'file'} =~ /\.htm/i) {
	# Display HTML documentation
	($dir = $in{'file'}) =~ s/\/[^\/]+$//;
	while($line = <FILE>) {
		$line =~ s/href="([^"]+)"/href="view_doc.cgi?file=$dir\/$1"/ig;
		$line =~ s/href='([^']+)'/href='view_doc.cgi?file=$dir\/$1'/ig;
		$line =~ s/href=([^'"\s>]+)/href='view_doc.cgi?file=$dir\/$1'/ig;
		print $line;
		}
	}
else {
	# Display text file
	print "<pre>";
	@for = split(/\s+/, $in{'for'});
	while($line = <FILE>) {
		$line = &html_escape($line);
		foreach $f (@for) {
			$line =~ s/($f)/<b>$1<\/b>/ig;
			}
		print $line;
		}
	print "</pre>";
	}
close(FILE);
print "</td></tr></table><p>\n";



print "<hr>\n";
&footer("", $text{'index_return'});

 07070100015d83000081e40000000000000002000000013d1fe2dc00000859000000200000000000000000000000000000001700000003reloc/man/view_man.cgi    #!/usr/local/bin/perl
# view_man.cgi
# Display a single manual page

require './man-lib.pl';
&ReadParse();
&header($text{'man_title'}, "");
print "<hr>\n";

if (&has_command($config{'man2html_path'})) {
	$cmd = $in{'sec'} ? $config{'list_cmd_sect'}
			  : $config{'list_cmd'};
	}
else {
	$cmd = $in{'sec'} ? $config{'man_cmd_sect'}
			  : $config{'man_cmd'};
	}
$in{'page'} =~ s/\\/\\\\/g;
$in{'page'} =~ s/'/\\'/g;
$cmd =~ s/PAGE/'$in{'page'}'/;
if ($config{'strip_letters'}) {
	$in{'sec'} =~ s/^(\d+).*$/$1/;
	}
$cmd =~ s/SECTION/"$in{'sec'}"/;
if ($in{'opts'}) {
	$ENV{'MANPATH'} .= $config{'man_dir'}.':'.$in{'opts'};
	}
$out = `$cmd 2>&1`;
if ($out =~ /^.*no manual entry/i || $out =~ /^.*no entry/i ||
    $out =~ /^.*nothing appropriate/i) {
	print "<p><b>",&text('man_noentry', "<tt>$in{'page'}</tt>"),
	      "</b><p>\n";
	}
else {
	if (&has_command($config{'man2html_path'})) {
		$out =~ s/ .*//;
		$out =~ s/\n//;
		if( $out =~ /^.*\.gz/i ) {
			$cmd = "gunzip -c";
			}
		elsif ($out =~ /^.*\.bz2/i) {
			$cmd = "bunzip2 -c";
			}
		else {
			$cmd = "cat";
			}
		$cmd .= " $out | $config{'man2html_path'} -H \"\" -M \"view_man.cgi\"";
		$out = `$cmd 2>&1`;
		$out =~ s/^.*Content-type:.*\n//i;
		$out =~ s/http:\/\///ig;
		$out =~ s/\?/\?sec=/ig;
		$out =~ s/\+/&opts=$in{'opts'}&page=/ig;
		$out =~ s/<HTML>.*<BODY>//isg;
		$out =~ s/<\/HTML>//ig;
		$out =~ s/<\/BODY>//ig;
		$out =~ s/<A HREF="file:[^"]+">([^<]+)<\/a>/$1/ig;
		$out =~ s/<A HREF="view_man.cgi">/<A HREF=\"\">/i;
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>",&text('man_header', $in{'page'},
					       $in{'sec'}),"</b></td> </tr>\n";
		print "<tr $cb> <td>",$out,"</td> </tr>\n";
		print "</table>\n";
	} else {
		$out =~ s/.\010//g;
		$out =~ s/^(man:\s*)?(re)?formatting.*//i;
		$out =~ s/&/&amp;/g;
		$out =~ s/</&lt;/g;
		$out =~ s/>/&gt;/g;
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>",&text('man_header', $in{'page'},
					       $in{'sec'}),"</b></td> </tr>\n";
		print "<tr $cb> <td><pre>",$out,"</pre></td> </tr>\n";
		print "</table><p>\n";
		}
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100015d84000081e40000000000000002000000013d1fe2dc000002c4000000200000000000000000000000000000001800000003reloc/man/view_perl.cgi   #!/usr/local/bin/perl
# view_perl.cgi
# View perl module documentation

require './man-lib.pl';
&ReadParse();

$in{'mod'} !~ /[\\\&\;\`\'\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r]/ ||
	&error($text{'perl_emod'});

&header($text{'perl_title'}, "");
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('perl_header', $in{'mod'}),"</b></td> </tr>\n";
print "<tr $cb> <td><pre>";
@for = split(/\s+/, $in{'for'});
open(DOC, "$perl_doc -t $in{'mod'} |");
while($line = <DOC>) {
	$line = &html_escape($line);
	foreach $f (@for) {
		$line =~ s/($f)/<b>$1<\/b>/ig;
		}
	print $line;
	}
close(DOC);
print "</pre></td></tr></table><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003e27b000081e40000000000000002000000013d1fe2b700002c35000000200000000000000000000000000000001100000003reloc/mime.types  # This is a comment. I love comments.

# This file controls what Internet media types are sent to the client for
# given file extension(s).  Sending the correct media type to the client
# is important so they know how to handle the content of the file.
# Extra types can either be added here or by using an AddType directive
# in your config files. For more information about Internet media types,
# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
# registry is at <ftp://ftp.iana.org/in-notes/iana/assignments/media-types/>.

# MIME type			Extension
application/EDI-Consent
application/EDI-X12
application/EDIFACT
application/activemessage
application/andrew-inset	ez
application/applefile
application/atomicmail
application/batch-SMTP
application/cals-1840
application/commonground
application/cybercash
application/dca-rft
application/dec-dx
application/eshop
application/http
application/hyperstudio
application/iges
application/index
application/index.cmd
application/index.obj
application/index.response
application/index.vnd
application/iotp
application/ipp
application/mac-binhex40	hqx
application/mac-compactpro	cpt
application/macwriteii
application/marc
application/mathematica
application/mathematica-old
application/msword		doc
application/news-message-id
application/news-transmission
application/ocsp-request
application/ocsp-response
application/octet-stream	bin dms lha lzh exe class
application/oda			oda
application/pdf			pdf
application/pgp-encrypted
application/pgp-keys
application/pgp-signature
application/pkcs10
application/pkcs7-mime
application/pkcs7-signature
application/pkix-cert
application/pkix-crl
application/pkixcmp
application/postscript		ai eps ps
application/prs.alvestrand.titrax-sheet
application/prs.cww
application/prs.nprend
application/remote-printing
application/riscos
application/sdp
application/set-payment
application/set-payment-initiation
application/set-registration
application/set-registration-initiation
application/sgml
application/sgml-open-catalog
application/slate
application/smil		smi smil
application/vemmi
application/vnd.3M.Post-it-Notes
application/vnd.FloGraphIt
application/vnd.accpac.simply.aso
application/vnd.accpac.simply.imp
application/vnd.acucobol
application/vnd.anser-web-certificate-issue-initiation
application/vnd.anser-web-funds-transfer-initiation
application/vnd.audiograph
application/vnd.businessobjects
application/vnd.bmi
application/vnd.canon-cpdl
application/vnd.canon-lips
application/vnd.claymore
application/vnd.commerce-battelle
application/vnd.commonspace
application/vnd.comsocaller
application/vnd.contact.cmsg
application/vnd.cosmocaller
application/vnd.cups-postscript
application/vnd.cups-raster
application/vnd.cups-raw
application/vnd.ctc-posml
application/vnd.cybank
application/vnd.dna
application/vnd.dpgraph
application/vnd.dxr
application/vnd.ecdis-update
application/vnd.ecowin.chart
application/vnd.ecowin.filerequest
application/vnd.ecowin.fileupdate
application/vnd.ecowin.series
application/vnd.ecowin.seriesrequest
application/vnd.ecowin.seriesupdate
application/vnd.enliven
application/vnd.epson.esf
application/vnd.epson.msf
application/vnd.epson.quickanime
application/vnd.epson.salt
application/vnd.epson.ssf
application/vnd.ericsson.quickcall
application/vnd.eudora.data
application/vnd.fdf
application/vnd.ffsns
application/vnd.framemaker
application/vnd.fujitsu.oasys
application/vnd.fujitsu.oasys2
application/vnd.fujitsu.oasys3
application/vnd.fujitsu.oasysgp
application/vnd.fujitsu.oasysprs
application/vnd.fujixerox.ddd
application/vnd.fujixerox.docuworks
application/vnd.fujixerox.docuworks.binder
application/vnd.fut-misnet
application/vnd.grafeq
application/vnd.groove-account
application/vnd.groove-identity-message
application/vnd.groove-injector
application/vnd.groove-tool-message
application/vnd.groove-tool-template
application/vnd.groove-vcard
application/vnd.hp-HPGL
application/vnd.hp-PCL
application/vnd.hp-PCLXL
application/vnd.hp-hpid
application/vnd.hp-hps
application/vnd.httphone
application/vnd.hzn-3d-crossword
application/vnd.ibm.MiniPay
application/vnd.ibm.modcap
application/vnd.informix-visionary
application/vnd.intercon.formnet
application/vnd.intertrust.digibox
application/vnd.intertrust.nncp
application/vnd.intu.qbo
application/vnd.intu.qfx
application/vnd.is-xpr
application/vnd.japannet-directory-service
application/vnd.japannet-jpnstore-wakeup
application/vnd.japannet-payment-wakeup
application/vnd.japannet-registration
application/vnd.japannet-registration-wakeup
application/vnd.japannet-setstore-wakeup
application/vnd.japannet-verification
application/vnd.japannet-verification-wakeup
application/vnd.koan
application/vnd.lotus-1-2-3
application/vnd.lotus-approach
application/vnd.lotus-freelance
application/vnd.lotus-notes
application/vnd.lotus-organizer
application/vnd.lotus-screencam
application/vnd.lotus-wordpro
application/vnd.mcd
application/vnd.mediastation.cdkey
application/vnd.meridian-slingshot
application/vnd.mif		mif
application/vnd.minisoft-hp3000-save
application/vnd.mitsubishi.misty-guard.trustweb
application/vnd.mobius.daf
application/vnd.mobius.dis
application/vnd.mobius.msl
application/vnd.mobius.plc
application/vnd.mobius.txf
application/vnd.motorola.flexsuite
application/vnd.motorola.flexsuite.adsi
application/vnd.motorola.flexsuite.fis
application/vnd.motorola.flexsuite.gotap
application/vnd.motorola.flexsuite.kmr
application/vnd.motorola.flexsuite.ttc
application/vnd.motorola.flexsuite.wem
application/vnd.mozilla.xul+xml
application/vnd.ms-artgalry
application/vnd.ms-asf
application/vnd.ms-excel	xls
application/vnd.ms-lrm
application/vnd.ms-powerpoint	ppt
application/vnd.ms-project
application/vnd.ms-tnef
application/vnd.ms-works
application/vnd.msign
application/vnd.music-niff
application/vnd.musician
application/vnd.netfpx
application/vnd.noblenet-directory
application/vnd.noblenet-sealer
application/vnd.noblenet-web
application/vnd.novadigm.EDM
application/vnd.novadigm.EDX
application/vnd.novadigm.EXT
application/vnd.osa.netdeploy
application/vnd.pg.format
application/vnd.pg.osasli
application/vnd.powerbuilder6
application/vnd.powerbuilder6-s
application/vnd.powerbuilder7
application/vnd.powerbuilder7-s
application/vnd.powerbuilder75
application/vnd.powerbuilder75-s
application/vnd.previewsystems.box
application/vnd.publishare-delta-tree
application/vnd.rapid
application/vnd.s3sms
application/vnd.seemail
application/vnd.shana.informed.formdata
application/vnd.shana.informed.formtemplate
application/vnd.shana.informed.interchange
application/vnd.shana.informed.package
application/vnd.street-stream
application/vnd.svd
application/vnd.swiftview-ics
application/vnd.triscape.mxs
application/vnd.trueapp
application/vnd.truedoc
application/vnd.ufdl
application/vnd.uplanet.alert
application/vnd.uplanet.alert-wbxml
application/vnd.uplanet.bearer-choi-wbxml
application/vnd.uplanet.bearer-choice
application/vnd.uplanet.cacheop
application/vnd.uplanet.cacheop-wbxml
application/vnd.uplanet.channel
application/vnd.uplanet.channel-wbxml
application/vnd.uplanet.list
application/vnd.uplanet.list-wbxml
application/vnd.uplanet.listcmd
application/vnd.uplanet.listcmd-wbxml
application/vnd.uplanet.signal
application/vnd.vcx
application/vnd.vectorworks
application/vnd.visio
application/vnd.wap.sic
application/vnd.wap.slc
application/vnd.wap.wbxml	wbxml
application/vnd.wap.wmlc	wmlc
application/vnd.wap.wmlscriptc	wmlsc
application/vnd.webturbo
application/vnd.wrq-hp3000-labelled
application/vnd.wt.stf
application/vnd.xara
application/vnd.xfdl
application/vnd.yellowriver-custom-menu
application/whoispp-query
application/whoispp-response
application/wita
application/wordperfect5.1
application/x-bcpio		bcpio
application/x-cdlink		vcd
application/x-chess-pgn		pgn
application/x-compress
application/x-cpio		cpio
application/x-csh		csh
application/x-director		dcr dir dxr
application/x-dvi		dvi
application/x-futuresplash	spl
application/x-gtar		gtar
application/x-gzip
application/x-hdf		hdf
application/x-javascript	js
application/x-koan		skp skd skt skm
application/x-latex		latex
application/x-netcdf		nc cdf
application/x-sh		sh
application/x-shar		shar
application/x-shockwave-flash	swf
application/x-stuffit		sit
application/x-sv4cpio		sv4cpio
application/x-sv4crc		sv4crc
application/x-tar		tar
application/x-tcl		tcl
application/x-tex		tex
application/x-texinfo		texinfo texi
application/x-troff		t tr roff
application/x-troff-man		man
application/x-troff-me		me
application/x-troff-ms		ms
application/x-ustar		ustar
application/x-wais-source	src
application/x400-bp
application/xml
application/zip			zip
audio/32kadpcm
audio/basic			au snd
audio/l16
audio/midi			mid midi kar
audio/mpeg			mpga mp2 mp3
audio/prs.sid
audio/telephone-event
audio/tone
audio/vnd.cns.anp1
audio/vnd.cns.inf1
audio/vnd.digital-winds
audio/vnd.everad.plj
audio/vnd.lucent.voice
audio/vnd.nortel.vbk
audio/vnd.nuera.ecelp4800
audio/vnd.nuera.ecelp7470
audio/vnd.octel.sbc
audio/vnd.qcelp
audio/vnd.rhetorex.32kadpcm
audio/vnd.vmx.cvsd
audio/x-aiff			aif aiff aifc
audio/x-pn-realaudio		ram rm
audio/x-pn-realaudio-plugin	rpm
audio/x-realaudio		ra
audio/x-wav			wav
chemical/x-pdb			pdb
chemical/x-xyz			xyz
image/bmp			bmp
image/cgm
image/g3fax
image/gif			gif
image/ief			ief
image/jpeg			jpeg jpg jpe
image/naplps
image/png			png
image/prs.btif
image/prs.pti
image/tiff			tiff tif
image/vnd.cns.inf2
image/vnd.dwg
image/vnd.dxf
image/vnd.fastbidsheet
image/vnd.fpx
image/vnd.fst
image/vnd.fujixerox.edmics-mmr
image/vnd.fujixerox.edmics-rlc
image/vnd.mix
image/vnd.net-fpx
image/vnd.svf
image/vnd.wap.wbmp		wbmp
image/vnd.xiff
image/x-cmu-raster		ras
image/x-portable-anymap		pnm
image/x-portable-bitmap		pbm
image/x-portable-graymap	pgm
image/x-portable-pixmap		ppm
image/x-rgb			rgb
image/x-xbitmap			xbm
image/x-xpixmap			xpm
image/x-xwindowdump		xwd
message/delivery-status
message/disposition-notification
message/external-body
message/http
message/news
message/partial
message/rfc822
message/s-http
model/iges			igs iges
model/mesh			msh mesh silo
model/vnd.dwf
model/vnd.flatland.3dml
model/vnd.gdl
model/vnd.gs-gdl
model/vnd.gtw
model/vnd.mts
model/vnd.vtu
model/vrml			wrl vrml
multipart/alternative
multipart/appledouble
multipart/byteranges
multipart/digest
multipart/encrypted
multipart/form-data
multipart/header-set
multipart/mixed
multipart/parallel
multipart/related
multipart/report
multipart/signed
multipart/voice-message
text/calendar
text/css			css
text/directory
text/enriched
text/html			html htm
text/plain			asc txt
text/prs.lines.tag
text/rfc822-headers
text/richtext			rtx
text/rtf			rtf
text/sgml			sgml sgm
text/tab-separated-values	tsv
text/t140
text/uri-list
text/vnd.DMClientScript
text/vnd.IPTC.NITF
text/vnd.IPTC.NewsML
text/vnd.abc
text/vnd.curl
text/vnd.flatland.3dml
text/vnd.fly
text/vnd.fmi.flexstor
text/vnd.in3d.3dml
text/vnd.in3d.spot
text/vnd.latex-z
text/vnd.motorola.reflex
text/vnd.ms-mediapackage
text/vnd.wap.si
text/vnd.wap.sl
text/vnd.wap.wml		wml
text/vnd.wap.wmlscript		wmls
text/x-setext			etx
text/xml			xml
video/mpeg			mpeg mpg mpe
video/pointer
video/quicktime			qt mov
video/vnd.fvt
video/vnd.motorola.video
video/vnd.motorola.videop
video/vnd.vivo
video/x-msvideo			avi
video/x-sgi-movie		movie
x-conference/x-cooltalk		ice
   0707010003e27c000081a40000000000000002000000013d1fe2b7000003ce000000200000000000000000000000000000001300000003reloc/miniserv.pem    -----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBANaRBV7X6DWUbTm8KBjjHx4CAHVSQCmei8QIwruVPngwOkEhsgzf
IT1IY6jyY3QM6a4ASl7xokoy5U4QZ8E/q40CAwEAAQJBAIwMLA0zr4UJVCGTBjj4
RZ84f0QUY3zG10Mk1LXLO/MFlRol+640x/PB76fPKP+Gx+88s8F6lcx7uV+jB0bM
F6ECIQD3aYxjgxLinAmTjZf5gJDm/5LeEogML7nJ+aXJs8oAFwIhAN4DnKUfjiim
pOowhaRqy8b9fjXG8L+SG/+KcZDsWzP7AiBO2gXTRVgEfwSSUUNJUo9b/8I4IqHX
eHJ3C6ip8zIC+wIgdhsVygHvblC4ip0le0IVBdb0vUcH6+GeY2MS5zXVjuECIEP0
GLnMXcQ02f8rQz0eeBYVHTNXKRMesgo3ZNcpDB2k
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIBNTCB4AIBADANBgkqhkiG9w0BAQQFADAmMRgwFgYDVQQKEw9XZWJtaW4gU29m
dHdhcmUxCjAIBgNVBAMUASowHhcNOTgwMTAzMTAzNDUwWhcNMDcxMDAzMTAzNDUw
WjAmMRgwFgYDVQQKEw9XZWJtaW4gU29mdHdhcmUxCjAIBgNVBAMUASowXDANBgkq
hkiG9w0BAQEFAANLADBIAkEA1pEFXtfoNZRtObwoGOMfHgIAdVJAKZ6LxAjCu5U+
eDA6QSGyDN8hPUhjqPJjdAzprgBKXvGiSjLlThBnwT+rjQIDAQABMA0GCSqGSIb3
DQEBBAUAA0EAFCoYeLlWcClpv2sSc7zIchsMR3DKeH/O1ZtfEezzkaonre78HeYV
wSQvuoVleb7A497TFcSB6+FON6azoVqPyQ==
-----END CERTIFICATE-----
  0707010003e27d000081e40000000000000002000000013d1fe2b70000d591000000200000000000000000000000000000001200000003reloc/miniserv.pl #!/usr/local/bin/perl
# A very simple perl web server used by Webmin

# Require basic libraries
package miniserv;
use Socket;
use POSIX;

# Find and read config file
if (@ARGV != 1) {
	die "Usage: miniserv.pl <config file>";
	}
if ($ARGV[0] =~ /^\//) {
	$conf = $ARGV[0];
	}
else {
	chop($pwd = `pwd`);
	$conf = "$pwd/$ARGV[0]";
	}
open(CONF, $conf) || die "Failed to open config file $conf : $!";
while(<CONF>) {
	s/\r|\n//g;
	if (/^#/ || !/\S/) { next; }
	/^([^=]+)=(.*)$/;
	$name = $1; $val = $2;
	$name =~ s/^\s+//g; $name =~ s/\s+$//g;
	$val =~ s/^\s+//g; $val =~ s/\s+$//g;
	$config{$name} = $val;
	}
close(CONF);

# Check is SSL is enabled and available
if ($config{'ssl'}) {
	eval "use Net::SSLeay";
	if (!$@) {
		$use_ssl = 1;
		# These functions only exist for SSLeay 1.0
		eval "Net::SSLeay::SSLeay_add_ssl_algorithms()";
		eval "Net::SSLeay::load_error_strings()";
		if (defined(&Net::SSLeay::X509_STORE_CTX_get_current_cert) &&
		    defined(&Net::SSLeay::CTX_load_verify_locations) &&
		    defined(&Net::SSLeay::CTX_set_verify)) {
			$client_certs = 1;
			}
		}
	}

# Check if the syslog module is available to log hacking attempts
if ($config{'syslog'}) {
	eval "use Sys::Syslog qw(:DEFAULT setlogsock)";
	if (!$@) {
		$use_syslog = 1;
		}
	}

# check if the TCP-wrappers module is available
if ($config{'libwrap'}) {
	eval "use Authen::Libwrap qw(hosts_ctl STRING_UNKNOWN)";
	if (!$@) {
		$use_libwrap = 1;
		}
	}

# Get miniserv's perl path and location
$miniserv_path = $0;
open(SOURCE, $miniserv_path);
<SOURCE> =~ /^#!(\S+)/; $perl_path = $1;
close(SOURCE);
@miniserv_argv = @ARGV;

# Check vital config options
%vital = ("port", 80,
	  "root", "./",
	  "server", "MiniServ/0.01",
	  "index_docs", "index.html index.htm index.cgi",
	  "addtype_html", "text/html",
	  "addtype_txt", "text/plain",
	  "addtype_gif", "image/gif",
	  "addtype_jpg", "image/jpeg",
	  "addtype_jpeg", "image/jpeg",
	  "realm", "MiniServ",
	  "session_login", "/session_login.cgi",
	  "maxconns", 50,
	  "pam", "webmin",
	  "sidname", "sid",
	  "unauth", "/unauthenticated/"
	 );
foreach $v (keys %vital) {
	if (!$config{$v}) {
		if ($vital{$v} eq "") {
			die "Missing config option $v";
			}
		$config{$v} = $vital{$v};
		}
	}
if (!$config{'sessiondb'}) {
	$config{'pidfile'} =~ /^(.*)\/[^\/]+$/;
	$config{'sessiondb'} = "$1/sessiondb";
	}
$sidname = $config{'sidname'};
die "Session authentication cannot be used in inetd mode"
	if ($config{'inetd'} && $config{'session'});

# check if the PAM module is available to authenticate
if (!$config{'no_pam'}) {
	eval "use Authen::PAM";
	if (!$@) {
		# check if the PAM authentication can be used by opening a
		# PAM handle
		if (ref($pamh = new Authen::PAM($config{'pam'}, "root",
						  \&pam_conv_func))) {
			$use_pam = 1;
			}
		}
	}

# init days and months for http_date
@weekday = ( "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" );
@month = ( "Jan", "Feb", "Mar", "Apr", "May", "Jun",
	   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" );

# Change dir to the server root
chdir($config{'root'});
$user_homedir = (getpwuid($<))[7];

# Read users file
if ($config{'userfile'}) {
	open(USERS, $config{'userfile'});
	while(<USERS>) {
		s/\r|\n//g;
		local @user = split(/:/, $_);
		$users{$user[0]} = $user[1];
		$certs{$user[0]} = $user[3] if ($user[3]);
		if ($user[4] =~ /^allow\s+(.*)/) {
			$allow{$user[0]} = $config{'alwaysresolve'} ?
				[ split(/\s+/, $1) ] :
				[ &to_ipaddress(split(/\s+/, $1)) ];
			}
		elsif ($user[4] =~ /^deny\s+(.*)/) {
			$deny{$user[0]} = $config{'alwaysresolve'} ?
				[ split(/\s+/, $1) ] :
				[ &to_ipaddress(split(/\s+/, $1)) ];
			}
		}
	close(USERS);
	}

# Setup SSL if possible and if requested
if ($use_ssl) {
	$ssl_ctx = Net::SSLeay::CTX_new() ||
		die "Failed to create SSL context : $!";
	$client_certs = 0 if (!$config{'ca'} || !%certs);
	if ($client_certs) {
		Net::SSLeay::CTX_load_verify_locations(
			$ssl_ctx, $config{'ca'}, "");
		Net::SSLeay::CTX_set_verify(
			$ssl_ctx, &Net::SSLeay::VERIFY_PEER, \&verify_client);
		}

	Net::SSLeay::CTX_use_RSAPrivateKey_file(
		$ssl_ctx, $config{'keyfile'},
		&Net::SSLeay::FILETYPE_PEM) || die "Failed to open SSL key";
	Net::SSLeay::CTX_use_certificate_file(
		$ssl_ctx, $config{'keyfile'},
		&Net::SSLeay::FILETYPE_PEM);
	}

# Setup syslog support if possible and if requested
if ($use_syslog) {
	eval 'openlog($config{"pam"}, "cons,pid,ndelay", "authpriv"); setlogsock("unix")';
	if ($@) {
		$use_syslog = 0;
		}
	else {
		eval { syslog("info", ucfirst($config{'pam'})." starting"); };
		if ($@) {
			setlogsock("inet");
			syslog("info", ucfirst($config{'pam'})." starting");
			}
		}
	}

# Read MIME types file and add extra types
if ($config{"mimetypes"} ne "") {
	open(MIME, $config{"mimetypes"});
	while(<MIME>) {
		chop; s/#.*$//;
		if (/^(\S+)\s+(.*)$/) {
			$type = $1; @exts = split(/\s+/, $2);
			foreach $ext (@exts) {
				$mime{$ext} = $type;
				}
			}
		}
	close(MIME);
	}
foreach $k (keys %config) {
	if ($k !~ /^addtype_(.*)$/) { next; }
	$mime{$1} = $config{$k};
	}
	
# get the time zone
if ($config{'log'}) {
	local(@gmt, @lct, $days, $hours, $mins);
	@make_date_marr = ("Jan", "Feb", "Mar", "Apr", "May", "Jun",
		 	   "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	@gmt = gmtime(time());
	@lct = localtime(time());
	$days = $lct[3] - $gmt[3];
	$hours = ($days < -1 ? 24 : 1 < $days ? -24 : $days * 24) +
		 $lct[2] - $gmt[2];
	$mins = $hours * 60 + $lct[1] - $gmt[1];
	$timezone = ($mins < 0 ? "-" : "+"); $mins = abs($mins);
	$timezone .= sprintf "%2.2d%2.2d", $mins/60, $mins%60;
	}

# build anonymous access list
foreach $a (split(/\s+/, $config{'anonymous'})) {
	if ($a =~ /^([^=]+)=(\S+)$/) {
		$anonymous{$1} = $2;
		}
	}

if ($config{'inetd'}) {
	# We are being run from inetd - go direct to handling the request
	$SIG{'HUP'} = 'IGNORE';
	$SIG{'TERM'} = 'DEFAULT';
	$SIG{'PIPE'} = 'DEFAULT';
	open(SOCK, "+>&STDIN");

	# Check if it is time for the logfile to be cleared
	if ($config{'logclear'}) {
		local $write_logtime = 0;
		local @st = stat("$config{'logfile'}.time");
		if (@st) {
			if ($st[9]+$config{'logtime'}*60*60 < time()){
				# need to clear log
				$write_logtime = 1;
				unlink($config{'logfile'});
				}
			}
		else { $write_logtime = 1; }
		if ($write_logtime) {
			open(LOGTIME, ">$config{'logfile'}.time");
			print LOGTIME time(),"\n";
			close(LOGTIME);
			}
		}

	# Initialize SSL for this connection
	if ($use_ssl) {
		$ssl_con = Net::SSLeay::new($ssl_ctx);
		Net::SSLeay::set_fd($ssl_con, fileno(SOCK));
		#Net::SSLeay::use_RSAPrivateKey_file(
		#	$ssl_con, $config{'keyfile'},
		#	&Net::SSLeay::FILETYPE_PEM);
		#Net::SSLeay::use_certificate_file(
		#	$ssl_con, $config{'keyfile'},
		#	&Net::SSLeay::FILETYPE_PEM);
		Net::SSLeay::accept($ssl_con) || exit;
		}

	# Work out the hostname for this web server
	if (!$config{'host'}) {
		($myport, $myaddr) =
			unpack_sockaddr_in(getsockname(SOCK));
		$myname = gethostbyaddr($myaddr, AF_INET);
		if ($myname eq "") {
			$myname = inet_ntoa($myaddr);
			}
		$host = $myname;
		}
	else { $host = $config{'host'}; }
	$port = $config{'port'};

	while(&handle_request(getpeername(SOCK), getsockname(SOCK))) { }
	close(SOCK);
	exit;
	}

# Open main socket
$proto = getprotobyname('tcp');
socket(MAIN, PF_INET, SOCK_STREAM, $proto) ||
	die "Failed to open main socket : $!";
setsockopt(MAIN, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
$baddr = $config{"bind"} ? inet_aton($config{"bind"}) : INADDR_ANY;
for($i=0; $i<5; $i++) {
	last if (bind(MAIN, sockaddr_in($config{port}, $baddr)));
	sleep(1);
	}
die "Failed to bind port $config{port} : $!" if ($i == 5);
listen(MAIN, SOMAXCONN);

if ($config{'listen'}) {
	# Open the socket that allows other webmin servers to find this one
	$proto = getprotobyname('udp');
	if (socket(LISTEN, PF_INET, SOCK_DGRAM, $proto)) {
		setsockopt(LISTEN, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
		bind(LISTEN, sockaddr_in($config{'listen'}, INADDR_ANY));
		listen(LISTEN, SOMAXCONN);
		}
	else {
		$config{'listen'} = 0;
		}
	}


# Split from the controlling terminal
if (fork()) { exit; }
setsid();

# write out the PID file
open(PIDFILE, "> $config{'pidfile'}");
printf PIDFILE "%d\n", getpid();
close(PIDFILE);

# Start the log-clearing process, if needed. This checks every minute
# to see if the log has passed its reset time, and if so clears it
if ($config{'logclear'}) {
	if (!($logclearer = fork())) {
		while(1) {
			local $write_logtime = 0;
			local @st = stat("$config{'logfile'}.time");
			if (@st) {
				if ($st[9]+$config{'logtime'}*60*60 < time()){
					# need to clear log
					$write_logtime = 1;
					unlink($config{'logfile'});
					}
				}
			else { $write_logtime = 1; }
			if ($write_logtime) {
				open(LOGTIME, ">$config{'logfile'}.time");
				print LOGTIME time(),"\n";
				close(LOGTIME);
				}
			sleep(5*60);
			}
		exit;
		}
	push(@childpids, $logclearer);
	}

# Setup the logout time dbm if needed
if ($config{'session'}) {
	eval "use SDBM_File";
	dbmopen(%sessiondb, $config{'sessiondb'}, 0700);
	eval { $sessiondb{'1111111111'} = 'foo bar' };
	if ($@) {
		dbmclose(%sessiondb);
		eval "use NDBM_File";
		dbmopen(%sessiondb, $config{'sessiondb'}, 0700);
		}
	}

# Run the main loop
$SIG{'HUP'} = 'miniserv::trigger_restart';
$SIG{'TERM'} = 'miniserv::term_handler';
$SIG{'PIPE'} = 'IGNORE';
@deny = split(/\s+/, $config{"deny"});
@deny = &to_ipaddress(@deny) if (!$config{'alwaysresolve'});
@allow = split(/\s+/, $config{"allow"});
@allow = &to_ipaddress(@allow) if (!$config{'alwaysresolve'});
if ($config{'allowusers'}) {
	@allowusers = split(/\s+/, $config{'allowusers'});
	}
elsif ($config{'denyusers'}) {
	@denyusers = split(/\s+/, $config{'denyusers'});
	}
$p = 0;
while(1) {
	# wait for a new connection, or a message from a child process
	undef($rmask);
	vec($rmask, fileno(MAIN), 1) = 1;
	if ($config{'passdelay'} || $config{'session'}) {
		for($i=0; $i<@passin; $i++) {
			vec($rmask, fileno($passin[$i]), 1) = 1;
			}
		}
	vec($rmask, fileno(LISTEN), 1) = 1 if ($config{'listen'});

	local $sel = select($rmask, undef, undef, 10);
	if ($need_restart) { &restart_miniserv(); }
	local $time_now = time();

	# Clean up finished processes
	local($pid);
	do {	$pid = waitpid(-1, WNOHANG);
		@childpids = grep { $_ != $pid } @childpids;
		} while($pid > 0);

	# run the unblocking procedure to check if enough time has passed to
	# unblock hosts that heve been blocked because of password failures
	if ($config{'blockhost_failures'}) {
		$i = 0;
		while ($i <= $#deny) {
			if ($blockhosttime{$deny[$i]} && $config{'blockhost_time'} != 0 &&
			    ($time_now - $blockhosttime{$deny[$i]}) >= $config{'blockhost_time'}) {
				# the host can be unblocked now
				$hostfail{$deny[$i]} = 0;
				splice(@deny, $i, 1);
				}
			$i++;
			}
		}

	if ($config{'session'}) {
		# Remove sessions with more than 7 days of inactivity
		foreach $s (keys %sessiondb) {
			local ($user, $ltime) = split(/\s+/, $sessiondb{$s});
			if ( ($time_now - $ltime > 7*24*60*60) 
			  or ( ($config{'logouttime'}) &&
			       ($time_now - $ltime > $config{'logouttime'}*60))) {
				delete($sessiondb{$s});
				}
			}
		}
	next if ($sel <= 0);

	if (vec($rmask, fileno(MAIN), 1) && @childpids <= $config{'maxconns'}) {

		# got new connection
		$acptaddr = accept(SOCK, MAIN);
		if (!$acptaddr) { next; }

		# create pipes
		if ($config{'passdelay'} || $config{'session'}) {
			$PASSINr = "PASSINr$p"; $PASSINw = "PASSINw$p";
			$PASSOUTr = "PASSOUTr$p"; $PASSOUTw = "PASSOUTw$p";
			$p++;
			pipe($PASSINr, $PASSINw);
			pipe($PASSOUTr, $PASSOUTw);
			select($PASSINw); $| = 1; select($PASSINr); $| = 1;
			select($PASSOUTw); $| = 1; select($PASSOUTw); $| = 1;
			}
		select(STDOUT);

		# Check username of connecting user
		local ($peerp, $peera) = unpack_sockaddr_in($acptaddr);
		$localauth_user = undef;
		if ($config{'localauth'} && inet_ntoa($peera) eq "127.0.0.1") {
			if (open(TCP, "/proc/net/tcp")) {
				# Get the info direct from the kernel
				while(<TCP>) {
					s/^\s+//;
					local @t = split(/[\s:]+/, $_);
					if ($t[1] eq '0100007F' &&
					    $t[2] eq sprintf("%4.4X", $peerp)) {
						$localauth_user = getpwuid($t[11]);
						last;
						}
					}
				close(TCP);
				}
			else {
				# Call lsof for the info
				local $lsofpid = open(LSOF,
					"$config{'localauth'} -i TCP\@127.0.0.1:$peerp |");
				while(<LSOF>) {
					if (/^(\S+)\s+(\d+)\s+(\S+)/ &&
					    $2 != $$ && $2 != $lsofpid) {
						$localauth_user = $3;
						}
					}
				close(LSOF);
				}
			}

		# fork the subprocess
		if (!($handpid = fork())) {
			# setup signal handlers
			$SIG{'TERM'} = 'DEFAULT';
			$SIG{'PIPE'} = 'DEFAULT';
			#$SIG{'CHLD'} = 'IGNORE';
			$SIG{'HUP'} = 'IGNORE';

			# Initialize SSL for this connection
			if ($use_ssl) {
				$ssl_con = Net::SSLeay::new($ssl_ctx);
				Net::SSLeay::set_fd($ssl_con, fileno(SOCK));
				#Net::SSLeay::use_RSAPrivateKey_file(
				#	$ssl_con, $config{'keyfile'},
				#	&Net::SSLeay::FILETYPE_PEM);
				#Net::SSLeay::use_certificate_file(
				#	$ssl_con, $config{'keyfile'},
				#	&Net::SSLeay::FILETYPE_PEM);
				Net::SSLeay::accept($ssl_con) || exit;
				}

			# close useless pipes
			if ($config{'passdelay'} || $config{'session'}) {
				foreach $p (@passin) { close($p); }
				foreach $p (@passout) { close($p); }
				close($PASSINr); close($PASSOUTw);
				}
			close(MAIN);

			# Work out the hostname for this web server
			if (!$config{'host'}) {
				($myport, $myaddr) =
					unpack_sockaddr_in(getsockname(SOCK));
				$myname = gethostbyaddr($myaddr, AF_INET);
				if ($myname eq "") {
					$myname = inet_ntoa($myaddr);
					}
				$host = $myname;
				}
			else { $host = $config{'host'}; }
			$port = $config{'port'};

			while(&handle_request($acptaddr, getsockname(SOCK))) { }
			shutdown(SOCK, 1);
			close(SOCK);
			close($PASSINw); close($PASSOUTw);
			exit;
			}
		push(@childpids, $handpid);
		if ($config{'passdelay'} || $config{'session'}) {
			close($PASSINw); close($PASSOUTr);
			push(@passin, $PASSINr); push(@passout, $PASSOUTw);
			}
		close(SOCK);
		}

	if ($config{'listen'} && vec($rmask, fileno(LISTEN), 1)) {
		# Got UDP packet from another webmin server
		local $rcvbuf;
		local $from = recv(LISTEN, $rcvbuf, 1024, 0);
		next if (!$from);
		local $fromip = inet_ntoa((unpack_sockaddr_in($from))[1]);
		local $toip = inet_ntoa((unpack_sockaddr_in(
					 getsockname(LISTEN)))[1]);
		if ((!@deny || !&ip_match($fromip, $toip, @deny)) &&
		    (!@allow || &ip_match($fromip, $toip, @allow))) {
			send(LISTEN, "$config{'host'}:$config{'port'}:".
				     "$use_ssl", 0, $from);
			}
		}

	# check for password-timeout messages from subprocesses
	for($i=0; $i<@passin; $i++) {
		if (vec($rmask, fileno($passin[$i]), 1)) {
			# this sub-process is asking about a password
			$infd = $passin[$i]; $outfd = $passout[$i];
			$inline = <$infd>;
			if ($inline =~ /^delay\s+(\S+)\s+(\S+)\s+(\d+)/) {
				# Got a delay request from a subprocess.. for
				# valid logins, there is no delay (to prevent
				# denial of service attacks), but for invalid
				# logins the delay increases with each failed
				# attempt.
				if ($3) {
					# login OK.. no delay
					print $outfd "0 0\n";
					$hostfail{$2} = 0;
					}
				else {
					# login failed..
					$hostfail{$2}++;
					# add the host to the block list if necessary
 					if ($config{'blockhost_failures'} &&
					    $hostfail{$2} >= $config{'blockhost_failures'}) {
						push(@deny, $2);					
						$blockhosttime{$2} = $time_now;
						$blocked = 1;
						if ($use_syslog) {
							local $logtext = "Security alert: Host $2 ".
							  "blocked after $config{'blockhost_failures'} ".
							  "failed logins for user $1";
							syslog("crit", $logtext);
							}
						}
					else {
						$blocked = 0;
						}
					$dl = $userdlay{$1} -
					      int(($time_now - $userlast{$1})/50);
					$dl = $dl < 0 ? 0 : $dl+1;
					print $outfd "$dl $blocked\n";
					$userdlay{$1} = $dl;
					}
				$userlast{$1} = $time_now;
				}
			elsif ($inline =~ /^verify\s+(\S+)/) {
				# Verifying a session ID
				local $session_id = $1;
				if (!defined($sessiondb{$session_id})) {
					print $outfd "0 0\n";
					}
				else {
					local ($user, $ltime) = split(/\s+/, $sessiondb{$session_id});
					if ($config{'logouttime'} &&
					    $time_now - $ltime > $config{'logouttime'}*60) {
						print $outfd "1 ",$time_now - $ltime,"\n";
						delete($sessiondb{$session_id});
						}
					else {
						print $outfd "2 $user\n";
						$sessiondb{$session_id} = "$user $time_now";
						}
					}
				}
			elsif ($inline =~ /^new\s+(\S+)\s+(\S+)/) {
				# Creating a new session
				$sessiondb{$1} = "$2 $time_now";
				}
			elsif ($inline =~ /^delete\s+(\S+)/) {
				# Logging out a session
				print $outfd $sessiondb{$1} ? 1 : 0,"\n";
				delete($sessiondb{$1});
				}
			else {
				# close pipe
				close($infd); close($outfd);
				$passin[$i] = $passout[$i] = undef;
				}
			}
		}
	@passin = grep { defined($_) } @passin;
	@passout = grep { defined($_) } @passout;
	}

# handle_request(remoteaddress, localaddress)
# Where the real work is done
sub handle_request
{
$acptip = inet_ntoa((unpack_sockaddr_in($_[0]))[1]);
$localip = $_[1] ? inet_ntoa((unpack_sockaddr_in($_[1]))[1]) : undef;
if ($config{'loghost'}) {
	$acpthost = gethostbyaddr(inet_aton($acptip), AF_INET);
	$acpthost = $acptip if (!$acpthost);
	}
else {
	$acpthost = $acptip;
	}
$datestr = &http_date(time());
$ok_code = 200;
$ok_message = "Document follows";
$logged_code = undef;

# Wait at most 60 secs for start of headers (but only for the first time)
if (!$checked_timeout) {
	local $rmask;
	vec($rmask, fileno(SOCK), 1) = 1;
	local $sel = select($rmask, undef, undef, 60);
	$sel || &http_error(400, "Timeout");
	$checked_timeout++;
	}

# Read the HTTP request and headers
local $origreqline = &read_line();
($reqline = $origreqline) =~ s/\r|\n//g;
if ($reqline !~ /^(GET|POST|HEAD)\s+(.*)\s+HTTP\/1\..$/) {
	if ($use_ssl) {
		# This could be an http request when it should be https
		$use_ssl = 0;
		local $url = "https://$host:$port/";
		&http_error(400, "Bad Request", "This web server is running in SSL mode. Try the URL <a href='$url'>$url</a> instead.<br>");
		}
	elsif (ord(substr($reqline, 0, 1)) == 128 && !$use_ssl) {
		# This could be an https request when it should be http ..
		# need to fake a HTTP response
		eval <<'EOF';
			use Net::SSLeay;
			eval "Net::SSLeay::SSLeay_add_ssl_algorithms()";
			eval "Net::SSLeay::load_error_strings()";
			$ssl_ctx = Net::SSLeay::CTX_new();
			Net::SSLeay::CTX_use_RSAPrivateKey_file(
				$ssl_ctx, $config{'keyfile'},
				&Net::SSLeay::FILETYPE_PEM);
			Net::SSLeay::CTX_use_certificate_file(
				$ssl_ctx, $config{'keyfile'},
				&Net::SSLeay::FILETYPE_PEM);
			$ssl_con = Net::SSLeay::new($ssl_ctx);
			pipe(SSLr, SSLw);
			if (!fork()) {
				close(SSLr);
				select(SSLw); $| = 1; select(STDOUT);
				print SSLw $origreqline;
				local $buf;
				while(sysread(SOCK, $buf, 1) > 0) {
					print SSLw $buf;
					}
				close(SOCK);
				exit;
				}
			close(SSLw);
			Net::SSLeay::set_wfd($ssl_con, fileno(SOCK));
			Net::SSLeay::set_rfd($ssl_con, fileno(SSLr));
			Net::SSLeay::accept($ssl_con) || die "accept() failed";
			$use_ssl = 1;
			local $url = "http://$host:$port/";
			&http_error(400, "Bad Request", "This web server is not running in SSL mode. Try the URL <a href='$url'>$url</a> instead.<br>");
EOF
		if ($@) {
			&http_error(400, "Bad Request");
			}
		}
	else {
		&http_error(400, "Bad Request");
		}
	}
$method = $1; $request_uri = $page = $2;
%header = ();
local $lastheader;
while(1) {
	($headline = &read_line()) =~ s/\r|\n//g;
	last if ($headline eq "");
	if ($headline =~ /^(\S+):\s*(.*)$/) {
		$header{$lastheader = lc($1)} = $2;
		}
	elsif ($headline =~ /^\s+(.*)$/) {
		$header{$lastheader} .= $headline;
		}
	else {
		&http_error(400, "Bad Header $headline");
		}
	}
if (defined($header{'host'})) {
	if ($header{'host'} =~ /^([^:]+):([0-9]+)$/) { $host = $1; $port = $2; }
	else { $host = $header{'host'}; }
	}
undef(%in);
if ($page =~ /^([^\?]+)\?(.*)$/) {
	# There is some query string information
	$page = $1;
	$querystring = $2;
	if ($querystring !~ /=/) {
		$queryargs = $querystring;
		$queryargs =~ s/\+/ /g;
    		$queryargs =~ s/%(..)/pack("c",hex($1))/ge;
		$querystring = "";
		}
	else {
		# Parse query-string parameters
		local @in = split(/\&/, $querystring);
		foreach $i (@in) {
			local ($k, $v) = split(/=/, $i, 2);
			$k =~ s/\+/ /g; $k =~ s/%(..)/pack("c",hex($1))/ge;
			$v =~ s/\+/ /g; $v =~ s/%(..)/pack("c",hex($1))/ge;
			$in{$k} = $v;
			}
		}
	}
$posted_data = undef;
if ($method eq 'POST' &&
    $header{'content-type'} eq 'application/x-www-form-urlencoded') {
	# Read in posted query string information
	$clen = $header{"content-length"};
	while(length($posted_data) < $clen) {
		$buf = &read_data($clen - length($posted_data));
		if (!length($buf)) {
			&http_error(500, "Failed to read POST request");
			}
		chomp($posted_data);
		$posted_data =~ s/\015$//mg;
		$posted_data .= $buf;
		}
	#$posted_data =~ s/\r|\n//g;	# some browsers do this?
	$posted_data = substr($posted_data, 0, $clen)
		if (length($posted_data) > $clen);
	local @in = split(/\&/, $posted_data);
	foreach $i (@in) {
		local ($k, $v) = split(/=/, $i, 2);
		$k =~ s/\+/ /g; $k =~ s/%(..)/pack("c",hex($1))/ge;
		$v =~ s/\+/ /g; $v =~ s/%(..)/pack("c",hex($1))/ge;
		$in{$k} = $v;
		}
	}

# replace %XX sequences in page
$page =~ s/%(..)/pack("c",hex($1))/ge;

# check address against access list
if (@deny && &ip_match($acptip, $localip, @deny) ||
    @allow && !&ip_match($acptip, $localip, @allow)) {
	&http_error(403, "Access denied for $acptip");
	return 0;
	}

if ($use_libwrap) {
	# Check address with TCP-wrappers
	if (!hosts_ctl($config{'pam'}, STRING_UNKNOWN, $acptip, STRING_UNKNOWN)) {
		&http_error(403, "Access denied for $acptip");
		return 0;
		}
	}

# check for the logout flag file, and if existant deny authentication
if ($config{'logout'} && -r $config{'logout'}.$in{'miniserv_logout_id'}) {
	$deny_authentication++;
	open(LOGOUT, $config{'logout'}.$in{'miniserv_logout_id'});
	chop($count = <LOGOUT>);
	close(LOGOUT);
	$count--;
	if ($count > 0) {
		open(LOGOUT, ">$config{'logout'}$in{'miniserv_logout_id'}");
		print LOGOUT "$count\n";
		close(LOGOUT);
		}
	else {
		unlink($config{'logout'}.$in{'miniserv_logout_id'});
		}
	}

# Check for password if needed
$simple = &simplify_path($page, $bogus);
if (!$bogus && $simple =~ /^$config{'unauth'}/) {
	# Unauthenticated directory request!
	}
elsif (%users) {
	$validated = 0;
	$blocked = 0;

	# Session authentication is never used for connections by
	# another webmin server
	if ($header{'user-agent'} =~ /webmin/i) {
		$config{'session'} = 0;
		}

	# check for SSL authentication
	if ($use_ssl && $verified_client) {
		$peername = Net::SSLeay::X509_NAME_oneline(
				Net::SSLeay::X509_get_subject_name(
					Net::SSLeay::get_peer_certificate(
						$ssl_con)));
		foreach $u (keys %certs) {
			if ($certs{$u} eq $peername) {
				$authuser = $u;
				$validated = 2;
				syslog("info", "SSL login as $in{'user'} from $acpthost") if ($use_syslog);
				last;
				}
			}
		}

	# Check for normal HTTP authentication
	if (!$validated && !$deny_authentication && !$config{'session'} &&
	    $header{authorization} =~ /^basic\s+(\S+)$/i) {
		# authorization given..
		($authuser, $authpass) = split(/:/, &b64decode($1));
		$validated = &validate_user($authuser, $authpass);
		if ($use_syslog) {
			if (!$validated) {
				syslog("crit", "Invalid login as $authuser from $acpthost");
			}
		}

		if ($config{'passdelay'} && !$config{'inetd'}) {
			# check with main process for delay
			print $PASSINw "delay $authuser $acptip $validated\n";
			<$PASSOUTr> =~ /(\d+) (\d+)/;
			$blocked = $2;
			sleep($1);
			}
		}

	# Check for new session validation
	if ($config{'session'} && !$deny_authentication && $page eq $config{'session_login'}) {
		if ($in{'user'} =~ /\r|\n/) {
			&http_error(500, "Invalid username",
				    "Username contains invalid characters");
			}

		local $ok = &validate_user($in{'user'}, $in{'pass'});

		# check if the test cookie is set
		if ($header{'cookie'} !~ /testing=1/ && $in{'user'}) {
			&http_error(500, "No cookies",
				    "Your browser does not support cookies, ".
				    "which are required for this web server to ".
				    "work in session authentication mode");
			}

		# check with main process for delay
		if ($config{'passdelay'} && $in{'user'}) {
			print $PASSINw "delay $in{'user'} $acptip $ok\n";
			<$PASSOUTr> =~ /(\d+) (\d+)/;
			$blocked = $2;
			sleep($1);
			}

		if ($ok) {
			# Logged in OK! Tell the main process about the new SID
			local $sid;
			$SIG{ALRM} = "miniserv::urandom_timeout";
			alarm(5);
			if (open(RANDOM, "/dev/urandom")) {
				my $tmpsid;
				if (read(RANDOM, $tmpsid, 16) == 16) {
					$sid = lc(unpack('h*', $tmpsid));
					}
				close(RANDOM);
				}
			alarm(0);
			if (!$sid) {
				$sid = time();
				local $mul = 1;
				foreach $c (split(//, crypt($in{'pass'}, substr($$, -2)))) {
					$sid += ord($c) * $mul;
					$mul *= 3;
					}
				}

			print $PASSINw "new $sid $in{'user'}\n";

			# Set cookie and redirect
			&write_data("HTTP/1.0 302 Moved Temporarily\r\n");
			&write_data("Date: $datestr\r\n");
			&write_data("Server: $config{'server'}\r\n");
			$portstr = $port == 80 && !$use_ssl ? "" :
				   $port == 443 && $use_ssl ? "" : ":$port";
			$prot = $use_ssl ? "https" : "http";
			if ($in{'save'}) {
				&write_data("Set-Cookie: $sidname=$sid; path=/; expires=\"Fri, 1-Jan-2038 00:00:01\"\r\n");
				}
			else {
				&write_data("Set-Cookie: $sidname=$sid; path=/\r\n");
				}
			&write_data("Location: $prot://$host$portstr$in{'page'}\r\n");
			&write_keep_alive(0);
			&write_data("\r\n");
			&log_request($acpthost, $authuser, $reqline, 302, 0);
			syslog("info", "Successful login as $in{'user'} from $acpthost") if ($use_syslog);
			return 0;
			}
		elsif ($in{'logout'} && $header{'cookie'} =~ /(^|\s)$sidname=([a-f0-9]{32}|\d+)/) {
			# Logout clicked .. remove the session
			print $PASSINw "delete $2\n";
			local $dummy = <$PASSINr>;
			$logout = 1;
			$already_session_id = undef;
			if ($use_syslog) {
				syslog("info", "Logout from $acpthost");
				}
			$authuser = $baseauthuser = undef;
			}
		else {
			# Login failed .. display the form again
			$failed_user = $in{'user'};
			$request_uri = $in{'page'};
			$already_session_id = undef;
			$method = "GET";
			$authuser = $baseauthuser = undef;
			syslog("crit", "Invalid login as $in{'user'} from $acpthost") if ($use_syslog);
			}
		}

	# Check for an existing session
	if ($config{'session'} && !$validated) {
		if ($already_session_id) {
			$session_id = $already_session_id;
			$authuser = $already_authuser;
			$validated = 1;
			}
		elsif (!$deny_authentication &&
		       $header{'cookie'} =~ /(^|\s)$sidname=([a-f0-9]{32}|\d+)/) {
			$session_id = $2;
			print $PASSINw "verify $session_id\n";
			<$PASSOUTr> =~ /(\d+)\s+(\S+)/;
			if ($1 == 2) {
				# Valid session continuation
				$validated = 1;
				$authuser = $2;
				$already_session_id = $session_id;
				$already_authuser = $authuser;
				}
			elsif ($1 == 1) {
				# Session timed out
				$timed_out = $2;
				}
			else {
				# Invalid session ID .. don't set verified
				}
			}
		}

	# Check for local authentication
	if ($localauth_user) {
		if (defined($users{$localauth_user})) {
			# Local user exists in webmin users file
			$validated = 1;
			$authuser = $localauth_user;
			syslog("info", "Local login as $authuser from $acpthost") if ($use_syslog);
			}
		elsif ($config{'unixauth'}) {
			# Local user must exist
			$validated = 2;
			$authuser = $localauth_user;
			syslog("info", "Local login as $authuser from $acpthost") if ($use_syslog);
			}
		else {
			$localauth_user = undef;
			}
		}

	if (!$validated) {
		# Check if this path allows anonymous access
		local $a;
		foreach $a (keys %anonymous) {
			if (substr($simple, 0, length($a)) eq $a) {
				# It does! Auth as the user ..
				$validated = 3;
				$baseauthuser = $authuser = $anonymous{$a};
				}
			}
		}

	if (!$validated) {
		if ($blocked == 0) {
			# No password given.. ask
			if ($config{'session'}) {
				# Force CGI for session login
				$validated = 1;
				if ($logout) {
					$querystring .= "&logout=1&page=/";
					}
				else {
					$querystring = "page=".&urlize($request_uri);
					}
				$method = "GET";
				$querystring .= "&failed=$failed_user" if ($failed_user);
				$querystring .= "&timed_out=$timed_out" if ($timed_out);
				$queryargs = "";
				$page = $config{'session_login'};
				$logged_code = 401;
				}
			else {
				# Ask for login with HTTP authentication
				&write_data("HTTP/1.0 401 Unauthorized\r\n");
				&write_data("Date: $datestr\r\n");
				&write_data("Server: $config{'server'}\r\n");
				&write_data("WWW-authenticate: Basic ".
					   "realm=\"$config{'realm'}\"\r\n");
				&write_keep_alive(0);
				&write_data("Content-type: text/html\r\n");
				&write_data("\r\n");
				&reset_byte_count();
				&write_data("<html>\n");
				&write_data("<head><title>Unauthorized</title></head>\n");
				&write_data("<body><h1>Unauthorized</h1>\n");
				&write_data("A password is required to access this\n");
				&write_data("web server. Please try again. <p>\n");
				&write_data("</body></html>\n");
				&log_request($acpthost, undef, $reqline, 401, &byte_count());
				return 0;
				}
			}
		else {
			# when the host has been blocked, give it an error message
			&http_error(403, "Access denied for $acptip. The host has been blocked "
				."because of too many authentication failures.");
			}
		}
	else {
		# If we are using unixauth, keep the 'real' username
		if ($config{'unixauth'} && !$users{$authuser}) {
			$baseauthuser = $config{'unixauth'};
			}
		else {
			$baseauthuser = $authuser;
			}

		if ($config{'remoteuser'} && !$< && $validated) {
			# Switch to the UID of the remote user (if he exists)
			local @u = getpwnam($authuser);
			if (@u && $< != $u[2]) {
				$( = $u[3]; $) = "$u[3] $u[3]";
				($>, $<) = ($u[2], $u[2]);
				}
			else {
				&http_error(500, "Unix user $authuser does not exist");
				return 0;
				}
			}
		}

	# Check per-user IP access control
	if ($deny{$baseauthuser} && &ip_match($acptip, $localip, @{$deny{$baseauthuser}}) ||
	    $allow{$baseauthuser} && !&ip_match($acptip, $localip, @{$allow{$baseauthuser}})) {
		&http_error(403, "Access denied for $acptip");
		return 0;
		}


	}

# Figure out what kind of page was requested
rerun:
$simple = &simplify_path($page, $bogus);
$simple =~ s/[\000-\037]//g;
if ($bogus) {
	&http_error(400, "Invalid path");
	}
undef($full);
local $preroot = $authuser && defined($config{'preroot_'.$authuser}) ?
			$config{'preroot_'.$authuser} :
		 $baseauthuser && defined($config{'preroot_'.$baseauthuser}) ?
		 	$config{'preroot_'.$baseauthuser} :
			$config{'preroot'};
if ($preroot) {
	# Always under the current webmin root
	$preroot =~ s/^.*\///g;
	$preroot = $config{'root'}.'/'.$preroot;
	}
if ($preroot) {
	# Look in the template root directory first
	$is_directory = 1;
	$sofar = "";
	$full = $preroot.$sofar;
	$scriptname = $simple;
	foreach $b (split(/\//, $simple)) {
		if ($b ne "") { $sofar .= "/$b"; }
		$full = $preroot.$sofar;
		@st = stat($full);
		if (!@st) { undef($full); last; }

		# Check if this is a directory
		if (-d $full) {
			# It is.. go on parsing
			$is_directory = 1;
			next;
			}
		else { $is_directory = 0; }

		# Check if this is a CGI program
		if (&get_type($full) eq "internal/cgi") {
			$pathinfo = substr($simple, length($sofar));
			$pathinfo .= "/" if ($page =~ /\/$/);
			$scriptname = $sofar;
			last;
			}
		}
	if ($full) {
		if ($sofar eq '') {
			$cgi_pwd = $config{'root'};
			}
		elsif ($is_directory) {
			$cgi_pwd = "$config{'root'}$sofar";
			}
		else {
			"$config{'root'}$sofar" =~ /^(.*\/)[^\/]+$/;
			$cgi_pwd = $1;
			}
		if ($is_directory) {
			# Check for index files in the directory
			foreach $idx (split(/\s+/, $config{"index_docs"})) {
				$idxfull = "$full/$idx";
				if (-r $idxfull && !(-d $idxfull)) {
					$full = $idxfull;
					$is_directory = 0;
					$scriptname .= "/"
						if ($scriptname ne "/");
					last;
					}
				}
			}
		}
	}
if (!$full || $is_directory) {
	$sofar = "";
	$full = $config{"root"} . $sofar;
	$scriptname = $simple;
	foreach $b (split(/\//, $simple)) {
		if ($b ne "") { $sofar .= "/$b"; }
		$full = $config{"root"} . $sofar;
		@st = stat($full);
		if (!@st) { &http_error(404, "File not found"); }

		# Check if this is a directory
		if (-d $full) {
			# It is.. go on parsing
			next;
			}

		# Check if this is a CGI program
		if (&get_type($full) eq "internal/cgi") {
			$pathinfo = substr($simple, length($sofar));
			$pathinfo .= "/" if ($page =~ /\/$/);
			$scriptname = $sofar;
			last;
			}
		}
	$full =~ /^(.*\/)[^\/]+$/; $cgi_pwd = $1;
	}

# check filename against denyfile regexp
local $denyfile = $config{'denyfile'};
if ($denyfile && $full =~ /$denyfile/) {
	&http_error(403, "Access denied to $page");
	return 0;
	}

# Reached the end of the path OK.. see what we've got
if (-d $full) {
	# See if the URL ends with a / as it should
	if ($page !~ /\/$/) {
		# It doesn't.. redirect
		&write_data("HTTP/1.0 302 Moved Temporarily\r\n");
		$portstr = $port == 80 && !$use_ssl ? "" :
			   $port == 443 && $use_ssl ? "" : ":$port";
		&write_data("Date: $datestr\r\n");
		&write_data("Server: $config{server}\r\n");
		$prot = $use_ssl ? "https" : "http";
		&write_data("Location: $prot://$host$portstr$page/\r\n");
		&write_keep_alive(0);
		&write_data("\r\n");
		&log_request($acpthost, $authuser, $reqline, 302, 0);
		return 0;
		}
	# A directory.. check for index files
	foreach $idx (split(/\s+/, $config{"index_docs"})) {
		$idxfull = "$full/$idx";
		if (-r $idxfull && !(-d $idxfull)) {
			$cgi_pwd = $full;
			$full = $idxfull;
			$scriptname .= "/" if ($scriptname ne "/");
			last;
			}
		}
	}
if (-d $full) {
	# This is definately a directory.. list it
	&write_data("HTTP/1.0 $ok_code $ok_message\r\n");
	&write_data("Date: $datestr\r\n");
	&write_data("Server: $config{server}\r\n");
	&write_data("Content-type: text/html\r\n");
	&write_keep_alive(0);
	&write_data("\r\n");
	&reset_byte_count();
	&write_data("<h1>Index of $simple</h1>\n");
	&write_data("<pre>\n");
	&write_data(sprintf "%-35.35s %-20.20s %-10.10s\n",
			"Name", "Last Modified", "Size");
	&write_data("<hr>\n");
	opendir(DIR, $full);
	while($df = readdir(DIR)) {
		if ($df =~ /^\./) { next; }
		(@stbuf = stat("$full/$df")) || next;
		if (-d "$full/$df") { $df .= "/"; }
		@tm = localtime($stbuf[9]);
		$fdate = sprintf "%2.2d/%2.2d/%4.4d %2.2d:%2.2d:%2.2d",
				$tm[3],$tm[4]+1,$tm[5]+1900,
				$tm[0],$tm[1],$tm[2];
		$len = length($df); $rest = " "x(35-$len);
		&write_data(sprintf 
		 "<a href=\"%s\">%-${len}.${len}s</a>$rest %-20.20s %-10.10s\n",
		 $df, $df, $fdate, $stbuf[7]);
		}
	closedir(DIR);
	&log_request($acpthost, $authuser, $reqline, $ok_code, &byte_count());
	return 0;
	}

# CGI or normal file
local $rv;
if (&get_type($full) eq "internal/cgi") {
	# A CGI program to execute
	$envtz = $ENV{"TZ"};
	$envuser = $ENV{"USER"};
	$envpath = $ENV{"PATH"};
	$envlang = $ENV{"LANG"};
	foreach (keys %ENV) { delete($ENV{$_}); }
	$ENV{"PATH"} = $envpath if ($envpath);
	$ENV{"TZ"} = $envtz if ($envtz);
	$ENV{"USER"} = $envuser if ($envuser);
	$ENV{"OLD_LANG"} = $envlang if ($envlang);
	$ENV{"HOME"} = $user_homedir;
	$ENV{"SERVER_SOFTWARE"} = $config{"server"};
	$ENV{"SERVER_NAME"} = $host;
	$ENV{"SERVER_ADMIN"} = $config{"email"};
	$ENV{"SERVER_ROOT"} = $config{"root"};
	$ENV{"SERVER_PORT"} = $port;
	$ENV{"REMOTE_HOST"} = $acpthost;
	$ENV{"REMOTE_ADDR"} = $acptip;
	$ENV{"REMOTE_USER"} = $authuser if (defined($authuser));
	$ENV{"BASE_REMOTE_USER"} = $baseauthuser
		if ($authuser ne $baseauthuser);
	$ENV{"SSL_USER"} = $peername if ($validated == 2);
	$ENV{"ANONYMOUS_USER"} = "1" if ($validated == 3);
	$ENV{"DOCUMENT_ROOT"} = $config{"root"};
	$ENV{"GATEWAY_INTERFACE"} = "CGI/1.1";
	$ENV{"SERVER_PROTOCOL"} = "HTTP/1.0";
	$ENV{"REQUEST_METHOD"} = $method;
	$ENV{"SCRIPT_NAME"} = $scriptname;
	$ENV{"REQUEST_URI"} = $request_uri;
	$ENV{"PATH_INFO"} = $pathinfo;
	$ENV{"PATH_TRANSLATED"} = "$config{root}/$pathinfo";
	$ENV{"QUERY_STRING"} = $querystring;
	$ENV{"MINISERV_CONFIG"} = $conf;
	$ENV{"HTTPS"} = "ON" if ($use_ssl);
	$ENV{"SESSION_ID"} = $session_id if ($session_id);
	$ENV{"LOCAL_USER"} = $localauth_user if ($localauth_user);
	if (defined($header{"content-length"})) {
		$ENV{"CONTENT_LENGTH"} = $header{"content-length"};
		}
	if (defined($header{"content-type"})) {
		$ENV{"CONTENT_TYPE"} = $header{"content-type"};
		}
	foreach $h (keys %header) {
		($hname = $h) =~ tr/a-z/A-Z/;
		$hname =~ s/\-/_/g;
		$ENV{"HTTP_$hname"} = $header{$h};
		}
	$ENV{"PWD"} = $cgi_pwd;
	foreach $k (keys %config) {
		if ($k =~ /^env_(\S+)$/) {
			$ENV{$1} = $config{$k};
			}
		}
	delete($ENV{'HTTP_AUTHORIZATION'});
	$ENV{'HTTP_COOKIE'} =~ s/;?\s*$sidname=([a-f0-9]{32}|\d+)//;

	# Check if the CGI can be handled internally
	open(CGI, $full);
	local $first = <CGI>;
	close(CGI);
	$first =~ s/[#!\r\n]//g;
	$nph_script = ($full =~ /\/nph-([^\/]+)$/);
	if (!$config{'forkcgis'} && $first eq $perl_path && $] >= 5.004) {
		# setup environment for eval
		chdir($ENV{"PWD"});
		@ARGV = split(/\s+/, $queryargs);
		$0 = $full;
		if ($posted_data) {
			# Already read the post input
			$postinput = $posted_data;
			}
		elsif ($method eq "POST") {
			$clen = $header{"content-length"};
			while(length($postinput) < $clen) {
				$buf = &read_data($clen - length($postinput));
				if (!length($buf)) {
					&http_error(500, "Failed to read ".
							 "POST request");
					}
				$postinput .= $buf;
				}
			}
		$SIG{'CHLD'} = 'DEFAULT';
		eval {
			# Have SOCK closed if the perl exec's something
			use Fcntl;
			fcntl(SOCK, F_SETFD, FD_CLOEXEC);
			};
		shutdown(SOCK, 0);

		if ($config{'log'}) {
			open(MINISERVLOG, ">>$config{'logfile'}");
			chmod(0600, $config{'logfile'});
			}
		$doing_eval = 1;
		$main_process_id = $$;
		eval {
			package main;
			tie(*STDOUT, 'miniserv');
			tie(*STDIN, 'miniserv');
			do $miniserv::full;
			die $@ if ($@);
			};
		$doing_eval = 0;
		if ($@) {
			# Error in perl!
			&http_error(500, "Perl execution failed", $@);
			}
		elsif (!$doneheaders && !$nph_script) {
			&http_error(500, "Missing Headers");
			}
		#close(SOCK);
		$rv = 0;
		}
	else {
		# fork the process that actually executes the CGI
		pipe(CGIINr, CGIINw);
		pipe(CGIOUTr, CGIOUTw);
		pipe(CGIERRr, CGIERRw);
		if (!($cgipid = fork())) {
			chdir($ENV{"PWD"});
			close(SOCK);
			open(STDIN, "<&CGIINr");
			open(STDOUT, ">&CGIOUTw");
			open(STDERR, ">&CGIERRw");
			close(CGIINw); close(CGIOUTr); close(CGIERRr);
			exec($full, split(/\s+/, $queryargs));
			print STDERR "Failed to exec $full : $!\n";
			exit;
			}
		close(CGIINr); close(CGIOUTw); close(CGIERRw);

		# send post data
		if ($posted_data) {
			# already read the posted data
			print CGIINw $posted_data;
			}
		elsif ($method eq "POST") {
			$got = 0; $clen = $header{"content-length"};
			while($got < $clen) {
				$buf = &read_data($clen-$got);
				if (!length($buf)) {
					kill('TERM', $cgipid);
					&http_error(500, "Failed to read ".
							 "POST request");
					}
				$got += length($buf);
				print CGIINw $buf;
				}
			}
		close(CGIINw);
		shutdown(SOCK, 0);

		if (!$nph_script) {
			# read back cgi headers
			select(CGIOUTr); $|=1; select(STDOUT);
			$got_blank = 0;
			while(1) {
				$line = <CGIOUTr>;
				$line =~ s/\r|\n//g;
				if ($line eq "") {
					if ($got_blank || %cgiheader) { last; }
					$got_blank++;
					next;
					}
				($line =~ /^(\S+):\s+(.*)$/) ||
					&http_error(500, "Bad Header",
						    &read_errors(CGIERRr));
				$cgiheader{lc($1)} = $2;
				push(@cgiheader, [ $1, $2 ]);
				}
			if ($cgiheader{"location"}) {
				&write_data("HTTP/1.0 302 Moved Temporarily\r\n");
				&write_data("Date: $datestr\r\n");
				&write_data("Server: $config{'server'}\r\n");
				&write_keep_alive(0);
				# ignore the rest of the output. This is a hack, but
				# is necessary for IE in some cases :(
				close(CGIOUTr); close(CGIERRr);
				}
			elsif ($cgiheader{"content-type"} eq "") {
				&http_error(500, "Missing Content-Type Header",
					    &read_errors(CGIERRr));
				}
			else {
				&write_data("HTTP/1.0 $ok_code $ok_message\r\n");
				&write_data("Date: $datestr\r\n");
				&write_data("Server: $config{'server'}\r\n");
				&write_keep_alive(0);
				}
			foreach $h (@cgiheader) {
				&write_data("$h->[0]: $h->[1]\r\n");
				}
			&write_data("\r\n");
			}
		&reset_byte_count();
		while($line = <CGIOUTr>) {
			&write_data($line);
			}
		close(CGIOUTr); close(CGIERRr);
		$rv = 0;
		}
	}
else {
	# A file to output
	local @st = stat($full);
	open(FILE, $full) || &http_error(404, "Failed to open file");
	&write_data("HTTP/1.0 $ok_code $ok_message\r\n");
	&write_data("Date: $datestr\r\n");
	&write_data("Server: $config{server}\r\n");
	&write_data("Content-type: ".&get_type($full)."\r\n");
	&write_data("Content-length: $st[7]\r\n");
	&write_data("Last-Modified: ".&http_date($st[9])."\r\n");
	&write_keep_alive();
	&write_data("\r\n");
	&reset_byte_count();
	while(read(FILE, $buf, 1024) > 0) {
		&write_data($buf);
		}
	close(FILE);
	$rv = &check_keep_alive();
	}

# log the request
&log_request($acpthost, $authuser, $reqline,
	     $logged_code ? $logged_code :
	     $cgiheader{"location"} ? "302" : $ok_code, &byte_count());
return $rv;
}

# http_error(code, message, body, [dontexit])
sub http_error
{
close(CGIOUT);
local $eh = $error_handler_recurse ? undef :
	    $config{"error_handler_$_[0]"} ? $config{"error_handler_$_[0]"} :
	    $config{'error_handler'} ? $config{'error_handler'} : undef;
if ($eh) {
	# Call a CGI program for the error
	$page = "/$eh";
	$querystring = "code=$_[0]&message=".&urlize($_[1]).
		       "&body=".&urlize($_[2]);
	$error_handler_recurse++;
	$ok_code = $_[0];
	$ok_message = $_[1];
	goto rerun;
	}
else {
	# Use the standard error message display
	&write_data("HTTP/1.0 $_[0] $_[1]\r\n");
	&write_data("Server: $config{server}\r\n");
	&write_data("Date: $datestr\r\n");
	&write_data("Content-type: text/html\r\n");
	&write_keep_alive(0);
	&write_data("\r\n");
	&reset_byte_count();
	&write_data("<h1>Error - $_[1]</h1>\n");
	if ($_[2]) {
		&write_data("<pre>$_[2]</pre>\n");
		}
	}
&log_request($acpthost, $authuser, $reqline, $_[0], &byte_count())
	if ($reqline);
shutdown(SOCK, 1);
exit if (!$_[3]);
}

sub get_type
{
if ($_[0] =~ /\.([A-z0-9]+)$/) {
	$t = $mime{$1};
	if ($t ne "") {
		return $t;
		}
	}
return "text/plain";
}

# simplify_path(path, bogus)
# Given a path, maybe containing stuff like ".." and "." convert it to a
# clean, absolute form.
sub simplify_path
{
local($dir, @bits, @fixedbits, $b);
$dir = $_[0];
$dir =~ s/^\/+//g;
$dir =~ s/\/+$//g;
@bits = split(/\/+/, $dir);
@fixedbits = ();
$_[1] = 0;
foreach $b (@bits) {
        if ($b eq ".") {
                # Do nothing..
                }
        elsif ($b eq "..") {
                # Remove last dir
                if (scalar(@fixedbits) == 0) {
                        $_[1] = 1;
                        return "/";
                        }
                pop(@fixedbits);
                }
        else {
                # Add dir to list
                push(@fixedbits, $b);
                }
        }
return "/" . join('/', @fixedbits);
}

# b64decode(string)
# Converts a string from base64 format to normal
sub b64decode
{
    local($str) = $_[0];
    local($res);
    $str =~ tr|A-Za-z0-9+=/||cd;
    $str =~ s/=+$//;
    $str =~ tr|A-Za-z0-9+/| -_|;
    while ($str =~ /(.{1,60})/gs) {
        my $len = chr(32 + length($1)*3/4);
        $res .= unpack("u", $len . $1 );
    }
    return $res;
}

# ip_match(remoteip, localip, [match]+)
# Checks an IP address against a list of IPs, networks and networks/masks
sub ip_match
{
local(@io, @mo, @ms, $i, $j, $hn, $needhn);
@io = split(/\./, $_[0]);
for($i=2; $i<@_; $i++) {
	$needhn++ if ($_[$i] =~ /^\*(\S+)$/);
	}
if ($needhn && !defined($hn = $ip_match_cache{$_[0]})) {
	$hn = gethostbyaddr(inet_aton($_[0]), AF_INET);
	$hn = "" if (&to_ipaddress($hn) ne $_[0]);
	$ip_match_cache{$_[0]} = $hn;
	}
for($i=2; $i<@_; $i++) {
	local $mismatch = 0;
	if ($_[$i] =~ /^(\S+)\/(\S+)$/) {
		# Compare with network/mask
		@mo = split(/\./, $1); @ms = split(/\./, $2);
		for($j=0; $j<4; $j++) {
			if ((int($io[$j]) & int($ms[$j])) != int($mo[$j])) {
				$mismatch = 1;
				}
			}
		}
	elsif ($_[$i] =~ /^\*(\S+)$/) {
		# Compare with hostname regexp
		$mismatch = 1 if ($hn !~ /$1$/);
		}
	elsif ($_[$i] eq 'LOCAL') {
		# Compare with local network
		local @lo = split(/\./, $_[1]);
		if ($lo[0] < 128) {
			$mismatch = 1 if ($lo[0] != $io[0]);
			}
		elsif ($lo[0] < 192) {
			$mismatch = 1 if ($lo[0] != $io[0] ||
					  $lo[1] != $io[1]);
			}
		else {
			$mismatch = 1 if ($lo[0] != $io[0] ||
					  $lo[1] != $io[1] ||
					  $lo[2] != $io[2]);
			}
		}
	elsif ($_[$i] !~ /^[0-9\.]+$/) {
		# Compare with hostname
		$mismatch = 1 if ($_[1] ne &to_ipaddress($_[$i]));
		}
	else {
		# Compare with IP or network
		@mo = split(/\./, $_[$i]);
		while(@mo && !$mo[$#mo]) { pop(@mo); }
		for($j=0; $j<@mo; $j++) {
			if ($mo[$j] != $io[$j]) {
				$mismatch = 1;
				}
			}
		}
	return 1 if (!$mismatch);
	}
return 0;
}

# users_match(&uinfo, user, ...)
# Returns 1 if a user is in a list of users and groups
sub users_match
{
local $uinfo = shift(@_);
local $u;
local @ginfo = getgrgid($uinfo->[3]);
foreach $u (@_) {
	if ($u =~ /^\@(\S+)$/) {
		return 1 if ($1 eq $ginfo[0]);
		}
	else {
		return 1 if ($u eq $uinfo->[0]);
		}
	}
return 0;
}

# restart_miniserv()
# Called when a SIGHUP is received to restart the web server. This is done
# by exec()ing perl with the same command line as was originally used
sub restart_miniserv
{
close(SOCK); close(MAIN);
foreach $p (@passin) { close($p); }
foreach $p (@passout) { close($p); }
if ($logclearer) { kill('TERM', $logclearer);	}
exec($perl_path, $miniserv_path, @miniserv_argv);
die "Failed to restart miniserv with $perl_path $miniserv_path";
}

sub trigger_restart
{
$need_restart = 1;
}

sub to_ipaddress
{
local (@rv, $i);
foreach $i (@_) {
	if ($i =~ /(\S+)\/(\S+)/ || $i =~ /^\*\S+$/ ||
	    $i eq 'LOCAL') { push(@rv, $i); }
	else { push(@rv, join('.', unpack("CCCC", inet_aton($i)))); }
	}
return wantarray ? @rv : $rv[0];
}

# read_line()
# Reads one line from SOCK or SSL
sub read_line
{
local($idx, $more, $rv);
if (!$use_ssl) {
	# Read a character at a time
        while(1) {
                local $buf;
                local $ok = read(SOCK, $buf, 1);
                if ($ok <= 0) {
                        return $rv;
                        }
                $rv .= $buf;
                if ($buf eq "\n") {
                        return $rv;
                        }
                }
	}
while(($idx = index($read_buffer, "\n")) < 0) {
	if (length($read_buffer) > 10000) {
		&http_error(414, "Request too long",
			    "Received excessive line <pre>$read_buffer</pre>");
		}

	# need to read more..
	$more = Net::SSLeay::read($ssl_con);
	if ($more eq '') {
		# end of the data
		$rv = $read_buffer;
		undef($read_buffer);
		return $rv;
		}
	$read_buffer .= $more;
	}
$rv = substr($read_buffer, 0, $idx+1);
$read_buffer = substr($read_buffer, $idx+1);
return $rv;
}

# read_data(length)
# Reads up to some amount of data from SOCK or the SSL connection
sub read_data
{
local ($rv);
if (length($read_buffer)) {
	$rv = $read_buffer;
	undef($read_buffer);
	return $rv;
	}
elsif ($use_ssl) {
	return Net::SSLeay::read($ssl_con, $_[0]);
	}
else {
	local $buf;
	read(SOCK, $buf, $_[0]) || return undef;
	return $buf;
	}
}

# write_data(data)
# Writes a string to SOCK or the SSL connection
sub write_data
{
if ($use_ssl) {
	Net::SSLeay::write($ssl_con, $_[0]);
	}
else {
	syswrite(SOCK, $_[0], length($_[0]));
	}
$write_data_count += length($_[0]);
}

# reset_byte_count()
sub reset_byte_count { $write_data_count = 0; }

# byte_count()
sub byte_count { return $write_data_count; }

# log_request(hostname, user, request, code, bytes)
sub log_request
{
if ($config{'log'}) {
	local(@tm, $dstr, $user, $ident, $headers);
	if ($config{'logident'}) {
		# add support for rfc1413 identity checking here
		}
	else { $ident = "-"; }
	@tm = localtime(time());
	$dstr = sprintf "%2.2d/%s/%4.4d:%2.2d:%2.2d:%2.2d %s",
			$tm[3], $make_date_marr[$tm[4]], $tm[5]+1900,
	                $tm[2], $tm[1], $tm[0], $timezone;
	$user = $_[1] ? $_[1] : "-";
	if (fileno(MINISERVLOG)) {
		seek(MINISERVLOG, 0, 2);
		}
	else {
		open(MINISERVLOG, ">>$config{'logfile'}");
		chmod(0600, $config{'logfile'});
		}
	foreach $h (split(/\s+/, $config{'logheaders'})) {
		$headers .= " $h=\"$header{$h}\"";
		}
	print MINISERVLOG "$_[0] $ident $user [$dstr] \"$_[2]\" ",
			  "$_[3] $_[4]$headers\n";
	close(MINISERVLOG);
	}
}

# read_errors(handle)
# Read and return all input from some filehandle
sub read_errors
{
local($fh, $_, $rv);
$fh = $_[0];
while(<$fh>) { $rv .= $_; }
return $rv;
}

sub write_keep_alive
{
local $mode;
if ($config{'nokeepalive'}) { $mode = 0; }
elsif (@_) { $mode = $_[0]; }
else { $mode = &check_keep_alive(); }
&write_data("Connection: ".($mode ? "Keep-Alive" : "close")."\r\n");
}

sub check_keep_alive
{
return $header{'connection'} =~ /keep-alive/i;
}

sub term_handler
{
if (@childpids) {
	kill('TERM', @childpids);
	}
exit(1);
}

sub http_date
{
local @tm = gmtime($_[0]);
return sprintf "%s, %d %s %d %2.2d:%2.2d:%2.2d GMT",
		$weekday[$tm[6]], $tm[3], $month[$tm[4]], $tm[5]+1900,
		$tm[2], $tm[1], $tm[0];
}

sub TIEHANDLE
{
my $i; bless \$i, shift;
}
 
sub WRITE
{
$r = shift;
my($buf,$len,$offset) = @_;
&write_to_sock(substr($buf, $offset, $len));
}
 
sub PRINT
{
$r = shift;
$$r++;
&write_to_sock(@_);
}
 
sub PRINTF
{
shift;
my $fmt = shift;
&write_to_sock(sprintf $fmt, @_);
}
 
sub READ
{
$r = shift;
substr($_[0], $_[2], $_[1]) = substr($postinput, $postpos, $_[1]);
$postpos += $_[1];
}

sub OPEN
{
#print STDERR "open() called - should never happen!\n";
}
 
sub READLINE
{
if ($postpos >= length($postinput)) {
	return undef;
	}
local $idx = index($postinput, "\n", $postpos);
if ($idx < 0) {
	local $rv = substr($postinput, $postpos);
	$postpos = length($postinput);
	return $rv;
	}
else {
	local $rv = substr($postinput, $postpos, $idx-$postpos+1);
	$postpos = $idx+1;
	return $rv;
	}
}
 
sub GETC
{
return $postpos >= length($postinput) ? undef
				      : substr($postinput, $postpos++, 1);
}
 
sub CLOSE { }
 
sub DESTROY { }

# write_to_sock(data, ...)
sub write_to_sock
{
foreach $d (@_) {
	if ($doneheaders || $miniserv::nph_script) {
		&write_data($d);
		}
	else {
		$headers .= $d;
		while(!$doneheaders && $headers =~ s/^([^\r\n]*)(\r)?\n//) {
			if ($1 =~ /^(\S+):\s+(.*)$/) {
				$cgiheader{lc($1)} = $2;
				push(@cgiheader, [ $1, $2 ]);
				}
			elsif ($1 !~ /\S/) {
				$doneheaders++;
				}
			else {
				&http_error(500, "Bad Header");
				}
			}
		if ($doneheaders) {
			if ($cgiheader{"location"}) {
				&write_data(
					"HTTP/1.0 302 Moved Temporarily\r\n");
				&write_data("Date: $datestr\r\n");
				&write_data("Server: $config{server}\r\n");
				&write_keep_alive(0);
				}
			elsif ($cgiheader{"content-type"} eq "") {
				&http_error(500, "Missing Content-Type Header");
				}
			else {
				&write_data("HTTP/1.0 $ok_code $ok_message\r\n");
				&write_data("Date: $datestr\r\n");
				&write_data("Server: $config{server}\r\n");
				&write_keep_alive(0);
				}
			foreach $h (@cgiheader) {
				&write_data("$h->[0]: $h->[1]\r\n");
				}
			&write_data("\r\n");
			&reset_byte_count();
			&write_data($headers);
			}
		}
	}
}

sub verify_client
{
local $cert = Net::SSLeay::X509_STORE_CTX_get_current_cert($_[1]);
if ($cert) {
	local $errnum = Net::SSLeay::X509_STORE_CTX_get_error($_[1]);
	$verified_client = 1 if (!$errnum);
	}
return 1;
}

sub END
{
if ($doing_eval && $$ == $main_process_id) {
	# A CGI program called exit! This is a horrible hack to 
	# finish up before really exiting
	shutdown(SOCK, 1);
	close(SOCK);
	close($PASSINw); close($PASSOUTw);
	&log_request($acpthost, $authuser, $reqline,
		     $cgiheader{"location"} ? "302" : $ok_code, &byte_count());
	}
}

# urlize
# Convert a string to a form ok for putting in a URL
sub urlize {
  local($tmp, $tmp2, $c);
  $tmp = $_[0];
  $tmp2 = "";
  while(($c = chop($tmp)) ne "") {
	if ($c !~ /[A-z0-9]/) {
		$c = sprintf("%%%2.2X", ord($c));
		}
	$tmp2 = $c . $tmp2;
	}
  return $tmp2;
}

# validate_user(username, password)
sub validate_user
{
return 0 if (!$_[0]);
if (!$users{$_[0]}) {
	# See if this user exists in Unix and can be validated by the same
	# method as the unixauth webmin user
	return 0 if (!$config{'unixauth'});
	local $up = $users{$config{'unixauth'}};
	return 0 if (!defined($up));
	local @uinfo = getpwnam($_[0]);
	return 0 if (!@uinfo);
	if (defined(@allowusers)) {
		# Only allow people on the allow list
		return 0 if (!&users_match(\@uinfo, @allowusers));
		}
	elsif (defined(@denyusers)) {
		# Disallow people on the deny list
		return 0 if (&users_match(\@uinfo, @denyusers));
		}

	if ($up eq 'x') {
		return &validate_unix_user($_[0], $_[1]);
		}
	else {
		return $up eq crypt($_[1], $up) ? 1 : 0;
		}
	}
elsif ($users{$_[0]} eq 'x') {
	# Call PAM to validate the user
	return &validate_unix_user($_[0], $_[1]);
	}
else {
	# Check against the webmin user list
	return $users{$_[0]} eq crypt($_[1], $users{$_[0]}) ? 1 : 0;
	}
}

# validate_unix_user(user, password)
# Returns 1 if a username and password are valid under unix, 0 if not.
# Checks PAM if available, and falls back to reading the system password
# file otherwise.
sub validate_unix_user
{
if ($use_pam) {
	# Check with PAM
	$pam_username = $_[0];
	$pam_password = $_[1];
	local $pamh = new Authen::PAM($config{'pam'}, $pam_username,
				      \&pam_conv_func);
	if (!ref($pamh)) {
		return 0;
		}
	local $pam_ret = $pamh->pam_authenticate();
	return $pam_ret == PAM_SUCCESS ? 1 : 0;
	}
elsif ($config{'passwd_file'}) {
	# Read the system password or shadow file
	local $rv = 0;
	open(FILE, $config{'passwd_file'});
	while(<FILE>) {
		local @l = split(/:/, $_);
		local $u = $l[$config{'passwd_uindex'}];
		local $p = $l[$config{'passwd_pindex'}];
		if ($u eq $_[0]) {
			$rv = $p eq crypt($_[1], $p);
			last;
			}
		}
	close(FILE);
	return $rv;
	}
else {
	return 0;
	}
}

# the PAM conversation function for interactive logins
sub pam_conv_func
{
my @res;
while ( @_ ) {
	my $code = shift;
	my $msg = shift;
	my $ans = "";

	$ans = $pam_username if ($code == PAM_PROMPT_ECHO_ON() );
	$ans = $pam_password if ($code == PAM_PROMPT_ECHO_OFF() );

	push @res, PAM_SUCCESS();
	push @res, $ans;
	}
push @res, PAM_SUCCESS();
return @res;
}

sub urandom_timeout
{
close(RANDOM);
}

   07070100028718000041ed0000000000000001000000053d1ffa9200000000000000200000000000000000000000000000000a00000003reloc/mon 07070100028719000081a40000000000000002000000013d1fe2e60000011f000000200000000000000000000000000000001100000003reloc/mon/README  Readme file of webmin module for Mon 
created on 10th Sept 2001 

TO install..
Untar the file from / directory with root previliages.
Add this module in the webmin-user module access list
You can add entry"mon" in /etc/webmin/webmin.acl or use webmin to append user module access list.

 0707010002871a000081a40000000000000002000000013d1fe2e6000000b0000000200000000000000000000000000000001100000003reloc/mon/config  cfbasedir=/etc/mon
pid_file=/var/run/mon.pid
start_cmd=/etc/init.d/mon start
stop_cmd=/etc/init.d/mon stop
restart_cmd=/etc/init.d/mon restart
mon_cgi=/var/www/cgi-bin/mon.cgi
0707010002871b000081a40000000000000002000000013d1fe2e600000122000000200000000000000000000000000000001600000003reloc/mon/config.info pid_file=Full path to MON pid file,0
cfbasedir=Full path where all the config files (eg mon.cf,auth.cf etc) are stored,0
mon_cgi=Full path to MON cgi program,0
start_cmd=Command to start MON,0
stop_cmd=Command to stop MON,3,Kill process
restart_cmd=Command to restart MON,3,Send HUP signal
  0707010002871c000081a40000000000000002000000013d1fe2e600000138000000200000000000000000000000000000001900000003reloc/mon/config.info.ca  pid_file=Camí complet del fitxer de PID de MON,0
cfbasedir=Camí complet on estan allotjats tots els fitxers de configuració,0
mon_cgi=Camí complet del programa cgi de MON,0
start_cmd=Ordre per iniciar MON,0
stop_cmd=Ordre per aturar MON,3,Mata el procés
restart_cmd=Ordre per reiniciar MON,3,Envia el senyal HUP
0707010002871d000081e40000000000000002000000013d1fe2e60000011f000000200000000000000000000000000000001b00000003reloc/mon/create_watch.cgi    #!/usr/local/bin/perl
# create_watch.cgi
# Add a new watch list for some group

require './mon-lib.pl';
&ReadParse();
$conf = &get_mon_config();

&save_directive($conf, undef, { 'name' => 'watch',
				'values' => [ $in{'group'} ] });
&flush_file_lines();
&redirect("list_watches.cgi");

 0707010002871e000081e40000000000000002000000013d1fe2e6000005bf000000200000000000000000000000000000001800000003reloc/mon/edit_auth.cgi   #!/usr/local/bin/perl
# edit_auth.cgi
# Display commands and allowed users

require './mon-lib.pl';
&header($text{'auth_title'}, "");
print "<hr>\n";

$file = &mon_auth_file();
open(FILE, $file);
while(<FILE>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^(\S+):\s*(.*)$/) {
		$auth{$1} = [ split(/,/, $2) ];
		}
	}
close(FILE);

print "$text{'auth_desc'}<p>\n";

print "<form action=save_auth.cgi method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'auth_cmd'}</b></td> ",
      "<td><b>$text{'auth_users'}</b></td> </tr>\n";
printf "<input type=hidden name=types value='%s'>\n", join(" ", keys %auth);
foreach $a (&list_auth_types()) {
	local @au = @{$auth{$a}};
	print "<tr $cb> <td><b>$a</b></td> <td>\n";
	printf "<input type=radio name=${a}_mode value=2 %s> %s\n",
		@au ? "" : "checked", $text{'auth_none'};
	printf "<input type=radio name=${a}_mode value=1 %s> %s\n",
		$au[0] eq "all" ? "checked" : "", $text{'auth_all'};
	printf "<input type=radio name=${a}_mode value=0 %s> %s\n",
		@au && $au[0] ne "all" ? "checked" : "",
		$text{'auth_sel'};
	printf "<input name=$a size=40 value='%s'> %s</td> </tr>\n",
		$au[0] eq "all" ? "" : join(" ", @{$auth{$a}}),
		&user_chooser_button($a, 0);
	delete($auth{$a});
	}
print "</table>\n";
foreach $a (keys %auth) {
	print "<input type=hidden name=$a value='",
		join(",", @{$auth{$a}}),"'>\n";
	}
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010002871f000081e40000000000000002000000013d1fe2e60000080b000000200000000000000000000000000000001a00000003reloc/mon/edit_global.cgi #!/usr/local/bin/perl
# edit_global.cgi
# Edit global MON paths

require './mon-lib.pl';
$conf = &get_mon_config();
&header($text{'global_title'}, "");
print "<hr>\n";

print "<form action=save_global.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'global_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$maxprocs = &find_value("maxprocs", $conf);
print "<tr> <td><b>$text{'global_maxprocs'}</b></td> <td>\n";
print "<input name=maxprocs size=6 value='$maxprocs'></td>\n";

$histlength = &find_value("histlength", $conf);
print "<td><b>$text{'global_histlength'}</b></td> <td>\n";
print "<input name=histlength size=6 value='$histlength'></td> </tr>\n";

$authtype = &find_value("authtype", $conf);
print "<tr> <td><b>$text{'global_authtype'}</b></td>\n";
print "<td><select name=authtype>\n";
foreach $t ('', 'getpwnam', 'userfile', 'shadow') {
	printf "<option value='%s' %s>%s\n",
		$t, $authtype eq $t ? "selected" : "",
		$text{"global_authtype_$t"};
	}
print "</select></td> </tr>\n";

$userfile = &find_value("userfile", $conf);
print "<tr> <td><b>$text{'global_userfile'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=userfile_def value=1 %s> %s\n",
	$userfile ? "" : "checked", $text{'default'};
printf "<input type=radio name=userfile_def value=0 %s>\n",
	$userfile ? "checked" : "";
print "<input name=userfile size=40 value='$userfile'> ",
	&file_chooser_button("userfile", 0),"</td> </tr>\n";

$alertdir = &find_value("alertdir", $conf);
print "<tr> <td><b>$text{'global_alertdir'}</b></td> <td colspan=3>\n";
print "<input name=alertdir size=40 value='$alertdir'> ",
	&file_chooser_button("alertdir", 1),"</td> </tr>\n";

$mondir = &find_value("mondir", $conf);
print "<tr> <td><b>$text{'global_mondir'}</b></td> <td colspan=3>\n";
print "<input name=mondir size=40 value='$mondir'> ",
	&file_chooser_button("mondir", 1),"</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100028720000081e40000000000000002000000013d1fe2e600001ffc000000200000000000000000000000000000001b00000003reloc/mon/edit_service.cgi    #!/usr/local/bin/perl
# edit_service.cgi
# Display a new or existing service inside a watch

require './mon-lib.pl';
&ReadParse();
$conf = &get_mon_config();
$watch = $conf->[$in{'idx'}];

if ($in{'new'}) {
	&header($text{'service_title'}, "");
	}
else {
	&header($text{'service_title2'}, "");
	$service = $watch->{'members'}->[$in{'sidx'}];
	}
print "<hr>\n";

print "<form action=save_service.cgi method=post>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=sidx value='$in{'sidx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'service_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'service_name'}</b></td>\n";
printf "<td><input name=name size=20 value='%s'></td>\n",
	$service->{'values'}->[0];

$int = &find_value("interval", $service->{'members'});
print "<td><b>$text{'service_interval'}</b></td>\n";
print "<td>",&interval_input("interval", $int),"</td> </tr>\n";

$desc = &find("description", $service->{'members'});
print "<tr> <td><b>$text{'service_desc'}</b></td>\n";
printf "<td colspan=3><input name=desc size=50 value='%s'></td> </tr>\n",
	$desc ? $desc->{'value'} : "";

@mons = &list_monitors();
$monitor = &find("monitor", $service->{'members'}) if (!$in{'new'});
if ($monitor->{'value'} =~ /^(\S+)\s*(.*)$/) {
	$mon = $1; $args = $2;
	}
$idx = &indexof($mon, @mons);

print "<tr> <td><b>$text{'service_monitor'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=monitor_def value=1 %s> %s\n",
	$in{'new'} || $idx >= 0 ? "checked" : "", $text{'service_mon1'};
print "<select name=monitor>\n";
foreach $m (@mons) {
	printf "<option %s>%s\n", $m eq $mon ? "selected" : "", $m;
	}
print "</select>\n";
printf "<input type=radio name=monitor_def value=0 %s> %s\n",
	$in{'new'} || $idx >= 0 ? "" : "checked", $text{'service_mon0'};
printf "<input name=other size=20 value='%s'>\n",
	$idx >= 0 ? "" : $mon;
print "</td> </tr>\n";

print "<tr> <td><b>$text{'service_args'}</b></td> <td colspan=3>\n";
print "<input name=args size=50 value='$args'></td> </tr>\n";

$i = 0;
@avail = &list_alerts();
@periods = &find("period", $service->{'members'});
push(@periods, { }) if ($in{'newperiod'} || $in{'new'});
@defperiods = &find("period", $conf);
foreach $p (@periods) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	print "<tr> <td colspan=2><b><i>",&text($p->{'name'} ?
		'service_period' : 'service_new', $i+1),"</i></b></td>\n";
	print "<td colspan=2 align=right><input type=checkbox name=delete_$i> ",
	      "$text{'service_delperiod'}</td> </tr>\n";

	print "<input type=hidden name=idx_$i value='$p->{'index'}'>\n";
	local ($dfrom, $dto, $hfrom, $hto, $known, $name);
	if ($p->{'value'} =~ /^\s*wd\s+{(\S+)-(\S+)}\s+hr\s+{(\S+)-(\S+)}\s*$/){
		$dfrom = $1; $dto = $2; $hfrom = $3; $hto = $4;
		$known = 1;
		}
	elsif ($p->{'value'} =~ /^\s*wd\s+{(\S+)-(\S+)}\s*$/) {
		$dfrom = $1; $dto = $2;
		$known = 1;
		}
	elsif ($p->{'value'} =~ /^\s*hr\s+{(\S+)-(\S+)}\s*$/) {
		$hfrom = $1; $hto = $2;
		$known = 1;
		}
	elsif ($p->{'value'} =~ /^\s*(\S+):\s*$/) {
		$name = $1;
		$known = 2;
		}
	elsif (!$p->{'value'}) {
		$hfrom = $hto = "";
		$known = 1;
		}

	# Specified days and hours
	printf "<tr> <td><input type=radio name=known_$i value=1 %s> %s</td>\n",
		$known == 1 ? "checked" : "", "<b>$text{'service_known1'}</b>";

	print "<td colspan=3><b>$text{'service_days'}</b>\n";
	printf "<input type=radio name=days_def_$i value=1 %s> %s\n",
		$dfrom ? "" : "checked", $text{'service_all'};
	printf "<input type=radio name=days_def_$i value=0 %s>\n",
		$dfrom ? "checked" : "";
	print &day_input("dfrom_$i", $dfrom)," - ",
	      &day_input("dto_$i", $dto);

	print "&nbsp;&nbsp;&nbsp;\n";
	print "<b>$text{'service_hours'}</b>\n";
	printf "<input type=radio name=hours_def_$i value=1 %s> %s\n",
		$hfrom ? "" : "checked", $text{'service_all'};
	printf "<input type=radio name=hours_def_$i value=0 %s>\n",
		$hfrom ? "checked" : "";
	print "<input name=hfrom_$i size=4 value='$hfrom'> - ",
	      "<input name=hto_$i size=4 value='$hto'></td> </tr>\n";

	# Selected defined period
	if (@defperiods || $known == 2) {
		printf "<tr> <td><input type=radio name=known_$i value=2 %s> %s</td>\n", $known == 2 ? "checked" : "", "<b>$text{'service_known2'}</b>";
		print "<td><select name=name_$i>\n";
		foreach $p (@defperiods) {
			$p->{'value'} =~ /^(\S+):/;
			printf "<option %s>%s\n",
				$name eq $1 ? "selected" : "", $1;
			}
		print "</select></td> </tr>\n";
		}

	# Any Time::Period string
	printf "<tr> <td><input type=radio name=known_$i value=0 %s> %s</td>\n",
		$known == 0 ? "checked" : "", "<b>$text{'service_known0'}</b>";
	printf "<td colspan=3><input name=pstr_$i size=50 value='%s'></td> </tr>\n", $known == 0 ? $p->{'value'} : "";

	print "<tr> <td valign=top><b>$text{'service_alerts'}</b></td>\n";
	print "<td colspan=3><table border>\n";
	print "<tr $tb> <td><b>$text{'service_alert'}</b></td> ",
	      "<td><b>$text{'service_atype'}</b></td> ",
	      "<td><b>$text{'service_aargs'}</b></td> </tr>\n";
	local @alerts = ( &find("alert", $p->{'members'}),
			  &find("upalert", $p->{'members'}),
			  &find("startupalert", $p->{'members'}) );
	local $j = 0;
	foreach $a (@alerts, { }) {
		print "<tr $cb> <td><select name=alert_${i}_${j}>\n";
		local ($found, $al, $ar);
		if ($a->{'value'} =~ /^(\S+)\s*(.*)/) {
			$al = $1; $ar = $2;
			}
		printf "<option value='' %s>&nbsp;\n",
			$al ? "" : "selected";
		foreach $av (@avail) {
			printf "<option %s>%s\n",
			    $al eq $av ? "selected" : "", $av;
			$found++ if ($al eq $av);
			}
		print "<option selected>$al\n" if (!$found && $al);
		print "</select></td>\n";
		print "<td><select name=atype_${i}_${j}>\n";
		foreach $t ('alert', 'upalert', 'startupalert') {
			printf "<option value=%s %s>%s\n",
				$t, $a->{'name'} eq $t ? "selected" : "",
				$text{"service_atype_$t"};
			}
		print "</select></td>\n";
		$ar =~ s/"/&quot;/g;
		print "<td><input name=aargs_${i}_${j} size=30 ",
		      "value='$ar'></td> </tr>\n";
		$j++;
		}
	print "</table></td> </tr>\n";

	local $ev = &find_value("alertevery", $p->{'members'});
	print "<tr> <td><b>$text{'service_every'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=every_def_$i value=1 %s> %s\n",
		$ev ? "" : "checked", $text{'service_every_def'};
	printf "<input type=radio name=every_def_$i value=0 %s> %s\n",
		$ev ? "checked" : "", $text{'service_every_time'};
	print &interval_input("every_$i", $ev),"</td>\n";

	local @aa = &find_value("alertafter", $p->{'members'});
	print "<tr> <td><b>$text{'service_after'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=after_def_$i value=1 %s> %s\n",
		@aa ? "" : "checked", $text{'service_immediate'};
	printf "<input type=radio name=after_def_$i value=0 %s>\n",
		@aa ? "checked" : "";
	print &text('service_after_num',
		    "<input name=after_$i size=6 value='$aa[0]'>"),"\n";
	print "&nbsp;" x 3;
	print $text{'service_aftertime'},"\n";
	print &interval_input("after_interval_$i", $aa[1]),"</td> </tr>\n";

	local $na = &find_value("numalerts", $p->{'members'});
	print "<tr> <td><b>$text{'service_num'}</b></td>\n";
	printf "<td><input type=radio name=num_def_$i value=1 %s> %s\n",
		$na ? "" : "checked", $text{'service_unlimited'};
	printf "<input type=radio name=num_def_$i value=0 %s>\n",
		$na ? "checked" : "";
	print "<input name=num_$i size=6 value='$na'></td> </tr>\n";

	$i++;
	}

if (!$in{'new'}) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	print "<tr> <td colspan=4 align=right><a href='edit_service.cgi?",
	      "idx=$in{'idx'}&sidx=$in{'sidx'}&newperiod=1'>",
	      "$text{'service_newperiod'}</a></td> </tr>\n";
	}

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("list_watches.cgi", $text{'watches_return'});


07070100028721000081e40000000000000002000000013d1fe2e600000580000000200000000000000000000000000000001800000003reloc/mon/edit_user.cgi   #!/usr/local/bin/perl
# edit_user.cgi
# A form for adding or editing a MON user

require './mon-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'user_create'}, "");
	}
else {
	&header($text{'user_edit'}, "");
	@users = &list_users();
	%user = %{$users[$in{'index'}]};
	}
print "<hr>\n";

print "<form action=save_user.cgi>\n";
print "<input type=hidden name=index value=$in{'index'}>\n";
print "<input type=hidden name=new value=$in{'new'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'user_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'user_user'}</b></td>\n";
print "<td><input name=user size=25 value=\"$user{'user'}\"></td> </tr>\n";

print "<tr> <td><b>$text{'user_pass'}</b></td> <td>\n";
if (%user) {
	print "<input type=radio name=pass_def value=1 checked> $text{'user_leave'}\n";
	print "<input type=radio name=pass_def value=0>\n";
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}
else {
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}
print "</table></td></tr></table>\n";
if (%user) {
	print "<input type=submit value=\"$text{'save'}\">\n";
	print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
print "</form>\n";

print "<hr>\n";
&footer("list_users.cgi", $text{'users_return'},
	"", $text{'index_return'});

07070100028722000081e40000000000000002000000013d1fe2e6000008d6000000200000000000000000000000000000001900000003reloc/mon/edit_watch.cgi  #!/usr/local/bin/perl
# edit_watch.cgi
# Display a new or existing watch

require './mon-lib.pl';
&ReadParse();
$conf = &get_mon_config();
$watch = $conf->[$in{'idx'}];

&header($text{'watch_title'}, "");
print "<hr>\n";

print "<form action=save_watch.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'watch_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'watch_group'}</b></td>\n";
print "<td><select name=group>\n";
foreach $s (&find("hostgroup", $conf)) {
	printf "<option %s>%s\n",
		$s eq $watch->{'values'}->[0] ? "selected" : "",
		$s->{'values'}->[0];
	$found++ if ($s eq $watch->{'values'}->[0]);
	}
print "<option selected>$watch->{'values'}->[0]\n" if (!$found);
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'watch_services'}</b></td>\n";
print "<td colspan=3> <table border width=100%>\n";
print "<tr $tb> <td><b>$text{'watch_service'}</b></td> ",
      "<td><b>$text{'watch_monitor'}</b></td> ",
      "<td><b>$text{'watch_interval'}</b></td> ",
      "<td><b>$text{'watch_periods'}</b></td> </tr>\n";
foreach $s (&find("service", $watch->{'members'})) {
	print "<tr $cb>\n";
	print "<td><a href='edit_service.cgi?idx=$in{'idx'}&",
	      "sidx=$s->{'index'}'>$s->{'value'}</a></td>\n";
	local $mon = &find_value("monitor", $s->{'members'});
	print "<td>$mon</td>\n";
	local $int = &find_value("interval", $s->{'members'});
	print "<td>$int</td>\n";
	local @pers = &find("period", $s->{'members'});
	local $pers = join("&nbsp;,&nbsp;", map { $_->{'value'} } @pers);
	print "<td>$pers</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
print "<a href='edit_service.cgi?idx=$in{'idx'}&new=1'>",
      "$text{'watches_sadd'}</a>\n";
print "</td> </tr>\n";

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("list_watches.cgi", $text{'watches_return'});

  07070100028723000081a40000000000000002000000013d1fe2e600000071000000200000000000000000000000000000001c00000003reloc/mon/feedback_files.pl   
do 'mon-lib.pl';

sub feedback_files
{
return ( $mon_config_file, &mon_auth_file(), &mon_users_file() );
}

1;

   07070100029e82000041ed0000000000000001000000023d1ffa9000000000000000200000000000000000000000000000000f00000003reloc/mon/help    07070100029e83000081a40000000000000002000000013d1fe2e6000001da000000200000000000000000000000000000002100000003reloc/mon/help/hostgroup.ca.html  <header>Ajuda de MON per a la Selecció de Grups de Hosts i Serveis</header>

<p>Si ja tens el fitxer "mon.cf", aquesta pàgina carrega els valors per defecte
dels Grups de Hosts, Membres i Serveis a partir de la configuració existent.
<p>Cada Grup de hosts introduït es posa en observació per defecte.
Es pot canviar si no vols que s'observi el grup.
<p>Si no selecciones els serveis dels Grups de Hosts (a observar), no es pot
procedir al pas següent de la configuració.



  07070100029e84000081a40000000000000002000000013d1fe2e6000001b8000000200000000000000000000000000000001e00000003reloc/mon/help/hostgroup.html <header>MON Help for Hostgroups and Services Selection</header>
<p> If you already have "mon.cf" file, this page loads the default values of Hostgroups, Members and Services from the existing configuration. 
<p> Each hostgroup entered is set Default to Watch. It can be changed to NO if you dont wish to Watch the hostgroup.
<p> Unless the services for Hostgroups (to watch) are selected, one cannot proceed to next stage of configuration.
07070100029e85000081a40000000000000002000000013d1fe2e600000151000000200000000000000000000000000000001d00000003reloc/mon/help/intro.ca.html  <header>Ajuda de Mon</header>

<p>Aquesta és al pàgina principal d'ajuda de Mon.

<p>Fent servir aquest mòdul, pots fer el següent:<br>
<b><li>Configurar els serveis Mon</li>
   <li>Iniciar/Aturar Mon a la màquina host</li>
   <li>Veure i gestionar les operacions de MON</li></b>
<p>Es dóna ajuda detallada a les pàgines respectives.



   07070100029e86000081a40000000000000002000000013d1fe2e600000129000000200000000000000000000000000000001a00000003reloc/mon/help/intro.html 
<header>Mon Help</header>
<p>This is the main page for Mon Help 

<p>Using this module, one can do the followings.<br>
<b><li>Configure MON services, </li><li>Start/Stop MON on the Hostmachine </li><li>View and Manage MON Operations</li></b>
<p>Detailed Help is provided on the respective pages.
   07070100029e87000081a40000000000000002000000013d1fe2e6000000fd000000200000000000000000000000000000001f00000003reloc/mon/help/monshow.ca.html    <header>Ajuda de MONSHOW</header>

<p>Aquesta pàgina mostra l'estat operacional complet dels serveis MON a la 
màquina host.

<p>L'aparença d'aquesta pàgina es pot canviar ajustant els paràmetres definits
al fitxer <b>"/webmin-0.87/mon/monshorc"</b>



   07070100029e88000081a40000000000000002000000013d1fe2e6000000f9000000200000000000000000000000000000001c00000003reloc/mon/help/monshow.html   <header>Help on MONSHOW </header>
<p>This page shows the full operational status of the MON services on Hostmachine.
<p>The look and feel of this page can be changed by adjusting the parameters defined in the file <b>"/webmin-0.87/mon/monshorc"</b>
   07070100029e89000081a40000000000000002000000013d1fe2e600003020000000200000000000000000000000000000001f00000003reloc/mon/help/service.ca.html    <header>Ajuda de les Definicions de Serveis de MON</header>

<p>Aquest és el segon i últim pas de la configuració de MON.
<p>Els valors per defecte dels Serveis obligatoris es mostren
<marcats amb vermell>. Mira el tema d'ajuda corresponent per a més
informació sobre les Definicions de Serveis.
<p>Per a <b>"mail.alert"</b>, assegura't que sendmail està configurat
i el dimoni <b>"sendmail"</b> està en execució a la màquina hoste.

<H3>Definicions de Servei</H3>
<P>
<DL COMPACT>

<DT><B>service</B><I> nom</I>
<DD>
La definició d'un servei comença amb la paraula clau
<B>service</B>
seguida d'una paraula que és l'etiqueta d'aquest servei.
<P>
Els components d'un servei són un interval, monitor i un o més
períodes de temps, tal i com es defineix més avall.
<P>
Si es defineix un nom de servei &quot;default&quot;  dins d'un
grup d'observació anomenat &quot;default&quot; (vegeu més amunt),
llavors la definició default/default es farà servir per a manipular
trampes desconegudes de mon.
<P>

<DT><B>interval</B><I> temps</I>
<DD>
La paraula clau
<B>interval</B>
seguida d'un valor de temps especifica la freqüència amb què es dispara
un script de monitorització.

Els valors de temps es defineixen com a &quot;30s&quot;, &quot;5m&quot;,
&quot;1h&quot;, o &quot;1d&quot;, que vol dir 30 segons, 1 hora o 1 dia.
La part numèrica pot ser una fracció, com ara &quot;1.5h&quot; o bé una
hora i mitja. Aquest format d'una especificació de temps serà referida
com a <I>temps</I>.
<P>

<DT><B>traptimeout</B><I> temps</I>
<DD>
Aquesta paraula clau pren el mateix argument d'especificació de temps
que <B>interval</B><I>,</I> i fa que el servei esperi una desviació d'una
font exterior al menys amb aquest freqüència, altrament s'enregistrarà
una fallada. Això es fa servir per a serveis de l'estil de <i>hearbeat</i>.
<P>

<DT><B>trapduration</B><I> temps</I>
<DD>
Si es rep una desviació, l'estat del servei al qual s'ha lliurat la desviació,
romandrà normalment constant. Si s'especifica <B>trapduration</B>, l'estat
del servei romandrà en estat de fallada durant el temps especificat per
<I>temps</I>, i llavors es restaurarà a &quot;operatiu&quot;.
<P>

<DT><B>randskew</B><I> temps</I>
<DD>
Ajusta de forma aleatòria l'interval especificat pel paràmetre
<B>interval</B> amb més/menys <B>randskew</B>, més que no pas fer
que el script de monitorització s'executi al principi de cada interval.

El valor de trasllat s'especifica igual que el paràmetre <B>interval</B>:
&quot;30s&quot;, &quot;5m&quot;, etc...
Per exemple, si <B>interval</B> és 1m i <B>randskew</B> és
&quot;5s&quot;, llavors <I>mon</I> programarà el script de monitorització
a un temps d'entre 55 segons i 65 segons. La intenció és ajudar a distibuir
la càrrega del servidor quan hi ha molts serveis programats als mateixos
intervals.
<P>

<DT><B>monitor</B><I> nom [arg...]</I>
<DD>
La paraula clau <B>monitor</B> seguida d'un nom de script i uns arguments
especifica el monitor que s'ha d'executar quan expira el cronòmetre.
Quan s'especifiquen els arguments a enviar al script de monitorització,
se segueixen les convencions tipus shell per a les cometes. El script
s'invoca des del directori donat amb l'argument <B>-s</B>, i totes les
paraules següents es passen com a argument al programa de monitorització,
seguides de la llista de hosts del grup referit pel grup d'observació
actual. Si la línia del monitor acaba amb &quot;;;&quot; com una paraula
separada, llavors no s'afegeixen els grups de hosts a la llista d'arguments
quan s'invoca el programa.
<P>

<DT><B>allow_empty_group</B>
<DD>
L'opció <B>allow_empty_group</B> permetrà que s'invoqui un monitor fins i tot
quan el grup de hosts d'aquest observació estigui buit a causa dels hosts
desactivats. La conducta per defecte és no invocar el monitor quan tots els
hosts d'un grup han estat desactivats.
<P>

<DT><B>description</B><I> descripció</I>
<DD>
El text que segueix a <B>description</B> és analitzat pels programes client
i passat a avisos i monitors a través d'una variable d'entorn. Hauria de
contenir una descripció breu del servei, apropiada per a incloure en un
correu electrònic o una pàgina web.
<P>

<DT><B>exclude_hosts</B><I> host [host...]</I>
<DD>
Tots els hosts llistats després de <B>exclude_hosts</B> seran exclosos 
de la comprovació del servei.
<P>

<DT><B>exclude_period</B><I> període</I>
<DD>
No executar un monitor programat durant el temps identificat per <I>període</I>.
<P>

<DT><B>depend</B><I> expressió</I>
<DD>
La paraula clau <B>depend</B> es fa servir per especificar una expressió de
dependència que s'avalua a veritat o fals, en el sentit booleà. Les 
dependències són, de fet, expressions Perl, i n'han d'obeir totes les
regles sintàctiques. Les expressions s'avaluen en l'espai del seu propi
paquet, per evitar efectes secundaris no desitjats. Si es troba un error
de sintaxi en avaluar l'expressió, s'enregistra a través de syslog.
<P>
Abans de l'avaluació, s'efectuen les següents substitucions a l'expressió:
les frases del tipus &quot;group:service&quot; se substitueixen amb el valor
de l'estat actual d'operació del servei especificat. Aquestes substitucions
de l'estat d'operació es calculen de forma recursiva, de manera que si el
servei a depèn del servei B, i el servei B depèn del servei C, llavors el
servei A depèn del servei C. Els estats d'operació correctes (que s'avaluen
a &quot;1&quot;) són &quot;STAT_OK&quot;, &quot;STAT_COLDSTART&quot;, 
&quot;STAT_WARMSTART&quot;, i &quot;STAT_UNKNOWN&quot;. Es pot fer servir
la paraula &quot;SELF&quot; (tot en majúscules) per al grup (p. ex.,
&quot;SELF:service&quot;), i és un abreujament del grup d'observació actual.
<P>
Aquesta característica es pot fer servir per controlar els avisos dels
serveis que depenen d'altres serveis. p. ex., una prova SMTP que depèn
de la màquina a la qual es fa ping.
<P>

<DT><B>dep_behavior</B><I> {a|m}</I>
<DD>
L'avaluació dels grafs de dependència pot controlar la supressió d'avisos
o bé d'invocacions del monitor.
<P>
<B>Supressió d'avís</B>.
Si s'estableix aquesta opció a &quot;a&quot;, llavors l'expressió de
dependència s'avaluarà després que s'executi el monitor d'aquest servei
o després de rebre una desviació. Només s'enviarà un avís si l'avaluació
reïx, volent dir que cap dels nodes del graf de dependència indica fallada.
<P>
<B>Supressió de monitor</B>.
Si s'estableix a &quot;m&quot;, llavors l'expressió de dependència 
s'avaluarà abans que s'executi el monitor d'aquest servei. Si l'avaluació
reïx, llavors el monitor s'executarà. Altrament, el monitor no s'executarà
i l'estat del servei romandrà igual.
<P>
</DL>

<A NAME="lbAO">&nbsp;</A>
<H3>Definicions de Període</H3>

<P>
Els períodes es fan servir per definir les condicions que han de permetre
el lliurament dels avisos.
<P>
<DL COMPACT>

<DT><B>period</B><I> [etiqueta:] període</I>
<DD>
Un període agrupa un o més avisos i variables que controlen amb quina 
freqüència se succeeix un avís quan hi ha una fallada.
La paraula clau <B>period</B> té dues formes. La primera pren un argument
que és una especificació de període del mòdul Perl Time::Period de Patrick
Ryan. Vegeu &quot;perldoc Time::Period&quot; per a més informació.
<P>
La segona forma necessita una etiqueta seguida d'una especificació de
període, tal i com es defineix abans. L'etiqueta és un caràcter alfabètic
o subguió (_) seguit de zero o més caràcters alfanumèrics o subguions i 
acabada amb dos punts (:). Aquesta forma permet períodes múltiples amb
la mateixa definició de període. Un ús és tenir una definició de període 
que no té cap paràmetre <B>alertafter</B> ni <B>alertevery</B> per a un
període de temps particular, i un altre per al mateix període de temps 
amb un conjunt d'avisos diferents que sí contenen aquests paràmetres.
<P>

<DT><B>alertevery</B><I> temps</I>
<DD>
La paraula clau <B>alertevery</B> (en una definició <B>period</B>)
pren el mateix tipus d'arguments que la variable <B>interval</B>,
i limita el nombre de vegades que s'envia un avís quan el servei
segueix fallant. Per exemple, si l'interval és &quot;1h&quot;, llavors
només els avisos de la secció del període s'enviaran cada hora.
Si en una entrada de període s'omet la paraula clau <B>alertevery</B>,
s'enviarà un avís cada cop que es detecti una fallada. Per defecte, 
si canvia la sortida de dues fallades successives, llavors s'ignora
l'interval <b>alertevery</b>.
Si el darrer argument és la paraula &quot;summary&quot;, llavors només
es tindran en compte les línies de sortida del resum en comparar la
sortida de les successives fallades.
<P>

<DT><B>alertafter</B><I> núm</I>
<DD>
<P>

<DT><B>alertafter</B><I> núm temps</I>
<DD>
La paraula clau <B>alertafter</B> (en una secció <B>period</B>) té dues
formes: només amb l'argument &quot;núm&quot;, o amb els arguments
&quot;núm temps&quot;. Amb la primera forma, només s'invocarà un avís
després de &quot;núm&quot; fallades consecutives.
<P>
Amb la segona forma, els arguments són un enter positiu seguit d'un interval,
tal i com  es descriu a la variable <B>interval</B> més amunt.
Si s'especifiquen aquests paràmetres, llavors els avisos d'aquest període
només es cridaran després que s'esdevingui aquest nombre de fallades en
aquest interval. Per exemple, si es donen a <B>alertafter</B> els arguments
&quot;3&nbsp;30m&quot;, llavors l'avís es cridarà si se succeeixen 3
fallades en 30 minuts.
<P>

<DT><B>numalerts</B> <I>núm</I>
<DD>
<P>
Aquesta variable diu al servidor que no cridi més de <I>núm</I> avisos
durant una fallada. El comptador d'avisos es manté en base al període,
i es reinicia després de cada pas a operatiu.
<P>

<DT><B>comp_alerts</B>
<DD>
<P>
Si s'especifica aquesta opció, llavors només es cridaran els avisos
<b>upalert</b> si s'ha cridat l'avís &quot;down&quot; corresponent.
<P>

<DT><B>alert</B><I> avís [arg...]</I>
<DD>
Un període pot contenir múltiples avisos, que es disparen en cas de 
fallada del servei. Un avís s'especifica amb la paraula clau
<B>alert</B>, seguida d'un paràmetre <B>exit</B> opcional, i els 
arguments que s'interpreten igual que la definició <B>monitor</B>,
però sense l'excepció &quot;;;&quot;. El paràmetre <B>exit</B>
pren la forma <B>exit=x</B> o <B>exit=x-y</B> i per efecte que 
l'avís només es cridi si l'estat de sortida del script de monitorització
és dins del rang del paràmetre <B>exit</B>. Si, per exemple, la línia 
d'avís és <I>alert exit=10-20 mail.alert mis</I>, llavors
<I>mail-alert</I> només s'invocarà amb <I>mis</I> com a arguments
si el valor de retorn del programa monitor està entre 10 i 20.
Aquesta característica permet disparar avisos diferents en diferents
nivells de severitat (com ara quan l'espai lliure del disc passa del
8% al 3%).
<P>
Vegeu la secció <B>PROGRAMES D'AVÍS</B> més amunt per a una llista de
paràmetres que mon passarà automàticament als programes d'avís.
<P>

<DT><B>upalert</B><I> avís [arg...]</I>
<DD>
<B>upalert</B> és el complement de <B>alert</B>.
Es crida quan un servei fa la transició d'estat de fallada a operatiu.
El script <B>upalert</B> es crida subministrant els mateixos paràmetres
que el script <B>alert</B>, amb l'addició del paràmetre <B>-u</B>,
que es fa servir simplement per deixar que un script d'avís sàpiga que
està essent cridat com a <B>upalert</B>. Es poden especificar avisos
múltiples per a cada definició de període. Tingues en compte que la
conducta per defecte és que s'enviï un avís <B>upalert</B> independentment
de si s'han enviat abans avisos &quot;down&quot;, ja que &quot;down&quot;
es dispara durant una transició d'estat. Estableix l'opció d'avisos per
període <B>comp_alerts</B> per aparellar els avisos <B>upalert</B> amb
els avisos &quot;down&quot;.
<P>

<DT><B>startupalert</B><I> avís [arg...]</I>
<DD>
<B>startupalert</B> només es crida quan el servidior <B>mon</B> inicia
la seva execució.
<P>

<DT><B>upalertafter</B><I> temps</I>
<DD>
El paràmetre <B>upalertafter</B> s'especifica com una cadena que segueix
la sintaxi del paràmetre <B>interval</B> (&quot;30s&quot;, &quot;1m&quot;,
etc.), i controla l'execució de <B>upalert</B>.
Si un servei torna a estar operatiu després de fallar durant un temps
més gran o igual que el valor d'aquesta opció, llavors es cridarà un
<B>upalert</B>. Fes servir aquesta opció per evitar que es cridi
un <B>upalert</B> a causa de  &quot;blips&quot; (petits talls).
<P>

07070100029e8a000081a40000000000000002000000013d1fe2e600002e24000000200000000000000000000000000000001c00000003reloc/mon/help/service.html   <header>MON Help on Service Definitions</header>
<p>This is second and last stage for MON configuration.
<p>Default values are shown for the Mandatory services <marked in RED color>. See the respective help topic below for more help on the Service Definitions.
<p>For <b>"mail.alert"</b>, ensure that the sendmail is configured and <b>"sendmail"</b> deamon is started on the hostmachine.

<H3>Service Definitions</H3>

<P>
<DL COMPACT>
<DT><B>service</B><I> servicename</I>

<DD>
A service definition begins with they keyword
<B>service</B>

followed by a word which is the tag for this service.
<P>
The components of a service are an interval, monitor, and
one or more time period definitions, as defined below.
<P>
If a service name of &quot;default&quot; is defined within a watch
group called &quot;dafault&quot; (see above), then the default/default
definition will be used for handling unknown mon traps.
<P>
<DT><B>interval</B><I> timeval</I>

<DD>
The keyword
<B>interval</B>

followed by a time value specifies the frequency that
a monitor script will be triggered.
Time values are defined as &quot;30s&quot;, &quot;5m&quot;, &quot;1h&quot;, or &quot;1d&quot;,
meaning 30 seconds, 5 minutes, 1 hour, or 1 day. The numeric portion
may be a fraction, such as &quot;1.5h&quot; or an hour and a half. This
format of a time specification will be referred to as
<I>timeval</I>.

<P>
<DT><B>traptimeout</B><I> timeval</I>

<DD>
This keyword takes the same time specification argument as
<B>interval</B><I>,</I>

and makes the service expect a trap from an external source
at least that often, else a failure will be registered. This is
used for a heartbeat-style service.
<P>
<DT><B>trapduration</B><I> timeval</I>

<DD>
If a trap is received, the status of the service the trap was delivered
to will normally remain constant. If
<B>trapduration</B>

is specified, the status of the service will remain in a failure
state for the duration specified by
<I>timeval</I>,

and then it will be reset to &quot;success&quot;.
<P>
<DT><B>randskew</B><I> timeval</I>

<DD>
Rather than schedule the monitor script to run at the start of each
interval, randomly adjust the interval specified by the
<B>interval</B>

parameter by plus-or-minus
<B>randskew.</B>

The skew value is specified as the
<B>interval</B>

parameter: &quot;30s&quot;, &quot;5m&quot;, etc...
For example if
<B>interval</B>

is 1m, and
<B>randskew</B>

is &quot;5s&quot;, then
<I>mon</I>

will schedule the monitor script some time between every
55 seconds and 65 seconds.
The intent is to help distribute the load on the server when
many services are scheduled at the same intervals.
<P>
<DT><B>monitor</B><I> monitor-name [arg...]</I>

<DD>
The keyword
<B>monitor</B>

followed by a script name and arguments
specifies the monitor to run when the timer
expires. Shell-like quoting conventions are
followed when specifying the arguments to send
to the monitor script.
The script is invoked from the directory
given with the
<B>-s</B>

argument, and all following words are supplied
as arguments to the monitor program, followed by the
list of hosts in the group referred to by the current watch group.
If the monitor line ends with &quot;;;&quot; as a separate word,
the host groups are not appended to the argument list
when the program is invoked.
<P>
<DT><B>allow_empty_group</B>

<DD>
The
<B>allow_empty_group</B>

option will allow a monitor to be invoked even when the
hostgroup for that watch is empty because of
disabled hosts. The default behavior is not
to invoke the monitor when all hosts in a hostgroup
have been disabled.
<P>
<DT><B>description</B><I> descriptiontext</I>

<DD>
The text following
<B>description</B>

is queried by client programs, passed to alerts and monitors via an
environment variable. It should contain a brief description of the
service, suitable for inclusion in an email or on a web page.
<P>
<DT><B>exclude_hosts</B><I> host [host...]</I>

<DD>
Any hosts listed after
<B>exclude_hosts</B>

will be excluded from the service check.
<P>
<DT><B>exclude_period</B><I> periodspec</I>

<DD>
Do not run a scheduled monitor during the time
identified by
<I>periodspec</I>.

<P>
<DT><B>depend</B><I> dependexpression</I>

<DD>
The
<B>depend</B>

keyword is used to specify a dependency expression, which
evaluates to either true of false, in the boolean sense.
Dependencies are actual Perl expressions, and must obey all syntactical
rules. The expressions are evaluated in their own package space so as
to not accidentally have some unwanted side-effect.
If a syntax error is found when evaluating the expression, it
is logged via syslog.
<P>
Before evaluation, the following substitutions on the expression occur:
phrases which look like &quot;group:service&quot; are substituted with the value
of the current operational status of that specified service. These
opstatus substitutions are computed recursively, so if service A
depends upon service B, and service B depends upon service C, then
service A depends upon service C. Successful operational statuses (which
evaluate to &quot;1&quot;) are &quot;STAT_OK&quot;, &quot;STAT_COLDSTART&quot;, &quot;STAT_WARMSTART&quot;, and
&quot;STAT_UNKNOWN&quot;.  The word &quot;SELF&quot; (in all caps) can be used for the group
(e.g. &quot;SELF:service&quot;), and is an abbreviation for the current watch group.
<P>
This feature can be used to control alerts for services which are
dependent on other services, e.g. an SMTP test which is dependent upon
the machine being ping-reachable.
<P>
<DT><B>dep_behavior</B><I> {a|m}</I>

<DD>
The evaluation of dependency graphs
can control the
suppression of either alert or monitor invocations.
<P>
<B>Alert suppression</B>.

If this option is set to &quot;a&quot;,
then the dependency expression
will be evaluated after the
monitor for the service exits or
after a trap is received.
An alert will only be sent
if the evaluation succeeds, meaning
that none of the nodes in the dependency
graph indicate failure.
<P>
<B>Monitor suppression</B>.

If it is set to &quot;m&quot;,
then the dependency expression will be evaulated
before the monitor for the service is about to run.
If the evaulation succeeds, then the monitor
will be run. Otherwise, the monitor will not
be run and the status of the service will remain
the same.
<P>
</DL>
<A NAME="lbAO">&nbsp;</A>
<H3>Period Definitions</H3>

<P>
Periods are used to define the conditions which
should allow alerts
to be delivered.
<P>
<DL COMPACT>
<DT><B>period</B><I> [label:] periodspec</I>

<DD>
A period groups one or more alarms and variables
which control how often an alert happens when there
is a failure.
The
<B>period</B>

keyword has two forms. The first
takes an argument which is a
period specification from Patrick Ryan's
Time::Period Perl 5 module. Refer to
&quot;perldoc Time::Period&quot; for more information.
<P>
The second form requires a label followed by a period specification, as
defined above. The label is a tag consisting of an alphabetic character
or underscore followed by zero or more alphanumerics or underscores
and ending with a colon. This
form allows multiple periods with the same period definition. One use
is to have a period definition which has no
<B>alertafter</B>

or
<B>alertevery</B>

parameters for a particular time period, and another
for the same time period with a different
set of alerts that does contain those
parameters.
<P>
<DT><B>alertevery</B><I> timeval</I>

<DD>
The
<B>alertevery</B>

keyword (within a
<B>period</B>

definition) takes the same type of argument as the
<B>interval</B>

variable, and limits the number of times an alert
is sent when the service continues to fail.
For example, if the interval is &quot;1h&quot;, then only
the alerts in the period section will only
be triggered once every hour. If the
<B>alertevery</B>

keyword is
omitted in a period entry, an alert will be sent
out every time a failure is detected. By default,
if the output of two successive failures changes,
then the alertevery interval is overridden.
If the word
&quot;summary&quot; is the last argument, then only the summary
output lines will be considered when comparing the
output of successive failures.
<P>
<DT><B>alertafter</B><I> num</I>

<DD>
<P>
<DT><B>alertafter</B><I> num timeval</I>

<DD>
The
<B>alertafter</B>

keyword (within a
<B>period</B>

section) has two forms: only with the &quot;num&quot;
argument, or with the &quot;num timeval&quot; arguments.
In the first form, an alert will only be invoked
after &quot;num&quot; consecutive failures.
<P>
In the second form,
the arguments are a positive integer followed by an interval,
as described by the
<B>interval</B>

variable above.
If these parameters are specified,
then the alerts for that period will only
be called after that many failures happen
within that interval. For example,
if
<B>alertafter</B>

is given the arguments &quot;3&nbsp;30m&quot;, then the alert will be called
if 3 failures happen within 30 minutes.
<P>
<DT><B>numalerts</B><I> num</I>

<DD>
<P>
This variable tells the server to call no more than
<I>num</I>

alerts during a
failure. The alert counter is kept on a per-period basis,
and is reset upon each success.
<P>
<DT><B>comp_alerts</B>

<DD>
<P>
If this option is specified, then upalerts will only be
called if a corresponding &quot;down&quot; alert has been called.
<P>
<DT><B>alert</B><I> alert [arg...]</I>

<DD>
A period may contain multiple alerts, which are triggered
upon failure of the service. An alert is specified with
the
<B>alert</B>

keyword, followed by an optional
<B>exit</B>

parmeter, and arguments which are interpreted the same as
the
<B>monitor</B>

definition, but without the &quot;;;&quot; exception. The
<B>exit</B>

parameter takes the form of 
<B>exit=x</B>

or
<B>exit=x-y</B>

and has the effect that the alert is only called if the
exit status of the monitor script falls within the range
of the
<B>exit</B>

parameter. If, for example, the alert line is
<I>alert exit=10-20 mail.alert mis</I>

then
<I>mail-alert</I>

will only be invoked with
<I>mis</I>

as its arguments if the monitor
program's exit value is between 10 and 20. This feature
allows you to trigger different alerts at different
severity levels (like when free disk space goes from 8% to 3%).
<P>
See the
<B>ALERT PROGRAMS</B>

section above for a list of the pramaeters mon will pass 
automatically to alert programs.
<P>
<DT><B>upalert</B><I> alert [arg...]</I>

<DD>
An
<B>upalert</B>

is the compliment of an
<B>alert</B>.

An upalert is called when a services makes the state transition from
failure to success. The
<B>upalert</B>

script is called supplying
the same parameters as the
<B>alert</B>

script, with the addition of the
<B>-u</B>

parameter which is simply used to let
an alert script know that it is being called
as an upalert. Multiple upalerts may be
specified for each period definition.
Please note that the default behavior is that
an upalert will be sent
regardless if there were any prior &quot;down&quot; alerts
sent, since upalerts are triggered on a state
transition. Set the per-period
<B>comp_alerts</B>

option to pair upalerts with &quot;down&quot; alerts.
<P>
<DT><B>startupalert</B><I> alert [arg...]</I>

<DD>
A
<B>startupalert</B>

is only called when the
<B>mon</B>

server starts execution.
<P>
<DT><B>upalertafter</B><I> timeval</I>

<DD>
The
<B>upalertafter</B>

parameter is specified as a string that
follows the syntax of the
<B>interval</B>

parameter (&quot;30s&quot;, &quot;1m&quot;, etc.), and
controls the triggering of an
<B>upalert</B>.

If a service comes back up after
being down for a time greater than
or equal to the value of this option, an
<B>upalert</B>

will be called. Use this option to prevent
upalerts to be called because of &quot;blips&quot; (brief outages).
<P>
07070100028724000081e40000000000000002000000013d1fe2e6000009f2000000200000000000000000000000000000001900000003reloc/mon/hostgroups.cgi  #!/usr/local/bin/perl
# hostgroups.cgi
#
###
require './mon-lib.pl';
&header($text{'hostgroups_title'}, "","hostgroup");
print"<hr>";
#
## Read mon.cf file to array
if(-f "$config{'cfbasedir'}/mon.cf"){
local @conf_array=&write_file_to_array("$config{'cfbasedir'}/mon.cf");
@conf_groups=();
%conf_memb=();
%conf_service=();
$count=0;
	foreach $count(0..$#conf_array){
		if(!($conf_array[$count]=~/^#/)&&($conf_array[$count]=~/^hostgroup/i)){
		#print"READ:$conf_array[$count]<br>";
			local @tmp=split(/\s+/,$conf_array[$count]);
			push(@conf_groups,$tmp[1]);
			$conf_memb{$tmp[1]}=(join "\n",@tmp[2..$#tmp]);
		#print"GRP:$tmp[1]<br>";
		#print"MEMB=$conf_memb{$tmp[1]}<br>";
		}elsif(!($conf_array[$count]=~/^#/i) && ($conf_array[$count]=~/^watch|^\s+watch/i)){
			$aa=`echo $conf_array[$count]|cut -d " " -f2`;chomp($aa);
			$conf_service{$aa}="";
		#print"WATCH:$aa<br>";
		}elsif(!($conf_array[$count]=~/^#/i) && ($conf_array[$count]=~/^service|^\s+service/i)){
			local @servline=split(/\s+/,$conf_array[$count]);
			$conf_service{$aa}=(join " ", $conf_service{$aa}, $servline[$#servline]);
		} 
	}
}
#
### form
print <<EOF;
<form action=services.cgi><center>
<table border><tr $tb><th height=35 colspan=4>$text{'head_hostgroups'}</th></tr>
<tr bgcolor=wheat><th>$text{'head_groups'}</th><th>$text{'head_members'}<br>$text{'line'}</th><th>$text{'head_watch'}</th><th>$text{'head_services'}</th></tr>
EOF
@services=('http','ftp','telnet','ping','freespace','nntp','dns','reboot','pop','smtp');
for ($i=0; $i<=($#conf_groups+4); $i++){
	print"<tr bgcolor=#cccccc><td><input type=text name=groups_$i size=15 value=\"$conf_groups[$i]\"></td><td><textarea name=members_$i cols=10 rows=3>$conf_memb{$conf_groups[$i]}</textarea></td>\n";
	print"<td align=center><input type=radio name=watchgroup_$i value=Yes checked>&nbsp;Yes<br><input type=radio name=watchgroup_$i value=No >&nbsp;No</td>\n";
	print"<td><table><tr>\n";
	for ($j=0;$j<10;$j++){
		if($conf_service{$conf_groups[$i]}=~/$services[$j]/){
			print"<td><input type=checkbox name=services_$i value=\"$services[$j]\" checked>&nbsp;$services[$j]</td>\n";
		}else{
			print"<td><input type=checkbox name=services_$i value=\"$services[$j]\">&nbsp;$services[$j]</td>\n";
		}
		print"</tr><tr>\n" if($j==4);
	}
	print"</tr></table>$text{'other'}<input type=text name=other_services_$i size=15></td></tr>";
}
print <<EOF;
</table>
<input type=hidden name=count value=$i>
<br><input type=submit value=\"$text{'next'}\"><br>
</center></form>
EOF
print"<hr>";
&footer("",$text{'index_title'});
  0707010002b48a000041ed0000000000000001000000023d1ffa9100000000000000200000000000000000000000000000001100000003reloc/mon/images  0707010002b48b000081a40000000000000002000000013d1fe2e600000113000000200000000000000000000000000000001a00000003reloc/mon/images/auth.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 0707010002b48c000081a40000000000000002000000013d1fe2e600000ad7000000200000000000000000000000000000001c00000003reloc/mon/images/global.gif   GIF89a0 0 ç  7™þúýj¶þ&†ênÑäêô^Âj†¾¼Íá@¢þF¬¢¶ÚVŽÊ.šþNq¯Z¶"~â–¶Þu“ÃV»F†Ø@d©.Žô–¬ÎO¢ûºÒæ
Jª¯Äáj¢æfÊ}¹ó2rÎvÒËÚë;ÛJšêî÷û?ˆßR®BŽÚ¢ÑýŽ¬Ø(N¤_©õ6€×>£Îæúh¦ç6^¨|¾ü.i½:ˆáBšò2–û!Kž–Ãð.n¾„¿ò2~Ø¦Öû6Z¢Nªþf®îUžê6ˆã&fº.wÔ>šø”Êþd‚Â:ïz²ëóùýN®N²aÃH¢þbÇ2‡çjÎ?ž&nÍŽÆîB¦è÷üFŒà"zßF‚Ú%‚áU˜ÝÒîú¶ÖúrÖZ¥öv¶êúþý¶ÊÞ*Šð.’÷Br²R¸:šúÚâòJ¯ºÚôœÎü‡ºîFžZ­þ:–÷Z½:¡"fÊA–é"jÊ`˜Úg±þJªþ_®þV¼R¶*zÝFzÆƒ¾þfÇJ–ì.~ÞF¦*‚èJ²Âàør¨æ*vÐV¦÷|œÊþþö­ÖüBŽÞ"nÆb¾zŽÂZ¿äñ÷>ªÖé÷S’Þs¶û6’î®Òþr²òI¦ýT™éV¶ªÊöNµ3xÓVz¶zºþúúüþþú^¿Rªþ2šþ»àý²Þþ
B¨ŠÁûO¦ý&zß6ŠönÒ2Šñ&~Ú6ŽîBzÎÜïùsºþjÐþþþ6–ý,qÐR²ÊàóM’Þ?ì¬¼Ù:žýGø9¡^’Ò>zÎ*~Þ*†ì&v×>š^žê.Šñêïö˜²ÞmÀ>žýŒÀîVº©Òün²øTžö”ÆþfË:—‚¹ò"rØ6šþZ¿:ªU®û>£Bjª{•ÅBü&‚èbÉiªê¶ÝùƒÂþnÖBªb²þ¯Úþ^Æ‹Çý2ŽòÜèõ3’ø6€à&~ä2‚Ü&rÚMŽÜ
F­fÏo±íVªý&iÈ¢²ÚjÒ"vÛNžò
J°R»žÒýN¶?–óR¸J’îV¾>Šê,    0 0  þ e	H°à—‚²>` B„#J”å©˜ŠpâT„Ñ0N‰ðË—O_ EÐsF“07Ü4…kñæ4h²…I’ä½Öµ)£m]víjõ/ª)á­©°gÏ‚(m1p¢+A&–N…ŠGVl(y¢4š¥M™1¶>=¼*ËdŠV]™`8E–›>ëDD¡ §Ñ½?îpY²„l5H¬ŽütnÎ¬®–zÄcc‡K øñû!¤|úéK'$
®!“~¼’ñ“{º…·¢33f°$EºCMÇþ&L=á^ %¸è²çâIH¸¿jGG ,Xbþt
¹óP›€_ {îô‘ž(î\ƒŽ
eŠw’ÀÃ{´³É;ÏpÓ7Üc€zþà£‰&ÀÄ.mÈðŠDHtÓÕ)§ôæÝ€ß”³KäñÄ±¬øDM4q^„ø(È:	÷	tHÓèÖƒâxž)^TÒN,ë¬Ž*Pªò=/6HN#Ë)¡Ì)h3‰’ ÉeìrŠ5EJC‰Î¼ÀÂ%„TÂŽ4 ÔS'à€CÀÏ4!>µ4s
ÈÐàA(I2|u¦&›ipÀÎ%è`Å¥˜ÚÉ{*¨žhéÄc‰tY 1P ¶ø¡[!D
ø)þD‚ `
¨“k®¨X¡©*±ÀHN„t1hò€!P _ƒI–ˆ( ¬D,CI  ÂŠ:Û 0Û„«Ž¨ÔÃ°0àBˆª4ô‰#AÔ²K´t<ZN( ‚H;¹â-1aÌ À¨Ó«4àÄ’`ë6bÏ)»ÐM(¡aÁ>§èÐ… 1ÄPŽ¬Ë rDÛF´ì21À ¢Î¸õ<ù((S‹ñøá  äÁ4“„R‚	]„ÌAµÑÜ‚Ê/)»,Fbˆñ²Ìƒ“à§‹Œ Ço8Àl<	 J3J”òÈ	êüÀ²S×Pƒ(v[ÆþÁÛ\*=
R£s0›QÊH ACNœB‹›H"Ñ,s*NÀCŒèØ=Ë,¢L3MèXÆ 
›K@FˆI?Qœ@L£KG›°IÜ<É2R°òK7«Ô=Mè ‡^ƒ0o3.Ã}º±n ˆP
 ØÒÕ.Ü£‘4ñÄ:‘ >à2õç5LÃ¾û¥‡±¾6|s„üáÆÂä‚F	¨Ã”0FÌ@|%Èƒ°@ØÁxîÝèDQ:˜©Ã\à ‡ŒÁM¸#¿ˆÂ<2 mœ‚÷à‡?øÐ„XlâV B7â0„ö}NŸKéL³re°þä ?ôá¨Â	@ `	7bZÄnñ‚`$ÃÀ(ÞÝÜ'Š.Î"oÌ“™ðn€ƒÐÀò0‰˜¡Ú þ BjÃ…/8 r°ŠâuÎ}Ÿ]èxØ·1fÐOÔÀG Š˜Š6Ø‚IHÀ?Ü¡	~xÂX@ŠnŒ€Lh†=jÐåébñÃÌêñ7QÃüPÂ¦Ð]Pá0˜.Ÿ	PÃ ™¤ X0\8ÁÑpÄÚŠÑQy{Þ!¯„š{”¢¸è‚IŽa&˜À{šøeÞ‹*Œ€XØ0ˆ1
*Àƒ_t™9°<ÉþQB§0œd„ÐÜ£_6¡| ¬p>oý ßhYx˜0°ò‡~‚¥>¯!#lA‡ 
nÄG0@žA€MY!Yˆ†á`ìa2£§èÑõL@÷PÀ¦€|âŸÈF@‡?Ê Æ‚ž ™¸Áˆ3qmãå²BÃxDeÄòS¸Ær /YœcÜ ÃõÁL4"F,ªÂ!)b3ãÖ¸òÀ°2H]g-Å5Þ€HÌÅ†XÂ#¦à%àþ0 9žÑŽ4 bhð†7ºQ®z˜–•õ Ç3žÄWâA	÷þÇ5q‘<¤6xC(›Bed/È
J6oŒ£ à‚4ðD z¨=þÐ|†
 !ä¹€FáŽâÔhˆ†|,cŸ=BžÖ"!²=@uÇ5Z @äž8 xqw8GøhÄbàX¥áÀƒx=–°Z?ý	ù“ï5 pÚ$äHp  ªñ^ê£ ˜¸Š|áXÝ‚@4£z^9%¤Fá¨ *@‚„Dä¯¨  fÛÝ{(PÅ¬$á8\É rˆÂz–£}†#­oàAzâ¼áá(…•`Y<ÔÕð­?0ñ%ø£ÉX¤Ã;Q^TÀ“	$ wXïÑ€•à†âãp *lÝQŠ™ð‚ AC®‚’¨€¿×¸F) .?G5dtP§PŠðÂ¹8I$òCPÁk€ôlpÍ"*àÕ0V@	8â$tÁÊ¼Œá
2Èúáx°Ãì)p˜ PA6Î!—\ce _@‚-n…tBð`Z  (ð@` Á!jcgOä$€„ ±ŒL\ !p„'ÌMïzK$  ; 0707010002b48d000081a40000000000000002000000013d1fe2e6000000fb000000200000000000000000000000000000001c00000003reloc/mon/images/groups.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ì„©Ëí£œ†‹³u†¢ÈuÑ7¦`i>¨:²móÂ¡</µ-ày²³ù~‡ lHUHâ²·‰^rÏgŒ*ä‘¨Ò‹ö–Ô}Wa…uË•¦ºQO`ðŽÃƒg°DŽ‡¯Ç½;üGÇ×t1pˆx(8Fè±Ç˜¤Y†PGFY´Æ¦aõøÕ¨“·Ú1Jª
è9éö–(«8ˆ™ùúãZê4ZëÄê…Û2ª'Üi˜hÙg«´ÉÉL¡
ÝÌìŒmHŒ‡Üg«í-<;;5n[  ; 0707010002b48e000081a40000000000000002000000013d1fe2e6000005b5000000200000000000000000000000000000001a00000003reloc/mon/images/icon.gif GIF89a0 0 Æ  :::ºººnnn¦¦¦†††æææ–––ÞÞÞBBBrrrFFFŠŠŠÊÊÊNNNvvv²²²zzzbbbŽŽŽÆÆÆžžžRRR‚‚‚ÂÂÂ’’’ÖÖÖ^^^®®®ššš¾¾¾¶¶¶êêêjjjVVVªªª~~~¢¢¢ÎÎÎZZZ’’–‚‚†âââfff††Š~~‚>>>ZZ^ŠŠŽÚÚÚŽŽ’ÒÒÒJJJnnr––šššž²²¶¶¶ºrrvjjn¦¦ªææêÆÆÊžž¢ÂÂÆ®®²¾¾Â>>BffjVVZ::>ÚÚÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,   0 *  þ€‚ƒ„…†‡†ˆ†Ž’"‹–ƒ™ž„§©—‹´"ƒª©#$¢¯‡)µµ#®‚¿¦1*ÆÇ„··(,CÐƒÓ'ì'Ö9$»Ý„¾³((´*6óÒ0°3uôÔ—/Ÿ	;.xã` Õ@+¤KxÀ€-|·,°pAc@¡Ü<Ãš³Ý„Ó§Ÿ4*Mh@eÁ6¾*p@®È‰t¡cÇIŠì|P`@`Z*ð@œ…g³ôiÈYˆÇ¯ªjÔˆã„¬þÑ,}€!!-7X„5!@ç ”©j$Ð âZY<}îVVú, 0¡Ã¯ ”1$h@‚š	H\”Bq#°Zæ¢ïÓ‚„°!V¬/ú B6xI‹²å?ÓP9Ð›ÃçÏ_GúPBÖZ˜ð`™×„¦©r`"”ÛÂ	? ñM&§5âáñ+.7Ð*àsgÒ©SBc8ÐB”0Üû€÷5±iXõÙ,Ä%M{÷40ƒd° #|w\ùEÈÁhS¥š00à-Ð‚
0ÂÐ]-|Ý—™Š»LÐAUŸ]'B\)PþÐØ
4@@†)tÇ`}Jã\*Ë­(È"ÔU—‰IÓCzŽ!  óÌÇÂMM=¥Ê`Z
r¸ÕÅÂ A g
+¬Àä6È´°ÀB…ˆ‡¥	qþqé‘ùB <\.& à€h‚¤àR#	àTxîàD*ÌÔð. À7ž²Våø=GÞ6„Lð€—¬`Dá¬€B
Œ B€(U£ªãÙrh’*./<PCŸäPD¡2œ¡,qk®±dÉÍ–2Y×Á6àäz<`(‰8x¥pjõÜòj°+!ÕŠ+’¡DTvRUéš@Áº„þÔÅí,„°Â‡ä5%NÑZiá®þ:*™¸DÐB$8ˆ÷J–7Dò«ÁÄˆ0Nz# `Âbï,<2r5'ÀhÉøJfŒ "0¯)ó‰IKÈtÓ§A €lýÀD*j¢Yà2!tB,‹H
„’Ak&ysÛ#h4!Ä¦ÍÖl@n¹K“±ÔÅÁ ¼.â+¬,ÂC	@@ô6Ä@/¥\H#mkrA ”.¤ù@à:Ù>üÓÁX ‚ßY Ï%0pÉ$¬ €&DÃ6ÑL 	§‘M€ü£(C¶—ò<ðÀxÐ†Ó¢É÷—zùìâ;!  ;   0707010002b48f000081a40000000000000002000000013d1fe2e60000050d000000200000000000000000000000000000001900000003reloc/mon/images/mon.gif  ÿØÿà JFIF      ÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ  0 0" ÿÄ           	
ÿÄ µ   } !1AQa"q2‘¡#B±ÁRÑð$3br‚	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ        	
ÿÄ µ  w !1AQaq"2B‘¡±Á	#3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ   ? õZŠ+¨&äŽBÊ„†! Ž£Î
–±låû5®±,D	RidúÇò Hn žÛí1Ê¦óT :“œ`pi¶wÖº„u¤ë4y+‘‘‚;yqò]Ioðò8âBÒÜÎð¦o&W {çqïW|-gs£j7:mË³‰bYÐãƒ†üy Øu‹‹	ï£œ›[}Þl†'vŒ·dãØU¸fKˆ#š2JH¡Ô• àŒŽ#ñ®=%áÿ Ç»˜îoxôOÿ ^º­=Bé¶ª:P~‚€Ú”+©ýƒcù¼|Ümû»«îàéöZìðÇæJèÇc7—uãÓ¯çZFº>&þÓ7­öùá±q÷6õÆzóÖ³¯ŠCr…‘ä7S›lÀÿ IROåš ]*Ù.¼;£#€Bê,ø>ªÒ°ýTV­ä‚/ékÞX§OËcJÏÐ\.…£[Ù¿ö·øÕ½MKx§B }ÑpOýðõ rr¶Òxªwew9|pY&™>¸+Z:‡ŽtßÝéš]ä--Ä2É]ŠíÉÏP{Vw‰7ÛÙ5Ò•9ÕmdÈäî2²þ©VuÏ[xšM2ùåhä†ÝƒÔGó? vµ€ÑÆ×š{8b~Ý:¯tvçþø­ú¥efð£	ØHÂw•1ÙýpM s–MäxOLºf½é’FäáL®¤ñþõhÇ|º‡Œ£Ki¢žÖÖÉ‰tä,®ËÀaÁù@ü¾µf¶—+¹\n¡,H?¨ªžðüš$7/rë%ÌìeW8©? dx¾Ñn|	¨¹BÏo<©Ž£ý!ÔŸûåv':}·ýr_ä+<èò·†îô¶¸}ó‰‡›Ÿ˜ùŒÍÉï÷°}kJÒoe,wãT'×ÿÙ   0707010002b490000081a40000000000000002000000013d1fe2e600000128000000200000000000000000000000000000001e00000003reloc/mon/images/mon_conf.gif GIF89a0 0 ¡     ÿÿÿÿÿÿÿÿÿ!þBy Gimp Ostie! !ù
  ,    0 0  ç”©Ëí£œ´Ú‹³Þ¼û†âè æ‰f€€¦ˆÄr»Z°<×,€çüyáõbº_@xüµlBd’ÕS&O‘J„b³(ªÉêõm«Ò¸IDÏ´oEyJ_›ìpuâœ;é†òŒc·ÖÃ‡gøWw(‘÷ÈæÆ˜ö&gYbÔ¤!…Õ¹P¦t‰DÚpúà(™ f¸ª	J(Šf*‹æÊ&0˜«û›¥rU‹7¥øzë$W˜…1­7h\v9µ‘h—ãî9=8”Ù±i}ÂäC²Øv¯¿Ïßïÿ0 Àü
  ;0707010002b491000081a40000000000000002000000013d1fe2e60000013c000000200000000000000000000000000000002000000003reloc/mon/images/mon_global.gif   GIF89a0 0 ã  ÿÿÿªªªUUU999   ÇÇÇrrrãããŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  ßÈI«½8ëÍ»Ï 1ˆAñ­S!”pÂrÈ+ïr}co3~• q	;"%B¦Ô†<H¯$b)H
	QuKóPðïÐï7Ìf¶Cê¿KlÜ2pCdr,„sˆ1‚OQ;†‘D–“2všcŸ€¢ œ2z§jC«­qK±²®K¬¶˜D¶¥3¶|ªº¿ ‹oÈ¯1žÌŽ%¾ÑÓÃÈØÚ¿àáÇÖåæç¿	"ëëèØîCñŒæïó;÷2ù1èêìíè–‹  ;0707010002b492000081a40000000000000002000000013d1fe2e60000013c000000200000000000000000000000000000002000000003reloc/mon/images/mon_status.gif   GIF89a0 0 ã  ÿÿÿªªªUUU999   ÇÇÇrrrãããŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  ßÈI«½8ëÍ»Ï 1ˆAñ­S!”pÂrÈ+ïr}co3~• q	;"%B¦Ô†<H¯$b)H
	QuKóPðïÐï7Ìf¶Cê¿KlÜ2pCdr,„sˆ1‚OQ;†‘D–“2všcŸ€¢ œ2z§jC«­qK±²®K¬¶˜D¶¥3¶|ªº¿ ‹oÈ¯1žÌŽ%¾ÑÓÃÈØÚ¿àáÇÖåæç¿	"ëëèØîCñŒæïó;÷2ù1èêìíè–‹  ;0707010002b493000081a40000000000000002000000013d1fe2e6000001da000000200000000000000000000000000000001d00000003reloc/mon/images/periods.gif  GIF89a0 0 Â  ÿÿÿ¿¿¿®²ÃÌÌÌ™™™fff   ²Mz,    0 0  þºÜþ0ÊI«½8ëÍ—`ØYA0h®c|i¼fûÄDžº: ´Ÿ-µ+yGð™„›j§Ô1VÝš™*V,8«]ºXj•Yd·s°Æ;€±ö¥n‡	,tzjdoY^Suiw„|†9‰Uxlin„d–‰<”–—U‚'ju ˜VIŸœE£ªzI—¥bpƒŸªƒº¤7¹•½«kHkšÁÂ=Ä_´µ{“:7¦”½FÛÜµÇÒiÕÂ±{Ï´çÛKGFMÀ byŽVÝéÐHë× î!kÄææáŸÍV©ûr
€pü‘k¸®Ø1‚Óx@@˜¨P‰7•4qŸ oßŠr6	ˆ’R‹|$30d>%Ä´’Š7QùþL3ø.¦/*êÀ\Ä8tÂŠHñ¸Çp‰K¢B,’ºÒYE«¦ Ò'PmÎš[áÄ	Khkæ»C–­…ºm"½$¬ã~›5PáüxBrƒ¡÷õÛ"“ZS³¡Àò/v9+@à@BÑ¡^Íºµë	  ;  0707010002b494000081a40000000000000002000000013d1fe2e60000013c000000200000000000000000000000000000001c00000003reloc/mon/images/status.gif   GIF89a0 0 ã  ÿÿÿªªªUUU999   ÇÇÇrrrãããŽŽŽÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  ßÈI«½8ëÍ»Ï 1ˆAñ­S!”pÂrÈ+ïr}co3~• q	;"%B¦Ô†<H¯$b)H
	QuKóPðïÐï7Ìf¶Cê¿KlÜ2pCdr,„sˆ1‚OQ;†‘D–“2všcŸ€¢ œ2z§jC«­qK±²®K¬¶˜D¶¥3¶|ªº¿ ‹oÈ¯1žÌŽ%¾ÑÓÃÈØÚ¿àáÇÖåæç¿	"ëëèØîCñŒæïó;÷2ù1èêìíè–‹  ;0707010002b495000081a40000000000000002000000013d1fe2e600000186000000200000000000000000000000000000001b00000003reloc/mon/images/users.gif    GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010002b496000081a40000000000000002000000013d1fe2e60000081b000000200000000000000000000000000000001d00000003reloc/mon/images/watches.gif  GIF89a0 0 ç  >>Dž¢œnrlÒÒÌŠŠ„ZZ\ºº´êêäNNL––Œ®®¤z~|ÂÆÄÚÞÜFFDffdööôŽ’Œ²¶´ÎÎÌzztšžœÊÆÌææÜ¦ª¤VVT††„vrt’ŽŒNJLnnlúþüFBDÚÚÔŠŽŒbbd¾Â¼®²¬ââÜ¦¦œb^dòòìVR\šš”‚~„ÆÊÄJJLþúüBBDrvtÖÖÌ^^\RRTÆÆÌjjlúúô–’”¶¶¼¢žœÊÊÄŽŽ”¢¢œrrl¾¾¼îîìRNTš–œ®®´~~|ÆÆ¼ÞÞÔJFLjfl’’Œ¶¶¬žžœææìªª¤ZV\Š†ŒvvtrntŽŽ„ÂÂ¼²²¬æâäÎÊÌB>DÒÒÔŠŠŒ^Zdºº¼êêìNNT––”®®¬FFLfflööüzz|ææäVV\††ŒNJTnntþþüFBLÚÚÜââä¦¦¤òòôššœ‚‚„JJTBBLÖÖÔ^^dúúüÊÊÌ¢¢¤rrt~~„ÆÆÄÞÞÜ’’”¶¶´žž¤ªª¬vv|ŽŽŒÂÂÄ²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ÓH° Áƒ*\È°¡Ã‡#2¬‚Ä‹ë°Á2å;_ô`ÙcãÂŠ{&|Y‚‡'gÊx€ÇuL¬ãfÀ–>èÐ Ó%ƒ4ä¡c	S8vnèLSg@">€pàŽ2@nÜxqÂ {¨h ðgNÎ‹¶H3#cú”LXÇÄ„ú¸‘è¦”2`â¸1Â‡·
?@˜SdI 6!üˆ1oüÐBŠ–py(Ž
9rfLHCZ`Nurßøb ¨,qË0­ Ê¬øÂÍš-Kø !2Ÿ?[€¬ù@¦" ¨þèèQ¥·Â	xŽ ¸¢çiSFÐ2ÂÆ6Ê¨¹Òåè!ÕTm–Ð=  a¼Ð=¸@¤ÀÆ$¤P®W†_ü&‚^xð ;(x"t KÄeäa€@ cÜ¡Ám ¡ H"ƒzÀñÆh<`F)tÃ„H‡rdð‡ƒðF€q… ÀVÆ9Ì€$’G<`CZŒ€Ä^è™o¸ð& 081G
,àÃ"º \â›d0‚(¨Æ	ôA(Šd{ÔÑ†z‰–Š$¢ž"	†”1BþH°Uc¼‰¨?ÔñšÚê©¢Ž^‘* q Ð…
#°Ü@lt°( Gàñ‚ øŠ(~þy¯ Øà°Â®zxü@Ð ÏÊ_È1£°oÂÃ¤ª‚¢#ì‡§‡åÄM¸hÆŸ#„qÇ£º;HßzjC½Â2áŸyÆm`&¨P€0¸ ÂÎ:ã©HÚàÁÉ³1ÆÉoÞ¥Áo‘ È¢BÌ F ;à¯¶ /#iG/ÒiÂ.<ðE•iìñ’adFT  ° \ê	¼‰E7„CˆˆÂ  4C¸ Ãœáƒ°A*þpÐpê°?T€*¹í©HÂ †Ì1Ð?´AE.Ä C
ð¦Tëõ| ‘ÅŒ607…‡öz™Ú¶	i¤Ä0™HÒÐ‡ G¾‰Àu\0¢9”Px&¸Í,YŒ±6X´Bâ"TdÇ bÑT<H‡d‡A0,ñ€¢fì){nìÁÀx0 x€dS@`^N)ÁäÐ=<Æo ƒîp3$ÁE| f 6Ø!yWx@Ö^@7¡B3XŽB€˜a#ðTÜ‡² ‚8 ¾`Ì 8 dð†¼Áò@ÐÃ–Ð(£Á¬¢›ô†?Ä€@,È ˜ÂÄà.L@!Ðƒh0£ý iÉÉjã2d0AÞ0èa
}H„d€ëñ u’  ¡
2èCø0¸À9øÂƒÔ°‡©0ä =PÖ ™oÁà–ŒL
È’| À ò0ÈP¤¤©Ãî@F$±€|®Dˆdöƒ%,áeXZ™Kª¸A4s„jPL†¼€	~‚¾°Äfî¤+(À&k"äs¾@o.„‹n09×ÉÎvæ2  ; 07070100028725000081e40000000000000002000000013d1fe2e60000062d000000200000000000000000000000000000001400000003reloc/mon/index.cgi   #!/usr/local/bin/perl
# index.cgi

require './mon-lib.pl';
&header($text{'index_title'}, "","intro", 1, 1, 0
	&help_search_link("mon", "man", "doc", "google"));
print "<hr>\n";

# Check if mon is installed
if (!-r $mon_config_file) {
	print "<p>",&text('err_nomonconf', "<tt>$mon_config_file</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# print icons
@opts 	= ( 'global', 'groups', 'watches', 'periods', 'users', 'auth',
	    'status' );
@links 	= ( 'edit_global.cgi', 'list_groups.cgi', 'list_watches.cgi',
	    'list_periods.cgi', 'list_users.cgi', 'edit_auth.cgi', 'mon.cgi' ); 
@titles = map { $text{"${_}_title"} } @opts;
@icons 	= map { "images/${_}.gif" } @opts;
&icons_table(\@links, \@titles, \@icons);

# check if mon is running
print "<hr>\n";
print "<table width=100%>\n";
if (open(PID, $config{'pid_file'}) && chop($pid = <PID>) && kill(0, $pid)) {
	print "<tr><form action=stop.cgi>\n";
	print "<td><input type=submit value=\"$text{'mon_stop'}\"></td>\n";
	print "<td>$text{'mon_stopdesc'}</td>\n";
	print "</form></tr>\n";

	print "<tr><form action=restart.cgi>\n";
	print "<td><input type=submit value=\"$text{'mon_restart'}\"></td>\n";
	print "<td>$text{'mon_restartdesc'}</td>\n";
	print "</form></tr>\n";
	close(PID);
	}
else {
	print "<tr><form action=start.cgi>\n";
	print "<td><input type=submit value=\"$text{'mon_start'}\"></td>\n";
	print "<td>$text{'mon_startdesc'}</td>\n";
	print "</form></tr>\n";
	}
print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

   0707010002cae7000041ed0000000000000001000000023d1ffa9100000000000000200000000000000000000000000000000f00000003reloc/mon/lang    0707010002cae8000081a40000000000000002000000013d1fe2e600003000000000200000000000000000000000000000001700000003reloc/mon/lang/.en.swp    b0VIM 5.7      ¶!;Nn  f>  root                                    gssl                                    /webmin-0.87/mon/lang/en                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            3210#"! U                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     tp ÿ      <                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ad  =  A	     <   ø  è  ×  O     ý  Ù  «  }  |  s  K  0    ç  É  «    `  N  ;      ý  Æ  v  C    Ç  Æ  ¾  ¡  —  ƒ  b  E  *  	  ñ
  ×
  Æ
  ¶
  
  œ
  †
  q
  ^
  N
  @
  1
  !
  	
  ñ	  ×	  »	  ¢	  ‰	  w	  \	  A	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          def_edef_exclper=exclude_period def_exclhost=exclude_hosts def_rand=randskew def_trapdur=trapduration def_traptime=traptimeout def_allow=allow_empty_group def_alertstr=startupalert def_alertaft=alertafter def_alertevr=alertevery def_alert=alert def_per=period def_dep=dpend def_mon=monitor def_inter=interval def_desc=description SERVICES DEFINITIONS:  def_perargs=wd {Sat-Sun} members=Members watch=Watchgroup save_apply=Save and Apply line=(one on each line) mon_restart=Restart MON Services mon_stop=Stop MON Services mon_start=Start MON Services mon_off=MON Services not Started mon_stat=MON Status next=Next other=Other(space seperated) LABLES:  err_monrun=MON is not running on the hostmachine. Please start MON. err_nomemb=No Hosts/Members selected for the watchgroup err_noserv=No Services selected for the watchgroup err_nowatch=No Watchgroups selected. Select at least one Watchgroup to proceed. err_nomon=package 'mon' is not installed on the system ERRORS:  head_mand=( Parameters in "RED COLOR"are Mandatory ) head_pass=Password head_usr=Username head_monauth=Provide Authentication for MONCMD head_watch=Watch the Group? head_param=Service Parameters head_service=Service to watch head_services=Hostgroup Services to Watch head_members=Hostgroup Members head_groups=Hostgroup Name head_hostgroups=Hostgroups and Services HEADERS:  services_title=Watchgroups-Sevice Definitions hostgroups_title=MON Configuration-Hostgroups mon_status_title=Operational Status mon_conf_title=Basic Configuration mon_global_title=Global Varibles Configuration index_edir=The MON directory $1 does not exist. Maybe MON is not installed, or your <a href='$2'>module configuration</a> is incorrect. index_return=mon index_title=MON TITLES: 0707010002cae9000081a40000000000000002000000013d1fe2e600001f20000000200000000000000000000000000000001200000003reloc/mon/lang/ca TÍTOLS:
index_title=Monitor de Serveis MON
index_return=a l'índex de MON
index_edir=El directori $1 de MON no existeix. Pot ser que MON no estigui instal·lat, o bñe que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
mon_global_title=Variables Globals
mon_conf_title=Configuració Bàsica
mon_status_title=Estat d'Operació
hostgroups_title=Configuració MON-Grups de Hosts
services_title=Grups d'Observació-Definició de Serveis

CAPÇALERES:
head_hostgroups=Grups de Hosts i Serveis
head_groups=Nom del Grup de Hosts
head_members=Membres del Grup de Hosts
head_services=Serveis del Grup a Observar
head_service=Servei a Observar
head_param=Paràmetres del Servei
head_watch=Observa el grup
head_monauth=Subministra Autenticació per a MONCMD
head_usr=Usuari
head_pass=Contrasenya
head_mand=(Els paràmetres de "RED COLOR" són obligatoris)

ERRORS:
err_nomon=El paquet 'mon' no està instal·lat al sistema
err_nomonconf=No s'ha trobat al sistema el fitxer $1 de configuració de MON. Pot ser que MON no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
err_nowatch=No has seleccionat cap Grup d'Observació. Selecciona'n almenys un per procedir.
err_noserv=No has seleccionat cap Servei per al grup d'observació
err_nomemb=No has seleccionat cap Host/Membre per al grup d'observació
err_monrun=MON is no està en execució a la màquina host. Inicia MON, si et plau.
stop_err=No he pogut aturar MON
stop_epid=Ja no està en execució
start_err=No he pogut iniciar MON
restart_err=No he pogut reiniciar MON
restart_epid=No he pogut obtenir el PID

ETIQUETES:
other=Altres (separats per espais)
next=Següent
mon_stat=Estat de MON
mon_off=Serveis de MON no Iniciats
mon_start=Inicia els Serveis de MON
mon_stop=Atura els Serveis de MON
mon_restart=Reinicia els Serveis de MON
mon_startdesc=Fes clic sobre aquest botó per iniciar el servidor MON. Fins que no s'iniciï, no es farà cap de les monitoritzacions configurades.
mon_stopdesc=Fes clic sobre aquest botó per aturar el servidor MON. Quan s'aturi, s'aturaran les monitoritzacions configurades.
mon_restartdesc=Fes clic sobre aquest botó per aplicar la configuració actual de MON reiniciant el procés servidor.
line=(un per línia)
save_apply=Desa i Aplica
watch=Grup d'Observació
members=Membres
def_perargs=ds {Dss-Dmg}

DEFINICIONS DE SERVEIS:
def_desc=description
def_inter=interval
def_mon=monitor
def_dep=dpend
def_per=period
def_alert=alert
def_alertevr=alertevery
def_alertaft=alertafter
def_alertstr=startupalert
def_allow=allow_empty_group
def_traptime=traptimeout
def_trapdur=trapduration
def_rand=randskew
def_exclhost=exclude_hosts
def_exclper=exclude_period

groups_title=Grups de Hosts
groups_group=Nom del grup
groups_members=Hosts membres

watches_title=Llistes d'Observació
watches_group=Grup d'observació
watches_services=Serveis observats
watches_sadd=Afegeix servei...
watches_add=Afegeix llista d'observació per al grup:
watches_return=a les llistes d'observació

global_title=Opcions Globals
global_header=Opcions globals de configuració MON
global_maxprocs=Processos de MON màxims
global_histlength=Longitud de l'historial d'esdeveniments
global_alertdir=Directori de programes d'avís
global_mondir=Directori de programes monitors
global_authtype=Tipus d'autenticació
global_authtype_=Per defecte
global_authtype_getpwnam=Crides de sistema
global_authtype_userfile=Fitxer d'usuaris MON
global_authtype_shadow=Fitxer <i>shadow</i>
global_userfile=Fitxer d'usuaris MON
global_emaxprocs=Hi falta el nombre de processos MON o bé és invàlid
global_ehistlength=Hi falta la longitud de l'historial d'esdeveniments o bé és invàlid
global_ealertdir=Hi falta el directori de programes d'avís o bé és invàlid
global_emondir=Hi falta el directori de programes monitors o bé és invàlid
global_euserfile=Hi falta el fitxer d'usuaris MON o bé és invàlid

watch_title=Edició de la Llista d'Observació
watch_header=Detalls d'observació del grup de hosts
watch_group=Grup de hosts a observar
watch_services=Serveis a observar
watch_service=Nom del servei
watch_monitor=Monitor a utilitzar
watch_interval=Comprova cada
watch_periods=Períodes de monitorització

service_title=Addició de Servei
service_title2=Edició de Servei
service_header=Detalls del servei observat
service_name=Nom del servei
service_interval=Comprova cada
service_desc=Descripció
service_units_s=segons
service_units_m=minuts
service_units_h=hores
service_units_d=dies
service_units_w=setmanes
service_monitor=Fent servir el monitor
service_mon1=Monitor estàndard
service_mon0=Un altre monitor...
service_args=Paràmetres del monitor
service_period=Monitoritzant el període $1
service_days=Dies a comprovar
service_hours=Houres a comprovar
service_all=Tots
service_pstr=Especificació del període
service_new=Nou període de monitorització
service_alerts=Avisos per període
service_alert=Avís
service_atype=Executa en
service_atype_alert=Tancar el servei
service_atype_upalert=Engegar el servei
service_atype_startupalert=Engegar MON
service_aargs=Paràmetres addicionals
service_every=Envia l'avís
service_every_def=Cada cop que s'executi el monitor
service_every_time=Cada
service_num=Nombre màxim d'avisos a enviar
service_unlimited=Il·limitats
service_after=Fallades abans d'avisar
service_immediate=Immediatament
service_after_num=Després de $1 fallades
service_aftertime=En l'interval de temps
service_newperiod=Afegeix un nou període
service_delperiod=Suprimeix aquest període
service_err=No he pogut desar el servei
service_ename=Hi falta el nom del servei o bé és invàlid
service_einterval=Hi falta l'interval de comprovació o bé és invàlid
service_eother=Hi falta el monitor o bé és invàlid
service_ehour=Hi falta l'hora per al període $1 o bé és invàlida (ha de ser com ara 9am o 5pm)
service_eperiod=No has especificat dies ni hores per al període $1
service_eevery=Hi falta l'interval d'avís del servei o bé és invàlid
service_eafter=Hi falta el nombre de fallades abans de l'avís o bé és invàlid
service_enum=Hi falta el nombre màxim d'avisos a enviar o bé és invàlid
service_epstr=Hi falta l'especificació del període
service_known0=Cadena <tt>Hora::Període</tt>
service_known1=Dies i hores epecificats
service_known2=Període definit

status_title=Estat de MON
status_ecgi=El programa CGI $1 d'estat de MON no existeix. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
status_eperl=El programa CGI d'estat de MON necessita el mòdul perl $1. <a href='$2'>Fes clic aquí</a> per instal·lar-lo directament des de CPAN.

users_title=Usuaris de MON
users_etype=No es pot editar la llista d'usuaris de MON perquè MON no està actualment configurat per utilitzar-lo per a autenticació a la pàgina d'<a href='$1'>opcions Globals</a>e.
users_header=Usuaris MON permesos a $1
users_nousers=No hi ha cap usuari MON definit a $1.
users_add=Crea un nou usuari.
users_return=a la llista d'usuaris de MON

user_create=Creació d'Usuari de MON
user_edit=Edició d'Usuari de MON
user_header=Detalls de l'usuari de MON
user_user=Usuari
user_pass=Contrasenya
user_leave=Deixa-ho tal com està
user_err=No he pogut desar l'usuari
user_euser=Hi falta el nom de l'usuari o bé és invàlid
user_esame=ja existeix un usuari amb aquest mateix nom

auth_title=Ordres de Client
auth_desc=Aquesta pàgina permet controlar qunes ordres de MON poden ser executades per quins usuaris quan fan servir els programes client.
auth_cmd=Ordres de MON
auth_users=Usuaris permesos
auth_none=Ningú
auth_all=Tothom
auth_sel=Només els usuaris
auth_err=No he pogut desar les ordres dels clients
auth_eusers=No has introduït cap usuari per a l'ordre $1

periods_title=Períodes definits
periods_period=Nom del període
periods_times=Dies i hores
periods_alldays=Cada dia
periods_allhours=Cada hora
periods_err=No he pogut desar els períodes definits
periods_ename='$1' no és un nom de període vàlid
periods_ehour=Hi falta l'hora del període $1 o bé és invàlida (ha de ser com ara 9am o 5pm)

0707010002caea000081a40000000000000002000000013d1fe2e600001b5a000000200000000000000000000000000000001200000003reloc/mon/lang/en TITLES:
index_title=MON Service Monitor
index_return=MON index
index_edir=The MON directory $1 does not exist. Maybe MON is not installed, or your <a href='$2'>module configuration</a> is incorrect.
mon_global_title=Global Varibles Configuration
mon_conf_title=Basic Configuration
mon_status_title=Operational Status
hostgroups_title=MON Configuration-Hostgroups
services_title=Watchgroups-Sevice Definitions

HEADERS:
head_hostgroups=Hostgroups and Services
head_groups=Hostgroup Name
head_members=Hostgroup Members
head_services=Hostgroup Services to Watch
head_service=Service to watch
head_param=Service Parameters
head_watch=Watch the Group?
head_monauth=Provide Authentication for MONCMD
head_usr=Username
head_pass=Password
head_mand=( Parameters in "RED COLOR"are Mandatory )

ERRORS:
err_nomon=package 'mon' is not installed on the system
err_nomonconf=The MON configuration file $1 was not found on your system. Maybe MON is not installed, or your <a href='$2'>module configuration</a> is incorrect.
err_nowatch=No Watchgroups selected. Select at least one Watchgroup to proceed.
err_noserv=No Services selected for the watchgroup
err_nomemb=No Hosts/Members selected for the watchgroup
err_monrun=MON is not running on the hostmachine. Please start MON.
stop_err=Failed to stop MON
stop_epid=No longer running
start_err=Failed to start MON
restart_err=Failed to restart MON
restart_epid=Failed to get PID

LABLES:
other=Other(space seperated)
next=Next
mon_stat=MON Status
mon_off=MON Services not Started
mon_start=Start MON Services
mon_stop=Stop MON Services
mon_restart=Restart MON Services
mon_startdesc=Click this button to start the MON server. Until it is started, no configured monitoring will be done.
mon_stopdesc=Click this button to stop the MON server. When stopping, configured monitoring will cease.
mon_restartdesc=Click this button to apply the current MON configuration by restarting the server process.
line=(one on each line)
save_apply=Save and Apply
watch=Watchgroup
members=Members
def_perargs=wd {Sat-Sun}

SERVICES DEFINITIONS:
def_desc=description
def_inter=interval
def_mon=monitor
def_dep=dpend
def_per=period
def_alert=alert
def_alertevr=alertevery
def_alertaft=alertafter
def_alertstr=startupalert
def_allow=allow_empty_group
def_traptime=traptimeout
def_trapdur=trapduration
def_rand=randskew
def_exclhost=exclude_hosts
def_exclper=exclude_period

groups_title=Host Groups
groups_group=Group name
groups_members=Member hosts

watches_title=Watch Lists
watches_group=Watching group
watches_services=Services being watched
watches_sadd=Add service..
watches_add=Add watch list for group :
watches_return=watch lists

global_title=Global Options
global_header=Global MON configuration options
global_maxprocs=Maximum MON processes
global_histlength=Event history length
global_alertdir=Alert programs directory
global_mondir=Monitor programs directory
global_authtype=Authentication type
global_authtype_=Default
global_authtype_getpwnam=System calls
global_authtype_userfile=MON users file
global_authtype_shadow=Shadow file
global_userfile=MON user's file
global_emaxprocs=Missing or invalid number of MON processes
global_ehistlength=Missing or invalid event history length
global_ealertdir=Missing or invalid alert programs directory
global_emondir=Missing or invalid monitor programs directory
global_euserfile=Missing MON users file

watch_title=Edit Watch List
watch_header=Host group watch details
watch_group=Host group to watch
watch_services=Services being watched
watch_service=Service name
watch_monitor=Monitor to use
watch_interval=Check every
watch_periods=Monitoring periods

service_title=Add Service
service_title2=Edit Service
service_header=Watched service details
service_name=Name of service
service_interval=Check every
service_desc=Description
service_units_s=seconds
service_units_m=minutes
service_units_h=hours
service_units_d=days
service_units_w=weeks
service_monitor=Using monitor
service_mon1=Standard monitor
service_mon0=Other monitor ..
service_args=Monitor parameters
service_period=Monitoring period $1
service_days=Days to check
service_hours=Hours to check
service_all=All
service_pstr=Period specification
service_new=New monitoring period
service_alerts=Alerts for period
service_alert=Alert
service_atype=Run when
service_atype_alert=Service goes down
service_atype_upalert=Services comes up
service_atype_startupalert=MON starts up
service_aargs=Additional parameters
service_every=Send alert
service_every_def=Every time monitor is run
service_every_time=Every
service_num=Maximum alerts to send
service_unlimited=Unlimited
service_after=Failures before alert
service_immediate=Immediately
service_after_num=After $1 failures
service_aftertime=Within time interval
service_newperiod=Add a new period
service_delperiod=Delete this period
service_err=Failed to save service
service_ename=Missing or invalid service name
service_einterval=Missing or invalid check interval
service_eother=Missing or invalid monitor
service_ehour=Missing or invalid hour for period $1 (must be like 9am or 5pm)
service_eperiod=No days or hours specified for period $1
service_eevery=Missing or invalid service alert interval
service_eafter=Missing or invalid number of failures before alert
service_enum=Missing or invalid maximum alerts to sent
service_epstr=Missing period specification
service_known0=<tt>Time::Period</tt> string
service_known1=Specified days and hours
service_known2=Defined period

status_title=MON Status
status_ecgi=The MON status CGI program $1 does not exist. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
status_eperl=The MON status CGI program requires the $1 perl module. <a href='$2'>Click here</a> to install it directly from CPAN.

users_title=MON Users
users_etype=The MON users list cannot be edited because MON is not currenly configured to use it for authentication on the <a href='$1'>Global Options</a> page.
users_header=Allowed MON users in $1
users_nousers=No MON users have been defined in $1.
users_add=Create a new user.
users_return=MON users list

user_create=Create MON User
user_edit=Edit MON User
user_header=MON user details
user_user=Username
user_pass=Password
user_leave=Leave unchanged
user_err=Failed to save user
user_euser=Missing or invalid username
user_esame=A user with the same name already exists

auth_title=Client Commands
auth_desc=This page allows you to control which MON commands can be run by which users when using the client programs.
auth_cmd=MON command
auth_users=Allowed users
auth_none=Nobody
auth_all=Everybody
auth_sel=Only users
auth_err=Failed to save client commands
auth_eusers=No users enter for command $1

periods_title=Defined Periods
periods_period=Period name
periods_times=Days and times
periods_alldays=All days
periods_allhours=All hours
periods_err=Failed to save defined periods
periods_ename='$1' is not a valid period name
periods_ehour=Missing or invalid hour for period $1 (must be like 9am or 5pm)

  07070100028726000081e40000000000000002000000013d1fe2e60000034d000000200000000000000000000000000000001a00000003reloc/mon/list_groups.cgi #!/usr/local/bin/perl
# list_groups.cgi
# Display a list of all host groups and their members

require './mon-lib.pl';
&header($text{'groups_title'}, "");
print "<hr>\n";

$conf = &get_mon_config();
@groups = &find("hostgroup", $conf);

print "<form action=save_groups.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'groups_group'}</b></td> ",
      "<td><b>$text{'groups_members'}</b></td> </tr>\n";
$i = 0;
foreach $g (@groups, { }) {
	local ($gn, @gm) = @{$g->{'values'}};
	print "<tr $cb>\n";
	print "<td><input name=group_$i size=20 value='$gn'></td>\n";
	print "<td><input name=members_$i size=60 value='",
		join(" ", @gm),"'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100028727000081e40000000000000002000000013d1fe2e60000086a000000200000000000000000000000000000001b00000003reloc/mon/list_periods.cgi    #!/usr/local/bin/perl
# list_periods.cgi
# Display a list of all defined periods

require './mon-lib.pl';
&header($text{'periods_title'}, "");
print "<hr>\n";

$conf = &get_mon_config();
@periods = &find("period", $conf);

print "<form action=save_periods.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'periods_period'}</b></td> ",
      "<td><b>$text{'periods_times'}</b></td> </tr>\n";
$i = 0;
foreach $p (@periods, { }) {
	local ($name, $value, $dfrom, $dto, $hfrom, $hto, $known);
	if ($p->{'value'} =~ /^\s*(\S+):\s*wd\s+{(\S+)-(\S+)}\s+hr\s+{(\S+)-(\S+)}\s*$/){
		$name = $1;
		$dfrom = $2; $dto = $3; $hfrom = $4; $hto = $5;
		$known++;
		}
	elsif ($p->{'value'} =~ /^\s*(\S+):\s*wd\s+{(\S+)-(\S+)}\s*$/) {
		$name = $1;
		$dfrom = $2; $dto = $3;
		$known++;
		}
	elsif ($p->{'value'} =~ /^\s*(\S+):\s*hr\s+{(\S+)-(\S+)}\s*$/) {
		$name = $1;
		$hfrom = $2; $hto = $3;
		$known++;
		}
	elsif ($p->{'value'} =~ /^\s*(\S+):\s*(.*)$/) {
		$name = $1;
		$value = $2;
		}
	elsif (!$p->{'value'}) {
		$known++;
		}
	print "<tr $cb>\n";
	print "<td><input name=name_$i size=20 value='$name'></td>\n";
	print "<td>\n";
	if ($known || !$p->{'name'}) {
		# Show friendly period inputs
		printf "<input type=radio name=days_def_$i value=1 %s> %s\n",
			$dfrom ? "" : "checked", $text{'periods_alldays'};
		printf "<input type=radio name=days_def_$i value=0 %s>\n",
			$dfrom ? "checked" : "";
		print &day_input("dfrom_$i", $dfrom)," - ",
		      &day_input("dto_$i", $dto);

		print "&nbsp;&nbsp;&nbsp;\n";

		printf "<input type=radio name=hours_def_$i value=1 %s> %s\n",
			$hfrom ? "" : "checked", $text{'periods_allhours'};
		printf "<input type=radio name=hours_def_$i value=0 %s>\n",
			$hfrom ? "checked" : "";
		print "<input name=hfrom_$i size=4 value='$hfrom'> - ",
		      "<input name=hto_$i size=4 value='$hto'></td> </tr>\n";
		}
	else {
		# Allow any Time::Period string
		print "<input name=value_$i size=50 value='$value'>\n";
		}
	print "</td> </tr>\n";
	$i++;
	}
print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100028728000081e40000000000000002000000013d1fe2e60000042b000000200000000000000000000000000000001900000003reloc/mon/list_users.cgi  #!/usr/local/bin/perl
# list_users.cgi
# Display MON users

require './mon-lib.pl';
&header($text{'users_title'}, "");
print "<hr>\n";

$conf = &get_mon_config();
$authtype = &find_value("authtype", $conf);
if ($authtype ne 'userfile') {
	print "<p>",&text('users_etype', 'edit_global.cgi'),"<p>\n";
	}
else {
	@users = &list_users();
	$uf = &mon_users_file();
	if (@users) {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>",&text('users_header', "<tt>$uf</tt>"),
		      "</b></td> </tr>\n";
		print "<tr $cb> <td><table width=100%>\n";
		for($i=0; $i<@users; $i++) {
			print "<tr>\n" if ($i%4 == 0);
			print "<td width=25%><a href=\"edit_user.cgi?",
			      "index=$i\">$users[$i]->{'user'}</a></td>\n";
			print "</tr>\n" if ($i%4 == 3);
			}
		while($i++%4) { print "<td width=25%></td>\n"; }
		print "</table></td></tr></table>\n";
		}
	else {
		print "<b>",&text('users_nousers', "<tt>$uf</tt>"),"</b> <p>\n";
		}
	print "<a href=\"edit_user.cgi?new=1\">$text{'users_add'}</a><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100028729000081e40000000000000002000000013d1fe2e600000519000000200000000000000000000000000000001b00000003reloc/mon/list_watches.cgi    #!/usr/local/bin/perl
# list_watches.cgi

require './mon-lib.pl';
&header($text{'watches_title'}, "");
print "<hr>\n";

$conf = &get_mon_config();
@watches = &find("watch", $conf);
if (@watches) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'watches_group'}</b></td> ",
	      "<td><b>$text{'watches_services'}</b></td> </tr>\n";
	foreach $w (@watches) {
		print "<tr $cb>\n";
		print "<td><a href='edit_watch.cgi?idx=$w->{'index'}'>",
		      "$w->{'values'}->[0]</a></td> <td>\n";
		local @servs = &find("service", $w->{'members'});
		foreach $s (@servs) {
			local $i = &find_value("interval", $s->{'members'});
			print "<a href='edit_service.cgi?idx=$w->{'index'}&",
			      "sidx=$s->{'index'}'>$s->{'values'}->[0] ($i)",
			      "</a>&nbsp;|&nbsp;\n";
			}
		print "<a href='edit_service.cgi?idx=$w->{'index'}&new=1'>",
		      "$text{'watches_sadd'}</a></td>\n";
		print "</tr>\n";
		}
	print "</table>\n";

	print "<form action=create_watch.cgi>\n";
	print "<input type=submit value='$text{'watches_add'}'>\n";
	print "<select name=group>\n";
	foreach $s (&find("hostgroup", $conf)) {
		print "<option>$s->{'values'}->[0]\n";
		}
	print "</select></form>\n";
	}
else {
	print "<b>$text{'watches_none'}</b><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010002872a000081a40000000000000002000000013d1fe2ea00000123000000200000000000000000000000000000001600000003reloc/mon/module.info category=system
depends=init 0.990
os_support=msc-linux redhat-linux open-linux slackware-linux debian-linux suse-linux corel-linux turbo-linux cobalt-linux mandrake-linux debian-linux generic-linux gentoo-linux
desc=MON Service Monitor
version=0.990
desc_ca=Monitor de Serveis MON
name=mon
 0707010002872c000081e40000000000000002000000013d1fe2e600000344000000200000000000000000000000000000001200000003reloc/mon/mon.cgi #!/usr/local/bin/perl
# mon.cgi
# Run the included MON cgi program

require './mon-lib.pl';
&header($text{'status_title'}, "");
print "<hr>\n";

if (!-x $config{'mon_cgi'}) {
	print "<p>",&text('status_ecgi', "<tt>$config{'mon_cgi'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
eval "use Mon::Client";
if ($@) {
	print "<p>",&text('status_eperl', "<tt>Mon::Client</tt>",
		  "$gconfig{'webprefix'}/cpan/download.cgi?source=3&cpan=Mon::Client"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

open(CGI, "$config{'mon_cgi'} 2>&1 |");
while(<CGI>) {
	$body .= $_;
	}
close(CGI);

$body =~ s/^[\000-\177]*<body[^>]*>//i;
$body =~ s/<\/body>[\000-\177]*$//i;
print $body;

print "<hr>\n";
&footer("", $text{'index_return'});

0707010002872b000081e40000000000000002000000013d1fe2e600001f3f000000200000000000000000000000000000001500000003reloc/mon/mon-lib.pl  # mon-lib.pl
# Common functions for mon 

do '../web-lib.pl';
&init_config();

$mon_config_file = "$config{'cfbasedir'}/mon.cf";
$under = { '' => [ 'authtype', 'hostgroup', 'watch', 'use', 'period' ],
	   'watch' => [ 'service' ],
	   'service' => [ 'description', 'interval', 'monitor', 'period',
			  'depend', 'allow_empty_group', 'traptimeout',
			  'trapduration', 'randskew', 'dep_behavior',
			  'dep_behaviour' ],
	   'period' => [ 'alert', 'upalert', 'alertevery', 'alertafter',
			 'numalerts', 'comp_alerts', 'startupalert',
			 'upalertafter' ]
	 };

# get_mon_config()
# Parses the mon config file into a heirachical structure
sub get_mon_config
{
if (@get_mon_config_cache) {
	return \@get_mon_config_cache;
	}
local @rv;
local $cv = \@rv;
local ($last_indent, $parent);
local $lnum = 0;
open(CONF, $mon_config_file);
while(<CONF>) {
	local $slnum = $lnum;
	s/\s+$//;
	s/#.*$//g;
	while(s/\\$//) {
		local $nl = <CONF>;
		$nl =~ s/\s+$//;
		$nl =~ s/^\s+//;
		$_ .= $nl;
		$lnum++;
		}
	if (/^(\S+)\s*=\s*(.*)$/) {
		# Global directive
		local $str = { 'name' => $1,
			       'values' => [ split(/\s+/, $2) ],
			       'value' => $2,
			       'global' => 1,
			       'index' => scalar(@rv),
			       'line' => $slnum,
			       'eline' => $lnum };
		push(@rv, $str);
		}
	elsif (/^(\s*)(\S+)\s*(.*)$/) {
		# Normal directive, possibly in a heirachy
		local $str = { 'name' => $2,
			       'values' => [ split(/\s+/, $3) ],
			       'value' => $3,
			       'members' => [ { 'dummy' => 1,
						'line' => $lnum,
						'eline' => $lnum } ],
			       'indent' => $1,
			       'line' => $slnum,
			       'eline' => $lnum };

		# Check if under the previous directive
		local $found;
		if (@$cv > 0) {
			local $ld = $cv->[@$cv-1];
			local $pu = $under->{$ld->{'name'}};
			foreach $u (@$pu) {
				$found++ if ($u eq $str->{'name'});
				}
			if ($found) {
				# It is .. so just update the parent
				$parent = $ld;
				$cv = $ld ? $ld->{'members'} : \@rv;
				}
			}

		if (!$found) {
			# Check if under a parent
			local $pp = $parent;
			while(1) {
				local $pu = $under->{$pp ? $pp->{'name'} : ""};
				foreach $u (@$pu) {
					$found++ if ($u eq $str->{'name'});
					}
				if ($found) {
					# Under some ancestor .. make that
					# the current parent
					$parent = $pp;
					$cv = $pp ? $pp->{'members'} : \@rv;
					last;
					}
				else {
					last if (!$pp);
					$pp = $pp->{'parent'};
					}
				}
			&error("Unknown directive $str->{'name'}")
				if (!$found);
			}
	
		$str->{'index'} = scalar(@$cv);
		$str->{'parent'} = $parent;
		push(@$cv, $str);

		# Set parent end lines
		local $pp = $parent;
		do {
			$pp->{'eline'} = $lnum;
			$pp = $pp->{'parent'};
			} while($pp);
		}
	$lnum++;
	}
close(CONF);
@get_mon_config_cache = @rv;
return \@get_mon_config_cache;
}

# find_value(name, &config)
sub find_value
{
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		return wantarray ? @{$c->{'values'}} : $c->{'values'}->[0];
		}
	}
return wantarray ? ( ) : undef;
}

# find(name, &config)
sub find
{
local @rv;
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return wantarray ? @rv : $rv[0];
}

# save_directive(&config, [&old|undef], [&new|undef])
sub save_directive
{
local $lref = &read_file_lines($mon_config_file);
local @same = &find($_[2]->{'name'}, $_[0]) if ($_[2]);
local $idx = &indexof($_[1], @{$_[0]}) if ($_[1]);
local $olen = $_[1]->{'eline'} - $_[1]->{'line'} + 1 if ($_[1]);
local $conf = &get_mon_config();
local @dirs = &directive_lines($_[2], $_[2]->{'indent'}) if ($_[2]);
if ($_[1]) {
	# Replace the old directive
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'} - $_[1]->{'line'} + 1,
	       @dirs);
	$_[0]->[$idx] = $_[2];
	&renumber($conf, $_[1]->{'line'}, @dirs - $olen);
	$_[2]->{'line'} = $_[1]->{'line'};
	$_[2]->{'eline'} = $_[2]->{'line'} + @dirs - 1;
	}
elsif (!$_[2]) {
	# Remove the old directive
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'} - $_[1]->{'line'} + 1);
	splice(@{$_[0]}, $idx, 1);
	&renumber($conf, $_[1]->{'line'}, -$olen);
	}
elsif (@same) {
	# Add after last directive of same type
	splice(@$lref, $same[@same-1]->{'eline'}+1, 0, @dirs);
	splice(@{$_[0]}, $idx+1, 0, $_[2]);
	&renumber($conf, $same[@same-1]->{'eline'}+1, scalar(@dirs));
	$_[2]->{'line'} = $same[@same-1]->{'eline'}+1;
	$_[2]->{'eline'} = $_[2]->{'line'} + @dirs - 1;
	}
else {
	# Add after last directive in config
	local $ld = $_[0]->[@{$_[0]}-1];
	splice(@$lref, $ld->{'eline'} + 1, 0, @dirs);
	push(@{$_[0]}, $_[2]);
	&renumber($conf, $ld->{'eline'} + 1, scalar(@dirs));
	$_[2]->{'line'} = $ld->{'eline'} + 1;
	$_[2]->{'eline'} = $ld->{'eline'} + @dirs - 1;
	}
}

# renumber(&config, position, offset)
sub renumber
{
foreach $c (@{$_[0]}) {
	$c->{'line'} += $_[2] if ($c->{'line'} >= $_[1]);
	$c->{'eline'} += $_[2] if ($c->{'eline'} >= $_[1]);
	&renumber($c->{'members'}, $_[1], $_[2]);
	}
}

# directive_lines(&directive, [indent])
sub directive_lines
{
local @rv;
@rv = ( $_[1].join(" ", $_[0]->{'name'}, $_[0]->{'global'} ? ( "=" ) : ( ),
		        @{$_[0]->{'values'}}) );
foreach $m (@{$_[0]->{'members'}}) {
	push(@rv, &directive_lines($m, "$_[1]    ")) if (!$m->{'dummy'});
	}
return @rv;
}

# list_monitors()
# Returns a list of all monitors
sub list_monitors
{
local $conf = &get_mon_config();
local $mondir = &find_value("mondir", $conf);
local @rv;
opendir(DIR, $mondir);
foreach $f (readdir(DIR)) {
	push(@rv, $f) if ($f =~ /\.monitor$/);
	}
closedir(DIR);
return @rv;
}

# list_alerts()
# Returns a list of all alerts
sub list_alerts
{
local $conf = &get_mon_config();
local $mondir = &find_value("alertdir", $conf);
local @rv;
opendir(DIR, $mondir);
foreach $f (readdir(DIR)) {
	push(@rv, $f) if ($f =~ /\.alert$/);
	}
closedir(DIR);
return @rv;
}

# mon_users_file()
# Returns the file in which MON users are stored
sub mon_users_file
{
local $conf = &get_mon_config();
local $uf = &find_value("userfile", $conf);
$uf = "monusers.cf" if (!$uf);
if ($uf =~ /^\//) {
	return $uf;
	}
else {
	local $bd = &find_value("cfbasedir", $conf);
	$bd = $config{'cfbasedir'} if (!$bd);
	return "$bd/$uf";
	}
}

# list_users()
sub list_users
{
local(@rv, $lnum = 0);
open(USERS, &mon_users_file());
while(<USERS>) {
	s/\r|\n//g;
	s/#.*//;
	if (/^([^:]+):(\S+)/) {
		push(@rv, { 'user' => $1, 'pass' => $2, 'line' => $lnum });
		}
	$lnum++;
	}
close(USERS);
return @rv;
}

# create_user(&user)
sub create_user
{
open(USERS, ">>".&mon_users_file());
print USERS $_[0]->{'user'},":",$_[0]->{'pass'},"\n";
close(USERS);
}

# modify_user(&user)
sub modify_user
{
local $lref = &read_file_lines(&mon_users_file());
$lref->[$_[0]->{'line'}] = $_[0]->{'user'}.":".$_[0]->{'pass'};
&flush_file_lines();
}

# delete_user(&user)
sub delete_user
{
local $lref = &read_file_lines(&mon_users_file());
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
}

# mon_auth_file()
sub mon_auth_file
{
local $conf = &get_mon_config();
local $af = &find_value("authfile", $conf);
$af = "auth.cf" if (!$af);
if ($af =~ /^\//) {
	return $af;
	}
else {
	local $bd = &find_value("cfbasedir", $conf);
	return "$bd/$af";
	}
}

sub list_auth_types
{
return ('list', 'servertime', 'reset', 'loadstate', 'savestate',
	'term', 'stop', 'start', 'set', 'get', 'dump', 'disable',
	'enable', 'test', 'ack', 'reload', 'clear');
}

# day_input(name, value)
sub day_input
{
local @days = ( 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' );
local $rv = "<select name=$_[0]>\n";
foreach $d (@days) {
	$rv .= sprintf "<option %s>%s\n",
		lc($d) eq lc($_[1]) ? "selected" : "", $d;
	}
$rv .= "</select>\n";
return $rv;
}

# interval_input(name, value)
sub interval_input
{
local ($int, $units, $rv);
if ($_[1] =~ /^([\d\.]+)(\S)$/) {
	$int = $1; $units = $2;
	}
$rv = "<input name=$_[0] size=6 value='$int'>\n";
$rv .= "<select name=$_[0]_u>\n";
foreach $u ('s', 'm', 'h', 'd') {
	$rv .= sprintf "<option value=%s %s>%s\n",
		$u, $units eq $u ? "selected" : "", $text{"service_units_$u"};
	}
$rv .= "</select>\n";
return $rv;
}

1;
 0707010002872d000081e40000000000000002000000013d1fe2e6000001a5000000200000000000000000000000000000001900000003reloc/mon/mon_action.cgi  #!/usr/local/bin/perl
# stop.cgi
# Stop the mon process

require './mon-lib.pl';
&ReadParse();
if($in{'action_mon'}=~/$text{'mon_stop'}/){
	$out = &backquote_logged("/etc/init.d/mon stop 1>/dev/null 2>&1");
}elsif($in{'action_mon'}=~/$text{'mon_start'}/){
	$out = &backquote_logged("/etc/init.d/mon start 1>/dev/null 2>&1");
}else{
	$out = &backquote_logged("/etc/init.d/mon restart 1>/dev/null 2>&1");
}
&redirect("");

   0707010002872e000081e40000000000000002000000013d1fe2e6000001cc000000200000000000000000000000000000001900000003reloc/mon/mon_status.cgi  #!/usr/local/bin/perl
# mon_status.cgi
# use of monshow and moncmd to view/manage mon services
#
require './mon-lib.pl';
&header($text{'mon_status_title'}, "",undef);
print"<hr>\n";

print"<a href='monshow.cgi'>click</a>\n";
#$out=&backquote_logged("monshow -server gssl -full");
#$out=`monshow?server=gssl`;
#system("/tmp/jnk/aa");
#$out=`moncmd -s gssl listwatch`;
#$out=`cat /tmp/jnk/bb`;
#print "$out";

print"<hr>\n";
&footer("./",$text{'index_title'}); 
07070100028731000081e40000000000000002000000013d1fe2e60000065f000000200000000000000000000000000000001500000003reloc/mon/moncmd.cgi  #!/usr/local/bin/perl
# moncmd.cgi
# enable the desired hosts/watch/services
#
require'./mon-lib.pl';
&init_config();
&ReadParse();
#
	if( ($in{'user'} && $in{'passwd'}) ){
open (FILE,">data/file");
print FILE "pass=$in{'passwd'}\n";
$server=`uname -n`;
chomp($server);chomp($in{'user'});chomp($in{'passwd'});
if($in{'enable'}){
	print FILE "enable $in{'enable'} $in{$in{'enable'}}\n";
}else{
	print FILE "disable $in{'disable'} $in{$in{'disable'}}\n";
}
close(FILE);
#&enable_action("-a -l $in{'user'} -s $server enable service $in{'service'}",$in{'passwd'});
open (MON, "|/webmin-0.87/mon/moncmd.pl -a -l $in{'user'} -s $server -f /webmin-0.87/mon/data/file 1>/dev/null 2>&1") or die "Cannnot fork: $!";
close (MON); 
&redirect("./monshow.cgi");
	}else{
&header();
print <<EOF;
<center><form action=moncmd.cgi method=post>
<table border><tr $tb><th> $text{'head_monauth'}<br>(If this is incorrect, service/watch/hosts cannot be enabled)</th></tr>
<tr bgcolor=cccccc><td>
<table><tr><td>$text{'head_usr'}</td><td><input type="text" name="user" size=12></td></tr>
<tr><td>$text{'head_pass'}</td><td><input type="password" name="passwd" size=12></td></tr>
<tr bgcolor=cccccc align=center><td colspan=2><input type=submit value="OK"></td></tr>
</table></td></tr>
</table>
EOF
if($in{'enable'}){
	print "<input type=hidden name=enable value=$in{'enable'}>\n";
	print "<input type=hidden name=$in{'enable'} value=\"$in{$in{'enable'}}\">\n";
}else{
	print "<input type=hidden name=disable value=$in{'disable'}>\n";
        print "<input type=hidden name=$in{'disable'} value=\"$in{$in{'disable'}}\">\n";
}
print"</form></center>\n";
	}
 07070100028732000081a40000000000000002000000013d1fe2e600000a14000000200000000000000000000000000000001600000003reloc/mon/moncmd.diff --- /usr/bin/moncmd	Thu Sep  6 13:46:26 2001
+++ /webmin-0.87/mon/moncmd.pl	Mon Sep 10 13:40:37 2001
@@ -2,6 +2,8 @@
 #
 # moncmd - send a command to the mon server
 #
+# original file is modified to suit for the operation in this webmin module of msclinux--dt 09 Sept 2001
+#
 # Jim Trocki, trockij@transmeta.com
 #
 # $Id: moncmd 1.2 Fri, 12 Jan 2001 08:13:31 -0800 trockij $
@@ -53,10 +55,12 @@
 if ($opt_f) {
     if ($opt_f eq "-") {
     	$H = STDIN;
+#print LOG "READING H from STDIN<br>";
     } else {
     	open (IN, $opt_f) ||
 	    die "could not open input file: $!\n";
 	$H = IN;
+#print LOG "READING H from IN<br>";
     }
 
 } elsif (!@ARGV) {
@@ -77,14 +81,18 @@
 # get auth info
 #
 if ($opt_a) {
+#open (LOG,">/tmp/monlog");
     if ($opt_l) {
     	$USER = $opt_l;
+#print LOG "USER READ FROM -l OPTION =$USER\n";
     } else {
 	die "could not determine username\n"
 	    unless defined ($USER = getpwuid($EUID));
+#print LOG "USER DEFAULT TAKEN=$USER\n";
     }
 
     if (-t STDIN) {
+#print LOG "READING PASSWD FROM STDIN\n";
 	system "stty -echo";
 	print "Password: ";
 	chop ($PASS = <STDIN>);
@@ -94,19 +102,27 @@
 
     } elsif (!@ARGV) {
 	$cmd = <$H>;
+#print LOG "READING CMD FROM $H\n";
+#print LOG "CMD:$cmd\n";
 	while (defined ($cmd) && $cmd =~ /user=|pass=/i) {
+	#while (defined ($cmd) && $cmd =~ /user|pass/i) {
 	    chomp $cmd;
+#print LOG "CMD AFTER CHOMP:$cmd\n";
 	    if ($cmd =~ /^user=(\S+)$/i) {
 		$USER=$1 if (!defined ($USER));
+#print LOG "READING USER FROM $H:$USER\n";
 	    } elsif ($cmd =~ /^pass=(\S+)$/i) {
 		$PASS=$1;
+#print LOG "READING PASSWD FROM $H:$PASS\n";
 	    }
 	    
 	    $cmd = <$H>;
+	    $cmd1=$cmd;	
+#print LOG "FINAL CMD: $cmd\n";
 	}
 
     }
-
+     
     die "inadequate authentication information supplied\n"
     	if ($USER eq "" || $PASS eq "");
 }
@@ -148,13 +164,16 @@
 
 
 if ($opt_f or !@ARGV) {
-    $cmd = <$H> if ($opt_f || !@ARGV);
+    #$cmd = <$H> if ($opt_f || !@ARGV);
+    $cmd = (<$H>||$cmd1) if ($opt_f || !@ARGV);
     $l = "";
+#print LOG "ENTERING TO SEND THE CMD:$cmd\n";
     while (defined ($cmd) && defined ($l)) {
 	#
 	# send the command
 	#
 	chomp $cmd;
+#print LOG "SENDING THE CMD:$cmd\n";
 	($l, @out) = do_cmd (MON, $cmd);
 	last if (!defined ($l));
 	for (@out) {
@@ -181,6 +200,7 @@
 
 close(MON);
 
+#close(LOG);
 
 #
 # submit a command to the server, wait for a response
@@ -193,6 +213,7 @@
 
     @out = ();
     print $fd "$cmd\n";
+#print LOG "SUBMITTING CMD:$cmd\n";
     while (defined($l = <$fd>)) {
         chomp $l;
         if ($l =~ /^(\d{3}\s)/) {
07070100028733000081e40000000000000002000000013d1fe2e6000016a0000000200000000000000000000000000000001400000003reloc/mon/moncmd.pl   #!/usr/local/bin/perl
#
# moncmd - send a command to the mon server
#
# original file is modified to suit for the operation in this webmin module of msclinux--dt 09 Sept 2001
#
# Jim Trocki, trockij@transmeta.com
#
# $Id: moncmd 1.2 Fri, 12 Jan 2001 08:13:31 -0800 trockij $
#
#    Copyright (C) 1998, Jim Trocki
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
use Getopt::Std;
use Socket;
use English;

getopts ("ahf:l:s:p:rd");

sub usage;
sub do_cmd;

$MONSERVER = $ENV{"MONHOST"}
    if (defined ($ENV{"MONHOST"}));
$MONSERVER = $opt_s if ($opt_s);
$MONPORT   = $opt_p || getservbyname ("mon", "tcp") || 2583;

if ($opt_h) {
    usage;
}

if (!defined ($MONSERVER)) {
    die "No host specified or found in MONHOST\n";
}

$SIG{INT} = \&handle_sig;
$SIG{TERM} = \&handle_sig;

#
# does the input come from stdin or a file?
#
if ($opt_f) {
    if ($opt_f eq "-") {
    	$H = STDIN;
#print LOG "READING H from STDIN<br>";
    } else {
    	open (IN, $opt_f) ||
	    die "could not open input file: $!\n";
	$H = IN;
#print LOG "READING H from IN<br>";
    }

} elsif (!@ARGV) {
    if (-t STDIN) {
      print <<EOF
You did not give a command on the command line nor a -f flag and
the program is running interactively (e.g. reading from terminal).
This is not supported.  Exiting
EOF
    ;
        exit 1;
    }

    $H = STDIN;
}

#
# get auth info
#
if ($opt_a) {
#open (LOG,">/tmp/monlog");
    if ($opt_l) {
    	$USER = $opt_l;
#print LOG "USER READ FROM -l OPTION =$USER\n";
    } else {
	die "could not determine username\n"
	    unless defined ($USER = getpwuid($EUID));
#print LOG "USER DEFAULT TAKEN=$USER\n";
    }

    if (-t STDIN) {
#print LOG "READING PASSWD FROM STDIN\n";
	system "stty -echo";
	print "Password: ";
	chop ($PASS = <STDIN>);
	print "\n";
	system "stty echo";
	die "invalid password\n" if ($PASS =~ /^\s*$/);

    } elsif (!@ARGV) {
	$cmd = <$H>;
#print LOG "READING CMD FROM $H\n";
#print LOG "CMD:$cmd\n";
	while (defined ($cmd) && $cmd =~ /user=|pass=/i) {
	#while (defined ($cmd) && $cmd =~ /user|pass/i) {
	    chomp $cmd;
#print LOG "CMD AFTER CHOMP:$cmd\n";
	    if ($cmd =~ /^user=(\S+)$/i) {
		$USER=$1 if (!defined ($USER));
#print LOG "READING USER FROM $H:$USER\n";
	    } elsif ($cmd =~ /^pass=(\S+)$/i) {
		$PASS=$1;
#print LOG "READING PASSWD FROM $H:$PASS\n";
	    }
	    
	    $cmd = <$H>;
	    $cmd1=$cmd;	
#print LOG "FINAL CMD: $cmd\n";
	}

    }
     
    die "inadequate authentication information supplied\n"
    	if ($USER eq "" || $PASS eq "");
}

#
# set up TCP socket
#
$iaddr = inet_aton ($MONSERVER) ||
	die "Unable to find server '$MONSERVER'\n";

if ($MONPORT =~ /\D/) { $MONPORT = getservbyname ($MONPORT, 'tcp') }
$paddr = sockaddr_in ($MONPORT, $iaddr);
$proto = getprotobyname ('tcp');

socket (MON, PF_INET, SOCK_STREAM, $proto) ||
    die "could not create socket: $!\n";
connect (MON, $paddr) ||
    die "could not connect: $!\n";

select (MON); $| = 1; select (STDOUT);

#if( defined(my $line = <MON>)) {
#    chomp $line;
#    unless( $line =~ /^220\s/) {
#	die "didn't receive expected welcome message\n";
#    }
#} else {
#    die "error communicating with mon server: $!\n";
#}

#
# authenticate self to the server if necessary
#
if ($opt_a) {
    ($l, @out) = do_cmd(MON, "login $USER $PASS");
    die "Could not authenticate\n"
	if ($l =~ /^530/);
}


if ($opt_f or !@ARGV) {
    #$cmd = <$H> if ($opt_f || !@ARGV);
    $cmd = (<$H>||$cmd1) if ($opt_f || !@ARGV);
    $l = "";
#print LOG "ENTERING TO SEND THE CMD:$cmd\n";
    while (defined ($cmd) && defined ($l)) {
	#
	# send the command
	#
	chomp $cmd;
#print LOG "SENDING THE CMD:$cmd\n";
	($l, @out) = do_cmd (MON, $cmd);
	last if (!defined ($l));
	for (@out) {
	    print "$_\n";
	}
	print "$l\n";

	$cmd = <$H>;
    }
    close ($H);

} else {
    ($l, @out) = do_cmd (MON, "@ARGV");
    for (@out) {
	print "$_\n";
    }
    print "$l\n";
}

#
# log out
#
do_cmd (MON, "quit");

close(MON);

#close(LOG);

#
# submit a command to the server, wait for a response
#
sub do_cmd {
    my ($fd, $cmd) = @_;
    my ($l, @out);

    return ("", undef) if ($cmd =~ /^\s*$/);

    @out = ();
    print $fd "$cmd\n";
#print LOG "SUBMITTING CMD:$cmd\n";
    while (defined($l = <$fd>)) {
        chomp $l;
        if ($l =~ /^(\d{3}\s)/) {
            last;
        }
        push (@out, $l);
    }

    ($l, @out);
}


#
# usage
#
sub usage {
    print <<EOF;

usage: moncmd [-a] [-l login] [-s host] [-p port] [-f file] commands

Valid commands are:
    quit
    reset [stopped]
    term
    list group "groupname"
    list disabled
    list alerthist
    list failurehist
    list successes
    list failures
    list opstatus
    list pids
    list watch
    stop
    start
    loadstate
    savestate
    set "group" "service" "variable" "value"
    get "group" "service" "variable"
    disable service "group" "service"
    disable host "host" ["host"...]
    disable watch "watch"
    enable service "group" "service"
    enable host "host" ["host"...]
    enable watch "watch"
EOF
    exit 0;
}


#
# signal handler
#
sub handle_sig {
    system "stty echo";
    exit;
}
0707010002873d000081e40000000000000002000000013d1fe2e60000738b000000200000000000000000000000000000001600000003reloc/mon/monshow.cgi #!/usr/local/bin/perl
#
# modified to customize for this webmin module of MON-dt 09th sept 2001
# monshow - concise, user view-based opstatus summary
#
# Jim Trocki, trockij@transmeta.com
#
# $Id: monshow 1.1 Sat, 26 Aug 2000 12:22:34 -0700 trockij $
#
#    Copyright (C) 1998, Jim Trocki
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 2 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program; if not, write to the Free Software
#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
require './mon-lib.pl';
&init_config();
&header($text{'mon_status_title'}, "","monshow");
print "<hr>\n";

use strict "vars";
use Getopt::Long;
use English;
use CGI;
use Text::Wrap;
use Mon::Client;
use Data::Dumper;

#
# forward declarations
#
sub usage;
sub get_auth;
sub read_cf;
sub err_die;
sub expand_watch;
sub secs_to_hms;
sub display_allok;
sub compose_detail;
sub compose_header;
sub compose_disabled;
sub compose_table;
sub compose_trailer;
sub get_client_status;
sub opstatus_color;
sub tdiff_string;

#
# set this to the path of your view configuration files
#
my $VIEWPATH = "/etc/mon/monshow";
#my $VIEWPATH = "/home/trockij/monshow";

my %OPSTAT = %Mon::Client::OPSTAT;
my $WORD = '[a-zA-Z0-9_-]+';
my $OUT_BUF = "";
my $e;
$= = 1000;
$SIG{INT} = \&handle_sig;
$SIG{TERM} = \&handle_sig;

my ($DEP, $GROUP, $SERVICE, $STATUS, $TIME, $NEXT, $ALERTS, $SUMMARY, $DESC);

my %opt;
GetOptions (\%opt, "showall", "auth", "help", "full", "disabled",
	"rcfile=s", "login=s", "server=s", "port=i", "prot=s",
	"detail=s", "view=s");

my $CGI;
my %QUERY_ARGS;
if (defined $ENV{"REQUEST_METHOD"})
{
    $CGI = new CGI;
}

if (!$CGI && $opt{"help"})
{
    usage;
    exit 1;
}

if ($CGI)
{
    foreach my $e (split (/\?/, $ENV{"QUERY_STRING"}))
    {
	next if ($e !~ /=/);

    	my ($var, $val) = split (/=/, $e);

	$QUERY_ARGS{$var} = $val;
    }
}

my $CF = {
    "full"		=> 0,
    "show-disabled"	=> 0,
    "bg"		=> "d5d5d5",
    "bg-ok"		=> "a0d0a0",
    "bg-fail"		=> "FF66FF",
    "bg-disabled"	=> "FAEBD7",
    "bg-untested"	=> "e0e0e0",
    "table-color"	=> "cccccc",
};

my $GLOBAL = {
    "view-name"		=> undef,
};

#
# read config file
#
my ($e, $what) = read_cf ($CF);

if ($e ne "")
{
    err_die ("while reading config file, $e");
}

#
# cmdline args override config file
#
if (!$CGI)
{
    $CF->{"all"}		= 1 if ($opt{"showall"});
    $CF->{"full"}		= 1 if ($opt{"full"});
    $CF->{"detail"}		= $opt{"detail"} if ($opt{"detail"} ne "");
    $CF->{"host"}		= $opt{"server"} if ($opt{"server"});
    $CF->{"port"}		= $opt{"port"} if ($opt{"port"});
    $CF->{"prot"}		= $opt{"prot"} if ($opt{"prot"});
}

#
# retrieve client status
#
my ($e, $st) = get_client_status ($what);

if ($e ne "")
{
    err_die ($e);
}

expand_watch ($what, $st);

my $rows = select_table ($what, $st);

compose_header ($st->{"state"});

#
# CGI invocation
#
if ($CGI)
{
    if ($QUERY_ARGS{"disabled"})
    {
	compose_disabled ($st->{"disabled"});
    }

    elsif (!$QUERY_ARGS{"detail"})
    {
	compose_table ($rows, $st);

	compose_disabled ($st->{"disabled"}) if ($CF->{"show-disabled"});
    }

    elsif ($QUERY_ARGS{"detail"})
    {
	compose_detail ($QUERY_ARGS{"detail"}, $st);
    }
}

#
# cmdline invocation
#
else
{
    if ($opt{"disabled"})
    {
	compose_disabled ($st->{"disabled"});
    }

    elsif ($CF->{"detail"} ne "")
    {
	compose_detail ($CF->{"detail"}, $st);
    }

    else
    {
	compose_table ($rows, $st);

	compose_disabled ($st->{"disabled"}) if ($CF->{"show-disabled"});
    }
}

compose_trailer;

if ($CGI)
{
#Content-type: text/html
    print <<EOF;

$OUT_BUF
<br><hr><br>
EOF

&footer("./","MON Index page");
}

else
{
    print "\n";
}

exit;

#-----------------------------------------------------------------------------

format STDOUT_TOP =

  GROUP           SERVICE      STATUS      LAST       NEXT       ALERTS SUMMARY
.


#
# usage
#
sub usage
{
    print <<EOF;

usage: monshow [--auth] [--showall] [--full] [--login user] [--disabled]
               [--server host] [--port num] [--rcfile file]
	       [--detail group,service] [--view name]
    --showall      do not read rcfile and show opstatus of all services
    --full         show disabled, failures, successes, and untested
    --detail g,s   show detail (alert acks, etc.) for group,service
    --view name    display a pre-defined view
    --auth         authenticate to mon server
    --disabled     show disabled
    --prot ver     set protocol version, must match 1.2.3 format
    --login user   use "login" as username while authenticating
    --server host  use "host" as monhost, instead of MONHOST
    --port num     use "num" as port number instead of default
    --rcfile file  use "file" as config file instead of \$HOME/.monshowrc

EOF
}


#
# signal handler
#
sub handle_sig
{
    system "stty echo" unless ($CGI);
    exit;
}


#
# get auth info
#
# returns a list "error", "login", "password"
#
sub get_auth
{
    my ($login, $pass);

    if ($CGI)
    {
    	$login = $CGI->query ("login");
    	$pass  = $CGI->query ("password");
    }

    else
    {
	if ($opt{"login"})
	{
	    $login = $opt{"login"};
	}

	else
	{
	    return "could not determine username"
	    	if (!defined ($login = getpwuid($EUID)));
	}

	if (-t STDIN)
	{
	    system "stty -echo";
	    print "Password: ";
	    chop ($pass = <STDIN>);
	    print "\n";
	    system "stty echo";
	    return "invalid password" if ($pass =~ /^\s*$/);
	}

	else
	{
	    my $cmd;

	    while (defined ($cmd = <>))
	    {
		chomp $cmd;
		if ($cmd =~ /^user=(\S+)$/i)
		{
		    $login = $1;
		}

		elsif ($cmd =~ /^pass=(\S+)$/i)
		{
		    $pass = $1;
		}

		last if (defined ($login) && defined ($pass));
	    }
	}
    }

    return "inadequate authentication information supplied"
	if ($login eq "" || $pass eq "");
    
    return ("", $login, $pass);
}

#
# config file
#
sub read_cf
{
    my $CF = shift;

    my ($group, $service);
    my @RC;
    my $view = 0;

    my $RC = "/webmin-0.87/mon/monshowrc";

    if ($CGI)
    {
	if ($ENV{"PATH_INFO"} =~ /^\/\S+/)
	{
	    my $p=$ENV{"PATH_INFO"};
	    $p =~ s/^[.\/]*//;
	    $p =~ s/\/*$//;
	    $p =~ s/\.\.//g;
	    $RC = "$VIEWPATH/$p";
	    $GLOBAL->{"view-name"} = $p;
	    $view = 1;
	}

	elsif ($QUERY_ARGS{"view"} ne "")
	{
	    $QUERY_ARGS{"view"} =~ s/^[.\/]*//;
	    $QUERY_ARGS{"view"} =~ s/\.\.//g;
	    $GLOBAL->{"view-name"} = $QUERY_ARGS{"view"};
	    $RC = "$VIEWPATH/$QUERY_ARGS{view}";
	    $view = 1;
	}

	elsif (-f ".monshowrc")
	{
	    $RC = ".monshowrc";
	}
    }

    else
    {
	if ($opt{"rcfile"})
	{
	    $RC = $opt{"rcfile"};
	}

	elsif ($opt{"view"} ne "")
	{
	    $RC = "$VIEWPATH/$opt{view}";
	    $GLOBAL->{"view-name"} = $opt{"view"};
	    $view = 1;
	}

	elsif (-f "$ENV{HOME}/.monshowrc")
	{
	    $RC = "$ENV{HOME}/.monshowrc";
	}
    }

    if ($opt{"old"})
    {
	$CF->{"prot"} = "0.37.0";
	$CF->{"port"} = 32777;
    }

    if (-f $RC)
    {
	open (IN, $RC) || return "could not read $RC: $!";

	my $html_header = 0;
	my $link_text = 0;
	my $link_group = "";
	my $link_service = "";

	while (<IN>)
	{
	    next if (/^\s*#/ || /^\s*$/);

	    if ($html_header)
	    {
	    	if (/^END\s*$/)
		{
		    $html_header = 0;
		    next;
		}

		else
		{
		    $CF->{"html-header"} .= $_;
		    next;
		}
	    }

	    elsif ($link_text)
	    {
	    	if (/^END\s*$/)
		{
		    $link_text = 0;
		    next;
		}

		else
		{
		    $CF->{"links"}->{$link_group}->{$link_service}->{"link-text"} .= $_;
		    next;
		}
	    }
	    
	    else
	    {
		chomp;
		s/^\s*//;
		s/\s*$//;
	    }

	    if (/^set \s+ (\S+) \s* (\S+)?/ix)
	    {
		my $cmd = $1;
		my $arg = $2;
		if ($cmd eq "show-disabled") { }
		elsif ($cmd eq "host") { }
		elsif ($cmd eq "prot") { }
		elsif ($cmd eq "port") { }
		elsif ($cmd eq "full") { }
		elsif ($cmd eq "bg") { }
		elsif ($cmd eq "bg-ok") { }
		elsif ($cmd eq "bg-fail") { }
		elsif ($cmd eq "bg-disabled") { }
		elsif ($cmd eq "bg-untested") { }
		elsif ($cmd eq "table-color") { }
		elsif ($cmd eq "html-header") { $html_header = 1; next; }
		elsif ($cmd eq "refresh") { }
		else
		{
		    print STDERR "unknown set, line $.\n";
		    next;
		}

		if ($arg ne "")
		{
		    $CF->{$cmd} = $arg;
		}

		else
		{
		    $CF->{$cmd} = 1;
		}
	    }

	    elsif (/^watch \s+ (\S+)/x)
	    {
	    	push (@RC, [$1]);
	    }

	    elsif (/^service \s+ (\S+) \s+ (\S+)/x)
	    {
	    	push (@RC, [$1, $2]);
	    }

	    elsif (/^link \s+ (\S+) \s+ (\S+) \s+ (.*)\s*/ix)
	    {
	    	$CF->{"links"}->{$1}->{$2}->{"link"} = $3;
	    }

	    elsif (/^link-text \s+ (\S+) \s+ (\S+)/ix)
	    {
		$link_text = 1;
		$link_group = $1;
		$link_service = $2;
	    	next;
	    }

	    else
	    {
		my $lnum = $.;
	    	close (IN);
		err_die ("error in config file, line $.");
	    }
	}
	close (IN);
    }

    elsif (! -f $RC && $view)
    {
    	err_die ("no view found");
    }

    return ("", \@RC);
}


sub secs_to_hms
{
    my ($s) = @_;
    my ($dd, $hh, $mm, $ss);

    $dd = int ($s / 86400);
    $s -= $dd * 86400;

    $hh = int ($s / 3600);
    $s -= $hh * 3600;

    $mm = int ($s / 60);
    $s -= $mm * 60;

    $ss = $s;

    if ($dd == 0)
    {
        sprintf("%02d:%02d", $hh, $mm);
    }

    else
    {
        sprintf("%d days, %02d:%02d", $dd, $hh, $mm);
    }
}


#
# exit displaying error in appropriate output format
#
sub err_die
{
    my $msg = shift;

    if ($CGI)
    {
print <<EOF;
Content-type: text/html

<html>
<head>
<title> Error </title>
</head>
<body>
<h2> Error </h2>
<pre>
$msg
</pre>
</body>
</html>
EOF
    }

    else
    {
print <<EOF;
Error: $msg

EOF
    }

    exit 1;
}


#
# everything is cool
#
sub display_allok
{
    if ($CGI)
    {
    	$OUT_BUF .= <<EOF;
<h2> All systems OK </h2>
<p>

EOF
    }

    else
    {
	print "\nAll systems OK\n";
    }
}


#
# client status
#
# return ("", $state, \%opstatus, \%disabled, \%deps, \%groups, \%descriptions);
#
sub get_client_status {
    my $what = shift;

    my $cl;

    if (!defined ($cl = Mon::Client->new))
    {
	return "could not create client object: $@";
    }

    my ($username, $pass);

    if ($opt{"auth"} && !$CGI)
    {
	my $e;
	($e, $username, $pass) = get_auth;
	if ($e eq "")
	{
	    return "$e";
	}
	$cl->username ($username);
	$cl->password ($pass);
    }

    $cl->host ($CF->{"host"}) if (defined $CF->{"host"});
    $cl->port ($CF->{"port"}) if (defined $CF->{"port"});
    $cl->port ($CF->{"prot"}) if (defined $CF->{"prot"});

    $cl->connect;

    if ($cl->error) {
	return "Could not connect to server: " . $cl->error;
    }

    #
    # authenticate self to the server if necessary
    #
    if ($opt{"auth"} && !defined ($cl->login)) {
	my $e = $cl->error;
	$cl->disconnect;
	return "Could authenticate: $e";
    }

    #
    # get disabled things
    #
    my %disabled = $cl->list_disabled;
    if ($cl->error) {
	my $e = $cl->error;
	$cl->disconnect;
	return "could not get disabled: $e";
    }

    #
    # get state
    #
    my ($running, $t) = $cl->list_state;
    if ($cl->error) {
	my $e = $cl->error;
	$cl->disconnect;
	return "could not get state: $e";
    }

    my $state;
    if ($running) {
	$state = $t;
    }

    else
    {
	$state = "scheduler stopped since " . localtime ($t);
    }

    #
    # group/service list
    #
    my @watch = $cl->list_watch;

    if ($cl->error) {
	my $e = $cl->error;
	$cl->disconnect;
	return "could not get opstatus: $e";
    }

    #
    # get opstatus
    #
    my %opstatus;
    if (@{$what} == 0)
    {
	%opstatus = $cl->list_opstatus;
	if ($cl->error) {
	    my $e = $cl->error;
	    $cl->disconnect;
	    return "could not get opstatus: $e";
	}
    }

    else
    {
    	my @list;
	foreach my $r (@{$what})
	{
	    if (@{$r} == 2)
	    {
	    	push @list, $r;
	    }

	    else
	    {
	    	foreach my $w (@watch)
		{
		    next if ($r->[0] ne $w->[0]);
		    push @list, $w;
		}
	    }
	}

	%opstatus = $cl->list_opstatus (@list);
	if ($cl->error) {
	    my $e = $cl->error;
	    $cl->disconnect;
	    return "could not get opstatus: $e";
	}
    }

    #
    # dependencies
    #
    my %deps;
    if ($opt{"deps"}) {
	%deps = $cl->list_deps;
	if ($cl->error) {
	    my $e = $cl->error;
	    $cl->disconnect;
	    return "could not list deps: $e";
	}
    }

    #
    # descriptions
    #
    my %desc;
    %desc = $cl->list_descriptions;
    if ($cl->error) {
	my $e = $cl->error;
	$cl->disconnect;
	return "could not list descriptions: $e";
    }

    #
    # groups
    #
    my %groups;

    if ($QUERY_ARGS{"detail"} || $CF->{"detail"} ne "")
    {
    	foreach my $g (keys %opstatus)
	{
	    my @g = $cl->list_group ($g);
	    if ($cl->error)
	    {
	    	my $e = $cl->error;
		$cl->disconnect;
		return "could not list group: $e";
	    }

	    $groups{$g} = [@g];
	}
    }

    #
    # log out
    #
    if (!defined $cl->disconnect) {
	return "error while disconnecting: " . $cl->error;
    }


    return ("", {
	"state"		=> $state,
	"opstatus"	=> \%opstatus,
	"disabled"	=> \%disabled,
	"deps"		=> \%deps,
	"groups"	=> \%groups,
	"desc"		=> \%desc,
	"watch"		=> \@watch,
	});
}


sub compose_header {
    my $state = shift;

    my $t = localtime;

    #
    # HTML stuff
    #
    if ($CGI)
    {
	$OUT_BUF = <<EOF;
<html>
<head>
<title> Operational Status </title>
EOF

	if ($CF->{"refresh"})
	{
	    $OUT_BUF .= <<EOF;
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Refresh" CONTENT=$CF->{refresh}>
EOF
	}

	$OUT_BUF .= "</head>\n";

	if ($CF->{"html-header"} ne "")
	{
	    $OUT_BUF .= $CF->{"html-header"};
	}

	$OUT_BUF .= <<EOF;
<body bgcolor="$CF->{'bg'}">

<table width="100%" border>
    <tr bgcolor=$CF->{'table-color'}>
	<td>
	    <table>
		<tr>
		    <td align=right><b>Server:</b></td>
		    <td> $CF->{host} </td>
		</tr>
		<tr>
		    <td align=right><b>Time:</b></td>
		    <td> $t </td>
		</tr>
		<tr>
		    <td align=right><b>State:</b></td>
		    <td> $state </td>
		</tr>
EOF

	if ($GLOBAL->{"view-name"} ne "")
	{
	    $OUT_BUF .= <<EOF;
		<tr>
		    <td align=right><b>View:</b></td>
		    <td><b>$GLOBAL->{"view-name"}</b></td>
		</tr>
EOF
	}

	$OUT_BUF .= <<EOF;
	    </table>
	</td>

	<td>
	    <table cellpadding=2 cellspacing=3>
		<tr>
		    <td><FONT FACE="sans-serif" size=+1><b>Color legend</b></FONT></td>
		</tr>
		<tr>
		    <td bgcolor="$CF->{'bg-ok'}"> all is OK </td>
		    <td bgcolor="$CF->{'bg-fail'}"> failure </td>
		    <td bgcolor="$CF->{'bg-untested'}"> untested </td>
		    <td bgcolor="$CF->{'bg-disabled'}"> disabled </td>
		</tr>
	    </table>
	</td>
    </tr>
</table>
<p>
<br>
EOF
    }

    else
    {
    	print <<EOF;

     server: $CF->{host}
       time: $t
      state: $state
EOF
    }
}


sub select_table {
    my ($what, $st) = @_;

    my @rows;

    #
    # display everything real nice
    #
    if ($CF->{"all"} || @{$what} == 0)
    {
	foreach my $group (keys %{$st->{"opstatus"}})
	{
	    foreach my $service (keys %{$st->{"opstatus"}->{$group}})
	    {
		push (@rows, [$group, $service]);
	    }
	}
    }

    else
    {
	@rows = @{$what};
    }

    my (%DEP, %DEPROOT);

    foreach my $l (@rows)
    {
	my ($group, $service) = @{$l};

	my $sref = \%{$st->{"opstatus"}->{$group}->{$service}};

	next if (!defined $sref->{"opstatus"});

	#
	# disabled things
	#
	# fuckin' Perl, man. Just be referencing
	# $st->{"disabled"}->{"watches"}->{$group}, perl automagically
	# defines that hash element for you. Great.
	#
	if (defined ($st->{"disabled"}->{"watches"}) &&
	    defined ($st->{"disabled"}->{"watches"}->{$group}))
	{
	    next;
	}

	elsif (defined ($st->{"disabled"}->{"services"}) &&
	       defined ($st->{"disabled"}->{"services"}->{$group}) &&
	       defined ($st->{"disabled"}->{"services"}->{$service}))
	{
	    next;
	}

	#
	# potential root dependencies
	#
	elsif ($sref->{"depend"} eq "")
	{
	    push (@{$DEPROOT{$sref->{"opstatus"}}}, ["R", $group, $service]);
	}

	#
	# things which have dependencies
	#
	else
	{
	    push (@{$DEP{$sref->{"opstatus"}}}, ["D", $group, $service]);
	}
    }

    if ($CF->{"full"})
    {
	[
	    @{$DEPROOT{$OPSTAT{"fail"}}},
	    @{$DEPROOT{$OPSTAT{"linkdown"}}},
	    @{$DEPROOT{$OPSTAT{"timeout"}}},
	    @{$DEPROOT{$OPSTAT{"coldstart"}}},
	    @{$DEPROOT{$OPSTAT{"warmstart"}}},
	    @{$DEPROOT{$OPSTAT{"untested"}}},
	    @{$DEPROOT{$OPSTAT{"unknown"}}},

	    @{$DEP{$OPSTAT{"fail"}}},
	    @{$DEP{$OPSTAT{"linkdown"}}},
	    @{$DEP{$OPSTAT{"timeout"}}},
	    @{$DEP{$OPSTAT{"coldstart"}}},
	    @{$DEP{$OPSTAT{"warmstart"}}},

	    @{$DEPROOT{$OPSTAT{"ok"}}},
	    @{$DEP{$OPSTAT{"ok"}}},
	    @{$DEP{$OPSTAT{"untested"}}},
	    @{$DEP{$OPSTAT{"unknown"}}},
	];
    }

    else
    {
	[
	    @{$DEPROOT{$OPSTAT{"fail"}}},
	    @{$DEPROOT{$OPSTAT{"linkdown"}}},
	    @{$DEPROOT{$OPSTAT{"timeout"}}},
	    @{$DEPROOT{$OPSTAT{"coldstart"}}},
	    @{$DEPROOT{$OPSTAT{"warmstart"}}},

	    @{$DEP{$OPSTAT{"fail"}}},
	    @{$DEP{$OPSTAT{"linkdown"}}},
	    @{$DEP{$OPSTAT{"timeout"}}},
	    @{$DEP{$OPSTAT{"coldstart"}}},
	    @{$DEP{$OPSTAT{"warmstart"}}},
	];
    }
}


#
# build the table
#
sub compose_table {
    my ($rows, $st) = @_;

    if (@{$rows} == 0)
    {
	display_allok;
	return;
    }

    #
    # display the failure table
    #
    if ($CGI)
    {
	$OUT_BUF .= <<EOF;
	<h2><center>Full View </h2>(To Disable / View Details, Click on the link under Service column)</center>
<table border cellpadding=2 cellspacing=1 bgcolor="#$CF->{'table-color'}" width="100%">
    <th><FONT FACE="sans-serif" size=+1>Depends</FONT>
    <th><FONT FACE="sans-serif" size=+1>Group</FONT>
    <th><FONT FACE="sans-serif" size=+1>Service</FONT>
    <th><FONT FACE="sans-serif" size=+1>Desc.</FONT>
    <th><FONT FACE="sans-serif" size=+1>Last check</FONT>
    <th><FONT FACE="sans-serif" size=+1>Next check</FONT>
    <th><FONT FACE="sans-serif" size=+1>Alerts</FONT>
    <th><FONT FACE="sans-serif" size=+1>Status</FONT>
    <th><FONT FACE="sans-serif" size=+1>Summary</FONT>

EOF
    }

    foreach my $l (@{$rows})
    {
	my ($depstate, $group, $service) = @{$l};

	my $sref = \%{$st->{"opstatus"}->{$group}->{$service}};

	$STATUS = "unknown";
	$TIME = "";
	$DEP = $depstate;
	my $last = "";
	my $bgcolor = opstatus_color ($sref->{"opstatus"});

	if ($sref->{"opstatus"} == $OPSTAT{"untested"})
	{
	    $STATUS = "untested";
	    $TIME = "untested";
	}

	elsif ($sref->{"opstatus"} == $OPSTAT{"ok"})
	{
	    $STATUS = "-";
	}

	elsif ($sref->{"opstatus"} == $OPSTAT{"fail"})
	{
	    if ($sref->{"ack"})
	    {
		if ($CGI) {
	    	$STATUS = "<a href=\"$ENV{SCRIPT_NAME}?detail=$group,$service\">" .
			  "<b>ACK FAIL</b></a>";
		} else {
		    $STATUS = "ACK FAIL";
		}
	    }

	    else
	    {
		$STATUS = "FAIL";
	    }
	}

	if ($depstate eq "")
	{
	    $DEP = "-";
	}

	$GROUP = $group;
	$SERVICE = $service;
	$DESC = $st->{"desc"}->{$group}->{$service}."&nbsp;";


	if ($TIME eq "")
	{
	    $TIME = tdiff_string (time - $sref->{"last_check"}) . " ago";
	}

	if ($sref->{"timer"} < 60)
	{
	    $NEXT = "$sref->{timer} secs";
	}

	else
	{
	    $NEXT = secs_to_hms ($sref->{"timer"});
	}

	$SUMMARY = $sref->{"last_summary"};

	$ALERTS = $sref->{"alerts_sent"} || "none";

	my $fmt;
	if (!$CGI)
	{
	    $fmt = <<EOF;
format STDOUT =
@ @<<<<<<<<<<<<<< @<<<<<<<<<<< @<<<<<<<<<  @<<<<<<<   @<<<<<<<<< @<<<   @
EOF
	    chomp $fmt;
	    $fmt .= "<" x length($SUMMARY) . "\n";
	    $fmt .= <<'EOF';
$DEP, $GROUP, $SERVICE, $STATUS, $TIME, $NEXT, $ALERTS, $SUMMARY
.
EOF
	    eval $fmt;
	    write;
	}

	else
	{
	    if ($SUMMARY =~ /^\s*$/)
	    {
		$SUMMARY = "<pre> </pre>";
	    }
	    if ($bgcolor ne "")
	    {
	    	$bgcolor = "bgcolor='#$bgcolor'";
	    }
	    $OUT_BUF .= <<EOF;

<tr $bgcolor>
   <td> $DEP
   <td> $GROUP
   <td> <a href="$ENV{SCRIPT_NAME}?detail=$group,$service">$SERVICE</a>
   <td> $DESC
   <td> $TIME
   <td> $NEXT
   <td> $ALERTS
   <td> $STATUS
   <td> $SUMMARY
EOF

	}
    }

    if ($CGI)
    {
	$OUT_BUF .= <<EOF;
</table><br><br>
<center><font color=red size=+1><b>Disabled Hosts/Watch/Services</b></font></center>
EOF
    }
}


sub compose_disabled {
    my $disabled = shift;

    if (!keys %{$disabled->{"watches"}} &&
    	!keys %{$disabled->{"services"}} &&
	!keys %{$disabled->{"hosts"}})
    {
    	if ($CGI)
	{
	    $OUT_BUF .= <<EOF;
<br>
<center><table width=50% border>
<tr align=center bgcolor="$CF->{'bg-ok'}">
<td>Nothing is disabled</td></tr></table></center>
<p>
EOF
	}

	else
	{
	    print "\nNothing is disabled.\n";
	}

	return;
    }

    if (keys %{$disabled->{"watches"}})
    {
	if ($CGI)
	{
	    $OUT_BUF .= <<EOF;
<br>
<center><table width=100% border>
<tr align=center bgcolor="$CF->{'table-color'}">
<td width=50%><b>Disabled Watches</b></td><td>Click Link to Enable Desired Watch</td></tr>
EOF
	}

	else
	{
	    print "\nDISABLED WATCHES:\n";
	}

	foreach my $watch (keys %{$disabled->{"watches"}})
	{
	    if ($CGI)
	    {
	    	$OUT_BUF .= "<tr bgcolor=$CF->{'bg-disabled'}><td>$watch</td><td><a href='moncmd.cgi?enable=watch&watch=$watch'>Enable Watch</a></td></tr>\n";
	    }

	    else
	    {
		print "$watch\n";
	    }
	}
	if ($CGI)
        {
               $OUT_BUF .= "</table></center>\n";
        }
    }

    my @disabled_services;
    foreach my $watch (keys %{$disabled->{"services"}})
    {
	foreach my $service (keys %{$disabled->{"services"}{$watch}})
	{
	    push (@disabled_services, "$watch $service");;
	}
    }

    if (@disabled_services)
    {
	if ($CGI)
	{
	    $OUT_BUF .= <<EOF;
<br>
<center><table width=100% border>
<tr align=center bgcolor="$CF->{'table-color'}">
<td width=50%><b>Disabled Services (Hostgroup -> Service) </b></td><td>Click Link to Enable Desired Service</td></tr>
EOF
	}

	else
	{
	    print "\nDISABLED SERVICES\n";
	}
	for (@disabled_services)
	{
	    if ($CGI)
	    {
		my $aaa=$_;
		$aaa=~s/\s+/ -> /;
	    	$OUT_BUF .= "<tr bgcolor=$CF->{'bg-disabled'}><td>$aaa</td><td><a href='moncmd.cgi?enable=service&service=$_'>Enable Service</a></td></tr>\n";
	    }

	    else
	    {
		print "$_\n";
	    }
	}
        if ($CGI)
        {
           $OUT_BUF .= "</table></center>\n";
        }
    }

    if (keys %{$disabled->{"hosts"}})
    {
	if ($CGI)
	{
	    $OUT_BUF .= <<EOF;
<br>
<center><table width=100% border>
<tr align=center bgcolor="$CF->{'table-color'}">
<td width=50%><b>Disabled Hosts (Hostgroup -> Host)</b><td>Click Link to Enable Desired Host</td></td></tr>
EOF
	}

	else
	{
	    print "\nDISABLED HOSTS:\n";
	}
	foreach my $group (keys %{$disabled->{"hosts"}})
	{
	    my @HOSTS = ();
	    foreach my $host (keys %{$disabled->{"hosts"}{$group}})
	    {
		push (@HOSTS, $host);
	    }
	    if ($CGI)
	    {
		foreach my $sdd(@HOSTS){
			$OUT_BUF .= sprintf ("<tr bgcolor=$CF->{'bg-disabled'}><td>%-15s -> %s </td><td><a href='moncmd.cgi?enable=host&host=$sdd'>Enable Host</a></td></tr>\n", $group, $sdd);
		}
	    }

	    else
	    {
		printf ("%-15s %s\n", $group, "@HOSTS");
	    }
	}
        if ($CGI)
        {
           $OUT_BUF .= "</table></center>\n";
        }
    }
}


sub compose_trailer {
    if ($CGI)
    {
    	$OUT_BUF .= <<EOF;
</body>
</html>
EOF
    }
}


sub compose_detail {
    my ($args, $st) = @_;

    my ($group, $service) = split (/,/, $args, 2);

    if (!defined ($st->{"opstatus"}->{$group}->{$service}))
    {
    	err_die ("$group/$service not a valid service");
    }

    my $sref = \%{$st->{"opstatus"}->{$group}->{$service}};

    my $d;

    my $bgcolor = opstatus_color ($sref->{"opstatus"});

    $bgcolor = "bgcolor='#$bgcolor'" if ($bgcolor ne "");

    foreach my $k (keys %OPSTAT)
    {
        if ($OPSTAT{$k} == $sref->{"opstatus"})
        {
            $sref->{"opstatus"} = "$k ($sref->{opstatus})";
            last; 
        }
    }

    foreach my $k (qw (opstatus exitval last_check timer ack ackcomment))
    {
    	if ($CGI && $sref->{$k} =~ /^\s*$/)
	{
	    $d->{$k} = "<pre> </pre>";
	}

	else
	{
	    $d->{$k} = $sref->{$k};
	}
    }

    my $t = time;

    $d->{"last_check"} = tdiff_string ($t - $d->{"last_check"}) . " ago";
    $d->{"timer"} = "in " . tdiff_string ($d->{"timer"});

    foreach my $k (qw (last_success last_failure first_failure last_alert))
    {
	if ($sref->{$k})
	{
	    $d->{$k} = localtime ($sref->{$k});
	}
    }

    if ($sref->{"first_failure"})
    {
    	$d->{"failure_duration"} = secs_to_hms ($sref->{"failure_duration"});
    }


    #
    # HTML output
    #
    if ($CGI)
    {
    $OUT_BUF .= <<EOF;

<h1><center><FONT FACE="sans-serif">Detail for $group/$service</font></h1>(Click the link to Disable Watch/Service/Hosts )</center>

<table width="100%" border>
    <tr $bgcolor>
    	<td align=right width="15%"> <b> Description: </b> <td> $st->{desc}->{$group}->{$service}&nbsp;<td bgcolor="#FFFF00"><a href='moncmd.cgi?disable=service&service=$group $service'>Disable Service</a> 
    <tr $bgcolor>
	<td align=right width="15%"> <b> Summary: </b> <td> $sref->{last_summary}&nbsp;<td bgcolor="#FFFF00">&nbsp;
    <tr $bgcolor>
	<td align=right width="15%"> <b> Hosts: </b> <td> @{$st->{groups}->{$group}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Note: * indicates disabled host)<td bgcolor="#FFFF00">
EOF
	foreach $_(@{$st->{groups}->{$group}}){
		$OUT_BUF .= sprintf ("%s <a href='moncmd.cgi?disable=host&host=$_'>Disable Host: $_</a><br>");
	}
$OUT_BUF .= <<EOF;    
<tr $bgcolor>
	<td valign=top align=right width="15%"> <b> Detail: </b>&nbsp;
	<td>
	<pre>
$sref->{last_detail}
	</pre><td bgcolor="#FFFF00"><a href='moncmd.cgi?disable=watch&watch=$group'>Disable Watch</a>
</table>
EOF

	if ($d->{"ack"}){
	    $OUT_BUF .= <<EOF;
<table width="100%" border>
    <tr>
    	<td align=right width="15%"> <h2>Acknowledgment of failure</h2> </td>
    <tr>
	<td align=right width="15%"> $d->{ackcomment}
</table>

EOF
	}

	$OUT_BUF .= <<EOF;
<table cellpadding=2 cellspacing=1 bgcolor="#CCCCCC" width="100%" border>
EOF

	#
	# 0 = nothing special
	# 1 = do not display if zero
	# 2 = do not display if eq ""
	#
	foreach my $k (
		["opstatus", "Operational Status", 0],
		["exitval", "Exit Value", 0],
		["depend", "Dependency", 2],
		["monitor", "Monitor Program", 2],
		["last_check", "Last Check", 2],
		["next_check", "Next Check", 2],
		["last_success", "Last Success", 2],
		["last_failure", "Last Failure", 2],
		["first_failure", "First Failure", 2],
		["failure_duration", "Failure Duration", 2],
		["interval", "Schedule Interval", 0],
		["exclude_period", "Exclude Period", 2],
		["exclude_hosts", "Exclude Hosts", 2],
		["randskew", "Random Skew", 1],
		["alerts_sent", "Alerts Sent", 1],
		["last_alert", "Last Alert", 2])
	{
	    my $v = undef;

	    if ($d->{$k->[0]} ne "") {
	    	$v = \$d->{$k->[0]};

	    } elsif ($sref->{$k->[0]} ne "") {
	    	$v = \$sref->{$k->[0]};
	    }

	    next if ($k->[2] == 1 && $$v == 0);
	    next if ($k->[2] == 2 && $$v eq "");

	    $OUT_BUF .= <<EOF;
    <tr>
    	<td align=right width="15%"><b>$k->[1]:</b></td>
	<td> $$v </td>
EOF
	}

	$OUT_BUF .= <<EOF;
</table>

EOF

	#
	# custom links
	#
	if (defined ($CF->{"links"}->{$group}->{$service}))
	{
	    if (defined ($CF->{"links"}->{$group}->{$service}->{"link-text"}))
	    {
	    	$OUT_BUF .= <<EOF;
<p>
<h2><a href=\"$CF->{links}->{$group}->{$service}->{link}\">More Information</a></h2>
$CF->{links}->{$group}->{$service}->{'link-text'}

EOF
	    }

	    else
	    {
	    	$OUT_BUF .= <<EOF;
<p>
<a href="$CF->{links}->{$group}->{$service}->{link}">$CF->{links}->{$group}->{$service}->{link}</a>

EOF
	    }
	}

    	$OUT_BUF .= <<EOF;
<p>
<hr><a href="$ENV{SCRIPT_NAME}">Back to summary table</a>
<p>

EOF
    }

    #
    # text output
    #
    else
    {
	my $n;
	$Text::Wrap::columns = 70;
	$n->{"desc"}         = wrap ("    ", "    ", $st->{"desc"}->{$group}->{$service});
	$n->{"last_summary"} = wrap ("    ", "    ", $sref->{"last_summary"});
	$n->{"hosts"}        = wrap ("    ", "    ", join (" ", @{$st->{groups}->{$group}}));

    	print <<EOF;

Detail for group $group service $service

description
-----------
$n->{desc}
summary
-------
$n->{last_summary}
hosts
-----
$n->{hosts}

-----DETAIL-----
$sref->{last_detail}
-----DETAIL-----

EOF
    	if ($d->{"ack"})
	{
	    print <<EOF;
alert ack:  $d->{ackcomment}

EOF
	}

	print <<EOF;
  opstatus: $d->{opstatus}
   exitval: $d->{exitval}
    depend: $d->{depend}
   monitor: $d->{monitor}
last check: $d->{last_check}
next_check: $d->{timer}

EOF
    }
}


sub opstatus_color {
    my $o = shift;

    my %color_hash = (
    	$OPSTAT{"untested"}	=> $CF->{"bg-untested"},
	$OPSTAT{"ok"}		=> $CF->{"bg-ok"},
	$OPSTAT{"fail"}		=> $CF->{"bg-fail"},
    );

    $color_hash{$o} || "";
}


sub tdiff_string {
    my $time = shift;

    my $s;

    if ($time <= 90)
    {
    	$s = "$time secs";
    }

    else
    {
    	$s = secs_to_hms ($time);
    }
}


#
# for each watch entry which specifies only "group",
# expand it into "group service"
#
sub expand_watch {
    my $what = shift;
    my $st = shift;

    for (my $i=0; $i<@{$what}; $i++)
    {
    	if (@{$what->[$i]} == 1)
	{
	    my @list;
	    foreach my $l (@{$st->{"watch"}})
	    {
	    	if ($l->[0] eq $what->[$i]->[0])
		{
		    push @list, $l;
		}
	    }
	    splice (@{$what}, $i, 1, @list);
	}
    }
}

 0707010002873e000081a40000000000000002000000013d1fe2e6000023ca000000200000000000000000000000000000001700000003reloc/mon/monshow.diff    --- /usr/share/httpd/cgi-bin/monshow.cgi	Wed Sep  5 10:33:49 2001
+++ /webmin-0.87/mon/monshow.cgi	Mon Sep 10 13:28:48 2001
@@ -1,5 +1,6 @@
 #!/usr/bin/perl
 #
+# modified to customize for this webmin module of MON-dt 09th sept 2001
 # monshow - concise, user view-based opstatus summary
 #
 # Jim Trocki, trockij@transmeta.com
@@ -22,8 +23,18 @@
 #    along with this program; if not, write to the Free Software
 #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 #
+require './mon-lib.pl';
+&init_config();
+&header($text{'mon_status_title'}, "","monshow");
+print "<hr>\n";
+system("/bin/rm -f /webmin-0.87/mon/data/file 1>/dev/null 2>&1") if(-f "/webmin-0.87/mon/data/file");
+local $status = &backquote_logged("/etc/init.d/mon status 2>&1 </dev/null");
+if (!($status=~/running/)){
+	&error("$text{'err_monrun'} <a href='./'>Click here ...</a>");
+}
+#
+#
 use strict "vars";
-
 use Getopt::Long;
 use English;
 use CGI;
@@ -101,7 +112,8 @@
     "show-disabled"	=> 0,
     "bg"		=> "d5d5d5",
     "bg-ok"		=> "a0d0a0",
-    "bg-fail"		=> "e088b7",
+    "bg-fail"		=> "FF66FF",
+    "bg-disabled"	=> "FAEBD7",
     "bg-untested"	=> "e0e0e0",
     "table-color"	=> "cccccc",
 };
@@ -199,11 +211,14 @@
 
 if ($CGI)
 {
+#Content-type: text/html
     print <<EOF;
-Content-type: text/html
 
 $OUT_BUF
+<br><hr><br>
 EOF
+
+&footer("./","MON Index page");
 }
 
 else
@@ -334,7 +349,7 @@
     my @RC;
     my $view = 0;
 
-    my $RC = "/etc/mon/monshowrc";
+    my $RC = "/webmin-0.87/mon/monshowrc";
 
     if ($CGI)
     {
@@ -452,6 +467,7 @@
 		elsif ($cmd eq "bg") { }
 		elsif ($cmd eq "bg-ok") { }
 		elsif ($cmd eq "bg-fail") { }
+		elsif ($cmd eq "bg-disabled") { }
 		elsif ($cmd eq "bg-untested") { }
 		elsif ($cmd eq "table-color") { }
 		elsif ($cmd eq "html-header") { $html_header = 1; next; }
@@ -830,11 +846,10 @@
 	}
 
 	$OUT_BUF .= <<EOF;
-<h1><FONT FACE="sans-serif">Operational Status</font></h1>
 <body bgcolor="$CF->{'bg'}">
 
-<table width="100%">
-    <tr>
+<table width="100%" border>
+    <tr bgcolor=$CF->{'table-color'}>
 	<td>
 	    <table>
 		<tr>
@@ -866,25 +881,22 @@
 	</td>
 
 	<td>
-	    <table>
+	    <table cellpadding=2 cellspacing=3>
 		<tr>
-		    <td><FONT FACE="sans-serif">Color legend</FONT></td>
+		    <td><FONT FACE="sans-serif" size=+1><b>Color legend</b></FONT></td>
 		</tr>
 		<tr>
 		    <td bgcolor="$CF->{'bg-ok'}"> all is OK </td>
-		</tr>
-		<tr>
 		    <td bgcolor="$CF->{'bg-fail'}"> failure </td>
-		</tr>
-		<tr>
 		    <td bgcolor="$CF->{'bg-untested'}"> untested </td>
+		    <td bgcolor="$CF->{'bg-disabled'}"> disabled </td>
 		</tr>
 	    </table>
 	</td>
     </tr>
 </table>
 <p>
-<hr>
+<br>
 EOF
     }
 
@@ -1032,17 +1044,17 @@
     if ($CGI)
     {
 	$OUT_BUF .= <<EOF;
-
-<table cellpadding=2 cellspacing=1 bgcolor="#$CF->{'table-color'}" width="100%">
-    <th><FONT FACE="sans-serif">Dep</FONT>
-    <th><FONT FACE="sans-serif">Group</FONT>
-    <th><FONT FACE="sans-serif">Service</FONT>
-    <th><FONT FACE="sans-serif">Desc.</FONT>
-    <th><FONT FACE="sans-serif">Last check</FONT>
-    <th><FONT FACE="sans-serif">Next check</FONT>
-    <th><FONT FACE="sans-serif">Alerts</FONT>
-    <th><FONT FACE="sans-serif">Status</FONT>
-    <th><FONT FACE="sans-serif">Summary</FONT>
+	<h2><center>Full View </h2>(To Disable / View Details, Click on the link under Service column)</center>
+<table border cellpadding=2 cellspacing=1 bgcolor="#$CF->{'table-color'}" width="100%">
+    <th><FONT FACE="sans-serif" size=+1>Depends</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Group</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Service</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Desc.</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Last check</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Next check</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Alerts</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Status</FONT>
+    <th><FONT FACE="sans-serif" size=+1>Summary</FONT>
 
 EOF
     }
@@ -1095,7 +1107,7 @@
 
 	$GROUP = $group;
 	$SERVICE = $service;
-	$DESC = $st->{"desc"}->{$group}->{$service};
+	$DESC = $st->{"desc"}->{$group}->{$service}."&nbsp;";
 
 
 	if ($TIME eq "")
@@ -1164,8 +1176,8 @@
     if ($CGI)
     {
 	$OUT_BUF .= <<EOF;
-</table>
-
+</table><br><br>
+<center><font color=red size=+1><b>Disabled Hosts/Watch/Services</b></font></center>
 EOF
     }
 }
@@ -1182,7 +1194,9 @@
 	{
 	    $OUT_BUF .= <<EOF;
 <br>
-Nothing is disabled.
+<center><table width=50% border>
+<tr align=center bgcolor="$CF->{'bg-ok'}">
+<td>Nothing is disabled</td></tr></table></center>
 <p>
 EOF
 	}
@@ -1200,9 +1214,10 @@
 	if ($CGI)
 	{
 	    $OUT_BUF .= <<EOF;
-
-<h2> Disabled Watches </h2>
-
+<br>
+<center><table width=100% border>
+<tr align=center bgcolor="$CF->{'table-color'}">
+<td width=50%><b>Disabled Watches</b></td><td>Click Link to Enable Desired Watch</td></tr>
 EOF
 	}
 
@@ -1215,7 +1230,7 @@
 	{
 	    if ($CGI)
 	    {
-	    	$OUT_BUF .= "$watch <br>\n";
+	    	$OUT_BUF .= "<tr bgcolor=$CF->{'bg-disabled'}><td>$watch</td><td><a href='moncmd.cgi?enable=watch&watch=$watch'>Enable Watch</a></td></tr>\n";
 	    }
 
 	    else
@@ -1223,6 +1238,10 @@
 		print "$watch\n";
 	    }
 	}
+	if ($CGI)
+        {
+               $OUT_BUF .= "</table></center>\n";
+        }
     }
 
     my @disabled_services;
@@ -1239,9 +1258,10 @@
 	if ($CGI)
 	{
 	    $OUT_BUF .= <<EOF;
-
-<h2> Disabled Services </h2>
-
+<br>
+<center><table width=100% border>
+<tr align=center bgcolor="$CF->{'table-color'}">
+<td width=50%><b>Disabled Services (Hostgroup -> Service) </b></td><td>Click Link to Enable Desired Service</td></tr>
 EOF
 	}
 
@@ -1253,7 +1273,9 @@
 	{
 	    if ($CGI)
 	    {
-	    	$OUT_BUF .= "$_ <br>\n";
+		my $aaa=$_;
+		$aaa=~s/\s+/ -> /;
+	    	$OUT_BUF .= "<tr bgcolor=$CF->{'bg-disabled'}><td>$aaa</td><td><a href='moncmd.cgi?enable=service&service=$_'>Enable Service</a></td></tr>\n";
 	    }
 
 	    else
@@ -1261,6 +1283,10 @@
 		print "$_\n";
 	    }
 	}
+        if ($CGI)
+        {
+           $OUT_BUF .= "</table></center>\n";
+        }
     }
 
     if (keys %{$disabled->{"hosts"}})
@@ -1268,9 +1294,10 @@
 	if ($CGI)
 	{
 	    $OUT_BUF .= <<EOF;
-
-<h2> Disabled Hosts </h2>
-
+<br>
+<center><table width=100% border>
+<tr align=center bgcolor="$CF->{'table-color'}">
+<td width=50%><b>Disabled Hosts (Hostgroup -> Host)</b><td>Click Link to Enable Desired Host</td></td></tr>
 EOF
 	}
 
@@ -1287,7 +1314,9 @@
 	    }
 	    if ($CGI)
 	    {
-		$OUT_BUF .= sprintf ("%-15s %s <br>\n", $group, "@HOSTS");
+		foreach my $sdd(@HOSTS){
+			$OUT_BUF .= sprintf ("<tr bgcolor=$CF->{'bg-disabled'}><td>%-15s -> %s </td><td><a href='moncmd.cgi?enable=host&host=$sdd'>Enable Host</a></td></tr>\n", $group, $sdd);
+		}
 	    }
 
 	    else
@@ -1295,6 +1324,10 @@
 		printf ("%-15s %s\n", $group, "@HOSTS");
 	    }
 	}
+        if ($CGI)
+        {
+           $OUT_BUF .= "</table></center>\n";
+        }
     }
 }
 
@@ -1376,27 +1409,32 @@
     {
     $OUT_BUF .= <<EOF;
 
-<h2><FONT FACE="sans-serif">Detail for $group/$service</font></h2>
+<h1><center><FONT FACE="sans-serif">Detail for $group/$service</font></h1>(Click the link to Disable Watch/Service/Hosts )</center>
 
-<table width="100%">
-    <tr $bgcolor>
-    	<td align=right width="15%"> <b> Description: </b> <td> $st->{desc}->{$group}->{$service}
+<table width="100%" border>
     <tr $bgcolor>
-	<td align=right width="15%"> <b> Summary: </b> <td> $sref->{last_summary}
+    	<td align=right width="15%"> <b> Description: </b> <td> $st->{desc}->{$group}->{$service}&nbsp;<td bgcolor="#FFFF00"><a href='moncmd.cgi?disable=service&service=$group $service'>Disable Service</a> 
     <tr $bgcolor>
-	<td align=right width="15%"> <b> Hosts: </b> <td> @{$st->{groups}->{$group}}
+	<td align=right width="15%"> <b> Summary: </b> <td> $sref->{last_summary}&nbsp;<td bgcolor="#FFFF00">&nbsp;
     <tr $bgcolor>
-	<td valign=top align=right width="15%"> <b> Detail: </b>
+	<td align=right width="15%"> <b> Hosts: </b> <td> @{$st->{groups}->{$group}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Note: * indicates disabled host)<td bgcolor="#FFFF00">
+EOF
+	foreach $_(@{$st->{groups}->{$group}}){
+		$OUT_BUF .= sprintf ("%s <a href='moncmd.cgi?disable=host&host=$_'>Disable Host: $_</a><br>");
+	}
+$OUT_BUF .= <<EOF;    
+<tr $bgcolor>
+	<td valign=top align=right width="15%"> <b> Detail: </b>&nbsp;
 	<td>
 	<pre>
 $sref->{last_detail}
-	</pre>
+	</pre><td bgcolor="#FFFF00"><a href='moncmd.cgi?disable=watch&watch=$group'>Disable Watch</a>
 </table>
 EOF
 
 	if ($d->{"ack"}){
 	    $OUT_BUF .= <<EOF;
-<table width="100%">
+<table width="100%" border>
     <tr>
     	<td align=right width="15%"> <h2>Acknowledgment of failure</h2> </td>
     <tr>
@@ -1407,7 +1445,7 @@
 	}
 
 	$OUT_BUF .= <<EOF;
-<table cellpadding=2 cellspacing=1 bgcolor="#CCCCCC" width="100%">
+<table cellpadding=2 cellspacing=1 bgcolor="#CCCCCC" width="100%" border>
 EOF
 
 	#
@@ -1484,7 +1522,7 @@
 
     	$OUT_BUF .= <<EOF;
 <p>
-<a href="$ENV{SCRIPT_NAME}">Back to summary table</a>
+<hr><a href="$ENV{SCRIPT_NAME}">Back to summary table</a>
 <p>
 
 EOF
@@ -1595,3 +1633,4 @@
 	}
     }
 }
+
  0707010002873f000081a40000000000000002000000013d1fe2e6000000a6000000200000000000000000000000000000001400000003reloc/mon/monshowrc   set host localhost 
set show-disabled
set full
set bg #FFFFFF
set bg-ok #7FFFD4 
set bg-untested FFCC33
set bg-disabled FAEBD7
set table-color cccccc
set refresh 300
  07070100028740000081e40000000000000002000000013d1fe2e6000001ae000000200000000000000000000000000000001600000003reloc/mon/restart.cgi #!/usr/local/bin/perl
# restart.cgi
# Restart the mon process

require './mon-lib.pl';
&error_setup($text{'restart_err'});
if ($config{'restart_cmd'}) {
	$out = &backquote_logged("$config{'restart_cmd'} 2>&1 </dev/null");
	&error("<tt>$out</tt>") if ($?);
	}
else {
	if (open(PID, $config{'pid_file'}) && chop($pid = <PID>)) {
		kill('HUP', $pid);
		close(PID);
		}
	else {
		&error($text{'restart_epid'});
		}
	}
&redirect("");

  07070100028741000081e40000000000000002000000013d1fe2e600000257000000200000000000000000000000000000001800000003reloc/mon/save_auth.cgi   #!/usr/local/bin/perl
# save_auth.cgi
# Save commands and allowed users

require './mon-lib.pl';
&ReadParse();
&error_setup($text{'auth_err'});

@types = &unique(split(/\s+/, $in{'types'}), &list_auth_types());
foreach $t (@types) {
	local $m = $in{"${t}_mode"};
	if ($m == 2) {
		$out .= "$t:\n";
		}
	elsif ($m == 1) {
		$out .= "$t:\tall\n";
		}
	elsif ($m == 0) {
		local @users = split(/\s+/, $in{$t});
		@users || &error(&text('auth_eusers', $t));
		$out .= "$t:\t".join(",", @users)."\n";
		}
	}

$file = &mon_auth_file();
open(FILE, ">$file");
print FILE $out;
close(FILE);

&redirect("");

 07070100028742000081e40000000000000002000000013d1fe2e6000008b1000000200000000000000000000000000000001a00000003reloc/mon/save_config.cgi #!/usr/local/bin/perl
# save_config.cgi
#
###
require'./mon-lib.pl';
&ReadParse();
#&header();
#
### parse and split variables
local @groups=split(/\s+/,$in{'hostgroups'});
local @watch=split(/\s+/,$in{'watchgroups'});
#
#print "GROUPS=$in{'hostgroups'}<br>";
#print "WATCH=$in{'watchgroups'}<br>";
#
### write mon.cf file
system("/bin/cp $config{'cfbasedir'}/mon.cf $config{'cfbasedir'}/mon.cf.bak$$") if(-f "$config{'cfbasedir'}/mon.cf");
#open(CONF,">data/mon.cf");
open(CONF,">$config{'cfbasedir'}/mon.cf");
print CONF <<EOF;
##### Start of config file for MON - generated by webmin-module ###########
#
### global options
#
cfbasedir\t=$config{'cfbasedir'}
alertdir\t=$config{'alertdir'} 
mondir\t\t=$config{'mondir'}
logdir\t\t=$config{'logdir'} 
statedir\t=$config{'statedir'}
histlength\t=$config{'histlength'}
randstart\t=$config{'randstart'}
authtype\t=$config{'authtype'}
authfile\t=$config{'authfile'}
EOF
print CONF "userfile\t=$config{'userfile'}<br>" if($config{'userfile'});
#
#
print CONF <<EOF;
#
#
### group definitions (hostnames or IP addresses)
### IMPORTANT NOTE: Ensure that hostgroup and watch entries are terminated with a blank line
#
EOF
foreach $p(@groups){
	print CONF "hostgroup $p ",$in{"members_$p"},"\n\n";
}
#
foreach $w(@watch){
	chomp($w);
	print CONF "\n#";
	print CONF "\nwatch $w\n";
	local @services=split(/\s+/,$in{"services_$w"});
	foreach $s(@services){
		chomp($s);
		print CONF "\tservice $s\n";
		local @def=split(/\0/,$in{"def_$w.$s"});
		foreach $d(@def){
			chomp($d);
			if($in{"value_$w.$s.$d"}=~/\.alert$/){
				next;
			}else{
				print CONF "\t\t$d ", $in{"value_$w.$s.$d"}, "\n";
			}
		}
		print CONF "\t\talert ", $in{"value_$w.$s.alert"}," ", $in{"alertval_$w.$s"},"\n";
	}
}
#
print CONF "#\n##### End of config file for MON - generated by webmin-module ###########\n";
close(CONF);
#
#stop and start mon
local $status = &backquote_logged("/etc/init.d/mon status 2>&1 </dev/null");
if ($status=~/running/){
	system("/etc/init.d/mon stop 1>/dev/null 2>&1");
}
system("/etc/init.d/mon start 1>/dev/null 2>data/monstart.err");
$test=`cat data/monstart.err`;
#print "TEST=$test<br>";
if($test){
	&error("Error Starting MON: $test");
}else{
	&redirect("./index.cgi");
}
   07070100028743000081e40000000000000002000000013d1fe2e6000006d5000000200000000000000000000000000000001a00000003reloc/mon/save_global.cgi #!/usr/local/bin/perl
# save_global.cgi
# Save global MON options

require './mon-lib.pl';
$conf = &get_mon_config();
&ReadParse();
&error_setup($text{'global_err'});

# Validate inputs
$in{'maxprocs'} =~ /^\d+$/ || &error($text{'global_emaxprocs'});
$in{'histlength'} =~ /^\d+$/ || &error($text{'global_ehistlength'});
-d $in{'alertdir'} ||  &error($text{'global_ealertdir'});
-d $in{'mondir'} ||  &error($text{'global_emondir'});
$in{'userfile_def'} || $in{'userfile'} =~ /^\S+$/ ||
	&error($text{'global_euserfile'});

# Update config file
$maxprocs = &find("maxprocs", $conf);
&save_directive($conf, $maxprocs, { 'name' => 'maxprocs',
				    'global' => 1,
				    'values' => [ $in{'maxprocs'} ] } );
$histlength = &find("histlength", $conf);
&save_directive($conf, $histlength, { 'name' => 'histlength',
				      'global' => 1,
				      'values' => [ $in{'histlength'} ] } );
$alertdir = &find("alertdir", $conf);
&save_directive($conf, $alertdir, { 'name' => 'alertdir',
				    'global' => 1,
				    'values' => [ $in{'alertdir'} ] } );
$mondir = &find("mondir", $conf);
&save_directive($conf, $mondir, { 'name' => 'mondir',
				  'global' => 1,
				  'values' => [ $in{'mondir'} ] } );
$authtype = &find("authtype", $conf);
if ($in{'authtype'}) {
	&save_directive($conf, $authtype, { 'name' => 'authtype',
					    'global' => 1,
					    'values' => [ $in{'authtype'} ] } );
	}
else {
	&save_directive($conf, $authtype) if ($authtype);
	}
$userfile = &find("userfile", $conf);
if ($in{'userfile_def'}) {
	&save_directive($conf, $userfile) if ($userfile);
	}
else {
	&save_directive($conf, $userfile, { 'name' => 'userfile',
					    'global' => 1,
					    'values' => [ $in{'userfile'} ] } );
	}

&flush_file_lines();
&redirect("");

   07070100028744000081e40000000000000002000000013d1fe2e600000296000000200000000000000000000000000000001a00000003reloc/mon/save_groups.cgi #!/usr/local/bin/perl
# save_groups.cgi
# Save all hostgroup directives

require './mon-lib.pl';
&ReadParse();
&error_setup($text{'groups_err'});
$conf = &get_mon_config();
@ogroups = &find("hostgroup", $conf);

for($i=0; defined($in{"group_$i"}); $i++) {
	next if (!$in{"group_$i"});
	$in{"group_$i"} =~ /^\S+$/ || &error($text{'groups_egroup'});
	@mems = split(/\s+/, $in{"members_$i"});
	@mems || &error($text{'groups_emembers'});
	push(@groups, { 'name' => 'hostgroup',
			'values' => [ $in{"group_$i"}, @mems ] });
	}

for($i=0; $i<@ogroups || $i<@groups; $i++) {
	&save_directive($conf, $ogroups[$i], $groups[$i]);
	}
&flush_file_lines();

&redirect("");

  07070100028745000081e40000000000000002000000013d1fe2e60000047b000000200000000000000000000000000000001b00000003reloc/mon/save_periods.cgi    #!/usr/local/bin/perl
# save_periods.cgi
# Save all period directives

require './mon-lib.pl';
&ReadParse();
&error_setup($text{'periods_err'});
$conf = &get_mon_config();
@operiods = &find("period", $conf);

for($i=0; defined($in{"name_$i"}); $i++) {
	next if (!$in{"name_$i"});
	$in{"name_$i"} =~ /^\S+$/ ||
		&error(&text('periods_ename', $in{"name_$i"}));
	if (defined($in{"value_$i"})) {
		push(@periods,
		    { 'name' => 'period',
		      'values' => [ $in{"name_$i"}.":", $in{"value_$i"} ] } );
		}
	else {
		local @pv;
		if (!$in{"days_def_$i"}) {
			push(@pv, "wd {".$in{"dfrom_$i"}."-".
				  $in{"dto_$i"}."}");
			}
		if (!$in{"hours_def_$i"}) {
			$in{"hfrom_$i"} =~ /^(\d+)(am|pm|)$/ ||
				&error(&text('periods_ehour', $i+1));
			$in{"hto_$i"} =~ /^(\d+)(am|pm|)$/ ||
				&error(&text('periods_ehour', $i+1));
			push(@pv, "hr {".$in{"hfrom_$i"}."-".
				  $in{"hto_$i"}."}");
			}
		push(@periods,
		    { 'name' => 'period',
		      'values' => [ $in{"name_$i"}.":", @pv ] } );
		}
	}

for($i=0; $i<@operiods || $i<@periods; $i++) {
	&save_directive($conf, $operiods[$i], $periods[$i]);
	}
&flush_file_lines();

&redirect("");

 07070100028746000081e40000000000000002000000013d1fe2e6000012d7000000200000000000000000000000000000001b00000003reloc/mon/save_service.cgi    #!/usr/local/bin/perl
# save_service.cgi
# Save, create or delete a service

require './mon-lib.pl';
&ReadParse();
$conf = &get_mon_config();
$watch = $conf->[$in{'idx'}];
if ($in{'sidx'} ne '') {
	$oldservice = $service = $watch->{'members'}->[$in{'sidx'}];
	}
else {
	$service = { 'name' => 'service',
		     'indent' => '    ',
		     'members' => [ ] };
	}
&error_setup($text{'service_err'});

if ($in{'delete'}) {
	# Delete this service from the watch
	&save_directive($watch->{'members'}, $service, undef);
	}
else {
	# Validate and store service inputs
	$in{'name'} =~ /^\S+$/ || &error($text{'service_ename'});
	$service->{'values'} = [ $in{'name'} ];
	$in{'interval'} =~ /^\d+$/ || &error($text{'service_einterval'});
	&set_directive($service->{'members'}, "interval",
		       $in{'interval'}.$in{'interval_u'});
	if ($in{'monitor_def'}) {
		&set_directive($service->{'members'}, "monitor",
			       $in{'monitor'}.' '.$in{'args'});
		}
	else {
		$in{'other'} =~ /^\S+$/ || &error($text{'service_eother'});
		&set_directive($service->{'members'}, "monitor",
			       $in{'other'}.' '.$in{'args'});
		}

	# Validate and store each period
	for($i=0; defined($in{"idx_$i"}); $i++) {
		# Save period time
		next if ($in{"delete_$i"});
		local $period;
		if (!$in{'new'} && $in{"idx_$i"} ne '') {
			$period = $service->{'members'}->[$in{"idx_$i"}];
			}
		else {
			$period = { 'name' => 'period',
				    'members' => [ ] };
			}
		if ($in{"known_$i"} == 0) {
			$in{"pstr_$i"} =~ /\S/ ||
				&error($text{'service_epstr'});
			$period->{'values'} = [ $in{"pstr_$i"} ];
			}
		elsif ($in{"known_$i"} == 2) {
			$period->{'values'} = [ $in{"name_$i"}.":" ];
			}
		else {
			local @pv;
			if (!$in{"days_def_$i"}) {
				push(@pv, "wd {".$in{"dfrom_$i"}."-".
					  $in{"dto_$i"}."}");
				}
			if (!$in{"hours_def_$i"}) {
				$in{"hfrom_$i"} =~ /^(\d+)(am|pm|)$/ ||
					&error(&text('service_ehour', $i+1));
				$in{"hto_$i"} =~ /^(\d+)(am|pm|)$/ ||
					&error(&text('service_ehour', $i+1));
				push(@pv, "hr {".$in{"hfrom_$i"}."-".
					  $in{"hto_$i"}."}");
				}
			#@pv || &error(&text('service_eperiod', $i+1));
			$period->{'values'} = \@pv;
			}

		# Save alerts
		local (@alert, @upalert, @startupalert);
		for($j=0; defined($in{"alert_${i}_${j}"}); $j++) {
			next if (!$in{"alert_${i}_${j}"});
			local @v = ( $in{"alert_${i}_${j}"}, 
				     $in{"aargs_${i}_${j}"} );
			if ($in{"atype_${i}_${j}"} eq 'alert') {
				push(@alert, { 'name' => 'alert',
					       'values' => \@v });
				}
			elsif ($in{"atype_${i}_${j}"} eq 'upalert') {
				push(@upalert, { 'name' => 'upalert',
					         'values' => \@v });
				}
			else {
				push(@startupalert, { 'name' => 'startupalert',
					              'values' => \@v });
				}
			}
		&set_directive($period->{'members'}, "alert", @alert);
		&set_directive($period->{'members'}, "upalert", @upalert);
		&set_directive($period->{'members'}, "startupalert",
						     @startupalert);

		# Save other period options
		if ($in{"every_def_$i"}) {
			&set_directive($period->{'members'}, "alertevery");
			}
		else {
			$in{"every_$i"} =~ /^\d+$/ ||
				&error($text{'service_eevery'});
			&set_directive($period->{'members'}, "alertevery",
				       $in{"every_$i"}.$in{"every_${i}_u"});
			}

		if ($in{"after_def_$i"}) {
			&set_directive($period->{'members'}, "alertafter");
			}
		else {
			$in{"after_$i"} =~ /^\d+$/ ||
				&error($text{'service_eafter'});
			if ($in{"after_interval_$i"} =~ /^\d+$/) {
				&set_directive($period->{'members'},
					"alertafter", $in{"after_$i"}." ".
					$in{"after_interval_$i"}.
					$in{"after_interval_${i}_u"});
				}
			}

		if ($in{"num_def_$i"}) {
			&set_directive($period->{'members'}, "numalerts");
			}
		else {
			$in{"num_$i"} =~ /^\d+$/ ||
				&error($text{'service_enum'});
			&set_directive($period->{'members'}, "numalerts",
				       $in{"num_$i"});
			}

		push(@period, $period);
		}
	&set_directive($service->{'members'}, "period", @period);

	# Save the description
	if ($in{'desc'}) {
		&set_directive($service->{'members'}, "description",
			       $in{'desc'});
		}
	else {
		&set_directive($service->{'members'}, "description");
		}

	# Store the service in the config file
	&save_directive($watch->{'members'}, $oldservice, $service);
	}
&flush_file_lines();
&redirect("list_watches.cgi");

# set_directive(&config, name, value, value, ..)
sub set_directive
{
local @o = &find($_[1], $_[0]);
local @n = @_[2 .. @_-1];
local $i;
for($i=0; $i<@o || $i<@n; $i++) {
	local $idx = &indexof($o[$i], @{$_[0]}) if ($o[$i]);
	local $nv = ref($n[$i]) ? $n[$i] : { 'name' => $_[1],
					     'values' => [ $n[$i] ] }
						if (defined($n[$i]));
	if ($o[$i] && defined($n[$i])) {
		$_[0]->[$idx] = $nv;
		}
	elsif ($o[$i]) {
		splice(@{$_[0]}, $idx, 1);
		}
	else {
		push(@{$_[0]}, $nv);
		}
	}
}

 07070100028747000081e40000000000000002000000013d1fe2e600000337000000200000000000000000000000000000001800000003reloc/mon/save_user.cgi   #!/usr/local/bin/perl
# save_user.cgi
# Save, create or delete a MON user

require './mon-lib.pl';
&ReadParse();
&error_setup($text{'user_err'});
@users = &list_users();
$user = $users[$in{'index'}] if ($in{'index'} ne '');

if ($in{'delete'}) {
	# Just delete the user
	&delete_user($user);
	}
else {
	# Validate inputs
	$in{'user'} =~ /^[^:\s]+$/ || &error($text{'user_euser'});
	if ($in{'new'} || $in{'user'} ne $user->{'user'}) {
		local ($same) = grep { $_->{'user'} eq $in{'user'} } @users;
		$same && &error($text{'user_esame'});
		}

	# Create or update the user
	$salt = substr(time(), -2);
	$user->{'user'} = $in{'user'};
	if (!$in{'pass_def'}) {
		$user->{'pass'} = crypt($in{'pass'}, $salt);
		}
	if ($in{'new'}) {
		&create_user($user);
		}
	else {
		&modify_user($user);
		}
	}

&redirect("list_users.cgi");

 07070100028748000081e40000000000000002000000013d1fe2e600000178000000200000000000000000000000000000001900000003reloc/mon/save_watch.cgi  #!/usr/local/bin/perl
# save_watch.cgi
# Update an existing watch group

require './mon-lib.pl';
&ReadParse();
$conf = &get_mon_config();
$watch = $conf->[$in{'idx'}];
if ($in{'delete'}) {
	&save_directive($conf, $watch, undef);
	}
else {
	$watch->{'values'} = [ $in{'group'} ];
	&save_directive($conf, $watch, $watch);
	}
&flush_file_lines();
&redirect("list_watches.cgi");

07070100028749000081e40000000000000002000000013d1fe2e600001671000000200000000000000000000000000000001700000003reloc/mon/services.cgi    #!/usr/local/bin/perl
# services.cgi
#
###
require './mon-lib.pl';
&ReadParse();
&header($text{'services_title'}, "","service");
print"<hr>";
#
local @groups=();
local @watchgroups=();
local %members=();
local %services=();
for (local $i=0;$i<$in{'count'};$i++){
	if($in{"groups_$i"}){
		local $groupname=$in{"groups_$i"};
		push(@groups,$groupname);
		push(@watchgroups,$groupname) if($in{"watchgroup_$i"}=~/Yes/);
		$members{$groupname}=$in{"members_$i"};
		$services{$groupname}=(join ' ',split(/\0/,$in{"services_$i"}),$in{"other_services_$i"});
#print"hostgroup $groupname $members{$groupname}<br>";
#print"SERV= $services{$groupname}<br>";
	}
}
#
## error messeges if insufficient data 
if($#watchgroups<0){
	&error($text{'err_nowatch'});
}else{
	foreach (@watchgroups){
		&error("$text{'err_nomemb'}: $_") if(!($members{$_}));
		&error("$text{'err_noserv'}: $_") if(!($services{$_}));
	}
}
#
###form generation
print"<form action=save_config.cgi><center>\n";
local @aaa=%members;
local @monitors=split(/\s+/,(local $a=`ls $config{'mondir'}`));
local @alerts=split(/\s+/,(local $b=`ls $config{'alertdir'}`));
	foreach $g(@watchgroups){
print <<EOF;
<table border width=90%><tr $tb align=left><th colspan=2><table><tr><td>$text{'watch'}:</td><td><font color=red size=+2>$g</font></td></tr><tr><td>$text{'members'}:</td><td><font color=red size=+2>$members{$g}</font></td></tr></table></th></tr>
<tr bgcolor=wheat><th>$text{'head_service'}</th><th>$text{'head_param'}<br>( Parameters in <font color=red> RED</font> color are Mandatory )</th></tr>
EOF
local @tmp=split(/\s+/,$services{$g});
	foreach $ser(@tmp){
	local $def_descargs="\'$ser\' service for watchgroup \'$g\'";
print <<EOF;
<tr bgcolor=#cccccc><td><b>$ser</b></td>
<td><table><tr>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_desc'}\" checked>&nbsp;$text{'def_desc'}<input type=text name=value_$g.$ser.$text{'def_desc'} size=14 value=\"$def_descargs\"></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_mon'}\" checked>&nbsp;<font color=red>$text{'def_mon'}</font><select name=value_$g.$ser.$text{'def_mon'} size=1 single>
EOF
	foreach $mon(@monitors){
		if(!($mon=~/monitor$/)){
			next;
		}elsif($mon=~/^$ser\.monitor/){
			printf"<option value=\"$mon\" selected>$mon\n";
		}else{
			printf"<option value=\"$mon\">$mon\n";
		}
	}
print <<EOF;
</select></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_alert'}\" checked>&nbsp;<font color=red>$text{'def_alert'}</font><select name=value_$g.$ser.$text{'def_alert'} size=1 single>
EOF
        foreach $aler(@alerts){
		if(!($aler=~/alert$/)){
                        next;
		}elsif($aler=~/^mail\.alert/){
               		printf"<option value=\"$aler\" selected>$aler\n";
               	}else{	
			printf"<option value=\"$aler\">$aler\n";
		}
        }
local $def_alertargs="root\@".`uname -n`;
print <<EOF;
</select><input type=text name=alertval_$g.$ser size=14 value=\"$def_alertargs\"></td>
</tr></table>

<table><tr>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_dep'}\">&nbsp;$text{'def_dep'}</td><td><input type=text name=value_$g.$ser.$text{'def_dep'} size=12></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_traptime'}\">&nbsp;$text{'def_traptime'}</td><td><input type=text name=value_$g.$ser.$text{'def_traptime'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_inter'}\" checked>&nbsp;<font color=red>$text{'def_inter'}</font></td><td><input type=text name=value_$g.$ser.$text{'def_inter'} size=2 value=\"5m\"></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_exclper'}\">&nbsp;$text{'def_exclper'}</td><td><input type=text name=value_$g.$ser.$text{'def_exclper'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_alertaft'}\">&nbsp;$text{'def_alertaft'}</td><td><input type=text name=value_$g.$ser.$text{'def_alertaft'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_alertstr'}\">&nbsp;$text{'def_alertstr'}<input type=text name=value_$g.$ser.$text{'def_alertstr'} size=2></td>
</tr>

<tr>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_per'}\" checked>&nbsp;<font color=red>$text{'def_per'}</font></td><td><input type=text name=value_$g.$ser.$text{'def_per'} size=12 value=\"$text{'def_perargs'}\"></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_trapdur'}\">&nbsp;$text{'def_trapdur'}</td><td><input type=text name=value_$g.$ser.$text{'def_trapdur'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_rand'}\">&nbsp;$text{'def_rand'}</td><td><input type=text name=value_$g.$ser.$text{'def_rand'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_exclhost'}\">&nbsp;$text{'def_exclhost'}</td><td><input type=text name=value_$g.$ser.$text{'def_exclhost'} size=2></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_alertevr'}\" checked>&nbsp;<font color=red>$text{'def_alertevr'}</font></td><td><input type=text name=value_$g.$ser.$text{'def_alertevr'} size=2 value=\"2m\"></td>
<td><input type=checkbox name=def_$g.$ser value=\"$text{'def_allow'}\" checked>&nbsp;$text{'def_allow'}</td>
</tr></table></td>
</tr>
EOF
	}###end services
print"</table><br>\n";
	}###end watchgroups
print <<EOF;
<input type=submit value=\"$text{'save_apply'}\">
<input type=hidden name=hostgroups value=\"@groups\">
<input type=hidden name=watchgroups value=\"@watchgroups\">
EOF
foreach $key(keys %members){
	$aaa=(join ' ',split(/\s+/,$members{$key}));
	print "<input type=hidden name=members_$key value=\"$aaa\">\n";
	print "<input type=hidden name=services_$key value=\"$services{$key}\">\n";
}
print"</center></form><hr>\n";
&footer("./",$text{'index_title'});
   0707010002874a000081e40000000000000002000000013d1fe2e6000000e8000000200000000000000000000000000000001400000003reloc/mon/start.cgi   #!/usr/local/bin/perl
# start.cgi
# Start the mon process

require './mon-lib.pl';
&error_setup($text{'start_err'});
$out = &backquote_logged("$config{'start_cmd'} 2>&1 </dev/null");
&error("<tt>$out</tt>") if ($?);
&redirect("");

0707010002874b000081e40000000000000002000000013d1fe2e6000001aa000000200000000000000000000000000000001300000003reloc/mon/stop.cgi    #!/usr/local/bin/perl
# stop.cgi
# Stop the mon process

require './mon-lib.pl';
&error_setup($text{'stop_err'});
if ($config{'stop_cmd'}) {
	$out = &backquote_logged("$config{'stop_cmd'} 2>&1 </dev/null");
	&error("<tt>$out</tt>") if ($?);
	}
else {
	if (open(PID, $config{'pid_file'}) && chop($pid = <PID>) &&
	    &kill_logged('TERM', $pid)) {
		close(PID);
		}
	else {
		&error($text{'stop_epid'});
		}
	}
&redirect("");

  0707010002fc08000041ed0000000000000001000000053d1ffa9a00000000000000200000000000000000000000000000000c00000003reloc/mount   0707010002fc09000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002000000003reloc/mount/cobalt-linux-lib.pl   # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc0a000081a40000000000000002000000013d1fe2bd00000057000000200000000000000000000000000000002000000003reloc/mount/config-cobalt-linux   long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
 0707010002fc0b000081a40000000000000002000000013d1fe2bd00000072000000200000000000000000000000000000001f00000003reloc/mount/config-corel-linux    auto_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
  0707010002fc0c000081a40000000000000002000000013d1fe2bd000000a0000000200000000000000000000000000000002000000003reloc/mount/config-debian-linux   auto_file=
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
auto_file=/etc/am-utils/amd.conf
autofs_file=/etc/auto.master
0707010002fc0d000081a40000000000000002000000013d1fe2bc0000007e000000200000000000000000000000000000001b00000003reloc/mount/config-freebsd    autofs_file=
nmblookup_path=nmblookup
browse_server=
auto_file=
smbclient_path=smbclient
long_fstypes=1
fstab_file=/etc/fstab
  0707010002fc0e000081a40000000000000002000000013d1fe2bd00000057000000200000000000000000000000000000002100000003reloc/mount/config-generic-linux  long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
 0707010002fc0f000081a40000000000000002000000013d1fe2bd0000007b000000200000000000000000000000000000002000000003reloc/mount/config-gentoo-linux   long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
autofs_file=/etc/autofs/auto.master
 0707010002fc10000081a40000000000000002000000013d1fe2bc0000007e000000200000000000000000000000000000001800000003reloc/mount/config-hpux   autofs_file=
nmblookup_path=nmblookup
browse_server=
auto_file=
smbclient_path=smbclient
long_fstypes=1
fstab_file=/etc/fstab
  0707010002fc11000081a40000000000000002000000013d1fe2bd00000081000000200000000000000000000000000000001800000003reloc/mount/config-irix   nmblookup_path=/usr/local/samba/bin/nmblookup
smbclient_path=/usr/local/samba/bin/smbclient
long_fstypes=1
fstab_file=/etc/fstab
   0707010002fc12000081a40000000000000002000000013d1fe2bd0000006c000000200000000000000000000000000000001d00000003reloc/mount/config-lfs-linux  browse_server=
auto_file=
autofs_file=
nmblookup_path=
long_fstypes=1
smbclient_path=
fstab_file=/etc/fstab
0707010002fc13000081a40000000000000002000000013d1fe2bd00000068000000200000000000000000000000000000001900000003reloc/mount/config-macos  autofs_file=
nmblookup_path=nmblookup
browse_server=
auto_file=
smbclient_path=smbclient
long_fstypes=1
0707010002fc14000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002200000003reloc/mount/config-mandrake-linux auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc15000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000001d00000003reloc/mount/config-msc-linux  auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc16000081a40000000000000002000000013d1fe2bd00000070000000200000000000000000000000000000001e00000003reloc/mount/config-open-linux auto_file=/etc/am.d/conf
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc17000081a40000000000000002000000013d1fe2bd00000083000000200000000000000000000000000000002300000003reloc/mount/config-open-linux-3.1e    auto_file=/etc/am.d/conf /etc/am.d/net.conf
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
 0707010002fc18000081a40000000000000002000000013d1fe2bc0000007e000000200000000000000000000000000000001b00000003reloc/mount/config-openbsd    autofs_file=
nmblookup_path=nmblookup
browse_server=
auto_file=
smbclient_path=smbclient
long_fstypes=1
fstab_file=/etc/fstab
  0707010002fc19000081a40000000000000002000000013d1fe2bd000000b8000000200000000000000000000000000000001800000003reloc/mount/config-osf1   browse_server=
auto_file=
autofs_file=/etc/auto_master
nmblookup_path=/usr/local/samba/bin/nmblookup
long_fstypes=1
smbclient_path=/usr/local/samba/bin/smbclient
fstab_file=/etc/fstab
0707010002fc1a000081a40000000000000002000000013d1fe2bd00000074000000200000000000000000000000000000002000000003reloc/mount/config-redhat-linux   auto_file=/etc/sysconfig/amd
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc1b000081a40000000000000002000000013d1fe2bc00000091000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-5.0   auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc1c000081a40000000000000002000000013d1fe2bc00000091000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-5.1   auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc1d000081a40000000000000002000000013d1fe2bc00000091000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-5.2   auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc1e000081a40000000000000002000000013d1fe2bd00000091000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-6.0   auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc1f000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-6.1   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc20000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-6.2   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc21000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-7.0   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc22000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-7.1   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc23000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-7.2   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc24000081a40000000000000002000000013d1fe2bd0000008c000000200000000000000000000000000000002400000003reloc/mount/config-redhat-linux-7.3   auto_file=/etc/amd.conf
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc25000081a40000000000000002000000013d1fe2bd00000057000000200000000000000000000000000000002300000003reloc/mount/config-slackware-linux    fstab_file=/etc/fstab
long_fstypes=1
smbclient_path=smbclient
nmblookup_path=nmblookup
 0707010002fc26000081a40000000000000002000000013d1fe2bd0000009f000000200000000000000000000000000000001b00000003reloc/mount/config-solaris    autofs_file=/etc/auto_master
fstab_file=/etc/vfstab
long_fstypes=1
smbclient_path=/usr/local/samba/bin/smbclient
nmblookup_path=/usr/local/samba/bin/nmblookup
 0707010002fc27000081a40000000000000002000000013d1fe2bd00000074000000200000000000000000000000000000001e00000003reloc/mount/config-suse-linux long_fstypes=1
fstab_file=/etc/fstab
autofs_file=/etc/auto.master
smbclient_path=smbclient
nmblookup_path=nmblookup
0707010002fc28000081a40000000000000002000000013d1fe2bc00000091000000200000000000000000000000000000001f00000003reloc/mount/config-turbo-linux    auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc29000081a40000000000000002000000013d1fe2bd00000091000000200000000000000000000000000000002300000003reloc/mount/config-turbo-linux-4.0    auto_file=/etc/sysconfig/amd
autofs_file=/etc/auto.master
long_fstypes=1
fstab_file=/etc/fstab
smbclient_path=smbclient
nmblookup_path=nmblookup
   0707010002fc2a000081a40000000000000002000000013d1fe2bd0000009f000000200000000000000000000000000000001c00000003reloc/mount/config-unixware   autofs_file=/etc/auto_master
fstab_file=/etc/vfstab
long_fstypes=1
smbclient_path=/usr/local/samba/bin/smbclient
nmblookup_path=/usr/local/samba/bin/nmblookup
 0707010002fc2b000081a40000000000000002000000013d1fe2bd00000153000000200000000000000000000000000000001800000003reloc/mount/config.info   fstab_file=File listing filesystems mounted at boot time,0
auto_file=NFS automounts file,3
autofs_file=Kernel automounts file,3
long_fstypes=Use long filesystem types,1,1-Yes,0-No
smbclient_path=Full path to <tt>smbclient</tt>,3
nmblookup_path=Full path to <tt>nmblookup</tt>,3
browse_server=Server to request browse list from,3,localhost
 0707010002fc2c000081a40000000000000002000000013d1fe2bd000001b1000000200000000000000000000000000000001b00000003reloc/mount/config.info.ca    fstab_file=Fitxer que llista els sistemes de fitxers muntats en engegar el sistema,0
auto_file=Fitxer de muntatges automàtics NFS,3
autofs_file=Fitxer de muntatges automàtics de kernel,3
long_fstypes=Fes servir tipus llargs de sistemes de fitxers,1,1-Sí,0-No
smbclient_path=Camí complet de <tt>smbclient</tt>,3
nmblookup_path=Camí complet de <tt>nmblookup</tt>,3
browse_server=Demana la llista d'exploració al servidor,3,localhost


   0707010002fc2d000081a40000000000000002000000013d1fe2bd0000016f000000200000000000000000000000000000001b00000003reloc/mount/config.info.de    fstab_file=Datei mit Dateisystem die beim Booten gemounted werden,0
auto_file=NFS automounts Datei,3
autofs_file=Kernel automounts Datei,3
long_fstypes=Benutze lange Dateisystem Typen,1,1-Ja,0-Nein
smbclient_path=Absoluter Pfad zu <tt>smbclient</tt>,3
nmblookup_path=Absoluter Pfad zu <tt>nmblookup</tt>,3
browse_server=Server tvon dem Browse-Liste geholt werden soll 0707010002fc2e000081a40000000000000002000000013d1fe2bc000001ad000000200000000000000000000000000000001b00000003reloc/mount/config.info.es    fstab_file=Archivo que contiene la lista de sistemas de archivo montados en el arranque,0
auto_file=Archivo de automontaje de NFS,3
autofs_file=Archivo de automontaje de Kernel,3
long_fstypes=Usar tipos de sistemas de archivo largos,1,1-Sí,0-No
smbclient_path=Trayectoria completa a <tt>smbclient</tt>,3
nmblookup_path=Trayectoria completa a <tt>nmblookup</tt>,3
browse_server=Servidor del que solicitar la lista,3,Máquina local
   0707010002fc2f000081a40000000000000002000000013d1fe2bd00000188000000200000000000000000000000000000001b00000003reloc/mount/config.info.fr    fstab_file=Fichier listant les systèmes de fichiers montés au démarrage,0
auto_file=Fichier 'automount' NFS,3
autofs_file=Fichier 'automount' du noyau,3
long_fstypes=Utiliser les types de système de fichier long,1,1-Oui,0-Non
smbclient_path=Chemin d'accès de <tt>smbclient</tt>,3
nmblookup_path=Chemin d'accès de <tt>nmblookup</tt>,3
browse_server=Serveur de requête de la liste,3,hôte local
0707010002fc30000081a40000000000000002000000013d1fe2bd000001c5000000200000000000000000000000000000001b00000003reloc/mount/config.info.pl    fstab_file=Plik zawiraj±cy listê systemów plików montowanych przy starcie,0
auto_file=Plik automatycznych montowañ po NFS,3
autofs_file=Plik automatycznych montowañ kernela,3
long_fstypes=U¿ywaj d³ugich nazw typów systemów plików,1,1-Tak,0-Nie
smbclient_path=Pe³na ¶cie¿ka do programu <tt>smbclient</tt>,3
nmblookup_path=Pe³na ¶cie¿ka do programu <tt>nmblookup</tt>,3
browse_server=Serwer, z&nbsp;którego pobierana jest <tt>browse list</tt>,3,localhost
   0707010002fc31000081a40000000000000002000000013d1fe2bd0000017d000000200000000000000000000000000000001e00000003reloc/mount/config.info.ru_RU browse_server=Ñåðâåð äëÿ çàïðîñà ñïèñêà áðàóçèíãà,3,localhost
auto_file=Ôàéë àâòîìîíòèðîâàíèÿ NFS,3
autofs_file=Ôàéë àâòîìîíòèðîâàíèÿ ßäðà,3
nmblookup_path=Ïîëíûé ïóòü ê <tt>nmblookup</tt>,3
smbclient_path=Ïîëíûé ïóòü ê <tt>smbclient</tt>,3
long_fstypes=Èñïîëüçîâàòü 'äëèííûå' òèïû ôàéëîâûõ ñèñòåì,1,1-Äà,0-Íåò
fstab_file=Ôàéë ñî ñïèñêîì ôàéëîâûõ ñèñòåì ìîíòèðóåìûõ ïðè çàãðóçêå,0
   0707010002fc32000081a40000000000000002000000013d1fe2bd0000017d000000200000000000000000000000000000001e00000003reloc/mount/config.info.ru_SU fstab_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ ÍÏÎÔÉÒÕÅÍÙÈ ÐÒÉ ÚÁÇÒÕÚËÅ,0
auto_file=æÁÊÌ Á×ÔÏÍÏÎÔÉÒÏ×ÁÎÉÑ NFS,3
autofs_file=æÁÊÌ Á×ÔÏÍÏÎÔÉÒÏ×ÁÎÉÑ ñÄÒÁ,3
long_fstypes=éÓÐÏÌØÚÏ×ÁÔØ 'ÄÌÉÎÎÙÅ' ÔÉÐÙ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ,1,1-äÁ,0-îÅÔ
smbclient_path=ðÏÌÎÙÊ ÐÕÔØ Ë <tt>smbclient</tt>,3
nmblookup_path=ðÏÌÎÙÊ ÐÕÔØ Ë <tt>nmblookup</tt>,3
browse_server=óÅÒ×ÅÒ ÄÌÑ ÚÁÐÒÏÓÁ ÓÐÉÓËÁ ÂÒÁÕÚÉÎÇÁ,3,localhost
   0707010002fc33000081a40000000000000002000000013d1fe2bd00000166000000200000000000000000000000000000001b00000003reloc/mount/config.info.sv    fstab_file=Fil med filsystem som monteras vid start,0
auto_file=NFS automonterar fil,3
autofs_file=Kärnan automonterar fil,3
long_fstypes=Använda långa filsystemtyper,1,1-Ja,0-Nej
smbclient_path=Fullständig sökväg till <tt>smbclient</tt>,3
nmblookup_path=Fullständig sökväg till <tt>nmblookup</tt>,3
browse_server=Server som tillhandahåller söklista,3,lokal
  0707010002fc34000081a40000000000000002000000013d1fe2bd00000186000000200000000000000000000000000000001b00000003reloc/mount/config.info.tr    fstab_file=Açýlýþta baðlanacak olan dosya sistemlerinin bulunduðu dosya,0
auto_file=NFS otomatik baðlantý dosyasý,3
autofs_file=Çekirdek otomatik baðlantý dosyasý,3
long_fstypes=Uzun dosya sistemi tiplerini kullan,1,1-Evet,0-Hayýr
smbclient_path=<tt>smbclient</tt>'in tam yolu,3
nmblookup_path=<tt>nmblookup</tt>'ýn tam yolu,3
browse_server=Tarama listesinin istenildiði sunucu,3,localhost
  0707010002fc35000081a40000000000000002000000013d1fe2bd00000127000000200000000000000000000000000000001e00000003reloc/mount/config.info.zh_CN fstab_file=ÔÚÆô¶¯Ê±MountµÄÎÄ¼þÏµÍ³ÁÐ±í,0
auto_file=NFSµÄautomountsÎÄ¼þ,3
autofs_file=ÄÚºËµÄautomountsÎÄ¼þ,3
long_fstypes=Ê¹ÓÃ³¤ÎÄ¼þÏµÍ³ÀàÐÍ,1,1-ÊÇ,0-·ñ
smbclient_path=<tt>smbclient</tt>µÄÍêÕûÂ·¾¶,3
nmblookup_path=<tt>nmblookup</tt>µÄÍêÕûÂ·¾¶,3
browse_server=ÇëÇóä¯ÀÀÁÐ±íµÄ·þÎñÆ÷À´×Ô,3,localhost
 0707010002fc36000081a40000000000000002000000013d1fe2bc00000151000000200000000000000000000000000000002300000003reloc/mount/config.info.zh_TW.Big5    fstab_file=¦C¥X¶}¾÷®É±¾¸üÀÉ®×¨t²ÎªºÀÉ®×,0
auto_file=NFS ¦Û°Ê±¾¸üÀÉ®×,3
autofs_file=®Ö¤ß¦Û°Ê±¾¸üÀÉ®×,3
long_fstypes=¬O§_¨Ï¥ÎªøÀÉ®×¨t²ÎÃþ§O,1,1-¬O,0-§_
smbclient_path=¨ì <tt>smbclient</tt> ªº§¹¾ã¸ô®|,3
nmblookup_path=¨ì <tt>nmblookup</tt> ªº§¹¾ã¸ô®|,3
browse_server=­n¨DÂsÄý¦Cªíªº¦øªA¾¹¨Ó·½¬°Server to request browse list from,3,localhost
   0707010002fc37000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000001f00000003reloc/mount/corel-linux-lib.pl    # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc38000081e40000000000000002000000013d1fe2bd000001b2000000200000000000000000000000000000001c00000003reloc/mount/create_swap.cgi   #!/usr/local/bin/perl
# create_swap.cgi
# Attempt to create a swap file, and then redirect the browser back to
# the mounting program to mount it

require './mount-lib.pl';
&ReadParse();
&error_setup($text{'swap_err'});
$in{cswap_size} =~ /^\d+$/ ||
	&error(&text('swap_esize', $in{'cswap_size'}));
if ($error = &create_swap($in{cswap_file}, $in{cswap_size}, $in{cswap_units})) {
	&error($error);
	}
&redirect("save_mount.cgi?$in");

  0707010002fc39000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002000000003reloc/mount/debian-linux-lib.pl   # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc3a000081e40000000000000002000000013d1fe2bd00001902000000200000000000000000000000000000001b00000003reloc/mount/edit_mount.cgi    #!/usr/local/bin/perl
# edit_mount.cgi
# Display a form for editing or creating a permanent or temporary mounting.

require './mount-lib.pl';
&error_setup($text{'edit_err'});
&ReadParse();
if (defined($in{index})) {
	if ($in{temp}) {
		# Edit a temporary mount, existing only in the mnttab
		@mlist = &list_mounted();
		@minfo = @{$mlist[$in{index}]};
		$mnow = 1; $msave = 0;
		}
	else {
		# Edit a permanent mount, which may or may not be currently
		# mounted.
		@mlist = &list_mounts();
		@minfo = @{$mlist[$in{index}]};
		$msave = 1; $mnow = (&get_mounted($minfo[0], $minfo[1]) >= 0);
		}
	if ($in{index} >= @mlist) {
		&error($text{'edit_egone'});
		}
	$type = $minfo[2];
	&header($text{'edit_title'}, "");
	print "<hr>\n";
	$newm = 0;
	}
else {
	# creating a new mount (temporary or permanent)
	$type = $in{type};
	&header($text{'create_title'}, "");
	print "<hr>\n";
	$newm = 1;
	}
@mmodes = &mount_modes($type);
$msave = ($mmodes[0]==0 ? 0 : $msave);
$mnow = ($mmodes[1]==0 ? $msave : $mnow);

print "<form action=\"save_mount.cgi\">\n";
print "<input name=return type=hidden value='$in{'return'}'>\n";
if (!$newm) {
	print "<input type=hidden name=old value=\"$in{index}\">\n";
	print "<input type=hidden name=temp value=\"$in{temp}\">\n";

	print "<input type=hidden name=oldmnow value=$mnow>\n";
	print "<input type=hidden name=oldmsave value=$msave>\n";
	}
print "<input type=hidden name=type value=\"$type\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('edit_header', &fstype_name($type)),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'edit_dir'}</b></td>\n";
if ($type eq "swap") {
	print "<td colspan=3><i>$text{'edit_swap'}</i></b>\n";
	}
else {
	print "<td colspan=3><input size=30 name=directory value=\"$minfo[0]\">\n";
	print &file_chooser_button("directory", 1);
	}
if (!$newm && (($size,$free) = &disk_space($type, $minfo[0]))) {
	print "&nbsp;" x 8;
	printf "<b>$text{'edit_size'}</b> <i>%d kB</i> / \n", $size;
	printf "<b>$text{'edit_free'}</b> <i>%d kB</i></td>\n", $free;
	}
print "</td> </tr>\n";

if ($mmodes[0] != 0 && !$access{'simple'}) {
	print "<tr> <td><b>$text{'edit_savemount'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=msave value=2 %s> $text{'edit_boot'}\n",
		$minfo[5] eq "yes" || $newm ? "checked" : "";
	if ($mmodes[0] != 1) {
		printf "<input type=radio name=msave value=1 %s> %s\n",
			$minfo[5] eq "no" ? "checked" : "", $text{'edit_save'};
		}
	if (!$newm && $mmodes[1] == 0) {
		printf "<input type=radio name=msave value=0 %s> %s\n",
			$minfo[5] eq "" && !$newm ? "checked" : "",
			$text{'edit_delete'};
		}
	else {
		printf "<input type=radio name=msave value=0 %s> %s\n",
			$minfo[5] eq "" && !$newm ? "checked" : "",
			$text{'edit_dont'};
		}
	print "</td> </tr>\n";
	}
if ($mmodes[1] == 1 && ($mmodes[3] == 0 || !$mnow) && !$access{'simple'}) {
	print "<tr> <td><b>$text{'edit_now'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=mmount value=1 %s> %s\n",
		$mnow || $newm ? "checked" : "", $text{'edit_mount'};
	if ($mmodes[0] == 0) {
		printf "<input type=radio name=mmount value=0 %s> %s\n",
			$mnow || $newm ? "" : "checked", $text{'edit_delete'};
		}
	else {
		printf "<input type=radio name=mmount value=0 %s> %s\n",
			$mnow || $newm ? "" : "checked",
			$newm ? $text{'edit_dont2'} : $text{'edit_unmount'};
		}
	print "</td> </tr>\n";
	}

if ($mmodes[2] && !$access{'simple'}) {
	print "<tr> <td><b>$text{'edit_order'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=order value=0 %s> %s\n",
		$newm || $minfo[4] == 0 ? "checked" : "", $text{'no'};
	printf "<input type=radio name=order value=1 %s> %s\n",
		$minfo[4] == 1 ? "checked" : "", $text{'edit_first'};
	printf "<input type=radio name=order value=%s %s> %s</td\n",
		$minfo[4] > 1 ? $minfo[4] : 2 , $minfo[4] > 1 ? "checked" : "",
		$text{'edit_second'};
	print "</tr>\n";
	}
&generate_location($type, $minfo[1]);
print "</table></td> </tr></table><p>\n";

if (!$access{'simple'} || !defined($access{'opts'}) ||
    $access{'opts'} =~ /$type/) {
	# generate mount options
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_adv'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	&parse_options($type, $minfo[3]);
	&generate_options($type, $newm);
	print "</table></td> </tr></table>\n";
	}

if ($access{'simple'}) {
	# buttons for mounting/unmounting
	print "<table width=100%><tr>\n";
	if ($newm) {
		print "<td><input type=submit ",
		      "value=\"$text{'edit_create'}\"></td>";
		}
	elsif ($msave && $mnow) {
		print "<td width=33%><input type=submit ",
		      "value=\"$text{'edit_save_apply'}\"></td>\n";
		if ($mmodes[1]) {
			print "<td align=center width=33%><input type=submit ",
			   "value=\"$text{'edit_umount'}\" name=umount></td>\n";
			}
		print "<td align=right width=33%><input type=submit ",
		      "value=\"$text{'edit_del_umount'}\" name=delete></td>\n";
		}
	elsif ($msave) {
		print "<td width=33%><input type=submit ",
		      "value=\"$text{'save'}\"></td>\n";
		print "<td align=center width=33%><input type=submit ",
		      "value=\"$text{'edit_mount'}\" name=mount></td>\n";
		print "<td align=right width=33%><input type=submit ",
		      "value=\"$text{'edit_delete'}\" name=delete></td>\n";
		}
	else {
		print "<td width=33%><input type=submit ",
		      "value=\"$text{'save'}\"></td>\n";
		if ($mmodes[0]) {
			print "<td align=middle width=33%><input type=submit ",
			      "value=\"$text{'edit_perm'}\" name=perm></td>\n";
			}
		print "<td align=right width=33%><input type=submit ",
		      "value=\"$text{'edit_umount'}\" name=umount></td>\n";
		}
	print "</tr></table></form>\n";
	}
else {
	# Save and other buttons
	print "<table width=100%><tr>\n";
	if ($newm) {
		print "<td><input type=submit value=\"$text{'create'}\"></td>";
		}
	elsif ($mnow && $minfo[2] ne "swap") {
		print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
		print "</form><form action=../proc/index_search.cgi>\n";
		print "<input type=hidden name=mode value=3>\n";
		print "<input type=hidden name=fs value=$minfo[0]>\n";
		print "<td align=right><input type=submit ",
		      "value=\"$text{'edit_list'}\"></td>\n";
		}
	else {
		print "<td><input type=submit value=\"$text{'save'}\"></td>";
		}
	print "</tr></table></form>\n";
	}
print "<hr>\n";
&footer($in{'return'}, $text{'index_return'});

  0707010002fc3b000081e40000000000000002000000013d1fe2bd000068f4000000200000000000000000000000000000001b00000003reloc/mount/freebsd-lib.pl    # freebsd-lib.pl
# Mount table functions for freebsd

$uname_release = `uname -r`;

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{'fstab_file'});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc" || $p[2] eq "procfs") { $p[2] = $p[0] = "proc"; }
	if ($p[2] eq "swap") { $p[1] = "swap"; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

# Adding a normal mount to the fstab file
open(FSTAB, ">> $config{'fstab_file'}");
print FSTAB "$_[1]  $_[0]  $_[2]";
$opts = $_[3] eq "-" ? "" : $_[3];
if ($_[5] eq "no") {
	$opts = join(',' , (split(/,/ , $opts) , "noauto"));
	}
if ($opts eq "") { print FSTAB "  defaults"; }
else { print FSTAB "  $opts"; }
print FSTAB "  0  ";
print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
close(FSTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# Under FreeBSD, there seems to be no way to get additional mount options
# used by filesystems like NFS etc. Even getting the full details of mounted
# filesystems requires C code! So we have to call a specially-written external
# program to get the mount list
sub list_mounted
{
# get the list of mounted filesystems
local(@rv, $_);
local $cmd = $uname_release =~ /^4\.[0-9]/ ? "freebsd-mounts-4" :
	     $uname_release =~ /^3\.[1-9]/ ? "freebsd-mounts-3" :
				             "freebsd-mounts-2";
open(CMD, "$module_root_directory/$cmd |");
while(<CMD>) {
	local @p = split(/\t/, $_);
	if ($p[2] eq "procfs" || $p[1] eq "procfs") { $p[1] = $p[2] = "proc"; }
	push(@rv, \@p);
	}
close(CMD);

# add output from swapinfo
foreach (split(/\n/, `swapinfo`)) {
	if (/^(\/\S+)\s+\d+\s+\d+/) {
		push(@rv, [ "swap", $1, "swap", "-" ]);
		}
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
else {
	# some disk-based filesystem
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	$opts = join(',', grep { !/quota/ } split(/,/, $opts));
	$out = &backquote_logged("mount -t $_[2] $opts $_[1] $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Not possible!
	&error("Swap space cannot be removed");
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
# The first is:
#  0 - cannot be permanently recorded
#	(smbfs under linux)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (2, 1, 0, 1); }
elsif ($_[0] eq "ufs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @rv = ("ufs", "nfs", "cd9660", "msdos", "swap");
push(@rv, "ext2fs") if (&has_command("mount_ext2fs"));
push(@rv, "ntfs") if (&has_command("mount_ntfs"));
return @rv;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ufs", "FreeBSD Unix Filesystem",
	  "nfs","Network Filesystem",
	  "cd9660","ISO9660 CD-ROM",
	  "msdos","MS-DOS Filesystem",
	  "ext2fs","Linux Filesystem",
	  "ntfs","Windows NT Filesystem",
	  "swap","Virtual Memory",
	  "proc","Process Image Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return $_[0] eq "nfs";
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>NFS Hostname</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "</td>\n";
	print "<td><b>NFS Directory</b></td>\n";
	print "<td><input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
else {
	if ($_[0] eq "swap") {
		# Swap file or device
		printf "<tr> <td valign=top><b>Swap File</b></td>\n";
		}
	else {
		# Disk-based filesystem
		printf "<tr> <td valign=top><b>%s Disk</b></td>\n",
			&fstype_name($_[0]);
		}
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/ad(\d)s(\d)([a-z]*)$/) {
		$disk_dev = 0; $ide_t = $1; $ide_s = $2; $ide_p = $3;
		}
	elsif ($_[1] =~ /^\/dev\/da(\d)s(\d)([a-z]*)$/) {
		$disk_dev = 1; $scsi_t = $1; $scsi_s = $2; $scsi_p = $3;
		}
	else { $disk_dev = 2; }

	printf "<input type=radio name=disk_dev value=0 %s> IDE Hard Disk:\n",
		$disk_dev == 0 ? "checked" : "";
	print "Device <input name=ide_t size=3 value=\"$ide_t\">\n";
	print "Slice <input name=ide_s size=3 value=\"$ide_s\">\n";
	print "Partition <input name=ide_p size=3 value=\"$ide_p\"><br>\n";

	printf "<input type=radio name=disk_dev value=1 %s> SCSI Disk:\n",
		$disk_dev == 1 ? "checked" : "";
	print "Device <input name=scsi_t size=3 value=\"$scsi_t\">\n";
	print "Slice <input name=scsi_s size=3 value=\"$scsi_s\">\n";
	print "Partition <input name=scsi_p size=3 value=\"$scsi_p\"><br>\n";

	printf "<input type=radio name=disk_dev value=2 %s> Other Device:\n",
		$disk_dev == 2 ? "checked" : "";
	printf "<input size=20 name=dev_path value=\"%s\"><br>\n",
		$disk_dev == 2 ? $_[1] : "";
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap") {
	# These options are common to all filesystems
	print "<tr> <td><b>Read-only?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_ro value=1 %s> Yes\n",
		defined($options{"rdonly"}) || defined($options{"ro"})
			? "checked" : "";
	printf "<input type=radio name=bsd_ro value=0 %s> No</td>\n",
		defined($options{"rdonly"}) || defined($options{"ro"})
			? "" : "checked";

	print "<td><b>Buffer writes to filesystem?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_sync value=0 %s> Yes\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=bsd_sync value=1 %s> No</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>Allow device files?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_nodev value=0 %s> Yes\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=bsd_nodev value=1 %s> No</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>Allow execution of binaries?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_noexec value=0 %s> Yes\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=bsd_noexec value=1 %s> No</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=bsd_nosuid value=0 %s> No</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>Update access times?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_noatime value=0 %s> Yes\n",
		defined($options{"noatime"}) ? "" : "checked";
	printf "<input type=radio name=bsd_noatime value=1 %s> No</td> </tr>\n",
		defined($options{"noatime"}) ? "checked" : "";

	if ($uname_release =~ /^[34]\./) {
		# FreeBSD 3.x has some more options
		print "<tr> <td><b>Follow symbolic links?</b></td>\n";
		printf "<td nowrap><input type=radio name=bsd_nosymfollow value=0 %s> Yes\n",
			defined($options{"nosymfollow"}) ? "" : "checked";
		printf "<input type=radio name=bsd_nosymfollow value=1 %s> No</td>\n",
			defined($options{"nosymfollow"}) ? "checked" : "";

		print "<td><b>Files inherit group from SUID directories?</b></td>\n";
		printf"<td nowrap><input type=radio name=bsd_suiddir value=1 %s> Yes\n",
			defined($options{"suiddir"}) ? "checked" : "";
		printf "<input type=radio name=bsd_suiddir value=0 %s> No</td> </tr>\n",
			defined($options{"suiddir"}) ? "" : "checked";
		}
	}

if ($_[0] eq "ufs") {
	# UFS filesystems support quotas
	print "<tr> <td><b>User quotas at boot</b></td> <td colspan=3>\n";
	printf "<input type=radio name=ufs_userquota value=0 %s> Disabled\n",
		defined($options{'userquota'}) ? "" : "checked";
	printf "<input type=radio name=ufs_userquota value=1 %s> Enabled\n",
		defined($options{'userquota'}) && $options{'userquota'} eq ""
			? "checked" : "";
	printf "<input type=radio name=ufs_userquota value=2 %s>\n",
		$options{'userquota'} ? "checked" : "";
	print "Enabled, use file\n";
	printf "<input name=ufs_userquota_file size=30 value=\"%s\">\n",
		$options{'userquota'};
	print "</td> </tr>\n";
		
	print "<tr> <td><b>Group quotas at boot</b></td> <td colspan=3>\n";
	printf "<input type=radio name=ufs_groupquota value=0 %s> Disabled\n",
		defined($options{'groupquota'}) ? "" : "checked";
	printf "<input type=radio name=ufs_groupquota value=1 %s> Enabled\n",
		defined($options{'groupquota'}) && $options{'groupquota'} eq ""
			? "checked" : "";
	printf "<input type=radio name=ufs_groupquota value=2 %s>\n",
		$options{'groupquota'} ? "checked" : "";
	print "Enabled, use file\n";
	printf "<input name=ufs_groupquota_file size=30 value=\"%s\">\n",
		$options{'groupquota'};
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# NFS filesystems have lots more options
	print "<tr> <td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_b value=1 %s> Yes\n",
		defined($options{"-b"}) ? "checked" : "";
	printf "<input type=radio name=nfs_b value=0 %s> No</td>\n",
		defined($options{"-b"}) ? "" : "checked";

	print "<td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_s value=1 %s> Yes\n",
		defined($options{"-s"}) ? "checked" : "";
	printf "<input type=radio name=nfs_s value=0 %s> No</td> </tr>\n",
		defined($options{"-s"}) ? "" : "checked";

	print "<tr> <td><b>Timeout</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_t_def value=1 %s> Default\n",
		defined($options{"-t"}) ? "" : "checked";
	printf "<input type=radio name=nfs_t_def value=0 %s>\n",
		defined($options{"-t"}) ? "checked" : "";
	printf "<input size=5 name=nfs_t value=\"$options{'-t'}\"></td>\n";

	print "<td><b>Number of Retransmissions</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_x_def value=1 %s> Default\n",
		defined($options{"-x"}) ? "" : "checked";
	printf "<input type=radio name=nfs_x_def value=0 %s>\n",
		defined($options{"-x"}) ? "checked" : "";
	print "<input size=5 name=nfs_x value=\"$options{'-x'}\"></td> </tr>\n";

	print "<tr> <td><b>NFS version</b></td> <td nowrap>\n";
	local $v = defined($options{"-2"}) ? 2 :
		   defined($options{"-3"}) ? 3 : 0;
	printf "<input type=radio name=nfs_ver value=0 %s> Auto\n",
		$v ? "" : "checked";
	printf "<input type=radio name=nfs_ver value=2 %s> V2\n",
		$v == 2 ? "checked" : "";
	printf "<input type=radio name=nfs_ver value=3 %s> V3</td>\n",
		$v == 3 ? "checked" : "";

	print "<td><b>Mount retries</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_r_def value=1 %s> Default\n",
		defined($options{"-R"}) ? "" : "checked";
	printf "<input type=radio name=nfs_r_def value=0 %s>\n",
		defined($options{"-R"}) ? "checked" : "";
	print "<input size=5 name=nfs_r value=\"$options{'-R'}\"></td> </tr>\n";

	print "<tr> <td><b>Read-ahead blocks</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_a_def value=1 %s> Default\n",
		defined($options{"-a"}) ? "" : "checked";
	printf "<input type=radio name=nfs_a_def value=0 %s>\n",
		defined($options{"-a"}) ? "checked" : "";
	print "<input size=5 name=nfs_a value=\"$options{'-a'}\"></td>\n";

	print "<td><b>RPC Protocol</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_t2 value=1 %s> TCP\n",
		defined($options{"-T"}) ? "checked" : "";
	printf "<input type=radio name=nfs_t2 value=0 %s> UDP</td> </tr>\n",
		defined($options{"-T"}) ? "" : "checked";
	}
elsif ($_[0] eq "msdos"){
	# MS-DOS filesystems options deal with filling in
	# missing unix functionality
	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input name=msdos_u size=8 value=\"%s\">\n",
		defined($options{"-u"}) ? getpwuid($options{"-u"}) : "";
	print &user_chooser_button("msdos_u", 0),"</td>\n";

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input name=msdos_g size=8 value=\"%s\">\n",
		defined($options{"-g"}) ? getgrgid($options{"-g"}) : "";
	print &group_chooser_button("msdos_g", 0),"</td>\n";

	print "<tr> <td><b>File permissions mask</b></td>\n";
	printf "<td><input type=radio name=msdos_m_def value=1 %s> Default\n",
		defined($options{"-m"}) ? "" : "checked";
	printf "<input type=radio name=msdos_m_def value=0 %s>\n",
		defined($options{"-m"}) ? "checked" : "";
	print "<input size=5 name=msdos_m value=\"$options{'-m'}\"></td>\n";
	}
elsif ($_[0] eq "cd9660") {
	# CDROM filesystem
	print "<tr> <td><b>Ignore Unix Attributes?</b></td>\n";
	printf "<td><input type=radio name=cd9660_r value=1 %s> Yes\n",
		defined($options{"-r"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_r value=0 %s> No</td>\n",
		defined($options{"-r"}) ? "" : "checked";

	print "<td><b>Show version numbers?</b></td>\n";
	printf "<td><input type=radio name=cd9660_g value=1 %s> Yes\n",
		defined($options{"-g"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_g value=0 %s> No</td> </tr>\n",
		defined($options{"-g"}) ? "" : "checked";

	print "<tr> <td><b>Use extended attributes?</b></td>\n";
	printf "<td><input type=radio name=cd9660_e value=1 %s> Yes\n",
		defined($options{"-e"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_e value=0 %s> No</td> </tr>\n",
		defined($options{"-e"}) ? "" : "checked";
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT filesystem
	print "<tr> <td><b>Display MSDOS 8.3 filenames?</b></td>\n";
	printf "<td><input type=radio name=ntfs_a value=1 %s> Yes\n",
		defined($options{"-a"}) ? "checked" : "";
	printf "<input type=radio name=ntfs_a value=0 %s> No</td>\n",
		defined($options{"-a"}) ? "" : "checked";

	print "<td><b>Case sensitive filenames?</b></td>\n";
	printf "<td><input type=radio name=ntfs_i value=0 %s> Yes\n",
		defined($options{"-i"}) ? "" : "checked";
	printf "<input type=radio name=ntfs_i value=1 %s> No</td> </tr>\n",
		defined($options{"-i"}) ? "checked" : "";

	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input type=radio name=ntfs_u_def value=1 %s> Default\n",
		defined($options{"-u"}) ? "" : "checked";
	printf "<input type=radio name=ntfs_u_def value=0 %s>\n",
		defined($options{"-u"}) ? "checked" : "";
	printf "<input name=ntfs_u size=8 value='%s'> %s</td>\n",
		defined($options{"-u"}) ? scalar(getpwuid($options{"-u"})) : "",
		&user_chooser_button("ntfs_u");

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input type=radio name=ntfs_g_def value=1 %s> Default\n",
		defined($options{"-u"}) ? "" : "checked";
	printf "<input type=radio name=ntfs_g_def value=0 %s>\n",
		defined($options{"-u"}) ? "checked" : "";
	printf "<input name=ntfs_g size=8 value='%s'> %s</td> </tr>\n",
		defined($options{"-g"}) ? scalar(getgrgid($options{"-g"})) : "",
		&group_chooser_button("ntfs_g");
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	# Use ping and showmount to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error("'$in{nfs_host}' is not a valid hostname");
		}
	$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
	if ($out =~ /unknown host/i) {
		&error("The host '$in{nfs_host}' does not exist");
		}
	elsif ($out =~ /100\% packet loss/) {
		&error("The host '$in{nfs_host}' is down");
		}
	$out = `showmount -e '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unable to receive/) {
		&error("The host '$in{nfs_host}' does not support NFS");
		}
	elsif ($?) {
		&error("Failed to get mount list : $out");
		}

	# Validate directory name
	foreach (split(/\n/, $out)) {
		if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
		}
	if ($in{nfs_dir} !~ /^\/\S+$/) {
		&error("'$in{nfs_dir}' is not a valid directory name. The ".
		       "available directories on $in{nfs_host} are:".
		       "<pre>$dirlist</pre>");
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
else {
	# This is some kind of disk-based filesystem.. get the device name
	if ($in{'disk_dev'} == 0) {
		$in{'ide_t'} =~ /^\d+$/ ||
			&error("'$in{ide_t}' is not a valid device number");
		$in{'ide_s'} =~ /^\d+$/ ||
			&error("'$in{ide_s}' is not a valid slice number");
		$in{'ide_p'} =~ /^[a-z]*$/ ||
			&error("'$in{ide_p}' is not a valid partition letter");
		$dv = "/dev/ad$in{ide_t}s$in{ide_s}$in{ide_p}";
		}
	elsif ($in{'disk_dev'} == 1) {
		$in{'scsi_t'} =~ /^\d+$/ ||
			&error("'$in{scsi_t}' is not a valid device number");
		$in{'scsi_s'} =~ /^\d+$/ ||
			&error("'$in{scsi_s}' is not a valid slice number");
		$in{'scsi_p'} =~ /^[a-z]*$/ ||
			&error("'$in{scsi_p}' is not a valid partition letter");
		$dv = "/dev/da$in{scsi_t}s$in{scsi_s}$in{scsi_p}";
		}
	else {
		$dv = $in{'dev_path'};
		}

	# If the device entered is a symlink, follow it
	if ($dvlink = readlink($dv)) {
		if ($dvlink =~ /^\//) { $dv = $dvlink; }
		else {	$dv =~ /^(.*\/)[^\/]+$/;
			$dv = $1.$dvlink;
			}
		}

	# Check if the device actually exists and uses the right filesystem
	(-r $dv) || &error("The device file '$dv' does not exist");
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap") {
	delete($options{"ro"}); delete($options{"rw"});
	delete($options{"rdonly"});
	if ($in{'bsd_ro'}) { $options{'ro'} = ''; }
	else { $options{'rw'} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{'bsd_sync'}) { $options{'sync'} = ''; }

	delete($options{'nodev'});
	if ($in{'bsd_nodev'}) { $options{'nodev'} = ''; }

	delete($options{'noexec'});
	if ($in{'bsd_noexec'}) { $options{'noexec'} = ''; }

	delete($options{'nosuid'});
	if ($in{'bsd_nosuid'}) { $options{'nosuid'} = ''; }

	delete($options{'noatime'});
	if ($in{'bsd_noatime'}) { $options{'noatime'} = ''; }

	if ($uname_release =~ /^[34]\./) {
		delete($options{'nosymfollow'});
		$options{'nosymfollow'} = '' if ($in{'bsd_nosymfollow'});

		delete($options{'suiddir'});
		$options{'suiddir'} = '' if ($in{'bsd_suiddir'});
		}
	}
else {
	# Swap always has the sw option
	$options{'sw'} = "";
	}

if ($_[0] eq "ufs") {
	# Parse UFS quota options
	delete($options{'userquota'}) if ($in{'ufs_userquota'} == 0);
	$options{'userquota'} = "" if ($in{'ufs_userquota'} == 1);
	$options{'userquota'} = $in{'ufs_groupquota_file'}
		if ($in{'ufs_userquota'} == 2);

	delete($options{'groupquota'}) if ($in{'ufs_groupquota'} == 0);
	$options{'groupquota'} = "" if ($in{'ufs_groupquota'} == 1);
	$options{'groupquota'} = $in{'ufs_groupquota_file'}
		if ($in{'ufs_groupquota'} == 2);
	}
elsif ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{'-b'});
	$options{'-b'} = "" if ($in{'nfs_b'});

	delete($options{'-s'});
	$options{'-s'} = "" if ($in{'nfs_s'});

	delete($options{'-t'});
	$options{'-t'} = $in{'nfs_t'} if (!$in{'nfs_t_def'});

	delete($options{'-x'});
	$options{'-x'} = $in{'nfs_x'} if (!$in{'nfs_x_def'});

	delete($options{'-2'}); delete($options{'-3'});
	$options{'-2'} = "" if ($in{'nfs_ver'} == 2);
	$options{'-3'} = "" if ($in{'nfs_ver'} == 3);

	delete($options{'-R'});
	$options{'-R'} = $in{'nfs_r'} if (!$in{'nfs_r_def'});

	delete($options{'-a'});
	$options{'-a'} = $in{'nfs_a'} if (!$in{'nfs_a_def'});

	delete($options{'-T'});
	$options{'-T'} = "" if ($in{'nfs_t2'});
	}
elsif ($_[0] eq "msdos") {
	# MSDOS options for file ownership/perms
	delete($options{"-u"}); delete($options{"-g"});
	if ($in{'msdos_u'} ne "") { $options{'-u'} = getpwnam($in{'msdos_u'}); }
	if ($in{'msdos_g'} ne "") { $options{'-g'} = getgrnam($in{'msdos_g'}); }

	delete($options{"-m"});
	if (!$in{'msdos_m_def'}) {
		$in{'msdos_m'} =~ /^[0-7]{3}$/ ||
			&error("'$in{'msdos_m'}' is not a valid octal mask");
		$options{'-m'} = $in{'msdos_m'};
		}
	}
elsif ($_[0] eq "cd9660") {
	# Options for iso9660 cd-roms
	delete($options{'-r'});
	$options{'-r'} = "" if ($in{'cd9660_r'});

	delete($options{'-g'});
	$options{'-g'} = "" if ($in{'cd9660_g'});

	delete($options{'-e'});
	$options{'-e'} = "" if ($in{'cd9660_e'});
	}
elsif ($_[0] eq "ntfs") {
	delete($options{"-u"}); delete($options{"-g"});
	if ($in{'ntfs_u'} ne "") { $options{'-u'} = getpwnam($in{'ntfs_u'}); }
	if ($in{'ntfs_g'} ne "") { $options{'-g'} = getgrnam($in{'ntfs_g'}); }

	delete($options{"-a"});
	$options{"-a"} = '' if ($in{'ntfs_a'});

	delete($options{"-i"});
	$options{"-i"} = '' if ($in{'ntfs_i'});
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}

# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)\s+/) { return $1; }
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'} );
}

1;

0707010002fc3c000081e40000000000000002000000013d1fe2bc000022d5000000200000000000000000000000000000001d00000003reloc/mount/freebsd-mounts-2  Ì †€          t             U‰åƒìVS]sSƒ{ t
‹ƒÂ…Àu÷9wƒÂü‰T&  ‹…Àt £¬   €8 t€8/u	H‰¬   @€8 uìÇEü    ‹Eü…ÀtèÁ   ÿ5T&  Vÿ3èC  PèÙ  /usr/libexec/ld.so Couldn't open  .
 Failure reading ld.so
 Bad magic: ld.so
 Cannot map ld.so (text)
 Cannot map ld.so (data)
 Cannot map ld.so (bss)
 ld.so failed :  
   U‰åƒìDVSj j hœ  jè3  ‰EäƒÄƒøÿu?jh¯  jjè  jhœ  jjè  ƒÄ jh¾  jjèõ  jjèì  ƒÄj U¼RÿuäjèÙ  ƒÄƒøwjhÁ  jjèÁ  jjè¸  ƒÄ‹U¼†òÁÊ†òfút$f}¼Ì tjhØ  jjèŒ  jjèƒ  ƒÄÇEàÿÿÿÿ‹E¼·Ðú  t4¹    »    úÌ   t‰Â†òÁÊ†òfút
¹    »    ‰Ê‰Ùëº   ¹    QRj ÿuäjjÿuÀj hÅ   è  ‰EÜƒÄ$ƒøÿujhê  jjèø  jjèï  ƒÄ‹U¼·Â=  t!=Ì   t†òÁÊ†ò·Òú  túÌ   uK‹MÀ‹E¼·Ðú  t*úÌ   t‰Â†òÁÊ†òfút
‘  ë‘ÿ  ë‘ÿ  â ðÿÿë,‹MÀ=  t‰Ë=Ì   tú  tY ‰Úë‘   1ÉQRj ÿuäjjÿuÄ‹UÜUÀRhÅ   è(  ƒÄ$ƒøÿujh  jjè  jjè  ƒÄ‹UÈ…ÒtIj j j ÿuàh  jR‹UÀUÄUÜRhÅ   èØ  ƒÄ$ƒøÿujh  jjèÀ  jjè·  ƒÄÇEè    ‹T&  ‰UìÇEð‡  ‹¬   ‰UôÇEøœ  ÇEü    ‹uÜƒÆ ]ÜSjÿÖ£4!  ‹Uü‰,!  ƒÄƒøÿu…ÒuSjÿÖ£4!  ‹   ‰,!  ƒÄƒ=4!  ÿuyjh4  jjè,  ƒÄ‹,!  …Òt@‹RÿÒ‰Ã…Ût5jhA  jjè  ‰ØƒÄ€; t	@€8 uú‰Â)ÚRSjjèâ   ƒÄjhD  jjèÏ   jjèÆ   ƒÄƒ=4!   ~‹,!  ÿrè…  e´[^ÉÃ  U‰å¡,!  …Àtÿuÿu‹ ÿÐÉÃ1ÀÉÃU‰å¡,!  …Àtÿu‹@ÿÐÉÃ¸ÿÿÿÿÉÃ U‰å‹U¡,!  …Àu1ÀÉÃƒ=4!  Rÿu‹@ÿÐÉÃÿuRÿu‹@ÿÐÉÃService unavailable   U‰å¡,!  …Àt‹@ÿÐÉÃ¸b  ÉÃYXQš     QrÃ¸ÿÿÿÿÃ         getmntinfo failed : %s
 %s	%s	%s	%s	%x
 U‰åƒìèa  jEüPè¶
  ƒÄ‰À‰Eøƒ}ø }0¡X&  Pè•
  ƒÄ‰ÀPh°  hü%  èx
  ƒÄjèN
  ƒÄÇEô    ‹Eô9Eøé   ‹Eô‰Â‰ÐÁà‹Uü‹D0P‹Eô‰Â‰ÐÁà‹Uü‹D0Pè;  ƒÄ‰ÀP‹Eô‰Â‰ÐÁà‹Uü‹D,Pè¶   ƒÄ‰ÀP‹Eô‰Â‰ÐÁà‰ÂUü‚¦   P‹Eô‰Â‰ÐÁà‰ÂUüBLPhÈ  èÉ	  ƒÄÿEôéfÿÿÿÉÃtfs ext2fs devfs union cd9660 afs procfs kernfs umap null portal fdesc lofs lfs msdos mfs nfs ufs none ???    U‰åƒ} |ƒ}ë¸9  ëë‹U‹•¼   ë ÉÃro, noexec, nosuid, noatime, nodev, sync, async, quota, - U‰åÆ8!   ‹Eƒà…Àthn  h8!  è¹  ƒÄ‹Eƒà…Àthr  h8!  è  ƒÄ‹Eƒà…Àthz  h8!  è  ƒÄ‹E%   …Àth‚  h8!  èc  ƒÄ‹Eƒà…Àth‹  h8!  èG  ƒÄ‹Eƒà…Àth’  h8!  è+  ƒÄ‹Eƒà@…Àth˜  h8!  è  ƒÄ‹E%    …ÀthŸ  h8!  èñ  ƒÄ€=8!   u	¸¦  ë"h8!  èÊ  ƒÄ‰ÀÆ€7!   ¸8!  ëÉÃ      U‰åS»@%  ƒ=@%   t‹ƒÃÿÐƒ; uô‹]üÉÃ   U‰åS¡D%  ƒøÿu1Àƒ=H%   t@ƒ<…H%   uõ‰Ã…Ût‹D%  ÿÐKuôhÐ  è.  ‹]üÉÃ U‰åƒ=8%   uÇ8%     è™ÿÿÿÉÃ               n     ,v     ,~   	  ,†     ,Ž     ,–     ,L%    Œž     ,¦     ,                                  	                   
         	      
                                                                                                                                                    
     ð           !      $           -     x      6     Ð      I   	   <%      X     „       `   	   D%      o     |       w     ø      Š     Œ       ’     ¬       ž     ¨      ¬     @      ·            ½     ¼       È     œ       Ò     ”       Û     !      ì             ò            ù   	   T&          l       
    ¤         	   X&          t       #    Ø      )    ,      0     ,!      7  	   \&      <    D      __DYNAMIC _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ _strcat ___CTOR_LIST__ _strlen ___do_global_ctors _printf ___progname _expand_flags _find_type start _type_name _strerror _fprintf __exit_dummy_ref ___sF _etext _environ _atexit _getmntinfo _errno _exit _main _dlsym _edata _end ___main            c                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         (                                   ü      `   d   p  ¸  ¸         ¸  D     H       éúÿÿÿ  èòÿÿÿ  èêÿÿÿ èâÿÿÿ èÚÿÿÿ èÒÿÿÿ èÊÿÿÿ èÂÿÿÿ èºÿÿÿ 0!              4  0  ,  (  "              û  ô  ð  é  ã  Ý  Ö  Ò      !                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ð       !  (       1     x  :     Ð  M   	   <%  \   	   D%  k     ø  ~     ¬   Š     ¨  ˜     @  £        ©     ¼   ´     !  Å     L%  Ë        Ò   	   T&  Û   	   X&  â     Ø  è     ,  ï      ,!  ö   	   \&  û     D               °  (     °  7     °  I     8!  P     Ð  Y     p  a  __DYNAMIC _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ ___CTOR_LIST__ ___do_global_ctors ___progname _expand_flags _find_type start _type_name __exit_dummy_ref ___sF _etext _environ _errno _main _dlsym _edata _end ___main /usr/lib/crt0.o /var/tmp/ccLob2791.o gcc2_compiled. ___gnu_compiled_c _buf.8 __main.o _exit.o    0707010002fc3d000081a40000000000000002000000013d1fe2bc00000527000000200000000000000000000000000000001f00000003reloc/mount/freebsd-mounts-2.c    #include <stdio.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>

char *find_type(int t);
char *expand_flags(int f);

int main(void)
{
struct statfs *mntlist;
int n, i;

n = getmntinfo(&mntlist, MNT_NOWAIT);
if (n < 0) {
	fprintf(stderr, "getmntinfo failed : %s\n", strerror(errno));
	exit(1);
	}
for(i=0; i<n; i++) {
	printf("%s\t%s\t%s\t%s\t%x\n",
		mntlist[i].f_mntonname,
		mntlist[i].f_mntfromname,
		find_type(mntlist[i].f_type),
		expand_flags(mntlist[i].f_flags),
		mntlist[i].f_flags);
	}
}

char *type_name[] = { "none", "ufs", "nfs", "mfs", "msdos", "lfs",
		      "lofs", "fdesc", "portal", "null", "umap", "kernfs",
		      "procfs", "afs", "cd9660", "union", "devfs", "ext2fs",
		      "tfs" };

char *find_type(int t)
{
if (t < 0 || t > 18) return "???";
else return type_name[t];
}

char *expand_flags(int f)
{
static char buf[1024];
buf[0] = 0;
if (f & MNT_RDONLY) strcat(buf, "ro,");
if (f & MNT_NOEXEC) strcat(buf, "noexec,");
if (f & MNT_NOSUID) strcat(buf, "nosuid,");
if (f & MNT_NOATIME) strcat(buf, "noatime,");
if (f & MNT_NODEV) strcat(buf, "nodev,");
if (f & MNT_SYNCHRONOUS) strcat(buf, "sync,");
if (f & MNT_ASYNC) strcat(buf, "async,");
if (f & MNT_QUOTA) strcat(buf, "quota,");
if (buf[0] == 0) return "-";
buf[strlen(buf)-1] = 0;
return buf;
}

 0707010002fc3e000081e40000000000000002000000013d1fe2bc00001269000000200000000000000000000000000000001d00000003reloc/mount/freebsd-mounts-3  ELF FreeBSD      ¤„4   Ä
      4    (      4   4€4€                 Ô   Ô€Ô€                    € €¶  ¶           ¸  ¸˜¸˜Ì   Ü           ü  ü˜ü˜ˆ   ˆ         /usr/libexec/ld-elf.so.1                              	                     
                                                                                                                 ü˜     ñÿ   Ì˜     ñÿ*   üƒ      0   ˆ     
 6   d„   "   >   „+      E   D„$      M   T„       T   ˆ™    Y   „„P      ^   ¸˜     i   t„t      p   ”„       w   $„—      €   ž     ˆ   4„å      “   ˆ     ñÿš   „™     ñÿ¡   „™     ñÿ­   ”ž     ñÿ²   ”ž     ñÿ libc.so.3 _DYNAMIC _GLOBAL_OFFSET_TABLE_ _init _fini __error printf fprintf strcat __sF exit __progname atexit strlen strerror environ getmntinfo _etext _edata __bss_start _end end   ˆ™	  Ø˜  Ü˜  à˜  ä˜  è˜  ì˜  ð˜  ô˜
  ø˜  è  Ã  ÿ5Ð˜ÿ%Ô˜    ÿ%Ø˜h    éàÿÿÿÿ%Ü˜h   éÐÿÿÿÿ%à˜h   éÀÿÿÿÿ%ä˜h   é°ÿÿÿÿ%è˜h    é ÿÿÿÿ%ì˜h(   éÿÿÿÿ%ð˜h0   é€ÿÿÿÿ%ô˜h8   épÿÿÿÿ%ø˜h@   é`ÿÿÿU‰åWVS‰Ò}‹u\µ‰ž…ö~(ƒ} t"‹E£¸˜€8 t€8/u	H‰¸˜@€8 uì¸ü˜…Àt	Rè}ÿÿÿƒÄhˆèpÿÿÿèóþÿÿSWVèc   PèmÿÿÿU‰åS»À˜ƒ=À˜ t‰öƒÃƒ; uøë‰ö‹ÿÐƒÃüû¼˜wñ‹]üÉÃU‰åS»È˜ƒ=È˜ t‰ö‹ÿÐƒÃƒ; uô‹]üÉÃU‰åƒìjEüPè¯þÿÿƒÄ‰À‰Eøƒ}ø }1èÌþÿÿ‰À‹Rè‚þÿÿƒÄ‰ÀPhˆh8šèþÿÿƒÄjèÃþÿÿƒÄÇEô    ‹Eô9Eøéƒ   v ‹Eô‰Â‰ÐÁà‹Uü‹D0P‹Eô‰Â‰ÐÁà‹Uü‹D0Pè[   ƒÄ‰ÀP‹Eô‰Â‰ÐÁà‰ÂUüB<P‹Eô‰Â‰ÐÁà‰ÂUü‚¦   P‹Eô‰Â‰ÐÁà‰ÂUüBLPh7ˆèÃýÿÿƒÄÿEôépÿÿÿÉÃ‰öU‰åÆš ‹Eƒà…ÀthGˆhšèÑýÿÿƒÄ‹Eƒà…ÀthKˆhšèµýÿÿƒÄ‹Eƒà…ÀthSˆhšè™ýÿÿƒÄ‹E%   …Àth[ˆhšè{ýÿÿƒÄ‹Eƒà…Àthdˆhšè_ýÿÿƒÄ‹Eƒà…ÀthkˆhšèCýÿÿƒÄ‹Eƒà@…Àthqˆhšè'ýÿÿƒÄ‹E%    …Àthxˆhšè	ýÿÿƒÄ‹E%  @ …ÀthˆhšèëüÿÿƒÄ‹E%   …ÀthŒˆhšèÍüÿÿƒÄ‹Eƒà …Àth•ˆhšè±üÿÿƒÄ‹E%   @…Àthœˆhšè“üÿÿƒÄ‹E%   €…Àth¨ˆhšèuüÿÿƒÄ€=š u	¸´ˆë"‰öhšè–üÿÿƒÄ‰ÀÆ€š ¸šëv ÉÃè/ýÿÿÃ getmntinfo failed : %s
 %s	%s	%s	%s	%x
 ro, noexec, nosuid, noatime, nodev, sync, async, quota, nosymfollow, suiddir, union, noclusterr, noclusterw, -   ˆÿÿÿÿ    ÿÿÿÿ    ü˜        „*„:„J„Z„j„z„Š„š„         üƒ   ˆ   ð€   ô‚   ”
   ¶                   Ì˜   H            ´ƒ   ¬ƒ                     GCC: (GNU) 2.7.2.3  GCC: (GNU) 2.7.2.3  GCC: (GNU) 2.7.2.3  GCC: (GNU) 2.7.2.3           01.01             01.01             01.01             01.01    .symtab .strtab .shstrtab .interp .hash .dynsym .dynstr .rel.bss .rel.plt .init .plt .text .fini .rodata .data .ctors .dtors .got .dynamic .bss .comment .note                                                  Ô€Ô                     #         ð€ð   ¤                )         ””  `              1         ô‚ô  ¶                  9   	      ¬ƒ¬                 B   	      ´ƒ´  H               K         üƒü                    Q         „                    V         ¤„¤  t                 \         ˆ                    b         ˆ  ˜                  j         ¸˜¸                    p         ¼˜¼                    w         Ä˜Ä                    ~         Ì˜Ì  0                 ƒ         ü˜ü  ˆ                Œ         „™„	                   ‘              „	  P                  š          P   Ô	  P                                $
                                   \                 	              |  í                                      Ô€          ð€          ”          ô‚          ¬ƒ          ´ƒ          üƒ          „          ¤„     	     ˆ     
     ˆ          ¸˜          ¼˜          Ä˜          Ì˜          ü˜          „™                        P                                                               ñÿ   t…      	 #   š     )   „+      0   $„—      9   ü˜     ñÿB   ˆ     ñÿI   üƒ      O   4„å      Z   ž     b   D„$      j   T„       q   ”ž     ñÿu   ¸˜     €   ¤„t    	 ‡   d„   "      ˆ™    ”   `†¶   	 ¡   „™     ñÿ­   t…ê    	 ²   ˆ     
 ¸   t„t      ¿   „™     ñÿÆ   Ì˜     ñÿÜ   ”ž     ñÿá   „„P      æ   ”„        freebsd-mounts-3.c gcc2_compiled. buf.6 printf strerror _DYNAMIC _etext _init getmntinfo environ fprintf strcat end __progname _start __error __sF expand_flags __bss_start main _fini atexit _edata _GLOBAL_OFFSET_TABLE_ _end exit strlen    070701000310d6000041ed0000000000000001000000023d1ffa9500000000000000200000000000000000000000000000001100000003reloc/mount/help  070701000310d7000081a40000000000000002000000013d1fe2bd0000604d000000200000000000000000000000000000001e00000003reloc/mount/help/help.ca.html <title>Gestor de Sistemes de Fitxers</title>
<body bgcolor=#ffffff>
<center><img src="images/mount.gif"></center><p>
<h2><i>Aquesta pàgina d'ajuda està incompleta</i></h2>

<hr>

<h3>Introducció</h3>

La intenció d'aquest mòdul es la de simplificar el muntatge dels
discs locals, recursos compartits remots i memòria virtual.
Abans que un sistema Unix pugui accedir als fitxers d'un disc,
CD-ROM, unitat JAZ, disquet o servidor de fitxers, cal que aquest
estigui <tt>muntat</tt> en algun punt del sistema de fitxers.
El sistema manté una llista dels sistemes de fitxers coneguts,
habitualment per muntar-los en engegar. Els sistemes de fitxers 
es poden muntar temporalment, per oblidar-los després de desmuntar-los
o quan es reengegui el sistema.  <p>

Tots els sistemes Unix, un cop instal·lats, munten almenys un sistema
de fitxers en engegar, i gairebé sempre alguns més. Sempre hi ha un
sistema muntat com a directori arrel <tt>/</tt>, i potser altres com
ara <tt>/usr</tt>, <tt>/proc</tt> o <tt>/net</tt>. A menys que el
teu sistema Unix sigui una estació de treball sense disc, el directori
arrel es munta des d'un disc local. Es poden muntar altres sistemes
de fitxers des de servidors de fitxers, discs locals o fins i tot
sistemes de fitxers "màgics" com ara <tt>/proc</tt>, que no contenen
fitxers reals.  <p>

Un cas especial és la memòria virtual. El sistema hauria de tenir 
almenys un fitxer d'intercanvi de memòria virtual, que el SO fa servir
com una ampliació de la memòria física. Un fitxer d'intercanvi pot
ser un fitxer normal d'algun sistema de fitxers, o una partició 
dedicada d'un disc local.  <p>

Aquest mòdul funciona llegint i actualitzant el fitxer  <tt>/etc/fstab</tt>
o <tt>/etc/vfstab</tt> per gestionar els sistemes de fitxers coneguts.
Els sistemes de fitxers muntats actualment es troben llegint el fitxer
<tt>/etc/mtab</tt> o <tt>/etc/mnttab</tt>. Webmin ignora completament
els comentaris de la taula de sistemes de fitxers.  <p>

<hr>

<h3>Llista dels Sistemes de Fitxers Actuals</h3>

La pàgina principal del mòdul <tt>Gestor de Sistemes de Fitxers</tt>
llista tots els sistemes de fitxers coneguts. Per cada sistema de
fitxers, es mostren els detalls següents:

   <ul>
   <li><b>Punt de muntatge</b><br>
      El directori on es troba muntat aquest sistema de fitxers,
      o bé <i>Virtual Memory</i> si és un fitxer d'intercanvi.
      Només hi pot haver un sol sistema de fitxers muntat sobre
      un mateix punt de muntatge. <p>
   <li><b>Tipus de sistema de fitxers</b><br>
      El nom complet d'aquest tipus de sistema de fitxers. Aquest
      depèn del muntatge (local o remot) i de com està formatat el disc.
      Els muntatges de discs locals tenen tipus com ara <tt>Linux Native
      Filesystem</tt>, <tt>MS-DOS Filesystem</tt> o <tt>Solaris Unix
      Filesystem</tt>. Els muntatges remots gairebé sempre tenen el
      tipus <tt>Network Filesytem</tt>. <p>
      Si vols fer servir els noms curts dels tipus de sistemes de
      fitxers (com ara <tt>ext2fs</tt> en lloc de <tt>Linux Native
      Filesystem</tt>), canvia l'opció <tt>Fes servir tipus llarg de
      sistemes de fitxers</tt> a la <a href="../config.cgi?mount">
      Configuració del Mòdul</a>.<p>

   <li><b>Muntat des de</b><br>
      El fitxer de dispositiu o nom del sistema remot i directori
      des d'on s'ha muntat el dispostitiu. Sota Unix, tots els discs
      locals tenen un fitxer de dispositiu al directori <tt>/dev/</tt>
      que es fa servir per accedir aquest disc. Els fitxers de 
      dispositiu tenen noms com <tt>/dev/dsk/c0t1d0s3</tt> o
      <tt>/dev/hda1</tt>. Quan crees o edites un muntatge, Webmin
      convertirà automàticament el nom del fitxer de dispositiu en
      un número de disc i de partició.  <p>

   <li><b>En ús</b><br>
      "Sí" si aquest sistema de fitxers està actualment muntat,
      "No" altrament.  <p>

   <li><b>Permanent</b><br>
      "Sí" si aquest sistema de fitxers està enregistrat de forma
      permanent, "No" si s'oblidarà en desmuntar-lo.  <p>
   </ul><p>

<hr>

<h3>Addició d'un Nou Sistema de Fitxers</h3>

Per afegir un nou muntatge, tria el tipus de sistema de fitxers del
selector de sota, l'origen i altres opcions del nou muntatge.
Cada tipus de sistema de fitxers de cada versió de Unix pot tenir
opcions diferents, i molts tipus tenen possibilitats diferents
per a l'origen del muntatge.  <p>

Independentment del sistema de fitxers que triïs, algunes entrades
de la <tt>Creació de Muntatge</tt> seran iguals.  La més important
és el punt de muntatge, que és el directori del qual penjarà el
sistema de fitxers a muntar. Tots els tipus de sistemes de fitxers
excepte <i>virtual memory</i> exigeixen aquesta entrada.
Si el directori que introdueixes no existeix, Webmin intentarà
crear-lo per tu.  <p>

Per a la majoria de tipus de sistemes de fitxers, tindràs 3 opcions
per desar el muntatge:

   <ul>
   <li><b>Desa'l i munta'l en engegar</b><br>
      El muntatge s'enregistrarà de forma permanent i es muntarà
      en engegar el sistema.  <p>
   <li><b>Desa</b><br>
      El muntatge serà permanent, però no es muntarà en engegar
      el sistema.  <p>
   <li><b>No el desis</b><br>
      El muntatge serà temporal.  <p>
   </ul><p>

Per la majoria de sistemes de fitxers, també pots triar muntar-lo ara
o no. No té sentit no muntar ni desar un sistema de fitxers nou, 
per la qual cosa en aquest cas es mostrarà un error.  <p>

Hi ha, no obstant, alguns tipus de sistemes de fitxers que no presentaran
totes les opcions llistades abans. En són alguns exemples:

   <ul>
   <li><tt>Virtual Memory</tt> sota Linux<br>
      Quan aquest tipus es munta, també es desa, i quan es desmunta,
      s'elimina. Els muntatges VM desats sempre s'afegeixen en engegar.  <p>
   <li><tt>Windows Networking Filesystem</tt> sota Linux<br>
      Aquest sistema de fitxers només es pot muntar fent servir l'ordre
      <tt>smbmount</tt>, així que no es pot desar.  <p>
   <li><tt>Automounter Filesystem</tt><br>
      Els sistemes de fitxers Automounter permanents sempre es munten
      en engegar el sistema.  <p>
   </ul><p>

Tots els tipus de sistemes de fitxers exigeixen que triïs l'origen
i les opcions del muntatge. Con que l'origen i les opcions difereixen
significativament segons els diferents tipus de Unix i de sistemes 
de fitxers, els descrivim individualment a continuació:

   <ul>
   <li><b>Redhat Linux 4.0+</b> i <b>Slackware Linux 3.0+</b><br>
      Per a la majoria de tipus de sistemes de fitxers, l'origen del
      muntatge pot ser un dels següents:

      <ul>
      <li><b>Dispositiu IDE</b><br>
         Per aquesta tria, has d'introduir la lletra de dispositiu IDE
         i la partició. La lletra del dispositiu és habitualment <tt>a</tt>
         pel primer disc dur intern, <tt>b</tt> pel segon disc dur intern,
         i <tt>c</tt> pel CD-ROM. El número de partició depèn de la
         partició que vulguis muntar. Fes servir l'ordre <tt>fdisk</tt>
         per veure les particions disponibles dels discs.  <p>
      <li><b>Dispositiu SCSI</b><br>
         Per aquesta opció, has d'introduir la lletra del dispositiu SCSI
         i la partició. La lletra del dispositiu NO es correspon amb el
         número d'identificació SCSI - EL Linux assigna una lletra a cada
         dispositiu SCSI segons l'ordre en què el sistema se'ls troba.  <p>
      <li><b>Disquet</b><br>
         Aquesta tria només exigeix introduir el número de dispositiu de
         disquet. Aquest serà <tt>0</tt> per la primera disquetera, o
         <tt>1</tt> per la segona.  <p>
      <li><b>Altres dispositius</b><br>
         Si tries aquesta opció, pots introduir el nom de dispositiu que 
         vulguis. Això és útil per muntar dispositius RAID, targetes PCMCIA
         i altres dispositius que Webmin no coneix.  <p>
      </ul><p>

      Abans de poder muntar un sistema de fitxers en una partició de disc
      SCSI o IDE, cal haver creat la partició i haver-hi construït un
      sistema de fitxers. Pots fer servir el mòdul <a href=/fdisk/>Gestor
      de Particions</a> per fer-ho, o pots fer servir les ordres de Linux 
      <tt>fdisk</tt> i <tt>mkfs</tt>.  <p>
      
      Els tipus de muntatge <tt>Network Filesystem (nfs)</tt>, <tt>Windows
      Networking Filesystem (smbfs)</tt>, <tt>Automounter Filesystem
      (auto)</tt> i <tt>Virtual Memory (swap)</tt> fan servir un formulari
      diferent per l'origen del muntatge. Mira més avall la secció concreta
      del tipus de sistema de fitxers per més detalls.  <p>

      Un cop hagis triat l'origen del muntatge, també podràs establir
      diverses opcions específiques del sistema. Algunes opcions, no obstant,
      són comunes a tots els sistemes de fitxers Linux. Aquestes són: <br><br>

      <table border>
         <tr>
            <td>
               <b>Només lectura</b>
            </td>
            <td>
               Si és "Sí", llavors ningú hi pot escriure, crear o
               canviar res d'aquest sistema de fitxers
            </td>
         </tr>
         <tr>
            <td>
               <b>Permet fitxers SUID</b>
            </td>
            <td>
               Si és "No", llavors els programes <i>setuid</i> d'aquest
               sistema de fitxers no s'executaran com al seu propietari.
               És útil per muntar sistemes de fitxers remots no fiables.
            </td>
         </tr>
      </table><p>

      Les opcions específiques del sistema són:

      <ul>
      <li><b>Linux Native Filesystem (ext2fs)</b><br>
         Aquest és el tipus més recent de sistemes de fitxers per discs
         locals en Linux. <br>
         Estan disponibles les opcions addicionals següents:

         <table border>
         </table><p>

      <li><b>Network Filesystem (nfs)</b><br>
         NFS és la forma estàndard de Unix de compartir fitxers entre
         sistemes. Per NFS, l'origen del muntatge no és un disc local,
         sinó un nom de host i de directori remots. El nom de host és
         el nom (o l'adreça IP) del sistema remot. El directori remot
         és un directori del sistema remot exportat al teu sistema, <br>
         Els sistemes de fitxers NFS tenen les següents opcions addicionals:
         <br><br>
         
         <table border>
            <tr>
               <td>
                  <b>Versió NFS</b>
               </td>
               <td>
                  La versió NFS (1-3) a utilitzar
               </td>
            </tr>
         </table><p>
		   
      <li><b>Virtual Memory (swap)</b><br>
         L'origen del muntatge de la memòria virtual pot ser un disc IDE
         local, un disc SCSI local, o un fitxer normal i corrent.
         Si introdueixes un nom de fitxer que no existeix, Webmin et 
         demanarà la mida del fitxer d'intercanvi, i llavors l'afegirà
         com a àrea d'intercanvi. A menys que el kernel del teu Linux 
         s'hagi configurat per permetre-ho, no es pot muntar una àrea
         d'intercanvi com un sistema de fitxers NFS. <br>
         No hi ha cap opció pels muntatges de memòria virtual.  <p>

      <li><b>Windows Networking Filesystem (smbfs)</b><br>
         "Windows Networking" es refereix al protocol de compartició de
         fitxers utilitzat per Samba, Windows 95 i NT (també conegut com
         SMB o LANManager). Si un servidor Windows està compartint un
         directori, el pots muntar sota Linux i accedir al seu contingut
         com si fossin fitxers normals.  <p>

         L'origen del muntatge d'un sistema de fitxers Windows és un 
         nom de recurs del tipus <tt>\\ntbox\somedir</tt>. El primer nom
         és el nom NetBIOS del servidor, i el segon el nom d'un recurs
         del servidor. Idealment, el nom NetBIOS d'un servidor hauria
         de ser el mateix que el nom de host TCP/IP, però si no és així,
         pots fer servir les opcions de muntatge per especificar el
         nom de host correcte o l'adreça IP per connectar-hi. <br>
         Estan disponibles les opcions següents:
         <br><br>

         <table border>
            <tr>
               <td>
                  <b>Usuari</b>
               </td>
               <td>
                  El nom d'usuari per entrar al servidor de fitxers.
                  Per als recursos públics no cal.
               </td>
            </tr>
            <tr>
               <td>
                  <b>Contrasenya</b>
               </td>
               <td>
                  La contrasenya que es fa servir amb el nom d'usuari.
                  Si no tens un nom d'usuari i una contrasenya vàlids
                  al servidor, llavors el muntatge fallarà. Per als
                  recursos públics no cal.
               </td>
            </tr>
         </table><p>

      <li><b>MS-DOS Filesystem (FAT)</b><br>
         Els disquets o discs formatats amb Windows 3.1 i versions de MS-DOS
         anteriors a la 7.0 fan servir aquest tipus de sistema de fitxers.
         Els fitxers d'aquest sistema estan limitats a l'estàndard de noms
         de fitxer 8.3 utilitzat per DOS. Si proves de crear un fitxer amb
         un nom més llarg, es truncarà al format 8.3. Com que DOS no té
         cap concepte de propietat dels fitxers ni permisos reals, tots
         els fitxers del sistema muntat tindran el mateix propietari i
         mode d'accés. La propietat i els drets individuals de cada 
         fitxer no es poden canviar. <br>
         Estan disponibles les opcions següents:

         <table border>
         </table><p>
			
      <li><b>Windows 95 Filesystem (vfat)</b><br>
         Aquest sistema de fitxers es troba en discs formatats per Windows 95
         i, possiblement, NT. Igual que el sistema de fitxers DOS anterior,
         no té cap concepte de propietat ni permisos de fitxers. No obstant,
         suporta noms llargs de fitxers.  <br>
         Les opcions disponibles són:
    
         <table border>
         </table><p>

      <li><b>ISO9660 Filesystem (iso9660)</b><br>
         Aquest és el format estàndard dels CD-ROMs. El format bàsic
         només suporta noms 8.3 com la <tt>FAT</tt>, però hi ha un format
         ampliat anomenat Rock Ridge que permet tenir noms de fitxers 
         llargs i permisos Unix.<br>
         Les opcions d'aquest sistema de fitxers són:

         <table border>
         </table><p>

      <li><b>OS/2 Filesystem (hpfs)</b><br>
         Els discs durs formatats amb OS/2 fan servir aquest format de 
         sistema de fitxers. Els noms llargs estan suportats, però els
         permisos i propietat dels fitxers Unix no.<br>
         Les opcions disponibles són:

         <table border>
         </table><p>

      <li><b>Linux on MS-DOS Filesystem (umsdos)</b><br>
         Aquest sistema de fitxers només s'utilitza per instal·lar el Linux
         en un sistema que només té un sistema de fitxers MS-DOS i no es
         pot reparticionar. Funciona fent servir el directori <tt>\linux</tt>
         del sistema de fitxers DOS com a arrel del sistema de fitxers
         de Linux. Quan es munta en Linux, els noms llargs, la propietat
         i els permisos estan suportats. Aquest sistema de fitxers, per
         defecte, no està suportat en el Linux de RedHat, i només s'ha
         de fer servir si no tens cap més remei, ja que el rendiment 
         és pobre. <br>
         Les opcions vàlides d'<tt>umsdos</tt> són:

         <table border>
         </table><p>

      </ul><p>
	
   <li><b>Solaris 2.5+</b><br>
      Per als sistemes Solaris basats en disc, l'origen del muntatge
      pot ser un de:

      <ul>
      <li><b>Disc SCSI</b><br>
         En Solaris, cada disc SCSI s'identifica per 4 números:

         <ul>
         <li><b>Controladora</b> - La controladora SCSI on està connectat
            el disc. Per la controladora integrada a les caixes SPARC, 
            sempre és 0.<br>
         <li><b>Objectiu</b> - El número d'unitat SCSI. Per als discs durs
            interns, és 0 o 1. Per discs externs, normalment es pot 
            seleccionar amb un interruptor de la caixa. <br>
         <li><b>Unitat</b> - Gairebé sempre 0. <br>
         <li><b>Partició</b> - El número de la partició a muntar. <br>
         </ul><p>

      <li><b>Dispositiu MetaDisk</b><br>
         Si tens dispositius RAID vetejats o replicats creats amb el
         programari de metadispositius de Sun, tria aquesta opció i
         introdueix el número del metadispositiu. <p>
      <li><b>Altres dispositius</b><br>
         Aquesta tria exigeix que introdueixis el camí complet del
         del dispositiu a muntar. <p>
   </ul><p>

   Abans de poder muntar un sistema de fitxers d'un disc local SCSI,
   cal haver creat la partició i el sistema de fitxers. Pots fer servir
   el mòdul <a href=/format/>Gestor de Particions</a>, o pots fer 
   servir les ordres Unix <tt>format</tt> i <tt>newfs</tt>. <p>

   En Solaris, el gestor de volums munta automàticament els CD-ROMs i
   els disquets. A menys que s'hagi desactivat, els disquets i els
   CDs no necessiten mai muntatge manual. Els dispositius muntats pel
   gestor de volums no es mostren a la llista de sistemes de fitxers 
   de la pàgina principal. Aquest pot ser també el cas de dispositius
   SCSI removibles (com ara una unitat Jaz, o Syquest), depenent de
   com estigui configurada la gestió de volums del sistema. <p>

   Un cop hagis triat l'origen del sistema de fitxers, també podràs
   establir un cert nombre d'opcions específiques del sistema:

   <ul>
      <li><b>Solaris Unix Filesystem (ufs)</b><br>
         Aquest és el sistema de fitxers estàndard dels discs locals
         de solaris. <br>
         Les opcions disponibles són:
         <br><br>

         <table border>
            <tr>
               <td>
                  <b>Només lectura</b>
               </td>
               <td>
                  Si és "Sí", llavors ningú pot escriure, crear, esborrar
                  ni canviar cap permís en aquest sistema de fitxers.
               </td>
            </tr>
         </table><p>

      <li><b>Network Filesystem (nfs)</b><br>
         NFS és la forma estàndard de Unix de compartir fitxers entre
         sistemes. Per NFS, l'origen del muntatge no és un disc local,
         sinó un nom de host i de directori remots. El nom de host és
         el nom (o l'adreça IP) del sistema remot. El directori remot
         és un directori del sistema remot exportat al teu sistema, <br>
         Els sistemes de fitxers NFS tenen les següents opcions addicionals:

         <table border>
         </table><p>

      <li><b>Virtual Memory (swap)</b><br>
         L'origen del muntatge de la memòria virtual pot ser un disc SCSI,
         un MetaDisk, o un fitxer normal i corrent.
         Si introdueixes un nom de fitxer que no existeix, Webmin et 
         demanarà la mida del fitxer d'intercanvi, i llavors l'afegirà
         com a àrea d'intercanvi. <br>
         No hi ha cap opció pels muntatges de memòria virtual.  <p>

      <li><b>Caching Filesystem (cachefs)</b><br>
         Aquest sistema de fitxers fa servir espai d'un disc local com
         a memòria cau d'un altre sistema de fitxers, típicament un NFS.
         Això vol dir que els fitxers d'un NFS utilitzats més sovint
         es desen localment, cosa que resulta en un increment significatiu
         del rendiment. Quan crees un muntatge de cau, Webmin assumeix
         que el sistema de fitxers que hi ha al darrere és un NFS.  <p>

         L'origen del muntatge dels sistemes <tt>cachefs</tt> és el servidor
         NFS i el directori remots.
         Quan muntes un sistema cau, es fan en realitat dos muntatges:
         el muntatge del NFS remot, i el muntatge <tt>cachefs</tt>.
         Webmin no mostra els muntatges darrere el cau a la llista de
         sistemes de fitxers muntats.  <p>

         <tt>cachefs</tt> fa servir un directori cau per emmagatzemar
         els fitxers, especificat a les opcions de muntatge. Per crear 
         un directori cau, pots fer servir l'ordre <tt>cfsadmin</tt>
         de Unix o bé deixar que Webmin el creï automàticament. En
         aquest darrer cas, el cau tindrà un límit del 10% de la mida
         del sistema de fitxers on resideix. <br>
         Les opcions vàlides d'aquest sistema de fitxers són:

         <table border>
         </table><p>

      <li><b>Ram Disk Filesystem (tmpfs)</b><br>
         Els fitxers emmagatzemats en un sistema de fitxers d'aquest
         tipus existeixen només en memòria RAM, i es perden en desmuntar-lo
         o en reengegar el sistema.  El directori <tt>/tmp</tt> de Solaris
         fa servir aquest tipus de sistema de fitxers. Com que només està
         emmagatzemat a la memòria, no hi ha cap secció d'origen del
         muntatge al formulari. <br>
         L'única opció és:

         <table border>
         </table><p>

      <li><b>Automounter Filesystem (autofs)</b><br>
         Automounter fa el muntatge i desmuntatge automàtic de directoris
         NFS sota demanda. Un subdirectori sota un directori
         <i>automounter</i> començarà a existir i muntarà un servidor
         de fitxers en el moment en què un usuari hi faci referència,
         com ara fent-hi un "cd". Passat un cert temps d'inactivitat,
         el subdirectori es desmuntarà i desapareixerà.  <p>
         L'origen del muntatge per a sistemes de fitxers d'aquest tipus
         té tres opcions diferents:

         <ul>
         <li><b>All NFS Servers (-net)</b><br>
            Quan l'usuari fa cd a un subdirectori, es pren com el nom de host 
            d'un servidor NFS. Si aquest servidor existeix, es muntaran totes
            les exportacions disponibles del directori remot sota el nou
            subdirectori. <br>

            Per defecte, Solaris té muntat el directori <tt>/net</tt> amb
            aquest origen, per tant, els usuaris poden fer quelcom com ara<br>
            <tt>cd /net/bar.foo.com/usr/local/bin</tt><br>
            <tt>ls -l</tt><p>

         <li><b>XFN Server (-xfn)</b><br>
            N.P.I <p>

         <li><b>Automounter map</b><br>
            Per aquesta opció, cal donar el nom del mapa NIS o
            fitxer local que conté un mapa d'automuntatge. En aquest mapa
            s'especifica la configuració de quins servidors i directoris
            cal muntar. Per més informació, mira la pàgina <i>man</i>
            &nbsp;<tt>automount</tt>.  <p>

         </ul><p>

         Les opcions dels sistemes de fitxers Automounter són les mateixes
         que les de NFS, Aquestes opcions s'apliquen als subdirectoris
         muntats automàticament dins del directori automuntat.  <p>

      <li><b>MS-DOS Filesystem (pcfs)</b><br>
         Els disquets o discs formatats amb MS-DOS fan servir aquest tipus
         de sistema de fitxers. Els fitxers d'aquest sistema estan limitats
         als noms de fitxer 8.3, i no tenen propietats ni permisos Unix.
         Normalment, no hauràs de fer servir Webmin per muntar disquets
         <tt>pcfs</tt>, ja que són gestionats automàticament pel gestor
         de volums.
         Les opcions disponibles dels sistemes MS-DOS són:

         <table border>
         </table><p>

      <li><b>CDROM Filesystem (hsfs)</b><br>
			
   </ul><p>

</ul><p>

<hr>

<h3>Edició d'un Sistema de Fitxers Existent</h3>

Per editar un muntatge existent, fes clic sobre el punt de muntatge
a la llista de la pàgina principal. Això mostrarà el formulari 
utilitzat per crear un muntatge nou, però amb el punt de muntatge,
origen i opcions emplenats. Pots canviar-ne qualsevol al formulari,
de la mateixa manera que crearies un muntatge nou (descrit abans).  <p>

Un muntatge existent serà, bé desat de forma permanent, bé muntat,
o bé ambdues coses. Si canvies el muntatge per tal que no es desi
ni es munti, llavors s'esborrarà de la llista de muntatges. Tingues
en compte que alguns tipus de sistemes de fitxers no tindran totes
dues opcions.  <p>

Sota Unix, un directori no es pot desmuntar si està actualment en ús,
bé per un procés que hi té un fitxer obert, bé per un usuari que hi
té el seu directori actual.
De forma similar, un fitxer d'intercanvi no es pot desmuntar si la
quantitat de memòria lliure és menor que la mida del fitxer d'intercanvi.
Quan canvies el directori, l'origen o les opcions d'un muntatge existent,
Webmin el desmuntarà i el tornarà a muntar per aplicar els canvis.
Això fracassarà si el directori o fitxer d'intercanvi està en ús, i
es mostrarà un error.  <p>

<hr>

<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 

   070701000310d8000081a40000000000000002000000013d1fe2bd00005073000000200000000000000000000000000000001b00000003reloc/mount/help/help.html    <title>Filesystem Manager</title>
<body bgcolor=#ffffff>
<center><img src="images/mount.gif"></center><p>
<h2><i>This help page is incomplete</i></h2>

<hr>
<h3>Introduction</h3>
The purpose of this module is to simplify mounting of local disks, 
remote file shares and virtual memory. Before a Unix system can access
files on any hard disk, CDROM, Jaz drive, floppy disk or file server 
it must be <tt>mounted</tt> at some point in the filesystem. The system
keeps a list of filesystems that it knows about, typically to mount at
bootup time. Filesystems can also be mounted temporarily, to be forgotten
about when they are unmounted or the system is rebooted. <p>

All Unix systems when installed will mount at least one filesystem
at bootup time, and almost certainly more. There will always be one
filesystem mounted as the root directory <tt>/</tt>, and maybe others
as <tt>/usr</tt>, <tt>/proc</tt> or <tt>/net</tt>. Unless your Unix
system is a diskless workstation, the root directory will be mounted
from a local hard disk. Others filesystems may be mounted from file
servers, local disks or even be 'magic' filesystems like <tt>/proc</tt>
that do not contain real files. <p>

One special case is virtual memory. Your system should always have at
least one virtual memory swap file, which is used by the OS as an
extension of physical memory. A swap file can either be a normal file
in some filesystem, or a dedicated partition on a local disk. <p>

This module works by reading and updating the file <tt>/etc/fstab</tt> or
<tt>/etc/vfstab</tt> to manage known filesystems. Currently mounted
filesystems are found by reading the file <tt>/etc/mtab</tt> or 
<tt>/etc/mnttab</tt>. Webmin will totally ignore any comments in the
known filesystems table. <p>

<hr>
<h3>Listing Current Filesystems</h3>
The main page of the <tt>Filesystem Manager</tt> module lists all the
known filesystems. For each filesystem, the following details will be
displayed :
	<ul>
	<li><b>Mount point</b><br>
	    The directory at which this filesystem is mounted, or
	    <i>Virtual Memory</i> if this is a swap file. Only one
	    filesystem can be mounted at one mount point. <p>

	<li><b>Filesystem type</b><br>
	    The full name of this filesystem type. This depends on the
	    type of mount (local or remote) and how the disk was formatted.
	    Mounts from local disks have types like <tt>Linux Native
	    Filesystem</tt>, <tt>MS-DOS Filesystem</tt> or <tt>Solaris Unix
	    Filesystem</tt>. Remote mounts will almost always have the
	    type <tt>Network Filesytem</tt>. <p>
	    If you want to use the short names for filesystem types
	    (such as <tt>ext2fs</tt> instead of <tt>Linux Native
	    Filesystem</tt>), change the <tt>Use long filesystem types</tt>
	    option in the <a href="../config.cgi?mount">module options</a>.<p>

	<li><b>Mounted from</b><br>
	    The device file or remote system name and directory that this
	    filesystem was mounted from. Under Unix, all local disks have
	    a device file in the <tt>/dev/</tt> directory that is used
	    to access that disk. Device files have pathnames like
	    <tt>/dev/dsk/c0t1d0s3</tt> or <tt>/dev/hda1</tt>. When you
	    edit or create a mount, Webmin will covert the device file name
	    to a disk and partition number automatically. <p>

	<li><b>In use?</b><br>
	    Yes if this filesystem is currently mounted, No if not. <p>

	<li><b>Permanent?</b><br>
	    Yes if this filesystem is permanently recorded, no if it will
	    be forgotten when unmounted. <p>
	</ul><p>

<hr>
<h3>Adding a New Filesystem</h3>
To add a new mount, choose the filesystem type from the selector
below the list of existing mounts. This will display a form for entering
the mount point, mount source and other options for the new mount. Each
filesystem type for each Unix version has a different set of options,
and many types have different possibilities for mount sources. <p>

No matter what filesystem type you choose, some inputs will be the same
on the <tt>Create Mount</tt> form. The most important is the mount
point, which is the directory at which the filesystem is to be mounted.
All filesystem types except virtual memory require you to enter this.
If the directory you enter does not exist, Webmin will attempt to create
it for you. <p>

For most types of filesystem you will have 3 options for saving the mount :
	<ul>
	<li><b>Save and mount at boot</b><br>
	    The mount will be recorded permanently, and mounted at bootup
	    time when the system is started. <p>
	<li><b>Save</b><br>
	    The mount will be permanent, but not mounted at boot time. <p>
	<li><b>Don't save</b><br>
	    The mount will only be temporary. <p>
	</ul><p>

For most filesystem types, you can also choose whether to mount now or
not. Choosing not to mount or save a new filesystem is pointless, and
will display an error. <p>

There are however some types of filesystem which will not present all the
options listed above. Some examples are :
	<ul>
	<li><tt>Virtual Memory</tt> under Linux<br>
	    Whenever this type is mounted it is saved, and whenever it is
	    unmounted it is deleted. Saved VM mounts are always added at
	    bootup time. <p>
	<li><tt>Windows Networking</tt> under Linux<br>
	    This filesystem type can only be mounted using the 
	    <tt>smbmount</tt> command, so cannot be saved. <p>
	<li><tt>Automounter Filesystems</tt><br>
	    Permanent Automounter filesystems are always mounted at boot
	    time. <p>
	</ul><p>

All filesystem types require you to choose the mount source and mount
options. Because the source and options differ significantly between
different Unix flavours and filesystem types they are described
individually in the list below :
	<ul>
	<li><b>Redhat Linux 4.0+</b> and <b>Slackware Linux 3.0+</b><br>
		For most Linux filesystem types, the mount source can be
		one of the following :
		<ul>
		<li><b>IDE device</b><br>
			For this choice you must enter the IDE device letter
			and partition. The device letter is typically <tt>a</tt>
			for the 1st internal hard disk, <tt>b</tt> for the 2nd
			internal disk, and <tt>c</tt> for the CD-ROM. The
			partition number depends on which partition you want
			to mount. Use the <tt>fdisk</tt> command to see the
			available partitionson your disks. <p>
		<li><b>SCSI device</b><br>
			For this option you must enter the SCSI device letter
			and partition. The device letter does NOT correspond
			to the SCSI target number - each SCSI device is assigned
			a letter by Linux in the order they are found by the OS.
			<p>
		<li><b>Floppy disk</b><br>
			This choice only requires you to enter the floppy device
			number. This will be <tt>0</tt> for your primary drive
			or <tt>1</tt> for the secondary. <p>
		<li><b>Other device</b><br>
			If you choose this option, you can type in any device
			pathname that you want to mount. This is useful for
			mounting other RAOD devices, PCMCIA cards and other paths
			that Webmin doesn't know about. <p>
		</ul><p>
		Before a filesystem on a local IDE or SCSI disk partition
		can be mounted, the partition must have been created and a
		filesystem built on it. The <a href=/fdisk/>Partition
		Manager</a> module can be used to do this, or you can use
		the Linux <tt>fdisk</tt> and <tt>mkfs</tt> commands. <p>

    		The <tt>Network Filesystem (nfs)</tt>, <tt>Windows Networking
		Filesystem (smbfs)</tt>, <tt>Automounter Filesystem (auto)</tt>
		and <tt>Virtual Memory (swap)</tt> mount types use a different
		form for the mount source. See the section about that filesystem
		type below for more details. <p>

		Once you have chosen the mount source, you can also set various
		filesystem-specific options. Some options however are common
		to almost all Linux filesystems. They are : <br>
		<table border>
		<tr> <td><b>Read-only</b></td>
		<td>If yes, then nobody can write, create, delete or change
		anything on this filesystem</td> </tr>
		<tr> <td><b>Allow SUID files</b></td>
		<td>If no, then setuid programs on this filesystem will not
		be run as their owner. Useful when mounting remote filesystems
		that you don't trust</td> </tr>
		</table><p>

		The filesystem-specific options are :
		<ul>
		<li><b>Linux Native Filesystem (ext2fs)</b><br>
			This is the latest filesystem type for local hard
			disks on Linux. <br>
			The following additional options are available :
			<table border>
			</table><p>

		<li><b>Network Filesystem (nfs)</b><br>
			NFS is the standard Unix way of sharing files between
			systems. For NFS, the mount source is not a local disk
			but instead a hostname and remote directory. The hostname
			is the name (or IP address) of the system you want to
			mount from. The remote directory is a directory on the
			remote system that is exported to your system. <br>

			NFS filesystems have the following additional options :
			<table border>
			<tr> <td><b>NFS version</b></td>
			<td>The version of NFS (1-3) to use</td> </tr>
			</table><p>
		
		<li><b>Virtual Memory (swap)</b><br>
			The mount source for virtual memory can be a local IDE
			disk, SCSI disk or normal file. If you enter a filename
			that does not exist, Webmin will ask for the size of
			the swap file to create and then add it as swap.
			Unless your Linux
			kernel has been configured to allow it, a swap cannot be
			on an NFS mounted filesystem. <br>
			There are no options for virtual memory mounts. <p>

		<li><b>Windows Networking Filesystem (smbfs)</b><br>
			Windows networking refers to the file sharing protocol
			used by Samba, Windows 95 and NT (also known as SMB
			or LANManager). If a Windows fileserver is sharing a
			directory, you can mount it under Linux and access the
			contents as normal files. <p>

			The mount source for a Windows networking filesystem
			is a share name like <tt>\\ntbox\somedir</tt>. The first
			part is the NetBIOS name of the server, and the second
			the name of a share on the server. Ideally a server's
			NetBIOS name should be the same as its TCP/IP hostname,
			but if not you can use the mount options to specify
			the correct hostname or IP address to connect to.<br>
			The following options are available :
			<table border>
			<tr> <td><b>Username</b></td>
			<td>The username to login to the fileserver with. Not
			needed for public shares</td> </tr>
			<tr> <td><b>Password</b></td>
			<td>The password used with the username. If you do not
			have a valid username and password on the server then	the
			mount will fail. Not needed for public shares</td> </tr>
			</table><p>

		<li><b>MS-DOS Filesystem (fat)</b><br>
			Floppy or hard disks formatted under Windows 3.1 and
			versions of MS-DOS before 7.0 use this filesystem type.
			Files in this filesystem are limited to the 8.3 filename
			standard used by DOS. If you try to create a file with
			a longer name, it will be truncated to the 8.3 format.
			Because DOS has no concept of file ownership or real
			file permissions, all files in the mounted directory
			will have the same owner and access mode. The ownership
			or rights of individual files cannot be changed. <br>
			The following options are available :
			<table border>
			</table><p>
			
		<li><b>Windows 95 Filesystem (vfat)</b><br>
			This filesystem is found on disks formatted by Windows 95
			and possibly NT. Like the MS-DOS filesystem above it has
			no concept of file ownership or permissions. However, it
			can support long filenames. <br>
			Available options are :
			<table border>
			</table><p>

		<li><b>ISO9660 Filesystem (iso9660)</b><br>
			This is the standard format for CD-ROMs. The basic format
			only supports 8.3 filenames like <tt>fat</tt>, but there
			is an extended format called Rock Ridge that allows
			files to have long names and Unix permissions.<br>
			The options for this filesystem are :
			<table border>
			</table><p>

		<li><b>OS/2 Filesystem (hpfs)</b><br>
			Hard disks formatted by OS/2 use this filesystem format.
			Long filenames are supported, but Unix permissions and
			file ownership are not.<br>
			Available options are :
			<table border>
			</table><p>

		<li><b>Linux on MS-DOS Filesystem (umsdos)</b><br>
			This filesystem is used only for installing Linux
			on a system has only an MS-DOS filesystem, and cannot
			be re-partitioned. It works by using the directory
			\linux on the DOS filesystem as the root for the
			Linux filesystem. When mounted under Linux, long
			filenames, file ownership and permissions are supported.
			This filesystem is not supported by default in
			RedHat Linux, and should only be used if you have no
			other option as performance is poor. <br>
			The valid options for <tt>umsdos</tt> are :
			<table border>
			</table><p>

		</ul><p>
	
	<li><b>Solaris 2.5+</b><br>
		For disk-based Solaris filesystems, the mount source can
		be one of :
			<ul>
			<li><b>SCSI Disk</b><br>
				Under Solaris, every SCSI disk is identified
				by 4 numbers:
				<ul>
				<li><b>Controller</b> - The SCSI controller the
				    disk is connected to. Always 0 for the built-in
				    controller on Sparc boxes.<br>
				<li><b>Target</b> - The SCSI unit number. For
				    internal hard drives this is 0 or 1. For
				    external drives it is typically settable by
				    a selector on the drive box.<br>
				<li><b>Unit</b> - Almost always 0.<br>
				<li><b>Partition</b> - The number of the partition
				    to mount.<br>
				</ul><p>
			<li><b>MetaDisk Device</b><br>
				If you have striped, mirrored or RAIDed devices
				created using Sun's Metadevice software, choose
				this option and enter the Metadevice number. <p>
			<li><b>Other Device</b><br>
				This choice requires you to enter the full path
				to the device file to mount. <p>
			</ul><p>
		Before a filesystem on a local SCSI disk can be mounted,
		the partition must be setup and a filesystem built on it.
		The <a href=/format/>Partition Manager</a> module can be
		used to do this, or you can use the <tt>format</tt> and
		<tt>newfs</tt> Unix commands. <p>

		Under Solaris, CDROMs and floppy disks are mounted automatically
		by the volume manager. Unless this has been disabled, floppies
		and CDROMs never need to be manually mounted. Devices mounted
		by the volume manager are not displayed in the list of mounted
		filesystems on the main page. This may also apply to removable
		SCSI devices (such a Jaz or Syquest drives), depending on
		how volume management is set up on your system. <p>

		Once the filesystem mount source has been chosen, you can also
		set a number of filesystem-specific options :
		<ul>
		<li><b>Solaris Unix Filesystem (ufs)</b><br>
			This is the standard filesystem type used by Solaris
			for local disks. <br>
			The available options are :
			<table border>
			<tr> <td><b>Read-only</b></td>
			<td>If yes, then nobody can write, create, delete or 
			chmod anything on this filesystem</td> </tr>
			</table><p>

		<li><b>Network Filesystem (nfs)</b><br>
			NFS is the standard Unix way of sharing files between
			systems. For NFS, the mount source is not a local disk
			but instead a hostname and remote directory. The hostname
			is the name (or IP address) of the system you want to
			mount from. The remote directory is a directory on the
			remote system that is exported to your system. <br>

			NFS filesystems have the following additional options :
			<table border>
			</table><p>

		<li><b>Virtual Memory (swap)</b><br>
			The mount source for virtual memory can be a SCSI disk,
			MetaDisk device or normal file. If you enter a filename
			that does not exist, Webmin will ask you for the size of
			the swap file to create. Once the file is created, it
			will be mounted as swap. <br>
			There are no options for Virtual Memory mounts. <p>

		<li><b>Caching Filesystem (cachefs)</b><br>
			This filesystem uses space on a local disk to cache
			files from another filesystem, typically NFS. This
			means that commonly accessed files from an NFS server
			are kept locally, resulting in a significant speedup.
			When you create a new Caching Filesystem mount, Webmin
			assumes that the back filesystem is of type NFS. <p>

			The mount source for <tt>cachefs</tt> filesystems is the
			NFS server and directory to cache. ??? 
			When you mount a Caching filesystem, two mounts are
			really made - the back mount and the <tt>cachefs</tt>
			mount on the actual directory. Webmin does not show back
			mounts on the list of mounted filesystems. <p> 

			<tt>cachefs</tt> uses a cache directory to store
			cached files, specified in the mount options. You can
			either use the <tt>cfsadmin</tt> Unix command to create
			a cache directory with the parameters you want, or let
			Webmin set it up automatically. In the latter case, the
			cache will be limit to 10% of the size of the filesystem
			it is on. <br>
			Valid options for this filesystem are:
			<table border>
			</table><p>

		<li><b>Ram Disk Filesystem (tmpfs)</b><br>
			Files stored in a filesystem of this type exist only
			in RAM, and are lost when unmounted or the system is
			rebooted. The <tt>/tmp</tt> directory in Solaris uses
			this filesystem type. Because it is stored only in
			memory, there is no mount source section of the
			filesystem form. <br>
			The only option is :
			<table border>
			</table><p>

		<li><b>Automounter Filesystem (autofs)</b><br>
			The Automounter does automatic mounting and unmounting
			of NFS directories on demand. A subdirectory under an
			automounter directory will come into existance and
			mount a file server when the user first refers to it,
			such as by cd'ing into the subdirectory. After some idle
			time, the subdirectory will be unmounted an disappear. <p> 

			The mount source for filesystems of this type has 3
			different options :
				<ul>
				<li><b>All NFS Servers (-net)</b><br>
					When the user cd's into a subdirectory, it is
					taken as the hostname of an NFS server. If
					this server exists, all the available exports
					from the server will be mounted under the
					new subdirectory. <br>
					Solaris by default has the <tt>/net</tt>
					directory mounted with this source, so a user
					can do something like<br>
					<tt>cd /net/bar.foo.com/usr/local/bin</tt><br>
					<tt>ls -l</tt><p>
				<li><b>XFN Server (-xfn)</b><br>
					No idea??? <p>
				<li><b>Automounter map</b><br>
					For this option, the name of an NIS map or
					local file containing an automounter map
					must be given. The configuration of which
					servers and directories to mount is specified
					in this map. For more information, see the
					<tt>automount</tt> man page. <p>
				</ul><p>
			The options for automounter filesystems are the same
			as those for NFS. These options apply to the automatically
			mounted subdirectories inside the automount directory. <p>

		<li><b>MS-DOS Filesystem (pcfs)</b><br>
			Disks formatted under MS-DOS use this filesystem. Files
			in are limited to 8.3 filenames, and have no Unix
			ownership or permissions. Typically, you will never
			need to use Webmin to mount <tt>pcfs</tt> filesystem
			floppy, as they are handled automatically by the volume
			management system. <br>
			The options available for MS-DOS filesystems are :
			<table border>
			</table><p>

		<li><b>CDROM Filesystem (hsfs)</b><br>
			

		</ul><p>
	</ul><p>

<hr>
<h3>Editing an Existing Filesystem</h3>
To edit an existing mount, click on the mount point from the list on 
the main page. This will display the form used for creating a new 
mount with the current mount point, source and options filled in. You can
now change any of these on the form, in the same way as you would create
a new mount (described above). <p>

An existing mount will be either permanently saved, currently mounted or
both. If you change the mount to be not saved or mounted, then it will be
deleted from the mount list. Note that some filesystem types will not
have both these options. <p>

Under Unix a directory cannot be unmounted if it is currently in use,
either by a process having a file in the directory open or by a user having
some subdirectory as his current directory. 
Similarly, a swap file cannot be unmounted if the amount of free memory
is less than the size of the swap file. When you change the directory,
source or options of an existing mount, Webmin will unmount and remount
it to apply the changes. This will fail if the directory or swap file
is in use, and an error displayed. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 070701000310d9000081a40000000000000002000000013d1fe2bd000050e0000000200000000000000000000000000000001e00000003reloc/mount/help/help.sv.html <title>Filsystemshanterare</title>
<body bgcolor=#ffffff>
<center><img src="images/mount.gif"></center><p>
<h2><i>Denna hjälpsida är inte färdig</i></h2>

<hr>
<h3>Introduktion</h3>
Syftet med denna modul är att förenkla montering av lokala diskar,
filresurser från andra datorer och virtuellt minne. Innan ett Unix-system
kan komma åt filer på någon hårddisk, CD-ROM, Jaz-skiva, diskett eller
filserver måste den <tt>monteras</tt> vid någon punkt i filsystemet.
Systemet för lista över de filsystem det känner till, oftast för
montering vid start. Filsystem kan också monteras tillfälligt och systemet
glömmer då bort dem när de monterats av eller när systemet startas om.

<p>Alla installerade Unix-system monterar minst ett, och troligen flera,
filsystem vid start. Det kommer alltid att finnas ett filsystem som
monterats som rotkatalog, <tt>/</tt>, och förmodligen fler som
<tt>/usr</tt>, <tt>/proc</tt> och <tt>/net</tt>. Förutsatt att ditt
Unix-system inte är en arbetsstation utan hårddisk kommer rotkatalogen
att monteras från en lokal hårddisk. Andra filsystem kan monteras från
filservrar, lokala diskar och till och med "magiska" filsystem som
<tt>/proc</tt>, som inte innehåller några riktiga filer.

<p>Ett specialfall är virtuellt minne. Du bör alltid ha minst en
swap-fil för virtuellt minne på systemet, som används av OS:et som
en utvidgning av det fysiska minnet. En swap-fil kan antingen vara en
vanlig fil i ett filsystem eller en partition på en lokal disk som
reserverats som swap-partition.

<p>Denna modul läser och uppdaterar filen <tt>/etc/fstab</tt> eller
<tt>/etc/vfstab</tt> för att hantera kända filsystem. De filsystem som
för tillfället är monterade finns i filen <tt>/etc/mtab</tt> eller
<tt>/etc/mnttab</tt>. Webmin struntar i kommentarer i tabellen över
kända filsystem.

<hr>
<h3>Lista aktiva filsystem</h3>
Startsidan för <tt>Filsystemshanteraren</tt>-modulen listar alla kända
filsystem. För varje filsystem visas följande uppgifter:
	<ul>
	<li><b>Monteringspunkt</b>
	    <br>Katalogen där detta filsystem monteras eller
	    <i>Virtuellt minne</i> om detta är en swap-fil. På varje
	    monteringspunkt kan högst ett filsystem monteras.

	<li><b>Filsystemstyp</b>
	    <br>Fullständigt namn på denna filsystemstyp. Detta beror på
	    monteringen (lokal eller fjärr-) och hur disken är formaterad.
	    Filsystemstyper för monteringar från lokal disk kan vara
	    <tt>Linux Native Filesystem</tt>, <tt>MS-DOS Filesystem</tt>
	    och <tt>Solaris Unix Filesystem</tt>. Fjärrmonteringar kommer
	    nästan alltid att vara av typen <tt>Network Filesytem</tt>.

	    <p>Om du vill använda kortnamn för filsystemstyper (t ex
	    <tt>ext2fs</tt> istället för <tt>Linux Native Filesystem</tt>),
	    kan du ändra inställningen <tt>Använd långa filsystemstyper</tt>
	    i <a href="../config.cgi?mount">modulinställningar</a>.

	<li><b>Monterad från</b>
	    <br>Filen eller systemnamn och -katalog som detta filsystem
	    monterats från. Under Unix har alla lokala diskar i
	    <tt>/dev/</tt>-katalogen varsin diskfil som används för att
	    komma åt disken i fråga. Diskfiler har sökvägar som
	    <tt>/dev/dsk/c0t1d0s3</tt> och <tt>/dev/hda1</tt>. När du
	    ändrar eller skapar en montering kommer Webmin automatiskt
	    att omvandla diskfilsnamnet till disk och partition.

	<li><b>Används?</b>
	    <br>Ja om filsystemet är monterat för tillfället, Nej om det
	    inte är det.

	<li><b>Permanent?</b>
	    <br>Ja om filsystemet är uppskrivet i listan över permanenta
	    monteringar, Nej om det ska glömmas bort när det monterats av.
	</ul>

<hr>
<h3>Lägga till filsystem</h3>
När du lägger till en montering väljer du filsystemstyp nedanför listan
över befintliga monteringar. Du får då upp ett formulär där du skriver in
monteringspunkt, monteringsursprung och övriga uppgifter om den nya
monteringen. Varje filsystemstyp och varje Unix-version har olika
uppsättning inställningar och många typer har olika möjligheter för
olika monteringsursprung.

<p>Oavsett vilket filsystem du väljer kommer en del inmatningar att bli
likadana i <tt>Skapa montering</tt>-formuläret. Den viktigaste är
monteringspunkten, dvs katalogen där filsystemet ska monteras. Denna
uppgift måste fyllas i för alla filsystemstyper utom virtuellt minne.
Om du skriver in en katalog som inte finns kommer Webmin att försöka
skapa den åt dig.

<p>För de flesta filsystemstyper kommer du att ha tre alternativ för att
spara monteringen:
	<ul>
	<li><b>Spara och montera vid start</b>
	    <br>Monteringen kommer att sparas permanent och monteras
	    när systemet startas.
	<li><b>Spara</b>
	    <br>Monteringen kommer att sparas, men inte monteras vid start.
	<li><b>Spara inte</b>
	    <br>Monteringen är bara tillfällig.
	</ul>

<p>För de flesta filsystemstyper kan du också välja mellan att montera
nu eller ej. Det är ganska meningslöst att välja att inte montera eller
spara ett nytt filsystem, så om du försöker att göra detta kommer du att
få ett felmeddelande.

<p>Några filsystemstyper har inte alla de ovan angivna alternativen.
Exempel på sådana är:
	<ul>
	<li><tt>Virtuellt minne</tt> under Linux
	    <br>När denna typ monteras sparas den, och när den monteras
	    av raderas den. Sparade VM-monteringar monteras vid start.
	<li><tt>Windows-nätverk</tt> under Linux
	    <br>Denna filsystemstyp kan endast monteras med kommandot
	    <tt>smbmount</tt> och kan därför inte sparas.
	<li><tt>Automounter-filsystem</tt>
	    <br>Permanenta Automounter-filsystem monteras alltid vid start.
	</ul>

<p>För alla filsystemstyper måste du ange monteringsursprung och
monteringsinställningar. Eftersom ursprung och inställningar skiljer sig
markant mellan olika Unix-smaker och filsystemstyper beskrivs de i listan
nedan:
	<ul>
	<li><b>Redhat Linux 4.0+</b> och <b>Slackware Linux 3.0+</b>
		<br>För de flesta Linux-filsystemtyper kan monteringsursprung
		vara något av nedanstående:
		<ul>
		<li><b>IDE-disk</b>
			<br>För detta alternativ måste du ange IDE-diskens
			bokstav och partition. Bokstaven är vanligen <tt>a</tt>
			för den första interna hårddisken, <tt>b</tt> för den
			andra interna disken och <tt>c</tt> för CD-ROM.
			Partitionsnumret beror på vilken partition du vill
			montera. Använd kommandot <tt>fdisk</tt> för att se
			tillgängliga partitioner på diskarna.
		<li><b>SCSI-disk</b>
			<br>För detta alternativ måste du ange SCSI-diskens
			bokstav och partition. Bokstaven för disken har
			<i>inget</i> med SCSI-numret att göra - varje
			SCSI-disk får en bokstav av Linux i den ordning
			operativsystemet hittar dem.
		<li><b>Diskett</b>
			<br>För detta alternativ behöver du endast ange
			diskettstationens nummer, dvs <tt>0</tt> för den
			primära diskettstationen och <tt>1</tt> för den
			sekundära.
		<li><b>Annan enhet</b>
			<br>Om du väljer detta alternativ kan du ange en
			sökväg till den enhet du vill montera. Detta
			används exempelvis för RAOD-diskar, PCMCIA-kort
			och andra sökvägar som Webmin inte känner till.
		</ul>
		<p>Innan det går att montera ett filsystem från en lokal
		IDE- eller SCSI-diskpartition måste partitionen och
		filsystemet finnas. Du kan använda
		<a href=/fdisk/>Partitionshanterar</a>-modulen eller
		Linux-kommandona <tt>fdisk</tt> och <tt>mkfs</tt> för att
		göra detta.

		För monteringstyperna <tt>Network Filesystem (nfs)</tt>,
		<tt>Windows nätverksfilsystem (smbfs)</tt>,
		<tt>Automounter-filsystem (auto)</tt> och <tt>Virtuellt
		minne (swap)</tt> ska monteringsursprunget anges på en
		annan form. Se avsnittet nedan för respektive filsystemstyp.

		När du har angivit monteringsursprung kan du också göra
		inställningar för detta filsystem. En del inställningar är
		dock gemensamma för nästan alla Linux-filsystem. Dessa är:

		<table border>
		<tr> <td><b>Endast läsbart</b></td>
		<td>Om <i>Ja</i> kan ingen skriva, skapa, radera eller ändra
		någonting på detta filsystem</td> </tr>
		<tr> <td><b>Tillåt SUID-filer</b></td>
		<td>Om <i>Nej</i> kommer setuid-program på detta filsystem
		inte att köras som sina ägare. Detta är användbart när man
		fjärrmonterar filsystem som man inte litar på.</td> </tr>
		</table>

		Filsystemsspecifika inställningar är:
		<ul>
		<li><b>Linux Native Filesystem (ext2fs)</b>
			<br>Detta är det senaste filsystemet för lokala
			hårddiskar i Linux.
			Följande inställningar finns också:
			<table border>
			</table>

		<li><b>Network Filesystem (nfs)</b>
			<br>NFS är standard-Unix-metoden för att dela filer
			mellan olika system. För NFS är monteringsursprunget
			inte en lokal disk utan ett datornamn och en katalog
			på denna dator. Datornamnet (eller IP-adressen) ska
			ange den dator du vill montera från. Katalogen du
			anger är den katalog som ska exporteras till ditt
			system.
			<br>NFS-filsystem har även följande inställningar:
			<table border>
			<tr> <td><b>NFS-version</b></td>
			<td>Den version av NFS (1-3) som ska användas</td> </tr>
			</table>
		
		<li><b>Virtuellt minne (swap)</b>
			<br>Virtuellt minne kan ha en lokal IDE-disk, SCSI-disk
			eller en vanlig fil som monteringsursprung. Om man
			anger ett filnamn som inte finns kommer Webmin att
			fråga efter filstorlek för swap-filen och sedan
			skapa den. Om Linuxkärnan inte har konfigurerats för
			det kan en swap-fil inte finnas på ett NFS-monterat
			filsystem.
			<br>Monteringar av virtuellt minne har inga
			ytterligare inställningar.

		<li><b>Windows nätverksfilsystem (smbfs)</b>
			<br>Windows nätverk är det fildelningsprotokoll som
			Samba, Windows 95 och NT använder (även känt som SMB
			eller LANManager). Om en Windows-filserver delar en
			katalog kan man montera den under Linux och komma
			åt innehållet som vanliga filer.

			<p>Monteringsursprunget för ett Windows
			nätverksfilsystem är ett resursnamn, t ex
			<tt>\\ntbox\somedir</tt>. Första delen är serverns
			NetBIOS-namn och andra delen namnet på en resurs på
			servern. I idealfallet är serverns NetBIOS-namn
			detsamma som dess TCP/IP-datornamn, men om så inte
			är fallet kan man i inställningarna ange korrekt
			datornamn eller IP-adress som uppkopplingar ska ske
			mot.
			<br>Följande inställningar ska göras:
			<table border>
			<tr> <td><b>Användarnamn</b></td>
			<td>Användarnamn som ska användas vid inloggning på
			filservern. Detta behövs ej för öppna resurser.</td> </tr>
			<tr> <td><b>Lösenord</b></td>
			<td>Lösenord för det angivna användarnamnet. Om man
			inte har angivit ett giltigt användarnamn och lösenord
			på servern kommer det inte gå att montera resursen.
			Detta behövs ej för öppna resurser.</td> </tr>
			</table>

		<li><b>MS-DOS-filsystem (fat)</b>
			<br>Disketter och hårddiskar som formaterats under
			Windows 3.1 med MS-DOS-version lägre än 7.0 har denna
			filsystemstype. Filnamn på sådana filsystem måste vara
			på formen 8.3, dvs DOS-standard. Om man försöker skapa
			en fil med längre namn kommer namnet att klippas till
			8.3-format. Eftersom DOS inte använder begrepp som
			ägare av filer och filrättigheter kommer alla filer
			i en sådan monterad katalog att ha samma ägare och
			rättigheter. Ägande och rättigheter kan då inte
			ändras för enskilda filer.
			<br>Följande inställningar kan göras:
			<table border>
			</table>
			
		<li><b>Windows 95-filsystem (vfat)</b>
			<br>Detta filsystem finns på diskar som formaterats
			under Windows 95 och möjligen NT. I likhet med
			MS-DOS-filsystemet ovan finns inte begreppen ägande
			och rättigheter, men till skillnad från MS-DOS kan
			filnamn få vara längre än 8.3.
			<br>Följande inställningar kan göras:
			<table border>
			</table>

		<li><b>ISO9660-filsystem (iso9660)</b>
			<br>Detta är standardformatet för CD-ROM. Basformatet
			stödjer endast 8.3-filnamn (som <tt>fat</tt>), men
			det finns ett utvidgat format som heter Rock Ridge,
			där filer kan ha långa namn och Unix-rättigheter.
			<br>Följande inställningar kan göras:
			<table border>
			</table>

		<li><b>OS/2-filsystem (hpfs)</b>
			<br>Hårddiskar som formaterats under OS/2 har detta
			filsystemsformat. Det stödjer långa filnamn men inte
			Unix-rättigheter och ägande av filer.
			<br>Följande inställningar kan göras:
			<table border>
			</table>

		<li><b>Linux på MS-DOS-filsystem (umsdos)</b>
			<br>Detta filsystem används endast för att
			installera Linux på ett system som bara har ett
			MS-DOS-filsystem och inte kan partitioneras om.
			Det använder katalogen \linux på DOS-filsystemet
			som rotkatalog för Linux-filsystemet. När detta
			monteras under Linux stödjer det långa filnamn,
			ägande av filer och filrättigheter. Detta filsystem
			stöds normalt inte av RedHat Linux och bör endast
			användas om man inte har något annat alternativ,
			eftersom prestandan för systemet blir dålig.
			<br>Följande inställningar kan göras för <tt>umsdos</tt>:
			<table border>
			</table>

		</ul>
	
	<li><b>Solaris 2.5+</b>
		<br>För diskbaserade Solaris-filsystem kan
		monteringsursprunget vara något av nedanstående:
			<ul>
			<li><b>SCSI-disk</b>
				<br>Under Solaris identifieras en SCSI-disk
				av 4 siffror:
				<ul>
				<li><b>Controller</b> - SCSI-controllern som
				    disken är ansluten till. Denna är alltid
				    0 för den inbyggda controllern på
				    Sparclådor.
				<li><b>Target</b> - SCSI-enhetsnumret. För
				    interna hårddiskar är detta 0 eller 1.
				    För externa diskar ställs detta in på
				    disklådan.
				<li><b>Enhet</b> - Nästan alltid 0.
				<li><b>Partition</b> - Numret på den
				    partition som ska monteras.
				</ul>
			<li><b>MetaDisk-enhet</b>
				<br>Om du har stripade, speglade eller RAIDade
				enheter som skapats med Suns Metadevice-program
				ska du välja denna inställning och skriva in
				Metadevice-numret.
			<li><b>Annan enhet</b>
				<br>Här måste du skriva in fullständig sökväg
				till diskfilen som ska monteras.
			</ul>

		<p>Innan det går att montera ett filsystem från en lokal
		SCSI-disk måste partitionen och filsystemet finnas. Du kan
		 använda
		<a href=/fdisk/>Partitionshanterar</a>-modulen eller
		Unix-kommandona <tt>format</tt> och <tt>newfs</tt> för att
		göra detta.

		<p>Under Solaris monteras CDROM och disketter automatiskt
		av enhetshanteraren. Om man inte stängt av detta behöver
		man inte alls montera disketter och CDROM manuellt. Enheter
		som monterats av enhetshanteraren visas inte i listan över
		monterade filsystem på startsidan. Även mobila SCSI-enheter
		(t ex Jaz- och Syquest-enheter) kan utelämnas beroende på
		hur enhetshanteraren är uppsatt på systemet.

		<p>När monteringsursprung för ett filsystem har angivits
		kan filsystemspecifika inställningar göras:
		<ul>
		<li><b>Solaris Unix Filesystem (ufs)</b>
			<br>Detta är standardfilsystemet som Solaris använder
			för lokala diskar.
			<br>Följande inställningar kan göras:
			<table border>
			<tr> <td><b>Endast läsbart</b></td>
			<td>Om <i>Ja</i> kan ingen skriva, skapa, radera
			eller göra chmod för någonting på detta filsystem</td> </tr>
			</table>

		<li><b>Network Filesystem (nfs)</b>
			<br>NFS är standard-Unix-metoden för att dela filer
			mellan olika system. För NFS är monteringsursprunget
			inte en lokal disk utan ett datornamn och en katalog
			på denna dator. Datornamnet (eller IP-adressen) ska
			ange den dator du vill montera från. Katalogen du
			anger är den katalog som ska exporteras till ditt
			system.
			<br>För NFS-filsystem kan även följande inställningar
			göras:
			<table border>
			</table>

		<li><b>Virtuellt minne (swap)</b>
			<br>Monteringsursprunget för virtuellt minne kan vara
			en SCSI-disk, en MetaDisk-enhet eller en vanlig fil.
			Om du anger namnet på en fil som inte finns kommer
			Webmin att fråga efter storlek på den swapfil som ska
			skapas. När filen har skapats kommer den att monteras
			som swap.
			<br>Inga ytterligare inställningar finns för montering
			av virtuellt minne.

		<li><b>Cachande filsystem (cachefs)</b>
			<br>Detta filsystem använder utrymme på lokal disk
			för att cacha filer från andra filsystem, vanligen
			NFS. Filer från en NFS-server som ofta används kommer
			alltså att lagras lokalt med en betydande minskning
			av väntetider som resultat. När du skapar en montering
			av ett cachande filsystem kommer Webmin att anta att
			filsystemet som man cachar ifrån är av NFS-typ.

			<p>Monteringsursprung för <tt>cachefs</tt>-filsystem
			är den NFS-server och den katalog som ska cachas.
			När man monterar ett cachande filsystem görs egentligen
			två monteringar - montering av den katalog som ska
			cachas (back mount) och <tt>cachefs</tt>-montering av
			cachekatalogen. Webmin visar inte dessa back mounts
			i listan över monterade filsystem.

			<p><tt>cachefs</tt> använder en cachekatalog där den
			lagrar cachade filer. Denna anges i inställningarna.
			För att skapa en cachekatalog med önskade parametrar
			kan man antingen använda Unix-kommandot
			<tt>cfsadmin</tt> eller sätta upp det automatiskt
			med Webmin. I det senare fallet kommer cachen att
			begränsas till 10 % av storleken på det filsystem som
			cachekatalogen finns i.
			<br>Följande inställningar kan göras:
			<table border>
			</table>

		<li><b>Ram Disk Filesystem (tmpfs)</b>
			<br>Filer som lagras i denna sortens filsystem finns
			bara i RAM och försvinner när filsystemet monteras av
			och när systemet startas om. Solaris
			<tt>tmp</tt>-katalog är av denna typ. Eftersom det
			endast finns i minnet finns det inget avsnitt för
			monteringsursprung i formuläret.

			<br>Den enda inställning som kan göras är:
			<table border>
			</table>

		<li><b>Automounter Filesystem (autofs)</b>
			<br>Automounter monterar automatiskt på och av
			NFS-kataloger på begäran. En underkatalog till en
			automonterad katalog monteras då användaren först
			refererar till den, exempelvis genom att göra cd
			till underkatalogen. Om underkatalogen inte använts
			på ett tag monteras den av och försvinner ur
			listningarna.

			<p>Det finns tre alternativa monteringsursprung
			för denna filsystemstyp:
				<ul>
				<li><b>Alla NFS-servrar (-net)</b>
					<br>När användaren gör cd till en
					underkatalog används namnet som namn
					på en NFS-server. Om denna server finns
					kommer alla tillgängliga exporteringar
					på denna att monteras under den nya
					underkatalogen
					<br>Solaris har från början
					<tt>/net</tt>-katalogen monterad med
					detta ursprung, så användaren kan göra
					saker i stil med
					<br><tt>cd
					/net/bar.foo.com/usr/local/bin</tt>
					<br><tt>ls -l</tt>
				<li><b>XFN-server (-xfn)</b>
					<br>Ingen aning ...

				<li><b>Automounter map</b>
					<br>Namnet på en NIS-fil eller lokal
					automonter-fil måste anges. Här anges
					de servrar och kataloger som ska
					monteras. Se
					<tt>automount</tt>-manualsidan för
					mer information.
				</ul>

			<p>Inställningarna för automounter-filsystem är
			likadana som för NFS. Dessa inställningar gäller för
			automatmonterade underkataloger inom
			automount-katalogen.

		<li><b>MS-DOS-filsystem (pcfs)</b>
			<br>Diskar som formaterats under MS-DOS har detta
			filsystem. Filnamnen är begränsade till 8+3 bokstäver
			och filerna kan inte ges Unix-ägande eller
			-rättigheter. Normalt används Webmin aldrig för att
			montera <tt>pcfs</tt>-filsystemsdisketter eftersom de
			automatiskt tas om hand av enhetshanteraren.
			<br>Följande inställningar kan göras:
			<table border>
			</table>

		<li><b>CDROM-filsystem (hsfs)</b>
			
		</ul>
	</ul>

<hr>
<h3>Ändra i ett filsystem</h3>
Klicka på en monteringspunkt i listan på startsidan för att ändra i
motsvarande montering. Du får då upp samma formulär som då du skapar
nya monteringar, med aktuell monteringspunkt, -ursprung och inställningar
ifyllda och kan ändra där du vill.

<p>En befintlig montering kommer att sparas permanent, monteras direkt
eller båda. Om du ändrar så att monteringen inte ska sparas eller monteras
kommer den att tas bort från monteringslistan. Observera att vissa
filsystemstyper inte har båda dessa alternativ.

<p>Under Unix går det inte att montera av en katalog som används på något
sätt, antingen genom att en process har en fil i katalogen eller att någon
användare har någon underkatalog som arbetskatalog.
Av liknande orsaker kan en swapfil inte monteras av om mängden ledigt minne
är mindre än swapfilens storlek. När man byter katalog, ursprung eller
ändrar inställningar för en befintlig montering kommer Webmin att montera av
och på den för att ändringarna ska träda i kraft. Detta kommer att misslyckas
om katalogen eller swapfilen används, vilket ger ett felmeddelande.

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

070701000310da000081a40000000000000002000000013d1fe2bd00003953000000200000000000000000000000000000002600000003reloc/mount/help/help.zh_TW.Big5.html <title>ÀÉ®×¨t²ÎºÞ²zªÌ</title>
<body bgcolor=#ffffff>
<center><img src="images/mount.gif"></center><p>
<h2><i>³o­Ó»¡©ú­¶©|¥¼§¹¦¨</i></h2>

<hr>
<h3>«e¨¥</h3>
³o­Ó¼Ò²Õªº§@¥Î¦b©óÂ²³æªº±¾¸ü¥»¦aºÝºÏºÐ©Î»·ºÝÀÉ®×¤À¨É»PµêÀÀ°O¾ÐÅé. ¦b Unix ¨t²Î¯à¦s¨úºÏºÐ, ¥úºÐ, Jaz ºÏ¤ù, ³nºÐ©ÎÀÉ®×¦øªA¾¹¤WªºÀÉ®×¤§«e, ¥¦¥²¶·¥ý³Q<tt>±¾¸ü</tt>¸üÀÉ®×¨t²Îªº¬Y­Ó±¾¸üÂI¤W. ¨t²Î¦P®É¤]·|ºû«ù¤@­Ó©Òª¾¹DÀÉ®×¨t²Îªº¦Cªí. ÀÉ®×¨t²Î¤]¥i¥H¬O¼È®Éªº, ¦b­«·s¶}¾÷©Î¨ø¸ü«á´N§Ñ°O¥¦ªº¦s¦b. <p>

©Ò¦³ªº Unix ¨t²Î¦b¦w¸Ë§¹²¦«á¦Ü¤Ö³£·|¦b¶}¾÷ªº¹Lµ{¤¤±¾¸ü¤@­ÓÀÉ®×ÀÉ®×¨t²Î, ¦Ó¥B¦b¦h¼Æªºª¬ªp¤U³£·|¦³§ó¦hªº. ¥Ã»·¦Ü¤Ö¦³¤@­Ó³Q±¾¸ü¦b®Ú¥Ø¿ý <tt>/</tt> ªºÀÉ®×¨t²Î, ¦Ó¨ä¥Lªº¥i¯à¬O <tt>/usr</tt>, <tt>/proc</tt> ©Î <tt>/net</tt>. °£«D±zªº Unix ¨t²Î¬OµLºÏºÐªº¤u§@¯¸, ®Ú¥Ø¿ý¨t²Î³£¬O±¾¸ü¦Û¥»¦aºÝªººÏºÐ. ¨ä¥LªºÀÉ®×¨t²Î«h¥i¯à¬O¨Ó¦ÛÀÉ®×¦øªA¾¹, ¥»¦aºÝºÏºÐ©Î¬Æ¦Ü¬O¯«©_ªºÀÉ®×¨t²Î¨Ò¦p <tt>/proc</tt> ¨Ã¤£¥]§t¥ô¦ó¯u¹êªºÀÉ®×. <p>

¤@­Ó¯S®íªºª¬ªp¬OµêÀÀ°O¾ÐÅé. ±zªº¨t²Î¥Ã»·À³¸Ó¦Ü¤Ö¦³¤@­ÓµêÀÀ°O¾ÐÅé¥æ´«ÀÉ®×, ³o³Q¨t²Î·í§@©µ¦ùªº¹êÅé°O¾ÐÅé¨Ï¥Î. ¤@­Ó¥æ´«ÀÉ®×¥i¥H¬O¤@­Ó¤@¯ëªºÀÉ®×¦b¬Y­ÓÀÉ®×¨t²Î¤W, ©Î¬O¥»¦aºÝºÏºÐªº¨ä¤¤¤@­Ó¤À³Î°Ï. <p>

³o­Ó¼Ò²Õ¬O¸g¥ÑÅª¨ú¨Ã§ó·sÀÉ®× <tt>/etc/fstab</tt> ©Î <tt>/etc/vfstab</tt> ÀÉ®×¥HºÞ²z¤wª¾ªºÀÉ®×¨t²Î. ¥Ø«e±¾¸üªºÀÉ®×¨t²Î¥i¥H¸g¥ÑÅª¨úÀÉ®× <tt>/etc/mtab</tt> ©Î <tt>/etc/mnttab</tt> ©Ò½T»{. Webmin ±N·|§¹¥þ©¿µø¥ô¦ó¤wª¾ÀÉ®×¨t²Îªí­Ó¤¤ªºµù¸Ñ. <p>

<hr>
<h3>¦C¥X¥Ø«eªºÀÉ®×¨t²Î</h3>
<tt>ÀÉ®×¨t²ÎºÞ²zªÌ</tt>ªº¥D­nµe­±¬O¦C¥X©Ò¦³¤wª¾ªºÀÉ®×¨t²Î. ¹ï©ó¨C¤@­ÓÀÉ®×¨t²Î, ¤U¦Cªº¸Ô²Ó¸ê®Æ±N·|³QÅã¥Ü:
	<ul>
	<li><b>±¾¸üÂI</b><br>
	    ³o¬OÀÉ®×¨t²Î³Q±¾¸üªº¥Ø¿ý, ©Î¬O<i>µêÀÀ°O¾ÐÅé</i>¦pªG³o¬O¤@­Ó¥æ´«ÀÉ®×. ¨C­Ó±¾¸üÂI¤W¥u¯à±¾¸ü¤@­ÓÀÉ®×¨t²Î. <p>

	<li><b>ÀÉ®×¨t²ÎÃþ§O</b><br>
	    ÀÉ®×¨t²ÎÃþ§Oªº§¹¾ã¦WºÙ. ¨Ì¾Ú±¾¸üªº¤è¦¡ (¥»¦aºÝªº©Î»·ºÝªº) »PºÏºÐ®æ¦¡¤Æªº¤è¦¡Åã¥Ü. ±q¥»¦aºÝºÏºÐ±¾¸üªºÃþ§O¥i¯à¬O <tt>Linux ­ì¥ÍÀÉ®×¨t²Î (Linux Native Filesystem)</tt>, <tt>MS-DOS ÀÉ®×¨t²Î</tt> ©Î <tt>Solaris Unix ÀÉ®×¨t²Î</tt>µ¥µ¥. »·ºÝ±¾¸üªº«h¥Ã»·¬O<tt>ºô¸ôÀÉ®×¨t²Î</tt>. <p>
	    ¦pªG±z·Q¬Ý¨ì¸ûµuªºÀÉ®×¨t²Î¦WºÙ (¨Ò¦p <tt>ext2fs</tt> ¦Ó¤£¬O <tt>Linux ­ì¥ÍÀÉ®×¨t²Î</tt>), ½Ð¨ì<a href="../config.cgi?mount">¼Ò²Õ²ÕºA</a>§ïÅÜ<tt>¬O§_¨Ï¥ÎªøÀÉ®×¨t²ÎÃþ§O</tt>ªº³]©w. <p>

	<li><b>¦ì¸m</b><br>
	    ±¾¸ü¨Ó·½ªº³]³ÆÀÉ®×©Î»·ºÝÀÉ®×¨t²Î¦WºÙ»P¥Ø¿ý. ¦b Unix ¤U­±, ©Ò¦³¥»¦aºÝªººÏºÐ³£¦³¤@­Ó³]³Æ±±¨îÀÉ®×¦b <tt>/dev/</tt> ¤§¤¤, ¨Ã¥B¥i¥H¥Î©ó¦s¨ú¹ê»ÚªººÏºÐ. ³]³ÆÀÉ®×»P¸ô®|¹³¬O <tt>/dev/dsk/c0t1d0s3</tt> ©Î <tt>/dev/hda1</tt>. ·í±z½s¿è©Î«Ø¥ß¤@­Ó±¾¸ü®É, Webmin ±N·|¦Û°ÊªºÂà´«¦¨¹ïÀ³ªº³]³Æ½s¸¹. <p>

	<li><b>¬O§_¨Ï¥Î¤¤?</b><br>
	    ¦pªGÀÉ®×¨t²Î¤w¸g³Q±¾¸ü®É¬°"¬O". <p>

	<li><b>¬O§_¬°¥Ã¤[ªº?</b><br>
	    ¦p¹L³o­ÓÀÉ®×¨t²Î¬O¥Ã¤[©Êªº¬ö¿ý¬°"¬O". ¹ï©ó"§_"ªºÀÉ®×¨t²Î¦b¨ø¸ü«á«K·|³Q¿ò§Ñ. <p>
	</ul><p>

<hr>
<h3>¼W¥[·sªºÀÉ®×¨t²Î</h3>
­n¼W¥[¤@­Ó·sªº±¾¸ü, ¦b¦Cªí¤U¤è¿ï¾Ü¾A·íªºÀÉ®×¨t²ÎÃþ§O. ³o·|Åã¥Ü¤@­Óªí³æÅý±z¿é¤J±¾¸üÂI¦ì¸m, ±¾¸ü¨Ó·½»P¨ä¥L¥²­nªº¿ï¶µ. ¨C¤@­ÓÀÉ®×¨t²ÎÃþ§O¦b¤£¦Pªº Unix ª©¥»¶¡³£·|¦³¤£¦Pªº¿ï¶µ²Õ, ¦Ó¥B¨C­ÓÃþ§O³£·|¦³³\¦h¤£¦Pªº¥i¯à±¾¸ü¨Ó·½. <p>

¤£½×±z¿ï¤F­þ¤@ºØÀÉ®×¨t²ÎÃþ§O, ¦b<tt>«Ø¥ß±¾¸ü</tt>ªí³æ¤¤³£·|¦³¤@¨Ç¬Û¦PªºÄæ¦ì. ³Ì­«­nªº¬O"±¾¸üÂI", ³o¬OÀÉ®×¨t²Î±N­n³Q±¾¸üªº¦ì¸m. °£¤FµêÀÀ°O¾ÐÅé¤§¥~ªº¨C¤@¤¤ÀÉ®×¨t²Î³£»Ý­n³o­Ó°Ñ¼Æ. ¦pªG±z¿é¤Jªº¥Ø¿ý¨Ã¤£¦s¦b, Webmin ±N·|¹Á¸Õ¬°±z«Ø¥ß. <p>

¹ï©ó¤j¦h¼ÆªºÀÉ®×¨t²Î±z¦³ 3 ­Ó¿ï·Q¥i¥H¥Î©óÀx¦s±¾¸ü:
	<ul>
	<li><b>¶}¾÷®ÉÀx¦s¨Ã±¾¸ü </b><br>
	    ³o­Ó±¾¸ü±N·|¦³¥Ã¤[©Êªº¬ö¿ý, ¦Ó¥B¦b¨t²Î¶}¾÷®É¦Û°Ê±¾¸ü¤§. <p>
	<li><b>Àx¦s</b><br>
	    ³o­Ó±¾¸ü±N·|¦³¥Ã¤[©Êªº¬ö¿ý, ¦ý¬O¸ü¨t²Î¶}¾÷®É¤£·|¦Û°Ê±¾¸ü¤§. <p>
	<li><b>¤£­nÀx¦s</b><br>
	    ³o­Ó±¾¸ü±N¶È¬O¼È®É©Êªº±¾¸ü. <p>
	</ul><p>

¹ï©ó¤j¦h¼ÆªºÀÉ®×¨t²ÎÃþ§O, ±z¥i¥H¿ï¾Ü¬O§_­n¥ß¨è±¾¸ü. ¦P®É¿ï¾Ü"¤£­n±¾¸ü"»P"¤£­nÀx¦s"¬O¨S¦³¦³·N¸qªº, ¦Ó¥B·|²£¥Í¿ù»~°T®§. <p>

µM¦Ó¦³¨ÇÀÉ®×¨t²ÎÃþ§O¤£·|¥X²{¤W­±ªº¿ï¶µ, ¨Ò¦p:
	<ul>
	<li>Linux ¤Uªº<tt>µêÀÀ°O¾ÐÅé</tt><br>
	    ³o­ÓÃþ§O¬O¤w¸g±¾¸ü¨ÃÀx¦sªº, ©Î¨ø¸ü¨Ã§R°£ªº. Àx¦sµêÀÀ°O¾ÐÅé¥Ã»·¬O¦b¶}¾÷®É±¾¸üªº. <p>
	<li>Linux ¤Uªº<tt>µøµ¡ºô¸ô</tt><br>
	    ³o­ÓÀÉ®×¨t²Î¥u¯à¥Î <tt>smbmount</tt> ©R¥O±¾¸ü, ©Ò¥HµLªkÀx¦s. <p>
	<li><tt>¦Û°Ê±¾¸ü¾¹ÀÉ®×¨t²Î</tt><br>
	    ¥Ã¤[ªº¦Û°Ê±¾¸ü¾¹ÀÉ®×¨t²Î¥Ã»·¬O¦b¶}¾÷®É±¾¸üªº. <p>
	</ul><p>

©Ò¦³ªºÀÉ®×¨t²Î³£»Ý­n±z¿ï¾Ü¤@­Ó±¾¸ü¨Ó·½»P±¾¸ü¿ï¶µ. ¦]¬°¨Ó·½»P¿ï¶µªº¯S¼x¬O¨Ì¾Ú§@·~¨t²Î»PÀÉ®×¨t²Îªº¤£¦P¦ÓÅÜ¤Æªº, ©Ò¥H¦b¤U­±¤À§O»¡©ú:
	<ul>
	<li><b>Redhat Linux 4.0+</b> and <b>Slackware Linux 3.0+</b><br>
		¹ï©ó¤j¦h¼Æªº Linux ÀÉ®×¨t²ÎÃþ§O¦Ó¨¥, ±¾¸ü¨Ó·½¦³¤U­±´XºØ:
		<ul>
		<li><b>IDE ³]³Æ</b><br>
			¹ï©ó³o­Ó¿ï¾Ü, ±z¥²¶·¿é¤J IDE ³]³Æªº¦r¥À»P¤À³Î°Ï. ³]³Æ¦r¥À¹ï©ó 1st ºÏºÐ³q±`¬O <tt>a</tt>, 2nd ºÏºÐ³q±`¬O <tt>b</tt>, ¦Ó¥úºÐ¾÷¬O <tt>c</tt>. ¦Ó¤À³Î°Ï«h¬O±z·Q­n±¾¸üªº¦ì¸m. ±z¥i¥H¨Ï¥Î <tt>fdisk</tt> «ü¥O¥HÀËµøºÏºÐ¾÷¤Wªº¤À³Î°Ï. <p>
		<li><b>SCSI ³]³Æ</b><br>
			¹ï©ó³o­Ó¿ï¶µ, ±z¥²¶·¿é¤J SCSI ³]³Æ¦r¥À»P¤À³Î°Ï. ¦ý³]³Æ¦r¥À<b>¤£</b>¬O SCSI ªº¥Ø¼Ð¸¹½X - ¨C­Ó SCSI ³]³Æ¬O¨Ì¾Ú§@·~¨t²Î§ä¨ìªº¶¶§Ç¦Óµ¹¤©¤l¥À. <p>
		<li><b>³nºÐ¾÷</b><br>
			³o­Ó¿ï¶µ¥u»Ý­n±z¿é¤J³nºÐ¾÷³]³Æ½s¸¹. ¹ï©ó²Ä¤@­Ó (a ºÐ) ¬° <tt>0</tt>, ²Ä¤G­Ó (b ºÐ) ¬° <tt>1</tt>. <p>
		<li><b>¨ä¥L³]³Æ</b><br>
			¦pªG±z¿ï¤F³o­Ó¿ï¶µ, ±z¥i¥H¿é¤J¥ô¦ó±z·Q±¾¸ü³]³Æªº¸ô®|¦WºÙ. ¹ï©ó­n±¾¸üºÏºÐ°}¦C³]³Æ©Î¬O PCMCIA ¥dµ¥ Webmin ¤£ª¾¹Dªº³]³Æ®É, ³o¬O¦³¥Îªº. <p>
		</ul><p>
		¦b¤@­Ó¥»¦aºÝªº IDE ©Î SCSI ºÏºÐ¤À³Î°Ï¥i¥H³Q±¾¸ü¤§«e, ³o­Ó¤À³Î°Ï¥²¶·¤w¸g³Q«Ø¥ß¨Ã¥B¤w¸g§¹¦¨®æ¦¡¤Æ. ³o­Ó<a href=/fdisk/>¤À³Î°ÏºÞ²z­û</a>µLªk¥Î¨Ó°µ³o¥ó¨Æ. ±z¥i¥H¨Ï¥Î Linux ¨t²Î©Ò´£¨Ñªº <tt>fdisk</tt> »P <tt>mkfs</tt> ©R¥O§¹¦¨¤§. <p>

    		<tt>ºô¸ôÀÉ®×¨t²Î (NFS)</tt>, <tt>µøµ¡ºô¸ôÀÉ®×¨t²Î (smbfs)</tt>,  <tt>¦Û°Ê±¾¸ü¾¹ÀÉ®×¨t²Î (auto)</tt> »P <tt>µêÀÀ°O¾ÐÅé (swap)</tt> ªº±¾¸üÃþ§O¨Ï¥Î¤£¦Pªº±¾¸ü¨Ó·½. ½Ð°Ñ·Ó¤U­±Ãö©óÀÉ®×¨t²Îªº³¹¸`¨ú±o²Ó¸`. <p>

		·í±z¿ï¾Ü¤F±¾¸ü¨Ó·½«á, ±z¤]¥i¥H³]©w¤@¨ÇÀÉ®×¨t²Î±M¦³ªº¿ï¶µ. ¦³¨Ç¿ï¶µ¬O¹ï´X¥G©Ò¦³ Linux ÀÉ®×¨t²Î³£¥i¥H¨Ï¥Îªº, ¥¦­Ì¬O: <br>
		<table border>
		<tr> <td><b>°ßÅª</b></td>
		<td>
		¦pªG¿ï¾Ü¤F"¬O", «h¨S¦³¤H¥i¥H¼g¤J, «Ø¥ß, §R°£©Î§ïÅÜ³o­ÓÀÉ®×¨t²Îªº¥ô¦óªF¦è
		</td> </tr>
		<tr> <td><b>¤¹³\ SUID ÀÉ®×</b></td>
		<td>
		¦pªG¿ï¾Ü¤F"§_", «h¦b³o­ÓÀÉ®×¨t²Î¤W­±ªº­±ªº setuid µ{¦¡±N¤£·|¥H¸ÓÀÉ®×ªº¾Ö¦³ªÌ°õ¦æ. ·í±¾¸ü»·ºÝÀÉ®×¨t²Î®É³o¬O¦³¥Îªº
		</td> </tr>
		</table><p>

		¬ÛÃöªºÀÉ®×¨t²Î¿ï¶µ¬°:
		<ul>
		<li><b>Linux ­ì¥ÍÀÉ®×¨t²Î (ext2fs)</b><br>
			³o¬O¥Ø«e³Ì·s Linux ¥»¦aºÝºÏºÐÀÉ®×¨t²Î. <br>
			¤U­±¬O¥i¥H¥Î¦b³o­ÓÀÉ®×¨t²Îªº¿ï¶µ:
			<table border>
			</table><p>

		<li><b>ºô¸ôÀÉ®×¨t²Î (nfs)</b><br>
			NFS ¬O¼Ð·Çªº Unix ÀÉ®×¤À¨É¤è¦¡. ¹ï©ó NFS ¦Ó¨¥, ±¾¸üªº¨Ó·½¤£¬O¤@­Ó¥»¦aºÝÀÉ®×¨t²Î¦Ó¬O¥D¾÷¦WºÙ»P»·ºÝªº¥Ø¿ý. ¥D¾÷¦WºÙ¬O±z­n¨Ï¥Îªº NFS ¦øªA¾¹ªº¦WºÙ©Î¬O IP ¦ì§}. »·ºÝ¸ô®|«h¬O»·ºÝ¥D¾÷¤¹³\±z±¾¸üªº¸ô®|. <br>

			NFS ÀÉ®×¨t²Î¦³¤U¦Cªº¶i¶¥±¾¸ü¿ï¶µ:
			<table border>
			<tr> <td><b>NFS ª©¥»</b></td>
			<td>­n¨Ï¥Îªº NFS ª©¥» (1-3)</td> </tr>
			</table><p>
		
		<li><b>µêÀÀ°O¾ÐÅé (swap)</b><br>
			³o­Ó±¾¸ü¨Ó·½¥i¥H¬O¤@­Ó¥»¦aºÝªº IDE ºÏºÐ, SCSI ºÏºÐ©Î¬O¤@­ÓÀÉ®×. ¦pªG±z¿é¤J¤F¤@­Ó¤£¦s¦bªºÀÉ®×¦WºÙ, Webmin ·|¸ß°Ý±z­n«Ø¥ßªº¥æ´«ÀÉ¤j¤p, ¨ÃÀ°±z«Ø¥ß¸Ó¥æ´«ÀÉ. °£«D±zªº Linux ®Ö¤ß¦³±N¬ÛÃöªº¤ä´©½sÄ¶¶i¥h, §_«h±z¤£¯à±N NFS ÀÉ®×¨t²Î±¾¸ü¦¨¥æ´«ÀÉ. <br>
			¹ï©óµêÀÀ°O¾ÐÅéÀÉ®×¨t²Î¨S¦³¬ÛÃöªº¿ï¶µ. <p>

		<li><b>µøµ¡ºô¸ôÀÉ®×¨t²Î (smbfs)</b><br>
			µøµ¡ºô¸ô¨t²Î¬O«ü¨Ï¥Î Samba ªºÀÉ®×¨t²Î, ¤@¯ë¥Î©óµøµ¡ 95/98/NT ¤§¤W (¤]¥s§@ SMB ©Î LANManager). ¦pªGµøµ¡ÀÉ®×¦øªA¾¹¬O¥H¥Ø¿ýªº¤è¦¡¤À¨É, ±z¥i¥H±N¤§±¾¸ü©ó Linux ¤§¤U, ¨Ã·í§@¤@¯ëªºÀÉ®×¦s¨ú. <p>

			µøµ¡ºô¸ôÀÉ®×¨t²Îªº±¾¸ü¨Ó·½¬O¹³¬O <tt>\\ntbox\somedir</tt> ªº¤À¨É¦WºÙ. ²Ä¤@­Ó³¡¤À¬O¦øªA¾¹ªº NetBIOS ¦WºÙ, ²Ä¤G­Ó³¡¤À«h¬O¦øªA¾¹©Ò¤À¨Éªº¥Ø¿ý¦WºÙ. ²z·Q¤W¦øªA¾¹ªº NetBIOS ¦WºÙÀ³¸Ó»P TCP/IP ªº¥D¾÷¦WºÙ¬Û¦P; ¦ý¦pªG¤£¦P, ±z¥i¥H¨Ï¥Î±¾¸ü¿ï¶µ¥H«ü©w­n³s±µªº¥¿½Tªº¥D¾÷¦WºÙ©Î IP ¦ì§}. ¤U­±¬O¥i¥H¨Ï¥Îªº¿ï¶µ:
			<table border>
			<tr> <td><b>¨Ï¥ÎªÌ¦WºÙ</b></td>
			<td>
			µn¤JÀÉ®×¦øªA¾¹©Ò­n¨Ï¥Îªº¨Ï¥ÎªÌ¦WºÙ. ¹ï©ó¤½¶}ªº¤À¨É¥i¥H¤£»Ý­n
			</td> </tr>
			<tr> <td><b>±K½X</b></td>
			<td>
			³o­Ó¨Ï¥ÎªÌ¦WºÙ©Ò¨Ï¥Îªº±K½X. ¦pªG±z¦b¦øªA¾¹¤W­±¨S¦³¤@­Ó¦³®Äªº¨Ï¥ÎªÌ¦WºÙ»P±K½X, ³o­Ó±¾¸ü±N·|¥¢±Ñ. ¹ï©ó¤½¶}©Êªº¤À¨É¦Ó¨¥, ¤£»Ý­n³o¨Ç¸ê°T
			</td> </tr>
			</table><p>

		<li><b>MS-DOS ÀÉ®×¨t²Î (fat)</b><br>
			¦bµøµ¡ 3.1 »P MS-DOS 7.0 ¤§«eªº¨t²Î©Ò¨Ï¥Îªº³nºÐ©ÎµwºÐÀÉ®×¨t²Î. ¦bÀÉ®×¨t²Î¤¤ªºÀÉ®×¦WºÙ³Q­­¨î¬° 8.3 ªº¦WºÙ¼Ð·Ç. ¦pªG±z¸ÕµÛ«Ø¥ß¤@­ÓªøÀÉ¦WªºÀÉ®×, ÀÉ¦W±N·|³Q«d´î¦¨ 8.3 ªº®æ¦¡. ¦]¬° DOS ¨S¦³³B²zÀÉ®×©Ò¦³Åv©Î¯u¹êÀÉ®×Åv­­ªº¾÷¨î, ©Ò¦³³Q±¾¸üªº¥Ø¿ý¤¤ªºÀÉ®×³£·|¦³¬Û¦Pªº¾Ö¦³ªÌ»P¦s¨ú¼Ò¦¡; ¦Ó¥B±z¤£¯à¿W¥ßÅÜ§óÀÉ®×ªº³o¨ÇÄÝ©Ê. <br>
			The following options are available :
			<table border>
			</table><p>
			
		<li><b>µøµ¡ 95 ÀÉ®×¨t²Î (vfat)</b><br>
			³o­ÓÀÉ®×¨t²Î¥i¯à¬O¸g¥Ñµøµ¡ 95 ©Î NT ©Ò«Ø¥ßªº. ´N¹³¬O«e­zªº MS-DOS ÀÉ®×¨t²Î¨Ì¼Ë, ¥¦¤£·|³B²zÀÉ®×ªº©Ò¦³Åv»P¬ÛÃöÄÝ©Ê. µM¦Ó, ¥¦¤ä´©ªøÀÉ¦W. <br>
			Available options are :
			<table border>
			</table><p>

		<li><b>ISO9660 ÀÉ®×¨t²Î (iso9660)</b><br>
			³o¬O¥úºÐ¤ùªº¼Ð·Ç®æ¦¡. °ò¥»ªº®æ¦¡¥u¤ä´© 8.3 ªºÀÉ®×®æ¦¡, ´N¹³¬O <tt>fat</tt> ¤@¼Ë, ¦ý¬O±z¥i¥H¨Ï¥Î¥s§@ Rock Ridge ªº©µ¦ù®æ¦¡, ¥H¨Ï¥ÎªøÀÉ¦W»P Unix ªºÅv­­.<br>
			The options for this filesystem are :
			<table border>
			</table><p>

		<li><b>OS/2 ÀÉ®×¨t²Î (hpfs)</b><br>
			OS/2 ¥Î¦Û¤vªºÀÉ®×¨t²Î©Ò®æ¦¡¤Æ¥X¨ÓªºµwºÐ. ¤ä´©ªøÀÉ¦W, ¦ý¬O¤£¤ä´© Unix ÀÉ®×Åv­­»P¾Ö¦³¤H.<br>
			Available options are :
			<table border>
			</table><p>

		<li><b>Linux ¦b MS-DOS ÀÉ®×¨t²Î (umsdos)</b><br>
			³o­ÓÀÉ®×¨t²Î¤§³Q¥Î¦b§â Linux ¦w¸Ë¦b¥u¦³ MS-DOS ÀÉ®×¨t²Î¦ÓºÏºÐ¥ÑµLªk³Q­«·s¤À³Îªºª¬ªp¤U. ¥¦¨Ï¥Î¤@­Ó¦b DOS ÀÉ®×¨t²Î¤U­±ªº \linux ¥Ø¿ý, ¨Ã±N¤§·í§@¬O Linux ÀÉ®×¨t²Îªº®Ú¥Ø¿ý. ·í¦b Linux ¤U­±±¾¸ü®É, ¥¦¤ä´©ªøÀÉ¦W, ÀÉ®×Åv­­»P¾Ö¦³¤H°T®§. ¦b RedHat Linux ¤§¤¤, ¹w³]¬O¤£¤ä´©³oºØÀÉ®×¨t²Îªº, ¦Ó¥B°£«D±z§OµL¿ï¾Ü, §_«h±z¤£À³¸Ó¨Ï¥Î¥¦, ¦]¬°¨ä®Ä²v«Ü®t. <br>
			The valid options for <tt>umsdos</tt> are :
			<table border>
			</table><p>

		</ul><p>
	
	<li><b>Solaris 2.5+</b><br>
		¹ï©ó¥HºÏºÐ¬°°òÂ¦ªº Solaris ÀÉ®×¨t²Î, ±¾¸ü¨Ó·½¥i¥H¬O¤U¦Cªº:
			<ul>
			<li><b>SCSI ºÏºÐ</b><br>
				¦b Solaris ¤U­±, ¨C­Ó SCSI ºÏºÐ³Q 4 ­Ó½s¸¹©Ò½T»{:
				<ul>
				<li><b>±±¨î¾¹</b> - ºÏºÐ©Ò³s±µªº SCSI ±±¨î¾¹½s¸¹. ¹ï©ó Sparc ¤º«Øªº±±¨î¾¹¦Ó¨¥, ¥Ã»·¬O 0.<br>
				<li><b>¥Ø¼Ð</b> - SCSI ¥Ø¼Ð¸¹½X. ¹ï©ó¤º³¡ªº³]³Æ¦Ó¨¥, ¥Ã»·¬O 0 ©Î 1. ¹ï©ó¥~³¡ªº³]³Æ«h¥i¥H¥Î³]³Æ¤Wªº¿ï¾Ü¾¹¿ï¾Ü.<br>
				<li><b>³æ¦ì</b> - ´X¥G³£¬O 0.<br>
				<li><b>¤À³Î°Ï</b> - ­n±¾¸üªº¤À³Î°Ï½s¸¹.<br>
				</ul><p>
			<li><b>¤¤Ä~ºÏºÐ³]³Æ</b><br>
				¦pªG±z¨Ï¥Î¤F Sun ªº¤¤Ä~³]³Æ³nÅé«Ø¥ß¤F¥æ¿ù¦¡, ¬M®gªº©Î¬OºÏºÐ°}¦C³]³Æ, ½Ð¿ï¾Ü³o­Ó¿ï¶µ¨Ã¿é¤J¾A·íªº½s¸¹. <p>
			<li><b>¨ä¥L³]³Æ</b><br>
				³o­Ó¿ï¾Ü»Ý­n±z¿é¤J­n±¾¸ü³]³Æªº§¹¾ã¸ô®|. <p>
			</ul><p>
		¦b¤@­Ó«Ø¥ß¦b¥»¦aºÝ SCSI ºÏºÐ¤WªºÀÉ®×¨t²Î¯à³Q±¾¸ü¤§«e, ³o­Ó¤À³Î°Ï¥²¶·¥ý³Q³]©w¨Ã«Ø¥ßÀÉ®×¨t²Î. ³o­Ó<a href=/fdisk/>¤À³Î°ÏºÞ²z­û</a>µLªk¥Î¨Ó°µ³o¥ó¨Æ. ±z¥i¥H¨Ï¥Î¨t²Î©Ò´£¨Ñªº <tt>format</tt> »P <tt>newfs</tt> ©R¥O§¹¦¨¤§. <p>
		
		¦b Solaris ¤U­±, ³nºÐ¾÷»P¥úºÐ¾÷³£¬O¦Û°Ê¥ÑÀx¦sÅéºÞ²z­û©Ò±¾¸üªº. ¦p«D³o­Ó¥\¯à¤w¸g³QÃö³¬, §_«h±z¤£»Ý­n¤â°Êªº±¾¸ü¤§. ¥ÑÀx¦sÅéºÞ²z­û¦Û°Ê±¾¸üªºÀÉ®×¨t²Î¬O¤£·|¦b¥»¼Ò²Õªº¥D­nµe­±¤¤³QÅã¥Üªº. ³o¥i¯à¤]·|µo¥Í¦b¨ä¥Lªº¥i²¾°Ê SCSI Àx¦s³]³Æ (¨Ò¦p Jaz ©Î Syquest ºÏºÐ), ¨Ì¾Ú¦b±zªº¨t²Î¤WªºÀx¦sÅéºÞ²z­ûªº³]©w¦Ó©w. <p>

		·íÀÉ®×¨t²Î±¾¸ü¨Ó·½³Q¿ï¾Ü¤§«á, ±z¥i¥H³]©wÀÉ®×¨t²Î±M¦³ªº¿ï¶µ:
		<ul>
		<li><b>Solaris Unix ÀÉ®×¨t²Î (ufs)</b><br>
			³o¬O Solaris ¥Î¦b¥»¦aºÝºÏºÐ¤Wªº¼Ð·ÇÀÉ®×¨t²ÎÃþ§O. <br>
			¥i¥Îªº¿ï¶µ¬°:
			<table border>
			<tr> <td><b>°ßÅª</b></td>
			<td>
			¦pªG¿ï¾Ü"¬O", «h¨S¦³¤H¥i¥H¼g¤J, «Ø¥ß, §R°£©Î§ïÅÜ³o­ÓÀÉ®×¨t²Îªº¥ô¦óªF¦è
			</td> </tr>
			</table><p>

		<li><b>ºô¸ôÀÉ®×¨t²Î(nfs)</b><br>
			NFS ¬O¼Ð·Çªº Unix ÀÉ®×¤À¨É¤è¦¡. ¹ï©ó NFS ¦Ó¨¥, ±¾¸üªº¨Ó·½¤£¬O¤@­Ó¥»¦aºÝÀÉ®×¨t²Î¦Ó¬O¥D¾÷¦WºÙ»P»·ºÝªº¥Ø¿ý. ¥D¾÷¦WºÙ¬O±z­n¨Ï¥Îªº NFS ¦øªA¾¹ªº¦WºÙ©Î¬O IP ¦ì§}. »·ºÝ¸ô®|«h¬O»·ºÝ¥D¾÷¤¹³\±z±¾¸üªº¸ô®|. <br>
			
			NFS filesystems have the following additional options :
			<table border>
			</table><p>

		<li><b>µêÀÀ°O¾ÐÅé (swap)</b><br>
			µêÀÀ°O¾ÐÅéªº±¾¸ü¨Ó·½¥i¥H¬O¤@­Ó SCSI ºÏºÐ, ¤¤Ä~ºÏºÐ³]³Æ©Î¬O¤@¯ëªºÀÉ®×. ¦pªG±z¿é¤J¤F¤@­Ó¤£¦s¦bªºÀÉ®×¦WºÙ, Webmin ·|¸ß°Ý±z­n«Ø¥ßªº¥æ´«ÀÉ¤j¤p, ¨ÃÀ°±z«Ø¥ß¸Ó¥æ´«ÀÉ. <br>
			¹ï©óµêÀÀ°O¾ÐÅé±¾¸ü¨S¦³¬ÛÃöªº¿ï¶µ. <p>

		<li><b>§Ö¨úÀÉ®×¨t²Î (cachefs)</b><br>
			³o­ÓÀÉ®×¨t²Î¨Ï¥Î¥»¦aºÝÀÉ®×¨t²ÎªºªÅ¶¡¥H§Ö¨ú±q¨ä¥LÀÉ®×¨t²Î (³q±`¬O NFS) ¨ÓªºÀÉ®×. ³oªí¥Ü¸g¥Ñ NFS ¦s¨ú©Ò±o¨ìªºÀÉ®×·|³Q«O¦s¦b¥»¦aºÝ, ¼W¥[¤@¨Ç³t«×. ·í±z«Ø¥ß¤F·sªº§Ö¨úÀÉ®×¨t²Î±¾¸ü«á, Webmin ·|§â¥¦·í§@ NFS ªº­I«áÀÉ®×¨t²Î. <p>

			<tt>§Ö¨úÀÉ®×¨t²Î</tt>ªº±¾¸ü¨Ó·½¬O NFS ¦øªA¾¹»P¨ì§Ö¨úªº¥Ø¿ý. ??? 
			·í±z±¾¸ü<tt>§Ö¨úÀÉ®×¨t²Î</tt>ªº®É­Ô, ¹ê»Ú¤W·|²£¥Í¤G­Ó±¾¸üªº°Ê§@ - ­I«á±¾¸ü»P¹ê»Ú<tt>§Ö¨úÀÉ®×¨t²Î</tt>ªº±¾¸ü. Webmin ¨Ã¤£·|±N­I«á³sµ²Åã¥Ü¦b±¾¸üªºÀÉ®×¨t²Îªí¤¤. <p> 

			<tt>§Ö¨úÀÉ®×¨t²Î</tt>¨Ï¥Î¤@­Ó§Ö¨ú¥Ø¿ý¥HÀx¦s§Ö¨úªºÀÉ®×, «ü©w¦b±¾¸ü¿ï¶µ¤§¤¤. ±z¥i¥H¨Ï¥Î <tt>cfsadmin</tt> «ü¥O¥H¨Ï¥Î±z»Ý­nªº°Ñ¼Æ«Ø¥ß¤@­Ó§Ö¨ú¥Ø¿ý, ©ÎªÌÅý Webmin ¦Û°ÊªºÀ°±z«Ø¥ß. ¦b«á­±ªºª¬ªp¤¤, §Ö¨ú±N·|­­¨î©óÀÉ®×¨t²Îªº 10%. <br>
			Valid options for this filesystem are:
			<table border>
			</table><p>

		<li><b>°O¾ÐÅéºÏºÐÀÉ®×¨t²Î (tmpfs)</b><br>
			Àx¦s¦b³oºØÀÉ®×¨t²Î¤¤ªºÀÉ®×¹ê»Ú¤W¥u¦s¦b©ó°O¾ÐÅé¤¤, ¦Ó¥B¦b¨ø¸ü©Î¨t²Î­«·s±Ò°Ê«á«K·|®ø¥¢. <tt>/tmp</tt> ¥Ø¿ý³q±`¨Ï¥Î³oºØ±¾¸ü¼Ò¦¡, ¦]¬°¥¦¥u·|¼È®Éªº¦s©ñ¸ê®Æ. ¦]¬°¥¦¥u±N¸ê®Æ¦s©ñ¦b°O¾ÐÅé¤§¤¤, ©Ò¥H³oÃä¨Ã¨S¦³±¾¸ü¨Ó·½. <br>
			The only option is :
			<table border>
			</table><p>

		<li><b>¦Û°Ê±¾¸üÀÉ®×¨t²Î (autofs)</b><br>
			¦Û°Ê±¾¸üÀÉ®×¨t²Î·|¦Û°Ê¨Ì¾Ú­n¨D±¾¸ü»P¨ø¸ü NFS ¥Ø¿ý. ¦b¦³¨Ï¥ÎªÌ­n¨D¦s¨ú¦Û°Ê±¾¸ü¥Ø¿ý¤U­±ªº¥Ø¿ý®É, ¸Ó¥Ø¿ý·|¦Û°Ê³Q±¾¸ü¨Ã¥X²{. ¦Ó¦b¤@¬q³]©wªº¶¢¸m®É¶¡¤§«á, ³o­Ó¥Ø¿ý·|¦Û°Ê³Q¨ø¸ü¨Ã®ø¥¢. <p> 

			³o­ÓÀÉ®×¨t²Îªº±¾¸ü¨Ó·½¦³¤U­±¤T­Ó¿ï¶µ:
				<ul>
				<li><b>©Ò¦³ªº NFS ¦øªA¾¹ (-net)</b><br>
					·í¨Ï¥ÎªÌ¤Á´«¨ì¤l¥Ø¿ý¤¤®É, ¥¦·|¨ú±o NFS ¦øªA¾¹ªº¥D¾÷¦WºÙ. ¦pªG³o­Ó¦øªA¾¹¦s¦b, ©Ò¦³¥i¥H±¾¸üªº¶×¥X³£·|³Q¦Û°Ê±¾¸ü¨ì¸Ó¤l¥Ø¿ý¤U­±ªº·s¥Ø¿ý¤¤. <br>
					Solaris ¹w³]¦³¤@­Ó <tt>/net</tt> ¥Ø¿ý¥i¥H±¾¸ü³o¨Ç¸ê·½, ¥u­n¨Ï¥ÎªÌ§@Ãþ¦ü¤U­±ªº­n¨D<br>
					<tt>cd /net/bar.foo.com/usr/local/bin</tt><br>
					<tt>ls -l</tt><p>
				<li><b>XFN ¦øªA¾¹ (-xfn)</b><br>
					No idea??? <p>
				<li><b>¦Û°Ê±¾¸ü¹ïÀ³</b><br>
					¹ï³o­Ó¿ï¶µ,µ¹¤© NIS ¹ïÀ³ªº¦WºÙ©Î¥»¦aºÝÀÉ®×¥]§t¹ïÀ³ªí. ¹ï©ó­n±¾¸üªº¥D¾÷»P¥Ø¿ý³£¥i¥H©w¸q©ó¦¹. §ó¦hªº¸ê°T½Ð°Ñ·Ó <tt>automount</tt> »¡©ú­¶. <p>
				</ul><p>
			¹ï©ó¦Û°Ê±¾¸üÀÉ®×¨t²Îªº¿ï¶µ»P NFS ¬Û¦P. ³o¨Ç¿ï¶µ³£·|¦Û°Êªº®M¥Î¦b©Ò¦³ªº¦Û°Ê±¾¸ü¤§¤¤. <p>

		<li><b>MS-DOS ÀÉ®×¨t²Î (pcfs)</b><br>
			¦bµøµ¡ 3.1 »P MS-DOS 7.0 ¤§«eªº¨t²Î©Ò¨Ï¥Îªº³nºÐ©ÎµwºÐÀÉ®×¨t²Î. ¦bÀÉ®×¨t²Î¤¤ªºÀÉ®×¦WºÙ³Q­­¨î¬° 8.3 ªº¦WºÙ¼Ð·Ç. ¦Ó¥BÀÉ®×³£¨S¦³¾Ö¦³ªÌ»P¦s¨ú¼Ò¦¡. ¤@¯ë¦Ó¨¥, ±z¤£»Ý­n¤â°Ê±¾¸ü <tt>pcfs</tt> ªº³nºÐ, ¦]¬°³nºÐ·|¥ÑÀx¦sÅéºÞ²zªÌ¦Û°Ê±¾¸ü. <br>
			The options available for MS-DOS filesystems are :
			<table border>
			</table><p>

		<li><b>CDROM ÀÉ®×¨t²Î (hsfs)</b><br>
			

		</ul><p>
	</ul><p>

<hr>
<h3>½s¿è¤@­Ó²{¦sªºÀÉ®×¨t²Î</h3>
­n½s¿è¤@­Ó²{¦sªºÀÉ®×¨t²Î, «ö¤U¥Dµe­±¦Cªí¤¤ªº±¾¸üÂI. ³o·|Åã¥Ü»P¥Î©ó«Ø¥ß·s±¾¸ü®É¬Û¦üªºªí³æ. ±z¥i¥H¦p¦P«Ø¥ß¤@­Ó·sªº±¾¸ü¤@¼ËªºÅÜ§óªí³æ¤¤ªº¥ô¦óªF¦è. (´y­z¦b«e­±). <p>

¤@­Ó²{¦sªº±¾¸ü¥i¯à¬O¥Ã¤[Àx¦sªº, ¥Ø«e³Q±¾¸üªº©Î¤GªÌ³£¬O. ¦pªG±z§ïÅÜ¦¨¤£Àx¦s©Î±¾¸ü, ¥¦±N·|±q±¾¸ü¦Cªí¤¤³Q§R°£. ª`·N¦³¨ÇÀÉ®×¨t²ÎÃþ§O¨S¦³³o­Ó¿ï¶µ. <p>

¦b Unix ¤§¤¤, ¤@­Ó¥¿³Q¨Ï¥Îªº¥Ø¿ýµLªk³Q¨ø¸ü, ¤£½×¬Oµ{§Ç©Î¬O¨Ï¥ÎªÌ¥Ø«eªº¸ô®|¦b¨ä¤¤¤l¥Ø¿ý¤§¤¤.

¬Û¦üªº, ¦pªG²{¦sªº°O¾ÐÅéªÅ¶¡¤p©ó¥æ´«¦ý, ³o­Ó¥æ´«ÀÉ®×µLªk³Q¨ø¸ü. ·í±z§ïÅÜ¤F¥Ø¿ý, ¨Ó·½©Î¥ô¦óªº¿ï¶µ¤§«á, Webmin ·|¨ø¸ü¨Ã­«·s±¾¸ü³o­Ó¥Ø¿ý¥H®M¥ÎÅÜ§ó. ·í¥Ø¿ý©Î¥æ´«ÀÉ¥¿³Q¨Ï¥Î¤¤¦ÓµLªk¨ø¸ü®É, ³o±N·|¥¢±Ñ¦Ó¥B¦³¿ù»~°T®§²£¥Í. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">¦^¨ì¼Ò²Õ</a><p>
 

 0707010002fc3f000081a40000000000000002000000013d1fe2bd000004ee000000200000000000000000000000000000001f00000003reloc/mount/freebsd-mounts-3.c    #include <stdio.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>

char *find_type(int t);
char *expand_flags(int f);

int main(void)
{
struct statfs *mntlist;
int n, i;

n = getmntinfo(&mntlist, MNT_NOWAIT);
if (n < 0) {
	fprintf(stderr, "getmntinfo failed : %s\n", strerror(errno));
	exit(1);
	}
for(i=0; i<n; i++) {
	printf("%s\t%s\t%s\t%s\t%x\n",
		mntlist[i].f_mntonname,
		mntlist[i].f_mntfromname,
		mntlist[i].f_fstypename,
		expand_flags(mntlist[i].f_flags),
		mntlist[i].f_flags);
	}
}

char *expand_flags(int f)
{
static char buf[1024];
buf[0] = 0;
if (f & MNT_RDONLY) strcat(buf, "ro,");
if (f & MNT_NOEXEC) strcat(buf, "noexec,");
if (f & MNT_NOSUID) strcat(buf, "nosuid,");
if (f & MNT_NOATIME) strcat(buf, "noatime,");
if (f & MNT_NODEV) strcat(buf, "nodev,");
if (f & MNT_SYNCHRONOUS) strcat(buf, "sync,");
if (f & MNT_ASYNC) strcat(buf, "async,");
if (f & MNT_QUOTA) strcat(buf, "quota,");
if (f & MNT_NOSYMFOLLOW) strcat(buf, "nosymfollow,");
if (f & MNT_SUIDDIR) strcat(buf, "suiddir,");
if (f & MNT_UNION) strcat(buf, "union,");
if (f & MNT_NOCLUSTERR) strcat(buf, "noclusterr,");
if (f & MNT_NOCLUSTERW) strcat(buf, "noclusterw,");
if (buf[0] == 0) return "-";
buf[strlen(buf)-1] = 0;
return buf;
}

  0707010002fc40000081e40000000000000002000000013d1fe2bc0000130e000000200000000000000000000000000000001d00000003reloc/mount/freebsd-mounts-4  ELF FreeBSD      ¤„4   h      4    (      4   4€4€                 Ô   Ô€Ô€                    € €	  	           	  ™™Ì   ô           T	  T™T™ˆ   ˆ         /usr/libexec/ld-elf.so.1                              	                     
                                                                                                                 T™     ñÿ   $™     ñÿ*   üƒ      0   pˆ     
 6   d„   "   >   „1      E   D„*      M   T„       T   à™    Y   „„[      ^   ™     i   t„p      p   ”„       w   $„œ      €    Ÿ     ˆ   4„ý      “   pˆ     ñÿš   Ü™     ñÿ¡   Ü™     ñÿ­   Ÿ     ñÿ²   Ÿ     ñÿ libc.so.4 _DYNAMIC _GLOBAL_OFFSET_TABLE_ _init _fini __error printf fprintf strcat __sF exit __progname atexit strlen strerror environ getmntinfo _etext _edata __bss_start _end end   à™	  0™  4™  8™  <™  @™  D™  H™  L™
  P™  è'  Ã  ÿ5(™ÿ%,™    ÿ%0™h    éàÿÿÿÿ%4™h   éÐÿÿÿÿ%8™h   éÀÿÿÿÿ%<™h   é°ÿÿÿÿ%@™h    é ÿÿÿÿ%D™h(   éÿÿÿÿ%H™h0   é€ÿÿÿÿ%L™h8   épÿÿÿÿ%P™h@   é`ÿÿÿU‰åƒìWVS‰Òu‹^ü|ž‰= Ÿ…Û~)ƒ} t#‹E£™€8 t‰ö€8/u	H‰™@€8 uì¸T™…ÀtƒÄôRèvÿÿÿƒÄƒÄôhpˆèfÿÿÿèéþÿÿƒÄôƒÄüWVSèg   Pè]ÿÿÿU‰åƒìS»™ƒ=™ tv ƒÃƒ; uøë‰ö‹ÿÐƒÃüû™wñ[ÉÃ‰öU‰åƒìS» ™ƒ= ™ tv ‹ÿÐƒÃƒ; uô[ÉÃU‰åƒìƒÄøjEüPè˜þÿÿƒÄ‰À‰Eøƒ}ø }:ƒÄüƒÄôè¯þÿÿ‰À‹RèeþÿÿƒÄ‰ÀPhwˆhšèpþÿÿƒÄƒÄôjè£þÿÿƒÄÇEô    ‹Eô;Eø|é‹   v ƒÄø‹Eô‰Â‰ÐÁà‹Uü‹D0PƒÄô‹Eô‰Â‰ÐÁà‹Uü‹D0Pè]   ƒÄ‰ÀP‹Eô‰Â‰ÐÁà‰ÂUüB<P‹Eô‰Â‰ÐÁà‰ÂUü‚¦   P‹Eô‰Â‰ÐÁà‰ÂUüBLPhˆèýÿÿƒÄ ÿEôéjÿÿÿ‰öÉÃ‰öU‰åƒìÆ › ‹Eƒà…ÀtƒÄøhŸˆh ›è£ýÿÿƒÄ‹Eƒà…ÀtƒÄøh£ˆh ›è„ýÿÿƒÄ‹Eƒà…ÀtƒÄøh«ˆh ›èeýÿÿƒÄ‹E%   …ÀtƒÄøh³ˆh ›èDýÿÿƒÄ‹Eƒà…ÀtƒÄøh¼ˆh ›è%ýÿÿƒÄ‹Eƒà…ÀtƒÄøhÃˆh ›èýÿÿƒÄ‹Eƒà@…ÀtƒÄøhÉˆh ›èçüÿÿƒÄ‹E%    …ÀtƒÄøhÐˆh ›èÆüÿÿƒÄ‹E%  @ …ÀtƒÄøh×ˆh ›è¥üÿÿƒÄ‹E%   …ÀtƒÄøhäˆh ›è„üÿÿƒÄ‹Eƒà …ÀtƒÄøhíˆh ›èeüÿÿƒÄ‹E%   @…ÀtƒÄøhôˆh ›èDüÿÿƒÄ‹E%   €…ÀtƒÄøh ‰h ›è#üÿÿƒÄ€= › u¸‰ë(ƒÄôh ›èCüÿÿƒÄ‰ÀPÿ¸ ›Æ ¸ ›ëv ÉÃèëüÿÿÃ getmntinfo failed : %s
 %s	%s	%s	%s	%x
 ro, noexec, nosuid, noatime, nodev, sync, async, quota, nosymfollow, suiddir, union, noclusterr, noclusterw, -   vˆÿÿÿÿ    ÿÿÿÿ    T™        „*„:„J„Z„j„z„Š„š„         üƒ   pˆ   ð€   ô‚   ”
   ¶                   $™   H            ´ƒ   ¬ƒ                         GCC: (GNU) 2.95.2 19991024 (release)  GCC: (GNU) 2.95.2 19991024 (release)  GCC: (GNU) 2.95.2 19991024 (release)  GCC: (GNU) 2.95.2 19991024 (release)           01.01             01.01             01.01             01.01    .symtab .strtab .shstrtab .interp .hash .dynsym .dynstr .rel.bss .rel.plt .init .plt .text .fini .rodata .data .ctors .dtors .got .dynamic .bss .comment .note                                                  Ô€Ô                     #         ð€ð   ¤                )         ””  `              1         ô‚ô  ¶                  9   	      ¬ƒ¬                 B   	      ´ƒ´  H               K         üƒü                    Q         „                    V         ¤„¤  Ì                 \         pˆp                    b         vˆv  ˜                  j         ™	                    p         ™	                    w         ™	                    ~         $™$	  0                 ƒ         T™T	  ˆ                Œ         à™à	  $                  ‘              à	  ˜                  š          ˜   x
  P                                È
                                                     	                 î                                      Ô€          ð€          ”          ô‚          ¬ƒ          ´ƒ          üƒ          „          ¤„     	     pˆ     
     vˆ          ™          ™          ™          $™          T™          à™                        ˜                                                               ñÿ   ˆ…      	 #    ›     *   „1      1   $„œ      :   T™     ñÿC   pˆ     ñÿJ   üƒ      P   4„ý      [    Ÿ     c   D„*      k   T„       r   Ÿ     ñÿv   ™        ¤„ƒ    	 ˆ   d„   "      à™    •   ˆ†æ   	 ¢   Ü™     ñÿ®   ˆ…þ    	 ³   pˆ     
 ¹   t„p      À   Ü™     ñÿÇ   $™     ñÿÝ   Ÿ     ñÿâ   „„[      ç   ”„        freebsd-mounts-4.c gcc2_compiled. buf.12 printf strerror _DYNAMIC _etext _init getmntinfo environ fprintf strcat end __progname _start __error __sF expand_flags __bss_start main _fini atexit _edata _GLOBAL_OFFSET_TABLE_ _end exit strlen   0707010002fc41000081a40000000000000002000000013d1fe2bc000004ee000000200000000000000000000000000000001f00000003reloc/mount/freebsd-mounts-4.c    #include <stdio.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>

char *find_type(int t);
char *expand_flags(int f);

int main(void)
{
struct statfs *mntlist;
int n, i;

n = getmntinfo(&mntlist, MNT_NOWAIT);
if (n < 0) {
	fprintf(stderr, "getmntinfo failed : %s\n", strerror(errno));
	exit(1);
	}
for(i=0; i<n; i++) {
	printf("%s\t%s\t%s\t%s\t%x\n",
		mntlist[i].f_mntonname,
		mntlist[i].f_mntfromname,
		mntlist[i].f_fstypename,
		expand_flags(mntlist[i].f_flags),
		mntlist[i].f_flags);
	}
}

char *expand_flags(int f)
{
static char buf[1024];
buf[0] = 0;
if (f & MNT_RDONLY) strcat(buf, "ro,");
if (f & MNT_NOEXEC) strcat(buf, "noexec,");
if (f & MNT_NOSUID) strcat(buf, "nosuid,");
if (f & MNT_NOATIME) strcat(buf, "noatime,");
if (f & MNT_NODEV) strcat(buf, "nodev,");
if (f & MNT_SYNCHRONOUS) strcat(buf, "sync,");
if (f & MNT_ASYNC) strcat(buf, "async,");
if (f & MNT_QUOTA) strcat(buf, "quota,");
if (f & MNT_NOSYMFOLLOW) strcat(buf, "nosymfollow,");
if (f & MNT_SUIDDIR) strcat(buf, "suiddir,");
if (f & MNT_UNION) strcat(buf, "union,");
if (f & MNT_NOCLUSTERR) strcat(buf, "noclusterr,");
if (f & MNT_NOCLUSTERW) strcat(buf, "noclusterw,");
if (buf[0] == 0) return "-";
buf[strlen(buf)-1] = 0;
return buf;
}

  0707010002fc42000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002100000003reloc/mount/generic-linux-lib.pl  # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc43000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002000000003reloc/mount/gentoo-linux-lib.pl   # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc44000081a40000000000000002000000013d1fe2bd00008f97000000200000000000000000000000000000001800000003reloc/mount/hpux-lib.pl   # hpux-lib.pl
# Filesystem functions for HP-UX (works for me on 10.xx and 11.00)

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, $_, $i); $i = 0;

# List normal filesystem mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "ignore") { next; }
	if ($p[2] eq "swap") { $p[1] = "swap"; }
	$rv[$i++] = [ $p[1], $p[0], $p[2], $p[3], $p[5], "yes" ];
	}
close(FSTAB);

# List automount points
open(AUTOTAB, $config{autofs_file});
while(<AUTOTAB>) {
	chop; s/#.*$//g;
	if (!/\S/ || /^[+\-]/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "") { $p[2] = "-"; }
	else { $p[2] =~ s/^-//g; }
	$rv[$i++] = [ $p[0], $p[1], "autofs", $p[2], "-", "yes" ];
	}
close(AUTOTAB);

return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, and return the index of the new entry
sub create_mount
{
local($len, @mlist, $fsck, $dir);
if ($_[2] eq "autofs") {
	# An autofs mount.. add to /etc/auto_master
	$len = grep { $_->[2] eq "autofs" } (&list_mounts());
	open(AUTOTAB, ">> $config{autofs_file}");
	print AUTOTAB "$_[0] $_[1]",($_[3] eq "-" ? "" : " -$_[3]"),"\n";
	close(AUTOTAB);
	}
else {
	# Add to the fstab file
	$len = grep { $_->[2] ne "autofs" } (&list_mounts());
        if ($_[4] eq "-") { 
		$fsck = "0";
		}
        else {
		$fsck = $_[4];
		}
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$_[1] $_[0] $_[2] $_[3] 0 $fsck\n";
	close(FSTAB);
	}
return $len;
}


# delete_mount(index)
# Delete some mount from the table
sub delete_mount
{
local(@fstab, $i, $line, $_);
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
$i = 0;

open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# found the line not to include
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# found line not to include..
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local(@fstab, @autotab, $i, $line, $fsck, $dir, $_);
$i = 0;

open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
	        if ($_[5] eq "-") {
       	        	$fsck = "0";
                	}
        	else {
                	$fsck = $_[5];
                	}
		# Found the line to replace
		print FSTAB "$_[2] $_[1] $_[3] $_[4] 0 $fsck\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# Found the line to replace
		print AUTOTAB "$_[1]  $_[2]  ",
				($_[4] eq "-" ? "" : "-$_[4]"),"\n";
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form: directory device type options
# For swap files, the directory will be 'swap'
sub list_mounted
{
local(@rv, @p, $_, $i, $r);
foreach (split(/\n/, `swapinfo -a`)) {
	if (/^dev\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/) { push(@rv, [ "swap", $8, "swap", "pri=$7" ]); }
	}
foreach (split(/\n/, `cat /etc/mnttab`)) {
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "ignore") { next; }
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed. If the directory is 'swap', then mount as
# virtual memory.
sub mount_dir
{
local($out, $opts);
if ($_[0] eq "swap") {
	# Adding a swap device
        local(%options, $opts);
        &parse_options("swap", $_[3]);
        if (defined($options{"pri"})) {
		$opts = "-p $options{'pri'}";
		}
	$out = &backquote_logged("swapon $opts $_[1] 2>&1");
	if ($? && !($out =~ /already enabled for paging/)) { return $out; }
	}
else {
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	$out = &backquote_logged("mount -F $_[2] $opts -- $_[1] $_[0] 2>&1");
	if ($?) { return $out; }
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory (or swap device) that is currently mounted. Returns 0 if
# ok, or an error string if failed
sub unmount_dir
{
if ($_[0] eq "swap") {
        # Not possible!
        &error("Swap space cannot be removed");
        }
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	}
if ($?) { return $out; }
return 0;
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "swap") {
	return ();
	}
`bdf $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
return ("hfs", "vxfs", "swap", "cdfs", "nfs", "lofs");
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("hfs","HP Unix Filesystem",
	  "vxfs","HP Journaled Unix Filesystem",
	  "nfs","Network Filesystem",
	  "cdfs","ISO9660 CD-ROM",
	  "lofs","Loopback Filesystem",
	  "swapfs","Filesystem Swap Space",
	  "swap","Swap Space",
	  "autofs","Automounter Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#  1 - can be permanently recorded, and is always mounted at boot
#  2 - can be permanently recorded, and may or may not be mounted at boot
# The second is:
#  0 - mount is always permanent => mounted when saved
#  1 - doesn't have to be permanent
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot time
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "hfs" || $_[0] eq "vxfs") {
	return (1, 1, 1, 0);
	}
elsif ($_[0] eq "swap") {
	return (1, 1, 0, 0);
	}
else { return (1, 1, 0, 0); }
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "lofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$onenfs = !$_[1] || $_[1] =~ /^([A-z0-9\-\.]+):([^,]+)$/;
	print "<tr> <td><b>NFS Hostname</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "</td>\n";
	print "<td><b>NFS Directory</b></td>\n";
	print "<td><input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "hfs") {
	# Mounted from a normal disk, LVM device or from
	# somewhere else
	print "<tr> <td valign=top><b>HFS Device</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$hfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$hfs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/vg([0-9]+)\/(\S+)/) {
		$hfs_dev = 1; $scsi_vg = $1; $scsi_lv = $2;
		}
	else {
		$hfs_dev = 2; $scsi_path = $_[1];
		}
	$scsi_path = $_[1];

	printf "<input type=radio name=hfs_dev value=0 %s> SCSI Disk:\n",
		$hfs_dev == 0 ? "checked" : "";
	print "Controller <input name=hfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=hfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=hfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=hfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=hfs_dev value=1 %s> LVM Device:\n",
		$hfs_dev == 1 ? "checked" : "";
	print "Volume Group <input name=hfs_vg size=2 value=\"$scsi_vg\">\n";
	print "Logical Volume <input name=hfs_lv size=20 value=\"$scsi_lv\"><br>\n";

	printf "<input type=radio name=hfs_dev value=2 %s> Other Device:\n",
		$hfs_dev == 2 ? "checked" : "";
	print "<input name=hfs_path size=20 value=\"$scsi_path\">";
        print &file_chooser_button("hfs_path", 0);
        print "<br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "vxfs") {
	# Mounted from a normal disk, LVM device or from
	# somewhere else
	print "<tr> <td valign=top><b>VXFS Device</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$jfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$jfs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/vg([0-9]+)\/(\S+)/) {
		$jfs_dev = 1; $scsi_vg = $1; $scsi_lv = $2;
		}
	else {
		$jfs_dev = 2; $scsi_path = $_[1];
		}
	$scsi_path = $_[1];

	printf "<input type=radio name=jfs_dev value=0 %s> SCSI Disk:\n",
		$jfs_dev == 0 ? "checked" : "";
	print "Controller <input name=jfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=jfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=jfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=jfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=jfs_dev value=1 %s> LVM Device:\n",
		$jfs_dev == 1 ? "checked" : "";
	print "Volume Group <input name=jfs_vg size=2 value=\"$scsi_vg\">\n";
	print "Logical Volume <input name=jfs_lv size=20 value=\"$scsi_lv\"><br>\n";

	printf "<input type=radio name=jfs_dev value=2 %s> Other Device:\n",
		$jfs_dev == 2 ? "checked" : "";
	print "<input name=jfs_path size=20 value=\"$scsi_path\">";
        print &file_chooser_button("jfs_path", 0);
        print "<br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swapping to a disk partition or a file
	print "<tr> <td valign=top><b>Swap File</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$swap_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] =~ /^\/dev\/vg([0-9]+)\/(\S+)/) {
		$swap_dev = 1; $scsi_vg = $1; $scsi_lv = $2;
		}
	else {
		$swap_dev = 2; $scsi_path = $_[1];
		}
	$scsi_path = $_[1];
	printf "<input type=radio name=swap_dev value=0 %s> SCSI Disk:\n",
		$swap_dev == 0 ? "checked" : "";
	print "Controller <input name=swap_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=swap_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=swap_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=swap_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=swap_dev value=1 %s> LVM Device:\n",
		$swap_dev == 1 ? "checked" : "";
	print "Volume Group <input name=swap_vg size=2 value=\"$scsi_vg\">\n";
	print "Logical Volume <input name=swap_lv size=20 value=\"$scsi_lv\"><br>\n";

	printf "<input type=radio name=swap_dev value=2 %s> File:\n",
		$swap_dev == 2 ? "checked" : "";
	print "<input name=swap_path size=20 value=\"$scsi_path\">";
        print &file_chooser_button("swap_path", 0);
	print "<br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "cdfs") {
	# Mounting a SCSI cdrom
	print "<tr> <td valign=top><b>CDROM Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)$/) {
		$cdfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3;
		}
	else {
		$cdfs_dev = 1; $scsi_path = $_[1];
		}
	$scsi_path = $_[1];
	printf "<input type=radio name=cdfs_dev value=0 %s> SCSI Device:\n",
		$cdfs_dev == 0 ? "checked" : "";
	print "Controller <input name=cdfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=cdfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=cdfs_d size=3 value=\"$scsi_d\">\n<BR>";

	printf "<input type=radio name=cdfs_dev value=1 %s> Other Device:\n",
		$cdfs_dev == 1 ? "checked" : "";
	print "<input name=cdfs_path size=20 value=\"$scsi_path\">";
        print &file_chooser_button("cdfs_path", 0);
	print "<br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "lofs") {
	# Mounting some directory to another location
	print "<tr> <td><b>Original Directory</b></td>\n";
	print "<td><input name=lofs_src size=30 value=\"$_[1]\">\n";
	print &file_chooser_button("lofs_src", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swapfs") {
	# Mounting a cached filesystem of some type.. need a location for
	# the source of the mount
	print "<tr> <td><b>Cache Source</b></td>\n";
	print "<td><input name=cfs_src size=20 value=\"$_[1]\"></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# An automounter entry.. can be -hosts, -xfn or from some mapping
	print "<tr> <td valign=top><b>Automounter map</b></td>\n";
	printf "<td><input type=radio name=autofs_type value=0 %s>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : "checked";
	printf "Use map <input name=autofs_map size=20 value=\"%s\"><br>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : $_[1];
	printf "<input type=radio name=autofs_type value=1 %s>\n",
		$_[1] eq "-hosts" ? "checked" : "";
	print "All NFS exports map<br>\n";
	printf "<input type=radio name=autofs_type value=2 %s>\n",
		$_[1] eq "-xfn" ? "checked" : "";
	print "Federated  Naming  Service map</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a partilcar filesystem 
# under this OS
sub generate_options
{
if ($_[0] eq "nfs") {
	# NFS has many options, not all of which are editable here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=nfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=nfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> Yes\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> No</td>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> Yes\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> No</td> </tr>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<tr> <td><b>Allow interrupts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>Allow Access to Local Devices?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nodevs value=0 %s> Yes\n",
		defined($options{"nodevs"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nodevs value=1 %s> No</td> </tr>\n",
		defined($options{"nodevs"}) ? "checked" : "";
	}
if ($_[0] eq "hfs") {
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=hfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=hfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=hfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=hfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

        print "<tr> <td><b>Enable quotas at boot time?</b></td>\n";
        printf "<td nowrap><input type=radio name=hfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
        printf "<input type=radio name=hfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";
	}
if ($_[0] eq "vxfs") {
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=jfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=jfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Full integrity for all Metadata?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_log value=1 %s> Yes\n",
		defined($options{"log"}) ? "checked" : "";
	printf "<input type=radio name=jfs_log value=0 %s> No</td>\n",
		defined($options{"log"}) ? "" : "checked";

	print "<td><b>Synchronous-write data logging?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_syncw value=1 %s> Yes\n",
		!defined($options{"nodatainlog"}) ? "checked" : "";
	printf "<input type=radio name=jfs_syncw value=0 %s> No</td> </tr>\n",
		!defined($options{"nodatainlog"}) ? "" : "checked";

        print "<tr> <td><b>Enable quotas at boot time?</b></td>\n";
        printf "<td nowrap><input type=radio name=jfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
        printf "<input type=radio name=jfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";
	}
if ($_[0] eq "cdfs") {
	print "<tr> <td><b>Disallow setuid programs?</b></td>\n";
	printf"<td nowrap><input type=radio name=cdfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cdfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "lofs") {
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=lofs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lofs_ro value=0 %s> No</td> </tr>\n",
		defined($options{"ro"}) ? "" : "checked";
	}
if ($_[0] eq "swap") {
	local($i);
	print "<tr> <td><b>Priority</b></td>\n";
	print "<td><select name=swap_pri>\n";
	for ($i = 0; $i < 11; ++$i) {
		printf "<option value=\"%s\" %s>%s\n",
			$i, $options{"pri"} == $i ? "selected" : "", $i;
		}
	print "</select></td> </tr>\n";
	}
if ($_[0] eq "swapfs") {
	# The caching filesystem has lots of options.. cachefs mounts can
	# be of an existing 'manually' mounted back filesystem, or of a
	# back-filesystem that has been automatically mounted by the cache.
	# The user should never see the automatic mountings made by cachefs.
	print "<tr> <td><b>Real filesystem type</b></td>\n";
	print "<td nowrap><select name=cfs_backfstype>\n";
	if (!defined($options{backfstype})) { $options{backfstype} = "nfs"; }
	foreach (&list_fstypes()) {
		if ($_ eq "cachefs") { next; }
		printf "<option value=\"$_\" %s>$_\n",
			$_ eq $options{backfstype} ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Real mount point</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_noback value=1 %s> Automatic\n",
		defined($options{"backpath"}) ? "" : "checked";
	printf "<input type=radio name=cfs_noback value=0 %s>\n",
		defined($options{"backpath"}) ? "checked" : "";
	print "<input size=10 name=cfs_backpath value=\"$options{backpath}\"></td> </tr>\n";

	print "<tr> <td><b>Cache directory</b></td>\n";
	printf "<td nowrap><input size=10 name=cfs_cachedir value=\"%s\"></td>\n",
		defined($options{"cachedir"}) ? $options{"cachedir"} : "/cache";

	print "<td><b>Write mode</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_wmode value=0 %s> Write-around\n",
		defined($options{"non-shared"}) ? "" : "checked";
	printf "<input type=radio name=cfs_wmode value=1 %s> Non-shared\n",
		defined($options{"non-shared"}) ? "checked" : "";
	print "</td> </tr>\n";

	print "<tr> <td><b>Consistency check</b></td>\n";
	print "<td><select name=cfs_con>\n";
	print "<option value=1> Periodically\n";
	printf "<option value=0 %s> Never\n",
		defined($options{"noconst"}) ? "selected" : "";
	printf "<option value=2 %s> On demand\n",
		defined($options{"demandconst"}) ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>Check permissions in cache?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_local value=1 %s> Yes\n",
		defined($options{"local-access"}) ? "checked" : "";
	printf "<input type=radio name=cfs_local value=0 %s> No</td> </tr>\n",
		defined($options{"local-access"}) ? "" : "checked";

	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=cfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "autofs") {
	# Autofs has lots of options, depending on the type of file
	# system being automounted.. the fstype options determines this
	local($fstype);
	$fstype = $options{fstype} eq "" ? "nfs" : $options{fstype};
	&generate_options($fstype);
	print "<input type=hidden name=autofs_fstype value=\"$fstype\">\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

        # Use ping and showmount to see if the host exists and is up
        if ($in{nfs_host} !~ /^\S+$/) {
                &error("'$in{nfs_host}' is not a valid hostname");
                }
        $out = `ping '$in{nfs_host}' -n 1 2>&1`;
        if ($out =~ /unknown host/i) {
                &error("The host '$in{nfs_host}' does not exist");
                }
        elsif ($out =~ /100\% packet loss/) {
                &error("The host '$in{nfs_host}' is down");
                }
        $out = `showmount -e '$in{nfs_host}' 2>&1`;
        if ($out =~ /Unable to receive/) {
                &error("The host '$in{nfs_host}' does not support NFS");
                }
        elsif ($?) {
                &error("Failed to get mount list : $out");
                }

        # Validate directory name
        foreach (split(/\n/, $out)) {
                if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
                }
        if ($in{nfs_dir} !~ /^\/\S+$/) {
                &error("'$in{nfs_dir}' is not a valid directory name. The ".
                       "available directories on $in{nfs_host} are:".
                       "<pre>$dirlist</pre>");
                }

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "hfs") {
	# Get the device name
	if ($in{hfs_dev} == 0) {
		$in{hfs_c} =~ /^[0-9]+$/ ||
			&error("'$in{hfs_c}' is not a valid SCSI controller");
		$in{hfs_t} =~ /^[0-9]+$/ ||
			&error("'$in{hfs_t}' is not a valid SCSI target");
		$in{hfs_d} =~ /^[0-9]+$/ ||
			&error("'$in{hfs_d}' is not a valid SCSI unit");
		$in{hfs_s} =~ /^[0-9]+$/ ||
			&error("'$in{hfs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{hfs_c}t$in{hfs_t}d$in{hfs_d}s$in{hfs_s}";
		}
	elsif ($in{hfs_dev} == 1) {
		$in{hfs_vg} =~ /^[0-9]+$/ ||
			&error("'$in{hfs_vg}' is not a valid Volume Group");
		$in{hfs_lv} =~ /^\S+$/ ||
			&error("'$in{hfs_lv}' is not a valid Logical Volume");
		$dv = "/dev/vg$in{hfs_vg}/$in{hfs_lv}";
		}
	else {
		$in{hfs_path} =~ /^\/\S+$/ ||
			&error("'$in{hfs_path}' is not a valid pathname");
		$dv = $in{hfs_path};
		}

	&fstyp_check($dv, "hfs");
	return $dv;
	}
elsif ($_[0] eq "vxfs") {
	# Get the device name
	if ($in{jfs_dev} == 0) {
		$in{jfs_c} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_c}' is not a valid SCSI controller");
		$in{jfs_t} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_t}' is not a valid SCSI target");
		$in{jfs_d} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_d}' is not a valid SCSI unit");
		$in{jfs_s} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{jfs_c}t$in{jfs_t}d$in{jfs_d}s$in{jfs_s}";
		}
	elsif ($in{jfs_dev} == 1) {
		$in{jfs_vg} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_vg}' is not a valid Volume Group");
		$in{jfs_lv} =~ /^\S+$/ ||
			&error("'$in{jfs_lv}' is not a valid Logical Volume");
		$dv = "/dev/vg$in{jfs_vg}/$in{jfs_lv}";
		}
	else {
		$in{jfs_path} =~ /^\/\S+$/ ||
			&error("'$in{jfs_path}' is not a valid pathname");
		$dv = $in{jfs_path};
		}

	&fstyp_check($dv, "vxfs");
	return $dv;
	}
elsif ($_[0] eq "lofs") {
	# Get and check the original directory
	$dv = $in{'lofs_src'};
	if (!(-r $dv)) { &error("'$in{lofs_src}' does not exist"); }
	if (!(-d $dv)) { &error("'$in{lofs_src}' is not a directory"); }
	return $dv;
	}
elsif ($_[0] eq "swap") {
	if ($in{swap_dev} == 0) {
		$in{swap_c} =~ /^[0-9]+$/ ||
			&error("'$in{swap_c}' is not a valid SCSI controller");
		$in{swap_t} =~ /^[0-9]+$/ ||
			&error("'$in{swap_t}' is not a valid SCSI target");
		$in{swap_d} =~ /^[0-9]+$/ ||
			&error("'$in{swap_d}' is not a valid SCSI unit");
		$in{swap_s} =~ /^[0-9]+$/ ||
			&error("'$in{swap_s}' is not a valid SCSI partition");
		$dv="/dev/dsk/c$in{swap_c}t$in{swap_t}d$in{swap_d}s$in{swap_s}";
		}
	elsif ($in{swap_dev} == 1) {
		$in{swap_vg} =~ /^[0-9]+$/ ||
			&error("'$in{swap_vg}' is not a valid Volume Group");
		$in{swap_lv} =~ /^\S+$/ ||
			&error("'$in{swap_lv}' is not a valid Logical Volume");
		$dv = "/dev/vg$in{swap_vg}/$in{swap_lv}";
		}
	else {
		$in{swap_path} =~ /^\/\S+$/ ||
			&error("'$in{swap_path}' is not a valid pathname");
		$dv = $in{swap_path};
		}
	&fstyp_check($dv, "swap");
	return $dv;
	}
elsif ($_[0] eq "cdfs") {
	# Get the device name
	if ($in{cdfs_dev} == 0) {
		$in{cdfs_c} =~ /^[0-9]+$/ ||
			&error("'$in{cdfs_c}' is not a valid SCSI controller");
		$in{cdfs_t} =~ /^[0-9]+$/ ||
			&error("'$in{cdfs_t}' is not a valid SCSI target");
		$in{cdfs_d} =~ /^[0-9]+$/ ||
			&error("'$in{cdfs_d}' is not a valid SCSI unit");
		$dv = "/dev/dsk/c$in{cdfs_c}t$in{cdfs_t}d$in{cdfs_d}";
		}
	else {
		$in{cdfs_path} =~ /^\/\S+$/ ||
			&error("'$in{cdfs_path}' is not a valid pathname");
		$dv = $in{cdfs_path};
		}

	&fstyp_check($dv, "cdfs");
	return $dv;
	}
elsif ($_[0] eq "swapfs") {
	# In order to check the location for the caching filesystem, we need
	# to check the back filesystem
	if (!$in{cfs_noback}) {
		# The back filesystem is manually mounted.. hopefully
		local($bidx, @mlist, @binfo);
		$bidx = &get_mounted($in{cfs_backpath}, "*");
		if ($bidx < 0) {
			&error("The back filesystem '$in{cfs_backpath}' is ".
			       "not mounted");
			}
		@mlist = &list_mounted();
		@binfo = @{$mlist[$bidx]};
		if ($binfo[2] ne $in{cfs_backfstype}) {
			&error("The back filesystem is '$binfo[2]', not ".
			       "'$in{cfs_backfstype}'");
			}
		}
	else {
		# Need to automatically mount the back filesystem.. check
		# it for sanity first.
		# But HOW?
		$in{cfs_src} =~ /^\S+$/ ||
			&error("'$in{cfs_src}' is not a valid cache source");
		}
	return $in{cfs_src};
	}
elsif ($_[0] eq "autofs") {
	# An autofs filesystem can be either mounted from the special
	# -hosts and -xfn maps, or from a normal map. The map can be a file
	# name (if it starts with /), or an NIS map (if it doesn't)
	if ($in{autofs_type} == 0) {
		# Normal map
		$in{autofs_map} =~ /\S/ ||
			&error("You did not enter an automount map name");
		if ($in{autofs_map} =~ /^\// && !(-r $in{autofs_map})) {
			&error("The map file '$in{autofs_map}' does not exist");
			}
		return $in{autofs_map};
		}
	elsif ($in{autofs_type} == 1) {
		# Special hosts map (automount all shares from some host)
		return "-hosts";
		}
	else {
		# Special FNS map (not sure what this does)
		return "-xfn";
		}
	}
}

# fstyp_check(device, type)
# Check if some device exists, and contains a filesystem of the given type,
# using the fstyp command.
sub fstyp_check
{
local($out, $part, $found);

# Check if the device/partition actually exists
if ($_[0] =~ /^\/dev\/dsk\/c(.)t(.)d(.)s(.)$/) {
	# a normal scsi device..
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
                	&error("The SCSI target for '$_[0]' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
                	&error("The SCSI target for '$_[0]' does not exist");
			}
		}
	close(DEV);
	}
elsif ($_[0] =~ /^\/dev\/vg([0-9]+)\/(\S+)$/) {
	# Logical Volume device..
	$out = `lvdisplay -v $_[0] 2>&1`;
	if ($out =~ /No such file or directory/) {
		&error("The Logical Volume device for '$_[0]' does not exist");
		}
	}
else {
	# Some other device
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
			&error("The device file '$_[0]' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The device for '$_[0]' does not exist");
			}
		}
	close(DEV);
	}

# Check the filesystem type
if ($_[1] ne "cdfs" && $_[1] ne "swap") {
	$out = `fstyp $_[0] 2>&1`;
	if ($out =~ /^([A-z0-9]+)\n$/) {
		if ($1 eq $_[1]) { return; }
		else {
			# Wrong filesystem type
			&error("The device '$_[0]' is formatted as a ".
			       &fstype_name($1));
			}
		}
	else {
		&error("Failed to check filesystem type : $out");
		}
	}
}


# check_options(type)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);
delete($options{"defaults"});

if ($_[0] eq "nfs") {
	# NFS has lots of options to parse
	if ($in{'nfs_ro'}) {
		# Read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# Read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}

	if ($in{hfs_nosuid}) {
		# nosuid
		$options{"nosuid"} = ""; delete($options{"suid"});
		}
	else {
		# suid
		$options{"suid"} = ""; delete($options{"nosuid"});
		}

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"devs"}); delete($options{"nodevs"});
	if ($in{nfs_nodevs}) { $options{"nodevs"} = ""; }
	}
elsif ($_[0] eq "hfs") {
	if ($in{hfs_ro}) {
		# read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}
	if ($in{hfs_nosuid}) {
		# nosuid
		$options{"nosuid"} = ""; delete($options{"suid"});
		}
	else {
		# suid
		$options{"suid"} = ""; delete($options{"nosuid"});
		}
	if ($in{hfs_quota}) {
		# quota
		$options{"quota"} = "";
		}
	else {
		# noquota
		delete($options{"quota"});
		}
	}
elsif ($_[0] eq "vxfs") {
	if ($in{jfs_ro}) {
		# read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}
	if ($in{jfs_nosuid}) {
		# nosuid
		$options{"nosuid"} = ""; delete($options{"suid"});
		}
	else {
		# suid
		$options{"suid"} = ""; delete($options{"nosuid"});
		}
	if ($in{jfs_log}) {
		# log
		$options{"log"} = ""; delete($options{"delaylog"});
		}
	else {
		# delaylog
		$options{"delaylog"} = ""; delete($options{"log"});
		}
	if ($in{jfs_syncw}) {
		# datainlog
		$options{"datainlog"} = ""; delete($options{"nodatainlog"});
		}
	else {
		# nodatainlog
		$options{"nodatainlog"} = ""; delete($options{"datainlog"});
		}
	if ($in{jfs_quota}) {
		# quota
		$options{"quota"} = "";
		}
	else {
		# noquota
		delete($options{"quota"});
		}
	}
elsif ($_[0] eq "lofs") {
	if ($in{lofs_ro}) {
		# read-only
		$options{"ro"} = "";
		}
	else {
		# read-write
		$options{"defaults"} = "";
		}
	}
elsif ($_[0] eq "swap") {
	$options{"pri"} = $in{swap_pri};
	}
elsif ($_[0] eq "cdfs") {
	# read-only
	$options{"ro"} = "";
	if ($in{cdfs_nosuid}) {
		# nosuid
		$options{"nosuid"} = ""; delete($options{"suid"});
		}
	else {
		# suid
		$options{"suid"} = ""; delete($options{"nosuid"});
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have only one option
	delete($options{"size"});
	if (!$in{"tmpfs_size_def"}) {
		$options{"size"} = "$in{tmpfs_size}$in{tmpfs_unit}";
		}
	}
elsif ($_[0] eq "swapfs") {
	# The caching filesystem has lots of options
	$options{"backfstype"} = $in{"cfs_backfstype"};

	delete($options{"backpath"});
	if (!$in{"cfs_noback"}) {
		# A back filesystem was given..  (alreadys checked)
		$options{"backpath"} = $in{"cfs_backpath"};
		}

	if ($in{"cfs_cachedir"} !~ /^\/\S+/) {
		&error("'$in{cfs_cachedir}' is not a valid cache directory");
		}
	$options{"cachedir"} = $in{"cfs_cachedir"};

	delete($options{"write-around"}); delete($options{"non-shared"});
	if ($in{"cfs_wmode"}) {
		$options{"non-shared"} = "";
		}

	delete($options{"noconst"}); delete($options{"demandconst"});
	if ($in{"cfs_con"} == 0) { $options{"noconst"} = ""; }
	elsif ($in{"cfs_con"} == 2) { $options{"demandconst"} = ""; }

	delete($options{"ro"}); delete($options{"rw"});
	if ($in{"cfs_ro"}) { $options{"ro"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{"cfs_nosuid"}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "autofs") {
	# The options for autofs depend on the type of the automounted
	# filesystem.. 
	$options{"fstype"} = $in{"autofs_fstype"};
	return &check_options($options{"fstype"});
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# create_swap(path, size, units)
# Attempt to create a swap file 
sub create_swap
{
local($out);
$out = `mkfile $_[1]$_[2] $_[0] 2>&1`;
if ($?) {
	unlink($_[0]);
	return "mkfile failed : $out";
	}
return 0;
}


# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out, $hostname, $broadcast, @tmp);
$hostname = get_system_hostname();
$out = `netstat -i 2>&1 | grep $hostname`;
if ($out =~ /\s+(\S*)\s+(\S*)\s+(.*)/) {
	$broadcast = "$2.255.255.255";
	@tmp = split(/\./,$broadcast);
	$broadcast = "$tmp[0].$tmp[1].$tmp[2].$tmp[3]";
	return $broadcast;
	}
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'} );
}

1;
 0707010003278a000041ed0000000000000001000000023d1ffa9600000000000000200000000000000000000000000000001300000003reloc/mount/images    0707010003278b000081a40000000000000002000000013d1fe2bd000008c8000000200000000000000000000000000000001c00000003reloc/mount/images/auto.gif   GIF89a0 0 ç  ŠŽ”ÆÊÌNV\.:Dâæäª®´nrtÖÚÜBJT"*4>>Lòöôº¾Ä*24bflžžœÖÎÌ6BLêîì~‚„âÚÔÆ¾¼6:<Z^d**,224¦¦¤ÒÒÔ¶¶´fntÖÖÔòîìÆÆÄ"$’–œvz„RRT>FTþþüââäÎÊÄúöô6>DJJLŠ†ŒâÞäÞÖÔ’’”VV\êæìÞÚÜ".4.6<jfl¦¢¤bbd*.426<®ª¬òòì&&,ÎÎÌŠ’”2>L²®¬>BDöúôÂ¾¼ž¢¤ÆÂÄ¾º¼ÎÆÌ&,~~„2:Lrv|.24fjl:FTîòì†ŠŒæÚä6:L^bd¦ª¬nnlÚÖÔÊÆÄz~„FFL:>DJNTVZ\ÞÞÜ..466<ÒÎÌ>BTŽŽŒ2:<ææärrtFJL&*,ööô¾ÂÄÖÒÔ:BLîîì††ŒæÚÜ::DÒÖÔºº¼öîô"",ššœzz|BFLúúüŠŠŒæÞÜâÖÜêêì&.4öòô²²´‚†„ÂÂÄjjlª¦¬Ž’œBBL¢¢¤ÊÂÄZZ\ÊÊÌRV\®®´ÚÚÜ¾¾Äfflº¶´jnt––œæâä"&,ªª¬ÚÒÔþúüŽŠŒîêì*2<žž¤âÚÜÆ¾Ä6:DZ^l**422<ÒÒÜÖÖÜòîôÆÆÌ",RR\ÎÊÌ6>LJJTÞÖÜÞÚä.6Dbbl*.<26D®ª´òòôÎÎÔ²®´>BLöúüÆÂÌ¾ºÄ.2<fjt^blnntÚÖÜÊÆÌ:>LJN\VZdÞÞä..<66DÒÎÔ$ŽŽ”2:Dææìrr|FJT&*4ööü:BTîîôzz„BFTæÞä&.<¢¢¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ OH° Á<*\È°¡šg}’%33©â¤>²ò4Ü¸1Ï37nxð 9ÁM&™@¢è£†£K‚²B~|öd¦>}LæÌd&Y³—ÝÈ*käÇ”&‘ÞDjÆÐ…y ¨i¦Fä³¢qN˜Ð'SJ¯8%>-hë™­!<	²mW783•l×ŒÆ±yÜØÚË «,šsáæLúnÝ±' Ø:a+O³¢mgºÙÊu‚×›} ÒŒø4í^[TÙõò×›–qÖ4üÒã‰!{U<vC“öV¸\'{‰ç¨M¥P¼”¥æó^5Cé’´,N7Éæd‰&Á	H—nò,ÞKU¨RIþƒÜuÔˆm$l‘ð«TŽd5Û;„jòšÏÌ°ñEÄÈ,nLÂÈ BlñK-é­ Ámd†°}ö~ ôB¨Ì‚Š€Â…'ž¤Ò†ˆm´ñ‹3	ÈáC—Lb‹
Ÿ¥ÙZ^
„±+[è ƒ'S¬°‚‰¿üòD	’LCyHÑU8&šIÏ(2Ž‚‡Èt¹BˆžÙ†&´aÂ Â1”'i1 ÚT1‘
!ò@°Ô@ ,°t	„'”èŒ OD³ÁO©áä“P"…²Œ|–,–¶‚L˜¿ˆh‰fš ‹,5³‡@ØL|ÂHòÀþ5èPF­èPƒ¦_®Ê©üRb¯m8c©°J|Œ6(ÌPÚe+±jÒ§Ÿ+tJ¢J@âQ°È©œ0_èàÇ¥5ä¢‰¦]nf ¿(híÁ:Ì]ÂÇjüÁo||¡@#³…'í"£1ïŽ˜Ê[L±°OˆQCÒd"¸ôÅˆ hÒ%,´‹p»58PCºîºBì•øÉ]ý!ÅP«"—Ì¤¹è€.,Î"œC(wØQÈ)`xË© šÊÓµ(’ï¾}õ%ðI€¬È”¼5,M˜ ÈœÌÐHKƒhm*Ø’À2õ—¥è
Ð¬þ´­|a@#Â¬"ø(Ë ³„®™Š	f@u…,ñÉD‹ðyk.êæm-Dà‚Šx1/È¬°kOaC+EJMv´K.çÝJ.	<°H02Ãèš.Ä!b›Ê"ˆ”‡¤@QTDxB0æêj¢n ƒè3p`BÉe,q*L?Ý CPCSV}èBðûÐZÿE"ŒŒÒH#lðr«*o±AˆS`*À" €}} D(ÒE=êYzØÄ1JŠS3èÅ)€ „T CžFCúpÀÞ @: Þ+ ‰Whâ…¡hxˆ7B@Å$±d¤bbþž8ÆFÜà…>˜ÁˆoÀœrƒa£	ÀÞpÁÙ€OÄ€ÁPQ‹VOiµ ÙBà/ÈÀ¥¨Á0^ñ
&¾â‰‰€Àzq…^¢Ke(® d Á‡žøE\Ò‡¸ 1`¢™†20aØðIr¡|"Ž€°) c
Ä8Dkdðcøa4HB@!, ’ÅˆÀ$ÙpŒ÷¹b’®ø#ˆâ°"Ž\â—0C.ü  ,2v€$p4I”b/¼  "p0cLXbNÀfxSÞL*ðJHÊ’LÀœ6†N¢PØ¦@ÁŒb2#i ø#‘‚r#>`Àˆþ|@ŒÛlz  UR¢g@úYÎ0 ÂGðEãäi= € A4p‰¢‚¢!8ZÂQ…x! ¥„)@ª‡J@Àˆ8ÂñË–2¤"M%’P`âD&|Ê‘5ôÀ"ƒ PG„¡L]Èr@‰:Pâ^ÈêX”K¬cáÁ$Ð ;0707010003278c000081a40000000000000002000000013d1fe2bd000008c8000000200000000000000000000000000000001e00000003reloc/mount/images/autofs.gif GIF89a0 0 ç  ŠŽ”ÆÊÌNV\.:Dâæäª®´nrtÖÚÜBJT"*4>>Lòöôº¾Ä*24bflžžœÖÎÌ6BLêîì~‚„âÚÔÆ¾¼6:<Z^d**,224¦¦¤ÒÒÔ¶¶´fntÖÖÔòîìÆÆÄ"$’–œvz„RRT>FTþþüââäÎÊÄúöô6>DJJLŠ†ŒâÞäÞÖÔ’’”VV\êæìÞÚÜ".4.6<jfl¦¢¤bbd*.426<®ª¬òòì&&,ÎÎÌŠ’”2>L²®¬>BDöúôÂ¾¼ž¢¤ÆÂÄ¾º¼ÎÆÌ&,~~„2:Lrv|.24fjl:FTîòì†ŠŒæÚä6:L^bd¦ª¬nnlÚÖÔÊÆÄz~„FFL:>DJNTVZ\ÞÞÜ..466<ÒÎÌ>BTŽŽŒ2:<ææärrtFJL&*,ööô¾ÂÄÖÒÔ:BLîîì††ŒæÚÜ::DÒÖÔºº¼öîô"",ššœzz|BFLúúüŠŠŒæÞÜâÖÜêêì&.4öòô²²´‚†„ÂÂÄjjlª¦¬Ž’œBBL¢¢¤ÊÂÄZZ\ÊÊÌRV\®®´ÚÚÜ¾¾Äfflº¶´jnt––œæâä"&,ªª¬ÚÒÔþúüŽŠŒîêì*2<žž¤âÚÜÆ¾Ä6:DZ^l**422<ÒÒÜÖÖÜòîôÆÆÌ",RR\ÎÊÌ6>LJJTÞÖÜÞÚä.6Dbbl*.<26D®ª´òòôÎÎÔ²®´>BLöúüÆÂÌ¾ºÄ.2<fjt^blnntÚÖÜÊÆÌ:>LJN\VZdÞÞä..<66DÒÎÔ$ŽŽ”2:Dææìrr|FJT&*4ööü:BTîîôzz„BFTæÞä&.<¢¢¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ OH° Á<*\È°¡šg}’%33©â¤>²ò4Ü¸1Ï37nxð 9ÁM&™@¢è£†£K‚²B~|öd¦>}LæÌd&Y³—ÝÈ*käÇ”&‘ÞDjÆÐ…y ¨i¦Fä³¢qN˜Ð'SJ¯8%>-hë™­!<	²mW783•l×ŒÆ±yÜØÚË «,šsáæLúnÝ±' Ø:a+O³¢mgºÙÊu‚×›} ÒŒø4í^[TÙõò×›–qÖ4üÒã‰!{U<vC“öV¸\'{‰ç¨M¥P¼”¥æó^5Cé’´,N7Éæd‰&Á	H—nò,ÞKU¨RIþƒÜuÔˆm$l‘ð«TŽd5Û;„jòšÏÌ°ñEÄÈ,nLÂÈ BlñK-é­ Ámd†°}ö~ ôB¨Ì‚Š€Â…'ž¤Ò†ˆm´ñ‹3	ÈáC—Lb‹
Ÿ¥ÙZ^
„±+[è ƒ'S¬°‚‰¿üòD	’LCyHÑU8&šIÏ(2Ž‚‡Èt¹BˆžÙ†&´aÂ Â1”'i1 ÚT1‘
!ò@°Ô@ ,°t	„'”èŒ OD³ÁO©áä“P"…²Œ|–,–¶‚L˜¿ˆh‰fš ‹,5³‡@ØL|ÂHòÀþ5èPF­èPƒ¦_®Ê©üRb¯m8c©°J|Œ6(ÌPÚe+±jÒ§Ÿ+tJ¢J@âQ°È©œ0_èàÇ¥5ä¢‰¦]nf ¿(híÁ:Ì]ÂÇjüÁo||¡@#³…'í"£1ïŽ˜Ê[L±°OˆQCÒd"¸ôÅˆ hÒ%,´‹p»58PCºîºBì•øÉ]ý!ÅP«"—Ì¤¹è€.,Î"œC(wØQÈ)`xË© šÊÓµ(’ï¾}õ%ðI€¬È”¼5,M˜ ÈœÌÐHKƒhm*Ø’À2õ—¥è
Ð¬þ´­|a@#Â¬"ø(Ë ³„®™Š	f@u…,ñÉD‹ðyk.êæm-Dà‚Šx1/È¬°kOaC+EJMv´K.çÝJ.	<°H02Ãèš.Ä!b›Ê"ˆ”‡¤@QTDxB0æêj¢n ƒè3p`BÉe,q*L?Ý CPCSV}èBðûÐZÿE"ŒŒÒH#lðr«*o±AˆS`*À" €}} D(ÒE=êYzØÄ1JŠS3èÅ)€ „T CžFCúpÀÞ @: Þ+ ‰Whâ…¡hxˆ7B@Å$±d¤bbþž8ÆFÜà…>˜ÁˆoÀœrƒa£	ÀÞpÁÙ€OÄ€ÁPQ‹VOiµ ÙBà/ÈÀ¥¨Á0^ñ
&¾â‰‰€Àzq…^¢Ke(® d Á‡žøE\Ò‡¸ 1`¢™†20aØðIr¡|"Ž€°) c
Ä8Dkdðcøa4HB@!, ’ÅˆÀ$ÙpŒ÷¹b’®ø#ˆâ°"Ž\â—0C.ü  ,2v€$p4I”b/¼  "p0cLXbNÀfxSÞL*ðJHÊ’LÀœ6†N¢PØ¦@ÁŒb2#i ø#‘‚r#>`Àˆþ|@ŒÛlz  UR¢g@úYÎ0 ÂGðEãäi= € A4p‰¢‚¢!8ZÂQ…x! ¥„)@ª‡J@Àˆ8ÂñË–2¤"M%’P`âD&|Ê‘5ôÀ"ƒ PG„¡L]Èr@‰:Pâ^ÈêX”K¬cáÁ$Ð ;0707010003278d000081a40000000000000002000000013d1fe2bd00000920000000200000000000000000000000000000001f00000003reloc/mount/images/cachefs.gif    GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áõ*\È°¡.Bù6œH‘ 3,à!bÅ
ÙÅáT«¯Vq<@ô($Åz¾n9s†Ù4fÑÖyÛòÍ£K†	ëESÅŒÙMf3oNó•OËŸ
ë)@h—¯`Ó¤dÊm²zÇÈÙ;ááTƒõô<°ãÄ4XOìgÑÃhœ° î,Ajm  è‚‚É<ºfbÔÈ±Y½,8µ»|ö"Fë"jœ‡)D’4Y/%Äz¨:ëù‘šÇÌÑ>$ia@L™42«§“'êu¨¿uøÔà7Ô³Í!Ç‰H=ÛC‹^Ì¸ÑÃ4ÔN¯îza6"ÙÄþ]u‚Æ‚¤RÝ%ºäIÓaë¨÷l»qä˜¡ò¢Ð]ÇTâŒ=¤ÔAZkípÛL5Ý”ÓNßˆ#_ëÍ4Óì €B°H¡C!{#Í)PS Be”tÎ(åK-NA&Ù!ÞÄÉ+øDÜ6‚H˜e)Ø“zU]•ÕV]}ÖXeÕ³Í6«3Ë4 P O¡RH+Pƒâ²å\rÑµˆ„Ñ¼³^×Í.ªÔ³€'ä8.dW )d˜`„†˜3|lÀÙdSK3½È8ÙvÜqÂƒÐÂ¬}že£Øƒåf}–B`t;ìèiÙª¼­†Ÿ~þ^aÀ¬¤˜âšºPSI=öØSGl³Õ¶ '¤PÓÌ8ë|)p©1+Ü…õhhÀªdBI_ùè	¢rÌ‘„t0ä"ÂmS!¤©5»]=ÔØˆ£7õ²E/šŠ×yæ¡—B
Üð$/Ænƒìºì0Ë›}¯îG¥•XJÁ®X |0 `0ó‹*Ôt5Í8ã°ÓL+¾Ô#ºÖ¨¡Ft®@Y>~âˆ)t Y8ãÊ.ÍDòÍ4ÛLÃ	#·¼ÈI3ë˜KŽ752sã
ìyéq<ú@ß¤ AÜ0Ë,®ÌÓ…Þ Á¤ÒÈ3¦4³M7OÞ$åÂWÖc@­ùhÉ%þ hDÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²œ,×Y-%ùàÙE/¥ðÁÖ<¸â
)a£3¾ÈPÓÊ7²Ô²Î4"ã‹/ªHJ©¥˜n!9SH X°‘%[¡Bø,›«‚‹<Ó±ÀŒÆ›×2Ë-O !+­¶z$	R(BP­*¨°¢Ê,¬àR'­L²‡"qØ!|Á«lîkª0ƒ 62­ÏaK …Âô   H)XÁŠ°íªˆDP@ˆhàbstáT!€¾ Þ`„¼zQ9H¡q €  AˆMøþÒûõxÁ‹ßp·À_g±‰EH€OÄàøà‡að€.ð„L,b™ðá&ê‡?Õ}ÍŒöS…*@¡Šð€Í0Ì  àe©Ç;¤ð ! €Ä&!Æ´m‚ƒ `Å,Pá
T8rŒžX€	Lá
@ÔÁeØCÆ3 â€Ä",	T„BD…ÓæŠM"‘c Àx¡
= , àEÊ€„0BQàÄ"AKXŒ™€D&HáJOÌ! Ø214Ø 6øÂKò‡ (# Q	Q*3ž n`€ ˆàvS,ƒ$P†cg!	øñE7I!
x  °À	nÀƒ½  •2ÀÔ(…8Œ€km ŽKÈ!…1b,!€Y¡ ˆ‚/á$!@‚Ž~BŽ(om8Á@*œ ¿@Ã¼0J9C"ÈyIAÊ@" ‚e3­é|‘	0´à¤HÁ6
rÏ‰Hd9àÁ$x  Ø1ÞP@ƒH@~a)ŠúË¿Õ‚`à¥2 Ë•¦U¢ùHB×‡MÔaf z@Ž»%‘€¢IÖH€Ø0lEð@G)X€®*•ìGr HÀµÐlC€
)P ¢¢ýÉ;4 ;0707010003278e000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001b00000003reloc/mount/images/ext.gif    GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;0707010003278f000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001c00000003reloc/mount/images/ext2.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;07070100032790000081a40000000000000002000000013d1fe2bd000008f3000000200000000000000000000000000000001b00000003reloc/mount/images/fat.gif    GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS––– ¢¤HHHFFF’’’XXX¬¬¬¸¸¸ËËËqrs´·ºfff”””õÚÏôÊµªª«ççç›››úíâ../ÈÉÉÄÄÄaaaò¥‘×××VVV|~‚Ö××___   õnPÐÉ¼cfi&''!!!	ËÍÍÿS£Ž‰ˆ‰Š988+     CDDeeeQQQÛ|ëW1ÿ3 -???###¾¾»Ž“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gcccáááÔÚàÙïûÝôý112ž­½›Óø¤Îóqpn–nªÏòâèîf§ê


ÃÃÃ“““½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
Ùâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ 000áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO òòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼ñÆÄÁ‘Ó žÚ@´‡Gä‹»]4 pPF˜¡A@Q‡aÔa”Ü‘y¬°pujšè@IG¬pð„„9  @1ÆœHÔQÇšHÀGø‘‡œªñj€@¢4pA=`ÀCAI€PÃf  Ç €TÄ¸i†|‚ !¼1HÃ3‡ÈäGÈl DG!	€@!¼ HþU¢ðÖ[ÒÇ! ’"x(²ó~¼‘Ç"dl áYAÄ #6Ä¡Âp 2FßsÞ\G#|8ÂÇ"@ÒA$’t0	%ˆU"	$y”¤ÐqèEeÀñ‚p@‘†uX…àH<bÈ%†äI&‘D¢É&œtâ	b|’C ÄQH„ÂÀcàÆ ™„°†l-Êó£à1É'£¢ÿ&*”‚X"ŠHmL·SP è¤€Š?¤Â˜Ÿ#úÀQˆb•P…þôÇ‰R¬‚þë $"ÁeH@TÐ
Wä€qƒxEaG8±ÐDþô'‹Ìbþ@ô_"±€€= ÅjÁ[¼â¸ÈC.`á]¤Î“è€*.±ÁMìˆAì^CH †m€&¸ExÑ_Lìpx€D&r‹_l°‡?"+€Ñ ¤: P‚ p€Vã Æ0\‘Aà¡ÄÈ…í&Ñ‰Nl‚¬ ã,dw-
¤`(€1
€ ^ðâÇ@F2”1ˆe„@“`F3féÄì"Ïè "‚%d@04”aHcÉH5ª1	k\ã™Øè@6´ÑRl²ƒxˆGŒÐ„?øoÊØÆ0”!nHC•èÆ3ŸémxÃ¿èb>!‘‹páßËÌÃ#À1Œp#Ë‡8Æ±Nrt ï„'büHèašÀCÌa£D2ÖÙOœ#¡åà$FÀ°€?„ E„"4!tƒ×H‡:²‘PoPs—ñÈlF ‚2üa!è@"r¡‚HÄ1ê BßùHfó#@÷	I¬#ÄØbØ‘f£ë@JA2°ˆ²æáŠXG$ã‰l°£oëBÚáÈ,"FkCÄP¯ÁC5¾Ø†´Ã‹ ì@ ; 07070100032791000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001c00000003reloc/mount/images/hpfs.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;07070100032792000081a40000000000000002000000013d1fe2bd00000637000000200000000000000000000000000000001c00000003reloc/mount/images/hsfs.gif   GIF89a0 0 Æ  ¾º¼ÚÞÔîòìÎÎÌêêìÞÒÔæÞäöúôÖÖÔÆÆÄöòôÖÒÌòîìâæäÞÚÜâÞÜææäÒÒÌþúüÚÚÔÎÊÌÂÂÄòöôêîìÊÊÌòòìÒÎÌÞÖÔúþüÚÖÔÊÆÄööôöîìæÚÜââÜêæä¾¾ÄÞÞäæâäúúüÚÒÔîîìâÖÜúöôÞÞÜîòôÎÎÔîêìöúüÖÖÜÆÆÌÖÒÔòîôâÚÜâÞäææìÒÒÔþþüÚÚÜÆÂÄòòôÒÎÔÞÖÜÚÖÜÊÆÌööüöîôæÚäââäêæìÂ¾Äêâäîîôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ€9‚ƒ„…†‡ˆ‰Š‹9'H7E<'Œ˜‡—Ž) /¢/EDž–™™7Ÿ ¯¡/)/)—©ˆ' <<H<)HÂ³¡Å/DHº†<•<®H®³È×¢¢)DAÍ9À'¾ÃÂÃH¢Ü±)%<º¼0ÓÒÓ°®!{PÖ+"r1Brà çÒƒ•Œ[²ò`¥`ÅˆC|0‚|Ø'-,vØuñÓ§[‹ö=|ä\Š´øêËxÄ Š„H½]œà†taÀ6k¤xWo²PX		ÌU0PÜ0N5ð"¨Gþé Z‘ÂáÌú~%˜" @HÛ.^xtõ(á‘ò)Œd©­kG`2«ò>Š—€¡„'f2&û+¶¡ Œ@vZ¶«°Õ!ÀUA‹xZéO§ 4Là RÁH
,~&Éð§uƒ$ˆ²â¡]d‡† Á0ì(lØ†×%$¡ŒŒgîóê´ã8fäÏO¡Â€¿Y&Ôaì`ÃHºa·[0§ÍvÜúé‡Ã„0C;çeôV
õp @"1iC4CÎ€ H8q`xÞ€C¥ H
`7’H
Æ 4¼àúÅ À8 þ0!$èðÊŒÍrÃ8Ea
`'Ò>-Ã@;ìG„ä .àÐ	8´”fO
òÂ
d9Ö¤Ñ`Úl;ôŸ	e
ÂƒiÑC
”hvÞ:rqðBW†ÈÃ|gÍR~â Ð=tjÄü„^<˜)¤OIj;Ýh€b„Ò„	¤9 	% ‘¨€Í¹$ˆŒ¥cMOµ §06ªAÈ öàA2˜ÑUfJPÀSY*ðÁS<œ6J
Tàg§„ª		<r”p
ÂBðpe–çty)AÖZ	?°C %òÜÀJl•RDdÕY'zþ    	$  „lí
/D(´Â¶WFú‹Án&CD‘"ˆ:2lDòÃ¾œã–Á¶š;SÁVDÃ[„-…ð0ÃÎè9£-DÝÉ®
_%	l7”Xt1àn0„AR´jd{2³ÕØ’B»è€	%¶@ÀŠ-sK	Ôw³"	 ‚-äöUfÓ·'†ß-÷Á¬ ”È:ÐráˆþÂfGRu'¬4°÷")L v-•ç-7æ˜g¾¸-DÀ"8‰VÔ¶xn¹$§Ç{ê¥9 €¨•CÐ@µç~º$
3?A©HÀƒ6~Ãq›ròÇ3?·'ŽÇë`8'ˆ€€	q› ¾	7˜bòÆïŽ»¼®K?üÀ¾Â°ODD ú®§š° ´	”8qÄ`Eê#Âún > ²Ï:è¶¶ÀBH€:€Ð`6p@4° ô­ƒ† “™‘8 È¡"0à†º(Ó	.<ñˆ ; 07070100032793000081a40000000000000002000000013d1fe2bd00000159000000200000000000000000000000000000001c00000003reloc/mount/images/icon.gif   GIF89a0 0 Â  ÿÿÿ™™™ÌÌÌ   ÌÌÿfff      !ù    ,    0 0  þºÜþ0¾@«•8/*ºÿ”&:Ág‚Á¨Õ‰¦«X
V]†±6»&œc-÷“Ìl5Z(D-§Ë÷$¹R±ÚØE¥7î¤) Sd¡ÂËÃžiÞ†Ý`#¬~ÏÇvºH[whe}†~E„‡‡Š‹ ‹y}Kz ”•{—?{š…œzžU›£Yb
§£¥O¬œ®K°•²E´¶# ¸Ž‰O™q.À
“Â&Hƒx':<T‘ÔÕÕ@t!Ì„Ç¿7H…Ôi©]BoÝÖîæV_JäïîòYô÷Öò¥Ân„€²i™…	A†Ï¦¼j˜PÙDU9	(#EÅ„4ø"o(?”lP ¥Ë—0cÊœ¹#— ;   07070100032794000081a40000000000000002000000013d1fe2bd00000637000000200000000000000000000000000000001f00000003reloc/mount/images/iso9660.gif    GIF89a0 0 Æ  ¾º¼ÚÞÔîòìÎÎÌêêìÞÒÔæÞäöúôÖÖÔÆÆÄöòôÖÒÌòîìâæäÞÚÜâÞÜææäÒÒÌþúüÚÚÔÎÊÌÂÂÄòöôêîìÊÊÌòòìÒÎÌÞÖÔúþüÚÖÔÊÆÄööôöîìæÚÜââÜêæä¾¾ÄÞÞäæâäúúüÚÒÔîîìâÖÜúöôÞÞÜîòôÎÎÔîêìöúüÖÖÜÆÆÌÖÒÔòîôâÚÜâÞäææìÒÒÔþþüÚÚÜÆÂÄòòôÒÎÔÞÖÜÚÖÜÊÆÌööüöîôæÚäââäêæìÂ¾Äêâäîîôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ€9‚ƒ„…†‡ˆ‰Š‹9'H7E<'Œ˜‡—Ž) /¢/EDž–™™7Ÿ ¯¡/)/)—©ˆ' <<H<)HÂ³¡Å/DHº†<•<®H®³È×¢¢)DAÍ9À'¾ÃÂÃH¢Ü±)%<º¼0ÓÒÓ°®!{PÖ+"r1Brà çÒƒ•Œ[²ò`¥`ÅˆC|0‚|Ø'-,vØuñÓ§[‹ö=|ä\Š´øêËxÄ Š„H½]œà†taÀ6k¤xWo²PX		ÌU0PÜ0N5ð"¨Gþé Z‘ÂáÌú~%˜" @HÛ.^xtõ(á‘ò)Œd©­kG`2«ò>Š—€¡„'f2&û+¶¡ Œ@vZ¶«°Õ!ÀUA‹xZéO§ 4Là RÁH
,~&Éð§uƒ$ˆ²â¡]d‡† Á0ì(lØ†×%$¡ŒŒgîóê´ã8fäÏO¡Â€¿Y&Ôaì`ÃHºa·[0§ÍvÜúé‡Ã„0C;çeôV
õp @"1iC4CÎ€ H8q`xÞ€C¥ H
`7’H
Æ 4¼àúÅ À8 þ0!$èðÊŒÍrÃ8Ea
`'Ò>-Ã@;ìG„ä .àÐ	8´”fO
òÂ
d9Ö¤Ñ`Úl;ôŸ	e
ÂƒiÑC
”hvÞ:rqðBW†ÈÃ|gÍR~â Ð=tjÄü„^<˜)¤OIj;Ýh€b„Ò„	¤9 	% ‘¨€Í¹$ˆŒ¥cMOµ §06ªAÈ öàA2˜ÑUfJPÀSY*ðÁS<œ6J
Tàg§„ª		<r”p
ÂBðpe–çty)AÖZ	?°C %òÜÀJl•RDdÕY'zþ    	$  „lí
/D(´Â¶WFú‹Án&CD‘"ˆ:2lDòÃ¾œã–Á¶š;SÁVDÃ[„-…ð0ÃÎè9£-DÝÉ®
_%	l7”Xt1àn0„AR´jd{2³ÕØ’B»è€	%¶@ÀŠ-sK	Ôw³"	 ‚-äöUfÓ·'†ß-÷Á¬ ”È:ÐráˆþÂfGRu'¬4°÷")L v-•ç-7æ˜g¾¸-DÀ"8‰VÔ¶xn¹$§Ç{ê¥9 €¨•CÐ@µç~º$
3?A©HÀƒ6~Ãq›ròÇ3?·'ŽÇë`8'ˆ€€	q› ¾	7˜bòÆïŽ»¼®K?üÀ¾Â°ODD ú®§š° ´	”8qÄ`Eê#Âún > ²Ï:è¶¶ÀBH€:€Ð`6p@4° ô­ƒ† “™‘8 È¡"0à†º(Ó	.<ñˆ ; 07070100032795000081a40000000000000002000000013d1fe2bd000004c3000000200000000000000000000000000000001c00000003reloc/mount/images/lofs.gif   GIF87a0 0 ¥  øøø   øüøððð¸¸¸€€€ÈÈÈ888èèèppp˜˜˜°°°¨¨¨ÐÐÐØØØXXXxxxˆˆˆÀÀÀPPPààà   HHHhhh(((000   ```@@@                                                                                             ,    0 0  þ@€pH,È¤r	8ŸP¦T	­ZD`J½z£Ú-×è%†×°x,¬	À¹èT‡Çn¢á€H$
rFvkRyB
q‚sjVKQCŸ‚B[ZU…dO“ ž  sYPZI˜
º‡G­	ÜÐmC©»XHQNà8à À¤6 ÞÁc…åÌ :\P°aƒ,5 £œs”"ÒŠ¡C dØ Oƒ \µqcÇŽ  2§äþ­2^hð!C
€Œ°`¦Í›8mB éäç‡V0pH  @Åÿ" Á)È§j^¸`à4Uc^uÒ¬ àÁ€#Ë ¬]Ð–À ³i/ †p žOO&C°Ao	…€ˆ¸› y3`lhwÀz"lÈ«€ƒF  Ž €†(è r)¨
º[ZàPò	Þ ~ XôàAÆ Pxe À àÄ8wª@ÌQtÍøS9ïê8 ï·@…	Ÿt°@V'b4p@WN0×†@ÖÒ $S|  p¨u ‚&×•wÛ7þÌõÄTOH`xýàƒò5â@€00Œ_2ât4æÄ:O°Ü-ð ÀÅWhmÀÀÔR€:ñ‡@©ÇX N€P@2/yÛ“OÞöàŠ$zE]Mp¥)@@ x¦ƒ)Šy$Šñ…ƒ_x`Az- å=PÐ `Çâñ1‚"‹©a_xàÁqùtA<À (
¤|ßKñÝ˜Ïd M ýÄõæ€Z ÈP@A 4˜Lƒ¼ÔÀ’´ £lÀÁ[>ÝêÑL_¦–*l0ëúM¨^TpàBë·A µYååZq³TgÒ( Uè¦+ÄxPÀ¦8P€À!A‡$)þžkÄÔ:€p
…¥¾I Á¬ÍðtF´p‹|PotûC@lðAÃŒ”	É%/4G BcèÀ@äÊA:ÄƒsÉGt ò®Ðq¢iàæÉLûíÔ†é±}@à:JÛZv¿g€Às„@l]˜­µÜBjî>w¿{ó} —y9Ð7UÌÑQxï;8çÊ}ÎÜt~ÅÙ˜0ÎÐeXÞ7æ|k¹%ž‡.z ; 07070100032796000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001d00000003reloc/mount/images/minix.gif  GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;07070100032797000081a40000000000000002000000013d1fe2bd000008f3000000200000000000000000000000000000001d00000003reloc/mount/images/msdos.gif  GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS––– ¢¤HHHFFF’’’XXX¬¬¬¸¸¸ËËËqrs´·ºfff”””õÚÏôÊµªª«ççç›››úíâ../ÈÉÉÄÄÄaaaò¥‘×××VVV|~‚Ö××___   õnPÐÉ¼cfi&''!!!	ËÍÍÿS£Ž‰ˆ‰Š988+     CDDeeeQQQÛ|ëW1ÿ3 -???###¾¾»Ž“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gcccáááÔÚàÙïûÝôý112ž­½›Óø¤Îóqpn–nªÏòâèîf§ê


ÃÃÃ“““½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
Ùâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ 000áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO òòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼ñÆÄÁ‘Ó žÚ@´‡Gä‹»]4 pPF˜¡A@Q‡aÔa”Ü‘y¬°pujšè@IG¬pð„„9  @1ÆœHÔQÇšHÀGø‘‡œªñj€@¢4pA=`ÀCAI€PÃf  Ç €TÄ¸i†|‚ !¼1HÃ3‡ÈäGÈl DG!	€@!¼ HþU¢ðÖ[ÒÇ! ’"x(²ó~¼‘Ç"dl áYAÄ #6Ä¡Âp 2FßsÞ\G#|8ÂÇ"@ÒA$’t0	%ˆU"	$y”¤ÐqèEeÀñ‚p@‘†uX…àH<bÈ%†äI&‘D¢É&œtâ	b|’C ÄQH„ÂÀcàÆ ™„°†l-Êó£à1É'£¢ÿ&*”‚X"ŠHmL·SP è¤€Š?¤Â˜Ÿ#úÀQˆb•P…þôÇ‰R¬‚þë $"ÁeH@TÐ
Wä€qƒxEaG8±ÐDþô'‹Ìbþ@ô_"±€€= ÅjÁ[¼â¸ÈC.`á]¤Î“è€*.±ÁMìˆAì^CH †m€&¸ExÑ_Lìpx€D&r‹_l°‡?"+€Ñ ¤: P‚ p€Vã Æ0\‘Aà¡ÄÈ…í&Ñ‰Nl‚¬ ã,dw-
¤`(€1
€ ^ðâÇ@F2”1ˆe„@“`F3féÄì"Ïè "‚%d@04”aHcÉH5ª1	k\ã™Øè@6´ÑRl²ƒxˆGŒÐ„?øoÊØÆ0”!nHC•èÆ3ŸémxÃ¿èb>!‘‹páßËÌÃ#À1Œp#Ë‡8Æ±Nrt ï„'büHèašÀCÌa£D2ÖÙOœ#¡åà$FÀ°€?„ E„"4!tƒ×H‡:²‘PoPs—ñÈlF ‚2üa!è@"r¡‚HÄ1ê BßùHfó#@÷	I¬#ÄØbØ‘f£ë@JA2°ˆ²æáŠXG$ã‰l°£oëBÚáÈ,"FkCÄP¯ÁC5¾Ø†´Ã‹ ì@ ; 07070100032798000081a40000000000000002000000013d1fe2bd0000061d000000200000000000000000000000000000001b00000003reloc/mount/images/nfs.gif    GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½ŠêÊw1ãDgðàb½[Îœ!›m·oK"¬W/š*fÓ˜¥Äé‹OG™õ<ØqbÚ“¡qÕ|—À	q@	¶Ð<ºœm-[­^7<,8”]>{5Eó"˜8ì¾Ñäh6Ÿ³Œr/f›Ã‰ˆê-ú¶máu4i®GbWqìF ‘A@
7¶ñ¢¶mÜbÄõ³#ÇÌE):
“6¡„,Î\5‹Dx£[¾853LÎÛ´iœ¬øÙ°ž 	mr|K‘!Ã¬Y®|ÝŠæR¤ž™jÖmÛ6fÁ¦þ @ƒ8ÃB­$ X°à€Yª\!Ñ4g„ê™Ò¥kZ3f¾ì¢
{'¬ 9SH `I&¨¨2Ë.» ƒÆ3ÍpI=¾0óË.µÌòF` )9$	ŠP@ª¨‚
+³°‚'­ì¡H†tà.ð	 ÒªdDRt‡ lâd„ÏíÂ‹/?ÞÂ
+®l²ˆeÄðÁ‡|D„EðÄ"›dòd®<×&+1‚² Í˜Â‡‚HôŽ_ @“8IÊ&¬€B£+¨ ²	*ž˜`
 u˜!FH„!Aœ4Bˆ%iB’	vžÌÀÈÌF
6|M?H1ò0I%‹xê	!7@+ßðQ†e#9c2F8°b"  …/„ AD
HD%PRÀÒÆ	"1+À	¿ ±Åe^4×ª•Aìàí¾€Ñ»)l3y‘BÄ!<Pe ‘{àTGÜ@È&‘‘ÁäX«fHaÕJÌP HP‹Æ	™[Ï1´òÉ1£òÊ,·ìòË0³¬P&4×lóÍ8ç¬sTÌÐlÊ
õœÉÏ@#$4ÑE$tÍÅì´Ê8?í´ÎTWmõÕXëlFÖU›áõ×`‡-¶×=öÙb'­öÚl·íö@ ;   07070100032799000081a40000000000000002000000013d1fe2bd000008f3000000200000000000000000000000000000001c00000003reloc/mount/images/pcfs.gif   GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS––– ¢¤HHHFFF’’’XXX¬¬¬¸¸¸ËËËqrs´·ºfff”””õÚÏôÊµªª«ççç›››úíâ../ÈÉÉÄÄÄaaaò¥‘×××VVV|~‚Ö××___   õnPÐÉ¼cfi&''!!!	ËÍÍÿS£Ž‰ˆ‰Š988+     CDDeeeQQQÛ|ëW1ÿ3 -???###¾¾»Ž“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gcccáááÔÚàÙïûÝôý112ž­½›Óø¤Îóqpn–nªÏòâèîf§ê


ÃÃÃ“““½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
Ùâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ 000áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO òòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼ñÆÄÁ‘Ó žÚ@´‡Gä‹»]4 pPF˜¡A@Q‡aÔa”Ü‘y¬°pujšè@IG¬pð„„9  @1ÆœHÔQÇšHÀGø‘‡œªñj€@¢4pA=`ÀCAI€PÃf  Ç €TÄ¸i†|‚ !¼1HÃ3‡ÈäGÈl DG!	€@!¼ HþU¢ðÖ[ÒÇ! ’"x(²ó~¼‘Ç"dl áYAÄ #6Ä¡Âp 2FßsÞ\G#|8ÂÇ"@ÒA$’t0	%ˆU"	$y”¤ÐqèEeÀñ‚p@‘†uX…àH<bÈ%†äI&‘D¢É&œtâ	b|’C ÄQH„ÂÀcàÆ ™„°†l-Êó£à1É'£¢ÿ&*”‚X"ŠHmL·SP è¤€Š?¤Â˜Ÿ#úÀQˆb•P…þôÇ‰R¬‚þë $"ÁeH@TÐ
Wä€qƒxEaG8±ÐDþô'‹Ìbþ@ô_"±€€= ÅjÁ[¼â¸ÈC.`á]¤Î“è€*.±ÁMìˆAì^CH †m€&¸ExÑ_Lìpx€D&r‹_l°‡?"+€Ñ ¤: P‚ p€Vã Æ0\‘Aà¡ÄÈ…í&Ñ‰Nl‚¬ ã,dw-
¤`(€1
€ ^ðâÇ@F2”1ˆe„@“`F3féÄì"Ïè "‚%d@04”aHcÉH5ª1	k\ã™Øè@6´ÑRl²ƒxˆGŒÐ„?øoÊØÆ0”!nHC•èÆ3ŸémxÃ¿èb>!‘‹páßËÌÃ#À1Œp#Ë‡8Æ±Nrt ï„'büHèašÀCÌa£D2ÖÙOœ#¡åà$FÀ°€?„ E„"4!tƒ×H‡:²‘PoPs—ñÈlF ‚2üa!è@"r¡‚HÄ1ê BßùHfó#@÷	I¬#ÄØbØ‘f£ë@JA2°ˆ²æáŠXG$ã‰l°£oëBÚáÈ,"FkCÄP¯ÁC5¾Ø†´Ã‹ ì@ ; 0707010003279a000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000002000000003reloc/mount/images/reiserfs.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;0707010003279b000081a40000000000000002000000013d1fe2bd0000076a000000200000000000000000000000000000001d00000003reloc/mount/images/rumba.gif  GIF89a0 0 ç  –ü–‚‚„FŒŠÂä*"úÆ¢¢¤BBDââäB6j
ÆÂ¼bbdÊ¢ÊÒÔ6&¾––¶Ìr^Zº,²ÆÔRRTâÂ´Šjd’’”2fîòô"6®²´&*,j>4rrt.
BŽ$N2$ÚÚÜÂÖÜê.ÊÊÄÎ¢”JZd

ž®¼JJLêêìêŠdÞÎÄºº¼ŠŠŒZœšÂÜ>><jjlÖÚÜ
2Tnºì²ÎìššœzÔ*6D.*,f’´Þº´Æ>""$îâÜÒÒÔž¾Ü$bÆ4¾ÂÄ¶n\:vúúü¶¶´zz|ÎÎÌZZ\ªª¬ê’têÎÄ&Z„224&šì¶&ŽÂìþÎBFDææä::<ÆÆÄbfd6RVTš’Œööô*.,J>ÞÞÜ¾ÚìþBÎÊÌò®œNNLöŽt–ŽŒ^œ>\Vªì&&$fÎ4ÂÆÄ®®¬264ž~V¦,Úr\rž¼ª²´î²¤þ2>Öª”>~$º.ª¾ÌîŽ|âÖÔÒ¦šÆì2lÞÆ¼††„þÊ¦¦¤Âš––”vvtîîì¾¾¼ŽŽŒnnlžžœÖÖÔfÊ4~~|^^\&RZ\òÎ¼^¤rz^6
æÎÄR>šü2j..,
ÊÂ¼ÎÒÔòòô²²´**,&"$ÂÂÄº¶´FFD>:<ffdVVT664ŠÂì
ÂÖäÊÊÌ>>Dææì$NNT®®´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ¡H° Áƒ*\È°aA5#JœH±¢Å‹jÜÈq¡šŽ?‚$hŠÈ‘SRY€œ”M‚Tcƒ
2I¨Ìh£@æH†“\¡’Óf0Oš@ê³¡”9bô$¡•Ä&5T2© §çF˜9¥‡Ž”šU  @ÅF/90&¥”¹a&“X„‘£§J(;e}T3C •ŸÛdôD¢S‚1s^njƒ"S¦3 Ê’uY§ƒƒ›\«`Z[\pÓ…$<1†x9“¡€R„¢AÌ$œcäŒÙEÅ•”“lŠ¢	ˆÎ
Ú$I-Á¡Cƒ°‚“´\þœ‰Å¦(°wèªT)I%*mâSqÀŠ^u~œte 0XÀ,WøÁ‚-IÜà	ÈR‰¯±À‚&š\1zÐ’h©¡   @ \D%WÌ!ºØÔ	š ØÄy³Ð.€ ÒžA…ÔÁ.7ôáßWTâÇ,~DÑ‰RÜ@Â+Ž”G…-þ€W ¡À†úñV	 lÒÉ‹DÎ¢"…, QC•pBB$@ÅRÈŠBùUñ€ Ðq&vR	G’QÃ+’Ä‘ˆblq„Vœ!'ZÑÅ£He¢A(2„	Ä&@œ¸d'³8 I*‚Nô2Â"þ] rAk$ñPFå§.Œ¡A'›`"vØ1¶ÑHp ‡‡¨`†	‚ 2ÚñHD:h Ç ÜÐAâA
)kGƒ´rÂ‡ Lxp
Ú>TºLò€³L’ãŒè‘Á~p²EG,À€)%<ñ	à"˜h¸ž´T/Ì²ƒ-°Ë¤ ŒB‡wàÐ ±°¢ šè›ë¥"é’ . "¢.Ø’C¾øB1Z P J"pÙ¡¥–~„ .“@6K( ƒy¼pq”P°&ùNš@.ô2@'˜èF(ì¢þ´ôB@)‘°AÉ§±%Õ‡ä¶Luk@".&ÓÁ3€LÈ#`’ßÍúj\P/ Œ¦&}É0<l¢ ,‘QõÔÚm8Q0cpÒ¥I~,ü¹ÍLù„)êƒQÑI³cj2ï<ÏCÒS½ôT`ýòÍ³àö`¡š(> ä‡jþùç[¾ú7£Îáî,„ZF®Äã¥8ž‹¶—\¢Ëïo«íî×¡P!Tº¸_]2ò9Úî!Á@è„:™ØzÐãž%”Á†PÄ ó:(BFÐ|ãû úú¾K}-,úÈ÷BÚ0}æÓUCKA@¢‡HD 
ÄD,C‹@à-Etú# Íž¨8\µ)RkŸéG?ÑqˆâìWEVÐ‹ÁÃX­ø»“ ;  0707010003279c000081a40000000000000002000000013d1fe2bd0000076a000000200000000000000000000000000000001d00000003reloc/mount/images/smbfs.gif  GIF89a0 0 ç  –ü–‚‚„FŒŠÂä*"úÆ¢¢¤BBDââäB6j
ÆÂ¼bbdÊ¢ÊÒÔ6&¾––¶Ìr^Zº,²ÆÔRRTâÂ´Šjd’’”2fîòô"6®²´&*,j>4rrt.
BŽ$N2$ÚÚÜÂÖÜê.ÊÊÄÎ¢”JZd

ž®¼JJLêêìêŠdÞÎÄºº¼ŠŠŒZœšÂÜ>><jjlÖÚÜ
2Tnºì²ÎìššœzÔ*6D.*,f’´Þº´Æ>""$îâÜÒÒÔž¾Ü$bÆ4¾ÂÄ¶n\:vúúü¶¶´zz|ÎÎÌZZ\ªª¬ê’têÎÄ&Z„224&šì¶&ŽÂìþÎBFDææä::<ÆÆÄbfd6RVTš’Œööô*.,J>ÞÞÜ¾ÚìþBÎÊÌò®œNNLöŽt–ŽŒ^œ>\Vªì&&$fÎ4ÂÆÄ®®¬264ž~V¦,Úr\rž¼ª²´î²¤þ2>Öª”>~$º.ª¾ÌîŽ|âÖÔÒ¦šÆì2lÞÆ¼††„þÊ¦¦¤Âš––”vvtîîì¾¾¼ŽŽŒnnlžžœÖÖÔfÊ4~~|^^\&RZ\òÎ¼^¤rz^6
æÎÄR>šü2j..,
ÊÂ¼ÎÒÔòòô²²´**,&"$ÂÂÄº¶´FFD>:<ffdVVT664ŠÂì
ÂÖäÊÊÌ>>Dææì$NNT®®´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ¡H° Áƒ*\È°aA5#JœH±¢Å‹jÜÈq¡šŽ?‚$hŠÈ‘SRY€œ”M‚Tcƒ
2I¨Ìh£@æH†“\¡’Óf0Oš@ê³¡”9bô$¡•Ä&5T2© §çF˜9¥‡Ž”šU  @ÅF/90&¥”¹a&“X„‘£§J(;e}T3C •ŸÛdôD¢S‚1s^njƒ"S¦3 Ê’uY§ƒƒ›\«`Z[\pÓ…$<1†x9“¡€R„¢AÌ$œcäŒÙEÅ•”“lŠ¢	ˆÎ
Ú$I-Á¡Cƒ°‚“´\þœ‰Å¦(°wèªT)I%*mâSqÀŠ^u~œte 0XÀ,WøÁ‚-IÜà	ÈR‰¯±À‚&š\1zÐ’h©¡   @ \D%WÌ!ºØÔ	š ØÄy³Ð.€ ÒžA…ÔÁ.7ôáßWTâÇ,~DÑ‰RÜ@Â+Ž”G…-þ€W ¡À†úñV	 lÒÉ‹DÎ¢"…, QC•pBB$@ÅRÈŠBùUñ€ Ðq&vR	G’QÃ+’Ä‘ˆblq„Vœ!'ZÑÅ£He¢A(2„	Ä&@œ¸d'³8 I*‚Nô2Â"þ] rAk$ñPFå§.Œ¡A'›`"vØ1¶ÑHp ‡‡¨`†	‚ 2ÚñHD:h Ç ÜÐAâA
)kGƒ´rÂ‡ Lxp
Ú>TºLò€³L’ãŒè‘Á~p²EG,À€)%<ñ	à"˜h¸ž´T/Ì²ƒ-°Ë¤ ŒB‡wàÐ ±°¢ šè›ë¥"é’ . "¢.Ø’C¾øB1Z P J"pÙ¡¥–~„ .“@6K( ƒy¼pq”P°&ùNš@.ô2@'˜èF(ì¢þ´ôB@)‘°AÉ§±%Õ‡ä¶Luk@".&ÓÁ3€LÈ#`’ßÍúj\P/ Œ¦&}É0<l¢ ,‘QõÔÚm8Q0cpÒ¥I~,ü¹ÍLù„)êƒQÑI³cj2ï<ÏCÒS½ôT`ýòÍ³àö`¡š(> ä‡jþùç[¾ú7£Îáî,„ZF®Äã¥8ž‹¶—\¢Ëïo«íî×¡P!Tº¸_]2ò9Úî!Á@è„:™ØzÐãž%”Á†PÄ ó:(BFÐ|ãû úú¾K}-,úÈ÷BÚ0}æÓUCKA@¢‡HD 
ÄD,C‹@à-Etú# Íž¨8\µ)RkŸéG?ÑqˆâìWEVÐ‹ÁÃX­ø»“ ;  0707010003279d000081a40000000000000002000000013d1fe2bd00000834000000200000000000000000000000000000001c00000003reloc/mount/images/star.gif   GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS–––HHHFFF’’’XXX¬¬¬¸¸¸“““fff”””›››ÄÄÄaaa   ___&&&€€€eeeccc\\\QQQ666???###GGGáááÃÃÃ000ØØØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼pÂÄ½‘Ó žÚ@´ GGä‹»]$Ç pPF˜¡A@A‡aÐQ”Ø‘¬°pujšÜ@IG¬p0„„9  @1ÆœHÐAÇšH Ø0@uœªñj€@¢4pA=`ÀCAI€PÃf ðÆ yTÄ¸i–ûÀÍöìAÏF/Ÿl°A l`Ð{$  -„ðB!T‡þÂãš¦ßk ©°ÁdlpáYAÄ B6À¡Âoä1†Þsæ!3t„ÅP”¾÷øAÆLq %)ôw@‘Co¼àÆP¤¡ÌPÀ<çy z fdñ€(À¡V‚4{ô`À ¼0Æ n¸wo„€Dñg$DH0Fb!}4D[!mB€tñ†¹‡ÂCŽ Km€H€ 1‚ˆ@€~HpAÐÈÀ9(€`ŽÐiá‚Áa&P„ Dq D°` È;ØA@` Q€ƒ‚p 8 „þd ÃtB0lë 40Áhˆ˜ V¢`ià"D b“4$¤:€P‚  ª%61Á€°ÃAIÄçèÅ…xD`(€
€ 4nÐÀàðCÀ !bÚ ¬L"H£õÕ 
az„hBò¸€6 fˆ Èbâ#œi ÈÃ0p%àg$8‚HQv "á#ž€>B6Á hÄC™ƒ‰à`q &}è"x²‰ eDÀ°€ €ˆ-s M†xd6# AL4p1%‰ˆ";@¤DˆBt'DàYGy6dŒ´ç=©Ï†Ð“  ;0707010003279e000081a40000000000000002000000013d1fe2bd0000097b000000200000000000000000000000000000001c00000003reloc/mount/images/swap.gif   GIF89a0 0 ç  ûûûÌÌÌ£££øøøÛÛÛnnnOOOIIIBBBWWWñññ–––¶¶¶ÈÈÈÃÃÃÍÍÍÏÏÏÉÉÉ×××ßßßÙÙÙÜÜÜæææ†††èèèÀÀÀžžž¨¨¨AAAÑÑÑ~~~³³³äääÕÕÕêêêùùù^^^MMMmmmÄÄÄ|||ZZZ©©©ôôôQQQààà’’’‡‡‡___yyyšššiiiâââ§§§ºººbbbƒƒƒ‰‰‰wwwFFF»»»˜˜˜tttLLLTTTggg¿¿¿ˆˆˆ°°°ÐÐÐlll¥¥¥ÝÝÝ®®®```¢¢¢ÇÇÇªªª¾¾¾DDD¸¸¸¹¹¹¦¦¦ÅÅÅ±±±777>>>«¹§­­­uuu¯¯¯;;;KKKáäÀŽŽŽËËËSSScccfffjjjÝçØÁÁÁµµµÔÔÔmolssszzzâáÜdcg‚‚‚‰ˆ†ÎÕÐ   kjgxyy}{~„ƒ†‹‹‹ŒŒ“–”œ”•––—éëè¤•ž“¹ÆË›››ŸŸŸéíÕ“ŒŽ›‹™§›¤˜¢—–›Œœ” ¢£¨«««&%z‰—œŽ–Œ–”œžš¤›ž£ž³¶µ½ÅÌ¼ÆÓz†‰µ¾Ì“”–™›´µª	åÜô¥¨ª†|‡…|{‡‡{„”Ž†› ž´¦ª#%%§­¶«®Ö¼ÄÅ–ŒŠ¤–¢«¬«jwy‹™¥lmry|†ÅËÔÃÉÌ•œ§&&)«·ëêøln]lz…Ž“¤¢—©žž%%tŠ¾Èï‚zjµ¾Åš£ŽÇ³Ù‰‹•|“¦«µ¹‡{¦#ÊÈÊÈË·f_m  ‰”Š‰—š˜¤¦öôöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° A  p°¡Ã‡	0pà ‚!jÜ@Á<p° ÂŒ9ª\!$L PA…2®„Èp@…(Ì¤ðræ 4¤ÜùpÀ@è0ÁÃ‡@HBÄ	*0=8 „	'HL@‘ÂÄ	VˆðÉB -DŒ-èâ0bÈ80# 8Ð¨Q£4˜8`cì  F,¬ ã†ˆ8bäÐaa¨^¨ %œ*]dÔ\!Á<(2è€‚Ô§O«VÝz —L²†~ì0 $A+ŽƒPð[øpâÂeþ;¬ñ£Æo 7H9AŒ@h€ ñÀÝ[{¿|Z„
CÑ?BŒÐƒ&˜€è@¸Õþ)@ße"T0Á' Ð
„!$a@’‘@L Â¬0@Û‰`ˆ31pÀ:%øu1˜D44Ñ„M´$¢N<àD=<Q÷Y0ßL41x „rC á€pPQ&  E8ÐTPÁ
8@€ LE X0T@šAE<Àä@PÁhe8Ð—ØAh þ``E
LðRL@$€ 8Ð  "\á
DÑ‚EX|…Z °…¥8±BìÆÅ SMiMDÂ]ð`nPÈÆ9x°žD‘E_DË÷†^h°Á'TRAªeb `'dðAz„„4”À	ôF‹À½`ÐB	$@ÂÈT0¤;hèÉA¬`ÃHäƒ0,Pï¯æ‚Ñqd$ ÂÈe˜aÆg Ai¤Á¥+@Ãh Ah`Ð¼;oœ/Ðd¨04	E#ÍFm´±ƒoHqiP …bxÀ•ÄµþÆ=wLFÐc—ÇÑgPÀk»qE\ ÇÐáƒTXTÐ¼óì³ÇAM´užvv¸qÇâx\‡bìÁG~ fÐ€b¯Ï?8ám ½CéW\ÑxyˆñÂ{2È L0a!bÈ!ˆ$¢ˆ"‹ -ôÐe”møèÀÇÁ8ñÆ#ß‡ ‚4oƒŒ(¡D#9Hˆ‰"‘HÉ$Ÿ#ý½ÚŠ[\ãäP¼ôá|ËSû”@‰JXB ;¸&2ÁM@Â›Ä!8	AtBti+ÝéÆ·ºãíá|ÊsÞ•à‰OTâE(DQ€Q`b‚q Å%J‰M˜Âþ§*R¼8àr`ùÐÇ<*¡ `PÅ*XÑŠJÄóz…`!ŠRØP…ˆ'L‹â›… R¡Ä%&p}Œ˜% H‹Z|â¶Hn‘9\ð ºØ…(D1
^À"§8E)zq¼Gè/’`¢Ûç‹Z@ñµ¨…'ò`Ønc™Øœ+Èa˜Ã.x1Q°ÄàÄŠaÚ-°Çx!‘á	BPb Ò£^"‚‘Œì‘!b#Á.†¡ŒeÈ!©Ë3`QˆM âL0F3Òè‰_¨Î€â3Ú÷¾øÍ¯~÷Ë_$ A´h\ pÆ4® ŠK8"Ðþ¸3&Š>p‚ž †/¨Q‹j,°@'XÁfpƒt„5ÐÖGˆP ¸Æ)vÀR$âÌ 6jáÍ¶ð…1œao˜‰î°‡?"*zQDH ‘u®hƒ.–ÁŒl`ƒÓ°Á£8Å*^Q Zä¢1F1’ÑŒhT£6Ú˜Jcž`ŸéhG<äÁ  )HB‘Šdä	H:"…Ã€£*yÉLnrx^ñš‰½ºb¥<e*WÙÊWÆr–µÄ6Ú‡K]‚—# Ä^'Ødì5{]f3ŸÍiVóšÙÜ¦,ºùÍp‚á”M-e¡±WwîUžô´T'>õÉOT å†jw«Z‰îÕ¯ÍèF;úÑŽÔ›¼Mnr{±WHL6§;íéO§¡Üê*W“µ,^¯ê	ëz×»ÀÅë0¾K^òn£¼èM¯z×ëÝ€  ; 07070100032818000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001c00000003reloc/mount/images/sysv.gif   GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;07070100032819000081a40000000000000002000000013d1fe2bd0000099e000000200000000000000000000000000000001d00000003reloc/mount/images/tmpfs.gif  GIF89a0 0 ç  ÿÿÿþÿþüùúúþÿ€€€†††ˆˆˆÉÓÈüúûƒƒƒŠŠŠŽŽŽìîØýüÿ‘‘‘•••™™™’’’———ŸŸŸ   êðæ¢¥¢£££§§§©©©«««ûúõž ¯¯¯°°°²²²µ³²àäâÿûþ¡  ©ªª­«®±°²¶¶¶·¸·¸¸¸º½»À»½½½¾òóñÅÁ½Áº¸ÓÜßºººÀÀÀÃÃÃÄÄÄÈÈÈòôäûùùº·¸À¶¿ÈÀÅ¾Ä¾½À·À»ÄÄÄÈ„„„ÉÉÉÌÌÌuun«µ¾À¸½·½»ÀÁÀÅÀÁÁÄÁÎÎÎ<<<ÐÐÐmmmeaiÕÛßÔÜä«²µÐÕßº¸»½¿ÀÐÐÉìììqqqœœœµµµ­­­¼¼¼bbbjijîèùÇÈÉ²­³±­«³³«±¸¸õõõ¾¾¾···ÓÓÓÑÑÑëëëÞÞÞ[[[ßßßfffjemnmtouuÈÌÐÿýþÉÌæÔÙÛªªª|||ÉËÉffhifiief ©ª¶¿Ç¢¢¦ª­²   »»»ÁÁÁRRRÛÛÛÇÇÇäääööö'''ÏÏÏuuwgifÿþÿÁÉÑzzz;;;OOO"""‹‹‹âââïïïuougijÿüÿóòû¨¶¸ÔÔÔ]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡Å½ÄojoÜÐè¢¢¢ããã---)))YYY```ÝÝÝtmoùõùIII¤¤¤sssDDD444¨¨¨^^^uuu¿¿¿:::………{{{ÒÒÒ®®®ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡dddSSS–––HHHFFFXXX¬¬¬“““”””›››aaa___&&&eeeccc\\\QQQ666???###GGGááá000ØØØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*4@ÀÂ‡ P €"jTˆ€ ,É ƒ(~´h@ä@€¡fÆ”	‚4ÐÒ%L	&Ô¤P¡‚pàqgÏ—$H˜ 4Ñ£2hÐ°C‡”MY*ð)5èPF-dÈ°¡+‡ B„1‚ÄB+yúŒ:³*ÑjMl5Áá\!R¨XÁ¢…‹'Âˆ!#ä‚Ë?ƒúM«!ƒ‰„?|›"ÅŠ3XÐ¨QÃ†8rÔ±ƒG?~ áKÕêÕµf1anÜÒ§S» AÃõB†!"°ˆFVù$	%CÓþfXÂ¤‰'O €01×ôËY;‡>$Š”)7P©b¥Å•#;`QY AƒlÁE^|Æ\@Di.¼ÇÂr«½Fßaˆ!…AF˜Q œAG`‘†k,±ÄslÑ†oÀÇ{¶¦á, ÇtÔ!Å@vÜ äQf¤qEmè!]CÈX#jÌ°Gñµöœ|Dd~ˆ!ÆBP  2H
D!jÂÆ!5µÈi$¢È"Œ@ÑÈ|Ñ9âGøáGÉMX@’LBI%Œ°‚%“Tr	˜dB¥&Y°@#›dB_þœ|d'axBŸ€@(RBˆ(£âD)3,±„˜rÊ)^ ’Š)PLâ„*«„ñˆ°d+
¥± ‹\Ú†(®¼,±È2-\l±EiÄK…·`f±Dµ8R‹¶,Ê¥àÐÆ-¸À’‹y]è *¯¸‡»o¼§-×¦¡¼pÊ.ŠtÁ.MôâË/i`r1"n(ñÄ¿üoB§ðrJ&ßfÀ0NüòD,±ôb
"ˆ€
*ˆ4±·§ñ¯(2D0Â ´/3$Á‹è21ÄÜRÌ³aŒ¡øÉÆ+¯lÊj¤‘ÉË-·Á•<þ‡ƒL2‰(SL,¾Ó‹,K,S*ÄÁ"ltÁÌjxÑ*n°¬Èv×Ø…Í <Pˆ8ÓD¯ÏÄ1¿üb
4Ð,Œv¿Ñè¢‹4Lƒ4-D×h4lBÍ!Àt,P0È|Ñ5„œWÍ$OXË\sÃ5m´ÁË,DØLƒÚl 2„!jRˆçåÂHèÍ(© Ë-¬3±Ì2ºÝ5f05À{¸A(¾‡xÁlÑsÔ =t	PxÂ`aŠ8DÚ8QM g5	ö á>=Ü ˜h*Æ€Âlîó4Ö`	nt#þ@ÔÅ4þ¥1	xã
 5œP=D@Áø† ñXîàH†¸P‰¨axrìô ‡' '•pb82AdÂ’ 1ièNßø†ì
q=<€£BVà¾0.{zxBôá…70CpHEAvqQp¡O`@ÄÁI]¨v,(HÈB¬Šz„†80Ñ„ŸÙ {Ø±ƒxcP˜Á,Lˆ#œG©ø?ØSŠzÐƒàÇ„= b{Ã!‘U$š89FÁJHƒâF0u'Ž<ZàÐÆ2‚ÁNaZÃ	å˜Æ209˜=
þy7äSPƒ˜Ø‚=ä1wÔÝ2Ä¡‹sž£É ƒ$ÁB17Æ¡Š&¤£˜F¶±_F€ÐC­±‹X7Æ.¢¡ŽX¨ƒ‰ ÖAKvã	æ`  P”FÀAˆ†)rA‰K00–æ€BÌ‘”¨§º¸5 @Jl‚¦`«rAæ¢É<ØÑº#áD‡8‡*Îáw€ O "YËJˆt¨!Âà/bánˆî­Ï¡¤À'ðÕWO`6Œ8ƒ\BÇtšÓ‚˜ƒ¼FüYS¨!³€Å`DDyéwXžÁp0á	— &Þ ‡YpìhB”²]€¶£ÓóÂf¡Quü¢‡%.A:†×âäÀŸ½CÒ]ˆÆ `¼ô·¿hâ^”Bš‡ØÄsÛÞ<ƒ„h¼Pß‡l6P‡ †[û›Mô7  ;  0707010003281a000081a40000000000000002000000013d1fe2bd00000695000000200000000000000000000000000000001c00000003reloc/mount/images/udfs.gif   GIF89a0 0 Æ  þþüúúüîîôêêìææìææäêæìòòôîîìîêìââäööôòòìêîìööüúþüòöôÞÞäöúüöúôîòôöòôÞÞÜúöôòîìêæäîòìòîôæâäÒÒÔÊÆÌÂÂÄÂ¾ÄÆÆÄÎÊÌþúüââÜÖÖÔÆÂÄÊÆÄÊÊÌÒÒÌâÚÜÚÚÜÖÒÔÎÎÌâÞä¾¾ÄÞÚÜæÞäÎÎÔÖÖÜêâäÒÎÔöîôÒÎÌÞÒÔÆÆÌÞÖÜÚÖÜæÚÜ¾º¼âæäÚÚÔÚÞÔ³³¸LLNLLL³³±€€ƒHHF¼¼¸TTT–™˜   ÐÐÒNNNPRQ©©¨ââà™™˜ffiÅÂÃqqp––˜NLL””’‹‹Œ™–˜KJLHHIŒÚÖÔº·µ€}~888Œ‰ˆÃÆÄTSTÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ Œ˜‡—Ž 	¢	
ž–™™Ÿ ¯¡		—©ˆ Â³¡Å	
º†•®®³È×¢¢
Í À¾ÃÂÃ¢Ü±º¼ÓÒÓ°®!KPÖ+r10a‚	çÒƒ•Œ[²ò`!`Åè|,Ø'-,vØuñÓ§[‹ö=|èàPøêËxÄ*@A½]&xRBtaÀ6k¤xWoZPXH€„'8pÌU0PÜ0N5ð"¨Gþé
º€ÀáÌ ú~%ˆ  @HÛ.6xtõ¨á‘sð©„d©­kG`2«ò>ŠÇ`€¡„f2&û¶¡
d@vZ¶«°Õ	(Àµ…xBéO§†8tððD~&Éð§uƒFppá¡]d‡V"„‰'P˜(žlØ†×%4B…„ Œgîóêô
ãXäÏ/âC‹¿Y&ÔaìàÂHºa·[0§Ívúé×Á„"¼ÀB;çeôõ<P
"1iCÄB²P‚0HÈq`xÞ€C! 1`7’H†$p‚úÍPÁ8”þ0a/¬ðÊŒÍBÀ8Ð `'Ò>ƒ&ì§À# 0Â 2tPÃ´”fO
’ d9Ö¤m`Úl&Ôe
r€i‚P”hvÞ:r=€
W†xÀ|gÍò~v 5t
ü„^<˜i¤OIj;ÝÜ€b„nà "¤ÙÂ¨€Í¹$H8Œ¥cMOQ §0.zC-ä
ÖpB2˜ÑUfŽ€ÃSYV°ÀSœ6
)|àg§„ªéÁ0<r”p
ò€6pe–çty)-€€B
ÖúÁ;°3 %òÀJl•b dÕYçzþ`	ôÐÃ/ôàlí
ï 
(tÁ¶WFú‹Án&£@‘$ˆ:2l
²C¾œãË–Á¶š;SÁf€Ãk€-…ÀÂÎè9£-DÝÉ®
_%	lDXt3àn0„AR´jd{2³ÕØ‚@»è€	%¶ÀŠ-sK	Ôw³"‰ ‚ÐäöUfÓ·'†ß-÷Á¬ ”È+ÐráˆþÂfGRu'¬ø°÷"ü v-•ç-7æ˜g¾¸-DÁ"8‰VÔ¶xn¹$§Ç{ê0¥È  „¨•àƒµ„C!Dñ¼$EqØ#‚"#°‚ì„AÜ¦€|J0¿„L DÇ;ñJ`…R, 	%p7 ä LÁLA	¶£B0*ÀÀ
J€ý…+`‚;Ø æ*À
P ” ·!Ð‚ˆ°% `‚‚À^&0€¬€
 8À%ä ]ðB, „/È† a*F°@h0pB8B€!JCß0†¾Ð… B3A&35‚€A	RÀF2(ÁC(þA?0ÒÏ~sGtq	3 áØËß ðA„ {H¤™ˆ@  ;   0707010003281b000081a40000000000000002000000013d1fe2bd000007e0000000200000000000000000000000000000001b00000003reloc/mount/images/ufs.gif    GIF89a0 0 ç     			


   !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~€€€‚‚‚ƒƒƒ„„„………†††‡‡‡ˆˆˆ‰‰‰ŠŠŠ‹‹‹ŒŒŒŽŽŽ‘‘‘’’’“““”””•••–––———˜˜˜™™™ššš›››œœœžžžŸŸŸ   ¡¡¡¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿ!þMade with GIMP ,    0 0  þ ó	H° Áƒ*\È°¡Ã‡#JœHÑ`½Šê"”ïbÆˆÎxHX°@€‡Ž²‹Ã©V+^­âxàˆÒcJ‚õ|Ýræ²iÌ¢­ó¶åÊ›5£©bÆ(3ž@§ùÊÇÇæÍzŠ Úå+Ø4)™2EÛ†¬Þ1röNxx–²žžvœ˜ëÉƒ"â,W/Ú; NX÷‘Z  º `² .g|¶ ¸‘-[­f½nxx°àÐÄzìòÙë­‹¨qZ¤È¦[vì¾Õ›Ý‘GgFRC9:Ú‡$-ŒäD*_³që¾­[¾nöìæõ¾uhÕ lÙæãD$‰2þÔ[$}Û:rÌ;O¿;a6"ÙÄ…u‚Æ‚R¤ppcÛ6^Ô4³rË]=Ë±39Ì âBÎ¡Ë1•8c)u@ Á 3¿¨BÍXÓŒ3;Í´âK=â¤w^4ÓL³ƒ Á"……ìqŒ4¤ÐdáŒ+»4É7Ól3'ŒÜâK-œ4³Žyäx#Pœ,°ÂQÔm#ˆ‡åðM
dÁ³ÌâÊ,:Áè¼ A
)<cŠ€ÝøT0³L RÐ`*…´" DÀx2‹*®ƒŒ0ÑDÃÈ4®8CH=¡˜¢‹.ÞLÓ3Áø²Ë.ªdÀ	[¤þ]ôRR
”Éƒ+®²¦0º0ã‹!Áð5­|#K-ëLÃ“O¾ø¢
'<x € -Ü[>äL!, `AI–„…
¤³œª
2h,òL3ÄA’S0 žZË,·<„äKŠ)»]$	R(B J&ª ÂŠ*³°‚”­L²‡"qì`ˆ/Ìpujšª˜!@Iìp0%„Tˆ7è   ÒÈœ¤°ÂÊš» £J$q @H4¸œª±+ª"@¢ Ôâ#‡lÑKAsHÑE 	!›TMÊ¸i–Ë/Íö¼Ë-Ï<Ë&‹H1¼ðÁ‡Rðaax ‹ Od²È&™T½‰þÂãš¦ß«¢
(©òÀG3¦ða† àYAõ¼#Å( @#lÒˆÞsn"3(¬Ì‚Š+¨”¾·'˜`Š+€ÔaF%)4f r,b	$¨„¢ŠÌ¨À<§+›úìÁ‹*z ¡ \4Ta"Aœ,Ò!–X‚w&dBJñžÌ‘ [ ÓÈhØ‚_4DÛm  e0I%¹‡Ÿ‰'„@Ã Kmeð€ÊpŒˆø‚~¤< € Xà7à` €ià‚“BF`¦6P„RÃ!Æ°€pÀ‚È;€(ø‚^@R° $pI"·äÈÁ¶Ð†,€†ˆÀ	Bñ4lÁ#–3<Bù¤D *TuÄ$ÞÀ™ Cv¸€lrñÈ0rÀƒIð@ "h\¼¡
0 #€BRdÑz‹ª3À0=d y?üˆG’p&BÄauØ‚ˆ€ŸƒhŒh€¾;f@<À&‚‡ÅIÁ‡ôá(’ƒ8 @¨Å*-B³H&œeCþ¢Ë^úò—À¦0 ;0707010003281c000081a40000000000000002000000013d1fe2bd000008f3000000200000000000000000000000000000001e00000003reloc/mount/images/umsdos.gif GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS––– ¢¤HHHFFF’’’XXX¬¬¬¸¸¸ËËËqrs´·ºfff”””õÚÏôÊµªª«ççç›››úíâ../ÈÉÉÄÄÄaaaò¥‘×××VVV|~‚Ö××___   õnPÐÉ¼cfi&''!!!	ËÍÍÿS£Ž‰ˆ‰Š988+     CDDeeeQQQÛ|ëW1ÿ3 -???###¾¾»Ž“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gcccáááÔÚàÙïûÝôý112ž­½›Óø¤Îóqpn–nªÏòâèîf§ê


ÃÃÃ“““½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
Ùâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ 000áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO òòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼ñÆÄÁ‘Ó žÚ@´‡Gä‹»]4 pPF˜¡A@Q‡aÔa”Ü‘y¬°pujšè@IG¬pð„„9  @1ÆœHÔQÇšHÀGø‘‡œªñj€@¢4pA=`ÀCAI€PÃf  Ç €TÄ¸i†|‚ !¼1HÃ3‡ÈäGÈl DG!	€@!¼ HþU¢ðÖ[ÒÇ! ’"x(²ó~¼‘Ç"dl áYAÄ #6Ä¡Âp 2FßsÞ\G#|8ÂÇ"@ÒA$’t0	%ˆU"	$y”¤ÐqèEeÀñ‚p@‘†uX…àH<bÈ%†äI&‘D¢É&œtâ	b|’C ÄQH„ÂÀcàÆ ™„°†l-Êó£à1É'£¢ÿ&*”‚X"ŠHmL·SP è¤€Š?¤Â˜Ÿ#úÀQˆb•P…þôÇ‰R¬‚þë $"ÁeH@TÐ
Wä€qƒxEaG8±ÐDþô'‹Ìbþ@ô_"±€€= ÅjÁ[¼â¸ÈC.`á]¤Î“è€*.±ÁMìˆAì^CH †m€&¸ExÑ_Lìpx€D&r‹_l°‡?"+€Ñ ¤: P‚ p€Vã Æ0\‘Aà¡ÄÈ…í&Ñ‰Nl‚¬ ã,dw-
¤`(€1
€ ^ðâÇ@F2”1ˆe„@“`F3féÄì"Ïè "‚%d@04”aHcÉH5ª1	k\ã™Øè@6´ÑRl²ƒxˆGŒÐ„?øoÊØÆ0”!nHC•èÆ3ŸémxÃ¿èb>!‘‹páßËÌÃ#À1Œp#Ë‡8Æ±Nrt ï„'büHèašÀCÌa£D2ÖÙOœ#¡åà$FÀ°€?„ E„"4!tƒ×H‡:²‘PoPs—ñÈlF ‚2üa!è@"r¡‚HÄ1ê BßùHfó#@÷	I¬#ÄØbØ‘f£ë@JA2°ˆ²æáŠXG$ã‰l°£oëBÚáÈ,"FkCÄP¯ÁC5¾Ø†´Ã‹ ì@ ; 0707010003281d000081a40000000000000002000000013d1fe2bd000008f3000000200000000000000000000000000000001c00000003reloc/mount/images/vfat.gif   GIF89a0 0 ç  ùùùõõõººº„„„ÎÎÎ<<<ìììqqqœœœµµµ­­­¼¼¼¾¾¾···ÈÈÈÓÓÓÌÌÌÑÑÑëëëÞÞÞ[[[ßßßªªª|||ŠŠŠ   »»»ÁÁÁRRR™™™ÛÛÛÇÇÇäääööö'''ÏÏÏzzz;;;°°°OOO"""‹‹‹âââïïïÔÔÔmmm]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡¢¢¢ããã---)))YYY```ÝÝÝIII¤¤¤sssDDD£££444¨¨¨^^^•••uuu¿¿¿:::………{{{ÒÒÒ®®®‘‘‘ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡ddd†††²²²SSS––– ¢¤HHHFFF’’’XXX¬¬¬¸¸¸ËËËqrs´·ºfff”””õÚÏôÊµªª«ççç›››úíâ../ÈÉÉÄÄÄaaaò¥‘×××VVV|~‚Ö××___   õnPÐÉ¼cfi&''!!!	ËÍÍÿS£Ž‰ˆ‰Š988+     CDDeeeQQQÛ|ëW1ÿ3 -???###¾¾»Ž“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gcccáááÔÚàÙïûÝôý112ž­½›Óø¤Îóqpn–nªÏòâèîf§ê


ÃÃÃ“““½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
Ùâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ 000áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO òòòÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœHÑ`€Š
 àbÆˆ
8p A‚Ž*XÀ ƒ$àˆÒcJ‚ D @@‚„	*X¸€!Ê›5+h @(ž@'@ °ÁæÍ :ð áÃ!BT!!À%L$8‘2 Š*V˜˜À¢EŠ.¼€ BLÈ€ñqjØ¸q ‡ 0tÈ¡CGƒ<r$Hq ÇÄ 
 ”èX¡†	€2„È
2˜ÝQGFÎ@9ºB#@ŽŒd€ÀŽ2XXnaöìæ2hÕ l:’` Äˆ%Lšþx!]„Ì;O¿;¡%:`„vbâÉ&‚Y’C„ˆ3ì rË] Ë)ð	@B(!ÀRPSPAEU 0Vh0ÃXüðƒ;8 A 0¤w^L°± ÂXd1‚UÁKAÀìÀEˆ0]D Aì`y$\ #PàÅQÔ‰ð…‡‘AT4ÑDa„±E:Áxˆcœ@†€DøÔaLÐA <aX8`@dF
œ†[ !TÐÅ[0@ i!€ L°@àt„	[$€þ5ðPRE”YÀ[ ±&P Ál ÁdÀFLÀ“O@ $€ @ä $´˜!CIn„¤aœªb¼ñÆÄÁ‘Ó žÚ@´‡Gä‹»]4 pPF˜¡A@Q‡aÔa”Ü‘y¬°pujšè@IG¬pð„„9  @1ÆœHÔQÇšHÀGø‘‡œªñj€@¢4pA=`ÀCAI€PÃf  Ç €TÄ¸i†|‚ !¼1HÃ3‡ÈäGÈl DG!	€@!¼ HþU¢ðÖ[ÒÇ! ’"x(²ó~¼‘Ç"dl áYAÄ #6Ä¡Âp 2FßsÞ\G#|8ÂÇ"@ÒA$’t0	%ˆU"	$y”¤ÐqèEeÀñ‚p@‘†uX…àH<bÈ%†äI&‘D¢É&œtâ	b|’C ÄQH„ÂÀcàÆ ™„°†l-Êó£à1É'£¢ÿ&*”‚X"ŠHmL·SP è¤€Š?¤Â˜Ÿ#úÀQˆb•P…þôÇ‰R¬‚þë $"ÁeH@TÐ
Wä€qƒxEaG8±ÐDþô'‹Ìbþ@ô_"±€€= ÅjÁ[¼â¸ÈC.`á]¤Î“è€*.±ÁMìˆAì^CH †m€&¸ExÑ_Lìpx€D&r‹_l°‡?"+€Ñ ¤: P‚ p€Vã Æ0\‘Aà¡ÄÈ…í&Ñ‰Nl‚¬ ã,dw-
¤`(€1
€ ^ðâÇ@F2”1ˆe„@“`F3féÄì"Ïè "‚%d@04”aHcÉH5ª1	k\ã™Øè@6´ÑRl²ƒxˆGŒÐ„?øoÊØÆ0”!nHC•èÆ3ŸémxÃ¿èb>!‘‹páßËÌÃ#À1Œp#Ë‡8Æ±Nrt ï„'büHèašÀCÌa£D2ÖÙOœ#¡åà$FÀ°€?„ E„"4!tƒ×H‡:²‘PoPs—ñÈlF ‚2üa!è@"r¡‚HÄ1ê BßùHfó#@÷	I¬#ÄØbØ‘f£ë@JA2°ˆ²æáŠXG$ã‰l°£oëBÚáÈ,"FkCÄP¯ÁC5¾Ø†´Ã‹ ì@ ; 0707010003281e000081a40000000000000002000000013d1fe2bd0000099e000000200000000000000000000000000000001e00000003reloc/mount/images/xmemfs.gif GIF89a0 0 ç  ÿÿÿþÿþüùúúþÿ€€€†††ˆˆˆÉÓÈüúûƒƒƒŠŠŠŽŽŽìîØýüÿ‘‘‘•••™™™’’’———ŸŸŸ   êðæ¢¥¢£££§§§©©©«««ûúõž ¯¯¯°°°²²²µ³²àäâÿûþ¡  ©ªª­«®±°²¶¶¶·¸·¸¸¸º½»À»½½½¾òóñÅÁ½Áº¸ÓÜßºººÀÀÀÃÃÃÄÄÄÈÈÈòôäûùùº·¸À¶¿ÈÀÅ¾Ä¾½À·À»ÄÄÄÈ„„„ÉÉÉÌÌÌuun«µ¾À¸½·½»ÀÁÀÅÀÁÁÄÁÎÎÎ<<<ÐÐÐmmmeaiÕÛßÔÜä«²µÐÕßº¸»½¿ÀÐÐÉìììqqqœœœµµµ­­­¼¼¼bbbjijîèùÇÈÉ²­³±­«³³«±¸¸õõõ¾¾¾···ÓÓÓÑÑÑëëëÞÞÞ[[[ßßßfffjemnmtouuÈÌÐÿýþÉÌæÔÙÛªªª|||ÉËÉffhifiief ©ª¶¿Ç¢¢¦ª­²   »»»ÁÁÁRRRÛÛÛÇÇÇäääööö'''ÏÏÏuuwgifÿþÿÁÉÑzzz;;;OOO"""‹‹‹âââïïïuougijÿüÿóòû¨¶¸ÔÔÔ]]](((LLLxxx777ÙÙÙÍÍÍ½½½‡‡‡Å½ÄojoÜÐè¢¢¢ããã---)))YYY```ÝÝÝtmoùõùIII¤¤¤sssDDD444¨¨¨^^^uuu¿¿¿:::………{{{ÒÒÒ®®®ŒŒŒ+++‚‚‚999³³³hhh¦¦¦žžžÂÂÂ¡¡¡dddSSS–––HHHFFFXXX¬¬¬“““”””›››aaa___&&&eeeccc\\\QQQ666???###GGGááá000ØØØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ H° Áƒ*4@ÀÂ‡ P €"jTˆ€ ,É ƒ(~´h@ä@€¡fÆ”	‚4ÐÒ%L	&Ô¤P¡‚pàqgÏ—$H˜ 4Ñ£2hÐ°C‡”MY*ð)5èPF-dÈ°¡+‡ B„1‚ÄB+yúŒ:³*ÑjMl5Áá\!R¨XÁ¢…‹'Âˆ!#ä‚Ë?ƒúM«!ƒ‰„?|›"ÅŠ3XÐ¨QÃ†8rÔ±ƒG?~ áKÕêÕµf1anÜÒ§S» AÃõB†!"°ˆFVù$	%CÓþfXÂ¤‰'O €01×ôËY;‡>$Š”)7P©b¥Å•#;`QY AƒlÁE^|Æ\@Di.¼ÇÂr«½Fßaˆ!…AF˜Q œAG`‘†k,±ÄslÑ†oÀÇ{¶¦á, ÇtÔ!Å@vÜ äQf¤qEmè!]CÈX#jÌ°Gñµöœ|Dd~ˆ!ÆBP  2H
D!jÂÆ!5µÈi$¢È"Œ@ÑÈ|Ñ9âGøáGÉMX@’LBI%Œ°‚%“Tr	˜dB¥&Y°@#›dB_þœ|d'axBŸ€@(RBˆ(£âD)3,±„˜rÊ)^ ’Š)PLâ„*«„ñˆ°d+
¥± ‹\Ú†(®¼,±È2-\l±EiÄK…·`f±Dµ8R‹¶,Ê¥àÐÆ-¸À’‹y]è *¯¸‡»o¼§-×¦¡¼pÊ.ŠtÁ.MôâË/i`r1"n(ñÄ¿üoB§ðrJ&ßfÀ0NüòD,±ôb
"ˆ€
*ˆ4±·§ñ¯(2D0Â ´/3$Á‹è21ÄÜRÌ³aŒ¡øÉÆ+¯lÊj¤‘ÉË-·Á•<þ‡ƒL2‰(SL,¾Ó‹,K,S*ÄÁ"ltÁÌjxÑ*n°¬Èv×Ø…Í <Pˆ8ÓD¯ÏÄ1¿üb
4Ð,Œv¿Ñè¢‹4Lƒ4-D×h4lBÍ!Àt,P0È|Ñ5„œWÍ$OXË\sÃ5m´ÁË,DØLƒÚl 2„!jRˆçåÂHèÍ(© Ë-¬3±Ì2ºÝ5f05À{¸A(¾‡xÁlÑsÔ =t	PxÂ`aŠ8DÚ8QM g5	ö á>=Ü ˜h*Æ€Âlîó4Ö`	nt#þ@ÔÅ4þ¥1	xã
 5œP=D@Áø† ñXîàH†¸P‰¨axrìô ‡' '•pb82AdÂ’ 1ièNßø†ì
q=<€£BVà¾0.{zxBôá…70CpHEAvqQp¡O`@ÄÁI]¨v,(HÈB¬Šz„†80Ñ„ŸÙ {Ø±ƒxcP˜Á,Lˆ#œG©ø?ØSŠzÐƒàÇ„= b{Ã!‘U$š89FÁJHƒâF0u'Ž<ZàÐÆ2‚ÁNaZÃ	å˜Æ209˜=
þy7äSPƒ˜Ø‚=ä1wÔÝ2Ä¡‹sž£É ƒ$ÁB17Æ¡Š&¤£˜F¶±_F€ÐC­±‹X7Æ.¢¡ŽX¨ƒ‰ ÖAKvã	æ`  P”FÀAˆ†)rA‰K00–æ€BÌ‘”¨§º¸5 @Jl‚¦`«rAæ¢É<ØÑº#áD‡8‡*Îáw€ O "YËJˆt¨!Âà/bánˆî­Ï¡¤À'ðÕWO`6Œ8ƒ\BÇtšÓ‚˜ƒ¼FüYS¨!³€Å`DDyéwXžÁp0á	— &Þ ‡YpìhB”²]€¶£ÓóÂf¡Quü¢‡%.A:†×âäÀŸ½CÒ]ˆÆ `¼ô·¿hâ^”Bš‡ØÄsÛÞ<ƒ„h¼Pß‡l6P‡ †[û›Mô7  ;  0707010002fc45000081e40000000000000002000000013d1fe2bd00000e77000000200000000000000000000000000000001600000003reloc/mount/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of known filesystems, and indicate which are currently mounted

require './mount-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("mount fstab vfstab", "man"));
print "<hr>\n";
map { $ignore{$_}++ } split(/\s+/, $access{'ignore'});
map { $deny{$_}++ } split(/\s+/, $access{'deny'});

if (!$access{'icons'}) {
	&show_button();
	print "<table width=100% border>\n";
	print "<tr $tb> <td><b>$text{'index_dir'}</b></td>\n",
	      "<td><b>$text{'index_type'}</b></td>\n",
	      "<td><b>$text{'index_dev'}</b></td>\n",
	      "<td><b>$text{'index_use'}</b></td>\n",
	      "<td><b>$text{'index_perm'}</b></td> </tr>\n";
	}

# List filesystems from fstab
$yes = $text{'yes'};
$no = "<font color=#ff0000>$text{'no'}</a>";
foreach (&list_fstypes()) { $can_edit{$_}++; }
$i = 0;
foreach (&list_mounts()) {
	@minfo = @{$_};
	$p = &simplify_path($minfo[0], $minfo[2]);
	if ($ignore{$minfo[2]}) { $i++; next; }
	if ($access{'icons'}) {
		# Add to icon list
		push(@icons, $minfo[2] eq '*' ? "images/star.gif"
					      : "images/$minfo[2].gif");
		push(@titles, $minfo[2] eq 'swap' ? $p :
			      $minfo[2] eq '*' ? $text{'index_auto'}."<br>".$p :
			      &fstype_name($minfo[2])."<br>".$p);
		push(@links, $can_edit{$minfo[2]} && !$deny{$minfo[0]} ?
			     "edit_mount.cgi?index=$i" : undef);
		}
	else {
		# Display table rows
		print "<tr $cb>\n";
		if ($can_edit{$minfo[2]} && !$deny{$minfo[0]}) {
			print "<td><a href=\"edit_mount.cgi?index=$i\">",
			      "$p</a></td>\n",
			}
		else {
			print "<td>$p</td>\n";
			}
		print "<td>",$minfo[2] eq "*" ? $text{'index_auto'} :
			     &fstype_name($minfo[2]),"</td>\n";
		print "<td>",&device_name($minfo[1]),"</td>\n";
		$p = $minfo[2] eq "swap" ? "*" : $minfo[0];
		@mmodes = &mount_modes($minfo[2]);
		printf "<td>%s</td>\n",
			&get_mounted($p, $minfo[1])>=0 || $mmodes[1]==0 ?
			"<a href='unmount.cgi?index=$i'>$yes</a>" :
			"<a href='mount.cgi?index=$i'>$no</a>";
		print "<td>$yes</td>\n";
		print "</tr>\n";
		}
	$already{$minfo[1],$minfo[0]}++;
	$i++;
	}

# List filesystems from mnttab
$i = 0;
foreach (&list_mounted()) {
	@minfo = @{$_};
	if ($already{$minfo[1],$minfo[0]} || $ignore{$minfo[2]} ||
	    $deny{$minfo[0]}) { $i++; next; }
	$p = &simplify_path($minfo[0], $minfo[2]);
	if ($access{'icons'}) {
		push(@icons, "images/$minfo[2].gif");
		push(@titles, $minfo[2] eq 'swap' ? $p :
			      &fstype_name($minfo[2])."<br>".$p);
		push(@links, $can_edit{$minfo[2]} && !$deny{$minfo[0]} ?
			     "edit_mount.cgi?temp=1&index=$i" : undef);
		}
	else {
		print "<tr $cb>\n";
		if ($can_edit{$minfo[2]} && !$deny{$minfo[0]}) {
			print "<td><a href=\"edit_mount.cgi?temp=1&index=$i\">",
			      "$p</a></td>\n";
			}
		else {
			print "<td>$p</td>\n";
			}
		print "<td>",&fstype_name($minfo[2]),"</td>\n";
		print "<td>",&device_name($minfo[1]),"</td>\n";
		print "<td>$yes</td>\n";
		print "<td>$no</td>\n";
		}
	$i++;
	}

if ($access{'icons'}) {
	&icons_table(\@links, \@titles, \@icons, 4);
	}
else {
	print "</table>\n";
	}
&show_button();

print "<hr>\n";
&footer("/", $text{'index'});

sub simplify_path
{
if ($_[1] eq "swap") {
	return "<i>$text{'index_swap'}</i>";
	}
elsif (length($_[0]) > 20) {
	return &html_escape("... ".substr($_[0], length($_[0])-20));
	}
else {
	return &html_escape($_[0]);
	}
}

sub show_button
{
local %donefs;
print "<form action=\"edit_mount.cgi\">\n";
print "<input type=submit value=\"$text{'index_add'}\"> $text{'index_type'}:\n";
print "<select name=type>\n";
foreach (&list_fstypes()) {
	$nm = &fstype_name($_);
	if (!$donefs{$nm}++) {
		print "<option value=\"$_\">$nm ($_)\n";
		}
	}
print "</select></form>\n";
}

 0707010002fc46000081a40000000000000002000000013d1fe2bd0000c262000000200000000000000000000000000000001800000003reloc/mount/irix-lib.pl   # irix-lib.pl
# Filesystem functions for IRIX

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, $_, $i); $i = 0;
open(FSTAB, $config{'fstab_file'});
while(<FSTAB>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[3] eq "swap") { $p[2] = "swap"; }
	$rv[$i++] = [ $p[1], $p[0], $p[2], $p[3], $p[5], 1 ];
	}
close(FSTAB);
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, and return the index of the new entry
sub create_mount
{
local($len, @mlist, $fcsk, $dir);
if ($_[2] eq "autofs") {
	# An autofs mount.. add to /etc/auto_master
	$len = grep { $_->[2] eq "autofs" } (&list_mounts());
	open(AUTOTAB, ">> $config{autofs_file}");
	print AUTOTAB "$_[0] $_[1]",($_[3] eq "-" ? "" : " -$_[3]"),"\n";
	close(AUTOTAB);
	}
else {
	# Add to the fstab file
	$len = grep { $_->[2] ne "autofs" } (&list_mounts());
	open(FSTAB, ">> $config{fstab_file}");
	if ($_[2] eq "ufs" || $_[2] eq "s5fs") {
		($fsck = $_[1]) =~ s/\/dsk\//\/rdsk\//g;
		}
	else { $fsck = "-"; }
	if ($_[2] eq "swap") { $dir = "-"; }
	else { $dir = $_[0]; }
	print FSTAB "$_[1]  $fsck  $dir  $_[2]  $_[4]  $_[5]  $_[3]\n";
	close(FSTAB);
	}
return $len;
}


# delete_mount(index)
# Delete some mount from the table
sub delete_mount
{
local(@fstab, $i, $line, $_);
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
$i = 0;

open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# found the line not to include
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# found line not to include..
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local(@fstab, @autotab, $i, $line, $fsck, $dir, $_);
$i = 0;

open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		if ($_[3] eq "ufs" || $_[3] eq "s5fs") {
			($fsck = $_[2]) =~ s/\/dsk\//\/rdsk\//g;
			}
		else { $fsck = "-"; }
		if ($_[3] eq "swap") { $dir = "-"; }
		else { $dir = $_[1]; }
		print FSTAB "$_[2]  $fsck  $dir  $_[3]  $_[5]  $_[6]  $_[4]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# Found the line to replace
		print AUTOTAB "$_[1]  $_[2]  ",
				($_[4] eq "-" ? "" : "-$_[4]"),"\n";
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# For swap files, the directory will be 'swap'
sub list_mounted
{
local(@rv, @p, $_, $i, $r);
foreach (split(/\n/, `cat /etc/mtab`)) {
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed. If the directory is 'swap', then mount as
# virtual memory.
sub mount_dir
{
local($out, $opts);
if ($_[0] eq "swap") {
	# Adding a swap device
	$out = `swap -a $_[1] 2>&1`;
	if ($?) { return $out; }
	}
else {
	# Mounting a directory
	if ($_[2] eq "cachefs") {
		# Mounting a caching filesystem.. need to create cache first
		local(%options);
		&parse_options("cachefs", $_[3]);
		if (!(-r "$options{cachedir}/.cfs_resource")) {
			# The cache directory does not exist.. set it up
			if (-d $options{cachedir} &&
			    !rmdir($options{"cachedir"})) {
				return "The directory $options{cachedir} ".
				       "already exists. Delete it";
				}
			$out = `cfsadmin -c $options{cachedir} 2>&1`;
			if ($?) { return $out; }
			}
		}
	if ($_[2] eq "rumba") {
		# call 'rumba' to mount
		local(%options, $shortname, $shar, $opts, $rv);
		&parse_options("rumba", $_[3]);
		$shortname = hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$_[1] =~ /^\\\\(.+)\\(.+)$/;
		$shar = "//".($options{machinename} ?$options{machinename} :$1).
			"/$2";
		$opts = ("-s $1 ").
		 (defined($options{'clientname'}) ?
			"-c $options{'clientname'} " : "-c $shortname ").
		 (defined($options{'username'}) ?
			"-U $options{'username'} " : "").
		 (defined($options{'uid'}) ? "-u $options{'uid'} " : "").
		 (defined($options{'gid'}) ? "-g $options{'gid'} " : "").
		 (defined($options{'fmode'}) ? "-f $options{'fmode'} " : "").
		 (defined($options{'dmode'}) ? "-d $options{'dmode'} " : "").
		 (defined($options{'noupper'}) ? "-C " : "").
		 (defined($options{'password'}) ?
			"-P $options{'password'} " : "-n ").
		 (defined($options{'readwrite'}) ? "-S " : "").
		 (defined($options{'readonly'}) ? "-w " : "").
		 (defined($options{'attr'}) ? "-e " : "");
		local $rtemp = &tempname();
		$rv = system("rumba \"$shar\" $_[0] $opts >$rtemp 2>&1 </dev/null");
		$out = `cat $rtemp`; unlink($rtemp);
		if ($rv) { return "<pre>$out</pre> : rumba \"$shar\" $_[0] $opts"; }
		}
	else {
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = `mount -F $_[2] $opts -- $_[1] $_[0] 2>&1`;
		if ($?) { return $out; }
		}
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory (or swap device) that is currently mounted. Returns 0 if
# ok, or an error string if failed
sub unmount_dir
{
if ($_[0] eq "swap") {
	$out = `swap -d $_[1] 2>&1`;
	}
elsif ($_[2] eq "rumba") {
	# kill the process (if nobody is in the directory)
	$dir = $_[0];
	if (`fuser -c $_[0] 2>/dev/null` =~ /\d/) { return "$_[0] is busy"; }
	if (`cat /etc/mnttab` =~ /rumba-(\d+)\s+$dir\s+nfs/) {
		&kill_logged('TERM', $1) || return "Failed to kill rumba";
		}
	else { return "Failed to find rumba pid"; }
	sleep(1);
	}
else {
	$out = `umount $_[0] 2>&1`;
	}
if ($?) { return $out; }
return 0;
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "fd" || $_[0] eq "proc" || $_[0] eq "swap" || $_[0] eq "autofs") {
	return ();
	}
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
return ("ufs", "nfs", "hsfs", "pcfs", "lofs", "cachefs", "swap",
	"tmpfs", "autofs");
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ufs","Solaris Unix Filesystem",
	  "nfs","Network Filesystem",
	  "hsfs","ISO9660 CD-ROM",
	  "pcfs","MS-DOS Filesystem",
	  "lofs","Loopback Filesystem",
	  "cachefs","Caching Filesystem",
	  "swap","Virtual Memory",
	  "tmpfs","Ram Disk",
	  "autofs","Automounter Filesystem",
	  "proc","Process Image Filesystem",
	  "fd","File Descriptor Filesystem",
	  "rumba","Windows Networking Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
sub mount_modes
{
if ($_[0] eq "ufs" || $_[0] eq "cachefs" || $_[0] eq "s5fs") {
	return (2, 1, 1, 0);
	}
elsif ($_[0] eq "rumba") { return (0, 1, 0, 0); }
else { return (2, 1, 0, 0); }
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "tmpfs" || $_[0] eq "cachefs" ||
        $_[0] eq "autofs" || $_[0] eq "lofs" || $_[0] eq "rumba");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	if ($_[1] =~ /^nfs:/) { $nfsmode = 2; }
	elsif (!$_[1] || $_[1] =~ /^([A-z0-9\-\.]+):([^,]+)$/) {
		$nfsmode = 0; $nfshost = $1; $nfspath = $2;
		}
	else { $nfsmode = 1; }
	if ($gconfig{'os_version'} >= 2.6) {
		# Solaris 2.6 can list multiple NFS servers in mount
		print "<tr> <td><b>NFS Source</b></td>\n";
		printf "<td><input type=radio name=nfs_serv value=0 %s>\n",
			$nfsmode == 0 ? "checked" : "";
		print "<b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "&nbsp;<b>NFS Directory</b>\n";
		print "<input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";

		print "<tr> <td></td>\n";
		printf "<td><input type=radio name=nfs_serv value=1 %s>\n",
			$nfsmode == 1 ? "checked" : "";
		print "<b>Multiple NFS Servers</b></td>\n";
		printf "<td><input name=nfs_list size=40 value=\"%s\">\n",
			$nfsmode == 1 ? $_[1] : "";
		print "</td> </tr>\n";

		if ($gconfig{'os_version'} >= 7) {
			print "<tr> <td></td> <td>\n";
			printf "<input type=radio name=nfs_serv value=2 %s>\n",
				$nfsmode == 2 ? "checked" : "";
			print "<b>WebNFS URL</b></td> <td>\n";
			printf "<input name=nfs_url size=40 value=\"%s\">\n",
				$nfsmode == 2 ? $_[1] : "";
			print "</td> </tr>\n";
			}
		}
	else {
		print "<tr> <td><b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "</td>\n";
		print "<td><b>NFS Directory</b></td>\n";
		print "<td><input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Location is irrelevant for tmpfs filesystems
	}
elsif ($_[0] eq "ufs") {
	# Mounted from a normal disk, raid (MD) device or from
	# somewhere else
	print "<tr> <td valign=top><b>UFS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$ufs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$ufs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/) {
		$ufs_dev = 1; $scsi_md = $1;
		}
	else {
		$ufs_dev = 2; $scsi_path = $_[1];
		}
	printf "<input type=radio name=ufs_dev value=0 %s> SCSI Disk:\n",
		$ufs_dev == 0 ? "checked" : "";
	print "Controller <input name=ufs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=ufs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=ufs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=ufs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=ufs_dev value=1 %s> RAID Device:\n",
		$ufs_dev == 1 ? "checked" : "";
	print "Unit <input name=ufs_md size=3 value=\"$scsi_md\"><br>\n";

	printf "<input type=radio name=ufs_dev value=2 %s> Other Device:\n",
		$ufs_dev == 2 ? "checked" : "";
	print "<input name=ufs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swapping to a disk partition or a file
	print "<tr> <td valign=top><b>Swap File</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$swap_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$swap_dev = 1; $scsi_path = "";
		}
	else {
		$swap_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=swap_dev value=0 %s> SCSI Disk:\n",
		$swap_dev == 0 ? "checked" : "";
	print "Controller <input name=swap_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=swap_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=swap_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=swap_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=swap_dev value=1 %s> File:\n",
		$swap_dev == 1 ? "checked" : "";
	print "<input name=swap_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "hsfs") {
	# Mounting a SCSI cdrom
	print "<tr> <td valign=top><b>CDROM Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$hsfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$hsfs_dev = 0;
		$scsi_c = 0; $scsi_t = 6; $scsi_d = 0; $scsi_s = 0;
		}
	else {
		$hsfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=hsfs_dev value=0 %s> SCSI Device:\n",
		$hsfs_dev == 0 ? "checked" : "";
	print "Controller <input name=hsfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=hsfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=hsfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=hsfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=hsfs_dev value=1 %s> Other Device:\n",
		$hsfs_dev == 1 ? "checked" : "";
	print "<input name=hsfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "pcfs") {
	# Mounting a SCSI msdos filesystem
	print "<tr> <td valign=top><b>MS-DOS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$pcfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$pcfs_dev = 1; $scsi_path = "";
		}
	else {
		$pcfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=pcfs_dev value=0 %s> SCSI Device:\n",
		$pcfs_dev == 0 ? "checked" : "";
	print "Controller <input name=pcfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=pcfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=pcfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=pcfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=pcfs_dev value=1 %s> Other Device:\n",
		$pcfs_dev == 1 ? "checked" : "";
	print "<input name=pcfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "lofs") {
	# Mounting some directory to another location
	print "<tr> <td><b>Original Directory</b></td>\n";
	print "<td><input name=lofs_src size=30 value=\"$_[1]\">\n";
	print &file_chooser_button("lofs_src", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "cachefs") {
	# Mounting a cached filesystem of some type.. need a location for
	# the source of the mount
	print "<tr> <td><b>Cache Source</b></td>\n";
	print "<td><input name=cfs_src size=20 value=\"$_[1]\"></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# An automounter entry.. can be -hosts, -xfn or from some mapping
	print "<tr> <td valign=top><b>Automounter map</b></td>\n";
	printf "<td><input type=radio name=autofs_type value=0 %s>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : "checked";
	printf "Use map <input name=autofs_map size=20 value=\"%s\"><br>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : $_[1];
	printf "<input type=radio name=autofs_type value=1 %s>\n",
		$_[1] eq "-hosts" ? "checked" : "";
	print "All NFS exports map<br>\n";
	printf "<input type=radio name=autofs_type value=2 %s>\n",
		$_[1] eq "-xfn" ? "checked" : "";
	print "Federated  Naming  Service map</td> </tr>\n";
	}
elsif ($_[0] eq "rumba") {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>Server Name</b></td>\n";
	print "<td><input name=rumba_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("rumba_server");
	print "</td>\n";
	print "<td><b>Share Name</b></td>\n";
	print "<td><input name=rumba_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("rumba_server", "rumba_share");
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a partilcar filesystem 
# under this OS
sub generate_options
{
if ($_[0] eq "nfs") {
	# Solaris NFS has many options, not all of which are editable here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=nfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=nfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Files inherit parent GID?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_grpid value=0 %s> Yes\n",
		defined($options{"grpid"}) ? "" : "checked";
	printf "<input type=radio name=nfs_grpid value=1 %s> No</td>\n",
		defined($options{"grpid"}) ? "checked" : "";

	print "<td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> Yes\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> No</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> Yes\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> No</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>Display quotas?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
	printf "<input type=radio name=nfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>NFS version</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> Highest\n",
		defined($options{"vers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"vers"}) ? "checked" : "";
	print "<input size=1 name=nfs_vers value=$options{vers}></td> </tr>\n";

	print "<tr> <td><b>Protocol</b></td>\n";
	print "<td nowrap><select name=proto>\n";
	printf "<option value=\"\" %s> Default\n",
		defined($options{"proto"}) ? "" : "selected";
	foreach (split(/\n/, `cat /etc/netconfig`)) {
		if (!/^([A-z0-9\_\-]+)\s/) { next; }
		printf "<option value=\"$1\" %s> $1\n",
			$options{"proto"} eq $1 ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>NFS Port</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> Default\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>Timeout</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> Default\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>Number of Retransmissions</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> Default\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>Authentication</b></td>\n";
	$nfs_auth = $options{'sec'} ? $options{'sec'} :
		    defined($options{"secure"}) ? "dh" :
		    defined($options{"kerberos"}) ? "krb" : "";
	print "<td><select name=nfs_auth>\n";
	printf "<option value=\"\" %s> None\n",
		$nfs_auth eq "" ? "selected" : "";
	printf "<option value=dh %s> DES\n",
		$nfs_auth eq "dh" ? "selected" : "";
	printf "<option value=krb %s> Kerberos\n",
		$nfs_auth eq "krb" ? "selected" : "";
	print "</select></td>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>WebNFS mount?</b></td> <td>\n";
		printf "<input type=radio name=nfs_public value=1 %s> Yes\n",
			defined($options{'public'}) ? "checked" : "";
		printf "<input type=radio name=nfs_public value=0 %s> No\n",
			defined($options{'public'}) ? "" : "checked";
		print "</td>\n";
		}
	print "</tr>\n";
	}
if ($_[0] eq "ufs") {
	# Solaris UFS also has many options, not all of which are here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=ufs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=ufs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=ufs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>Enable quotas at boot time?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"checked" : "";
	printf "<input type=radio name=ufs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"" : "checked";

	print "<tr> <td><b>Action on error</b></td>\n";
	print "<td><select name=ufs_onerror>\n";
	foreach ('panic', 'lock', 'umount', 'repair') {
		printf "<option value=\"$_\" %s> $_\n",
		 $options{onerror} eq $_ ||
		 !defined($options{onerror}) && $_ eq "panic" ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Repair Delay</b></td>\n";
	$options{toosoon} =~ /([0-9]+)([A-z])/;
	print "<td nowrap><input size=5 name=ufs_toosoon_time value=$1>\n";
	print "<select name=ufs_toosoon_units>\n";
	printf "<option value=s %s> Seconds\n", $2 eq "s" ? "selected" : "";
	printf "<option value=m %s> Minutes\n", $2 eq "m" ? "selected" : "";
	printf "<option value=h %s> Hours\n", $2 eq "h" ? "selected" : "";
	printf "<option value=d %s> Days\n", $2 eq "d" ? "selected" : "";
	printf "<option value=w %s> Months\n", $2 eq "w" ? "selected" : "";
	printf "<option value=y %s> Years\n", $2 eq "y" ? "selected" : "";
	print "</select></td> </tr>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<tr> <td><b>Update access times?</b></td> <td>\n";
		printf "<input type=radio name=ufs_noatime value=0 %s> Yes\n",
			defined($options{'noatime'}) ? "" : "checked";
		printf "<input type=radio name=ufs_noatime value=1 %s> No\n",
			defined($options{'noatime'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Force direct IO?</b></td> <td>\n";
		printf "<input type=radio name=ufs_force value=1 %s> Yes\n",
			defined($options{'forcedirectio'}) ? "checked" : "";
		printf "<input type=radio name=ufs_force value=0 %s> No\n",
			defined($options{'forcedirectio'}) ? "" : "checked";
		print "</td> </tr>\n";

		print "<tr> <td><b>Allow large files?</td> <td>\n";
		printf "<input type=radio name=ufs_nolarge value=0 %s> Yes\n",
			defined($options{'nolargefiles'}) ? "" : "checked";
		printf "<input type=radio name=ufs_nolarge value=1 %s> No\n",
			defined($options{'nolargefiles'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Enabled logging?</td> <td>\n";
		printf "<input type=radio name=ufs_logging value=1 %s> Yes\n",
			defined($options{'logging'}) ? "checked" : "";
		printf "<input type=radio name=ufs_logging value=0 %s> No\n",
			defined($options{'logging'}) ? "" : "checked";
		print "</td> </tr>\n";
		}
	}
if ($_[0] eq "hsfs") {
	# Solaris hsfs is used for CDROMs
	print "<tr> <td><b>Ignore Unix attributes?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nrr value=1 %s> Yes\n",
		defined($options{"nrr"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nrr value=0 %s> No</td>\n",
		defined($options{"nrr"}) ? "" : "checked";

	print "<td><b>Ignore trailing dot?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_notraildot value=1 %s> Yes\n",
		defined($options{"notraildot"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_notraildot value=0 %s> No</td> </tr>\n",
		defined($options{"notraildot"}) ? "" : "checked";

	print "<tr> <td><b>Use lower case?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nomaplcase value=0 %s> Yes\n",
		defined($options{"nomaplcase"}) ? "" : "checked";
	printf "<input type=radio name=hsfs_nomaplcase value=1 %s> No</td>\n",
		defined($options{"nomaplcase"}) ? "checked" : "";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf"<td nowrap><input type=radio name=hsfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "pcfs") {
	# Solaris pcfs for for FAT filesystems. It doesn't have many options
	print "<tr> <td width=25%><b>Read Only?</b></td> <td width=25%>\n";
	printf "<input type=radio name=pcfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=pcfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>Force lower case?</b></td> <td>\n";
		printf "<input type=radio name=pcfs_foldcase value=1 %s> Yes\n",
			defined($options{'foldcase'}) ? "checked" : "";
		printf "<input type=radio name=pcfs_foldcase value=0 %s> No\n",
			defined($options{'foldcase'}) ? "" : "checked";
		print "</td>\n";
		}
	else {
		print "<td colspan=2></td> </tr>\n";
		}
	}
if ($_[0] eq "lofs") {
	# No options as far as I know
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "tmpfs") {
	# Solaris tmpfs (virtual memory) filesystem. Only one option
	print "<tr> <td><b>Size</b>&nbsp;&nbsp;&nbsp;</td>\n";
	printf"<td><input type=radio name=tmpfs_size_def value=1 %s> Maximum\n",
		defined($options{"size"}) ? "" : "checked";
	printf"&nbsp;&nbsp;<input type=radio name=tmpfs_size_def value=0 %s>\n",
		defined($options{"size"}) ? "checked" : "";
	($tmpsz = $options{size}) =~ s/[A-z]+$//g;
	print "<input name=tmpfs_size size=6 value=\"$tmpsz\">\n";
	print "<select name=tmpfs_unit>\n";
	printf "<option value=m %s> MB\n",
		$options{"size"} =~ /m$/ ? "selected" : "";
	printf "<option value=k %s> kB\n",
		$options{"size"} =~ /k$/ ? "selected" : "";
	printf "<option value=b %s> bytes\n",
		$options{"size"} !~ /(k|m)$/ ? "selected" : "";
	print "</select></td>\n";
	print "<td colsan=2></td> </tr>\n";
	}
if ($_[0] eq "swap") {
	# Solaris swap has no options
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options.. cachefs mounts can
	# be of an existing 'manually' mounted back filesystem, or of a
	# back-filesystem that has been automatically mounted by the cache.
	# The user should never see the automatic mountings made by cachefs.
	print "<tr> <td><b>Real filesystem type</b></td>\n";
	print "<td nowrap><select name=cfs_backfstype>\n";
	if (!defined($options{backfstype})) { $options{backfstype} = "nfs"; }
	foreach (&list_fstypes()) {
		if ($_ eq "cachefs") { next; }
		printf "<option value=\"$_\" %s>$_\n",
			$_ eq $options{backfstype} ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Real mount point</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_noback value=1 %s> Automatic\n",
		defined($options{"backpath"}) ? "" : "checked";
	printf "<input type=radio name=cfs_noback value=0 %s>\n",
		defined($options{"backpath"}) ? "checked" : "";
	print "<input size=10 name=cfs_backpath value=\"$options{backpath}\"></td> </tr>\n";

	print "<tr> <td><b>Cache directory</b></td>\n";
	printf "<td nowrap><input size=10 name=cfs_cachedir value=\"%s\"></td>\n",
		defined($options{"cachedir"}) ? $options{"cachedir"} : "/cache";

	print "<td><b>Write mode</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_wmode value=0 %s> Write-around\n",
		defined($options{"non-shared"}) ? "" : "checked";
	printf "<input type=radio name=cfs_wmode value=1 %s> Non-shared\n",
		defined($options{"non-shared"}) ? "checked" : "";
	print "</td> </tr>\n";

	print "<tr> <td><b>Consistency check</b></td>\n";
	print "<td><select name=cfs_con>\n";
	print "<option value=1> Periodically\n";
	printf "<option value=0 %s> Never\n",
		defined($options{"noconst"}) ? "selected" : "";
	printf "<option value=2 %s> On demand\n",
		defined($options{"demandconst"}) ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>Check permissions in cache?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_local value=1 %s> Yes\n",
		defined($options{"local-access"}) ? "checked" : "";
	printf "<input type=radio name=cfs_local value=0 %s> No</td> </tr>\n",
		defined($options{"local-access"}) ? "" : "checked";

	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=cfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "autofs") {
	# Autofs has lots of options, depending on the type of file
	# system being automounted.. the fstype options determines this
	local($fstype);
	$fstype = $options{fstype} eq "" ? "nfs" : $options{fstype};
	if ($gconfig{'os_version'} >= 2.6) {
		print "<tr> <td><b>Browsing enabled?</b></td> <td>\n";
		printf "<input type=radio name=auto_nobrowse value=0 %s> Yes\n",
			defined($options{'nobrowse'}) ? "" : "checked";
		printf "<input type=radio name=auto_nobrowse value=1 %s> No\n",
			defined($options{'nobrowse'}) ? "checked" : "";
		print "</td> <td colspan=2></td> </tr>\n";
		}
	&generate_options($fstype);
	print "<input type=hidden name=autofs_fstype value=\"$fstype\">\n";
	}
if ($_[0] eq "rumba") {
	# SMB filesystems have a few options..
	print "<tr> <td><b>Server Hostname</b></td>\n";
	printf "<td><input type=radio name=rumba_mname_def value=1 %s> Automatic\n",
		defined($options{"machinename"}) ? "" : "checked";
	printf "<input type=radio name=rumba_mname_def value=0 %s>\n",
		defined($options{"machinename"}) ? "checked" : "";
	print "<input size=10 name=rumba_mname value=\"$options{machinename}\"></td>\n";

	print "<td><b>Client Name</b></td>\n";
	printf "<td><input type=radio name=rumba_cname_def value=1 %s> Automatic\n",
		defined($options{"clientname"}) ? "" : "checked";
	printf "<input type=radio name=rumba_cname_def value=0 %s>\n",
		defined($options{"clientname"}) ? "checked" : "";
	print "<input size=10 name=rumba_cname value=\"$options{clientname}\"></td> </tr>\n";

	print "<tr> <td><b>Login Name</b></td>\n";
	print "<td><input name=rumba_username size=15 value=\"$options{username}\"></td>\n";

	print "<td><b>Login Password</b></td>\n";
	print "<td><input type=password name=rumba_password size=15 value=\"$options{password}\"></td> </tr>\n";

	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input name=rumba_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("rumba_uid", 0),"</td>\n";

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input name=rumba_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("rumba_gid", 0),"</td>\n";

	print "<tr> <td><b>File permissions</b></td>\n";
	printf "<td><input name=rumba_fmode size=5 value=\"%s\"></td>\n",
		defined($options{fmode}) ? $options{fmode} : "755";

	print "<td><b>Directory permissions</b></td>\n";
	printf "<td><input name=rumba_dmode size=5 value=\"%s\"></td> </tr>\n",
		defined($options{dmode}) ? $options{dmode} : "755";

	print "<tr> <td><b>Read/write access is safe?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readwrite value=1 %s> Yes\n",
		defined($options{"readwrite"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readwrite value=0 %s> No</td>\n",
		defined($options{"readwrite"}) ? "" : "checked";

	print "<td><b>Files can be read-only?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readonly value=1 %s> Yes\n",
		defined($options{"readonly"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readonly value=0 %s> No</td> </tr>\n",
		defined($options{"readonly"}) ? "" : "checked";

	print "<tr> <td><b>Send password in upper case?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_noupper value=0 %s> Yes\n",
		defined($options{"noupper"}) ? "" : "checked";
	printf "<input type=radio name=rumba_noupper value=1 %s> No</td>\n",
		defined($options{"noupper"}) ? "checked" : "";

	print "<td><b>Use attrE commands?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_attr value=1 %s> Yes\n",
		defined($options{"attr"}) ? "checked" : "";
	printf "<input type=radio name=rumba_attr value=0 %s> No</td> </tr>\n",
		defined($options{"attr"}) ? "" : "checked";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if ($in{'nfs_serv'} == 1) {
		# multiple servers listed.. assume the user has a brain
		return $in{'nfs_list'};
		}
	elsif ($in{'nfs_serv'} == 2) {
		# NFS url.. check syntax
		if ($in{'nfs_url'} !~ /^nfs:\/\/([^\/ ]+)(\/([^\/ ]*))?$/) {
			&error("'$in{'nfs_url'}' is not a valid NFS URL");
			}
		return $in{'nfs_url'};
		}

	# Use dfshares to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error("'$in{nfs_host}' is not a valid hostname");
		}
	$out = `dfshares '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unknown host/) {
		&error("The host '$in{nfs_host}' does not exist");
		}
	elsif ($out =~ /Timed out/) {
		&error("The host '$in{nfs_host}' is down or does not ".
		       "support NFS");
		}
	elsif ($out =~ /Program not registered/) {
		&error("The host '$in{nfs_host}' does not support NFS");
		}

	# Try a test mount to see if filesystem is available
	foreach (split(/\n/, $out)) {
		if (/^\s*([^ :]+):(\/\S+)\s+/) { $dirlist .= "$2\n"; }
		}
	if ($in{nfs_dir} !~ /^\S+$/) {
		&error("'$in{nfs_dir}' is not a valid directory name. The ".
		       "available directories on $in{nfs_host} are:".
		       "<pre>$dirlist</pre>");
		}
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "ufs") {
	# Get the device name
	if ($in{ufs_dev} == 0) {
		$in{ufs_c} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_c}' is not a valid SCSI controller");
		$in{ufs_t} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_t}' is not a valid SCSI target");
		$in{ufs_d} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_d}' is not a valid SCSI unit");
		$in{ufs_s} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{ufs_c}t$in{ufs_t}d$in{ufs_d}s$in{ufs_s}";
		}
	elsif ($in{ufs_dev} == 1) {
		$in{ufs_md} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_md}' is not a valid RAID unit");
		$dv = "/dev/md/dsk/d$in{ufs_md}";
		}
	else {
		$in{ufs_path} =~ /^\/\S+$/ ||
			&error("'$in{ufs_path}' is not a valid pathname");
		$dv = $in{ufs_path};
		}

	&fstyp_check($dv, "ufs");
	return $dv;
	}
elsif ($_[0] eq "lofs") {
	# Get and check the original directory
	$dv = $in{'lofs_src'};
	if (!(-r $dv)) { &error("'$in{lofs_src}' does not exist"); }
	if (!(-d $dv)) { &error("'$in{lofs_src}' is not a directory"); }
	return $dv;
	}
elsif ($_[0] eq "swap") {
	if ($in{swap_dev} == 0) {
		$in{swap_c} =~ /^[0-9]+$/ ||
			&error("'$in{swap_c}' is not a valid SCSI controller");
		$in{swap_t} =~ /^[0-9]+$/ ||
			&error("'$in{swap_t}' is not a valid SCSI target");
		$in{swap_d} =~ /^[0-9]+$/ ||
			&error("'$in{swap_d}' is not a valid SCSI unit");
		$in{swap_s} =~ /^[0-9]+$/ ||
			&error("'$in{swap_s}' is not a valid SCSI partition");
		$dv="/dev/dsk/c$in{swap_c}t$in{swap_t}d$in{swap_d}s$in{swap_s}";
		}
	else { $dv = $in{swap_path}; }

	if (!open(SWAPFILE, $dv)) {
		if ($! =~ /No such file/ && $in{swap_dev}) {
			if ($dv !~ /^\/dev/) {
				&swap_form($dv);
				}
			else {
				&error("The swap file '$dv' does not exist");
				}
			}
		elsif ($! =~ /No such file/) {
			&error("The SCSI target '$in{swap_t}' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The partition '$in{swap_s}' does not exist");
			}
		else {
			&error("Failed to open '$dv' : $!");
			}
		}
	close(SWAPFILE);
	return $dv;
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have no location
	return "swap";
	}
elsif ($_[0] eq "cachefs") {
	# In order to check the location for the caching filesystem, we need
	# to check the back filesystem
	if (!$in{cfs_noback}) {
		# The back filesystem is manually mounted.. hopefully
		local($bidx, @mlist, @binfo);
		$bidx = &get_mounted($in{cfs_backpath}, "*");
		if ($bidx < 0) {
			&error("The back filesystem '$in{cfs_backpath}' is ".
			       "not mounted");
			}
		@mlist = &list_mounted();
		@binfo = @{$mlist[$bidx]};
		if ($binfo[2] ne $in{cfs_backfstype}) {
			&error("The back filesystem is '$binfo[2]', not ".
			       "'$in{cfs_backfstype}'");
			}
		}
	else {
		# Need to automatically mount the back filesystem.. check
		# it for sanity first.
		# But HOW?
		$in{cfs_src} =~ /^\S+$/ ||
			&error("'$in{cfs_src}' is not a valid cache source");
		}
	return $in{cfs_src};
	}
elsif ($_[0] eq "autofs") {
	# An autofs filesystem can be either mounted from the special
	# -hosts and -xfn maps, or from a normal map. The map can be a file
	# name (if it starts with /), or an NIS map (if it doesn't)
	if ($in{autofs_type} == 0) {
		# Normal map
		$in{autofs_map} =~ /\S/ ||
			&error("You did not enter an automount map name");
		if ($in{autofs_map} =~ /^\// && !(-r $in{autofs_map})) {
			&error("The map file '$in{autofs_map}' does not exist");
			}
		return $in{autofs_map};
		}
	elsif ($in{autofs_type} == 1) {
		# Special hosts map (automount all shares from some host)
		return "-hosts";
		}
	else {
		# Special FNS map (not sure what this does)
		return "-xfn";
		}
	}
elsif ($_[0] eq "rumba") {
	# Cannot check much here..
	return "\\\\$in{rumba_server}\\$in{rumba_share}";
	}
}


# fstyp_check(device, type)
# Check if some device exists, and contains a filesystem of the given type,
# using the fstyp command.
sub fstyp_check
{
local($out, $part, $found);

# Check if the device/partition actually exists
if ($_[0] =~ /^\/dev\/dsk\/c(.)t(.)d(.)s(.)$/) {
	# mounting a normal scsi device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The SCSI target for '$_[0]' does not exist");
		}
	$part = $4;
	foreach (split(/\n/, $out)) {
		/^\s+([0-9]+)\s+([0-9]+)/;
		if ($1 == $part) {
			$found = 1; last;
			}
		}
	if (!$found) {
		&error("The SCSI partition for '$_[0]' does not exist");
		}
	}
elsif ($_[0] =~ /^\/dev\/md\/dsk\/d(.)$/) {
	# mounting a multi-disk (raid) device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The RAID device for '$_[0]' does not exist");
		}
	if ($out !~ /\S/) {
		&error("No partitions on '$_[0]' ??");
		}
	}
else {
	# Some other device
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
			&error("The device file '$_[0]' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The device for '$_[0]' does not exist");
			}
		}
	close(DEV);
	}

# Check the filesystem type
$out = `fstyp $_[0] 2>&1`;
if ($out =~ /^([A-z0-9]+)\n$/) {
	if ($1 eq $_[1]) { return; }
	else {
		# Wrong filesystem type
		&error("The device '$_[0]' is formatted as a ".
		       &fstype_name($1));
		}
	}
else {
	&error("Failed to check filesystem type : $out");
	}
}


# check_options(type)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);
if ($_[0] eq "nfs") {
	# NFS has lots of options to parse
	if ($in{'nfs_ro'}) {
		# Read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# Read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}

	delete($options{'quota'}); delete($options{'noquota'});
	if ($in{'nfs_quota'}) { $options{'quota'} = ""; }

	delete($options{"nosuid"}); delete($options{"suid"});
	if ($in{nfs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"grpid"});
	if ($in{nfs_grpid}) { $options{"grpid"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"vers"});
	if (!$in{nfs_vers_def}) { $options{"vers"} = $in{nfs_vers}; }

	delete($options{"proto"});
	if ($in{nfs_proto} ne "") { $options{"proto"} = $in{nfs_proto}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"secure"}); delete($options{"kerberos"});
	delete($options{"sec"});
	if ($gconfig{'os_version'} >= 2.6) {
		if ($in{'nfs_auth'}) { $options{'sec'} = $in{'nfs_auth'}; }
		}
	else {
		if ($in{'nfs_auth'} eq "dh") { $options{"secure"} = ""; }
		elsif ($in{'nfs_auth'} eq "krb") { $options{"kerberos"} = ""; }
		}

	if ($gconfig{'os_version'} >= 7) {
		delete($options{'public'});
		$options{'public'} = "" if ($in{'nfs_public'});
		}
	}
elsif ($_[0] eq "ufs") {
	# UFS also has lots of options..
	if ($in{ufs_ro}) {
		# read-only (and thus no quota)
		$options{"ro"} = ""; delete($options{"rw"});
		delete($options{"rq"}); delete($options{"quota"});
		}
	elsif ($in{ufs_quota}) {
		# read-write, with quota
		delete($options{"ro"}); $options{"rw"} = "";
		$options{"quota"} = "";
		}
	else {
		# read-write, without quota
		delete($options{"ro"}); $options{"rw"} = "";
		delete($options{"quota"});
		}

	delete($options{"nosuid"});
	if ($in{ufs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{ufs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"onerror"});
	if ($in{ufs_onerror} ne "panic") {
		$options{"onerror"} = $in{ufs_onerror};
		}

	delete($options{"toosoon"});
	if ($in{ufs_toosoon_time}) {
		$options{"toosoon"} = $in{ufs_toosoon_time}.
				      $in{ufs_toosoon_units};
		}
	if ($gconfig{'os_version'} >= 7) {
		delete($options{'noatime'});
		$options{'noatime'} = "" if ($in{'ufs_noatime'});

		delete($options{'forcedirectio'});
		delete($options{'noforcedirectio'});
		$options{'forcedirectio'} = "" if ($in{'ufs_force'});

		delete($options{'nolargefiles'});delete($options{'largefiles'});
		$options{'nolargefiles'} = "" if ($in{'ufs_nolarge'});

		delete($options{'logging'}); delete($options{'nologging'});
		$options{'logging'} = "" if ($in{'ufs_logging'});
		}
	}
elsif ($_[0] eq "lofs") {
	# Loopback has no options to parse
	}
elsif ($_[0] eq "swap") {
	# Swap has no options to parse
	}
elsif ($_[0] eq "pcfs") {
	# PCFS has only 2 options
	delete($options{'ro'}); delete($options{'rw'});
	$options{'ro'} = "" if ($in{'pcfs_rp'});

	delete($options{'foldcase'}); delete($options{'nofoldcase'});
	$options{'foldcase'} = "" if ($in{'pcfs_foldcase'});
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have only one option
	delete($options{"size"});
	if (!$in{"tmpfs_size_def"}) {
		$options{"size"} = "$in{tmpfs_size}$in{tmpfs_unit}";
		}
	}
elsif ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options
	$options{"backfstype"} = $in{"cfs_backfstype"};

	delete($options{"backpath"});
	if (!$in{"cfs_noback"}) {
		# A back filesystem was given..  (alreadys checked)
		$options{"backpath"} = $in{"cfs_backpath"};
		}

	if ($in{"cfs_cachedir"} !~ /^\/\S+/) {
		&error("'$in{cfs_cachedir}' is not a valid cache directory");
		}
	$options{"cachedir"} = $in{"cfs_cachedir"};

	delete($options{"write-around"}); delete($options{"non-shared"});
	if ($in{"cfs_wmode"}) {
		$options{"non-shared"} = "";
		}

	delete($options{"noconst"}); delete($options{"demandconst"});
	if ($in{"cfs_con"} == 0) { $options{"noconst"} = ""; }
	elsif ($in{"cfs_con"} == 2) { $options{"demandconst"} = ""; }

	delete($options{"ro"}); delete($options{"rw"});
	if ($in{"cfs_ro"}) { $options{"ro"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{"cfs_nosuid"}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "autofs") {
	# The options for autofs depend on the type of the automounted
	# filesystem.. 
	$options{"fstype"} = $in{"autofs_fstype"};
	if ($gconfig{'os_version'} >= 2.6) {
		delete($options{'nobrowse'}); delete($options{'browse'});
		$options{'nobrowse'} = "" if ($in{'auto_nobrowse'});
		}
	return &check_options($options{"fstype"});
	}
elsif ($_[0] eq "rumba") {
	# Options for smb filesystems..
	delete($options{machinename});
	if (!$in{rumba_mname_def}) { $options{machinename} = $in{rumba_mname}; }

	delete($options{clientname});
	if (!$in{rumba_cname_def}) { $options{clientname} = $in{rumba_cname}; }

	delete($options{username});
	if ($in{rumba_username}) { $options{username} = $in{rumba_username}; }

	delete($options{password});
	if ($in{rumba_password}) { $options{password} = $in{rumba_password}; }

	delete($options{uid});
	if ($in{rumba_uid} ne "") { $options{uid} = getpwnam($in{rumba_uid}); }

	delete($options{gid});
	if ($in{rumba_gid} ne "") { $options{gid} = getgrnam($in{rumba_gid}); }

	delete($options{fmode});
	if ($in{rumba_fmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_fmode}' is not a valid octal file mode");
		}
	elsif ($in{rumba_fmode} ne "755") { $options{fmode} = $in{rumba_fmode}; }

	delete($options{dmode});
	if ($in{rumba_dmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_dmode}' is not a valid octal directory mode");
		}
	elsif ($in{rumba_dmode} ne "755") { $options{dmode} = $in{rumba_dmode}; }

	delete($options{'readwrite'});
	if ($in{'rumba_readwrite'}) { $options{'readwrite'} = ""; }

	delete($options{'readonly'});
	if ($in{'rumba_readonly'}) { $options{'readonly'} = ""; }

	delete($options{'attr'});
	if ($in{'rumba_attr'}) { $options{'attr'} = ""; }

	delete($options{'noupper'});
	if ($in{'rumba_noupper'}) { $options{'noupper'} = ""; }
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# create_swap(path, size, units)
# Attempt to create a swap file 
sub create_swap
{
local($out);
$out = `mkfile $_[1]$_[2] $_[0] 2>&1`;
if ($?) {
	unlink($_[0]);
	return "mkfile failed : $out";
	}
return 0;
}


# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)/) { return $1; }
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'} );
}

1;
  0707010003562d000041ed0000000000000001000000023d1ffa9800000000000000200000000000000000000000000000001100000003reloc/mount/lang  0707010003567c000081a40000000000000002000000013d1fe2bd0000324f000000200000000000000000000000000000001400000003reloc/mount/lang/ca   index_title=Sistemes de Fitxers
index_dir=Muntat com
index_type=Tipus
index_dev=Ubicació
index_use=En ús
index_perm=Permanent
index_add=Afegeix muntatge
index_auto=Tipus desconegut
index_swap=Memòria virtual
index_return=a la llista de sistemes de fitxers

edit_title=Edició de Muntatge
create_title=Creació de Muntatge
edit_err=No he pogut editar el muntatge
edit_egone=Aquest muntatge ja no existeix
edit_header=Detalls del muntatge $1
edit_dir=Muntat com
edit_swap=Memòria virtual
edit_size=Mida
edit_free=Lliure
edit_savemount=Desa el muntatge
edit_boot=Desa'l i munta'l en engegar
edit_save=Desa'l
edit_delete=Suprimeix
edit_dont=No el desis
edit_now=Munta'l ara
edit_mount=Munta'l
edit_dont2=No el muntis
edit_unmount=Desmunta'l
edit_order=Verifica el sistema de fitxers en engegar
edit_first=Verifica Primer
edit_second=Verifica Segon
edit_adv=Opcions Avançades de Muntatge
edit_list=Llista els Usuaris
edit_create=Desa'l i Munta'l
edit_save_apply=Desa i Aplica
edit_umount=Desmunta'l
edit_perm=Fes-lo Permanent
edit_del_umount=Desmunta i suprimeix

save_err=No he pogut desar el muntatge
save_edir='$1' no és un directori
save_edirname='$1' no és un nom vàlid de directori
save_ealready='$1' ja està muntat
save_ealready2='$1' ja està assignat per muntar
save_ealready3=El directori '$1' ja està muntat
save_ealready4=El directori '$1' ja està assignat per muntar
save_emkdir=No he pogut crear el directori $1: $2
save_eumount=El desmuntatge ha fallat: $1
save_emount=El muntatge ha fallat: $1
save_perm=No s'han pogut aplicar els canvis al muntatge $1, ja que està actualment en ús. Per fer efectius els canvia només a la llista de muntatges permanents fes clic al botó de sota.
save_apply=Aplica a la Llista Permanent
save_eremount=El remuntatge ha fallat: $1
save_enone=No has triat de desar ni muntar

swap_err=No he pogut crear el fitxer d'intercanvi
swap_esize='$1' no és una mida vàlida

nfs_server=Tria el Servidor NFS...
nfs_select=Selecciona un servidor NFS per muntar...
nfs_ip=Adreça IP
nfs_host=Host
nfs_none=No s'ha trobat cap servidor NFS local
nfs_choose=Tria el directori NFS de $1
nfs_failed=No he pogut obtenir les exportacions NFS de $1: $2 Pot ser que no hi hagi cap servidor NFS en execució
nfs_seldir=Selecciona un directori NFS per muntar...
nfs_dir=Directori
nfs_clients=Clients

smb_choose=Tria el Servidor SMB...
smb_elist=No he pogut obtenir la llista de servidors de $1. Pot ser que el servidor no en permeti l'exploració
smb_ehost=El servidor $1 no existeix
smb_edown=El servidor $1 està fora de servei, fora d'abast o no és un servidor de fitxer
smb_sel=Selecciona un servidor de Xarxa Windows per muntar...
smb_name=Nom del Servidor
smb_desc=Descripció
smb_none=No s'ha trobat cap servidor de Xarxa Windows local
smb_choose2=Tria el recurs compartit de $1
smb_elist2=No he pogut obtenir la llista de recursos de $1. Pot ser que el servidor no en permeti l'exploració
smb_sel2=Selecciona un recurs per muntar...
smb_share=Recurs
smb_comment=Comentari
smb_noshares=No hi ha cap recurs disponible al servidor $1

solaris_scsidev=Controladora SCSI $1 objectiu $2 unitat $3 partició $4
solaris_mddev=Dispositiu RAID $1
solaris_ecacheexists=El directori $1 ja existeix. Esborra'l.
solaris_ebusy=$1 està ocupat
solaris_ekill=No he pogut matar el rumba
solaris_epid=No he pogut trobar el PID de rumba
solaris_nsource=Font NFS
solaris_nhost=Nom de host NFS
solaris_ndir=Directori NFS
solaris_nmult=Servidors NFS múltiples
solaris_webnfs=URL WebNFS
solaris_ufs=Disc UFS
solaris_scsi=Disc SCSI/IDE
solaris_ctrlr=Controladora
solaris_target=Objectiu
solaris_unit=Unitat
solaris_part=Partició
solaris_raid=Dispositiu RAID
solaris_otherdev=Altres dispositius
solaris_swapfile=Fitxer d'intercanvi
solaris_file=Fitxer
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=Disc MS-DOS
solaris_orig=Directori Original
solaris_cache=Font del Cau
solaris_automap=Mapa d'automuntatge
solaris_autohosts=Totes les exportacions NFS
solaris_autoxfn=Servei de Noms Federats
solaris_server=Nom del Servidor
solaris_share=Nom del recurs compartit
solaris_ro=Nomes Lectura
solaris_nosuid=No permetis programes setuid
solaris_grpid=Els fitxers hereten el GID pare
solaris_soft=Retorna error per límit de temps
solaris_bg=Reintenta els muntatges en segon pla
solaris_quota=Mostra quotes
solaris_nointr=Permet la interrupció per part de l'usuari
solaris_nfsver=Versió NFS
solaris_highest=La més alta
solaris_proto=Protocol
solaris_port=Port NFS
solaris_timeo=Temps límit
solaris_retrans=Nombre de Retransmissions
solaris_auth=Autenticació
solaris_none=cap
solaris_des=DES
solaris_krb=Kerberos
solaris_public=Muntatge WebNFS
solaris_quotab=Activa quotes en engegar
solaris_onerror=Acció en cas d'error
solaris_toosoon=Retard en la Reparació
solaris_time_s=Segons
solaris_time_m=Minuts
solaris_time_h=Hores
solaris_time_d=Dies
solaris_time_w=Setmanes
solaris_time_y=Anys
solaris_noatime=Actualitza els temps d'accés
solaris_immed=Immediatament
solaris_defer=Diferit
solaris_force=Força E/S directa
solaris_nolarge=Permet fitxers grans
solaris_logging=Activa el registre
solaris_nrr=Ignora els atributs Unix
solaris_notraildot=Ignora punts finals
solaris_nomaplcase=Fes servir minúscules
solaris_foldcase=Força l'ús de minúscules
solaris_noopts=No hi ha opcions disponibles
solaris_size=Mida
solaris_largebsize=Fes servir mida de bloc de pàgina gran
solaris_max=Màxima
solaris_backfs=Tipus real del sistema de fitxers
solaris_backpath=Punt de muntatge real
solaris_cachedir=Directori cau
solaris_wmode=Mode d'escriptura
solaris_con=Verificació de consistència
solaris_period=Periòdicament
solaris_never=Mai
solaris_demand=Sota demanda
solaris_waround=Write-around
solaris_nshared=No compartit
solaris_local=Comprova els permisos del cau
solaris_nobrowse=Fulleig activat
solaris_auto=Automàtic
solaris_mname=Nom del host Servidor
solaris_cname=Nom del Client
solaris_username=Nom d'Usuari
solaris_password=Contrasenya
solaris_uid=Els fitxers d'usuari són propietat de
solaris_gid=Els fitxers de grup són propietat de
solaris_fmode=Permisos de fitxers
solaris_dmode=Permisos de directori
solaris_readwrite=Accés segur de lectura/escriptura
solaris_readonly=Els fitxers poden ser només lectura
solaris_noupper=Envia la contrasenya amb majúscules
solaris_attr=Fes servir ordres attrE
solaris_eurl='$1' no és un URL NFS vàlid
solaris_ehost='$1' no és un nom de host vàlid
solaris_ehost2=El host '$1' no existeix
solaris_edown=El host '$1' està fora de servei o no suporta NFS
solaris_enfs=El host '$1' no suporta NFS
solaris_enfsdir='$1' no és un nom de director vàlid. Els directoris disponibles de $2 són: $3
solaris_enfsperm=Aquest host no té permès muntar el directori $1 a $2
solaris_enfsmount=Error NFS - $1
solaris_ectrlr='$1' no és una controladora SCSI vàlida
solaris_etarget='$1' no és un número d'objectiu SCSI vàlid
solaris_eunit='$1' no és un número d'unitat SCSI vàlid
solaris_epart='$1' no és un número de partició SCSI
solaris_eraid='$1' no és un número d'unitat RAID vàlid
solaris_epath='$1' no és un nom de camí vàlid
solaris_eexist='$1' no existeix
solaris_edir='$1' no és un directori
solaris_eswapfile=El fitxer d'intercanvi '$1' no existeix
solaris_eopen=No he pogut obrir el fitxer $1: $2
solaris_ebackfs=El sistema de fitxers '$1' no està muntat
solaris_ebacktype=El sistema de fitxers és '$1' no és $2
solaris_ecsrc='$1' no és una font de cau vàlida
solaris_eautomap=Falta el nom del mapa d'automuntatge
solaris_eautofile=El fitxer de mapa '$1' no existeix
solaris_etarget2=L'objectiu SCSI per a '$1' no existeix
solaris_epart2=La partició SCSI per a '$1' no existeix
solaris_eraid2=El dispositiu RAID per a '$1' no existeix
solaris_enopart=No hi ha cap partició a '$1'
solaris_edevfile=El fitxer de dispositiu '$1' no existeix
solaris_edevice=El dispositiu per a '$1' no existeix
solaris_efstyp=El dispositiu '$1' està formatat com a $2
solaris_efstyp2=No he pogut verificar el tipus de sistema de fitxers: $1
solaris_ecachedir='$1' no és un directori cau vàlid
solaris_efmode='$1' no és un mode octal de fitxer vàlid
solaris_edmode='$1' no és un mode octal de directori vàlid

linux_eamd=L'AMD ha fallat
linux_eauto=L'automuntatge ha fallat: $1
linux_esmbconn=No he pogut connectar amb el servidor
linux_ekillamd=No he pogut matar l'AMD
linux_ekillauto=No he pogut matar l'automuntatge
linux_nfshost=Nom del host NFS
linux_nfsdir=Directori NFS
linux_map=Mapa d'Automuntatge
linux_swapfile=Fitxer d'intercanvi
linux_disk=Disc
linux_smbserver=Nom del Servidor
linux_smbshare=Nom del Recurs
linux_raid=Dispositiu RAID
linux_rdev=Dispositiu RAID $1
linux_lvm=Volum lògic LVM
linux_ldev=VG LVM $1, VL $2
linux_cddev=Unitat de CD-ROM
linux_label=Partició amb etiqueta $1
linux_lsel=Partició amb etiqueta
linux_other=Altres dispositius
linux_ro=Només lectura
linux_sync=Escriptura del buffer al sistema de fitxers
linux_nodev=Permet fitxers de dispositiu
linux_noexec=Permet l'execució de binaris
linux_nosuid=No permetis programes setuid
linux_user=Permet que els usuaris muntin aquest sistema de fitxers
linux_check=Comprova el mode
linux_normal=Normal
linux_strict=Estricte
linux_none=Cap
linux_errors=Acció en cas d'error
linux_continue=Continua
linux_remount_ro=Remunta només lectura
linux_panic=Panic
linux_grpid=Els fitxers hereten el GID pare
linux_quotas=Fes servir Quotes
linux_usrquota=Només usuari
linux_grpquota=Només grup
linux_usrgrpquota=Usuari i Grup
linux_usrgrpquota2=Usuari i Grup (INESTABLE!)
linux_resuid=Reserva espai per l'usuari
linux_resgid=Reserva espai pel grup
linux_bg=Reintenta els muntatges en segon pla
linux_soft=Retorna error per límit de temps
linux_timeo=Temps límit
linux_retrans=Nombre de Retransmissions
linux_vers=Versió NFS
linux_high=La més alta
linux_port=Port NFS
linux_intr=Permet interrupcions per part de l'usuari
linux_tcp=Protocol RPC
linux_uid=Els fitxers d'usuari són propietat de
linux_gid=Els fitxers de grup són propietat de
linux_rules=Regles de noms de fitxers
linux_relaxed=Relaxades
linux_conv=Conversió de salt de línia DOS-Unix
linux_allfiles=Tots els fitxers
linux_textfiles=Només fitxers de text
linux_umask=Màscara de permisos de fitxers
linux_quiet=Informa dels errors en intents de <tt>chown</tt>
linux_uni_xlate=Tradueix caràcters Unicode
linux_posix=Permet noms que només es diferencien per la caixa
linux_conv2=Conversió de salts de línia OS/2-Unix
linux_rock=Ignora els Atributs Unix
linux_mode=Permisos de fitxer per a CDs no-Unix
linux_noopts=No hi ha Opcions Disponibles
linux_timeout=Temps d'inacció abans del desmuntatge
linux_pid_file=Escriu el PID a fitxer
linux_secs=segons
linux_smbwarn=Atenció! EL sistema de fitxers no ha estat muntat des de Webmin, així que les opcions existents no estan disponibles
linux_username=Usuari
linux_password=Contrasenya
linux_sname=Nom del Servidor
linux_wg=Grup de Treball
linux_auto=Automàtic
linux_cname=Nom del Client
linux_mname=Adreça del Servidor
linux_fmode=Permisos de fitxers
linux_dmode=Permisos de directoris
linux_notail=Sacrifica espai per velocitat
linux_tmpsize=Mida màxima del sistema de fitxers
linux_unlimited=Il·limitada
linux_nr_blocks=Nombre màxim blocs disponibles
linux_nr_inodes=Nombre màxim d'inodes disponibles
linux_tmpmode=Permisos del punt de muntatge
linux_ehost='$1' no és un nom de host vàlid
linux_ehost2=El host '$1' no existeix
linux_edown=El host '$1' està fora de servei
linux_enfs=El host '$1' no suporta NFS
linux_elist=No he pogut obtenir la llista de muntatges: $1
linux_enfsdir='$1' no és un nom de directori vàlid. El directoris disponibles a $2 són: $3
linux_enfsperm=Aquest host no té permès muntar el directori $1 a $2
linux_enfsmount=Error NFS - $1
linux_eautomap=El fitxer de mapa d'automuntatge '$1' no existeix
linux_edev=No s'ha introduït cap dispositiu
linux_edevfile=El fitxer de dispositiu '$1' no existeix
linux_emask='$1' no és una màscara octal vàlida
linux_etimeout='$1' no és un temps límit vàlid
linux_epidfile='$1' no és un fitxer PID vàlid
linux_efmode='$1' no és un mode octal de fitxer
linux_edmode='$1' no és un mode octal de directori vàlid
linux_etmpsize=Hi falta la mida màxima o bé és invàlida
linux_enr_blocks=Hi falta el nombre de blocs o bé és invàlid
linux_enr_inodes=Hi falta el nombre d'inodes o bé és invàlid
linux_etmpmode=Hi falten els permisos octals del punt de muntatge o bé són invàlids
linux_usrquotas=Activa les quotes d'usuari
linux_grpquotas=Activa les quotes de grup
linux_noenforce=Sí, però no les forcis

log_mount=$3 muntat
log_mount_l=$2 $1 muntat a $3
log_umount=$3 desmuntat
log_umount_l=$2 $1 desmuntat a $3
log_remount=$3 remuntat
log_remount_l=$2 $1 remuntat a $3
log_create=Muntatge $3 creat
log_create_l=Muntatge $2 $1 creat a $3
log_modify=Muntatge $3 modificat
log_modify_l=Muntatge $2 $1 modificat a $3
log_delete=Muntatge $3 suprimit
log_delete_l=Muntatge $2 $1 suprimit a $3

unmount_err=No he pogut desmuntar $1
mount_err=No he pogut muntar $1


 0707010003567d000081a40000000000000002000000013d1fe2bd00002f38000000200000000000000000000000000000001400000003reloc/mount/lang/de   index_title=Platten- und Netzwerkdateisysteme
index_dir=Gemountet als
index_type=Typ
index_dev=Ort
index_use=Z. Z. benutzt?
index_perm=Permanent?
index_add=F&uuml;ge Mount hinzu
index_auto=Unbekannter Typ
index_swap=Virtueller Speicher
index_return=Dateisystemliste
edit_title=Bearbeite Mount
create_title=Lege Mount an
edit_err=Fehler beim Bearbeiten des Mounts
edit_egone=Dieser Mount existiert nicht mehr
edit_header=$1 Mount-Details
edit_dir=Gemountet als
edit_swap=Virtueller Speicher
edit_size=Gr&ouml;&szlig;e
edit_free=Frei
edit_savemount=Speichere Mount?
edit_boot=Speichern und Mounten beim Bootup
edit_save=Speichern
edit_delete=L&ouml;schen
edit_dont=Nicht speichern
edit_now=Jetzt mounten?
edit_mount=Mounten
edit_dont2=nicht mounten
edit_unmount=Unmounten
edit_order=&Uuml;berpr&uuml;fe Dateisystem beim Bootup?
edit_first=&Uuml;berpr&uuml;fe zuerst
edit_second=&Uuml;berpr&uuml;fe als zweites
edit_adv=Erweiterte Mount-Einstellungen
edit_list=Liste Benutzer auf
save_err=Fehler beim Speichern des Mounts
save_edir='$1' ist kein Verzeichnis
save_edirname='$1' ist kein g&uuml;ltiger Verzeichnisname
save_ealready='$1' ist bereits gemountet
save_ealready2='$1' ist bereits als gemountet vermerkt
save_ealready3=Das Verzeichnis '$1' ist bereits gemountet
save_ealready4=Das Verzeichnis '$1' ist bereits als ein Mountpoint vermerkt
save_emkdir=Fehler beim Anlegen des Verzeichnisses $1 : $2
save_eumount=Unmount schlug fehl: $1
save_emount=Mount schlug fehl: $1
save_perm=Die &Auml;nderungen des Mounts auf $1 konnten nicht angewendet werden, da der Mountpoint gerade benutzt wird. Um die &Auml;nderungen auf die permanente List anzuwenden, klicken Sie auf die Schaltfl&auml;che unten. 
save_apply=Anwenden auf permanente Liste
save_eremount=Remount schlug fehl: $1
save_enone=Sie haben nicht ausgew&auml;hlt, ob gespeichert oder gemountet werden soll
swap_err=Fehler beim Anlegen der Auslagerungsdatei
swap_esize='$1' ist keine g&uuml;ltige Gr&ouml;&szlig;e
nfs_server=W&auml;hle NFS-Server..
nfs_select=W&auml;hlen Sie einen NFS-Server, von dem gemountet werden soll..
nfs_ip=IP-Adresse
nfs_host=Host-Name
nfs_none=Es wurden keine lokalen NFS-Server gefunden
nfs_choose=W&auml;hlen Sie ein NFS-Verzeichnis auf $1
nfs_failed=Fehler beim Holen der NFS-Exporte von $1 : $2 Vielleicht l&auml;uft kein NFS-Server
nfs_seldir=W&auml;hlen Sie ein NFS-Verzeichnis zum mounten..
nfs_dir=Verzeichnis
nfs_clients=Clients
smb_choose=W&auml;hlen Sie einen SMB-Server..
smb_elist=Fehler beim Holen der Serverliste von $1. Vielleicht erlaubt der Server kein Durchsuchen
smb_ehost=Der Server $1 existiert nicht
smb_edown=Der Server $1 ist heruntergefahren, nicht erreichbar oder kein Dateiserver
smb_sel=W&auml;hlen Sie einen Windows-Netzwerk-Server, von dem gemountet werden soll..
smb_name=Server-Name
smb_desc=Beschreibung
smb_none=Es wurden keine lokalen Windows-Netzwerk-Server gefunden
smb_choose2=W&auml;hlen Sie eine Freigabe von $1
smb_elist2=Fehler beim Empfangen der Freigabeliste von $1. Vielleicht erlaubt der Server kein Durchsuchen.
smb_sel2=W&auml;hlen Sie eine Freigabe zum mounten..
smb_share=Freigabe
smb_comment=Kommentar
smb_noshares=Es sind keine verf&uuml;gbaren Freigaben auf dem Server $1
solaris_scsidev=SCSI-Controller $1 Ziel $2 Ger&auml;t $3 Partition $4
solaris_mddev=RAID-Ger&auml;t $1
solaris_ecacheexists=Das Verzeichnis $1 existiert bereits. L&ouml;schen Sie es.
solaris_ebusy=$1 wird benutzt
solaris_ekill=Fehler beim Stoppen von Rumba
solaris_epid=Konnte PID von Rumba nicht finden
solaris_nsource=NFS-Quelle
solaris_nhost=NFS-Host-Name
solaris_ndir=NFS-Verzeichnis
solaris_nmult=Mehrere NFS-Server
solaris_webnfs=WebNFS-URL
solaris_ufs=UFS-Platte
solaris_scsi=SCSI/IDE-Platte
solaris_ctrlr=Controller
solaris_target=Ziel
solaris_unit=Ger&auml;t
solaris_part=Partition
solaris_raid=RAID-Ger&auml;t
solaris_otherdev=Anderes Ger&auml;t
solaris_swapfile=Auslagerungsdatei
solaris_file=Datei
solaris_cdrom=CD-ROM
solaris_msdos=MS-DOS-Platte
solaris_orig=Urspr&uuml;ngliches Verzeichnis
solaris_cache=Cache-Quelle
solaris_automap=Automounter-&Uuml;bersicht
solaris_autohosts=Alle NFS-Exporte
solaris_autoxfn=Verbundener Namensdienst
solaris_server=Server-Name
solaris_share=Freigabenname
solaris_ro=Schreibgesch&uuml;tzt?
solaris_nosuid=Verbiete Setuid-Programme?
solaris_grpid=Dateien erben &uuml;bergeordnete GID?
solaris_soft=Gebe Fehler bei Timeouts zur&uuml;ck?
solaris_bg=Versuche Mounts im Hintergrund erneut?
solaris_quota=Zeige Quoten?
solaris_nointr=Erlaube Benutzer-Interrupt?
solaris_nfsver=NFS-Version
solaris_highest=H&ouml;chste
solaris_proto=Protokoll
solaris_port=NFS-Anschluss
solaris_timeo=Timeout
solaris_retrans=Anzahl von Neu&uuml;bertragungen
solaris_auth=Authentifizierung
solaris_none=Keine
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS-Mount?
solaris_quotab=Aktiviere Quoten beim Bootup?
solaris_onerror=Aktion bei Fehler
solaris_toosoon=Reparaturverz&ouml;gerung
solaris_time_s=Sekunden
solaris_time_m=Minuten
solaris_time_h=Stunden
solaris_time_d=Tage
solaris_time_w=Wochen
solaris_time_y=Jahre
solaris_noatime=Aktualisiere Zugriffszeiten?
solaris_force=Erzwinge direkte IO?
solaris_nolarge=Erlaube gro&szlig;e Dateien?
solaris_logging=Aktiviere Protokollierung?
solaris_nrr=Ignoriere Unix-Attribute?
solaris_notraildot=Ignoriere nachfolgende Punkte?
solaris_nomaplcase=Benutze Kleinbuchstaben?
solaris_foldcase=Erzwinge Kleinbuchstaben?
solaris_noopts=Keine Einstellungen verf&uuml;gbar
solaris_size=Gr&ouml;&szlig;e
solaris_max=Maximum
solaris_backfs=Echter Dateisystemtyp
solaris_backpath=Echter Mountpoint
solaris_cachedir=Cache-Verzeichnis
solaris_wmode=Schreibmodus
solaris_con=Konsistenz&uuml;berpr&uuml;fung
solaris_period=Periodisch
solaris_never=Niemals
solaris_demand=Auf Anfrage
solaris_waround=Herumschreiben
solaris_nshared=Nicht freigegeben
solaris_local=&Uuml;berpr&uuml;fe Rechte im Cache?
solaris_nobrowse=Durchsuchen aktiviert?
solaris_auto=Automatisch
solaris_mname=Server-Host-Name
solaris_cname=Client-Name
solaris_username=Anmeldungsname
solaris_password=Anmeldungskennwort
solaris_uid=Benutzerdateien geh&ouml;ren
solaris_gid=Gruppendateien geh&ouml;ren
solaris_fmode=Dateirechte
solaris_dmode=Verzeichnisrechte
solaris_readwrite=Lese-/Schreib-Zugriff ist sicher?
solaris_readonly=Dateien k&ouml;nnen schreibgesch&uuml;tzt sein?
solaris_noupper=Sende Kennwort in Gro&szlig;buchstaben
solaris_attr=Benutze AttrE-Befehle?
solaris_eurl='$1' ist keine g&uuml;ltige NFS-URL
solaris_ehost='$1' ist kein g&uuml;ltiger Host-Name
solaris_ehost2=Der Host '$1' existiert nicht
solaris_edown=Der Host '$1' ist nicht erreichbar oder unterst&uuml;tzt kein NFS
solaris_enfs=Der Host '$1' unterst&uuml;tzt kein NFS
solaris_enfsdir='$1' ist kein g&uuml;ltiger Verzeichnisname. Die verf&uuml;gbaren Verzeichnisse auf $2 sind: $3
solaris_enfsperm=Dieser Host hat keine Berechtigung, das Verzeichnis $1 von $2 zu mounten
solaris_enfsmount=NFS-Fehler - $1
solaris_ectrlr='$1' ist kein g&uuml;ltiger SCSI-Controller
solaris_etarget='$1' ist keine g&uuml;ltige SCSI-Zielnummer
solaris_eunit='$1' ist keine g&uuml;ltige Ger&auml;tenummer
solaris_epart='$1' ist keine g&uuml;ltige Partitionsnummer
solaris_eraid='$1' ist keine g&uuml;ltige RAID-Ger&auml;tenummer
solaris_epath='$1' ist kein g&uuml;ltiger Pfadname
solaris_eexist='$1' existiert nicht
solaris_edir='$1' ist kein Verzeichnis
solaris_eswapfile=Die Auslagerungsdatei '$1' existiert nicht
solaris_eopen=Fehler beim &Ouml;ffnen von $1: $2
solaris_ebackfs=Das Dateisystem '$1' ist nicht gemountet
solaris_ebacktype=Das Dateisystem '$1' ist nicht $2
solaris_ecsrc='$1' ist keine g&uuml;ltige Cache-Quelle
solaris_eautomap=Fehlender Automount-&Uuml;bersichtsname
solaris_eautofile=Die &Uuml;bersichtsdatei '$1' existiert nicht
solaris_etarget2=Das SCSI-Ziel f&uuml;r '$1' existiert nicht
solaris_epart2=Die SCSI-Partition f&uuml;r '$1' existiert nicht
solaris_eraid2=Das RAID-Ger&auml;t f&uuml;r '$1' existiert nicht
solaris_enopart=Keine Partitionen auf '$1'
solaris_edevfile=Die Ger&auml;tedatei '$1' existiert nicht
solaris_edevice=Das Ger&auml;t f&uuml;r '$1' existiert nicht
solaris_efstyp=Das Ger&auml;t '$1' ist formatiert als ein $2
solaris_efstyp2=Fehler beim &Uuml;berpr&uuml;fen des Dateisystemtyps: $1
solaris_ecachedir='$1' ist kein g&uuml;ltiges Cache-Verzeichnis
solaris_efmode='$1' ist kein g&uuml;ltiger oktaler Dateimodus
solaris_edmode='$1' ist kein g&uuml;ltiger oktaler Verzeichnismodus
linux_eamd=AMD schlug fehl
linux_eauto=Automount schlug fehl: $1
linux_esmbconn=Fehler beim Verbinden zum Server
linux_ekillamd=Fehler beim Stoppen von AMD
linux_ekillauto=Fehler beim Stoppen von Automount
linux_nfshost=NFS-Host-Name
linux_nfsdir=NFS-Verzeichnis
linux_map=Automounter-&Uuml;bersicht
linux_swapfile=Auslagerungsdatei
linux_disk=Festplatte
linux_smbserver=Server-Name
linux_smbshare=Freigabenname
linux_raid=RAID-Ger&auml;t
linux_rdev=RAID-Ger&auml;t $1
linux_other=Anderes Ger&auml;t
linux_ro=Schreibgesch&uuml;tzt?
linux_sync=Gepuffertes Schreiben auf dem Dateisystem?
linux_nodev=Erlaube Ger&auml;tedateien?
linux_noexec=Erlaube das Ausf&uuml;hren von Programmen?
linux_nosuid=Verbiete Setuid-Programme?
linux_user=Erlaube Benutzern das Mounten des Dateisystems?
linux_check=&Uuml;berpr&uuml;fungsmodus
linux_normal=Normal
linux_strict=Streng
linux_none=Keiner
linux_errors=Aktion bei Fehler
linux_continue=Weitermachen
linux_remount_ro=Remount schreibgesch&uuml;tzt
linux_panic=Panik
linux_grpid=Dateien erben &uuml;bergeordnete GID?
linux_quotas=Benutze Quoten?
linux_usrquota=Nur Benutzer
linux_grpquota=Nur Gruppe
linux_usrgrpquota=Benutzer und Gruppe
linux_usrgrpquota2=Benutzer und Gruppe (INSTABIL!)
linux_resuid=Reserviere Platz f&uuml;r Benutzer
linux_resgid=Reserviere Platz f&uuml;r Gruppe
linux_bg=Versuche Mounts im Hintergrund erneut?
linux_soft=Gebe Fehler bei Timeouts zur&uuml;ck?
linux_timeo=Timeout
linux_retrans=Anzahl von Neu&uuml;bertragungen
linux_vers=NFS-Version
linux_high=H&ouml;chste
linux_port=NFS-Anschluss
linux_intr=Erlaube Benutzer-Interrupt?
linux_tcp=RPC-Protokoll
linux_uid=Benutzerdateien geh&ouml;ren
linux_gid=Gruppendateien geh&ouml;ren
linux_rules=Dateinamen-Regeln
linux_relaxed=Entspannt
linux_conv=DOS-Unix-Zeilenumbruchumwandlung
linux_allfiles=Alle Dateien
linux_textfiles=Nur Textdateien
linux_umask=Maske f&uuml;r Dateirechte
linux_quiet=Melde Fehler bei <tt>Chown</tt>-Versuchen?
linux_uni_xlate=&Uuml;bersetze Unicode-Zeichen?
linux_posix=Erlaube Namen, die sich nur in Gro&szlig;- und Kleinschreibung unterscheiden?
linux_conv2=OS/2-Unix-Zeilenumbruchumwandlung
linux_rock=Ignoriere Unix-Attribute?
linux_mode=Dateirechte f&uuml;r Nicht-Unix-CDs
linux_noopts=Keine Einstellungen verf&uuml;gbar
linux_timeout=Leerlaufdauer bevor Unmount
linux_pid_file=Schreibe PID in Datei
linux_secs=Sekunden
linux_smbwarn=Warnung! Das Dateisystem wurde nicht von Webmin gemountet. Daher sind die bestehenden Einstellungen nicht verf&uuml;gbar
linux_username=Anmeldungsname
linux_password=Anmeldungskennwort
linux_sname=Server-Name
linux_wg=Arbeitsgruppe
linux_auto=Automatisch
linux_cname=Client-Name
linux_mname=Server-Adresse
linux_fmode=Dateirechte
linux_dmode=Verzeichnisrechte
linux_ehost='$1' ist kein g&uuml;ltiger Host-Name
linux_ehost2=Der Host '$1' existiert nicht
linux_edown=Der Host '$1' ist nicht erreichbar
linux_enfs=Der Host '$1' unterst&uuml;tzt kein NFS
linux_elist=Fehler beim Holen der Mount-Liste : $1
linux_enfsdir='$1' ist kein g&uuml;ltiger Verzeichnisname. Die verf&uuml;gbaren Verzeichnisse auf $2 sind: $3
linux_enfsperm=Dieser Host hat keine Berechtigung, das Verzeichnis $1 von $2 zu mounten
linux_enfsmount=NFS-Fehler - $1
linux_eautomap=Die Automount-&Uuml;bersichtsdatei '$1' existiert nicht
linux_edev=Kein Ger&auml;t angegeben
linux_edevfile=Die Ger&auml;tedatei '$1' existiert nicht
linux_emask='$1' ist keine g&uuml;ltige oktale Maske
linux_etimeout='$1' ist kein g&uuml;ltiger Timeout
linux_epidfile='$1' ist keine g&uuml;ltige PID-Datei
linux_efmode='$1' ist kein g&uuml;ltiger oktaler Dateimodus
linux_edmode='$1' ist kein g&uuml;ltiger oktaler Verzeichnismodus
07070100035680000081a40000000000000002000000013d1fe2bc00002da0000000200000000000000000000000000000001400000003reloc/mount/lang/en   index_title=Disk and Network Filesystems
index_dir=Mounted As
index_type=Type
index_dev=Location
index_use=In use?
index_perm=Permanent?
index_add=Add mount
index_auto=Unknown Type
index_swap=Virtual Memory
index_return=filesystems list

edit_title=Edit Mount
create_title=Create Mount
edit_err=Failed to edit mount
edit_egone=This mount no longer exists
edit_header=$1 Mount Details
edit_dir=Mounted As
edit_swap=Virtual Memory
edit_size=Size
edit_free=Free
edit_savemount=Save Mount?
edit_boot=Save and mount at boot
edit_save=Save
edit_delete=Delete
edit_dont=Don't save
edit_now=Mount now?
edit_mount=Mount
edit_dont2=Don't mount
edit_unmount=Unmount
edit_order=Check filesystem at boot?
edit_first=Check First
edit_second=Check Second
edit_adv=Advanced Mount Options
edit_list=List Users
edit_create=Save and Mount
edit_save_apply=Save and Apply
edit_umount=Unmount
edit_perm=Make Permanent
edit_del_umount=Umount and Delete

save_err=Failed to save mount
save_edir='$1' is not a directory
save_edirname='$1' is not a valid directory name
save_ealready='$1' is already mounted
save_ealready2='$1' is already assigned to be mounted
save_ealready3=The directory '$1' is already mounted
save_ealready4=The directory '$1' is already assigned for mounting
save_emkdir=Failed to create directory $1 : $2
save_eumount=Unmount failed : $1
save_emount=Mount failed : $1
save_perm=The changes to the mount on $1 could not be applied, as the mount is currently in use. To have your changes made to the permanent mount list only, click on the button below.
save_apply=Apply To Permanent List
save_eremount=Remount failed : $1
save_enone=You didn't choose to save or mount

swap_err=Failed to create swap file
swap_esize='$1' is not a valid size

nfs_server=Choose NFS Server..
nfs_select=Select an NFS server to mount from..
nfs_ip=IP Address
nfs_host=Hostname
nfs_none=No local NFS servers found
nfs_choose=Choose NFS Directory on $1
nfs_failed=Failed to retrieve NFS exports from $1 : $2 Maybe there is no NFS server running
nfs_seldir=Select an NFS directory to mount..
nfs_dir=Directory
nfs_clients=Clients

smb_choose=Choose SMB Server..
smb_elist=Failed to retrieve server list from $1. Maybe the server does not allow browsing
smb_ehost=The server $1 does not exist
smb_edown=The server $1 is down, unreachable or is not a file server
smb_sel=Select a Windows Networking server to mount from..
smb_name=Server Name
smb_desc=Description
smb_none=No local Windows Networking servers found
smb_choose2=Choose Share on $1
smb_elist2=Failed to retrieve share list from $1. Maybe the server does not allow browsing
smb_sel2=Select a share to mount..
smb_share=Share
smb_comment=Comment
smb_noshares=There are no available file shares on the server $1

solaris_scsidev=SCSI controller $1 target $2 unit $3 partition $4
solaris_mddev=RAID device $1
solaris_ecacheexists=The directory $1 already exists. Delete it.
solaris_ebusy=$1 is busy
solaris_ekill=Failed to kill rumba
solaris_epid=Failed to find rumba pid
solaris_nsource=NFS Source
solaris_nhost=NFS Hostname
solaris_ndir=NFS Directory
solaris_nmult=Multiple NFS Servers
solaris_webnfs=WebNFS URL
solaris_ufs=UFS Disk
solaris_scsi=SCSI/IDE Disk
solaris_ctrlr=Controller
solaris_target=Target
solaris_unit=Unit
solaris_part=Partition
solaris_raid=RAID Device
solaris_otherdev=Other Device
solaris_swapfile=Swap File
solaris_file=File
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=MS-DOS Disk
solaris_orig=Original Directory
solaris_cache=Cache Source
solaris_automap=Automounter map
solaris_autohosts=All NFS exports
solaris_autoxfn=Federated Naming Service
solaris_server=Server Name
solaris_share=Share Name
solaris_ro=Read-Only?
solaris_nosuid=Disallow setuid programs?
solaris_grpid=Files inherit parent GID?
solaris_soft=Return error on timeouts?
solaris_bg=Retry mounts in background?
solaris_quota=Display quotas?
solaris_nointr=Allow user interrupt?
solaris_nfsver=NFS version
solaris_highest=Highest
solaris_proto=Protocol
solaris_port=NFS Port
solaris_timeo=Timeout
solaris_retrans=Number of Retransmissions
solaris_auth=Authentication
solaris_none=None
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS mount?
solaris_quotab=Enable quotas at boot time?
solaris_onerror=Action on error
solaris_toosoon=Repair Delay
solaris_time_s=Seconds
solaris_time_m=Minutes
solaris_time_h=Hours
solaris_time_d=Days
solaris_time_w=Weeks
solaris_time_y=Years
solaris_noatime=Update access times?
solaris_immed=Immediately
solaris_defer=Deferred
solaris_force=Force direct IO?
solaris_nolarge=Allow large files?
solaris_logging=Enabled logging?
solaris_nrr=Ignore Unix attributes?
solaris_notraildot=Ignore trailing dot?
solaris_nomaplcase=Use lower case?
solaris_foldcase=Force lower case?
solaris_noopts=No Options Available
solaris_size=Size
solaris_largebsize=Use large page block size?
solaris_max=Maximum
solaris_backfs=Real filesystem type
solaris_backpath=Real mount point
solaris_cachedir=Cache directory
solaris_wmode=Write mode
solaris_con=Consistency check
solaris_period=Periodically
solaris_never=Never
solaris_demand=On demand
solaris_waround=Write-around
solaris_nshared=Non-shared
solaris_local=Check permissions in cache?
solaris_nobrowse=Browsing enabled?
solaris_auto=Automatic
solaris_mname=Server Hostname
solaris_cname=Client Name
solaris_username=Login Name
solaris_password=Login Password
solaris_uid=User files are owned by
solaris_gid=Group files are owned by
solaris_fmode=File permissions
solaris_dmode=Directory permissions
solaris_readwrite=Read/write access is safe?
solaris_readonly=Files can be read-only?
solaris_noupper=Send password in upper case?
solaris_attr=Use attrE commands?
solaris_eurl='$1' is not a valid NFS URL
solaris_ehost='$1' is not a valid hostname
solaris_ehost2=The host '$1' does not exist
solaris_edown=The host '$1' is down or does not support NFS
solaris_enfs=The host '$1' does not support NFS
solaris_enfsdir='$1' is not a valid directory name. The available directories on $2 are : $3
solaris_enfsperm=This host is not allowed to mount the directory $1 on $2
solaris_enfsmount=NFS Error - $1
solaris_ectrlr='$1' is not a valid SCSI controller
solaris_etarget='$1' is not a valid SCSI target number
solaris_eunit='$1' is not a valid SCSI unit number
solaris_epart='$1' is not a valid SCSI partition number
solaris_eraid='$1' is not a valid RAID unit number
solaris_epath='$1' is not a valid pathname
solaris_eexist='$1' does not exist
solaris_edir='$1' is not a directory
solaris_eswapfile=The swap file '$1' does not exist
solaris_eopen=Failed to open $1 : $2
solaris_ebackfs=The back filesystem '$1' is not mounted
solaris_ebacktype=The back filesystem is '$1' is not $2
solaris_ecsrc='$1' is not a valid cache source
solaris_eautomap=Missing automount map name
solaris_eautofile=The map file '$1' does not exist
solaris_etarget2=The SCSI target for '$1' does not exist
solaris_epart2=The SCSI partition for '$1' does not exist
solaris_eraid2=The RAID device for '$1' does not exist
solaris_enopart=No partitions on '$1'
solaris_edevfile=The device file '$1' does not exist
solaris_edevice=The device for '$1' does not exist
solaris_efstyp=The device '$1' is formatted as a $2
solaris_efstyp2=Failed to check filesystem type : $1
solaris_ecachedir='$1' is not a valid cache directory
solaris_efmode='$1' is not a valid octal file mode
solaris_edmode='$1' is not a valid octal directory mode

linux_eamd=AMD failed
linux_eauto=Automount failed : $1
linux_esmbconn=Failed to connect to server
linux_ekillamd=Failed to kill AMD
linux_ekillauto=Failed to kill automount
linux_nfshost=NFS Hostname
linux_nfsdir=NFS Directory
linux_map=Automounter Map
linux_swapfile=Swap File
linux_disk=Disk
linux_smbserver=Server Name
linux_smbshare=Share Name
linux_raid=RAID device
linux_rdev=RAID device $1
linux_lvm=LVM logical volume
linux_ldev=LVM VG $1, LV $2
linux_cddev=CD-ROM drive
linux_cddev2=CD-ROM drive $1
linux_label=Partition labelled $1
linux_lsel=Partition labelled
linux_other=Other device
linux_ro=Read-only?
linux_sync=Buffer writes to filesystem?
linux_nodev=Allow device files?
linux_noexec=Allow execution of binaries?
linux_nosuid=Disallow setuid programs?
linux_user=Allow users to mount this filesystem?
linux_check=Check mode
linux_normal=Normal
linux_strict=Strict
linux_none=None
linux_errors=Action on error
linux_continue=Continue
linux_remount_ro=Remount read-only
linux_panic=Panic
linux_grpid=Files inherit parent GID?
linux_quotas=Use Quotas?
linux_usrquota=User only
linux_grpquota=Group only
linux_usrgrpquota=User and Group
linux_usrgrpquota2=User and Group (UNSTABLE!)
linux_resuid=Reserve space for user
linux_resgid=Reserve space for group
linux_bg=Retry mounts in background?
linux_soft=Return error on timeouts?
linux_timeo=Timeout
linux_retrans=Number of Retransmissions
linux_vers=NFS version
linux_high=Highest
linux_port=NFS Port
linux_intr=Allow user interrupt?
linux_tcp=RPC Protocol
linux_uid=User files are owned by
linux_gid=Group files are owned by
linux_rules=File naming rules
linux_relaxed=Relaxed
linux_conv=DOS-Unix newline conversion
linux_allfiles=All files
linux_textfiles=Text files only
linux_umask=File permissions mask
linux_quiet=Report errors on <tt>chown</tt> attempts?
linux_uni_xlate=Translate Unicode characters?
linux_posix=Allow names that differ only in case?
linux_conv2=OS/2-Unix newline conversion
linux_rock=Ignore Unix Attributes?
linux_mode=File permissions for non-Unix CDs
linux_noopts=No Options Available
linux_timeout=Idle time before unmount
linux_pid_file=Write PID to file
linux_secs=seconds
linux_smbwarn=Warning! Filesystem was not mounted from Webmin, so existing options are not available
linux_username=Login Name
linux_password=Login Password
linux_sname=Server Name
linux_wg=Workgroup
linux_auto=Automatic
linux_cname=Client Name
linux_mname=Server Address
linux_fmode=File permissions
linux_dmode=Directory permissions
linux_notail=Trade off space for speed?
linux_tmpsize=Maximum filesystem size
linux_unlimited=Unlimited
linux_nr_blocks=Maximum blocks available
linux_nr_inodes=Maximum inodes available
linux_tmpmode=Mount point permissions
linux_ehost='$1' is not a valid hostname
linux_ehost2=The host '$1' does not exist
linux_edown=The host '$1' is down
linux_enfs=The host '$1' does not support NFS
linux_elist=Failed to get mount list : $1
linux_enfsdir='$1' is not a valid directory name. The available directories on $2 are : $3
linux_enfsperm=This host is not allowed to mount the directory $1 on $2
linux_enfsmount=NFS Error - $1
linux_eautomap=The automount map file '$1' does not exist
linux_edev=No device entered
linux_edevfile=The device file '$1' does not exist
linux_emask='$1' is not a valid octal mask
linux_etimeout='$1' is not a valid timeout
linux_epidfile='$1' is not a valid pid file
linux_efmode='$1' is not a valid octal file mode
linux_edmode='$1' is not a valid octal directory mode
linux_etmpsize=Missing or invalid maximum size
linux_enr_blocks=Missing or invalid number of blocks
linux_enr_inodes=Missing or invalid number of inodes
linux_etmpmode=Missing or invalid octal mount point permissions
linux_usrquotas=Enable user quotas?
linux_grpquotas=Enable groups quotas?
linux_noenforce=Yes, but don't enforce

log_mount=Mounted $3
log_mount_l=Mounted $2 $1 on $3
log_umount=Unmounted $3
log_umount_l=Unmounted $2 $1 on $3
log_remount=Remounted $3
log_remount_l=Remounted $2 $1 on $3
log_create=Created mount $3
log_create_l=Created $2 mount $1 on $3
log_modify=Modified mount $3
log_modify_l=Modified $2 mount $1 on $3
log_delete=Deleted mount $3
log_delete_l=Deleted $2 mount $1 on $3

unmount_err=Failed to unmount $1
mount_err=Failed to mount $1

07070100035681000081a40000000000000002000000013d1fe2bd00003126000000200000000000000000000000000000001400000003reloc/mount/lang/es   index_title=Sistemas de Archivo de Disco y Red
index_dir=Montado Como
index_type=Tipo
index_dev=Localización
index_use=¿En uso?
index_perm=¿Permanente?
index_add=Añadir montaje
index_auto=Tipo desconocido
index_swap=Memoria Virtual
index_return=lista de sistemas de archivo

edit_title=Editar Montaje
create_title=Crear Montaje
edit_err=No puedo editar montaje
edit_egone=Este montaje ya no existe
edit_header=Detalles del Montaje $1
edit_dir=Montado Como
edit_swap=Memoria Virtual
edit_size=Medida
edit_free=Libre
edit_savemount=¿Salvar Montaje?
edit_boot=Salvar y montar en el arranque
edit_save=Salvar
edit_delete=Borrar
edit_dont=No salvar
edit_now=¿Montar ahora?
edit_mount=Montar
edit_dont2=No montar
edit_unmount=Desmontar
edit_order=¿Reviso sistema de archivos al arrancar?
edit_first=Revisar Primero
edit_second=Revisar Segundo
edit_adv=Opciones Avanzadas de Montaje
edit_list=Listar Usuarios
edit_create=Salvar y Montar
edit_dave_apply=Salvar y Aplicar
edit_umount=Desmontar
edit_perm=Hacer Permanente
edit_del_umount=Desmontar y Borrar

save_err=No puedo salvar montaje
save_edir='$1' no es un directorio
save_edirname='$1' no es un nombre de directorio válido
save_ealready='$1' ya está montado
save_ealready2='$1' ya está asignado para ser montado
save_ealready3=El directorio '$1' ya está montado
save_ealready4=El directorio '$1' ya está asignado para ser montado
save_emkdir=No puedo crear directorio $1 : $2
save_eumount=No puedo desmontar: $1
save_emount=No puedo montar: $1
save_perm=Los cambios al montaje en $1 no se puedieron aplicar debido a que el montaje está actualmente en uso. Para hacer que tus cambios se realicen sólo sobre la lista de montajes permanentes, haz click en el botón inferior.
save_apply=Aplicar a Lista Permanente
save_eremount=No puedo remontar: $1
save_enone=No has seleccionado salvar o montar

swap_err=No puedo crear archivo de intercambio
swap_esize='$1' no es una medida válida

nfs_server=Selecciona Servidor NFS...
nfs_select=Selecciona un servidor NFS para desde él montar...
nfs_ip=Dirección IP
nfs_host=Nombre de máquina
nfs_none=No se han hallado servidores NFS locales
nfs_choose=Selecciona directorio NFS en $1
nfs_failed=No puedo recoger exportaciones NFS desde $1 : $2 Quizá no hay servidor NFS en ejecución
nfs_seldir=Selecciona un directorio NFS a montar...
nfs_dir=Directorio
nfs_clients=Clientes

smb_choose=Selecciona Servidor SMB...
smb_elist=No puedo obtener lista de servidores desde $1. Quizá el servidor no permite su inspección
smb_ehost=El servidor $1 no existe
smb_edown=El servidor $1 está apagado, es inalcanzable o no es un servidor de archivos
smb_sel=Selecciona un servidor de redes Windows para desde él montar...
smb_name=Nombre de Servidor
smb_desc=Descripción
smb_none=No se han hallado servidores locales de Redes Windows
smb_choose2=Selecciona Compartición en $1
smb_elist2=No puedo obtener lista de compartición desde $1. Quizá el servidor no permite su inspección
smb_sel2=Seleciona una compartición a montar...
smb_share=Compartición
smb_comment=Comentario
smb_noshares=No hay comparticiones disponibles en el servidor $1

solaris_scsidev=Controladora SCSI $1 blanco $2 unidad $3 partición $4
solaris_mddev=Dispositivo RAID $1
solaris_ecacheexists=El directorio $1 ya existe. Bórralo.
solaris_ebusy=$1 está ocupado
solaris_ekill=No puedo matar a rumba
solaris_epid=No puedo hallar pid de rumba
solaris_nsource=Fuente NFS
solaris_nhost=Nombre de máquina NFS
solaris_ndir=Directorio NFS
solaris_nmult=Servidores NFS Múltiples
solaris_webnfs=URL de WebNFS
solaris_ufs=Disco UFS
solaris_scsi=Disco SCSI/IDE
solaris_ctrlr=Controladora
solaris_target=Blanco
solaris_unit=Unidad
solaris_part=Partición
solaris_raid=Dispositivo RAID
solaris_otherdev=Otros Dispositivos
solaris_swapfile=Archivo de Intercambio
solaris_file=Archivo
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=Disco MS-DOS
solaris_orig=Directorio Original
solaris_cache=Fuente de Caché
solaris_automap=Mapa de Automontador
solaris_autohosts=Todas las exportaciones NFS
solaris_autoxfn=Servicio de Nombres Federado
solaris_server=Nombre de Servidor
solaris_share=Nombre de Compartición
solaris_ro=¿Sólo-Lectura?
solaris_nosuid=¿No permito programas con setuid?
solaris_grpid=¿Los archivos heredan la GID del padre?
solaris_soft=¿Devuelvo error cuando haya tiempo agotado?
solaris_bg=¿Reintento montajes en segundo plano?
solaris_quota=¿Muestro las cuotas?
solaris_nointr=¿Permito interrupción de usuario?
solaris_nfsver=versión NFS
solaris_highest=La mayor
solaris_proto=Protocolo
solaris_port=Puerto NFS
solaris_timeo=Tiempo de espera
solaris_retrans=Número de Retransmisiones
solaris_auth=Autentificación
solaris_none=Ninguna
solaris_des=DES
solaris_krb=Kerberos
solaris_public=¿Montaje WebNFS?
solaris_quotab=¿Activo las cuotas en el momento de arrancar?
solaris_onerror=Acción cuando haya error
solaris_toosoon=Retardo de Reparación
solaris_time_s=Segundos
solaris_time_m=Minutos
solaris_time_h=Horas
solaris_time_d=Días
solaris_time_w=Semanas
solaris_time_y=Años
solaris_noatime=¿Actualizo horas de acceso?
solaris_immed=Inmediátamente
solaris_defer=En diferido
solaris_force=¿Fuerzo E/S directa?
solaris_nolarge=¿Permito archivos grandes?
solaris_logging=¿Activo historial?
solaris_nrr=¿Ignoro atributos Unix?
solaris_notraildot=¿Ignoro punto al fina?
solaris_nomaplcase=¿Uso minúsculas?
solaris_foldcase=¿Fuerzo minúsculas?
solaris_noopts=No hay Opciones Disponibles
solaris_size=Medida
solaris_largebsize=¿Uso medida grande de bloque de página?
solaris_max=Máximo
solaris_backfs=Tipo de sistemas de archivo real
solaris_backpath=Punto de montaje real
solaris_cachedir=Directorio de Caché
solaris_wmode=Modo de escritura
solaris_con=Chequeo de Consistencia
solaris_period=Periódicamente
solaris_never=Nunca
solaris_demand=Según demanda
solaris_waround=Escritura-solucionada
solaris_nshared=No-compartido
solaris_local=¿Reviso permisos en caché?
solaris_nobrowse=¿Revisión activada?
solaris_auto=Automático
solaris_mname=Nombre de Máquina del Servidor
solaris_cname=Nombre del Cliente
solaris_username=Nombre de Login
solaris_password=Clave de Acceso de Login
solaris_uid=Los archivos de usuario son propiedad de
solaris_gid=Los archivos de Grupo son propiedad de
solaris_fmode=Permisos de Archivo
solaris_dmode=Permisos de Directorio
solaris_readwrite=¿Es seguro el acceso de Lectura/escritura?
solaris_readonly=¿Los archivos pueden ser de sólo-lectura?
solaris_noupper=¿Envío la clave de acceso en mayúsculas?
solaris_attr=¿Uso comandos attrE?
solaris_eurl='$1' no es una URL de NFS válida
solaris_ehost='$1' no es un nombre válido de máquina
solaris_ehost2=La máquina '$1' no existe
solaris_edown=La máquina '$1' está caída o no soporta NFS
solaris_enfs=La máquina '$1' no soporta NFS
solaris_enfsdir='$1' no es un nombre de directorio válido. Los directorios disponibles en $2 son: $3
solaris_enfsperm=Esta máquina no está autorizada a montar el directorio $1 en $2
solaris_enfsmount=Error de NFS - $1
solaris_ectrlr='$1' no es una controladora SCSI válida
solaris_etarget='$1' no es un número válido de blanco SCSI
solaris_eunit='$1' no es un número válido de unidad SCSI
solaris_epart='$1' no es un número válido de partición SCSI
solaris_eraid='$1' no es un número válido de unidad RAID
solaris_epath='$1' no es un nombre válido de nombre de trayectoria
solaris_eexist='$1' no existe
solaris_edir='$1' no es un directorio
solaris_eswapfile=El archivo de intercambio '$1' no existe
solaris_eopen=No puedo abrir $1 : $2
solaris_ebackfs=El sistema de archivos trasero '$1' no está montado
solaris_ebacktype=El sistema de archivo es '$1' no es $2
solaris_ecsrc='$1' no es una fuente válida de caché
solaris_eautomap=Nombre de mapa de automontaje sin poner
solaris_eautofile=El archivo de mapa '$1' no existe
solaris_etarget2=El blanco SCSI para '$1' no existe
solaris_epart2=La partición SCSI para '$1' no existe
solaris_eraid2=El dispositivo RAID para '$1' no existe
solaris_enopart=No hay particiones en '$1'
solaris_edevfile=El archivo de dispositivo '$1' no existe
solaris_edevice=El dispositivo para '$1' no existe
solaris_efstyp=El dispositivo '$1' está formateado como un $2
solaris_efstyp2=No puedo revisar el tipo de sistema de archivo: $1
solaris_ecachedir='$1' no es un directorio válido de caché
solaris_efmode='$1' no es un módo octal válido de archivo
solaris_edmode='$1' no es un módo octal válido de directorio

linux_eamd=Falló el AMD
linux_eauto=Falló el automontaje: $1
linux_esmbconn=No puedo conectar con el servidor
linux_ekillamd=No puedo matar AMD
linux_ekillauto=No puedo matar automontaje
linux_nfshost=Nombre de máquina NFS
linux_nfsdir=Directorio NFS
linux_map=Mapa de Automontador
linux_swapfile=Archivo de Intercambio
linux_disk=Disco
linux_smbserver=Nombre de Servidor
linux_smbshare=Nombre Compartido
linux_raid=Dispositivo RAID
linux_rdev=Dispositivo RAID $1
linux_cddev=Controlador CD-ROM
linux_label=Partición etiquetada $1
linux_lsel=Partición etiquetada
linux_other=Otro dispositivo
linux_ro=¿Sólo-lectura?
linux_sync=¿El búfer escribe el sistema de archivo?
linux_nodev=¿Permito archivos de dispositivo?
linux_noexec=¿Permito la ejecución de binarios?
linux_nosuid=¿Desautorizo programas setuid?
linux_user=¿Permito a los usuarios montar este sistema de archivos?
linux_check=Modo de chequeo
linux_normal=Normal
linux_strict=Estricto
linux_none=Ninguno
linux_errors=Acción cuando haya error
linux_continue=Continuar
linux_remount_ro=Remontar de sólo-lectura
linux_panic=Pánico
linux_grpid=¿Los archivos heredan la GID del padre?
linux_quotas=¿Uso las Cuotas?
linux_usrquota=Sólo Usuario
linux_grpquota=Sólo Grupo
linux_usrgrpquota=Usuario y Grupo
linux_usrgrpquota2=Usuario y Grupo(¡INESTABLE!)
linux_resuid=Reservar espacio para usuario
linux_resgid=Reservar espacio para grupo
linux_bg=¿Reintento montajes en segundo plano?
linux_soft=¿Devuelvo error cuando se agote el tiempo?
linux_timeo=Tiempo de espera
linux_retrans=Número de Retransmisiones
linux_vers=Versión de NFS
linux_high=La mayor
linux_port=Puerto de NFS
linux_intr=¿Permito interrupción de usuario?
linux_tcp=Protocolo RPC
linux_uid=Archivos de Usuario pertenecen a
linux_gid=Archivos de Grupo pertenecen a
linux_rules=Reglas para nombre de Archivo
linux_relaxed=Relajado
linux_conv=Conversión de nueva línea de DOS a Unix
linux_allfiles=Todos los archivos
linux_textfiles=Sólo archivos de texto
linux_umask=Máscara de permisos de Archivo
linux_quiet=¿Informo de los errores de los intentos <tt>chown</tt>?
linux_uni_xlate=¿Traduzco los caracteres Unicode?
linux_posix=¿Permito los nombres que difieren sólo en tipo de letra?
linux_conv2=Conversión de nueva línea de OS/2 a Unix
linux_rock=¿Ignoro Atributos Unix?
linux_mode=Permisos de Archivo para CDs no Unix
linux_noopts=No hay Opciones Disponibles
linux_timeout=Tiempo sin hacer nada antes de desmontar
linux_pid_file=Escribir PID en archivo
linux_secs=segundos
linux_smbwarn=¡Aviso! El sistema de archivo no fue montado desde Webmin por lo que las opciones no están disponibles
linux_username=Nombre de Login
linux_password=Clave de Acceso de Login
linux_sname=Nombre de Servidor
linux_wg=Grupo de Trabajo
linux_auto=Automático
linux_cname=Nombre de Cliente
linux_mname=Dirección de Servidor
linux_fmode=Permisos de Archivo
linux_dmode=Permisos de Directorio
linux_notail=¿Cambio espacio por velocidad?
linux_ehost='$1' no es un nombre válido de máquina
linux_ehost2=La máquina '$1' no existe
linux_edown=La máquina '$1' está apagada
linux_enfs=La máquina '$1' no soporta NFS
linux_elist=No puedo obtener la lista de montaje: $1
linux_enfsdir='$1' no es un nombre válido de directorio. Los directorios disponibles en $2 son: $3
linux_enfsperm=Esta máquina no está autorizada a montar el directorio $1 en $2
linux_enfsmount=Error de NFS - $1
linux_eautomap=El archivo de mapa de automontaje '$1' no existe
linux_edev=No se ha digitado dispositivo
linux_edevfile=El archivo de dispositivo '$1' no existe
linux_emask='$1' no es una máscara octal válida
linux_etimeout='$1' no es un tiempo de espera válido
linux_epidfile='$1' no es un archivo válido de pid
linux_efmode='$1' no es un modo octal válido de archivo
linux_edmode='$1' no es un modo octal válido de directorio

log_mount=Montado $3
log_mount_l=Montado $2 $1 en $3
log_umount=Desmontado $3
log_umount_l=Desmontado $2 $1 en $3
log_remount=Remontado $3
log_remount_l=Remontado $2 $1 en $3
log_create=Creado montaje $3
log_create_l=Creado $2 montado $1 en $3
log_modify=Modificado montaje $3
log_modify_l=Modificado $2 montaje $1 en $3
log_delete=Borrado montaje $3
log_delete_l=Borrado $2 montaje $1 en $3

  07070100035682000081a40000000000000002000000013d1fe2bc00003264000000200000000000000000000000000000001400000003reloc/mount/lang/fr   index_title=Montages disques et réseaux
index_dir=Monté sur
index_type=Type
index_dev=Périphérique
index_use=En cours d'utilisation?
index_perm=Permanent?
index_add=Ajouter un montage
index_auto=Automatique
index_swap=Mémoire virtuelle
index_return=la liste des systèmes de fichiers

edit_title=Éditer un montage
create_title=Créer un montage
edit_err=Impossible d'éditer ce montage
edit_egone=Ce montage n'existe plus
edit_header=Détails de montage de $1
edit_dir=Monté sur
edit_swap=Mémoire virtuelle
edit_size=Taille
edit_free=Libre
edit_savemount=Enregistrer le montage?
edit_boot=Enregistrer et monter au démarrage
edit_save=Enregistrer
edit_delete=Supprimer
edit_dont=Ne pas enregistrer
edit_now=Monter maintenant?
edit_mount=Monter
edit_dont2=Ne pas monter
edit_unmount=Démonter
edit_order=Vérifier le système de fichiers au démarrage?
edit_first=Vérifier en premier
edit_second=Vérifier en second
edit_adv=Options avancées de montage
edit_list=Liste des utilisateurs
edit_create=Sauver et monter
edit_save_apply=Sauver et appliquer
edit_umount=Démonter
edit_perm=Rendre permanent
edit_del_umount=Démonter et supprimer

save_err=Impossible d'enregistrer le montage
save_edir=$1 n'est pas un répertoire
save_edirname=$1 n'est pas un nom de répertoire valide
save_ealready=$1 est déjà monté
save_ealready2=$1 est déjà assigné à être monté
save_ealready3=Le répertoire $1 est déjà monté
save_ealready4=Le répertoire $1 est déjà assigné à être monté
save_emkdir=Impossible de créer le répertoire $1 : $2
save_eumount=Impossible de démonter : $1
save_emount=Impossible de monter : $1
save_perm=Les changements au montage sur $1 peuvent ne pas être appliqués si le montage est en cours d'utilisation.  Pour avoir le changement appliqué dans la liste des montages permanents, cliquez sur le bouton ci-dessous.
save_apply=Appliquer à la liste permanente
save_eremount=Impossible de remonter : $1
save_enone=Vous n'avez pas choisi d'enregistrer ou monter

swap_err=Impossible de créer le fichier de mémoire virtuelle
swap_esize=$1 n'est pas une taille valide

nfs_server=Choisir le Serveur NFS..
nfs_select=Choisir un serveur NFS source..
nfs_ip=Adresse IP
nfs_host=Nom d'hôte
nfs_none=Aucun serveur local NFS n'a été trouvé
nfs_choose=Choisir le répertoire NFS sur $1
nfs_failed=Impossible de lire les partages sur $1 : $2 Peut-être n'y a-t-il aucun serveur NFS
nfs_seldir=Choisir le répertoire NFS à partager
nfs_dir=Répertoire
nfs_clients=Clients

smb_choose=Choisir le serveur Windows/Samba..
smb_elist=Impossible de lire la liste du serveur $1. Peut-être que le serveur ne permet pas de le parcourir
smb_ehost=Le serveur $1 n'existe pas
smb_edown=Le serveur $1 est arrêté, injoignable ou n'est pas un serveur de fichiers
smb_sel=Choisir un serveur de réseau Windows source..
smb_name=Nom du serveur
smb_desc=Déscription
smb_none=Aucun serveur de réseau Windows n'a été trouvé
smb_choose2=Choisir un partage de $1
smb_elist2=Impossible de lire la liste des partages de $1. Peut-etre le serveur ne permet pas de le parcourir
smb_sel2=Choisir un partage à monter
smb_share=Partage
smb_comment=Commentaire
smb_noshares=Il n'y a aucun partage de fichiers sur le serveur $1

solaris_scsidev=Contrôleur SCSI $1 cible $2 unité $3 partition $4
solaris_mddev=Périphérique RAID $1
solaris_ecacheexists=Le répertoire $1 existe déjà. Supprimez-le.
solaris_ebusy=$1 est occupé
solaris_ekill=Impossible de tuer rumba
solaris_epid=Impossible de trouver le numéro de processus de rumba
solaris_nsource=Source NFS
solaris_nhost=Nom d'hôte NFS
solaris_ndir=Répertoire NFS
solaris_nmult=Serveurs NFS multiples
solaris_webnfs=Adresse WebNFS
solaris_ufs=Disque UFS
solaris_scsi=Disque SCSI
solaris_ctrlr=Contrôleur
solaris_target=Cible
solaris_unit=Unité
solaris_part=Partition
solaris_raid=Périphérique RAID
solaris_otherdev=Autre périphérique
solaris_swapfile=Fichier de swap
solaris_file=Fichier
solaris_cdrom=Lecteur de CD
solaris_dvd=Lecteur de DVD
solaris_msdos=Disque MS-DOS
solaris_orig=Répertoire original
solaris_cache=Source tampon
solaris_automap=Plan d'automounter
solaris_autohosts=Tous les partages NFS
solaris_autoxfn=Service de nom fédéré
solaris_server=Nom de serveur
solaris_share=Nom de partage
solaris_ro=Lecture seule?
solaris_nosuid=Interdire les programmes changant de numéro d'usager (suid)?
solaris_grpid=Fichiers héritant du numéro de groupe du parent?
solaris_soft=Retourner une erreur sur une expiration de délai?
solaris_bg=Réessayer le montage en arrière-plan?
solaris_quota=Afficher les quotas?
solaris_nointr=Autoriser l'interruption par l'utilisateur?
solaris_nfsver=Version NFS
solaris_highest=Plus haute
solaris_proto=Protocole
solaris_port=Port NFS
solaris_timeo=Délai d'expiration
solaris_retrans=Nombre de retransmissions
solaris_auth=Authentication
solaris_none=Aucune
solaris_des=DES
solaris_krb=Kerberos
solaris_public=Montage WebNFS?
solaris_quotab=Activer les quotas au démarrage?
solaris_onerror=Action sur erreur
solaris_toosoon=Délai de réparation
solaris_time_s=Secondes
solaris_time_m=Minutes
solaris_time_h=Heures
solaris_time_d=Jours
solaris_time_w=Semaines
solaris_time_y=Années
solaris_noatime=Mettre à jour les temps d'accès?
solaris_immed=Immédiatement
solaris_defer=Reporté
solaris_force=Forcer Entrée/Sortie directe?
solaris_nolarge=Permettre les grands fichiers?
solaris_logging=Activer la journalisation?
solaris_nrr=Ignorer les attributs Unix?
solaris_notraildot=Ignorer les trainées de points?
solaris_nomaplcase=Utiliser les minuscules?
solaris_foldcase=Forcer les minuscules?
solaris_noopts=Aucune option disponible
solaris_size=Taille
solaris_largebsize=Utiliser large taille de bloc ?
solaris_max=Maximum
solaris_backfs=Type de système de fichier réel
solaris_backpath=Cible de montage réel
solaris_cachedir=Répertoire tampon
solaris_wmode=Mode d'écriture
solaris_con=Vérification de consistance
solaris_period=Périodique
solaris_never=Jamais
solaris_demand=Sur demande
solaris_waround=Écrit-Autour
solaris_nshared=Non-partagé
solaris_local=Vérifier les permissions dans le tampon?
solaris_nobrowse=Liste allouée?
solaris_auto=Automatique
solaris_mname=Nom d'hôte du serveur
solaris_cname=Nom de client
solaris_username=Nom d'utilisateur
solaris_password=Mot de passe
solaris_uid=Fichiers d'utilisateurs appartiennent à
solaris_gid=Fichiers de groupes appartiennent à
solaris_fmode=Permission de fichier
solaris_dmode=Permission de répertoire
solaris_readwrite=Les accès en écriture/lecture sont sécurisés?
solaris_readonly=Les fichiers peuvent être en lecture seule?
solaris_noupper=Envoyer le mot de passe en majuscule?
solaris_attr=Utiliser la commande "attrE"?
solaris_eurl=$1 n'est pas une adresse NFS valide
solaris_ehost=$1 n'est pas un nom d'hôte valide
solaris_ehost2=L'hôte $1 n'existe pas
solaris_edown=L'hôte $1 est arrêté ou ne supporte pas NFS
solaris_enfs=L'hôte $1 ne supporte pas NFS
solaris_enfsdir=$1 n'est pas un nom de répertoire valide.  Les répertoires valides sur $2 sont : $3
solaris_enfsperm=Cet hôte n'est pas autorisé à monter le répertoire $1 sur $2
solaris_enfsmount=Erreur NFS - $1
solaris_ectrlr=$1 n'est pas un contrôleur SCSI valide
solaris_etarget=$1 n'est pas un numéro de cible SCSI valide
solaris_eunit=$1 n'est pas un numéro d'unité SCSI valide
solaris_epart=$1 n'est pas un numéro de partition SCSI valide
solaris_eraid=$1 n'est pas un numéro d'unité RAID valide
solaris_epath=$1 n'est pas un chemin valide
solaris_eexist=$1 n'existe pas
solaris_edir=$1 n'est pas un répertoire
solaris_eswapfile=Le fichier de swap $1 n'existe pas
solaris_eopen=Impossible d'ouvrir $1 : $2
solaris_ebackfs=Le système de fichier arrière $1 n'est pas monté
solaris_ebacktype=Le système de fichier arrière $1 n'est pas $2
solaris_ecsrc=$1 n'est pas une source tampon valide
solaris_eautomap=Nom de plan d'automontage manquant
solaris_eautofile=Le fichier de plan $1 n'existe pas
solaris_etarget2=La cible SCSI $1 n'existe pas
solaris_epart2=La partition SCSI $1 n'existe pas
solaris_eraid2=Le périphérique RAID $1 n'existe pas
solaris_enopart=Aucune partition sur $1
solaris_edevfile=Le fichier de périphérique $1 n'existe pas
solaris_edevice=Le périphérique $1 n'existe pas
solaris_efstyp=Le périphérique $1 est formaté en $2
solaris_efstyp2=Impossible de vérifier le type de système de fichier : $1
solaris_ecachedir=$1 n'est pas un répertoire de tampon valide
solaris_efmode=$1 n'est pas un mode octal de fichier valide
solaris_edmode=$1 n'est pas un mode octal de répertoire valide

linux_eamd=Impossible d'utiliser le service d'automontage
linux_eauto=Automontage impossible : $1
linux_esmbconn=Impossible de se connecter au serveur
linux_ekillamd=Impossible de tuer le service d'automontage
linux_ekillauto=Impossible de tuer le service d'automontage
linux_nfshost=Nom d'hôte NFS
linux_nfsdir=Répertoire NFS
linux_map=Plan d'automontage
linux_swapfile=Fichier de mémoire virtuelle
linux_disk=Disque
linux_smbserver=Nom de serveur
linux_smbshare=Nom de partage
linux_raid=Périphérique RAID
linux_rdev=Périphérique RAID $1 
linux_cddev=Lecteur CD-ROM
linux_label=Partition nommée $1
linux_lsel=Partition nommée
linux_other=Autre périphérique
linux_ro=Lecture seule?
linux_sync=Tampon d'écriture sur le système de fichier?
linux_nodev=Permettre les fichiers de périphériques?
linux_noexec=Permettre l'exécution de fichiers exécutables?
linux_nosuid=Interdire les programmes changant de numéro d'utilisateur (suid)?
linux_user=Permettre au utilisateurs de monter ce système de fichier?
linux_check=Mode de vérification
linux_normal=Normal
linux_strict=Strict
linux_none=Aucun
linux_errors=Action sur erreur
linux_continue=Continuer
linux_remount_ro=Remonter en lecture-seule
linux_panic=Paniquer
linux_grpid=Les fichier héritent du numéro de groupe du parent?
linux_quotas=Utiliser les quotas?
linux_usrquota=Utilisateurs seulement
linux_grpquota=Groupes seulement
linux_usrgrpquota=Utilisateurs et groupes
linux_usrgrpquota2=Utilisateurs et groupes (INSTABLE!)
linux_resuid=Espace réservé pour l'utilisateur
linux_resgid=Espace réservé pour le groupe
linux_bg=Réessayer le montage en arrière-plan?
linux_soft=Retourner une erreur sur une expiration de délais?
linux_timeo=Délais d'expiration
linux_retrans=Nombre de retransmissions
linux_vers=Version NFS
linux_high=Plus haute
linux_port=Port NFS
linux_intr=Autoriser l'interruption par un utilisateur?
linux_tcp=Protocole RPC
linux_uid=Les fichiers d'utilisateurs appartiennent à
linux_gid=Les fichiers de groupes appartiennent à
linux_rules=Règles de nommage des fichiers
linux_relaxed=Tranquille
linux_conv=Conversion des nouvelles lignes DOS-Unix
linux_allfiles=Tous les fichiers
linux_textfiles=Fichiers texte uniquement
linux_umask=Masque de permissions des fichiers
linux_quiet=Noter les erreurs des tentatives de <tt>chown</tt>?
linux_uni_xlate=Convertir les caractère Unicode?
linux_posix=Autoriser les noms qui diffèrent que par la casse?
linux_conv2=Conversion des nouvelles lignes OS/2-Unix?
linux_rock=Ignorer les attributs Unix?
linux_mode=Permissions des fichiers pour des CDs non-Unix
linux_noopts=Aucune option disponible
linux_timeout=Temps d'inactivité avant de démonter
linux_pid_file=Écrire le numéro de processus dans un fichier
linux_secs=secondes
linux_smbwarn=Attention! Le système de fichier n'a pas été monté depuis Webmin, donc les options ne sont pas disponibles
linux_username=Nom d'utilisateur
linux_password=Mot de passe
linux_sname=Nom de serveur
linux_wg=Groupe de travail
linux_auto=Automatique
linux_cname=Nom du client
linux_mname=Adresse du serveur
linux_fmode=Permissions des fichiers
linux_dmode=Persmissions des répetoires
linux_notail=Perdre de l'espace pour de la vitesse ?
linux_ehost=$1 n'est pas un nom de machine valide
linux_ehost2=La machine $1 n'existe pas
linux_edown=La machine $1 est arrêté
linux_enfs=La machine $1 ne supporte pas NFS
linux_elist=Impossible de lire les montages : $1
linux_enfsdir=$1 n'est pas un nom de répertoire valide. Les répertoires valides sur $2 sont : $3
linux_enfsperm=Cet hôte n'est pas autorisé à monter le répertoire $1 sur $2
linux_enfsmount=Erreur NFS - $1
linux_eautomap=Le fichier map '$1' du monteur automatique n'existe pas
linux_edev=Aucun périphérique entré
linux_edevfile=Le fichier périphérique '$1' n'existe pas
linux_emask='$1' n'est pas un masque octal valide
linux_etimeout='$1' n'est pas un délai d'expiration valide
linux_epidfile='$1' n'est pas un fichier de numéro de processus valide
linux_efmode='$1' n'est pas mode octal de fichier valide
linux_edmode='$1' n'est pas un mode octal de répertoire valide

log_mount=$3 monté
log_mount_l=$2 $1 monté sur $3
log_umount=$3 démonté
log_umount_l=$2 $1 démonté sur $3
log_remount=$3 remonté
log_remount_l=$2 $1 remonté sur $3
log_create=Montage $3 créé
log_create_l=Créé $2 montage $1 sur $3
log_modify=Montage $3 modifié
log_modify_l=Modifié $2 montage $1 sur $3
log_delete=Montage $3 effacé
log_delete_l=Supprimé $2 montage $1 on $3
07070100035684000081a40000000000000002000000013d1fe2bd00002cad000000200000000000000000000000000000001400000003reloc/mount/lang/hu   index_title=Lemez és hálózati filerendszerek
index_dir=Csatolás helye
index_type=Típus
index_dev=Eszköz
index_use=Használva van?
index_perm=Állandó?
index_add=Csatolás hozzáadása
index_auto=Automatic
index_swap=Virtuális memória
index_return=a filerendszerek listájához

edit_title=Csatolás szerkesztése
create_title=Csatolás készítése
edit_err=A csatolás szerkesztése nem sikerült
edit_egone=Ez a csatolás a továbbiakban már nem él
edit_header=$1 csatolás beállításai
edit_dir=Csatolás helye
edit_swap=Virtuális memória
edit_size=Mérete
edit_free=Ebbõl szabad
edit_savemount=Csatolás mentése?
edit_boot=Mentés és csatolás rendszerinduláskor
edit_save=Mentés
edit_delete=Törlés
edit_dont=Ne mentse
edit_now=Csatoljam?
edit_mount=Csatolás
edit_dont2=Ne mentse
edit_unmount=Lecsatolás
edit_order=Filerendszer ellenõrzése a rendszer indulásakor?
edit_first=Ellenõrzés elõször
edit_second=Ellenõrzés másodszor
edit_adv=Egyéb csatolási opciók
edit_list=Felhasználók listázása

save_err=A csatolás mentése nem sikerült
save_edir='$1' nem könyvtár
save_edirname='$1' egy helytelen könyvtárnév
save_ealready='$1' már egyszer csatolva van
save_ealready2='$1' helyére már van csatolva filerendszer
save_ealready3=A könyvtár ('$1') már csatolva van.
save_ealready4=A könyvtár ('$1') már ki van jelölve egy csatoláshoz.
save_emkdir=A könyvtár - $1 - létrehozása nem sikerült : $2
save_eumount=A $1 lecsatolása nem sikerült
save_emount=A $1 csatolása nem sikerült
save_perm=$1 csatolás változtatásai nem érvényesíthetõk, mert jelenleg is használat alatt van. Hogy a változtatás rögzítve legyen az állandó csatolások listájában, kattintson a lenti gombra.
save_apply=Hozzáadás az Állandó Listához
save_eremount=Az újracsatolás nem sikerült : $1
save_enone=Nem választott mentést vagy csatolást

swap_err=A swap file létrehozása nem sikerült
swap_esize='$1' nem elfogadható méret

nfs_server=Válasszon NFS kiszolgálót...
nfs_select=Válasszon NFS kiszolgálót a csatoláshoz...
nfs_ip=IP cím
nfs_host=hostnév
nfs_none=Helyi NFS kiszolgáló nem található
nfs_choose=$1 kiszolgálón válaszzon NFS-könyvtárat
nfs_failed=A(z) $1 kiszolgáló NFS kiajánlásainak lekérése nem sikerült : $2 Elképzelhetõ, hogy nem fut az NFS kiszolgáló.
nfs_seldir=Válasszon NFS-könyvtárat a csatoláshoz...
nfs_dir=Könyvtár
nfs_clients=Kliens

smb_choose=Válasszon SMB kiszolgálót...
smb_elist=A(z) $1 kiszolgáló listájának lekérése nem sikerült. Lehetséges, hogy a kiszolgáló nem engedélyezi a böngészést.
smb_ehost=$1 kiszolgáló nem létezik
smb_edown=A(z) $1 kiszolgáló le van állítva, elérhetetlen vagy nem file-kiszolgáló
smb_sel=Válassza ki a csatolandó Windows Hálózatok kiszolgálót
smb_name=Kiszolgáló neve
smb_desc=Leírás
smb_none=Helyi Windows Hálózatok kiszolgáló nem található
smb_choose2=Válasszon megosztást a(z) $1 kiszolgálón
smb_elist2=Nem sikerült lekérni a megosztási listát a(z) $1 kiszolgálóról. Elképzelhetõ, hogy a kiszolgálón a böngészés le van tiltva.
smb_sel2=Válasszon megosztást a csatoláshoz...
smb_share=Megosztás
smb_comment=Megjegyzés
smb_noshares=Nincs elérhetõ filemegosztás a(z) $1 kiszolgálón.

solaris_scsidev=SCSI vezérlõ $1 target $2 egység $3 partíció $4
solaris_mddev=$1 RAID eszköz
solaris_ecacheexists=$1 nevû könyvtár már létezik. (Törölje le)
solaris_ebusy=$1 foglalt
solaris_ekill=A rumba lelövése nem sikerült
solaris_epid=A rumba PID-je nem található
solaris_nsource=NFS forrás
solaris_nhost=NFS hostname
solaris_ndir=NFS könyvtár
solaris_nmult=Többszörös NFS kiszolgáló
solaris_webnfs=WebNFS URL
solaris_ufs=UFS lemez
solaris_scsi=SCSI lemez
solaris_ctrlr=Vezérlõ
solaris_target=Cél
solaris_unit=Egység
solaris_part=Partíció
solaris_raid=RAID eszköz
solaris_otherdev=Más eszköz
solaris_swapfile=Swap file
solaris_file=File
solaris_cdrom=CDROM
solaris_msdos=MS-DOS lemez
solaris_orig=Eredeti könyvtár
solaris_cache=Cache forrás
solaris_automap=Autocsatoló térkép
solaris_autohosts=Összes NFS export
solaris_autoxfn=Federated Naming szolgáltatás
solaris_server=Kiszolgáló neve
solaris_share=Megosztás neve
solaris_ro=Csak olvasható?
solaris_nosuid=Setuid-os programok tiltása?
solaris_grpid=A file-ok örököljék a szülõk GID-ját?
solaris_soft=Idõtúllépés esetén visszatérés hibával?
solaris_bg=Csatolás újrapróbálása háttérben?
solaris_quota=Kvóták megjelenítése?
solaris_nointr=Felhasználó megszakításainak engedélyezése?
solaris_nfsver=NFS verzió
solaris_highest=Legmagasabb
solaris_proto=Protokol
solaris_port=NFS port
solaris_timeo=Idõtúllépés
solaris_retrans=Újraadások száma
solaris_auth=Azonosítás
solaris_none=Nincs
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS csatolás?
solaris_quotab=Kvóta engedélyezése rendszerindításnál?
solaris_onerror=Tevékenység hiba esetén
solaris_toosoon=Javítási késleltetés
solaris_time_s=Másodpercek
solaris_time_m=Percek
solaris_time_h=Órák
solaris_time_d=Napok
solaris_time_w=Hetek
solaris_time_y=Évek
solaris_noatime=Hozzáférési idõk frissítése?
solaris_force=Közvetlen IO eröltetése?
solaris_nolarge=Nagy file-ok engedélyezése?
solaris_logging=Naplózás engedélyezése?
solaris_nrr=Unix tulajdonságok mellõzése?
solaris_notraildot=A karakterlánc végi pontok (trailing dot) figyelmen kívül hagyása?
solaris_nomaplcase=Kisbetûk használata?
solaris_foldcase=Kisbetûk eröltetése?
solaris_noopts=Nincs elérhetõ opció
solaris_size=Méret
solaris_max=Maximum
solaris_backfs=Tényleges filerendszer típus
solaris_backpath=Tényleges csatolási pont
solaris_cachedir=Cache könyvtár
solaris_wmode=Írási mód
solaris_con=Consistency check
solaris_period=Ismétlõdõ
solaris_never=Soha
solaris_demand=Kérésre
solaris_waround=Write-around
solaris_nshared=Nem megosztott
solaris_local=Jogosultságok ellenõrzése a cache-ben?
solaris_nobrowse=Böngészés bekapcsolva?
solaris_auto=Automatikus
solaris_mname=Kiszolgáló hostname-je
solaris_cname=Kliens neve
solaris_username=Login név
solaris_password=Login jelszó
solaris_uid=A felhasználói file-ok tulajdonosa
solaris_gid=A csoportfile-ok tulajdunosa
solaris_fmode=File jogosultságok
solaris_dmode=Könyvtár jogosultságok
solaris_readwrite=Biztonságos írás/olvasás hozzáférés?
solaris_readonly=Lehetnek a file-ok csak-olvashatók?
solaris_noupper=Elküldje a jelszót nagybetûsként?
solaris_attr=attrE parancs használata?
solaris_eurl='$1' érvénytelen NFS URL
solaris_ehost='$1' nem megfelelõ hostname.
solaris_ehost2=A(z) '$1' host nem létezik.
solaris_edown=A(z) '$1' host le van állítva vagy nem támogatja az NFS-t.
solaris_enfs=A(z) '$1' host nem támogatja az NFS-t.
solaris_enfsdir=A(z) '$1' helytelen könyvtárnév. Az elérhetõ könyvátrak a(z) $2 -n: $3
solaris_enfsperm=Ez a host-on nem engedélyezett a(z) $1 könyvtár csatolása $2 -n.
solaris_enfsmount=NFS hiba - $1
solaris_ectrlr=A(z) '$1' érvénytelen SCSI vezérlõ
solaris_etarget='$1' egy helytelen SCSI target szám
solaris_eunit='$1' egy érvénytelen SCSI egység szám
solaris_epart='$1' egy helytelen SCSI partíció szám
solaris_eraid='$1' egy érvénytelen RAID egység szám
solaris_epath='$1' egy érvénytelen útvonalnév
solaris_eexist='$1' nem létezik
solaris_edir='$1' nem könyvtár
solaris_eswapfile=A(z) $1 swap file nem létezik
solaris_eopen=Nem sikerült megnyitni a(z) $1 : $2
solaris_ebackfs=A(z) '$1'  back filerendszer nincs csatolva
solaris_ebacktype=A back filesystem '$1' nem pedig $2
solaris_ecsrc='$1' egy érvénytelen cache forrás
solaris_eautomap=Hiányzó autocsatoló térképnév
solaris_eautofile=A(z) '$1' térképfile nem létezik
solaris_etarget2=A(z) '$1' SCSI target nem létezik
solaris_epart2=A(z) '$1' SCSI partíció nem létezik
solaris_eraid2=A(z) '$1' RAID eszköz nem létezik
solaris_enopart=A '$1' eszközön nincs partíció
solaris_edevfile=A '$1' eszközfile nem létezik
solaris_edevice=A(z) '$1' eszköz nem létezik.
solaris_efstyp=A(z) '$1' eszköz $2 típusúra van formatálva.
solaris_efstyp2=Nem sikerült a filerendszer típusának ellenõrzése : $1
solaris_ecachedir='$1' egy érvénytelen cache könyvtár.
solaris_efmode='$1' egy érvénytelen oktális filemód.
solaris_edmode='$1' egy érvénytelen oktális könyvtármód.

linux_eamd=Az AMD nem sikerült
linux_eauto=Az autocsatolás nem sikerült : $1
linux_esmbconn=Sikertelen csatlakozás a kiszolgálóhoz
linux_ekillamd=Az AMD leállítása nem sikerült
linux_ekillauto=Az automount leállítása nem sikerült
linux_nfshost=NFS hostnév
linux_nfsdir=NFS könyvtár
linux_map=Autocsatoló térkép
linux_swapfile=Swap file
linux_disk=Lemez
linux_smbserver=Kiszolgáló neve
linux_smbshare=Megosztás neve
linux_other=Más eszköz
linux_ro=Csak olvasható?
linux_sync=Buffer írása a filerendszerre?
linux_nodev=Eszközfile-ok engedélyezése?
linux_noexec=Binárisok futtatásának engedélyezése?
linux_nosuid=Setuid-s programok tiltása?
linux_user=Filerendszer csatolásának engedélyezése felhasználók számára?
linux_check=Ellenõrzés módja
linux_normal=Szokásos
linux_strict=Pontos
linux_none=Nincs
linux_errors=Reakció hiba esetén
linux_continue=Folytatás
linux_remount_ro=Újracsatol csak olvashatóként
linux_panic=Pánik
linux_grpid=A file-ok örököljék a szülõk GID-ját?
linux_quotas=Kvóták használata?
linux_usrquota=Csak felhasználó
linux_grpquota=Csak csoport
linux_usrgrpquota=Felhasználó és csoport
linux_usrgrpquota2=Felhsználó és csoport (INSTABIL!)
linux_resuid=Felhasználó számára fentartott hely
linux_resgid=Csoport számára fentartott hely
linux_bg=Csatolás újrapróbálása a háttérben?
linux_soft=Idõtúllépés esetén visszatérés hibaüzenettel?
linux_timeo=Idõhatár-túllépés
linux_retrans=Újraadások száma
linux_vers=NFS verzió
linux_high=Legmagasabb
linux_port=NFS port
linux_intr=Felhasználói megszakítás engedélyezése?
linux_tcp=RPC protokol
linux_uid=A felhasználói file-ok tulajdonosa
linux_gid=A csoport file-jainak tulajdonosa
linux_rules=File-elnevezési szabályok
linux_relaxed=Enyhített
linux_conv=DOS-Unix újsor konverzió
linux_allfiles=Összes file
linux_textfiles=Csak szövegfile-ok
linux_umask=File-jogosultság maszk
linux_quiet=Hibajelentés <tt>chown</tt> kísérlet esetén?
linux_uni_xlate=Unicode karakterek fordítása?
linux_posix=Olyan nevek engedélyezése, melyek csak kis- és nagybetûkben különböznek?
linux_conv2=OS/2-Unix újsor konverzió
linux_rock=Unix tulajdonságok mellõzése?
linux_mode=A nem-Unix CD-k file-jogosultságai
linux_noopts=Nincs további kapcsoló
linux_timeout=A lecsatolás elõtti tétlenség ideje
linux_pid_file=PID írása file-ba
linux_secs=másodpercek
linux_smbwarn=Figyelem! A filerendszer nem lett csatolva a Webmin számára, így az opciók nem elérhetõek
linux_username=Login azonosító
linux_password=Login jelszó
linux_sname=Kiszolgáló neve
linux_wg=Munkacsoport
linux_auto=Automatikus
linux_cname=Kliens neve
linux_mname=A kiszolgáló cime
linux_fmode=File engedélyei
linux_dmode=Könyvtár engedélyei
linux_ehost='$1' nem megfelelõ hostname
linux_ehost2='$1' host nem létezik
linux_edown='$1' host nem válaszol
linux_enfs=A(z) '$1' host nem támogatja az NFS-t
linux_elist=Hiba történt a csatolási lista letöltésében : $1
linux_enfsdir='$1' egy érvénytelen könyvtárnév. Az elérhetõ könyvtárak a $2 kiszolgálón : $3
linux_enfsperm=Ezen a host-on nem engedélyezett a(z) $1 könyvtár csatolása a $2 kiszolgálóról.
linux_enfsmount=NFS hiba - $1
linux_eautomap=A(z) '$1' automount térképfile nem létezik
linux_edev=Nem történt eszközmegadás
linux_edevfile=A(z) '$1' eszköz nem létezik
linux_emask=A(z) '$1' nem érvényes oktális maszk
linux_etimeout='$1' egy érvénytelen idõtúllépés-érték.
linux_epidfile=A(z) '$1' érvénytelen PID file
linux_efmode='$1' egy érvénytelen oktális file mód.
linux_edmode='$1' egy érvénytelen oktális könyvtár mód.
   07070100035685000081a40000000000000002000000013d1fe2bd00002f53000000200000000000000000000000000000001b00000003reloc/mount/lang/ja_JP.euc    index_title=¥Ç¥£¥¹¥¯¤È¥Í¥Ã¥È¥ï¡¼¥¯ ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
index_dir=¥Þ¥¦¥ó¥È ¥Ç¥£¥ì¥¯¥È¥ê
index_type=¼ïÎà
index_dev=¾ì½ê
index_use=»ÈÍÑÃæ¤Ç¤¹¤«¡©
index_perm=¹±µ×¤Ë¥Þ¥¦¥ó¥È¤·¤Þ¤¹¤«¡©
index_add=¥Þ¥¦¥ó¥È¤òÄÉ²Ã
index_auto=ÉÔÌÀ¤Ê¼ïÎà
index_swap=²¾ÁÛ¥á¥â¥ê
index_return=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È

edit_title=¥Þ¥¦¥ó¥È¤ÎÊÔ½¸
create_title=¥Þ¥¦¥ó¥È¤ÎºîÀ®
edit_err=¥Þ¥¦¥ó¥È¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
edit_egone=¤³¤Î¥Þ¥¦¥ó¥È¤Ï¤â¤¦Â¸ºß¤·¤Þ¤»¤ó
edit_header=$1 ¥Þ¥¦¥ó¥È¤Î¾ÜºÙ
edit_dir=¥Þ¥¦¥ó¥È ¥Ç¥£¥ì¥¯¥È¥ê
edit_swap=²¾ÁÛ¥á¥â¥ê
edit_size=¥µ¥¤¥º
edit_free=¶õ¤­
edit_savemount=¥Þ¥¦¥ó¥È¤òÊÝÂ¸¤·¤Þ¤¹¤«¡©
edit_boot=ÊÝÂ¸¤·¤Æ¥Ö¡¼¥È»þ¤Ë¥Þ¥¦¥ó¥È
edit_save=ÊÝÂ¸
edit_delete=ºï½ü
edit_dont=ÊÝÂ¸¤·¤Ê¤¤
edit_now=º£¤¹¤°¥Þ¥¦¥ó¥È¤·¤Þ¤¹¤«¡©
edit_mount=¥Þ¥¦¥ó¥È¤¹¤ë
edit_dont2=¥Þ¥¦¥ó¥È¤·¤Ê¤¤
edit_unmount=¥¢¥ó¥Þ¥¦¥ó¥È
edit_order=¥Ö¡¼¥È»þ¤Ë¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¸¡ºº¤·¤Þ¤¹¤«¡©
edit_first=ºÇ½é¤Ë¸¡ºº
edit_second=2 ÈÖÌÜ¤Ë¸¡ºº
edit_adv=¹âÅÙ¤Ê¥Þ¥¦¥ó¥È ¥ª¥×¥·¥ç¥ó
edit_list=¥ê¥¹¥È ¥æ¡¼¥¶
edit_create=ÊÝÂ¸¤·¤Æ¥Þ¥¦¥ó¥È
edit_save_apply=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
edit_umount=¥¢¥ó¥Þ¥¦¥ó¥È
edit_mount=¥Þ¥¦¥ó¥È
edit_perm=¹±µ×²½
edit_del_umount=¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Æºï½ü

save_err=¥Þ¥¦¥ó¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_edir='$1' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
save_edirname='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥êÌ¾¤Ç¤¹
save_ealready='$1' ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹
save_ealready2='$1' ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹
save_ealready3=¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹
save_ealready4=¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤Ï¤¹¤Ç¤Ë¥Þ¥¦¥ó¥È¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤¹
save_emkdir=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
save_eumount=¥¢¥ó¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
save_emount=¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
save_perm=$1 ¤Î¥Þ¥¦¥ó¥È¤Ø¤ÎÊÑ¹¹¤Ï¡¢¤½¤Î¥Þ¥¦¥ó¥È¤¬¸½ºß»ÈÍÑÃæ¤Î¤¿¤áÅ¬ÍÑ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¹±µ×¥Þ¥¦¥ó¥È ¥ê¥¹¥È¤Î¤ß¤ËÊÑ¹¹¤¹¤ë¤Ë¤Ï¡¢²¼¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
save_apply=±Êµ×¥ê¥¹¥È¤ËÅ¬ÍÑ
save_eremount=ºÆ¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
save_enone=ÊÝÂ¸¤Þ¤¿¤Ï¥Þ¥¦¥ó¥È¤¹¤ë¤¿¤á¤ËÁªÂò¤·¤Þ¤»¤ó¤Ç¤·¤¿

swap_err=¥¹¥ï¥Ã¥× ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
swap_esize='$1' ¤ÏÌµ¸ú¤Ê¥µ¥¤¥º¤Ç¤¹

nfs_server=NFS¥µ¡¼¥Ð¤òÁªÂò..
nfs_select=¥Þ¥¦¥ó¥È¤¹¤ë NFS ¥µ¡¼¥Ð¤òÁªÂò..
nfs_ip=IP ¥¢¥É¥ì¥¹
nfs_host=¥Û¥¹¥ÈÌ¾
nfs_none=¥í¡¼¥«¥ë NFS ¥µ¡¼¥Ð¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó
nfs_choose=$1 ¤ÎNFS ¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò
nfs_failed=$1 ¤«¤é NFS ¥¨¥¯¥¹¥Ý¡¼¥È¤ò¸¡º÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿:$2 ¼Â¹ÔÃæ¤Î NFS ¥µ¡¼¥Ð¤¬¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹
nfs_seldir=¥Þ¥¦¥ó¥È¤¹¤ë NFS ¥Ç¥£¥ì¥¯¥È¥ê¤òÁªÂò..
nfs_dir=¥Ç¥£¥ì¥¯¥È¥ê
nfs_clients=¥¯¥é¥¤¥¢¥ó¥È

smb_choose=SMB ¥µ¡¼¥Ð¤òÁªÂò..
smb_elist=¥µ¡¼¥Ð ¥ê¥¹¥È¤ò $1 ¤«¤é¸¡º÷¤Ç¤­¤Þ¤»¤ó¡£¥µ¡¼¥Ð¤¬»²¾È¤Ç¤­¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹
smb_ehost=¥µ¡¼¥Ð $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
smb_edown=¥µ¡¼¥Ð $1 ¤¬¥À¥¦¥ó¤·¤Æ¤¤¤ë¤«¸Æ¤Ó½Ð¤»¤Ê¤¤¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë ¥µ¡¼¥Ð¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
smb_sel=¥Þ¥¦¥ó¥È¤¹¤ë Windows Networking ¥µ¡¼¥Ð¤òÁªÂò..
smb_name=¥µ¡¼¥ÐÌ¾
smb_desc=ÀâÌÀ
smb_none=¥í¡¼¥«¥ë¤Î Windows Networking ¥µ¡¼¥Ð¤¬¤¢¤ê¤Þ¤»¤ó
smb_choose2= $1 ¤Î¶¦Í­¤òÁªÂò
smb_elist2=¶¦Í­¥ê¥¹¥È¤ò $1 ¤«¤é¸¡º÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£¥µ¡¼¥Ð¤¬»²¾È¤Ç¤­¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹
smb_sel2=¥Þ¥¦¥ó¥È¤¹¤ë¶¦Í­¤òÁªÂò..
smb_share=¶¦Í­
smb_comment=¥³¥á¥ó¥È
smb_noshares=¥µ¡¼¥Ð $1 ¤Î¥Õ¥¡¥¤¥ë¶¦Í­¤¬¤¢¤ê¤Þ¤»¤ó

solaris_scsidev=SCSI ¥³¥ó¥È¥í¡¼¥é $1 ¥¿¡¼¥²¥Ã¥È $2 ¥æ¥Ë¥Ã¥È $3 ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $4
solaris_mddev=RAID ¥Ç¥Ð¥¤¥¹ $1
solaris_ecacheexists=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹¡£ºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡£
solaris_ebusy=$1 ¤Ï¥Ó¥¸¡¼¤Ç¤¹
solaris_ekill=rumba ¤ò kill ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
solaris_epid=rumba pid ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿
solaris_nsource=NFS ¥½¡¼¥¹
solaris_nhost=NFS ¥Û¥¹¥ÈÌ¾
solaris_ndir=NFS ¥Ç¥£¥ì¥¯¥È¥ê
solaris_nmult=Ê£¿ô¤Î NFS ¥µ¡¼¥Ð
solaris_webnfs=WebNFS URL
solaris_ufs=UFS ¥Ç¥£¥¹¥¯
solaris_scsi=SCSI/IDE ¥Ç¥£¥¹¥¯
solaris_ctrlr=¥³¥ó¥È¥í¡¼¥é
solaris_target=¥¿¡¼¥²¥Ã¥È
solaris_unit=¥æ¥Ë¥Ã¥È
solaris_part=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
solaris_raid=RAID ¥Ç¥Ð¥¤¥¹
solaris_otherdev=Â¾¤Î¥Ç¥Ð¥¤¥¹
solaris_swapfile=¥¹¥ï¥Ã¥× ¥Õ¥¡¥¤¥ë
solaris_file=¥Õ¥¡¥¤¥ë
solaris_cdrom=CD-ROM
solaris_dvd=DVD
solaris_msdos=MS-DOS ¥Ç¥£¥¹¥¯
solaris_orig=¸µ¤Î¥Ç¥£¥ì¥¯¥È¥ê
solaris_cache=¥­¥ã¥Ã¥·¥å ¥½¡¼¥¹
solaris_automap=Automounter ¥Þ¥Ã¥×
solaris_autohosts=¤¹¤Ù¤Æ¤Î NFS ¥¨¥¯¥¹¥Ý¡¼¥È
solaris_autoxfn=Ï¢¹ç ¥Í¡¼¥ß¥ó¥° ¥µ¡¼¥Ó¥¹
solaris_server=¥µ¡¼¥ÐÌ¾
solaris_share=¶¦Í­Ì¾
solaris_ro=ÆÉ¼è¤êÀìÍÑ¤Ë¤·¤Þ¤¹¤«¡©
solaris_nosuid=setuid ¥×¥í¥°¥é¥à¤òÉÔÇ§²Ä¤Ë¤·¤Þ¤¹¤«¡©
solaris_grpid=¿Æ GID ¤ò·Ñ¾µ¤·¤¿¥Õ¥¡¥¤¥ë¤Ë¤·¤Þ¤¹¤«¡©
solaris_soft=¥¿¥¤¥à¥¢¥¦¥È¤Ç¥¨¥é¡¼¤òÊÖ¤¹¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
solaris_bg=¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥Þ¥¦¥ó¥È¤òºÆ»î¹Ô¤·¤Þ¤¹¤«¡©
solaris_quota=¥¯¥©¡¼¥¿¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
solaris_nointr=¥æ¡¼¥¶¤Ë¤è¤ëÃæÃÇ¤òµö²Ä¤·¤Þ¤¹¤«¡©
solaris_nfsver=NFS ¥Ð¡¼¥¸¥ç¥ó
solaris_highest=ºÇ¹â
solaris_proto=¥×¥í¥È¥³¥ë
solaris_port=NFS ¥Ý¡¼¥È
solaris_timeo=¥¿¥¤¥à¥¢¥¦¥È
solaris_retrans=ºÆÅ¾Á÷¿ô
solaris_auth=Ç§¾Ú
solaris_none=¤Ê¤·
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS ¥Þ¥¦¥ó¥È¤Ë¤·¤Þ¤¹¤«¡©
solaris_quotab=¥Ö¡¼¥È»þ¤Ë¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
solaris_onerror=¥¨¥é¡¼¤ËÂÐ¤¹¤ë¥¢¥¯¥·¥ç¥ó
solaris_toosoon=½¤ÉüÃÙ±ä
solaris_time_s=ÉÃ
solaris_time_m=Ê¬
solaris_time_h=»þ´Ö
solaris_time_d=Æü
solaris_time_w=½µ
solaris_time_y=Ç¯
solaris_noatime=¥¢¥¯¥»¥¹»þ´Ö¤ò¹¹¿·¤·¤Þ¤¹¤«¡©
solaris_immed=º£¤¹¤°¹¹¿·
solaris_defer=¿ø¤¨ÃÖ¤­
solaris_force=Ä¾ÀÜÆþ½ÐÎÏ¤ò¶¯À©¤·¤Þ¤¹¤«¡©
solaris_nolarge=Âç¤­¤Ê¥Õ¥¡¥¤¥ë¤òµöÍÆ¤·¤Þ¤¹¤«¡©
solaris_logging=¥í¥®¥ó¥°¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
solaris_nrr=Unix Â°À­¤òÌµ»ë¤·¤Þ¤¹¤«¡©
solaris_notraildot=ËöÈø¤Î¥É¥Ã¥È¤òÌµ»ë¤·¤Þ¤¹¤«¡©
solaris_nomaplcase=¾®Ê¸»ú¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
solaris_foldcase=¾®Ê¸»ú¤ò¶¯À©¤·¤Þ¤¹¤«¡©
solaris_noopts=»ÈÍÑ¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó
solaris_size=¥µ¥¤¥º
solaris_largebsize=Âç¤­¤Ê¥Ú¡¼¥¸ ¥Ö¥í¥Ã¥¯ ¥µ¥¤¥º¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
solaris_max=ºÇÂç
solaris_backfs=¼Â¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¼ïÎà
solaris_backpath=¼Â ¥Þ¥¦¥ó¥È ¥Ý¥¤¥ó¥È
solaris_cachedir=¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê
solaris_wmode=½ñ¹þ¤ß¥â¡¼¥É
solaris_con=À°¹çÀ­¸¡ºº
solaris_period=Äê´üÅª
solaris_never=¤Ê¤·
solaris_demand=¥ª¥ó ¥Ç¥Þ¥ó¥É
solaris_waround=Write-around
solaris_nshared=Non-shared
solaris_local=¥­¥ã¥Ã¥·¥å¤Îµö²Ä¤òÄ´¤Ù¤Þ¤¹¤«¡©
solaris_nobrowse=»²¾È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
solaris_auto=¼«Æ°
solaris_mname=¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾
solaris_cname=¥¯¥é¥¤¥¢¥ó¥ÈÌ¾
solaris_username=¥í¥°¥¤¥óÌ¾
solaris_password=¥í¥°¥¤¥ó ¥Ñ¥¹¥ï¡¼¥É
solaris_uid=¥æ¡¼¥¶ ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô
solaris_gid=¥°¥ë¡¼¥× ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô
solaris_fmode=¥Õ¥¡¥¤¥ë¤Îµö²Ä
solaris_dmode=¥Ç¥£¥ì¥¯¥È¥ê¤Îµö²Ä
solaris_readwrite=ÆÉ¼è¤ê/½ñ¹þ¤ß¥¢¥¯¥»¥¹¤Ï°ÂÁ´¤Ç¤¹¤«¡©
solaris_readonly=¥Õ¥¡¥¤¥ë¤ÏÆÉ¼è¤êÀìÍÑ¤ËÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
solaris_noupper=¥Ñ¥¹¥ï¡¼¥É¤òÂçÊ¸»ú¤ÇÁ÷¿®¤·¤Þ¤¹¤«¡©
solaris_attr=attrE ¥³¥Þ¥ó¥É¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
solaris_eurl='$1' ¤ÏÌµ¸ú¤ÊNFS URL ¤Ç¤¹
solaris_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
solaris_ehost2=¥Û¥¹¥È '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_edown=¥Û¥¹¥È '$1' ¤¬¥À¥¦¥ó¤·¤Æ¤¤¤ë¤« NFS ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó
solaris_enfs=¥Û¥¹¥È '$1' ¤Ï NFS ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó
solaris_enfsdir='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥êÌ¾¤Ç¤¹$2 ¾å¤ÎÍ­¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê: $3
solaris_enfsperm=¤³¤Î¥Û¥¹¥È¤Ï¥Ç¥£¥ì¥¯¥È¥ê $1 ¤ò $2 ¤Ë¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó
solaris_enfsmount=NFS ¥¨¥é¡¼ - $1
solaris_ectrlr='$1' ¤ÏÌµ¸ú¤Ê SCSI ¥³¥ó¥È¥í¡¼¥é¤Ç¤¹
solaris_etarget='$1' ¤ÏÌµ¸ú¤Ê SCSI ¥¿¡¼¥²¥Ã¥ÈÈÖ¹æ¤Ç¤¹
solaris_eunit='$1' ¤ÏÌµ¸ú¤Ê SCSI¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ç¤¹
solaris_epart='$1' ¤ÏÌµ¸ú¤Ê SCSI ¥Ñ¡¼¥Æ¥£¥·¥ç¥óÈÖ¹æ¤Ç¤¹
solaris_eraid='$1' ¤ÏÌµ¸ú¤Ê RAID ¥æ¥Ë¥Ã¥ÈÈÖ¹æ¤Ç¤¹
solaris_epath='$1' ¤ÏÌµ¸ú¤Ê¥Ñ¥¹Ì¾¤Ç¤¹
solaris_eexist='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_edir='$1' ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
solaris_eswapfile=¥¹¥ï¥Ã¥× ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_eopen=$1 ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿: $2
solaris_ebackfs=¥Ð¥Ã¥¯ ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à '$1' ¤Ï¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
solaris_ebacktype=¥Ð¥Ã¥¯ ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à '$1' ¤Ï $2 ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
solaris_ecsrc='$1' ¤ÏÌµ¸ú¤Ê¥­¥ã¥Ã¥·¥å ¥½¡¼¥¹¤Ç¤¹
solaris_eautomap=automount ¥Þ¥Ã¥×Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
solaris_eautofile=¥Þ¥Ã¥× ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_etarget2='$1' ¤Î SCSI ¥¿¡¼¥²¥Ã¥È¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_epart2='$1' ¤Î SCSI ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_eraid2='$1' ¤Î RAID ¥Ç¥Ð¥¤¥¹¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_enopart='$1' ¤Ë¤Ï¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ï¤¢¤ê¤Þ¤»¤ó
solaris_edevfile=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_edevice='$1' ¤Î¥Ç¥Ð¥¤¥¹¤ÏÂ¸ºß¤·¤Þ¤»¤ó
solaris_efstyp=¥Ç¥Ð¥¤¥¹ '$1' ¤Ï$2 ¤È¤·¤Æ¥Õ¥©¡¼¥Þ¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
solaris_efstyp2=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¼ïÎà¤òÄ´¤Ù¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿: $1
solaris_ecachedir='$1' ¤ÏÌµ¸ú¤Ê¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹
solaris_efmode='$1' ¤ÏÌµ¸ú¤Ê¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë¤Ç¤¹
solaris_edmode='$1' ¤ÏÌµ¸ú¤Ê 8 ¿Ê¥Ç¥£¥ì¥¯¥È¥ê ¥â¡¼¥É¤Ç¤¹

linux_eamd=AMD ¤¬¼ºÇÔ¤·¤Þ¤·¤¿
linux_eauto=Automount ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
linux_esmbconn=¥µ¡¼¥Ð¤ËÀÜÂ³¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
linux_ekillamd=AMD ¤ò kill ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
linux_ekillauto=automount  ¤ò kill ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
linux_nfshost=NFS ¥Û¥¹¥ÈÌ¾
linux_nfsdir=NFS ¥Ç¥£¥ì¥¯¥È¥ê
linux_map=Automounter ¥Þ¥Ã¥×
linux_swapfile=¥¹¥ï¥Ã¥× ¥Õ¥¡¥¤¥ë
linux_disk=¥Ç¥£¥¹¥¯
linux_smbserver=¥µ¡¼¥ÐÌ¾
linux_smbshare=¶¦Í­Ì¾
linux_raid=RAID ¥Ç¥Ð¥¤¥¹
linux_rdev=RAID ¥Ç¥Ð¥¤¥¹ $1
linux_cddev=CD-ROM ¥É¥é¥¤¥Ö
linux_label=$1 ¤È¥é¥Ù¥ëÉÕ¤±¤é¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
linux_lsel=¥é¥Ù¥ëÉÕ¤±¤é¤ì¤¿¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
linux_other=Â¾¤Î¥Ç¥Ð¥¤¥¹
linux_ro=ÆÉ¼è¤êÀìÍÑ¤Ë¤·¤Þ¤¹¤«¡©
linux_sync=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ø¤Î¥Ð¥Ã¥Õ¥¡¤Î½ñ¹þ¤ß¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
linux_nodev=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë¤òµö²Ä¤·¤Þ¤¹¤«¡©
linux_noexec=¥Ð¥¤¥Ê¥ê¤Î¼Â¹Ô¤òµö²Ä¤·¤Þ¤¹¤«¡©
linux_nosuid=setuid ¥×¥í¥°¥é¥à¤òÉÔÇ§²Ä¤Ë¤·¤Þ¤¹¤«¡©
linux_user=¥æ¡¼¥¶¤¬¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
linux_check=¥â¡¼¥É¤Î¸¡ºº
linux_normal=É¸½à
linux_strict=¸·Ì©
linux_none=¤Ê¤·
linux_errors=¥¨¥é¡¼¤ËÂÐ¤¹¤ë¥¢¥¯¥·¥ç¥ó
linux_continue=Â³¹Ô
linux_remount_ro=ÆÉ¼è¤êÀìÍÑ¤ÇºÆ¥Þ¥¦¥ó¥È
linux_panic=¥Ñ¥Ë¥Ã¥¯
linux_grpid=¿Æ GID ¤ò·Ñ¾µ¤·¤¿¥Õ¥¡¥¤¥ë¤Ë¤·¤Þ¤¹¤«¡©
linux_quotas=¥¯¥©¡¼¥¿¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
linux_usrquota=¥æ¡¼¥¶¤Î¤ß
linux_grpquota=¥°¥ë¡¼¥×¤Î¤ß
linux_usrgrpquota=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×
linux_usrgrpquota2=¥æ¡¼¥¶¤È¥°¥ë¡¼¥× (ÉÔ°ÂÄê)
linux_resuid=¥æ¡¼¥¶¤Ë¥¹¥Ú¡¼¥¹¤òÍ½Ìó
linux_resgid=¥°¥ë¡¼¥×¤Ë¥¹¥Ú¡¼¥¹¤òÍ½Ìó
linux_bg=¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥Þ¥¦¥ó¥È¤òºÆ»î¹Ô¤·¤Þ¤¹¤«¡©
linux_soft=¥¿¥¤¥à¥¢¥¦¥È¤Ç¥¨¥é¡¼¤òÊÖ¤¹¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
linux_timeo=¥¿¥¤¥à¥¢¥¦¥È
linux_retrans=ºÆÅ¾Á÷¿ô
linux_vers=NFS ¥Ð¡¼¥¸¥ç¥ó
linux_high=ºÇ¹â
linux_port=NFS ¥Ý¡¼¥È
linux_intr=¥æ¡¼¥¶¤Ë¤è¤ëÃæÃÇ¤òµö²Ä¤·¤Þ¤¹¤«¡©
linux_tcp=RPC ¥×¥í¥È¥³¥ë
linux_uid=¥æ¡¼¥¶ ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô
linux_gid=¥°¥ë¡¼¥× ¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô
linux_rules=¥Õ¥¡¥¤¥ë¤ÎÌ¿Ì¾µ¬Â§
linux_relaxed=´ËÏÂ
linux_conv=DOS-Unix ²þ¹ÔÊÑ´¹
linux_allfiles=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë
linux_textfiles=¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë¤Î¤ß
linux_umask=¥Õ¥¡¥¤¥ë¤Îµö²Ä¥Þ¥¹¥¯
linux_quiet=<tt>chown</tt> ¤Ç¤Î¥¨¥é¡¼¤ò¥ì¥Ý¡¼¥È¤·¤Þ¤¹¤«¡©
linux_uni_xlate=Unicode Ê¸»ú¤òÊÑ´¹¤·¤Þ¤¹¤«¡©
linux_posix=ÂçÊ¸»ú¾®Ê¸»ú¤ò¶èÊÌ¤·¤¿Ì¾Á°¤òµö²Ä¤·¤Þ¤¹¤«¡©
linux_conv2=OS/2-Unix ²þ¹ÔÊÑ´¹
linux_rock=Unix Â°À­¤òÌµ»ë¤·¤Þ¤¹¤«¡©
linux_mode=Èó Unix CD ¤Î¥Õ¥¡¥¤¥ëµö²Ä
linux_noopts=»ÈÍÑ¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó
linux_timeout=¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë¤Þ¤Ç¤Î¥¢¥¤¥É¥ë»þ´Ö
linux_pid_file=¥Õ¥¡¥¤¥ë¤Ë PID ¤ò½ñ¹þ¤ß
linux_secs=ÉÃ
linux_smbwarn=·Ù¹ð¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤¬ Webmin ¤«¤é¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á´ûÂ¸¤Î¥ª¥×¥·¥ç¥ó¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó
linux_username=¥í¥°¥¤¥óÌ¾
linux_password=¥í¥°¥¤¥ó ¥Ñ¥¹¥ï¡¼¥É
linux_sname=¥µ¡¼¥ÐÌ¾
linux_wg=¥ï¡¼¥¯¥°¥ë¡¼¥×
linux_auto=¼«Æ°
linux_cname=¥¯¥é¥¤¥¢¥ó¥ÈÌ¾
linux_mname=¥µ¡¼¥Ð ¥¢¥É¥ì¥¹
linux_fmode=¥Õ¥¡¥¤¥ë¤Îµö²Ä
linux_dmode=¥Ç¥£¥ì¥¯¥È¥ê¤Îµö²Ä
linux_notail=ÎÎ°è¤òÂ®ÅÙ¤È¸òÂØ¤·¤Þ¤¹¤«¡©
linux_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
linux_ehost2=¥æ¡¼¥¶ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
linux_edown=¥Û¥¹¥È '$1' ¤Ï¥À¥¦¥ó¤·¤Æ¤¤¤Þ¤¹
linux_enfs=¥Û¥¹¥È '$1' ¤Ï NFS ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó
linux_elist=¥Þ¥¦¥ó¥È ¥ê¥¹¥È¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
linux_enfsdir='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥êÌ¾¤Ç¤¹¡£$2 ¾å¤ÎÍ­¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê: $3
linux_enfsperm=¤³¤Î¥Û¥¹¥È¤Ï¥Ç¥£¥ì¥¯¥È¥ê $1 ¤ò $2 ¤Ë¥Þ¥¦¥ó¥È¤Ç¤­¤Þ¤»¤ó
linux_enfsmount=NFS ¥¨¥é¡¼ - $1
linux_eautomap=automount ¥Þ¥Ã¥× ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
linux_edev=¥Ç¥Ð¥¤¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
linux_edevfile=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
linux_emask='$1' ¤ÏÌµ¸ú¤Ê 8 ¿Ê¥Þ¥¹¥¯¤Ç¤¹
linux_etimeout='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
linux_epidfile='$1' ¤ÏÌµ¸ú¤Ê pid ¥Õ¥¡¥¤¥ë¤Ç¤¹
linux_efmode='$1' ¤ÏÌµ¸ú¤Ê 8 ¿Ê¥Õ¥¡¥¤¥ë ¥â¡¼¥É¤Ç¤¹
linux_edmode='$1' ¤ÏÌµ¸ú¤Ê 8 ¿Ê¥Ç¥£¥ì¥¯¥È¥ê ¥â¡¼¥É¤Ç¤¹

log_mount=$3 ¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_mount_l=$2 $1 ($3 ¾å) ¤ò¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_umount=$3 ¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_umount_l=$2 $1 ($3 ¾å)¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_remount=$3 ¤òºÆ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_remount_l=$2 $1 ($3 ¾å)¤ò ºÆ¥Þ¥¦¥ó¥È¤·¤Þ¤·¤¿
log_create=¥Þ¥¦¥ó¥È $3 ¤òºîÀ®¤·¤Þ¤·¤¿
log_create_l=$2 ¥Þ¥¦¥ó¥È $1 ($3 ¾å)¤òºîÀ®¤·¤Þ¤·¤¿
log_modify=¥Þ¥¦¥ó¥È $3 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_modify_l=$2 ¥Þ¥¦¥ó¥È $1 ( $3 ¾å) ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete=¥Þ¥¦¥ó¥È $3 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_l=$2 ¥Þ¥¦¥ó¥È $1 ($3 ¾å) ¤òºï½ü¤·¤Þ¤·¤¿

 07070100035686000081a40000000000000002000000013d1fe2bd00002cb7000000200000000000000000000000000000001b00000003reloc/mount/lang/ko_KR.euc    index_title=µð½ºÅ© ¹× ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ
index_dir=¸¶¿îÆ® ÇüÅÂ
index_type=À¯Çü
index_dev=À§Ä¡
index_use=»ç¿ë ÁßÀÔ´Ï±î?
index_perm=¿µ±¸ÀûÀÔ´Ï±î?
index_add=¸¶¿îÆ® Ãß°¡
index_auto=¾Ë ¼ö ¾ø´Â À¯Çü
index_swap=°¡»ó ¸Þ¸ð¸®
index_return=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï

edit_title=¸¶¿îÆ® ÆíÁý
create_title=¸¶¿îÆ® ÀÛ¼º
edit_err=¸¶¿îÆ®¸¦ ÆíÁýÇÏÁö ¸øÇß½À´Ï´Ù
edit_egone=ÀÌ ¸¶¿îÆ®°¡ ´õ ÀÌ»ó Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
edit_header=$1 ¸¶¿îÆ® ¼¼ºÎ Á¤º¸
edit_dir=¸¶¿îÆ® ÇüÅÂ
edit_swap=°¡»ó ¸Þ¸ð¸®
edit_size=Å©±â
edit_free=ºó °ø°£
edit_savemount=¸¶¿îÆ®¸¦ ÀúÀåÇÕ´Ï±î?
edit_boot=ºÎÆÃ ½Ã ÀúÀå ¹× ¸¶¿îÆ®
edit_save=ÀúÀå
edit_delete=»èÁ¦
edit_dont=ÀúÀå ¾ÈÇÔ
edit_now=Áö±Ý ¸¶¿îÆ®ÇÕ´Ï±î?
edit_mount=¸¶¿îÆ®
edit_dont2=¸¶¿îÆ® ¾ÈÇÔ
edit_unmount=¸¶¿îÆ® ÇØÁ¦
edit_order=ºÎÆÃ ½Ã ÆÄÀÏ ½Ã½ºÅÛÀ» °Ë»çÇÕ´Ï±î?
edit_first=Ã¹¹øÂ° °Ë»ç
edit_second=µÎ¹øÂ° °Ë»ç
edit_adv=°í±Þ ¸¶¿îÆ® ¿É¼Ç
edit_list=»ç¿ëÀÚ ¸ñ·Ï
edit_create=ÀúÀå ¹× ¸¶¿îÆ®
edit_save_apply=ÀúÀå ¹× Àû¿ë
edit_umount=¸¶¿îÆ® ÇØÁ¦
edit_mount=¸¶¿îÆ®
edit_perm=¿µ±¸È­
edit_del_umount=¸¶¿îÆ® ÇØÁ¦ ¹× »èÁ¦

save_err=¸¶¿îÆ®¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_edir='$1'Àº(´Â) µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù 
save_edirname='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
save_ealready='$1'ÀÌ(°¡) ÀÌ¹Ì ¸¶¿îÆ®µÇ¾ú½À´Ï´Ù
save_ealready2='$1'ÀÌ(°¡) ÀÌ¹Ì ¸¶¿îÆ®¿ëÀ¸·Î ÇÒ´çµÇ¾ú½À´Ï´Ù
save_ealready3=µð·ºÅä¸® '$1'ÀÌ(°¡) ÀÌ¹Ì ¸¶¿îÆ®µÇ¾ú½À´Ï´Ù
save_ealready4=µð·ºÅä¸® '$1'ÀÌ(°¡) ÀÌ¹Ì ¸¶¿îÆ®¿ëÀ¸·Î ÇÒ´çµÇ¾ú½À´Ï´Ù
save_emkdir=µð·ºÅä¸® $1À»(¸¦) ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù: $2
save_eumount=¸¶¿îÆ®¸¦ ÇØÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù: $1
save_emount=¸¶¿îÆ®ÇÏÁö ¸øÇß½À´Ï´Ù: $1
save_perm=¸¶¿îÆ®°¡ ÇöÀç »ç¿ëµÇ°í ÀÖÀ¸¹Ç·Î $1ÀÇ ¸¶¿îÆ®¿¡ ´ëÇÑ º¯°æ ³»¿ëÀ» Àû¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ¿µ±¸ ¸¶¿îÆ® ¸ñ·Ï¸¸ º¯°æÇÏ·Á¸é ¾Æ·¡ÀÇ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
save_apply=¿µ±¸ ¸ñ·Ï¿¡ Àû¿ë
save_eremount=´Ù½Ã ¸¶¿îÆ®ÇÏÁö ¸øÇß½À´Ï´Ù: $1
save_enone=ÀúÀå ¶Ç´Â ¸¶¿îÆ®¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù

swap_err=½º¿Ò ÆÄÀÏÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
swap_esize='$1'Àº(´Â) À¯È¿ÇÑ Å©±â°¡ ¾Æ´Õ´Ï´Ù 

nfs_server=NFS ¼­¹ö ¼±ÅÃ..
nfs_select=¸¶¿îÆ®ÇÒ NFS ¼­¹ö ¼±ÅÃ..
nfs_ip=IP ÁÖ¼Ò
nfs_host=È£½ºÆ® ÀÌ¸§
nfs_none=·ÎÄÃ NFS ¼­¹ö°¡ ¾ø½À´Ï´Ù
nfs_choose=$1ÀÇ NFS µð·ºÅä¸® ¼±ÅÃ
nfs_failed=$1¿¡¼­ NFS ³»º¸³»±â¸¦ °Ë»öÇÏÁö ¸øÇß½À´Ï´Ù: $2. ½ÇÇà ÁßÀÎ NFS ¼­¹ö°¡ ¾ø´Â µí ÇÕ´Ï´Ù.
nfs_seldir=¸¶¿îÆ®ÇÒ NFS µð·ºÅä¸® ¼±ÅÃ..
nfs_dir=µð·ºÅä¸®
nfs_clients=Å¬¶óÀÌ¾ðÆ®

smb_choose=SMB ¼­¹ö ¼±ÅÃ..
smb_elist=$1¿¡¼­ ¼­¹ö ¸ñ·ÏÀ» °Ë»öÇÏÁö ¸øÇß½À´Ï´Ù. ¼­¹ö Ã£¾Æº¸±â°¡ Çã¿ëµÇÁö ¾Ê´Â µí ÇÕ´Ï´Ù.
smb_ehost=¼­¹ö $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
smb_edown=¼­¹ö $1ÀÌ(°¡) ´Ù¿îµÇ¾ú°Å³ª ¿¬°áµÇÁö ¾Ê¾Ò°Å³ª ÆÄÀÏ ¼­¹ö°¡ ¾Æ´Õ´Ï´Ù
smb_sel=¸¶¿îÆ®ÇÒ À©µµ¿ì ³×Æ®¿öÅ· ¼­¹ö ¼±ÅÃ..
smb_name=¼­¹ö ÀÌ¸§
smb_desc=¼³¸í
smb_none=·ÎÄÃ À©µµ¿ì ³×Æ®¿öÅ· ¼­¹ö°¡ ¾ø½À´Ï´Ù
smb_choose2=$1ÀÇ °øÀ¯ ¼±ÅÃ
smb_elist2=$1¿¡¼­ °øÀ¯ ¸ñ·ÏÀ» °Ë»öÇÏÁö ¸øÇß½À´Ï´Ù. ¼­¹ö Ã£¾Æº¸±â°¡ Çã¿ëµÇÁö ¾Ê´Â µí ÇÕ´Ï´Ù.
smb_sel2=¸¶¿îÆ®ÇÒ °øÀ¯ ¼±ÅÃ..
smb_share=°øÀ¯
smb_comment=ÁÖ¼®
smb_noshares=¼­¹ö $1¿¡ »ç¿ë °¡´ÉÇÑ ÆÄÀÏ °øÀ¯°¡ ¾ø½À´Ï´Ù

solaris_scsidev=SCSI ÄÁÆ®·Ñ·¯ $1 ´ë»ó $2 ÀåÄ¡ $3 ÆÄÆ¼¼Ç $4
solaris_mddev=RAID ÀåÄ¡ $1
solaris_ecacheexists=µð·ºÅä¸® $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù. »èÁ¦ÇÏ½Ê½Ã¿À.
solaris_ebusy=$1ÀÌ(°¡) »ç¿ë ÁßÀÔ´Ï´Ù
solaris_ekill=rumba¸¦ Áß´ÜÇÏÁö ¸øÇß½À´Ï´Ù
solaris_epid=rumba pid¸¦ Ã£Áö ¸øÇß½À´Ï´Ù
solaris_nsource=NFS ¼Ò½º
solaris_nhost=NFS È£½ºÆ® ÀÌ¸§
solaris_ndir=NFS µð·ºÅä¸®
solaris_nmult=´ÙÁß NFS ¼­¹ö
solaris_webnfs=WebNFS URL
solaris_ufs=UFS µð½ºÅ©
solaris_scsi=SCSI/IDE µð½ºÅ©
solaris_ctrlr=ÄÁÆ®·Ñ·¯
solaris_target=´ë»ó
solaris_unit=ÀåÄ¡
solaris_part=ÆÄÆ¼¼Ç
solaris_raid=RAID ÀåÄ¡
solaris_otherdev=´Ù¸¥ ÀåÄ¡
solaris_swapfile=½º¿Ò ÆÄÀÏ
solaris_file=ÆÄÀÏ
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=MS-DOS µð½ºÅ©
solaris_orig=¿ø·¡ µð·ºÅä¸®
solaris_cache=Ä³½Ã ¼Ò½º
solaris_automap=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ ¸Ê
solaris_autohosts=¸ðµç NFS ³»º¸³»±â
solaris_autoxfn=¿¬°á ¸í¸í ¼­ºñ½º(FNS)
solaris_server=¼­¹ö ÀÌ¸§
solaris_share=°øÀ¯ ÀÌ¸§
solaris_ro=ÀÐ±â Àü¿ëÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
solaris_nosuid=setuid ÇÁ·Î±×·¥À» Çã¿ëÇÏÁö ¾Ê½À´Ï±î?
solaris_grpid=ÆÄÀÏÀÌ »óÀ§ GID¸¦ »ó¼ÓÇÕ´Ï±î?
solaris_soft=½Ã°£ ÃÊ°ú ½Ã ¿À·ù¸¦ ¹ÝÈ¯ÇÕ´Ï±î?
solaris_bg=¹è°æ¿¡¼­ ¸¶¿îÆ®¸¦ ´Ù½Ã ½ÃµµÇÕ´Ï±î?
solaris_quota=ÇÒ´ç·®À» Ç¥½ÃÇÕ´Ï±î?
solaris_nointr=»ç¿ëÀÚ ÀÎÅÍ·´Æ®¸¦ Çã¿ëÇÕ´Ï±î?
solaris_nfsver=NFS ¹öÀü
solaris_highest=ÃÖ»óÀ§
solaris_proto=ÇÁ·ÎÅäÄÝ
solaris_port=NFS Æ÷Æ®
solaris_timeo=½Ã°£ ÃÊ°ú
solaris_retrans=ÀçÀü¼Û È½¼ö
solaris_auth=ÀÎÁõ
solaris_none=¾øÀ½
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS ¸¶¿îÆ®ÀÔ´Ï±î?
solaris_quotab=ºÎÆÃ ½Ã ÇÒ´ç·®À» »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
solaris_onerror=¿À·ù ¹ß»ý ½Ã µ¿ÀÛ
solaris_toosoon=º¹±¸ Áö¿¬
solaris_time_s=ÃÊ
solaris_time_m=ºÐ
solaris_time_h=½Ã
solaris_time_d=ÀÏ
solaris_time_w=ÁÖ
solaris_time_y=³â
solaris_noatime=Á¢±Ù È½¼ö¸¦ ¾÷µ¥ÀÌÆ®ÇÕ´Ï±î?
solaris_immed=Áï½Ã
solaris_defer=Áö¿¬
solaris_force=Á÷Á¢ IO¸¦ °­Á¦·Î Àû¿ëÇÕ´Ï±î?
solaris_nolarge=Å« ÆÄÀÏÀ» Çã¿ëÇÕ´Ï±î?
solaris_logging=·Î±ë ±â´ÉÀ» ¼³Á¤ÇÕ´Ï±î?
solaris_nrr=À¯´Ð½º ¼Ó¼ºÀ» ¹«½ÃÇÕ´Ï±î?
solaris_notraildot=µÚ¿¡ ¿À´Â ¸¶Ä§Ç¥¸¦ ¹«½ÃÇÕ´Ï±î?
solaris_nomaplcase=¼Ò¹®ÀÚ¸¦ »ç¿ëÇÕ´Ï±î?
solaris_foldcase=¼Ò¹®ÀÚ¸¦ °­Á¦·Î Àû¿ëÇÕ´Ï±î?
solaris_noopts=»ç¿ë °¡´ÉÇÑ ¿É¼Ç ¾øÀ½
solaris_size=Å©±â
solaris_largebsize=Å« ÆäÀÌÁö ºí·Ï Å©±â¸¦ »ç¿ëÇÕ´Ï±î?
solaris_max=ÃÖ´ë
solaris_backfs=½ÇÁ¦ ÆÄÀÏ ½Ã½ºÅÛ À¯Çü
solaris_backpath=½ÇÁ¦ ¸¶¿îÆ® ÁöÁ¡
solaris_cachedir=Ä³½Ã µð·ºÅä¸®
solaris_wmode=¾²±â ¸ðµå
solaris_con=ÀÏ°ü¼º °Ë»ç
solaris_period=Á¤±âÀû
solaris_never=¾ÈÇÔ
solaris_demand=¿äÃ» ½Ã
solaris_waround=¾²´Â Áß
solaris_nshared=ºñ°øÀ¯
solaris_local=Ä³½ÃÀÇ »ç¿ë ±ÇÇÑÀ» °Ë»çÇÕ´Ï±î?
solaris_nobrowse=Ã£¾Æº¸±â°¡ °¡´ÉÇÑ »óÅÂÀÔ´Ï±î?
solaris_auto=ÀÚµ¿
solaris_mname=¼­¹ö È£½ºÆ® ÀÌ¸§
solaris_cname=Å¬¶óÀÌ¾ðÆ® ÀÌ¸§
solaris_username=·Î±×ÀÎ ÀÌ¸§
solaris_password=·Î±×ÀÎ ¾ÏÈ£
solaris_uid=»ç¿ëÀÚ ÆÄÀÏ ¼ÒÀ¯ÀÚ
solaris_gid=±×·ì ÆÄÀÏ ¼ÒÀ¯ÀÚ
solaris_fmode=ÆÄÀÏ »ç¿ë ±ÇÇÑ
solaris_dmode=µð·ºÅä¸® »ç¿ë ±ÇÇÑ
solaris_readwrite=ÀÐ±â/¾²±â ¾×¼¼½º ±ÇÇÑÀÌ ¾ÈÀüÇÕ´Ï±î?
solaris_readonly=ÀÐ±â Àü¿ë ÆÄÀÏÀÏ ¼ö ÀÖ½À´Ï±î?
solaris_noupper=¾ÏÈ£¸¦ ´ë¹®ÀÚ·Î º¸³À´Ï±î?
solaris_attr=attrE ¸í·ÉÀ» »ç¿ëÇÕ´Ï±î?
solaris_eurl='$1'Àº(´Â) À¯È¿ÇÑ NFS URLÀÌ ¾Æ´Õ´Ï´Ù 
solaris_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
solaris_ehost2=È£½ºÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_edown=È£½ºÆ® '$1'ÀÌ(°¡) ´Ù¿îµÇ¾ú°Å³ª NFS¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
solaris_enfs='$1' È£½ºÆ®°¡ NFS¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
solaris_enfsdir='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù. $2¿¡¼­ »ç¿ë °¡´ÉÇÑ µð·ºÅä¸®´Â ´ÙÀ½°ú °°½À´Ï´Ù: $3
solaris_enfsperm=ÀÌ È£½ºÆ®´Â $2ÀÇ µð·ºÅä¸® $1À»(¸¦) ¸¶¿îÆ®ÇÒ ¼ö ¾ø½À´Ï´Ù
solaris_enfsmount=NFS ¿À·ù - $1
solaris_ectrlr='$1'Àº(´Â) À¯È¿ÇÑ SCSI ÄÁÆ®·Ñ·¯°¡ ¾Æ´Õ´Ï´Ù
solaris_etarget='$1'Àº(´Â) À¯È¿ÇÑ SCSI ´ë»ó ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
solaris_eunit='$1'Àº(´Â) À¯È¿ÇÑ SCSI ÀåÄ¡ ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
solaris_epart='$1'Àº(´Â) À¯È¿ÇÑ SCSI ÆÄÆ¼¼Ç ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
solaris_eraid='$1'Àº(´Â) À¯È¿ÇÑ RAID ÀåÄ¡ ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
solaris_epath='$1'Àº(´Â) À¯È¿ÇÑ °æ·Î ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
solaris_eexist='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_edir='$1'Àº(´Â) µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù 
solaris_eswapfile=½º¿Ò ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_eopen=$1À»(¸¦) ¿­Áö ¸øÇß½À´Ï´Ù: $2
solaris_ebackfs=¹é ÆÄÀÏ ½Ã½ºÅÛ $1ÀÌ(°¡) ¸¶¿îÆ®µÇÁö ¾Ê¾Ò½À´Ï´Ù
solaris_ebacktype=¹é ÆÄÀÏ ½Ã½ºÅÛ $1Àº(´Â) $2ÀÌ(°¡) ¾Æ´Õ´Ï´Ù
solaris_ecsrc='$1'Àº(´Â) À¯È¿ÇÑ Ä³½Ã ¼Ò½º°¡ ¾Æ´Õ´Ï´Ù 
solaris_eautomap=¾ø´Â ÀÚµ¿ ¸¶¿îÆ® ¸Ê ÀÌ¸§
solaris_eautofile=¸Ê ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_etarget2='$1'ÀÇ SCSI ´ë»óÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_epart2='$1'ÀÇ SCSI ÆÄÆ¼¼ÇÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_eraid2='$1'ÀÇ RAID ÀåÄ¡°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_enopart='$1'¿¡ ÆÄÆ¼¼ÇÀÌ ¾ø½À´Ï´Ù
solaris_edevfile=ÀåÄ¡ ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_edevice='$1'ÀÇ ÀåÄ¡°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
solaris_efstyp=ÀåÄ¡ '$1'ÀÌ(°¡) $2(À¸)·Î Æ÷¸ËµË´Ï´Ù
solaris_efstyp2=ÆÄÀÏ ½Ã½ºÅÛ À¯ÇüÀ» °Ë»çÇÏÁö ¸øÇß½À´Ï´Ù: $1
solaris_ecachedir='$1'Àº(´Â) À¯È¿ÇÑ Ä³½Ã µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
solaris_efmode='$1'Àº(´Â) À¯È¿ÇÑ 8Áø ÆÄÀÏ ¸ðµå°¡ ¾Æ´Õ´Ï´Ù
solaris_edmode='$1'Àº(´Â) À¯È¿ÇÑ 8Áø µð·ºÅä¸® ¸ðµå°¡ ¾Æ´Õ´Ï´Ù

linux_eamd=AMD ½ÇÆÐ
linux_eauto=ÀÚµ¿ ¸¶¿îÆ® ½ÇÆÐ: $1
linux_esmbconn=¼­¹ö¿¡ ¿¬°áÇÏÁö ¸øÇß½À´Ï´Ù
linux_ekillamd=AMD¸¦ Áß´ÜÇÏÁö ¸øÇß½À´Ï´Ù
linux_ekillauto=ÀÚµ¿ ¸¶¿îÆ®¸¦ Áß´ÜÇÏÁö ¸øÇß½À´Ï´Ù
linux_nfshost=NFS È£½ºÆ® ÀÌ¸§
linux_nfsdir=NFS µð·ºÅä¸®
linux_map=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ ¸Ê
linux_swapfile=½º¿Ò ÆÄÀÏ
linux_disk=µð½ºÅ©
linux_smbserver=¼­¹ö ÀÌ¸§
linux_smbshare=°øÀ¯ ÀÌ¸§
linux_raid=RAID ÀåÄ¡
linux_rdev=RAID ÀåÄ¡ $1
linux_cddev=CD-ROM µå¶óÀÌºê
linux_label=¶óº§ $1 ÆÄÆ¼¼Ç
linux_lsel=·¹ÀÌºí ºÎ¿©µÈ ÆÄÆ¼¼Ç
linux_other=´Ù¸¥ ÀåÄ¡
linux_ro=ÀÐ±â Àü¿ëÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
linux_sync=¹öÆÛ¸¦ ÆÄÀÏ ½Ã½ºÅÛ¿¡ ¾¹´Ï±î?
linux_nodev=ÀåÄ¡ ÆÄÀÏÀ» Çã¿ëÇÕ´Ï±î?
linux_noexec=ÀÌÁø ÆÄÀÏÀÇ ½ÇÇàÀ» Çã¿ëÇÕ´Ï±î?
linux_nosuid=setuid ÇÁ·Î±×·¥À» Çã¿ëÇÏÁö ¾Ê½À´Ï±î?
linux_user=»ç¿ëÀÚ°¡ ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÒ ¼ö ÀÖ½À´Ï±î?
linux_check=°Ë»ç ¸ðµå
linux_normal=ÀÏ¹Ý
linux_strict=Á¤¹Ð
linux_none=¾øÀ½
linux_errors=¿À·ù ¹ß»ý ½Ã µ¿ÀÛ
linux_continue=°è¼Ó
linux_remount_ro=ÀÐ±â Àü¿ëÀ¸·Î ´Ù½Ã ¸¶¿îÆ®
linux_panic=ÆÐ´Ð
linux_grpid=ÆÄÀÏÀÌ »óÀ§ GID¸¦ »ó¼ÓÇÕ´Ï±î?
linux_quotas=ÇÒ´ç·®À» »ç¿ëÇÕ´Ï±î?
linux_usrquota=»ç¿ëÀÚ¸¸
linux_grpquota=±×·ì¸¸
linux_usrgrpquota=»ç¿ëÀÚ ¹× ±×·ì
linux_usrgrpquota2=»ç¿ëÀÚ ¹× ±×·ì(ºÒ¾ÈÁ¤ÇÔ!)
linux_resuid=»ç¿ëÀÚ °ø°£ ¿¹¾à
linux_resgid=±×·ì °ø°£ ¿¹¾à
linux_bg=¹è°æ¿¡¼­ ¸¶¿îÆ®¸¦ ´Ù½Ã ½ÃµµÇÕ´Ï±î?
linux_soft=½Ã°£ ÃÊ°ú½Ã ¿À·ù¸¦ ¹ÝÈ¯ÇÕ´Ï±î?
linux_timeo=½Ã°£ ÃÊ°ú
linux_retrans=ÀçÀü¼Û È½¼ö
linux_vers=NFS ¹öÀü
linux_high=ÃÖ»óÀ§
linux_port=NFS Æ÷Æ®
linux_intr=»ç¿ëÀÚ ÀÎÅÍ·´Æ®¸¦ Çã¿ëÇÕ´Ï±î?
linux_tcp=RPC ÇÁ·ÎÅäÄÝ
linux_uid=»ç¿ëÀÚ ÆÄÀÏ ¼ÒÀ¯ÀÚ
linux_gid=±×·ì ÆÄÀÏ ¼ÒÀ¯ÀÚ
linux_rules=ÆÄÀÏ ¸í¸í ±ÔÄ¢
linux_relaxed=¿ÏÈ­
linux_conv=µµ½º-À¯´Ð½º ÁÙ¹Ù²Þ º¯È¯
linux_allfiles=¸ðµç ÆÄÀÏ
linux_textfiles=ÅØ½ºÆ® ÆÄÀÏ¸¸
linux_umask=ÆÄÀÏ »ç¿ë ±ÇÇÑ ¸¶½ºÅ©
linux_quiet=<tt>chown</tt> ½Ãµµ ½Ã ¿À·ù¸¦ º¸°íÇÕ´Ï±î?
linux_uni_xlate=À¯´ÏÄÚµå ¹®ÀÚ¸¦ º¯È¯ÇÕ´Ï±î?
linux_posix=´ë¼Ò¹®ÀÚ¸¸ ´Ù¸¥ ÀÌ¸§À» Çã¿ëÇÕ´Ï±î?
linux_conv2=OS/2-À¯´Ð½º ÁÙ¹Ù²Þ º¯È¯
linux_rock=À¯´Ð½º ¼Ó¼ºÀ» ¹«½ÃÇÕ´Ï±î?
linux_mode=ºñ À¯´Ð½º CDÀÇ ÆÄÀÏ »ç¿ë ±ÇÇÑ
linux_noopts=»ç¿ë °¡´ÉÇÑ ¿É¼Ç ¾øÀ½
linux_timeout=¸¶¿îÆ® ÇØÁ¦ ÀüÀÇ À¯ÈÞ ½Ã°£
linux_pid_file=ÆÄÀÏ¿¡ PID ¾²±â
linux_secs=ÃÊ
linux_smbwarn=°æ°í! Webmin¿¡¼­ ÆÄÀÏ ½Ã½ºÅÛÀ» ¸¶¿îÆ®ÇÏÁö ¾Ê¾ÒÀ¸¹Ç·Î ±âÁ¸ ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
linux_username=·Î±×ÀÎ ÀÌ¸§
linux_password=·Î±×ÀÎ ¾ÏÈ£
linux_sname=¼­¹ö ÀÌ¸§
linux_wg=ÀÛ¾÷ ±×·ì
linux_auto=ÀÚµ¿
linux_cname=Å¬¶óÀÌ¾ðÆ® ÀÌ¸§
linux_mname=¼­¹ö ÁÖ¼Ò
linux_fmode=ÆÄÀÏ »ç¿ë ±ÇÇÑ
linux_dmode=µð·ºÅä¸® »ç¿ë ±ÇÇÑ
linux_notail=°ø°£À» ´Ã·Á¼­ ¼Óµµ¸¦ ³ôÀÔ´Ï±î?
linux_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
linux_ehost2=È£½ºÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
linux_edown=È£½ºÆ® '$1'ÀÌ(°¡) ´Ù¿îµÇ¾ú½À´Ï´Ù
linux_enfs=È£½ºÆ® '$1'ÀÌ(°¡) NFS¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
linux_elist=¸¶¿îÆ® ¸ñ·ÏÀ» °¡Á®¿ÀÁö ¸øÇß½À´Ï´Ù: $1
linux_enfsdir='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù. $2¿¡¼­ »ç¿ë °¡´ÉÇÑ µð·ºÅä¸®´Â ´ÙÀ½°ú °°½À´Ï´Ù: $3
linux_enfsperm=ÀÌ È£½ºÆ®´Â $2ÀÇ µð·ºÅä¸® $1À»(¸¦) ¸¶¿îÆ®ÇÒ ¼ö ¾ø½À´Ï´Ù
linux_enfsmount=NFS ¿À·ù - $1
linux_eautomap=ÀÚµ¿ ¸¶¿îÆ® ¸Ê ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
linux_edev=ÀåÄ¡¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
linux_edevfile=ÀåÄ¡ ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
linux_emask='$1'Àº(´Â) À¯È¿ÇÑ 8Áø ¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù 
linux_etimeout='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ ÃÊ°ú °ªÀÌ ¾Æ´Õ´Ï´Ù 
linux_epidfile='$1'Àº(´Â) À¯È¿ÇÑ pid ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
linux_efmode='$1'Àº(´Â) À¯È¿ÇÑ 8Áø ÆÄÀÏ ¸ðµå°¡ ¾Æ´Õ´Ï´Ù
linux_edmode='$1'Àº(´Â) À¯È¿ÇÑ 8Áø µð·ºÅä¸® ¸ðµå°¡ ¾Æ´Õ´Ï´Ù

log_mount=$3 ¸¶¿îÆ®µÊ
log_mount_l=$3¿¡¼­ $2 $1 ¸¶¿îÆ®µÊ
log_umount=$3 ¸¶¿îÆ® ÇØÁ¦µÊ
log_umount_l=$3ÀÇ $2 $1 ¸¶¿îÆ® ÇØÁ¦µÊ
log_remount=$3 ´Ù½Ã ¸¶¿îÆ®µÊ
log_remount_l=$3¿¡¼­ $2 $1 ´Ù½Ã ¸¶¿îÆ®µÊ
log_create=¸¶¿îÆ® $3 ÀÛ¼ºµÊ
log_create_l=$3¿¡¼­ $2 ¸¶¿îÆ® $1 ÀÛ¼ºµÊ
log_modify=¸¶¿îÆ® $3 ¼öÁ¤µÊ
log_modify_l=$3¿¡¼­ $2 ¸¶¿îÆ® $1 ¼öÁ¤µÊ
log_delete=¸¶¿îÆ® $3 »èÁ¦µÊ
log_delete_l=$3¿¡¼­ $2 ¸¶¿îÆ® $1 »èÁ¦µÊ

 07070100035687000081a40000000000000002000000013d1fe2bd000031e3000000200000000000000000000000000000001400000003reloc/mount/lang/pl   index_title=Lokalne i sieciowe systemy plików
index_dir=Zamontowany w
index_type=Typ
index_dev=Lokalizacja
index_use=U¿ywany?
index_perm=Na sta³e?
index_add=Zamontuj nowy
index_auto=Nieznany typ
index_swap=Pamiêæ wirtualna
index_return=listy systemów plików

edit_title=Zmieñ montowanie
create_title=Zamontuj nowy
edit_err=Nie uda³o sie zmieniæ montowania
edit_egone=Ten system plików ju¿ nie jest zamontowany
edit_header=Parametry montowania $1
edit_dir=Zamontowany jako
edit_swap=Pamiêæ wirtualna
edit_size=Rozmiar
edit_free=Wolne
edit_savemount=Zachowaæ montowanie?
edit_boot=Zachowaæ i&nbsp;montowaæ przy starcie
edit_save=Zachowaæ
edit_delete=Skasowaæ
edit_dont=Nie zachowywaæ
edit_now=Zamontowaæ teraz?
edit_mount=Zamontuj
edit_dont2=Nie
edit_unmount=Odmontowaæ
edit_order=Sprawdzaæ system plików przy starcie?
edit_first=Sprawdzaj jako pierwszy
edit_second=Sprawdzaj jako drugi
edit_adv=Zaawansowane opcje montowania
edit_list=Poka¿ u¿ytkowników
edit_create=Zachowaj i zamontuj
edit_save_apply=Zachowaj i zastosuj
edit_umount=Odmontuj
edit_perm=Na sta³e
edit_del_umount=Odmontuj i skasuj

save_err=Nie uda³o sie zachowaæ montowania
save_edir='$1' nie jest katalogiem
save_edirname='$1' nie jest poprawn± nazw± katalogu
save_ealready='$1' jest ju¿ zamontowany
save_ealready2='$1' jest ju¿ przeznaczony do zamontowania
save_ealready3=Katalog '$1' jest ju¿ zamontowany
save_ealready4=Katalog '$1' ma ju¿ przypisane montowanie
save_emkdir=Nie uda³o siê utworzyæ katalogu $1&nbsp;: $2
save_eumount=Odmontowanie siê nie powiod³o&nbsp;: $1
save_emount=Montowanie siê nie powiod³o&nbsp;: $1
save_perm=Zmiany montowania $1 nie mog± byæ wykonane, gdy¿ to montowanie jest aktualnie u¿ywane. Je¶li chcesz, ¿eby zosta³y jedynie wykonane zmiany na li¶cie montowañ sta³ych, naci¶nij przycisk poni¿ej.
save_apply=Zastosuj do listy montowañ sta³ych
save_eremount=Przemontowanie siê nie powiod³o&nbsp;: $1
save_enone=Nie wybra³e¶ zachowania ani zamontowania

swap_err=Nie uda³o siê utworzyæ pliku wymiany
swap_esize='$1' nie jest poprawnym rozmiarem

nfs_server=Wybierz serwer NFS..
nfs_select=Wybierz serwer NFS, z&nbsp;którego montowaæ..
nfs_ip=IP Adres
nfs_host=Komputer
nfs_none=Nie znaleziono ¿adnego lokanego serwera NFS
nfs_choose=Wybierz katalog NFS na $1
nfs_failed=Nie uda³o siê uzyskaæ listy katalogów udostêpnianych po NFS z&nbsp;$1&nbsp;: $2 Byæ mo¿e nie dzia³a ¿aden serwer NFS.
nfs_seldir=Wybierz katoalog NFS do zamontowania..
nfs_dir=Katalog
nfs_clients=Klienci

smb_choose=Wybierz serwer SMB..
smb_elist=Nie uda³o sie uzyskac listy srwerów z&nbsp;$1. Mo¿liwe, ¿e serwer nie pozwala na przegl±danie
smb_ehost=Serwer $1 nie istnieje
smb_edown=Serwer $1 jest wy³±czony, nieosi±galny lub nie jest serwerem plików
smb_sel=Wybierz serwer Sieci Windows, zktórego zamontowaæ..
smb_name=Nazwa serwera
smb_desc=Opis
smb_none=Nie znaleziono ¿adnego lokalnego serwera Sieci Windows
smb_choose2=Wybierz zasób na $1
smb_elist2=Nie uda³o siê uzyskaæ listy zasobów z&nbsp;$1. Byæ mo¿e serwer nie pozwala na przegl±danie.
smb_sel2=Wybierz zasób do zamontowania..
smb_share=Zasób
smb_comment=Opis
smb_noshares=Brak dostêpnych zasobów plikowych na serwerze $1

solaris_scsidev=Kontroler SCSI $1 urz±dzenie $2 podurz±dzenie $3 partycja $4
solaris_mddev=Urz±dzenie RAID $1
solaris_ecacheexists=Katalog $1 ju¿ istnieje. Skasuj go.
solaris_ebusy=$1 jest zajêty
solaris_ekill=Nie uda³o siê zabiæ rumby
solaris_epid=Nie uda³o siê znale¼æ numeru pid rumby
solaris_nsource=¬ród³o NFS
solaris_nhost=Nazwa komputera NFS
solaris_ndir=Katalog NFS
solaris_nmult=Wiele serwerów NFS
solaris_webnfs=WebNFS URL
solaris_ufs=Dysk UFS
solaris_scsi=Dysk SCSI/IDE
solaris_ctrlr=Kontroler
solaris_target=Urz±dzenie
solaris_unit=Podurz±dzenie
solaris_part=Partycja
solaris_raid=Urz±dzenie RAID
solaris_otherdev=Inne urz±dzenie
solaris_swapfile=Plik wymiany
solaris_file=Plik
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=Dysk MS-DOS
solaris_orig=Katalog oryginalny
solaris_cache=¬ród³o cache
solaris_automap=Automounter map
solaris_autohosts=Wszystkie zasoby udostêpniane po NFS
solaris_autoxfn=Federated Naming Service
solaris_server=Nazwa serwera
solaris_share=Nazwa zasobu
solaris_ro=Tylko do odcztytu?
solaris_nosuid=Zablokowaæ programy setuid?
solaris_grpid=Pliki dziedzicz± nr GID nadrzêdnego?
solaris_soft=Zg³aszaæ b³êdy przy timeoutach?
solaris_bg=Powtarzaæ próby montowania w&nbsp;tle?
solaris_quota=Wy¶wietliæ quota?
solaris_nointr=Pozwoliæ na przerwanie przez u¿ytkownika?
solaris_nfsver=Wersja NFS
solaris_highest=Najwy¿sza
solaris_proto=Protokó³
solaris_port=Port NFS
solaris_timeo=Timeout
solaris_retrans=Liczba retransmisji
solaris_auth=Autoryzacja
solaris_none=Brak
solaris_des=DES
solaris_krb=Kerberos
solaris_public=Montowanie WebNFS?
solaris_quotab=W³±czyæ quota przy starcie?
solaris_onerror=Reakcja na b³±d
solaris_toosoon=Opó¼nienie naprawy
solaris_time_s=Sekund
solaris_time_m=Minut
solaris_time_h=Godzin
solaris_time_d=Dni
solaris_time_w=Tygodni
solaris_time_y=Lat
solaris_noatime=Aktualizowaæ czasy dostêpu?
solaris_immed=Natychmiast
solaris_defer=Z&nbsp;opó¼nieniem
solaris_force=Wymusiæ bezpo¶rednie We/Wy?
solaris_nolarge=Pozwoliæ na du¿e pliki?
solaris_logging=W³±czone logowanie?
solaris_nrr=Zignorowaæ atrybuty uniksowe?
solaris_notraildot=Zignorowaæ kropkê koñcz±c±?
solaris_nomaplcase=U¿ywaæ ma³ych liter?
solaris_foldcase=Wymusiæ ma³e litery?
solaris_noopts=Brak opcji
solaris_size=Rozmiar
solaris_largebsize=U¿yæ du¿ego rozmiaru bloku?
solaris_max=Maksymalny
solaris_backfs=Typ rzeczywistego systemu plików
solaris_backpath=Rzeczywisty katalog montowania
solaris_cachedir=Katalog cache
solaris_wmode=Tryb zapisu
solaris_con=Kontrola spójno¶ci
solaris_period=Okresowa
solaris_never=Brak
solaris_demand=Na ¿±danie
solaris_waround=Write-around
solaris_nshared=Nie wspó³dzielony
solaris_local=Sprawdzaæ uprawnienia w&nbsp;cache?
solaris_nobrowse=Wolno przegl±daæ?
solaris_auto=Automatycznie
solaris_mname=Nazwa serwera
solaris_cname=Nazwa klienta
solaris_username=Nazwa logowania
solaris_password=Has³o logowania
solaris_uid=W³a¶cicielem plików jest u¿ytkownik
solaris_gid=Grup± plików jest
solaris_fmode=Prawa do plików
solaris_dmode=Prawa do katalogów
solaris_readwrite=Dostêp do odczytu i&nbsp;zapisu jest bezpieczny?
solaris_readonly=Pliki mog± byæ tylko do odczytu?
solaris_noupper=Wysy³aj has³a wielkimi literami?
solaris_attr=Uzywaæ poleceñ attrE?
solaris_eurl='$1' nie jest poprawnym URLem NFS
solaris_ehost='$1' nie jest poprawn± nazw± komputera
solaris_ehost2=Komputer '$1' nie istnieje
solaris_edown=Komputer '$1' jest wy³±czony lub nie obs³uguje NFSu
solaris_enfs=Komputer '$1' nie obs³uguje NFSu
solaris_enfsdir='$1' nie jest poprawn± nazw± katalogu. Dostêpnymi katalogami na $2 s±&nbsp;: $3
solaris_enfsperm=Ten komputer nie ma prawa montowaæ katalogu $1 z&nbsp;$2
solaris_enfsmount=B³±d NFS - $1
solaris_ectrlr='$1' nie jest poprawnym kontrolerem SCSI
solaris_etarget='$1' nie jest poprawnym SCSI numerem urz±dzenia
solaris_eunit='$1' nie jest poprawnym SCSI numerem podurz±dzenia
solaris_epart='$1' nie jest poprawnym numerem partycji SCSI
solaris_eraid='$1' nie jest poprawnym numerem jednostki RAID
solaris_epath='$1' nie jest poprawn± ¶cie¿k±
solaris_eexist='$1' nie istnieje
solaris_edir='$1' nie jest katalogiem
solaris_eswapfile=Plik wymiany '$1' nie istnieje
solaris_eopen=Nie uda³o sie otworzyæ $1&nbsp;: $2
solaris_ebackfs=The back filesystem '$1' is not mounted
solaris_ebacktype=The back filesystem is '$1' is not $2
solaris_ecsrc='$1' nie jest poprawnym ¼ród³em cache
solaris_eautomap=Brak nazwy pliku mapy automountera
solaris_eautofile=Plik mapy '$1' nie istnieje
solaris_etarget2=Urz±dzenie SCSI dla '$1' nie istnieje
solaris_epart2=Partycja SCSI '$1' nie istnieje
solaris_eraid2=Urz±dzenie RAID '$1' nie istnieje
solaris_enopart=Brak partycji na '$1'
solaris_edevfile=Plik urz±dzenia '$1' nie istnieje
solaris_edevice=Urz±dzenie '$1' nie istnieje
solaris_efstyp=Urz±dzenie '$1' jest sformatowane jako $2
solaris_efstyp2=Nie uda³o siê sprawdziæ rodzaju systemu plików&nbsp;: $1
solaris_ecachedir='$1' nie jest poprawnym katalogiem cache
solaris_efmode='$1' nie jest poprawnym trybem ósemkowym dla plików
solaris_edmode='$1' nie jest poprawnym trybem ósemkowym dla katalogów

linux_eamd=AMD zawiód³
linux_eauto=Nieudane automatyczne montowanie: $1
linux_esmbconn=Nie uda³o siê po³±czyæ z&nbsp;serwerem
linux_ekillamd=Nie uda³o siê zabiæ AMD
linux_ekillauto=Nie uda³o siê zabiæ procesu automount
linux_nfshost=Nazwa serwera NFS
linux_nfsdir=Katalog NFS
linux_map=Mapa automountera
linux_swapfile=Plik wymiany
linux_disk=Dysk
linux_smbserver=Nazwa serwera
linux_smbshare=Nazwa zasobu
linux_raid=Urz±dzenie RAID
linux_rdev=Urz±dzenie RAID $1
linux_cddev=Napêd CD-ROM
linux_label=Partycja oznaczona $1
linux_lsel=Partycja oznaczona
linux_other=Inne urz±dzenie
linux_ro=Tylko do odczytu
linux_sync=Zrzucaæ bufory systemu plików?
linux_nodev=Pozwoliæ na pliki urz±dzeñ?
linux_noexec=Pozwoliæ na wykonywanie programów?
linux_nosuid=Zablokowaæ programy setuid-owe?
linux_user=Pozwoliæ montowaæ u¿ytkownikom?
linux_check=Tryb sprawdzania
linux_normal=Zwyk³e
linux_strict=Dok³adne
linux_none=Brak
linux_errors=Reakcja na b³±d
linux_continue=Kontynuuj
linux_remount_ro=Montuj tylko do odczytu
linux_panic=Wpadnij w panikê
linux_grpid=Pliki dziedzicz± nr GID nadrzêdnego?
linux_quotas=U¿ywaæ quota?
linux_usrquota=Tylko dla u¿ytkowników
linux_grpquota=Tylko dla grup
linux_usrgrpquota=Dla u¿ytkowników i grup
linux_usrgrpquota2=Dla u¿ytkowników i grup (NIESTABILNE!)
linux_resuid=Zarezerwowana przestrzeñ dla u¿ytkownika
linux_resgid=Zarezerwowana przestrzeñ dla grupy
linux_bg=Powtarzaæ próby montowania w&nbsp;tle?
linux_soft=Zg³aszaæ b³êdy przy timeoutach?
linux_timeo=Timeout
linux_retrans=Liczba retransmisji
linux_vers=Wersja NFS
linux_high=Najwy¿sza
linux_port=Port NFS
linux_intr=Pozwoliæ na przerwanie przez u¿ytkownika?
linux_tcp=Protokó³ RPC
linux_uid=W³a¶cicielem plików jest u¿ytkownik
linux_gid=Grup± plików jest
linux_rules=Zasady nazewnictwa plików
linux_relaxed=Swobodne
linux_conv=Zamiana koñców linii DOS-Unix
linux_allfiles=Wszystkie pliki
linux_textfiles=Tylko pliki tekstowe
linux_umask=Maska praw do pliku
linux_quiet=Zg³aszaæ b³±d przy <tt>chown</tt>?
linux_uni_xlate=T³umaczyæ znaki w&nbsp;Unikodzie?
linux_posix=Dozwolone nazwy ró¿ni±ce siê tylko wielko¶ci± liter?
linux_conv2=Zamiana koñców linii OS/2-Unix
linux_rock=Ignorowaæ atrybuty uniksowe?
linux_mode=Prawa dostêpu do plików dla nie-uniksowych CD
linux_noopts=Brak opcji
linux_timeout=Czas bezczynno¶ci przed odmontowaniem
linux_pid_file=Zapisz nr PID do pliku
linux_secs=sekund
linux_smbwarn=Uwaga! System plików nie zosta³ zamontowany z&nbsp;Webmina, wiêc istniej±ce opcje s± niedostêpne
linux_username=Nazwa logowania
linux_password=Has³o logowania
linux_sname=Nazwa serwera
linux_wg=Grupa robocza
linux_auto=Automatycznie
linux_cname=Nazwa klienta
linux_mname=Adres serwera
linux_fmode=Prawa do plików
linux_dmode=Prawa do katalogów
linux_notail=Przehandlowaæ miejsce za szybko¶æ?
linux_tmpsize=Maksymalny rozmiar systemu plików
linux_unlimited=Nieograniczony
linux_nr_blocks=Maksymalna liczba dostêpnych bloków
linux_nr_inodes=Maksymalna liczba dostêpnych inodów
linux_tmpmode=Uprawnienia punktu montowania
linux_ehost='$1' nie jest poprawn± nazw± komputera
linux_ehost2=Komputer '$1' nie istnieje
linux_edown=Komputer '$1' jest wy³±czony
linux_enfs=Komputer '$1' nie obs³uguje NFSu
linux_elist=Nie uda³o siê pobraæ listy montowañ&nbsp;: $1
linux_enfsdir='$1' nie jest poprawn± nazw± katalogu. Dostêpnymi katalogami na $2 s±&nbsp;: $3
linux_enfsperm=Ten komputer nie ma prawa montowaæ katalogu $1 z&nbsp;$2
linux_enfsmount=B³±d NFS - $1
linux_eautomap=Plik mapy automountera '$1' nie istnieje
linux_edev=Nie podano urz±dzenia
linux_edevfile=Plik urz±dzenia '$1' nie istnieje
linux_emask='$1' nie jest poprawn± mask± ósemkow±
linux_etimeout='$1' nie jest poprawnym timeoutem
linux_epidfile='$1' nie jest poprawnym plikiem z&nbsp;numerem PID
linux_efmode='$1' nie jest poprawnym trybem ósemkowym dla plików
linux_edmode='$1' nie jest poprawnym trybem ósemkowym dla katalogów
linux_etmpsize=Nie podany lub niepoprawny rozmiar maksymalny
linux_enr_blocks=Nie podana lub niepoprawna liczba bloków
linux_enr_inodes=Nie podana lub niepoprawna liczba inodów
linux_etmpmode=Nie podane lub niepoprawne ósemkowe uprawnienia punkty montowania


log_mount=Zamontowano $3
log_mount_l=Zamontowano $2 $1 na $3
log_umount=Odmontowano $3
log_umount_l=Odmontowano $2 $1 na $3
log_remount=Przemontowano $3
log_remount_l=Odmontowano $2 $1 na $3
log_create=Utworzono montowanie $3
log_create_l=Utworzono montowanie $2 $1 na $3
log_modify=Zmieniono montowanie $3
log_modify_l=Zmieniono montowanie $2 $1 na $3
log_delete=Usuniêto montowanie $3
log_delete_l=Usuniêto montowanie $2 $1 na $3
 07070100035688000081a40000000000000002000000013d1fe2bd00002d06000000200000000000000000000000000000001700000003reloc/mount/lang/ru_RU    edit_swap=Âèðòóàëüíàÿ Ïàìÿòü
solaris_webnfs=WebNFS URL
smb_sel2=Âûáåðèòå ðåñóðñ äëÿ ìîíòèðîâàíèÿ..
save_err=Îøèáêà ïðè ñîõðàíåíèè ðåñóðñà
linux_rules=Ïðàâèëà èìåíîâàíèÿ ôàéëîâ
edit_list=Ñïèñîê Ïîëüçîâàòåëåé
linux_normal=Íîðìàëüíûé
solaris_file=Ôàéë
solaris_edmode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðåæèìîì êàòàëîãà â âîñüìåðè÷íîì êîäå 
linux_tcp=Ïðîòîêîë RPC
index_dev=Ðàñïîëîæåíèå
solaris_nomaplcase=Èñïîëüçîâàòü íèæíèé ðåãèñòð?
solaris_backfs=Ðåàëüíûé òèï ô.ñ.
solaris_enfs=Õîñò '$1' íå ïîääåðæèâàåò NFS
solaris_epart2=SCSI ðàçäåë äëÿ '$1' íå ñóùåñòâóåò 
solaris_ufs=UFS Äèñê
solaris_ebacktype=Ôàéëîâàÿ ñèñòåìà '$1' íå ÿâëÿåòñÿ $2
linux_panic=Ïàíèêà
solaris_backpath=Ðåàëüíàÿ òî÷êà ìîíòèðîâàíèÿ
solaris_scsi=SCSI Äèñê
linux_conv2=OS/2-Unix òðàíñëÿöèÿ ïåðåâîäîâ ñòðîê 
solaris_uid=Ôàéëàìè ïîëüçîâàòåëÿ âëàäååò
solaris_eraid='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì RAID ìîäóëÿ 
linux_esmbconn=Îøèáêà ñîåäèíåíèÿ ñ ñåðâåðîì
linux_timeo=Òàéìàóò
index_dir=Ñìîíòèðîâàí Êàê
linux_bg=Ïîâòîðíûå ìîíòèðîâàíèÿ â ôîíîâîì ðåæèìå?
solaris_edown=Õîñò '$1' îòêëþ÷åí, èëè íå ïîääåðæèâàåò NFS
linux_eamd=Îøèáêà AMD
solaris_quota=Ïîêàçûâàòü êâîòû?
linux_soft=Âîçâðàùàòü îøèáêó ïî òàéìàóòàì?
linux_ekillamd=Íå ìîãó ïðèáèòü AMD
linux_efmode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðåæèìîì ôàéëà â âîñüìåðè÷íîì êîäå
swap_err=Îøèáêà ïðè ñîçäàíèè ôàéëà ïîäêà÷êè Failed to create swap file
solaris_time_d=Äíåé
solaris_time_h=×àñîâ
linux_usrquota=Òîëüêî ïîëüçîâàòåëÿ
solaris_eraid2=RAID óñòðîéñòâî äëÿ '$1' íå ñóùåñòâóåò 
linux_nfshost=Èìÿ Õîñòà NFS
solaris_time_m=Ìèíóò
linux_mname=Àäðåñ Ñåðâåðà
solaris_time_s=Ñåêóíä
nfs_server=Âûáîð NFS Ñåðâåðà..
solaris_time_w=Íåäåëü
smb_choose=Âûáîð SMB Ñåðâåðà..
solaris_time_y=Ëåò
solaris_ebusy=$1 çàíÿò 
linux_other=Äðóãîå óñòðîéñòâî
solaris_epart='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì SCSI ðàçäåëà 
solaris_epid=Íå ìîãó íàéòè rumba pid
solaris_ctrlr=Êîíòðîëëåð
solaris_efmode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîâûì ðåæèìîì â âîñüìåðè÷íîì êîäå
linux_raid=RAID óñòðîéñòâî
save_eumount=Îøèáêà ïðè ðàçìîíòèðîâàíèè : $1
solaris_edevfile=Ôàéë óñòðîéñòâà '$1' íå ñóùåñòâóåò 
solaris_eexist='$1' íå ñóùåñòâóåò 
solaris_epath='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïóòåâûì èìåíåì 
edit_err=Îøèáêà ïðè ðåäàêòèðîâàíèè ðåñóðñà
index_return=ñïèñîê ôàéëîâûõ ñèñòåì
linux_emask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé âîñüìåðè÷íîé ìàñêîé
smb_name=Èìÿ Ñåðâåðà
solaris_nobrowse=Âêëþ÷åí ðåæèì ïðîñìîòðà?
linux_resgid=Ðåçåðâíîå ïðîñòðàíñòâî äëÿ ãðóïïû
linux_check=Ðåæèì ïðîâåðêè
linux_umask=Ìàñêà ïðàâ ôàéëîâ
solaris_edevice=Óñòðîéñòâî '$1' íå ñóùåñòâóåò 
solaris_grpid=Ôàéëû íàñëåäóþò ðîäèòåëüñêèé GID?
solaris_waround=Write-around
solaris_nolarge=Ðàçðåøèòü áîëüøèå ôàéëû?
linux_textfiles=Òîëüêî òåêñòîâûõ ôàéëîâ
linux_allfiles=Âñåõ ôàéëîâ
linux_gid=Âëàäåëåö ôàéëîâ ãðóïïû
solaris_noatime=Îáíîâèòü âðåìÿ äîñòóïà?
linux_nodev=Ðàçðåøèòü ôàéëû óñòðîéñòâ?
linux_edevfile=Ôàéë óñòðîéñòâà '$1' íå ñóùåñòâóåò
solaris_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
solaris_nshared=Non-shared
smb_share=Ðåñóðñ
solaris_soft=Âîçâðàòèòü îøèáêó ïî òàéìàóòó?
edit_second=Ïðîâåðèòü Âòîðîé
save_enone=Íå âûáðàíî - ñîõðàíÿòü èëè ìîíòèðîâàòü
linux_eauto=Îøèáêà àâòîìîíòèðîâàíèÿ : $1
index_auto=Àâòîìàòè÷åñêè
solaris_attr=Èñïîëüçîâàòü attrE êîìàíäû?
linux_etimeout='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òàéìàóòîì
nfs_ip=IP Àäðåñ
edit_free=Ñâîáîäíî
linux_map=Êàðòà Àâòîìîíòèðîâùèêà
linux_noopts=Ïàðàìåòðû íåäîñòóïíû
solaris_raid=RAID Óñòðîéñòâî
solaris_autoxfn=Ôåäåðàòèâíûé Ñåðâèñ Èìåí(FNS)
index_use=Èñïîëüçóåòñÿ?
save_ealready2='$1' óæå àññîöèèðîâàí ñ ìîíòèðóåìûì ðåñóðñîì
save_ealready3=Êàòàëîã '$1' óæå ñìîíòèðîâàí
save_ealready4=Êàòàëîã '$1' óæå ïðèñâîåí ðåñóðñó äëÿ ìîíòèðîâàíèÿ
edit_header=Ïàðàìåòðû Ðåñóðñà $1
solaris_swapfile=Ôàéë Ïîäêà÷êè
solaris_logging=Âêëþ÷èòü æóðíàëèçàöèþ?
linux_user=Ðàçðåøèòü ïîëüçîâàòåëÿì ìîíòèðîâàòü ýòó ô.ñ.?
solaris_enopart=Íåò ðàçäåëîâ íà '$1'
linux_dmode=Ïðàâà íà êàòàëîãè
solaris_noopts=Ïàðàìåòðû íåäîñòóïíû
solaris_bg=Ïîâòîðíûå ìîíòèðîâàíèÿ â ôîíîâîì ðåæèìå?
solaris_autohosts=Âñå NFS ðåñóðñû
linux_smbwarn=Âíèìàíèå! Ôàéëîâóþ ñèñòåìó ñìîíòèðîâàë ÍÅ Webmin, òàêèì îáðàçîì òåêóøèå ïàðàìåòðû ðåñóðñà íåäîñòóïíû
linux_intr=Ðàçðåøèòü ïîëüçîâàòåëüñêîå ïðåðûâàíèå?
create_title=Ñîçäàíèå Ðåñóðñà
nfs_seldir=Âûáåðèòå NFS êàòàëîã äëÿ ìîíòèðîâàíèÿ..
solaris_toosoon=Çàäåðæêà Âîññòàíîâëåíèÿ
solaris_part=Ðàçäåë
linux_nfsdir=Êàòàëîã NFS
linux_quiet=Ñîîáùàòü îá îøèáêàõ ïðè ïðè ïîïûòêàõ ñäåëàòü <tt>chown</tt>?
linux_swapfile=Ôàéë Ïîäêà÷êè
save_emkdir=Îøèáêà ïðè ñîçäàíèè êàòàëîãà $1 : $2
linux_ro=Òîëüêî äëÿ ÷òåíèÿ?
solaris_eopen=Îøèáêà ïðè îòêðûòèè $1 : $2
solaris_automap=Êàðòà àâòîìîíòèðîâùèêà
solaris_size=Ðàçìåð
linux_pid_file=Çàïèñûâàòü PID â ôàéë
smb_elist2=Îøèáêà ïðè çàïðîñå ñïèñêà ðåñóðñîâ ñ $1. Âîçìîæíî ñåðâåð íå ðàçðåøàåò èñïîëüçîâàòü ðåæèì ïðîñìîòðà
linux_posix=Äîïóñêàòü èìåíà ðàçëè÷àþùèåñÿ òîëüêî ðåãèñòðîì?
solaris_eautomap=Íå ââåäåíî èìÿ êàðòû àâòîìîíòèðîâàíèÿ
solaris_proto=Ïðîòîêîë
linux_uni_xlate=Òðàíñëèðîâàòü ñèìâîëû Unicode?
linux_usrgrpquota=Ïîëüçîâàòåëÿ è Ãðóïïû
solaris_eswapfile=Ôàéë ïîäêà÷êè '$1'íå ñóùåñòâóåò 
index_add=Äîáàâèòü ðåñóðñ
solaris_timeo=Òàéìàóò
solaris_public=WebNFS ðåñóðñ?
linux_wg=Ðàáî÷àÿ Ãðóïïà
linux_retrans=Êîë-âî ïîâòîðíûõ ïåðåñûëîê
solaris_cdrom=CDROM
solaris_efstyp=Óñòðîéñòâî '$1' îòôîðìàòèðîâàííî êàê $2
linux_fmode=Ïðàâà íà ôàéëû
solaris_enfsperm=Äàííîìó õîñòó çàïðåøåíî ìîíòèðîâàòü êàòàëîã $1 íà $2
save_eremount=Îøèáêà ïðè Ïåðåìîíòèðîâàíèè : $1
linux_eautomap=Ôàéë êàðòû àâòîìîíòèðîâàíèÿ '$1' íå ñóùåñòâóåò 
solaris_force=Ôîðñèðîâàòü ïðÿìîé IO?
linux_ekillauto=Íå ìîãó ïðèáèòü automount
solaris_mname=Èìÿ Õîñòà Ñåðâåðà
solaris_mddev=RAID óñòðîéñòâî $1
edit_order=Ïðîâåðèòü ô.ñ. ïðè çàãðóçêå?
linux_conv=DOS-Unix òðàíñëÿöèÿ ïåðåâîäîâ ñòðîê
edit_title=Ðåäàêòèðîâàíèå Ðåñóðñà
swap_esize='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì is not a valid size
linux_none=Íåò
edit_dir=Ñìîíòèðîâàí Êàê
solaris_ebackfs=Ôàéëîâàÿ ñèñòåìà '$1' íå ñìîíòèðîâàíà
linux_enfsperm=Äàííûé õîñò íå ïîçâîëÿåò ìîíòèðîâàòü êàòàëîã $1 íà $2
linux_cname=Èìÿ Êëèåíòà
solaris_notraildot=Èãíîðèðîâàòü çàâåðøàþùóþ òî÷êó?
linux_rock=Èãíîðèðîâàòü Unix Àòòðèáóòû?
linux_sname=Èìÿ Ñåðâåðà
solaris_nrr=Èãíîðèðîâàòü àòðèáóòû Unix?
save_perm=Èçìåíåíèÿ äëÿ ðåñóðñà íà $1 íå ìîãóò áûòü àêòèâèçèðîâàíû, ïîñêîëüêó ðåñóðñ â íàñòîÿùèé ìîìåíò èñïîëüçóåòñÿ. Äëÿ òîãî, ÷òîáû ñîõðàíèòü èçìåíåíèÿ â òàáëèöå ñòàòè÷åñêèõ ðåñóðñîâ, íàæìèòå íà êíîïêó íèæå.
solaris_target=Àäðåñ
solaris_ectrlr='$1' íå ÿâëÿåòñÿ äîïóñòèìûì SCSI êîíòðîëëåðîì 
linux_epidfile='$1' íå ÿâëÿåòñÿ äîïóñòèìûì pid ôàéëîì
nfs_dir=Êàòàëîã
linux_sync=Áóôåðèçèðîâàííàÿ çàïèñü â ô.ñ.?
save_edirname='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì êàòàëîãà
solaris_ekill=Íå ìîãó ïðèáèòü rumba
linux_continue=Ïðîäîëæèòü
linux_remount_ro=Ïåðåìîíòèðîâàòü òîëüêî äëÿ ÷òåíèÿ
nfs_host=Èìÿ Õîñòà
solaris_scsidev=SCSI êîíòðîëëåð $1 àäðåñ $2 ìîäóëü $3 ðàçäåë $4
linux_edev=Íå ââåäåíî óñòðîéñòâî
solaris_nsource=NFS Èñòî÷íèê
solaris_ro=Òîëüêî äëÿ ×òåíèÿ?
solaris_ecsrc='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èñòî÷íèêîì êýøà
solaris_password=Ðåãèñòðàöèîííûé Ïàðîëü
solaris_ecacheexists=Êàòàëîã $1 óæå ñóùåñòâóåò. Óäàëèòå åãî.
linux_enfsdir='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì êàòàëîãà. Äîñòóïíûìè êàòàëîãàìè íà $2 ÿâëÿþòñÿ: $3
nfs_failed=Îøèáêà ïðè çàïðîñå NFS ðåñóðñîâ îò $1 : $2 Âîçìîæíî íå ðàáîòàåò NFS ñåðâåð
solaris_nmult=Ìíîæåñòâåííûå NFS Ñåðâåðû
save_apply=Ñîõðàíèòü Â Òàáëèöå Ñòàòè÷åñêèõ Ðåñóðñîâ
solaris_con=Ïðîâåðêà öåëîñòíîñòè
linux_smbshare=Èìÿ Ðåñóðñà
solaris_none=Íåò
linux_vers=Âåðñèÿ NFS
edit_save=Ñîõðàíèòü
nfs_clients=Êëèåíòû
solaris_etarget2=Öåëåâîé SCSI àäðåñ äëÿ '$1' íå ñóùåñòâóåò 
linux_resuid=Ðåçåðâíîå ïðîñòðàíñòâî äëÿ ïîëüçîâàòåëÿ
linux_strict=Ñòðîãèé
solaris_share=Èìÿ Ðåñóðñà
solaris_gid=Ôàéëàìè ãðóïïû âëàäååò
smb_none=Íå íàéäåíî ëîêàëüíûõ ôàéëîâûõ ñåðâåðîâ Windows
index_title=Äèñêîâûå è Ñåòåâûå Ôàéëîâûå Ñèñòåìû
solaris_never=Íèêîãäà
solaris_eunit='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì SCSI ìîäóëÿ 
linux_password=Ðåãèñòðàöèîííûé Ïàðîëü
solaris_dmode=Ïðàâà êàòàëîãà
edit_first=Ïðîâåðèòü Ïåðâîé
linux_uid=Âëàäåëåö ôàéëîâ ïîëüçîâàòåëÿ
linux_port=Ïîðò NFS
edit_boot=Ñîõðàíèòü è ñìîíòèðîâàòü ïðè çàãðóçêå
save_emount=Îøèáêà ïðè ìîíòèðîâàíèè : $1
linux_auto=Àâòîìàòè÷åñêè
edit_dont2=Íå ìîíòèðîâàòü
solaris_server=Èìÿ Ñåðâåðà
solaris_eautofile=Ôàéë êàðòû '$1' íå ñóùåñòâóåò 
solaris_retrans=Êîëè÷åñòâî Ïîâòîðíûõ Ïåðåäà÷
solaris_period=Ïåðèîäè÷åñêè
smb_noshares=Íåò äîñòóïíûõ ôàéëîâûõ ðåñóðñîâ íà ñåðâåðå $1
solaris_orig=Îðèãèíàëüíûé Êàòàëîã
linux_enfsmount=Îøèáêà NFS - $1
smb_choose2=Âûáåðèòå Ðåñóðñ íà $1
smb_edown=Ñåðâåð $1 îòêëþ÷åí, íå äîñòóïåí èëè íå ÿâëÿåòñÿ ôàéëîâûì ñåðâåðîì
linux_rdev=RAID óñòðîéñòâî $1
linux_ehost2=Õîñò '$1' íå ñóùåñòâóåò
solaris_ndir=NFS Êàòàëîã
solaris_cache=Èñòî÷íèê Êýøèðîâàíèÿ
linux_relaxed=Âîëüíûå
solaris_max=Ìàêñèìàëüíî
solaris_onerror=Ðåàêöèÿ íà îøèáêó
linux_quotas=Èñïîëüçîâàòü Êâîòû?
index_type=Òèï
edit_unmount=Ðàçìîíòèðîâàòü
solaris_username=Ðåãèñòðàöèîííîå Èìÿ
solaris_demand=Ïî çàïðîñó
solaris_ehost2=Õîñò '$1' íå ñóùåñòâóåò
edit_dont=Íå ñîõðàíÿòü
linux_secs=ñåêóíä
solaris_otherdev=Äðóãîå Óñòðîéñòâî
solaris_quotab=Ðàçðåøèòü êâîòû ïðè çàãðóçêå?
smb_comment=Êîììåíòàðèé
linux_edown=Õîñò '$1' îòêëþ÷åí 
nfs_none=Íå íàéäåíî ëîêàëüíûõ NFS ñåðâåðîâ
edit_delete=Óäàëèòü
solaris_edir='$1' íå ÿâëÿåòñÿ êàòàëîãîì 
nfs_select=Âûáåðèòå NFS Ñåðâåð ñ êîòîðîãî ìîæíî ìîíòèðîâàòü ðåñóðñû..
solaris_fmode=Ïðàâà ôàéëà
linux_username=Ðåãèñòðàöèîííîå Èìÿ
linux_mode=Ïðàâà ôàéëîâ äëÿ íå-Unix CD
solaris_port=Ïîðò NFS
solaris_nhost=NFS Èìÿ Õîñòà
solaris_auth=Àóòåíòèôèêàöèÿ
solaris_auto=Àâòîìàòè÷åñêè
solaris_readwrite=Äîñòóï ïî ×òåíèþ/Çàïèñè áåçîïàñåí?
linux_noexec=Ðàçðåøèòü âûïîëíåíèå áèíàðíûõ ôàéëîâ?
edit_egone=Äàííûé ðåñóðñ áîëüøå íå ñóùåñòâóåò
edit_adv=Ðàñøèðåííûå Ïàðàìåòðû Ðåñóðñà
smb_elist=Îøèáêà ïðè çàïðîñå ñïèñêà ñåðâåðîâ îò $1. Âîçìîæíî ñåðâåð íå ðàçðåøàåò èñïîëüçîâàòü ðåæèì ïðîñìîòðà
smb_ehost=Ñåðâåð $1 íå ñóùåñòâóåò
solaris_local=Ïðîâåðÿòü ïðàâà â êýøå?
solaris_efstyp2=Îøèáêà ïðè ïðîâåðêå òèïà ôàéëîâîé ñèñòåìû : $1
save_edir='$1' íå ÿâëÿåòñÿ êàòàëîãîì
solaris_readonly=Ôàéëû ìîãóò áûòü òîëêî äëÿ ÷òåíèÿ?
solaris_enfsmount=Îøèáêà NFS - $1
solaris_cname=Èìÿ Êëèåíòà
linux_grpquota=Òîëêî ãðóïïû
solaris_msdos=Äèñê MS-DOS
solaris_enfsdir='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì êàòàëîãà. Äîñòóïíûìè êàòàëîãàìè íà $2 ÿâëÿþòñÿ: $3
linux_errors=Ðåàêöèÿ íà îøèáêó
solaris_wmode=Ðåæèì çàïèñè
solaris_unit=Ìîäóëü
linux_grpid=Ôàéëû íàñëåäóþò ðîäèòåëüñêèé GID?
edit_savemount=Ñîõðàíèòü Ðåñóðñ?
linux_usrgrpquota2=Ïîëüçîâàòåëÿ è Ãðóïïû (ÍÅÑÒÀÁÈËÜÍÎ!)
solaris_cachedir=Êýø êàòàëîã
index_swap=Âèðòóàëüíàÿ Ïàìÿòü
solaris_noupper=Îòñûëàòü ïàðîëü â âåðõíåì ðåãèñòðå?
linux_elist=Îøèáêà ïðè ïîëó÷åíèè ñïèñêà ðåñóðñîâ : $1
solaris_nfsver=Âåðñèÿ NFS
linux_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
edit_mount=Ìîíòèðîâàòü
smb_sel=Âûáåðèòå ôàéëîâûé ñåðâåð Windows, äëÿ ìîíèðîâàíèÿ ðåñóðñîâ..
linux_high=Âûñøàÿ
edit_now=Ìîíòèðîâàòü ñåé÷àñ?
linux_disk=Äèñê
linux_enfs=Õîñò '$1' íå ïîääåðæèâàåò NFS
solaris_krb=Kerberos
nfs_choose=Âûáåðèòå NFS Êàòàëîã íà $1
smb_desc=Îïèñàíèå
index_perm=Ñòàòè÷åñêèé?
save_ealready='$1' óæå ñìîíòèðîâàí
linux_timeout=Âðåìÿ áåçäåéñòâèÿ ïåðåä ðàçìîíòèðîâàíèåì
solaris_foldcase=Ôîðñèðîâàòü íèæíèé ðåãèñòð?
edit_size=Ðàçìåð
linux_nosuid=Çàïðåòèòü setuid ïðîãðàììû?
solaris_eurl='$1' íå ÿâëÿåòñÿ äîïóñòèìûì NFS URL
solaris_highest=Íàèâûñøûé
solaris_nointr=Ðàçðåøèòü ïîëüçîâàòåëüñêîå ïðåðûâàíèå?
linux_smbserver=Èìÿ Ñåðâåðà
solaris_etarget='$1' íå ÿâëÿåòñÿ äîïóñòèìûì SCSI öåëåâûì àäðåñîì 
solaris_nosuid=Çàïðåòèòü setuid ïðîãðàììû?
solaris_ecachedir='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êýø êàòàëîãîì
solaris_des=DES
linux_edmode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðåæèìîì êàòàëîãà â âîñüìåðè÷íîì êîäå
  07070100035689000081a40000000000000002000000013d1fe2bd00002d0e000000200000000000000000000000000000001700000003reloc/mount/lang/ru_SU    index_title=äÉÓËÏ×ÙÅ É óÅÔÅ×ÙÅ æÁÊÌÏ×ÙÅ óÉÓÔÅÍÙ
index_dir=óÍÏÎÔÉÒÏ×ÁÎ ëÁË
index_type=ôÉÐ
index_dev=òÁÓÐÏÌÏÖÅÎÉÅ
index_use=éÓÐÏÌØÚÕÅÔÓÑ?
index_perm=óÔÁÔÉÞÅÓËÉÊ?
index_add=äÏÂÁ×ÉÔØ ÒÅÓÕÒÓ
index_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
index_swap=÷ÉÒÔÕÁÌØÎÁÑ ðÁÍÑÔØ
index_return=ÓÐÉÓÏË ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ òÅÓÕÒÓÁ
create_title=óÏÚÄÁÎÉÅ òÅÓÕÒÓÁ
edit_err=ïÛÉÂËÁ ÐÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÒÅÓÕÒÓÁ
edit_egone=äÁÎÎÙÊ ÒÅÓÕÒÓ ÂÏÌØÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
edit_header=ðÁÒÁÍÅÔÒÙ òÅÓÕÒÓÁ $1
edit_dir=óÍÏÎÔÉÒÏ×ÁÎ ëÁË
edit_swap=÷ÉÒÔÕÁÌØÎÁÑ ðÁÍÑÔØ
edit_size=òÁÚÍÅÒ
edit_free=ó×ÏÂÏÄÎÏ
edit_savemount=óÏÈÒÁÎÉÔØ òÅÓÕÒÓ?
edit_boot=óÏÈÒÁÎÉÔØ É ÓÍÏÎÔÉÒÏ×ÁÔØ ÐÒÉ ÚÁÇÒÕÚËÅ
edit_save=óÏÈÒÁÎÉÔØ
edit_delete=õÄÁÌÉÔØ
edit_dont=îÅ ÓÏÈÒÁÎÑÔØ
edit_now=íÏÎÔÉÒÏ×ÁÔØ ÓÅÊÞÁÓ?
edit_mount=íÏÎÔÉÒÏ×ÁÔØ
edit_dont2=îÅ ÍÏÎÔÉÒÏ×ÁÔØ
edit_unmount=òÁÚÍÏÎÔÉÒÏ×ÁÔØ
edit_order=ðÒÏ×ÅÒÉÔØ Æ.Ó. ÐÒÉ ÚÁÇÒÕÚËÅ?
edit_first=ðÒÏ×ÅÒÉÔØ ðÅÒ×ÏÊ
edit_second=ðÒÏ×ÅÒÉÔØ ÷ÔÏÒÏÊ
edit_adv=òÁÓÛÉÒÅÎÎÙÅ ðÁÒÁÍÅÔÒÙ òÅÓÕÒÓÁ
edit_list=óÐÉÓÏË ðÏÌØÚÏ×ÁÔÅÌÅÊ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÅÓÕÒÓÁ
save_edir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ
save_edirname='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ËÁÔÁÌÏÇÁ
save_ealready='$1' ÕÖÅ ÓÍÏÎÔÉÒÏ×ÁÎ
save_ealready2='$1' ÕÖÅ ÁÓÓÏÃÉÉÒÏ×ÁÎ Ó ÍÏÎÔÉÒÕÅÍÙÍ ÒÅÓÕÒÓÏÍ
save_ealready3=ëÁÔÁÌÏÇ '$1' ÕÖÅ ÓÍÏÎÔÉÒÏ×ÁÎ
save_ealready4=ëÁÔÁÌÏÇ '$1' ÕÖÅ ÐÒÉÓ×ÏÅÎ ÒÅÓÕÒÓÕ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ
save_emkdir=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÁÔÁÌÏÇÁ $1 : $2
save_eumount=ïÛÉÂËÁ ÐÒÉ ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÉ : $1
save_emount=ïÛÉÂËÁ ÐÒÉ ÍÏÎÔÉÒÏ×ÁÎÉÉ : $1
save_perm=éÚÍÅÎÅÎÉÑ ÄÌÑ ÒÅÓÕÒÓÁ ÎÁ $1 ÎÅ ÍÏÇÕÔ ÂÙÔØ ÁËÔÉ×ÉÚÉÒÏ×ÁÎÙ, ÐÏÓËÏÌØËÕ ÒÅÓÕÒÓ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÉÓÐÏÌØÚÕÅÔÓÑ. äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÓÏÈÒÁÎÉÔØ ÉÚÍÅÎÅÎÉÑ × ÔÁÂÌÉÃÅ ÓÔÁÔÉÞÅÓËÉÈ ÒÅÓÕÒÓÏ×, ÎÁÖÍÉÔÅ ÎÁ ËÎÏÐËÕ ÎÉÖÅ.
save_apply=óÏÈÒÁÎÉÔØ ÷ ôÁÂÌÉÃÅ óÔÁÔÉÞÅÓËÉÈ òÅÓÕÒÓÏ×
save_eremount=ïÛÉÂËÁ ÐÒÉ ðÅÒÅÍÏÎÔÉÒÏ×ÁÎÉÉ : $1
save_enone=îÅ ×ÙÂÒÁÎÏ - ÓÏÈÒÁÎÑÔØ ÉÌÉ ÍÏÎÔÉÒÏ×ÁÔØ

swap_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÆÁÊÌÁ ÐÏÄËÁÞËÉ Failed to create swap file
swap_esize='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ is not a valid size

nfs_server=÷ÙÂÏÒ NFS óÅÒ×ÅÒÁ..
nfs_select=÷ÙÂÅÒÉÔÅ NFS óÅÒ×ÅÒ Ó ËÏÔÏÒÏÇÏ ÍÏÖÎÏ ÍÏÎÔÉÒÏ×ÁÔØ ÒÅÓÕÒÓÙ..
nfs_ip=IP áÄÒÅÓ
nfs_host=éÍÑ èÏÓÔÁ
nfs_none=îÅ ÎÁÊÄÅÎÏ ÌÏËÁÌØÎÙÈ NFS ÓÅÒ×ÅÒÏ×
nfs_choose=÷ÙÂÅÒÉÔÅ NFS ëÁÔÁÌÏÇ ÎÁ $1
nfs_failed=ïÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ NFS ÒÅÓÕÒÓÏ× ÏÔ $1 : $2 ÷ÏÚÍÏÖÎÏ ÎÅ ÒÁÂÏÔÁÅÔ NFS ÓÅÒ×ÅÒ
nfs_seldir=÷ÙÂÅÒÉÔÅ NFS ËÁÔÁÌÏÇ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ..
nfs_dir=ëÁÔÁÌÏÇ
nfs_clients=ëÌÉÅÎÔÙ

smb_choose=÷ÙÂÏÒ SMB óÅÒ×ÅÒÁ..
smb_elist=ïÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ ÓÐÉÓËÁ ÓÅÒ×ÅÒÏ× ÏÔ $1. ÷ÏÚÍÏÖÎÏ ÓÅÒ×ÅÒ ÎÅ ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÖÉÍ ÐÒÏÓÍÏÔÒÁ
smb_ehost=óÅÒ×ÅÒ $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
smb_edown=óÅÒ×ÅÒ $1 ÏÔËÌÀÞÅÎ, ÎÅ ÄÏÓÔÕÐÅÎ ÉÌÉ ÎÅ Ñ×ÌÑÅÔÓÑ ÆÁÊÌÏ×ÙÍ ÓÅÒ×ÅÒÏÍ
smb_sel=÷ÙÂÅÒÉÔÅ ÆÁÊÌÏ×ÙÊ ÓÅÒ×ÅÒ Windows, ÄÌÑ ÍÏÎÉÒÏ×ÁÎÉÑ ÒÅÓÕÒÓÏ×..
smb_name=éÍÑ óÅÒ×ÅÒÁ
smb_desc=ïÐÉÓÁÎÉÅ
smb_none=îÅ ÎÁÊÄÅÎÏ ÌÏËÁÌØÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÅÒ×ÅÒÏ× Windows
smb_choose2=÷ÙÂÅÒÉÔÅ òÅÓÕÒÓ ÎÁ $1
smb_elist2=ïÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ ÓÐÉÓËÁ ÒÅÓÕÒÓÏ× Ó $1. ÷ÏÚÍÏÖÎÏ ÓÅÒ×ÅÒ ÎÅ ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÖÉÍ ÐÒÏÓÍÏÔÒÁ
smb_sel2=÷ÙÂÅÒÉÔÅ ÒÅÓÕÒÓ ÄÌÑ ÍÏÎÔÉÒÏ×ÁÎÉÑ..
smb_share=òÅÓÕÒÓ
smb_comment=ëÏÍÍÅÎÔÁÒÉÊ
smb_noshares=îÅÔ ÄÏÓÔÕÐÎÙÈ ÆÁÊÌÏ×ÙÈ ÒÅÓÕÒÓÏ× ÎÁ ÓÅÒ×ÅÒÅ $1

solaris_scsidev=SCSI ËÏÎÔÒÏÌÌÅÒ $1 ÁÄÒÅÓ $2 ÍÏÄÕÌØ $3 ÒÁÚÄÅÌ $4
solaris_mddev=RAID ÕÓÔÒÏÊÓÔ×Ï $1
solaris_ecacheexists=ëÁÔÁÌÏÇ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ. õÄÁÌÉÔÅ ÅÇÏ.
solaris_ebusy=$1 ÚÁÎÑÔ 
solaris_ekill=îÅ ÍÏÇÕ ÐÒÉÂÉÔØ rumba
solaris_epid=îÅ ÍÏÇÕ ÎÁÊÔÉ rumba pid
solaris_nsource=NFS éÓÔÏÞÎÉË
solaris_nhost=NFS éÍÑ èÏÓÔÁ
solaris_ndir=NFS ëÁÔÁÌÏÇ
solaris_nmult=íÎÏÖÅÓÔ×ÅÎÎÙÅ NFS óÅÒ×ÅÒÙ
solaris_webnfs=WebNFS URL
solaris_ufs=UFS äÉÓË
solaris_scsi=SCSI äÉÓË
solaris_ctrlr=ëÏÎÔÒÏÌÌÅÒ
solaris_target=áÄÒÅÓ
solaris_unit=íÏÄÕÌØ
solaris_part=òÁÚÄÅÌ
solaris_raid=RAID õÓÔÒÏÊÓÔ×Ï
solaris_otherdev=äÒÕÇÏÅ õÓÔÒÏÊÓÔ×Ï
solaris_swapfile=æÁÊÌ ðÏÄËÁÞËÉ
solaris_file=æÁÊÌ
solaris_cdrom=CDROM
solaris_msdos=äÉÓË MS-DOS
solaris_orig=ïÒÉÇÉÎÁÌØÎÙÊ ëÁÔÁÌÏÇ
solaris_cache=éÓÔÏÞÎÉË ëÜÛÉÒÏ×ÁÎÉÑ
solaris_automap=ëÁÒÔÁ Á×ÔÏÍÏÎÔÉÒÏ×ÝÉËÁ
solaris_autohosts=÷ÓÅ NFS ÒÅÓÕÒÓÙ
solaris_autoxfn=æÅÄÅÒÁÔÉ×ÎÙÊ óÅÒ×ÉÓ éÍÅÎ(FNS)
solaris_server=éÍÑ óÅÒ×ÅÒÁ
solaris_share=éÍÑ òÅÓÕÒÓÁ
solaris_ro=ôÏÌØËÏ ÄÌÑ þÔÅÎÉÑ?
solaris_nosuid=úÁÐÒÅÔÉÔØ setuid ÐÒÏÇÒÁÍÍÙ?
solaris_grpid=æÁÊÌÙ ÎÁÓÌÅÄÕÀÔ ÒÏÄÉÔÅÌØÓËÉÊ GID?
solaris_soft=÷ÏÚ×ÒÁÔÉÔØ ÏÛÉÂËÕ ÐÏ ÔÁÊÍÁÕÔÕ?
solaris_bg=ðÏ×ÔÏÒÎÙÅ ÍÏÎÔÉÒÏ×ÁÎÉÑ × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ?
solaris_quota=ðÏËÁÚÙ×ÁÔØ Ë×ÏÔÙ?
solaris_nointr=òÁÚÒÅÛÉÔØ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÅ ÐÒÅÒÙ×ÁÎÉÅ?
solaris_nfsver=÷ÅÒÓÉÑ NFS
solaris_highest=îÁÉ×ÙÓÛÙÊ
solaris_proto=ðÒÏÔÏËÏÌ
solaris_port=ðÏÒÔ NFS
solaris_timeo=ôÁÊÍÁÕÔ
solaris_retrans=ëÏÌÉÞÅÓÔ×Ï ðÏ×ÔÏÒÎÙÈ ðÅÒÅÄÁÞ
solaris_auth=áÕÔÅÎÔÉÆÉËÁÃÉÑ
solaris_none=îÅÔ
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS ÒÅÓÕÒÓ?
solaris_quotab=òÁÚÒÅÛÉÔØ Ë×ÏÔÙ ÐÒÉ ÚÁÇÒÕÚËÅ?
solaris_onerror=òÅÁËÃÉÑ ÎÁ ÏÛÉÂËÕ
solaris_toosoon=úÁÄÅÒÖËÁ ÷ÏÓÓÔÁÎÏ×ÌÅÎÉÑ
solaris_time_s=óÅËÕÎÄ
solaris_time_m=íÉÎÕÔ
solaris_time_h=þÁÓÏ×
solaris_time_d=äÎÅÊ
solaris_time_w=îÅÄÅÌØ
solaris_time_y=ìÅÔ
solaris_noatime=ïÂÎÏ×ÉÔØ ×ÒÅÍÑ ÄÏÓÔÕÐÁ?
solaris_force=æÏÒÓÉÒÏ×ÁÔØ ÐÒÑÍÏÊ IO?
solaris_nolarge=òÁÚÒÅÛÉÔØ ÂÏÌØÛÉÅ ÆÁÊÌÙ?
solaris_logging=÷ËÌÀÞÉÔØ ÖÕÒÎÁÌÉÚÁÃÉÀ?
solaris_nrr=éÇÎÏÒÉÒÏ×ÁÔØ ÁÔÒÉÂÕÔÙ Unix?
solaris_notraildot=éÇÎÏÒÉÒÏ×ÁÔØ ÚÁ×ÅÒÛÁÀÝÕÀ ÔÏÞËÕ?
solaris_nomaplcase=éÓÐÏÌØÚÏ×ÁÔØ ÎÉÖÎÉÊ ÒÅÇÉÓÔÒ?
solaris_foldcase=æÏÒÓÉÒÏ×ÁÔØ ÎÉÖÎÉÊ ÒÅÇÉÓÔÒ?
solaris_noopts=ðÁÒÁÍÅÔÒÙ ÎÅÄÏÓÔÕÐÎÙ
solaris_size=òÁÚÍÅÒ
solaris_max=íÁËÓÉÍÁÌØÎÏ
solaris_backfs=òÅÁÌØÎÙÊ ÔÉÐ Æ.Ó.
solaris_backpath=òÅÁÌØÎÁÑ ÔÏÞËÁ ÍÏÎÔÉÒÏ×ÁÎÉÑ
solaris_cachedir=ëÜÛ ËÁÔÁÌÏÇ
solaris_wmode=òÅÖÉÍ ÚÁÐÉÓÉ
solaris_con=ðÒÏ×ÅÒËÁ ÃÅÌÏÓÔÎÏÓÔÉ
solaris_period=ðÅÒÉÏÄÉÞÅÓËÉ
solaris_never=îÉËÏÇÄÁ
solaris_demand=ðÏ ÚÁÐÒÏÓÕ
solaris_waround=Write-around
solaris_nshared=Non-shared
solaris_local=ðÒÏ×ÅÒÑÔØ ÐÒÁ×Á × ËÜÛÅ?
solaris_nobrowse=÷ËÌÀÞÅÎ ÒÅÖÉÍ ÐÒÏÓÍÏÔÒÁ?
solaris_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
solaris_mname=éÍÑ èÏÓÔÁ óÅÒ×ÅÒÁ
solaris_cname=éÍÑ ëÌÉÅÎÔÁ
solaris_username=òÅÇÉÓÔÒÁÃÉÏÎÎÏÅ éÍÑ
solaris_password=òÅÇÉÓÔÒÁÃÉÏÎÎÙÊ ðÁÒÏÌØ
solaris_uid=æÁÊÌÁÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑ ×ÌÁÄÅÅÔ
solaris_gid=æÁÊÌÁÍÉ ÇÒÕÐÐÙ ×ÌÁÄÅÅÔ
solaris_fmode=ðÒÁ×Á ÆÁÊÌÁ
solaris_dmode=ðÒÁ×Á ËÁÔÁÌÏÇÁ
solaris_readwrite=äÏÓÔÕÐ ÐÏ þÔÅÎÉÀ/úÁÐÉÓÉ ÂÅÚÏÐÁÓÅÎ?
solaris_readonly=æÁÊÌÙ ÍÏÇÕÔ ÂÙÔØ ÔÏÌËÏ ÄÌÑ ÞÔÅÎÉÑ?
solaris_noupper=ïÔÓÙÌÁÔØ ÐÁÒÏÌØ × ×ÅÒÈÎÅÍ ÒÅÇÉÓÔÒÅ?
solaris_attr=éÓÐÏÌØÚÏ×ÁÔØ attrE ËÏÍÁÎÄÙ?
solaris_eurl='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ NFS URL
solaris_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
solaris_ehost2=èÏÓÔ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
solaris_edown=èÏÓÔ '$1' ÏÔËÌÀÞÅÎ, ÉÌÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ NFS
solaris_enfs=èÏÓÔ '$1' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ NFS
solaris_enfsdir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ËÁÔÁÌÏÇÁ. äÏÓÔÕÐÎÙÍÉ ËÁÔÁÌÏÇÁÍÉ ÎÁ $2 Ñ×ÌÑÀÔÓÑ: $3
solaris_enfsperm=äÁÎÎÏÍÕ ÈÏÓÔÕ ÚÁÐÒÅÛÅÎÏ ÍÏÎÔÉÒÏ×ÁÔØ ËÁÔÁÌÏÇ $1 ÎÁ $2
solaris_enfsmount=ïÛÉÂËÁ NFS - $1
solaris_ectrlr='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ SCSI ËÏÎÔÒÏÌÌÅÒÏÍ 
solaris_etarget='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ SCSI ÃÅÌÅ×ÙÍ ÁÄÒÅÓÏÍ 
solaris_eunit='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ SCSI ÍÏÄÕÌÑ 
solaris_epart='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ SCSI ÒÁÚÄÅÌÁ 
solaris_eraid='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ RAID ÍÏÄÕÌÑ 
solaris_epath='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÕÔÅ×ÙÍ ÉÍÅÎÅÍ 
solaris_eexist='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_edir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ 
solaris_eswapfile=æÁÊÌ ÐÏÄËÁÞËÉ '$1'ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_eopen=ïÛÉÂËÁ ÐÒÉ ÏÔËÒÙÔÉÉ $1 : $2
solaris_ebackfs=æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ '$1' ÎÅ ÓÍÏÎÔÉÒÏ×ÁÎÁ
solaris_ebacktype=æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ '$1' ÎÅ Ñ×ÌÑÅÔÓÑ $2
solaris_ecsrc='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÓÔÏÞÎÉËÏÍ ËÜÛÁ
solaris_eautomap=îÅ ××ÅÄÅÎÏ ÉÍÑ ËÁÒÔÙ Á×ÔÏÍÏÎÔÉÒÏ×ÁÎÉÑ
solaris_eautofile=æÁÊÌ ËÁÒÔÙ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_etarget2=ãÅÌÅ×ÏÊ SCSI ÁÄÒÅÓ ÄÌÑ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_epart2=SCSI ÒÁÚÄÅÌ ÄÌÑ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_eraid2=RAID ÕÓÔÒÏÊÓÔ×Ï ÄÌÑ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_enopart=îÅÔ ÒÁÚÄÅÌÏ× ÎÁ '$1'
solaris_edevfile=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_edevice=õÓÔÒÏÊÓÔ×Ï '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
solaris_efstyp=õÓÔÒÏÊÓÔ×Ï '$1' ÏÔÆÏÒÍÁÔÉÒÏ×ÁÎÎÏ ËÁË $2
solaris_efstyp2=ïÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÔÉÐÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ : $1
solaris_ecachedir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÜÛ ËÁÔÁÌÏÇÏÍ
solaris_efmode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏ×ÙÍ ÒÅÖÉÍÏÍ × ×ÏÓØÍÅÒÉÞÎÏÍ ËÏÄÅ
solaris_edmode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÅÖÉÍÏÍ ËÁÔÁÌÏÇÁ × ×ÏÓØÍÅÒÉÞÎÏÍ ËÏÄÅ 

linux_eamd=ïÛÉÂËÁ AMD
linux_eauto=ïÛÉÂËÁ Á×ÔÏÍÏÎÔÉÒÏ×ÁÎÉÑ : $1
linux_esmbconn=ïÛÉÂËÁ ÓÏÅÄÉÎÅÎÉÑ Ó ÓÅÒ×ÅÒÏÍ
linux_ekillamd=îÅ ÍÏÇÕ ÐÒÉÂÉÔØ AMD
linux_ekillauto=îÅ ÍÏÇÕ ÐÒÉÂÉÔØ automount
linux_nfshost=éÍÑ èÏÓÔÁ NFS
linux_nfsdir=ëÁÔÁÌÏÇ NFS
linux_map=ëÁÒÔÁ á×ÔÏÍÏÎÔÉÒÏ×ÝÉËÁ
linux_swapfile=æÁÊÌ ðÏÄËÁÞËÉ
linux_disk=äÉÓË
linux_smbserver=éÍÑ óÅÒ×ÅÒÁ
linux_smbshare=éÍÑ òÅÓÕÒÓÁ
linux_raid=RAID ÕÓÔÒÏÊÓÔ×Ï
linux_rdev=RAID ÕÓÔÒÏÊÓÔ×Ï $1
linux_other=äÒÕÇÏÅ ÕÓÔÒÏÊÓÔ×Ï
linux_ro=ôÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ?
linux_sync=âÕÆÅÒÉÚÉÒÏ×ÁÎÎÁÑ ÚÁÐÉÓØ × Æ.Ó.?
linux_nodev=òÁÚÒÅÛÉÔØ ÆÁÊÌÙ ÕÓÔÒÏÊÓÔ×?
linux_noexec=òÁÚÒÅÛÉÔØ ×ÙÐÏÌÎÅÎÉÅ ÂÉÎÁÒÎÙÈ ÆÁÊÌÏ×?
linux_nosuid=úÁÐÒÅÔÉÔØ setuid ÐÒÏÇÒÁÍÍÙ?
linux_user=òÁÚÒÅÛÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÍÏÎÔÉÒÏ×ÁÔØ ÜÔÕ Æ.Ó.?
linux_check=òÅÖÉÍ ÐÒÏ×ÅÒËÉ
linux_normal=îÏÒÍÁÌØÎÙÊ
linux_strict=óÔÒÏÇÉÊ
linux_none=îÅÔ
linux_errors=òÅÁËÃÉÑ ÎÁ ÏÛÉÂËÕ
linux_continue=ðÒÏÄÏÌÖÉÔØ
linux_remount_ro=ðÅÒÅÍÏÎÔÉÒÏ×ÁÔØ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ
linux_panic=ðÁÎÉËÁ
linux_grpid=æÁÊÌÙ ÎÁÓÌÅÄÕÀÔ ÒÏÄÉÔÅÌØÓËÉÊ GID?
linux_quotas=éÓÐÏÌØÚÏ×ÁÔØ ë×ÏÔÙ?
linux_usrquota=ôÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
linux_grpquota=ôÏÌËÏ ÇÒÕÐÐÙ
linux_usrgrpquota=ðÏÌØÚÏ×ÁÔÅÌÑ É çÒÕÐÐÙ
linux_usrgrpquota2=ðÏÌØÚÏ×ÁÔÅÌÑ É çÒÕÐÐÙ (îåóôáâéìøîï!)
linux_resuid=òÅÚÅÒ×ÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ
linux_resgid=òÅÚÅÒ×ÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÄÌÑ ÇÒÕÐÐÙ
linux_bg=ðÏ×ÔÏÒÎÙÅ ÍÏÎÔÉÒÏ×ÁÎÉÑ × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ?
linux_soft=÷ÏÚ×ÒÁÝÁÔØ ÏÛÉÂËÕ ÐÏ ÔÁÊÍÁÕÔÁÍ?
linux_timeo=ôÁÊÍÁÕÔ
linux_retrans=ëÏÌ-×Ï ÐÏ×ÔÏÒÎÙÈ ÐÅÒÅÓÙÌÏË
linux_vers=÷ÅÒÓÉÑ NFS
linux_high=÷ÙÓÛÁÑ
linux_port=ðÏÒÔ NFS
linux_intr=òÁÚÒÅÛÉÔØ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÅ ÐÒÅÒÙ×ÁÎÉÅ?
linux_tcp=ðÒÏÔÏËÏÌ RPC
linux_uid=÷ÌÁÄÅÌÅÃ ÆÁÊÌÏ× ÐÏÌØÚÏ×ÁÔÅÌÑ
linux_gid=÷ÌÁÄÅÌÅÃ ÆÁÊÌÏ× ÇÒÕÐÐÙ
linux_rules=ðÒÁ×ÉÌÁ ÉÍÅÎÏ×ÁÎÉÑ ÆÁÊÌÏ×
linux_relaxed=÷ÏÌØÎÙÅ
linux_conv=DOS-Unix ÔÒÁÎÓÌÑÃÉÑ ÐÅÒÅ×ÏÄÏ× ÓÔÒÏË
linux_allfiles=÷ÓÅÈ ÆÁÊÌÏ×
linux_textfiles=ôÏÌØËÏ ÔÅËÓÔÏ×ÙÈ ÆÁÊÌÏ×
linux_umask=íÁÓËÁ ÐÒÁ× ÆÁÊÌÏ×
linux_quiet=óÏÏÂÝÁÔØ ÏÂ ÏÛÉÂËÁÈ ÐÒÉ ÐÒÉ ÐÏÐÙÔËÁÈ ÓÄÅÌÁÔØ <tt>chown</tt>?
linux_uni_xlate=ôÒÁÎÓÌÉÒÏ×ÁÔØ ÓÉÍ×ÏÌÙ Unicode?
linux_posix=äÏÐÕÓËÁÔØ ÉÍÅÎÁ ÒÁÚÌÉÞÁÀÝÉÅÓÑ ÔÏÌØËÏ ÒÅÇÉÓÔÒÏÍ?
linux_conv2=OS/2-Unix ÔÒÁÎÓÌÑÃÉÑ ÐÅÒÅ×ÏÄÏ× ÓÔÒÏË 
linux_rock=éÇÎÏÒÉÒÏ×ÁÔØ Unix áÔÔÒÉÂÕÔÙ?
linux_mode=ðÒÁ×Á ÆÁÊÌÏ× ÄÌÑ ÎÅ-Unix CD
linux_noopts=ðÁÒÁÍÅÔÒÙ ÎÅÄÏÓÔÕÐÎÙ
linux_timeout=÷ÒÅÍÑ ÂÅÚÄÅÊÓÔ×ÉÑ ÐÅÒÅÄ ÒÁÚÍÏÎÔÉÒÏ×ÁÎÉÅÍ
linux_pid_file=úÁÐÉÓÙ×ÁÔØ PID × ÆÁÊÌ
linux_secs=ÓÅËÕÎÄ
linux_smbwarn=÷ÎÉÍÁÎÉÅ! æÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ ÓÍÏÎÔÉÒÏ×ÁÌ îå Webmin, ÔÁËÉÍ ÏÂÒÁÚÏÍ ÔÅËÕÛÉÅ ÐÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÁ ÎÅÄÏÓÔÕÐÎÙ
linux_username=òÅÇÉÓÔÒÁÃÉÏÎÎÏÅ éÍÑ
linux_password=òÅÇÉÓÔÒÁÃÉÏÎÎÙÊ ðÁÒÏÌØ
linux_sname=éÍÑ óÅÒ×ÅÒÁ
linux_wg=òÁÂÏÞÁÑ çÒÕÐÐÁ
linux_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
linux_cname=éÍÑ ëÌÉÅÎÔÁ
linux_mname=áÄÒÅÓ óÅÒ×ÅÒÁ
linux_fmode=ðÒÁ×Á ÎÁ ÆÁÊÌÙ
linux_dmode=ðÒÁ×Á ÎÁ ËÁÔÁÌÏÇÉ
linux_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
linux_ehost2=èÏÓÔ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
linux_edown=èÏÓÔ '$1' ÏÔËÌÀÞÅÎ 
linux_enfs=èÏÓÔ '$1' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ NFS
linux_elist=ïÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÓÐÉÓËÁ ÒÅÓÕÒÓÏ× : $1
linux_enfsdir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ËÁÔÁÌÏÇÁ. äÏÓÔÕÐÎÙÍÉ ËÁÔÁÌÏÇÁÍÉ ÎÁ $2 Ñ×ÌÑÀÔÓÑ: $3
linux_enfsperm=äÁÎÎÙÊ ÈÏÓÔ ÎÅ ÐÏÚ×ÏÌÑÅÔ ÍÏÎÔÉÒÏ×ÁÔØ ËÁÔÁÌÏÇ $1 ÎÁ $2
linux_enfsmount=ïÛÉÂËÁ NFS - $1
linux_eautomap=æÁÊÌ ËÁÒÔÙ Á×ÔÏÍÏÎÔÉÒÏ×ÁÎÉÑ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ 
linux_edev=îÅ ××ÅÄÅÎÏ ÕÓÔÒÏÊÓÔ×Ï
linux_edevfile=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
linux_emask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ×ÏÓØÍÅÒÉÞÎÏÊ ÍÁÓËÏÊ
linux_etimeout='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÁÊÍÁÕÔÏÍ
linux_epidfile='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ pid ÆÁÊÌÏÍ
linux_efmode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÅÖÉÍÏÍ ÆÁÊÌÁ × ×ÏÓØÍÅÒÉÞÎÏÍ ËÏÄÅ
linux_edmode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÅÖÉÍÏÍ ËÁÔÁÌÏÇÁ × ×ÏÓØÍÅÒÉÞÎÏÍ ËÏÄÅ

  0707010003568a000081a40000000000000002000000013d1fe2bd00002da1000000200000000000000000000000000000001400000003reloc/mount/lang/sv   index_title=Filsystem för diskar och nätverk
index_dir=Monteringspunkt
index_type=Typ
index_dev=Monterad från
index_use=Används?
index_perm=Permanent?
index_add=Lägg till filsystem
index_auto=Okänd typ
index_swap=Virtuellt minne
index_return=lista över filsystem

edit_title=Ändra filsystem
create_title=Lägg till filsystem
edit_err=Det gick inte att ändra filsystem
edit_egone=Detta filsystem finns inte längre
edit_header=Uppgifter om filsystem $1
edit_dir=Monterad som
edit_swap=Virtuellt minne
edit_size=Storlek
edit_free=Ledigt
edit_savemount=Spara filsystem?
edit_boot=Spara och montera vid start
edit_save=Spara
edit_delete=Ta bort
edit_dont=Spara inte
edit_now=Montera nu?
edit_mount=Montera
edit_dont2=Montera inte
edit_unmount=Montera av
edit_order=Kontrollera filsystem vid start?
edit_first=Kontrollera i första omgången
edit_second=Kontrollera i andra omgången
edit_adv=Ytterligare monteringsinställningar
edit_list=Visa användare
edit_create=Spara och montera
edit_save_apply=Spara och ta i drift
edit_umount=Montera av
edit_perm=Gör permanent
edit_del_umount=Montera av och ta bort

save_err=Det gick inte att spara filsystemet
save_edir='$1' är inte en katalog
save_edirname='$1' är inte ett giltigt katalognamn
save_ealready='$1' har redan monterats
save_ealready2='$1' är redan vald för att monteras
save_ealready3=Katalogen '$1' har redan monterats
save_ealready4=Katalogen '$1' är redan vald för att monteras
save_emkdir=Det gick inte att skapa katalog $1: $2
save_eumount=Det gick inte att montera av: $1
save_emount=Det gick inte att montera: $1
save_perm=Ändringarna för montering på $1 kunde inte genomföras, eftersom filsystemet används. Om du endast vill spara ändringarna för framtida bruk kan du trycka på knappen nedan.
save_apply=Spara för framtida bruk
save_eremount=Det gick inte att montera igen: $1
save_enone=Du har inte angivit om det ska sparas eller monteras

swap_err=Det gick inte att skapa en swap-fil
swap_esize='$1' är inte en giltig storlek

nfs_server=Ange NFS-server ...
nfs_select=Ange en NFS-server att montera från ...
nfs_ip=IP-adress
nfs_host=Servernamn
nfs_none=Det finns ingen lokal NFS-server
nfs_choose=Ange NFS-katalog på $1
nfs_failed=Det gick inte att hämta NFS-exporteringen från $1: $2 NFS-servern kanske inte är igång
nfs_seldir=Ange en NFS-katalog att montera ...
nfs_dir=Katalog
nfs_clients=Klienter

smb_choose=Ange SMB-server ...
smb_elist=Det gick inte att hämta någon serverlista från $1. Servern kanske inte tillåter sökning
smb_ehost=Server $1 finns inte
smb_edown=Server $1 är nere, går inte att nå eller är inte en server
smb_sel=Ange en Windows-nätverksserver att montera från ...
smb_name=Servernamn
smb_desc=Beskrivning
smb_none=Det finns ingen lokal Windows-nätverksserver
smb_choose2=Ange delad resurs på $1
smb_elist2=Det gick inte att hämta volymlistan från $1. Servern kanske inte tillåter sökning
smb_sel2=Ange den delade resurs som du vill montera ...
smb_share=Resurs
smb_comment=Kommentar
smb_noshares=Det finns ingen delad resurs på server $1

solaris_scsidev=SCSI-controller $1 mål $2 enhet $3 partition $4
solaris_mddev=RAID-disk $1
solaris_ecacheexists=Katalogen $1 finns redan. Ta bort den.
solaris_ebusy=$1 används
solaris_ekill=Det gick inte att slå ihjäl rumba
solaris_epid=Det gick inte att hitta något rumba-PID
solaris_nsource=NFS-källa
solaris_nhost=NFS-servernamn
solaris_ndir=NFS-katalog
solaris_nmult=Flera NFS-servrar
solaris_webnfs=URL för WebNFS
solaris_ufs=UFS-disk
solaris_scsi=SCSI/IDE-disk
solaris_ctrlr=Controller
solaris_target=Target
solaris_unit=Enhet
solaris_part=Partition
solaris_raid=RAID-disk
solaris_otherdev=Annan enhet
solaris_swapfile=Swap-fil
solaris_file=Fil
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=MS-DOS-disk
solaris_orig=Ursprungskatalog
solaris_cache=Cache-källa
solaris_automap=Översikt över automontering
solaris_autohosts=Alla NFS-servrar
solaris_autoxfn=Gemensam namntjänst
solaris_server=Servernamn
solaris_share=Namn på delad resurs
solaris_ro=Endast läsbart?
solaris_nosuid=Förbjud setuid-program?
solaris_grpid=Ska filer ärva GID?
solaris_soft=Indikera fel vid timeout?
solaris_bg=Försöka montera igen i bakgrunden?
solaris_quota=Visa quota?
solaris_nointr=Får användare avbryta?
solaris_nfsver=NFS-version
solaris_highest=Högsta
solaris_proto=Protokoll
solaris_port=NFS-port
solaris_timeo=Timeout
solaris_retrans=Antal återutsändningar
solaris_auth=Autentisering
solaris_none=Ingen
solaris_des=DES
solaris_krb=Kerberos
solaris_public=Montering med WebNFS?
solaris_quotab=Aktivera quota vid start?
solaris_onerror=Åtgärd vid fel
solaris_toosoon=Fördröjning vid reparation
solaris_time_s=Sekunder
solaris_time_m=Minuter
solaris_time_h=Timmar
solaris_time_d=Dagar
solaris_time_w=Veckor
solaris_time_y=År
solaris_noatime=Ändra åtkomsttider?
solaris_immed=Genast
solaris_defer=Vänta
solaris_force=Tvinga att använda direkt IO?
solaris_nolarge=Tillåta stora filer?
solaris_logging=Aktivera loggning?
solaris_nrr=Strunta i Unix-attribut?
solaris_notraildot=Strunta i avslutande punkt?
solaris_nomaplcase=Använda gemener?
solaris_foldcase=Använda endast gemener?
solaris_noopts=Inga inställningar tillgängliga
solaris_size=Storlek
solaris_largebsize=Använda stor stolek på sidblocken?
solaris_max=Maximum
solaris_backfs=Verkligt filsystem
solaris_backpath=Verklig monteringspunkt
solaris_cachedir=Cache-katalog
solaris_wmode=Skrivmod
solaris_con=Konsekvenskontroll
solaris_period=Periodisk
solaris_never=Aldrig
solaris_demand=På begäran
solaris_waround=Write-around
solaris_nshared=Ej delad
solaris_local=Kontrollera rättigheter i cachen?
solaris_nobrowse=Tillåta sökning?
solaris_auto=Automatiskt
solaris_mname=Servernamn
solaris_cname=Klientnamn
solaris_username=Login-namn
solaris_password=Login-lösenord
solaris_uid=Användarfiler ägs av
solaris_gid=Gruppfiler ägs av
solaris_fmode=Filrättigheter
solaris_dmode=Katalogrättigheter
solaris_readwrite=Är läs-/skrivåtkomst säker?
solaris_readonly=Får filer vara endast läsbara?
solaris_noupper=Skicka lösenordet i versaler?
solaris_attr=Använda attrE-kommandon?
solaris_eurl='$1' är inte en giltig NFS-URL
solaris_ehost='$1' är inte ett giltigt servernamn
solaris_ehost2=Server '$1' finns inte
solaris_edown=Server '$1' är nere eller stödjer inte NFS
solaris_enfs=Server '$1' stödjer inte NFS
solaris_enfsdir='$1' är inte ett giltigt katalognamn. De kataloger som finns tillgängliga på $2 är: $3
solaris_enfsperm=Denna server får inte montera katalogen $1 på $2
solaris_enfsmount=NFS-fel - $1
solaris_ectrlr='$1' är inte en giltig SCSI-controller
solaris_etarget='$1' är inte ett giltigt SCSI-målnummer
solaris_eunit='$1' är inte ett giltigt SCSI-enhetsnummer
solaris_epart='$1' är inte ett giltigt SCSI-partitionsnummer
solaris_eraid='$1' är inte ett giltigt RAID-enhetsnummer
solaris_epath='$1' är inte ett giltigt sökvägsnamn
solaris_eexist='$1' finns inte
solaris_edir='$1' är ingen katalog
solaris_eswapfile=Swap-filen '$1' finns inte
solaris_eopen=Det gick inte att öppna $1: $2
solaris_ebackfs='$1'-filsystemet är inte monterat
solaris_ebacktype=Filsystem '$1' är inte $2
solaris_ecsrc='$1' är inte en giltig cache-källa
solaris_eautomap=Det saknas ett namn på automonteringsöversikten
solaris_eautofile=Översiktsfilen '$1' finns inte
solaris_etarget2=SCSI-målet för '$1' finns inte
solaris_epart2=SCSI-partitionen för '$1' finns inte
solaris_eraid2=RAID-disken för '$1' finns inte
solaris_enopart=Det finns inga partitioner på '$1'
solaris_edevfile=Diskfilen '$1' finns inte
solaris_edevice=Disken för '$1' finns inte
solaris_efstyp=Disken '$1' är formaterad som $2
solaris_efstyp2=Det gick inte att kontrollera filsystemstyp: $1
solaris_ecachedir='$1' är inte en giltig cache-katalog
solaris_efmode='$1' är inte en giltig oktal filmod
solaris_edmode='$1' är inte en giltig oktal katalogmod

linux_eamd=AMD gick inte
linux_eauto=Det gick inte att automontera: $1
linux_esmbconn=Det gick inte att koppla upp mot server
linux_ekillamd=Det gick inte att slå ihjäl AMD
linux_ekillauto=Det gick inte att slå ihjäl automonteringen
linux_nfshost=NFS-server
linux_nfsdir=NFS-katalog
linux_map=Översikt över automontering
linux_swapfile=Swap-fil
linux_disk=Disk
linux_smbserver=Servernamn
linux_smbshare=Namn på delad volym
linux_raid=RAID-disk
linux_rdev=RAID-disk $1
linux_cddev=CD-ROM-läsare
linux_label=Partition vid namn $1
linux_lsel=Partition vid namn
linux_other=Annan disk
linux_ro=Endast läsbart?
linux_sync=Buffra skrivningar till filsystemet?
linux_nodev=Tillåta diskfiler?
linux_noexec=Tillåta exekvering av binärfiler?
linux_nosuid=Förbjuda setuid-program?
linux_notail=Minska utrymmet till förmån för hastigheten?
linux_user=Tillåta användare att montera detta filsystem?
linux_check=Kontrollmod
linux_normal=Normal
linux_strict=Hård
linux_none=Ingen
linux_errors=Åtgärd vid fel
linux_continue=Fortsätt
linux_remount_ro=Montera igen endast för läsning
linux_panic=Panik
linux_grpid=Ska filer ärva GID?
linux_quotas=Använda quota?
linux_usrquota=Endast användare
linux_grpquota=Endast grupp
linux_usrgrpquota=Användare och grupp
linux_usrgrpquota2=Användare och grupp (INSTABIL!)
linux_resuid=Reserverad plats för användare
linux_resgid=Reserverad plats för grupp
linux_bg=Försöka att montera igen i bakgrunden?
linux_soft=Indikera fel vid timeout?
linux_timeo=Timeout
linux_retrans=Antal återutsändningar
linux_vers=NFS-version
linux_high=Högsta
linux_port=NFS-port
linux_intr=Tillåta användare att avbryta?
linux_tcp=RPC-protokoll
linux_uid=Användarfiler ägs av
linux_gid=Gruppfiler ägs av
linux_rules=Regler för filnamn
linux_relaxed=Oreglerat
linux_conv=DOS-Unix-omskrivning vid ny rad
linux_allfiles=Alla filer
linux_textfiles=Endast textfiler
linux_umask=Mask för filrättigheter
linux_quiet=Indikera fel vid <tt>chown</tt>-försök?
linux_uni_xlate=Översätta Unicode-tecken?
linux_posix=Tillåta namn som endast skiljer med stor/liten bokstav?
linux_conv2=OS/2-Unix-omskrivning vid ny rad
linux_rock=Strunta i Unix-attribut?
linux_mode=Filrättigheter för CD som inte är Unix
linux_noopts=Inga inställningar tillgängliga
linux_timeout=Väntetid innan avmontering
linux_pid_file=Skriv PID till fil
linux_secs=sekunder
linux_smbwarn=Varning! Filsystemet monterades inte från Webmin, vilket medför att inställningarna inte finns tillgängliga
linux_username=Användarnamn
linux_password=Lösenord
linux_sname=Servernamn
linux_wg=Grupp
linux_auto=Automatisk
linux_cname=Klientnamn
linux_mname=Serveradress
linux_fmode=Filrättigheter
linux_dmode=Katalogrättigheter
linux_ehost='$1' är inte ett giltigt servernamn
linux_ehost2=Servern '$1' finns inte
linux_edown=Servern '$1' är nere
linux_enfs=Servern '$1' stödjer inte NFS
linux_elist=Det gick inte att hämta monteringslistan: $1
linux_enfsdir='$1' är inte ett giltigt katalognamn. De kataloger som finns tillgängliga på $2 är: $3
linux_enfsperm=Denna server får inte montera katalogen $1 på $2
linux_enfsmount=NFS-fel - $1
linux_eautomap=Översiktsfilen '$1' för automontering finns inte
linux_edev=Du har inte angivit någon disk
linux_edevfile=Diskfilen '$1' finns inte
linux_emask='$1' är inte en giltig oktal mask
linux_etimeout='$1' är inte en giltig timeout-tid
linux_epidfile='$1' är inte en giltig PID-fil
linux_efmode='$1' är inte en giltig oktal filmod
linux_edmode='$1' är inte en giltig oktal katalogmod

log_mount=Monterade $3
log_mount_l=Monterade $2 $1 på $3
log_umount=Monterade av $3
log_umount_l=Monterade av $2 $1 på $3
log_remount=Monterade om $3
log_remount_l=Monterade om $2 $1 på $3
log_create=Skapade montering $3
log_create_l=Skapade $2 montering $1 på $3
log_modify=Modifierade montering $3
log_modify_l=Modifierade $2 montering $1 på $3
log_delete=Tog bort montering $3
log_delete_l=Tog bort $2 montering $1 på $3
   0707010003568b000081a40000000000000002000000013d1fe2bd00002dd2000000200000000000000000000000000000001400000003reloc/mount/lang/tr   index_title=Disk ve Að Dosya Sistemleri
index_dir=Baðlandý
index_type=Tip
index_dev=Yer
index_use=Kullanýmda ?
index_perm=Kalýcý?
index_add=Baðlantý ekle
index_auto=Otomatik
index_swap=Sanal bellek
index_return=dosya sistemi listesi

edit_title=Baðlantý deðiþtir
create_title=Baðlantý oluþtur
edit_err=Baðlantý'yý deðiþtirmede hata oluþtu
edit_egone=Bu baðlantý uzun süredir mevcut
edit_header=$1 Baðlantý Ayrýntýlarý
edit_dir=Baðla
edit_swap=Sanal Bellek
edit_size=Boyut
edit_free=Boþ
edit_savemount=Baðlantý Kaydedilsin?
edit_boot=Açýlýþta baðla ve kaydet
edit_save=Kaydet
edit_delete=Sil
edit_dont=Kaydetme
edit_now=Þimdi baðlansýn?
edit_mount=Baðlantý
edit_dont2=Baðlama
edit_unmount=Baðlantý kaldýr
edit_order=Açýlýþta dosya sistemi kontrol edilsin?
edit_first=Ýlk Olarak Kontrol Et
edit_second=Ýkinci Olarak Kaydet
edit_adv=Geliþmiþ Baðlantý Seçenekleri
edit_list=Kullanýcýlarý Listele

save_err=Baðlantýnýn kaydedilmesinde hata oluþtu
save_edir='$1' bir dizin deðil
save_edirname='$1' geçerli bir dizin ismi deðil
save_ealready='$1' her zaman baðlý
save_ealready2='$1' her zaman baðlanabilecek þekilde hazýrlanmýþ
save_ealready3='$1' dizini her zaman baðlanmýþ
save_ealready4='$1' dizini her zaman baðlanabilecek hazýrlanmýþ
save_emkdir=Dizin oluþturmada hata oluþtu $1 : $2
save_eumount=Baðlantý kesilmesinde hata oluþtu : $1
save_emount=Baðlantýda hata oluþtu : $1
save_perm=$1'deki baðlantý zaten kullanýmda olduðundan uygulanamadý.Butonu týkladýðýnýzda sadece kalýcý baðlantý listesine deðiþiklikler yapýlacaktýr
save_apply=Kalýcý Listeye Uygula
save_eremount=Tekrar baðlamada hata oluþtu : $1
save_enone=Kayýt ya da baðlantýyý seçmediniz

swap_err=Swap dosyasý oluþumunda hata oluþtu
swap_esize='$1' geçerli bir boyut deðil

nfs_server=NFS Sunucusu Seçin..
nfs_select=Buradan baðlamak için bir NFS sunucusu seçin..
nfs_ip=IP Adresi
nfs_host=Makine Adý
nfs_none=Yerel NFS Sunucularý bulunamadý
nfs_choose=$1'de bir NFS dizini seçin
nfs_failed=$1 : $2'deki NFS sunumlarýna ulaþýlmasýnda hata oluþtu.Sunucu eriþime izin vermiyor olabilir.
nfs_seldir=Baðlantý için bir NFS dizini seçin..
nfs_dir=Dizin
nfs_clients=Ýstemciler

smb_choose=SMB Sunucusu Seçiniz..
smb_elist=$1'deki sunucudan listenin alýnmasýnda hata oluþtu.Sunucu eriþime izin vermiyor olabilir
smb_ehost=$1 sunucusu bulanamadý
smb_edown=$1 sunucusu kapalý, eriþilemez veya dosya sunucusu olmuor olabilir
smb_sel=Baðlanacak Windows að sunucusu seçiniz..
smb_name=Sunucu Ýsmi
smb_desc=Açýklama
smb_none=Yerel Windows Að sunucularý bulanamadý
smb_choose2=$1'de bir paylaþým seçin
smb_elist2=$1'deki sunucudan paylaþým listesinin alýnmasýnda hata oluþtu.Sunucu eriþime izin vermiyor olabilir.
smb_sel2=Baðlantý için bir paylaþým seçin..
smb_share=Paylaþým
smb_comment=Açýklama
smb_noshares=$1 sunucusunda ulaþýlabilir dosya paylaþýmlarý bulunamadý

solaris_scsidev=SCSI denetleyicisi $1 hedef $2 birim $3 disk bölümü $4
solaris_mddev=RAID aracý $1
solaris_ecacheexists=$1 dizini zaten mevcut. Onu silin
solaris_ebusy=$1 meþgul
solaris_ekill=Rumba'nýn öldürülmesinde hata oluþtu
solaris_epid=Rumba iþlem numarasýnýn aranmasýna hata oluþtu
solaris_nsource=NFS Kaynaðý
solaris_nhost=NFS Makine Adý
solaris_ndir=NFS Dizini
solaris_nmult=Çok Yönlü NFS Sunucularý
solaris_webnfs=WebNFS Adresi
solaris_ufs=UFS Disk
solaris_scsi=SCSI Disk
solaris_ctrlr=Denetleyici
solaris_target=Hedef
solaris_unit=Birim
solaris_part=Disk Bölümü
solaris_raid=RAID Aygýtý
solaris_otherdev=Diðer Aygýt
solaris_swapfile=Swap Dosyasý
solaris_file=Dosyasý
solaris_cdrom=CDROM
solaris_dvd=DVD
solaris_msdos=MS-DOS Diski
solaris_orig=Orijinal Dizin
solaris_cache=Cache Kaynaðý
solaris_automap=Otomatik baðlayýcý haritasý
solaris_autohosts=Bütün NFS baðlantýlarý
solaris_autoxfn=Birleþmiþ Ýsimlendirme Servisi
solaris_server=Sunucu Ýsmi
solaris_share=Paylaþýlmýþ Ýsmi
solaris_ro=Sadece okunabilir?
solaris_nosuid=Setuid programlara engel olunsun?
solaris_grpid=Dosyalara ana GID sahip olsun?
solaris_soft=Bekleme sürelerinde hatalarý döndür?
solaris_bg=Arka planda baðlantýlarý tekrar dene?
solaris_quota=Kotayý Görüntüle?
solaris_nointr=Kullanýcý kesmelerine izin ver?
solaris_nfsver=NFS sürümü
solaris_highest=En yüksek
solaris_proto=Protokol
solaris_port=NFS Port
solaris_timeo=Bekleme Süresi
solaris_retrans=Tekrar Ýletim Sayýsý
solaris_auth=Onaylama
solaris_none=Hiçbiri
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS baðlansýn mý?
solaris_quotab=Kotalar açýlýþta aktif olsun?
solaris_onerror=Hatada action? 
solaris_toosoon=Tamir Geciktirilimi
solaris_time_s=Saniye
solaris_time_m=Dakika
solaris_time_h=Saat
solaris_time_d=Gün
solaris_time_w=Hafta
solaris_time_y=Yýl
solaris_noatime=Giriþ Zamanlarý Güncellensin?
solaris_immed=Hemen
solaris_defer=Ertele
solaris_force=Doðrudan IO'yu destekle?
solaris_nolarge=Büyük Dosyalara Ýzin Ver?
solaris_logging=Kayýt tutulma yapýlsýn?
solaris_nrr=Unix yüklemeleri yoksayýlsýn?
solaris_notraildot=Kayan noktalar geçilsin?
solaris_nomaplcase=Küçük harfler kullanýlsýn?
solaris_foldcase=Küçük harfler yapýlsýn?
solaris_noopts=Mümkün Seçenek Yok
solaris_size=Boyut
solaris_largebsize=Geniþ sayfa blok boyutunu kullan?
solaris_max=En büyük
solaris_backfs=Gerçek dosya sistemi tipi
solaris_backpath=Gerçek baðlantý noktasý
solaris_cachedir=Cache dizini
solaris_wmode=Yazý Modu
solaris_con=Tutarlýlýðý kontrol et
solaris_period=Belli aralýklarla
solaris_never=Asla
solaris_demand=Ýstemde
solaris_waround=Yazma çevreli
solaris_nshared=Paylaþýlmamýþ
solaris_local=Ýzinleri bellekte denetle?
solaris_nobrowse=Ýncelemeye izin verildi?
solaris_auto=Otomatik
solaris_mname=Sunucu Makine Adý
solaris_cname=Ýstemci Adý
solaris_username=Kullanýcý Adý
solaris_password=Kullanýcý Þifresi
solaris_uid=Kullanýcý dosyalarý sahiplendi
solaris_gid=Grup dosyalarý sahiplendi
solaris_fmode=Dosya izinleri
solaris_dmode=Dizin izinleri
solaris_readwrite=Okuma/yazma giriþleri güvenli?
solaris_readonly=Dosyalar sadece okunabilir olsun?
solaris_noupper=Parola küçük harflerle gönderilsin?
solaris_attr=attrE komutlarýný kullan?
solaris_eurl='$1' geçerli bir NFS adresi deðil
solaris_ehost='$1' geçerli bir makine adý eðil
solaris_ehost2='$1' hostu mevcut deðil
solaris_edown='$1' hostu kapalý ya da NFS'i desteklemiyor
solaris_enfs='$1' hostu NFS'i desteklemiyor
solaris_enfsdir='$1' geçerli bir dizin ismi deðil.$2'deki geçerli dizinler : $3
solaris_enfsperm=Bu host $1'in $2'de baðlanmasýna izin vermemektedir
solaris_enfsmount=NFS Hatasý - $1
solaris_ectrlr='$1' geçerli bir SCSI denetleyicisi deðil
solaris_etarget='$1' geçerli bir SCSI hedef numarasý deðil
solaris_eunit='$1' geçerli bir SCSI birimi deðil
solaris_epart='$1' geçerli bir SCSI disk bölüm numarasý deðil
solaris_eraid='$1' geçerli bir RAID ünite numarasý deðil
solaris_epath='$1' geçerli bir yol adý deðil
solaris_eexist='$1' mevcut deðil
solaris_edir='$1' dizin deðil
solaris_eswapfile=Swap dosyasý '$1' mevcut deðil
solaris_eopen=$1'in açýlmasýnda hata oluþtu : $2
solaris_ebackfs=Geri dosya sistemi '$1' baðlanmýþ deðil
solaris_ebacktype=Geri dosya sistemi olan '$1' $2 deðil
solaris_ecsrc='$1' geçerli bir bellek kaynaðý deðildir
solaris_eautomap=Kayýp otomatik baðlantý eþleþtirme harita ismi
solaris_eautofile=Harita dosyasý '$1' mevcut deðil
solaris_etarget2='$1' için SCSI hedefi mevcut deðil
solaris_epart2=SCSI disk bölümü '$1' için mevcut deðil
solaris_eraid2=RAID aracý '$1' mevcut deðil
solaris_enopart='$1'de bölümler bulunamadý
solaris_edevfile='$1' için araç dosyasý mevcut deðil
solaris_edevice='$1' için araç mevcut deðil
solaris_efstyp='$1' aracý $2 olarak formatlandý
solaris_efstyp2=Dosya sistem tipi $1'in kontrolünde hata oluþtu
solaris_ecachedir='$1' geçerli bir bellek dizini deðildir
solaris_efmode='$1' geçerli bir sekizli dosya modu deðil
solaris_edmode='$1' geçerli bir sekizli dizin modu deðil

linux_eamd=AMD'de hata oluþtu(otomatik baðlama)
linux_eauto=Otomatik baðlamada hata oluþtu : $1
linux_esmbconn=Sunucuya baðlantýda hata oluþtu
linux_ekillamd=AMD'nin öldürülmesinde hata oluþtu
linux_ekillauto=Otomatik baðlanmanýn öldürülmesinde hata oluþtu
linux_nfshost=NFS Makine Adý
linux_nfsdir=NFS Dizini
linux_map=Otomatik Baðlayýcý Haritasý
linux_swapfile=Swap Dosyasý
linux_disk=Disk
linux_smbserver=Sunucu Ýsmi
linux_smbshare=Paylaþým Ýsmi
linux_raid=RAID aracý
linux_rdev=RAID aracý $1
linux_other=Diðer aygýt
linux_ro=Sadece okunabilir?
linux_sync=Dosya sistemine tamponu yaz?
linux_nodev=Aygýt dosyalarýna izin ver?
linux_noexec=Ýkililerin çalýþtýrýlmasýna izin ver?
linux_nosuid=Setuid programlarýna izin verimesin?
linux_user=Bu dosya sistemini baðlamaya kullanýcýlara izin ver?
linux_check=Kontrol modu
linux_normal=Normal
linux_strict=Tam
linux_none=Hiçbiri
linux_errors=Hatada action
linux_continue=Devam
linux_remount_ro=Sadece okunur olarak tekrar baðla
linux_panic=Panik
linux_grpid=Dosyalara ana GID sahip olsun?
linux_quotas=Kotalarý kullan?
linux_usrquota=Sadece kullanýcý
linux_grpquota=Sadece grup
linux_usrgrpquota=Kullanýcý ve Grup
linux_usrgrpquota2=Kullanýcý ve Grup (Güvenli Deðil!)
linux_resuid=Kullanýcý için alan ayýr
linux_resgid=Grup için alan ayýr
linux_bg=Arka planda baðlantýlarý tekrar dene?
linux_soft=Bekleme süresinde hatalarý döndür?
linux_timeo=Bekleme Süresi
linux_retrans=Tekrar Ýletim Sayýsý
linux_vers=NFS sürümü
linux_high=En yüksek
linux_port=NFS Portu
linux_intr=Kullanýcý kesmeleri kabul edilsin?
linux_tcp=RPC Protokolu
linux_uid=Kullanýcý dosyalarý sahiplendirildi
linux_gid=Grup dosyalarý sahiplendirildi
linux_rules=Dosya Ýsimlendirme kurallarý
linux_relaxed=Gevþetildi
linux_conv=DOS-Unix yeni çizgi deðiþimi
linux_allfiles=Bütün dosyalar
linux_textfiles=Yazý dosyalarý sadece
linux_umask=Dosya haklarý maskelemesi
linux_quiet=<tt>chown</tt> denemelerinde hatalar rapor edilsin?
linux_uni_xlate=Unicode karakterleri çevir?
linux_posix=Harfleri farkli isimlere izin ver?
linux_conv2=OS/2-Unix yeni çizgi deðiþimi
linux_rock=Unix Denemelerini Geç?
linux_mode=Unix olmayan CD'ler için dosya izinleri
linux_noopts=Mümkün Seçenekler Yok
linux_timeout=Baðlantý kesiminden önceki bekleme süresi
linux_pid_file=Ýþlem numarasýný dosyaya yaz
linux_secs=saniye
linux_smbwarn=Uyarý! Dosya sistemi Webmin ile baðlanmadý, varolan seçenekler çalýþmazlar.
linux_username=Kullancý Adý
linux_password=Kullanýcý Parolasý
linux_sname=Sunucu Ýsmi
linux_wg=Çalýþma Grubu
linux_auto=Otomatik
linux_cname=Ýstemci Adý
linux_mname=Sunucu Adresi
linux_fmode=Dosya Ýzinleri
linux_dmode=Dizin Ýzinleri
linux_notail=Hýz için ayrýlan alaný kapat?
linux_ehost='$1' geçerli bir makine adý deðildir
linux_ehost2='$1' hostu mevcut deðildir
linux_edown='$1' hostu düþtü
linux_enfs='$1' hostu NFS'i desteklemiyor
linux_elist=Baðlantý listesinin alýnmasýnda hata oluþtu : $1
linux_enfsdir='$1' geçerli bir dizin ismi deðildir.$2'deki mümkün dizinler : $3
linux_enfsperm=Bu hostun $1 dizinini $2'de baðlanmasýna izini yoktur
linux_enfsmount=NFS Hatasý - $1
linux_eautomap=Otomatik baðlantý dosya haritasý '$1' mevcut deðil
linux_edev=Araç girilmedi
linux_edevfile=Araç dosyasý '$1' mevcut deðil
linux_emask='$1' geçerli bir sekizli maskeleme deðil
linux_etimeout='$1' geçerli bir bekleme süresi deðil
linux_epidfile='$1' geçerli bir iþlem numarasý dosyasý deðil
linux_efmode='$1' geçerli bir sekizli dosya modu deðil
linux_edmode='$1' geçerli bir sekizli dizin modu deðil

log_mount=$3 baðlandý
log_mount_l=$3'de $2 $1'e baðlandý
log_umount=$3'in baðlantýsý kaldýrýldý
log_umount_l=$3'de $2'nin $1'e baðlantýsý kaldýrýldý
log_remount=$3 tekrar baðlandý
log_remount_l=$3'de $2 $1'e tekrar baðlandý
log_create=$3 baðlantýsý oluþturuldu
log_create_l=$3'de $1'e $2 baðlantýsý oluþturuldu
log_modify=Baðlantý $3 deðiþtirildi
log_modify_l=$3'de $1'e $2 baðlantýsý deðiþtirildi
log_delete=$3 baðlantýsý silindi
log_delete_l=$3'de $1'e $2 baðlantýsý silindi

  0707010003568c000081a40000000000000002000000013d1fe2bc0000230a000000200000000000000000000000000000001700000003reloc/mount/lang/zh_CN    index_title=´ÅÅÌºÍÍøÂçÎÄ¼þÏµÍ³
index_dir=¹Ò×°µ½
index_type=ÀàÐÍ
index_dev=Î»ÖÃ
index_use=ÕýÔÚÊ¹ÓÃ£¿
index_perm=ÓÀ¾ÃµÄ£¿
index_add=Ìí¼Ó¹Ò×°
index_auto=Î´ÖªÀàÐÍ
index_swap=ÐéÄâÄÚ´æ
index_return=ÎÄ¼þÏµÍ³ÁÐ±í
edit_title=±à¼­¹Ò×°
create_title=´´½¨¹Ò×°
edit_err=ÐÞ¸Ä¹Ò×°Ê§°Ü
edit_egone=Õâ¸ö¹Ò×°ÒÑ²»´æÔÚ
edit_header=$1 ¹Ò×°µÄÏ¸½Ú
edit_dir=ÒÑ¹Ò×°µ½
edit_swap=ÐéÄâÄÚ´æ
edit_size=´óÐ¡
edit_free=¿ÕÏÐ
edit_savemount=±£´æ¹Ò×°£¿
edit_boot=±£´æ²¢ÇÒÔÚÆô¶¯Ê±¹Ò×°
edit_save=±£´æ
edit_delete=É¾³ý
edit_dont=²»±£´æ
edit_now=ÏÖÔÚ¾Í¹Ò×°£¿
edit_mount=¹Ò×°
edit_dont2=²»¹Ò×°
edit_unmount=³·Ïû¹Ò×°
edit_order=Æô¶¯Ê±¼ì²éÎÄ¼þÏµÍ³£¿
edit_first=¼ì²éµÚÒ»
edit_second=¼ì²éµÚ¶þ
edit_adv=¸ß¼¶¹Ò×°Ñ¡Ïî
edit_list=ÁÐ³öÓÃ»§
edit_create=±£´æ²¢¹Ò×°
edit_save_apply=±£´æ²¢Ó¦ÓÃ
edit_umount=³·Ïû¹Ò×°
edit_perm=Ê¹³ÉÓÀ¾Ã
edit_del_umount=³·Ïû¹Ò×°²¢É¾³ý
save_err=±£´æ¹Ò×°Ê§°Ü
save_edir='$1'²»ÊÇÒ»¸öÄ¿Â¼
save_edirname='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÄ¿Â¼Ãû
save_ealready='$1'ÒÑ¾­¹Ò×°ÁË
save_ealready2='$1'ÒÑ±»Ö¸¶¨Òª¹Ò×°
save_ealready3=Ä¿Â¼'$1'ÒÑ±»¹Ò×°
save_ealready4=Ä¿Â¼'$1'ÒÑ±»Ö¸¶¨¹Ò×°
save_emkdir=´´½¨Ä¿Â¼Ê§°Ü$1 : $2
save_eumount=³·Ïû¹Ò×°Ê§°Ü: $1
save_emount=¹Ò×°Ê§°Ü: $1
save_perm=¶ÔÔÚ$1ÉÏ¹Ò×°µÄÐÞ¸Ä²»ÄÜ±»Ó¦ÓÃ,ÒòÎªÕâ¸ö¹Ò×°ÕýÔÚÊ¹ÓÃ.Òª½«ÄúµÄÐÞ¸ÄÓ¦ÓÃµ½ÓÀ¾ÃµÄ¹Ò×°ÁÐ±íÖÐ,µã»÷ÏÂÃæÕâ¸ö°´Å¥¡£
save_apply=Ó¦ÓÃµ½ÓÀ¾ÃµÄÁÐ±í
save_eremount=ÖØÐÂ¹Ò×°Ê§°Ü: $1
save_enone=ÄúÃ»ÓÐÑ¡Ôñ±£´æ»òÕß¹Ò×°
swap_err=´´½¨½»»»ÎÄ¼þÊ§°Ü
swap_esize='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ´óÐ¡
nfs_server=Ñ¡ÔñNFS·þÎñÆ÷..
nfs_select=Ñ¡ÔñÒ»Ì¨´ÓÆä¹Ò×°µÄNFS·þÎñÆ÷..
nfs_ip=IPµØÖ·
nfs_host=Ö÷»úÃû
nfs_none=Ã»ÓÐÕÒµ½±¾µØµÄNFS·þÎñÆ÷
nfs_choose=ÔÚ$1ÖÐÑ¡ÔñNFSµÄÄ¿Â¼
nfs_failed=´Ó $1 : $2 ¼ìË÷ NFS Êä³öÊ§°Ü¡£¿ÉÄÜÃ»ÓÐNFS·þÎñÆ÷ÕýÔÚÔËÐÐ
nfs_seldir=Ñ¡ÔñÒª¹Ò×°µÄNFSÄ¿Â¼..
nfs_dir=Ä¿Â¼
nfs_clients=¿Í»§¶Ë
smb_choose=Ñ¡ÔñSMB·þÎñÆ÷..
smb_elist=´Ó$1ÖÐ¼ìË÷·þÎñÆ÷ÁÐ±íÊ§°Ü.¿ÉÄÜÊÇÕâ¸ö·þÎñÆ÷²»ÔÊÐíä¯ÀÀ¡£
smb_ehost=$1·þÎñÆ÷²»´æÔÚ
smb_edown=$1·þÎñÆ÷µ±»ú,²»¿Éµ½´ï»òÕß²»ÊÇÒ»¸öÎÄ¼þ·þÎñÆ÷¡£
smb_sel=Ñ¡ÔñÒª´ÓÆä¹Ò×°µÄwindowsÁªÍø·þÎñÆ÷..
smb_name=·þÎñÆ÷Ãû
smb_desc=ÃèÊö
smb_none=Ã»ÕÒµ½±¾µØµÄwindowsÁªÍø·þÎñÆ÷
smb_choose2=ÔÚ$1ÉÏÑ¡Ôñ¹²Ïí
smb_elist2=´Ó$1ÖÐ¼ìË÷¹²ÏíÁÐ±íÊ§°Ü.¿ÉÄÜÊÇÕâ¸ö·þÎñÆ÷²»ÔÊÐíä¯ÀÀ¡£
smb_sel2=Ñ¡ÔñÒª¹Ò×°µÄ¹²Ïí..
smb_share=¹²Ïí
smb_comment=±¸×¢
smb_noshares=ÔÚ·þÎñÆ÷$1ÉÏÃ»ÓÐ¿ÉÓÃµÄÎÄ¼þ¹²Ïí
solaris_scsidev=SCSI¿ØÖÆÆ÷$1 Ä¿±ê$2 µ¥Ôª$3 ·ÖÇø$4
solaris_mddev=RAIDÉè±¸$1
solaris_ecacheexists=$1Ä¿Â¼ÒÑ´æÔÚ.É¾³ýËü¡£
solaris_ebusy=$1Ã¦
solaris_ekill=É±ËÀrumbaÊ§°Ü
solaris_epid=²éÕÒrumbaµÄ½ø³ÌºÅÊ§°Ü
solaris_nsource=NFSÔ´
solaris_nhost=NFSÖ÷»úÃû
solaris_ndir=NFSÄ¿Â¼
solaris_nmult=¶à¸öNFS·þÎñÆ÷
solaris_webnfs=WebNFSµÄURL
solaris_ufs=UFS´ÅÅÌ
solaris_scsi=SCSI/IDE ´ÅÅÌ
solaris_ctrlr=¿ØÖÆÆ÷
solaris_target=Ä¿±ê
solaris_unit=µ¥Ôª
solaris_part=·ÖÇø
solaris_raid=RAIDÉè±¸
solaris_otherdev=ÆäËüÉè±¸
solaris_swapfile=½»»»ÎÄ¼þ
solaris_file=ÎÄ¼þ
solaris_cdrom=¹âÇý
solaris_dvd=DVD
solaris_msdos=MS-DOS´ÅÅÌ
solaris_orig=Ô­Ê¼Ä¿Â¼
solaris_cache=¸ßËÙ»º´æÔ´
solaris_automap=×Ô¶¯¹Ò×°Ó³Éä
solaris_autohosts=ËùÓÐNFS Êä³ö
solaris_autoxfn=ÁªºÏÃüÃû·þÎñ
solaris_server=·þÎñÆ÷Ãû
solaris_share=¹²ÏíÃû
solaris_ro=Ö»¶Á£¿
solaris_nosuid=½ûÓÃsetuid³ÌÐò£¿
solaris_grpid=ÎÄ¼þ¼Ì³Ð¸¸GID£¿
solaris_soft=³¬Ê±Ê±·µ»Ø´íÎó£¿
solaris_bg=ÔÚºóÌ¨¼ÌÐø³¢ÊÔ¹Ò×°£¿
solaris_quota=ÏÔÊ¾Åä¶î£¿
solaris_nointr=ÔÊÐíÓÃ»§ÖÐ¶Ï£¿
solaris_nfsver=NFS°æ±¾
solaris_highest=×î¸ßµÄ
solaris_proto=Ð­Òé
solaris_port=NFS¶Ë¿Ú
solaris_timeo=³¬Ê±
solaris_retrans=ÖØ·¢´ÎÊý
solaris_auth=ÈÏÖ¤
solaris_none=ÎÞ
solaris_des=DES
solaris_krb=Kerberos
solaris_public=WebNFS ¹Ò×°£¿
solaris_quotab=ÔÚÆô¶¯Ê±ÆôÓÃÅä¶î£¿
solaris_onerror=´íÎóÊ±µÄÐÐ¶¯
solaris_toosoon=ÐÞ¸´ÑÓ³Ù
solaris_time_s=Ãë
solaris_time_m=·ÖÖÓ
solaris_time_h=Ð¡Ê±
solaris_time_d=Ìì
solaris_time_w=ÐÇÆÚ
solaris_time_y=Äê
solaris_noatime=¸üÐÂ·ÃÎÊÊ±¼ä£¿
solaris_immed=Á¢¼´
solaris_defer=ÑÓÆÚ
solaris_force=Ç¿ÖÆÖ±½ÓIO£¿
solaris_nolarge=ÔÊÐí´óÎÄ¼þÂð£¿
solaris_logging=ÔÊÐí¼ÇÂ¼ÈÕÖ¾£¿
solaris_nrr=ºöÂÔUnixÊôÐÔÂð£¿
solaris_notraildot=ºöÂÔ¸ú×ÙµãÂð£¿
solaris_nomaplcase=Ê¹ÓÃÐ¡Ð´×ÖÄ¸Âð£¿
solaris_foldcase=Ç¿ÖÆÊ¹ÓÃÐ¡Ð´×ÖÄ¸Âð£¿
solaris_noopts=Ã»ÓÐÑ¡Ïî¿ÉÓÃ
solaris_size=´óÐ¡
solaris_largebsize=Ê¹ÓÃ´óÒ³¿é£¿
solaris_max=×î´óµÄ
solaris_backfs=ÕæÊµµÄÎÄ¼þÏµÍ³ÀàÐÍ
solaris_backpath=ÕæÊµµÄ¹Ò×°µã
solaris_cachedir=³¬ËÙ»º´æÄ¿Â¼
solaris_wmode=Ð´Ä£Ê½
solaris_con=Ò»ÖÂÐÔ¼ì²é
solaris_period=ÖÜÆÚµØ
solaris_never=´Ó²»
solaris_demand=½Óµ½ÇëÇóÊ±
solaris_waround=Ð´¹ý
solaris_nshared=²»¹²Ïí
solaris_local=¼ì²é³¬ËÙ»º´æµÄÈ¨ÏÞ£¿
solaris_nobrowse=ÆôÓÃÁËä¯ÀÀÂð£¿
solaris_auto=×Ô¶¯
solaris_mname=·þÎñÆ÷Ö÷»úÃû
solaris_cname=¿Í»§Ãû
solaris_username=µÇÂ¼Ãû
solaris_password=µÇÂ¼ÃÜÂë
solaris_uid=ÓµÓÐÕâÐ©ÎÄ¼þµÄÓÃ»§ÊÇ
solaris_gid=ÓµÓÐÕâÐ©ÎÄ¼þµÄ×éÊÇ
solaris_fmode=ÎÄ¼þÈ¨ÏÞ
solaris_dmode=Ä¿Â¼È¨ÏÞ
solaris_readwrite=¶ÁÐ´·ÃÎÊÊÇ·ñ°²È«£¿
solaris_readonly=ÎÄ¼þÖ»¶ÁÂð£¿
solaris_noupper=ÒÔ´óÐ´×ÖÄ¸·¢ËÍÃÜÂëÂð£¿
solaris_attr=Ê¹ÓÃattrEÃüÁîÂð£¿
solaris_eurl='$1'²»ÊÇÒ»¸öÓÐÐ§µÄNFSµÄURL
solaris_ehost='$1'²»ÊÇ¸öÓÐÐ§µÄÖ÷»úÃû
solaris_ehost2=$1Ö÷»ú²»´æÔÚ
solaris_edown=Ö÷»úµ±»ú»òÕß²»Ö§³ÖNFS
solaris_enfs=$1Ö÷»ú²»Ö§³ÖNFS
solaris_enfsdir='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÄ¿Â¼Ãû.ÔÚ$2ÉÏÓÐÐ§µÄÄ¿Â¼ÊÇ$3
solaris_enfsperm=¸ÃÖ÷»ú²»ÔÊÐíÔÚ$2ÉÏ¹Ò×°$1Ä¿Â¼
solaris_enfsmount=NFS ´íÎó - $1
solaris_ectrlr='$1'²»ÊÇÒ»¸öÓÐÐ§µÄSCSI¿ØÖÆÆ÷
solaris_etarget='$1'²»ÊÇÒ»¸öÓÐÐ§µÄSCSIÄ¿±êºÅ
solaris_eunit='$1'²»ÊÇÒ»¸öÓÐÐ§µÄSCSIµ¥ÔªºÅ
solaris_epart='$1'²»ÊÇÒ»¸öÓÐÐ§µÄSCSI·ÖÇøºÅ
solaris_eraid='$1'²»ÊÇÒ»¸öÓÐÐ§µÄRAIDµ¥ÔªºÅ
solaris_epath='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÂ·¾¶Ãû
solaris_eexist='$1'²»´æÔÚ
solaris_edir='$1'²»ÊÇÒ»¸öÄ¿Â¼
solaris_eswapfile=½»»»ÎÄ¼þ'$1'²»´æÔÚ
solaris_eopen=´ò¿ª $1 : $2 Ê§°Ü
solaris_ebackfs=±³¾°ÎÄ¼þÏµÍ³'$1'Ã»ÓÐ±»¹Ò×°
solaris_ebacktype=±³¾°ÎÄ¼þÏµÍ³'$1'²»ÊÇ$2
solaris_ecsrc='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ³¬ËÙ»º´æÔ´
solaris_eautomap=×Ô¶¯¹Ò×°Ó³ÉäÃû¶ªÊ§
solaris_eautofile=Ó³ÉäÎÄ¼þ'$1'²»´æÔÚ
solaris_etarget2='$1'µÄSCSIÄ¿±ê²»´æÔÚ
solaris_epart2='$1'µÄSCSI·ÖÇø²»´æÔÚ
solaris_eraid2='$1'µÄRAIDÉè±¸²»´æÔÚ
solaris_enopart=ÔÚ'$1'ÉÏÃ»ÓÐ·ÖÇø
solaris_edevfile=Éè±¸ÎÄ¼þ'$1'²»´æÔÚ
solaris_edevice='$1'µÄÉè±¸²»´æÔÚ
solaris_efstyp=Éè±¸'$1'±»¸ñÊ½»¯³É$2
solaris_efstyp2=¼ì²éÎÄ¼þÏµÍ³ÀàÐÍÊ§°Ü: $1
solaris_ecachedir='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ³¬ËÙ»º´æÄ¿Â¼
solaris_efmode='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ°Ë½øÖÆÎÄ¼þÄ£Ê½
solaris_edmode='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ°Ë½øÖÆÄ¿Â¼Ä£Ê½
linux_eamd=AMDÊ§°Ü
linux_eauto=×Ô¶¯¹Ò×°Ê§°Ü: $1
linux_esmbconn=Á¬½Ó·þÎñÆ÷Ê§°Ü
linux_ekillamd=É±ËÀAMDÊ§°Ü
linux_ekillauto=É±ËÀ×Ô¶¯¹Ò×°Ê§°Ü
linux_nfshost=NFSÖ÷»úÃû
linux_nfsdir=NFSÄ¿Â¼
linux_map=×Ô¶¯¹Ò×°µÄÓ³Éä
linux_swapfile=½»»»ÎÄ¼þ
linux_disk=´ÅÅÌ
linux_smbserver=·þÎñÆ÷Ãû
linux_smbshare=¹²ÏíÃû
linux_raid=RAIDÉè±¸
linux_rdev=RAIDÉè±¸$1
linux_cddev=CD-ROM Çý¶¯
linux_label=±ê¼ÇÎª $1 µÄ·ÖÇø
linux_lsel=ÒÑ±ê¼ÇµÄ·ÖÇø
linux_other=ÆäËüÉè±¸
linux_ro=Ö»¶ÁÂð£¿
linux_sync=½«»º³åÐ´µ½ÎÄ¼þÏµÍ³Âð£¿
linux_nodev=ÔÊÐíÉè±¸ÎÄ¼þÂð£¿
linux_noexec=ÔÊÐíÖ´ÐÐ¶þ½øÖÆÂð£¿
linux_nosuid=½ûÓÃsetuid³ÌÐòÂð£¿
linux_user=ÔÊÐíÓÃ»§¹Ò×°Õâ¸öÎÄ¼þÏµÍ³Âð£¿
linux_check=¼ì²éÄ£Ê½
linux_normal=ÆÕÍ¨
linux_strict=ÑÏ¸ñµÄ
linux_none=¿Õ
linux_errors=´íÎóÊ±µÄÐÐ¶¯
linux_continue=¼ÌÐø
linux_remount_ro=ÖØÐÂ¹Ò×°Ö»¶Á
linux_panic=¿Ö»ÅµÄ
linux_grpid=ÎÄ¼þ¼Ì³Ð¸¸GIDÂð£¿
linux_quotas=Ê¹ÓÃÅä¶îÂð£¿
linux_usrquota=½öÓÃ»§
linux_grpquota=½ö×é
linux_usrgrpquota=ÓÃ»§ºÍ×é
linux_usrgrpquota2=ÓÃ»§ºÍ×é(²»ÎÈ¶¨!)
linux_resuid=¸øÓÃ»§±£Áô¿Õ¼ä
linux_resgid=¸ø×é±£Áô¿Õ¼ä
linux_bg=ÔÚºóÌ¨¼ÌÐø³¢ÊÔ¹Ò×°£¿
linux_soft=³¬Ê±Ê±·µ»Ø´íÎó£¿
linux_timeo=³¬Ê±
linux_retrans=ÖØ·¢´ÎÊý
linux_vers=NFS°æ±¾
linux_high=×î¸ßµÄ
linux_port=NFS¶Ë¿Ú
linux_intr=ÔÊÐíÓÃ»§ÖÐ¶Ï£¿
linux_tcp=RPCÐ­Òé
linux_uid=ÓµÓÐÕâÐ©ÎÄ¼þµÄÓÃ»§ÊÇ
linux_gid=ÓµÓÐÕâÐ©ÎÄ¼þµÄ×éÊÇ
linux_rules=ÎÄ¼þÃüÃû¹æÔò
linux_relaxed=·ÅËÉµÄ
linux_conv=DOS-UnixÐÂÐÐ×ª»»
linux_allfiles=ËùÓÐÎÄ¼þ
linux_textfiles=½öÎÄ±¾ÎÄ¼þ
linux_umask=ÎÄ¼þÈ¨ÏÞÆÁ±Î
linux_quiet=±¨¸æÔÚ³¢ÊÔ<tt>chown</tt>Ê±·¢ÉúµÄ´íÎóÂð£¿
linux_uni_xlate=×ª»»UnicodeµÄ×Ö·ûÂð£¿
linux_posix=ÔÊÐí½ö´óÐ¡Ð´²»Í¬µÄÃû³ÆÂð£¿
linux_conv2=OS/2-UnixÐÂÐÐ×ª»»
linux_rock=ºöÂÔUnixÊôÐÔÂð£¿
linux_mode=·ÇUnix CDµÄÎÄ¼þÈ¨ÏÞ
linux_noopts=Ã»ÓÐÑ¡Ïî¿ÉÓÃ
linux_timeout=³·Ïû¹Ò×°Ö®Ç°µÄ¿ÕÏÐÊ±¼ä
linux_pid_file=½«½ø³ÌºÅÐ´½øÎÄ¼þ
linux_secs=Ãë
linux_smbwarn=¾¯¸æ!¸ÃÎÄ¼þÏµÍ³²»ÊÇÔÚWebminÖÐ¹Ò×°µÄ,ËùÒÔÏÖÓÐÑ¡Ïî¾ùÎÞÐ§
linux_username=µÇÂ¼Ãû
linux_password=µÇÂ¼ÃÜÂë
linux_sname=·þÎñÆ÷Ãû
linux_wg=¹¤×÷×é
linux_auto=×Ô¶¯
linux_cname=¿Í»§Ãû
linux_mname=·þÎñÆ÷µØÖ·
linux_fmode=ÎÄ¼þÈ¨ÏÞ
linux_dmode=Ä¿Â¼È¨ÏÞ
linux_notail=ÓÃ¿Õ¼ä½»»»ËÙ¶È£¿
linux_ehost='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÖ÷»úÃû
linux_ehost2='$1'Ö÷»ú²»´æÔÚ
linux_edown='$1'Ö÷»úµ±»ú
linux_enfs='$1'Ö÷»ú²»Ö§³ÖNFS
linux_elist=È¡¹Ò×°ÁÐ±íÊ§°Ü: $1
linux_enfsdir='$1'²»ÊÇÒ»¸öÓÐÐ§µÄÄ¿Â¼Ãû.ÔÚ$2ÉÏÓÐÐ§µÄÄ¿Â¼ÊÇ$3
linux_enfsperm=¸ÃÖ÷»ú²»ÔÊÐíÔÚ$2ÉÏ¹Ò×°$1Ä¿Â¼
linux_enfsmount=NFS ´íÎó - $1
linux_eautomap=×Ô¶¯¹Ò×°µÄÓ³ÉäÎÄ¼þ'$1'²»´æÔÚ
linux_edev=Ã»ÓÐ°²×°Éè±¸
linux_edevfile=Éè±¸ÎÄ¼þ'$1'²»´æÔÚ
linux_emask='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ°Ë½øÖÆÆÁ±Î
linux_etimeout='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ³¬Ê±
linux_epidfile='$1'²»ÊÇÒ»¸öÓÐÐ§µÄpidÎÄ¼þ
linux_efmode='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ°Ë½øÖÆÎÄ¼þÄ£Ê½
linux_edmode='$1'²»ÊÇÒ»¸öÓÐÐ§µÄ°Ë½øÖÆÄ¿Â¼Ä£Ê½
log_mount=¹Ò×°ÁË $3
log_mount_l=ÔÚ $3 ÉÏ¹Ò×°ÁË $2 $1
log_umount=³·Ïû¹Ò×°ÁË $3
log_umount_l=ÔÚ $3 ÉÏ³·Ïû¹Ò×°ÁË $2 $1
log_remount=ÖØÐÂ¹Ò×°ÁË $3
log_remount_l=ÔÚ $3 ÉÏÖØÐÂ¹Ò×°ÁË $2 $1
log_create=ÒÑ´´½¨ÁË¹Ò×° $3
log_create_l=ÔÚ $3 ÉÏ ÒÑ´´½¨ÁË $2 ¹Ò×° $1
log_modify=ÒÑ¸üÐÂÁË¹Ò×° $3
log_modify_l=ÔÚ $3 ÉÏ ÒÑ¸üÐÂÁË $2 ¹Ò×° $1
log_delete=ÒÑÉ¾³ýÁË¹Ò×° $3
log_delete_l=ÔÚ $3 ÉÏ ÒÑÉ¾³ýÁË $2 ¹Ò×° $1
  0707010003568d000081a40000000000000002000000013d1fe2bc00002255000000200000000000000000000000000000001c00000003reloc/mount/lang/zh_TW.Big5   index_title=ºÏºÐ»Pºô¸ôÀÉ®×¨t²Î
index_dir=±¾¸üÂI
index_type=Ãþ§O
index_dev=±¾¸ü¨Ó·½
index_use=¬O§_¨Ï¥Î¤¤¡H
index_perm=¬O§_¬°¥Ã¤[ªº¡H
index_add=¼W¥[±¾¸ü
index_auto=¦Û°Ê¤Æ
index_swap=µêÀÀ°O¾ÐÅé
index_return=ÀÉ®×¨t²Î¦Cªí

edit_title=½s¿è±¾¸ü
create_title=«Ø¥ß±¾¸ü
edit_err=µLªk½s¿è±¾¸ü
edit_egone=³o­Ó±¾¸ü¤w¸g¤£¦s¦b
edit_header=$1 ±¾¸ü¸Ô²Ó¸ê®Æ
edit_dir=±¾¸üÂI
edit_swap=µêÀÀ°O¾ÐÅé
edit_size=¤j¤p
edit_free=³Ñ¾lªÅ¶¡
edit_savemount=¬O§_Àx¦s±¾¸ü¡H
edit_boot=Àx¦s¨Ã¥B¦b¶}¾÷®É±¾¸ü
edit_save=Àx¦s
edit_delete=§R°£
edit_dont=¤£­nÀx¦s
edit_now=¬O§_¥ß§Y±¾¸ü¡H
edit_mount=±¾¸ü
edit_dont2=¤£­n±¾¸ü
edit_unmount=¨ø¸ü
edit_order=¶}¾÷®É¬O§_ÀË¬dÀÉ®×¨t²Î¡H
edit_first=²Ä¤@­ÓÀË¬d
edit_second=²Ä¤G­ÓÀË¬d
edit_adv=¶i¶¥±¾¸ü¿ï¶µ
edit_list=¦C¥X¨Ï¥ÎªÌ

save_err=µLªkÀx¦s±¾¸ü
save_edir='$1' ¤£¬O¤@­Ó¥Ø¿ý
save_edirname='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý¦WºÙ
save_ealready='$1' ¤w¸g³Q±¾¸ü
save_ealready2='$1' ¤w¸g«ü©w­n³Q±¾¸ü
save_ealready3=¥Ø¿ý '$1' ¤w¸g³Q±¾¸ü
save_ealready4=¥Ø¿ý '$1' ¤w¸g«ü©w¬°­n³Q±¾¸ü
save_emkdir=µLªk«Ø¥ß¥Ø¿ý $1 : $2
save_eumount=¨ø¸ü¥¢±Ñ : $1
save_emount=±¾¸ü¥¢±Ñ : $1
save_perm=µ¹ $1 ªº±¾¸üÅÜ§óµLªk³Q®M¥Î¡A¦]¬°¸Ó±¾¸ü¥Ø«e¥¿¦b¨Ï¥Î¤¤¡C¦pªG±z¥u­nÅÜ§ó©T©w±¾¸ü¦Cªí¡A½Ð«ö¤U¤U­±ªº«ö¶s¡C
save_apply=®M¥Î¦b¥Ã¤[¦Cªí
save_eremount=­«·s±¾¸ü¥¢±Ñ : $1
save_enone=±z¨S¦³¿ï¾ÜÀx¦s©Î¬O±¾¸ü

swap_err=µLªk«Ø¥ß¥æ´«ÀÉ®×
swap_esize='$1' ¤£¬O¤@­Ó¦³®Äªº¤j¤p

nfs_server=¿ï¾Ü NFS ¦øªA¾¹...
nfs_select=¿ï¾Ü¤@­Ó±¾¸ü¨Ó·½ªº NFS ¦øªA¾¹...
nfs_ip=IP ¦ì§}
nfs_host=¥D¾÷¦WºÙ
nfs_none=§ä¤£¨ì¥»¦aºÝªº NFS ¦øªA¾¹
nfs_choose=¿ï¾Ü¦b $1 ¤W­±ªº NFS ¥Ø¿ý
nfs_failed=µLªk¥Ñ $1 ±µ¦¬ NFS ¶×¥X : $2 ¥i¯à¨S¦³ NFS ¦øªA¾¹¦b°õ¦æ¤¤
nfs_seldir=¿ï¾Ü¤@­Ó­n±¾¸üªº NFS ¥Ø¿ý...
nfs_dir=¥Ø¿ý
nfs_clients=«È¤áºÝ

smb_choose=¿ï¾Ü SMB ¦øªA¾¹...
smb_elist=µLªk¥Ñ $1 ±µ¦¬¦øªA¾¹¦Cªí¡C³o­Ó¦øªA¾¹¥i¯à¤£±µ¨üÂsÄý
smb_ehost=¦øªA¾¹ $1 ¤£¦s¦b
smb_edown=¦øªA¾¹ $1 ·í¾÷¡BµLªk¨ì¹F©Î¤£¬O¤@­ÓÀÉ®×¦øªA¾¹
smb_sel=¿ï¾Ü¤@­Ó Windows ºô¸ô¦øªA¾¹¥H§@¬°±¾¸ü¨Ó·½...
smb_name=¦øªA¾¹¦WºÙ
smb_desc=»¡©ú
smb_none=§ä¤£¨ì¥»¦aºÝªº Windows ºô¸ô¦øªA¾¹
smb_choose2=¿ï¾Ü¦b $1 ¤Wªº¤À¨É
smb_elist2=µLªk±q $1 ±µ¦¬¤À¨É¦Cªí¡C³o­Ó¦øªA¾¹¥i¯à¤£±µ¨üÂsÄý
smb_sel2=¿ï¾Ü¤@­Ó¤À¨É¥H±¾¸ü...
smb_share=¤À¨É
smb_comment=µù¸Ñ
smb_noshares=¦b¦øªA¾¹ $1 ¤W¨S¦³¦s¦bªºÀÉ®×¤À¨É

solaris_scsidev=SCSI ±±¨î¾¹ $1 ¥Ø¼Ð $2 ³æ¤¸ $3 ¤À³Î°Ï $4
solaris_mddev=ºÏºÐ°}¦C¸Ë¸m $1
solaris_ecacheexists=¥Ø¿ý $1 ¤w¸g¦s¦b. §R°£¥¦.
solaris_ebusy=$1 ¥¿¦b¦£¸L¤¤
solaris_ekill=±þ¤£±¼ rumba
solaris_epid=§ä¤£¨ì rumba ªº PID
solaris_nsource=NFS ¨Ó·½
solaris_nhost=NFS ¥D¾÷¦WºÙ
solaris_ndir=NFS ¥Ø¿ý
solaris_nmult=¦h­« NFS ¦øªA¾¹
solaris_webnfs=WebNFS URL
solaris_ufs=UFS ºÏºÐ
solaris_scsi=SCSI ºÏºÐ
solaris_ctrlr=±±¨î¾¹
solaris_target=¥Ø¼Ð
solaris_unit=³æ¤¸
solaris_part=¤À³Î°Ï
solaris_raid=ºÏºÐ°}¦C¸Ë¸m
solaris_otherdev=¨ä¥L¸Ë¸m
solaris_swapfile=¥æ´«ÀÉ®×
solaris_file=ÀÉ®×
solaris_cdrom=¥úºÐ¾÷
solaris_msdos=MS-DOS ºÏºÐ
solaris_orig=­ì©lªº¥Ø¿ý
solaris_cache=§Ö¨ú¨Ó·½
solaris_automap=¦Û°Ê±¾¸ü¾¹¦a¹Ï
solaris_autohosts=©Ò¦³ªº NFS ¶×¥X
solaris_autoxfn=Áp¦Xªº©R¦WªA°È
solaris_server=¦øªA¾¹¦WºÙ
solaris_share=¤À¨É¦WºÙ
solaris_ro=¬O§_°ßÅª¡H
solaris_nosuid=¬O§_¤£¤¹³\ SUID µ{¦¡¡H
solaris_grpid=ÀÉ®×¬O§_Ä~©Ó GID¡H
solaris_soft=¹O®É®É¬O§_¦^À³¿ù»~¡H
solaris_bg=¬O§_¦b­I´º­«¸Õ±¾¸ü¡H
solaris_quota=¬O§_Åã¥ÜºÏºÐ°tÃB¡H
solaris_nointr=¬O§_¤¹³\¨Ï¥ÎªÌ¤¤Â_¡H
solaris_nfsver=NFS ª©¥»
solaris_highest=³Ì·sªº
solaris_proto=³q°T¨ó©w
solaris_port=NFS ³q°T°ð
solaris_timeo=¹O®É
solaris_retrans=­«·s¶Ç¿é¼Æ¥Ø
solaris_auth=»{ÃÒ
solaris_none=µL
solaris_des=DES
solaris_krb=Kerberos
solaris_public=¬O§_¬° WebNFS ±¾¸ü¡H
solaris_quotab=¬O§_¦b±Ò°Ê®É±Ò°ÊºÏºÐ°tÃB¡H
solaris_onerror=¿ù»~®Éªº°Ê§@
solaris_toosoon=­×´_ªº©µ¿ð
solaris_time_s=¬í
solaris_time_m=¤À
solaris_time_h=®É
solaris_time_d=¤é
solaris_time_w=©P
solaris_time_y=¦~
solaris_noatime=¬O§_§ó·s¦s¨ú®É¶¡¡H
solaris_force=¬O§_±j¨îª½±µ IO¡H
solaris_nolarge=¬O§_¤¹³\¤jÀÉ®×¡H
solaris_logging=¬O§_±Ò°Ê¬ö¿ý¡H
solaris_nrr=¬O§_©¿²¤ Unix ÄÝ©Ê¡H
solaris_notraildot=¬O§_©¿²¤§ÀºÝªºÂI¡H
solaris_nomaplcase=¬O§_¨Ï¥Î¤p¼g¡H
solaris_foldcase=¬O§_±j¨î¤p¼g¡H
solaris_noopts=¨S¦³¿ï¶µ¦s¦b
solaris_size=¤j¤p
solaris_max=³Ì¤j­È
solaris_backfs=¯u¹êÀÉ®×¨t²ÎÃþ§O
solaris_backpath=¯u¹ê±¾¸üÂI
solaris_cachedir=§Ö¨ú¥Ø¿ý
solaris_wmode=¼g¤J¼Ò¦¡
solaris_con=¤@­P©ÊÀË¬d
solaris_period=©w´Áªº
solaris_never=¥Ã¤£
solaris_demand=¨Ì¾Ú­n¨D
solaris_waround=¼g¤J®É
solaris_nshared=¤£¤À¨Éªº
solaris_local=¬O§_ÀË¬d§Ö¨ú¤¤ªºÅv­­¡H
solaris_nobrowse=¬O§_±Ò°ÊÂsÄý¡H
solaris_auto=¦Û°Ê
solaris_mname=¦øªA¾¹¥D¾÷¦WºÙ
solaris_cname=«È¤áºÝ¦WºÙ
solaris_username=µn¤J¦WºÙ
solaris_password=µn¤J±K½X
solaris_uid=¨Ï¥ÎªÌÀÉ®×ÄÝ©ó
solaris_gid=¸s²ÕÀÉ®×ÄÝ©ó
solaris_fmode=ÀÉ®×Åv­­
solaris_dmode=¥Ø¿ýÅv­­
solaris_readwrite=Åª/¼g ¦s¨ú¬O§_¦w¥þ¡H
solaris_readonly=ÀÉ®×¬O§_¥i¥H°ßÅª¡H
solaris_noupper=¬O§_¥Î¤j¼g°e¥X±K½X¡H
solaris_attr=¬O§_¨Ï¥Î attrE ©R¥O¡H
solaris_eurl='$1' ¤£¬O¤@­Ó¦³®Äªº NFS URL
solaris_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
solaris_ehost2=¥D¾÷ '$1' ¤£¦s¦b
solaris_edown=¥D¾÷ '$1' ¬OÃö³¬ªº©Î¤£¤ä´© NFS
solaris_enfs=¥D¾÷ '$1' ¤£¤ä´© NFS
solaris_enfsdir='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý¦WºÙ. ¦b $2 ¤W¥i¥Îªº¥Ø¿ý¬°: $3
solaris_enfsperm=³o­Ó¥D¾÷¤£¤¹³\±N¥Ø¿ý $1 ±¾¸ü¦b $2
solaris_enfsmount=NFS ¿ù»~ - $1
solaris_ectrlr='$1' ¤£¬O¤@­Ó¦³®Äªº SCSI ±±¨î¾¹
solaris_etarget='$1' ¤£¬O¤@­Ó¦³®Äªº SCSI ¥Ø¼Ð¸¹½X
solaris_eunit='$1' ¤£¬O¤@­Ó¦³®Äªº SCSI ³æ¤¸¸¹½X
solaris_epart='$1' ¤£¬O¤@­Ó¦³®Äªº SCSI ¤À³Î°Ï¸¹½X
solaris_eraid='$1' ¤£¬O¤@­Ó¦³®ÄªººÏºÐ°}¦C³æ¤¸¸¹½X
solaris_epath='$1' i¤£¬O¤@­Ó¦³®Äªº¸ô®|¦WºÙ
solaris_eexist='$1' ¤£¦s¦b
solaris_edir='$1' ¤£¬O¤@­Ó¥Ø¿ý
solaris_eswapfile=¥æ´«ÀÉ '$1' ¤£¦s¦b
solaris_eopen=µLªk¶}±Ò $1 : $2
solaris_ebackfs=«á³ÆÀÉ®×¨t²Î '$1' ¨S¦³³Q±¾¸ü
solaris_ebacktype=«á³ÆÀÉ®×¨t²Î¬O '$1' ¦Ó¤£¬O $2
solaris_ecsrc='$1' ¤£¬O¤@­Ó¦³®Äªº§Ö¨ú¨Ó·½
solaris_eautomap=¿ò¥¢¦Û°Ê±¾¸ü¦a¹Ï¦WºÙ
solaris_eautofile=¦a¹ÏÀÉ®×e '$1' ¤£¦s¦b
solaris_etarget2='$1' ªº SCSI ¥Ø¼Ð¤£¦s¦b
solaris_epart2='$1' ªº SCSO ¤À³Î°Ï¤£¦s¦b
solaris_eraid2='$1' ªººÏºÐ°}¦C³]³Æ¤£¦s¦b
solaris_enopart=¨S¦³¤À³Î°Ï¦b '$1'
solaris_edevfile=³]³ÆÀÉ®× '$1' ¤£¦s¦b
solaris_edevice='$1' ªº³]³Æ¤£¦s¦b
solaris_efstyp=³]³Æ '$1' ³Q®æ¦¡¤Æ¦¨ $2
solaris_efstyp2=µLªkÀË¬dÀÉ®×¨t²ÎÃþ§O : $1
solaris_ecachedir='$1' ¤£¬O¤@­Ó¦³®Äªº§Ö¨ú¥Ø¿ý
solaris_efmode='$1' ¤£¬O¤@­Ó¦³®Äªº¤K¦ì¤¸ÀÉ®×¼Ò¦¡
solaris_edmode='$1' ¤£¬O¤@­Ó¦³®Äªº¤K¦ì¤¸¥Ø¿ý¼Ò¦¡

linux_eamd=AMD ¥¢±Ñ
linux_eauto=¦Û°Ê±¾¸ü¥¢±Ñ : $1
linux_esmbconn=µLªk³s±µ¨ì¦øªA¾¹
linux_ekillamd=µLªk±þ±¼ AMD
linux_ekillauto=µLªk±þ±¼ automount
linux_nfshost=NFS ¥D¾÷¦WºÙ
linux_nfsdir=NFS ¥Ø¿ý
linux_map=¦Û°Ê±¾¸ü¾¹¦a¹Ï
linux_swapfile=¥æ´«ÀÉ®×
linux_disk=ºÏºÐ
linux_smbserver=¦øªA¾¹¦WºÙ
linux_smbshare=¤À¨É¦WºÙ
linux_raid=ºÏºÐ°}¦C³]³Æ
linux_rdev=ºÏºÐ°}¦C³]³Æ $1
linux_other=¨ä¥L³]³Æ
linux_ro=¬O§_°ßÅª¡H
linux_sync=¬O§_½w½Ä¼g¤JÀÉ®×¨t²Î¡H
linux_nodev=¬O§_¤¹³\³]³ÆÀÉ®×¡H
linux_noexec=¬O§_¥i¥H°õ¦æ¤G¶i¦ìÀÉ¡H
linux_nosuid=¬O§_¤£¤¹³\ SUID ÀÉ®×¡H
linux_user=¬O§_¤¹³\¨Ï¥ÎªÌ±¾¸ü³o­ÓÀÉ®×¨t²Î¡H
linux_check=ÀË¬d¼Ò¦¡
linux_normal=¤@¯ë
linux_strict=¹ý©³ªº
linux_none=µL
linux_errors=¿ù»~®Éªº°Ê§@
linux_continue=Ä~Äò
linux_remount_ro=­«·s¥H°ßÅª±¾¸ü
linux_panic=Panic
linux_grpid=ÀÉ®×¬O§_Ä~©Ó GID¡H
linux_quotas=¬O§_¨Ï¥ÎºÏºÐ°tÃB¡H
linux_usrquota=¥u¦³¨Ï¥ÎªÌ
linux_grpquota=¥u¦³¸s²Õ
linux_usrgrpquota=¨Ï¥ÎªÌ»P¸s²Õ
linux_usrgrpquota2=¨Ï¥ÎªÌ»P¸s²Õ (©|¤£Ã­©w!)
linux_resuid=«O¯dµ¹¨Ï¥ÎªÌªºªÅ¶¡
linux_resgid=«O¯dµ¹¸s²ÕªºªÅ¶¡
linux_bg=¬O§_¦b­I´º­«¸Õ±¾¸ü¡H
linux_soft=¹O®É®É¬O§_¦^À³¿ù»~¡H
linux_timeo=¹O®É
linux_retrans=­«·s¶Ç¿é¼Æ¥Ø
linux_vers=NFS ª©¥»
linux_high=³Ì·sªº
linux_port=NFS ³q°T°ð
linux_intr=¬O§_¤¹³\¨Ï¥ÎªÌ¤¤Â_¡H
linux_tcp=RPC ³q°T¨ó©w
linux_uid=¨Ï¥ÎªÌÀÉ®×ÄÝ©ó
linux_gid=¸s²ÕÀÉ®×ÄÝ©ó
linux_rules=ÀÉ®×©R¦W³W«h
linux_relaxed=¤£©ëªº
linux_conv=DOS-Unix ·s¦æÂà´«
linux_allfiles=©Ò¦³ÀÉ®×
linux_textfiles=¥u¦³¤å¦rÀÉ®×
linux_umask=ÀÉ®×Åv­­¾B¸n
linux_quiet=¹Á¸Õ¨Ï¥Î <tt>chown</tt> ®É¬O§_¦^³ø¿ù»~¡H
linux_uni_xlate=¬O§_Âà´« Unicode ¦r¤¸¶°¡H
linux_posix=¬O§_¤¹³\ÀÉ®×¦WºÙ¥u¦³¤j¤p¼g¤£¦P¡H
linux_conv2=OS/2-Unix ·s¦æÂà´«
linux_rock=¬O§_©¿²¤ Unix ÄÝ©Ê¡H
linux_mode=µ¹«D Unix ¥úºÐªºÀÉ®×Åv­­
linux_noopts=¨S¦³¿ï¶µ¦s¦b
linux_timeout=¦b¨ø¸ü«eªº¶¢¸m®É¶¡
linux_pid_file=±N PID ¼g¤JÀÉ®×
linux_secs=¬í
linux_smbwarn=Äµ§i¡IÀÉ®×¨t²Î¤£¬O¥Ñ Webmin ©Ò±¾¸ü¡A©Ò¥H²{¦sªº¿ï¶µ¤£¯à¨Ï¥Î
linux_username=µn¤J¦WºÙ
linux_password=µn¤J±K½X
linux_sname=¦øªA¾¹¦WºÙ
linux_wg=¤u§@¸s²Õ
linux_auto=¦Û°Ê
linux_cname=«È¤áºÝ¦WºÙ
linux_mname=¦øªA¾¹¦ì§}
linux_fmode=ÀÉ®×¥þ¶µ
linux_dmode=¥Ø¿ýÅv­­
linux_notail=¬O§_¬°¤F³t«×¦ÓÄë¬¹¤@¨ÇªÅ¶¡¡H
linux_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
linux_ehost2=¥D¾÷ '$1' ¤£¦s¦b
linux_edown=¥D¾÷ '$1' ³QÃö³¬
linux_enfs=¥D¾÷ '$1' ¤£¤ä´© NFS
linux_elist=µLªk¨ú±o±¾¸ü¦Cªí : $1
linux_enfsdir='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý¦WºÙe. ¦b $2 ¤W¥i¥Îªº¥Ø¿ý¬°: $3
linux_enfsperm=³o­Ó¥D¾÷¤£¤¹³\±N¥Ø¿ý $1 ±¾¸ü¦b $2
linux_enfsmount=NFS ¿ù»~ - $1
linux_eautomap=¦Û°Ê±¾¸ü¦a¹ÏÀÉ '$1' ¤£¦s¦b
linux_edev=¨S¦³¿é¤J³]³Æ
linux_edevfile=³]³ÆÀÉ®× '$1' ¤£¦s¦b
linux_emask='$1' ¤£¬O¤@­Ó¦³®Äªº¤K¶i¦ì¾B¸n
linux_etimeout='$1' ¤£¬O¤@­Ó¦³®Äªº¹O®É
linux_epidfile='$1' ¤£¬O¤@­Ó¦³®Äªº PID ÀÉ®×
linux_efmode='$1' ¤£¬O¤@­Ó¦³®Äªº¤K¦ì¤¸ÀÉ®×¼Ò¦¡
linux_edmode='$1' ¤£¬O¤@­Ó¦³®Äªº¤K¦ì¤¸¥Ø¿ý¼Ò¦¡

   0707010002fc47000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000001d00000003reloc/mount/lfs-linux-lib.pl  # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc48000081e40000000000000002000000013d1fe2bc0000fc22000000200000000000000000000000000000001900000003reloc/mount/linux-lib.pl  # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc49000081a40000000000000002000000013d1fe2bd00000207000000200000000000000000000000000000001a00000003reloc/mount/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'mount-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, [long])
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
local $text = $long ? "log_${action}_l" : "log_${action}";
return &text($text, "<tt>".&html_escape($p->{'dev'})."</tt>",
		    &fstype_name($p->{'type'}),
		    "<tt>".&html_escape($p->{'dir'})."</tt>");
}

 0707010002fc4a000081a40000000000000002000000013d1fe2bd00000018000000200000000000000000000000000000001500000003reloc/mount/low.risk  noconfig=1
deny=/ /boot
0707010002fc4b000081a40000000000000002000000013d1fe2bd00000041000000200000000000000000000000000000001600000003reloc/mount/low.skill icons=1
ignore=proc fd usbdevfs devpts
opts=smbfs rumba
simple=1
   0707010002fc4c000081e40000000000000002000000013d1fe2bd00000e47000000200000000000000000000000000000001900000003reloc/mount/macos-lib.pl  # macos-lib.pl
# Mount table functions for OSX
# Only options for currently mounted filesystems are supported at the moment.

# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# Under FreeBSD, there seems to be no way to get additional mount options
# used by filesystems like NFS etc. Even getting the full details of mounted
# filesystems requires C code! So we have to call a specially-written external
# program to get the mount list
sub list_mounted
{
# get the list of mounted filesystems
local(@rv, $_);
local $cmd = "macos-mounts";
open(CMD, "$module_root_directory/$cmd |");
while(<CMD>) {
	local @p = split(/\t/, $_);
	if ($p[2] eq "procfs" || $p[1] eq "procfs") { $p[1] = $p[2] = "proc"; }
	push(@rv, \@p);
	}
close(CMD);
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);

$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
$opts = join(',', grep { !/quota/ } split(/,/, $opts));
$out = &backquote_logged("mount -t $_[2] $opts $_[1] $_[0] 2>&1");
if ($?) { return "<pre>$out</pre>"; }

return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
$out = &backquote_logged("umount $_[0] 2>&1");
if ($?) { return "<pre>$out</pre>"; }
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
# The first is:
#  0 - cannot be permanently recorded
#	(smbfs under linux)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (2, 1, 0, 1); }
elsif ($_[0] eq "ufs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @rv = ("ufs", "nfs", "cd9660", "msdos", "swap");
push(@rv, "ext2fs") if (&has_command("mount_ext2fs"));
push(@rv, "ntfs") if (&has_command("mount_ntfs"));
return @rv;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ufs", "FreeBSD Unix Filesystem",
	  "nfs","Network Filesystem",
	  "hfs","Macintosh Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "volfs","Volumes Filesystem",
	  "swap","Virtual Memory");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( );
}

1;

 0707010002fc4d000081e40000000000000002000000013d1fe2bd00002658000000200000000000000000000000000000001900000003reloc/mount/macos-mounts  þíúÎ             
  ¼   …      8__PAGEZERO                                         __TEXT                                    __text          __TEXT            ¬  è  ¬           €          __cstring       __TEXT            ”    ”                      __picsymbol_stub__TEXT            ˜  h  ˜           €        $     Ð__DATA                                    __data          __DATA                                           __la_symbol_ptr __DATA                (                   
    __nl_symbol_ptr __DATA             @     @                     __dyld          __DATA             P     P                       __bss           __DATA             l                             __common        __DATA            $p   @                                8__LINKEDIT        0          X                      /usr/lib/dyld         4   <9à 7     /usr/lib/libSystem.B.dylib               1  "ä  t      P                #                             "„                           "L         °      (  ¬                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |:x8!ÿüT! 48     ”!ÿÀ€z  8š ;c W{:|¤ÚH  	à |¦¿ÿð ”!ÿ°BŸ è¦||x|ž#x|½+xH ù=?  “‰=?  “É=?  “©=?  )P)  ,	  A‚ })¦},KxN€!=?  )T)  ,	  A‚ })¦},KxN€!H H M=?  )€	  ,   A‚ })¦},KxN€!=?  ) €	  ,   A‚ ƒãxÄóx})¦},KxN€!<  8c¤8 8H •€a 8,  A‚ H Í=?  )L8   	  €  |	x,   A‚ \9@  9`  |
 ®,   A‚ (|	X®,  /@‚ }IZ9k >  |	X®,   @‚ÿà,
  A‚ 8
 =?  H  =?  €  	8    <8Á <©ëx€  ,   A‚ „	 ,   @‚ÿø8	 =`¿ÿakÿÿ| X@A ) |	 @@ |	X@A |xƒãxÄóx¥ëxH  ¹H |¦“áÿü ”!ÿ°BŸ è¦<  8cì8 8H  }€ 8|	¦|xN€!€ X8! P|¦ƒáÿüN€  =`  k P,‹  A† N€  8  N8€  `„à8` 8  D  8` ;8  D  à =€  € P|	¦=€  aŒ N€ =`  k T}i¦N€ |¦¿Áÿø ”!ÿ |>xBŸ è¦8~ 88€ H ¥|`x <€ <,   @€ <H ±|ix€i  H ]|`x=?  €iÔ8c °<Ÿ  8„¸|xH ñ8` H í`   8    @€ @> <| H A€ H  Ø> @€ 8}*KxUK 6}kJUi 6}i€k 0H  É|`x> @}*KxUK 6}kJUi 6^ 8}iR9+ K~ @}h[xU
 6}JZUK 6 8}KB9j ¥^ @}GSxTè 6}RU
 6€þ 8}
:9H <€þ @ 8|å;xT¦ 6|Æ:TÇ 6}B<  8cÐ}$Kx}e[x}FSx|x 0H ½> @8	  @Kÿÿ€!  € |¦»ÁÿøN€  |¦¿¡ÿô ”!ÿ°|>xBŸ è¦~ h=?  9)x8   ˜	  > hU þ,   A‚ <  8cx<Ÿ  8„dH ±> hU z,   A‚ <  8cx<Ÿ  8„hH > hU 8,   A‚ <  8cx<Ÿ  8„pH i> hU ö,   A‚ <  8cx<Ÿ  8„xH E> hU ¼,   A‚ <  8cx<Ÿ  8„€H !> hU r,   A‚ <  8cx<Ÿ  8„ˆH ý> hU ¤,   A‚ <  8cx<Ÿ  8„H Ù> hU ´,   A‚ <  8cx<Ÿ  8„˜H µ=?  9)x‰i  }`t,   @‚ <  8c H  4?¿  ;½x<  8cxH 5|ix8	ÿÿ9   }=®<  8cxH  €!  € |¦»¡ÿôN€      __dyld_mod_term_funcs   __dyld_make_delayed_module_initializer_calls    The kernel support for the dynamic linker is not present to run this program.
  getmntinfo failed : %s
 %s	%s	%s	%s	%x
 ro, noexec, nosuid, nodev,  sync,   async,  quota,  union,  -   |¦BŸ }h¦=k  |¦‹x}‰¦9kxN€ |¦BŸ }h¦=k  |¦‹X}‰¦9kXN€ |¦BŸ }h¦=k  |¦‹8}‰¦9k8N€ |¦BŸ }h¦=k  |¦‹}‰¦9kN€ |¦BŸ }h¦=k  |¦‹ ø}‰¦9k øN€ |¦BŸ }h¦=k  |¦‹ Ø}‰¦9k ØN€ |¦BŸ }h¦=k  |¦‹ ¸}‰¦9k ¸N€ |¦BŸ }h¦=k  |¦‹ ˜}‰¦9k ˜N€ |¦BŸ }h¦=k  |¦‹ x}‰¦9k xN€ |¦BŸ }h¦=k  |¦‹ X}‰¦9k XN€               ”  $x  $p  8  8  8  8  8  8  8  8  8  8                                      8                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Ý       ò       
    °        P  E    à  S     T        P   3    ü   E    à   V    8  l     l                          ˜	    $p   ¦	    $t   Ê        Þ	    $x   ñ	   $|  	   $€  %	   $„  K	   $ˆ  ^	   $Œ  x	   $  “	   $”  °	   $˜  Ê	   $œ  ë	   $   	   $¤  1	   $¨   M      ‰    Ü  r    `  x	   $¬   o    ¬  —        u                 ³         é       R        Y       ¦       ¯       _        »       Ã       Ë       Õ       $  ]  Ž  ¼  ¦  ;  Q  s  ¿  ª  â         '   )   $   /   +   #   -   0   *   .   '   )   $   /   +   #   -   0   *   .   (   ,   &   %    _NXArgc _NXArgv ___progname __dyld_func_lookup __dyld_init_check __start _environ dyld_stub_binding_helper start ___keymgr_dwarf2_register_sections __carbon_init __cplus_init __cthread_init_routine __mh_execute_header __objcInit _atexit _catch_exception_raise _catch_exception_raise_state _catch_exception_raise_state_identity _clock_alarm_reply _do_mach_notify_dead_name _do_mach_notify_no_senders _do_mach_notify_port_deleted _do_mach_notify_send_once _do_seqnos_mach_notify_dead_name _do_seqnos_mach_notify_no_senders _do_seqnos_mach_notify_port_deleted _do_seqnos_mach_notify_send_once _errno _exit _mach_init_routine _main _receive_samples _expand_flags ___error ___sF _fprintf _getmntinfo _printf _strcat _strerror _strlen _pointer_to_objcInit _pointer_to_carbon_init __call_mod_init_funcs dyld_lazy_symbol_binding_entry_point error_message dyld_func_lookup_pointer _buf.9  0707010002fc4e000081a40000000000000002000000013d1fe2bd000003f4000000200000000000000000000000000000001b00000003reloc/mount/macos-mounts.c    #include <stdio.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>

char *find_type(int t);
char *expand_flags(int f);

int main(void)
{
struct statfs *mntlist;
int n, i;

n = getmntinfo(&mntlist, MNT_NOWAIT);
if (n < 0) {
	fprintf(stderr, "getmntinfo failed : %s\n", strerror(errno));
	exit(1);
	}
for(i=0; i<n; i++) {
	printf("%s\t%s\t%s\t%s\t%x\n",
		mntlist[i].f_mntonname,
		mntlist[i].f_mntfromname,
		mntlist[i].f_fstypename,
		expand_flags(mntlist[i].f_flags),
		mntlist[i].f_flags);
	}
}

char *expand_flags(int f)
{
static char buf[1024];
buf[0] = 0;
if (f & MNT_RDONLY) strcat(buf, "ro,");
if (f & MNT_NOEXEC) strcat(buf, "noexec,");
if (f & MNT_NOSUID) strcat(buf, "nosuid,");
if (f & MNT_NODEV) strcat(buf, "nodev,");
if (f & MNT_SYNCHRONOUS) strcat(buf, "sync,");
if (f & MNT_ASYNC) strcat(buf, "async,");
if (f & MNT_QUOTA) strcat(buf, "quota,");
if (f & MNT_UNION) strcat(buf, "union,");
if (buf[0] == 0) return "-";
buf[strlen(buf)-1] = 0;
return buf;
}

0707010002fc4f000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002200000003reloc/mount/mandrake-linux-lib.pl # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc50000081a40000000000000002000000013d1fe2bd0000000b000000200000000000000000000000000000001800000003reloc/mount/medium.risk   noconfig=1
 0707010002fc51000081a40000000000000002000000013d1fe2bd00000029000000200000000000000000000000000000001900000003reloc/mount/medium.skill  opts=smbfs rumba msdos fat vfat
simple=1
   0707010002fc52000081a40000000000000002000000013d1fe2ea000003bd000000200000000000000000000000000000001800000003reloc/mount/module.info   desc_ru_SU=íÏÎÔÉÒÕÅÍÙÅ æÁÊÌÏ×ÙÅ óÉÓÔÅÍÙ
risk=low medium high
desc_ko_KR.euc=µð½ºÅ© ¹× ³×Æ®¿öÅ© ÆÄÀÏ½Ã½ºÅÛ
desc_zh_TW.Big5=ºÏºÐ»Pºô¸ôÀÉ®×¨t²Î
desc_pl=Lokalne i&nbsp;sieciowe systemy plików
desc_de=Platten- und Netzwerk-Dateisysteme
name=Disk Manager
desc_zh_CN=´ÅÅÌºÍÍøÂçÎÄ¼þÏµÍ³
desc_pt=Sistema de Ficheiros de Disco e Rede
category=system
desc_tr=Disk ve Að Dosya Sistemi
os_support=slackware-linux redhat-linux mandrake-linux solaris debian-linux suse-linux freebsd hpux unixware open-linux turbo-linux corel-linux openbsd cobalt-linux lfs-linux msc-linux generic-linux gentoo-linux
desc=Disk and Network Filesystems
desc_es=Sistemas de Archivo de Disco y Red
desc_sv=Filsystem för diskar och nätverk
desc_fr=Montages disques et réseaux
desc_ja_JP.euc=¥Ç¥£¥¹¥¯¤ª¤è¤Ó¥Í¥Ã¥È¥ï¡¼¥¯Ž¥¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
depends=proc 0.990
version=0.990
desc_hu=Lemez és hálózati filerendszerek
desc_ca=Sistemes de Fitxers en Xarxa i Disc
desc_ru_RU=Ìîíòèðóåìûå Ôàéëîâûå Ñèñòåìû
   0707010002fc53000081a40000000000000002000000013d1fe2bd000010b0000000200000000000000000000000000000001900000003reloc/mount/mount-lib.pl  # mount-lib.pl
# Functions for handling the /etc/[v]fstab file. Some functions are defined in
# here, and some in OS-specific files named <os_type>-lib.pl

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# get_mount(directory|'swap', device)
# Returns the index of this mount, or -1 if not known
sub get_mount
{
local(@mlist, $p, $d, $i);
@mlist = &list_mounts();
for($i=0; $i<@mlist; $i++) {
	$p = $mlist[$i];
	if ($_[0] eq "*" && $p->[1] eq $_[1]) {
		# found by match on device
		return $i;
		}
	elsif ($_[1] eq "*" && $p->[0] eq $_[0]) {
		# found by match on directory
		return $i;
		}
	elsif ($p->[0] eq $_[0] && $p->[1] eq $_[1]) {
		# found by match on both
		return $i;
		}
	}
return -1;
}


# get_mounted(directory|'swap', device)
# Returns the index of this current mount, or -1 if not known
sub get_mounted
{
local(@mlist, $p, $d, $i);
@mlist = &list_mounted();
for($i=0; $i<@mlist; $i++) {
	$p = $mlist[$i];
	if ($_[0] eq "*" && $p->[1] eq $_[1]) {
		# found by match on device
		return $i;
		}
	elsif ($_[1] eq "*" && $p->[0] eq $_[0]) {
		# found by match on directory
		return $i;
		}
	elsif ($p->[0] eq $_[0] && $p->[1] eq $_[1]) {
		# found by match on both
		return $i;
		}
	}
return -1;
}


# parse_options(type, options)
# Convert an options string for some filesystem into the associative
# array %options
sub parse_options
{
local($_);
undef(%options);
if ($_[1] ne "-") {
	foreach (split(/,/, $_[1])) {
		if (/^([^=]+)=(.*)$/) { $options{$1} = $2; }
		else { $options{$_} = ""; }
		}
	}
}


# swap_form(path)
# This function should be called by os-specific code to display a form
# asking for the size of a swap file to create. The form will be submitted
# to a creation program, and then redirected back to the original mount cgi
sub swap_form
{
&header("Create Swap File", "");
print "<hr>\n";
print "<form action=create_swap.cgi>\n";
foreach $k (keys %in) {
	print "<input type=hidden name=\"$k\" value=\"$in{$k}\">\n";
	}
print "<input type=hidden name=cswap_file value=\"$_[0]\">\n";
print "The swap file <tt>$_[0]</tt> does not exist.<p>\n";
print "Create and mount a swap file with size <input name=cswap_size size=6>\n";
print "<select name=cswap_units>\n";
print "<option value=k> kB\n";
print "<option value=m> MB\n";
print "</select>\n";
print "<input type=submit value=\"Create\"></form>\n";
print "<hr>\n";
&footer("", "mount list");
exit;
}

# nfs_server_chooser_button(input, [form])
sub nfs_server_chooser_button
{
local($form);
$form = @_ > 1 ? $_[1] : 0;
print "<input type=button onClick='ifield = document.forms[$form].$_[0]; nfs_server = window.open(\"nfs_server.cgi\", \"nfs_server\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300\"); nfs_server.ifield = ifield' value=\"...\">\n";
}

# nfs_export_chooser_button(serverinput, exportinput, [form])
sub nfs_export_chooser_button
{
local($form);
$form = @_ > 2 ? $_[2] : 0;
print "<input type=button onClick='if (document.forms[$form].$_[0].value != \"\") { ifield = document.forms[$form].$_[1]; nfs_export = window.open(\"nfs_export.cgi?server=\"+document.forms[$form].$_[0].value, \"nfs_export\", \"toolbar=no,menubar=no,scrollbars=yes,width=500,height=200\"); nfs_export.ifield = ifield; }' value=\"...\">\n";
}

# smb_server_chooser_button(serverinput, [form])
sub smb_server_chooser_button
{
local($form);
$form = @_ > 1 ? $_[1] : 0;
if (&has_command($config{'smbclient_path'})) {
	print "<input type=button onClick='ifield = document.forms[$form].$_[0]; smb_server = window.open(\"smb_server.cgi\", \"smb_server\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300\"); smb_server.ifield = ifield' value=\"...\">\n";
	}
}

# smb_share_chooser_button(serverinput, shareinput, [form])
sub smb_share_chooser_button
{
local($form);
$form = @_ > 2 ? $_[2] : 0;
if (&has_command($config{'smbclient_path'})) {
	print "<input type=button onClick='if (document.forms[$form].$_[0].value != \"\") { ifield = document.forms[$form].$_[1]; smb_share = window.open(\"smb_share.cgi?server=\"+document.forms[$form].$_[0].value, \"smb_share\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300\"); smb_share.ifield = ifield; }' value=\"...\">\n";
	}
}

# Include the correct OS-specific functions file
do "$gconfig{'os_type'}-lib.pl";

1;

0707010002fc54000081e40000000000000002000000013d1fe2bd0000019f000000200000000000000000000000000000001600000003reloc/mount/mount.cgi #!/usr/local/bin/perl
# mount.cgi
# Mount a currently unmounted filesystem

require './mount-lib.pl';
&ReadParse();

@mounts = &list_mounts();
$mount = $mounts[$in{'index'}];
&error_setup(&text('mount_err', $mount->[0]));
$err = &mount_dir(@$mount);
&error($err) if ($err);
&webmin_log("mount", undef, undef, { 'dev' => $mount->[0],
				     'type' => $mount->[2],
				     'dir' => $mount->[1] });
&redirect("");

 0707010002fc55000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000001d00000003reloc/mount/msc-linux-lib.pl  # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc56000081e40000000000000002000000013d1fe2bd000003e9000000200000000000000000000000000000001b00000003reloc/mount/nfs_export.cgi    #!/usr/local/bin/perl
# nfs_export.cgi
# Display a list of NFS exports on some host for the user to choose from

require './mount-lib.pl';
&ReadParse();
&header();
print <<EOF;
<script>
function choose(f)
{
ifield.value = f;
window.close();
}
</script>
EOF

print "<title>Choose NFS Directory on $in{'server'}</title>\n";
if ($error = &exports_list($in{'server'}, \@dirs, \@clients)) {
	print "<b>",&text('nfs_failed', $in{'server'},
			  "<p><tt>$error</tt><p>"),"</b>\n";
	exit;
	}
print "<b>$text{'nfs_seldir'}</b>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'nfs_dir'}</b></td> ",
      "<td><b>$text{'nfs_clients'}</b></td> </tr>\n";
for($i=0; $i<@dirs; $i++) {
	print "<tr $cb>\n";
	print "<td><a href=\"\" onClick='choose(\"$dirs[$i]\"); return false'>",
	      "$dirs[$i]</a></td>\n";
	printf "<td>%s</td>\n",
		length($clients[$i]) > 45 ?
			&html_escape(substr($clients[$i], 0, 45))." ..." :
			&html_escape($clients[$i]);
	print "</tr>\n";
	}
print "</table>\n";

   0707010002fc57000081e40000000000000002000000013d1fe2bd000006f8000000200000000000000000000000000000001b00000003reloc/mount/nfs_server.cgi    #!/usr/local/bin/perl
# nfs_server.cgi
# Called in a pop-up javascript window to display a list of known NFS
# servers, generated by broadcasting on the NFS port

require './mount-lib.pl';
use Socket;
&header();
print <<EOF;
<script>
function choose(f)
{
ifield.value = f;
window.close();
}
</script>
EOF

print "<title>$text{'nfs_server'}</title>\n";

# send NFS null procedure call to broadcast address, and wait for
# 2 seconds for all replies
$msg = pack("NNNNNNNNNN",
	time(),	# xid
	0,	# CALL
	2,	# RPC version 2
	100003,	# nfs program
	2,	# nfs version
	0,	# null procedure
	0, 0,	# no authority
	0, 0,	# no credentials
	);
socket(SOCK, PF_INET, SOCK_DGRAM, getprotobyname("udp"));
setsockopt(SOCK, SOL_SOCKET, SO_BROADCAST, pack("l", 1));
send(SOCK, $msg, 0, sockaddr_in(2049, inet_aton(&broadcast_addr())));
$tmstart = time();
while(time()-$tmstart < 2) {
	$rin = '';
	vec($rin, fileno(SOCK), 1) = 1;
	if (select($rout = $rin, undef, undef, 1)) {
		$from = recv(SOCK, $buf, 1024, 0);
		($fromport, $fromaddr) = sockaddr_in($from);
		$fromip = inet_ntoa($fromaddr);
		if ($fromip !~ /\.(255|0)$/ && !$already{$fromip}++) {
			push(@fromip, $fromip);
			push(@fromaddr, $fromaddr);
			}
		}
	}

if (@fromip) {
	print "<b>$text{'nfs_select'}</b><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'nfs_ip'}</b></td> ",
	      "<td><b>$text{'nfs_host'}</b></td> </tr>\n";
	for($i=0; $i<@fromip; $i++) {
		$fromhost = gethostbyaddr($fromaddr[$i], AF_INET);
		printf "<tr $cb> <td><a href=\"\" onClick='choose(\"%s\"); ".
		       "return false'>$fromip[$i]</a></td>\n",
			$fromhost ? $fromhost : $fromip[$i];
		printf "<td>%s</td> </tr>\n",
			$fromhost ? $fromhost : "<br>";
		}
	print "</table>\n";
	}
else { print "<b>$text{'nfs_none'}</b>.<p>\n"; }

0707010002fc58000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000001e00000003reloc/mount/open-linux-lib.pl # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc59000081e40000000000000002000000013d1fe2bd00005d87000000200000000000000000000000000000001b00000003reloc/mount/openbsd-lib.pl    # openbsd-lib.pl
# Mount table functions for openbsd

$uname_release = `uname -r`;

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{'fstab_file'});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc" || $p[2] eq "procfs") { $p[2] = $p[0] = "proc"; }
	if ($p[2] eq "swap") { $p[1] = "swap"; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

# Adding a normal mount to the fstab file
open(FSTAB, ">> $config{'fstab_file'}");
print FSTAB "$_[1]  $_[0]  $_[2]";
$opts = $_[3] eq "-" ? "" : $_[3];
if ($_[5] eq "no") {
	$opts = join(',' , (split(/,/ , $opts) , "noauto"));
	}
if ($opts eq "") { print FSTAB "  defaults"; }
else { print FSTAB "  $opts"; }
print FSTAB "  0  ";
print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
close(FSTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# Under OpenBSD, there seems to be no way to get additional mount options
# used by filesystems like NFS etc. Even getting the full details of mounted
# filesystems requires C code! So we have to call a specially-written external
# program to get the mount list
sub list_mounted
{
# get the list of mounted filesystems
local(@rv, $_);
local $cmd = $uname_release =~ /^3\./ ? "openbsd-mounts-3" :
					"openbsd-mounts-2";
open(CMD, "$module_root_directory/$cmd |");
while(<CMD>) {
	local @p = split(/\t/, $_);
	if ($p[2] eq "procfs" || $p[1] eq "procfs") { $p[1] = $p[2] = "proc"; }
	push(@rv, \@p);
	}
close(CMD);

# add output from swapinfo
foreach (split(/\n/, `swapinfo`)) {
	if (/^(\/\S+)\s+\d+\s+\d+/) {
		push(@rv, [ "swap", $1, "swap", "-" ]);
		}
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
else {
	# some disk-based filesystem
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	$opts = join(',', grep { !/quota/ } split(/,/, $opts));
	$out = &backquote_logged("mount -t $_[2] $opts $_[1] $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Not possible!
	&error("Swap space cannot be removed");
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
# The first is:
#  0 - cannot be permanently recorded
#	(smbfs under linux)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (2, 1, 0, 1); }
elsif ($_[0] eq "ffs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @rv = ("ffs", "nfs", "cd9660", "msdos", "swap");
push(@rv, "ext2fs") if (&has_command("mount_ext2fs"));
return @rv;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ffs", "OpenBSD Unix Filesystem",
	  "nfs","Network Filesystem",
	  "cd9660","ISO9660 CD-ROM",
	  "msdos","MS-DOS Filesystem",
	  "ext2fs","Linux Filesystem",
	  "swap","Virtual Memory",
	  "proc","Process Image Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return $_[0] eq "nfs";
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>NFS Hostname</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "</td>\n";
	print "<td><b>NFS Directory</b></td>\n";
	print "<td><input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
else {
	if ($_[0] eq "swap") {
		# Swap file or device
		printf "<tr> <td valign=top><b>Swap File</b></td>\n";
		}
	else {
		# Disk-based filesystem
		printf "<tr> <td valign=top><b>%s Disk</b></td>\n",
			&fstype_name($_[0]);
		}
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/wd(\d)s(\d)([a-z]*)$/) {
		$disk_dev = 0; $ide_t = $1; $ide_s = $2; $ide_p = $3;
		}
	elsif ($_[1] =~ /^\/dev\/sd(\d)s(\d)([a-z]*)$/) {
		$disk_dev = 1; $scsi_t = $1; $scsi_s = $2; $scsi_p = $3;
		}
	else { $disk_dev = 2; }

	printf "<input type=radio name=disk_dev value=0 %s> IDE Hard Disk:\n",
		$disk_dev == 0 ? "checked" : "";
	print "Device <input name=ide_t size=3 value=\"$ide_t\">\n";
	print "Slice <input name=ide_s size=3 value=\"$ide_s\">\n";
	print "Partition <input name=ide_p size=3 value=\"$ide_p\"><br>\n";

	printf "<input type=radio name=disk_dev value=1 %s> SCSI Disk:\n",
		$disk_dev == 1 ? "checked" : "";
	print "Device <input name=scsi_t size=3 value=\"$scsi_t\">\n";
	print "Slice <input name=scsi_s size=3 value=\"$scsi_s\">\n";
	print "Partition <input name=scsi_p size=3 value=\"$scsi_p\"><br>\n";

	printf "<input type=radio name=disk_dev value=2 %s> Other Device:\n",
		$disk_dev == 2 ? "checked" : "";
	printf "<input size=20 name=dev_path value=\"%s\"><br>\n",
		$disk_dev == 2 ? $_[1] : "";
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap") {
	# These options are common to all filesystems
	print "<tr> <td><b>Read-only?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_ro value=1 %s> Yes\n",
		defined($options{"rdonly"}) || defined($options{"ro"})
			? "checked" : "";
	printf "<input type=radio name=bsd_ro value=0 %s> No</td>\n",
		defined($options{"rdonly"}) || defined($options{"ro"})
			? "" : "checked";

	print "<td><b>Buffer writes to filesystem?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_sync value=0 %s> Yes\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=bsd_sync value=1 %s> No</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>Allow device files?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_nodev value=0 %s> Yes\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=bsd_nodev value=1 %s> No</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>Allow execution of binaries?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_noexec value=0 %s> Yes\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=bsd_noexec value=1 %s> No</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=bsd_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=bsd_nosuid value=0 %s> No</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>Update access times?</b></td>\n";
	printf"<td nowrap><input type=radio name=bsd_noatime value=0 %s> Yes\n",
		defined($options{"noatime"}) ? "" : "checked";
	printf "<input type=radio name=bsd_noatime value=1 %s> No</td> </tr>\n",
		defined($options{"noatime"}) ? "checked" : "";

	}

if ($_[0] eq "ffs") {
	# FFS filesystems support quotas
	print "<tr> <td><b>User quotas at boot</b></td> <td colspan=3>\n";
	printf "<input type=radio name=ffs_userquota value=0 %s> Disabled\n",
		defined($options{'userquota'}) ? "" : "checked";
	printf "<input type=radio name=ffs_userquota value=1 %s> Enabled\n",
		defined($options{'userquota'}) && $options{'userquota'} eq ""
			? "checked" : "";
	printf "<input type=radio name=ffs_userquota value=2 %s>\n",
		$options{'userquota'} ? "checked" : "";
	print "Enabled, use file\n";
	printf "<input name=ffs_userquota_file size=30 value=\"%s\">\n",
		$options{'userquota'};
	print "</td> </tr>\n";
		
	print "<tr> <td><b>Group quotas at boot</b></td> <td colspan=3>\n";
	printf "<input type=radio name=ffs_groupquota value=0 %s> Disabled\n",
		defined($options{'groupquota'}) ? "" : "checked";
	printf "<input type=radio name=ffs_groupquota value=1 %s> Enabled\n",
		defined($options{'groupquota'}) && $options{'groupquota'} eq ""
			? "checked" : "";
	printf "<input type=radio name=ffs_groupquota value=2 %s>\n",
		$options{'groupquota'} ? "checked" : "";
	print "Enabled, use file\n";
	printf "<input name=ffs_groupquota_file size=30 value=\"%s\">\n",
		$options{'groupquota'};
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# NFS filesystems have lots more options
	print "<tr> <td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_b value=1 %s> Yes\n",
		defined($options{"-b"}) ? "checked" : "";
	printf "<input type=radio name=nfs_b value=0 %s> No</td>\n",
		defined($options{"-b"}) ? "" : "checked";

	print "<td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_s value=1 %s> Yes\n",
		defined($options{"-s"}) ? "checked" : "";
	printf "<input type=radio name=nfs_s value=0 %s> No</td> </tr>\n",
		defined($options{"-s"}) ? "" : "checked";

	print "<tr> <td><b>Timeout</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_t_def value=1 %s> Default\n",
		defined($options{"-t"}) ? "" : "checked";
	printf "<input type=radio name=nfs_t_def value=0 %s>\n",
		defined($options{"-t"}) ? "checked" : "";
	printf "<input size=5 name=nfs_t value=\"$options{'-t'}\"></td>\n";

	print "<td><b>Number of Retransmissions</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_x_def value=1 %s> Default\n",
		defined($options{"-x"}) ? "" : "checked";
	printf "<input type=radio name=nfs_x_def value=0 %s>\n",
		defined($options{"-x"}) ? "checked" : "";
	print "<input size=5 name=nfs_x value=\"$options{'-x'}\"></td> </tr>\n";

	print "<tr> <td><b>NFS version</b></td> <td nowrap>\n";
	local $v = defined($options{"-2"}) ? 2 :
		   defined($options{"-3"}) ? 3 : 0;
	printf "<input type=radio name=nfs_ver value=0 %s> Auto\n",
		$v ? "" : "checked";
	printf "<input type=radio name=nfs_ver value=2 %s> V2\n",
		$v == 2 ? "checked" : "";
	printf "<input type=radio name=nfs_ver value=3 %s> V3</td>\n",
		$v == 3 ? "checked" : "";

	print "<td><b>Mount retries</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_r_def value=1 %s> Default\n",
		defined($options{"-R"}) ? "" : "checked";
	printf "<input type=radio name=nfs_r_def value=0 %s>\n",
		defined($options{"-R"}) ? "checked" : "";
	print "<input size=5 name=nfs_r value=\"$options{'-R'}\"></td> </tr>\n";

	print "<tr> <td><b>Read-ahead blocks</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_a_def value=1 %s> Default\n",
		defined($options{"-a"}) ? "" : "checked";
	printf "<input type=radio name=nfs_a_def value=0 %s>\n",
		defined($options{"-a"}) ? "checked" : "";
	print "<input size=5 name=nfs_a value=\"$options{'-a'}\"></td> </tr>\n";

	print "<tr> <td><b>RPC Protocol</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_t2 value=1 %s> TCP\n",
		defined($options{"-T"}) ? "checked" : "";
	printf "<input type=radio name=nfs_t2 value=0 %s> UDP</td> </tr>\n",
		defined($options{"-T"}) ? "" : "checked";
	}
elsif ($_[0] eq "msdos"){
	# MS-DOS filesystems options deal with filling in
	# missing unix functionality
	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input name=msdos_u size=8 value=\"%s\">\n",
		defined($options{"-u"}) ? getpwuid($options{"-u"}) : "";
	print &user_chooser_button("msdos_u", 0),"</td>\n";

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input name=msdos_g size=8 value=\"%s\">\n",
		defined($options{"-g"}) ? getgrgid($options{"-g"}) : "";
	print &group_chooser_button("msdos_g", 0),"</td>\n";

	print "<tr> <td><b>File permissions mask</b></td>\n";
	printf "<td><input type=radio name=msdos_m_def value=1 %s> Default\n",
		defined($options{"-m"}) ? "" : "checked";
	printf "<input type=radio name=msdos_m_def value=0 %s>\n",
		defined($options{"-m"}) ? "checked" : "";
	print "<input size=5 name=msdos_m value=\"$options{'-m'}\"></td>\n";
	}
elsif ($_[0] eq "cd9660") {
	# CDROM filesystem
	print "<tr> <td><b>Ignore Unix Attributes?</b></td>\n";
	printf "<td><input type=radio name=cd9660_r value=1 %s> Yes\n",
		defined($options{"-r"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_r value=0 %s> No</td>\n",
		defined($options{"-r"}) ? "" : "checked";

	print "<td><b>Show version numbers?</b></td>\n";
	printf "<td><input type=radio name=cd9660_g value=1 %s> Yes\n",
		defined($options{"-g"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_g value=0 %s> No</td> </tr>\n",
		defined($options{"-g"}) ? "" : "checked";

	print "<tr> <td><b>Use extended attributes?</b></td>\n";
	printf "<td><input type=radio name=cd9660_e value=1 %s> Yes\n",
		defined($options{"-e"}) ? "checked" : "";
	printf "<input type=radio name=cd9660_e value=0 %s> No</td> </tr>\n",
		defined($options{"-e"}) ? "" : "checked";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	# Use ping and showmount to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error("'$in{nfs_host}' is not a valid hostname");
		}
	$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
	if ($out =~ /unknown host/i) {
		&error("The host '$in{nfs_host}' does not exist");
		}
	elsif ($out =~ /100\% packet loss/) {
		&error("The host '$in{nfs_host}' is down");
		}
	$out = `showmount -e '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unable to receive/) {
		&error("The host '$in{nfs_host}' does not support NFS");
		}
	elsif ($?) {
		&error("Failed to get mount list : $out");
		}

	# Validate directory name
	foreach (split(/\n/, $out)) {
		if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
		}
	if ($in{nfs_dir} !~ /^\/\S+$/) {
		&error("'$in{nfs_dir}' is not a valid directory name. The ".
		       "available directories on $in{nfs_host} are:".
		       "<pre>$dirlist</pre>");
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
else {
	# This is some kind of disk-based filesystem.. get the device name
	if ($in{'disk_dev'} == 0) {
		$in{'ide_t'} =~ /^\d+$/ ||
			&error("'$in{ide_t}' is not a valid device number");
		$in{'ide_s'} =~ /^\d+$/ ||
			&error("'$in{ide_s}' is not a valid slice number");
		$in{'ide_p'} =~ /^[a-z]*$/ ||
			&error("'$in{ide_p}' is not a valid partition letter");
		$dv = "/dev/wd$in{ide_t}s$in{ide_s}$in{ide_p}";
		}
	elsif ($in{'disk_dev'} == 1) {
		$in{'scsi_t'} =~ /^\d+$/ ||
			&error("'$in{scsi_t}' is not a valid device number");
		$in{'scsi_s'} =~ /^\d+$/ ||
			&error("'$in{scsi_s}' is not a valid slice number");
		$in{'scsi_p'} =~ /^[a-z]*$/ ||
			&error("'$in{scsi_p}' is not a valid partition letter");
		$dv = "/dev/sd$in{scsi_t}s$in{scsi_s}$in{scsi_p}";
		}
	else {
		$dv = $in{'dev_path'};
		}

	# If the device entered is a symlink, follow it
	if ($dvlink = readlink($dv)) {
		if ($dvlink =~ /^\//) { $dv = $dvlink; }
		else {	$dv =~ /^(.*\/)[^\/]+$/;
			$dv = $1.$dvlink;
			}
		}

	# Check if the device actually exists and uses the right filesystem
	(-r $dv) || &error("The device file '$dv' does not exist");
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap") {
	delete($options{"ro"}); delete($options{"rw"});
	delete($options{"rdonly"});
	if ($in{'bsd_ro'}) { $options{'ro'} = ''; }
	else { $options{'rw'} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{'bsd_sync'}) { $options{'sync'} = ''; }

	delete($options{'nodev'});
	if ($in{'bsd_nodev'}) { $options{'nodev'} = ''; }

	delete($options{'noexec'});
	if ($in{'bsd_noexec'}) { $options{'noexec'} = ''; }

	delete($options{'nosuid'});
	if ($in{'bsd_nosuid'}) { $options{'nosuid'} = ''; }

	delete($options{'noatime'});
	if ($in{'bsd_noatime'}) { $options{'noatime'} = ''; }

	}
else {
	# Swap always has the sw option
	$options{'sw'} = "";
	}

if ($_[0] eq "ffs") {
	# Parse FFS quota options
	delete($options{'userquota'}) if ($in{'ffs_userquota'} == 0);
	$options{'userquota'} = "" if ($in{'ffs_userquota'} == 1);
	$options{'userquota'} = $in{'ffs_groupquota_file'}
		if ($in{'ffs_userquota'} == 2);

	delete($options{'groupquota'}) if ($in{'ffs_groupquota'} == 0);
	$options{'groupquota'} = "" if ($in{'ffs_groupquota'} == 1);
	$options{'groupquota'} = $in{'ffs_groupquota_file'}
		if ($in{'ffs_groupquota'} == 2);
	}
elsif ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{'-b'});
	$options{'-b'} = "" if ($in{'nfs_b'});

	delete($options{'-s'});
	$options{'-s'} = "" if ($in{'nfs_s'});

	delete($options{'-t'});
	$options{'-t'} = $in{'nfs_t'} if (!$in{'nfs_t_def'});

	delete($options{'-x'});
	$options{'-x'} = $in{'nfs_x'} if (!$in{'nfs_x_def'});

	delete($options{'-2'}); delete($options{'-3'});
	$options{'-2'} = "" if ($in{'nfs_ver'} == 2);
	$options{'-3'} = "" if ($in{'nfs_ver'} == 3);

	delete($options{'-R'});
	$options{'-R'} = $in{'nfs_r'} if (!$in{'nfs_r_def'});

	delete($options{'-a'});
	$options{'-a'} = $in{'nfs_a'} if (!$in{'nfs_a_def'});

	delete($options{'-T'});
	$options{'-T'} = "" if ($in{'nfs_t2'});
	}
elsif ($_[0] eq "msdos") {
	# MSDOS options for file ownership/perms
	delete($options{"-u"}); delete($options{"-g"});
	if ($in{'msdos_u'} ne "") { $options{'-u'} = getpwnam($in{'msdos_u'}); }
	if ($in{'msdos_g'} ne "") { $options{'-g'} = getgrnam($in{'msdos_g'}); }

	delete($options{"-m"});
	if (!$in{'msdos_m_def'}) {
		$in{'msdos_m'} =~ /^[0-7]{3}$/ ||
			&error("'$in{'msdos_m'}' is not a valid octal mask");
		$options{'-m'} = $in{'msdos_m'};
		}
	}
elsif ($_[0] eq "cd9660") {
	# Options for iso9660 cd-roms
	delete($options{'-r'});
	$options{'-r'} = "" if ($in{'cd9660_r'});

	delete($options{'-g'});
	$options{'-g'} = "" if ($in{'cd9660_g'});

	delete($options{'-e'});
	$options{'-e'} = "" if ($in{'cd9660_e'});
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}

# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)\s+/) { return $1; }
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'} );
}

1;

 0707010002fc5a000081e40000000000000002000000013d1fe2bd00006422000000200000000000000000000000000000001d00000003reloc/mount/openbsd-mounts-2  €†                       U‰åƒìWVSu~‹ÁàD8£<&  ‹^…Ût&ƒÄøj/Sè%  £ä   ƒÄ…Àu	‰ä   ë@£ä   ÇEü    ‹Eü‹Eü…ÀtƒÄôh    èÈ   ƒÄƒÄôƒÄüÿ5<&  Wÿ6è!  Pè×  YXQÍ€QrÃ¸ÿÿÿÿÃ/usr/libexec/ld.so No ld.so
 Failure reading ld.so
 Bad magic: ld.so
 Cannot map ld.so
 crt0: update /usr/libexec/ld.so
 ld.so failed
 U‰åƒì,WVS‹}Ç !  ´  j j h´  jè/ÿÿÿ£!  ƒÄƒøÿu8‹Gƒx uÇ,!      éÚ  j
hÇ  jjèùþÿÿƒÄøjjèíþÿÿƒÄ j EàPÿ5!  jè×þÿÿƒÄƒøwjhÑ  jjè¿þÿÿƒÄøjjè³þÿÿƒÄ ‹Eà©  ÿÿtfÁÈÁÈfÁÈf=uëL=  tC‹Eà©  ÿÿtfÁÈÁÈfÁÈf=Ì u	ë&=Ì   tjhè  jjèVþÿÿƒÄøjjèJþÿÿƒÄ Ç!  ÿÿÿÿƒÄü‹Eà©  ÿÿtfÁÈÁÈfÁÈf=uë|   =  tp‹Eà©  ÿÿtfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëM   =Ì  t@‹Eà©  ÿÿtfÁÈÁÈfÁÈ%ÿÿ  = të   = u¸   ë¸    ë1À1ÒRPj ÿ5!  jj‹EèEäEìPj j hÅ   hÆ   èrýÿÿ£!  ƒÄ0ƒøÿujhú  jjèUýÿÿƒÄøjjèIýÿÿƒÄ ƒÄü‹Eà‰Â÷Â  ÿÿtfÁÈÁÈfÁÈf=t8ë
ú  t,÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=Ì téÈ   úÌ   …¼   ‹Mä‰Ë÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=ué‡   ‰Ð   =  tv÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëS‰Ð   =Ì  tB÷Â  ÿÿtfÁÊÁÊfÁÊ·Òú tëÊ   ú u
ÿ  ë  ëÿ  % ðÿÿé®   ‹Mä‰Ë÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=ué‡   ‰Ð   =  tv÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëS‰Ð   =Ì  tB÷Â  ÿÿtfÁÊÁÊfÁÊ·Òú tëÊ   ú u
   ëA ë‰È1ÒRPj ÿ5!  jjÿuè!  Sj hÅ   hÆ   èXûÿÿƒÄ0ƒøÿujhú  jjè@ûÿÿƒÄøjjè4ûÿÿƒÄ ‹Eì…Àt\ƒÄüj j j ÿ5!  h  jP‹EèEä!  Pj hÅ   hÆ   èõúÿÿƒÄ0ƒøÿujhú  jjèÝúÿÿƒÄøjjèÑúÿÿƒÄ ‰=!  ¡<&  £!  Ç!  ‹  ¡ä   £!  ¾!  ‹!  ƒÃ ƒÄøVjÿÓƒÄƒøÿuGj!h   jjè|úÿÿƒÄøVjÿÓƒÄ ƒøÿujhA  jjè\úÿÿƒÄøjjèPúÿÿ‹G£,!  ë¡$!  £,!  ƒÄôÿpèÿ	  eÈ[^_ÉÃU‰åƒì¡,!  …ÀtƒÄøÿuÿu‹ ÿÐë1ÀÉÃU‰åƒì¡,!  …ÀtƒÄôÿu‹@ÿÐë¸ÿÿÿÿÉÃU‰åƒì¡,!  …ÀtƒÄøÿuÿu‹@ÿÐë1ÀÉÃU‰åƒì¡,!  …ÀtƒÄüÿuÿuÿu‹@ÿÐë¸ÿÿÿÿÉÃService unavailable U‰åƒì‹,!  …ÒtƒÄüEüPjj ‹BÿÐƒÄƒøÿu¸  ë‹Eü…ÀtƒÄôPè 	  ë1ÀÉÃU‰åS‹EŠ]1ÉŠ8Úu‰Á„Òt@ëñ‰È[ÉÃ   getmntinfo failed : %s
 %s	%s	%s	%s	%x
 U‰åƒìèi  ƒÄøjEüPèË  ƒÄ‰À‰Eøƒ}ø }9ƒÄüƒÄô¡@&  Pèt  ƒÄ‰ÀPh˜  hä%  è  ƒÄƒÄôjèb  ƒÄÇEô    ‹Eô;Eø|é×   ƒÄø‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‹Eü‹RƒÄô‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‹Eü‹RèË   ƒÄ‰ÀP‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEüPDR‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEü®   R‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEüPTRh°  è“  ƒÄ ÿEôéÿÿÿÉÃro, noexec, nosuid, noatime, nodev, sync, async, quota, union, - U‰åƒìÆ0!   ‹Eƒà…ÀtƒÄøh  h0!  è  ƒÄ‹Eƒà…ÀtƒÄøh  h0!  èô  ƒÄ‹Eƒà…ÀtƒÄøh  h0!  èÕ  ƒÄ‹E% €ÿÿf…ÀtƒÄøh"  h0!  è³  ƒÄ‹Eƒà…ÀtƒÄøh+  h0!  è”  ƒÄ‹Eƒà…ÀtƒÄøh2  h0!  èu  ƒÄ‹Eƒà@…ÀtƒÄøh8  h0!  èV  ƒÄ‹E%    …ÀtƒÄøh?  h0!  è5  ƒÄ‹Eƒà …ÀtƒÄøhF  h0!  è  ƒÄ€=0!   u
¸M  ë+ƒÄôh0!  èë  ƒÄ‰ÀPÿ¸0!  Æ ¸0!  ëÉÃ  U‰åƒìë¡è   P‰è   ‹ ÿÐ¡è   ƒ8 uäÉÃU‰åƒìS¡ð   ƒøÿu1Àƒ=ô    tºô   ƒÂ@ƒ: u÷‰Ã…Ût‹ð   ÿÐKuôƒÄôh¸  èG  ‹]èÉÃU‰åƒìƒ=0%   uÇ0%     èŽÿÿÿÉÃn     ,v     ,~     ,†   
  ,Ž     ,–     ,ž     ,4%    Œ¦     ,      	                                        	      
                       
                                                                                                                                      
     ì           €            !      +     ¤      4     ,      =     ¸      P     ø       _     Œ       g     ð       v     „       ~     à      ‘     ”       ™     ä       ¥     P      ³            ¹     l       Ã     œ       Ì     ì       Ý             ã      Ð      ê   	   <&      ó     t       û     ¤         	   @&          |           À          È      !     !      (  	   D&      -    4      __DYNAMIC _dlctl _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ _strcat ___CTOR_LIST__ _strlen ___do_global_ctors _printf ___progname _expand_flags start _strerror _fprintf __exit_dummy_ref ___sF _etext _environ _atexit _getmntinfo _errno _exit _main _dlsym _edata _end ___main    Ì           c                                                         (                                   ¼      `   d   T  œ  ”         „  8     H       éúÿÿÿ  èòÿÿÿ  èêÿÿÿ èâÿÿÿ èÚÿÿÿ èÒÿÿÿ èÊÿÿÿ èÂÿÿÿ èºÿÿÿ $OpenBSD: crt0.c,v 1.3 1997/06/24 17:15:49 tholo Exp $ (!  ü    !                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ì       €        !  /     ¤  8     ,  A     ¸  T     ø   c     ð   r     à  …     ä   ‘     P  Ÿ        ¥     ì   ¶     4%  ¼      Ð  Ã   	   <&  Ì   	   @&  Ó     À  Ù     È  à      !  ç   	   D&  ì     4  ô              ˜       ˜  '     ˜  9     0!  @     ¸  I     ¸  X     ¸  j  d   ¸  …  d   ¸  ¥  €       Ì  €       Þ  €       
  €       :  €       o  €       ³  €       ÷  €         €       7  €       U  €       r  €       „  €       —  €       °  €       Ý  €       ø  €         €       6  €       B  €       r  €       ­  €       Ñ  €       	  €       E  €       n  €       ‘  €       À  €       ï  €         €       >  €       N  € J    e  €       Š  € /       €       Å  € 3     Ô  € 6     æ  € 7     ö  € 9       € :       € ;        € <     .  € C     <  € D     L  € E     [  € F     i  € G     y  € H     ˆ  € I     –  € J     ¦  € K     µ  € M     Ã  € O     Ó  € Q     â  € S     ô  € 6       € 7       € 8       € 9     )  € ;     7  € <     D  € =     O  € >     [  € A     k  € B     y  € C     Œ  € E     ž  € F     ­  € G     º  € H     É  € I     Ö  € J     ã  € K     ï  € L     ý  € M     	  € N     	  € O     &	  € P     4	  € Q     C	  € R     R	  € S     _	  € T     q	  € U     „	  € ^     •	  € _     ¦	  € `     ¹	  € a     Ê	  € {     Ø	  € €     å	  € …     ó	  € Š      
  €      
  € ”     
  € ¥     -
  €       Z
  € ®     h
  € 5     v
  € <     Ÿ
  € A     É
  € G     ø
  €       '  €       X  €       “  €       Ï  €       ú  €       +  €       U  €       ‡  €       ¼  €       õ  €       (  €       P  €       x  €       £  €       Í  €       ÷  €       $  €       G  €       l  €       ‚  €       »  €       í  €         € ,     &  € X     6  € Y     D  € Z     S  € [     a  € \     p  € ^       € _     Ž  € b       € h     ®  €       Ü  € ‹       € 5     #    è   (  $¸  >    1    V  $6à  l     0%  |  $G4  ‡     T       T  Ÿ     T  ±  d   T  Ì  d   T  ì  €         €       %  €       Q  €         €       ¶  €       ú  €       >  €       \  €       ~  €       œ  €       ¹  €       Ë  €       Þ  €       ÷  €       $  €       ?  €       [  €       }  €       ‰  €       ¹  €       ô  €         €       P  €       Œ  €       µ  €       Ø  €         €       6  €       W  €       …  €       •  € J    ¬  €       Ñ  € /     ä  €         € 3       € 6     -  € 7     =  € 9     K  € :     Y  € ;     g  € <     u  € C     ƒ  € D     “  € E     ¢  € F     °  € G     À  € H     Ï  € I     Ý  € J     í  € K     ü  € M     
  € O       € Q     )  € S     ;  € 6     I  € 7     W  € 8     c  € 9     p  € ;     ~  € <     ‹  € =     –  € >     ¢  € A     ²  € B     À  € C     Ó  € E     å  € F     ô  € G       € H       € I       € J     *  € K     6  € L     D  € M     S  € N     `  € O     m  € P     {  € Q     Š  € R     ™  € S     ¦  € T     ¸  € U     Ë  € ^     Ü  € _     í  € `        € a       € {       € €     ,  € …     :  € Š     G  €      W  € ”     e  € ¥     t  €       ¡  € ®     ¯  € 5     ½  € <     æ  € A       € G     ?  €       n  €       Ÿ  €       Ú  €         €       A  €       r  €       œ  €       Î  €         €       <  €       o  €       —  €       ¿  €       ê  €         €       >  €       k  €       Ž  €       ³  €       É  €         €       4  €       \  € ,     m  € X     }  € Y     ‹  € Z     š  € [     ¨  € \     ·  € ^     Æ  € _     Õ  € b     ä  € h     õ  €       #  € ‹     O  € 5     j    h    ‰    i    œ     T  ¤     T  ³     T  Å  d   T  à  d   T      €       '   €       9   €       e   €       •   €       Ê   €       !  €       R!  €       p!  €       ’!  €       °!  €       Í!  €       ß!  €       ò!  €       "  €       8"  €       S"  €       o"  €       ‘"  €       "  €       Í"  €       #  €       ,#  €       d#  €        #  €       É#  €       ì#  €       $  €       J$  €       k$  €       ™$  €       ©$  € J    À$  €       å$  € /     ø$  €        %  € 3     /%  € 6     A%  € 7     Q%  € 9     _%  € :     m%  € ;     {%  € <     ‰%  € C     —%  € D     §%  € E     ¶%  € F     Ä%  € G     Ô%  € H     ã%  € I     ñ%  € J     &  € K     &  € M     &  € O     .&  € Q     =&  € S     O&  € 6     ]&  € 7     k&  € 8     w&  € 9     „&  € ;     ’&  € <     Ÿ&  € =     ª&  € >     ¶&  € A     Æ&  € B     Ô&  € C     ç&  € E     ù&  € F     '  € G     '  € H     $'  € I     1'  € J     >'  € K     J'  € L     X'  € M     g'  € N     t'  € O     '  € P     '  € Q     ž'  € R     ­'  € S     º'  € T     Ì'  € U     ß'  € ^     ð'  € _     (  € `     (  € a     %(  € {     3(  € €     @(  € …     N(  € Š     [(  €      k(  € ”     y(  € ¥     ˆ(  €       µ(  € ®     Ã(  € 5     Ñ(  € <     ú(  € A     $)  € G     S)  €       ‚)  €       ³)  €       î)  €       **  €       U*  €       †*  €       °*  €       â*  €       +  €       P+  €       ƒ+  €       «+  €       Ó+  €       þ+  €       (,  €       R,  €       ,  €       ¢,  €       Ç,  €       Ý,  €       -  €       H-  €       p-  € ,     -  € X     ‘-  € Y     Ÿ-  € Z     ®-  € [     ¼-  € \     Ë-  € ^     Ú-  € _     é-  € b     ø-  € h     	.  €       7.  € ‹     c.  € 5     ~.    Ë    ’.  __DYNAMIC _dlctl _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ ___CTOR_LIST__ ___do_global_ctors ___progname _expand_flags start __exit_dummy_ref ___sF _etext _environ _errno _main _dlsym _edata _end ___main /usr/lib/crt0.o /var/tmp/ccr31091.o gcc2_compiled. ___gnu_compiled_c _buf.9 __main.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 _physadr:T25=s4r:26=ar1;0;0;1,0,32;; physadr:t27=28=*25 label_t:T29=s24val:30=ar1;0;5;1,0,192;; label_t:t31=29 vm_offset_t:t32=5 vm_size_t:t33=5 vaddr_t:t34=5 paddr_t:t35=5 vsize_t:t36=5 psize_t:t37=5 int8_t:t38=10 u_int8_t:t39=11 uint8_t:t40=11 int16_t:t41=8 u_int16_t:t42=9 uint16_t:t43=9 int32_t:t44=1 u_int32_t:t45=4 uint32_t:t46=4 int64_t:t47=6 u_int64_t:t48=7 uint64_t:t49=7 register_t:t50=44 u_char:t51=11 u_short:t52=9 u_int:t53=4 u_long:t54=5 unchar:t55=11 ushort:t56=9 uint:t57=4 ulong:t58=5 u_quad_t:t59=48 quad_t:t60=47 qaddr_t:t61=62=*60 caddr_t:t63=64=*2 daddr_t:t65=44 dev_t:t66=44 fixpt_t:t67=45 gid_t:t68=45 ino_t:t69=45 key_t:t70=3 mode_t:t71=42 nlink_t:t72=42 off_t:t73=60 pid_t:t74=44 rlim_t:t75=60 segsz_t:t76=44 swblk_t:t77=44 uid_t:t78=45 useconds_t:t79=45 suseconds_t:t80=44 in_addr_t:t81=45 in_port_t:t82=42 sa_family_t:t83=39 socklen_t:t84=45 clock_t:t85=5 size_t:t86=4 ssize_t:t87=1 time_t:t88=1 clockid_t:t89=1 timer_t:t90=1 fd_mask:t91=44 fd_set:T92=s32fds_bits:93=ar1;0;7;91,0,256;; fd_set:t94=92 wchar_t:t95=1 div_t:t96=97=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t98=99=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t100=101=s16quot:60,0,64;rem:60,64,64;; timeval:T102=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T103=s8tv_sec:88,0,32;tv_nsec:3,32,32;; timezone:T104=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T105=s16it_interval:102,0,64;it_value:102,64,64;; clockinfo:T106=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T107=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:64,320,32;; machine_mode:T108=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T109=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t110=1 UQItype:t111=11 SItype:t112=1 USItype:t113=4 DItype:t114=6 UDItype:t115=7 SFtype:t116=12 DFtype:t117=13 XFtype:t118=14 word_type:t119=1 DIstruct:T120=s8low:112,0,32;high:112,32,32;; DIunion:t121=122=u8s:120,0,64;ll:114,0,64;; func_ptr:t123=124=*125=f19 _p.3 __do_global_dtors:F19 _exit_dummy_ref:G126=*1 __do_global_ctors:F19 _initialized.10 __main:F19 _ctors.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 _physadr:T25=s4r:26=ar1;0;0;1,0,32;; physadr:t27=28=*25 label_t:T29=s24val:30=ar1;0;5;1,0,192;; label_t:t31=29 vm_offset_t:t32=5 vm_size_t:t33=5 vaddr_t:t34=5 paddr_t:t35=5 vsize_t:t36=5 psize_t:t37=5 int8_t:t38=10 u_int8_t:t39=11 uint8_t:t40=11 int16_t:t41=8 u_int16_t:t42=9 uint16_t:t43=9 int32_t:t44=1 u_int32_t:t45=4 uint32_t:t46=4 int64_t:t47=6 u_int64_t:t48=7 uint64_t:t49=7 register_t:t50=44 u_char:t51=11 u_short:t52=9 u_int:t53=4 u_long:t54=5 unchar:t55=11 ushort:t56=9 uint:t57=4 ulong:t58=5 u_quad_t:t59=48 quad_t:t60=47 qaddr_t:t61=62=*60 caddr_t:t63=64=*2 daddr_t:t65=44 dev_t:t66=44 fixpt_t:t67=45 gid_t:t68=45 ino_t:t69=45 key_t:t70=3 mode_t:t71=42 nlink_t:t72=42 off_t:t73=60 pid_t:t74=44 rlim_t:t75=60 segsz_t:t76=44 swblk_t:t77=44 uid_t:t78=45 useconds_t:t79=45 suseconds_t:t80=44 in_addr_t:t81=45 in_port_t:t82=42 sa_family_t:t83=39 socklen_t:t84=45 clock_t:t85=5 size_t:t86=4 ssize_t:t87=1 time_t:t88=1 clockid_t:t89=1 timer_t:t90=1 fd_mask:t91=44 fd_set:T92=s32fds_bits:93=ar1;0;7;91,0,256;; fd_set:t94=92 wchar_t:t95=1 div_t:t96=97=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t98=99=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t100=101=s16quot:60,0,64;rem:60,64,64;; timeval:T102=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T103=s8tv_sec:88,0,32;tv_nsec:3,32,32;; timezone:T104=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T105=s16it_interval:102,0,64;it_value:102,64,64;; clockinfo:T106=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T107=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:64,320,32;; machine_mode:T108=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T109=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t110=1 UQItype:t111=11 SItype:t112=1 USItype:t113=4 DItype:t114=6 UDItype:t115=7 SFtype:t116=12 DFtype:t117=13 XFtype:t118=14 word_type:t119=1 DIstruct:T120=s8low:112,0,32;high:112,32,32;; DIunion:t121=122=u8s:120,0,64;ll:114,0,64;; func_ptr:t123=124=*125=f19 __CTOR_LIST__:G126=ar1;0;1;123 __DTOR_LIST__:G126 _exit.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 _physadr:T25=s4r:26=ar1;0;0;1,0,32;; physadr:t27=28=*25 label_t:T29=s24val:30=ar1;0;5;1,0,192;; label_t:t31=29 vm_offset_t:t32=5 vm_size_t:t33=5 vaddr_t:t34=5 paddr_t:t35=5 vsize_t:t36=5 psize_t:t37=5 int8_t:t38=10 u_int8_t:t39=11 uint8_t:t40=11 int16_t:t41=8 u_int16_t:t42=9 uint16_t:t43=9 int32_t:t44=1 u_int32_t:t45=4 uint32_t:t46=4 int64_t:t47=6 u_int64_t:t48=7 uint64_t:t49=7 register_t:t50=44 u_char:t51=11 u_short:t52=9 u_int:t53=4 u_long:t54=5 unchar:t55=11 ushort:t56=9 uint:t57=4 ulong:t58=5 u_quad_t:t59=48 quad_t:t60=47 qaddr_t:t61=62=*60 caddr_t:t63=64=*2 daddr_t:t65=44 dev_t:t66=44 fixpt_t:t67=45 gid_t:t68=45 ino_t:t69=45 key_t:t70=3 mode_t:t71=42 nlink_t:t72=42 off_t:t73=60 pid_t:t74=44 rlim_t:t75=60 segsz_t:t76=44 swblk_t:t77=44 uid_t:t78=45 useconds_t:t79=45 suseconds_t:t80=44 in_addr_t:t81=45 in_port_t:t82=42 sa_family_t:t83=39 socklen_t:t84=45 clock_t:t85=5 size_t:t86=4 ssize_t:t87=1 time_t:t88=1 clockid_t:t89=1 timer_t:t90=1 fd_mask:t91=44 fd_set:T92=s32fds_bits:93=ar1;0;7;91,0,256;; fd_set:t94=92 wchar_t:t95=1 div_t:t96=97=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t98=99=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t100=101=s16quot:60,0,64;rem:60,64,64;; timeval:T102=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T103=s8tv_sec:88,0,32;tv_nsec:3,32,32;; timezone:T104=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T105=s16it_interval:102,0,64;it_value:102,64,64;; clockinfo:T106=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T107=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:64,320,32;; machine_mode:T108=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T109=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t110=1 UQItype:t111=11 SItype:t112=1 USItype:t113=4 DItype:t114=6 UDItype:t115=7 SFtype:t116=12 DFtype:t117=13 XFtype:t118=14 word_type:t119=1 DIstruct:T120=s8low:112,0,32;high:112,32,32;; DIunion:t121=122=u8s:120,0,64;ll:114,0,64;; func_ptr:t123=124=*125=f19 _exit_dummy_decl:G1   0707010002fc5b000081a40000000000000002000000013d1fe2bc00000422000000200000000000000000000000000000001f00000003reloc/mount/openbsd-mounts-2.c    #include <stdio.h>
#include <errno.h>
#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h>

char *find_type(int t);
char *expand_flags(int f);

int main(void)
{
struct statfs *mntlist;
int n, i;

n = getmntinfo(&mntlist, MNT_NOWAIT);
if (n < 0) {
	fprintf(stderr, "getmntinfo failed : %s\n", strerror(errno));
	exit(1);
	}
for(i=0; i<n; i++) {
	printf("%s\t%s\t%s\t%s\t%x\n",
		mntlist[i].f_mntonname,
		mntlist[i].f_mntfromname,
		mntlist[i].f_fstypename,
		expand_flags(mntlist[i].f_flags),
		mntlist[i].f_flags);
	}
}

char *expand_flags(int f)
{
static char buf[1024];
buf[0] = 0;
if (f & MNT_RDONLY) strcat(buf, "ro,");
if (f & MNT_NOEXEC) strcat(buf, "noexec,");
if (f & MNT_NOSUID) strcat(buf, "nosuid,");
if (f & MNT_NOATIME) strcat(buf, "noatime,");
if (f & MNT_NODEV) strcat(buf, "nodev,");
if (f & MNT_SYNCHRONOUS) strcat(buf, "sync,");
if (f & MNT_ASYNC) strcat(buf, "async,");
if (f & MNT_QUOTA) strcat(buf, "quota,");
if (f & MNT_UNION) strcat(buf, "union,");
if (buf[0] == 0) return "-";
buf[strlen(buf)-1] = 0;
return buf;
}

  0707010002fc5c000081e40000000000000002000000013d1fe2bd00006319000000200000000000000000000000000000001d00000003reloc/mount/openbsd-mounts-3  €†          H             U‰åƒìWVSu~‹ÁàD8£H&  ‹^…Ût&ƒÄøj/Sè%  £è   ƒÄ…Àu	‰è   ë@£è   ÇEü    ‹Eü‹Eü…ÀtƒÄôh    èÈ   ƒÄƒìÿ5H&  Wÿ6è$  PèÚ  YXQÍ€QrÃ¸ÿÿÿÿÃ/usr/libexec/ld.so No ld.so
 Failure reading ld.so
 Bad magic: ld.so
 Cannot map ld.so
 crt0: update /usr/libexec/ld.so
 ld.so failed
 U‰åƒì,WVS‹}Ç$!  ±  j j h±  jè,ÿÿÿ£!  ƒÄƒøÿu8‹Gƒx uÇ0!      éÚ  j
hÄ  jjèöþÿÿƒÄøjjèêþÿÿƒÄ j EàPÿ5!  jèÔþÿÿƒÄƒøwjhÎ  jjè¼þÿÿƒÄøjjè°þÿÿƒÄ ‹Eà©  ÿÿtfÁÈÁÈfÁÈf=uëL=  tC‹Eà©  ÿÿtfÁÈÁÈfÁÈf=Ì u	ë&=Ì   tjhå  jjèSþÿÿƒÄøjjèGþÿÿƒÄ Ç!  ÿÿÿÿƒÄü‹Eà©  ÿÿtfÁÈÁÈfÁÈf=uë|   =  tp‹Eà©  ÿÿtfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëM   =Ì  t@‹Eà©  ÿÿtfÁÈÁÈfÁÈ%ÿÿ  = të   = u¸   ë¸    ë1À1ÒRPj ÿ5!  jj‹EèEäEìPj j hÅ   hÆ   èoýÿÿ£!  ƒÄ0ƒøÿujh÷  jjèRýÿÿƒÄøjjèFýÿÿƒÄ ƒÄü‹Eà‰Â÷Â  ÿÿtfÁÈÁÈfÁÈf=t8ë
ú  t,÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=Ì téÈ   úÌ   …¼   ‹Mä‰Ë÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=ué‡   ‰Ð   =  tv÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëS‰Ð   =Ì  tB÷Â  ÿÿtfÁÊÁÊfÁÊ·Òú tëÊ   ú u
ÿ  ë  ëÿ  % ðÿÿé®   ‹Mä‰Ë÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈf=ué‡   ‰Ð   =  tv÷Â  ÿÿt‰ÐfÁÈÁÈfÁÈ%ÿÿ  =Ì  uëS‰Ð   =Ì  tB÷Â  ÿÿtfÁÊÁÊfÁÊ·Òú tëÊ   ú u
   ëA ë‰È1ÒRPj ÿ5!  jjÿuè!  Sj hÅ   hÆ   èUûÿÿƒÄ0ƒøÿujh÷  jjè=ûÿÿƒÄøjjè1ûÿÿƒÄ ‹Eì…Àt\ƒÄüj j j ÿ5!  h  jP‹EèEä!  Pj hÅ   hÆ   èòúÿÿƒÄ0ƒøÿujh÷  jjèÚúÿÿƒÄøjjèÎúÿÿƒÄ ‰=!  ¡H&  £!  Ç!  ‹  ¡è   £ !  ¾!  ‹!  ƒÃ ƒÄøVjÿÓƒÄƒøÿuGj!h   jjèyúÿÿƒÄøVjÿÓƒÄ ƒøÿujhA  jjèYúÿÿƒÄøjjèMúÿÿ‹G£0!  ë¡(!  £0!  ƒÄôÿpèÿ	  eÈ[^_ÉÃU‰åƒì¡0!  …ÀtƒÄøÿuÿu‹ ÿÐë1ÀÉÃU‰åƒì¡0!  …ÀtƒÄôÿu‹@ÿÐë¸ÿÿÿÿÉÃU‰åƒì¡0!  …ÀtƒÄøÿuÿu‹@ÿÐë1ÀÉÃU‰åƒì¡0!  …ÀtƒÄüÿuÿuÿu‹@ÿÐë¸ÿÿÿÿÉÃService unavailable U‰åƒì‹0!  …ÒtƒÄüEüPjj ‹BÿÐƒÄƒøÿu¸  ë‹Eü…ÀtƒÄôPè 	  ë1ÀÉÃU‰åS‹EŠ]1ÉŠ8Úu‰Á„Òt@ëñ‰È[ÉÃ   getmntinfo failed : %s
 %s	%s	%s	%s	%x
 U‰åƒìèi  ƒÄøjEüPèË  ƒÄ‰À‰Eøƒ}ø }9ƒÄüƒÄô¡L&  Pèt  ƒÄ‰ÀPh˜  hð%  è  ƒÄƒÄôjèb  ƒÄÇEô    ‹Eô;Eø|é×   ƒÄø‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‹Eü‹RƒÄô‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‹Eü‹RèË   ƒÄ‰ÀP‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEüPDR‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEü®   R‹Uô‰ÐÀÐÁàÐÁàÐÅ    ‰ÐEüPTRh°  è“  ƒÄ ÿEôéÿÿÿÉÃro, noexec, nosuid, noatime, nodev, sync, async, quota, union, - U‰åƒìÆ8!   ‹Eƒà…ÀtƒÄøh  h8!  è  ƒÄ‹Eƒà…ÀtƒÄøh  h8!  èô  ƒÄ‹Eƒà…ÀtƒÄøh  h8!  èÕ  ƒÄ‹E% €ÿÿf…ÀtƒÄøh"  h8!  è³  ƒÄ‹Eƒà…ÀtƒÄøh+  h8!  è”  ƒÄ‹Eƒà…ÀtƒÄøh2  h8!  èu  ƒÄ‹Eƒà@…ÀtƒÄøh8  h8!  èV  ƒÄ‹E%    …ÀtƒÄøh?  h8!  è5  ƒÄ‹Eƒà …ÀtƒÄøhF  h8!  è  ƒÄ€=8!   u
¸M  ë+ƒÄôh8!  èë  ƒÄ‰ÀPÿ¸8!  Æ ¸8!  ëÉÃ  U‰åƒìë¡ì   P‰ì   ‹ ÿÐ¡ì   ƒ8 uäÉÃU‰åƒìS¡ô   ƒøÿu1Àƒ=ø    tºø   ƒÂ@ƒ: u÷‰Ã…Ût‹ô   ÿÐKuôƒÄôh¸  èG  ‹]èÉÃU‰åƒìƒ=8%   uÇ8%     èŽÿÿÿÉÃn     ,v     ,~     ,†   
  ,Ž     ,–     ,ž     ,@%    Œ¦     ,      	                                        	      
                       
                                                                                                                                      
     ì           €           !      +     ¤      4     ,      =     ¸      P     ü       _     Œ       g     ô       v     „       ~     à      ‘     ”       ™     è       ¥     P      ³            ¹     l       Ã     œ       Ì     ð       Ý             ã      Ô      ê   	   H&      ó     t       û     ¤         	   L&          |           À          È      !     !      (  	   P&      -    4      __DYNAMIC _dlctl _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ _strcat ___CTOR_LIST__ _strlen ___do_global_ctors _printf ___progname _expand_flags start _strerror _fprintf __exit_dummy_ref ___sF _etext _environ _atexit _getmntinfo _errno _exit _main _dlsym _edata _end ___main    Ì            c                                                         (                                   ¼      `   d   T  œ  ”         „  8     H       éúÿÿÿ  èòÿÿÿ  èêÿÿÿ èâÿÿÿ èÚÿÿÿ èÒÿÿÿ èÊÿÿÿ èÂÿÿÿ èºÿÿÿ     $OpenBSD: crt0.c,v 1.5 2001/08/12 12:03:01 heko Exp $ ,!   !  !                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ì       €       !  /     ¤  8     ,  A     ¸  T     ü   c     ô   r     à  …     è   ‘     P  Ÿ        ¥     ð   ¶     @%  ¼      Ô  Ã   	   H&  Ì   	   L&  Ó     À  Ù     È  à      !  ç   	   P&  ì     4  ô              ˜       ˜  #     ˜  5     8!  <     ¸  E     ¸  T     ¸  f  d   ¸    d   ¸  ¡  €       È  €       Ú  €         €       6  €       k  €       ¯  €       ó  €         €       3  €       Q  €       n  €       €  €       “  €       ¬  €       Ù  €       ô  €         €       2  €       >  €       n  €       ©  €       Í  €         €       A  €       j  €         €       ¼  €       ë  €         €       :  €       J  € J    a  €       ‰  € /     ˜  € 2     ª  € 3     º  € 5     È  € 6     Ö  € 7     ä  € 8     ò  € ?        € @       € A       € B     -  € C     =  € D     L  € E     Z  € F     j  € G     y  € I     ‡  € K     —  € M     ¦  € O     ¸  € 6     Æ  € 7     Ô  € 8     à  € 9     í  € ;     û  € <       € =       € >       € A     /  € B     =  € C     P  € E     b  € F     q  € G     ~  € H       € I     š  € J     §  € K     ³  € L     Á  € M     Ð  € N     Ý  € O     ë  € P     ú  € Q     		  € R     	  € S     (	  € T     ;	  € ]     L	  € ^     ]	  € _     p	  € `     	  € c     	  € h     œ	  € m     ª	  € r     ·	  € w     Ç	  € |     Õ	  €      á	  € ©     ð	  €       
  € ²     +
  € 7     9
  € ?     b
  € D     Œ
  € J     ¹
  €       ç
  €         €       R  €       Œ  €       ·  €       è  €         €       D  €       y  €       ²  €       å  €         €       5  €       `  €       Š  €       ´  €       á  €         €       )  €       ?  €       x  €       ª  €       Ò  € ,     ã  € X     ó  € Y       € Z       € [       € \     -  € ^     <  € _     K  € b     Z  € h     k  €       ™  € ‹     Å  € 5     à    ì   å  $¸  û    1      $6à  )     8%  9  $G4  D     T  M     T  \     T  n  d   T  ‰  d   T  ©  €       Ð  €       â  €         €       >  €       s  €       ·  €       û  €         €       ;  €       Y  €       v  €       ˆ  €       ›  €       ´  €       á  €       ü  €         €       :  €       F  €       v  €       ±  €       Õ  €         €       I  €       r  €       •  €       Ä  €       ó  €         €       B  €       R  € J    i  €       ‘  € /        € 2     ²  € 3     Â  € 5     Ð  € 6     Þ  € 7     ì  € 8     ú  € ?       € @       € A     '  € B     5  € C     E  € D     T  € E     b  € F     r  € G       € I       € K     Ÿ  € M     ®  € O     À  € 6     Î  € 7     Ü  € 8     è  € 9     õ  € ;       € <       € =       € >     '  € A     7  € B     E  € C     X  € E     j  € F     y  € G     †  € H     •  € I     ¢  € J     ¯  € K     »  € L     É  € M     Ø  € N     å  € O     ó  € P       € Q       € R       € S     0  € T     C  € ]     T  € ^     e  € _     x  € `     ‰  € c     —  € h     ¤  € m     ²  € r     ¿  € w     Ï  € |     Ý  €      é  € ©     ø  €       %  € ²     3  € 7     A  € ?     j  € D     ”  € J     Á  €       ï  €         €       Z  €       ”  €       ¿  €       ð  €         €       L  €         €       º  €       í  €         €       =  €       h  €       ’  €       ¼  €       é  €         €       1  €       G  €       €  €       ²  €       Ú  € ,     ë  € X     û  € Y     	  € Z       € [     &  € \     5  € ^     D  € _     S  € b     b  € h     s  €       ¡  € ‹     Í  € 5     è    h        i         T  "     T  1     T  C  d   T  ^  d   T  ~  €       ¥  €       ·  €       ã  €          €       H   €       Œ   €       Ð   €       î   €       !  €       .!  €       K!  €       ]!  €       p!  €       ‰!  €       ¶!  €       Ñ!  €       í!  €       "  €       "  €       K"  €       †"  €       ª"  €       â"  €       #  €       G#  €       j#  €       ™#  €       È#  €       é#  €       $  €       '$  € J    >$  €       f$  € /     u$  € 2     ‡$  € 3     —$  € 5     ¥$  € 6     ³$  € 7     Á$  € 8     Ï$  € ?     Ý$  € @     í$  € A     ü$  € B     
%  € C     %  € D     )%  € E     7%  € F     G%  € G     V%  € I     d%  € K     t%  € M     ƒ%  € O     •%  € 6     £%  € 7     ±%  € 8     ½%  € 9     Ê%  € ;     Ø%  € <     å%  € =     ð%  € >     ü%  € A     &  € B     &  € C     -&  € E     ?&  € F     N&  € G     [&  € H     j&  € I     w&  € J     „&  € K     &  € L     ž&  € M     ­&  € N     º&  € O     È&  € P     ×&  € Q     æ&  € R     ó&  € S     '  € T     '  € ]     )'  € ^     :'  € _     M'  € `     ^'  € c     l'  € h     y'  € m     ‡'  € r     ”'  € w     ¤'  € |     ²'  €      ¾'  € ©     Í'  €       ú'  € ²     (  € 7     (  € ?     ?(  € D     i(  € J     –(  €       Ä(  €       ô(  €       /)  €       i)  €       ”)  €       Å)  €       ï)  €       !*  €       V*  €       *  €       Â*  €       ê*  €       +  €       =+  €       g+  €       ‘+  €       ¾+  €       á+  €       ,  €       ,  €       U,  €       ‡,  €       ¯,  € ,     À,  € X     Ð,  € Y     Þ,  € Z     í,  € [     û,  € \     
-  € ^     -  € _     (-  € b     7-  € h     H-  €       v-  € ‹     ¢-  € 5     ½-    Ë    Ñ-  __DYNAMIC _dlctl _dlopen __exit_dummy_decl _dlclose _dlerror ___do_global_dtors ___DTOR_LIST__ ___CTOR_LIST__ ___do_global_ctors ___progname _expand_flags start __exit_dummy_ref ___sF _etext _environ _errno _main _dlsym _edata _end ___main /usr/lib/crt0.o /tmp/ccT29110.o gcc2_compiled. ___gnu_compiled_c _buf.9 __main.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 label_t:T25=s24val:26=ar1;0;5;1,0,192;; label_t:t27=25 vm_offset_t:t28=5 vm_size_t:t29=5 vaddr_t:t30=5 paddr_t:t31=5 vsize_t:t32=5 psize_t:t33=5 int8_t:t34=10 u_int8_t:t35=11 uint8_t:t36=11 int16_t:t37=8 u_int16_t:t38=9 uint16_t:t39=9 int32_t:t40=1 u_int32_t:t41=4 uint32_t:t42=4 int64_t:t43=6 u_int64_t:t44=7 uint64_t:t45=7 register_t:t46=40 u_char:t47=11 u_short:t48=9 u_int:t49=4 u_long:t50=5 unchar:t51=11 ushort:t52=9 uint:t53=4 ulong:t54=5 u_quad_t:t55=44 quad_t:t56=43 qaddr_t:t57=58=*56 caddr_t:t59=60=*2 daddr_t:t61=40 dev_t:t62=40 fixpt_t:t63=41 gid_t:t64=41 ino_t:t65=41 key_t:t66=3 mode_t:t67=38 nlink_t:t68=38 pid_t:t69=40 rlim_t:t70=56 segsz_t:t71=40 swblk_t:t72=40 uid_t:t73=41 useconds_t:t74=41 suseconds_t:t75=40 in_addr_t:t76=41 in_port_t:t77=38 sa_family_t:t78=35 socklen_t:t79=41 clock_t:t80=5 size_t:t81=4 ssize_t:t82=1 time_t:t83=1 clockid_t:t84=1 timer_t:t85=1 off_t:t86=6 fd_mask:t87=40 fd_set:T88=s32fds_bits:89=ar1;0;7;87,0,256;; fd_set:t90=88 wchar_t:t91=1 div_t:t92=93=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t94=95=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t96=97=s16quot:56,0,64;rem:56,64,64;; timeval:T98=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T99=s8tv_sec:83,0,32;tv_nsec:3,32,32;; timezone:T100=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T101=s16it_interval:98,0,64;it_value:98,64,64;; clockinfo:T102=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T103=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:60,320,32;; machine_mode:T104=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T105=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t106=1 UQItype:t107=11 SItype:t108=1 USItype:t109=4 DItype:t110=6 UDItype:t111=7 SFtype:t112=12 DFtype:t113=13 XFtype:t114=14 word_type:t115=1 DIstruct:T116=s8low:108,0,32;high:108,32,32;; DIunion:t117=118=u8s:116,0,64;ll:110,0,64;; func_ptr:t119=120=*121=f19 _p.3 __do_global_dtors:F19 _exit_dummy_ref:G122=*1 __do_global_ctors:F19 _initialized.10 __main:F19 _ctors.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 label_t:T25=s24val:26=ar1;0;5;1,0,192;; label_t:t27=25 vm_offset_t:t28=5 vm_size_t:t29=5 vaddr_t:t30=5 paddr_t:t31=5 vsize_t:t32=5 psize_t:t33=5 int8_t:t34=10 u_int8_t:t35=11 uint8_t:t36=11 int16_t:t37=8 u_int16_t:t38=9 uint16_t:t39=9 int32_t:t40=1 u_int32_t:t41=4 uint32_t:t42=4 int64_t:t43=6 u_int64_t:t44=7 uint64_t:t45=7 register_t:t46=40 u_char:t47=11 u_short:t48=9 u_int:t49=4 u_long:t50=5 unchar:t51=11 ushort:t52=9 uint:t53=4 ulong:t54=5 u_quad_t:t55=44 quad_t:t56=43 qaddr_t:t57=58=*56 caddr_t:t59=60=*2 daddr_t:t61=40 dev_t:t62=40 fixpt_t:t63=41 gid_t:t64=41 ino_t:t65=41 key_t:t66=3 mode_t:t67=38 nlink_t:t68=38 pid_t:t69=40 rlim_t:t70=56 segsz_t:t71=40 swblk_t:t72=40 uid_t:t73=41 useconds_t:t74=41 suseconds_t:t75=40 in_addr_t:t76=41 in_port_t:t77=38 sa_family_t:t78=35 socklen_t:t79=41 clock_t:t80=5 size_t:t81=4 ssize_t:t82=1 time_t:t83=1 clockid_t:t84=1 timer_t:t85=1 off_t:t86=6 fd_mask:t87=40 fd_set:T88=s32fds_bits:89=ar1;0;7;87,0,256;; fd_set:t90=88 wchar_t:t91=1 div_t:t92=93=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t94=95=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t96=97=s16quot:56,0,64;rem:56,64,64;; timeval:T98=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T99=s8tv_sec:83,0,32;tv_nsec:3,32,32;; timezone:T100=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T101=s16it_interval:98,0,64;it_value:98,64,64;; clockinfo:T102=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T103=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:60,320,32;; machine_mode:T104=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T105=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t106=1 UQItype:t107=11 SItype:t108=1 USItype:t109=4 DItype:t110=6 UDItype:t111=7 SFtype:t112=12 DFtype:t113=13 XFtype:t114=14 word_type:t115=1 DIstruct:T116=s8low:108,0,32;high:108,32,32;; DIunion:t117=118=u8s:116,0,64;ll:110,0,64;; func_ptr:t119=120=*121=f19 __CTOR_LIST__:G122=ar1;0;1;119 __DTOR_LIST__:G122 _exit.o gcc2_compiled. ___gnu_compiled_c /usr/src/gnu/egcs/gcc/obj/ /usr/src/gnu/egcs/gcc/libgcc2.c int:t1=r1;0020000000000;0017777777777; char:t2=r2;0;127; long int:t3=r1;0020000000000;0017777777777; unsigned int:t4=r1;0000000000000;0037777777777; long unsigned int:t5=r1;0000000000000;0037777777777; long long int:t6=r1;01000000000000000000000;0777777777777777777777; long long unsigned int:t7=r1;0000000000000;01777777777777777777777; short int:t8=r8;-32768;32767; short unsigned int:t9=r9;0;65535; signed char:t10=r10;-128;127; unsigned char:t11=r11;0;255; float:t12=r1;4;0; double:t13=r1;8;0; long double:t14=r1;12;0; complex int:t15=s8real:1,0,32;imag:1,32,32;; complex float:t16=r16;4;0; complex double:t17=r17;8;0; complex long double:t18=r18;12;0; void:t19=19 processor_costs:T20=s28add:1,0,32;lea:1,32,32;\ shift_var:1,64,32;shift_const:1,96,32;mult_init:1,128,32;\ mult_bit:1,160,32;divide:1,192,32;; processor_type:T21=ePROCESSOR_I386:0,PROCESSOR_I486:1,\ PROCESSOR_PENTIUM:2,PROCESSOR_PENTIUMPRO:3,PROCESSOR_K6:4,; reg_class:T22=eNO_REGS:0,AREG:1,DREG:2,\ CREG:3,BREG:4,AD_REGS:5,Q_REGS:6,\ SIREG:7,DIREG:8,INDEX_REGS:9,GENERAL_REGS:10,\ FP_TOP_REG:11,FP_SECOND_REG:12,FLOAT_REGS:13,\ ALL_REGS:14,LIM_REG_CLASSES:15,; i386_args:T23=s12words:1,0,32;nregs:1,32,32;\ regno:1,64,32;; CUMULATIVE_ARGS:t24=23 label_t:T25=s24val:26=ar1;0;5;1,0,192;; label_t:t27=25 vm_offset_t:t28=5 vm_size_t:t29=5 vaddr_t:t30=5 paddr_t:t31=5 vsize_t:t32=5 psize_t:t33=5 int8_t:t34=10 u_int8_t:t35=11 uint8_t:t36=11 int16_t:t37=8 u_int16_t:t38=9 uint16_t:t39=9 int32_t:t40=1 u_int32_t:t41=4 uint32_t:t42=4 int64_t:t43=6 u_int64_t:t44=7 uint64_t:t45=7 register_t:t46=40 u_char:t47=11 u_short:t48=9 u_int:t49=4 u_long:t50=5 unchar:t51=11 ushort:t52=9 uint:t53=4 ulong:t54=5 u_quad_t:t55=44 quad_t:t56=43 qaddr_t:t57=58=*56 caddr_t:t59=60=*2 daddr_t:t61=40 dev_t:t62=40 fixpt_t:t63=41 gid_t:t64=41 ino_t:t65=41 key_t:t66=3 mode_t:t67=38 nlink_t:t68=38 pid_t:t69=40 rlim_t:t70=56 segsz_t:t71=40 swblk_t:t72=40 uid_t:t73=41 useconds_t:t74=41 suseconds_t:t75=40 in_addr_t:t76=41 in_port_t:t77=38 sa_family_t:t78=35 socklen_t:t79=41 clock_t:t80=5 size_t:t81=4 ssize_t:t82=1 time_t:t83=1 clockid_t:t84=1 timer_t:t85=1 off_t:t86=6 fd_mask:t87=40 fd_set:T88=s32fds_bits:89=ar1;0;7;87,0,256;; fd_set:t90=88 wchar_t:t91=1 div_t:t92=93=s8quot:1,0,32;rem:1,32,32;; ldiv_t:t94=95=s8quot:3,0,32;rem:3,32,32;; qdiv_t:t96=97=s16quot:56,0,64;rem:56,64,64;; timeval:T98=s8tv_sec:3,0,32;tv_usec:3,32,32;; timespec:T99=s8tv_sec:83,0,32;tv_nsec:3,32,32;; timezone:T100=s8tz_minuteswest:1,0,32;tz_dsttime:1,32,32;; itimerval:T101=s16it_interval:98,0,64;it_value:98,64,64;; clockinfo:T102=s20hz:1,0,32;tick:1,32,32;\ tickadj:1,64,32;stathz:1,96,32;profhz:1,128,32;; tm:T103=s44tm_sec:1,0,32;tm_min:1,32,32;\ tm_hour:1,64,32;tm_mday:1,96,32;tm_mon:1,128,32;\ tm_year:1,160,32;tm_wday:1,192,32;tm_yday:1,224,32;\ tm_isdst:1,256,32;tm_gmtoff:3,288,32;tm_zone:60,320,32;; machine_mode:T104=eVOIDmode:0,PQImode:1,QImode:2,\ PHImode:3,HImode:4,PSImode:5,SImode:6,\ PDImode:7,DImode:8,TImode:9,OImode:10,\ QFmode:11,HFmode:12,TQFmode:13,SFmode:14,\ DFmode:15,XFmode:16,TFmode:17,QCmode:18,\ HCmode:19,SCmode:20,DCmode:21,XCmode:22,\ TCmode:23,CQImode:24,CHImode:25,CSImode:26,\ CDImode:27,CTImode:28,COImode:29,\ BLKmode:30,CCmode:31,CCFPEQmode:32,\ MAX_MACHINE_MODE:33,; mode_class:T105=eMODE_RANDOM:0,MODE_INT:1,MODE_FLOAT:2,\ MODE_PARTIAL_INT:3,MODE_CC:4,MODE_COMPLEX_INT:5,\ MODE_COMPLEX_FLOAT:6,MAX_MODE_CLASS:7,; ptrdiff_t:t106=1 UQItype:t107=11 SItype:t108=1 USItype:t109=4 DItype:t110=6 UDItype:t111=7 SFtype:t112=12 DFtype:t113=13 XFtype:t114=14 word_type:t115=1 DIstruct:T116=s8low:108,0,32;high:108,32,32;; DIunion:t117=118=u8s:116,0,64;ll:110,0,64;; func_ptr:t119=120=*121=f19 _exit_dummy_decl:G1    0707010002fc5d000081a40000000000000002000000013d1fe2bd0000c16a000000200000000000000000000000000000001800000003reloc/mount/osf1-lib.pl   # osf1-lib.pl
# Filesystem functions for OSF1

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, $_, $i); $i = 0;

# List normal filesystem mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	chop; s/^#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[3] eq "swap") { $p[2] = "swap"; }
	$rv[$i++] = [ $p[1], $p[0], $p[2], $p[3], $p[5], 1 ];
	}
close(FSTAB);

return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, and return the index of the new entry
sub create_mount
{
local($len, @mlist, $fcsk, $dir);
if ($_[2] eq "autofs") {
	# An autofs mount.. add to /etc/auto_master
	$len = grep { $_->[2] eq "autofs" } (&list_mounts());
	open(AUTOTAB, ">> $config{autofs_file}");
	print AUTOTAB "$_[0] $_[1]",($_[3] eq "-" ? "" : " -$_[3]"),"\n";
	close(AUTOTAB);
	}
else {
	# Add to the fstab file
	$len = grep { $_->[2] ne "autofs" } (&list_mounts());
	open(FSTAB, ">> $config{fstab_file}");
	if ($_[2] eq "ufs" || $_[2] eq "s5fs") {
		($fsck = $_[1]) =~ s/\/dsk\//\/rdsk\//g;
		}
	else { $fsck = "-"; }
	if ($_[2] eq "swap") { $dir = "-"; }
	else { $dir = $_[0]; }
	print FSTAB "$_[1]  $fsck  $dir  $_[2]  $_[4]  $_[5]  $_[3]\n";
	close(FSTAB);
	}
return $len;
}


# delete_mount(index)
# Delete some mount from the table
sub delete_mount
{
local(@fstab, $i, $line, $_);
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
$i = 0;

open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# found the line not to include
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# found line not to include..
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local(@fstab, @autotab, $i, $line, $fsck, $dir, $_);
$i = 0;

open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		if ($_[3] eq "ufs" || $_[3] eq "s5fs") {
			($fsck = $_[2]) =~ s/\/dsk\//\/rdsk\//g;
			}
		else { $fsck = "-"; }
		if ($_[3] eq "swap") { $dir = "-"; }
		else { $dir = $_[1]; }
		print FSTAB "$_[2]  $fsck  $dir  $_[3]  $_[5]  $_[6]  $_[4]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# Found the line to replace
		print AUTOTAB "$_[1]  $_[2]  ",
				($_[4] eq "-" ? "" : "-$_[4]"),"\n";
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# For swap files, the directory will be 'swap'
sub list_mounted
{
local(@rv, @p, $_, $i, $r);
foreach (split(/\n/, `/usr/sbin/mount`)) {
	if (/^(\S+)\s+on\s+(\S+)\s+type\s+(\S+)\s+\((.*)\)/) {
		local $opts = $3;
		$opts =~ s/\s+//g;
		push(@rv, [ $2, $1, $3, $opts ]);
		}
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed. If the directory is 'swap', then mount as
# virtual memory.
sub mount_dir
{
local($out, $opts);
if ($_[0] eq "swap") {
	# Adding a swap device
	$out = `swap -a $_[1] 2>&1`;
	if ($?) { return $out; }
	}
else {
	# Mounting a directory
	if ($_[2] eq "cachefs") {
		# Mounting a caching filesystem.. need to create cache first
		local(%options);
		&parse_options("cachefs", $_[3]);
		if (!(-r "$options{cachedir}/.cfs_resource")) {
			# The cache directory does not exist.. set it up
			if (-d $options{cachedir} &&
			    !rmdir($options{"cachedir"})) {
				return "The directory $options{cachedir} ".
				       "already exists. Delete it";
				}
			$out = `cfsadmin -c $options{cachedir} 2>&1`;
			if ($?) { return $out; }
			}
		}
	if ($_[2] eq "rumba") {
		# call 'rumba' to mount
		local(%options, $shortname, $shar, $opts, $rv);
		&parse_options("rumba", $_[3]);
		$shortname = hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$_[1] =~ /^\\\\(.+)\\(.+)$/;
		$shar = "//".($options{machinename} ?$options{machinename} :$1).
			"/$2";
		$opts = ("-s $1 ").
		 (defined($options{'clientname'}) ?
			"-c $options{'clientname'} " : "-c $shortname ").
		 (defined($options{'username'}) ?
			"-U $options{'username'} " : "").
		 (defined($options{'uid'}) ? "-u $options{'uid'} " : "").
		 (defined($options{'gid'}) ? "-g $options{'gid'} " : "").
		 (defined($options{'fmode'}) ? "-f $options{'fmode'} " : "").
		 (defined($options{'dmode'}) ? "-d $options{'dmode'} " : "").
		 (defined($options{'noupper'}) ? "-C " : "").
		 (defined($options{'password'}) ?
			"-P $options{'password'} " : "-n ").
		 (defined($options{'readwrite'}) ? "-S " : "").
		 (defined($options{'readonly'}) ? "-w " : "").
		 (defined($options{'attr'}) ? "-e " : "");
		local $rtemp = &tempname();
		$rv = system("rumba \"$shar\" $_[0] $opts >$rtemp 2>&1 </dev/null");
		$out = `cat $rtemp`; unlink($rtemp);
		if ($rv) { return "<pre>$out</pre> : rumba \"$shar\" $_[0] $opts"; }
		}
	else {
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = `mount -F $_[2] $opts -- $_[1] $_[0] 2>&1`;
		if ($?) { return $out; }
		}
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory (or swap device) that is currently mounted. Returns 0 if
# ok, or an error string if failed
sub unmount_dir
{
if ($_[0] eq "swap") {
	$out = `swap -d $_[1] 2>&1`;
	}
elsif ($_[2] eq "rumba") {
	# kill the process (if nobody is in the directory)
	$dir = $_[0];
	if (`fuser -c $_[0] 2>/dev/null` =~ /\d/) { return "$_[0] is busy"; }
	if (`cat /etc/mnttab` =~ /rumba-(\d+)\s+$dir\s+nfs/) {
		&kill_logged('TERM', $1) || return "Failed to kill rumba";
		}
	else { return "Failed to find rumba pid"; }
	sleep(1);
	}
else {
	$out = `umount $_[0] 2>&1`;
	}
if ($?) { return $out; }
return 0;
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "fd" || $_[0] eq "proc" || $_[0] eq "swap" || $_[0] eq "autofs") {
	return ();
	}
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
return ("ufs", "nfs", "advfs");
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ufs","OSF Unix Filesystem",
	  "nfs","Network Filesystem",
	  "advfs","Advanced File System",
	  "procfs","Process Image Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
sub mount_modes
{
if ($_[0] eq "ufs" || $_[0] eq "cachefs" || $_[0] eq "s5fs") {
	return (2, 1, 1, 0);
	}
elsif ($_[0] eq "rumba") { return (0, 1, 0, 0); }
else { return (2, 1, 0, 0); }
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "tmpfs" || $_[0] eq "cachefs" ||
        $_[0] eq "autofs" || $_[0] eq "lofs" || $_[0] eq "rumba");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	if ($_[1] =~ /^nfs:/) { $nfsmode = 2; }
	elsif (!$_[1] || $_[1] =~ /^([A-z0-9\-\.]+):([^,]+)$/) {
		$nfsmode = 0; $nfshost = $1; $nfspath = $2;
		}
	else { $nfsmode = 1; }
	if ($gconfig{'os_version'} >= 2.6) {
		# Solaris 2.6 can list multiple NFS servers in mount
		print "<tr> <td><b>NFS Source</b></td>\n";
		printf "<td><input type=radio name=nfs_serv value=0 %s>\n",
			$nfsmode == 0 ? "checked" : "";
		print "<b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "&nbsp;<b>NFS Directory</b>\n";
		print "<input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";

		print "<tr> <td></td>\n";
		printf "<td><input type=radio name=nfs_serv value=1 %s>\n",
			$nfsmode == 1 ? "checked" : "";
		print "<b>Multiple NFS Servers</b></td>\n";
		printf "<td><input name=nfs_list size=40 value=\"%s\">\n",
			$nfsmode == 1 ? $_[1] : "";
		print "</td> </tr>\n";

		if ($gconfig{'os_version'} >= 7) {
			print "<tr> <td></td> <td>\n";
			printf "<input type=radio name=nfs_serv value=2 %s>\n",
				$nfsmode == 2 ? "checked" : "";
			print "<b>WebNFS URL</b></td> <td>\n";
			printf "<input name=nfs_url size=40 value=\"%s\">\n",
				$nfsmode == 2 ? $_[1] : "";
			print "</td> </tr>\n";
			}
		}
	else {
		print "<tr> <td><b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "</td>\n";
		print "<td><b>NFS Directory</b></td>\n";
		print "<td><input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Location is irrelevant for tmpfs filesystems
	}
elsif ($_[0] eq "ufs") {
	# Mounted from a normal disk, raid (MD) device or from
	# somewhere else
	print "<tr> <td valign=top><b>UFS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$ufs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$ufs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/) {
		$ufs_dev = 1; $scsi_md = $1;
		}
	else {
		$ufs_dev = 2; $scsi_path = $_[1];
		}
	printf "<input type=radio name=ufs_dev value=0 %s> SCSI Disk:\n",
		$ufs_dev == 0 ? "checked" : "";
	print "Controller <input name=ufs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=ufs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=ufs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=ufs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=ufs_dev value=1 %s> RAID Device:\n",
		$ufs_dev == 1 ? "checked" : "";
	print "Unit <input name=ufs_md size=3 value=\"$scsi_md\"><br>\n";

	printf "<input type=radio name=ufs_dev value=2 %s> Other Device:\n",
		$ufs_dev == 2 ? "checked" : "";
	print "<input name=ufs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swapping to a disk partition or a file
	print "<tr> <td valign=top><b>Swap File</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$swap_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$swap_dev = 1; $scsi_path = "";
		}
	else {
		$swap_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=swap_dev value=0 %s> SCSI Disk:\n",
		$swap_dev == 0 ? "checked" : "";
	print "Controller <input name=swap_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=swap_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=swap_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=swap_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=swap_dev value=1 %s> File:\n",
		$swap_dev == 1 ? "checked" : "";
	print "<input name=swap_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "hsfs") {
	# Mounting a SCSI cdrom
	print "<tr> <td valign=top><b>CDROM Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$hsfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$hsfs_dev = 0;
		$scsi_c = 0; $scsi_t = 6; $scsi_d = 0; $scsi_s = 0;
		}
	else {
		$hsfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=hsfs_dev value=0 %s> SCSI Device:\n",
		$hsfs_dev == 0 ? "checked" : "";
	print "Controller <input name=hsfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=hsfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=hsfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=hsfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=hsfs_dev value=1 %s> Other Device:\n",
		$hsfs_dev == 1 ? "checked" : "";
	print "<input name=hsfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "pcfs") {
	# Mounting a SCSI msdos filesystem
	print "<tr> <td valign=top><b>MS-DOS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$pcfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$pcfs_dev = 1; $scsi_path = "";
		}
	else {
		$pcfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=pcfs_dev value=0 %s> SCSI Device:\n",
		$pcfs_dev == 0 ? "checked" : "";
	print "Controller <input name=pcfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=pcfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=pcfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=pcfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=pcfs_dev value=1 %s> Other Device:\n",
		$pcfs_dev == 1 ? "checked" : "";
	print "<input name=pcfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "lofs") {
	# Mounting some directory to another location
	print "<tr> <td><b>Original Directory</b></td>\n";
	print "<td><input name=lofs_src size=30 value=\"$_[1]\">\n";
	print &file_chooser_button("lofs_src", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "cachefs") {
	# Mounting a cached filesystem of some type.. need a location for
	# the source of the mount
	print "<tr> <td><b>Cache Source</b></td>\n";
	print "<td><input name=cfs_src size=20 value=\"$_[1]\"></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# An automounter entry.. can be -hosts, -xfn or from some mapping
	print "<tr> <td valign=top><b>Automounter map</b></td>\n";
	printf "<td><input type=radio name=autofs_type value=0 %s>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : "checked";
	printf "Use map <input name=autofs_map size=20 value=\"%s\"><br>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : $_[1];
	printf "<input type=radio name=autofs_type value=1 %s>\n",
		$_[1] eq "-hosts" ? "checked" : "";
	print "All NFS exports map<br>\n";
	printf "<input type=radio name=autofs_type value=2 %s>\n",
		$_[1] eq "-xfn" ? "checked" : "";
	print "Federated  Naming  Service map</td> </tr>\n";
	}
elsif ($_[0] eq "rumba") {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>Server Name</b></td>\n";
	print "<td><input name=rumba_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("rumba_server");
	print "</td>\n";
	print "<td><b>Share Name</b></td>\n";
	print "<td><input name=rumba_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("rumba_server", "rumba_share");
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a partilcar filesystem 
# under this OS
sub generate_options
{
if ($_[0] eq "nfs") {
	# Solaris NFS has many options, not all of which are editable here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=nfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=nfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Files inherit parent GID?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_grpid value=0 %s> Yes\n",
		defined($options{"grpid"}) ? "" : "checked";
	printf "<input type=radio name=nfs_grpid value=1 %s> No</td>\n",
		defined($options{"grpid"}) ? "checked" : "";

	print "<td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> Yes\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> No</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> Yes\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> No</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>Display quotas?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
	printf "<input type=radio name=nfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>NFS version</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> Highest\n",
		defined($options{"vers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"vers"}) ? "checked" : "";
	print "<input size=1 name=nfs_vers value=$options{vers}></td> </tr>\n";

	print "<tr> <td><b>Protocol</b></td>\n";
	print "<td nowrap><select name=proto>\n";
	printf "<option value=\"\" %s> Default\n",
		defined($options{"proto"}) ? "" : "selected";
	foreach (split(/\n/, `cat /etc/netconfig`)) {
		if (!/^([A-z0-9\_\-]+)\s/) { next; }
		printf "<option value=\"$1\" %s> $1\n",
			$options{"proto"} eq $1 ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>NFS Port</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> Default\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>Timeout</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> Default\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>Number of Retransmissions</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> Default\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>Authentication</b></td>\n";
	$nfs_auth = $options{'sec'} ? $options{'sec'} :
		    defined($options{"secure"}) ? "dh" :
		    defined($options{"kerberos"}) ? "krb" : "";
	print "<td><select name=nfs_auth>\n";
	printf "<option value=\"\" %s> None\n",
		$nfs_auth eq "" ? "selected" : "";
	printf "<option value=dh %s> DES\n",
		$nfs_auth eq "dh" ? "selected" : "";
	printf "<option value=krb %s> Kerberos\n",
		$nfs_auth eq "krb" ? "selected" : "";
	print "</select></td>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>WebNFS mount?</b></td> <td>\n";
		printf "<input type=radio name=nfs_public value=1 %s> Yes\n",
			defined($options{'public'}) ? "checked" : "";
		printf "<input type=radio name=nfs_public value=0 %s> No\n",
			defined($options{'public'}) ? "" : "checked";
		print "</td>\n";
		}
	print "</tr>\n";
	}
if ($_[0] eq "ufs") {
	# Solaris UFS also has many options, not all of which are here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=ufs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=ufs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=ufs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>Enable quotas at boot time?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"checked" : "";
	printf "<input type=radio name=ufs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"" : "checked";

	print "<tr> <td><b>Action on error</b></td>\n";
	print "<td><select name=ufs_onerror>\n";
	foreach ('panic', 'lock', 'umount', 'repair') {
		printf "<option value=\"$_\" %s> $_\n",
		 $options{onerror} eq $_ ||
		 !defined($options{onerror}) && $_ eq "panic" ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Repair Delay</b></td>\n";
	$options{toosoon} =~ /([0-9]+)([A-z])/;
	print "<td nowrap><input size=5 name=ufs_toosoon_time value=$1>\n";
	print "<select name=ufs_toosoon_units>\n";
	printf "<option value=s %s> Seconds\n", $2 eq "s" ? "selected" : "";
	printf "<option value=m %s> Minutes\n", $2 eq "m" ? "selected" : "";
	printf "<option value=h %s> Hours\n", $2 eq "h" ? "selected" : "";
	printf "<option value=d %s> Days\n", $2 eq "d" ? "selected" : "";
	printf "<option value=w %s> Months\n", $2 eq "w" ? "selected" : "";
	printf "<option value=y %s> Years\n", $2 eq "y" ? "selected" : "";
	print "</select></td> </tr>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<tr> <td><b>Update access times?</b></td> <td>\n";
		printf "<input type=radio name=ufs_noatime value=0 %s> Yes\n",
			defined($options{'noatime'}) ? "" : "checked";
		printf "<input type=radio name=ufs_noatime value=1 %s> No\n",
			defined($options{'noatime'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Force direct IO?</b></td> <td>\n";
		printf "<input type=radio name=ufs_force value=1 %s> Yes\n",
			defined($options{'forcedirectio'}) ? "checked" : "";
		printf "<input type=radio name=ufs_force value=0 %s> No\n",
			defined($options{'forcedirectio'}) ? "" : "checked";
		print "</td> </tr>\n";

		print "<tr> <td><b>Allow large files?</td> <td>\n";
		printf "<input type=radio name=ufs_nolarge value=0 %s> Yes\n",
			defined($options{'nolargefiles'}) ? "" : "checked";
		printf "<input type=radio name=ufs_nolarge value=1 %s> No\n",
			defined($options{'nolargefiles'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Enabled logging?</td> <td>\n";
		printf "<input type=radio name=ufs_logging value=1 %s> Yes\n",
			defined($options{'logging'}) ? "checked" : "";
		printf "<input type=radio name=ufs_logging value=0 %s> No\n",
			defined($options{'logging'}) ? "" : "checked";
		print "</td> </tr>\n";
		}
	}
if ($_[0] eq "hsfs") {
	# Solaris hsfs is used for CDROMs
	print "<tr> <td><b>Ignore Unix attributes?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nrr value=1 %s> Yes\n",
		defined($options{"nrr"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nrr value=0 %s> No</td>\n",
		defined($options{"nrr"}) ? "" : "checked";

	print "<td><b>Ignore trailing dot?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_notraildot value=1 %s> Yes\n",
		defined($options{"notraildot"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_notraildot value=0 %s> No</td> </tr>\n",
		defined($options{"notraildot"}) ? "" : "checked";

	print "<tr> <td><b>Use lower case?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nomaplcase value=0 %s> Yes\n",
		defined($options{"nomaplcase"}) ? "" : "checked";
	printf "<input type=radio name=hsfs_nomaplcase value=1 %s> No</td>\n",
		defined($options{"nomaplcase"}) ? "checked" : "";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf"<td nowrap><input type=radio name=hsfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "pcfs") {
	# Solaris pcfs for for FAT filesystems. It doesn't have many options
	print "<tr> <td width=25%><b>Read Only?</b></td> <td width=25%>\n";
	printf "<input type=radio name=pcfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=pcfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>Force lower case?</b></td> <td>\n";
		printf "<input type=radio name=pcfs_foldcase value=1 %s> Yes\n",
			defined($options{'foldcase'}) ? "checked" : "";
		printf "<input type=radio name=pcfs_foldcase value=0 %s> No\n",
			defined($options{'foldcase'}) ? "" : "checked";
		print "</td>\n";
		}
	else {
		print "<td colspan=2></td> </tr>\n";
		}
	}
if ($_[0] eq "lofs") {
	# No options as far as I know
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "tmpfs") {
	# Solaris tmpfs (virtual memory) filesystem. Only one option
	print "<tr> <td><b>Size</b>&nbsp;&nbsp;&nbsp;</td>\n";
	printf"<td><input type=radio name=tmpfs_size_def value=1 %s> Maximum\n",
		defined($options{"size"}) ? "" : "checked";
	printf"&nbsp;&nbsp;<input type=radio name=tmpfs_size_def value=0 %s>\n",
		defined($options{"size"}) ? "checked" : "";
	($tmpsz = $options{size}) =~ s/[A-z]+$//g;
	print "<input name=tmpfs_size size=6 value=\"$tmpsz\">\n";
	print "<select name=tmpfs_unit>\n";
	printf "<option value=m %s> MB\n",
		$options{"size"} =~ /m$/ ? "selected" : "";
	printf "<option value=k %s> kB\n",
		$options{"size"} =~ /k$/ ? "selected" : "";
	printf "<option value=b %s> bytes\n",
		$options{"size"} !~ /(k|m)$/ ? "selected" : "";
	print "</select></td>\n";
	print "<td colsan=2></td> </tr>\n";
	}
if ($_[0] eq "swap") {
	# Solaris swap has no options
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options.. cachefs mounts can
	# be of an existing 'manually' mounted back filesystem, or of a
	# back-filesystem that has been automatically mounted by the cache.
	# The user should never see the automatic mountings made by cachefs.
	print "<tr> <td><b>Real filesystem type</b></td>\n";
	print "<td nowrap><select name=cfs_backfstype>\n";
	if (!defined($options{backfstype})) { $options{backfstype} = "nfs"; }
	foreach (&list_fstypes()) {
		if ($_ eq "cachefs") { next; }
		printf "<option value=\"$_\" %s>$_\n",
			$_ eq $options{backfstype} ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Real mount point</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_noback value=1 %s> Automatic\n",
		defined($options{"backpath"}) ? "" : "checked";
	printf "<input type=radio name=cfs_noback value=0 %s>\n",
		defined($options{"backpath"}) ? "checked" : "";
	print "<input size=10 name=cfs_backpath value=\"$options{backpath}\"></td> </tr>\n";

	print "<tr> <td><b>Cache directory</b></td>\n";
	printf "<td nowrap><input size=10 name=cfs_cachedir value=\"%s\"></td>\n",
		defined($options{"cachedir"}) ? $options{"cachedir"} : "/cache";

	print "<td><b>Write mode</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_wmode value=0 %s> Write-around\n",
		defined($options{"non-shared"}) ? "" : "checked";
	printf "<input type=radio name=cfs_wmode value=1 %s> Non-shared\n",
		defined($options{"non-shared"}) ? "checked" : "";
	print "</td> </tr>\n";

	print "<tr> <td><b>Consistency check</b></td>\n";
	print "<td><select name=cfs_con>\n";
	print "<option value=1> Periodically\n";
	printf "<option value=0 %s> Never\n",
		defined($options{"noconst"}) ? "selected" : "";
	printf "<option value=2 %s> On demand\n",
		defined($options{"demandconst"}) ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>Check permissions in cache?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_local value=1 %s> Yes\n",
		defined($options{"local-access"}) ? "checked" : "";
	printf "<input type=radio name=cfs_local value=0 %s> No</td> </tr>\n",
		defined($options{"local-access"}) ? "" : "checked";

	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=cfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "autofs") {
	# Autofs has lots of options, depending on the type of file
	# system being automounted.. the fstype options determines this
	local($fstype);
	$fstype = $options{fstype} eq "" ? "nfs" : $options{fstype};
	if ($gconfig{'os_version'} >= 2.6) {
		print "<tr> <td><b>Browsing enabled?</b></td> <td>\n";
		printf "<input type=radio name=auto_nobrowse value=0 %s> Yes\n",
			defined($options{'nobrowse'}) ? "" : "checked";
		printf "<input type=radio name=auto_nobrowse value=1 %s> No\n",
			defined($options{'nobrowse'}) ? "checked" : "";
		print "</td> <td colspan=2></td> </tr>\n";
		}
	&generate_options($fstype);
	print "<input type=hidden name=autofs_fstype value=\"$fstype\">\n";
	}
if ($_[0] eq "rumba") {
	# SMB filesystems have a few options..
	print "<tr> <td><b>Server Hostname</b></td>\n";
	printf "<td><input type=radio name=rumba_mname_def value=1 %s> Automatic\n",
		defined($options{"machinename"}) ? "" : "checked";
	printf "<input type=radio name=rumba_mname_def value=0 %s>\n",
		defined($options{"machinename"}) ? "checked" : "";
	print "<input size=10 name=rumba_mname value=\"$options{machinename}\"></td>\n";

	print "<td><b>Client Name</b></td>\n";
	printf "<td><input type=radio name=rumba_cname_def value=1 %s> Automatic\n",
		defined($options{"clientname"}) ? "" : "checked";
	printf "<input type=radio name=rumba_cname_def value=0 %s>\n",
		defined($options{"clientname"}) ? "checked" : "";
	print "<input size=10 name=rumba_cname value=\"$options{clientname}\"></td> </tr>\n";

	print "<tr> <td><b>Login Name</b></td>\n";
	print "<td><input name=rumba_username size=15 value=\"$options{username}\"></td>\n";

	print "<td><b>Login Password</b></td>\n";
	print "<td><input type=password name=rumba_password size=15 value=\"$options{password}\"></td> </tr>\n";

	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input name=rumba_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("rumba_uid", 0),"</td>\n";

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input name=rumba_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("rumba_gid", 0),"</td>\n";

	print "<tr> <td><b>File permissions</b></td>\n";
	printf "<td><input name=rumba_fmode size=5 value=\"%s\"></td>\n",
		defined($options{fmode}) ? $options{fmode} : "755";

	print "<td><b>Directory permissions</b></td>\n";
	printf "<td><input name=rumba_dmode size=5 value=\"%s\"></td> </tr>\n",
		defined($options{dmode}) ? $options{dmode} : "755";

	print "<tr> <td><b>Read/write access is safe?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readwrite value=1 %s> Yes\n",
		defined($options{"readwrite"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readwrite value=0 %s> No</td>\n",
		defined($options{"readwrite"}) ? "" : "checked";

	print "<td><b>Files can be read-only?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readonly value=1 %s> Yes\n",
		defined($options{"readonly"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readonly value=0 %s> No</td> </tr>\n",
		defined($options{"readonly"}) ? "" : "checked";

	print "<tr> <td><b>Send password in upper case?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_noupper value=0 %s> Yes\n",
		defined($options{"noupper"}) ? "" : "checked";
	printf "<input type=radio name=rumba_noupper value=1 %s> No</td>\n",
		defined($options{"noupper"}) ? "checked" : "";

	print "<td><b>Use attrE commands?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_attr value=1 %s> Yes\n",
		defined($options{"attr"}) ? "checked" : "";
	printf "<input type=radio name=rumba_attr value=0 %s> No</td> </tr>\n",
		defined($options{"attr"}) ? "" : "checked";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if ($in{'nfs_serv'} == 1) {
		# multiple servers listed.. assume the user has a brain
		return $in{'nfs_list'};
		}
	elsif ($in{'nfs_serv'} == 2) {
		# NFS url.. check syntax
		if ($in{'nfs_url'} !~ /^nfs:\/\/([^\/ ]+)(\/([^\/ ]*))?$/) {
			&error("'$in{'nfs_url'}' is not a valid NFS URL");
			}
		return $in{'nfs_url'};
		}

	# Use dfshares to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error("'$in{nfs_host}' is not a valid hostname");
		}
	$out = `dfshares '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unknown host/) {
		&error("The host '$in{nfs_host}' does not exist");
		}
	elsif ($out =~ /Timed out/) {
		&error("The host '$in{nfs_host}' is down or does not ".
		       "support NFS");
		}
	elsif ($out =~ /Program not registered/) {
		&error("The host '$in{nfs_host}' does not support NFS");
		}

	# Try a test mount to see if filesystem is available
	foreach (split(/\n/, $out)) {
		if (/^\s*([^ :]+):(\/\S+)\s+/) { $dirlist .= "$2\n"; }
		}
	if ($in{nfs_dir} !~ /^\S+$/) {
		&error("'$in{nfs_dir}' is not a valid directory name. The ".
		       "available directories on $in{nfs_host} are:".
		       "<pre>$dirlist</pre>");
		}
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "ufs") {
	# Get the device name
	if ($in{ufs_dev} == 0) {
		$in{ufs_c} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_c}' is not a valid SCSI controller");
		$in{ufs_t} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_t}' is not a valid SCSI target");
		$in{ufs_d} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_d}' is not a valid SCSI unit");
		$in{ufs_s} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{ufs_c}t$in{ufs_t}d$in{ufs_d}s$in{ufs_s}";
		}
	elsif ($in{ufs_dev} == 1) {
		$in{ufs_md} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_md}' is not a valid RAID unit");
		$dv = "/dev/md/dsk/d$in{ufs_md}";
		}
	else {
		$in{ufs_path} =~ /^\/\S+$/ ||
			&error("'$in{ufs_path}' is not a valid pathname");
		$dv = $in{ufs_path};
		}

	&fstyp_check($dv, "ufs");
	return $dv;
	}
elsif ($_[0] eq "lofs") {
	# Get and check the original directory
	$dv = $in{'lofs_src'};
	if (!(-r $dv)) { &error("'$in{lofs_src}' does not exist"); }
	if (!(-d $dv)) { &error("'$in{lofs_src}' is not a directory"); }
	return $dv;
	}
elsif ($_[0] eq "swap") {
	if ($in{swap_dev} == 0) {
		$in{swap_c} =~ /^[0-9]+$/ ||
			&error("'$in{swap_c}' is not a valid SCSI controller");
		$in{swap_t} =~ /^[0-9]+$/ ||
			&error("'$in{swap_t}' is not a valid SCSI target");
		$in{swap_d} =~ /^[0-9]+$/ ||
			&error("'$in{swap_d}' is not a valid SCSI unit");
		$in{swap_s} =~ /^[0-9]+$/ ||
			&error("'$in{swap_s}' is not a valid SCSI partition");
		$dv="/dev/dsk/c$in{swap_c}t$in{swap_t}d$in{swap_d}s$in{swap_s}";
		}
	else { $dv = $in{swap_path}; }

	if (!open(SWAPFILE, $dv)) {
		if ($! =~ /No such file/ && $in{swap_dev}) {
			if ($dv !~ /^\/dev/) {
				&swap_form($dv);
				}
			else {
				&error("The swap file '$dv' does not exist");
				}
			}
		elsif ($! =~ /No such file/) {
			&error("The SCSI target '$in{swap_t}' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The partition '$in{swap_s}' does not exist");
			}
		else {
			&error("Failed to open '$dv' : $!");
			}
		}
	close(SWAPFILE);
	return $dv;
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have no location
	return "swap";
	}
elsif ($_[0] eq "cachefs") {
	# In order to check the location for the caching filesystem, we need
	# to check the back filesystem
	if (!$in{cfs_noback}) {
		# The back filesystem is manually mounted.. hopefully
		local($bidx, @mlist, @binfo);
		$bidx = &get_mounted($in{cfs_backpath}, "*");
		if ($bidx < 0) {
			&error("The back filesystem '$in{cfs_backpath}' is ".
			       "not mounted");
			}
		@mlist = &list_mounted();
		@binfo = @{$mlist[$bidx]};
		if ($binfo[2] ne $in{cfs_backfstype}) {
			&error("The back filesystem is '$binfo[2]', not ".
			       "'$in{cfs_backfstype}'");
			}
		}
	else {
		# Need to automatically mount the back filesystem.. check
		# it for sanity first.
		# But HOW?
		$in{cfs_src} =~ /^\S+$/ ||
			&error("'$in{cfs_src}' is not a valid cache source");
		}
	return $in{cfs_src};
	}
elsif ($_[0] eq "autofs") {
	# An autofs filesystem can be either mounted from the special
	# -hosts and -xfn maps, or from a normal map. The map can be a file
	# name (if it starts with /), or an NIS map (if it doesn't)
	if ($in{autofs_type} == 0) {
		# Normal map
		$in{autofs_map} =~ /\S/ ||
			&error("You did not enter an automount map name");
		if ($in{autofs_map} =~ /^\// && !(-r $in{autofs_map})) {
			&error("The map file '$in{autofs_map}' does not exist");
			}
		return $in{autofs_map};
		}
	elsif ($in{autofs_type} == 1) {
		# Special hosts map (automount all shares from some host)
		return "-hosts";
		}
	else {
		# Special FNS map (not sure what this does)
		return "-xfn";
		}
	}
elsif ($_[0] eq "rumba") {
	# Cannot check much here..
	return "\\\\$in{rumba_server}\\$in{rumba_share}";
	}
}


# fstyp_check(device, type)
# Check if some device exists, and contains a filesystem of the given type,
# using the fstyp command.
sub fstyp_check
{
local($out, $part, $found);

# Check if the device/partition actually exists
if ($_[0] =~ /^\/dev\/dsk\/c(.)t(.)d(.)s(.)$/) {
	# mounting a normal scsi device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The SCSI target for '$_[0]' does not exist");
		}
	$part = $4;
	foreach (split(/\n/, $out)) {
		/^\s+([0-9]+)\s+([0-9]+)/;
		if ($1 == $part) {
			$found = 1; last;
			}
		}
	if (!$found) {
		&error("The SCSI partition for '$_[0]' does not exist");
		}
	}
elsif ($_[0] =~ /^\/dev\/md\/dsk\/d(.)$/) {
	# mounting a multi-disk (raid) device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The RAID device for '$_[0]' does not exist");
		}
	if ($out !~ /\S/) {
		&error("No partitions on '$_[0]' ??");
		}
	}
else {
	# Some other device
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
			&error("The device file '$_[0]' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The device for '$_[0]' does not exist");
			}
		}
	close(DEV);
	}

# Check the filesystem type
$out = `fstyp $_[0] 2>&1`;
if ($out =~ /^([A-z0-9]+)\n$/) {
	if ($1 eq $_[1]) { return; }
	else {
		# Wrong filesystem type
		&error("The device '$_[0]' is formatted as a ".
		       &fstype_name($1));
		}
	}
else {
	&error("Failed to check filesystem type : $out");
	}
}


# check_options(type)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);
if ($_[0] eq "nfs") {
	# NFS has lots of options to parse
	if ($in{'nfs_ro'}) {
		# Read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# Read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}

	delete($options{'quota'}); delete($options{'noquota'});
	if ($in{'nfs_quota'}) { $options{'quota'} = ""; }

	delete($options{"nosuid"}); delete($options{"suid"});
	if ($in{nfs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"grpid"});
	if ($in{nfs_grpid}) { $options{"grpid"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"vers"});
	if (!$in{nfs_vers_def}) { $options{"vers"} = $in{nfs_vers}; }

	delete($options{"proto"});
	if ($in{nfs_proto} ne "") { $options{"proto"} = $in{nfs_proto}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"secure"}); delete($options{"kerberos"});
	delete($options{"sec"});
	if ($gconfig{'os_version'} >= 2.6) {
		if ($in{'nfs_auth'}) { $options{'sec'} = $in{'nfs_auth'}; }
		}
	else {
		if ($in{'nfs_auth'} eq "dh") { $options{"secure"} = ""; }
		elsif ($in{'nfs_auth'} eq "krb") { $options{"kerberos"} = ""; }
		}

	if ($gconfig{'os_version'} >= 7) {
		delete($options{'public'});
		$options{'public'} = "" if ($in{'nfs_public'});
		}
	}
elsif ($_[0] eq "ufs") {
	# UFS also has lots of options..
	if ($in{ufs_ro}) {
		# read-only (and thus no quota)
		$options{"ro"} = ""; delete($options{"rw"});
		delete($options{"rq"}); delete($options{"quota"});
		}
	elsif ($in{ufs_quota}) {
		# read-write, with quota
		delete($options{"ro"}); $options{"rw"} = "";
		$options{"quota"} = "";
		}
	else {
		# read-write, without quota
		delete($options{"ro"}); $options{"rw"} = "";
		delete($options{"quota"});
		}

	delete($options{"nosuid"});
	if ($in{ufs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{ufs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"onerror"});
	if ($in{ufs_onerror} ne "panic") {
		$options{"onerror"} = $in{ufs_onerror};
		}

	delete($options{"toosoon"});
	if ($in{ufs_toosoon_time}) {
		$options{"toosoon"} = $in{ufs_toosoon_time}.
				      $in{ufs_toosoon_units};
		}
	if ($gconfig{'os_version'} >= 7) {
		delete($options{'noatime'});
		$options{'noatime'} = "" if ($in{'ufs_noatime'});

		delete($options{'forcedirectio'});
		delete($options{'noforcedirectio'});
		$options{'forcedirectio'} = "" if ($in{'ufs_force'});

		delete($options{'nolargefiles'});delete($options{'largefiles'});
		$options{'nolargefiles'} = "" if ($in{'ufs_nolarge'});

		delete($options{'logging'}); delete($options{'nologging'});
		$options{'logging'} = "" if ($in{'ufs_logging'});
		}
	}
elsif ($_[0] eq "lofs") {
	# Loopback has no options to parse
	}
elsif ($_[0] eq "swap") {
	# Swap has no options to parse
	}
elsif ($_[0] eq "pcfs") {
	# PCFS has only 2 options
	delete($options{'ro'}); delete($options{'rw'});
	$options{'ro'} = "" if ($in{'pcfs_rp'});

	delete($options{'foldcase'}); delete($options{'nofoldcase'});
	$options{'foldcase'} = "" if ($in{'pcfs_foldcase'});
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have only one option
	delete($options{"size"});
	if (!$in{"tmpfs_size_def"}) {
		$options{"size"} = "$in{tmpfs_size}$in{tmpfs_unit}";
		}
	}
elsif ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options
	$options{"backfstype"} = $in{"cfs_backfstype"};

	delete($options{"backpath"});
	if (!$in{"cfs_noback"}) {
		# A back filesystem was given..  (alreadys checked)
		$options{"backpath"} = $in{"cfs_backpath"};
		}

	if ($in{"cfs_cachedir"} !~ /^\/\S+/) {
		&error("'$in{cfs_cachedir}' is not a valid cache directory");
		}
	$options{"cachedir"} = $in{"cfs_cachedir"};

	delete($options{"write-around"}); delete($options{"non-shared"});
	if ($in{"cfs_wmode"}) {
		$options{"non-shared"} = "";
		}

	delete($options{"noconst"}); delete($options{"demandconst"});
	if ($in{"cfs_con"} == 0) { $options{"noconst"} = ""; }
	elsif ($in{"cfs_con"} == 2) { $options{"demandconst"} = ""; }

	delete($options{"ro"}); delete($options{"rw"});
	if ($in{"cfs_ro"}) { $options{"ro"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{"cfs_nosuid"}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "autofs") {
	# The options for autofs depend on the type of the automounted
	# filesystem.. 
	$options{"fstype"} = $in{"autofs_fstype"};
	if ($gconfig{'os_version'} >= 2.6) {
		delete($options{'nobrowse'}); delete($options{'browse'});
		$options{'nobrowse'} = "" if ($in{'auto_nobrowse'});
		}
	return &check_options($options{"fstype"});
	}
elsif ($_[0] eq "rumba") {
	# Options for smb filesystems..
	delete($options{machinename});
	if (!$in{rumba_mname_def}) { $options{machinename} = $in{rumba_mname}; }

	delete($options{clientname});
	if (!$in{rumba_cname_def}) { $options{clientname} = $in{rumba_cname}; }

	delete($options{username});
	if ($in{rumba_username}) { $options{username} = $in{rumba_username}; }

	delete($options{password});
	if ($in{rumba_password}) { $options{password} = $in{rumba_password}; }

	delete($options{uid});
	if ($in{rumba_uid} ne "") { $options{uid} = getpwnam($in{rumba_uid}); }

	delete($options{gid});
	if ($in{rumba_gid} ne "") { $options{gid} = getgrnam($in{rumba_gid}); }

	delete($options{fmode});
	if ($in{rumba_fmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_fmode}' is not a valid octal file mode");
		}
	elsif ($in{rumba_fmode} ne "755") { $options{fmode} = $in{rumba_fmode}; }

	delete($options{dmode});
	if ($in{rumba_dmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_dmode}' is not a valid octal directory mode");
		}
	elsif ($in{rumba_dmode} ne "755") { $options{dmode} = $in{rumba_dmode}; }

	delete($options{'readwrite'});
	if ($in{'rumba_readwrite'}) { $options{'readwrite'} = ""; }

	delete($options{'readonly'});
	if ($in{'rumba_readonly'}) { $options{'readonly'} = ""; }

	delete($options{'attr'});
	if ($in{'rumba_attr'}) { $options{'attr'} = ""; }

	delete($options{'noupper'});
	if ($in{'rumba_noupper'}) { $options{'noupper'} = ""; }
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# create_swap(path, size, units)
# Attempt to create a swap file 
sub create_swap
{
local($out);
$out = `mkfile $_[1]$_[2] $_[0] 2>&1`;
if ($?) {
	unlink($_[0]);
	return "mkfile failed : $out";
	}
return 0;
}


# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)/) { return $1; }
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'} );
}

1;
  0707010002fc5e000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002000000003reloc/mount/redhat-linux-lib.pl   # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc5f000081e40000000000000002000000013d1fe2bd000031bc000000200000000000000000000000000000001b00000003reloc/mount/save_mount.cgi    #!/usr/local/bin/perl
# save_mount.cgi
# Save or create a mount. When saving an existing mount, at lot of different
# things can happen. 

require './mount-lib.pl';
&error_setup($text{'save_err'});
&ReadParse();
$| = 1;

# check inputs
if ($in{type} ne "swap") {
	$in{directory} =~ /^\// ||
		&error(&text('save_edirname', $in{'directory'}));
	if (-r $in{'directory'} && !(-d $in{'directory'})) {
		&error(&text('save_edir', $in{'directory'}));
		}
	# non-existant directories get created later
	}
else {
	# for swap files, set the directory to 'swap'
	$in{directory} = "swap";
	}

# Get user choices
@mmodes = &mount_modes($in{type});
$msave = ($mmodes[0]==0 ? 0 : $in{msave});
$mnow = ($mmodes[1]==0 ? $msave : $in{mmount});

foreach $f (&files_to_lock()) {
	&lock_file($f);
	}
if (defined($in{old}) && !$access{'simple'}) {
	# Saving an existing mount
	if ($in{temp}) { @mlist = &list_mounted(); }
	else { @mlist = &list_mounts(); }
	@mold = @{$mlist[$in{old}]};

	if (!$mnow && !$in{oldmnow} && !$msave) {
		# Not mounted, so remove from fstab without checking
		$dev = $mold[1];
		}
	else {
		# Changing an existing mount
		$dev = &check_location($in{'type'});
		&parse_options($mold[2], $mold[3]);
		$opts = &check_options($in{'type'}, $dev, $in{'directory'});
		@minfo = ($in{'directory'}, $dev, $in{'type'}, $opts,
			  $mmodes[2] ? $in{'order'} : "-",
			  $in{'msave'}==2||$mmodes[0]==1 ? "yes" : "no");
		}

	# Check for change in device
	if ($mold[1] ne $dev) {
		# Device has changed..check it
		if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) {
			&error(&text('save_ealready', $dev));
			}
		if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1){
			&error(&text('save_ealready2', $dev));
			}
		$changed = 1;
		}

	# Check for change in directory
	if ($in{type} ne "swap" && $mold[0] ne $in{directory}) {
		# Directory has changed.. check it too
		if (&get_mounted($in{directory}, "*")>=0) {
			&error(&text('save_ealready3', $in{'directory'}));
			}
		if (&get_mount($in{directory}, "*") != -1) {
			&error(&text('save_ealready4', $in{'directory'}));
			}
		$changed = 1;

		if (!(-d $in{directory})) {
			# Create the new directory
			&lock_file($in{directory});
			mkdir($in{directory}, 0755) ||
				&error(&text('save_emkdir',
					     $in{'directory'}, $!));
			&unlock_file($in{directory});
			$made_dir = 1;
			}
		}

	# Check for change in current mount status
	if ($in{'oldmnow'} && $mmodes[3] == 1) {
		# Mounted, and cannot be unmounted
		}
	elsif ($in{'oldmnow'} && !$mnow) {
		# Just been unmounted..
		if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) {
			#if ($error =~ /busy/) {
				# Mount is busy.. most likely because it is
				# currently in use. Offer the user a choice
				# to remove from the mount table only
			#	}
			#else { &error("Unmount failed : $error"); }
			&error(&text('save_eumount', $error));
			}
		@tlog = ( "umount", "dir", $mold[0],
			  { 'dir' => $mold[0], 'dev' => $mold[1],
			    'type' => $mold[2], 'opts' => $mold[3] } );
		}
	elsif ($mnow && !$in{oldmnow}) {
		# Just been mounted..
		if ($error = &mount_dir(@minfo)) {
			&error(&text('save_emount', $error));
			}
		@tlog = ( "mount", "dir", $minfo[0], 
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}
	elsif (!$mnow && !$in{oldmnow}) {
		# Not mounted, and doesn't need to be
		}
	elsif (($mold[0] ne $minfo[0] || $mold[1] ne $minfo[1] ||
	       &diff_opts($mold[3], $minfo[3])) && !$in{'perm_only'}) {
		# Need to unmount/mount to apply new options
		if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) {
			if ($error =~ /busy|Invalid argument/ && $msave) {
				# Mount is busy.. most likely because it is
				# currently in use. Offer the user a choice
				# to update only the fstab file, rather than
				# the real mount
				&header($text{'edit_title'}, "");
				print "<hr>\n";
				print &text('save_perm', "<tt>$mold[0]</tt>"),
				      "<p>\n";
				print "<form action=save_mount.cgi>\n";
				print "<input type=hidden name=perm_only ",
				      "value=1>\n";
				foreach $k (keys %in) {
					print "<input type=hidden name=$k ",
					      "value=\"$in{$k}\">\n";
					}
				print "<center><input type=submit ",
				      "value=\"$text{'save_apply'}\">",
				      "</center>\n";
				print "</form>\n";

				print "<hr>\n";
				&footer("", $text{'index_return'});
				exit;
				}
			else { &error(&text('save_eremount', $error)); }
			}
		if ($error = &mount_dir(@minfo)) {
			&error(&text('save_eremount', $error));
			}
		@tlog = ( "remount", "dir", $minfo[0], 
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}

	# Check for change in permanence
	if ($in{oldmsave} && !$msave) {
		# Delete from mount table
		&delete_mount($in{old});
		@plog = ( "delete", "dir", $in{'directory'},
			  { 'dir' => $mold[0], 'dev' => $mold[1],
			    'type' => $mold[2], 'opts' => $mold[3] } );
		}
	elsif ($msave && !$in{oldmsave}) {
		# Add to mount table
		&create_mount(@minfo);
		@plog = ( "create", "dir", $in{'directory'},
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}
	elsif (!$msave && !$in{oldmsave}) {
		# Not in mount table
		}
	elsif ($mold[0] ne $minfo[0] || $mold[1] ne $minfo[1] ||
	       &diff_opts($mold[3], $minfo[3])) {
		# Apply any changes in mount options
		&change_mount($in{old}, @minfo);
		@plog = ( "modify", "dir", $in{'directory'},
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}
	}
elsif (defined($in{'old'})) {
	# Doing a simple modification to a mount
	if ($in{temp}) { @mlist = &list_mounted(); }
	else { @mlist = &list_mounts(); }
	@mold = @{$mlist[$in{old}]};

	if ($in{'umount'}) {
		# Just unmount the filesystem
		if ($error = &unmount_dir($mold[0], $mold[1], $in{type})) {
			&error(&text('save_eumount', $error));
			}
		}
	elsif ($in{'mount'}) {
		# Just mount the filesystem
		if ($error = &mount_dir(@mold)) {
			&error(&text('save_emount', $error));
			}
		}
	elsif ($in{'perm'}) {
		# Add to permanent mount list
		&create_mount($mold[0], $mold[1], $mold[2], $mold[3],
			      2, "yes");
		}
	elsif ($in{'delete'}) {
		if ($in{'oldmnow'}) {
			# Unmount first
			if ($error = &unmount_dir($mold[0], $mold[1],
						  $in{type})) {
				&error(&text('save_eumount', $error));
				}
			}
		# Remove from permanent list
		&delete_mount($in{'old'});
		}
	else {
		# Updating the mount in some way ..
		# Check the mount source
		$dev = &check_location($in{'type'});
		&parse_options($mold[2], $mold[3]);
		if (defined($access{'opts'}) &&
		    $access{'opts'} !~ /$in{'type'}/) {
			# Just use existing options
			local @opts;
			foreach $k (keys %options) {
				if ($options{$k} eq '') { push(@opts, $k); }
				else { push(@opts, "$k=$options{$k}"); }
				}
			$opts = @opts ? join(",", @opts) : "-";
			}
		else {
			# Get options from the user
			$opts = &check_options($in{'type'}, $dev,
					       $in{'directory'});
			}
		@minfo = ($in{'directory'}, $dev, $in{'type'}, $opts, 2, 'yes');

		# Check for change in device
		if ($mold[1] ne $dev) {
			# Device has changed..check it
			if (!&multiple_mount($minfo[2]) &&
			    &get_mounted("*", $dev)>=0) {
				&error(&text('save_ealready', $dev));
				}
			if (!&multiple_mount($minfo[2]) &&
			    &get_mount("*", $dev) != -1){
				&error(&text('save_ealready2', $dev));
				}
			$changed = 1;
			}

		# Check for change in directory
		if ($in{type} ne "swap" && $mold[0] ne $in{directory}) {
			# Directory has changed.. check it too
			if (&get_mounted($in{directory}, "*")>=0) {
				&error(&text('save_ealready3',
					     $in{'directory'}));
				}
			if (&get_mount($in{directory}, "*") != -1) {
				&error(&text('save_ealready4',
					     $in{'directory'}));
				}
			$changed = 1;

			if (!(-d $in{directory})) {
				# Create the new directory
				&lock_file($in{directory});
				mkdir($in{directory}, 0755) ||
					&error(&text('save_emkdir',
						     $in{'directory'}, $!));
				&unlock_file($in{directory});
				$made_dir = 1;
				}
			}

		if ($in{'oldmnow'} && ($mold[0] ne $minfo[0] ||
		    $mold[1] ne $minfo[1] || &diff_opts($mold[3], $minfo[3]))) {
			# Need to unmount/mount to apply new options
			if ($error=&unmount_dir($mold[0], $mold[1], $in{type})){
				&error(&text('save_eremount', $error));
				}
			if ($error = &mount_dir(@minfo)) {
				&error(&text('save_eremount', $error));
				}
			}

		if ($in{'oldmsave'}) {
			# Change entry in fstab
			&change_mount($in{'old'}, @minfo);
			}
		}
	}
elsif ($access{'simple'}) {
	# Create and mounting from the simple interface
	$dev = &check_location($in{type});
	if (!defined($access{'opts'}) || $access{'opts'} =~ /$in{'type'}/) {
		$opts = &check_options($in{'type'}, $dev, $in{'directory'});
		}
	else {
		$opts = "-";
		}
	@minfo = ($in{directory}, $dev, $in{type}, $opts, 2, 'yes');

	# Check if the device is in use
	if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) {
		&error(&text('save_ealready', $dev));
		}
	if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1) {
		&error(&text('save_ealready2', $dev));
		}

	# Check if the directory is in use
	if ($in{type} ne "swap") {
		if (&get_mounted($in{directory}, "*")>=0) {
			&error(&text('save_ealready2', $in{'directory'}));
			}
		if (&get_mount($in{directory}, "*") != -1) {
			&error(&text('save_ealready3', $in{'directory'}));
			}
		}

	# Create the directory
	if ($in{type} ne "swap" && !(-d $in{directory})) {
		&lock_file($in{directory});
		mkdir($in{directory}, 0755) ||
		  &error(&text('save_emkdir', $in{'directory'}, $!));
		&unlock_file($in{directory});
		$made_dir = 1;
		}

	# Mount and save
	if ($error = &mount_dir($minfo[0], $minfo[1],
				$minfo[2], $minfo[3])) {
		if ($made_dir) { rmdir($in{directory}); }
		&error(&text('save_emount', $error));
		}
	&create_mount(@minfo) if ($mmodes[0]);
	}
else {
	# Creating a new mount
	$dev = &check_location($in{type});
	&parse_options($minfo[3]);
	$opts = &check_options($in{type}, $dev, $in{'directory'});
	@minfo = ($in{directory}, $dev, $in{type}, $opts,
		  $mmodes[2] ? $in{order} : "-",
		  $in{msave}==2||$mmodes[0]==1 ? "yes" : "no");

	# Check if anything is being done
	if (!$msave && !$mnow) {
		&error($text{'save_enone'});
		}

	# Check if the device is in use
	if (!&multiple_mount($minfo[2]) && &get_mounted("*", $dev)>=0) {
		&error(&text('save_ealready', $dev));
		}
	if (!&multiple_mount($minfo[2]) && &get_mount("*", $dev) != -1) {
		&error(&text('save_ealready2', $dev));
		}

	# Check if the directory is in use
	if ($in{type} ne "swap") {
		if (&get_mounted($in{directory}, "*")>=0) {
			&error(&text('save_ealready2', $in{'directory'}));
			}
		if (&get_mount($in{directory}, "*") != -1) {
			&error(&text('save_ealready3', $in{'directory'}));
			}
		}

	# Create the directory
	if ($in{type} ne "swap" && !(-d $in{directory})) {
		&lock_file($in{directory});
		mkdir($in{directory}, 0755) ||
		  &error(&text('save_emkdir', $in{'directory'}, $!));
		&unlock_file($in{directory});
		$made_dir = 1;
		}

	# If mounting now, attempt to do it
	if ($mnow) {
		# If the mount fails, give up totally
		if ($error = &mount_dir($minfo[0], $minfo[1],
					$minfo[2], $minfo[3])) {
			if ($made_dir) { rmdir($in{directory}); }
			&error(&text('save_emount', $error));
			}
		@tlog = ( "mount", "dir", $in{'directory'},
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}

	# If saving, save now
	if ($msave) {
		&create_mount(@minfo);
		@plog = ( "create", "dir", $in{'directory'},
			  { 'dir' => $minfo[0], 'dev' => $minfo[1],
			    'type' => $minfo[2], 'opts' => $minfo[3] } );
		}
	}
foreach $f (&files_to_lock()) {
	&unlock_file($f);
	}
&webmin_log(@plog) if (@plog);
%tpmap = ( 'create', 'mount',  'delete', 'umount',  'modify', 'remount' );
if (@tlog && $tpmap{$plog[0]} ne $tlog[0]) {
	&webmin_log(@tlog);
	}
&redirect($in{'return'});


# undo_changes
# Put back any changes to the fstab file
sub undo_changes
{
if ($in{temp} && $in{mboot}) {
	# a mount was made permanent.. undo by deleting it
	&delete_mount($idx);
	}
elsif (!$in{temp} && !$in{mboot}) {
	# a permanent mount was made temporary.. undo by making it permanent
	&create_mount(@mold);
	}
elsif ($in{mboot}) {
	# some mount options were changed.. undo by changing back
	&change_mount($in{old}, @mold);
	}
if ($made_dir) {
	# A directory for mounting was created.. delete it
	rmdir($in{directory});
	}
}

# diff_opts(string1, string2)
sub diff_opts
{
local $o1 = join(",", sort { $a cmp $b } split(/,/, $_[0]));
local $o2 = join(",", sort { $a cmp $b } split(/,/, $_[1]));
return $o1 ne $o2;
}

0707010002fc60000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000002300000003reloc/mount/slackware-linux-lib.pl    # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc61000081e40000000000000002000000013d1fe2bc000005cc000000200000000000000000000000000000001b00000003reloc/mount/smb_server.cgi    #!/usr/local/bin/perl
# smb_server.cgi
# Called in a pop-up javascript window to display a list of known SMB
# servers, by calling smbclient to request the browse list from some server

require './mount-lib.pl';
use Socket;
&header();
print <<EOF;
<script>
function choose(f)
{
ifield.value = f;
window.close();
}
</script>
EOF

print "<title>$text{'smb_choose'}</title>\n";

# call smbclient
$host = $config{'browse_server'} ? $config{'browse_server'} : "localhost";
$out = `$config{'smbclient_path'} -d 0 -L $host -N 2>&1`;
if ($?) {
	print "<b>",&text('smb_elist', $host),"</b>\n";
	exit;
	}
elsif ($out =~ /Unknown host/) {
	print "<b>",&text('smb_ehost', $host),"</b>\n";
	exit;
	}
elsif ($out =~ /error connecting|connect error/) {
	print "<b>",&text('smb_edown', $host),"</b>\n";
	exit;
	}

# parse server list
if ($out =~ /Server\s+Comment\n.*\n((.+\n)+)/) {
	@svlist = split(/\n/, $1);
	foreach $sv (@svlist) {
		if ($sv =~ /^\s+(\S+)\s*(.*)$/) {
			push(@names, $1); push(@comms, $2);
			}
		}
	}

if (@names) {
	print "<b>$text{'smb_sel'}</b><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'smb_name'}</b></td> ",
	      "<td><b>$text{'smb_desc'}</b></td> </tr>\n";
	for($i=0; $i<@names; $i++) {
		print "<tr $cb>\n";
		print "<td><a href=\"\" onClick='choose(\"$names[$i]\"); ",
		      "return false'>$names[$i]</a></td>\n";
		print "<td>$comms[$i]</td> </tr>\n";
		}
	print "</table>\n";
	}
else { print "<b>$text{'smb_none'}</b>.<p>\n"; }

0707010002fc62000081e40000000000000002000000013d1fe2bd00000583000000200000000000000000000000000000001a00000003reloc/mount/smb_share.cgi #!/usr/local/bin/perl
# smb_share.cgi
# Displays a list of shares available on some host

require './mount-lib.pl';
&ReadParse();
&header();
print <<EOF;
<script>
function choose(f)
{
ifield.value = f;
window.close();
}
</script>
EOF

print "<title>",&text('smb_choose2', $in{'server'}),"</title>\n";
$out = `$config{'smbclient_path'} -d 0 -L $in{'server'} -N 2>&1`;
if ($?) {
	print "<b>",&text('smb_elist2', $in{'server'}),"</b>\n";
	exit;
	}
elsif ($out =~ /Unknown host/) {
	print "<b>",&text('smb_ehost', $in{'server'}),"</b>\n";
	exit;
	}
elsif ($out =~ /error connecting|connect error/) {
	print "<b>",&text('smb_edown', $in{'server'}),"</b>\n";
	exit;
	}

if ($out =~ /Sharename\s+Type\s+Comment\n((.+\n)+)/) {
	@shlist = split(/\n/, $1);
	foreach $sh (@shlist) {
		if ($sh =~ /^\s+(.{1,7}\S+)\s+Disk\s*(.*)$/) {
			push(@names, $1); push(@comms, $2);
			}
		}
	}
if (@names) {
	print "<b>$text{'smb_sel2'}</b><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'smb_share'}</b></td> ",
	      "<td><b>$text{'smb_comment'}</b></td> </tr>\n";
	for($i=0; $i<@names; $i++) {
		print "<tr $cb> <td><a href=\"\" ",
		      "onClick='choose(\"$names[$i]\"); ".
		      "return false'>$names[$i]</a></td>\n";
		printf "<td>%s</td> </tr>\n",
			$comms[$i] =~ /\S/ ? $comms[$i] : "<br>";
		}
	print "</table>\n";
	}
else {
	print "<b>",&text('smb_noshares', $in{'server'}),"</b>\n";
	}

 0707010002fc63000081a40000000000000002000000013d1fe2bd0000e06b000000200000000000000000000000000000001b00000003reloc/mount/solaris-lib.pl    # solaris-lib.pl
# Filesystem functions for Solaris (works for me on 2.5)

$smbmount = &has_command("rumba") ? "rumba" :
	    &has_command("shlight") ? "shlight" : undef;

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, $_, $i); $i = 0;

# List normal filesystem mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[3] eq "swap") { $p[2] = "swap"; }
	$rv[$i++] = [ $p[2], $p[0], $p[3], $p[6], $p[4], $p[5] ];
	}
close(FSTAB);

# List automount points
open(AUTOTAB, $config{autofs_file});
while(<AUTOTAB>) {
	chop; s/#.*$//g;
	if (!/\S/ || /^[+\-]/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "") { $p[2] = "-"; }
	else { $p[2] =~ s/^-//g; }
	$rv[$i++] = [ $p[0], $p[1], "autofs", $p[2], "-", "yes" ];
	}
close(AUTOTAB);

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, and return the index of the new entry
sub create_mount
{
local($len, @mlist, $fcsk, $dir);
if ($_[2] eq "autofs") {
	# An autofs mount.. add to /etc/auto_master
	$len = grep { $_->[2] eq "autofs" } (&list_mounts());
	open(AUTOTAB, ">> $config{autofs_file}");
	print AUTOTAB "$_[0] $_[1]",($_[3] eq "-" ? "" : " -$_[3]"),"\n";
	close(AUTOTAB);
	}
else {
	# Add to the fstab file
	$len = grep { $_->[2] ne "autofs" } (&list_mounts());
	open(FSTAB, ">> $config{fstab_file}");
	if ($_[2] eq "ufs" || $_[2] eq "s5fs") {
		($fsck = $_[1]) =~ s/\/dsk\//\/rdsk\//g;
		}
	else { $fsck = "-"; }
	if ($_[2] eq "swap") { $dir = "-"; }
	else { $dir = $_[0]; }
	print FSTAB "$_[1]  $fsck  $dir  $_[2]  $_[4]  $_[5]  $_[3]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
return $len;
}


# delete_mount(index)
# Delete some mount from the table
sub delete_mount
{
local(@fstab, $i, $line, $_);
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
$i = 0;

open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# found the line not to include
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# found line not to include..
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local(@fstab, @autotab, $i, $line, $fsck, $dir, $_);
$i = 0;

open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		if ($_[3] eq "ufs" || $_[3] eq "s5fs") {
			($fsck = $_[2]) =~ s/\/dsk\//\/rdsk\//g;
			}
		else { $fsck = "-"; }
		if ($_[3] eq "swap") { $dir = "-"; }
		else { $dir = $_[1]; }
		print FSTAB "$_[2]  $fsck  $dir  $_[3]  $_[5]  $_[6]  $_[4]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# Found the line to replace
		print AUTOTAB "$_[1]  $_[2]  ",
				($_[4] eq "-" ? "" : "-$_[4]"),"\n";
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# For swap files, the directory will be 'swap'
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, $_, $i, $r);
foreach (split(/\n/, `swap -l`)) {
	if (/^(\/\S+)\s+/) { push(@rv, [ "swap", $1, "swap", "-" ]); }
	}
foreach (split(/\n/, `cat /etc/mnttab`)) {
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[0] =~ /:vold/) { next; }
	if ($p[0] =~ /^(rumba|shlight)-(\d+)$/) {
		# rumba smb mount
		local($args, $ps); $p[3] = "pid=$2";
		$ps = (-x "/usr/ucb/ps") ? "/usr/ucb/ps auwwwwx $2"
				 	 : "ps -o args -f $2";
		`$ps` =~ /(rumba|shlight)\s+\/\/([^\/]+)\/(.*\S)\s+(\/\S+)(.*)/ || next;
		$serv = $2; $shar = $3; $p[2] = "rumba"; $args = $5;
		if ($args =~ /\s+-s\s+(\S+)/ && $1 ne $serv) {
			$p[0] = "\\\\$1\\$shar";
			$p[3] .= ",machinename=$serv";
			}
		else { $p[0] = "\\\\$serv\\$shar"; }
		if ($args =~ /\s+-c\s+(\S+)/) { $p[3] .= ",clientname=$1"; }
		if ($args =~ /\s+-U\s+(\S+)/) { $p[3] .= ",username=$1"; }
		if ($args =~ /\s+-u\s+(\S+)/) { $p[3] .= ",uid=$1"; }
		if ($args =~ /\s+-g\s+(\S+)/) { $p[3] .= ",gid=$1"; }
		if ($args =~ /\s+-f\s+(\S+)/) { $p[3] .= ",fmode=$1"; }
		if ($args =~ /\s+-d\s+(\S+)/) { $p[3] .= ",dmode=$1"; }
		if ($args =~ /\s+-C/) { $p[3] .= ",noupper"; }
		if ($args =~ /\s+-P\s+(\S+)/) { $p[3] .= ",password=$1"; }
		if ($args =~ /\s+-S/) { $p[3] .= ",readwrite"; }
		if ($args =~ /\s+-w/) { $p[3] .= ",readonly"; }
		if ($args =~ /\s+-e/) { $p[3] .= ",attr"; }
		}
	else { $p[3] = join(',' , (grep {!/^dev=/} split(/,/ , $p[3]))); }
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
foreach $r (@rv) {
	if ($r->[2] eq "cachefs" && $r->[1] =~ /\.cfs_mnt_points/) {
		# Oh no.. a caching filesystem mount. Fiddle things so that
		# it looks right.
		for($i=0; $i<@rv; $i++) {
			if ($rv[$i]->[0] eq $r->[1]) {
				# Found the automatically mounted entry. lose it
				$r->[1] = $rv[$i]->[1];
				splice(@rv, $i, 1);
				last;
				}
			}
		}
	}
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed. If the directory is 'swap', then mount as
# virtual memory.
sub mount_dir
{
local($out, $opts);
if ($_[0] eq "swap") {
	# Adding a swap device
	$out = &backquote_logged("swap -a $_[1] 2>&1");
	if ($?) { return $out; }
	}
else {
	# Mounting a directory
	if ($_[2] eq "cachefs") {
		# Mounting a caching filesystem.. need to create cache first
		local(%options);
		&parse_options("cachefs", $_[3]);
		if (!(-r "$options{cachedir}/.cfs_resource")) {
			# The cache directory does not exist.. set it up
			if (-d $options{cachedir} &&
			    !rmdir($options{"cachedir"})) {
				return &text('solaris_ecacheexists',
					     $options{'cachedir'});
				}
			$out = &backquote_logged("cfsadmin -c $options{cachedir} 2>&1");
			if ($?) { return $out; }
			}
		}
	if ($_[2] eq "rumba") {
		# call 'rumba' to mount
		local(%options, $shortname, $shar, $opts, $rv);
		&parse_options("rumba", $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$_[1] =~ /^\\\\(.+)\\(.+)$/;
		$shar = "//".($options{machinename} ?$options{machinename} :$1).
			"/$2";
		$opts = ("-s $1 ").
		 (defined($options{'clientname'}) ?
			"-c $options{'clientname'} " : "-c $shortname ").
		 (defined($options{'username'}) ?
			"-U $options{'username'} " : "").
		 (defined($options{'uid'}) ? "-u $options{'uid'} " : "").
		 (defined($options{'gid'}) ? "-g $options{'gid'} " : "").
		 (defined($options{'fmode'}) ? "-f $options{'fmode'} " : "").
		 (defined($options{'dmode'}) ? "-d $options{'dmode'} " : "").
		 (defined($options{'noupper'}) ? "-C " : "").
		 (defined($options{'password'}) ?
			"-P $options{'password'} " : "-n ").
		 (defined($options{'readwrite'}) ? "-S " : "").
		 (defined($options{'readonly'}) ? "-w " : "").
		 (defined($options{'attr'}) ? "-e " : "");
		local $rtemp = &tempname();
		$rv = system("rumba \"$shar\" $_[0] $opts >$rtemp 2>&1 </dev/null");
		$out = `cat $rtemp`; unlink($rtemp);
		if ($rv) { return "<pre>$out</pre> : rumba \"$shar\" $_[0] $opts"; }
		}
	else {
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -F $_[2] $opts -- $_[1] $_[0] 2>&1");
		if ($?) { return $out; }
		}
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory (or swap device) that is currently mounted. Returns 0 if
# ok, or an error string if failed
sub unmount_dir
{
if ($_[0] eq "swap") {
	$out = &backquote_logged("swap -d $_[1] 2>&1");
	}
elsif ($_[2] eq "rumba") {
	# kill the process (if nobody is in the directory)
	$dir = $_[0];
	if (`fuser -c $_[0] 2>/dev/null` =~ /\d/)
		{ return &text('solaris_ebusy', $_[0]); }
	if (`cat /etc/mnttab` =~ /(rumba|shlight)-(\d+)\s+$dir\s+nfs/) {
		&kill_logged('TERM', $2) || return $text{'solaris_ekill'};
		}
	else { return $text{'solaris_epid'}; }
	sleep(1);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	}
undef(@list_mounted_cache);
if ($?) { return $out; }
return 0;
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "fd" || $_[0] eq "proc" || $_[0] eq "swap" || $_[0] eq "autofs") {
	return ();
	}
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @fs = ("ufs", "nfs", "hsfs", "pcfs", "lofs", "cachefs",
	     "swap", "tmpfs", "autofs");
push(@fs, $smbmount) if ($smbmount);
push(@fs, "udfs", "xmemfs") if ($gconfig{'os_version'} >= 8);
return @fs;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ufs","Solaris Unix Filesystem",
	  "nfs","Network Filesystem",
	  "hsfs","ISO9660 CD-ROM",
	  "pcfs","MS-DOS Filesystem",
	  "lofs","Loopback Filesystem",
	  "cachefs","Caching Filesystem",
	  "swap","Virtual Memory",
	  "tmpfs","RAM Disk",
	  "xmemfs","Large RAM Disk",
	  "autofs","Automounter Filesystem",
	  "proc","Process Image Filesystem",
	  "fd","File Descriptor Filesystem",
	  "mntfs","Filesystems List",
	  "udfs","DVD Filesystem",
	  "rumba","Windows Networking Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
sub mount_modes
{
if ($_[0] eq "ufs" || $_[0] eq "cachefs" || $_[0] eq "s5fs") {
	return (2, 1, 1, 0);
	}
elsif ($_[0] eq "rumba") { return (0, 1, 0, 0); }
else { return (2, 1, 0, 0); }
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "tmpfs" || $_[0] eq "cachefs" ||
        $_[0] eq "autofs" || $_[0] eq "lofs" || $_[0] eq "rumba" || $_[0] eq "xmemfs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	if ($_[1] =~ /^nfs:/) { $nfsmode = 2; }
	elsif (!$_[1] || $_[1] =~ /^([A-z0-9\-\.]+):([^,]+)$/) {
		$nfsmode = 0; $nfshost = $1; $nfspath = $2;
		}
	else { $nfsmode = 1; }
	if ($gconfig{'os_version'} >= 2.6) {
		# Solaris 2.6 can list multiple NFS servers in mount
		print "<tr> <td><b>$text{'solaris_nsource'}</b></td>\n";
		printf "<td><input type=radio name=nfs_serv value=0 %s>\n",
			$nfsmode == 0 ? "checked" : "";
		print "<b>$text{'solaris_nhost'}</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "&nbsp;<b>$text{'solaris_ndir'}</b>\n";
		print "<input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";

		print "<tr> <td></td>\n";
		printf "<td><input type=radio name=nfs_serv value=1 %s>\n",
			$nfsmode == 1 ? "checked" : "";
		print "<b>$text{'solaris_nmult'}</b></td>\n";
		printf "<td><input name=nfs_list size=40 value=\"%s\">\n",
			$nfsmode == 1 ? $_[1] : "";
		print "</td> </tr>\n";

		if ($gconfig{'os_version'} >= 7) {
			print "<tr> <td></td> <td>\n";
			printf "<input type=radio name=nfs_serv value=2 %s>\n",
				$nfsmode == 2 ? "checked" : "";
			print "<b>$text{'solaris_webnfs'}</b></td> <td>\n";
			printf "<input name=nfs_url size=40 value=\"%s\">\n",
				$nfsmode == 2 ? $_[1] : "";
			print "</td> </tr>\n";
			}
		}
	else {
		print "<tr> <td><b>$text{'solaris_nhost'}</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "</td>\n";
		print "<td><b>$text{'solaris_ndir'}</b></td>\n";
		print "<td><input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";
		}
	}
elsif ($_[0] eq "tmpfs" || $_[0] eq "xmemfs") {
	# Location is irrelevant for tmpfs and xmemfs filesystems
	}
elsif ($_[0] eq "ufs") {
	# Mounted from a normal disk, raid (MD) device or from
	# somewhere else
	print "<tr> <td valign=top><b>$text{'solaris_ufs'}</b></td>\n";
	print "<td colspan=3>\n";
	&foreign_require("format", "format-lib.pl");

	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/ ||
	    $_[1] =~ /^\/dev\/dsk\/c([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$ufs_dev = 0;
		}
	elsif ($_[1] eq "") {
		$ufs_dev = 0;
		}
	elsif ($_[1] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/) {
		$ufs_dev = 1;
		}
	else {
		$ufs_dev = 2;
		}

	local $found;
	local $sel = &foreign_call("format", "partition_select",
				   "ufs_disk", $_[1], 0,
				   $ufs_dev ? \$found : undef);
	printf "<input type=radio name=ufs_dev value=0 %s> %s : %s<br>\n",
		$ufs_dev == 0 ? "checked" : "", $text{'solaris_scsi'}, $sel;

	printf "<input type=radio name=ufs_dev value=1 %s> %s :\n",
		$ufs_dev == 1 ? "checked" : "",
		$text{'solaris_raid'};
	printf "%s <input name=ufs_md size=3 value=\"%s\"><br>\n",
		$text{'solaris_unit'},
		 $_[1] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/ ? $1 : "";

	printf "<input type=radio name=ufs_dev value=2 %s> %s :\n",
		$ufs_dev == 2 ? "checked" : "", $text{'solaris_otherdev'};
	printf "<input name=ufs_path size=20 value=\"%s\"><br>\n",
		$ufs_dev == 2 ? $_[1] : "";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swapping to a disk partition or a file
	print "<tr> <td valign=top><b>$text{'solaris_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	&foreign_require("format", "format-lib.pl");

	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/ ||
	    $_[1] =~ /^\/dev\/dsk\/c([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$swap_dev = 0;
		}
	elsif ($_[1] eq "") {
		$swap_dev = 0;
		}
	else {
		$swap_dev = 1;
		}

	local $found;
	local $sel = &foreign_call("format", "partition_select",
				   "swap_disk", $_[1], 0,
				   $swap_dev ? \$found : undef);
	printf "<input type=radio name=swap_dev value=0 %s> %s : %s<br>\n",
		$swap_dev == 0 ? "checked" : "", $text{'solaris_scsi'}, $sel;

	printf "<input type=radio name=swap_dev value=1 %s> %s :\n",
		$swap_dev == 1 ? "checked" : "", $text{'solaris_file'};
	printf "<input name=swap_path size=20 value=\"%s\"><br>\n",
		$swap_dev == 1 ? $_[1] : "";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "hsfs" || $_[0] eq "udfs") {
	# Mounting a SCSI cdrom or DVD
	if ($_[0] eq "hsfs") {
		print "<tr> <td valign=top><b>$text{'solaris_cdrom'}</b></td>\n";
		}
	else {
		print "<tr> <td valign=top><b>$text{'solaris_dvd'}</b></td>\n";
		}
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$hsfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$hsfs_dev = 0;
		$scsi_c = 0; $scsi_t = 6; $scsi_d = 0; $scsi_s = 0;
		}
	else {
		$hsfs_dev = 2; $scsi_path = $_[1];
		}
	printf "<input type=radio name=ufs_dev value=0 %s> $text{'solaris_scsi'}:\n",
		$hsfs_dev == 0 ? "checked" : "";
	print "$text{'solaris_ctrlr'} <input name=ufs_c size=3 value=\"$scsi_c\">\n";
	print "$text{'solaris_target'} <input name=ufs_t size=3 value=\"$scsi_t\">\n";
	print "$text{'solaris_unit'} <input name=ufs_d size=3 value=\"$scsi_d\">\n";
	print "$text{'solaris_part'} <input name=ufs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=ufs_dev value=2 %s> $text{'solaris_otherdev'}:\n",
		$hsfs_dev == 2 ? "checked" : "";
	print "<input name=ufs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "pcfs") {
	# Mounting a SCSI msdos filesystem
	print "<tr> <td valign=top><b>$text{'solaris_msdos'}</b></td>\n";
	print "<td colspan=3>\n";
	&foreign_require("format", "format-lib.pl");

	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/ ||
	    $_[1] =~ /^\/dev\/dsk\/c([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$pcfs_dev = 0;
		}
	elsif ($_[1] eq "") {
		$pcfs_dev = 0;
		}
	else {
		$pcfs_dev = 2;
		}

	local $found;
	local $sel = &foreign_call("format", "partition_select",
				   "ufs_disk", $_[1], 0,
				   $pcfs_dev ? \$found : undef);
	printf "<input type=radio name=ufs_dev value=0 %s> %s : %s<br>\n",
		$pcfs_dev == 0 ? "checked" : "", $text{'solaris_scsi'}, $sel;

	printf "<input type=radio name=ufs_dev value=2 %s> %s :\n",
		$pcfs_dev == 2 ? "checked" : "", $text{'solaris_file'};
	printf "<input name=ufs_path size=20 value=\"%s\"><br>\n",
		$pcfs_dev == 2 ? $_[1] : "";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "lofs") {
	# Mounting some directory to another location
	print "<tr> <td><b>$text{'solaris_orig'}</b></td>\n";
	print "<td><input name=lofs_src size=30 value=\"$_[1]\">\n";
	print &file_chooser_button("lofs_src", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "cachefs") {
	# Mounting a cached filesystem of some type.. need a location for
	# the source of the mount
	print "<tr> <td><b>$text{'solaris_cache'}</b></td>\n";
	print "<td><input name=cfs_src size=20 value=\"$_[1]\"></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# An automounter entry.. can be -hosts, -xfn or from some mapping
	print "<tr> <td valign=top><b>$text{'solaris_automap'}</b></td>\n";
	printf "<td><input type=radio name=autofs_type value=0 %s>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : "checked";
	printf "Use map <input name=autofs_map size=20 value=\"%s\"><br>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : $_[1];
	printf "<input type=radio name=autofs_type value=1 %s>\n",
		$_[1] eq "-hosts" ? "checked" : "";
	print "$text{'solaris_autohosts'}<br>\n";
	printf "<input type=radio name=autofs_type value=2 %s>\n",
		$_[1] eq "-xfn" ? "checked" : "";
	print "$text{'solaris_autoxfn'}</td> </tr>\n";
	}
elsif ($_[0] eq "rumba") {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'solaris_server'}</b></td>\n";
	print "<td><input name=rumba_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("rumba_server");
	print "</td>\n";
	print "<td><b>$text{'solaris_share'}</b></td>\n";
	print "<td><input name=rumba_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("rumba_server", "rumba_share");
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a partilcar filesystem 
# under this OS
sub generate_options
{
if ($_[0] eq "nfs") {
	# Solaris NFS has many options, not all of which are editable here
	print "<tr> <td><b>$text{'solaris_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=nfs_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'solaris_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=nfs_nosuid value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) ? "" : "checked";
	printf "<input type=radio name=nfs_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) ? "checked" : "";

	print "<td><b>$text{'solaris_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'solaris_quota'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_quota value=1 %s> $text{'yes'}\n",
		defined($options{"quota"}) ? "checked" : "";
	printf "<input type=radio name=nfs_quota value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_nointr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nointr value=0 %s> $text{'yes'}\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nointr value=1 %s> $text{'no'}</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>$text{'solaris_nfsver'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'solaris_highest'}\n",
		defined($options{"vers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"vers"}) ? "checked" : "";
	print "<input size=1 name=nfs_vers value=$options{vers}></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_proto'}</b></td>\n";
	print "<td nowrap><select name=proto>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"proto"}) ? "" : "selected";
	foreach (split(/\n/, `cat /etc/netconfig`)) {
		if (!/^([A-z0-9\_\-]+)\s/) { next; }
		printf "<option value=\"$1\" %s> $1\n",
			$options{"proto"} eq $1 ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>$text{'solaris_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'solaris_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_auth'}</b></td>\n";
	$nfs_auth = $options{'sec'} ? $options{'sec'} :
		    defined($options{"secure"}) ? "dh" :
		    defined($options{"kerberos"}) ? "krb" : "";
	print "<td><select name=nfs_auth>\n";
	printf "<option value=\"\" %s> $text{'solaris_none'}\n",
		$nfs_auth eq "" ? "selected" : "";
	printf "<option value=dh %s> $text{'solaris_des'}\n",
		$nfs_auth eq "dh" ? "selected" : "";
	printf "<option value=krb %s> $text{'solaris_krb'}\n",
		$nfs_auth eq "krb" ? "selected" : "";
	print "</select></td>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>$text{'solaris_public'}</b></td> <td>\n";
		printf "<input type=radio name=nfs_public value=1 %s> $text{'yes'}\n",
			defined($options{'public'}) ? "checked" : "";
		printf "<input type=radio name=nfs_public value=0 %s> $text{'no'}\n",
			defined($options{'public'}) ? "" : "checked";
		print "</td>\n";
		}
	print "</tr>\n";
	}
if ($_[0] eq "ufs") {
	# Solaris UFS also has many options, not all of which are here
	print "<tr> <td><b>$text{'solaris_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=ufs_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'solaris_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=ufs_nosuid value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_nointr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nointr value=0 %s> $text{'yes'}\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=ufs_nointr value=1 %s> $text{'no'}</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>$text{'solaris_quotab'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_quota value=1 %s> $text{'yes'}\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"checked" : "";
	printf "<input type=radio name=ufs_quota value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"" : "checked";

	print "<tr> <td><b>$text{'solaris_onerror'}</b></td>\n";
	print "<td><select name=ufs_onerror>\n";
	foreach ('panic', 'lock', 'umount', 'repair') {
		printf "<option value=\"$_\" %s> $_\n",
		 $options{onerror} eq $_ ||
		 !defined($options{onerror}) && $_ eq "panic" ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>$text{'solaris_toosoon'}</b></td>\n";
	$options{toosoon} =~ /([0-9]+)([A-z])/;
	print "<td nowrap><input size=5 name=ufs_toosoon_time value=$1>\n";
	print "<select name=ufs_toosoon_units>\n";
	foreach $u ('s', 'm', 'h', 'd', 'w', 'y') {
		printf "<option value=%s %s> %s\n",
			$u, $2 eq $u ? "selected" : "", $text{"solaris_time_$u"};
		}
	print "</select></td> </tr>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<tr> <td><b>$text{'solaris_noatime'}</b></td> <td>\n";
		if ($gconfig{'os_version'} >= 8) {
			printf "<input type=radio name=ufs_noatime value=0 %s> $text{'solaris_immed'}\n",
				defined($options{'nodfratime'}) ? "checked" : "";
			printf "<input type=radio name=ufs_noatime value=1 %s> $text{'solaris_defer'}\n",
				!defined($options{'nodfratime'}) &&
				!defined($options{'noatime'}) ? "checked" : "";
			printf "<input type=radio name=ufs_noatime value=2 %s> $text{'no'}</td>\n",
				defined($options{'noatime'}) ? "checked" : "";
			}
		else {
			printf "<input type=radio name=ufs_noatime value=0 %s> $text{'yes'}\n",
				defined($options{'noatime'}) ? "" : "checked";
			printf "<input type=radio name=ufs_noatime value=1 %s> $text{'no'}</td>\n",
				defined($options{'noatime'}) ? "checked" : "";
			}

		print "<td><b>$text{'solaris_force'}</b></td> <td>\n";
		printf "<input type=radio name=ufs_force value=1 %s> $text{'yes'}\n",
			defined($options{'forcedirectio'}) ? "checked" : "";
		printf "<input type=radio name=ufs_force value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{'forcedirectio'}) ? "" : "checked";

		print "<tr> <td><b>$text{'solaris_nolarge'}</td> <td>\n";
		printf "<input type=radio name=ufs_nolarge value=0 %s> $text{'yes'}\n",
			defined($options{'nolargefiles'}) ? "" : "checked";
		printf "<input type=radio name=ufs_nolarge value=1 %s> $text{'no'}</td>\n",
			defined($options{'nolargefiles'}) ? "checked" : "";

		print "<td><b>$text{'solaris_logging'}</td> <td>\n";
		printf "<input type=radio name=ufs_logging value=1 %s> $text{'yes'}\n",
			defined($options{'logging'}) ? "checked" : "";
		printf "<input type=radio name=ufs_logging value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{'logging'}) ? "" : "checked";
		}
	}
if ($_[0] eq "hsfs") {
	# Solaris hsfs is used for CDROMs
	print "<tr> <td><b>$text{'solaris_nrr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nrr value=1 %s> $text{'yes'}\n",
		defined($options{"nrr"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nrr value=0 %s> $text{'no'}</td>\n",
		defined($options{"nrr"}) ? "" : "checked";

	print "<td><b>$text{'solaris_notraildot'}</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_notraildot value=1 %s> $text{'yes'}\n",
		defined($options{"notraildot"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_notraildot value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notraildot"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_nomaplcase'}</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nomaplcase value=0 %s> $text{'yes'}\n",
		defined($options{"nomaplcase"}) ? "" : "checked";
	printf "<input type=radio name=hsfs_nomaplcase value=1 %s> $text{'no'}</td>\n",
		defined($options{"nomaplcase"}) ? "checked" : "";

	print "<td><b>$text{'solaris_nosuid'}</b></td>\n";
	printf"<td nowrap><input type=radio name=hsfs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nosuid value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "pcfs") {
	# Solaris pcfs for for FAT filesystems. It doesn't have many options
	print "<tr> <td width=25%><b>$text{'solaris_ro'}</b></td> <td width=25%>\n";
	printf "<input type=radio name=pcfs_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=pcfs_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>$text{'solaris_foldcase'}</b></td> <td>\n";
		printf "<input type=radio name=pcfs_foldcase value=1 %s> $text{'yes'}\n",
			defined($options{'foldcase'}) ? "checked" : "";
		printf "<input type=radio name=pcfs_foldcase value=0 %s> $text{'no'}</td>\n",
			defined($options{'foldcase'}) ? "" : "checked";
		}
	else {
		print "<td colspan=2></td> </tr>\n";
		}
	}
if ($_[0] eq "lofs") {
	# No options as far as I know
	print "<tr> <td><i>$text{'solaris_noopts'}</i></td> </tr>\n";
	}
if ($_[0] eq "tmpfs") {
	# Solaris tmpfs (virtual memory) filesystem.
	print "<tr> <td><b>$text{'solaris_size'}</b>&nbsp;&nbsp;&nbsp;</td>\n";
	printf"<td><input type=radio name=tmpfs_size_def value=1 %s> $text{'solaris_max'}\n",
		defined($options{"size"}) ? "" : "checked";
	printf"&nbsp;&nbsp;<input type=radio name=tmpfs_size_def value=0 %s>\n",
		defined($options{"size"}) ? "checked" : "";
	($tmpsz = $options{size}) =~ s/[A-z]+$//g;
	print "<input name=tmpfs_size size=6 value=\"$tmpsz\">\n";
	print "<select name=tmpfs_unit>\n";
	printf "<option value=m %s> MB\n",
		$options{"size"} =~ /m$/ ? "selected" : "";
	printf "<option value=k %s> kB\n",
		$options{"size"} =~ /k$/ ? "selected" : "";
	printf "<option value=b %s> bytes\n",
		$options{"size"} !~ /(k|m)$/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'solaris_nosuid'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=tmpfs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=tmpfs_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	print "</tr>\n";
	}
if ($_[0] eq "swap") {
	# Solaris swap has no options
	print "<tr> <td><i>$text{'solaris_noopts'}</i></td> </tr>\n";
	}
if ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options.. cachefs mounts can
	# be of an existing 'manually' mounted back filesystem, or of a
	# back-filesystem that has been automatically mounted by the cache.
	# The user should never see the automatic mountings made by cachefs.
	print "<tr> <td><b>$text{'solaris_backfs'}</b></td>\n";
	print "<td nowrap><select name=cfs_backfstype>\n";
	if (!defined($options{backfstype})) { $options{backfstype} = "nfs"; }
	foreach (&list_fstypes()) {
		if ($_ eq "cachefs") { next; }
		printf "<option value=\"$_\" %s>$_\n",
			$_ eq $options{backfstype} ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>$text{'solaris_backpath'}</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_noback value=1 %s> $text{'solaris_auto'}\n",
		defined($options{"backpath"}) ? "" : "checked";
	printf "<input type=radio name=cfs_noback value=0 %s>\n",
		defined($options{"backpath"}) ? "checked" : "";
	print "<input size=10 name=cfs_backpath value=\"$options{backpath}\"></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_cachedir'}</b></td>\n";
	printf "<td nowrap><input size=10 name=cfs_cachedir value=\"%s\"></td>\n",
		defined($options{"cachedir"}) ? $options{"cachedir"} : "/cache";

	print "<td><b>$text{'solaris_wmode'}</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_wmode value=0 %s> $text{'solaris_waround'}\n",
		defined($options{"non-shared"}) ? "" : "checked";
	printf "<input type=radio name=cfs_wmode value=1 %s> $text{'solaris_nshared'}\n",
		defined($options{"non-shared"}) ? "checked" : "";
	print "</td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_con'}</b></td>\n";
	print "<td><select name=cfs_con>\n";
	print "<option value=1> $text{'solaris_period'}\n";
	printf "<option value=0 %s> $text{'solaris_never'}\n",
		defined($options{"noconst"}) ? "selected" : "";
	printf "<option value=2 %s> $text{'solaris_demand'}\n",
		defined($options{"demandconst"}) ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'solaris_local'}</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_local value=1 %s> $text{'yes'}\n",
		defined($options{"local-access"}) ? "checked" : "";
	printf "<input type=radio name=cfs_local value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"local-access"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=cfs_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'solaris_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cfs_nosuid value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "autofs") {
	# Autofs has lots of options, depending on the type of file
	# system being automounted.. the fstype options determines this
	local($fstype);
	$fstype = $options{fstype} eq "" ? "nfs" : $options{fstype};
	if ($gconfig{'os_version'} >= 2.6) {
		print "<tr> <td><b>$text{'solaris_nobrowse'}</b></td> <td>\n";
		printf "<input type=radio name=auto_nobrowse value=0 %s> $text{'yes'}\n",
			defined($options{'nobrowse'}) ? "" : "checked";
		printf "<input type=radio name=auto_nobrowse value=1 %s> $text{'no'}\n",
			defined($options{'nobrowse'}) ? "checked" : "";
		print "</td> <td colspan=2></td> </tr>\n";
		}
	&generate_options($fstype);
	print "<input type=hidden name=autofs_fstype value=\"$fstype\">\n";
	}
if ($_[0] eq "rumba") {
	# SMB filesystems have a few options..
	print "<tr> <td><b>$text{'solaris_mname'}</b></td>\n";
	printf "<td><input type=radio name=rumba_mname_def value=1 %s> $text{'solaris_auto'}\n",
		defined($options{"machinename"}) ? "" : "checked";
	printf "<input type=radio name=rumba_mname_def value=0 %s>\n",
		defined($options{"machinename"}) ? "checked" : "";
	print "<input size=10 name=rumba_mname value=\"$options{machinename}\"></td>\n";

	print "<td><b>$text{'solaris_cname'}</b></td>\n";
	printf "<td><input type=radio name=rumba_cname_def value=1 %s> $text{'solaris_auto'}\n",
		defined($options{"clientname"}) ? "" : "checked";
	printf "<input type=radio name=rumba_cname_def value=0 %s>\n",
		defined($options{"clientname"}) ? "checked" : "";
	print "<input size=10 name=rumba_cname value=\"$options{clientname}\"></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_username'}</b></td>\n";
	print "<td><input name=rumba_username size=15 value=\"$options{username}\"></td>\n";

	print "<td><b>$text{'solaris_password'}</b></td>\n";
	print "<td><input type=password name=rumba_password size=15 value=\"$options{password}\"></td> </tr>\n";

	print "<tr> <td><b>$text{'solaris_uid'}</b></td>\n";
	printf "<td><input name=rumba_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("rumba_uid", 0),"</td>\n";

	print "<td><b>$text{'solaris_gid'}</b></td>\n";
	printf "<td><input name=rumba_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("rumba_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'solaris_fmode'}</b></td>\n";
	printf "<td><input name=rumba_fmode size=5 value=\"%s\"></td>\n",
		defined($options{fmode}) ? $options{fmode} : "755";

	print "<td><b>$text{'solaris_dmode'}</b></td>\n";
	printf "<td><input name=rumba_dmode size=5 value=\"%s\"></td> </tr>\n",
		defined($options{dmode}) ? $options{dmode} : "755";

	print "<tr> <td><b>$text{'solaris_readwrite'}</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readwrite value=1 %s> $text{'yes'}\n",
		defined($options{"readwrite"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readwrite value=0 %s> $text{'no'}</td>\n",
		defined($options{"readwrite"}) ? "" : "checked";

	print "<td><b>$text{'solaris_readonly'}</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readonly value=1 %s> $text{'yes'}\n",
		defined($options{"readonly"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readonly value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"readonly"}) ? "" : "checked";

	print "<tr> <td><b>$text{'solaris_noupper'}</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_noupper value=0 %s> $text{'yes'}\n",
		defined($options{"noupper"}) ? "" : "checked";
	printf "<input type=radio name=rumba_noupper value=1 %s> $text{'no'}</td>\n",
		defined($options{"noupper"}) ? "checked" : "";

	print "<td><b>$text{'solaris_attr'}</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_attr value=1 %s> $text{'yes'}\n",
		defined($options{"attr"}) ? "checked" : "";
	printf "<input type=radio name=rumba_attr value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"attr"}) ? "" : "checked";
	}
if ($_[0] eq "udfs") {
	# Solaris udfs is used for DVDs
	print "<tr> <td><b>$text{'solaris_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=udfs_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=udfs_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'solaris_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=udfs_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=udfs_nosuid value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "xmemfs") {
	# Solaris xmemfs (virtual memory) filesystem.
	print "<tr> <td><b>$text{'solaris_size'}</b>&nbsp;&nbsp;&nbsp;</td>\n";
	printf"<td><input type=radio name=xmemfs_size_def value=1 %s> $text{'solaris_max'}\n",
		defined($options{"size"}) ? "" : "checked";
	printf"&nbsp;&nbsp;<input type=radio name=xmemfs_size_def value=0 %s>\n",
		defined($options{"size"}) ? "checked" : "";
	($tmpsz = $options{size}) =~ s/[A-z]+$//g;
	print "<input name=xmemfs_size size=6 value=\"$tmpsz\">\n";
	print "<select name=xmemfs_unit>\n";
	printf "<option value=m %s> MB\n",
		$options{"size"} =~ /m$/ ? "selected" : "";
	printf "<option value=k %s> kB\n",
		$options{"size"} =~ /k$/ ? "selected" : "";
	printf "<option value=b %s> bytes\n",
		$options{"size"} !~ /(k|m)$/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'solaris_largebsize'}</b></td>\n";
	printf "<td nowrap><input type=radio name=xmemfs_largebsize value=1 %s> $text{'yes'}\n",
		defined($options{"largebsize"}) ? "checked" : "";
	printf "<input type=radio name=xmemfs_largebsize value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"largebsize"}) ? "" : "checked";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if ($in{'nfs_serv'} == 1) {
		# multiple servers listed.. assume the user has a brain
		return $in{'nfs_list'};
		}
	elsif ($in{'nfs_serv'} == 2) {
		# NFS url.. check syntax
		if ($in{'nfs_url'} !~ /^nfs:\/\/([^\/ ]+)(\/([^\/ ]*))?$/) {
			&error(&text('solaris_eurl', $in{'nfs_url'}));
			}
		return $in{'nfs_url'};
		}

	# Use dfshares to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error(&text('solaris_ehost', $in{'nfs_host'}));
		}
	$out = `dfshares '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unknown host/) {
		&error(&text('solaris_ehost2', $in{'nfs_host'}));
		}
	elsif ($out =~ /Timed out/) {
		&error(&text('solaris_edown', $in{'nfs_host'}));
		}
	elsif ($out =~ /Program not registered/) {
		&error(&text('solaris_enfs', $in{'nfs_host'}));
		}

	# Try a test mount to see if filesystem is available
	foreach (split(/\n/, $out)) {
		if (/^\s*([^ :]+):(\/\S+)\s+/) { $dirlist .= "$2\n"; }
		}
	if ($in{nfs_dir} !~ /^\S+$/) {
		&error(&text('solaris_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error(&text('solaris_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error(&text('solaris_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('solaris_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "ufs" || $_[0] eq "pcfs") {
	# Get the device name
	if ($in{ufs_dev} == 0) {
		$dv = $in{'ufs_disk'};
		}
	elsif ($in{ufs_dev} == 1) {
		$in{ufs_md} =~ /^[0-9]+$/ ||
			&error(&text('solaris_eraid', $in{'ufs_md'}));
		$dv = "/dev/md/dsk/d$in{ufs_md}";
		}
	else {
		$in{ufs_path} =~ /^\/\S+$/ ||
			&error(&text('solaris_epath', $in{'ufs_path'}));
		$dv = $in{ufs_path};
		}

	&fstyp_check($dv, $_[0]);
	return $dv;
	}
elsif ($_[0] eq "hsfs" || $_[0] eq "udfs") {
	# Get the device name
	if ($in{ufs_dev} == 0) {
		$in{ufs_c} =~ /^[0-9]+$/ ||
			&error(&text('solaris_ectrlr', $in{'ufs_c'}));
		$in{ufs_t} =~ /^[0-9]+$/ ||
			&error(&text('solaris_etarget', $in{'ufs_t'}));
		$in{ufs_d} =~ /^[0-9]+$/ ||
			&error(&text('solaris_eunit', $in{'ufs_d'}));
		$in{ufs_s} =~ /^[0-9]+$/ ||
			&error(&text('solaris_epart', $in{'ufs_s'}));
		$dv = "/dev/dsk/c$in{ufs_c}t$in{ufs_t}d$in{ufs_d}s$in{ufs_s}";
		}
	else {
		$in{ufs_path} =~ /^\/\S+$/ ||
			&error(&text('solaris_epath', $in{'ufs_path'}));
		$dv = $in{ufs_path};
		}

	return $dv;
	}
elsif ($_[0] eq "lofs") {
	# Get and check the original directory
	$dv = $in{'lofs_src'};
	if (!(-r $dv)) { &error(&text('solaris_eexist', $dv)); }
	if (!(-d $dv)) { &error(&text('solaris_edir', $dv)); }
	return $dv;
	}
elsif ($_[0] eq "swap") {
	if ($in{swap_dev} == 0) {
		$dv = $in{'swap_disk'};
		}
	else { $dv = $in{swap_path}; }

	if (!open(SWAPFILE, $dv)) {
		if ($! =~ /No such file/ && $in{swap_dev}) {
			if ($dv !~ /^\/dev/) {
				&swap_form($dv);
				}
			else {
				&error(&text('solaris_eswapfile', $dv));
				}
			}
		elsif ($! =~ /No such file/) {
			&error(&text('solaris_etarget', $in{'swap_t'}));
			}
		elsif ($! =~ /No such device or address/) {
			&error(&text('solaris_epart', $in{'swap_s'}));
			}
		else {
			&error(&text('solaris_eopen', $dv, $!));
			}
		}
	close(SWAPFILE);
	return $dv;
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have no location
	return "swap";
	}
elsif ($_[0] eq "xmemfs") {
	# Large ram-disk filesystems have no location
	return "xmem";
	}
elsif ($_[0] eq "cachefs") {
	# In order to check the location for the caching filesystem, we need
	# to check the back filesystem
	if (!$in{cfs_noback}) {
		# The back filesystem is manually mounted.. hopefully
		local($bidx, @mlist, @binfo);
		$bidx = &get_mounted($in{cfs_backpath}, "*");
		if ($bidx < 0) {
			&error(&text('solaris_ebackfs', $in{'cfs_backpath'}));
			}
		@mlist = &list_mounted();
		@binfo = @{$mlist[$bidx]};
		if ($binfo[2] ne $in{cfs_backfstype}) {
			&error(&text('solaris_ebacktype', $binfo[2], $in{'cfs_backfstype'}));
			}
		}
	else {
		# Need to automatically mount the back filesystem.. check
		# it for sanity first.
		# But HOW?
		$in{cfs_src} =~ /^\S+$/ ||
			&error(&text('solaris_ecsrc', $in{'cfs_src'}));
		}
	return $in{cfs_src};
	}
elsif ($_[0] eq "autofs") {
	# An autofs filesystem can be either mounted from the special
	# -hosts and -xfn maps, or from a normal map. The map can be a file
	# name (if it starts with /), or an NIS map (if it doesn't)
	if ($in{autofs_type} == 0) {
		# Normal map
		$in{autofs_map} =~ /\S/ ||
			&error($text{'solaris_eautomap'});
		if ($in{autofs_map} =~ /^\// && !(-r $in{autofs_map})) {
			&error(&text('solaris_eautofile', $in{'autofs_map'}));
			}
		return $in{autofs_map};
		}
	elsif ($in{autofs_type} == 1) {
		# Special hosts map (automount all shares from some host)
		return "-hosts";
		}
	else {
		# Special FNS map (not sure what this does)
		return "-xfn";
		}
	}
elsif ($_[0] eq "rumba") {
	# Cannot check much here..
	return "\\\\$in{rumba_server}\\$in{rumba_share}";
	}
}


# fstyp_check(device, type)
# Check if some device exists, and contains a filesystem of the given type,
# using the fstyp command.
sub fstyp_check
{
local($out, $part, $found);

# Check if the device/partition actually exists
if ($_[0] =~ /^\/dev\/dsk\/c(.)t(.)d(.)s(.)$/) {
	# mounting a normal scsi device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error(&text('solaris_etarget2', $_[0]));
		}
	$part = $4;
	foreach (split(/\n/, $out)) {
		/^\s+([0-9]+)\s+([0-9]+)/;
		if ($1 == $part) {
			$found = 1; last;
			}
		}
	if (!$found) {
		&error(&text('solaris_epart2', $_[0]));
		}
	}
elsif ($_[0] =~ /^\/dev\/md\/dsk\/d(.)$/) {
	# mounting a multi-disk (raid) device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error(&text('solaris_eraid2', $_[0]));
		}
	if ($out !~ /\S/) {
		&error(&text('solaris_enopart', $_[0]));
		}
	}
else {
	# Some other device
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
			&error(&text('solaris_edevfile', $_[0]));
			}
		elsif ($! =~ /No such device or address/) {
			&error(&text('solaris_edevice', $_[0]));
			}
		}
	close(DEV);
	}

# Check the filesystem type
$out = `fstyp $_[0] 2>&1`;
if ($out =~ /^([A-z0-9]+)\n$/) {
	if ($1 eq $_[1]) { return; }
	else {
		# Wrong filesystem type
		&error(&text('solaris_efstyp', $_[0], &fstype_name($1)));
		}
	}
else {
	&error(&text('solaris_efstyp2', $out));
	}
}


# check_options(type)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);
if ($_[0] eq "nfs") {
	# NFS has lots of options to parse
	if ($in{'nfs_ro'}) {
		# Read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# Read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}

	delete($options{'quota'}); delete($options{'noquota'});
	if ($in{'nfs_quota'}) { $options{'quota'} = ""; }

	delete($options{"nosuid"}); delete($options{"suid"});
	if ($in{nfs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"grpid"});
	if ($in{nfs_grpid}) { $options{"grpid"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"vers"});
	if (!$in{nfs_vers_def}) { $options{"vers"} = $in{nfs_vers}; }

	delete($options{"proto"});
	if ($in{nfs_proto} ne "") { $options{"proto"} = $in{nfs_proto}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"secure"}); delete($options{"kerberos"});
	delete($options{"sec"});
	if ($gconfig{'os_version'} >= 2.6) {
		if ($in{'nfs_auth'}) { $options{'sec'} = $in{'nfs_auth'}; }
		}
	else {
		if ($in{'nfs_auth'} eq "dh") { $options{"secure"} = ""; }
		elsif ($in{'nfs_auth'} eq "krb") { $options{"kerberos"} = ""; }
		}

	if ($gconfig{'os_version'} >= 7) {
		delete($options{'public'});
		$options{'public'} = "" if ($in{'nfs_public'});
		}
	}
elsif ($_[0] eq "ufs") {
	# UFS also has lots of options..
	if ($in{ufs_ro}) {
		# read-only (and thus no quota)
		$options{"ro"} = ""; delete($options{"rw"});
		delete($options{"rq"}); delete($options{"quota"});
		}
	elsif ($in{ufs_quota}) {
		# read-write, with quota
		delete($options{"ro"}); $options{"rw"} = "";
		$options{"quota"} = "";
		}
	else {
		# read-write, without quota
		delete($options{"ro"}); $options{"rw"} = "";
		delete($options{"quota"});
		}

	delete($options{"nosuid"});
	if ($in{ufs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{ufs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"onerror"});
	if ($in{ufs_onerror} ne "panic") {
		$options{"onerror"} = $in{ufs_onerror};
		}

	delete($options{"toosoon"});
	if ($in{ufs_toosoon_time}) {
		$options{"toosoon"} = $in{ufs_toosoon_time}.
				      $in{ufs_toosoon_units};
		}
	if ($gconfig{'os_version'} >= 7) {
		if ($gconfig{'os_version'} >= 8) {
			delete($options{'noatime'});
			delete($options{'dfratime'}); delete($options{'nodfratime'});
			if ($in{'ufs_noatime'} == 0) { $options{'nodfratime'} = ""; }
			elsif ($in{'ufs_noatime'} == 2) { $options{'noatime'} = ""; }
			}
		else {
			delete($options{'noatime'});
			$options{'noatime'} = "" if ($in{'ufs_noatime'});
			}

		delete($options{'forcedirectio'});
		delete($options{'noforcedirectio'});
		$options{'forcedirectio'} = "" if ($in{'ufs_force'});

		delete($options{'nolargefiles'});delete($options{'largefiles'});
		$options{'nolargefiles'} = "" if ($in{'ufs_nolarge'});

		delete($options{'logging'}); delete($options{'nologging'});
		$options{'logging'} = "" if ($in{'ufs_logging'});
		}
	}
elsif ($_[0] eq "lofs") {
	# Loopback has no options to parse
	}
elsif ($_[0] eq "swap") {
	# Swap has no options to parse
	}
elsif ($_[0] eq "pcfs") {
	# PCFS has only 2 options
	delete($options{'ro'}); delete($options{'rw'});
	$options{'ro'} = "" if ($in{'pcfs_ro'});

	delete($options{'foldcase'}); delete($options{'nofoldcase'});
	$options{'foldcase'} = "" if ($in{'pcfs_foldcase'});
	}
elsif ($_[0] eq "hsfs") {
	# Options for ISO-9660 filesystems
	delete($options{'nrr'});
	$options{'nrr'} = "" if ($in{'hsfs_nrr'});

	delete($options{"notraildot"});
	$options{"notraildot"} = "" if ($in{'hsfs_notraildot'});

	delete($options{'nomaplcase'});
	$options{'nomaplcase'} = "" if ($in{'hsfs_nomaplcase'});

	delete($options{'nosuid'});
	$options{'nosuid'} = "" if ($in{'hsfs_nosuid'});
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have only two options
	delete($options{"size"});
	if (!$in{"tmpfs_size_def"}) {
		$options{"size"} = "$in{tmpfs_size}$in{tmpfs_unit}";
		}

	delete($options{"nosuid"});
	if ($in{'tmpfs_nosuid'}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "xmemfs") {
	# Large ram-disk filesystems have only two options
	delete($options{"size"});
	if (!$in{"xmemfs_size_def"}) {
		$options{"size"} = "$in{xmemfs_size}$in{xmemfs_unit}";
		}

	delete($options{"largebsize"});
	if ($in{'xmemfs_largebsize'}) { $options{"largebsize"} = ""; }

	delete($options{'rw'});
	}
elsif ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options
	$options{"backfstype"} = $in{"cfs_backfstype"};

	delete($options{"backpath"});
	if (!$in{"cfs_noback"}) {
		# A back filesystem was given..  (alreadys checked)
		$options{"backpath"} = $in{"cfs_backpath"};
		}

	if ($in{"cfs_cachedir"} !~ /^\/\S+/) {
		&error(&text('solaris_ecachedir', $in{'cfs_cachedir'}));
		}
	$options{"cachedir"} = $in{"cfs_cachedir"};

	delete($options{"write-around"}); delete($options{"non-shared"});
	if ($in{"cfs_wmode"}) {
		$options{"non-shared"} = "";
		}

	delete($options{"noconst"}); delete($options{"demandconst"});
	if ($in{"cfs_con"} == 0) { $options{"noconst"} = ""; }
	elsif ($in{"cfs_con"} == 2) { $options{"demandconst"} = ""; }

	delete($options{"ro"}); delete($options{"rw"});
	if ($in{"cfs_ro"}) { $options{"ro"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{"cfs_nosuid"}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "autofs") {
	# The options for autofs depend on the type of the automounted
	# filesystem.. 
	$options{"fstype"} = $in{"autofs_fstype"};
	if ($gconfig{'os_version'} >= 2.6) {
		delete($options{'nobrowse'}); delete($options{'browse'});
		$options{'nobrowse'} = "" if ($in{'auto_nobrowse'});
		}
	return &check_options($options{"fstype"});
	}
elsif ($_[0] eq "rumba") {
	# Options for smb filesystems..
	delete($options{machinename});
	if (!$in{rumba_mname_def}) { $options{machinename} = $in{rumba_mname}; }

	delete($options{clientname});
	if (!$in{rumba_cname_def}) { $options{clientname} = $in{rumba_cname}; }

	delete($options{username});
	if ($in{rumba_username}) { $options{username} = $in{rumba_username}; }

	delete($options{password});
	if ($in{rumba_password}) { $options{password} = $in{rumba_password}; }

	delete($options{uid});
	if ($in{rumba_uid} ne "") { $options{uid} = getpwnam($in{rumba_uid}); }

	delete($options{gid});
	if ($in{rumba_gid} ne "") { $options{gid} = getgrnam($in{rumba_gid}); }

	delete($options{fmode});
	if ($in{rumba_fmode} !~ /^[0-7]{3}$/) {
		&error(&text('solaris_efmode', $in{'rumba_fmode'}));
		}
	elsif ($in{rumba_fmode} ne "755") { $options{fmode} = $in{rumba_fmode}; }

	delete($options{dmode});
	if ($in{rumba_dmode} !~ /^[0-7]{3}$/) {
		&error(&text('solaris_edmode', $in{'rumba_dmode'}));
		}
	elsif ($in{rumba_dmode} ne "755") { $options{dmode} = $in{rumba_dmode}; }

	delete($options{'readwrite'});
	if ($in{'rumba_readwrite'}) { $options{'readwrite'} = ""; }

	delete($options{'readonly'});
	if ($in{'rumba_readonly'}) { $options{'readonly'} = ""; }

	delete($options{'attr'});
	if ($in{'rumba_attr'}) { $options{'attr'} = ""; }

	delete($options{'noupper'});
	if ($in{'rumba_noupper'}) { $options{'noupper'} = ""; }
	}
elsif ($_[0] eq "udfs") {
	# The DVD filesystem has only 2 options
	delete($options{'ro'}); delete($options{'rw'});
	$options{'ro'} = "" if ($in{'udfs_ro'});

	delete($options{"nosuid"});
	if ($in{'udfs_nosuid'}) { $options{"nosuid"} = ""; }
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# create_swap(path, size, units)
# Attempt to create a swap file 
sub create_swap
{
local($out);
$out = `mkfile $_[1]$_[2] $_[0] 2>&1`;
if ($?) {
	unlink($_[0]);
	return "mkfile failed : $out";
	}
return 0;
}


# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)/) { return $1; }
return "255.255.255.255";
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
return $_[0] =~ /\/dev\/dsk\/c(\d+)t(\d+)d(\d+)s(\d+)$/ ?
	&text('solaris_scsidev', "$1", "$2", "$3", "$4") :
       $_[0] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/ ?
	&text('solaris_mddev', "$1") :
       $_[0] eq "-hosts" ?
	$text{'solaris_autohosts'} :
       $_[0] eq "-xfn" ?
	$text{'solaris_autoxfn'} :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'} );
}

1;
 0707010002fc64000081e40000000000000002000000013d1fe2bd0000fc22000000200000000000000000000000000000001e00000003reloc/mount/suse-linux-lib.pl # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc65000081e40000000000000002000000013d1fe2bc0000fc22000000200000000000000000000000000000001f00000003reloc/mount/turbo-linux-lib.pl    # linux-lib.pl
# Mount table functions for linux

if (&has_command("amd")) {
	local $amd = &read_amd_conf();
	$amd_support = $amd =~ /\[\s*global\s*\]/i ? 2 : 1;
	}
$autofs_support = &has_command("automount");
if (&has_command("mount.smbfs")) {
	$smbfs_support = `mount.smbfs -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smbfs";
	}
elsif (&has_command("mount.smb")) {
	$smbfs_support = `mount.smb -v` =~ /username=/i ? 4 : 3;
	$smbfs_fs = "smb";
	}
elsif (&has_command("smbmount")) {
	$smbfs_support = `smbmount -v` =~ /Version\s+2/i ? 2 : 1;
	$smbfs_fs = "smbfs";
	}
$swaps_support = -r "/proc/swaps";
if (&has_command("e2label") &&
    `mount --version 2>&1` =~ /(\d+)\.(\d+)/ && ($1 > 2 || $1==2 && $2 >= 10)) {
	$has_e2label = 1;
	}
if (`uname -r` =~ /^(\d+\.\d+)/ && $1 >= 2.4) {
	$tmpfs_support = 1;
	$ext3_support = 1;
	}
if (&has_command("mkfs.xfs")) {
	$xfs_support = 1;
	}
if (&has_command("xfs_db")) {
	$has_xfs_db = 1;
	}

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
return @list_mounts_cache if (@list_mounts_cache);
local(@rv, @p, @o, $_, $i, $j); $i = 0;

# Get /etc/fstab mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	local(@o, $at_boot);
	chop; s/#.*$//g;
	if (!/\S/ || /\signore\s/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "proc") { $p[0] = "proc"; }
	elsif ($p[2] eq "auto") { $p[2] = "*"; }
	elsif ($p[2] eq "swap") { $p[1] = "swap"; }
	elsif ($p[2] eq $smbfs_fs) { $p[0] =~ s/\//\\/g; }
	$rv[$i] = [ $p[1], $p[0], $p[2] ];
	$rv[$i]->[5] = "yes";
	@o = split(/,/ , $p[3] eq "defaults" ? "" : $p[3]);
	if (($j = &indexof("noauto", @o)) >= 0) {
		# filesytem is not mounted at boot
		splice(@o, $j, 1);
		$rv[$i]->[5] = "no";
		}
	$rv[$i]->[3] = (@o ? join(',' , @o) : "-");
	$rv[$i]->[4] = (@p >= 5 ? $p[5] : 0);
	$i++;
	}
close(FSTAB);

if ($amd_support == 1) {
	# Get old automounter configuration, as used by redhat
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		@p = split(/\s+/, $1);
		for($j=0; $j<@p; $j+=2) {
			$rv[$i++] = [ $p[$j], $p[$j+1], "auto",
				      "-", 0, "yes" ];
			}
		}
	}
elsif ($amd_support == 2) {
	# Guess what? There's now a *new* amd config file format, introduced
	# in redhat 6.1 and caldera 2.3
	local @amd = &parse_amd_conf();
	local @sp = split(/:/, $amd[0]->{'opts'}->{'search_path'});
	local ($am, $sp);
	foreach $am (@amd) {
		local $mn = $am->{'opts'}->{'map_name'};
		if ($mn !~ /^\//) {
			foreach $sp (@sp) {
				if (-r "$sp/$mn") {
					$mn = "$sp/$mn";
					last;
					}
				}
			}
		$rv[$i++] = [ $am->{'dir'}, $mn,
			      "auto", $am->{'opts'}, 0, "yes" ]
			if ($am->{'dir'} ne 'global');
		}
	}

# Get kernel automounter configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	while(<AUTO>) {
		chop;
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s*(.*)$/) {
			$rv[$i++] = [ $1, $2, "autofs",
				      ($3 ? &autofs_options($3) : "-"),
				      0, "yes" ];
			}
		}
	close(AUTO);
	}

@list_mounts_cache = @rv;
return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, old or new automounter file
sub create_mount
{
local(@mlist, @amd, $_); local($opts);

if ($_[2] eq "auto") {
	if ($amd_support == 1) {
		# Adding an old automounter mount
		local $amd = &read_amd_conf();
		local $m = "$_[0] $_[1]";
		if ($amd =~ /MOUNTPTS=''/) {
			$amd =~ s/MOUNTPTS=''/MOUNTPTS='$m'/;
			}
		else {
			$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$1 $m'/;
			}
		&write_amd_conf($amd);
		}
	elsif ($amd_support == 2) {
		# Adding a new automounter mount
		local @amfs = split(/\s+/, $config{'auto_file'});
		open(AMD, ">>$amfs[0]");
		print AMD "\n";
		print AMD "[ $_[0] ]\n";
		print AMD "map_name = $_[1]\n";
		close(AMD);
		}
	}
elsif ($_[2] eq "autofs") {
	# Adding a new automounter mount
	open(AUTO, ">> $config{'autofs_file'}");
	print AUTO "$_[0]  $_[1]";
	if ($_[3]) { print AUTO "  ",&autofs_args($_[3]); }
	print AUTO "\n";
	close(AUTO);
	}
else {
	# Adding a normal mount to the fstab file
	local $dev = $_[1];
	$dev =~ s/\\/\//g if ($_[2] eq $smbfs_fs);
	open(FSTAB, ">> $config{fstab_file}");
	print FSTAB "$dev  $_[0]  $_[2]";
	$opts = $_[3] eq "-" ? "" : $_[3];
	if ($_[5] eq "no") {
		$opts = join(',' , (split(/,/ , $opts) , "noauto"));
		}
	if ($opts eq "") { print FSTAB "  defaults"; }
	else { print FSTAB "  $opts"; }
	print FSTAB "  0  ";
	print FSTAB $_[4] eq "-" ? "0\n" : "$_[4]\n";
	close(FSTAB);
	}
undef(@list_mounts_cache);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /\signore\s/ && $i++ == $_[0]) {
		# Found the line to replace
		print FSTAB "$_[2]  $_[1]  $_[3]";
		$opts = $_[4] eq "-" ? "" : $_[4];
		if ($_[6] eq "no") {
			$opts = join(',' , (split(/,/ , $opts) , "noauto"));
			}
		if ($opts eq "") { print FSTAB "  defaults"; }
		else { print FSTAB "  $opts"; }
		print FSTAB "  0  ";
		print FSTAB $_[5] eq "-" ? "0\n" : "$_[5]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				$mpts[$j] = $_[1];
				$mpts[$j+1] = $_[2];
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			local @nl = ( "[ $_[1] ]" );
			local %opts = %{$am->{'opts'}};
			$opts{'map_name'} = $_[2];
			foreach $o (keys %opts) {
				push(@nl, "$o = $opts{$o}");
				}
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1, @nl);
			&flush_file_lines();
			}
		}
	}

# Update autofs configuration
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line =~ /\S/ && $i++ == $_[0]) {
			print AUTO "$_[1]  $_[2]";
			if ($_[4]) { print AUTO "  ",&autofs_args($_[4]); }
			print AUTO "\n";
			}
		else { print AUTO $_,"\n"; }
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# delete_mount(index)
# Delete an existing permanent mount
sub delete_mount
{
local($i, @fstab, $line, $opts, $j, @amd);
$i = 0;

# Update fstab file
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line !~ /\S/ || $line =~ /\signore\s/ || $i++ != $_[0]) {
		# Don't delete this line
		print FSTAB $_,"\n";
		}
	}
close(FSTAB);

if ($amd_support == 1) {
	# Update older amd configuration
	local $amd = &read_amd_conf();
	if ($amd =~ /MOUNTPTS='(.*)'/) {
		# found mount points line..
		local @mpts = split(/\s+/, $1);
		for($j=0; $j<@mpts; $j+=2) {
			if ($i++ == $_[0]) {
				splice(@mpts, $j, 2);
				}
			}
		local $mpts = join(" ", @mpts);
		$amd =~ s/MOUNTPTS='(.*)'/MOUNTPTS='$mpts'/;
		}
	&write_amd_conf($amd);
	}
elsif ($amd_support == 2) {
	# Update new amd configuration
	local @amd = &parse_amd_conf();
	foreach $am (@amd) {
		next if ($am->{'dir'} eq 'global');
		if ($i++ == $_[0]) {
			local $lref = &read_file_lines($am->{'file'});
			splice(@$lref, $am->{'line'},
			       $am->{'eline'} - $am->{'line'} + 1);
			&flush_file_lines();
			}
		}
	}

# Update AMD file
if ($amd_support) {
	open(AMD, $config{auto_file});
	@amd = <AMD>;
	close(AMD);
	open(AMD, "> $config{auto_file}");
	foreach (@amd) {
		if (/MOUNTPTS='(.*)'/) {
			# found mount points line..
			@mpts = split(/\s+/, $1);
			for($j=0; $j<@mpts; $j+=2) {
				if ($i++ != $_[0]) {
					push(@nmpts, $mpts[$j]);
					push(@nmpts, $mpts[$j+1]);
					}
				}
			print AMD "MOUNTPTS='".join(' ', @nmpts)."'\n";
			}
		else { print AMD $_; }
		}
	close(AMD);
	}

# Update autofs file
if ($autofs_support) {
	open(AUTO, $config{'autofs_file'});
	@auto = <AUTO>;
	close(AUTO);
	open(AUTO, "> $config{'autofs_file'}");
	foreach (@auto) {
		chop; ($line = $_) =~ s/#.*$//g;
		if ($line !~ /\S/ || $i++ != $_[0]) {
			# keep this line
			print AUTO $_,"\n";
			}
		}
	close(AUTO);
	}
undef(@list_mounts_cache);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
sub list_mounted
{
return @list_mounted_cache if (@list_mounted_cache);
local(@rv, @p, @o, $mo, $_, %smbopts);
local @mounts = &list_mounts();

&read_smbopts();
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	chop;
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "auto" || $p[0] =~ /^\S+:\(pid\d+\)$/) {
		# Automounter map.. turn the map= option into the device
		@o = split(/,/ , $p[3]);
		($mo) = grep {/^map=/} (@o);
		$mo =~ /^map=(.*)$/; $p[0] = $1;
		$p[3] = join(',' , grep {!/^map=/} (@o));
		$p[2] = "auto";
		}
	elsif ($p[2] eq "autofs") {
		# Kernel automounter map.. use the pid to find the map
		$p[0] =~ /automount\(pid(\d+)\)/ || next;
		$out = `ps hwwww $1`;
		$out =~ /automount\s+(.*)\s*(\S+)\s+(file|program|yp)(,\S+)?\s+(\S+)/ || next;
		$p[0] = $5;
		$p[3] = $1 ? &autofs_options($1) : "-";
		}
	elsif ($p[2] eq $smbfs_fs) {
		# Change from //FOO/BAR to \\foo\bar
		$p[0] =~ s/\//\\/g;
		$p[0] = lc($p[0]);
		$p[3] = $smbopts{$p[1]};
		}
	elsif ($p[2] eq "proc") {
		# The source for proc mounts is always proc
		$p[0] = "proc";
		}
	if ($p[2] =~ /^ext[23]$/ && $has_e2label ||
	    $p[2] eq "xfs" && $has_xfs_db) {
		# Check for a label on this partition, and there is one
		# and this filesystem is in fstab with the label, change
		# the device.
		local $label;
		if ($p[2] eq "xfs") {
			local $out = `xfs_db -x -p xfs_admin -c label -r $p[0] 2>&1`;
			$label = $1 if ($out =~ /label\s*=\s*"(.*)"/ &&
					$1 ne '(null)');
			}
		else {
			$label = `e2label $p[0] 2>&1`;
			chop($label);
			}
		if (!$?) {
			foreach $m (@mounts) {
				if ($m->[0] eq $p[1] &&
				    $m->[1] eq "LABEL=$label") {
					$p[0] = "LABEL=$label";
					last;
					}
				}
			}
		}

	# check fstab for a mount on the same dir which is a symlink
	# to the device
	local @st = stat($p[0]);
	foreach $m (@mounts) {
		if ($m->[0] eq $p[1]) {
			local @fst = stat($m->[1]);
			if ($fst[0] == $st[0] && $fst[1] == $st[1]) {
				# symlink to the same place!
				$p[0] = $m->[1];
				last;
				}
			}
		}
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
close(MTAB);
open(SWAPS, "/proc/swaps");
while(<SWAPS>) {
	chop;
	if (/^(\/\S+)\s+/) {
		local $sf = $1;
		if ($sf =~ /^\/dev\/ide\//) {
			# check fstab for a mount on a device which is a symlink
			local @st = stat($sf);
			foreach $m (@mounts) {
				local @fst = stat($m->[1]);
				if ($m->[2] eq 'swap' && $fst[0] == $st[0] &&
				    $fst[1] == $st[1]) {
				    	$sf = $m->[1];
					last;
					}
				}
			}
		push(@rv, [ "swap", $sf, "swap", "-" ]);
		}
	}
close(SWAPS);
@list_mounted_cache = @rv;
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed
sub mount_dir
{
local($out, $opts, $shar, %options, %smbopts);
if ($_[2] eq "swap") {
	# Use swapon to add the swap space..
	$out = &backquote_logged("swapon $_[1] 2>&1");
	if ($out =~ /Invalid argument/) {
		# looks like this swap partition isn't ready yet.. set it up
		$out = &backquote_logged("mkswap $_[1] 2>&1");
		if ($?) { return "mkswap failed : <pre>$out</pre>"; }
		$out = &backquote_logged("swapon $_[1] 2>&1");
		}
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Old automounter filesystem
	$out = &backquote_logged("amd $_[0] $_[1] >/dev/null 2>/dev/null");
	if ($?) { return $text{'linux_eamd'}; }
	}
elsif ($_[2] eq "autofs") {
	# New automounter filesystem
	$opts = &autofs_args($_[3]);
	$type = $_[1] !~ /^\// ? "yp" :
		(-x $_[1]) ? "program" : "file";
	$out = &backquote_logged("automount $opts $_[0] $type $_[1] 2>&1");
	if ($?) { return &text('linux_eauto', "<pre>$out</pre>"); }
	}
elsif ($_[2] eq $smbfs_fs) {
	local $shar = $_[1];
	$shar =~ s/\\/\//g;
	if ($smbfs_support >= 3) {
		# SMB filesystem mounted with mount command
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -t $_[2] $opts $shar $_[0] 2>&1 </dev/null");
		if ($? || $out =~ /failed/i) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "mount -t $_[2] $opts $shar $_[0] : <pre>$out</pre>";
			}
		}
	elsif ($smbfs_support == 2) {
		# SMB filesystem mounted with version 2.x smbmount
		&parse_options($smbfs_fs, $_[3]);
		$opts =
		    ($options{'user'} ? "-U $options{'user'} " : "").
		    ($options{'passwd'} ? "" : "-N ").
		    ($options{'workgroup'} ? "-W $options{'workgroup'} " : "").
		    ($options{'clientname'} ? "-n $options{'clientname'} " : "").
		    ($options{'machinename'} ? "-I $options{'machinename'} " : "");
		&foreign_require("proc", "proc-lib.pl");
		local ($fh, $fpid) = &foreign_call(
			"proc", "pty_process_exec_logged",
			"sh -c 'smbmount $shar $_[0] -d 0 $opts'");
		if ($options{'passwd'}) {
			local $w = &wait_for($fh, "word:");
			if ($w < 0) {
				&system_logged("umount $_[0] >/dev/null 2>&1");
				return $text{'linux_esmbconn'};
				}
			local $p = "$options{'passwd'}\n";
			syswrite($fh, $p, length($p));
			}
		local $got;
		while(<$fh>) {
			$got .= $_;
			}
		if ($got =~ /failed/) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$got</pre>\n";
			}
		close($fh);
		}
	elsif ($smbfs_support == 1) {
		# SMB filesystem mounted with older smbmount
		&parse_options($smbfs_fs, $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$opts =
		   ($options{servername} ? "-s $options{servername} " : "").
		   ($options{clientname} ? "-c $options{clientname} "
					 : "-c $shortname ").
		   ($options{machinename} ? "-I $options{machinename} " : "").
		   ($options{user} ? "-U $options{user} " : "").
		   ($options{passwd} ? "-P $options{passwd} " : "-n ").
		   ($options{uid} ? "-u $options{uid} " : "").
		   ($options{gid} ? "-g $options{gid} " : "").
		   ($options{fmode} ? "-f $options{fmode} " : "").
		   ($options{dmode} ? "-d $options{dmode} " : "");
		$out = &backquote_logged("smbmount $shar $_[0] $opts 2>&1 </dev/null");
		if ($out) {
			&system_logged("umount $_[0] >/dev/null 2>&1");
			return "<pre>$out</pre>";
			}
		}
	&read_smbopts();
	$smbopts{$_[0]} = $_[3] eq "-" ? "dummy=1" : $_[3];
	&write_smbopts();
	}
else {
	# some filesystem supported by mount
	$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
	local $fs = $_[2] eq "*" ? "auto" : $_[2];
	if ($_[1] =~ /LABEL=(.*)/) {
		$cmd = "mount -t $fs -L $1 $opts $_[0]";
		}
	else {
		$cmd = "mount -t $fs $opts $_[1] $_[0]";
		}
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	if ($?) { return "<pre>$cmd : $out</pre>"; }
	}
undef(@list_mounted_cache);
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory that is currently mounted. Returns 0 if ok,
# or an error string if failed
sub unmount_dir
{
local($out, %smbopts, $dir);
if ($_[2] eq "swap") {
	# Use swapoff to remove the swap space..
	$out = &backquote_logged("swapoff $_[1]");
	if ($?) { return "<pre>$out</pre>"; }
	}
elsif ($_[2] eq "auto") {
	# Kill the amd process
	$dir = $_[0];
	if (`cat /etc/mtab` =~ /:\(pid([0-9]+)\)\s+$dir\s+(auto|nfs)\s+/) {
		&kill_logged('TERM', $1) || return $text{'linux_ekillamd'};
		}
	sleep(2);
	}
elsif ($_[2] eq "autofs") {
	# Kill the automount process
	$dir = $_[0];
	`cat /etc/mtab` =~ /automount\(pid([0-9]+)\)\s+$dir\s+autofs\s+/;
	&kill_logged('TERM', $1) || return $text{'linux_ekillauto'};
	sleep(2);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	if ($_[2] eq $smbfs_fs) {
		# remove options from list
		&read_smbopts();
		delete($smbopts{$_[0]});
		&write_smbopts();
		}
	}
undef(@list_mounted_cache);
return 0;
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#	(smbfs under linux before 2.2)
#  1 - can be permanently recorded, and is always mounted at boot
#	(swap under linux)
#  2 - can be permanently recorded, and may or may not be mounted at boot
#	(most normal filesystems)
# The second is:
#  0 - mount is always permanent => mounted when saved
#	(swap under linux before 2.2)
#  1 - doesn't have to be permanent
#	(normal fs types)
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "swap")
	{ return (1, $swaps_support ? 1 : 0, 0, 0); }
elsif ($_[0] eq "auto" || $_[0] eq "autofs")
	{ return (1, 1, 0, 0); }
elsif ($_[0] eq $smbfs_fs)
	{ return ($smbfs_support >= 3 ? 2 : 0, 1, 0, 0); }
elsif ($_[0] eq "ext2" || $_[0] eq "ext3" || $_[0] eq "minix" ||
       $_[0] eq "xiafs" || $_[0] eq "xfs")
	{ return (2, 1, 1, 0); }
else
	{ return (2, 1, 0, 0); }
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "proc" || $_[0] eq "swap" ||
    $_[0] eq "auto" || $_[0] eq "autofs") { return (); }
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local @sup = ("ext2", "minix", "msdos", "nfs", "iso9660", "ext", "xiafs",
	      "hpfs", "fat", "vfat", "umsdos", "sysv", "reiserfs", "ntfs");
push(@sup, $smbfs_fs) if ($smbfs_support);
push(@sup, "auto") if ($amd_support);
push(@sup, "autofs") if ($autofs_support);
push(@sup, "tmpfs") if ($tmpfs_support);
push(@sup, "ext3") if ($ext3_support);
push(@sup, "xfs") if ($xfs_support);
push(@sup, "swap");
return @sup;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("ext2","Linux Native Filesystem",
	  "ext3","New Linux Native Filesystem",
	  "minix","Minix Filesystem",
	  "msdos","MS-DOS Filesystem",
	  "nfs","Network Filesystem",
	  $smbfs_fs,"Windows Networking Filesystem",
	  "iso9660","ISO9660 CD-ROM",
	  "ext","Old EXT Linux Filesystem",
	  "xiafs","Old XIAFS Linux Filesystem",
	  "hpfs","OS/2 Filesystem",
	  "fat","MS-DOS Filesystem",
	  "vfat","Windows 95 Filesystem",
	  "umsdos","Linux on top of MS-DOS Filesystem",
	  "sysv","System V Filesystem",
	  "swap","Virtual Memory",
	  "proc","Kernel Filesystem",
	  "devpts","PTS Filesystem",
	  "auto",($autofs_support ? "Old " : "")."Automounter Filesystem",
	  "reiserfs","Reiser Filesystem",
	  "autofs","New Automounter Filesystem",
	  "usbdevfs","USB Devices",
	  "shm","SysV Shared Memory",
	  "tmpfs","RAM Disk",
	  "xfs","SGI Filesystem",
	  "ntfs","Windows NT Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ?  $fsmap{$_[0]} : uc($_[0]);
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "nfs" || $_[0] eq "auto" || $_[0] eq "autofs");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	$_[1] =~ /^([^:]+):(.*)$/;
	print "<tr> <td><b>$text{'linux_nfshost'}</b></td>\n";
	print "<td><input name=nfs_host size=20 value=\"$1\">\n";
	&nfs_server_chooser_button("nfs_host");
	print "&nbsp;<b>$text{'linux_nfsdir'}</b>\n";
	print "<input name=nfs_dir size=20 value=\"$2\">\n";
	&nfs_export_chooser_button("nfs_host", "nfs_dir");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "auto") {
	# Using some automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=auto_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("auto_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# Using some kernel automounter map
	print "<tr> <td><b>$text{'linux_map'}</b></td>\n";
	print "<td><input name=autofs_map size=20 value=\"$_[1]\">\n";
	print &file_chooser_button("autofs_map", 0);
	print "</td> <td colspan=2></td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap file or device
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>$text{'linux_swapfile'}</b></td>\n";
	print "<td colspan=3>\n";
	local $found;
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 3, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;
	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found ? "" : "checked", $text{'linux_swapfile'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found ? "" : $_[1];
	print "</td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>$text{'linux_smbserver'}</b></td>\n";
	print "<td><input name=smbfs_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("smbfs_server");
	print "</td>\n";
	print "<td><b>$text{'linux_smbshare'}</b></td>\n";
	print "<td><input name=smbfs_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("smbfs_server", "smbfs_share");
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "tmpfs") {
	# RAM disk (no location needed)
	}
else {
	# This is some linux disk-based filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	printf "<tr> <td valign=top><b>%s</b></td>\n", &fstype_name($_[0]);
	print "<td colspan=3>\n";
	local ($found, $rfound, $lfound, $vfound, $rsel, $c);
	local $sel = &foreign_call("fdisk", "partition_select", "lnx_disk",
				   $_[1], 0, \$found);
	printf "<input type=radio name=lnx_dev value=0 %s> %s %s<br>\n",
		$found ? "checked" : "", $text{'linux_disk'}, $sel;

	if (&foreign_check("raid")) {
		&foreign_require("raid", "raid-lib.pl");
		local $conf = &foreign_call("raid", "get_raidtab");
		foreach $c (@$conf) {
			if ($c->{'active'}) {
				$rsel .= sprintf "<option value=%s %s>%s\n",
					$c->{'value'},
					$_[1] eq $c->{'value'} ? 'selected' : '',
					&text('linux_rdev', substr($c->{'value'}, -1));
				$rfound++ if ($_[1] eq $c->{'value'});
				}
			}
		if ($rsel) {
			printf "<input type=radio name=lnx_dev value=2 %s> %s\n",
				$rfound ? "checked" : " ", $text{'linux_raid'};
			print "<select name=lnx_raid>\n",$rsel,"</select><br>\n";
			}
		}

	if (&foreign_check("lvm")) {
		&foreign_require("lvm", "lvm-lib.pl");
		local @vgs = &foreign_call("lvm", "list_volume_groups");
		local @lvs;
		foreach $v (@vgs) {
			push(@lvs, &foreign_call("lvm",
					"list_logical_volumes", $v->{'name'}));
			}
		if (@lvs) {
			local $lsel;
			foreach $l (@lvs) {
				$lsel .= sprintf "<option value=%s %s>%s\n",
					$l->{'device'}, $_[1] eq $l->{'device'} ? 'selected' : '', &text('linux_ldev', $l->{'vg'}, $l->{'name'});
				$vfound++ if ($_[1] eq $l->{'device'});
				}
			printf "<input type=radio name=lnx_dev value=4 %s> %s\n",
				$vfound ? "checked" : " ", $text{'linux_lvm'};
			print "<select name=lnx_lvm>\n",$lsel,"</select><br>\n";
			}
		}

	if ($has_e2label || $has_xfs_db) {
		local $l = $_[1] =~ /LABEL=(.*)/ ? $1 : undef;
		local $esel = &foreign_call("fdisk", "label_select",
					    "lnx_label", $l, \$lfound);
		if ($esel) {
			printf "<input type=radio name=lnx_dev value=3 %s> %s %s<br>\n", $lfound ? "checked" : "", $text{'linux_lsel'}, $esel;
			}
		}

	printf "<input type=radio name=lnx_dev value=1 %s> %s\n",
		$found || $rfound || $lfound || $vfound ? "" : "checked", $text{'linux_other'};
	printf "<input name=lnx_other size=35 value='%s'><br>\n",
		$found || $rfound || $lfound || $vfound ? "" : $_[1];
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a particular filesystem 
# under this OS
sub generate_options
{
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	# Lots of options are common to all linux filesystems
	print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_ro value=1 %s> $text{'yes'}\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=lnx_ro value=0 %s> $text{'no'}</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>$text{'linux_sync'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_sync value=0 %s> $text{'yes'}\n",
		defined($options{"sync"}) ? "" : "checked";
	printf "<input type=radio name=lnx_sync value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"sync"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nodev'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nodev value=0 %s> $text{'yes'}\n",
		defined($options{"nodev"}) ? "" : "checked";
	printf "<input type=radio name=lnx_nodev value=1 %s> $text{'no'}</td>\n",
		defined($options{"nodev"}) ? "checked" : "";

	print "<td><b>$text{'linux_noexec'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_noexec value=0 %s> $text{'yes'}\n",
		defined($options{"noexec"}) ? "" : "checked";
	printf "<input type=radio name=lnx_noexec value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"noexec"}) ? "checked" : "";

	print "<tr> <td><b>$text{'linux_nosuid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=lnx_nosuid value=1 %s> $text{'yes'}\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=lnx_nosuid value=0 %s> $text{'no'}</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<td><b>$text{'linux_user'}</b></td>\n";
	printf"<td nowrap><input type=radio name=lnx_user value=1 %s> $text{'yes'}\n",
		defined($options{"user"}) ? "checked" : "";
	printf "<input type=radio name=lnx_user value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"user"}) ? "" : "checked";
	}
	
if ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# Ext2 has lots more options..
	print "<tr> <td><b>$text{'linux_check'}</b></td>\n";
	print "<td><select name=ext2_check>\n";
	printf "<option value=normal %s> $text{'linux_normal'}\n",
		$options{"check"} eq "" || $options{"check"} eq "normal" ?
			"selected" : "";
	printf "<option value=strict %s> $text{'linux_strict'}\n",
		$options{"check"} eq "strict" ? "selected" : "";
	printf "<option value=none %s> $text{'linux_none'}\n",
		$options{"check"} eq "none" || defined($options{"nocheck"}) ?
			"selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_errors'}</b></td>\n";
	print "<td><select name=ext2_errors>\n";
	printf "<option value=default %s> $text{'default'}\n",
		!defined($options{"errors"}) ? "selected" : "";
	printf "<option value=continue %s> $text{'linux_continue'}\n",
		$options{"error"} eq "continue" ? "selected" : "";
	printf "<option value=remount-ro %s> $text{'linux_remount_ro'}\n",
		$options{"error"} eq "remount-ro" ? "selected" : "";
	printf "<option value=panic %s> $text{'linux_panic'}\n",
		$options{"error"} eq "panic" ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_grpid'}</b></td>\n";
	printf "<td nowrap><input type=radio name=ext2_grpid value=0 %s> $text{'yes'}\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"" : "checked";
	printf "<input type=radio name=ext2_grpid value=1 %s> $text{'no'}</td>\n",
		defined($options{"grpid"}) || defined($options{"bsdgroups"}) ?
			"checked" : "";

	print "<td><b>$text{'linux_quotas'}</b></td>\n";
	local $usrquota = defined($options{"usrquota"});
	local $grpquota = defined($options{"grpquota"});
	print "<td nowrap><select name=ext2_quota>\n";
	printf "<option value=0 %s> $text{'no'}\n",
		$usrquota || $grpquota ? "" : "selected";
	printf "<option value=1 %s> $text{'linux_usrquota'}\n",
		$usrquota && !$grpquota ? "selected" : "";
	printf "<option value=2 %s> $text{'linux_grpquota'}\n",
		$grpquota && !$usrquota ? "selected" : "";
	if (`uname -r` =~ /^2\.0\.(\d+)/ && $1 < 31) {
		printf "<option value=3 %s> $text{'linux_usrgrpquota2'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	else {
		printf "<option value=3 %s> $text{'linux_usrgrpquota'}\n",
			$usrquota && $grpquota ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_resuid'}</b></td>\n";
	printf "<td><input name=ext2_resuid size=8 value=\"%s\">\n",
		defined($options{"resuid"}) ? getpwuid($options{"resuid"}) : "";
	print &user_chooser_button("ext2_resuid", 0),"</td>\n";

	print "<td><b>$text{'linux_resgid'}</b></td>\n";
	printf "<td><input name=ext2_resgid size=8 value=\"%s\">\n",
		defined($options{"resgid"}) ? getgrgid($options{"resgid"}) : "";
	print &group_chooser_button("ext2_resgid", 0),"</td> </tr>\n";
	}
elsif ($_[0] eq "nfs") {
	# Linux nfs has some more options...
	print "<tr> <td><b>$text{'linux_bg'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> $text{'yes'}\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> $text{'no'}</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>$text{'linux_soft'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> $text{'yes'}\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>$text{'linux_timeo'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> $text{'default'}\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>$text{'linux_retrans'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> $text{'default'}\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_vers'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> $text{'linux_high'}\n",
		defined($options{"nfsvers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"nfsvers"}) ? "checked" : "";
	print "<input size=1 name=nfsvers value=$options{nfsvers}></td>\n";

	print "<td><b>$text{'linux_port'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> $text{'default'}\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_intr'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_intr value=1 %s> $text{'yes'}\n",
		defined($options{"intr"}) ? "checked" : "";
	printf "<input type=radio name=nfs_intr value=0 %s> $text{'no'}</td>\n",
		defined($options{"intr"}) ? "" : "checked";

	print "<td><b>$text{'linux_tcp'}</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_tcp value=1 %s> TCP\n",
		defined($options{"tcp"}) ? "checked" : "";
	printf "<input type=radio name=nfs_tcp value=0 %s> UDP</td> </tr>\n",
		defined($options{"tcp"}) ? "" : "checked";
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" || $_[0] eq "msdos" || $_[0] eq "umsdos"){
	# All dos-based filesystems share some options
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=fat_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("fat_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=fat_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("fat_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_rules'}</b></td>\n";
	print "<td><select name=fat_check>\n";
	printf "<option value=\"\" %s> $text{'default'}\n",
		defined($options{"check"}) ? "" : "selected";
	printf "<option value=r %s> $text{'linux_relaxed'}\n",
		$options{"check"} =~ /^r/ ? "selected" : "";
	printf "<option value=n %s> $text{'linux_normal'}\n",
		$options{"check"} =~ /^n/ ? "selected" : "";
	printf "<option value=s %s> $text{'linux_strict'}\n",
		$options{"check"} =~ /^s/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>$text{'linux_conv'}</b></td>\n";
	print "<td><select name=fat_conv>\n";
	printf "<option value=\"\" %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf "<td><input type=radio name=fat_umask_def value=1 %s> $text{'default'}\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=fat_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=fat_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_quiet'}</b></td>\n";
	printf "<td nowrap><input type=radio name=fat_quiet value=0 %s> $text{'yes'}\n",
		defined($options{"quiet"}) ? "" : "checked";
	printf "<input type=radio name=fat_quiet value=1 %s> $text{'no'}</td> </tr>\n",
		defined($options{"quiet"}) ? "checked" : "";

	if ($_[0] eq "vfat") {
		# vfat has some extra options beyond fat
		print "<tr> <td><b>$text{'linux_uni_xlate'}</b></td>\n";
		printf "<td><input type=radio name=fat_uni_xlate value=1 %s> $text{'yes'}\n",
			defined($options{"uni_xlate"}) ? "checked" : "";
		printf "<input type=radio name=fat_uni_xlate value=0 %s> $text{'no'}</td>\n",
			defined($options{"uni_xlate"}) ? "" : "checked";

		print "<td><b>$text{'linux_posix'}</b></td>\n";
		printf "<td nowrap><input type=radio name=fat_posix value=1 %s> $text{'yes'}\n",
			defined($options{"posix"}) ? "checked" : "";
		printf "<input type=radio name=fat_posix value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"posix"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystems has some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=hpfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("hpfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=hpfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("hpfs_gid", 0),"</td> </tr>\n";

	print "<tr> <td><b>$text{'linux_umask'}</b></td>\n";
	printf"<td><input type=radio name=hpfs_umask_def value=1 %s> Default\n",
		defined($options{"umask"}) ? "" : "checked";
	printf "<input type=radio name=hpfs_umask_def value=0 %s>\n",
		defined($options{"umask"}) ? "checked" : "";
	print "<input size=5 name=hpfs_umask value=\"$options{umask}\"></td>\n";

	print "<td><b>$text{'linux_conv2'}</b></td>\n";
	print "<td><select name=hpfs_conv>\n";
	printf "<option value=b %s> $text{'linux_none'}\n",
		$options{"conv"} =~ /^b/ || !defined($options{"conv"}) ?
		"selected" : "";
	printf "<option value=t %s> $text{'linux_allfiles'}\n",
		$options{"conv"} =~ /^t/ ? "selected" : "";
	printf "<option value=a %s> $text{'linux_textfiles'}\n",
		$options{"conv"} =~ /^a/ ? "selected" : "";
	print "</select></td> </tr>\n";
	}
elsif ($_[0] eq "iso9660") {
	# CD-ROM filesystems have some more options..
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=iso9660_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("iso9660_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=iso9660_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("iso9660_gid", 0),"</td>\n";

	print "<tr> <td><b>$text{'linux_rock'}</b></td>\n";
	printf "<td><input type=radio name=iso9660_norock value=1 %s> $text{'yes'}\n",
		defined($options{"norock"}) ? "checked" : "";
	printf "<input type=radio name=iso9660_norock value=0 %s> $text{'no'}</td>\n",
		defined($options{"norock"}) ? "" : "checked";

	print "<td><b>$text{'linux_mode'}</b></td>\n";
	printf"<td><input size=10 name=iso9660_mode value=\"%s\"></td> </tr>\n",
		defined($options{"mode"}) ? $options{"mode"} : "444";
	}
elsif ($_[0] eq "auto") {
	# Don't know how to set options for auto filesystems yet..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	print "<tr> <td><b>$text{'linux_timeout'}</b></td> <td>\n";
	printf"<input type=radio name=autofs_timeout_def value=1 %s> $text{'default'}\n",
		defined($options{'timeout'}) ? "" : "checked";
	printf "<input type=radio name=autofs_timeout_def value=0 %s>\n",
		defined($options{'timeout'}) ? "checked" : "";
	printf "<input name=autofs_timeout size=5 value=\"%s\"> $text{'linux_secs'}</td>\n",
		$options{'timeout'};

	print "<td><b>$text{'linux_pid_file'}</b>?</td>\n";
	printf"<td><input type=radio name=autofs_pid-file_def value=1 %s> $text{'no'}\n",
		defined($options{'pid-file'}) ? "" : "checked";
	printf "<input type=radio name=autofs_pid-file_def value=0 %s> $text{'yes'}\n",
		defined($options{'pid-file'}) ? "checked" : "";
	printf "<input name=autofs_pid-file size=20 value=\"%s\">\n",
		$options{'pid-file'};
	print &file_chooser_button("autofs_pid-file", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swap has no options..
	print "<tr> <td><i>$text{'linux_noopts'}</i></td> </tr>\n";
	}
elsif ($_[0] eq $smbfs_fs) {
	# SMB filesystems have a few options..
	if (keys(%options) == 0 && !$_[1]) {
		print "<tr> <td colspan=4><i>$text{'linux_smbwarn'}</i></td> </tr>\n";
		}

	print "<tr> <td><b>$text{'linux_username'}</b></td>\n";
	printf "<td><input name=smbfs_user size=15 value=\"%s\"></td>\n",
		$smbfs_support == 4 ? $options{'username'} : $options{'user'};

	print "<td><b>$text{'linux_password'}</b></td>\n";
	printf "<td><input type=password name=smbfs_passwd size=15 value=\"%s\"></td> </tr>\n",
		$smbfs_support == 4 ? $options{'password'} : $options{'passwd'};

	if ($smbfs_support != 2) {
		print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
		printf "<td><input name=smbfs_uid size=8 value=\"%s\">\n",
			defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
		print &user_chooser_button("smbfs_uid", 0),"</td>\n";

		print "<td><b>$text{'linux_gid'}</b></td>\n";
		printf "<td><input name=smbfs_gid size=8 value=\"%s\">\n",
			defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
		print &group_chooser_button("smbfs_gid", 0),"</td>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_sname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_sname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"servername"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_sname_def value=0 %s>\n",
			defined($options{"servername"}) ? "checked" : "";
		print "<input size=10 name=smbfs_sname value=\"$options{servername}\"></td>\n";
		}
	elsif ($smbfs_support == 2) {
		print "<tr> <td><b>$text{'linux_wg'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_wg_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"workgroup"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_wg_def value=0 %s>\n",
			defined($options{"workgroup"}) ? "checked" : "";
		print "<input size=10 name=smbfs_wg value=\"$options{'workgroup'}\"></td>\n";
		}

	if ($smbfs_support < 3) {
		print "<td><b>$text{'linux_cname'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_cname_def value=1 %s> $text{'linux_auto'}\n",
			defined($options{"clientname"}) ? "" : "checked";
		printf "<input type=radio name=smbfs_cname_def value=0 %s>\n",
			defined($options{"clientname"}) ? "checked" : "";
		print "<input size=10 name=smbfs_cname value=\"$options{clientname}\"></td> </tr>\n";

		print "<tr> <td><b>$text{'linux_mname'}</b></td>\n";
		printf "<td colspan=3><input type=radio name=smbfs_mname_def value=1 %s> %s\n",
			defined($options{"machinename"}) ? "" : "checked", $text{'linux_auto'};
		printf "<input type=radio name=smbfs_mname_def value=0 %s>\n",
			defined($options{"machinename"}) ? "checked" : "";
		print "<input size=30 name=smbfs_mname value=\"$options{machinename}\"></td> </tr>\n";
		}

	if ($smbfs_support == 1) {
		print "<tr> <td><b>$text{'linux_fmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_fmode size=5 value=\"%s\"></td>\n",
		    defined($options{'fmode'}) ? $options{'fmode'} : "755";

		print "<td><b>$text{'linux_dmode'}</b></td>\n";
		printf
		    "<td><input name=smbfs_dmode size=5 value=\"%s\"></td>\n",
		    defined($options{'dmode'}) ? $options{'dmode'} : "755";
		print "</tr>\n";
		}
	elsif ($smbfs_support >= 3) {
		print "<tr> <td><b>$text{'linux_ro'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_ro value=1 %s> $text{'yes'}\n",
			defined($options{"ro"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_ro value=0 %s> $text{'no'}</td>\n",
			defined($options{"ro"}) ? "" : "checked";

		print "<td><b>$text{'linux_user'}</b></td>\n";
		printf "<td><input type=radio name=smbfs_user2 value=1 %s> $text{'yes'}\n",
			defined($options{"user"}) ? "checked" : "";
		printf "<input type=radio name=smbfs_user2 value=0 %s> $text{'no'}</td> </tr>\n",
			defined($options{"user"}) ? "" : "checked";
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Reiserfs is a new super-efficient filesystem
	print "<tr> <td><b>$text{'linux_notail'}</b></td>\n";
	printf "<td><input type=radio name=lnx_notail value=1 %s> $text{'yes'}\n",
		defined($options{"notail"}) ? "checked" : "";
	printf "<input type=radio name=lnx_notail value=0 %s> $text{'no'}</td> </tr>\n",
		defined($options{"notail"}) ? "" : "checked";
	}
elsif ($_[0] eq "tmpfs") {
	# Tmpfs has some size options
	print "<tr> <td><b>$text{'linux_tmpsize'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpsize_def value=1 %s> %s\n",
		!defined($options{"size"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_tmpsize_def value=0 %s>\n",
		!defined($options{"size"}) ? "" : "checked";
	printf "<input name=lnx_tmpsize size=6 value='%s'></td>\n",
		$options{"size"};

	print "<td><b>$text{'linux_nr_blocks'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_blocks_def value=1 %s> %s\n",
		!defined($options{"nr_blocks"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_blocks_def value=0 %s>\n",
		!defined($options{"nr_blocks"}) ? "" : "checked";
	printf "<input name=lnx_nr_blocks size=6 value='%s'></td> </tr>\n",
		$options{"nr_blocks"};

	print "<tr> <td><b>$text{'linux_nr_inodes'}</b></td>\n";
	printf "<td><input type=radio name=lnx_nr_inodes_def value=1 %s> %s\n",
		!defined($options{"nr_inodes"}) ? "checked" : "",
		$text{'linux_unlimited'};
	printf "<input type=radio name=lnx_nr_inodes_def value=0 %s>\n",
		!defined($options{"nr_inodes"}) ? "" : "checked";
	printf "<input name=lnx_nr_inodes size=6 value='%s'></td>\n",
		$options{"nr_inodes"};

	print "<td><b>$text{'linux_tmpmode'}</b></td>\n";
	printf "<td><input type=radio name=lnx_tmpmode_def value=1 %s> %s\n",
		!defined($options{"mode"}) ? "checked" : "", $text{'default'};
	printf "<input type=radio name=lnx_tmpmode_def value=0 %s>\n",
		!defined($options{"mode"}) ? "" : "checked";
	printf "<input name=lnx_tmpmode size=3 value='%s'></td> </tr>\n",
		$options{"mode"};
	}
elsif ($_[0] eq "xfs") {
	# Show options for XFS
	print "<tr> <td><b>$text{'linux_usrquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_usrquota value=1 %s> %s\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ?
		"checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_usrquota value=2 %s> %s\n",
		defined($options{"uqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_usrquota value=0 %s> %s</td></tr>\n",
		defined($options{"quota"}) || defined($options{"usrquota"}) ||
		defined($options{"uqnoenforce"}) ? "" : "checked", $text{'no'};

	print "<tr> <td><b>$text{'linux_grpquotas'}</b></td>\n";
	print "<td colspan=3>\n";
	printf "<input type=radio name=xfs_grpquota value=1 %s> %s\n",
		defined($options{"grpquota"}) ?  "checked" : "", $text{'yes'};
	printf "<input type=radio name=xfs_grpquota value=2 %s> %s\n",
		defined($options{"gqnoenforce"}) ? "checked" : "",
		$text{'linux_noenforce'};
	printf "<input type=radio name=xfs_grpquota value=0 %s> %s</td></tr>\n",
		defined($options{"grpquota"}) ||
		defined($options{"gqnoenforce"}) ? "" : "checked", $text{'no'};
	}
elsif ($_[0] eq "ntfs") {
	# Windows NT/XP/2000 filesystem
	print "<tr> <td><b>$text{'linux_uid'}</b></td>\n";
	printf "<td><input name=ntfs_uid size=8 value=\"%s\">\n",
		defined($options{"uid"}) ? getpwuid($options{"uid"}) : "";
	print &user_chooser_button("ntfs_uid", 0),"</td>\n";

	print "<td><b>$text{'linux_gid'}</b></td>\n";
	printf "<td><input name=ntfs_gid size=8 value=\"%s\">\n",
		defined($options{"gid"}) ? getgrgid($options{"gid"}) : "";
	print &group_chooser_button("ntfs_gid", 0),"</td>\n";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if (&has_command("showmount")) {
		# Use ping and showmount to see if the host exists and is up
		if ($in{nfs_host} !~ /^\S+$/) {
			&error(&text('linux_ehost', $in{'nfs_host'}));
			}
		$out = `ping -c 1 '$in{nfs_host}' 2>&1`;
		if ($out =~ /unknown host/) {
			&error(&text('linux_ehost2', $in{'nfs_host'}));
			}
		elsif ($out =~ /100\% packet loss/) {
			&error(&text('linux_edown', $in{'nfs_host'}));
			}
		$out = `showmount -e '$in{nfs_host}' 2>&1`;
		if ($out =~ /Unable to receive/) {
			&error(&text('linux_enfs', $in{'nfs_host'}));
			}
		elsif ($?) {
			&error(&text('linux_elist', $out));
			}

		# Validate directory name
		foreach (split(/\n/, $out)) {
			if (/^(\/\S+)/) { $dirlist .= "$1\n"; }
			}
		if ($in{nfs_dir} !~ /^\/\S+$/) {
			&error(&text('linux_enfsdir', $in{'nfs_dir'},
				     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
			}
		}

	# Try a test mount to see if filesystem is available
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/i) {
		rmdir($temp);
		&error(&text('linux_enfsdir', $in{'nfs_dir'},
			     $in{'nfs_host'}, "<pre>$dirlist</pre>"));
		}
	elsif ($mout =~ /Permission denied/i) {
		rmdir($temp);
		&error(&text('linux_enfsperm', $in{'nfs_dir'}, $in{'nfs_host'}));
		}
	elsif ($?) {
		rmdir($temp);
		&error(&text('linux_enfsmount', "<tt>$mout</tt>"));
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);

	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "auto") {
	# Check if the automounter map exists..
	(-r $in{auto_map}) || &error(&text('linux_eautomap', $in{'auto_map'}));
	return $in{auto_map};
	}
elsif ($_[0] eq "autofs") {
	# Check if the map exists (if it is a file)
	if ($in{'autofs_map'} =~ /^\// && !(-r $in{'autofs_map'})) {
		&error(&text('linux_eautomap', $in{'autofs_map'}));
		}
	return $in{autofs_map};
	}
elsif ($_[0] eq $smbfs_fs) {
	# No checking done
	return "\\\\".lc($in{'smbfs_server'})."\\".lc($in{'smbfs_share'});
	}
elsif ($_[0] eq "tmpfs") {
	# No location needed
	return "tmpfs";
	}
else {
	# This is some kind of disk-based linux filesystem.. get the device name
	if ($in{'lnx_dev'} == 0) {
		$dv = $in{'lnx_disk'};
		}
	elsif ($in{'lnx_dev'} == 2) {
		$dv = $in{'lnx_raid'};
		}
	elsif ($in{'lnx_dev'} == 3) {
		$dv = "LABEL=".$in{'lnx_label'};
		}
	elsif ($in{'lnx_dev'} == 4) {
		$dv = $in{'lnx_lvm'};
		}
	else {
		$dv = $in{'lnx_other'};
		$dv || &error($text{'linux_edev'});
		}

	# If the device entered is a symlink, follow it
	#if ($dvlink = readlink($dv)) {
	#	if ($dvlink =~ /^\//) { $dv = $dvlink; }
	#	else {	$dv =~ /^(.*\/)[^\/]+$/;
	#		$dv = $1.$dvlink;
	#		}
	#	}

	# Check if the device actually exists and uses the right filesystem
	if (!-r $dv && $dv !~ /LABEL=/) {
		if ($_[0] eq "swap" && $dv !~ /\/dev/) {
			&swap_form($dv);
			}
		else {
			&error(&text('linux_edevfile', $dv));
			}
		}
	return $dv;
	}
}

# check_options(type, device, directory)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);

# Parse the common options first..
if ($_[0] ne "swap" && $_[0] ne "auto" &&
    $_[0] ne "autofs" && $_[0] ne $smbfs_fs) {
	delete($options{"ro"}); delete($options{"rw"});
	if ($in{lnx_ro}) { $options{"ro"} = ""; }

	delete($options{"sync"}); delete($options{"async"});
	if ($in{lnx_sync}) { $options{"sync"} = ""; }

	delete($options{"dev"}); delete($options{"nodev"});
	if ($in{lnx_nodev}) { $options{"nodev"} = ""; }

	delete($options{"exec"}); delete($options{"noexec"});
	if ($in{lnx_noexec}) { $options{"noexec"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{lnx_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"user"}); delete($options{"nouser"});
	if ($in{lnx_user}) { $options{"user"} = ""; }
	}

if ($_[0] eq "nfs") {
	# NFS has a few specific options..
	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"nfsvers"});
	if (!$in{nfs_vers_def}) { $options{"nfsvers"} = $in{nfs_vers}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_intr}) { $options{"intr"} = ""; }

	delete($options{"tcp"}); delete($options{"udp"});
	if ($in{nfs_tcp}) { $options{"tcp"} = ""; }
	}
elsif ($_[0] eq "ext2" || $_[0] eq "ext3") {
	# More options for ext2..
	delete($options{"check"}); delete($options{"nocheck"});
	if ($in{ext2_check} ne "normal") {
		$options{"check"} = $in{ext2_check};
		}

	delete($options{"errors"});
	if ($in{ext2_errors} ne "default") {
		$options{"errors"} = $in{ext2_errors};
		}

	delete($options{"grpid"}); delete($options{"bsdgroups"});
	delete($options{"sysvgroups"}); delete($options{"nogrpid"});
	if ($in{ext2_grpid}) {
		$options{"grpid"} = "";
		}

	delete($options{"resuid"}); delete($options{"resgid"});
	if ($in{'ext2_resuid'})
		{ $options{"resuid"} = getpwnam($in{'ext2_resuid'}); }
	if ($in{'ext2_resgid'})
		{ $options{"resgid"} = getgrnam($in{'ext2_resgid'}); }

	delete($options{"quota"}); delete($options{"noquota"});
	delete($options{"usrquota"}); delete($options{"grpquota"});
	if ($in{'ext2_quota'} == 1) { $options{'usrquota'} = ""; }
	elsif ($in{'ext2_quota'} == 2) { $options{'grpquota'} = ""; }
	elsif ($in{'ext2_quota'} == 3)
		{ $options{'usrquota'} = $options{'grpquota'} = ""; }
	}
elsif ($_[0] eq "fat" || $_[0] eq "vfat" ||
       $_[0] eq "msdos" || $_[0] eq "umsdos") {
	# All dos-based filesystems have similar options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{fat_uid} ne "") { $options{"uid"} = getpwnam($in{'fat_uid'}); }
	if ($in{fat_gid} ne "") { $options{"gid"} = getgrnam($in{'fat_gid'}); }

	delete($options{"check"});
	if ($in{fat_check} ne "") { $options{"check"} = $in{fat_check}; }

	delete($options{"conv"});
	if ($in{fat_conv} ne "") { $options{"conv"} = $in{fat_conv}; }

	delete($options{"umask"});
	if (!$in{fat_umask_def}) {
		$in{fat_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'fat_umask'}));
		$options{"umask"} = $in{fat_umask};
		}

	delete($options{"quiet"});
	if ($in{fat_quiet}) {
		$options{"quiet"} = "";
		}

	if ($_[0] eq "vfat") {
		# Parse extra vfat options..
		delete($options{"uni_xlate"});
		if ($in{fat_uni_xlate}) { $options{"uni_xlate"} = ""; }

		delete($options{"posix"});
		if ($in{fat_posix}) { $options{"posix"} = ""; }
		}
	}
elsif ($_[0] eq "hpfs") {
	# OS/2 filesystem options..
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{hpfs_uid} ne "") { $options{"uid"} = getpwnam($in{hpfs_uid}); }
	if ($in{hpfs_gid} ne "") { $options{"gid"} = getgrnam($in{hpfs_gid}); }

	delete($options{"umask"});
	if (!$in{hpfs_umask_def}) {
		$in{hpfs_umask} =~ /^[0-7]{3}$/ ||
			&error(&text('linux_emask', $in{'hpfs_umask'}));
		$options{"umask"} = $in{hpfs_umask};
		}

	delete($options{"conv"});
	if ($in{hpfs_conv} ne "") { $options{"conv"} = $in{hpfs_conv}; }
	}
elsif ($_[0] eq "iso9660") {
	# Options for iso9660 cd-roms
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{iso9660_uid} ne "")
		{ $options{"uid"} = getpwnam($in{iso9660_uid}); }
	if ($in{iso9660_gid} ne "")
		{ $options{"gid"} = getgrnam($in{iso9660_gid}); }

	delete($options{"norock"});
	if ($in{iso9660_norock}) { $options{"norock"} = ""; }

	delete($options{"mode"});
	$in{iso9660_mode} =~ /^[0-7]{3}$/ ||
		&error(&text('linux_emask', $in{'iso9660_mode'}));
	$options{"mode"} = $in{iso9660_mode};
	}
elsif ($_[0] eq "autofs") {
	# Options for automounter filesystems
	delete($options{'timeout'});
	if (!$in{'autofs_timeout_def'}) {
		$in{'autofs_timeout'} =~ /^\d+$/ ||
			&error(&text('linux_etimeout', $in{'autofs_timeout'}));
		$options{'timeout'} = $in{'autofs_timeout'};
		}
	delete($options{'pid-file'});
	if (!$in{'autofs_pid-file_def'}) {
		$in{'autofs_pid-file'} =~ /^\/\S+$/ ||
		       &error(&text('linux_epidfile', $in{'autofs_pid-file'}));
		$options{'pid-file'} = $in{'autofs_pid-file'};
		}
	}
elsif ($_[0] eq $smbfs_fs) {
	# Options for smb filesystems..
	delete($options{'user'}); delete($options{'username'});
	if ($in{smbfs_user}) {
		$options{$smbfs_support == 4 ? 'username' : 'user'} = $in{smbfs_user};
		}

	delete($options{'passwd'}); delete($options{'password'});
	if ($in{smbfs_passwd}) {
		$options{$smbfs_support == 4 ? 'password' : 'passwd'} = $in{smbfs_passwd};
		}

	if ($smbfs_support != 2) {
		delete($options{uid});
		if ($in{smbfs_uid} ne "") { $options{uid} = getpwnam($in{smbfs_uid}); }

		delete($options{gid});
		if ($in{smbfs_gid} ne "") { $options{gid} = getgrnam($in{smbfs_gid}); }
		}

	if ($smbfs_support == 1) {
		delete($options{servername});
		if (!$in{smbfs_sname_def})
			{ $options{servername} = $in{smbfs_sname}; }
		}
	elsif ($smbfs_support == 2) {
		delete($options{workgroup});
		if (!$in{smbfs_wg_def})
			{ $options{workgroup} = $in{smbfs_wg}; }
		}

	if ($smbfs_support < 3) {
		delete($options{clientname});
		if (!$in{smbfs_cname_def})
			{ $options{clientname} = $in{smbfs_cname}; }

		delete($options{machinename});
		if (!$in{smbfs_mname_def})
			{ $options{machinename} = $in{smbfs_mname}; }
		elsif (!gethostbyname($in{'smbfs_server'})) {
			# No hostname found for the server.. try to guess
			local($out, $sname);
			$sname = $in{'smbfs_server'};
			$out = `$config{'nmblookup_path'} -d 0 $sname 2>&1`;
			if (!$? && $out =~ /^([0-9\.]+)\s+$sname\n/) {
				$options{machinename} = $1;
				}
			}
		}

	if ($smbfs_support == 1) {
		delete($options{fmode});
		if ($in{smbfs_fmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_efmode', $in{'smbfs_fmode'}));
			}
		elsif ($in{smbfs_fmode} ne "755")
			{ $options{fmode} = $in{smbfs_fmode}; }

		delete($options{dmode});
		if ($in{smbfs_dmode} !~ /^[0-7]{3}$/) {
			&error(&text('linux_edmode', $in{'smbfs_dmode'}));
			}
		elsif ($in{smbfs_dmode} ne "755")
			{ $options{dmode} = $in{smbfs_dmode}; }
		}
	elsif ($smbfs_support >= 3) {
		delete($options{'ro'}); delete($options{'rw'});
		if ($in{'smbfs_ro'}) { $options{'ro'} = ''; }

		delete($options{'user'});
		if ($in{'smbfs_user2'}) { $options{'user'} = ''; }
		}
	}
elsif ($_[0] eq "reiserfs") {
	# Save reiserfs options
	delete($options{'notail'});
	$options{'notail'} = "" if ($in{'lnx_notail'});

	if ($in{'lnx_user'} && !$in{'lnx_noexec'}) {
		# Have to force on the exec option
		$options{"exec"} = "";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Save tmpfs options
	if ($in{'lnx_tmpsize_def'}) {
		delete($options{'size'});
		}
	else {
		$in{'lnx_tmpsize'} =~ /^(\d+)([kmg]?)$/ ||
			&error($text{'lnx_etmpsize'});
		$options{'size'} = $in{'lnx_tmpsize'};
		}

	if ($in{'lnx_nr_blocks_def'}) {
		delete($options{'nr_blocks'});
		}
	else {
		$in{'lnx_nr_blocks'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_blocks'});
		$options{'nr_blocks'} = $in{'lnx_nr_blocks'};
		}

	if ($in{'lnx_nr_inodes_def'}) {
		delete($options{'nr_inodes'});
		}
	else {
		$in{'lnx_nr_inodes'} =~ /^\d+$/ ||
			&error($text{'lnx_enr_inodes'});
		$options{'nr_inodes'} = $in{'lnx_nr_inodes'};
		}

	if ($in{'lnx_tmpmode_def'}) {
		delete($options{'mode'});
		}
	else {
		$in{'lnx_tmpmode'} =~ /^[0-7]{3,4}$/ ||
			&error($text{'lnx_etmpmode'});
		$options{'mode'} = $in{'lnx_tmpmode'};
		}
	}
elsif ($_[0] eq "xfs") {
	# Save XFS options
	delete($options{'quota'});
	delete($options{'usrquota'});
	delete($options{'uqnoenforce'});
	$options{'usrquota'} = "" if ($in{'xfs_usrquota'} == 1);
	$options{'uqnoenforce'} = "" if ($in{'xfs_usrquota'} == 2);

	delete($options{'grpquota'});
	delete($options{'gqnoenforce'});
	$options{'grpquota'} = "" if ($in{'xfs_grpquota'} == 1);
	$options{'gqnoenforce'} = "" if ($in{'xfs_grpquota'} == 2);
	}
elsif ($_[0] eq "ntfs") {
	# Save NTFS options
	delete($options{"uid"}); delete($options{"gid"});
	if ($in{ntfs_uid} ne "")
		{ $options{"uid"} = getpwnam($in{ntfs_uid}); }
	if ($in{ntfs_gid} ne "")
		{ $options{"gid"} = getgrnam($in{ntfs_gid}); }
	}

# Add loop option if mounting a normal file
if ($_[0] ne "swap" && $_[0] ne "auto" && $_[0] ne "autofs" &&
    $_[0] ne $smbfs_fs && $_[0] ne "nfs" && $_[0] ne "tmpfs") {
	local(@st);
	@st = stat($_[1]);
	if (@st && ($st[2] & 0xF000) == 0x8000) {
		# a regular file.. add the loop option
		if (!$options{'loop'}) {
			$options{'loop'} = "";
			}
		}
	}

# Return options string
foreach $k (sort { ($b eq "user" ? 1 : 0) <=> ($a eq "user" ? 1 : 0) } (keys %options)) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# Get the smbfs options from 'smbfs_opts' file in the current directory. This
# is sadly necessary because there is no way to get the current options for
# an existing smbfs mount... so webmin has to save them in a file when
# mounting. Blech.
sub read_smbopts
{
local($_);
open(SMBOPTS, "$module_config_directory/smbfs");
while(<SMBOPTS>) {
	/^(\S+)\s+(\S+)$/;
	$smbopts{$1} = $2;
	}
close(SMBOPTS);
}

sub write_smbopts
{
local($_);
open(SMBOPTS, "> $module_config_directory/smbfs");
foreach (keys %smbopts) {
	print SMBOPTS "$_\t$smbopts{$_}\n";
	}
close(SMBOPTS);
}


# create_swap(file, size, units)
# Calls dd and mkswap to setup a swap file
sub create_swap
{
local($out, $bl);
$bl = $_[1] * ($_[2] eq "m" ? 1024 : 1);
$out = `dd if=/dev/zero of=$_[0] bs=1024 count=$bl 2>&1`;
if ($?) { return "dd failed : $out"; }
$out = `mkswap $_[0] $bl 2>&1`;
if ($?) { return "mkswap failed : $out"; }
system("sync >/dev/null 2>&1");
return 0;
}

# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /(eth|tr)\d\s+.*\n.*Bcast:(\S+)\s+/) { return $2; }
return "255.255.255.255";
}

# autofs_options(string)
# Converts a string of options line --timeout 60 to something like timeout=60
sub autofs_options
{
local(@options);
if ($_[0] =~ /--timeout\s+(\d+)/ || $_[0] =~ /-t\s+(\d+)/) {
	push(@options, "timeout=$1");
	}
if ($_[0] =~ /--pid-file\s+(\S+)/ || $_[0] =~ /-p\s+(\d+)/) {
	push(@options, "pid-file=$1");
	}
return join(',', @options);
}

# autofs_args(string)
# Convert a comma-separated options string into args for automount
sub autofs_args
{
local(%options, $args);
&parse_options("autofs", $_[0]);
if (defined($options{'timeout'})) {
	$args .= " --timeout $options{'timeout'}";
	}
if (defined($options{'pid-file'})) {
	$args .= " --pid-file $options{'pid-file'}";
	}
return $args;
}

# read_amd_conf()
# Returns the entire amd config file as a string
sub read_amd_conf
{
local $sl = $/;
$/ = undef;
local $rv;
foreach $f (split(/\s+/, $config{'auto_file'})) {
	open(AMD, $f);
	$rv .= <AMD>;
	close(AMD);
	}
$/ = $sl;
return $rv;
}

# write_amd_conf(text)
sub write_amd_conf
{
open(AMD, ">$config{'auto_file'}");
print AMD $_[0];
close(AMD);
}

# parse_amd_conf()
# Parses a new-style amd.conf file into a hashtable
sub parse_amd_conf
{
local (@rv, $str);
foreach $f (split(/\s+/, $config{'auto_file'})) {
	local $lnum = 0;
	open(AMD, $f);
	while(<AMD>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\[\s*(\S+)\s*\]/) {
			$str = { 'dir' => $1,
				 'line' => $lnum,
				 'eline' => $lnum,
				 'file' => $f };
			push(@rv, $str);
			}
		elsif (/(\S+)\s*=\s*"(.*)"/ || /(\S+)\s*=\s*(\S+)/) {
			$str->{'opts'}->{$1} = $2;
			$str->{'eline'} = $lnum;
			}
		$lnum++;
		}
	close(AMD);
	}
return @rv;
}

# device_name(device)
# Converts a device name to a human-readable form
sub device_name
{
if (!$text{'select_part'}) {
	local %flang = &load_language('fdisk');
	$text{'select_part'} = $flang{'select_part'};
	$text{'select_mpart'} = $flang{'select_mpart'};
	$text{'select_cpart'} = $flang{'select_cpart'};
	$text{'select_spart'} = $flang{'select_spart'};
	$text{'select_snewide'} = $flang{'select_snewide'};
	$text{'select_device'} = $flang{'select_device'};
	$text{'select_fd'} = $flang{'select_fd'};
	}
return $_[0] =~ /^\/dev\/(s|h)d([a-z])(\d+)$/ ?
	&text('select_part', $1 eq 's' ? 'SCSI' : 'IDE', uc($2), "$3") :
       $_[0] =~ /^\/dev\/(s|h)d([a-z])$/ ?
	&text('select_device', $1 eq 's' ? 'SCSI' : 'IDE', uc($2)) :
       $_[0] =~ /rd\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_mpart', "$1", "$2", "$3") :
       $_[0] =~ /ida\/c(\d+)d(\d+)p(\d+)$/ ?
	&text('select_cpart', "$1", "$2", "$3") :
       $_[0] =~ /scsi\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_spart', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /ide\/host(\d+)\/bus(\d+)\/target(\d+)\/lun(\d+)\/part(\d+)/ ?
	&text('select_snewide', "$1", "$2", "$3", "$4", "$5") :
       $_[0] =~ /fd(\d+)$/ ?
	&text('select_fd', "$1") :
       $_[0] =~ /md(\d+)$/ ?
	&text('linux_rdev', "$1") :
       $_[0] =~ /\/dev\/([^\/]+)\/([^\/]+)$/ && $1 ne "cdroms" ?
	&text('linux_ldev', "$1", "$2") :
       $_[0] =~ /LABEL=(\S+)/i ?
	&text('linux_label', "$1") :
       $_[0] eq '/dev/cdrom' ?
	$text{'linux_cddev'} :
       $_[0] =~ /cdroms\/cdrom(\d+)$/ ?
	&text('linux_cddev2', "$1") :
	$_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'},
	 split(/\s+/, $config{'auto_file'}) );
}

1;

  0707010002fc66000081e40000000000000002000000013d1fe2bc0000e0b8000000200000000000000000000000000000001c00000003reloc/mount/unixware-lib.pl   # unixware-lib.pl
# Filesystem functions for UnixWare (works for me on 7.0.1)

# Return information about a filesystem, in the form:
#  directory, device, type, options, fsck_order, mount_at_boot
# If a field is unused or ignored, a - appears instead of the value.
# Swap-filesystems (devices or files mounted for VM) have a type of 'swap',
# and 'swap' in the directory field
sub list_mounts
{
local(@rv, @p, $_, $i); $i = 0;

# List normal filesystem mounts
open(FSTAB, $config{fstab_file});
while(<FSTAB>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[3] eq "swap") { $p[2] = "swap"; }
	$rv[$i++] = [ $p[2], $p[0], $p[3], $p[6], $p[4], $p[5] ];
	}
close(FSTAB);

# List automount points
open(AUTOTAB, $config{autofs_file});
while(<AUTOTAB>) {
	chop; s/#.*$//g;
	if (!/\S/ || /^[+\-]/) { next; }
	@p = split(/\s+/, $_);
	if ($p[2] eq "") { $p[2] = "-"; }
	else { $p[2] =~ s/^-//g; }
	$rv[$i++] = [ $p[0], $p[1], "autofs", $p[2], "-", "yes" ];
	}
close(AUTOTAB);

return @rv;
}


# create_mount(directory, device, type, options, fsck_order, mount_at_boot)
# Add a new entry to the fstab file, and return the index of the new entry
sub create_mount
{
local($len, @mlist, $fcsk, $dir);
if ($_[2] eq "autofs") {
	# An autofs mount.. add to /etc/auto_master
	$len = grep { $_->[2] eq "autofs" } (&list_mounts());
	open(AUTOTAB, ">> $config{autofs_file}");
	print AUTOTAB "$_[0] $_[1]",($_[3] eq "-" ? "" : " -$_[3]"),"\n";
	close(AUTOTAB);
	}
else {
	# Add to the fstab file
	$len = grep { $_->[2] ne "autofs" } (&list_mounts());
	open(FSTAB, ">> $config{fstab_file}");
	if ($_[2] eq "ufs" || $_[2] eq "s5fs") {
		($fsck = $_[1]) =~ s/\/dsk\//\/rdsk\//g;
		}
	else { $fsck = "-"; }
	if ($_[2] eq "swap") { $dir = "-"; }
	else { $dir = $_[0]; }
	print FSTAB "$_[1]  $fsck  $dir  $_[2]  $_[4]  $_[5]  $_[3]\n";
	close(FSTAB);
	}
return $len;
}


# delete_mount(index)
# Delete some mount from the table
sub delete_mount
{
local(@fstab, $i, $line, $_);
open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
$i = 0;

open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# found the line not to include
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# found line not to include..
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# change_mount(num, directory, device, type, options, fsck_order, mount_at_boot)
# Change an existing permanent mount
sub change_mount
{
local(@fstab, @autotab, $i, $line, $fsck, $dir, $_);
$i = 0;

open(FSTAB, $config{fstab_file});
@fstab = <FSTAB>;
close(FSTAB);
open(FSTAB, "> $config{fstab_file}");
foreach (@fstab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $i++ == $_[0]) {
		# Found the line to replace
		if ($_[3] eq "ufs" || $_[3] eq "s5fs") {
			($fsck = $_[2]) =~ s/\/dsk\//\/rdsk\//g;
			}
		else { $fsck = "-"; }
		if ($_[3] eq "swap") { $dir = "-"; }
		else { $dir = $_[1]; }
		print FSTAB "$_[2]  $fsck  $dir  $_[3]  $_[5]  $_[6]  $_[4]\n";
		}
	else { print FSTAB $_,"\n"; }
	}
close(FSTAB);

open(AUTOTAB, $config{autofs_file});
@autotab = <AUTOTAB>;
close(AUTOTAB);
open(AUTOTAB, "> $config{autofs_file}");
foreach (@autotab) {
	chop; ($line = $_) =~ s/#.*$//g;
	if ($line =~ /\S/ && $line !~ /^[+\-]/ && $i++ == $_[0]) {
		# Found the line to replace
		print AUTOTAB "$_[1]  $_[2]  ",
				($_[4] eq "-" ? "" : "-$_[4]"),"\n";
		}
	else { print AUTOTAB $_,"\n"; }
	}
close(AUTOTAB);
}


# list_mounted()
# Return a list of all the currently mounted filesystems and swap files.
# The list is in the form:
#  directory device type options
# For swap files, the directory will be 'swap'
sub list_mounted
{
local(@rv, @p, $_, $i, $r);
foreach (split(/\n/, `swap -l`)) {
	if (/^(\/\S+)\s+/) { push(@rv, [ "swap", $1, "swap", "-" ]); }
	}
foreach (split(/\n/, `cat /etc/mnttab`)) {
	s/#.*$//g; if (!/\S/) { next; }
	@p = split(/\s+/, $_);
	if ($p[0] =~ /:vold/) { next; }
	if ($p[0] =~ /^rumba-(\d+)$/) {
		# rumba smb mount
		local($args, $ps); $p[3] = "pid=$1";
		$ps = (-x "/usr/ucb/ps") ? "/usr/ucb/ps auwwwwx $1"
				 	 : "ps -o args -f $1";
		`$ps` =~ /rumba\s+\/\/([^\/]+)\/(.*\S)\s+(\/\S+)(.*)/ || next;
		$serv = $1; $shar = $2; $p[2] = "rumba"; $args = $4;
		if ($args =~ /\s+-s\s+(\S+)/ && $1 ne $serv) {
			$p[0] = "\\\\$1\\$shar";
			$p[3] .= ",machinename=$serv";
			}
		else { $p[0] = "\\\\$serv\\$shar"; }
		if ($args =~ /\s+-c\s+(\S+)/) { $p[3] .= ",clientname=$1"; }
		if ($args =~ /\s+-U\s+(\S+)/) { $p[3] .= ",username=$1"; }
		if ($args =~ /\s+-u\s+(\S+)/) { $p[3] .= ",uid=$1"; }
		if ($args =~ /\s+-g\s+(\S+)/) { $p[3] .= ",gid=$1"; }
		if ($args =~ /\s+-f\s+(\S+)/) { $p[3] .= ",fmode=$1"; }
		if ($args =~ /\s+-d\s+(\S+)/) { $p[3] .= ",dmode=$1"; }
		if ($args =~ /\s+-C/) { $p[3] .= ",noupper"; }
		if ($args =~ /\s+-P\s+(\S+)/) { $p[3] .= ",password=$1"; }
		if ($args =~ /\s+-S/) { $p[3] .= ",readwrite"; }
		if ($args =~ /\s+-w/) { $p[3] .= ",readonly"; }
		if ($args =~ /\s+-e/) { $p[3] .= ",attr"; }
		}
	else { $p[3] = join(',' , (grep {!/^dev=/} split(/,/ , $p[3]))); }
	push(@rv, [ $p[1], $p[0], $p[2], $p[3] ]);
	}
foreach $r (@rv) {
	if ($r->[2] eq "cachefs" && $r->[1] =~ /\.cfs_mnt_points/) {
		# Oh no.. a caching filesystem mount. Fiddle things so that
		# it looks right.
		for($i=0; $i<@rv; $i++) {
			if ($rv[$i]->[0] eq $r->[1]) {
				# Found the automatically mounted entry. lose it
				$r->[1] = $rv[$i]->[1];
				splice(@rv, $i, 1);
				last;
				}
			}
		}
	}
return @rv;
}


# mount_dir(directory, device, type, options)
# Mount a new directory from some device, with some options. Returns 0 if ok,
# or an error string if failed. If the directory is 'swap', then mount as
# virtual memory.
sub mount_dir
{
local($out, $opts);
if ($_[0] eq "swap") {
	# Adding a swap device
	$out = &backquote_logged("swap -a $_[1] 2>&1");
	if ($?) { return $out; }
	}
else {
	# Mounting a directory
	if ($_[2] eq "cachefs") {
		# Mounting a caching filesystem.. need to create cache first
		local(%options);
		&parse_options("cachefs", $_[3]);
		if (!(-r "$options{cachedir}/.cfs_resource")) {
			# The cache directory does not exist.. set it up
			if (-d $options{cachedir} &&
			    !rmdir($options{"cachedir"})) {
				return "The directory $options{cachedir} ".
				       "already exists. Delete it";
				}
			$out = &backquote_logged("cfsadmin -c $options{cachedir} 2>&1");
			if ($?) { return $out; }
			}
		}
	if ($_[2] eq "rumba") {
		# call 'rumba' to mount
		local(%options, $shortname, $shar, $opts, $rv);
		&parse_options("rumba", $_[3]);
		$shortname = &get_system_hostname();
		if ($shortname =~ /^([^\.]+)\.(.+)$/) { $shortname = $1; }
		$_[1] =~ /^\\\\(.+)\\(.+)$/;
		$shar = "//".($options{machinename} ?$options{machinename} :$1).
			"/$2";
		$opts = ("-s $1 ").
		 (defined($options{'clientname'}) ?
			"-c $options{'clientname'} " : "-c $shortname ").
		 (defined($options{'username'}) ?
			"-U $options{'username'} " : "").
		 (defined($options{'uid'}) ? "-u $options{'uid'} " : "").
		 (defined($options{'gid'}) ? "-g $options{'gid'} " : "").
		 (defined($options{'fmode'}) ? "-f $options{'fmode'} " : "").
		 (defined($options{'dmode'}) ? "-d $options{'dmode'} " : "").
		 (defined($options{'noupper'}) ? "-C " : "").
		 (defined($options{'password'}) ?
			"-P $options{'password'} " : "-n ").
		 (defined($options{'readwrite'}) ? "-S " : "").
		 (defined($options{'readonly'}) ? "-w " : "").
		 (defined($options{'attr'}) ? "-e " : "");
		local $rtemp = &tempname();
		$rv = system("rumba \"$shar\" $_[0] $opts >$rtemp 2>&1 </dev/null");
		$out = `cat $rtemp`; unlink($rtemp);
		if ($rv) { return "<pre>$out</pre> : rumba \"$shar\" $_[0] $opts"; }
		}
	else {
		$opts = $_[3] eq "-" ? "" : "-o \"$_[3]\"";
		$out = &backquote_logged("mount -F $_[2] $opts -- $_[1] $_[0] 2>&1");
		if ($?) { return $out; }
		}
	}
return 0;
}


# unmount_dir(directory, device, type)
# Unmount a directory (or swap device) that is currently mounted. Returns 0 if
# ok, or an error string if failed
sub unmount_dir
{
if ($_[0] eq "swap") {
	$out = &backquote_logged("swap -d $_[1] 2>&1");
	}
elsif ($_[2] eq "rumba") {
	# kill the process (if nobody is in the directory)
	$dir = $_[0];
	if (`fuser -c $_[0] 2>/dev/null` =~ /\d/) { return "$_[0] is busy"; }
	if (`cat /etc/mnttab` =~ /rumba-(\d+)\s+$dir\s+nfs/) {
		&kill_logged('TERM', $1) || return "Failed to kill rumba";
		}
	else { return "Failed to find rumba pid"; }
	sleep(1);
	}
else {
	$out = &backquote_logged("umount $_[0] 2>&1");
	}
if ($?) { return $out; }
return 0;
}


# disk_space(type, directory)
# Returns the amount of total and free space for some filesystem, or an
# empty array if not appropriate.
sub disk_space
{
if (&get_mounted($_[1], "*") < 0) { return (); }
if ($_[0] eq "fd" || $_[0] eq "proc" || $_[0] eq "swap" || $_[0] eq "autofs") {
	return ();
	}
`df -k $_[1]` =~ /Mounted on\n\S+\s+(\S+)\s+\S+\s+(\S+)/;
return ($1, $2);
}


# list_fstypes()
# Returns an array of all the supported filesystem types. If a filesystem is
# found that is not one of the supported types, generate_location() and
# generate_options() will not be called for it.
sub list_fstypes
{
local(@fs);
@fs = ("vxfs", "ufs", "nfs", "hsfs", "pcfs", "lofs", "cachefs", "swap", "tmpfs", "autofs");
if (&has_command("rumba")) { push(@fs, "rumba"); }
return @fs;
}


# fstype_name(type)
# Given a short filesystem type, return a human-readable name for it
sub fstype_name
{
local(%fsmap);
%fsmap = ("vxfs", "Veritas Filesystem",
	  "ufs","Unix Filesystem",
	  "nfs","Network Filesystem",
	  "hsfs","ISO9660 CD-ROM",
	  "pcfs","MS-DOS Filesystem",
	  "lofs","Loopback Filesystem",
	  "cachefs","Caching Filesystem",
	  "swap","Virtual Memory",
	  "tmpfs","Ram Disk",
	  "autofs","Automounter Filesystem",
	  "proc","Process Image Filesystem",
	  "fd","File Descriptor Filesystem",
	  "rumba","Windows Networking Filesystem");
return $config{long_fstypes} && $fsmap{$_[0]} ? $fsmap{$_[0]} : uc($_[0]);
}


# mount_modes(type)
# Given a filesystem type, returns 4 numbers that determine how the file
# system can be mounted, and whether it can be fsck'd
#  0 - cannot be permanently recorded
#  1 - can be permanently recorded, and is always mounted at boot
#  2 - can be permanently recorded, and may or may not be mounted at boot
# The second is:
#  0 - mount is always permanent => mounted when saved
#  1 - doesn't have to be permanent
# The third is:
#  0 - cannot be fsck'd at boot time
#  1 - can be be fsck'd at boot time
# The fourth is:
#  0 - can be unmounted
#  1 - cannot be unmounted
sub mount_modes
{
if ($_[0] eq "vxfs" || $_[0] eq "ufs" || $_[0] eq "cachefs" || $_[0] eq "s5fs")
   { return (2, 1, 1, 0); }
elsif ($_[0] eq "rumba") { return (0, 1, 0, 0); }
else { return (2, 1, 0, 0); }
}


# multiple_mount(type)
# Returns 1 if filesystems of this type can be mounted multiple times, 0 if not
sub multiple_mount
{
return ($_[0] eq "vxfs" || $_[0] eq "nfs" || $_[0] eq "tmpfs" || $_[0] eq "cachefs" || $_[0] eq "autofs" || $_[0] eq "lofs" || $_[0] eq "rumba");
}


# generate_location(type, location)
# Output HTML for editing the mount location of some filesystem.
sub generate_location
{
if ($_[0] eq "nfs") {
	# NFS mount from some host and directory
	if ($_[1] =~ /^nfs:/) { $nfsmode = 2; }
	elsif (!$_[1] || $_[1] =~ /^([A-z0-9\-\.]+):([^,]+)$/) {
		$nfsmode = 0; $nfshost = $1; $nfspath = $2;
		}
	else { $nfsmode = 1; }
	if ($gconfig{'os_version'} >= 2.6) {
		# UnixWare 7 can list multiple NFS servers in mount
		print "<tr> <td><b>NFS Source</b></td>\n";
		printf "<td><input type=radio name=nfs_serv value=0 %s>\n",
			$nfsmode == 0 ? "checked" : "";
		print "<b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "&nbsp;<b>NFS Directory</b>\n";
		print "<input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";

		print "<tr> <td></td>\n";
		printf "<td><input type=radio name=nfs_serv value=1 %s>\n",
			$nfsmode == 1 ? "checked" : "";
		print "<b>Multiple NFS Servers</b></td>\n";
		printf "<td><input name=nfs_list size=40 value=\"%s\">\n",
			$nfsmode == 1 ? $_[1] : "";
		print "</td> </tr>\n";

		if ($gconfig{'os_version'} >= 7) {
			print "<tr> <td></td> <td>\n";
			printf "<input type=radio name=nfs_serv value=2 %s>\n",
				$nfsmode == 2 ? "checked" : "";
			print "<b>WebNFS URL</b></td> <td>\n";
			printf "<input name=nfs_url size=40 value=\"%s\">\n",
				$nfsmode == 2 ? $_[1] : "";
			print "</td> </tr>\n";
			}
		}
	else {
		print "<tr> <td><b>NFS Hostname</b></td>\n";
		print "<td><input name=nfs_host size=20 value=\"$nfshost\">\n";
		&nfs_server_chooser_button("nfs_host");
		print "</td>\n";
		print "<td><b>NFS Directory</b></td>\n";
		print "<td><input name=nfs_dir size=20 value=\"$nfspath\">\n";
		&nfs_export_chooser_button("nfs_host", "nfs_dir");
		print "</td> </tr>\n";
		}
	}
elsif ($_[0] eq "tmpfs") {
	# Location is irrelevant for tmpfs filesystems
	}
elsif ($_[0] eq "ufs") {
	# Mounted from a normal disk, raid (MD) device or from
	# somewhere else
	print "<tr> <td valign=top><b>UFS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$ufs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$ufs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/md\/dsk\/d([0-9]+)$/) {
		$ufs_dev = 1; $scsi_md = $1;
		}
	else {
		$ufs_dev = 2; $scsi_path = $_[1];
		}
	printf "<input type=radio name=ufs_dev value=0 %s> SCSI Disk:\n",
		$ufs_dev == 0 ? "checked" : "";
	print "Controller <input name=ufs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=ufs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=ufs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=ufs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=ufs_dev value=1 %s> RAID Device:\n",
		$ufs_dev == 1 ? "checked" : "";
	print "Unit <input name=ufs_md size=3 value=\"$scsi_md\"><br>\n";

	printf "<input type=radio name=ufs_dev value=2 %s> Other Device:\n",
		$ufs_dev == 2 ? "checked" : "";
	print "<input name=ufs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "vxfs") {
	# Mounted from a normal disk, LVM device or from
	# somewhere else
	print "<tr> <td valign=top><b>VXFS Device</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$jfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$jfs_dev = 0; $scsi_c = $scsi_t = $scsi_s = $scsi_d = 0;
		}
	elsif ($_[1] =~ /^\/dev\/vg([0-9]+)\/(\S+)/) {
		$jfs_dev = 1; $scsi_vg = $1; $scsi_lv = $2;
		}
	else {
		$jfs_dev = 2; $scsi_path = $_[1];
		}
	$scsi_path = $_[1];

	printf "<input type=radio name=jfs_dev value=0 %s> SCSI Disk:\n",
		$jfs_dev == 0 ? "checked" : "";
	print "Controller <input name=jfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=jfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=jfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=jfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=jfs_dev value=1 %s> LVM Device:\n",
		$jfs_dev == 1 ? "checked" : "";
	print "Volume Group <input name=jfs_vg size=2 value=\"$scsi_vg\">\n";
	print "Logical Volume <input name=jfs_lv size=20 value=\"$scsi_lv\"><br>\n";

	printf "<input type=radio name=jfs_dev value=2 %s> Other Device:\n",
		$jfs_dev == 2 ? "checked" : "";
	print "<input name=jfs_path size=20 value=\"$scsi_path\">";
        print &file_chooser_button("jfs_path", 0);
        print "<br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "swap") {
	# Swapping to a disk partition or a file
	print "<tr> <td valign=top><b>Swap File</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$swap_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$swap_dev = 1; $scsi_path = "";
		}
	else {
		$swap_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=swap_dev value=0 %s> SCSI Disk:\n",
		$swap_dev == 0 ? "checked" : "";
	print "Controller <input name=swap_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=swap_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=swap_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=swap_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=swap_dev value=1 %s> File:\n",
		$swap_dev == 1 ? "checked" : "";
	print "<input name=swap_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "hsfs") {
	# Mounting a SCSI cdrom
	print "<tr> <td valign=top><b>CDROM Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$hsfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$hsfs_dev = 0;
		$scsi_c = 0; $scsi_t = 6; $scsi_d = 0; $scsi_s = 0;
		}
	else {
		$hsfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=hsfs_dev value=0 %s> SCSI Device:\n",
		$hsfs_dev == 0 ? "checked" : "";
	print "Controller <input name=hsfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=hsfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=hsfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=hsfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=hsfs_dev value=1 %s> Other Device:\n",
		$hsfs_dev == 1 ? "checked" : "";
	print "<input name=hsfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "pcfs") {
	# Mounting a SCSI msdos filesystem
	print "<tr> <td valign=top><b>MS-DOS Disk</b></td>\n";
	print "<td colspan=3>\n";
	if ($_[1] =~ /^\/dev\/dsk\/c([0-9]+)t([0-9]+)d([0-9]+)s([0-9]+)$/) {
		$pcfs_dev = 0;
		$scsi_c = $1; $scsi_t = $2; $scsi_d = $3; $scsi_s = $4;
		}
	elsif ($_[1] eq "") {
		$pcfs_dev = 1; $scsi_path = "";
		}
	else {
		$pcfs_dev = 1; $scsi_path = $_[1];
		}
	printf "<input type=radio name=pcfs_dev value=0 %s> SCSI Device:\n",
		$pcfs_dev == 0 ? "checked" : "";
	print "Controller <input name=pcfs_c size=3 value=\"$scsi_c\">\n";
	print "Target <input name=pcfs_t size=3 value=\"$scsi_t\">\n";
	print "Unit <input name=pcfs_d size=3 value=\"$scsi_d\">\n";
	print "Partition <input name=pcfs_s size=3 value=\"$scsi_s\"><br>\n";

	printf "<input type=radio name=pcfs_dev value=1 %s> Other Device:\n",
		$pcfs_dev == 1 ? "checked" : "";
	print "<input name=pcfs_path size=20 value=\"$scsi_path\"><br>\n";
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "lofs") {
	# Mounting some directory to another location
	print "<tr> <td><b>Original Directory</b></td>\n";
	print "<td><input name=lofs_src size=30 value=\"$_[1]\">\n";
	print &file_chooser_button("lofs_src", 1);
	print "</td> </tr>\n";
	}
elsif ($_[0] eq "cachefs") {
	# Mounting a cached filesystem of some type.. need a location for
	# the source of the mount
	print "<tr> <td><b>Cache Source</b></td>\n";
	print "<td><input name=cfs_src size=20 value=\"$_[1]\"></td> </tr>\n";
	}
elsif ($_[0] eq "autofs") {
	# An automounter entry.. can be -hosts, -xfn or from some mapping
	print "<tr> <td valign=top><b>Automounter map</b></td>\n";
	printf "<td><input type=radio name=autofs_type value=0 %s>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : "checked";
	printf "Use map <input name=autofs_map size=20 value=\"%s\"><br>\n",
		$_[1] eq "-hosts" || $_[1] eq "-xfn" ? "" : $_[1];
	printf "<input type=radio name=autofs_type value=1 %s>\n",
		$_[1] eq "-hosts" ? "checked" : "";
	print "All NFS exports map<br>\n";
	printf "<input type=radio name=autofs_type value=2 %s>\n",
		$_[1] eq "-xfn" ? "checked" : "";
	print "Federated  Naming  Service map</td> </tr>\n";
	}
elsif ($_[0] eq "rumba") {
	# Windows filesystem
	$_[1] =~ /^\\\\(.*)\\(.*)$/;
	print "<tr> <td><b>Server Name</b></td>\n";
	print "<td><input name=rumba_server value=\"$1\" size=20>\n";
	&smb_server_chooser_button("rumba_server");
	print "</td>\n";
	print "<td><b>Share Name</b></td>\n";
	print "<td><input name=rumba_share value=\"$2\" size=20>\n";
	&smb_share_chooser_button("rumba_server", "rumba_share");
	print "</td> </tr>\n";
	}
}


# generate_options(type, newmount)
# Output HTML for editing mount options for a partilcar filesystem 
# under this OS
sub generate_options
{
if ($_[0] eq "nfs") {
	# UnixWare NFS has many options, not all of which are editable here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=nfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=nfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Files inherit parent GID?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_grpid value=0 %s> Yes\n",
		defined($options{"grpid"}) ? "" : "checked";
	printf "<input type=radio name=nfs_grpid value=1 %s> No</td>\n",
		defined($options{"grpid"}) ? "checked" : "";

	print "<td><b>Return error on timeouts?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_soft value=1 %s> Yes\n",
		defined($options{"soft"}) ? "checked" : "";
	printf "<input type=radio name=nfs_soft value=0 %s> No</td> </tr>\n",
		defined($options{"soft"}) ? "" : "checked";

	print "<tr> <td><b>Retry mounts in background?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_bg value=1 %s> Yes\n",
		defined($options{"bg"}) ? "checked" : "";
	printf "<input type=radio name=nfs_bg value=0 %s> No</td>\n",
		defined($options{"bg"}) ? "" : "checked";

	print "<td><b>Display quotas?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
	printf "<input type=radio name=nfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=nfs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>NFS version</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_vers_def value=1 %s> Highest\n",
		defined($options{"vers"}) ? "" : "checked";
	printf "<input type=radio name=nfs_vers_def value=0 %s>\n",
		defined($options{"vers"}) ? "checked" : "";
	print "<input size=1 name=nfs_vers value=$options{vers}></td> </tr>\n";

	print "<tr> <td><b>Protocol</b></td>\n";
	print "<td nowrap><select name=proto>\n";
	printf "<option value=\"\" %s> Default\n",
		defined($options{"proto"}) ? "" : "selected";
	foreach (split(/\n/, `cat /etc/netconfig`)) {
		if (!/^([A-z0-9\_\-]+)\s/) { next; }
		printf "<option value=\"$1\" %s> $1\n",
			$options{"proto"} eq $1 ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>NFS Port</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_port_def value=1 %s> Default\n",
		defined($options{"port"}) ? "" : "checked";
	printf "<input type=radio name=nfs_port_def value=0 %s>\n",
		defined($options{"port"}) ? "checked" : "";
	print "<input size=5 name=nfs_port value=$options{port}></td> </tr>\n";

	print "<tr> <td><b>Timeout</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_timeo_def value=1 %s> Default\n",
		defined($options{"timeo"}) ? "" : "checked";
	printf "<input type=radio name=nfs_timeo_def value=0 %s>\n",
		defined($options{"timeo"}) ? "checked" : "";
	printf "<input size=5 name=nfs_timeo value=$options{timeo}></td>\n";

	print "<td><b>Number of Retransmissions</b></td>\n";
	printf "<td nowrap><input type=radio name=nfs_retrans_def value=1 %s> Default\n",
		defined($options{"retrans"}) ? "" : "checked";
	printf "<input type=radio name=nfs_retrans_def value=0 %s>\n",
		defined($options{"retrans"}) ? "checked" : "";
	print "<input size=5 name=nfs_retrans value=$options{retrans}></td> </tr>\n";

	print "<tr> <td><b>Authentication</b></td>\n";
	$nfs_auth = $options{'sec'} ? $options{'sec'} :
		    defined($options{"secure"}) ? "dh" :
		    defined($options{"kerberos"}) ? "krb" : "";
	print "<td><select name=nfs_auth>\n";
	printf "<option value=\"\" %s> None\n",
		$nfs_auth eq "" ? "selected" : "";
	printf "<option value=dh %s> DES\n",
		$nfs_auth eq "dh" ? "selected" : "";
	printf "<option value=krb %s> Kerberos\n",
		$nfs_auth eq "krb" ? "selected" : "";
	print "</select></td>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>WebNFS mount?</b></td> <td>\n";
		printf "<input type=radio name=nfs_public value=1 %s> Yes\n",
			defined($options{'public'}) ? "checked" : "";
		printf "<input type=radio name=nfs_public value=0 %s> No\n",
			defined($options{'public'}) ? "" : "checked";
		print "</td>\n";
		}
	print "</tr>\n";
	}
if ($_[0] eq "ufs") {
	# UnixWare UFS also has many options, not all of which are here
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=ufs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=ufs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Allow user interrupt?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_nointr value=0 %s> Yes\n",
		defined($options{"nointr"}) ? "" : "checked";
	printf "<input type=radio name=ufs_nointr value=1 %s> No</td>\n",
		defined($options{"nointr"}) ? "checked" : "";

	print "<td><b>Enable quotas at boot time?</b></td>\n";
	printf "<td nowrap><input type=radio name=ufs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"checked" : "";
	printf "<input type=radio name=ufs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) || defined($options{"rq"}) ?
			"" : "checked";

	print "<tr> <td><b>Action on error</b></td>\n";
	print "<td><select name=ufs_onerror>\n";
	foreach ('panic', 'lock', 'umount', 'repair') {
		printf "<option value=\"$_\" %s> $_\n",
		 $options{onerror} eq $_ ||
		 !defined($options{onerror}) && $_ eq "panic" ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Repair Delay</b></td>\n";
	$options{toosoon} =~ /([0-9]+)([A-z])/;
	print "<td nowrap><input size=5 name=ufs_toosoon_time value=$1>\n";
	print "<select name=ufs_toosoon_units>\n";
	printf "<option value=s %s> Seconds\n", $2 eq "s" ? "selected" : "";
	printf "<option value=m %s> Minutes\n", $2 eq "m" ? "selected" : "";
	printf "<option value=h %s> Hours\n", $2 eq "h" ? "selected" : "";
	printf "<option value=d %s> Days\n", $2 eq "d" ? "selected" : "";
	printf "<option value=w %s> Months\n", $2 eq "w" ? "selected" : "";
	printf "<option value=y %s> Years\n", $2 eq "y" ? "selected" : "";
	print "</select></td> </tr>\n";

	if ($gconfig{'os_version'} >= 7) {
		print "<tr> <td><b>Update access times?</b></td> <td>\n";
		printf "<input type=radio name=ufs_noatime value=0 %s> Yes\n",
			defined($options{'noatime'}) ? "" : "checked";
		printf "<input type=radio name=ufs_noatime value=1 %s> No\n",
			defined($options{'noatime'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Force direct IO?</b></td> <td>\n";
		printf "<input type=radio name=ufs_force value=1 %s> Yes\n",
			defined($options{'forcedirectio'}) ? "checked" : "";
		printf "<input type=radio name=ufs_force value=0 %s> No\n",
			defined($options{'forcedirectio'}) ? "" : "checked";
		print "</td> </tr>\n";

		print "<tr> <td><b>Allow large files?</td> <td>\n";
		printf "<input type=radio name=ufs_nolarge value=0 %s> Yes\n",
			defined($options{'nolargefiles'}) ? "" : "checked";
		printf "<input type=radio name=ufs_nolarge value=1 %s> No\n",
			defined($options{'nolargefiles'}) ? "checked" : "";
		print "</td>\n";

		print "<td><b>Enabled logging?</td> <td>\n";
		printf "<input type=radio name=ufs_logging value=1 %s> Yes\n",
			defined($options{'logging'}) ? "checked" : "";
		printf "<input type=radio name=ufs_logging value=0 %s> No\n",
			defined($options{'logging'}) ? "" : "checked";
		print "</td> </tr>\n";
		}
	}
if ($_[0] eq "hsfs") {
	# UnixWare hsfs is used for CDROMs
	print "<tr> <td><b>Ignore Unix attributes?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nrr value=1 %s> Yes\n",
		defined($options{"nrr"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nrr value=0 %s> No</td>\n",
		defined($options{"nrr"}) ? "" : "checked";

	print "<td><b>Ignore trailing dot?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_notraildot value=1 %s> Yes\n",
		defined($options{"notraildot"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_notraildot value=0 %s> No</td> </tr>\n",
		defined($options{"notraildot"}) ? "" : "checked";

	print "<tr> <td><b>Use lower case?</b></td>\n";
	printf "<td nowrap><input type=radio name=hsfs_nomaplcase value=0 %s> Yes\n",
		defined($options{"nomaplcase"}) ? "" : "checked";
	printf "<input type=radio name=hsfs_nomaplcase value=1 %s> No</td>\n",
		defined($options{"nomaplcase"}) ? "checked" : "";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf"<td nowrap><input type=radio name=hsfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=hsfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "pcfs") {
	# UnixWare pcfs for for FAT filesystems. It doesn't have many options
	print "<tr> <td width=25%><b>Read Only?</b></td> <td width=25%>\n";
	printf "<input type=radio name=pcfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=pcfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	if ($gconfig{'os_version'} >= 7) {
		print "<td><b>Force lower case?</b></td> <td>\n";
		printf "<input type=radio name=pcfs_foldcase value=1 %s> Yes\n",
			defined($options{'foldcase'}) ? "checked" : "";
		printf "<input type=radio name=pcfs_foldcase value=0 %s> No\n",
			defined($options{'foldcase'}) ? "" : "checked";
		print "</td>\n";
		}
	else {
		print "<td colspan=2></td> </tr>\n";
		}
	}
if ($_[0] eq "vxfs") {
	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=jfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=jfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";

	print "<tr> <td><b>Full integrity for all Metadata?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_log value=1 %s> Yes\n",
		defined($options{"log"}) ? "checked" : "";
	printf "<input type=radio name=jfs_log value=0 %s> No</td>\n",
		defined($options{"log"}) ? "" : "checked";

	print "<td><b>Synchronous-write data logging?</b></td>\n";
	printf "<td nowrap><input type=radio name=jfs_syncw value=1 %s> Yes\n",
		!defined($options{"nodatainlog"}) ? "checked" : "";
	printf "<input type=radio name=jfs_syncw value=0 %s> No</td> </tr>\n",
		!defined($options{"nodatainlog"}) ? "" : "checked";

        print "<tr> <td><b>Enable quotas at boot time?</b></td>\n";
        printf "<td nowrap><input type=radio name=jfs_quota value=1 %s> Yes\n",
		defined($options{"quota"}) ? "checked" : "";
        printf "<input type=radio name=jfs_quota value=0 %s> No</td> </tr>\n",
		defined($options{"quota"}) ? "" : "checked";
	}
if ($_[0] eq "lofs") {
	# No options as far as I know
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "tmpfs") {
	# UnixWare tmpfs (virtual memory) filesystem.
	print "<tr> <td><b>Size</b>&nbsp;&nbsp;&nbsp;</td>\n";
	printf"<td><input type=radio name=tmpfs_size_def value=1 %s> Maximum\n",
		defined($options{"size"}) ? "" : "checked";
	printf"&nbsp;&nbsp;<input type=radio name=tmpfs_size_def value=0 %s>\n",
		defined($options{"size"}) ? "checked" : "";
	($tmpsz = $options{size}) =~ s/[A-z]+$//g;
	print "<input name=tmpfs_size size=6 value=\"$tmpsz\">\n";
	print "<select name=tmpfs_unit>\n";
	printf "<option value=m %s> MB\n",
		$options{"size"} =~ /m$/ ? "selected" : "";
	printf "<option value=k %s> kB\n",
		$options{"size"} =~ /k$/ ? "selected" : "";
	printf "<option value=b %s> bytes\n",
		$options{"size"} !~ /(k|m)$/ ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>Disallow setuid programs?</b></td> <td nowrap>\n";
	printf "<input type=radio name=tmpfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=tmpfs_nosuid value=0 %s> No</td>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	print "</tr>\n";
	}
if ($_[0] eq "swap") {
	# UnixWare swap has no options
	print "<tr> <td><i>No Options Available</i></td> </tr>\n";
	}
if ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options.. cachefs mounts can
	# be of an existing 'manually' mounted back filesystem, or of a
	# back-filesystem that has been automatically mounted by the cache.
	# The user should never see the automatic mountings made by cachefs.
	print "<tr> <td><b>Real filesystem type</b></td>\n";
	print "<td nowrap><select name=cfs_backfstype>\n";
	if (!defined($options{backfstype})) { $options{backfstype} = "nfs"; }
	foreach (&list_fstypes()) {
		if ($_ eq "cachefs") { next; }
		printf "<option value=\"$_\" %s>$_\n",
			$_ eq $options{backfstype} ? "selected" : "";
		}
	print "</select></td>\n";

	print "<td><b>Real mount point</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_noback value=1 %s> Automatic\n",
		defined($options{"backpath"}) ? "" : "checked";
	printf "<input type=radio name=cfs_noback value=0 %s>\n",
		defined($options{"backpath"}) ? "checked" : "";
	print "<input size=10 name=cfs_backpath value=\"$options{backpath}\"></td> </tr>\n";

	print "<tr> <td><b>Cache directory</b></td>\n";
	printf "<td nowrap><input size=10 name=cfs_cachedir value=\"%s\"></td>\n",
		defined($options{"cachedir"}) ? $options{"cachedir"} : "/cache";

	print "<td><b>Write mode</b></td>\n";
	printf"<td nowrap><input type=radio name=cfs_wmode value=0 %s> Write-around\n",
		defined($options{"non-shared"}) ? "" : "checked";
	printf "<input type=radio name=cfs_wmode value=1 %s> Non-shared\n",
		defined($options{"non-shared"}) ? "checked" : "";
	print "</td> </tr>\n";

	print "<tr> <td><b>Consistency check</b></td>\n";
	print "<td><select name=cfs_con>\n";
	print "<option value=1> Periodically\n";
	printf "<option value=0 %s> Never\n",
		defined($options{"noconst"}) ? "selected" : "";
	printf "<option value=2 %s> On demand\n",
		defined($options{"demandconst"}) ? "selected" : "";
	print "</select></td>\n";

	print "<td><b>Check permissions in cache?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_local value=1 %s> Yes\n",
		defined($options{"local-access"}) ? "checked" : "";
	printf "<input type=radio name=cfs_local value=0 %s> No</td> </tr>\n",
		defined($options{"local-access"}) ? "" : "checked";

	print "<tr> <td><b>Read-Only?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_ro value=1 %s> Yes\n",
		defined($options{"ro"}) ? "checked" : "";
	printf "<input type=radio name=cfs_ro value=0 %s> No</td>\n",
		defined($options{"ro"}) ? "" : "checked";

	print "<td><b>Disallow setuid programs?</b></td>\n";
	printf "<td nowrap><input type=radio name=cfs_nosuid value=1 %s> Yes\n",
		defined($options{"nosuid"}) ? "checked" : "";
	printf "<input type=radio name=cfs_nosuid value=0 %s> No</td> </tr>\n",
		defined($options{"nosuid"}) ? "" : "checked";
	}
if ($_[0] eq "autofs") {
	# Autofs has lots of options, depending on the type of file
	# system being automounted.. the fstype options determines this
	local($fstype);
	$fstype = $options{fstype} eq "" ? "nfs" : $options{fstype};
	if ($gconfig{'os_version'} >= 2.6) {
		print "<tr> <td><b>Browsing enabled?</b></td> <td>\n";
		printf "<input type=radio name=auto_nobrowse value=0 %s> Yes\n",
			defined($options{'nobrowse'}) ? "" : "checked";
		printf "<input type=radio name=auto_nobrowse value=1 %s> No\n",
			defined($options{'nobrowse'}) ? "checked" : "";
		print "</td> <td colspan=2></td> </tr>\n";
		}
	&generate_options($fstype);
	print "<input type=hidden name=autofs_fstype value=\"$fstype\">\n";
	}
if ($_[0] eq "rumba") {
	# SMB filesystems have a few options..
	print "<tr> <td><b>Server Hostname</b></td>\n";
	printf "<td><input type=radio name=rumba_mname_def value=1 %s> Automatic\n",
		defined($options{"machinename"}) ? "" : "checked";
	printf "<input type=radio name=rumba_mname_def value=0 %s>\n",
		defined($options{"machinename"}) ? "checked" : "";
	print "<input size=10 name=rumba_mname value=\"$options{machinename}\"></td>\n";

	print "<td><b>Client Name</b></td>\n";
	printf "<td><input type=radio name=rumba_cname_def value=1 %s> Automatic\n",
		defined($options{"clientname"}) ? "" : "checked";
	printf "<input type=radio name=rumba_cname_def value=0 %s>\n",
		defined($options{"clientname"}) ? "checked" : "";
	print "<input size=10 name=rumba_cname value=\"$options{clientname}\"></td> </tr>\n";

	print "<tr> <td><b>Login Name</b></td>\n";
	print "<td><input name=rumba_username size=15 value=\"$options{username}\"></td>\n";

	print "<td><b>Login Password</b></td>\n";
	print "<td><input type=password name=rumba_password size=15 value=\"$options{password}\"></td> </tr>\n";

	print "<tr> <td><b>User files are owned by</b></td>\n";
	printf "<td><input name=rumba_uid size=8 value=\"%s\">\n",
		defined($options{'uid'}) ? getpwuid($options{'uid'}) : "";
	print &user_chooser_button("rumba_uid", 0),"</td>\n";

	print "<td><b>Group files are owned by</b></td>\n";
	printf "<td><input name=rumba_gid size=8 value=\"%s\">\n",
		defined($options{'gid'}) ? getgrgid($options{'gid'}) : "";
	print &group_chooser_button("rumba_gid", 0),"</td>\n";

	print "<tr> <td><b>File permissions</b></td>\n";
	printf "<td><input name=rumba_fmode size=5 value=\"%s\"></td>\n",
		defined($options{fmode}) ? $options{fmode} : "755";

	print "<td><b>Directory permissions</b></td>\n";
	printf "<td><input name=rumba_dmode size=5 value=\"%s\"></td> </tr>\n",
		defined($options{dmode}) ? $options{dmode} : "755";

	print "<tr> <td><b>Read/write access is safe?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readwrite value=1 %s> Yes\n",
		defined($options{"readwrite"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readwrite value=0 %s> No</td>\n",
		defined($options{"readwrite"}) ? "" : "checked";

	print "<td><b>Files can be read-only?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_readonly value=1 %s> Yes\n",
		defined($options{"readonly"}) ? "checked" : "";
	printf "<input type=radio name=rumba_readonly value=0 %s> No</td> </tr>\n",
		defined($options{"readonly"}) ? "" : "checked";

	print "<tr> <td><b>Send password in upper case?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_noupper value=0 %s> Yes\n",
		defined($options{"noupper"}) ? "" : "checked";
	printf "<input type=radio name=rumba_noupper value=1 %s> No</td>\n",
		defined($options{"noupper"}) ? "checked" : "";

	print "<td><b>Use attrE commands?</b></td>\n";
	printf"<td nowrap><input type=radio name=rumba_attr value=1 %s> Yes\n",
		defined($options{"attr"}) ? "checked" : "";
	printf "<input type=radio name=rumba_attr value=0 %s> No</td> </tr>\n",
		defined($options{"attr"}) ? "" : "checked";
	}
}


# check_location(type)
# Parse and check inputs from %in, calling &error() if something is wrong.
# Returns the location string for storing in the fstab file
sub check_location
{
if ($_[0] eq "nfs") {
	local($out, $temp, $mout, $dirlist);

	if ($in{'nfs_serv'} == 1) {
		# multiple servers listed.. assume the user has a brain
		return $in{'nfs_list'};
		}
	elsif ($in{'nfs_serv'} == 2) {
		# NFS url.. check syntax
		if ($in{'nfs_url'} !~ /^nfs:\/\/([^\/ ]+)(\/([^\/ ]*))?$/) {
			&error("'$in{'nfs_url'}' is not a valid NFS URL");
			}
		return $in{'nfs_url'};
		}

	# Use dfshares to see if the host exists and is up
	if ($in{nfs_host} !~ /^\S+$/) {
		&error("'$in{nfs_host}' is not a valid hostname");
		}
	$out = `dfshares '$in{nfs_host}' 2>&1`;
	if ($out =~ /Unknown host/) {
		&error("The host '$in{nfs_host}' does not exist");
		}
	elsif ($out =~ /Timed out/) {
		&error("The host '$in{nfs_host}' is down or does not ".
		       "support NFS");
		}
	elsif ($out =~ /Program not registered/) {
		&error("The host '$in{nfs_host}' does not support NFS");
		}

	# Try a test mount to see if filesystem is available
	foreach (split(/\n/, $out)) {
		if (/^\s*([^ :]+):(\/\S+)\s+/) { $dirlist .= "$2\n"; }
		}
	if ($in{nfs_dir} !~ /^\S+$/) {
		&error("'$in{nfs_dir}' is not a valid directory name. The ".
		       "available directories on $in{nfs_host} are:".
		       "<pre>$dirlist</pre>");
		}
	$temp = &tempname();
	mkdir($temp, 0755);
	$mout = `mount $in{nfs_host}:$in{nfs_dir} $temp 2>&1`;
	if ($mout =~ /No such file or directory/) {
		rmdir($temp);
		&error("The directory '$in{nfs_dir}' does not exist on the ".
		       "host $in{nfs_host}. The available directories are:".
		       "<pre>$dirlist</pre>");
		}
	elsif ($mout =~ /Permission denied/) {
		rmdir($temp);
		&error("This host is not allowed to mount the directory ".
		       "$in{nfs_dir} from $in{nfs_host}");
		}
	elsif ($?) {
		rmdir($temp);
		&error("NFS Error - $mout");
		}
	# It worked! unmount
	`umount $temp`;
	rmdir($temp);
	return "$in{nfs_host}:$in{nfs_dir}";
	}
elsif ($_[0] eq "ufs") {
	# Get the device name
	if ($in{ufs_dev} == 0) {
		$in{ufs_c} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_c}' is not a valid SCSI controller");
		$in{ufs_t} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_t}' is not a valid SCSI target");
		$in{ufs_d} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_d}' is not a valid SCSI unit");
		$in{ufs_s} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{ufs_c}t$in{ufs_t}d$in{ufs_d}s$in{ufs_s}";
		}
	elsif ($in{ufs_dev} == 1) {
		$in{ufs_md} =~ /^[0-9]+$/ ||
			&error("'$in{ufs_md}' is not a valid RAID unit");
		$dv = "/dev/md/dsk/d$in{ufs_md}";
		}
	else {
		$in{ufs_path} =~ /^\/\S+$/ ||
			&error("'$in{ufs_path}' is not a valid pathname");
		$dv = $in{ufs_path};
		}

	&fstyp_check($dv, "ufs");
	return $dv;
	}
elsif ($_[0] eq "vxfs") {
	# Get the device name
	if ($in{jfs_dev} == 0) {
		$in{jfs_c} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_c}' is not a valid SCSI controller");
		$in{jfs_t} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_t}' is not a valid SCSI target");
		$in{jfs_d} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_d}' is not a valid SCSI unit");
		$in{jfs_s} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_s}' is not a valid SCSI partition");
		$dv = "/dev/dsk/c$in{jfs_c}t$in{jfs_t}d$in{jfs_d}s$in{jfs_s}";
		}
	elsif ($in{jfs_dev} == 1) {
		$in{jfs_vg} =~ /^[0-9]+$/ ||
			&error("'$in{jfs_vg}' is not a valid Volume Group");
		$in{jfs_lv} =~ /^\S+$/ ||
			&error("'$in{jfs_lv}' is not a valid Logical Volume");
		$dv = "/dev/vg$in{jfs_vg}/$in{jfs_lv}";
		}
	else {
		$in{jfs_path} =~ /^\/\S+$/ ||
			&error("'$in{jfs_path}' is not a valid pathname");
		$dv = $in{jfs_path};
		}

	&fstyp_check($dv, "vxfs");
	return $dv;
	}
elsif ($_[0] eq "lofs") {
	# Get and check the original directory
	$dv = $in{'lofs_src'};
	if (!(-r $dv)) { &error("'$in{lofs_src}' does not exist"); }
	if (!(-d $dv)) { &error("'$in{lofs_src}' is not a directory"); }
	return $dv;
	}
elsif ($_[0] eq "swap") {
	if ($in{swap_dev} == 0) {
		$in{swap_c} =~ /^[0-9]+$/ ||
			&error("'$in{swap_c}' is not a valid SCSI controller");
		$in{swap_t} =~ /^[0-9]+$/ ||
			&error("'$in{swap_t}' is not a valid SCSI target");
		$in{swap_d} =~ /^[0-9]+$/ ||
			&error("'$in{swap_d}' is not a valid SCSI unit");
		$in{swap_s} =~ /^[0-9]+$/ ||
			&error("'$in{swap_s}' is not a valid SCSI partition");
		$dv="/dev/dsk/c$in{swap_c}t$in{swap_t}d$in{swap_d}s$in{swap_s}";
		}
	else { $dv = $in{swap_path}; }

	if (!open(SWAPFILE, $dv)) {
		if ($! =~ /No such file/ && $in{swap_dev}) {
			if ($dv !~ /^\/dev/) {
				&swap_form($dv);
				}
			else {
				&error("The swap file '$dv' does not exist");
				}
			}
		elsif ($! =~ /No such file/) {
			&error("The SCSI target '$in{swap_t}' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The partition '$in{swap_s}' does not exist");
			}
		else {
			&error("Failed to open '$dv' : $!");
			}
		}
	close(SWAPFILE);
	return $dv;
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have no location
	return "swap";
	}
elsif ($_[0] eq "cachefs") {
	# In order to check the location for the caching filesystem, we need
	# to check the back filesystem
	if (!$in{cfs_noback}) {
		# The back filesystem is manually mounted.. hopefully
		local($bidx, @mlist, @binfo);
		$bidx = &get_mounted($in{cfs_backpath}, "*");
		if ($bidx < 0) {
			&error("The back filesystem '$in{cfs_backpath}' is ".
			       "not mounted");
			}
		@mlist = &list_mounted();
		@binfo = @{$mlist[$bidx]};
		if ($binfo[2] ne $in{cfs_backfstype}) {
			&error("The back filesystem is '$binfo[2]', not ".
			       "'$in{cfs_backfstype}'");
			}
		}
	else {
		# Need to automatically mount the back filesystem.. check
		# it for sanity first.
		# But HOW?
		$in{cfs_src} =~ /^\S+$/ ||
			&error("'$in{cfs_src}' is not a valid cache source");
		}
	return $in{cfs_src};
	}
elsif ($_[0] eq "autofs") {
	# An autofs filesystem can be either mounted from the special
	# -hosts and -xfn maps, or from a normal map. The map can be a file
	# name (if it starts with /), or an NIS map (if it doesn't)
	if ($in{autofs_type} == 0) {
		# Normal map
		$in{autofs_map} =~ /\S/ ||
			&error("You did not enter an automount map name");
		if ($in{autofs_map} =~ /^\// && !(-r $in{autofs_map})) {
			&error("The map file '$in{autofs_map}' does not exist");
			}
		return $in{autofs_map};
		}
	elsif ($in{autofs_type} == 1) {
		# Special hosts map (automount all shares from some host)
		return "-hosts";
		}
	else {
		# Special FNS map (not sure what this does)
		return "-xfn";
		}
	}
elsif ($_[0] eq "rumba") {
	# Cannot check much here..
	return "\\\\$in{rumba_server}\\$in{rumba_share}";
	}
}


# fstyp_check(device, type)
# Check if some device exists, and contains a filesystem of the given type,
# using the fstyp command.
sub fstyp_check
{
local($out, $part, $found);

# Check if the device/partition actually exists
if ($_[0] =~ /^\/dev\/dsk\/c(.)t(.)d(.)s(.)$/) {
	# mounting a normal scsi device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The SCSI target for '$_[0]' does not exist");
		}
	$part = $4;
	foreach (split(/\n/, $out)) {
		/^\s+([0-9]+)\s+([0-9]+)/;
		if ($1 == $part) {
			$found = 1; last;
			}
		}
	if (!$found) {
		&error("The SCSI partition for '$_[0]' does not exist");
		}
	}
elsif ($_[0] =~ /^\/dev\/md\/dsk\/d(.)$/) {
	# mounting a multi-disk (raid) device..
	$out = `prtvtoc -h $_[0] 2>&1`;
	if ($out =~ /No such file or directory|No such device or address/) {
		&error("The RAID device for '$_[0]' does not exist");
		}
	if ($out !~ /\S/) {
		&error("No partitions on '$_[0]' ??");
		}
	}
else {
	# Some other device
	if (!open(DEV, $_[0])) {
		if ($! =~ /No such file or directory/) {
			&error("The device file '$_[0]' does not exist");
			}
		elsif ($! =~ /No such device or address/) {
			&error("The device for '$_[0]' does not exist");
			}
		}
	close(DEV);
	}

# Check the filesystem type
$out = `fstyp $_[0] 2>&1`;
if ($out =~ /^([A-z0-9]+)\n$/) {
	if ($1 eq $_[1]) { return; }
	else {
		# Wrong filesystem type
		&error("The device '$_[0]' is formatted as a ".
		       &fstype_name($1));
		}
	}
else {
	&error("Failed to check filesystem type : $out");
	}
}


# check_options(type)
# Read options for some filesystem from %in, and use them to update the
# %options array. Options handled by the user interface will be set or
# removed, while unknown options will be left untouched.
sub check_options
{
local($k, @rv);
if ($_[0] eq "nfs") {
	# NFS has lots of options to parse
	if ($in{'nfs_ro'}) {
		# Read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# Read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}

	delete($options{'quota'}); delete($options{'noquota'});
	if ($in{'nfs_quota'}) { $options{'quota'} = ""; }

	delete($options{"nosuid"}); delete($options{"suid"});
	if ($in{nfs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"grpid"});
	if ($in{nfs_grpid}) { $options{"grpid"} = ""; }

	delete($options{"soft"}); delete($options{"hard"});
	if ($in{nfs_soft}) { $options{"soft"} = ""; }

	delete($options{"bg"}); delete($options{"fg"});
	if ($in{nfs_bg}) { $options{"bg"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{nfs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"vers"});
	if (!$in{nfs_vers_def}) { $options{"vers"} = $in{nfs_vers}; }

	delete($options{"proto"});
	if ($in{nfs_proto} ne "") { $options{"proto"} = $in{nfs_proto}; }

	delete($options{"port"});
	if (!$in{nfs_port_def}) { $options{"port"} = $in{nfs_port}; }

	delete($options{"timeo"});
	if (!$in{nfs_timeo_def}) { $options{"timeo"} = $in{nfs_timeo}; }

	delete($options{"secure"}); delete($options{"kerberos"});
	delete($options{"sec"});
	if ($gconfig{'os_version'} >= 2.6) {
		if ($in{'nfs_auth'}) { $options{'sec'} = $in{'nfs_auth'}; }
		}
	else {
		if ($in{'nfs_auth'} eq "dh") { $options{"secure"} = ""; }
		elsif ($in{'nfs_auth'} eq "krb") { $options{"kerberos"} = ""; }
		}

	if ($gconfig{'os_version'} >= 7) {
		delete($options{'public'});
		$options{'public'} = "" if ($in{'nfs_public'});
		}
	}
elsif ($_[0] eq "ufs") {
	# UFS also has lots of options..
	if ($in{ufs_ro}) {
		# read-only (and thus no quota)
		$options{"ro"} = ""; delete($options{"rw"});
		delete($options{"rq"}); delete($options{"quota"});
		}
	elsif ($in{ufs_quota}) {
		# read-write, with quota
		delete($options{"ro"}); $options{"rw"} = "";
		$options{"quota"} = "";
		}
	else {
		# read-write, without quota
		delete($options{"ro"}); $options{"rw"} = "";
		delete($options{"quota"});
		}

	delete($options{"nosuid"});
	if ($in{ufs_nosuid}) { $options{"nosuid"} = ""; }

	delete($options{"intr"}); delete($options{"nointr"});
	if ($in{ufs_nointr}) { $options{"nointr"} = ""; }

	delete($options{"onerror"});
	if ($in{ufs_onerror} ne "panic") {
		$options{"onerror"} = $in{ufs_onerror};
		}

	delete($options{"toosoon"});
	if ($in{ufs_toosoon_time}) {
		$options{"toosoon"} = $in{ufs_toosoon_time}.
				      $in{ufs_toosoon_units};
		}
	if ($gconfig{'os_version'} >= 7) {
		delete($options{'noatime'});
		$options{'noatime'} = "" if ($in{'ufs_noatime'});

		delete($options{'forcedirectio'});
		delete($options{'noforcedirectio'});
		$options{'forcedirectio'} = "" if ($in{'ufs_force'});

		delete($options{'nolargefiles'});delete($options{'largefiles'});
		$options{'nolargefiles'} = "" if ($in{'ufs_nolarge'});

		delete($options{'logging'}); delete($options{'nologging'});
		$options{'logging'} = "" if ($in{'ufs_logging'});
		}
	}
elsif ($_[0] eq "vxfs") {
	if ($in{jfs_ro}) {
		# read-only
		$options{"ro"} = ""; delete($options{"rw"});
		}
	else {
		# read-write
		$options{"rw"} = ""; delete($options{"ro"});
		}
	if ($in{jfs_nosuid}) {
		# nosuid
		$options{"nosuid"} = ""; delete($options{"suid"});
		}
	else {
		# suid
		$options{"suid"} = ""; delete($options{"nosuid"});
		}
	if ($in{jfs_log}) {
		# log
		$options{"log"} = ""; delete($options{"delaylog"});
		}
	else {
		# delaylog
		$options{"delaylog"} = ""; delete($options{"log"});
		}
	if ($in{jfs_syncw}) {
		# datainlog
		$options{"datainlog"} = ""; delete($options{"nodatainlog"});
		}
	else {
		# nodatainlog
		$options{"nodatainlog"} = ""; delete($options{"datainlog"});
		}
	if ($in{jfs_quota}) {
		# quota
		$options{"quota"} = "";
		}
	else {
		# noquota
		delete($options{"quota"});
		}
	}
elsif ($_[0] eq "lofs") {
	# Loopback has no options to parse
	}
elsif ($_[0] eq "swap") {
	# Swap has no options to parse
	}
elsif ($_[0] eq "pcfs") {
	# PCFS has only 2 options
	delete($options{'ro'}); delete($options{'rw'});
	$options{'ro'} = "" if ($in{'pcfs_rp'});

	delete($options{'foldcase'}); delete($options{'nofoldcase'});
	$options{'foldcase'} = "" if ($in{'pcfs_foldcase'});
	}
elsif ($_[0] eq "tmpfs") {
	# Ram-disk filesystems have only two options
	delete($options{"size"});
	if (!$in{"tmpfs_size_def"}) {
		$options{"size"} = "$in{tmpfs_size}$in{tmpfs_unit}";
		}

	delete($options{"nosuid"});
	if ($in{'tmpfs_nosuid'}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "cachefs") {
	# The caching filesystem has lots of options
	$options{"backfstype"} = $in{"cfs_backfstype"};

	delete($options{"backpath"});
	if (!$in{"cfs_noback"}) {
		# A back filesystem was given..  (alreadys checked)
		$options{"backpath"} = $in{"cfs_backpath"};
		}

	if ($in{"cfs_cachedir"} !~ /^\/\S+/) {
		&error("'$in{cfs_cachedir}' is not a valid cache directory");
		}
	$options{"cachedir"} = $in{"cfs_cachedir"};

	delete($options{"write-around"}); delete($options{"non-shared"});
	if ($in{"cfs_wmode"}) {
		$options{"non-shared"} = "";
		}

	delete($options{"noconst"}); delete($options{"demandconst"});
	if ($in{"cfs_con"} == 0) { $options{"noconst"} = ""; }
	elsif ($in{"cfs_con"} == 2) { $options{"demandconst"} = ""; }

	delete($options{"ro"}); delete($options{"rw"});
	if ($in{"cfs_ro"}) { $options{"ro"} = ""; }

	delete($options{"suid"}); delete($options{"nosuid"});
	if ($in{"cfs_nosuid"}) { $options{"nosuid"} = ""; }
	}
elsif ($_[0] eq "autofs") {
	# The options for autofs depend on the type of the automounted
	# filesystem.. 
	$options{"fstype"} = $in{"autofs_fstype"};
	if ($gconfig{'os_version'} >= 2.6) {
		delete($options{'nobrowse'}); delete($options{'browse'});
		$options{'nobrowse'} = "" if ($in{'auto_nobrowse'});
		}
	return &check_options($options{"fstype"});
	}
elsif ($_[0] eq "rumba") {
	# Options for smb filesystems..
	delete($options{machinename});
	if (!$in{rumba_mname_def}) { $options{machinename} = $in{rumba_mname}; }

	delete($options{clientname});
	if (!$in{rumba_cname_def}) { $options{clientname} = $in{rumba_cname}; }

	delete($options{username});
	if ($in{rumba_username}) { $options{username} = $in{rumba_username}; }

	delete($options{password});
	if ($in{rumba_password}) { $options{password} = $in{rumba_password}; }

	delete($options{uid});
	if ($in{rumba_uid} ne "") { $options{uid} = getpwnam($in{rumba_uid}); }

	delete($options{gid});
	if ($in{rumba_gid} ne "") { $options{gid} = getgrnam($in{rumba_gid}); }

	delete($options{fmode});
	if ($in{rumba_fmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_fmode}' is not a valid octal file mode");
		}
	elsif ($in{rumba_fmode} ne "755") { $options{fmode} = $in{rumba_fmode}; }

	delete($options{dmode});
	if ($in{rumba_dmode} !~ /^[0-7]{3}$/) {
		&error("'$in{rumba_dmode}' is not a valid octal directory mode");
		}
	elsif ($in{rumba_dmode} ne "755") { $options{dmode} = $in{rumba_dmode}; }

	delete($options{'readwrite'});
	if ($in{'rumba_readwrite'}) { $options{'readwrite'} = ""; }

	delete($options{'readonly'});
	if ($in{'rumba_readonly'}) { $options{'readonly'} = ""; }

	delete($options{'attr'});
	if ($in{'rumba_attr'}) { $options{'attr'} = ""; }

	delete($options{'noupper'});
	if ($in{'rumba_noupper'}) { $options{'noupper'} = ""; }
	}

# Return options string
foreach $k (keys %options) {
	if ($options{$k} eq "") { push(@rv, $k); }
	else { push(@rv, "$k=$options{$k}"); }
	}
return @rv ? join(',' , @rv) : "-";
}


# create_swap(path, size, units)
# Attempt to create a swap file 
sub create_swap
{
local($out);
$out = `mkfile $_[1]$_[2] $_[0] 2>&1`;
if ($?) {
	unlink($_[0]);
	return "mkfile failed : $out";
	}
return 0;
}


# exports_list(host, dirarray, clientarray)
# Fills the directory and client array references with exports from some
# host. Returns an error string if something went wrong
sub exports_list
{
local($dref, $cref, $out, $_);
$dref = $_[1]; $cref = $_[2];
$out = `showmount -e $_[0] 2>&1`;
if ($?) { return $out; }
foreach (split(/\n/, $out)) {
	if (/^(\/\S*)\s+(.*)$/) {
		push(@$dref, $1); push(@$cref, $2);
		}
	}
return undef;
}

# broadcast_addr()
# Returns a useable broadcast address for finding NFS servers
sub broadcast_addr
{
local($out);
$out = `ifconfig -a 2>&1`;
if ($out =~ /broadcast\s+(\S+)/) { return $1; }
return "255.255.255.255";
}

sub device_name
{
return $_[0];
}

sub files_to_lock
{
return ( $config{'fstab_file'}, $config{'autofs_file'} );
}

1;
0707010002fc67000081e40000000000000002000000013d1fe2bd000001a8000000200000000000000000000000000000001800000003reloc/mount/unmount.cgi   #!/usr/local/bin/perl
# unmount.cgi
# Unmount a currently mounted filesystem

require './mount-lib.pl';
&ReadParse();

@mounts = &list_mounts();
$mount = $mounts[$in{'index'}];
&error_setup(&text('unmount_err', $mount->[0]));
$err = &unmount_dir(@$mount);
&error($err) if ($err);
&webmin_log("umount", undef, undef, { 'dev' => $mount->[0],
				      'type' => $mount->[2],
				      'dir' => $mount->[1] });
&redirect("");

07070100036dbc000041ed0000000000000001000000373d1ffab400000000000000200000000000000000000000000000001000000003reloc/mscstyle3   0707010003839a000041ed0000000000000001000000033d1ffa9a00000000000000200000000000000000000000000000001400000003reloc/mscstyle3/acl   07070100039a01000041ed0000000000000001000000023d1ffa9a00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/acl/images    07070100039a02000081a40000000000000002000000013d1fe2e6000008e2000000200000000000000000000000000000002400000003reloc/mscstyle3/acl/images/icon.gif   GIF89a0 0 ç  úúù÷ööæææÌÊÇóòñÁº·ÊÂÀÂ¶²ÍÆÄàÞÞ½µ²ÓÎÌêæåÅÃÁÙÖÖëêéÞÚØÇ¾ºþþþÔÒÏïîíãâßÂ¾º®®®ž•‘©¨¨µ±°wxx¡œš”’’Š‰_[ZsmljjjH@9.+*VVV"""@@@654fffÝÒÍ>86oegOLL&&&~~~




¢¢¢ÒÊÇ*†…Š

AGJ$"62**F2:‚
"22
>$$r>L^5??+ŽV">^.*~6JŽ87†<8ƒGEdBjCj.¤x„2<4•BM’B7…43\\NJ€hd9ŽXRN2*:"–(#ˆ6*“8A“23™>@”96z&Q
DRk+"gc¶ššz=.›OLš>Nœ89nu$$ƒ,-ž8Jºv~@œGG–.?”./„,f"¦2F¤-7œ22B2šJq#:’FBˆB>©<?²::6nN&v2jŠ*N*lJ&JW>;<$b‚N~¶‚žº~‚à³¦í¼¨ñ³·8
‚b†ìÀÌ†VZÑ«ŸëÆ¬òÁ´ì¼¼FJ("ª^RÒÂ².jx¦Ý²Ç±‡ƒè´ª.©KI&\Ü¼Ø]YöÒÊÞºšýÌµb2&¢<DN=®Ž‚Ô¼¸ìÂ²áª¦|Ž""n†‚Î¶¢ÂvâÒ¶âÊšrN:Êœ’®rfæÎ¢ìÌ°Ý½¯öºÀã¿¨>vF:&ŽPBfæÎÒø¾ÀûÄ¿äž¤^N–ÞÆÞå»½ø´¸ñÌÅùÁ«hB<Î¢’’ac.z^ŠòÁ¿¤†¬Ü¼Â::ÎÂÒÞÎ²¶–ŽæÊºZ"6äÆ¾²ŽžB6F.JH2Žê²ÆöÊâÖ²Î^V²Ê’Êÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	8@ ‚*\ÈP¡€#JœH À?3jHÀÀ	0n©@ hààÁA’0	 €€   "Ìt	 fF“ ¤”@4 LHð€|*¤€ ‚( @”@…H-X°È°gÏ‰@à†Þò$*!dx9ÐÁ<hˆñA„ *`ø "„ˆITxÀ Æ$J\x¶	'B H`À 	TS¨X±‚E	DÐ ÁÅ‹0XÄˆñ¯Œ3hÀè€64 °¡†Ýl>@p#ŒºcŒ@(ÆŒ$6þ7Á*y 
ÔÀá|Ä€Rx Ñ"Ç÷Ýv¡#ÆŒQð[, Áˆ°‚8ÌàPà6Ô°[Ñ	´	ßÑàAC€@Z´ÀØ@C6|` Œ&ìFÃ	ü 	#¬B¥‰Yà’xÅ…8Œ`à·Å Â1¬ØBÿdpÂ
»y ÁBL A„XA@Á@&	9è C0§Âw. \•,x Z4ÐpD
 ÀGci`@$µÀ ø`a <€ÂßqÀÙÅðÃ#°@C	2äXR <@”	œ
 L þÏ‰PÀm9¬°–Ùá°B	:ÌÐÂ	0A1Ä@`ª;¤Ê,XÐA…µ’pB3|PÓ -Ä@DF„I$ÁÃ"‘„Kè0UH,làÀ °0²`,@L4á„O@…S(AÅýP…W`Ð V“)D°€·-è\%`@¼Y¤lZl±°\tQE^|aˆp•Âª(Pžì]˜Ã!>0V”ag˜†i¤¡Æl°ÑÆn¼B ”ÊjO°\Vè¦,ÕqÈaÆsÌA‡QDÁ…þuØqfà‘GB2eŒ“)¤Õ€#œÐø P€zTÇgDQ7x¤Egô¸føá‡B8@Ô¨DALPâÛ˜AõxàH ‚ÐA‡ }Ü!Ev€Qñ2 t\@ˆ5“SƒAH!†lqH}ˆðˆ$‚R„óBì`ÒÆ|U€ÿh…"X,R#Œ¨Ñˆ#| ]3Há\(CC0Ø%` 
 Î’G`ÃÚ	IØa“H
4œaa€À€XD$ %*a‰K`"šÈ61˜mAþZØCøQ(À ™ˆ"8Ñ	O|¡Å(H)”B\¡ ˆ²@À„™È)P‘ŠO¨B¡X+Úpˆ=¤á“(ú ˆV”e)qÅ+® ‹X˜B³x-&aÂZÈáRD@DÁ‰Øâ·ÀE.tŠ]°âvàE/‡Zô¡}ð…Tò`˜‚£ÃWA6tPÁîËQ"ÄÂ1`LˆB»(Æ'ŒÑÁ(ìa
]è‚!lI&XàÈøD2:¡ŒNˆBËx"±†.0ƒÍØ3âŒg@#ÑÆ.¦¡	e(C°ØÄ&X±	0¬a8Äç@¨QkDCÓ˜Æ54¡N5"	ógô)&p™È†&®qidbÚØF1¸ÁŠn,”¡õF'2!lPô˜XÆ,V*%ˆ¤G8@‘Uh"¡˜(d‘‰U€â/…©@la,Ø…4 	ŠL\#¹ ‚PâŠqD€ä0E9Þ‰e˜#Öø„7Œ0Uœã¬ç@Ç-¸!k¤#êX‡\Ëª,¸ãð+8èºG¼ãëàkC(qV† ;  0707010003b213000041ed0000000000000001000000033d1ffa9a00000000000000200000000000000000000000000000001700000003reloc/mscstyle3/apache    0707010003f63f000041ed0000000000000001000000023d1ffa9a00000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/apache/images 0707010003f640000081a40000000000000002000000013d1fe2e600000240000000200000000000000000000000000000002700000003reloc/mscstyle3/apache/images/icon.gif    GIF89a0 0 ¥  ðlpª,Þ4Æ#qÝ nß §ä Û¼4»œÀ± çS–'	A[ê% Éw 4ÀÀÀUZ^`ccsttIKI€€~ŒŒ‹Ú½¤‰jXVUS¨˜~ñÛ»ljg›š™º¹¸êÂ¥j<Ó}Hì§}ßCÕÊÊÊªªª   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ? ,    0 0  þÀŸpH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïd‰Úœ„ÀD/‘Êˆçã9 t&%#^''))‚u!_()‘‚†˜Z	 ¡	“ƒ%»$ˆR (	¯ž´¶Æ”–„‡RÂ¼Å£
²ËÆ	€ç ©LŠ "tçÙ·	
Éáþã€´È€áÎ&ˆà-›³?ån9X ‹_?ãF`ØøKÉ	M.,AšI‡ÚêÕ»UOR0a®KrÂ
rJÁ³^É’&OšÊ¶qã5M>²¢RÂ„œ<ðÔeb€€ &hÝÊS„‡	Þ@i‡BØ…nRø:¡­[§¢z i–vÁÊêÝ¢/EkL¸°áÃˆ+^Ì¸±ãÄA  ;07070100040dd7000041ed0000000000000001000000033d1ffa9b00000000000000200000000000000000000000000000001800000003reloc/mscstyle3/apache2   070701000425b4000041ed0000000000000001000000023d1ffa9b00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/apache2/images    070701000425b5000081a40000000000000002000000013d1fe2e700000240000000200000000000000000000000000000002800000003reloc/mscstyle3/apache2/images/icon.gif   GIF89a0 0 ¥  ðlpª,Þ4Æ#qÝ nß §ä Û¼4»œÀ± çS–'	A[ê% Éw 4ÀÀÀUZ^`ccsttIKI€€~ŒŒ‹Ú½¤‰jXVUS¨˜~ñÛ»ljg›š™º¹¸êÂ¥j<Ó}Hì§}ßCÕÊÊÊªªª   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù  ? ,    0 0  þÀŸpH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïd‰Úœ„ÀD/‘Êˆçã9 t&%#^''))‚u!_()‘‚†˜Z	 ¡	“ƒ%»$ˆR (	¯ž´¶Æ”–„‡RÂ¼Å£
²ËÆ	€ç ©LŠ "tçÙ·	
Éáþã€´È€áÎ&ˆà-›³?ån9X ‹_?ãF`ØøKÉ	M.,AšI‡ÚêÕ»UOR0a®KrÂ
rJÁ³^É’&OšÊ¶qã5M>²¢RÂ„œ<ðÔeb€€ &hÝÊS„‡	Þ@i‡BØ…nRø:¡­[§¢z i–vÁÊêÝ¢/EkL¸°áÃˆ+^Ì¸±ãÄA  ;07070100046be8000041ed0000000000000001000000033d1ffa9b00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/bind8 070701000482ae000041ed0000000000000001000000023d1ffa9b00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/bind8/images  070701000482af000081a40000000000000002000000013d1fe2e6000008ca000000200000000000000000000000000000002600000003reloc/mscstyle3/bind8/images/icon.gif GIF89a0 0 ç  :R–®!ââ–ª¢“ÌCU¢ž^šÂÊzŠ"€->†¾ÊÂ~fµ­sºš¾…„Â2žÇ·RÒàî\d’©l¢"4}—†¸¸ÊtzžŽ†¶þöÆ¢š>~2rÊªÒ®vªæáÖÖÌ¥NVŽ¯‘êÖ¾çðúš2’ZfšV^†Š‚B(2l¯§OÅ¶sVZŽ«¸ÐÂÀÜ~.z¨–%–’ÊßØ :”¶²ºäÞµ ’
Öâþ›T“Ê²F¾†·ÕÆâØÂøðÃŸ‚îþö¶²šÖ¶Î¬®À¶§c¿Ÿ1ªªºøòè6@ƒìáò¸n°äã¼à¢ÔÄÀ|šNŽ‘3ˆ¾ŽµNU ÚÖ¦ Š(’b†Š{Ž^’¨d¦×Ê‹À®D´DªðéÖ6F‚ÌÂgœšÂÝ»ÛŠ†"¸š ‰µ BææÌÓÚêÎÀt¶•?gq¢üùê»ºi®A©òÊâ¸§DS]¤Î®Æëâ¹È¶`Æš¾ÊÖÎßÆÜãÐ™òæô~Ž®ªR¦ûéÝpx”…´Í”Ê¤¥ÚÊÂ¾ÆæÎ¹tÇoºàÒ£?íÖëª›2Ï†ÌæÊæÔÆn²¦*Æ®uÈ¼cæÙ¸ßª×ÛÏ¤Ž’|•>ŽîèÆš’*êîâžB˜Ö¦Õ®¼îÈÌèÅv¹¿¢G°‘)¹0Æ²Nöî¦û×÷¯¢5©4 äØªt}¶:A™îðú¼°c¢*š.NšÀ¸µ\¯êÞÌis²½ÂÙÙÎ‚ˆ’Ì^a¦×Âz²¢^19’¿¯LÆž¶¿¨GÊ¾™üüÛ¡ˆ©N¢AMœ~†¼ÜÏœíæ¼è®Ø‘“ÁþëþÎÆä¡¢ÆÚÎÞ¢–V°–+ªŸR›~	É¯a9JŸÊÓì²›3¬¬Ò¨’"ÑÆ{¹»Ûèß§Á–»ÞÚÊ¶e­|tRf²Zbº²®’ÒžÍÝ±ØªJª¢”9¨‰ÆÂž˜…'¸ªV·T«&>™·£5ëÞ¹îÆæ™‹.`i®º¶ŠãØžÆª6®I¡ýñÞþþêò¦âÏ»hëÚ¥Ö²^Ì¶j¨%å¼ÝVb§Á°XðèÌüãúôïÛØÈ@B†ÎÂ†öæ¶ÖÊšåÓåÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>\3/‰bÓ‰‘§lÑîe„XgÐ  ÑP%™6í¤G2¬ãoN¶={t$Át‡R®nd26§â’B…’¤J¥NM‰="	˜:Uh°¢•°£Ä\S (QJ•ªL“ó–x»ÇC“\jL™zAÀ?³#‘¬ñâ«Š¯¨ØšÌ˜A ATeíæõDÑ¶ƒ¬he*‡9u«fFK9/Ù°eMÁJmN -©{W3Æ'SæÃ†UÒ–¹J€JRÐ,ÞŒ÷æxñ‚¦T^Õ€ªÒ;±âŒÃ¢µ+ˆ# pœ”PãÀ`âŒhþK¢Î	×Õèðä‰Ð‚ZzõGgG·÷6zbÔ`ï„û”±Bi”rAHÐ²Ä
ÈË°ÄÃI)p\ÁÏ-”BÈ
„Ïi±H°ÀQÏŠ¥ÄË‚CÈoˆ5äÈK#W8Ã…"ŠD0K-™,#Ž8`8‚Ë2 ÊdÄ½ ƒN#­\ñ#¥ù‘Å€ÁšøàM#ÝXÃ ïÒH#ÎìÃ+À‘DlÆ2òpc75ŒôA‘ô¢:rE>W”G"õÌIä&f#Hü1’4×(h(ïÐÁË‰ºsˆ;µäA&b,óI30Ø C)þ±#;Ýôð†=ª„¢æ¡bxSê#À°Œ
blPL3J–È>}`„ÆˆãŒÍïä³7ß¬°B#}”ãCËh"B3¸„†`ôd/o¼H(tl`Œ*ìÈ†%âƒ8„à©$ºÀŽq¬A>ZZÃ;èpñEÿ €"ýà,™H‚H1ŽÈÓ7>óˆ4-ˆÐ³ø(<ŽÎ´BeLÔòÇb¤Æ&„4ÓŒ<¸øò#¡D‚2zä!ô|`Ð:ZŒñÆ8D1B>ñ ƒL"ð`ƒ>g¢É20H!E!û`Kx—˜c=gˆR,
¤@AhaÓJ ÍþÔ8Â€7`D Bçt“ˆ1Ÿ†#aCÍ#@ôg´A.È2ŠÜOb»ã,èhðp…@¬°	ÅxF9ÛC³‹(«˜óJºŒ"K8–(ÓB‰ZØ£0:ÐÈÀ¾ÿ°‚-ÿØSŠ D˜¡	«”ÓÊ-ë0#Ì/z<À;,´a@2ÉT .x @Í6=ð#m( 4BÇ>WH‰Lß˜Ó'`§	GpÃÂøP€_¸âú°†9Â€ œ"á€ ;Øq‹[ÜÊã…d@¥C”áU«Ç7Ø°‰e,ƒŽpD1|`%Ìàƒ0VÁ	äþgXß)Pè	dcÀ4ÐÑŠ|äã„ŠPÑŠd3¸àFl0„(ƒÌèB”6g OG( A&1	%(!
QD+œáŒ2üÈ`C&j‘½bà‚ga Œ€‘Ñ=Ú …-ñë¨|BH‡@ôã
°(C"@$qdÅ(†&¸!*€èdpÁ3øÀ(	ÂÈÃï’a L	è4FðŽP\aÈ2þ€Œq,†<fFDdH¥tÈ‡ìb«X…åØw°4â{³cÆyBdÌ‚(‡ Œ!ˆrPA[ÀXÀ
V\à]“FMz(`j,HÒ ƒå „;ªVL1áo@ú€ ‚‚7øÅ%À(¾.<àP ‡%ŒviHVáAâ¡ˆ±¥y†2üP€3´í¢pEDŒP
À`{çjÈ/ôñ€WÀÖH†,& ¼©‹G/ò„ì|˜Û?Z ‡K„è«`H@  ;  0707010004dd58000041ed0000000000000001000000033d1ffa9b00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/bsdexports    0707010004f461000041ed0000000000000001000000023d1ffa9b00000000000000200000000000000000000000000000002200000003reloc/mscstyle3/bsdexports/images 0707010004f462000081a40000000000000002000000013d1fe2e6000003df000000200000000000000000000000000000002b00000003reloc/mscstyle3/bsdexports/images/icon.gif    GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100050b2a000041ed0000000000000001000000033d1ffa9b00000000000000200000000000000000000000000000001900000003reloc/mscstyle3/cdbackup  070701000521fa000041ed0000000000000001000000023d1ffa9b00000000000000200000000000000000000000000000002000000003reloc/mscstyle3/cdbackup/images   070701000521fb000081a40000000000000002000000013d1fe2e600000909000000200000000000000000000000000000002900000003reloc/mscstyle3/cdbackup/images/icon.gif  GIF89a0 0 ç  fffš¾š¾ö¶®^fþÆ¾Ïö‚‚rrrºî²Ù¾oê‚~îÞ›ššþ¾¾ÂÈþ¾ººîºæÛNNNš²ŠÒÂšþ>æÖ„Ôþ¾þúúö†ŠºÚêjjjÂššö¾›žÎ¦=:.¿ºä‚âÒî¾âþ¾âê²êºŠþ’’ÊrvŠª’üÎÎ®chþÊ¿îêÎÒ¾–²ÖÖþ––®¾Úîþ¾æ¾~¢Â–¯¶–îæÂâÎ|¦Â–úžšþá¾¢¢¢¸ššò¾šþúåºv~ê†‚¹Îò"""Â¾Þ²jnÒÂŠøºÂ¾ª³®ÚÆp¢¶²þê¾þÎ¾ª¦š’vr


êÚšþúÞ¾¾¾®šŠ>>>þº¶þöª...Â––þ¾ºRRRÖ¤¢þÒ¾ëÞ£ÊÊÊºººzy}ÎÎÎîò¶îš–ÖÂêÖš¶ÂþÊÂ¶ÎÀ®®ªžßÍ‘Æ¨šªššôþ¾¶¾þF22âÂwÎÂ©ÖÆ‚ÂÂÂÊnv®²Ö‰„p÷êžþÆ¾þ®®ê¾ŽÞÊtê®¦ÆÆÅþö®½µ—ºâáÂþ¾ôæ˜òÎ¶šÂœ³²°þÖ¾Â¾ØæÂ‚¶úÂü¶¨ZZZäÒ”ÊÂº<6.ëÚ•¤ššþöºÞÂsêÞž®®®FFFæææÊ¾Á
üòª×Âzüþ¾š¨œâÆzºîÑš¹šÂ¢–668Êº¢ñâ–êÚ‹þî¾˜É–òæ©ÚÊ~þöÉžžžÔÂ’¼¨–îîîºÒîûº§øì¨ê¾Šš®šþþþv‚†º¶öîº²þÚ¾ºòÊÞÊŠþÂ¾þæ¾ØÂvÇ¾ÉÚÂoÞÆrº¾þú¾¦¶¶þüò³ùî¡êÂŠÎþ¾¶¶³âÎŠ¶öÉÉš™¶Æû^^^ò¾”¦ª¾ÉÁ°þöòºÞæ·þ¾êÖˆ¾œšJJJþò½âÊxæÒžzvæÂ~þú¾®›šªª©:::®ºš222îâ¤ÕÆ‘º®šš²š¾þ¾¾ºê¦¦¥îÂ’æÖŒáÈÞÊzººóâÎ†òÞ’ÖÂˆºêÖºÖëÆž–þ¶®ÞÆvººû¶²šêÂ‚¾¾þêêêÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*4X`¡Ã‡,G±¢EˆÞÙˆ©£8vì|øhÕjÒ›p3>l Å¥KâüVé?d%¢%	·%›–r*b*`¦@7xùüø6Ô7Z9“Èj„¥ÙŠAR¸SÀV;:@	clM¨:áÃÒËÅ½W@³þ£`§jEåùÉ7¶é7œ(¤by°çI¢KâªÔv§,¸0øº´ì·¿í>ÈZÛ6‘.'”È)~xçH‹fzi°¥KÑ-î«dƒV´h›	Iä‹œ7 8,@üÎ>,l)_nk\[@íƒÚÎ=¶yªa"C*áµþ©"Ý—Õ‘_¥ùE‰$øtÞn"¡kßÒU¥gr
ÈX0	:0±@M( @[.|wÂH=‡€—Ê4 Š*Œ€^˜r
ÒdC	Öa±ÇaàÀQŸ:ŒL0¢XxPUXbÎ¨2±é!â9‚°1R8£üñÀºlãb×„2H5ö‘Žu¡Ì;`Î—vÀ
'æLƒÈ%!90É[xa*OF9c,D<óÌ'XMS\` –HrJr’ U(“GXIÍÜƒÎ	&D#±ØùLià‰PUø‰Æ)îtƒÁFwXHK þH  ›XÃÌìBe¦iÄ¡.¸´’ç?]Øáç#Ëð"Ì€U\â@]ŒCÃ&³ÎZA* TSgÃÄ£ˆ ‚°	àç2m¬Â~0±JH B4c8ÀŽ?ÊeâÈ¬Î"Ê¾Æ#."(’°"èäg¼ÀóKYLT\€ —ä¡#>ØB†@UØò/ ·|"¹	‹P0š´Ü0A(ÃË*gœ±@'LL!hAŠ?aÄN&³’ÒŠˆÑ2$š¨¡Éjø§6—œsŽ+H A5w"Ž8@ƒ-Ù0IP¯±k³ƒÔ#¸BwÝw‹dþ3R]-Î8cH0ƒ‡çg$>¨MÛj«=;­2k&âd,EÐ@Š8l,ÀuÍô”N+ìäYŽO«­‰-Œ8­Œ1«#¶ "¶8 )yˆƒƒ,Ì/¿tRG©´zì,+,†¹xøð‰3·g¢,Lëˆ2ˆÀ SÅ3•Ló•ÓÊ(â¾ëˆ«>Mˆ²B¶³JQ&8°„¥ 	–"Œ±0a,â–úÌE®_õ#ÏˆE‘ŠZ``4‡#Ø@XbD ò!?\bXÿÐB+pQ\èƒSÏ ª±Ü nˆ‚¼}ˆÁþ/à„Ð lH$à(Nˆ-|"ÃH‰`jÔƒ„0AJq-laGcÇ%”`	NPAˆ¦ "º!By0±‰Ÿ°bÁA„â0|ñ…\x!ohöXBÆB ŽQ"žbDˆ@¡@Ê‘"P±ØÅ5’¡GTèÂ½hDP`ƒ`0!$8…)JCQ$ QTcõ`!8	‡mèâ{ÀB#J@Jã1ÁT0Å1XAcpâ•ƒ$€ØñêÈ€)á‹D<áX1mP<& ñÐ'ÀA,<³Ò| RGmÖ ¾ëÐÅöÀQ&ß˜ƒ)ý w¨R”'ì0Í‚ÌÓžàðd"@‰Y|  ­Ää%Bw$óœ`EÂÐPƒ à5ð*zàÍ=< IHB	aƒJÌD Ð6Ð©¢¤ ¶Ñ}‚R˜ÄˆÆLù1›
ƒ x¤2*— `	¯h)8e‘ `4 •€(¸¡HBñ¬ªU0Šfôøð'- :c
Ü@D$*O Xe1U*2ø
PC_;!_3’­¼á“p I| ’l©µ¯øÃße7ËÙÎzö³ m@  ;   07070100036dbd000081a40000000000000002000000013d1fe2e70000006b000000200000000000000000000000000000001700000003reloc/mscstyle3/config    noindex=1
cs_page=6696bc
cs_table=b7b7b7
cs_header=7f7f7f
cs_link=FFFFFF
cs_text=000000
functions=theme.pl
 07070100036dbe000081a40000000000000002000000013d1fe2e700000012000000200000000000000000000000000000001c00000003reloc/mscstyle3/config.info   foo=Foo Bar Baz,0
  0707010005673b000041ed0000000000000001000000033d1ffa9b00000000000000200000000000000000000000000000001500000003reloc/mscstyle3/cpan  07070100057d97000041ed0000000000000001000000023d1ffa9b00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/cpan/images   07070100057d98000081a40000000000000002000000013d1fe2e6000002e1000000200000000000000000000000000000002500000003reloc/mscstyle3/cpan/images/icon.gif  GIF89a0 0 „  ‘ŠˆbJGnjjÎËÊ1,-¹¬§•mftOJR3/¶…¢{t\VÃœ”0Ó« îíìàÜÛŸš™aZZƒz{@:9¿º¹Ø½¶ \>:þþüâÌÂ¦Š†ibC,*ÿÿÿ!ù
  ,    0 0  þà'Ždižhª®lë¾p,Ïtmß8pdH	 Â“92‰C&ãê\.@5f:‡C'ã˜°‹ƒq `0˜^pƒ5)JÆƒv‘RƒZ+T*o—„„Yc.K)¦
€§šc\.	c&Z—‚š®	E+ÂC&¹cc
¿¦ƒÌYq‰*ºJ%Â	¨
æoÒZœ¹	í+d¦×#pö	¨¦xúåpÚµ‹p g€Þ hçhÐ©A•2±#&gÏ

¨.=Ùp9Údª&¬þ0 p ¤[)"¼áÐ`Çx¶dˆ—‰P‡p¯ˆQ)€A~‚ö
–1»Ø¼’C…Ê„öµ€ñÆõ´ ð `A;.*«VðJ€ƒ4.$„£p€C¸0ØIm´;¾­!ícÚ-i­ŠP5$I4Œã“v $ÆFTÅ÷ØF‚Gj`&h¢*ƒf`Ö P53
Tú:¸€£¯Ø 
xÊá¡JTœÎ±À‹àäÈ5¯Å‚œ:ä0)Àu
Ð;@¾! /-Äã@Ú8ÝZ(`³`CŽ½+¸PÀ í÷½Á³XÀ`Ãƒ÷œÆ„s6YWÃiŸ´`pÀ4  s-\°À8¨K,*ø x¼g×U âˆ„(¢8!A ¤ÜÀÀ 	üuÆŒ4b`‡! åÕÀ&ÖHc‰Tð] Ø XBLö¨ä“PF)å”2„  ;   07070100059319000041ed0000000000000001000000033d1ffa9c00000000000000200000000000000000000000000000001500000003reloc/mscstyle3/cron  0707010005ab19000041ed0000000000000001000000023d1ffa9c00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/cron/images   0707010005abab000081a40000000000000002000000013d1fe2e6000007e6000000200000000000000000000000000000002500000003reloc/mscstyle3/cron/images/icon.gif  GIF89a0 0 ç  –Š6ÒÊbš–b>>>ÆºVZZY®ª^º²N‚vBžšvfff¢–B~vNžšznnnvvv®žBæâvŽŠf–’v¢ž††~Z†‚bªªžÞÞrª¢†ÖÎšÆ¦7zzzÆÆ¢~~~ÊºJž–zÂ¦6ÞÚjBBB¾®VJJJ222ŠŠ†ÊÂZ†‚j’’~²–.ªŽ*¶ªjššŽ’‚:’’†¢žŠ‚‚v¶®N¦¢šÒÂVÎ¾O²¦JÂ¶Z˜–ŠÒÎnª¢l¾ž4Â¦:ŽŽz††~ÚÎZâÞ’ŽŽ‚šŽ:‚zV¾²NÎºW¦¦žNNNº®f¢ž€òòrÒÂN¶–.Æª?žžžÊ²Fšš’¦Š*‚‚~Š‚J^^^º¢:ÞÚvRRR¦¢fº®bÒÎjÂ²j¶ªJ’’’ŽŽŽšš–ÖºHŠ~>àÊh²¦tž–~¾²VÚÖ’âÞb¢Ž=Â®LÞÎfÚÒ^Â¦J¨–<¦¢Š~JîârÖÂVrrr¾¦B––’ÖºZ"""Æ®?®–2²¢F¢–rjjjîænÊÆZÚÆbÊ¶GÖÖvÆ¶VÖÆRº®R††‚ÚÎrbbbÖÆVÖÊ^Š†f¢’>âÚf¾²^†z:Î¾^êÞfš†:Ê®CêêzÂ¾Z’†:VVVº¢F®–6¶š2¦šv²®šºªP¾®P†‚Z¶®jž’>¦šBª’.ÎÂYª¦jÊº`Ò¾OÚÊfæÚnêÞnº¦LÆ²R®¦vš–rÒÆ^ŠŠŠ¶¢Fžš’¾®^Æ¶^†zB²®¦Â²W’ŽŽš–”ÚÊ\²š9Â¢6¾²bàÒfº®rÎÂbæÚcºš2ª¦‚òêv²ª^†‚vžŽ:ÞÒb¢¢¢¦¦¦ÎÂRÚÎ^¦Ž*ÚÚ’&&&®š>¶¦Nª¢€òænÊºR‚‚‚†††ÚÊb¾®f¦ž‚Î¶JÂ²^ÒÂR†‚‚ÖÒž¾¶RÞÒrÊ¶Vªš@¶¦I®’.²¢J†‚f¢šz²žFÎºN–’†ÎÆ^Î®>Æ¾Z–†:º®nššš–––²š>¦Ž2¦ž†âÚt¶¦vÚÂZÒ¾ZÎº^ÖÆZÊÂ^Â¶^¶ªNÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#<¥I>lÉT­š#±c?\ÒÌ™“U‚P°f«þPëè.r¢`È±pîÜ„ÆØ9’$ŒåÂ~þØ2äN0`¢Ä³Â?!B
ù<ØÏ²ÇªDQ¦eQ¢\C¡ n ¦äæï]Ê®=àzÍšRy˜P0ý$EÚl$€»L™0`•Æëð i®3v°lú‹ËVeË
'ŽÇ9ž®Y˜Ä‰c†Ã“rjÑ¬1B<®aãÍŠ'&0_â"J…(,,SOyºD¬y›kûBÃJ$C9‚µ‘ô§'Kq|ääâÚ™ó%¤þ5’iÁ‚Š›tòd)ˆ¨xaãÇ‹³Ä“P#‡’ÊK*†©S¨REtƒ4ÄFœÉ#Æ†‘ÀveæXñŒUÖYiAdƒ!ç„áÇêâ‚4“¼—[bM‚yíÕWD»Â|	ÆQ‚ƒ„)ó€<±)ÕA/„fF+z ÷Ð.¥ O<òÈs-é@òA™µm ãE-HìÖÆ.»<¤È"8ÄÒä5è ÑHa¸Æ…²Ãs|˜ó\°$“ÒJÁâ;D„‘ˆ.°òŽ7QXc@R±ÍâÂ#ä CÞ*02 ìŒ°CÍ4³
¬ÀV€‘„2ð)VO}÷åwTRþKQð_TÁ"D¯„q.|x%|\x€-3|Ef@Û5×\èD†	9Ëd©CÎòÈ™"úÀ[Ë\ãWÖ Ê$&±€±Ž!R@±ÐÝ8á	žË‡`èR›U	\ƒ™aˆmöAû+?L¦*êHñ‰"9L[“OZv•Ëœ[‚ƒq '½œ¶ P@QH’K6	l¬Á¦›°ÝÅä~¹€ÑD°²Iõ ,e6K.ÀwHÞ,ªØÌƒá‡\s<7$H3€z&@,!‹aÆÙÒK!u`‡\Ë5qèÁ)¹ái,„¡C+æXÖþ•M†Á˜'äA@,k¢?hâÐ>»¸“k
¨ãO± È±5@“‡œpÍÀu€H;¼<ÄL!Ô¢À„Ÿ¨à!ˆ3ƒñ   œ@‚u0[‡˜€%p;¤ŽN|B6äÀÈÄ*ƒ!	¨]—5Ö|ðÁ,YØ±DN4,Á$	Óf‡Ë¹×U—õtbO4ïDÔn/ ²Ï±0yMåÇRÇÌ¢:`=Œ ñ“È06!7±HºÌg>º)áÕû@"Lp0¤!ÈðI9x!„dln•« ³®‰DdðG¸Eh 
µ0C§xœù:` Zƒ®~`:„4`ùÇéÐ@Â±ƒÔû ï0á0l`|¨á_àuOP X õ®pö)¡IØ@À€$
7‚,ÐA½êà
CŒZž1pDÀi×zñ3ÔC»C'<0„J ã dA8Pe°‡ŠÑ5¤€‘”dAÊágì¡íÃÁ>üQ”	¡‡&æhŒ°Ì¥.w™Ë€  ;  0707010005f277000041ed0000000000000001000000033d1ffa9c00000000000000200000000000000000000000000000001700000003reloc/mscstyle3/custom    07070100060729000041ed0000000000000001000000023d1ffa9c00000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/custom/images 0707010006072a000081a40000000000000002000000013d1fe2e600000169000000200000000000000000000000000000002700000003reloc/mscstyle3/custom/images/icon.gif    GIF89a0 0 „     ÿÿ ÿÿ*ÑÏÿÿUÿÿÿÿxÿÿÿÿÿÿ@ÌÊÈÆ3ÿÿŸÿÿªÿÿOÿÿÂÿÿÔÈÆ-ÿÿÿ   €€€¾» ÜÜÜÃÃÃXXXÖÖÖmmmNNN>>>333ÿÿÿ!ù
  ,    0 0  æà'Ždižhª®lë¾p,Ïtmßx®ï|ï>  ¶†Eã
 H*I€"`@H¿@!
0Üñ	@$Fƒ±P$Ø Àa`< †Á7"}~€‚„†OPtvxz| gikm	[dDQ|QŸ‡8   W~­¥§;©¶¸@H½·¹"ÁJÃ¿PdµÄÆ”ÇÏ»= ÓÅÖ<ØÚÝ¼Ùâä:ßáãÑÒàçíîëñé9ôèî•æùóüòÑðŒöÏžxýô)\È°¡Ã‡w„  ;   07070100061f20000041ed0000000000000001000000033d1ffa9c00000000000000200000000000000000000000000000001900000003reloc/mscstyle3/dfsadmin  0707010006355b000041ed0000000000000001000000023d1ffa9c00000000000000200000000000000000000000000000002000000003reloc/mscstyle3/dfsadmin/images   0707010006355c000081a40000000000000002000000013d1fe2e6000003df000000200000000000000000000000000000002900000003reloc/mscstyle3/dfsadmin/images/icon.gif  GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100064d37000041ed0000000000000001000000033d1ffa9c00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/dhcpd 07070100067ac5000041ed0000000000000001000000023d1ffa9c00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/dhcpd/images  07070100067ac6000081a40000000000000002000000013d1fe2e6000005d4000000200000000000000000000000000000002600000003reloc/mscstyle3/dhcpd/images/icon.gif GIF89a0 0 ç     Mo%JdB_2L ËßïóüÓåðd£½ àñû_ÀØÌâ+‘®­Ë@ÑÛ&•±—¿FÛæ•²6R¿ßî”¹ºÑ™»WuE`@Y)> 3žßïø§ÜìT½×¶ÁÚHßé¢Ãe‰ÿÿÿžÃ Ä¥ÉiïïïßßßãäãåååãããØØØÐÐÐÈÈÈÃÃÃ½½½³³³©©©¢¢¢   ___ìíì×××ÞÞÞáááäããcccýýýûûûùùù÷÷÷õõõóóóðððííîëëëèèèjjjçççÕÕÕÏÎÏËËËÇÇÇÄÄÄGƒˆKŽ”Q’–@v{9jn1^b*PSHLAE9=H‡‹ãïðÇàâ¬ÑÔÁÆt²¸Y£ª=“œ!„Ž^g×éëÁÜß§ÎÒŒ¿Äq±·V¡©;’› ƒ]fA{€°Ó×›ÇÌƒº¿j¬³Pž¥5˜€Š \d<pu‰¾Ã]¥¬E˜ ,Š“|†6dib¨¯M¤7™v€ ku0Z]&‡{… _g'NREˆHƒ‰@…7z,t{mtdm LSÓÓÓìëëÌÍÍhhhAAAEEELLLVVVbcclllddd^^^uuu˜——JJJ}}}‹‹‹›››³³´´´µªªª\]]ÑÑÑ‹Œ‹]]\···®®®(((‘‘‘‡‡‡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹ ÀhQ#ÇŠ?Nù0€I\$é0@$X¹b 4p±¦ÆŸ=#0ð B	AÿýZeC
&P¨`!iH§Jk.¼pR †6pèàáˆW}jE»Vá…"F(1ÁÄ	)TL»Ô Ö„oW°˜Ðân
MÕ2M1ðÃ0üªUø×-\¼‘%¬¼¹mÃ1cäìVïhÏ"’î¼´µkÔ	W1ƒF3nàÈ¡c>~Ü !i A„!R„È!»{ÿöqÃqˆœ¬8rI’$J”þ,aÒD†“'P D±^<iÆ#â™ÈE
!7¦P©båÊúëe‡ÄXd¡EXlÁE^|FPèð_{š‡DbŒ±Âd”aÆh¤¡ÆNˆ]q $álŒÁFn¼GrÌA‡²wblJ<QGd´aÇxä¡Ç|ô£‰¢¨„~¸Q†wüq 2ˆ’9èPvKÐ@Èf¼Ç…rÈˆ$²¤ŽMÆÆÄŠÀqy bˆ‹0’H#oz©ŠMÜàÈ#<‰$“PRÉŸ–J!cÆ9q‰˜<^zRtÚ©9®FiFAP‘I9ôw¨¬²Ek³€±Õ É&œtâÉ' „âI'œl"ì&¢Œ²)¥LšUlNL1Å(¦œ‚J*:¨‚Ê)¦Œ¢í(Î®ÂJ²ÉŠâäÎC­A„DÑ
ª9ä@®+¯|ûÚk”Ù Ë¾üöë/¿QÔ›ì½?ÑJÙ±$¬ðÂ±Èâ°Ã	üÊÀÝ0ËÅg<Ës|qÀö®t	-$—lòÉ%ƒ¬ìB PQËË0Ç,3Ì¯ÌÁ8‹šÚÎ<O ;0707010006a8cc000041ed0000000000000001000000033d1ffa9c00000000000000200000000000000000000000000000001900000003reloc/mscstyle3/dnsadmin  0707010006d60f000041ed0000000000000001000000023d1ffa9c00000000000000200000000000000000000000000000002000000003reloc/mscstyle3/dnsadmin/images   0707010006d610000081a40000000000000002000000013d1fe2e6000008c8000000200000000000000000000000000000002900000003reloc/mscstyle3/dnsadmin/images/icon.gif  GIF89a0 0 ç  :R–®!ââ–“Ìª¢CU¢ž^šÂÊzŠ"€->†¾ÊÂ~fµ­sºš¾…„Â#6~Ç·RÒàî\d’©l¢—†~0v¸¸ÊtzžŽ†¶þöÆ¢š>ÊªÒ®vªæáÖÖÌ¥NVŽ"0v¯‘êÖ¾çðúš2’ZfšV^†Š‚B¯§OÅ¶sVZŽ«¸ÐÂÀÜ¨–%–’ÊßØ :”¶²ºäÞµ ’
*2fÖâþ›T“Ê²F¾†·ÕÆâØÂøðÃŸ‚îþö¶²šÖ¶Î¬®À¶§c¿Ÿ1ªªºøòè6@ƒìáò¸n°äã¼à¢ÔÄÀ|šNŽ‘3ˆ¾ŽµNU ÚÖ¦ Š(’b†Š{Ž^’¨d¦×Ê‹À®D´DªðéÖ6F‚ÌÂgœšÂÝ»ÛŠ†"¸š ‰µ BææÌÓÚêÎÀt¶•?gq¢üùê»ºi®A©òÊâ¸§DS]¤Î®Æëâ¹È¶`Æš¾ÊÖÎßÆÜãÐ™òæô~Ž®ªR¦ûéÝpx”…´Í”Ê¤¥ÚÊÂ¾ÆæÎ¹tÇoºàÒ£?íÖëª›2Ï†ÌæÊæÔÆn²¦*Æ®uÈ¼cæÙ¸ßª×ÛÏ¤Ž’|•>ŽîèÆš’*êîâžB˜Ö¦Õ®¼î2žÈÌèÅv¹¿¢G°‘)¹0Æ²Nöî¦û×÷¯¢5©4 äØªt}¶:A™îðú¼°c¢*š.NšÀ¸µ\¯êÞÌis²½ÂÙÙÎ‚ˆ’Ì^a¦×Âz²¢^¿¯LÆž¶¿¨GÊ¾™üüÛ¡ˆ©N¢AMœ~†¼ÜÏœíæ¼è®Ø‘“ÁþëþÎÆä¡¢ÆÚÎÞ¢–V°–+ªŸR›~	É¯a9JŸÊÓì²›3¬¬Ò¨’"ÑÆ{¹»Ûèß§Á–»ãÕÞ¶e­|t28ŒRf²Zbº²®’ÒžÍÝ±ØªJª¢”9¨‰ÆÂž˜…'¸ªV·T«&>™·£5ëÞ¹îÆæ™‹.`i®º¶ŠãØžÆª6®I¡ýñÞþþêò¦âÏ»hëÚ¥Ö²^Ì¶j¨%å¼ÝVb§Á°XðèÌüãúôïÛØÈ@B†ÎÂ†öæ¶.:žÖÊšÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>T3/Û‰bËi‘§lÐîe„HG  ÐP!‘&ÍÎ£G2¤MN6=zr Ádg®m*óŸ09•"„$U*uiJèYp(Q™rRÂn’WpXLšD¡ªU E£	š§¤Y=˜àJcÊ”‚D­=¢¦K/*½¨bc#FTõêyÄÅlØ
ª¢”©ä<{6ã¯Y9ÈÍ[„-d
pM*ñ§Ý@Î‹1:‘"l¨˜¶´S‰Ð«#ïÉÒ›T˜RK
•ßhe
ƒÖŽÐŽÀ=jR"ƒ¢Ïþü…W\7²§9Àšð³ðâ5nŽŽnÿîá¾·èÆ£¿ÀWÐìC†
 QŠ-©2‹z8à.~À'¥¼a?¶hÐÀ :Hø>”…"ÂòF=,–K,ßlCÌ B¸>IÌ ã.ŒXÑÌ‰$,´dF›|ÑÊ„(S8ò‚:Œ´b[”2ä7´¡Ì&Üh¢IÞØ8Ž3ð Œ0ÒÌ>[,¡'Df2ÄÄ(#7x3ÃHð 	/I  VäcÅÇÔs-kØY1ò€!€
#ípMƒ†òÎ»Xa,îâ-8D‰2Å(³þ4¸PŠ@ìHÄN7<¸a*¡°™è'ÞÐ#Ž ÌŸBi#·D1|`t‰ãŒóŒïä³7ßøQ
#|”ÓÃCÃŒ¹`T®#AÉ‹n ÊÛã;0 ‘„@ˆ³†±ò4ÒHÆ+ÆAµTAød!ß3Š ÓŒüs‰øsÇ:dÉ'.4"<·ôPð1>ø¼k-#ùäSåKÐâ‡â¤óÅ&e¸À3Üô`²#(ÿCB2yà!	ìA‚AEd!†3@J(V\x"ðÐâBô‰Ä¸E`˜ÜC-â]bŽ	ô˜!J5ýÂQ„þ=S§ùL+ÓÜÂ@Ê$’çÔ‚HŸ˜{‹ÀŽLáÈ9ƒlÐ“ËýŒÞ5Œ$nŒ³ƒ?s Sñ:Ï$…@g¨ÙòÐPNÛ2Œ£‹(«˜ó
¹Œ¢ •$Ã‚‰bØcÏ»èÌ ûA-ÿØSÏÎeˆùu9­°³Î2Áø’ÇÀ? ƒŒ%!är
ÓlÃ?ã¼
nZ1¥
‰xƒ,qq"h„7²ð \`ð…+è¡k˜#À)ÂK°ƒ¶°…® 1ƒP ­hE>È•RaP†«ÁbTàI –±‡`¬bþˆÌ`€Sä"0š@$!†$$áTj,Èà‡ :ê«*Cá‚[p4Â?’ÁŠepOˆ3Vd ‘Ž’ @ÀÀMÍ ƒ;„T"e"_Ä-4Á[LáG ÆZ@$¯xÂ´ÆÁ‰¥“×.ü1*2X±H› ÅÄDHnL!D—Cœ±‡e´àiGØÀd@	›A:ñŒ\Í
:€ ãÁ¢Ð¢q”â3¼ÀÄaªlA÷]èb« =ÜG4À
nxÆ¢È`ª)Æã²XÃ Êˆb"S€xþ± #¬ ¬‘¸À¸Œ< ›lP€àX>¨ )øD1Êáwœ³Q)HÁÜðA>X ¤ |q‰2’þ|=*„x ³ÈX˜ˆc|cõhˆ3’q	˜An®…+"R„R¤€lš [C|¡¼"‚Ö@5& ÄIŠ/â„$ìÁ òp	yõ«	 ;0707010006ee60000041ed0000000000000001000000033d1ffa9d00000000000000200000000000000000000000000000001800000003reloc/mscstyle3/exports   070701000703de000041ed0000000000000001000000023d1ffa9d00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/exports/images    070701000703df000081a40000000000000002000000013d1fe2e6000003df000000200000000000000000000000000000002800000003reloc/mscstyle3/exports/images/icon.gif   GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 07070100071c31000041ed0000000000000001000000033d1ffa9d00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/fdisk 07070100073407000041ed0000000000000001000000023d1ffa9d00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/fdisk/images  07070100073408000081a40000000000000002000000013d1fe2e600000763000000200000000000000000000000000000002600000003reloc/mscstyle3/fdisk/images/icon.gif GIF89a0 0 ç  {Áa–Š.¾v*FFFF>Ô’Í}...JFÔ’ÙŠÆŒL–^&OFÉRB¾&&&æ¾’Rv*^ŠVþþþ~JbBžÇ}p²Nfj"V<r’’’ZJ®¢Î‚Z2
Jf?ÂÂÂv¸TÆ~2¦ÒŠú†ÎŒV‚ÆÆÆªžbB2&jN–òJº>¾r‚â¶BrFcÛuZ<PóÚ]š’>ò`¼^BRÂfÂzrJ~º^êÂr†ºvîÎ†zJRÚvbRRRrŽ2ò–zÊr¶²²²2¢¢¢ŠÜ‹‚‚‚Âžv^Önª¢N^ž>®r2bZÓNlD‚b>rZBòf®J&îÎ®R.¦¦¥UA²bFNB6jèp˜vvv~z*ò®vc¢>_VÔjjjbbbÚ~ªÔ•U‚Æj¢ŽNòÆv¦^búæt.z>^ÚÚÚjHÈâtÀ^>NžžžZF~jJjÚªt|ªH666’VâÂž:‡Ò}¢bòÖ[XBÒêr¢ZRÎR^:Ò¢jV2:òÖŠæv¾®š‚RNÙjªCRBF^V®öÊv’Z²®®®^Fbï~¯öâ~†²NŒ‹ŠbJ~öâlJJJ:::zâŠz’6ŠRzˆÀj6*Þ®~bV>¢‚zOBÒßNNNZBVjR~***"†^6žf&öàˆ
fVÂf:*òz¦òZ¾ZZZêv¾„Êp^^^ö~Æ—––òz½vÂvîÎjŠRºr&r¢:fä„æ¶†vVVOFÒõÚczrFznF~~~l@FBÕBBBnf^«j"RrFî¢Šnnnr²J6.&‚ºVR:nVVV¾¢†’æšòÖcY=gÎšb†B^RJÒ^Fªººº

öÞfNBÂŠâ’ðÒpºz2v²Nj¦>†††JBÒ^Bf¦šBjž:Þº–ˆÎ|zzzVJÌbVÄZBrfff>>>úæŠTH¾R>ÂWNÖo«Dòv¼–Þ’‰Öƒšššòj¾fF^bZ¾úæ~ÎŽFÚ¦nÖšZ>"òÚlRJÌd¦>…ÎsKAÌözÂöÞnÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\XÐ€‡JœøÏš‡2~@€¢ÇƒãÄÉ6?ª¬ˆ¦¤K’$S®œhÑœ¹<áÄiSæL…!å¼VÏ€‰e,dyŠÙñ'BOh2eÏ€Õ\w².³ÌœO§¡Bº`0`ÍzÇŸ({¾:=€Æœ€Yë dµŒ¬0Ê”˜Ü•b±xÓ¢/›0îÔ²…áH°¢†›Î„j®}ú´² ï2ÀÓ¦	ž…®ætÄ¢´n$£A¤Õe¾ÔÓæ	õêë‰b,
æ[¶l£m¼	séÆ·eþ¦9Ú>f¦^þ/¤kÎ„ ‚-ñ`aÌ|RÊž5|Y|Ñ¡#‘¥‡=Õ’P6¨¢ŠªDàÁIPÁCbÄrÂ8sÆN˜bÊQ€`Aœ™IªÔaÄ>.€SGÅHCAßð±€ÅØr†8Ê‚,—x‰EÒ¨âŽ(ºãŽ$b˜ñÆß0¡À(ì ƒì¸Â;‰ð^O@²dÓMð¢L5´DBËšô ÂE$Ó (O¨`‡–®ôÃÊž¼dàã@ÖD’'”ÙŽ&Õh2D	1Á(Í4qÂ	ñ‰aG–[n™GHžAyâ@§…fÐ£lº³Oßt Çþ|$ÊC•PAƒ©dÙ¤¢±ÉqPÎ!ÚlRjûh¢¬²û Â(±ˆ‘Â	üáŠ+_ôÊ2¯…ŠÊ!»´’‘çf¤.±æ4Q€
ŸP[@üdR7“üàEŸøÊÃ¯YÔÅ&áá	´Ò
‡H!º‡°á‰92/ófœ	i03É
…úû¯fHÐ«HqÅ0«+Ä;WxâË&„¨#N>d¬sÛÜ’F}ôËÃ¿ ,…ÃdÀEËBhpE¡àÉ£‡êôÒËÎ_?é”Òï&ÿò ,HÀE¡£–Zª[Œ³…Å:_1½¤3Å1t ¶þØ A¶«d¶Ú…ºÑˆ:tc15SÜýõÐ|ƒÊ…ße¯Bª4`¾v'J(‘O/·`õÅÔ0sŒÐ‡YÚQ6*„ÇŽ7mð£Î3Ü¢Ì0sÏ×ÈŒ¼¬Qà±k^ê(Ð¬1'/¼ÀŒêºDCÄ;•ª|ìà*räØOÞJ÷„»øC?R4EÄ—‹~òÞî¯ûªUŽüÈg~ý¨ÛÄûT’="œ¯ÿ+•¿6A€ü•OÜëŸæ&²¡à¤	ñ·Àýà Á’=FH¡r¤RA€fð#ÄkÝëFECn`AHö4 …ãYN|D¼ágRB×I@hð•û0˜Ã…xb`C4€pÜ‰M^9¢Ø°p<‹Y4Ž2Ž0Œ	HDÐÈÆ6ºñ ; 07070100074a7f000041ed0000000000000001000000033d1ffa9e00000000000000200000000000000000000000000000001500000003reloc/mscstyle3/file  07070100075ffe000041ed0000000000000001000000023d1ffa9e00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/file/images   07070100075fff000081a40000000000000002000000013d1fe2e6000004eb000000200000000000000000000000000000002500000003reloc/mscstyle3/file/images/icon.gif  GIF89a0 0 ç  RRRcccaaaNNN___^^^]^]]\[A@?$$%SSS```ÖÖÖçççäääääååååüõíxto   ]]]ýýýýýþúù÷ùóîÿÿõ|uoXXXÿÿÿþùòøìàÿôßundýõïõìßíàÎýèÊri[ååæûú÷ïáÎçÖ½ùà»reS]]^ééçúôïøìßãÍ«ñÓ§m`Kýõìÿÿôß½‹dT<EEE|wo-%MMMIIIDDDBCC<==666000YYYœœœ¤¤¤¡¡¡ ¡¡®©¥[ZXîîîÿþþÿþýƒ|wúúûþÿÿýÿÿûøõ÷ïåÿùéwqiþúöùòèòæ×ÿîÔtl`ãääûüüþýûùñèêÛÆùäÁqgWæèéüøöûòèêÜÄåÒ³ùÜ³qdQWWW[\[ïëçÿúïùëÜðáÉíØ¹çÎ§åÇ˜gYCVUSØÏÇåÚÍÛÌºÕÂ§Ô¼šË±Š¶™nQD/===*+*111ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±bC  ,j€1€ÆŠxü81äH’M¢”¨’ €˜ià ‚+ÿqTpRà8pð B	rî¤P° *X¸€!ƒ†¤+wn(H¡€ƒ
8tððV”;(È(°ëW!DŒ Qâ¬@Œx	âÝË–`Úµ#»š8ÑAŠ*VØÝ VíVŒ7~ì@ã¾X´pñbD
1dœåÛ—t^ƒZ*80ƒÆ*bÔ°a÷ãÒ‚7HÀ¢Ä
6rÔÞh¹§À’+W®´cNˆ-Ÿ7Œ.}!õê	¯c?¨}{ÁîÞÉ‚¯Ó9yîæ	êØqƒ‡û>~ i.²à‚ B†Ù_ÄÈ$ÍñT$J,ÁÃYtAn5áÄPD!Å‚demyUXqRôW}ÿt•…[paE^|±_m`Z_âñ5R€†VŒAFfŒFã]7"À’Kti¨±m¸ñv1iœ–LF¤CrÌAGvÜG%æ¤Ç|ôáÇ€ ˆ iæ4!Ë1wÞž|öéçŸ€*hŸ ; 07070100077753000041ed0000000000000001000000033d1ffa9e00000000000000200000000000000000000000000000001700000003reloc/mscstyle3/format    07070100078f02000041ed0000000000000001000000023d1ffa9e00000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/format/images 07070100078f03000081a40000000000000002000000013d1fe2e600000763000000200000000000000000000000000000002700000003reloc/mscstyle3/format/images/icon.gif    GIF89a0 0 ç  {Áa–Š.¾v*FFFF>Ô’Í}...JFÔ’ÙŠÆŒL–^&OFÉRB¾&&&æ¾’Rv*^ŠVþþþ~JbBžÇ}p²Nfj"V<r’’’ZJ®¢Î‚Z2
Jf?ÂÂÂv¸TÆ~2¦ÒŠú†ÎŒV‚ÆÆÆªžbB2&jN–òJº>¾r‚â¶BrFcÛuZ<PóÚ]š’>ò`¼^BRÂfÂzrJ~º^êÂr†ºvîÎ†zJRÚvbRRRrŽ2ò–zÊr¶²²²2¢¢¢ŠÜ‹‚‚‚Âžv^Önª¢N^ž>®r2bZÓNlD‚b>rZBòf®J&îÎ®R.¦¦¥UA²bFNB6jèp˜vvv~z*ò®vc¢>_VÔjjjbbbÚ~ªÔ•U‚Æj¢ŽNòÆv¦^búæt.z>^ÚÚÚjHÈâtÀ^>NžžžZF~jJjÚªt|ªH666’VâÂž:‡Ò}¢bòÖ[XBÒêr¢ZRÎR^:Ò¢jV2:òÖŠæv¾®š‚RNÙjªCRBF^V®öÊv’Z²®®®^Fbï~¯öâ~†²NŒ‹ŠbJ~öâlJJJ:::zâŠz’6ŠRzˆÀj6*Þ®~bV>¢‚zOBÒßNNNZBVjR~***"†^6žf&öàˆ
fVÂf:*òz¦òZ¾ZZZêv¾„Êp^^^ö~Æ—––òz½vÂvîÎjŠRºr&r¢:fä„æ¶†vVVOFÒõÚczrFznF~~~l@FBÕBBBnf^«j"RrFî¢Šnnnr²J6.&‚ºVR:nVVV¾¢†’æšòÖcY=gÎšb†B^RJÒ^Fªººº

öÞfNBÂŠâ’ðÒpºz2v²Nj¦>†††JBÒ^Bf¦šBjž:Þº–ˆÎ|zzzVJÌbVÄZBrfff>>>úæŠTH¾R>ÂWNÖo«Dòv¼–Þ’‰Öƒšššòj¾fF^bZ¾úæ~ÎŽFÚ¦nÖšZ>"òÚlRJÌd¦>…ÎsKAÌözÂöÞnÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\XÐ€‡JœøÏš‡2~@€¢ÇƒãÄÉ6?ª¬ˆ¦¤K’$S®œhÑœ¹<áÄiSæL…!å¼VÏ€‰e,dyŠÙñ'BOh2eÏ€Õ\w².³ÌœO§¡Bº`0`ÍzÇŸ({¾:=€Æœ€Yë dµŒ¬0Ê”˜Ü•b±xÓ¢/›0îÔ²…áH°¢†›Î„j®}ú´² ï2ÀÓ¦	ž…®ætÄ¢´n$£A¤Õe¾ÔÓæ	õêë‰b,
æ[¶l£m¼	séÆ·eþ¦9Ú>f¦^þ/¤kÎ„ ‚-ñ`aÌ|RÊž5|Y|Ñ¡#‘¥‡=Õ’P6¨¢ŠªDàÁIPÁCbÄrÂ8sÆN˜bÊQ€`Aœ™IªÔaÄ>.€SGÅHCAßð±€ÅØr†8Ê‚,—x‰EÒ¨âŽ(ºãŽ$b˜ñÆß0¡À(ì ƒì¸Â;‰ð^O@²dÓMð¢L5´DBËšô ÂE$Ó (O¨`‡–®ôÃÊž¼dàã@ÖD’'”ÙŽ&Õh2D	1Á(Í4qÂ	ñ‰aG–[n™GHžAyâ@§…fÐ£lº³Oßt Çþ|$ÊC•PAƒ©dÙ¤¢±ÉqPÎ!ÚlRjûh¢¬²û Â(±ˆ‘Â	üáŠ+_ôÊ2¯…ŠÊ!»´’‘çf¤.±æ4Q€
ŸP[@üdR7“üàEŸøÊÃ¯YÔÅ&áá	´Ò
‡H!º‡°á‰92/ófœ	i03É
…úû¯fHÐ«HqÅ0«+Ä;WxâË&„¨#N>d¬sÛÜ’F}ôËÃ¿ ,…ÃdÀEËBhpE¡àÉ£‡êôÒËÎ_?é”Òï&ÿò ,HÀE¡£–Zª[Œ³…Å:_1½¤3Å1t ¶þØ A¶«d¶Ú…ºÑˆ:tc15SÜýõÐ|ƒÊ…ße¯Bª4`¾v'J(‘O/·`õÅÔ0sŒÐ‡YÚQ6*„ÇŽ7mð£Î3Ü¢Ì0sÏ×ÈŒ¼¬Qà±k^ê(Ð¬1'/¼ÀŒêºDCÄ;•ª|ìà*räØOÞJ÷„»øC?R4EÄ—‹~òÞî¯ûªUŽüÈg~ý¨ÛÄûT’="œ¯ÿ+•¿6A€ü•OÜëŸæ&²¡à¤	ñ·Àýà Á’=FH¡r¤RA€fð#ÄkÝëFECn`AHö4 …ãYN|D¼ágRB×I@hð•û0˜Ã…xb`C4€pÜ‰M^9¢Ø°p<‹Y4Ž2Ž0Œ	HDÐÈÆ6ºñ ; 07070100000373000041ed0000000000000001000000033d1ffa9e00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/hpuxexports   07070100001975000041ed0000000000000001000000023d1ffa9e00000000000000200000000000000000000000000000002300000003reloc/mscstyle3/hpuxexports/images    07070100001976000081a40000000000000002000000013d1fe2e6000003df000000200000000000000000000000000000002c00000003reloc/mscstyle3/hpuxexports/images/icon.gif   GIF89a0 0 Æ     ...€€€óóóÛÛÚÕÕÕÏÏÏÈÈÈÃÃÃ½½½µµµ¬¬¬¥¥¥   ÙÙÙaaaÿÿÿüüüûûûùùù÷÷÷õõõóññïïïíííééépppäääÝÝÝÍÍÍÈÇÈUrubuwhvwFps7mq'jpgodmëêëÇÇÇYsuÛëí¹ØÛ–ÅÉt²¸RŸ¦/Œ”pyÅÅÅöõõÍãå±Ô×’ÂÇq°¶N¤,Š“	owñññLqtœÈÌ‚º¿d©¯E˜Ÿ%†js?orl­³5—~‡dlççç1lq;“š!ƒ‹q{Yaááá#ipH‘—L“™@Œ“1„‹ziq]eOW‡‡‡ÑÑÐËËË©©©NNN·¢Xˆuccc^^^×È”k^åååªªª²žQ½¾¾———c^(CBŒŒŒ\\\hhhlll]]]RRR½¾½¾½½ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¢£¤¥… ™	
¶©ƒ¨˜¿¿¹„¼—¾ÀÉËº‚Î–Ð ! "#$%&'(ÛÍÜ•¾)**+,-./01í»ï(ˆ ãÃ3hÔ°qGŽþu8)€;h¬ Á£‡@‚@”øÇ¼	„Ô`Q£ÇDŠ9‘À^2Ž ±ÑÂ†I”,aB“¤Iš8yåI)S¨T±RÔæÄ^:\@vâD†GÂ"ˆxÅ·£1`1Ð!Ëþ1ÆÊE %Ã]\ºè­Xªï(^¾l© a‹€Ã] €	#iU«W±fÕº•KŒå1…hî†cHÐ€	#f™²\[¶”1“YP—0gÐD
AµÖ°iËåÀAÞ¡eN9sèÔ±Ë•¦yðS‰CGÏ>}üüåEqø¢&\ØðaÍè7g_Ì¸±ãÇ#­ò®( J•,]Â”YýÕÙ9íÔÓOAÕŸ"ô%²ŠRL9•TT‡ 
fµ]}Md9@"	"€Zl¹×\c	`z‡QxH ¶…k°a#k´áFj„ÝuØ@ºøâ–iä‘˜Ý>¥Ù’LV´A	¼ñ”p$PFj©­ÖÚ&øfË—_öÖÛoÏq Í¥©æševâ×›‚"çœtÖiçxj ; 070701000031a7000041ed0000000000000001000000083d1ffaad00000000000000200000000000000000000000000000001700000003reloc/mscstyle3/images    070701000031a8000081a40000000000000002000000013d1fe2e70000067f000000200000000000000000000000000000002100000003reloc/mscstyle3/images/arrow.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  ) &" ÿÄ               	
ÿÄ /        !1A	"#2CQaq±ÁÑÿÄ               ÿÄ (         !"12AaqQÿÚ   ? pkMËŽbÜ í¼RŠ«ŸszŸ6x”%]ü±²' >k$m^?ãÉÉfã°5Oð´V»¬»eCQ²p¢yDŒ6å¹SWÇ‹î±N>ÓJ¥ûµ{Ã„bµ&P¥Q¬…¨ÄM±÷·Æb\ãˆ&2~J cð
¨!–ï~÷‡·aj4Y&ÍL›U:xèFãÛbÂù+Ê½vú¼K(ô¸$ËOdvDÝÅ2Þ¼¯4Ì6’_‘º¼4Ë>Ûéó'ÕæðT/söåÜ£¿vnä±6,†ñk±k5×¥†½·+*4
ª$e#RÆ5¯siÏ{gˆOb3ýcK-ƒú9¹9·%Ê®Ü8=·µ-à1ÂšM©s%µœ–díŒÐ¥R½Ð<i…ÃÉœ÷5Jã“Ãˆ7ŽÓÇØÈÒ€Ü•¨¬Ûe©,„¥Q2Ã«\¬\Fr˜rÜÈ
À÷Ôc{?¾1#R¦c.£$ìCa¹3¹<¦´b0+31,d™:è—xv>Xä®\Ãâ	Æ¢‚³W^+*ñ†¨‘geU]-°<lô¶Ñ­N5ÎRUì}…XCFMg31ÔÄõ?z5©‚ ‚<‚ÈƒÖXARUFˆ?‘Ó×aú¶³ÇÔjñ¤cq[n²å¶ÓbµS	ÜW#2wn½Íe¼±ŠÖ2}šUëVÇ­8ÊH©I–~¡ÂØ¦\YÌ™~ÐLu3×Ìÿ ßïùêoŸÝxæU´.ˆó¯es úî•µ-ƒYDÌLLGSñB½Ý¾7‡ä?Unv=øwœ¢†s¢öYØ‚mLD
lL|Ïˆ8¿ƒÄ¿v+ßÄÍ³µg9OÕ³FÔ¯5 ÌòËVi³»;wØ’‰1ÅÂ|>ï*Ù
•°w=*×ªÂU*©V¡‰B¢*¨TIÑ@@P9(ç°n8=Yá%óV3Š‡ø’¥ƒ=~Sõ×ZYr_­\ÙÁä¬ØÌQ"»Í§aê ™‘@ˆŒD‘LDILÄDÎ¼ïáxr÷?î*˜ã›Â)4)cÉT®œV&ƒ-Y÷¢±ù×[W“ÁBÓ\ ÉøˆÄIÄú"Üûƒ ‚Þ»Ó5Æ©ÀÒ§rÙMvø0}å/ÛS¢|ƒÞ8ƒ	‚û®aû'1™‚uDF¬Í¢å›šhé¶œtuö÷ü¾}Xóí‡ÃO=KFQf!°Wƒìm}ü¹ì8:yz_ä®þ§½7!‡™Ý›3†¤Ñ!ÊfíÝ¢±Kel,}™•õ#=hÔ“ãÎ<Âñö¶€JP±	üb#¹ê"&{üøû4Êâ©KKR¤’—x!HÙ‰$’ 'cgûéjÊ]ŠîBÕ¨ã“Ìò*€ ˆ'C÷ç÷¯ñ‡®ìÿ ÀÞÂfè¢ÝkhbŒZ]AŒÇq?c1=LÌÌAÄÄLwº4BX£š7ŠTY#‘J:8¬¬4A`‚ˆ=ŠY!‘%‰Ú9#`èêJ²²‚Ñ°GßªÞáJY.#å<îtrNÊcòY?ÅÒ;	!³NˆR£MŸb^ÙºÕMCgâ¤kIƒ…lA5Geö>Ð|}GÖ±?›âÐë7Pq˜Ê˜šæ¥(ý(Œë$…åî!w²t7 <®§dò–òÖ?•vOVÁEF€ø€¡›@Úg['ÉÙ$“F#Ðî¿ÿÙ 07070100004917000041ed0000000000000001000000023d1ffa9e00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/images/cats   07070100004918000081a40000000000000002000000013d1fe2e700000a86000000200000000000000000000000000000002500000003reloc/mscstyle3/images/cats/apps.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ /       	! 1"QaA#$2ÿÄ              ÿÄ &        !1 "A#23RÿÚ   ? qË{?“ÛjƒRjê—‘Ý6c±°‘#¡Æh|-¶Éò!'ž±¤AŽŠ9I(ÉÃ­ R,YØ;Ð¼3à~7*×qÓ.æÖþ©&z»<†â—fYNc³m(yÅ±Þ!SYk,‚Duu>i—Llæ’ØVQ¸^8Yá×ás’rzœ _È.KÚ²—\xcœµ¨\÷5¸,nˆ˜Ñ³ÔÓPÓä»FP¤dãZ’HV,tM…Î}a¿pmk‹FðÆ+6†C•è2ì ¸ÌÒKkHò7á°¿¹÷„½ä4ûƒM†KCÚå ™VL÷«QR“…àsy:a¤º»dd¾4‡GV¡Œö5&ª•]˜ÑT€ši^wî¶»˜¸ÓÊ¥¨JÞxøçf6õw,¡¤ÊŠfzþ[Ž?‰Ç9â³@Çá.§Åõâ+˜˜Œ–eÚÙÆ™¨Á¿#¤£W6.ãt‰…2'»§ Ñµ/©,Ãü{óMøî¿øý7·~Â²'Âö8Ür¤[|ÕµÙRÌ»
l®Þp°,zM…Œ1ç	_ ´Æ©é£R>@òO*gÅ±:Z—²bätQXÜ+ˆë"B<H“$Q¾y;ÇÊç9ÉÒ"ñ<xØ›«õæFª@n›x\Ñ1J*f²(´ÖÐƒ¨ÞDs#òÈˆˆÕF»åzUNÒÃî/²ò8lyVï„²qñÏøÒÈwz,û7“;&U+¾Çº30wRIk}ñ÷j1åšÁ1¯U±ëàNýT¦5dNŠ‚Œ¡Xö(ãëKù‘Ã]ƒÂ§ºÙª´©¿Ë½uŸÖ
X´™þ>)ÂYA<“þyQ)bA‘ãr–QÓœ¬*ÂªÆ¦ÞÆ¨ ã""6h|½']<Nº_Ÿ3üÈ‰öD_²|}“é¬¶àxˆøpmì*Ñ‰i¼øÕFÍÛG.º4üf†Êã‚2^×½ägu.½¶Y#"YDº.Wž‘
¯W@=ž2Îø"sk’Dse®í¢ª»åWåUWõúçyX8¹6Æf¡¤¨ÊãEÓâl¯2$_££%;¦@ž›ƒÉG'9š´ì‹EbHa¶ ÍÑAUyºº6¶¤©*@:µËÜ(ÌãÞdRµgÄé5†=_vÈZ¯r·ë,Q*µÎÜÇ56dÎž®‘^âºwi'y%hrè÷nÉÉñMƒReºÛ$­£Ë›5ô“å†å T>®zƒd:sVçßþ#ñíÖúYUºÏÄ­õ†æ|#ÛÜ^Øö€žèìö²žîuæàöW²YÁ{“£_8ØFQZc¹/‘eeV){£‰2 þáòN	PcµTeäür».¤a·––ÚäÛKB«"W˜IsÙb¶'É6C`é\±NQg"Aì‰•Vý4<Ëãñ˜0ÃÈ¾6v^Ug‘F›‰X9î-2fóÒMÕ·ø0;R6¸4Èåy
çC/3TÇÊ’Õ±3 Ô0ê¾	ÝK©ß‘XÀ½¹àñ+Ùny<öÑF^1· QÚªøh]+½Ê’éG_•pÂ‘*ùXÆù«¯#ó¾áÃè}3ÄÌæ|‚Ûûýì[ð	+Þz5•sBó`1
/fÂ.@5ž$©æo °Œ²#ä{_ƒ°±þÖ×Ë",lgNÕ11ì³É4îVkyÉI’HÃtmEŽ ŒÁÕ…,ñZwSÁœëYXaÖù.„Ó1¤·©šÒƒúÊIÈ„ˆ`:†½˜ü®™†’¶VcõÄ#Fœ‰Ö¾@ßå²kÏä¹ÙJó³K#.ÖW3`Ãb¬ã`‚  þý—>‰Ä§Çq¼~Ö4’¾6$`WÈ½ú‘ˆ:ÖôG¯«•à©”wµ7õÝ„Þm{Žhø[—Ë/n#ŽÈ.¡I‘WÑgt”¹“š×§™ÑFKš¨ÖIÚÙéø¤ŸXaJ…¬’Pˆ®Ug*¯çNÕRF"ü"|ùS÷í~WI4O0µ·|"wF¦ÂrÐrÎ]r—cç¼®°¨=$2Â¡‘;½ÎiHzbø²±.è±š°Á±sz ¦6Èy``š¸j;¦t1ÕÕæ¸ÇµÈæF¢¢±ª‹Ú¯•?ŸºëÌòyÜ•r{:M’i- Û,ÒJYƒ]__²Š¤kxð¼{àqñÆÈwV£¿èJ3ôFð×z™BÀ*ŽÅ€'Ø Å¯½À9.—Žfôžj¸kÁrÇî”C«ÏˆfÚ’àg«»¥°„šëjÂÉÄyÅñº?Ä¼#ö¸ŽÃùï ã6Ï!Y›ƒ[Óävš’þÈ‰×[TŽ	’d82•*8‚(óŠ;ÌVš)üòeç#%’Ù ÏrFª¨ŒzþvÆ½ª"ª/Äh‰ü"wßkÚô©v;IA ÷5¡Ø@ä•#A+\Šîº_<nï¤øOŸ„Dëì-’ÏÉ ¢„.˜¶Ò¢¢Õ´;)•C©)^¯Ø•`¾”ììÙ;ŽÃ•*w°e¿ƒí½‚]Õx¯ñ¢“rºuÇ®¶>Ž“4hÊä{aRJÙT$ÄZGÛ$Á}GH¨¾Í½,NlíuàÆJ3pþ/k¿ŸûÜ†HvPºÅ˜0‡Ë¬ä;6Æ‚‹Š‘Ö«ÿ µXÎTq^ª„dÃ'¨P…K>6é%$™µæ>é•ÏU³U]ú"ySççáåWý|'WŠë|Df9‹ÔV#]"µÃ
È¤Ej1SþH¼û»¿ýt½'ïÙ‚¹YiªxÁ` ILé}þbñ4>‡ö¦¾v§~°Ž<eü²CØï±zÙÈø'Çæ­Ö`üiTúaðhßø©sýF›olÖãadS
Ñq|/­m^¯©=i	Ä©¤<™këÇ–i$t¦Xk`D²miabAÉÓˆô¢ü¨‰ù:Fÿ –ª‰ü/ß¿¢\hD«ß;ØÑÈ‘K¿²öž²µÈ½'~d^úý>¤ýˆ"º%rª"«,Îrª¢*ö«'ïÒ¤N‘>è&eTz_rl‰ÿ ÈÖV´5ð4>†‡ÓYbÖÊ›=AUaã¬Ñ€bž‹3dûcùï_ÿÙ  07070100004919000081a40000000000000002000000013d1fe2e700000ad1000000200000000000000000000000000000002800000003reloc/mscstyle3/images/cats/cluster.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0      	! 1AQ"#q2Ca¡ÁÿÄ             ÿÄ &         ! 1"#$3AaÿÚ   ? €xñãv÷Ê~X â-¨ÏGtÙN6ÆÂ8â¤ÍgÂt)m¦¿1ÉáTV!Ç+ÙÄiAV 96GŠ,ÏWOééBv[i®òÿ ËxëE>ÂšzlõÌYû¢J<Ö5ÖM°ÇñPW©50–&›‘”5
Çí^@†7cÆË=:½.´~OÒÕ‚ß ü˜¶Ž—Žˆ° Rä®ü¢.k0ÑÍûHª¦¢§Òò”¡Ê“jI@UØÆ±$M»mlr‡)\±Ïä‹k5š]d–º	VR­Á8ûÕl.³žYgcáyeM;ekdIãsØþèRÒ¯}•3Ë:GdkÖkÝEÌÏ8Å}9Fíä%ÕPü×úîŒM<Ùg7Øê°)žt~ÉÀ8­ìÞÐT°AÙÂAÃAåß[Ÿ(r"ç4¸1â
®,š™4šlÅ–£ç°)ã,2ÕúÝ=™’J|Ù?=‡çNY+V2±„ûÉÒøêiŽ¬‘¸X9ÓEYõ[\Siè¦2à{Ñéjëjéu¤I$ŽbSosŸx–$!R˜ë$)ô|”ü±š†¸o&-Äã	s¢:6‰]WQµß¦þ”~ÒÈ"U*†Ž–WÊ"u'¹;ú!pü•Ä\%«½up¡Ä9ÓŽ¶/5!)ã¤®+=ªÒ¥bDù$cXå|‘w^}ZSfl½4‰M2[›¹«+óèM6¨­,^aÏGô³IÉŒýz™„[½]L5¬ú£¿>y™«*PgÌùcœ «S?ì¢Ž^Ï` €gÌ?¹'Â.Uù†ZUÞU¿ï*Gxtê!&ŽH	P‰ª.éç$1ô™Ù‹(ªyÌ
hŒ°«±©´°Ð²$TNÿ îþãøý••ùé?o«Vò¤UÞ¢>ž<ÕŽ³‚®rñª±ü‡´X šØÓóT–—ØcèéFÞŠ§MÇ–Ë'µ¤I(—&LóÒ2!ªÅ\ÀY×aµkƒDC c‘[+È¾çî^ûùïö_„øëè6Ì4ÉªÙ*®.QŠ5Ê’
+ÂXö<Ù(Ý¤
>:Å®{2ËNyÄ¥‘íW÷)Z¥|‰ADnÖí%IT ü²—xÙö¾zlN­~B“‹ó•÷-‡¿ÄþªâÅÏwiOÔû&"=¿q\âU½HŠ™yƒÁ¥VK§ãþ_¾ØWcWÙþ$Î_…Jar˜ðÍ¢¸7“‚rjÖx¦­,šA³…ŒöF±¡½_Ë§Ë!ã&,ëZ7	m-í@¿p™c ›ŽwÌº³¤lNØo¸Ò½Öôzytàø—&[M"	ÐM+Ã8*ÿ ‘ø·O¸ã.XÒÛê¬¯¦ÐÓ^iˆÌgu_d
BE‚Ç–Ùoª€…–ÀÙ (+£ ¸ÄrgxËŸKúE¡¿§äéC¨[&ƒ£Y)’·–†…Uëü†\ô›ùZM)êg,œ¼»pÕg|}C_V=6Z²Œø™i²Y­Ñ2’™ªh¥âJŠ¾ušŠ;–'’Kˆ7qæürÎRZ‡aA`.z ¬ápÂÍxÆ2&Å4Ñ)Ñ9l4@>ÉI3[†µ½‹œô>9I|Ë~)ÉrÅo!«¢=¶ö<MKB¸‚$6U¶ºäcTþ!sØÅøÌùl¯bµ‚$­qIäù%­Ä³_“¾¾§©‡¤µÏã©ãâJ÷êe± ½&™×7sµuóDqGgßÃ~²8Bjd:6Ž£—úÝ'n8¦«,Wº;GÈdq8j!OÀ£>À£M{˜£  ˜;É0kúÆ“NÜ\£E%Z['PSáê–Eéyg]Iš—œ]¤æž-ˆùeæi4-%ÓXøYÏ$Ë”µ`+çé2/ÔõV8ÛLóÒèµDŸ›'ª¦)t±lù´«ù„@8£ÑKbV‡•yúöÆvÿ @çø>$Ø,Î÷		æè2«òž®ûm_Ñ)¶.FÈŠçDÂÕF²Në}ÃÁLOáç”¯t’çÃs•\ôU^œŸ(¦"¢ôt¨Ÿñ×ÑG¾åo$ü$Æó%+u:m•”:.
¦X›…©§ÍÛî@¯«|à€å.N˜23xîåE­‹jé5!$¯˜¹EÖÃñ¼9ü†r•á­©g#‚‰Î÷24Uí}Ÿ*ª½üüÿ ŸŸ¢gtvu]7ÎÓÑ>'9Òq¥'DšIMhž{!g|Q»@xí,çðîM:^y_=gfî¥#F|êîdÍš÷“v©Os­'ÜX†ç•_VäÞ©ÝÇUbÖ&›4ZŸ³&¼€†¯Oúë!åÎ´Æ¢eZlSp²>¡‘ú0¸œ½1Y›þÙù“ãêø³ÈòtœÓÅ¹ËâxÊüå_´–µ7 ôZlJ‘'s‘ŸÞÓhr%e›Vr¤’’U{YZ“!+ž’ºEDTEOôû^ßß®×Þ®ÿ ·H‘«ª*ÁçÎŽ¨¸ÛÉƒŽTV«~R_¸ÕTUøs‘U½tÕDíô¾z­$öK+ZÈ~GUSô ŽÖÁæã;’ÖU@jåÕÔðZ<Ü=ÁVr®¼úÏ¾ôÊôZä=,ûGz°xÕYœ*Y"’÷}ÀÒîV¿î$RG"çÈŒÔg¹¯û¸/ºéUølTXß¶ò_ÑkÁìßxqÅW~sÍÍiÈ´¦†M†\'±¶å[üÝN2£:õk?)œ3–ÐbÙN´&&#Šl+ÆŽ6ÅÏ#H÷K'¹îAbbªª{¾=¬N“´ÿ ßÇñÔû+Æ˜LtR79™­¬XdTcÇìHÄ_—5éßkò©ÿ JþÝtª‹R›º†©²SIìpª¤çä_¾,a9{àþá`O$©>þq>‰ƒ+Î‰%8(O’¦L@!£ùŠÕbx<+ÈÇØ#Ä&®ä³ü‹æú˜{û©¿&›!‰§/‹ÃÛž%Z‘¦0Uâ5êÆJi–VçË÷¶µ²:rŒ{Ž€(ãkÆ1¬Oj1lÕj'ÇJŸuÝ*Ž×ÿ ŸR˜%Ò=‘öÇôÔö"¢vÆ¹Wý^çvª¿*ŽOüüýwà¤Xc‘Ë7¹íG/Og]¯ÏIþßÂ'ì‰ü'Ö4+ýƒŽAÄóô>ÊèAÿ 8è¿4=gîï§´ýp=ò}ŸgßûëŸŸÿÙ   0707010000491a000081a40000000000000002000000013d1fe2e700000b01000000200000000000000000000000000000002900000003reloc/mscstyle3/images/cats/hardware.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0       	!1"QA2
$Ba‘ÿÄ             ÿÄ '       ! "1A#CQÿÚ   ? q³Ž»“ûn‡PêšFYd7ž¡‡XY¾>áKl›!6È”JzÆ•d‘ œ²Ì$°.Èð…šëeµþXÞT¢Vâ¹¶&'/ùjÊÐÎ±£"¶Žî
¢H<ö5–®²Ã5H.W)50”I±~‘B°HJ® BÛ2¶¾UÊ?+>é®jè}Ò¶Ÿ‘™Œ´ùf&V·ÕùDÖtøÀÙæa‹mÖW¬s\)2<g<jq‹,I°Zça]YÞÄÊØe®HãÖ„þÚ÷a ¯³{C.rk[~Cæo·³»³"Cì´$½QžiSÊAsO#å–iç¹\ª«Úù„pY§—óØü:ä+þ,òG»5¥ë÷¨¤#S9DÖa†Ö®Ô!X*‘ô•åžLœ±U©‰LÏgª×`’U˜%'VÕ*{+(Õõ»+y±¿;}ó{gt|lÒ8ö¼{–6bÉ”ØÚF¹ƒ}ô3hèÜæÄŽÏL)‘=ÝƒFÔô•¡à˜½kèsý.'w}´26£2ÃV¢’c-ßš;™“ÕVÓÓeäºW+Qžãl˜¦¤!ÓãäðùôÆ2MŠÃäau"(ÄiýéÉŒ’á>åö”—µxë#‘Ç¨Ýªž¢9{û%õ<±¾gæÔãÞÆ>¡ÑõÆìF¥±³¹ä~^QÙ–¶¿M sIÆLÇÊÚ[)#’Ë¤:ÉÝÑñ+‰ËûöVÑž[Çâ;©2´Ó”=R{:W§u!·pY•_N¿$$ÃÍr1­#|èe%Àe…„À¬ú5I‹Í¦=Hî¬‡Öú²©ús3‡;?…ûV=i±ç‚Þ¦ôC-õöwLÑçÔO$'Í4•wuù91%M1HÃ,*¬j­l¥¬UUÈZ/óÒzÄOüún¿¯ŸÚªø»Õ<ÍÇüÕ¸“ÉŽ8føÎ&$ø™QC±õ[…gÏÙ5Û ñÌŽþº
kÒðœ¥*î“º×œØ‘hÜ§8ñ’x¢Så²­øQÎˆÁ¢"7 ‡ª+ej9'è©Ñ~SÛþãÀi“—)ä`ÒY8vá•:œyÝ7¥yÎ³…UY
°Á½8£uÌ<ôÈÄÇ´„í4ªEšºäP(øt`Ómÿ kµÖÂŠ7þ ±	3Ê;Ë>â™Ê¸½n(ÊEÜè)Ÿâ2UÝz}K ËÚ©",ªõ'ª¢¤ˆ³ÿ •µ|Ì6–1[¥qËÛ|&ÂÇ'ÙÙ:ÚbõB]˜ˆfKYÜòÚ»»hA§ÅòM@˜"Úà$D¬cUÌs6G.<»5w0Ì~ç)Øº{•€eép¤Xš?³LoTÚg³wÇŽ«ÖYöp-FBGlâÕS]aÃÊøY`×Œ¼XsøÐ°4o"q|Ôséò\ž¢«[jYªaËC[dÚ²Êä¿ÕÏOm`I¶pØI$Xæ‰ÃŽ°=ª’¯ºX~Q\ïÍñÏ§8Øü?“/ñ×ä?¡Àeµ!›‹~Ž³£m¦ÃG_
~IÄ_:˜X°Á¥ä¹xÔnZ°Ž,qó12Bâd=2]¡‹Lw	‹•æòêm„ÕVùM~¸¯ÃõÕÆÉ¹Ãò\Ž—±Ä/g4ªl~ìíì¶¨Ü®S°†º;EŽiÌ	²Õ,uq>&«{¤Å·¶„ÀsÃZêª[Ý±ˆ•a£(+NB2°&¹§X\OyhpÔØˆµÒ±2B„X‡>:Øº¹"ðÌùPÆ—úû¶Û¶êÛ$Âò\Ótâa¾œžÏ.2’S²o¼§ÊÍÌŠ¸(GS—XU-k`:oŸ%l–"Èv—#/-ª©)xË¤²ë£E–š›üÿ :ÚÒÈÙY`×W‡¶&(³Iìˆq‡ŠI¥‘Ícç/O®í¯Ü£læOœUøÓÆrÜî.
ãgR4žVn>nÒXm“‘—lyÊSw–EBæ÷­,PŽòX9pÉé…j7…A!Ç£v\)cuì8^KýRÕ#,xäÍeÒÀÿ TÛÈD•Ì·zØÙ½ˆ×kÃäÈÝ7°­OêÜŽhT…Uôû´ÅTz{ÆÙ¢;ÀM$ú»šhàt²cá¹êð&{ÕUýÎê½Ê‰Ñ:¢ª~½ºxé`Ö\“òýÄöþc¸1ìKßÜâÄâÕºç^a²Ù^4-­]^ÁÈ‡[¬-¸&=šØ=Ô3Î8¹¥ sžKAÌq»Ö¿Óøv7Jª?Zê‘FwYKëÜÆuw³^­OÉWÙ¢|'Hp¸™’âpat¦.L¦âÑñß¡z»õjdhT³/y» A+­Ù8ÜwŽgdUp6èj£3“Ó°G¤+° ‰ùÞôÀ—M“UÜQæºîð¬3ab-ž/’„$E(äº'ŽPF4O
Î¢ÐYg®¹§²ºÛjÒŠñÈ‰¯Ýg:8¾±Zm_æG¤]¡6m@Óƒ¼ðk ±×6„I"ÿ ®¤¼ÇÈò¼"§W–F3ŸSäXe2ùäÊzK0ë4³ p²x`½êþä|sWÓíT^ÕøUUê½=Ñ½¾3òk®*¡ŠÚšžÊÚ­– ŠXÜŠÖ»ãÙÉýÊ‹ù{§ÏUê«·*ULïˆï"Õ]¨ÉD$h•3 €GVvRì­ô}±NDj’¬Š¯iÕƒ¦íü@$•d$Ÿ¢.EÂ/(ì‚Ïïµ~nÜq Ã•Ï!ØõÆÃÐîÎ2¹ØTÒ6.>D&6>æ9$À}GJ¨¨;}%×«çG”_—TGÀü(ç7)æÊjìÿ Ð<ªZ¢	Ð¹Ö{vã¥Ä)qéØ«ÍÒØ½éÖ%]±1Âé	*3ŽzJÌ˜‰/\cO˜§½Ó= ±Ê¾£¾z|µ>QW¢¯¿ÇBN©uæ(n;‹UU,R/c†.äüÑ>dcÓøëñò«û_Û›ärSñòrìó}¯Dš°¨’HÛä|û)þÔïã'Œâq«íž •Ápå_°É¯võüõ¢°ÞÃü€Âªä%75§+yƒqY˜í;À‡­  ­Jœ3[bÃÍ)øv	Bã,ŠŠºRˆ™1gÛÙAV÷¶–·'c;öBÙP7¢v¢‘`«Óøê¬…[Õ~éúðF`±XÖ¢·ðc‘ZØØæõjõF¹¬EFûtDê½ÛÆtîVM#Q]Ñ®TN®z¯ý¯w€¿‹lúÉ*­½UN¾?R¨5ð5  þ5 5¯9«’fÌ@×Á6–€;ÿ žK'û=A$’Iþÿ ÿÙ   0707010000491b000081a40000000000000002000000013d1fe2e700000a6b000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/cats/kororaweb.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ             	
ÿÄ /      	! 1"AQ
#BRSÂÒÿÄ              ÿÄ $         1!"B$2ÿÚ   ? Ëxÿ Ç<Û’» _«1·Þe†WYZÍŒ’:ªšš¸šãno¬µ[N<Ò„,åøÏ<†– ]‰¡Fœo|¯€m~‡ð7Ql«‹Ü ÇÙÚÔ­½]YlD"•>…Õ3Æ°Éc†ÈSa¶9™ô"+	ûéâlS±Éñ¢ÆN¿K|‹“õU §!y1lÊ]w=€–êß»&ê³ŠX%bÅ=U->K´fD [bI®ÅŽ‰"AÓï%²ÆrÜƒ,ØÎnYŽgGu¶ËÊ’KC,Ý$ÆYØf2œKÞC²*ù°³ûÇH²š³4ÏD'Ý_iìÙ¹ùëIäˆ:¢JþELŽNBL©—VgA¨ŽÔ 3å5º3ÜûÖ.f6#5á®PZý`ì((\ÕÔPÈg.4Ñb¢×Pˆ¿zÞfuúêçEñäZ•óÓV…“ïÏíµË e”MR0¤Ä’(ouÑÊØäëËÙs\Ð Äý>½GªÝE°´qÝöð¿ô|Óe-4åÛ> Ï(««¨¦ËÉtŽV6£=ÆÙ1LHB¦)ÇÉá…¤º&ä>IšVTÿ G‹&F]–*#AX,c’œreIØÈ"ZøÐÕÍ‘Ð,òKþb5É%Tqÿ ma9.®¥Èi§{HÄ`–‘ùFç×ÙÔˆ¨s“ÞŠf¾7**µÍòøwÓŸÅ1õãÈÅ-•?ØÂÈÆ¥O*2UÙjcF’ ÓÆé÷åÑfü‡/‚ð¿îÂthdG!J•b‘Ñãå@J´Ïš±àÀk¥íÌnì¾m6ë=„5}åuà…]kìþ¢¸‘(³Ê ÈŠÈ&*z«ª‰I˜²§¦œÀåavV56–‡Ùxü(ŠŠŸ”ögÿ ·KÚþW´OŸª¶Û#ê'éá»p›8Ùk½8ÕZýƒ€Ú¶8_pm†3KgqŽÀÂŽ‘óçu6¼·YD²‰t\¯°lDC)õAºÎ´+fGD`ÑÇyOò’5ßíÇåUYŽv3`dÛ&i:²7)³© !V™~6Z/!È .ú}…XwieOe*‹A¨¥l”e¡l¨sty¾¹©e 0S/ðƒ³Ž
znÏN‹>+G­(+¯
,ƒ.Zýg†
3¥r~Å!“ÓfLýí÷ç©Ò¤ˆ©Ç•;Zñû]€ä†¶,×t‰e‰ãÕ£À¤‘UFX²’æ¶FÉ%¢‚ºY¤ŠgÇí•h¢Œ÷D#N,7›éÅŸcŠã~cÂ,æÎ¸=—ª‹°ÍõWêdù‘k…Ø]Kn5 ˆÖ©·Êo,ñ\…£ÄK«1Œ‹HXçÈá™OQ=µîù¥¹ÁÌñ‹\uÏ×Øž³Â¦±F‡Xi.¸Pær¾&Ç6K+œ‘»BÂRášQ‚Yžöïj|ëÅ«©@y3K!Ú«PtCé™äçùeÑÑ+±]ï·°ïIb?Z²•KØË)üâU,ƒëÉ>®–—/ÖÌû:¨¾Â¼Y^8ŸÆ7’8ê«÷Rôˆõ™"d¨žJµR&¹Q‹änñƒ“¸î¸˜:0íå}VVE\ƒ;œ¥ÉP‰Ä1 {‘Œ”rãŒcÞÈü–‹ä­Yb@aˆâj4Í´«(Ú©‘ïqQš4’DD_ïs›4`ÿ r¢#‘¨äv•ÇÌ/ÙuMQÝ]åG]Ð&/ETvV÷Ö²ƒËLxŒ”£
4SŠq…c§|Ë¶ŠäO¥½Ó¿6V7lÅW¬&ÔFÑå9¤ÉfL8Î¡¹++l êŒ´ØØNsYˆ˜#ü€žwª" 6~SnÀ‚¤hü•$Âô]ËÊÉ6ç!r2ÈIuÍ”c²ÉäíÀÆe†D!´êLûMî’›2sZôò|L%ÍTc‹8šq¥O«°y¤.e|”¹Êã×*ôïáA‘Q?²+Ýñ×ÏÓ‹';ÓÑó!Ôy$Œ›ê.ï]TÐ0©’UÓ]TÃŒåw$
òâ¦Óúþä÷þ¶,j4;7.«c\=¨dÆ
àzÆ<{Æé kjDRF™æŠÖy/—¯^ûröŠåTü|~!ïÝÅs{²!°„"FÄ’JXí—þ¨´â}´Â¶€Öô.Å\Ûz,Áj?”'Ñ¨ìâc'¢°ùü7Db³/År<k`êœæ|/h`–?¬aù]3 R«öäqõxVu¢Í=mÍ!£M[oZIUöÎ!1X½G¸kÉŒ~Ÿ]z›ê«M#µ©†ž»|áy¶½²"IŠ}þ26K–`–BÈløÆ{Qátÿ vò$ÊN½0ã(€àŠñîYYÓY]1{E_(Ü®W«É\‹ý‘z_¯+œ'ÈX®ª³Še‘Œ¡ {<Q©ðˆ‘5~•r¹zøN›ñõX¹5ÃªnTWÚÕ*â ±etYètÀ‚ý+ug±¸ýkÊtGú²!FÑæ|´A!¸‡R~¥}ô›¹ké'Ä½ùoœé/U>\h,‚Õù^“nMOM°ñÛY€—ƒ&cTÂ 
FJxSAVI0äSŒ‘#çi|få¥×¥f°â.qÎŽfÏTUD¹Õu¬˜•)Ö@:£+lÞÒŒÔcs1V“OÐäÖ–ðê»sž@|™|LÐ&Èò¦×”¾ìÏW½Z(ýy+Ë×”/TNÕ•^¾;ëëµÅtž¶ÃckqÜj¾¹;òOd0X¨­oiÓ£ŽDùùNúøDüwÜºfå9v¶EœQDÙyéL€]Lª	‚ž¹/Â1ùe$¸—oÇ@¡!~jxí…X©4üÈocžÍòãzèX®¨ß•Ü¶¼§åýÔyÐ»ê~¢”º¼'ZãK1UØvK9‰E@¤26bì-lŽ(«{Û[k“±œ‡L~4Dé’"uññ>?ÚáÜ©ßçåW¿Ïóõ­:¬XÝ#X’1­j+à¾*ÖöÕF#[Ò§ÇH‰ñõó>G9R:Eÿ žOý}E~Ãˆ`8©>×ØSü·À× >¯@u ² Ñ\ˆÐ@G¥$òfäIäw²v~zÿÙ 0707010000491c000081a40000000000000002000000013d1fe2e700000b06000000200000000000000000000000000000002600000003reloc/mscstyle3/images/cats/login.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ *       	!1A "Q%ÂÿÄ              ÿÄ (       ! "12A#BQaÿÚ   ? `}±ì.Cehì–Dcäg¬32o’»O¨Â&Uì6û;äÐ8²‚†nt…ÊÉ‘g.]¬Î:9RO™4pÞ`¾¤}õJU•M†È›7œ¤Ní½&ÿ ’ qSzVA–‹xí²’tŠl†B´Ù1…aahñüµç¡orÍ&«wŠ8jB¾ø‚J»Ó³¤}ïf1b–gÚ—¯Õ¾bÍÊÑ±o”›‰© (ªC&´tM^&Ó“…™Šå¼³×‘ÑR	œ€‰[ÔwÁ¸Ksi˜'ë®4¿çœ³A´B%+sƒ¤ZíwœON§6ƒÕ¾R©ÆJMµäR³K’ÝäYfR2’+ãë¡YBéKëÃ¿Â-ñìÝã¼®úá®ù5%—%!ö­Aj	 H´ªüµ+ŠŒ®ýŸ(iÇåéŸ^lÛ<vEÕìžËi[-‚zUÝÙëÞs%TqYDïì[¬õ¹Ï	$ZÀëf¯ãµDHEU-2RddaM¿ïš=„ƒ0•.äÌ Rˆ‘Ì pl™CÒq—O¾£‘‡€ÈxI†¸g	d”‹@°Ë»—2&+c'g‹‹ˆ†·¹2¦"û["Îˆ²†tgç@è×¾¹jÔ³µ×aq¢äŠ©âa=úLfè¶*Œœ¢…Q6æ4ZvèXâÉ¶1Ê´±£“v£pU›c‚
È¶Sñ³­R™ÅÒ&l±pÖCš=ûØ¸ÅV®J iWmÒIHâB°R<d'¿|uˆÒì:.˜H¼7¡åÚåÆ§ËyÀ9´hñ­²ìÍööÊš´Iiä]è=™ôzÃÎº‰,cÎ­Ø,—ŒñßŽky”jÉ£ï#©³Â­<J^ÝúïŸÙÕç›€•RØuíI»¦y/J²™qžBm98ÑÔÖ>¿ÄG9i|€fá$¸jŠ‹:^*j!W-P±ÖÖvéxeÞ3TŽä"¤be$eÛàZ|‡¢¿þ¸Gäy óùªLžö¨÷O¬ûŽŸˆHì.©„…¦²eÛ{[[="*RF6
I³Ô“‘šµDÄY±½‰Œ“vÎÊ¬æ$é.ËS3IÆ²‘E`2O$à†î_È(P7?Õ·o‘øñù?²gzFÖBV„v
k7Q’‘eeT“¥ž[«€IÏÕ&W–è%Â°îªÅ
ÕFä£¥ƒé•åAÃpP‘À }h¿|à+òúÓÉijÞKSªøè¹Iš©®æ-B¥ŽÉ7ïSl £ƒ'}PL¦tàÚiTÀ½º:µƒ5å3â,•-Kc“+rµl[Ö’Æqwk4Ó(…¤#ìÓTvLrKVßÊÆUÓ†J"GÒ1×0(ÕéòµmÓÒ¬½Ó®ù8Ê%S£ì6Tíâé¬ýÕ.zEÓö³‘¤9£¥)6«•jt‰$çõ•¹úÑS!…ÉSDSÓ®ù©60í«T·[/à|W–k9Î÷o!6«s‹5^»RŽ®HÓgí¨…jYËWð®˜HÇBÎI¹…gì%2ib­>˜Sñ…+ã14|Ç”ñÛ<Oæß6+ºIãåußì“£¥Ñ2=û3òuRå›er-„fÀçÌNÏ»Lï›N8¤Òtº"…žÉF‹ëb	¤«3D^V‡:¿ï–›Ø2ý{*dzö@¦çë$MNÃe¸:u­<6Z¢’·é–Ç
ãÇfe*šlÔMðLÅÇ®fŠ ÖsÄµúÃ:•ù¤]îVCÐ"œ+ŽØZ(òl­²öÕ†©<ö+ºSÚLœÏ,‹†ï—f)È¸¶9 þiuKéxÁ’Ñ-÷oAPYÒn?K–qÔ[@]Ãç¨½|t—ŽíÊA;tÎåÂŽŠ¢É“°£½uAé½&¤*[ï¢Âyä•[Ýåh¤ƒD\Â–WoHÒG
Tj±)‡¨D‹Ü¡Ãœ¬ûGÙdÉ‡)Ó~oª¿—Âr…­¦â–µÕÓÝï³RÆÌÕwzrü-XLH]½KmVY)’ýÝZ•EŒºM&ÊDÌæ©>ŠQS…½HÈÊÙwÛ3[Ã\è7X^UÆCÉ7J“Z“|Å8³ºt¬{ð#seFWJ^¸æVS±ò‰òÉ4Sh¢ùsÃ…t¾.£¬£µ„ê@31„ÏSðo¡b €€'7Ž<þX®]Þ{V=Å{a”âòÄÆÇL“^5
ÛTeúX».3ÇUZîTÊUojSHJCTËÝAé}ËI;cº›(Y/ãÊ@‹P]§^¦Öá 1±-(Wà%'p÷w58óÉ‡‡Ç€º²xìYô’tÉ**ÃM4ï¡ì¬ö»#µ¹ zõŠ$RjsJûµ[2HÆ¯6Od3À)HÎl©4ª"¯è|»¿ËQÚ­F,`’ßU±Ö²)¼¯KÊIÜSípÆ@]G?ôÔn»Gß‰ÙIÄJµYxÙ˜G­–—rê>Aªí(Aw'÷×I¶Þ·ú b©\•a™!Ë;Ñà¬3æ]s¨~_BÎVÛY­tT]¸1Þ¯Y¾ÃØ)°ÞìîjzUVë’jl$EõÉÜ`2` àÜˆvöˆò%ä{Äüˆ× ùø˜kuÚÌCE½DÜH»$”Ñ ‡
Àyçä@| Ç =$ÓLî¦ ÍÕ˜Š
° 'ùÈ¨aÈ*C#²Ÿ¤ï)ÜZrtp;/­z·ÊñÛž{qû†à:ŸàËûýu,=;º?XdFn7«æºÁÓŒ'XõÙœ‘‚Ïv+a0¨Ûœ‘á'…K¸†*”?PÊˆ3'‰¸r9Ó£.‰²y¥T¦÷ì«–îâã­íÐ^·íÓS'êÌeiJä-F6PþŽ‹‡«'ÒI®héÒHÊ:hs­AÜŒ¾>€9–PLqö-€DD9ñÏ_B!þq?«c:=K]©BFzJˆÍØ¢Cb` <”¡ö<ˆ   qàzÕßä5ÌNúKËö3ê“¼Åg#_ž94,ö§éhø<xÜV9äŽÀýíFV%O)ïj	’?Æé‡?Je<»•$¶Kg¶“È“g]„„uNÇµäÔUÃµ:uÞ&‘ÖTà.^HJ?t»‰)‰99G.ßªÛ}0 àŠ qãÂ$ñõýLÜÂüùççïòlÜÝè*°2f©w&NßH¦à@¦çÏ<pÀŽ|þIÐŽ"ˆ¦¡œ¼î9@ÃÃ ä|ðÛàëñaP ’Êyý ÿ ~?çþ_é¶d˜ ƒò~ P@äÏfnÄŸžy'þýÿÙ  0707010000491d000081a40000000000000002000000013d1fe2e700000a7d000000200000000000000000000000000000002500000003reloc/mscstyle3/images/cats/mail.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ /      	! 1"2Aa
#$QÿÄ               ÿÄ (       ! "A1#2Q3B$ÿÚ   ? „qÏŽYw(6®?©µµ(Gä—I1§Ø,ÒcÔ¾ÚåQÅ2ƒS_óÇlÊÇ”A'X2ÈàÅ"ï²Á}/½)Å®ÅóR»—œ²mp§E%}ØØõ„ˆ’A5…}»í0ýTüÔš¨K&ØÊ"‡còK¯$SëÓŸDE¯ð:!¶¶X†gËx3,ˆŠ¦XÇ¹­©Ã„µ—¥‰fã’	tö¹\Á“ûè¢&%p};²1¼3Y!¶üŠà.¥Þ¸%•©Úï3ªq²¶(2_©.ïak»8$’ð©¦yÙ^b·”™ÞÇ¦9¾Y¾Ål|ië;êrcŒVÜ2ì‚Â@Å¬cIV¡ºÆÆèQD´Éšø_VøšHš] €K„ÔC;pW[ÔQÛ$ð¤cž·»ÒöÎ0é8á£qíx÷,lÄeŸ'±´Œ79ƒþ:!Ô”nVÄŽÒ&ÈžªA£b,JÎz{zŒV>‡aiŠ¾8nûXdJœÏm<å[:hî(­«©¦ËItŽXÒ§<ÆÙ1LHB¦-O|…ØÐþ™œŽ«}žˆÄ8ë—Ì¶¸ýn%CQ™c’»ÍT\“
´®­Ê±â˜±H‹µ@Šôd…d…[#€\õÛüLáàV±Â´î§¿å&ó.J®dÇA€4)\°—œæsô¿…á˜ßO""a:ôÈQNÉ¥Ræ®OqìSÄcµO%xKQbŒ‘É­&­cQRut£¶÷Ø&KÝ`ÊŽü¢—O‰<ˆäŒ«Âjôè:Aä£]fÃ˜6Ø¼2Ú?é¾z=uõmà…]kìþ¤W…CP	<pHÐÉ!3ÕÝTJH°äXä¥“=9…+°¬²ª´=RZç1|~‹Ç¯n‘¯r'þù7¾þê½uß}vžë¨Û«rKqO’üqÏìS+ßÜfÄ±­ã€äP‰—|F"~_e;Í‚ÖåÑ—ëæ×1È @S<’}H#Oaª‡–Ò´c¡0hˆ|Šwm‘¨îûd+Ú÷û}¿ë¯Œôßl†’P›”Ád¤ü–7RºY@]®.ØÒI
ZŽ)îù*hé…$&›l–/“!¡ ~,P5ÖŸÌ,¼lŸCLþŠfÅˆÐë¬žhTu¹Ë4î7D,z9‘¤ÒÜW_B“·¹î!Z×HÇFëˆäNkEƒëòË:¡ù&CvD8æŠÈ¤µÊ²›O(jékâ•ìcÝ4½ÈDÒ9°$s˜D‘A’7>\wÜôYßÐÙ9lƒbqoic³[Ã<¨ëj|TQUìjÅ1_•nlî±Kè#ómv7ãQ5
FBöæÞ¦ü Õ;Çiï>Eá“g” EƒkX{Mƒ’à4ÆÇã`q4Ø•mÑ"åÙWÈ|'ÆBÊÊwEB¤5äÚ¤ää&Â*9tGR .ì¯3ÌŽÅAÔß{m«€ÈGTÀ6·žFUY7ˆUM0E(ÐS´yå\ý';ŸÑLŒ%Ûô;(Ö|®¼·ngc¶5]ýÆ0~#l÷E8X®(]DáÌ¸î9âÑ¢’td¶æFE¹0Âòš4$ýéUwwùË(ä¾ÌÌ÷^èÊä¥.-Ó°N}ÆeGm‡Åäƒ)'kŠ´pb’€Z0Å)ãŸ±YšÙ…{_ü•´UZ.ã†ëÛ5óÂ5ž@-^¾ !ÍEAËbÙmÃÃ•zW¶ZÁ;jÀŽëâµ6ùz—í»‘1¢ôÞª7%0zZñjr­µŸ›flÑŽq4Ú:ù¬Ê!ÈÈ@v7pt©M•èÙt=Ÿ¹d^$µVY†… Q6X©{®>z¢~ñÛqÿ ³.+ø
­‰ô [äß¾¯×M;3¢çÞQs³*Ç¢7Ún\ê[L¯
Íàd7áNöGÔw—×ÙÕI?üŸ£$ˆHIGšÈf›ySêÜg™:¾L|79^B£»éÉîŠ×øöýnöëßâìùIŸrŸ‡|!¶/˜¹6O;¹£ŒÜj-w…=AZûÍE€]ŽmHXÐCý=v«Ãîæiw¢E(pì{¼v°	4V»p-i;†cTŸ&±?¨eIP¥‘±£œòîï·/}¹zû{},™]Lihíl’Ž»eQ”+YA³¨)ÿ H ¤^:Ñ¥a)
€«?,´òÇDZ–_*f`|ƒ×øåÏÎ¤¿Â2•Åó¼Ve3º’PˆtUu€g¬ØÔÙ	4Õ—§(uÓ’	£N4îoÃ€oOM=‹J>¿õãäœxÚ0GQï¿´Ö×GÍ#šëJ{¼`L—'Á©|Š#Ïioðúv’³K•œ­–QâRJ¯`ë+Rd">Þ’¬Šˆ¾/ý¾/jûõïæ®ïµO·H‘«ª*ÁçÒŽ¨¸ÛÉÃŽTV«;÷I~b9QWô«‘U¿fª'h½$íŽèÐŽEvmÀä8ol®º(Ÿ`©V Hø™³ÔEÆêªÊÊ´ÃÇób ðëþ\z*]ðŸÒNÞÃñŠOW®:ã˜R«¦v7m±tC³vä`êaž"Ù“’à?5dT_£b§Êwj£>’¾1œ?ð¿œÜ¨œCië¶cX—MTAàº':ËnÛã”˜….>Dj±œÍ+‹ÞŸkªµ"8œòI
ãF’6ÅÏ#¤{å“ÉîAbbª¯êöðczNÓíý¯õÔÿ Ö˜&‰Žc5µ‹Žk<ocúlmw»šôïµ^Õ?jýºéUÌ½ÏºfCµ>l	bñ]hxË²‘GÅîSí}ô,Ç»f«<8Ñ¤¦›p	$tcFâ3Ë ‹æ­°ä†è8Fÿ äÞç´åo2¯™•m[Ð`¬ ¢¯ª 3[bãË)U¸nYŸcõò“<èÉK>ÖÈâK·¼´¶º4ûtÇ!é?ØO²~Øâb}¿†üµëû÷^×µí{øî@ä”yes#òŠDF·Á¾ñµê¿«ÉÝª¯º£“Ûû÷øAHÇ#–o'µ½9ˆ¯¿HŸ/Ùì‰ü'Âß¥BB”ø©ç•ýH´?Cž(k£šHâ i4H4 5Êû$nÉ$’Iõ×ÿÙ   0707010000491e000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002400000003reloc/mscstyle3/images/cats/net.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ  , +" ÿÄ               ÿÄ 6 	       !1"AaqQ‘#2b¡ÁBDRSr±²ÑÿÄ                ÿÄ            !1A"ÿÚ   ? g³T^îQÑRF­Ì’y*ù“é«Ôé´¶*¬3À.·|P¨nê$üÎš·Mõ3³Z›Ôj¿IV‚!,3Ž¼?Ø [U
m½%Á±ž^)³3ÊÅ›8ñuó$ê­.‘&ùßi7dªŽ:åø‰Ç¿!ùiËÍFÝ¾Y*j&¶-Á(ñàdûŒq{ªÊŽ{HŒ÷ÒxŸG‡Ìó>\†‘*+ ¬‰$©fŒU¤,8óœŽ!È†‰eÇÊ!)§°U)­uŠYé{ºyãž/<™™ÃøulÚPÅ¹{+ª·S_l^8Êù•÷ ®ªh¼q«ÈŒé3^š&ð§jŽÏ¬ŒœâJBÅÝøÚÎ*¦¯ÒzÔT!H¤ÁÃ ûÃÌj{^X/Ûj«mU8hry²Ô{Aô#Y¥tTvª©(ïV%\2:;P0á9‡:œ¿T«ÂRýXÖ®²h„õº–âX¶Tç´F9‚šW¯¤•êb`Õ‹'°Àëí¯-ÎÁG¯V þìÝpß®>zõwÆG,æŠ
¥ju1Ì¼C>¹?e9Khw^šGcË=š®H®JQjh»àr
¶H#§NYëªÍ¿&ß,~àóÔû}ª-«°ãª¬i[q\£4°$¬xãCÉ±ž`(?24í-†–(ð¾[¶4‚_oñTÑÔj¡<QÈ½AýG¦Û`½B´Û¶„ÑÕ¨áq!(}A+ìr=t9TcI%42¦$@ÀüF‹®Þ™ÔÛkeM'x›ÖÞõài¢ãÿ aþ5Ô{“díeÛ”²^®„à2<Ü€ þt5¬6Ö94©“é§ ¶ÒÓ²‰WØS›}‚\GÂïsk½éÃÔ°Â"®%òUCD{¡©œ i1ê~z‘ŸÿÙ   0707010000491f000081a40000000000000002000000013d1fe2e700000a66000000200000000000000000000000000000002700000003reloc/mscstyle3/images/cats/others.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ               	
ÿÄ 1        	!1
"2AQqCW•ÕÿÄ              ÿÄ )        ! "1#A$Ca2qÿÚ   ? q×{“[B›TjúÇŸqd×Ÿml[)Ž(ÐÙå9)ƒ¡RƒK^â†ŠIc‚r<°jëÆ*Èð„ŸBrè®ùlãJG¶g:y"ml8ŠEq˜c•Ö1½ÌBéénuþ³¯aì•ñÉU±YF5ñ”£ÈÏ8÷>˜òð²ÙYÚaÛ/‘R²æÊú™ÕNÈ+5õ^c[AŒÑW—kWgXˆÓ²Içˆeé”CåŠAGl	ùKÆÈ•Òÿ šûÌtr1­€<â´1adllqÇ £cQALcÖÇlcQ>Ã˜CrÌ•t¿ä˜ÈŒÎÄŽHôkã´ÕG†2!˜ò å¡u6ë©^ºÑ™hÙ}DáN(¼JV&+=2ž„³}ÅY Te¿Mš_8ìlã»€Õ˜®¼s–6âk¼eœA«‘:ÞŽ«bî7H˜K"{•ƒFÔX”¦üG€ÞañXa;CG¯y®œHoñÈ Ån!È\?Q@UÈ•4Uù)êù=¢Ø¸¬$•°A:Aß
M¯táÁ¶­Å6îàõ«L>ÞÅÖ×ØÕãç+µ&ï_mˆæ‚-¡r@Tù[›è<(Å‡÷–îiÊ‹‹$$±;’Ûe¢}™ââš×kå4ËmX§×•ÝØ† qËXšÄCEÂÉë¡Ç·EêW|vÆN™%“<³ÙhÕ{ò­­Ùb*;0Ð¥Ž¤qëý7/"ƒ/6¶Y×¥Ì®\€û®W-10®Ì%.ï·jžýÉÖ|™}æv—
6³uÆÄ5×u7b“q¯sÊPZî€2"„™Æ‚w%EÍD¤INQDÓX’DYõvU–
×©Éð¤ÎÕOää™U?¢*²jüuòˆýýøÔvo•á¾fœäFºa dûûˆdÛä8å…tõöVŽÉõèw3…Y˜òÎ1&e•ôYVµ¹•¤8bˆx—D•!©Pæ¤ˆ,«A<qcXK)ã_Éª¬‘¨äUOqý*ý¯ï/ÊýøÏåãÒvx»¥ø?µ•¹#¡ÉYÑ®çYºQ@Bº‡'[mn6dò£:RZ%Aá\e4›s+IÕR ¥fêòpÜ¹%H^µM¹v†¿Ô|á¾ÁÎrê¼'[‹ÅŒ{°²²Rçf—Ç’…¯U	»=¬Ä³©•žÂ9#ÂUXÙÞ+^«|I¾’xh÷v/s(£þaQU	XÈ0‰<©S°:iÿ ’PÃûò#b÷È‚W¹4msõåýw¯9UÆ,Ï‚:zYó½ZU†o« º‘fu¾eu5¸ÖB2FÉ9LÄr‹Ë<W!`ì-j±œ‹lWpÖ¿*†Ç8Ç]
í;A“Ö‹8v/…SPÇ’='Ç¬žö6òë­"·ñ*ß`ÂÒÕXtpÄž%u^˜½G#"7fÉÃN_H²/[ÍèYh¥X–Ó;¥4­Á§Äø*Lœž¦Ý;;Ð1Âý[WŒáTš£MÃ¨ã°ˆèY—šÓcd0_õ—ÆùN»þ‹,ÿ Àñ]X”•²3ªÐg{3=å¹ra®"}õ×`Ç¸³‚ñ;—é+ˆ{b®žéJ˜fIó°‘\ÖÏî<_;±p{ü­È¸zï¿V5®ëïå»QSãûøòÂóÂl­ £¬Ñ•´ºµ.
úÊŠÌ/°³±<©Á{.bK(‰\Ø¡‚ß,²9¬c\åDñ3èsFÿ i”¼ýŠüx>}¿÷ú×õê—Ö`±_Ýb±VÚnÒ$1v¾í†*åv<é˜|=[ìæÉ=o(<ÃR¾=sŠ»c¦L¥K<âAÛ«ü¹É’NÕÔÕ9sÑgsß$L!Þ¯K$îŸ´ðO+WàäLYn–Z Ü÷$Q9zr|;ßohˆˆŸÂu×òïÃû«öNIÀÎs
ƒ
É5Ÿ'<ÇvæÁÃuF”>°]†”LME™’.=k~8 kÜþÆÖ‚8–VçyŽ9TIp`ÕI‚k1±ü;¥YlÚµµ"Œ­lR5XÎÕëåW´é>|µLƒSVÇ„€}ÿ æ¼¼#ùgÁ(«¿Á<ãªc›d&—µ}Àw*Ï w½	™“ã\™´IzgZsŠäXÞÅÕ7†àK?õ|;.­*$.¼ßD!#”9¡ZÓÙ‰1×4çŽMmÅaeWØ8ÓÉ¬|ÈxÉ,f§ZyœjÛM´j‚‚œéƒÒäÖúêÖy%r~}þ:A–`ðJÈaÎyKáTÿ –ò$ÊMzË0ê<‘À²²/Æ‡§/^¤IÈ¯Â*Hˆ©û¿­TN×¤N“¨ÆEEEe+«,é«¬D’7z˜lúô­þõ;Ó×÷j¯ÚwÒªxkX2Ö´ë2ÄPRÅÔçƒµ™€#{ñ:ÕðÃáO*4eT óV™Tu_*n×RFqe>QÔü—2nùOd¶Kvœ(ðÉó¿ºØÚ!ùº
®G6NÅ ""Ù©ŽIpqeTTŠžÓ¹®ç”'—t'‰Á=y’s«”³Še=~~á6’¬“‚tJëM¹qSbØüìUŒæilZôëHI}e±Bé	??Z0Ç´©õ¶6éæ‘Þãÿ >{GwÒ+•µOWÇ_*½t"0½U¯±7=˜ö-UV‘*ú\ Ì…ßMûthÅùGt¾ž»Dé~Ýµ—úƒ>óìeedVDÁ{H¬§ˆãQ$‰¯ã}Æe:ò§Ò˜¦úv3ˆãBTR1Ý££øÓK¿J,†À¬64Þ<®ÁÒò’{ŠÏ•\¶¿­È6•èPÖãøå}iØ^·ÅÇšr Ãð<uÄ–êJé"f¶rµ³8‚íïm-®M6À–ôwÿ 2jš¿]'}'_Ÿ½29®ÑQ´ñ=iòÄç±‘Ž©ª7Ü’ªuÒÿ »ëùùTúú^Ó¥ùñÚ–„¯ÛUí~TúUO¤‰?²"'ôO€z x¨`ÇùoIñÑUÒ¬¦à±¯?­zf±H¸î¬èºu—ÛIfeÛ|ÿ ²~vv}ÿÙ  07070100004920000081a40000000000000002000000013d1fe2e700000adb000000200000000000000000000000000000002800000003reloc/mscstyle3/images/cats/servers.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ .        	!1A"#CQ%q¡ÿÄ              ÿÄ %         !1 "#2A$QaÿÚ   ? ÀqÓŒû”N½¨5\^/ÏËýc ‡Z…­×ÂÍŒ%l³æ0¨àPÑx’ÆdÓ.”I„‰Èž¯\kDo–G• qµ[µe¾arÛÑ’…,H©ñëò.":ËÒ“OKSµ@®jTS%‰fØê"…"­™@¦bDòþ×Vn7ðß;í*N&­º9M¾_ð¼Ÿ¯ÙØòu:uFÅY¤QX†¨‘u¡,Ðî[IØO\þCÉ8p¡ù289ÿ ä&§{ŽœŽ­UfnÅo+½Ê›É	)-¡ª§?:ó·™2Ì†¿U¥6Á&i«Vpo=>Ì¬ˆ»ÂHõr}¼t^Ëƒ“sÛ¸(¬c‹#!Â4Úô/ðÍB• :»±`
(³>ílÜlt¶<µFSLª,Jâ£²¢ºÄp{Q‹sÛ«$Ô©bxÚýyç#Ê“3+®¸¡¤Ç×µølçç«EOeû~±ú€‘m+x±Úht‘ÌÃFi\¬·‘D=Š°§Ûñ¸ØÖ.¾_U$xhº×vÓÌç“7­e´8òì‡êY´­²VS+ÐcÜ=eÓàÝêY'ÛàÛ Ù(ÓãÇî0Ô/5Ë')èJU¢Ã>5²‘lZÖ54³¶[¤¢ó£QÎÙ$©Ú¢³W<›=P|ž 
^^9 ³dvãÜh†FržròwMl>îŠ¾«ã B¶X5FÜˆÏË_ÍÍØì6s7X›;¼r¯Ç×=V9sbII#|}æ‘œGî¹fæ8˜˜øÓ•œòi^M£¥R±«rÜöò,Iì’	íqËI­2òò2jide3DT©TiðÆ–ÀVj£‘ }D-ï¥gô5üš\¡ƒÎÄ¾|ðÕ›{"Õ‡Ü’ÃNüR¾vp–X•‘¬UÇ=ÈÇK	öŠ“Š–æÞ>¥þy~?Æzþóˆ½*¯åSå|[úÎº‰æ>®ól× ÿ Èì}ÉÃ¸5QBfÓÆ$œ,¥Š~2>(çÛÞb£l´ršEÄOLˆRæ„+ãÄx¼Ü’öŠ7é3/áÒ‘’z\Á2Oåé^þ~{ñÚ˜üUdÿ `­¤wì&àôõ(èË¾Ç-	6%Ioœ6™—OÄx~ž2m°¢:ø#=ètùºÞañ?„S|c?]ƒm„XÖÞ{eBLYiŸ}-|áŒ,ÃgFÀGL”ù˜>%‡ÒöQä²' ÓHO@ÎwÍµ¨ùdæ¨Ò\§»i’lòI*ùCXFÖQ1°‡ì;ÐÍD¾ÞîŸ¬K_îe™ £~°W‡$0ãdA®/kÖjqfÃÂúîî´èíñ¦°ŸœÕöôÃ±S}Of·A\ÝgÔ8j›
8©Ü#W,ã Íª3Ûãài,Ü¿iKåê‘ó²¶j¯!Uk-ŒsÒr‘1â‘'*8á¾J*æ†É"#ãæà¥6oÝ
ëŒºÞkkÙpòrr–ØÆ:ÅRÎ–a7æC”Ú—˜£o«.›[¥ûÞL0ñ_-n­’È€  4C%)Ïî¨HU¢ƒ°êK)#d+zV­u?{[*¶É-]j¬^o’²;¯3³c.­«o1¯âkõ°4õb×°,’ökMŠ"$Jü,ANÈ”ðÌâ9«X(ªíÅîKU£fl“Àæírº	óss–šT45~" gd$å¦æ&8Ò|D\X,<l„” Œ:YO4ÃY¹‰[Dì¤nñä–¥õ«‹·jóUzñJ«Ø‹ÔœËÖ[BËDÎÑ{n³=¸êÌ«ññtóa&öF´0o>•“¼‹‘Þú_gjø}{­«swmy²éUÇå·Ã«…)¢ËSƒ:f*ã1 p¢,ìŒ†®<Bô¬1›¸ý7¹îYºÈš*CãLhqfÃKfÈÝv½‚Ïz|LÌù!é‘\%íÅ@©TgN+µ	Ð^üv=¼…µÖzO’Ù×)$”cLÖ­õMÓ2ô´„èrqnìeœ¡srŒŠ\‚Ÿq1I‘³Ã"\u=X:«tà•«¨ä8Û¹fì ™å’ºJª¯óOuû|“ñøÉSý/]x¦s|­¡ñãEy˜Jj»e‹rù…ò›tkÍ>T›/•%M’.¹h½Ãš¯ªÀkÚ<Ä±ÀÍ‰’°ÅêÕ 
ßêL¼ÒãDÖYWéµ¨_°\–6 1²UÏ4_V¢åÚ&]{dªžÝ¢õßkóâo¸å¦U%FÇFÔc0‹ôQñNhÎt¼Ü8 Ð/Zã·ñ0cI¡ÿ "´år®-]•vìœŠÌ $ìò/¢I`¦£oµ-wcj›WìH?õŠm®+ñ,Q¬Ç|RYQÝ
RHW_Œ™†‘`¨ÉxâKŽ<WÅ!ÖÕÓØ¾e\läf§M}Ïí2>°ß5±a˜ƒÚ1!ÝßÓW—B˜ÓâZ¶Ð°—ØzêÔÓ‡+ibµ ÄÃÅ±sx¼r0Eã'—íñÉZW$Í{ûA±Tëzë,ZÇ$NòUùÿ ÏoÙXH‰ö>Òb8SÇu0Ç6ˆÁsÅqË%ÁqéWÙ=>ÉùO”T^ºd¼j1) Ñ**¥k½Ú`F˜~Á¼zw3	Ê«Pÿ tyŠLž{]¥âtU€WR6§dŸK¶£àÿ  ù-þñÉ¿2^ jg®WëÆF³õL›Ã3b°3ˆ°eÜö˜öQe³U¶˜”¯J˜ÞJ˜wšaŽyöSÈsŠqfÖ8£¬nùßobà!KÉéI÷G_ MƒgÉ× ©£ÁúñEwúQY´R: ðÉõ
”ß´<¦d^»ƒÍì½Ngš1é\òëÕü—ÝzíWÙ>|iëšÛ_ÑYÏöÍ:9[w/NXÞI×Hˆ¹zÑUÛç¾Õ¾ü9|¬ÊãÍkQIIBMHD"`+´ä¯Sÿ iGÒÒxøx±£ä,„ÚŒÏB†”Ûõ¶D­Lå¿õ5o¦’‘é.<Üç-ÿ ÖÞÄZ¸úÅ>»ÜE#\Wpw2­T`ÈzAÈ¸±%×}d”tœo?#/'#&A&:ñc_ŽÇqË;Å=²	¤öOdmã¯„OúO,3Ã6ÚþÃ8ýNò_B9Jˆ¨žžœöDDD÷ïÛÇ¹i?ŽKÚ"ª«Žüä¯ù?ÚøRoµr Y˜oZð¡àæ€Ñ²*ÅDÁ	¡°Õ‘'~HK0;ß?ß_ÿÙ 07070100004921000081a40000000000000002000000013d1fe2e700000a86000000200000000000000000000000000000002700000003reloc/mscstyle3/images/cats/system.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ /       	! 1"QaA#$2ÿÄ              ÿÄ &        !1 "A#23RÿÚ   ? qË{?“ÛjƒRjê—‘Ý6c±°‘#¡Æh|-¶Éò!'ž±¤AŽŠ9I(ÉÃ­ R,YØ;Ð¼3à~7*×qÓ.æÖþ©&z»<†â—fYNc³m(yÅ±Þ!SYk,‚Duu>i—Llæ’ØVQ¸^8Yá×ás’rzœ _È.KÚ²—\xcœµ¨\÷5¸,nˆ˜Ñ³ÔÓPÓä»FP¤dãZ’HV,tM…Î}a¿pmk‹FðÆ+6†C•è2ì ¸ÌÒKkHò7á°¿¹÷„½ä4ûƒM†KCÚå ™VL÷«QR“…àsy:a¤º»dd¾4‡GV¡Œö5&ª•]˜ÑT€ši^wî¶»˜¸ÓÊ¥¨JÞxøçf6õw,¡¤ÊŠfzþ[Ž?‰Ç9â³@Çá.§Åõâ+˜˜Œ–eÚÙÆ™¨Á¿#¤£W6.ãt‰…2'»§ Ñµ/©,Ãü{óMøî¿øý7·~Â²'Âö8Ür¤[|ÕµÙRÌ»
l®Þp°,zM…Œ1ç	_ ´Æ©é£R>@òO*gÅ±:Z—²bätQXÜ+ˆë"B<H“$Q¾y;ÇÊç9ÉÒ"ñ<xØ›«õæFª@n›x\Ñ1J*f²(´ÖÐƒ¨ÞDs#òÈˆˆÕF»åzUNÒÃî/²ò8lyVï„²qñÏøÒÈwz,û7“;&U+¾Çº30wRIk}ñ÷j1åšÁ1¯U±ëàNýT¦5dNŠ‚Œ¡Xö(ãëKù‘Ã]ƒÂ§ºÙª´©¿Ë½uŸÖ
X´™þ>)ÂYA<“þyQ)bA‘ãr–QÓœ¬*ÂªÆ¦ÞÆ¨ ã""6h|½']<Nº_Ÿ3üÈ‰öD_²|}“é¬¶àxˆøpmì*Ñ‰i¼øÕFÍÛG.º4üf†Êã‚2^×½ägu.½¶Y#"YDº.Wž‘
¯W@=ž2Îø"sk’Dse®í¢ª»åWåUWõúçyX8¹6Æf¡¤¨ÊãEÓâl¯2$_££%;¦@ž›ƒÉG'9š´ì‹EbHa¶ ÍÑAUyºº6¶¤©*@:µËÜ(ÌãÞdRµgÄé5†=_vÈZ¯r·ë,Q*µÎÜÇ56dÎž®‘^âºwi'y%hrè÷nÉÉñMƒReºÛ$­£Ë›5ô“å†å T>®zƒd:sVçßþ#ñíÖúYUºÏÄ­õ†æ|#ÛÜ^Øö€žèìö²žîuæàöW²YÁ{“£_8ØFQZc¹/‘eeV){£‰2 þáòN	PcµTeäür».¤a·––ÚäÛKB«"W˜IsÙb¶'É6C`é\±NQg"Aì‰•Vý4<Ëãñ˜0ÃÈ¾6v^Ug‘F›‰X9î-2fóÒMÕ·ø0;R6¸4Èåy
çC/3TÇÊ’Õ±3 Ô0ê¾	ÝK©ß‘XÀ½¹àñ+Ùny<öÑF^1· QÚªøh]+½Ê’éG_•pÂ‘*ùXÆù«¯#ó¾áÃè}3ÄÌæ|‚Ûûýì[ð	+Þz5•sBó`1
/fÂ.@5ž$©æo °Œ²#ä{_ƒ°±þÖ×Ë",lgNÕ11ì³É4îVkyÉI’HÃtmEŽ ŒÁÕ…,ñZwSÁœëYXaÖù.„Ó1¤·©šÒƒúÊIÈ„ˆ`:†½˜ü®™†’¶VcõÄ#Fœ‰Ö¾@ßå²kÏä¹ÙJó³K#.ÖW3`Ãb¬ã`‚  þý—>‰Ä§Çq¼~Ö4’¾6$`WÈ½ú‘ˆ:ÖôG¯«•à©”wµ7õÝ„Þm{Žhø[—Ë/n#ŽÈ.¡I‘WÑgt”¹“š×§™ÑFKš¨ÖIÚÙéø¤ŸXaJ…¬’Pˆ®Ug*¯çNÕRF"ü"|ùS÷í~WI4O0µ·|"wF¦ÂrÐrÎ]r—cç¼®°¨=$2Â¡‘;½ÎiHzbø²±.è±š°Á±sz ¦6Èy``š¸j;¦t1ÕÕæ¸ÇµÈæF¢¢±ª‹Ú¯•?ŸºëÌòyÜ•r{:M’i- Û,ÒJYƒ]__²Š¤kxð¼{àqñÆÈwV£¿èJ3ôFð×z™BÀ*ŽÅ€'Ø Å¯½À9.—Žfôžj¸kÁrÇî”C«ÏˆfÚ’àg«»¥°„šëjÂÉÄyÅñº?Ä¼#ö¸ŽÃùï ã6Ï!Y›ƒ[Óävš’þÈ‰×[TŽ	’d82•*8‚(óŠ;ÌVš)üòeç#%’Ù ÏrFª¨ŒzþvÆ½ª"ª/Äh‰ü"wßkÚô©v;IA ÷5¡Ø@ä•#A+\Šîº_<nï¤øOŸ„Dëì-’ÏÉ ¢„.˜¶Ò¢¢Õ´;)•C©)^¯Ø•`¾”ììÙ;ŽÃ•*w°e¿ƒí½‚]Õx¯ñ¢“rºuÇ®¶>Ž“4hÊä{aRJÙT$ÄZGÛ$Á}GH¨¾Í½,NlíuàÆJ3pþ/k¿ŸûÜ†HvPºÅ˜0‡Ë¬ä;6Æ‚‹Š‘Ö«ÿ µXÎTq^ª„dÃ'¨P…K>6é%$™µæ>é•ÏU³U]ú"ySççáåWý|'WŠë|Df9‹ÔV#]"µÃ
È¤Ej1SþH¼û»¿ýt½'ïÙ‚¹YiªxÁ` ILé}þbñ4>‡ö¦¾v§~°Ž<eü²CØï±zÙÈø'Çæ­Ö`üiTúaðhßø©sýF›olÖãadS
Ñq|/­m^¯©=i	Ä©¤<™këÇ–i$t¦Xk`D²miabAÉÓˆô¢ü¨‰ù:Fÿ –ª‰ü/ß¿¢\hD«ß;ØÑÈ‘K¿²öž²µÈ½'~d^úý>¤ýˆ"º%rª"«,Îrª¢*ö«'ïÒ¤N‘>è&eTz_rl‰ÿ ÈÖV´5ð4>†‡ÓYbÖÊ›=AUaã¬Ñ€bž‹3dûcùï_ÿÙ  07070100004922000081a40000000000000002000000013d1fe2e700000b0b000000200000000000000000000000000000002800000003reloc/mscstyle3/images/cats/unknown.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ ,      	! 1"AQBSÂÒÿÄ               ÿÄ %         !1"#B2ÿÚ   ? Ž8ßÆŒ×”›cÔ:¾–#rk†ÌaæQ)Gcá>ÛdÙqÀåžµ'“I&$£ˆ¶ºlB.«gXøºñ.+…åºü¾osg'*–“Ö8þ=S™ä–™ÕÓýi¨êq[-qmró\ù­€¡rLüZ˜ã¿5_Göì¢ÙxÏcŽ¯ù'ê«ANBòbÙ”ºì‹ -õŸ–MÕfJÅŠzªZ
|—iLÐ­I$
»:4‰^]sË==ÃMÍÈmùÈ‹^  ã±vœj';âè¬»lm€›-ŠÅ@=†dõŸôÆ!^I¯<"à¯Ím‡.IÆ¾U‹]Ç•™·vŽ³º%‰›­ß	±°´í;Y5lÍC7'eç‰/ÚM?î•ÌtQS)Û›Eœy4óOqéº
_rVÙYy¶y ÆÂ„©fõœ‡õ¶^JÈ¬ŒQY¦}TgUñ„2/&¾\ñ:rFø®Ñ”x$•‡Z&–y‡qµCª#‘*Ëž®ÌgŠéàË4§Ý‰‘¢IÎ˜Ü>-üÀE’ëÌ»JOÄ~YÐÉ(9õ´¸.ÆÇ²)!‡9åeVhÅÀLu3e¸ù5—ÐÃØÍÄç¾j¼Y^r?(ä?wÞC¸6ž[œïl¿9ºÞ8õþax}9ºº}m˜ä9-”ØE‰òRRÑã{ÚÄ:Ã**.¬ËJÁ[G0–Mêr#v›Q,´ªÄ"áz²<os•NÈÆæÐû2‚¾÷ðÞØ¬¬©†"8AyL–p¡ŽháX˜÷"Î6îèÞ°üŸøïwbè:„uM½=Ã-WmÏ*ÑM¨ÒYòÈs<¤`ZÒ´²q\´š„øÑªéZììÙ ßSÆ¦Ÿ©ÓL¦®Ñ¬õ…­‹I¯³¨¥øX¸œé”G…·1¸g²øU´Û¬öÕ÷•×‚u¯³úŠâD¢Ï("( Xd˜©ê®ª%$X2<nbÊžšs•…ØUXÔÚX
…ëð¢**~ÓìÏÿ ·KÚþ×´OŸ¦­Ù‘	ägÇ&ãÃíâe¦÷ãu:lLÑ±Bë“,±º;+œxvôsÜFoGS“kËu“¦O,¢]3ì0ªÅPn³­
Æ‘Ñ4D1ÞÓü¤GwýFõùU_×ÇÕ_;°rm“@´J·dgRxFV™­æÉDì; À1á|QÃ¬5ydÏ–J¢Ðq£ŽIFZ3eDw›£Íúö©e 03/ðƒ³Ž
xÝž|VZPW^6Y\µúÏgJäþŠC'¦Ì™ýÛ÷ç©Ò¤ˆ Òñ#_ìJq`ÏhkÍ4WE1‚Á$£úW²'ÍÞß¸­j¹ŒTG+QU>RÉ<qgØÇ"¸ß˜ð‹9³®eê¢ì3}Uü™>äZávRÛh"5ªA-Ä2›Ë<W!hñêÌc"ÆÒ9Ä²8EÍÉ‘]ëÛ»Œ;#¬+¹¢"Pª.%‚Xh×³¿ë8óÇé8¦Dé0wÆHòÍ‘Èê6Ö´©§¾›P¦Ø´¡y±i+PÕiÏÓðìÓr9êèpJó=ÝXÙú’ç©`™3Z'!ghÉdÓqÓ²*ÕÙ\>
—>ÀxGÇ^yrº\v<ø,Û?Ñø0æÚžˆìoUå–Xv°ÄjkM°8<j|“+´aù)XýpÒdeIÄOãÕ×Àm,˜ÅQûw7&K]ŸYœf·†z¡6™-ìòY–ªÄíÀ<¥=‘A¬q¯³ZÆ·¦&>qš…Ú'bù‹&¡¨äU¶-aÇRdÏJ›+»­ÛÃjì—a¥¤´X5av—C³-†¼y;šB?ØãŒŠs,k,½r|_ÇµÝU­Ý¾N•`ÑãÔá‘guikjØX]}xJIÇNDÌÅ†I¦‘ZØãW+SêMø§@ÐÛx~NÜ2Ö!¯êµÞz–fKaäã_IM=qÒW1òg¦ÍÕVð'¢ñ”¿®*ï~êúšm•¤:Ú^ÛøwŒýðªf¾Gf¦ ØI²Ü2 ÷{=AÙÛÆeðÃ”u¸9t|½ëÌsK#2é%EPa4ìˆBéÿ %ýý–wIK™9­z{>(ÉsUÉWN4©õv4…Ì¯’€79\cšå^þ(2*'ü"½ß|ý_ÖñH¼Oø¯¿Ó––•òs{ŸQYaÐcõ‡9÷xðYE49qCÈ*ÊJUi=}xtSßÇÍ«•‚0'Ê­yªlXÇa¸Ý"À-mHƒ*HÓ=ÑZÏeööëßn^Ñ\ªŸ¯Ò0îôËÕr-ŽyŸ+4ue
ëšwäºŽÒ…Éi…n ãmü+aéxðªOØy­Á9“UÚž¡Þ“àª2w_)ÜsðÞŠÌ¿Èñ­ƒªs™ð½¡‚Xÿ 1‡åtÎJ®?íÈ<â9êð¬ê-EšzÛšCFš¶Þ´’«ìœB$bØ\~Jx}Én«Zù1Ö77iT8[Û¥ÈíuÝ¤ï‘È§Ñ_cä¹f	d,†‘ŒgµOùo"L¤çýé‡ DTo¯rÊÎšÈºé‹Ú*ûFår»þïer/ü"ô¿X®pœc 	bº¨
Î)–F>2†ìõF§Â"DÕùÿ UÊåëá:oÇ×)rk‡Tl~eE~ER®*qË+¢Ï‚CpÀ‚þ•¼êd¤n?["R¢?ñd2BÃ;†ç·r­Ô:Ÿù+÷àËß¾-÷åÌYFæ“OQë²,Ùwm§o÷þ«´ÓØgç¾Ü¼Y»6†µ™12+ä±±]‰`yª†˜²ºRoHóÅ‡‹Œ-(¸]…ä\ìåÏñåRžTk.3E1€8¶VÛ¼¢®Æ)ñ¹bêSNcù¼º²Ü¶Bç’$T_4	²<©µå/Ý™ê÷«E¯eb9zö…ê‰Ú¯ú«×Ç}}n¸®“ÖØlmn;W×'~ÉöCŠŠÖö:1äOŸ”ï¯„O×}œ]ærXu˜Ì«[,BR‡íVYé“úó¾”b½–pÇäâáHˆ)PãxÞÚVÇ½Ý«èDª	ðQ@T|x@7ÿ '·M¯*ù‘.Sµ.À‚¶†Š¶ Êì3[bãË1UØnA9×ÊI#f.ÂÖÈâŠ·½´¶¹4ûÈÇãDN™"'_³ãüþ®ÊþþU{ýÿ ¿RÓªÅÒ5‰#ŠÖ¢±þ‹ê­omTb5½*|tˆŸ]gÀˆç"JGH¿ùäÿ ëè/Ñ˜uU'í~ÂŸòß >×Ð² àƒÇb8úROfnÄžÇžIäüùÿÙ 07070100004923000081a40000000000000002000000013d1fe2e700000adb000000200000000000000000000000000000002800000003reloc/mscstyle3/images/cats/usermin.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0       	! "1
#AQ2a%‚ÿÄ             ÿÄ %          !"1#2A$BQÿÚ   ? ãn<¢Úð‹XÀu–cÖ0âÉyÔÁÖëà­¤ÊÙ¬F22”<n­´¼AF’h“"pb?ú'†~ø“ƒ'E‡Ëý
gÍç$)DC»d+9TŒ`Ð6¤+ºµ¸<S’±]Þb$ÁžaÅ8(GNO‡Ÿ†÷%ácw‘\œ›f¿­2<cœÃË˜Š¡Ž¡ÞBDd<=“gº
’@ÒÅ’Tƒko%‚}WÝÚÏŠ÷IB-vÝË»âÂjÆ¶Í¾í:¼«tmØË|Ò’&E‹€OØk$[	Ælì
Ñe öí
ãa®kØØ6RãÆlÎ«n	Ï#ˆ_JK+Fµ8ùWL$´²sŸ
(†)È¥ÐÅhë8h*¬ï§±R2åãfq®÷gåÜtº@w‡Ú®¡®þ¬b²àöÙ·ÐŸ	K(µÄ™Yw·Œ´·‘OK*Z¬„ç*hÀ_˜Ç ¶ŒŽºHws¨ñjeXÌZ#bba­©Ì©Š¿VÛx”% á‹ÉëalâÃš|‘†½øâq«zýUêŒ-ßFj9©ˆ:ÃÓš´¼¥6×²)ÓéâM·Vì)±UliÖÁqÎ4Ê^C¸Ë‡‰Å?¯9=ÀƒO¬Ljƒâ+×9:üt•âÙnµ±)_ºÕjr\›0q„Ãàå1Ð°É	¢Špb$ðÙ¥º «§tí·’Àö•ÇÈeõ|lË8‚Ô•R©`?¢Œ]¾ƒ©%€çÚ»–=šëÝ›'[MœIrà}ñeI<˜@¢„RvUµÄØ¿08m±¸e´³­¯£GOFÍˆ\Î¿¿ÄŠ° oP>Û3.8KñSQ’#6*ã¥’ü9êŒ’Š”=F{ Šâ˜}¬´ë}aM¥—W„ù“…§êÆq…v•%YÎ1×yÏ]ýþ.{‰ûÕâ‹á]·*[AëNûãÅy½¯§ßKON•)[„‘–ˆ	9…-ÇnðÑV:Ÿ«”¶êÊX§kLÍ<Å†©Xà¤™y¥´hÍ…yŠW™.'ï´1åÏþ}¿luñ/)5kER[éæîÂ2²q (êëÈôI
7FÉ­4O t±J7íãneòb9+£M´mv4ºÔý­BÚ8“áœypâ×jzÎç!ÌSäüúúŠ½††i C¥È¶ó3ß:È¬ºH ¾i>Lç
Bæ–¡6<{ðT}]A—‚6³¬¦é¾ã±ìq:Æ"ÇuØ$âCmlèÁÊ~Nç5e9m¤z¬[483OŸ(I±Ã:(¥Á\ž©òŒ÷n]æ‡‡ÙÚ½É{nª0Â°Ü”•jerÙ0'šJ‹}ŠÅ¢`ê½N ¬ÏV0†œS­6ÀÅ7~=ÚIã÷#B–³ê¡ÎTqŒX^}-k$:’¸ûfeY'ƒeM¶Xÿ ”)^³lØ³aÏEú5ÀÎÏÃEjZòÄ]y„¯SvÉyysã¡D/3$H?"K7¶ç8É‘›w3?ò˜ïÖ1X.>×Ž§ùd®þ;­›EXk¬øÁÄÓt?e#`â.£r×Û6^5‹eÉ=i‡µ¾øv¶¤e¶1³òÅ<8aÌJÍ=c|4;®ö?ÏÖÛŸœüs‚Ó×[Ï£¯•rŸ‰¯•‰	œÕÙª‹BOŽÓx\dÓ‰¤¿(¸§Ô’Y±Ly†’so“¥ŸÞqC™Ôé{ÿ )oôú­gSë}1Nå@:ÎÄ”‰˜zäˆzOÊFi€ìVÄi'ÎrAf!œ‹Š°èxÔGTPvÓ-h­koÝrfÈ¹P*}rJš‘>ExCW`YèÒKqÄ pÁê’Û:ÐrV&.NQ_ž3¦ q^Kòm…ÐI×—µ:êž^V6"‘ZÎk^>Ë ?T"’¶ka”ëV¿…ÂHìX·RÙËtj¾ŽSW¾œàF"Â1¿›Ê³é£þÛœ%iíM6FqÖ¼f¸4ÚÊVÑžYånWÃR²²3…wÒ±ïŒ€¼þÞßZ½º÷ø²;D­§Ã;†›Rg©¹	âå¹B‚—)éX5OÂ³_¿ØÀi/\|v¶¦ÏÈ>áÑÝÅ‡±ìqCKCË¶×Ú´j»L­Bz1˜ùl@ƒgà¬¹Œ¥¼)X_˜«¾ÕžûVzû{}°®å—æº<×\e9Y©$““iÂ–gÜzÑ íØ¯OÃNUz“P J3_%$FÌ²HbÃïc¦-Ì\+6Õÿ U^ˆ¥lú4—ÎiÖ¸gQQÇá·|C7Î”D ¯=3
p¯FËÆPˆø„-î<I8É
Ô^´ñ3Õó7hD„Ì0;Þd•×r¯¸â±“à§ë#YmtFK#+4ŠÅú"ÁK‡üÚÈrÒrýg‡QðjÚHÊCCã×Gxô±Öõg=gógòãÂò¾ñœ÷ÞzÎ8SaDOø³0PÒL/*F[(?:|¹F;Æq‡1Œÿ W~ÞßooŒ–öÂ¢nTW$U,â€`È“âX0!‘‡¦R5Òò#,¿ÁiÉÑ€VF’oý6ˆ%[A×ýYI'¯78ïÀÝá¯)ÿ Í&›‰•éZ”¦ôÕïÎ’à­<Ës3PælH[°§Ù¤
¼5.k.ºË…úÓ–¾þŒà–·³sŸ–+~ KèÀH_‡8èü´âÛSUØŠœ=yäåM˜7[°ÉJ0Bâå‹CJY-FñÃHz–þ¸­yÝ^Vµ$ûï=çÛÍæÆ1Þ;ûg?ÎsŽº9©ëj%1§§j°‘þ“¹Â2Ð£8ò£
ÇÔÚÎ;Ê½úÎ=±÷ÚN^@J!¡¡w¢ Tòì)âIäÄ’”þpÐá»d’¨ìˆô’MÙ¨ì‚jŠž3SA>(‚£Ÿ­òÙ=CÐ»ó“šS•œÇ›jÑµ'b2¿ü}/[UÇqÒ£i´jûå™ˆ*ü{¤¾öégÊÉIrÓ²’ÓFŸ"CŠã=cô1öÇø¶Ò1öý“éç¯÷ïžóÞ{Ï£•…Žë¸fÖÚÒ„úhqÊ}$«8Î0çïßYë¬gÿ åïðLÀÍ:Ën+ÔÂ–œ+8K®cÎŒeYë÷ñ‘Æ5`fÁ~#{ä»×þ¤è{Ðó@ý´4”ö¼[Ó}qR>”ïeƒ¿²IÙ$úëÿÙ 07070100004924000081a40000000000000002000000013d1fe2e700000ad1000000200000000000000000000000000000002700000003reloc/mscstyle3/images/cats/webmin.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ               	
ÿÄ -       	! 1"AQ
BaqÿÄ               ÿÄ *        ! "1#A2BQR3csÿÚ   ? õË®ƒÚn[ â>)¦»û¯¸aÖ4 és9àŸmôÚ½òÊ=cI²>(f(²É
¶¼r¬I·ãIÅžŸþ”ø!ï5üGwÜ~xk-í%¤©ÓÐPjšv²Ç`‘9~%®b„0r,ª´h > „˜ø
‚h%zMŽºéï§›ù‡ª/³Ý¹ÒEšãCn¸(F–KÑ²§Ù©<)˜Èd¨uüÃiŽ$Ký-}ŒOjC]Âì.CÒªYnLÔqœç—ŽàlÏ8YÜË+‚íy2z»”O†À’4Û==}†Sh³u=Ö¾1¥lã3cÐ&ZA+Û}ÔÛŒéù“˜ìÔFn)«²ÍYjÂÀ$TŒÏ©Öµ´³°M‘·*ØáEŽ,ÌêÁÛé©*Zª}³>·<ïe´=má
;‘U‘ä¤—SefÀœ©öÇKàÍ¤£r¶XÝ#qL‰îTzSí+<>WÓ÷Ôf²JAá0:ÝÎñH•;,|t”Ó—nø\ÑÜÍ=m]M.¼—Èå*w¹¦LS©‹qïð¨þMôÿ å.æ=D¨x’Ç³:N5µÕ¯ä5¹û**ÛÊ«Bê®3·C†”×ô&Ôè«¨–Äºá X^É†,oÍÎ¢z´õç³ü‹³Ê`2²á“5WA0ZË?´å°h_0,¥,%
¿ªt¬bx"	#û–WÄÍ¦¯á2SC6§Çê¨„«–ß>EÛ„pöuÔØ¬ƒ2ƒîFaéCUÄ¾[¨Ôi¼–’nËnÚ	œ’é²(`A•X#v0Õw¸ý;äÞ•ò”|cÈ®®³ª¼«ž=äÀH‹}@ðŽ\áˆõ.Z›º‰Š&vbJž–rÁ–2¬*l*mlÄ…ˆ|>äDEóÞãñ|xñá<"¢~~~µ§{êiÅ~¦Ü{Øî’®"ÄÎfêipÆŽãâ´/e¾ÀÕë'·‚¼ÆUWÄ<7âæ­øêÄt.Åf[!­ìl¦>1ŒfOT“OcX	ñ=2Å†v*0‰Q[#È¾ÿ ÝÓÝùÿ ðž|yúP²TUÒ$²N”™i&P´©°•únûY@eÝÞ0	%r['FŒêÀRr¨J,œª®ñ¾([i üà<eº®¬â¯OÊ£¨©ó—\‹¢Åè­óGØeEä¸ÿ $âê4&Av$reeIp]lSBhEL°éÑÄC7¼]Y›²ÝMæîä…ä¬^‹!Æg't”ÜÚt¡]PêÎ2]b[±ŽÏ5¤TJð)Áýá@ôz{jñ}œëFÓ£[{Q ä¾'(íÇtÊ-‰y®æ¹¯»©˜9øÍUÍŽjñà¶iióšßéÚ²LÆDhÐö§ÄLÛžÕî áã¸2ÐìÇ%Ûëêç¼~ ¢xÎc§ÖjMà„ÓÅ^ËU$yÿ rûG"*MF¶uÔ.(%X6íó<¢«mÌÜ—›à•SŸó 7é5e5MTE\©eµÌ•VóvP~ªáj½ŽH²… Eñç…Æ}¼äl'§o3zS¥-è¼ÙÈÝ¿ÏTâëTsa=)•X­<’ž×=­—‘‹¯¶=`˜²&–s#j¾ƒÎYÜ_H»í©\V‡AMÇ²Ô0¶Ø‰½â¼½3[h1 Ã+Ç~ïe››o,ÄÏÛÓXT)'Ï²¼õØ¯N'pí§QzÈ<Íå!9jnnæNSÖdrw›ÐÌmŠêâº(ãžÞ.ÛHÅ°÷(yî÷#ýŒã»¿ÊWZkNZEä+­CÆæO±×´Þ@ÓÃUWs&X!«¹–mYU5vÕLëb¿~˜ÙÂ&(ˆ!ÍñÞÊÔ‹B6šŠÂÔ&kŸ¶T60Xg°¼—šñ27ºÑ]¸í	ÎQ‘”2cˆÈÈ U[ô_ÿ MÞ&ëCÜ”äS ½%‚UëµÜºQÿ zZª’'JW>RžùØan‡ub{‰FÃ(d°+Ö"•¥ž|äqŽ"icGÈú ÕÏûlUr¢9¨ª®]çÂ'Ÿ+ÿ _Z}KÖz"zdk¸ÓAkP_w{ßZoås¶]&JƒKJ-&ÚÊ"GW•ú.!Ä\–ÙïG€?&iiÁùF³åW°ÜA?9M$g£ëª…ÈÌ¨ŠÖy_Ÿr'û¿ˆ‰øO„ú¶@ñ¥°SÚH»ÎF÷Âµy
ã¦P¸ÈÚI’v®hÍ9ÁIœªþÄ*½†Iñn$~½Ù÷n°e6Ë'¡ÎòOèm0\¯ˆ°K|vÆ¹±©UÆ¤rA8…2¥= SM[uOa¶Õ…_`,âO,n`¹Ç¸ýLïvKÃÞ§þØãí€)ü­Œ£Õ_qšÅ±Ì'î´Ö4€é4xLl²Ê]6Òšë/Sñ¾}yé
¼Z2Cšæ¢+íG{cs˜ŸÉU¾©üSûyò¨Š¾U|ýDÚgh®â[ºmÆX¤rÁ`<s±—·Ú¾Z×+~|ü»Ü‹ãÂøøú®,Ó!¸ãË+
ÉŒgo´üî=eSû+½rÚ:(u±›I“’¥O`i‚{ÿ fW>Æ{d½ô‹÷ÀfcÕë®Y|4QûÝ›²ä^þ¶AQZ©Œ#‘¨ˆ¶ÆŽR\Ê²+Ub¢Äë%g|½#ý9£>‡aõ}æíLá›O]Èˆòª*ç<B÷Ùòí¾v—#Mž"5XÎg
åïNµ€‡ÕÛ."ºëÀ&{Š+‡q÷=_*‹eœ¨Ï>åH-"j¯”óøüüøú·å¸óñÎ‡úWAB¿yÑ¢	mTj'Â£¦2gyò¾~USññáëùý~ª–®ªô–ÜqbP›.¶œ¦£þ•±Ú÷‘ã4–7†ŽK~˜Tš;+üæfÏa.ºaX|†–…ì/h9¢Óµ½¼Ò&£–n‚»?A_VÊü_eFšb«ñ¸:¬M}%t¤‘;[1ZÙ9v÷–¶×&›e;™ÂžˆäŽ&¢¢|,ÕO	ãå¨KQãü'þþ~ŽŠÉ‡sžùÃQ¨ß-TFûÞËUÈžSÏÃ¿ºÿ •ó-h­z¢1<"7ó*¿-EùU‹Êþ+åWûª¯Örê²” mnNº8$‰° më ¾Nž£ÞèˆªÔ7çµ?¸‘œœ’ $’}ÿÙ   07070100005f8e000041ed0000000000000001000000023d1ffa9f00000000000000200000000000000000000000000000002100000003reloc/mscstyle3/images/cats_over  07070100005fab000081a40000000000000002000000013d1fe2e700000a86000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/cats_over/apps.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ /       	! 1"QaA#$2ÿÄ              ÿÄ &        !1 "A#23RÿÚ   ? qË{?“ÛjƒRjê—‘Ý6c±°‘#¡Æh|-¶Éò!'ž±¤AŽŠ9I(ÉÃ­ R,YØ;Ð¼3à~7*×qÓ.æÖþ©&z»<†â—fYNc³m(yÅ±Þ!SYk,‚Duu>i—Llæ’ØVQ¸^8Yá×ás’rzœ _È.KÚ²—\xcœµ¨\÷5¸,nˆ˜Ñ³ÔÓPÓä»FP¤dãZ’HV,tM…Î}a¿pmk‹FðÆ+6†C•è2ì ¸ÌÒKkHò7á°¿¹÷„½ä4ûƒM†KCÚå ™VL÷«QR“…àsy:a¤º»dd¾4‡GV¡Œö5&ª•]˜ÑT€ši^wî¶»˜¸ÓÊ¥¨JÞxøçf6õw,¡¤ÊŠfzþ[Ž?‰Ç9â³@Çá.§Åõâ+˜˜Œ–eÚÙÆ™¨Á¿#¤£W6.ãt‰…2'»§ Ñµ/©,Ãü{óMøî¿øý7·~Â²'Âö8Ür¤[|ÕµÙRÌ»
l®Þp°,zM…Œ1ç	_ ´Æ©é£R>@òO*gÅ±:Z—²bätQXÜ+ˆë"B<H“$Q¾y;ÇÊç9ÉÒ"ñ<xØ›«õæFª@n›x\Ñ1J*f²(´ÖÐƒ¨ÞDs#òÈˆˆÕF»åzUNÒÃî/²ò8lyVï„²qñÏøÒÈwz,û7“;&U+¾Çº30wRIk}ñ÷j1åšÁ1¯U±ëàNýT¦5dNŠ‚Œ¡Xö(ãëKù‘Ã]ƒÂ§ºÙª´©¿Ë½uŸÖ
X´™þ>)ÂYA<“þyQ)bA‘ãr–QÓœ¬*ÂªÆ¦ÞÆ¨ ã""6h|½']<Nº_Ÿ3üÈ‰öD_²|}“é¬¶àxˆøpmì*Ñ‰i¼øÕFÍÛG.º4üf†Êã‚2^×½ägu.½¶Y#"YDº.Wž‘
¯W@=ž2Îø"sk’Dse®í¢ª»åWåUWõúçyX8¹6Æf¡¤¨ÊãEÓâl¯2$_££%;¦@ž›ƒÉG'9š´ì‹EbHa¶ ÍÑAUyºº6¶¤©*@:µËÜ(ÌãÞdRµgÄé5†=_vÈZ¯r·ë,Q*µÎÜÇ56dÎž®‘^âºwi'y%hrè÷nÉÉñMƒReºÛ$­£Ë›5ô“å†å T>®zƒd:sVçßþ#ñíÖúYUºÏÄ­õ†æ|#ÛÜ^Øö€žèìö²žîuæàöW²YÁ{“£_8ØFQZc¹/‘eeV){£‰2 þáòN	PcµTeäür».¤a·––ÚäÛKB«"W˜IsÙb¶'É6C`é\±NQg"Aì‰•Vý4<Ëãñ˜0ÃÈ¾6v^Ug‘F›‰X9î-2fóÒMÕ·ø0;R6¸4Èåy
çC/3TÇÊ’Õ±3 Ô0ê¾	ÝK©ß‘XÀ½¹àñ+Ùny<öÑF^1· QÚªøh]+½Ê’éG_•pÂ‘*ùXÆù«¯#ó¾áÃè}3ÄÌæ|‚Ûûýì[ð	+Þz5•sBó`1
/fÂ.@5ž$©æo °Œ²#ä{_ƒ°±þÖ×Ë",lgNÕ11ì³É4îVkyÉI’HÃtmEŽ ŒÁÕ…,ñZwSÁœëYXaÖù.„Ó1¤·©šÒƒúÊIÈ„ˆ`:†½˜ü®™†’¶VcõÄ#Fœ‰Ö¾@ßå²kÏä¹ÙJó³K#.ÖW3`Ãb¬ã`‚  þý—>‰Ä§Çq¼~Ö4’¾6$`WÈ½ú‘ˆ:ÖôG¯«•à©”wµ7õÝ„Þm{Žhø[—Ë/n#ŽÈ.¡I‘WÑgt”¹“š×§™ÑFKš¨ÖIÚÙéø¤ŸXaJ…¬’Pˆ®Ug*¯çNÕRF"ü"|ùS÷í~WI4O0µ·|"wF¦ÂrÐrÎ]r—cç¼®°¨=$2Â¡‘;½ÎiHzbø²±.è±š°Á±sz ¦6Èy``š¸j;¦t1ÕÕæ¸ÇµÈæF¢¢±ª‹Ú¯•?ŸºëÌòyÜ•r{:M’i- Û,ÒJYƒ]__²Š¤kxð¼{àqñÆÈwV£¿èJ3ôFð×z™BÀ*ŽÅ€'Ø Å¯½À9.—Žfôžj¸kÁrÇî”C«ÏˆfÚ’àg«»¥°„šëjÂÉÄyÅñº?Ä¼#ö¸ŽÃùï ã6Ï!Y›ƒ[Óävš’þÈ‰×[TŽ	’d82•*8‚(óŠ;ÌVš)üòeç#%’Ù ÏrFª¨ŒzþvÆ½ª"ª/Äh‰ü"wßkÚô©v;IA ÷5¡Ø@ä•#A+\Šîº_<nï¤øOŸ„Dëì-’ÏÉ ¢„.˜¶Ò¢¢Õ´;)•C©)^¯Ø•`¾”ììÙ;ŽÃ•*w°e¿ƒí½‚]Õx¯ñ¢“rºuÇ®¶>Ž“4hÊä{aRJÙT$ÄZGÛ$Á}GH¨¾Í½,NlíuàÆJ3pþ/k¿ŸûÜ†HvPºÅ˜0‡Ë¬ä;6Æ‚‹Š‘Ö«ÿ µXÎTq^ª„dÃ'¨P…K>6é%$™µæ>é•ÏU³U]ú"ySççáåWý|'WŠë|Df9‹ÔV#]"µÃ
È¤Ej1SþH¼û»¿ýt½'ïÙ‚¹YiªxÁ` ILé}þbñ4>‡ö¦¾v§~°Ž<eü²CØï±zÙÈø'Çæ­Ö`üiTúaðhßø©sýF›olÖãadS
Ñq|/­m^¯©=i	Ä©¤<™këÇ–i$t¦Xk`D²miabAÉÓˆô¢ü¨‰ù:Fÿ –ª‰ü/ß¿¢\hD«ß;ØÑÈ‘K¿²öž²µÈ½'~d^úý>¤ýˆ"º%rª"«,Îrª¢*ö«'ïÒ¤N‘>è&eTz_rl‰ÿ ÈÖV´5ð4>†‡ÓYbÖÊ›=AUaã¬Ñ€bž‹3dûcùï_ÿÙ  07070100005fac000081a40000000000000002000000013d1fe2e700000ad1000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/cats_over/cluster.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0      	! 1AQ"#q2Ca¡ÁÿÄ             ÿÄ &         ! 1"#$3AaÿÚ   ? €xñãv÷Ê~X â-¨ÏGtÙN6ÆÂ8â¤ÍgÂt)m¦¿1ÉáTV!Ç+ÙÄiAV 96GŠ,ÏWOééBv[i®òÿ ËxëE>ÂšzlõÌYû¢J<Ö5ÖM°ÇñPW©50–&›‘”5
Çí^@†7cÆË=:½.´~OÒÕ‚ß ü˜¶Ž—Žˆ° Rä®ü¢.k0ÑÍûHª¦¢§Òò”¡Ê“jI@UØÆ±$M»mlr‡)\±Ïä‹k5š]d–º	VR­Á8ûÕl.³žYgcáyeM;ekdIãsØþèRÒ¯}•3Ë:GdkÖkÝEÌÏ8Å}9Fíä%ÕPü×úîŒM<Ùg7Øê°)žt~ÉÀ8­ìÞÐT°AÙÂAÃAåß[Ÿ(r"ç4¸1â
®,š™4šlÅ–£ç°)ã,2ÕúÝ=™’J|Ù?=‡çNY+V2±„ûÉÒøêiŽ¬‘¸X9ÓEYõ[\Siè¦2à{Ñéjëjéu¤I$ŽbSosŸx–$!R˜ë$)ô|”ü±š†¸o&-Äã	s¢:6‰]WQµß¦þ”~ÒÈ"U*†Ž–WÊ"u'¹;ú!pü•Ä\%«½up¡Ä9ÓŽ¶/5!)ã¤®+=ªÒ¥bDù$cXå|‘w^}ZSfl½4‰M2[›¹«+óèM6¨­,^aÏGô³IÉŒýz™„[½]L5¬ú£¿>y™«*PgÌùcœ «S?ì¢Ž^Ï` €gÌ?¹'Â.Uù†ZUÞU¿ï*Gxtê!&ŽH	P‰ª.éç$1ô™Ù‹(ªyÌ
hŒ°«±©´°Ð²$TNÿ îþãøý••ùé?o«Vò¤UÞ¢>ž<ÕŽ³‚®rñª±ü‡´X šØÓóT–—ØcèéFÞŠ§MÇ–Ë'µ¤I(—&LóÒ2!ªÅ\ÀY×aµkƒDC c‘[+È¾çî^ûùïö_„øëè6Ì4ÉªÙ*®.QŠ5Ê’
+ÂXö<Ù(Ý¤
>:Å®{2ËNyÄ¥‘íW÷)Z¥|‰ADnÖí%IT ü²—xÙö¾zlN­~B“‹ó•÷-‡¿ÄþªâÅÏwiOÔû&"=¿q\âU½HŠ™yƒÁ¥VK§ãþ_¾ØWcWÙþ$Î_…Jar˜ðÍ¢¸7“‚rjÖx¦­,šA³…ŒöF±¡½_Ë§Ë!ã&,ëZ7	m-í@¿p™c ›ŽwÌº³¤lNØo¸Ò½Öôzytàø—&[M"	ÐM+Ã8*ÿ ‘ø·O¸ã.XÒÛê¬¯¦ÐÓ^iˆÌgu_d
BE‚Ç–Ùoª€…–ÀÙ (+£ ¸ÄrgxËŸKúE¡¿§äéC¨[&ƒ£Y)’·–†…Uëü†\ô›ùZM)êg,œ¼»pÕg|}C_V=6Z²Œø™i²Y­Ñ2’™ªh¥âJŠ¾ušŠ;–'’Kˆ7qæürÎRZ‡aA`.z ¬ápÂÍxÆ2&Å4Ñ)Ñ9l4@>ÉI3[†µ½‹œô>9I|Ë~)ÉrÅo!«¢=¶ö<MKB¸‚$6U¶ºäcTþ!sØÅøÌùl¯bµ‚$­qIäù%­Ä³_“¾¾§©‡¤µÏã©ãâJ÷êe± ½&™×7sµuóDqGgßÃ~²8Bjd:6Ž£—úÝ'n8¦«,Wº;GÈdq8j!OÀ£>À£M{˜£  ˜;É0kúÆ“NÜ\£E%Z['PSáê–Eéyg]Iš—œ]¤æž-ˆùeæi4-%ÓXøYÏ$Ë”µ`+çé2/ÔõV8ÛLóÒèµDŸ›'ª¦)t±lù´«ù„@8£ÑKbV‡•yúöÆvÿ @çø>$Ø,Î÷		æè2«òž®ûm_Ñ)¶.FÈŠçDÂÕF²Në}ÃÁLOáç”¯t’çÃs•\ôU^œŸ(¦"¢ôt¨Ÿñ×ÑG¾åo$ü$Æó%+u:m•”:.
¦X›…©§ÍÛî@¯«|à€å.N˜23xîåE­‹jé5!$¯˜¹EÖÃñ¼9ü†r•á­©g#‚‰Î÷24Uí}Ÿ*ª½üüÿ ŸŸ¢gtvu]7ÎÓÑ>'9Òq¥'DšIMhž{!g|Q»@xí,çðîM:^y_=gfî¥#F|êîdÍš÷“v©Os­'ÜX†ç•_VäÞ©ÝÇUbÖ&›4ZŸ³&¼€†¯Oúë!åÎ´Æ¢eZlSp²>¡‘ú0¸œ½1Y›þÙù“ãêø³ÈòtœÓÅ¹ËâxÊüå_´–µ7 ôZlJ‘'s‘ŸÞÓhr%e›Vr¤’’U{YZ“!+ž’ºEDTEOôû^ßß®×Þ®ÿ ·H‘«ª*ÁçÎŽ¨¸ÛÉƒŽTV«~R_¸ÕTUøs‘U½tÕDíô¾z­$öK+ZÈ~GUSô ŽÖÁæã;’ÖU@jåÕÔðZ<Ü=ÁVr®¼úÏ¾ôÊôZä=,ûGz°xÕYœ*Y"’÷}ÀÒîV¿î$RG"çÈŒÔg¹¯û¸/ºéUølTXß¶ò_ÑkÁìßxqÅW~sÍÍiÈ´¦†M†\'±¶å[üÝN2£:õk?)œ3–ÐbÙN´&&#Šl+ÆŽ6ÅÏ#H÷K'¹îAbbªª{¾=¬N“´ÿ ßÇñÔû+Æ˜LtR79™­¬XdTcÇìHÄ_—5éßkò©ÿ JþÝtª‹R›º†©²SIìpª¤çä_¾,a9{àþá`O$©>þq>‰ƒ+Î‰%8(O’¦L@!£ùŠÕbx<+ÈÇØ#Ä&®ä³ü‹æú˜{û©¿&›!‰§/‹ÃÛž%Z‘¦0Uâ5êÆJi–VçË÷¶µ²:rŒ{Ž€(ãkÆ1¬Oj1lÕj'ÇJŸuÝ*Ž×ÿ ŸR˜%Ò=‘öÇôÔö"¢vÆ¹Wý^çvª¿*ŽOüüýwà¤Xc‘Ë7¹íG/Og]¯ÏIþßÂ'ì‰ü'Ö4+ýƒŽAÄóô>ÊèAÿ 8è¿4=gîï§´ýp=ò}ŸgßûëŸŸÿÙ   07070100005fad000081a40000000000000002000000013d1fe2e700000b01000000200000000000000000000000000000002e00000003reloc/mscstyle3/images/cats_over/hardware.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0       	!1"QA2
$Ba‘ÿÄ             ÿÄ '       ! "1A#CQÿÚ   ? q³Ž»“ûn‡PêšFYd7ž¡‡XY¾>áKl›!6È”JzÆ•d‘ œ²Ì$°.Èð…šëeµþXÞT¢Vâ¹¶&'/ùjÊÐÎ±£"¶Žî
¢H<ö5–®²Ã5H.W)50”I±~‘B°HJ® BÛ2¶¾UÊ?+>é®jè}Ò¶Ÿ‘™Œ´ùf&V·ÕùDÖtøÀÙæa‹mÖW¬s\)2<g<jq‹,I°Zça]YÞÄÊØe®HãÖ„þÚ÷a ¯³{C.rk[~Cæo·³»³"Cì´$½QžiSÊAsO#å–iç¹\ª«Úù„pY§—óØü:ä+þ,òG»5¥ë÷¨¤#S9DÖa†Ö®Ô!X*‘ô•åžLœ±U©‰LÏgª×`’U˜%'VÕ*{+(Õõ»+y±¿;}ó{gt|lÒ8ö¼{–6bÉ”ØÚF¹ƒ}ô3hèÜæÄŽÏL)‘=ÝƒFÔô•¡à˜½kèsý.'w}´26£2ÃV¢’c-ßš;™“ÕVÓÓeäºW+Qžãl˜¦¤!ÓãäðùôÆ2MŠÃäau"(ÄiýéÉŒ’á>åö”—µxë#‘Ç¨Ýªž¢9{û%õ<±¾gæÔãÞÆ>¡ÑõÆìF¥±³¹ä~^QÙ–¶¿M sIÆLÇÊÚ[)#’Ë¤:ÉÝÑñ+‰ËûöVÑž[Çâ;©2´Ó”=R{:W§u!·pY•_N¿$$ÃÍr1­#|èe%Àe…„À¬ú5I‹Í¦=Hî¬‡Öú²©ús3‡;?…ûV=i±ç‚Þ¦ôC-õöwLÑçÔO$'Í4•wuù91%M1HÃ,*¬j­l¥¬UUÈZ/óÒzÄOüún¿¯ŸÚªø»Õ<ÍÇüÕ¸“ÉŽ8føÎ&$ø™QC±õ[…gÏÙ5Û ñÌŽþº
kÒðœ¥*î“º×œØ‘hÜ§8ñ’x¢Så²­øQÎˆÁ¢"7 ‡ª+ej9'è©Ñ~SÛþãÀi“—)ä`ÒY8vá•:œyÝ7¥yÎ³…UY
°Á½8£uÌ<ôÈÄÇ´„í4ªEšºäP(øt`Ómÿ kµÖÂŠ7þ ±	3Ê;Ë>â™Ê¸½n(ÊEÜè)Ÿâ2UÝz}K ËÚ©",ªõ'ª¢¤ˆ³ÿ •µ|Ì6–1[¥qËÛ|&ÂÇ'ÙÙ:ÚbõB]˜ˆfKYÜòÚ»»hA§ÅòM@˜"Úà$D¬cUÌs6G.<»5w0Ì~ç)Øº{•€eép¤Xš?³LoTÚg³wÇŽ«ÖYöp-FBGlâÕS]aÃÊøY`×Œ¼XsøÐ°4o"q|Ôséò\ž¢«[jYªaËC[dÚ²Êä¿ÕÏOm`I¶pØI$Xæ‰ÃŽ°=ª’¯ºX~Q\ïÍñÏ§8Øü?“/ñ×ä?¡Àeµ!›‹~Ž³£m¦ÃG_
~IÄ_:˜X°Á¥ä¹xÔnZ°Ž,qó12Bâd=2]¡‹Lw	‹•æòêm„ÕVùM~¸¯ÃõÕÆÉ¹Ãò\Ž—±Ä/g4ªl~ìíì¶¨Ü®S°†º;EŽiÌ	²Õ,uq>&«{¤Å·¶„ÀsÃZêª[Ý±ˆ•a£(+NB2°&¹§X\OyhpÔØˆµÒ±2B„X‡>:Øº¹"ðÌùPÆ—úû¶Û¶êÛ$Âò\Ótâa¾œžÏ.2’S²o¼§ÊÍÌŠ¸(GS—XU-k`:oŸ%l–"Èv—#/-ª©)xË¤²ë£E–š›üÿ :ÚÒÈÙY`×W‡¶&(³Iìˆq‡ŠI¥‘Ícç/O®í¯Ü£læOœUøÓÆrÜî.
ãgR4žVn>nÒXm“‘—lyÊSw–EBæ÷­,PŽòX9pÉé…j7…A!Ç£v\)cuì8^KýRÕ#,xäÍeÒÀÿ TÛÈD•Ì·zØÙ½ˆ×kÃäÈÝ7°­OêÜŽhT…Uôû´ÅTz{ÆÙ¢;ÀM$ú»šhàt²cá¹êð&{ÕUýÎê½Ê‰Ñ:¢ª~½ºxé`Ö\“òýÄöþc¸1ìKßÜâÄâÕºç^a²Ù^4-­]^ÁÈ‡[¬-¸&=šØ=Ô3Î8¹¥ sžKAÌq»Ö¿Óøv7Jª?Zê‘FwYKëÜÆuw³^­OÉWÙ¢|'Hp¸™’âpat¦.L¦âÑñß¡z»õjdhT³/y» A+­Ù8ÜwŽgdUp6èj£3“Ó°G¤+° ‰ùÞôÀ—M“UÜQæºîð¬3ab-ž/’„$E(äº'ŽPF4O
Î¢ÐYg®¹§²ºÛjÒŠñÈ‰¯Ýg:8¾±Zm_æG¤]¡6m@Óƒ¼ðk ±×6„I"ÿ ®¤¼ÇÈò¼"§W–F3ŸSäXe2ùäÊzK0ë4³ p²x`½êþä|sWÓíT^ÕøUUê½=Ñ½¾3òk®*¡ŠÚšžÊÚ­– ŠXÜŠÖ»ãÙÉýÊ‹ù{§ÏUê«·*ULïˆï"Õ]¨ÉD$h•3 €GVvRì­ô}±NDj’¬Š¯iÕƒ¦íü@$•d$Ÿ¢.EÂ/(ì‚Ïïµ~nÜq Ã•Ï!ØõÆÃÐîÎ2¹ØTÒ6.>D&6>æ9$À}GJ¨¨;}%×«çG”_—TGÀü(ç7)æÊjìÿ Ð<ªZ¢	Ð¹Ö{vã¥Ä)qéØ«ÍÒØ½éÖ%]±1Âé	*3ŽzJÌ˜‰/\cO˜§½Ó= ±Ê¾£¾z|µ>QW¢¯¿ÇBN©uæ(n;‹UU,R/c†.äüÑ>dcÓøëñò«û_Û›ärSñòrìó}¯Dš°¨’HÛä|û)þÔïã'Œâq«íž •Ápå_°É¯võüõ¢°ÞÃü€Âªä%75§+yƒqY˜í;À‡­  ­Jœ3[bÃÍ)øv	Bã,ŠŠºRˆ™1gÛÙAV÷¶–·'c;öBÙP7¢v¢‘`«Óøê¬…[Õ~éúðF`±XÖ¢·ðc‘ZØØæõjõF¹¬EFûtDê½ÛÆtîVM#Q]Ñ®TN®z¯ý¯w€¿‹lúÉ*­½UN¾?R¨5ð5  þ5 5¯9«’fÌ@×Á6–€;ÿ žK'û=A$’Iþÿ ÿÙ   07070100005fb0000081a40000000000000002000000013d1fe2e700000a6b000000200000000000000000000000000000002f00000003reloc/mscstyle3/images/cats_over/kororaweb.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ             	
ÿÄ /      	! 1"AQ
#BRSÂÒÿÄ              ÿÄ $         1!"B$2ÿÚ   ? Ëxÿ Ç<Û’» _«1·Þe†WYZÍŒ’:ªšš¸šãno¬µ[N<Ò„,åøÏ<†– ]‰¡Fœo|¯€m~‡ð7Ql«‹Ü ÇÙÚÔ­½]YlD"•>…Õ3Æ°Éc†ÈSa¶9™ô"+	ûéâlS±Éñ¢ÆN¿K|‹“õU §!y1lÊ]w=€–êß»&ê³ŠX%bÅ=U->K´fD [bI®ÅŽ‰"AÓï%²ÆrÜƒ,ØÎnYŽgGu¶ËÊ’KC,Ý$ÆYØf2œKÞC²*ù°³ûÇH²š³4ÏD'Ý_iìÙ¹ùëIäˆ:¢JþELŽNBL©—VgA¨ŽÔ 3å5º3ÜûÖ.f6#5á®PZý`ì((\ÕÔPÈg.4Ñb¢×Pˆ¿zÞfuúêçEñäZ•óÓV…“ïÏíµË e”MR0¤Ä’(ouÑÊØäëËÙs\Ð Äý>½GªÝE°´qÝöð¿ô|Óe-4åÛ> Ï(««¨¦ËÉtŽV6£=ÆÙ1LHB¦)ÇÉá…¤º&ä>IšVTÿ G‹&F]–*#AX,c’œreIØÈ"ZøÐÕÍ‘Ð,òKþb5É%Tqÿ ma9.®¥Èi§{HÄ`–‘ùFç×ÙÔˆ¨s“ÞŠf¾7**µÍòøwÓŸÅ1õãÈÅ-•?ØÂÈÆ¥O*2UÙjcF’ ÓÆé÷åÑfü‡/‚ð¿îÂthdG!J•b‘Ñãå@J´Ïš±àÀk¥íÌnì¾m6ë=„5}åuà…]kìþ¢¸‘(³Ê ÈŠÈ&*z«ª‰I˜²§¦œÀåavV56–‡Ùxü(ŠŠŸ”ögÿ ·KÚþW´OŸª¶Û#ê'éá»p›8Ùk½8ÕZýƒ€Ú¶8_pm†3KgqŽÀÂŽ‘óçu6¼·YD²‰t\¯°lDC)õAºÎ´+fGD`ÑÇyOò’5ßíÇåUYŽv3`dÛ&i:²7)³© !V™~6Z/!È .ú}…XwieOe*‹A¨¥l”e¡l¨sty¾¹©e 0S/ðƒ³Ž
znÏN‹>+G­(+¯
,ƒ.Zýg†
3¥r~Å!“ÓfLýí÷ç©Ò¤ˆ©Ç•;Zñû]€ä†¶,×t‰e‰ãÕ£À¤‘UFX²’æ¶FÉ%¢‚ºY¤ŠgÇí•h¢Œ÷D#N,7›éÅŸcŠã~cÂ,æÎ¸=—ª‹°ÍõWêdù‘k…Ø]Kn5 ˆÖ©·Êo,ñ\…£ÄK«1Œ‹HXçÈá™OQ=µîù¥¹ÁÌñ‹\uÏ×Øž³Â¦±F‡Xi.¸Pær¾&Ç6K+œ‘»BÂRášQ‚Yžöïj|ëÅ«©@y3K!Ú«PtCé™äçùeÑÑ+±]ï·°ïIb?Z²•KØË)üâU,ƒëÉ>®–—/ÖÌû:¨¾Â¼Y^8ŸÆ7’8ê«÷Rôˆõ™"d¨žJµR&¹Q‹änñƒ“¸î¸˜:0íå}VVE\ƒ;œ¥ÉP‰Ä1 {‘Œ”rãŒcÞÈü–‹ä­Yb@aˆâj4Í´«(Ú©‘ïqQš4’DD_ïs›4`ÿ r¢#‘¨äv•ÇÌ/ÙuMQÝ]åG]Ð&/ETvV÷Ö²ƒËLxŒ”£
4SŠq…c§|Ë¶ŠäO¥½Ó¿6V7lÅW¬&ÔFÑå9¤ÉfL8Î¡¹++l êŒ´ØØNsYˆ˜#ü€žwª" 6~SnÀ‚¤hü•$Âô]ËÊÉ6ç!r2ÈIuÍ”c²ÉäíÀÆe†D!´êLûMî’›2sZôò|L%ÍTc‹8šq¥O«°y¤.e|”¹Êã×*ôïáA‘Q?²+Ýñ×ÏÓ‹';ÓÑó!Ôy$Œ›ê.ï]TÐ0©’UÓ]TÃŒåw$
òâ¦Óúþä÷þ¶,j4;7.«c\=¨dÆ
àzÆ<{Æé kjDRF™æŠÖy/—¯^ûröŠåTü|~!ïÝÅs{²!°„"FÄ’JXí—þ¨´â}´Â¶€Öô.Å\Ûz,Áj?”'Ñ¨ìâc'¢°ùü7Db³/År<k`êœæ|/h`–?¬aù]3 R«öäqõxVu¢Í=mÍ!£M[oZIUöÎ!1X½G¸kÉŒ~Ÿ]z›ê«M#µ©†ž»|áy¶½²"IŠ}þ26K–`–BÈløÆ{Qátÿ vò$ÊN½0ã(€àŠñîYYÓY]1{E_(Ü®W«É\‹ý‘z_¯+œ'ÈX®ª³Še‘Œ¡ {<Q©ðˆ‘5~•r¹zøN›ñõX¹5ÃªnTWÚÕ*â ±etYètÀ‚ý+ug±¸ýkÊtGú²!FÑæ|´A!¸‡R~¥}ô›¹ké'Ä½ùoœé/U>\h,‚Õù^“nMOM°ñÛY€—ƒ&cTÂ 
FJxSAVI0äSŒ‘#çi|få¥×¥f°â.qÎŽfÏTUD¹Õu¬˜•)Ö@:£+lÞÒŒÔcs1V“OÐäÖ–ðê»sž@|™|LÐ&Èò¦×”¾ìÏW½Z(ýy+Ë×”/TNÕ•^¾;ëëµÅtž¶ÃckqÜj¾¹;òOd0X¨­oiÓ£ŽDùùNúøDüwÜºfå9v¶EœQDÙyéL€]Lª	‚ž¹/Â1ùe$¸—oÇ@¡!~jxí…X©4üÈocžÍòãzèX®¨ß•Ü¶¼§åýÔyÐ»ê~¢”º¼'ZãK1UØvK9‰E@¤26bì-lŽ(«{Û[k“±œ‡L~4Dé’"uññ>?ÚáÜ©ßçåW¿Ïóõ­:¬XÝ#X’1­j+à¾*ÖöÕF#[Ò§ÇH‰ñõó>G9R:Eÿ žOý}E~Ãˆ`8©>×ØSü·À× >¯@u ² Ñ\ˆÐ@G¥$òfäIäw²v~zÿÙ 07070100005fef000081a40000000000000002000000013d1fe2e700000b06000000200000000000000000000000000000002b00000003reloc/mscstyle3/images/cats_over/login.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ *       	!1A "Q%ÂÿÄ              ÿÄ (       ! "12A#BQaÿÚ   ? `}±ì.Cehì–Dcäg¬32o’»O¨Â&Uì6û;äÐ8²‚†nt…ÊÉ‘g.]¬Î:9RO™4pÞ`¾¤}õJU•M†È›7œ¤Ní½&ÿ ’ qSzVA–‹xí²’tŠl†B´Ù1…aahñüµç¡orÍ&«wŠ8jB¾ø‚J»Ó³¤}ïf1b–gÚ—¯Õ¾bÍÊÑ±o”›‰© (ªC&´tM^&Ó“…™Šå¼³×‘ÑR	œ€‰[ÔwÁ¸Ksi˜'ë®4¿çœ³A´B%+sƒ¤ZíwœON§6ƒÕ¾R©ÆJMµäR³K’ÝäYfR2’+ãë¡YBéKëÃ¿Â-ñìÝã¼®úá®ù5%—%!ö­Aj	 H´ªüµ+ŠŒ®ýŸ(iÇåéŸ^lÛ<vEÕìžËi[-‚zUÝÙëÞs%TqYDïì[¬õ¹Ï	$ZÀëf¯ãµDHEU-2RddaM¿ïš=„ƒ0•.äÌ Rˆ‘Ì pl™CÒq—O¾£‘‡€ÈxI†¸g	d”‹@°Ë»—2&+c'g‹‹ˆ†·¹2¦"û["Îˆ²†tgç@è×¾¹jÔ³µ×aq¢äŠ©âa=úLfè¶*Œœ¢…Q6æ4ZvèXâÉ¶1Ê´±£“v£pU›c‚
È¶Sñ³­R™ÅÒ&l±pÖCš=ûØ¸ÅV®J iWmÒIHâB°R<d'¿|uˆÒì:.˜H¼7¡åÚåÆ§ËyÀ9´hñ­²ìÍööÊš´Iiä]è=™ôzÃÎº‰,cÎ­Ø,—ŒñßŽky”jÉ£ï#©³Â­<J^ÝúïŸÙÕç›€•RØuíI»¦y/J²™qžBm98ÑÔÖ>¿ÄG9i|€fá$¸jŠ‹:^*j!W-P±ÖÖvéxeÞ3TŽä"¤be$eÛàZ|‡¢¿þ¸Gäy óùªLžö¨÷O¬ûŽŸˆHì.©„…¦²eÛ{[[="*RF6
I³Ô“‘šµDÄY±½‰Œ“vÎÊ¬æ$é.ËS3IÆ²‘E`2O$à†î_È(P7?Õ·o‘øñù?²gzFÖBV„v
k7Q’‘eeT“¥ž[«€IÏÕ&W–è%Â°îªÅ
ÕFä£¥ƒé•åAÃpP‘À }h¿|à+òúÓÉijÞKSªøè¹Iš©®æ-B¥ŽÉ7ïSl £ƒ'}PL¦tàÚiTÀ½º:µƒ5å3â,•-Kc“+rµl[Ö’Æqwk4Ó(…¤#ìÓTvLrKVßÊÆUÓ†J"GÒ1×0(ÕéòµmÓÒ¬½Ó®ù8Ê%S£ì6Tíâé¬ýÕ.zEÓö³‘¤9£¥)6«•jt‰$çõ•¹úÑS!…ÉSDSÓ®ù©60í«T·[/à|W–k9Î÷o!6«s‹5^»RŽ®HÓgí¨…jYËWð®˜HÇBÎI¹…gì%2ib­>˜Sñ…+ã14|Ç”ñÛ<Oæß6+ºIãåußì“£¥Ñ2=û3òuRå›er-„fÀçÌNÏ»Lï›N8¤Òtº"…žÉF‹ëb	¤«3D^V‡:¿ï–›Ø2ý{*dzö@¦çë$MNÃe¸:u­<6Z¢’·é–Ç
ãÇfe*šlÔMðLÅÇ®fŠ ÖsÄµúÃ:•ù¤]îVCÐ"œ+ŽØZ(òl­²öÕ†©<ö+ºSÚLœÏ,‹†ï—f)È¸¶9 þiuKéxÁ’Ñ-÷oAPYÒn?K–qÔ[@]Ãç¨½|t—ŽíÊA;tÎåÂŽŠ¢É“°£½uAé½&¤*[ï¢Âyä•[Ýåh¤ƒD\Â–WoHÒG
Tj±)‡¨D‹Ü¡Ãœ¬ûGÙdÉ‡)Ó~oª¿—Âr…­¦â–µÕÓÝï³RÆÌÕwzrü-XLH]½KmVY)’ýÝZ•EŒºM&ÊDÌæ©>ŠQS…½HÈÊÙwÛ3[Ã\è7X^UÆCÉ7J“Z“|Å8³ºt¬{ð#seFWJ^¸æVS±ò‰òÉ4Sh¢ùsÃ…t¾.£¬£µ„ê@31„ÏSðo¡b €€'7Ž<þX®]Þ{V=Å{a”âòÄÆÇL“^5
ÛTeúX».3ÇUZîTÊUojSHJCTËÝAé}ËI;cº›(Y/ãÊ@‹P]§^¦Öá 1±-(Wà%'p÷w58óÉ‡‡Ç€º²xìYô’tÉ**ÃM4ï¡ì¬ö»#µ¹ zõŠ$RjsJûµ[2HÆ¯6Od3À)HÎl©4ª"¯è|»¿ËQÚ­F,`’ßU±Ö²)¼¯KÊIÜSípÆ@]G?ôÔn»Gß‰ÙIÄJµYxÙ˜G­–—rê>Aªí(Aw'÷×I¶Þ·ú b©\•a™!Ë;Ñà¬3æ]s¨~_BÎVÛY­tT]¸1Þ¯Y¾ÃØ)°ÞìîjzUVë’jl$EõÉÜ`2` àÜˆvöˆò%ä{Äüˆ× ùø˜kuÚÌCE½DÜH»$”Ñ ‡
Àyçä@| Ç =$ÓLî¦ ÍÕ˜Š
° 'ùÈ¨aÈ*C#²Ÿ¤ï)ÜZrtp;/­z·ÊñÛž{qû†à:ŸàËûýu,=;º?XdFn7«æºÁÓŒ'XõÙœ‘‚Ïv+a0¨Ûœ‘á'…K¸†*”?PÊˆ3'‰¸r9Ó£.‰²y¥T¦÷ì«–îâã­íÐ^·íÓS'êÌeiJä-F6PþŽ‹‡«'ÒI®héÒHÊ:hs­AÜŒ¾>€9–PLqö-€DD9ñÏ_B!þq?«c:=K]©BFzJˆÍØ¢Cb` <”¡ö<ˆ   qàzÕßä5ÌNúKËö3ê“¼Åg#_ž94,ö§éhø<xÜV9äŽÀýíFV%O)ïj	’?Æé‡?Je<»•$¶Kg¶“È“g]„„uNÇµäÔUÃµ:uÞ&‘ÖTà.^HJ?t»‰)‰99G.ßªÛ}0 àŠ qãÂ$ñõýLÜÂüùççïòlÜÝè*°2f©w&NßH¦à@¦çÏ<pÀŽ|þIÐŽ"ˆ¦¡œ¼î9@ÃÃ ä|ðÛàëñaP ’Êyý ÿ ~?çþ_é¶d˜ ƒò~ P@äÏfnÄŸžy'þýÿÙ  07070100005ff0000081a40000000000000002000000013d1fe2e700000a7d000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/cats_over/mail.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ /      	! 1"2Aa
#$QÿÄ               ÿÄ (       ! "A1#2Q3B$ÿÚ   ? „qÏŽYw(6®?©µµ(Gä—I1§Ø,ÒcÔ¾ÚåQÅ2ƒS_óÇlÊÇ”A'X2ÈàÅ"ï²Á}/½)Å®ÅóR»—œ²mp§E%}ØØõ„ˆ’A5…}»í0ýTüÔš¨K&ØÊ"‡còK¯$SëÓŸDE¯ð:!¶¶X†gËx3,ˆŠ¦XÇ¹­©Ã„µ—¥‰fã’	tö¹\Á“ûè¢&%p};²1¼3Y!¶üŠà.¥Þ¸%•©Úï3ªq²¶(2_©.ïak»8$’ð©¦yÙ^b·”™ÞÇ¦9¾Y¾Ål|ië;êrcŒVÜ2ì‚Â@Å¬cIV¡ºÆÆèQD´Éšø_VøšHš] €K„ÔC;pW[ÔQÛ$ð¤cž·»ÒöÎ0é8á£qíx÷,lÄeŸ'±´Œ79ƒþ:!Ô”nVÄŽÒ&ÈžªA£b,JÎz{zŒV>‡aiŠ¾8nûXdJœÏm<å[:hî(­«©¦ËItŽXÒ§<ÆÙ1LHB¦-O|…ØÐþ™œŽ«}žˆÄ8ë—Ì¶¸ýn%CQ™c’»ÍT\“
´®­Ê±â˜±H‹µ@Šôd…d…[#€\õÛüLáàV±Â´î§¿å&ó.J®dÇA€4)\°—œæsô¿…á˜ßO""a:ôÈQNÉ¥Ræ®OqìSÄcµO%xKQbŒ‘É­&­cQRut£¶÷Ø&KÝ`ÊŽü¢—O‰<ˆäŒ«Âjôè:Aä£]fÃ˜6Ø¼2Ú?é¾z=uõmà…]kìþ¤W…CP	<pHÐÉ!3ÕÝTJH°äXä¥“=9…+°¬²ª´=RZç1|~‹Ç¯n‘¯r'þù7¾þê½uß}vžë¨Û«rKqO’üqÏìS+ßÜfÄ±­ã€äP‰—|F"~_e;Í‚ÖåÑ—ëæ×1È @S<’}H#Oaª‡–Ò´c¡0hˆ|Šwm‘¨îûd+Ú÷û}¿ë¯Œôßl†’P›”Ád¤ü–7RºY@]®.ØÒI
ZŽ)îù*hé…$&›l–/“!¡ ~,P5ÖŸÌ,¼lŸCLþŠfÅˆÐë¬žhTu¹Ë4î7D,z9‘¤ÒÜW_B“·¹î!Z×HÇFëˆäNkEƒëòË:¡ù&CvD8æŠÈ¤µÊ²›O(jékâ•ìcÝ4½ÈDÒ9°$s˜D‘A’7>\wÜôYßÐÙ9lƒbqoic³[Ã<¨ëj|TQUìjÅ1_•nlî±Kè#ómv7ãQ5
FBöæÞ¦ü Õ;Çiï>Eá“g” EƒkX{Mƒ’à4ÆÇã`q4Ø•mÑ"åÙWÈ|'ÆBÊÊwEB¤5äÚ¤ää&Â*9tGR .ì¯3ÌŽÅAÔß{m«€ÈGTÀ6·žFUY7ˆUM0E(ÐS´yå\ý';ŸÑLŒ%Ûô;(Ö|®¼·ngc¶5]ýÆ0~#l÷E8X®(]DáÌ¸î9âÑ¢’td¶æFE¹0Âòš4$ýéUwwùË(ä¾ÌÌ÷^èÊä¥.-Ó°N}ÆeGm‡Åäƒ)'kŠ´pb’€Z0Å)ãŸ±YšÙ…{_ü•´UZ.ã†ëÛ5óÂ5ž@-^¾ !ÍEAËbÙmÃÃ•zW¶ZÁ;jÀŽëâµ6ùz—í»‘1¢ôÞª7%0zZñjr­µŸ›flÑŽq4Ú:ù¬Ê!ÈÈ@v7pt©M•èÙt=Ÿ¹d^$µVY†… Q6X©{®>z¢~ñÛqÿ ³.+ø
­‰ô [äß¾¯×M;3¢çÞQs³*Ç¢7Ún\ê[L¯
Íàd7áNöGÔw—×ÙÕI?üŸ£$ˆHIGšÈf›ySêÜg™:¾L|79^B£»éÉîŠ×øöýnöëßâìùIŸrŸ‡|!¶/˜¹6O;¹£ŒÜj-w…=AZûÍE€]ŽmHXÐCý=v«Ãîæiw¢E(pì{¼v°	4V»p-i;†cTŸ&±?¨eIP¥‘±£œòîï·/}¹zû{},™]Lihíl’Ž»eQ”+YA³¨)ÿ H ¤^:Ñ¥a)
€«?,´òÇDZ–_*f`|ƒ×øåÏÎ¤¿Â2•Åó¼Ve3º’PˆtUu€g¬ØÔÙ	4Õ—§(uÓ’	£N4îoÃ€oOM=‹J>¿õãäœxÚ0GQï¿´Ö×GÍ#šëJ{¼`L—'Á©|Š#Ïioðúv’³K•œ­–QâRJ¯`ë+Rd">Þ’¬Šˆ¾/ý¾/jûõïæ®ïµO·H‘«ª*ÁçÒŽ¨¸ÛÉÃŽTV«;÷I~b9QWô«‘U¿fª'h½$íŽèÐŽEvmÀä8ol®º(Ÿ`©V Hø™³ÔEÆêªÊÊ´ÃÇób ðëþ\z*]ðŸÒNÞÃñŠOW®:ã˜R«¦v7m±tC³vä`êaž"Ù“’à?5dT_£b§Êwj£>’¾1œ?ð¿œÜ¨œCië¶cX—MTAàº':ËnÛã”˜….>Dj±œÍ+‹ÞŸkªµ"8œòI
ãF’6ÅÏ#¤{å“ÉîAbbª¯êöðczNÓíý¯õÔÿ Ö˜&‰Žc5µ‹Žk<ocúlmw»šôïµ^Õ?jýºéUÌ½ÏºfCµ>l	bñ]hxË²‘GÅîSí}ô,Ç»f«<8Ñ¤¦›p	$tcFâ3Ë ‹æ­°ä†è8Fÿ äÞç´åo2¯™•m[Ð`¬ ¢¯ª 3[bãË)U¸nYŸcõò“<èÉK>ÖÈâK·¼´¶º4ûtÇ!é?ØO²~Øâb}¿†üµëû÷^×µí{øî@ä”yes#òŠDF·Á¾ñµê¿«ÉÝª¯º£“Ûû÷øAHÇ#–o'µ½9ˆ¯¿HŸ/Ùì‰ü'Âß¥BB”ø©ç•ýH´?Cž(k£šHâ i4H4 5Êû$nÉ$’Iõ×ÿÙ   07070100005ff7000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002900000003reloc/mscstyle3/images/cats_over/net.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ  , +" ÿÄ               ÿÄ 6 	       !1"AaqQ‘#2b¡ÁBDRSr±²ÑÿÄ                ÿÄ            !1A"ÿÚ   ? g³T^îQÑRF­Ì’y*ù“é«Ôé´¶*¬3À.·|P¨nê$üÎš·Mõ3³Z›Ôj¿IV‚!,3Ž¼?Ø [U
m½%Á±ž^)³3ÊÅ›8ñuó$ê­.‘&ùßi7dªŽ:åø‰Ç¿!ùiËÍFÝ¾Y*j&¶-Á(ñàdûŒq{ªÊŽ{HŒ÷ÒxŸG‡Ìó>\†‘*+ ¬‰$©fŒU¤,8óœŽ!È†‰eÇÊ!)§°U)­uŠYé{ºyãž/<™™ÃøulÚPÅ¹{+ª·S_l^8Êù•÷ ®ªh¼q«ÈŒé3^š&ð§jŽÏ¬ŒœâJBÅÝøÚÎ*¦¯ÒzÔT!H¤ÁÃ ûÃÌj{^X/Ûj«mU8hry²Ô{Aô#Y¥tTvª©(ïV%\2:;P0á9‡:œ¿T«ÂRýXÖ®²h„õº–âX¶Tç´F9‚šW¯¤•êb`Õ‹'°Àëí¯-ÎÁG¯V þìÝpß®>zõwÆG,æŠ
¥ju1Ì¼C>¹?e9Khw^šGcË=š®H®JQjh»àr
¶H#§NYëªÍ¿&ß,~àóÔû}ª-«°ãª¬i[q\£4°$¬xãCÉ±ž`(?24í-†–(ð¾[¶4‚_oñTÑÔj¡<QÈ½AýG¦Û`½B´Û¶„ÑÕ¨áq!(}A+ìr=t9TcI%42¦$@ÀüF‹®Þ™ÔÛkeM'x›ÖÞõài¢ãÿ aþ5Ô{“díeÛ”²^®„à2<Ü€ þt5¬6Ö94©“é§ ¶ÒÓ²‰WØS›}‚\GÂïsk½éÃÔ°Â"®%òUCD{¡©œ i1ê~z‘ŸÿÙ   07070100005ff8000081a40000000000000002000000013d1fe2e700000a66000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/cats_over/others.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ               	
ÿÄ 1        	!1
"2AQqCW•ÕÿÄ              ÿÄ )        ! "1#A$Ca2qÿÚ   ? q×{“[B›TjúÇŸqd×Ÿml[)Ž(ÐÙå9)ƒ¡RƒK^â†ŠIc‚r<°jëÆ*Èð„ŸBrè®ùlãJG¶g:y"ml8ŠEq˜c•Ö1½ÌBéénuþ³¯aì•ñÉU±YF5ñ”£ÈÏ8÷>˜òð²ÙYÚaÛ/‘R²æÊú™ÕNÈ+5õ^c[AŒÑW—kWgXˆÓ²Içˆeé”CåŠAGl	ùKÆÈ•Òÿ šûÌtr1­€<â´1adllqÇ £cQALcÖÇlcQ>Ã˜CrÌ•t¿ä˜ÈŒÎÄŽHôkã´ÕG†2!˜ò å¡u6ë©^ºÑ™hÙ}DáN(¼JV&+=2ž„³}ÅY Te¿Mš_8ìlã»€Õ˜®¼s–6âk¼eœA«‘:ÞŽ«bî7H˜K"{•ƒFÔX”¦üG€ÞañXa;CG¯y®œHoñÈ Ån!È\?Q@UÈ•4Uù)êù=¢Ø¸¬$•°A:Aß
M¯táÁ¶­Å6îàõ«L>ÞÅÖ×ØÕãç+µ&ï_mˆæ‚-¡r@Tù[›è<(Å‡÷–îiÊ‹‹$$±;’Ûe¢}™ââš×kå4ËmX§×•ÝØ† qËXšÄCEÂÉë¡Ç·EêW|vÆN™%“<³ÙhÕ{ò­­Ùb*;0Ð¥Ž¤qëý7/"ƒ/6¶Y×¥Ì®\€û®W-10®Ì%.ï·jžýÉÖ|™}æv—
6³uÆÄ5×u7b“q¯sÊPZî€2"„™Æ‚w%EÍD¤INQDÓX’DYõvU–
×©Éð¤ÎÕOää™U?¢*²jüuòˆýýøÔvo•á¾fœäFºa dûûˆdÛä8å…tõöVŽÉõèw3…Y˜òÎ1&e•ôYVµ¹•¤8bˆx—D•!©Pæ¤ˆ,«A<qcXK)ã_Éª¬‘¨äUOqý*ý¯ï/ÊýøÏåãÒvx»¥ø?µ•¹#¡ÉYÑ®çYºQ@Bº‡'[mn6dò£:RZ%Aá\e4›s+IÕR ¥fêòpÜ¹%H^µM¹v†¿Ô|á¾ÁÎrê¼'[‹ÅŒ{°²²Rçf—Ç’…¯U	»=¬Ä³©•žÂ9#ÂUXÙÞ+^«|I¾’xh÷v/s(£þaQU	XÈ0‰<©S°:iÿ ’PÃûò#b÷È‚W¹4msõåýw¯9UÆ,Ï‚:zYó½ZU†o« º‘fu¾eu5¸ÖB2FÉ9LÄr‹Ë<W!`ì-j±œ‹lWpÖ¿*†Ç8Ç]
í;A“Ö‹8v/…SPÇ’='Ç¬žö6òë­"·ñ*ß`ÂÒÕXtpÄž%u^˜½G#"7fÉÃN_H²/[ÍèYh¥X–Ó;¥4­Á§Äø*Lœž¦Ý;;Ð1Âý[WŒáTš£MÃ¨ã°ˆèY—šÓcd0_õ—ÆùN»þ‹,ÿ Àñ]X”•²3ªÐg{3=å¹ra®"}õ×`Ç¸³‚ñ;—é+ˆ{b®žéJ˜fIó°‘\ÖÏî<_;±p{ü­È¸zï¿V5®ëïå»QSãûøòÂóÂl­ £¬Ñ•´ºµ.
úÊŠÌ/°³±<©Á{.bK(‰\Ø¡‚ß,²9¬c\åDñ3èsFÿ i”¼ýŠüx>}¿÷ú×õê—Ö`±_Ýb±VÚnÒ$1v¾í†*åv<é˜|=[ìæÉ=o(<ÃR¾=sŠ»c¦L¥K<âAÛ«ü¹É’NÕÔÕ9sÑgsß$L!Þ¯K$îŸ´ðO+WàäLYn–Z Ü÷$Q9zr|;ßohˆˆŸÂu×òïÃû«öNIÀÎs
ƒ
É5Ÿ'<ÇvæÁÃuF”>°]†”LME™’.=k~8 kÜþÆÖ‚8–VçyŽ9TIp`ÕI‚k1±ü;¥YlÚµµ"Œ­lR5XÎÕëåW´é>|µLƒSVÇ„€}ÿ æ¼¼#ùgÁ(«¿Á<ãªc›d&—µ}Àw*Ï w½	™“ã\™´IzgZsŠäXÞÅÕ7†àK?õ|;.­*$.¼ßD!#”9¡ZÓÙ‰1×4çŽMmÅaeWØ8ÓÉ¬|ÈxÉ,f§ZyœjÛM´j‚‚œéƒÒäÖúêÖy%r~}þ:A–`ðJÈaÎyKáTÿ –ò$ÊMzË0ê<‘À²²/Æ‡§/^¤IÈ¯Â*Hˆ©û¿­TN×¤N“¨ÆEEEe+«,é«¬D’7z˜lúô­þõ;Ó×÷j¯ÚwÒªxkX2Ö´ë2ÄPRÅÔçƒµ™€#{ñ:ÕðÃáO*4eT óV™Tu_*n×RFqe>QÔü—2nùOd¶Kvœ(ðÉó¿ºØÚ!ùº
®G6NÅ ""Ù©ŽIpqeTTŠžÓ¹®ç”'—t'‰Á=y’s«”³Še=~~á6’¬“‚tJëM¹qSbØüìUŒæilZôëHI}e±Bé	??Z0Ç´©õ¶6éæ‘Þãÿ >{GwÒ+•µOWÇ_*½t"0½U¯±7=˜ö-UV‘*ú\ Ì…ßMûthÅùGt¾ž»Dé~Ýµ—úƒ>óìeedVDÁ{H¬§ˆãQ$‰¯ã}Æe:ò§Ò˜¦úv3ˆãBTR1Ý££øÓK¿J,†À¬64Þ<®ÁÒò’{ŠÏ•\¶¿­È6•èPÖãøå}iØ^·ÅÇšr Ãð<uÄ–êJé"f¶rµ³8‚íïm-®M6À–ôwÿ 2jš¿]'}'_Ÿ½29®ÑQ´ñ=iòÄç±‘Ž©ª7Ü’ªuÒÿ »ëùùTúú^Ó¥ùñÚ–„¯ÛUí~TúUO¤‰?²"'ôO€z x¨`ÇùoIñÑUÒ¬¦à±¯?­zf±H¸î¬èºu—ÛIfeÛ|ÿ ²~vv}ÿÙ  07070100005ffb000081a40000000000000002000000013d1fe2e700000adb000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/cats_over/servers.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ .        	!1A"#CQ%q¡ÿÄ              ÿÄ %         !1 "#2A$QaÿÚ   ? ÀqÓŒû”N½¨5\^/ÏËýc ‡Z…­×ÂÍŒ%l³æ0¨àPÑx’ÆdÓ.”I„‰Èž¯\kDo–G• qµ[µe¾arÛÑ’…,H©ñëò.":ËÒ“OKSµ@®jTS%‰fØê"…"­™@¦bDòþ×Vn7ðß;í*N&­º9M¾_ð¼Ÿ¯ÙØòu:uFÅY¤QX†¨‘u¡,Ðî[IØO\þCÉ8p¡ù289ÿ ä&§{ŽœŽ­UfnÅo+½Ê›É	)-¡ª§?:ó·™2Ì†¿U¥6Á&i«Vpo=>Ì¬ˆ»ÂHõr}¼t^Ëƒ“sÛ¸(¬c‹#!Â4Úô/ðÍB• :»±`
(³>ílÜlt¶<µFSLª,Jâ£²¢ºÄp{Q‹sÛ«$Ô©bxÚýyç#Ê“3+®¸¡¤Ç×µølçç«EOeû~±ú€‘m+x±Úht‘ÌÃFi\¬·‘D=Š°§Ûñ¸ØÖ.¾_U$xhº×vÓÌç“7­e´8òì‡êY´­²VS+ÐcÜ=eÓàÝêY'ÛàÛ Ù(ÓãÇî0Ô/5Ë')èJU¢Ã>5²‘lZÖ54³¶[¤¢ó£QÎÙ$©Ú¢³W<›=P|ž 
^^9 ³dvãÜh†FržròwMl>îŠ¾«ã B¶X5FÜˆÏË_ÍÍØì6s7X›;¼r¯Ç×=V9sbII#|}æ‘œGî¹fæ8˜˜øÓ•œòi^M£¥R±«rÜöò,Iì’	íqËI­2òò2jide3DT©TiðÆ–ÀVj£‘ }D-ï¥gô5üš\¡ƒÎÄ¾|ðÕ›{"Õ‡Ü’ÃNüR¾vp–X•‘¬UÇ=ÈÇK	öŠ“Š–æÞ>¥þy~?Æzþóˆ½*¯åSå|[úÎº‰æ>®ól× ÿ Èì}ÉÃ¸5QBfÓÆ$œ,¥Š~2>(çÛÞb£l´ršEÄOLˆRæ„+ãÄx¼Ü’öŠ7é3/áÒ‘’z\Á2Oåé^þ~{ñÚ˜üUdÿ `­¤wì&àôõ(èË¾Ç-	6%Ioœ6™—OÄx~ž2m°¢:ø#=ètùºÞañ?„S|c?]ƒm„XÖÞ{eBLYiŸ}-|áŒ,ÃgFÀGL”ù˜>%‡ÒöQä²' ÓHO@ÎwÍµ¨ùdæ¨Ò\§»i’lòI*ùCXFÖQ1°‡ì;ÐÍD¾ÞîŸ¬K_îe™ £~°W‡$0ãdA®/kÖjqfÃÂúîî´èíñ¦°ŸœÕöôÃ±S}Of·A\ÝgÔ8j›
8©Ü#W,ã Íª3Ûãài,Ü¿iKåê‘ó²¶j¯!Uk-ŒsÒr‘1â‘'*8á¾J*æ†É"#ãæà¥6oÝ
ëŒºÞkkÙpòrr–ØÆ:ÅRÎ–a7æC”Ú—˜£o«.›[¥ûÞL0ñ_-n­’È€  4C%)Ïî¨HU¢ƒ°êK)#d+zV­u?{[*¶É-]j¬^o’²;¯3³c.­«o1¯âkõ°4õb×°,’ökMŠ"$Jü,ANÈ”ðÌâ9«X(ªíÅîKU£fl“Àæírº	óss–šT45~" gd$å¦æ&8Ò|D\X,<l„” Œ:YO4ÃY¹‰[Dì¤nñä–¥õ«‹·jóUzñJ«Ø‹ÔœËÖ[BËDÎÑ{n³=¸êÌ«ññtóa&öF´0o>•“¼‹‘Þú_gjø}{­«swmy²éUÇå·Ã«…)¢ËSƒ:f*ã1 p¢,ìŒ†®<Bô¬1›¸ý7¹îYºÈš*CãLhqfÃKfÈÝv½‚Ïz|LÌù!é‘\%íÅ@©TgN+µ	Ð^üv=¼…µÖzO’Ù×)$”cLÖ­õMÓ2ô´„èrqnìeœ¡srŒŠ\‚Ÿq1I‘³Ã"\u=X:«tà•«¨ä8Û¹fì ™å’ºJª¯óOuû|“ñøÉSý/]x¦s|­¡ñãEy˜Jj»e‹rù…ò›tkÍ>T›/•%M’.¹h½Ãš¯ªÀkÚ<Ä±ÀÍ‰’°ÅêÕ 
ßêL¼ÒãDÖYWéµ¨_°\–6 1²UÏ4_V¢åÚ&]{dªžÝ¢õßkóâo¸å¦U%FÇFÔc0‹ôQñNhÎt¼Ü8 Ð/Zã·ñ0cI¡ÿ "´år®-]•vìœŠÌ $ìò/¢I`¦£oµ-wcj›WìH?õŠm®+ñ,Q¬Ç|RYQÝ
RHW_Œ™†‘`¨ÉxâKŽ<WÅ!ÖÕÓØ¾e\läf§M}Ïí2>°ß5±a˜ƒÚ1!ÝßÓW—B˜ÓâZ¶Ð°—ØzêÔÓ‡+ibµ ÄÃÅ±sx¼r0Eã'—íñÉZW$Í{ûA±Tëzë,ZÇ$NòUùÿ ÏoÙXH‰ö>Òb8SÇu0Ç6ˆÁsÅqË%ÁqéWÙ=>ÉùO”T^ºd¼j1) Ñ**¥k½Ú`F˜~Á¼zw3	Ê«Pÿ tyŠLž{]¥âtU€WR6§dŸK¶£àÿ  ù-þñÉ¿2^ jg®WëÆF³õL›Ã3b°3ˆ°eÜö˜öQe³U¶˜”¯J˜ÞJ˜wšaŽyöSÈsŠqfÖ8£¬nùßobà!KÉéI÷G_ MƒgÉ× ©£ÁúñEwúQY´R: ðÉõ
”ß´<¦d^»ƒÍì½Ngš1é\òëÕü—ÝzíWÙ>|iëšÛ_ÑYÏöÍ:9[w/NXÞI×Hˆ¹zÑUÛç¾Õ¾ü9|¬ÊãÍkQIIBMHD"`+´ä¯Sÿ iGÒÒxøx±£ä,„ÚŒÏB†”Ûõ¶D­Lå¿õ5o¦’‘é.<Üç-ÿ ÖÞÄZ¸úÅ>»ÜE#\Wpw2­T`ÈzAÈ¸±%×}d”tœo?#/'#&A&:ñc_ŽÇqË;Å=²	¤öOdmã¯„OúO,3Ã6ÚþÃ8ýNò_B9Jˆ¨žžœöDDD÷ïÛÇ¹i?ŽKÚ"ª«Žüä¯ù?ÚøRoµr Y˜oZð¡àæ€Ñ²*ÅDÁ	¡°Õ‘'~HK0;ß?ß_ÿÙ 07070100005ffc000081a40000000000000002000000013d1fe2e700000a86000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/cats_over/system.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ /       	! 1"QaA#$2ÿÄ              ÿÄ &        !1 "A#23RÿÚ   ? qË{?“ÛjƒRjê—‘Ý6c±°‘#¡Æh|-¶Éò!'ž±¤AŽŠ9I(ÉÃ­ R,YØ;Ð¼3à~7*×qÓ.æÖþ©&z»<†â—fYNc³m(yÅ±Þ!SYk,‚Duu>i—Llæ’ØVQ¸^8Yá×ás’rzœ _È.KÚ²—\xcœµ¨\÷5¸,nˆ˜Ñ³ÔÓPÓä»FP¤dãZ’HV,tM…Î}a¿pmk‹FðÆ+6†C•è2ì ¸ÌÒKkHò7á°¿¹÷„½ä4ûƒM†KCÚå ™VL÷«QR“…àsy:a¤º»dd¾4‡GV¡Œö5&ª•]˜ÑT€ši^wî¶»˜¸ÓÊ¥¨JÞxøçf6õw,¡¤ÊŠfzþ[Ž?‰Ç9â³@Çá.§Åõâ+˜˜Œ–eÚÙÆ™¨Á¿#¤£W6.ãt‰…2'»§ Ñµ/©,Ãü{óMøî¿øý7·~Â²'Âö8Ür¤[|ÕµÙRÌ»
l®Þp°,zM…Œ1ç	_ ´Æ©é£R>@òO*gÅ±:Z—²bätQXÜ+ˆë"B<H“$Q¾y;ÇÊç9ÉÒ"ñ<xØ›«õæFª@n›x\Ñ1J*f²(´ÖÐƒ¨ÞDs#òÈˆˆÕF»åzUNÒÃî/²ò8lyVï„²qñÏøÒÈwz,û7“;&U+¾Çº30wRIk}ñ÷j1åšÁ1¯U±ëàNýT¦5dNŠ‚Œ¡Xö(ãëKù‘Ã]ƒÂ§ºÙª´©¿Ë½uŸÖ
X´™þ>)ÂYA<“þyQ)bA‘ãr–QÓœ¬*ÂªÆ¦ÞÆ¨ ã""6h|½']<Nº_Ÿ3üÈ‰öD_²|}“é¬¶àxˆøpmì*Ñ‰i¼øÕFÍÛG.º4üf†Êã‚2^×½ägu.½¶Y#"YDº.Wž‘
¯W@=ž2Îø"sk’Dse®í¢ª»åWåUWõúçyX8¹6Æf¡¤¨ÊãEÓâl¯2$_££%;¦@ž›ƒÉG'9š´ì‹EbHa¶ ÍÑAUyºº6¶¤©*@:µËÜ(ÌãÞdRµgÄé5†=_vÈZ¯r·ë,Q*µÎÜÇ56dÎž®‘^âºwi'y%hrè÷nÉÉñMƒReºÛ$­£Ë›5ô“å†å T>®zƒd:sVçßþ#ñíÖúYUºÏÄ­õ†æ|#ÛÜ^Øö€žèìö²žîuæàöW²YÁ{“£_8ØFQZc¹/‘eeV){£‰2 þáòN	PcµTeäür».¤a·––ÚäÛKB«"W˜IsÙb¶'É6C`é\±NQg"Aì‰•Vý4<Ëãñ˜0ÃÈ¾6v^Ug‘F›‰X9î-2fóÒMÕ·ø0;R6¸4Èåy
çC/3TÇÊ’Õ±3 Ô0ê¾	ÝK©ß‘XÀ½¹àñ+Ùny<öÑF^1· QÚªøh]+½Ê’éG_•pÂ‘*ùXÆù«¯#ó¾áÃè}3ÄÌæ|‚Ûûýì[ð	+Þz5•sBó`1
/fÂ.@5ž$©æo °Œ²#ä{_ƒ°±þÖ×Ë",lgNÕ11ì³É4îVkyÉI’HÃtmEŽ ŒÁÕ…,ñZwSÁœëYXaÖù.„Ó1¤·©šÒƒúÊIÈ„ˆ`:†½˜ü®™†’¶VcõÄ#Fœ‰Ö¾@ßå²kÏä¹ÙJó³K#.ÖW3`Ãb¬ã`‚  þý—>‰Ä§Çq¼~Ö4’¾6$`WÈ½ú‘ˆ:ÖôG¯«•à©”wµ7õÝ„Þm{Žhø[—Ë/n#ŽÈ.¡I‘WÑgt”¹“š×§™ÑFKš¨ÖIÚÙéø¤ŸXaJ…¬’Pˆ®Ug*¯çNÕRF"ü"|ùS÷í~WI4O0µ·|"wF¦ÂrÐrÎ]r—cç¼®°¨=$2Â¡‘;½ÎiHzbø²±.è±š°Á±sz ¦6Èy``š¸j;¦t1ÕÕæ¸ÇµÈæF¢¢±ª‹Ú¯•?ŸºëÌòyÜ•r{:M’i- Û,ÒJYƒ]__²Š¤kxð¼{àqñÆÈwV£¿èJ3ôFð×z™BÀ*ŽÅ€'Ø Å¯½À9.—Žfôžj¸kÁrÇî”C«ÏˆfÚ’àg«»¥°„šëjÂÉÄyÅñº?Ä¼#ö¸ŽÃùï ã6Ï!Y›ƒ[Óävš’þÈ‰×[TŽ	’d82•*8‚(óŠ;ÌVš)üòeç#%’Ù ÏrFª¨ŒzþvÆ½ª"ª/Äh‰ü"wßkÚô©v;IA ÷5¡Ø@ä•#A+\Šîº_<nï¤øOŸ„Dëì-’ÏÉ ¢„.˜¶Ò¢¢Õ´;)•C©)^¯Ø•`¾”ììÙ;ŽÃ•*w°e¿ƒí½‚]Õx¯ñ¢“rºuÇ®¶>Ž“4hÊä{aRJÙT$ÄZGÛ$Á}GH¨¾Í½,NlíuàÆJ3pþ/k¿ŸûÜ†HvPºÅ˜0‡Ë¬ä;6Æ‚‹Š‘Ö«ÿ µXÎTq^ª„dÃ'¨P…K>6é%$™µæ>é•ÏU³U]ú"ySççáåWý|'WŠë|Df9‹ÔV#]"µÃ
È¤Ej1SþH¼û»¿ýt½'ïÙ‚¹YiªxÁ` ILé}þbñ4>‡ö¦¾v§~°Ž<eü²CØï±zÙÈø'Çæ­Ö`üiTúaðhßø©sýF›olÖãadS
Ñq|/­m^¯©=i	Ä©¤<™këÇ–i$t¦Xk`D²miabAÉÓˆô¢ü¨‰ù:Fÿ –ª‰ü/ß¿¢\hD«ß;ØÑÈ‘K¿²öž²µÈ½'~d^úý>¤ýˆ"º%rª"«,Îrª¢*ö«'ïÒ¤N‘>è&eTz_rl‰ÿ ÈÖV´5ð4>†‡ÓYbÖÊ›=AUaã¬Ñ€bž‹3dûcùï_ÿÙ  07070100005ffd000081a40000000000000002000000013d1fe2e700000b0b000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/cats_over/unknown.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              
	ÿÄ ,      	! 1"AQBSÂÒÿÄ               ÿÄ %         !1"#B2ÿÚ   ? Ž8ßÆŒ×”›cÔ:¾–#rk†ÌaæQ)Gcá>ÛdÙqÀåžµ'“I&$£ˆ¶ºlB.«gXøºñ.+…åºü¾osg'*–“Ö8þ=S™ä–™ÕÓýi¨êq[-qmró\ù­€¡rLüZ˜ã¿5_Göì¢ÙxÏcŽ¯ù'ê«ANBòbÙ”ºì‹ -õŸ–MÕfJÅŠzªZ
|—iLÐ­I$
»:4‰^]sË==ÃMÍÈmùÈ‹^  ã±vœj';âè¬»lm€›-ŠÅ@=†dõŸôÆ!^I¯<"à¯Ím‡.IÆ¾U‹]Ç•™·vŽ³º%‰›­ß	±°´í;Y5lÍC7'eç‰/ÚM?î•ÌtQS)Û›Eœy4óOqéº
_rVÙYy¶y ÆÂ„©fõœ‡õ¶^JÈ¬ŒQY¦}TgUñ„2/&¾\ñ:rFø®Ñ”x$•‡Z&–y‡qµCª#‘*Ëž®ÌgŠéàË4§Ý‰‘¢IÎ˜Ü>-üÀE’ëÌ»JOÄ~YÐÉ(9õ´¸.ÆÇ²)!‡9åeVhÅÀLu3e¸ù5—ÐÃØÍÄç¾j¼Y^r?(ä?wÞC¸6ž[œïl¿9ºÞ8õþax}9ºº}m˜ä9-”ØE‰òRRÑã{ÚÄ:Ã**.¬ËJÁ[G0–Mêr#v›Q,´ªÄ"áz²<os•NÈÆæÐû2‚¾÷ðÞØ¬¬©†"8AyL–p¡ŽháX˜÷"Î6îèÞ°üŸøïwbè:„uM½=Ã-WmÏ*ÑM¨ÒYòÈs<¤`ZÒ´²q\´š„øÑªéZììÙ ßSÆ¦Ÿ©ÓL¦®Ñ¬õ…­‹I¯³¨¥øX¸œé”G…·1¸g²øU´Û¬öÕ÷•×‚u¯³úŠâD¢Ï("( Xd˜©ê®ª%$X2<nbÊžšs•…ØUXÔÚX
…ëð¢**~ÓìÏÿ ·KÚþ×´OŸ¦­Ù‘	ägÇ&ãÃíâe¦÷ãu:lLÑ±Bë“,±º;+œxvôsÜFoGS“kËu“¦O,¢]3ì0ªÅPn³­
Æ‘Ñ4D1ÞÓü¤GwýFõùU_×ÇÕ_;°rm“@´J·dgRxFV™­æÉDì; À1á|QÃ¬5ydÏ–J¢Ðq£ŽIFZ3eDw›£Íúö©e 03/ðƒ³Ž
xÝž|VZPW^6Y\µúÏgJäþŠC'¦Ì™ýÛ÷ç©Ò¤ˆ Òñ#_ìJq`ÏhkÍ4WE1‚Á$£úW²'ÍÞß¸­j¹ŒTG+QU>RÉ<qgØÇ"¸ß˜ð‹9³®eê¢ì3}Uü™>äZávRÛh"5ªA-Ä2›Ë<W!hñêÌc"ÆÒ9Ä²8EÍÉ‘]ëÛ»Œ;#¬+¹¢"Pª.%‚Xh×³¿ë8óÇé8¦Dé0wÆHòÍ‘Èê6Ö´©§¾›P¦Ø´¡y±i+PÕiÏÓðìÓr9êèpJó=ÝXÙú’ç©`™3Z'!ghÉdÓqÓ²*ÕÙ\>
—>ÀxGÇ^yrº\v<ø,Û?Ñø0æÚžˆìoUå–Xv°ÄjkM°8<j|“+´aù)XýpÒdeIÄOãÕ×Àm,˜ÅQûw7&K]ŸYœf·†z¡6™-ìòY–ªÄíÀ<¥=‘A¬q¯³ZÆ·¦&>qš…Ú'bù‹&¡¨äU¶-aÇRdÏJ›+»­ÛÃjì—a¥¤´X5av—C³-†¼y;šB?ØãŒŠs,k,½r|_ÇµÝU­Ý¾N•`ÑãÔá‘guikjØX]}xJIÇNDÌÅ†I¦‘ZØãW+SêMø§@ÐÛx~NÜ2Ö!¯êµÞz–fKaäã_IM=qÒW1òg¦ÍÕVð'¢ñ”¿®*ï~êúšm•¤:Ú^ÛøwŒýðªf¾Gf¦ ØI²Ü2 ÷{=AÙÛÆeðÃ”u¸9t|½ëÌsK#2é%EPa4ìˆBéÿ %ýý–wIK™9­z{>(ÉsUÉWN4©õv4…Ì¯’€79\cšå^þ(2*'ü"½ß|ý_ÖñH¼Oø¯¿Ó––•òs{ŸQYaÐcõ‡9÷xðYE49qCÈ*ÊJUi=}xtSßÇÍ«•‚0'Ê­yªlXÇa¸Ý"À-mHƒ*HÓ=ÑZÏeööëßn^Ñ\ªŸ¯Ò0îôËÕr-ŽyŸ+4ue
ëšwäºŽÒ…Éi…n ãmü+aéxðªOØy­Á9“UÚž¡Þ“àª2w_)ÜsðÞŠÌ¿Èñ­ƒªs™ð½¡‚Xÿ 1‡åtÎJ®?íÈ<â9êð¬ê-EšzÛšCFš¶Þ´’«ìœB$bØ\~Jx}Én«Zù1Ö77iT8[Û¥ÈíuÝ¤ï‘È§Ñ_cä¹f	d,†‘ŒgµOùo"L¤çýé‡ DTo¯rÊÎšÈºé‹Ú*ûFår»þïer/ü"ô¿X®pœc 	bº¨
Î)–F>2†ìõF§Â"DÕùÿ UÊåëá:oÇ×)rk‡Tl~eE~ER®*qË+¢Ï‚CpÀ‚þ•¼êd¤n?["R¢?ñd2BÃ;†ç·r­Ô:Ÿù+÷àËß¾-÷åÌYFæ“OQë²,Ùwm§o÷þ«´ÓØgç¾Ü¼Y»6†µ™12+ä±±]‰`yª†˜²ºRoHóÅ‡‹Œ-(¸]…ä\ìåÏñåRžTk.3E1€8¶VÛ¼¢®Æ)ñ¹bêSNcù¼º²Ü¶Bç’$T_4	²<©µå/Ý™ê÷«E¯eb9zö…ê‰Ú¯ú«×Ç}}n¸®“ÖØlmn;W×'~ÉöCŠŠÖö:1äOŸ”ï¯„O×}œ]ærXu˜Ì«[,BR‡íVYé“úó¾”b½–pÇäâáHˆ)PãxÞÚVÇ½Ý«èDª	ðQ@T|x@7ÿ '·M¯*ù‘.Sµ.À‚¶†Š¶ Êì3[bãË1UØnA9×ÊI#f.ÂÖÈâŠ·½´¶¹4ûÈÇãDN™"'_³ãüþ®ÊþþU{ýÿ ¿RÓªÅÒ5‰#ŠÖ¢±þ‹ê­omTb5½*|tˆŸ]gÀˆç"JGH¿ùäÿ ëè/Ñ˜uU'í~ÂŸòß >×Ð² àƒÇb8úROfnÄžÇžIäüùÿÙ 07070100005ffe000081a40000000000000002000000013d1fe2e700000adb000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/cats_over/usermin.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ              	
ÿÄ 0       	! "1
#AQ2a%‚ÿÄ             ÿÄ %          !"1#2A$BQÿÚ   ? ãn<¢Úð‹XÀu–cÖ0âÉyÔÁÖëà­¤ÊÙ¬F22”<n­´¼AF’h“"pb?ú'†~ø“ƒ'E‡Ëý
gÍç$)DC»d+9TŒ`Ð6¤+ºµ¸<S’±]Þb$ÁžaÅ8(GNO‡Ÿ†÷%ácw‘\œ›f¿­2<cœÃË˜Š¡Ž¡ÞBDd<=“gº
’@ÒÅ’Tƒko%‚}WÝÚÏŠ÷IB-vÝË»âÂjÆ¶Í¾í:¼«tmØË|Ò’&E‹€OØk$[	Ælì
Ñe öí
ãa®kØØ6RãÆlÎ«n	Ï#ˆ_JK+Fµ8ùWL$´²sŸ
(†)È¥ÐÅhë8h*¬ï§±R2åãfq®÷gåÜtº@w‡Ú®¡®þ¬b²àöÙ·ÐŸ	K(µÄ™Yw·Œ´·‘OK*Z¬„ç*hÀ_˜Ç ¶ŒŽºHws¨ñjeXÌZ#bba­©Ì©Š¿VÛx”% á‹ÉëalâÃš|‘†½øâq«zýUêŒ-ßFj9©ˆ:ÃÓš´¼¥6×²)ÓéâM·Vì)±UliÖÁqÎ4Ê^C¸Ë‡‰Å?¯9=ÀƒO¬Ljƒâ+×9:üt•âÙnµ±)_ºÕjr\›0q„Ãàå1Ð°É	¢Špb$ðÙ¥º «§tí·’Àö•ÇÈeõ|lË8‚Ô•R©`?¢Œ]¾ƒ©%€çÚ»–=šëÝ›'[MœIrà}ñeI<˜@¢„RvUµÄØ¿08m±¸e´³­¯£GOFÍˆ\Î¿¿ÄŠ° oP>Û3.8KñSQ’#6*ã¥’ü9êŒ’Š”=F{ Šâ˜}¬´ë}aM¥—W„ù“…§êÆq…v•%YÎ1×yÏ]ýþ.{‰ûÕâ‹á]·*[AëNûãÅy½¯§ßKON•)[„‘–ˆ	9…-ÇnðÑV:Ÿ«”¶êÊX§kLÍ<Å†©Xà¤™y¥´hÍ…yŠW™.'ï´1åÏþ}¿luñ/)5kER[éæîÂ2²q (êëÈôI
7FÉ­4O t±J7íãneòb9+£M´mv4ºÔý­BÚ8“áœypâ×jzÎç!ÌSäüúúŠ½††i C¥È¶ó3ß:È¬ºH ¾i>Lç
Bæ–¡6<{ðT}]A—‚6³¬¦é¾ã±ìq:Æ"ÇuØ$âCmlèÁÊ~Nç5e9m¤z¬[483OŸ(I±Ã:(¥Á\ž©òŒ÷n]æ‡‡ÙÚ½É{nª0Â°Ü”•jerÙ0'šJ‹}ŠÅ¢`ê½N ¬ÏV0†œS­6ÀÅ7~=ÚIã÷#B–³ê¡ÎTqŒX^}-k$:’¸ûfeY'ƒeM¶Xÿ ”)^³lØ³aÏEú5ÀÎÏÃEjZòÄ]y„¯SvÉyysã¡D/3$H?"K7¶ç8É‘›w3?ò˜ïÖ1X.>×Ž§ùd®þ;­›EXk¬øÁÄÓt?e#`â.£r×Û6^5‹eÉ=i‡µ¾øv¶¤e¶1³òÅ<8aÌJÍ=c|4;®ö?ÏÖÛŸœüs‚Ó×[Ï£¯•rŸ‰¯•‰	œÕÙª‹BOŽÓx\dÓ‰¤¿(¸§Ô’Y±Ly†’so“¥ŸÞqC™Ôé{ÿ )oôú­gSë}1Nå@:ÎÄ”‰˜zäˆzOÊFi€ìVÄi'ÎrAf!œ‹Š°èxÔGTPvÓ-h­koÝrfÈ¹P*}rJš‘>ExCW`YèÒKqÄ pÁê’Û:ÐrV&.NQ_ž3¦ q^Kòm…ÐI×—µ:êž^V6"‘ZÎk^>Ë ?T"’¶ka”ëV¿…ÂHìX·RÙËtj¾ŽSW¾œàF"Â1¿›Ê³é£þÛœ%iíM6FqÖ¼f¸4ÚÊVÑžYånWÃR²²3…wÒ±ïŒ€¼þÞßZ½º÷ø²;D­§Ã;†›Rg©¹	âå¹B‚—)éX5OÂ³_¿ØÀi/\|v¶¦ÏÈ>áÑÝÅ‡±ìqCKCË¶×Ú´j»L­Bz1˜ùl@ƒgà¬¹Œ¥¼)X_˜«¾ÕžûVzû{}°®å—æº<×\e9Y©$““iÂ–gÜzÑ íØ¯OÃNUz“P J3_%$FÌ²HbÃïc¦-Ì\+6Õÿ U^ˆ¥lú4—ÎiÖ¸gQQÇá·|C7Î”D ¯=3
p¯FËÆPˆø„-î<I8É
Ô^´ñ3Õó7hD„Ì0;Þd•×r¯¸â±“à§ë#YmtFK#+4ŠÅú"ÁK‡üÚÈrÒrýg‡QðjÚHÊCCã×Gxô±Öõg=gógòãÂò¾ñœ÷ÞzÎ8SaDOø³0PÒL/*F[(?:|¹F;Æq‡1Œÿ W~ÞßooŒ–öÂ¢nTW$U,â€`È“âX0!‘‡¦R5Òò#,¿ÁiÉÑ€VF’oý6ˆ%[A×ýYI'¯78ïÀÝá¯)ÿ Í&›‰•éZ”¦ôÕïÎ’à­<Ës3PælH[°§Ù¤
¼5.k.ºË…úÓ–¾þŒà–·³sŸ–+~ KèÀH_‡8èü´âÛSUØŠœ=yäåM˜7[°ÉJ0Bâå‹CJY-FñÃHz–þ¸­yÝ^Vµ$ûï=çÛÍæÆ1Þ;ûg?ÎsŽº9©ëj%1§§j°‘þ“¹Â2Ð£8ò£
ÇÔÚÎ;Ê½úÎ=±÷ÚN^@J!¡¡w¢ Tòì)âIäÄ’”þpÐá»d’¨ìˆô’MÙ¨ì‚jŠž3SA>(‚£Ÿ­òÙ=CÐ»ó“šS•œÇ›jÑµ'b2¿ü}/[UÇqÒ£i´jûå™ˆ*ü{¤¾öégÊÉIrÓ²’ÓFŸ"CŠã=cô1öÇø¶Ò1öý“éç¯÷ïžóÞ{Ï£•…Žë¸fÖÚÒ„úhqÊ}$«8Î0çïßYë¬gÿ åïðLÀÍ:Ën+ÔÂ–œ+8K®cÎŒeYë÷ñ‘Æ5`fÁ~#{ä»×þ¤è{Ðó@ý´4”ö¼[Ó}qR>”ïeƒ¿²IÙ$úëÿÙ 07070100005fff000081a40000000000000002000000013d1fe2e700000ad1000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/cats_over/webmin.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  , +" ÿÄ               	
ÿÄ -       	! 1"AQ
BaqÿÄ               ÿÄ *        ! "1#A2BQR3csÿÚ   ? õË®ƒÚn[ â>)¦»û¯¸aÖ4 és9àŸmôÚ½òÊ=cI²>(f(²É
¶¼r¬I·ãIÅžŸþ”ø!ï5üGwÜ~xk-í%¤©ÓÐPjšv²Ç`‘9~%®b„0r,ª´h > „˜ø
‚h%zMŽºéï§›ù‡ª/³Ý¹ÒEšãCn¸(F–KÑ²§Ù©<)˜Èd¨uüÃiŽ$Ký-}ŒOjC]Âì.CÒªYnLÔqœç—ŽàlÏ8YÜË+‚íy2z»”O†À’4Û==}†Sh³u=Ö¾1¥lã3cÐ&ZA+Û}ÔÛŒéù“˜ìÔFn)«²ÍYjÂÀ$TŒÏ©Öµ´³°M‘·*ØáEŽ,ÌêÁÛé©*Zª}³>·<ïe´=má
;‘U‘ä¤—SefÀœ©öÇKàÍ¤£r¶XÝ#qL‰îTzSí+<>WÓ÷Ôf²JAá0:ÝÎñH•;,|t”Ó—nø\ÑÜÍ=m]M.¼—Èå*w¹¦LS©‹qïð¨þMôÿ å.æ=D¨x’Ç³:N5µÕ¯ä5¹û**ÛÊ«Bê®3·C†”×ô&Ôè«¨–Äºá X^É†,oÍÎ¢z´õç³ü‹³Ê`2²á“5WA0ZË?´å°h_0,¥,%
¿ªt¬bx"	#û–WÄÍ¦¯á2SC6§Çê¨„«–ß>EÛ„pöuÔØ¬ƒ2ƒîFaéCUÄ¾[¨Ôi¼–’nËnÚ	œ’é²(`A•X#v0Õw¸ý;äÞ•ò”|cÈ®®³ª¼«ž=äÀH‹}@ðŽ\áˆõ.Z›º‰Š&vbJž–rÁ–2¬*l*mlÄ…ˆ|>äDEóÞãñ|xñá<"¢~~~µ§{êiÅ~¦Ü{Øî’®"ÄÎfêipÆŽãâ´/e¾ÀÕë'·‚¼ÆUWÄ<7âæ­øêÄt.Åf[!­ìl¦>1ŒfOT“OcX	ñ=2Å†v*0‰Q[#È¾ÿ ÝÓÝùÿ ðž|yúP²TUÒ$²N”™i&P´©°•únûY@eÝÞ0	%r['FŒêÀRr¨J,œª®ñ¾([i üà<eº®¬â¯OÊ£¨©ó—\‹¢Åè­óGØeEä¸ÿ $âê4&Av$reeIp]lSBhEL°éÑÄC7¼]Y›²ÝMæîä…ä¬^‹!Æg't”ÜÚt¡]PêÎ2]b[±ŽÏ5¤TJð)Áýá@ôz{jñ}œëFÓ£[{Q ä¾'(íÇtÊ-‰y®æ¹¯»©˜9øÍUÍŽjñà¶iióšßéÚ²LÆDhÐö§ÄLÛžÕî áã¸2ÐìÇ%Ûëêç¼~ ¢xÎc§ÖjMà„ÓÅ^ËU$yÿ rûG"*MF¶uÔ.(%X6íó<¢«mÌÜ—›à•SŸó 7é5e5MTE\©eµÌ•VóvP~ªáj½ŽH²… Eñç…Æ}¼äl'§o3zS¥-è¼ÙÈÝ¿ÏTâëTsa=)•X­<’ž×=­—‘‹¯¶=`˜²&–s#j¾ƒÎYÜ_H»í©\V‡AMÇ²Ô0¶Ø‰½â¼½3[h1 Ã+Ç~ïe››o,ÄÏÛÓXT)'Ï²¼õØ¯N'pí§QzÈ<Íå!9jnnæNSÖdrw›ÐÌmŠêâº(ãžÞ.ÛHÅ°÷(yî÷#ýŒã»¿ÊWZkNZEä+­CÆæO±×´Þ@ÓÃUWs&X!«¹–mYU5vÕLëb¿~˜ÙÂ&(ˆ!ÍñÞÊÔ‹B6šŠÂÔ&kŸ¶T60Xg°¼—šñ27ºÑ]¸í	ÎQ‘”2cˆÈÈ U[ô_ÿ MÞ&ëCÜ”äS ½%‚UëµÜºQÿ zZª’'JW>RžùØan‡ub{‰FÃ(d°+Ö"•¥ž|äqŽ"icGÈú ÕÏûlUr¢9¨ª®]çÂ'Ÿ+ÿ _Z}KÖz"zdk¸ÓAkP_w{ßZoås¶]&JƒKJ-&ÚÊ"GW•ú.!Ä\–ÙïG€?&iiÁùF³åW°ÜA?9M$g£ëª…ÈÌ¨ŠÖy_Ÿr'û¿ˆ‰øO„ú¶@ñ¥°SÚH»ÎF÷Âµy
ã¦P¸ÈÚI’v®hÍ9ÁIœªþÄ*½†Iñn$~½Ù÷n°e6Ë'¡ÎòOèm0\¯ˆ°K|vÆ¹±©UÆ¤rA8…2¥= SM[uOa¶Õ…_`,âO,n`¹Ç¸ýLïvKÃÞ§þØãí€)ü­Œ£Õ_qšÅ±Ì'î´Ö4€é4xLl²Ê]6Òšë/Sñ¾}yé
¼Z2Cšæ¢+íG{cs˜ŸÉU¾©üSûyò¨Š¾U|ýDÚgh®â[ºmÆX¤rÁ`<s±—·Ú¾Z×+~|ü»Ü‹ãÂøøú®,Ó!¸ãË+
ÉŒgo´üî=eSû+½rÚ:(u±›I“’¥O`i‚{ÿ fW>Æ{d½ô‹÷ÀfcÕë®Y|4QûÝ›²ä^þ¶AQZ©Œ#‘¨ˆ¶ÆŽR\Ê²+Ub¢Äë%g|½#ý9£>‡aõ}æíLá›O]Èˆòª*ç<B÷Ùòí¾v—#Mž"5XÎg
åïNµ€‡ÕÛ."ºëÀ&{Š+‡q÷=_*‹eœ¨Ï>åH-"j¯”óøüüøú·å¸óñÎ‡úWAB¿yÑ¢	mTj'Â£¦2gyò¾~USññáëùý~ª–®ªô–ÜqbP›.¶œ¦£þ•±Ú÷‘ã4–7†ŽK~˜Tš;+üæfÏa.ºaX|†–…ì/h9¢Óµ½¼Ò&£–n‚»?A_VÊü_eFšb«ñ¸:¬M}%t¤‘;[1ZÙ9v÷–¶×&›e;™ÂžˆäŽ&¢¢|,ÕO	ãå¨KQãü'þþ~ŽŠÉ‡sžùÃQ¨ß-TFûÞËUÈžSÏÃ¿ºÿ •ó-h­z¢1<"7ó*¿-EùU‹Êþ+åWûª¯Örê²” mnNº8$‰° më ¾Nž£ÞèˆªÔ7çµ?¸‘œœ’ $’}ÿÙ   070701000031a9000081a40000000000000002000000013d1fe2e700000b7f000000200000000000000000000000000000002500000003reloc/mscstyle3/images/jjs3_logo.gif  GIF89a0 0 ç  !&Fj‚ÎÎÎ²²²V~žžŸ*>NŽŽZ†§>Zn†††nnnêêê^Ž¯FFFZZZ~~~fjk6RfÁÊÑ&:Hš‚††áââb’¶Rz˜&6Bºº»y~‚~†Šž²¾:>@VZ]Ž¦¶r~†`jnz•«INQ.7ÑÒÓ.FWNrŽBbzöööž¦ªˆž®rŠžj–¶ŽžªzŽ ²ÆÒ../n†–m;N]ZfrŠš¦R[anwÖÚÞgz‡‘––::;v™µ²ÂÊXm}b~–*6@AFIf†œJV^Zbjn’ª¢§¨N^lŠ’—€š°6NbOcq6:>vŽžª®±hv~&.^ŠªZs†f–ºV‚¡JZeÉÒØ*18bzŒf–¾6>ERn‚¶¾¾ˆŽ“¢¶Ährx––—&*0òòòJnŠf’¶jŽ©NNONv’ÆÆÆGf}rvvav‰>^tVbf½¾¿"2>*3NV[ÉÊÌþþþ¦¦§2J\¾ÂÅb†¢2:>.6?^fr:Vf>>?’ž¨FJNÖÖÖÝÞß®²²²¶¸ÞæêJbu;FRvz|Zz”".8ŠŠŠ^†ª.BSrrsNRU^~š¡¢£]^_zž¶RVYNj~ªªªbŽ®\‚¬·À‚ƒ™š›ABCŽ’–BRZ*:Jš¢¦E^n2692>HìîðVz™123bŠª6FRæææ~–ªúúûVrŠNn‰ž®¾^bf™ž¡"&+jnoZ‚¢"*1ÎÖÞ’ªºbfgBVbFb{Nf~q–´Z~šfŠ¦RRRJJKV^eSvŽfŽ¯~Š–zš²–ž>Rfr’®Rv”f’ºÂÂÃ&.52FY&2<BJRB^uf‚’^nz‚‰l‰ BNVv‚ŽjjkRrVVW666bbcfffJRV6BJvvwVfvJj…Ff‚®®®’šž>Zr6JZš¨²k’³zzzÂÎØr‚Œž¶:JX&-bŽ²:Vl.:E.>N:BJBGNc‚:Rg’’“^Š®BZjz†’ÚÚÚ¶¶·>VjZ‚¦ÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ¹H° •ƒÊÎ¼@ÇpØ0Lï0,H‘âÁ‹3Z9s†]uƒ]Øq"¦´ðIÔÈòbE‚Vòò0áƒ¬V0$HÀšY*z5Â÷NÙÄ—[^T†ä\œ5vÚW‡P’;Öè c,	‹
‘40ªô¨EeÃ˜D°aÙ%•¼!eç¦Dy
]’+V•øŒ"åÒòÌ0’
\:†™3ÍŽcpaL„:ÆÝ)pïÀQ¦—µˆÁWcÆTZ¤Oq)H0PuçÃ€eî|C­€‘E4›4ãT` 0ú¦eŽ£Ô(V¦Lœ=ˆN¬Ù0iJ—1Œ,þ<ÚÔ¡F«^*5Â´¢§Ã·MÛjih¢B?*?.ØðLŽíqlãŒ±0r×ÜlÓ†)  Ñzá³Îßd3ð„C€X?Ø²Â ,‚Ç.uàë  ß,°Íilc„+¬d–2ïDƒà6 `˜Â½0!ƒÜ â`ÈÔ’
10¢ÀÙlÃMÀLbN2wP#€pô“‚?)£É ƒÌÂL3ldp…05ðáÈlˆ1F ,âL%“8"Ð\a£@V¼ÃC•ó˜Ð„@&äÁ	‚¤#
ÐÔƒF#½˜¡B ÉN?   O9Ç\ã@'DlÙ€þˆZA/¤ñ€;ˆC@`Bl²ˆ<ÐèaË>4˜B þàƒÉ˜Ž¸"F tb@
5…idó„ð¤ Ò8ä±ÆZPŽ"YPvjˆ…ÁP -P!Ì#8°‡øóà—}t’ Žˆä¼²Á=ZP@
¾Ä{A6ˆƒÀ;„aðÎ*ED²Ù8ð‹,bôC@Q°ZÑËb<\¾ƒ!QŒ\=…¬L<ƒÌ…2$p^:Û¤ñK'R{€ƒ1½S…ÀœŠ
»#‰$œ1I€@QÏX‚…å:x//I(ðÍ5/NÉþÔÚ<aÏË½#ÈÒŒþ'–]RÇ	ƒ0…d`F g¾sÆ¾ÔÓÁŠm Ø	0¿œ2ÃÛ"`}øÆ¤É*ÜsÍ8m	°*u`Ž?Ï+; â…
Ç”ˆ² 0Ìð‡ât‹@0Ú¼6Óôö'—ð³Ì‚ÔQBÃþ "²2”ÄqIcôM?M `Ä5Ùd;C'&¨`0W¨Ä)€±ˆrè ›ø".¾1t"Ý ·ÞAÁw ›9B30—‚ |cÀ @ NÑ‰)¼HV¸FˆEŒ é¨D-FÀ@~aÉG€…	¼¢þþ  ’pE4áGõ€Ï `Hp
	  ”A‹pÀŸ;( …;„oòÈNÀŠ2ì„*4Hòá$e Œ˜Å6Ü!sä@zS€ÇË¬Ðˆ#h˜Ä­€„(„/IˆÊ`3^ 'kB8\ 3d@KhÑXHoåb¾nà×=`ÁÀƒ
ÌÀ‰qˆO !YÁ
T±òÕaÈ‡z€Fà`ßàƒ£Ø`†#œÂsxÃüá3hÃ&¡‹&á•»SÅ% ¡…y$A ¸©F ® c€a˜ƒ[ñ€SŒÂ*0T¯\1‰•µáþ`„5ta†CX`qˆ'*Á @Ò8Á2â`„r˜cP@ æ€à `ÀøC-pµ)ž!:&±€tÜNG9là>8ƒx(‡8\íl öˆ$îa!G¨ Áœ €WtÉ
T0Cà`@ ›à'œÀ6@ão‡0Jæ¨,c |Ã%8BCD‰Ä6|N{ f"g B’¡6C
¸‡$.3$CYEPG)²0ˆøD €$¾QP”£A@€á YP žïˆ™ÈÞá,˜A	µSL!Üð#TÈÀ:á‰ .‹\Bd*þš†‘‰ktb¨x0C(Ò«|¥À	`Ø«øÖ‘_\`fÄ	.±Bð£ZÐ€Ìð±Èrà‘Ã2PÂðöTøí=Â·†ÃŠE@ïpg"’Ð†ÇÉ«wÐàJ¸ý\2^á#»è?ò ;}@#6ÇAˆ:Œƒ&Àƒ†P¡!Ù¸ ±+X¤ À‡)Øà‰eÀràP8ta	B`¿˜C3t¥¾w¸`“˜L»Åj"ÄáBd	°cèŽÆ¸-Â0ˆ:à‚¢â ŒÈb €k\ƒê,È`“{7ÄmËÃî
alx@'ø†þsÎú1_C$õ;f »Ä,\Hd‹P‡}0`©€ÁNÁ¼áL¾h$ŽG`¹¢RVÆ‡	cgYCq8Á>.`D”‚’(òÑŠœ#
Nc.È "à¨DÒ¡tR¢ð›qÐA)Êp€oÛ¹„¯9PB
H Êz	—ï,+^dæ•üxÄ rBÃnG±D-ŽTÄQÖ±ÆsñQƒ%ð¥|hùö¡Ü:¢  ÁäÓpd@,ƒY6û›|¤"CpDlÐD<ã¤àƒ4` GÀá ªú–Fé–Ìz)Êh Ì ŽO™Áá€FKúÁÔr@£’ÒAÀ«5˜Š{7)8jDð†ò,¶-KYW žJ<«Š³äâAîm¯ð%²¼ÃèS¬ðËYžï}ÿx"‚éoL(ŽgŒø\# ; 070701000076f7000041ed0000000000000001000000023d1ffaaa00000000000000200000000000000000000000000000002000000003reloc/mscstyle3/images/letters2   070701000076f8000081a40000000000000002000000013d1fe2e7000003ee000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/100.gif   GIF89a
  ç  œœž›™ž˜—ž™™›š™™–™š—Ÿ•Ÿ¡•›œ’™–š˜“™–”™š•š—™Ÿ˜šŸ™š›ššœœ  ››ž›Ÿœœ£›¢›™Ÿ›™Ÿ˜›ŸšžŸ™ ”¡œšž›Ÿœœ›œŸœÈÊÊÞÞßŸ ŸŸ¡¨§¡§§ ©§ª¨›©¥Ÿ¥¤ßááÿÿÿKNLž§ ¦›Ÿ¤š ¤›¡ÂºÂÂ¼Â šžßÝß   ž£ž§œ¾Ä¾ðñðôöõ ""¤¨ªµ°¶ïïðƒƒƒjkkµµµ !!›¤¤ÔÙ×PSR.20hniv|w×××  "¤¡§áßâ" "‹„ˆ¦£¥¨£¢ââà"" ¨ª ÔØÙƒƒ„£§¤¤¤£®­®õõõ"!!«¥¤µº²ííìßßÞääáööõ"""¨®¨©¨¯¥¥¨ºº»¯°²ŒŒµµ¶""#­ª³°©¦²«¥¢›šPRO"#""##_`^oloQNP¯§¬²±°¯±¯®³±ª±²©²³©±µ¦®µ§«³§­²ª­°¡®«£­«¦«¬¦®­©¬®«®°­®°­«²¬¨³¬¨¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ² 0€@$P°€A D0B0dÐ°C@„!b‰&N H¡b‹.^Àˆ!c6n¸À‘CÇ@yôpáãA„!´ˆ‘#.$Q²„‰‹&Nž¸€EÊ*.ªX¹âK-[¸¸èâåaÄŒJ¦Œ™3h€¦Q³†M7oàÄ‘3‡N;wðäÑ³‡O? 4ˆP!C‡%R´(  ;  070701000076f9000081a40000000000000002000000013d1fe2e7000003ff000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/101.gif   GIF89a  ç  ™™–™˜—˜™™›™–––ž•–ž–™ž˜˜›—˜šš˜œš˜š—¢—¡œ–£Ÿ–¢› Ÿ›£ ™¦œš¤š¡š£Ÿ¤ž“¦›”£–¥•¢›™¢œ˜Ÿ›œŸœ˜žŸ– Ÿ–ž›¡˜¢œ• š—Ÿœ•ž—Ÿž™ œš¡žš¢¡œ¡Ÿ¡£ž¦ ¢œ œ£™™£™š¥š˜¤›™¤™¦—›£–œ§™  ›Ÿ¢—µ¯´¾¼¿²°µšžžžœžŸž¤žª®©±³²ââáÿÿÿæåä²¯ª¤¥¡  œž ›Ÿ¢£ßàà®¯¯jkj›œ›¿¿¾“™‘¤¨Ÿ£­ ´«²ØÖØljl•‘”¨¤§ÛÚÛbac¨¢«¨¤«ÅÈ¾kkk––˜¥¥£²°²ææælkllllllk:99}xy«£¦ ­ªÚÞÞÐÑÑÒÓÓáááxzz—›˜¬ª¥ª©³¨©±°°²ëëë©ªª !"MNP¦§­«¦¬±¥±´ °¶¡¬eY`5.3$ #3/2`Y_ª£©©£¥§¥¥¬ª´°­´¯«³°­±´¯´´®µ´®·´²¸´±´µ°´´³³«­´¬ª±ªª±©©®©©¬­¬®­¬°®­®¯¬®°«®°«°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ã 0€@$P°€A D0B0dÐ°`‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c‡	=|ü DÈ£DŠ9‚$‰’!K˜4âä	”(R†L¡RÅÊ•!X²hÙr´ìQ.]¼|&Œ1cÆ)cæš!iÔ¬¢†M7oàÄ3DÎ:uìÜÁ“GÏ>}üüHÐ B…B”HÑ"F=‚IÒ$J•,]Â ; 070701000076fa000081a40000000000000002000000013d1fe2e70000021b000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/102.gif   GIF89a  Æ  ˜••–—˜”˜–”—”‘™“‘˜•š £™œ¢šš£˜›¡œ˜œž˜ž¢œ˜¢œ™£›™£œ›£œŸ£›Ÿ ¢  ¤ËÌËààß¢   £ ™¡¥ßààÿÿÿLJJ§ ž³¸µëëêRRQ!!§¢Þßß¹¹º‚‡¡¤º¾ºÍÎÍQSRKNN£§§¨§¡µµµ>>@…ˆ‰¥¥¤££¦LMM¥£¦¨£¨®¤©µ´µPIO¨œ«¨©°©¥¶µµSOM³©§³ª¨«©¬RNP¬¨«­©«©©¨§­«"#"ORPª®­ª­¯µ´°´±±³°®´±¬´°ª´«­°¬°­«±­§²©©±ª§®©§¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       _€ 	
 !"œ#$%&'()*+,-./0²123456789:;<=>Ã?@ABCDEFGHIJKLMNOPQRS ; 070701000076fb000081a40000000000000002000000013d1fe2e7000003e9000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/103.gif   GIF89a
  ç  ”›š’™š“››•™œ——›–˜œ™—ž˜˜››–™–˜ šŸœŸ›œŸœŸ žŸ ›ž  ™Ÿœš™ššš˜™ž› œ›œž›žšœœšœ™™˜™¡•™ —™œ¤ž™¤œš¤›š¡–š –œ™Ÿ– œšœœ—œ˜¥ ¢¥ž ¥›¡¢š£¡›£ £¡ž£žœ¥ ž£Ÿ¡¢¨¤¡§¦¡¹¸µÂÀÀ¶·¶¢¢¡¡¡ ¡ž  ™¡ž¨ßßâÿÿÿÖÖÖßÞà¢žŸ ŸžÖÕÖ×××kkjƒƒƒæææµµµMMJ¡§õõôíìì!!!@@@yzzœœœMJM¡¡§º¹º1//¦Ÿ¤©¢Ÿ¦£¡MPL£¬¨õõõaaa¦¦¦¨¥¥ÏÎÍMON¦©§ÆÈÄÝßÝìììµ¶µOQM©°¥ª¬¯ª¨ªëëë‚€‚¶¶¶UOS¶¨³¼Ä½ÄÌÊˆ022!#"ŒŒ„„„PQS««µÌÆÈàÞÞîìíïïï:;;nspª²±¤§­–—šÍÎÎ¿ÀÀ331¤¡µ±©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ­ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päP c@}ôø$ˆCˆ1Òã’$J–0iâäIS(QzH™B¥Š•¦W°d1¢e—.M½|4Œ cÈ”1s†)š4=Ô¬aÓÆÍ8qäô˜C§Ž wðôÈ£gŸ>~þ ¤' A ;   070701000076fc000081a40000000000000002000000013d1fe2e70000024c000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/104.gif   GIF89a	  Æ  ž”›’š›’™›œœ‘›žŽ›œ›ž‘šŸ“›Ÿ•–¢•– ––¢˜“ —“£˜• ›“Ÿ™“˜ ™˜Ÿ›–Ÿ ™ ¡ ¢Ÿž  ŸŸŸ œœŸš²¯µÝÝà¯®¸—š¢–™£’š¡–š¥–—¦šš£ÀÀ¾ÿÿÿ‡‡ˆ‚„†¡¤› ¡›ž¡œ›Ÿ›› ¿»¼jji‘»¾¼¦«¥ž œžž  ¡£¾ÀÀæææ²¸¹ž¤¤ £¢ÁÂÃvut„ƒƒ~p}®™­À¼Æƒƒ„/.3xvÎÍÏ0/2¤¡ª¿ÈÆkllkol¥ª©áââ !!¤¨ŸÆÅÄllkzzz¦¦¦ââã"!"«¥¥ÄÉÅjlky~z§ª£áãâª¥¬ÊÅËllm}|©¨¬ãáâ#""®¦§«¨³}‚#"#€€€®®±¬®³PPR±ªªª­±©ªµ¨§¶­§·°¦¶±¤¸±¤·´¦·´§¹³°°°¯°­­°­«²©¬³§­´¦°µ¥®¸©¯¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%&'()*+,-%./012345%6%»789:¹;<¹=>?%@ABC%DEF%GHIJ%KLM%NOPQ%RST%UVWXßYZ%[\]^%_`abcdefg_hijklmnÞÀ‰#g:vîàÉ£' ;070701000076fd000081a40000000000000002000000013d1fe2e700000134000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/105.gif   GIF89a  ¥  ¢œŸ¥ œ£Ÿœ£¢›—œ•“™š–˜š••›’¤™’ ™’Ÿ˜˜ ÞßàÈÇÌ™£¡¤ÿÿÿÂÃÂfie¡¥›ÃÂÅRRRMKM¦£¦ÑÒÑ„†„ ŸŸµ´µMGN¥ž§µµµJKNž¢©KOL ¨¦¶µµPQP¬©¬¶µ¶RJT¯œ²TOR²«²¯³©#$"PTN­³§´­¸²ªº±§º«ª·§²µ¦±µ©®µª¯³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       8@@@0 DB±`4HD2¡T,&£l8ˆç‡D©1Pí”jÅj¹^°˜lF«Ù‚ ;070701000076fe000081a40000000000000002000000013d1fe2e70000020b000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/106.gif   GIF89a  Æ   ˜œ£•œŸ•šŸ–šž–šš£š˜¤—›£™œŸš™Ÿ–ž¢–¦–›¦–ž£•œ£  ¢àÞàËÊÌ¡¢££¡£ŸÿÿÿÃÃÃihg¡¡¢¤¤¤ÂÀÁRQQLIL£œ£™™¤ÐÑÒ‰šœ¦¡¤´µµHMNš¥¦Ÿ¢¦µµµKLM¢££¢¦«MMP£¦­©§¯µµ¶MNP¥¥¬ª¢²OLP¨¤©««²QOR¬¨°ÇÍÈQSQª±ªáãæððñ99;__c©«°¸¿Ä`cf014˜œ¢¬©´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       O€ 	
 !"#$%&'()*«+,-./01´234´56789:;<=>?@ABCD ; 07070100007702000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/107.gif   GIF89a	  Æ  ˜™—˜š˜–˜›˜—ž˜•–”Ÿ•”¡’‘‘œœŸš—œ™œš•š˜•˜•˜–•˜”–—’•–“˜›™Ÿœ˜ž››šœ›Ÿ››£›œ ››¡™˜ ›¶´´àßß¶³´¡œ¡¢š££™££˜  —  š¡¼¼Âÿÿÿ…††…›¢ š£œ›¥žœ¡ œ Ä¼Äkjkxoz­§±Â¼Æ·³º¢¡ª¡¡¨¼ÁÆjjkzwxìêëª¥¤Ž‡…¬¢¡¼ÂÃjkk±²´¨¨©   sružšžÀÀÁ‚‚ƒÝÝÝVZZž ¡ Ÿ ÆÅÇƒ„„>@@¢ª¦¤«¡¨«¡ÇÂÆ„ƒ„æææŒ«Ÿ¬¬¡¨¬¡¥ÆÂÃlkkŒŒœ—•¯¦¤±©£ÈÆÈlll€~ÂÀÀÑÑÑ›š–«­¥©´¬}ƒ~!$"z†¦·­jvq $$>EE¥²´©®­«®­®®­®®°®°®°³®­°­­±°°®³©­¶§«´«­³¨¬°¨­®§­®¢®® ­ª ª¨ÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	
 !"#$%&'()*+,-%./012345%678%9:;<%=>%?@ABC%D%E@FGHI%ÔJKLMNO%PQ%RSTUV%WX%QYZ[\%]^_%`abcdefghijklmnÞÀ‰#g:vîàÉ£gŸ>  ;07070100007703000081a40000000000000002000000013d1fe2e700000133000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/108.gif   GIF89a  ¥  ”™––•™‘—˜š‘•“—Ÿ—˜›—™˜¢š£›¡›™œÝÞáÆÈË–œ –›ÿÿÿÄÃÄiij¡¢¥µµµKNOž¨ªLML¡£¢´µµJKK¥ KJM¢ž¥MQI¥¬ŸMLJ¥¢¡¶µµSMM²¢©µ¶µNQN¨¯«¨°³!##ORS¨­°¯«±®®°­­®«­° £¦£¤¥§¢§«¢¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       7@@@0 DB±`4HD2P*ëÉh6VNÇêùXA!ˆhD‚”L'TJµbµ\/XL6 ; 07070100007704000081a40000000000000002000000013d1fe2e700000435000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/109.gif   GIF89a  ç  ’œœ•™”˜œ”™›œ›‘œœ”œ™’–”›˜•˜—–š˜—ž™•ž™˜Ÿ›š–šŸ•šŸ—š˜œš—šš•œ™–žœ“¢œ•¢Ÿ–£œ—£—˜¢–˜ ™˜¡ šŸ¢™› ˜Ÿ–Ÿ˜Ÿ›—œœ–Ÿ •Ÿ—œœ˜™™™œœšŸ Ÿ› œ™–¡›•œ“š’œœŸœš ™’Ÿ™œ–••”ž––Ÿ™™¡ ¥¤¡¤¤ ž£žž¡š¢ž¡¢žŸŸ    ž¡ £žž¡£ ££¢©¯¯¾ÂÄ¨¬­³¶¶¾Â¾©°ªœ£œª¬¥ÀÂº¸¶®ž¡™ ž— Ÿ›  ›¼ÂÂÿÿÿïïðÌÑÏñòñª²ª¤¨¢¤¨ ÂÄÂæææutu„ƒƒÉÆÉljkµµµŒ‹Œ–’š¥Ÿ§À¾Âƒ‚ƒ1./{uyÍÍÍ!!"MMOzz{µµ¶mms§©²ÀÂÁkkkkmm££§áàà! !¡¡¢¢¥¡MMJ¨¥ÅÄÃlkkyy|¤¤©áâã"!"«¤¦¬¨§PNN®¨¦ÈÁÈlkm{yƒ¦¦²àâå ""Ÿ®® ®®µ¶¶KQP¢¯«ÈÈÊllm}{€§¥²áàç" $¥¥µ¦£´LNT¨©¶©­°~~ƒ"#$}©³¯«°°OPQ""#¬¬ª¯ªª³ª«$""SNP°¥«©­²©«²©­³«±´ª´´«´¶­³¸­±µ­²·®®µ¯®¶®°·°¯µ±­µ­£¦¬£ª­¢­¬¦¬©¥¬©¦«§¦¬§§«¦«¯¦ª±ª©®§«¬§®«¦­­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ù 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E.^Àˆ!c6nàÈ¡c>~ 	"d‘"FŽ I¢d	“&Nž@‰"e
•*T²ZÉJå
–,Z¶PáÒÅKÖ/`ÂP3†L*fÎ ICEÍ6TÚ¸y‡J9sèP©cç•0xòè¡²‡O?Tþ 
tXÐ BT
:„ˆJ"E‹¨0jäèH‘$M¢B©’¥¼—0eÒ´‰S'OŸ@…5ŠT)S§P¥RµŠU+W¯`Å’5‹V-[·påÒµ‹W/_¿€ ;   07070100007705000081a40000000000000002000000013d1fe2e70000024e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/110.gif   GIF89a	  Æ  › ›š œ›Ÿšœž˜››”•˜’””‹‰‡†™š›œœšœš˜šŸžœŸœ œŸ˜›š£›™¢›–¥š™¦›©œš¥›˜£šœ£ž›¡ › Ÿœ¤¡—¢¡—¤£›¡¡™ ¡œŸ›¡™™¢š¦£Ÿ¢¡¢Ÿ  Ÿ£žž¡œž¡œœ › ›ž­ª¨ÀÁ¾­«©µ·¶ÂÂÂª®­ £ Ÿ¡ ¢ž ÄÅ¾ÿÿÿððï¶¸µ  ¢Ÿ¤ÂÀÄææætuvjllrxx›¤¥ÀÈÉƒ„„.24x{€ÑÓÔ/02¤£®ÅÅÁlkkokm­ ¦ãßâ" "«£­ÊÃÂlklzy{¦¢¨âàâ!!"¤¦©ÂÈÉlll|z§¢®áßä! #£ ¯ÆÈÊllm|€†§¬´âãæ""$¦¨¸³¦ªz~#!#~x€§£­¥£±MMQ¦ª¯²¤´°¤³±§±±©±¯¬®®«ª®§¨¬§¦­«¤§°«¦±®¦¯­§±­©°¬ª³©ª³ª­³ª¬®®ÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ’€ 	

 !"#$%&'()*+,-./012345676»89:;6<=>Á?@A6BCDE6FGH6IJKL6MNO6PQRS6TUV6WXYZ6[\]6^_`a6bcdefghijTklmnoàÄ‘3‡N;wðäÑ³‡OŸ@ ;  07070100007706000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/111.gif   GIF89a  ç  ™•™˜˜›–›ž–›œ—™—•™™—œ™–™™——™—˜˜˜žž—Ÿœšš™šš›–š™˜–˜—•—•“••‘””’–“’˜˜“œ ¥ž¡¦ž £œ £ §Ÿž¦Ÿœ¥ ž¤¢œ¥ž¥–Ÿš™Ÿ—˜œ˜—Ÿ™›£šš¤Ÿœ¡  ¡Ÿ£  Ÿ¡žŸ ¢œ¡££¤› ¤œ£¤ž££ ¡¥ ¡¥¡£¤¡    šŸœ™¢ž™ ³°µÂ¾Â¸³¸¡ž¦¡ §¡£§¢¥¨¡¦§ š¬¦¦´ééìÿÿÿâãæ£©²—¡¥–¡¢”¡¡˜¦£éëë¨¨©jjk›œœÓÔÔ˜š›¥ª ¥ª»¸Á©©ª! "\\_xx|·¶·jih¬£¢¬Ÿ¡Ä¾Èkjl[[^¡¤¬Ÿ¡ª¾ÁÈjkl‚‡Ÿ¥­°²²ÍÎÎz{§¬¨§¬©áãáSSSz|{¥§«£¦«ÛÜÞéééáããõõöÄÅÅ!"$‰‹’©¥±¨¥¸§¨¶œœŸæææëëë¢¤¤"##MSO§±©¥°ª§©¯©ª°ª¬±pos303#"#214`\d¬¤±­¦±¯§±¯°«®®ª¬°««®®­®®®³²®²µ«¯´©®´¦±´¦³µ°¬¨±®ª°®«°±­¯­°°«®®©­«ª®©¬°ª©±¬§³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C‡>€!b‰&N H¡b‹.^Àˆ!#Æ5lÜÀ‘CÇ=|ü DÈ£DŠ9‚$‰’!K˜4âä	”(R†L¡RÅÊ•!X²hÙ2„K/_À	#f™!eÌœA“fˆš5lÚ¸òNœ!ræÐ©cçž<CôìáÓÇÏ@"TÈÐ!D‰-bÔÈÑ#H‘$M¢TÉÒ%L™4mâÔÉÓ'P ;07070100007707000081a40000000000000002000000013d1fe2e7000003ec000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/112.gif   GIF89a
  ç  –˜›˜—ž™– –”ž–”Ÿ—”ž˜’žš‘œ›‘ž™’¡›˜•™˜—˜™™–šœ—š •œž’œž”˜œ–š•šžž¡Ÿ Ÿ žšœŸ›Ÿœ›ž™Ÿœ˜œœ˜ ›¢™¡š•¡˜”Ÿ™”Ÿ—“ –“Ÿ–—œ•™ž•™ œŸ£›Ÿ£š¢¡œ¡£ž£žž¤› ¤›¤¥œ£¤¡£££ ¡ŸŸž žÀÀ¾½À¿Ÿžš›¡™—žš—ÿÿÿóõô¹Ã¿–¦¡–¡¢—¡¤ÑÑÑtuvƒƒ„æææ˜š—¨ª¨«¬¨ÎÍÍ"! A>=|yuŒ‹œœœŠˆ‡§¥§µµµ?@A©«¨¦§¥¦¦£`\[¬ª¤cbb®­«¯®¬ÊÈÈœRNR®¥®àÝßîìíñðð;:;c_`²«ªÎÎÎœÀÀÁ::<024›œ¤§«±µ¶¶CAA_`^"#"ORO™¢™¦²©¨¯©MRS§±®¦®±¤ª²§©±¤ª°£«­§«®ÆÁËSRSQLQ¯¢­±£¬±£®°¥®¯¨­±§¬¯©­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ° 0€@$P°€A D0B0dÐ°a‡>€!b‰&N H¡b‹.^Àˆ!c6n\À‘CÇŽ:‚òèáãGP A„ÑA¤ˆG$Q²D“&Nt<EÊ­Tªèbå
–,:´láTG/:¾€	#FÇ2AË˜9ƒ&5kØ´iãæœ8åÌ¡SÇÎ<yôìáÓÇÏ@
 ;07070100007708000081a40000000000000002000000013d1fe2e7000003ed000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/113.gif   GIF89a
  ç  –“ž–—ž•˜œ•›œ”œš’™–ž™–ž•š •œž••— –— ——œ—–™•Ÿ–˜ ”™£–™¤–˜¢™›•™ž•˜Ÿ“˜ ’›Ÿ“œž’™¡•š¡•¢•¡˜–¡ž–¡Ÿ–ŸŸ— š š£¡ž¡Ÿ ¢Ÿ ž¦œ ¢¥§££¦¡¥¥ž§¥¡¤© £ªž£©ž¡¨¢©—¡¦¡ž˜Ÿ™«©¤¾À¼´·µœ£¡š£¤›££ž¡¤ž¤¦ £ ßáàÿÿÿäæäßäßŸ®¡ž«£ØÙÙØ×Ølklƒƒ„æææµ´µMHO¦›«õõõììì!!!?@>x{u{|yµµµMPJ©«›ººº2/2«¢«©¥ª¨£©NMN¨¦£õôõb^c©¢¦©¡¦ÆÁÂPMP©¢®ÊÈÌÞÝáâãäMML¦¤¥¥§°¦¦ªÍÍÎëëëœžžµ¶µLRP¦²­§®©©¯ª€|ABA#"!202µµ¶QPQ­¬°§«´£«µ¦®³«°¯¨±­§°«µ¶¶OSP©µ­«¬°ª¬®¦­®¦®¬§­©ÄÊÆRSRMSM¦´§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ± 0€@$P°€A Dˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c@}ôø$ˆCˆ1Òã’$J–0iâäI(Q¤ô˜B¥Š•+W±dÑbd—.^®~¨˜1@¡)cæšiÔôXÃ¦›7pâÈ™ÓƒN;wðäÑ³‡O>~þ 
$hB…B ;   07070100007709000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/114.gif   GIF89a  Æ  œ›˜ž™˜ž›™œœ™›œš’–£“–£“— ”• ••œ’”š›£œœ ›¡˜œ œ š ¤œ¨ŸŸ§Ÿ ¤š ŸŸŸž› ¤œž¥›£›¢žŸ£™ž¢¬ª­ÂÁÂª©­Á¿À¡œ¡¦ÁÂÄÿÿÿïðïuvuŸ  ÁÁÂææætvt " ®¢ÃÈÁjkk.0/txxŸ¢¢ÂÅÇlllz|~¨««¨©«ÆÄÊkkmyzƒ¦¨²©¦¯Å¿Âljk~w|¬¢ª¬¥°ÄÌËkllzƒ©±«¦®­­­³€##$€€‚®®±°¬±ª³¬©²­ª³­©¶­ª¶­®·­ª¶ª¬µ¬ª³®©²¬ª±°¬®³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%$&'($)*+,-$./012$34567$89:;<$=>?@A$BCDEFGHIJKLMNOPQRSTUVW ;  0707010000770a000081a40000000000000002000000013d1fe2e70000023e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/115.gif   GIF89a  Æ  ”›˜•š—˜™™˜˜˜š˜˜™•™›”›œ‘œœ•œŸ—™ž™šŸš™Ÿ™šŸ›™ ›™œš–˜™•˜š•›–œš’š“¢˜‘ ™’ ˜ž§Ÿ¨ §£œ¦£œ£¡›££¡£ŸŸ¡›¡¤žž¦™ž¨šž¨˜ž¦—›§–œ¥šž¤œœ¤ž£¾¾¿°´²  ›ž¡žŸ§¡¦ž¡¢ôôôÿÿÿ×Ö×¥£¥£¤§¢¥§¾ÈÂ¢¢¢œœœµµµNLN§¤ª¨£ª´³¹ÍÍÍ‘‘YZ[KML¢¡¤¤¥¥¨§¦À½½æææðïð­«¯£¡§¢¢¨¼»ÁÆÄÈokq¤¢£vuw›˜ ­¥±ÐÍÑâââìììSSS}||¯¦¥¥¬­¼¾¿€€"!"‰Ž¬§«±¬°°©­`^a""#~|¯©±­©±«°±ª®°¬®²­¬±®ª³²¨·²¥·®¥·ª¨°­ª±°§±°§®³§¯´«±²ª­±ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       ‚€ 	
 !"#$%&'()*+,-./012234567289:;<=>2?@ABCDEFG2HIJKLMNO2PQRS2TU2VWXYZ´[\]^_`abbcdefghijklmnopqrstu  ;  0707010000770b000081a40000000000000002000000013d1fe2e70000021d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/116.gif   GIF89a  Æ  ™—ž™–™–›——™”˜›•™› š™šš›—œœ˜ž™™žœ˜ž•›™–™š–˜™—˜š–—œ›”œœ¢ÇÄÌÝÛà™•Ÿ•“Ÿ”–ž™š¤ÜÝàÿÿÿFGJ™˜›—›Ÿµ»²éìêikkš¦¨–¤§àßâwrv œ¢¹¹¹×××jlk " Ÿ­ ¢©¡×ØÖ !!v{|¤¦¥¦£¯ááä!!$­ª²¯¨°¨¡¯áßä  #¡Ÿ«¡ ª©¦§âáâ! "ª ®¬ °©£ªááâ"!#ª¥®©¦««§°«¦°QNQ#!#²¥­­¦­©¦»¬§¸¬¨·©©µ§«³¦¬³²¬¯°­¯­¬®§­­©¬­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       a€ 	
 !"#§$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTT ;   0707010000770c000081a40000000000000002000000013d1fe2e7000003e0000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/117.gif   GIF89a	  ç  ‘˜””–”•”’•“”•”–—’˜—”™–”š”–›™œš—›š”œœ–š›˜–›——›–˜š“˜›š›š–£™¢œ™£¡œ¥¥›¢§™ ¦š ¤™œ¢Ÿ›“›¡– ”¡ ’¤“§ —§¡ª¡Ÿª¥Ÿ©¦˜›¦œŸ¤›¡¤ £¨¡¡¨¡¥ª¤« ¡¨¤ §¥­­¼ÀÀ§ª­ ž¡ž¶³²Á¾¾£žž¡£ž¾¾Àÿÿÿ¡¥ ” ßßßuvsŸ¡ž¿ÅÂjkkwxz¤££áàà! "¦ «Ä¿Âkjlwu|¤¡ªáàã¤£«ÇÃÊkklzx|¥ ¨ààá  !ŸŸ§½ÆÆƒ„ƒu€z£¯§êîë $!¤³£¦¢´æææÎÍÑãßå!!" ©®¨¢©ÇÂÆØ××±¯¯µµµ#!!¯¨¦©£¬¦¥­yw//3!!$>?D\\cOLS®¢°¦®¯««©«°¦§²¤§±§ª±§¬±¨±°§±°¦ª¦°­¦°®¬¯­©¯®§¬¬¦­©©®©­¬§°¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¤ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ã>nü DÈ!DŠÜ0rI’£J–Ü`ÒÄÉ“P¢H¹1…J+7®`ÉrCË.7ntñòŒ–aÄŒ!SÆÌ4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏ@ ;0707010000770d000081a40000000000000002000000013d1fe2e7000003f3000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/118.gif   GIF89a
  ç  —•¡˜–Ÿš˜ž›˜ž—˜ž˜˜œ•˜œ™— ˜˜Ÿ˜›¡’Ÿž•Ÿœ“£™’¤—”£••Ÿ•˜œ”˜™•˜™’•™“¤›˜¦™˜£–˜š˜š™•š˜”™™›™˜—š™š˜™œœ¨§¦¦œ¦§œ£¦œ ¤™Ÿ¢™ ¡™Ÿ ›œ¡šš £›£ š¢Ÿ™ž£™œ¡™£œ›¡Ÿ Ÿž¡  ¢žŸ°¶³¼Á¾¤«ª—¡ ™¤Ÿ¥°§¾Ä½¨­§Ÿ¢œ££œÄÂÀÿÿÿÄÂÃ™•—¦¤§âáâš˜—››™§¨©¤¢¨ðïðæææ[[]£¤¥××× !!…‡‰¡£¤ž¨§ÔØÖ]]]ÂÀÀƒƒƒ>>=¢¤ž¥£žž£¢¨®ª›œ›Ö×Õ!  jif¨Ÿœ©ž¥¬¥©®¥èéè±¯®"! ¨¦¢©¥¡©ª¡¥°¬£³«ÃËÈRSS\``¨«ª§©ª¦¦©°®¬°®ª¬®®ðððÎÎÎ"#"‰ŽŠ¦«©¡©§¥«©¶¥®¹§¬¹§ª¶¨¨411D@B´¬­¯ª­®¬­­®¬©µ¬©³®«°±¬²±¬±±ª±²§°±©¬­«­­­««¬±ª©®««®ª­­®®°­­¬­¬ª¬«¨ªªª­§ª¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   · 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€é!d‘"FŽ IÒCÉ&Mœ<é%J)S¨T±r¥–,=´láÒÅË0Gz„3†L3gÐôè‘FÍ6mÜ¼GÎ:uìÜÁ“GÏ>}üüHÐ B…B”HÑ"F=‚IÒ$J• ; 07070100007718000081a40000000000000002000000013d1fe2e700000423000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/119.gif   GIF89a  ç  š› œœ¢›¢¢™ ¢™£ •¢œ–Ÿœ˜¢›– –—¡•• ”•Ÿ’”ž“™š••œ˜–ž—š¡˜Ÿ•ž˜œ™Ÿ›ž›™œœ˜ž–œ–’šž›œ’Ÿ¢“ž¤•Ÿ¡“Ÿ¢•ŸŸ˜Ÿ˜¡œ™›››œ—¡š¢— šŸ›š œ—žœ™Ÿ›™Ÿ™™ šœš—œšœŸ žž œžžžžŸš £š ¤š£™ž¡šž¤› ¥œ§ž¤¡ž°±¤ÄÄ¼²²¨«§ž²²«ÅÄÀ°°«£¦ž­¯©ÂÂÀº¸µ¥¤¡¢œºº¸ÿÿÿÃÄÀ–™ÂÅ½³µ²–‘ÓÖÕ”–”…‰…¢¨¤ §¥ñòñæææZ^^áááµµµkkiììëíìì"!!Œ††¨¡¡§ŸŸ×ÕÓGGEØ×Öd^^ª¨¨1/.«¢Ÿ¤ ž¨¡¢¹³ºRSS¤ªª¥©§¨«¥§©¤ñòòëëë""!òòñ#!"‘…‰²¢«²¢ª¥¢«¥§ªÍÏÐœœœ002×ØÚƒ„„/23£¬®£ªª£©©£¨ª¤¨¨¬´²_a_ÆËÈ9<;kuq¥µ¯¤µ­¦¶¯¯­¬­¬±°«°¢šž#"#‘Ž³¯°‚}ƒ$"#¡š¤¯¬µ°¬¶¯­¶´¬§³­¥´ª¢³«¤³ª¨±«ª°®°°±°°²²¯°³­´·°´¸°¶¸§¨­§¨¬§¬«§ª¬¨¬¬©©¬ª«­ª¨«­­©®ªª¯¬«®®­¯¬­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ç 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„H#G$Q²„I'O D‘òd
•*O¬\Á’EË.]žxù&Œ˜1dÊ˜yræ	š'iž¨YÃ¦›7bŸÀÉ‡K9sèÔybçÂyôìáÓÇÏŸ'€	z2ˆP!C‡%R¤w£'=‚IÒ$J•,]Â”IÓ&N<}JÔ(R¥LB•JÕ*V­\½‚KÖ,ZµlÝÂ ; 07070100007719000081a40000000000000002000000013d1fe2e7000003f2000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/120.gif   GIF89a
  ç  ’•›”–˜–•—–””—•”›”•›––›–”ž˜”›”™—–•—Ÿ˜™ ˜š •˜Ÿ™›™ššš™›šœœœŸžž™ Ÿ›¢Ÿ› Ÿœ ž¢  £ ž¦¤ §¤Ÿ©¥œšŸš¡›œ š™ ™›¡œœŸŸ  œ žœž£¢›¡£š ¤›ž¥›Ÿ¥œ›¢›ž›  ž£ ¢¬¦¥Â¼»¸±­©™—ª™—Ä¼»Ä½»¨žš©žšªŸ £¥æçèÿÿÿ’“”¹¸·ÒÒÓvxy¤¡¨¦£¨¥  º¶·µµµèæè989LKM¤Ÿ¤§ ¦£¥¡Ÿ¤¢ÇÊÉ’””!!Œ—”œ§¤›¦¤§¨©¥¤«ÃÂÇ::;omq¬©««¨®­¥««¢®´¬¸õôöððñÎÍÎššª§«­¥¬­¡¨¢«©ßãátvuŒ‹ªª©ª©¦¬©¦©­¤ÂÎÊ×ÙØ!$"y~îïï‚‚§©¬©¦«­­·~…""$ACC©¯±¨­¯023""#‰‹‹¦¬©°³µ±µ²°µ±®±²°°²®³´¯®²­®³­«µ°­µ°¬­¯¬­³¬¯´¬­±¨®®¨®®©­¯¨­«§®«©®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ¶ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€ø"d‘"F|Aâ#‰’%Lš8yâÃ”(R¦P©båJU,Y´láÒÅË0>ÂˆC¦Œ™3>Ð¤ñ¡f›6n|¼GŽ9têØ¹ƒ'ž=|úøù( A„
:„(‘¢EŒ9z)’¤I ;  0707010000771a000081a40000000000000002000000013d1fe2e7000003f2000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/121.gif   GIF89a
  ç  –ž––œ—”Ÿ—’›—’˜›–‘œ—›™’—–•–—š–žœ–›—•™™–˜™–˜–š™•™˜“™˜™šŽ˜§–¦˜¥šš¤™š¢–˜¡”—ž“”“—œ”˜ž–šš™šœš œ›ŸžšŸšœŸ™ž š¡£Ÿ¤œ¦žŸ¦  ¤Ÿ ¥ ££žž¤¡Ÿ£ŸŸ¤¡ž£»¸·ÅÂÄ±°²¨¤©¦¡©­«²¿ÀÄµ¶»¡¢¨ £¤º¸ºÿÿÿÔÓÒšš—¨¨¡ØØÔ´´±„Š¡¥š¤ž¨ññòKJNž¡£õôôììì!! jnf£®››¨¥ÉÐÌjlkÂÈÂ£££021¢©©¢¥©¯¬£·´­µµµÓÓÒ::9__\¥°¨¤­¬ª¢­ª¢«ÞÛÝÅÃÅ# "ž”š«¢ª®¡¨©¨£©¦Ÿº·µQRQJMJ¥Ÿ ¥ ¢¦¤ª¥«©¦©¸±²ÎÍÍ$"!“Šˆµ§¢²ª¦°¬¥§¦©§§ªÏÏÑ„„„BAB¬­¯°°°¯°°°±±®¨·®§µöõöïîï# #qio°£ª¯§©«¦¦«¤©­­®²µ·ÄÈË]^_023¦«°©«®ª¬®ª©°¨«®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ¶ 0€@$P°€A D0B0dÐ°C@(!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c>~ áDÈ"Ex9‚$‰’%Lš8áñ
(R¦P©b…Ç,<²hÙÂ¥‹—/<x€	#f™2fÎ¤E“FÍ6mÜ¼á'Žœ9têØ¹ƒ‡G={øôñóP Aƒ2tQ"E‹5rôR$I ;  0707010000771b000081a40000000000000002000000013d1fe2e700000237000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/122.gif   GIF89a  Æ  –”˜˜–™••™––œ”–˜—›’™Ÿ‘›š›˜š¡˜™¡˜œŸš˜›œ™›š˜ž—™Ÿ– • ¢•Ÿ£™£œŸ œŸž›œ™›Ÿ šœšŸš ˜ ™Ÿœ¡š š¢›žŸ   Ÿ› ¢›œ¥š¤³µºÀÀÄÀÃÂÂÄÂÃÂÁ¯±«¥¥ ¤£ ÝáÜÿÿÿ ¥ ”Ž¡¹½±ˆ‰†ƒƒƒæææ999zxz¦¢ªŸŸª€ƒŠààáikk-/0Ž•—œ¤£¥£¬ááä””•!!"yy}£¢©£¢§Ç¿ÈÄÃÄ! "jhp£¢¬¦¦­¥¥¯µµµÄÄÄâáâºº¼¨¥ª¨¦©ŠŠ‹“‰¨±©¬±¯"#$‚…¬°³°ª§®ª¦®©§­©¬«ª®­«°ª¬­¯ª«±¬®°©ª°ªª±ª­²¬­³ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       {€ 	
 !"#$%&'()*+,-./0³01234560789:;<=0>?@ABC0DEFGHI0JKLMNO³PQRSTU´³VWXYZææ[\]^_`aabcdefghhij ; 0707010000771c000081a40000000000000002000000013d1fe2e70000022d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/123.gif   GIF89a  Æ  –šš’›™”œ›“œ›”—™’–™”˜’™‹œŽ™’š“•™–•™’•˜•š˜™œœ™žž›Ÿ›ž›œœœœ œ¢ œ¤¼Â¾ßàÞ³¶² ¢šž ›ŸŸ¡œŸžÿÿÿÏÑÐZ`_|‡„—§ ¡¢¤ ¢£jjjKKL’–• £¤žŸš¡ijjnsv—›¢—™¢œ¢¦Ÿ¥©jkkuzy¥¨£§º¶ºëéìõôõ989{ux©›¥ªš§»´¼åäåéééGGGš—–©¤¥§£¨žª£–”tut”—¤¤ž¤Ÿ¡¬¦°ª¦°lll|}}¨¨¬¥¨«¥°³ª±µ|~€ª­°«¯®¦©±¢­³µµ¶„‹Œ¢«§¢©¦­¥´°¦´ÊÅÍ¶µ¶wwz ¢¤²­±ª¯°«®®ª¬°|{NPRŒ‘¬«¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       q€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPÑQRSTUVWXYZ[\]^_`abcdefg ;   0707010000771d000081a40000000000000002000000013d1fe2e700000136000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/124.gif   GIF89a  ¥  šž——žš–š• œž•›ž–ž“›œ•šŸ™ž— Ÿ™Ÿ žÌÊÊàßàžœŸŸŸÝÝàÿÿÿIGJ™ ßßÝ !¦¤œàáá! !£¥¥àÝâ  Ÿ›ŸâáÞ!! ¥¥¡ãåâ"#!¥­ªäãä#"!°¨¦ãâà"!!©¦§äåã"#"¨®¬ª­®OOR""#¦ª¯¬­®®ª®®©­­«¬§°¦©°§©­©¬°¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       :@@@0 DB±`4HD2¡D*–K“ÑD6œNÄóEB¢Q„T2EN¨TDµbµ\/XL6£Õl7A ;  0707010000771e000081a40000000000000002000000013d1fe2e70000022e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/125.gif   GIF89a  Æ  ’”˜’”“”–“•–’’”‘”–‘–œ•—š•˜œ–™œ™˜œš˜Ÿš•š˜“›¢•£¢•¢£™¢¡˜¢¢˜£Ÿ˜£¡˜¡¶µµàáßÌÌÊ¦¥£¥¢£§¤ §¤¡¤²§ÇÌÇÿÿÿˆŠ¨¥¨¤Ÿ¥£¢£ž’–‘jjj„…‚Ÿ¡ž  ›˜§š¥jjkttwž¥Ÿ¡¤› ¨š ¥jjlss} œ¬Ÿš­¬£¥«¥¢ââàæææ™™“¬¨©¨¢£©Ÿ¦¨ßáâêëë]^^…‹‰ ©©¢¡¡£¢£ˆˆŠ002‰Š¨¥®¢¨«¢©­klly}{¥¬ª¯°­²°¬lll}‚}«®ª¬¯ª­³²ÖÛÚRSS|}©­°­®­ÁÁ¼ààÞ¨¨¦##"“Œ²­­³®­°¬°‘ROQqno®«ª­«©«®¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       r€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMMNOPQRSTUVWXYZ[\]^_`abcdefg ;  0707010000771f000081a40000000000000002000000013d1fe2e7000003e0000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/126.gif   GIF89a	  ç  œœ”™™’—˜’–š”–œ“—–—›˜”›–”›— ˜›ŸšžŸœž¡—œ–œ›–›š˜—–š––œ›  ˜ Ÿ™¡Ÿ™¤ ›¥Ÿ›¦¡›¦œ¤œž œœŸŸ™¡ ˜› —šŸ˜š™™žœ˜ž£¡£ ¥¡ £ž ¤›¤™¡¤žž¤œž¥š ›¥¡œ£¡ž£  ¦£Ÿ¤¡¡¤Ÿ ¥Ÿ¦ž § ¡¤Ÿ ¨œŸ¨› ¨›¥§–§¦—§¤•©¤˜©¥«§Ÿ´¯«ÆÃ¾´¯¦ª¤ž«¥ž·¯©«¢£©¢¢¶ººÿÿÿÜÝÝìëëìëì˜—™¨§¥ÏÐÒØÙÚlllœœœæææëëëSVS>@>¥¨¢¦©¨{{~NMP{z€\\a002/02“– ¦¥±¯¯·¬¬¶šš¤ª©±©¨­©©¬ª««¬©¬°©¬­¨¨­¤ª­¦©­¨©°§¨¯§¨®©©­­¬¬«¬¯¯°²¯®±±¯°³°¯°²°®¯¯®°®­µ­¬³­««­«­¯«­®ªª­«ª®¬®¯­¨¯­ª·©³¸¤±¸¦®¸©¯·¤¬·¥¬¸¤¬³£ª¯¤¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¤ 0€@$P°€A D0a…
.`È aƒ<| BÄ%Lœ@‘BÅ
-\¼€CÆ5lÜÀ‘CÇ=|ü DÈ"EŒYŠ$‰’%Lš8y%Š”)TªX¹‚%‹–-\ºxù&Œ˜1dÊ˜9ƒ&š5lÚ¸y'Žœ9têØ¹ƒ'ž=|úøÙóP Aƒ2tQ"E ;07070100007720000081a40000000000000002000000013d1fe2e7000003f3000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/177.iso-8859-2.gif    GIF89a
  ç  š›š–›œ•˜™“š˜”™——˜˜˜—˜š—˜™”˜š’š‘“™–’š––˜›”œž–˜ž˜™ž™˜ž™šžš™Ÿš˜œ™ ™š ™›•—˜”—™”š•›™‘œ™’¡— ˜žž  ž©¬©®³®®³­ª¯¬›£ œ£¡›¢¢œ ¢˜ŸÃÄÅÜÜÝãããááâÕÕÖ¦¨¬•–™¥•›¤««°öööäåå¢¢¢«««êêêëëëdda–™–ž¦¨ª©´´µjjj?@@z{{ÜÝÝÿÿÿJJJ~}~££¦ž®££§¦ÊÊÊæçæñòñûûûIHIqnq¦£©¸¹ºüüüÝÝÝvvwÑÐÑHHIkon¢¡£ÔÔÔððð„„„:99yxxÜÛÛIHHnlo£ §À¿ÁøøøÂÂÂ¢¢£ÌËÌQPQupvª¥®¥¡¨±±²ÆÆÆ¿¾¿ª©ªÜÜÜééé\\\mmo«©©¤­¬|ƒƒbed[\\œžÕÕÕƒƒƒ888ebgª¥¬¯«°¬ª¯“’•’‘ÎÍÎÈÈÈIIL^]aŽ”®¨°®¶¬¬µ°­°¬¤©©š›¥¥¦yxz”°¦µ±¥¶«­³©«°¨§®ª¨°¢ ¦uouVQU†}ƒ¯§®±ª¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   · 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„H#G$Q²D“&Nž@‰"e
!U¬\Á’EË.]„xù&Œ˜1dÊdbæš4jÖ°iãæœ8ræÐ©cçž<zöðéãç @‚*dè¢DŠ1jäè¤H’&Qªdé¦Lš ; 07070100007721000081a40000000000000002000000013d1fe2e700000223000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/179.iso-8859-2.gif    GIF89a  Æ  ™—™•œ™•š––˜”—š”˜›’˜˜‡ƒƒýýý¡Ÿ˜œ˜žœ™Ÿƒ‚ÿÿÿOOOnos›“œ›‘ „„ˆ““”yx€“•”™Ÿ‚ƒ‰bbc…–Ÿµ·´ùùùCDDmxz—¢¤ÆÆÆyxy  ~{€Ÿœ ŸŸŸNOO\b]ž« œª €„€u{|¤¥¥¤¤£‹‰OOQ~|‚®¨¯­¨®Œ‡NNOut} Ÿª¢¢ªŠ‹ONO|u€« ¯­Ÿ®Œ‰OOP|x€¨¥ª¨¡©£ §Ÿœ¢\Z\/-.ƒy~­¦­ª¦«©¦º ›ª‡„……šž¥¥¬²¥¯²²«¯¯¬¯¬«®§¬¬¨¬¬¨«¬ª¦­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       g€ 	
‘‘‘ !‘"#$%&‘'()*+°,-./‘01234‘56789‘:;<=>‘?@ABCDEFGHIJKLMNOPQRSTUVW ; 07070100007722000081a40000000000000002000000013d1fe2e7000003dd000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/182.iso-8859-2.gif    GIF89a	  ç  ”’“•“•—’——“™•’š“•š–•›—’ž–” •™š—–›––›•˜š’—›Žš›ŽœŸ“žŸ‘žž¡›¤¤›¡¦™ œ‘—¦Ÿ¡œ™–¢œ˜¥˜—£š˜’£“¦ •¤ŸÈÊÉôôô”š—|„€œ¨¤›§¦Ÿ£§ ¡§Ÿ£ÙÙÚefg$$%yw{¡ž¡¢š£ŸœžŸœ›¯®¬˜––_]]yzv¡š£™ ¡žîîîÿÿÿÒÒÒ™™–¦¡œ¦¢ ÒÒÓeee.-.¦¥¦èèèmln—•™£¡§ÕÕ×ÔÔÔ«ª¬ Ÿ¢GGH$%&fkk§¦£ ¦ÅÅÅüüüååå‰‹Œ—œ›¢¡“˜†ŒˆAFC`caµ¶µ¥¦¥‡¤«¤ÎÍÏª¨¬»»½ŽŽŽDHI¤°¬¢œžÑÑÑþþþÃÂÂ0..WTS¯®«¡¢¯xx„@@CJJK213$!$;8<›‘šµ¤­§±£§±¦¨¯¥‰†ˆˆ€…­¬¦­°©¨´¬¬¨¯­§««¥¬©¨­¨¬«¦¯«©¯ªª®ª«°©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¡ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7pèÌ¡c8|ü DÈ"Ep9‚$‰’%Lš8y¢J)S¨T±rŽ,Z¶pyÒE_À„3F'™2fÎ I£f›6nÞÀ‰#g:vîàÉ£gŸ>~þ 
$hP@ ;   07070100007723000081a40000000000000002000000013d1fe2e7000003da000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/188.iso-8859-2.gif    GIF89a	  ç  ¡˜¢ ”¡œ–žœ˜¡š–Ÿ•— ••Ÿ”•ž‘“—œŸ”ž–œ›˜œž›žš˜œ›˜žœ–œ›•“ž£”Ÿ ’ž¡–—ž£¡”›˜˜›œœœ››š™ ›—š—ÇÇÈôóô“‘•{yzš–›š›œŸš ¡™ Ÿ™šÙØÙfde$#$}vv¦œ¤ ž¡ š«ª¦©©¦‹ŒˆXXWŒŒ‹›™¤£ ¡š¸¹¶ÿÿÿŠ‹Š’¡§¤–—–„„„vvv­­­ììì>==kgg§  § ›oiepljñññõôôUTT#!!ˆ~¤ ¢¤©–™›éêêúúújkk"$#imm£©©¤¨§¥¦¢ÞÞÞüüüyyy#!"rkm¯¢¦±¡«±¢ªÎÎÎ©©©¼½¾ÛÞà®µ·¢©ª¢©¨ÑÑÑŒŒ†¦µ®°©®&%&'&&'%&&%'$#%nmr­¬¶²ª§®©¨®¬®­®®­¯¯­­°«±´®²¶¯¶·¨«ª¨¨¬©ª¬©¨ª­­¨®ª©¯«ª­­¬¯¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ž 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7ræÄ‘CÇ=|Üø$ˆ!DŠ9‚$‰’%Lš8y%Š”)TªX¹‚%‹–-\ºxúL1cÈ”Ñ™ÓÌ4iÔ¬QÃ¦›7pâÈ™C§Ž;xòèÙÃ§Ÿ?€	
 ;  07070100007724000081a40000000000000002000000013d1fe2e7000003da000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/191.iso-8859-2.gif    GIF89a	  ç  ‘”š“–—••—–’“—”“š”•š––›•”˜“˜–•œ”–Ÿ–˜Ÿ–™Ÿ•–ž˜›œ˜™™™™›™œž˜Ÿžš šžšœŸž¢ŸŸ£ ž¥£Ÿ§£›™ž™ »¼¾ÔÔÔª«¯šœšœŸžŸŸ›Ÿ¢¡š ¢™ÐÒÍëëë\]\uzuœœž›ŸŸœž¢œ–•§¢ ¨¢ž{uuYVU’‹‰•’§™©™·¸¸ÿÿÿŠ‹ŒŽ‘£ §—••…„„vvv­­­ììì<<=fdg¤Ÿ££¤ gkijnnñññôôôTUU ""zƒ‚›¥£§§¨——›ééêúúúkkk##$mmq«¨ª©§­¦ž§ÞÞÞüüüyyz"!#mkp¨¨¬©¦ª¬¥«ÍÎÎ¨©©¼½¼ÜÞÛ²²®ª¨¥«©¥ÑÑÑŽ‚ƒƒ§¨¬­­·%&'%%'%&&$%&"#$jkm¦©¨¯±´®²¯®²®¬®¯®­¯«°±­¬¯«¬±¬«´°¬¬¯¬­²ª¯³ª­°§­­¨­­¨¬®¨¬ª¦®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ž 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7ræÄ‘CÇ=|Üø$ˆ!DŠ9‚$‰’%Lš8y%Š”)TªX¹‚%‹–-\ºxúL1cÈ”Ñ™ÓÌ4iÔ¬aÃ¦›7pâÈ™C§Ž;xòèÙÃ§Ÿ?€	
 ;  07070100007725000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/192.gif   GIF89a  ç  ››—š›–¥£¦éèé¿º¾ž•›Ÿ”šœ’››’œš”šš—›—ž›ž™žœ¦¨©ÎÌÌÿÿÿßßßž™˜Ÿ–˜Ÿ™˜ ˜•œ›•™™•”š •— ”—ŸˆŽ’z{~›š›;9=›”£Ÿ”¢£•¡¢• ¤• —¢œ—¤™›¥›œ¤Ýßá·¹½TWZ–Ÿ¢—žž–šš“œš £Ÿ¢œ¢ÈÈÌcdjœš¤œ›¡ž¡Ÿ¡Ÿ £¡¢ £¢Ÿ êêêƒƒƒ¡ ž¢¢¡¢¢¢¤Ÿ¤¡š¤¤œŸ¸±µ¨§©ÍÍÍjgk©¦¨ ¦¤££¤¢¦–£—Ÿ§ÐÖØORR²¶·djk™§ª›¦§›¤¦ž¤£œ£¯¨®·jklÇÊÌµµµ†‰ˆ¢§¤¤«¡§©¥ª¥ªÏÌÏaaa¢¨«¢¤«ž¦¬¬§¯õõölkmlklœœ—– ¥£¬¤¤¨º¶ºº¹º!! x{wy{yy{wæææ\`Z¤¯£¤¯¤íëìTSSSOP°««°©ª®©¨ÚÛØvwv©­¨¥­¨«¨£A@@""!‹‰©®¥©«¦§¬¥©¯¥]`\!""{}}¨¨«£ª¶¥©¶¥ª´¥«²¥«³©¬²«¬²­ª°¯«­°«¬­°«¬°ª´²§±²¬³°­±¯­°®®±©¯¯§­¬¦­©¦¯¨¨­§ª¬§¨ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Õ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±b‹.^Àˆ!„4jØ¸#‡Ž<löðñ B†P‚‘#H’(YÂ¤‰O @ˆ"e
•*V®ØÄ’‚–-\ºxùÆ¦[aÄŒ!SÆ„3hÎ¤FÍ6m ¸y'ŽsèÔ±sž<zöðéÁÏ@"TÈÐ!D‰-bÔÈÑ#H‘$M¢TÉÒ%L™4mâÔÉÓ'P¡D" ;   07070100007726000081a40000000000000002000000013d1fe2e700000410000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/193.gif   GIF89a  ç  š›š™œ™Ÿœ›Ÿœž¡½¾¾éééª©¨¤œ¤žœ¥š›¤˜˜˜—˜•–•˜–––•–çèèÿÿÿ¿¾¾QNO‰‰ —“œ™‘œ˜“ ‘¤ž‘¢œ’£š•¥ÓÑÕgdh  XUXŒ’ž˜žžœœœžž•–•œ••ž‘”œ’ÄÆÂÅÇÆy}|“™˜˜˜•–˜–”™š—›œ ¦¡ ¥  £Ÿª®§‡ˆ‡Ÿ¡ Ÿ ŸŸŸžœžžŸŸ¤¡Ÿ§ Ÿ¥ËÇÎÍÍÎwo}Ÿ˜¬ –«¢›¨œ©¤£¦¢£¤¤ ¤ôôõíîî´µµQQQ™—œ›—œ¤££¤¦¦º¼º¢£¢]_]œœšœ™¦ª¦¤§¥¡¥£¥©¤¥¨£ëëê››œ’“UX\— ¥š ¤—£¤¢¥¨­±µ„„ƒ©©¨©¨§§¨¤¡¨©ÕÙÙ›œœjllæææfpn ®¬¡¬­§¯¦õöõ #!Z`Zv€wÑÔÑ¡ª¢¢¨¥ÏÐÍ¤£¢#"!²©¦¯ª¥¯©¤Á¾¹¶¶µŠ©®¦©¤­kiq!!#\\a§¥°¨§³¨ª°¨¬°Ž"#"OQP«­¬¯°ª°³«°´¬­³¬­´¬ª³­ª´°«±²©²±¦°¯¨¯¯¦®­¨©¬¨©©©¬¨ª¬¬­¬ª°¬ª²ª«²¨©²­ª±­ª²­¥±­©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ô 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1#B5lÜÀ‘CÇ=lúø$ˆ!DŠ9‚$I%K–0iâä	”Q¤D˜B¥Š•+X²h‰°…‹Í.^¾€	#Æ¦ÛcÈ”1sM„4jòFXÃ¦›7p"Ä‘3gRêØ¹O={øô‰àç @‚*dè¢DŠ1jäè¤H’&Qªdé¦Lš6qêäé¨P¢F‘
 ;07070100007727000081a40000000000000002000000013d1fe2e700000400000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/194.gif   GIF89a  ç  š••—•“—“• ¡ ´¸¹š¡¢Š•—‰–˜Š•˜Šš–Œ›˜œ–’™•”¤¢ óóóòòñîïï–šš•›œ”ž–œ ˜ž ™™›•œÎÓÒÉÏÍ*/. ¢¢¡¢¢‹šœœ›Ÿ› ¡™  ›¡Ÿ }~{ÈÈÈ¹¶´\YYYZX  œ¡›  ™ŸŸž¢›éêêÿÿÿÂÃÃ}„…™¢Ÿœ¡¡™ ¢— ¢›ª›¨¦§°^^a¢ ¦¡¡¤ ¢¤¡¡¦•Ÿ ” ŸÎÖÕ‚ƒƒŒš–š©¡š© œ¨¡œ¡£ ¢ôôôììì æææjih§¡¢¨¡¦«žÈÏÊÐÑÑtutêëëuvu¤«ª¥ª¬¦¨®¡¤¤ÍÍÍyut¨¢œª¢ž·¾½ÔÕÕklllllÎÎÎjki§ª«§¨¬Ø×ØlkkC?@ƒ{z‚}yª¨¦œœ‘‰ˆ«¤¤ííí!#"z}|§¬©§®«¨­ªððð]_`©«¬Ÿž#""212©¦¬©©®©©°­«°ª¬¯113""$«¬³©ª­ª¨°¨¤­¦§«¨¥±ª¦®¬¦¯¬§¯«¥°­¥²¬©³²¬¬³°­¯¯¬¯¯­¯¬­¯¨°¬©°¬¨²­ª³¬­®­­°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ä 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E‹.^Àˆ!c6nàxÁ3‡Ž<zøøä…‡A„!RÄÈ$I”$YÂ¤‰'O ¼ˆ"eÊ*U¬\Á“'Ï,Z¶péòÂË0`Â¼3†L™fÎ I£æÅ6m^¸y'Žœ9t^Ô±sO={øôñóP Aƒ2tQ"E‹5rôR$I“(U²t)  ;07070100007728000081a40000000000000002000000013d1fe2e70000040e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/195.gif   GIF89a  ç  ––Ž–•‘•”«­¬®¬«š—”ª¡£Ÿ”—Ÿ™–¢š– ––¢–•šœ¥››¦±³ºÿÿÿééê‹–™ ¤˜ ¢™Ÿ ˜› Ÿž¥žœ¢›œ šœjjj›››<<:›–˜œ•™œ”››“ž ™ž¡–ž –ž¢ÓÕÖ®°³TWZorz›œ¥šŸ£›¡œŸ˜ž¡™œ¡ËÊÉheh›¡ Ÿ £  £ ¡¦¡šŸ¨šž©–¦èêë‚‚ƒšœ¤Ÿž¤¢ £¢ž¤¢œ¤ž¤ŸŸ¡ ¶¶´¨¨¨ÍÍÍedk š¤£—¦£–©¤š«¢ž¡ÔÕÕPQQ´³´gfg››¡œ›¡ › žš§¦²®²¹·jllÈËË´µµ„Šˆž¤¥›£¥›¥§§©ŸÍÐÉba]¨¦Ÿ«¤ž¬žŸ¨«¬õõö›œœœœœ™™›¢¦¬£¥«¶º¶¹¹º  "tu{rt|rx}æææ[]`§§«©©¨ëëìRRSNMP§¤ª¨¥§¤¢¦×ÕÙvvu«¦©¬¥«¯°³CBD#"#Ž°®°²­®´¬­±¯­b`a$#"€€€«®­¯«³¯¬°°¯²­±²°°±³±®³®¬³¬¬´­­¸­±¸­°·®¯ª¨³«¦³ª«°¬©°¬¨¯«¨¬ª¦¯§¨¯¨¦©¦¨©¦¦¬¦©©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ò 0€@$P°€A"Bˆ a…
.`È aƒ<| BÄ%Lœ@‘BÅ
-\¼€1†Œ4jØ¸#‡Žˆ;xôðñH!CyPÄÈ$I”üXÂäA'ž@‰"e
•*­\y€%‹–-\ºx‰ÈöÁ0aÄŒ!óÀŠÝ2ÌœA“FÍƒ5lÚ¸yó N9sè<¨cçž<zìáÓÇÏ@"TÈÐ!D‰-bÔÈÑ#H‘$M¢TÉÒ%L™4mâÔÉÓ'P¡ ;  07070100007729000081a40000000000000002000000013d1fe2e700000410000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/196.gif   GIF89a  ç  œ˜•š™š—™—¸º¸©±ª£¢´º¸œ¥¢‘›™’œœ“™š‘••™ž šž ™œ¢ÿÿÿÐÏÒ©¨¬Ÿ¡¤‰’•ž¡™œ ˜— ›¡›¢›™¡›¸Â¼OQPZ^^Ÿ£¡788nwr•Ÿš˜¡—™¡•Ÿ œ¥¡¢¢ž¡¢ž²²²ÕÖÖ”suu’Ÿžœšœ›ž ¤¡¢ £¡¡««ªˆ†‡¢¤›¤¡¤¡¡££¢œ¤¢ ÊÈËÍÍÍrrw™Ÿš¢œš£™¢œ¥š«£š§£š¨ôóõîîïµ´µQRU ¢ª ¡«Ÿ¡­žž±”¨Ÿ•§³®»¢¡£]Z^›šœ“š¡œ¨¡Ÿ«¤ ª §¥ ¦§êìëœœœ‘“”[^]¢­¨£«ª¦©¬«¡¡´ª®ƒƒ„¨£«¥¢«¤¦§ª£¬ÚÖÚ›lklææækmq¥¨®¢ª°©¨¢öõô#" c^Y€|v}tÕÔÑ_^]¬¨Ÿª©ŸÑÏÎ£¢£"""«®¦«ª¨©«¨¹½»µµµ„ˆŽž©­¦¯­moq!"#\`b£«¯¡®°¢¯±¢¯°ˆ‘!#$OQS¨°²´¬³´«´´­¶±¯¶¯¯³­±²®°°°¯²¯­³°­¯±¯­°¯°§ª«©®ª¬°¯­±®¯°¬¯²­°²°³³­³³¯°²®¯²°±²°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ô 0€@$P°€A Dx a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!ãÁƒ4jØ¸#‡;lòèáã B†)bäÈ$I”,aÒÄÉ“P¢<2…J+W°dy e‹M.]¼|Æ¦ÛbÆ)cæÌ4iò>P³†M7oÀ‰#guìÜÁó ž=|úøyðP Aƒ2tQ"E‹5rôR$I“(U²t	S&M›8uòô	T(Q£H•
 ;0707010000772a000081a40000000000000002000000013d1fe2e700000412000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/197.gif   GIF89a  ç  ‘•—‘š‘”’•ÀÅÂÿÿÿ°»´†œŠž’Œ›•œ”œ•œ˜¢œ™ŸŸ–£œ•¦êçëŠ„Œµ´µrkzœ˜¦š˜©–™ª˜˜«¡• —Ÿ •ž —À¾º®ªªJFI” œ’¡œ’ ›“ š˜œ›“ž›’ ›’µ°¬ÑÐÎQPOuom¢˜•¢˜™¡•œ£–žŸ¨£§¢š©¢›¨£éëëÁÄÃ{‡†—¢ —¡œ¡œœ¡ž¤ž¢¦œ ¨œ§°¨^_`¢ ¥£Ÿ¤£ ¢£Ÿ£¢›¯¡š«¡›±ÔÓÛ››œƒƒ„••š¢¨§¤ª¦£¨¦¡£¨œ£¥š¡¤ôõõììì  æææeihšŸ¡œ¡Ÿœ¡¥¨«¡§«ÌÏÐÑÑÑvuvìêìutv§ §£ ©¥ ©§¤«§¢¬ëêíÎÍÍ{z{ª¦¤¨¥¡ž«±¶¾ÂÔÕÕllllklkklÎÍÎkhj¬¤¤ª£¡¦¦Ÿ×ÖÔljj@?>}|{}~}¨ªªœœ“©®±¬°·ììí  #wu} Ÿ¬¢ ¬¥£«ðððZ[a¡¥ª«¯®žž""#202°§ª¯§¨°¥«®¦¬°¦ª312$!#²¥¯°¬²°«´°¬±¬ª±­­²®¯²¯­²­­³¬°µ­±²¯³³¬¬­ªª¬©©®©¨«¥¨®§ª¬§©«¥¥¨¥¤¬¦¥ª¦¦¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ö 0€@$P°€A D0B0dÐ°C>€!b‰&N H¡b‹.^Àˆ!cF5lÜÀ‘CÇ=
õñH!Cˆ1RàH$I”,aÒÄÉ(Q¤D™B¥Š•+X²h)°…K—^¾€	#f¡pË˜9ƒ&škØ´qó¦ œ8ræÐ)PÇÎ<y
èÙÃ§O? 4ˆPB†!J¤h£FŽAŠ$i¥I•,]Â”IÓ&N<}J–Q¤J™:…*  ;  0707010000772b000081a40000000000000002000000013d1fe2e700000419000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/198.gif   GIF89a  ç  —›”’—”œ˜›–Žž–’œ”’—”œš’–•Ÿ–• “—£”š¡˜›©š›¬œ›­™¯›—«›–¨œ–¥›˜¡™–ž›– ™–˜—™™–™˜˜˜•™™•š™—œ˜—ž™•ž›”žœ˜ ™š››››››˜™™™›ž™™œš™›œ›šŸŸ› šÇÌÆÝàÝÞâÞßâÝßáÞž¢Ÿ¡¢žŸ œŸ ž›¡œ¢›ž·¶³ÿÿÿLMH¤© §Ÿ¤Ÿ¢žœ¤Ÿôôô  !   ¢£¦«£¢«¤¢¬¢ ¨¡ÔØÕÐÑÑ ! Ÿ§  ¥Ÿ¢£ž ¤ž¥Ÿ§¤¡§£ §´´ºµ¶¶´µµÝáâœ¥¦œ£§¤¡©¡ «¡£§ôõôjkkÚÚÚKLI ¡¡«¨¦«¥¥ÏÍÍ"""!™­©©¨ ±²«ÞÞÝlljlkjÎÍÍ"!ª¨Ÿª§ª§ž©© ¥®²êííQSS<CBw€ÑÕÕâååáãå©«°ª©®ÍÏÒªª«!##Š’©®®äääROO®«©®ª«ooq"#"`a`«®­¨­©£¯¨MSM©®«¯µ³­´±¬³²«±²¬³°«¯²«­²«¬²ª­²««³¬¬²ª©ªª¥ª©¤¬©£¯ª¥³ª¨°«©°©¬°¨ª²¬ª²§©´¦©µ©ª³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ý 0€@$P°€A D0B0dÐ°C@„1‚Äˆ&N H¡b‹.^Àˆ!c6nàÈÁ“§Ž<zøøáÏ B†!RÄÈ$Ir(É±„I'O D‘2%•*9ªX±rK-[¸äèâ¥gŽ/`Âˆã6™»eÌœA“#š5lr´qóN9srÐ©cçŽW<yôìá“£Ÿ?€¹4ˆP!C‡%R´ÈiCŒ9z)R$I“(Ušdé¦Lš6qêäé¨P¢F‘
 ;   0707010000772c000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/199.gif   GIF89a  ç  ˜¢‘š ‘ ¡ž—¤›”¤œ—£œš¥š›£œ›¢š˜¥œ˜£›œ˜šœ–šœ—œ›– ›˜¡œœ¥Ÿ–¨˜£ œ¤ž›¤œš¦œœ¦˜˜–›œ–š™–œš˜š™œ›—žœ•Ÿ ™œ¡™›Ÿ›™™œ˜˜—Ÿ£•£˜›Ÿ®®´ÑÑÕÜÝàÛÝß¹º¿—™¡››¤š™¢œ›¢Ÿ§œ§ŸÒÕÕÿÿÿÞáà¡°«—£¡— Ÿ¢Ÿ¡ÕÕÔÚÛÙPRP!!‚ƒ‚ééè™‡¦•£œììì   <<=…ž¡ž£hfk  !//0£¤¤À¾Àƒ‚ƒ/.-¡¢š£¢š¤¢¤¡ §¤¡¦¦££¦¤£§£ÆÀ¾ljjqif­¤ ®¥¢­§£«¥ ª¤¡¤£¢¢¥£ª¸²ÍÎÍu‚x ®¦ ®¨Ÿ­©£¬ª¤­«¡­«¢«­¡©¯¨§ªèèè~€¥§¥¤¨ª©¨«²²²ãâââââ¨§¤§¥¥¬ª¬µµµêêéâãáäåâŸŸžQQP©¬«®¨ª­¨¨ª§£¤££ëëëlll##"oomª¬©«°±­¯µª¬·šž§ƒ†ÎÎÎ9;;""#112}}~¨ª©¥ª¥¬§®«ª«©­©¦­§º½º¾¾¾ÕÔÔ›™™¬­¦®­©¬°«¬±®¦©­¦¨¬¦¨ªÕØÚ»¾ÀÝßß=?B¢£°¥¥³¦¦³¦¨²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Õ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1£fM5lÜÀ‘c†Ž<zø˜ñH!3†)bä’$J–0i2ÃÉ(Q¤L¡RÅÊ,3²hÙÂ¥‹—/TÀ„3c™2fÎ I£f›6nf¼GÎ:uìÜÁ“GÏŒ=|øÔìãç @‚Ù$TÈÐ!D‰-bÔÈÑ#H‘$M¢TÉÒ%L™4mâÔÉÓ'P¡D…Eª”©S¨R©Z ;   0707010000772d000081a40000000000000002000000013d1fe2e700000225000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/200.gif   GIF89a  Æ  ÄÉÇÜÞÜ¢¢¢—•“˜””–žš—œ˜¯¯³íîíÿÿÿ¯´´’™žŸ˜Ÿžš”˜—|~}‰ŠŠOOPmmn™•œ˜•›ßÞàßÞáÞÞáÌÍÍÕÖÖ¡˜§¢–¥MML¤¡£µ´´   "!!©¢£µµ´MMI¥¥œ§¢œž¢ž£ŸæææÄÅÃáãàáâà¤¡«¦£©LMM££¡µµ¶!""!"#"!#"!"©¦¨µµµLNP¡ª« «¬¢° ¢°¢ÄÄÄáâãàáâ©¬®©««NQO¦ª¨©¯©"#"!#" "#¥°°«·©ª¹©­·¬¬¶­­´©¦°¬¦¯«¨©°¨¨®§¨¯¦©¬¢ª­±©¨°©¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       i€ 	
	žž	 !"#	$%&'()	*+,-./Ÿž01	234567	89:;<=±>?@AB¸	CDEFG44HIJKLMNOPQRSTUVW ;   0707010000772e000081a40000000000000002000000013d1fe2e700000238000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/201.gif   GIF89a  Æ  ”›™’˜—‘—šÁÆÇÙÝÝŽœ•Žœ—™ ˜˜ª¢£êçèÿÿÿº¹¹\Z[™•™˜“˜›™œ›™ŸÌÍÍQQQ VWVœœžËÆÌßÞßàÞßÈÇÈÛÚÜ¶´· ¢§ž¢©ÞÝÝ„…„€€{ ”âàá!! !     svv¢¢Ûßß š¤›¢—¡ ›Ÿž›Ÿ¡Þáß´µ´ÞãÞ³½²œ«œ™«œâààŒˆˆ’‡Š®£ªãàâ#!!#!"# "# !€s|³›¦ßãâ "!¢¦©¡¤ª¤¢ª¤¤¨¤¢¨âããµµµãâãããâ¾¿¼«¯«¬®ªâàãŠˆ‹ŽŠ­ª­¬¯²PRR"$#"####"~~€­¬­¦²§©°©¬¯§¬±¬®±ª­°©­°¬­®­©¦¦©¨¨«ª¥¬©¦¯©¤±§¥°¦§²§©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       |€ 	
 £!"#$%&&'()*+,-./012334567¤89:;<=>?@ABCDEFGHIJKLMNOPÂQRSTUVWXXYZ[\]^_`abcdefghij ;0707010000772f000081a40000000000000002000000013d1fe2e700000235000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/202.gif   GIF89a  Æ  ”›˜œž°²¶½¼¿›¡›œ£›ž¡˜š™™Ÿ»¿¿ÿÿÿñññÑÑÒ¢¤ž£¦Ÿ¢¦ž§§¦ÝÞÜ¡ ŸPOO¹¹¹„„„›™›™—˜²»¹ÚÞÝÂÄÄÐÓÒÕØÖ™œ›qzvœ¦ŸÀÂºÃÃÂhhh¡Ÿ¡ÀÁ¾jkj   ! !!MMH¢¤šÂ¿Àjjjwpt¤š£§œ¤¤œ£¦£¿ÆÂÍÍÎÑÓÓÝáâÆÌÎ™ ªœªÊÂÅÄÄÅnlm©¨¨ÊÀÁljk" !NJN¨¡§ÂÀÄ{vz¥¡¦§¡¥§¢¨¨£¥ÅÊÆÍÎÎÒÔÓàäâËÒÏ¢¯ª¡¯©ÉÈÈÅÄÄmmk¥¨¤©«­|}~""#RNR¯¦±¯­¬¯­©­«ªª¬ª­«­°©¬¯§ª±¨¬´¯²³ª²²©²°§±¯¨´®®´­¯³­­µÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       y€ 	
 
£
!"#$
%&'()*+
,-./012
3456789¤
:;<=
>?Ê@ABÈCDEFGH
IJKLMNOÂPQRSTUäUVWXYZ[\]^_`abcdefg ;   07070100007730000081a40000000000000002000000013d1fe2e700000225000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/203.gif   GIF89a  Æ  ª°²µº¼’››¸¸º¯¬¯–—š™››ààÜÿÿÿsxnÏÑÐ€ƒ|™Ÿ™®®³„ƒ…ºº¼OOPEFG™•›ÝàÝÔÖÕÐÑÐÞàßÐÒÑ‚…‚ŸŸGKK—£Ÿ´µ´! !   ™¤µ´µMKJ£Ÿž¡¡œ¢¡  ›åææÁÃÅÝàäÝáã—¤ª–¦ªILOŸ «µµµ"!"!!#!"" ©«MJQ¥¢¬¦¥¯§§¬§©¯æææÄÅÄáâáááá¥¦¤¦¢£LOT¥¨´µ©³$"$$#$$$$#$#­¶¯®ª¬¯¬®°ª®¯¨­®ª±ª¬±§¬°­¬²­«³­¬°«©¬«¥«ª¥ª¨¦¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       i€ 	
žž !"#$%&'()*+,-.Ÿž/0122345¼6789:;<=>?@¸ABCDDEFGHIJKLMNOPQRSTUV ;   07070100007731000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/204.gif   GIF89a  Æ  ³²²ééé°µ¯™Ÿœ–¢š”Ÿš¯³®âãâÿÿÿÅÇÄ–Ÿ—˜ •›ž¢€ƒ†fhhjkkU\[™£¤Ÿœ¡ÍÈÊàßß„ƒ…sswŸœ œ  ÞàÞKLJ£¡›¤£œ¢Ÿ ßßß!  £¢Ÿ¨žŸžœœßàÞ  ›£ ž ˜¦¦Ýàá!!—¥§š¥¨ž¥ÞÞâ "¡ ©¤¡¨¡®¤ßäá"!š­£›­¡¥¬²âää!#"§®§¥ª§¥¤¡âáá""!©©¨ª©§¥«­ããã#"#®©¯­©¬­º¯®¼²SXT#%$°·²®µ±§©¶ª¦³©§²¨ª²©¬³©¨²«¤ª¥£¬£¥¬¥¨°¤¬¯£ª³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV ;  07070100007732000081a40000000000000002000000013d1fe2e70000020d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/205.gif   GIF89a  Æ  ”ž›¸¾¼çèè•˜—–”—èéçÿÿÿ¿¿¾PPO™—–ÌÏÎPQQ XVW’‘³´¶ÇÇÈ¨¨©™› œŸÄÂÀˆˆˆ‰‡†¤¥¤¾Á¾jjjswwŸ ¤ÀÂÄjkktzx ¥ŸÀÆÄkkky|z§ª¡ÀÂÆkjlwt}¡Ÿ©ÂÉÃllk}~y««¤ÂÁÇlklyx¢¥­ÆÇÈlll|€®®®ÊÈÆ€{}®¬ª®°³~…##%€}ƒ¯©¯­«­­¬­¯­¬¯®±®­²¢ª³¡¬³¢¬²¨«¯¨ª±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       Q€ 	
 !"#$%&'()*+,-./01234º56789:;<=>?@ABCDE ;   07070100007733000081a40000000000000002000000013d1fe2e70000022b000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/206.gif   GIF89a  Æ  ›‘˜œ›±ª°²¨¯˜˜”•–•˜––ÝÝÜóóóÿÿÿ¨ª¬–œž•žÀ¼¾ßÞßˆ†‡tttµµµ……‰¢§¢ œvwtÃÃÂ´³²uyuLMK’•‘£§¦¥¦¦ÃÄÄflh ¤  £žž§š§´µµJJMŸŸ§ŸŸ¤¡¦œŸ¨žIOI¥©©¤¦§£OLL¥¢¦¦¦¥ ¥©›§©JONž«ª¬ª±¬¥³¬¨¶µµQNO°¥«®¥«§¨°¤¨¯OQP©¯°¨¯­«©®©©¯µµ¶PPR¯®°®¬¯¬¯©¯¯«¶¶¶OPR¬¯±ª«¯²¦²³©°·¨¯%"#UOQ¶¨­¶«©°¯­°°­±®­°¯°±®¯±¬®±«®©¦±ª§¬¬ªªª¨¬ª¦ª¬¥©­¥©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       o€ 	

 !"#
$%&'()
*)+,-®./012®34567
89:;<=®>?@AB
CDEFGH
IJKLMNOPQRSTUVWXYZ[\]^_`a ; 07070100007734000081a40000000000000002000000013d1fe2e70000022e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/207.gif   GIF89a  Æ  »µ¼®ª¯¢Ÿ£¹¸¹£Ÿ¢š˜˜ž—–ÿÿÿÏÐÐ©ª«ž¢ ˆŒ—–ºÃÄORS[`cŸ¥¨799ovx–¡¡¥ž±´²ÕÖÖŽ‘pur‹•˜¡œŸ šÞßÞFIH™›™š›œœ›š›ŸßÝß  ŸœŸ ›¡¡ ž¤¤àáà ! £ › ¡›§ ¨ãßâ" !§ §¦¡¨¢ž©©ªÞáä  "¡¢­ ¡­¡¯¯¨«äâã"!"«ª«©§¬§ª¯¨®«âäâ"""««¬ª««¦ª¬¨¨­ãâã#"#¯«®«ª¬©ª©«©°ãâä""#¬©­­¨«¬©¬·¬¬³­«SRP$#"°¯¬²¯¬°²®¬ª«ª¬­¬ª­­¬¯ª¬±ª­±ª­°©¨¦©¥¦ª©¦©§©«ª¨«­§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       r€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`_abcd ;  07070100007735000081a40000000000000002000000013d1fe2e7000003f4000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/208.gif   GIF89a  ç  ••œ””›˜’œ˜‘ž™”˜•ž˜•›˜•œ˜—šš—š›˜˜˜™š––—™—•—˜—–š™”œ›”™–œ–• •”Ÿ–™Ÿ˜¢Ÿšž žžŸœœ™Ÿž› œ›¢›šžž›››™š—™™—›œßÝÞÞÝßÞÝÞÊÆÇª¤¦Ÿ•›¡•›¢˜›› œ ÿÿÿ¶»´¡¦ Ÿ¦¡›£ž¢ ¢µµµ! !99:ƒ„ƒ‡‰‰§§£¡§£ž ›µµ´ILIœžŽ©«ª‚ƒƒ‘“ž £àÞãæææÃÂÄàßã¡««¨´hhm¡¢¨MMN§¢¥NMK§¢¡©©®µµ¶"!#"!"½¶Á›œPMO«¡§§ª©QPQ«ª¬²´¶õõõRSS\]\¤§§ª¦¬ÅÅÄììë»»º"#!ˆ¬²¡²¬«ÕÔÕ„„…#!$QMU¬¤µ©¥µ³³°±²±"###$#####"#CACpor­©°­¥²«¤±¦­±ª¬³­®´­¬¶¬ª¶ªª´©­¶©¬¹¦°¼©¯»««©©­ª©®ªª­©¨¬§¦¯©§¯¦¦¯¨§­ª¥¬©§¬¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ¸ 0€@$P°€A D0B0dÐ°C@„!b‰&N H¡b‹—0[¸x#3hÔxiãŽ,tìàÑÃ‹@‚a1„H#Gn"Ió¥’%7™4qÂâ	(Q¤°˜B¥Š•›W°dÑÂb—.^˜~ó2Œ˜1dÊT5sM5kØ´qóN9sèÔ±sO={øàéãç @‚*dè¢DŠ ;07070100007736000081a40000000000000002000000013d1fe2e70000041f000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/208.iso-8859-9.gif    GIF89a  ç  Ÿ™•œ™•œ˜˜››˜šœ™š™™›Ÿ™œž—˜ž–›”œ–›•˜œ”š—˜–¡•• —™ –™£—–¥™–¦—•£—˜¢•™ ––¢™˜ ¢œ›žŸœœœš›˜šš˜›œ–”›˜“›’›š•œ—”—–ž•˜¢— šœ –œ¢•œ·¯²ÓÒÕÝßßÈÈÈžœœ¡œœ¡š£œœ¦›¢¦ž ¨œàâàÿÿÿíîî¾Á¾œ¡š šŸš¦§¦ØØ××××QRR "!ƒ„ƒ‰ƒš¦ž¥œ›¡Ÿììì  <=>ƒ……£¡ž£†ŠŒjkj889“—¥¢Á¾Èƒƒ„//1¢£©¥¡ª¤£ª££­¥¡¬ˆ‡{x}š—Ÿª¥«ÅÁÄlkjmlhÅÁÀ¡¨§¢¤¥´­¹ÎÍÎy}¾¶»ÓÒÒµµµÍÍÎÍÍÍ !!£«¨¦©«ÜÝÞ”•”¥§¨‚‰ŠJMN]aaêëëjkk>?? ¥£®¬¨¹¶²ëëëïïîäåàääá»»»"#$|€„ª­´®©µ¯§· ˜¦Œ××Økkl!!#LNP¥©§¥©¦±­±®­±¯ª±¯¦³oksA?D#!$"!$B@D}}…ª©³©©±«§±«¬´ª­·ª­¹§±½ª°»¦²»¤´¸¦³¹©³¹ª³»«³¸«³µ­²·§°§§¯©§®«¥­ª§­¨®©§¯¤«­¦®±¦±³¤°±¤³²£´³£³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ã 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚‹.^Àˆ!c6ræ¼#‡Ž<zØðñ 9…!RÄ†‘#H’(YÂ¤‰“'P¢Ø2…J+W°dÑ²…K^¾€Ñ©3Œ˜16È”1sš46Ô¬aÓÆ7pâÈ™CÇF;wðäÑccŸ>9ýüHÐ B…Èä4tQ"E‹5rôR$I“(U²t	S&M›8uòô	T(Q£H•2u
U*U«Xµrõ
V,Y ; 07070100007737000081a40000000000000002000000013d1fe2e700000254000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/209.gif   GIF89a
  Æ  ——–œ›ª±²¬±²”œ—£§§™›œ˜š››˜•˜›•–•£–— ÿÿÿèèêŒŒ‘˜›Ÿš›ž™œ›’š™”œ–«³­ijiš›š8<:’Ÿ™”œ™’ž˜ÞÞÞÞßÞ¦ª§~†€ryrV[VÐÒÏÈËÅ› ™– ®¯­’šŸ™œž˜ÂÃÁhhbŸ¡™{€|œ¤›˜¤´µ´ILI™£žÍÍÍ‡…ž¤¡IJJ›¤›µµµ•”•€€¨£¨MKN§¡¦LNMîîîæææywxJKL¡  LMMÀÄÄ‹ŒŒKOQ£««KMM¢¥¤àááKKN¡£¨µ¶¶ORR¨®³¼¾Äµµ¶LPT¢®µLNP¤¨§¤¨¥ÊËÊµ¶µNQO¥«¨­¦²""$OOS©¨°ª§°ª­°``b#"#PQQ°°«©²¸©²ºª²·ª³´¬±¶­¯¶­­·®®¹®­·­¯·°¥±²£°°£³±¢³²¢²±¥²²¨±¬ª¯¬«­¯«¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    
   ˜€ 	
Ž !"#$Ž%&'()*+Ž,-./012»34·56789:Ã;<Ã=>?@ÃABÃCDEÃFGÃHIJŽ7KLMNOPŽQRSQTUVWXYZ[\]^_`abcdeÌœA“FÍ6mÜ¼GÎ:uìÜÁ ;07070100007738000081a40000000000000002000000013d1fe2e700000424000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/210.gif   GIF89a  ç  ˜›”—›’—˜••›ÛÝÛÎÑÏœ˜’—œ’•ž’“‘’ž‘žŽ”¡™˜ ™˜ž–• ––žÃÃËêêêëëì«¬·˜”¤™™¡–™ž•šž•›œ•˜’™“•›”—–•›qqu¡ ¡CBD{{‚’™Ÿ’˜Ÿ˜•ž– –›¢•›Ÿ«±¶ÐÑÕÜÝàØÙÜŽŽ‘‹”šœ£›¢œ›¡œ¤ž¥Ÿ¤Ô×Õÿÿÿïðð¨ª¯˜Ÿ¢šž£™Ÿ œŸ¤ÓÕÖÙÚÚPQR!889‚‚ƒçççŽ•œ˜£Ÿ–¤¡Ÿììì! ;@<Š†ž©£’˜—¬­­uut¤¦£§¤¤¿À¾‚ƒƒ-./˜ ¦— ¢œ¡¡ž£¡ Ÿµµµxsx ž£ÄÀ¾kkkilh¥§£¨§¤«¨£¨ª¦¥¬¥µ¶µKQM¢¯¥¬µ²ÍÎÍy~v¦ª¡§©¡©ª¡¥©¡»¼¶ƒ„ƒMPK¢­¡¡¥ªçèé•••¨¦¨§§¦§©£²²ªõõô:99olj¨§¥Ÿ­°©´·éêêîîïáâãàâãuvv!!"—šš¤§¬«ª¦§«¨— ž¢££æææÄÅÆRST #$uƒƒ¢±³¤¬­°¨¬³¨¯°«¯­¦¬^^`012!"#LQQ‡‘Œ¢°¬Ÿ¯¯ª®µ°¬µ¬¯±¯­¯¯¯­­ª¯¬ª±­¬°©«­§«¬ª¬°©¬¯ªª±©ª¦©«£¦©¥¤¨¨¦«ª©¬¬©ª¬¦ª¨©«§©¯¨©¯ªª°¬©¯®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       è 0€@$P°€A D0B0dÐ°C@„1‚D‡&N H¡b‹.^Àˆ!c6ræ¼#‡Ž<zØðñH!6†)bäˆ$I”,aÒÄ‰'P¢H±1…J+W°d±¡e—.6¼|FÌ26Ê˜9ƒÆF5kØ´qóÆœ8ræÐ±QÇÎ<yôØØÃ§Ÿ?€l4('¡B†!J¤h£œ=‚IÒ$J•,]Â”)“¦Mœ:qòô	T(Q£H•2u
U*U«Xµrõ
V,Y³hÕ²u+  ;07070100007739000081a40000000000000002000000013d1fe2e700000424000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/211.gif   GIF89a  ç  ‘¢‘‘Ÿ’‘•ž•ŸÀÃÈÚÜà‘’Ÿ‘”¡‘™£’šž‘—ž’šŸœ™œ™››š›¦¦¤èèéÿÿÿ»º»`[^ œž¢œŸ ›Ÿ›žŸœžŸ–ŸŸ›Ÿ£Ÿ¥›œÏËÌSQQ![XY•’£¡Ÿ  ŸŸ› žš š—¤›–¤™–¥¼ºÄÞÜáÆÅÉÌÊÑ±«¶™£ š¡£˜Ÿ¡˜ž¢–™œ¤¥§èééÕÔÕŸ›¢Ÿ£ŸŸ£¢ž¡¢›Ÿôôô©¨©888  QPPµµ´®®¯¢ ¢ŸŸ  ÄÂÂ¢¢¢! !\[]•“š£ ¨ƒ…××ØXX`žž©Ÿ¨áßà889UZ[›£ œ¡¡š¡¥ž£¢¾ÀÀjjkœ£›¡ßãá !!“—š£¡ª¡ ¨¢¡©¤¢§ÂÂÄkklv{|¥¥©ÈÐÍƒ„ƒ›§¥§©ž¦¨ž¦ªž¥©Ò×Ø899u{z §¤³±±æææ‹Œ¤§¬£¥¬¢¥¬ÂÁÆÛÚÛ! "˜•££«¥¬¯¸¿Àääæáâäëëíððð88;<>A¥Ÿ«£®­¥­«‰ŽŽµ¶µëëëªª«::;212œš›¬««­©©©®®«¬­©«¯œž¢NOS""$""#114^^dšš¡¦«°¨«±ª¦°««¯¬©¬®©­¬ª°®­¯­¬««­«ª®««®ªª¯ª©¯¯§°³¤­±¨¬¬¨¯«§®¯¦®³¦­³¨°³§¬³¨­±©¯±­¬¬®¯ª°°¬³±«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       è 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒFræ¼#‡Ž<zHðñH!†)bäˆ$I”,aÒÄ‰„'P¢H‘0…J+W°d‘ e—.¼|FÌ2Ê˜9ƒFB5kØ´qóFœ8ræH SÇÎ<y$èÙÃ§Ÿ?9$a¡B`B”HQÎEŒ9z)’¤I”*Yº„)“¦Mœ:yú*”¨Q¤J™:…*•ªU¬Z¹z+–¬Y´jÙº…+  ;0707010000773a000081a40000000000000002000000013d1fe2e700000424000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/211.iso-8859-2.gif    GIF89a  ç  ‘¢‘‘Ÿ’‘•ž•ŸÀÃÈÚÜà‘’Ÿ‘”¡‘™£’šž‘—ž’šŸœ™œ™››š›¦¦¤èèéÿÿÿ»º»`[^ œž¢œŸ ›Ÿ›žŸœžŸ–ŸŸ›Ÿ£Ÿ¥›œÏËÌSQQ![XY•’£¡Ÿ  ŸŸ› žš š—¤›–¤™–¥¼ºÄÞÜáÆÅÉÌÊÑ±«¶™£ š¡£˜Ÿ¡˜ž¢–™œ¤¥§èééÕÔÕŸ›¢Ÿ£ŸŸ£¢ž¡¢›Ÿôôô©¨©888  QPPµµ´®®¯¢ ¢ŸŸ  ÄÂÂ¢¢¢! !\[]•“š£ ¨ƒ…××ØXX`žž©Ÿ¨áßà889UZ[›£ œ¡¡š¡¥ž£¢¾ÀÀjjkœ£›¡ßãá !!“—š£¡ª¡ ¨¢¡©¤¢§ÂÂÄkklv{|¥¥©ÈÐÍƒ„ƒ›§¥§©ž¦¨ž¦ªž¥©Ò×Ø899u{z §¤³±±æææ‹Œ¤§¬£¥¬¢¥¬ÂÁÆÛÚÛ! "˜•££«¥¬¯¸¿Àääæáâäëëíððð88;<>A¥Ÿ«£®­¥­«‰ŽŽµ¶µëëëªª«::;212œš›¬««­©©©®®«¬­©«¯œž¢NOS""$""#114^^dšš¡¦«°¨«±ª¦°««¯¬©¬®©­¬ª°®­¯­¬««­«ª®««®ªª¯ª©¯¯§°³¤­±¨¬¬¨¯«§®¯¦®³¦­³¨°³§¬³¨­±©¯±­¬¬®¯ª°°¬³±«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       è 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒFræ¼#‡Ž<zHðñH!†)bäˆ$I”,aÒÄ‰„'P¢H‘0…J+W°d‘ e—.¼|FÌ2Ê˜9ƒFB5kØ´qóFœ8ræH SÇÎ<y$èÙÃ§Ÿ?9$a¡B`B”HQÎEŒ9z)’¤I”*Yº„)“¦Mœ:yú*”¨Q¤J™:…*•ªU¬Z¹z+–¬Y´jÙº…+  ;0707010000773b000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/212.gif   GIF89a  ç  ˜Ÿ›ž›œžš››—°±­¼º¼ž™œŸ—ž•›Ÿ”šœ’››’œœ›œ›œ™™Ÿ›¼¾¾ÿÿÿñññÑÐÏ ™™œ˜›ž™˜Ÿ–˜Ÿ™˜œžŸ˜žŸ«±³ÛÝßžŸ£iij¸¹¹„…ˆ›˜ œ–¡›”£Ÿ”¢¤–¥–œ«¢¬¹¶»ÂÁÄÏÐÒ°°´\^apsz—¢–Ÿ¢ ¢¢ÀÁÂôôõ²´¹™š¤œš¤œ›¡¸º´ððï‹‹‹ !   jjjæææ•““¡ ž¢¢¡ßÞàQPR/-0jeg¤› £›¤…‡µµµ‡ƒ‰©¦ÖÖ× |†—Ÿ§–¤§“¥§•¥§×ÝÝFNP™§ª´µ¶<>Cœ£¯¤®›£°œ¢®›¤­Þáã ""£¦¥êëëaabª¥ª¨¤©ª§¬«¦¬©¨¬õõõ×××!!"¤¦¨ÎÌÐ¨¤ª©©¯«©°ª§²ãâäŒŒŽ?@D¥¦¯¥¥¨ÎÍÎÞÛÜâßàõõôÄÄÄ!" ink¤«¡°¥«­§ªŒˆŠÙØØ#""QON­¯¨­®©«¤©­¦¨®¥¦}{xA@@""!@B?mok§¬¥©¯¥§­¦£¯³¢­´¢­¶£ª¶¥©¶¥ª´¥«²¥«³©¬²«¬²­ª°¯«­²°ª´²¦´³§´²§±²¬³°­±¯­°®®±©¯¯§­¬¦­©¦¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Õ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E.^Àˆ¡fM3hÔ°áŽ:vð€ÐÃÇ ‚B¤ˆG$ d	“&Nž@‰AÊTªX¹‚%‹–-¸tñá˜0bÆ)cæš4PÕ¬aÓÆ„7pâÈ™S“N;îàÉ£gŸ>„!øù( A„
:„(Q"E‹5rôR$I“(U²t	S&M›8uòô	T(Q£H•2 ;   0707010000773c000081a40000000000000002000000013d1fe2e700000422000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/213.gif   GIF89a  ç  ›—ž–šš›š™œ™³´²¦ª§ž¡§©©œžžŸž¤œ¤žœ¥š›™™•—˜•˜—˜¬­¬ÿÿÿÝÜÜ‹‡‰š“•œ–– —“œ™‘¤• ¤–£ ‘¤ž‘¢ª¥®jik›š›jijJGKž˜ž™ žœœ“œš•›™•–¬²¬ÐÔÎÎÐÎÎÏÍŒŽŒlon“™˜˜˜•–˜–”™šŸ £ ¥¢Õ×Õïðïª«ªŸ ŸŸŸžœ¤Ÿ¤ÕÕÕÚÚÛQQR !889ƒ‚„ççè‘‹ –«¢›¨¤¢¦ììì !!>=>…‚†œž¡Œ‘”¨©«rtt™—œ›¾ÂÂƒƒƒ000§©§£©¡¥«¡¥«£¦¬¥µµµz}z¤§¥ÄÆÃklkkmi¤¤ £¡  §ž£§žŸ§´µµFKMš ¤©°µÍÍÎxz~¤§¯¤¬­©««§ª«¼»¼„„ƒOON©¨§¤¤¨çèé“••ŸªªŸ¨« ¨«ªµ³ôöö8;;fpn ®¬¤¯¤®¹°éêéîïîàäààãàtvt " “œ”¡ª¢¥­¨¥«¦š›—£££æææÅÄÄSSR#"!€~y­¯¤«®§¨¨«ª¦®©¤­¦£¯\\a003!!#"!$NORŠŽ‘«¬®«­«©®«¬°ª¯²«¯°ª°³«°´¬­³¬­´¬ª³­ª´°«±²©²±¦°¯¨¯¯§¨ª¨©¬¨©©©¬¨ª¬¬­¬ª°¬ª²ª«²¨©²­ª±­ª²­¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       æ 0€@$P°€A D˜(a…
.`È a‡>€!"Ä%Lœ@‘BÅ
-\¼€CÆŒ‰8iÔ°qGvðèáãG A„!¡ˆ‘#H’(YI'O"@‰"e
•*V"\Á’EK„-\ºxù&L1cÈ”‰`æš4jÖ°‰ÐÆÍ8q"È™C§Ž;ðäÑ³‡OŸ~þ šHÐ B…B”h¢¢EŒ9z)’¤I”*Yº„)“¦Mœ:yú*”¨Q¤J™:…*•ª%«Xµrõ
V,Y³hÕ
 ;  0707010000773d000081a40000000000000002000000013d1fe2e700000423000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/214.gif   GIF89a  ç  ›”˜š••—•“º·¸¸¸¸Ž”–³¸º¤¬®‰–˜Š•˜Šš–Œ›˜›–š—‘œ–’™•”ÿÿÿnqmÏÐÐ{€€”ž–œ ˜ž ˜œ¢š›š™™›•œ¶½¼hjj  ¸À¾OQQGIJšœœ›Ÿ› ¡žž¢™  ›¡Ÿ¾À¾ÑÒÐÑÑÑ×ÕÔ–““„…‚  œ¡›  ™ŸŸšœŸªª©éêéÔÖÖœ¡¡™ ¢— ¢›£žªôôõ§§©889 !QRRµµµ¯¯¯ ¢¤¡¡¦ž¨¹¾À ¢¢! R\[†••”¤£|Š†Ö××V^Yœ¨¡œ¦£ßàà888WYYšŸŸ™ ž¡ž£¢ÂÂÀljk¨¡¦¦ £Þâà" ‘š’ ¦¡ ¥££¤¤¤ª¤ÂÅÄkllz{€¤«®ÍÍÍƒƒƒ¡žŸŸŸ£Ÿž¡¡›¢£ÖÕÔ:88}wt«¥ž¬³³æææ‹§¬«¨¬«©«ªÅÅÆÛÛÛ!""™š§¨¬¤¨¨¼º¼æäåæââîìëñðð;:9C??«¤¤¤¦¡¦«§¥ª§‰‹‰µ¶µëëëª«ª:::022™›©«¬¦§­«¯®¬®­­««œšœOMP""#223_`a››¡©¬²«¬³­¯³¥¯­©ª­ª¨°¨¤­¦§«¨¥±ª¦®¬¦¯¬§¯«¥°­¥²¬©³¬ª²±¬¬²¬¬³°­¯¯¬¯¯­¯¬­¯¨°¬©°¬¨²­ª³¬­®­­°©©³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ç 0€@$P°€A @ˆ AÂ
,\ÀAÃ<| BÄ%J˜8"…Š,Z¸x#†ŒsÒ¨aãŽ: ìàÑÃÇ@‚BB#G$Q²“&Nž@€EÊ*U¬@¸‚%‹[¸tñòLbÆ)ÁÌ4iÔ¬a¡›7p Ä‘3‡N;îàÉ£g‰}üü ( A„
:„Hb"E‹5rôR$I“(Uªdé¦Lš6qêäé¨P¢F‘*eêªTªV±jåê¬X²fÑª ; 0707010000773e000081a40000000000000002000000013d1fe2e700000423000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/214.iso-8859-9.gif    GIF89a  ç  ›”˜š••—•“º·¸¸¸¸Ž”–³¸º¤¬®‰–˜Š•˜Šš–Œ›˜›–š—‘œ–’™•”ÿÿÿnqmÏÐÐ{€€”ž–œ ˜ž ˜œ¢š›š™™›•œ¶½¼hjj  ¸À¾OQQGIJšœœ›Ÿ› ¡žž¢™  ›¡Ÿ¾À¾ÑÒÐÑÑÑ×ÕÔ–““„…‚  œ¡›  ™ŸŸšœŸªª©éêéÔÖÖœ¡¡™ ¢— ¢›£žªôôõ§§©889 !QRRµµµ¯¯¯ ¢¤¡¡¦ž¨¹¾À ¢¢! R\[†••”¤£|Š†Ö××V^Yœ¨¡œ¦£ßàà888WYYšŸŸ™ ž¡ž£¢ÂÂÀljk¨¡¦¦ £Þâà" ‘š’ ¦¡ ¥££¤¤¤ª¤ÂÅÄkllz{€¤«®ÍÍÍƒƒƒ¡žŸŸŸ£Ÿž¡¡›¢£ÖÕÔ:88}wt«¥ž¬³³æææ‹§¬«¨¬«©«ªÅÅÆÛÛÛ!""™š§¨¬¤¨¨¼º¼æäåæââîìëñðð;:9C??«¤¤¤¦¡¦«§¥ª§‰‹‰µ¶µëëëª«ª:::022™›©«¬¦§­«¯®¬®­­««œšœOMP""#223_`a››¡©¬²«¬³­¯³¥¯­©ª­ª¨°¨¤­¦§«¨¥±ª¦®¬¦¯¬§¯«¥°­¥²¬©³¬ª²±¬¬²¬¬³°­¯¯¬¯¯­¯¬­¯¨°¬©°¬¨²­ª³¬­®­­°©©³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ç 0€@$P°€A @ˆ AÂ
,\ÀAÃ<| BÄ%J˜8"…Š,Z¸x#†ŒsÒ¨aãŽ: ìàÑÃÇ@‚BB#G$Q²“&Nž@€EÊ*U¬@¸‚%‹[¸tñòLbÆ)ÁÌ4iÔ¬a¡›7p Ä‘3‡N;îàÉ£g‰}üü ( A„
:„Hb"E‹5rôR$I“(Uªdé¦Lš6qêäé¨P¢F‘*eêªTªV±jåê¬X²fÑª ; 0707010000773f000081a40000000000000002000000013d1fe2e7000003e0000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/215.gif   GIF89a	  ç  Ž–•‘•”“–•—•”š—”Ÿ•˜Ÿ”—Ÿ™–¢š–››¦›§˜™¦˜ž¥œž£›ž¢˜ž¤™ ¤˜ ¢žœ¢›œ ™›žšœœžœœž™›–˜œ•™ž¡–ž –ž¢”œ¢•œ¢–œ¢˜›¦›œ¥šŸ£™œ¡¡Ÿž¡š¡›šŸ œ¡›¡ Ÿ £ ¥©²èéë¤ª°™œ§˜›§ÞÞá¼½ÂŸž¤¢ £¿ÀÀÿÿÿééé›œŸÞÞà†…ˆuqx£—¦¢ž¡££¤……† rrvœ›¡¨°®¤°­àââæææ8::rzz §¥ž¤¥¥«žâãß©ª§èèç¥§›ª¨¨¦ŸÍÐÑ‡ŠŠ ""‘”•ÑÑÑ˜™š§§ª ¤¥™šž  "tu{œž©¡¥¨?@A¤§¬§¦ª§¤©zx}§¤ª¨¥§¤¢¦yw|š–—©¨¥°®³°¬°¯¬¯°®°²­®´¬­±¯­°¬®²¯¬¯¬°°¯²­±²°°±³±®³®¬³¬¬´­­¸­±«¦³ª«°¬©°¬¨¯«¨¬ª¦¯§¨¯¨¦©¦¨©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¤ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐqc>~Ü
$ˆ!DŠ¹qI%K˜4¹áäÆ(Q¤L¹A¥Š•W°dÑ²…K/_€	#f™2fÎ I£f›6nÞÀ‰#g:vîàÉ£gŸ>~þ 
$h¡B ;07070100007740000081a40000000000000002000000013d1fe2e700000423000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/216.gif   GIF89a  ç  ˜”œ˜•š™š—™—”˜”‘›’‘˜—Ž˜•š—‘›™’œœ“™š‘••™›ž™ž šž ™œ¢™œ ›™¢™˜Ÿš™Ÿ—›¢– •ž¡˜— ›Ÿ˜›¡›¢›™¡›•£›–Ÿ›–žž˜ œºÀ¾–¢œ•Ÿš˜¡—™¡•ŸŸ œ¥¡ÁÁ¾ààßßßßÓÔÕÈÈËÿÿÿ’’“Ÿžœšœ›¡££©ª®êêêîîî!‡…¤¡£œ¤ôôõ©¨¨888 !´´µŠ‹‹š¢œš£™¢œÀ¼Ç¢¡¢!"ZU^¹´¼š›ÍÍÎhhoŸ¡­žž±ßÜâ879WT^ª¤²õóõáßá !š–žjjl¡Ÿ«¤ ªÞàá !!“›™áââFGH>@@ÄÆÆjllx}}¦©¬ÑÉÉ„ƒƒÄ¿Áœ››"!!”–ÙÖØSRSyw}¤¦§³­²ïîïãáã#!#okpÆÂÉÛÛÛ!"#ˆŠ¢ª°¨«¤¼¼¸ÑÑÐÁ¿¾íìêñðï;:8B@=¬¨Ÿª©Ÿ®¦©ÚØØµµµëëëªªª9::011”˜ ¥¬ž©­¨°­°¸¶ÉÊÊMPR ##/33Zab—Ÿ¡¦°²©­²¨°²¶¬²´¬³¤œ¤TQU±¯¶¯¯³­±²®°°°¯²¯­³°­¯±¯­°¯°¨¨ª§ª«©®ª¬°¯­±®¯°¬¯²­°²°³³­³³¯°²®¯²°±²°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ç 0€@$P°€A D0B"`È a‡>€!b‰&N H¡b‹.^Àˆ!c.ræ´qGŽ:v¸àÑÃÇœ@‚BÄE#G¸H¢ÄÅ&Mœ¸x%Š”)Tª¸°rKZ¶pqÑÅË`Âˆã‚LfÎ IãBÍ6mÜ¸póN9.æÐ©cçžœyôìqÁ§Ÿ?€	r1('¡B†!J¤h£FtÑy)’¤I”*Yº„)“¦Mœ:yú*”¨Q¤J™:…*•ªU¬Z¹z ; 07070100007741000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/217.gif   GIF89a	  Æ  ‘šš òóó§®©‰™‘ˆ™†œŠž’Œ›•œ™Ÿª¢­æäèÿÿÿÖÓ×Ÿ’§›’¦œ˜¦š˜© —Ÿ •’Šhgeƒ‚‚KHHŸ–œ” œ’¡²±«ßÞÛµ±ª š•„€{«©§ßÝÜ¢˜•¢˜™¾ÄÁ…‰ˆ‰‰–¨¤ÜáàFLK—¡ÁÄ½jkjuzu¡¦ ßàà  !£Ÿ¤À¼Çjjlrrœ›¬ßÝã!!"¢¨§½ÂÃjkkrxw›¡ Þàß  šŸ¡ÀÄÇjllxz}¨¤ªãàã! "§ §ÄÁÈkjlyx{¥¦¥ááá"!!¨§¨¶¾Âƒ„„}}€¨¥¬ëëìª¢§¦£ŸòññÎÎÍìììª««"##ª¬® £¯ª­¸ÐÐÑ©¨ª^Z_¦£­¬­­¬«­˜C@A#!"a\`°¦ª¯¨¬°«´°¬²°¬±¬ª±­­²®¯²¯­²­­³¬°µªª¬©©®©¨«¥¨®¥¨«§ª¬§©«¥¥¨¥¤¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRÙSTUVWXYZ[\]^7_`abcdeefghijkØ´qóN9sèÔ±sO=  ;07070100007742000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/218.gif   GIF89a	  Æ  ˜™—›”’—”œÆÁÇÜÙß–’œ”’—”œ™›¨˜›©¥¦µôôöÿÿÿ©¨¯HFNœ–¥›˜¡™•œ˜˜˜¡¤¤ÊÌÌCDC `fd”žœ˜ ™³­³ÞÝÞ³¯¯ŒVWVÀÂÂÞßÝ›£˜š£šÀ½À‡††„‚€¡œàÞßLKK£¦žÄ¿Àkjjwtr¤ŸàßÞ     ÃÅÂjlkw~w ¨¡ßâà!! ¤¤ÁÀÄkjkxuzŸŸ¦ßàá"!›©§ÄÂÅjjlvxz¢¤¢Ÿ¤¡ÈÃÁlkk{yy¢¥¥ààá !!ž¦ª»¹µƒ„ƒ|zt¨¦ììé"!ª©š¥°³ñòóÍÐÐêíí©«« ##¢¯³¡««¯²¸ÑÑÑª««"##`aa°©±®¨®®ª« ABA##"^`^£¯¨¦²¦¯±µ¯µ³­´±¬³²«±²¬³°«¯²«­²§©¬ª©ªª¥ª©¤¬©£¯ª¥³ª¨°«©°©¬°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCÆ0DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde^fghijkØ´qãæœ8ræÐ©cçž<  ;07070100007743000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/219.gif   GIF89a	  Æ  “—£”š¡›£µ¼À¨¯¶‘š ‘ ¡ž—¤›˜—™™–™ÝÜÜôóóÿÿÿª¨ªœ—œ›– ›˜¡›››º»»ÜÞÜZZ[ŠŠŠ´´´€~œš˜š™œ³¶´Þàà‘“•FJJŠ‘•¦ª«ÂÂÃŠŠ‘—˜ ÁÃ¼ˆŠ†ƒ‹Ÿ§ÞâßGMLœ¦¡Á¾Ájjjxuw¢Ÿ¡àßß !¦›ÁÂ¾jkjuxr£œßàÞ   ž ½ÃÄjjkstx ž¡àÞà! ¡¢šÀÁ¾zxtª¡äßß#  ­¤ ¾ÆÄjlls{Ÿ¯¨ßäá #! ®¦½º³ƒƒƒzyx¨§ªëëì!"!¥§¥©«°òòòÏÏÐììì««ª"#!ª®¨°©©·´²ÑÑÑ«ªª#"!a``°¬®©®¨©®«š œ@CB"####$_`f¨­·§­´««³¬¬²«ª±ªª¯¬§®«ª«©­©¦­§§«¦¦©µ©ª³©­±¨ª­¦©­¦¨¬¦¨ª¢¨­ÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@¹ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmÜ¼GÎ:uìÜÁ“ž=  ;07070100007744000081a40000000000000002000000013d1fe2e70000024d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/220.gif   GIF89a	  Æ  ›£œ¦¬¥ºÃ½£­¦«¶°¸Á¼”¡›•žš–— œ¤¾¼Âÿÿÿ¡¡¦ÙÚÝrsv˜™”žœ¡™›ª¨¦¢  877‘„„…”˜—–™˜®¯¶ÞÞá¦¥«rrw•¸º½ÐÐÒŸ£ ¥¸ÂÀ„ˆ‡|„ƒ”¡ŸÛÞßEIK–š¢¼Â¹jkiszm¡£–àßÜ žœÀ¾Äkkkxxx¦¦£âáà!! §§ÄÂÀxzx§§ âáá!!!¥©¥ÆÂÀkkjwyx£§¢ßáß    ¢žÂÈÇjllv|€¤§²âáä!!"§§¯½º¼„ƒƒzyy¦¨§ëëì¡§§®¯©òòòÎÏÏìììªªª!""¦ª«¬±ª·¸²ÑÑÑ""!]^]§ª¥©©­ª«¬š›š?A?!#!^b\©¯©¨­«¬­¦®­©¬°«¬±®­°¬­´­¬´¯«·©ª¹©¢£°¥¥³¦¦³¦¨²¨¦¯¥¦¯¦¦¯¨©°¨¨®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ‘€ 	
 !"#$%&'()*+,-./012345678¹9:;<=>?@ABCDEFGHIJKLMNOPÆQRSTUVWXYZ[è\]^_`abccdefghijkØ´qóN9sèÔ±sO  ;   07070100007745000081a40000000000000002000000013d1fe2e70000024d000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/220.iso-8859-9.gif    GIF89a	  Æ  ›£œ¦¬¥ºÃ½£­¦«¶°¸Á¼”¡›•žš–— œ¤¾¼Âÿÿÿ¡¡¦ÙÚÝrsv˜™”žœ¡™›ª¨¦¢  877‘„„…”˜—–™˜®¯¶ÞÞá¦¥«rrw•¸º½ÐÐÒŸ£ ¥¸ÂÀ„ˆ‡|„ƒ”¡ŸÛÞßEIK–š¢¼Â¹jkiszm¡£–àßÜ žœÀ¾Äkkkxxx¦¦£âáà!! §§ÄÂÀxzx§§ âáá!!!¥©¥ÆÂÀkkjwyx£§¢ßáß    ¢žÂÈÇjllv|€¤§²âáä!!"§§¯½º¼„ƒƒzyy¦¨§ëëì¡§§®¯©òòòÎÏÏìììªªª!""¦ª«¬±ª·¸²ÑÑÑ""!]^]§ª¥©©­ª«¬š›š?A?!#!^b\©¯©¨­«¬­¦®­©¬°«¬±®­°¬­´­¬´¯«·©ª¹©¢£°¥¥³¦¦³¦¨²¨¦¯¥¦¯¦¦¯¨©°¨¨®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ‘€ 	
 !"#$%&'()*+,-./012345678¹9:;<=>?@ABCDEFGHIJKLMNOPÆQRSTUVWXYZ[è\]^_`abccdefghijkØ´qóN9sèÔ±sO  ;   07070100007747000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/221.gif   GIF89a  ç  ˜””™””—“˜œŽ˜š‹˜Æ¾Çèæé›™‘Ÿ›’•œ’™ž“››”œ™ ¦¤òôóÿÿÿ·ºº7:<‘˜Ÿ“• ••””–•™––˜˜¢¦¢ËÌÈCDBUUQšž—œž—š¡—§«ªÞàßÓÖÕ›¦¡Ž—‘V\Y¥¬©ÝáßÇÌÉ™¡Ÿ—Ÿ™•ŸÙØÛ~z|¢š  –£ÕÑÖrqsfegš› œšž¥§¬ÍÍÍz‚ƒ¢ª§ÙÚÙ!€†› ˜§¢œ¥ ÐÍÍhdhÔÎÖQOR<8?“¥œ”¦¦§¡ª¥ ±¬¬òññÛÚÚ" ‚†ªœ¢©œ¥¤¨ ¤ªž¨«žÑÒÎHIE@A>¦ª£¤§ ¤¥ ©¥­¥¥«¨§«§¥©µµµ""#œšš©«¨©«¥¤®¥ «¬¢®­£®¬¥¯®µ¶¶NQP§­ª¥®ª©®ª«¬§£¥©£§«¦¥ª¥¥­µµ¶MJQ¥ ­¨Ÿ¯§ž®¤¡¯¨¬©¨²ª¨°ª«¯«µ¶µPRQ­®«©¬§©®§©¬©¦¨°¨ª²¨«°©«­«¦¬"!#MLQ«¦®«¨¬ª¬¬®¬¬­´©¯³©°¯¨°®©²ªª®ª©°¦¯®¥¯­§¬­¥¬¯¦®¢ª­ ª®¢¬¯¥­±§©¯¨¦©ª©¨¬¬©®¯©°«©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E.^ÀˆAÆ5l@¸#;xôðñ„ B !RÄÈ$Iv*YÂ¤‰“'P¢H™•*V®`É¢e]¼|FÌ2eÌ@8ƒ&š5lÚ¸yB9sèÔ±sO=öðéãç @‚*dè¢DŠ1jäè¤H’&QªdéÒ%L™4mâÔÉÓ'P ;07070100007748000081a40000000000000002000000013d1fe2e70000020c000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/221.iso-8859-9.gif    GIF89a  Æ  ¤¤®®©œ™›š—œ˜—ÄÅÅÿÿÿ“—‹š’•¢ ¢rtr010rwrœŸ¾º¼ÛÙÚ‹Œ‹‰§žÄÅÆ~€|€ƒ›¤ÅÆÆkkkwux£¡£jlkvxzž¢¢ÆÅÆkjkvvx ¥¤ÆÆÅkljx~v£¨¡ÆÆÆkklxz}¤««ÆÅÇlkl}z€¥¥´ztw§Ÿ¤ÆÇÇlllyƒ¥®®­«¯555$$%~ƒ¯¯¯¨´¬§±©©±©©²«©±¬¥³§¦³¦¦´¨©¶©¬´«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       P€ 	
› !"#$%&'()*+,-.® /0123456789:;<=>?@ABC ;07070100007749000081a40000000000000002000000013d1fe2e70000024e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/222.gif   GIF89a	  Æ  Ÿ˜šž™š —˜ž––›—”œ–•š–——•˜–––’•¢”–£”˜£––£—– –˜œ™™››–žš”Ÿ›ž››œœ›¡œ› ž› Ÿšžž™›š˜Ÿ›šžÄÉÄÝßÜ˜ –›¡•š¡’œ¥‘ž¤‘Ÿ£” ¡—ÞßáÿÿÿGJKšŸ›˜  —  –¡ –£¡–¢£ÞÝÝêéé³°´ŸŸœŸ¡¡¢ÞÝâµµµÍÍÍééé…‡‡¡§¢££¢âßã!"MKO”“•ttvŸ ¤ŸŸ¢Þàá  !¡££ÊÍËjkjuvvŸ  âåáµ¶µßäßîïî!#!}y§®¢âââ×Ø×SSR020¥¬£¢«¡ááã!"# ##!##=CC†“¥¯¬¤±®ââã!!"§¨¨§¤«©¤¯¨¥¯§¡¬¨¢¬°«°RPQ"##¯¯®¯«­°¦«¯¬¬«¬©®ª¬¬ªª­¬©¯­©¬¯©¬¯ª°­ª²¨¦±¨£°«£°¬¦¯¬©®¬§­«¨®¯¦­°§ÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ’€ 	
 !"#$%&'()*+,-%°./0123%45%6789:%;<=%>?@A%BCD%EFGH%IJ%KLMNO°%PQRSTU%VWXYZ[\]%^_`abcdefghhijklmnooàÀ‰#g:vîàÉ£gŸ@ ;  0707010000774a000081a40000000000000002000000013d1fe2e700000405000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/222.iso-8859-9.gif    GIF89a  ç  š‘››™‘ —Ÿ•‘Ÿ•’•–”˜œ”›œ”›š’œ™”—›–™œ”™ž’™œ“˜ ”–Ÿ––Ÿ––›–•œ˜•ž•—Ÿ›—£¡ŸËËÊîîîøøøÛÛÛ®°­–œ“—Ÿ’™ž’›‘ŸŸ¢ðððòòòÖÖÖÏÏÏçççúúú©ªªƒŠˆ˜ž›š¢ ËÌÍôôõ˜˜˜3339::ttuÑÑÑäääSUU“–›Ÿ¢©ÌÌÌïïïŒŒŒ__[ŽŒ†“‹”“’BBAz}{œ¢ ·¼ºõõõ»¼»°³°ª«ª¡¥£nvqX`[€‹… «¤¤§£±²±ÐÐÐéééùùùÖÖ×·µ·™•š¥ž©¦š­¦¦£……„rrr„ƒ„›››ºººëëë‡‰‡’Š¥§ŸÃÁ¿ËÇÆŸžšyuukfjolo¶µ¶÷÷÷œ`]`¨¢©ÒÑÑïîï´²´Ž‰—Ÿž˜žÊÇÊ‹Š‹HEG¨¡£´±³ëêêÍÌÍÖÕ×ÞÞßKKMXX[§¦¬¥§¯“±±²ßßßååå°°°^^`./0|„„¤­¬¦°§˜£šwzwvyvµµµ×ØØopoMMLyyx¥£Ÿ­¦«¤ª°¡©¬ £¦¦§«»¼¾ÙÙÙjkmrwz£©¨¦¯«¦¯ª®¨¬°¦ª©¤§£ ¡ ŸŸstu677x}~£«©¦®©§¬¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       É 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2d‘"FŽ I¢d	“&Nž@ÁEÊ*U¬\Á’EË.Cºxù&Œ˜1dÊ˜9ƒ&š5lÚ¸y'9sèÔybçž<#6èÙÃ§Ÿ?€44ˆP!C‡%R´ˆQ#G E’4‰R%K—0eÒ´‰S'OŸ@…5ŠT)S§ ;   0707010000774b000081a40000000000000002000000013d1fe2e700000249000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/223.gif   GIF89a	  Æ  •“”’–––•–––˜”˜—•š™•™š—››—›œ›˜›œ˜›™˜œ›—Ÿš˜ •— ’™Ÿ•—•• œ—£œ”¤š—¢•—¡–•£•—¤—™¢˜˜¢™œ¡  š²¶¯ÞàÞßáÞ´¶µ¢Ÿ›¤ ˜¥ ˜¦ ¹¾Áÿÿÿœž œ¡  Ÿôõôïðï798´µ´}‹ƒš¦ž¦Ÿº¹º.-/šžµ´µJEMœ—¦—¦µµµrssôôõQRRKNM¡¤¥ž¥£´µµ…†ˆ­­± ¢§Ÿ¤¥LONt|{8:9æææåæærz}›¦§ÍÎÍˆŠ‡Ÿ§¢ž§¡ÚÝÜ.00¥ªââáììëÄÄÄ!!"§¡¬ããâ„„„œœªª«::<NPU¤¨µ¨«¯NPRkqq[`a!##!$#Zb`•¢œ£°©¬¬ª¯¬¯®®¬­­«¬¨ª¯©­ª©­©ª­§¬±­°°­¯®®¬­¬¬¬«­¯«­¬©ªªª¨ªªª¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%§%&'()*+,,%-./0%123%4567%89:%;<=>%?@¨ABCÀDEFGHIJ%KLMNO%PQ¨RS%TUVWXY§Z[\]^_`abcdefghijklmnoàÄ‘3‡N;wð ;   0707010000774c000081a40000000000000002000000013d1fe2e7000003ec000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/224.gif   GIF89a
  ç  š›ž•Ÿž–ž—Ÿ—››—›š˜—œ•–œ•˜›—˜›–¢”— ‘˜ ’–¢”˜¤‘™¦˜§“—¥—”¤–‘¥™¡¢›Ÿ£ÉËË±µ´›ž¡˜žŸ•Ÿœ•œœ”˜˜š¥¡š¥ èêêÿÿÿÅÉÈ£«­›¢¢œ¢£œ ¤š¦›§¡š¦¡—¦žfhgæææz|‹“–Ÿœ–Ÿš—™œ£ žª«¨À¿¾®«¬..-®«ª³²²Ÿœž ›¥ßàáÑÑÒÐÐÒ‚‚„  ÔÖ×Ö××jkj‚ƒƒµµµKNOž§¨õõõíìí! ">>Azx{z€µµ¶NLQª¤ª¹ºº.01¡£«¥¡©¨ «OKN¨¢¤ôõõ`bb¤ªª¢¬©ÁÆÆLPM¥­¨ÇÂÉÝÜßãáä¶µµPMOª¤¨¢¤³¥¦¬êëë†ˆŒƒƒ„MMS¤¤®£¯­¥®­z024!"$015{|‰MPXmo|©¬¹¥¦·¥¥¹¦¦»¥©º£§¹¤¦¹¢©¹¦¬·§«´ª¬±¨ªª§¬¨©ª¦­ª¦®©©°©¬®ª©­«ª¯¬ª®ª¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ° 0€@$P°€A D0B0dÐ°a‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c@{€ðñHB†Y¢ˆ‘#H’(YÂ¤	'O €ˆ"e
•*M­\Á²"‹–-\švñò(˜0@ÅŒ!SÆÓ3hœ¤Q³†M7oàÄ‘3‡N;wðäÑ³‡O? 4ˆP!C‡%
 ;0707010000774d000081a40000000000000002000000013d1fe2e7000003ed000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/225.gif   GIF89a
  ç  œ—›ž“›œ–šœ™šœ–¡›–œ›˜œš˜˜˜—™˜–•“§””¥””¡–‘Ÿ•’¡”“ ‘–Ÿ’› ”™Ÿ–™ž‘—’‘—”‘•–—˜šÆÂÆ±©®›’–œ—˜š˜› ¡œ¡œ£´´´éééÿÿÿª©©ƒ€‚¢ŸŸŸ žœ£šŸ£™ËÌÅÕØÔQUQ !gjd¥š¡žœ¡¡š¢¡›¡¤¼¿Á˜š›[`a¤«ª»ÀÀ—ž ™Ÿžœœ¾¼»ðïïçææusvžœ¥¶½½ðððƒƒ„jkkÍÎÍ!"!§££ØÙÙSSR010ilkx}zÔÕÔ!#!¤¬¨âáà!!!Šˆ…¤¥ ¥¤¢âáá¤§¥ÖØØkkl¤¦¨¢§¬©²µôõö#!®«²²²ìììáâáõõõ""!¦¥ª¨¤§¦¢¢ÑÑÑ±°¯Œ‹Œµµµ"!"¤¨¯¨«·©¬µ˜ž¤@BE"#$###`a`psqQSS¬²®°¨­±ª­´©ª·©¬¶§«³§©¶©¬´­«±¯¬¯°ª­¬««­¬©¯ª¨¬©¨ª©ª¨©ª¤©ª¥¨«¥¨ª¤«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ± 0€@$P°€A D0B0dÐ°C@„1‚D	'P H¡b‹.^Àˆ!c6nàÈ¡c@{øñHB†)ÔÈ$#’(YÂ¤É'O Œˆ"e
•*[­\%‹–-\FtñòÌˆ0aÄ C¦Œ™3@Ñ¤Q³†M7oàÄ‘3‡N;wðäÑ³‡O? 4ˆP!C‡%R ;   0707010000774e000081a40000000000000002000000013d1fe2e700000400000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/226.gif   GIF89a  ç  ’šš“šš’˜šŽš˜‘œ”Ÿ’ Ÿ‘‹œŽŸ‘Ÿ‘•œŸ˜žŸ˜Ÿž•žœ– œ˜ž˜•ž–˜œ–››˜›˜˜›•˜Ÿ˜”˜–ž˜”›–—™˜–™™˜›——™™™——™”™˜•››šžŸœŸœ›Ÿ¼¾Àÿÿÿóôô¢£¨˜– š™ ›œ œ ™ž¡˜ž£¼¿ÂÞßà¡¢¤››œ¢¢¢’‘’Ÿ¡ ¡¡Ÿ¦¡Ÿœž˜£™™¤š“–†ˆ„’–‘knk“«®¯¥¦œ¦£¡ž§®ª±õôõÖ×Ø¤¤¥““•Ÿ ¥£¦¡õõõkjkœ›œjkksvzœ¥¤¶»»¢¢£  "WZ^rux¡¡¤jjjrxu £ ÄÇ¿klj]`[§©¢©©¤ÆÆÃlkk}z|¬§«¯¾½µµµu}z ¨§¡¦§ßâájkjuzw¤¨¤«¡©ÚÖØëëëãàâìêìyzx¤«¤§ª³ª«±±°³Ø×Ø€¶µµSRS€||¯©¥®³ª­±«¬°«`c`"$#"##ABC|~ƒPOTŽŽ–¬¨¶ª¶²«¶°®·®¯¶±°¶±­¶°°·±®¶´¬¶´©´²§°°¦¦­¥¬®¤¯®£²«£´¬¥´¬¥µª¥¶¨¨µ¥¨´¦©µ¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ä 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„H‰£EJ9‚$‰’2–09ÚÄÉ(%¢H™B¥J	+W°d)¡e—.^J|FL‰1dÊ˜9SM5kØ”hãæÍÑ/pâÈ™Cçh;wðäÑ³‡O? 4ˆP!C‡%R´ˆQ#G E’4‰R%K—0eÒ´)  ;0707010000774f000081a40000000000000002000000013d1fe2e7000003ec000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/227.gif   GIF89a
  ç  —•’—””˜’—š’š›˜ž—œ‹šš‹š›Œ˜—Ž›Ÿ›Ÿ‹˜ž›’™œ‘šž’œ›•›š™ž˜˜›•š——™™™™œ—™œ˜—œ›šžž™¢ž›¢œš¥œ˜¥¡žŸ£éëêÿÿÿßáßž£ œ ¡ž  ™ž£¤Ÿž£¡œÂ¾¼¿¾¾ÍÍÍëëêRSQž¡œš¡ š¤ž›¤¤œ£¤§¬¬¢£¢†††=>;ttt­ª©¤šž¦™Ÿ– ¥ÝßáÏÒÓÐÓÒ‰†ž¦¡ÓÖ×Ö××ikj‚„ƒæææµµµLOK£¤¡ôõôìíì " =@=t}xy€{MOO¡¨©ºº»002¡©ª§ªœ¨¬´µ¶GNQ§²õõõaaa§£¥¥¦§ÄÄÆIMMž¤¦ÄÈÄÝßÝãäâµ¶µMTN¦²¬¯§¤ª¦¦ëëë‹Š‡¶µµ„„ƒQMM®§¡¥§²¥§³yz‚"""112zz}momª«©¦¬±¢ª®¥©°£¤¯¥¤­©£«ª¤«­§ª¯§¨®¦©¬°§­¯¦­¬¦°ª¦¯ª¦­«¨®ª¦­©¨­§«­¥®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ° 0€@$P°€ƒ@ˆ a…
.`È a‡>€ñAÄ%Lœ@‘BÅ
-\¼€CÆ5lÜÀ‘CÇ@y€èáãA„!¢ˆ‘#H’(YÂ¤IS'O@@‰"e
U¬\ÁB$‹–-\švñò(˜0@ÅŒ!SÆÓ3hÒ¨YÃ¦›7QàÄ‘ãd:vîàÉ£gŸ>~þ 
$h¡B†!
 ;07070100007750000081a40000000000000002000000013d1fe2e7000003ed000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/228.gif   GIF89a
  ç  –Ž™•Ž–•’™””›”—›”—™•˜š˜—˜˜•›”žš–›—ž™•Ÿ——–˜›•–––”˜ž’™ž›šŸ›š ›˜ž™™œ™›™™—˜œšŸœ¡› ¡›Ÿ™˜¡˜œ¢ÞÞßÝÞß˜š ÿÿÿÜÝàœœž™¡•¦Ÿ–¦¡ÅÌË˜››EKJÛßß‚‚‚EIH•œš•œž¨š¢§¤©¦œ˜œ®¥®tqs›™›¢™¤¡›¤ž¤ Á¾¾ïïïæçåwvq£¢›µ»µïïð‚ƒƒjjkÍÍÎ!"Ÿ¤§Õ××RRQ/./hfivxxÔÔÔ!!"¤¤¨àãä!""‹‰‹¥¥«¤¨«áãã¥«¨ÔÙÚjlm›¬°š«¯¦ººôöö $"¡±¥®½¸ìííáäâáçâõ÷õ#$"®°¬ª«¦¥¨¥ÑÑÑ¯±¯ŒŒµµµ§­¦¨¦«¦§¬•˜ž?@B""#"!$_[emmuNQS­­°³ª©´«¨´­¨±¯©³¯ª´²ª´´¬±µ«³±®°³¬¬¨³ªª´¬ª·¬¨¸¬¨¶¬«´«°¯©²®©°¯¨®³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ± 0€@$P°€A@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c5lÜÀ‘CÇ@yôáãA„!´ˆ‘#"$Q²„‰ˆ&Nžˆ€EÊ*[«XqK-[Dpéâå‹0aÄ C¦Œ™3@Ñ¤Qe›6nÞÀ‰#g:vîàÉ£gŸ>~þ 
$h¡B†!J ;   07070100007751000081a40000000000000002000000013d1fe2e700000400000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/229.gif   GIF89a  ç  —Žž—‘ŸšžœŽŸšžšŸ›¡š’ž™•Ÿž˜Ÿ™›Œ™Ÿšž‹˜ŽšŸœž’žŸ‘ž›’š—”›–•–˜œ™Ÿ¢Ÿž£œ¤¦©²ÑÓÖÅÇÍ—™£”˜£—™¥›—¨œ–¢˜£™Ÿ¤™ ¥¼ÁÂÍÏÑÙÚÚvw{ž¡¥œ ¥Ÿ¤¢Ÿ¤•žž–¡Ÿ™Ÿž¯µ³ïðï;=<’‘£Ÿ£Ÿ  ¡ž˜ž– –žœ­¶³¨®¬Z][PTPºÄ»§°¤¡¥£¢›œ¤–¨¬¤ôõôÿÿÿÔÕÔŸ¢ŸŠŒ—ž™§§ õôô¢¢¢lkjœ››ljjzmx¤“¢µ½½¢£¢ !!X\Ztyt£¤£jjjxrx¢žÂÆÄllk^^[«§Ÿ«¤ŸÆÂÀlkk~yy©¤£³À³µµµy{u¤¨ ¤§¢àáájllvz~¡§­²±«ÚÚÙëëëãäãìíìkll{„z¨´§¬©¥¬­¨±°¯ØØ×€SSSz~z©©¬´¯µ±¯¶°²¶cdc#$####CACƒ}RPQ’Š°«¦¯±¬³±®²­¬²¬©¶­¬µ­¬¶ª¬¶©«¹­¬¹¯ª¥°®£³¯¡¶°£´³¥²µ¤±³£³³¤´¯¤²¬¢±®¡®¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ä 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`˜ˆ!c6nàÈ¡c>~ 	"d‘£Eˆ9‚$‰"K˜49êä	”(D¤L¡RÅ
‘+X²h!²…K/_ˆ€	#f2eÌœAC$š5lÚqóÎÑ8ræÐ©cçè<dòèÙÃ§Ÿ?€	D¨¡Cˆì$R´ˆQ#G E’4‰R%K—0eÒ´)  ;07070100007752000081a40000000000000002000000013d1fe2e70000044e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/230.gif   GIF89a  ç  Ÿ™›œ›š˜˜—˜˜›š˜˜•˜š–œž”ž ”›œ‘˜œ–™˜–™™˜˜•˜˜——˜™•š˜’™•”˜™•™–˜ž˜™Ÿ˜™›ššœœŸœ˜¢œš¡š– œ– œ•¢žš›Ÿš›žœšŸ››¢šœ¡›˜ž›˜ž˜šŸ™žž˜Ÿœ“ ž”¢ ¤’¥›”¢œ•£žœžœ›žœœœ››œŸ›››Ÿ›œŸžŸŸœžžŸœœ¡š¡˜¢›” ¢¤¦¡§¦ ¦¦ ©¦œ©§›¨¤Ÿ¥£ ¥¤ ¥¡Ÿ¦¡¦ žŸŸ ¡¡£ž¥œŸ¡œ ¤šŸ­¤ªÂ¼ÀÂºÁ¢™£À»¾³¯´ª¥©¿¼À¿¾Âœ¢š ˜ Ÿšž¢—œ£šÓ×Òÿÿÿïñïïñðððð²¶²©®¨¦©§§§¦ÌÇÌÚÚÚjjkƒƒƒ¢¢¢jkk›œœççç“•  š¢žôõõîîî!!:@>t}x«®«ææækjl‘‘”¥£¦ÛÙÚvtv©¬¨›®º¹º1.1©Ÿ¨¨Ÿ¤¥¢¤klj}|t¨ªœôõö^ab¢¤¨¢§¤ÁÂÁlkklkl99:zw}§£«ÏÓÐßÞÜãäáèèèÓÔÓáââu|‘›œŸª«ª©®žž ÎÎÎ¯°²µµ¶ƒ„„±°²::;@@D§¨°©©¯¯«¦°©¦ƒ}xC@@"#"^``OQNoknQMP#!"#!#`[c¡–¡³Ÿ°¶ «´¯®±°¯¯°¯®²°©°±©±²§°´¥­´§ª²¦¬±©¬¯ª¬³«¬´«©³°¬³¯«²£®© ­ª¢¬ª¦ª«¥­¬¨«®ª®¯¬®°­ª²«¨²¬¨´­©³¬ªµ¬©±©©±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       þ 0€@$P°€A@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^\€CÆ5lÜÀ‘CÇ=|ü DÈ"EŒA’DÉ&MF8y%Š”)TªX¹‚%‹–-\ºxùBÌ—0d¿ˆC¦Œ™3_Ð¤Q“v›6_Ü¼GÎ:uìÜù‚'ž=|¾ôñóç @‚JK¹¡Cˆð$R´ˆáF 5z)’$²“(¥­dÉÒ—K˜2iÚÄ©YOŸ@}"JÔ(R¥LB•J•ªU¬Z¹z+–¬Y´jÙº…+—®]¼zùú,˜°aÄŠ;†,™²eÌš9{-0iÓ ;  07070100007753000081a40000000000000002000000013d1fe2e7000003e1000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/230.iso-8859-2.gif    GIF89a	  ç  •˜™——™——œ——––›•–˜•—›˜•Ÿ””‘““‘•’‘——’—•”›–”›—”™—–˜˜˜Ÿž£Ÿ£¡›¤œž£œ¡œž ž žœŸœŸ Ÿ£ŸŸžš–˜´±³­ª«Ÿ›¢˜ š“  ¤ ¢£¡¶¶¶ñññ~€‚egišŸ¢™¡  Ÿ¦ £¦Ÿ¢¹»»lll###pnožŸœŸ—§Ÿ¦¨ÊÍÍÈÉÉ«­­u}{’£Ÿ“¦¡“§¡ ¨§ùùùóóôÔÔÕããã€‡ˆŸ¤­ £«ÒÒÓýýýQPP%"#”’’åååbaa•ŽŽª¤¡äää%&(ptz¡¥­OPU014pqu¤§ªáááììì)*)š ¡£§®±²¥§¨ª««ª©©ÍÎÏÿÿÿˆˆ‰•“šÓÓÔ‹†‹™‘—°¥®ž¤£àáàüüüžžž#$#‚‚ª®¯¬¤²ˆƒŒedfqoqHHI""#HFIª¬­¯ª«ª®³¨®³š¤¦kstinr|ƒˆ ª¬¥±²£¯°ªª®©«¯©¨±ª¦³¬£°©¡°ª¢®­ ¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¥ 0€@ H `ƒ@ˆ a…
,\ÀAÃ<| B„ˆ$J˜8"…Š,Z¸x#†Œ4jØ¸#‡Ž<zøøÑH!Cˆ1rI%K˜4âä	”(R¦P©bå
–,Z¶péâå˜0bŠŒ!SÆÌ™/_Ð¤Q³†M7oàÄ‘3‡N;wðäÑ³‡O? h¡B† ;   07070100007754000081a40000000000000002000000013d1fe2e7000003f0000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/231.gif   GIF89a
  ç  œ•–ž•–œ•™œ—˜›–˜š™—›™—˜—•—•••——œšŸŸš¢Ÿ˜¥›™£™œ œ™¢œž£›¥™Ÿ¢˜œ š˜¡™—¡›—ž™›ž›—ž•Ÿž•¡ž—¡›—¡œ˜›”œ—Ÿ˜ ›™ ™¢ › žœ¡ ¡žŸ¢ŸŸ£˜˜£—™¤™—£š™£˜œ¥–›£•œ¦”ž¦˜ ¤ž¡¢šŸ™Ÿ²¯³¾¾½³³³ž£ž œ£  £Ÿ©¥£²­ªìëêÿÿÿããã©©§›Ÿ™šŸŸ¤Ÿêëê©©¨jkjœœ›ééé˜œ˜£©¥½¶½«¨ª" "_[_{v}‚kkk00/¤£¢ÆÃÃZ\Z¤¤¢£¤¥¤¤£‡‰…wxy¡¤¤³±²µµµ}}z¨¦¥©£¤ÆÁÃÈÂÃ¬¢©«¡ª¡§¦ÛÝÜ×××ÁÄÄëìëÕÔÒ€{x±¨¥¨©®¤§¬¯°±À¿À:9:PNP¬§®´°² ­®¢«ƒ}" !!!!MNMšš™¦­«³¯³³­´³®¶ÌËÏÏÎÏ³²³±±²µ³¯³°°¨¨«¬«­­ª¯ÚÚÚÆÅÆ¹·¸a_a­ª²¯«¯¬ª°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ´ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä¡`6nàÈ¡c>‚þ DÈ">Š9âI%K|0iâä	”(R¦Pña¤Š•+X²hÙÂÅG/_À„3†L3>Î IãCÍ6mÜ¼	êN9sèÔ±s§ž<zöðéãç @‚¸"TÈÐ!D‰-bÔÈÑ£€ ;07070100007755000081a40000000000000002000000013d1fe2e7000003f0000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/231.iso-8859-9.gif    GIF89a
  ç  œ•–ž•–œ•™œ—˜›–˜š™—›™—˜—•—•••——œšŸŸš¢Ÿ˜¥›™£™œ œ™¢œž£›¥™Ÿ¢˜œ š˜¡™—¡›—ž™›ž›—ž•Ÿž•¡ž—¡›—¡œ˜›”œ—Ÿ˜ ›™ ™¢ › žœ¡ ¡žŸ¢ŸŸ£˜˜£—™¤™—£š™£˜œ¥–›£•œ¦”ž¦˜ ¤ž¡¢šŸ™Ÿ²¯³¾¾½³³³ž£ž œ£  £Ÿ©¥£²­ªìëêÿÿÿããã©©§›Ÿ™šŸŸ¤Ÿêëê©©¨jkjœœ›ééé˜œ˜£©¥½¶½«¨ª" "_[_{v}‚kkk00/¤£¢ÆÃÃZ\Z¤¤¢£¤¥¤¤£‡‰…wxy¡¤¤³±²µµµ}}z¨¦¥©£¤ÆÁÃÈÂÃ¬¢©«¡ª¡§¦ÛÝÜ×××ÁÄÄëìëÕÔÒ€{x±¨¥¨©®¤§¬¯°±À¿À:9:PNP¬§®´°² ­®¢«ƒ}" !!!!MNMšš™¦­«³¯³³­´³®¶ÌËÏÏÎÏ³²³±±²µ³¯³°°¨¨«¬«­­ª¯ÚÚÚÆÅÆ¹·¸a_a­ª²¯«¯¬ª°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ´ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä¡`6nàÈ¡c>‚þ DÈ">Š9âI%K|0iâä	”(R¦Pña¤Š•+X²hÙÂÅG/_À„3†L3>Î IãCÍ6mÜ¼	êN9sèÔ±s§ž<zöðéãç @‚¸"TÈÐ!D‰-bÔÈÑ£€ ;07070100007756000081a40000000000000002000000013d1fe2e7000003f0000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/231.iso.8859-9.gif    GIF89a
  ç  œ•–ž•–œ•™œ—˜›–˜š™—›™—˜—•—•••——œšŸŸš¢Ÿ˜¥›™£™œ œ™¢œž£›¥™Ÿ¢˜œ š˜¡™—¡›—ž™›ž›—ž•Ÿž•¡ž—¡›—¡œ˜›”œ—Ÿ˜ ›™ ™¢ › žœ¡ ¡žŸ¢ŸŸ£˜˜£—™¤™—£š™£˜œ¥–›£•œ¦”ž¦˜ ¤ž¡¢šŸ™Ÿ²¯³¾¾½³³³ž£ž œ£  £Ÿ©¥£²­ªìëêÿÿÿããã©©§›Ÿ™šŸŸ¤Ÿêëê©©¨jkjœœ›ééé˜œ˜£©¥½¶½«¨ª" "_[_{v}‚kkk00/¤£¢ÆÃÃZ\Z¤¤¢£¤¥¤¤£‡‰…wxy¡¤¤³±²µµµ}}z¨¦¥©£¤ÆÁÃÈÂÃ¬¢©«¡ª¡§¦ÛÝÜ×××ÁÄÄëìëÕÔÒ€{x±¨¥¨©®¤§¬¯°±À¿À:9:PNP¬§®´°² ­®¢«ƒ}" !!!!MNMšš™¦­«³¯³³­´³®¶ÌËÏÏÎÏ³²³±±²µ³¯³°°¨¨«¬«­­ª¯ÚÚÚÆÅÆ¹·¸a_a­ª²¯«¯¬ª°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ´ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä¡`6nàÈ¡c>‚þ DÈ">Š9âI%K|0iâä	”(R¦Pña¤Š•+X²hÙÂÅG/_À„3†L3>Î IãCÍ6mÜ¼	êN9sèÔ±s§ž<zöðéãç @‚¸"TÈÐ!D‰-bÔÈÑ£€ ;07070100007757000081a40000000000000002000000013d1fe2e7000003ff000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/232.gif   GIF89a  ç  ‘˜’‘˜•š—‘˜˜“šš‘™™’š›”˜›––š•˜›˜–›—œž–žŸ™ŸŸ™žœž››ž›žŸžŸ›žœŸŸ¢›ž¢™œµ®´ÊÅÊœ™žœ™Ÿ›šœžšœž™œ›™›œ˜™¢  Ÿ¢ ÊËÉÿÿÿÝÝÝ¯·±š£šš¡–™Ÿ–›œ˜œž•¢ž¦ ž§œŸ|xyµµµ”’“‡€…¡š¢ ›£Ÿœ£ ¢¦¢œ¦¡œ¤¢ ¸·´»¸¶ttsjig¤¡ ¢¢ ¢¡    š£§ª®ÞÞáääå®­­£   žž ŸŸ ¨§àáá¯¯°kjkœ›œ¿¿¾–”’¦  ¥Ÿ ¬®¯×××kkk“‘‘¦¥¥ÛÛÛaaa¤¤££Ÿ£ÃÁÃljj—”“¥¥Ÿ±¦³ææælkllkkkkl999{zxª¨¤³¨¦àÝÝÑÑÑÓÔÒáâáÒÔÓz}{–š£­¦¬§ª¬©«±°±ëëë«ª«#"#SOR±«¯¶­²©­­©¬®©­«^b_141!##032\`_¥¬¬¥©­¦ª©³¯©³ª¬³©­²ª©³©«³§«°©­¯ª«°ª¬­¬«©®¯ª§®¨¦¯¥¥®¤¥­£§¬¤§ª¥ª«©¬«§¯­¬¯­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ã 0€@$P°€Aƒ@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c>~ 	"dÈˆ£DŠ9‚$‰’K˜4áä	”(RFL¡RÅÊ•X²hÙr´ìQ.]¼|&Œ1c¨)cæšiÔ¬Á¦›7pâÈ3b:vîàÉ£gŸ>~þ 
$h¡B†!J¤h£FŽAŠ$i¥J–.åÁ ; 07070100007758000081a40000000000000002000000013d1fe2e7000003ff000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/233.gif   GIF89a  ç  š•™œ•˜™”™›•œ“šœ’šš’™›Ž›››››š™™™™š—œ˜–œ•”Ÿ”•¡”•Ÿ••¡–’Ÿ–’£—”Ÿš’ •™Ÿ—™¡–™Ÿ—–Ÿ™˜¾¼¸¾¿»  œŸ¡ŸŸ žžŸ››–œ›˜›™™§¤¦éèêÿÿÿ¿¾Ãnpw•˜¢‘š¡•™¤ ¢Ÿ¡¡ ¡ ÊÊËæçæhhh   WYZœ¡£šŸ¡šž¡Ÿ™œ›–™°°¯™——gfd€~|›™˜™ž™š ™Ÿ›¡ž©©¨ÞàÞãää§ª«› £˜¢£¥¥žàáÞ¯¯¯jkk›œœ¿¿¾™–“¦Ÿ§§—§®ª®×××jjlŽ”¤¡§ÚÚÛ`_c¥ ©££ªÂÆÁkll–™š¢¨§¯²±ææællllkkllkkkk999zz}¨¤©¨®¥ÝàÜÑÑÑÓÔÓàãáÒÔÒz|w—š¦©¨¶©°¶¨²³°²ëëë«ª«""#NNP©¥¨ª§«ª¬°ªª´©©´_^b214#"#223``a­­°¬­²««¯©±¬©±±©¯¯©®¯©¬±¨ª´§¦µ¬¦¶¯¥µ°£·±£¶³¯ª´±©´®¬·°­²¯¯­¬¯¬ª²¨¬²¦¬³¥¯´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ã 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7nàÈ¡c>~ 	"dˆ‰£DŠØ0rIJ–01ÑÄÉ(QLH™B¥ŠW°dÑr´ìÑ-\ºx1ñL˜0bÆ)cæiÔ¬1Á¦›7pâÈùbb:vîàÉ£gŸ>~þ 
$h¡B†!J¤h£FŽAŠ$i’J•,]Â ; 07070100007759000081a40000000000000002000000013d1fe2e7000003fe000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/234.gif   GIF89a  ç  ž’š¡’œ ˜ž¡™¡›ž¥Ÿœ¢ž›¢¢›¡ š¡¡˜œŸ—œ—›™‘›™˜š’–›”“™™––™”•›™•œ—— ™™¢ž™œž˜žŸ– œ”¤œ’£™‘ ˜’Ÿ•™ ”›¢–¡™¡šœŸÞßàÿÿÿÞÝàœ˜¢ œ£ ¤  ¡ŸŸ¢ššŸ—œ»ÀÀÝßÞpsp´µ´®¯­ ¤š ¦œ¡£ ¡£žŸ £¢Ÿ£¡¡¤•–—ˆˆ‰¡¡¡MKM[[[£¢¥££¥£¤¤ ¢¢©ªªßßßääãª©© ž››ž˜™£­—«ãÜâ±¬°lilœšœ¿¾¿“‘™ž£œ¡£®ª²××Øjjk“ÚÚÛ^^a ¡§Ÿ¢¥ÂÅ¾jkk•™š¡¥«³¯®ææællllkl:::}{~¨¦®©¤¬ÝÝÞÑÐÑÕÑÕãßãÕÐÕ}t›’£©¡°­¦¦¬¦¥²°°ëëë«ª«$"#SOR¯©¯ªª±±©©°¬¨±¯¨ab\241"$"140`d\¬´©­·¬ª³«³¦¸²©»´ª»³ª¸³¬·±©¹°¦¹ªª¶§¨¸¢©·£©³¨®´§­·¦®¶¦¬¶¦±´¦°´©¯²¨¬³¥­±¤¬³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Â 0€@$P°€A D0B0dÐ°…>T BÄ%Lœ@‘BÅ
-\¼€CÆ5lÜÀ‘CÇ=|ü DÈˆ£Cˆ1rI’J–0ÑÄÉ(QFH™BÅG•V®`Ér´ìQ-[¸táå˜/pÃˆC¦Ì3gÐŒH£f›6nÞx'Žœ9têØ¹ƒ'ž=|úøù( A„
:„(‘¢EŒ9z)#I“(U
 ;  0707010000775a000081a40000000000000002000000013d1fe2e7000003e1000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/234.iso-8859-2.gif    GIF89a	  ç  š—•š˜˜˜–˜–•—˜•˜—˜›–š–š›—˜— žž¢›Ÿ¥›Ÿ¢™Ÿ–ž›™š˜™šš•™˜–•œ¢ž›¡ ™ ¡™¡¢› ¤ž ¥Ÿ¢›Ÿ¢œŸ¦š ˜˜¢™•Ÿ›•¢•Ÿ™˜ž–—›——˜›£š›œŸ›œžšžœ™ŸŸ¡›¡¡œ¢£›Ÿ£œ¢¤žŸ Ÿ¡ ŸœŸœŸŸ™Ÿœ˜¢˜ ž™ ££ž ¢ŸŸ£ÊÈÌËÊÌÉÇÍ››¨œ›¬žž®š›«™žŸùùùñòñÓÔÓ÷÷÷æææ„…†Ÿ ¤ ¡£ÎÐÑýýýNMP$#&|{|ÿÿÿ……†ŒŠ’¤¤©ÑÑÑâââîíîñðñ«««WXZ £«ÕÕÖööömmnppqqqqmnmMMMCFD¦«¨¿¿ÃŽŽŽnnrª«­ÐÑÒ‰Žx£©©¤¦¯Ö×ØþþþÍÍÎ?>Bilq¥«®§¦«‹Ž’¸¸¹ééédee%%&345Ÿž¢¯¥¯«§¥ž–îîî)))kki§ª¥ª­­¬­®¬²ª¬®­š˜•ŒŒgedª¨¤¯­ª¯°­¯¬°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¥ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„H#G$Q²„I'O DI"e
•&U¬\Á’EË.]¼|¦‰˜1dÊ˜9ƒ&š&MÖ°iãæœ8ræÐ©cçž<zöðéãç @‚*dè¢DŠ ;   0707010000775b000081a40000000000000002000000013d1fe2e7000003ff000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/235.gif   GIF89a  ç  ›Ÿ”šŸ–š––›™š›˜—˜—˜™˜–—›˜–—”œ•’ž–›¢˜›Ÿ™˜Ÿœ™™›œ›œžš–œ›˜›™”™˜”—”––”•›¥–¢•›¢—šŸ™™Ÿ›˜ž›—žšš™›œ›žš›¢š Ÿ¢ œ¢àÞàÿÿÿ¢¢¡àÞÞ œž ›¡¡™¢£˜¢ ¡Ÿ¡ ŸÊÊËÃÃÄ ÝÝà‚‚ƒHIIšš š¡ ™£¢  ¢œ¢£›£Œ†Œˆ†ˆº¯¸LHMjbk¤˜¦¢›¦£š¨™¥¤§°ÝÞáããå¬ª°¥¢£¨ ¤ª¢¢£¥Ýàâ¬¯¯jkk››œ¾¿¿’”œ  œ ¡©«®×××jjj’¤£¤ÙÚÚ\\^œœžžÃÄÅllk–šš¢¨§²®µææækklkjlljllkl;9:~x~ª¤¬¦¢®ÝÛÞÑÑÑÓÒÓâááÕÒÒ€yx™•¯¥£ª«¯­©¯±°²ëëë«ª«#""RPQ°«¬®«¨¬°­¬°¬ª°©^d^232"$"142\c_¦¶¬¥¶¬£µ®¥¦±©©±¨ª¯¦®ª¥­¬¨­¬«­­®­­®­¯­¯­¯±­£©²¦ª°ª¨³ª¬³¨«²¨¬´§ª³¨«¯¨¬­¦­®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ã 0€@$P°€A D0B0dÐ°C@„1‚D	&N H¡b‹.^Àˆ!c6nàÈ¡c>~ 	"d‰£DŠ9‚$‰K˜4!áä	”(RHL¡RÅÊX²hÙr´ìQ.]¼|!&Œ˜1dÈ”1sMjÖ°!ÑÆÍ8qäÌC‚N;wðäÑ³‡O? 4ˆP!C‡%R´ˆQ#G E’4‰R%K“.aÊ ; 0707010000775c000081a40000000000000002000000013d1fe2e70000021d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/236.gif   GIF89a  Æ  ‘œœ‹’š“š”š“™–’”•’˜•‘˜–—š•™”»À»ºÀ¼—Ÿ™˜Ÿ™˜£œ˜¢œÊÅÊÿÿÿàßá¥£¬›™¢™›£žœ¡yuyÍÍÍ”““™“•¦¡¦¢ ©ÀÀÄ«ª±<>@ill ©§«£¢ÕÒÒ‘†„ª¦ §£¡œšŸµ´´JHIŸœœŸœ  ´´µIIL›¢žŸ¤¤ª¡µµµLNI §™¢©›« §NLM¨ Ÿ¨¡ž®¥£¶µµTMJµ¦¡±¥Ÿ©¨¤µ¶µMQM§®¥¦¬¥¢µµ¤²³ $$LRR¤¯²¨¯²¬°°°­²³°²±­³¯ª°Ÿ¬©Ÿ©§ ¦¥¢¥¥Ÿ¢¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       a€ 	
 !"#$%&'()*+,-./012345678¹9:;<=>?@ABCDEFGHIJKLMNOMPQR#STU ;   0707010000775d000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/237.gif   GIF89a  Æ  Ž•™——‘™“’šš‘œ›•˜œž–˜›–˜›–™˜˜™š•™ž”™› š£§¦ÑÔÒžŸš¡Ÿ™ž¡˜ÄÈÊóôôòòòz{~˜• š•œêêê««¬/////0„‡†¡££«°²}€€w|}œ¤¤¤¤œ£¤ÁÂÁÿÿÿ¡£¤““™¢£˜¡¡¾À¿jkjvzv£¥¢¢££À¾ÃkjkvryŸœ£¤ž¡ÂÈ¾kljxyv ¢¡¤¤¢ÂÁ¾kkjzww¨¥¤©¤¦ËÃÃmjl€w}¬¡«©¤­ÄÈÅlll~ƒ€¬¬¯¬©±¨¯°{~""#|}¨¬°««±­¬®«¬¯­¬±«®±©­±¨«±§¡§ª ¥¯œ£­Ÿ£¬¢¥¬¢©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%&'()*%+,-./%01234%56789%:;<=>%?@ABC%DEFGHIJKLMNOPQRSTUVWXY ;  0707010000775e000081a40000000000000002000000013d1fe2e70000021d000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/238.gif   GIF89a  Æ  ”˜œ’˜šœš‘››“›˜‘œ•Ÿ–™˜œ™–šš•œ™•ž›“¡™ —œž–žœ˜Ÿ™—œ›•žŸ•¦Ÿ§óòôÿÿÿ¼²¾›Œœ™ŒŸÔÔÖÍÍÎsst´´µ¡¡¤žŸœ¢£|}~’szuILHuwq• ¡Üààpzxš¦¢œ¦¤¢£¡áàá!!§œ§¦˜¤£Ÿâßà! !¤¡¨££¨¤¥¤áââ¢ž¤¢ ¥§£¥ááâ!!"§¢ªª¤§¨¤³âáæ !$¡¦®¢«¬®¨±ãâä! $¥¢µ§¡²«®±«¯°OSQ"##©¬­«¬­§­²ª°³ª´³«³µ¬²·¬°´¬¡¬ª¥¬©¤ª©¥ª¦¦¬¦§ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       a€ 	
 !"#$%&'()*+,-./01234´56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW ;   0707010000775f000081a40000000000000002000000013d1fe2e70000022b000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/239.gif   GIF89a  Æ  ’š—•˜–•š—–œ˜”ž™—ž›šœ™›•¡ž–¢›–¢––¡•–Ÿ˜–™™ŸŸœ—››˜˜™˜›œ™ž ž™ ›˜Ÿ˜º¶¿ÿÿÿ¹¸½ÛÛÞ˜˜¡™Ÿ´´´ÑÐÐQPQ³±±ÃÃÃ   ¤¢Ÿ ¢—†„|†‡„ž™gfdKJH š§¢ ¦£ÑÓÑ‡Š…£§Ÿ¢¨ž§š¦¤£µµµLJN¤Ÿ¦£Ÿ¤¥£¨¦¥¨µµ¶NOR¦©±¤«­Ÿ¡¡¡¤ŸMMI§¤œ©§Ÿª£¦«§§PNN¬§¥¯¤¥ž­® ®®µ¶¶KPP¡®«¡­¬¥¤´¥¢³LMT§¨µ©«±««ª­©ª²©«$""RNP¯¥«°¢ª¬±¶­®´®®µ­¯¶¯®´°¬´°©·¥ª¯¥©°©©­¦ªª¦­ª¥¬¬ª°ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       o€ 	
 !"#$%&'()*+,-./0123456789:;<µ=>?@AµBCDEFGHIJKL¼MNOPQRSTUVWXYZ[\]^_`abcd ; 07070100007760000081a40000000000000002000000013d1fe2e7000003ed000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/240.gif   GIF89a
  ç  › š™Ÿœšžš›—œ›”™›–šš–š—•š˜˜˜–˜˜™œ›œ››™œš–™›œœžœŸœž žž¢›Ÿ¥›Ÿ™¢š™¢™–¤™˜¥šœ©œ™¤™—¢™œ¢ž›¡ ™ ¡›ŸŸ›£¡¹ÀÀÜáà¼ÀÀÑÔÕ›žš ˜˜¢™•Ÿ›¥¢Ÿ¡ ¡ÊÊÊÿÿÿ°±³WVY›œŸ›œžšžœ£Ÿœ¡¡¶¶³«««ÍÍÍš›šŸ Ÿ¡ ŸœŸ¥§œÂÄ½ƒ„†ž¤ ™§«ª±ïððƒƒ„jklÍÍÎŽ–—œ§£ÔÙÚQSS.13ilpv{}ééé[[`§¡°ââà#!!‡Š¬Ÿ¥«Ÿ¨ãàâ" "«¡«ÒÍÌƒƒƒ§¤§¦¡¨±«²õôõ××Ø!!"¥¦ª®´·îîïÞÞßáàättv><B¥Ÿ«©¬¯¥ª­££¤×ØÙllm!"$yz†¦§¹³¦ª¯¦« ”Ÿ_Za! #?>Bzz}¦©®¥©¯±£³¯£²°¦±°¨±¯¬­­ªª­¦§«§¥¬«£®®¥¦¯ª¦±­¦¯¬§°­¨¯«ª²©¬²ª¬®­°­¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ± 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±b‹.^Àˆ!c+lÜÀ‘CÇŽ–@yôðñc B†¬p@¤ˆ‘G$Q²d“&NV<EÊ”TªXYqK-[¸tñòÌŠ0bZŽ!SÆÌ4-Ó¨YÃ¦›7pâÈ‘3‡N;wðäÑ³‡O? 4ˆP!C†!J ;   07070100007761000081a40000000000000002000000013d1fe2e7000003f3000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/240.iso-8859-9.gif    GIF89a
  ç  ’š—•˜–•š—–œ˜”ž™—ž›šœ™šœ˜› š™Ÿœ›•¡ž–¢›–¢––¡•–Ÿ˜–™™Ÿ–˜ž˜™œ›œ›Ÿœ—œœ™œœŸ ¢¤¢š¡œ˜Ÿ˜˜¡š™¢š™¢™˜‘Ÿ­¥¯ÜÛÝÐÐÓÝÝß°°·˜œž›Ÿ›ŸŸ›£¡ŸŸŸ¦¤¤µ´µ¢¡¡Ÿ Ÿffe•”’§¦¤¥¢Ÿ¡ ¡¤¦œÐÎÊóóòüûûµ´´‘‘‘ØØØ¯¬«™–“¡¡³¹¶ýýýîïîÂÃÂÖ×Öúúúÿÿÿ‡ˆ†rsl£§œÎÍÎøøø¡¡¢)(*YWYßßß€€jin¤£¨áááìëìxyzYZ_’“šÓÔÖiqr¬®àààììì~~rsnšš”àßÝ€onj©§ŸÑÏÐÀÀÀ’“’ÎÌËòòñ‚€€smlª¤§¬¶·òóóö÷÷áããèééóóó€lqs¤§¯¥¤³Ž–¦¦¨¹¹º†‡ˆÐÑÒüüü€€€oqs©¯²ÁÁÀËÉÊœ˜™jgf;89ÅÄÅþþþkijvmp¯¦«º½¿÷÷÷îîïááâïïðûûûööö?=@ukv¯£²¢§«––˜ÍÍÍâââ±±±QRQ+,,Œ”¦±­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   · 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„H#G$Q²D“&Nž@‰"e
•U¬\Á’EË.]zxù&Ì1cÈ”bæš4jÖ°iãFÈ8qäÌ¡SÇÎ<yôìáÓÇÏ@"TÈÐ!D‰-bÔÈÑ#H‘$MÂA©’¥K˜ ; 07070100007762000081a40000000000000002000000013d1fe2e7000003de000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/241.gif   GIF89a	  ç  —˜›–š–š›—˜—•™™–›™•˜™——™——œ›™š˜™šš•™˜–•––”–”“””‘““‘•’‘ž ¥Ÿ¢›Ÿ¢œŸ¦Ÿ¥žœ¤Ÿž£Ÿ£¡›¤˜ž–®±®óôóôõôÝàßÒÕÔœŸ Ÿ£ŸŸž¡¡œ¢£›ÈÉÆºº¹çççÃÄÃY[Y ¤ ¢£¡§£¬¾ºÀ©¤ª|ˆ†ˆEEGKJM £¦¢¤§¼¼Æÿÿÿïïñ±´»– ¤–¡¢¼ÃÂææætttjkkry{›¤ªÄÁÈƒƒ„001xx|ÓÒÓ00/¬£¡Á¾Åjklhiož ©Þàã  #ž£­ÃÆÃklkz}{§«¨áãá!"!¥¨§¿ÂÈjllx||¢©«áâä!"#¥¨°ÄÄÎklly}€¤ª­áää!#"§°¨¨©°|}""#€y€­§°¬§²PMS"!#¬¥°­­©¬¯ªª­­¬­®®²±­±´ª®³¨®³¦°³°­©¯­ª¯°­¯¬°°ª®®¨¬ªª®©«¯©¨±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 € ,    	   ¢ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7pÜØ™CÇ7zøøH!7†)bäÆ$In(YÂ¤É'O Üˆ"e
•U¬\¹%‹–-7¸tñrã˜0bnŒ!SÆÌ4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏŸ€ ;  07070100007763000081a40000000000000002000000013d1fe2e70000024c000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/241.iso-8859-2.gif    GIF89a	  Æ  ——‘™“’šš‘œ›•˜œ”˜œ’˜šœš‘›››–˜›–™˜˜™š•™ž”™Ÿ–™˜œ™–šš•œ˜œ›™ŸšžŸšœ—£¥Ÿ›¡™œž–žœ˜Ÿ™—•›–˜Ÿ‘“™ìììÒÑÒysyŒ„Ž›ŒŸ›Œž ¡¤£¡¢¯°°ÆÇÇ,--001šœ¡œ¡š¡¢ §¨Ž••z||xyz‰ŽŽœ ¢œ£œ¦ŸÑÑÑðððËÌÌÿÿÿŽ•”™¤¡™¦£®®®ZZZªªªŸžž‚|¦¦ùùù=<>657‡„…­¬¬GDG£Ÿ¤õõõ665ˆ‰ˆœ¬¬¬CCE¤ £655”‘ ž¬¬­CDF¥§ª857—– ¢EEI¡§²788——š¡ ¤­¬­EEJ¥¡µ©­±%%&##$”—›««±suw$%%FJH«¯°«¬¯«ª¯©¬¯¨¬°¨«±¦¬±¨®±©³²«³µª ¥¯œ£­Ÿ£¬¢¥¬¢©¬¡¬ª¥¬©¤ª©¥ªÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%&'()*+,-./012345678997:;<69=>?9@AB6CDEF9GHI6JKLM9NOPÓQRS9TUVÓWXYàZ[Ó\]^9_`abcdefghijklmnopâÈ™C§Ž;xòèÙÃ' ;07070100007764000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/242.gif   GIF89a  ç  •–˜•—›——˜•Ÿ–“–“ž—‘š‘››™‘ ›–”›—”™—–˜˜˜–™œ–™Ÿ”›ž‘›ž”—›”™žœž ¨©ªÉÈÊž™œž›œžœ››ž™žœ˜ž›—œ›˜¢žŸ›¢ÈÆÊÿÿÿííî¯«³–’ •’ž––›”˜”˜Ÿšž¤œŸ£šŸ¢tyy›››¡¢¢†› £š£¤›¡£ ££¤££¢ ¡žŸ²´³¶¶´{}}WWX™š ˜—žš––¥¡ž­ªçëêâåã¡®©•¥ •¡¡– £œ¦©éììjklœœœÔÔÔ™œ˜§©§ª«§¾¶³ª¨¨"! _[Y{xu·¶¶jjh§¥¤¥¤¦ÁÂÈkkl[]_©ª¨¥¦¤ÄÃÁlkjŽˆ…«©¤°³µÎÎÎ}||®¬«¯¬¬äããSSS€z€®¥­¯¥²ßÜßêéêåáäöõöÅÄÅ#"#‘Ž±«ª©®®«¯®žŸæææëëë££¤!"$NOS©©²§ª°¬¨­ª¬­qno121"#"231^a^¦°§¥±¨¨®¨¤­´¥°²¥±²£¯°¦°­¦®±¤ª±§©±¤ª°¢ª­¦ª­¬£°©¡°ª¢®­ ¬®¡¬±¢«°¢­¯¥­®¨¬°¦ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@ H `ƒ@ˆ ÁÁ
*X¸€!ƒ†:xø "„ˆ$J˜8"…Š,Z¸x#†Œ4jØ¸#‡Ž;xôðñHˆ£A„!RÄÈ‘$	¡d	“&NB<EÊ”TªX¹K-[¸„èâå˜aÄŒ!S&„™3hÒ¨	±†M›nÞÀ‰#g:!ìÜÁ“GÏ>|úøù( A„
:„(‘¢EŒ9z)’¤I”*Yº„)“¦L ;07070100007765000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/243.gif   GIF89a  ç  •‘Ÿ•’•–”˜œ”›œ”›š’œ™•ž˜••šŸ”œ”“˜ ”–Ÿ––Ÿ––›–•œ˜•ž•—Ÿ”˜¢–˜£•™£•˜¡™š•™›”˜•—ž“—Ÿ’ÆÉÂ±³©˜¡”™¡”œ¡”œ —•žœ– – ž¬³´èêéÿÿÿ©««„ƒŸ¡ž œ¦› ¡¤¤¡¤¦£¡¥ÊÌÌÕØ×RSU  "fimž §œ¡¨— ¥ —¡˜Ÿœ˜¶³¯™š˜rsr”’™¢¤š¢¢¡£¤¤œ¤œ©¬©éëêäæä¨·¬ž­Ÿž­ ª£¦ª§ëììª©ªlklœ›œÔÓÕ•Œ›¥š©¦›ª¹¸º¨©©!!![^Zx{u¶·µhkg¥ª¨ª›ÇÁÆkjl_Z_ª¢ª©¤©ÅÁÆljl‰‡Š§¥£²¬³ÎÍÎ{t}©¢¦¨ ¥âààSQR}w}¨¡¬®©°ßÞàééêââåõõöÄÄÄ  !‡ˆ…¥¤¤¥¥²¤§¯œœžæææëëë¢££ #"JQP¢¯¬¥±­©­¦¦­¨¨­ªpqm221#"!202a^_¬ª®¬¬­­«¯¥©³¦ª³£«´¦­²ª°¯§°¬¦¯ª§°®¥±¯¨°«¨´¬¯¬­ª«°©¬­¥¬­¥­«¦®©§¬¨¥¯¨¥±¥¥²¦¥³§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„ˆ‰£EŒA’DÉLš81ñJ)SLP©bå
Y´láb¢‹—/`Â˜3†LfÎ I£ÆÄ6mÜ¼1'ŽsèÔ±sO=&öðéãç @‚*dè¢DŠ1jäè¤H’&Qªdé¦Lš6qêäé¨P ;07070100007766000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/243.iso-8859-2.gif    GIF89a  ç  •‘Ÿ•’•–”˜œ”›œ”›š’œ™•ž˜••šŸ”œ”“˜ ”–Ÿ––Ÿ––›–•œ˜•ž•—Ÿ”˜¢–˜£•™£•˜¡™š•™›”˜•—ž“—Ÿ’ÆÉÂ±³©˜¡”™¡”œ¡”œ —•žœ– – ž¬³´èêéÿÿÿ©««„ƒŸ¡ž œ¦› ¡¤¤¡¤¦£¡¥ÊÌÌÕØ×RSU  "fimž §œ¡¨— ¥ —¡˜Ÿœ˜¶³¯™š˜rsr”’™¢¤š¢¢¡£¤¤œ¤œ©¬©éëêäæä¨·¬ž­Ÿž­ ª£¦ª§ëììª©ªlklœ›œÔÓÕ•Œ›¥š©¦›ª¹¸º¨©©!!![^Zx{u¶·µhkg¥ª¨ª›ÇÁÆkjl_Z_ª¢ª©¤©ÅÁÆljl‰‡Š§¥£²¬³ÎÍÎ{t}©¢¦¨ ¥âààSQR}w}¨¡¬®©°ßÞàééêââåõõöÄÄÄ  !‡ˆ…¥¤¤¥¥²¤§¯œœžæææëëë¢££ #"JQP¢¯¬¥±­©­¦¦­¨¨­ªpqm221#"!202a^_¬ª®¬¬­­«¯¥©³¦ª³£«´¦­²ª°¯§°¬¦¯ª§°®¥±¯¨°«¨´¬¯¬­ª«°©¬­¥¬­¥­«¦®©§¬¨¥¯¨¥±¥¥²¦¥³§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„ˆ‰£EŒA’DÉLš81ñJ)SLP©bå
Y´láb¢‹—/`Â˜3†LfÎ I£ÆÄ6mÜ¼1'ŽsèÔ±sO=&öðéãç @‚*dè¢DŠ1jäè¤H’&Qªdé¦Lš6qêäé¨P ;07070100007767000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/244.gif   GIF89a  ç  ›š—œ˜—˜—š˜œ›™š›š–›œ•˜™“š˜”™—‘–Ÿ’•¢’–Ÿ””Ÿ””›‘“™–’š––˜›”œž–˜œ¦œ›¢›œŸš œ—œŸ› œ™ ™š ™›•—˜”—™¥œ£›§žáßßÿÿÿßÞßžžŸŸœ¡¦Ÿ§–Ÿ£šŸ£ÇÈÌÝÞàpqs´µµ­®¯š œ ¢š £ž¥££¤¢Ÿ££¡£ˆˆŠ‡††ŸœŸIIMUW\˜š¦››£œ¢žª¦«®°éêêãäãªª®  £ž¡¡¡¡¤ ¦êêë¨ª©jlk›œ›ÓÕÔ’Ÿ•­£Ÿª¤º¿³©ª¨ !!Y[[sxxggiŸ¥¢¤ÃÃÅkll]_`¦¨«§ª«ÄÆÇkkkŠ‰ˆ¬¥¦³¯ºÍÍÎxy‚¤¦±¦§±âáäSRS|z€ª¥¬¦¡¤ÝÚÛéééãàâõôõÄÃÅ"!#‹ˆ«¥«¨±­¥²°œžžæææëëë¢££!##LQP¥«¬¡¨­­­²¬­²¯¯¯ops233###323a`c­¬¯°«¯¯¨¬«³«ª³¬©±¬©³¬¨¶¬©µ¬®¶¬¬µ°­°¬ª¯°©­¯¦´¨©¶©¬´«ª²®¨±«©°°«­³©«°¨§®ª¨°¬ª°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È   `  H `Á<€AÂ
,\ÀAÃ<| BÄ%Lœ@‘BÅ
-\¼€CÆ5lÜÀ‘CÇ=|ü DÈˆ£Cˆ1rI’J–0ÑÄÉ(QFH™B¥Ê‹V®`É2BË.]¼Œø&Œ˜cÈ”1sfš4jÖ°ÑÆÍ›pâÈ™C§Ž;#ðäÑ³‡O? 4ˆP!C‡%R´ˆQ#G E’4‰R%K—0eÒ´‰S'O ;07070100007768000081a40000000000000002000000013d1fe2e700000402000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/245.gif   GIF89a  ç  ˜—˜š—˜™”˜š’š›œš˜™—™•œ™•š––˜”—šž™˜ž™šžš™Ÿš˜œ›šž›™Ÿ™™™™›–œ›—™˜œ•›™‘œ™’¡— ˜‘Ÿ—’›—”š˜•˜™•˜˜——™•–›œ¥¢œ£¡±¶¶ÿÿÿêéêéêê¼¼Á™”¢™“¢˜”ž”’Ÿ™§—¥¢¥°ÓÕ×´´µèéé‘’”nov“œ¡•˜——š™žšŸ š ¨¯¨‡ˆ†suq.0-elh˜¤¡–¦¤™¥§¡¤£­«®ëêëäãå¬¨¯¡¥Ÿœ¢¡› £¤§©©ªkklœœœÔÔÔ“––Ÿ§§Ÿ¨¡¶³¶¨©©  ![\[vzvµ·µhih¡¦¥ ¨©Ä¿Âkjk[Y]¢¢¨¤¡¬ÄÂÉˆ‰“¬©±¸°¶ÎÍÎ}y€¬¤°¬ ¯âßäQQSvu~ žª©¨¨ÝÝÞéééäááöõõÄÄÄ! "‰…©Ÿ®¥¨©§¤©œžæææëëë£¢£!!!NMO«¥®©¤®¨¨°©§¯«¨°qmr213"!#103_\b­¦­°¤¬²¥¬­¬±­ª²±§¶±¥¶­¤¶©§¶©¦º¬§·«§¶¨¨´¦ª²¯¦­²¦®³ª±±ª¬¯¬­²«¯¯¬¯¬«®§¬¬¨¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Æ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€2„‰£EŒA’D‰Ñ%LšpòJ)$¦P©bå
	,Y´l!Á¥‹—/`H0	#f	2eÌœAC"š5lÚpó‰8ræÐ©cçyôìáÓÇÏ@"TÈÐ!D‰-bÔÈÑ#H‘$M¢TÉÒ%L˜2iÚÄ©“§€ ;  07070100007769000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/246.gif   GIF89a  ç  ’˜˜••—’“–“””‘”’“•“•—’——“™•’š“•š™Ÿ—œœ˜›š–š™“››•™š—–›––›•˜š’—›Žš››‘ ›‘Ÿ™•¢œ˜¡›˜¢¡›¤¤›¡¦™ ¥™Ÿ£™›¢žš”™Ÿ”šžÛÞàÿÿÿ“ ŸÛáß–¦ ©¡ž©¤Ÿ©¥–Ÿ—œ¢ÅÇÍÂÃÃ !ßàâƒƒƒKMOœ£ªŸ¡§£Ÿ¦—¢¤™¢¤™¢¢…‰‰…†ˆ´²³KIIhfd¢œœ¢¡¢Ÿœ ª§©ééêããã¨ª©œŸžž¡œž œª éëê¨©¨jkk›œœÔÔÔ–“–¥¡¨¥Ÿª¸¸·©¨©! ![X^vu{¶µ·hgj¤¢©££ªÈÅÉlkl]\_¦¢¬¦¢©Ã¿Äjjk‚„‰ŸŸ§¬¬³ÍÎÎs~{¬§ž®¦àäâQTRu„x£²¢­Ÿ®ÝÛàãÞæõôöÄÃÆ!!#‡ˆŽŸ¨®¨¡©§¤©œ›æææëëë£¢¢"!!PMM®¤§®§¦ª¦«©£«¨£«kjo0/3  #//4Z[c¥£°©¢°­¢°¥¯²¤±°¥­¯ªª©ª¯¥§±£§±¦©°¦«°§°°¦°¯¥ª¦­ª¥¯¬¥¯­ª¯¬¨¯­§««¥¬©¨­¨¬«¦¯«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C@„1‚D	&N H¡b‹.^Àˆ!c6nàÈ¡c>~ 	"d‰£DŠ9‚$‰K˜4!áä	”(RHL¡RÅÊX²hÙB‚K/_À#feÌœA“†„š5lÚ¸!1äqäÌ¡SÇÎ<$òèÙÃ§Ÿ?€	D¨¡Cˆ)ZÄ¨‘£G"IšD©’%K—0eÒ´‰S'O ;0707010000776a000081a40000000000000002000000013d1fe2e700000404000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/246.iso-8859-9.gif    GIF89a  ç  ’˜˜••—’“–“””‘”’“•“•—’——“™•’š“•š™Ÿ—œœ˜›š–š™“››•™š—–›––›•˜š’—›Žš››‘ ›‘Ÿ™•¢œ˜¡›˜¢¡›¤¤›¡¦™ ¥™Ÿ£™›¢žš”™Ÿ”šžÛÞàÿÿÿ“ ŸÛáß–¦ ©¡ž©¤Ÿ©¥–Ÿ—œ¢ÅÇÍÂÃÃ !ßàâƒƒƒKMOœ£ªŸ¡§£Ÿ¦—¢¤™¢¤™¢¢…‰‰…†ˆ´²³KIIhfd¢œœ¢¡¢Ÿœ ª§©ééêããã¨ª©œŸžž¡œž œª éëê¨©¨jkk›œœÔÔÔ–“–¥¡¨¥Ÿª¸¸·©¨©! ![X^vu{¶µ·hgj¤¢©££ªÈÅÉlkl]\_¦¢¬¦¢©Ã¿Äjjk‚„‰ŸŸ§¬¬³ÍÎÎs~{¬§ž®¦àäâQTRu„x£²¢­Ÿ®ÝÛàãÞæõôöÄÃÆ!!#‡ˆŽŸ¨®¨¡©§¤©œ›æææëëë£¢¢"!!PMM®¤§®§¦ª¦«©£«¨£«kjo0/3  #//4Z[c¥£°©¢°­¢°¥¯²¤±°¥­¯ªª©ª¯¥§±£§±¦©°¦«°§°°¦°¯¥ª¦­ª¥¯¬¥¯­ª¯¬¨¯­§««¥¬©¨­¨¬«¦¯«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       È 0€@$P°€A D0B0dÐ°C@„1‚D	&N H¡b‹.^Àˆ!c6nàÈ¡c>~ 	"d‰£DŠ9‚$‰K˜4!áä	”(RHL¡RÅÊX²hÙB‚K/_À#feÌœA“†„š5lÚ¸!1äqäÌ¡SÇÎ<$òèÙÃ§Ÿ?€	D¨¡Cˆ)ZÄ¨‘£G"IšD©’%K—0eÒ´‰S'O ;0707010000776b000081a40000000000000002000000013d1fe2e7000003dd000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/247.gif   GIF89a	  ç  –œ™”š›‘›˜”›™’˜—‘—š˜š˜˜Žœ•Ÿ››Ÿ•™Ÿ•˜ ˜˜Ÿ–˜œ–››——›–™š™ššœ›››œ›™œ›™Ÿ›œžœžš›Ÿ›œ›Ÿ•¤ —£ —¤¢˜¤ › ¡œ  œ£ ¤¢Ÿ£¡Ÿ¢¢ŸÊÆÊÞÝÝŸ—›ššš™›š—™›–§¢¤©Ÿ¤âßàÿÿÿMMK¦¤¢£¢¡£¢ Ÿ¡ ¡™™¡›–¤žEJJ —¡›š¤›¢—¡ áàâàßáßáàÞáßÝáÞÝãÞÇÐÇ¬›ž«œÅÄÄqkj±¤¢¨§«"!""!!" !#!!#!"QLO®Ÿ§ž¯¥ž®¨ÊÑÐßãâ¡©¦¡¨§¢¦©¡¤ª¤¢ª¨©®¥¨®áãäNPP¦¬¬ª©¬¬«©¬­©¦¨®¨©­©§«NLP" #®¦²®¤®«¢¬«¥®¥°°¨¯¯©¯­¬¯²«¯°«³¯¬°®¯¯¬­®¬¥±©£±£¤±¦¦²§©°©¬¯§¬±¬®±ª­°©¯§¥®¥¥¬£¤©¦¦©¨¨«ª¥¬©¦¯©¤±§¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¡ 0€@$P°€A@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡c>~ 	"d‘"F^(]zI%K˜4iâä	”(R¦P©bå
–,Z¶péòÂË0aÄŒ!SÆÌ4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏ@"TÈP@ ;   0707010000776c000081a40000000000000002000000013d1fe2e7000003ee000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/248.gif   GIF89a
  ç  ’œ›”›œ”›˜œžšœ¡œšŸ›¡›œ£›ž¡˜š™–›š–Ÿ™™Ÿ™ŸŸ™ž ŸŸŸ ¡¢¢¤ž£¦Ÿ¢¦ž™›˜™œœ›šœ•œ™—™˜•™™–™™™›™›™—˜Ÿ£§ §¦œ¨¥ª¦¨§›¨¢›¦ š¦¢š§¡œ¦Ÿœ¡”ž£– ¤—ž¦™œ¤•Ÿ¥š ¤œ£¡¡¡ ¡Ÿ¡Ÿ¤ ¥ž«¬¨¿Â½ÀÂ¾ÊËÈßàß££¦¦š¢¤š £ÕÓÕÿÿÿÍËÍNIM¤œ£¦£ÇÐÊÚÛÚjkkæææ[`a™ ªœªöõõïîï#!"•”•ŒŒœœœ›™š©¨¨»¹ºIFF¿»½" !µµµ^Y]¨¡§ëêë×××óóô”‘“ƒƒƒNLN¨£¥¼Â¹ÔÕÔÑÑÑðñð8;:iqn¡¯©ÉÈÉÎÎÎÀ¿¿::9200šš˜¥¨¤´´¸ÔÔÕ""#@AAOORš¡¯¨°¯¦±°®° žœRQP¯­©­«ªª¬ª­«­°©¬¯§ª±¨¬°¨¯²¬²´¯²³ª²²©²°§±¯¨´®®´­¯³­­µÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ² 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG@}ü DÈDŠzI%K˜4ñáÄÇ(Q|H™âƒJV®`ÉâCË–*\|tñòÐ0b|Œ!SÆÌh€¦Q³†M7oàÄGÎ:uìÜÁ“GÏ>}üüHÐ B…B”(  ;  0707010000776d000081a40000000000000002000000013d1fe2e7000003e1000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/249.gif   GIF89a	  ç  ’˜œ’šœ˜›’››•”˜˜•˜–—š™››˜›¡§˜¢£— ¥•£–œ£”— ››Ÿ—™Ÿ™™Ÿš——›——ÐÏÒ¡¡¦˜—›—–š”–™™•›››œ›£›¯¶°óôôìììÁÃÂ›£Ÿž¡žŸŸŸœœŸ¡ŸŸ¢‚††Š‹‹ÐÑÑdii™¡ —£ŸœŸŸ¥¬§¾Â½¨¬¦š£œdifdhgº¿À™¤™¢ÂÀÀÿÿÿ¥¢¤–’‘£ŸžààÞuurŸœ›º¿Èijlmu}š¡®Ýáã!"—£§ÅÈÈkllyz¢¥©ßàâ  "œ©ÃÀÈkkl}z~¨¦¬ââä "" «§ÅÀÄƒƒ„xt¥¢¬ëëí!"#¦«²¥­¨æææÎÏÍáâá! !§£¢¡¨¬ÀÈÈ×ØÙ®±³µµ¶!"$§§±¶¨³µ©³ƒ|ƒ424$#$DDDaebQUR¯»°°¨©®ª¬¯¬®°ª®¯¨­®ª±ª¬±§¬°¦«´©ª²­¬²­«³­¬°«©¬«¥«ª¥ª¨¦¦­¨¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¥ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ã>nü DÈ!DŠÜ0rI’J–0¹ÑÄÉ(7¢H™rƒJ+Wn`É¢åÆ.]nÜðòL˜-7ÄŒ!SÆÌ4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏ@ ;   0707010000776e000081a40000000000000002000000013d1fe2e7000003de000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/250.gif   GIF89a	  ç  š ™™Ÿœ–¢š”Ÿš•›“š›”ž›•žš’™š–ž—˜ž––Ÿ—˜ •–Ÿ––œ•˜›’—š•™˜•›¤£›¥¥˜¥£™£¤ÑÖÖ˜¡£›¡ ™žžœœŸ£ŸŸ Ÿ¡¾¾Áôôô|}}žŸ¢› žŸŸ¡ž¡£ŸààÞÃÃÀHFE1/.Š‡„¥¥ ¥¤£À¿Á·¶µ£¢ŸNJJmkk¶¶´©¬¨›¢ŸŸ¡ÿÿÿÐÑÑ€†„ž À¿À¤¥¦’™˜ž§§´µµFMNš¥¨ÀÄÄjlky|z¦§¦KKO¤¡¨ÁÀÄjklvvz£ž©HQL›­¡¾ÉÀklkz~z©®¥ÍÎÎNQN¥ª§ÍÍÏkjlxx{©§¬ááá¿¿¿ãââõõõlll{|€ªª®´²·ØØØëëë±°°»»»SSS€{~±©­²¼³¡¨¤CFD#$#254`ddQRTŽŽ–¯­·©§²¨ª²©¬³©¨²­©²¯¨¯­«­­¬­¯­¬£¥¬¥¨°¤¬¯£ª³£©³£ª±¢ª³¡¬³¢¬²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¢ 0€@$P°€A D0B0dÐ°C>€!b‰&N H¡b‹.^Àˆ!c6nàÈQCÇ5zøø¤F!C‚)b¤Æ$I‚*YÂ¤F'Oj@‰"eJ*U¬\©%‹–[¸tñò¥˜0bÆ)cæš4jÖ°iãæœ8ræÐ©cçž<zöðéãç € ;  0707010000776f000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/251.gif   GIF89a	  Æ  ˜‘—›‘˜œ››’šœ˜˜˜”•–•—š˜›˜˜––˜˜—–˜™š››˜›Ÿ–œž•ž–œŸ ›ž¡šŸŸ£ž  ¢¡Ÿ¡¥¡¡¨¢§›¦¨Ÿžœ¢ œààßÿÿÿ ¥ ¢¤  £Ÿ ¤ž¤¦£ÂÄÄááártuµµµ†‰‡ ¤  £¡œ´µ·¾¾ÄqszHJN„‰††ˆ““—ŸŸ¤Ÿœ£ßáßu{tŸªŸ¡«ŸÑÓÑˆ¦ áãá!!!¥¥£§£¢MMM©¤§ààâ!"œ§© ª¨IPO›«©ããá$""±ª¨±¨¨¶µµQMP¬¦«ááå9:;¤ª¬¯³µµ¶¶NRQ©¯«ÆÇÊÎÎÎÝÝßììí¶¶¶QPR«¨®¬¯«ÅÆÄ±±±ÀÀÀ„„„OPR©ª²³¨°²¦²d^b%"#e^`UNQvomµª©±ª®°¯­°°­±®­°¯°±®¯±¬®±«®°­ª¦©°©¦±ª§¬¬ªªª¨¬ª¦ª¬¥©­¥©©¦©ÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	
 !"#$%&'()*+,-./0123456789:;<=>?'@ABCDEÆFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgghijklmnÞÀ‰#g:vîàÉ£gŸ>  ;07070100007770000081a40000000000000002000000013d1fe2e700000251000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/252.gif   GIF89a	  Æ  —“˜–•–˜“–š˜˜ž—–Ÿ––••œ””›˜’™œ–››–™•œ™—–™š˜˜˜™š––—™—˜£«—£©”£¦—¡¤–¡¡—¢¢˜¢Ÿšž žžŸ›¡Ÿ¼¿¾ÿÿÿºÂ½ÝàÞ›œŸšœžšœŸ®²°ÏÐÏPPP°°°ÂÂÂ œŸŸšŸŸª¤§Á¼¿‘Ž‘KHK…„‰‡‰ˆ‡ˆ¢¡¤¤£¦ÀÂÁ¢¥¢’Ž ¡›ÞßÝusrž ™Æ½Äkjkzv{¢ž©áßâ "¤©¾ÂÇjjluv¡¯Þßä !"¢¤ªÈÅÇlll|z~§ª¯áâã""#«©¯ÄÇÈ„„„}}}¦ª¬ììì"""¬ª¬®©®æææÏÏÏâãâ#"#¬«­®§®ÇÅÈØØØ²°°¶µµ##"±­¯²¯¬²®¬€~432#$#DDBddbSSS«±°¬ª­­¬¯ª¬±ª­±ª­°¦­±ª¬³­®´©¨¦ª©¦©§©«ª¨«­§­¯©««©©­ª©®ªÿÿÿ!þCreated with The GIMP !ù
  ,    	   •€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Y`abcdefghijklmnoàÄ‘#g:vîàÉ£gŸ>~ ;   07070100007771000081a40000000000000002000000013d1fe2e700000251000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/252.iso-8859-9.gif    GIF89a	  Æ  —“˜–•–˜“–š˜˜ž—–Ÿ––••œ””›˜’™œ–››–™•œ™—–™š˜˜˜™š––—™—˜£«—£©”£¦—¡¤–¡¡—¢¢˜¢Ÿšž žžŸ›¡Ÿ¼¿¾ÿÿÿºÂ½ÝàÞ›œŸšœžšœŸ®²°ÏÐÏPPP°°°ÂÂÂ œŸŸšŸŸª¤§Á¼¿‘Ž‘KHK…„‰‡‰ˆ‡ˆ¢¡¤¤£¦ÀÂÁ¢¥¢’Ž ¡›ÞßÝusrž ™Æ½Äkjkzv{¢ž©áßâ "¤©¾ÂÇjjluv¡¯Þßä !"¢¤ªÈÅÇlll|z~§ª¯áâã""#«©¯ÄÇÈ„„„}}}¦ª¬ììì"""¬ª¬®©®æææÏÏÏâãâ#"#¬«­®§®ÇÅÈØØØ²°°¶µµ##"±­¯²¯¬²®¬€~432#$#DDBddbSSS«±°¬ª­­¬¯ª¬±ª­±ª­°¦­±ª¬³­®´©¨¦ª©¦©§©«ª¨«­§­¯©««©©­ª©®ªÿÿÿ!þCreated with The GIMP !ù
  ,    	   •€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_Y`abcdefghijklmnoàÄ‘#g:vîàÉ£gŸ>~ ;   07070100007772000081a40000000000000002000000013d1fe2e7000003f2000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/253.gif   GIF89a
  ç  ˜•ž˜•›˜•œ˜—šš—š›˜šœ™™šž˜›——™”œ›”™–œ–• •”Ÿ–™Ÿ–˜¢––¥˜•¥–•£ œ›¢›šžž›››¯°®»»ºš›•“š—“œš’š™Ÿ™›ª¡¦àÜÞÿÿÿÕÕÖptu™žœœ›œœŸ¡¡¥ž¿Ä¼çèçrts! JMK¡¡š £š¡Ÿ·»ºÃÄÂ°±®xzz@@>’—“¾ÆÁ³¼¸ ©¡¡¨Ÿ±³³ÐÑÐŒ‘Ÿ¡ÔÕÖ±´³†™¢¤¡«ññòKKO ¡©ôôõììí!!"iio¤¡«¦¥§ÎËÍlkjÅÃÀ¢¢¢0/0§¤¥¥¤£©¦¬´¬¸¶µµÔÒÓ:89\[[£¦¥¦£§¨«­¥©ªÜÝÞÄÄÄ!!—šœ¤§œ¥§¬«§­«¦Á¾ºSTQQRL¯®¤­®©®®¬«¨²®¨´·±¾ÎÍÎ"!$Š‡‘¦¤­¦¥®¤¤¬¯¬°°¬°ÑÑÓ„ƒ…A>Cª¥²­¦´¬£³­¦²ªª´ª¬³õö÷îïð!#&mqy¥±º¤³·¥³¸©²¸¦¯©±¸°ÄÊÅ]_^021§¬¨­¨¦¯£ª¬¥®°¥±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ¶ 0€@$P°€A D0B0dÐ°C>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡cG=|ü$ˆ!DB1rI%K˜4	áäI(Q¤L¡R%„•+!°dÑ²…K/!B|FÌ2eÌ¤=ƒ&š5lÚ¸	ñN9sèÔ±s'ž<zöðéãç @‚*dè¢DŠ1jäè¤H ;  07070100007774000081a40000000000000002000000013d1fe2e7000003ef000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/254.gif   GIF89a
  ç  •›œ”œ—˜œœ™›œ˜š››˜•˜›••œ‘•›”˜›”•• ˜—Ÿ˜˜ ™™Ÿ˜›Ÿš›ž™œ›˜žž™šž™˜ •ž”—¡–— ˜”Ÿ˜’Ÿ™”œ™’ž˜‘›—’™›•˜ÆÌÇÞáÞš£šœ¤˜œ¢—› ™– ˜  –œŸ– ÞßÞÿÿÿIJG Ÿ™œŸ—  —Ÿ¡™Ÿ šž¤›ž¥ŸÝáÞ!°¶´¾Â¾§­§™£žš¤Ÿ™¡£œŸ¤ÞàáµµµÙÜÙš¤™¤¡Ÿâáäæææ›œkjkÍÍÎ¯¯¯¡ ¢Ÿ¡žßââ9890//iihuvwééé\ZZ¦ žàâá ""œœŸ«¬ ª­àãã/21¢¬©àáájkkž¢¥Ÿ¢¨ª«±ôõõëëë !"¡¥ªâäæÒÔÖàãætvx.24Ÿ­°áââklkkll"""}}y«ª¦ââå"##~~323332€}~²¨¬°¨¬ãææ##$­­·®®¹®­·­¯·¬°¶­¯´ª®µÂ¶ÄŒˆŒ#!$²¨±¬ª¯¬«­¯«¬«ª«©¨©©ª¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ³ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä‘b6nàÈ¡cG
)‚öðñHB†)’ÂÈ$IR(YÂ¤‰!O DI!e
•*VR\Á’%…–-\ºxù&Œ˜ cÈ-cæši„¤ø¢f›6nR¼çœ9têØIqO={øôñóP Aƒ2tQ@ ; 07070100007773000081a40000000000000002000000013d1fe2e70000020e000000200000000000000000000000000000003300000003reloc/mscstyle3/images/letters2/253.iso-8859-9.gif    GIF89a  Æ  •œ•–›–”ž–‘š–’œ—™œ•œ•š–”˜˜•—˜˜¦•¥˜¤™™£˜™¡•œ™™˜™›™Ÿ›šœ›žŸœ£›œ¥ž¥Ÿ £Ÿ ¤©¦¥«¨©¨¦¨§£¨¦¡¨ÜÛÜÿÿÿª©§™š–§§ ÜÙÝkjlutzž £ØÝÜjljvw¤¬£àÞÛklkz{x¨¨¢ÞÛßljk}u}¬ ¬ÝÜÛkkjzxv£¤ŸÞÜÞlkl€{z¯§¤§§©XXY###|z~¬ª¬®§¶­¦³®¤°¯¤±°¢¯¬¬­¨ª­¦ª°¤©®¦«¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       R€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI ;  07070100007775000081a40000000000000002000000013d1fe2e700000250000000200000000000000000000000000000002800000003reloc/mscstyle3/images/letters2/255.gif   GIF89a	  Æ  •›’˜“’™”œ˜’—œ’•ž’“‘’ž‘ž––ž””¢“”Ÿ”•£˜”¤™™¡–™ž•šž”—–•›”•›—•™–“›••ž’™Ÿ’˜Ÿ“›¡ÜÝßÿÿÿº¼ÂÞÞàšœ£›¢œ›¡œ¦¡ÈÍËÂÄÃPRR²´³ÂÃÃ !˜Ÿ¢šž£¼ÀÂ½¿ÄdekHHM~†„„Š†…ˆ¦§­œ˜£ÒÖÔ¢¦¥ž©£ ¦¥õõõ‡‰‡–˜•±´¶´µµrvv³·³¢¢¢  !•–£§¡äåäPNLâãáRSR[a[¡®¤¥¬¡ÍÐËllj×Ø×"" ŠŽƒ¦« ¨§¨¨¦¨A?>¬§£«§¤¡«­£©¬ÖØÚæææ!!"y{|¥¥©¥©©£¬®£©¯ÍÏÔƒ„…/24¢¯¶ ²³¢±³­¦¬©©¬ëìì9:;ipp¤°ª¢°¬Ÿ¯¯¯­¯ÁÁ¿ªª«#"#šœž§«¬ª¬°©¬¯¤¨¨º½½²´´:::\_^©«§©¯¨©¯ªª°¬ÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ”€ 	

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPÞJQRSTUVWXYZ[\]^_`abcdefghijklmÜ¼GÎ:uìÜÁ“GÏ>  ;07070100007776000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/32.gif    GIF89a  Æ  •œœ’›œ’œ˜Ÿš”š“Ÿžšœžœ˜žž™ žœžšœ˜ŸŸžŸ› ¢› £Ÿ¢¥ ££žœ£™™¢›™£—¡›™¡˜™ š¡Ÿ— Ÿ—¡¤˜Ÿ¤™ ¢™ž¥¡œ¡¢ £ž¡£Ÿ¡£ž¡£œ¥¤¥¤¢¥¢ ¦ ž¢£¡ œ¡š›žœ›žž¡›ž¢£š¢¤¤¡¤¢¡©¥¡¥¦¤¥¦¡¢¨¦­«¦¬ª©©«¥§¬¡£ª £¨®©¦®©¨¯«¥¬«¦ª§§§£¦©ª¨©¨¨ª¦©¬¦ª­¦ª¬¥©©«¬«ª°©¬¯ª¬³©¬´©«¯§©®¨­±ª­³¬¯±­«±°ª±¬®«­°ª­°§¬²¨®±§°¯§ª²¨«³ª©±¬¬±©«°­­¯­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ;  07070100007777000081a40000000000000002000000013d1fe2e700000136000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/33.gif    GIF89a  ¥  “™™–œž™ ¡šœ ˜›™›œ›œœ›ž£¡ž¤ ¢  £¢ÞàáÉÌË›§£™£¤ÿÿÿÂÃÅdjoš¥®´µµFLN”¡¤´µ´GOG˜®˜µµµLJL§¡¥µ´¶NJQ§Ÿ«µµ¶OMR¦£°áááƒƒƒNNM¦¦¦âãäœžŸinp£ª«ÅÃÆnfv«ž¶§¯¯!##OQR©°®©®ª©®««­«®¨­¥©ª¤¬ª¡­¬¢®­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       :@@@0 DB±`4HD2P*È“h6HÇó€B¢©d:¡R*ÈŠÕr½`1ÙŒV³Ýp9A ;  07070100007778000081a40000000000000002000000013d1fe2e70000022e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/34.gif    GIF89a  Æ  ž––––™™˜–—˜˜˜——˜˜•™™“œ›“››’Ÿ™’ š‘›•˜•Ÿšœ£™˜¢™œ¡œœ¤˜£™¦¡¥›¶´¯ËÊÇËÈÈ¶³²¢ œ¡šš¿½ÂÕÕÖÌËÌš˜˜‚€ƒœžžœœÀ¼ÂÒÐÑÄÃÃˆ†‡vuv  ¡ ¢ž©©¨““‘qrq\^]pvr›¥›™§š££¥™–˜ŠˆŠŒ‡ˆš––¦¥¨§¥§¡«¬¡«®£©®¡ª¨¥«¥¢ª¤¡«¢¡¡­¥ ¯£¡¬££­¥¥­¨¥ª«¥§¬®¦­­§¬«¦«©¤®«£²«¥²¬§¨¬°§«³©¨³©¦²¬¥³¬¢´®¢³©¨¨¦¨¨¥«¤¢¬§¢«¥¢¬¦£«¨¨¯±ª­´ª­±©¬­©­¯§²±©³´®­­±ª­±ª«®ª«­«ª«©©­¦®¨¨©«­§ª­§­¬©­°­­­¬±­¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       r€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno ;  07070100007779000081a40000000000000002000000013d1fe2e700000249000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/35.gif    GIF89a	  Æ  —œ™–™™——™—˜˜˜ž––œ–—™–˜›˜—ž—•“••‘””’–“’˜˜“˜••›—•›˜•™˜—Ÿœ¥ ž¤¢œ¥ž¥¢Ÿ ž¡œ¡  ¡ÊÌÈµµ´À¾¿ÌÈË£žŸ ›¢™¡¡¥ ¡¥¡ÿÿÿ›œšÖÖÖÑÑÑdgkœŸ£›Ÿ£¡ž¦¡ §89:ÑÓÓˆ‰ˆMML£ ¡ŸŸžÝÞãÏÒÒ“¤ “¦¡ÌÏÍÖØ×´µµµµµ‚ƒ„JNO ¥®âáâÞÞÞééévsrojh©¡¡ˆˆ‹‡ˆ’¤¦¬¦ª¦„„„kll!"#{}€«««¦ª­õööˆŠŒ½¾ÀÓÒÕQMS¯¦³°¦°²¨¯¤¯°]`^ÓÕÓ¶¹·MRP©¯®¬°®«®°­¨³­¥³"!#Ž‰’RNS`]a­©®­©­ª­­®²µ«¯´©®´¦±´¦³µ§°¶¥®µ¦±³¦²³®©­«ª®©¬°ª©±¬§³­¤±ª¢±¬£®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%&'()*+,$-./0123$¹¹45678$9$:;<=>?@:ÃABCººDEFG:HI:JJKLMNOPQRSTUV$WXYZ[\]^_`abcdefghijklmnoàÄ‘3‡Îœ:vî ;   0707010000777a000081a40000000000000002000000013d1fe2e70000023b000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/36.gif    GIF89a  Æ  –”Ÿ—”ž˜’žš‘œ›‘ž™’¡˜‘ –’ —š •œž’œž”˜œ–š•šž“šœ“™¡Ÿ›Ÿœ¼¾»ÿÿÿ¿½ºœœ˜›œ™››–™”Ÿ—“ ÐÏÔ‚‚ƒmpu˜Ÿ•Ÿž£ÔÔÖš››¡£¦¢¤¥œ ŸÚÙÙ888µ´´ƒ‚‚uuo¡˜—«ŸåææOTR‰“”FKMdhf¥¤¤­ÃÂÆèéè´µ²¨¨¨§«¨©¥Ÿ¨¥¤™—–µµµÔÔÔ™–š¥¥¨ºº¹ÄÄÂ²®¬‰†Ø××A??¬£©ÒÒÑÕÔÕÀ½Àöõö"!#©¢«³¨®ÑÎÏxvv$"#®ª±©®°ª­³œž llm!"#z|„¦¥³¬®¨«¯©ÆÊÆkml{€|§¯§ª®§¦®±¤ª²§©±x}z}€¦ª³¦©´±£¬±£®°¥®¯¨­±§¬¯©­°ª­¯¬®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       € 	
 ¤!"#$%&'()*+,-./0123¤456789:;<=>?@ABCDEFGHIJKLM¤NOPQRSTUVWXYZ[\]^_`abUcdefghijklm ; 0707010000777b000081a40000000000000002000000013d1fe2e700000426000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/37.gif    GIF89a  ç  •›œ”œš’™–ž™–ž•š •œž•œœ•››˜œ›˜ž™˜ž›™—–™•Ÿ–˜ ”™£–™¤–˜¢•™Ÿ’— ’–£“–£“— ”• ˜ ’›Ÿ“œž’™¡•š¡•¢•¡˜¦šœ§›£œœ ›¡˜œ ¢ª¨ÒÕÓÝàà¾À¿ ¢Ÿ žÄ½ÀØÒÔ¥œŸ¤œ¨ŸŸ§Ÿ ¤šéëëÿÿÿ¢¤§¢©óôõ¯²´TY[› ¤œž¥›£›¢}~~! ÍÍÍ´µµ“”–.00jij¢ £¤¢£Ÿž£¢Ÿ éìêæææÑÔÒ’–“×Ø×ÇÌÉ"!ž«¦Ÿ¢¢¤¡›£ž³®¶ééé¯®±RPSifk\X^¥¡§¢¢¤ ¦¤ «¤ž«£¥¨¢•š’00.!" ¶¸µäæã""ÌÌÆâäß¹¿¶¤©¡¢§£ ¥£«¢«©¥ª¨£©¯­´“’”ª©©¢§§¨«®¦©¬©¢¦©¡¦©¢¤ÙÔ×ôóô"!"¦¤§"!$ÎÍÎµµ¶ˆ‰“¥§²ª©³©ª¯¨¦­õõõ¶¶·00/ª¨©OKM¬¢©¥©®¥¯¯¹À¿ßääEII[a`ÄÌÈçèè¯³²!##\ab§²­¬­ª­«§­§¬‹PORžŸ­¬°€€224##$bab­®³¯¯±«°¯¨±­§°«¨°®¦²°©±¬©µ­ª³¬¬´«©²­ª³­©¶­¦®¬§®©§­©¦¯©¦±¥¦²¦¦´§§´¦§´©ª¶ª¬µ¬ª³®©²¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ê 0€@$P `ƒ@€AÂ
,\ÀAÃ<| BÄ%Lœ@‘BÅ
-\¼€CÆŒ›4jØ¸#‡Ž<fôðñHB†)bä’$Jf,aÒÄÉP¢H™BeF+3®`É¢e—.^¾€	#f™2fÎ I£f›6nf¼ssF9sèÔ±sOžzöðéãç @‚*4èŸ†!J¤h£FŽAšIÒ$J•,]Â”IÓ&N<}JÔ(R¥LB•JUªU¬Z¹z+–¬Y´jÙº…+—®€ ;  0707010000777c000081a40000000000000002000000013d1fe2e7000003fb000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/38.gif    GIF89a  ç  ™—ž™–™–›——™”˜›•™›”˜™‘––‘˜””–”•”’ š™šš›—œœ˜ž™™žœ˜žšŸ˜œ™œš—›š”œœ•›™–™š–˜™—˜š–—œ›”›’ š–£™¢œ™£œœ¢š•£°«¶ÝÜßÜÛß ¢©•šŸ•›Ÿ“›¡– ”¡ ™š¤¹»Àÿÿÿ—œž™£˜›¦œŸ¤›¡¤ ¨œÞâß799‚ƒ„ikkŒ•—š££š¡¡œ £¡ž§ËÉÍµ´µÛÚÛQPQurtž š žœ¤š¥¥¥¸·¹†‹‡jljÖØÖ¿ÅÂŸ¥¢ ¥£¶¼¶ƒƒƒðððNJMyuy¤Ÿ©áàäkll99<ææælkl203¨¦¬¦£­âàä88;wu€·¶½kklr||¬¨ž­§¼ººÝÛÞõôöðïñ¦¤­¨ ´ªž´©£ª°°±ëëë^]_HFHÑÑÑ:8:}x|ª¦©«§°«¦°€z€302$!#202ŠŽ›–@>A˜—ž¥¢°©¦»¬§¸¬¨·©©µ§«³¦¬³¦°³¤²°¦®¯««©«°¦²¬¯°­¯­¬®§­­©¬­«§®ª¦°­¦°®¬¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ¿ 0€@$P°€A D0B0dÐ°‡>€!b‰&N H¡b‹0[¸x#†Œ4ZÔ°ÑâŽ:vðèÑÂÇ@‚B¤ˆ‘˜G$Q²„I“˜-œ´x%Š”)-¨T±ó
–,Z¶´àÒÅÌ/`ÂˆÓÂ
™2fÈžA“FÍ²lÚ¸y'Žœ9têØ¹ƒ'ž=|úøù( A„
:„(‘¢EŒ5rDç¤H ; 0707010000777d000081a40000000000000002000000013d1fe2e700000128000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/39.gif    GIF89a  ¥  ž Ÿž¢ŸŸ¢œ›š”—›•—™•–Ÿ–™•™Ÿ–Þßßœ ¡ÿÿÿIHJœ›£   ™¤Á¿Á  ! ž¢š¢¦rxzœ¤¦©­Ÿª®¢­­¡§¦ ¨©§©¬¨¤««¤¨¬¢¦°®¥±°§°­¥¨°¥¨¯¥¦¯©±¶ª¯±§­®³­¯´®°¯¯­ª¦§ª¦¨©©©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       ,@@@0 DB¡X0Ç‘L(Ë“Ñl8ÏH%Ó	•R­X­  ;0707010000777e000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/40.gif    GIF89a  Æ  —˜ž˜˜œ•˜œ™— ˜˜Ÿ˜›¡”£••Ÿ•˜œ”˜™•˜™’•™“š™•š˜”™™›™˜—š™š˜™œœ ¤™Ÿ¢¤ª«»¿À›œ¡šš ¡™·²±ôôôÛÚÚvuu¢žŸ¤®ªôõôÿÿÿttsJLI££œ×ÖØŒŒŒ""!}}z§¨©êëëììí!!"hkk¡¤¦¡£¤¿¿¾//.¢¢¡¢¤ž¥£žµµ´LKJ¤¢¨Ÿœ©žõõõæææPML¨¦¢©¥¡©ª¡ÖÚÚuvv¨«ª§©ª¦¦©´´´‰‹Š¡©§¥«©´ªªÂ¼¾»º»Ÿž­®¬¬±±ª±²—„„„PQQ­««®°­­¬­¬ª¬ŠŒnnp§ª¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$ %&'()*+,-. /0123 456789:;<=>? @ABCD :EFGHI JKLMNOPQRSTUVWX ;  0707010000777f000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/41.gif    GIF89a  Æ  œœ¢›¢¢™ ¢™£ •¢œ–Ÿ••œ˜–ž—š¡˜Ÿ•ž˜œž›œ’Ÿ¢“ž¤•Ÿ¡“Ÿ¢ÓÒÕ— šŸ›š œ—žœ™ŸÿÿÿìììžžŸš £š ¤šáâÝ£¢¢©¨¡¨¦¡¦¦¡¤¨¡××Ömpi¤©›¡§ž¡¨¥¶»¹ƒƒƒ••’¥£ ¦¢¨¤µµ´nid¬¡œ¥ž¦¤ ©µµµLNP¥©ª§©¤·»ºœœœPON®«¥¥§ªáâãRSS]\`¦§­ÂÅÅ×ØØ!#"Œ©±­ñðñ;:;C@B°¬®³¯°ÝÚ×<:8420¤›š±«ª°®°§¨¬]`_™›¨¬¬©©¬ª«­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV ;  07070100007780000081a40000000000000002000000013d1fe2e70000022e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/42.gif    GIF89a  Æ  —’˜—”™–”š”–›—–›—”Ÿ—•¡——›–˜š“˜›š› ”žŸ’Ÿž§™ ¦š ¤™œ¢Ÿ›£œ™¦™˜¤›˜—§¡¾ÆÀª³¯ÊÏÍ¨¤©¥œ¨§¡¥ªÈÌÐïïðÐÎÑhfj¢ž¡£›£¶³²êééÿÿÿÑÑÐ}~}›¤žš¡žž ŸÇÈÈ¾¾¾µµµ>=<‰…§£¡¦¡£¯«¯\Z^a_cMKO¤¢¥¤¢¨¤¡ª¥ž¨¤£«”˜šŸ§¨ž¨§£¡¦ Ÿ¦Ÿ¡¦ŸŸ§Ÿ£¥Ÿ¥¤ž£¢¡³¥¡·¦¡´¤¤³£¤³¢¨¯¥¥¬¥©¢²§¦°¥¦¬ ©®£ª­¢¬­¥°¬¬¦¥¬¤¥¯¤§¯¨¦²©ª²¬ª°®¬£¥³¦¥±ª¢±®¢°¯¥°±¥¯¶¥®ª±§¬±¨±°§±°¦®®©®±ª©µ¬¬¦­©©®©­¬§°¬ª°¬ª¯«¬±ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       r€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn ;  07070100007781000081a40000000000000002000000013d1fe2e7000003dd000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/43.gif    GIF89a	  ç  ›––›–”ž˜”›”˜––ž––œ—”Ÿ—’›—™ššš™›šœœœŸœ› š–žœ–›—•™™ £ ž¦¤ §¤Ÿ©¥›§£˜§–¦˜¥šš¤™ŸŸ  œ žœž›žœšš™šœš œž›  ž£ ¢ Ÿ¡Ÿ¤œ¦žŸ¦  ¤¦œ™¨žšÆ¾¼ÿÿÿÅÀÀ¨¤£¨£¦§¦¨¨¤©¤¤¦¡£¥ÂÀÅkkkzxz§£§ª¦¤¨©¥ÌÊÌàßáëêëÍÍÍÒÑÓáßâ¤žª Ÿ§ÝáàKPL¢­£«©¯POPlll#"!""!¨¨£©¨¬ª§«ÈÃÈljl}wª¢««¡¨«¡«ª©¦µ²°¨ª¥::9|{x©¦Ÿ§£ ¦£¡§«ª¨««§©¬š˜œ~y}›—œ©¦©¯§¨¯¨¨¦«¯¨ª­¦©©¦¬©¥«¦§¦©§§ªª§¬¯®²­®³­«µ°­µ±®²®¨·®§µ°§³°¦³®©­¯¨­«§®«©®­ª®­­®©¬®§¬±¥ª®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¡ 0€@$P°€A D0B0dÐ°C@„á`‰&N H¡b‹.^Àˆ!c6n¼À‘CÇ=|üx$ˆ!DŠ¼XÊÔÈ$I”¼P²d	“&Nž@yEÊ*UšX¹‚%‹–-\ºxù&Œ˜1dÊ˜9ƒ&š5lÚ8qóN9sèÔ±sO={øôñóP@ ;   07070100007782000081a40000000000000002000000013d1fe2e700000136000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/44.gif    GIF89a  ¥  š–™œ–˜ž•–Ÿ˜—Ÿ•™¡˜™ž—œ•Ÿšš˜š™••”œ•–¢œ™¡œš¤™£—ŸœžŸŸž  ž¡ œ£­¡®¦®œ¨­¨ Ÿ¤ž¡§  ¢¡©©§¨ª©¤¬¥¤­¥«§Ÿ¥¦œ¥¨­­¦¯¯ª®¬¬­ª¬£¨«¤©¨£¨§¤§¨ÊÑÑàäã¢°ªŸ¯©ãáãÿÿÿPQRª­²·¹¯#"!­­¥ÔÔÐÀÁ¾###®³¯ª´¶prt~}„­¬²ÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       :@@@0 DB±`4HD2¡T,LF³át<PH$‘J¦*¥Z±Z®,&›Áh5Û—Óíx=A ;  07070100007783000081a40000000000000002000000013d1fe2e70000021d000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/45.gif    GIF89a  Æ  ’™Ÿ‘›”œŸ’ž¢’ž –¡¢˜ž—™Ÿ–˜—•’•™‘‘™›œ™›œ›žœ˜˜ ™Ÿœ  ŸŸ ž¡  ¤›œ¥š¤œ¥›ž¤ž ¥ž¡¤¥¥ ¤£ ¤¤ž¢¢žž  ž¢›¡œ¡ž›¢Ÿ¢£¡¢¢¦£¦¦¢ªª£«¨¤«¨¥©¦ª©ÇÌÍÞáàÞâßÞâÞŸ¨Ÿ¢©¢ààâÿÿÿOMN¦¦­MMR!!# "#!"#¥©¯¨¥ª¨¦©¦¥§¨§¥¨§¦¦¥¨©²¦¨±©©²¨¤³¨£°¨­±µ¬°³ª®³ª°´­¯±¬°¯­«°ª¬­§­«¨­­§­¯¤®±²¬­³ª­°©®­©°¯¨±°©±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       a€ 	
 !"#$%&'()*+,-./012345¹6(789:;<=>?@ABCDECFGHIJKLMNOPQRSTUVWXY ;   07070100007784000081a40000000000000002000000013d1fe2e7000001fe000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/46.gif    GIF89a  Æ  Ž’˜–™•˜‘–™˜œœ™Ÿ˜Ÿ˜™˜–™•™œ—œ™•š“™›•›™–™›¡¡¥Ÿ ¤££££¡£¡§ª¨¦ ¨¨Ÿ©«›¨¢žª£ž¨¤ž§£¢—§§™¨¤ž¨¤¤§©¥¥¬§¥«¢¤©£¤¦¥ ¦§¥¥©¥£¦£Ÿ©ªž©¨Ÿª¤Ÿ©¤áâäÌÎÒ¢¥°Ÿ¨®ÿÿÿÄÄÅkmo¤¨­±¬±$#"RPS¯­¯µµ¯µ³®µ³°µµ¬¤­³§®±§³³¦´³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 @ ,       B€ 	
 !"#$%&'()*+,-./0123456789:;<=>? ;  07070100007785000081a40000000000000002000000013d1fe2e70000022e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/47.gif    GIF89a  Æ  —¥œ—£œ˜£š—¢˜•¡˜”Ÿ˜•ž˜œ••˜˜•–—–˜•–šš–šš—œœ“¢”§£‘¦¢¦ ’§œ•¦š–¢˜˜ ˜¢¤˜¤£–¤µ®·ßÝà ™ Ÿš ¤™¦¤š§¡šªÖÓÙ×ÖÙLKP¡£­£¢ §ž¢§¡¡õõô’’’KNL£¨¦ ž ›¡½ÀÀôõô.0/szy¨¨¤­¤ ®£àâáÃÃÄ//1£ž§¢ ¥¤¦¥£¥£ÿÿÿtut[][¢¥¤¦©£ÏÏËìëê"!!‹††§¡¦£¢£ª©¢ììë®®¬@A?««¦©«¤¥¬£³²ºVUXokp©¨®§¤­¦¥²ÛÛÚÞßÞ##"Ÿ£œ­²«¬¯¬ööõ•––PRPª¯ª¬¯­¯¬±²¨´áãæ124}€…«­·«­´®°´®°µ–™ MMR¦¤±§¤³¦¦²¤§¯©©®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       r€ 	
 !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKL:MNOPQRSTUVWWXYZ[\]^_`abcdefghijkl ;  07070100007786000081a40000000000000002000000013d1fe2e70000024e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/48.gif    GIF89a	  Æ  ˜˜’—•’—•‘—“˜”Ž˜’˜“‘•”••”˜–Ÿœ•Ÿ”œ™•šš”šš—•™•›š’›œ›˜£•˜£’•¡•–¢–˜¢˜—¦––¨–˜¥˜•£——ŸŸš ›ÆËÈÞàßßâßµºµŸ¦¡ §¡Ÿ§œœ› ßÝßÿÿÿ¹º¸› œ³¶ºÃÃÄ  !889æææfhkŸ ¢·ÇÂhkkEPM•ª¡ØÞÛ,0/˜¥¡ÄÅÆklkx|y¦©£ãáá""!¨¨¤ÂÄÀkkjuuu¡Ÿ¡ààà £¤ÅÅÃlkl{zz¨¡£âàà" ¦œ¢ÊÆÃ„ƒƒ~zw««žììê"" ¦©œ®©ªñððÏÎÏíëíÀ¿À"""¬¦­¯¨®·­µ»º»ÕÕÕ:;:PSQ©°¬£°·¦®¶˜¡¦NTT"$$@CC– Ÿ£­ª¬§³­ª³®ª¯¯¬­³­¬°®«°°«²¯«µ­©°¨ª­©­­¬­®°®¬²²­°±®±°¬°°«±²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ’€ 	
 !"#$%&¨&'(()&*+,--./0&1234&567&89:;&<=>&?@AB&+CD&EFGH&IJK&LMNO&PQRS&TU&VWXYZ[¨\]^_`abcddefghijkØ´qóN9sèÔ±sOž@ ;  07070100007787000081a40000000000000002000000013d1fe2e70000021c000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/49.gif    GIF89a  Æ  –¡¢™£¢› ¢Ÿ £œ¢¤ £‘‘™“’—‘•™”–˜Ÿ•˜˜››™™›˜™ž›˜Ÿœ˜ ÈÊÌÝßàÜßà°µ·—Ÿ¤œž¡ßàáÿÿÿ††ˆ„€‚¡žž  †††jjjtrv ¡¢¢ÂÁÂjjkwty¥¦ª©ÄÅÃklku}| ¬«¢©¢ÂÆÁkkj{zs«ªž¦£¦ÄÂÅzyv«§¢¥©¯ÄÄÈkklxx}¤£¨¦¥¨ÃÄÆkllz€|¥°¨£°¨ÃÊÇzy|¨¤ª¬°¯­®­}#""€|}¯¨ª¤®±§³±§°²¦ª±¤ª´£¨µ°©±¯ª³®ª³®©¯°ª®­ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       `€ 	
 !"#$%&'()*+,-./012´3456789:;<=>?@¿ABCDEFGHIJKLMNOPQRST ;07070100007788000081a40000000000000002000000013d1fe2e700000248000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/50.gif    GIF89a	  Æ  Ÿ££œ¡ ™ŸŸ›¢ ˜¢ž™¢œ—¥œ—£œ˜£š–˜š—˜™”•›”“œ••š™”—œ••˜˜•–—–¢–¡¢–¥¦•¥¦“¥¦’§¥’§¢”§£‘¦¢¦š™š˜ž²¯¶ßÝàÞÝàµ¯¶ ˜¢¤˜¤£–¤ž˜¡ÔÐÕÿÿÿ¯©°¤š§¡šªžœœììì988æææztw§¡¡µ¯¹jij.,.Œ–ÚÙÛ.-/œ   ¯¡†…MQMx‚y¯¸±×Ø× #!£§¤®«¢¬¨£¨§£²²¯õõõkkk>?>¥¨¤¥°¢¨° ²¹«õöôvvu!"!{|w©¥££¢£¸¸¸vuu""!}|w«©¥©ª¤§¯¯ÑÑÑµ¶¶ÔÔÕãâå©©²ª©¯®¢ªPRO­°«´­«³°©$$"#$""##¬°«£©»¤¨º¤§º£ª»¢®¸¤¬µ¥¬³¨­´ª®¶§«¨§§©¤§¬¤§­¤¦­¤§®¤§¯¤¦¯¦¤±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   Œ€ 	
 !"#$%&¨&'()*&+,,--./01234&56789:;&<=>?@ABC&DEFGHIJ&KLMNOPÍQRSTUV¨WXYZ[\]©©^_`abbcôdefghijklmnoàÄ‘3‡N;w ;07070100007789000081a40000000000000002000000013d1fe2e7000003de000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/51.gif    GIF89a	  ç  ”Ÿ˜•ž˜›•Ž˜˜Ž•™Ž’˜–™•˜‘–™šš—œœ“œšš™™›˜œœ™Ÿ˜Ÿ˜š–¢˜˜—œ›˜œ™›Ÿ™˜–™•™œ—œ™ ™ Ÿš ³°³ÞÞßÑÒÓ¡¥¨“™›•›™–™›£¡«ÀÂÈÿÿÿììì‘’–££££¡£¡§£ÌÏÍÑÓÓ8:9ƒƒ„tvu ¨¨Ÿ©«¦¥¨¨dmjqvtÙÝÜQSRt{xž§££ž§¢ ¥ œ¤ßÝà×Ö×!"‡‚Š¤¤§¢¥¤¤¤¥º·¹°¯¯ªª©«¢¤©£¤§¡¦£¢£¢£¢¡  „ˆ…ÛÛÚ\^\£¦£ÆÇÂÌÑÌ¡¬¨ ®¨êìì "!Ÿ©¤±®¶ððñÍÎÑëìî©ª« !#Ÿ¨®¬¯¬³µ³ÑÑÑªªª!"#\^`¤¨­¯¬±²¨´‘Š•C@D#"$#"#c``°¬±¯­¯®°´®°µ±²°²³°´¶°µµ¯µ³®µ³°µµ¬¤§¯©©®¨©­¤¬¯¤®±¤­³§®±§³³¦´³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¢ 0€@$P°€A D0B0dÐ°C@„1‚D	(O H¡b‹.^˜€CÆ5lÜ0#‡Ž<zø0ñH!C†)bÄÄ$I”,aÒÄÉP¢H11…J+&®`É¢ÅÄ.&ºxù&Œ”cÈ”1sM5kØ´qóN9sèÔ±sO={øôñóP € ;  0707010000778a000081a40000000000000002000000013d1fe2e7000003ef000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/52.gif    GIF89a
  ç  ••™š–™œ–˜ž•–Ÿ˜— ”– “—Ÿ”™œ“™•›Ÿ•–Ÿ•™¡˜™ž—œ•Ÿ”š•™•š—œž™™œ›šš˜š™••”œ••œ–•œ—‘›—œ–––¢œ™¡œš¤™³·®ÝßÛ¯´­–¡—™——™˜ž˜žŸœžŸŸž  žôôôÿÿÿ†††‚ƒ…¡¡ ¤¥ ž¥ªœ£­¡®Ó×Ûjklqy€—¥°™¤¯ž¨ ¨ ´¸³ÚÚÚjjjwvt¢ž¡¢Ÿ§§§©©§õõõäæäklkkkkvx{£§ž¤¨¬¥¡ÙØÔGHE€}kkjz|u¥¨¢¥®¡¾¿¹§§¦#""¾¼¾llk{z­«£««¦ßáã¥¦©¥£ª£¤©ËÐÓÃÅÅµ¶µÍÎÎQSSv‚{ ²¦¨¨¬nkoOORPQRŠ‹ŒlllCACŽ’®­¯®¯§®°¥®®¦®¬§­­¥~}|#"!€z|®¥©­©©°´¨±²ª°±­®±¯®³¯«¸®«¹¨«¸©¬»®¬¸°§¶µª´¶­°´¬«´­¬²­¯³¬­­®¬­±©§±¦ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ³ 0€@$P°€A D0B0dÐ°C>€!b‰&N H¡b‹.^Àˆ!c,jØ¸#‡Ž,x°èáã B†)ÂÂÈ$I”,aÁ¤	'O D‘Âb
•*,¬\Á’EÎ³,¶péâå0aX„3†L3gÐ¤a¡f›6nÞÀ‰#g:vîàÉ£gŸ>~þ 
$h¡B†!J¤hQ@ ; 0707010000778b000081a40000000000000002000000013d1fe2e700000249000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/53.gif    GIF89a	  Æ  š˜œ›™œ™œŸ›˜ž˜œŸ˜ž ™Ÿ  Ÿ£ œššœš™ž™œž˜Ÿ¢—ž¤šœ£šœ¢š˜ š •¢˜‘£™“¤›”§›–©š˜¦˜š¦™™¥œ™•™­¨¯ÜÚÞÝÛÞÝÜßÞÜß›–¡™–Ÿ˜•Ÿ  ¤À¿ÄÿÿÿJHK›¡™š ™§©ÑÖ× !     žœ ¡œ¥œáÞÝµµ´ààÞ¶¶±¤žš¥žš¢ ™š¡©¨®°— §¨¬£ÙÙØœœ;99SRSÎÍÍ|yz© ¤§«¢£ªŸ\_W\aW—œ‘×Ù×?AA¦§¥ÊÍÏËÌÒ¤¤­¦¥©ëëì!"#¦®¬­¸²ÎÐÏëíìªªª"#"«­¨­®¯³²³ÎÎÎ_`^«¨§­¦§¬ª¨ŽŒŒB@C#"###"`b_¬³©«±©±½®±¼«³ºª²º­³´°±´´±²µ³³µ±±´°©ª²©«°¬©¯ª¬°¦ª³¦¯±¤¯¯§³°©³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%&¨&'()*+&,--./012&3456789©¨:;;<=>?@&ABCDEFGHI&JKL&MNOP&QRS¨TU&VWXYZ[¨æ\]^_`abcdefghijklmnoàÄ‘3‡N;wð ;   0707010000778c000081a40000000000000002000000013d1fe2e7000003f0000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/54.gif    GIF89a
  ç  œ¢ŸŸž›¢ž› ž™œŸ˜œŸ—˜£”•ž–‘›”“ “£ ”¢Ÿ“ ¢“Ÿ£•œ¢–ž¡–ŸŸ–žž˜œ—ž›œ›œš›œ›šœœœœœ›™›œ™™œœ•œœ–•›•¢§§ÜÞÞÝÞÝ—Ÿžš¡Ÿ¢› ¢›™žšœžÞßßÿÿÿš››IKLž¡¢  ¥¡  œŸ š¾À»Ö×Ö!ekcž§—¥– ¦— ¤¤¬­¯ôôõƒƒ„hhj¦¦ž¥§§¥žª¢ž¡¨ÔÔØ½½½¥¦¤§©£¤ª£¯¯¯ììíjjkƒ‚ƒæææxx|§©ÈÇÆllk210}{w®­«klk—œš¦¦¤ÆÈÅ„„„~€~¨°®ÎÓÐlll}~~¬¯«¯¬¦ðððÐÏÏååâïïî#"!~y°¬¤¨©©µ´²ÑÑÑÅÅÅ;;;334²¯±°¯¯ª´ª©¶ªš§š@F@"%""$"RSP¢£ž¯³¯®­´¬­´­®°¯®­²°­±°«¯­¨°¯©®¯©¯±©ª©´­¨³®¦¶¬§·«¦¸©©¸©¦¹§¤¸§¦»§§ºÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ´ 0€@$P°€A D0B0dÐ°C>€!b‰&Nœ@‘BÅ
-\¼€C†Š4jØ¸#‡Ž*xôðñH!CT(UA¤ˆ‘#HT$Q²„‰Š&Nž@QEÊ**ªX¹‚EE-[¸¨èâå˜0*ÄŒQA¦Œ™3hÒ¨Qº†M7oàÄ‘3‡N;wð¼É£gŸ>~þ 
$h¡B†!J¤h£€ ;0707010000778d000081a40000000000000002000000013d1fe2e70000023c000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/55.gif    GIF89a  Æ  ’–£—˜¢”›Ÿ”œž”žž˜Ÿ¢–¢ ˜¢ŸžŸ—šŸ—š —œ¢˜ž ™ž£™ŸŸ™žŸ˜ŸŸž››Ÿœ›œœœž››ž™œœšœ™›ÈÊÈßàÞßÞÞßÞßßßßßÞà›¦˜¤ßâàÿÿÿIHM •¥¡£“LKE! RQOœ›š   ˜ ¥ž § ¢¨ßâßQRQZ\Y¡¢¡¥­¡£¨£®±­××× !!€†„œŸ¡¡ž§ ¡©Ô×ØQRS=?A¥§¬¥¥ª›£®§­¶ììí  #‚†‘Ÿ¥®Ÿ¨«¥±¬ÍÒÑ„„„111¦¬¤¨¬¢¦©¤³«¢öõõ#! qmk¬ª¥ªª¦ÑÒÑ¤££#""«¬¨ªªª¨«©¨©«°ª­qnq""#\_b§¯²¥­±¦«±¦­´­°°¬±±©²±ª±®¬²°­³®®³®­±°¦§º¤¦·¤¦¸¦§·¤¥µ£¤µ£¤²¤¤¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       €€ 	
 !££"#$%&'!()*+,-.!/01234!56789:;!<=>?@A!BCDEFGH!IJKLMNO!PQRRST!UVWXYZ[\]^_`abcdefghijklmnopqr ;0707010000778e000081a40000000000000002000000013d1fe2e70000024c000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/56.gif    GIF89a	  Æ  ž¢›¡Ÿž Ÿž¢ŸŸ¢œŸŸš¢›š ›˜ž––š™žš—›š”—›•—™•–˜––š––™™“œ›—›“™œ•–Ÿ–™•™Ÿ–˜žš™ š˜¢šœ£™™ Ÿš£±µµÞßà²µ³žŸš¢ š¡Ÿ™—¢±®¶ÿÿÿ›¡žœ Ÿœ£ žßßß888889µ´µ„€‚¡š¤ž¤¡ÕÕÕjjk¶µ¸›››KIJžž–œ£¥ª®ïïð88:ZY]££¥ž«©ôõõÍÎÎ¢££”œœ¡«¬ÁÆÇ‹ŒŒ ""<@@ÓÔÕXZ`¡¡­ÇÆÀ„„ƒooj¨¬¢ììê"#!¬®¦§­©ðñðÎÐÐëííªª«""#¨¬°©¦®±±¶ºº»©©ª!!"^\^©¨¨¦°±§²³š¢¦ORS!##"#"]c`¥±¬¨¯±°±­±±®³­¯´®°¯¯­®®®°¬°®¬­®­­§¦®©©­ª¦§ª¦¨©©©¦­§¨­©¨¬ª¨¨©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%¨%&'()*%+,%-./01%23%45678©9:;<=>%??%@ABC%DEFG%HIJ%KLMN%OPQR%ST%UVWXYZ¨[\]^_`abcdefghijklmÜ¼GÎ:uìÜÁ“' ;0707010000778f000081a40000000000000002000000013d1fe2e7000003ee000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/57.gif    GIF89a
  ç  –—˜˜˜——˜˜•™™“›™‘žš”œš•Ÿ™–Ÿ–™ž•’ š‘›•˜•Ÿš–Ÿ˜–œ˜•—“œ˜’ž˜•›™œ¤˜£™¦¡¥› ¥™¢˜ž¢—œœ™œ ˜œ¢˜¢œ¢ÊÈÈàÝÝßÞÝ´±³šžšœšœš¡ ›œßÞßÿÿÿÔÕÖž¡ ¡ž£¶³¶ÃÃÃ   898µµµsus £¤ž£§¼¾½jkjGNH˜¥š¯»µhljzŠ‚•¨¡½¸¹zyz²²²âããRSSz}~§¨ª¡ª¨äæä×Ø× # ‡‚¥¨œ££­¯¯¶ª©ªÎÍÍ:99A@?©«£«©£«©¤®«££œ—ËÊÉ…„„$"!¦œ—¶«¥¶¬§©¦²¬¥³¾¶ÄØ×Ù#!#rkq³¤²³¥¯°¦®¢¬§¢«¥ôöõ9:9?AA¦¬¬§©«©§ª¬¥¬©¬­©­¯§²±144!#%˜Ÿ©§¯¸§±¶§¯¶§®º®ª«­«ª«©©­¦®®¤¬ª¦¬­¤®®¤°«§®ª§±­¬©­°­­­¬±­¬³¬¬´¬©²­ª´­­±­®²¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ² 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤PÁRÅ
-\¼P#†Œ*hÔ°qCŽ:v¨àÑÃÇ3€¢b‘"FŽ´T$‰’%Lš8yÂJ)S¨T±rE–,Z¶péâå‹
0aÄŒ!SÆÌ4*Ò¨YÃ¦›7pâÈ™C§Ž;xòèÙÃ§Ÿ?€	D¨¡Cˆ)ZÄ(  ;  07070100007790000081a40000000000000002000000013d1fe2e70000020e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/58.gif    GIF89a  Æ  ”žž˜Ÿ¢–¢ ˜¢Ÿ›£Ÿž ™ž£™ŸŸ™žŸ˜¡œ—œž››ž™œœšœ™›™™ ŸŸ £›¦˜¤™Ÿ¤ž¡Ÿž¤›¤ •¥ž–¡¦ “¤–¡Ÿ— ˜ž—¶ºµàâß¶¹µ¡¢¡¢¢¤ÀÀÂÿÿÿ†ˆ‡€ƒ…—›¢Ÿ¤©uy}!!"yy}¢¤¨¡¢­ž£°Ÿ¥®Ÿ¨«¡ªª©ª¨¦¬¤¨¬¢¦©¤©©ŸÁ¼¹ããá¾½¹ªª¦§«¥ÇÈÅ‰ŠŠŠ‹§¨­§¯²y‚!"#z„¦«³¬²°­³®®³®­±°­°°¤¥µ£¤µ£¤²¤¤¯§©®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       R€ 	
 !"#$%&'()*+,-./0123456789:;<$=>?@ABCDEFGHIJKLMN ;  07070100007791000081a40000000000000002000000013d1fe2e700000136000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/59.gif    GIF89a  ¥  ”“ ’–¢‘™¢’–£—ž›™Ÿ˜šŸšžŸ—œœ–›–ŸžœŸŸ ¢›¡ ›Ÿ š ¥¡££Ÿ¥¤ž§£ ¦— ¥–¢¢“¡£“ÉÐËßáß¡¥¢ ¥žáãàÿÿÿNRK¥­¡©JJN !¡ž§¦¦¤¢¢¦Ÿ¢©›£®¬¯«©®®¥²ª¥±¬ÓÑÌåãá¶©¤³«¢åääRQQ­®¬¹¸¸##"°ª­ÒÔÏÀÀ¼#$"­°°§§ºkkyxx‰¦§ºÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ? ,       :@@@0 DB±`4HD2¡T,LF³át<PH4"•L'TJµbµ\/X'&›uh5Û—Óíx=A ;  07070100007792000081a40000000000000002000000013d1fe2e7000003de000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/60.gif    GIF89a	  ç  œ“™•››”›š˜œ›™œ™œŸ›˜ž˜œŸ˜ž š—œž™š™œœššœš™ž™œž˜Ÿ¢—ž¤šœ––œ˜ •¢˜‘£™“¤›”§›–©š™——™˜™•—™•™–™—œ™’š• œ– ¡¡ ¤¥ ¥¥¢  ¤ Ÿ§£›§¤œ¦¦ž¥¤™¥—¥°™¤¯—£«™§©™¤¦—¤¤ÇÊÍš¢¡  ¢ž¡¢Ÿ¥¯¨§ÌÈÇôôóÿÿÿihf¡¡›£§©®²ÒÕÙ¹»¾CEH!— ¥×ØÕóôó·¸¶::9#!!c\\—š«¨¨ÚÙÖ¢£¢mqk—œ¥®œ¥«Ÿ¥¬£¥£ª›œœÏÐÔ®®¶¦¥©¦¥«¡±¨ ²¦…“Šmrpƒ„„æææ˜ž›¨­©®¬±®­¯¬®±­®¯œnnq"""««ª®¥©­©©­§¨­¦§¬ª¨¬ªª­©°qnq®®¬¬»®¬¸°¯º®±½®±¼«³ºª²º­³´°±´´±©§±¦ª±¨­°©ª²©«°¬©¯ª¬°¦ª³¦¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¢ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?€áÁCÈ"EŒð8‚$‰’%Lš8!úJ)S¨T±r…(–,Z¶péâå˜0<ÄŒ!SÆÌ4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏ@"TÈÐ¡€ ;  07070100007793000081a40000000000000002000000013d1fe2e7000003eb000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/61.gif    GIF89a
  ç  ‘œ—›™’—–•–—•–––”˜˜–™••™––œš™•™˜“™˜™šŽš™š˜“š›˜š¡˜™¡˜œŸš—ž“”“—œ”˜ž–™š™››– • ¢•Ÿ£™£šœŸ™ž š¡£¡ž ŸŸ šœšŸšžž¤¡Ÿ£ŸŸ¤¡ž£¡ž £ž¡š š¢›žŸ Ÿ § ¡¨¡¢¨ £¤ §£¦ž § ¡¦¡¥£¤¦£ÄÂ¾ÿÿÿºÁ¹—¤˜–£˜¸¶µÒÒÑµµµµ¶´µµ´RSQyzv¥¦£²²³°³²ˆŠŠˆˆŠˆ‡Š††Š]^a„ˆ›¢¤ÆÇÄ¦¦ª—–œ£¤ª·«²ª¤¨ljlmjkmjl:8:zt{¤Ÿ©Ÿ¥Ÿ—‘uyuwzxw|zu|zv}zv~y—›˜§©¨³¨¥µ§¢²ª¦°¬¥²©§°©¨¯©§²«¤°®¤¬¯¨¬­¯°°°¯°°°±±®´°¯³®¬±¯¬°²¨¯´©¯¶°£ª¯§©«¦¦«¤©°§¦°ª§®ª¦®©§­©¬©«®ª¬®ª©°¨«®ªª¯®«­¯ª«±¬®°©ª°ªªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ¯ 0€  H `ƒ@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c6nàÈ¡cŸ@{øø$ˆ!Cˆ)bä’$J–,aÒÄÉ(Q€•2…J+W®`ÉrEË.]¼|FÌ2eÌœA“FÍ6mÜ¼GÎ:uìÜÁ“GÏ>}ü´ù( A„
:„(‘¢EŒ ; 07070100007794000081a40000000000000002000000013d1fe2e7000003f2000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/62.gif    GIF89a
  ç  £ œ¦¤œ£ œ¢ŸŸž›¢ž› ž™œŸ˜œŸ—˜£˜ š–¤•¤ž“£ ”¢Ÿ“ ¢“Ÿ£•œ¢–ž¡–ŸŸ™¥œ›¥œ¡œ›œš›œ›šœœœœœ›™›˜•Ÿ”–Ÿ“–•›•–œœ–œ˜š—Ÿž™š ™œ¢š›Ÿ™žšœž›žŸ›¢¡¡£œ¡£µ¶²·¶³¡Ÿœ  œŸ šž ™Ÿ¡™¥™œ§—œ¦™ÁÀ»ÿÿÿäääµ¸¸¢£¥¢¢¨ ¡§Ÿ © ¢§¦¦— §¯²µÍÍÍññòÊËÎ ¦§ ¥§¢¢¤¦¥¥© ¤©¢¥jijiiiîîî¶²·¥¥£ž¥¦§¥©¦£ª§©¿½¼æååæææ_^]ŠŠ…©©¡¦®¬ÈÉÈìììòòò•••"#"132Š‘¨¯§ÇÈÅââálki#""211qpn±°¨¯°¨®­§½»ºš——"""@@@Ž‹­«ª«­«¬°­¯«®¯­±«±©Œ“‹Ž”Šª´ª©¶ª¨·¨§¸¨©¸¨¬µª¯±«±±´°®µ«®´®­´¬­´­®°¯®­²°­±°«¯­¨°©³°¦°­¥µª©´­¨³®¦¶¬§·«¦¸©©¸©¦¹ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ¶ 0€@$P°€A D0B0dÐ°C@„!b‰&N H¡BÅ
-\¼€CÆ5lÜÀ‘CÇ=|ü DÈ"EŒì8‚$‰’%Lš8yEi)S¨T±rK–Z¶péâå˜aÄŒ!SÆÌ™hÒ¨YÃ¦›7pâÈ™C§Ž;xòèÙÃ§Ÿ?€	D¨¡Cˆ)ZÄ¨‘£G"IšD©’¥K ;  07070100007795000081a40000000000000002000000013d1fe2e7000003e0000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/63.gif    GIF89a	  ç  Ÿ £œ¢¤ £ž £› ¤žŸ£Ÿ££œ¡ ™ŸŸ”–˜Ÿ•“–’˜“œš–˜š—˜™”•›˜™ž›˜Ÿœ˜ ›œ£œ› ž˜ ¢–¡¢–¥¦•¥š £—Ÿ¤ÈÉËÜÞßÑÓÔ£¨©š™š˜žœ™¢žœ¢ßÞßÿÿÿìììœ˜ŸŸ–¢¡˜ ªª«ÖÖ×  jjj¢¡¡”¢ žª¬®¸µº889<=?©©¯µ´µWUZ›—ž¤ª§’›šu~}¡§¥ôöõQSQLRK¤®¤§¥Ÿ¨§«ªžöõôvvt#" ŽŠ†¨§£¦¦¡¦¥¡ÇÄÁŒ‹"# yw¨° ©°¡¥§«¤¤ª¸·»ÒÒÒQQSkij£¢£¤¤¤©¦¤£®¨¦¯©¹Á»×ÚØtzw‰““§¯¯¨³¯ª²«¦§«¦¥©ÅÂÆŠˆ‰†‹®¢ª­¥«¬§©®¬©®©ª¯¨ª„|$""†~}´­«³°©²³©¦ª±¤ª´£¨µ¢«¸¢¨¸¡ª»£©»¤¨º¤§º®©¯°ª®­ª­©«®©ªª©ª¨§«¨§§©¤§¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¤ 0€@$P°€A D0B0dÐ°C@„1‚D	(O H¡b…	-\˜x#†Œ4jØ0qG;xôðaâ B†)bÂÈ$I”,ab¢‰“'P¢H™B¥Š•+X²hÙÂ¥‹—/`ÂˆC¦ŒgÐ¤Q³†M7oàÄ‘3‡N;wðäÑ³‡O? 4ˆP!C ;07070100007796000081a40000000000000002000000013d1fe2e700000412000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/64.gif    GIF89a  ç  œž˜œœ•™œ–››–›˜–›™˜™—™—–—™•™˜˜›–›ž–›œš˜š›œŸžœ ž¢žŸ£œŸ¦› £šŸž—Ÿœšš™šš›–š™¦›©œš¥›˜£šœ£ž›¡ š ¢›¢£œ ¥ž¡¦ž £œ £—¤£›¡¡¤ª«ÞßÞÿÿÿóôôÐÕÓ–Ÿš™Ÿ—˜œ˜—Ÿ™Ÿ£¾¾ÀÁÁÂ\]_ 888¡¢¢ììì¡££¤› ¤œ £¡õõõ“––898ÌÍÍÛÚÛ¿¾ÀÚÚÚµ³µ¡¡¢ž™ žš ÊÎÇßáÞFFEñññÑÐÔ_\cììíWW`žž¯ßáã™žŸ­¯°stu899æææ´µµGML./0  ¤ßãåˆ‰‹ÑÓÔ !"xx€èçêºº»aae! "¤¢«ÑÍÏ±¯¯ÅÁÄÎÍÎìêí•“•œšžÏÎÒ£¤¨±¯²~¿¿¿éééÞÞÞ{{\_^¦­¨©§°»¸¿°®µ>>B! #MJP]]_!!"=?A™œŸ©¬©¯·§¬´˜š »»¼Ù×áŠˆ˜§¨¶¨¥±¥¨°¬£¯§£­¥£±‰ˆŽNNP!"#]^a©ª°ª¬±­«±±©±¯¬®®«ª®§¨¬§¦­«¤¯¯¦­°ª¯°«®®ª¬°««®®§±­©°¬ª³©ª³ª­³ª¬®®°®©±­ª°¬¨±®ª°®«°±­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ö 0€@$P°€A D0B0dÐ°C@„1‚D	'P H¡b‹.^À@CÆ5lÜÀ‘CÇ=|ü DÈ"EŒA’D%
%K˜4qòJR¦P©bÅ,Y´lAÁ¥‹—/`P„3†LfÎ @“FM˜5lP´ùÂÍpâÈ™C§;wðäÑ³‡O? ät¡B†!J¤h£F =‚IÒ$J•,]Â”IÓ&N<}JÔ(R¥LB•*  ;  07070100007797000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/65.gif    GIF89a  ç  –Ÿš˜˜–™•›œ’œ™”œš“™˜’˜›™š™™–Ž˜ ™ Ÿ› œœ –š –˜¡˜™ —™ –™œ—œœ˜˜œ—š™–šš–˜–››š››œ›››œ›™›šŸ›œžœž›œ œœœœœ¢™§£—¦ –¥ —¤àÜáËÆÍ œ ¢¡¡¤¡Ÿ¥£ ¤ £©§¥¤¥¢¤£ £ÌÉÊÿÿÿhbdžš›ššœ›™šœ–•ª£¦ª¢¤¨¢¤ìêëƒƒƒ¦¤¢¤£¡££¡ ¢¡ž¢¡ £ž¤ ³¶°¦©¨ÍÍÍbidš¤œ¢ž˜¢¡œ Ÿ¥¡¬§£ªÖÕÙQRR´¶µfkf›«›ž­›ž¬¬¤¥¤­­«lkjËÉÉµµµŠˆ°§¤±¤¢±¥§©¥­ÏÍÏfab¯£«¯ ¨°žª£±¡ôöõjlljlk›œœ”—›¥¤ª¥¤©½¿Áºº»!"#y}{}{~~æææ`_^­­ª«°¬ìíìRSSNOQª¨¬©¢¬¬£°Û×Ývtv¬¦®¬©¯¢­°?CC!##‹‘ª¯®¬°³¬°±¬´°`ca###€€~¬¬¯§±­§°¬¦²ª¤²¤¥³§¦³©ª±ª¬°©­²­®²«®±ª®±­²ª©±©§°§¦¯¥¥¬¤¤ª¦¦ª¨¨¬¬¦¬ª¦¯ª¥±§¥±¦¨ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Õ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒ6nàÈ¡c>lþ DÈ"EŒ¡„F%K˜4qòJR¦Ð RÅÊ,Y´ØÜÂ…F/_À„3Æ¦[dÊ˜9ƒ&5jÖ°¡!¢›7phÄ‘3‡NvîàÉ£‡Æ>}üüD# A„
:„(‘¢EŒ9z)’¤I”*Yº„)“¦Mœ:yú*”¨Q¤J™: ;   07070100007798000081a40000000000000002000000013d1fe2e70000024a000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/66.gif    GIF89a	  Æ  ”œœ•œž™Ÿ›œ¢žš œž¢›¤›ž¢™›žš˜ š™Ÿ™ ŸšŸ¡Ÿ Ÿ¡¢££¤Ÿ¤¦ £§žœ™™œ›–œš˜š™–š™—šš™œ››š˜™ËÏÎÞâáßãâÞââ¼ÆÂœ§¡›¦£›¨¡§ ßáÜÿÿÿÁÃÀ£¢££¡¡ ¢ßáß !QRPæææ[[X§§›£¦›àßß!  ¬ªªäâãççç"!¤¤§¤ßãàQUU-01š¡«ž«äáãµµµÎÍÎœš«¨ªª¨¨åàá# !PJN•’”vtu©¡§©¢§ááá! "¨¡§ÏËÎkjk{w|©¤¥âæâµ¶µâããîïî #"x}¢°©åääØ×Ø::9210©¨¦¦¨¤«¬°OPQ""#@ACš¢°¨±°§²°®¬¯®¬¯®ª®«ªª­«­«­±ª¬°¨ª²©­³­²´¯²´ª³²©²°©¶®®¶®°´­­¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   Ž€ 	
 !"#$%§%&'()*%+,-%./01%23456789¨%:;<=>%?@%-ABCD%EFG%HIJK%LMN%OPQR%ST%UVWXY¨Z[\]^_`aôbcdefghijklmÜ¼G™9têØ	 ;  07070100007799000081a40000000000000002000000013d1fe2e700000413000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/67.gif    GIF89a  ç  ”™œ“š‘˜›“››–•™˜•˜——š™œ›˜œž››žžœœœ›¢¨™£¤˜ ¦–ž£˜¤•˜¡›œŸ˜š ššŸš™ž˜šŸ˜˜–—˜œ˜˜–•œ™˜œ˜–›•–š™–œœœŸŸœŸ£œŸ¤œ£œš£š¥«§ÈÊÉÞàßÞáßÊËÊªª© œœ¢œŸ ¡¦ žŸ¢¿¿Âôõõÿÿÿíîî´¶¶›£¢¡¡£ž²·³ïðïŠŒ‹  ! OQQæææ”‘”¢ ¡ŸŸ¡áààRPQ0/.jhh¡¡¢¢ž……€..- „€ ¡Ö×Ø "|„Ž›¡¯™¥­˜¥«–¦«—¤¨™¦§š¤§µ¶¶@AC§§®¢¦ª ¤ª£« ¡¬ž©Ÿž¨žŸ¥žœ¨ëêíaac«¨­¨¦­§¨®¦«¬¡«¬¡¬§£­¨¡®¥Ÿ¯¤ÏËÎµµµ¢ª¦¤®§¦°§¨­ØÙÜâãæ¹¿Å¦­³©¯¯¦®¨ÎÏÎÜÝÜáâáõõõÉÈÈNLL‰ˆ…©¥¥¢©¬¡­­‡Œ‹ÍÎÎëëìŒŒ""$NOR¦¬­««¬¶©´³ª´ƒƒDCD$$$#$#253ryr¯½°®»¯¯½³±©ª®ª­°¬®±ª®¯©­®ª±«­²©¬±§«µªª·©ª·«§´ª¬²­­²®¬³®¬±¬©¬¬¦¬ª¦«©¦§­¨§­§¨¬¥«¦¤­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       × 0€@$P°€A D0B0dÐ a‡>€!b‰&N H¡b‹.^Àˆ!£¦Œ4jØ¸CF;xôð!ã Bd!RÄÈ$I”,a"£‰“'P¢H™B…J+2®`É¢e—.^¾€	#FÆ2eÌœA“FÍ6md¸y'Žœ9têØ¹ƒ'OM={øÈèãç @‚ªYÈÐ!D‰-ZÄ¨‘£G"IšD©’¥K˜2iÚÄ©“§O B‰Eª”©S¨R©ZÅªU@ ; 0707010000779a000081a40000000000000002000000013d1fe2e7000003ec000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/68.gif    GIF89a
  ç  —£›• ›–ž›”›œ•Ÿ›–žš“šš–™—–•˜™’˜— ˜™¡–— —˜–™œ“˜š–š˜–šš—™œ™˜¦¤›¥¥™¥¥™¢¤›¢¡šŸžœŸŸœ Ÿ ›žÈÈËßÞßßÞàÞßßÊÊÌ§¨«ŸŸš› ž  ŸáàÞÿÿÿºº¹¦¥£¥¥¥¥¦£áàß!     ƒƒƒæææ“–– ¡¤  ¤Þáà¢¤§‰Œµµµ…ˆ„ž¥ Ýáâ ""¡¨§¡ª¨¥ª§åååNPL§«¥àßâ! !¡¥¨¢¥ª¡¢¨áßã  "¢¢§Þäá # ¡°¤¥¯¦±¶°ëëë""!«¬¥âäâ!!"¦¦¬®¬´ááâƒƒ„002¥¦±âãââããØØØ"##qqqª¬°äãåœœ$"#C@A¯¬«­°«±¹³RUS#$$##$BBFaaf°¬³°ª°³¨±ª­´ª©³®ª³¯©°­«®­­­°®­¯¯±®®³²«®¥­¯£«³¤ª´¤«±£¬´¢­³£­²¨¬°¨«±§ª±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ° 0€@$P°€A D€ a…
.`È a‡>€!b‰&N X¹2…Š,Z pñF2fÐ¨âÅ7PàÈ¡c
=|ü ‚"ˆ!(ˆ1r	Š$J– `ÒÄÉP¢H™‚‚J+WP`É¢e‹P.+»xù&Ë.bÆ)cæš4iÔ¬aÓÆÍ8qäÌ¡SÇÎ<yôìáÓÇÏ@
 ;0707010000779b000081a40000000000000002000000013d1fe2e700000223000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/69.gif    GIF89a  Æ  œ™˜Ž™•–––˜‘›™š˜“™š›œ˜œ —œž•Ÿ– šœž™›œ¡¢¢ ¡¦¡¢©£¨›¦©˜¥§™¥¬áàßàáßàáàßáß¦ŸÿÿÿJKH›žžµµµ  "  ! !  Ÿš KOJž¦žž¦¡ž¥¤¢¦¢æææÄÃÄââáãáâ¨ ©« §JOPž¦¯¶µµ#!"#""¯¨­µ¶¶ORS¨°®©°¬©¯«¨®¨ÅÅÆääåãâä©©­­¨¬POS¬¨°¸¬¯%"#%""$""%##´­¬±¯°²®°³­®³¬®°­«­«¬«­®¬¨­«§¬­¥ª­¦ªª§ªª¨§ª¦¦ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       g€ 	
žž !"£#$%&'()*+,-Ÿž./01½23456789°:;<=>·?@ABBCDEFGHIJKLMNOPQRST ; 0707010000779c000081a40000000000000002000000013d1fe2e70000022a000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/70.gif    GIF89a  Æ  š˜™ž˜— –—ž––••œ™“œ™’–™˜ž–™š™™˜™š˜–˜š˜–˜˜—¢¥–¢¢—££™£ ›Ÿ Ÿž šÆÌÈÝàÞÞßÞßÞÞŸ›žŸ™ ÞÞÞÿÿÿHKK ¢šàÞà  ! !!!!¤£¨ßàÞ  ž¡œ žœŸ¡š£âàâµµµàÞã¥žª¢©ààäLMP¤§§ââä!"#""##"#­¨°ããã"""¨«©¬¬«­«­®¬¯ããäª§­­ª¯¬¬­¬­©äâã#""³­«²­­±®°¯¬°³°­STR$$#´´±±²²¬±±®³±ª­²«®°«­°¦®²ª­´®®µ­­·¬ª©¬®¨®¯ª¬¬ªª®«ª¯«ª®ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       n€ 	
Ÿ !!"#$%&'()*+,,-./ 01234546789:;<=Æ>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ;  0707010000779d000081a40000000000000002000000013d1fe2e70000041f000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/71.gif    GIF89a  ç  Ÿ™•œ™•œ˜˜››˜šœ™š™™›Ÿ™œž—˜ž–›”œ–›•˜œ”š—˜–¡•• —™ –™£—–¥™–¦—•£—˜¢•™ ––¢™˜ ¢œ›žŸœœœš›˜šš˜›œ–”›˜“›’›š•œ—”—–ž•˜¢— šœ –œ¢•œ·¯²ÓÒÕÝßßÈÈÈžœœ¡œœ¡š£œœ¦›¢¦ž ¨œàâàÿÿÿíîî¾Á¾œ¡š šŸš¦§¦ØØ××××QRR "!ƒ„ƒ‰ƒš¦ž¥œ›¡Ÿììì  <=>ƒ……£¡ž£†ŠŒjkj889“—¥¢Á¾Èƒƒ„//1¢£©¥¡ª¤£ª££­¥¡¬ˆ‡{x}š—Ÿª¥«ÅÁÄlkjmlhÅÁÀ¡¨§¢¤¥´­¹ÎÍÎy}¾¶»ÓÒÒµµµÍÍÎÍÍÍ !!£«¨¦©«ÜÝÞ”•”¥§¨‚‰ŠJMN]aaêëëjkk>?? ¥£®¬¨¹¶²ëëëïïîäåàääá»»»"#$|€„ª­´®©µ¯§· ˜¦Œ××Økkl!!#LNP¥©§¥©¦±­±®­±¯ª±¯¦³oksA?D#!$"!$B@D}}…ª©³©©±«§±«¬´ª­·ª­¹§±½ª°»¦²»¤´¸¦³¹©³¹ª³»«³¸«³µ­²·§°§§¯©§®«¥­ª§­¨®©§¯¤«­¦®±¦±³¤°±¤³²£´³£³ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ã 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚‹.^Àˆ!c6ræ¼#‡Ž<zØðñ 9…!RÄ†‘#H’(YÂ¤‰“'P¢Ø2…J+W°dÑ²…K^¾€Ñ©3Œ˜16È”1sš46Ô¬aÓÆ7pâÈ™CÇF;wðäÑccŸ>9ýüHÐ B…Èä4tQ"E‹5rôR$I“(U²t	S&M›8uòô	T(Q£H•2u
U*U«Xµrõ
V,Y ; 0707010000779e000081a40000000000000002000000013d1fe2e700000243000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/72.gif    GIF89a	  Æ  œ™–™›•–ž’–›•™œ•˜œ”˜™•–›‘“™”š›žšœœ™ŸŸ™›Ÿš™¡š˜Ÿ–•¡—˜Ÿ••£•™“ž™’œ˜“››–™“š”–œ•˜—–›ÞßÝÅËÉ˜¡ —œ —¡ÜÞàÅÇÊ”›¡–™¡ÿÿÿÃÃÂhhdž¥œž¥ ÃÄÃfki¦¢´µµHMKš¡¤ ¥HKM §´µ´HMHž¤ž¢ IMJ§ æææÄÃÄàààßàßµµµIKL™¡¦MNL¦¨¤ #"MQL§«¢MMN¤¥«¢¦«µµ¶ONO¨¦©µ¶¶JQTŸ­² ­±LPQ£ª¬OQO«¬¦««§MQR¤ª°­®®##"RPP²©­±©¬´©¯#"#QNQªª­¯®¸®°¸¬±·­°µ«¯¶±­¶­°±°­°¯¯®¬¬­°¬­¬¬¬ª©©ª¬¦ª¬¤§ª¦¥©©¦¬ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ‡€ 	
 !"#$%&'($)*+$,-./¯01$2345¯67$89:;$<=>$ÈÉ<?@ÄAÏÄBCÄDEF$GHI$JKLMÜNOÄPQRÜSTUVWXYZ[\]^_`abcdefghijkØ´qó& ; 0707010000779f000081a40000000000000002000000013d1fe2e70000020c000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/73.gif    GIF89a  Æ  “•Ÿ’”ž’“Ÿ’Ÿ•¢˜•¤™™¢—™ž•šŸ–›œ––ž“š “˜Ÿ•—™–ž¯°·ÞÞá³²¶œœ¡¥¼ÂÂÿÿÿ„‡ˆ€‚†™ ¡»ºÁjjksox –¤ÂÄÅklkyzx¨¥¥ÁÀÀxtx¡Ÿ£ÄÈÃw€x¢¯¥ÆÆÂlljz~v£®¢ÆÅÁllk~zx©¨¥ÂÅÆkklz}|¥¨­ÂÉÎjmmxƒ…¥­­¥®®y‚}!##u€¢±¬ª¬®¨«­ª¬±©­°««²©¬§ª¯¨ª¯ªª±­ª°®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       P€ 	
 !œ"#$¡%&'()*+,-./0123456789:;<=>?@ABCDE ;070701000077a0000081a40000000000000002000000013d1fe2e70000023f000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/74.gif    GIF89a  Æ  ‘‘£‘’ ’ž’–Ÿ‘– ”ž’—¢’“ ™œšœœšœ››šš›œœŸ¡œ¡£š  –Ÿ œ ¤Ÿ¦œœ£˜œ¥œœ¦›¥Ÿ ›˜¥›–¥š–¦²¯ºÞÜâ¯¬ºš•¨›”£šš›™›¼¼¼ÿÿÿ†…‡€ƒš£œ £ž ¤¡ÂÀÂjijvrt  ž¨¤¤¨£¥¨¤¦ÅÀÄkjlxu} ¢¬¥¡¡¡¢š ¥¼ÀÂjkjrxyŸ¤£¡«¤¢©§¡¨§ÁÄÆjjlxw|¥¢§ž¬¦œª¦Ÿ©¦½ÅÄjkluz}Ÿ¥ªÆÅÄÄÄÆ©§¬ÃÃÈkklxy~¥£ªáäåÒÔÕõõö9:;yyƒ§§®­¸¶×ØØëëëvvv"""œœœ«­¯ª¯¯žžAAC"#$114}}ƒ«ª±ªª´¬«¯­ª¬¯©­­ª±®®¯®­¬¬­¬«¯¬¨­­©¯¬¨¯°§®³§®´©±´§­´©®±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       ƒ€ 	
 !"#$%&'()*+$,-./012$3456789$:;<=>?@$ABCDEFG$HIJKLMN$OPQR$ST$UVWXY$Z[\]^_`abcdefghijklmnopqrstuv ; 070701000077a1000081a40000000000000002000000013d1fe2e70000024a000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/75.gif    GIF89a	  Æ  ‘˜Ÿ’› ”›Ÿ–Ÿ™ žœŸ›œœ˜››—œžŸž žžŸšŸœœ›™š œœŸšŸœ œ ž› Ÿ£  ŸžŸ˜Ÿ •›ž”›¡–˜¡àÝßÌÅÉ¤–œ¥–œÂº¾áÜÞÀºÁ—£œ—¥ÿÿÿÃÃÃjii®­­ïðð__atvx £µµµKKJëëêRRQ//.“•¡£ž®®¯~}~  !…†¢›¥¥ æææÆÇÈ prv–›£—ž¤˜ ¨ƒƒ„JMQž§¯ž¥¯¤°ž¥®ÍÎÍŠŒŒ¥¨¨¨§ª«¦«©¥ªaabš•š¬¦¬¬¨°ª©°LLNÄÅÇººº–’š¦¢§ª¢¥¶µµROP¯©®ÐÎÏŸœ°¨«³©«©¬²"!#OMQ­¦­«¥ªQNO#!!omi¬ª§§±´¥®²¦­°¦«³¤°´£®µ¢­·¤«·¦©·°°¬´±¬´³©µ³©³±¬¶³§¶´¨¶³¨±³­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   Ž€ 	
 !"#$%&#'()*#+,-#./01¯2#34567#8#9:;<=>#É?@ABCD¯E#FGHIJ¯KÀLMNO¯PQ#RSTU#VWXY#Z[\]^_`abcdefghijklmÜ¼GÎ:uìÜ	 ;  070701000077a2000081a40000000000000002000000013d1fe2e70000023e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/76.gif    GIF89a  Æ   ˜žŸ–œ •›“œœ“œ›•››˜žœ˜Ÿ¡šš™›Ÿš™ —˜ ™˜ ™–œ–š™–™›£œ˜ œ–¢œ•¤ •££–¢£– ¥– °´ºÝßâ¯´·– £— ¢˜ŸŸ—››“›¼¾Äÿÿÿ……ˆˆ›¢žž¢ ž¡ ¡£À¿Àkjjvvt¢£¡££¢£££¥Ÿ¤Á¾Ãjjkyuzª§©¡¦¥£¤¥¢§¸ÃÅjllo{~™¨«›§¨œ¥¦Ÿ¥£½ÃÉkllv}|¤§¦¢¨¤¥¬¢§©¥ÆÅÈkklyz}¥¦¨£¨«£¥«Ÿ§­ÇÄÊllmz|ƒ¥¦°¥¥°¦¤­¥¥©ÃÆÂÍÎÍÒÔÒáãàº¿¶¥°£¤°¤ËÈÇŠŒŠ‹Ž‹¦­©ª¯¦}}z"#!!#!!""|}}¨©¬¦¬´ª­³¬­³®«±°¬®±¬­®±«­±ª°¯®±ª¯¯§®­§­ª§¯©©­¨¬¬¨©ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       ‚€ 	
 !"#$%&'(!)*+,-./!0123456!789:;<=!>?@ABCD!EFGHIJK!LMNOPQR!STUVWXY!ã!Z[\]^__`abcdefghijklmnopqrs  ;  070701000077a3000081a40000000000000002000000013d1fe2e70000040f000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/77.gif    GIF89a  ç  š™ž œœŸœŸ¢žžŸŸŸ Ÿž¥žœ¥ž¦š›¥˜™ —™–˜–™———–˜–—™˜—–™•˜š”–—— ˜”™’™”œ—’ž’£œ’£›–¦˜£Ÿ˜£Ÿ™¢Ÿ™Ÿžš ŸœŸž›ŸÜÞÜÜßÛ¸¾·–š’”›•”˜—•š™ÆÆÅÜÝÜÜÝÝ—›œ™›Ÿÿÿÿ××Öuzs¡¥£¢£¡ ¢ ôôôJJJ›¡ŸSQU¥œ©£›ª¶®½"ž­ÍÍÍ‚ƒƒ’”™¡ÞÞß´µµ —Ÿ µµµÔÕÔÍÎÍkoi¦­¥°±°!!!Ÿ¤¢š››QSU¾ÀÅOQRÆÈÉ!!˜¤¥µµ¶MQQœœœÞÝÝððð""!ÙÙØ¨¨¥KOPàâãæææ®±±-33Þäã ##£¬®µ¶µLRLÂÈÀQSQY`[àãà "!¤¨©¶µµSPM²ª§ÎÎÍ#"!Žˆäåá"#!§¬¦§¤°!!#NMR¨¥±¨¨´""#@BC¬­¯¬­¬ORP"##­¯¯±´«°´­®´­ª´­ª´±«³³©³±¦±¯©°¯§¯®¨ª©©­©ª¬¬­­ª°­«³«¬³©©³®«²­«³­¦±®ª¯­ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ó 0€@$P°€A D0B0dÐ°C<€!b‰&N H¡b‹.^¼€CÆ5dÚ¸!óŽ:vôäÑã…?€òbÈ"E^9‚$‰’KŒ¼`ÒDª“O ¼ˆ"åÅ*/ªXyqK-[^há"µ‹—//À„ób™eÌœ‘‰&škØ¼hãæÍ8qäÌyA§Ž;xòèÙÃ§Ÿ?€	DˆP!C‡%R´h£FŽAŠ$i¥J–. ; 070701000077a4000081a40000000000000002000000013d1fe2e70000025d000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/78.gif    GIF89a
  Æ  ˜”–•–••—Ž–˜‹•˜Š—™‹–™‹›—›˜œ—š˜•—š•–›”“™˜—œœ–›•Ÿ˜¡˜Ÿ¡™£“œ”¡“£Ÿ– Ÿ™ Ÿ™ž›› œ ¢Ÿž£ÊËÈßàÞÀÀÀ¦£ ¦ Ÿ¡¢ŸàßÞ¡¡šŸ šÝàßÿÿÿêëërvw™¡£š£ ÞààGKLœ£ÞÞâ¢¢¢  §£¡§ààá  !žž©ÛáàÍÍÍgpmšª¤Ýãà" œ§¤888µµµ—•“âàà"!!§¡£ßâà !!ÐÑÐtvuáãã!"#¥¬¯ßàß!  ««§ìììØÖÖ"! «¦Ÿ"#"©««ÇÇÇ""#¨©¬ãáá$""²ª¥¯«§ïîî¥§¢áåâ"""¨¯¬¨®«¼¾½¦¨­¬ª¬ONQªª°®¬±«¬¯‘"#$®¯´©¤­§§¬©¦±«¦®­¦¯­§°¬¦°­¦³­©´¬ª³°¯¬¯°­°¬­°©°­ª±­©³®¬³¬®®®®±ªª³ÿÿÿ!þCreated with The GIMP !ù
  ,    
   ¡€ 	
 !"#$%&'()*+,-(./0((1234(567(8(9:;(<=°>(?@A(BCD(EF(GH(IJK(LMN8O(PQ×RSTµ(UVW(XYZ[µB\](^_`aµUbcdUÊ˜9ƒ&M5kØ´qóN9sèÔ±sO={øôñ ;   070701000077a5000081a40000000000000002000000013d1fe2e700000411000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/79.gif    GIF89a  ç  ’–•”—–˜–•›˜• –˜ •—Ÿ™—£›—¡——¢—–ž˜•™–œ¨™š§™ž¦œŸ¤œŸ£™Ÿ¥š¡¥™ £šŸ¡˜œ¡šœŸœœ¡šœž›žžœžš›—™œ•š•œœ”œ ™œ¡—Ÿ¡–Ÿ£¡¨¬ÅÈËÜÞàÝÞâÇÈÍ¥ª®›Ÿ¡ŸžŸž ¡žžÂÀ¾ôôôÿÿÿ¶¹¶¢¦¢¡££ž¡¥®³ºïïðŠŠŒ!jjkæææ–’–¤œ¦£¤ààßQQQ../ffj›¥¡›¤‡‰µ´µ…€Ž¦š¬×××  €›šž›Ÿ›œ¢œ¢ÛÚÛKGOž•©µµµ<AA¡©¨ž©¨§¨¡¨¥Ÿ¥¦Þàá !! ¨¦ìíêac]©­œ©­›©«œ«©©§¡öõôØ××"  ¬¡¢ÌÑÒ §ª¢©«¤¨©§¨©ââãŒŒA>@«¤¬Ÿ ©ÍÍÎÚÜÞßâãõõöÄÄÅ"""mokª¨£¨¥ª§¥¬‰ˆŠÎÍÎŒŒŒ"!"PMP¯¦©­¨§±¬±¯¬°±¯±ƒ€€EBB$###"#DCBqqr¬¯®©±­§°®±°³®²³±±±´±®³¯­´­­µ­®¸®±¸®°·­³µ­´«¬°­ª±­©°¬©¬¬§°¨©°¨§©¦©©§§­¦ªª©©ª¨¬¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Õ 0€@$P°€A D0B.`È a‡>€!b‰&N H¡b‹.^Àˆ!£fÍ4jØ¸!G:vðÑÃÇ 2‚B¤ˆG$‘¡d	“&Nž@‰"CÊTªX¹‚%‹–-2¸tñ"ã˜0bÆ)cæš4`Õ¬aÓÆŒ7pâÈ™S“N;2îàÉ£gŸ>~jšù( A„
:„(‘¢EŒ9z)’¤I”*Yº„	S&M›8uòô	T(Q£H•2 ;   070701000077a6000081a40000000000000002000000013d1fe2e70000024d000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/80.gif    GIF89a	  Æ  ’›“’™˜Ž™–›—’œ™“œ”š›’––‘•–œš£š™ šš ˜œ£–ž¢–Ÿ¢™¡˜˜¢˜™Ÿ— ›–Ÿž™ œ˜ –¢œ– ›™¡˜›¡–›¥–ËËËßßàÞÞàßßßÈÊÊŸžžŸœ›œž›™áàßÿÿÿÞÝÝ¥¡ž£¤¤¢§£ßÝà !888´µµfhgš¢ž¢œáÞã  "ž¡ª·¸½jjlƒ‚’£®àÝãkilÊÆÐôôõ98:yv}¤£ªáãâ‹Œ!""™›ž¡©®âàálkk99:"!"kio¥¦§¨£©äáä"!#{w}|y}˜š¡¦©¯£ª±¡­°æâà#" °« ¯©¡¯¨¢­© ªª ¨¨£ãäá"""¦¬©¥ªª£¦¬¡¦­Ÿ©­ ©¯¤¬°LRR!#$£°±¦¯±§±³ª®³©±³¬°±°°´®²³¯±±°°³°®´±®°±°®±°±®­°°±­°²®±²°´´®³´°±²¯°³°²³±®®®ÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ‘€ 	
 !"#$%§%&'()*%+,-%./01%234%5678%9:;%<=>?¨%@ABCD%EEFGHIJK%LMNOPQRS%TUVWXYZ[%\]^_`abcdefghijklmnopâÈ™C§Ž;xòèÙÃ§O  ;   070701000077a7000081a40000000000000002000000013d1fe2e70000041d000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/81.gif    GIF89a  ç  ‘šŽ‘•Ž“•Ž˜’Š™’‰™‡œ‹Ÿ”Œœ•Ž•œ›‘™™š  –¤–¦¡”¦£–¦ “¨œ“¦œ™§š™ª˜š«™™¬™¬š›©ž ˜  –Ÿ ˜ Ÿ™¢žš¢œ› —ž• ’¢’¡œ”¡™—Ÿš–œœ•Ÿœ“¡œ“ª¦¡ÕÓÐßÞÜàÝÜÌÆÅ­¤¥¢–£–Ÿ –ŸŸ—Ÿž¨£›ª£ÒÙÖÿÿÿíîî´µ¸¢žœ¢ ¡¢§œÕÙÓÚÛÚQRQ !!  !ƒƒƒæææ–“–¦ž¡§ ¡¢›¬ììí#<;B…Ž Ÿ©¤¤©Šµµµ‡Š‡¦©£¾ÂÃ‚ƒƒ-0/›¢¡›¢Ÿž£Ÿ££› £ããäLKL££¦ÁÅÈÍÎÎÎÎÏâáãÐËÑ²«·§£ª¨¡§áàâ!!!§£¨²­¶ïîî½º¼²²²ëëë#! ­¦£¢­±ÛÞàµµ¶"!#SRSÎÍÎððð„ƒƒ20/©¦¡¨£ ³¬ªãããÙÙÚµ¶¶mrt¦±´¡£¯¡¤°“’ ‹‹ÍÍÎØ×ØkklLOP¢«¬¬®®­¬­­§¬°¨«rmmC?A#!"C@B„zD?C#!#¯©¯°«µ±¬³±¬±­«²®®³®°³°®³®­´­±¶­³³°´´°°·°³¶««­ª©®ª©¬¦©¯¦©¬¨«­§ª¬¦¦©¦¥¬¦¦ª§§­¨ª¬¨ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       á 0€@$H `ƒ@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^Àˆ!c6ræ¼#‡Ž<zØðñH!Cl)bäˆ$I”,aÒÄ‰'P¢H±1…J+W°dÑbc—.6¼|FÌ2el˜9ƒFgÎ4jÖØ`ÓÆÍ86âÈ™CÇFvîàÉ£‡ÍÞ=|töñóP Aƒå,dHó!D‰-bÔÈÑ£G"IšD©’¥K˜2iÚÄ©“§O B‰Eª”©S¨R©ZÅª•«€ ;   070701000077a8000081a40000000000000002000000013d1fe2e700000245000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/82.gif    GIF89a	  Æ  ™‘œ–Ÿ—’œ”“ž—•›”ž—• —–¡”˜¤™°œ˜¬œ–¨œ—¦œ˜¢š˜ž›—¢š—™˜™˜œ™˜Ÿš–Ÿ›”žœ˜ š›žœœœ›ž›œÞÞÞÞßßÞàÞÞàÝÇÌÇŸ¨›Ÿ§šŸ¤›Ÿ£ŸÿÿÿÎÎË£¦š£¥š£¦›µµ´   888ææærrtžŸ¡£ž£µµµKMMž¤¥·º¹jlj…ˆ„¢¤žKNM¨´¯ÞãâPRSqz{œ¥§ÃÃÄƒ…‚¢¢žQRS""HPOž«¨«¨£¢¡££¡Ž‰‚«©Ÿ«§žª¨Ÿµ¶¶LSRìíí’–˜¨°²¦­±©¬²ORR·¸¸Ž‹Œ¯«¬±©©®°¬"##ORO¤°¨™¤™"#"131› œª¯©«²³­³±¬°³«®³¬­³«­³¬®³¬¬´ª£°«¦´«©±¬ª°©­±¬«²§ª¶ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   ‰€ 	
 !"#¦¦$%&'#()*+#,-.#/012#345¶678#9:;§¦<)=>#±+?@ABC­D#EFGHI#JKL#MNOPÝQRÍSTUVWXYZ[\]^_``abcdefghiÔ¬Â¦M›@ ;   070701000077a9000081a40000000000000002000000013d1fe2e7000003dd000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/83.gif    GIF89a	  ç  ‘œ¤‘›¢‘™£’›¡’ž¡‘¢Ÿ—¤œ•¤œ—¤™——šš™šœ˜š˜œœ—¢œ˜¢œœ¦ —¨•œ˜˜˜˜™™—œ—›š—›™›šœœ—žœ–ŸœŸ£˜ŸŸÅÊÌÜßáÑÓÕ££ª—™ –š£•š¡£ªžÕÙÔÿÿÿììì˜”¥¤™§££¡¢ÚÚÚ   ƒƒƒtusž¦›¦˜¡¦ æææRSQ ¥ gihstv ¢ž¢¥ÓÔÖÛÚÛ¸µ³££›¤£›¥£¢£¡§¤Ÿ¦£¢ÎÍÍ¨¢ ¯¦£­¨¤ž­©ž®©Ÿ°¨hqk~‚µ¶µ…‹¡­©º»·âááÅÅÆ¦¨©²°²µµµMNP©©«¶³»òòóÔÔÔööõSSSRSO­±©¯§¨ª£¥ÑÑÑëëë###ŽŽ¬¯®¨°«¨°®œ¢£BCE"#%125mqu¨­³§®±¬«²««°­¨®««¬ª®ª§­©¨¬§©ªª¬¨§ª­±¨¬®§ª®§©­¦©­§¨¬£©®£©­£ª¯ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¡ 0€@$P°€A D0B0dÐ°C@„1‚D	(O H¡b…	-\˜x#†3hÔ°ÑâŽ:PîàÑÃÇ A„AI¤ˆ‘#H’(Yb‚I'O D‘2Å•*V®`1‘E‹‰-\ºxùÆD1cÈ”1sM5kØ´qóN9sèÔ±sO={øôñóP@ ;   070701000077aa000081a40000000000000002000000013d1fe2e70000023b000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/84.gif    GIF89a  Æ  œ¤œœ£›™¦œ™¤œ•£›–£›”¢›–Ÿš ¤ž›¤š¦œ§šž©ŸŸ¦œ¢™š¡™œŸœ™šœ™™›˜š˜˜›–™˜•™˜®¯¶ÞÞáÝÝàÞÞàÞßážŸ¦ ž¤¹ÃÀÿÿÿEJJ”ž ›¥—r{ojlijki  ! ¡žš¡ž¦  §ÂÂÄkkk{zx¨©¢§§Ÿ§¥¡§§£ÂÄÃllj{xz¨¤§§§§ª¥¢§¥¢ÃÂÂkljvyv £¢ ¢ ¥®«¡­¬ÂÈÉklm|z¨¥°§¥­«¨©§¨©ÆÄÃkllzz|¨¦¨¥¥§¯°ª±°«ÊÊÈlll{~~¨ª©¦ª¬­²«¯¯©ÈÈÆ||{©©¨¨¨§©ª®ª¬¬y}z!#!zzª°§©°ª­®§®®ª­±«­²®®±­®µ­­´¯¬¸ª¢¤±¦¦³§§³§©³©¦°¦¦°§¦°©ª°ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       € 	
 ££!"#$% &'()*+, -./0123 456789: ;<=>?@A BCDEFGH IJKLMNO PQRSTUVÓWXYZ[R\]^_`abcdefghijklmnop ; 070701000077ab000081a40000000000000002000000013d1fe2e700000251000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/85.gif    GIF89a	  Æ  ˜–”˜•”™••˜”˜™›Œ™™Œ››œ›Žž”œ“šž“œ›”š•œš›š’šš“›œ’šž•™™••––›–—™™˜›–˜›“™›”˜›’š›“³¶¶Þàà³¶µ¤¢œ§¡ÈÍÊÞáßš¤ ¾¹Àÿÿÿ…„‡€}‚¢™àÞßKGM¡™Ÿ¿»¿jjjprv–œŸÜßß! œ¡œÄÃ¾kjjyst ˜žßÜß !¡“£ÃÇÂlkj{xx§££âàà"  ¬ž¡ÂÃ¿klj{~u¨«Ÿããà"# ª«¤ÃÅÉkkl|{~§¥©áâä""#¬«©¶½¾ƒ„„x€¦¯¯ëîí"##§®«¤©ªñòòÎÎÏëëíª©«! #¦ ­ªªª²µ²ÑÒÑª«ª"$#`b`®¯«§¬¯¦©±š›¤@AC"!"_\a§¤­«¦¯­·®®µª°´ª±°©±¯ª³ª«¯«ª°§¯®¦¯§©¬¢«­¢ª­¡ª®£¬¯¦­±¨ª¯©§ª«ª©ÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,    	   •€ 	
 !""#$%&'($)*+$,-./$012$3456$789$:;<=$>?@$ABCD$EFG$HIJK$LMN$OPQR$STUV$WX$YZ[\]^$$_`abcdefLghijklÚ¸y'Žœ9têØ¹ƒ'ž=| ;   070701000077ac000081a40000000000000002000000013d1fe2e700000405000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/86.gif    GIF89a  ç  ž•¡•šŸ˜šŸ™› —™Ÿ–—›˜”œ—–›—˜˜–™–——”™Ÿ“˜£“–£”˜¤•™¤—˜¤˜—¡—™š™œœ–žš• œ›œŸ››žœ›œ¡œ ž› Ÿ›žžšœ›˜ ››žÝàÝÅËÅ•Ÿ–™Ÿ–˜ –œ¡–±¶«ÞáÚÊÍÂ ¤•¡¡˜ééêÿÿÿvy{™¡¡š  › œÑÕÕossbji—££ÆÉÆ‚‚‚“Ž¡›Ÿ™žôôôììì  €„…ž¢£˜¦ÍÍÎffmŸ¢¦ÁÁÄ¢¢¢/00¢¨¢£¤¢¨Ÿ¨ÙÕÙTRU¦©âàã88:YZ_ ¡¤  £¥¦¤¶¶¸ƒƒƒ‘“–××× !!”–”¡¢¢  ¡¨¬¦¦¯¤òóñÍÎÍ› ›klk@B?¦°¦«­¦¨¯£ª®¨««¬ÏÏÏéééðñð"#"|€z¦®¥¥¬¤£¬¢§¢°¦¥¯°²µ¢£¤/24¢°²¤³°¥°­¥²®©ª©«©«ª¨¬ÝÝßSSS^[`ª¥¯©¥°§¢­©£¬¯ª¬¯¬­°¬±¯­­QQR###‘‘°¬­±§¬°­­¬­ª®©­®ª®®ª­­««®­ª°®ª­°ª¬¯«±®«±­©´ª§²©§±©£±¬¤±­§°­ª®¬¨¯°§®±§ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       É 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`ÄÑb6ZÜÀ‘CÇ=|ü Ò"ˆ!DZ1rI%-–0iÒÂÉ(Q¤LiA¥J+W°dÑ²…K/_Z€	#f™2fÎ´@“FÍ6mÜ¼§E9sèÔ±sO={Zðéãç @‚*dè¢DŠ1jäè¤H‘$IšD©’¥K˜2iÚÄ©S'OŸ ;   070701000077ad000081a40000000000000002000000013d1fe2e700000436000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/87.gif    GIF89a  ç  ••—•”•“———–—––˜•™—•›™–š›˜››˜œœ˜žž™Ÿ›œŸ–ŸŸš™ž›™œœ˜œš™œ˜ š˜¡–˜¢“™ –˜––¡“– ’—£‘—£•˜¢™–¡—¤”¥›˜£•—¢–•¤–˜¥˜š£™™£šœ¢›Ÿ ™¡¡š¢£œŸ¥ÃÀ»àßÞ³¶°œ¢ ¤ž¿ÀÀÞàßœ¤ ™¦ ™§ ÝâàÝâß›¦¡›¦ «¶¶ÿÿÿ­®¯~„‡› ¤Ýßà]]`žž ©ªªÃÄÃINK›§¢œ§ ÍÍÍU]Y—§ jlj™‘¾ÄÀ‚ƒƒILJ¡ž¤¢ áàß<;>µ°¶µ´µsozÞÝâ88:ffk ¡¥ ¡¡ÀÁÂjjkÊËÌ›œœæææLMMôõõ××× !!‘–—›¤£¡¤£Ÿ¢¤››œÐÑÒÝÝÞ]]]¢¢¢>>A§£©¨¡¨¥®¤¥®£ëìëÍÎÎ®±°<@@´µµPRSX\`œ¥¬ž¦©¢°ž¤°ŸÌÑÊjkjX]\êìë !"ƒ†¡§©¡¦©¨°­©¯¬»¿»""!}{zÙØÙµµµ"!#©¦®¬¥¯­¥¯¬«ª­«©­¬­òòóÎÎÎ""#««³ÆÈÌklmKOT¢¨µ£¥µ£¦³ª©¬©¬°§¯°023@CC¥³±£±¬xƒ}!#"u‚|¢±­¤°­¦¯­­­ª­­«°­°¯®¬®®«­©«°©­«©­©ª®§¬±§ª³¨©¸¦¦¸¦¦º¯°¬®°°®°®®­®¬­­¬­°ª«ªª¨ªª«­§¬ª¨­«©««§­©ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       ú 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG>~ ÉDÈ"9Š9’#’$Jr,aÒÄÉ“P¢4•2…JŽ*V®`É’CË–\ºxù&Œ˜1dÊä0s–ir¨YÃ¦›7pâä3'uìÜÁ“GÏž¦|úøiúP Aƒjjè¢‰-bÔÈÑ#H‘$M¢T)‡¥K˜2iÚÄ‰S'OŸ@…5ŠT)S§P¥RµŠU+W¯`Å’5‹V-[·påÒµK¯^¾~&,  ;  070701000077ae000081a40000000000000002000000013d1fe2e700000402000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/88.gif    GIF89a  ç  ˜œœ˜››™˜•––˜›—™›™™œ›˜œž—œŸ”›ž–š”™¤’™§™§“˜¦˜•¥–‘¦•‘§•“¨•”¦•”¢œŸ¢™Ÿ – œ–œ–œœ•™™’–—’“–‘‘˜“’˜•’–ÝààÝàá¦­­œ£¤œ¡¤›ž§ÒÔÖÝßà±¶¶Ÿ¡Ÿ¤ÆÍÊÿÿÿÂÃÂŠ’— ›º¾¼ÆÈÆIMH‡€ ¤™¢ž ÝÝÝrqqª©¨ïðï898ILK›£¡œ¢¤ž¡¢ª¬®æææäãäjjj.-.žšš ››¤£Ÿ£¢ÂÆÆ¾¿¿ ""v~~£««§¨­¤¦ª§£®§¤®²°¸lklONP©«©©ª©¨§©©©¨¦¡©©¡¬õôö‹ˆ‡«¤¤«¤¢«££¨¥¤¤­©ÖÙÙ¢££klkºº»˜›š¥§¨¥¨ª¨¥¨½¸Áíìí#!"`\^ÔÒÓœœ©ª¨¦¥§¨¨©ôõöQRT//3¥¥²¯®¸ëëë}{|«¥¦­£¤§­´015""%‰Žœ©­Àª¬ºšž§226šž¦¦­µ¤§¹£ª¹¦¬¸§¬µ«¬±­­®°«­±©­³«®µª«¯©ª±ª­¯ªª®¬«°­«¯ª©­¬ª®®¬®­¬¬®­©¯«ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Æ 0€@$P°€A @ˆ a…
.`È a‡>€!b‰&N H¡b‹.^À`CÆ5l°¸ƒE;xôðñƒ ,„!RÄÈ$IX°P²„I'O D‘"u
•*V®`É¢e‹Q \ºxù&ŒcÈ°(cæš4jX¬aÓÆ‹7pâÈ™Ã‚N;wð°È£gŸ>~þ 
$hB…:„(‘¢EŒ9z)’¤I”*Yº„)“¦€ ;  070701000077af000081a40000000000000002000000013d1fe2e700000405000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/89.gif    GIF89a  ç  žž–¢œ–žœ˜ž›˜™™˜™™–˜›—”š—’›š”šš“˜š–“¢•“¢’– “œ¡•šŸ—šŸ•—œ–šœ–œŸ™ž ™ ž™‘›™“™œ’—œ“–œ˜˜›™ œ™¢™˜ ˜•ž™—ž™•¿¾¾ßÞÞÀ½¾ Ÿ£   ¡ŸÈÊÊÞßß±´´ œ ¨²¦ïðïêëêuyrž¦›ž£žôôôíîîGJL~ƒ†›Ÿ£œ¡£ÀÄÅÿÿÿŠ‹‹˜ž¡ÆÉÊ‹‹Š..,£™š¦š£›£îíîæææhfiôôõ  !hgm¥¡¨¥ §¡¦§£ª¨ÌÏÍºººŒŒŒ/1/¤§¢£¨¤¤¤£¤§¦¤ª§¥ª¥îïî×ØØ!""kon¢©¨ §«¡¦©¥¥¡¥¥¢§¦¤ÄÃÄkkk>A?¥ª¡¦« ¦«¢¦­¢¤¨­Ÿ©®Ÿª®¼ÈÆjllr}®©š®«®¬Ÿ¬§§ª¦¦ª¨¥©¦ÅÆÅlkl{y}­¦¬¬¡©¯ ©­£©«§¡­¨£©£¥ÆÄÆkll{|€©ª±§«µ«¬²«©¶¬±³¯°¯¯°­®³¯€ƒƒ"$#}„¬´¬¯´«¯±¬­°¬·©¬´¨ª¶ª­µ­¬²°­¯±«¯³ª°´­«·³«¶°®¸®©«ª«¨ª«¤ª¬¦©ª¤¬ª§®©¨¬§§®¦­®¤°®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       É 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒGŽ>~ 	"d‘"F†A’DÉ&Mr8ÉñJ)S¨T±r%–,Z¶péâå˜09ÄŒ!SÆÌ4iÔ¬ÉÁ¦›7pâÈ™C§N;wðäÑ³‡O?r 
$h¡B†!J¤h£FŽAŠ$i¥J–.aÊ¤i§Nž>}JÔ(R¥ ;   070701000077b0000081a40000000000000002000000013d1fe2e70000024b000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/90.gif    GIF89a	  Æ  ’• “¡‘ ’‹‘ ‘’ ’“œ””˜’—¢™Ÿ™–Ÿ—˜—œœ™›˜™œ–™š’•ž’™š™—šš™œ˜˜›šš˜˜›•š™–œ›—›˜•šÆÈËÝÞßÝÝÞÝÜßÝÝßÞÞßŸ  ¡Ÿ¡¡ÞßàÿÿÿMKJ§¢ž§ž¡ ¦šJMI ! ƒƒƒ´µµ!!¥¥ž¤¦¤¤§¥¤§¢¤¦õõõ889KKM ¤š¢¢£¢¥¤£¥ÕÖØ¢¢¢  "—–¤¤œ¦¤¢¨§ª¯ììì !W[Y £¡ž¥Ÿ¡¨Ÿ§«£ÙÙ×„„ƒ201¬¦ª­§¬®§¬®¥ª¶¼ºìíífkiŸ§£¤©¤¥¨¥¤©¨ãàâÎÍÎºººâáááâá¹¾¹¤«§¨­¨äääŒŠˆ‰²ª¦ª´¯PRS"##"#$""$#"%""%}~ƒ¦©´°·²®·±±¸±¯·µ­·µªµ³©±°¨±±§®´¤´¬¥´¬¥¶«¦·©©¶¦¨´§ª¶§«²§®³¨ÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%§§&'()*+,%-./01234%56789:;%<=>?@AB%CDEFGHIJ%KLMNOPQ%R+STUVWX%YZ[\]^_`¨§abcdefghijklmnopqrsèÔ±sO={øôñ ; 070701000077b1000081a40000000000000002000000013d1fe2e70000020e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/91.gif    GIF89a  Æ  ›˜•œ›—™–˜Ÿ•–ž–“Ÿœ“¢–£™£™¤ ™›ž›˜œ™š™š™›œšœ¡—œ ÅÇÊ”™¡•›¡œ¥ÞÞáÿÿÿhej£ž¤¿ºÂÃÂÃ! ˜£ÝàÝ888JLKž¢žàáâ  !’“•£ààâ !#¢ ©¤¡¨áßá! "¥ ¯¤£±âãâ"!"¨¥¬¨¦¨ãáã:9:§¤ª§¥¬ÈÊÆµµµššš¦¦§ª§ªðððLLO§¥«®ª°¸µ¼££¤""%«¦µ±³±±¯±£Ÿ¢caa°­®ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       R€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF ;  070701000077b2000081a40000000000000002000000013d1fe2e70000021c000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/93.gif    GIF89a  Æ  œœ“›•—¡–˜Ÿ•˜ž”™š—ž™Ÿ›˜ž—™š˜˜š˜™”˜˜’–”™–‘›–›•‘š–“––—–¯±ºÅÊÍœ £¢£œ¤£¤ ÃÂÂÿÿÿÎÎÍ¥¤ ¤¡Ÿ¤¡«§®ÑÑÓ†‡ˆŸ¢¤ ¢¦£¤¥¢¢¥µµµ{uw›¤œ ¦´´µIJNœž§ž§¨ž¥¨LOM¤©¤¨¤´¨¢³µµ¶OJR¨ž¯¤©ª¢«­´µµJQNŸ®¨¨ª©²±³OQRªª¯¦¬¦âåâƒ„„MSR¦³²ÆÆÈëëë""$mov§ª¶¼ºÈÅÄÈ:9<2/4ª£²ª¡µ³®­”‘Žc^a¡›Ÿ®­°®®¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       `€ 	
 !"#$%&'()*+,-¨./0123456789:;¹<=>?@ABCDEFGHIJKLMNOPQRS ;070701000077b3000081a40000000000000002000000013d1fe2e7000003e1000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/94.gif    GIF89a	  ç  –œœ•™™”›˜•š—˜™™˜˜˜š˜˜™•™›”›—“›—–™œ•œŸ—™ž™šŸš™Ÿ™šŸ›™ ›™š› š›–˜™•˜š•›–œš’š“¢˜‘ ™  ¢³º³ßâÞÀÄÂœ¦£œ£¡›££¡£›ž  £éêëÿÿÿêêëqt{˜ž¦—›§–œ¥™œ§¯°ºÓÓÔŠ‹Š  ›ž¡žŸ§¡ ¤êêê888ÔÔÔæææjij¥£¥£¤§©µ°¨«© "!¬¯®Œ‹Œ§£§§¤ª«¬®ææè889ZX\¢ž¡ÖÖÖjjkhki¢¡¤©¦¨š˜š@@?ž—˜­¥¤¨ ¥LKLxvy£¡§¨§®«¨¯©¨¯ª¦¬«¦®¯¦®¯¨¯®¦°ª¦¯©¢°ª£­«¥¬©©¬©©©©§ª©¨««©©¤®­£®¬¥¬­¢©­¥¦©¦©ª¨¥ª«¦¬°®³¯­°±¬°°©­¬©¯¨©±ª¨°¬©°¯©±­µ°®±­«°±ª®°¬®²­¬±®ª³²¨·²¥·ª¬°­ª±°§±°§®³§¯´«±²ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    	   ¥ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E'^œ€CÆ5NØ¸#‡Ž<Nôðñã B†)bä’$J–0iâä	”(R¦P©bå
–,Z¶péâå0aÄŒ!SÆÌ4iÔ¬aƒ¥›7pâÈ™C§Ž;xòèÙÃ§Ÿ?€®Ð	$h¡B† ;   070701000077b4000081a40000000000000002000000013d1fe2e70000024b000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/95.gif    GIF89a	  Æ  –—¡•• ”•Ÿ’”ž‘”Ÿ’•›”–˜–•—–””›™œœ˜ž–œ–š—•™—–•—Ÿ˜™ ˜š˜¡œ™›››œ›˜žž™ Ÿ›¢Ÿ› Ÿœ™ šœš—œšœš›¡œšŸš¡›œ š™ ¤› ¥œ§ž¤¡ž¤¡£¢›¡£š ¤›ž¥›¤¤¡¦¤ ¥¤¡¢œ Ÿš¢›š£š™¤›–©™—¡ ¡¥¡¢¦¢¢¨¤ £¥Ÿ¢¥¢¤¤¢£¤¨¥£ª§¤ª££¨¡¡¥  §¢£¦¤¤¥¡£©¡Ÿ«¢Ÿ¤ ž¤£ž£¥¡Ÿ¤¢¥£›¥££¬©¢©©¤ªª¥©§¨¨¨§¨©¥¤«©¦«°¥¨°¢¦²¢«²¢ª¯¦¯«¢®«¢¯«¤±£¬°£¬®£ªª£©©£¨©¢«© ¬¥¡­¨£­¥¥µ¯¤µ­¦¶¯¦¸®£¶¯¢¶­¤³¬£²«Á¼ÄÊÈÎÈÈÏÈÈÎ¬ª´¬¯°äåæÿÿÿ…‚®±²®ªªRPP####"#$"#´¬­ÿÿÿ!þCreated with The GIMP !ù
  ,    	   € 	
 !"#$%&'()*+,-./01234567897:;<=>?@A&BCDEFFGHIJKLMNOPQRSTTUVWXYZ[\\]^_`abcdefgghijklmnopøqqrstuv ÞÁ“GÏ>ùôñ ; 070701000077b5000081a40000000000000002000000013d1fe2e70000021e000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/96.gif    GIF89a  Æ  ™Ÿ’˜œ•Ÿ’—Ÿ”£‘™¢•••š“”ž“”•–Ÿ™™Ÿš˜œ¾ÃÁ´¹·›£ œ¥¡¢ Ÿ¡¦çèêÿÿÿÔÕ×¥ª®™ ¤›¡£ —ªhdkÍÌÎsnv–†¤’¯›§ ›§Ÿ€Š…9@>~Šˆš¥¥›¬¡œª¡›¥¡Ÿ¥ž¥ œ¤ž¥£¥£¤¨¡£§£¡¤¡ž¢¡ ¦©¤¥¥¤¤¥¦¢¥¨¢¦¨¤¦¨Ÿ¨£¡¨¦£«¨¥©«§©®¨¦ª¤¤±¢ ­¥¡­¤¡®¥¡¬¦Ÿ«­¨¬°ª®¯¬²®©¯ªª­¯­ª®®¨¬«©«ª««©«­£¨©­¶¥¯´§¯³§¯´¤¯±§°±¯®«¯®ª®²«®±ª®°¨®°«¬©¬­§ª©§«§§¬§¨©§ª­ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
  ,       b€ 	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^ ;  070701000077b6000081a40000000000000002000000013d1fe2e7000003ff000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/97.gif    GIF89a  ç  —”•˜“˜›“šœ˜žŽ—œŒššŒš›™˜›•“™•‘› Œ™Ÿ›žœ“šœ‘šž“›–œš™Ÿ™˜œœ™œšš ˜™›™™œ˜šœ™˜››Ÿž›£›¦œ™¥œœ¥›œ¤Ÿ¤žŸ¥ ¦¡Ÿ¦¡Ÿ¦ Ÿ¤¡¡¡Ÿ¡ šŸ¤››¦™™¤¤¡œ¤ž›¥ ›£¡› £žŸ¡›¡ š¥žš¤¢š¤ £¥¢£ž ³µ³ÀÂ¾¶·³¯«ªÄ½¿±¥ª¨Ÿ§š¡™¡¥¤¬¯óôõÿÿÿÕØ×£¦¤’™“™¦¥óõõ¡£¢jlk›œ›kkjxyu£§ž¸½µ¢£¢ "!Za\x}z£¥¥jlluz|Ÿ§§ÆÅÈX^_œ¨­¬­¼ÆÊjlmr{Ÿª¯¹¹¼µµµyz{¨¨©¤¨¨àáàjkkrz{›¬¨¨«¨ØÚØëëëâåâìîìlmlz„€¦·¯®¦¨¯©§±°¯Ø××‚€€¶µµSRQ€}x­­¥¦¨´¦§²¨¨¯^_`"""!!"@AA||OPOŽŒŒª¦­£«®¦©°¤¤¯¦¤®©¤««¤«­¨«¯¨©®§©°ª¦´«¨®¯¦­­§°ª§°«§­¬¨¯ª§®ª¨®¨¬­¥®®¤±­¦±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,       Ã 0€@$P°€A D0B0dÐ°a‡>€!b‰&N H¡b‹+\¼€CÆ5lÜÀ‘CÇ=|ü DÈ£D†1â’!I”,9Ê¤‰“'C D‘2…Ê*V®`ùšEË.CºxùfH1cÈ”bæš4j†¬aÓæ¨›7pâÈ™s”N;wðäÑ³‡O? 4ˆP!C‡%R´ˆQ#G E’4‰R%K—0eÒ ; 070701000077b7000081a40000000000000002000000013d1fe2e7000003ef000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/98.gif    GIF89a
  ç  •“˜••œ•—œ•˜™–™š™˜™™–žœ•Ÿš•ž˜“¢š•Ÿ˜˜—˜œ–––—”™ž’šŸ’›¢™ œ™Ÿ›šœš›š›˜™› œ¡œ ¢œ  œ¡Ÿ ÇÈÊÝÞà˜›¡™›¡—š¡ŸšžžžŸ¡ž¡¢ŸŸ¤ÝáàÿÿÿEKJ“Ÿž–œ”›•š–œŸ— ”Ÿãßâ!!¸±¸Ã¾Á­©­¢™¤¡œ¤œ¡™› áßßÍÍÍÛÛÙ¤¢›¡ šŸ¢—ßàâæææ}~€jjlÍÍÎ¯¯°£¡¨§¥¥ááß889/00xwyyv{éééZ^^Ÿª¨áâä!!"—š¥«­¡°«áäã010£¨¦ßãæjllœ±³Ÿ±°©º·ôöõ×Ù× #!Ÿ°¡ßæäÓ×ÔãæäwwvDCA²°¬ÍÒÏÄÅÄkllëëë"#!}z®©¥¤§®knpNOR}z…205""$124€€°¯³°¯µ´®©²°ª´°ªµ³«µµ­²µ«´²®±´¬±¶«±´«­«¸­©¹­©·­¬µ¬°¯ª³¯ª±°¨®³¥±³¨°±ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ³ 0€@$P°€ƒ@ˆ a…
.`È a‡>€!b‰&N H¡b‹.^ÀˆBÆ5lÜÀ‘CŠ(‚òèáãA„!‚¢ˆ‘#HP$Q²„I“ Nž@AEÊ*UPX¹‚E-[¸tñòL˜ bÆ%SÆÌ4i‚ P“f›6nÞÀ‰#g:vîàÉ£gŸ>~þ 
$h¡B†!J¤hQ@ ; 070701000077b8000081a40000000000000002000000013d1fe2e7000003f0000000200000000000000000000000000000002700000003reloc/mscstyle3/images/letters2/99.gif    GIF89a
  ç  ›Ÿž šŽŸš‘ œ‘¢š”Ÿ™– ž™žŸ™œ —™Œ™› ‘Ÿ’Ÿ ’Ÿ›“š˜•œ—•˜™œš•œž¥œŸ¨˜¤—œ¦—›¤•™¤˜™¦œ˜©œ–£œ“Ÿ™¡¦š£¥£¦š ¤Ÿ¦Ÿ¢¦¡¦ž ¥£Ÿ¥¡ ¢š ž™¡žš¤›  ¡Ÿ¡Ÿž¤žŸ¤  ¡¢ž¢£¡—Ÿ—¢ž˜¤Ÿ»Â¾»Ä¼¤°¥œ§š¡¦ž££œ¤žž›£¾Â»ôôôÿÿÿËÍÌ˜ š˜žš¡œ±­ªððï‹‹ljjÎÍÍ·³¶¥”£¢˜¦ÔÚØQRQ.0.hjguuu~}~RPR[XY¢Ÿžââá"" Žˆ…«¥¢¨¥£­¦¦zyŒˆ‡¦¥¨ÌÐËklj¥§¢¤¥¥­¯²ÂÆÆ¶º¾¡¨®¡¥¬¹¸µïïïáãâáåãõöõ¨®§‹•Š¨·©¬«¦¨¨¥£££ëëëvvv"#"}}~©©¬±³·³´³¡¤£bab#"#$"#322ƒ~|±¬¦³°¦³±¯³®­³¬ª·­¬µ­¬·«¬·ª«¹®­º°«µ°¬¢¶±£´³¥³¶¤²´¤³³¥¶°¤²­£±®¢®°£®¬ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    
   ´ 0€@$P°€A D0B0dÐ°C@„1‚D	'P¤P±‚E/`Ä1ƒF7päÐ±ƒG?‚	"d‘EŒAò#‰’%L~4qòJ)S¨Tùaå
–,Z¶péâåÇ0aÄŒ!SÆÌ4?Ò¨YóƒM7oàÄ	*g:vîàÉ£gŸ>~þ 
$h¡B†!J¤h£FŽAŠ$i¥€ ;070701000031aa000081a40000000000000002000000013d1fe2e70000040e000000200000000000000000000000000000002300000003reloc/mscstyle3/images/msctile.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ  ´ È" ÿÄ             ÿÄ %         !1A"2Qa‘q±ÿÄ                 ÿÄ                 ÿÚ   ? ûæñòÏn_-Irëy$×]+ã-ï¯ Ž>>¼ßn€            -™Ú[Ô¶¸Éy4ü\ÿ +—¹Úggò° |e×}yh             3Z™×/Å×@¾_ÐÎÓÊ¿^<Î»rÆ®5Õv[ÔµŸ<ß¸ŽNIgP=]nÛûâÏS»î€è            >õn¼ýù¾¿c:ÄÄí¹ÔäŸ{gàÎýy¿hKžOuW8ó>¿·+Ôåü¿¸+ð•gŠO7ÊÀ            çÖõuß z¹sæi™å³õGNó¼Ù(8Üõ&³ëþ:ã)×ÚxïVâ³x¹½Ï@\òw}ÿ ¥c«Ý^{¹ûh              ãåæ{X²~]OñWŠÏ9ªÞ>^g´cw7«èmšîûzg˜u/Ð                 3ã.»ëË@           ½ÌÏä2^ä­                ½LÀ5¹ŸhäÖuŸÊ¤Ï$ï¯)×’Ùh+ŠþN–óç]õ}+8Ü½wdÿ  ì              ;’õßšk3SªçÉ‹ßÊ7“¿Ø#óqé×:›Ë9:ø^Üøó®åž¼RÍßÙØë             —RxþÛ›zŸ/`o_öãñÞ¼û755åÛ\Î¾Ï–^µé»ãûÏô­ãåæ{O×}}f7«ç¿öí'Æu              <™³_.×ü§ò¿`çNIñ×´^øôo¹éy³“=XÎ¦§q¬’fu              É©m’ùu‹‹Üô/åÝëéÞ^ó(–wnú¾«¬’N @              ,îu@ÿÙ  070701000031ab000081a40000000000000002000000013d1fe2e700000292000000200000000000000000000000000000002400000003reloc/mscstyle3/images/msctile2.jpg   GIF89aN €ÿ ñëëÿÿÿ,    N  ÿ„©Ëí£œ´Ú‹³Þ¼û†âH–æ‰¦êÊ¶îÇS@×öçúÎ÷þ
‡Ä¢ñˆL*—Ì¦ó	J§ÔªõŠÍj·Ü®÷‹Çä²ùŒN«×ì¶ûË²ºýŽÏë÷ü¾ÿ(8HXh˜0—¨¸ÈØèø)9IYiy‰™©¹ÉÙéù	ÊyHZjzŠšªºÊÚêú
{':K[k{‹›«»ËÛëû,<L\‹œ¬¼ÌÜìü-b\m}­½ÍÝíý.>NN9}Žž®¾ÎÞîþ®^.?O_oŸ¯¿Ïßïÿ/	žÀ<ˆ0aA€:|1¢Ä‰+Z¼ˆ1‡Âÿ;zü2¤HKš<‰2¥Ê•,[º|)q¤Ì™4kÚ¼‰Ì<{úü	4¨Ð¡D‹âÈ‰4©Ò¥L›:U`4ªÔ©T«Z½Š5«V4O»zý
6¬Xf[Ëš=‹6­ÚµlÛâ7®Ü¹tëžp‹7¯Þ½|ûúý¸ŠÝÁ„>,6°âÅŒ;~92FÄ”+[¾Œy¡äÍœ;{þ:´èH™K›>:õ©Ñ¬[»~;¶ìÖªkÛ¾;w‰Ù¼{ûþ<¸ð—º‹?ŽÜøðåÌ›;=ú¯äÔ«[¿>XºöíÜ»{ÿ^öñäË›¿>½úõìÛ»~>¾üùôß½¿?¿þýüÑÖqÿ`€¶Ò_ˆ`‚
>4`ƒ>!NHa…^ˆa.nÈa‡vaˆ"ŽHb‰&ŽñaŠ*®Èâ‰.¾cŒ2ÎÈb6ÞàŒ:îÈc>¶‡cBYÝF‰d’J²Fd“N>yÚ’RNIe•VžU  ;  07070100008dec000041ed0000000000000001000000023d1ffaab00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/images/nav    07070100008ded000081a40000000000000002000000013d1fe2e700001a00000000200000000000000000000000000000002500000003reloc/mscstyle3/images/nav/Thumbs.db  ÐÏà¡±á                >  þÿ	                               þÿÿÿ        ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿ   þÿÿÿ      	         
   þÿÿÿ   þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR o o t   E n t r y                                               ÿÿÿÿÿÿÿÿ                               `ÅÔïƒyÁ   @      1                                                                ÿÿÿÿÿÿÿÿÿÿÿÿ                                        ß       C a t a l o g                                                     ÿÿÿÿÿÿÿÿÿÿÿÿ                                             2                                                                      ÿÿÿÿ                                       ¤               þÿÿÿ            	   
               þÿÿÿ   þÿÿÿ   .                           þÿÿÿ         þÿÿÿ!   þÿÿÿ#   $   %   &   '   þÿÿÿ)   *   +   ,   -   4   /   3   1   2   þÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ      Ó      Ã   +   	   ÿØÿÀ  	 +R G B A ÿÚ R G B A  ? »ÿ 	T?ßPÿ „Š/ïÎ¸Ïítõ¯Ÿèÿ „ªïÎøH¢þð£ûa=h£þ¨¾?:?á"‹ûÃó£û]=h£þ¨¾?:?á"‹ûÂí„õ¢øJ¡þøüèÿ „Š/ïÎítõ¢øJ¡þøüé?á"‹ûÔl'­ç]…qÌQKÜQE…QKÜQE…QN¢Š+ÿÙ                                   	   `   `   6       Çh»‚yÁb o t t o m _ s h a d o w . j p g             Çh»‚yÁb g . j p g     .       Çh»‚yÁb o t t o       ˜     ˆ  `   #   ÿØÿÀ  # `R G B A ÿÚ R G B A  ? ÖÓùÖ°˜cŒçëZ¢AØþµóý;y=_ó4†^~fýi¦VŸÓ Åzô”N;E(“Ž¿•!—)|Å=8¢;×ŸÆ‘eo_Ö5½ÏãE`êéN3óšC('*)~ÐÁ P'êE`8¢0gƒù<Ñžõ§	ð8`)`GÍŸÎ—í$þtÃp	ç?Ñ*)ã4	‡^iD ôÍñ0ôüè3.{ÐeôSŒÞ„Qæ:øR	±Ðãð¢³7‚2ëT<ïP1õªFEÆvƒøÑJ%#±¦ù™ä(¥Ó?=¿:PÙêZ<ÁýïÖŠzÍëüè2ªžÿ n_ÖŠüqJ%R;ÑçßŠ)¢cœäþTÓ2ŽŸÊ“ÎÏ|þS¾Ð)Þyõö‚8 QM3ç 	sÐÐf      ‰      y         ÿØÿÀ   R G B A ÿÚ R G B A  ? Û]"ÇêµWI²9ýÂþU®4‹Àµóý#i;3ä/åNþÊ²Çú…ü©‡H²"ü¨¨²ì¸ÿ GOÊ›ý•eø÷OÊì»-£ý?*+ÿÙ                                                 _      O         ÿØÿÀ   R G B A ÿÚ R G B A3                                                                ÿÿÿÿÿÿÿÿÿÿÿÿ                                       •       4                                                                      ÿÿÿÿ                                       k       5                                                                ÿÿÿÿ   ÿÿÿÿ                                       Ê       6                                                                 ÿÿÿÿÿÿÿÿÿÿÿÿ                                        h         ? ëfÑtö•˜Û&O ®¦]OyKdÉôÓM£iï)cl™>‚¾¯ÿÙ                     m _ b g . j p g     2       Çh»‚yÁb o t t o m _ l e f t . j p g     $       š7º‚yÁl e f t . j p g     .       ôÆíƒyÁt e x \gŠ(YÈéüéLÇÖ™¿=ÿ Z)Lù<®i¢áúRùÅˆÑAŸŽéKö…î§ðž~N¥¢LÐ'R1ÍàZ+?Î^Î>™¬òà Ÿ­Pó;çEg©ýi¾qþè¥ó½H¢Ì3…§ùäÐe>ÔQ½ÏZO4÷aGœ;°Íá.ßîÔ‚^8 ÒyàtPh¥ó	éÒš\“À§,„ŽSKžäÂ“Ì#©OùPe#ø¨ó˜tçð¦™±Ôš)žvOQùR‰˜÷ÇáJ'ÿ •á(^¯škÉËHn±¢ƒqÏ¤YÁîi¹õS„¤ŽsOûHšp{š*ˆëTwã¾j '±4S¼Ìv£ÍqØR{ÑH\õÈ/šÇÓó§`ãªþtRo?Þ£æ?þºczŸÀÑ@<õ ;ôŠNyn=è©•¨bHäþ• aŽü¨¦–rzfdtÐsõúQM!»ŒRcÆÒ>´ÆOB>´Q–wQúR‚EoaÖžK¨ëFæ”Q¹ÉêE ÷Í˜úÑOÜØûß¥.Ktò£.;þBŠ„“·­EÚ›8ëE41¨Ëõ¤‘ˆ4SÉ4ñQäç­Ìž*2O­8tRä€qNVli3É¢¢vm¹ÉÍ(v=I©G¢JàýãAcŽ´¥‰h§yýãM¡~ÔP®Ù?1§†aÐš‘žh©w7­4³nëO'+Í„æž9ÀÆŠrŒã4Ö$
“©¢¿ÿÙ                                  ¾      ®      ,   ÿØÿÀ  , R G B A ÿÚ R G B A  ? Üžqæ}áùÝ–Qæ°'é[77#Ìûàþ¾ª³ÊÞaëYóJ|ÓÖ©K+	Š§;fC–óÿ ­)>aÉóÿ ­q+y§§ëET™ñ'?SšAæpETš\HpÂŠ©;fN¿­U—Ì<gñª³¶éÍŸÆŠKûÎ¦‰óæžM2rDMÿÙ                                                            \      L         ÿØÿÀ   R G B A ÿÚ R G B A  ? íLïŸáýk¶2Œýãùší‘÷OÒ¾ªm!ÏAU?U[­ÿÙ                              e     U  `   
   ÿØÿÀ  
 `R G B A ÿÚ R G B A  ? êLŠyþuÔ	[°®œ¸WÏô¢aþE8ÌHäŠØôü¨¥óºóQï$ñJ&ëE!˜zÒo=ØSÃÔfŠoš>´å”ÔšQ6:ÑHflýÞ)L™è´¾i=¿J)VàÔ¢Luá!ö…¿hè?
àÿ ¤2¶qŸÈQHe'¡ý)»óÒ0_ÄQIæã©y„À40_J)Þ¡¢_`(ó‹{QIçc°üM×»/ç@uîGçEB½AŸ–ª-†š;T‡ ¢ž@ô§?ph¨”Çš‚2wu5Nzš*l½Z m«	ÊQQ?â¡'(n:QM=i…Žzš8<š)£­8â‘‰ÈæŠ—<š\ÝhÉÇSE5úQ“Ç4½¨§GÒ—4¨ ýê‰éWïÑ_ÿÙ               7                                                                   
   ÿÿÿÿ                                    "   q      8                                                                 ÿÿÿÿÿÿÿÿÿÿÿÿ                                    (   ¥      9                                                                	      ÿÿÿÿ                                    0   ™                                                                           ÿÿÿÿÿÿÿÿÿÿÿÿ                                                      ™     ‰     9   ÿØÿÀ  9 R G B A ÿÚ R G B A  ? ër„v®¬íöÍu¾jãøkçúA´tH£û´…ÐzQNÈô_Îæ/û?&äöüèª^h?ÆªžzãÅR2/MôSL¤õ™¦îwMó²qœÑIçï~´›Ö—ÌZ*©˜ž›?£çFOZ§æ@¢“Ìbz§çNï¯çNÜ}Eo>«IæûÒo÷¢©™Iþ,UetÇ,*Ÿ›èãó¢‘eÁëŸÆ‘¥QÓñ£Î#£gñ¢Ÿæý?:oKçŸòhªŽ>õUóCzU4tQGšWÿ ×K¼ŽqúÒù¤ßï<ÿ ’(óÎE'š}ÿ 1ES3>qÏâ*‰-Ÿ½­QçïþtRyÞ¸¥ÃøóøÓƒ_ÈÑMó‡ù4y¿ç4o>§ó¢“hþõFH@üª"ª:ÒŠi vÏáG^€~T zÔQMt _ l e f t . j p g     *       ôÆíƒyÁt e x t _ b g . j p g     "       ôÆíƒyÁs e p . j p g     ,   	    ôÆíƒyÁt e x t _ s             }         ÿØÿÀ   R G B A ÿÚ R G B A  ? ër¤v®¬í>•Öù«Ž‹_?Ò|£ ‚EÝ¦—AéE;#Ñ:w˜¿ìþtnOoÎŠ¦\ö5ÉïU9ÇZ)¥Ü¼j#ŸZnæÎ	Íy‡üšn}©w{Q_ÿÙ                                       e p . j p g                                                     Èôýÿ hçûß¡¢˜>ø¨Þ¦´SýiÉÞœh¦RÓ(¯ÿÙ                                                                                                                                                                                                                           07070100008dee000081a40000000000000002000000013d1fe2e7000020b5000000200000000000000000000000000000002200000003reloc/mscstyle3/images/nav/bg.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  { p" ÿÄ              ÿÄ 9    !1 "A2Q#aB$3RbqC‘Sr¡cÁÑáðÿÄ              ÿÄ /    ! 1A"Qa2B#q¡R$Sbcr‘ÿÚ   ? ùÑÓN)•Ç‰o©“DÈ_•†¤"Jª[`>îK/ÂY´ú2SÉ&Ò—¸Ž³6ÕÝ÷=ÄKSÛ(‚U"øëaå¦H±“¬b;1Æ3b¢{1å„Eå	Ê7(çÆ_)ÀJ7ª×cž×Û‡$¢møÝoPrmÝi^*ÅKÎã 5‚1InS`ñì7&ÞËcÖeËŠ1þš1"/g Ê‘*—$m«	r ýU]rØü·6_|=+ñŸ
XÅÏ«ŠÄÿ ]v©Ð{'”M]ú¬1W‘Í¢RùHÇ|é%t¢*Ó¯»­|£ÀÇ“Uš_Ôæó,°Û¶Û`f s÷V6„eµ±LÞS“:|D,UÔG1^_RÙÃhvòÛà\¹%>8áÆWOö±Î~7PÊ¶Æ%VÕ®sÂÄÉˆËŒùsãØ(=F\’ÕW"ÑTœ¯ö	ö9 Ý°ƒ–†ë’c'š/h<Ä*~Çå:E#,q±³œQˆ~éòo¥ü)&ùf§-úKLäLÓ|˜ñä’½6JAÏ%xšÁäš¸@e“$I±côøu4n6”CMŠ7ËÕÊ5}Ýf\“‚GÔåÉº2úsKÉrMGócož¦÷‰'»—#jq„eÞ›ã“Û7Ûàïþ[®¹YùV¹oÿ +˜#´à~ïY’§æÞÓðÎ/*òÖ)7ÎˆG‹ûM<×rEMÑ/‹|u9¼³Íã‹çƒhƒ¤ÔN#uì¼ðQëk®Ã¢:~U«œ¥õL»·Q¡Ì\¸/~éä"ÖÓå»•’Ü„½.9r/)$Ž€#Î é—ÉKçÕØ¨ÆÊ1œ¡Š2Ýél±i$·]ô¼æ+Ã0yŽ—Û˜üÃsG´íF"/Û¾Ny ùC9\øÜs9Ý&Si=±3dÇj*s.ÃÂtÙOBBÿ eh÷Wú]Bß' 5Í7{UZãÄ||§U‚[90¶‘Ž(ÇNFÏÀD•=w?™ìd8Çþd©ª c	Qc&ŠkÂ‰ä„¥(¯Åg<Q‰G9˜ÐtÝŽžÏÄ<—Éæìõ!9 úfR$wsÇ™$X¶Fêy¦–Ôy·ÇO¢ÉWÌ™F¨*;#©Æ·Æè
ÜNÃËu³ˆÈÕ²-V4¥)9	ÍN ÞÜ^•|ò¼[£¿S¦Ç8¤{>‚e€,¯DÎ
Ê×1¥<d#ê ÈŒˆã>(Î,6¸Ï’¼¢wî*ÇƒÞ†YJ$X³ô–4hö0Æ¬®2gm|Z£®c—JqO¦Šñ(µ».•†£4Å÷QÉ}Ùÿ ²pdŠÏO£“Ô–IÝ`JG¿º¤Æ¸^<t˜ü¦,®ÒN Èb"ØÜ¡8áÓŒ™nF@qh”òèqZV*±"ÜcþÀ'>l,…1h”y| dÈ„§1ýPÉ‰ù=âcžNMmýÍöv292cýÏÌ®^äåkG²(u`£J€uefòÙêaûl0¢aÃŠÕù—«©• ”D9÷xÕò°k'™b~î#šÃÀíÐÆäFUµ^—uÇÅÙ/Óz†œzjÿ ;ˆ“uÝúÄ€ªLl™pÉÝÎ?±¥Ž$sCN´ôåˆ“*÷nÛƒ ¨¾ÙëTxðÆXÉV'ÐÔaŒäIÜ!Þ¨¯’:;tXÉbøÂ8„±åAÀeØ&d”Ã_¶¯ÇT÷ý?š^Ø3ÈÇ©G/Ûþ±ÛËW±+ýïÆ°ò]v)Ü´R¯ÏÔé&îvæQ†Ë#h²îÉwâå—id–—9Æ\G6MAÒ Ë»ï$¸ŠÆ[h™¼M–!‹—b“Ëéêòâ•önõç›•ÿ O%îQ¡Y³á’9at0ŒbdËÔF<][Iþ7Jkùå§‡s–L¸ÒÚ°YßÒ&:ðSÕE‹Ë3äLrŽ-=£RŽ	µ}³Ç“U)X×äX#¡™þšÈ,å›$Â¯n-qKé°Ä*å³âÈñâÏ?JÀ•Ï.˜»‘«ÓÊ2@%í†‡;iÉ(ÉZUñœŸ§4ûU†(JuÄ'Ši#ä/…,vK‚>òÄ’2eÈ¹â#˜¶“‘Ž+áÝÈâ=——,Ù#(¸äµQŒdw-÷$®Ö¬z¨ååy±ÊLr@J·,&È´/©–rÛ[cÍÒ7`Ÿ•jréôY—o»dàÔRQ¿PŒN–"RI8»ñjÏôîÀ0ê8 isLo¡î¤$ð][+iãäYR,ôñ°¡#›L+Ê#“‘)<*;€x7$²q–&%hÊdðÈ ¯ŽHÁ¯nŸ»ïg°{qáÈ¡¨Ëæ:ìIŒ»]ÙVª}ò‚lCIÑàÌ%KÝŒt™¸«eH+UY?Kjpæ”CqYg~ãÚ2Í¡	rÔ­.¤^Õñsãò9'²Wî“Õj"2û¿iqŠþF+fÚKý‰0³N&å·K­Å’ÝÆY$Ù]“k˜´Irf †Xæd›ŒÞPÚÐT‡[O‘›¶|˜\!6$"÷÷=!)Zƒsƒ$µŒAkeì|“[§9Ðê(ïn·²‘ÒPÅ•	ÅY^Õùv›QPÎê±ÅnR–g,c.Ñõ<®ÈîŠS»kÝÜÙ¼¯6(7¤Ä;¨‰.L{lÛsc”'Ï
É$vZxLòÝT¦BÌ2±Œ´¬¢A;Û,™ˆÓö›g.wPøo§ÃÅ2ûhWìÅÀ‘rI‘a­´lè±û9#Î)J7L'3Õó›'ŽÔ)Ží¥ºoéí&1Ã—$l÷cÀÎLžÝñž6cG¸ÆugWâ_éÈfÿ xã¥Ý3<l©j<ËÚ[&–é§ÿ Mk%Äõxñ	ÄòGO`4ï§	YÙ2Ü÷\VØÿ Më,‰çZª¶§9ÜŽ
%{¨ÇjÙûr‘(çÍŽ|còœå8h[„dr½î«kç©å6_ª~ã£ŽXç?ÿ Þœe¾Ë£C·«ý?ÙŸ6¿¼ÁÓhÌo6J²cÌÊ6¼ã’rËÝ\ý?€n:¼Ü¢j4Úh—ÜHGw·]Á¥®éù¦Ôdr7ÎÇ>dæþÈjáÔ¾SƒŸ¶Ñ—Cª9qÀö¬òGZS+â§ª”l‹“ÄÜ’Ÿ†q„jòd”ªÉBxb•_{É-SrŸ+*7m>2‰XHc­ÈÝ÷­Çú‰×fŠ;vÓRý9’u(ý4×‰˜q’š-\#2‰Õ¤™pnUáˆþ–ôáÏ°A¸Ï´æ4É$Ä*T›­W‹¹ÿ ²d„\¸rÍçö!“,®ìVz'ŽÛT*®¯Âü¯QzRÐj§Ê>â(Xù.šÝBì>Ö¼ešS*<iäÂr"¥ÆªDqJUgtZ¹x¶ÇÔÄß Ÿª$2Fî«å<˜"šZŒÔ­Uj¦—•âÅ8ÆQAP2aÅ$(—2ËŠ3^m}HÈnÕ§Á¡å83;#9ådÑpÇwHH•I©ÚÅ"ûƒ›Sé¯¨&§.–‘Û›:ÀÚòí%Š—¦ÜZÚn7HËÈqéÂY5Xuú9ÖÜérÉ­Å+Ý>Þü3+¨®L9#£œùK¹o¹"ûÌÑjnŠYqÎ±ã„¤•Ïú|j± ¹åË’Å¯Ò·I½õJÓúŸvß.ÖäI;2lÐòý¹[šµ=Ïpî?.ó•1§“ÄøtÐ³ízY€8]KÛ@¶£äÚ»\8ŒÎ#y±YÄpÉZÛß$P§‘êHÇÔÐj¡Ì®X£¨ŒQk‰Nk×¸åã‡ŠµÆxòe—b6D”c‘*7o¸ÈßzÝq')lôþšSOŒŒGÿ .^ÜåŽË7Æ1ú>ê<žE«Ë·&]vž3HÜ e]­ß¶y—kr¨ÃâOgKeòl¨ÿ tÔdj6â_vê’FP¶Õ*êïk´æâ|46ÆSÔ`Æ­™§‚æQLc<wt¥ÈØ…øk“chžmLØðB4ù)UäÅž:7$—ò'3úŒvc÷%(ÄÔa8ò½]Œ‹4hNûmâ6X²K²ËØ1‡¼‰ZŽ]Ùû‹«òGGÉ2îý­Ÿ%ñx´eÐÆ1”vJÚ	¾—‚2»Y8ylíŽ=$ñPLQÆ3ºPÍ¨K%*w,n+à-ÜÞK«ÚNSŽ-‘ŽhKl£ÛžcÌ†£Š¢ÉPáå­á‘žI5¶8°á$Ê,U’éæU?5eÿ 
9Yeâ«!¡#†«£tF®¥]ÕêhiÇŽdîåïcËÅœØÄ|ƒª‹/”yŽéJ&F;NõZ(E–êv‘Ç)6UžáäYxÆ!Ö²©dŒ–2¸º¹$T.½8B2#ÍÔV[”BãŸ”ëmæ˜ÄGSƒ'¦§7#Š$Pˆ¤•:£	dòòNìº}Äå†-TTW’õu¦6oå›à À.,¸×/mQÐTæEVÚH¯j²«rCà„làcËUÙ	ÅCBnÕnêÚ†)3wÃ$ÁûÖ¡+ÝÎß¨ÇŽ>@.îŽNÛÒfùYIõ¡’MÝû§#²RÒxG]ý1ÊÝÕâ‚üX¨_<óà²5`“ŽXt7ÁçŸ†?ù«SŸÇkp'tü²Nt•INŠð…ß=:QŒÒñâx¶W-öµÓç¿•í}Fýc+†lKK‚›KiÂöI9©ý>L§¢Å”ÿ 5Ãkl¶OM˜´zìxN^\Ï>/úbÿ Ér¿Ãøþ<h¹_„í›^k­ªßÍWËáñ¢4ãø¶TWG8öïTÕYÛ§Ê!–8Ä8Ô„jŠøŸmSŽÞýåÒA£•–á£Ÿ1âÃvšè¯÷é»¬~_‡i³;¶I¥Œø¨ÇY8õÚœÙGàÇ«ÞùÐÊ•K¿²ï®ø«xåð@ÔrîÈ¿É|=XAk®ï®Jñ>I/Æ)Œ¾ÑŒ
ímeÚí%þuÒ*ÝO$M<q0Çv‹|1FÍ–]!²ÕéGO¨¿U›epC'Ž‹š0îî÷[jü–3^y&Ç±ÅŠá±œrND®ù¸È8#ßØj9S/ãPüõûoåëÿ ·ƒãÃ©i!¨n¨#>ÚùôÇñÿ ùð£.4Ë.âíe!+E‹¶¬¿ãÇM] DŽªP‚îµ)—7íÝš×ÒSÐc1õ•°\Å~ïN 2ÚDûSälçWE§ˆ,õjplqˆ<¡·(¨È9S†Çí–ôu¡Æ-bÕ•#CÕ~<+’È4ãÏÑž4¨÷ªy?üó@ûa>ß•ŽØèå-uâ÷·¬ŠÎbP¨³ˆ…ì»;éxãÂûM>|ø%¬É%æíŽèÁÿ ÓøSÀuZ'4‰C“nLzVŠ­ÓM“Ï<ElæOee‘}Óà¢7uÿ ÏçŽ¸ë#”.øüú|Žà…ÿ úç±<1“äãÅ•ûÍÞ–ëôË#’BWxÕÕ}áxïNå,’>H©y)~5mÕkï¥pùo¦ïž8Ýzi=}°±²ÀŠ]*–±8I®M›?dÂEŒU°a‹-ü<ß!uvÜ†é=5PW×[¾¾{§Àç(ƒ’ydDå’F€©*¹ât*"†ðrë„ãzFX÷ˆBq«ì€ÏSžÜh²q£ãD¢€‘‘¯ªZ¾8bovrìj3*úþ˜2à@µzªâ˜ŽÓû—à­BIëîeÚóÌ{¾<-–;rÖ9gþ®Dt—“Ž9ðO¤ÓÊ˜j5 íöK6@äà¬˜¥Â´)TóÍËÃ0³Š‘–K]ÊQâQøÕP§üt‡VQVùO’rO)ÿ ©w{÷:\yÂIš;Q¯s·ªÌ þ$'x‹œâ>ù“²®Nt8Z½Ò:ù Š¾$X1îÏ#_k†i9£öáGWQ»@•v›Œ“/N¡;jôÐ‹ø9œøã®‹zñTc)+9v¦L°Ê'>ä§­Îïs«%ÀÅòÉ‹%ùc(ÕÓ|¥ÇüÕ×áQÎ	à±xíæ^¶WåIcNÞU©sog‰˜j&F1ÇŸJè'§‘]*¡

ïQ®)>¬ŽbTG¹®ÍJÝÐõùNüIcÍ&)è“§¿O'®GÞ·_2ŸêñÎÍÇÜí"Ç.))`%Ã$…ÕQwü=HFûy0¾Þi½ŽCÿ Íí]½GäŒe“÷Y7+%º\gBsò‹ùiµ{µðÎ#"9óFÎ%õºV%qDY°®oŽJm¯d‰"Dñ_¶Qß	©÷G\Q[‹xü×±cÐÆ)’YKla-Nå1–Ø¿û‰"ü²`â„iœ²OzD1ûhþÆŽµcXÈM$1O$|vå(¢ÚŸów×²jå[3æ’•¸ÖévŠ|ÆU®jî<UXxÍ©œ”ž¯,
w|”š£Žv@C§o!ânO—úk3ð,·4Wý¹ô<]ÿ ¦—ÄfxcÜ±]¿;£¶Óó¶Îú·òs·Áìk$IV„sGzïÏ/þ‹ûm~	JRSÆƒqcª<{oÁÝª¢c="Ôµ“”–ßïê òsÔ¨âßâË¢…ÿ x„žjN®;“ù#›$¹h«øº¿=,u¸ÄÅ7+¨ŠÙÙ8'+ã¤Rèû¹4sbj Hh°x;»ú‹¡RÑå«µþðŒ'á²wõÉXÊ»ÿ ?[êœ“õDR}ºßPGÎùã)ïi#¾„zb9°Ê4KŠ6Ëœ‹ÑJD—ÇVÅüøe¤ßRic
]ì}8Å‰¼g?í&Ø‰’R–\q#jÂ&ø›êe¬-_È+Å:hYÚÕœœE¿K^GSƒ<°CÆ8ôÚQaµrH–LøF=æèîß¶I¶OqgËlÇŠ§E¯<¡.!Â12ºhõ³]Gyÿ p$\ysõ‰Š„	EwÙ_ÂRPÏšËI ”F\O6–+TÑýãbÕpò¯Î¿WêHi!îæ0œ&G£ŸO$Þ¹>cüøž:˜ñ“>9±”0B]žPÇO{Þþ8ðÖHÇcnVÊÝQˆ8Oˆä•v¿=£g.a„y·N*S	oWñÈD»óçE¶õ9BrÛ“³÷K:÷ûÑÒ9%‘$ÐŸû2âËZœ(’Ê=ü¯ˆ©æ˜£–¢4†yDT¦8–ž$J—šOåÄÝ† ‹u’W&Ž†QÅ­ãÜñÜ{ð¹’ç&¢\Ë&HÅÿ kË‹«öüðƒâÃû2äãd5ò`Ä6Qqg«ð›o´Î—/kíJŸ­“Oñ[Ööt}>J¸«õ:’7Í·<‘€§_—¯Qœ¤;p#*8Ôc•FÊã&,ÅÛ?Í[È¦È˜ÂCÃÌåšqNºŽiö»v>¼K%ª$¡¾(•?ì¡ÓMW'>Ow.²D5q›ÏÏæPíØÝã¨œ/Œ‰¶W,‡ú! xòïzér9‰2#A7GJòß³ƒÀÆ`XsáØG#v<¼ñk$¦ˆçNlB7Õ·M"3ÝµÔíµ½Úœrµö›b+Ê¼óvøÓãœ’2Õb­ÛŠ×ðÈbÝH8ª8¤¯J2>X©Ýq!&ƒbg[+TŸï¬¸ÑžÒ1Á7z°=®;Ý[]´íë2À”¸X²ŠÔuÝ=Ž9 «Èÿ Ïå,¬±pbÍgA¶koÏ JpþO9j1”\¸™uÆm3Àp<îåæ•k›P<CÉžFAy‚D^€—|{½×ß|œ¥,†Å »c3°]Ë$šûÿ G{ö)®K÷eñ<qÄ#Æÿ Aß'Åý	Õjo¥BY)cÒ2Ö§´¯â·'Ug$'š|¦8ðû£é	/æXô’§¶ƒ”®»Á§†ÑõrA°ã`~6©Š`%~’ùðSdTú˜Ç‹°ËwC%§œjž¶ŸÈ/	‚ ’…VÏ…ø8þz«3')þÓ8ÞžñŸ*§Í­:®û³›—¦£R‘œ»ÿ 34{
*5WËÇ„µO«¾ŒYôžHEF[°²Œ÷LÛ4=²Æ¤¼4Î6„÷ÙIém8ceËJˆÛÊG‹®øÓ)eÔ@ž-IN¯]8˜Q—ß88½9BËœX@FÔâQ¶S1ÂSqN5å)cŒCÍÂY ÈóÆ¼ vz“HcËC.A„‰ŽË"oY‰5BýEM¬}6-òe
K§,ºá0ÂRˆsÓøâ®‰VˆiŸÜm‰G
Ïo†¯óÕðbÇ£/tõY³n=Cm¶	ê	|öCjxt–…ƒûŽDß=<TëÛnÉJ§ÜÛÍÕR°Éœ…†G`¶D½=½ÇëµQÙ<)ÄÁÈ³7¥ÃHüvÿ vÓøo[úB´™3OsŸ[!VRŒã.^hŠÔS‡ŸK£;Ž¯nî&yHÚ÷D#’UT¶$®ìãÃye .QÉƒÁ‰îÿ ËCÏ%îã—›ðŒ¥ŠmC%¯{=97ü;Â¿6<Ýr#L¸md“ûsCWú¦F»z¡«ß]'†Qb ‰U¹Fao—áé¼]4¹ËªÓä“Åç/ü^9@»þ+¡øi4˜ÿ Â”é~èAÿ <B%~Wã»±"a‚(IË”“R–Ýáßí™KüÝÿ –Ž‡a¨Žÿ ¨,'—š,·è¶îáD›ù®ª)É;„ì½ÆRÁŒ;x„³uÉßæº‡&Kx,%!*¥’G€ýqÀþZhwj±ôø¼êgMÉŽ9o5R”ºo8áñ¼4ú+Ÿ¿,
¹2žD§ž1éWžª>å§ª¤l’‘©•ó¶Y$nP¨ak¯šå(ãÃ¸5Xav›55qß©•üÿ LŸhÄ_á C”X±"ã]q¹	)ÛLNç­^Ž€Aå9Þ¿Nh@§Žªr;Žµ»z×$<ºå¹È½þü¬‘Ç§ÅrÉøããÄtòiä¨Î
SQ§ŒÈüJ”¯à•<%|’ùuš0fp•U:l­]úšIZ½ªð-Ú>É—ÒQ’ðãÅƒ–ðB|[\sub×ùÑî’böç–XÃô¯½ë»WãÇY…Å¥F|”¶f\”iýA(¶&ûºÕh‰‘¤­ÎmDøº3â–ª9L|]ò–<×>7Çô´T&Å¾e¶¤wMê¥ùî†Î‹—‡œX	¥Û'SžBñiÁ«¦¥øîøÙ0Gm«g­®,b_/MôÙÐ$N¡ñ[ÖIJ,Eº°Sîêº¿ÔÊ"­ÝÇ8……|¥(>{mèOÓÔG/"Î"×kÍþxÿ ÏWã@ÓÏ.<†1“XåŽyT›ÐÇ«©‰?{"p9.U5êa%c‡‡…gtÕñ8ÄÛg7)uµãŸ†¢ÍâÍ Ã,u(¹!¥‘Â[Çf}fB<²Ç–ddEáé5Ç¥Ç4±œòµ-CU[ªäëÏ\–PšÂY°G™íÜœÙ8Ê`b[«¶'wWã­#«ÄXbÈ¬›oIwÞØã&G‹‹Mò§Áñæ„á:ÇšøzqÆìMµU~ê þWÇG¡Á‰ÇlW“¹M>êé’uã:­>¿j–‰¸¶u+ù°±´í½þ£"÷§.QˆÊ8˜Ž‹ûwØöüô¬3ÇŒxÓðÆ¥±ØÄÄöÓnÿ ŠëœœáJÌ¾ÚoÑÅ—W©‚ÊŸþž|FeË¥”]ßS&¯Ý·SÕC$£]¶ÝW=5(àÁs}6Ç—Ò‡?sÏ·Æ±Ó`$8ƒsDN;üüÝxè±”19Ï€AŒ%º?l ó«M¿ŽºªƒæpnD`OÆ$V+W{»Zwà:Š†lezz|»©dÂÔ¿ÝŽªì¥âïux”Ç­e.“q!_êÓíw<ûEKìOÇ§Ç;}BäpfÍ]GãÔ¯ÿ ¿a„%“Œr¶Ö@Éí~îž|s¥êa)·–sVÒ-‰-wîSö=E“/§’2rÄ?µ&åÅRÌL>e¼—¿0ÚŒØe!–‹E;ã¬“]^L¶›•¼5gÁŸ Û‡&1n8cºOÿ W
|—VWáÜÚ}42ÜtºQüý.~Ó›q¼óß‡4a,»Ä‹ÃDDÒ½„h®(áðPç25/t’º°@—?lú×~ž°Npœê%"cš*¥ÖkvïÇ‘ž|iFˆ™\º³Ó(»¡øøëÄ~|øc{°a%D«éqÎIGI©…ñÏÁíñÙäÑé‚/£v*²m”gwkw´áãŽ>|DæŒc6>žImø°•pðÿ ·KÊ/†°ö“·*F¥Š#¸ÆGÈo·z­ùò¯ÐãÏ–\ã20kDé¯Ì}©Aì¾7[úäÝDe0Ž‡JÉ¾eƒgv”G„=rxpÕG“´Û‹wâ1ÿ ¼É®>ÖÛïÃÐdkhÿ …n¯·÷üøb:œþŽ7}\Ñ#D¥‘öÆ!ÐtxŠY™eãÂqPO’œ™”Wˆžnï®–X<	rä1ï(Ç•h¤ˆ^ƒ÷y^æâÝmÕ`É*£l1e‰ºþ6fš¶Éðr¯€Ë6q'£4 zžž\¿§#Ž9dìš!177dmñ)“$²F2žÙ.áXA°ª³mq}÷×à¤Ì’Ç®ÒF0Ë©Ã âÅ2p–¢0”Rp—$…Rv"	\}7©Ì®9Â	MYE^ ¡ÿ LÓ¦‘Šëb_\<ùý6&~ô}ÈGúhJùƒW?Rü{ße¿®¿ÿÙ   07070100008def000081a40000000000000002000000013d1fe2e7000001ca000000200000000000000000000000000000002900000003reloc/mscstyle3/images/nav/bottom_bg.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                 ÿÄ #          ! QA"ÿÄ               ÿÄ             !1AQqÿÚ   ? Îº½^O.9<bYƒ'´ƒôQ› ä¼þÆjcu¶Däq¥Àpl¼äw	ù¼GP:ö
Rç)v"õ6€¶Ú$l}¬‡Ø^à[]Q*Ú«†«Œ¬î£VÒ”ßâ r'È²L1UÊªR”b1yŒ]ùÌ1?T´jhk€
?ÿÙ  07070100008df0000081a40000000000000002000000013d1fe2e70000017e000000200000000000000000000000000000002b00000003reloc/mscstyle3/images/nav/bottom_left.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                 ÿÄ             !"ÿÄ                ÿÄ              ‘1AQÁÑÿÚ   ? ³Ë½Öó€r<¨"ûlxÐœ]ÏR€¡Ü“Y­Fÿ L)ÜÏÝj!JSI5Îûg¦Q­oÿÙ  07070100008df1000081a40000000000000002000000013d1fe2e7000001b5000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/nav/bottom_shadow.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  	 +" ÿÄ                 	ÿÄ               T“ÒÿÄ                ÿÄ "            A Ñ!BSTa‘ðÿÚ   ? žôª;º×‘J£±­y* +*n¢ê I[ØÎM©"›‡Ó1âÇ²Òþ•Gb7Zò)Tv#u¯%@›†hºˆVö3T‘MÃé˜ñcÙiJ£±­yª;º×’ MÃ4]D	+{ªH¦áôÌx±ì·ÿÙ   07070100008df2000081a40000000000000002000000013d1fe2e700000182000000200000000000000000000000000000002e00000003reloc/mscstyle3/images/nav/bottom_shadow2.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  % " ÿÄ                	ÿÄ "              ‘RST“ÑÒÿÄ                 ÿÄ   	           ABSabÑ‘±ÿÚ   ? Ï|UÛHxßkÖƒN.ZÃË,Ê”×Ÿ2IQ;Òûr©uâû•( bá5»Ê¦À ÿÙ  07070100008df3000081a40000000000000002000000013d1fe2e7000002b3000000200000000000000000000000000000002400000003reloc/mscstyle3/images/nav/left.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  9 " ÿÄ                ÿÄ )         !1"Qaq34s´ÿÄ               ÿÄ +         !1Q Aaq#‘"23DSdÿÚ   ? •ÖJÏP²[:«*¯™T,…GéÚLrI$žwœ1¬¯”f+PªÔ¤Š” ½¦ŽÒ¶»zJƒ2d–(8u²¸ 8\XŠF¶$hl2ÍM~ön~2€Lô´íY«ÓÉ¯Æä¨Ò­hš‡‚óâgçäòX¢WÉ­{Ÿ¯B¯…!Üû^JuÅ$åe«Û}ý`áŠ†Z´ÅH/R›|ªø õÐÀPfœ³>¾ÿ Hvñïá[êt½Ñiöû¥3½Ò=µÂÏ¡#Wëäygtê³§:iÎ“–¨žÚL+ÓVØñb>5"1JFG»6h;ˆ; Ñ@$sURÞ#N´2—Y+¾Õz½5h†zjt¤ªµ_ØM“¸2ÄÏ pÛÝþsü­ÿ ÏK0d‰ óY™Gñû?Ÿ~Ûf|v€QÉÖHºÎã Ré¸UŒMúËÿÙ 07070100008df4000081a40000000000000002000000013d1fe2e70000047b000000200000000000000000000000000000002300000003reloc/mscstyle3/images/nav/sep.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  9 " ÿÄ               ÿÄ :  		       !"1ABRT’#3QScstÒÔ‘“”¤ÁÂÓãðÿÄ               ÿÄ 4        !A "Qab1BC‘ð#$Scq“R¡±ÑÒÓÿÚ   ? òŒÙ8]ƒ”
¢VÒEÌ¢´T`G¤ˆBvZ”DÎjµ‚6ëdÐÁeå 5›6A²q³|¾\HÅ¸{æ½Ó&Ð†'pºS4vØ“{Ø®–¢xòQHI\ˆƒXå¬¼£rÖŠ%*(«s¹°pçY°…=µ{õ"ZãId‘­Z‹
vÑÆÒIv‘	ÕÖDÛe7';Rú='Ý¤ø²_¡ÁŽÃÝRûIñæ¿Gƒ€mì#ËÆŸ—åqú6÷ˆ2ð'ñûî»ty>±6¶G:Ykµ—äÛ~¢SÃ¡ÔÈ]$Kdp¹
¤YU ¤¼¡žÈB8£W ‹$±« @Y¶œ†V™a”ÝÛ0T4£Lµ•5¸ØqÂNŸ5E6-™žQÓ³‹9 ;@ÒNúŽôI.euŽgfqA·Æ@ d’ÄW oKä+b®N<›WE-@A\q	ªM…17
¨»Ž_¢ÜgÍƒÏæ¿ãü˜1_WMÇ/éNïèèÍ[|fËºÜ¼¼Ÿ£_Ã+«4³J¢î$ÏAíi3v„§I tõ‰ÚÊp|²‚;¾]@—Ï¦ß¶#íˆºôé ]j"—WòG„ÆÞ<ã°ZFa»ˆÙQ®šuPÜ†ÅcÁ²¡Š¦[6Š@Pó2ƒF|è%
ò©¥"‰­JY”tå”—À ›Qz*‚@»Mj›^—*ìÆóÊ¦Å£-Ò”$…š¢”4V½¬ˆNwWØËûSýÇÖ3äÁ…â}Ë—v#ˆó?“5'pû#ý=Pð«å¸4
ŒZí¥ÕI:ƒ<ÅwÖw:5<?–”Wc’ÖD™ÅT
zÙíŽÇ˜§p^Å‘PÍêýÚÿ n-ðþ§ðßÕ°Zy +ŠÕCÕYÔ‚JínÄÖ•Ë³±¯q§³Rª“R2  0ÍÉò±Ï†òë“þ+ý˜1s]“ñM÷õõSÂõƒðãË&Ë7/ë§ÿÙ 07070100008df5000081a40000000000000002000000013d1fe2e700000602000000200000000000000000000000000000002700000003reloc/mscstyle3/images/nav/text_bg.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   x" ÿÄ               	ÿÄ +      ! 1A"2QBa#R‘ÿÄ               ÿÄ &       ! 12A#B"$3SÿÚ   ? ôhvüxÁ¦W%ˆ$®63
ð‡v6tEoV³ÙÑŠœƒá4ŒHÐ	O,d’)”6Ôé|Ý˜a{I½›bÎÏÊò%ù;ßP}#«H»gotpàäœZÌQ&«öøÁ¯»¿v@=LØ1N8Ü™‹h97+ªùcJ¾ø¦¶WPË¸í±ÉñÇ&	ÊË2ÎhKñŽµ¤Ré=)šxyq|òòXÆ0+êŒ¹,Ä›?P¬<RÙ*“³cË	LˆåBH-ù‡%EdYš4J×!ÄVÀØ—•Èñ¦1Œ¢«—Ix–6@‘¨
/Cb‡÷Óg¶Ã*¨,Bª+q%šù¢KüVÍ‹ßVF$x³É<CUSqÊÊ·ñbË	)¥”NW´wÕø{XäÅ,©%ÿ ¬¥Zañ¹	¯ ½¦ñââØßŒæù„Ç!@²AÌ‘¯’Iáu«ûp_ LÁ®r¢hÙ!¡B¶(oj¢:×¾)’4(êÎÊ9# P	 ÿ ¶Ñº“ïøôA u/›P’ãÿ ‘ÇeofÓñ€ä{Ù¿s¸"D‘<’Š(Îþ6ñO¦®à/ÝÛÒ£(’‹A›6nÿ kŽRc)J£ø—ï!ê°'µªÜ™w	UÍ¥t-D‘hîö¼tOƒµ/iÀb/¶LKþ…–[Ñ¯´cr£@ñ¶<h›’±är…Œd¢Û ?¼_Ñƒõ½=x°jBâ	\P…äÿ ,‡• nÈ½’MÑöKu	¹N^IÖ¿Õ)c‘dxÛ,Å›Ú[/¸–¡Áá”¡tTÙdñëŠ,Í'­ZÑ~±éøíø*·´êÛRšYÈ¢Ð_]F^ÆÄ•ø2Ø!_øU”Æ­|´ÕÅ®ÆÍ’TÆ|G 6axý•D4ÅUþØìló ìÿ å ¬”Ã’1B‚ÿ )…?`ÔÃŽ0­‚êŠû(ã€ƒ’ye¨ñ”ål‘ŽwB~û}tßòr!æ/.È”îìÇÜâœI ÑÈJ*_¯Cû4`ÜØ¸ä©$™sX]€#Ä"éXy_³Ù âòŠÍXdŽV°ž_ŽÄ6@-vM[91à‘Ê¹øÙ‡d‘íT¦0hlY¿7jŠt+xxNXº–0:½ ý’eðvl^:lñæ«)€¤ˆå‘$Òüâ‹#w ï­/
ð”çÁ€B(\n§›(—õMhp¾ 
,BF¾7&‰ÝÇÜÚE@Ð» YmÙcdäš3MAaµ¦ìI•ÏŸ#äÕ T‚GD¥ŠEN>)E\7C€}äƒ~îÿ ë]4ÑBÈÜ`Š'Q^ Ñ‘Gdðe?ä+þo]lP]áç–užRKÓqž(Á o²Áo —mž(˜ç8Ê^ç›’ø†åj
P–{×Cý+#+/sÆf²Lm³ýçˆÍÇk Ùû5(uÝo%±xÒ|”Ù 5‹bTeq¶ “@;ßuØáïçn.ðà4„ñ–¬øÆÀ~UoßCüŒ¸ªlÑû¨xè´v±ÛeÝzÖëÿÙ  07070100008df6000081a40000000000000002000000013d1fe2e7000001a9000000200000000000000000000000000000002900000003reloc/mscstyle3/images/nav/text_left.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                	ÿÄ !          ! "AaÿÄ               ÿÄ $            ! 1AQadqðÿÚ   ? Ö™ºNaÖ3WlcÕz‰]F£F>Ô5Uê ~]ñÊîF"$¥U`¯$ŽºlØÝ]^ú h8òÒËÃto_·õzÒi»I³,KVÒ“àºr¿ÿÙ   07070100008df7000081a40000000000000002000000013d1fe2e700000228000000200000000000000000000000000000002800000003reloc/mscstyle3/images/nav/text_sep.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                 	ÿÄ '          ! TÓ"1Aa‘’ÿÄ              ÿÄ (           !Aa"1b2CQRr¡ðÿÚ   ? Ò×ðMÛ©
e`Ñ¶Ý{49ApA9!V©H5ª‰<·»V/Ây*=³¡V àž2 È4ß-ÎÇ‘SlYwñ…à6£‹(r½´¤ÝŽA#K®YªººØ–×q¸;Hˆö…‘æ‘o8#±o
?\g[ÌË~6’¬Ð¨!IH‹´è1Ì [¬‹Š§–S9‚É	)±YMÀ'™-Á7€
€™´K¯†|GÒí±ïèÓCº/I·ýIîhÒñ˜ö3¦¸»¶úÜÑñÚõ^ž[}³¯ËôWÿÙ0707010000a307000041ed0000000000000001000000023d1ffaab00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/images/tabs   0707010000a308000081a40000000000000002000000013d1fe2e700001400000000200000000000000000000000000000002600000003reloc/mscstyle3/images/tabs/Thumbs.db ÐÏà¡±á                >  þÿ	                               þÿÿÿ        ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿ   þÿÿÿ            þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR o o t   E n t r y                                               ÿÿÿÿÿÿÿÿ                               …„¥}Á   À      1                                                                ÿÿÿÿÿÿÿÿÿÿÿÿ                                        z       C a t a l o g                                                     ÿÿÿÿÿÿÿÿÿÿÿÿ                                       0      2                                                                      ÿÿÿÿ                                       °          þÿÿÿ            þÿÿÿ   	   þÿÿÿ         þÿÿÿ               þÿÿÿ         þÿÿÿþÿÿÿ   þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ      n      ^         ÿØÿÀ   R G B A ÿÚ R G B A  ? Ã^"ÔnçTžU`}«@×o®f	+«í^¥j÷sÊFVÚ¾®ý>`	®ÍNTé‡"ŠÿÙ           `   `   2       àr¥}Ál e f t _ b o t t o m . j p g             àr¥}Áb g . j p g     (       àr¥}Áb o t t o m .       ¤      ”         ÿØÿÀ   R G B A ÿÚ R G B A  ? Š¢¨«çú(¢Š(¢Š‡í)ýáPý¥?¼*´§÷…}¥?¼(ûJxQö”þð¢´§÷…iOï
>ÒŸÞWý©?­pßÚ“ú×ý©?­jOëGö¤þ´jOëEÚ“úÑý©?­Ú“úÑ_ÿÙ                      ‘               ÿØÿÀ   R G B A ÿÚ R G B A3                                                                ÿÿÿÿÿÿÿÿÿÿÿÿ                                              4                                                                      ÿÿÿÿ                                    
   Ê       5                                                                ÿÿÿÿÿÿÿÿÿÿÿÿ                                       1      6                                                                      ÿÿÿÿ                                       ‹         ? åŸÅÚÈcþ“úWÞ&ÕwôÒ¼­µíCqý÷é_?Óá.Öçëô¤ÿ „ŸUÿ ŸÒ“û{Pÿ žß¥Â[¬ÿ ÏÏéGü$ú¯üü~”nêóÛô¢¿ÿÙ                                         ¾      ®         ÿØÿÀ   R G B A ÿÚ R G B A  ? Ñ×/MÌÆsöìh½aq!Væ1ü=Ö²â²Yþi†P±ú×ÏõTaTè@¨¨0ª zWU**ªŽÀbŠ®ÑŽKsQ›”'ïTBâ0:Š)>ÒŸÞ}¥?¼)~ÒŸÞWý©?­pÿ Ú“ú×ý©?­jOëIý©?­/ö¤þ´WÿÙ                                                      j p g     $       ³áp¥}Ál e f t . j p g     &       àr¥}Ár       %             ÿØÿÀ   R G B A ÿÚ R G B A  ? Ê¼Ò£”ùÖ¸‚éyWN>„V5þ‹À3[Òò®œ}¬WÃö÷ˆÒÛªÁt£*è0ú_?×Yáeõ-<Ç?Äv¸=A§á­Mï¬ÌsŒMÚàö"¨è÷oqG0"h‰W¨"Šç~ÒŸÞ¨¾ÒŸÞ®‡í)ýáEÈ³ñ-Â¬¿»š1.1Ðò?¦ÎÓåž&¸&cž1.1Ðò?¦ædÛkâiö>RxÄ¸Æ0yÓ?Ãÿ jOŽµËÿ jOëYŸÚ“úÑE¦§pº¯˜>P©¨Rœj¢LóåúšÏ¸¾•µ1!<ù@~¦ŠÿÙ               i g h t . j p g     4       àr¥}Ár i g h t _ b o t t o m . j             o         ÿØÿÀ   R G B A ÿÚ R G B A  ? ínåhmÙÓ´ndh¡f\dõ4LÃ½|ÿ ^uâR;·U™@¶×{â=E.VE {W+s®^¬ìÔíEÿÙ                                                     p g     (       àr¥}Ás h a d o w . j p g                           q      a      %   ÿØÿÀ  % R G B A ÿÚ R G B A  ? ï1ZØ¬\WÏôQEQEWíÐÿ x~u_íqÿ xT^zzÑ^T5ëÌ}ïÖ¼ïûfç×õ®CûFj+ÿÙ                                                                                                                                                                                                                                                                                                                                   7                                                                ÿÿÿÿ   ÿÿÿÿ                                       }                                                                           ÿÿÿÿÿÿÿÿÿÿÿÿ                                                                                                                    ÿÿÿÿÿÿÿÿÿÿÿÿ                                                                                                                    ÿÿÿÿÿÿÿÿÿÿÿÿ                                                0707010000a309000081a40000000000000002000000013d1fe2e70000014d000000200000000000000000000000000000002300000003reloc/mscstyle3/images/tabs/bg.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ   " ÿÄ                ÿÄ               QÿÄ                 ÿÄ                 ÿÚ   ? ÍExj+ÅÜAˆ-Ex.â h  ÿÙ   0707010000a30a000081a40000000000000002000000013d1fe2e700000224000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/tabs/blue_left.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ               	ÿÄ !           !"ÿÄ              ÿÄ             !"#ÿÚ   ? £ž-x¿gÝ"ìöc›[Õµ…Ž®t±¨DöUr+]ZÆþIQ:#›¬ÑP
ÕLÆU°n¯UŸ°xî½ÃuèO¯Ãä³ùa¦„ZZ±&Éµcz`KltQ!·?Ìm6Ð‚ÌÞGÉ;ä–G;s‹®°Xì qòyÊŠ%0ZÑiâ²&¼( :ÝÕ¡«†‹ƒšE¡‘DùÛ.w:ižçJþÓŠœ™/äTæÍ?¦»u§S¦!6 nV]W¾»á$SXpÒaß_¯i2“[.ÇM*n]h5ÇqÉÌóÿÙ0707010000a30b000081a40000000000000002000000013d1fe2e7000002bb000000200000000000000000000000000000002b00000003reloc/mscstyle3/images/tabs/blue_right.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ              	
ÿÄ .            	1a!"4Xq‘¡ÁÑáÿÄ              ÿÄ &           1q4A±³!B‘ÿÚ   ? Ñ¶éè¨·,\¹œWãê7g©>]…þ²Á(ù„&Ë')<ÕŠŒ\Jšç_‰ytÙ)	U`d eßŒÂ0šóX¹iÝ1­vEODq:láÌÞÃ ðEYªÒG VV.Ä§jN[* tÎ_AÃŠóS!Í§<=pUøøZ®‰Ü	»+	xý‡!«\¦Ú=§x˜Œ¶Õ§n-U}'Ø–i][_H¢ÚEFŽÛlJª?TS¸K%œ–f¢›š(£«2©r L%ANXÉ«N¥í@’j]dakYË;Óu‚$ŸMÀ ©+a”Ÿóü¾ßÜgbæG´?<ÞÒ%˜~1‰…ÂÀˆˆ·O¶!{vë3×]1«\Œ=xÊ
]ôÑƒâ–”]W¹ÿ XÆ¾åjoKÊ˜IÃ¹Ú¿ñ(ªê×âGÕî„ñ3yãÄK ØvÄ¶Ôî{ãÿÙ 0707010000a317000081a40000000000000002000000013d1fe2e7000001b6000000200000000000000000000000000000002700000003reloc/mscstyle3/images/tabs/bottom.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                ÿÄ $            V¤Ó#2AÿÄ               ÿÄ &  	           !$Aab‘Dc14QTÿÚ   ? Ë³4INÎ8ë‘`±Õd›MXyzìÜ|*\‘S®‹Ýž$D©âþ¾•G½uŠÀÄÁÑí’Ý/²úŽQ’*uÑ{³Äˆ‹ ¸½ÐRÚ¨³Ž£‘HLÛ-Òû9*9ÿÙ  0707010000a318000081a40000000000000002000000013d1fe2e70000018a000000200000000000000000000000000000002500000003reloc/mscstyle3/images/tabs/left.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ   " ÿÄ               ÿÄ #              1Q!"ÑÿÄ               ÿÄ               !ÿÚ   ? í¤—¤—Ã+KÍÈª÷.nˆ)\€ßdS]Ã’r;EÚÛ=•ðÅL>o}	¹=<™ï×5×šÜ Q²W'ÖWŸÿÙ  0707010000a319000081a40000000000000002000000013d1fe2e70000019d000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/tabs/left_bottom.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                ÿÄ             A!ÿÄ                ÿÄ             !"‘¡ÿÚ   ? ã8ƒ‘nñ¼FÆÖæ?R“Ê‰4ªtNÃ4`‚:#î«G**(DPª£A@Ð t)LÜ(Æ0EŒ§%Ð>2šÍw¡ÞÁžu«l†kV•n½¨ìíõ‰?¼ÿÙ   0707010000a31b000081a40000000000000002000000013d1fe2e7000001b2000000200000000000000000000000000000002600000003reloc/mscstyle3/images/tabs/right.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ   " ÿÄ                 ÿÄ '           !1Q"AD¢ÿÄ               ÿÄ               ÿÚ   ? ŽPžÔ¯1â†ÛÇÅôªÑ”¤©D I>Ô™¾m?}$¥3«Ãg'#@Øc°=~épÇ©š\Ä£+Ä÷r÷KŒhyF¥Â“©K³¶2ÅÙ5ed†šc­U:ÉU“l·tÿÙ  0707010000a31c000081a40000000000000002000000013d1fe2e7000001ab000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/tabs/right_bottom.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                ÿÄ !           !1qÿÄ                ÿÄ             !1 ÿÚ   ? ªÞ¡O%^J—«Åf¼ÊRH¦Eteo‚
° ïó™g²zWðng/g!{¤cÞÌúicV'dŸjÇ¡²O×q“]N±·€BâèØHÖ»µcÎ¨p=öLPËshå7ÑÉ>óÿÙ 0707010000a31f000081a40000000000000002000000013d1fe2e700000182000000200000000000000000000000000000002700000003reloc/mscstyle3/images/tabs/shadow.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  % " ÿÄ                	ÿÄ "              ‘RST“ÑÒÿÄ                 ÿÄ   	           ABSabÑ‘±ÿÚ   ? Ï|UÛHxßkÖƒN.ZÃË,Ê”×Ÿ2IQ;Òûr©uâû•( bá5»Ê¦À ÿÙ  0707010000a320000081a40000000000000002000000013d1fe2e700000197000000200000000000000000000000000000002b00000003reloc/mscstyle3/images/tabs/white_left.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ   " ÿÄ                ÿÄ #           !1aAqQÿÄ                ÿÄ               aÿÚ   ? Øim.ºÌÀíØR ú3ˆð:ý?÷#£2§3§KÁ›iRA U¸¹äû1æH§S[3F$I–pœr nmÙ¹û¡kW·À¥%…ÑBSÿÙ 0707010000a321000081a40000000000000002000000013d1fe2e7000001d5000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/tabs/white_right.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ   " ÿÄ               ÿÄ *          !12A#Qabqu³áÿÄ               ÿÄ               12ÿÚ   ? ±Þ6VÙw†LÀÈ*]’Úˆ›‡rà:¿>gæ¥uôuV‹Œ”5¬à•š‚:^ÞÎiîó˜W;Þ­+#£¶ÜÁ‘³šwaº¸9¥Ã'Ó€éî)JÓÅè<ñ&²[8ü¢ÎÉrÀsÙîÅñOwÀq²ÔbÏ×""—GH©_,žB||""¤M?ÿÙ   0707010000a326000081a40000000000000002000000013d1fe2e700000253000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/tabs/yellow_left.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                	
ÿÄ            !ÿÄ               ÿÄ            ÿÚ   ? Öo‡þ$qôKPº/EŠŽ"˜ê3ù²\wV==Ù«	Ó~™Ä³®Ù(N½ÛlŽsPßÝ;LÌwxî;Ž§ÐG<äÜË“-š®i¡jº@—Š¨Cå®¥q®+H&AWsö”Ó†{	Â++‹'†0cd®"ÛŠ²â/²Èrt»‘rÞÌUØèºŠ-ng‚œ489bú(hþiÀ•‚‚fÂÎ&<aUw™À›m$›§eöX¾É}µÛ[fìWìÙ¿aZê¬58\*ZäÐU¸¦µ‹¤„_}â ûÁdÂ•	BR•‰ªj˜íc”!++¤±+—Dœ×Çè"Ï“ €™‘ZÆ`|Ç¢ôÂ3'žyéùÿÙ 0707010000a327000081a40000000000000002000000013d1fe2e7000002ed000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/tabs/yellow_right.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ               	
ÿÄ -           1a	
!"4Xq‘¡ÁÑáÿÄ               	ÿÄ ,          1"Aq±²57Btu‘ÿÚ   ? ×/"8+ ù	<gU(ŠÆ‘JQÜfÑ¦Å!>ÚÇ ¨:	»;Åcìƒ¾¿Y½¯¶>nÞRqZÔÅfrPÓÈf3ikíƒÇý¡=¨ö¬a¡l°ž“ÆnÛ‘Dk¶ªÑ)Ã[é²ÊŠÍBYÔ)Ò]HEX‡ ªBl
qŠ]ŸdòñSb¡ésÞé<J:v'gIéÇ©6‰eÛg¢.Õí‚²3`%‘YMÎ³—E”	vNÞlªZ,¢€óøjÚõr‡šiÙ±R‘;*W]u–£Ë7¤•*z0ã±Ö*™³c¤wâ¢râó¡(Q…æá£euJkõ˜‘Ûjµ± |A_g|PÅíÉ°U 5ëÝZpÄe_ÃíýÆpQv.¤{CõÍí"Qïù‡ãL@Ù-kY-ã·Ý…—.÷¿}uþcr¹|âE.èÃÆ>ºs}~±Œ; ú›’¿yÚæLÉò¯á=íÄ«¨#_‰Wº¼<MãŒc,8èžÓ	Ùj¾W×ÿÙ   070701000031ac000081e40000000000000002000000013d1fe2e700001b3e000000200000000000000000000000000000002400000003reloc/mscstyle3/images/theme_by.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  8 ‡" ÿÄ             	
ÿÄ 9       	!1VW•–Ô"QÖ#2$Aa‘±ÁÿÄ               ÿÄ 5       !1AUa"¥Ô#Qq’“Ñ23b‘¡ÿÚ   ? ˜:²|zâvÏÉyc6Ï+é£]dà¨NÞ'×Ú¼)‡ÀûFqíªòQø”DäŽˆhõÀGŠ°æ8{Æ™NOëŒià£¨ú„+pž½N7LDÌ Ñp’ Éª§`²³+(ôÎ&9Iño%Q\½c;÷)—rúCÝ¿¥–xÞleéº®ÉJpd&lS!fèùÜê3–,>Í.·DW4íŠlò#ß6f‹¹	Ž›Ý›²{dñÙìÑÇ=ÞhÄ²É(åº ,’¨Çi4ƒ&(‰Â¯2²#ó&ÓÚp\à’óy’H-HbŠ8¾î3¯ú£‰Ïûp¡À–U³rYYÒÒÞ)©øríJß+¹Uüw§°JK=Ï°ÊÊ ÷Ð fO*Œ}ÆÑ·¸SjX'aÑOÜ try!ÃA¯òs±Í½Ò‘n+ÜÏZ,aAtíCjV4‚o¨Ž“,;«›¤Sõxð¤•|©'þåÓ"`c×ÛÃ±¶Mü±¬êÜ‚NaYkœ{kM!ÀF8k$R=e!l›Uº²Î&eP¬Åš¬Á¢NJWn\<:„lÑ,}³xa[­HÈ’»9LaÍW.¦šZeß4(zÖQ´¹¥Û¬õ¶Më0øˆˆY$û–¼Ô2Tn‹üµ<ø± ÁJ$äT‚'‰Êá#enr5®A¶¨2¼^Á?j+ÐOTcâgžT•Ô•êyÈ
õ-ƒ,ËÏªZîu'©vðÙ¨ÜˆF<‚sçö;¬l,ŠÇL¢qÉÛc¡Ü£8±“·Š·Ökè*'1×–dTªó«¦ò÷DÅï–L¿WãŒÝA¨¿<mŠ©b¹™œœk¢”ªD˜vîÚ:Dé¹a"Åg1ò,ÕEãN¬’ÇéöùÂSñ²ß¬äwW©¥R+Š~±InŒyåMñk÷ˆŒhK<;ò¦EÆIÃY& ¢ÍÖjà‚	hÜ±ã•¼/-1®`+Ô>àütƒocN›vwXÁ#‡Y7zäJâK,Ð•ò1#"¢³Ë§¼Š«‚$òª·nó¡¦Š¢šüÕt,¬íCoy³‚“™¨Þ^`ô%Øž_	ÁÔZ]¥³+ªe§©°ŠJåøž]pŽ'ÎœCX‘ †'##®¹ù†á~¾ð¾˜`þëáÿ éq?‘ˆ‡˜{1ùÜT¼T“eYÈÅÊG¸Q£ø÷ì×"k´zÉÚ*¶tÙtÈª¤¢J§(€yzWïyyÇËí_C¦~î¶o“üÂëõÚdÿ 0Áü"×ÃþÑóÂ ý|?á}oY¯øÑ«DpÖ¹³íúw-¨\•³¤{žu™WòJ$·±›ÕçGBvóüÜy4Þ¹#x«GÂU§Vª +L}#g³!X‘$ˆ:­Û£6›EŽ´Ö*Ö¯^§å÷t6WZåq<FÙµ±•“–• ú3Ïï	W¬å`È#Ú­5‰å­Ò<îL{ÅÞ^qòûWÐè÷u³|Ÿæ_®ÖïóÂ ý|?á}0Áü"×ÃþÖ"½Û+Rðe¬¼1œŽ‘ÝZKÐ5m¢«D½DGñŠyô íc%ŒªTòT£Ø-Ñó™©Yh¼¼(Ë¦’‰—Zí±ÈËU¶éYŽ}¡TO-úI“ÕêÑùN¤çr¥´Ñ1†Y=ñuÂ"ä¦•I~ÎÉñ32‰…ŽrŠ—I±Ô)÷‹¼¼ãåö¯¡Ñîëfù?Ì.¿]­£æ?„AúøÂú>aƒøD¯‡ü/¯Ï¼cÊ­#¹Î…%¦Tl\}mb§gµÚíëøÙÆÍXÆ§+oZhÚmTŽ|µÜ­Œ]ÛxVRHC´˜—4|L„khàž§)~rÂÃM•Î¨ˆsaæ–ýIêÔczß
ur½=kD”"“ôëdŒìîx5ÚD‹W2®ÜjT(“¬YIƒ7@÷‹¼¼ãåö¯¡Ñîëfù?Ì.¿]©Ž¸,;™&èOæoâ"”Ì„e¡·mÇÐohÅqšéŠ¾€XBA5HN¢I8P¥AKÉK¾U4fóµ9†²ÑîHSèÂ©Å)…-Î]«”½@UÛ8M5Ð?”ÖLŠŠê0|ÚI›wÌÎ*µt‘AA)‰î$pàS  ÅòäÏRþI¬Øò[*0îW4zª&IˆPA¼ƒ`"™‡ÛIL(*>“}©åMCXöçÚ}ÒÄ‡pH•´sº«U,Á='" ~4ÑÅ°Ž¦E1™@%•ÏÍ«›ìÂÙ5#Í·ãz*ÈP²Ò´óÔAWŒ’œªd–X¦#¤l²vD€­ädWùÑÖ™A»DhˆË4+‚.ÒAºj‡¤|Šg1@L™Ãí)Èa‰GÀ€‡>z:ß#‘%D’6Š®Œ§!•€*A ƒ¬HÞ'xäVI#bŽŒee8 ƒ‚?Žœ,m¾Gˆý¦v]’¨¡ãu­êejq#™ñkÙ–‰þ9dEˆâ²Ä¶Û|qÊ>BP‰{å;t@
¸ñ‰5$µ:íÌ(¼›†jñSN²ÂúAºn—UCzŒ²Ç÷Ns¨ ˜Ç8‰Ž""".|Šs£öâ‚Ì„§gUä+‚ØÒ@ERé¶®ÌŽ‡Çúf	U„¦ÿ jª$Pò‘êÈ3qg+ìÀ¬ƒ Ö‹”•(‡ôý^¿h€‡ýºÁÑÚªé¸ëd<§–ñ] cžI,<` $j¡A cè5¼:-5¯nÑ ãVŠøŒaæ©Ešy:ò»’{ÉÎ5Ó£·?m¤£Œ2Ba¼«‹Õé!—JªIQ‰¿
Ói©Ê6Š×3Tˆ)$˜{FT«Úë¤ï´z4ÓªÌô$äâ,Pdî}ÌtZQé¸¹j2%YRÿ Q
B:ò	˜ !“¬Q!+ë±³ [åbâÚ7u-i=ª"UËo`Ñ’OÙ²QË%\NQ©Ö3ÕáJÑR¦èY·SÙ÷•R	åüD«»ýráL’–[D+g)JV–nNj>ŒBA8"5G¬U°H•š2-ÌŠ?Éu]7YU›Œ´QV5,ÒBÔÑ±ü€’´Œñò¨SÁHU‰žAÉíŽXÎç=ñVYhÖ¦(æYÝD†žEFÄ9\Ì3&B„|¬ÃÌ?£¥øËpždt\4cf‹vˆ +öB›„Óä…Y“µSò Qö–9GÇ‘¹êÌ7Å²Gcº‹wª Ö6ßP¹&šÇM)\ööù­zÄÍøäÑ‡]Ôu¹‘VI*óe>¢P3ùÑ ›Íð:ÑX‘uflvúIf+0y6HŠÇÓ–ú9S¨»gE‰6§9ÎEDýf¬xÕ¹Xä¬Ë–¹ª†˜°9B ¨ù:£-(¹Æ‚Eò¥êè{e ò&ðõøé†8æ¶\èœògpã£@‹£…±€Cìƒ¥·Ù$†çk¬q#SÀßÈ,²’ÈrJÉÇ© ©8:‰»õà1˜Gqý-ýr<‘•}Ê¹WÚ£¢B&Ñ	™öËÁ]…¡Ja7¢Bá]—ŸT*nf×A‘º)W]]wÈ Ôö®ï=»ñjï]Ñ+X.czJâl¦[Àè›®Ë|³¢ä¬dT†•rvTl¹P[ÚXÈ*RzBtNÚ™4_v¸)ÔæìˆqôöÅ/£ËË¢òBÂåoT¾K0‘³²Œøvv–¥éTVâc”§¾xÅfÒM]=¡êù¥©Rå®«G_Ž¦€ŠÏ•CT¾UQéÄ˜…±ºZf/—T‹=BsfU•º8Žd ¢ír.©ŠÅ¥Ý„‚,”›kanší\Íø't~]ñÖ¿T¡½Ï±ƒâ˜XÀó¢ž“ÆøÖÁ ÞW²äû^q 7µ­ÒuŒUÆ:‘ijv)LÓ5‰QeõÞÞ¼D¯íýÇ ™büŠå“~ oöOÆìbòÁ=Æ'Ð©P6{~üŒS‘°ê.«n$ŸGÕ©p1ÌË1%ö5ùT#´¤"¨Ã<ƒüpÀtlrJ·ÈÍ7.³rcKãÏ¸Î³ˆœ_XÔž‹¿§-û|ëf6UékÎŒ…FN6´Á	ÿ ã*È}
¤Â0DÑª®ÿ ›œ±(„ÕýádRƒÍÌújÍ3m^^v?ž1óúÄ³åFö	}7[JiÈgª¢‚Q±$A¢SÑvd’9q~ëüÈÂkáU¥>Î¿†PÇøß•ÇÀ¶ÚsVøÉ—°È)z Md›†msaŸ¦EF%x¯KÚdsK“o ·M“Í«g&.|#ŸC"¸qa†Ñ˜OèqÓ&Ó¸ç¯¦{xä“ÑÎ
ç¦ìqñ°÷ŠŒë@QVhÌtiÈÝYDJy£ ¤žObÙ†3ÃnØ›=}"ºG2æjz¯¥u^l8¯]¨TF
0¬ÐZ+Ý‚–X%=Çoþ9èÁ>¥öŒhÔ[†rjý¸äüÒ‘ŽrbC˜+¼’Ýâù ÏÕmóÏuM‘yÕØÐ4ÜÞt¯ÕÐ+ñ³k”Ö5¸2j «C$±ƒ­óTæn§¢ðëØ•‚ÛmŸØy™Íƒò'3q<Î:‚h
ã‰Jå=¼|úÓI¼½Þ*Ôé”2ÐèC7+ÎÒQsðwoí?vk¸r”•ùì+ŠØ4“5¶Y¹-ÉŽ¢*-'ÎtÈá‘¾Gç‘G°4wxB8‘Õ$dÚHM¶†×l¢žÏš¥m½yÇêï$-ZGð#N.Ü2Š~‚õ…¨_£0¦ÚÅ¼®ma£.XÔÛXë·mEEãœ5*ÿ éŠRMÞ2lhÕlÝ&Ðj‰@ˆ·I4S!CÁJDÊ)@ê    í×ïÓ[¶?&Õ—³T+ÈÑnÚeoYŸ(ÑÈé–7óšu«ÓÞ¢É”ý.®H$T±»«ËE®qMƒØ´ž³	Ë.éVy‡Ù8Ë´[°;õ†3£PF=µÑ…ÈKDurië¸®>”I£VÊNBƒ‚3›nËâ›0’"ñâñGM\¦‘£V‹‚"­å­9ã×`dH‚SñHÆ$ƒu7% 7ŸµÓg*ÿ OôTø ¨êá¹‡þ!_€yþ_|yð~:kþŸßÇÿ ::éÝ…]4ûbÞe!ÌAàV9$Ç@O‰Ó>ƒõæ-ûE¢ãÙ/+G;*àÒUç˜ùzvkÛØa·>;r†“š!<»÷šæf«ƒ{ef«¥ tP( oô!ïñìåß,E”rí­ÅûAAº,Ê³‰#Êæ$­46ñ†ip+ÕÍ5v‘‰ü<hÓK: 'ô$Ð‰(¢gþ’8 DLc8H=çº]ß½W5êD#muG¥zÈU)”bù¹€S}*Ü‡L]DKµ2Œ¤Põ½•d›„R9z[ã¿"qî_P4k¦BŒEK‘RT5ë7z¤£€kj¬Í'ý´2æ\RKéJâïMHÛl[s í²L›H‹i(ÃÆ1¥o
½¹r®¸ÓBd¶^dí»@
“ñYZp:v2’fSÐÌ_	U-uÙõÔ›ŽÛCn©˜Es³/cÙ“‰+íÑüP¬$‘÷Ð€!`2B)'$.¯}ºeœˆ±Ùªl¤òØ‹žs*¼Td¦’æe¤EÂªÈ© íãY8	øGó9b»?ÂŸãSø%‘r‘R×2JÛ»¦]›’ÉJ¥¿c¢M¸fþZF°“ŠVI²É(ÙE!ÂH«A~ÈÆ1›MZìN!ÁR$d˜I¶õûµ«Õs‘u¦Qì•5J©Ò#Ù‡Zé½F <lû1s$š b£å„KäLR˜R®»•áw
Â²ë*m4‘*Šª¢‡IBÆ1Œ R & éU¾T1V<ôŠÅuh•°¥œJŒ[‹1.2€IRJaCjËC³‰hÒ
¶b$••–B¹PÄê2©]•™‚‚_,{â‰Ê¼«Ò©—Yº›œÆ5lÏVÍ™=åfÊ¡´4DÜcÄ×öWÄ}‚¿6ÀÍŸ&ÅëØÅÊr8\ˆ+j/k«eoºÒŽá–KŒ9ûô÷èK’î@ò/Uó„Þ(€¶VB»lnE$Ù*oXÔ¡ÈåÊ¥4›uÌv4¢òj‘bØ¥oYm¶›‰ß*Ðò6›b)@[”åSaôez]VÓ’ÞCKIÄ³xï£ú=º]Š‹¶L*ç|>õµÆ•‹‡¸wrmgºÏ·uSäÕZ\OH„TŠ´°gt™dáensiz˜Xç"]9ªF8wÑÚÖeœv›[U%®²áMG,rSÔDbJ¿—ïä‡=¬-$±©rÌªqà¸¸ÑSGt¢·ÔVBñÏ‹.2òh‚¢ü.0"•cŠF3)=äå9r³ŸÝw¼œo3Li;#‰ò+‘*É°’–œÊ¸÷p­<•¬•ô„LT‹ÛœŒ5¦Ë_+ÉXèõB~=¢ò‰4L_†µlîÕRu‘sÔœêú<9%)i/aàXÊgÜåO&sþKkÙ¼Â-îNRE‚Û¶'Á4m`®7JçpJ>Ûïºw2©š·M¢	7D DÒ!HR€  CÀÕ×£ªö¬:p2\ìíÑ¦òÿ –ü¥Ò3¾iâ—éÞVå»Þ-È|HHmeþaRÍéÛ&i ³Úb¨U´ŸZ*Oça¯Õ§yµÖ±‹K›8RBÉh×.ä¸=PäGœXæÃBÆ&¹cgå¯˜C:‹VÀålõ¦µ5>ÙH¹/^‹Ð³›¹Z#z¹–n¹d5ýIyx¶ÏÓ‰J¸­Ä ~¡!ý‡¯€ à  ì  ø¹Ý“¶m·TÄrÜ¿åd.IŒ¹+ÈPI!Ôìn!¦ª¡NÇìzq•N.Îœ#B ›¶V§u7nžË:4ô`3™ÛôÞYpWbà/±Ín³Î®AðÞ¹Ìµ3ƒeÙÆC)XîÛö€½Æ´†-gÑÚ_˜UY ÚMÝzžIdue,å´ZÎ(@¥óé ?Xø #ýÇÇ_z4iœ÷2îqˆóN…Îºfm–ò!~Mó7ˆ;õkí:ŸÂ‹“qO7Å-ÑÖ¥ ´;+¦6%-4ùGŒÄ´›‹<†.d&cd•sÖrÚû’ð¯”OùÕŠíÔÞTçø!s~JÕt¬â—ŸÍé5­?Š–±R‘o(Ò‡¹Ê•©V¨¥õ¥¼³VíÌ“øæG’MüTèû~Þr3½áx©Uå=¯œ¼|ÃùC1·e Åx±Ä:î¿N§CÑ lpiÙjºFƒ¥ÉTu	y)×l©sˆ0¦C³­9‰–|¤Ó©öðBx—Qªã’—~>hœ§Ùõ^<R¶
/`|ÓY®l¤ƒ{!LÐ-é)-£S«W+5u"Ô¼‹Ú|ìÒU{ BÉ'+[IXP——ŒŒb$CÂDÓ!Ls˜Â!P1ŒaðR” &0ˆ  ˆø±Ôú}Ÿ³·¢Ñ[»=xîÈ–Ê‰#UÚ_Jì.Pu¢Þ“Ë’z©³5Îu¦ÛíõW*˜©iby$‘Õ~HPHŸË¿×þõ
¾¾šÛM-UT‹Q©o‰€-ŸÓ8î' ÝŽÝT…¬v[Î¬åºÄ`üÿ EÂ(pX¤{dJÍˆEŠS&SOâ”KÒ…œ*Ÿ &èécÙŒ6MG‡©C D“bÙ",r” +, 9Ì GÉ¼ÿ ûç£®¯Ûö„³Úhè0Ãö„àæBn¾8 øàþ:åÁw{ÅÞ²¼1	4„F„kÑzxg©Ç†u)u€<TœlÜu¾—cŸ¡ÝàÖ3¨+…BUäŠ%ÉÀC³’UÊš  Çnè¾S]3Æ::o<ÔÄðÔD“E"•xäPèÊzÊAÐ(‚y©¥I •á–6’FÅX‚H ƒÜAÕÉ¨÷nî”Ç}	tªcœ§­&Ñ]{tc¼öðý¿¶DÈ“ÙššJÔœ€Š“-AYEÎ TL¥ð¹_]ëìÿ µÎRµ*
k"ZjŠ˜ áÚ0¹jIêXû‰'6ÑE
&(8/‘0g·³ý´e/,Ð9hà¨xâë×<Ã `F´;ÚæX‚IUåIéÒIzÔÉÄôêOS’s“Q^Brëº¿9Ù;ªë<v“K&tf3\ƒº;vª¤ªÊnÐ´Œ½ú]Š…h•íAäÿ œbàÈ¶:4}ŸmŠcdL—›Š^’¦*OÒ'’”
’•È   
    gGGMèvNÚ¦P[b—¸–ŸïœÔàÿ M'®ÞÛ–¢vcr–,t¯p=ÝOþãÓ^¿—CïýãóùÜô|¸jïŸÈþç££©¾Èí¿(£þ?Ë×ÐjµÛ“Íêÿ xþ´|¸jïŸÈþç£åÃPûÿ xüþG÷=Èí¿(£þ?Ë×Ðhö»ry½_ïÖ—CïýãóùÜô|¸jïŸÈþç£££Ù·åÇùzú×nO7«ýãúÑòá¨}ÿ ¼~#ûž—CïýãóùÜôtt{#¶ü¢øÿ /_A£ÚíÉæõ¼Z>[4"Då-öÉF@ªJ*Åü»×MWöŽ
EeÎ™½')LQ1DJ` €‡Wk1Ç¨ù<2õ(vÌSH…)Ö"D•( ˜ç õöò!ÿ ¾ŽŽ§ÐÙ-6×/CAOLì0Z4±Œt'$dwãÇ]@®½ÝnHºº¢¡¨I•ý@À8ðÏvOã©K£££¦šW¯ÿÙ  0707010000bbb2000041ed0000000000000001000000023d1ffaac00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/images/top_bar    0707010000bbb3000081a40000000000000002000000013d1fe2e7000001b2000000200000000000000000000000000000002600000003reloc/mscstyle3/images/top_bar/bg.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ    	" ÿÄ                 	ÿÄ #             S¡Ñ1T’“ÒQÿÄ               ÿÄ '            A qðSab1Q‘±ÂáÿÚ   ? £ÏØíâ¹¬Øíâ¹¬+nÃ›U\Ã›U\h#»»ú_J4<æ”ñëFYE0«p:ŠaVâ6çŸ-SÐ¯#3Ó†|Žé? IÔ/<,¾ßR(ž@¢ŽÝl¨_ÿÙ  0707010000bbb4000081a40000000000000002000000013d1fe2e7000004b9000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/top_bar/feedback.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ    a" ÿÄ               ÿÄ 1        !1QARa‘"2Bbq¡±ñÿÄ               ÿÄ             "1ÿÚ   ? ²oJõQ½+ÕNv^Þ‹Áž-­èú„¸U¥AYäpA:ÿ º{¿l¼W\tµÈ‰%²RKŽ¶â€Î”,u>ÇÕ/TËÍµdNô¯UÒ½TÖâTÓŒ<cn¡ô¨ˆù$µ¥XÁ$ó8 ç§>\ªJóKP-â¦*š‘….RŸÃÕ«Õ“Ÿ§ž1Ìö§µI‹èo½+ÕFô¯U{—h1™–”§dÂl¸ûf3ˆF”ýÚ#
#·*Sò'JÑxX¸­¿,nËÑÓ:K¸Ò/óFâbÒ½ToJõW"Ç‚…Û?1¹7ùúb1iK*lœ¢>Ð¯/ûN®ŒÚ£Bü™i·¡»«±’ ÒRÒ$„ƒüœÐý` ÆÛÒ½ToJõW\¶ÆKó'4Õ¹–[|L*!ÌèÒž¤œ^ÔZ]L'£\v$–_d)	i¶ŠB” yþ¡Ë¿Í=Ä0ÎoJõQ½+Õ^­)µË½Û[pj|i”-
iiÀ'šO<rëQÓ»nîÜ¥„Ëæí©¦òBJ»Ú…4ÝXÿ zWªŠŠñýèª Wfv’5‚|·eºãm>À@Z+!A\°ž	©™_‰vðÒY·lü‡’µRT–Çóú‰þëâdöWÅLžÊø¬œ`Ý³u¤¨¿ÝvŠmúSoË?†JXÔIÎ:“× òÞás\ûµºrY;oˆÌf•¯Q*l’Ðc™éÏ§Z¤q2{+âŽ&Oe|UpMLÑ®ÛXõÂ<´¶ÄöäÌN‡	¹:¦’ŠÈ#ÈäÒ¯í¤§K«jr§¥Ÿ-»‹°N0-¤«Û85šq:?wÅNÝñS˜³@chn=¹s­ôû{ii‡Ä‚€¤$å)XÁÎŸ,u¥Úhóã¼ÅÊÄ§rræ¥MLÒ¦Ê†0>žßjÎ¸ôq:=éÔ³DsjW9é¨kmv©´Â!!ÒÊ[$ ¥xê	>\ëÑÚ²€Ô[3lÁŒÌˆîÇrA^òÛºu#)ÎyÖsÅ÷£Šîh¨f…h"Ûî¶ÙÓ0Ü.(ºþ§^$­?HéƒMf^¹5Râƒ=P©ž/7É)J“ŽdgîÏóT~(o¹£Šîi¥¢è¹øþôU3ŠîhªÚ'ÿÙ   0707010000bbb5000081a40000000000000002000000013d1fe2e7000001eb000000200000000000000000000000000000002800000003reloc/mscstyle3/images/top_bar/left.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ    " ÿÄ                	ÿÄ %           !12AaQbðÿÄ              ÿÄ &          ! 1Aa"bq¡±ÑÿÚ   ? ÔIíbâ^3HÚo	pÛ·Ö!OW„Ì$¬v[=Çíì~óÑ,h¥~ß…±
‚i‡ tòßëãÚ[®jY…Î ´åÒ%š¬fë'ƒo"úŸ®Úq«¾™
eq¨Chkz2ÚÔ2²…7qsqŸˆAóÏ2‚r9È4’TÐËoOCÃ‡óFy9•‰d¹m›oÿÙ 0707010000bbb6000081a40000000000000002000000013d1fe2e700000c02000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/top_bar/logout.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   T" ÿÄ             	 
ÿÄ 6       	!T’1QÒ"$2q”ÂRSaðÿÄ              ÿÄ )       ! "1QAa‘¡ÿÚ   ? 5ò?ÚCââáIÙb¶?¦]@¥—¾«H•C­(Ù)Á/h›(pù'¥ªÕ (Ý«‡K.°¨†_{ck¸-Ìz	ÕíbOCV…<$´R-¶µ£a·W÷ÒÛ¾æp¯JÂ»g¿nßµÖ…CØ[üO!)ö]a¯Çh›(ÝRVí»È‘cnÚð9R'ÆV®¯Œ;nØ­FIÉ¸¯WGe¶l-¾m’X&. ¯=¸A\5Ûsó_Ù5û½6(6 ÈšýÔ DËŽyáÙ‘^ºW«D%†%M¯³È‰u§Åå¥ÆE“-îYéü®Z¾J¤6©ÒÈ
µ×~9…kÂd˜ÓŽI j÷¬Ñ¡j)æ­-yn×gE"žÛ{ÞéDøÜ&v,WTlî>–r±¥ˆÉý.Bºä |Í‰«¥©‚ü3¥KÐÚ­Š·8…Ñ³·ÆÈ+,{@—Î@m.ÎÉh®•„ÒðÊì±í¼©q›ZdGÊVó(J°û9Æs‡ïf}{;çõ¯¥[Æ­¶¶p»&À×¬Jxf¶Åíi2Ú§LB–Ü#GSƒÄ£=8Øµ’*¶Úu¹s!I•—rÌ¸Ý2¥n¤rÞÑaÁìêîoý»WjSòÛP«…hY‹7˜Ï±âI‚·¤!¿âÅV]WŠÃ“îÜpWW/BÍ¶ŠJ–)¹6qí0’Ô¼òCVY N±—|+Æ¬æ=œ¿ª:F,iq¸Ü˜ÍcäãlØ§%*w¬Ã^½ô±<“KôÐØvŽ´“ö¬X¬+Úž­)'5a°zöwÎ+ë_S×³¾q_ZúèxôËoQÊ~@îšN»e…E`“R9{?j»J‚’	­Ô‚É*t!c<I¥Jyô·:ÃK’Ì†Ù<NÐƒiêØ—M©¹êÔ~;Ðµþ±ÚP÷Ü †­a¶#v,‹Z˜Ž¾«Br	có-2D“‹2%°ØÊ‘6cƒ•t·M•Ç£25­2 Há`ò$Æq‘YeDSEåtP¯UÅÄÝeVX6¬t8‡<ÜzGa,¡#*›­X^ÎùÅ}kêzöwÎ+ë_C-å^êzO6=Kt€Û4ŽQ7´¥kC€À®øÐµiªðBé# òÓ:!fæØ[‚XS¬!A‹Ž";H¶ÓS^¸oÍ÷Gá%w4À:2‹¿·ï uP]ð~~Õ]’}*±®.$Æ¨‚®€li0óçä±’KvØÊS-L‡=˜£FL­aRÀd´g•áŠ8¹#÷"ä$&1˜ÄlœO!È·ªA×S`Ë$Sp¯Ù%‘Ü‡P’vÌeL\Ãò ñ
¤³kÖw×³¾q_Zúž½óŠú×Õ¢Å«lS}ÑÆ ¡ÛøqÈÎOŸ×Ff¶*©hâ}²NÛuñ¹19ÚÉ©÷Óª$Ë¹.cLE&ä¦"øþ!êKrg»f_M®r3Yr^ÑG¦Ëg’êžÑ2šnk„Áº´)BY››zö!%øã&:&Ï”ÃK…³”¼“´’«DÏ×+'}few€ªòNj+Ë²Æ;~\mw*àî4é
¬l²*H“‡–‰ÚYC/Ä™âÐáÏDi<={;çõ¯©Òò¤r$¸\òaŒ·aÀpP›qä…G°=ÈÃŽ°,³1Êd¼4²A¨˜f|4HÄy7!·™ÓHåŽDI˜«ªº¸Ú°#Æ¼Çõés×’7deÓ#aàè‚ èïD~ˆðBì¿ög*Jl—¤õ†Î¿7T]/´ÙµuÑb‡s÷á†+†‰\ÝËLÃ<¢-’¢B é%v(ò—+É‰u÷³3fíšfÊ×U’¶{3ÂÈ3l7q·LW-6ÑcWÚÌBIyÈù‰%#)šü–…¶ãP"3! Aw)Ôÿ 1+6X^@¼²YKˆ}•f;ˆz;í÷ÂŽò0—XyR’—ZZÂV´á^êÕŒ#ïê<L)1^¶ÇJóœ©-2Œ+9ü{á“Œÿ ßÇþzÉ:£p9œ­¬”Bvu¬nlLMmcf{,Q]f-ñ´‚>á26ýÐ>äõ@ÁTâ«˜²5mÐdIž[2ã(XŽØé×-i#LëW|µ¡ò)Rµk6¤+]z›Ö Å‚nµ¹©{–<Ž;T6;7zòÙ>”L5³ÙunwŠ§¥<üañ£åK‘'ÍDÀm>ð_Œ¥¯èš†Ö{PKÜõ-ÇÇÝ…£kÖv<u=ê¾Çx"L)«”j¥²[3\¡hz8†$¥â"Ô¶ˆ–ç';Ë_4î|Ã	S±¥¸Ä©„%0ë­-¹Qu—žu—Ó‰iö”´©M:„8œ¥Äc8,ÄæØˆ1™‰™èa†ÒÛhÄuöÂSŽØÇòþXéÏMáñ¸„È‹™«9Ô«JÂWÒ“„¬c;™9<ˆ«Èª¥}Sú§'’Ï_K´ñ±H™†B*4áu¥Oî,¦4³5¹–`;U¢žÄò$CRK+ò¼
ï-ôùíIcãÖËá©|Y°k[WRëp{þt©¨¯+«–GGíbôVÛ¼ÖîùŽQòUÃ5Q,ŠA¥.‡ÈŒ=;/§9Y™v^GP¹&EéŽ+]4Î—ÖzÓ×ý®kPÄ¦Ðìuª5ç ¥ÕŽV+g«Ž•–eÀpE]¾Ù6 
±.sa÷åþÜÿ í•ú:òMæ°"1œ‡6¹žNRã.EVP¤çáœgçnœÍS"·’¬…Ggv"öÊÊ©	‰{’.¤,_›1(¢ûâ2ò§N_$”m¾Q’ %q‚)Ú ñÇŠ…WÚ!¾4˜Ï³ÛŒÜsv€J@o"Ej+rëjÜ»h§\·ÜXƒ°­™R™h¿®†f«ý£!KœÐÇžÅÌ—,õ±J~¯«rG…w£zJAZ£ek}™7Zm*½XÉ'D°"x{=nïU\¼³Þn²•f"ùa2”™Ó¾u‚r¶‹]¹AÁ¹
CŸÌë0Õ…üsß8ÆrœöÇË«nyÊ;?¶C8ü³_£©j&"*b´÷å[i,Fï±ÌìÄºÈ?—6Jx·/Ï ³^K]øi„C
×x]ãxÔ 
ÑSJHÐ+°^oÚA·oi7;wAEâÃ\]Ø\>O\ÎÀyShÈ>ï˜L(†v	Ò5à²Û°"æàŽdfZ)Lœ‡âí#f«eâˆ-IÃ”ýWÄmuËkW	fßY°¸Bä˜CÕa6wöTË#$$„”(‰1$òÅv¿c/JCç(ì~ÏÇôŒ¬‡SäÁ¹øþ‘•ðè§N¹RÓÉ°=K ²!wPÚi
K"™ä!Ø–-òôHz6ºkjSq¦ÐSÇÂD`ƒH
 ŽÇ¦¦M¨Ð†„!¨Ò£½%n5„öíâ)9Nwáß8ÇþÇn§KËïÌ;ý?·Wèêtî<–&4HÖÀÒ*¨ßç@(þ óàÿ Ï×…/‡ËHìæ±b6|lƒûþ6Ñþ¿ÿÙ  0707010000bbb7000081a40000000000000002000000013d1fe2e700000d18000000200000000000000000000000000000002c00000003reloc/mscstyle3/images/top_bar/msc_logo.jpg   ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ    c" ÿÄ              	
ÿÄ 4 
       !1ST’”Ò	"#Q¡$24AðÿÄ              ÿÄ -        ! 12AQ"q#$&RSa‘ÿÚ   ? ’'of¥×’ÕÝÂÕŒQßwøëŸNúÅ}ëë³GÖ"ì.!îÝ¯ËÒ[†«³„×Õö7Ø)•·µt^ÂpH¤9êE1ná®’YÎ²²XËˆA¥{ºå¥4ýK›š×Cltí>ï¤°Ô‘»K× 6Nç®±~©b’uÝ'^
Í°¨…´óÐÙõ†ÔëQ°,­âÃa}ž¼îkx±¹®?ÚîŠ»$âNT§_ñ†
„èv•{Yìòipy•œ*>%Æ9Ffa¡’î“í¤?¤Ïndž. cÛ_síšº£L£ÆÅN€Œ?™pä1"’^ÇkYg!œêÀ}Ä%ü;‡£ôªq•#,á¥¥áÏ4c¥žj|)z¥™Å¡–£î1Ä/·ºÜtžG»qÙŸDNC;Ïw ­XÎ:r0qa¯brjWjñêGT	Æ½9²eøäæÃ´M5/xj½_¯B=°žuuRmSs^gÄ¼D£ä&!C5/ ­šë:Þâè=¿7™mOQ°Ò«²µ:Ù§W¬Š|·ª×wcû-p0ÒÇ')=XE´¿/.VdIh…áöÚË-a$°¹Œ<Ò¸ÁÉð­#‰Ñr±MBÙ¹½ðrÈ›Š|uÇÓ(òXÚ¹_nòøæ¼Í¬ljðœõãrÄu'i†Ä^KŽz	ˆdV8ôgÉ·šÿ Ð\»šif„)L/‰:‘Àun!æ)ÎÜ²3Šk)P®Ÿé2¬áæòöQ‡ÓkS‹±J,v‰dÕ)·—žúýéV;qÿ ¿ÏQëªŒ¸Õaí“·c=v“¬—ë²ºã¥LØcÕ¡àPó™ïŒ$.ëî9—›|€F!Ç±é^ÃÕáŒÍ¿¿¯'b¢®–tékÍVë¹ËÉÚî+jmxB.
„]®1lÉÇ è‚lSXÌy€<µA§/˜ÄzWC«™<¾]S*œ‡ÇKŒ©’ÛÉªµ/·øÊV|FÉ_ü­(ÊÏÐêoäSšÊ¾"Â˜YPhcäâeÑ(Ø¹¥²E‘-.ÿ c§(_òî·S¢¥{ãÄóÏ§}b¾õô¼úwÖ+ï_BL_“äëjAYx»¯4Yzî6íB9±q¨Yö=€
Lh,Yg*fL ¹qìV²æde½3ˆÕ`&¥xGS=§Æ¢Cò<ÛÝžôL–€Û"j<Fêý^æÂ]†JZ£c¹BZ%»ÖÈjub`˜zJQæå<¢!Ô>çòªg˜À]­bÆ}hì–,¨]æî¢ñ/ñ;ªŠ!AÓ áóÊM;QE;¢).¬äP£¢“uˆÄÌŽ¡††O>õŠû×ÒóéßX¯½}d„×zªÜ_!ªrøuƒ”‘7yš¸3š–:8a©ìHrD<ÑöD³JJìj@5ˆ ›¶È‡œñõ”Ñ¦±›¾ª˜×š˜=µgœtXyN6ê½óÂ"±Œ¹-µ6L=2;_ê¤ò¡¤bë³Ü$Ë
y)ÊŒo>Æñ9ž9f2hî&ˆóÈFf5x  'U“¡ÿ i_:'†ÎUgø”¢)wd¤UDç_%\ütFó#Zò^};ë÷¯¥çÓ¾±_zú÷ã”¬>ëâÖŸ—¼¶Þy)T‡—vtH$š-±lH¹n£‰îäÌ5ñãF8¥ãë”G¤,¥/õÓugm¶Hò6Á6«Æo(cs\ÓÊíbë—[Db>§+ª\ºŽäU¨W¦|@‘™´H²¸–Å’ajäe½oOÙb_2uK·iüÍ¯T;o’l:~¢°FýHp¹ä‘ð V‚MÙä½_ãKhíÇ6SÛôþC{ð<ï>õŠû×Òé«t™1ÁT¶ARL@•;¨)Å†!Ä+“0~¶ƒJ¸ÃM®B+×ðâÔð~¶O¡ôË]_êU`[L†Ëƒ¢ƒä#ÁþÛdT•:Ø::Ñ¢ˆðGƒÔkó½ÎœqúÑÆ‰(ªMŠl=2žT«gÅwâ`¾b¨ˆ¼½!•8aê½:UR¬†öW È?Ø)ÓùßºŽÿ Cãm+‘t­ÓewSPw5CcÜuÔ…L;lœ¥ÃfËl]gi£?;(Ë2®ìü¨³ÀXÙÅ¹‡#ujCãÁ;¼ã.-KMR”¬§";Œã·?Ì£·Ýðë·_&Oñ\ý:YeöãZ™+’Éj5]ª•Ón¿g±ÞˆüòéãZ˜òG¦Ô‡>²HœdxÌIDÝ	]Lb„ßýŽŸúúÑsêÉr\ý€œÞ“;&»Ú–½iâ|_î‘ö+lŽA[iq ²B7$´²;Õ'öþ,ì·.¦ß-ø’J™vA.¹‡ÔñbSöÝ­ÅixOÓð‘ñ aÚ¦Wß»IÈŽÊß—-ö«j]lI\s²ÀƒŽ`r$
(Ç’“ îq„¦œJ •)
JU‘×ŒaYÆqŒû‘ÛÖÍ¾y{Æº¬ê˜zªuÍZ2h›{ð&’y÷”;-8Ö¨˜ç+‘N¡â¦#™"PÙE¾¡Œ™tá™Ù3ÁHÇÛÙ:å*ãde^êa‡P_×'wÊêJÇ¨è§E×¨^¢¹¬?uçFxØ˜pZä]»ò	¾6.¡¨ó‘!òŽÖ2QÔW«Õ„ÃnG÷­ä-¦Ãt­zû±úÂ‚ãŠ$7]i»µŒt:Ó².9œáÒáÁË„¶	w³+ A“N(„æ,†ùÒR“’ZäFç…Ö«6=%^ˆÙ”Ëôtìná«A C»”¦2hä
L‹&Ç¼1Ñì8ÌGÍˆ†lA„=‘ÙFChxJQŒvcÇsáÙ×Èü×†N¨qeO+¾æP*±ßV{{UžÄ|sÛïÏýôw+…Áàß„L²Ò¥†SeŸ³öè5—‘Ü†ÙÀLdƒ¡O¯ŒÒAf²³8ÎG‘Â…˜Ø¶ÃËZ'Ëø¬ëUÉ•ó¨J;åbe>M±l{®~|¦ˆ·vA¿ór‹¹ö'Ûzçk5¥9 cMTêtÖç†ãyiªØ¬˜&§)#{ŽÅ˜[zE8tB*xUEªc0èQƒ7ÎkÚv4/$Ù kî³´r“UÍÆ§êvwcb£õt¾¸Q1­,’‘RQ’sŽµo2æ1pÊŠ$¢Yaxn«ÝíÊË‘üeþsíÆÊ’üeþy'/mIæÂä‰ˆõG¡d‚ƒÕ·¾ëpN˜M|NÚ^~á¢²˜ªüŸ'f	¦"¥Éð@S{×‘ÜùÐ Oœ(@­Op^v:±eËÜB’p›jp¨¤ùÄ"·ÜöÏ<:ª¼Gâ]ReØ5æ_Ã1âkwÿ GÝ!G—Îuµ5ýûXÞ¨g*·~pGïSŠö_®q•¦„Ýk“¶æ"š¯;+j¶²prÝ<D2"W]n0¾L—â¹út½¸Âù2_Ûþ+ŸíþÎ¥Eöå]*Ù¤ÙÙWEYò%ˆðGŠÑˆþëS—¸&5‚ôpŠêSa‚ÆP ùÿ  ?ÉŸVqgø–5gÚzƒjm]Rs“šo–ûGqUÑ­+jÓ.èý—Vl'i“‰bN+»,+DT„¦KøøI)Ùe(ø("¯Îºã¶)ŽÈ‘àÜ¯.¢q¿fíY1XmKíVÀ…™ÆÔÏ'g ‚×3H¬Wëò²²d¦x£)/èÎàž«‹íÆÉ’üW?N—·_&Kñ\ý: c{d&K(	ñ¨ØDùJ®ÁðhÅÈ;ˆÞô=]þ¢bc£ÝÛhvÌRsÙ#÷5 Ÿ‰Œ—·€lÌá°äÚˆ6vlÈ“®ä0UÌè²¥K~<Ûq!>PdYÌÆIŸxRHÉWK[¼ÖRâ—PåíÈÊ‘üeþ.//Ä¢ªŒ•!UT×d  7àþÃöñè;p|«±o¬Afí ‡b§^|øßó¿Û_ÿÙ0707010000bbb8000081a40000000000000002000000013d1fe2e7000001f0000000200000000000000000000000000000002900000003reloc/mscstyle3/images/top_bar/right.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ    " ÿÄ                	ÿÄ )           1AT!#DQa¡ÿÄ              ÿÄ %          !1aq ±AQ‘¡áñÿÚ   ? ¥#ââ¤¼¥¼¥(ÌžT¢²I>:EÉ6×çö•3GÅ‡+¾¯»Õ]ìºSU8UAcC×m¸øÛ¢…e¿›ßèö:šââ„–Ü%bæ\îªïd[CjVmìî1·väD:©rJrC¤´×1»¹%ÕÙ+Jò¨Ö6Ð‚˜4«§5–i¥1ÄAªKhøUds~&pjdšu›—g÷ˆÿÙ0707010000bbb9000081a40000000000000002000000013d1fe2e700000184000000200000000000000000000000000000002a00000003reloc/mscstyle3/images/top_bar/shadow.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                 	ÿÄ              1!"ÿÄ               ÿÄ             !1A BQaq‚ÿÚ   ? ãÇž |ª&Í–W)èž¦	e=‡Æ S*¬i!,¡Œ—Éûlœú‰ž«€Áz@™U8ì ñŽÿÙ0707010000bbba000081a40000000000000002000000013d1fe2e7000002cb000000200000000000000000000000000000002d00000003reloc/mscstyle3/images/top_bar/shadow_bg.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  @ " ÿÄ                	ÿÄ '         !1A"#23QaÿÄ               ÿÄ %        !1 #A"Qq2RÿÚ   ? ä,~8ù)¼"CßVÿ ,*¬«;M5¸ÞP‹öJ2ƒm;ŸÄ;¤bAÇžú
.ª6[Eá¨quåÄ¥2ÜÇw2¾ËýzG”]ˆê†)„–6#…5šÖK?}•òŸ EŒ0Ã#×Êã1Æ'ô|žûMZ¡ÆO%„àcöÑÍ÷W²93I
Q“è—³M%æë^88b^"ö<¸ãÊ\‹ó–Ku^xóÇP¯Šð†ÑþAb]Ð«ãvú®eávóo×o
éŒ¶Þr¦Ó÷l:l/¾×»“U˜q8ãÇaÄÊ/qœöò’]JXVEˆ-=R5ÓTå=¹V™L1ß*a£k²ñŠ"p ´~%ÍÓƒ³q:í?·âõ’Ã>#eú\^8C×Û–§ð–âó<Q¨Ò‘ªˆ­Y‘Y~^²ù	ãcëü[þöi¦{Kk98ÏÑé´ä[Íå[=×ã¼’¼]öùnþÛ¿t·v†_Ê·ÿÙ 0707010000bbbb000081a40000000000000002000000013d1fe2e7000001a8000000200000000000000000000000000000002b00000003reloc/mscstyle3/images/top_bar/top_sep.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C 		
 $.' ",#(7),01444'9=82<.342ÿÛ C			2!!22222222222222222222222222222222222222222222222222ÿÀ    " ÿÄ                ÿÄ $            !1B$DQa±ÿÄ               ÿÄ               AÿÚ   ? `¹•ÙÜ*¢bOeÍI&—@ÊÝØ¥|åâØéº>Òçè£â_ô–ºøŠ»¨éƒ—”‰™ÎÚæŠê>É+FE¿¨ÖúøŠJ‘ž)T]ÁH#"®^'´ª¡GQg‰ÿÙ0707010000bbbc000081e40000000000000002000000013d1fe2e700000e46000000200000000000000000000000000000002f00000003reloc/mscstyle3/images/top_bar/webmin_logo.jpg    ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ    f" ÿÄ             	
 ÿÄ .        	!T"1’A#a„ÒÿÄ              ÿÄ .        ! "124BQq#$ATa’ÿÚ   ? qï¯NüÇwøµ¡ä+
²Â ¶×ËO]È6Y\ÁzZÌ$¶ÕðÞçÅÒ„ÿ ­7åS¾RÏ²¯ÐÜêàËª-- 4tR–ôjŠ‡m¬ì2h‘YG‘¦Õj)3õz-¹þâRW]›ht¯£‚H¦³°câ"ÆôZÙéh+-lH£o¯1ƒôÒôiÍsà¹‘Wm–±“qLVS”qÁÜëvg« Ôrÿ "[TTiþ©7Ew–´•xº‰N?ãýl;†,ñF¬éÞaë‹Yãá\­qŸÕ¹Jh–ør]O±w¤×#* ç½¢-æ÷Ë€idL$C£ªYO®de%ÐMXÁâ)6ðïêíH\f«-¬"«È›WS±·ìéL¡º*ŸHª¶9È:˜aÇñ<¬žX£~”ûV{•Öm5‹3‡EgMÞvH±,MöýH÷úÓÒÔb¹ÝŠär*Çªþ¤·<ßåáÓ5NËHÝ§T›¬†cOp6€¢÷%WepùþQä‹FÛ£$JÚ´"RRTÈI½³'Ê¶—mlŽao¥®ô¸_-> ì.omÉÖás¬¥M‰¶3L|z!îÈÐ#‰¥Ij¤¤"fµð’èàjÆ‘8‘‹N›æÛYò.sôå‰kÉÕhô‚3s¾h4IO‹ºAÒ‘Ô<­,•ç\¨ÆŠÜYve@è8‡™îCQö;öòig;zs$X^[Ù27Ö±=Ò2Do©Ìõ+ˆäo­g~Ý½Ls–ª'Ü{›)^È¢"Yd‘ÍdqÆ²¾G½ÊˆÖ1EsÜåTFµ¨ªª¨ˆŠ¾"½Ñ÷UÙžŒ:|ÂÇÊ&ò?%òG'T¬ÏqîN%×ë†Í2ÄÇ[j´¶¾,õi%·¨rif²œ³#¯A£q/2óÞf˜~ZÌò¾FÏ!q7(Rñmþ²—7½®e-¥½dÔvOê€ Œ2‡ˆàäûã½„2‰ò’ËÖ7™0-çU–i‹Pâò±QEBë¨3æ@.`öã±¯òîd¬x#SU&2u0J3¢ú"†;å®:PyqîQûÃã•ÐHT‘ÌÄE|2:FJÄUTEtnD{Sº*wTOº*)ãÏ¯NüÇwø‰W@þ`´|-ÁTìæ®yÝš—›Éfítæå"U¡´zÞiõVõ ™4ÕUÖ…@V€Ö4Ž²Ž²8ãYFO2~^´ê¼»«œ…ôC^ÖÖ‰t³Ýé+²îÎºÀ°1uvb¾ÌT"I!X§‹ÞŠh^ý°¼ÉÓrqÅm1ì±õ­ë· ÁÄÀ¯Ä‰òeÜ¯2ü»Ÿ™ÆMy	ÊÀÉy¹©¡2ß}â§@;ëÓ¿1ßÝþ+ëÓ¿1ßÝþ[gç#ÓžO]QMG'Úbí	€VòÓ±äÕàœâœ¯€€œqMÑš‡é1Ä2Žš8Šø#2k:?9>Ÿ³›ê¼™9žTfbäÐ¬äóòÉQŒ°ù£*ž,ÏBú˜¤.5i³Òùë–;xFp$²ý£è¿ç§	ÞyCDëLw.Ó=µC©ü{¾<Eö{«vþŒýÒý©Øk`j§n4}ƒoíßÑ÷"åqg:jÈt5óYÙH¯ŠÆ	ì‹0¬‘g‹ºý“ÖÆýþßÏŸ×§~c¿»üE²×ŸøG†z½êG›«tœkcHeÈhŽ­¹}®8ë
JŒÌ¯¾$*²ESÆ¬y£!½¢ÎV˜¼ï<èøÇ7KG¡Çqo"ò=!âYj/)!@è²‘–±Æ¡Ïj`ÞÅá4AžñÒ:‘‘•îµùHxy›§q¯ÕÝ1é:Ñfr.IOMjäu²§’þP»ß$Ïo.g/¥“ÙSfgôbRŒˆí==Fôq?›°ûÀ!¯¯NüÇwø¯ÿ Â=Jã¹ï¨¹Y§¼S1±ºÂR Œ„Ø=Nöˆ²#dj9Íõ"«öör×†)²ÚiY?9ÑUæêÎU‘€*ÀFˆý¿oT“IÚTR”›u+ÝYHö?óûxMe»­šy6º¾Þ"žªÒ¶Â$[šBÝŽ¨)Ê×>Ì±E8Gè>šÐp.ªçÒ¸"¡ïK¦çŒyw4âlÉ#—òuüULOÐ:=Å§"‡¦¬´}f›?I“QnMÞÕÐfîxÛ‘5…VX#*¼ØhFÖZ²úâ	ˆl×þ¬ŸøñvÓ¯Ý)Ù¦b„Ûmhqî$òN¤¡Hªe°KD¶ |èÝHsƒc3©l”Ížµæ>IÞ©×_¦u)¦É‚Y™ÅØ(x†Få°ÉÔ¨P¤ êÀ“ÊqàéÑ±z—O¡úŒk4•Y¤ª¡^<NÝ8£s$IRÆ”$teÊLÖó' ð7:èmrø•óIÕ|Yhí´‡}ÈmŸ,´Â	Ž«²²l’èM§«[Oc %ðžƒÇZc†øÛ<÷"òçK@«W³ê(-¥±c“)‘Ž"4)P‹%T	ël‚õ…üeŒ¨Ð¹€b“-¯àüw"Ørn{?h†ÚÆk{'ËžìÈ™§6FéQ&–s
žEÙ%™ïr*öí•ªÜp®·”ÙÌVë·•h<$1æÆUB„1UcW%LUºF±²>½ŸÎXÌU4èÐXüGßêT:«ÿ ,âq!ÙO Â¬Häµ p;äÂÙ¹/_ÀXÈ@•%A¨å2ŠÃŸM5ía¦Aâ™]EÈàu·%ísY]¸ÛŽ©ò3kj@¿¢»¦¤Æå’7‰úí|‚ÆTÇUÚS p±ÇjµPÅø£Å—–sÚ×mí¹wÏüI¦Üñ?^Ò—‚Æ„0%×eN}æ‘+\õÑŽqG[štÌžåŠe
fG,R˜\ÑÈ¼-Î¢ß/!'F
ææGp(­G'ÆÍ°¡ÃÀåTsá€ˆã‘ìò5ÎŠ%g‰7€ñt·áóö'ÓÞWWbã(ñ95äÕÉ!¯	ƒÎq¨†“L|Q”JFKT‰UÄ?M€½g,¬GÅl–È_#!YD8èÂ^¢¡]6×ò÷â!Ke#Ó%. ²y¬`Qˆ+É…Xzh™ö¾jÁåJ_ƒÄZ;ÝŽnº:2la*ëD]m`9 bAÓYe×P¸ËýNFÃî5ŸJê×£JäÚK~&êàüt2	Çü§ÏÚCñJ+Ct´–ŽÓÒÖ9ÈJÅ(Y›ˆYaŒ`ˆŠÂ!å„>8zû,MV4õÔËœ¸ˆZƒ	.µídò#J™I”$*Ty3V©.„¬"i@B'&t%$‡Ê ™mÀ–|z¼si—<Ê48•ƒH†*º`ÂÇ\Ñ!8¢0´H"casÈ–gÆéžçøÖ˜´ÈÆÅÄ®OL’àÃ!#IQùÞ™;X”Þ€]ŽÉ#¸ãˆÆ7ÈÈž6s¶] ÔJ*q’G}å§î[‘Øc±ñ¿nÊ­Ô½fO-*û?‚Wbkr@bÅA†^JJ“/û²=Á”[ž¨®rÆ’wDo©S[Ö%N`~¸¼ñª@†åÜ¡™O›´·¡`iä3×2'¸©/Ç×Ù{}‘>È¾4šÎGâ-¿Õñ6’žæÃ)M`= 09ÇC$GP@J¼wÂ²9‘K²«ãï*¿Ñî5ŽmÍ§&q.ÿ ŽixÇOQsa› °‚Òº5ùÉ€ÑDú‡t>¹D1þ¦"JåF÷D_^õ\åL¬0rzn,¶úãlf©m&Â°›qa²ÄŽ@ÞˆÊC†[$úÙyÒ¯ºwn6ËêŽJtŽ€[{µu»úŸ¶X§…f“‹ò>†ÍûœÚ:Û“es»þèfmZN±/ßÚ“Û_ºxvž«ÆVyrq¥RÓ4©ø"ÖW–@9êq¼<ÇÇ#^ôNÄObZJ×wîòåG§w¯€´ŠÎœÊúÍ]IªQIÐ¯="³<H C¥ôÊŽŽx(‰šƒºÕÒ¹Ågf¢ÍOÌ¼cOÆ\F•–Åãm+¨$˜Búëƒ`Ãdb²U`Ã†4LUz½í…¾ë¤Uz¸~…<jf5²ð™r:vn,øÐ±ZärôÙŸeÇ"»#¾†ˆ&|Ç½Óe‹’sq2j«ÊqáÍFŸ»lÐ?ö×‚ÿ Êšõ@éçã¬ŠˆÓÅVµUU\3•;öNê½×þUWü¯Šð,qPxÏË™Æl-\„|†Ã$2½#Tcck®jöcÆµ©þ¨‰öñ^zWSéØ];ùRõa›ðm¯%Öô{lçz¿ëð³ÔzGQÊÎÉÈž5íRêÀ1S¢ ýô~AïðGÿÙ  070701000031ad000081a40000000000000002000000013d1fe2e700000348000000200000000000000000000000000000002700000003reloc/mscstyle3/images/webmin_icon.png    ‰PNG

   IHDR         óÿa   bKGD ÿ ÿ ÿ ½§“   	pHYs    ÒÝ~ü   tIMEÒvU×A  ÕIDATxœ•“[HSÆ¿ÍÝÜåL7u¢±ÍÌ"»`3•Ò[EÙ¢W{I
RJ¢¾Š–P-ÍKTóe¥yÙ¦sÇí¸©Gw9;mÎÓK‚L#ú½ý/ßÿåÿ}B$°`·×¤h4Á¡áá >qž‘Ø`˜µº¼Ã³«õõ• Äÿ: Ø]ƒAÝ’s~Š$5ºP˜å¾}ý2âZr·k3ô“jµ: ÓjÅæ²27€­h÷ímHIÕéìs3ÊÒÒÓåfÀaÃq§Ã!ú04Ð,—7755M[,–|ÿ
ýD¸#¦(ê
<R(•âž®.4ß€U¿‡´Ç+jmm!Þöõç
E"CwOÏg!øÒÇmmW `YVÆ¬ù[ÒÒ3’7Ö×qª¢.Ç<¬V+8ŽE¹1:1%·[‰DN8>b³U¯x(@@¾¸à¼GªÔæ†Z£A–>Æü8v0ƒé™YÄ·â(..ÇqJ…BQèõPEñmåZ¼M/¹j£±(ØÐ&V}4Ào£Ær<x××ññ1˜òM0™LA™D,Î1Ê˜Í`nA¾‰€¤ºsµ–¹éfÕÇo¬¯ñîE'ÿixÏÐ¦ò…Æ<^¯ÓòMÛÇJŽŽ’*å¶17‡UI“âR‰ä ÖÕóÒ:b³ÝŒÆ¶¢l8±XR¥Deu5\Ô2~±!TUUó‘çS)¬×ë‘	ÄÒp4sì|ï~Õ;UQVª?XXTâ^t YIBŸž£Ñsùó°²âþœ›ADR(öètiïwû N-{=”û¼T–œJj4È2b¶Ñ1ïÀà{{GÇ¬Á¦iÚ
à9 %MÓž=Öì{Ý{wÜö‘»tñÂŒ†$Ÿ¸ @*  ùŸöˆ`êûä[×¯=pÀ ’¿.ïGgg§,33ó€ìÿ& Â>IÝßÎi9F-ª[    IEND®B`‚070701000031ae000081a40000000000000002000000013d1fe2e70000016b000000200000000000000000000000000000002500000003reloc/mscstyle3/images/white_bar.jpg  ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ  	 " ÿÄ                	
ÿÄ                	W˜ØÿÄ                ÿÄ               a AETðÿÚ   ? ÔýÁ-8–”Û òø«!MBÃEúÙè#¤¤-O7Þq¶ é)?ÿÙ 070701000031af000081a40000000000000002000000013d1fe2e700000136000000200000000000000000000000000000002600000003reloc/mscstyle3/images/white_bar2.jpg ÿØÿà JFIF  H H  ÿþ Created with The GIMPÿÛ C ÿÛ CÿÀ   " ÿÄ                 
ÿÄ                 ÿÄ                 ÿÄ                 ÿÚ   ? ¿€ÿÙ  07070100036dbf000081e40000000000000002000000013d1fe2e700001580000000200000000000000000000000000000001a00000003reloc/mscstyle3/index.cgi #!/usr/local/bin/perl

require './web-lib.pl';
@available = ("webmin", "system", "servers", "cluster", "hardware", "", "net");
&init_config();
$hostname = &get_system_hostname();
$ver = &get_webmin_version();
&get_miniserv_config(\%miniserv);
if ($gconfig{'real_os_type'}) {
	if ($gconfig{'os_version'} eq "*") {
		$ostr = $gconfig{'real_os_type'};
		}
	else {
		$ostr = "$gconfig{'real_os_type'} $gconfig{'real_os_version'}";
		}
	}
else {
	$ostr = "$gconfig{'os_type'} $gconfig{'os_version'}";
	}
&ReadParse();

# Redirect if the user has only one module
&read_acl(undef, \%uacl);
local @uacl = @{$uacl{$base_remote_user}};
if (@uacl == 1 && $gconfig{'gotoone'}) {
	&redirect("$uacl[0]/");
	exit;
	}

# Show standard header
$gconfig{'sysinfo'} = 0;
$theme_index_page = 1;
&header($gconfig{'nohostname'} ? $text{'main_title2'} :
	&text('main_title', $ver, $hostname, $ostr), "",
	undef, undef, 1, 1);

if (!@msc_modules) {
	# use has no modules!
	print "<p><b>$text{'main_none'}</b><p>\n";
	}
elsif ($gconfig{"notabs_${base_remote_user}"} == 2 ||
    $gconfig{"notabs_${base_remote_user}"} == 0 && $gconfig{'notabs'}) {
	# Generate main menu with all modules on one page
	print "<center><table cellpadding=0>\n";
	$pos = 0;
	$cols = $gconfig{'nocols'} ? $gconfig{'nocols'} : 4;
	$per = 100.0 / $cols;
	foreach $m (@msc_modules) {
		if ($pos % $cols == 0) { print "<tr>\n"; }
		print "<td valign=top align=center>\n";
		print "<table border><tr><td><a href=/$m->{'dir'}/>",
		      "<img src=$m->{'dir'}/images/icon.gif border=0 ",
		      "width=48 height=48></a></td></tr></table>\n";
		print "<a href=/$m->{'dir'}/>$m->{'desc'}</a></td>\n";
		if ($pos % $cols == $cols - 1) { print "</tr>\n"; }
		$pos++;
		}
	print "</table></center><p><table width='100%' bgcolor='#FFFFFF'><tr><td></td></tr></table><br>\n";
	}
else {
	# Generate categorized module list
	print "<table border=0 cellpadding=0 cellspacing=0 width=95% align=center><tr><td><table border=0 cellpadding=0 cellspacing=0 height=20><tr>\n";
	$usercol = defined($gconfig{'cs_header'}) ||
		   defined($gconfig{'cs_table'}) ||
		   defined($gconfig{'cs_page'});
	foreach $c (@cats) {
		$t = $cats{$c};
		if ($in{'cat'} eq $c) {
			print "<td bgcolor=#bae3ff>",
			  "<img src=images/tabs/blue_left.jpg alt=\"\">","</td>\n";
			print "<td bgcolor=#bae3ff>&nbsp;<b>$t</b>&nbsp;</td>\n";
			print "<td bgcolor=#bae3ff>",
			  "<img src=images/tabs/blue_right.jpg alt=\"\">","</td>\n";
			}
#		print "<td width=10></td>\n";
		}
	print "</tr></table> <table border=0 cellpadding=0 cellspacing=0 ",
              "width=100% bgcolor=#FFFFFF background=images/msctile2.jpg>\n";
	print "<tr><td><table width=100% cellpadding=5>\n";

	# Display the modules in this category
	$pos = 0;
	$cols = $gconfig{'nocols'} ? $gconfig{'nocols'} : 4;
	$per = 100.0 / $cols;
	foreach $m (@msc_modules) {
		next if ($m->{'category'} ne $in{'cat'});

		if ($pos % $cols == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=$per\%>\n";
		print "<table border bgcolor=#ffffff><tr><td><a href=/$m->{'dir'}/>",
		      "<img src=$m->{'dir'}/images/icon.gif alt=\"\" border=0></a>",
		      "</td></tr></table>\n";
		print "<a href=/$m->{'dir'}/><font color=#000000>$m->{'desc'}</font></a></td>\n";
		if ($pos++ % $cols == $cols - 1) { print "</tr>\n"; }
		}
	while($pos++ % $cols) {
		print "<td width=$per\%></td>\n";
		}
	print "</table></td></tr></table></td></tr></table>";

    print qq~<table width="95%" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td background="images/white_bar.jpg" nowrap><img src="images/white_bar.jpg"></td>
  </tr>
</table>~;

    print qq~<p><table width="98%" border="0" cellspacing="0" cellpadding="0" height="4" align="center">
  <tr>
    <td background="images/white_bar2.jpg" nowrap><img src="images/white_bar2.jpg"></td>
  </tr>
</table><p>~;

	}

if ($miniserv{'logout'} && !$gconfig{'alt_startpage'} &&
    !$ENV{'SSL_USER'} && !$ENV{'LOCAL_USER'} &&
    $ENV{'HTTP_USER_AGENT'} !~ /webmin/i) {
	print "<table width=100% cellpadding=0 cellspacing=0><tr>\n";
	if ($gconfig{'skill_'.$base_remote_user}) {
		print "<td><b>$text{'main_skill'}:</b>\n";
		foreach $s ('high', 'medium', 'low') {
			print "&nbsp;|&nbsp;" if ($done_first_skill++);
			if ($gconfig{'skill_'.$base_remote_user} eq $s) {
				print $text{'skill_'.$s};
				}
			else {
				print "<a href='switch_skill.cgi?skill=$s&",
				   "cat=$in{'cat'}'>", "<font color=000000>", $text{'skill_'.$s},"</font></a>";
				}
			}
		print "</td>\n";
		}
    print "<table width=95% align=center><tr><td width=100%><b><font color='#FFFFFF'>&nbsp;&nbsp;";
    print &text('main_version', $ver, $hostname, $ostr)
	if (!$gconfig{'nohostname'});
    print "</font></b>\n";
    print "</td>\n";

print "<td align=right><a href='http://www.msclinux.com/'>",
          "<img src='images/theme_by.jpg' border='0'></a>&nbsp;&nbsp;</div><br>\n";
    print "</tr></table>\n";

	}

&footer();


sub chop_font {

        foreach $l (split(//, $t)) {
            $ll = ord($l);
            if ($ll > 127 && $lang->{'charset'}) {
                print "<img src=images/letters2/$ll.$lang->{'charset'}.gif alt=\"$l\" align=bottom border=0>";
                }
            elsif ($l eq " ") {
                print "<img src=images/letters2/$ll.gif alt=\"\&nbsp;\" align=bottom border=0>";
                }
            else {
                print "<img src=images/letters2/$ll.gif alt=\"$l\" align=bottom border=0>";
                }
            }

}
0707010000d16c000041ed0000000000000001000000033d1ffaad00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/inetd 07070100011618000041ed0000000000000001000000023d1ffaad00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/inetd/images  07070100011619000081a40000000000000002000000013d1fe2e60000053d000000200000000000000000000000000000002600000003reloc/mscstyle3/inetd/images/icon.gif GIF89a0 0 ç     ÿÿÿéÛÎþüûâÒÆøðìÝÍÀ¦œ¨þþýñéÝÕÄ¹“§áÒÅ™¦po¥ùôïÚÉ½ˆ¦hi¦úöñÕÅº‡¥ôêàÊº³|y¥þþûëÞÑ»­­~{¥öïèáÑÅ¯£ªts¥üúõÝÍ¿”Œ¦kk¦õíâÒÁ¸Š…¥ce¦÷ðêÏ¿¶‚~¥íáÕÀ±¯wu¥æ×Ê¶©«zw¥ðæÙ©©on¥øóêÖÅºŽˆ¦df¦îâÖÉ¸²‚}¥]`¥þüýÉ·²ôêâåÖÊ¹«¬qp¥ùôíõíäßÐÃ­¡©sr¥ÑÀ· ”§õêääÕÈÅ³°óêàˆƒ¥bc¦æ×Ì¿°¯X\¥õëæ‡¦ut¥¯£©£˜¨|¥ïãØ×Ç»¥›¨mm¥Ç·²…¥SW¥ëáÑÆ¶±]_¥ßÎÂµ§«òéßãÕÈ¶¨¬äÕÊÓÃ¹¦›¨çÙÌÏ¿µgh¦×È»¾®­†¦¼­­xv¥WZ¥¬Ÿ©kl¦OT¥ÛÊ¾_a¦Ã³°`b¦³§«²¤ª¢—§IM¤ãÒÅÒÁ·£˜§¼­®VY¥ûø÷ÚÊ½NR¤ðåÙåÖÉ¾­®X[¥AF¡“Œ¦Ç¸²š’¦¨ž¨LP¤–¦Í¼µ°£ª~¥UX¥«©Ž‡¦DI¢BG¢GK£{y¥9>žÍ»´¥™¨HL£lm¦<?ŸJM¤;?Ÿ=@ 15˜04—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jT cG‚?n, €I –0€@Ê‘ 0pàå? (X`æÍ 8°	à„zŽ,9B¢,\À ti8íàáˆª„1‚Ñ&N  ›±d
+ˆN`ÑÂÛ¶^ÀˆAT„4îbPÃÆDsèØÁC0G‘ôHàƒªÊ@‚qœpå¶ ˆ1r„¨ $I’N\©d	° š¨pò„(”(1¤pŽ<E „Tª¢¡E¢,X1K€(W° 6 ‹–-\ˆzè2¢vE ^žþ|&1DÇ92Þ¢ÇÈeÌœ	¬M5Ó}
°†Í‚6D¹ñèé·ßqÈ1QiÐQ‡»­¦ÁF¨¶Ÿ,€G„«‘ÇzÅÆ,hàMwð!D{û]Ð~pØdûýH Þíg‚ T"#B RF!=9·Á	î×B .ò#u‡ bB"<©Èu8©(²È“$¥ÁŒd·8Ò˜Jo<Â$`’dD$X<¡åM’LBI%DYrI˜ÄIdBT<¡	Q}lb'‚’ q‹7©1ž€''àð	Q”€bG(‘. 	¢Œ©J•RŠ)©>öžJ!¨ë®¼öêë¯À+ì°' ;   07070100012f55000041ed0000000000000001000000033d1ffaad00000000000000200000000000000000000000000000001500000003reloc/mscstyle3/init  07070100015d86000041ed0000000000000001000000023d1ffaad00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/init/images   07070100015d87000081a40000000000000002000000013d1fe2e6000005d4000000200000000000000000000000000000002500000003reloc/mscstyle3/init/images/icon.gif  GIF89a0 0 Æ  :ú2ŽŽŽvvvþþþ’JJN~Âö®®®ÚÚÚFvJzŽò¾¾¾RŠ–––ÒÒÒ^ž>>>šššnnnÂÂÂžžžæææ
rÂ~~~VŽÎÎÊ""&ªªª
j²²²²226
fªZZ^Z–âââ¢¢¢ÆÆÆ¶¶¶
^žîîîÊÊÊZ’ŠŠŽNŠ’’’ÞÞÞZš
b¢¦¦¦ÖÖÖN‚ºººR’666
^¢V’RRV‚‚†ZžVšêêê^¢J‚b¦::>Z–
zÎV–BBF
ZšFzRŽNNN
f®N†J~^ž
V–
ZžR–
b¦’’–ÖÖÚ
j¶ââæJ†ÂÂÆÎÎÎªª®¢¢¦NŽ
f²«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹Œˆ \‘’“””I•˜˜… žŸ ¡¢£ \„œ,A226°°-)´µ¶·¸· ¨,'2¯²-³¹È´»ÍÎ8Í½¿ÁÃ^^ÆÇËÛÜË)µÌ88**"Òƒ©´]ÊÉñß»¶*		§êA'
H° A‚T€ ‘N§ NXAq…„‹3j¬(!cÇˆ Q£áŸ‡Ò‘âÅ—0cv|IƒcH…}ñcâŽ•Bveù£hQ™?$ì¸(dG‘õýŠ0¨Ð¥D©1ˆ×¢@ŠÎø1”ìS	rN=!ÑˆÅþ?ˆ®÷GX£_»vý1CÈ]	PóísX€êS˜@¢ä‡KŠBŒnë	’€LU-?¶2&JBE«„¤T0RäË5ìX UT‰]…Ç¨ètš‰-•®Ü±ú4•±{/2‘ƒ	“0LxX˜O÷É¼ðh€ ÁJ+DžXTë3¦]‘cŒ*[¶À¸Q -ÃÁ×…)8À½@÷O4 ÆDréÙuQ±ƒL•uœ°²ßvÝ	A† Æp9Ö4<ÐÀC00Ä´X@0šT¡á†Ü5E,Yµ^Sä¸,Ñb„( þP’uI`¡v&4 AýýwÕp+MY%•FY@’(HÅ­}áØ<Òeq; ÁBÙ€—(`&…N*p!zT •Ps5ÚH4°\CDa§—D*&a~îÇ„b’Gœ;P±ÂbŠÂÀ(Käè"P c~ÚpÀS §P£…¥3DÙR‰€TªªøqÒê«9˜`‚+P§›)1ƒ¯À6°„Ý¹Á¶«*`ƒ«08Çƒb§­T¨VˆÎ™ãQDqäÚrËç±<S(¡„	è;Ã¾&ðÐœ¨¼:Ú%¼Æ p·ßpöFÇƒ	‰þq¥ìeÍ= Å‰ŽéqÂËjÃ¤”l²'¤Ü­·£Í.ã˜#ZöÕ &ªl«pÊÄÐóªß¶lÚ<cÎ9øÔœ$Î:ïÜ³Êó}M6à0CN93ãCŒyFšªÎ„r“^Ç²5Ø¤ÐÂ2ÍsNÖiqÝuÓ@ <3ìÊÐÇ|3N92×ls×ÃBàôÓdSè Œ7îøãG.ùãÖÀåpùæœs®yç cîˆ ‘| C%TàC ¨€…€áCMŒàDå£€¦úê5¨`Ã	€0@=è`î¹obÁEL }ôETo}õÒoÀ|î’„î½ç5’4ÝÉä{²}" 8£þúì·¯>~ ÀÁü>Ìo¿ýõßŸÿý÷ŸÿÈ÷ ôžøHÀ°  ;07070100017411000041ed0000000000000001000000033d1ffaad00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/initnetwork   0707010001fb21000041ed0000000000000001000000023d1ffaad00000000000000200000000000000000000000000000002300000003reloc/mscstyle3/initnetwork/images    0707010001fb22000081a40000000000000002000000013d1fe2e6000001d8000000200000000000000000000000000000002c00000003reloc/mscstyle3/initnetwork/images/icon.gif   GIF89a0 0 „     ÜÜÜÚÚÚYaE˜Ÿ,Š“oyFMÃÃÃÛëíemq{MT½½½ÏÏÏ€€€mvGN   pzmw¿¿¿ëêëÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þà'Ždižhª®lë¾pÌt]Ë¸ŒA »œl7 DPÛF…’#ŒÆ’Úàð–‹²™iä/à ~ÇgœžŠHD)‘ÔtiNPJ7€u%VcŠ‹#^ab%“”:g&š”;¢=Jq¦v›s}¬~fŸ‹gˆ#°©*µ¶(¸¹ž¼™¾¿´Ád¦ÆÇ€ÈrÄ.€²Ï¯Ì-»,Ô/Ö·ÒÕÚ'Øœ²"ÞºÚK=?AÔÐáäwFHS‰Áå>@ë]OQðéíGIèìð`Ñb¯>BR vùriŸ¼~¦€†¦à	K%Ñ£%8ËLP\b­‘>®VàÐ™çñMTó:T±–É= úü!ÖèQ$`"1dÃâE†—$­ìçSé
p@!ÅD¢äQH<jUž«Z¥,«Öc0/>ë¶•×Mê„Éå ;070701000214a7000041ed0000000000000001000000033d1ffaad00000000000000200000000000000000000000000000001800000003reloc/mscstyle3/inittab   07070100028750000041ed0000000000000001000000023d1ffaad00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/inittab/images    07070100028751000081a40000000000000002000000013d1fe2e6000007a3000000200000000000000000000000000000002800000003reloc/mscstyle3/inittab/images/icon.gif   GIF89a0 0 ç  
B]
zš²ÊÚŠªÆjŒ¨šÀ.AV¢¾#ÆÝjŠdžº>žÂ/Zz–¶ÒOz™š¶ÌPu’^âîö/½†§&®Ñ:V¾Öæ,RpfºÕŽÆÚFk‰Jb>b:†¦&½RÒâ¦ÆØÈØäH¼ÔbÂÖBz–¢Æ#Jh&†ªZÊÞ
Ž²Bj†>ÆÞÉæòR†¢Rr*·ÎR¾ÖtÀØ/°Í
6J¢Øçš¹>®Ê:f‚¶äð6v–ÒäFd+ÉÙ¢À¯ÍŽªzÏâzšÒòúZ¦ÂäõüJh%¢½žØèªÍfš¶¶ÎÞ†ªÂB_¬âîºÕ‚ºÒÓæòr•†¢*ÎáZ­É«¾Î”²/¥Ã&7ZxÅÚÎÞê¢½!®É¢Þê/ÁÖ
>]
*>.FìòöR–¶›ºNž¾†¦BŽ®ÒêòU³Ì.”¸fˆ@¶Ð"¦ÃžÎâ&¾Ó¾Òâ¶ÖÂéór°Ê†Ðâ3ZvBañúþ}˜ÖænÒæŽÚçv–®’±Ž¯žÄ~£Nr®ÒâVs7¢¿
":>]V~žrŽ¦1Îßuš³$RršÂÖJÂÙ[²Ì¶Î¦È'®Ç&ÎÞtÈÜ¾Ùp¸ÒG¬ÉÚâênÊÞV¾ÖªÆèíô:²Î‚¦ŠÎá>¦Ã ’´:ªÆºêò6ÖâVv‘ªÇ4ÈÚ:¾ÖÉëõ‚ÊÝjŠž»vÖæÂÒâ“ª¾Jm^ÎàJÆÞÞæò©ÖåÖìòJ²Î¢ÄžÁn’®$ÊÞb‡8–¸#ªÇ‚¤^†¢¼âîVwŽÖæŠ©\¶ÏÛõú0Š®–¼VzÐîõš¾t’«Š¬bÊÞ>‚ž&Nj¦Åæúþ2ªÊ!²Ì
2FN¦Â2ÒãNoJÎâ¦Æ
6P²ÑFfv—Fh'¦ÄÍà/¹ÒC¥Â6²ÎªÞí%¶ÎN®Ê^¼ÔŠ®.Vr&²ÈÇÒÞ?f‚ªÂÕêöþ–¹“®Âîîö¨Úê6žÂn:¦ÂÂÚ–µ¼æñ   !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\ˆ0ƒC†#tøP¢Å…ÁU¼Èqb(P1êHR #(*~üYò€— "fø¡bC5|ø´„“aò<x ±AœÎ’<}&ÙÑ¨Ø*’%™Ta†$¢ P@B$©;aZU±#š½,~I¨&n$R±Udg§	A(‘sK®Áïä9ªE«D‰xe(öåÁÕ$8Ê/×.$P;V†ñ[ÇU18^'
0IjÂÌÐ™×°cË–M°ê@qVM¦
Í.cæ¦ æz¶ñÙµýþc´t-ÓôÐ¼Â÷eÓ¶|ýF	ØÎ½»w-^þ'ýïÇ;Ý”{#y†OÏ‰7§lÉaJD>EœØ½¡ÄŸ?–7èTÞãõÅ.Dó\'÷ ñ*Lc‚	:ØPŽ}è(ÃÁæÐ¡Ë‡ºàCÇ5‘†x%•Ä2O<÷ÜCcr‚	3ØpÉ0åpÁ‰2,Ç3×ÐÓÇ‘ô,óyœH`Š0e°‡f• F(¡À`2³àrŽb3G¼|BŠÏ,ƒ=H ±Ì+À5‰¢@<m AÐÉ.»À ÎÓL²Ž–X’‚/ßÌ!Ê'D Ï¼b„¯øƒƒy à$AZhñRS 0ðÐ“|ÉD!)Ú‹5þ6ðâ	K¨ƒ
¨ ÂCÈÀ‚ÅÌÌùO§/IC‚€Üâe6–Rˆ4c@!ÃØ`£gâ€>ÈRC;Ûì“À1=´E;·Œ0‚7/±)Lk­µô2‡r´“	)>LÊ`Á 3+«î1^Ä2DÙÌ L	ðùRÛÌÇÍ@£FJèÀÉ~Ê(C	€ûÀ11ÂòÔÅ‰Œ“áð“ÀÅR„c¨´Õ‚\õˆ ‚"Š S
Òˆ`ŠÅxA$¢€4Í„£	0˜d¼1†úM!¾ø"K²ˆvlËâK/õÂFÌb]°H ‰ Íþ7Ù q0Àhò ú%¬‘M6ð\æ0ÃˆÁÊ7Lô²…4tƒf·62Ä‘L3 Á7ÀðÓ3Ø–0ÁŠ5å”£Äë¯¡Fj@CˆdÞÓ?4PF"~l‘M¨BºX"¶/j’L2VXÁ1ÄL?Š!~T¡ºÔû^è³Eu¼0zRXn!ÒŒSÅÌ12Ô¿^tÃ=º.)ÇûÝÀÄ%Î!: Ô!„¨B"qƒ,bf0Ã&x€FðÝ+È÷"–ŒÌ öÊNœáp8‚fè‚
»`A3`¶ñÞðf³a¬ãKC(Â:Ó˜Ýi°„œ‹LAŸ"(`‡žéyÒ€.ÐÐÓ«BœÁ’ÏøÐ ß“A0ô¡8xAUTâ±è»ÎÅÂ‹¶ÈIò½n8ãÝ ‡­‘Þ™! Ýˆc;C…\ààÐÈbøÒ‹ü±àèLiH@jƒ‡ŒäÈS±‘H6²’–”È/ÉN2$  ; 07070100029e8b000041ed0000000000000001000000033d1ffaad00000000000000200000000000000000000000000000001900000003reloc/mscstyle3/ipchains  0707010002b497000041ed0000000000000001000000023d1ffaad00000000000000200000000000000000000000000000002000000003reloc/mscstyle3/ipchains/images   0707010002b498000081a40000000000000002000000013d1fe2e6000009b5000000200000000000000000000000000000002900000003reloc/mscstyle3/ipchains/images/icon.gif  GIF89a0 0 ç  ê²*Þ~fâZ
ò²JÎ>:Â¶nŠ€€öÎjŠVžæ6ÒÎÎÞ–¶Î*öîzúò~æšæVÆêÆ’††^VVÞÚÚúò‚Ö:Öâö~Æ–Z¢––öÆNÀººæææâŠêBöúö²ÆRRª¢¢ºrnî.öÞJî*òb
ÆZZÂ~ZòÊúò–ÉÂÂçöæò‚÷÷÷æòòòê:öÖnöê6îvžff^îîîâJ
æªÞf*æ
ÖÖÖâââ®ªª¾JNº²²öærÖ..Îöê>Â^Zò¾ŽjbêŽò¦2ÎÂÂöÂ¾bböjæ>æ.þ.úúÞö²2ÎÆÆöÎBîrö òJö¶êêêêRþ–ÊººòzÞÎÎþÆjNNæÖÖÚ&"rêFöÚbî¦ÒÆÆ¶~~úRê–ŠŠÂ²²öv
òºJÚN"ªžžÒ62ÖÒÒÞÞÞöê"Ú¢öêææöîjöêNêââ²‚~ÊJJöÖBþòZâ&ÒÊÊöÊ6¶ªªòžêö*
þ‚¾jfúFÚÖÖÖÎÎöÖVâöÂ6âÚÚî¶ú:úNöªöÁbúö¶îêêšŽŽ¹®®ÞÖÖÆººîææöæRîâ6öFÖ*&–òŠ
³¦¦úò2¦æÞÞîª¾öµò¢ò–úöÅ½¶¶JÖâ’ÊBB÷áfö†æ¦ÖÊÊÚÎÎöº2r
ö¶ÎÊÊÎæââÊÆÆòR
¦ššöòòòîîïÚÒÒöÝVÂ¾¾ÆNJún¾®®ÆVVî†òŽî®®¦¦öbÊ¾¾úîZ¾²²êÞ

ÎVVÂ¶¶îvÆ¾¾æÚÚòêêöbâÖÖònö~’’zÂjjöÎNöîrŽîÎ¾¾ÖÆÆúv
Æ¶¶êZâÞÞê2®¢¢ßÒÒúòŽ   !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹ÿ ØÈ±£Ç Cz,¨€ž¦Üýá·ñ¿oèm„Ó&Íõd=Ûùlc=îDðSÃ±àF~ÏD<c!i#ILìØÚèiÝ4«ý6»")©»˜ryj£ FEª]+RÃY£$ A2d Ox5i‚T@=;€¯ð_9ÃØš†wJÖŸ Ü¢%àŠ¡hÑ A9Z©RªØ€*t?0`*_ùvN	| ðá;—*?’Ú+¥™ÇfÍÐÒ•ò¤	€&czõ 	µo6R cÇù)Ü‚1V
ófžþyBµ€­xQ¡Ê`š\Àì  ¬	ðõŽFË+ý€!U¶ #àT‰Ø¢'w$€zú˜ÄÆÙŸ§ôÙd±’,€‚†åF?Mm×ý$R
 Ì$’ˆ!‰S,¯ÄÑB C@C‚ Š(Âx†çXO"fH¢_È¡’H:< 0Ägé¡ˆPâÁÐœ¡(´pc	<2 §ÜÙ[”ÉRV1ë¬“È™qe:é\²D•¯(Z¾±B6Š0ó€!g `C7DfG™$ß˜£*é`À‹‰üxÉ"| HŠØIBXÃJwœQÂf¨HR’¢†#Ÿ-þ†”bÈœÜ¡H1ôEyäÈ"2Ü±>X“Ç%-h¢ÏŠÅìQšŠ$À´³°ÑoŒÃÊú‚‚ B¼‘¶!) {\Ñ!CŒZ‚-¤ÐB{—d¡-+€ÀbÙ#…Y´ Ãg†0‰,gbx.>WcK"ŠðXŠ"-\"E0xyÃû|ðJ-+°rÀ¬ ,@	Ìœq†2š0‘°QjüeÇ-tyG	§Ì<2 +=°GÁý
+¬\Ò†glPBÍ°t–ÂÿÄVN*ÓT,²YÏ"Å,È³ìCÏ "´N¬pGCØªH6°€e{HŽþ'—\ÂJYüD
)¼ÒÀ+OÄA0HKøHm´A±—wôòÕ…iq„‚¸oàÒHAIü7œ}Á¿¬4°À;³´Âí·sdnÕ™Ââ—xÍ/2e8BÏ+œ°rÃ2;ÐÒJ+H!ÍGHQH3ÄÛ%DB{î4vqo
Ù,"ÇÜÀ	'œ°Ì8û<ŸÇ=Zœ@Æ0 0Å5ß‘DY»@& TA¤àk³€E<pƒGˆÃh Â8¸ Zp-¼‰¸À2 Óªq!ªµg*¥`ÍZp€4àp\xÄ>îÁŽ|ôÀb@ÃÆP-`BþFpÁ	‚±Cõ¢wËÓ p†^´`ÖˆC¯"À‰VŒ9h‡¶à m˜Cûp´p|Àà€ø€ 6Ð‹n˜Å„ùÀ;æähÈ!;LmˆA09BƒX#€°ƒéÎ{UóD¬˜a‹¯9á	vt…#¶‘QÜb»h‡6t¡‹*üí˜üÐJ«Ìð] 7+CB
yh@v@	olcu¸….*°*lÃ
£0 î±†XäÀx€//1„<àe”	3`ËYÐc¯Ø4È ‹I$ãÇ å.0ŠQŒ  ˆA;¼A†PTi-þ(ÔJh”j(Ã%Ø@À
Q"ÉÀB'F°‰Ð ñð`…ròxðÆ0ç?º%ñ\½ø§!ôáµy8a´XÃ1°‰M4AŒˆi|0‚ILB×&®Ñ…Ì"ÌH	9G´¡v³˜(Ì‰,PãÂx*#š@xˆ‚4¸&B‡.TÎ#„D¡JQ‚L´!>­7tQ‡\0B˜@~€ˆ¨~âpF%öÚ†fÁ?ÊP63ô f  #=ªRà
B@`·€Â!âJCÈãàÀAnáo¸—¸C“J—ðI @8
Ö†<,6Üø˜„	>A×¸N`þ˜ p€ƒ[8bdp9î èã6à'eÀÀž@ Š@à€®–½mnË[Ñ„‡h€„ (F9E9  ˆSl KXl%€a]ÞBa¤È//¸ËÛ
¨ÃR¸C3D£@Xè	‰ ø¯ðƒà…„½@áÌòv {MAH0Âá{8  ;   0707010002caeb000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001500000003reloc/mscstyle3/lilo  070701000310db000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/lilo/images   070701000310dc000081a40000000000000002000000013d1fe2e600000706000000200000000000000000000000000000002500000003reloc/mscstyle3/lilo/images/icon.gif  GIF89a0 0 ç  nbBÊ–Â¦"bJ
ÂžFöÆ2V:
öÊFöÖf:.‚f‚‚‚òæ¶&ÒªöÒ\zz|êêêbJ"ªŠÞ¶öÒböîÖ²žròòòªvöÆ,¶ª~ŽvVJJJ^>¦’jÖÖÖâÂöööÂÂÂÚ¶"²¢†J2ZZZ666¶®’†rN


–jþúòîÎfJrrrFFFrV&¾¶¢ÎÎÎ>*
¦‚FêºrNê¶Ú¦NB¶Ž²zÎ¢þþþbbbâââîºzVNNO222òÎâºF>&†††ª‚Æ¾¦&&&–ŽvjjjâªšššvR²~
æºfVŠŠŠ¢ræÞÆòºRRR***¾Š
â¶rfNÒ®ò¾¾Ž&>>>îº‚Z®®®º²¦ÚÚÚÊÊÊîîîî¾$êÆ¾¾¾ÆŽ
’b
¶†ŽŽŒÒ–
ê²¢¢¢ÊªFÖ®ÒžºººB:.ÒžÞÞÚöÆ7""#..,ÊÆºöÖ"BB>æ¶fffVVWò¾>2Š~jÂ®~²’jrZ"æææ^F²²²:::ö¾Ú¢VBöÒVöÊAÊšÒÒÒÂ’ö¾òÂ*^^^æ®
º‚
F2ÞªÆÆÆê¶Ö¢‚~zî¾’’Šæ¶&>::òÖ."~R
î²Ê’
¦v


nnnî¾.zZ"

æ²^B
òÂÒšöÊ:¶¶¶¾†
úúúæ®öÎNvvvŽföÂÎ–

.**Öžb^^ÂŽÊš’’’R>òÒ®†ê®Þ¦RNNVRR**.njjZVR2..jffîº226..2ö¾òÂ.ÖšÞ¦Î–
úÒ^:66šj
Æ’î¶bB
"æ®vrr¶~
ŽŠŠÂŠ
ÎšöÂ&’fbbfê²ÞÞÞBBBÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡˜Xp"€ˆZ¬H1cÄAT2EÕ»/Û¾ñ(RcGƒ_Á‰—DI”?„4dlùç@¼àùÎŸ‰+?¾tyñ`7 QÂ½ àì…†#M!ZéS ’#¼°…SNÖ‡[;vý7¨ßŠ] Ž‚æM€¤Î]
N”PB-3›÷¡’IÖ¨
E"	Ž$KúL{ö©/'~`õâÄ”ÈyR~éªž¤{XÆÈÒbmBÑj_ZÒÅ§×›W†d  Zbä¥/W¬£²jIµ%c‚ð>¢Jëï³/³QŠfÉOA
øyW£_6´Ï›þŠô—h0ÃÊ@bÃ ÖŠAwÀoešv ¼:'RDÊ ±"ÞDQxù6}/™aÉ$EôQÉ	ü˜0ÄUá/·–/T2á$ü´1á„ürÄ‰fhxÐfˆ81#Žhd¡ˆŠi G(k´aBmCÌðÓI*GŒU.8þã µ8QŒANHL‘8œ Â`õN“Ë¼c	?VÂø¢™Äð“/QÜÇß¨hÉªä!Áˆ1Äˆ&?IXbÆ-~©˜„–œ0å™1¾ø¢	uÜ¡Ä ð¢â"Lãß„˜ äˆfšÆ;Ù°  ÐÊ.ð˜2‰•EH¨hŒþœ K"b^&…ÓÉfNRå«¶aÊ-S$qÄIyqG35°•k¸j¦•˜òÇ1+|ñÅ y)"Â2Úôhf«h*:ä	ƒL»l“×XÓD.ÁÏ³æŽØ€°èC„%„ÔàÑ[tÑ,³©š&Jˆ<Ðâ¼ÀÈ¡A°(d\ÒÅwT¡©0–,$§ â@Q<±¡!‡(Ft‘]ô’ƒ*4Ü©¨«Cl E)˜Àà´àÑÆm!>ø³É'—üRÁ/32¢öªñŒ(ÏÌŒ(—¬Â´C[ìÓA:ƒs; ‡?Ï¢I$R “‹æ,òàÑ…Ç]œÍÐÅàsA:‚\¢8BˆGÝB¶Áõ0¢÷&Œã±âxÀ€v1äbLâ‹¯¢‡‘$L"Á$ô‘39ÌJ:Æüí±€äƒv)­ôpÕŠwaÄ=.¤Ç	ÂT1E©€8Æ\°Hx`ÌiüŒ>”â·âíÌâŽUwhàÌ¨f G;íôÒË5€lýC: A°À`"K;Ø3µÀš ¨z`¢}ç_a>€†9lá
Ã E,Há„s…=F1?9<ð ð Hh’
Wˆ£€  ;  0707010003281f000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001800000003reloc/mscstyle3/lpadmin   0707010003568e000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/lpadmin/images    0707010003568f000081a40000000000000002000000013d1fe2e700000724000000200000000000000000000000000000002800000003reloc/mscstyle3/lpadmin/images/icon.gif   GIF89a0 0 ç     			ÜÜÜÚÚÚÿÿÿÙÙÙÖÖÖÔÔÔÑÑÑWWWVVVUUUÛÛÛØØØÓÓÓÎÎÎÌÌÌÉÉÉTTTSSSRRRQQQÐÐÐÍÍÍËËËÈÈÈÆÆÆÀÀÀÁÁÁ€€€000PPPOOOMMMLLLÊÊÊÅÅÅ¾¾¾»»»¸¸¸\\\èèèôôôNNNJJJIIIHHHÂÂÂ¿¿¿½½½ºººµµµ³³³°°°þþþKKKGGGFFFEEECCC···²²²¯¯¯­­­ªªª¨¨¨DDDBBB@@@???±±±¬¬¬§§§¥¥¥¢¢¢ŸŸŸAAA>>>===©©©¦¦¦¤¤¤¡¡¡444ZZZYYYrrržžžœœœššš˜˜˜•••888XXXýýýùùùúúú|||–––”””’’’ûûû^^^~~~———ŽŽŽ]]]„„„ÁÁ¼ ÿ ‚ÿ‚ÿÿ [[[ÿÿÀ‚‚‚¿À¿ƒƒƒ¤˜þÔªÿïÕÕÕ×××ÒÒÒÏÏÏæææ‘‘‘äääÇÇÇÄÄÄ```âââàààŠŠŠ‰‰‰ˆˆˆeee“““ÝÝÝ‡‡‡†††¼¼¼iii¹¹¹¶¶¶´´´nnn‹‹‹}}}zzz®®®ßßßxxxwww«««yyy£££ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœ8@ (j`€Ç  Ø±ãÇDŽ$É€—' H @%Ë„ 0hðÒ€ƒ (ˆ a‚Í›sê¤PÁÂ…ž0dÐ°CGIhðD¦BˆA¢g‰&:t8"EV‰ T|è°‚…D´ ëâŒž1dÌ ‘¢†oÆ[GÏ»$r¸€¡c=iø¨ñH!C#ÜÊ˜Ç_‚ ÌƒH"FŽôD$‰%K˜4Y‰“+]»O? ¢u'Fž@i¥§”)TªXá}À•Ò©œFM
–,bþ+×²…K/=¿LÇ	»0Äˆ#Ü@÷ïÈ”)óa@ù.fœFP¨GA TPš©±cÝ­‘dñAjuÐ†ºQàzŠÔÞojˆñ}Âu÷F’†qt G†sÐñ!u Ìu!<öÆƒ)‚ àUxá Ö¡–jp#‚ªµc=	Åàåg!’1D‰G“N<™TOQv0%=EXäy`¨G…e°C˜"ø™jY5eBªP${`(|ôAF†¸0§˜4€xfxf‹[ªEh}øÑ¤ŠÒ	b£´ñh@ý©”ð(’\ši“þpºhIyÔFfxÈ	‚ §š‰a®jÚÁ ÄÚ)£ÿ˜ÔÆ
+‚!i( Q%L©ÊÐÁ«Çª¬¬žâè‘ ‚À …2‡th0!ÒA°Q€ˆ¸ÊÎúi³šQ*¾&¢ˆ"‹0ÒHZ]ž0C°8²ï¸ËÒÚh^<2­¯‚d A	@2@$’ì!Ø$„ù@æ ”HÌ/¹ÌPÀÂnï~<o½è>G%dXâÃ%˜ü€„™´<q¿t@º3	•ˆÁš(\ïU2œP	¯›”Á‰´u’´Ë/z`³@¡A0Lå‰ÈH"ÉZ3|`I
õ	þ(1öÒäžÝì®ÔÎ1‡ÇgbÂ£ìQ	Ð)lVô¯A$ñ÷ËŠ
ÞìLi25	Ó{HÈðÀ®l]tØ¶]N±æÍ& Ôµ(òv#$—~Â$(X²	Ñ`ÑI¡Ház¬°s$RÛœÅÁ£ìñsï)”a7ô]üI±tò©´â£wðÀéd°ÑuÑ7xfÛJdÛÄà&éY£œ€ìœ-¼mRPÂäç=Ôo!*áÐˆ&
ÖO€TŸÄè•\âzÙÂö¦°„QŒ‚%Iû*ÜP	I!ET"„ B‡	UÈ„
µ"*Œ¢
»AJE¢Ãúð‡@„H@  ;07070100036dc0000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001a00000003reloc/mscstyle3/majordomo 0707010003839b000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000002100000003reloc/mscstyle3/majordomo/images  0707010003839c000081a40000000000000002000000013d1fe2e7000008c7000000200000000000000000000000000000002a00000003reloc/mscstyle3/majordomo/images/icon.gif GIF89a0 0 ç  NFF’~VªšzÂº²âÖª‚öâ²úîÎbZZúöònff>::


ÖÂžîîæÂ²Ž.**êâÊ†rR–‚jÞÊž¶ª–ÒÊ¶öòâæâÖ–†v&""úòæ²¢ŠÞÖ¾žŽvþþþ†~~þúê‚vf®š~:66îêÞþöÖÞÒºâÖÂšŠnVNJÞÒªòêÒª¢–ÎÂ²ŽŠ†ÚÎ¶ÞÒ®f^^ÆÂºêÞÆöòîúúú:22*&&†zzöêÆvnnš––~zv–†zþöÞ–Š‚"žŽ†âÖ¾öîÞúúòÒ¾šþêºÞÊ¦ÚÒÒ¾²ž^VVúîÖJBBîâÊòêÞžš–úöêÞÚÒ’ŽŠ²¦žÊ¶–êæÖþúöfb^®¢–êÚ¶âÒ®âÚÆrjbŠ~jþöâöê¾ÎÆ¾êÚ®žŠnÂ®ŽúöîþòÎž’Š2**~vvöæÆÎÆ¶ÚÆ¢

.&&
ÞÎ²þúîÞÒ¶þúúzrròêÎâÚÎúòÞîêæêÞÖòêÖrjjúöæþòÖþöîöîâ‚zz2..ž–’šŽ‚’†rZRRB::òîââÎªRJJÞÖÎF>>jbbòîê¶®ž–ŠvþöÚòêÚöêÎúòÚêÖ²úæºº¦Ž¢šš–ŽŽ¢’‚âÎ¦º²¦¢ŽnâÒ²öæ¾æÚÂª¢žòæÊòæ¶ÒÆ²îÞ²ÎÆÆîêâöîêž––¾²ªâÒªöêÒþúòþöêþòÞþöæÊÆº–ŠzîÞÆþòÚ>66~zzº®¢ÒÂ®šŠv¾²¢öæ¶êÚºVNNæÖ®ºªšÒÆ¶–†rº®šþòÒöæÊÞÎ¶¢’†æÚÆòæÎêÞÊž’ŽâÖÆúîÒöêÂÎÆÂîêêòîæšŠr²¦¢âÚÊšŽ†òîîª¢¢ÒÂ²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ\´Ã¤JS˜dìQ5jXbPˆŸ8qz(¹°ÂŸÑ^"´©¥—*UÁTÀH¶"‘ÜygÁ¨b"rÝº…¨¨­:l}Àh•[:üì$)Á™ˆe~)ƒÌF[¶Œˆ#+ˆ¬PCNExGE.8| ªE(Ë*Ñ¢UA–†.åñkíAÎrõ|“JÄ’¡ˆ”öù‚èËRYrž.ˆcØ †$¨¸Z&Î 52v„Ÿ V¬ )²ó?ÎÎÜáƒ®6þ¬Ô‹f_š6qê´ýÙâÐm‹€l«è¨–™:…*Õö‘S†xþ¨8S•´V®5¼®–!jlÙ³ikO=ânÝãá8™’Pq½}õõW`ƒ¶}¹Ü‡Ø[ˆ<ÓØP{DVYuÙa¦gkÛ*Ø§‚¢‘6ÄVYòUk¯Å6›Z$ix‡	v(Þ‹PË/¼`×&0w\M7å´S ¼¹ˆ[xÎÜrÇÏ •ËcEM¨CvM=ÕN8œr†‘n-x‡Up4Ô DQôˆE%2À€G´)dG¸hˆ}æ"Þ[q!bW^ÑÔòLUÌd
iqJœõ!ˆàs‹5¶Ä£~¡Ã”:dcáQ"ôfYn™Ûg1æâ(Þad¶(õÅ+ªˆ`ÙþÝiêB/ZäQ„œô›b|"Â(Iôaª-{X6åŒÜbÙ9ÄzP¶Úq¨‹\:Wß"‚FE¶T•}Lê
	AJ/oö‚Cž¾Øë¹ B7*ôÕ’¾òO]'H!ÿ€P4ÒÁšdyk¢õá†K.g›„Å~!HMˆ Ãd:DRÈ T-Ì@›‚’Ä9‚Ÿ±Póµ ,Ód,é«U€¬³AäÁL´t¢œÂ©a÷¹|	·ˆ0P×l£¬½I}¡óÕáAŠ#"¸(Œk}†œaÓˆ8=Ã4Ö¸jYªWÇM´¤E‡¼©Éþ›qöšëß‚voøðÔ”-÷âéAŠ!uÒ‰¹)h1†º)»±!·,AÂ1lÃmª×-nº@?ˆ±Æ[ì5ÑvÐ°e‡gàbv.WÀRøÕ!B‚éÀÿ£G°žBy¤ D{ƒÃµ¹ ž‹akj„·x°	6À wA èë†8@J5@£+	§§QûÃ¹TñçCAf
dØpÁ÷é!†)tcFÆ`0¢­Ë}ÑËÅý`àŠ³yn	¹ð@$¼€…9ðÏ z€´f7æ	Aè:E/Š€ÛáB³pD¢ç2C,!JÈÀ.>=ü@k#Å!²p9h„þg(‚4’Q
d¼ìe†„!¨@Ãƒ @uZsC\7hBE á	gƒ]À)^;CYÑDÏxu "´Ñ,f€(vA\¢lf;Ã*ÊXÃü€·p€$˜!„ i¢mÄ ÌÀ†‘Y£ûÀÇþAqk#cÛ(‚
<€ G&ê¨EÛíkS€9x·C¸²"Æ!2Ì`£ÄE‹ 	bTÒ áó#)®9M¦@p3”°
i¬ Ã@†®ˆÈU@Â6ñßzÆfˆ@8D
˜!…?€€1PpÑ‰+¢¡Ø *@Þ‚ÇÐä!4)…	$ËpÄ':Ñ‰C žñžøþxOO¸¡›Ìg'¢qƒ8ah‚&­á‹„ä‰¦PC5ªÑn"¼H4‚Oh'ðhã4H
ZÐ‚¤ÄMiá:< l  Rá	Oì@¦	–Z!d¡vÐ€#X•¸ƒ$ ¤z! ; 07070100039a03000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001400000003reloc/mscstyle3/man   0707010003b214000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/man/images    0707010003b215000081a40000000000000002000000013d1fe2e700000537000000200000000000000000000000000000002400000003reloc/mscstyle3/man/images/icon.gif   GIF89a0 0 ç     DŽŒZ›™R–•K‘o§¦h¤¢b žY›™HAŒŠ€²±|¯®v¬ªp¨§g£¡`žV˜—M“’EŽ=Šˆ‹¸·‹¸¸ˆ·µ„´³}°¯m¦¥d¡Ÿ[›šQ•”?‹‰7†„‹¹¸Ž»º‘¼»“¾½»º‰·¶ƒ´³z®­q¨§g¢¢^›U˜–J‘B‹9‡†0‚€ƒ³²»¹“½½˜ÁÀšÂÁ–À¿Žº¹†¶´tª©i¤¢`ŸK’CŒ;ˆ‡2ƒ)~|¯ÎÍ—À¿…µ³Š¸·¼»–¿¾œÃÂ£ÇÇˆ·¶~°¯u«©k¥¤L“‘!yw¥ÈÈ©ËÊsq4„ƒŸÅÄ£ÇÆ‰¸·(}{ xvsqnlxv™ÂÁÄÃ³²/'|{wurpmkhfmk’½¼{¯®‚³²5…ƒ,~${yvtqoljgefdº¹t«©z®¬x­¬sª©usom	jh‡¶µn§¥f£¡aŸž<‰‡-€~&|zrpig²±f¢¡^œX™˜S—–L’‘>Š‰"yxpnz¯­_žU˜—8‡…+}vuigÿÿÿu«ªW™˜GŽBŒŠn§¦u¬ªP•”ÊÊÊh££o¨¦I‘i¤£ [œšzm/`W%Á¥\ŒFÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£E   dH…# PòäÁ‘@0 “.ÿ\À ƒ"H˜@§Ç‘,\À¡†:$ððÁ¨Æ‘ BˆA¢„‰(R¨XÁ¢…‹V?€Q"†Œ4jØ¸‘GvðèáãGZ‰#2„H#Ghˆ@’DÉ¼LðýÑä/Ä‘Nžiû6îÜºwóîíÛŠe‡ ¢ 2…JÖ­]¿†[öl+W°œf ‹j-[¸”Hº´éÓ¨S?tñòL1»QŽñ€L2fÌðô	T(Ñ3hÒþ¨YÃ¦›è¸™®ú8qäÌ‰9³¦¤éÔ±ã¦?zƒê­GÝ h€Çyè¡K{œÁG_ø1Æý7Q€ì È È „€!¼ðÃ!t RÞyÿ¥×_†‰, È"°0"#>4’†#>2$aH]$eH2	%{|à}dE?BI‹		©Z%–\âÂ/4Ò‡tD)%$˜Pé¢€ªe¢É&|üFbŽ‰	'fž™á(pHœRÎ9ÒU/úæÉ'|’Ig¼zÞ˜rz† Œ	J(~"Q€‘‚"Ê(“Zzá¢˜hÊi(94Ò¡¢†Bj©ý)( °ºP¬²Öjë­¸æªë®¼öê+« ; 0707010003f641000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/mount 07070100040dd8000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/mount/images  07070100040dd9000081a40000000000000002000000013d1fe2e7000006e7000000200000000000000000000000000000002600000003reloc/mscstyle3/mount/images/icon.gif GIF89a0 0 ç  ‚Þ\zÚTædŠâd}ÞTvÚLrÖLŠÞd…â[hÒ@’Þl•êlnÖFbÎ<ZÂ4šætšêq’æj\Ê42~"ªò„¦ò|žît:ŽJ.²öŒ­ö„šît@–$N	F»þ”µúŒ¢îw‚æLZš¦ü•¢ü¢ò|Jž,!^VBž®ìªüŽšü‹–üBÎnÞ<&j£²ü‘žüˆ’ü~ŠüR¦4*n&f>¦¶üž®ü…Žü}†üz‚ürzì1zR¦¶ìªºüu~ü>R´>Æ:Â6¶^²<.v·Êü°Âü–¦üE^Á2v>Ê:º6²2ª.¢*š&Ž.’"b¾Îü­¾ö¢®ü‚ŠüFbÇ:‰:¾*–&†.ŽÂÖü¾Òü²ÆüIjÎB 	.o2¦âÎ„šŠT*Š"‚z+rÄÚüR~ÜJ¶2®æÖ”ÞÎ„ÚÆtÒ¾d–†Dvb¢ü†¶ôV~ÜRÌ>—6òâ¤êÖ”Ê¶TÆ®HŠz4bžúašôZàNÁFª
*dúê¼òâ¬êÚ™äÒŒÝÊ|ÖÂnÎ¶\Æ²LÀª<¶ž,‚nV‚áVÑöæ²îÞ¢Îº\º¢²šbf$^–ò]’ìW†å^äº¢4¦ŽG:ZŠæÂ®D¦’$PBZŽìRzÚ®š4^NNrÔ¶¢DvbN>OvÔJnÌ¾®T‚rjZXJJ>öÒDöÞ\úæ”Æ¶lŽzIfÄîÎDÒ¾|ž†zf
BZ¼ÚÊŒ®–ŠvfVVFBV¼>N´ëÊ>æÆ<âÒ¤bR:J¬âÂ<Ý¾4Øº4Ò¶,¾¦$·žª’™‚†rn^:B¬Ï²,Ê®)’~Æª$|jÂ¦$¾¢!Âª$¶šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœHñ  3
@ÀE PÀÀ @@ AG
 L™À$  fÒ$ B„(yàç„	*%jáI`Àç„6LÝÈ¡ƒUZ.=ÐÀÁ!ÄnÄ¨€ˆfIxÀYbmƒ&àÊp…Ðˆ F(æ`!ÅÕ´¨XÁBC± \¼@#Æá† dÌH Ø	HsPAƒ2ˆ2×xqÂŒ8>+-Ct‚¼pÈ¡c‡‰Ê<x¼èácóí@‚Ñ}woÑH¤Î1¤¸	"xþ12û…íÐ‚„îBë2’(Y¢dF &šÐ0ÞÉ#=¸ 6Ä€GD!…{»õ6ETTaÅXd¡E~4lÁ\ø×E^œ@`?|a,šŠ!ácdAFCè·…	fœá]·™m$¦¡Fk0X“óUÁFn¼Go!Gksä¸cEøPXgtÔ1d‘ ‰±„WÜGzìÁRîÐ‡NèˆÆåqö u"˜°Ä„ƒr¦…rH›ˆ ’œ2WŠ,Âˆž‰ :ò$‘H2	%•Xr	&n"ÒÇ©oác&Šh"i þRTêÐ&ŽpÂI'NâI¨Ÿ€J(‰ö‘¨(£øa)¥´ºÈ±ZZ'ŽÔ
‰™yìj‰) œ‚Ê©ÃŽ’
)™$«žÌÊú^­èvB-¡ª˜²
+Û**J+ßÒáJ)É’+ˆŠïAm´›¶ái¡¯À¯¢£ÐKŠ½±(â0ž„álA ü-´àê©'²Ì-¨ûm&®Ô‹-â¾:1Qÿ-'œzz.¹è²*	ƒ[r,i€¡H)®2²2Q¼ôâ‹­èÞjæ/À`R3*¨Ô[²-iÅÃ‹M4/Âý²¦C0Åä/*Æ0L5Q“¬&ZoÍ×^kŠL2Ä(3ËÇ2Ì@ÝÌEUƒqŒ3Ï”HÜrM4Ñ-M¯yÏ2È¨ÐuÑàÏP£âD£x4ÕXs6Ùh³7Ýxóqå@Í7œõyè£ƒN6Ÿl#&ÞèBËÄÔ½MèÖ`ƒíã”~Š8ääÂLì`èà _Ž9Ê“ôÑ~ü8çàŽŽ9 Œ=÷Ñ_N9ŸhŠ6ŸàÝú]Ä¾6èh£üÜÐ/ÑEùÓ(’q
ÿQä"¾JF2˜‘‹,p,ˆ 'HÁ
F$  ; 070701000425b6000041ed0000000000000001000000033d1ffaae00000000000000200000000000000000000000000000001600000003reloc/mscstyle3/mysql 07070100046bea000041ed0000000000000001000000023d1ffaae00000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/mysql/images  07070100046beb000081a40000000000000002000000013d1fe2e70000055a000000200000000000000000000000000000002600000003reloc/mscstyle3/mysql/images/icon.gif GIF89a0 0 ç  ÿÿÿìóöÞëïþþþøûûL’ªW™¯EŽ§ÍáçöúûþÿÿúüýV˜¯ëóöÏâèR–­J‘©Q•­¾×àÒãéaŸ´ýþþò÷ùóøùÖæìo¨»õùúƒ´ÄÊßæàìð‡¶Æ—ÀÎI‘©îô÷Òäê{¯Àùûü¡ÆÒO”«ùüüüýþ]œ²îõ÷x­¿„´ÅÇÝäp¨»ôøú5„ŸáíñÑãé…µÅ“¾Ì€²ÃœÃÐÄÛãìôö2‚ž¹É×æìÂÚâÅÜä~°Â»Ê§ÊÕ²ÐÚQ–­èñô/€œËßæéñô[œ±4„Ÿr©¼ÆÜäÉÞåc µÙèí°ÏÚˆ·Çðöøu«¾÷úûâíñóøúïöøŸÄÑu«½3ƒžûüýÌàçpºÕÞmäîò
j‹ùìÑêºUä©,ä¨)÷ä¼úðÛë¿bå«1ä©+é¶Löá¶þûõæ­5íÅq­ÍØ2‚¯ÎÙpe†y®Àe‡ngˆ×çìÿÿþæ¯:áŸôÜ¨õß¯üõæè³Dß˜ðÎ†õÝ«æ¯;àœûòßáêºV‰¸Ç´ÑÛoFŽ§8† r‘C¦e¢¶k¥¹–¿Íõøøã¦$åª.å©,þü÷ñÒ‘ß— ùëÍÛéîF§¨ÊÖ d†fˆl¥¹|¯Án§ºlŒïõ÷qðö÷íÆrà™è´Fé¹RìÁh÷åÀá'|˜1‚h‰Úèíh£·ÿþýùíÒóÚ£òÕ™òÕ—ç°>àšŽºÉf‡ ÅÒ\œ±kŒòÔ”÷æÂáœóØ ôÚ¤ñÑŽùëÏážé·OïõøiŠ¼Êfˆ_ž³(|™ðõöïÊ}ìÂiã¥"ážûòÞë¾`é¸PîÈxâŸâ â¡ýøïè´Hà›óÙ¡óÙ£z®À±ÐÚ^²ºÉµÒÜ½×à‚³Ä*}šïÌƒíÄoïÌúï×þúóòÕ˜ìÀeë½]ìÁfë¿aÿýûýùðó×íÆsùëÎ÷å¿£ÇÔÃÐ!x–%z˜öùûöâ¹Œ¹É7… ^³Îáèÿÿÿ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç =0 äB@@Éƒ4pð B	._œ@¡‚…dÐ “à< ¨ðDˆ¢EŒ @B ‚&N@E‘BEÁ, há¢à1 Ê˜aF¨6nÄ‘ãBQ;xô(èãGQ A„0(8„HFŽ I¢¤à&Gš¼tòJ)§PR”Ê
«X¹‚CÑ,(jÙÂ ]°x¸ÀÀ—‚	#fŒï1dÊ˜9ãM5kØ´!èæqâÈ™30:vî Ä“GÏ>àùþôñóø@‚*d¨`€Cˆ)ZÄˆ
 9Ê^âQ¸‰$“DI!•dÉ%˜°wP&‰h²	'6  E'ž|’(¡ˆ2Ð£RŠ)§ ‚J*ª @É*	
´`ƒí¡¬´’E
®¼¢á°tøá(PÄ"Ë,´ÔbË-²¬Ø" /:(£& à’‹._<0ÀŽ»ðâ¡@ BQP/—øBÉ/k ãG0Â\21Å ! Æ$rL'< °#2É(óÉžËŒÂL3ÎšÊ3ÐD#Í%ÓPS)Ö\ƒM6Ú˜h jlÃM7äÍ7à€NCT Îã”JŽŸå˜£ª9ç @:Aê¬ÃN;ì˜âÎ;ðÄ#ÏªæÌC0QÏ°õØs>ù4„G0ìècÑ>0D?ýø#ÖµØf«í¶Üvëí·à†kQ@ ;  070701000482b0000041ed0000000000000001000000033d1ffaaf00000000000000200000000000000000000000000000001400000003reloc/mscstyle3/net   0707010004dd59000041ed0000000000000001000000023d1ffaaf00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/net/images    0707010004dd5a000081a40000000000000002000000013d1fe2e70000098a000000200000000000000000000000000000002400000003reloc/mscstyle3/net/images/icon.gif   ‰PNG

   IHDR   0   0   Wù‡   gAMA  ±üa   bKGD      ùC»   	pHYs    d_‘   tIMEÑ/™e½P  	IDATxœí˜{pTÕÇ?çÞ»»É&äEb0h¨
X±*v:¶µNSéh­cÁ Æ€¦¯iíàs´ˆÄ:– ´ŠˆÊ@[)l¦8C‘É åˆæ	†@’Mö}÷Þ{NÿØG²$˜„é´“ïÌÙ³çì¹ç|¿¿×=³0‚	âlPJM°m[¸\®ªäô—=2^ÆY°,kªmÛÂ4MÍ¶mQzëãÛúZ®Z‘	ÈÓÚ°ÃèoAO‹D£QÍ4M-I|Ó“w——Ï¨ìl1É¾ºZÚÛy"	!ù€	X€Ã0{¤_X–5 
éI«O˜½hëŽççRT\‚…FÄrˆÙŠ€iÑŽâ†9Ñæ£©å$k6ï$\µâB @\”Í0z£§€¾,#,Ëš
…t¿ßoøý~ãš/mùdÙÎ+K{Ø¢±ÍOkW˜!ö¶ø¾èŒ©)²TŒpW»ví#\µbÐ‡SD*„&OžÌ† Ø¹sååw§Ù¶-"‘ˆ~Í‚—¶üù©ÙäÓìÑÐâp‹CÇ;xwÁ(üÙëØ–ƒG(25¥CÉ¥ø‚yµáª—&¶6ZÏÁm·ÝÆøñã{-rG\]±ôƒgî¹–1”Òì³«þÛç£Ã_¤È´ýa.2%ìÓÑæ˜Ï¤3ªÈ)* ÷ûó …@vÂxg]DNGÊ{÷îMn–JÓ¦MÛàÒ/ã+/'ì@ý© û8tÒGC[ˆ¼+é|ù rÊ—¡T|#)ÁBÃ„0 Ž•t"õqÔªUk (/¿›Euóì]­ÌùñµÌ˜6…¨Ò¨njçï5-ë
Ñîâ˜1„#AJ””i'-îd€¿±ÙnÆÝ^…·8wžÝ­!´;âÓµÛ9úŒ•â~Æ2šÌàÊdLÉX,©8z²‹šÍ¾ ¡N4†!%*á¼$!º‰	¡ãH‹cmæ…¯¢8šÏÿZ‹î @I…RŠ—¾÷Ë>ù8/U=‚õyZÔ÷ÿ !Ãr$¾É1_ˆ–Ž Áˆ…m9þ4¿×ê’ŠW™iVeÙ ^Ù÷>¿Òç M…0h2¾RÅ0ûoãžT*%lá„Y(Õ»Pj½fú„ 3Á6ñ…Â´£8¶ƒrF•¿Hî½ËÒVËÓ’eÛ¨˜‰²-”­hn=Š´U<ITœ»R
'àMâc¥}|3oL?ãì(É©®0]á(á°IÔ²pllÑ‡UÂQ+½(…rbñä–÷ç±è¹ùt­ü=R*º@Së„¥U@Á¬Y³RûœŽ…PäŸ+éøæåøü!üáQÓÆ‰YàH”è#¥ƒÒtP*ž Ž…ŠEQ±(YZˆ¬›–óØ¸ý| ï¥¡ü:÷wñg°°ð:*++QåÍô´D_!4À€ú¦&Š
ó‘1…³ Q*é‘¼©ƒlD"®qÀÅ«Š‚óFc+8/ÿ"T×n”RˆÄãÛ¶m£££ƒŽŽª««Y·ø§”cŸ%7îÍk@v^Í5“î%/1îì\tÛB“vÊó^Oº +J¡ëÌÒ"Í vëAn½ý
22nÀ5*ÆÓ_½<O1':@‚Á`ªT]Ë«ãòâûÖBh µµ‡(s	¶4 ÿ†'z­n|€f</Ô…uBÐÇµS®g]ÝZô«CÃuBÇð
ÐêµO¨®®N7Äé„+@×4úË½,¿éMbß.oº+CÓwÇ"””ñš¯’‰'‘1'ÄimFF¨¶CÿÖ„šGÄ›’ñ#háërJI”T©Úú  MÌý®~«„Š{–àš|'äàè."T
¡$B&È[&*Bs,dÐÕô]|'†¡óÎ±Ð3z†@3ÉR“,™ñaq>‰¼Ý™cÆŒlÜ¸Æß ÙÙ y†é8qK‰0Ã¡dÙ¾Ÿ‹ï+b}Ãvî¿òfŒ,#KCËˆ‡	Óë|ee%ö]õé<›Ä \™…³½Ìº~:ïÌß”ú=cÒH[CÓ%Ò¶±>ÛJ‚+“ç–±uëVÜ7GÈËÏâé‰sÉ+ÈÆëõ`¸td0‹¦Öè]…®¼+?ÿPÊè}+£¼6Ç+Ë »0“×W/aÃáøë’D}˜¶Ö=is¿{	dÏž=466rÙ¨1,oÚˆÑ.H™S)””,,º®WztÒ=ñ7s·‚³p8¼Ÿ)sÅÛosåîçüÑ—òlèu¦•ŒãÄÉF^\õËk¶ M…râ	¨ä¿q—aš&Ñh4.*GãùëàõzÐ-qKu^šZPùXe¯*´øÀjÔ~É“ýñŒüäM™8‘5Ænž(¸ý”FvŽWŽNQq.žVóJoÆ²lœ›“¾FÞ}ãCjkk»ÊÑñz=ü|çÒÔí3i}¥ª\qUYaúœTiF\‰xZøBštðd¸nAV–#[gtQîÑçÍç7ûÞŠ{!Sñ“Ç¦ò¦ßD t.¡‰î›¦JLTžîjDòvG2Ô¦OŸNÚÚÛ¸ýò"în-~¯q¹t4¸=šKàÍò`xuò
²1r5Œ\W®Î¿ž¥¡yÂM „è&H_¤{Î‘òTíî¬¸°¯xWN,gá‘7Ð4-%Jè`:Â ·Û@3@éñ”Yh!tXö_¤íóòÔ‡zd
É<poÚô·Ür›7oæÓµÛ™ùùÇ,){†·k¨/«£qÝQêËêh~ïsê3ë8¾©ž†Qõ´lifIÙƒ<²úU
ë9ù·ê‹ëxdõ«gMz(PÝÁª©y©Ú´î’÷@¯yR·ûakÀ<PZZÚk®ømH}Cþe Pï®_ŸæalÃŽ>ÿVéç÷ÿMÌœ9S¥OàœxáŒXµjJRŸü>Ü¿ôEÖÐðYê{ò5>Øþ\áKÔÔÔœÓÃ‡ý%é¹0ßÿOaÁF0‚ü×ñ(ZéÌEPd    IEND®B`‚  0707010004f463000041ed0000000000000001000000033d1ffaaf00000000000000200000000000000000000000000000001400000003reloc/mscstyle3/pam   07070100050b2b000041ed0000000000000001000000023d1ffaaf00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/pam/images    07070100050b2c000081a40000000000000002000000013d1fe2e700000687000000200000000000000000000000000000002400000003reloc/mscstyle3/pam/images/icon.gif   GIF89a0 0 ç  ::rrB²²ŽææÖ.*ŠŠZÖÖÂb^&––fÂÂ¦^Z"ªª‚ööîRN&ÎÎ²zzNžžrjfb¾¾šJF66ÞÞÎòòê¢¢bbN.*

††jvn,ªª¢¦¦z††Y¶¶ŽÊÊªzvn>> ""ŽŠrêêÚfb&ZV*ªªŽ::.22&zz^žž‚ŽŽZ""bb.úúöÂÂ²66*¾¾¯¶¶š*"vr^^ZN¢¢uÒÒºââÖ"®®†ÚÚÊ~~^62RR*ššvfbFNJ2†~NŠŠlFB(.*"²²ž2*'B>B:*"ÆÆ¢ººšîîäÎÊ¾~~JRN4¦¦†VV:nj:®®..ššjrnZ’ŽnÒÒÊ"""ZR8¢¢z^Z8jfRF:.ÊÆºÎÎ¶–’bvvF2."þþþ®¦‚:6"‚~Z‚‚^††nNJ††b¶²šBBrrN222ª¦–rn:ºº¦ÞÞÓ®®¦ÊÊ®*&^^0®®š...&&¾¾¢
VR8¶¶’ŽŠfææÚ>:nf*jf6ÊÆ®&Ž†rÆÆ®ºº–ff7*&®ª†RN>

ÒÒ¿ÆÆ¶


êêâ&&ŽŽr’’f¦¦‚®®–ÎÎ¾ÊÊ¶:62.®ª‚~R.&¢¢†––jææÞ¶¶¢ÆÆ©žžvÚÚÎJJ&¢¢~îîê***~~Qššq^Z>ÆÂª:6&²®†ÞÚÊFBâÞÖb^.ŽŽb&&ff2jfB†‚VnjR‚‚Vš–núúú²²’ÖÖÆ¶¶–†‚_ªª†Š†Vº¶šžšwzvFÂ¾¦

¦¢~::~zV66žžŠ2.*vr@Š†f&"bZ6²®š’Žv.*(ÎÎº"®®ŠööòÂÂª¦¦~ººžÊÊ²º¶Ž>:.62&~zbª¦Švn^6.&Š†r’Žb>:––nŠŠ^¾¾žªª’ââÚÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹òq #€1ø dd8 (iMrêTNÚH„cÚ¤œ	*¾N/ŽáÀÊ™™S GP¸z¤á²èÆžIMDô%Ï¦	M~¨:2åB¼ŠzU8öeY©Ãæ<«ÔãK	¢¤2’êÎ‚éÕR¿ªR}Àˆ¬Z6]a˜ìÃƒ§4huð€`2ª2p1’€`1A5gPÉBD­Ù3jüdÉjgî ­G°iõ’A×ˆ’æAÅ®K©2ºFPE"‚„ÚÀŒ,fÜ~"Oˆº¬û1ËA—{[àþÀ[b‚@¨tqnXñwÊE^Ó†ø£ÁœöY³Ö¡sCÆƒšñÐ1	sél ‹žäññ1É5Î0°]ÙDÓÌ1pœ£¡YÒœÐ:9  VDäaI3³TðƒÍìE&jÔ(D}¤s,A`2ÀÑÑDwôƒpeD3 ?êìOjL±H!¬Ð£9²<£&N„A?üŒPF)]<Ã @ø@‰j´,À†:½AsÈÓ…,C”2À%´ã‰:X0}Ðr 3¨XÂO3e(SL—EÑ	% ³C žáO;`Lá5 â£:ˆ0¢….¹Ô€gDþôÓÎUp
ŒrrqŽKôâ££¸P)Ö„CiDp „,XÒ)V<P	<jð@Æ8¢!òÌ#è2i¼
‘x„³D˜ÇÜ	PLÑ
®ÈòG3ÑlGÊ˜ p,D áŒ©D(—N:ïlBI”<lóË%C8 Ü>o"]ƒõ‹•æ¥sC(ÈÌ¥â|1€-#ü@J.’d Å`Ç#¡XÁÜ€,’	›j82GTPÁ$ÐÂV,/T@8X‘3::ƒK&å@!u"DóÃ+7ƒEq*· 8üñD.háŠ-?cÍ0(pR´CJ$³†?¡ôÈ†g,ü0ò‹%“ô0P0÷CMÈó-D4Ê½eÌ²ÀX`¢¶•Š=‚;è”¡1x`‘D-©0xbNtí¢Läò„!Š[EÄ
QA)¤°rîÄoüñÈ'¯üò ; 070701000521fc000041ed0000000000000001000000033d1ffaaf00000000000000200000000000000000000000000000001400000003reloc/mscstyle3/pap   0707010005673c000041ed0000000000000001000000023d1ffaaf00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/pap/images    0707010005673d000081a40000000000000002000000013d1fe2e7000006f2000000200000000000000000000000000000002400000003reloc/mscstyle3/pap/images/icon.gif   GIF89a0 0 ç  ¦¦~~2ª¦ªrrVÞÞÞn‚~‚úúÒªžZZZ666j*"ª^R:"–Êž’RBfŠ6*Þºš&"Zöö>&&.þþþŽZRâ¾ª†>:º~‚^BªªjB>‚^Z6n¦.6âÒ¶’’òòš>Bò²¶âÊšÚÖÚ®Ž‚>&bz>.B–..2:‚†‚Îjjj²®²ÎÂÒ’22>
6öºÂF’z¦jfj^V²^.*ºº†.¶–Žžfb.æÎÒ‚N~šNNž22Ö²ÎRîÂÎîÎ²âª¦¾ºÂj.**F">ºv~šššæž¦ÆÆ†VZ^N–ª>>¦¢¦¦z†ÞÎ²ÖÒÖêÆ®‚b†Ê’Ê*"úÂª


î¾ªŽ:62
Ö¾ºâ²¦r>NŠB>&Žz&ž:JJ&–j’R
JB:62N>‚æº¾z^ŠÞ¾ÚjZRz²::¶¢ÂrN:ÆÂÆ¢¢^NJ¦†®žFFF.J’:BJ*"ú¾ÂþÎ¶v2‚jfB2š¶‚žªJJÒÂ²"6ž:::–:6B6fBjîÂ²‚..úÆ¾âââöÒÊN*nbbbæÊºŠŠŠvzzvvF:^6>òÎÆ¾¾®rfê²ÆJ
V¢>FöÊâ"""’FBš>Nú¶º~6JÎÎ–.>NNN:

Fr":¾¾¾"BB’>:’ŽÆ²Žž.j~zz†††’bbN2*ê¶ªv&&Þ¾®‚FFî¾¾>*ŽÂÂf"ÊÆÊ²†‚*ÞÆÞnæÆ¾¦2F’B6BFJÆ¾ºÞ¾Â‚‚‚"2–BNÞ²ÆŽ""&^†62æâæJ::J2Ž^^^b2&ÊÊ>òÂ¾¶ššÚÚÚòÂ¶Î¢’æÎ¢ÊÊÊâÞâÂ¾º
FFFŠ*ÞÚÞN&ÎÊÎÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ"<ÀÅÓ¬«æ•@–4«0ðD “Â¹4 H²¤É“ª€TˆiäÉ—0)68°ò Ë˜8M®ªf\n}9pàË-.&ÀzÙ‰çÀM'•Ýû·jjA?Êþ}1qRžSž f”wã–ÀU«ä5XÛ@Þª2oÝxˆ¶Á¦¯ÿ:uªÒ)ÁMoT&OWŠwŒ»áiï^¼\–Ç@%TŠ7¾üµÀU²%€÷`;’	v"i¶4HÁ v\Eqœk‡mG1ëí„8HÞ=øƒ$—ßg‘l€ð¦Wä¿I+éÇà½’p¡¬¢ÓãÀo7)þªÔ.0<E¿nÝêDÛ$sƒ«L”Qö~`…Wèœžód‚RÔp
6hÌÍP3Ð¬Š	ÍÓßIÒt*SLÄ+ÞœQÌ”(ø52DÑÅ 5PÆŠ,¶è"‹²í c¯d3ÍgtàÍ2` ˆ"D²A0äýÁQxSˆ7:’K!gèà†=ôÀ„N‘¨ŒC…èÐJ+@y†%n<3Œ¯òE‚ Cƒè f+²D¥$:Ðàf+…1—|ðÆ’LóÆÑ” „$Ð@ƒ%gÄ`K$E.2†)¶°2Ž4”P$l±Ç¢ÞlàEþCÂ þöØ’H"nä1„,vÒ°$’tÐÁ´ªÉcÀÑƒL€c@§¹ˆ¹G!¨ Ã ­Â€#¨aÆ
TDI1:²‘D6ƒ„ºG«$„aL€a†µC$áÍ“JìQB«¼ø°ÍÌ0£Ž0ÁÆ ’X’Ë*Ð C#­vƒG#dâˆAN.Ò¾‘„%…¨P‚$­ÖÇ.¤Q	OdðÁ0½p£Ä¢44BEÚÀG†ÔL»j˜Òƒ²äág6–|BC‘uœÀB#Œ †1•<Á¤(;m1|ÀJ‘ÇÜÂ'cÆ¤ÍA‘€#Çæ
-E¶!ÁÛrÉÒV¬à
dŒ‰9Ð’´¸ÓªÎØqVô-Ì!OŒ†Ób„oä'flëŠ+—˜ñ„ëD L›ãÒê?ÇÜaŒ—á÷9jpp	"µ‡âÉëbM%f³ç Â	f¨†"á ÿuÁNˆb»ëŠiT ý?ÝäP^8BDfpÀI&v,pÇ)ãëbÁ,zHðÈÀa4ÖØÅ$qñD;(…*–@‰1Â€ÑÄâ0J@!@€Á †þ&  ;  07070100057d99000041ed0000000000000001000000033d1ffaaf00000000000000200000000000000000000000000000001800000003reloc/mscstyle3/postfix   0707010005931a000041ed0000000000000001000000023d1ffaaf00000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/postfix/images    0707010005931b000081a40000000000000002000000013d1fe2e7000006c1000000200000000000000000000000000000002800000003reloc/mscstyle3/postfix/images/icon.gif   GIF89a0 0 ç     )))ÿÿÿËÍÉýýý³³³hhhCCCÞÞÞVVVŠŒêêê222e/Wf/Wg/Xh.Wh.Xj.Xi-X³—ª“Zk-Ym,YäÔßo,Z{?io+Zq+[Ân¡t)[s*\u)\…7jx(]z'^Ø•¼~&_%`æÓß…#açÓàŒ cèÒàæ«Í÷÷÷•fêÒáëÑáŸiìÑáìÎß<d6§l»8„íÐâïÐâíÎàCj4Cj3«m°oKp0‰¢sðÐâSw-Tx.y•[ÝäÔ¶qñÏã]*¿Î“»sóÏãÈ~f‡'¯À‹àçÔÃup$âéÓòÃÞõÎäy—!äêÓË	w‚žæìÒÏxÐyöÍäŠ¥èíÑÕz”­š±$êðÑáé²ÅQÙ{Ù|Ú|Ú{µÝ}Þ}Ý~Þ~¨¾íòÌß~à~²ÆñõË½Ï	ßèÌÛ0ÅØÆÖÅØÎÞÕãúúúÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 € ,    0 0  þ 	H° Áƒ*\È°¡Ã‡ `¢ÀŠ1^´x1âÀ ,0`âÈ€ @	  J@ðR€L	l*his€6K*°É ›@<‰´©Ó§P›rlÈ4ªU«Sð «×¯`@ð:öÍ¬rý:BY·p#¸@‚Í™% @—B¾(ø¥0A°à
( ¶€ôÂÒ¦"W˜LC˜3kÆ,õ!O›B‹‡<tXýau‡–\
T ˆÛ¸3„0Í›#‚ !‚DO´/Ø$Áœy‰ÞÐMHŸ~â„MäP½û	è¼QþXNA¾<Qä	«ªX¿¾ÄŠ÷ðã¯Á¢~ýÎ›Ú¯bE‹ÿ X‘V„”F¥ç’ 6ˆÂF!#ùäÂH1ŒÀ /äXBÊ	 Ãˆ2À a„3¤øÓY ¨UÑI;À€  ÷‰2„"<öHCU$5Å¡lN¡UUH"	ƒ6ÐÀä“@^õ”‘M%‰äOfÉ$O8téå—`
€3
Ã™gê ;´É= ƒ^>üðCvæ©ç2)"€
è›oÂ+
¡è¢C°è£`cmATji¥Ddši2ÚTÄ§Eq¤0¨EhÐg$áê«þ®¢ Ä¬JPˆÔ¸.Á©¼"‘ëªTUÄÛ„N$«ìÚ	 Å³PD!Å´ÔJÅ³g!¢ StëíÊ†ëÄzQa.U¤«nºQ˜ÛgBj}Û­WÔko½ …Å¾Ldáï¿Yì»ïKm¥ÅÁZ<Ã½÷~¶ÅÃLp!ñÄ\<üp¶ÅdS^pÂ_XÃÈ0 S`¤F,·†Ê`KQSbÔlóÍ8‡8ÆÎcÁD@›qÏc\w €i0­†Ók¨!õÔÊ±aõÕ@—qÆÕV €B[µ!öØd»ÑÆp¸áÆQq´í¶pËávÛ¤ÖnÌ1¡|÷í7[Õ!¸àfØa¸r^Æm+åHÝ!ùx~x“ËœÑãSj¬‡{Tn¹fäÁÇ|0^ÐH)pA™H0dÔ–ÀQ}ä®ûî¼×mH"‘dR¶' œÈ'¯üò^/4‚Ð ÁJœ7¥”GGWz4ý¡Ó†ÇÙ ëFc^Á³4£E@]o>BÏs„`Jï×oÿýøçŸP@ ;   0707010005abac000041ed0000000000000001000000033d1ffaaf00000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/postgresql    0707010005f278000041ed0000000000000001000000023d1ffaaf00000000000000200000000000000000000000000000002200000003reloc/mscstyle3/postgresql/images 0707010005f279000081a40000000000000002000000013d1fe2e700000916000000200000000000000000000000000000002b00000003reloc/mscstyle3/postgresql/images/icon.gif    GIF89a0 0 ç  -j•eŠ¦Ž®Â¢ÊÚ&&&¾Öä668ÚÚÛ>>?ââãNRRrnn_^^ššœææækjiZVVæò÷2b†‡¦¹ŒŠ‹²²´îòõÁÂÀ2j’VVVnnnv–ªîöúÚâäÕæïHjŠ:b…®®¯\z˜vvwÇÖá6b‰ÊÊÊîúúV~œ¢¾ÎGFEÈÚäÚæîJv–âææ¼ÎÜz¢¾¢žž.f’†Š†VZZŠ¢®¤²¼+*)†žª‚„âîîZ†¦ÒÖÔ6fŠ>b†š¦®öúú²¾Ê.fŽ™¶Ê6jŠ“––Îâìúþþ2f’lŠ¦RpŠ®ÂÎ|ž·Úîõæêë¬ºÄNNNÖÚÖ¦¦¨Ir“ÎÒÒ"321~–¦f€šabc6f’oŽ§“ª¼ºÊÖzzzZ‚žîîíŠŽŽ¶¶·:f†Brš•®Â:jŽ¶ÆÒÖÚÚ¤¶Äâò÷vŽž"""2f–~’¢æîôÂÆÅ;63AnŽÐÚâš®ºòöøj’®‚¢ºŽ¦¶fbbÊÎÎJJKNnŠÂÒß^†¢½¾¿NrŽ::8éöûÖâèŽŽ..-.f—‚~}^‚›Rz™çîîzš°ž¶É>jŠ:bŠRRRÝÞÞººº6fŽn–¶b~–ÏÎÏªªªÓêïFn†Úêó²ÊÖ•²Ãzrróòò2bŠ†‚‚u–±ZZZ¶Ê×6bŽQv—ÞîóÎÞèâêìBBBVVR¢¦¨Z~œ’’“f†¢n’¯Þêò¼ÒÞ~~~¢ºËêòõŠªÀ:f‹JnŽÞâå²ÆÔŽªÀêîóFnŽâêò*&&úúú2fŠÒâëþþþrŠ¢º¶¶ÆÆÄÒÞå¾ÚêÈÞæ2bŽ>f‰Úòöš²Â‚š²:6:®ÆÚÒÒÒ&""VRRsrr®²¶¡¢£ööòv’ªBj‰‚††gfežºÆvš²„ž³¦¾ÏêêêBf†®ÆÒRRNnŽ®2fŽBjŽB>@ÖÖÖNJHÂÖáb†¥>::âîó¦ªª††‚¢ªªÆÊÊNr”ööø†¢¹b‚š~š¯r’¬Bn“z–®:b’,    0 0  þ 	H° Áƒ*\È°¡Ã‡#JœH±¢ÄQ–PZÖ®>‚åPpª2C»Ù*Z”%N"¢ §cXW	ˆ÷Òºk‡NqY%Î”[4.a 2ï[ 7§P4$ÆãÚ­M­èÈÛÚ«NQ‘÷ÁX-	­†äj3.Ò´<1Zý(ñæ1…ÄÀ±`ÃjÜ=J”Îx"ÁÌ(|¶¼¬Bê„7x+j%AÝ3R“ö³v ÁG„Û¨õ’æ­#F]R-Ép/Ð0©;]CN±V¤­ú²+@L5úáêÅâÏ]ƒd²˜9¤Øi9ÿR©^÷)Í³Ô©ž-±,bv*8PÚþ<BI] FzqÐB<HªÔ©+$U9rNi­‹|uÛ©ÓÅÙ1òÌ«p€ò1H#ØNƒRCj²-±D‚ÔÒ:© ¨aˆÏà‡Éùy! ,É	@HcFzDLÚH¢!ƒÏüÇÁ'ÐôXCÏ¤"‡:˜È±#KYL8-˜à	2L96ÆaÏô¨vJ’S)2r„†ÊW#>cE'â#i˜±È(á Ý0‰æ=BÃ
K"Â	”`RD˜ôXL Œ:v @ ¤àB5Ç„Ï€LÓåvŽçÉ*sðÃIq€þZƒ:šØ Š”˜M)—G1Ûõ ¼¸á†1¡ì 3Nœ°ÝšKÔàM'¾äðÄˆÜñLÁã
a#Ë¤|`÷ Ò‡7˜ EnÜC`14GË*[ðD7ŸX€ À¼QÇA<p‘„´¥ªŽ!P¨ ${„ð	-=f‘|ÀXÒ]uÆ§AfPÓC0ÏÈ¦]µÁ¬B žðŽ.HÉ.êâ†5Î9éÁÌÀdI½xk©ÏÄ‹ª=Š¤ é¢:g@ÁA5qN‰±´R€qs€ÒS©òY!O,#ê.'t)§þ:¬`‹ÏüòÎ˜3‚É	APÂ;©œö2¸¡
£þ‘²†4¤xbÖ*È£:2sB«,†BœØ!Á#T¦!&b|B]>³‹18ÔpÄ‘ÓîrN'ìÍ¿\Â
=ðÝÈQ¤yêtnÅ†’ 
/¿¶:±¸ÁÄ¾M¸Ð 8"” ¾øGÉëžÔ’Žˆê„bŠ Àà|¸˜ð‹	_lÂ2q@ ä1=4È¬0‡’xñ	tIÒ‰U¢&H¡ˆC`0ƒ+øE.z‘XŠ{Â¸íä€	éœè>êø…   XÆgBŒ)ÐÃþg¨M—jp‚è¡¾`…	b‘(‰È?/ò„¸qˆdÄáˆƒgb†a´‚	%b„óÒA¸£dÈ…Ò°&5ªÛéÂ:Zàx W€1~0K$d…-&ÑÿÄ¢ß   D!}x
V˜ ˆœx¬âý ‘=("1IÈá,ñ…œ@ŸpÀ`‡Vxa^@Ä# x¢í‰ÀtÈG:ž°fX" àCNQ	¤¡¬àD)ô@„9ðÂ¦‡±£Em§ùˆB6±Œz@ ÊiH9ÁÀ@~˜B->Tx ÈÅ#Ø 2©£óþƒü .Ôƒ±@à‡TÀ3ÀF	nqƒÄAžš’ŠPTT Ö‚(b	\àø0C	NñŠÌcòœÕvŠ 9 àE’…¨À2ÿùÖ$VÁ‚
Ìt!: †#X*RYA¸ÅObÀXê`i…`.5!è ‚)HñÂû<#íˆ–®zl‚P’\RÈ1)”¬™‡q‚#Õ
.ˆÀ6àj%@Â‡¤³àÁìx+_¡4 ‰¿†	è°He±Ùh9"YX 
Ù°ƒ;®°QÌÛ8ENQM(Ö´W ;  0707010006072b000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001500000003reloc/mscstyle3/proc  07070100061f21000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/proc/images   07070100061f22000081a40000000000000002000000013d1fe2e7000008b6000000200000000000000000000000000000002500000003reloc/mscstyle3/proc/images/icon.gif  GIF89a0 0 ç  &&$fflnntZrT
2\""$ffdjjlrnlvrtzz|vvtRRT^^dZZ\ŽŠŒš–”ªª¬ºº¼Z^\bbdrrtzvt~~|~‚|ŠŠŒvv|fbd’’”ž¢œ®®¬ÂÂÄ^^\‚‚„ŽŽ”šžœÎÎÌææännl‚†„’–”NRL¶¶´ÆÂÄÚÖÜ††„Š†„––”êêì†‚„††ŒŽŽŒššœžž¤¦¢¤ª¦¬¢¢¤¶²´Â¾¼ÖÒÔæâä’ŽŒžžœêæä²²´žšœ²®¬¾º¼ÊÊÌÞÞÜ–’”¾¾¼––œÚÚÜââä
*L‚²¼¦¦¤ÆÆÄÒÒÔVväÒÎÌÖÖÔRräª¦¤îîìJjäNnäFbÜRnä¦¦¬îêì‚~|>^ÔB^ÜFfÜÞÚÜ:VÔ>ZÔJfÜ­­¯²²³º¹º.FÄ2NÌÚ¾êŽ®ÅÅÅÀÀÁ¼¼¼*FÄŠz¶nr
¾¾¿ºººµµ¶ÊÆÄ">ÄêÒŠþšâ·¸¸³³´®¯¯.´î
^&>Ä±±±¬­­¨¨¨.´¦6¼ªª«¦¦¦¡¡¢&¬*´£¤¤ŸŸ š››âÞäž˜™™””•§§©¹¹ºÃÃÄÀÀÀ1Je––—‘’’ŽŽ   ..0¼½½ÁÁÁ¼¼½/Hb‹‹Œ†‡‡+,-³³³¹¹¹´´µ°°°,E`ˆ‰Š„……€€))+²²±¨¨©££¤)B]‚‚ƒ}~yzz&&(Ÿ ¡  ¡›œœ——˜˜˜™&@Z{||wwxrst#$%‘’“”•ŽŽ$=Xtuvpqqklm>><!!"‡‡‰‡ˆˆƒƒ„~€‚ƒ„!:Unooijkefg ……†{{|vwxrsswwy8Rghiccd^_`ZVTqvrï`ab\]^WXYnnpbcd[\\UVWQRSX`XOOP**,b^\

®ª¬VRTŽ†„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡C ">œÈ@ 0` bG CR\hà 	,`ÐÀÁ/0ˆ aŽ#8ð ‚….`È a0!t¸ ÁÃ!pæ,‰ ‚\hÀ Ãˆ$<h¡B™$JØ4!q"€#NÀ´  Å]S€U!¡‰ee¦P1ERx#†YQpÍ0ƒF6lÜÀ‘c`šêØÁ£‡¶Ô¨±áAîz¥ÖCŒ:&€"DàH!RÄÈ‘#‰°íÁ8dœðºá²!rïfA!‰8þÐP’ƒ…‘%L˜$/ ³&NÜ?y\=F 8&LÂ=#Fh°Â38%DQ0q„z ~:4!…Nà€ƒ¯`C	ÙéÆ]þ1S¤°” &,±  èô~MTa#…VL`'œ Ý…`„	T¸
¥A
Ljd1ôàŽJac¡%=î$&˜QP€Â$ÜP	^q”ìåBXdQ…Vbé,ÁÃ	2t÷‘TtGE#ü`Ca!˜p„WŒå@êÖ„XdºÅwR˜D;!€e&1¤(h@‚\°ÐèþAtáÅ¤áðM|†adŠÅ•z² BŽ'„@ÁQ˜`Dˆn N!¤’²—›MŒ1dìªEXla§žfœFG¹lgn`B˜ºD¬³Z{ki¨±ÆÛ²ÁFZ´Ñ†¸Y¸ñ$EI°Ð,:€Pœ'DJë? \ÛDûÊ‘†¿sŒ!0e”‘EvÜ‘Dëö‰èx:‡‡i²^ÀO€ÐDzè±G|ð1‡}ôA``áÇ€P°pÃBLpf
D<qÅÕJ©q ‚2HAËAHÑs1…rHP@=ˆŽPµÌ4gÐ ”8ëŒHþ"‰¢HÏ{€-´j±#P@AŸp÷hÞ°¢T0q…6k×„#|?òH×~‡Fj@‰$n?„q§¹f“¼™9´8b»í|‚à„’%•XBAÔOÜ`ƒgzá.£Q<Š9{—`’‰&›lŽ{"Ž|îuŠÂI'žPÐ81¨AÜQ^QˆÑ…Ÿ°J(nˆ2Š¤X{î¢H)¦8E¸°ºD`q£«vÀ>1œ ~BE*T±
V ¢úã›íúçŠWÀ‚«ó 	^0‚T@:ð“Ä*'²0Ä, A‹Zèïv°Å-páÔàþ`@Ü^P5ð EŸˆ_jr¡‹]ð¢¾øÅŒ`ƒØÀ¼ J‰ÂxD·ƒÅ  1Ž¡?d$CI`M’.0€¸¡© P¢C"²Œe €ÍpÆ3 ilnÔ¨h0p 	°ã'.V‘%,¡}€5®lhcÜè†7¾‘„F>2H 8"BÉŠDÁ’—ì£ qŒcÕ G9ÌA\à	°À,€  ¡•
€«ŒðÊX.c 8:Ò¡Žu°#	¿ Ú€	3@fB26P@H¯Ä¤ÝñÀƒ]ˆ 4ð a˜‡8Ç	 	ägËŒ‚:0Pà  €Átð/äÓúÌ	Æ–3Ðƒ?BèƒtÀP|v òˆ¨D!’ÐTÔ
íãt€ƒ†. ˆ)jFJRDÀ¤°zé|
³Ã¤©r `¢b#P€€T¡&“¨EµÇê±‚¦:µ" ˆ 2`Õ«î‘•^«XÇJV¯ ;  0707010006355d000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001600000003reloc/mscstyle3/quota 07070100064d38000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/quota/images  07070100064d39000081a40000000000000002000000013d1fe2e7000007e4000000200000000000000000000000000000002600000003reloc/mscstyle3/quota/images/icon.gif GIF89a0 0 ç     ÚÚÜÂÂÄªª¬&*,"&,""$**(~R$ªŠ\ª¢”ªš|žr<F..24^J4‚V$ê¶|êÆœöâÄîÎ¬òÎ¤öÞ¼¶z4ÖÖÔš^ÎŽLÆ†<Ö¢læÂ”öÞÄòÒ¬îÊœîÎ¤úîÜž^ªj$²r$ÖždîÊ¤òÊ¤îÆœöâÌöæÔrV4Â†LÂ‚<²r,žf,¾~<Ê–\öÚ¾òÖ´òÖ¼þîÜþòÜZ6Þ¢dÊŽLº~<Îš\æºˆêÊœòÚ¼$â²|Þ®|ÚªpÎ–TÊŠ<N*"®n'æ²|òÒ´ŠR26<>*$òÆ„â¾ŒêÂœæ¾Žêº„6"V.ž‚\¦†T¢b~FöÒ¬òÎ¬º‚L&>><..,R*öÖ´b:Öª|ŠjD†^4æªlÂ¢„2">:4664&*4^2þòäúÚ´*N6zNÆŠD¾št*öâ¼æÆ¤ê¾”æÆœ®†dvB¶‚Dº¦„’b,
:Ö–TâºŒº‚T*"

NNL¶¶¼ŠŠŒN*Âª”¶¦”¾¢„ŠzlnV<
ÎŠDÚª|––”224ÆÆÄ¾ÂÄNRT:>D¦’|Ú¦l¶ž|Â~<ÞšT
þþüššœ¦¦¤ºº¼jnlRRT¢–„úæÄº~4šb$Ê†DZZ\BBD

nZ<æÚÌþòÔúâÄ¾‚<¾v$Ö¦tþêÌÒ†4ŽZrrtbbdŠz\Ê†<f>zz|B>4òêÔòÚ´æ¢\bB."žžœÞÞÜvz|
‚‚„²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H°`€ƒ*\È°¡Â  0@@ ‡3>P €
XÔHÒ!D	,`ÐÀÁƒ‘%c„!‚„	*X¸€!L™$dÐ°C@„1â‚Ï‹@3B$QÂ†(>¤P‘b‹-~F]ÑÅ1dÌð@£Š6VÜÀñt,Y9tìxa‚G?&¤øð ?ˆµ1ˆ!Cˆ1ÂãH $I”,™àÃ‡&A…ØÄÉ(Q¤LIB¥Š•+X²hñ!%Ê.]¼ˆ.Iú˜0[R ° feÌT9cc‰a4i¼¨Ù-UÀš5lÚ¸añÈpÈþ´ˆ#É [Â| SçËt¨1!øòÅ˜; ðäÑ³‡O? ˆ *"Å„bˆ ‡À”uˆ$rÈŠ,Âˆ áÈ#| É%DÒ’L‘À$6ƒ”T’"– ã —`’‰&›pBG%ÄÐÉ;xòI‡é T xJ"¢Œ‚È’¤¨QŠ)#œB*œ€J*1” Š)ª¸"(k¬’H"¬´âÊ+°Ärƒ,[„ð
›ì0K'´ðA¤‘£‰’(µ H+¶ bË-¸4…‚
pÞâÂ¹è&|8cH-k¤Œ!†°!P »ˆ" (¼jK/­tá§hþ5H¡Ã/ÀLúO˜b Â8áD!¬dˆ@àÌ§ÁøIª-Ìú	Â`ðÄ0ÄcÌ1¶bÂFA´ñH	<òÈ*ÁþÃ
mhRÇL» “(« ÒË¼„ª	É½®(³§Šiôë­f€›@`PáÄ!ŽÔGqÀ2ÈŒZê©ÛÒ
ªÌd[GYÜ1ÀYdÑÆÆmøÂˆA»„òçÄ½4ë¬­ÿ°QGÉ}Ì„Ç"·Áñ# ïñP0È¼l*ÅÍÐüOTt2È<?°Çd%kô¼¶|¢tÍC=5Y0vÈ·C$+q+–nýÏ*u(ÁÔ!‹-vx›‘@þ7@"ü	
(û)P&u8|´FÈç Õ~[Á(Áð¹&u$È`”ÜÔ1l:F<#
4¢dnø@™ì²€&xÔ¾p<2°ÉÌDRL0¯Ã,e,RÁ(â¸ðíqLh„Pñ5‘ˆ%‹h¢ÉxÀÈ70½]±‘&e|`‰aøµôf€¾B«d0†&–TPApðÇ>–…d¡
÷#H(`äEÄAyxPDÉDG@Ž%p «¨€Q†2àÁQXÄ"öP²Ž=ã» @01
T`x€Å`á?<øŸ]Zp6fÅ°°Ä–…<àaˆK(î–x8´B…Ù… *0Ä<ä|DßqW‡Z@ñ˜†ð<laKÀC  Âv±	_ã.`qÄœ1xƒ— eÄq ¡è_˜ž
x vpÄþøD¬zø ¨¿
˜q–P#k#ÿY‚¾¨Ý>ðÂ]b“¡`Ã!x	ŒÁK ¢%à„L$b“
ÁD–À‚À-¸d&,ñŒ:¬"˜Yâvˆ† ;07070100067ac7000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001500000003reloc/mscstyle3/raid  0707010006912b000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/raid/images   0707010006912c000081a40000000000000002000000013d1fe2e700000745000000200000000000000000000000000000002500000003reloc/mscstyle3/raid/images/icon.gif  GIF89a0 0 ç  ÚÚÜÂÂÄªª¬&*,"&,""$**(~R$ªŠ\ª¢”ªš|žr<F..24^J4‚V$ê¶|êÆœöâÄîÎ¬òÎ¤öÞ¼¶z4ÖÖÔš^ÎŽLÆ†<Ö¢læÂ”öÞÄòÒ¬îÊœîÎ¤úîÜž^ªj$²r$ÖždîÊ¤òÊ¤îÆœöâÌöæÔrV4Â†LÂ‚<²r,žf,¾~<Ê–\öÚ¾òÖ´òÖ¼Z6Þ¢dÊŽLº~<Îš\æºˆêÊœ$â²|Þ®|ÚªpÎ–TÊŠ<N*"®n'26<>*$òÆ„â¾ŒêÂœæ¾Žêº„6"V.ž‚\¦†T..,R*öÖ´òÎ¬b:Öª|664&*4^2þòäòÚ¼úÚ´*öâ¼æÆ¤ê¾”æÆœ®†dvB¶¶¼ŠŠŒNNLN*Âª”¶¦”º¦„¾¢„Â¢„ŠzlþîÜþòÜ––”224ÆÆÄ¾ÂÄNRTþþü>><ššœ¦¦¤ºº¼jnl>:4RRTæ²|òÒ´ZZ\BBD

nZ<æÚÌ¢b~FöÒ¬
ŠjD†^4rrtbbdN6zNzz|¶‚D’b,žžœÞÞÜnV<vz|:>D¦’|Ú¦l¢–„úæÄþòÔúâÄÖ¦tþêÌŠR&Šz\º‚Læªl2"ÆŠD¾št*:Ö–TâºŒº‚T*"


ÎŠDÚª|¶ž|Â~<ÞšT
º~4šb$Ê†D¾‚<¾v$Ò†4ŽZÊ†<f>B>4òêÔòÚ´æ¢\bB."
‚‚„²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° @ \È°¡Ã 0@@  3j‘ ¸¸±$Ãˆ$P°€A$MÊ„à„&P¨`á„˜35ÀAÃ<| B„…Ÿƒ>Œ8‚D‰&Nx@‘…Š*X •j0b/`ÄÑa…4j$TH¶`D7p¸(‘CÇPxˆ8±âX²{´ðñH!9†  R¤ãÇ#£"`ä’$J–0)ÒÄÉ((U²t	SóÌˆF¢H™BÅ‰
U¬\©Ñ&N<}Þ–,Z¶¬ðÀ¥K/W†=štiÓ§Ã§0%Ê)`>þ„3†LªV±jåê¬X×Ú±˜9ƒ&J5kØ´qóÆ,Zµl¹W*ÀTB€†sœaD(@vÜ•×^}ý˜Ì0<]wà‘ÇzìaÆ‰|ôáGb‹5öXd“ñ ÌEWCÝE gœ!È „blž&i¦Aq"‰F‘E9€Ü¡ˆ‹ÂÈ"ŒÀ&m¶á¦[8â„e ‰t|ðˆÜ	˜ŒDRÜqÉ-×ÜsW° É$©­ÔÒK#D	–v2ævÝ}Þxå•Q	–ôvSN;õ„ \‚É7_}÷å·ß™œ'QþH)Å”SŸž¤É%)È ƒJHá&œt‚ÞUYmÕÕWa%
Ñ#y Pâ‰)®xF‹~x"Â'þ¥µV[oÅUàÊ@I?9d‘†€G(êÅ—_€	Öá‡!†{e–[vù%#¢Œ"ŒŒ9™d”Ý(Á;T@JáÎYçŽF2H)¦ ùYh£•vÚ“‰ì°„TœR
á.š%$Ž:ºˆ˜³Õv[n»¥é*5 â¡©àÑœv…:j ‹D¢g Æ!§sÎA'è$D¨ÂSx°
+Qìœ ·>¼2¤Þ'yæ]jÉ"­¸’Â+KPK,²(Ë³YšJŸ}øéÇ_« Ì2þ	´p D-L `‹‚</$î%-ØàƒNh°Ü²J$À€‹8ä¢h Q¸áã>‹¢Š,ºhí' L‘‚	»ð	½T¡`çŸN.Bi¤º¡P‚'t‚ƒ/¸üRç´¿Æh¾^‚Ù¯S'¤Ð»(-h L0³{”œtÚ‰§Ä'ñI"'L@Ã73LöµOer£)/¢KÄ\€D1ÆƒL2ì×µ¬¨¤
šÐ¼D¤YÊ@žöü‘¬y/OdÄ $¶Œþ1ð p{`$Rö%]Xð‚ŠºÄÉðAf|„ŠbÔ„Ævn(ŒÓ¢6ˆf´í…íc  Î0€,Ýá&
ÌáÅ…%ìÉ‹¡•œ¡‡gè‰BŒáÏ@‰q)‘8;ÊH@  ;   0707010006a8cd000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001600000003reloc/mscstyle3/samba 0707010006d620000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/samba/images  0707010006d621000081a40000000000000002000000013d1fe2e700000441000000200000000000000000000000000000002600000003reloc/mscstyle3/samba/images/icon.gif GIF89a0 0 Æ  ÿÿÿ÷÷÷ ¢¤îîîßßßqrs´·ºõÚÏôÊµúýÿªª«çççúíâ™™™../ÈÉÉüþÿò¥‘VVV|~‚Ö××ÿûöóóóõnPÐÉ¼cfi   &''!!!	üüüïôõõüþÿS£Ž‰ˆ‰Š988+     CDDÛ|ëW1ÿ3 -õôïŽ“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gíõüÙïûÝôý112ž­½ÿþú›Óø¤Îó–nªÏòâèîf§ê


½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
óøþÙâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO ÌÌÌÍÍÍÏÏÏÐÐÐÎÎÎ›››œœœšššfff            !þMade with GIMP ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–‚——›–Ÿ’	

¥®‹°¡«
š®§ !›!"#½#$%&'()*+Ü,¤–& `µPç¢€.^(D#·	,ÉX0CƒhÑÂ
¦ˆQÃ†Ã–Eº€±9`ˆ€ƒŽ'*ä±¡GŸ'T˜ä#Ç ‚èP h‰bÈO ø.HñƒH#2D+ ÁDGBòôùÓ’þ&ÝH’à‚’%8<(°IoT¨@ÁÐÆÕÙLº`¡H"Mœ<ò Jƒ¤LÙL…Û¶U6˜D ¢•+P°(É¢åÉ“-\<tñBûË0a6Ä@—¤4H EÌ(JÆdq ‚mÚTÂ”)sD7*%	7ÁÌ’3KžDAƒ&Ís5ÖL§Î-®¥
'
4`seÉ2:<y>eE›õk$vI 4 B|Ppn¨¡†oÀÆzeä6Ú'<ÐÀ;pÇ6êMwD_¾•BÀ1,tÇLØÃ`üÆqdWJTà£PÜ¬ †x–’K"!°TÜtÐÊ’‹„ð€ÜDDe#À…ZmÉÈ 
T ˜UN2Çšl¶éæ›oÒAGuØa§wÐÁ¦"ôéçŸ€(xä‘¡zô™Ë}îæ"Œ6àè£‰D:)¥†Dêg%pvúf ž†º¦ ¤–jê©¨¦*©ª¦îáê«°Æ*««‚H:ë­²bªë®¼öêk"  ;   0707010006ee61000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001900000003reloc/mscstyle3/sendmail  070701000703e0000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000002000000003reloc/mscstyle3/sendmail/images   070701000703e1000081a40000000000000002000000013d1fe2e7000007d6000000200000000000000000000000000000002900000003reloc/mscstyle3/sendmail/images/icon.gif  GIF89a0 0 ç  ìì×îîÚîîÜêêÐëëÔììÕììØÿÿÿððßååÉççÌéèÎñðàïïÞæèæââÀääÅåäÆçæÊòòåøøòÛÑØU{* |7eñòâßà¹àà½áà¿ýýü·¤µP2h#RòòâÜÜ²ÝÝµàÞ¹àà¼÷÷îóóóž{” Æ«¾ƒ H¬E„óòæÙ×¬ÛÙ¯ÜÚ²ÝÜµÞÝ¸àß¹áà¾âáÀ¦ˆŸÖ¯ÅðÑã¢3xüüúôôç×Ö¨Ø×©Ø×ªÚÙ®ÜÚ±ÜÜ³ÞÝ¶ÞÞ¹ââÁãâÃõõëº™°üþþÍµ© RË<ŽõõéÖÕ¤×Ö¦Ù×ªÙØ­ÚÚ°ÜÛ³ãâÁöõìöäîï´Õ²iõõêÕÔ¡ÕÔ£ÕÕ£×Ö¥××§××¨ÙØ«ÜÛ±àá¾äãÃ• ?å†¼Ï P×x÷öìÓÒžÔÓŸÞÜ¶ååÅæåÈçb¬ëCœÒÑšÓÒœÓÓÓÓžÔÔ ÞÜµàß»åãÄùùóôúý÷÷ðÙ×«ææÊÆ 4øøðÒÑ›ö™ÌóóåóóæõôéùøòÞÝ·èçÍîîÙÕÕ¢ëêÓððÝùùõâá¿êêÑðïÝûûöûüùÞÜ·íì×êéÓìí×ññâüüø¹¹¹éêÏðïÞõôêÆÆÆÓÓÓÙÙÙàà¾ééÑññÞóôåö÷í’’’²²²ÑÑÑòòòõõõïïïÍÌÑÐ˜ÙÜ®âà¿ðòÞØÙ«ššš×××ÝÝÝéééùùùúúúççç·¶UÆÅ‚×Ñ ååÄóðâ÷öðüþükkkŒŒŒ¦¦¦ÉÉÉÛÛÛ«¬6À¿vßÞ¯êê×ØÙªÂÂÂÍÍÍÔÔÔåååýýýUUUuuu”””«««¶¶¶ëëë   ÜÜ±ËÊ‰°­6ÞÞÞííí„„„———¢¢¢ÑÑœÀÀÀÎÎ–žžžãããààà)))yyy÷÷÷^^^lll¾¾¾+++KKKÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jd âÄ‹+ `  Œ5(`à ‚AR¬¨`ƒ<@Ð ¥Êƒ!D0B0d@ ÁæM7pè Á€‡@` âFAjA¢„‰'P¤ ¡"ÅŠX´ðà"«D/`Ä1ƒFn¨ ‚:ÔîàáÖ¡Æ>~ 	"dEŒAbhŽ$JX,a‚ Ia…<A%Š”)$f˜¨A%B%|X¹²ÎY>Ô¨e—.^¾@#ÝblŒ‘p 32V”Ábæ4º‘VL£F‹–ßO¼þø %È”5D¾aÓ&’%K® psÆÌù'²€GÎ:ß9œp`HF3ØÁÚ
L€GK¸Q†f¸‘‡Yè¡‡~ü¥ o]„çÃ‹5†\Ëñ±À	nôq†9èM q‚úý‘ÆÞ9!ZÂ-†Zz¬EÐG\È"‚ ƒTq‚„èÇÝq!ZpÃÉ%C!vQqO†E‡€ðzT€‡~Xjˆ"‚Q¢c!A.%R’ Š4ðdGÜˆÇ"ú©ñá–‰™Æ•jŒ´Ö pÀ!Ž8Ð€‚4Q…xàñˆ~ j@W—þ(JÀG™‚nÚ‘	ˆÀƒ”„,‰~Þ'BF’^ëµ1+‚JÀ$@É •ð€†‹X¬ª\8Â	)
,ÛH"\2Á˜I%šª-h¾=1Úx%‚œëEÀF;º	'A‚'||J(¢àñ+hàùƒiçKÅwADÌ0
)¥˜r
*©¨²
+´Ò„ó&Ào\šv`]¬1ŒáÊ+›tK,²ÌBK-¶Ü‚K.‡è²/ú…8ìžu@…Ep°FZôâË/— *B›"Ì0Ä£ÑB ˆXšßªv5Ð°†1[ÜòÊ1À SJþ2Êœ²-²œÝ ^ˆ·GqtÙ3„ñ·ØÂL3Î<Í&ÁÈBË2ÑÄ"ÍC„¸g!3lPB	SL£ÔØR0Èül2²\³Ì2×ó¹aÂEÃu¬Q‡uÄ t¨BM*Õ¼Þ6Ùh2±ø-‹î WœkŒ >xáÄ6©ÜrË0sH“7Ì.*×Ð2t'»N¬s‘ \¤¡J7qH5¤ñ
mhÃ|7JñTÐâààDý(â»­a`xÂþ—ŠpHÃØ‡7ŽÑ	pÔ¢v¨pà8”!Aˆ  D©)¼Àr” l_2¸ant·²Ç8NNpc‚aÛ”R’CÒp†½q‰R(#…)™)®ŽMü‰	]ÎrD¾ÀÆ3ÀñeÄ‚àPF-®QpXƒÉ Å'"¸3þÉØ)QBpÄ¥àÆ1Žq‰W@Œù /´aŽKèÏp†/ÄÑŒ^<’‘6 ‘lô‚ŸLåQ"_h£Ÿ\eCZ9
(Êò!ÒØ„-o	Pòò—À¦0' ;  07070100071c32000041ed0000000000000001000000033d1ffab000000000000000200000000000000000000000000000001800000003reloc/mscstyle3/servers   07070100073409000041ed0000000000000001000000023d1ffab000000000000000200000000000000000000000000000001f00000003reloc/mscstyle3/servers/images    0707010007340a000081a40000000000000002000000013d1fe2e7000005f6000000200000000000000000000000000000002800000003reloc/mscstyle3/servers/images/icon.gif   GIF89a0 0 ç  B’šÂ„ââä¢šÄFFDjêòä^¢<ÎÎÌþ’”""$‚‚„þæä®®¬ÞîÜž>
þÎÌ’’”òúôÚÚÜ²ºÜÆÆÄffdŠ¢„ööôêêìºÞâô†ÎÎü‚‚ô®®ü’’ôjr´îîì¢¢ü224¾Ò´Šºt®ÎœªÞÞüººüÂÂüzz|þòô†ŽÄššüZž4ææä†FDzòòôr®Tº²´úúüÞÞÜ’¢„êêüÖÖü::<J–$¢ÊŒ¢¢¤ZZ\rÖÖÔþ¢¤þîìžRºº¼vrtúöüîêìÂ*ææüŽÎÒì¶¶ü––ôîîüªªüÊÊüŠŠôòöüÞÞìF–ââìJJLnnªLÒÒÔþ–”..,ŽŽŒþêìª®ÔF
þÖÔžžœöúôÂÂÜjjlŽ¢„ööüêêô"ââüŠ††ô²²ü~~ôîîô¦¦ü664’¾t²Ò¤²¾¾üz²\–¦ŒÆÆü~~|žžü¶¶´þþü>><¦¦¤¾¾¼ŽŽôþöôÒÒü¦Ê”Æ¢ææìòòüÞÞä––üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ 	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±ãCòÀ¡ÂB&q0ÁÁ!‡—0aöh¸Á„!7bDàcãPË†=þ\È#A$5 :D‘"„ÇÐ…-cZ£¤‘À§	7d ‚	HG¼`Àš°gƒ$e4RrhRÃ'‰è°øó5
6dr8›äW¶ÉÀgÇ;ìxØ‘÷à$9oX¨2‡·ŸLâeC2‘åhlCš2ZäHš`.JÀGP†˜yäÀÒ&pf‡x<y"¤O—zòàòÒ†6*Mšn<8Áê>UNfú¤Jþy¡ÅÅ@€Z¸0ïÂ
Axf°ä¢Å A'F9$çÎ}!8òÂ{àqÅ3âˆ!bE!Ü1C…ÜÁHWÜ±Ç… 2ÃŒlÁÈ/ŒPa!xð—Çˆ^± ŒdHÂV¸PÈwŒ0ÅÕÁÃÂY\<÷#%@RL2Y’?b]H!M)‘ñÐCL\:ô—/ ˜É54ÉðÐD‡œAFk=±Ú~<²Â¾1ÄA4äÀG=ÐðM91D ˆÑs.mà„q†Ç1´A
è€À5Œ!@˜1ÔÓÀ†‹TºÐ¥*GËqÄ‘*œ¬b
	˜aFž
ÉÜA·AuØ À¼&¤[™zâ„9ð­‡ÔÄìBÁjAØÉñÜv]tÑ&üˆq”°4IÜÑàaY%V¼0Hy/ÔqÂ{Œp‚ŽàñB#`QÐY„ E‡öYQ	WÔwß	x8BÐ[ÜA	3da…ˆ[lA‚#€HÂ	„'ˆ‰–0ÂÈ[\È3ˆ0CŠU'oBôóÏTmôÑH'­ôÒL7íôÓ ;  07070100074a80000041ed0000000000000001000000033d1ffab100000000000000200000000000000000000000000000001900000003reloc/mscstyle3/software  07070100076000000041ed0000000000000001000000023d1ffab100000000000000200000000000000000000000000000002000000003reloc/mscstyle3/software/images   07070100076001000081a40000000000000002000000013d1fe2e7000005a4000000200000000000000000000000000000002900000003reloc/mscstyle3/software/images/icon.gif  GIF89a0 0 Æ  þö´þþûýúàþúñòê¤ùî£öî³úöÜøòÈîâ”òæ—îâ…ÖÆf¶¶êÞ|âÖ|æÚƒ´²¼»îÞ„ÞÎtáÒzÙÍt¼®\¢ž¬¬’Ž”’––›¤¢¦¦ÎºTšŒI}{‚~…‚††‹ÍÂlÊ¾lÆ²Dƒu<†nfbrnurvvŠ†ÅºdÂ¶d½²d´ª\rb4VR]Zb^jfmjnnzv®¦\¬¢TªžT¥œTFBC>JFOJVN$ZVffž–Lœ’L–ŽI~v<þî”VN^^“ŠDŽ†D†zDŒ‚D‡~<yn6zz\þò²<6RN	‚z<f^,>:	²®”’ŽlýöËzr4aZ*jVâÚ¼þúÌ82B:rj4kc,þþäzf2*6.º²œ®š<š–š’tš†4ŽzÂºœÎÆ´º¶þú´ÚÖÌª¦úêÌþö þöŽþò„þòtþò_ÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽŠ ˆ‘”„  “–—•—¡™›¥ž‰ ¢¢“ ¥±§¨ƒ—º¹—	¯°œš•—

ËÏ¥	ØÛÄ³—âãæÓÎ¥½Ø	ÂÜß’ ÷ü2hÈà3îÞ€'Œ^- Ó"Jlðo‡<| ñ€œûJ1X°@áÂÿ Á²%K"F(aâÄ‰‹ú]@ÁE
‘#I8à+•Š£GW°háÂÅ2MÄ¸Ù3E
3fÐ Q¨³ÈÀ Â†8r´Ð±ƒÇ‹þ=d–ÀJã†5|üð$Ð°–.]2„H#7Ž¤mdÇÛ¸>ðêýÑ7H’$J”,YÂDpÊKMB!2Dˆa'‰Ÿ<i±c‡ÊA,cÞ¥v)+dÜD×è!…‹¹‘zufÚ¶§L¡R¥ŠnpV®HO0KiÃY²(†¢|9-+˜lÙK —Ýb»x±ò¥ý .C°À7]$Ëw&LÀ4æU).Xˆž! 0†zVQ\”Á…¥5wÆhF _ƒjÀPÂ€…XÊë#Àl”!ãaDo
!„=lpÂ‡Žˆ( hEyk F/†v…Œ,”þ`Ó	1àNyi0Àm¬W^nZŠ%ùÆÜXÂ Zeih˜æ”zG¸GGÈQB€ic	$™chH
*8ÆoÒ1ÁuèØhBŸ0”YKš˜¢9 ¡dØAÆtÜ1h€té}öð‚¥‚ €)§´~€·æQG©|¤{ò	Ã<ÀªÒ ›êé­dÜz+¯ |àª4I‚«.ì`¬¬´úE§vàj‡v”Šê¯až0é0dÛÂ¶Ý‚‹k(z ‡D;mº|ŽÐC¶:¼›#­á6n¸÷ÞÛkF„Ùï°.Œ¼þ~Ê¼öÚ«ÇÒî«.ŸØœÃÄwz«¸	'¼Ç x|ã#»ƒ#ß # ˆ‹±ÆßËó çÃ6{É¼“«2ó¡ªM%ŒùÖÌ-à€tž¥ëÉ)ïqïÊdï±ª	c‹õÈG8ÁµÒ©ˆöÊQÿÜ‡MhÍÃ-}CEqó"—¤¬bïñó}¬,4Ä|³ý7^×Ó³âˆ3Îxw÷K4ÖZ^9á (¾²Ýœsþð #=zŽ  Þxê~ôA)±"Ol,ì›÷Q»ì²ŽDß¯Ó¢ œû¡|ÌÙ"Q¼ñ)ïÇçÏC" ~¸P½õbíÎý÷à‡/H  ;07070100077754000041ed0000000000000001000000033d1ffab100000000000000200000000000000000000000000000001600000003reloc/mscstyle3/squid 07070100078f04000041ed0000000000000001000000023d1ffab100000000000000200000000000000000000000000000001d00000003reloc/mscstyle3/squid/images  07070100078f05000081a40000000000000002000000013d1fe2e700000453000000200000000000000000000000000000002600000003reloc/mscstyle3/squid/images/icon.gif GIF89a0 0 Æ     ííí²²²ììê°°°êêèïëê®®¬èèèëëë®®®«««æææîëì¬¬ª©¨§åååèçåùùùüüüÀÀÀ¿¿¿½½½¬¬¬¨¨¨§§§÷öôÿÿÿÃÃÃ¸¸¸æãäöóô÷÷÷úúúººº···¥¥¥óóóôôôµµµâââçäåðððõõóåäâçæäòñïùö÷òîí£££òððïîì¡¡¡äãáîíëââà£¡¡ïïïø÷õ¥¤¢áááóóñ£¢ ááß¦¥£žžžÝÝÝïìíßÞÝ››™ÛÛÛéèçšššÕÔÓ×××ëèçœ™š˜˜˜–––“““ÏÏÏÒÒÒØØØÞÞÞš›•••‘‘‘ŒŒŒÊÊÊÌÌÌÐÐÐÕÕÕÜÛÙŽŽŽ‹‹‹ˆˆˆÖÖÔ†††ÇÇÇÈÈÈ¢¡Ÿ…………‡†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“… ””–„ ™—  ¢žŒ ¢ ¦§ˆ©«	¯°† 
«« ·Â«
«¶ƒ ÃŠ  ¦ ¾Í ÐÓ‡ ×– Ý¹î !ÑçšÖDŒp· ‰[ –ÙPÂD¾	æU»&ð„0Ü†@‘¢ %V€ØqÑÄ
CmËp0 -lpaâ9i¨(X°ÐaD( ñZºDÁ#šƒ	ÓDqÄ	•cô{	.€‡ä²m0Ç![ÀO	à&
˜	Ì¸
BëÖtþ]õ 6(~‚ Ô(ZÀÈ¶£ l}Ë¡ðR Nén#Q–ØUA
Û‘ð¿kÂÂbÌ^gD[CÆ7§È3ì®;îBÀƒh„rôÀí-<}
Pp¥ÙŸ~ €\+ HÞÒ&LL4‚|v&D9L†È)ai``éŽe™Èö¼BŠðØ{»ÁQóš@xM"{#ï	sDwË1€D9œ£FŒµ—~. ÄÀP³RAÑ„O@a~QH!ÅSHEmËà {4QˆV@q#…Ql!(v!Œr¸Hw²„5^áÅ_€±J;ö(ESd²-(Èr „è$QŠ±ÊdhÁãÙ°¨àehçÌ˜ešáÍjF‘ãcEÆr¤œùEy†è  BÊA Ñq€V"¥‚.¹™KlÈ¡ã	 ?Ôö
 4d÷ž$˜ÞÀÂ*H6ŠK.+Ö°J{ŸN‚©rZvêÞ©Ô¬H”0²Hk­ó)Êê®ÔtÇÃ¨>,5¡à^«¸`:â±ÈB+í´ÔV+H  ; 07070100000383000041ed0000000000000001000000033d1ffab200000000000000200000000000000000000000000000001400000003reloc/mscstyle3/ssh   07070100001977000041ed0000000000000001000000023d1ffab200000000000000200000000000000000000000000000001b00000003reloc/mscstyle3/ssh/images    07070100001978000081a40000000000000002000000013d1fe2e700000755000000200000000000000000000000000000002400000003reloc/mscstyle3/ssh/images/icon.gif   GIF89a0 0 ç     ÁÁÁÿÿÿïïïìììêêêçççåååâââàààÞÞÞÛÛÛÙÙÙÖÖÖÔÔÔÒÒÒÏÏÏÍÍÍÊÊÊÈÈÈÆÆÆÃÃÃ¾¾¾¼¼¼ººº···µµµ²²²wwwíííèèèæææãããáááÜÜÜ×××ÕÕÕÐÐÐËËËÉÉÉÄÄÄ¿¿¿½½½¸¸¸³³³±±±ëëëéééffdJJL¯¯¯ýýú­­­®®®«««¬¬¬ªªªäää¨¨¨¦¦¦§§§¤¤¤ßßß¥¥¥¢¢¢ÝÝÝ£££¡¡¡„„‡¾¾Àºº½¶¶¹²²µ¯¯²««®§§«££§ŸŸ¤ÌÈÈŸŸŸÔÒÒ   ÜÛÛØØØžžž›››ÓÓÓœœœššš}}}˜˜˜ÇÇÇÂÂÂ¹¹¹zzz™™™–––‹‹‹ÅÅÅÑÑÑÎÎÎÌÌÌ»»»¶¶¶´´´———”””334uuu°°°•••“““.hh5|z3vt1pn1onrrr6}{3vu1poooo-fd8ƒ€mmm*_^9‡„75{y3usjjj:Š‡<Ž‹=’>•’?–“8„‚6|4yw2sr©©©ggg9…ƒ;Š<Œ<7~eeeÚÚÚ:‰†4xv2rqbbb8ƒ___]]]ZZZ???ÿzz„]
WWWÿaa·+ª“4ÿßTONN€€€ÿIIÁ>)ð[ÿ00ÿvvvkkk€{––”aaa  ŠŠŒ8û0ÞÞÜÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°!B #JœH±¢Ã‚ ØÈ±£Ç ¸8€€
8€ ‚8x !‚„	*°pC8Œ$ùÏd‡>€¡@ƒ$”ˆ`âR¨À°B‹B‰àâŒhÓª]Ë¶…Œ°DM¾0£¢Ý‰3dÐ€KÒäÊºîÞQÃß‹&•Ö5)¸âŒ8;4™`ˆGœC‡ä†&[.ÖLq†ŽŸšt9š´Ä<z¤^hÒ‡ˆÖ®!ÎøD(iŒ‚,À{†!B‰1rI%K˜4™îd¨@“0‰»ž1äIòåÍŸþGŸ%Šõ±Oµ“ž!eÊwæÎ¡K§Å<A“UH¨×<ÃÊ•÷áÉw@}ö•$@Xì×ØYh!” °Å„[œgÒL

6ƒ\Õ…^ ðE
€Æ‰'Z(€T1Ìàâ‹0Æ(£cEÆeŒ¸UôØ£ŠfœÆ	^ä¨‚
i€¡ÆnA¦ÃBHaEb°Ñ†Pn¬ÕÕ\r©"hÜTF*ðFkl 6œÖCw²‡BÍAGvÜ1PxôÙ§…ø(è „úãyè±‡ž,ÀÁÇ£žWTnšõáÇyÎÐBtÚ©¤ˆ5è ¤–Zj ‚BÈzÊpC!þ°Â
êdøƒ!‡ ’ˆ"‰ rˆ!‹0Òˆ#¬>ö$È";ëu€AÄ‰!’LBÉ$’I%ƒÔ±¨ž8ð`É¸ã.K‘A qI•,&†`È"•Ð‘‰&¬êùä&üò;+Dn”$) TÃ Œâ'~ÂÈ ™›ï;ÑÉÅÿkáÀ1ÅPG#ƒÐ‘ƒ4R¾ùêyœ',³¬ñ}ËÃŽR‡uâÈ·)sgÅ'@
¨³Ð2ËÑG“1(÷9`F‹2FíâYbõÐÍÂ´MF.0…u Ð4dˆ;%©F£l>	ÄShqu*ªHš
]»¡·þPÁÙS("‰J2YØiQÆÍ) Ð]]A pýÈzS@E ´XÊæœwîùçt—'©< z_þÈ,§âúë°Ç»*ô8Nœ>€Þ¥Óƒ…ª/üðÄ?`} ¦¶ õu EÿÑ±TKò ÀƒÞ<Ìò‰…¸` >ì@	hL€•
`hÐ8ì „,ôÓ?k*#Àƒóõ
¸‚ `/T€DG£Åž4„Z8°ËúÇë†* À¶È H$	Pà·˜È-v «‘"‚ Ÿ-p‹*œ/'(C Ø—L ~o³
AS€ÿ•o6X  ú.p®¼ï?‚N(t½à LàÎ ¢¦!Z`¤…"†Ri¢ÇHF2 ;   070701000031b0000041ed0000000000000001000000033d1ffab200000000000000200000000000000000000000000000001700000003reloc/mscstyle3/status    07070100004925000041ed0000000000000001000000023d1ffab200000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/status/images 07070100004926000081a40000000000000002000000013d1fe2e7000006ad000000200000000000000000000000000000002700000003reloc/mscstyle3/status/images/icon.gif    GIF89a0 0 ç     ÿÿÃÿÿ‹ÿÿ›þÿbîö[ÿÿ’êðXûóXÿÿgÿÿƒÿÿ{Üµ>ÿÿ¯ìðXçåTâÙPàÐKÝÆGÙ¼B×±=œ= ÿÿtîö^ìö[äÚOàÏKÛÆGÙºBÒ©8ÑÍ »¢ ±‡ ¬n ·z Ï¡Ò¤5È»  Ð¡4Ü®9¶¡ Ì˜!Ò£4Ô©8ä½AâÊI»• ÿÊ@ÙºA¼Ž ÿÿÿâÚOÿÓGúú÷þþ÷ÚÚÊ×è ÛË(âÏKÝÆHÓ®ÛºBÝÅGòòëëìáÜÜÇÇ» Öº!Æ¥ ëëáâãÔçç×ÒÔÁÕ¶0×±>ÊÆ ÜÜÊ××ÃØØÂÿÿæ’’ˆÐ£5ÑÞ øøôñòêëéÞÔÖÁÍÎ¹ÈÇ±¿¿©¶¶ ®®š¦¥”žž‘––——‘ÊÙ éëÞÔÔÃÇÇ±ŠŠŠˆ‹ ññêÔÔÁÇÇ¯¤¤”œœ‰‰‡þþýèèÜžœ‘„††÷øôïñêÚÚÉÔÓ¿„„Mos8RR*HCtƒ„[[[øøóéèÞàâÔ’’_‚‚M  mmhŠ„„†ƒƒ…„‡‡‹!!ïïçààÑ** ƒ…àâÑÚÙÇÓÓ¿‚‚H††‡ŒŒ‰™š’’”‰èæÚ‚}Mmn6qquŠ˜–Ž§§˜´¶ÙÙÇÓÑ¿ËÍ¶ŒŠˆ’‹™™ŽŸŸ’§¨–°±œ¹¹£ge.ö÷òææÜàßÑÓÓ½ÄÄ®§¨©‰‡‡’“‹¡Ÿ‘ÂÂ«zzAîîåÑÓ½ËË¶¼¼¦˜˜{’‹¡¡’ÂÂ¬‰ŒWÛßÎÃÃ¤ÕÓÀÙ×ÇÑÑ½º¼¦±³žÝÝÚ¨¨—ºº¤› n‹‹Z¸¸›³±ž«ª—¢¢”wwhÿÿû¨ª–zzH¶¶ž³±œÄÂ­±±˜ŽŽº½¾¢¡’ª¨—ÊË´„ƒ†¡¢“¼º¤¡¤xÿÿñ‡‰‡³³žºº¦±±Œ¾¾®ŠŒ‰››¢¢“¤¢”««˜ÍË¸ÙÚÇÔ×Ã³¶«““Œ´´Ÿ}‚M©©ˆËÍ³âàÑ×ÜÃ›œÅÈ¬íëáƒƒm›„­­”„‚P““dÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#J< ÀÄ‹`£G ¨HÒcC’@@€‚:šD¨±Aƒ <€AÂ
dÎÌháÂdÐ°…A‡Ò,ŠÔÃ!DŒè@¢„P©X(pÀƒ	”"Jœ@¢"X‚ “¦
@Å
-¸øz²dÆJ_Ð…Á‚B ø.0£ñŒ¯ x@Cƒº5#V¼¸±8èæð ctøø‘x"c@‚`‘	-Ú’TàG„"œÃú­Øˆ‘#H’ d\QÉ’(jH° Á4˜ÿÇØ1ñâÇ›þ8yÅqã( j°rBJa<4dx0%xwó©T±r¤É,Yh±]xñé‘ÐÞ{?ñÁaä`~ùU!Fc`A†€X† ˆpÆˆ!ôÀCgù•Ð}ù¡^X¨Áál|QFËUT„s=tŸT ñF0n8àpØØFnÁeÂÛÔrÌ1$uØqyè¤’qìÁ_M:Ä˜} áÇt È À ‚RH†‚H"ŠDÉcr,â#mRfEðaˆ#ˆÇ˜}·È@‰$Š@£{LBI%–¨h¦c‹\Bh$˜d’©&|2‰þ›pÒÉ3xâgXú#Ÿ€Šª+2‰(£RŠ)§ ’Ê­1¦Ê"«°òI+¡¸‚‡}¯À)² ‹Ê,´0ËÝµ˜ú‰-·¸‚K.öÙ )»xË-½ˆ€/¿ Œ0éCÌ×RTÌÆsÊ1©Ð+n³  “Œ2¼³3Í8“é3ðBsp*Ñ”QEÒC3»RÉ$‡v·3ÓCM¸&PM.¦”%Ö¼rIŽa“1.ß’ÌÂ4ic3%“l³M"¯8F
7ÌÓ+ÚØâÑ}CðÍ“²Ç†€CÉ¶P‡#Ž+¡óÉ8XKI)±”“4"Š‹9ç0.®ÜbË'ŒüÒ6\3Œ"·žŽËØæ “ÎÞ®¨É:Œ¼ÁÎàÍ¶ÓŽ]#²Ç6mPâŽ9Í¤óßðÄ#Ï<oÐcæÍ*2ær„Ô³†é¸d‚	  Œc÷À.\ŽxàcºwjJ`yì ùH£†¾u’>ñïÖŸtÇ>ü\Ý}_oþùè§/P@ ;   07070100006000000041ed0000000000000001000000033d1ffab200000000000000200000000000000000000000000000001700000003reloc/mscstyle3/syslog    070701000077b9000041ed0000000000000001000000023d1ffab200000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/syslog/images 070701000077ba000081a40000000000000002000000013d1fe2e700000849000000200000000000000000000000000000002700000003reloc/mscstyle3/syslog/images/icon.gif    GIF89a0 0 ç  
+%RN&H>

'#!.* 

		¦¦(ßâ îòæêpk òöòú÷úöúòöòö"îô+–•ÌÎ+×Õ8'[Sëî,¾½'ª¦:Þî2‚™“%UT4(îúËÌ8v~&âîJqvRJ:^VJrråé)Žš‰’ÎÞ6xtVÞÞŽêöŠRNjn%%ÂÆ(¨²*¢²6ž®zvF<;ººîòîöÖÞNnb4²²JÆÊêî$êîêî¶º"†Š>Šz^znRNS72ˆˆÜß+æêâæææßâ9ž¢
Ñ×ÎÞÒæ®¶ßâ×Ú9*"&²¾ÛÞ#ž #^ZÌÐRáæÒÔ6fZfÍÎ–š.ÊÎZÖ×B×Ú.ÂÂ'*2	¾º>ÈÈNÍÐAÙÚ'ÚÚÊÊ*jfB>>E5	žšÐØ,ÖÖ%«®),*ÆÆ7ÐÒ(ÐÒÌÐLHF
fbZ¬¨(ÄÆ>ÆÆ"ÉÊÌÎQMA

¬­ ¾¾ÂÂÆÆÆÆf`¦¢ºº¾¾¹º¾¾
¶¶³²nn
ª­²²¶¶ºº¶¶¶²¶º¶¶]gž¦&²²¦®__­²²®°·²¶‚†2®®KH°¬­­
š¢"nl$¯®B6B62,.¥§yv"2,,B>£­®¸–’BjfŒŠ"êú*ˆTZv~–Š2jn2!ÂÊ:Ž†,fj
BB6:LB
66ÎÒ®²!zv^fšžJ"*86ŠŽ'À¾R2nv.6&6–š:ÚÚŠŽ††BÓ×ÙàZZ
éî3ª¢(ÂÂ
ÂÆvr&®²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœè@ 0p  ‚,`À Á‚‘&	¨Té ¥ˆ @ˆ a…
r^¸`ƒÏœ=bÈ¡B8¨ØAÃÎ>€øé³ªÕª=yÍBÄK† F(1` 'Pt°ÚÓj
¶xZ¨AÅŠ¯
°háâ
%b|ÁB¶XÛn5j!‚ŒKóÒ¨áÂÆ6rèØÁ#BÐ­Dƒºóh„=,àã‡ 'ù dH"D2)²7î"D€'Á±‘«”8r#Á$
’œPb‰oßLˆ/Y"¡	“Dšþˆ!Ã‰‚ÕOt@‰²@
‰)I¨T‘±ÄŠ}+Lò[‘pE†	LH`Ê…x%À9P]ì@Yø'à}V\1 X¨!_|q`PXb1)Á@f€‘Åv8`‡gŒ(â"†Ah€FC ¨‘A@Ál´áFc@0¢”Wœ"„øÅ\ŽáÁªU Ä1sÐÑFU¸Á%QF	çvtiGnÜGé±iÒÑA~¸átÚ¡¨¢u4ê‡mÐñ éa‚¼qÇ¨!ˆ [²E¨¡
âG~ á!„xQˆ!þ%q""¼ñF"Š¨¡ë®‹,¢H®ƒtÐtÌÑCŒLÔˆ#rˆðÈ#¼	$‘@"ÉµØJ‚ëtëÈ$ÉJÔ%•<bI%•qI%—\‚É»ðbb	$‰ððH&šlnDApÒ‰'Ÿx"°&ƒ
(‹2
(ò>ûH%=RŠ²¦Œ2ŠÀ‡Ê)wÒI(c\‰%£’ÊÄñ„*¼ñ)«¬rŠ*§°Â1(ž´"ð%™rÂá
*¬€bñË¯tBóÆ{¢‰&¡|Š)° Q#±ü!KÑ¡ØÌqÒ¯p|Š'?½Ê+¯ÌRÐAó¡
+«Ä2J(ªœÝÉ*¼"³þØ¯È3%B°-.-µ$íñÝª(­Ê+ª,Ž¶,x£}ˆ-·PôOd@.‹ß‡×½Šç§è6ãŽ€‡åà’‹*²Ä‹,ã}wÌ‘.º.ìby)¼ôÂ
+¨ø’'±@Š' ˆ’·Ò‘óáB¨3 Ë!¿ “,¼L1E´CF/Ž´3+ÔrH@OÑ¤¢ƒ09€1Ì[Ó@¸ D1Æpàw-±8†‚p Ô5É‚2–‘
fÃ4 @!šá\À; „’âÀ€“Xî HE18€‹g,cqB q†àdÀ…ÂáQ4j!iÄ€“ÀÅC‚  jTCþÁ¨—¬Ñƒ*LÁ
¹yáVvÃ&`‚3v¨d\CØƒ²!,B_ Bv|#ÜÆ‰E`‚² ldÐ7Ðfd€{ðÆÎ`ŸüøÑfã7ð€4(2„°ƒpPA'8‚ÄáoŒã’˜ÇøxŸ/C}i@!Ê‡è	°ÈžaLœC	°\D4z5ËhDC¸‡¬aµ†´Ø€R‹²äb¬¼ÎÁLt8óZè8‡3gA Á=„'ÙvÐ‚\|l°Ø(>	Q|â¢PX:EÁŠt4Àr±YÀ
ˆ<@5+k+Z
ñB8„,PA†Xsw±1I<ÏRXã –‹¨D'JÑŠ.$  ;   07070100008df8000041ed0000000000000001000000033d1ffab200000000000000200000000000000000000000000000001700000003reloc/mscstyle3/telnet    0707010000a328000041ed0000000000000001000000023d1ffab200000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/telnet/images 0707010000a329000081a40000000000000002000000013d1fe2e70000088b000000200000000000000000000000000000002700000003reloc/mscstyle3/telnet/images/icon.gif    GIF89a0 0 ç  666nnn’êÊf:ú2’’’öæ®&&&¾Š&îî¶ö’þêÎîÚšþÂ‚âÆšZZZÆžvêêê®Ž.zBæÊ¢þþŠ
îîîöòÖ
þþâ>>>žžžŠn^þ–&ÂÂÂþæºþŽÒÒÒŽŽŽòò‚NNNž–Æ®†þöæúª^òÚ²âÊžÖ®‚îîÆ–––Ö¾šBBB¶¶¶rVNêÚ¾ÞÆ¢þö¾¶–~žnVîÞºŠŠŠþ®VâÎj‚‚‚þþú¢~bÚÎ~¶ŽnÞÞÞþæªòÊŠ^>2Ú²nfffRF:îÖŽ22ÆÆÆ


Æºf¾¦~¢‚zrrrææænRFÎÎÎþöÎþþžöÖ¢¾¾¾222öÞ¦îÎnþºnòÒ‚â¾Žªªªþî®Þ¶†îÒvúÚ–þÞžþþÂF6*þê¶öò¦...~~~òò¶VVVbB6úòŠêÎšþþÒÚÚÚvRFFFîÆ–âââÊÊÊÖÖÖòºzŽrf¾–vºººþú¾ÚÆ–îÒ¦þâª***""®®®JJJbbbÆ¦Ž"""þÎ†þò¾RRR¦†f:::zzzþÞªòî’²²²þÒ’þÖ¢þî¶þêªª†~^^^âÊ†þúæjjjîÎžæÎžþÎŽòÖ®
vvvþ¾fúÖ’þþþJJNÚ¶nBBFòÞžZZ^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°!B #JœH±¢Åˆ³œÚÈ±£Ç CžÊà €SRªT9¡å”)vì™)G<$rV©rçN“Ÿ!BdÉBª¤Á“+W¶œð2&™5o’À¹³gŸA‡5ZiR•/›B­i“êNž>›ÍÊ§¨I”);8‘ªP¡TuïÚÅ»·.^¿yùòìö(Ü…<Äàñ#’€$Ñé@"O(.JI˜+A¯RÅ0Àc)†"ê EÐÌ4C<5˜Fá®‡W•àqÊt'CmNLnýÚ‰ìÙ|hØö<ôŒ?ÖœÐIS›T3iAð •ñã§”þSºýî„B‘HIIr*BäÉÔpO¼xòÍÍ§@ýT£ÈÂiçlÇDÉø	tÒL1Cì5ÒF#…p$_wßw !	þ³à¤â^
×Á#ò]ÖJ}¹¡Ç‹nLt
%„pÈœ‚§05Å*4rB!tÀ×š"Ýe*Gì!b¡Ã tà¢5vøá@9Ã‰´†À!­ 0åJ!FWqÃ¡ÇŸìáVž“[vÀ¥jXöš˜KÖ1A,qAf|¡ŸÀñÆ'™¸QgS©ha)Ÿ‚pwlz rÅbD1Ä“ÄaÆ$/|ðÂ'W˜±ÄþO"ðVLv¬"È­p÷ ˜(Òoˆ°ÅC ÒÀôÑQ˜R¢ˆÑ&7žäT!D>°+¯NtpÄ9LbF-|Qèp2	ATrA²a¨Pƒ¸	n3±Ê¦ž´’
NâÆC1Ä˜C¼0	q4ðÂârr	‹!†œžY;S!N pl(ùEA<alñâÆ±CH4À8üÑpE±GÇ§QÓ*A"‘b`ò†$/HqHòG;¬¼…›(À'8¨Ä±q˜"ÐdR‘¼Á	pä Êf˜ÊK Æ”ÊÁþÔ› Û‡)z]Óu †œ0b‰¹[XÁ /!Ë@Àˆ—l2j}Qs'••JEL!ÄÖ€p1„­â‡hàüÂ&[_ÒðôáEà¸IE8EG¨Š8 FÄ"˜È8$,“pÒG^ô±‚bl`N$Œ>‘üÂä—`ñÂïNB±a8¸0Äq`ÊžrS¿Gä¢>ðÚ¬‡"X`u}Áü`ä`[¸Ä^T‚w†!AHàŠïía[ Å† Šd}bb€0ƒ^€(	¸€l‚)úð†Äè-¬B!8q
rb`þe`(šfN˜/ÜqöA ò»B¾pRÜ+ƒhIKšà&1 K.˜Ø»°ÂL"°A(\p·ä®MuÒ`O´8”.&ïqcÂÂ €A>(ƒº†?,â Ñ:‚¬ø–9à‘k©£¼h†> ÁC¸þàƒ°€= )ºÀ M%ˆþNÂ“&  ÐÊ`ø.¾‹S{AÂ@ ô¬dp@)JAE–€‘†Ñb$³PPÂ–Pà"F`@<«ˆ’DP#” •«AzÒC
RŒ³œäŒ„\‡+¡’ÀAÜ8@ÏJJB’m*'2R ‰$BŽH€È€(œ"Yf¸gŒ$â‡@d)¸@p@Q\B^
ÊÑÏB’ ÃFz2ˆƒM)Þ„8X`czHDJg*HLIëÄ Mw
‰ž;ªP‡JÔ¢*$  ; 07070100036dc1000081a40000000000000002000000013d1fe2ea00000031000000200000000000000000000000000000001b00000003reloc/mscstyle3/theme.info    depends=0.990
desc=MSC.Linux Theme
version=0.990
   07070100036dc2000081e40000000000000002000000013d1fe2e700003fd0000000200000000000000000000000000000001900000003reloc/mscstyle3/theme.pl  #!/usr/local/bin/perl

#theme_prebody - called just before the main body of every page, so it can print any HTML it likes.
#theme_postbody - called just after the main body of every page.
#theme_header - called instead of the normal header function, with the same parameters. You could use this to re-write the header function in your own style with help and index links whereever you want them.
#theme_footer - called instead of the footer function with the same parameters.
#theme_error - called instead of the error function, with the same parameters.


sub theme_header {

local @available = ("webmin", "system", "servers", "cluster", "hardware", "", "net", "kororaweb");
local (%acl, %uacl);
&read_acl(\%acl, \%uacl);

local($ll, %access);
print "<!doctype html public \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
print "<html>\n";
if ($charset) {
    print "<meta http-equiv=\"Content-Type\" ",
          "content=\"text/html; Charset=$charset\">\n";
    }
local $os_type = $gconfig{'real_os_type'} ? $gconfig{'real_os_type'}
                      : $gconfig{'os_type'};
local $os_version = $gconfig{'real_os_version'} ? $gconfig{'real_os_version'}
                            : $gconfig{'os_version'};
print "<head>\n";
print "<link rel='icon' href='images/webmin_icon.png' type='image/png'>\n";
if (@_ > 0) {
    if ($gconfig{'sysinfo'} == 1) {
        printf "<title>%s : %s on %s (%s %s)</title>\n",
            $_[0], $remote_user, &get_system_hostname(),
            $os_type, $os_version;
        }
    else {
        print "<title>$_[0]</title>\n";
        }
    print $_[7] if ($_[7]);
    if ($gconfig{'sysinfo'} == 0 && $remote_user) {
        print "<SCRIPT LANGUAGE=\"JavaScript\">\n";
        printf
        "defaultStatus=\"%s%s logged into Webmin %s on %s (%s %s)\";\n",
            $ENV{'ANONYMOUS_USER'} ? "Anonymous user" : $remote_user,
            $ENV{'SSL_USER'} ? " (SSL certified)" :
            $ENV{'LOCAL_USER'} ? " (Local user)" : "",
            &get_webmin_version(), &get_system_hostname(),
            $os_type, $os_version;
        print "</SCRIPT>\n";
        }
    }

local $risk = $gconfig{'risk_'.$base_remote_user};
local $minfo;
foreach $minfo (&get_all_module_infos()) {
	next if (!&check_os_support($minfo));
	if ($risk) {
		# Check module risk level
		next if ($risk ne 'high' && $minfo->{'risk'} &&
			 $minfo->{'risk'} !~ /$risk/);
		}
	else {
		# Check specific ACL
		next if (!$acl{$base_remote_user,$minfo->{'dir'}} &&
			 !$acl{$base_remote_user,"*"});
		}
	push(@msc_modules, $minfo);
	}
@msc_modules = sort { $a->{'desc'} cmp $b->{'desc'} } @msc_modules;

if ($theme_no_table) {
	print '<body bgcolor=#6696bc link=#000000 vlink=#000000 text=#000000 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" '.$_[8].'>';
	}
else {
	print '<body bgcolor=#6696bc link=#000000 vlink=#000000 text=#000000 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" '.$_[8].'>';
	}

if ($remote_user && @_ > 1) {
	# Show basic header with webmin.com link and logout button
	local $logout = $main::session_id ? "/session_login.cgi?logout=1"
					  : "/switch_user.cgi";
	print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/top_bar/bg.jpg" height="32">
	  <tr>
	    <td width="4" nowrap><img src="/images/top_bar/left.jpg" width="4" height="32"></td>
	    <td width="100%" nowrap><a href="http://www.webmin.com"><img src="/images/top_bar/webmin_logo.jpg" width="99" height="32" border="0" alt="Webmin home page"></a></td>~;
	if (!$ENV{'ANONYMOUS_USER'}) {
	    	print qq~<td><a href='/feedback_form.cgi?module=$module_name'><img src=/images/top_bar/feedback.jpg alt="$text{'main_feedback'}" border=0></a></td>
		<td><img src=/images/top_bar/top_sep.jpg></td>
		<td width="84" nowrap><a href='$logout'><img src="/images/top_bar/logout.jpg" width="84" height="31" border="0" alt="$text{'main_logout'}"></a></td>~;
		}
	print qq~<td width="3" nowrap>
	      <div align="right"><img src="/images/top_bar/right.jpg" width="3" height="32"></div>
	    </td>
	  </tr>
	</table>~;
	}

local $one = @{$uacl{$base_remote_user}} == 1 && $gconfig{'gotoone'};
local $notabs = $gconfig{"notabs_${base_remote_user}"} == 2 ||
	$gconfig{"notabs_${base_remote_user}"} == 0 && $gconfig{'notabs'};
if (@_ > 1 && !$one && $remote_user && !$notabs) {
    # Display module categories
    print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" height="7">
  <tr>
    <td background="/images/top_bar/shadow_bg.jpg" nowrap><img src="/images/top_bar/shadow.jpg" width="8" height="7"></td>
  </tr>
</table>~;

    local %catnames;
    &read_file("$config_directory/webmin.catnames", \%catnames);
    foreach $m (@msc_modules) {
        $c = $m->{'category'};
        next if ($cats{$c});
        if (defined($catnames{$c})) {
            $cats{$c} = $catnames{$c};
            }
        elsif ($text{"category_$c"}) {
            $cats{$c} = $text{"category_$c"};
            }
        else {
            # try to get category name from module ..
            local %mtext = &load_language($m->{'dir'});
            if ($mtext{"category_$c"}) {
                $cats{$c} = $mtext{"category_$c"};
                }
            else {
                $c = $m->{'category'} = "";
                $cats{$c} = $text{"category_$c"};
                }
            }
        }
    @cats = sort { $b cmp $a } keys %cats;
    $cats = @cats;
    $per = $cats ? 100.0 / $cats : 100;

    if ($theme_index_page) {
	    if (!defined($in{'cat'})) {
	       
		# Use default category
		if (defined($gconfig{'deftab'}) &&
		    &indexof($gconfig{'deftab'}, @cats) >= 0) {
		    $in{'cat'} = $gconfig{'deftab'};
		    }
		else {
		    $in{'cat'} = $cats[0];
		    }
		}
	    elsif (!$cats{$in{'cat'}}) {
		$in{'cat'} = "";
		}
    }

#####Navigation Bar START#####
    print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" height="57" background="/images/nav/bg.jpg">
  <tr background="/images/nav/bg.jpg">
    <td width="6" nowrap><img src="/images/nav/left.jpg" width="3" height="57"></td>~;

    foreach $c (@cats) {
        $t = $cats{$c};
           $inlist    = "false";
           foreach $testet (@available) {
               if ($testet eq $c) {
                $inlist = "true";
               } 
            }
        if ($in{'cat'} eq $c && $theme_index_page) {
           if ($inlist eq "true") {

              if ($c eq "") {
                print qq~<td nowrap><center><img src="/images/cats_over/others.jpg" width="43" height="44"><br>~;
            &chop_font;

                          print qq~</center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~; 
              } elsif ($c eq "webmin") {
               if (@_ > 1) {
               print qq~<td nowrap><center><a href=/?cat=$c><img src="/images/cats_over/$c.jpg" width="43" height="44" border=0><br>~;
            &chop_font;
                          print qq~</a></center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
                } else {
               print qq~<td nowrap><center><img src="/images/cats_over/$c.jpg" width="43" height="44" border=0><br>~;            &chop_font;
                          print qq~</center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
                }
               } else {
               print qq~<td nowrap><center><img src="/images/cats_over/$c.jpg" width="43" height="44"><br>~;

            &chop_font;

               print qq~</center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
              }

        } else {
            print qq~<td nowrap><center><img src="/images/cats_over/unknown.jpg" width="43" height="44"><br>~;

            &chop_font;

            print qq~</center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
           }
        }
        else {
            if ($inlist eq "true") {
              if ($c eq "") {
                print qq~<td nowrap><center><a href=/?cat=$c><img src="/images/cats/others.jpg" width="43" height="44" border=0 alt=$c><br>~;

            &chop_font;

                print qq~</a></center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~; 
              } else {
               print qq~<td nowrap><a href=/?cat=$c><center><img src="/images/cats/$c.jpg" width="43" height="44" border=0 alt=$c><br>~;

            &chop_font;

               print qq~</a></center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
              }
        } else {
            print qq~<td nowrap><center><a href=/?cat=$c><img src="/images/cats/unknown.jpg" width="43" height="44" border=0 alt=$c><br>~;

            &chop_font;

            print qq~</a></center></td>
    <td width="17" nowrap><img src="/images/nav/sep.jpg" width="17" height="57"></td>~;
        }
           
            }
        }

    print qq~<td width="100%" nowrap>&nbsp;</td>
    <td nowrap>&nbsp;</td>
  </tr>
</table>~;
    print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/nav/bottom_bg.jpg" height="4">
  <tr>
    <td width="100%"><img src="/images/nav/bottom_left.jpg" width="3" height="4"></td>
  </tr>
</table>~;
   }

if (@_ > 1 && (!$_[5] || $ENV{'HTTP_WEBMIN_SERVERS'})) {
   # Show tabs under module categories
   print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/nav/bottom_shadow2.jpg"> <tr background="/images/nav/bottom_shadow2.jpg">~;

   if ($ENV{'HTTP_WEBMIN_SERVERS'}) {
	&tab_start();
	print "<a href='$ENV{'HTTP_WEBMIN_SERVERS'}'>",
	      "$text{'header_servers'}</a><br>\n";
	&tab_end();
	}
	if ($notabs && !$_[5]) { 
		&tab_start;
		print "<a href='$gconfig{'webprefix'}/?cat=$module_info{'category'}'>$text{'header_webmin'}</a><br>\n";
		&tab_end;
		}
	if (!$_[4]) { &tab_start; print "<a href=\"/$module_name/\">",
			    "$text{'header_module'}</a>"; &tab_end;}
	if (ref($_[2]) eq "ARRAY" && !$ENV{'ANONYMOUS_USER'}) {
		&tab_start; print &hlink($text{'header_help'}, $_[2]->[0], $_[2]->[1]); &tab_end;
		}
	elsif (defined($_[2]) && !$ENV{'ANONYMOUS_USER'}) {
		&tab_start; print &hlink($text{'header_help'}, $_[2]); &tab_end;
		}
	if ($_[3]) {
		local %access = &get_module_acl();
		if (!$access{'noconfig'}) {
			&tab_start; print "<a href=\"/config.cgi?$module_name\">",
			      $text{'header_config'},"</a>"; &tab_end;
			}
		}

    foreach $t (split(/<br>/, $_[6])) {
      if ($t =~ /\S/) {
	      &tab_start; print $t; &tab_end;
      }
    }

print qq~
    <td nowrap width="100%" background="/images/nav/bottom_shadow2.jpg" valign="top">

      <table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/nav/bottom_shadow2.jpg">
        <tr>
          <td><img src="/images/nav/bottom_shadow.jpg" width="43" height="9"></td>
        </tr>
      </table>


    </td>
  </tr>
</table>~;

    if (!$_[5]) {
	    # Show page title in tab
	    local $title = $_[0];
	    $title =~ s/&auml;/ä/g;
	    $title =~ s/&ouml;/ö/g;
	    $title =~ s/&uuml;/ü/g;
	    $title =~ s/&nbsp;/ /g;

	    print "<p><table border=0 cellpadding=0 cellspacing=0 width=95% align=center><tr><td><table border=0 cellpadding=0 cellspacing=0 height=20><tr>\n";
	    print "<td bgcolor=#bae3ff>",
	      "<img src=/images/tabs/blue_left.jpg alt=\"\">","</td>\n";
	    print "<td bgcolor=#bae3ff>&nbsp;<b>$title</b>&nbsp;</td>\n";
	    print "<td bgcolor=#bae3ff>",
	      "<img src=/images/tabs/blue_right.jpg alt=\"\">","</td>\n";
	    if ($_[9]) {
		print "</tr></table></td> <td align=right><table border=0 cellpadding=0 cellspacing=0 height=20><tr>\n";
		print "<td bgcolor=#bae3ff>",
		      "<img src=/images/tabs/blue_left.jpg alt=\"\">","</td>\n";
		print "<td bgcolor=#bae3ff>&nbsp;<b>$_[9]</b>&nbsp;</td>\n";
		print "<td bgcolor=#bae3ff>",
		      "<img src=/images/tabs/blue_right.jpg alt=\"\">","</td>\n";
		}
	    print "</tr></table></td></tr></table>"; 

	     &theme_prebody;
	}
    } elsif (@_ > 1) {
	    print qq~<table width="100%" border="0" cellspacing="0" cellpadding="0" background="/images/nav/bottom_shadow.jpg">
	  <tr>
	    <td width="100%" nowrap><img src="/images/nav/bottom_shadow.jpg" width="43" height="9"></td>
	  </tr>
	</table><br>~;
    }
@header_arguments = @_;
}

sub theme_prebody
{
if ($theme_no_table) {
	print "<ul>\n";
	}
else {
	#print "<table border=0 width=95% align=center cellspacing=0 cellpadding=0><tr><td background=/images/msctile2.jpg>\n";
	print "<table border=0 width=95% align=center cellspacing=0 cellpadding=0><tr><td bgcolor=#ffffff>\n";
	print "<table border=0 width=95% align=center cellspacing=0 cellpadding=0><tr><td>\n";
	}
}

sub theme_footer {
local $i;

if ($theme_no_table) {
	print "</ul>\n";
	}
elsif (@header_arguments > 1 && !$header_arguments[5]) {
	print "</table></table><br>\n";
	}

print "<table border=0 width=100% align=center cellspacing=0 cellpadding=0 bgcolor=#6696bc><tr><td>\n";

for($i=0; $i+1<@_; $i+=2) {
    local $url = $_[$i];
    if ($url eq '/') {
        $url = "/?cat=$module_info{'category'}";
        }
    elsif ($url eq '' && $module_name) {
        $url = "/$module_name/";
        }
    elsif ($url =~ /^\?/ && $module_name) {
        $url = "/$module_name/$url";
        }
    if ($i == 0) {
        print "&nbsp;<a href=\"$url\"><img alt=\"<-\" align=middle border=0 src=/images/arrow.jpg></a>\n";
        }
    else {
        print "&nbsp;|\n";
        }
    print "&nbsp;<a href=\"$url\">",&text('main_return', $_[$i+1]),"</a>\n";
    }
print "</td></tr></table>\n";

print "<br>\n";
if (!$_[$i]) {
    local $postbody = $tconfig{'postbody'};
    if ($postbody) {
        local $hostname = &get_system_hostname();
        local $version = &get_webmin_version();
        local $os_type = $gconfig{'real_os_type'} ?
                $gconfig{'real_os_type'} : $gconfig{'os_type'};
        local $os_version = $gconfig{'real_os_version'} ?
                $gconfig{'real_os_version'} : $gconfig{'os_version'};
        $postbody =~ s/%HOSTNAME%/$hostname/g;
        $postbody =~ s/%VERSION%/$version/g;
        $postbody =~ s/%USER%/$remote_user/g;
        $postbody =~ s/%OS%/$os_type $os_version/g;
        print "$postbody\n";
        }
    if ($tconfig{'postbodyinclude'}) {
        open(INC, $module_name ?
            "../$gconfig{'theme'}/$tconfig{'postbodyinclude'}" :
            "$gconfig{'theme'}/$tconfig{'postbodyinclude'}");
        while(<INC>) {
            print;
            }
        close(INC);
        }
    if (defined(&theme_postbody)) {
        &theme_postbody(@_);
        }
    print "</body></html>\n";
    }

}

#sub theme_error {

#print "error";

#}


sub chop_font {

if (!$current_lang_info->{'titles'} || $gconfig{'texttitles'}) {
	print $t;
} else {
        foreach $l (split(//, $t)) {
            $ll = ord($l);
            if ($ll > 127 && $current_lang_info->{'charset'}) {
                print "<img src=/images/letters2/$ll.$current_lang_info->{'charset'}.gif alt=\"$l\" align=bottom border=0>";
                }
            elsif ($l eq " ") {
                print "<img src=/images/letters2/$ll.gif alt=\"\&nbsp;\" align=bottom border=0>";
                }
            else {
                print "<img src=/images/letters2/$ll.gif alt=\"$l\" align=bottom border=0>";
                }
            }
	}
}

sub tab_start {
    print qq~    <td nowrap>
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td background="/images/tabs/bg.jpg"><img src="/images/tabs/left.jpg" width="12" height="21" nowrap></td>
          <td background="/images/tabs/bg.jpg" nowrap>
          ~;
}


sub tab_end {
     print qq~</td>
          <td background="/images/tabs/bg.jpg" nowrap><img src="/images/tabs/right.jpg" width="15" height="21"></td>
        </tr>
        <tr>
          <td nowrap><img src="/images/tabs/right_bottom.jpg" width="12" height="4"></td>
          <td background="/images/tabs/bottom.jpg" nowrap><img src="/images/tabs/bottom.jpg" width="17" height="4"></td>
          <td nowrap><img src="/images/tabs/left_bottom.jpg" width="15" height="4"></td>        </tr>
      </table>

    </td>~;
}

1;

0707010000bbbd000041ed0000000000000001000000033d1ffab300000000000000200000000000000000000000000000001500000003reloc/mscstyle3/time  0707010000d16d000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000001c00000003reloc/mscstyle3/time/images   0707010000d16e000081a40000000000000002000000013d1fe2e70000066f000000200000000000000000000000000000002500000003reloc/mscstyle3/time/images/icon.gif  GIF89a0 0 ç     è«á¢Ú–ÒŠË~Âr»g´\®S	¦I
Ÿ>™3‘)‹ð· í³ç«â¡ºf…€ñ¹ ï· ì±Æy¢Cz€‰‘'š5¤D
­R	µ^½jÅv¡?{Ç{w x}	ƒ”-ž;¨J
°W¸dÀoÉ|Ù–¢AzÝ¬/‡%™3¬P	¼iÄuÍ‚Õë°{‚´odäËÃùóðÿÿÿûõïïÛÂÜª_Ñ‡Ù”î³( ~Ð¤ îÒÝ›M: £€„¿«€ÜÜÜ€€€pppOOO   ÃÃÃpopüõ8îè1ÓÎ"»¶£ž
|||ÿ˜˜ÿÿ  ÿ''ÿÿÿKKÿ**ÿÎÎÿÿ..òòíÿÕÕÿÅÅÿ©©ÿ""ÿÂÂóóâóòáÿ‚‚ððÓððÌÿÇÇêê©êêžÿ¬¬ÿèèèácÙÖ^ÿöð5èâ9×Ñ0ÇÂ ÿ……ÿTTÿ··ÿ]]èá.ÖÑ$ÇÂ¸³ÿ$$ÿ££öï5èá-ÆÁ¨¥ÿ¦¦›—ÿ»»·³èâ.¸´F 	½‚‡èâ-èÄŠÓ¥¡çâ.èÇžË{…”š)Â}eéÐÃûõððÛÂÜ©`ÏÕ‹ä¥Œ’˜&ž1¥<¬F²Q¸Z	¼b	ÂkÇtÍ~Ó‡Ø‘Þšã¢è©¤£££¤£££¤¤£¤££££¤¤¤¤¤©L	.£8©C°MµW»`	ÀhÅqÑ„ÖÜ–áŸæ¨ë¯ïµ Àpzzzzzyyyzyzzzyzyzyyyy¾l¥F
¹\	¾eÃnÉwÛ“àé¬¬O	ã¥ÕÎƒÆw·a±X«N	:–/ÓŒË¶_°U	›7"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡HœH‘"Dˆ@ €(XÀ ‰x !‚Ž'„YÒ…
 R&`á†6pèàáˆ"FQâ¦‰œ:ò<E
+°háâŒ2Ì@£Ô¨ °á`Ã9thØ€G?28 r-AµlƒB¤ˆ#G$Q²D/“¾~6aëäÉáË—¡DÑ+%òA l§`m„Š^ÈžÿvP…4æ*§S§eëztlÙi×¾|mE«wó>™²¢•ãÇs® @o…Æ‘K?~E"[æ»_`ºwéW°þ,ÇNZâs„Ý¿?¾¶ùíÐÕ[É¢¥õá-â¯«æÂ¥‹—/`(wÞgÇeaßnYäGsýýg„€ð¡'iY„±p~•v¨¥5áh^¨šþ=Ü€b&Æd´XˆêÜagqÈff´xF‹d Yˆ2Žhâ‰~vY-ªaÄ-²ñcŒÛ1×FCÚ¸fn¼Çaq´(Ç“"27U¢‘kuðøŒbgÇ4ªfæŒ¤ñØ"`ê‡]zÄi¥„¤íÁ‹-æyy}øqÙ{žYÛ<*Ña€"È 4þ)f„B†!‡¢£¤‡q"‰(²s’gþŒÑÊŸ#$É"‘<Ø*f’ØÉ£†Á¸¦Êë$Fü
¬qPB!”ÆòH®T	³Î~Xì±ŽX’ê%Û6[¤£ÞZ¸¹ªº-lçÒ™îebÂV&Õ:¢‰®¼±‰™®Î[áZpÒ‰±€x¢¬Ÿ€ð¼O†Â–(£RŠ)‡™r
*©¨¢×* ÅÈ$—lrÉ²ÒŠ+¯À‹,³ÐR‹-·à’‹.»ð‚A£ ôâË/ÀôŒ0Áó‹/À-Ì0Dû1Ås2É(³3 4ãÌ3ÐD#Í4Ô¬r5Ö\S6Õd£Í5Ö`cMÛÛd³6Öl3ÜtãÍO7à„Ó±8ã¬B5åPpÃ<W¤øâ HcNç “7ê¬Ãí¸“C+88nÀð<=ð<ÄÐ0ôà „
(ã¿Énûí ; 0707010001161a000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000002000000003reloc/mscstyle3/unauthenticated   0707010001161b000081a40000000000000002000000013d1fe2e70000020c000000200000000000000000000000000000002b00000003reloc/mscstyle3/unauthenticated/apache.gif    GIF89a0 0 „  ÿÿÿ¥¥¥!½½Æ„„„ZZZ   ÿ cÎÎÎc ÿÿ œ1 ÿœ ÿÿ ÿBÿ„ ÿ1 ï ÿÿÎfff½RsssÿÎ kkk                        !ù    ,    0 0  þ  Ždižhª®lëŠÁ+Ït½
vn
¸î¸ÀÀg# Â!Q6,Êåk`¨‡˜´5 †„B¡Ýª¼ˆ…Á84Ì,ÇAQe7pU£qHÔÝy(jb‚&rU
{Œ&
†a‰–&…tlož#s	£c¦>±"±$™šˆnµ#´ ÀÁ²¿Ä¾³&¥s‡‰¶¿Ð%ÇÁÒÈ c‘“¯ÔÕÑáâà×{›’×ãÔßäÄä 
	aö‹ðÇòüÈ¾¾¨goÁ¨ð$ØNZ­€&Ì€d0¢(á6„¨9U5À­#
ÕŠàaƒ rW§…&OZ3‹ÙšŠN¼S±3Eƒº)P8m¦> ­©àè	>öªtsJÂMÔ
”¡:‡A&Q­:Ñ ±cEœÛ…3í,tî‘äª‹Á+·{
8ëv½FúŠ8@ €…#‚\°`À‚„¹T-<0\)1É•[(9ñãÄ g„  ;07070100012f56000041ed0000000000000001000000033d1ffab300000000000000200000000000000000000000000000001a00000003reloc/mscstyle3/useradmin 07070100015d88000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000002100000003reloc/mscstyle3/useradmin/images  07070100015d89000081a40000000000000002000000013d1fe2e70000079f000000200000000000000000000000000000002a00000003reloc/mscstyle3/useradmin/images/icon.gif GIF89a0 0 ç  
–š^jþþb"¨øêŠâÚf’†‚2’š¢£^ –¾Ž.Z.ÉªqþæÈr~J½`ÞŽ.¾º¶®zv0"®þêÚ¾ŠèŽ,¿uáïî^fRî¦D’r:¾šz›ùè¦¶šÒtÌøöŠÆÊæÂ¢Ú®€¥†G‘ëØ6*òÎ®î.ÞþþiR:T|R0Ï†9‚FF‚öô H(ï¯~â¡qê¾´¢zwòš&bšŠüúåZNÌbÞ¶‚¿}Iú½«ÛªoÊ‚6šæâe39G	 xLó R6Vjìûûð¨QMÂ’†ž’bä©©õþþ’ú÷ßzøÊªÀÌ°¢Z:†Fb¢’e:¿›˜ØÀ¼ˆ8¢’zÚÒª‚YO4M*Òm)Ôt&ûš0ÆŽ2ä”Nvz‚Ž¾²ö²©§òÝû¨SÐ›WÖª†Ú^þýí‹û÷íªmÞˆ(O['¶žfÝ¾¨:$vvZõÄ¸Þ´´¶r.Vvv>2èœCýš?þÒ¢íÇ½ ˆtŽNýýò¶îæÌ™ÁµÆ®ÆªšNëµÃ¢Þæà ’ÅŠk®j.þ¶^Î”oZ666JJ¤j?Ú¶ŠLRLù“'t5à‚Þ~:¨æôÔŸwäŠHŠÜÒ62>Ô{ú¢n˜ýúþ¾‚úÊÄÓl€ýüB&*àÈ¸ü AìÁÄdB8Žhh‚²ŽäžXJF"egé³¢š^bú²[÷ÅÉ:2wýü~Žvß½ºvîösƒh¶ŠR´tÚ™V¿¡WÉl	¿/ÖŽ¶Ž’Úr
ü¨>ÏKtY÷½½t@Õ‚/Ñ­§”êð…S3²‡mNJRÂ¦‚¾ÞÖÒ¢¤û•6nf.ƒïíò¦–î†.j.(þñÕþÃ³¢ïðþ¶j†ýúëªaÞ¦Vrª‚’ÎÊzNFBbBñš>â´´¾’VÓ|'þÕÀýýü¶f*îºž¸ˆ„í²švZNÓ¶ªÖÎÒ±†Æþþý 4Ãw(ÏtNŠnàyM.&‘W6«âÒ¿nV&k¯žÖ¢’ üù†BbŠ’æn&û½íÑÃì³¯ñ¡Dÿÿÿ!ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜ884 Ñ4èìÞ:«¾ø˜ôš/ÁY²¤¢G>|nÜð5eQÞ Ø1Rj¼)*ô4¸n	p7&.ñèñ†(b“Ö…óvajjmSƒhÑhøÐ±iSœüÞ+Ž»[òÖh0¢Áß!˜jÉ æ†©l6]Ë†æ<ˆÄ‰Ó¥`j!êÎ62«‘Àr±â©4C›„kÝ¥&vqºõa(PÊ”ÝµmÛª2Òzlè‘fêxüYÈqë$N»šTnâL÷íÜ¼ü€Æ4ñÂâ3¡þB›ÆË/g´?Ü‚.Û#ÜŽÔ©{odiSâ3‹É¹nùêx£ÞÐA‰3(tÆ/5øSÐ`Ž4¥`!E`àË”X—
ÁÜÂŽ7Ûð6þ€Rƒ:¼¨cGè óÃuÌPð$ø‰2·É‡‚7-Ô’À#s”òÙ‰]˜G†T "‰=QãJ'i”°B ³\pÁ(ÓÅmdìñH!â$EA¬óÅ!êäF‰H’	CitBM&chÑ†<[ÜõAt PJ3lÂJ=…ä²1ôÒ"/d0²BÌP³•®¤Ñg7\ìrÉ¨\²Æ2¨AN¬„Ç&þý¤O-ðŠ“hSI¦¹âë}–áÎî8w‰?C59¿ A‰’£‰?åÑÆXÙ«¯®t [äãÌë\ðf.Í1Yp‡¡ü"†&FtÁK5ú\“‰¯uâïô8`Dî@“ôÍ>âÄ!‚*¼D?¬ôÍÛøÓí¼àŠ ½'5ZÖÂÅÞp0Å Ç»ü\!
£"H?ûÜƒ‚Ö,cƒÇ ãy%¨tãÌÉë˜13psÌ	n|ò‰›„
,ß<òÅ*Ö˜¸ÒÇ0AÊ”ä‰!‹¸¡G9ºdQŒ9üä,V+áGþ2X3Ë)ñØÓ‰CÌ¸B3ñÔQË:òÄ0Å1¦¼#G2@l"Èßô£D.¿<ƒˆ“¼ñŠ$L@äoÒ À@¹¸ØÂˆ/Ù°"ˆ*¿ôÃƒ bˆÁ9!ÄÐòF t Q§hq…^öÒ‹<üR»Él‡8¸7“
W¼Ï…†lØr.-$ „¤ÇnÀ›L*ÑˆQŒ)¨ôA!E®dR€lBÂ1“8!à‡¬/Â`ôD YÀ€ i¸H
P<ph…>Ì‘‡< aó0…(Ü0a¨À¨D/’‰L0£ö =Â ˆÀ‚„pÁ3F‘‡P$€O˜@†‘‘°ù‹ö6èÐˆQÈ¡ãp7`¡„<ðDÄF^@jÄâL>Œá‰DdÁ*p^?ŽÄ_þÊÄ q@Ð€nˆƒ ¢±	7„[/>À ‹<Œà"8’	iüÁ‹Œ¤$'IÉJZò’˜Ì¤& ; 07070100017412000041ed0000000000000001000000033d1ffab300000000000000200000000000000000000000000000001700000003reloc/mscstyle3/webmin    0707010001fb23000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/webmin/images 0707010001fb24000081a40000000000000002000000013d1fe2e7000008ff000000200000000000000000000000000000002700000003reloc/mscstyle3/webmin/images/icon.gif    GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**,    0 0  þ å	H°`¡‚*\ÈPž¥D×Jœ¸p¡D3j”°³s5ŠTXÈ@Fº–Érà²S®šxctJ’%t-EòÀ
tÊ®<A”HeÈœ-%VåÊycX]æ	9•8‘&DÇÊS	W<,ê.Fg ³¹r º£"-ib„îÝ¶Ÿ¨ŽiÈ‡OŸ’Ì3'‰™¹DGJ07ã˜D¹f Qùa`£BÌä4!b‹Ñ ­ý`¹‘§–8À°åJ@’ÐÁª,°:,Á^Á°ÂÂ’oçnAk!¯¹ *dUË¢'\¬y»®9(t°:	²dqT¦Ýf™þq¸"AÞK4fÝk‡iØ(0ƒXh2Çl™øXâöÍòäŠË4“x…°²Ã*&ØðÏÀŽšxc.ƒ´ÒŠ,¾ ¡H'ô`
 LtŽ9Â(!Ð2«œÁÅÚD À‹©´SH#\ì¢#¹dÄ“Î‹ ÐsŽDÌ¬òòœs<ÈÃMm@ñ¢Ë2Æ5Qø`Å TlÐ†*Ï ÉN7-“„»'É¯òÈÌaÄQBqÉ-óTÀˆuÄG 2P&„0„ŽpkœÈ5ë$9
‘LòF ö¨òG=`€ÁŠ{ØD*2Ø3è‹.,„Ž9ÞdòÔ9ó0RNqþ¨6‘¤ÃãÓh0Cˆ2 'l2* ì,“f¡@Q!’´rE#ævD Í‹DÄ+ò¼c&& €@ $ ©ÔÐ20Bœ<Ì°ðK
I&ÁòtðMP@1$û "Ž, ´ñ%èiGAè˜ÉH"Ô-£‹]|°Ž&¦¼2³ÿ`£M<o4ò8ÐNÃ¼‰! 0*Ý$‰9ÝXŠËÜ‚H?±rŠ‡TÁŒ&§è1‡oøÃ&uÈcÎ!xÀ1Q,£N:¾˜„<’œÃˆ5¶„á	ŽVXC¦¬…4;x²ƒÀà3(hÀB þ&wpò"Á #J:£" Oò€â2ÐD‘B
ë€è80Æ´\3†cPÄñ¼…"è”!Í1|hq<ó#©ËðCÐ¿D$ÐWÐ+Ï((qÐ:ˆôãÄ7@qÂ1ˆÂ$Ñ à#¬H×/ÒÓÍ%µ9´òÐq…%°ÀÂÅ‰ #‰ôCªŒBBÿpòL*$¼"‡@jŽî$€P3M’<ñƒPdå D`hÁ…v @PP0ü¡Ž ´!L¸‹@Úáº)!à‘ "‘$#•i„.®€ˆWœÚPÅ7*1	#l
m–$4ÑÔ€þÔcÂB„.d‚bYÂtwkbºH2œ@uäÃm8Abà‚1Ü‚[`Û€þÚA‰v(dD ÷4ƒT4Ðx…2‘v<C/jC°tàÎqáÔ€õ,¤Þ`!<ŒBœ#Kt(%Fe¼6DüX†T$¤"!Òˆ&(!+»ðD
–ŠfÌ3q  ¥`x¸Dc Lo ÷È@¢€_|¡2X"x°ƒ]˜ØÃ
AA'°# 0!4|ð…©av`BÐx£Qò¸FUÀ°Ž`„&å¸E0n§$t#ËéàÁÑŒ˜š%è@	âÆ(@«JÀÅ G R °3‘„Oâž¸‚'4—Œ\ƒ–Ø(LÁˆ+,{°83æÁVÃÐP‚@²Ž+ðr$ï `#Pñ…VÐ{…°„9 qaØâH@'A:ª.xb¬úEy
Ñ3˜Â¥†¸§•‚¼ã?ØB¸µŒDtCÐÐÅÊÓÕ…pÁ‰ØA,q
aø JmëB> Fø ¯`„8©×†4Â``„)t‘×Â2ä°¯˜A›‘,cÊ leSàBÍj$+” ; 070701000214a8000041ed0000000000000001000000033d1ffab300000000000000200000000000000000000000000000001a00000003reloc/mscstyle3/webminlog 07070100028752000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000002100000003reloc/mscstyle3/webminlog/images  07070100028755000081a40000000000000002000000013d1fe2e700000849000000200000000000000000000000000000002a00000003reloc/mscstyle3/webminlog/images/icon.gif GIF89a0 0 ç  
+%RN&H>

'#!.* 

		¦¦(ßâ îòæêpk òöòú÷úöúòöòö"îô+–•ÌÎ+×Õ8'[Sëî,¾½'ª¦:Þî2‚™“%UT4(îúËÌ8v~&âîJqvRJ:^VJrråé)Žš‰’ÎÞ6xtVÞÞŽêöŠRNjn%%ÂÆ(¨²*¢²6ž®zvF<;ººîòîöÖÞNnb4²²JÆÊêî$êîêî¶º"†Š>Šz^znRNS72ˆˆÜß+æêâæææßâ9ž¢
Ñ×ÎÞÒæ®¶ßâ×Ú9*"&²¾ÛÞ#ž #^ZÌÐRáæÒÔ6fZfÍÎ–š.ÊÎZÖ×B×Ú.ÂÂ'*2	¾º>ÈÈNÍÐAÙÚ'ÚÚÊÊ*jfB>>E5	žšÐØ,ÖÖ%«®),*ÆÆ7ÐÒ(ÐÒÌÐLHF
fbZ¬¨(ÄÆ>ÆÆ"ÉÊÌÎQMA

¬­ ¾¾ÂÂÆÆÆÆf`¦¢ºº¾¾¹º¾¾
¶¶³²nn
ª­²²¶¶ºº¶¶¶²¶º¶¶]gž¦&²²¦®__­²²®°·²¶‚†2®®KH°¬­­
š¢"nl$¯®B6B62,.¥§yv"2,,B>£­®¸–’BjfŒŠ"êú*ˆTZv~–Š2jn2!ÂÊ:Ž†,fj
BB6:LB
66ÎÒ®²!zv^fšžJ"*86ŠŽ'À¾R2nv.6&6–š:ÚÚŠŽ††BÓ×ÙàZZ
éî3ª¢(ÂÂ
ÂÆvr&®²ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#Jœè@ 0p  ‚,`À Á‚‘&	¨Té ¥ˆ @ˆ a…
r^¸`ƒÏœ=bÈ¡B8¨ØAÃÎ>€øé³ªÕª=yÍBÄK† F(1` 'Pt°ÚÓj
¶xZ¨AÅŠ¯
°háâ
%b|ÁB¶XÛn5j!‚ŒKóÒ¨áÂÆ6rèØÁ#BÐ­Dƒºóh„=,àã‡ 'ù dH"D2)²7î"D€'Á±‘«”8r#Á$
’œPb‰oßLˆ/Y"¡	“Dšþˆ!Ã‰‚ÕOt@‰²@
‰)I¨T‘±ÄŠ}+Lò[‘pE†	LH`Ê…x%À9P]ì@Yø'à}V\1 X¨!_|q`PXb1)Á@f€‘Åv8`‡gŒ(â"†Ah€FC ¨‘A@Ál´áFc@0¢”Wœ"„øÅ\ŽáÁªU Ä1sÐÑFU¸Á%QF	çvtiGnÜGé±iÒÑA~¸átÚ¡¨¢u4ê‡mÐñ éa‚¼qÇ¨!ˆ [²E¨¡
âG~ á!„xQˆ!þ%q""¼ñF"Š¨¡ë®‹,¢H®ƒtÐtÌÑCŒLÔˆ#rˆðÈ#¼	$‘@"ÉµØJ‚ëtëÈ$ÉJÔ%•<bI%•qI%—\‚É»ðbb	$‰ððH&šlnDApÒ‰'Ÿx"°&ƒ
(‹2
(ò>ûH%=RŠ²¦Œ2ŠÀ‡Ê)wÒI(c\‰%£’ÊÄñ„*¼ñ)«¬rŠ*§°Â1(ž´"ð%™rÂá
*¬€bñË¯tBóÆ{¢‰&¡|Š)° Q#±ü!KÑ¡ØÌqÒ¯p|Š'?½Ê+¯ÌRÐAó¡
+«Ä2J(ªœÝÉ*¼"³þØ¯È3%B°-.-µ$íñÝª(­Ê+ª,Ž¶,x£}ˆ-·PôOd@.‹ß‡×½Šç§è6ãŽ€‡åà’‹*²Ä‹,ã}wÌ‘.º.ìby)¼ôÂ
+¨ø’'±@Š' ˆ’·Ò‘óáB¨3 Ë!¿ “,¼L1E´CF/Ž´3+ÔrH@OÑ¤¢ƒ09€1Ì[Ó@¸ D1Æpàw-±8†‚p Ô5É‚2–‘
fÃ4 @!šá\À; „’âÀ€“Xî HE18€‹g,cqB q†àdÀ…ÂáQ4j!iÄ€“ÀÅC‚  jTCþÁ¨—¬Ñƒ*LÁ
¹yáVvÃ&`‚3v¨d\CØƒ²!,B_ Bv|#ÜÆ‰E`‚² ldÐ7Ðfd€{ðÆÎ`ŸüøÑfã7ð€4(2„°ƒpPA'8‚ÄáoŒã’˜ÇøxŸ/C}i@!Ê‡è	°ÈžaLœC	°\D4z5ËhDC¸‡¬aµ†´Ø€R‹²äb¬¼ÎÁLt8óZè8‡3gA Á=„'ÙvÐ‚\|l°Ø(>	Q|â¢PX:EÁŠt4Àr±YÀ
ˆ<@5+k+Z
ñB8„,PA†Xsw±1I<ÏRXã –‹¨D'JÑŠ.$  ;   07070100029e8d000041ed0000000000000001000000033d1ffab300000000000000200000000000000000000000000000001700000003reloc/mscstyle3/wuftpd    0707010002b499000041ed0000000000000001000000023d1ffab300000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/wuftpd/images 0707010002b49a000081a40000000000000002000000013d1fe2e70000064b000000200000000000000000000000000000002700000003reloc/mscstyle3/wuftpd/images/icon.gif    GIF89a0 0 ç  ==>QgpgcFcX.XnSlla88**$&&2fœ^Šœ’~LNŠ”f‚lNN<9B7::,ÒÊ\ÂºdÒžDÒ®t¶¾lBzÜ>r¤/^±VN,*>L*6DYa]9=3®’Læ²Tæ¶\æÆtÚº|ÛÂn¶º”Ö²tV’ÔJ‚´6nœjjL*Nl*B\Bae;F~´ÎÒ„âÞƒÖÎ|¾Â|¢ªL®ºdR‚Ä&Z¬&N¤&Fd6T0CQ%;æÒ”öÒ¤öÞ´âÎ”ÞÚœÎÊ„Æº”fžÜ^Š¼R^„Jb´&R|:d9ZšÔ¾Ò¼öæÌâæ´æÊ„Î¦džžMJb„B”B|.$<ž¶¤ÚÞÜöâÔöÞÌêâ”ÖÒŒ²ždšš\Bj|:d°264:þîäþöìàÞ´ÖÖ¤Æ¾l²®i:n´6j´LLE&<BzÄn²Ô²Ê¼¬²l¾ž\¶‚LVz\62>vÄÆÎ¼RsŒ1.#9rªÜ¢šDRŠÔ.V¤%:^žä¦ºÜîÎŒÎ¾„b~œ66-b¢Üzºä–šœj–¬RŽäJ†¼*) êâ´v®ÄÖÚ¼ÚÆtÂÊl&.C")>$9V‚Œ-4F"7¾¶\Ff”FHN¢–\rŽl>R|"F|¤ªhŽjDj^$  .b”ž~L–ƒU~jLJF,BGU   .ZŒJ~Ä²–L}vJjfD^V4Šƒ-Y‹5m›=q£AyÃ=uÃ5i³•‚T¡™C‘U}K}iKaV+UM+QE3%-B)#:EUŠ‚‚
†ÿÿÿþþü„ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç0€@@@Á	88ð å?"H˜@B…
.`È a‡<| BÄ%LX8C
+Xtlá‚Âˆ/`Ä¡ÀÄ5lØ¸#‡Ž;N”àÑÃÇ A~B„F…"FlA’CcJ–ø`Â¸ÉNÐxBJR¦ ¡’±Ê	+W°0É"ZË–A¸ÌèâåËšs€¹æ‹+X²ˆƒ…Œ“2NÌœáÂ¥š4˜§äÈ¡Æâ6mÜìCÝG™/ÞÀ‰#š/2þžc±
6uÄLÇb×‰“'\ìX`sÃÍîTÄsAIb`ANŒÀƒzØ±Ç|t¤SLqÍMÔ
&øñ‡zú ˆP ˆ	{,HáM1ÇƒPÔ&RHhLøà„!‡ò„	ˆì‘È|h ˜Ùs(BÑ.˜`By,b£!Œ´‘ÇŽˆð8Ÿƒ*·¢‹taÂ~(Ñˆ#$òH„ðhbÉ-I$I‚{ø1Ä&lñB“ìÑãl°áàR	$”PT	
{(©!„(áÂ–²‡—ØÑ r„ºy &UÁÆ	*æJœp† ™@¡É%þ›ØÇ‰¡¬Q^t(iÂ£„ ºG'd’‰'ŸHÁÉ
9º†­

¤–ª„¤¢@Ñê(¤¤P
aÉ°†)‚Ê.œJ%²¡JŒ²
+)´²A² @…+µð
,±Ä"Ë, ÓR‹-·à’‹.»ðÒA/¾ì°Ã/ÀHÌÄWlñÅŒÆ?tÊ0 ‡21"—lòÉÃãÐÇÅãrË-¿ì²ËÆÔlÌ06×Œ³Í «ÌË3ÃôÌÄC2ÑFÓ<óÍ)ÿ<ŒÐBË¼ôÑÃ(]µÑW“<Ì)õÐÅ´l³ËY_=6Ù\+ä51Q³ôÑd']tÕt§œvB»3+Ûa]´ß8ÇM6É;rÈÉ®xáU¬1ÆS,ÌãÛdùå˜g®9G ; 0707010002caec000041ed0000000000000001000000033d1ffab400000000000000200000000000000000000000000000001700000003reloc/mscstyle3/xinetd    070701000310dd000041ed0000000000000001000000023d1ffab400000000000000200000000000000000000000000000001e00000003reloc/mscstyle3/xinetd/images 070701000310de000081a40000000000000002000000013d1fe2e70000053d000000200000000000000000000000000000002700000003reloc/mscstyle3/xinetd/images/icon.gif    GIF89a0 0 ç     ÿÿÿéÛÎþüûâÒÆøðìÝÍÀ¦œ¨þþýñéÝÕÄ¹“§áÒÅ™¦po¥ùôïÚÉ½ˆ¦hi¦úöñÕÅº‡¥ôêàÊº³|y¥þþûëÞÑ»­­~{¥öïèáÑÅ¯£ªts¥üúõÝÍ¿”Œ¦kk¦õíâÒÁ¸Š…¥ce¦÷ðêÏ¿¶‚~¥íáÕÀ±¯wu¥æ×Ê¶©«zw¥ðæÙ©©on¥øóêÖÅºŽˆ¦df¦îâÖÉ¸²‚}¥]`¥þüýÉ·²ôêâåÖÊ¹«¬qp¥ùôíõíäßÐÃ­¡©sr¥ÑÀ· ”§õêääÕÈÅ³°óêàˆƒ¥bc¦æ×Ì¿°¯X\¥õëæ‡¦ut¥¯£©£˜¨|¥ïãØ×Ç»¥›¨mm¥Ç·²…¥SW¥ëáÑÆ¶±]_¥ßÎÂµ§«òéßãÕÈ¶¨¬äÕÊÓÃ¹¦›¨çÙÌÏ¿µgh¦×È»¾®­†¦¼­­xv¥WZ¥¬Ÿ©kl¦OT¥ÛÊ¾_a¦Ã³°`b¦³§«²¤ª¢—§IM¤ãÒÅÒÁ·£˜§¼­®VY¥ûø÷ÚÊ½NR¤ðåÙåÖÉ¾­®X[¥AF¡“Œ¦Ç¸²š’¦¨ž¨LP¤–¦Í¼µ°£ª~¥UX¥«©Ž‡¦DI¢BG¢GK£{y¥9>žÍ»´¥™¨HL£lm¦<?ŸJM¤;?Ÿ=@ 15˜04—ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jT cG‚?n, €I –0€@Ê‘ 0pàå? (X`æÍ 8°	à„zŽ,9B¢,\À ti8íàáˆª„1‚Ñ&N  ›±d
+ˆN`ÑÂÛ¶^ÀˆAT„4îbPÃÆDsèØÁC0G‘ôHàƒªÊ@‚qœpå¶ ˆ1r„¨ $I’N\©d	° š¨pò„(”(1¤pŽ<E „Tª¢¡E¢,X1K€(W° 6 ‹–-\ˆzè2¢vE ^žþ|&1DÇ92Þ¢ÇÈeÌœ	¬M5Ó}
°†Í‚6D¹ñèé·ßqÈ1QiÐQ‡»­¦ÁF¨¶Ÿ,€G„«‘ÇzÅÆ,hàMwð!D{û]Ð~pØdûýH Þíg‚ T"#B RF!=9·Á	î×B .ò#u‡ bB"<©Èu8©(²È“$¥ÁŒd·8Ò˜Jo<Â$`’dD$X<¡åM’LBI%DYrI˜ÄIdBT<¡	Q}lb'‚’ q‹7©1ž€''àð	Q”€bG(‘. 	¢Œ©J•RŠ)©>öžJ!¨ë®¼öêë¯À+ì°' ;   07070100032820000041ed0000000000000001000000053d1ffac100000000000000200000000000000000000000000000000c00000003reloc/mysql   07070100032821000081a40000000000000002000000013d1fe2db00000e45000000200000000000000000000000000000001c00000003reloc/mysql/acl_security.pl   
require 'mysql-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the mysql module
sub acl_security_form
{
print "<tr> <td valign=top rowspan=3><b>$text{'acl_dbs'}</b></td>\n";
print "<td rowspan=3 valign=top>\n";
printf "<input type=radio name=dbs_def value=1 %s> %s\n",
	$_[0]->{'dbs'} eq '*' ? 'checked' : '', $text{'acl_dall'};
printf "<input type=radio name=dbs_def value=0 %s> %s<br>\n",
	$_[0]->{'dbs'} eq '*' ? '' : 'checked', $text{'acl_dsel'};
print "<select name=dbs size=3 multiple width=100>\n";
map { $dcan{$_}++ } split(/\s+/, $_[0]->{'dbs'});
foreach $d (&list_databases()) {
	printf "<option %s>%s\n",
		$dcan{$d} ? 'selected' : '', $d;
	}
print "</select></td>\n";

print "<td><b>$text{'acl_create'}</b></td> <td>\n";
printf "<input type=radio name=create value=1 %s> %s\n",
	$_[0]->{'create'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=create value=0 %s> %s</td> </tr>\n",
	$_[0]->{'create'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_delete'}</b></td> <td>\n";
printf "<input type=radio name=delete value=1 %s> %s\n",
	$_[0]->{'delete'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=delete value=0 %s> %s</td> </tr>\n",
	$_[0]->{'delete'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_stop'}</b></td> <td>\n";
printf "<input type=radio name=stop value=1 %s> %s\n",
	$_[0]->{'stop'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=stop value=0 %s> %s</td> </tr>\n",
	$_[0]->{'stop'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_perms'}</b></td>\n";
print "<td><select name=perms>\n";
printf "<option value=1 %s> %s\n",
	$_[0]->{'perms'} == 1 ? 'selected' : '', $text{'yes'};
printf "<option value=2 %s> %s\n",
	$_[0]->{'perms'} == 2 ? 'selected' : '', $text{'acl_only'};
printf "<option value=0 %s> %s\n",
	$_[0]->{'perms'} == 0 ? 'selected' : '', $text{'no'};
print "</select></td>\n";

print "<td><b>$text{'acl_edonly'}</b></td>\n";
printf "<td><input type=radio name=edonly value=1 %s> %s\n",
	$_[0]->{'edonly'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=edonly value=0 %s> %s</td> </tr>\n",
	$_[0]->{'edonly'} ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'acl_login'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=user_def value=1 %s> %s<br>\n",
	$_[0]->{'user'} ? '' : 'checked', $text{'acl_user_def'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$_[0]->{'user'} ? 'checked' : '';
printf "%s <input name=user size=10 value='%s'>\n",
	$text{'acl_user'}, $_[0]->{'user'};
printf "%s <input name=pass size=10 value='%s'></td> </tr>\n",
	$text{'acl_pass'}, $_[0]->{'pass'};

print "<tr> <td><b>$text{'acl_bpath'}</b></td>\n";
printf "<td><input name=bpath size=20 value='%s'> %s</td>\n",
	$_[0]->{'bpath'}, &file_chooser_button("bpath", 1);

print "<td><b>$text{'acl_buser'}</b></td>\n";
printf "<td><input name=buser size=8 value='%s'> %s</td> </tr>\n",
	$_[0]->{'buser'}, &user_chooser_button("buser");
}

# acl_security_save(&options)
# Parse the form for security options for the mysql module
sub acl_security_save
{
if ($in{'dbs_def'}) {
	$_[0]->{'dbs'} = '*';
	}
else {
	$_[0]->{'dbs'} = join(" ", split(/\0/, $in{'dbs'}));
	}
$_[0]->{'create'} = $in{'create'};
$_[0]->{'delete'} = $in{'delete'};
$_[0]->{'bpath'} = $in{'bpath'};
$_[0]->{'buser'} = $in{'buser'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'perms'} = $in{'perms'};
$_[0]->{'edonly'} = $in{'edonly'};
if ($in{'user_def'}) {
	delete($_[0]->{'user'});
	delete($_[0]->{'pass'});
	}
else {
	$_[0]->{'user'} = $in{'user'};
	$_[0]->{'pass'} = $in{'pass'};
	}
}

   07070100032822000081e40000000000000002000000013d1fe2dc000005b9000000200000000000000000000000000000001a00000003reloc/mysql/backup_db.cgi #!/usr/local/bin/perl
# backup_db.cgi
# Do the actual backup

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'backup_err'});

$in{'file'} =~ /^\S+$/ || &error($text{'backup_efile'});
$drop = $in{'drop'} ? "--add-drop-table" : "";
$in{'where_def'} || $in{'where'} || &error($text{'backup_ewhere'});
$where = $in{'where_def'} ? "" : "\"--where=$in{'where'}\"";
$p = $access{'bpath'} =~ /\/$/ ? $access{'bpath'} : $access{'bpath'}.'/';
if (substr($in{'file'}, 0, length($p)) ne $p) {
	&error($text{'backup_epath'});
	}

unlink($in{'file'});
if ($access{'buser'} eq 'root') {
	$out = &backquote_logged("$config{'mysqldump'} $authstr $drop $where $in{'db'} 2>&1 >$in{'file'}");
	}
else {
	$out = &backquote_logged("su $access{'buser'} -c '$config{'mysqldump'} $authstr $drop $where $in{'db'} >$in{'file'}' 2>&1");
	}
if ($? || $out) {
	unlink($in{'file'});
	&error(&text('backup_ebackup', "<tt>$out</tt>"));
	}

&header($text{'backup_title'}, "");
print "<hr>\n";
@st = stat($in{'file'});
print "<p>",&text('backup_done', "<tt>$in{'db'}</tt>", "<tt>$in{'file'}</tt>",
		  $st[7]),"<p>\n";
$config{'backup_'.$in{'db'}} = $in{'file'};
&write_file("$module_config_directory/config", \%config);
&webmin_log("backup", undef, $in{'db'}, \%in);
print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});

   07070100032823000081e40000000000000002000000013d1fe2dc000006c6000000200000000000000000000000000000001c00000003reloc/mysql/backup_form.cgi   #!/usr/local/bin/perl
# backup_form.cgi
# Display a form for backing up this database

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&header($text{'backup_title'}, "", "backup_form");
print "<hr>\n";

if (!-x $config{'mysqldump'}) {
	print "<p>",&text('backup_edump', "<tt>$config{'mysqldump'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});
	exit;
	}

print &text('backup_desc', "<tt>$in{'db'}</tt>"),"<p>\n";

print "<form action=backup_db.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'backup_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'backup_file'}</td>\n";
printf "<td><input name=file size=40 value='%s'> %s</td> </tr>\n",
	$config{'backup_'.$in{'db'}}, &file_chooser_button("file");

print "<tr> <td><b>$text{'backup_where'}</b></td>\n";
print "<td><input type=radio name=where_def value=1 checked> ",
      "$text{'backup_none'}\n";
print "<input type=radio name=where_def value=0>\n";
print "<input name=where size=30></td> </tr>\n";

print "<tr> <td><b>$text{'backup_drop'}</b></td>\n";
print "<td><input type=radio name=drop value=1> $text{'yes'}\n";
print "<input type=radio name=drop value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td colspan=2 align=right><input type=submit ",
      "value='$text{'backup_ok'}'></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});

  07070100032824000081a40000000000000002000000013d1fe2dc00000165000000200000000000000000000000000000001300000003reloc/mysql/config    start_cmd=cd /usr/local/mysql ; ./bin/safe_mysqld &
perpage=25
mysql=/usr/local/mysql/bin/mysql
mysqldump=/usr/local/mysql/bin/mysqldump
mysqlimport=/usr/local/mysql/bin/mysqlimport
pass=foo
mysqlshow=/usr/local/mysql/bin/mysqlshow
login=root
mysql_libs=/usr/local/mysql/lib
mysqladmin=/usr/local/mysql/bin/mysqladmin
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032825000081a40000000000000002000000013d1fe2dc00000131000000200000000000000000000000000000001700000003reloc/mysql/config-aix    start_cmd=/usr/local/bin/safe_mysqld &
perpage=25
mysql=/usr/local/bin/mysql
mysqldump=/usr/local/bin/mysqldump
mysqlimport=/usr/local/bin/mysqlimport
mysqlshow=/usr/local/bin/mysqlshow
login=root
mysql_libs=/usr/local/lib/mysql
mysqladmin=/usr/local/bin/mysqladmin
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032826000081a40000000000000002000000013d1fe2dc00000119000000200000000000000000000000000000002000000003reloc/mysql/config-cobalt-linux   start_cmd=/etc/rc.d/init.d/mysql start
stop_cmd=/etc/rc.d/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032827000081a40000000000000002000000013d1fe2db000000fe000000200000000000000000000000000000002000000003reloc/mysql/config-debian-linux   start_cmd=/usr/bin/safe_mysqld >/dev/null 2>&1 &
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
  07070100032828000081a40000000000000002000000013d1fe2db00000145000000200000000000000000000000000000002400000003reloc/mysql/config-debian-linux-2.2   start_cmd=/etc/init.d/mysql start >/dev/null 2>&1 &
stop_cmd=/etc/init.d/mysql stop >/dev/null 2>&1
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=/usr/local/mysql/lib
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032829000081a40000000000000002000000013d1fe2dc00000145000000200000000000000000000000000000002400000003reloc/mysql/config-debian-linux-3.0   start_cmd=/etc/init.d/mysql start >/dev/null 2>&1 &
stop_cmd=/etc/init.d/mysql stop >/dev/null 2>&1
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=/usr/local/mysql/lib
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   0707010003282a000081a40000000000000002000000013d1fe2db00000131000000200000000000000000000000000000001b00000003reloc/mysql/config-freebsd    start_cmd=/usr/local/bin/safe_mysqld &
perpage=25
mysql=/usr/local/bin/mysql
mysqldump=/usr/local/bin/mysqldump
mysqlimport=/usr/local/bin/mysqlimport
mysqlshow=/usr/local/bin/mysqlshow
login=root
mysql_libs=/usr/local/lib/mysql
mysqladmin=/usr/local/bin/mysqladmin
style=0
add_mode=0
nodbi=0
access=*: *
   0707010003282b000081a40000000000000002000000013d1fe2dc0000010f000000200000000000000000000000000000002000000003reloc/mysql/config-gentoo-linux   start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 0707010003282c000081a40000000000000002000000013d1fe2dc00000119000000200000000000000000000000000000002200000003reloc/mysql/config-mandrake-linux start_cmd=/etc/rc.d/init.d/mysql start
stop_cmd=/etc/rc.d/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   0707010003282d000081a40000000000000002000000013d1fe2dc0000011d000000200000000000000000000000000000001d00000003reloc/mysql/config-msc-linux  start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=/usr/lib/mysql
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   0707010003282e000081a40000000000000002000000013d1fe2dc00000123000000200000000000000000000000000000001a00000003reloc/mysql/config-netbsd start_cmd=/usr/pkg/bin/safe_mysqld &
perpage=25
mysql=/usr/pkg/bin/mysql
mysqldump=/usr/pkg/bin/mysqldump
mysqlimport=/usr/pkg/bin/mysqlimport
mysqlshow=/usr/pkg/bin/mysqlshow
login=root
mysql_libs=/usr/pkg/lib/mysql
mysqladmin=/usr/pkg/bin/mysqladmin
style=0
add_mode=0
nodbi=0
access=*: *
 0707010003282f000081a40000000000000002000000013d1fe2db00000119000000200000000000000000000000000000001e00000003reloc/mysql/config-open-linux start_cmd=/etc/rc.d/init.d/mysql start
stop_cmd=/etc/rc.d/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032830000081a40000000000000002000000013d1fe2dc00000119000000200000000000000000000000000000002000000003reloc/mysql/config-redhat-linux   start_cmd=/etc/rc.d/init.d/mysql start
stop_cmd=/etc/rc.d/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032831000081a40000000000000002000000013d1fe2dc0000011b000000200000000000000000000000000000002400000003reloc/mysql/config-redhat-linux-7.0   start_cmd=/etc/rc.d/init.d/mysqld start
stop_cmd=/etc/rc.d/init.d/mysqld stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 07070100032832000081a40000000000000002000000013d1fe2dc0000011b000000200000000000000000000000000000002400000003reloc/mysql/config-redhat-linux-7.1   start_cmd=/etc/rc.d/init.d/mysqld start
stop_cmd=/etc/rc.d/init.d/mysqld stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 07070100032833000081a40000000000000002000000013d1fe2dc0000011b000000200000000000000000000000000000002400000003reloc/mysql/config-redhat-linux-7.2   start_cmd=/etc/rc.d/init.d/mysqld start
stop_cmd=/etc/rc.d/init.d/mysqld stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 07070100032834000081a40000000000000002000000013d1fe2dc0000011b000000200000000000000000000000000000002400000003reloc/mysql/config-redhat-linux-7.3   start_cmd=/etc/rc.d/init.d/mysqld start
stop_cmd=/etc/rc.d/init.d/mysqld stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 07070100032835000081a40000000000000002000000013d1fe2dc0000011f000000200000000000000000000000000000002700000003reloc/mysql/config-slackware-linux-8.0    mysqlimport=/usr/bin/mysqlimport
start_cmd=cd /usr ; /usr/bin/safe_mysqld &
perpage=25
mysqladmin=/usr/bin/mysqladmin
style=0
mysql_libs=
pass=
mysqldump=/usr/bin/mysqldump
mysqlshow=/usr/bin/mysqlshow
mysql=/usr/bin/mysql
login=root
add_mode=0
host=
sock=
stop_cmd=
nodbi=0
access=*: *
 07070100032836000081a40000000000000002000000013d1fe2dc0000011f000000200000000000000000000000000000002700000003reloc/mysql/config-slackware-linux-8.1    mysqlimport=/usr/bin/mysqlimport
start_cmd=cd /usr ; /usr/bin/safe_mysqld &
perpage=25
mysqladmin=/usr/bin/mysqladmin
style=0
mysql_libs=
pass=
mysqldump=/usr/bin/mysqldump
mysqlshow=/usr/bin/mysqlshow
mysql=/usr/bin/mysql
login=root
add_mode=0
host=
sock=
stop_cmd=
nodbi=0
access=*: *
 07070100032837000081a40000000000000002000000013d1fe2db00000111000000200000000000000000000000000000001e00000003reloc/mysql/config-suse-linux start_cmd=/sbin/init.d/mysql start
stop_cmd=/sbin/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   07070100032838000081a40000000000000002000000013d1fe2dc0000010f000000200000000000000000000000000000002200000003reloc/mysql/config-suse-linux-7.1 start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 07070100032839000081a40000000000000002000000013d1fe2dc0000010f000000200000000000000000000000000000002200000003reloc/mysql/config-suse-linux-7.2 start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 0707010003283a000081a40000000000000002000000013d1fe2dc0000010f000000200000000000000000000000000000002200000003reloc/mysql/config-suse-linux-7.3 start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 0707010003283b000081a40000000000000002000000013d1fe2dc0000010f000000200000000000000000000000000000002200000003reloc/mysql/config-suse-linux-8.0 start_cmd=/etc/init.d/mysql start
stop_cmd=/etc/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
 0707010003283c000081a40000000000000002000000013d1fe2db00000119000000200000000000000000000000000000001f00000003reloc/mysql/config-turbo-linux    start_cmd=/etc/rc.d/init.d/mysql start
stop_cmd=/etc/rc.d/init.d/mysql stop
mysql=/usr/bin/mysql
mysqldump=/usr/bin/mysqldump
mysqlimport=/usr/bin/mysqlimport
mysql_libs=
mysqladmin=/usr/bin/mysqladmin
mysqlshow=/usr/bin/mysqlshow
perpage=25
style=0
add_mode=0
nodbi=0
access=*: *
   0707010003283d000081a40000000000000002000000013d1fe2dc000002a9000000200000000000000000000000000000001800000003reloc/mysql/config.info   mysqlshow=Path to mysqlshow command,0
mysqladmin=Path to mysqladmin command,0
mysql=Path to mysql command,0
mysqldump=Path to mysqldump command,0
mysqlimport=Path to mysqlimport command,0
start_cmd=Command to start MySQL server,0
stop_cmd=Command to stop MySQL server,3,Automatic
mysql_libs=Path to MySQL shared libraries directory,3,None
login=Administration login,0
pass=Administration password,12
perpage=Number of rows to display per page,0
style=Show databases and tables as,1,1-List,0-Icons
add_mode=Use vertical row editing interface,1,1-Yes,0-No
host=MySQL host to connect to,3,Localhost
sock=MySQL socket file,3,Default
nodbi=Use DBI to connect if available?,1,0-Yes,1-No
   0707010003283e000081a40000000000000002000000013d1fe2dc000002e1000000200000000000000000000000000000001b00000003reloc/mysql/config.info.ca    mysqlshow=Camí de l'ordre mysqlshow,0
mysqladmin=Camí de l'ordre mysqladmin,0
mysql=Camí de l'ordre mysql,0
mysqldump=Camí de l'ordre mysqldump,0
mysqlimport=Camí de l'ordre mysqlimport,0
start_cmd=Ordre d'inici del servidor MySQL,0
stop_cmd=Ordre d'aturada del servidor MySQL,3,Automàtic
mysql_libs=Camí de les llibreries compartides de MySQL,3,Cap
login=Usuari d'administració,0
pass=Contrasenya d'administració,12
perpage=Nombre de files per pàgina a mostrar,0
style=Mostra les bases de dades i les taules com a,1,1-Llista,0-Icones
add_mode=Fes servir la interfície vertical d'edició de files,1,1-Sí,0-No
host=Host MySQL a connectar,3,Localhost
sock=Fitxer sòcol MySQL,3,Defecte
nodbi=Connecta amb DBI si està disponible,1,0-Sí,1-No

   0707010003283f000081a40000000000000002000000013d1fe2dc00000168000000200000000000000000000000000000001b00000003reloc/mysql/config.info.cz    mysqlshow=Cesta k pøíkazu mysqlshow,0
mysqladmin=Cesta k pøíkazu mysqladmin,0
mysql=Cesta k pøíkazu mysql,0
start_cmd=Pøíkaz ke startu mysql serveru,0
stop_cmd=Pøíkaz k zastavení mysql serveru,3,Automatic
mysql_libs=Cesta k adresáøi sdílených knihoven,3,None
login=Administraèní login,0
pass=Administraèní heslo,0
perpage=Poèet øádkù zobrazených na astránce,0
07070100032840000081a40000000000000002000000013d1fe2db00000172000000200000000000000000000000000000001b00000003reloc/mysql/config.info.de    mysqlshow=Pfad zu mysqlshow Kommando,0
mysqladmin=Pfad zu mysqladmin Kommando,0
mysql=Pfad zu mysql Kommando,0
start_cmd=Kommando um MySQL Server zu starten,0
stop_cmd=Kommando zum stoppen des MySQL Servers,3,Automatisch
mysql_libs=Pfad zu Bibliotheken von MySQL,3,None
login=Administrations Login,0
pass=Administrations Passwort,0
perpage=Anzahl der Reihen pro Seite,0
  07070100032841000081a40000000000000002000000013d1fe2db000002e6000000200000000000000000000000000000001b00000003reloc/mysql/config.info.es    mysqlshow=Trayectoria a comando mysqlshow,0
mysqladmin=Trayectoria a comando mysqladmin,0
mysql=Trayectoria a comando mysql,0
mysqldump=Trayectoria a comando mysqldump,0
mysqlimport=Trayectoria a comando mysqlimport,0
start_cmd=Comando para arrancar servidor mysql,0
stop_cmd=Comando para parar servidor mysql,3,Automático
mysql_libs=Trayectoria a directorio de bibliotecas compartidas de mysql,3,Ninguna
login=Login de administración,0,
pass=Clave de acceso de administración,0
perpage=Número de filas a mostrar por pagina,0
style=Mostrar bases de datos y tablas como,1,1-Lista,0-Iconos
add_mode=Usar interfaz vertical para añadir filas,1,1-Sí,0-No
host=Máquina MySQL a donde conectarse,3,Local
sock=Archivo de socket de MySQL,3,Por defecto
  07070100032842000081a40000000000000002000000013d1fe2dc00000197000000200000000000000000000000000000001b00000003reloc/mysql/config.info.hu    mysqlshow=A mysqlshow parancs útvonala,0
mysqladmin=A mysqladmin parancs útvonala,0
mysql=A mysql parancs útvonala,0
start_cmd=A mysql szerver indító parancssora,0
stop_cmd=A mysql szerver leállító parancssora,3,Automatikus
mysql_libs=A mysql megosztott könyvtárainak útvonala,3,Nincs
login=Adminisztrátori felhasználói név,0
pass=Adminisztrátori jelszó,0
perpage=A megjelenítendõ sorok száma oldalanként,0
 07070100032847000081a40000000000000002000000013d1fe2dc0000030b000000200000000000000000000000000000001b00000003reloc/mysql/config.info.pl    mysqlshow=¦cie¿ka do polecenia <tt>mysqlshow</tt>,0
mysqladmin=¦cie¿ka do polecenia <tt>mysqladmin</tt>,0
mysql=¦cie¿ka do polecenia <tt>mysql</tt>,0
mysqldump=¦cie¿ka do polecenia <tt>mysqldump</tt>,0
mysqlimport=¦cie¿ka do polecenia <tt>mysqlimport</tt>,0
start_cmd=Polecenie uruchamiaj±ce serwer MySQL,0
stop_cmd=Polecenie zatrzymuj±ce serwer MySQL,3,Automatycznie
mysql_libs=¦cie¿ka do katalogu bibliotek wspó³dzielonych MySQL,3,Brak
login=Login administracyjny,0
pass=Has³o administracyjne,0
perpage=Ilo¶æ wy¶wietlanych linii na stronie,0
style=Pokazywaæ bazy danych i&nbsp;tabele jako,1,1-Listê,0-Ikony
add_mode=Korzystaæ z&nbsp;interfejsu pionowej edycji wierszy,1,1-Tak,0-Nie
host=Host MySQL-a&#44; z&nbsp;którym siê ³±czyæ,3,Localhost
sock=Plik gniazd MySQLa,3,Domy¶lny
 07070100032848000081a40000000000000002000000013d1fe2db00000291000000200000000000000000000000000000001b00000003reloc/mysql/config.info.sv    mysqlshow=Sökväg till mysqlshow-kommando,0
mysqladmin=Sökväg till mysqladmin-kommando,0
mysql=Sökväg till mysqlkommando,0
mysqldump=Sökväg till mysqldump-kommando,0
start_cmd=Kommando för att starta mysql-server,0
stop_cmd=Kommando för att stanna mysql-server,3,Automatiskt
mysql_libs=Sökväg till katalog för delade mysql-lib,3,Ingen
login=Administratörens inloggningsnamn,0
pass=Administratörens lösenord,0
perpage=Antal rader som ska visas på en sida,0
style=Visa databaser och tabeller som,1,1-Lista,0-Ikoner
add_mode=Använd vertikalt gränssnitt med radtillägg,1,1-Ja,0-Nej
host=MySQL-dator att koppla upp mot,3,Localhost
sock=MySQL-socketfil,3,Standard
   07070100032849000081a40000000000000002000000013d1fe2dc00000176000000200000000000000000000000000000001b00000003reloc/mysql/config.info.tr    mysqlshow=mysqlshow komutunun yolu,0
mysqladmin=mysqladmin komutunun yolu,0
mysql=mysql komutunun yolu,0
start_cmd=Mysql sunucusunu baþlatma komutu,0
stop_cmd=Mysql sunucusunu durdurma komutu,3,Otomatik
mysql_libs=Mysql paylaþým kütüphanelerinin yeri,3,Hiçbiri
login=Administration giriþ,0
pass=Administration þifresi,0
perpage=Sayfa baþýna gösterilecek olan kolon sayýsý,0
  0707010003284a000081a40000000000000002000000013d1fe2db00000106000000200000000000000000000000000000001e00000003reloc/mysql/config.info.zh_CN mysqlshow=mysqlshow ÃüÁîµÄÂ·¾¶,0
mysqladmin=mysqladmin ÃüÁîµÄÂ·¾¶,0
mysql=mysql ÃüÁîµÄÂ·¾¶,0
start_cmd=Æô¶¯ mysql ·þÎñµÄÃüÁî,0
stop_cmd=Í£Ö¹ mysql ·þÎñµÄÃüÁî,3,×Ô¶¯
mysql_libs=¹²Ïí¿âµÄÄ¿Â¼Â·¾¶,3,ÎÞ
login=¹ÜÀíÔ±µÇÂ¼Ãû,0
pass=¹ÜÀíÔ±¿ÚÁî,0
perpage=Ã¿Ò³ÏÔÊ¾µÄÐÐÊý,0
  0707010003284b000081a40000000000000002000000013d1fe2db00000132000000200000000000000000000000000000002300000003reloc/mysql/config.info.zh_TW.Big5    mysqlshow=¨ì mysqlshow «ü¥Oªº§¹¾ã¸ô®|,0
mysqladmin=¨ì mysqladmin «ü¥Oªº§¹¾ã¸ô®|,0
mysql=¨ì mysql «ü¥Oªº§¹¾ã¸ô®|,0
start_cmd=±Ò°Ê MySQL ¦øªA¾¹ªº©R¥O,0
stop_cmd=°±¤î MySQL ¦øªA¾¹ªº©R¥O,3,¦Û°Ê
mysql_libs=¨ì MySQL ¦@¨É¨ç¦¡®wªº¸ô®|,3,µL
login=¸ê®Æ®wºÞ²zªÌ¦WºÙ,0
pass=¸ê®Æ®wºÞ²zªÌ±K½X,0
perpage=¨C­¶Åã¥Üªº¦C¼Æ,0
  0707010003284c000081e40000000000000002000000013d1fe2db00000675000000200000000000000000000000000000001d00000003reloc/mysql/create_table.cgi  #!/usr/local/bin/perl
# create_table.cgi
# Create a new table

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'table_err'});
$in{'name'} =~ /^\S+$/ || &error($text{'table_ename'});
if ($in{'copy'}) {
	local ($db, $table) = split(/\./, $in{'copy'});
	foreach $f (&table_structure($db, $table)) {
		local $copy = "$f->{'field'} $f->{'type'}";
		$copy .= " not null" if (!$f->{'null'});
		if ($f->{'key'} eq 'PRI') {
			push(@pri, $f->{'field'});
			}
		$copy .= " default '$f->{'default'}'"
			if ($f->{'default'} && $f->{'default'} ne 'NULL');
		push(@fields, $copy);
		}
	}
for($i=0; defined($in{"field_$i"}); $i++) {
	next if (!$in{"field_$i"});
	$in{"field_$i"} =~ /^\S+$/ ||
		&error(&text('table_efield', $in{"field_$i"}));
	$in{"type_$i"} || &error(&text('table_etype', $in{"field_$i"}));
	if ($in{"size_$i"}) {
		push(@fields, sprintf "%s %s(%s)",
		     $in{"field_$i"}, $in{"type_$i"}, $in{"size_$i"});
		}
	else {
		push(@fields, sprintf "%s %s", $in{"field_$i"}, $in{"type_$i"});
		}
	if ($in{"key_$i"}) {
		$fields[@fields-1] .= " not null";
		push(@pri, $in{"field_$i"});
		}
	}
@fields || &error($text{'table_enone'});
$sql = "create table $in{'name'} (".join(",", @fields).")";
$sql .= " type = $in{'type'}" if ($in{'type'});
&execute_sql_logged($in{'db'}, $sql);
if (@pri) {
	# Setup primary fields too
	&execute_sql_logged($in{'db'},
			    "alter table $in{'name'} add primary key (".
			    join(",", @pri).")");
	}
&webmin_log("create", "table", $in{'name'}, \%in);
&redirect("edit_dbase.cgi?db=$in{'db'}");


   0707010003284d000081a40000000000000002000000013d1fe2db00000043000000200000000000000000000000000000001700000003reloc/mysql/defaultacl    dbs=*
create=1
delete=1
stop=1
perms=1
bpath=/
buser=root
edonly=0
 0707010003284e000081e40000000000000002000000013d1fe2dc000005c3000000200000000000000000000000000000001b00000003reloc/mysql/drop_dbase.cgi    #!/usr/local/bin/perl
# drop_dbase.cgi
# Drop an existing database

require './mysql-lib.pl';
&ReadParse();
&error_setup($text{'ddrop_err'});
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
if ($in{'confirm'}) {
	# Drop the database
	&execute_sql_logged($master_db, "drop database $in{'db'}");
	&webmin_log("delete", "db", $in{'db'});
	&redirect("");
	}
elsif ($in{'empty'}) {
	# Delete all the tables
	foreach $t (&list_tables($in{'db'})) {
		&execute_sql_logged($in{'db'}, "drop table $t");
		}
	&webmin_log("delete", "db", $in{'db'});
	&redirect("");
	}
else {
	# Ask the user if he is sure..
	&header($text{'ddrop_title'}, "");
	print "<hr>\n";
	@tables = &list_tables($in{'db'});
	$rows = 0;
	foreach $t (@tables) {
		$d = &execute_sql($in{'db'}, "select count(*) from $t");
		$rows += $d->{'data'}->[0]->[0];
		}

	print "<center><b><p>",&text('ddrop_rusure', "<tt>$in{'db'}</tt>",
				     scalar(@tables), $rows),"\n";
	print $text{'ddrop_mysql'},"\n" if ($in{'db'} eq $master_db);
	print "</b><p>\n";
	print "<form action=drop_dbase.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=submit name=confirm value='$text{'ddrop_ok'}'>\n";
	print "<input type=submit name=empty value='$text{'ddrop_empty'}'>\n"
		if (@tables);
	print "</form></center>\n";
	print "<hr>\n";
	&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
		"", $text{'index_return'});
	}


 0707010003284f000081e40000000000000002000000013d1fe2dc000004ed000000200000000000000000000000000000001b00000003reloc/mysql/drop_table.cgi    #!/usr/local/bin/perl
# drop_table.cgi
# Delete an existing table

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
if ($in{'confirm'}) {
	# Drop the table
	&error_setup($text{'tdrop_err'});
	&execute_sql_logged($in{'db'}, "drop table $in{'table'}");
	&webmin_log("delete", "table", $in{'table'}, \%in);
	&redirect("edit_dbase.cgi?db=$in{'db'}");
	}
else {
	# Ask the user if he is sure..
	&header($text{'tdrop_title'}, "");
	print "<hr>\n";
	@tables = &list_tables($in{'db'});
	$d = &execute_sql($in{'db'}, "select count(*) from $in{'table'}");
	$rows = $d->{'data'}->[0]->[0];

	print "<center><b><p>", &text('tdrop_rusure', "<tt>$in{'table'}</tt>",
				      "<tt>$in{'db'}</tt>", $rows),"</b><p>\n";
	print "<form action=drop_table.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	print "<input type=submit name=confirm value='$text{'tdrop_ok'}'>\n";
	print "</form></center>\n";
	print "<hr>\n";
	&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",
		$text{'table_return'},
		"edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
		"", $text{'index_return'});
	}

   07070100032850000081e40000000000000002000000013d1fe2dc00000b82000000200000000000000000000000000000001b00000003reloc/mysql/edit_cpriv.cgi    #!/usr/local/bin/perl
# edit_cpriv.cgi
# Display a form for editing or creating new column permissions

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});
if ($in{'table'}) {
	&header($text{'cpriv_title1'}, "", "create_cpriv");
	($d, $t) = split(/\./, $in{'table'});
	}
else {
	$d = &execute_sql($master_db, "select * from columns_priv order by table_name,column_name");
	$u = $d->{'data'}->[$in{'idx'}];
	$access{'perms'} == 1 || &can_edit_db($u->[1]) ||
		&error($text{'perms_edb'});
	$d = $u->[1]; $t = $u->[3];
	&header($text{'cpriv_title2'}, "", "edit_cpriv");
	}
print "<hr>\n";

print "<form action=save_cpriv.cgi>\n";
if ($in{'table'}) {
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	}
else {
	print "<input type=hidden name=oldhost value='$u->[0]'>\n";
	print "<input type=hidden name=olddb value='$u->[1]'>\n";
	print "<input type=hidden name=olduser value='$u->[2]'>\n";
	print "<input type=hidden name=oldtable value='$u->[3]'>\n";
	print "<input type=hidden name=oldfield value='$u->[4]'>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'cpriv_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'cpriv_db'}</b></td>\n";
print "<td><tt>$d</tt></td> </tr>\n";

print "<tr> <td><b>$text{'cpriv_table'}</b></td>\n";
print "<td><tt>$t</tt></td> </tr>\n";

print "<tr> <td><b>$text{'cpriv_field'}</b></td>\n";
print "<td><select name=field>\n";
print "<option selected>\n" if ($in{'table'});
foreach $c (&table_structure($d, $t)) {
	printf "<option %s>%s\n",
		$u->[4] eq $c->{'field'} ? 'selected' : '',
		$c->{'field'};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'cpriv_user'}</b></td> <td>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$u->[2] ? '' : 'checked', $text{'cpriv_anon'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$u->[2] ? 'checked' : '';
print "<input name=user size=10 value='$u->[2]'></td> </tr>\n";

print "<tr> <td><b>$text{'cpriv_host'}</b></td> <td>\n";
printf "<input type=radio name=host_def value=1 %s> %s\n",
	$u->[0] eq '%' || $u->[0] eq '' ? 'checked' : '', $text{'cpriv_any'};
printf "<input type=radio name=host_def value=0 %s>\n",
	$u->[0] eq '%' || $u->[0] eq '' ? '' : 'checked';
printf "<input name=host size=20 value='%s'></td> </tr>\n",
	$u->[0] eq '%' ? '' : $u->[0];

print "<tr> <td valign=top><b>$text{'cpriv_perms'}</b></td>\n";
print "<td><select multiple size=4 name=perms>\n";
foreach $p ('Select','Insert','Update','References') {
	printf "<option %s>%s\n",
		$u->[6] =~ /$p/i ? 'selected' : '', $p;
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'>\n";
if (!$in{'new'}) {
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer('list_cprivs.cgi', $text{'cprivs_return'},
	"", $text{'index_return'});

  07070100032851000081e40000000000000002000000013d1fe2db0000092d000000200000000000000000000000000000001800000003reloc/mysql/edit_db.cgi   #!/usr/local/bin/perl
# edit_db.cgi
# Edit or create a db table record

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'new'}) {
	&header($text{'db_title1'}, "", "create_db");
	}
else {
	$d = &execute_sql($master_db, "select * from db order by db");
	$u = $d->{'data'}->[$in{'idx'}];
	$access{'perms'} == 1 || &can_edit_db($u->[1]) ||
		&error($text{'perms_edb'});
	&header($text{'db_title2'}, "", "edit_db");
	}
print "<hr>\n";

print "<form action=save_db.cgi>\n";
if ($in{'new'}) {
	print "<input type=hidden name=new value=1>\n";
	}
else {
	print "<input type=hidden name=oldhost value='$u->[0]'>\n";
	print "<input type=hidden name=olddb value='$u->[1]'>\n";
	print "<input type=hidden name=olduser value='$u->[2]'>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'db_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'db_db'}</b></td>\n";
print "<td>",&select_db($u->[1]),"</td> </tr>\n";

print "<tr> <td><b>$text{'db_user'}</b></td> <td>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$u->[2] ? '' : 'checked', $text{'db_anon'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$u->[2] ? 'checked' : '';
print "<input name=user size=10 value='$u->[2]'></td> </tr>\n";

print "<tr> <td><b>$text{'db_host'}</b></td> <td>\n";
printf "<input type=radio name=host_mode value=0 %s> %s\n",
	$u->[0] eq '' ? 'checked' : '', $text{'db_hosts'};
printf "<input type=radio name=host_mode value=1 %s> %s\n",
	$u->[0] eq '%' ? 'checked' : '', $text{'db_any'};
printf "<input type=radio name=host_mode value=2 %s>\n",
	$u->[0] eq '%' || $u->[0] eq '' ? '' : 'checked';
printf "<input name=host size=20 value='%s'></td> </tr>\n",
	$u->[0] eq '%' ? '' : $u->[0];

print "<tr> <td valign=top><b>$text{'db_perms'}</b></td>\n";
print "<td><select name=perms multiple size=8>\n";
for($i=3; $i<=12; $i++) {
	printf "<option value=%d %s>%s\n",
		$i, $u->[$i] eq 'Y' ? 'selected' : '',
		$text{"db_priv$i"};
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'>\n";
if (!$in{'new'}) {
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer('list_dbs.cgi', $text{'dbs_return'},
	"", $text{'index_return'});

   07070100032852000081e40000000000000002000000013d1fe2db00000961000000200000000000000000000000000000001b00000003reloc/mysql/edit_dbase.cgi    #!/usr/local/bin/perl
# edit_dbase.cgi
# Show database tables

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&header($text{'dbase_title'}, "", "edit_dbase");
print "<center><font size=+2><tt>$in{'db'}</tt></font></center>\n";
print "<hr>\n";

@titles = &list_tables($in{'db'});
if (@titles) {
	print "<h3>$text{'dbase_tables'}</h3>\n";
	@icons = map { "images/table.gif" } @titles;
	@links = map { "edit_table.cgi?db=$in{'db'}&table=$_" } @titles;
	&show_buttons();
	if ($config{'style'}) {
		foreach $t (@titles) {
			local $c = &execute_sql($in{'db'},
						"select count(*) from $t");
			push(@rows, $c->{'data'}->[0]->[0]);
			local @str = &table_structure($in{'db'}, $t);
			push(@fields, scalar(@str));
			}
		@titles = map { &html_escape($_) } @titles;
		&split_table([ $text{'dbase_table'}, $text{'dbase_rows'},
			       $text{'dbase_cols'} ], \@links, \@titles,
			     \@rows, \@fields) if (@titles);
		}
	else {
		@titles = map { &html_escape($_) } @titles;
		&icons_table(\@links, \@titles, \@icons, 5);
		}
	}
else {
	print "<b>$text{'dbase_none'}</b> <p>\n";
	}
&show_buttons();

print "<hr>\n";
&footer("", $text{'index_return'});

sub show_buttons
{
if (!$access{'edonly'}) {
	print "<table width=100%> <tr>\n";
	print "<form action=table_form.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<td width=25% nowrap><input type=submit ",
	      "value='$text{'dbase_add'}'>\n";
	print $text{'dbase_fields'},"\n";
	print "<select name=fields>\n";
	foreach $f (4 .. 20) {
		print "<option>$f\n";
		}
	print "</select></td>\n";
	print "</form>\n";
	if ($access{'delete'}) {
		print "<form action=drop_dbase.cgi>\n";
		print "<input type=hidden name=db value='$in{'db'}'>\n";
		print "<td align=middle width=25%><input type=submit ",
		      "value='$text{'dbase_drop'}'></td></form>\n";
		}
	else {
		print "<td width=25%></td>\n";
		}

	print "<form action=backup_form.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<td align=middle width=25%><input type=submit ",
	      "value='$text{'dbase_backup'}'></td></form>\n";

	print "<form action=exec_form.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<td align=right width=25%><input type=submit ",
	      "value='$text{'dbase_exec'}'></td>\n";
	print "</form>\n";
	print "</tr> </table></form>\n";
	}
}

   07070100032853000081e40000000000000002000000013d1fe2db000014ff000000200000000000000000000000000000001b00000003reloc/mysql/edit_field.cgi    #!/usr/local/bin/perl
# edit_field.cgi
# Display a form for editing an existing field or creating a new one

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
if ($in{'type'}) {
	# Creating a new field
	&header($text{'field_title1'}, "", "create_field");
	$type = $in{'type'};
	}
else {
	# Editing an existing field
	&header($text{'field_title2'}, "", "edit_field");
	@desc = &table_structure($in{'db'}, $in{'table'});
	$f = $desc[$in{'idx'}];
	$type = $f->{'type'};
	}
print "<center><font size=+2>",&text('field_in', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=new value='$in{'type'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'field_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'field_name'}</b></td>\n";
print "<td><input name=field size=20 value='$f->{'field'}'></td> </tr>\n";
print "<input type=hidden name=old value='$f->{'field'}'>\n" if (!$in{'type'});

if ($type =~ /^(\S+)\((.*)\)(.*)/) {
	$type = $1;
	$size = $2;
	$extra = $3;
	}
print "<input type=hidden name=type value='$type'>\n";
print "<tr> <td><b>$text{'field_type'}</b></td>\n";
print "<td>$type</td> </tr>\n";

if ($type eq 'enum' || $type eq 'set') {
	# List of values
	print "<tr> <td valign=top><b>$text{'field_enum'}</b></td>\n";
	print "<td><textarea name=size rows=4 cols=20>",
		join("\n", map { /^'(.*)'$/; $1 } split(/,/, $size)),
		"</textarea></td> </tr>\n";
	}
elsif ($type eq 'float' || $type eq 'double' || $type eq 'decimal') {
	# Two values
	print "<tr> <td><b>$text{'field_dual'}</b></td>\n";
	printf "<td><input name=size1 size=5 value='%s'>\n",
		$size =~ /^(\d+)/ ? $1 : '';
	printf "<input name=size2 size=5 value='%s'></td> </tr>\n",
		$size =~ /(\d+)$/ ? $1 : '';
	}
elsif ($type eq 'date' || $type eq 'datetime' || $type eq 'time' ||
       $type =~ /(blob|text)$/) {
	# No width!
	}
else {
	# One single value
	print "<tr> <td><b>$text{'field_size'}</b></td>\n";
	print "<td><input name=size size=10 value='$size'></td> </tr>\n";
	}

if ($type =~ /int$/) {
	# Display unsigned/zerofill option
	print "<tr> <td><b>$text{'field_opts'}</b></td>\n";
	printf "<td><input name=opts type=radio value='' %s> %s\n",
		$extra =~ /unsigned/ ? '' : 'checked',
		$text{'field_none'};
	printf "<input name=opts type=radio value=unsigned %s> %s\n",
		$extra =~ /unsigned/ && $extra !~ /zerofill/ ? 'checked' : '',
		$text{'field_unsigned'};
	printf "<input name=opts type=radio value=zerofill %s> %s</td> </tr>\n",
		$extra =~ /zerofill/ ? 'checked' : '',
		$text{'field_zerofill'};
	if ($f->{'key'}) {
		print "<tr> <td><b>$text{'field_auto'}</b></td>\n";
		printf "<td><input name=ext type=radio value=%s %s> %s\n",
			'auto_increment',
			$f->{'extra'} =~ /auto_increment/ ? 'checked' : '',
			$text{'yes'};
		printf "<input name=ext type=radio value='' %s> %s</td></tr>\n",
			$f->{'extra'} =~ /auto_increment/ ? '' : 'checked',
			$text{'no'};
		}
	}
elsif ($type eq 'float' || $type eq 'double' || $type eq 'decimal') {
	# Display zerofill option
	print "<tr> <td><b>$text{'field_opts'}</b></td>\n";
	printf "<td><input name=opts type=radio value='' %s> %s\n",
		$extra =~ /unsigned/ ? '' : 'checked',
		$text{'field_none'};
	printf "<input name=opts type=radio value=zerofill %s> %s</td> </tr>\n",
		$extra =~ /zerofill/ ? 'checked' : '',
		$text{'field_zerofill'};
	}
elsif ($type eq 'char' || $type eq 'varchar') {
	# Display binary option
	print "<tr> <td><b>$text{'field_opts'}</b></td>\n";
	printf "<td><input name=opts type=radio value='' %s> %s\n",
		$extra =~ /binary/ ? '' : 'checked',
		$text{'field_ascii'};
	printf "<input name=opts type=radio value=binary %s> %s</td> </tr>\n",
		$extra =~ /binary/ ? 'checked' : '',
		$text{'field_binary'};
	}

print "<tr> <td><b>$text{'field_null'}</b></td>\n";
printf "<td><input name=null type=radio value=1 %s> $text{'yes'}\n",
	$in{'type'} || $f->{'null'} eq 'YES' ? 'checked' : '';
printf "<input name=null type=radio value=0 %s> $text{'no'}</td> </tr>\n",
	$in{'type'} || $f->{'null'} eq 'YES' ? '' : 'checked';

print "<tr> <td><b>$text{'field_default'}</b></td>\n";
printf "<td><input name=default size=20 value='%s'></td> </tr>\n",
	$f->{'default'} eq 'NULL' ? '' : $f->{'default'};

print "<tr> <td><b>$text{'field_key'}</b></td>\n";
printf "<td><input type=radio name=key value=1 %s> %s\n",
	$f->{'key'} eq 'PRI' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=key value=0 %s> %s</td> </tr>\n",
	$f->{'key'} eq 'PRI' ? '' : 'checked', $text{'no'};
printf "<input type=hidden name=oldkey value='%d'>\n",
	$f->{'key'} eq 'PRI' ? 1 : 0;

print "</table></td></tr></table>\n";
if ($in{'type'}) {
	print "<input type=submit value='$text{'create'}'>\n";
	}
else {
	print "<input type=submit value='$text{'save'}'>&nbsp;\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n"
		if (@desc > 1);
	}
print "</form>\n";

print "<hr>\n";
&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",$text{'table_return'},
	"edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});

 07070100032854000081e40000000000000002000000013d1fe2db00000761000000200000000000000000000000000000001a00000003reloc/mysql/edit_host.cgi #!/usr/local/bin/perl
# edit_host.cgi
# Edit or create a host table record

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'new'}) {
	&header($text{'host_title1'}, "");
	}
else {
	$d = &execute_sql($master_db, "select * from host order by host");
	$u = $d->{'data'}->[$in{'idx'}];
	$access{'perms'} == 1 || &can_edit_db($u->[1]) ||
		&error($text{'perms_edb'});
	&header($text{'host_title2'}, "");
	}
print "<hr>\n";

print "<form action=save_host.cgi>\n";
if ($in{'new'}) {
	print "<input type=hidden name=new value=1>\n";
	}
else {
	print "<input type=hidden name=oldhost value='$u->[0]'>\n";
	print "<input type=hidden name=olddb value='$u->[1]'>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'host_db'}</b></td>\n";
print "<td>",&select_db($u->[1]),"</td> </tr>\n";

print "<tr> <td><b>$text{'host_host'}</b></td> <td>\n";
printf "<input type=radio name=host_def value=1 %s> %s\n",
	$u->[0] eq '%' || $u->[0] eq '' ? 'checked' : '', $text{'host_any'};
printf "<input type=radio name=host_def value=0 %s>\n",
	$u->[0] eq '%' || $u->[0] eq '' ? '' : 'checked';
printf "<input name=host size=20 value='%s'></td> </tr>\n",
	$u->[0] eq '%' ? '' : $u->[0];

print "<tr> <td valign=top><b>$text{'host_perms'}</b></td>\n";
print "<td><select name=perms multiple size=8>\n";
for($i=2; $i<=11; $i++) {
	printf "<option value=%d %s>%s\n",
		$i, $u->[$i] eq 'Y' ? 'selected' : '',
		$text{"host_priv$i"};
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'>\n";
if (!$in{'new'}) {
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer('list_hosts.cgi', $text{'dbs_return'},
	"", $text{'index_return'});

   07070100032855000081e40000000000000002000000013d1fe2db00000a36000000200000000000000000000000000000001b00000003reloc/mysql/edit_table.cgi    #!/usr/local/bin/perl
# edit_table.cgi
# Display the structure of some table

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
if ($access{'edonly'}) {
	&redirect("view_table.cgi?db=$in{'db'}&table=$in{'table'}");
	exit;
	}
&header($text{'table_title'}, "", "edit_table");
print "<center><font size=+2>",&text('table_header', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr>\n";

@desc = &table_structure($in{'db'}, $in{'table'});
print "<form action=edit_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'table_field'}</b></td> ",
      "<td><b>$text{'table_type'}</b></td> ",
      "<td><b>$text{'table_null'}</b></td> ",
      "<td><b>$text{'table_key'}</b></td> ",
      "<td><b>$text{'table_default'}</b></td> ",
      "<td><b>$text{'table_extra'}</b></td> </tr>\n";
$i = 0;
foreach $r (@desc) {
	print "<tr $cb>\n";
	print "<td><a href='edit_field.cgi?db=$in{'db'}&table=$in{'table'}&",
	      "idx=$i'>",&html_escape($r->{'field'}),"</a></td>\n";
	print "<td>",&html_escape($r->{'type'}),"</td>\n";
	printf "<td>%s</td>\n",
		$r->{'null'} eq 'YES' ? $text{'yes'} : $text{'no'};
	printf "<td>%s</td>\n",
		$r->{'key'} eq 'PRI' ? $text{'table_pri'} :
		$r->{'key'} eq 'MUL' ? $text{'table_mul'} :
				       $text{'table_none'};
	print "<td>",&html_escape($r->{'default'}),"&nbsp;</td>\n";
	print "<td>",&html_escape($r->{'extra'}),"&nbsp;</td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table>\n";
print "<table width=100%><tr>\n";

print "<td width=33% nowrap><input type=submit value='$text{'table_add'}'>\n";
print "<select name=type>\n";
foreach $t (@type_list) {
	print "<option>$t\n";
	}
print "</select></td></form>\n";

print "<form action=view_table.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<td align=middle width=33%>\n";
print "<input type=submit value='$text{'table_data'}'></td>\n";
print "</form>\n";

print "<form action=drop_table.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<td align=right width=33%>\n";
print "<input type=submit value='$text{'table_drop'}'></td>\n";
print "</form>\n";

print "</tr></table>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});

  07070100032856000081e40000000000000002000000013d1fe2dc00000bf2000000200000000000000000000000000000001b00000003reloc/mysql/edit_tpriv.cgi    #!/usr/local/bin/perl
# edit_tpriv.cgi
# Display a form for editing or creating new table permissions

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});
if ($in{'db'}) {
	&header($text{'tpriv_title1'}, "", "create_tpriv");
	}
else {
	$d = &execute_sql($master_db, "select * from tables_priv order by table_name");
	$u = $d->{'data'}->[$in{'idx'}];
	$access{'perms'} == 1 || &can_edit_db($u->[1]) ||
		&error($text{'perms_edb'});
	&header($text{'tpriv_title2'}, "", "edit_tpriv");
	}
print "<hr>\n";

print "<form action=save_tpriv.cgi>\n";
if ($in{'db'}) {
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	}
else {
	print "<input type=hidden name=oldhost value='$u->[0]'>\n";
	print "<input type=hidden name=olddb value='$u->[1]'>\n";
	print "<input type=hidden name=olduser value='$u->[2]'>\n";
	print "<input type=hidden name=oldtable value='$u->[3]'>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'tpriv_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'tpriv_db'}</b></td>\n";
print "<td><tt>",$in{'db'} ? $in{'db'} : $u->[1],"</tt></td> </tr>\n";

print "<tr> <td><b>$text{'tpriv_table'}</b></td>\n";
print "<td><select name=table>\n";
print "<option selected>\n" if ($in{'db'});
foreach $t (&list_tables($in{'db'} ? $in{'db'} : $u->[1])) {
	printf "<option %s>%s\n",
		$u->[3] eq $t ? 'selected' : '', $t;
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'tpriv_user'}</b></td> <td>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$u->[2] ? '' : 'checked', $text{'tpriv_anon'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$u->[2] ? 'checked' : '';
print "<input name=user size=10 value='$u->[2]'></td> </tr>\n";

print "<tr> <td><b>$text{'tpriv_host'}</b></td> <td>\n";
printf "<input type=radio name=host_def value=1 %s> %s\n",
	$u->[0] eq '%' || $u->[0] eq '' ? 'checked' : '', $text{'tpriv_any'};
printf "<input type=radio name=host_def value=0 %s>\n",
	$u->[0] eq '%' || $u->[0] eq '' ? '' : 'checked';
printf "<input name=host size=20 value='%s'></td> </tr>\n",
	$u->[0] eq '%' ? '' : $u->[0];

print "<tr> <td valign=top><b>$text{'tpriv_perms1'}</b></td>\n";
print "<td><select multiple size=4 name=perms1>\n";
foreach $p ('Select','Insert','Update','Delete','Create',
	    'Drop','Grant','References','Index','Alter') {
	printf "<option %s>%s\n",
		$u->[6] =~ /$p/i ? 'selected' : '', $p;
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'tpriv_perms2'}</b></td>\n";
print "<td><select multiple size=4 name=perms2>\n";
foreach $p ('Select','Insert','Update','References') {
	printf "<option %s>%s\n",
		$u->[7] =~ /$p/i ? 'selected' : '', $p;
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'>\n";
if (!$in{'db'}) {
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer('list_tprivs.cgi', $text{'tprivs_return'},
	"", $text{'index_return'});

  07070100032857000081e40000000000000002000000013d1fe2db000009ed000000200000000000000000000000000000001a00000003reloc/mysql/edit_user.cgi #!/usr/local/bin/perl
# edit_user.cgi
# Display a form for editing or creating a MySQL user

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} == 1 || &error($text{'perms_ecannot'});

if ($in{'new'}) {
	&header($text{'user_title1'}, "", "create_user");
	}
else {
	&header($text{'user_title2'}, "", "edit_user");
	$d = &execute_sql($master_db, "select * from user order by user");
	$u = $d->{'data'}->[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_user.cgi>\n";
if ($in{'new'}) {
	print "<input type=hidden name=new value=1>\n";
	}
else {
	print "<input type=hidden name=olduser value='$u->[1]'>\n";
	print "<input type=hidden name=oldhost value='$u->[0]'>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'user_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'user_user'}</b></td> <td>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$u->[1] ? '' : 'checked', $text{'user_all'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$u->[1] ? 'checked' : '';
print "<input name=user size=10 value='$u->[1]'></td> </tr>\n";

print "<tr> <td><b>$text{'user_pass'}</b></td> <td>\n";
printf "<input type=radio name=pass_mode value=2 %s> %s\n",
	!$in{'new'} && !$u->[2] ? 'checked' : '', $text{'user_none'};
if (!$in{'new'}) {
	printf "<input type=radio name=pass_mode value=1 %s> %s\n",
		$u->[2] ? 'checked' : '', $text{'user_leave'};
	}
printf "<input type=radio name=pass_mode value=0 %s> %s\n",
	$in{'new'} ? 'checked' : '', $text{'user_set'};
print "<input name=pass size=10></td> </tr>\n";

print "<tr> <td><b>$text{'user_host'}</b></td> <td>\n";
printf "<input type=radio name=host_def value=1 %s> %s\n",
	$u->[0] eq '%' || $u->[0] eq '' ? 'checked' : '', $text{'user_any'};
printf "<input type=radio name=host_def value=0 %s>\n",
	$u->[0] eq '%' || $u->[0] eq '' ? '' : 'checked';
printf "<input name=host size=20 value='%s'></td> </tr>\n",
	$u->[0] eq '%' ? '' : $u->[0];

print "<tr> <td valign=top><b>$text{'user_perms'}</b></td>\n";
print "<td><select name=perms multiple size=10>\n";
for($i=3; $i<=16; $i++) {
	printf "<option value=%d %s>%s\n",
		$i, $u->[$i] eq 'Y' ? 'selected' : '',
		$text{"user_priv$i"};
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'>\n";
if (!$in{'new'}) {
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer('list_users.cgi', $text{'users_return'},
	"", $text{'index_return'});

   07070100032858000081e40000000000000002000000013d1fe2db00000706000000200000000000000000000000000000001500000003reloc/mysql/exec.cgi  #!/usr/local/bin/perl
# exec.cgi
# Execute some SQL command and display output

require './mysql-lib.pl';
&ReadParseMime();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'exec_err'});

if ($in{'clear'}) {
	# Delete the history file
	unlink("$module_config_directory/commands.$in{'db'}");
	&redirect("exec_form.cgi?db=$in{'db'}");
	}
else {
	$in{'cmd'} = join(" ", split(/[\r\n]+/, $in{'cmd'}));
	$cmd = $in{'cmd'} ? $in{'cmd'} : $in{'old'};
	$d = &execute_sql_logged($in{'db'}, $cmd);

	&header($text{'exec_title'}, "");
	print "<hr>\n";
	print "<p>",&text('exec_out', "<tt>$cmd</tt>"),"<p>\n";
	@data = @{$d->{'data'}};
	if (@data) {
		print "<table border> <tr $tb>\n";
		foreach $t (@{$d->{'titles'}}) {
			print "<td><b>$t</b></td>\n";
			}
		print "</tr>\n";
		foreach $r (@data) {
			print "<tr $cb>\n";
			foreach $c (@$r) {
				print "<td>",$c =~ /\S/ ? &html_escape($c)
							: "<br>","</td>\n";
				}
			print "</tr>\n";
			}
		print "</table><p>\n";
		}
	else {
		print "<b>$text{'exec_none'}</b> <p>\n";
		}

	open(OLD, "$module_config_directory/commands.$in{'db'}");
	while(<OLD>) {
		s/\r|\n//g;
		$already++ if ($_ eq $in{'cmd'});
		}
	close(OLD);
	if (!$already && $in{'cmd'} =~ /\S/) {
		&lock_file("$module_config_directory/commands.$in{'db'}");
		open(OLD, ">>$module_config_directory/commands.$in{'db'}");
		print OLD "$in{'cmd'}\n";
		close(OLD);
		chmod(0700, "$module_config_directory/commands.$in{'db'}");
		&unlock_file("$module_config_directory/commands.$in{'db'}");
		}
	&webmin_log("exec", undef, $in{'db'}, \%in);

	print "<hr>\n";
	&footer("exec_form.cgi?db=$in{'db'}", $text{'exec_return'},
		"edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
		"", $text{'index_return'});
	}

  07070100032859000081e40000000000000002000000013d1fe2dc00000519000000200000000000000000000000000000001a00000003reloc/mysql/exec_file.cgi #!/usr/local/bin/perl
# exec_files.cgi
# Execute some SQL commands from a file and display the output

require './mysql-lib.pl';
&ReadParseMime();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'exec_err'});

if ($in{'mode'}) {
	# From uploaded file
	$in{'upload'} || &error($text{'exec_eupload'});
	$file = &tempname();
	open(TEMP, ">$file");
	print TEMP $in{'upload'};
	close(TEMP);
	&header($text{'exec_title'}, "");
	print "<hr>\n";
	print "<p>$text{'exec_uploadout'}<p>\n";
	}
else {
	# From local file
	-r $in{'file'} || &error($text{'exec_efile'});
	$file = $in{'file'};
	&header($text{'exec_title'}, "");
	print "<hr>\n";
	print "<p>",&text('exec_fileout', "<tt>$in{'file'}</tt>"),"<p>\n";
	}

print "<pre>";
&additional_log('exec', undef, "$config{'mysql'} $authstr -t $in{'db'} <$file");
open(SQL, "$config{'mysql'} $authstr -t $in{'db'} <$file 2>&1 |");
while(<SQL>) {
	print &html_escape($_);
	$got++ if (/\S/);
	}
close(SQL);
print "<i>$text{'exec_noout'}</i>\n" if (!$got);
print "</pre>\n";
&webmin_log("execfile", undef, $in{'db'}, { 'mode' => $in{'mode'},
					    'file' => $in{'file'} });
unlink($file) if ($in{'mode'});

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});

   0707010003285a000081e40000000000000002000000013d1fe2db00000c10000000200000000000000000000000000000001a00000003reloc/mysql/exec_form.cgi #!/usr/local/bin/perl
# exec_form.cgi
# Display a form for executing SQL in some database

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&header($text{'exec_title'}, "", "exec_form");
print "<hr>\n";

open(OLD, "$module_config_directory/commands.$in{'db'}");
while(<OLD>) {
	s/\r|\n//g;
	push(@old, $_);
	}
close(OLD);

print "<p>",&text('exec_header', "<tt>$in{'db'}</tt>"),"<p>\n";
print "<form action=exec.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<textarea name=cmd rows=10 cols=70></textarea><br>\n";
if (@old) {
	print "$text{'exec_old'} <select name=old>\n";
	foreach $o (@old) {
		printf "<option value=\"%s\">%s\n", $o,
			length($o) > 80 ? substr($o, 0, 80).".." : $o;
		}
	print "</select>\n";
	print "<input type=submit name=clear value='$text{'exec_clear'}'><br>\n";
	}
print "<input type=submit value='$text{'exec_exec'}'></form>\n";

print "<hr>\n";
print "<p>",&text('exec_header2', "<tt>$in{'db'}</tt>"),"<p>\n";
print "<form action=exec_file.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=db value='$in{'db'}'> <table>\n";
print "<tr> <td><input type=radio name=mode value=0 checked> ",
      "$text{'exec_file'}</td> <td><input name=file size=40> ",
      &file_chooser_button("file", 0, 1),"</td> </tr>\n";
print "<tr> <td><input type=radio name=mode value=1> ",
      "$text{'exec_upload'}</td> ",
      "<td><input name=upload type=file></td> </tr>\n";
print "</table> <input type=submit value='$text{'exec_exec'}'></form>\n";

print "<hr>\n";
print "<p>",&text('exec_header3', "<tt>$in{'db'}</tt>"),"<p>",
      $text{'exec_header4'},"<p>\n";
print "<form action=import.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=db value='$in{'db'}'> <table>\n";

print "<tr> <td><input type=radio name=mode value=0 checked> ",
      "$text{'exec_file'}</td> <td><input name=file size=40> ",
      &file_chooser_button("file", 0, 2),"</td> </tr>\n";

print "<tr> <td><input type=radio name=mode value=1> ",
      "$text{'exec_upload'}</td> ",
      "<td><input name=upload type=file></td> </tr>\n";

print "<tr> <td><b>$text{'exec_import'}</b></td>\n";
print "<td><select name=table>\n";
print "<option value='' selected>$text{'exec_filename'}\n";
foreach $t (&list_tables($in{'db'})) {
	print "<option>$t\n";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'exec_delete'}</b></td>\n";
print "<td><input type=radio name=delete value=1> $text{'yes'}\n";
print "<input type=radio name=delete value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'exec_ignore'}</b></td>\n";
print "<td><input type=radio name=ignore value=1> $text{'yes'}\n";
print "<input type=radio name=ignore value=0 checked> $text{'no'}</td> </tr>\n";

print "</table> <input type=submit value='$text{'exec_exec'}'></form>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});


07070100035690000041ed0000000000000001000000023d1ffabd00000000000000200000000000000000000000000000001100000003reloc/mysql/help  07070100035691000081a40000000000000002000000013d1fe2db00000275000000200000000000000000000000000000002500000003reloc/mysql/help/backup_form.ca.html  <header>Volcat de la Base de Dades</header>

Aquest formulari permet fer un volcat de tota una base de dades 
(o de les files seleccionades) a un fitxer. Selecciona el fitxer on
vols volcar la base de dades i les altres opcions, llavors fes clic
sobre el botó <tt>Volca BD</tt> per iniciar el procés de còpia.
S'escriuran al fitxer les instruccions SQL que, en executar-se,
recrearan les taules de la base de dades i els seus continguts.
Per tal de restaurar la base de dades, es pot executar aquest fitxer
es pot executar fent servir el programa de la línia d'ordres
<tt>mysql</tt> o bé la pàgina d'Execució de SQL.  <p>

<hr>

   07070100035692000081a40000000000000002000000013d1fe2db000001f8000000200000000000000000000000000000002200000003reloc/mysql/help/backup_form.html <header>Backup Database</header>

This form allows you to backup an entire database (or selected rows) to
a file. Select the file write the backup to and the other options, then click
the <tt>Backup Now</tt> button to start the backup process.  Written to the
file will be SQL statements that when executed will re-create the database
tables and their contents. This file can be executed using the command-line
<tt>mysql</tt> program or the Execute SQL page, in order to restore the
database. <p>

<hr>

07070100035693000081a40000000000000002000000013d1fe2db000001c4000000200000000000000000000000000000001f00000003reloc/mysql/help/cpriv.ca.html    Es troben disponibles els següents paràmetres:
<dl>
<dt><b>Columna</b>
<dd>El camp al qual cal aplicar aquests permisos. <p>
<dt><b>Usuari</b>
<dd>L'usuari a qui es concedeixen els permisos. Aquest usuari ja ha d'existir a la taula de <tt>Permisos d'Usuari</tt>. <p>
<dt><b>Hosts</b>
<dd>Els hosts des dels quals l'usuari pot accedir aquesta taula. <p>
<dt><b>Permisos</b>
<dd>Els permisos concedits a l'usuari sobre la columna de la taula. <p>
</dl>

07070100035694000081a40000000000000002000000013d1fe2db000001e9000000200000000000000000000000000000001f00000003reloc/mysql/help/cpriv.es.html    Los siguiente parámetros están disponibles:
<dl>
<dt><b>Campo</b>
<dd>El campo al que se deberían aplicar esto permisos. <p>
<dt><b>Nombre de usuario</b>
<dd>El usuario al que se condecen los permisos. Este usuario ya debe de
    existir en la tabla de <tt>Permisos de Usuario</tt>. <p>
<dt><b>Máquinas</b>
<dd>Las máquinas desde las que el usuario puede acceder a la tabla. <p>
<dt><b>Permisos</b>
<dd>Los permisos concedidos al usuario en la columna seleccionada de la tabla. <p>
</dl>

   07070100035695000081a40000000000000002000000013d1fe2db000001c0000000200000000000000000000000000000001c00000003reloc/mysql/help/cpriv.html   The following parameters are available :
<dl>
<dt><b>Field</b>
<dd>The field these permissions should apply to. <p>
<dt><b>Username</b>
<dd>The user to whom the permissions are granted. This user must already
    exist in the <tt>User Permissions</tt> table. <p>
<dt><b>Hosts</b>
<dd>The hosts that the user can access the table from. <p>
<dt><b>Permissions</b>
<dd>The permissions granted to the user on the chosen column of the table. <p>
</dl>

07070100035696000081a40000000000000002000000013d1fe2db0000018d000000200000000000000000000000000000001f00000003reloc/mysql/help/cpriv.sv.html    Följande parametrar kan anges:
<dl>
<dt><b>Fält</b>
<dd>Fältet som rättigheterna hör till.
<dt><b>Användarnamn</b>
<dd>Den användare som får rättigheterna. Användaren måste finnas i tabellen
    <tt>Användarrättigheter</tt>
<dt><b>Datorer</b>
<dd>Datorer som användaren får komma åt tabellen från.
<dt><b>Rättigheter</b>
<dd>De rättigheter som användaren har för angiven kolumn i tabellen.
</dl>

   07070100035697000081a40000000000000002000000013d1fe2db00000123000000200000000000000000000000000000002700000003reloc/mysql/help/cpriv.zh_TW.Big5.html    ±z¥i¥H¨Ï¥Î¤U¦Cªº°Ñ¼Æ:
<dl>
<dt><b>ÄæÄæ¦ì</b>
<dd>³o­ÓÅv­­­n®M¥ÎªºÄæ¦ì. <p>
<dt><b>¨Ï¥ÎªÌ¦WºÙ</b>
<dd>­n±ÂÅvªº¨Ï¥ÎªÌ¦WºÙ. ³o­Ó¨Ï¥ÎªÌ¥²¶·¤w¸g¦s¦b©ó<tt>¨Ï¥ÎªÌÅv­­</tt>¸ê®Æªí¤¤. <p>
<dt><b>¥D¾÷</b>
<dd>¨Ï¥ÎªÌ¥i¥H¦s¨ú¸ê®Æªíªº¨Ó·½¥D¾÷. <p>
<dt><b>Åv­­</b>
<dd>±ÂÅvµ¹¿ï¾Üªº¨Ï¥ÎªÌªºÅv­­. <p>
</dl>

 07070100035698000081a40000000000000002000000013d1fe2db00000255000000200000000000000000000000000000002000000003reloc/mysql/help/cprivs.ca.html   <header>Permisos de Columna</header>

Aquest camp permet concedir als usuaris accessos addicionals a columnes
específiques de taules. Els permisos concedits no poden ser superiors a
aquells especificats als <tt>Permisos de Taules</tt> per a la taula on
està continguda la columna. <p>

Per afegir nous permisos de columna, primer has de seleccionar la base
de dades i la taula on està continguda la columna fent servir el formulari
del peu de la pàgina. Llavors, fes clic sobre el botó <tt>Afegeix permisos
nous</tt> per treure un formulari per seleccionar la columna i altres
detalls. <p>

<hr>

   07070100035699000081a40000000000000002000000013d1fe2db00000266000000200000000000000000000000000000002000000003reloc/mysql/help/cprivs.es.html   <header>Permisos de Campo</header>

Este campo te permite conceder a usuarios acceso adicional a campos
específicos de las tablas. Los permisos concedidos no pueden ser mayores que
los especificados en los <tt>Permisos de Tabla</tt> bajo
<tt>Permisos de Campo</tt> para la tabla donde esté el campo. <p>

Para añadir nuevos permisos de campo debes de seleccionar primero la
base de datos y la tabla donde está el campo mediante el formulario del
final de la página. Luego haz click en el botón <tt>Añadir nuevos permisos</tt>
para mostrar un formulario que permite seleccionar el campo y otros detalles.<p>

<hr>

  070701000356a3000081a40000000000000002000000013d1fe2db00000223000000200000000000000000000000000000001d00000003reloc/mysql/help/cprivs.html  <header>Field Permissions</header>

This field allows you to grant additional access to specific fields in tables
by users. The permissions granted cannot be greater than those specified in
the <tt>Table Permissions</tt> under <tt>Field permissions</tt> for the table
the field is in. <p>

To add new field permissions, you must first select the database and
table the field is in using the form at the bottom of the page. Then click
the <tt>Add new permissions</tt> button to bring up a form for selecting
the field and other details. <p>

<hr>

 070701000356a4000081a40000000000000002000000013d1fe2db00000204000000200000000000000000000000000000002000000003reloc/mysql/help/cprivs.sv.html   <header>Fälträttigheter</header>

Här kan du reglera användarnas åtkomsträttigheter till specifika fält i
tabellen. Rättigheterna här kan inte omfatta mer än de som anges i
<tt>Tabellrättigheter</tt> under <tt>Fälträttigheter</tt> för tabellen som
fältet finns i.

<p>Man lägger till fälträttigheter genom att först ange den databas och tabell
där fältet finns i formuläret längs ned på sidan. Tryck sedan på knappen
<tt>Lägg till rättigheter</tt> så visas ett formulär där fält och uppgifter
om detta anges.

<hr>

070701000356a5000081a40000000000000002000000013d1fe2db00000141000000200000000000000000000000000000002800000003reloc/mysql/help/cprivs.zh_TW.Big5.html   <header>Äæ¦ìÅv­­</header>

³o­ÓÄæ¦ì¥i¥HÅý±z±ÂÅv¨Ï¥ÎªÌÃB¥~ªº¦s¨ú¨ì¸ê®Æªí¤¤«ü©wªºÄæ¦ì. ³o¨ÇÅv­­±ÂÅv¤£¯à¤ñ¦b<tt>Äæ¦ìÅv­­</tt>¤U­±<tt>¸ê®ÆªíÅv­­</tt>¤¤©Ò³]©wªºÁÙ¤j.<p>

­n¼W¥[·sªºÄæ¦ìÅv­­, ±z¥²¶·­n¥ý¨Ï¥Î¥»­¶©³ºÝªºªí³æ¿ï¾Ü¸ê®Æ®w»PÄæ¦ì, µM«áÂI¿ï<tt>¼W¥[·sÅv­­¨ì¸ê®Æ®w»P¸ê®Æªí</tt>«ö¶s¥H±o¨ì¿ï¾ÜÄæ¦ì©M¨ä¥L²Ó¸`ªºªí³æ. <p>

<hr>

   070701000356a6000081a40000000000000002000000013d1fe2db00000120000000200000000000000000000000000000002600000003reloc/mysql/help/create_cpriv.ca.html <header>Creació de Permisos de Columna</header>

Aquesta pàgina permet la creació d'un nou conjunt de permisos columna-usuari.
<include tpriv>

Després d'introduir els permisos nous de la columna, fes clic a 
<tt>Desa</tt> per tal que els permisos siguin creats immediatament. <p>

<hr>

070701000356a7000081a40000000000000002000000013d1fe2db00000115000000200000000000000000000000000000002600000003reloc/mysql/help/create_cpriv.es.html <header>Permisos para Crear Campo</header>

Esta página te permite crear un nuevo conjunto de permisos del tipo
campo-usuario.
<include tpriv.es>

Tras digitar los permisos del nuevo campo, haz click en <tt>Salvar</tt>
para tener creados inmediátamente los permisos. <p>
<hr>

   070701000356a8000081a40000000000000002000000013d1fe2db000000f8000000200000000000000000000000000000002300000003reloc/mysql/help/create_cpriv.html    <header>Create Field Permissions</header>

This page allows you to create a new set of field-user permissions.
<include tpriv>

After entering the new field permissions, click on <tt>Save</tt> to
have the permissions immediately created. <p>
<hr>

070701000356a9000081a40000000000000002000000013d1fe2db000000eb000000200000000000000000000000000000002600000003reloc/mysql/help/create_cpriv.sv.html <header>Lägg till fälträttigheter</header>

På denna sida kan du lägga till användarrättigheter för fält.
<include tpriv>

När du har skrivit in de nya rättigheterna trycker du på <tt>Spara</tt> för
att rättigheterna ska skapas.
<hr>

 070701000356ab000081a40000000000000002000000013d1fe2db0000009f000000200000000000000000000000000000002e00000003reloc/mysql/help/create_cpriv.zh_TW.Big5.html <header>«Ø¥ßÄæ¦ìÅv­­</header>

³o¤@­¶¥i¥HÅý±z«Ø¥ß¤@­Ó·sªºÄæ¦ì¨Ï¥ÎªÌÅv­­.
<include tpriv>

¦b¿é¤J·sªºÄæ¦ìÅv­­«á, «ö¤U<tt>Àx¦s</tt>¥H¥ß¨è«Ø¥ß·sªºÅv­­. <p>
<hr>

 070701000356ca000081a40000000000000002000000013d1fe2dc000002c0000000200000000000000000000000000000001c00000003reloc/mysql/help/db.ca.html   Es troben disponibles els següents paràmetres:
<dl>
<dt><b>Bases de Dades</b>
<dd>Les bases de dades a les quals es permet l'accés, Això pot ser una
    expressió regular SQL, si s'escau.  <p>
<dt><b>Usuari</b>
<dd>L'usuari que té permès l'accés a les bases de dades de sobre.
    Aquest usuari ja ha d'existir a la taula de <tt>Permisos d'Usuari</tt>. <p>
<dt><b>Hosts</b>
<dd>Els hosts des dels quals l'usuari pot accedir aquesta taula. 
    Si es tria l'opció <tt>Dels permisos del host</tt>, llavors MySQL
    utilitzarà els <tt>Permisos del Host</tt> per controlar l'accés.  <p>
<dt><b>Permisos</b>
<dd>Les operacions MySQL que l'usuari té permeses de fer sobre les 
    bases de dades.  <p>
</dl>

070701000356ac000081a40000000000000002000000013d1fe2db0000012f000000200000000000000000000000000000002300000003reloc/mysql/help/create_db.ca.html    <header>Creació de Permisos de Base de Dades</header>

Aquesta pàgina permet la creació d'un nou conjunt de permisos
base de dades-usuari.
<include db>

Després d'introduir els permisos nous de la base de dades, fes clic a 
<tt>Desa</tt> per tal que els permisos siguin creats immediatament. <p>

<hr>

 070701000356ad000081a40000000000000002000000013d1fe2db00000131000000200000000000000000000000000000002300000003reloc/mysql/help/create_db.es.html    <header>Permisos para Crear Base de Datos</header>

Esta página te permite crear un nuevo conjunto de permisos del tipo
base_de_datos-usuario.
<include db.es>

Tras digitar los permisos de la nueva base de datos, haz click en
<tt>Salvar</tt> para hacer que los permisos se creen inmediátamente. <p>
<hr>

   070701000356ae000081a40000000000000002000000013d1fe2db000000fe000000200000000000000000000000000000002000000003reloc/mysql/help/create_db.html   <header>Create Database Permissions</header>

This page allows you to create a new set of database-user permissions.
<include db>

After entering the new database permissions, click on <tt>Save</tt> to
have the permissions immediately created. <p>
<hr>

  070701000356af000081a40000000000000002000000013d1fe2db000000f0000000200000000000000000000000000000002300000003reloc/mysql/help/create_db.sv.html    <header>Lägg till databasrättigheter</header>

På denna sida kan du lägga till användarrättigheter för databasen.
<include db>

När du har skrivit in de nya rättigheterna trycker du på <tt>Spara</tt> för
att rättigheterna ska skapas.
<hr>

070701000356b0000081a40000000000000002000000013d1fe2db000000a0000000200000000000000000000000000000002b00000003reloc/mysql/help/create_db.zh_TW.Big5.html    <header>«Ø¥ß¸ê®Æ®wÅv­­</header>

³o¤@­¶¥i¥HÅý±z«Ø¥ß·sªº¸ê®Æ®w¨Ï¥ÎªÌÅv­­.
<include db>

¦b¿é¤J¤F·sªº¸ê®Æ®wÅv­­«á, «ö¤U<tt>Àx¦s</tt>¥H¥ß¨è«Ø¥ß·sªºÅv­­. <p>
<hr>

070701000356b1000081a40000000000000002000000013d1fe2db00000119000000200000000000000000000000000000002600000003reloc/mysql/help/create_field.ca.html <header>Addició de Columna</header>

En aquesta pàgina, pots afegir una columna nova a la taula.
Els paràmetres editables de la nova columna són:
<include field>

En acabat, fes clic sobre el botó <tt>Desa</tt> per actualitzar l'estructura
de la taula amb la nova columna.

<hr>


   070701000356b2000081a40000000000000002000000013d1fe2db00000115000000200000000000000000000000000000002600000003reloc/mysql/help/create_field.es.html <header>Añadir Campo</header>

En esta página puedes añadir un nuevo campo a la tabla. Los parámetros
modificables para el nuevo campo son:
<include field.es>

Al termina, haz click en el botón <tt>Salvar</tt> para actualizar la
estructura de la tabla con el nuevo campo.
<hr>
   070701000356b3000081a40000000000000002000000013d1fe2db000000f4000000200000000000000000000000000000002300000003reloc/mysql/help/create_field.html    <header>Add Field</header>

On this page you can add a new field to the table. The editable parameters
for the new field are :
<include field>

When done, click on the <tt>Save</tt> button to update the table structure
with the new field.
<hr>
070701000356b4000081a40000000000000002000000013d1fe2db000000f5000000200000000000000000000000000000002600000003reloc/mysql/help/create_field.sv.html <header>Lägg till fält</header>

På denna sida kan du lägga till fält i tabellen. De parametrar du kan ändra
på för det nya fältet är:
<include field>

När du är klar trycker du på <tt>Spara</tt>, så uppdateras tabellen med
det nya fältet.
<hr>
   070701000356b5000081a40000000000000002000000013d1fe2db000000aa000000200000000000000000000000000000002e00000003reloc/mysql/help/create_field.zh_TW.Big5.html <header>¼W¥[Äæ¦ì</header>

¦b³o¤@­¶±z¥i¥H¼W¥[¤@­Ó·sªºÄæ¦ì¨ì¸ê®Æªí¤¤. ¹ï·sÄæ¦ì¥i¥H½s¿èªº°Ñ¼Æ¬°:
<include field>

§¹¦¨«á, «ö¤U<tt>Àx¦s</tt>¥H¨Ï¥Î·sÄæ¦ì§ó·s¸ê®Æªíµ²ºc.
<hr>
  070701000356b6000081a40000000000000002000000013d1fe2db0000011a000000200000000000000000000000000000002600000003reloc/mysql/help/create_tpriv.ca.html <header>Creació de Permisos de Taula</header>

Aquesta pàgina permet la creació d'un nou conjunt de permisos taula-usuari.
<include tpriv>

Després d'introduir els permisos nous de la taula, fes clic a 
<tt>Desa</tt> per tal que els permisos siguin creats immediatament. <p>

<hr>

  070701000356bc000081a40000000000000002000000013d1fe2db0000011d000000200000000000000000000000000000002600000003reloc/mysql/help/create_tpriv.es.html <header>Permisos para Crear Tabla</header>

Esta página te permite crear un nuevo conjunto de permisos del tipo
tabla-usuario.
<include tpriv.es>

Tras digitar los nuevos permisos de la tabla, haz click en <tt>Salvar</tt>
para hacer que los permisos se creen inmediátamente. <p>
<hr>

   070701000356bd000081a40000000000000002000000013d1fe2db000000f8000000200000000000000000000000000000002300000003reloc/mysql/help/create_tpriv.html    <header>Create Table Permissions</header>

This page allows you to create a new set of table-user permissions.
<include tpriv>

After entering the new table permissions, click on <tt>Save</tt> to
have the permissions immediately created. <p>
<hr>

070701000356be000081a40000000000000002000000013d1fe2db000000ee000000200000000000000000000000000000002600000003reloc/mysql/help/create_tpriv.sv.html <header>Lägg till tabellrättigheter</header>

På denna sida kan du lägga till användarrättigheter för tabellen.
<include tpriv>

När du har angivit de nya rättigheterna trycker du på <tt>Spara</tt> för
att rättigheterna ska skapas.
<hr>

  070701000356bf000081a40000000000000002000000013d1fe2db0000009f000000200000000000000000000000000000002e00000003reloc/mysql/help/create_tpriv.zh_TW.Big5.html <header>«Ø¥ß¸ê®ÆªíÅv­­</header>

³o¤@­¶¥i¥HÅý±z«Ø¥ß·sªº¸ê®Æªí¨Ï¥ÎªÌÅv­­.
<include tpriv>

¿é¤J·sªº¸ê®ÆªíÅv­­«á, «ö¤U<tt>Àx¦s</tt>¥H¥ß¨è«Ø¥ß·sªºÅv­­. <p>
<hr>

 070701000356c0000081a40000000000000002000000013d1fe2db000000f7000000200000000000000000000000000000002500000003reloc/mysql/help/create_user.ca.html  <header>Creació d'Usuari</header>

Aquest formulari permet crear un nou usuari MySQL.
<include user>

Després d'introduir els detalls del nou usuari, fes clic sobre el botó
<tt>Desa</tt> per tal que l'usuari sigui creat immediatament.  <p>

<hr>

 070701000356c1000081a40000000000000002000000013d1fe2db000000fb000000200000000000000000000000000000002500000003reloc/mysql/help/create_user.es.html  <header>Crear Usuario</header>

Este formulario te permite crear un nuevo usuario de MySQL.
<include user.es>

Tras digitar los detalles del nuevo usuario, haz click en <tt>Salvar</tt>
para hacer que el usuario quede inmediátamente creado. <p>

<hr>

 070701000356c7000081a40000000000000002000000013d1fe2db000000d2000000200000000000000000000000000000002200000003reloc/mysql/help/create_user.html <header>Create User</header>

This form allows you to create a new MySQL user.
<include user>
After entering the details of the new user, click on <tt>Save</tt> to
have the user immediately created. <p>

<hr>

  070701000356c8000081a40000000000000002000000013d1fe2db000000dd000000200000000000000000000000000000002500000003reloc/mysql/help/create_user.sv.html  <header>Lägg till användare</header>

I detta formulär kan du lägga till MySQL-användare.
<include user>
När du har angivit uppgifter om den nya användaren trycker du på <tt>Spara</tt>
så skapas användaren direkt.

<hr>

   070701000356c9000081a40000000000000002000000013d1fe2db000000a2000000200000000000000000000000000000002d00000003reloc/mysql/help/create_user.zh_TW.Big5.html  <header>«Ø¥ß¨Ï¥ÎªÌ</header>

³o­Óªí³æ¥i¥HÅý±z«Ø¥ß¤@­Ó·sªº MySQL ¨Ï¥ÎªÌ.
<include user>

¦b¿é¤J¤F¨Ï¥ÎªÌªº¸Ô²Ó¸ê®Æ«á, «ö¤U<tt>Àx¦s</tt>¥H¥ß¨è«Ø¥ß·sªº¨Ï¥ÎªÌ.

<hr>

  070701000356cb000081a40000000000000002000000013d1fe2db000002ed000000200000000000000000000000000000001c00000003reloc/mysql/help/db.es.html   Están disponibles los siguientes parámetros:
<dl>
<dt><b>Bases de Datos</b>
<dd>Las bases de datos a las que se autoriza el acceso. Puede ser una
    expresión SQL si se desea. <p>
<dt><b>Nombre de usuario</b>
<dd>El usuario que tiene concedido el acceso a la tabla de arriba. Este
    usuario ya debe de existir en la tabla de <tt>Permisos de Usuario</tt>.<p>
<dt><b>Máquinas</b>
<dd>Las máquinas a las que el usuario puede acceder a su base de datos. Si
    la opción <tt>Permisos desde máquina</tt> es seleccionada, entonces MySQL
    debería de usar los <tt>Permisos de Máquina</tt> para controlar el
    acceso. <p>
<dt><b>Permisos</b>
<dd>Las operaciones de MySQL a que el usuario está autorizado a realizar en
    la base de datos.<p>
</dl>

   070701000356cc000081a40000000000000002000000013d1fe2db00000274000000200000000000000000000000000000001900000003reloc/mysql/help/db.html  The following parameters are available :
<dl>
<dt><b>Databases</b>
<dd>The databases to which access is allowed. This can be an SQL regexp
    if desired. <p>
<dt><b>Username</b>
<dd>The user allowed to access the above database. This user must already
    exist in the <tt>User Permissions</tt> table. <p>
<dt><b>Hosts</b>
<dd>The hosts that the user can access the database from. If the option
    <tt>From host permissions</tt> is chosen, then MySQL should use the
    <tt>Host Permissions</tt> to control access. <p>
<dt><b>Permissions</b>
<dd>The MySQL operations the user is allowed to perform on the database. <p>
</dl>

070701000356cd000081a40000000000000002000000013d1fe2db0000026c000000200000000000000000000000000000001c00000003reloc/mysql/help/db.sv.html   Följande inställningar kan göras:
<dl>
<dt><b>Databaser</b>
<dd>De databaser som ska vara tillgängliga. Om du vill kan du skriva in
    ett reguljärt SQL-uttryck.
<dt><b>Användarnamn</b>
<dd>Den användare som får komma åt databaser(erna) ovan. Användaren måste
    finnas i tabellen <tt>Användarrättigheter</tt>.
<dt><b>Datorer</b>
<dd>Datorer som användaren får komma åt databasen från. Om du har valt
    <tt>Rättigheter från dator</tt> kommer MySQL att använda
    <tt>Datorrättigheter</tt> för att kontrollera åtkomsten.
<dt><b>Rättigheter</b>
<dd>De MySQL-operationer som användaren får utföra på databasen.
</dl>

070701000356ce000081a40000000000000002000000013d1fe2db000001b3000000200000000000000000000000000000002400000003reloc/mysql/help/db.zh_TW.Big5.html   ±z¥i¥H¨Ï¥Î¤U¦Cªº°Ñ¼Æ:

<dl>
<dt><b>¸ê®Æ®w</b>
<dd>­n¤¹³\¦s¨úªº¸ê®Æ®w. ¦pªG»Ý­nªº¸Ü, ³o¥i¥H¬O¤@­Ó SQL ¥¿³Wªí¥Ü¦¡. <p>
<dt><b>¨Ï¥ÎªÌ¦WºÙ</b>
<dd>¤¹³\¦s¨ú¤W¦C¸ê®Æ®wªº¨Ï¥ÎªÌ. ³o­Ó¨Ï¥ÎªÌ¥²¶·¤w¸g¦s¦b©ó<tt>¨Ï¥ÎªÌÅv­­</tt>¸ê®Æªí¤¤. <p>
<dt><b>¥D¾÷</b>
<dd>¨Ï¥ÎªÌ¥i¥H¦s¨ú¸ê®Æªíªº¨Ó·½¥D¾÷. ¦pªG¿ï¾Ü¤F¿ï¶µ<tt>±q¥D¾÷Åv­­</tt>, «h MySQL À³¸Ó¥i¥H¥Î<tt>¥D¾÷Åv­­</tt>±±¨î¦s¨ú. <p>
<dt><b>Åv­­</b>
<dd>¨Ï¥ÎªÌ¤¹³\¦b¸ê®Æ®w¤W¨Ï¥Îªº MySQL ¾Þ§@. <p>
</dl>

 070701000356cf000081a40000000000000002000000013d1fe2dc0000021b000000200000000000000000000000000000001d00000003reloc/mysql/help/dbs.ca.html  <header>Permisos de la Base de Dades</header>

Aquesta pàgina permet definir quins usuari de MySQL tindran accés a
quines bases de dades i des de quins hosts. Tots els usuaris han
d'existir ja a la taula de <tt>Permisos d'Usuaris</tt>, tot i que 
aquí se'ls pot concedir permisos addicionals.  <p>

Els usuaris no poden accedir des de cap altre host que no siguin els
especificats als <tt>Permisos d'Usuaris</tt>. No obstant, pots 
concedir permisos diferents per a diferents hosts creant múltiples
files per al mateix usuari.  <p>

<hr>

 070701000356d0000081a40000000000000002000000013d1fe2db00000227000000200000000000000000000000000000001d00000003reloc/mysql/help/dbs.es.html  <header>Permisos de Base de Datos</header>

Esta página te permite definir qué usuarios de MySQL tendrán acceso a
qué base de datos de qué máquinas. Cada usuario ya debe de existir en la
tabla de <tt>Permisos de Usuario</tt>, aunque se les pude conceder permisos
adicionales aquí.<p>

Los usuarios no pueden hacer login desde máquina alguna que no sean las
especificadas en <tt>Permisos de Usuario</tt>. Sin embargo, puedes conceder
permisos diferentes para diferentes máquinas mediante la creación de
múltiples filas para el mismo usuario.<p>

<hr>

 070701000356d1000081a40000000000000002000000013d1fe2db000001e6000000200000000000000000000000000000001a00000003reloc/mysql/help/dbs.html <header>Database Permissions</header>

This page allows you to define which MySQL users will have access to
which databases from which hosts. Every user must already exist in the
<tt>User Permissions</tt> table, though they can be granted additional
permissions here. <p>

Users may not login from any hosts other than those specified in
<tt>User Permissions</tt>. However, you may grant different permissions
for different hosts by creating multiple rows for the same user. <p>

<hr>

  070701000356d2000081a40000000000000002000000013d1fe2db000001d5000000200000000000000000000000000000001d00000003reloc/mysql/help/dbs.sv.html  <header>Databasrättigheter</header>

På denna sida kan man ange de MySQL-användare som får komma åt vissa
databaser från specificerade datorer. Användarna måste finnas i tabellen
<tt>Användarrättigheter</tt>, men de kan få ytterligare rättigheter här.

<p>Användare får inte logga in från någon annan dator än de som anges i
<tt>Användarrättigheter</tt>. Man kan ge samma användare olika rättigheter
från olika datorer genom att göra flera rader för användaren.

<hr>

   070701000356d3000081a40000000000000002000000013d1fe2db00000165000000200000000000000000000000000000002500000003reloc/mysql/help/dbs.zh_TW.Big5.html  <header>¸ê®Æ®wÅv­­</header>

³o¤@­¶¥i¥HÅý±z©w¸q­þ¨Ç MySQL ¨Ï¥ÎªÌ¥i¥H±q­þ¨Ç¥D¾÷¦s¨ú­þ¨Ç¸ê®Æ®w. ¨C­Ó¨Ï¥ÎªÌ³£¥²¶·¤w¸g¦s¦b©ó<tt>¨Ï¥ÎªÌÅv­­<tt>¸ê®Æªí, ¨Ã¥B¥¦­Ì¥i¥H¦b³oÃä±o¨ì§ó¦hªº±ÂÅv. <p>

¨Ï¥ÎªÌ¤£¯à±q«ü©w©ó<tt>¨Ï¥ÎªÌÅv­­</tt>¤§¥~ªº¥D¾÷µn¤J¸ê®Æ®w. µM¦Ó, ±z¥i¥H¸g¥Ñ¦b³o¨à¹ï¦P¤@­Ó¨Ï¥ÎªÌ«Ø¥ß¦h­Ó¤£¦P¥D¾÷ªº¤£¦PÅv­­, ¨Ï±o¨Ï¥ÎªÌ¨Ó¦Û¤£¦P¥D¾÷®É¦³¤£¦PªºÅv­­. <p>

<hr>

   070701000356d4000081a40000000000000002000000013d1fe2dc00000159000000200000000000000000000000000000002400000003reloc/mysql/help/edit_cpriv.ca.html   <header>Edició de Permisos de Columna</header>

Aquesta pàgina permet editar un conjunt de permisos taula-usuari existent.
<include cpriv>

Després d'editar els permisos, fes clic sobre el botó <tt>Desa</tt>
per tal que els canvis tinguin efecte immediatament. També pots fer
clic sobre <tt>Suprimeix</tt> per eliminar els permisos.  <p>

<hr>

   070701000356d5000081a40000000000000002000000013d1fe2db00000157000000200000000000000000000000000000002400000003reloc/mysql/help/edit_cpriv.es.html   <header>Permisos para Editar Campo</header>

Esta página te permite editar un conjunto existente de permisos del tipo
columna-usuario.
<include cpriv.es>

Tras editar, haz click en el botón <tt>Salvar</tt> para que los cambios
tengan efecto inmediato. También puedes hacer click en <tt>Borrar</tt> para
borrar los permisos de MySQL.<p>

<hr>

 070701000356d6000081a40000000000000002000000013d1fe2db00000135000000200000000000000000000000000000002100000003reloc/mysql/help/edit_cpriv.html  <header>Edit Field Permissions</header>

This page allows you to edit an existing set of column-user permissions.
<include cpriv>

After editing, click the <tt>Save</tt> button to have the changes take
effect immediately. You may also click on <tt>Delete</tt> to delete the
permissions from MySQL. <p>

<hr>

   070701000356d7000081a40000000000000002000000013d1fe2db00000128000000200000000000000000000000000000002400000003reloc/mysql/help/edit_cpriv.sv.html   <header>Ändra fälträttigheter</header>

På denna sida kan du ändra befintliga rättigheter per kolumn för användare.
<include cpriv>

När du är klar trycker du på <tt>Spara</tt> så att ändringarna genomförs.
Du kan också trycka på <tt>Ta bort</tt> för att ta bort rättigheterna från
MySQL.

<hr>

070701000356d8000081a40000000000000002000000013d1fe2db000000d8000000200000000000000000000000000000002c00000003reloc/mysql/help/edit_cpriv.zh_TW.Big5.html   <header>½s¿èÄæ¦ìÅv­­</header>

³o¤@­¶¥i¥HÅý±z½s¿è¥ô¦ó²{¦sªºÄæ¦ì¨Ï¥ÎªÌÅv­­.
<include cpriv>

¦b½s¿è¤§«á, «ö¤U<tt>Àx¦s</tt>«ö¶s¥H¨Ï±oÅÜ§ó¥ß¨è¥Í®Ä. ±z¤]¥i¥H«ö¤U<tt>§R°£</tt>¥H±q MySQL ¤¤§R°£¥ô¦ó¤@­ÓÅv­­³]©w. <p>

<hr>

070701000356d9000081a40000000000000002000000013d1fe2dc00000166000000200000000000000000000000000000002100000003reloc/mysql/help/edit_db.ca.html  <header>Edició de Permisos de Bases de Dades</header>

Aquesta pàgina permet editar un conjunt existent de permisos
base de dades-usuari.
<include db>

Després d'editar els permisos, fes clic sobre el botó <tt>Desa</tt>
per tal que els canvis tinguin efecte immediatament. També pots fer
clic sobre <tt>Suprimeix</tt> per eliminar els permisos.  <p>

<hr>


  070701000356da000081a40000000000000002000000013d1fe2db00000167000000200000000000000000000000000000002100000003reloc/mysql/help/edit_db.es.html  <header>Permisos de Editar Base de Datos</header>

Esta página te permite editar un conjunto existente de permisos del tipo
base_de_datos-usuario.
<include db.es>

Tras editarla, haz click en el botón <tt>Salvar</tt> para hacer que los
cambios tengan efecto inmediato. Puedes también hacer click en <tt>Borrar</tt>
para borrar los permisos de MySQL.<p>

<hr>
 070701000356db000081a40000000000000002000000013d1fe2db00000136000000200000000000000000000000000000001e00000003reloc/mysql/help/edit_db.html <header>Edit Database Permissions</header>

This page allows you to edit an existing set of database-user permissions.
<include db>

After editing, click the <tt>Save</tt> button to have the changes take
effect immediately. You may also click on <tt>Delete</tt> to delete the
permissions from MySQL. <p>

<hr>
  070701000356dc000081a40000000000000002000000013d1fe2db00000128000000200000000000000000000000000000002100000003reloc/mysql/help/edit_db.sv.html  <header>Ändra databasrättigheter</header>

På denna sida kan du ändra befintliga rättigheter per databas för användare.
<include db>

När du är klar trycker du på <tt>Spara</tt> så att ändringarna genomförs.
Du kan också trycka på <tt>Ta bort</tt> för att ta bort rättigheterna från
MySQL.

<hr>
070701000356dd000081a40000000000000002000000013d1fe2db000000d8000000200000000000000000000000000000002900000003reloc/mysql/help/edit_db.zh_TW.Big5.html  <header>½s¿è¸ê®Æ®wÅv­­</header>

³o¤@­¶¥i¥HÅý±z½s¿è¥ô¦ó²{¦sªº¸ê®Æ®w¨Ï¥ÎªÌÅv­­.
<include db>

¦b½s¿è¤§«á, «ö¤U<tt>Àx¦s</tt>«ö¶s¥H¨Ï±oÅÜ§ó¥ß¨è¥Í®Ä. ±z¤]¥i¥H«ö¤U<tt>§R°£</tt>¥H±q MySQL ¤¤§R°£¥ô¦ó¤@­ÓÅv­­³]©w. <p>

<hr>
070701000356de000081a40000000000000002000000013d1fe2dc0000020a000000200000000000000000000000000000002400000003reloc/mysql/help/edit_dbase.ca.html   <header>Edició de Base de Dades</header>

A la part superior d'aquesta pàgina hi han unes files d'icones, cadascuna
de les quals representa una taula de la base de dades. Per editar
l'estructura d'una taula, fes clic sobre la icona.  <P>

A la part de sota, hi ha botons per crear una taula nova a la base de 
dades, executar SQL sobre les taules de la base de dades, i destruir
la base de dades i totes les taules que conté. ¡Aquest darrer botó, 
cal fer-lo servir amb molt de compte, ja que és irreversible!  <p>

<hr>

  070701000356df000081a40000000000000002000000013d1fe2db000001fa000000200000000000000000000000000000002400000003reloc/mysql/help/edit_dbase.es.html   <header>Editar Base de Datos</header>

En la parte superior de esta página hay filas de iconos, cada uno
representando una tabla dentro de la base de datos. Para editar la
estructura de una tabla, sólo haz click en uno de los iconos.<p>

Debajo hay botones para crear una nueva tabla dentro de esta base de datos,
ejecutando SQL en las tablas de la base de datos y borrando la base de
datos y todas las tablas de ella. <p>

¡El botón final debería de usarse con cuidado ya que no es reversible!.<p>

<hr>

  070701000356e0000081a40000000000000002000000013d1fe2db000001a7000000200000000000000000000000000000002100000003reloc/mysql/help/edit_dbase.html  <header>Edit Database</header>

At the top of this page are rows of icons, each representing one table in
the database. To edit the structure of a table, just click on one of the
icons. <p>

Below are buttons for creating a new table in this database, executing SQL
on the tables of the database and dropping the database and all tables in it.
The final button should be used with care, as it is not reversible! <p>

<hr>

 070701000356e1000081a40000000000000002000000013d1fe2db000001be000000200000000000000000000000000000002400000003reloc/mysql/help/edit_dbase.sv.html   <header>Ändra databas</header>

Högst upp på sidan finns det en eller flera rader med ikoner, där varje ikon
representerar en tabell i databasen. Klicka på en ikon för att ändra i den
tabellen.

<p>Nedanför finns knappar för att lägga till en tabell i denna databas,
utföra SQL på databasens tabeller och ta bort databasen inklusive alla
tabeller. Var försiktig med användningen av den sistnämnda knappen, eftersom
det inte går att ångra.

<hr>

  070701000356e2000081a40000000000000002000000013d1fe2db00000130000000200000000000000000000000000000002c00000003reloc/mysql/help/edit_dbase.zh_TW.Big5.html   <header>½s¿è¸ê®Æ®w</header>

¦b³o¤@­¶³»ºÝ¦³¼Æ¦Cªº¹Ï¥Ü, ¨C¤@­Ó¹Ï¥Ü¥Nªí¤F¸ê®Æ®w¤¤ªº¸ê®Æªí. «ö¤U¹Ï¥Ü, ±z¥i¥H½s¿è¸ê®Æªíªºµ²ºc. <p>

¦b¤U­±ªº«ö¶s«h¨Ï¥Î¥H¦b³o­Ó¸ê®Æ®w¤¤«Ø¥ß·sªº¸ê®Æªí, ¦b¸ê®Æ®w¤¤¸ê®Æªí°õ¦æ SQL ¬d¸ß»P¥á±ó³o­Ó¸ê®Æ®w»P¨ä¤¤ªº©Ò¦³¸ê®Æ. ¨Ï¥Î¥á±ó¸ê®Æ®w«ö¶s®É­n¯S§O¤p¤ß, ¦]¬°³o¬O¤£¥i´_­ìªº! <p>

<hr>

070701000356e3000081a40000000000000002000000013d1fe2dc000001ab000000200000000000000000000000000000002400000003reloc/mysql/help/edit_field.ca.html   <header>Edició de Columna</header>

En aquesta pàgina pots editar les columnes d'una taula existent.
Tot i que el tipus bàsic de dades de la columna no es pot canviar,
tens permès de modificar la resta de paràmetres de la columna, com ara:
<include field>

En acabat, fes clic sobre el botó <tt>Desa</tt> per actualitzar l'estructura
de la taula, o bé sobre <tt>Suprimeix</tt> per eliminar la columna de 
la taula.  <p>

<hr>

 070701000356ea000081a40000000000000002000000013d1fe2db0000018e000000200000000000000000000000000000002400000003reloc/mysql/help/edit_field.es.html   <header>Editar Campo</header>

En esta página puedes editar un campo de tabla existente. Aqunque el
tipo de datos básico del campo no puede ser cambiado, estás autorizado a
modificar otros parámetros de campo tales como:
<include field.es>

Al terminar, haz click en el botón <tt>Salvar</tt> para actualizar la
estructura de la tabla o en <tt>Borrar</tt> para quitar el campo de la
tabla.<p>
<hr>

  070701000356eb000081a40000000000000002000000013d1fe2db00000166000000200000000000000000000000000000002100000003reloc/mysql/help/edit_field.html  <header>Edit Field</header>

On this page you can edit an existing table field. While the basic data type
of the field cannot be changed, you are allowed to modify other field
parameters such as :
<include field>

When done, click on the <tt>Save</tt> button to update the table structure,
or on <tt>Delete</tt> to remove the field from the table. <p>
<hr>

  070701000356ec000081a40000000000000002000000013d1fe2db0000013c000000200000000000000000000000000000002400000003reloc/mysql/help/edit_field.sv.html   <header>Ändra fält</header>

På denna sida kan du ändra i ett befintligt tabellfält. Datatypen kan inte
ändras, men övriga parametrar går att modifiera:
<include field>

När du är klar trycker du på <tt>Spara</tt> för att uppdatera
tabellstrukturen eller på <tt>Ta bort</tt>, så tas fältet bort från tabellen.
<hr>

070701000356ed000081a40000000000000002000000013d1fe2db00000102000000200000000000000000000000000000002c00000003reloc/mysql/help/edit_field.zh_TW.Big5.html   <header>½s¿èÄæ¦ì</header>

¦b³o¤@­¶±z¥i¥H½s¿è¤@­Ó²{¦sªº¸ê®ÆªíÄæ¬°. ¦ýÄæ¦ì°ò¥»ªº¸ê®ÆÃþ§O¬O¤£¯à³Q§ïÅÜªº, ±z¥i¥H§ïÅÜ¨ä¥LªºÄæ¦ì°Ñ¼Æ, ¨Ò¦p:
<include field>

¦b±z§¹¦¨¤§«á, «ö¤U<tt>Àx¦s</tt>«ö¶s¥H§ó·s¸ê®Æªíµ²ºc, ©ÎªÌ«ö¤U<tt>§R°£</tt>¥H±q¸ê®Æªí¤¤²¾°£Äæ¦ì. <p>
<hr>

  070701000356ee000081a40000000000000002000000013d1fe2dc00000276000000200000000000000000000000000000002400000003reloc/mysql/help/edit_table.ca.html   <header>Edició de Taula</header>

La taula que ocupa la major part d'aquesta pàgina mostra l'estructura de
la taula seleccionada de la base de dades. Cada fila detalla una columna
de la taula, amb el nom, tipus de dades i altres opcions.  <p>

A baix a l'esquerra hi ha un botó per afegir una nova columna a la taula.
Abans de fer-hi clic, has de seleccionar el tipus de columna que vols
afegir - mira la documentació de MySQL per a més informació sobre tipus
de columnes. A la part de baix, també hi han botons per visualitzar les
dades de la taula, i per destruir completament la taula i totes les 
dades que conté.  <p>

<hr>

  070701000356ef000081a40000000000000002000000013d1fe2db0000026f000000200000000000000000000000000000002400000003reloc/mysql/help/edit_table.es.html   <header>Editar Tabla</header>

La tabla que llena la mayor parte de esta página muestra la estructura de
la tabla seleccionada de tu base de datos. Cada fila detalla un campo dentro
de la tabla, mostrando el nombre, tipo de datos y otras opciones.<p>

En la parte inferior izquierda hay un botón para añadir un nuevo campo a
la tabla. Antes de hacer click en él, debes de seleccionar el tipo de campo
a añadir - mira la documentación de MySQL para más información sobre los
tipos de campo. También en la parte inferior hay botones para ver todos
los datos de la tabla y borrar la tabla entera y todos sus datos. <p>

<hr>

 070701000356f0000081a40000000000000002000000013d1fe2db00000225000000200000000000000000000000000000002100000003reloc/mysql/help/edit_table.html  <header>Edit Table</header>

The table that takes up most of this page shows the structure of the selected
table in your database. Each row details one field in the table, with the
name, data type and other options shown. <p>

At the bottom-left is a button for adding a new field to the table. Before
clicking it, you must select the type of field to add - see the MySQL
documentation for more information on field types. Also at the bottom are
buttons for viewing all data in the table and dropping the entire table and
all data in it. <p>

<hr>

   070701000356f1000081a40000000000000002000000013d1fe2db00000214000000200000000000000000000000000000002400000003reloc/mysql/help/edit_table.sv.html   <header>Ändra tabell</header>

Tabellen som täcker större delen av denna sidan visar tabellstrukturen för
den angivna tabellen i databasen. Varje rad innehåller uppgifter om ett
fält i tabellen.

<p>Längst ned till vänster finns en knapp för att lägga till fält i
tabellen. Innan du trycker på den måste du välja fälttyp för det nya fältet.
Se MySQL-dokumentationen för mer information om fälttyper. Längst ned hittar
du också knappar för att inspektera alla data i tabellen och för att ta bort
tabellen inklusive alla data.

<hr>

070701000357d5000081a40000000000000002000000013d1fe2db00000174000000200000000000000000000000000000002c00000003reloc/mysql/help/edit_table.zh_TW.Big5.html   <header>½s¿è¸ê®Æªí</header>

³o­Óªí®æÅã¥Ü±zªº¸ê®Æ®w¤¤©Ò¿ï¾Ü¸ê®Æªíªºµ²ºc. ¨C¤@¦Cªº³£¬O¸ê®Æªí¤¤Äæ¦ìªº¸Ô²Ó¸ê®Æ, ¥]§t¤FÄæ¦ì¦WºÙ, ¸ê®ÆÃþ§O»P¨ä¥Lªº¿ï¶µ. <p>

¦b¥ª¤U¨¤ªº«ö¶s¬O¥Î¥H¦b¸ê®Æªí¤¤«Ø¥ß·sªºÄæ¬°. ¦b«ö¤U¤§«e, ±z¥²¶·­n¿ï¾Ü­n¼W¥[ªºÄæ¦ìÃþ§O - ÀËµø MySQL ªº¤å¥ó¥H¨ú±o§ó¦hªºÄæ¦ìÃþ§O¸ê°T. ¦¹¥~, ©³³¡¨ä¥Lªº«ö¶s¥i¥HÀËµø¸ê®Æªí¤¤ªº¥þ³¡¸ê®Æ, ©Î§R°£¤ìµ^ªº¸ê®Æªí»P¥þ³¡ªº¸ê®Æ <p>

<hr>

070701000357d6000081a40000000000000002000000013d1fe2dc00000157000000200000000000000000000000000000002400000003reloc/mysql/help/edit_tpriv.ca.html   <header>Edició de Permisos de Taula</header>

Aquesta pàgina permet editar un conjunt existent de permisos taula-usuari.
<include tpriv>

Després d'editar els permisos, fes clic sobre el botó <tt>Desa</tt>
per tal que els canvis tinguin efecte immediatament. També pots fer
clic sobre <tt>Suprimeix</tt> per eliminar els permisos.  <p>

<hr>

 070701000357d7000081a40000000000000002000000013d1fe2db00000164000000200000000000000000000000000000002400000003reloc/mysql/help/edit_tpriv.es.html   <header>Permisos para Editar Tabla</header>

Esta página te permite editar un conjunto existente de permisos del tipo
tabla-usuario.
<include tpriv.es>

Tras editarlo, haz click en el botón <tt>Salvar</tt> para hacer que los
campos entren en vigor inmediátamente. Puedes también hacer click en
<tt>Borrar</tt> para borrar los permisos de MySQL. <p>

<hr>

070701000357d8000081a40000000000000002000000013d1fe2db00000134000000200000000000000000000000000000002100000003reloc/mysql/help/edit_tpriv.html  <header>Edit Table Permissions</header>

This page allows you to edit an existing set of table-user permissions.
<include tpriv>

After editing, click the <tt>Save</tt> button to have the changes take
effect immediately. You may also click on <tt>Delete</tt> to delete the
permissions from MySQL. <p>

<hr>

070701000357d9000081a40000000000000002000000013d1fe2db0000012a000000200000000000000000000000000000002400000003reloc/mysql/help/edit_tpriv.sv.html   <header>Ändra tabellrättigheter</header>

På denna sida kan du ändra befintliga rättigheter per tabell för användare.
<include tpriv>

När du är klar trycker du på <tt>Spara</tt> så att ändringarna genomförs.
Du kan också trycka på <tt>Ta bort</tt> för att ta bort rättigheterna från
MySQL.

<hr>

  070701000357da000081a40000000000000002000000013d1fe2db000000dc000000200000000000000000000000000000002c00000003reloc/mysql/help/edit_tpriv.zh_TW.Big5.html   <header>½s¿è¸ê®ÆªíÅv­­</header>

³o¤@­¶¥i¥HÅý±z½s¿è¥ô¦ó²{¦sªº¸ê®Æªí¨Ï¥ÎªÌÅv­­.
<include tpriv>

¦b½s¿è¤§«á, «ö¤U<tt>Àx¦s</tt>«ö¶s¥H¨Ï±oÅÜ§ó¥ß¨è¥Í®Ä. ±z¤]¥i¥H«ö¤U<tt>§R°£</tt>¥H±q MySQL ¤¤§R°£¥ô¦ó¤@­ÓÅv­­³]©w. <p>

<hr>

070701000357db000081a40000000000000002000000013d1fe2dc00000128000000200000000000000000000000000000002300000003reloc/mysql/help/edit_user.ca.html    <header>Edició d'Usuari</header>

Aquest formulari permet editar un usuari de MySQL existent.
<include user>

En acabat, fes clic sobre el botó <tt>Desa</tt> per tal que els canvis
tinguin efecte immediatament. També pots fer clic sobre <tt>Suprimeix</tt>
per eliminar aquest usuari.  <p>

<hr>

070701000357dc000081a40000000000000002000000013d1fe2db0000012f000000200000000000000000000000000000002300000003reloc/mysql/help/edit_user.es.html    <header>Editar Usuario</header>

Este formulario te permite editar un usuario existente de MySQL.
<include user.es>

Tras editarlo, haz click en el botón <tt>Salvar</tt> para hacer que los
cambios tengan efecto inmediato. Puedes hacer click en <tt>Borrar</tt>
para borrar al usuario de MySQL.<p>

<hr>

 070701000357dd000081a40000000000000002000000013d1fe2db0000010c000000200000000000000000000000000000002000000003reloc/mysql/help/edit_user.html   <header>Edit User</header>

This form allows you to edit an existing MySQL user.
<include user>

After editing, click the <tt>Save</tt> button to have the changes take
effect immediately. You may also click on <tt>Delete</tt> to delete the
user from MySQL. <p>

<hr>

070701000357de000081a40000000000000002000000013d1fe2db0000010f000000200000000000000000000000000000002300000003reloc/mysql/help/edit_user.sv.html    <header>Ändra användare</header>

I detta formulär kan du ändra uppgifter för MySQL-användare.
<include user>

När du är klar trycker du på <tt>Spara</tt> så att ändringarna genomförs.
Du kan också trycka på <tt>Ta bort</tt> för att ta bort användaren från
MySQL.

<hr>

 070701000357df000081a40000000000000002000000013d1fe2db000000d5000000200000000000000000000000000000002b00000003reloc/mysql/help/edit_user.zh_TW.Big5.html    <header>½s¿è¨Ï¥ÎªÌ</header>

³o¤@­¶¥i¥HÅý±z½s¿è¥ô¦ó²{¦sªº MySQL ¨Ï¥ÎªÌ.
<include user>

¦b½s¿è¤§«á, «ö¤U<tt>Àx¦s</tt>«ö¶s¥H¨Ï±oÅÜ§ó¥ß¨è¥Í®Ä. ±z¤]¥i¥H«ö¤U<tt>§R°£</tt>¥H±q MySQL ¤¤§R°£¥ô¦ó¤@­ÓÅv­­³]©w. <p>


<hr>

   070701000357e0000081a40000000000000002000000013d1fe2dc000000f9000000200000000000000000000000000000002300000003reloc/mysql/help/exec_form.ca.html    <header>Execució de SQL</header>

Aquesta pàgina és per introduir una instrucció SQL arbitrària per executar
sobre la base de dades seleccionada. Es poden fer servir totes les
ordres de selecció, inserció, actualització i administració.  <p>

<hr>

   070701000357e1000081a40000000000000002000000013d1fe2db00000104000000200000000000000000000000000000002300000003reloc/mysql/help/exec_form.es.html    <header>Ejecutar SQL</header>

Esta página sirve para digitar una sentencia SQL de forma arbitraria para
que sea ejecutada en la base de datos seleccionada. Se pueden utilizar los
comandos de selección, inserción, actualización y de administración. <p>

<hr>

070701000357e2000081a40000000000000002000000013d1fe2db000000cb000000200000000000000000000000000000002000000003reloc/mysql/help/exec_form.html   <header>Execute SQL</header>

This page is for entering an arbitrary SQL statement to be executed on the
selected database. Select, insert, update and administration commands may
all be used. <p>

<hr>

 070701000357e3000081a40000000000000002000000013d1fe2db000000d7000000200000000000000000000000000000002300000003reloc/mysql/help/exec_form.sv.html    <header>Utför SQL</header>

På denna sida kan du skriva in ett valfritt SQL-uttryck som ska utföras på
den angivna databasen. Alla val-, insättnings-, uppdaterings- och
administrationskommandon kan användas.

<hr>

 070701000357e4000081a40000000000000002000000013d1fe2db000000b4000000200000000000000000000000000000002b00000003reloc/mysql/help/exec_form.zh_TW.Big5.html    <header>°õ¦æ SQL ¬d¸ß</header>

³o¤@­¶¬O¥Î©ó¿é¤J¤@­Ó¥ô·Nªº SQL ´y­z¨Ã°õ¦æ¦b«ü©wªº¸ê®Æ®w¤W. ¥i¥H¨Ï¥Îªº«ü¥O¥]¬A¤F¿ï¾Ü (select), ´¡¤J (insert), §ó·s (update) µ¥µ¥ºÞ²z«ü¥O. <p>

<hr>

070701000357e5000081a40000000000000002000000013d1fe2dc000003b1000000200000000000000000000000000000001f00000003reloc/mysql/help/field.ca.html    <dl>
<dt><b>Nom de la Columna</b>
<dd>El nom de la columna a la taula.<p>
<dt><b>Valors enumerats (pels tipus <tt>enum</tt> i <tt>set</tt>)</b>
<dd>Una llista amb els valors possibles d'aquesta columna.<p>
<dt><b>Longitud i decimals (pels tipus <tt>float</tt> i <tt>decimal</tt>)</b>
<dd>La longitud total d'aquest camp i el nombre de dígits a la dreta
    del punt decimal.  <p>
<dt><b>Longitud (per altres tipus)</b>
<dd>El nombre màxim de caràcters permès per a les dades d'aquesta columna.<p>
<dt><b>Opcions del tipus</b>
<dd>Pels tipus numèrics, aquest paràmetre permet triar si la columna és
    amb signe o no, i si s'emplena amb zeros a l'esquerra. Pels tipus 
    caràcter, pots triar si es pren en compte la caixa a l'hora d'ordenar. <p>
<dt><b>Permet nuls</b>
<dd>Determina si els valors NULL estan permesos en aquesta columna. <p>
<dt><b>Valor per defecte</b>
<dd>El valor per defecte d'aquesta columna per a files noves. <p>
</dl>

   070701000357e6000081a40000000000000002000000013d1fe2db000003d7000000200000000000000000000000000000001f00000003reloc/mysql/help/field.es.html    <dl>
<dt><b>Nombre de campo</b>
<dd>El nombre de este campo en la tabla.<p>
<dt><b>Valores enumerados (para tipos <tt>enum</tt> y <tt>set</tt>)</b>
<dd>Una lista de valores posibles para este campo.<p>
<dt><b>Ancho y decimales (para tipos <tt>float</tt> y <tt>decimal</tt>)</b>
<dd>La medida total de este campo y el número de dígitos a la derecha
    del punto decimal.<p>
<dt><b>Ancho del tipo (para otros tipos)</b>
<dd>El número máximo de caracteres permitidos para los datos de este campo.<p>
<dt><b>Opciones del tipo</b>
<dd>Para campos numéricos, este parámetro te permite seleccionar si el campo
    es sin signo o con relleno de ceros a la izquierda. Para campos de
    carácter, puedes seleccionar si las mayúsculas se tienen en cuena en las
    clasificaciones o no. <p>
<dt><b>¿Permitir nulos?</b>
<dd>Determina si los valores NULL están autorizados en este campo<p>
<dt><b>Valor por defecto</b>
<dd>El valor por defecto para este campo en los nuevos registros<p>
</dl>

 070701000357e7000081a40000000000000002000000013d1fe2db00000388000000200000000000000000000000000000001c00000003reloc/mysql/help/field.html   <dl>
<dt><b>Field name</b>
<dd>The name of this field in the table.<p>
<dt><b>Enumerated values (for <tt>enum</tt> and <tt>set</tt> types)</b>
<dd>A list of possible values for this field.<p>
<dt><b>Width and decimals (for <tt>float</tt> and <tt>decimal</tt> types)</b>
<dd>The total width of this field, and the number of digits to the right
    of the decimal point.<p>
<dt><b>Type width (for other types)</b>
<dd>The maximum number of characters allowed for data in this field.<p>
<dt><b>Type options</b>
<dd>For numeric fields, this parameter allows you to choose whether the
    field is unsigned or left-padded with zeros. For character fields, you
    can choose whether case is taken into account when sorting or not.<p>
<dt><b>Allow nulls?</b>
<dd>Determines whether NULL values are allowed in this field<p>
<dt><b>Default value</b>
<dd>The default value for this field in new records<p>
</dl>

070701000357e8000081a40000000000000002000000013d1fe2db00000373000000200000000000000000000000000000001f00000003reloc/mysql/help/field.sv.html    <dl>
<dt><b>Fältnamn</b>
<dd>Namnet på detta fält i tabellen.
<dt><b>Numeriska värden (för <tt>enum</tt>- och <tt>set</tt>-typer)</b>
<dd>En lista över möjliga värden för detta fält.
<dt><b>Längd och decimaler (för <tt>float</tt>- och <tt>decimal</tt>typer)</b>
<dd>Den totala fältlängden och antalet siffror till höger om decimalpunkten.
<dt><b>Typlängd (för övriga typer)</b>
<dd>Det maximala antalet tillåtna tecken för detta fält.
<dt><b>Tillval för typ</b>
<dd>För numeriska fält kan du här välja om fältet ska kunna innehålla negativa
    tal och om det ska fyllas ut med nollor till vänster. För teckenfält
    kan du välja om det ska göras skillnad mellan versaler och gemener vid
    sortering.
<dt><b>Tomma fält tillåtna?</b>
<dd>Här anger du om NULL-värden är tillåtna i fältet.
<dt><b>Standardvärde</b>
<dd>Det värde som fylls i fältet vid skapande av en ny post.
</dl>

 070701000357e9000081a40000000000000002000000013d1fe2db00000278000000200000000000000000000000000000002700000003reloc/mysql/help/field.zh_TW.Big5.html    <dl>
<dt><b>Äæ¦ì¦WºÙ</b>
<dd>¸ê®Æªí¤¤ªºÄæ¦ì¦WºÙ.<p>
<dt><b>¦CÁ|­È (µ¹ <tt>enum</tt> »P <tt>set</tt> Ãþ§O¨Ï¥Î)</b>
<dd>¤@­Óµ¹³o­ÓÄæ¦ì¨Ï¥Îªº¥i¯à¼Æ­È¦Cªí.<p>
<dt><b>¼e«×»P¤p¼Æ (µ¹ <tt>float</tt> »P <tt>decimal</tt> Ãþ§O¨Ï¥Î)</b>
<dd>³o­ÓÄæ¦ìªº¼e«×, ¤p¼Æ¦ì¼Æ.<p>
<dt><b>Ãþ§O¼e«× (µ¹¨ä¥LÃþ§O¨Ï¥Î)</b>
<dd>³o­ÓÄæ¦ì¤¤¤¹³\ªº³Ì¤j¸ê®Æ¦r¤¸¼Æ.<p>
<dt><b>Ãþ§O¿ï¶µ</b>
<dd>¹ï©ó¼Æ¦r©ÊªºÄæ¦ì, ³o­Ó°Ñ¼Æ¤¹³\±z¿ï¾ÜÄæ¦ì®ÉµL²Å¸¹ªº©Î­n¦b¥ªÃä¶ñº¡ 0. ¹ï©ó¦r¤¸ªºÄæ¦ì, ±z¥i¥H¿ï¾Ü¬O§_°Ï¤À¤j¤p¼g, ¬O§_­n±Æ§Çµ¥.<p>
<dt><b>¬O§_¤¹³\ªÅ¥Õ­È?</b>
<dd>¨M©w¬O§_¥i¥H¦b³o­ÓÄæ¦ì¤¤¨Ï¥ÎªÅ¥Õ (NULL) ¼Æ­È<p>
<dt><b>¹w³]¼Æ­È</b>
<dd>¦b¼W¥[·s¬ö¿ý®É³o­ÓÄæ¦ìªº¹w³]¼Æ­È<p>
</dl>

070701000357ea000081a40000000000000002000000013d1fe2dc0000031c000000200000000000000000000000000000001f00000003reloc/mysql/help/intro.ca.html    <header>Servidor de Bases de Dades MySQL</header>

MySQL és un servidor de bases de dades senzill per a sistemes Unix.
Suporta bases de dades múltiples, controls d'accés potents, molts tipus
de dades i la majoria de sintaxi SQL estàndard. Cada base de dades gestionada
pel servidor pot contenir múltiples taules, i cada taula múltiples files
de dades.  <p>

La pàgina principal mostra una llista d'icones de bases de dades a la
part superior, amb un enllaç per afegir-ne una de nova a sota. Tot
servidor MySQL té almenys la base de dades <tt>mysql</tt>, que emmagatzema
les taules de configuració i control d'accés. Més avall de les bases
de dades hi ha unes icones per configurar el control d'accés, i a baix 
de tot hi ha un botó per engegar o aturar el servidor de bases de dades.  <p>

<hr>

070701000357eb000081a40000000000000002000000013d1fe2db00000345000000200000000000000000000000000000001f00000003reloc/mysql/help/intro.es.html    <header>Servidor de Base de Datos MySQL</header>

MySQL es un servidor de base de datos simple para sistemas Unix. Soporta
múltiples bases de datos, potentes controles de acceso, muchos tipos de
datos y la mayor parte de la sintáxis SQL estándar. Cada base de datos
gestionada por el servidor puede contener múltiples tablas y cada tabla
contener múltiples filas de datos.<p>

La página principal muestra una lista de iconos de base de datos en la parte
superior, con un enlace para añadir una nueva base de datos bajo cada uno
de ellos. Cada servidor MySQL tendrá al menos la base de datos <tt>mysql</tt>
que almacena tablas de configuración y de control de acceso. Bajo las bases
de datos hay iconos para configurar el control de acceso y en la parte
inferior hay un botón para parar y arrancar el servidor de base de datos.<p>

<hr>

   070701000357ec000081a40000000000000002000000013d1fe2db000002bb000000200000000000000000000000000000001c00000003reloc/mysql/help/intro.html   <header>MySQL Database Server</header>

MySQL is a simple database server for Unix systems. It supports multiple
databases, powerful access controls, many data types and most of the standard
SQL syntax. Each database managed by the server can contain multiple tables,
and each table contains multiple rows of data. <p>

The main page dislays a list of database icons at the top, with a link
for adding a new database below them. Every MySQL server will have at least
the <tt>mysql</tt> database, which stores configuration and access control
tables. Below the databases are icons for configuring access control, and at
the bottom is a button for stopping or starting the database server. <p>

<hr>

 070701000357ed000081a40000000000000002000000013d1fe2db000002cb000000200000000000000000000000000000001f00000003reloc/mysql/help/intro.sv.html    <header>MySQL-databasserver</header>

MySQL är en enkel databasserver för Unix-system. MySQL stödjer multipla
databaser, kraftfull åtkomstkontroll, många datatyper och det mesta av den
vanliga SQL-syntaxen. Varje databas som servern hanterar kan innehålla flera
tabeller och varje tabell kan innehålla flera rader data (poster).

<p>Högst upp på startsidan finns en rad databasikoner och under dem en länk
till formuläret för att lägga till databaser. Varje MySQL-server driver
åtminstone <tt>mysql</tt>-databasen, som innehåller inställningar och
rättighetstabeller. Nedanför databaserna finns ikoner för att konfigurera
åtkomstkontrollen och längst ned finns en knapp för att stanna/starta
databasservern.

<hr>

 070701000357ee000081a40000000000000002000000013d1fe2db000001e4000000200000000000000000000000000000002700000003reloc/mysql/help/intro.zh_TW.Big5.html    <header>MySQL ¸ê®Æ®w¦øªA¾¹</header>

MySQL ¬O¤@­Óµ¹ Unix ¨t²Î¨Ï¥ÎªºÂ²³æ¸ê®Æ®w¦øªA¾¹. ¥¦¤ä´©¦h­«ªº¸ê®Æ®w, ±j¤Oªº¦s¨ú±±¨î, ¦hºØ¸ê®ÆÃþ§O»P¦h¼Æªº¼Ð·Ç SQL «ü¥O. µ¹­Ó³Q¦øªA¾¹ºÞ²zªº¸ê®Æ®w³£¥i¥H¦³¦h­«ªº¸ê®Æªí, ¨C­Ó¸ê®Æªí¤S¥]§t¦h­Ó¤£¦PÄæ¦ìªº¸ê®Æ. <p>

¥D­nªºµe­±¦b¤W­±¦C¥X¤F¸ê®Æ®wªº¹Ï¥Ü, »P¤@­Ó¼W¥[·s¸ê®Æ®wªº³sµ². ¨C­Ó MySQL ¦øªA¾¹³£¦Ü¤Ö¦³¤@­Ó¥s°µ <tt>mysql</tt> ªº¸ê®Æ®w, ³oÀx¦s¤F¬ÛÃöªº²ÕºA»P¦s¨ú±±¨î¦Cªí. µe­±ªº¤U¤è«h¬O¥Î¥H²ÕºA¦s¨ú±±¨îªº¹Ï¥Ü, ©³ºÝ«h¬O°±¤î/±Ò°Ê¸ê®Æ®w¦øªA¾¹ªº«ö¶s. <p>

<hr>

070701000357ef000081a40000000000000002000000013d1fe2dc00000175000000200000000000000000000000000000002400000003reloc/mysql/help/newdb_form.ca.html   <header>Creació de Base de Dades</header>

Aquest formulari permet crear una nova base de dades MySQL, amb una
taula inicial opcional. Has d'introduir el nom de la base de dades, 
i si crees una taula inicial, el nom de la taula i els detalls d'almenys
una columna. En acabat, fes clic sobre el botó <tt>Crea</tt> per crear
la base de dades de forma immediata.  <p>

<hr>

   070701000357f0000081a40000000000000002000000013d1fe2db00000189000000200000000000000000000000000000002400000003reloc/mysql/help/newdb_form.es.html   <header>Crear Base de Datos</header>

Este formulario te permite crear una nueva base de datos MySQL con tabla
inicial opcional. Debes de digitar el nombre de la base de datos y, si estás
creando una tabla inicial, debes de digitar un nombre de tabla y los
detalles de al menos un campo. Al termina, haz click en <tt>Crear</tt> para
que la base de datos quede inmediátamente creada. <p>
<hr>

   070701000357f1000081a40000000000000002000000013d1fe2db00000158000000200000000000000000000000000000002100000003reloc/mysql/help/newdb_form.html  <header>Create Database</header>

This form allows you to create a new MySQL database, with an optional
initial table. You must enter a database name, and if creating an initial
table you must enter a table name and the details of at least one field.
When done, click on the <tt>Create</tt> to have the database immediately
created.  <p>
<hr>

070701000357f2000081a40000000000000002000000013d1fe2db00000124000000200000000000000000000000000000002400000003reloc/mysql/help/newdb_form.sv.html   <header>Skapa databas</header>

Med detta formulär kan du skapa en ny MySQL-databas. Du måste ange ett
namn på databasen och om du skapar en tabell måste du ange namn på
tabellen och uppgifter om minst ett fält.

När du är klar trycker du på <tt>Skapa</tt>, så skapas databasen direkt.
<hr>

070701000357f3000081a40000000000000002000000013d1fe2db000000f9000000200000000000000000000000000000002c00000003reloc/mysql/help/newdb_form.zh_TW.Big5.html   <header>«Ø¥ß¸ê®Æ®w</header>

³o­Óªí³æ¥i¥HÅý±z«Ø¥ß¤@­Ó·sªº MySQL ¸ê®Æ®w, »P¿ï¾Ü©Êªºªì©l¸ê®Æªí. ±z¥²¶·¿é¤J¸ê®Æ®wªº¦WºÙ; ¦Ó¥B¦pªG±z­n«Ø¥ßªì©l¸ê®Æªí, ±z¤]¥²¶·¿é¤J¸ê®Æªíªº¦WºÙ»P¦Ü¤Ö¤@­ÓÄæ¦ìªº¸Ô²Ó¸ê®Æ. §¹¦¨«á, «ö¤U<tt>«Ø¥ß</tt>¥H¥ß¨è«Ø¥ß¸ê®Æ®w. <p>
<hr>

   070701000357f4000081a40000000000000002000000013d1fe2dc00000171000000200000000000000000000000000000002400000003reloc/mysql/help/table_form.ca.html   <header>Creació de Taula</header>

Aquest formulari és per crear una taula nova buida. Has d'introduir el
nom de la taula i una o més columnes. Per cada columna, has d'introduir-ne
el nom, seleccionar-ne el tipus de dades i la longitud (si s'escau pel
tipus de dades). En acabat, fes clic sobre el botó <tt>Crea</tt> per 
crear la taula de forma immediata.  <p>

<hr>

   070701000357f5000081a40000000000000002000000013d1fe2db00000189000000200000000000000000000000000000002400000003reloc/mysql/help/table_form.es.html   <header>Crear Tabla</header>

Este formulario es para crear nuevas tablas vacías. Debes de digitar
un nombre de tabla y uno o más campos. Para cada campo, debes de digitar
un nombre, seleccionar un tipo de dato y digitar el ancho del tipo (si es
apropiado para el tipo de dato). Al terminar, haz click en el botón
<tt>Crear</tt> para hacer que la tabla quede inmediátamente creada. <p>

<hr>

   070701000357f6000081a40000000000000002000000013d1fe2db00000159000000200000000000000000000000000000002100000003reloc/mysql/help/table_form.html  <header>Create Table</header>

This form is for creating a new, empty table. You must enter a table
name and one or more fields. For each field, you must enter a name, select a
data type and enter the type width (if appropriate for the data type).
When done, click on the <tt>Create</tt> button to have the table immediately
created. <p>

<hr>

   070701000357f7000081a40000000000000002000000013d1fe2db00000132000000200000000000000000000000000000002400000003reloc/mysql/help/table_form.sv.html   <header>Skapa tabell</header>

I detta formulär kan du skapa en ny, tom tabell. Du måste ange namn på
tabellen samt ett eller flera fält. För varje fält måste du ange namn, 
datatyp och typlängd (om sådan finns för datatypen).

När du är klar trycker du på <tt>Skapa</tt> så skapas tabellen direkt.

<hr>

  070701000357f8000081a40000000000000002000000013d1fe2db00000100000000200000000000000000000000000000002c00000003reloc/mysql/help/table_form.zh_TW.Big5.html   <header>«Ø¥ß¸ê®Æªí</header>

³o­Óªí³æ¬O¥Î©ó«Ø¥ß·sªº, ªÅ¥Õªº¸ê®Æªí. ±z¥²¶·¿é¤J¸ê®Æªí¦WºÙ»P¦Ü¤Ö¤@­Ó©Î¦h­ÓÄæ¦ì. ¹ï©ó¨C¤@­ÓÄæ¦ì, ±z¥²¶·­n¿é¤J¦WºÙ, ¿ï¾Ü¤@­Ó¸ê®ÆÃþ§O¨Ã¿é¤JÃþ§Oªº¼e«× (¦pªG¸ê®ÆÃþ§O»Ý­n). §¹¦¨¤§«á, «ö¤U<tt>«Ø¥ß</tt>¥H¥ß¨è«Ø¥ß³o­Ó¸ê®Æªí. <p>

<hr>

070701000357f9000081a40000000000000002000000013d1fe2dc00000294000000200000000000000000000000000000001f00000003reloc/mysql/help/tpriv.ca.html    Es troben disponibles els següents paràmetres:
<dl>
<dt><b>Taula</b>
<dd>La taula sobre la qual s'apliquen aquests permisos. <p>
<dt><b>Usuari</b>
<dd>L'usuari a qui es concedeixen els permisos.
    Aquest usuari ja ha d'existir a la taula de <tt>Permisos d'Usuari</tt>. <p>
<dt><b>Hosts</b>
<dd>Els hosts des dels quals l'usuari pot accedir aquesta taula. <p>
<dt><b>Permisos de la taula</b>
<dd>Els permisos concedits a l'usuari sobre totes les columnes de la taula. <p>
<dt><b>Permisos de la Columna</b>
<dd>Els permisos màxims que es poden concedir a aquest usuari per
    qualsevol columna de la taula a la pàgina <tt>Permisos de Columna</tt>. <p>
</dl>

070701000357fb000081a40000000000000002000000013d1fe2db00000266000000200000000000000000000000000000001c00000003reloc/mysql/help/tpriv.html   The following parameters are available :
<dl>
<dt><b>Table</b>
<dd>The table these permissions should apply to. <p>
<dt><b>Username</b>
<dd>The user to whom the permissions are granted. This user must already
    exist in the <tt>User Permissions</tt> table. <p>
<dt><b>Hosts</b>
<dd>The hosts that the user can access the table from. <p>
<dt><b>Table permissions</b>
<dd>The permissions granted to the user on all columns of the table. <p>
<dt><b>Field permissions</b>
<dd>The maximum permissions that can be granted to this user for any
    column of the table in the <tt>Field Permissions</tt> page. <p>
</dl>

  070701000357fa000081a40000000000000002000000013d1fe2db00000298000000200000000000000000000000000000001f00000003reloc/mysql/help/tpriv.es.html    Están disponibles los siguientes parámetros:
<dl>
<dt><b>Tabla</b>
<dd>La tabla a la que se aplicarán estos permisos. <p>
<dt><b>Nombre de usuario</b>
<dd>El usuario al que se conceden los permisos. Este usuario ya debe de
    existir en la tabla de <tt>Permisos de Usuario</tt>. <p>
<dt><b>Máquinas</b>
<dd>Las máquinas desde las que el usuario puede acceder a la tabla.<p>
<dt><b>Permisos de tabla</b>
<dd>Los permisos concedidos al usuario en todas las columnas de la tabla.<p>
<dt><b>Permisos de campo</b>
<dd>El máximo de permisos que se puede conceder a este usuario para cualquier
    columna de la tabla en la página <tt>Permisos de Campo</tt>. <p>
</dl>

070701000357fc000081a40000000000000002000000013d1fe2db0000020e000000200000000000000000000000000000001f00000003reloc/mysql/help/tpriv.sv.html    Följande inställningar kan göras:
<dl>
<dt><b>Tabell</b>
<dd>Tabell som rättigheterna gäller för.
<dt><b>Användarnamn</b>
<dd>Användare som får rättigheterna. Användaren måste finnas i tabellen
    <tt>Användarrättigheter</tt>
<dt><b>Datorer</b>
<dd>Datorer som användaren kan komma åt tabellen från.
<dt><b>Tabellrättigheter</b>
<dd>Användarens rättigheter för samtliga kolumner.
<dt><b>Fälträttigheter</b>
<dd>Maximala rättigheter som denna användare kan få i någon tabellkolumn
    på sidan <tt>Fälträttigheter</tt>
</dl>

  070701000357fd000081a40000000000000002000000013d1fe2db0000019a000000200000000000000000000000000000002700000003reloc/mysql/help/tpriv.zh_TW.Big5.html    ±z¥i¥H¨Ï¥Î¤U¦Cªº°Ñ¼Æ:
<dl>
<dt><b>¸ê®Æªí</b>
<dd>³o¨ÇÅv­­­n®M¥Îªº¸ê®Æªí. <p>
<dt><b>¨Ï¥ÎªÌ¦WºÙ</b>
<dd>³o¨ÇÅv­­­n±ÂÅvªº¨Ï¥ÎªÌ. ³o­Ó¨Ï¥ÎªÌ¥²¶·¤w¸g¦s¦b©ó<tt>¨Ï¥ÎªÌÅv­­</tt>¸ê®Æªí¤¤. <p>
<dt><b>¥D¾÷</b>
<dd>³o­Ó¨Ï¥ÎªÌ¥i¥H¦s¨ú¸ê®Æªíªº¨Ó·½¥D¾÷. <p>
<dt><b>¸ê®ÆªíÅv­­</b>
<dd>­n±ÂÅvµ¹¨Ï¥ÎªÌ­Ó¸ê®Æªí¤¤©Ò¦³Äæ¦ìªºÅv­­. <p>
<dt><b>Äæ¦ìÅv­­</b>
<dd>¹ï©ó¸ê®Æªíªº<tt>Äæ¦ìÅv­­</tt>¤¤Äæ¦ì­n±ÂÅvµ¹¨Ï¥ÎªÌªº³Ì¤jÅv­­. <p>
</dl>

  070701000357fe000081a40000000000000002000000013d1fe2dc000002a1000000200000000000000000000000000000002000000003reloc/mysql/help/tprivs.ca.html   <header>Permisos de Taula</header>

La pàgina permet concedir permisos addicionals a les taules per part
dels usuaris, més enllà del que està disponible a <tt>Permisos d'Usuaris</tt>
o <tt>Permisos de Bases de Dades</tt>. Els permisos concedits aquí
s'apliquen només a l'accés a una taula d'una base de dades per part
d'un usuari, permetent així un accés molt restringit.  <p>

Per afegir nous permisos de taules, primer has de seleccionar la base de
dades on està continguda la taula, utilitzant el formulari del peu de la
pàgina. Després, fes clic sobre el botó <tt>Afegeix permisos nous</tt>
per obrir un formulari per seleccionar la taula i altres detalls.  <p>

<hr>

   070701000357ff000081a40000000000000002000000013d1fe2db000002af000000200000000000000000000000000000002000000003reloc/mysql/help/tprivs.es.html   <header>Permisos de Tabla</header>

Esta página te permite conceder acceso adicional de usuarios a tablas, además
de lo que esté autorizado en <tt>Permisos de Usuario</tt> o en
<tt>Permisos de Base de Datos</tt>. Los permisos concedidos aquí se aplican
sólo para acceder a una tabla en una base de datos por un usuario, permitiendo
de esta manera un acceso granular.<p>

Para añadir permisos a nueva tabla, debes de seleccionar primero la base de
datos en que se está usando la tabla mediante el formulario de la parte
inferior de la página. Luego haz click en el botón
<tt>Añadir nuevos permisos</tt> para hacer salir un formulario para
seleccionar la tabla y otros detalles.<p>

<hr>

 07070100035800000081a40000000000000002000000013d1fe2db00000253000000200000000000000000000000000000001d00000003reloc/mysql/help/tprivs.html  <header>Table Permissions</header>

The page allows you to grant additional access to tables by users, beyond
what is available in <tt>User Permissions</tt> or <tt>Database Permissions</tt>.
The permissions granted here apply only to access to one table in one database
by one user, thus allowing quite fine-grained access to be granted. <p>

To add new table permissions, you must first select the database that the
table is in using the form at the bottom of the page. Then click the
<tt>Add new permissions</tt> button to bring up a form for selecting the
table and other details. <p>

<hr>

 07070100035801000081a40000000000000002000000013d1fe2db00000226000000200000000000000000000000000000002000000003reloc/mysql/help/tprivs.sv.html   <header>Tabellrättigheter</header>

På den här sidan kan du dela ut ytterligare användarrättigheter för
tabeller förutom vad som angivits i <tt>Användarrättigheter</tt> och
<tt>Databasrättigheter</tt>.
De rättigheter som ges här gäller bara för en tabell i en databas och för
en användare, vilket medför att du kan specificera rättigheter mycket
detaljerat.

<p>Ange längst ned på sidan den databas som tabellen finns i och tryck
sedan på <tt>Lägg till rättigheter</tt>, så får du upp ett formulär där
du kan ange tabell och övriga uppgifter.

<hr>

  07070100035802000081a40000000000000002000000013d1fe2db0000015f000000200000000000000000000000000000002800000003reloc/mysql/help/tprivs.zh_TW.Big5.html   <header>¸ê®ÆªíÅv­­</header>

³o¤@­¶¥i¥HÅý±z°â¤©¨Ï¥ÎªÌ¦b<tt>¨Ï¥ÎªÌÅv­­</tt>©Î<tt>¸ê®Æ®wÅv­­</tt>¨S¦³ªºÃB¥~¸ê®Æªí¦s¨úÅv­­. ³o¨ÇÅv­­¥u·|®M¥Î¦b³æ¤@¨Ï¥ÎªÌ¦s¨ú³æ¤@ªº¸ê®Æ®w¤¤ªº¯S©w¸ê®Æªí, ¤¹³\±z·L½Õ­n±Â»PªºÅv­­. <p>

­n¼W¥[·sªº¸ê®ÆªíÅv­­, ±z¥²¶·­n¥ý¦b¥»­¶©³ºÝ¿ï¾Ü¸ê®Æªí©Ò¦bªº¸ê®Æ®w, µM«á«ö¤U<tt>¼W¥[·sÅv­­<tt>«ö¶s¥H¨ú±o¿ï¾Üªº¸ê®Æªíªº¨ä¥L²Ó¸`ªí³æ. <p>

<hr>

 07070100035803000081a40000000000000002000000013d1fe2dc0000035f000000200000000000000000000000000000001e00000003reloc/mysql/help/user.ca.html Per a cada usuari, es troben disponibles els següents paràmetres:
<dl>
<dt><b>Usuari</b>
<dd>Per aquest camp, has d'introduir o bé un nom d'usuari específic,
    o bé triar l'opció <tt>Usuari anònim</tt>. En aquest cas, els
    permisos s'aplicaran a tots els usuaris que no estiguin a la 
    llista de <tt>Permisos d'Usuaris</tt>.  <p>
<dt><b>Contrasenya</b>
<dd>La contrasenya necessària per que l'usuari pugui entrar.
    Si és <tt>Cap</tt>, llavors no cal contrasenya per entrar.
<dt><b>Hosts</b>
<dd>EL nom de host o adreça IP des del qual aquest usuari pot entrar
    Aquest camp també pot contenir una expressió regular SQL que
    coincideixi amb múltiples hosts, com ara <tt>192.168.1.%</tt> o
    <tt>%.foo.com</tt>. <p>
<dt><b>Permisos</b>
<dd>Les operacions MySQL que aquest usuari té permès d'executar sobre
    qualsevol base de dades.  <p>
</ul>

 07070100035804000081a40000000000000002000000013d1fe2db0000039b000000200000000000000000000000000000001e00000003reloc/mysql/help/user.es.html Para cada usuario están disponibles los siguientes parámetros:
<dl>
<dt><b>Nombre de usuario</b>
<dd>Para este campo, debes de digitar o un nombre específico de usuario o
    seleccionar la opción de <tt>Usuario anónimo</tt>, del cual se
    aplicarán los permisos a cualquier usuario que no esté en la lista de
    <tt>Permisos de Usuario</tt>.<p>
<dt><b>Clave de Acceso</b>
<dd>La clave de acceso necesaria para este usuario cuando haga login. Si
    <tt>Ninguna</tt>, no hace falta clave de acceso.<p>
<dt><b>Máquinas</b>
<dd>La dirección IP o nombre de máquina de la máquina desde la que este
    usuario está autorizado a hacer login.
    Este campo puede contener también una expresión SQL regular que coincida
    con mútiples máquinas, como <tt>192.168.1.%</tt> o <tt>%.foo.com</tt>. <p>
<dt><b>Permisos</b>
<dd>Las operaciones MySQL que este usuario está autorizado a realizar en una
    base de datos. <p>
</ul>

 07070100035805000081a40000000000000002000000013d1fe2db00000313000000200000000000000000000000000000001b00000003reloc/mysql/help/user.html    For each user, the following parameters are available :
<dl>
<dt><b>Username</b>
<dd>For this field, you may either enter a specific username, or choose the
    <tt>Anonymous user</tt> option in which case the permissions will apply
    to any user who is not in the <tt>User Permissions</tt> list.<p>
<dt><b>Password</b>
<dd>The password required by this user when logging in. If <tt>None</tt>,
    then no password is needed. <p>
<dt><b>Hosts</b>
<dd>The IP address or hostname of the host this user is allowed to login from.
    This field can also contain an SQL regular expression matching multiple
    hosts, like <tt>192.168.1.%</tt> or <tt>%.foo.com</tt>. <p>
<dt><b>Permissions</b>
<dd>The MySQL operations this user is allowed to perform on <b>any</b>
    database. <p>
</ul>

 07070100035806000081a40000000000000002000000013d1fe2db00000318000000200000000000000000000000000000001e00000003reloc/mysql/help/user.sv.html För varje användare kan följande inställningar göras:
<dl>
<dt><b>Användarnamn</b>
<dd>Här kan du skriva in ett användarnamn eller välja <tt>Anonym
    användare</tt>, vilket resulterar i att rättigheterna gäller för alla
    användare som <i>inte</it> finns i tabellen </tt>Användarrättigheter</tt>.
<dt><b>Lösenord</b>
<dd>Det lösenord som användaren ska ange när han/hon loggar in. Om lösenord
    inte krävs väljer du <tt>Inget</tt>.
<dt><b>Datorer</b>
<dd>IP-adress eller namn på den dator som användaren får logga in från.
    I detta fält kan du också ange ett reguljärt SQL-uttryck som expanderas
    till flera datorer, t ex <tt>192.168.1.%</tt> och <tt>%.foo.com</tt>.
<dt><b>Rättigheter</b>
<dd>MySQL-operationer som denna användare får utföra på <b>alla</b>
    databaser.
</ul>

07070100035807000081a40000000000000002000000013d1fe2db00000214000000200000000000000000000000000000002600000003reloc/mysql/help/user.zh_TW.Big5.html ¹ï©ó¨C­Ó¨Ï¥ÎªÌ, ¥i¥H¨Ï¥Îªº°Ñ¼Æ¬°:
<dl>
<dt><b>¨Ï¥ÎªÌ¦WºÙ</b>
<dd>¹ï©ó³o­ÓÄæ¦ì, ±z¥²¶·¿é¤J¤@­Ó«ü©wªº¨Ï¥ÎªÌ¥H®M¥Î·sÅv­­; ©Î¿ï¾Ü<tt>°Î¦W¨Ï¥ÎªÌ</tt>¿ï¶µ¥H®M¥Î·sÅv­­µ¹©Ò¦³¨S¦C¦b<tt>¨Ï¥ÎªÌÅv­­</tt>¦Cªí¤¤ªº¨Ï¥ÎªÌ.<p>
<dt><b>±K½X</b>
<dd>¨Ï¥ÎªÌµn¤J¸ê®Æ®w¨t²Î©Ò»Ý­nªº±K½X. ¦pªG³]©w¬°<tt>µL</tt>, ±N¤£»Ý­n±K½X. <p>
<dt><b>¥D¾÷</b>
<dd>¨Ï¥ÎªÌ¤¹³\µn¤Jªº¨Ó·½¥D¾÷. ³o­ÓÄæ¦ì¥i¥H¥]§t SQL ¥¿³Wªí¥Üªk¥H²Å¦X¦h­Ó¥D¾÷, ¨Ò¦p <tt>192.168.1.%</tt> ©Î <tt>%.foo.com</tt>. <p>
<dt><b>Åv­­</b>
<dd>¤¹³\¨Ï¥ÎªÌ¦b<b>¥ô¦ó</b>¸ê®Æ®w¤¤¨Ï¥Îªº MySQL ¾Þ§@. <p>
</ul>

07070100035808000081a40000000000000002000000013d1fe2dc00000272000000200000000000000000000000000000001f00000003reloc/mysql/help/users.ca.html    <header>Permisos d'Usuari</header>

Aquesta pàgina permet crear i editar usuaris que tindran accés a les
bases de dades MySQL. Per a cada usuari, pots especificar un nom d'usuari,
contrasenya, hosts permesos i un conjunt de permisos que determina
allò que l'usuari pot fer.  <p>

Com que tots els usuaris llistats que tenen permisos tindran aquests
permisos sobre <b>totes</b> les bases de dades, normalment és una bona
idea no concedir cap permís als usuaris en aquesta pàgina. En lloc
d'això, fes servir la pàgina de <tt>Permisos de Base de Dades</tt>
per concedir accés als usuaris en base a les bases de dades. <p>

<hr>

  07070100035809000081a40000000000000002000000013d1fe2db0000027d000000200000000000000000000000000000001f00000003reloc/mysql/help/users.es.html    <header>Permisos de Usuario</header>

Esta página te permite crear y editar usuarios que tendrán acceso a tus
bases de datos MySQL. Para cada usuario, puedes especificar un nombre,
clave de acceso, máquinas autorizadas y un conjunto de permisos que
determinan lo que el usuario puede hacer.<p>

Ya que cualquier usuario de la lista que tenga permisos tendrá esos
permisos en <b>todas</b> las bases de datos, es normalmente buena idea no
conceder a los usuarios de esta página permiso alguno. En su lugar, utiliza
la página de <tt>Permisos de Base de Datos</tt> para conceder acceso a los
usuarios en base a por-base-de-datos.<p>

<hr>


   0707010003580a000081a40000000000000002000000013d1fe2db00000225000000200000000000000000000000000000001c00000003reloc/mysql/help/users.html   <header>User Permissions</header>

This page allows you to create and edit users who will have access
to your MySQL databases. For each user, you can specify a username, password,
allowable hosts and a set of permissions that determine what the user can
do. <p>

Because any user listed who has permissions will have those permissions on
<b>all</b> databases, it is usually a good idea not to grant users on this
page any permissions. Instead, use the <tt>Database Permissions</tt>
page to grant access to users on a per-database basis. <p>

<hr>


   0707010003580b000081a40000000000000002000000013d1fe2db000001f7000000200000000000000000000000000000001f00000003reloc/mysql/help/users.sv.html    <header>Användarrättigheter</header>

På denna sida kan du lägga till och ändra användare som får komma åt
dina MySQL-databaser. För varje användare kan du ange användarnamn,
lösenord, tillåtna datorer och rättigheter som bestämmer vad användaren
får göra.

<p>Eftersom de rättigheter som användaren får här gäller <b>alla</b>
databaser är det klokt att inte ge några rättigheter här, utan istället
använda sidan <tt>Databasrättigheter</tt> för att dela ut rättigheter till
specifika databaser.

<hr>


 0707010003580c000081a40000000000000002000000013d1fe2db0000016b000000200000000000000000000000000000002700000003reloc/mysql/help/users.zh_TW.Big5.html    <header>¨Ï¥ÎªÌÅv­­</header>

³o¤@­¶¥i¥HÅý±z«Ø¥ß»P½s¿è¥i¥H¦s¨ú±zªº MySQL ¸ê®Æ®wªº¨Ï¥ÎªÌ. ¹ï©ó¨C­Ó¨Ï¥ÎªÌ, ±z¥²¶·«ü©w¨Ï¥ÎªÌ¦WºÙ, ±K½X, ¤¹³\ªº¨Ó·½¥D¾÷»P¤@²Õ¨M©w¨ÏªÌ¥i¥H¾Þ§@¨Æ¶µªºÅv­­. <p>

¦]¬°¥ô¦ó¦C¥Xªº¨Ï¥ÎªÌ³£¹ï<b>¥þ³¡</b>ªº¸ê®Æ®w¦³©Ò³]©wªºÅv­­. ©Ò¥H³Ì¦n¤£­n¦b³oÃä±Â»P¨Ï¥ÎªÌ¥ô¦óÅv­­. ±zÀ³¸Ó­n¨Ï¥Î<tt>¸ê®Æ®wÅv­­</tt>¥H¨Ì¾Ú¸ê®Æ®w¦WºÙ±Â»P¨Ï¥ÎªÌ­Ó§OªºÅv­­. <p>

<hr>


 07070100036dc3000041ed0000000000000001000000023d1ffabe00000000000000200000000000000000000000000000001300000003reloc/mysql/images    07070100036dc4000081a40000000000000002000000013d1fe2db0000018f000000200000000000000000000000000000001e00000003reloc/mysql/images/cprivs.gif GIF89a0 0 Â  ÿÿÿ˜˜˜`d`˜˜ø   ÈÌÈ`d``d`!þMade with GIMP !ù    ,    0 0  þºÜþ0ÊIk8kÂ¹þ`(fBi
A§rgë¢ï;ÌôÐÕ6‡ïu ðÀ+§›ƒ4ŸñˆÌý;&R	56sTž˜µ6=ÏÛJ¤’Ï8°M¸¬VyÝõ{-$Äé7:üIƒºõKwcy{z~bQ?ZsS‹M "’#•"/-*1.>œ'¡¢)ƒ*£¨£>©¬¬«+¢­ª³¶¤µ³²¶«·­½º¼¹¾©ÀÁ³ÇÅ¢Ë­»ÆÄÌÍÒ¶Ð´Ó¨ÎÈÑÙØÓ×¸ÞÔÞ×ÛÅçÖÂ¡éª–ï”ðž-ôŸ1™öŸ®ÕÙíÃÆÊ$P\ÁPá¦,–]¿q¥’y[è+¢D…ËÁÂxCáº†¿2ú«µ±¢HŒƒvdGRX¸y0'aP¡á…¾{œô­ Õm%°’ÊN2ë4èJqEúÌ’ßÑŸÙ(Þ’Ú³#Å ; 07070100036dc5000081a40000000000000002000000013d1fe2db000001ce000000200000000000000000000000000000001a00000003reloc/mysql/images/db.gif GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0²@«½8k*ƒø`(Žd)tÂ ®CÀ¾««Êp{FÞ@úÜÿ¼XÏÅÛ±<(]‘GÜ9Ÿ­¡Ò»Ar­v›qx*¦°˜ä
Ø­æk×Ï9gUÁ Ù£Î¬rh)u|O‡†QPUes)0kl4‘G€
_\›Z–‚ œ¢—fƒŽc©b¥ŽŽolGB’7 ¦tE{xºB‰~6¥``JÃMˆFwÅz¿Ÿ¶Í¯°n”ŒÌ­ƒ£×™¬§ÛgÝÝàáßsáàpµÕâååãhëŽÀ™`ëíïîäïçÍéæöÞÿùhí³†m”Àj‚Ôù»ÇÝÁm	û-lWOœÀ`™è-dX‚ÑÜCtì6R´§¡¦‚¢>Tèod@m Y’HOå¼i:¼da¥Ä–:-*QeÊFÜ~ÎÄWiÄ ™îŒã*Î†BãôŒ
TjVDOåâi‚)™ù¬ÂÃqViZ¯Qp]Š5.Û¹oëz+¨­ÚŸ÷vË‰ïPUˆKHXÌ¸ñ‚ ;  07070100036dc6000081a40000000000000002000000013d1fe2db000001fb000000200000000000000000000000000000001b00000003reloc/mysql/images/dbs.gif    GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0²@«½8k*ƒøàGŒchžè×	CÛ’ðèº=ßÞ:ÈdM¼¤™o0”Ñºqƒ-¾àQGm¬›¬Åá¡”R"xâ

#Î¥ÚnÓ†ÍûýžÌ—ºËÇ'givƒOMACQm9rmo~k-5p’HŒX™Z–€h#›œœ
s£$&0d¯&¨s†J”“”‹©¼M@wÀ{xŠ–],uUµ2ˆLÄ² ³,p‰·¹¹ÖÅÔÓY=¦ÜÓähæ£æ$ç æëç»Ýªïèé¢ðíôÓ²ÉÉôîçÔåc§/^¹Të ¼W¯á;ƒóT…UŠÓ¸ˆñÑS§¯PáÃ‹¼%Ô'ˆ@G’ñúûG²äÀ ål)ÐcÂ˜Þ&Z —gÄ™-)šDé3ãK”.Æô÷°%AQY©1(¨ð,…©C“ž„déT¨;¬ªÌ”Š”À¨YÕþ¬Šô*Ü}r¦’µ
J]Í°
¶"ëJÊ8ÀŒöÖmw£ùÖ»ëød‡óÝMá²Í½Br~,’nfvh+s!ü¬X°ÉH˜M»ö‚ ; 07070100036dc7000081a40000000000000002000000013d1fe2db00000042000000200000000000000000000000000000001e00000003reloc/mysql/images/delete.gif GIF87a
 
 ¡  øxxøüøø     ,    
 
  ‚i §˜@ÒŠÓ­zOeˆtŒ36F ;  07070100036dc8000081a40000000000000002000000013d1fe2db0000003c000000200000000000000000000000000000001c00000003reloc/mysql/images/edit.gif   GIF87a
 
 ¡  øüø    Ô  ü ,    
 
  „oxº„`IR`of›OÚ¢ø ;07070100036dc9000081a40000000000000002000000013d1fe2db0000019c000000200000000000000000000000000000001d00000003reloc/mysql/images/hosts.gif  GIF89a0 0 Â  ÌÌÌ   [[[ÌÌÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þHºÜþ06@«½8K™Aø_§mž¡X‘e%€BÃrm±õÕüÎ7Ü¤âû½Æ pADò.)•(ÒüAR•R”]³Ó–ÇisuÖ•ø4“ÑiÊ–ûnÓáp¥CWçƒÿ LndtQ€Z
3(Œ‡R‚5(‘ ‘xyjŠq ‹X—˜r‰.œ1cu ^™›O¤…©œY¦¯°ª¢šºR´µ¶J€½4°z*Âž¿™CÉÊ©Æº›¬G¨IÌÔÈ’l±ÜÔ»Ý?ÄhzŽ¤=à·L»‡hè­¸¹Õóôîêëpõ„«0®`90•ÂŒ¢`Ð €ƒN(ÔDÐáºF#X<Ì‡P0EÂ%ÇäýÁr*HY"`àäÂ*UVáÒBÌ›t8i“ã¡Ið\â4hM‘RŠåIT¢´%=o®ü€TèK©ÔrVµ+D«`$  ;07070100036dca000081a40000000000000002000000013d1fe2db0000055a000000200000000000000000000000000000001c00000003reloc/mysql/images/icon.gif   GIF89a0 0 ç  ÿÿÿìóöÞëïþþþøûûL’ªW™¯EŽ§ÍáçöúûþÿÿúüýV˜¯ëóöÏâèR–­J‘©Q•­¾×àÒãéaŸ´ýþþò÷ùóøùÖæìo¨»õùúƒ´ÄÊßæàìð‡¶Æ—ÀÎI‘©îô÷Òäê{¯Àùûü¡ÆÒO”«ùüüüýþ]œ²îõ÷x­¿„´ÅÇÝäp¨»ôøú5„ŸáíñÑãé…µÅ“¾Ì€²ÃœÃÐÄÛãìôö2‚ž¹É×æìÂÚâÅÜä~°Â»Ê§ÊÕ²ÐÚQ–­èñô/€œËßæéñô[œ±4„Ÿr©¼ÆÜäÉÞåc µÙèí°ÏÚˆ·Çðöøu«¾÷úûâíñóøúïöøŸÄÑu«½3ƒžûüýÌàçpºÕÞmäîò
j‹ùìÑêºUä©,ä¨)÷ä¼úðÛë¿bå«1ä©+é¶Löá¶þûõæ­5íÅq­ÍØ2‚¯ÎÙpe†y®Àe‡ngˆ×çìÿÿþæ¯:áŸôÜ¨õß¯üõæè³Dß˜ðÎ†õÝ«æ¯;àœûòßáêºV‰¸Ç´ÑÛoFŽ§8† r‘C¦e¢¶k¥¹–¿Íõøøã¦$åª.å©,þü÷ñÒ‘ß— ùëÍÛéîF§¨ÊÖ d†fˆl¥¹|¯Án§ºlŒïõ÷qðö÷íÆrà™è´Fé¹RìÁh÷åÀá'|˜1‚h‰Úèíh£·ÿþýùíÒóÚ£òÕ™òÕ—ç°>àšŽºÉf‡ ÅÒ\œ±kŒòÔ”÷æÂáœóØ ôÚ¤ñÑŽùëÏážé·OïõøiŠ¼Êfˆ_ž³(|™ðõöïÊ}ìÂiã¥"ážûòÞë¾`é¸PîÈxâŸâ â¡ýøïè´Hà›óÙ¡óÙ£z®À±ÐÚ^²ºÉµÒÜ½×à‚³Ä*}šïÌƒíÄoïÌúï×þúóòÕ˜ìÀeë½]ìÁfë¿aÿýûýùðó×íÆsùëÎ÷å¿£ÇÔÃÐ!x–%z˜öùûöâ¹Œ¹É7… ^³Îáèÿÿÿ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£Ç =0 äB@@Éƒ4pð B	._œ@¡‚…dÐ “à< ¨ðDˆ¢EŒ @B ‚&N@E‘BEÁ, há¢à1 Ê˜aF¨6nÄ‘ãBQ;xô(èãGQ A„0(8„HFŽ I¢¤à&Gš¼tòJ)§PR”Ê
«X¹‚CÑ,(jÙÂ ]°x¸ÀÀ—‚	#fŒï1dÊ˜9ãM5kØ´!èæqâÈ™30:vî Ä“GÏ>àùþôñóø@‚*d¨`€Cˆ)ZÄˆ
 9Ê^âQ¸‰$“DI!•dÉ%˜°wP&‰h²	'6  E'ž|’(¡ˆ2Ð£RŠ)§ ‚J*ª @É*	
´`ƒí¡¬´’E
®¼¢á°tøá(PÄ"Ë,´ÔbË-²¬Ø" /:(£& à’‹._<0ÀŽ»ðâ¡@ BQP/—øBÉ/k ãG0Â\21Å ! Æ$rL'< °#2É(óÉžËŒÂL3ÎšÊ3ÐD#Í%ÓPS)Ö\ƒM6Ú˜h jlÃM7äÍ7à€NCT Îã”JŽŸå˜£ª9ç @:Aê¬ÃN;ì˜âÎ;ðÄ#ÏªæÌC0QÏ°õØs>ù4„G0ìècÑ>0D?ýø#ÖµØf«í¶Üvëí·à†kQ@ ;  07070100036dcb000081a40000000000000002000000013d1fe2db00000943000000200000000000000000000000000000001d00000003reloc/mysql/images/mysql.gif  GIF89a—0 ã  ÿÿÿããã   ÇÇÇªªªrrrUUUŽŽŽ999ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    —0  þÈI«½8ëÍí@Ç!ŒqEÇ}!)„E Îtmßx®ï|ïç—p´º¿MÀ@0¸eÓI:f‰gƒ RO©­¸"Çè4¦àpÞƒzo›e³¥]xÀoŒaj"{Fsˆl|‰buTJmsS„$~]˜G›F c—ž.r!«!ˆ$”Ž²=ƒ‘T‡b–§GY½™¤‹B‰ÂC©ˆFˆµ$º³Ò5v¦Íi¼É#±ÚÛ/Ï#ËiÆàÝæÊÌCÓï6¢m·m	jÁf(øBöÞ®9P à.®`¨Í+pgÔ<L7Gž€ð2r8GN1	þþ&–Û‚Ë”5N:I °Â „0Z äŒÝBŠ' ÚŽá4
ÍÀ“£O KM#ð(#-)ð,áÀ7€ºi'¤* ­AÓ`4ÄëPx8$í‰á‚´Q“ •éf…’Ã~9ñ‰·¢2Bâ^˜H¤CÁÃf% ÎDƒâàV@qÁ3,cžá¸ d
Íº^Xìf, V«tR€:ž¥ìN¸:B“
Â#%ðÌ-FkÒ$48è„€b«ÒšX…a€´U6KûvK@PI :“âÇ±W7%#Ñ^¡°)A ï§Œ¦—íÐ:7áÄŠð–f·
è>þ “ÑlÐ‘ 1@Éñ’'i@X!UCH„L(†ôzººq`À	à‡ÝÕ"‡±±7Tˆ¤c[ü•èI9`ÉøÕ)¶ÝõD.´H›G©_ÂÛR NP’=°éxaH!}©Xƒ“™&Ö|ôå8•-i˜S1ÂÀ¸&ÄiÇ‰(éfv¡“@2DÙ^B ðÉ¦;£™¸	Æáw@7n &Ñ5ÆZ#|&]îá™C´”ât¨é	¢éR2¹åi"Š«àgRö¤&¡ééb=úpFã—>`#"}ÑI”iŸ&ÀŠË¶eþ@·\0±´¶tˆlr{Uàž§™¢Ó*0Ò |ÐDVäñÍ8)ÀÑÉ©‚HßE7<:AŽcØë¨i<-èm¯UzD4SÍjbC™ÆEžZÒo]škÂKÎ¹#’Ôé„ïD‚Q
jy¤’HCŽ"[ÚC3„Q»ÈÙªíº%ûY§udS9Ü+Æ$l’ÖG¦Qº3¤8O [”êYYîÌ~'éÍÉ4Šo9úÆ•ŠV@_Ý¥˜ùýÃ…S}$ò!CJ+Ð¯a™:’¹}%Ü[¹ÊµºAã}AÀ €Ìd©m¤J¶adë;†Öˆ“IãŒDS·ž›ÁÕþØV¼%ÁXíÞ»·%º€_Ó(¼KÅoÏ©¿Î¬ì£¨PÐs…Xàa<h·kÙ¾h€¹„†J‚‘y§ÆÓ*¹ÞO
(º¨d%c_*ïÃ»<ÿÌ£39ÞŸø‹zÎ0„WºùÍçzp“°:ÞG%o qH®†I$«\20R%ôLIið£Zö& :°À›P\ W?úÍáx§’ëæ—ÀÃÍæ;;
_`þ;Òµl'ü(DvŠeÔzqóÕèd8Bä±/Â²Áprq©te`	=,žµÌð—ám€0 P“ârº¬ˆŠ
J‹$ˆ¸š¶j5O4‘þÏÐ!Óˆfc )¡èh=Ë‘!‡ðZsš‹éD‚?ñ M&§ @ ßüŒ8ô)Ð}‘ÛÃ6~è¥d"tc‘¸Æð25@Ž†ôRÄÞ C
–Íave¢Y³VB0H­Vkò]qˆR”z"gø© @!`c÷ÐÝÔç—®!ÉºB?üGWºžüè?*ÎÒxØÂ¤UÃ{˜L“&ëH½o¨ÀÌ…i³fÞ“™ð	Oä¥˜á´oêãU”rÒ´gÆðoî $2É¸é9íbsœ7å˜*!~HÑQ CR -ïñçiþ®™³êsbìç„àéÃjŒ>ª½c\ã#ýú¥Tñr0ñœTî4 'uó3ÝGL›ø¾T2})jÉ7+“bXÆ)n©C©;/Ð… @ÁËê¦ÂÎ¯–È:[ö	H5\’a¡C%@˜<v{]Í Ÿœ'—…ñœPã'A×©ÔlF~¬ˆD—HTY"¥GÒE½Ñ³ô3
l]€‚£:ö0õ_òØ«i%7• œv‡­ô«ÿ¼gCíZg¢³6¤hÒoŠ·ÚÖ$$|Xø‚VÖi‡jâJ‚Ä~¤–ž¸K
¡èLÞT(RþúZÓZ<ÊÊj _	K˜Då°¾ó$Y‘u˜ñø°NhÈXßÚ;k £n’tÞJÆ"Äpo	76/„a*	ˆîD˜Œi… Ø¨øk†c)H­@`aÈ+ÄÅ>/[ ­>SG ÅŒ‹:<¯bÿ´âò5pàh|ÜºHØŠU/jÍÉ€C<åj&ß°>ü"‹ "…ŠzLaâ~>ÞOpêp:µ/‡ Î	r\3ÀJt¢Ž« Š'³•³äà@Â2ÓCäAÅSñØy»GàSp!N.£-f66/”|q…Gà¯PØaA)ëé…h:eÕt¬|gýs?§™æ%’ ¿7À	#ƒqäæÄ„¸Á”«@B§nÍ.¡I“ò ÑÍ)`ÍJ¼¢è•(Ddªi`ÏŒ¥Änó,Èi
°?˜ W:H^(mÛYúÖ[È+.³ƒ£2ˆN‚°WÑëì/( ³"@×f«€Ã®ªF(u?`w Šò¶¸ÇMîr'947MÃ­îv»ûÝðŽ*¼çMïzÛûÞV9LZÜ‹ï~ûûß C´ð‚üàG+EÎð†;ÜÞ>æ÷Ã'NñŠåL¶¸Æ7Îñ9,¯ã ¹È“€šhüä(ïw  ; 07070100036dcc000081a40000000000000002000000013d1fe2db0000016e000000200000000000000000000000000000001d00000003reloc/mysql/images/table.gif  GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8†Í»ÿ`(J œhª®lë–Â ÏC@ß³ë5ž° ”ÙˆÅ¤±ˆìÂfx0E¯Ç¡vëæŠYï/¸óÝx4úL5ÞðQ[P¨Û»Þžß÷ñ{|su…|‰†&0„†wˆ‡Š„ƒ~“˜zŒUqŸ œ&Ž—€–’‹•›¥¦«¨”§—‘­´‡ª™¥´¶xs¡Àr±®³¤­~¸šÆ¹Ç›É¯»Ê‚ÃÌÑÆ½¢žÁÜÏÍË“Ùß½Ó¼Ñä¬ÒÐÎÕÓÄÌã0ÝôéºØèîìá¯òýdÅÓPà¢|©æÕëv¯˜¬£<—° ¼ƒ	F¼8"ñ¯}à$ÖÒ¸(SªL‘¡¥Ë—0cÊœI³¦Í›.  ;  07070100036dcd000081a40000000000000002000000013d1fe2db000001bf000000200000000000000000000000000000001e00000003reloc/mysql/images/tprivs.gif GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊI«=$çËWø` YhžhªBÛjî›ÅtmÛ«0ìÙìÀAøúˆÆ +'Ô	¼¦RH}~Ð¡OÀ$]›$'V‹ýŽ”Ü‹=&ÉÉ¯;¾T>¥ž ï£Ò,‚…ˆ„‚‡ˆ‹…Œ‹€‚Š†‘ƒ˜‘u•š—–¤˜’9…Šž¢ˆ¯Ž³œ“!&#~»!“¥a$›ŸÂµ¬‘Á¢£²§Ë«vœª§±ÄŸ¾ÃÑ%Ð´Ö9¼¹yß'×¨ª­¦´Í†äÔæÉåÜ¨ìÕª"¦©õóñÐÒéæ wÄ¡À%Pß´zç4á+ö›;O¸èÅ2¨Ž^¿ƒÁ{xsÌÕ?[ýìCÑÝ>CóilÇqØÅn7þÛö2cL–3±`È"$¯0VJt+bM€ÛZ–SˆÌY(™{TÒä²NÒú!%uã¡Q;AùKâCšhÓ¦%£ƒÛ$ÞÊ…;b®]îÚ% ·¯ß¿  ; 07070100036dce000081a40000000000000002000000013d1fe2db00000125000000200000000000000000000000000000001d00000003reloc/mysql/images/users.gif  GIF89a0 0 Â  ÿÿÿ   fffÌÌÌÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  Ø8ºÜþ0ÊI«!çË¥þ#Œ]¥5§2®¥DÛ*·PøÄ2I£¯›ë»…­ø	‚Œáí•C&{°Ë)„Gê3ªši1VÞÀø‡?ã_ÙúYÀ/¨Ê$Å×fzÇw÷Y}x:{XY~]t†ˆ‰X)iŒq#)‚ˆ+Œ,˜™†YœSfž@ ~v‡£¡oª«–‡w§Z@}³Nµ®
·A¹KJT¾<h_wq)¼Æ®=sÁ®‚ma4ËD/É‚•ÍØÚºOÝßQâãàÛÄ;¢"¶êÔ•iºæ~Ó¤÷Z	 ;   07070100032867000081e40000000000000002000000013d1fe2dc00000665000000200000000000000000000000000000001700000003reloc/mysql/import.cgi    #!/usr/local/bin/perl
# import.cgi
# Import data from a text file

require './mysql-lib.pl';
&ReadParseMime();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'import_err'});

if ($in{'mode'}) {
	# From uploaded file
	$in{'upload'} || &error($text{'import_eupload'});
	$in{'upload_filename'} =~ /([^\/\\\s]+)$/ ||
		&error($text{'import_eupload'});
	$file = &tempname($1);
	open(TEMP, ">$file");
	print TEMP $in{'upload'};
	close(TEMP);
	$need_unlink = 1;
	&header($text{'import_title'}, "");
	print "<hr>\n";
	print "<p>$text{'import_uploadout'}<p>\n";
	}
else {
	# From local file
	-r $in{'file'} || &error($text{'import_efile'});
	$file = $in{'file'};
	&header($text{'import_title'}, "");
	print "<hr>\n";
	print "<p>",&text('import_fileout', "<tt>$in{'file'}</tt>"),"<p>\n";
	}

# Execute the import command ..
if ($in{'table'}) {
	$nfile = &tempname("$in{'table'}.txt");
	system("cp $file $nfile");
	unlink($file) if ($need_unlink);
	$file = $nfile;
	$need_unlink = 1;
	}
$delete = $in{'delete'} ? "-d" : "";
$ignore = $in{'ignore'} ? "-i" : "";
print "<pre>";
&additional_log('exec', undef, "$config{'mysqlimport'} $authstr $delete $ignore $in{'db'} $file");
open(SQL, "$config{'mysqlimport'} $authstr $delete $ignore $in{'db'} $file 2>&1 |");
while(<SQL>) {
	print &html_escape($_);
	$got++ if (/\S/);
	}
close(SQL);
print "</pre>\n";
&webmin_log("import", undef, $in{'db'}, { 'mode' => $in{'mode'},
					  'file' => $in{'file'} });
unlink($file) if ($need_unlink);

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});

   07070100032868000081e40000000000000002000000013d1fe2dc000012d2000000200000000000000000000000000000001600000003reloc/mysql/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display all existing databases

require './mysql-lib.pl';

# Check for MySQL programs
if (!-x $config{'mysqladmin'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("mysql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eadmin', "<tt>$config{'mysqladmin'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!-x $config{'mysql'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("mysql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_esql', "<tt>$config{'mysql'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$out = `$config{'mysql'} -V 2>&1`;
if ($out =~ /lib\S+\.so/) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("mysql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_elibrary', "<tt>$config{'mysql'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
elsif ($out !~ /distrib\s+((3|4)\.[0-9\.]*)/i) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("mysql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_ever', "<tt>$config{'mysql'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$ver = $1;
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("mysql", "man", "doc", "google"),
	undef, undef, &text('index_version', $ver));
print "<hr>\n";

$r = &is_mysql_running();
if ($r == 0) {
	# Not running .. need to start it
	print "<p> <b>$text{'index_notrun'}</b> <p>\n";

	if ($access{'stop'}) {
		print "<hr>\n";
		print "<form action=start.cgi>\n";
		print "<table width=100%><tr><td>\n";
		print "<input type=submit ",
		      "value=\"$text{'index_start'}\"></td>\n";
		print "<td>",&text('index_startmsg',
		      "<tt>$config{'start_cmd'}</tt>"),"</td> </tr></table>\n";
		print "</form>\n";
		}
	}
elsif ($r == -1 && $access{'user'}) {
	# Running, but the user's password is wrong
	print "<p> <b>",&text('index_nouser', "<tt>$access{'user'}</tt>"),
	      "</b><p>\n";
	}
elsif ($r == -1) {
	# Running, but webmin doesn't know the root password!
	print "<p> <b>$text{'index_nopass'}</b> <p>\n";
	print "<form action=login.cgi>\n";
	print "<center><table border>\n";
	print "<tr $tb> <td><b>$text{'index_ltitle'}</b></td> </tr>\n";
	print "<tr $cb> <td><table cellpadding=2>\n";
	print "<tr> <td><b>$text{'index_login'}</b></td>\n";
	printf "<td><input name=login size=20 value='%s'></td> </tr>\n",
		$config{'login'};
	print "<tr> <td><b>$text{'index_pass'}</b></td>\n";
	printf "<td><input name=pass size=20 type=password value='%s'></td>\n",
		$config{'pass'};
	print "</tr> </table></td></tr></table>\n";
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=reset value='$text{'index_clear'}'>\n";
	print "</center></form>\n";
	}
else {
	# Running .. list databases
	print "<h3>$text{'index_dbs'}</h3>\n";
	@titles = grep { &can_edit_db($_) } &list_databases();
	@icons = map { "images/db.gif" } @titles;
	@links = map { "edit_dbase.cgi?db=$_" } @titles;
	print "<a href=newdb_form.cgi>$text{'index_add'}</a> <br>\n"
		if ($access{'create'});
	if ($config{'style'}) {
		@tables = map { @t = &list_tables($_); scalar(@t) } @titles;
		@titles = map { &html_escape($_) } @titles;
		&split_table([ $text{'index_db'}, $text{'index_tables'} ],
			     \@links, \@titles, \@tables) if (@titles);
		}
	else {
		@titles = map { &html_escape($_) } @titles;
		&icons_table(\@links, \@titles, \@icons);
		}
	print "<a href=newdb_form.cgi>$text{'index_add'}</a> <p>\n"
		if ($access{'create'});

	if ($access{'perms'}) {
		print "<hr>\n";
		print "<h3>$text{'index_global'}</h3>\n";
		@links = ( 'list_users.cgi', 'list_dbs.cgi', 'list_hosts.cgi',
			   'list_tprivs.cgi', 'list_cprivs.cgi' );
		@titles = ( $text{'users_title'}, $text{'dbs_title'},
			    $text{'hosts_title'}, $text{'tprivs_title'},
			    $text{'cprivs_title'} );
		@images = ( 'images/users.gif', 'images/dbs.gif',
			    'images/hosts.gif', 'images/tprivs.gif',
			    'images/cprivs.gif' );
		if ($access{'perms'} == 2) {
			shift(@links); shift(@titles); shift(@images);
			}
		&icons_table(\@links, \@titles, \@images, 5);
		}

	if ($access{'stop'}) {
		print "<hr>\n";
		print "<form action=stop.cgi>\n";
		print "<table width=100%><tr><td>\n";
		print "<input type=submit ",
		      "value=\"$text{'index_stop'}\"></td>\n";
		print "<td>$text{'index_stopmsg'}</td> </tr></table>\n";
		print "</form>\n";
		}
	}

print "<hr>\n";
&footer("/", "index");

  0707010003839d000041ed0000000000000001000000023d1ffabf00000000000000200000000000000000000000000000001100000003reloc/mysql/lang  0707010003839e000081a40000000000000002000000013d1fe2db00004647000000200000000000000000000000000000001400000003reloc/mysql/lang/ca   index_title=Servidor de BD MySQL
index_notrun=MySQL no està en execució al sistema - no es pot recuperar la llistat de bases de dades.
index_start=Inicia el Servidor MySQL
index_startmsg=Prem aquest botó per iniciar el servidor de bases de dades MySQL amb l'ordre $1. Aquest mòdul Webmin no pot administrar la base de dades fins que aquesta s'inicii.
index_nopass=Webmin necessita saber el teu nom d'ususari i la teva contrasenya MySQL per tal de gestionar la base de dades. Introdueix el teu nom d'usuari (habitualment <tt>root</tt>) i la teva contrasenya, si et plau.
index_ltitle=Connexió a MySQL
index_login=Usuari
index_pass=Contrasenya
index_clear=Neteja
index_stop=Atura el Servidor MySQL
index_stopmsg=Prem aquest botó per aturar el servidor de bases de dades MySQL. Això impedirà a qualsevol usuari o programa l'accés a la base de dades, incloent-hi aquest mòdul Webmin.
index_dbs=Bases de Dades MySQL
index_add=Crea una nova base de dades
index_global=Opcions Globals
index_return=a la llista de bases de dades
index_eadmin=No s'ha trobat al sistema el programa d'administració $1 de MySQL. Pot ser que MySQL no estigui instal·lat, o bé que la configuració del mòdul <a href='$2'><a> sigui incorrecta.
index_esql=No s'ha trobat al sistema el programa client $1 de MySQL. Pot ser que MySQL no estigui instal·lat, o bé que la configuració del mòdul <a href='$2'><a> sigui incorrecta.
index_ever=No sembla que la versió del programa client $1 de MySQL sigui la correcta. Webmin només suporta la versió 3 de MySQL i superiors.
index_nouser=El teu compte Webmin està configurat per connectar-te al servidor MySQL com a usuari $1, però aquest usuari hi té l'accés denegat. 
index_db=Base de Dades
index_tables=Taules
index_elibrary=No es pot executar el programa client MySQL $1 perquè no es troben les llibreries compartides de MySQL. Comprova la <a href='$2'>configuració del mòdul</a> i assegura't que el <i>Camí del les llibreries compartides de MySQL</i> està posat.
index_version=Versió MySQ $1

login_err=La connexió ha fallat
login_ecannot=No tens permís per configurar la connexió a la base de dades
login_elogin=No hi ha l'usuari d'administració
login_epass=Usuari o contrasenya incorrectes

stop_err=No he pogut aturar la base de dades
start_err=No he pogut engegar la base de dades

dbase_title=Edició de Base de Dades
dbase_tables=Taules de la Base de Dades
dbase_add=Crea nova taula
dbase_drop=Destrueix BD
dbase_exec=Executa SQL
dbase_backup=Volca BD
dbase_none=Aquesta base de dades no té taules.
dbase_fields=Columnes:
dbase_return=a la llista de taules
dbase_ecannot=No tens permís per editar aquesta base de dades
dbase_table=Taula
dbase_rows=Files
dbase_cols=Columnes

ddrop_err=No he pogut destruir la base de dades
ddrop_title=Destrucció de Base de Dades
ddrop_rusure=Segur que vols destruir la base de dades $1? S'eliminaran $2 taules que contenen $3 files de dades.
ddrop_mysql=Aquesta és la base de dades mestra, destruir-la farà que el servidor MySQL sigui inoperatiu!
ddrop_ok=Destrueix la Base de Dades
ddrop_empty=Suprimeix només totes les taules

table_title=Edició de Taula
table_title2=Creació de Taula
table_header=Taula $1 de la base de dades $2
table_field=Columna
table_type=Tipus
table_null=Permet nuls
table_key=Clau
table_default=Valor per defecte
table_extra=Extres
table_pri=Primària
table_mul=Indexada
table_none=Cap
table_add=Afegeix columna del tipus:
table_return=a la llista de columnes
table_data=Mostra les Dades
table_drop=Destrueix la Taula
table_name=Nom de la Taula
table_copy=Copia les columnes de la taula
table_copynone=&lt;Cap&gt;
table_copydata=Copia també les dades
table_initial=Columnes inicials
table_header2=Opcions de la nova taula
table_err=No he pogut crear la taula
table_ename=No hi ha el nom de taula o bé és incorrecte
table_efield='$1' no és un nom de taula vàlid
table_etype=No hi ha el tipus de la columna $1
table_esize=No hi ha la mida de la columna $1
table_enone=No s'ha trobat cap camp inicial
table_type_=Defecte
table_type_isam=ISAM
table_type_myisam=MyISAM
table_type_heap=Heap
table_type_merge=Merge
table_type_innodb=InnoDB

tdrop_err=No he pogut destruir la taula
tdrop_title=Destrucció de Taula
tdrop_rusure=¿Segur que vols destruir la taula $1 de la base de dades $2? Se suprimiran $3 files de dades.
tdrop_ok=Destrueix la Taula

field_title1=Addició de Columna
field_title2=Modificació de Columna
field_in=de la taula $1 de la base de dades $2
field_header=Paràmetres de la columna
field_name=Nom de la columna
field_type=Tipus de dades
field_size=Longitud
field_enum=Valors enumerats
field_dual=Longitud i decimals
field_opts=Opcions del tipus
field_auto=Autoincrement
field_none=Cap
field_unsigned=Sense signe
field_zerofill=Emplena amb zeros
field_ascii=Insensible a caixa
field_binary=Sensible a caixa
field_null=Permet nuls
field_default=Valor per defecte
field_key=És part de la clau primària
field_err=No he pogut desar la columna
field_esize='$1' no és una longitud vàlida de columna
field_eenum=No s'ha introduït cap valor enumerat
field_efield='$1' no és un nom de columna vàlid
field_ekey=Els camps que permeten nuls no poden formar part de la clau primària

view_title=Dades de la Taula
view_pos=Files $1 a $2 de $3
view_none=Aquesta taula no conté dades
view_edit=Edita les files seleccionades
view_new=Afegeix fila
view_delete=Suprimeix les files seleccionades
view_nokey=Les dades d'aquesta taula no es poden editar perquè no té clau primària.
view_all=Selecciona-ho Tot
view_invert=Inverteix la selecció
view_search=Busca files on la columna $2 coincideix amb $1
view_searchok=Busca
view_searchhead=Resultats de la recerca de $1 a la columna $2 ...
view_searchreset=Reinicia la recerca
view_field=Nom de la columna
view_data=Dades noves
view_jump=Salta a la línia:

users_title=Permisos d'Usuari
users_user=Usuari
users_host=Hosts
users_pass=Contrasenya xifrada
users_perms=Permisos
users_add=Crea nou usuari
users_priv3=Seleccionar
users_priv4=Inserir
users_priv5=Actualitzar
users_priv6=Suprimir
users_priv7=Crear
users_priv8=Destruir
users_priv9=Recarregar
users_priv10=Tancar
users_priv11=Procés
users_priv12=Fitxers
users_priv13=Concedir
users_priv14=Referenciar
users_priv15=Índexs
users_priv16=Alterar
users_all=Tots
users_anon=Anònim
users_none=Cap
users_return=a la llista d'usuaris
users_sync=Les opcions de sota configuren la sincronització entre els usuaris Unix creats per Webmin i el susuaris MySQL.
users_sync_create=Afegeix un nou usuari MySQL quan es crei un usuari Unix, amb els permisos...
users_sync_modify=Actualitza un usuari MySQL quan es modifiqui l'usuari Unix corresponent.
users_sync_delete=Suprimeix un usuari MySQL quan se suprimeixi l'usuari Unix corresponent.
users_sync_privs=Permisos dels nous usuaris

user_title1=Creació s'Usuari
user_title2=Edició d'Usuari
user_header=Detalls d'usuari MySQL
user_user=Nom d'usuari
user_all=Usuari anònim
user_pass=Contrasenya
user_leave=No ho canviïs
user_none=Cap
user_any=Qualsevol
user_set=Canvia-la per ...
user_host=Hosts
user_perms=Permisos
user_priv3=Seleccionar dades de les taules
user_priv4=Inserir dades a les taules
user_priv5=Actualitzar les dades de les taules
user_priv6=Suprimir dades de les taules
user_priv7=Crear taules
user_priv8=Destruir taules
user_priv9=Recarregar permisos
user_priv10=Tancar la base de dades
user_priv11=Administrar processos
user_priv12=Operacions de fitxers
user_priv13=Concedir privilegis
user_priv14=Operacions de referència
user_priv15=Administrar índexs
user_priv16=Alterar taules
user_err=No he pogut desar l'usuari
user_euser=No hi ha nom d'usuari o bé és incorrecte
user_ehost=No hi ha nom(s) de host(s) o bé són incorrecte(s)

dbs_title=Permisos de Bases de Dades
dbs_db=Bases de Dades
dbs_user=Usuari
dbs_host=Hosts
dbs_perms=Permisos
dbs_anon=Anònim
dbs_any=Qualsevol
dbs_empty=No hi ha permisos de base de dades definits
dbs_hosts=Dels permisos del host
dbs_add=Crea nous permisos de bases de dades
dbs_priv3=Seleccionar
dbs_priv4=Inserir
dbs_priv5=Actualitzar
dbs_priv6=Suprimir
dbs_priv7=Crear
dbs_priv8=Destruir
dbs_priv9=Concedir
dbs_priv10=Referenciar
dbs_priv11=Índexs
dbs_priv12=Alterar
dbs_all=Tots
dbs_none=Cap
dbs_return=als permisos de la base de dades

db_title1=Creació de Permisos de Bases de Dades
db_title2=Edició de Permisos de Base de Dades
db_header=Opcions dels permisos de bases de dades
db_db=Bases de Dades
db_user=Usuari
db_anon=Usuari anònim
db_host=Hosts
db_hosts=Dels permisos del host
db_any=Qualsevol
db_perms=Permisos
db_priv3=Seleccionar dades de les taules
db_priv4=Inserir dades a les taules
db_priv5=Actualitzar les dades de les taules
db_priv6=Suprimir dades de les taules
db_priv7=Crear taules
db_priv8=Destruir taules
db_priv9=Concedir privilegis
db_priv10=Operacions de referència
db_priv11=Administrar índexs
db_priv12=Alterar taules
db_err=No he pogut desar els permisos de bases de dades
db_euser=Hi falta el nom d'usuari o bé no és correcte
db_ehost=Hi falta el nom de host o bé no és correcte
db_edb=Hi falta la base de dades o bé no és correcta

hosts_title=Permisos del Host
hosts_db=Bases de Dades
hosts_host=Hosts
hosts_perms=Permisos
hosts_any=Qualsevol
hosts_all=Tots
hosts_priv2=Seleccionar
hosts_priv3=Inserir
hosts_priv4=Actualitzar
hosts_priv5=Suprimir
hosts_priv6=Crear
hosts_priv7=Destruir
hosts_priv8=Concedir
hosts_priv9=Referenciar
hosts_priv10=Índexs
hosts_priv11=Alterar
hosts_none=Cap
hosts_add=Crea nous permisos de host
hosts_empty=No hi ha permisos de host definits

host_title1=Creació de Permisos de Host
host_title2=Edició de Permisos de Host
host_header=Opcions dels permisos de host
host_db=Bases de Dades
host_any=Qualsevol
host_priv2=Seleccionar dades de les taules
host_priv3=Inserir dades a les taules
host_priv4=Actualitzar dades de les taules
host_priv5=Suprimir dades de les taules
host_priv6=Crear taules
host_priv7=Destruir taules
host_priv8=Concedir privilegis
host_priv9=Operacions de referència
host_priv10=Administrar índexs
host_priv11=Alterar taules
host_host=Hosts
host_perms=Permisos

newdb_title=Creació de Base de Dades
newdb_header=Opcions de la nova base de dades
newdb_db=Nom de la base de dades
newdb_table=Taula inicial
newdb_none=Cap
newdb_struct=Estructura inicial de taula
newdb_err=No he pogut crear la base de dades
newdb_edb=Hi falta la base de dades o bé no és correcta
newdb_ecannot=No tens permís per crear bases de dades

exec_title=Execució de SQL
exec_header=Introdueix una ordre SQL per executar sobre $1...
exec_old=O selecciona una ordre SQL prèvia:
exec_exec=Executa
exec_clear=Neteja l'Historial
exec_header2=Selecciona el fitxer d'ordres SQL per executar sobre $1 ...
exec_file=Des d'un fitxer local
exec_upload=Des d'un fitxer pujat
exec_err=No he pogut executar l'SQL
exec_out=Resposta de l'ordre SQL $1 ...
exec_none=No s'ha retornat cap dada
exec_eupload=No s'ha seleccionat cap fitxer per pujar
exec_efile=El fitxer local no existeix
exec_uploadout=Resposta de les ordres SQL pujades ...
exec_fileout=Resposta de les ordres SQL del fitxer $1 
exec_noout=No s'ha generat cap resposta
exec_return=Executa el formulari SQL
exec_import=Taula on s'hi han d'importar les dades
exec_header3=Selecciona el fitxer de dades de text per importar a la base de dades MySQL $1...
exec_header4=Aquest fitxer ha de contenir un registre de base de dades per línia, amb els camps separats per tabuladors.
exec_delete=Suprimeix primer les dades de la taula
exec_filename=Del fitxer
exec_ignore=Ignora files duplicades

tprivs_title=Permisos de Taules
tprivs_table=Taula
tprivs_db=Base de Dades
tprivs_host=Hosts
tprivs_user=Usuari
tprivs_privs1=Permisos de la taula
tprivs_privs2=Permisos de la columna
tprivs_all=Tots
tprivs_anon=Anònim
tprivs_add=Afegeix permisos nous a la base de dades:
tprivs_norows=No hi ha permisos de taules definits
tprivs_return=als permisos de les taules
tprivs_none=Cap

tpriv_title1=Creació de Permisos de Taules
tpriv_title2=Edició de Permisos de Taules
tpriv_header=Opcions dels permisos de taules
tpriv_db=Base de Dades
tpriv_table=Taula
tpriv_user=Usuari
tpriv_host=Hosts
tpriv_perms1=Permisos de la Taula
tpriv_perms2=Permisos de la columna
tpriv_any=Qualsevol
tpriv_anon=Usuari anònim
tpriv_err=No he pogut desar els permisos de taules
tpriv_etable=No hi ha cap taula seleccionada
tpriv_euser=Hi falta el nom d'usuari o bé no és correcte
tpriv_ehost=Hi falta el nom de host o bé no és correcte

cprivs_title=Permisos de Columna
cprivs_field=Columna
cprivs_table=Taula
cprivs_db=Base de Dades
cprivs_host=Hosts
cprivs_user=Usuari
cprivs_privs=Permisos
cprivs_all=Tots
cprivs_anon=Anònim
cprivs_add=Afegeix permisos nous a la base de dades / taula:
cprivs_norows=No hi ha permisos de columna definits
cprivs_return=als permisos de les columnes
cprivs_none=Cap

cpriv_title1=Creació de  Permisos de Columna
cpriv_title2=Edició de Permisos de Columna
cpriv_header=Opcions dels permisos de columna
cpriv_db=Base de Dades
cpriv_table=Taula
cpriv_field=Columna
cpriv_user=Usuari
cpriv_host=Hosts
cpriv_perms=Permisos
cpriv_any=Qualsevol
cpriv_anon=Usuari anònim
cpriv_err=No he pogut desar els permisos de les columnes
cpriv_etable=No hi ha cap camp seleccionat
cpriv_euser=No hi ha el nom de l'usuari o bé és incorrecte
cpriv_ehost=No hi ha el nom de host o bé és incorrecte

esql=L'SQL $1 ha fallat: $2
perms_ecannot=No tens permís per editar els permisos
perms_edb=Només tens permís per a editar els permisos de les teves bases de dades

acl_dbs=Bases de dades que aquest usuari pot administrar
acl_dall=Totes les bases de dades
acl_dsel=Seleccionades...
acl_create=Pot crear noves bases de dades
acl_bpath=Copiar el directori de fitxers
acl_buser=Copiar el directori de fitxers com usuari Unix
acl_delete=Pot destruir bases de dades
acl_stop=Pot engegar i aturar el servidor MySQL
acl_perms=Pot editar permisos
acl_only=Només per a bases de dades administrades
acl_login=Connecta't a MySQL com 
acl_user_def=Usuari del Mòdul Config
acl_user=Usuari
acl_pass=Contrasenya
acl_edonly=Només pot editar les dades de la taula

log_start=Servidor MySQL engegat
log_stop=Servidor MySQL aturat
log_db_create=Base de dades $1 creada
log_db_delete=Base de dades $1 destruïda
log_table_create=Taula $1 creada a la base de dades $2
log_table_delete=Taula $1 destruïda a la base de dades $2
log_field_create=Columna $1 $4 afegida a $2 de la base de dades $3
log_field_modify=Columna $1 $4 modificada a $2 de la base de dades $3
log_field_delete=Columna $1 suprimida a $2 de la base de dades $3
log_data_create=Fila afegida a la taula $2 de la base de dades $3
log_data_modify=$1 files modificades a la taula $2 de la base de dades $3
log_data_delete=$1 files suprimides a la taula $2 de la base de dades $3
log_exec=SQL executat a la base de dades $1
log_exec_l=Ordre SQL $2 executada a la base de dades $1
log_user_create=Permisos creats per a l'usuari $1, host $2
log_user_delete=Permisos suprimits per a l'usuari $1, host $2
log_user_modify=Permisos modificats per a l'usuari $1, host $2
log_perm_create=Permisos creats per a la base de dades $3, usuari $1, host $2
log_perm_delete=Permisos suprimits per a la base de dades $3, usuari $1, host $2
log_perm_modify=Permisos modificats per a la base de dades $3, usuari $1, host $2
log_host_create=Permisos creats per al host $2, base de dades $3
log_host_delete=Permisos suprimits per al host $2, base de dades $3
log_host_modify=Permisos modificats per al host $2, base de dades $3
log_tpriv_create=Permisos creats per a la taula $4, base de dades $3
log_tpriv_delete=Permisos suprimits per a la taula $4, base de dades $3
log_tpriv_modify=Permisos modificats per a la taula $4, base de dades $3
log_tpriv_create_l=Permisos creats per a la taula $4, base de dades $3, usuari $1, host $2
log_tpriv_delete_l=Permisos suprimits per a la taula $4, base de dades $3, usuari $1, host $2
log_tpriv_modify_l=Permisos modificats per a la taula $4, base de dades $3, usuari $1, host $2
log_cpriv_create=Permisos creats per a la columna $5, taula $4
log_cpriv_delete=Permisos suprimits per a la columna $5 taula $4
log_cpriv_modify=Permisos modificats per a la columna $5, taula $4
log_cpriv_create_l=Permisos creats per a la columna $5, taula $4, base de dades $3, usuari $1, host $2
log_cpriv_delete_l=Permisos suprimits per a la columna $5 taula $4, base de dades $3, usuari $1, host $2
log_cpriv_modify_l=Permisos modificats per a la columna $5, taula $4, base de dades $3, usuari $1, host $2
log_anon=anònim
log_any=qualsevol
log_backup=He volcat la base de dades $1
log_backup_l=He volcat la base de dades $1 al fitxer $2
log_execupload=He executat les ordres SQL del fitxer pujat
log_execfile=He executat les ordres SQL del fitxer $1
log_importupload=He importat les dades del fitxer pujat
log_importfile=He importat les dades del fitxer $1

backup_title=Volcat de la Base de Dades
backup_edump=No s'ha trobat al sistema el programa de volcat $1 de MySQL. Pot ser que la configuració del mòdul <a href='$2'><a> sigui incorrecta.
backup_desc=Aquest formulari permet volcar la base de dades $1 com un fitxer d'instruccions SQL. Per restaurar un volcat, pots utilitzar el formulari d'execució SQL per executar les ordres del fitxer.
backup_header=Opcions del volcat de bases de dades
backup_file=Volca a fitxer
backup_where=Volca només les files que coincideixin amb la clàusula <tt>WHERE</tt>
backup_none=Totes les files
backup_drop=Afegeix instruccions <tt>DROP TABLE</tt> al volcat
backup_ok=Fes el Volcat Ara
backup_err=El volcat de la base de dades ha fallat
backup_efile=No hi ha el nom del fitxer o bé és incorrecte
backup_epath=Camí del volcat incorrecte
backup_ewhere=No hi ha clàusula <tt>WHERE</tt> o bé és incorrecta
backup_ebackup=<tt>mysqldump</tt> ha fallat: $1
backup_done=He volcat amb èxit $3 bytes de la base de dades $1 al fitxer $2.

import_title=Importació de Dades
import_uploadout=Important les dades des del fitxer pujat...
import_fileout=Important les dades del fitxer $1...
import_eupload=Hi falta el fitxer pujat d'importació
import_efile=Hi falta el fitxer d'importació


 0707010003839f000081a40000000000000002000000013d1fe2db00002871000000200000000000000000000000000000001400000003reloc/mysql/lang/cz   index_title=MySQL Databázový Server  
index_notrun=MySQL nebì¾í na va¹em systemu - list databází nemù¾e být sta¾en.  
index_start=Start MySQL Server   
index_startmsg=Klikni na tohle tlaèítko pro spu¹tìní MySQL database serveru na Va¹em systemu prikazem $1. Tento Webmin modul nemù¾e administrovat databázi dokud server nebì¾í.  
index_nopass=Webmin potøebuje znát Vá¹ MySQL administrèní login a heslo in order to øízení Va¹í databáze. Prosím zadejte Va¹e administraèní jméno (obvykle <tt>root</tt>) a heslo ní¾e.  
index_ltitle=MySQL Login   
index_login=Login   
index_pass=Heslo  
index_clear=Clear   
index_stop=Stop MySQL Server   
index_stopmsg=Klikni na tohle tlaèítko pro zastavení MySQL database serveru na Va¹em systemu. Toto odpojí v¹echny u¾ivatele nebo programy které pøistupují do databáze, vèetnì tohoto Webmin modulu.  
index_dbs=MySQL Databáze   
index_add=Vytvoøení nové databáze   
index_global=Hlavní Mo¾nosti 
index_return=Database Server   
index_eadmin=MySQL admin program $1 nebyl nalezen na  Va¹em systému. Mo¾ná MySQL není instalována, nebo Va¹e <a href='$2'> konfigurace modulu </a> je neplatná.   
index_esql=MySQL client program $1 nebyl nalezen na  Va¹em systému. Mo¾ná MySQL není instalována, nebo Va¹e <a href='$2'>konfigurace modulu</a> je neplatná.   
index_ever=MySQL client program $1 does not appear to be the correct version. Webmin only support MySQL version 3.  
  
login_err=Login neuspì¹ný  
login_ecannot=Nejste oprávnìn konfigurovat pøístup do databáze  
login_elogin=Chybý administraèní login  
login_epass=©patné administraèní jmeno nebo heslo  
  
stop_err=Neuspì¹ný stop databáze  
start_err=Neuspì¹ný start database  
  
dbase_title=Editace Databáze  
dbase_tables=Tabulky Databáze  
dbase_add=Vytvoøení nové tabulky  
dbase_drop=Zru¹ení Databáze  
dbase_exec=Provedení SQL  
dbase_none=Tato databáze nemá ¾ádné tabulky.  
dbase_fields=Polozky:  
dbase_return=výpis tabulek  
dbase_ecannot=Nejste oprávnìn editovat tuto databázi  
  
ddrop_err=Neúspì¹né zru¹ení databáze  
ddrop_title=Drop Databáze  
ddrop_rusure=Jste si jist ¾e chcete zru¹it databázi $1 ? $2 tabulek obsahuje $3 øádkù dat, která budou smazána.  
ddrop_mysql=Proto¾e je to hlavní databáze, její zru¹ení bude pravdìpodobnì znamenat, ze Vá¹  MySQL server bude nepou¾itelný!!!  
ddrop_ok=Zru¹ databázi  
  
table_title=Editace Tabulky  
table_title2=Vytvoøení Tabulky  
table_header=Tabulka $1 v databázi $2  
table_field=Název polo¾ky 
table_type=Typ 
table_null=Povolit NULL? 
table_key=Klíè 
table_default=Standartní hodnota  
table_extra=Extras  
table_pri=Primary  
table_mul=Indexed  
table_none=None  
table_add=Pøidej polo¾ku typu:  
table_return=Výpis polo¾ek  
table_data=Prohlí¾ení Dat  
table_drop=Zru¹ Tabulku  
table_name=Název Tabulky 
table_initial=Poèáteèní polo¾ky  
table_header2=Nová tabulka 
table_err=Neúspì¹né vytvoøení tabulky  
table_ename=Chybìjící nebo neplatný název tabulky  
table_efield='$1' není platný název polo¾ky  
table_etype=Chybìjící typ pro polo¾ku $1  
table_esize=Chybìjící ¹íøka typu pro polo¾ku $1  
table_enone=Poèáteèní polo¾ka nebyla vlo¾ena  
  
tdrop_err=Neúspì¹né zru¹ení tabulky 
tdrop_title=Zrus Tabulku 
tdrop_rusure=Jste si jist ¾e chcete zru¹it tabulku $1 v databázi $2 ? $3 øádkù dat bude smazáno.  
tdrop_ok=Zru¹ tabulku 
  
field_title1=Pøidej polo¾ku  
field_title2=Zmìn polo¾ku 
field_in=v tabulce $1 v databázi $2  
field_header=Parametry polo¾ky  
field_name=Název polo¾ky 
field_type=Typ dat 
field_size=©íøka typu 
field_enum=Indexované hodnoty  
field_dual=Width and decimals  
field_opts=Mo¾nosti typu  
field_auto=Autoincrement?  
field_none=None  
field_unsigned=Unsigned  
field_zerofill=Fill with zeros  
field_ascii=Nerozli¹ovat velikost písmen 
field_binary=Rozli¹ovat velikost písmen  
field_null=Povolit NULL?  
field_default=Standartní hodnota   
field_key=Èást primárního klíèe?  
field_err=Neúspì¹né ulo¾ení polo¾ky  
field_esize='$1' není platná ¹íøka polo¾ky  
field_eenum=No enumerated values entered  
field_efield='$1' není platný název polo¾ky  
field_ekey=Polo¾ka, která nemá povoleny NULL nemù¾e být souèástí primárního klíèe   
  
view_title=Data Tabulky 
view_pos=Rows $1 to $2 of $3  
view_none=Tato tabulka neobsahuje data  
view_edit=Editovat oznaèené øádky 
view_new=Pøidat øádek 
view_delete=Smazat oznaèené øádky 
view_nokey=Data v této tabulce nemohou být editována, proto¾e nemají primární klíè.  
  
users_title=Oprávnìní U¾ivatelù
users_user=U¾ivatel 
users_host=Hostitel 
users_pass=Zakódované heslo  
users_perms=Oprávnìní 
users_add=Vytvoøení nového u¾ivatele  
users_priv3=Select  
users_priv4=Insert  
users_priv5=Update  
users_priv6=Delete  
users_priv7=Create  
users_priv8=Drop  
users_priv9=Reload  
users_priv10=Shutdown  
users_priv11=Process  
users_priv12=File  
users_priv13=Grant  
users_priv14=References  
users_priv15=Index  
users_priv16=Alter  
users_all=V¹e
users_anon=Anonym
users_none=®ádné
users_return=seznam u¾ivatelù  
  
user_title1=Vytvoøení u¾ivatele 
user_title2=Editace u¾ivatele 
user_header=MySQL u¾ivatelovy detaily  
user_user=U¾ivatelské jméno 
user_all=Anonymní u¾ivatel 
user_pass=Heslo 
user_leave=Beze zmìny 
user_none=®ádné 
user_any=V¹echny 
user_set=Nastav na ...  
user_host=Hostitel  
user_perms=Oprávnìní 
user_priv3=Select table data  
user_priv4=Insert table data  
user_priv5=Update table data  
user_priv6=Delete table data  
user_priv7=Create tables  
user_priv8=Drop tables  
user_priv9=Reload grants  
user_priv10=Shutdown database  
user_priv11=Manage processes  
user_priv12=File operations  
user_priv13=Grant privileges   
user_priv14=Reference operations  
user_priv15=Manage indexes  
user_priv16=Alter tables  
user_err=Neúspì¹né ulo¾ení u¾ivatele  
user_euser=Chybìjící nebo neplatné u¾ivatelské jméno  
user_ehost=Chybìjící nebo neplatný hostitel 
  
dbs_title=Oprávnìní k Databázi
dbs_db=Databáze  
dbs_user=U¾ivatel 
dbs_host=Hostitel 
dbs_perms=Práva 
dbs_anon=Anonym 
dbs_any=Jakákoliv 
dbs_empty=Oprávnìní k databázi nejsou definovány 
dbs_hosts=Oprávnìní hostitelù 
dbs_add=Vytvoøit nové oprávnìní k databázi
dbs_priv3=Select  
dbs_priv4=Insert  
dbs_priv5=Update  
dbs_priv6=Delete  
dbs_priv7=Create  
dbs_priv8=Drop  
dbs_priv9=Grant  
dbs_priv10=References  
dbs_priv11=Index  
dbs_priv12=Alter  
dbs_all=All  
dbs_none=None  
dbs_return=databáze oprávnìní 
  
db_title1=Vytvoøení Oprávnìní k Databázi
db_title2=Editace Oprávnìní k Databázi
db_header=Databáze Oprávnìní mo¾nosti 
db_db=Databáze  
db_user=U¾ivatelské jméno 
db_anon=Anonymní u¾ivatel 
db_host=Hostitelé
db_hosts=Z hostitelských oprávìní
db_any=Jakýkoliv
db_perms=Oprávnìní 
db_priv3=Select table data  
db_priv4=Insert table data  
db_priv5=Update table data  
db_priv6=Delete table data  
db_priv7=Create tables  
db_priv8=Drop tables  
db_priv9=Reload grants  
db_priv10=Shutdown database  
db_priv11=Manage processes  
db_priv12=File operations  
db_priv13=Grant privileges  
db_priv14=Reference operations  
db_priv15=Manage indexes  
db_priv16=Alter tables  
db_err=Neúspì¹né ulo¾ení databáze oprávnìní 
db_euser=Chybìjící nebo neplatné u¾ivatelské jméno  
db_ehost=Chybìjící nebo neplatný hostitel 
db_edb=Chybìjící nebo neplatné jméno databáze  
  
hosts_title=Oprávnìní Hostitelù
hosts_db=Databáze  
hosts_host=Hostitelé 
hosts_perms=Oprávnìní 
hosts_any=Jakákoliv 
hosts_all=V¹ichni 
hosts_none=®ádný 
hosts_add=Vytvoøit nové hostitelské oprávnìní 
hosts_empty=®ádné hostitelské oprávnìní není definováno 
  
host_title1=Vytvoøení Nového Hostitelského Oprávnìní  
host_title2=Editace Hostitelského Oprávnìní 
host_header=Mo¾nosti hostitelského oprávnìní
host_db=Databáze  
host_any=Jakýkoliv 
host_host=Hostitelé 
host_perms=Oprávnìní 
  
newdb_title=Vytvoøení Databáze  
newdb_header=Nová databáze  
newdb_db=Jméno Databáze 
newdb_table=Poèáteèní tabulka  
newdb_none=®ádná 
newdb_struct=Poèáteèní struktura tabulky  
newdb_err=Neúspì¹né vytvoøení databáze  
newdb_edb=Chybìjící nebo neplatné jméno databáze  
newdb_ecannot=Nemáte povoleno vytvoøit databázi  
  
exec_title=Provést SQL  
exec_header=Vlo¾ SQL pøíkaz pro provedení na databázi $1 ..  
exec_exec=Proveï  
exec_err=Neúspì¹né provedení SQL  
exec_out=Výstup z SQL pøíkazu $1 ..  
exec_none=®ádná data 
  
tprivs_title=Oprávnìní pøístupu k tabulkám 
tprivs_table=Tabulka  
tprivs_db=Databáze  
tprivs_host=Hostitel 
tprivs_user=U¾ivatel  
tprivs_privs1=Tabulka - oprávnìní 
tprivs_privs2=Polo¾ky - oprávnìní  
tprivs_all=V¹e  
tprivs_anon=Anonym  
tprivs_add=Pøidej oprávnìní k tabulce:  
tprivs_norows=Oprávnìní k tabulkám nejsou definována 
tprivs_return=oprávnìní k tabulkám
tprivs_none=¾ádné 
  
tpriv_title1=Vytvoø Oprávnìní k Tabulce 
tpriv_title2=Editace Oprávnìní k Tabulce 
tpriv_header=Mo¾nosti Oprávnìní  k Tabulce
tpriv_db=Databáze 
tpriv_table=Tabulka 
tpriv_user=U¾ivatelské jméno  
tpriv_host=Hostitel 
tpriv_perms1=Tabulka oprávnìní 
tpriv_perms2=Polo¾ky oprávnìní  
tpriv_any=Ka¾ký 
tpriv_anon=Anonymní u¾ivatel  
tpriv_err=Neúspì¹né ulo¾ení Oprávnìní k Tabulce 
tpriv_etable=®ádná tabulka není vybraná 
tpriv_euser=Chybìjící nebo neplatné u¾ivatelské jméno 
tpriv_ehost=Chybìjící nebo neplatný hostitel 
  
cprivs_title=Oprávnìní k Polo¾kám  
cprivs_field=Polo¾ka 
cprivs_table=Tabulka  
cprivs_db=Databáze  
cprivs_host=Hostitelé 
cprivs_user=U¾ivatel 
cprivs_privs=Oprávnìní 
cprivs_all=V¹e 
cprivs_anon=Anonym  
cprivs_add=Pøidej nové oprávnìní k databázi a tabulce:  
cprivs_norows=®ádné polo¾ky oprávnìní nejsou definovány 
cprivs_return=oprávnìní k polo¾kám  
cprivs_none=Nic 
  
cpriv_title1=Vytvoøení oprávnìní k Polo¾kám 
cpriv_title2=Editace oprávnìní k Polo¾kám 
cpriv_header=Mo¾nosti oprávnìní k Polo¾kám 
cpriv_db=Databáze  
cpriv_table=Tabulka 
cpriv_field=Polo¾ka 
cpriv_user=U¾ivatelské jméno  
cpriv_host=Hostitelé 
cpriv_perms=Oprávnìní  
cpriv_any=Jakýkoliv  
cpriv_anon=Anonymní u¾ivatel 
cpriv_err=Neúspì¹né ulo¾ení oprávnìní k Plo¾kkám 
cpriv_etable=®ádné polo¾ky nejsou vybrány 
cpriv_euser=Chybìjící nebo neplatné u¾ivatelské jméno 
cpriv_ehost=Chybìjící nebo neplatný hostitel 
  
esql=SQL $1 neúspì¹ný : $2  
perms_ecannot=Nejste oprávnìni editovat oprávnìní 
  
acl_dbs=Tento u¾ivatel mù¾e databázi spravovat 
acl_create=Chcete vytvoøit novou databázi?  
acl_delete=Chcete smazat databázi?  
acl_stop=Chcete zasatavit a spustit MySQL server?  
acl_perms=Chcete editovat oprávnìní?  
  
   070701000383a0000081a40000000000000002000000013d1fe2db00002d58000000200000000000000000000000000000001400000003reloc/mysql/lang/de   index_title=MySQL Datenbank-Server
index_notrun=MySQL l&auml;uft nicht auf Ihrem System - die Liste der Datenbanken konnte nicht geholt werden.
index_start=Starte MySQL-Server
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den MySQL Datenbank Server auf Ihrem System mit dem Befehl $1 zu starten. Dieses Webmin-Modul kann die Datenbank nicht verwalten, bis er gestartet ist $1. 
index_nopass=Webmin muss Ihre Administrationsanmeldung und das dazugeh&ouml;rige Kennwort kennen, um die Datenbanken zu verwalten. Bitte tragen Sie Ihren Adminstrationsbenutzernamen (normalerweise <TT>root</TT>) und das Kennwort unten ein. 
index_ltitle=MySQL-Anmeldung
index_login=Anmeldung
index_pass=Kennwort
index_clear=L&ouml;schen
index_stop=MySQL-Server beenden
index_stopmsg=Klicken Sie auf diese Schaltfl&auml;che, um den MySQL-Datenbank-Server auf Ihrem System zu stoppen. Dies wird Benutzer den Zugriff auf die Datenbanken einschlie&szlig;lich dieses Webmin-Moduls verwehren. 
index_dbs=MySQL-Datenbanken
index_add=Erstelle eine neue Datenbank
index_global=Globale Einstellungen
index_return=Datenbankliste
index_eadmin=Das MySQL-Administrationsprogramm $1 konnte auf Ihrem System nicht gefunden werden. Es k&ouml;nnte sein, dass MySQL nicht installiert ist oder dass Ihre <a href='$2'>Modulkonfiguration</a> fehlerhaft ist. 
index_esql=Das MySQL-Client-Programm $1 konnte nicht auf Ihrem System gefunden werden. Es k&ouml;nnte sein, dass MySQL nicht installiert ist oder dass Ihre <a href='$2'>Modulkonfiguration</a> fehlerhaft ist. 
index_ever=Das MySQL-Client-Programm $1 scheint nicht die korrekte Version zu sein. Dieses Webmin-Modul unterst&uuml;tzt lediglich MySQL Version 3. 
index_nouser=Ihr Webmin-Konto wurde konfiguriert, sich als Benutzer $1 an MySQL-Server anzumelden, aber diesem Benutzer wurde der Zugriff verweigert. 
login_err=Anmeldung schlug fehl
login_ecannot=Sie haben keine Berechtigung, die Datenbankanmeldung zu konfigurieren
login_elogin=Administrationsanmeldung fehlt
login_epass=Falscher Administrationsbenutzername oder Kennwort
stop_err=Datenbank konnte nicht gestoppt werden.
start_err=Datenbank konnte nicht gestartet werden.
dbase_title=Datenbank bearbeiten
dbase_tables=Datenbanktabellen
dbase_add=Erstelle eine neue Tabelle
dbase_drop=L&ouml;sche Datenbank
dbase_exec=SQL ausf&uuml;hren
dbase_none=Diese Datenbank hat keine Tabellen.
dbase_fields=Felder:
dbase_return=Tabellenliste
dbase_ecannot=Sie haben keine Berechtigung, diese Datenbank zu bearbeiten
ddrop_err=Fehler beim L&ouml;schen der Datenbank
ddrop_title=L&ouml;sche Datenbank
ddrop_rusure=Sind sie sicher, dass sie die Datenbank $1 fallen lassen wollen? $2 Tabellen mit $3 Datenzeilen werden gel&ouml;scht werden.
ddrop_mysql=Weil dies die Hauptdatenbank ist, wird das L&ouml;schen Ihre MySQL-Installation unbrauchbar machen.
ddrop_ok=L&ouml;sche Datenbank
table_title=Tabelle Bearbeiten
table_title2=Tabelle erstellen
table_header=Tabelle $1 in Datenbank $2
table_field=Feldname
table_type=Typ
table_null=Erlaube NULL?
table_key=Schl&uuml;ssel
table_default=Standardwert
table_extra=Extras
table_pri=Prim&auml;r
table_mul=Indiziert
table_none=Keines
table_add=F&uuml;ge Feld hinzu vom Typ:
table_return=Feldliste
table_data=Daten zeigen
table_drop=L&ouml;sche Tabelle
table_name=Tabellenname
table_initial=Anfangsfelder
table_header2=Neue Tabelleneinstellungen
table_err=Fehler beim Erstellen der Tabelle
table_ename=Fehlender oder ung&uuml;ltiger Tabellenname
table_efield='$1' ist kein g&uuml;ltiger Feldname
table_etype=Fehlender Typ f&uuml;r Feld $1
table_esize=Fehlende Typengr&ouml;&szlig;e f&uuml;r Feld $1
table_enone=Es wurden keine Anfangsfelder angegeben
tdrop_err=Fehler beim L&ouml;schen der Tabelle
tdrop_title=L&ouml;sche Tabelle
tdrop_rusure=Sind Sie sicher, dass Sie die Tabelle $1 in Datenbank $2 l&ouml;schen wollen? $3 Datenzeilen werden gel&ouml;scht werden? 
tdrop_ok=L&ouml;sche Tabelle
field_title1=Feld hinzuf&uuml;gen
field_title2=Feld bearbeiten
field_in=In Tabelle $1 in Datenbank $2
field_header=Feldparameter
field_name=Feldname
field_type=Datentyp
field_size=Typenbreite
field_enum=Durchnumerierte Werte
field_dual=Breite und Dezimalzahlen
field_opts=Typeneinstellungen
field_auto=Atomatisch erh&ouml;hen?
field_none=Keines
field_unsigned=Ohne Vorzeichen
field_zerofill=Auff&uuml;llen mit Nullen
field_ascii=Gro&szlig;- und Kleinschreibung nicht beachten
field_binary=Gro&szlig;- und Kleinschreibung beachten
field_null=Erlaube NULL?
field_default=Standardwert
field_err=Fehler beim Speichern des Felds
field_esize='$1' ist kein g&uuml;ltige Feldgr&ouml;&szlig;e
field_eenum=Es wurden keine numerierten Werte angegeben
field_efield='$1' ist kein g&uuml;ltiger Feldname
view_title=Tabellendaten
view_pos=Zeilen $1 bis $2 von $3
view_none=Diese Tabelle enth&auml;lt keine Daten
view_edit=Bearbeite ausgew&auml;hlte Zeilen
view_delete=L&ouml;sche ausgew&auml;hlte Zeilen
view_save=Speichere &Auml;nderungen
view_new=Neue Zeile
view_invert=Auswahl umkehren
view_all=Alle ausw&auml;hlen
view_searchreset=Suche zur&uuml;cksetzen
view_search=Suche nach Zeilen, wo Feld $2 gleich $1 ist
view_searchok=Suche
view_searchhead=Suchergebnisse f&uuml;r $1 in Feld $2 ..
view_nokey=Die Tabelle kann nicht editiert werden, weil sie keinen Prim&auml;rschl&uuml;ssel enth&auml;lt.
users_title=Benutzerrechte
users_user=Benutzer
users_host=Hosts
users_pass=Verschl&uuml;sseltes Kennwort
users_perms=Rechte
users_add=Erstelle neuen Benutzer
users_priv3=Select (ausw&auml;hlen)
users_priv4=Insert (einf&uuml;gen)
users_priv5=Update (aktualisieren)
users_priv6=Delete (l&ouml;schen)
users_priv7=Create (erstellen)
users_priv8=Drop (komplett l&ouml;schen)
users_priv9=Reload (neu laden)
users_priv10=Shutdown
users_priv11=Process (verarbeiten)
users_priv12=File (Datei)
users_priv13=Grant (gestatten)
users_priv14=References (Referenzen)
users_priv15=Index
users_priv16=Alter (&auml;ndern)
users_all=Alle
users_anon=Anonym
users_none=Keines
users_return=Benutzerliste
user_title1=Benutzer anlegen
user_title2=Benutzer bearbeiten
user_header=MySQL-Benutzerdetails
user_user=Benutzername
user_all=Anonymer Benutzer
user_pass=Kennwort
user_leave=Nicht &auml;ndern
user_none=Keines
user_any=Beliebig
user_set=Einstellen auf..
user_host=Hosts
user_perms=Rechte
user_priv3=Tabellendaten ausw&auml;hlen
user_priv4=Tabellendaten einf&uuml;gen
user_priv5=Tabellendaten aktualisieren
user_priv6=Tabellendaten l&ouml;schen
user_priv7=Tabellen erstellen
user_priv8=Tabellen l&ouml;schen
user_priv9=Rechte neu laden
user_priv10=Datenbank herunterfahren
user_priv11=Prozesse verwalten
user_priv12=Dateioperationen
user_priv13=Rechte erteilen
user_priv14=Referenzoperationen
user_priv15=Indizes verwalten
user_priv16=Tabellen ver&auml;ndern
user_err=Fehler beim Speichern des Benutzers
user_euser=Fehlender oder ung&uuml;ltiger Benutzername
user_ehost=Fehlende oder ung&uuml;ltige erlaubte Hosts
dbs_title=Datenbankrechte
dbs_db=Datenbanken
dbs_user=Benutzer
dbs_host=Hosts
dbs_perms=Rechte
dbs_anon=Anonym
dbs_any=Beliebig
dbs_empty=Keine Datenbankrechte definiert
dbs_hosts=Von Host-Rechten
dbs_add=Erstelle neue Datenbankrechte
dbs_priv3=Select (ausw&auml;hlen)
dbs_priv4=Insert (einf&uuml;gen)
dbs_priv5=Update (aktualisieren)
dbs_priv6=Delete (l&ouml;schen)
dbs_priv7=Create (erstellen)
dbs_priv8=Drop (komplett l&ouml;schen)
dbs_priv9=Grant (gestatten)
dbs_priv10=References (Referenzen)
dbs_priv11=Index
dbs_priv12=Alter (&auml;ndern)
dbs_all=Alle
dbs_none=Keines
dbs_return=Datenbankrechte
db_title1=Datenbankrechte erstellen
db_title2=Datenbankrechte bearbeiten
db_header=Einstellungen zu Datenbankrechten
db_db=Datenbanken
db_user=Benutzername
db_anon=Anonymer Benutzer
db_host=Hosts
db_hosts=Von Host-Rechten
db_any=Beliebig
db_perms=Rechte
db_priv3=Tabellendaten ausw&auml;hlen
db_priv4=Tabellendaten einf&uuml;gen
db_priv5=Tabellendaten aktualisieren
db_priv6=Tabellendaten l&ouml;schen
db_priv7=Tabellen erstellen
db_priv8=Tabellen l&ouml;schen
db_priv9=Rechte erteilen
db_priv10=Referenzoperationen
db_priv11=Indizes verwalten
db_priv12=Tabellen ver&auml;ndern
db_priv13=Rechte verteilen
db_priv14=Referenz Operationen
db_priv15=Indizes verwalten
db_priv16=relationen ver&auml;ndern
db_err=Fehler beim Speichern der Datenbankrechte
db_euser=Fehlender oder ung&uuml;ltiger Benutzername
db_ehost=Fehlender oder ung&uuml;ltiger Host-Name
db_edb=Fehlender oder ung&uuml;ltiger Datenbankname
hosts_title=Host-Rechte
hosts_db=Datenbanken
hosts_host=Hosts
hosts_perms=Rechte
hosts_any=Beliebig
hosts_all=Alle
hosts_none=Keines
hosts_add=Erstelle neue Host-Rechte
hosts_empty=Keine Host-Rechte definiert
host_title1=Host-Rechte erstellen
host_title2=Host-Rechte bearbeiten
host_header=Einstellungen zu Host-Rechten
host_db=Datenbanken
host_any=Beliebig
host_host=Hosts
host_perms=Rechte
newdb_title=Datenbank erstellen
newdb_header=Einstellungen der neuen Datenbank
newdb_db=Datenbankname
newdb_table=Anfangstabelle
newdb_none=Keines
newdb_struct=Anfangsstruktur der Tabelle
newdb_err=Fehler beim Erstellen der Datenbank
newdb_edb=Fehlender oder ung&uuml;ltiger Datenbankname
newdb_ecannot=Sie haben keine Berechtigung, Datenbanken anzulegen
exec_title=SQL ausf&uuml;hren
exec_header=Geben Sie den SQL Befehl ein, der auf der Datenbank $1 ausgef&uuml;hrt werden soll ..
exec_exec=Ausf&uuml;hren
exec_err=Fehler beim Ausf&uuml;hren des SQL-Befehls
exec_out=Ausgabe des SQL-Befehls $1 ..
exec_none=Es wurden keine Daten zur&uuml;ckgegeben
tprivs_title=Tabellenrechte
tprivs_table=Tabelle
tprivs_db=Datenbanken
tprivs_host=Hosts
tprivs_user=Benutzer
tprivs_privs1=Tabellenrechte
tprivs_privs2=Feldrechte
tprivs_all=Alle
tprivs_anon=Anonym
tprivs_add=F&uuml;ge neue Rechte in Datenbank ein:
tprivs_norows=Keine Tabellenrechte definiert
tprivs_return=Tabellenrechte
tprivs_none=Keines
tpriv_title1=Tabellenrechte erstellen
tpriv_title2=Tabellenrechte bearbeiten
tpriv_header=Einstellungen der Tabellenrechte
tpriv_db=Datenbanken
tpriv_table=Tabelle
tpriv_user=Benutzername
tpriv_host=Hosts
tpriv_perms1=Tabellenrechte
tpriv_perms2=Feldrechte
tpriv_any=Beliebig
tpriv_anon=Anonymer Benutzer
tpriv_err=Fehler beim Speichern der Tabellenrechte
tpriv_etable=Keine Tabelle gew&auml;hlt
tpriv_euser=Fehlender oder ung&uuml;ltiger Benutzername
tpriv_ehost=Fehlender oder ung&uuml;ltiger Host
cprivs_title=Feldrechte
cprivs_field=Feld
cprivs_table=Tabelle
cprivs_db=Datenbanken
cprivs_host=Hosts
cprivs_user=Benutzer
cprivs_privs=Rechte
cprivs_all=Alle
cprivs_anon=Anonym
cprivs_add=F&uuml;ge neue Rechte in Datenbanken und Tabellen ein: 
cprivs_norows=Keine Feldrechte definiert
cprivs_return=Feldrechte
cprivs_none=Keines
cpriv_title1=Feldrechte erstellen
cpriv_title2=Feldrechte bearbeiten
cpriv_header=Einstellungen der Feldrechte
cpriv_db=Datenbanken
cpriv_table=Tabelle
cpriv_field=Feld
cpriv_user=Benutzername
cpriv_host=Hosts
cpriv_perms=Rechte
cpriv_any=Beliebig
cpriv_anon=Anonymer Benutzer
cpriv_err=Fehler beim Speichern der Feldrechte
cpriv_etable=Kein Feld gew&auml;hlt
cpriv_euser=Fehlender oder ung&uuml;ltiger Benutzername
cpriv_ehost=Fehlender oder ung&uuml;ltiger Host
esql=SQL $1 schlug fehl: $2
perms_ecannot=Sie haben keine Berechtigung, Rechte zu bearbeiten
acl_dbs=Datenbanken, die dieser Benutzer verwalten darf
acl_create=Darf neue Datenbanken anlegen?
acl_delete=Darf Datenbanken l&ouml;schen?
acl_stop=Darf den MySQL-Server starten und stoppen?
acl_perms=Darf Rechte bearbeiten?
acl_dall=Alle Datenbanken
acl_dsel=Ausgew&auml;hlte..
acl_only=Nur verwaltete Datenbanken
acl_login=Verbinden mit MySQL als
acl_user_def=Benutzername aus Modulkonfiguration
acl_user=Benutzername
acl_pass=Kennwort
070701000383a1000081a40000000000000002000000013d1fe2db00003c95000000200000000000000000000000000000001400000003reloc/mysql/lang/en   index_title=MySQL Database Server
index_notrun=MySQL is not running on your system - database list could not be retrieved.
index_start=Start MySQL Server
index_startmsg=Click this button to start the MySQL database server on your system with the command $1. This Webmin module cannot administer the database until it is started.
index_nopass=Webmin needs to know your MySQL administration login and password in order to manage your database. Please enter your administration username (usually <tt>root</tt>) and password below.
index_ltitle=MySQL Login
index_login=Login
index_pass=Password
index_clear=Clear
index_stop=Stop MySQL Server
index_stopmsg=Click this button to stop the MySQL database server on your system. This will prevent any users or programs from accessing the database, including this Webmin module.
index_dbs=MySQL Databases
index_add=Create a new database
index_global=Global Options
index_return=database list
index_eadmin=The MySQL admin program $1 was not found on your system. Maybe MySQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_esql=The MySQL client program $1 was not found on your system. Maybe MySQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_ever=The MySQL client program $1 does not appear to be the correct version. Webmin only supports MySQL versions 3 and above.
index_nouser=Your Webmin account is configured to connect to the MySQL server as user $1, but this user has been denied access. 
index_db=Database name
index_tables=Tables
index_elibrary=The MySQL client program $1 could not be run because it could not find the MySQL shared libraries. Check the <a href='$2'>module configuration</a> and make sure the <i>Path to MySQL shared libraries</i> is set.
index_version=MySQL version $1

login_err=Login failed
login_ecannot=You are not allowed to configure the database login
login_elogin=Missing administration login
login_epass=Incorrect administration username or password

stop_err=Failed to stop database
start_err=Failed to start database

dbase_title=Edit Database
dbase_tables=Database Tables
dbase_add=Create a new table
dbase_drop=Drop Database
dbase_exec=Execute SQL
dbase_backup=Backup Database
dbase_none=This database has no tables.
dbase_fields=Fields:
dbase_return=table list
dbase_ecannot=You are not allowed to edit this database
dbase_table=Table name
dbase_rows=Rows
dbase_cols=Fields

ddrop_err=Failed to drop database
ddrop_title=Drop Database
ddrop_rusure=Are you sure you want to drop the database $1 ? $2 tables containing $3 rows of data will be deleted.
ddrop_mysql=Because this is the master database, dropping it will probably make your MySQL server unusable!
ddrop_ok=Drop database
ddrop_empty=Just delete all tables

table_title=Edit Table
table_title2=Create Table
table_header=Table $1 in database $2
table_field=Field name
table_type=Type
table_null=Allow nulls?
table_key=Key
table_default=Default value
table_extra=Extras
table_pri=Primary
table_mul=Indexed
table_none=None
table_add=Add field of type:
table_return=field list
table_data=View Data
table_drop=Drop Table
table_name=Table name
table_copy=Copy fields from table
table_copynone=&lt;None&gt;
table_copydata=Copy data as well
table_initial=Initial fields
table_header2=New table options
table_err=Failed to create table
table_ename=Missing or invalid table name
table_efield='$1' is not a valid field name
table_etype=Missing type for field $1
table_esize=Missing type size for field $1
table_enone=No initial fields entered
table_type_=Default
table_type_isam=ISAM
table_type_myisam=MyISAM
table_type_heap=Heap
table_type_merge=Merge
table_type_innodb=InnoDB

tdrop_err=Failed to drop table
tdrop_title=Drop Table
tdrop_rusure=Are you sure you want to drop the table $1 in database $2 ? $3 rows of data will be deleted.
tdrop_ok=Drop table

field_title1=Add Field
field_title2=Modify Field
field_in=In table $1 in database $2
field_header=Field parameters
field_name=Field name
field_type=Data type
field_size=Type width
field_enum=Enumerated values
field_dual=Width and decimals
field_opts=Type options
field_auto=Autoincrement?
field_none=None
field_unsigned=Unsigned
field_zerofill=Fill with zeros
field_ascii=Case insensitive
field_binary=Case sensitive
field_null=Allow nulls?
field_default=Default value
field_key=Part of primary key?
field_err=Failed to save field
field_esize='$1' is not a valid field size
field_eenum=No enumerated values entered
field_efield='$1' is not a valid field name
field_ekey=Fields that allow nulls cannot be part of the primary key

view_title=Table Data
view_pos=Rows $1 to $2 of $3
view_none=This table contains no data
view_edit=Edit selected rows
view_new=Add row
view_delete=Delete selected rows
view_nokey=Data in this table cannot be edited because it has no primary key.
view_all=Select all
view_invert=Invert selection
view_search=Search for rows where field $2 matches $1
view_searchok=Search
view_searchhead=Search results for $1 in field $2 ..
view_searchreset=Reset search
view_field=Field name
view_data=New data
view_jump=Jump to row :

users_title=User Permissions
users_user=User
users_host=Hosts
users_pass=Encrypted password
users_perms=Permissions
users_add=Create new user
users_priv3=Select
users_priv4=Insert
users_priv5=Update
users_priv6=Delete
users_priv7=Create
users_priv8=Drop
users_priv9=Reload
users_priv10=Shutdown
users_priv11=Process
users_priv12=File
users_priv13=Grant
users_priv14=References
users_priv15=Index
users_priv16=Alter
users_all=All
users_anon=Anonymous
users_none=None
users_return=user list
users_sync=The options below configure synchronization between Unix users created through Webmin and MySQL users.
users_sync_create=Add a new MySQL user when a Unix user is added, with permissions ...
users_sync_modify=Update a MySQL user when the matching Unix user is modified.
users_sync_delete=Delete a MySQL user when the matching Unix user is deleted.
users_sync_privs=Permissions for new users

user_title1=Create User
user_title2=Edit User
user_header=MySQL user details
user_user=Username
user_all=Anonymous user
user_pass=Password
user_leave=Don't change
user_none=None
user_any=Any
user_set=Set to..
user_host=Hosts
user_perms=Permissions
user_priv3=Select table data
user_priv4=Insert table data
user_priv5=Update table data
user_priv6=Delete table data
user_priv7=Create tables
user_priv8=Drop tables
user_priv9=Reload grants
user_priv10=Shutdown database
user_priv11=Manage processes
user_priv12=File operations
user_priv13=Grant privileges
user_priv14=Reference operations
user_priv15=Manage indexes
user_priv16=Alter tables
user_err=Failed to save user
user_euser=Missing or invalid username
user_ehost=Missing or invalid allow host(s)

dbs_title=Database Permissions
dbs_db=Databases
dbs_user=User
dbs_host=Hosts
dbs_perms=Permissions
dbs_anon=Anonymous
dbs_any=Any
dbs_empty=No database permissions defined.
dbs_hosts=From host permissions
dbs_add=Create new database permissions
dbs_priv3=Select
dbs_priv4=Insert
dbs_priv5=Update
dbs_priv6=Delete
dbs_priv7=Create
dbs_priv8=Drop
dbs_priv9=Grant
dbs_priv10=References
dbs_priv11=Index
dbs_priv12=Alter
dbs_all=All
dbs_none=None
dbs_return=database permissions

db_title1=Create Database Permissions
db_title2=Edit Database Permissions
db_header=Database permission options
db_db=Databases
db_user=Username
db_anon=Anonymous user
db_host=Hosts
db_hosts=From host permissions
db_any=Any
db_perms=Permissions
db_priv3=Select table data
db_priv4=Insert table data
db_priv5=Update table data
db_priv6=Delete table data
db_priv7=Create tables
db_priv8=Drop tables
db_priv9=Grant privileges
db_priv10=Reference operations
db_priv11=Manage indexes
db_priv12=Alter tables
db_err=Failed to save database permissions
db_euser=Missing or invalid username
db_ehost=Missing or invalid hostname
db_edb=Missing or invalid database name

hosts_title=Host Permissions
hosts_db=Databases
hosts_host=Hosts
hosts_perms=Permissions
hosts_any=Any
hosts_all=All
hosts_priv2=Select
hosts_priv3=Insert
hosts_priv4=Update
hosts_priv5=Delete
hosts_priv6=Create
hosts_priv7=Drop
hosts_priv8=Grant
hosts_priv9=References
hosts_priv10=Index
hosts_priv11=Alter
hosts_none=None
hosts_add=Create new host permissions
hosts_empty=No host permissions defined

host_title1=Create Host Permissions
host_title2=Edit Host Permissions
host_header=Host permissions options
host_db=Databases
host_any=Any
host_priv2=Select table data
host_priv3=Insert table data
host_priv4=Update table data
host_priv5=Delete table data
host_priv6=Create tables
host_priv7=Drop tables
host_priv8=Grant privileges
host_priv9=Reference operations
host_priv10=Manage indexes
host_priv11=Alter tables
host_host=Hosts
host_perms=Permissions

newdb_title=Create Database
newdb_header=New database options
newdb_db=Database name
newdb_table=Initial table
newdb_none=None
newdb_struct=Initial table structure
newdb_err=Failed to create database
newdb_edb=Missing or invalid database name
newdb_ecannot=You are not allowed to create databases

exec_title=Execute SQL
exec_header=Enter SQL command to execute on database $1 ..
exec_old=Or select a previous SQL command :
exec_exec=Execute
exec_clear=Clear History
exec_header2=Select SQL commands file to execute on database $1 ..
exec_file=From local file
exec_upload=From uploaded file
exec_err=Failed to execute SQL
exec_out=Output from SQL command $1 ..
exec_none=No data returned
exec_eupload=No file selected to upload
exec_efile=Local file does not exist
exec_uploadout=Output from uploaded SQL commands ..
exec_fileout=Output from SQL commands in file $1 ..
exec_noout=No output generated
exec_return=execute SQL form
exec_import=Table to import data into
exec_header3=Select a text data file to import into MySQL database $1 ..
exec_header4=This file must contain one database record per line, with the fields separated by tabs.
exec_delete=Delete data in table first?
exec_filename=From filename
exec_ignore=Ignore duplicate rows?

tprivs_title=Table Permissions
tprivs_table=Table
tprivs_db=Database
tprivs_host=Hosts
tprivs_user=User
tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_norows=No table permissions defined
tprivs_return=table permissions
tprivs_none=None

tpriv_title1=Create Table Permissions
tpriv_title2=Edit Table Permissions
tpriv_header=Table permission options
tpriv_db=Database
tpriv_table=Table
tpriv_user=Username
tpriv_host=Hosts
tpriv_perms1=Table permissions
tpriv_perms2=Field permissions
tpriv_any=Any
tpriv_anon=Anonymous user
tpriv_err=Failed to save table permissions
tpriv_etable=No table selected
tpriv_euser=Missing or invalid username
tpriv_ehost=Missing or invalid host

cprivs_title=Field Permissions
cprivs_field=Field
cprivs_table=Table
cprivs_db=Database
cprivs_host=Hosts
cprivs_user=User
cprivs_privs=Permissions
cprivs_all=All
cprivs_anon=Anonymous
cprivs_add=Add new permissions in database and table :
cprivs_norows=No field permissions defined
cprivs_return=field permissions
cprivs_none=None

cpriv_title1=Create Field Permissions
cpriv_title2=Edit Field Permissions
cpriv_header=Field permission options
cpriv_db=Database
cpriv_table=Table
cpriv_field=Field
cpriv_user=Username
cpriv_host=Hosts
cpriv_perms=Permissions
cpriv_any=Any
cpriv_anon=Anonymous user
cpriv_err=Failed to save field permissions
cpriv_etable=No field selected
cpriv_euser=Missing or invalid username
cpriv_ehost=Missing or invalid host

esql=SQL $1 failed : $2
perms_ecannot=You are not allowed to edit permissions
perms_edb=You are only allowed to edit permissions for your own databases

acl_dbs=Databases this user can manage
acl_dall=All databases
acl_dsel=Selected..
acl_create=Can create new databases?
acl_bpath=Backup file directory
acl_buser=Write backup as Unix user
acl_delete=Can drop databases?
acl_stop=Can stop and start the MySQL server?
acl_perms=Can edit permissions?
acl_only=Only for managed databases
acl_login=Login to MySQL as
acl_user_def=Username from Module Config
acl_user=Username
acl_pass=password
acl_edonly=Can only edit table data?

log_start=Started MySQL server
log_stop=Stopped MySQL server
log_db_create=Created database $1
log_db_delete=Dropped database $1
log_table_create=Created table $1 in database $2
log_table_delete=Dropped table $1 from database $2
log_field_create=Added field $1 $4 to $2 in database $3
log_field_modify=Modified field $1 $4 in $2 in database $3
log_field_delete=Deleted field $1 from $2 in database $3
log_data_create=Added row to table $2 in database $3
log_data_modify=Modified $1 rows in table $2 in database $3
log_data_delete=Deleted $1 rows from table $2 in database $3
log_exec=Executed SQL in database $1
log_exec_l=Executed SQL command $2 in database $1
log_user_create=Created perms for user $1, host $2
log_user_delete=Deleted perms for user $1, host $2
log_user_modify=Modified perms for user $1, host $2
log_perm_create=Created perms for database $3, user $1, host $2
log_perm_delete=Deleted perms for database $3, user $1, host $2
log_perm_modify=Modified perms for database $3, user $1, host $2
log_host_create=Created perms for host $2, database $3
log_host_delete=Deleted perms for host $2, database $3
log_host_modify=Modified perms for host $2, database $3
log_tpriv_create=Created perms for table $4, database $3
log_tpriv_delete=Deleted perms for table $4, database $3
log_tpriv_modify=Modified perms for table $4, database $3
log_tpriv_create_l=Created perms for table $4, database $3, user $1, host $2
log_tpriv_delete_l=Deleted perms for table $4, database $3, user $1, host $2
log_tpriv_modify_l=Modified perms for table $4, database $3, user $1, host $2
log_cpriv_create=Created perms for field $5, table $4
log_cpriv_delete=Deleted perms for field $5 table $4
log_cpriv_modify=Modified perms for field $5, table $4
log_cpriv_create_l=Created perms for field $5, table $4, database $3, user $1, host $2
log_cpriv_delete_l=Deleted perms for field $5 table $4, database $3, user $1, host $2
log_cpriv_modify_l=Modified perms for field $5, table $4, database $3, user $1, host $2
log_anon=anonymous
log_any=any
log_backup=Backed up database $1
log_backup_l=Backed up database $1 to file $2
log_execupload=Executed SQL commands from uploaded file
log_execfile=Executed SQL commands from file $1
log_importupload=Imported data from uploaded file
log_importfile=Imported data from file $1

backup_title=Backup Database
backup_edump=The MySQL backup program $1 was not found on your system. Maybe your <a href='$2'>module configuration</a> is incorrect.
backup_desc=This form allows you to backup the database $1 as a file of SQL statments. To restore a backup, you can use the Execute SQL form to run the commands in the file.
backup_header=Database backup options
backup_file=Backup to file
backup_where=Only backup rows matching <tt>where</tt> clause
backup_none=All rows
backup_drop=Add <tt>drop table</tt> statements to backup?
backup_ok=Backup Now
backup_err=Database backup failed
backup_efile=Missing or invalid backup filename
backup_epath=Invalid backup path
backup_ewhere=Missing <tt>where</tt> clause
backup_ebackup=<tt>mysqldump</tt> failed : $1
backup_done=Successfully backed up $3 bytes from database $1 to file $2.

import_title=Import Data
import_uploadout=Importing data from uploaded file ..
import_fileout=Importing data from file $1 ..
import_eupload=Missing uploaded import file
import_efile=Missing import filename
   070701000383a2000081a40000000000000002000000013d1fe2db00004368000000200000000000000000000000000000001400000003reloc/mysql/lang/es   index_title=Servidor de Base de Datos MySQL
index_notrun=MySQL no se está ejecutando en tu sistema - no he podido recuperar la lista de base de datos.
index_start=Arrancar el Servidor de MySQL
index_startmsg=Haz click en este botón para arrancar el servidor de Base de Datos MySQL de tu sistema mediante el comando $1. Este módulo de Webmin no puede administrar la base de datos hasta que esté arrancada.
index_nopass=Webmin necesita saber tu login de administración de MySQL y la clave de acceso con el fin de gestionar tu base de datos. Por favor, digita debajo tu nombre de usuario de administración (usualmente <tt>root</tt>) y la clave de acceso.
index_ltitle=Login en MySQL
index_login=Login
index_pass=Clave de Acceso
index_clear=Limpiar
index_stop=Parar Servidor de MySQL
index_stopmsg=Haz click en este botón para parar el servidor de base de datos de MySQL de tu sistema. Esto hará que cualquier usuario o programas no puedan acceder a la base de datos, incluyendo este módulo de Webmin.
index_dbs=Bases de Datos de MySQL
index_add=Crear una nueva base de datos
index_global=Opciones Globales
index_return=lista de bases de datos
index_eadmin=El programa $1 de administración de MySQL no ha sido hallado en tu sistema. Quizá MySQL no está instalado o tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_esql=El programa cliente de MySQL $1 no ha sido hallado en tu sistema. Quizá MySQL no está instalado o tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_ever=El programa cliente de MySQL $1 no parece ser de la versión correcta. Webmin sólo soporta la versión 3 de MySQL.
index_nouser=Tu cuenta de Webmin está configurada para conectarse al servidor MySQL como el usuario $1, pero este usuario tiene denegado el acceso.
index_db=Nombre de Base de datos
index_tables=Tablas
index_elibrary=El programa cliente $1 de MySQL no pudo ser ejecutado ya que no pudo hallar las bibliotecas compartidas de MySQL. Revisa la << href='$2'>configuración del módulo</a> y asegúrate de que la <i>Trayectoria a bibliotecas compartidas de MySQL</i> está bién puesta.

login_err=No pude hacer login
login_ecannot=No estás autorizado a configurar el login de la base de datos
login_elogin=login de administración sin poner
login_epass=Nombre de usuario y clave de acceso de administración incorrectos

stop_err=No pude parar la base de datos
start_err=No pude arrancar la base de datos

dbase_title=Editar Base de Datos
dbase_tables=Tablas de Base de Datos
dbase_add=Crear una nueva tabla
dbase_drop=Borrar Base de Datos
dbase_exec=Ejecutar SQL
dbase_backup=Respaldar Base de Datos
dbase_none=Esta base de datos no tiene tablas.
dbase_fields=Campos:
dbase_return=lista de tablas
dbase_ecannot=No estás autorizado a editar esta base de datos
dbase_table=Nombre de tabla
dbase_rows=Filas
dbase_cols=Campos

ddrop_err=No pude borrar la base de datos
ddrop_title=Borrar Base de Datos
ddrop_rusure=¿Estás seguro de querer borrar la base de datos $1?: $2 tablas con $3 filas de datos serán borradas.
ddrop_mysql=¡Ya que esta es la base de datos maestra, borrarla supondrá que tu servidor MySQL quede inutilizable!
ddrop_ok=Base de datos borrada

table_title=Editar Tabla
table_title2=Crear Tabla
table_header=Tabla $1 de la base de datos $2
table_field=Nombre de campo
table_type=Tipo
table_null=¿Permitir nulos?
table_key=Clave
table_default=Valor por defecto
table_extra=Extras
table_pri=Primaria
table_mul=Indizada
table_none=Ninguna
table_add=Añadir campo de tipo:
table_return=lista de campos
table_data=Ver Datos
table_drop=Borrar Tabla
table_name=Nombre de tabla
table_copy=Copiar campos desde tabla
table_copynone=&lt;Ninguna&gt;
table_copydata=Copiar datos también
table_initial=Campos iniciales
table_header2=Opciones de nueva tabla
table_err=No pude crear tabla
table_ename=Nombre de tabla inválido o sin poner
table_efield='$1' no es un nombre válido de campo
table_etype=Sin poner tipo para campo $1
table_esize=Sin poner medida de tipo para campo $1
table_enone=No se han digitado campos iniciales
table_type_=Por defecto
table_type_isam=ISAM
table_type_myisam=MyISAM
table_type_heap=Pila
table_type_merge=Mezcla
table_type_innodb=InnoDB

tdrop_err=No pude borrar tabla
tdrop_title=Borrar Tabla
tdrop_rusure=¿Estás seguro de querer borrar la tabla $1 de la base de datos $2?: $3 filas de datos serán borradas.
tdrop_ok=Tabla borrada

field_title1=Añadir Campo
field_title2=Modificar Campo
field_in=En la tabla $1 de la base de datos $2
field_header=Parámetros de campo
field_name=Nombre de campo
field_type=Tipo de dato
field_size=Ancho de tipo
field_enum=Valores enumerados
field_dual=Ancho y decimales
field_opts=Opciones de tipo
field_auto=¿Autoincremento?
field_none=Ninguna
field_unsigned=Sin signo
field_zerofill=Relleno de ceros
field_ascii=Insensible a mayúsculas
field_binary=Sensible a mayúsculas
field_null=¿Permitir nulos?
field_default=Valor por defecto
field_key=¿Parte de la clave primaria?
field_err=No pude salvar campo
field_esize='$1' no es una medida válida de campo
field_eenum=No se han digitado valores enumerados
field_efield='$1' no es un nombre de campo válido
field_ekey=Los campos que permiten nulos no pueden formar parte de la clave primaria

view_title=Datos de Tabla
view_pos=Filas $1 a $2 de $3
view_none=Esta tabla no contiene datos
view_edit=Editar filas seleccionadas
view_new=Añadir fila
view_delete=Borrar filas seleccionadas
view_nokey=Los datos de esta tabla no puede ser editados a causa de que no tiene clave primaria.
view_all=Seleccionar todos
view_invert=Invertir selección
view_search=Buscar filas en las que el campo $2 coincida con $1
view_searchok=Buscar
view_searchhead=Resultados de búsqueda para $1 en campo $2...
view_searchreset=Reiniciar búsqueda
view_field=Nombre de Campo
view_data=Nuevos datos

users_title=Permisos de Usuario
users_user=Usuario
users_host=Máquinas
users_pass=Clave de Acceso encriptada
users_perms=Permisos
users_add=Crear nuevo usuario
users_priv3=Seleccionar
users_priv4=Insertar
users_priv5=Actualizar
users_priv6=Borrar
users_priv7=Crear
users_priv8=Borrar
users_priv9=Recargar
users_priv10=Apagar
users_priv11=Proceso
users_priv12=Archivo
users_priv13=Conceder
users_priv14=Referencias
users_priv15=Índice
users_priv16=Alterar
users_all=Todos
users_anon=Anónimo
users_none=Ninguno
users_return=lista de usuarios

user_title1=Crear Usuario
user_title2=Editar Usuario
user_header=Detalles de usuario de MySQL
user_user=Nombre de Usuario
user_all=Usuario anónimo
user_pass=Clave de Acceso
user_leave=No cambiar
user_none=Ninguno
user_any=Cualquiera
user_set=Poner a...
user_host=Máquinas
user_perms=Permisos
user_priv3=Seleccionar datos de tabla
user_priv4=Insertar datos en tabla
user_priv5=Actualizar datos de tabla
user_priv6=Borrar datos de tabla
user_priv7=Crear tablas
user_priv8=Borrar tablas
user_priv9=Recargar concesiones
user_priv10=Apagar base de datos
user_priv11=Gestionar procesos
user_priv12=Operaciones en archivo
user_priv13=Conceder privilegios
user_priv14=Operaciones de Referencia
user_priv15=Gestionar índices
user_priv16=Alterar tablas
user_err=No pude salvar usuario
user_euser=Nombre de usuario sin poner o inválido
user_ehost=Máquina(s) sin poner o inválida(s)

dbs_title=Permisos de Base de Datos
dbs_db=Bases de Datos
dbs_user=Usuario
dbs_host=Máquinas
dbs_perms=Permisos
dbs_anon=Anónimo
dbs_any=Cualquiera
dbs_empty=No se han definido permisos de base de datos.
dbs_hosts=Desde permisos de máquina
dbs_add=Crear nuevos permisos de base de datos
dbs_priv3=Seleccionar
dbs_priv4=Insertar
dbs_priv5=Actualizar
dbs_priv6=Borrar
dbs_priv7=Crear
dbs_priv8=Borrar
dbs_priv9=Conceder
dbs_priv10=Referencias
dbs_priv11=Índice
dbs_priv12=Alterar
dbs_all=Todos
dbs_none=Ninguno
dbs_return=permisos de base de datos

db_title1=Permisos para Crear Bases de Datos
db_title2=Permisos para Editar Bases de Datos
db_header=Opciones de permisos de base de datos
db_db=Bases de datos
db_user=Nombre de usuario
db_anon=Usuario anónimo
db_host=Máquinas
db_hosts=Desde permisos de máquina
db_any=Cualquiera
db_perms=Permisos
db_priv3=Seleccionar datos de tabla
db_priv4=Insertar datos en tabla
db_priv5=Actualizar datos de tabla
db_priv6=Borrar datos de tabla
db_priv7=Crear tablas
db_priv8=Borrar tablas
db_priv9=Recargar concesiones
db_priv10=Cerrar base de datos
db_priv11=Gestionar procesos
db_priv12=Operaciones en archivo
db_err=No pude salvar permisos de base de datos
db_euser=Nombre de usuario sin poner o inválido
db_ehost=Nombre de máquina sin poner o inválido
db_edb=Nombre de base de datos inválido o sin poner

hosts_title=Permisos de Máquina
hosts_db=Bases de Datos
hosts_host=Máquinas
hosts_perms=Permisos
hosts_any=Cualquiera
hosts_all=Todos
hosts_priv2=Seleccionar
hosts_priv3=Insertar
hosts_priv4=Actualizar
hosts_priv5=Borrar
hosts_priv6=Crear
hosts_priv7=Quitar
hosts_priv8=Conceder
hosts_priv9=Referencias
hosts_priv10=Índices
hosts_priv11=Alterar
hosts_none=Ninguno
hosts_add=Permisos para crear máquina nueva
hosts_empty=No se han definido permisos de máquina

host_title1=Permisos para Crear Máquina
host_title2=Permisos para Editar Máquina
host_header=Opciones de permisos de máquina
host_db=Bases de datos
host_any=Cualquiera
host_priv2=Seleccionar datos de tabla
host_priv3=Insertar datos en tabla
host_priv4=Actualizar datos de tabla
host_priv5=Borrar datos de tabla
host_priv6=Crear tablas
host_priv7=Eliminar tablas
host_priv8=Conceder privilegios
host_priv9=Operaciones de referencia
host_priv10=Gestionar índices
host_priv11=Alterar tablas
host_host=Máquinas
host_perms=Permisos

newdb_title=Crear Base de Datos
newdb_header=Opciones de nueva base de datos
newdb_db=Nombre de base de datos
newdb_table=Tabla inicial
newdb_none=Ninguna
newdb_struct=Estructura de tabla inicial
newdb_err=No pude crear base de datos
newdb_edb=Nombre de base de datos inválido o sin poner
newdb_ecannot=No estás autorizado a crear bases de datos

exec_title=Ejecutar SQL
exec_header=Digitar comando SQL a ejectura en la base de datos $1...
exec_old=O selecciona un comando SQL previo:
exec_exec=Ejecutar
exec_header2=Selecciona archivo de comandos SQL a ejecutar en base de datos $1
exec_file=Desde archivo local
exec_upload=Desde archivo cargado
exec_err=No pude ejecturar SQL
exec_out=Salida del comando SQL $1...
exec_none=No se ha devuelto dato alguno
exec_eupload=No hay seleccionados archivos que cargar
exec_efile=El archivo local no existe
exec_uploadout=Salida desde comandos SQL cargados...
exec_fileout=Salida desde comandos SQL en archivo $1...
exec_noout=No se ha generado salida
exec_return=ejecutar formulario SQL
exec_import=Tabla a donde importar datos
exec_header3=Seleccionar un archivo de datos de texto a importar a MySQL...
exec_delete=¿Borro primero los datos de la tabla?
exec_filename=Desde archivo
exec_ignore=¿Ignoro filas duplicadas?

tprivs_title=Permisos de Tabla
tprivs_table=Tabla
tprivs_db=Base de datos
tprivs_host=Máquina
tprivs_user=Usuario
tprivs_privs1=Permisos de tabla
tprivs_privs2=Permisos de campo
tprivs_all=Todos
tprivs_anon=Anónimo
tprivs_add=Añadir nuevos permisos en base de datos:
tprivs_norows=No se han definido permisos de tabla
tprivs_return=permisos de tabla
tprivs_none=Ninguno

tpriv_title1=Permisos para Crear Tabla
tpriv_title2=Permisos para Editar Tabla
tpriv_header=Opciones de permisos de tabla
tpriv_db=Base de datos
tpriv_table=Tabla
tpriv_user=Nombre de usuario
tpriv_host=Máquinas
tpriv_perms1=Permisos de tabla
tpriv_perms2=Permisos de campo
tpriv_any=Cualquiera
tpriv_anon=Usuario anónimo
tpriv_err=No pude salvar permisos de tabla
tpriv_etable=No se ha seleccionado tabla alguna
tpriv_euser=Nombre de usuario inválido o sin poner
tpriv_ehost=Máquina inválida o sin poner

cprivs_title=Permisos de Campo
cprivs_field=Campo
cprivs_table=Tabla
cprivs_db=Base de datos
cprivs_host=Máquinas
cprivs_user=Usuario
cprivs_privs=Permisos
cprivs_all=Todos
cprivs_anon=Anónimo
cprivs_add=Añadir nuevos permisos en base de datos y tabla:
cprivs_norows=No se han definido permisos de campo
cprivs_return=permisos de campo
cprivs_none=Ninguno

cpriv_title1=Permisos para Crear Campo
cpriv_title2=Permisos para Editar Campo
cpriv_header=Opciones de permiso de campo
cpriv_db=Base de datos
cpriv_table=Tabla
cpriv_field=Campo
cpriv_user=Nombre de usuario
cpriv_host=Máquinas
cpriv_perms=Permisos
cpriv_any=Cualquiera
cpriv_anon=Usuario anónimo
cpriv_err=No pude salvar permisos de campo
cpriv_etable=No se ha seleccionado campo alguno
cpriv_euser=Nombre de usuario inválido o sin poner
cpriv_ehost=Máquina inválida o sin poner

esql=SQL $1 falló: $2
perms_ecannot=No estás autorizado a editar permisos
perms_edb=Sólo estás autorizado a editar permisos de tus propias bases de datos

acl_dbs=Bases de datos que este usuario puede gestionar
acl_dall=Todas las bases de datos
acl_dsel=Las seleccionadas...
acl_create=¿Puede crear nuevas bases de datos?
acl_bpath=Directorio de Respaldo de archivos
acl_buser=Grabar reapaldo como usuario de Unix
acl_delete=¿Puede borrar bases de datos?
acl_stop=¿Puede parar y arrancar el servidor MySQL?
acl_perms=¿Puede editar permisos?
acl_only=Sólo para las bases de datos gestionadas
acl_login=Hacer login en MySQL como
acl_user_def=Nombre de usuario de la Configuración del Módulo
acl_user=nombre de usuario
acl_pass=clave de acceso

log_start=Arrancado servidor MySQL
log_stop=Parado servidor MySQL
log_db_create=Creada base de datos $1
log_db_delete=Elminada base de datos $1
log_table_create=Creada tabla $1 en base de datos $2
log_table_delete=Elmiminada tabla $1 de la base de datos $2
log_field_create=Añadido campo $1 a $2 en la base de datos $3
log_field_modify=Modificado campo $1 $4 en $2 en la base de datos $3
log_field_delete=Borrado campo $1 de $2 en la base de datos $3
log_data_create=Añadida fila a tabla $2 en la base de datos $3
log_data_modify=Modificada $1 filas en la tabla $2 en la base de datos $3
log_data_delete=Borrada $1 filas de la tabla $2 en la base de datos $3
log_exec=Ejecutado SQL en la base de datos $1
log_exec_l=Ejecutado comando SQL $2 en la base de datos $1
log_user_create=Creados permisos para usuario $1, máquina $2
log_user_delete=Borrados permisos para usuario $1, máquina $2
log_user_modify=Modificados permisos para usuario $1, máquina $2
log_perm_create=Creados permisos para base de datos $3, usuario $1, máquina $2
log_perm_delete=Borrados permisos para base de datos $3, usuario $1, máquina $2
log_perm_modify=Modifcados permisos para base de datos $3, usuario $1, máquina $2
log_host_create=Creados permisos para máquina $2, base de datos $3
log_host_delete=Borrados permisos para máquina $2, base de datos $3
log_host_modify=Modificados permisos para máquina $2, base de datos $3
log_tpriv_create=Creados permisos para tabla $4, base de datos $3
log_tpriv_delete=Borrados permisos para tabla $4, base de datos $3
log_tpriv_modify=Modificados permisos para tabla $4, base de datos $3
log_tpriv_create_l=Creados permisos para tabla $4, base de datos $3, usuario $1, máquina $2
log_tpriv_delete_l=Borrados permisos para tabla $4, base de datos $3, usuario $1, máquina $2
log_tpriv_modify_l=Modificados permisos para tabla $4, base de datos $3, usuario $1, máquina $2
log_cpriv_create=Creados permisos para campo $5, tabla $4
log_cpriv_delete=Borrados permisos para campo $5 tabla $4
log_cpriv_modify=Modificados permisos para campo $5, tabla $4
log_cpriv_create_l=Creados permisos para campo $5, tabla $4, base de datos $3, usuario $1, máquina $2
log_cpriv_delete_l=Borrados permisos para campo $5, tabla $4, base de datos $3, usuario $1, máquina $2
log_cpriv_modify_l=Modificados permisos para campo $5, tabla $4, base de datos $3, usuario $1, máquina $2
log_anon=anónimo
log_any=cualquiera
log_backup=Base de datos respaldada $1
log_backup_l=Base de datos $1 respaldada a archivo $2
log_execupload=Ejecutados comandos SQL desde archivo cargado
log_execfile=Ejecutados comandos SQL desde archivo $1
log_importupload=Datos importados desde archivo cargado
log_importfile=Datos importados desde archivo $1

backup_title=Respaldar Base de Datos
backup_edump=El programa de respaldo de MySQL $1 no ha sido hallado en tu sistema. Quizás tu <a href='$2'>configuración del módulo</a> es incorrecta.
backup_desc=Este formulario te permite respaldar la base de datos $1 como un archivo de sentencias SQL. Para restaurar un resplado, puedes usar el formulario de Ejecutar SQL para ejecutar los comandos del archivo.
backup_header=Opciones de respaldo de base de datos
backup_file=Respaldar a archivo
backup_where=Sólo respaldar filas que coincidan con la cláusula <tt>donde (where)</tt>
backup_none=Todas las filas
backup_drop=¿Añado sentencias <tt>eliminar tabla (drop table)</tt> al resplado?
backup_ok=Respaldar Ahora
backup_err=Falló el respaldo de Base de Datos
backup_efile=Nombre de archivo de respaldo falta o es inválido
backup_epath=Trayectoria de respaldo inválida
backup_ewhere=Cláusula <tt>donde (where)</tt> falta
backup_ebackup=falló <tt>mysqldump</tt>: $1
backup_done=$3 bytes respaldados con éxito desde la base de datos $1 al archivo $2.

import_title=Importar Datos
import_uploadout=Importando datos desde archivo cargado...
import_fileout=Importando datos desde archivo $1...
import_eupload=Falta archivo de importación cargado
import_efile=Falta nombre de archivo de importación
070701000383ad000081a40000000000000002000000013d1fe2db00002cc9000000200000000000000000000000000000001400000003reloc/mysql/lang/he   index_title=MySQL - Masad Netunim
index_notrun=MySQL ìà øõ áîòøëú - ìà ðéúï ìùìåó àú øùéîú îñãé äðúåðéí
index_start=äúçì àú ùøú MySQL
index_startmsg=ìçõ ëàï ëãé ìäúçéì àú ùøú MySQL òí äô÷åãä äàä :  $1. ä÷òè äæä ùì Webmin ìà éëåì ìòáåã òã ùìà úúçéì àú äùøú.
index_nopass=àðé àöøéê ìãòú àú äùí åäñéñîà ùáäí àúä ðëðñ ìùøú àñ.÷éå.àì. áá÷ùä ó ëúåá øú ùí äîùúîù äðéäåìé (áãøê-ëìì <tt>root</tt>) åâí àú äñéñîà äîúàéîä.
index_ltitle=ëðéñä ìMySQL
index_login=ëðéñä
index_pass=ñéñîà
index_clear=ð÷ä
index_stop=òöåø àú ùøú MySQL
index_stopmsg=ìçõ ëàï ëãé ìòöåø àú ùøú àñ.÷éå.àì.  ãáø æä éîðò îîùúîùéí àçøéí áîçùá âéùä ìðúåðéí, åâí âéùä ìîåãåì äæä ùì webmin. 
index_dbs=îñãé ðúåðéí ùì àñ.÷éå.àì
index_add=öåø îñã ðúåðéí çãù
index_global=àôùøåéåú âìåáìéåú
index_return=øùéîú îñãé-ðúåðéí
index_eadmin=The MySQL admin program $1 was not found on your system. Maybe MySQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_esql=The MySQL client program $1 was not found on your system. Maybe MySQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_ever=The MySQL client program $1 does not appear to be the correct version. Webmin only support MySQL version 3.
index_nouser=Your Webmin account is configured to connect to the MySQL server as user $1, but this user has been denied access. 

login_err=ìà äöìçúé ìäúçáø ìùøú àñõ÷éåõàì
login_ecannot=You are not allowed to configure the database login
login_elogin=Missing adminstration login
login_epass=Incorrect administration username or password

stop_err=Failed to stop database
start_err=Failed to start database

dbase_title=Me-Ha-Massad Ad-Ha-Tfahot
dbase_tables=èáìàåú
dbase_add=öåø èáìä çãùä
dbase_drop=îç÷ èáìä
dbase_exec=áöò ô÷åãåú SQL
dbase_none=àéï èáìàåú áîñã-ðúåðéí æä
dbase_fields=ùãåú âåìãáøâ:
dbase_return=øùéîú èáìàåú
dbase_ecannot=àéï ìê ùåí æëåú!

ddrop_err=Failed to drop database
ddrop_title=Delete a Database!
ddrop_rusure=Are you sure you want to drop the database $1 ? $2 tables containing $3 rows of data will be deleted.
ddrop_mysql=îëéåï ùæåäé èáìä/îñã ðúåðéí îøëæé,  îçé÷ä ëæàú áååãàé úùú÷ àú ùøú àñ.÷éå.àì ùìê ìçìåèéï
ddrop_ok=îç÷ îñã-ðúåðéí

table_title=Edit Table
table_title2=Create New Table
table_header=Table $1 in database $2
table_field=ùí äùãä
table_type=ñåâ
table_null=àôùø òøëéí øé÷éí (null) ?
table_key=îôúç
table_default=òøê äúçìúé
table_extra=Extras
table_pri=øàùé
table_mul=Indexed
table_none=ììà
table_add=äåñó ùãä îñåâ
table_return=øùéîú ùãåú
table_data=äöâ èáìä
table_drop=îç÷ èáìä
table_name=ùí èáìä
table_initial=ùãåú äúçìúééí
table_header2=àôùøåéåú ùì èáìä çãùä
table_err=Failed to create table
table_ename=Missing or invalid table name
table_efield='$1' is not a valid field name
table_etype=Missing type for field $1
table_esize=Missing type size for field $1
table_enone=No initial fields entered

tdrop_err=Failed to drop table
tdrop_title=Delete Table!
tdrop_rusure=Are you sure you want to drop the table $1 in database $2 ? $3 rows of data will be deleted.
tdrop_ok=îç÷ èáìä

field_title1=Add Field
field_title2=Modify Field
field_in=áèáìä  $1 áîñã äðúåðéí  $2
field_header=îàôééðéí ùì ãùä
field_name=ùí äùãä
field_type=ñåâ ðúåï
field_size=àåøê (áúååéí)
field_enum=òøëéí îñåôøøéí
field_dual=øåçá åð÷åãä òùøåðéú
field_opts=àôùøåéåú ñôöéôéåú ìñåâ ðúåï
field_auto=Autoincrement? úéåñó àåèåîèé ìòøê äùãä äáà
field_none=ììà
field_unsigned=ììà ñéîï ùìéìé/çéåáé
field_zerofill=øôã áàôñéí
field_ascii=ììà äáãìä áéï àåúéåú âãåìåú/÷èðåú áàðâìéú
field_binary=äáãìä áéï àåúéåú âãåìåú/÷èðåú áàðâìéú
field_null=àôùø òøëéí øé÷éí ?
field_default=òøê äúçìúé
field_key=çì÷ îîôúç øàùé?
field_err=ìà äöìçúé ìùîåø
field_esize='$1' is not a valid field size
field_eenum=No enumerated values entered
field_efield='$1' is not a valid field name
field_ekey=àé àôùø ìäùúîù áîôúç øàùé áùãåú ùîàôùøéí òøëéí øé÷éí

view_title=Table Data
view_pos=Rows $1 to $2 of $3
view_none=àéï ôä îä ìøàåú
view_edit=òøéëú äùãåú äîñåîðéí
view_new=äåñôú ùåøä
view_delete=îçé÷ú äùåøä äðáçøú
view_nokey=àðé ìà éëåì ìòøåê ëàï ðúåðéí, ëé àéï îôúç øàùé ìèáìä

users_title=User Permissions
users_user=îùúîù
users_host=ùøúéí-îàøçéí
users_pass=ñéñîà îåöôðú
users_perms=äøùàåú
users_add=äåñôú îùúîù çãù
users_priv3=Select
users_priv4=Insert
users_priv5=Update
users_priv6=Delete
users_priv7=Create
users_priv8=Drop
users_priv9=Reload
users_priv10=Shutdown
users_priv11=Process
users_priv12=File
users_priv13=Grant
users_priv14=References
users_priv15=Index
users_priv16=Alter
users_all=All
users_anon=Anonymous
users_none=None
users_return=user list

user_title1=Create User
user_title2=Edit User
user_header=MySQL user details
user_user=Username
user_all=Anonymous user
user_pass=Password
user_leave=Don't change
user_none=None
user_any=Any
user_set=Set to..
user_host=Hosts
user_perms=Permissions
user_priv3=Select table data
user_priv4=Insert table data
user_priv5=Update table data
user_priv6=Delete table data
user_priv7=Create tables
user_priv8=Drop tables
user_priv9=Reload grants
user_priv10=Shutdown database
user_priv11=Manage processes
user_priv12=File operations
user_priv13=Grant privileges
user_priv14=Reference operations
user_priv15=Manage indexes
user_priv16=Alter tables
user_err=Failed to save user
user_euser=Missing or invalid username
user_ehost=Missing or invalid allow host(s)

dbs_title=Database Permissions
dbs_db=îñãé ðúåðéí
dbs_user=User
dbs_host=Hosts
dbs_perms=äøùàåú
dbs_anon=Anonymous
dbs_any=Any
dbs_empty=No database permissions defined.
dbs_hosts=From host permissions
dbs_add=Create new database permissions
dbs_priv3=Select
dbs_priv4=Insert
dbs_priv5=Update
dbs_priv6=Delete
dbs_priv7=Create
dbs_priv8=Drop
dbs_priv9=Grant
dbs_priv10=References
dbs_priv11=Index
dbs_priv12=Alter
dbs_all=All
dbs_none=None
dbs_return=database permissions

db_title1=Create Database Permissions
db_title2=Edit Database Permissions
db_header=Database permission options
db_db=Databases
db_user=Username
db_anon=Anonymous user
db_host=Hosts
db_hosts=From host permissions
db_any=Any
db_perms=äøùàåú
db_priv3=Select table data
db_priv4=Insert table data
db_priv5=Update table data
db_priv6=Delete table data
db_priv7=Create tables
db_priv8=Drop tables
db_priv9=Reload grants
db_priv10=Shutdown database
db_priv11=Manage processes
db_priv12=File operations
db_priv13=Grant privileges
db_priv14=Reference operations
db_priv15=Manage indexes
db_priv16=Alter tables
db_err=Failed to save database permissions
db_euser=Missing or invalid username
db_ehost=Missing or invalid hostname
db_edb=Missing or invalid database name

hosts_title=Host Permissions
hosts_db=Databases
hosts_host=Hosts
hosts_perms=äøùàåú
hosts_any=Any
hosts_all=All
hosts_none=None
hosts_add=Create new host permissions
hosts_empty=No host permissions defined

host_title1=Create Host Permissions
host_title2=Edit Host Permissions
host_header=Host permissions options
host_db=Databases
host_any=Any
host_host=Hosts
host_perms=Permissions

newdb_title=Create Database
newdb_header=New database options
newdb_db=Database name
newdb_table=Initial table
newdb_none=None
newdb_struct=Initial table structure
newdb_err=Failed to create database
newdb_edb=Missing or invalid database name
newdb_ecannot=You are not allowed to create databases

exec_title=Execute SQL
exec_header=Enter SQL command to execute on database $1 ..
exec_exec=Execute
exec_err=Failed to execute SQL
exec_out=Output from SQL command $1 ..
exec_none=No data returned

tprivs_title=Table Permissions
tprivs_table=Table
tprivs_db=Database
tprivs_host=Hosts
tprivs_user=User
tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_norows=No table permissions defined
tprivs_return=table permissions
tprivs_none=None

tpriv_title1=Create Table Permissions
tpriv_title2=Edit Table Permissions
tpriv_header=Table permission options
tpriv_db=Database
tpriv_table=Table
tpriv_user=Username
tpriv_host=Hosts
tpriv_perms1=Table permissions
tpriv_perms2=Field permissions
tpriv_any=Any
tpriv_anon=Anonymous user
tpriv_err=Failed to save table permissions
tpriv_etable=No table selected
tpriv_euser=Missing or invalid username
tpriv_ehost=Missing or invalid host

cprivs_title=Field Permissions
cprivs_field=Field
cprivs_table=Table
cprivs_db=Database
cprivs_host=Hosts
cprivs_user=User
cprivs_privs=Permissions
cprivs_all=All
cprivs_anon=Anonymous
cprivs_add=Add new permissions in database and table :
cprivs_norows=No field permissions defined
cprivs_return=field permissions
cprivs_none=None

cpriv_title1=Create Field Permissions
cpriv_title2=Edit Field Permissions
cpriv_header=Field permission options
cpriv_db=Database
cpriv_table=Table
cpriv_field=Field
cpriv_user=Username
cpriv_host=Hosts
cpriv_perms=Permissions
cpriv_any=Any
cpriv_anon=Anonymous user
cpriv_err=Failed to save field permissions
cpriv_etable=No field selected
cpriv_euser=Missing or invalid username
cpriv_ehost=Missing or invalid host

esql=SQL $1 failed : $2
perms_ecannot=You are not allowed to edit permissions
perms_edb=You are only allowed to edit permissions for your own databases

acl_dbs=Databases this user can manage
acl_create=Can create new databases?
acl_delete=Can drop databases?
acl_stop=Can stop and start the MySQL server?
acl_perms=Can edit permissions?
acl_only=Only for managed databases
acl_login=Login to MySQL as
acl_user_def=Username from Module Config
acl_user=Username
acl_pass=password

log_start=Started MySQL server
log_stop=Stopped MySQL server
log_db_create=Created database $1
log_db_delete=Dropped database $1
log_table_create=Created table $1 in database $2
log_table_delete=Dropped table $1 from database $2
log_field_create=Added field $1 $4 to $2 in database $3
log_field_modify=Modified field $1 $4 in $2 in database $3
log_field_delete=Deleted field $1 from $2 in database $3
log_data_create=Added row to table $2 in database $3
log_data_modify=Modified $1 rows in table $2 in database $3
log_data_delete=Deleted $1 rows from table $2 in database $3
log_exec=Executed SQL in database $1
log_exec_l=Executed SQL command $2 in database $1
log_user_create=Created perms for user $1, host $2
log_user_delete=Deleted perms for user $1, host $2
log_user_modify=Modified perms for user $1, host $2
log_perm_create=Created perms for database $3, user $1, host $2
log_perm_delete=Deleted perms for database $3, user $1, host $2
log_perm_modify=Modified perms for database $3, user $1, host $2
log_host_create=Created perms for host $2, database $3
log_host_delete=Deleted perms for host $2, database $3
log_host_modify=Modified perms for host $2, database $3
log_tpriv_create=Created perms for table $4, database $3
log_tpriv_delete=Deleted perms for table $4, database $3
log_tpriv_modify=Modified perms for table $4, database $3
log_tpriv_create_l=Created perms for table $4, database $3, user $1, host $2
log_tpriv_delete_l=Deleted perms for table $4, database $3, user $1, host $2
log_tpriv_modify_l=Modified perms for table $4, database $3, user $1, host $2
log_cpriv_create=Created perms for field $5, table $4
log_cpriv_delete=Deleted perms for field $5 table $4
log_cpriv_modify=Modified perms for field $5, table $4
log_cpriv_create_l=Created perms for field $5, table $4, database $3, user $1 host $2
log_cpriv_delete_l=Deleted perms for field $5 table $4, database $3, user $1 host $2
log_cpriv_modify_l=Modified perms for field $5, table $4, database $3, user $1 host $2

log_anon=anonymous
log_any=any

   070701000383ae000081a40000000000000002000000013d1fe2db00003987000000200000000000000000000000000000001400000003reloc/mysql/lang/hu   # webmin-0.90at/mysql/hu
# second edition (kijavítva néhány hiba)
# translated by Gabor Keve <gabor.keve@orientp.hu>
#
index_title=MySQL Adatbázis szerver
index_notrun=MySQL nem fut a rendszerben - az adatabázis listát nem lehet lekérni.
index_start=MySQL Szerver indítása
index_startmsg=Kattintson erre a gombra, hogyha indítani szeretné a MySQL adatbázis szervert az Ön rendszerében a $1 paranccsal. Ez a Webmin modul nem tudja adminisztrálni az adatabázisokat amíg nincs elindítva.
index_nopass=A Webmin-nek szüksége van arra, hogy tudja a MySQL adminisztrációs belépõ nevet és jelszót. Szükség van mindkét adatra ahhoz, hogy tudja adminisztrálni az adatbázist. Kérem adja meg az adminisztrátori felhaszálói nevet (általában <tt>root</tt>) és jelszót.
index_ltitle=MySQL belépés
index_login=Felhasználói név
index_pass=Jelszó
index_clear=Törlés
index_stop=MySQL Szerver leállítása
index_stopmsg=Kattintson erre a gombra, hogyha szeretné leállítani a MySQL adatabázis szervert az Ön rendszerében. Ez megfogja szakítania szerver futását, és megakadályozza, hogy bárki vagy bármelyik program hozzáférjen az adatabázisokhoz, beleértve ezt a Webmin modult is.
index_dbs=MySQL Adatabázisok
index_add=Új adatbázis létrehozása
index_global=Globális beállítások
index_return=Adatabázis lista
index_eadmin=A MySQL admin program $1 nem található meg a rendszerben. Talán a MySQL nem lett installálva, vagy az Ön <a href='$2'>modul konfiguráció</a> beállítása helytelen.
index_esql=A MySQL kliens program $1 nem található meg a rendszerben. Talán a MySQL nem lett installálva, vagy az Ön <a href='$2'>modul konfiguráció</a> beállítása helytelen.
index_ever=A MySQL kliens program $1 nem megfelelõ verziószámú. A Webmin csak a MySQL 3 vagy magasabb verziót támogat.
index_nouser=Az Ön Webmin belépõje úgy lett bekonfigurálva, hogy a MySQL szerverhez csatlakozzon mint $1 felhsználó, de ennek a felhasználónak nincs engedélyezve a hozzáférés.

login_err=Belépés sikertelen
login_ecannot=Önnek nincs engedélyezve az adatbázis konfigurálás
login_elogin=Hibás adminisztrátori felhasználói név
login_epass=Hibás adminisztrátori felhasználói név vagy jelszó

stop_err=Nem lehet leállítani az adatbázist
start_err=Nem lehet indítani az adatbázist

dbase_title=Adatbázis szerkesztése
dbase_tables=Adatbázis táblái
dbase_add=Új tábla
dbase_drop=Adatbázis eldobása
dbase_exec=SQL parancs futtatása
dbase_none=Ennek az adatbázisnak nincsenek táblái.
dbase_fields=Mezõk:
dbase_return=Tábla lista
dbase_ecannot=Önnek nincs joga szerkeszteni ezt az adatbázist

ddrop_err=Nem sikerült eldobni az adatbázist
ddrop_title=Adatbázis eldobása
ddrop_rusure=Biztos benne, hogy el szeretné dobni a(z) $1 nevû adatbázist? $2 tábla és $3 oszlop összes adata törölve lesz.
ddrop_mysql=Mivel ez a mester adatbázis, ha eldobja akkor az Ön MySQL szerver használhatattlan lesz!
ddrop_ok=Adatbázis eldobása

table_title=Tábla szerkesztése
table_title2=Tábla létrehozás
table_header=$1 tábla a $2 adatbázisból
table_field=Mezõ neve
table_type=Típus
table_null=Engedélyezve legyen a nulla?
table_key=Kulcs
table_default=Alapértelmezett érték
table_extra=Extrák
table_pri=Elsõdleges
table_mul=Indexelt
table_none=Egyikse
table_add=Adott típusú mezõ hozzáadás:
table_return=Mezõ lista
table_data=Adatok megtekintése
table_drop=Tábla eldobása
table_name=Tábla neve
table_initial=Kezdõ mezõk
table_header2=Új tábla opciók
table_err=Nem sikerült táblát készíteni
table_ename=Hibás vagy érvénytelen táblanév
table_efield='$1' érvénytelen mezõnév
table_etype=Érvénytelen típusú mezõ $1
table_esize=Érvénytelen típushosszú mezõ $1
table_enone=Nem lett kezdõ érték megadva a mezõnek

tdrop_err=Nem sikerült eldobni a táblát
tdrop_title=Tábla eldobása
tdrop_rusure=Biztos Ön abban, hogy el akarja dobni a(z) $1 táblát a(z) $2 adatbázisból? $3 oszlop adatai törlõdni fognak.
tdrop_ok=Tábla eldobása

field_title1=Mezõ hozzáadása
field_title2=Mezõ módosítása
field_in=$1 táblában a $2 adatbázisban
field_header=Mezõ paraméterei
field_name=Mezõ neve
field_type=Adat típusa
field_size=Típus hossza
field_enum=Enumerált értékek
field_dual=Hossz és decimális hossz
field_opts=Típus opciói
field_auto=Automatikus növelésû?
field_none=Nincs
field_unsigned=Hozzárendeletlen
field_zerofill=Nullával feltöltve
field_ascii=Nem betûérzékeny
field_binary=Betû érzékeny
field_null=Engedélyezett a nulla?
field_default=Általános érték
field_key=Része az elsõdleges kulcsnak?
field_err=Nem lehet elmenteni a mezõt
field_esize='$1' nem valós mezõhossz
field_eenum=Nincs enumerált érték megadva
field_efield='$1' nem valós mezõnév
field_ekey=A mezõ(k) amelyek tartalmazhatnak nullát nem lehetnek részei az elsõdleges kulcsnak!

view_title=Tábla adatok
view_pos=Sor $1 -tól/tõl $2 -ig a $3
view_none=Ez a tábla nem tartalmaz adatokat
view_edit=Kiválasztott sorok szerkesztése
view_new=Sor hozzáadás
view_delete=Kiválasztott sorok törlése
view_nokey=A táblában levõ adatok nem szerkeszthetõek mert nincs elsõdleges kulcs!
view_all=Összes kiválasztása
view_invert=Kiválasztás megfordítása
view_search=Keresés a sorok között, ahol a mezõ $2 megegyezik $1
view_searchok=Keresés
view_searchhead=Keresés az eredményekben $1 a $2 mezõben..
view_searchreset=Keresés nullázása

users_title=Felhasználói jogok
users_user=Felhasználó
users_host=Gazdagépek
users_pass=Elkódolt jelszó
users_perms=Jogosultságok
users_add=Új felhasználó létrehozása
users_priv3=Kiválaszt
users_priv4=Beszúr
users_priv5=Frissít
users_priv6=Töröl
users_priv7=Létrehoz
users_priv8=Eldob
users_priv9=Újratölt
users_priv10=Leállít
users_priv11=Procesz
users_priv12=File
users_priv13=Jog
users_priv14=Referencia
users_priv15=Index
users_priv16=Változtatás
users_all=Összes
users_anon=Névtelen
users_none=Egyikse
users_return=Felhasználói lista

user_title1=Felhasználó létrehozása
user_title2=Felhasználó szerkesztése
user_header=MySQL felhasználó adatai
user_user=Felhasználói név
user_all=Névtelen felhasználó
user_pass=Jelszó
user_leave=Ne legyen változtattva
user_none=Nincs
user_any=Bárhonnan
user_set=Beállítva..
user_host=Gazdagépek
user_perms=Jogosultság
user_priv3=Tábla adat kiválasztás
user_priv4=Tábla adat beszúrás
user_priv5=Tábla adat frissítés
user_priv6=Tábla adat törlés
user_priv7=Tábla létrehozás
user_priv8=Tábla eldobása
user_priv9=Jogok újratöltése
user_priv10=Adatbázis leállítása
user_priv11=Proceszek irányítása
user_priv12=File mûveletek
user_priv13=Jogok kiosztása
user_priv14=Referencia mûveletek
user_priv15=Indexek vezérlése
user_priv16=Tábla változtatás
user_err=Nem lehet menteni a felhasználót
user_euser=Rossz vagy érvénytelen felhasználói név
user_ehost=Rossz vagy érvénytelen gazdagép(ek) engedélyezés

dbs_title=Adatbázis jogosultságok
dbs_db=Adatbázisok
dbs_user=Felhasználó
dbs_host=Gazdagépek
dbs_perms=Jogosultságok
dbs_anon=Névtelen
dbs_any=Bárhonnan
dbs_empty=Nincs adatbázis jogosultság definiálva.
dbs_hosts=Gazdagép jogosultságból
dbs_add=Új tábla jogosultság létrehozása
dbs_priv3=Kiválasztás
dbs_priv4=Beszúrás
dbs_priv5=Frissítés
dbs_priv6=Törlés
dbs_priv7=Létrehozás
dbs_priv8=Eldobás
dbs_priv9=Jogok
dbs_priv10=Referencia
dbs_priv11=Index
dbs_priv12=Módosítás
dbs_all=Összes
dbs_none=Egyikse
dbs_return=Adatbázis jogosultság

db_title1=Adatbázis jogosultság létrehozása
db_title2=Adatbázis jogosultság szerkesztése
db_header=adatbázis jogosultság beállításai
db_db=adatbázisok
db_user=Fehasználói nevek
db_anon=Névtelen felhasználó
db_host=Gazdagépek
db_hosts=Gazdagép jogosultságból
db_any=Bárhonnan
db_perms=Jogosultság
db_priv3=Tábla adat kiválasztás
db_priv4=Tábla adat beszúrás
db_priv5=Tábla adat frissítés
db_priv6=Tábla adat törlés
db_priv7=Táblák létrehozása
db_priv8=Táblák eldobása
db_priv9=Jogosultságok megadása
db_priv10=Referencia mûveletek
db_priv11=Indexek vezérlése
db_priv12=Tábla oszlopok módosítása
db_err=Nem lehet menteni az adatbázis jogosultságokat
db_euser=Rossz vagy érvénytelen felhasználói név
db_ehost=Rossz vagy érvénytelen gazdagépnév
db_edb=Rossz vagy érvénytelen adatbázis név

hosts_title=Gazdagép jogosultság
hosts_db=Adatbázisok
hosts_host=Gazdagépek
hosts_perms=Jogosultságok
hosts_any=Bárhonnan
hosts_all=Összes
hosts_priv2=Kiválasztás
hosts_priv3=Beszúrás
hosts_priv4=Frisítés
hosts_priv5=Törlés
hosts_priv6=Létrehozás
hosts_priv7=Eldobás
hosts_priv8=Jog
hosts_priv9=Referencia
hosts_priv10=Index
hosts_priv11=Módosítás
hosts_none=Nincs
hosts_add=Új gazdagép létrehozása
hosts_empty=Nincs gazdagép jogosultság definiálva

host_title1=Gazdagép jogosultság létrehozása
host_title2=Gazdagép jogosultság szerkesztése
host_header=Gazdagép jogosultság beállításai
host_db=Adatbázisok
host_any=Bárhonnan
host_priv2=Tábla adat kiválaszts
host_priv3=Tábla adat beszúrás
host_priv4=Tábla adat frissítés
host_priv5=Tábla adat törlés
host_priv6=Tábla létrehozás
host_priv7=Tábla eldobás
host_priv8=Jogosultság kiosztás
host_priv9=Referencia mûveletek
host_priv10=Indexek vezérlése
host_priv11=Tábla oszlopk módosítása
host_host=Gazdagépek
host_perms=Jogosultságok

newdb_title=Új adatbázis létrehozása
newdb_header=Új adatbázis beállításai
newdb_db=Adatbázis neve
newdb_table=Kezdõ tábla
newdb_none=Nincs
newdb_struct=Kezdõ tábla struktúrája
newdb_err=Nem lehet létrehozni a táblát
newdb_edb=Rossz vagy érvénytelen adatbázis név
newdb_ecannot=Önnek nincs jogosultsága adatbázist létrehozni

exec_title=SQL parancs futtatása
exec_header=Adja meg az SQL parancsot melyet a $1 adatbázison futtatni akar..
exec_exec=Futtatás
exec_err=Nem lehet futtatni az SQL parancsot
exec_out=A(z) $1 SQL parancs eredménye ..
exec_none=Nem érkezett vissza adat

tprivs_title=Tábla jogosultság
tprivs_table=Tábla
tprivs_db=Adatbázis
tprivs_host=Gazdagép
tprivs_user=Felhasználó
tprivs_privs1=Tábla jogosultság
tprivs_privs2=Mezõ jogosultság
tprivs_all=Összes
tprivs_anon=Névtelem
tprivs_add=Új jogosultság hozzáadása az adatbázishoz :
tprivs_norows=Nincs tábla jogosultság definiálva
tprivs_return=Tábla jogosultság
tprivs_none=Nincs

tpriv_title1=Tábla jogosultság létrehozása
tpriv_title2=Tábla jogosultság szerkesztése
tpriv_header=Tábla jogosultság beállításai
tpriv_db=Adatbázis
tpriv_table=Tábla
tpriv_user=Felhasználói név
tpriv_host=Gazdagépek
tpriv_perms1=Tábla jogosultság
tpriv_perms2=Mezõ jogosultság
tpriv_any=Bárhonnan
tpriv_anon=Névtelen felhasználó
tpriv_err=Nem lehet menteni a tábla jogosultságot
tpriv_etable=Nincs tábla kiválasztva
tpriv_euser=Rossz vagy érvénytelen felhasználói név
tpriv_ehost=Rossz vagy érvénytelen gazdagép

cprivs_title=Mezõ jogosultságok
cprivs_field=Mezõ
cprivs_table=Tábla
cprivs_db=Adatbázis
cprivs_host=Gazdagépek
cprivs_user=Felhasználó
cprivs_privs=Jogosultságok
cprivs_all=Összes
cprivs_anon=Anoním
cprivs_add=Új jogosultság hozzáadása az adatbázisban levõ táblához :
cprivs_norows=Nincs mezõ jogosultság definiálva
cprivs_return=mezõ jogosultság
cprivs_none=Nincs

cpriv_title1=Mezõ jogosultság létrehozása
cpriv_title2=Mezõ jogosultság szerkesztése
cpriv_header=Mezõ jogosultság beállításai
cpriv_db=Adatbázis
cpriv_table=Tábla
cpriv_field=Mezõ
cpriv_user=Felhasználói név
cpriv_host=Gazdagépek
cpriv_perms=Jogosultságok
cpriv_any=Bárhonnan
cpriv_anon=Anoním felhasználó
cpriv_err=Nem lehet elmenteni a mezõ jogosultságokat
cpriv_etable=Nincs mezõ kijelölve
cpriv_euser=Rossz vagy érvénytelen felhasználói név
cpriv_ehost=Rossz vagy éérvénytelen gazdagép

esql=SQL parancs $1 hibás : $2
perms_ecannot=Önnek nincs engedélyezve hogy szerkessze a jogosultságokat
perms_edb=Önnek csak a saját adatbázisának a jogait van joga szerkszeszteni

acl_dbs=Az adatbázisokat ez a felhasználó tudja managelni
acl_dall=Összes adatbázist
acl_dsel=Kiválasztott..
acl_create=Tud létrehozzni új adatbázist?
acl_delete=Tud eldobni adatbázist?
acl_stop=Tudja indítani és leállítani a MySQL szervert?
acl_perms=Tudja szerkeszteni a jogosultságokat?
acl_only=Csak az irányított adatbázisokat
acl_login=Bejelentkezve az MySQL-be mint
acl_user_def=Felhasználói név a Modul konfigurációhoz
acl_user=felhasználói név
acl_pass=jelszó

log_start=MySQL szerver indítva
log_stop=MySQL szerver leállítva
log_db_create=$1 adatbázis létrehozva
log_db_delete=$1 adatbázis eldobva
log_table_create=$1 tábla létrehozva a(z) $2 adatbázisban
log_table_delete=$1 tábla eldobva a(z) $2 adatbázisból
log_field_create=Hozzáadva $1 $4 mezõ a(z) $2 a(z) $3 adatbázishoz
log_field_modify=Módosítva $1 $4 mezõ a(z) $2 a(z) $3 adatbázishoz
log_field_delete=Törölve $1 $4 mezõ a(z) $2 a(z) $3 adatbázisból
log_data_create=Sor hozzáadva a(z) $2 táblához a(z) $3 adatbázisba
log_data_modify=$1 sorok módosítva a(z) $2 táblában a(z) $3 adatbázisban
log_data_delete=$1 sorok törölve a(z) $2 táblából a(z) $3 adatbázisól
log_exec=SQL futtatva a(z) $1 adatbázison
log_exec_l=A $2 SQL parancs lefuttatva a $1 adatbázison
log_user_create=Hozzáférés létrehozásra a(z) 1 felhasználónak, a(z) $2 gazdagépre
log_user_delete=Hozzáférés törlésre a(z) 1 felhasználónak, a(z) $2 gazdagépre
log_user_modify=Hozzáférés módosításra a(z) 1 felhasználónak, a(z) $2 gazdagépre
log_perm_create=Hozzáférés létrehozásra a(z) $3 adatbázishoz, a(z) $1 felhasználónak, a(z) $2 gazdagéprõl
log_perm_delete=Hozzáférés törlésre a(z) $3 adatbázishoz, a(z) $1 felhasználónak, a(z) $2 gazdagéprõl
log_perm_modify=Hozzáférés módosításra a(z) $3 adatbázishoz, a(z) $1 felhasználónak, a(z) $2 gazdagéprõl
log_host_create=Hozzáférés létrehozásra a(z) $2 gazdagépnek a(z) $3 adatbázishoz
log_host_delete=Hozzáférés törlésre a(z) $2 gazdagépnek a(z) $3 adatbázishoz
log_host_modify=Hozzáférés módosításra a(z) $2 gazdagépnek a(z) $3 adatbázishoz
log_tpriv_create=Hozzáférés létrehozásra a(z) $4 táblához, a(z) $3 adatbázisból
log_tpriv_delete=Hozzáférés törlésre a(z) $4 táblához, a(z) $3 adatbázisból
log_tpriv_modify=Hozzáférés módosításra a(z) $4 táblához, a(z) $3 adatbázisból
log_tpriv_create_l=Hozzáférés létrehozásra a(z) $4 táblához,a(z) $3 adatbázisból,a(z) $1 felhazsnáló, a(z) $2 gazdagéprõl
log_tpriv_delete_l=Hozzáférés törlésre a(z) $4 táblához,a(z) $3 adatbázisból,a(z) $1 felhazsnáló, a(z) $2 gazdagéprõl
log_tpriv_modify_l=Hozzáférés módosításra a(z) $4 táblához,a(z) $3 adatbázisból,a(z) $1 felhazsnáló, a(z) $2 gazdagéprõl
log_cpriv_create=Hozzáférés létrehozásra a(z) $5 mezõhöz, a(z) $4 táblából
log_cpriv_delete=Hozzáférés törlésre a(z) $5 mezõhöz, a(z) $4 táblából
log_cpriv_modify=Hozzáférés módosításra a(z) $5 mezõhöz, a(z) $4 táblából
log_cpriv_create_l=Hozzáférés létrehozásra a(z) $5 mezõhöz, a(z) $4 táblában, a(z) $3 adatbázisban, a(z) $1 felhasználó a(z) $2 gazdagéprõl
log_cpriv_delete_l=Hozzáférés törlésre a(z) $5 mezõhöz, a(z) $4 táblában, a(z) $3 adatbázisban, a(z) $1 felhasználó a(z) $2 gazdagéprõl
log_cpriv_modify_l=Hozzáférés módosításra a(z) $5 mezõhöz, a(z) $4 táblában, a(z) $3 adatbázisban, a(z) $1 felhasználó a(z) $2 gazdagéprõl
log_anon=Névtelen
log_any=Bárhonnan
 070701000383af000081a40000000000000002000000013d1fe2db0000228b000000200000000000000000000000000000001400000003reloc/mysql/lang/it   index_title=MySQL Database Server
index_notrun=MySQL non è in esecuzione nel sistema - la lista dei database potrebbe non essere disponibile.
index_start=Lancia MySQL Server
index_startmsg=Spingi questo bottone per lanciare MySQL database server nel sistema con il comando $1. Questo modulo di Webmin non può amministrare il database finchè MySQL Server non è stato lanciato.
index_nopass=Webmin ha bisogno di conoscere il login e la pasword di amministratore del MySQL Server. Prego inserire il login di amministratore del MySQL Server (tipicamente <tt>root</tt>) e la password relativa nel campo sottostante.
index_ltitle=MySQL Login
index_login=Login
index_pass=Password
index_clear=Pulisci
index_stop=Ferma MySQL Server
index_stopmsg=Spingi questo bottone per fermare MySQL database server nel sistema. Questo impedirà ad ogni utente o programma di accedere al database, incluso questo modulo di Webmin.
index_dbs=I Database MySQL
index_add=Crea un nuovo database
index_global=Opzioni Globali
index_return=lista di database
index_eadmin=Il programma $1 di amministrazione di MySQL non è stato trovato nel sistema. Forse MySQL non è installato o il <a href='$2'>modulo di configurazione</a> non è corretto.
index_esql=Il programma client $1 di MySQL non è stato trovato nel sistema. Forse MySQL non è installato, o il <a href='$2'>modulo di configurazione</a> non è corretto.
index_ever=Il programma client $1 di MySQL non sembra avere una versione corretta. Webmin supporta esclusivamente la versione 3 di MySQL.

login_err=Login errato
login_elogin=
login_epass=Login o password non corretta

stop_err=Fallito l'arresto del database
start_err=Fallito la partenza del database

dbase_title=Modifica Database
dbase_tables=Tabelle del Database
dbase_add=Crea nuova tabella
dbase_drop=Cancella Database
dbase_exec=Esegui SQL
dbase_none=Questo database non ha tabelle.
dbase_return=lista di tabelle

ddrop_err=Fallita concellazione database
ddrop_title=Cancellazione del Database
ddrop_rusure=Sei sicuro di voler cancellare il database $1 ? $2 tabelle contenenti $3 righe di dati verranno cancellati.
ddrop_mysql=Poichè questo è il database principale, cancellandolo si renderà inusabile il MySQL server!
ddrop_ok=Database cancellato

table_title=Modifica la Tabella
table_title2=Crea una Tabella
table_header=Tabella $1 nel database $2
table_field=Nome del Campo
table_type=Tipo
table_null=Permetti nulls?
table_key=Chiave
table_default=Valore di default
table_extra=Extras
table_pri=Primaria
table_mul=Indicizzato
table_none=Niente
table_add=Aggiungi un campo del tipo:
table_return=lista dei campi
table_data=Vedi i dati
table_drop=Cancella la tabella
table_name=Nome della tabella
table_initial=Campi iniziali
table_header2=Nuove opzioni della tabella
table_err=Fallita creazione della tabella
table_ename=Nome della tabella mancante o non valido
table_efield='$1' non è un nome valido per un campo
table_etype=Mancante tipo per il campo $1
table_esize=Mancante grandezza tipo per il campo $1
table_enone=Non sono stati inseriti campi iniziali

tdrop_err=Fallita cancellazione della tabella
tdrop_title=Cancellazione della Tabella
tdrop_rusure=Sei sicuri di voler cancellare la tabella $1 nel database $2 ? $3 righe di dati saranno cancellati.
tdrop_ok=Tabella cancellata

field_title1=Aggiungi Campo
field_title2=Modifica Campo
field_in=Nella tabella $1 nel database $2
field_header=Parametri del campo
field_name=Nome del campo
field_type=Tipo di dato
field_size=Lunghezza del tipo
field_enum=Enumerated values
field_dual=Width and decimals
field_opts=Type options
field_none=None
field_unsigned=Unsigned
field_zerofill=Fill with zeros
field_ascii=Case insensitive
field_binary=Case sensitive
field_null=Allow nulls?
field_default=Default value
field_err=Failed to save field
field_esize='$1' is not a valid field size
field_eenum=No enumerated values entered
field_efield='$1' is not a valid field name

view_title=Table Data
view_none=This table contains no data

users_title=User Permissions
users_user=User
users_host=Hosts
users_pass=Encrypted password
users_perms=Permissions
users_add=Create new user
users_priv3=Select
users_priv4=Insert
users_priv5=Update
users_priv6=Delete
users_priv7=Create
users_priv8=Drop
users_priv9=Reload
users_priv10=Shutdown
users_priv11=Process
users_priv12=File
users_priv13=Grant
users_priv14=References
users_priv15=Index
users_priv16=Alter
users_all=All
users_anon=Anonymous
users_none=None
users_return=user list

user_title1=Create User
user_title2=Edit User
user_header=MySQL user details
user_user=Username
user_all=Anonymous user
user_pass=Password
user_leave=Don't change
user_none=None
user_any=Any
user_set=Set to..
user_host=Hosts
user_perms=Permissions
user_priv3=Select table data
user_priv4=Insert table data
user_priv5=Update table data
user_priv6=Delete table data
user_priv7=Create tables
user_priv8=Drop tables
user_priv9=Reload grants
user_priv10=Shutdown database
user_priv11=Manage processes
user_priv12=File operations
user_priv13=Grant privileges
user_priv14=Reference operations
user_priv15=Manage indexes
user_priv16=Alter tables
user_err=Failed to save user
user_euser=Missing or invalid username
user_ehost=Missing or invalid allow host(s)

dbs_title=Database Permissions
dbs_db=Databases
dbs_user=User
dbs_host=Hosts
dbs_perms=Permissions
dbs_anon=Anonymous
dbs_any=Any
dbs_empty=No database permissions defined.
dbs_hosts=From host permissions
dbs_add=Create new database permissions
dbs_priv3=Select
dbs_priv4=Insert
dbs_priv5=Update
dbs_priv6=Delete
dbs_priv7=Create
dbs_priv8=Drop
dbs_priv9=Grant
dbs_priv10=References
dbs_priv11=Index
dbs_priv12=Alter
dbs_all=All
dbs_none=None
dbs_return=database permissions

db_title1=Create Database Permissions
db_title2=Edit Database Permissions
db_header=Database permission options
db_db=Databases
db_user=Username
db_anon=Anonymous user
db_host=Hosts
db_hosts=From host permissions
db_any=Any
db_perms=Permissions
db_priv3=Select table data
db_priv4=Insert table data
db_priv5=Update table data
db_priv6=Delete table data
db_priv7=Create tables
db_priv8=Drop tables
db_priv9=Reload grants
db_priv10=Shutdown database
db_priv11=Manage processes
db_priv12=File operations
db_priv13=Grant privileges
db_priv14=Reference operations
db_priv15=Manage indexes
db_priv16=Alter tables
db_err=Failed to save database permissions
db_euser=Missing or invalid username
db_ehost=Missing or invalid hostname
db_edb=Missing or invalid database name

hosts_title=Host Permissions
hosts_db=Databases
hosts_host=Hosts
hosts_perms=Permissions
hosts_any=Any
hosts_all=All
hosts_none=None
hosts_add=Create new host permissions
hosts_empty=No host permissions defined

host_title1=Create Host Permissions
host_title2=Edit Host Permissions
host_header=Host permissions options
host_db=Databases
host_any=Any
host_host=Hosts
host_perms=Permissions

newdb_title=Create Database
newdb_header=New database options
newdb_db=Database name
newdb_table=Initial table
newdb_none=None
newdb_struct=Initial table structure
newdb_err=Failed to create database
newdb_edb=Missing or invalid database name

exec_title=Execute SQL
exec_header=Enter SQL command to execute on database $1 ..
exec_exec=Execute
exec_err=Failed to execute SQL
exec_out=Output from SQL command $1 ..
exec_none=No data returned

tprivs_title=Table Permissions
tprivs_table=Table
tprivs_db=Database
tprivs_host=Hosts
tprivs_user=User
tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_norows=No table permissions defined
tprivs_return=table permissions
tprivs_none=None

tpriv_title1=Create Table Permissions
tpriv_title2=Edit Table Permissions
tpriv_header=Table permission options
tpriv_db=Database
tpriv_table=Table
tpriv_user=Username
tpriv_host=Hosts
tpriv_perms1=Table permissions
tpriv_perms2=Field permissions
tpriv_any=Any
tpriv_anon=Anonymous user
tpriv_err=Failed to save table permissions
tpriv_etable=No table selected
tpriv_euser=Missing or invalid username
tpriv_ehost=Missing or invalid host

cprivs_title=Field Permissions
cprivs_field=Field
cprivs_table=Table
cprivs_db=Database
cprivs_host=Hosts
cprivs_user=User
cprivs_privs=Permissions
cprivs_all=All
cprivs_anon=Anonymous
cprivs_add=Add new permissions in database and table :
cprivs_norows=No field permissions defined
cprivs_return=field permissions
cprivs_none=None

cpriv_title1=Create Field Permissions
cpriv_title2=Edit Field Permissions
cpriv_header=Field permission options
cpriv_db=Database
cpriv_table=Table
cpriv_field=Field
cpriv_user=Username
cpriv_host=Hosts
cpriv_perms=Permissions
cpriv_any=Any
cpriv_anon=Anonymous user
cpriv_err=Failed to save field permissions
cpriv_etable=No field selected
cpriv_euser=Missing or invalid username
cpriv_ehost=Missing or invalid host

esql=SQL $1 failed : $2

 070701000383b0000081a40000000000000002000000013d1fe2db00003a58000000200000000000000000000000000000001b00000003reloc/mysql/lang/ja_JP.euc    index_title=MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
index_notrun=MySQL ¤¬¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó - ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ê¥¹¥È¤ò¸¡º÷¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
index_start=MySQL ¥µ¡¼¥Ð¤òµ¯Æ°
index_startmsg=¥·¥¹¥Æ¥à¤Î MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤ò¥³¥Þ¥ó¥É $1 ¤Çµ¯Æ°¤¹¤ë¤Ë¤Ï¤¯¤À¤µ¤¤¡£¤³¤ÎWebmin ¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥æ¥Ë¥Ã¥È¤¬µ¯Æ°¤¹¤ë¤Þ¤Ç´ÉÍý¤Ç¤­¤Þ¤»¤ó¡£
index_nopass=Webmin ¤Ç¤´»ÈÍÑ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò´ÉÍý¤¹¤ë¤¿¤á¤Ë¤Ï¡¢MySQL ´ÉÍý¥í¥°¥¤¥ó¤È¥Ñ¥¹¥ï¡¼¥É¤¬É¬Í×¤Ç¤¹¡£´ÉÍý¥æ¡¼¥¶Ì¾ (ÄÌ¾ï¤Ï<tt>root</tt>) ¤È¥Ñ¥¹¥ï¡¼¥É¤ò²¼¤ËÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£
index_ltitle=MySQL ¥í¥°¥¤¥ó
index_login=¥í¥°¥¤¥ó
index_pass=¥Ñ¥¹¥ï¡¼¥É
index_clear=¥¯¥ê¥¢
index_stop=MySQL ¥µ¡¼¥Ð¤òÄä»ß
index_stopmsg=¥·¥¹¥Æ¥à¤Î MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¤³¤ÎWebmin ¥â¥¸¥å¡¼¥ë¤ò´Þ¤à¥æ¡¼¥¶¤Þ¤¿¤Ï¥×¥í¥°¥é¥à ¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£
index_dbs=MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹
index_add=¿·µ¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®
index_global=¥°¥í¡¼¥Ð¥ë ¥ª¥×¥·¥ç¥ó
index_return=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ê¥¹¥È
index_eadmin=MySQL ´ÉÍý¥×¥í¥°¥é¥à $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£MySQL ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a>¤¬ÉÔÀµ¤Ç¤¹¡£
index_esql=MySQL ¥¯¥é¥¤¥¢¥ó¥È ¥×¥í¥°¥é¥à $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£MySQL ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ç¤¹¡£
index_ever=MySQL ¥¯¥é¥¤¥¢¥ó¥È ¥×¥í¥°¥é¥à $1 ¤ÏÀµ¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£Webmin ¤Ï MySQL ¥Ð¡¼¥¸¥ç¥ó 3 ¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
index_nouser=Webmin ¥¢¥«¥¦¥ó¥È¤Ï MySQL ¥µ¡¼¥Ð¤Ë¥æ¡¼¥¶ $1 ¤È¤·¤ÆÀÜÂ³¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¤³¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥»¥¹¤¬µñÈÝ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ 
index_db=¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾
index_tables=¥Æ¡¼¥Ö¥ë

login_err=¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
login_ecannot=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥í¥°¥¤¥ó¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó
login_elogin=´ÉÍý¥í¥°¥¤¥ó¤¬¤¢¤ê¤Þ¤»¤ó
login_epass=´ÉÍý¥æ¡¼¥¶Ì¾¤Þ¤¿¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬ÉÔÀµ¤Ç¤¹

stop_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
start_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

dbase_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÔ½¸
dbase_tables=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥Æ¡¼¥Ö¥ë
dbase_add=¿·µ¬¤Î¥Æ¡¼¥Ö¥ë¤òºîÀ®
dbase_drop=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü
dbase_exec=SQL ¤ò¼Â¹Ô
dbase_backup=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×
dbase_none=¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¥Æ¡¼¥Ö¥ë¤¬¤¢¤ê¤Þ¤»¤ó¡£
dbase_fields=¥Õ¥£¡¼¥ë¥É:
dbase_return=¥Æ¡¼¥Ö¥ë ¥ê¥¹¥È
dbase_ecannot=¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
dbase_table=¥Æ¡¼¥Ö¥ëÌ¾
dbase_rows=¹Ô
dbase_cols=¥Õ¥£¡¼¥ë¥É

ddrop_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ddrop_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü
ddrop_rusure=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©$3 ¹Ô¤Î¥Ç¡¼¥¿¤ò´Þ¤à$2 ¥Æ¡¼¥Ö¥ë¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£
ddrop_mysql=¤³¤ì¤Ï¥Þ¥¹¥¿¡¼ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ê¤Î¤Ç¡¢ºï½ü¤¹¤ë¤È MySQL ¥µ¡¼¥Ð¤¬ÉÔ°ÂÄê¤Ë¤Ê¤ê¤Þ¤¹¡£
ddrop_ok=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü

table_title=¥Æ¡¼¥Ö¥ë¤ÎÊÔ½¸
table_title2=¥Æ¡¼¥Ö¥ë¤ÎºîÀ®
table_header=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 Æâ¤Î¥Æ¡¼¥Ö¥ë $1 
table_field=¥Õ¥£¡¼¥ë¥ÉÌ¾
table_type=¼ïÎà
table_null=NULL¤òµö²Ä¤·¤Þ¤¹¤«¡©
table_key=¥­¡¼
table_default=¥Ç¥Õ¥©¥ë¥ÈÃÍ
table_extra=Í½È÷
table_pri=¼ç¥­¡¼
table_mul=¥¤¥ó¥Ç¥Ã¥¯¥¹ÉÕ¤­
table_none=¤Ê¤·
table_add=¼ïÎà¤Î¥Õ¥£¡¼¥ë¥É¤òÄÉ²Ã:
table_return=¥Õ¥£¡¼¥ë¥É ¥ê¥¹¥È
table_data=¥Ç¡¼¥¿¤òÉ½¼¨
table_drop=¥Æ¡¼¥Ö¥ë¤òºï½ü
table_name=¥Æ¡¼¥Ö¥ëÌ¾
table_copy=¥Æ¡¼¥Ö¥ë¤«¤é¥Õ¥£¡¼¥ë¥É¤ò¥³¥Ô¡¼
table_copynone=&lt;¤Ê¤·&gt;
table_copydata=¥Ç¡¼¥¿¤â¥³¥Ô¡¼
table_initial=½é´ü¥Õ¥£¡¼¥ë¥É
table_header2=¿·µ¬¥Æ¡¼¥Ö¥ë ¥ª¥×¥·¥ç¥ó
table_err=¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
table_ename=¥Æ¡¼¥Ö¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
table_efield='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥ÉÌ¾¤Ç¤¹¡£
table_etype=¥Õ¥£¡¼¥ë¥É $1 ¤Î¼ïÎà¤¬¤¢¤ê¤Þ¤»¤ó
table_esize=¥Õ¥£¡¼¥ë¥É $1 ¤Î¼ïÎà¤Î¥µ¥¤¥º¤¬¤¢¤ê¤Þ¤»¤ó¡£
table_enone=½é´ü¥Õ¥£¡¼¥ë¥É¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

tdrop_err=¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
tdrop_title=¥Æ¡¼¥Ö¥ë¤Îºï½ü
tdrop_rusure=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2Æâ¤Î¥Æ¡¼¥Ö¥ë $1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©$3 ¹Ô¤Î¥Ç¡¼¥¿¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
tdrop_ok=¥Æ¡¼¥Ö¥ë¤òºï½ü

field_title1=¥Õ¥£¡¼¥ë¥É¤ÎÄÉ²Ã
field_title2=¥Õ¥£¡¼¥ë¥É¤ÎÊÑ¹¹
field_in=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2Æâ¤Î¥Æ¡¼¥Ö¥ë $1 Ãæ
field_header=¥Õ¥£¡¼¥ë¥É ¥Ñ¥é¥á¡¼¥¿
field_name=¥Õ¥£¡¼¥ë¥ÉÌ¾
field_type=¥Ç¡¼¥¿¤Î¼ïÎà
field_size=¼ïÎà¤ÎÉý
field_enum=Îóµó·¿¤ÎÃÍ
field_dual=Éý¤È¾®¿ôÅÀ
field_opts=¼ïÎà¤Î¥ª¥×¥·¥ç¥ó
field_auto=¼«Æ°¥¤¥ó¥¯¥ê¥á¥ó¥È ¤Ë¤·¤Þ¤¹¤«¡©
field_none=¤Ê¤·
field_unsigned=³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Ê¤¤¥Õ¥£¡¼¥ë¥É
field_zerofill=0 ¤ÇÆþÎÏ
field_ascii=ÂçÊ¸»ú¾®Ê¸»ú¤ò¶èÊÌ¤·¤Ê¤¤
field_binary=ÂçÊ¸»ú¾®Ê¸»ú¤ò¶èÊÌ
field_null=NULL¤òµö²Ä¤·¤Þ¤¹¤«¡©
field_default=¥Ç¥Õ¥©¥ë¥ÈÃÍ
field_key=¼ç¥­¡¼¤Î°ìÉô¤Ç¤¹¤«¡©
field_err=¥Õ¥£¡¼¥ë¥É¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
field_esize='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥É ¥µ¥¤¥º¤Ç¤¹
field_eenum=Îóµó·¿¤ÎÃÍ¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
field_efield='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥ÉÌ¾¤Ç¤¹
field_ekey=NULL¤òµö²Ä¤¹¤ë¥Õ¥£¡¼¥ë¥É¤Ï¼ç¥­¡¼¤Î°ìÉô¤Ë¤Ç¤­¤Þ¤»¤ó

view_title=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿
view_pos=$3¤Î¹Ô $1 ¤«¤é $2 
view_none=¤³¤Î¥Æ¡¼¥Ö¥ë¤Ï¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó
view_edit=ÁªÂò¤µ¤ì¤¿¹Ô¤òÊÔ½¸
view_new=¹Ô¤òÄÉ²Ã
view_delete=ÁªÂò¤µ¤ì¤¿¹Ô¤òºï½ü
view_nokey=¤³¤Î¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤Ë¤Ï¼ç¥­¡¼¤¬¤Ê¤¤¤¿¤áÊÔ½¸¤Ç¤­¤Þ¤»¤ó
view_all=¤¹¤Ù¤ÆÁªÂò
view_invert=ÁªÂò¤òÈ¿Å¾
view_search=¥Õ¥£¡¼¥ë¥É $2 ¤¬ $1 ¤È°ìÃ×¤¹¤ë¹Ô¤ò¸¡º÷
view_searchok=¸¡º÷
view_searchhead=¥Õ¥£¡¼¥ë¥É $2Æâ¤Î $1¤Î¸¡º÷·ë²Ì..
view_searchreset=¸¡º÷¤ò¥ê¥»¥Ã¥È
view_field=¥Õ¥£¡¼¥ë¥ÉÌ¾
view_data=¿·µ¬¤Î¥Ç¡¼¥¿

users_title=¥æ¡¼¥¶¤Îµö²Ä
users_user=¥æ¡¼¥¶
users_host=¥Û¥¹¥È
users_pass=°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É
users_perms=µö²Ä
users_add=¿·µ¬¥æ¡¼¥¶¤òºîÀ®
users_priv3=ÁªÂò
users_priv4=ÁÞÆþ
users_priv5=¹¹¿·
users_priv6=ºï½ü
users_priv7=ºîÀ®
users_priv8=ºï½ü
users_priv9=ºÆ¥í¡¼¥É
users_priv10=¥·¥ã¥Ã¥È¥À¥¦¥ó
users_priv11=¥×¥í¥»¥¹
users_priv12=¥Õ¥¡¥¤¥ë
users_priv13=Ç§²Ä
users_priv14=¥ê¥Õ¥¡¥ì¥ó¥¹
users_priv15=¥¤¥ó¥Ç¥Ã¥¯¥¹
users_priv16=ÂåÂØ
users_all=¤¹¤Ù¤Æ
users_anon=Æ¿Ì¾
users_none=¤Ê¤·
users_return=¥æ¡¼¥¶ ¥ê¥¹¥È

user_title1=¥æ¡¼¥¶¤ÎºîÀ®
user_title2=¥æ¡¼¥¶¤ÎÊÔ½¸
user_header=MySQL ¥æ¡¼¥¶¤Î¾ÜºÙ
user_user=¥æ¡¼¥¶Ì¾
user_all=Æ¿Ì¾¥æ¡¼¥¶
user_pass=¥Ñ¥¹¥ï¡¼¥É
user_leave=ÊÑ¹¹¤·¤Ê¤¤
user_none=¤Ê¤·
user_any=Ç¤°Õ
user_set=ÀßÄêÀè..
user_host=¥Û¥¹¥È
user_perms=µö²Ä
user_priv3=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁªÂò
user_priv4=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁÞÆþ
user_priv5=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤ò¹¹¿·
user_priv6=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òºï½ü
user_priv7=¥Æ¡¼¥Ö¥ë¤òºîÀ®
user_priv8=¥Æ¡¼¥Ö¥ë¤òºï½ü
user_priv9=ºÆ¥í¡¼¥É¤òµö²Ä
user_priv10=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó
user_priv11=¥×¥í¥»¥¹¤ò´ÉÍý
user_priv12=¥Õ¥¡¥¤¥ë¤ÎÁàºî
user_priv13=¸¢¸Â¤ÎÇ§²Ä
user_priv14=¥ê¥Õ¥¡¥ì¥ó¥¹¤ÎÁàºî
user_priv15=¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î´ÉÍý
user_priv16=¥Æ¡¼¥Ö¥ë¤ÎÂåÂØ
user_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
user_euser=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
user_ehost=¥Û¥¹¥È¤Îµö²Ä¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

dbs_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä
dbs_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
dbs_user=¥æ¡¼¥¶
dbs_host=¥Û¥¹¥È
dbs_perms=µö²Ä
dbs_anon=Æ¿Ì¾
dbs_any=Ç¤°Õ
dbs_empty=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
dbs_hosts=¥Û¥¹¥È¤Îµö²Ä¤«¤é
dbs_add=¿·µ¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤òºîÀ®
dbs_priv3=ÁªÂò
dbs_priv4=ÁÞÆþ
dbs_priv5=¹¹¿·
dbs_priv6=ºï½ü
dbs_priv7=ºîÀ®
dbs_priv8=ºï½ü
dbs_priv9=Ç§²Ä
dbs_priv10=¥ê¥Õ¥¡¥ì¥ó¥¹
dbs_priv11=¥¤¥ó¥Ç¥Ã¥¯¥¹
dbs_priv12=ÂåÂØ
dbs_all=¤¹¤Ù¤Æ
dbs_none=¤Ê¤·
dbs_return=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä

db_title1=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤ÎºîÀ®
db_title2=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤ÎÊÔ½¸
db_header=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤Î¥ª¥×¥·¥ç¥ó
db_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
db_user=¥æ¡¼¥¶Ì¾
db_anon=Æ¿Ì¾¥æ¡¼¥¶
db_host=¥Û¥¹¥È
db_hosts=¥Û¥¹¥È¤Îµö²Ä¤«¤é
db_any=Ç¤°Õ
db_perms=µö²Ä
db_priv3=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁªÂò
db_priv4=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁÞÆþ
db_priv5=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤ò¹¹¿·
db_priv6=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òºï½ü
db_priv7=¥Æ¡¼¥Ö¥ë¤òºîÀ®
db_priv8=¥Æ¡¼¥Ö¥ë¤òºï½ü
db_priv9=¸¢¸Â¤ÎÇ§²Ä
db_priv10=¥ê¥Õ¥¡¥ì¥ó¥¹¤ÎÁàºî
db_priv11=¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î´ÉÍý
db_priv12=¥Æ¡¼¥Ö¥ë¤ÎÂåÂØ
db_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
db_euser=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
db_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
db_edb=Â¸ºß¤·¤Ê¤¤¤«Ìµ¸ú¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤Ç¤¹

hosts_title=¥Û¥¹¥È¤Îµö²Ä
hosts_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
hosts_host=¥Û¥¹¥È
hosts_perms=µö²Ä
hosts_any=Ç¤°Õ
hosts_all=¤¹¤Ù¤Æ
hosts_priv2=ÁªÂò
hosts_priv3=ÁÞÆþ
hosts_priv4=¹¹¿·
hosts_priv5=ºï½ü
hosts_priv6=ºîÀ®
hosts_priv7=ºï½ü
hosts_priv8=Ç§²Ä
hosts_priv9=¥ê¥Õ¥¡¥ì¥ó¥¹
hosts_priv10=¥¤¥ó¥Ç¥Ã¥¯¥¹
hosts_priv11=ÂåÂØ
hosts_none=¤Ê¤·
hosts_add=¿·µ¬¤Î¥Û¥¹¥È¤Îµö²Ä¤òºîÀ®
hosts_empty=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

host_title1=¥Û¥¹¥È¤Îµö²Ä¤ÎºîÀ®
host_title2=¥Û¥¹¥È¤Îµö²Ä¤ÎÊÔ½¸
host_header=¥Û¥¹¥È¤Îµö²Ä¤Î¥ª¥×¥·¥ç¥ó
host_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
host_any=Ç¤°Õ
host_priv2=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁªÂò
host_priv3=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òÁÞÆþ
host_priv4=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤ò¹¹¿·
host_priv5=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿¤òºï½ü
host_priv6=¥Æ¡¼¥Ö¥ë¤òºîÀ®
host_priv7=¥Æ¡¼¥Ö¥ë¤òºï½ü
host_priv8=¸¢¸Â¤ÎÇ§²Ä
host_priv9=¥ê¥Õ¥¡¥ì¥ó¥¹¤ÎÁàºî
host_priv10=¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î´ÉÍý
host_priv11=¥Æ¡¼¥Ö¥ë¤ÎÂåÂØ
host_host=¥Û¥¹¥È
host_perms=µö²Ä

newdb_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®
newdb_header=¿·µ¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ª¥×¥·¥ç¥ó
newdb_db=¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾
newdb_table=½é´ü¥Æ¡¼¥Ö¥ë
newdb_none=¤Ê¤·
newdb_struct=½é´ü¥Æ¡¼¥Ö¥ë¹½Â¤
newdb_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
newdb_edb=¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
newdb_ecannot=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤Ç¤­¤Þ¤»¤ó

exec_title=SQL ¤Î¼Â¹Ô
exec_header=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç¼Â¹Ô¤¹¤ë SQL ¥³¥Þ¥ó¥É¤òÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤..
exec_exec=¼Â¹Ô
exec_header2=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç¼Â¹Ô¤¹¤ë SQL ¥³¥Þ¥ó¥É¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤..
exec_file=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤«¤é
exec_upload=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é
exec_err=SQL ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
exec_out=SQL ¥³¥Þ¥ó¥É $1¤«¤é¤Î½ÐÎÏ..
exec_none=ÊÖ¤µ¤ì¤¿¥Ç¡¼¥¿¤Ï¤¢¤ê¤Þ¤»¤ó
exec_eupload=¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
exec_efile=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
exec_uploadout=SQL ¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎÏ..
exec_fileout=¥Õ¥¡¥¤¥ë $1 ¤Î SQL ¥³¥Þ¥ó¥É¤«¤é¤Î½ÐÎÏ..
exec_noout=ºîÀ®¤µ¤ì¤¿½ÐÎÏ¤Ï¤¢¤ê¤Þ¤»¤ó

tprivs_title=¥Æ¡¼¥Ö¥ë¤Îµö²Ä
tprivs_table=¥Æ¡¼¥Ö¥ë
tprivs_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
tprivs_host=¥Û¥¹¥È
tprivs_user=¥æ¡¼¥¶
tprivs_privs1=¥Æ¡¼¥Ö¥ë¤Îµö²Ä
tprivs_privs2=¥Õ¥¡¥¤¥ë¤Îµö²Ä
tprivs_all=¤¹¤Ù¤Æ
tprivs_anon=Æ¿Ì¾
tprivs_add=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¿·µ¬¤Îµö²Ä¤òÄÉ²Ã:
tprivs_norows=¥Æ¡¼¥Ö¥ë¤Îµö²Ä¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
tprivs_return=¥Æ¡¼¥Ö¥ë¤Îµö²Ä
tprivs_none=¤Ê¤·

tpriv_title1=¥Æ¡¼¥Ö¥ë¤Îµö²Ä¤ÎºîÀ®
tpriv_title2=¥Æ¡¼¥Ö¥ë¤Îµö²Ä¤ÎÊÔ½¸
tpriv_header=¥Æ¡¼¥Ö¥ë¤Îµö²Ä¤Î¥ª¥×¥·¥ç¥ó
tpriv_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
tpriv_table=¥Æ¡¼¥Ö¥ë
tpriv_user=¥æ¡¼¥¶Ì¾
tpriv_host=¥Û¥¹¥È
tpriv_perms1=¥Æ¡¼¥Ö¥ë¤Îµö²Ä
tpriv_perms2=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä
tpriv_any=Ç¤°Õ
tpriv_anon=Æ¿Ì¾¥æ¡¼¥¶
tpriv_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îµö²Ä¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
tpriv_etable=ÁªÂò¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¤Ï¤¢¤ê¤Þ¤»¤ó
tpriv_euser=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
tpriv_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

cprivs_title=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä
cprivs_field=¥Õ¥£¡¼¥ë¥É
cprivs_table=¥Æ¡¼¥Ö¥ë
cprivs_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
cprivs_host=¥Û¥¹¥È
cprivs_user=¥æ¡¼¥¶
cprivs_privs=µö²Ä
cprivs_all=¤¹¤Ù¤Æ
cprivs_anon=Æ¿Ì¾
cprivs_add=¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¥Æ¡¼¥Ö¥ë¤Ë¿·µ¬¤Îµö²Ä¤òÄÉ²Ã:
cprivs_norows=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
cprivs_return=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä
cprivs_none=¤Ê¤·

cpriv_title1=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤ÎºîÀ®
cpriv_title2=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤ÎÊÔ½¸
cpriv_header=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤Î¥ª¥×¥·¥ç¥ó
cpriv_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
cpriv_table=¥Æ¡¼¥Ö¥ë
cpriv_field=¥Õ¥£¡¼¥ë¥É
cpriv_user=¥æ¡¼¥¶Ì¾
cpriv_host=¥Û¥¹¥È
cpriv_perms=µö²Ä
cpriv_any=Ç¤°Õ
cpriv_anon=Æ¿Ì¾¥æ¡¼¥¶
cpriv_err=¥Õ¥£¡¼¥ë¥É¤Îµö²Ä¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cpriv_etable=¥Õ¥£¡¼¥ë¥É¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
cpriv_euser=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
cpriv_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

esql=SQL $1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2
perms_ecannot=µö²Ä¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
perms_edb=¼«Ê¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤ßµö²Ä¤òÊÔ½¸¤Ç¤­¤Þ¤¹

acl_dbs=¤³¤Î¥æ¡¼¥¶¤¬´ÉÍý¤Ç¤­¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹
acl_dall=¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
acl_dsel=ÁªÂò..
acl_create=¿·µ¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_bpath=¥Ð¥Ã¥¯¥¢¥Ã¥× ¥Õ¥¡¥¤¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê
acl_buser=Unix ¥æ¡¼¥¶¤È¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½ñ¹þ¤à
acl_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_stop=MySQL ¥µ¡¼¥Ð¤òÄä»ß¤ª¤è¤Óµ¯Æ°²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_perms=µö²Ä¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_only=´ÉÍý¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹ÍÑ¤Î¤ß
acl_login=MySQL ¤Î¥í¥°¥¤¥óÌ¾
acl_user_def=¥â¥¸¥å¡¼¥ëÀßÄê¤«¤é¤Î¥æ¡¼¥¶Ì¾
acl_user=¥æ¡¼¥¶Ì¾
acl_pass=¥Ñ¥¹¥ï¡¼¥É

log_start=MySQL ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_stop=MySQL ¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤·¤¿
log_db_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_db_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_table_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 Æâ¤Ë¥Æ¡¼¥Ö¥ë $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_table_delete=¥Æ¡¼¥Ö¥ë $1 ¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤«¤éºï½ü¤·¤Þ¤·¤¿
log_field_create=¥Õ¥£¡¼¥ë¥É $1 $4 ¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î $2 ¤ËÄÉ²Ã¤·¤Þ¤·¤¿
log_field_modify=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3¤Î$2 Æâ¤Ë¤¢¤ë¥Õ¥£¡¼¥ë¥É $1 $4 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_field_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î$2¤«¤é¥Õ¥£¡¼¥ë¥É $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_data_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤Ë¹Ô¤òÄÉ²Ã¤·¤Þ¤·¤¿
log_data_modify=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤Ë¤¢¤ë¥Õ¥£¡¼¥ë¥É $1 ¹Ô ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_data_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤«¤é¥Õ¥£¡¼¥ë¥É $1 ¹Ô ¤òºï½ü¤·¤Þ¤·¤¿
log_exec=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç SQL ¤ò¼Â¹Ô¤·¤Þ¤·¤¿
log_exec_l=SQL ¥³¥Þ¥ó¥É $2¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç¼Â¹Ô¤·¤Þ¤·¤¿
log_user_create=¥æ¡¼¥¶ $1 ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_user_delete=¥æ¡¼¥¶ $1 ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_user_modify=¥æ¡¼¥¶ $1 ¥Û¥¹¥È $2 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_perm_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_perm_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_perm_modify=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_host_create=¥Û¥¹¥È $2, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_host_delete=¥Û¥¹¥È $2, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_host_modify=¥Û¥¹¥È $2, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_tpriv_create=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_tpriv_delete=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_tpriv_modify=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_tpriv_create_l=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_tpriv_delete_l=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_tpriv_modify_l=¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_cpriv_create=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_cpriv_delete=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_cpriv_modify=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_cpriv_create_l=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºîÀ®¤·¤Þ¤·¤¿
log_cpriv_delete_l=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òºï½ü¤·¤Þ¤·¤¿
log_cpriv_modify_l=¥Õ¥£¡¼¥ë¥É $5, ¥Æ¡¼¥Ö¥ë $4, ¥Ç¡¼¥¿¥Ù¡¼¥¹ $3, ¥æ¡¼¥¶ $1, ¥Û¥¹¥È $2 ¤Îµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_anon=Æ¿Ì¾
log_any=Ç¤°Õ
log_backup=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤·¤¿
log_backup_l=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤ò¥Õ¥¡¥¤¥ë $2 ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤·¤¿
log_execupload=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é SQL ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤·¤¿
log_execfile=¥Õ¥¡¥¤¥ë $1 ¤«¤éSQL ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤·¤¿

backup_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
backup_edump=MySQL ¥Ð¥Ã¥¯¥¢¥Ã¥× ¥×¥í¥°¥é¥à $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
backup_desc=¤³¤ì¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤ò SQL ¹½Ê¸¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤¹¤ë¤³¤È¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¡£¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥ê¥¹¥È¥¢¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤Î¤Ë SQL ¤Î¼Â¹Ô¤ò»ÈÍÑ¤Ç¤­¤Þ¤¹¡£
backup_header=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥Ð¥Ã¥¯¥¢¥Ã¥× ¥ª¥×¥·¥ç¥ó
backup_file=¥Õ¥¡¥¤¥ë¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×
backup_where=<tt>where</tt> Ê¸Àá¤È°ìÃ×¤¹¤ë¹Ô¤Î¤ß¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×
backup_none=¤¹¤Ù¤Æ¤Î¹Ô
backup_drop=<tt>drop table</tt> ¹½Ê¸¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤ËÄÉ²Ã¤·¤Þ¤¹¤«¡©
backup_ok=º£¤¹¤°¥Ð¥Ã¥¯¥¢¥Ã¥×
backup_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
backup_efile=¥Ð¥Ã¥¯¥¢¥Ã¥× ¥Õ¥¡¥¤¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
backup_epath=¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¥Ñ¥¹¤¬Ìµ¸ú¤Ç¤¹
backup_ewhere=<tt>where</tt> Ê¸Àá¤¬¤¢¤ê¤Þ¤»¤ó
backup_ebackup=<tt>mysqldump</tt> ¼ºÇÔ: $1
backup_done=$3 ¥Ð¥¤¥È¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤«¤é¥Õ¥¡¥¤¥ë $2 ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Þ¤·¤¿

070701000383b1000081a40000000000000002000000013d1fe2db000034f0000000200000000000000000000000000000001b00000003reloc/mysql/lang/ko_KR.euc    index_title=MySQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
index_notrun=½Ã½ºÅÛ¿¡¼­ MySQLÀÌ ½ÇÇàµÇ°í ÀÖÁö ¾ÊÀ¸¹Ç·Î µ¥ÀÌÅÍº£ÀÌ½º ¸ñ·ÏÀ» °Ë»öÇÒ ¼ö ¾ø½À´Ï´Ù.
index_start=MySQL ¼­¹ö ½ÃÀÛ
index_startmsg=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© ½Ã½ºÅÛÀÇ MySQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ´ÜÃß¸¦ ´©¸£½Ê½Ã¿À. ÀÌ Webmin ¸ðµâÀ» ½ÃÀÛÇØ¾ß µ¥ÀÌÅÍº£ÀÌ½º¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_nopass=Webmin¿¡ MySQL °ü¸® ·Î±×ÀÎ°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇØ¾ß µ¥ÀÌÅÍº£ÀÌ½º¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. °ü¸® »ç¿ëÀÚ ÀÌ¸§(º¸Åë <tt>root</tt>)°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.
index_ltitle=MySQL ·Î±×ÀÎ
index_login=·Î±×ÀÎ
index_pass=ÆÐ½º¿öµå
index_clear=Áö¿ì±â
index_stop=MySQL ¼­¹ö ÁßÁö
index_stopmsg=½Ã½ºÅÛÀÇ MySQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ÁßÁöÇÏ·Á¸é ÀÌ ´ÜÃß¸¦ ´©¸£½Ê½Ã¿À. ÀÌ·¸°Ô ÇÏ¸é ÀÓÀÇÀÇ »ç¿ëÀÚ ¶Ç´Â ÇÁ·Î±×·¥ÀÌ ÀÌ Webmin ¸ðµâÀ» Æ÷ÇÔÇÑ µ¥ÀÌÅÍº£ÀÌ½º¿¡ ¾×¼¼½ºÇÏ´Â °ÍÀÌ ¹æÁöµË´Ï´Ù.
index_dbs=MySQL µ¥ÀÌÅÍº£ÀÌ½º
index_add=»õ µ¥ÀÌÅÍº£ÀÌ½º ÀÛ¼º
index_global=±Û·Î¹ú ¿É¼Ç
index_return=µ¥ÀÌÅÍº£ÀÌ½º ¸ñ·Ï
index_eadmin=½Ã½ºÅÛ¿¡ MySQL °ü¸® ÇÁ·Î±×·¥ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. MySQLÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_esql=½Ã½ºÅÛ¿¡ MySQL Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. MySQLÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_ever=MySQL Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ $1ÀÇ ¹öÀüÀÌ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù. Webmin¿¡¼­´Â MySQL ¹öÀü 3¸¸ Áö¿øÇÕ´Ï´Ù.
index_nouser=Webmin °èÁ¤Àº »ç¿ëÀÚ $1(À¸)·Î MySQL ¼­¹ö¿¡ ¿¬°áÇÏµµ·Ï ±¸¼ºµÇ¾î ÀÖÁö¸¸, ÀÌ »ç¿ëÀÚÀÇ ¾×¼¼½º°¡ °ÅºÎµÇ¾ú½À´Ï´Ù. 
index_db=µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§
index_tables=Å×ÀÌºí

login_err=·Î±×ÀÎ ½ÇÆÐ
login_ecannot=µ¥ÀÌÅÍº£ÀÌ½º ·Î±×ÀÎÀ» ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
login_elogin=¾ø´Â °ü¸®ÀÚ ·Î±×ÀÎ
login_epass=Àß¸øµÈ °ü¸®ÀÚ  ÀÌ¸§ ¶Ç´Â ÆÐ½º¿öµå

stop_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù
start_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù

dbase_title=µ¥ÀÌÅÍº£ÀÌ½º ÆíÁý
dbase_tables=µ¥ÀÌÅÍº£ÀÌ½º Å×ÀÌºí
dbase_add=»õ Å×ÀÌºí ÀÛ¼º
dbase_drop=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦
dbase_exec=SQL ½ÇÇà
dbase_backup=µ¥ÀÌÅÍº£ÀÌ½º ¹é¾÷
dbase_none=ÀÌ µ¥ÀÌÅÍº£ÀÌ½º¿¡ Å×ÀÌºíÀÌ ¾ø½À´Ï´Ù.
dbase_fields=ÇÊµå:
dbase_return=Å×ÀÌºí ¸ñ·Ï
dbase_ecannot=ÀÌ µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
dbase_table=Å×ÀÌºí ÀÌ¸§
dbase_rows=Çà
dbase_cols=ÇÊµå

ddrop_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
ddrop_title=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦
ddrop_rusure=µ¥ÀÌÅÍº£ÀÌ½º $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? µ¥ÀÌÅÍ $3 ÇàÀ» Æ÷ÇÔÇÏ´Â Å×ÀÌºí $2ÀÌ(°¡) »èÁ¦µË´Ï´Ù.
ddrop_mysql=ÀÌ°ÍÀº ¸¶½ºÅÍ µ¥ÀÌÅÍº£ÀÌ½ºÀÌ¹Ç·Î »èÁ¦ÇÏ¸é MySQL ¼­¹ö¸¦ »ç¿ëÇÏÁö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù!
ddrop_ok=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦

table_title=Å×ÀÌºí ÆíÁý
table_title2=Å×ÀÌºí ÀÛ¼º
table_header=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1
table_field=ÇÊµå ÀÌ¸§
table_type=À¯Çü
table_null=NullÀ» Çã¿ëÇÕ´Ï±î?
table_key=Å°
table_default=±âº»°ª
table_extra=Ãß°¡
table_pri=ÁÖ
table_mul=ÀÎµ¦½º
table_none=¾øÀ½
table_add=´ÙÀ½ À¯ÇüÀÇ ÇÊµå Ãß°¡:
table_return=ÇÊµå ¸ñ·Ï
table_data=µ¥ÀÌÅÍ º¸±â
table_drop=Å×ÀÌºí »èÁ¦
table_name=Å×ÀÌºí ÀÌ¸§
table_copy=Å×ÀÌºí¿¡¼­ ÇÊµå º¹»ç
table_copynone=&lt;¾øÀ½&gt;
table_copydata=µ¥ÀÌÅÍµµ º¹»ç
table_initial=ÃÊ±â ÇÊµå
table_header2=»õ Å×ÀÌºí ¿É¼Ç
table_err=Å×ÀÌºíÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
table_ename=¾ø°Å³ª Àß¸øµÈ Å×ÀÌºí ÀÌ¸§
table_efield='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
table_etype=ÇÊµå $1¿¡ ´ëÇÑ ¾ø´Â À¯Çü
table_esize=ÇÊµå $1¿¡ ´ëÇÑ ¾ø´Â À¯Çü Å©±â
table_enone=ÃÊ±â ÇÊµå¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù

tdrop_err=Å×ÀÌºíÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
tdrop_title=Å×ÀÌºí »èÁ¦
tdrop_rusure=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? µ¥ÀÌÅÍÀÇ $3 ÇàÀÌ »èÁ¦µË´Ï´Ù.
tdrop_ok=Å×ÀÌºí »èÁ¦

field_title1=ÇÊµå Ãß°¡
field_title2=ÇÊµå ¼öÁ¤
field_in=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1
field_header=ÇÊµå ¸Å°³ º¯¼ö
field_name=ÇÊµå ÀÌ¸§
field_type=µ¥ÀÌÅÍ À¯Çü
field_size=À¯Çü ³Êºñ
field_enum=¿­°ÅµÈ °ª
field_dual=³Êºñ ¹× 10Áø¼ö
field_opts=À¯Çü ¿É¼Ç
field_auto=ÀÚµ¿ ÁõºÐÀ» »ç¿ëÇÕ´Ï±î?
field_none=¾øÀ½
field_unsigned=¼­¸í ¾ÈµÊ
field_zerofill=¿µ(0)À¸·Î Ã¤¿ì±â
field_ascii=´ë¼Ò¹®ÀÚ ±¸ºÐ ¾ÈÇÔ
field_binary=´ë¼Ò¹®ÀÚ ±¸ºÐ
field_null=NullÀ» Çã¿ëÇÕ´Ï±î?
field_default=±âº» ÀÌ¸§
field_key=ÁÖ Å°ÀÇ ÀÏºÎÀÔ´Ï±î?
field_err=ÇÊµå¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
field_esize='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå Å©±â°¡ ¾Æ´Õ´Ï´Ù
field_eenum=ÀÔ·ÂµÈ ¿­°Å °ªÀÌ ¾ø½À´Ï´Ù
field_efield='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
field_ekey=NullÀ» Çã¿ëÇÏ´Â ÇÊµå´Â ÁÖ Å°ÀÇ ÀÏºÎ°¡ µÉ ¼ö ¾ø½À´Ï´Ù

view_title=Å×ÀÌºí µ¥ÀÌÅÍ
view_pos=$3ÀÇ $1-$2 Çà
view_none=ÀÌ Å×ÀÌºí¿¡ µ¥ÀÌÅÍ°¡ ¾ø½À´Ï´Ù
view_edit=¼±ÅÃÇÑ Çà ÆíÁý
view_new=Çà Ãß°¡
view_delete=¼±ÅÃÇÑ Çà »èÁ¦
view_nokey=ÁÖ Å°°¡ ¾ø±â ¶§¹®¿¡ ÀÌ Å×ÀÌºíÀÇ µ¥ÀÌÅÍ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
view_all=¸ðµÎ ¼±ÅÃ
view_invert=²¨²Ù·Î(invert) ¼±ÅÃ
view_search=ÇÊµå $2ÀÌ(°¡) $1°ú(¿Í) ÀÏÄ¡ÇÏ´Â Çà °Ë»ö
view_searchok=°Ë»ö
view_searchhead=ÇÊµå $2ÀÇ $1¿¡ ´ëÇÑ °Ë»ö °á°ú..
view_searchreset=°Ë»ö Àç¼³Á¤
view_field=ÇÊµå ÀÌ¸§
view_data=»õ µ¥ÀÌÅÍ

users_title=»ç¿ëÀÚ ±ÇÇÑ
users_user=»ç¿ëÀÚ
users_host=È£½ºÆ®
users_pass=¾ÏÈ£È­µÈ ÆÐ½º¿öµå
users_perms=±ÇÇÑ
users_add=»õ »ç¿ëÀÚ ÀÛ¼º
users_priv3=¼±ÅÃ
users_priv4=»ðÀÔ
users_priv5=¾÷µ¥ÀÌÆ®
users_priv6=»èÁ¦
users_priv7=ÀÛ¼º
users_priv8=»èÁ¦
users_priv9=´Ù½Ã ·Îµå
users_priv10=Á¾·á
users_priv11=ÇÁ·Î¼¼½º
users_priv12=ÆÄÀÏ
users_priv13=ºÎ¿©
users_priv14=ÂüÁ¶
users_priv15=ÀÎµ¦½º
users_priv16=º¯°æ
users_all=¸ðµÎ
users_anon=ÀÍ¸í
users_none=¾øÀ½
users_return=»ç¿ëÀÚ ¸ñ·Ï

user_title1=»ç¿ëÀÚ ÀÛ¼º
user_title2=»ç¿ëÀÚ ÆíÁý
user_header=MySQL »ç¿ëÀÚ Á¤º¸
user_user=»ç¿ëÀÚ ÀÌ¸§
user_all=ÀÍ¸í »ç¿ëÀÚ
user_pass=ÆÐ½º¿öµå
user_leave=º¯°æ ¾ÈÇÔ
user_none=¾øÀ½
user_any=ÀÓÀÇ
user_set=¼³Á¤ ´ë»ó..
user_host=È£½ºÆ®
user_perms=±ÇÇÑ
user_priv3=Å×ÀÌºí µ¥ÀÌÅÍ ¼±ÅÃ
user_priv4=Å×ÀÌºí µ¥ÀÌÅÍ »ðÀÔ
user_priv5=Å×ÀÌºí µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
user_priv6=Å×ÀÌºí µ¥ÀÌÅÍ »èÁ¦
user_priv7=Å×ÀÌºí ÀÛ¼º
user_priv8=Å×ÀÌºí »èÁ¦
user_priv9=´Ù½Ã ·Îµå ºÎ¿©ÇÔ
user_priv10=µ¥ÀÌÅÍº£ÀÌ½º Á¾·á
user_priv11=ÇÁ·Î¼¼½º °ü¸®
user_priv12=ÆÄÀÏ ÀÛ¾÷
user_priv13=±ÇÇÑ ºÎ¿©
user_priv14=ÂüÁ¶ ÀÛ¾÷
user_priv15=ÀÎµ¦½º °ü¸®
user_priv16=Å×ÀÌºí º¯°æ
user_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
user_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§
user_ehost=¾ø°Å³ª Àß¸øµÈ Çã¿ëµÈ È£½ºÆ®

dbs_title=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ
dbs_db=µ¥ÀÌÅÍº£ÀÌ½º
dbs_user=»ç¿ëÀÚ
dbs_host=È£½ºÆ®
dbs_perms=±ÇÇÑ
dbs_anon=ÀÍ¸í
dbs_any=ÀÓÀÇ
dbs_empty=Á¤ÀÇµÈ µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑÀÌ ¾ø½À´Ï´Ù.
dbs_hosts=È£½ºÆ® ±ÇÇÑÀ¸·ÎºÎÅÍ
dbs_add=»õ µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ ÀÛ¼º
dbs_priv3=¼±ÅÃ
dbs_priv4=»ðÀÔ
dbs_priv5=¾÷µ¥ÀÌÆ®
dbs_priv6=»èÁ¦
dbs_priv7=ÀÛ¼º
dbs_priv8=»èÁ¦
dbs_priv9=ºÎ¿©
dbs_priv10=ÂüÁ¶
dbs_priv11=ÀÎµ¦½º
dbs_priv12=º¯°æ
dbs_all=¸ðµÎ
dbs_none=¾øÀ½
dbs_return=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ

db_title1=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ ÀÛ¼º
db_title2=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ ÆíÁý
db_header=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑ ¿É¼Ç
db_db=µ¥ÀÌÅÍº£ÀÌ½º
db_user=»ç¿ëÀÚ ÀÌ¸§
db_anon=ÀÍ¸í »ç¿ëÀÚ
db_host=È£½ºÆ®
db_hosts=È£½ºÆ® ±ÇÇÑÀ¸·ÎºÎÅÍ
db_any=ÀÓÀÇ
db_perms=±ÇÇÑ
db_priv3=Å×ÀÌºí µ¥ÀÌÅÍ ¼±ÅÃ
db_priv4=Å×ÀÌºí µ¥ÀÌÅÍ »ðÀÔ
db_priv5=Å×ÀÌºí µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
db_priv6=Å×ÀÌºí µ¥ÀÌÅÍ »èÁ¦
db_priv7=Å×ÀÌºí ÀÛ¼º
db_priv8=Å×ÀÌºí »èÁ¦
db_priv9=±ÇÇÑ ºÎ¿©
db_priv10=ÂüÁ¶ ÀÛ¾÷
db_priv11=ÀÎµ¦½º °ü¸®
db_priv12=Å×ÀÌºí º¯°æ
db_err=µ¥ÀÌÅÍº£ÀÌ½º ±ÇÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
db_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§
db_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
db_edb=¾ø°Å³ª Àß¸øµÈ µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§

hosts_title=È£½ºÆ® ±ÇÇÑ
hosts_db=µ¥ÀÌÅÍº£ÀÌ½º
hosts_host=È£½ºÆ®
hosts_perms=±ÇÇÑ
hosts_any=ÀÓÀÇ
hosts_all=¸ðµÎ
hosts_priv2=¼±ÅÃ
hosts_priv3=»ðÀÔ
hosts_priv4=¾÷µ¥ÀÌÆ®
hosts_priv5=»èÁ¦
hosts_priv6=ÀÛ¼º
hosts_priv7=»èÁ¦
hosts_priv8=ºÎ¿©
hosts_priv9=ÂüÁ¶
hosts_priv10=ÀÎµ¦½º
hosts_priv11=º¯°æ
hosts_none=¾øÀ½
hosts_add=»õ È£½ºÆ® ±ÇÇÑ ÀÛ¼º
hosts_empty=Á¤ÀÇµÈ È£½ºÆ® ±ÇÇÑÀÌ ¾ø½À´Ï´Ù

host_title1=È£½ºÆ® ±ÇÇÑ ÀÛ¼º
host_title2=È£½ºÆ® ±ÇÇÑ ÆíÁý
host_header=È£½ºÆ® ±ÇÇÑ ¿É¼Ç
host_db=µ¥ÀÌÅÍº£ÀÌ½º
host_any=ÀÓÀÇ
host_priv2=Å×ÀÌºí µ¥ÀÌÅÍ ¼±ÅÃ
host_priv3=Å×ÀÌºí µ¥ÀÌÅÍ »ðÀÔ
host_priv4=Å×ÀÌºí µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
host_priv5=Å×ÀÌºí µ¥ÀÌÅÍ »èÁ¦
host_priv6=Å×ÀÌºí ÀÛ¼º
host_priv7=Å×ÀÌºí »èÁ¦
host_priv8=±ÇÇÑ ºÎ¿©
host_priv9=ÂüÁ¶ ÀÛ¾÷
host_priv10=ÀÎµ¦½º °ü¸®
host_priv11=Å×ÀÌºí º¯°æ
host_host=È£½ºÆ®
host_perms=±ÇÇÑ

newdb_title=µ¥ÀÌÅÍº£ÀÌ½º ÀÛ¼º
newdb_header=»õ µ¥ÀÌÅÍº£ÀÌ½º ¿É¼Ç
newdb_db=µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§
newdb_table=ÃÊ±â Å×ÀÌºí
newdb_none=¾øÀ½
newdb_struct=Å×ÀÌºí ÃÊ±â ±¸Á¶
newdb_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
newdb_edb=¾ø°Å³ª Àß¸øµÈ µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§
newdb_ecannot=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

exec_title=SQL ½ÇÇà
exec_header=µ¥ÀÌÅÍº£ÀÌ½º $1¿¡¼­ ½ÇÇàÇÒ SQL ¸í·É ÀÔ·Â..
exec_exec=½ÇÇà
exec_header2=µ¥ÀÌÅÍº£ÀÌ½º $1¿¡¼­ ½ÇÇàÇÒ SQL ¸í·É ÆÄÀÏ ¼±ÅÃ..
exec_file=·ÎÄÃ ÆÄÀÏ·ÎºÎÅÍ
exec_upload=¾÷·ÎµåÇÑ ÆÄÀÏ·ÎºÎÅÍ
exec_err=SQLÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù
exec_out=SQL ¸í·É $1ÀÇ °á°ú ..
exec_none=¹ÝÈ¯µÈ µ¥ÀÌÅÍ°¡ ¾ø½À´Ï´Ù
exec_eupload=¾÷·ÎµåÇÒ ÆÄÀÏÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
exec_efile=·ÎÄÃ ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
exec_uploadout=¾÷·ÎµåÇÑ SQL ¸í·ÉÀÇ °á°ú..
exec_fileout=ÆÄÀÏ $1¿¡ ÀÖ´Â SQL ¸í·ÉÀÇ °á°ú..
exec_noout=»ý¼ºµÈ °á°ú°¡ ¾ø½À´Ï´Ù

tprivs_title=Å×ÀÌºí ±ÇÇÑ
tprivs_table=Å×ÀÌºí
tprivs_db=µ¥ÀÌÅÍº£ÀÌ½º
tprivs_host=È£½ºÆ®
tprivs_user=»ç¿ëÀÚ
tprivs_privs1=Å×ÀÌºí ±ÇÇÑ
tprivs_privs2=ÇÊµå ±ÇÇÑ
tprivs_all=¸ðµÎ
tprivs_anon=ÀÍ¸í
tprivs_add=µ¥ÀÌÅÍº£ÀÌ½ºÀÇ »õ ±ÇÇÑ Ãß°¡:
tprivs_norows=Á¤ÀÇµÈ Å×ÀÌºí ±ÇÇÑÀÌ ¾ø½À´Ï´Ù
tprivs_return=Å×ÀÌºí ±ÇÇÑ
tprivs_none=¾øÀ½

tpriv_title1=Å×ÀÌºí ±ÇÇÑ ÀÛ¼º
tpriv_title2=Å×ÀÌºí ±ÇÇÑ ÆíÁý
tpriv_header=Å×ÀÌºí ±ÇÇÑ ¿É¼Ç
tpriv_db=µ¥ÀÌÅÍº£ÀÌ½º
tpriv_table=Å×ÀÌºí
tpriv_user=»ç¿ëÀÚ ÀÌ¸§
tpriv_host=È£½ºÆ®
tpriv_perms1=Å×ÀÌºí ±ÇÇÑ
tpriv_perms2=ÇÊµå ±ÇÇÑ
tpriv_any=ÀÓÀÇ
tpriv_anon=ÀÍ¸í »ç¿ëÀÚ
tpriv_err=Å×ÀÌºí ±ÇÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
tpriv_etable=Å×ÀÌºíÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
tpriv_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§
tpriv_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ®

cprivs_title=ÇÊµå ±ÇÇÑ
cprivs_field=ÇÊµå
cprivs_table=Å×ÀÌºí
cprivs_db=µ¥ÀÌÅÍº£ÀÌ½º
cprivs_host=È£½ºÆ®
cprivs_user=»ç¿ëÀÚ
cprivs_privs=±ÇÇÑ
cprivs_all=¸ðµÎ
cprivs_anon=ÀÍ¸í
cprivs_add=µ¥ÀÌÅÍº£ÀÌ½º¿Í Å×ÀÌºíÀÇ »õ ±ÇÇÑ Ãß°¡:
cprivs_norows=ÇÊµå ±ÇÇÑÀÌ Á¤ÀÇµÇÁö ¾Ê¾Ò½À´Ï´Ù
cprivs_return=ÇÊµå ±ÇÇÑ
cprivs_none=¾øÀ½

cpriv_title1=ÇÊµå ±ÇÇÑ ÀÛ¼º
cpriv_title2=ÇÊµå ±ÇÇÑ ÆíÁý
cpriv_header=ÇÊµå ±ÇÇÑ ¿É¼Ç
cpriv_db=µ¥ÀÌÅÍº£ÀÌ½º
cpriv_table=Å×ÀÌºí
cpriv_field=ÇÊµå
cpriv_user=»ç¿ëÀÚ ÀÌ¸§
cpriv_host=È£½ºÆ®
cpriv_perms=±ÇÇÑ
cpriv_any=ÀÓÀÇ
cpriv_anon=ÀÍ¸í »ç¿ëÀÚ
cpriv_err=ÇÊµå ±ÇÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
cpriv_etable=ÇÊµå¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
cpriv_euser=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§
cpriv_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ®

esql=SQL $1 ½ÇÆÐ: $2
perms_ecannot=±ÇÇÑÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
perms_edb=ÀÚ½ÅÀÇ µ¥ÀÌÅÍº£ÀÌ½º¿¡ ´ëÇÑ ±ÇÇÑ¸¸ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù

acl_dbs=ÀÌ »ç¿ëÀÚ°¡ °ü¸®ÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍº£ÀÌ½º
acl_dall=¸ðµç µ¥ÀÌÅÍº£ÀÌ½º
acl_dsel=¼±ÅÃÇÑ µ¥ÀÌÅÍº£ÀÌ½º..
acl_create=»õ µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_bpath=¹é¾÷ ÆÄÀÏ µð·ºÅä¸®
acl_buser=Unix »ç¿ëÀÚ·Î¼­ ¹é¾÷ ÀÛ¼º
acl_delete=µ¥ÀÌÅÍº£ÀÌ½º¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_stop=MySQL ¼­¹ö¸¦ ÁßÁö ¹× ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï±î?
acl_perms=±ÇÇÑÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_only=°ü¸® ´ë»ó µ¥ÀÌÅÍº£ÀÌ½º¸¸
acl_login=MySQL ·Î±×ÀÎ ÀÚ°Ý
acl_user_def=¸ðµâ ±¸¼º¿¡¼­ °¡Á®¿Â »ç¿ëÀÚ ÀÌ¸§
acl_user=»ç¿ëÀÚ ÀÌ¸§
acl_pass=ÆÐ½º¿öµå

log_start=MySQL ¼­¹ö ½ÃÀÛµÊ
log_stop=MySQL ¼­¹ö ÁßÁöµÊ
log_db_create=µ¥ÀÌÅÍº£ÀÌ½º $1 ÀÛ¼ºµÊ
log_db_delete=µ¥ÀÌÅÍº£ÀÌ½º $1 »èÁ¦µÊ
log_table_create=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1 ÀÛ¼ºµÊ
log_table_delete=µ¥ÀÌÅÍº£ÀÌ½º $2¿¡¼­ Å×ÀÌºí $1 »èÁ¦µÊ
log_field_create=µ¥ÀÌÅÍº£ÀÌ½º $3¿¡ ÇÊµå $1 $4 - $2 Ãß°¡µÊ
log_field_modify=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ $2¿¡ ÀÖ´Â ÇÊµå $1 $4 ¼öÁ¤µÊ
log_field_delete=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ $2¿¡¼­ ÇÊµå $1 »èÁ¦µÊ
log_data_create=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡ Çà Ãß°¡µÊ
log_data_modify=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡ $1 Çà ¼öÁ¤µÊ
log_data_delete=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡¼­ $1 Çà »èÁ¦µÊ
log_exec=µ¥ÀÌÅÍº£ÀÌ½º $1ÀÇ SQL ½ÇÇàµÊ
log_exec_l=µ¥ÀÌÅÍº£ÀÌ½º $1ÀÇ SQL ¸í·É $2 ½ÇÇàµÊ
log_user_create= È£½ºÆ® $2, »ç¿ëÀÚ $1, ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_user_delete= È£½ºÆ® $2, »ç¿ëÀÚ $1, ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_user_modify= È£½ºÆ® $2, »ç¿ëÀÚ $1, ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_perm_create=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3 ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_perm_delete=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3 ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_perm_modify=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3 ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_host_create=È£½ºÆ® $2, µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_host_delete=È£½ºÆ® $2, µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_host_modify=È£½ºÆ® $2, µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_tpriv_create=µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_tpriv_delete=µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_tpriv_modify=µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_tpriv_create_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_tpriv_delete_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_tpriv_modify_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_cpriv_create=Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_cpriv_delete=Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_cpriv_modify=Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_cpriv_create_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ ÀÛ¼ºµÊ
log_cpriv_delete_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ »èÁ¦µÊ
log_cpriv_modify_l=È£½ºÆ® $2, »ç¿ëÀÚ $1, µ¥ÀÌÅÍº£ÀÌ½º $3, Å×ÀÌºí $4, ÇÊµå $5ÀÇ ±ÇÇÑ ¼öÁ¤µÊ
log_anon=ÀÍ¸í
log_any=ÀÓÀÇ
log_backup=µ¥ÀÌÅÍº£ÀÌ½º $1 ¹é¾÷µÊ
log_backup_l=ÆÄÀÏ $2¿¡ µ¥ÀÌÅÍº£ÀÌ½º $1 ¹é¾÷µÊ
log_execupload=¾÷·ÎµåµÈ ÆÄÀÏ¿¡¼­ SQL ¸í·É ½ÇÇàµÊ
log_execfile=ÆÄÀÏ $1¿¡¼­ SQL ¸í·É ½ÇÇàµÊ

backup_title=µ¥ÀÌÅÍº£ÀÌ½º ¹é¾÷
backup_edump=½Ã½ºÅÛ¿¡ MySQL ¹é¾÷ ÇÁ·Î±×·¥ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
backup_desc=ÀÌ ¾ç½Ä¿¡¼­´Â µ¥ÀÌÅÍº£ÀÌ½º $1À»(¸¦) SQL ¹® Çü½ÄÀÇ ÆÄÀÏ·Î ¹é¾÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. Execute SQL ¾ç½Ä¿¡¼­ ÆÄÀÏ¿¡ ÀÖ´Â ¸í·ÉÀ» ½ÇÇàÇÏ¿© ¹é¾÷À» º¹¿øÇÒ ¼ö ÀÖ½À´Ï´Ù.
backup_header=µ¥ÀÌÅÍº£ÀÌ½º ¹é¾÷ ¿É¼Ç
backup_file=ÆÄÀÏ¿¡ ¹é¾÷
backup_where=<tt>where</tt> Àý°ú ÀÏÄ¡ÇÏ´Â Çà¸¸ ¹é¾÷
backup_none=¸ðµç Çà
backup_drop=<tt>drop table</tt> ¹®À» ¹é¾÷¿¡ Ãß°¡ÇÕ´Ï±î?
backup_ok=Áö±Ý ¹é¾÷
backup_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ¹é¾÷ÇÏÁö ¸øÇß½À´Ï´Ù
backup_efile=¾ø°Å³ª Àß¸øµÈ ¹é¾÷ ÆÄÀÏ ÀÌ¸§
backup_epath=Àß¸øµÈ ¹é¾÷ °æ·Î
backup_ewhere=¾ø´Â <tt>where</tt> Àý
backup_ebackup=<tt>mysqldump</tt> ½ÇÆÐ: $1
backup_done=µ¥ÀÌÅÍº£ÀÌ½º $1ÀÇ $3¹ÙÀÌÆ®°¡ ÆÄÀÏ $2¿¡ ¼º°øÀûÀ¸·Î ¹é¾÷µÇ¾ú½À´Ï´Ù.

070701000383b2000081a40000000000000002000000013d1fe2db000041f0000000200000000000000000000000000000001400000003reloc/mysql/lang/pl   index_title=Serwer baz danych MySQL
index_notrun=W&nbsp;systemie nie dzia³a MySQL - nie mo¿na odtworzyæ listy baz danych.
index_start=Uruchom serwer MySQL
index_startmsg=Naci¶nij ten przycisk, aby za pomoc± polecenia $1 uruchomiæ w&nbsp;systemie serwer baz danych MySQL. Ten modu³ Webmina nie bêdzie potrafi³ zarz±dzaæ baz± danych dopóki serwer nie zostanie uruchomiony.
index_nopass=Webmin musi znaæ login i&nbsp;has³o administratora MySQL, aby zarz±dzaæ Twoj± baz± danych. Wprowad¼ poni¿ej nazwê administratora (zazwyczaj <tt>root</tt>) i&nbsp;jego has³o.
index_ltitle=Logowanie do MySQL
index_login=Login
index_pass=Has³o
index_clear=Wyczy¶æ
index_stop=Zatrzymaj serwer MySQL
index_stopmsg=Naci¶nij ten przycisk, aby zatrzymaæ w&nbsp;systemie serwer baz danych MySQL. Uniemo¿liwi to wszystkim u¿ytkownikom i&nbsp;programom, w&nbsp;tym niniejszemu modu³owi Webmina, dostêp do bazy danych.
index_dbs=Bazy danych MySQL
index_add=Utwórz now± bazê danych
index_global=Opcje ogólne
index_return=listy baz danych
index_eadmin=Nie znaleziono w&nbsp;systemie programu administracyjnego MySQLa $1. Byæ mo¿e nie zainstalowano MySQLa lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_esql=Nie znaleziono w&nbsp;systemie programu klienta MySQLa $1. Byæ mo¿e nie zainstalowano MySQLa lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_ever=Wygl±da na to, ¿e program klienta MySQLa $1 jest w&nbsp;niew³a¶ciwej wersji. Webmin obs³uguje jedynie MySQL w&nbsp;wersji 3.
index_nouser=Twoje konto Webmina jest skonfigurowane, aby ³±czy³o siê z&nbsp;serwerem MySQL na prawach u¿ytkownika $1, lecz ten u¿ytkownik ma zabroniony dostêp.
index_db=Nazwa bazy danych
index_tables=Tabele
index_elibrary=Nie mo¿na uruchomiæ programu klienta MySQL $1, gdy¿ nie mo¿e on znale¼æ bibliotek wspo³dzielonych MySQLa. Sprawd¿ <a href='$2'>konfiguracjê modu³u</a> i&nbsp;upewnij siê, ¿e <i>¦cie¿ka do katalogu bibliotek wspó³dzielonych MySQL</i> jest ustawiona.

login_err=Logowanie siê nie powiod³o
login_ecannot=Nie masz uprawnieñ do zmiany konfiguracji logowania do bazy danych
login_elogin=Brak loginu administratora
login_epass=Niepoprawna nazwa lub has³o administratora

stop_err=Nie uda³o siê zatrzymaæ bazy danych
start_err=Nie uda³o siê uruchomiæ bazy danych

dbase_title=Zmieñ bazê danych
dbase_tables=Tabele bazy danych
dbase_add=Utwórz now± tabelê
dbase_drop=Usuñ bazê danych
dbase_exec=Wykonaj SQL
dbase_backup=Archiwizuj bazê danych
dbase_none=Ta baza danych nie zawiera tabel.
dbase_fields=Pola:
dbase_return=listy tabel
dbase_ecannot=Nie masz prawa do zmiany tej bazy danych
dbase_table=Nazwa tabeli
dbase_rows=Wiersze
dbase_cols=Pola

ddrop_err=Nie uda³o siê usun±æ bazy danych
ddrop_title=Usuñ bazê danych
ddrop_rusure=Czy na pewno chcesz usun±æ bazê danych $1&nbsp;? Zostanie skasowanych $2 tabel zawieraj±cych $3 wierszy danych.
ddrop_mysql=Ze wzglêdu na to, ¿e jest to podstawowa baza danych, usuniêcie jej uniemo¿liwi korzystanie z&nbsp;Twojego serwera MySQL!
ddrop_ok=Usuñ bazê danych

table_title=Zmieñ tabelê
table_title2=Utwórz tabelê
table_header=Tabela $1 w&nbsp;bazie danych $2
table_field=Nazwa pola
table_type=Typ
table_null=Dopuszcza brak warto¶ci?
table_key=Klucz
table_default=Warto¶æ domy¶lna
table_extra=Dodadkowe
table_pri=Klucz g³ówny
table_mul=Zaindeksowana
table_none=Brak
table_add=Dodaj pole typu:
table_return=listy pól
table_data=Poka¿ dane
table_drop=Usuñ tabelê
table_name=Nazwa tabeli
table_copy=Kopiuj pola z&nbsp;tabeli
table_copynone=&lt;Brak&gt;
table_copydata=Kopiuj równie¿ dane
table_initial=Pola inicjalne
table_header2=Opcje nowych tabel
table_err=Nie uda³o siê utworzyæ tabeli
table_ename=Nie podana lub nieporawna nazwa tebeli
table_efield='$1' nie jest poprawn± nazw± pola
table_etype=Nie podano typu pola $1
table_esize=Nie podano rozmiaru pola $1
table_enone=Nie wprowadzono pól inicjalnych
table_type_=Domy¶lny
table_type_isam=ISAM
table_type_myisam=MyISAM
table_type_heap=Sterta
table_type_merge=Z³±czenie
table_type_innodb=InnoDB

tdrop_err=Nie uda³o siê usun±æ tabeli
tdrop_title=Usuñ tabelê
tdrop_rusure=Czy na pewno chcesz usun±æ tabelê $1 z&nbsp;bazy danych $2&nbsp;? Zostanie skasowanych $3 wierszy danych.
tdrop_ok=Usuñ tabelê

field_title1=Dodaj pole
field_title2=Zmieñ pole
field_in=W&nbsp;tabeli $1 bazy danych $2
field_header=Parametry pola
field_name=Nazwa pola
field_type=Typ danych
field_size=Szeroko¶æ pola
field_enum=Warto¶ci wyliczeniowe
field_dual=Szeroko¶æ i&nbsp;liczba miejsc dziesiêtnych
field_opts=Opcje typu
field_auto=Automatyczne zwiêkszanie?
field_none=Brak
field_unsigned=Bez znaku
field_zerofill=Wype³niaæ zerami
field_ascii=Niewra¿liwe na wielko¶æ liter
field_binary=Wra¿liwe na wielko¶æ liter
field_null=Dopuszcza brak warto¶ci?
field_default=Warto¶æ domy¶lna
field_key=Czê¶æ klucza g³ównego?
field_err=Nie uda³o siê zachowaæ pola
field_esize='$1' nie jest poprawnym rozmiarem pola
field_eenum=Nie wprowadzono warto¶ci wyliczeniowych
field_efield='$1' nie jest poprawn± nazw± pola
field_ekey=Pola dopuszczaj±ce brak warto¶ci nie mog± byæ czê¶ci± klucza g³ównego

view_title=Dane w tabeli
view_pos=Wiersze tabeli $3 od $1 do $2
view_none=Ta tabela nie zawiera danych
view_edit=Modyfikuj wybrane wiersze
view_new=Dodaj wiersz
view_delete=Skasuj wybrane wiersze
view_nokey=Danych w&nbsp;tej tabeli nie mo¿na modyfikowaæ, gdy¿ nie zawiera ona klucza g³ównego.
view_all=Zaznacz wszystkie
view_invert=Odwróæ zaznaczenie
view_search=Szukaj wierszy, w&nbsp;których pole $2 zawiera $1
view_searchok=Szukaj
view_searchhead=Wyniki poszukiwania $1 w&nbsp;polu $2 ..
view_searchreset=Nowe przeszukiwanie
view_field=Nazwa pole
view_data=Nowe dane
view_jump=Przeskocz do wiersza&nbsp;:

users_title=Uprawnienia u¿ytkowników
users_user=U¿ytkownik
users_host=Hosty
users_pass=Has³o zaszyfrowane
users_perms=Uprawnienia
users_add=Utwórz nowego u¿ytkownika
users_priv3=Select
users_priv4=Insert
users_priv5=Update
users_priv6=Delete
users_priv7=Create
users_priv8=Drop
users_priv9=Reload
users_priv10=Shutdown
users_priv11=Process
users_priv12=File
users_priv13=Grant
users_priv14=References
users_priv15=Index
users_priv16=Alter
users_all=Wszystkie
users_anon=Anonimowy
users_none=Brak
users_return=listy u¿ytkowników
users_sync=Poni¿sze opcje s³uz± do konfiguracji synchronizacji tworzonych przez Webmina u¿ytkowników Uniksa i&nbsp;u¿ytkowników MySQL.
users_sync_create=Dodaj nowego u¿ytkownika MySQLa gdy dodawany jest u¿ytkownik Uniksa, uprawnienia ...
users_sync_modify=Aktualizuj u¿ytkownika MySQLa gdy jest zmieniany odpowiedni u¿ytkownik Uniksa.
users_sync_delete=Usuñ u¿ytkownika MySQLa gdy jest usuwany odpowiedni u¿ytkownik Uniksa.
users_sync_privs=Uprawnienia dla nowych u¿ytkowników

user_title1=Utwórz u¿ytkownika
user_title2=Zmieñ u¿ytkownika
user_header=Dane u¿ytkownika MySQLa
user_user=Nazwa u¿ytkownika
user_all=U¿ytkownik anonimowy
user_pass=Has³o
user_leave=Nie zmieniaæ
user_none=Brak
user_any=Dowolny
user_set=Ustaw na..
user_host=Hosty
user_perms=Uprawnienia
user_priv3=Wybór danych z&nbsp;tabeli
user_priv4=Wstawianie danych do tabeli
user_priv5=Aktualizacja danych w&nbsp;tabeli
user_priv6=Usuwanie danych z&nbsp;tabeli
user_priv7=Tworzenie tabel
user_priv8=Usuwanie tabel
user_priv9=Prze³adowanie uprawnieñ
user_priv10=Zamykanie bazy danych
user_priv11=Zarz±dzanie procesami
user_priv12=Operacje na plikach
user_priv13=Nadawanie uprawnieñ
user_priv14=Operacje referencyjne
user_priv15=Zarz±dzanie indeksami
user_priv16=Zmiana struktur tabel
user_err=Nie uda³o siê zachowaæ u¿ytkownika
user_euser=Nie podana lub niepoprawna nazwa u¿ytkownika
user_ehost=Nie podany(-e)  lub niepoprawny(-e) dozwolony(-e) host(-y)

dbs_title=Uprawnienia do baz danych
dbs_db=Bazy danych
dbs_user=U¿ytkownik
dbs_host=Hosty
dbs_perms=Uprawnienia
dbs_anon=Anonimowy
dbs_any=Dowolny
dbs_empty=Nie zdefiniowano uprawnieñ do baz danych
dbs_hosts=Uprawnienia z&nbsp;hosta
dbs_add=Utwórz nowe uprawnienie do bazy
dbs_priv3=Select
dbs_priv4=Insert
dbs_priv5=Update
dbs_priv6=Delete
dbs_priv7=Create
dbs_priv8=Drop
dbs_priv9=Grant
dbs_priv10=References
dbs_priv11=Index
dbs_priv12=Alter
dbs_all=Wszystkie
dbs_none=Brak
dbs_return=uprawnieñ do baz danych

db_title1=Create Database Permissions
db_title2=Edit Database Permissions
db_header=Database permission options
db_db=Databases
db_user=Username
db_anon=Anonymous user
db_host=Hosts
db_hosts=From host permissions
db_any=Any
db_perms=Permissions
db_priv3=Select table data
db_priv4=Insert table data
db_priv5=Update table data
db_priv6=Delete table data
db_priv7=Create tables
db_priv8=Drop tables
db_priv9=Grant privileges
db_priv10=Reference operations
db_priv11=Manage indexes
db_priv12=Alter tables
db_err=Failed to save database permissions
db_euser=Missing or invalid username
db_ehost=Missing or invalid hostname
db_edb=Missing or invalid database name

hosts_title=Host Permissions
hosts_db=Databases
hosts_host=Hosts
hosts_perms=Permissions
hosts_any=Any
hosts_all=All
hosts_priv2=Select
hosts_priv3=Insert
hosts_priv4=Update
hosts_priv5=Delete
hosts_priv6=Create
hosts_priv7=Drop
hosts_priv8=Grant
hosts_priv9=References
hosts_priv10=Index
hosts_priv11=Alter
hosts_none=None
hosts_add=Create new host permissions
hosts_empty=No host permissions defined

host_title1=Create Host Permissions
host_title2=Edit Host Permissions
host_header=Host permissions options
host_db=Databases
host_any=Any
host_priv2=Select table data
host_priv3=Insert table data
host_priv4=Update table data
host_priv5=Delete table data
host_priv6=Create tables
host_priv7=Drop tables
host_priv8=Grant privileges
host_priv9=Reference operations
host_priv10=Manage indexes
host_priv11=Alter tables
host_host=Hosts
host_perms=Permissions

newdb_title=Create Database
newdb_header=New database options
newdb_db=Database name
newdb_table=Initial table
newdb_none=None
newdb_struct=Initial table structure
newdb_err=Failed to create database
newdb_edb=Missing or invalid database name
newdb_ecannot=You are not allowed to create databases

exec_title=Wykonaj SQL
exec_header=Podaj polecenie SQL do wykonania na bazie danych $1 ..
exec_old=Lub wybierz wcze¶niejsze polecenie SQL&nbsp;:
exec_exec=Uruchom
exec_header2=Wybierz plik poleceñ SQL do wykonania na bazie danych $1 ..
exec_file=Plik lokalny
exec_upload=Plik przes³any
exec_err=Nie uda³o siê wykonaæ SQL
exec_out=Wynik polecenia SQL $1 ..
exec_none=Polecenie nie zwrócilo wyniku
exec_eupload=Nie podano pliku do przes³ania
exec_efile=Plik lokalny nie istnieje
exec_uploadout=Wynik przes³anych poleceñ SQL ..
exec_fileout=Wynik poleceñ SQL z&nbsp;pliku $1 ..
exec_noout=Nie wygenerowano wyniku
exec_return=formularza poleceñ SQL
exec_import=Tabela, do której zaimportowaæ dane
exec_header3=Wybierz plik tekstowy z&nbsp;danymi do zaimportowania do MySQL ..
exec_delete=Skasoowaæ najpierw dane w&nbsp;tabeli?
exec_filename=Z&nbsp;pliku o&nbsp;nazwie
exec_ignore=Pomin±æ podwójne wiersze?

tprivs_title=Table Permissions
tprivs_table=Table
tprivs_db=Database
tprivs_host=Hosts
tprivs_user=User
tprivs_privs1=Table permissions
tprivs_privs2=Field permissions
tprivs_all=All
tprivs_anon=Anonymous
tprivs_add=Add new permissions in database :
tprivs_norows=No table permissions defined
tprivs_return=table permissions
tprivs_none=None

tpriv_title1=Create Table Permissions
tpriv_title2=Edit Table Permissions
tpriv_header=Table permission options
tpriv_db=Database
tpriv_table=Table
tpriv_user=Username
tpriv_host=Hosts
tpriv_perms1=Table permissions
tpriv_perms2=Field permissions
tpriv_any=Any
tpriv_anon=Anonymous user
tpriv_err=Failed to save table permissions
tpriv_etable=No table selected
tpriv_euser=Missing or invalid username
tpriv_ehost=Missing or invalid host

cprivs_title=Field Permissions
cprivs_field=Field
cprivs_table=Table
cprivs_db=Database
cprivs_host=Hosts
cprivs_user=User
cprivs_privs=Permissions
cprivs_all=All
cprivs_anon=Anonymous
cprivs_add=Add new permissions in database and table :
cprivs_norows=No field permissions defined
cprivs_return=field permissions
cprivs_none=None

cpriv_title1=Create Field Permissions
cpriv_title2=Edit Field Permissions
cpriv_header=Field permission options
cpriv_db=Database
cpriv_table=Table
cpriv_field=Field
cpriv_user=Username
cpriv_host=Hosts
cpriv_perms=Permissions
cpriv_any=Any
cpriv_anon=Anonymous user
cpriv_err=Failed to save field permissions
cpriv_etable=No field selected
cpriv_euser=Missing or invalid username
cpriv_ehost=Missing or invalid host

esql=Wykonanie SQL $1 nie powiod³o siê&nbsp;: $2
perms_ecannot=Nie masz prawa do zmiany uprawnieñ
perms_edb=Masz jedynie prawo do zmiany uprawnieñ dla Twoich baz danych

acl_dbs=Bazy danych, którymi ten u¿ytkownik mo¿e zarz±dzaæ
acl_dall=Wszystkie
acl_dsel=Wybrane..
acl_create=Mo¿e tworzyæ nowe bazy danych?
acl_bpath=Katalag plików archiwum
acl_buser=Archiwizuj jako u¿ytkownik Uniksa
acl_delete=Mo¿e usuwaæ bazy danych?
acl_stop=Mo¿e zatrzymywaæ i&nbsp;uruchamiaæ serwer MySQL?
acl_perms=Mo¿e zmieniaæ uprawnienia?
acl_only=Tylko dla baz, którymi zarz±dza
acl_login=Logowaæ siê do MySQLa jako
acl_user_def=Nazwa u¿ytkownika z&nbsp;konfiguracji modu³u
acl_user=Nazwa u¿ytkownika
acl_pass=has³o
acl_edonly=Mo¿e zmieniaæ jedynie dane w&nbsp;tabeli?

log_start=Uruchomiono serwer MySQL
log_stop=Zatrzymano serwer MySQL
log_db_create=Utworzono database $1
log_db_delete=Dropped database $1
log_table_create=Utworzono tabelê $1 w bazie danych $2
log_table_delete=Usuniêto tabelê $1 from database $2
log_field_create=Dodano pole $1 $4 do $2 w bazie danych $3
log_field_modify=Zmieniono pole $1 $4 w $2 w bazie danych $3
log_field_delete=Skasowano pole $1 z $2 w bazie danych $3
log_data_create=Dodano wiersz do tabeli $2 w bazie danych $3
log_data_modify=Zmieniono $1 wierszy w tabeli $2 w bazie danych $3
log_data_delete=Skasowano $1 wierszy z tabeli $2 w bazie danych $3
log_exec=Wykonano SQL w bazie danych $1
log_exec_l=Wykonano polecenie SQL $2 w bazie danych $1
log_user_create=Nadano uprawnienia dla u¿ytkownika $1, hosta $2
log_user_delete=Anulowano uprawnienia dla u¿ytkownika $1, hosta $2
log_user_modify=Zmieniono uprawnienia dla u¿ytkownika $1, hosta $2
log_perm_create=Nadano uprawnienia dla bazy danych $3, u¿ytkownika $1, hosta $2
log_perm_delete=Anulowano uprawnienia dla bazy danych $3, u¿ytkownika $1, hosta $2
log_perm_modify=Zmieniono uprawnienia dla bazy danych $3, u¿ytkownika $1, hosta $2
log_host_create=Nadano uprawnienia dla hosta $2, bazy danych $3
log_host_delete=Anulowano uprawnienia dla hosta $2, bazy danych $3
log_host_modify=Zmieniono uprawnienia dla hosta $2, bazy danych $3
log_tpriv_create=Nadano uprawnienia dla tabeli $4, bazy danych $3
log_tpriv_delete=Anulowano uprawnienia dla tabeli $4, bazy danych $3
log_tpriv_modify=Zmieniono uprawnienia dla tabeli $4, bazy danych $3
log_tpriv_create_l=Nadano uprawnienia dla tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_tpriv_delete_l=Anulowano uprawnienia dla tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_tpriv_modify_l=Zmieniono uprawnienia dla tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_cpriv_create=Nadano uprawnienia dla pola $5, tabeli $4
log_cpriv_delete=Anulowano uprawnienia dla pola $5 tabeli $4
log_cpriv_modify=Zmieniono uprawnienia dla pola $5, tabeli $4
log_cpriv_create_l=Nadano uprawnienia dla pola $5, tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_cpriv_delete_l=Anulowano uprawnienia dla pola $5 tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_cpriv_modify_l=Zmieniono uprawnienia dla pola $5, tabeli $4, bazy danych $3, u¿ytkownika $1, hosta $2
log_anon=anonimowy
log_any=dowolny
log_backup=Zarchiwizowano bazê danych $1
log_backup_l=Zarchiwizowano bazê danych $1 w&nbsp;pliku $2
log_execupload=Wykonano polecenia SQL z&nbsp;przes³anego pliku
log_execfile=Wykonano polecenia SQL z&nbsp;pliku $1
log_importupload=Zaimportowano dane z przes³±nego pliku
log_importfile=Zaimportowano dane z pliku $1

backup_title=Backup Database
backup_edump=The MySQL backup program $1 was not found on your system. Maybe your <a href='$2'>module configuration</a> is incorrect.
backup_desc=This form allows you to backup the database $1 as a file of SQL statments. To restore a backup, you can use the Execute SQL form to run the commands in the file.
backup_header=Database backup options
backup_file=Backup to file
backup_where=Only backup rows matching <tt>where</tt> clause
backup_none=All rows
backup_drop=Add <tt>drop table</tt> statements to backup?
backup_ok=Backup Now
backup_err=Database backup failed
backup_efile=Missing or invalid backup filename
backup_epath=Invalid backup path
backup_ewhere=Missing <tt>where</tt> clause
backup_ebackup=<tt>mysqldump</tt> failed : $1
backup_done=Successfully backed up $3 bytes from database $1 to file $2.

import_title=Import Data
import_uploadout=Importing data from uploaded file ..
import_fileout=Importing data from file $1 ..
import_eupload=Missing uploaded import file
import_efile=Missing import filename
070701000383b3000081a40000000000000002000000013d1fe2db00003bf1000000200000000000000000000000000000001400000003reloc/mysql/lang/sv   index_title=MySQL Databasserver
index_notrun=MySQL är inte igång på ditt system - databaslistan kunde inte hämtas
index_start=Starta MySQL-server
index_startmsg=Tryck på denna knapp för att starta MySQL-databasservern på ditt system med kommandot $1. Denna Webmin-modul kan inte arbeta med databasen innan den har startat.
index_nopass=Webmin behöver veta ditt administratörsnamn och -lösenord för MySQL för att hantera din databas. Ange administratörsnamn (oftast <tt>root</tt>) och lösenord nedan.
index_ltitle=MySQL inloggning
index_login=Inloggingsnamn
index_pass=Lösenord
index_clear=Börja om inmatningen
index_stop=Stanna MySQL-servern
index_stopmsg=Tryck på denna knapp för att stanna MySQL-databasservern på ditt system. Detta gör att inga användare eller program (inklusive denna Webmin-modul) kommer åt databasen.
index_dbs=MySQL-databaser
index_add=Skapa databas
index_global=Globala inställningar
index_return=databaslista
index_eadmin=Administrationsprogrammet $1 för MySQL finns inte på ditt system. MySQL kanske inte har installerats, eller så är dina <a href='$2'>modulinställningar</a> felaktiga.
index_esql=Klientprogrammet $1 för MySQL finns inte på ditt system. MySQL kanske inte har installerats, eller så är dina <a href='$2'>modulinställningar</a> felaktiga.
index_ever=Du verkar ha fel version av klientprogrammet $1 för MySQL. Webmin stödjer bara MySQL version 3.
index_nouser=Ditt Webmin-konto är inställt för att koppla upp sig mot MySQL-server som användare $1, men denna användare får inte komma åt servern.
index_db=Databasnamn
index_tables=Tabeller

login_err=Det gick inte att logga in
login_ecannot=Du får inte ändra inställningarna för inloggning på databasen
login_elogin=Administratörskontot finns inte
login_epass=Namnet eller lösenordet för administratören var felaktigt.

stop_err=Det gick inte att stanna databasen
start_err=Det gick inte att starta databasen

dbase_title=Ändra databas
dbase_tables=Databastabell
dbase_add=Skapa ny tabell
dbase_drop=Ta bort databas
dbase_exec=Utför SQL
dbase_backup=Backup-databas
dbase_none=Denna databas har inga tabeller
dbase_fields=Fält:
dbase_return=tabellista
dbase_ecannot=Du får inte ändra denna databas
dbase_table=Tabellnamn
dbase_rows=Rader
dbase_cols=Fält

ddrop_err=Det gick inte att ta bort databasen
ddrop_title=Ta bort databas
ddrop_rusure=Vill du verkligen ta bort databas $1? $2 tabeller med $3 rader kommer att raderas.
ddrop_mysql=Detta är master-databasen. Om du tar bort den kommer din MySQL-server förmodligen inte att gå att använda.
ddrop_ok=Ta bort databasen

table_title=Ändra tabell
table_title2=Skapa ny tabell
table_header=Tabell $1 i databas $2
table_field=Fältnamn
table_type=Typ
table_null=Tomma fält tillåtna?
table_key=Nyckel
table_default=Standardvärde
table_extra=Extra
table_pri=Primär
table_mul=Indexerad
table_none=Inget
table_add=Lägg till fält av typ:
table_return=fältlista
table_data=Visa data
table_drop=Ta bort tabell
table_name=Tabellnamn
table_copy=Kopiera fält från tabell
table_copynone=&lt;Ingen&gt;
table_copydata=Kopiera även data
table_initial=Startfält
table_header2=Inställningar för ny tabell
table_err=Det gick inte att skapa tabellen
table_ename=Tabellnamn saknas eller är ogiltigt
table_efield='$1' är inte ett giltigt fältnamn
table_etype=Du har inte angivit någon typ för fält $1
table_esize=Du har inte angivit någon typstorlek för fält $1
table_enone=Du har inte angivit något startfält

tdrop_err=Det gick inte att ta bort tabellen
tdrop_title=Ta bort tabellen
tdrop_rusure=Vill du verkligen ta bort tabell $1 i databas $2? $3 datarader kommer att raderas.
tdrop_ok=Ta bort tabellen

field_title1=Lägg till fält
field_title2=Ändra fält
field_in=I tabell $1 i databas $2
field_header=Fältparametrar
field_name=Fältnamn
field_type=Datatyp
field_size=Typlängd
field_enum=Numeriska värden
field_dual=Längd och decimaler
field_opts=Tillval för typ
field_none=Inga
field_unsigned=Utan tecken
field_zerofill=Fyll med nollor
field_auto=Räkna upp automatiskt?
field_ascii=Versal/gemen tolkas lika
field_binary=Versal/gemen tolkas olika
field_null=Tomt fält tillåtet?
field_default=Standardvärde
field_key=Del av primär nyckel?
field_err=Det gick inte att spara fältet
field_esize='$1' är inte en giltig fältstorlek
field_eenum=Du har inte angivit något numrerat värde
field_efield='$1' är inte ett giltigt fältnamn
field_ekey=Fält som tillåts vara tomma kan inte vara en del av primär nyckel 

view_title=Tabellinformation
view_none=Denna tabell innehåller inga data
view_pos=Raderna $1 - $2 ur $3
view_edit=Ändra markerade rader
view_new=Lägg till rad
view_delete=Ta bort markerade rader
view_nokey=Data i den här tabellen kan inte ändras eftersom den inte har någon primär nyckel
view_all=Visa alla
view_invert=Visa uteslutna
view_search=Visa rader där fält $2 matchar $1
view_searchok=Sök
view_searchhead=Sökresultat för $1 i fält $2 ...
view_searchreset=Återställ sökningen
view_field=Fältnamn
view_data=Nya data

users_title=Användarrättigheter
users_user=Användare
users_host=Dator
users_pass=Krypterat lösenord
users_perms=Rättigheter
users_add=Lägg till användare
users_priv3=Välj
users_priv4=Lägg in
users_priv5=Uppdatera
users_priv6=Radera
users_priv7=Skapa
users_priv8=Ta bort
users_priv9=Ladda in igen
users_priv10=Stäng av
users_priv11=Process
users_priv12=Fil
users_priv13=Tillåt
users_priv14=Referenser
users_priv15=Index
users_priv16=Ändra
users_all=Alla
users_anon=Anonym
users_none=Ingen
users_return=användarlista

user_title1=Lägg till användare
user_title2=Ändra användare
user_header=Uppgifter om MySQL-användare
user_user=Användarnamn
user_all=Anonym användare
user_pass=Lösenord
user_leave=Ändra inte
user_none=Inget
user_any=Vad som helst
user_set=Sätt till ...
user_host=Datorer
user_perms=Rättigheter
user_priv3=Välj tabelldata
user_priv4=Lägg in tabelldata
user_priv5=Uppdatera tabelldata
user_priv6=Radera tabelldata
user_priv7=Skapa tabell
user_priv8=Ta bort tabell
user_priv9=Läs in rättigheter igen
user_priv10=Stäng av databasen
user_priv11=Hantera processer
user_priv12=Filoperationer
user_priv13=Dela ut rättigheter
user_priv14=Referensoperationer
user_priv15=Hantera index
user_priv16=Ändra tabell
user_err=Det gick inte att spara användare
user_euser=Användarnamn saknas eller är felaktigt
user_ehost=Tillåtna datorer saknas eller är felaktigt angivna

dbs_title=Databasrättigheter
dbs_db=Databaser
dbs_user=Användare
dbs_host=Datorer
dbs_perms=Rättigheter
dbs_anon=Anonym
dbs_any=Vem som helst
dbs_empty=Du har inte definierat några databasrättigheter
dbs_hosts=Rättigheter från dator
dbs_add=Lägg till databasrättigheter
dbs_priv3=Välj
dbs_priv4=Lägg in
dbs_priv5=Uppdatera
dbs_priv6=Radera
dbs_priv7=Skapa
dbs_priv8=Ta bort
dbs_priv9=Tillåt
dbs_priv10=Referenser
dbs_priv11=Index
dbs_priv12=Ändra
dbs_all=Alla
dbs_none=Ingen
dbs_return=databasrättigheter

db_title1=Lägg till databasrättigheter
db_title2=Ändra databasrättigheter
db_header=Inställningar för databasrättigheter
db_db=Databaser
db_user=Användarnamn
db_anon=Anonym användare
db_host=Datorer
db_hosts=Rättigheter från dator
db_any=Vilken som helst
db_perms=Rättigheter
db_priv3=Välj tabelldata
db_priv4=Lägg in tabelldata
db_priv5=Uppdatera tabelldata
db_priv6=Radera tabelldata
db_priv7=Skapa tabell
db_priv8=Ta bort tabell
db_priv9=Dela ut rättigheter
db_priv10=Referensoperationer
db_priv11=Hantera index
db_priv12=Ändra tabeller
db_err=Det gick inte att spara databasrättigheter
db_euser=Användarnamn saknas eller är felaktigt angivet
db_ehost=Datornamn saknas eller är felaktigt angivet
db_edb=Databasnamn saknas eller är felaktigt angivet

hosts_title=Datorrättigheter
hosts_db=Databaser
hosts_host=Datorer
hosts_perms=Rättigheter
hosts_any=Vilken som helst
hosts_all=Alla
hosts_priv2=Välj
hosts_priv3=Lägg till
hosts_priv4=Uppdatera
hosts_priv5=Ta bort
hosts_priv6=Skapa
hosts_priv7=Ta bort
hosts_priv8=Dela ut
hosts_priv9=Referenser
hosts_priv10=Index
hosts_priv11=Ändra
hosts_none=Ingen
hosts_add=Lägg till datorrättigheter
hosts_empty=Du har inte definierat några datorrättigheter

host_title1=Lägg till datorrättigheter
host_title2=Ändra datorrättigheter
host_header=Inställningar för datorrättigheter
host_db=Databaser
host_any=Vilken som helst
host_priv2=Ange tabelldata
host_priv3=Lägg till tabelldata
host_priv4=Uppdatera tabelldata
host_priv5=Ta bort tabelldata
host_priv6=Skapa tabeller
host_priv7=Ta bort tabeller
host_priv8=Dela ut rättigheter
host_priv9=Referensoperationer
host_priv10=Hantera index
host_priv11=Ändra tabeller
host_host=Datorer
host_perms=Rättigheter

newdb_title=Skapa databas
newdb_header=Inställningar för ny databas
newdb_db=Databasnamn
newdb_table=Starttabell
newdb_none=Ingen
newdb_struct=Struktur för starttabell
newdb_err=Det gick inte att skapa databasen
newdb_edb=Databasnamn saknas eller är felaktigt angivet
newdb_ecannot=Du får inte lägga till databaser

exec_title=Utför SQL
exec_header=Ange SQL-kommando som ska utföras på databas $1 ...
exec_exec=Utför
exec_header2=Ange fil med SQL-kommandoh som ska utföras på databas $1 ..
exec_file=Från lokal fil
exec_upload=Från nedladdad fil
exec_err=Det gick inte att utföra SQL
exec_out=Utmatning från SQL-kommando $1 ...
exec_none=Inga data returnerades
exec_eupload=Du har inte angivit någon fil som ska ladas ned
exec_efile=Det finns ingen sådan lokal fil
exec_uploadout=Utmatning från nedladdade SQL-kommandon ...
exec_fileout=Utmatning från SQL-kommandon i filen $1 ..
exec_noout=Det blev ingen utmatning.

tprivs_title=Tabellrättigheter
tprivs_table=Tabell
tprivs_db=Databas
tprivs_host=Datorer
tprivs_user=Användare
tprivs_privs1=Tabellrättigheter
tprivs_privs2=Fälträttigheter
tprivs_all=Alla
tprivs_anon=Anonymt
tprivs_add=Lägg till rättigheter i databas:
tprivs_norows=Du har inte definierat några tabellrättigheter
tprivs_return=tabellrättigheter
tprivs_none=Inga

tpriv_title1=Lägg till tabellrättigheter
tpriv_title2=Ändra tabellrättigheter
tpriv_header=Inställningar för tabellrättigheter
tpriv_db=Databas
tpriv_table=Tabell
tpriv_user=Användarnamn
tpriv_host=Datorer
tpriv_perms1=Tabellrättigheter
tpriv_perms2=Fälträttigheter
tpriv_any=Vem som helst
tpriv_anon=Anonym användare
tpriv_err=Det gick inte att spara tabellrättigheterna
tpriv_etable=Du har inte angivit någon tabell
tpriv_euser=Användarnamn saknas eller är felaktigt angivet
tpriv_ehost=Datornamn saknas eller är felaktigt angivet

cprivs_title=Fälträttigheter
cprivs_field=Fält
cprivs_table=Tabell
cprivs_db=Databas
cprivs_host=Datorer
cprivs_user=Användare
cprivs_privs=Rättigheter
cprivs_all=Alla
cprivs_anon=Anonymt
cprivs_add=Lägg till rättigheter i databas och tabell:
cprivs_norows=Du har inte definierat några fälträttigheter
cprivs_return=fälträttigheter
cprivs_none=Inga

cpriv_title1=Lägg till fälträttigheter
cpriv_title2=Ändra fälträttigheter
cpriv_header=Inställningar för fälträttigheter
cpriv_db=Databas
cpriv_table=Tabell
cpriv_field=Fält
cpriv_user=Användarnamn
cpriv_host=Datorer
cpriv_perms=Rättigheter
cpriv_any=Vem som helst
cpriv_anon=Anonym användare
cpriv_err=Det gick inte att spara fälträttigheterna
cpriv_etable=Du har inte angivit något fält
cpriv_euser=Användarnamn saknas eller är felaktigt angivet
cpriv_ehost=Datornamn saknas eller är felaktigt angivet

esql=SQL $1 misslyckades: $2
perms_ecannot=Du får inte ändra rättigheter
perms_edb=Du får bara ändra rättigheter för dina egna databaser

acl_dbs=Databaser som denna användare får hantera
acl_dall=Alla databaser
acl_dsel=Angivna ...
acl_create=Kunna skapa nya databaser?
acl_backup=Kunna säkerhetskopiera databaser?
acl_delete=Kunna ta bort databaser?
acl_stop=Kunna stanna och starta MySQL-servern?
acl_perms=Kunna ändra rättigheter?
acl_only=Endast för egna databaser
acl_login=Logga in på MySQL som
acl_user_def=Användarnamn från modulinställningarna
acl_user=Användarnamn
acl_pass=lösenord

log_start=Startade MySQL-server
log_stop=Stannade MySQL-server
log_db_create=Lade till databas $1
log_db_delete=Tog bort databas $1
log_table_create=Lade till tabell $1 i databas $2
log_table_delete=Tog bort tabell $1 från databas $2
log_field_create=Lade till fält $1 $4 till $2 i databas $3
log_field_modify=Modifierade fält $1 $4 i $2 i databas $3
log_field_delete=Tog bort fält $1 från $2 i databas $3
log_data_create=Lade till rad till tabell $2 i databas $3
log_data_modify=Modifierade $1 rader i tabell $2 i databas $3
log_data_delete=Tog bort $1 rader från tabell $2 i databas $3
log_exec=Utförde SQL i databas $1
log_exec_l=Utförde SQL-kommando $2 i databas $1
log_user_create=Lade till rättigheter för användare $1, dator $2
log_user_delete=Tog bort rättigheter för användare $1, dator $2
log_user_modify=Modifierade rättigheter för användare $1, dator $2
log_perm_create=Lade till rättigheter för databas $3, användare $1, dator $2
log_perm_delete=Tog bort rättigheter för databas $3, användare $1, dator $2
log_perm_modify=Modifierade rättigheter för databas $3, användare $1, dator $2
log_host_create=Lade till rättigheter för dator $2, databas $3
log_host_delete=Tog bort rättigheter för dator $2, databas $3
log_host_modify=Modifierade rättigheter för dator $2, databas $3
log_tpriv_create=Lade till rättigheter för tabell $4, databas $3
log_tpriv_delete=Tog bort rättigheter för tabell $4, databas $3
log_tpriv_modify=Modifierade rättigheter för tabell $4, databas $3
log_tpriv_create_l=Lade till rättigheter för tabell $4, databas $3, användare $1, dator $2
log_tpriv_delete_l=Tog bort rättigheter för tabell $4, databas $3, användare $1, dator $2
log_tpriv_modify_l=Modifierade rättigheter för tabell $4, databas $3, användare $1, dator $2
log_cpriv_create=Lade till rättigheter för fält $5, tabell $4
log_cpriv_delete=Tog bort rättigheter för fält $5 tabell $4
log_cpriv_modify=Modifierade rättigheter för fält $5, tabell $4
log_cpriv_create_l=Lade till rättigheter för fält $5, tabell $4, databas $3, användare $1 dator $2
log_cpriv_delete_l=Tog bort rättigheter för fält $5 tabell $4, databas $3, användare $1 dator $2
log_cpriv_modify_l=Modifierade rättigheter för fält $5, tabell $4, databas $3, användare $1 dator $2
log_anon=anonym
log_any=någon
log_backup=Säkerhetskopierade databas $1
log_backup_l=Säkerhetskopierade databas $1 till fil $2
log_execupload=Utförde SQL-kommandon från nedladdad fil
log_execfile=Utförde SQL-kommandon från fil $1

backup_title=Säkerhetskopiering av databas
backup_ecannot=Du får inte säkerhetskopiera databaser
backup_edump=MySQL-backupprogrammet $1 går inte att hitta på systemet. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga.
backup_desc=Med hjälp av detta formulär kan du göra en säkerhetskopia av databasen $1 i form av en fil med SQL-uttryck. Använd formuläret Utför SQL för att köra kommandona i filen om du vill läsa tillbaka data från säkerhetskopian.
backup_header=Inställningar för databaskopia
backup_file=Gör säkerhetskopia till fil
backup_where=Säkerhetskopiera endast rader som matchar <tt>where</tt>-villkoret
backup_none=Alla rader
backup_drop=Ska <tt>drop table</tt>-uttryck fogas till säkerhetskopian?
backup_ok=Gör säkerhetskopia nu
backup_err=Det gick inte att göra en säkerhetskopia på databasen.
backup_efile=Filnamn för säkerhetskopian saknades eller var ogiltigt.
backup_ewhere=Du har inte angivit något <tt>where</tt>-villkor
backup_ebackup=<tt>mysqldump</tt> misslyckades : $1
backup_done=Nu har $3 byte säkerhetskopierats från databasen $1 till filen $2.
   070701000383b4000081a40000000000000002000000013d1fe2db000030cc000000200000000000000000000000000000001400000003reloc/mysql/lang/tr   index_title=MySQL Veritabaný Sunucusu
index_notrun=MySQL sisteminizde çalýþmýyor - veritabaný listesi alýnamadý
index_start=MySQL Sunucusunu Baþlat
index_startmsg=Bu butonu týklayarak sisteminizdeki veritabaný sunucusunu $1 komutu ile çalýþtýrabilirsiniz.Veritabaný çalýþmadan Webmin'in bu modülünü kullanamazsýnýz
index_nopass=Webmin veritabanýný yönetebilmek için MySQL sunucunuzun kullanýcý adý ve þifresine ihtiyaç duymaktadýr.Lütfen kullanýcý adý( genellikle <tt>root</tt> olmaktadýr) ve þifreyi girin
index_ltitle=MySQL Kullanýcý Adý
index_login=Kullanýcý Adý
index_pass=Þifre
index_clear=Temizle
index_stop=MySQL sunucusunu durdur
index_stopmsg=Bu butonu týklayarak sisteminizdeki MySQL veritabaný sunucusunu durdurabilirsiniz.Bu kullanýcýlarýn ya da programlarýn veritabanýna giriþlerini kesecektir.
index_dbs=MySQL Veritabanlarý
index_add=Yeni bir veritabaný oluþtur
index_global=Genel Seçenekler
index_return=veritabaný listesi
index_eadmin=MySQL yönetim programý $1 sisteminizde bulunamadý.MySQL yüklenmemiþ ya da <a href='$2'>modül ayarlarý</a>  doðru olmayabilir
index_esql=MySQL istemci programý $1 sisteminizde bulunamadý.MySQL yüklenmemiþ ya da <a href='$2'>modül ayarlarý</a>  doðru olmayabilir
index_ever=MySQL istemci programý doðru versiyom deðil.Webmin sadece MySQL 3 versiyonunu desteklemektedir
index_nouser=


login_err=Giriþte hata oluþtu
login_ecannot=Veritabaný giriþini ayarlamaya izininiz yoktur
login_elogin=Kayýp yönetim giriþi
login_epass=Yanlýþ yönetici kullanýcý adý ve þifresi

stop_err=Veritabanýnýn durdurulmasýnda hata oluþtu
start_err=Veritabanýnýn baþlatýlmasýnda hata oluþtu

dbase_title=Veritabanýný Deðiþtir
dbase_tables=Veritabaný tablolalarý
dbase_add=Yeni bir tablo oluþtur
dbase_drop=Veritabanýný býrak
dbase_exec=SQL çalýþtýr
dbase_none=Veritabaný tablolara sahip deðil
dbase_fields=
dbase_return=tablo listesi
dbase_ecannot=Bu veritabanýný deðiþtirmeye izininiz yoktur

ddrop_err=Veritabanýnýn býrakýlmasýnda hata oluþtu
ddrop_title=Veritabanýný býrak
ddrop_rusure=$1 veritabanýný býrakmak istediðinizden eminmisiniz? $2 tablo silinecek olan bilgide $3 kolon içeriyor.
ddrop_mysql=Çünkü bu ana veritabanýdýr, býrakma genellikle kullýnýþsýz MySQL sunucusunda yapýlýr.
ddrop_ok=Veritabanýný býrak

table_title=Tablo Deðiþtir
table_title2=Tablo Oluþtur
table_header=$2 veritabanýndaki $1 tablosu
table_field=Alan ismi
table_type=Tip
table_null=Boþlar kabul edilsin?
table_key=Anahtar
table_default=Öntanýmlý deðeri
table_extra=Ekler
table_pri=Birincil
table_mul=Indekslenmiþ
table_none=Hiçbiri
table_add=Tip alaný ekle:
table_return=alan listesi
table_data=Bilgiyi göster
table_drop=Tabloyu býrak
table_name=Tablo ismi
table_initial=Alanlar
table_header2=Yeni tablo seçenekleri
table_err=Tablo oluþturulmasýnda hata oluþtu
table_ename=Kayýp ya da yanlýþ tablo ismi
table_efield='$1' geçerli bir alan ismi deðildir
table_etype=$1 alaný için kayýp tip
table_esize=$1 alaný için kayýp tip boyutu
table_enone=Ýlk alanlar girilmedi

tdrop_err=Tablonun býrakýlmasýnda hata oluþtu
tdrop_title=Tablo Býrakýlmasý
tdrop_rusure=$1 tablo $2 veritabanýnýndan býrakmak istediðinizden
eminmisiniz? Bilginin $3 kolonlarý silinebilir
tdrop_ok=Tabloyu býrak

field_title1=Alan ekle
field_title2=Alaný deðiþtir
field_in=Tablo $1, $2 veritabanýnda
field_header=Alan parametreleri
field_name=Alan ismi
field_type=Bilgi tipi
field_size=Tip uzunluðu
field_enum=Sayýlmýþ deðerler
field_dual=Geniþlik ve ondalýk
field_opts=Tip seçenekleri
field_auto=Otomatik arttýrma?
field_none=Hþçbiri
field_unsigned=Ýþaretlenmemiþ
field_zerofill=Sýfýrlarla doldur
field_ascii=Büyük küçük harfe duyarlý olma
field_binary=Büyük küçük harfe duyarlýlýk
field_null=Boþlar kabul edilsin?
field_default=Öntanýmlý deðeri
field_key=Birincil anahtarýn bölümü?
field_err=Alanýnýn kaydedilmeinde hata oluþtu
field_esize='$1' geçerli bir alan boyutu deðil
field_eenum=Arttýrýlan deðerler girilmedi
field_efield='$1' geçerli bir alan ismi deðil
field_ekey=Alanlarda birincil anahtarýn parçalarý boþ olamazlar

view_title=Tablo Ýsmi
view_pos=$1 tablosu $3'te $2 altýnda
view_none=Bu tablo blgi içermiyor
view_edit=Seçili kolonlarý deðiþtir
view_new=Kolon ekle
view_delete=Seçili kolonlarý sil
view_nokey=Bu tablodaki bilgi deðiþtirilemez çünkü birincil anahtara sahip deðil

users_title=Kullanýcý Izinleri
users_user=Kullanýcý
users_host=Makineler
users_pass=Þifrelenmiþ parolalar
users_perms=Ýzinler
users_add=Yeni bir kullanýcý oluþtur
users_priv3=Seç
users_priv4=Yerleþtir
users_priv5=Güncelle
users_priv6=Sil
users_priv7=Oluþtur
users_priv8=Býrak
users_priv9=Tekrar Yükle
users_priv10=Kapat
users_priv11=Ýþlem
users_priv12=Dosya
users_priv13=Kabul
users_priv14=Referanslar
users_priv15=Indeks
users_priv16=Deðiþiklik
users_all=Hepsi
users_anon=Ortak kullanýcý
users_none=Hiçbiri
users_return=Kullanýcý listesi

user_title1=Kullanýcý Oluþtur
user_title2=Kullanýcý Deðiþtir
user_header=MySQL kullanýcý ayrýntýlarý
user_user=Kullanýcý Adý
user_all=Ortak kullanýcý
user_pass=Þifre
user_leave=Deðiþtirme
user_none=Hiçbiri
user_any=Herhangi
user_set=Kur..
user_host=Makineler
user_perms=Ýzinler
user_priv3=Tablo bilgisi seç
user_priv4=Tablo bilgisi yerleþtir
user_priv5=Tablo bilgisi güncelle
user_priv6=Tablo bilgisi sil
user_priv7=Tablo oluþtur
user_priv8=Tablolarý býrak
user_priv9=Kabulleri tekrar yükle
user_priv10=Veritabanýný kapat
user_priv11=Ýþlemleri yönet
user_priv12=Dosya Ýþlemleri
user_priv13=Ayrýcalýklarý kabul et
user_priv14=Ýþlemleri gönder
user_priv15=Ýndeksleri yönet
user_priv16=Tablolarý deðiþtir
user_err=Kullanýcýyý kaydetmede hata olýþtu
user_euser=Kayýp ya da yanlýþ kullanýcý ismi
user_ehost=Kayýp ya da yanlýþ izin verilen makine(ler)

dbs_title=Veritabaný Ýzinleri
dbs_db=Veritabanlarý
dbs_user=Kullanýcý
dbs_host=Makineler
dbs_perms=Ýzinler
dbs_anon=Ortak
dbs_any=Herhangi
dbs_empty=Veritabaný haklarý tanýmlanmadý
dbs_hosts=Makine izinlerinden
dbs_add=Yeni veritabaný izinlerini oluþtur
dbs_priv3=Seç
dbs_priv4=Yerleþtir
dbs_priv5=Güncelle
dbs_priv6=Sil
dbs_priv7=Oluþtur
dbs_priv8=Býrak
dbs_priv9=Kabul
dbs_priv10=Referanslar
dbs_priv11=Indeks
dbs_priv12=Deðiþtir
dbs_all=Hepsi
dbs_none=Hiçbiri
dbs_return=Veritabaný izinleri

db_title1=Veritabaný Ýzinleri Oluþtur
db_title2=Veritabaný Ýzinleri Deðiþtir
db_header=Veritabaný Ýzin Seçenekleri
db_db=Veritabanlarý
db_user=Kullanýcý Ýsmi
db_anon=Ortak kullanýcý
db_host=Makineler
db_hosts=Makine izinlerinden 
db_any=Herhangi
db_perms=Ýzinler
db_priv3=Tablo bilgisi seçin
db_priv4=Tablo bilgisi yerleþtirin
db_priv5=Tablo bilgisi güncelleyin
db_priv6=Tablo bilgisi silin
db_priv7=Tablo oluþtur
db_priv8=Tablolarý býrak
db_priv9=Kabulleri tekrar yükle
db_priv10=Veritabanýný kapat
db_priv11=Ýlemleri yönet
db_priv12=Dosya iþlemleri
db_priv13=Ayrýcalýk kabulleri
db_priv14=Referans iþlemleri
db_priv15=Ýndeksleri önet
db_priv16=Tablolarý deðiþtir
db_err=Veritabaný izinlerinin deiþtirlmesinde hata oluþtu
db_euser=Kayýp ya da yanlýþ kullanýcý ismi
db_ehost=Kayýp ya da yanlýþ makine ismi
db_edb=Kayýp ya da yanlýþ veritabaný ismi

hosts_title=Makine Ýzinleri
hosts_db=Veritabanlarý
hosts_host=Makineler
hosts_perms=Ýzinler
hosts_any=Herhangi
hosts_all=Hepsi
hosts_none=Hiçbiri
hosts_add=Yeni makine izinleri oluþtur
hosts_empty=Makine izinleri tanýmlanmadý

host_title1=Makine Ýzinleri Oluþtur
host_title2=Makine Ýzinlerini Deðiþtir
host_header=Makine izin seçenekleri
host_db=Veritabanlarý
host_any=Herhangi
host_host=Makineler
host_perms=Ýzinler

newdb_title=Veritabaný Oluþtur
newdb_header=Yeni veritabaný seçenekleri
newdb_db=Veritabaný ismi
newdb_table=Ýlk tablo
newdb_none=Hiçbiri
newdb_struct=Ýlk tablo yapýsý
newdb_err=Veritabaný oluþturulmasýnda hata oluþtu
newdb_edb=Kayýp ya da yanlýþ veritabaný ismi
newdb_ecannot=Veritabaný oluþturmanýz izin verilmemiþtir

exec_title=SQL Çalýþtýr
exec_header=$1 veritabanýnda çalýþtýrýlacak SQL komutunu girin ..
exec_exec=Çalýþtýr
exec_err=SQL'in çalýþtýrýlmasýnda hata oluþtu
exec_out=SQL komutu $1'in çýktýsý ..
exec_none=Bilgi Döndürülmedi

tprivs_title=Tablo Ýzinleri
tprivs_table=Tablo
tprivs_db=Veritabaný
tprivs_host=Makineler
tprivs_user=Kullanýcý
tprivs_privs1=Tablo izinleri
tprivs_privs2=Alan izinleri
tprivs_all=Hepsi
tprivs_anon=Ortak kullanýcý
tprivs_add=Veritabanýna yeni haklar ekle:
tprivs_norows=Tablo izinleri tanýmlanmadý
tprivs_return=tablo izinleri
tprivs_none=Hiçbiri

tpriv_title1=Tablo Ýzinleri Oluþtur
tpriv_title2=Tablo Ýzinleri Deðiþtir
tpriv_header=Tablo izin seçenekleri
tpriv_db=Veritabaný
tpriv_table=Tablo
tpriv_user=Kullanýcý Adý
tpriv_host=Makineler
tpriv_perms1=Tablo izinleri
tpriv_perms2=Alan izinleri
tpriv_any=Herhangi
tpriv_anon=Ortak kullanýcý
tpriv_err=Tablo haklarýnýn kaydedilmesinde hata oluþtu
tpriv_etable=Tablo seçilmedi
tpriv_euser=Kayýp ya da yanlýþ kullanýcý adý
tpriv_ehost=Kayýp ya da yanlýþ makine adý

cprivs_title=Alan Ýzinleri
cprivs_field=Alan
cprivs_table=Tablo
cprivs_db=Veritabaný
cprivs_host=Makineler
cprivs_user=Kullanýcý
cprivs_privs=Ýzinler
cprivs_all=Hepsi
cprivs_anon=Ortak kullanýcý
cprivs_add=Veritabaný ve tabloya yeni izinler ekle :
cprivs_norows=Ýzinlerin tanýmlandýðý alan yok
cprivs_return=alan izinleri
cprivs_none=Hiçbiri

cpriv_title1=Alan Ýzinleri Oluþtur
cpriv_title2=Alan Ýzinleri Deðiþtir
cpriv_header=Alan izin seçenekleri
cpriv_db=Veritabaný
cpriv_table=Tablo
cpriv_field=Alan
cpriv_user=Kullanýcý Adý
cpriv_host=Makineler
cpriv_perms=Ýzinler
cpriv_any=Herhangi
cpriv_anon=Ortak kullanýcý
cpriv_err=Alan izinlerinin kaydedilmesinde hata oluþtu
cpriv_etable=Alan seçilmedi
cpriv_euser=Kayýp ya da yanlýþ kullanýcý adý
cpriv_ehost=Kayýp ya da yanlýþ makine

esql=SQL $1 hata oluþtu : $2
perms_ecannot=Ýzinleri deðiþtirmenize izin verilmedi
perms_edb=Sadece kendi veritabanlarýnýzýn haklarýný deðiþtirmek için izininiz vardýr.

acl_dbs=Veritabanlarýný bu kullanýcý yönetebilir
acl_create=Yeni veritabaný oluþturabilsin?
acl_delete=Veritabanlarýný býrakabilsin?
acl_stop=MySQL sunucusunu durdurup baþlatabilsin?
acl_perms=Ýzinleri deðiþtirebilsin?
acl_only=Sadece yönetilen veritabanlarý için
acl_login=MYSQL'e bu kullanýcý olarak baðlan
acl_user_def=Modül Yapýlandýrmasýndaki kullanýcý adý
acl_user=Kullanýcý adý
acl_pass=Þifre

log_start=Mysql Sunucusu baþlatýldý
log_stop=Mysql sunucusu durduruldu
log_db_create=$1 veritabaný oluþturuldu
log_db_delete=$1 veritabaný silindi
log_table_create=$2 veritabanýndaki $1 tablosu oluþturuldu
log_table_delete=$2 veritabanýndaki $1 tablosu silindi
log_field_create=$3 veritabanýndaki $2'ye $1 $4 alanlarý eklendi
log_field_modify=$3 veritabanýndaki $2'ye $1 $4 alanlarý deðiþtirildi
log_field_delete=$3 veritabanýndaki $2'den $1 silindi
log_data_create=$3 veritabanýndaki $2 tablosuna kolon eklendi
log_data_modify=$3 veritabanýndaki $2 tablosunun $1 kolonu deðiþtirildi
log_data_delete=$3 veritabanýndaki $2 tablosunun $1 kolonu silindi
log_exec=$1 veritabanýndaki SQL çalýþtýrýldý
log_exec_l=$1 veritabanýndaki SQL komutu $2 komutu çalýþtýrýldý
log_user_create=Makine $2, kullanýcý $1 için izinler oluþturuldu
log_user_delete=Makine $2, kullanýcý $1 için izinler silindi
log_user_modify=Makine $2, kullanýcý $1 için izinler deðiþtirildi
log_perm_create=Makine $2, kullanýcý $1, veritabaný için izinler oluþturuldu
log_perm_delete=Makine $2, kullanýcý $1, veritabaný için izinler silindi
log_perm_modify=Makine $2, kullanýcý $1, veritabaný için izinler deðiþtirildi
log_host_create=Veritabaný $3, makine $2 için izinler oluþturuldu
log_host_delete=Veritabaný $3, makine $2 için izinler silindi
log_host_modify=Veritabaný $3, makine $2 için izinler deðiþtirildi
log_tpriv_create=Veritabaný $3, tablo $4 için izinler oluþturuldu
log_tpriv_delete=Veritabaný $3, tablo $4 için izinler silindi
log_tpriv_modify=Veritabaný $3, tablo $4 için izinler deðiþtirildi
log_tpriv_create_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4 için izinler oluþturuldu
log_tpriv_delete_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4 için izinler silindi
log_tpriv_modify_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4 için izinler deðiþtirildi
log_cpriv_create=Tablo $4, alan $5 için izinler oluþturuldu
log_cpriv_delete=Tablo $4, alan $5 için izinler silindi
log_cpriv_modify=Tablo $4, alan $5 için izinler deðiþtirildi
log_cpriv_create_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4, alan $5 için izinler oluþturuldu 
log_cpriv_delete_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4, alan $5 için izinler silindi
log_cpriv_modify_l=Makine $2, kullanýcý $1, veritabaný $3, tablo $4, alan $5 için izinler deðiþtirildi

log_anon=anonymous
log_any=herhangi

070701000383b5000081a40000000000000002000000013d1fe2db00002290000000200000000000000000000000000000001700000003reloc/mysql/lang/zh_CN    index_title=MySQL Êý¾Ý¿â·þÎñÆ÷
index_notrun=ÔÚÄúµÄÏµÍ³ÉÏÃ»ÓÐÔËÐÐ MySQL - ²»ÄÜ¼ìË÷Êý¾Ý¿âÁÐ±í¡£    
index_start=Æô¶¯ MySQL ·þÎñÆ÷
index_startmsg=µã»÷Õâ¸ö°´Å¥ÒÔÓÃÃüÁî$1Æô¶¯ÏµÍ³ÉÏµÄMySQLÊý¾Ý¿â·þÎñÆ÷¡£ Ö»ÓÐÊý¾Ý¿âÆô¶¯ºó, webmin Ä£¿é²ÅÄÜ¹ÜÀíÊý¾Ý¿â¡£
index_nopass=ÎªÁË¹ÜÀíÄúµÄÊý¾Ý¿â£¬webmin ÐèÒªÖªµÀ MySQL ¹ÜÀíÔ±µÄµÇÂ¼ÃûÒÔ¼°¿ÚÁî¡£ÇëÔÚÏÂÃæÊäÈë¹ÜÀíÔ±µÄÓÃ»§Ãû(Í¨³£ÊÇ<tt>root</tt>) ºÍ¿ÚÁî¡£
index_ltitle=MySQL µÇÂ¼
index_login=µÇÂ¼
index_pass=¿ÚÁî
index_clear=Çå³ý
index_stop=Í£Ö¹MySQL·þÎñÆ÷
index_stopmsg=µã»÷Õâ¸ö°´Å¥ÒÔÍ£Ö¹ÄúÏµÍ³ÉÏµÄMySQLÊý¾Ý¿â·þÎñÆ÷¡£Õâ½«×èÖ¹ÈÎºÎÓÃ»§»ò³ÌÐò·ÃÎÊÊý¾Ý¿â£¬°üÀ¨Õâ¸öwebmin Ä£¿é..
index_dbs=MySQLÊý¾Ý¿â
index_add=´´½¨ÐÂµÄÊý¾Ý¿â
index_global=È«¾ÖÑ¡Ïî
index_return=Êý¾Ý¿âÁÐ±í
index_eadmin=ÔÚÄúµÄÏµÍ³ÉÏÃ»ÓÐ·¢ÏÖMySQL¹ÜÀí³ÌÐò$1¡£¿ÉÄÜMySQLÃ»ÓÐ°²×°£¬»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a> ²»ÕýÈ·¡£
index_esql=ÔÚÄúµÄÏµÍ³ÖÐÃ»ÓÐ·¢ÏÖMySQL¡£¿ÉÄÜMySQLÃ»ÓÐ°²×°£¬»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a> ²»ÕýÈ·¡£
index_ever=MySQL¿Í»§³ÌÐò$1µÄ°æ±¾²»ÕýÈ·¡£Webmin ½öÖ§³ÖMySQL°æ±¾3¡£
index_nouser=ÄúµÄWebminÕÊºÅ±»ÅäÖÃÎªÒÔÓÃ»§ $1 Á¬½Óµ½MySQLÊý¾Ý¿â£¬µ«ÊÇ¸ÃÓÃ»§ÒÑ¾­±»¾Ü¾ø·ÃÎÊ¡£
login_err=µÇÂ¼Ê§°Ü
login_ecannot=ÄúÎÞÈ¨ÅäÖÃÊý¾Ý¿âµÇÂ¼
login_elogin=¶ªÊ§¹ÜÀíµÇÂ¼  
login_epass=´íÎóµÄ¹ÜÀíÔ±ÓÃ»§Ãû»ò¿ÚÁî
stop_err=Í£Ö¹Êý¾Ý¿âÊ§°Ü
start_err=Æô¶¯Êý¾Ý¿âÊ§°Ü
dbase_title=±à¼­Êý¾Ý¿â
dbase_tables=Êý¾Ý¿â±í
dbase_add=ÐÂ½¨Ò»¸ö±í
dbase_drop=É¾³ýÊý¾Ý¿â
dbase_exec=Ö´ÐÐSQL
dbase_none=Õâ¸öÊý¾Ý¿âÖÐÃ»ÓÐ±í¡£
dbase_fields=×Ö¶Î£º
dbase_return=Êý¾Ý±íÁÐ±í
dbase_ecannot=ÄúÃ»ÓÐ±à¼­¸ÃÊý¾Ý¿âµÄÈ¨ÏÞ
ddrop_err=É¾³ýÊý¾Ý¿âÊ§°Ü
ddrop_title=É¾³ýÊý¾Ý¿â
ddrop_rusure=ÄúÈ·¶¨ÒªÉ¾³ýÊý¾Ý¿â$1£¿°üº¬$3ÐÐÊý¾ÝµÄ±í$2½«±»É¾³ý¡£
ddrop_mysql=ÒòÎªÕâÊÇÒ»¸öÖ÷Êý¾Ý¿â£¬É¾³ýËü½«¿ÉÄÜÊ¹ÄúµÄMySQL·þÎñÆ÷²»ÄÜÊ¹ÓÃ£¡
ddrop_ok=É¾³ýÊý¾Ý¿â
table_title=±à¼­Êý¾Ý±í
table_title2=´´½¨±í
table_header=ÔÚÊý¾Ý¿âÖÐ$2ÖÐµÄ±í$1
table_field=×Ö¶ÎÃû
table_type=ÀàÐÍ
table_null=ÔÊÐíÎª¿Õ£¿
table_key=Ö÷¼ü
table_default=È±Ê¡Öµ
table_extra=¸½¼Ó
table_pri=»ù±¾
table_mul=Ë÷ÒýµÄ
table_none=¿Õ
table_add=Ôö¼Ó×Ö¶Î£¬ÀàÐÍÎª£º
table_return=×Ö¶ÎÁÐ±í
table_data=²é¿´Êý¾Ý
table_drop=É¾³ý±í
table_name=±íÃû
table_initial=³õÊ¼×Ö¶Î
table_header2=ÐÂ±íÑ¡Ïî
table_err=´´½¨±íÊ§°Ü
table_ename=¶ªÊ§»òÕßÎÞÐ§±íÃû
table_efield='$1'²»ÊÇÓÐÐ§×Ö¶ÎÃû
table_etype=¶ªÊ§×Ö¶Î$1µÄÀàÐÍ
table_esize=¶ªÊ§×Ö¶Î$1ÀàÐÍ´óÐ¡
table_enone=Ã»ÓÐÊäÈë³õÊ¼×Ö¶Î
tdrop_err=É¾³ýÊý¾Ý¿âÊ§°Ü
tdrop_title=É¾³ý±í
tdrop_rusure=ÄúÈ·¶¨ÒªÉ¾³ýÊý¾Ý¿â $2 ÖÐµÄ±í $1 £¿$3ÐÐÊý¾Ý½«±»É¾³ý¡£
tdrop_ok=É¾³ý±í
field_title1=Ôö¼Ó×Ö¶Î
field_title2=ÐÞ¸Ä×Ö¶Î
field_in=ÔÚÊý¾Ý¿â$2µÄ±í$1ÖÐ
field_header=×Ö¶Î²ÎÊý
field_name=×Ö¶ÎÃû
field_type=Êý¾ÝÀàÐÍ
field_size=ÀàÐÍ¿í¶È
field_enum=Ã¶¾ÙÖµ
field_dual=¿í¶ÈºÍÐ¡ÊýÎ»Êý
field_opts=ÀàÐÍÑ¡Ïî
field_auto=×Ô¶¯ÔöÁ¿£¿
field_none=ÎÞ
field_unsigned=ÎÞ·ûºÅ
field_zerofill=ÓÃ0Ìî³ä
field_ascii=´óÐ¡Ð´²»Ãô¸Ð
field_binary=´óÐ¡Ð´Ãô¸Ð
field_null=ÔÊÐí¿Õ
field_default=È±Ê¡Öµ
field_key=Ö÷¼üµÄÒ»²¿·Ö£¿
field_err=±£´æ×Ö¶ÎÊ§°Ü
field_esize=$1²»ÊÇÓÐÐ§µÄ×Ö¶Î³¤¶È
field_eenum=Ã»ÓÐÊäÈëÃ¶¾ÙÊý¾Ý
field_efield=$1²»ÊÇÓÐÐ§×Ö¶ÎÃû
field_ekey=ÔÊÐí¿ÕÖµµÄ×Ö¶Î²»ÄÜÎªÖ÷¼ü
view_title=±íÊý¾Ý
view_pos=$3µÄ$1ÐÐµ½$2ÐÐ
view_none=Õâ¸ö±íÖÐÃ»ÓÐÊý¾Ý
view_edit=±à¼­Ñ¡ÔñµÄÐÐ
view_new=Ôö¼ÓÐÐ
view_delete=É¾³ýÑ¡ÔñµÄÐÐ
view_nokey=±íÖÐµÄÊý¾Ý²»ÄÜ±à¼­£¬ÒòÎªÃ»ÓÐÖ÷¼ü¡£
view_all=Ñ¡ÔñËùÓÐ
view_invert=·­×ªÑ¡Ôñ
users_title=ÓÃ»§È¨ÏÞ
users_user=ÓÃ»§
users_host=Ö÷»ú
users_pass=¼ÓÃÜ¿ÚÁî
users_perms=È¨ÏÞ
users_add=´´ÐÂÐÂÓÃ»§
users_priv3=Ñ¡Ôñ
users_priv4=²åÈë
users_priv5=¸üÐÂ
users_priv6=É¾³ý
users_priv7=´´½¨
users_priv8=É¾³ý
users_priv9=ÖØ×°ÔØ
users_priv10=¹Ø±Õ
users_priv11=½ø³Ì
users_priv12=ÎÄ¼þ
users_priv13=ÊÚÈ¨
users_priv14=²Î¿¼
users_priv15=Ë÷Òý
users_priv16=¸Ä±ä
users_all=ËùÓÐ
users_anon=ÄäÃû
users_none=ÎÞ
users_return=ÓÃ»§ÁÐ±í
user_title1=´´½¨ÓÃ»§
user_title2=±à¼­ÓÃ»§
user_header=MySQLÓÃ»§ÏêÇé
user_user=ÓÃ»§Ãû
user_all=ÄäÃûÓÃ»§
user_pass=¿ÚÁî
user_leave=²»¸Ä±ä
user_none=Ã»ÓÐ
user_any=ÈÎºÎ
user_set=ÉèÖÃµ½..
user_host=Ö÷»ú
user_perms=È¨ÏÞ
user_priv3=Ñ¡Ôñ±íÊý¾Ý
user_priv4=²åÈë±íÊý¾Ý
user_priv5=¸üÐÂ±íÊý¾Ý
user_priv6=É¾³ý±íÊý¾Ý
user_priv7=´´½¨±í
user_priv8=É¾³ý±í
user_priv9=ÖØÔØÊÚÈ¨
user_priv10=¹Ø±ÕÊý¾Ý¿â
user_priv11=¹ÜÀí½ø³Ì
user_priv12=ÎÄ¼þ²Ù×÷
user_priv13=ÊÚÓèÌØÈ¨
user_priv14=²Î¿¼²Ù×÷
user_priv15=¹ÜÀíË÷Òý
user_priv16=Ìæ»»±í
user_err=±£´æÓÃ»§Ê§°Ü
user_euser=¶ªÊ§»òÕßÎÞÐ§Ö÷»úÃû
user_ehost=¶ªÊ§»òÎÞÐ§Ðí¿ÉÖ÷»ú
dbs_title=Êý¾Ý¿âÈ¨ÏÞ
dbs_db=Êý¾Ý¿â
dbs_user=ÓÃ»§
dbs_host=Ö÷»ú
dbs_perms=È¨ÏÞ
dbs_anon=ÄäÃû
dbs_any=ÈÎºÎ
dbs_empty=Ã»ÓÐ¶¨ÒåÊý¾Ý¿âÈ¨ÏÞ¡£
dbs_hosts=À´×ÔÖ÷»úÈ¨ÏÞ
dbs_add=´´½¨ÐÂµÄÊý¾Ý¿âÈ¨ÏÞ
dbs_priv3=Ñ¡Ôñ
dbs_priv4=²åÈë
dbs_priv5=¸üÐÂ
dbs_priv6=É¾³ý
dbs_priv7=´´½¨
dbs__priv8=É¾³ý
dbs_priv9=ÊÚÈ¨
dbs_priv10=²Î¿¼
dbs_priv11=Ë÷Òý
dbs_priv12=¸Ä±ä
dbs_all=ËùÓÐ
dbs_none=ÎÞ
dbs_return=Êý¾Ý¿âÈ¨ÏÞ
db_title1=´´½¨Êý¾Ý¿âÈ¨ÏÞ
db_title2=±à¼­Êý¾Ý¿âÈ¨ÏÞ
db_header=Êý¾Ý¿âÈ¨ÏÞÑ¡Ïî
db_db=Êý¾Ý¿â
db_user=ÓÃ»§Ãû
db_anon=ÄäÃûÓÃ»§
db_host=Ö÷»ú
db_hosts=À´×ÔÖ÷»úÈ¨ÏÞ
db_any=ÈÎºÎ
db_perms=È¨ÏÞ
db_priv3=Ñ¡Ôñ±íÊý¾Ý
db_priv4=²åÈë±íÊý¾Ý
db_priv5=¸üÐÂ±íÊý¾Ý
db_priv6=É¾³ý±íÊý¾Ý
db_priv7=´´½¨±í
db_priv8=É¾³ý±í
db_priv9=ÊÚÓèÌØÈ¨
db_priv10=²Î¿¼²Ù×÷
db_priv11=¹ÜÀíË÷Òý
db_priv12=¸Ä±ä±í
db_priv13=ÊÚÈ¨È¨ÏÞ
db_priv14=²Î¿¼²Ù×÷
db_priv15=¹ÜÀíË÷Òý
db_priv16=×ª»»±í
db_err=±£´æÊý¾Ý¿âÈ¨ÏÞÊ§°Ü
db_euser=¶ªÊ§»òÕßÎÞÐ§ÓÃ»§Ãû
db_ehost=¶ªÊ§»òÕßÎÞÐ§Ö÷»úÃû
db_edb=¶ªÊ§»òÕßÎÞÐ§Êý¾Ý¿âÃû
hosts_title=Ö÷»úÈ¨ÏÞ
hosts_db=Êý¾Ý¿â
hosts_host=Ö÷»ú
hosts_perms=È¨ÏÞ
hosts_any=ÈÎºÎ
hosts_all=ËùÓÐ
hosts_none=ÎÞ
hosts_add=´´½¨ÐÂµÄÖ÷»úÈ¨ÏÞ
hosts_empty=Ã»ÓÐ¶¨ÒåÖ÷»úÈ¨ÏÞ
host_title1=´´½¨Ö÷»úÈ¨ÏÞ
host_title2=±à¼­Ö÷»úÈ¨ÏÞ
host_header=Ö÷»úÈ¨ÏÞÑ¡Ïî
host_db=Êý¾Ý¿â
host_any=ÈÎºÎ
host_host=Ö÷»ú
host_perms=È¨ÏÞ
newdb_title=´´½¨Êý¾Ý¿â
newdb_header=ÐÂµÄÊý¾Ý¿âÑ¡Ïî
newdb_db=Êý¾Ý¿âÃû
newdb_table=³õÊ¼Êý¾Ý±í
newdb_none=ÎÞ
newdb_struct=³õÊ¼±í½á¹¹
newdb_err=´´½¨Êý¾Ý¿âÊ§°Ü
newdb_edb=¶ªÊ§»òÎÞÐ§Êý¾Ý¿âÃû×Ö
newdb_ecannot=ÄúÎÞÈ¨´´½¨Êý¾Ý¿â
exec_title=Ö´ÐÐSQL
exec_header=ÊäÈëÒª¶ÔÊý¾Ý¿â $1 Ö´ÐÐµÄSQLÃüÁî..
exec_exec=Ö´ÐÐ
exec_err=Ö´ÐÐSQLÊ§°Ü
exec_out=´ÓSQLÃüÁî $1 Êä³ö..
exec_none=Ã»ÓÐÊý¾Ý·µ»Ø
tprivs_title=±íÈ¨ÏÞ
tprivs_table=±í
tprivs_db=Êý¾Ý¿â
tprivs_host=Ö÷»ú
tprivs_user=ÓÃ»§
tprivs_privs1=±íÈ¨ÏÞ
tprivs_privs2=×Ö¶ÎÈ¨ÏÞ
tprivs_all=ËùÓÐ
tprivs_anon=ÄäÃû
tprivs_add=ÔÚÊý¾Ý¿âÖÐÔö¼ÓÐÂÈ¨ÏÞ£º
tprivs_norows=Ã»ÓÐ¶¨Òå±íÈ¨ÏÞ
tprivs_return=±íÔÊÐí
tprivs_none=ÎÞ
tpriv_title1=´´½¨±íÈ¨ÏÞ
tpriv_title2=±à¼­±íÈ¨ÏÞ
tpriv_header=±íÈ¨ÏÞÑ¡Ïî
tpriv_db=Êý¾Ý¿â
tpriv_table=±í
tpriv_user=ÓÃ»§Ãû
tpriv_host=Ö÷»ú
tpriv_perms1=±íÈ¨ÏÞ
tpriv_perms2=×Ö¶ÎÈ¨ÏÞ
tpriv_any=ÈÎºÎ
tpriv_anon=ÄäÃûÓÃ»§
tpriv_err=±£´æ±íÈ¨ÏÞÊ§°Ü
tpriv_etable=Ã»ÓÐÑ¡Ôñ±í
tpriv_euser=¶ªÊ§»òÕßÎÞÐ§ÓÃ»§Ãû
tpriv_ehost=¶ªÊ§»òÕßÎÞÐ§Ö÷»ú
cprivs_title=×Ö¶ÎÈ¨ÏÞ
cprivs_field=×Ö¶Î
cprivs_table=±í
cprivs_db=Êý¾Ý¿â
cprivs_host=Ö÷»ú
cprivs_user=ÓÃ»§
cprivs_privs=È¨ÏÞ
cprivs_all=ËùÓÐ
cprivs_anon=ÄäÃû
cprivs_add=ÔÚÊý¾Ý¿âºÍ±íÖÐÔö¼ÓÐÂÈ¨ÏÞ£º
cprivs_norows=Ã»ÓÐ¶¨Òå×Ö¶ÎÈ¨ÏÞ
cprivs_return=×Ö¶ÎÈ¨ÏÞ
cprivs_none=Ã»ÓÐ
cpriv_title1=´´½¨×Ö¶ÎÈ¨ÏÞ
cpriv_title2=±à¼­×Ö¶ÎÈ¨ÏÞ
cpriv_header=×Ö¶ÎÈ¨ÏÞÑ¡Ïî
cpriv_db=Êý¾Ý¿â
cpriv_table=±í
cpriv_field=×Ö¶Î
cpriv_user=ÓÃ»§Ãû
cpriv_host=Ö÷»ú
cpriv_perms=È¨ÏÞ
cpriv_any=ÈÎºÎ
cpriv_anon=ÄäÃûÓÃ»§
cpriv_err=±£´æ×Ö¶ÎÈ¨ÏÞÊ§°Ü
cpriv_etable=Ã»ÓÐÑ¡Ôñ×Ö¶Î
cpriv_euser=¶ªÊ§»òÕßÎÞÐ§ÓÃ»§Ãû
cpriv_ehost=¶ªÊ§»òÕßÎÞÐ§Ö÷»ú
esql=SQL $1 Ê§°Ü:$2
perms_ecannot=ÄúÎÞÈ¨±à¼­È¨ÏÞ
perms_edb=ÄúÖ»ÄÜ±à¼­Äú×Ô¼ºµÄÊý¾Ý¿âµÄÈ¨ÏÞ
acl_dbs=Õâ¸öÓÃ»§ÄÜ¹ÜÀíµÄÊý¾Ý¿â
acl_dall=ËùÓÐÊý¾Ý¿â
acl_dsel=Ñ¡Ôñ..
acl_create=¿É´´½¨ÐÂÊý¾Ý¿â£¿
acl_delete=¿ÉÉ¾³ýÊý¾Ý¿â£¿
acl_stop=¿ÉÍ£Ö¹/Æô¶¯ MySQL ·þÎñ£¿
acl_perms=¿É±à¼­È¨ÏÞ£¿
acl_only=½ö¶Ô¹ÜÀíµÄÊý¾Ý¿â
acl_login=µÇÂ¼µ½ MYSQL ÒÔ
acl_user_def=À´×ÔÄ£¿éÅäÖÃµÄÓÃ»§Ãû
acl_user=ÓÃ»§Ãû
acl_pass=¿ÚÁî
log_start=Æô¶¯MySQL·þÎñÆ÷
log_stop=Í£Ö¹MySQL·þÎñÆ÷
log_db_create=´´½¨Êý¾Ý¿â$1
log_db_delete=É¾³ýÊý¾Ý¿â$1
log_table_create=ÔÚÊý¾Ý¿â$2ÖÐ´´½¨±í$1
log_table_delete=´ÓÊý¾Ý¿â$2ÖÐÉ¾³ý$1
log_field_create=ÔÚÊý¾Ý¿â$3ÖÐÌí¼Ó×Ö¶Î$1 $4 µ½ $2
log_field_modify=ÔÚÊý¾Ý¿â$3ÖÐÐÞ¸Ä$2ÖÐµÄ×Ö¶Î$1 $4
log_field_delete=ÔÚÊý¾Ý¿â$3ÖÐ´Ó$2ÖÐÉ¾³ý×Ö¶Î$1
log_data_create=ÔÚÊý¾Ý¿â$3µÄ±í$2ÖÐÌí¼ÓÒ»ÐÐ
log_data_modify=ÔÚÊý¾Ý¿â$3µÄ±í$2ÖÐÐÞ¸Ä$1ÐÐ
log_data_delete=´ÓÊý¾Ý¿â$3µÄ±í$2ÖÐÉ¾³ý$1ÐÐ
log_exec=ÔÚÊý¾Ý¿â$1ÖÐÖ´ÐÐSQL
log_exec_l=ÔÚÊý¾Ý¿â$1ÖÐÖ´ÐÐSQLÃüÁî$2
log_user_create=ÎªÖ÷»ú$2,ÓÃ»§$1´´½¨È¨ÏÞ
log_user_delete=ÎªÖ÷»ú$2,ÓÃ»§$1É¾³ýÈ¨ÏÞ
log_user_modify=ÎªÖ÷»ú$2,ÓÃ»§$1ÐÞ¸ÄÈ¨ÏÞ
log_perm_create=ÎªÊý¾Ý¿â$3£¬Ö÷»ú$2£¬ÓÃ»§$1´´½¨È¨ÏÞ
log_perm_delete=ÎªÊý¾Ý¿â$3£¬Ö÷»ú$2£¬ÓÃ»§$1É¾³ýÈ¨ÏÞ
log_perm_modify=ÎªÊý¾Ý¿â$3£¬Ö÷»ú$2£¬ÓÃ»§$1ÐÞ¸ÄÈ¨ÏÞ
log_host_create=ÎªÖ÷»ú$2,Êý¾Ý¿â$3´´½¨È¨ÏÞ
log_host_delete=ÎªÖ÷»ú$2,Êý¾Ý¿â$3É¾³ýÈ¨ÏÞ
log_host_modify=ÎªÖ÷»ú$2,Êý¾Ý¿â$3ÐÞ¸ÄÈ¨ÏÞ
log_tpriv_create=ÎªÊý¾Ý¿â$3,±í$4´´½¨È¨ÏÞ
log_tpriv_delete=ÎªÊý¾Ý¿â$3,±í$4É¾³ýÈ¨ÏÞ
log_tpriv_modify=ÎªÊý¾Ý¿â$3,±í$4ÐÞ¸ÄÈ¨ÏÞ
log_tpriv_create_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4´´½¨È¨ÏÞ
log_tpriv_delete_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4É¾³ýÈ¨ÏÞ
log_tpriv_modify_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4ÐÞ¸ÄÈ¨ÏÞ
log_cpriv_create=Îª±í$4,×Ö¶Î$5´´½¨È¨ÏÞ
log_cpriv_delete=Îª±í$4,×Ö¶Î$5É¾³ýÈ¨ÏÞ
log_cpriv_modify=Îª±í$4,×Ö¶Î$5ÐÞ¸ÄÈ¨ÏÞ
log_cpriv_create_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4,×Ö¶Î$5´´½¨È¨ÏÞ
log_cpriv_delete_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4,×Ö¶Î$5É¾³ýÈ¨ÏÞ
log_cpriv_modify_l=ÎªÖ÷»ú$2,ÓÃ»§$1,Êý¾Ý¿â$3,±í$4,×Ö¶Î$5ÐÞ¸ÄÈ¨ÏÞ
log_anon=ÄäÃû
log_any=ÈÎºÎ
070701000383b6000081a40000000000000002000000013d1fe2db00001cbb000000200000000000000000000000000000001c00000003reloc/mysql/lang/zh_TW.Big5   index_title=MySQL ¸ê®Æ®w¦øªA¾¹
index_notrun=MySQL ¨S¦³¦b±zªº¦øªA¾¹¤W°õ¦æ - µLªk±µ¦¬¸ê®Æ®w¦Cªí.
index_start=±Ò°Ê MySQL ¦øªA¾¹
index_startmsg=«ö¤U¤U­±ªº«ö¶s¥H§Q¥Î©R¥O $1 ±Ò°Ê±z¨t²Î¤Wªº MySQL ¦øªA¾¹. °£«D MySQL ¸ê®Æ®w¤w¸g±Ò°Ê, §_«h³o­Ó Webmin ¼Ò²ÕµLªkºÞ²z¸ê®Æ®w.
index_nopass=Webmin »Ý­nª¾¹D±zªº MySQL ºÞ²zªÌ¦WºÙ»P±K½X¥H«KºÞ¥ß±zªº¸ê®Æ®w. ½Ð¦b¤U­±¿é¤J±zªººÞ²zªÌ¦WºÙ (³q±`¬O <tt>root</tt>) »P±K½X.
index_ltitle=µn¤J MySQL
index_login=¨Ï¥ÎªÌ¦WºÙ
index_pass=±K½X
index_clear=²M°£
index_stop=°±¤î MySQL ¦øªA¾¹
index_stopmsg=«ö¤U³o­Ó«ö¶s¥H°±¤î±z¦øªA¾¹¤Wªº MySQL ¸ê®Æ®w¦øªA¾¹. ³o±N¥i¥H¨¾¤î¥ô¦ó¨Ï¥ÎªÌ©ÎÀ³¥Îµ{¦¡¦s¨ú³o­Ó¸ê®Æ®w, ¥]§t³o­Ó Webmin ¼Ò²Õ.
index_dbs=MySQL ¸ê®Æ®w
index_add=«Ø¥ß¤@­Ó·sªº¸ê®Æ®w
index_global=¥þ°ì¿ï¶µ
index_return=¸ê®Æ®w¦Cªí
index_eadmin=¦b±zªº¨t²Î¤W§ä¤£¨ì MySQL ºÞ²zµ{¦¡ $1. ¥i¯à¬O¦]¬° MySQL ©|¥¼³Q¦w¸Ë©Î¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¬O¤£¥¿½Tªº.
index_esql=¦b±zªº¨t²Î¤W§ä¤£¨ì MySQL «È¤áºÝµ{¦¡ $1. ¥i¯à¬O¦]¬° MySQL ©|¥¼³Q¦w¸Ë©Î¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¬O¤£¥¿½Tªº.
index_ever=MySQL «È¤áºÝµ{¦¡ $1 ¦ü¥G¤£¬O¥¿½Tªºª©¥». Webmin ¥u¤ä´© MySQL ²Ä¤Tª©.

login_err=µn¤J¥¢±Ñ
login_ecannot=±z¤£³Q¤¹³\²ÕºA³o­Ó¸ê®Æ®wµn¤J
login_elogin=¿ò¥¢ªººÞ²zªÌµn¤J
login_epass=¿ù»~ªººÞ²zªÌ¦WºÙ©Î±K½X

stop_err=µLªk°±¤î¸ê®Æ®w
start_err=µLªk±Ò°Ê¸ê®Æ®w

dbase_title=½s¿è¸ê®Æ®w
dbase_tables=¸ê®Æªí
dbase_add=«Ø¥ß·s¸ê®Æªí
dbase_drop=¥á±ó¸ê®Æ®w
dbase_exec=°õ¦æ SQL ¬d¸ß
dbase_none=³o­Ó¸ê®Æ®w¨S¦³¸ê®Æªí.
dbase_return=¸ê®Æªí¦Cªí
dbase_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó¸ê®Æ®w

ddrop_err=µLªk¥á±ó¸ê®Æ®w
ddrop_title=¥á±ó¸ê®Æ®w
ddrop_rusure=±z½T©w­n¥á±ó¸ê®Æ®w $1 ¶Ü? $2 ­Ó¸ê®Æªí¥]§t $3 µ§¸ê®Æ³£·|³Q§R°£.
ddrop_mysql=¦]¬°³o¬OºÞ²z¸ê®Æ®w, ¥á±ó¥¦±N·|¨Ï MySQL ¦øªA¾¹µLªk¨Ï¥Î!
ddrop_ok=½T©w¥á±ó¸ê®Æ®w

table_title=½s¿è¸ê®Æªí
table_title2=«Ø¥ß¸ê®Æªí
table_header=¸ê®Æªí $1 ¦b¸ê®Æ®w $2
table_field=Äæ¦ì¦WºÙ
table_type=Ãþ§O
table_null=¬O§_¤¹³\ªÅ¥Õ­È?
table_key=Áä­È
table_default=¹w³]­È
table_extra=ÃB¥~ªº
table_pri=­º­nªº
table_mul=¯Á¤Þªº
table_none=µL
table_add=¼W¥[·sÄæ¦ì¨Ã¨Ï¥ÎÃþ§O
table_return=Äæ¦ì¦Cªí
table_data=ÀËµø¸ê®Æ
table_drop=¥á±ó¸ê®Æªí
table_name=¸ê®Æªí¦WºÙ
table_initial=ªì©l¤ÆÄæ¦ì
table_header2=·s¸ê®Æªí¿ï¶µ
table_err=«Ø¥ß¸ê®Æªí¥¢±Ñ
table_ename=¿ò¥¢©Î¿ù»~ªº¸ê®Æªí¦WºÙ
table_efield='$1' ¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì¦WºÙ
table_etype=¿ò¥¢Äæ¦ì $1 ªºÃþ§O
table_esize=¿ò¥¢Äæ¦ì $1 ªºÃþ§O¤j¤p
table_enone=¨S¦³¿é¤Jªì©l¤ÆªºÄæ¦ì

tdrop_err=¥á±ó¸ê®Æªí¥¢±Ñ
tdrop_title=¥á±ó¸ê®Æªí
tdrop_rusure=±z½T©w­n¥á±ó¦b¸ê®Æ®w $2 ¤¤ªº¸ê®Æªí $1 ¶Ü? $3 µ§¸ê®Æ±N·|³Q§R°£.
tdrop_ok=½T©w¥á±ó¸ê®Æªí

field_title1=¼W¥[Äæ¦ì
field_title2=ÅÜ§óÄæ¦ì
field_in=¦b¸ê®Æªí $1 »P¸ê®Æ®w $2
field_header=Äæ¦ì°Ñ¼Æ
field_name=Äæ¦ì¦WºÙ
field_type=¸ê®ÆÃþ§O
field_size=Ãþ§Oªø«×
field_enum=¦CÁ|¼Æ­È
field_dual=¼e«×»P¤p¼Æ¦ì¼Æ
field_opts=Ãþ§O¿ï¶µ
field_auto=¬O§_¦Û°Ê»¼¼W?
field_none=µL
field_unsigned=µL²Å¸¹
field_zerofill=¥Î 0 ¶ñº¡
field_ascii=¤£°Ï¤À¤j¤p¼g
field_binary=°Ï¤À¤j¤p¼g
field_null=¬O§_¤¹³\ªÅ¥Õ­È?
field_default=¹w³]¼Æ­È
field_err=µLªkÀx¦sÄæ¦ì
field_esize='$1' ¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì¤j¤p
field_eenum=¨S¦³¿é¤J¦CÁ|ªº¼Æ­È
field_efield='$1' ¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì¦WºÙ

view_title=¸ê®Æªí¸ê®Æ
view_pos=¦C $1 ¨ì $2 ¦@ $3
view_none=³o­Ó¸ê®Æªí¨S¦³¥]§t¸ê®Æ

users_title=¨Ï¥ÎªÌÅv­­
users_user=¨Ï¥ÎªÌ¦WºÙ
users_host=¥D¾÷
users_pass=½s½Xªº±K½X
users_perms=Åv­­
users_add=«Ø¥ß·s¨Ï¥ÎªÌ
users_priv3=¿ï¾Ü
users_priv4=´¡¤J
users_priv5=§ó·s
users_priv6=§R°£
users_priv7=«Ø¥ß
users_priv8=¥á±ó
users_priv9=­«Åª
users_priv10=Ãö³¬
users_priv11=µ{§Ç
users_priv12=ÀÉ®×
users_priv13=¤¹³\
users_priv14=°Ñ¦Ò
users_priv15=¯Á¤Þ
users_priv16=ÅÜ§ó
users_all=¥þ³¡
users_anon=°Î¦W¨Ï¥ÎªÌ
users_none=µL
users_return=¨Ï¥ÎªÌ¦Cªí

user_title1=«Ø¥ß¨Ï¥ÎªÌ
user_title2=½s¿è¨Ï¥ÎªÌ
user_header=MySQL ¨Ï¥ÎªÌ¸Ô²Ó¸ê®Æ
user_user=¨Ï¥ÎªÌ¦WºÙ
user_all=°Î¦W¨Ï¥ÎªÌ
user_pass=±K½X
user_leave=¤£­n§ïÅÜ
user_none=µL
user_any=¥ô¦ó
user_set=³]©w¦¨...
user_host=¥D¾÷
user_perms=Åv­­
user_priv3=¿ï¾Ü¸ê®Æªí¸ê®Æ
user_priv4=´¡¤J¸ê®Æªí¸ê®Æ
user_priv5=§ó·s¸ê®Æªí¸ê®Æ
user_priv6=§R°£¸ê®Æªí¸ê®Æ
user_priv7=«Ø¥ß¸ê®Æªí
user_priv8=¥á±ó¸ê®Æªí
user_priv9=­«·sÅª¨ú±ÂÅv
user_priv10=Ãö³¬¸ê®Æ®w
user_priv11=ºÞ²zµ{§Ç
user_priv12=ÀÉ®×¾Þ§@
user_priv13=¤¹³\¯SÅv
user_priv14=°Ñ¦Ò¾Þ§@
user_priv15=ºÞ²z¯Á¤Þ
user_priv16=ÅÜ§ó¸ê®Æªí
user_err=µLªkÀx¦s¨Ï¥ÎªÌ
user_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ
user_ehost=¿ò¥¢©Î¿ù»~ªº¤¹³\¥D¾÷

dbs_title=¸ê®Æ®wÅv­­
dbs_db=¸ê®Æ®w
dbs_user=¨Ï¥ÎªÌ¦WºÙ
dbs_host=¥D¾÷
dbs_perms=Åv­­
dbs_anon=°Î¦W¨Ï¥ÎªÌ
dbs_any=¥þ³¡
dbs_empty=¨S¦³©w¸q¸ê®Æ®wÅv­­.
dbs_hosts=±q¥D¾÷Åv­­
dbs_add=«Ø¥ß·s¸ê®Æ®wÅv­­
dbs_priv3=¿ï¾Ü
dbs_priv4=´¡¤J
dbs_priv5=§ó·s
dbs_priv6=§R°£
dbs_priv7=«Ø¥ß
dbs_priv8=¥á±ó
dbs_priv9=¤¹³\
dbs_priv10=°Ñ¦Ò
dbs_priv11=¯Á¤Þ
dbs_priv12=ÅÜ§ó
dbs_all=¥þ³¡
dbs_none=µL
dbs_return=¸ê®Æ®wÅv­­

db_title1=«Ø¥ß¸ê®Æ®wÅv­­
db_title2=½s¿è¸ê®Æ®wÅv­­
db_header=¸ê®Æ®wÅv­­¿ï¶µ
db_db=¸ê®Æ®w
db_user=¨Ï¥ÎªÌ¦WºÙ
db_anon=°Î¦W¨Ï¥ÎªÌ
db_host=¥D¾÷
db_hosts=±q¥D¾÷Åv­­
db_any=¥ô¦ó
db_perms=Åv­­
db_priv3=¿ï¾Ü¸ê®Æªí¸ê®Æ
db_priv4=´¡¤J¸ê®Æªí¸ê®Æ
db_priv5=§ó·s¸ê®Æªí¸ê®Æ
db_priv6=§R°£¸ê®Æªí¸ê®Æ
db_priv7=«Ø¥ß¸ê®Æªí
db_priv8=¥á±ó¸ê®Æªí
db_priv9=­«·sÅª¨ú±ÂÅv
db_priv10=Ãö³¬¸ê®Æ®w
db_priv11=ºÞ²zµ{§Ç
db_priv12=ÀÉ®×¾Þ§@
db_priv13=¤¹³\¯SÅv
db_priv14=°Ñ¦Ò¾Þ§@
db_priv15=ºÞ²z¯Á¤Þ
db_priv16=ÅÜ§ó¸ê®Æªí
db_err=µLªkÀx¦s¸ê®Æ®wÅv­­
db_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ
db_ehost=¿ò¥¢©Î¿ù»~ªº¥D¾÷¦WºÙ
db_edb=¿ò¥¢©Î¿ù»~ªº¸ê®Æ®w¦WºÙ

hosts_title=¥D¾÷Åv­­
hosts_db=¸ê®Æ®w
hosts_host=¥D¾÷
hosts_perms=Åv­­
hosts_any=¥ô¦ó
hosts_all=¥þ³¡
hosts_none=µL
hosts_add=«Ø¥ß¥D¾÷Åv­­
hosts_empty=¨S¦³©w¸q¥D¾÷Åv­­

host_title1=«Ø¥ß¥D¾÷Åv­­
host_title2=½s¿è¥D¾÷Åv­­
host_header=¥D¾÷Åv­­¿ï¶µ
host_db=¸ê®Æ®w
host_any=¥ô¦ó
host_host=¥D¾÷
host_perms=Åv­­

newdb_title=«Ø¥ß¸ê®Æ®w
newdb_header=·s¸ê®Æ®w¿ï¶µ
newdb_db=¸ê®Æ®w¦WºÙ
newdb_table=ªì©l¤Æ¸ê®Æªí
newdb_none=µL
newdb_struct=ªì©l¤Æ¸ê®Æªíµ²ºc
newdb_err=µLªk«Ø¥ß¸ê®Æ®w
newdb_edb=¿ò¥¢©Î¿ù»~ªº¸ê®Æ®w¦WºÙ
newdb_ecannot=±z¤£³Q¤¹³\«Ø¥ß¸ê®Æ®w

exec_title=°õ¦æ SQL ¬d¸ß
exec_header=¿é¤J SQL «ü¥O¥H°õ¦æ¦b¸ê®Æ®w $1 ¤W...
exec_exec=°õ¦æ
exec_err=µLªk°õ¦æ SQL ¬d¸ß
exec_out=±q SQL «ü¥O $1 ªº¿é¥X...
exec_none=¨S¦³¸ê®Æ³Q¶Ç¦^

tprivs_title=¸ê®ÆªíÅv­­
tprivs_table=¸ê®Æªí
tprivs_db=¸ê®Æ®w
tprivs_host=¥D¾÷
tprivs_user=¨Ï¥ÎªÌ¦WºÙ
tprivs_privs1=¸ê®ÆªíÅv­­
tprivs_privs2=Äæ¦ìÅv­­
tprivs_all=¥þ³¡
tprivs_anon=°Î¦W¨Ï¥ÎªÌ
tprivs_add=¼W¥[·sªºÅv­­¨ì¸ê®Æ®w:
tprivs_norows=¨S¦³©w¸q¸ê®ÆªíÅv­­
tprivs_return=¸ê®ÆªíÅv­­
tprivs_none=µL

tpriv_title1=«Ø¥ß¸ê®ÆªíÅv­­
tpriv_title2=½s¿è¸ê®ÆªíÅv­­
tpriv_header=¸ê®ÆªíÅv­­¿ï¶µ
tpriv_db=¸ê®Æ®w
tpriv_table=¸ê®Æªí
tpriv_user=¨Ï¥ÎªÌ¦WºÙ
tpriv_host=¥D¾÷
tpriv_perms1=¸ê®ÆªíÅv­­
tpriv_perms2=Äæ¦ìÅv­­
tpriv_any=¥ô¦ó
tpriv_anon=°Î¦W¨Ï¥ÎªÌ
tpriv_err=µLªkÀx¦s¸ê®ÆªíÅv­­
tpriv_etable=¨S¦³¿ï¾Ü¸ê®Æªí
tpriv_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ¦WºÙ
tpriv_ehost=¿ò¥¢©Î¿ù»~ªº¥D¾÷

cprivs_title=Äæ¦ìÅv­­
cprivs_field=Äæ¦ì
cprivs_table=¸ê®Æªí
cprivs_db=¸ê®Æ®w
cprivs_host=¥D¾÷
cprivs_user=¨Ï¥ÎªÌ¦WºÙ
cprivs_privs=Åv­­
cprivs_all=¥þ³¡
cprivs_anon=°Î¦W¨Ï¥ÎªÌ
cprivs_add=¼W¥[·sªºÅv­­¨ì¸ê®Æ®w»P¸ê®Æªí:
cprivs_norows=¨S¦³©w¸qÄæ¦ìÅv­­
cprivs_return=Äæ¦ìÅv­­
cprivs_none=µL

cpriv_title1=«Ø¥ßÄæ¦ìÅv­­
cpriv_title2=½s¿èÄæ¦ìÅv­­
cpriv_header=Äæ¦ìÅv­­¿ï¶µ
cpriv_db=¸ê®Æ®w
cpriv_table=¸ê®Æªí
cpriv_field=Äæ¦ì
cpriv_user=¨Ï¥ÎªÌ¦WºÙ
cpriv_host=¥D¾÷
cpriv_perms=Åv­­
cpriv_any=¥ô¦ó
cpriv_anon=°Î¦W¨Ï¥ÎªÌ
cpriv_err=µLªkÀx¦sÄæ¦ìÅv­­
cpriv_etable=¨S¦³¿ï¾ÜÄæ¦ì
cpriv_euser=¿ò¥¢©Î¿ù»~ªº¨Ï¥ÎªÌ¦WºÙ
cpriv_ehost=¿ò¥¢©Î¿ù»~ªº¥D¾÷

esql=SQL $1 ¥¢±Ñ: $2
perms_ecannot=±z¤£³Q¤¹³\½s¿èÅv­­

acl_dbs=³o­Ó¨Ï¥ÎªÌ¥i¥HºÞ²zªº¸ê®Æ®w
acl_create=¬O§_¥i¥H«Ø¥ß·s¸ê®Æ®w?
acl_delete=¬O§_¥i¥H¥á±ó¸ê®Æ®w?
acl_stop=¬O§_¥i¥H°±¤î»P±Ò°Ê MySQL ¦øªA¾¹?
acl_perms=¬O§_¥i¥H½s¿èÅv­­?

 07070100032869000081e40000000000000002000000013d1fe2dc00000725000000200000000000000000000000000000001c00000003reloc/mysql/list_cprivs.cgi   #!/usr/local/bin/perl
# list_cprivs.cgi
# Display a list of column priviliges

require './mysql-lib.pl';
$access{'perms'} || &error($text{'perms_ecannot'});
&header($text{'cprivs_title'}, "", "cprivs");
print "<hr>\n";

$d = &execute_sql($master_db, "select * from columns_priv order by table_name,column_name");
if (@{$d->{'data'}}) {
	&show_button();
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'cprivs_field'}</b></td>\n",
	      "<td><b>$text{'cprivs_table'}</b></td>\n",
	      "<td><b>$text{'cprivs_db'}</b></td>\n",
	      "<td><b>$text{'cprivs_host'}</b></td>\n",
	      "<td><b>$text{'cprivs_user'}</b></td>\n",
	      "<td><b>$text{'cprivs_privs'}</b></td> </tr>\n";
	$i = -1;
	foreach $u (@{$d->{'data'}}) {
		$i++;
		next if ($access{'perms'} == 2 && !&can_edit_db($u->[1]));
		print "<tr $cb>\n";
		print "<td><a href='edit_cpriv.cgi?idx=$i'>",
			&html_escape($u->[4]),"</a></td>\n";
		print "<td>",&html_escape($u->[3]),"</td>\n";
		print "<td>",&html_escape($u->[1]),"</td>\n";
		print "<td>", $u->[0] eq '' || $u->[0] eq '%' ?
		      $text{'cprivs_all'} : &html_escape($u->[0]),"</td>\n";
		print "<td>",$u->[2] ? &html_escape($u->[2])
				     : $text{'cprivs_anon'},"</td>\n";
		print "<td>",!$u->[6] ? $text{'cprivs_none'} :
		     join("&nbsp;| ",split(/[, ]+/, $u->[6])),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<p><b>$text{'cprivs_norows'}</b><p>\n";
	}
&show_button();

print "<hr>\n";
&footer("", $text{'index_return'});

sub show_button
{
print "<form action=edit_cpriv.cgi>\n";
print "<input type=submit value='$text{'cprivs_add'}'>\n";
print "<select name=table>\n";
foreach $d (&list_databases()) {
	if ($access{'perms'} == 1 || &can_edit_db($d)) {
		foreach $t (&list_tables($d)) {
			print "<option>$d.$t\n";
			}
		}
	}
print "</select></form>\n";
}

   0707010003286a000081e40000000000000002000000013d1fe2db0000060b000000200000000000000000000000000000001900000003reloc/mysql/list_dbs.cgi  #!/usr/local/bin/perl
# list_dbs.cgi
# Display database-level permissions

require './mysql-lib.pl';
$access{'perms'} || &error($text{'perms_ecannot'});
&header($text{'dbs_title'}, "", "dbs");
print "<hr>\n";

$d = &execute_sql($master_db, "select * from db order by db");
if (@{$d->{'data'}}) {
	print "<a href='edit_db.cgi?new=1'>$text{'dbs_add'}</a> <br>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'dbs_db'}</b></td>\n",
	      "<td><b>$text{'dbs_user'}</b></td>\n",
	      "<td><b>$text{'dbs_host'}</b></td>\n",
	      "<td><b>$text{'dbs_perms'}</b></td> </tr>\n";
	}
else {
	print "<p> <b>$text{'dbs_empty'}</b> <p>\n";
	}
$i = -1;
foreach $u (@{$d->{'data'}}) {
	$i++;
	next if ($access{'perms'} == 2 && !&can_edit_db($u->[1]));
	print "<tr $cb>\n";
	print "<td><a href='edit_db.cgi?idx=$i'>",
		$u->[1] eq '%' || $u->[1] eq '' ? $text{'dbs_any'}
					: &html_escape($u->[1]),"</a></td>\n";
	print "<td>", $u->[2] eq '' ? $text{'dbs_anon'}
				    : &html_escape($u->[2]),"</td>\n";
	print "<td>",$u->[0] eq '%' ? $text{'dbs_any'} :
		     $u->[0] eq '' ? $text{'dbs_hosts'}
				   : &html_escape($u->[0]),"</td>\n";
	local @priv;
	for($j=3; $j<=12; $j++) {
		push(@priv, $text{"dbs_priv$j"}) if ($u->[$j] eq 'Y');
		}
	printf "<td>%s</td>\n",
		scalar(@priv) == 10 ? $text{'dbs_all'} :
		!@priv ? $text{'dbs_none'} : join("&nbsp;| ", @priv);
	print "</tr>\n";
	}
print "</table>\n" if (@{$d->{'data'}});
print "<a href='edit_db.cgi?new=1'>$text{'dbs_add'}</a> <p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010003286b000081e40000000000000002000000013d1fe2dc00000581000000200000000000000000000000000000001b00000003reloc/mysql/list_hosts.cgi    #!/usr/local/bin/perl
# list_hosts.cgi
# Display host-level permissions

require './mysql-lib.pl';
$access{'perms'} || &error($text{'perms_ecannot'});
&header($text{'hosts_title'}, "");
print "<hr>\n";

$d = &execute_sql($master_db, "select * from host order by host");
if (@{$d->{'data'}}) {
	print "<a href='edit_host.cgi?new=1'>$text{'hosts_add'}</a> <br>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'hosts_db'}</b></td>\n",
	      "<td><b>$text{'hosts_host'}</b></td>\n",
	      "<td><b>$text{'hosts_perms'}</b></td> </tr>\n";
	}
else {
	print "<p> <b>$text{'hosts_empty'}</b> <p>\n";
	}
$i = -1;
foreach $u (@{$d->{'data'}}) {
	$i++;
	next if ($access{'perms'} == 2 && !&can_edit_db($u->[1]));
	print "<tr $cb>\n";
	print "<td><a href='edit_host.cgi?idx=$i'>",
		$u->[1] eq '%' || $u->[1] eq '' ? $text{'hosts_any'}
			: &html_escape($u->[1]), "</a></td>\n";
	print "<td>",$u->[0] eq '%' || $u->[0] eq '' ? $text{'hosts_any'}
				     	: &html_escape($u->[0]),"</td>\n";
	local @priv;
	for($j=2; $j<=11; $j++) {
		push(@priv, $text{"hosts_priv$j"}) if ($u->[$j] eq 'Y');
		}
	printf "<td>%s</td>\n",
		scalar(@priv) == 10 ? $text{'hosts_all'} :
		!@priv ? $text{'hosts_none'} : join("&nbsp;| ", @priv);
	print "</tr>\n";
	}
print "</table>\n" if (@{$d->{'data'}});
print "<a href='edit_host.cgi?new=1'>$text{'hosts_add'}</a> <p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003286c000081e40000000000000002000000013d1fe2db00000724000000200000000000000000000000000000001c00000003reloc/mysql/list_tprivs.cgi   #!/usr/local/bin/perl
# list_tprivs.cgi
# Display a list of table priviliges

require './mysql-lib.pl';
$access{'perms'} || &error($text{'perms_ecannot'});
&header($text{'tprivs_title'}, "", "tprivs");
print "<hr>\n";

$d = &execute_sql($master_db, "select * from tables_priv order by table_name");
if (@{$d->{'data'}}) {
	&show_button();
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'tprivs_table'}</b></td>\n",
	      "<td><b>$text{'tprivs_db'}</b></td>\n",
	      "<td><b>$text{'tprivs_host'}</b></td>\n",
	      "<td><b>$text{'tprivs_user'}</b></td>\n",
	      "<td><b>$text{'tprivs_privs1'}</b></td>\n",
	      "<td><b>$text{'tprivs_privs2'}</b></td> </tr>\n";
	$i = -1;
	foreach $u (@{$d->{'data'}}) {
		$i++;
		next if ($access{'perms'} == 2 && !&can_edit_db($u->[1]));
		print "<tr $cb>\n";
		print "<td><a href='edit_tpriv.cgi?idx=$i'>",
			&html_escape($u->[3]),"</a></td>\n";
		print "<td>",&html_escape($u->[1]),"</td>\n";
		print "<td>", $u->[0] eq '' || $u->[0] eq '%' ?
		      $text{'tprivs_all'} : &html_escape($u->[0]),"</td>\n";
		print "<td>",$u->[2] ? &html_escape($u->[2])
				     : $text{'tprivs_anon'},"</td>\n";
		print "<td>",!$u->[6] ? $text{'tprivs_none'} :
		     join("&nbsp;| ",split(/[, ]+/, $u->[6])),"</td>\n";
		print "<td>",!$u->[7] ? $text{'tprivs_none'} :
		     join("&nbsp;| ",split(/[, ]+/, $u->[7])),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<p><b>$text{'tprivs_norows'}</b><p>\n";
	}
&show_button();

print "<hr>\n";
&footer("", $text{'index_return'});

sub show_button
{
print "<form action=edit_tpriv.cgi>\n";
print "<input type=submit value='$text{'tprivs_add'}'>\n";
print "<select name=db>\n";
foreach $t (&list_databases()) {
	print "<option>$t\n" if ($access{'perms'} == 1 ||
				 &can_edit_db($t));
	}
print "</select></form>\n";
}

0707010003286d000081e40000000000000002000000013d1fe2dc000008bd000000200000000000000000000000000000001b00000003reloc/mysql/list_users.cgi    #!/usr/local/bin/perl
# list_users.cgi
# Display a list of all database users

require './mysql-lib.pl';
$access{'perms'} == 1 || &error($text{'perms_ecannot'});
&header($text{'users_title'}, "", "users");
print "<hr>\n";

print "<a href='edit_user.cgi?new=1'>$text{'users_add'}</a> <br>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'users_user'}</b></td>\n",
      "<td><b>$text{'users_host'}</b></td>\n",
      "<td><b>$text{'users_pass'}</b></td>\n",
      "<td><b>$text{'users_perms'}</b></td> </tr>\n";
$d = &execute_sql($master_db, "select * from user order by user");
$i = 0;
foreach $u (@{$d->{'data'}}) {
	print "<tr $cb>\n";
	print "<td><a href='edit_user.cgi?idx=$i'>",
		$u->[1] ? &html_escape($u->[1]) : $text{'users_anon'},
		"</a></td>\n";
	print "<td>", $u->[0] eq '' || $u->[0] eq '%' ?
		      $text{'users_all'} : &html_escape($u->[0]),"</td>\n";
	print "<td>",$u->[2] ? &html_escape($u->[2]) : "<br>","</td>\n";
	local @priv;
	for($j=3; $j<=16; $j++) {
		push(@priv, $text{"users_priv$j"}) if ($u->[$j] eq 'Y');
		}
	printf "<td>%s</td>\n",
		scalar(@priv) == 14 ? $text{'users_all'} :
		!@priv ? $text{'users_none'} : join("&nbsp;| ", @priv);
	print "</tr>\n";
	$i++;
	}
print "</table>\n";
print "<a href='edit_user.cgi?new=1'>$text{'users_add'}</a> <p>\n";

print "<hr>\n";
print "<form action=save_sync.cgi>\n";
print "$text{'users_sync'}<br>\n";
print "<table><tr><td valign=top>\n";
printf "<input type=checkbox name=sync_create value=1 %s> %s<br>\n",
	$config{'sync_create'} ? "checked" : "", $text{'users_sync_create'};
printf "<input type=checkbox name=sync_modify value=1 %s> %s<br>\n",
	$config{'sync_modify'} ? "checked" : "", $text{'users_sync_modify'};
printf "<input type=checkbox name=sync_delete value=1 %s> %s<br>\n",
	$config{'sync_delete'} ? "checked" : "", $text{'users_sync_delete'};

map { $priv{$_}++ } split(/\s+/, $config{'sync_privs'});
print "</td><td><select name=sync_privs multiple size=5>\n";
for($i=3; $i<=16; $i++) {
	printf "<option value=%d %s>%s\n",
		$i, $priv{$i} ? 'selected' : '',
		$text{"user_priv$i"};
	}
print "</select></td> </tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003286e000081a40000000000000002000000013d1fe2dc000008b3000000200000000000000000000000000000001a00000003reloc/mysql/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'mysql-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'stop') {
	return $text{'log_stop'};
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($type eq 'db') {
	return &text("log_${type}_${action}", "<tt>$object</tt>");
	}
elsif ($type eq 'table') {
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'db'}</tt>");
	}
elsif ($type eq 'field') {
	$p->{'size'} =~ s/\s+$//;
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'table'}</tt>", "<tt>$p->{'db'}</tt>",
		     "<tt>$p->{'type'}$p->{'size'}</tt>");
	}
elsif ($type eq 'data') {
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'table'}</tt>", "<tt>$p->{'db'}</tt>");
	}
elsif ($action eq 'exec') {
	return &text($long ? 'log_exec_l' : 'log_exec', "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'cmd'})."</tt>");
	}
elsif ($type eq 'user' || $type eq 'perm' || $type eq 'host' ||
       $type eq 'tpriv' || $type eq 'cpriv') {
	$p->{'user'} = $text{'log_anon'}
		if ($p->{'user'} eq '-' || $p->{'user'} eq '%');
	$p->{'db'} = $text{'log_any'}
		if ($p->{'db'} eq '-' || $p->{'db'} eq '%');
	$p->{'host'} = $text{'log_any'}
		if ($p->{'host'} eq '-' || $p->{'host'} eq '%');
	local $t = "log_${type}_${action}";
	if ($long && $text{$t.'_l'}) { $t .= '_l'; }
	return &text($t, "<tt>$p->{'user'}</tt>",
		     "<tt>$p->{'host'}</tt>", "<tt>$p->{'db'}</tt>",
		     "<tt>$p->{'table'}</tt>", "<tt>$p->{'field'}</tt>");
	}
elsif ($action eq 'backup') {
	return &text($long ? 'log_backup_l' : 'log_backup', "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'file'})."</tt>");
	}
elsif ($action eq 'execfile') {
	return &text($p->{'mode'} ? 'log_execupload' : 'log_execfile',
		     "<tt>".&html_escape($p->{'file'})."</tt>");
	}
elsif ($action eq 'import') {
	return &text($p->{'mode'} ? 'log_importupload' : 'log_importfile',
		     "<tt>".&html_escape($p->{'file'})."</tt>");
	}
else {
	return undef;
	}
}

 0707010003286f000081e40000000000000002000000013d1fe2db0000020c000000200000000000000000000000000000001600000003reloc/mysql/login.cgi #!/usr/local/bin/perl
# login.cgi
# Save MySQL login and password

require './mysql-lib.pl';
&ReadParse();
&error_setup($text{'login_err'});
$access{'noconfig'} && &error($text{'login_ecannot'});
$in{'login'} || &error($text{'login_elogin'});
$config{'login'} = $in{'login'};
$config{'pass'} = $in{'pass'};
$authstr = &make_authstr();
if (&is_mysql_running() == -1) {
	&error($text{'login_epass'});
	}
&write_file("$module_config_directory/config", \%config);
chmod(0700, "$module_config_directory/config");
&redirect("");

07070100032870000081a40000000000000002000000013d1fe2ea00000203000000200000000000000000000000000000001800000003reloc/mysql/module.info   risk=low medium high
desc_ko_KR.euc=MySQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
desc_zh_TW.Big5=MySQL ¸ê®Æ®w¦øªA¾¹
desc_pl=Serwer baz danych MySQL
desc_de=MySQL Datenbank Server
name=MySQL
desc_pt=Servidor de base de dados MySQL
desc_zh_CN=MySQL Êý¾Ý¿â·þÎñÆ÷
category=servers
desc_tr=MySQL Veritabaný Sunucusu
desc=MySQL Database Server
desc_sv=MySQL-databasserver
desc_es=Servidor de Base de Datos MySQL
desc_ja_JP.euc=MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
depends=0.990
version=0.990
desc_hu=MySQL Adatbázis szerver
desc_ca=Servidor de BD MySQL
 07070100032871000081a40000000000000002000000013d1fe2db00001d64000000200000000000000000000000000000001900000003reloc/mysql/mysql-lib.pl  # mysql-lib.pl
# Common MySQL functions

do '../web-lib.pl';
&init_config();
if ($config{'mysql_libs'}) {
	$ENV{$gconfig{'ld_env'}} .= ':' if ($ENV{$gconfig{'ld_env'}});
	$ENV{$gconfig{'ld_env'}} .= $config{'mysql_libs'};
	}
if ($config{'mysql'} =~ /^(\S+)\/bin\/mysql$/ && $1 ne '' && $1 ne '/usr') {
	$ENV{$gconfig{'ld_env'}} .= ':' if ($ENV{$gconfig{'ld_env'}});
	$ENV{$gconfig{'ld_env'}} .= "$1/lib";
	}
%access = &get_module_acl();
$authstr = &make_authstr();
$master_db = 'mysql';

@type_list = ('tinyint', 'smallint', 'mediumint', 'int', 'bigint',
	    'float', 'double', 'decimal', 'date', 'datetime', 'timestamp',
	    'time', 'year', 'char', 'varchar', 'tinyblob', 'tinytext',
	    'blob', 'text', 'mediumblob', 'mediumtext', 'longblob', 'longtext',
	    'enum', 'set');

if (!$config{'nodbi'}) {
	# Check if we have DBI::mysql
	eval <<EOF;
use DBI;
\$driver_handle = DBI->install_driver("mysql");
EOF
}

sub make_authstr
{
if ($access{'user'}) {
	return ($config{'sock'} ? " -S $config{'sock'}" : "").
	       ($config{'host'} ? " -h $config{'host'}" : "").
	       " -u '$access{'user'}'".
	       ($access{'pass'} ? " '-p$access{'pass'}'" : "");
	}
else {
	local ($l, $p);
	($l = $config{'login'}) =~ s/['\\]/\\$1/g;
	($p = $config{'pass'}) =~ s/(['\\])/\\$1/g;
	return ($config{'sock'} ? " -S $config{'sock'}" : "").
	       ($config{'host'} ? " -h $config{'host'}" : "").
	       ($config{'login'} ? " -u '$l'" : "").
	       ($config{'pass'} ? " '-p$p'" : "");
	}
}

# is_mysql_running()
# Returns 1 if mysql is running, 0 if not, or -1 if running but
# inaccessible without a password
sub is_mysql_running
{
local $out = `$config{'mysqladmin'} $authstr status 2>&1`;
return $out =~ /uptime/i ? 1 :
       $out =~ /denied|password/i ? -1 : 0;
}

# list_databases()
# Returns a list of all databases
sub list_databases
{
open(DBS, "$config{'mysqlshow'} $authstr |");
local $t = &parse_mysql_table(DBS);
close(DBS);
return map { $_->[0] } @{$t->{'data'}};
}

# list_tables(database)
# Returns a list of tables in some database
sub list_tables
{
if ($_[0] =~ /_/) {
	open(DBS, "$config{'mysqlshow'} $authstr $_[0] % |");
	}
else {
	open(DBS, "$config{'mysqlshow'} $authstr $_[0] |");
	}
local $t = &parse_mysql_table(DBS);
close(DBS);
return map { $_->[0] } @{$t->{'data'}};
}

# table_structure(database, table)
# Returns a list of hashes detailing the structure of a table
sub table_structure
{
local $s = &execute_sql($_[0], "desc $_[1]");
local (@rv, $r);
foreach $r (@{$s->{'data'}}) {
	push(@rv, { 'field' => $r->[0],
		    'type' => $r->[1],
		    'null' => $r->[2],
		    'key' => $r->[3],
		    'default' => $r->[4],
		    'extra' => $r->[5] });
	}
return @rv;
}

# execute_sql(database, command)
# Executes some SQL and returns the results
sub execute_sql
{
if ($driver_handle) {
	# Use the DBI interface
	local $cstr = "database=$_[0]";
	$cstr .= ";host=$config{'host'}" if ($config{'host'});
	$cstr .= ";mysql_socket=$config{'sock'}" if ($config{'sock'});
	local ($user, $pass);
	if ($access{'user'}) {
		$user = $access{'user'};
		$pass = $access{'pass'};
		}
	else {
		$user = $config{'login'};
		$pass = $config{'pass'};
		}
	local $dbh = $driver_handle->connect($cstr, $user, $pass);
	$dbh || &error("DBI connect failed : ",$driver_handle->errstr);
	local $cmd = $dbh->prepare($_[1]);
	if (!$cmd->execute()) {
		&error(&text('esql', "<tt>".&html_escape($_[1])."</tt>",
			     "<tt>".&html_escape($dbh->errstr)."</tt>"));
		}
	local (@data, @row);
	local @titles = @{$cmd->{'NAME'}};
	while(@row = $cmd->fetchrow()) {
		push(@data, [ @row ]);
		}
	$cmd->finish();
	$dbh->disconnect();
	return { 'titles' => \@titles,
		 'data' => \@data };
	}
else {
	# Use the mysql command program
	local $temp = &tempname();
	open(TEMP, ">$temp");
	print TEMP $_[1],"\n";
	close(TEMP);
	open(DBS, "$config{'mysql'} $authstr -E -t $_[0] <$temp 2>&1 |");
	local $t = &parse_mysql_vertical(DBS);
	close(DBS);
	unlink($temp);
	if ($t =~ /^ERROR[^:]*:(.*)/) {
		&error(&text('esql', "<tt>".&html_escape($_[1])."</tt>",
			    "<tt>".&html_escape($1)."</tt>"));
		}
	return $t;
	}
}

# execute_sql_logged(database, command)
sub execute_sql_logged
{
&additional_log('sql', $_[0], $_[1]);
return &execute_sql(@_);
}

# parse_mysql_table(handle)
# Given a filehandle, parses a text table in the format mysql uses
sub parse_mysql_table
{
local $fh = $_[0];
local ($line, $i, @edge);
do {
	# skip to table top
	$line = <$fh>;
	return $line if ($line =~ /^ERROR/);
	} while($line && $line !~ /^\+/);
for($i=0; $i<length($line); $i++) {
	push(@edge, $i) if (substr($line, $i, 1) eq '+');
	}
$line = <$fh>;		# skip first row of -'s
local @titles = &parse_mysql_line($line, \@edge);
$line = <$fh>;		# skip next row of -'s
local @data;
while(1) {
	$line = <$fh>;
	last if (!$line || $line !~ /^\|/);
	while($line !~ /\|\s+$/) {
		# Line has a return in it!
		$line .= <$fh>;
		}
	push(@data, [ &parse_mysql_line($line, \@edge) ]);
	}
return { 'titles' => \@titles,
	 'data' => \@data };
}

# parse_mysql_line(line, &edges)
sub parse_mysql_line
{
local @rv;
for($i=0; $i<@{$_[1]}-1; $i++) {
	local $w = substr($_[0], $_[1]->[$i]+1,
			  $_[1]->[$i+1] - $_[1]->[$i] - 2);
	$w =~ s/^\s//;
	$w =~ s/\s+$//;
	$w =~ s/\\/\\\\/g;
	$w =~ s/\n/\\n/g;
	push(@rv, $w);
	}
return @rv;
}

# parse_mysql_vertical(handle)
# Parses mysql output in the -E format
sub parse_mysql_vertical
{
local (@data, @titles, $row = -1, $col, %hascol);
local $fh = $_[0];
local $line = <$fh>;
return $line if ($line =~ /^ERROR/ || !$line);
while($line) {
	$line =~ s/\r|\n//g;
	if ($line =~ /^\*\*\*/) {
		# A row header
		$row++;
		$col = -1;
		$data[$row] = [ ];
		}
	elsif ($line =~ /^\s*([^:\s]+): (.*)/ && ($row == 0 || $hascol{$1})) {
		# A new column
		$col++;
		$titles[$col] = $1;
		$data[$row]->[$col] = $2;
		$hascol{$1}++;
		}
	else {
		# Continuing the last column
		$data[$row]->[$col] .= "\n".$line;
		}
	$line = <$fh>;
	}
return { 'titles' => \@titles,
	 'data' => \@data };
}

sub can_edit_db
{
local $d;
return 1 if ($access{'dbs'} eq '*');
foreach $d (split(/\s+/, $access{'dbs'})) {
	return 1 if ($d eq $_[0]);
	}
return 0;
}

# split_table(&titles, &links, &col1, &col2, ...)
sub split_table
{
local $mid = int((@{$_[1]}+1) / 2);
local ($i, $j);
print "<table width=100%><tr>\n";
foreach $s ([0, $mid-1], [$mid, @{$_[1]}-1]) {
	print "<td width=50% valign=top><table border width=100%>\n";
	if ($s->[0] <= $s->[1]) {
		print "<tr $tb> ";
		foreach $t (@{$_[0]}) {
			print "<td><b>$t</b></td> ";
			}
		print "</tr>\n";
		}
	for($i=$s->[0]; $i<=$s->[1]; $i++) {
		print "<tr $cb>\n";
		print "<td><a href='$_[1]->[$i]'>$_[2]->[$i]</a></td>\n";
		for($j=3; $j<@_; $j++) {
			print "<td>$_[$j]->[$i]</td>\n";
			}
		print "</tr>\n";
		}
	print "</table></td>\n";
	}
print "</tr></table>\n";
}

# select_db(db)
sub select_db
{
local $rv;
local @dbs = &list_databases();
local $ind = &indexof($_[0],@dbs) >= 0;
$rv .= sprintf "<input type=radio name=db_def value=1 %s> %s\n",
	$_[0] eq '%' || $_[0] eq '' ? 'checked' : '', $text{'host_any'};
$rv .= sprintf "<input type=radio name=db_def value=2 %s> %s\n",
	$ind ? 'checked' : '', $text{'host_sel'};
$rv .= "<select name=dbs>\n";
foreach $d (@dbs) {
	$rv .= sprintf "<option %s>%s\n", $_[0] eq $d ? 'selected' : '', $d;
	}
$rv .= "</select>\n";
$rv .= sprintf "<input type=radio name=db_def value=0 %s>\n",
	$_[0] eq '%' || $_[0] eq '' || $ind ? '' : 'checked';
$rv .= sprintf "<input name=db size=10 value='%s'>\n",
	$_[0] eq '%' || $_[0] eq '' || $ind ? '' : $_[0];
return $rv;
}


1;

07070100032872000081e40000000000000002000000013d1fe2dc000004cd000000200000000000000000000000000000001600000003reloc/mysql/newdb.cgi #!/usr/local/bin/perl
# newdb.cgi
# Create a new database with one optional table

require './mysql-lib.pl';
&ReadParse();
$access{'create'} || &error($text{'newdb_ecannot'});
&error_setup($text{'newdb_err'});

$in{'db'} =~ /^[A-z0-9\.\-]+$/ || &error($text{'newdb_edb'});
if (!$in{'table_def'}) {
	$in{'table'} =~ /^\S+$/ || &error($text{'table_ename'});
	for($i=0; defined($in{"field_$i"}); $i++) {
		next if (!$in{"field_$i"});
		$in{"field_$i"} =~ /^\S+$/ ||
			&error(&text('table_efield', $in{"field_$i"}));
		$in{"type_$i"} || &error(&text('table_etype', $in{"field_$i"}));
		if ($in{"size_$i"}) {
			push(@fields, sprintf "%s %s(%s)",
			     $in{"field_$i"}, $in{"type_$i"}, $in{"size_$i"});
			}
		else {
			push(@fields, sprintf "%s %s",
			     $in{"field_$i"}, $in{"type_$i"});
			}
		}
	@fields || &error($text{'table_enone'});
	}
&execute_sql_logged($master_db, "create database $in{'db'}");
&webmin_log("create", "db", $in{'db'});
if (@fields) {
	$sql = "create table $in{'table'} (".join(",", @fields).")";
	&execute_sql_logged($in{'db'}, $sql);
	&webmin_log("create", "table", $in{'table'}, \%in);
	}
if ($access{'dbs'} ne '*') {
	$access{'dbs'} .= " $in{'db'}";
	&save_module_acl(\%access);
	}
&redirect("");

   07070100032873000081e40000000000000002000000013d1fe2db00000600000000200000000000000000000000000000001b00000003reloc/mysql/newdb_form.cgi    #!/usr/local/bin/perl
# newdb_form.cgi
# Display a form for creating a new database

require './mysql-lib.pl';
$access{'create'} || &error($text{'newdb_ecannot'});
&header($text{'newdb_title'}, "", "newdb_form");
print "<hr>\n";

print "<form action=newdb.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'newdb_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'newdb_db'}</b></td>\n";
print "<td><input name=db size=15></td> </tr>\n";

print "<tr> <td><b>$text{'newdb_table'}</b></td> <td>\n";
print "<input name=table_def type=radio value=1 checked> $text{'newdb_none'}\n";
print "<input name=table_def type=radio value=0>\n";
print "<input name=table size=20></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'newdb_struct'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'field_name'}</b></td> ",
      "<td><b>$text{'field_type'}</b></td> ",
      "<td><b>$text{'field_size'}</b></td> </tr>\n";
for($i=0; $i<4; $i++) {
	print "<tr $cb>\n";
	print "<td><input name=field_$i size=20></td>\n";
	print "<td><select name=type_$i>\n";
	print "<option selected>\n";
	foreach $t (@type_list) {
		print "<option>$t\n";
		}
	print "</select></td>\n";
	print "<td><input name=size_$i size=10></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

print "<tr> <td colspan=2 align=right><input type=submit ",
      "value='$text{'create'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100032874000081e40000000000000002000000013d1fe2db00000a99000000200000000000000000000000000000001b00000003reloc/mysql/save_cpriv.cgi    #!/usr/local/bin/perl
# save_cpriv.cgi
# Save, update or delete field permissions

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'delete'}) {
	# Delete some permissions
	$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
		&error($text{'perms_edb'});
	&execute_sql_logged($master_db,
		"delete from columns_priv where user = '$in{'olduser'}' ".
		"and host = '$in{'oldhost'}' and db = '$in{'olddb'}' ".
		"and table_name = '$in{'oldtable'}' ".
		"and column_name = '$in{'oldfield'}'");
	}
else {
	# Validate inputs
	&error_setup($text{'cpriv_err'});
	$in{'field'} || &error($text{'cpriv_efield'});
	$in{'user_def'} || $in{'user'} =~ /^\S+$/ ||
		&error($text{'cpriv_euser'});
	$in{'host_def'} || $in{'host'} =~ /^\S+$/ ||
		&error($text{'cpriv_ehost'});
	$in{'perms'} =~ s/\0/,/g;

	if ($in{'table'}) {
		# Create new column permissions
		($d, $t) = split(/\./, $in{'table'});
		$access{'perms'} == 1 || &can_edit_db($d) ||
			&error($text{'perms_edb'});
		$sql = sprintf "insert into columns_priv values ('%s', '%s', ".
			       "'%s', '%s', '%s', NULL, '%s')",
				$in{'host_def'} ? '%' : $in{'host'}, $d,
				$in{'user_def'} ? '' : $in{'user'},
				$t, $in{'field'}, $in{'perms'};
		}
	else {
		# Update existing column permissions
		$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
			&error($text{'perms_edb'});
		$sql = sprintf "update columns_priv set host = '%s', ".
			       "user = '%s', column_name = '%s', ".
			       "column_priv = '%s' where host = '%s' ".
			       "and db = '%s' and user = '%s' ".
			       "and table_name = '%s' and column_name = '%s'",
				$in{'host_def'} ? '%' : $in{'host'},
				$in{'user_def'} ? '' : $in{'user'},
				$in{'field'}, $in{'perms'},
				$in{'oldhost'}, $in{'olddb'},
				$in{'olduser'}, $in{'oldtable'},
				$in{'oldfield'};
		}
	&execute_sql_logged($master_db, $sql);
	}
&execute_sql_logged($master_db, 'flush privileges');
if ($in{'delete'}) {
	&webmin_log("delete", "cpriv", $in{'oldtable'},
		    { 'user' => $in{'olduser'}, 'host' => $in{'oldhost'},
		      'db' => $in{'olddb'}, 'table' => $in{'oldtable'},
		      'field' => $in{'oldfield'} } );
	}
elsif ($in{'table'}) {
	&webmin_log("create", "cpriv", $in{'table'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '%' : $in{'host'},
		      'db' => $d, 'table' => $t, 'field' => $in{'field'} } );
	}
else {
	&webmin_log("modify", "cpriv", $in{'table'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '%' : $in{'host'},
		      'db' => $in{'olddb'}, 'table' => $in{'oldtable'},
		      'field' => $in{'field'} } );
	}
&redirect("list_cprivs.cgi");

   07070100032875000081e40000000000000002000000013d1fe2db00000a22000000200000000000000000000000000000001800000003reloc/mysql/save_db.cgi   #!/usr/local/bin/perl
# save_db.cgi
# Save, create or delete a db table record

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'delete'}) {
	# Delete some user
	$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
		&error($text{'perms_edb'});
	&execute_sql_logged($master_db,
		"delete from db where user = '$in{'olduser'}' ".
		"and host = '$in{'oldhost'}' and db = '$in{'olddb'}'");
	}
else {
	# Validate inputs
	&error_setup($text{'db_err'});
	$in{'user_def'} || $in{'user'} =~ /^\S+$/ ||
		&error($text{'db_euser'});
	$in{'host'} < 2 || $in{'host'} =~ /^\S+$/ ||
		&error($text{'db_ehost'});
	$db = $in{'db_def'} == 1 ? "" :
	      $in{'db_def'} == 2 ? $in{'dbs'} : $in{'db'};
	$db =~ /^\S*$/ || &error($text{'db_edb'});
	if ($access{'perms'} == 2) {
		$in{'new'} || &can_edit_db($in{'olddb'}) ||
			&error($text{'perms_edb'});
		&can_edit_db($db) || &error($text{'perms_edb'});
		}

	map { $perms[$_]++ } split(/\0/, $in{'perms'});
	if ($in{'new'}) {
		# Create a new db
		for($i=3; $i<=12; $i++) {
			push(@yesno, $perms[$i] ? "'Y'" : "'N'");
			}
		$sql = sprintf "insert into db values ('%s', '%s', '%s', %s)",
			$in{'host_mode'} == 0 ? '' :
			$in{'host_mode'} == 1 ? '%' : $in{'host'},
			$db, $in{'user_def'} ? '' : $in{'user'},
			join(",", @yesno);
		}
	else {
		# Update existing user
		@desc = &table_structure($master_db, 'db');
		for($i=3; $i<=12; $i++) {
			push(@yesno, $desc[$i]->{'field'}."=".
				     ($perms[$i] ? "'Y'" : "'N'"));
			}
		$sql = sprintf "update db set user = '%s', host = '%s', ".
			       "db = '%s', %s where user = '%s' and ".
			       "host = '%s' and db = '%s'",
			$in{'user_def'} ? '' : $in{'user'},
			$in{'host_mode'} == 0 ? '' :
			$in{'host_mode'} == 1 ? '%' : $in{'host'},
			$db, join(" , ", @yesno),
			$in{'olduser'}, $in{'oldhost'}, $in{'olddb'};
		}
	&execute_sql_logged($master_db, $sql);
	}
&execute_sql_logged($master_db, 'flush privileges');
if ($in{'delete'}) {
	&webmin_log("delete", "perm", $in{'olddb'},
		    { 'db' => $in{'olddb'},
		      'host' => $in{'oldhost'},
		      'user' => $in{'olduser'} } );
	}
elsif ($in{'new'}) {
	&webmin_log("create", "perm", $in{'db_def'} ? '' : $in{'db'},
		    { 'db' => $db,
		      'host' => $in{'host_mode'}<2 ? '' : $in{'host'},
		      'user' => $in{'user_def'} ? '' : $in{'user'} } );
	}
else {
	&webmin_log("modify", "perm", $in{'db_def'} ? '' : $in{'db'},
		    { 'db' => $db,
		      'host' => $in{'host_mode'}<2 ? '' : $in{'host'},
		      'user' => $in{'user_def'} ? '' : $in{'user'} } );
	}
&redirect("list_dbs.cgi");

  07070100032876000081e40000000000000002000000013d1fe2dc00000bfb000000200000000000000000000000000000001b00000003reloc/mysql/save_field.cgi    #!/usr/local/bin/perl
# save_field.cgi
# Create, modify or delete a field

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&error_setup($text{'field_err'});

if ($in{'delete'}) {
	# delete this field
	&execute_sql_logged($in{'db'},
			    "alter table $in{'table'} drop $in{'old'}");
	&webmin_log("delete", "field", $in{'old'}, \%in);
	}
elsif ($in{'new'}) {
	# add a new field
	$in{'field'} =~ /^\S+$/ || &error(&text('field_efield', $in{'field'}));
	$in{'null'} && $in{'key'} && &error($text{'field_ekey'});
	$in{'size'} = $size = &validate_size();
	$sql = sprintf "alter table %s add %s %s%s %s %s %s",
		$in{'table'}, $in{'field'}, $in{'type'}, $size,
		$in{'null'} ? '' : 'not null',
		$in{'default'} ? "default '$in{'default'}'" : "",
		$in{'ext'};
	&execute_sql_logged($in{'db'}, $sql);
	&webmin_log("create", "field", $in{'field'}, \%in);
	}
else {
	# modify an existing field
	$in{'field'} =~ /^\S+$/ || &error(&text('field_efield', $in{'field'}));
	$in{'null'} && $in{'key'} && &error($text{'field_ekey'});
	$in{'size'} = $size = &validate_size();
	$sql = sprintf "alter table %s modify %s %s%s %s %s %s",
			$in{'table'}, $in{'old'}, $in{'type'}, $size,
			$in{'null'} ? 'null' : 'not null',
			$in{'default'} ? "default '$in{'default'}'" : "",
			$in{'ext'};
	&execute_sql_logged($in{'db'}, $sql);
	if ($in{'old'} ne $in{'field'}) {
		# Rename field as well
		$sql = sprintf "alter table %s change %s %s %s%s",
				$in{'table'}, $in{'old'}, $in{'field'},
				$in{'type'}, $size;
		&execute_sql_logged($in{'db'}, $sql);
		}
	&webmin_log("modify", "field", $in{'field'}, \%in);
	}

if ($in{'key'} != $in{'oldkey'}) {
	# Adding or removing a primary key to the table
	foreach $d (&table_structure($in{'db'}, $in{'table'})) {
		push(@pri, $d->{'field'}) if ($d->{'key'} eq 'PRI');
		}
	if ($in{'key'}) {
		@npri = ( @pri, $in{'field'} );
		}
	else {
		@npri = grep { $_ ne $in{'field'} } @pri;
		}
	&execute_sql_logged($in{'db'},
			    "alter table $in{'table'} drop primary key")
		if (@pri);
	&execute_sql_logged($in{'db'},
			    "alter table $in{'table'} add primary key (".
			    join(",", @npri).")") if (@npri);
	}
&redirect("edit_table.cgi?db=$in{'db'}&table=$in{'table'}");

sub validate_size
{
if ($in{'type'} eq 'enum' || $in{'type'} eq 'set') {
	$in{'size'} || &error($text{'field_eenum'});
	$in{'size'} =~ s/\r//g;
	return '('.join(",", map { "'$_'" } split(/\n/, $in{'size'})).')';
	}
elsif ($in{'type'} eq 'float' || $in{'type'} eq 'double' ||
       $in{'type'} eq 'decimal') {
	$in{'size1'} =~ /^\d+$/ || &error(&text('field_esize', $in{'size1'}));
	$in{'size2'} =~ /^\d+$/ || &error(&text('field_esize', $in{'size2'}));
	return "($in{'size1'},$in{'size2'}) $in{'opts'}";
	}
elsif ($in{'type'} eq 'date' || $in{'type'} eq 'datetime' ||
       $in{'type'} eq 'time' || $in{'type'} =~ /(blob|text)$/) {
	return "";
	}
else {
	$in{'size'} =~ /^\d+$/ || &error(&text('field_esize', $in{'size'}));
	return "($in{'size'}) $in{'opts'}";
	}
}

 07070100032877000081e40000000000000002000000013d1fe2dc00000871000000200000000000000000000000000000001a00000003reloc/mysql/save_host.cgi #!/usr/local/bin/perl
# save_host.cgi
# Save, create or delete a host table record

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'delete'}) {
	# Delete some host
	$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
		&error($text{'perms_edb'});
	&execute_sql_logged($master_db,
		     "delete from host where host = '$in{'oldhost'}' ".
		     "and db = '$in{'olddb'}'");
	}
else {
	# Validate inputs
	&error_setup($text{'host_err'});
	$in{'host_def'} || $in{'host'} =~ /^\S+$/ ||
		&error($text{'host_ehost'});
	$db = $in{'db_def'} == 1 ? "" :
	      $in{'db_def'} == 2 ? $in{'dbs'} : $in{'db'};
	$db =~ /^\S*$/ || &error($text{'host_edb'});
	if ($access{'perms'} == 2) {
		$in{'new'} || &can_edit_db($in{'olddb'}) ||
			&error($text{'perms_edb'});
		&can_edit_db($db) || &error($text{'perms_edb'});
		}

	map { $perms[$_]++ } split(/\0/, $in{'perms'});
	if ($in{'new'}) {
		# Create a new host
		for($i=2; $i<=11; $i++) {
			push(@yesno, $perms[$i] ? "'Y'" : "'N'");
			}
		$sql = sprintf "insert into host values ('%s', '%s', %s)",
			$in{'host_def'} ? '' : $in{'host'}, $db,
			join(",", @yesno);
		}
	else {
		# Update existing host
		@desc = &table_structure($master_db, 'host');
		for($i=2; $i<=11; $i++) {
			push(@yesno, $desc[$i]->{'field'}."=".
				     ($perms[$i] ? "'Y'" : "'N'"));
			}
		$sql = sprintf "update host set host = '%s', db = '%s', %s ".
			       "where host = '%s' and db = '%s'",
			$in{'host_def'} ? '' : $in{'host'}, $db,
			join(" , ", @yesno), $in{'oldhost'}, $in{'olddb'};
		}
	&execute_sql_logged($master_db, $sql);
	}
&execute_sql_logged($master_db, 'flush privileges');
if ($in{'delete'}) {
	&webmin_log("delete", "host", $in{'oldhost'},
		    { 'db' => $in{'olddb'},
		      'host' => $in{'oldhost'} } );
	}
elsif ($in{'new'}) {
	&webmin_log("create", "host", $in{'host_def'} ? '' : $in{'host'},
		    { 'db' => $db,
		      'host' => $in{'host_def'} ? '' : $in{'host'} } );
	}
else {
	&webmin_log("modify", "host", $in{'host_def'} ? '' : $in{'host'},
		    { 'db' => $db,
		      'host' => $in{'host_def'} ? '' : $in{'host'} } );
	}
&redirect("list_hosts.cgi");

   07070100032878000081e40000000000000002000000013d1fe2dc0000018e000000200000000000000000000000000000001a00000003reloc/mysql/save_sync.cgi #!/usr/local/bin/perl
# save_sync.cgi
# Save unix-mysql synchronization options

require './mysql-lib.pl';
&ReadParse();

$config{'sync_create'} = $in{'sync_create'};
$config{'sync_modify'} = $in{'sync_modify'};
$config{'sync_delete'} = $in{'sync_delete'};
$config{'sync_privs'} = join(" ", split(/\0/, $in{'sync_privs'}));
&write_file("$module_config_directory/config", \%config);
&redirect("");

  07070100032879000081e40000000000000002000000013d1fe2db00000a36000000200000000000000000000000000000001b00000003reloc/mysql/save_tpriv.cgi    #!/usr/local/bin/perl
# save_tpriv.cgi
# Save, update or delete table permissions

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} || &error($text{'perms_ecannot'});

if ($in{'delete'}) {
	# Delete some permissions
	$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
		&error($text{'perms_edb'});
	&execute_sql_logged($master_db,
		"delete from tables_priv where user = '$in{'olduser'}' ".
		"and host = '$in{'oldhost'}' and db = '$in{'olddb'}' ".
		"and table_name = '$in{'oldtable'}'");
	}
else {
	# Validate inputs
	&error_setup($text{'tpriv_err'});
	$in{'table'} || &error($text{'tpriv_etable'});
	$in{'user_def'} || $in{'user'} =~ /^\S+$/ ||
		&error($text{'tpriv_euser'});
	$in{'host_def'} || $in{'host'} =~ /^\S+$/ ||
		&error($text{'tpriv_ehost'});
	$in{'perms1'} =~ s/\0/,/g;
	$in{'perms2'} =~ s/\0/,/g;

	if ($in{'db'}) {
		# Create new table permissions
		$access{'perms'} == 1 || &can_edit_db($in{'db'}) ||
			&error($text{'perms_edb'});
		$sql = sprintf "insert into tables_priv values ('%s', '%s', ".
			       "'%s', '%s', '%s', NULL, '%s', '%s')",
				$in{'host_def'} ? '%' : $in{'host'},
				$in{'db'},
				$in{'user_def'} ? '' : $in{'user'},
				$in{'table'}, $config{'login'},
				$in{'perms1'}, $in{'perms2'};
		}
	else {
		# Update existing table permissions
		$access{'perms'} == 1 || &can_edit_db($in{'olddb'}) ||
			&error($text{'perms_edb'});
		$sql = sprintf "update tables_priv set host = '%s', ".
			       "user = '%s', table_name = '%s', ".
			       "table_priv = '%s', column_priv = '%s' where ".
			       "host = '%s' and db = '%s' and user = '%s' ".
			       "and table_name = '%s'",
				$in{'host_def'} ? '%' : $in{'host'},
				$in{'user_def'} ? '' : $in{'user'},
				$in{'table'}, $in{'perms1'}, $in{'perms2'},
				$in{'oldhost'}, $in{'olddb'},
				$in{'olduser'}, $in{'oldtable'};
		}
	&execute_sql_logged($master_db, $sql);
	}
&execute_sql_logged($master_db, 'flush privileges');
if ($in{'delete'}) {
	&webmin_log("delete", "tpriv", $in{'oldtable'},
		    { 'user' => $in{'olduser'}, 'host' => $in{'oldhost'},
		      'db' => $in{'olddb'}, 'table' => $in{'oldtable'} } );
	}
elsif ($in{'db'}) {
	&webmin_log("create", "tpriv", $in{'table'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '%' : $in{'host'},
		      'db' => $in{'db'}, 'table' => $in{'table'} } );
	}
else {
	&webmin_log("modify", "tpriv", $in{'table'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '%' : $in{'host'},
		      'db' => $in{'db'}, 'table' => $in{'table'} } );
	}
&redirect("list_tprivs.cgi");

  0707010003287a000081e40000000000000002000000013d1fe2db00000a7b000000200000000000000000000000000000001a00000003reloc/mysql/save_user.cgi #!/usr/local/bin/perl
# save_user.cgi
# Save, create or delete a user

require './mysql-lib.pl';
&ReadParse();
$access{'perms'} == 1 || &error($text{'perms_ecannot'});

if ($in{'delete'}) {
	# Delete some user
	&execute_sql_logged($master_db,
		     "delete from user where user = '$in{'olduser'}' ".
		     "and host = '$in{'oldhost'}'");
	}
else {
	# Validate inputs
	&error_setup($text{'user_err'});
	$in{'user_def'} || $in{'user'} =~ /^\S+$/ ||
		&error($text{'user_euser'});
	$in{'host_def'} || $in{'host'} =~ /^\S+$/ ||
		&error($text{'user_ehost'});

	map { $perms[$_]++ } split(/\0/, $in{'perms'});
	if ($in{'new'}) {
		# Create a new user
		for($i=3; $i<=16; $i++) {
			push(@yesno, $perms[$i] ? "'Y'" : "'N'");
			}
		$sql = sprintf "insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) values ('%s', '%s', '', %s)",
			$in{'host_def'} ? '' : $in{'host'},
			$in{'user_def'} ? '' : $in{'user'},
			join(",", @yesno);
		}
	else {
		# Update existing user
		@desc = &table_structure($master_db, 'user');
		for($i=3; $i<=16; $i++) {
			push(@yesno, $desc[$i]->{'field'}."=".
				     ($perms[$i] ? "'Y'" : "'N'"));
			}
		$sql = sprintf "update user set user = '%s', host = '%s', ".
			       "%s where user = '%s' and host = '%s'",
		    $in{'user_def'} ? '' : $in{'user'},
		    $in{'host_def'} ? '' : $in{'host'},
		    join(" , ", @yesno), $in{'olduser'}, $in{'oldhost'};
		}
	&execute_sql_logged($master_db, $sql);
	if ($in{'pass_mode'} == 0) {
		&execute_sql_logged($master_db,
			"update user set password = password('$in{'pass'}') ".
			"where user = '$in{'user'}' and host = '$in{'host'}'");
		}
	elsif ($in{'pass_mode'} == 2) {
		&execute_sql_logged($master_db,
			"update user set password = NULL ".
			"where user = '$in{'user'}' and host = '$in{'host'}'");
		}
	}
&execute_sql_logged($master_db, 'flush privileges');
if ($in{'delete'}) {
	&webmin_log("delete", "user", $in{'olduser'},
		    { 'user' => $in{'olduser'},
		      'host' => $in{'oldhost'} } );
	}
elsif ($in{'new'}) {
	&webmin_log("create", "user",
		    $in{'user_def'} ? '' : $in{'user'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '' : $in{'host'} } );
	}
else {
	&webmin_log("modify", "user",
		    $in{'user_def'} ? '' : $in{'user'},
		    { 'user' => $in{'user_def'} ? '' : $in{'user'},
		      'host' => $in{'host_def'} ? '' : $in{'host'} } );
	}
if ($in{'new'} || $in{'olduser'} ne $config{'login'}) {
	&redirect("list_users.cgi");
	}
else {
	&redirect("/$module_name/");
	}

 0707010003287b000081e40000000000000002000000013d1fe2dc0000014f000000200000000000000000000000000000001600000003reloc/mysql/start.cgi #!/usr/local/bin/perl
# start.cgi
# Start the MySQL database server

require './mysql-lib.pl';
&error_setup($text{'start_err'});
$temp = &tempname();
$rv = &system_logged("($config{'start_cmd'}) >$temp 2>&1");
$out = `cat $temp`; unlink($temp);
if ($rv) {
	&error("<pre>$out</pre>");
	}
sleep(3);
&webmin_log("start");
&redirect("");

 0707010003287c000081e40000000000000002000000013d1fe2db0000017a000000200000000000000000000000000000001500000003reloc/mysql/stop.cgi  #!/usr/local/bin/perl
# stop.cgi
# Stop the MySQL database server

require './mysql-lib.pl';
if ($config{'stop_cmd'}) {
	$out = &backquote_logged("$config{'stop_cmd'} 2>&1");
	}
else {
	$out = &backquote_logged("$config{'mysqladmin'} $authstr shutdown 2>&1");
	}
&error_setup($text{'stop_err'});
if ($?) {
	&error("<pre>$?\n$out</pre>");
	}
&webmin_log("stop");
&redirect("");

  0707010003287d000081e40000000000000002000000013d1fe2dc0000088c000000200000000000000000000000000000001b00000003reloc/mysql/table_form.cgi    #!/usr/local/bin/perl
# table_form.cgi
# Display a form for creating a table

require './mysql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$access{'edonly'} && &error($text{'dbase_ecannot'});
&header($text{'table_title2'}, "", "table_form");
print "<hr>\n";

print "<form action=create_table.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'table_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'table_name'}</b></td>\n";
print "<td><input name=name size=30></td> </tr>\n";

print "<tr> <td><b>$text{'table_copy'}</b></td>\n";
print "<td><select name=copy>\n";
print "<option value='' checked>$text{'table_copynone'}\n";
foreach $d (&list_databases()) {
	next if (!&can_edit_db($d));
	foreach $t (&list_tables($d)) {
		print "<option>$d.$t\n";
		}
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'table_type'}</b></td>\n";
print "<td><select name=type>\n";
foreach $t ('', 'isam', 'myisam', 'heap', 'merge', 'innodb') {
	printf "<option value='%s'> %s\n", $t, $text{"table_type_$t"};
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'table_initial'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'field_name'}</b></td> ",
      "<td><b>$text{'field_type'}</b></td> ",
      "<td><b>$text{'field_size'}</b></td> ",
      "<td><b>$text{'field_key'}</b></td> </tr>\n";
for($i=0; $i<$in{'fields'}; $i++) {
	print "<tr $cb>\n";
	print "<td><input name=field_$i size=20></td>\n";
	print "<td><select name=type_$i>\n";
	print "<option selected>\n";
	foreach $t (@type_list) {
		print "<option>$t\n";
		}
	print "</select></td>\n";
	print "<td><input name=size_$i size=10></td>\n";
	print "<td><input type=checkbox name=key_$i value=1> ",
	      "$text{'yes'}</td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

print "<tr> <td colspan=2 align=right><input type=submit ",
      "value='$text{'create'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
	"", $text{'index_return'});

0707010003287e000081a40000000000000002000000013d1fe2dc00000ac6000000200000000000000000000000000000002000000003reloc/mysql/useradmin_update.pl   
do 'mysql-lib.pl';

# useradmin_create_user(&details)
# Create a new mysql user if syncing is enabled
sub useradmin_create_user
{
if ($config{'sync_create'}) {
	local %privs;
	map { $privs{$_}++ } split(/\s+/, $config{'sync_privs'});
	for($i=3; $i<=16; $i++) {
		push(@yesno, $privs{$i} ? "'Y'" : "'N'");
		}
	local $sql = sprintf "insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) values ('', '%s', %s, %s)",
		$_[0]->{'user'},
		$_[0]->{'passmode'} == 3 ? "password('$_[0]->{'plainpass'}')" :
		$_[0]->{'passmode'} == 0 ? "'NULL'" : "'*'",
		join(",", @yesno);
	&execute_sql_logged($master_db, $sql);
	&execute_sql_logged($master_db, 'flush privileges');
	}
}

# useradmin_delete_user(&details)
# Delete a mysql user
sub useradmin_delete_user
{
if ($config{'sync_delete'}) {
	&execute_sql_logged($master_db,
		    "delete from user where user = '$_[0]->{'user'}'");
	&execute_sql_logged($master_db,
		    "delete from db where user = '$_[0]->{'user'}'");
	&execute_sql_logged($master_db,
		    "delete from tables_priv where user = '$_[0]->{'user'}'");
	&execute_sql_logged($master_db,
		    "delete from columns_priv where user = '$_[0]->{'user'}'");
	&execute_sql_logged($master_db, 'flush privileges');
	}
}

# useradmin_modify_user(&details)
# Update a mysql user
sub useradmin_modify_user
{
if ($config{'sync_modify'}) {
	local $sql;
	if ($_[0]->{'passmode'} == 4) {
		# Not changing password
		$sql = sprintf "update user set user = '%s' where user = '%s'", $_[0]->{'user'}, $_[0]->{'olduser'};
		}
	elsif ($_[0]->{'passmode'} == 3) {
		# Setting new password
		$sql = sprintf "update user set user = '%s', password = password('%s') where user = '%s'", $_[0]->{'user'}, $_[0]->{'plainpass'}, $_[0]->{'olduser'};
		}
	elsif ($_[0]->{'passmode'} == 0) {
		# No password
		$sql = sprintf "update user set user = '%s', password = NULL where user = '%s'", $_[0]->{'user'}, $_[0]->{'olduser'};
		}
	else {
		# Assume locked
		$sql = sprintf "update user set user = '%s', password = '*' where user = '%s'", $_[0]->{'user'}, $_[0]->{'olduser'};
		}
	&execute_sql_logged($master_db, $sql);
	if ($_[0]->{'user'} ne $_[0]->{'olduser'}) {
		&execute_sql_logged($master_db,
			"update db set user = '$_[0]->{'user'}' ".
			"where user = '$_[0]->{'olduser'}'");
		&execute_sql_logged($master_db,
			"update tables_priv set user = '$_[0]->{'user'}' ".
			"where user = '$_[0]->{'olduser'}'");
		&execute_sql_logged($master_db,
			"update columns_priv set user = '$_[0]->{'user'}' ".
			"where user = '$_[0]->{'olduser'}'");
		}
	&execute_sql_logged($master_db, 'flush privileges');
	}
}

1;

  0707010003287f000081e40000000000000002000000013d1fe2db00002b48000000200000000000000000000000000000001b00000003reloc/mysql/view_table.cgi    #!/usr/local/bin/perl
# view_table.cgi
# Display all data in some table

require './mysql-lib.pl';
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
	&ReadParse();
	}
else {
	&ReadParseMime();
	}
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
@str = &table_structure($in{'db'}, $in{'table'});
foreach $s (@str) {
	$keyed++ if ($s->{'key'} eq 'PRI');
	}
if ($in{'field'}) {
	$search = "where $in{'field'} like \"$in{'for'}\"";
	}

if ($in{'delete'}) {
	# Deleting selected rows
	$d = &execute_sql($in{'db'}, "select * from $in{'table'} $search limit ".$in{'start'}.",".$config{'perpage'});
	@t = @{$d->{'titles'}};
	$count = 0;
	foreach $r (split(/\0/, $in{'row'})) {
		local @where;
		local @r = @{$d->{'data'}->[$r]};
		for($i=0; $i<@t; $i++) {
			if ($str[$i]->{'key'} eq 'PRI') {
				if ($r[$i] eq 'NULL') {
					push(@where, "$t[$i] is null");
					}
				else {
					$r[$i] =~ s/'/''/g;
					push(@where, "$t[$i] = '$r[$i]'");
					}
				}
			}
		&execute_sql_logged($in{'db'},
				    "delete from $in{'table'} where ".
				    join(" and ", @where));
		$count++;
		}
	&webmin_log("delete", "data", $count, \%in);
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}&field=$in{'field'}&".
		  "for=".&urlize($in{'for'}));
	}
elsif ($in{'save'}) {
	# Update edited rows
	$d = &execute_sql($in{'db'}, "select * from $in{'table'} $search limit ".$in{'start'}.",".$config{'perpage'});
	@t = @{$d->{'titles'}};
	$count = 0;
	for($j=0; $j<$config{'perpage'}; $j++) {
		next if (!defined($in{"${j}_$t[0]"}));
		local (@where, @set);
		local @r = @{$d->{'data'}->[$j]};
		for($i=0; $i<@t; $i++) {
			$r[$i] =~ s/'/''/g;
			if ($str[$i]->{'key'} eq 'PRI') {
				if ($r[$i] eq 'NULL') {
					push(@where, "$t[$i] is null");
					}
				else {
					push(@where, "$t[$i] = '$r[$i]'");
					}
				}
			local $ij = $in{"${j}_$t[$i]"};
			$ij =~ s/'/''/g;
			$ij =~ s/\r//g;
			if ($ij eq '') {
				push(@set, "$t[$i] = NULL");
				}
			else {
				push(@set, "$t[$i] = '$ij'");
				}
			}
		&execute_sql_logged($in{'db'}, "update $in{'table'} set ".
				    join(" , ", @set)." where ".
				    join(" and ", @where));
		$count++;
		}
	&webmin_log("modify", "data", $count, \%in);
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}&field=$in{'field'}&".
		  "for=".&urlize($in{'for'}));
	}
elsif ($in{'savenew'}) {
	# Adding a new row
	for($j=0; defined($in{$j}); $j++) {
		$in{$j} =~ s/'/''/g;
		$in{$j} =~ s/\r//g;
		push(@set, $in{$j} eq '' ? 'NULL' : "'$in{$j}'");
		}
	&execute_sql_logged($in{'db'}, "insert into $in{'table'} values (".
			    join(" , ", @set).")");
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}&field=$in{'field'}&".
		  "for=".&urlize($in{'for'}));
	&webmin_log("create", "data", undef, \%in);
	}
elsif ($in{'cancel'} || $in{'new'}) {
	undef($in{'row'});
	}

&header($text{'view_title'}, "");
print "<center><font size=+2>",&text('table_header', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr><p>\n";

$d = &execute_sql($in{'db'}, "select count(*) from $in{'table'} $search");
$total = int($d->{'data'}->[0]->[0]);
if ($in{'jump'} > 0) {
	$in{'start'} = int($in{'jump'} / $config{'perpage'}) *
		       $config{'perpage'};
	if ($in{'start'} >= $total) {
		$in{'start'} = $total - $config{'perpage'};
		$in{'start'} = int(($in{'start'} / $config{'perpage'}) + 1) *
			       $config{'perpage'};
		}
	}
else {
	$in{'start'} = int($in{'start'});
	}
if ($in{'new'} && $total > $config{'perpage'}) {
	# go to the last screen for adding a row
	$in{'start'} = $total - $config{'perpage'};
	$in{'start'} = int(($in{'start'} / $config{'perpage'}) + 1) *
		       $config{'perpage'};
	}
if ($in{'start'} || $total > $config{'perpage'}) {
	print "<center>\n";
	if ($in{'start'}) {
		printf "<a href='view_table.cgi?db=%s&table=%s&start=%s&".
		       "field=%s&for=%s'><img src=/images/left.gif border=0 ".
		       "align=middle></a>\n",
			$in{'db'}, $in{'table'},
			$in{'start'} - $config{'perpage'},
			$in{'field'}, $in{'for'};
		}
	print "<font size=+1>",&text('view_pos', $in{'start'}+1,
	      $in{'start'}+$config{'perpage'} > $total ? $total :
	      $in{'start'}+$config{'perpage'}, $total),"</font>\n";
	if ($in{'start'}+$config{'perpage'} < $total) {
		printf "<a href='view_table.cgi?db=%s&table=%s&start=%s&".
		       "field=%s&for=%s'><img src=/images/right.gif border=0 ".
		       "align=middle></a>\n",
			$in{'db'}, $in{'table'},
			$in{'start'} + $config{'perpage'},
			$in{'field'}, $in{'for'};
		}
	print "</center>\n";
	}

if ($in{'field'}) {
	print "<table width=100% cellspacing=0 cellpadding=0><tr>\n";
	print "<td><b>",&text('view_searchhead', "<tt>$in{'for'}</tt>",
			   "<tt>$in{'field'}</tt>"),"</b></td>\n";
	print "<td align=right><a href='view_table.cgi?db=$in{'db'}&",
	      "table=$in{'table'}'>$text{'view_searchreset'}</a></td>\n";
	print "</tr></table>\n";
	}

print "<form action=view_table.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=start value='$in{'start'}'>\n";
print "<input type=hidden name=field value='$in{'field'}'>\n";
print "<input type=hidden name=for value='$in{'for'}'>\n";
$check = !defined($in{'row'}) && !$in{'new'} && $keyed;
if ($total || $in{'new'}) {
	$d = &execute_sql($in{'db'},"select * from $in{'table'} $search limit ".
				    $in{'start'}.",".$config{'perpage'});
	@data = @{$d->{'data'}};
	print "<table border width=100%>\n";
	print "<tr $tb>\n";
	print "<td>&nbsp;</td>\n" if ($check);
	foreach $t (@str) {
		print "<td><b>$t->{'field'}</b></td>\n";
		}
	print "</tr>\n";

	map { $row{$_}++ } split(/\0/, $in{'row'});
	$w = int(100 / scalar(@str));
	$w = 10 if ($w < 10);
	for($i=0; $i<@data; $i++) {
		local @d = map { $_ eq "NULL" ? undef : $_ } @{$data[$i]};
		print "<tr $cb>\n";
		if ($row{$i} && $config{'add_mode'}) {
			# Show multi-line row editor
			printf "<td colspan=%d>\n", scalar(@d);
			print "<table border>\n";
			print "<tr $tb> <td><b>$text{'view_field'}</b></td> ",
			      "<td><b>$text{'view_data'}</b></td> </tr>\n";
			for($j=0; $j<@str; $j++) {
				local $nm = "${i}_$str[$j]->{'field'}";
				print "<tr $cb> <td><b>$str[$j]->{'field'}</b></td>\n";
				if ($str[$j]->{'type'} =~ /\((\d+)\)/) {
					local $nw = $1 > 70 ? 70 : $1;
					$d[$j] =~ s/"/&quot;/g;
					print "<td><input name=$nm size=$nw value=\"$d[$j]\"></td>\n";
					}
				elsif ($str[$j]->{'type'} =~ /(text|blob)$/) {
					print "<td><textarea name=$nm rows=5 cols=70>$d[$j]",
					      "</textarea></td>\n";
					}
				else {
					$d[$j] =~ s/"/&quot;/g;
					print "<td><input name=$nm size=30 value=\"$d[$j]\"></td>\n";
					}
				print "</tr>\n";
				}
			print "</table></td>\n";
			}
		elsif ($row{$i}) {
			# Show simple row-editor
			for($j=0; $j<@d; $j++) {
				$d[$j] =~ s/"/&quot;/g;
				printf "<td width=$w%%><input name=${i}_$d->{'titles'}->[$j] size=$w value=\"$d[$j]\"></td>\n";
				}
			}
		else {
			# Show row contents
			print "<td><input type=checkbox name=row ",
			      "value=$i></td>\n" if ($check);
			foreach $c (@{$data[$i]}) {
				printf "<td width=$w%%>%s</td>\n",
					$c =~ /\S/ ? &html_escape($c) : "<br>";
				}
			}
		print "</tr>\n";
		}
	if ($in{'new'} && $config{'add_mode'}) {
		# Show new fields in longer format
		print "</table> <br> <table border>\n";
		print "<tr $tb> <td><b>$text{'view_field'}</b></td> ",
		      "<td><b>$text{'view_data'}</b></td> </tr>\n";
		for($j=0; $j<@str; $j++) {
			print "<tr $cb> <td><b>$str[$j]->{'field'}</b></td>\n";
			if ($str[$j]->{'type'} =~ /\((\d+)\)/) {
				local $nw = $1 > 70 ? 70 : $1;
				print "<td><input name=$j size=$nw></td>\n";
				}
			elsif ($str[$j]->{'type'} =~ /enum\((.*)\)/) {
				local @nc = map { /^'(.*)'$/ ? $1 : $_ }
						split(/,/, $1);
				print "<td><select name=$j>\n";
				foreach $nc (@nc) {
					print "<option>$nc\n";
					}
				print "</select></td>\n";
				}
			elsif ($str[$j]->{'type'} =~ /(text|blob)$/) {
				print "<td><textarea name=$j rows=5 cols=70>",
				      "</textarea></td>\n";
				}
			else {
				print "<td><input name=$j size=30></td>\n";
				}
			print "</tr>\n";
			}
		}
	elsif ($in{'new'}) {
		# Show new fields in a row below table
		print "<tr $cb>\n";
		for($j=0; $j<@str; $j++) {
			print "<td width=$w%><input name=$j size=$w></td>\n";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	if ($check) {
		print "<a href='' onClick='document.forms[0].row.checked = true; for(i=0; i<document.forms[0].row.length; i++) { document.forms[0].row[i].checked = true; } return false'>$text{'view_all'}</a>&nbsp;\n";
		print "<a href='' onClick='document.forms[0].row.checked = !document.forms[0].row.checked; for(i=0; i<document.forms[0].row.length; i++) { document.forms[0].row[i].checked = !document.forms[0].row[i].checked; } return false'>$text{'view_invert'}</a><br>\n";
		}
	}
else {
	print "<b>$text{'view_none'}</b> <p>\n";
	}

print "<table width=100%><tr>\n";
if (!$keyed) {
	print "<tr> <td><b>$text{'view_nokey'}</b></td> </tr>\n";
	}
elsif (!$check) {
	if ($in{'new'}) {
		print "<td><input type=submit name=savenew ",
		      "value='$text{'save'}'></td>\n";
		}
	else {
		print "<td><input type=submit name=save ",
		      "value='$text{'save'}'></td>\n";
		}
	print "<td align=right><input type=submit name=cancel ",
	      "value='$text{'cancel'}'></td>\n";
	}
else {
	print "<td><input type=submit name=edit ",
	      "value='$text{'view_edit'}'></td>\n";
	print "<td align=middle><input type=submit name=new ",
	      "value='$text{'view_new'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'view_delete'}'></td>\n";
	}
print "</tr></table></form>\n";

if (!$in{'field'} && $total > $config{'perpage'}) {
	print "<hr>\n";
	print "<table width=100%><tr>\n";
	print "<form action=view_table.cgi>\n";
	print "<input type=hidden name=search value=1>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	$sel = "<select name=field>\n";
	foreach $f (@str) {
		$sel .= "<option>$f->{'field'}\n";
		}
	$sel .= "</select>";
	print "<td>",&text('view_search', "<input name=for size=20>", $sel);
	print "&nbsp;&nbsp;",
	      "<input type=submit value='$text{'view_searchok'}'></td>\n";
	print "</form>\n";

	print "<form action=view_table.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	print "<td align=right><input type=submit value='$text{'view_jump'}'> ";
	print "<input name=jump size=6></td></form>\n";
	print "</tr> </table>\n";
	}

print "<hr>\n";
if ($access{'edonly'}) {
	&footer("edit_dbase.cgi?db=$in{'db'}",$text{'dbase_return'},
		"", $text{'index_return'});
	}
else {
	&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",
		$text{'table_return'},
		"edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
		"", $text{'index_return'});
	}

07070100039a04000041ed0000000000000001000000043d1ffac600000000000000200000000000000000000000000000000a00000003reloc/net 07070100039a05000081a40000000000000002000000013d1fe2d700000789000000200000000000000000000000000000001a00000003reloc/net/acl_security.pl 
require 'net-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the net module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_ifcs'}</b></td> <td nowrap>\n";
printf "<input type=radio name=ifcs value=2 %s> $text{'yes'}\n",
	$_[0]->{'ifcs'} == 2 ? "checked" : "";
printf "<input type=radio name=ifcs value=1 %s> $text{'acl_view'}\n",
	$_[0]->{'ifcs'} == 1 ? "checked" : "";
printf "<input type=radio name=ifcs value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'ifcs'} ? "" : "checked";

print "<td><b>$text{'acl_routes'}</b></td> <td nowrap>\n";
printf "<input type=radio name=routes value=2 %s> $text{'yes'}\n",
	$_[0]->{'routes'} == 2 ? "checked" : "";
printf "<input type=radio name=routes value=1 %s> $text{'acl_view'}\n",
	$_[0]->{'routes'} == 1 ? "checked" : "";
printf "<input type=radio name=routes value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'routes'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_dns'}</b></td> <td nowrap>\n";
printf "<input type=radio name=dns value=2 %s> $text{'yes'}\n",
	$_[0]->{'dns'} == 2 ? "checked" : "";
printf "<input type=radio name=dns value=1 %s> $text{'acl_view'}\n",
	$_[0]->{'dns'} == 1 ? "checked" : "";
printf "<input type=radio name=dns value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'dns'} ? "" : "checked";

print "<td><b>$text{'acl_hosts'}</b></td> <td nowrap>\n";
printf "<input type=radio name=hosts value=2 %s> $text{'yes'}\n",
	$_[0]->{'hosts'} == 2 ? "checked" : "";
printf "<input type=radio name=hosts value=1 %s> $text{'acl_view'}\n",
	$_[0]->{'hosts'} == 1 ? "checked" : "";
printf "<input type=radio name=hosts value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'hosts'} ? "" : "checked";
}

# acl_security_save(&options)
# Parse the form for security options for the file module
sub acl_security_save
{
$_[0]->{'ifcs'} = $in{'ifcs'};
$_[0]->{'routes'} = $in{'routes'};
$_[0]->{'dns'} = $in{'dns'};
$_[0]->{'hosts'} = $in{'hosts'};
}

   07070100039a06000081a40000000000000002000000013d1fe2d700003786000000200000000000000000000000000000001e00000003reloc/net/cobalt-linux-lib.pl # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-[a-z0-9:]+$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'};
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'};
	$b->{'netmask'} = $conf{'NETMASK'};
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'bootp'} = ($conf{'BOOTPROTO'} eq 'bootp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
$conf{'BOOTPROTO'} = $_[0]->{'bootp'} ? "bootp" :
		     $_[0]->{'dhcp'} ? "dhcp" : "none";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
# show default router and device
local (%conf, @st, @hr, %sysctl);
&read_env_file($network_config, \%conf);
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAY'} ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$conf{'GATEWAY'} ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAY'};

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAYDEV'} ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$conf{'GATEWAYDEV'} ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAYDEV'};

# show routing
if ($gconfig{'os_version'} < 7.0) {
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "" : "checked";
	}
else {
	&read_env_file($sysctl_config, \%sysctl);
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$sysctl{'net.ipv4.ip_forward'} ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$sysctl{'net.ipv4.ip_forward'} ? "" : "checked";
	}

# get static routes
open(STATIC, $static_route_config);
while(<STATIC>) {
	if (/(\S+)\s+net\s+(\S+)\s+netmask\s+(\S+)\s+gw\s+(\S+)/) {
		push(@st, [ $1, $2, $3, $4 ]);
		}
	elsif (/(\S+)\s+host\s+(\S+)/) {
		push(@hr, [ $1, $2 ]);
		}
	}
close(STATIC);

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> </tr>\n";
for($i=0; $i<=@st; $i++) {
	local $st = $st[$i];
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=net_$i size=15 value='$st->[1]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$st->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$st->[3]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# Show static host routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> </tr>\n";
for($i=0; $i<=@hr; $i++) {
	local $st = $hr[$i];
	print "<tr $cb>\n";
	print "<td><input name=ldev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=lnet_$i size=15 value='$st->[1]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
local (%conf, @st, %sysctl);
&lock_file($network_config);
&read_env_file($network_config, \%conf);
if ($in{'gateway_def'}) { $conf{'GATEWAY'} = ''; }
elsif (!gethostbyname($in{'gateway'})) {
	&error(&text('routes_edefault', $in{'gateway'}));
	}
else { $conf{'GATEWAY'} = $in{'gateway'}; }

if ($in{'gatewaydev_def'}) { $conf{'GATEWAYDEV'} = ''; }
elsif ($in{'gatewaydev'} !~ /^\S+$/) {
	&error(&text('routes_edevice', $in{'gatewaydev'}));
	}
else { $conf{'GATEWAYDEV'} = $in{'gatewaydev'}; }

if ($gconfig{'os_version'} < 7.0) {
	if ($in{'forward'}) { $conf{'FORWARD_IPV4'} = 'yes'; }
	else { $conf{'FORWARD_IPV4'} = 'no'; }
	}
else {
	&lock_file($sysctl_config);
	&read_env_file($sysctl_config, \%sysctl);
	$sysctl{'net.ipv4.ip_forward'} = $in{'forward'};
	}

&lock_file($static_route_config);
for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
	$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
	next if (!$dev && !$net && !$netmask && !$gw);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
	gethostbyname($gw) || &error(&text('routes_egateway', $gw));
	push(@st, "$dev net $net netmask $netmask gw $gw\n");
	}
for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
	$net = $in{"lnet_$i"};
	next if (!$dev && !$net);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	push(@st, "$dev host $net\n");
	}
open(STATIC, ">$static_route_config");
print STATIC @st;
close(STATIC);
&unlock_file($static_route_config);
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
if (%sysctl) {
	&write_env_file($sysctl_config, \%sysctl);
	&unlock_file($sysctl_config);
	}
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

  07070100039a07000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001e00000003reloc/net/config-cobalt-linux hosts_file=/etc/hosts
  07070100039a08000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001e00000003reloc/net/config-debian-linux hosts_file=/etc/hosts
  07070100039a09000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001900000003reloc/net/config-freebsd  hosts_file=/etc/hosts
  07070100039a0e000081a40000000000000002000000013d1fe2d600000016000000200000000000000000000000000000001b00000003reloc/net/config-lfs-linux    hosts_file=/etc/hosts
  07070100039a0f000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000002000000003reloc/net/config-mandrake-linux   hosts_file=/etc/hosts
  07070100039a10000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001b00000003reloc/net/config-msc-linux    hosts_file=/etc/hosts
  07070100039a11000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001800000003reloc/net/config-netbsd   hosts_file=/etc/hosts
  07070100039a12000081a40000000000000002000000013d1fe2d600000016000000200000000000000000000000000000001c00000003reloc/net/config-open-linux   hosts_file=/etc/hosts
  07070100039a13000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001900000003reloc/net/config-openbsd  hosts_file=/etc/hosts
  07070100039a14000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001e00000003reloc/net/config-redhat-linux hosts_file=/etc/hosts
  07070100039a15000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001900000003reloc/net/config-solaris  hosts_file=/etc/hosts
  07070100039a16000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001c00000003reloc/net/config-suse-linux   hosts_file=/etc/hosts
  07070100039a17000081a40000000000000002000000013d1fe2d600000016000000200000000000000000000000000000001d00000003reloc/net/config-turbo-linux  hosts_file=/etc/hosts
  07070100039a18000081a40000000000000002000000013d1fe2d700000016000000200000000000000000000000000000001a00000003reloc/net/config-unixware hosts_file=/etc/hosts
  07070100039a1a000081a40000000000000002000000013d1fe2d70000002e000000200000000000000000000000000000001600000003reloc/net/config.info hosts_file=File listing hosts and addresses,0
  07070100039a1b000081a40000000000000002000000013d1fe2d700000039000000200000000000000000000000000000001900000003reloc/net/config.info.ca  hosts_file=Fitxer que llista els hosts i les adreces,0


   0707010003b216000041ed0000000000000001000000023d1ffac300000000000000200000000000000000000000000000001100000003reloc/net/images  0707010003b217000081a40000000000000002000000013d1fe2d700000176000000200000000000000000000000000000001900000003reloc/net/images/dns.gif  GIF89a0 0 ¡  ÿÿÿÌÌÌfff   !ù    ,    0 0  þ„©Ëí£œÔ…`.¸øhß}_¦‰·eêz¦áŠ˜°«¶/z·äž¢›Ñz:Lè6Cúj¬Éáü@@©Éø3+Ü®÷‹Çd^™¢;KÒ^,F Ã±€¸¶GÄëÚ(Í7 ¸wx$ h8`øGRˆxÀ( 7G‚ø†8°é8„·™(j×	²YÒ£0Zy€èZº×%«x™§Š·KqÊë;[;ìš›w*y‘œÛØ\IÉ`2Ê±XŒ‹y¢á*…ƒÛ Û|®ŒÒ˜Ô£ÌÍºÝ¹«.î”)·h/ª*V|J†:xÐE€„GTØ„I;
Ç5‘QqœEH5;zü2È‚UÙ,)É*É2QZRiIÜ–*‰°rãhÄœèÐÉù'ß•YJq	“‰QŠˆvùù€f©!«Z½ŠµA ;  0707010003b218000081a40000000000000002000000013d1fe2d700000133000000200000000000000000000000000000001b00000003reloc/net/images/hosts.gif    GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„©Ëí£œ´¶ ²Þ¼Û`Ý8~I(’jf(6Äš,ÐÝo:lý=¶v<_pö3E¿cíØû,a¦UX™Âd½X—[KR´©iL6¯(êvirûÙÂVù\,	Ê9Í§ÓÏ´gôWÇ'ôçÇØu˜—ØX¥'è&†É©è*ðÚ6JjviçcCÃ5÷éÈHù4Øë×'«q;8K«h‹,É‡;›ú¥éÈ¹Œyªf*}F\­’·j˜Yù¡ÜwEè;N(H¼›NIÞËŽlL©ìýÕìÚmíïŸ‡k9hóömBoçÔÁC'JÞ¯YåŽP+.‡Æ  ; 0707010003b219000081a40000000000000002000000013d1fe2d70000016c000000200000000000000000000000000000001a00000003reloc/net/images/icon.gif GIF87a0 0 Â  ÿÿÿÌÌÌ™™™fffÿÿ          ,    0 0  þºÜþ0²@«•87Á»·&:Cižžp-ÕôPXÈçÐÁŠÌêÿÎ¹…©ð’tÃŸÈÈòØãŠ²‘
™B]Áõ™íÆ€_jøª]õÎ3ŸrÞ¦­®ÝZËÑyv#,bƒ†t‡Š/…‹Ž„cŽ‰’‡5%•† ‘™x>—žoB›˜£x%<¨‡0{NwyXsFzP·ªj_<eS^\½AÂ¿@Çh€qÊÉºÅ.ÓÓÌ\Àzmµ;À ´¸¹Ãƒ5‚©Þçˆåê1éí1ðñ¢óŒõ™²Ùòã[eo~õaà²5ÈáCÆ ÀMX":ÙMK.‡ü J´ø:ìWŸ#	q 	òc3’¾øh°´g/g|@É]6XYdõ±¡âÝDs‹J¤ðæF])ì­
åJ)† ;0707010003b21a000081a40000000000000002000000013d1fe2d70000016a000000200000000000000000000000000000001a00000003reloc/net/images/ifcs.gif GIF89a0 0 ã  ™™™ ˆÿÿÿ   ß½‹ú@ ÿÿfffû ÿá\ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  þðÉI«½8ëÍ»ÿ`(Ždižhª®lë¾( {€lx®ï|ïçµK@0,‰¿ä/x8ŸOaZ Ê!t@¬•À*¥Z±Ù-Î¦ˆÇÎìO°í¾ax\îS˜yz<GF…9tPvBz<Œ{9~^7„•Ž:ˆOvmn|oŒ;’w7Ÿ‡u¤a–H—¡:£ de‘˜©‰«´¶Q8¹±I“~SÅ‚JÈn®9Ì8§;hh«BIÔÀc×R@ ”…¯;Ò„:ØâäÉ·Ÿ=ìk6ïÁñ<ó«Mßør5øµ2÷`=OÿQ£¡Ã‡ë- AÅ‹3bÜ8abˆC‚”xpF&Sª\É²¥Ë—0cÊ¤ ;  0707010003b21b000081a40000000000000002000000013d1fe2d70000013b000000200000000000000000000000000000001c00000003reloc/net/images/routes.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ   ™™™ú@QQû      !ù    ,    0 0  þºÜþ0Ê@+•ÍZì‚ø`À-ø‰#iž)Pšhû†ò*ÄéÌæ6>ê·ÚÊÇÑTdFbkÉœÏè¥(•*ÐluÑzŸ×t@.ƒ1³™Ûl»äwÜM ÌÛw&aŸgöS{rƒtv…xˆMu-€‡„oŒŠ~•™{‘nŽ—Ÿ#j£¤f
¥¨—©§©­¥ož}µ¶·¸¹º»·œ°²¾¿ÄÃÁKÉÈ ÎÍÅÀÐÒÓÆ×ÓË
ÛÅÝ ßØ)ãmIaÌÙM@éÞëLíæì=óðKòÇøB0÷á]’ü«F.¿[Î@ÀEMÂ,alì0fkÆª”  ; 07070100039a1c000081a40000000000000002000000013d1fe2d700000040000000200000000000000000000000000000001900000003reloc/net/config.info.de  hosts_file=Datei in der Hosts und Adressen aufgelistet werden,0
07070100039a1d000081a40000000000000002000000013d1fe2d60000003d000000200000000000000000000000000000001900000003reloc/net/config.info.es  hosts_file=Archivo que contiene las máquinas y direcciones,0
   07070100039a1e000081a40000000000000002000000013d1fe2d700000034000000200000000000000000000000000000001900000003reloc/net/config.info.fr  hosts_file=Fichier de liste d'hôtes et d'adresses,0
07070100039a1f000081a40000000000000002000000013d1fe2d700000032000000200000000000000000000000000000002000000003reloc/net/config.info.ja_JP.euc   hosts_file=¥Û¥¹¥ÈÌ¾¤ª¤è¤Ó¥¢¥É¥ì¥¹¤Îµ­½Ò¥Õ¥¡¥¤¥ë,0
  07070100039a20000081a40000000000000002000000013d1fe2d700000047000000200000000000000000000000000000001900000003reloc/net/config.info.pl  hosts_file=Plik z&nbsp;nazwami i&nbsp;adresami hostów <tt>hosts</tt>,0
 07070100039a21000081a40000000000000002000000013d1fe2d70000002e000000200000000000000000000000000000001c00000003reloc/net/config.info.ru_RU   hosts_file=Ôàéë ñî ñïèñêîì õîñòîâ è àäðåñîâ,0
  07070100039a22000081a40000000000000002000000013d1fe2d60000002e000000200000000000000000000000000000001c00000003reloc/net/config.info.ru_SU   hosts_file=æÁÊÌ ÓÏ ÓÐÉÓËÏÍ ÈÏÓÔÏ× É ÁÄÒÅÓÏ×,0
  07070100039a23000081a40000000000000002000000013d1fe2d70000002a000000200000000000000000000000000000001900000003reloc/net/config.info.sv  hosts_file=Fil med datorer och adresser,0
  07070100039a24000081a40000000000000002000000013d1fe2d70000003e000000200000000000000000000000000000001900000003reloc/net/config.info.tr  hosts_file=Makine adlarýnýn ve adreslerinin bulunduðu dosya,0
  07070100039a25000081a40000000000000002000000013d1fe2d600000022000000200000000000000000000000000000001c00000003reloc/net/config.info.zh_CN   hosts_file=Ö÷»úÃûÓëIPµØÖ·Ó³Éä±í,0
  07070100039a26000081a40000000000000002000000013d1fe2d700000022000000200000000000000000000000000000002100000003reloc/net/config.info.zh_TW.Big5  hosts_file=¥D¾÷»P¦ì§}ªº¦CªíÀÉ®×,0
  07070100039a27000081a40000000000000002000000013d1fe2d700004248000000200000000000000000000000000000001e00000003reloc/net/debian-linux-lib.pl # debian-linux-lib.pl
# Networking functions for Debian linux >= 2.2 (aka. potato)
# Really, this won't work with releases prior to 2.2, don't even try it.
#
# Rene Mayrhofer, July 2000
# Some code has been taken from redhat-linux-lib.pl

use File::Copy;

$network_interfaces_config = '/etc/network/interfaces';

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	else { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " down";
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces()
{
my @ifaces = &get_interface_defs();
my @autos = &get_auto_defs();
my @rv;
foreach $iface (@ifaces) {
	my ($name, $addrfam, $method, $options) = @$iface;
	my $cfg;
	if ($addrfam eq 'inet') {
		$cfg->{'fullname'} = $name;
		if ($cfg->{'fullname'} =~ /(\S+):(\d+)/) {
			$cfg->{'name'} = $1;
			$cfg->{'virtual'} = $2;
			}
		else {
			$cfg->{'name'} = $cfg->{'fullname'};
			}
		if ($gconfig{'os_version'} >= 3 || scalar(@autos)) {
			$cfg->{'up'} = &indexof($name, @autos) >= 0;
			}
		else {
			$cfg->{'up'} = 1;
			}
		foreach $option (@$options) {
			($param, $value) = @$option;
			if ($param eq 'noauto') { $cfg->{'up'} = 0; }
			else { $cfg->{$param} = $value; }
			}
		$cfg->{'dhcp'} = ($method eq 'dhcp');
		$cfg->{'bootp'} = ($method eq 'bootp');
		$cfg->{'edit'} = ($cfg->{'name'} !~ /^ppp|lo/);
		$cfg->{'index'} = scalar(@rv);	
		push(@rv, $cfg);
		}
	}
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
my $cfg = $_[0];
my $name = $cfg->{'virtual'} ne "" ? $cfg->{'name'}.":".$cfg->{'virtual'}
				       : $cfg->{'name'};
my @options;
my $method;
if ($cfg->{'dhcp'} == 1) { $method = 'dhcp'; }
elsif ($cfg->{'bootp'} == 1) { $method = 'bootp'; }
else {
	$method = 'static';
	push(@options, ['address', $cfg->{'address'}]);
	push(@options, ['netmask', $cfg->{'netmask'}]);
	push(@options, ['broadcast', $cfg->{'broadcast'}]);
	my ($ip1, $ip2, $ip3, $ip4) = split(/\./, $cfg->{'address'});
	my ($nm1, $nm2, $nm3, $nm4) = split(/\./, $cfg->{'netmask'});
	if ($cfg->{'address'} && $cfg->{'netmask'}) {
		my $network = sprintf "%d.%d.%d.%d",
					($ip1 & int($nm1))&0xff,
					($ip2 & int($nm2))&0xff,
					($ip3 & int($nm3))&0xff,
					($ip4 & int($nm4))&0xff;
		push(@options, ['network', $network]);
		}
	}
my @autos = get_auto_defs();
my $amode = $gconfig{'os_version'} > 3 || scalar(@autos);
if (!$cfg->{'up'} && !$amode) { push(@options, ['noauto', '']); }

my @ifaces = get_interface_defs();
my $changeit = 0;
foreach $iface (@ifaces) {
	if ($iface->[0] eq $cfg->{'fullname'}) {
		$changeit = 1;
		foreach $o (@{$iface->[3]}) {
			if ($o->[0] eq 'gateway') {
				push(@options, $o);
				}
			}
		}
	}
if ($changeit == 0) {
	new_interface_def($cfg->{'fullname'}, 'inet', $method, \@options);
	}
else {
	modify_interface_def($cfg->{'fullname'}, 'inet', $method, \@options, 0);
	}
if ($amode) {
	if ($cfg->{'up'}) {
		@autos = &unique(@autos, $cfg->{'fullname'});
		}
	else {
		@autos = grep { $_ ne $cfg->{'fullname'} } @autos;
		}
	&modify_auto_defs(@autos);
	}
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
my $cfg = $_[0];
delete_interface_def($cfg->{'fullname'}, 'inet');
my @autos = get_auto_defs();
if ($gconfig{'os_version'} > 3 || scalar(@autos)) {
	@autos = grep { $_ ne $cfg->{'fullname'} } @autos;
	&modify_auto_defs(@autos);
	}
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return "ISDN rawIP" if ($_[0] =~ /^isdn/);
return "ISDN syncPPP" if ($_[0] =~ /^ippp/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

# show default router and device
sub routing_input
{
local @ifaces = &get_interface_defs();
local ($router, $addr);
foreach $iface (@ifaces) {
	foreach $o (@{$iface->[3]}) {
		if ($o->[0] eq 'gateway') {
			$router = $iface;
			$addr = $o->[1];
			}
		}
	}

print "<tr> <td><b>$text{'routes_default'}</b></td>\n";
printf "<td><input type=radio name=gateway_def value=1 %s> %s\n",
	$router ? '' : 'checked', $text{'routes_none'};
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$router ? 'checked' : '';
print "$text{'routes_gateway'}\n";
printf "<input name=gateway size=15 value='%s'>\n", $addr;
print "$text{'routes_device'}\n";
print "<select name=gatewaydev>\n";
foreach $iface (@ifaces) {
	next if ($iface->[0] eq 'lo');
	printf "<option %s>%s\n",
		$router eq $iface ? 'selected' : '', $iface->[0];
	}
print "</select></td> </tr>\n";
}

sub parse_routing
{
local $dev;
if (!$in{'gateway_def'}) {
	&check_ipaddress($in{'gateway'}) ||
		&error(&text('routes_egateway', $in{'gateway'}));
	$dev = $in{'gatewaydev'};
	}
local @ifaces = &get_interface_defs();
foreach $iface (@ifaces) {
	# Remove the gateway directive
	$iface->[3] = [ grep { $_->[0] ne 'gateway' } @{$iface->[3]} ];

	# Add if needed
	if ($iface->[0] eq $dev) {
		push(@{$iface->[3]}, [ 'gateway', $in{'gateway'} ]);
		}
	&modify_interface_def(@$iface);
	}
}


###############################################################################
# helper functions for file-internal use

# gets a list of interface definitions (including their options) from the
# central config file
# the returned list is an array whose contents are tupels of
# (name, addrfam, method, options) with
#    name          the interface name (e.g. eth0)
#    addrfam       the address family (e.g. inet, inet6)
#    method        the address activation method (e.g. static, dhcp, loopback)
#    options       is a list of (param, value) pairs
sub get_interface_defs()
{
local *CFGFILE;
my @ret;
open(CFGFILE, "< $network_interfaces_config") ||
	error("Unable to open $network_interfaces_config");
# read the file line by line
$line = <CFGFILE>;
while (defined $line) {
	chomp($line);
	# skip comments
	if ($line =~ /^\s*#/ || $line =~ /^\s*$/) {
		$line = <CFGFILE>;
		next;
		}

	if ($line =~ /^\s*auto/) {
		# skip auto stanzas
		$line = <CFGFILE>;
		while(defined($line) && $line !~ /^\s*(iface|mapping|auto)/) {
			$line = <CFGFILE>;
			next;
			}
		}
	elsif ($line =~ /^\s*mapping/) {
		# skip mapping stanzas
		$line = <CFGFILE>;
		while(defined($line) && $line !~ /^\s*(iface|mapping|auto)/) {
			$line = <CFGFILE>;
			next;
			}
		}
	elsif (my ($name, $addrfam, $method) = ($line =~ /^\s*iface\s+(\S+)\s+(\w+)\s+(\w+)\s*$/) ) {
		# only lines starting with "iface" are expected here
		my @iface_options;
		# now read everything until the next iface definition
		$line = <CFGFILE>;
		while (defined $line && ! ($line =~ /^\s*(iface|mapping|auto)/)) {
			# skip comments and empty lines
			if ($line =~ /^\s*#/ || $line =~ /^\s*$/) {
				$line = <CFGFILE>;
				next;
				}
			my ($param, $value);
			if ( ($param, $value) = ($line =~ /^\s*(\S+)\s+(.*)\s*$/) ) {
				push(@iface_options, [$param, $value]);
				}
			elsif ( ($param) = ($line =~ /^\s*(\S+)\s*$/) ) {
				push(@iface_options, [$param, '']);
				}
			else {
				error("Error in option line: '$line' invalid");
				}
			$line = <CFGFILE>;
			}
		push(@ret, [$name, $addrfam, $method, \@iface_options]);
		}
	else {
		error("Error reading file $pathname: unexpected line '$line'");
		}
	}
close(CFGFILE);
return @ret;
}

# get_auto_defs()
# Returns a list of interfaces in auto lines
sub get_auto_defs
{
local @rv;
open(CFGFILE, $network_interfaces_config);
while(<CFGFILE>) {
	s/\r|\n//g;
	s/^\s*#.*$//g;
	if (/^\s*auto\s*(.*)/) {
		push(@rv, split(/\s+/, $1));
		}
	}
close(CFGFILE);
return @rv;
}

# modify_auto_defs(iface, ...)
# Replaces all auto lines with one containing the interfaces given as params
sub modify_auto_defs
{
local $lref = &read_file_lines($network_interfaces_config);
for($i=0; $i<@$lref; $i++) {
	local $l = $lref->[$i];
	$l =~ s/\r|\n//g;
	$l =~ s/^\s*#.*$//g;
	if ($l =~ /^\s*auto\s*(.*)/) {
		if (!$found++) {
			# Replace the auto line
			$lref->[$i] = "auto ".join(" ", @_);
			}
		else {
			# Remove another auto line
			splice(@$lref, $i--, 1);
			}
		}
	}
if (!$found) {
	splice(@$lref, 0, 0, "auto ".join(" ", @_));
	}
&flush_file_lines();
}

# modifies the options of an already stored interface definition
# the parameters should be (name, addrfam, method, options, mode)
# with options being an array of (param, value) pairs
# and mode being 0 for modify and 1 for delete
sub modify_interface_def($$$$$)
{
my ($name, $addrfam, $method, $options, $mode) = @_;
# make a backup copy
copy("$network_interfaces_config", "$network_interfaces_config~");
local *OLDCFGFILE, *NEWCFGFILE;
open(OLDCFGFILE, "< $network_interfaces_config~") ||
	error("Unable to open $network_interfaces_config");
&lock_file($network_interfaces_config);
open(NEWCFGFILE, "> $network_interfaces_config") ||
	error("Unable to open $network_interfaces_config");

my $inside_modify_region = 0;
my $iface_line = 0;
my $new_options_wrote;
while (defined ($line=<OLDCFGFILE>)) {
	if ($inside_modify_region == 0 &&
		$line =~ /^\s*iface\s+$name\s+$addrfam\s+\w+\s*$/) {
		$inside_modify_region = 1;
		$iface_line = 1;
		$new_options_wrote = 0;
		}
	elsif ($inside_modify_region == 1 &&
		$line =~ /^\s*iface\s+\w+\s+\w+\s+\w+\s*$/) {
		$inside_modify_region = 0;
		}
	# preserve comments
	if ($line =~ /^\s*#/) {
		print NEWCFGFILE $line;
		}
	# inside modify region or not ?
	elsif ($inside_modify_region == 0) {
    	print NEWCFGFILE $line;
		}
	else {
		# should the iface line be changed or the options ?
		if ($iface_line == 1 && $mode == 0) {
			print NEWCFGFILE "iface $name $addrfam $method\n";
			}
		else {
			# only write the new options and skip the old ones or just do
			# nothing if mode is delete
			# write only upon first entrance here
			if ($mode == 0 && $new_options_wrote == 0) {
				$new_options_wrote = 1;
				foreach $option (@$options) {
					my ($param, $value) = @$option;
					print NEWCFGFILE "\t$param $value\n";
					}
				}
			}
		}
	$iface_line = 0;
	}

close(OLDCFGFILE);
close(NEWCFGFILE);
&unlock_file($network_interfaces_config);
}

# creates a new interface definition in the config file
# the parameters should be (name, addrfam, method, options)
# with options being an array of (param, value) pairs
# the selection key is (name, addrfam)
sub new_interface_def($$$$)
{
# make a backup copy
copy("$network_interfaces_config", "$network_interfaces_config~");
local *CFGFILE;
&lock_file($network_interfaces_config);
open(CFGFILE, ">> $network_interfaces_config") ||
	error("Unable to open $network_interfaces_config");
local ($name, $addrfam, $method, $options) = @_;
print CFGFILE "\niface $name $addrfam $method\n";
foreach $option (@$options) {
	my ($param, $value) = @$option;
	print CFGFILE "\t$param $value\n";
	}
close(CFGFILE);
&unlock_file($network_interfaces_config);
}

# delete an already defined interface
# the parameters should be (name, addrfam)
sub delete_interface_def($$$)
{
	local ($name, $addrfam, $method) = @_;
	modify_interface_def($name, $addrfam, '', [], 1);
}

sub os_feedback_files
{
return ( $network_interfaces_config, "/etc/nsswitch.conf", "/etc/resolv.conf",
	 "/etc/HOSTNAME" );
}

1;

07070100039a28000081a40000000000000002000000013d1fe2d70000001e000000200000000000000000000000000000001500000003reloc/net/defaultacl  ifcs=2
routes=2
dns=2
hosts=2
  07070100039a29000081e40000000000000002000000013d1fe2d700000f4d000000200000000000000000000000000000001800000003reloc/net/edit_aifc.cgi   #!/usr/local/bin/perl
# edit_aifc.cgi
# Edit or create an active interface

require './net-lib.pl';
$access{'ifcs'} == 2 || &error($text{'ifcs_ecannot'});
&ReadParse();
if ($in{'new'}) {
	&header($text{'aifc_create'}, "");
	}
else {
	&header($text{'aifc_edit'}, "");
	@act = &active_interfaces();
	$a = $act[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_aifc.cgi>\n";
print "<input type=hidden name=new value=\"$in{'new'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",
      $in{'virtual'} || $a && $a->{'virtual'} ne "" ? $text{'aifc_desc2'}
						    : $text{'aifc_desc1'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'ifcs_name'}</b></td> <td>\n";
if ($in{'new'} && $in{'virtual'}) {
	print "<input type=hidden name=name value=$in{'virtual'}>\n";
	print "$in{'virtual'}:<input name=virtual size=3>\n";
	}
elsif ($in{'new'}) {
	print "<input name=name size=6>\n";
	}
else {
	print "<font size=+1><tt>$a->{'fullname'}</tt></font>\n";
	}
print "</td>\n";

print "<td><b>$text{'ifcs_ip'}</b></td>\n";
printf "<td><input name=address size=15 value=\"%s\"></td> </tr>\n",
	$a ? $a->{'address'} : "";

print "<tr> <td><b>$text{'ifcs_mask'}</b></td> <td>\n";
printf "<input type=radio name=netmask_def value=1 %s> $text{'ifcs_auto'}\n",
	$a && $a->{'netmask'} ? "" : "checked";
printf "<input type=radio name=netmask_def value=0 %s>\n",
	$a && $a->{'netmask'} ? "checked" : "";
printf "<input name=netmask size=15 value=\"%s\"></td>\n",
	$a ? $a->{'netmask'} : "";

print "<td><b>$text{'ifcs_broad'}</b></td> <td>\n";
printf "<input type=radio name=broadcast_def value=1 %s> $text{'ifcs_auto'}\n",
	$a && $a->{'broadcast'} ? "" : "checked";
printf "<input type=radio name=broadcast_def value=0 %s>\n",
	$a && $a->{'broadcast'} ? "checked" : "";
printf "<input name=broadcast size=15 value=\"%s\"></td> </tr>\n",
	$a ? $a->{'broadcast'} : "";

print "<tr> <td><b>$text{'ifcs_mtu'}</b></td> <td>\n";
printf "<input type=radio name=mtu_def value=1 %s> $text{'aifc_default'}\n",
	$a && $a->{'mtu'} ? "" : "checked";
printf "<input type=radio name=mtu_def value=0 %s>\n",
	$a && $a->{'mtu'} ? "checked" : "";
printf "<input name=mtu size=15 value=\"%s\"></td>\n",
	$a ? $a->{'mtu'} : "";

print "<td><b>$text{'ifcs_status'}</b></td> <td>\n";
printf "<input type=radio name=up value=1 %s> $text{'ifcs_up'}\n",
	$a && !$a->{'up'} ? "" : "checked";
printf "<input type=radio name=up value=0 %s> $text{'ifcs_down'}</td> </tr>\n",
	$a && !$a->{'up'} ? "checked" : "";

if ((!$a && $in{'virtual'} eq "") ||
    ($a && $a->{'virtual'} eq "" && &iface_hardware($a->{'name'}))) {
	print "<tr> <td><b>$text{'aifc_hard'}</b></td> <td>\n";
	if ($in{'new'}) {
		printf "<input type=radio name=ether_def value=1 %s> %s\n",
			$a ? "" : "checked", $text{'aifc_default'};
		printf "<input type=radio name=ether_def value=0 %s>\n",
			$a ? "checked" : "";
		}
	printf "<input name=ether size=18 value=\"%s\"></td>\n",
		$a ? $a->{'ether'} : "";
	}
else {
	print "<tr> <td colspan=2></td>\n";
	}
if ($a && $a->{'virtual'} eq "") {
	print "<td><b>$text{'ifcs_virts'}</b></td>\n";
	$vcount = 0;
	foreach $va (@act) {
		if ($va->{'virtual'} ne "" && $va->{'name'} eq $a->{'name'}) {
			$vcount++;
			}
		}
	print "<td>$vcount\n";
	print "(<a href='edit_aifc.cgi?new=1&virtual=$a->{'name'}'>",
	      "$text{'ifcs_addvirt'}</a>)</td>\n";
	}
print "</tr>\n";
     

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value=\"$text{'create'}\"></td>\n";
	}
else {
	print "<td><input type=submit value=\"$text{'save'}\"></td> ",
	      "<td align=right>\n";
	print "<input type=submit name=delete value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("list_ifcs.cgi", $text{'ifcs_return'});

   07070100039a2a000081e40000000000000002000000013d1fe2d700000ffe000000200000000000000000000000000000001800000003reloc/net/edit_bifc.cgi   #!/usr/local/bin/perl
# edit_bifc.cgi
# Edit or create a bootup interface

require './net-lib.pl';
$access{'ifcs'} == 2 || &error($text{'ifcs_ecannot'});
&ReadParse();
if ($in{'new'}) {
	&header($text{'bifc_create'}, "");
	}
else {
	&header($text{'bifc_edit'}, "");
	@boot = &boot_interfaces();
	$b = $boot[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_bifc.cgi>\n";
print "<input type=hidden name=new value=\"$in{'new'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",
      $in{'virtual'} || $b && $b->{'virtual'} ne "" ? $text{'bifc_desc2'}
						    : $text{'bifc_desc1'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'ifcs_name'}</b></td> <td>\n";
if ($in{'new'} && $in{'virtual'}) {
	print "<input type=hidden name=name value=$in{'virtual'}>\n";
	print "$in{'virtual'}:<input name=virtual size=3>\n";
	}
elsif ($in{'new'}) {
	print "<input name=name size=6>\n";
	}
else {
	print "<font size=+1><tt>$b->{'fullname'}</tt></font>\n";
	}
print "</td>\n";

print "<td><b>$text{'ifcs_ip'}</b></td> <td>\n";
$virtual = (!$b && $in{'virtual'}) || ($b && $b->{'virtual'} ne "");
$dhcp = &can_edit("dhcp") && !$virtual;
$bootp = &can_edit("bootp") && !$virtual;
if ($dhcp) {
	printf "<input type=radio name=mode value=dhcp %s> %s\n",
		$b && $b->{'dhcp'} ? "checked" : "", $text{'ifcs_dhcp'};
	}
if ($bootp) {
	printf "<input type=radio name=mode value=bootp %s> %s\n",
		$b && $b->{'bootp'} ? "checked" : "", $text{'ifcs_bootp'};
	}
if ($dhcp || $bootp) {
	printf "<input type=radio name=mode value=address %s>\n",
		!$b || (!$b->{'bootp'} && !$b->{'dhcp'}) ? "checked" : "";
	}
else {
	print "<input type=hidden name=mode value=address>\n";
	}
printf "<input name=address size=15 value=\"%s\"></td> </tr>\n",
	$b && !$b->{'bootp'} && !$b->{'dhcp'} ? $b->{'address'} : "";

print "<tr> <td><b>$text{'ifcs_mask'}</b></td>\n";
if (&can_edit("netmask", $b)) {
	printf "<td><input name=netmask size=15 value='%s'></td>\n",
		$b ? $b->{'netmask'} : "";
	}
else {
	printf "<td>%s</td>\n", $b ? $b->{'netmask'} : $text{'ifcs_auto'};
	}

print "<td><b>$text{'ifcs_broad'}</b></td>\n";
if (&can_edit("broadcast", $b)) {
	printf "<td><input name=broadcast size=15 value='%s'></td>\n",
		$b ? $b->{'broadcast'} : "";
	}
else {
	printf "<td>%s</td> </tr>\n", $b ? $b->{'broadcast'}
					 : $text{'ifcs_auto'};
	}

print "<tr> <td><b>$text{'ifcs_mtu'}</b></td>\n";
if (&can_edit("mtu", $b)) {
	printf "<td><input name=mtu size=15 value='%s'></td>\n",
		$b ? $b->{'mtu'} : "";
	}
else {
	printf "<td>%s</td>\n", $b && $b->{'mtu'} ? $b->{'mtu'}
						  : $text{'ifcs_auto'};
	}

print "<td><b>$text{'ifcs_act'}</b></td>\n";
if (&can_edit("up", $b)) {
	printf "<td><input type=radio name=up value=1 %s> $text{'yes'}\n",
		!$b || $b->{'up'} ? "checked" : "";
	printf "<input type=radio name=up value=0 %s> $text{'no'}</td>\n",
		$b && !$b->{'up'} ? "checked" : "";
	}
else {
	printf "<td>%s</td> </tr>\n",
		!$b ? $text{'yes'} :
		$b->{'up'} ? $text{'yes'} : $text{'no'};
	}

print "<tr> <td colspan=2></td>\n";
if ($b && $b->{'virtual'} eq "") {
	print "<td><b>$text{'ifcs_virts'}</b></td>\n";
	$vcount = 0;
	foreach $vb (@boot) {
		if ($vb->{'virtual'} ne "" && $vb->{'name'} eq $b->{'name'}) {
			$vcount++;
			}
		}
	print "<td>$vcount\n";
	print "(<a href='edit_bifc.cgi?new=1&virtual=$b->{'name'}'>",
	      "$text{'ifcs_addvirt'}</a>)</td>\n";
	}
print "</tr>\n";
     

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value=\"$text{'create'}\"></td>\n";
	}
else {
	print "<td><input type=submit value=\"$text{'save'}\"></td>\n";
	if (!($b->{'bootp'} || $b->{'dhcp'})) {
		print "<td align=center><input type=submit ",
		      "name=activate value=\"$text{'bifc_apply'}\"></td>\n";
		}
	print "<td align=right><input type=submit name=delete ",
	      "value=\"$text{'delete'}\"></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("list_ifcs.cgi", $text{'ifcs_return'});

  07070100039a2b000081e40000000000000002000000013d1fe2d70000051c000000200000000000000000000000000000001800000003reloc/net/edit_host.cgi   #!/usr/local/bin/perl
# edit_host.cgi
# Edit or create a host address

require './net-lib.pl';
$access{'hosts'} == 2 || &error($text{'hosts_ecannot'});
&ReadParse();
if ($in{'new'}) {
	&header($text{'hosts_create'}, "");
	}
else {
	&header($text{'hosts_edit'}, "");
	@hosts = &list_hosts();
	$h = $hosts[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_host.cgi>\n";
print "<input type=hidden name=new value=\"$in{'new'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'hosts_detail'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'hosts_ip'}</b></td>\n";
print "<td><input name=address size=30 value=\"$h->{'address'}\"></td> </tr>\n";
print "<tr $cb> <td valign=top><b>$text{'hosts_host'}</b></td>\n";
print "<td><textarea cols=30 rows=5 name=hosts>",
	join("\n", @{$h->{'hosts'}}),"</textarea></td> </tr>\n";
print "<tr> <td colspan=2 align=right>\n";
if ($in{'new'}) {
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
else {
	print "<input type=submit value=\"$text{'save'}\">\n";
	print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
	}
print "</table></td></tr></table>\n";
print "</form>\n";
print "<hr>\n";
&footer("list_hosts.cgi", $text{'hosts_return'});

07070100039a2c000081a40000000000000002000000013d1fe2d70000004c000000200000000000000000000000000000001c00000003reloc/net/feedback_files.pl   
do 'net-lib.pl';

sub feedback_files
{
return &os_feedback_files();
}

1;

07070100039a2d000081a40000000000000002000000013d1fe2d700002a39000000200000000000000000000000000000001900000003reloc/net/freebsd-lib.pl  # freebsd-lib.pl
# Networking functions for FreeBSD

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+:/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+):/;
	$ifc{'name'} = $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+):\s/) { $ifc{'virtual'} = $2; }
	if ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
		$ifc{'address'} = $1;
		$ifc{'netmask'} = &parse_hex($2);
		$ifc{'broadcast'} = $3;
		}
	elsif ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)//) {
		$ifc{'address'} = $1;
		$ifc{'netmask'} = &parse_hex($2);
		}
	else { next; }
	if ($l =~ /ether\s+(\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /mtu\s+(\S+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\<UP/);
	$ifc{'edit'} = &iface_type($ifc{'name'}) =~ /ethernet|loopback/i;
	$ifc{'index'} = scalar(@rv);
	if ($ifc{'ether'}) {
		$ifc{'ether'} = join(":", map { sprintf "%2.2d", $_ }
					      split(/:/, $ifc{'ether'}));
		}
	push(@rv, \%ifc);

	# Add aliases as virtual interfaces
	local $v = 0;
	while($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
		local %vifc = %ifc;
		$vifc{'address'} = $1;
		$vifc{'netmask'} = &parse_hex($2);
		$vifc{'broadcast'} = $3;
		$vifc{'up'} = 1;
		$vifc{'edit'} = $ifc{'edit'};
		$vifc{'virtual'} = $v++;
		$vifc{'fullname'} = $vifc{'name'}.':'.$vifc{'virtual'};
		$vifc{'index'} = scalar(@rv);
		push(@rv, \%vifc);
		}
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local %act;
map { $act{$_->{'fullname'}} = $_ } &active_interfaces();
local $old = $act{$_[0]->{'fullname'}};
$act{$_[0]->{'fullname'}} = $_[0];
&interface_sync(\%act, $_[0]->{'name'});
}

# deactivate_interface(&details)
# Deactive an interface
sub deactivate_interface
{
local %act;
local @act = &active_interfaces();
if ($_[0]->{'virtual'} eq '') {
	@act = grep { $_->{'name'} ne $_[0]->{'name'} } @act;
	}
else {
	@act = grep { $_->{'fullname'} ne $_[0]->{'fullname'} } @act;
	}
map { $act{$_->{'fullname'}} = $_ } @act;
&interface_sync(\%act, $_[0]->{'name'});
}

# interface_sync(interfaces, name)
sub interface_sync
{
while(`ifconfig $_[1]` =~ /\s+inet\s+/) {
	&system_logged("ifconfig $_[1] delete >/dev/null 2>&1");
	}
foreach $a (sort { $a->{'fullname'} cmp $b->{'fullname'} }
		 grep { $_->{'name'} eq $_[1] } values(%{$_[0]})) {
	local $cmd = "ifconfig $a->{'name'}";
	if ($a->{'virtual'} ne '') {
		$cmd .= " alias $a->{'address'}";
		}
	else {
		$cmd .= " $a->{'address'}";
		}
	if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
	if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
	if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
	$msg .= "running $cmd<br>\n";
	local $out = &backquote_logged("$cmd 2>&1");
	if ($? && $out !~ /file exists/i) {
		&error($out);
		}
	if ($a->{'virtual'} eq '') {
		if ($a->{'up'}) { $out = `ifconfig $a->{'name'} up 2>&1`; }
		else { $out = &backquote_logged("ifconfig $a->{'name'} down 2>&1"); }
		&error($out) if ($?);
		}
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local %rc = &get_rc_conf();
local @rv;
foreach $r (keys %rc) {
	local $v = $rc{$r};
	local %ifc;
	if ($r =~ /^ifconfig_([a-z0-9]+)$/) {
		# Non-virtual interface
		%ifc = ( 'name' => $1,
			 'fullname' => $1 );
		}
	elsif ($r =~ /^ifconfig_([a-z0-9]+)_alias(\d+)$/) {
		# Virtual interface
		%ifc = ( 'name' => $1,
			 'virtual' => $2,
			 'fullname' => "$1:$2" );
		}
	else { next; }

	if ($v =~ /^inet\s+(\S+)/ || /^([0-9\.]+)/) {
		$ifc{'address'} = $1;
		}
	else { next; }
	local @a = split(/\./, $ifc{'address'});
	if ($v =~ /netmask\s+(0x\S+)/) {
		$ifc{'netmask'} = &parse_hex($1);
		}
	elsif ($v =~ /netmask\s+([0-9\.]+)/) {
		$ifc{'netmask'} = $1;
		}
	else {
		$ifc{'netmask'} = $a[0] >= 192 ? "255.255.255.0" :
				  $a[0] >= 128 ? "255.255.0.0" :
						 "255.0.0.0";
		}
	if ($v =~ /broadcast\s+(0x\S+)/) {
		$ifc{'broadcast'} = &parse_hex($1);
		}
	elsif ($v =~ /broadcast\s+([0-9\.]+)/) {
		$ifc{'broadcast'} = $1;
		}
	else {
		local @n = split(/\./, $ifc{'netmask'});
		$ifc{'broadcast'} = sprintf "%d.%d.%d.%d",
					($a[0] | ~int($n[0]))&0xff,
					($a[1] | ~int($n[1]))&0xff,
					($a[2] | ~int($n[2]))&0xff,
					($a[3] | ~int($n[3]))&0xff;
		}
	$ifc{'mtu'} = $1 if ($v =~ /mtu\s+(\d+)/);
	$ifc{'up'} = 1;
	$ifc{'edit'} = 1;
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local $str = "inet $_[0]->{'address'}";
$str .= " netmask $_[0]->{'netmask'}" if ($_[0]->{'netmask'});
$str .= " broadcast $_[0]->{'broadcast'}" if ($_[0]->{'broadcast'});
&lock_file("/etc/rc.conf");
if ($_[0]->{'virtual'} eq '') {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}, $str);
	}
else {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}.'_alias'.$_[0]->{'virtual'},
		      $str);
	}
&unlock_file("/etc/rc.conf");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
&lock_file("/etc/rc.conf");
if ($_[0]->{'virtual'} eq '') {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'});
	}
else {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}.'_alias'.$_[0]->{'virtual'});
	}
&unlock_file("/etc/rc.conf");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return	$_[0] =~ /^tun/ ? "Loopback tunnel" :
	$_[0] =~ /^sl/ ? "SLIP" :
	$_[0] =~ /^ppp/ ? "PPP" :
	$_[0] =~ /^lo/ ? "Loopback" :
	$_[0] =~ /^ar/ ? "Arnet" :
	$_[0] =~ /^(ax|mx|pn|rl|tx|wb)/ ? "Fast ethernet" :
	$_[0] =~ /^(cs|dc|de|ed|el|ex|fe|fxp|ie|le|lnc|tl|vr|vx|xl|ze|zp)/ ? "Ethernet" : $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return 0;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] =~ /netmask|broadcast/;
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);

open(HOST, "/etc/host.conf");
while(<HOST>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@{$dns->{'order'}}, $_) if (/\S/);
	}
close(HOST);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/host.conf");
open(HOST, ">/etc/host.conf");
foreach (@{$_[0]->{'order'}}) {
	print HOST $_,"\n";
	}
close(HOST);
&unlock_file("/etc/host.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
local @o = @{$_[0]->{'order'}};
local ($rv, $i, $j);
local @srcs = ( "", "hosts", "bind", "nis" );
local @srcn = ( "", "Hosts", "DNS", "NIS" );
for($i=1; $i<@srcs; $i++) {
	local $ii = $i-1;
	$rv .= "<select name=order_$ii>\n";
	for($j=0; $j<@srcs; $j++) {
		$rv .= sprintf "<option value=\"%s\" %s>%s\n",
				$srcs[$j],
				$o[$ii] eq $srcs[$j] ? "selected" : "",
				$srcn[$j] ? $srcn[$j] : "&nbsp;";
		}
	$rv .= "</select>\n";
	}
return $rv;
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
local($i, @order);
for($i=0; defined($in{"order_$i"}); $i++) {
	push(@order, $in{"order_$i"}) if ($in{"order_$i"});
	}
$_[0]->{'order'} = \@order;
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
&lock_file("/etc/rc.conf");
&system_logged("hostname $_[0] >/dev/null 2>&1");
&save_rc_conf('hostname', $_[0]);
&unlock_file("/etc/rc.conf");
}

sub routing_input
{
local %rc = &get_rc_conf();
local $defr = $rc{'defaultrouter'};
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input name=defr_def type=radio value=1 %s> %s\n",
	$defr eq 'NO' ? 'checked' : '', $text{'routes_none'};
printf "<input name=defr_def type=radio value=0 %s>\n",
	$defr eq 'NO' ? '' : 'checked';
printf "<input name=defr size=20 value='%s'></td> </tr>\n",
	$defr eq 'NO' ? '' : $defr;

local $gw = $rc{'gateway_enable'};
print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
printf "<input name=gw type=radio value=YES %s> %s\n",
	$gw eq 'YES' ? 'checked' : '', $text{'yes'};
printf "<input name=gw type=radio value=NO %s> %s</td> </tr>\n",
	$gw eq 'YES' ? '' : 'checked', $text{'no'};

local $rd = $rc{'router_enable'};
print "<tr> <td><b>$text{'routes_routed'}</b></td> <td>\n";
printf "<input name=rd type=radio value=YES %s> %s\n",
	$rd eq 'YES' ? 'checked' : '', $text{'yes'};
printf "<input name=rd type=radio value=NO %s> %s</td> </tr>\n",
	$rd eq 'YES' ? '' : 'checked', $text{'no'};
}

sub parse_routing
{
&lock_file("/etc/rc.conf");
$in{'defr_def'} || &check_ipaddress($in{'defr'}) ||
	&error(&text('routes_edefault', $in{'defr'}));
&save_rc_conf('defaultrouter', $in{'defr_def'} ? 'NO' : $in{'defr'});
&save_rc_conf('gateway_enable', $in{'gw'});
&save_rc_conf('router_enable', $in{'rd'});
&unlock_file("/etc/rc.conf");
}

# save_rc_conf(name, value)
sub save_rc_conf
{
local $found;
open(CONF, "/etc/rc.conf");
local @conf = <CONF>;
close(CONF);
open(CONF, ">/etc/rc.conf");
foreach (@conf) {
	if (/^\s*([^=]+)\s*=\s*(.*)/ && $1 eq $_[0]) {
		print CONF "$_[0]=\"$_[1]\"\n" if (@_ > 1);
		$found++;
		}
	else {
		print CONF $_;
		}
	}
if (!$found && @_ > 1) {
	print CONF "$_[0]=\"$_[1]\"\n";
	}
close(CONF);
}

# get_rc_conf()
sub get_rc_conf
{
local ($file, %rv);
foreach $file ("/etc/defaults/rc.conf", "/etc/rc.conf") {
	open(FILE, $file);
	while(<FILE>) {
		s/\r|\n//g;
		s/#.*$//;
		if (/^\s*([^=\s]+)\s*=\s*"(.*)"/ ||
		    /^\s*([^=\s]+)\s*=\s*(\S+)/) {
			$rv{$1} = $2;
			}
		}
	close(FILE);
	}
return %rv;
}

sub os_feedback_files
{
return ( "/etc/rc.conf", "/etc/resolv.conf", "/etc/host.conf",
	 "/etc/resolv.conf" );
}

1;

   07070100039a2e000081e40000000000000002000000013d1fe2d700000201000000200000000000000000000000000000001400000003reloc/net/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a menu of various network screens

require './net-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("ifconfig hosts resolve.conf nsswitch.conf", "man"));
print "<hr>\n";

foreach $i ('ifcs', 'routes', 'dns', 'hosts') {
	if ($access{$i}) {
		push(@links, "list_${i}.cgi");
		push(@titles, $text{"${i}_title"});
		push(@icons, "images/${i}.gif");
		}
	}
&icons_table(\@links, \@titles, \@icons);
print "<hr>\n";
&footer("/", $text{'index'});

   0707010003f642000041ed0000000000000001000000023d1ffac400000000000000200000000000000000000000000000000f00000003reloc/net/lang    0707010003f643000081a40000000000000002000000013d1fe2d70000132f000000200000000000000000000000000000001200000003reloc/net/lang/ca index_title=Configuració de Xarxa
index_return=a la configuració de xarxa

ifcs_title=Interfícies de Xarxa
ifcs_now=Interfícies Actives
ifcs_name=Nom
ifcs_type=Tipus
ifcs_ip=Adreça IP
ifcs_mask=Màscara de subxarxa
ifcs_status=Estat
ifcs_virtual=Virtual
ifcs_up=Activa
ifcs_down=Inactiva
ifcs_add=Afegeix una nova interfície
ifcs_boot=Interfícies Activades en Engegar
ifcs_act=Activa en engegar
ifcs_bootp=Des de BOOTP
ifcs_dhcp=Des de DHCP
ifcs_broad=Retransmissió
ifcs_auto=Automàtica
ifcs_mtu=MTU
ifcs_virts=Interfícies virtuals
ifcs_addvirt=Afegeix interfície virtual
ifcs_return=a les interfícies de xarxa
ifcs_unknown=Desconeguda
ifcs_ecannot=No tens permís per editar interfícies de xarxa

aifc_create=Creació d'Interfície Activa
aifc_edit=Edició d'Interfície Activa
aifc_desc1=Paràmetres d'Interfície Activa
aifc_desc2=Paràmetres d'Interfície Virtual Activa
aifc_hard=Adreça del maquinari
aifc_default=Defecte
aifc_err1=No he pogut suprimir la interfície
aifc_err2=No he pogut desar la interfície
aifc_evirt=Hi falta el número d'interfície o bé és invàlid
aifc_evirtdup=La interfície virtual $1 ja existeix
aifc_edup=La interfície $1 ja existeix
aifc_ename=Hi falta el nom de la interfície o bé és invàlid
aifc_eip='$1' no és una adreça IP vàlida
aifc_emask='$1' no és una màscara de xarxa vàlida
aifc_ebroad='$1' no és una adreça de retransmissió vàlida
aifc_emtu='$1' no és un MTU vàlid
aifc_ehard='$1' no és una adreça de maquinari vàlida
aifc_eexist=La interfície '$1' no existeix

bifc_create=Creació d'Interfície d'Engegada
bifc_edit=Edició d'Interfície d'Engegada
bifc_desc1=Paràmetres d'Engegada de la Interfície
bifc_desc2=Paràmetres d'Engegada de la Interfície Virtual
bifc_apply=Desa i Aplica
bifc_err1=No he pogut suprimir la interfície
bifc_err2=No he pogut desar la interfície
bifc_evirt=Hi falta el número de la interfície o bé és invàlid
bifc_evirtdup=La interfície virtual $1 ja existeix
bifc_edup=La interfície $1 ja existeix
bifc_ename=Hi falta el nom de la interfície o bé és invàlid
bifc_eip='$1' no és una adreça IP vàlida
bifc_emask='$1' no és una màscara de xarxa vàlida
bifc_ebroad='$1' no és una adreça de retransmissió vàlida
bifc_emtu='$1' no és un MTU vàlid
bifc_err3=No he pogut activar la interfície

routes_title=Encaminament i Portals
routes_boot=Configuració de l'encaminament activada <i>en engegar</i>
routes_default=Encaminador per defecte
routes_none=Cap
routes_device=Dispositiu
routes_gateway=Portal
routes_forward=Actua com un encaminador
routes_routed=Inicia el dimoni descobridor de rutes
routes_edefault='$1' no és un encaminador per defecte vàlid
routes_edevice='$1' no és un dispositiu vàlid
routes_device2=Dispositiu encaminador per defecte
routes_static=Rutes estàtiques
routes_ifc=Interfície
routes_net=Xarxa
routes_mask=Màscara
routes_type=Tipus
routes_enet='$1' no és una xarxa vàlida
routes_emask='$1' no és una màscara de xarxa vàlida
routes_egateway='$1' no és un portal vàlid
routes_defaults=Encaminadors per defecte
routes_possible=Si és possible
routes_local=Rutes locals
routes_err=No he pogut desar l'encaminament
routes_ecannot=No tens permís per editar l'encaminament i els portals
routes_script=Ordres d'encaminament addicionals
routes_etype='$1' no és un tipus de ruta vàlid

dns_title=Client DNS
dns_options=Opcions de Client DNS
dns_hostname=Nom de Host
dns_order=Ordre de Resolució
dns_servers=Servidors DNS
dns_search=Dominis de Recerca
dns_none=Cap
dns_listed=Llistats...
dns_eorder=Hi falta l'ordre de resolució
dns_ecannot=No tens permís per editar els valors dels clients DNS
dns_err=No he pogut desar la configuració DNS
dns_ehost='$1' no és un nom de host vàlid
dns_ens='$1' no és una adreça IP del servidor de noms vàlida
dns_edomain='$1' no és un nom de domini vàlid
dns_esearch=No has donat cap domini per buscar

hosts_title=Adreces de Hosts
hosts_ip=Adreça IP
hosts_host=Noms de host
hosts_add=Afegeix una nova adreça de host
hosts_edit=Edita Adreça de Host
hosts_create=Crea Adreça de Host
hosts_detail=Host i Adreces
hosts_return=a la llista d'adreces de hosts
hosts_ecannot=No tens permís per editar les adreces dels hosts

log_create_host=He creat l'adreça de host $1
log_delete_host=He suprimit l'adreça de host $1
log_modify_host=He modificat l'adreça de host $1
log_dns=He canviat les opcions del client DNS
log_routes=He canviat les opcions d'encaminament i portals
log_create_aifc=He activat la interfície $1 adreça $2
log_modify_aifc=He reactivat la interfície $1 adreça $2
log_delete_aifc=He desactivat la interfície $1 adreça $2
log_create_bifc=He creat la interfície $1 adreça $2
log_modify_bifc=He modificat la interfície $1 adreça $2
log_delete_bifc=He suprimit la interfície $1 adreça $2
log_dyn=dinàmic

acl_ifcs=Pot editar interfícies de xarxa
acl_routes=Pot editar l'encaminament i els portals
acl_dns=Pot editar els valors del client DNS
acl_hosts=Pot editar les adreces dels hosts
acl_view=Només veure



 0707010003f644000081a40000000000000002000000013d1fe2d700000bf5000000200000000000000000000000000000001200000003reloc/net/lang/cz index_title=Konfigurace site
index_return=sitova konfigurace

ifcs_title=Sitove rozhrani
ifcs_now=Nyni aktivni rozhrani
ifcs_name=Jmeno
ifcs_type=Typ
ifcs_ip=IP Adresa
ifcs_mask=Maska site
ifcs_status=Stav
ifcs_virtual=Virtualni
ifcs_up=Nahoru
ifcs_down=Dolu
ifcs_add=Pridat nove rozhrani
ifcs_boot=Rozhrani, aktivovane pri bootovani
ifcs_act=Aktivovat pri bootovani?
ifcs_bootp=Z BOOTP
ifcs_dhcp=Z DHCP
ifcs_broad=Vysilat
ifcs_auto=Automaticky
ifcs_mtu=MTU
ifcs_virts=Virtualni rozhrani
ifcs_addvirt=Pridat virtualni rozhrani
ifcs_return=Sitova rozhrani

aifc_create=Vytvorti aktivni rozhrani
aifc_edit=Editovat aktivni rozhrani
aifc_desc1=Parametry aktivniho rozhrani
aifc_desc2=Parametry aktivniho virtualniho rozhrani
aifc_hard=Hardwarova adresa
aifc_default=Defaultni
aifc_err1=Chyba pri mazani rozhrani
aifc_err2=Chyba pri ukladani rozhrani
aifc_evirt=Cislo virtualniho rozhrani je spatne nebo chybi
aifc_evirtdup=Virtualni rozhrani $1 jiz existuje
aifc_edup=Rozhrani $1 jiz existuje
aifc_ename=Nazev rozhrani je spatny nebo chybi
aifc_eip='$1' neni platnou IP adresou
aifc_emask='$1' neni platnou maskou site
aifc_ebroad='$1' neni platnou adresou
aifc_emtu='$1' neni platnym MTU
aifc_ehard='$1' neni platnou hardwarovou adresou
aifc_eexist=Rozhrani '$1' neexistuje

bifc_create=Vytvorit bootovaci rozhrani
bifc_edit=Editovat bootovaci rozhrani
bifc_desc1=Boot Time Interface Parameters
bifc_desc2=Boot Time Virtual Interface Parameters
bifc_apply=Pouzit a ulozit zmeny
bifc_err1=Chyba pri mazani rozhrani
bifc_err2=Chyba pri ukladani rozhrani
bifc_evirt=Cislo virtualniho rozhrani je spatne nebo chybi
bifc_evirtdup=Virtualni rozhrani $1 jiz existuje
bifc_edup=Rozhrani $1 jiz existuje
bifc_ename=Nazev rozhrani je spatne nebo chybi
bifc_eip='$1' neni platnou IP adresou
bifc_emask='$1' neni platnou maskou site
bifc_ebroad='$1' neni platnou adresou
bifc_emtu='$1' neni platnym MTU
bifc_err3=Chyba pri aktivaci rozhrani

routes_title=Routery a Brany
routes_boot=Routing configuration activated at <i>boot time</i>
routes_default=Defaultni router
routes_none=Nic
routes_device=Zarizeni
routes_gateway=Brana
routes_forward=Act as router?
routes_routed=Start route discovery daemon?
routes_edefault='$1' neni platny defaultni router
routes_edevice='$1' neni platne zarizeni
routes_device2=Default route device
routes_static=Static routes
routes_ifc=Rozhrani
routes_net=Sit
routes_mask=Maska site
routes_enet='$1' neni platnou siti
routes_emask='$1' neni platnou maskou site
routes_egateway='$1' neni platnou branou
routes_defaults=Defaultni routery
routes_possible=If possible
routes_local=Local routes

dns_title=DNS klient
dns_options=Moznosti DNS klienta
dns_hostname=Hostname
dns_order=Resolution order
dns_servers=DNS servery
dns_search=Search domains
dns_none=Nic
dns_listed=Listed ..
dns_eorder=Missing resolution order

hosts_title=Host Addresses
hosts_ip=IP Adresy
hosts_host=Hostnames
hosts_add=Pridat novou host adresu
hosts_edit=Edit Host Address
hosts_create=Create Host Address
hosts_detail=Host and Addresses
hosts_return=host addresses list
   0707010003f645000081a40000000000000002000000013d1fe2d7000016b6000000200000000000000000000000000000001200000003reloc/net/lang/de #        webmin-0.97     net/lang/de
#
#        created: ??-??-????                 by: Dieter Huerten
#        last modified: 29-may-2002          Rev.: 29-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                     durch: Dieter H&uuml;rten
# letzte &Auml;nderung: 29.05.2002        Rev.: 29.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Netzwerkkonfiguration

index_return=Netzwerkkonfiguration

ifcs_title=Netzwerkschnittstellen
ifcs_now=Jetzt aktive Schnittstellen
ifcs_name=Name
ifcs_type=Typ
ifcs_ip=IP-Adresse
ifcs_mask=Netzmaske
ifcs_status=Status
ifcs_virtual=Virtuell
ifcs_up=Aktiv
ifcs_down=Inaktiv
ifcs_add=Eine neue Schnittstelle hinzuf&uuml;gen
ifcs_boot=Schnittstellen, die beim Booten aktiviert werden
ifcs_act=Aktiviere beim Booten?
ifcs_bootp=Von BOOTP
ifcs_dhcp=Von DHCP
ifcs_broad=Broadcast
ifcs_auto=Automatisch
ifcs_mtu=MTU
ifcs_virts=Virtuelle Schnittstellen
ifcs_addvirt=Virtuelle Schnittstelle hinzuf&uuml;gen
ifcs_return=Netzwerkschnittstellen
ifcs_unknown=Unbekannt
ifcs_ecannot=Sie sind nicht berechtigt, Netzwerkschnittstellen zu bearbeiten

aifc_create=Aktive Schnittstelle erstellen
aifc_edit=Aktive Schnittstelle bearbeiten
aifc_desc1=Parameter der aktiven Schnittstelle
aifc_desc2=Parameter der aktiven virtuellen Schnittstelle
aifc_hard=Hardware-Adresse
aifc_default=Standard
aifc_err1=Fehler beim L&ouml;schen der Schnittstelle
aifc_err2=Fehler beim Speichern der Schnittstelle
aifc_evirt=Fehlende oder ung&uuml;ltige Nummer der virtuellen Schnittstelle
aifc_evirtdup=Die virtuelle Schnittstelle $1 existiert bereits
aifc_edup=Die Schnittstelle $1 existiert bereits
aifc_ename=Fehlender oder ung&uuml;ltiger Schnittstellenname
aifc_eip='$1' ist keine g&uuml;ltige IP-Adresse
aifc_emask='$1' ist keine g&uuml;ltige Netzmaske
aifc_ebroad='$1' ist keine g&uuml;ltige Broadcast-Adresse
aifc_emtu='$1' ist keine g&uuml;ltige MTU
aifc_ehard='$1' ist keine g&uuml;ltige Hardware-Adresse
aifc_eexist=Schnittstelle '$1' existiert nicht

bifc_create=Bootup-Schnittstelle erstellen
bifc_edit=Bootup-Schnittstelle bearbeiten
bifc_desc1=Parameter f&uuml;r Schnittstelle zur Boot-Zeit
bifc_desc2=Parameter f&uuml;r virtuelle Schnittstelle zur Boot-Zeit
bifc_apply=Speichern und Anwenden
bifc_err1=Fehler beim L&ouml;schen der Schnittstelle
bifc_err2=Fehler beim Speichern der Schnittstelle
bifc_evirt=Fehlende oder ung&uuml;ltige Nummer der virtuellen Schnittstelle
bifc_evirtdup=Die virtuelle Schnittstelle $1 existiert bereits
bifc_edup=Die Schnittstelle $1 existiert bereits
bifc_ename=Fehlender oder ung&uuml;ltiger Schnittstellenname
bifc_eip='$1' ist keine g&uuml;ltige IP-Adresse
bifc_emask='$1' ist keine g&uuml;ltige Netzmaske
bifc_ebroad='$1' ist keine g&uuml;ltige Broadcast-Adresse
bifc_emtu='$1' ist keine g&uuml;ltige MTU
bifc_err3=Fehler beim Aktivieren der Schnittstelle

routes_title=Routing und Gateways
routes_boot=Routing-Konfiguration, die zur <I>Boot-Zeit</I> aktiviert wird
routes_default=Standard-Router
routes_none=Keiner
routes_device=Ger&auml;t
routes_gateway=Gateway
routes_forward=Als Router arbeiten?
routes_routed=Starte Dienst f&uuml;r 'Discovery'-D&auml;mon?
routes_edefault='$1' ist kein g&uuml;ltiger Standard-Router
routes_edevice='$1' ist kein g&uuml;ltiges Ger&auml;t
routes_device2=Standard-Router Ger&auml;t
routes_static=Statische Routen
routes_ifc=Schnittstelle
routes_net=Netzwerk
routes_mask=Netzmaske
routes_type=Typ
routes_enet='$1' ist kein g&uuml;ltiges Netzwerk
routes_emask='$1' ist keine g&uuml;ltige Netzmaske
routes_egateway='$1' ist kein g&uuml;ltiges Gateway
routes_defaults=Standard-Router
routes_possible=Wenn m&ouml;glich
routes_local=Lokale Routen
routes_err=Fehler beim Speichern der Routen
routes_ecannot=Sie sind nicht berechtigt, Routen und Gateways zu bearbeiten
routes_script=Zus&auml;tzliche Routing-Befehle
routes_etype='$1' ist kein g&uuml;ltiger Route-Typ

dns_title=DNS-Client
dns_options=DNS-Client Optionen
dns_hostname=Host-Name
dns_order=Aufl&ouml;sungsreihenfolge
dns_servers=DNS-Server
dns_search=Suchdom&auml;nen
dns_none=Keine
dns_listed=Aufgelistet ...
dns_eorder=Fehlende Aufl&ouml;sungsreihenfolge
dns_ecannot=Sie sind nicht berechtigt, DNS-Client Einstellungen zu bearbeiten
dns_err=Fehler beim Speichern der DNS-Konfiguration
dns_ehost='$1' ist kein g&uuml;ltiger Host-Name
dns_ens='$1' ist keine g&uuml;ltige IP-Adresse eines DNS-Servers
dns_edomain='$1' ist kein g&uuml;ltiger Dom&auml;nenname
dns_esearch=Keine Suchdom&auml;nen angegeben

hosts_title=Host-Adressen
hosts_ip=IP-Adresse
hosts_host=Host-Name
hosts_add=Eine neue Host-Adresse hinzuf&uuml;gen
hosts_edit=Host-Adresse bearbeiten
hosts_create=Host-Adresse hinzuf&uuml;gen
hosts_detail=Hosts und Adressen
hosts_return=Host-Adressenliste
hosts_ecannot=Sie sind nicht berechtigt, Host-Adressen zu bearbeiten

log_create_host=Erzeugte Host-Adresse $1
log_delete_host=Gel&ouml;schte Host-Adresse $1
log_modify_host=Ge&auml;nderte Host-Adresse $1
log_dns=Ge&auml;nderte DNS-Client Einstellungen
log_routes=Ge&auml;nderte Routing und Gateway Einstellungen
log_create_aifc=Aktivierte Schnittstelle $1 Adresse $2
log_modify_aifc=Reaktivierte Schnittstelle $1 Adresse $2
log_delete_aifc=Deaktivierte Schnittstelle $1 Adresse $2
log_create_bifc=Erzeugte Schnittstelle $1 Adresse $2
log_modify_bifc=Ge&auml;nderte Schnittstelle $1 Adresse $2
log_delete_bifc=Gel&ouml;schte Schnittstelle $1 Adresse $2
log_dyn=dynamisch

acl_ifcs=Darf Netzwerkschnittstellen bearbeiten?
acl_routes=Darf Routen und Gateways bearbeiten?
acl_dns=Darf DNS-Client Einstellungen bearbeiten?
acl_hosts=Darf Host-Adressen bearbeiten?
acl_view=Nur Anzeigen  0707010003f646000081a40000000000000002000000013d1fe2d700001124000000200000000000000000000000000000001200000003reloc/net/lang/en index_title=Network Configuration
index_return=network configuration

ifcs_title=Network Interfaces
ifcs_now=Interfaces Active Now
ifcs_name=Name
ifcs_type=Type
ifcs_ip=IP Address
ifcs_mask=Netmask
ifcs_status=Status
ifcs_virtual=Virtual
ifcs_up=Up
ifcs_down=Down
ifcs_add=Add a new interface
ifcs_boot=Interfaces Activated at Boot Time
ifcs_act=Activate at boot?
ifcs_bootp=From BOOTP
ifcs_dhcp=From DHCP
ifcs_broad=Broadcast
ifcs_auto=Automatic
ifcs_mtu=MTU
ifcs_virts=Virtual interfaces
ifcs_addvirt=Add virtual interface
ifcs_return=network interfaces
ifcs_unknown=Unknown
ifcs_ecannot=You are not allowed to edit network interfaces

aifc_create=Create Active Interface
aifc_edit=Edit Active Interface
aifc_desc1=Active Interface Parameters
aifc_desc2=Active Virtual Interface Parameters
aifc_hard=Hardware address
aifc_default=Default
aifc_err1=Failed to delete interface
aifc_err2=Failed to save interface
aifc_evirt=Missing or invalid virtual interface number
aifc_evirtdup=The virtual interface $1 already exists
aifc_edup=The interface $1 already exists
aifc_ename=Missing or invalid interface name
aifc_eip='$1' is not a valid IP address
aifc_emask='$1' is not a valid netmask
aifc_ebroad='$1' is not a valid broadcast address
aifc_emtu='$1' is not a valid MTU
aifc_ehard='$1' is not a valid hardware address
aifc_eexist=Interface '$1' does not exist

bifc_create=Create Bootup Interface
bifc_edit=Edit Bootup Interface
bifc_desc1=Boot Time Interface Parameters
bifc_desc2=Boot Time Virtual Interface Parameters
bifc_apply=Save and Apply
bifc_err1=Failed to delete interface
bifc_err2=Failed to save interface
bifc_evirt=Missing or invalid virtual interface number
bifc_evirtdup=The virtual interface $1 already exists
bifc_edup=The interface $1 already exists
bifc_ename=Missing or invalid interface name
bifc_eip='$1' is not a valid IP address
bifc_emask='$1' is not a valid netmask
bifc_ebroad='$1' is not a valid broadcast address
bifc_emtu='$1' is not a valid MTU
bifc_err3=Failed to activate interface

routes_title=Routing and Gateways
routes_boot=Routing configuration activated at <i>boot time</i>
routes_default=Default router
routes_none=None
routes_device=Device
routes_gateway=Gateway
routes_forward=Act as router?
routes_routed=Start route discovery daemon?
routes_edefault='$1' is not a valid default router
routes_edevice='$1' is not a valid device
routes_device2=Default route device
routes_static=Static routes
routes_ifc=Interface
routes_net=Network
routes_mask=Netmask
routes_type=Type
routes_enet='$1' is not a valid network
routes_emask='$1' is not a valid netmask
routes_egateway='$1' is not a valid gateway
routes_defaults=Default routers
routes_possible=If possible
routes_local=Local routes
routes_err=Failed to save routing
routes_ecannot=You are not allowed to edit routing and gateways
routes_script=Additional routing commands
routes_etype='$1' is not a valid route type

dns_title=DNS Client
dns_options=DNS Client Options
dns_hostname=Hostname
dns_order=Resolution order
dns_servers=DNS servers
dns_search=Search domains
dns_none=None
dns_listed=Listed ..
dns_eorder=Missing resolution order
dns_ecannot=You are not allowed to edit DNS client settings
dns_err=Failed to save DNS configuration
dns_ehost='$1' is not a valid hostname
dns_ens='$1' is not a valid nameserver IP address
dns_edomain='$1' is not a valid domain name
dns_esearch=No domains to search given


hosts_title=Host Addresses
hosts_ip=IP Address
hosts_host=Hostnames
hosts_add=Add a new host address
hosts_edit=Edit Host Address
hosts_create=Create Host Address
hosts_detail=Host and Addresses
hosts_return=host addresses list
hosts_ecannot=You are not allowed to edit host addresses

log_create_host=Created host address $1
log_delete_host=Deleted host address $1
log_modify_host=Modified host address $1
log_dns=Changed DNS client options
log_routes=Changed routing and gateways options
log_create_aifc=Activated interface $1 address $2
log_modify_aifc=Reactivated interface $1 address $2
log_delete_aifc=Deactivated interface $1 address $2
log_create_bifc=Created interface $1 address $2
log_modify_bifc=Modified interface $1 address $2
log_delete_bifc=Deleted interface $1 address $2
log_dyn=dynamic

acl_ifcs=Can edit network interfaces?
acl_routes=Can edit routing and gateways?
acl_dns=Can edit DNS client settings?
acl_hosts=Can edit host addresses?
acl_view=View only

0707010003f6bd000081a40000000000000002000000013d1fe2d7000012b8000000200000000000000000000000000000001200000003reloc/net/lang/es index_title=Configuración de Red
index_return=configuración de red

ifcs_title=Interfaces de Red
ifcs_now=Interfaces Activas en este Momento
ifcs_name=Nombre
ifcs_type=Tipo
ifcs_ip=Dirección IP
ifcs_mask=Máscara de Red
ifcs_status=Estado
ifcs_virtual=Virtual
ifcs_up=Levantada
ifcs_down=Bajada
ifcs_add=Añadir una nueva interfaz
ifcs_boot=Interfaces Activadas en el Momento de Arrancar
ifcs_act=¿La activo al arrancar?
ifcs_bootp=Desde BOOTP
ifcs_dhcp=Desde DHCP
ifcs_broad=Difusión (Broadcast)
ifcs_auto=Automática
ifcs_mtu=MTU
ifcs_virts=Interfaces virtuales
ifcs_addvirt=Añadir interfaz virtual
ifcs_return=interfaces de red
ifcs_unknown=Desconocida
ifcs_ecannot=No estás autorizado a editar interfaces de red

aifc_create=Crear Interfaz Activa
aifc_edit=Editar Interfaz Activa
aifc_desc1=Parámetros de Interfaz Activa
aifc_desc2=Activar Parámetros de Interfaz Virtual
aifc_hard=Dirección de Hardware
aifc_default=Por defecto
aifc_err1=Falló al borrar interfaz
aifc_err2=Falló al salvar interfaz
aifc_evirt=Número de interfaz virtual perdido o inválido
aifc_evirtdup=Ya existe la interfaz virtual $1
aifc_edup=Ya existe la interfaz $1
aifc_ename=Nombre de interfaz perdido o inválido
aifc_eip='$1' no es una dirección IP válida
aifc_emask='$1' no es una máscara de red válida
aifc_ebroad='$1' no es una dirección de difusión (broadcast) válida
aifc_emtu='$1' no es una MTU válida
aifc_ehard='$1' no es una dirección de hardware válida
aifc_eexist=La interfaz '$1' no existe

bifc_create=Crear Interfaz de Arranque
bifc_edit=Editar Interfaz de Arranque
bifc_desc1=Parámetros de Interfaz de Arranque
bifc_desc2=Parámetros de Interfaz Virtual de Arranque
bifc_apply=Salvar y Aplicar
bifc_err1=Falló al borrar interfaz
bifc_err2=Falló al salvar interfaz
bifc_evirt=Número de interfaz virtual perdido o inválido
bifc_evirtdup=Ya existe la interfaz virutal $1
bifc_edup=Ya existe la interfaz $1
bifc_ename=Nombre de interfaz perdido o inválido
bifc_eip='$1' no es una dirección IP válida
bifc_emask='$1' no es una máscara de red válida
bifc_ebroad='$1' no es una dirección de difusión (broadcast) válida
bifc_emtu='$1' no es una MTU válida
bifc_err3=Falló al activar interfaz

routes_title=Enrutamiento y Pasarelas
routes_boot=Configuración de enrutamiento activada en el <i>arranque</i>
routes_default=Enrutador por defecto
routes_none=Ninguno
routes_device=Dispositivo
routes_gateway=Pasarela
routes_forward=¿Actúo como si fuera un enrutador?
routes_routed=¿Arranco demonio descubridor de rutas?
routes_edefault='$1' no es un enrutador por defecto válido
routes_edevice='$1' no es un dispositivo válido
routes_device2=Dispositivo de ruta por defecto
routes_static=Rutas estáticas
routes_ifc=Interfaz
routes_net=Red
routes_mask=Máscara de red
routes_enet='$1' no es una red válida
routes_emask='$1' no es una máscara de red válida
routes_egateway='$1' no es una pasarela válida
routes_defaults=Enrutadores por defecto
routes_possible=Si es posible
routes_local=Rutas locales
routes_err=No pude salvar enrutamiento
routes_ecannot=No estás autorizado a editar enrutamientos y pasarelas

dns_title=Cliente DNS 
dns_options=Opciones de Cliente DNS
dns_hostname=Nombre de máquina
dns_order=Orden de Resolución
dns_servers=Servidores DNS
dns_search=Buscar dominios
dns_none=Ninguno
dns_listed=Listado...
dns_eorder=Orden de resolución perdido
dns_ecannot=No estás autorizado a editar valores de cliente DNS
dns_err=No pude salvar la configuración DNS
dns_ehost='$1' no es un nombre válido de máquina
dns_ens='$1' no es una dirección IP válida de nombre de servidor
dns_edomain='$1' no es un nombre de dominio válido
dns_esearch=No se han suministrado dominios a buscar


hosts_title=Dirección de Máquina
hosts_ip=Dirección IP
hosts_host=Nombres de máquina
hosts_add=Añadir nueva dirección de máquina
hosts_edit=Editar Dirección de Máquina
hosts_create=Crear Dirección de Máquina
hosts_detail=Máquina y Direcciones
hosts_return=lista de direcciones de máquina
hosts_ecannot=No estás autorizado a editar direcciones de máquina

log_create_host=Creada dirección de máquina $1
log_delete_host=Borrada dirección de máquina $1
log_modify_host=Modificada dirección de máquina $1
log_dns=Cambiadas opciones de cliente DNS
log_routes=Cambiadas opciones de enrutamiento y pasarela
log_create_aifc=Activada interfaz $1 dirección $2
log_modify_aifc=Reactivada interfaz $1 dirección $2
log_delete_aifc=Desactivada interfaz $1 dirección $2
log_create_bifc=Creada interfaz $1 dirección $2
log_modify_bifc=Modificada interfaz $1 dirección $2
log_delete_bifc=Borrada interfaz $1 dirección $2
log_dyn=dinámico

acl_ifcs=¿Puede editar interfaces de red?
acl_routes=¿Puede editar enrutamientos y pasarelas?
acl_dns=¿Puede editar valores de cliente DNS?
acl_hosts=¿Puede editar direcciones de máquina?
acl_view=Sólo ver

0707010003f6be000081a40000000000000002000000013d1fe2d700001326000000200000000000000000000000000000001200000003reloc/net/lang/fr index_title=Configuration Réseau
index_return=configuration réseau

ifcs_title=Interfaces Réseau
ifcs_now=Interfaces Active
ifcs_name=Nom
ifcs_type=Type
ifcs_ip=IP Adresse
ifcs_mask=Masque de sous-réseau
ifcs_status=État
ifcs_virtual=Virtuel
ifcs_up=Effectif
ifcs_down=Arrêté
ifcs_add=Ajouter une nouvelle interface
ifcs_boot=Interfaces Permanente
ifcs_act=Permanente?
ifcs_bootp=Par BOOTP
ifcs_dhcp=Par DHCP
ifcs_broad=Adresse de diffusion
ifcs_auto=Automatique
ifcs_mtu=MTU (Unité de transfert maximal)
ifcs_virts=Interfaces virtuelles
ifcs_addvirt=Ajouter une interface virtuelle
ifcs_return=interfaces réseau
ifcs_unknown=Inconnu
ifcs_ecannot=Vous n'avez pas le droit d'éditer les interfaces réseau

aifc_create=Créer une Interface Active
aifc_edit=Éditer une Interface Active
aifc_desc1=Paramètres d'une Interface Active
aifc_desc2=Paramètres d'une Interface Virtuel Active
aifc_hard=Adresse matérielle
aifc_default=Défaut
aifc_err1=Impossible de supprimer l'interface
aifc_err2=Impossible d'enregistrer l'interface
aifc_evirt=Numéro d'interface virtuel inconnu ou invalide
aifc_evirtdup=L'interface virtuelle $1 existe déjà
aifc_edup=L'interface $1 existe déjà
aifc_ename=Nom d'interface inconnu ou invalide
aifc_eip=$1 n'est pas une adresse IP valide
aifc_emask=$1 n'est pas un masque de sous-réseau valide
aifc_ebroad=$1 n'est pas une adresse de diffusion valide
aifc_emtu=$1 n'est pas un MTU valide
aifc_ehard=$1 n'est pas une adresse matérielle valide
aifc_eexist=L'interface $1 n'existe pas

bifc_create=Créer une Interface Permanente
bifc_edit=Éditer une Interface Permanente
bifc_desc1=Paramètre de l'Interface Permanente
bifc_desc2=Paramètre de l'Interface Virtuel Permanente
bifc_apply=Enregistrer et Appliquer
bifc_err1=Impossible de supprimer l'interface
bifc_err2=Impossible de sauvegarder l'interface
bifc_evirt=Numéro d'interface virtuel inconnu ou invalide
bifc_evirtdup=L'interface virtuelle $1 existe déjà
bifc_edup=L'interface $1 existe déjà
bifc_ename=Nom d'interface inconnu ou invalide
bifc_eip=$1 n'est pas une adresse IP valide
bifc_emask=$1 n'est pas un masque de sous-réseau valide
bifc_ebroad=$1 n'est pas une adresse de diffusion valide
bifc_emtu=$1 n'est pas un MTU valide
bifc_err3=Impossible d'activer l'interface

routes_title=Passerelles et Routage
routes_boot=Configuration de routage activé au <i>démarrage</i>
routes_default=Routeur par défaut
routes_none=Aucun
routes_device=Périphérique
routes_gateway=Passerelle
routes_forward=Agir comme routeur?
routes_routed=Démarrer le démon découvreur de route ?
routes_edefault=$1 n'est pas un routeur par défaut valide
routes_edevice=$1 n'est pas un périphérique valide
routes_device2=Périphérique par défaut de routage
routes_static=Routes statique
routes_ifc=Interface
routes_net=Réseau
routes_mask=Masque de sous-réseau
routes_enet=$1 n'est pas un réseau valide
routes_emask=$1 n'est pas un masque de sous-réseau valide
routes_egateway=$1 n'est pas une passerelle non valide
routes_defaults=Routeur par défaut
routes_possible=Si possible
routes_local=Routes locale
routes_err=Echec de la sauvegarde du routage
routes_ecannot=Vous n'avez pas le droit d'éditer le routage et les passerelles

dns_title=Client DNS
dns_options=Options du Client DNS
dns_hostname=Nom d'hôte
dns_order=Ordre de résolution
dns_servers=Serveurs DNS
dns_search=Domaines de recherche
dns_none=Aucun
dns_listed=Listé
dns_eorder=Ordre de résolution introuvable
dns_ecannot=Vous n'avez pas le droit d'éditer les paramètres de client DNS
dns_err=Echec de la sauvegarde de configuration DNS
dns_ehost='$1' n'est pas un nom de machine valide
dns_ens='$1' n'est pas une adresse IP de serveur de noms valide
dns_edomain='$1' n'est pas un nom de domaine valide
dns_esearch=Aucun domaine donné à chercher

hosts_title=Adresses de la machine
hosts_ip=Adresses IP
hosts_host=Noms de machine
hosts_add=Ajouter une nouvelle adresse de machine
hosts_edit=Éditer l'adresse de machine
hosts_create=Créer l'adresse de machine
hosts_detail=Machines et adresses
hosts_return=liste des adresses de machines
hosts_ecannot=Vous n'avez pas le droit d'éditer les adresses de machines

log_create_host=Adresse de machine $1 créée
log_delete_host=Adresse de machine $1 supprimée
log_modify_host=Adresse de machine $1 modifiée
log_dns=Options client DNS modifiées
log_routes=Options de routage et passerelles modifiées
log_create_aifc=Interface $1 adresse $2 activée
log_modify_aifc=Interface $1 adresse $2 réactivée
log_delete_aifc=Interface $1 adresse $2 désactivée
log_create_bifc=Interface $1 adresse $2 créée
log_modify_bifc=Created interface $1 address $2 modifiée
log_delete_bifc=Modified interface $1 address $2 effacée
log_dyn=dynamique

acl_ifcs=Peut éditer les interfaces réseau ?
acl_routes=Peut éditer le routage et les passerelles ?
acl_dns=Peut éditer les paramètres de client DNS ?
acl_hosts=Peut éditer les adresses de machine ?
acl_view=Voir seulement
  0707010003f6bf000081a40000000000000002000000013d1fe2d700001038000000200000000000000000000000000000001900000003reloc/net/lang/ja_JP.euc  index_title=¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê
index_return=¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê

ifcs_title=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
ifcs_now=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥¢¥¯¥Æ¥£¥Ö
ifcs_name=¥Û¥¹¥ÈÌ¾
ifcs_type=¼ïÎà
ifcs_ip=IP ¥¢¥É¥ì¥¹
ifcs_mask=¥Í¥Ã¥È¥Þ¥¹¥¯
ifcs_status=¥¹¥Æ¡¼¥¿¥¹
ifcs_virtual=²¾ÁÛ
ifcs_up=Æ°ºîÃæ
ifcs_down=¥À¥¦¥ó
ifcs_add=¿·µ¬¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÄÉ²Ã
ifcs_boot=µ¯Æ°»þ¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò¥¢¥¯¥Æ¥£¥Ö
ifcs_act=µ¯Æ°»þ¤Ë¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¤«¡©
ifcs_bootp=BOOTP ¤«¤é
ifcs_dhcp=DHCP ¤«¤é
ifcs_broad=¥Ö¥í¡¼¥É¥­¥ã¥¹¥È
ifcs_auto=¼«Æ°
ifcs_mtu=MTU
ifcs_virts=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
ifcs_addvirt=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÄÉ²Ã
ifcs_return=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
ifcs_unknown=ÉÔÌÀ

aifc_create=¥¢¥¯¥Æ¥£¥Ö ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òºîÀ®
aifc_edit=¥¢¥¯¥Æ¥£¥Ö ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÊÔ½¸
aifc_desc1=¥¢¥¯¥Æ¥£¥Ö ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥Ñ¥é¥á¡¼¥¿
aifc_desc2=¥¢¥¯¥Æ¥£¥Ö ²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥Ñ¥é¥á¡¼¥¿
aifc_hard=¥Ï¡¼¥É¥¦¥§¥¢ ¥¢¥É¥ì¥¹
aifc_default=¥Ç¥Õ¥©¥ë¥È
aifc_err1=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
aifc_err2=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
aifc_evirt=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
aifc_evirtdup=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
aifc_edup=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹¡£
aifc_ename=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
aifc_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
aifc_emask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
aifc_ebroad='$1' ¤ÏÌµ¸ú¤Ê¥Ö¥í¡¼¥É¥­¥ã¥¹¥È ¥¢¥É¥ì¥¹¤Ç¤¹
aifc_emtu='$1' ¤ÏÌµ¸ú¤Ê MTU ¤Ç¤¹
aifc_ehard='$1' ¤ÏÌµ¸ú¤Ê¥Ï¡¼¥É¥¦¥§¥¢ ¥¢¥É¥ì¥¹¤Ç¤¹
aifc_eexist=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

bifc_create=µ¯Æ° ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òºîÀ®
bifc_edit=µ¯Æ° ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÊÔ½¸
bifc_desc1=µ¯Æ°»þ¤Î ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥Ñ¥é¥á¡¼¥¿
bifc_desc2=µ¯Æ°»þ¤Î²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥Ñ¥é¥á¡¼¥¿
bifc_apply=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
bifc_err1=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
bifc_err2=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
bifc_evirt=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
bifc_evirtdup=²¾ÁÛ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
bifc_edup=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Þ¤¹¡£
bifc_ename=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
bifc_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
bifc_emask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
bifc_ebroad='$1' ¤ÏÌµ¸ú¤Ê¥Ö¥í¡¼¥É¥­¥ã¥¹¥È ¥¢¥É¥ì¥¹¤Ç¤¹
bifc_emtu='$1' ¤ÏÌµ¸ú¤Ê MTU ¤Ç¤¹
bifc_err3=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

routes_title=¥ë¡¼¥Æ¥£¥ó¥°¤È¥²¡¼¥È¥¦¥§¥¤
routes_boot=¥ë¡¼¥Æ¥£¥ó¥°ÀßÄê¤Ï<i>µ¯Æ°»þ</i>¤Ë¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ê¤Þ¤·¤¿
routes_default=¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥¿
routes_none=¤Ê¤·
routes_device=¥Ç¥Ð¥¤¥¹
routes_gateway=¥²¡¼¥È¥¦¥§¥¤
routes_forward=¥ë¡¼¥¿¤È¤·¤ÆÆ°ºî¤µ¤»¤Þ¤¹¤«¡©
routes_routed=¥ë¡¼¥È ¥Ç¥£¥¹¥«¥Ð¥ê ¥Ç¡¼¥â¥ó¤òµ¯Æ°¤·¤Þ¤¹¤«¡©
routes_edefault='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥¿¤Ç¤¹
routes_edevice='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥Ð¥¤¥¹¤Ç¤¹
routes_device2=¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥È ¥Ç¥Ð¥¤¥¹
routes_static=ÀÅÅª¥ë¡¼¥È
routes_ifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
routes_net=¥Í¥Ã¥È¥ï¡¼¥¯
routes_mask=¥Í¥Ã¥È¥Þ¥¹¥¯
routes_enet='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯¤Ç¤¹
routes_emask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
routes_egateway='$1' ¤ÏÌµ¸ú¤Ê¥²¡¼¥È¥¦¥§¥¤¤Ç¤¹
routes_defaults=¥Ç¥Õ¥©¥ë¥È ¥ë¡¼¥¿
routes_possible=²ÄÇ½¤Ê¾ì¹ç
routes_local=¥í¡¼¥«¥ë ¥ë¡¼¥È
routes_err=¥ë¡¼¥Æ¥£¥ó¥°¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

dns_title=DNS ¥¯¥é¥¤¥¢¥ó¥È
dns_options=DNS ¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó
dns_hostname=¥Û¥¹¥ÈÌ¾
dns_order=²ò·è½ç
dns_servers=DNS ¥µ¡¼¥Ð
dns_search=¥É¥á¥¤¥ó¤Î¸¡º÷
dns_none=¤Ê¤·
dns_listed=¥ê¥¹¥È..
dns_eorder=²ò·è½ç¤¬¤¢¤ê¤Þ¤»¤ó

hosts_title=¥Û¥¹¥È ¥¢¥É¥ì¥¹
hosts_ip=IP ¥¢¥É¥ì¥¹
hosts_host=¥Û¥¹¥ÈÌ¾
hosts_add=¿·µ¬¤Î¥Û¥¹¥È ¥¢¥É¥ì¥¹¤òÄÉ²Ã
hosts_edit=¥Û¥¹¥È ¥¢¥É¥ì¥¹¤òÊÔ½¸
hosts_create=¥Û¥¹¥È ¥¢¥É¥ì¥¹¤òºîÀ®
hosts_detail=¥Û¥¹¥È¤È¥¢¥É¥ì¥¹
hosts_return=¥Û¥¹¥È ¥¢¥É¥ì¥¹ ¥ê¥¹¥È

log_create_host=¥Û¥¹¥È ¥¢¥É¥ì¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_host=¥Û¥¹¥È¥¢¥É¥ì¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_host=¥Û¥¹¥È¥¢¥É¥ì¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_dns=DNS ¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_routes=¥ë¡¼¥Æ¥£¥ó¥°¤È¥²¡¼¥È¥¦¥§¥¤ ¥ª¥×¥·¥ç¥ó
log_create_aifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤·¤¿
log_modify_aifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤òºÆÅÙ¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤·¤¿
log_delete_aifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤òÈó¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤·¤¿
log_create_bifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_bifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_bifc=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ $1 ¥¢¥É¥ì¥¹ $2 ¤òºï½ü¤·¤Þ¤·¤¿
log_dyn=Æ°Åª

0707010003f6c0000081a40000000000000002000000013d1fe2d700000e6d000000200000000000000000000000000000001900000003reloc/net/lang/ko_KR.euc  index_title=³×Æ®¿öÅ© ±¸¼º
index_return=³×Æ®¿öÅ© ±¸¼º

ifcs_title=³×Æ®¿öÅ© ÀÎÅÍÆäÀÌ½º
ifcs_now=ÇöÀç È°¼º »óÅÂÀÎ ÀÎÅÍÆäÀÌ½º
ifcs_name=ÀÌ¸§
ifcs_type=À¯Çü
ifcs_ip=IP ÁÖ¼Ò
ifcs_mask=³Ý¸¶½ºÅ©
ifcs_status=»óÅÂ
ifcs_virtual=°¡»ó
ifcs_up=¿Ã¸²
ifcs_down=³»¸²
ifcs_add=»õ ÀÎÅÍÆäÀÌ½º Ãß°¡
ifcs_boot=ºÎÆÃ ½Ã ÀÎÅÍÆäÀÌ½º È°¼ºÈ­ µÊ
ifcs_act=ºÎÆÃ ½Ã È°¼ºÈ­ÇÕ´Ï±î?
ifcs_bootp=BOOTP·Î ºÎÅÍ
ifcs_dhcp=DHCP·Î ºÎÅÍ
ifcs_broad=ºê·ÎµåÄ³½ºÆ®
ifcs_auto=ÀÚµ¿
ifcs_mtu=MTU
ifcs_virts=°¡»ó ÀÎÅÍÆäÀÌ½º
ifcs_addvirt=°¡»ó ÀÎÅÍÆäÀÌ½º Ãß°¡
ifcs_return=³×Æ®¿öÅ© ÀÎÅÍÆäÀÌ½º
ifcs_unknown=¾Ë ¼ö ¾øÀ½

aifc_create=È°¼º ÀÎÅÍÆäÀÌ½º ÀÛ¼º
aifc_edit=È°¼º ÀÎÅÍÆäÀÌ½º ÆíÁý
aifc_desc1=È°¼º ÀÎÅÍÆäÀÌ½º ¸Å°³ º¯¼ö
aifc_desc2=È°¼º °¡»ó ÀÎÅÍÆäÀÌ½º ¸Å°³ º¯¼ö
aifc_hard=ÇÏµå¿þ¾î ÁÖ¼Ò
aifc_default=±âº»°ª
aifc_err1=ÀÎÅÍÆäÀÌ½º¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
aifc_err2=ÀÎÅÍÆäÀÌ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
aifc_evirt=¾ø°Å³ª Àß¸øµÈ °¡»ó ÀÎÅÍÆäÀÌ½º ¹øÈ£
aifc_evirtdup=°¡»ó ÀÎÅÍÆäÀÌ½º $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
aifc_edup=ÀÎÅÍÆäÀÌ½º $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
aifc_ename=¾ø°Å³ª Àß¸øµÈ ÀÎÅÍÆäÀÌ½º ÀÌ¸§
aifc_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
aifc_emask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
aifc_ebroad='$1'Àº(´Â) À¯È¿ÇÑ ºê·ÎµåÄ³½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
aifc_emtu='$1'Àº(´Â) À¯È¿ÇÑ MTU°¡ ¾Æ´Õ´Ï´Ù 
aifc_ehard='$1'Àº(´Â) À¯È¿ÇÑ ÇÏµå¿þ¾î ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
aifc_eexist=ÀÎÅÍÆäÀÌ½º '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

bifc_create=ºÎÆ® ÀÎÅÍÆäÀÌ½º ÀÛ¼º
bifc_edit=ºÎÆ® ÀÎÅÍÆäÀÌ½º ÆíÁý
bifc_desc1=ºÎÆÃ ½Ã ÀÎÅÍÆäÀÌ½º ¸Å°³ º¯¼ö
bifc_desc2=ºÎÆÃ ½Ã °¡»ó ÀÎÅÍÆäÀÌ½º ¸Å°³ º¯¼ö
bifc_apply=ÀúÀå ¹× Àû¿ë
bifc_err1=ÀÎÅÍÆäÀÌ½º¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
bifc_err2=ÀÎÅÍÆäÀÌ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
bifc_evirt=¾ø°Å³ª Àß¸øµÈ °¡»ó ÀÎÅÍÆäÀÌ½º ¹øÈ£
bifc_evirtdup=°¡»ó ÀÎÅÍÆäÀÌ½º $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
bifc_edup=ÀÎÅÍÆäÀÌ½º $1ÀÌ(°¡) ÀÌ¹Ì ÀÖ½À´Ï´Ù
bifc_ename=¾ø°Å³ª Àß¸øµÈ ÀÎÅÍÆäÀÌ½º ÀÌ¸§
bifc_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù 
bifc_emask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
bifc_ebroad='$1'Àº(´Â) À¯È¿ÇÑ ºê·ÎµåÄ³½ºÆ® ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
bifc_emtu='$1'Àº(´Â) À¯È¿ÇÑ MUT°¡ ¾Æ´Õ´Ï´Ù 
bifc_err3=ÀÎÅÍÆäÀÌ½º¸¦ È°¼ºÈ­ÇÏÁö ¸øÇß½À´Ï´Ù

routes_title=¶ó¿ìÆÃ ¹× °ÔÀÌÆ®¿þÀÌ
routes_boot=<i>ºÎÆÃ ½Ã</i> ¶ó¿ìÆÃ ±¸¼º È°¼ºÈ­ µÊ
routes_default=±âº» ¶ó¿ìÅÍ
routes_none=¾øÀ½
routes_device=ÀåÄ¡
routes_gateway=°ÔÀÌÆ®¿þÀÌ
routes_forward=¶ó¿ìÅÍ·Î ¿ªÇÒÀ» ÇÕ´Ï±î?
routes_routed=¶ó¿ìÆ® °Ë»ö µ¥¸óÀ» ½ÃÀÛÇÕ´Ï±î?
routes_edefault='$1'Àº(´Â) À¯È¿ÇÑ ±âº» ¶ó¿ìÅÍ°¡ ¾Æ´Õ´Ï´Ù 
routes_edevice='$1'Àº(´Â) À¯È¿ÇÑ ÀåÄ¡°¡ ¾Æ´Õ´Ï´Ù 
routes_device2=±âº» ¶ó¿ìÆ® ÀåÄ¡
routes_static=Á¤Àû ¶ó¿ìÆ®
routes_ifc=ÀÎÅÍÆäÀÌ½º
routes_net=³×Æ®¿öÅ©
routes_mask=³Ý¸¶½ºÅ©
routes_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ©°¡ ¾Æ´Õ´Ï´Ù
routes_emask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
routes_egateway='$1'Àº(´Â) À¯È¿ÇÑ °ÔÀÌÆ®¿þÀÌ°¡ ¾Æ´Õ´Ï´Ù 
routes_defaults=±âº» ¶ó¿ìÅÍ
routes_possible=°¡´ÉÇÑ °æ¿ì
routes_local=·ÎÄÃ ¶ó¿ìÆ®
routes_err=¶ó¿ìÆÃÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

dns_title=DNS Å¬¶óÀÌ¾ðÆ®
dns_options=DNS Å¬¶óÀÌ¾ðÆ® ¿É¼Ç
dns_hostname=È£½ºÆ® ÀÌ¸§
dns_order=Á¶È¸ ¼ø¼­
dns_servers=DNS ¼­¹ö
dns_search=µµ¸ÞÀÎ °Ë»ö
dns_none=¾øÀ½
dns_listed=³ª¿­µÈ Ç×¸ñ..
dns_eorder=Á¶È¸ ¼ø¼­ ¾øÀ½

hosts_title=È£½ºÆ® ÁÖ¼Ò
hosts_ip=IP ÁÖ¼Ò
hosts_host=È£½ºÆ® ÀÌ¸§
hosts_add=»õ È£½ºÆ® ÁÖ¼Ò Ãß°¡
hosts_edit=È£½ºÆ® ÁÖ¼Ò ÆíÁý
hosts_create=È£½ºÆ® ÁÖ¼Ò ÀÛ¼º
hosts_detail=È£½ºÆ® ¹× ÁÖ¼Ò
hosts_return=È£½ºÆ® ÁÖ¼Ò ¸ñ·Ï

log_create_host=È£½ºÆ® ÁÖ¼Ò $1 ÀÛ¼ºµÊ
log_delete_host=È£½ºÆ® ÁÖ¼Ò $1 »èÁ¦µÊ
log_modify_host=È£½ºÆ® ÁÖ¼Ò $1 ¼öÁ¤µÊ
log_dns=DNS Å¬¶óÀÌ¾ðÆ® ¿É¼Ç º¯°æµÊ
log_routes=¶ó¿ìÆÃ ¹× °ÔÀÌÆ®¿þÀÌ ¿É¼Ç º¯°æµÊ
log_create_aifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 È°¼ºÈ­µÊ
log_modify_aifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 ´Ù½Ã È°¼ºÈ­µÊ
log_delete_aifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 ºñÈ°¼ºÈ­µÊ
log_create_bifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 ÀÛ¼ºµÊ
log_modify_bifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 ¼öÁ¤µÊ
log_delete_bifc=ÀÎÅÍÆäÀÌ½º $1 ÁÖ¼Ò $2 »èÁ¦µÊ
log_dyn=µ¿Àû

   0707010003f6ca000081a40000000000000002000000013d1fe2d700001255000000200000000000000000000000000000001200000003reloc/net/lang/pl index_title=Konfiguracja sieci
index_return=konfiguracji sieci

ifcs_title=Interfejsy sieciowe
ifcs_now=Interfejsy aktywne obecnie
ifcs_name=Nazwa
ifcs_type=Rodzaj
ifcs_ip=Adres IP
ifcs_mask=Maska sieci
ifcs_status=Stan
ifcs_virtual=wirtualny
ifcs_up=Podniesiony
ifcs_down=Wy³±czony
ifcs_add=Dodaj nowy interfejs
ifcs_boot=Interfejsy aktywne podczas startu
ifcs_act=Podnie¶æ przy starcie?
ifcs_bootp=BOOTP
ifcs_dhcp=DHCP
ifcs_broad=Broadcast
ifcs_auto=Automatycznie
ifcs_mtu=MTU
ifcs_virts=Interfejsy wirtualne
ifcs_addvirt=Dodaj interfejs wirtualny
ifcs_return=interfejsów sieciowych
ifcs_unknown=Nieznany
ifcs_ecannot=Nie masz uprawnieñ do zmiany interfejsów sieciowych

aifc_create=Utwórz interfejs aktywny
aifc_edit=Zmieñ interfejs aktywny
aifc_desc1=Dane interfejsu aktywnego
aifc_desc2=Dane wirtualnego interfejsu aktywnego
aifc_hard=Adres sprzêtowy
aifc_default=Domy¶lne
aifc_err1=Nie uda³o siê usun±æ interfejsu
aifc_err2=Nie uda³o siê zachowaæ interfejsu
aifc_evirt=Brak lub nieprawid³owy numer interfejsu wirtualnego
aifc_evirtdup=Interfejs wirtualny $1 ju¿ istnieje
aifc_edup=Interfejs $1 ju¿ istnieje
aifc_ename=Brak lub nieprawid³owa nazwa interfejsu
aifc_eip='$1' nie jest poprawnym adresem IP
aifc_emask='$1' nie jest poprawn± mask± sieci
aifc_ebroad='$1' nie jest poprawnym adresem broadcastu
aifc_emtu='$1' nie jest poprawnym MTU
aifc_ehard='$1' nie jest poprawnym adresem sprzêtowym
aifc_eexist=Interfejs '$1' nie istnieje

bifc_create=Utwórz interfejs startowy
bifc_edit=Zmieñ interfejs startowy
bifc_desc1=Dane interfejsu startowego
bifc_desc2=Dane wirtualnego interfejsu startowego
bifc_apply=Zachowaj i zastosuj
bifc_err1=Nie uda³o siê usun±æ interfejsu
bifc_err2=Nie uda³o siê zachowaæ interfejsu
bifc_evirt=Brak lub nieprawid³owy numer interfejsu wirtualnego
bifc_evirtdup=Interfejs wirtualny $1 ju¿ istnieje
bifc_edup=Interfejs $1 ju¿ istnieje
bifc_ename=Brak lub nieprawid³owa nazwa interfejsu
bifc_eip='$1' nie jest poprawnym adresem IP
bifc_emask='$1' nie jest poprawn± mask± sieci
bifc_ebroad='$1' nie jest poprawnym adresem broadcastu
bifc_emtu='$1' nie jest poprawnym MTU
bifc_err3=Nie uda³o siê uaktywniæ interfejsu

routes_title=Routing i bramki
routes_boot=Konfiguracja routingu przy <i>starcie systemu</i>
routes_default=Domy¶lna bramka
routes_none=Brak
routes_device=Interfejs
routes_gateway=Bramka
routes_forward=Pracowaæ jako router?
routes_routed=Uruchomiæ demona obs³ugi routingu?
routes_edefault='$1' nie jest poprawn± domy¶ln± bramk±
routes_edevice='$1' nie jest poprawnym urz±dzeniem
routes_device2=Urz±dzenie domy¶lnej bramki
routes_static=Routing statyczny
routes_ifc=Interfejs
routes_net=Sieæ
routes_mask=Maska sieci
routes_enet='$1' nie jest poprawn± sieci±
routes_emask='$1' nie jest poprawn± mask± sieci
routes_egateway='$1' nie jest poprawn± bramk±
routes_defaults=Domy¶lne routery
routes_possible=Je¶li mo¿liwe
routes_local=Routing lokalny
routes_err=Nie uda³o siê zachowaæ routingu
routes_ecannot=Nie masz uprawnieñ do zmiany routingu i&nbsp;bramek
routes_script=Dodatkowe polecenia routingu

dns_title=Klient DNS
dns_options=Opcje klienta DNS
dns_hostname=Nazwa hosta
dns_order=Kolejno¶æ rozwi±zywania nazw
dns_servers=Serwery DNS
dns_search=Przeszukiwaæ domeny
dns_none=¯adnej
dns_listed=Wymienione ..
dns_eorder=Brak kolejno¶ci rozwi±zywania nazw
dns_ecannot=Nie masz uprawnieñ do zmiany ustawieñ klienta DNS
dns_err=Nie uda³o siê zachowaæ konfiguracji DNS
dns_ehost='$1' nie jest poprawn± nazw± hosta
dns_ens='$1' nie jest poprawnym adresem IP serwera DNS
dns_edomain='$1' nie jest poprawn± nazw± domeny
dns_esearch=Nie podano domen do szukania

hosts_title=Adresy hostów
hosts_ip=Adres IP
hosts_host=Nazwy hosta
hosts_add=Dodaj nowy adres hosta
hosts_edit=Zmieñ adres hosta
hosts_create=Utwórz adres hosta
hosts_detail=Hosty i&nbsp;adresy
hosts_return=listy adresów hostów
hosts_ecannot=Nie masz uprawnieñ do zmiany adresów hostów

log_create_host=Utworzono host o&nbsp;adresie $1
log_delete_host=Skasowano host o&nbsp;adresie $1
log_modify_host=Zmieniono host o&nbsp;adresie $1
log_dns=Zmieniono opcje klienta DNS
log_routes=Zmieniono opcje routingu i&nbsp;bramek
log_create_aifc=Aktywowano interfejs $1 o&nbsp;adresie $2
log_modify_aifc=Reaktywowano interfejs $1 o&nbsp;adresie $2
log_delete_aifc=Dezaktywowano interfejs $1 o&nbsp;adresie $2
log_create_bifc=Utworzono interfejs $1 o&nbsp;adresie $2
log_modify_bifc=Zmieniono interfejs $1 o&nbsp;adresie $2
log_delete_bifc=Usuniêto interfejs $1 o&nbsp;adresie $2
log_dyn=dynamicznie

acl_ifcs=Mo¿e zmieniaæ interfejsy sieciowe?
acl_routes=Mo¿e zmieniaæ routing i&nbsp;bramki?
acl_dns=Mo¿e zmieniaæ ustawienia klienta DNS?
acl_hosts=Mo¿e zmieniaæ  adresy hostów?
acl_view=Tylko podgl±d
   0707010003f6cb000081a40000000000000002000000013d1fe2d700000ce8000000200000000000000000000000000000001200000003reloc/net/lang/pt index_title=Configuração de Rede
index_return=configuração de rede

ifcs_title=Interfaces de Rede
ifcs_now=Interfaces Activas
ifcs_name=Nome
ifcs_type=Tipo
ifcs_ip=Endereço IP
ifcs_mask=Máscara de sub-rede
ifcs_status=Estado
ifcs_virtual=Virtual
ifcs_up=Up
ifcs_down=Down
ifcs_add=Adicionar nova interface
ifcs_boot=Interfaces Activadas no Arranque
ifcs_act=Activar no arranque?
ifcs_bootp=De BOOTP
ifcs_dhcp=De DHCP
ifcs_broad=Broadcast
ifcs_auto=Automático
ifcs_mtu=MTU
ifcs_virts=Interfaces Virtuais
ifcs_addvirt=Adicionar interface virtual
ifcs_return=interfaces de rede

aifc_create=Criar Interface Activa
aifc_edit=Editar Interface Activa
aifc_desc1=Parâmetros da Interface Activa
aifc_desc2=Parâmetros da Interface Activa Virtual
aifc_hard=Endereço de hardware
aifc_default=Predefinido
aifc_err1=Falha ao apagar interface
aifc_err2=Falha ao guardar interface
aifc_evirt=Número da interface virtual em falta ou inválido
aifc_evirtdup=A interface virtual $1 já existe
aifc_edup=A interface $1 já existe
aifc_ename=Nome da interface em falta ou inválido
aifc_eip='$1' não é um endereço IP válido
aifc_emask='$1' não é uma máscara de sub-rede válida
aifc_ebroad='$1' não é um endereço de broadcast válido
aifc_emtu='$1' não é um MTU válido
aifc_ehard='$1' não é um endereço de hardware válido
aifc_eexist=A interface '$1' não existe

bifc_create=Criar Interface de Arranque
bifc_edit=Editar Interface de Arranque
bifc_desc1=Parâmetros da Interface no Arranque
bifc_desc2=Parâmetros da Interface Virtual no Arranque
bifc_apply=Guardar e Aplicar
bifc_err1=Falha ao apagar interface
bifc_err2=Falha ao guardar interface
bifc_evirt=Número da interface virtual em falta ou inválido
bifc_evirtdup=A interface virtual $1 já existe
bifc_edup=A interface $1 já existe
bifc_ename=Nome da interface em falta ou inválido
bifc_eip='$1' não é um endereço de IP válido
bifc_emask='$1' não é uma máscara de sub-rede válida
bifc_ebroad='$1' não é um endereço de broadcast válido
bifc_emtu='$1' não é um MTU válido
bifc_err3=Falha ao activar interface

routes_title=Routing e Gateways
routes_boot=Configuração de routing activado no <i>arranque</i>
routes_default=Router predefinido
routes_none=Nenhum
routes_device=Dispositivo
routes_gateway=Gateway
routes_forward=Actuar como um router?
routes_edefault='$1' não é um router predefinido válido
routes_edevice='$1' não é um dispositivo válido
routes_device2=Dispositivo router predefinido
routes_static=Routes Estáticas
routes_ifc=Interface
routes_net=Rede
routes_mask=Máscara de sub-rede
routes_enet='$1' não é uma rede válida
routes_emask='$1' não é uma máscara de sub-rede válida
routes_egateway='$1' não é um gateway válido
routes_defaults=Routers predefinidos
routes_possible=Se possivel
routes_local=Routes locais

dns_title=Cliente DNS
dns_options=Opções do Cliente DNS
dns_hostname=Nome do Anfitrião
dns_order=Ordem de resolução
dns_servers=Servidores DNS
dns_search=Procurar domínios
dns_none=Nenhum
dns_listed=Listados ..
dns_eorder=Ordem de resolução em falta

hosts_title=Endereços do Anfitrião
hosts_ip=Endereço IP
hosts_host=Nome do Anfitrião
hosts_add=Adicionar novos endereços do anfitrião
hosts_edit=Editar Endereços do Anfitrião
hosts_create=Criar Endereços do Anfitrião
hosts_detail=Anfitrião e Endereços
hosts_return=lista de endereços do anfitrião
0707010003f6cc000081a40000000000000002000000013d1fe2d700000d76000000200000000000000000000000000000001500000003reloc/net/lang/ru_RU  ifcs_broad=Øèðîêîâåùàò.
routes_ifc=Èíòåðôåéñ
ifcs_now=Èíòåðôåéñû Àêòèâíûå Ñåé÷àñ
bifc_emask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ìàñêîé
ifcs_addvirt=Äîáàâèòü âèðòóàëüíûé èíòåðôåéñ
aifc_evirt=Ïîòåðÿí èëè íåâåðíûé íîìåð âèðòóàëüíîãî èíòåðôåéñà
ifcs_title=Ñåòåâûå Èíòåðôåéñû
ifcs_up=Ïîäíÿò
routes_none=Íåò
bifc_edup=Èíòåðôåéñ $1 óæå ñóùåñòâóåò
routes_device2=Óñòðîéñòâî ìàðøðóòèçàöèè ïî óìîë÷àíèþ
hosts_return=ñïèñîê àäðåñîâ õîñòîâ
aifc_ehard='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àïïàðàòíûì àäðåñîì
routes_mask=Ìàñêà ñåòè
index_return=íàñòðîéêè ñåòè
bifc_evirt=Ïîòåðÿí èëè íåâåðíûé íîìåð âèðòóàëüíîãî èíòåðôåéñà
hosts_title=Àäðåñà Õîñòîâ
dns_servers=DNS ñåðâåðà
hosts_detail=Õîñòû è Àäðåñà
ifcs_virts=Âèðòóàëüíûå èíòåðôåéñû
aifc_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
dns_search=Ïîèñê â äîìåíàõ
routes_title=Øëþçû è Ìàðøðóòèçàöèÿ
bifc_apply=Ñîõðàíèòü è Ïðèíÿòü
ifcs_return=ñåòåâûå èíòåðôåéñû
aifc_ebroad='$1' íå ÿâëÿåòñÿ äîïóñòèìûì øèðîêîâåùàòåëüíûì àäðåñîì
aifc_ename=Ïîòåðÿíî èëè íåâåðíîå èìÿ èíòåðôåéñà
aifc_err1=Îøèáêà ïðè óäàëåíèè èíòåðôåéñà
aifc_err2=Îøèáêà ïðè ñîõðàíåíèè èíòåðôåéñà
ifcs_mask=Ìàñêà ñåòè
routes_static=Ñòàòè÷åñêèå ìàðøðóòû
ifcs_status=Ñîñòîÿíèå
dns_none=Íåò
routes_default=Ìàðøðóòèçàòîð ïî óìîë÷àíèþ
routes_enet='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòüþ åâîé ìàñêîé
bifc_ename=Ïîòåðÿíî èëè íåâåðíîå èìÿ èíòåðôåéñà
ifcs_auto=Àâòîìàòè÷åñêè
aifc_evirtdup=Âèðòóàëüíûé èíòåðôåéñ $1 óæå ñóùåñòâóåò
bifc_err1=Îøèáêà ïðè óäàëåíèè èíòåðôåéñà
bifc_err2=Îøèáêà ïðè ñîõðàíåíèè èíòåðôåéñà
bifc_err3=Îøèáêà ïðè àêòèâàöèè èíòåðôåéñà
routes_boot=Ïàðàìåòðû ìàðøðóòèçàöèè àêòèâèçèðóåìûå âî âðåìÿ <i>ñòàðòà</i>
routes_emask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ìàñêîé
bifc_create=Ñîçäàíèå Ñòàðòîâîãî Èíòåðôåéñà
routes_edefault='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàðøðóòèçàòîðîì ïî óìîë÷àíèþ
hosts_host=Èìåíà Õîñòîâ
ifcs_mtu=MTU
routes_defaults=Øëþçû ïî óìîë÷àíèþ
index_title=Íàñòðîéêè Ñåòè
bifc_evirtdup=Âèðòóàëüíûé èíòåðôåéñ $1 óæå ñóùåñòâóåò
routes_net=Ñåòü
routes_forward=Ðàáîòàåò êàê ìàðøðóòèçàòîð?
ifcs_bootp=Ïî BOOTP
hosts_add=Äîáàâèòü íîâûé àäðåñ õîñòà
dns_order=Ïîðÿäîê ðàçðåøåíèÿ
dns_eorder=Ïîòåðÿí ïîðÿäîê ðàçðåøåíèÿ
dns_title=Êëèåíò DNS
aifc_desc1=Ïàðàìåòðû Àêòèâíîãî Èíòåðôåéñà
aifc_desc2=Ïàðàìåòðû Àêòèâíîãî Âèðòóàëüíîãî Èíòåðôåéñà
ifcs_boot=Èíòåðôåéñû Àêòèâèçèðóåìûå ïðè Ñòàðòå Ñèñòåìû
aifc_emtu='$1' íå ÿâëÿåòñÿ äîïóñòèìûì MTU
aifc_edit=Ðåäàêòèðîâàíèå Àêòèâíîãî Èíòåðôåéñà
ifcs_virtual=Âèðòóàëíûé
routes_device=Óñòðîéñòâî
aifc_default=Ïî óìîë÷àíèþ
ifcs_name=Èìÿ
routes_local=Ëîêàëüíûå ìàðøðóòû
routes_edevice='$1' íå ÿâëÿåòñÿ äîïóñòèìûì óñòðîéñòâîì
ifcs_ip=IP Àäðåñ
bifc_desc1=Ïàðàìåòðû Ñòàðòîâîãî Èíòåðôåéñà
bifc_desc2=Ïàðàìåòðû Âèðòóàëüíîãî Ñòàðòîâîãî Èíòåðôåéñà
bifc_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
routes_gateway=Øëþç
aifc_emask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ñåòåâîé ìàñêîé
aifc_eexist=Èíòåðôåéñ '$1' íå ñóùåñòâóåò
bifc_emtu='$1' íå ÿâëÿåòñÿ äîïóñòèìûì
aifc_create=Ñîçäàíèå Àêòèâíîãî Èíòåðôåéñà
hosts_edit=Ðåäàêòèðîâàòü Àäðåñ Õîñòà
ifcs_act=Àêòèâåí ïðè ñòàðòå?
dns_listed=Ïåðå÷èñëåííûå ..
ifcs_add=Äîáàâèòü íîâûé èíòåðôåéñ
bifc_edit=Ðåäàêòèðîâàíèå Ñòàðòîâîãî Èíòåðôåéñà
ifcs_dhcp=Ïî DHCP
ifcs_type=Òèï
hosts_create=Ñîçäàòü Àäðåñ Õîñòà
hosts_ip=IP Àäðåñ
bifc_ebroad='$1' íå ÿâëÿåòñÿ äîïóñòèìûì øèðîêîâåùàòåëüíûì àäðåñîì
dns_hostname=Èìÿ õîñòà
dns_options=Ïàðàìåòðû DNS êëèåíòà
ifcs_down=Îïóùåí
aifc_hard=Àïïàðàòíûé àäðåñ
routes_egateway='$1' íå ÿâëÿåòñÿ äîïóñòèìûì øëþçîì
aifc_edup=Èíòåðôåéñ $1 óæå ñóùåñòâóåò
routes_possible=Åñëè âîçìîæíî
  0707010003f6f3000081a40000000000000002000000013d1fe2d700000d7c000000200000000000000000000000000000001500000003reloc/net/lang/ru_SU  index_title=îÁÓÔÒÏÊËÉ óÅÔÉ
index_return=ÎÁÓÔÒÏÊËÉ ÓÅÔÉ

ifcs_title=óÅÔÅ×ÙÅ éÎÔÅÒÆÅÊÓÙ
ifcs_now=éÎÔÅÒÆÅÊÓÙ áËÔÉ×ÎÙÅ óÅÊÞÁÓ
ifcs_name=éÍÑ
ifcs_type=ôÉÐ
ifcs_ip=IP áÄÒÅÓ
ifcs_mask=íÁÓËÁ ÓÅÔÉ
ifcs_status=óÏÓÔÏÑÎÉÅ
ifcs_virtual=÷ÉÒÔÕÁÌÎÙÊ
ifcs_up=ðÏÄÎÑÔ
ifcs_down=ïÐÕÝÅÎ
ifcs_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÉÎÔÅÒÆÅÊÓ
ifcs_boot=éÎÔÅÒÆÅÊÓÙ áËÔÉ×ÉÚÉÒÕÅÍÙÅ ÐÒÉ óÔÁÒÔÅ óÉÓÔÅÍÙ
ifcs_act=áËÔÉ×ÅÎ ÐÒÉ ÓÔÁÒÔÅ?
ifcs_bootp=ðÏ BOOTP
ifcs_dhcp=ðÏ DHCP
ifcs_broad=ûÉÒÏËÏ×ÅÝÁÔ.
ifcs_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
ifcs_mtu=MTU
ifcs_virts=÷ÉÒÔÕÁÌØÎÙÅ ÉÎÔÅÒÆÅÊÓÙ
ifcs_addvirt=äÏÂÁ×ÉÔØ ×ÉÒÔÕÁÌØÎÙÊ ÉÎÔÅÒÆÅÊÓ
ifcs_return=ÓÅÔÅ×ÙÅ ÉÎÔÅÒÆÅÊÓÙ

aifc_create=óÏÚÄÁÎÉÅ áËÔÉ×ÎÏÇÏ éÎÔÅÒÆÅÊÓÁ
aifc_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ áËÔÉ×ÎÏÇÏ éÎÔÅÒÆÅÊÓÁ
aifc_desc1=ðÁÒÁÍÅÔÒÙ áËÔÉ×ÎÏÇÏ éÎÔÅÒÆÅÊÓÁ
aifc_desc2=ðÁÒÁÍÅÔÒÙ áËÔÉ×ÎÏÇÏ ÷ÉÒÔÕÁÌØÎÏÇÏ éÎÔÅÒÆÅÊÓÁ
aifc_hard=áÐÐÁÒÁÔÎÙÊ ÁÄÒÅÓ
aifc_default=ðÏ ÕÍÏÌÞÁÎÉÀ
aifc_err1=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÉÎÔÅÒÆÅÊÓÁ
aifc_err2=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÎÔÅÒÆÅÊÓÁ
aifc_evirt=ðÏÔÅÒÑÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ×ÉÒÔÕÁÌØÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ
aifc_evirtdup=÷ÉÒÔÕÁÌØÎÙÊ ÉÎÔÅÒÆÅÊÓ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
aifc_edup=éÎÔÅÒÆÅÊÓ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
aifc_ename=ðÏÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÉÎÔÅÒÆÅÊÓÁ
aifc_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
aifc_emask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ
aifc_ebroad='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÍ ÁÄÒÅÓÏÍ
aifc_emtu='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ MTU
aifc_ehard='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÐÐÁÒÁÔÎÙÍ ÁÄÒÅÓÏÍ
aifc_eexist=éÎÔÅÒÆÅÊÓ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

bifc_create=óÏÚÄÁÎÉÅ óÔÁÒÔÏ×ÏÇÏ éÎÔÅÒÆÅÊÓÁ
bifc_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ óÔÁÒÔÏ×ÏÇÏ éÎÔÅÒÆÅÊÓÁ
bifc_desc1=ðÁÒÁÍÅÔÒÙ óÔÁÒÔÏ×ÏÇÏ éÎÔÅÒÆÅÊÓÁ
bifc_desc2=ðÁÒÁÍÅÔÒÙ ÷ÉÒÔÕÁÌØÎÏÇÏ óÔÁÒÔÏ×ÏÇÏ éÎÔÅÒÆÅÊÓÁ
bifc_apply=óÏÈÒÁÎÉÔØ É ðÒÉÎÑÔØ
bifc_err1=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÉÎÔÅÒÆÅÊÓÁ
bifc_err2=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÎÔÅÒÆÅÊÓÁ
bifc_evirt=ðÏÔÅÒÑÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ×ÉÒÔÕÁÌØÎÏÇÏ ÉÎÔÅÒÆÅÊÓÁ
bifc_evirtdup=÷ÉÒÔÕÁÌØÎÙÊ ÉÎÔÅÒÆÅÊÓ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
bifc_edup=éÎÔÅÒÆÅÊÓ $1 ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
bifc_ename=ðÏÔÅÒÑÎÏ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÉÎÔÅÒÆÅÊÓÁ
bifc_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
bifc_emask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ
bifc_ebroad='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÍ ÁÄÒÅÓÏÍ
bifc_emtu='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ
bifc_err3=ïÛÉÂËÁ ÐÒÉ ÁËÔÉ×ÁÃÉÉ ÉÎÔÅÒÆÅÊÓÁ

routes_title=ûÌÀÚÙ É íÁÒÛÒÕÔÉÚÁÃÉÑ
routes_boot=ðÁÒÁÍÅÔÒÙ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÁËÔÉ×ÉÚÉÒÕÅÍÙÅ ×Ï ×ÒÅÍÑ <i>ÓÔÁÒÔÁ</i>
routes_default=íÁÒÛÒÕÔÉÚÁÔÏÒ ÐÏ ÕÍÏÌÞÁÎÉÀ
routes_none=îÅÔ
routes_device=õÓÔÒÏÊÓÔ×Ï
routes_gateway=ûÌÀÚ
routes_forward=òÁÂÏÔÁÅÔ ËÁË ÍÁÒÛÒÕÔÉÚÁÔÏÒ?
routes_edefault='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁÒÛÒÕÔÉÚÁÔÏÒÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ
routes_edevice='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÕÓÔÒÏÊÓÔ×ÏÍ
routes_device2=õÓÔÒÏÊÓÔ×Ï ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ
routes_static=óÔÁÔÉÞÅÓËÉÅ ÍÁÒÛÒÕÔÙ
routes_ifc=éÎÔÅÒÆÅÊÓ
routes_net=óÅÔØ
routes_mask=íÁÓËÁ ÓÅÔÉ
routes_enet='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔØÀ Å×ÏÊ ÍÁÓËÏÊ
routes_emask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ
routes_egateway='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÛÌÀÚÏÍ
routes_defaults=ûÌÀÚÙ ÐÏ ÕÍÏÌÞÁÎÉÀ
routes_possible=åÓÌÉ ×ÏÚÍÏÖÎÏ
routes_local=ìÏËÁÌØÎÙÅ ÍÁÒÛÒÕÔÙ

dns_title=ëÌÉÅÎÔ DNS
dns_options=ðÁÒÁÍÅÔÒÙ DNS ËÌÉÅÎÔÁ
dns_hostname=éÍÑ ÈÏÓÔÁ
dns_order=ðÏÒÑÄÏË ÒÁÚÒÅÛÅÎÉÑ
dns_servers=DNS ÓÅÒ×ÅÒÁ
dns_search=ðÏÉÓË × ÄÏÍÅÎÁÈ
dns_none=îÅÔ
dns_listed=ðÅÒÅÞÉÓÌÅÎÎÙÅ ..
dns_eorder=ðÏÔÅÒÑÎ ÐÏÒÑÄÏË ÒÁÚÒÅÛÅÎÉÑ

hosts_title=áÄÒÅÓÁ èÏÓÔÏ×
hosts_ip=IP áÄÒÅÓ
hosts_host=éÍÅÎÁ èÏÓÔÏ×
hosts_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÁÄÒÅÓ ÈÏÓÔÁ
hosts_edit=òÅÄÁËÔÉÒÏ×ÁÔØ áÄÒÅÓ èÏÓÔÁ
hosts_create=óÏÚÄÁÔØ áÄÒÅÓ èÏÓÔÁ
hosts_detail=èÏÓÔÙ É áÄÒÅÓÁ
hosts_return=ÓÐÉÓÏË ÁÄÒÅÓÏ× ÈÏÓÔÏ×
0707010003f701000081a40000000000000002000000013d1fe2d700000f5c000000200000000000000000000000000000001200000003reloc/net/lang/sv index_title=Nätverksinställningar
index_return=nätverksinställningar

ifcs_title=Nätverksinterface
ifcs_now=Aktiva interface
ifcs_name=Namn
ifcs_type=Typ
ifcs_ip=IP-adress
ifcs_mask=Nätmask
ifcs_status=Status
ifcs_virtual=Virtuellt
ifcs_up=Aktivt
ifcs_down=Inaktivt
ifcs_add=Lägg till interface
ifcs_boot=Interface som ska aktiveras vid start
ifcs_act=Aktivera vid start?
ifcs_bootp=Från BOOTP
ifcs_dhcp=Från DHCP
ifcs_broad=Broadcast
ifcs_auto=Automatiskt
ifcs_mtu=MTU
ifcs_virts=Virtuella interface
ifcs_addvirt=Lägg till virtuellt interface
ifcs_return=nätverksinterface
ifcs_unknown=Okänt

aifc_create=Lägg till aktivt interface
aifc_edit=Ändra aktivt interface
aifc_desc1=Parametrar för aktivt interface
aifc_desc2=Parametrar för aktivt virtuellt interface
aifc_hard=Hårdvaruadress
aifc_default=Standard
aifc_err1=Det gick inte att radera interface
aifc_err2=Det gick inte att spara interface
aifc_evirt=Numret för det virtuella interfacet saknas eller är felaktigt angivet
aifc_evirtdup=Det virtuella interfacet $1 finns redan
aifc_edup=Interface $1 finns redan
aifc_ename=Interface-namn saknas eller är felaktigt angivet
aifc_eip='$1' är inte en giltig IP-adress
aifc_emask='$1' är inte en giltig nätmask
aifc_ebroad='$1' är inte en giltig broadcast-adress
aifc_emtu='$1' är inte en giltig MTU
aifc_ehard='$1' är inte en giltig hårdvaruadress
aifc_eexist=Interface '$1' finns inte

bifc_create=Lägg till start-interface
bifc_edit=Ändra start-interface
bifc_desc1=Parametrar för start-interface
bifc_desc2=Parametrar för virtuellt start-interface
bifc_apply=Spara och genomför ändringar
bifc_err1=Det gick inte att ta bort interface
bifc_err2=Det gick inte att spara interface
bifc_evirt=Numret för det virtuella interfacet saknas eller är felaktigt angivet
bifc_evirtdup=Det virtuella interfacet $1 finns redan
bifc_edup=Interface $1 finns redan
bifc_ename=Interface-namn saknas eller är felaktigt angivet
bifc_eip='$1' är inte en giltig IP-adress
bifc_emask='$1' är inte en giltig nätmask
bifc_ebroad='$1' är inte en giltig broadcast-adress
bifc_emtu='$1' är inte en giltig MTU
bifc_err3=Det gick inte att aktivera interface

routes_title=Routing och routrar
routes_boot=Routing-inställningar som aktiveras vid <i>start</i>
routes_default=Standardrouter
routes_none=Ingen
routes_device=Enhet
routes_gateway=Gateway
routes_forward=Agera som router?
routes_routed=Starta route-letardemonen?
routes_edefault='$1' är inte en giltig standardrouter
routes_edevice='$1' är inte en giltig enhet
routes_device2=Standardrouteinterface
routes_static=Statisk routing
routes_ifc=Interface
routes_net=Nätverk
routes_mask=Nätmask
routes_enet='$1' är inte ett giltigt nätverk
routes_emask='$1' är inte en giltig nätmask
routes_egateway='$1' är inte en giltig gateway
routes_defaults=Standardroutrar
routes_possible=Om möjligt
routes_local=Lokal routing
routes_err=Det gick inte att spara routing

dns_title=DNS-klient
dns_options=Inställningar för DNS-klient
dns_hostname=Datornamn
dns_order=Uppslagsordning
dns_servers=DNS-servrar
dns_search=Domäner att leta igenom
dns_none=Inga
dns_listed=Angivna ...
dns_eorder=Du har inte angivit någon uppslagsordning

hosts_title=Datoradresser
hosts_ip=IP-adress
hosts_host=Datornamn
hosts_add=Lägg till datoradress
hosts_edit=Ändra datoradress
hosts_create=Lägg till datoradress
hosts_detail=Dator och adresser
hosts_return=lista över datoradresser

log_create_host=Lade till datoradress $1
log_delete_host=Tog bort datoradress $1
log_modify_host=Modifierade datoradress $1
log_dns=Ändrade inställningar för DNS-klient
log_routes=Ändrade inställningar för routing och gateways
log_create_aifc=Aktiverade interface $1 adress $2
log_modify_aifc=Aktiverade interface $1 adress $2 igen
log_delete_aifc=Deaktiverade interface $1 adress $2
log_create_bifc=Lade till interface $1 adress $2
log_modify_bifc=Modifierade interface $1 adress $2
log_delete_bifc=Tog bort interface $1 adress $2
log_dyn=dynamisk
0707010003f702000081a40000000000000002000000013d1fe2d700000f22000000200000000000000000000000000000001200000003reloc/net/lang/tr index_title=Að Yapýlandýrmasý
index_return=að yapýlandýrmasý

ifcs_title=Að Arayüzleri
ifcs_now=Varolan Aktif Arayüzler 
ifcs_name=Ýsim
ifcs_type=Tip
ifcs_ip=IP Adresi
ifcs_mask=Að maskesi
ifcs_status=Durum
ifcs_virtual=Sanal
ifcs_up=Açýk
ifcs_down=Kapalý
ifcs_add=Yeni arayüz ekle
ifcs_boot=Açýlýþta Aktif Hale Getirilebilen Arayüzler
ifcs_act=Açýlýþta aktif hale getir?
ifcs_bootp=BOOTP'den
ifcs_dhcp=DHCP'den
ifcs_broad=Yayýn
ifcs_auto=Otomatik
ifcs_mtu=MTU
ifcs_virts=Sanal arayüzler
ifcs_addvirt=Sanal arayüz ekle
ifcs_return=network arayüzü

aifc_create=Aktif Arayüz Oluþtur
aifc_edit=Aktif Arayüzleri Oluþtur
aifc_desc1=Aktif Arayüz Parametreleri
aifc_desc2=Aktif Sanal Arayüz Parametreleri
aifc_hard=Donaným adresi
aifc_default=Öntanýmlý
aifc_err1=Arayüzün silinmesinde hata oluþtu
aifc_err2=Arayüzün kaydedilmesinde hata oluþtu
aifc_evirt=Kayýp ya da yanlýþ sanal arayüz numaralarý
aifc_evirtdup=Sanal arayüz $1 her zaman mevcut
aifc_edup=$1 arayüzü her zaman mevcut
aifc_ename=Kayýp ya da yanlýþ arayüz ismi
aifc_eip='$1' geçerli bir IP adresi deðil
aifc_emask='$1' geçerli bir að maskesi deðil
aifc_ebroad='$1' geçerli bir yayýn adresi deðil
aifc_emtu='$1' geçerli bir MTU deðil
aifc_ehard='$1' geçerli bir donaným adresi deðil
aifc_eexist='$1' arayüzü zaten mevcut

bifc_create=Açýlýþ Arayüzü Oluþtur
bifc_edit=Açýlýþ Arayüzünü Deðiþtir
bifc_desc1=Açýlýþ Arayüz Parametreleri
bifc_desc2=Açýlýþ Sanal Arayüz Parametreleri
bifc_apply=Kaydet ve Uygula
bifc_err1=Arayüzün silinmesinde hata oluþtu
bifc_err2=Arayüzün kaydedilmesinde hata oluþtu
bifc_evirt=Kayýp ya da yanlýþ sanal arayüz numarasý
bifc_evirtdup=Sanal arayüz $1 her zaman mevcut
bifc_edup=$1 arayüzü her zaman mevcut
bifc_ename=Kayýp ya da yanlýþ arayüz ismi
bifc_eip='$1' geçerli bir IP adresi deðil
bifc_emask='$1' geçerli bir að maskesi deðil
bifc_ebroad='$1' geçerli bir yayýn adresi deðil
bifc_emtu='$1' geçerli bir MTU deðil
bifc_err3=Arayüzün ektif hale getirilmesinde hata oluþtu

routes_title=Yönlendirme ve Að Geçitleri
routes_boot=<i>Açýlýþ</i>ta aktif hale getirilebilecek yönlendirme ayarlarý 
routes_default=Öntanýmlý yönlendirici
routes_none=Hiçbiri
routes_device=Aygýt
routes_gateway=Að geçiti
routes_forward=Yönlendirici olarak aktif?
routes_routed=Yöneldirici arama programý çalýþsýn?
routes_edefault='$1' geçerli bir öntanýmlý yönlendirici deðil
routes_edevice='$1' geçerli bir aygýt deðil
routes_device2=Öntanýmlý yönlendirici aygýt
routes_static=Sabit yönlendiriciler
routes_ifc=Arayüz
routes_net=Að
routes_mask=Að maskesi
routes_enet='$1' geçerli bir að deðil
routes_emask='$1' geçerli bir að maskesi deðil
routes_egateway='$1' geçerli bir að geçidi deðil
routes_defaults=Öntanýmlý yönlendiriciler
routes_possible=Eðer olumlu ise
routes_local=Yerel yönlendiriciler
routes_err=Yönlendirmenin kaydedilmesinde hata oluþtu

dns_title=DNS Ýstemcileri
dns_options=DNS Ýstemci Seçenekleri
dns_hostname=Makine Adý
dns_order=Çözünürlük sýrasý
dns_servers=DNS sunucularý
dns_search=Alanlarý ara
dns_none=Hiçbiri
dns_listed=Listelenenlerden Ara ..
dns_eorder=Kayýp çözünürlük sýrasý

hosts_title=Host Adresleri
hosts_ip=IP Adresi
hosts_host=Makine Adlarý
hosts_add=Yeni bir makine adresi ekle
hosts_edit=Host Adreslerini Deðiþtir
hosts_create=Host Adresi Oluþtur
hosts_detail=Host ve Adresler
hosts_return=host adresleri listesi

log_create_host=Makine adresi $1 oluþturuldu
log_delete_host=Makine adresi $1 silindi
log_modify_host=Makine adresi $1 deðiþtirildi
log_dns=DNS istemci seçenekleri deðiþtirildi
log_routes=Yönlendirme ve að geçidi seçenekleri deðiþtirildi
log_create_aifc=Arayüz $1, adres $2 aktif hale getirildi
log_modify_aifc=Arayüz $1, adres $2 yeniden aktif hale getirildi
log_delete_aifc=Arayüz $1, adres $2 inaktif hale getirildi
log_create_bifc=Arayüz $1, adres $2 oluþturuldu
log_modify_bifc=Arayüz $1, adres $2 deðiþtirildi
log_delete_bifc=Arayüz $1, adres $2 silindi

  0707010003f703000081a40000000000000002000000013d1fe2d700000aa8000000200000000000000000000000000000001500000003reloc/net/lang/zh_CN  index_title=ÍøÂçÅäÖÃ
index_return=ÍøÂçÅäÖÃ
ifcs_title=ÍøÂç½Ó¿Ú
ifcs_now=½Ó¿Úµ±Ç°»î¶¯
ifcs_name=Ãû³Æ
ifcs_type=ÀàÐÍ
ifcs_ip=IP µØÖ·
ifcs_mask=×ÓÍøÑÚÂë
ifcs_status=×´Ì¬
ifcs_virtual=ÐéÄâ
ifcs_up=ÆôÓÃ
ifcs_down=¹Ø±Õ
ifcs_add=Ôö¼Ó½Ó¿Ú
ifcs_boot=Æô¶¯Ê±ÆôÓÃ½Ó¿Ú
ifcs_act=Æô¶¯Ê±ÆôÓÃ£¿
ifcs_bootp=À´×Ô BOOTP
ifcs_dhcp=À´×Ô DHCP
ifcs_broad=¹ã²¥
ifcs_auto=×Ô¶¯
ifcs_mtu=×î´ó´«Êäµ¥Ôª
ifcs_virts=ÐéÄâ½Ó¿Ú
ifcs_addvirt=Ôö¼ÓÐéÄâ½Ó¿Ú
ifcs_return=ÍøÂç½Ó¿Ú
aifc_create=´´½¨»î¶¯½Ó¿Ú
aifc_edit=±à¼­»î¶¯½Ó¿Ú
aifc_desc1=»î¶¯½Ó¿Ú²ÎÊý
aifc_desc2=»î¶¯ÐéÄâ½Ó¿Ú²ÎÊý
aifc_hard=Ó²¼þµØÖ·
aifc_default=È±Ê¡
aifc_err1=É¾³ý½Ó¿ÚÊ§°Ü
aifc_err2=±£´æ½Ó¿ÚÊ§°Ü
aifc_evirt=¶ªÊ§»òÕß´íÎóµÄÐéÄâ½Ó¿ÚºÅ
aifc_evirtdup=¸ÃÐéÄâ½Ó¿ÚºÅ $1 ÒÑ¾­´æÔÚ
aifc_edup=½Ó¿Ú $1 ÒÑ¾­´æÔÚ
aifc_ename=¶ªÊ§»òÕß·Ç·¨¶·½Ó¿ÚÃû³Æ
aifc_eip='$1' ´íÎóµÄIPµØÖ·
aifc_emask='$1' ´íÎóµÄÍøÂçÑÚÂë
aifc_ebroad='$1' ´íÎóµÄ¹ã²¥µØÖ·
aifc_emtu='$1' ´íÎóµÄ×î´ó´«Êäµ¥Ôª
aifc_ehard='$1' ´íÎóµÄÓ²¼þµØÖ·
aifc_eexist=½Ó¿Ú '$1' ²»´æÔÚ
bifc_create=´´½¨Òýµ¼Ê±½Ó¿Ú
bifc_edit=±à¼­Òýµ¼Ê±½Ó¿Ú
bifc_desc1=Òýµ¼Ê±½Ó¿Ú²ÎÊý
bifc_desc2=Òýµ¼Ê±ÐéÄâ½Ó¿Ú²ÎÊý
bifc_apply=±£´æ²¢Ó¦ÓÃ
bifc_err1=É¾³ý½Ó¿ÚÊ§°Ü
bifc_err2=±£´æ½Ó¿ÚÊ§°Ü
bifc_evirt=¶ªÊ§»ò´íÎóµÄÐéÄâ½Ó¿ÚºÅ
bifc_evirtdup=ÐéÄâ½Ó¿Ú $1 ÒÑ¾­´æÔÚ
bifc_edup=½Ó¿Ú $1 ÒÑ¾­´æÔÚ
bifc_ename=¶ªÊ§»ò´íÎóµÄ½Ó¿ÚÃû³Æ
bifc_eip='$1' ´íÎóµÄIPµØÖ·
bifc_emask='$1' ´íÎóµÄÍøÂçÑÚÂë
bifc_ebroad='$1' ´íÎóµÄ¹ã²¥µØÖ·
bifc_emtu='$1' ´íÎóµÄ×î´ó´«Êäµ¥Ôª
bifc_err3=ÆôÓÃ½Ó¿ÚÊ§°Ü
routes_title=Â·ÓÉºÍÍø¹Ø
routes_boot=<i>Òýµ¼Ê±</i>ÆôÓÃµÄÂ·ÓÉÅäÖÃ
routes_default=È±Ê¡Â·ÓÉÆ÷
routes_none=ÎÞ
routes_device=Éè±¸
routes_gateway=Íø¹Ø
routes_forward=×÷Â·ÓÉÆ÷£¿
routes_routed=Æô¶¯Â·ÓÉ²éÕÒÊØ»¤³ÌÐò£¿
routes_edefault='$1' ´íÎóµÄÈ±Ê¡Â·ÓÉÆ÷
routes_edevice='$1'²»ÊÇÒ»¸öÓÐÐ§Éè±¸
routes_device2=È±Ê¡Â·ÓÉÉè±¸
routes_static=¾²Ì¬Â·ÓÉ
routes_ifc=½Ó¿Ú
routes_net=ÍøÂç
routes_mask=×ÓÍøÑÚÂë
routes_enet='$1' ´íÎóÍøÂç
routes_emask='$1' ´íÎóÍøÂçÑÚÂë
routes_egateway='$1' ´íÎóµÄÍø¹Ø
routes_defaults=È±Ê¡Â·ÓÉÆ÷
routes_possible=Èç¹û¿ÉÄÜ
routes_local=±¾µØÂ·ÓÉ
routes_err=´æ´¢Â·ÓÉÊ§°Ü
dns_title=DNS ¿Í»§
dns_options=DNS ¿Í»§Ñ¡Ïî
dns_hostname=Ö÷»úÃû
dns_order=½âÎöË³Ðò
dns_servers=DNS ·þÎñÆ÷
dns_search=ËÑË÷Óò
dns_none=ÎÞ
dns_listed=ÁÐ±í ..
dns_eorder=¶ªÊ§½âÎö´ÎÐò
hosts_title=Ö÷»úµØÖ·
hosts_ip=IP µØÖ·
hosts_host=Ö÷»úÃû
hosts_add=Ôö¼ÓÖ÷»úµØÖ·
hosts_edit=±à¼­Ö÷»úµØÖ·
hosts_create=´´½¨Ö÷»úµØÖ·
hosts_detail=Ö÷»úºÍµØÖ·
hosts_return=Ö÷»úµØÖ·ÁÐ±í
log_create_host=ÒÑ´´½¨¿Í»§µØÖ· $1
log_delete_host=ÒÑÉ¾³ý¿Í»§µØÖ· $1
log_modify_host=ÒÑ¸üÐÂ¿Í»§µØÖ· $1
log_dns=ÒÑ¸Ä±ä DNS ¿Í»§ÉèÖÃÑ¡Ïî
log_routes=ÒÑ¸Ä±äÂ·ÓÉºÍÍø¹ØÑ¡Ïî
log_create_aifc=ÆôÓÃµÄ½Ó¿Ú $1 µØÖ· $2
log_modify_aifc=ÖØÐÂÆôÓÃµÄ½Ó¿Ú $1 µØÖ· $2
log_delete_aifc=½ûÓÃµÄ½Ó¿Ú $1 µØÖ· $2
log_create_bifc=ÒÑ´´½¨µÄ½Ó¿Ú $1 µØÖ· $2
log_modify_bifc=ÒÑ¸üÐÂµÄ½Ó¿Ú $1 µØÖ· $2
log_delete_bifc=ÒÑÉ¾³ýµÄ½Ó¿Ú $1 µØÖ· $2
0707010003f704000081a40000000000000002000000013d1fe2d700000a2d000000200000000000000000000000000000001a00000003reloc/net/lang/zh_TW.Big5 index_title=ºô¸ô²ÕºA
index_return=ºô¸ô²ÕºA

ifcs_title=ºô¸ô¤¶­±
ifcs_now=¥Ø«e¹B§@¤¤ªººô¸ô¤¶­±
ifcs_name=¦WºÙ
ifcs_type=ºØÃþ
ifcs_ip=IP ¦ì§}
ifcs_mask=¤lºô¸ô¾B¸n
ifcs_status=ª¬ºA
ifcs_virtual=µêÀÀªº
ifcs_up=±Ò°Ê
ifcs_down=°±¤î
ifcs_add=¼W¥[·sªººô¸ô¤¶­±
ifcs_boot=¶}¾÷®É±Ò°Êªººô¸ô¤¶­±
ifcs_act=¬O§_¦b¶}¾÷®É±Ò°Ê?
ifcs_bootp=±q BOOTP
ifcs_dhcp=±q DHCP
ifcs_broad=¼s¼½¦ì§}
ifcs_auto=¦Û°Ê
ifcs_mtu=MTU
ifcs_virts=µêÀÀºô¸ô¬É­±
ifcs_addvirt=¼W¥[µêÀÀºô¸ô¤¶­±
ifcs_return=ºô¸ô¤¶­±

aifc_create=«Ø¥ß¹B§@¤¤ªººô¸ô¤¶­±
aifc_edit=½s¿è¹B§@¤¤ªººô¸ô¤¶­±
aifc_desc1=¹B§@¤¤ºô¸ô¤¶­±ªº°Ñ¼Æ
aifc_desc2=¹B§@¤¤µêÀÀºô¸ô¤¶­±ªº°Ñ¼Æ
aifc_hard=µwÅé¦ì§}
aifc_default=¹w³]
aifc_err1=µLªk§R°£ºô¸ô¤¶­±
aifc_err2=µLªkÀx¦sºô¸ô¤¶­±
aifc_evirt=¿ò¥¢©Î¿ù»~ªºµêÀÀºô¸ô¤¶­±½s¸¹
aifc_evirtdup=µêÀÀºô¸ô¤¶­± $1 ¤w¸g¦s¦b
aifc_edup=ºô¸ô¤¶­± $1 ¤w¸g¦s¦b
aifc_ename=¿ò¥¢©Î¿ù»~ªººô¸ô¤¶­±¦WºÙ
aifc_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
aifc_emask='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
aifc_ebroad='$1' ¤£¬O¤@­Ó¦³®Äªº¼s¼½¦ì§}
aifc_emtu='$1' ¤£¬O¤@­Ó¦³®Äªº MTU
aifc_ehard='$1' ¤£¬O¤@­Ó¦³®ÄªºµwÅé¦ì§}
aifc_eexist=ºô¸ô¤¶­± '$1' ¤£¦s¦b

bifc_create=«Ø¥ß Bootup ºô¸ô¤¶­±
bifc_edit=½s¿è Bootup ºô¸ô¤¶­±
bifc_desc1=±Ò°Ê®É´Áªººô¸ô¤¶­±°Ñ¼Æ
bifc_desc2=±Ò°Ê®É´ÁªºµêÀÀºô¸ô¤¶­±°Ñ¼Æ
bifc_apply=Àx¦s¨Ã®M¥Î
bifc_err1=µLªk§R°£ºô¸ô¤¶­±
bifc_err2=µLªkÀx¦sºô¸ô¤¶­±
bifc_evirt=¿ò¥¢©Î¿ù»~ªºµêÀÀºô¸ô¤¶­±½s¸¹
bifc_evirtdup=µêÀÀºô¸ô¤¶­± $1 ¤w¸g¦s¦b
bifc_edup=ºô¸ô¤¶­± $1 ¤w¸g¦s¦b
bifc_ename=¿ò¥¢©Î¿ù»~ªººô¸ô¤¶­±¦WºÙ
bifc_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
bifc_emask='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
bifc_ebroad='$1' ¤£¬O¤@­Ó¦³®Äªº¼s¼½¦ì§}
bifc_emtu='$1' ¤£¬O¤@­Ó¦³®Äªº MTU
bifc_err3=µLªk±Ò°Êºô¸ô¤¶­±

routes_title=¸ô¥Ñ»P¹h¹D¾¹
routes_boot=¦b<i>±Ò°Ê®É´Á</i>ªº±Ò°Êªº¸ô¥Ñ²ÕºA
routes_default=¹w³]¸ô¥Ñ¾¹
routes_none=µL
routes_device=³]³Æ
routes_gateway=¹h¹D¾¹
routes_forward=¬O§_¹³¸ô¥Ñ¾¹ªº¤ÏÀ³?
routes_routed=¬O§_±Ò°Ê¸ô¥Ñ§ä´M¦uÅ@µ{¦¡?
routes_edefault='$1' ¤£¬O¤@­Ó¦³®Äªº¹w³]¸ô¥Ñ¾¹
routes_edevice='$1' ¤£¬O¤@­Ó¦³®Äªº³]³Æ
routes_device2=¹w³]ªº¸ô¥Ñ³]³Æ
routes_static=ÀRºA¸ô¥Ñ
routes_ifc=ºô¸ô¤¶­±
routes_net=ºô¸ô
routes_mask=¤lºô¸ô¾B¸n
routes_enet='$1' ¤£¬O¤@­Ó¦³®Ä¦aºô¸ô
routes_emask='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
routes_egateway='$1' ¤£¬O¤@­Ó¦³®Äªº¹h¹D¾¹
routes_defaults=¹w³]¸ô¥Ñ¾¹
routes_possible=¦pªG¥i¯à
routes_local=¥»¦aºÝ¸ô¥Ñ

dns_title=DNS «È¤áºÝ
dns_options=DNS «È¤áºÝ¿ï¶µ
dns_hostname=¥D¾÷¦WºÙ
dns_order=¸ÑªR¶¶§Ç
dns_servers=DNS ¦øªA¾¹
dns_search=·j´Mºô°ì
dns_none=µL
dns_listed=¦C¥Xªº...
dns_eorder=¿ò¥¢¸ÑªR¶¶§Ç

hosts_title=¥D¾÷¦ì§}
hosts_ip=IP ¦ì§}
hosts_host=¥D¾÷¦WºÙ
hosts_add=¥[¤J¤@­Ó·s¥D¾÷¦ì§}
hosts_edit=½s¿è¥D¾÷¦ì§}
hosts_create=«Ø¥ß¥D¾÷¦ì§}
hosts_detail=¥D¾÷»P¦ì§}
hosts_return=¥D¾÷¦ì§}¦Cªí
   07070100039a2f000081e40000000000000002000000013d1fe2d7000005bd000000200000000000000000000000000000001700000003reloc/net/list_dns.cgi    #!/usr/local/bin/perl
# list_dns.cgi
# Display the DNS client configuration

require './net-lib.pl';
$access{'dns'} || &error($text{'dns_ecannot'});
&header($text{'dns_title'}, "");
print "<hr>\n";

$dns = &get_dns_config();
print "<form action=save_dns.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'dns_options'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'dns_hostname'}</b></td>\n";
printf "<td><input name=hostname size=20 value=\"%s\"></td>\n",
	&get_hostname();

print "<td><b>$text{'dns_order'}</b></td>\n";
print "<td>",&order_input($dns),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'dns_servers'}</b></td> <td>\n";
for($i=0; $i<$max_dns_servers; $i++) {
	printf "<input name=nameserver_$i size=15 value=\"%s\"><br>\n",
		$dns->{'nameserver'}->[$i];
	}
print "</td>\n";

print "<td valign=top><b>$text{'dns_search'}</b></td> <td valign=top>\n";
printf "<input type=radio name=domain_def value=1 %s> $text{'dns_none'}\n",
	$dns->{'domain'} ? "" : "checked";
printf "<input type=radio name=domain_def value=0 %s> $text{'dns_listed'}\n",
	$dns->{'domain'} ? "checked" : "";
print "<br><textarea name=domain rows=3 cols=30>",
	join("\n", @{$dns->{'domain'}}),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\">\n"
	if ($access{'dns'} == 2);
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100039a30000081e40000000000000002000000013d1fe2d7000003e4000000200000000000000000000000000000001900000003reloc/net/list_hosts.cgi  #!/usr/local/bin/perl
# list_hosts.cgi
# List hosts from /etc/hosts

require './net-lib.pl';
$access{'hosts'} || &error($text{'hosts_ecannot'});
&header($text{'hosts_title'}, "");
print "<hr>\n";

print "<a href=\"edit_host.cgi?new=1\">$text{'hosts_add'}</a><br>\n"
	if ($access{'hosts'} == 2);
print "<table border cellpadding=3>\n";
print "<tr $tb> <td><b>$text{'hosts_ip'}</b></td> ",
      "<td><b>$text{'hosts_host'}</b></td> </tr>\n";
foreach $h (&list_hosts()) {
	print "<tr $cb>\n";
	if ($access{'hosts'} == 2) {
		print "<td><a href=\"edit_host.cgi?idx=$h->{'index'}\">",
		      &html_escape($h->{'address'}),"</a></td>\n";
		}
	else {
		print "<td>",&html_escape($h->{'address'}),"</td>\n";
		}
	print "<td>",join("&nbsp;&nbsp; ", map { &html_escape($_) }
					   @{$h->{'hosts'}}),"</td> </tr>\n";
	}
print "</table>\n";
print "<a href=\"edit_host.cgi?new=1\">$text{'hosts_add'}</a>\n"
	if ($access{'hosts'} == 2);
print "<p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100039a31000081e40000000000000002000000013d1fe2d700000c55000000200000000000000000000000000000001800000003reloc/net/list_ifcs.cgi   #!/usr/local/bin/perl
# list_ifcs.cgi
# List active and boot-time interfaces

require './net-lib.pl';
&ReadParse();
$access{'ifcs'} || &error($text{'ifcs_ecannot'});
&header($text{'ifcs_title'}, "");
print "<hr>\n";

print "<h3>$text{'ifcs_now'}</h3>\n";
print "<a href='edit_aifc.cgi?new=1'>$text{'ifcs_add'}</a><br>\n"
	if ($access{'ifcs'} == 2);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ifcs_name'}</b></td> ",
      "<td><b>$text{'ifcs_type'}</b></td> ",
      "<td><b>$text{'ifcs_ip'}</b></td> ",
      "<td><b>$text{'ifcs_mask'}</b></td> ",
      "<td><b>$text{'ifcs_status'}</b></td> </tr>\n";

@act = &active_interfaces();
@act = sort iface_sort @act;
foreach $a (@act) {
	print "<tr $cb> <td>";
	if ($a->{'virtual'} ne "") { print "&nbsp;&nbsp;"; }
	if ($a->{'edit'} && $access{'ifcs'} == 2) {
		print "<a href=\"edit_aifc.cgi?idx=$a->{'index'}\">",
		      &html_escape($a->{'fullname'}),"</a></td>\n";
		}
	else { print &html_escape($a->{'fullname'}),"</td>\n"; }
	print "<td>",&iface_type($a->{'name'}),
	      ($a->{'virtual'} eq "" ? "" : " ($text{'ifcs_virtual'})"),
	      "</td>\n";
	print "<td>",&html_escape($a->{'address'}),"</td>\n";
	print "<td>",&html_escape($a->{'netmask'}),"</td>\n";
	print "<td>",
		($a->{'up'} ? $text{'ifcs_up'}
			    : "<font color=#ff0000>$text{'ifcs_down'}</font>"),
	      "</td> </tr>\n";
	}
print "</table>\n";
print "<a href='edit_aifc.cgi?new=1'>$text{'ifcs_add'}</a>\n"
	if ($access{'ifcs'} == 2);
print "<p><hr>\n";

print "<h3>$text{'ifcs_boot'}</h3>\n";
print "<a href='edit_bifc.cgi?new=1'>$text{'ifcs_add'}</a><br>\n"
	if ($access{'ifcs'} == 2);
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ifcs_name'}</b></td> ",
      "<td><b>$text{'ifcs_type'}</b></td> ",
      "<td><b>$text{'ifcs_ip'}</b></td> ",
      "<td><b>$text{'ifcs_mask'}</b></td> ",
      "<td><b>$text{'ifcs_act'}</b></td> </tr>\n";

@boot = &boot_interfaces();
@boot = sort iface_sort @boot;
foreach $a (@boot) {
	print "<tr $cb> <td>";
	if ($a->{'virtual'} ne "") { print "&nbsp;&nbsp;"; }
	if ($a->{'edit'} && $access{'ifcs'} == 2) {
		print "<a href=\"edit_bifc.cgi?idx=$a->{'index'}\">",
		      &html_escape($a->{'fullname'}),"</a></td>\n";
		}
	else { print &html_escape($a->{'fullname'}),"</td>\n"; }
	print "<td>",&iface_type($a->{'name'}),
	      ($a->{'virtual'} eq "" ? "" : " ($text{'ifcs_virtual'})"),
	      "</td>\n";
	print "<td>",$a->{'bootp'} ? $text{'ifcs_bootp'} :
		     $a->{'dhcp'} ? $text{'ifcs_dhcp'} :
		     $a->{'address'} ? &html_escape($a->{'address'}) :
				       $text{'ifcs_auto'},
	      "</td>\n";
	print "<td>",$a->{'netmask'} ? &html_escape($a->{'netmask'})
				     : $text{'ifcs_auto'},"</td>\n";
	print "<td>",($a->{'up'} ? $text{'yes'} : $text{'no'}),"</td> </tr>\n";
	}
print "</table>\n";
print "<a href='edit_bifc.cgi?new=1'>$text{'ifcs_add'}</a>\n"
	if ($access{'ifcs'} == 2);

print "<p><hr>\n";
&footer("", $text{'index_return'});

sub iface_sort
{
return $a->{'name'} cmp $b->{'name'} if ($a->{'name'} cmp $b->{'name'});
return $a->{'virtual'} eq '' ? -1 :
       $b->{'virtual'} eq '' ? 1 : $a->{'virtual'} <=> $b->{'virtual'};
}

   07070100039a33000081e40000000000000002000000013d1fe2d700000258000000200000000000000000000000000000001a00000003reloc/net/list_routes.cgi #!/usr/local/bin/perl
# list_routes.cgi
# List boot-time routing configuration

require './net-lib.pl';
$access{'routes'} || &error($text{'routes_ecannot'});
&ReadParse();
&header($text{'routes_title'}, "");
print "<hr>\n";

print "<form action=save_routes.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'routes_boot'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&routing_input();
print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\">\n"
	if ($access{'routes'} == 2);
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100039a34000081a40000000000000002000000013d1fe2d7000002d5000000200000000000000000000000000000001800000003reloc/net/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'net-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'host') {
	return &text("log_${action}_host", "<tt>$object</tt>");
	}
elsif ($action eq 'dns') {
	return $text{'log_dns'};
	}
elsif ($action eq 'routes') {
	return $text{'log_routes'};
	}
elsif ($type eq 'aifc' || $type eq 'bifc') {
	return &text("log_${action}_${type}", "<tt>$object</tt>",
		     $p->{'dhcp'} || $p->{'bootp'} ? $text{'log_dyn'} :
		     "<tt>$p->{'address'}</tt>");
	}
else {
	return undef;
	}
}

   07070100039a35000081a40000000000000002000000013d1fe2d700003786000000200000000000000000000000000000002000000003reloc/net/mandrake-linux-lib.pl   # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-[a-z0-9:]+$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'};
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'};
	$b->{'netmask'} = $conf{'NETMASK'};
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'bootp'} = ($conf{'BOOTPROTO'} eq 'bootp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
$conf{'BOOTPROTO'} = $_[0]->{'bootp'} ? "bootp" :
		     $_[0]->{'dhcp'} ? "dhcp" : "none";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
# show default router and device
local (%conf, @st, @hr, %sysctl);
&read_env_file($network_config, \%conf);
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAY'} ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$conf{'GATEWAY'} ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAY'};

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAYDEV'} ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$conf{'GATEWAYDEV'} ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAYDEV'};

# show routing
if ($gconfig{'os_version'} < 7.0) {
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "" : "checked";
	}
else {
	&read_env_file($sysctl_config, \%sysctl);
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$sysctl{'net.ipv4.ip_forward'} ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$sysctl{'net.ipv4.ip_forward'} ? "" : "checked";
	}

# get static routes
open(STATIC, $static_route_config);
while(<STATIC>) {
	if (/(\S+)\s+net\s+(\S+)\s+netmask\s+(\S+)\s+gw\s+(\S+)/) {
		push(@st, [ $1, $2, $3, $4 ]);
		}
	elsif (/(\S+)\s+host\s+(\S+)/) {
		push(@hr, [ $1, $2 ]);
		}
	}
close(STATIC);

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> </tr>\n";
for($i=0; $i<=@st; $i++) {
	local $st = $st[$i];
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=net_$i size=15 value='$st->[1]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$st->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$st->[3]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# Show static host routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> </tr>\n";
for($i=0; $i<=@hr; $i++) {
	local $st = $hr[$i];
	print "<tr $cb>\n";
	print "<td><input name=ldev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=lnet_$i size=15 value='$st->[1]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
local (%conf, @st, %sysctl);
&lock_file($network_config);
&read_env_file($network_config, \%conf);
if ($in{'gateway_def'}) { $conf{'GATEWAY'} = ''; }
elsif (!gethostbyname($in{'gateway'})) {
	&error(&text('routes_edefault', $in{'gateway'}));
	}
else { $conf{'GATEWAY'} = $in{'gateway'}; }

if ($in{'gatewaydev_def'}) { $conf{'GATEWAYDEV'} = ''; }
elsif ($in{'gatewaydev'} !~ /^\S+$/) {
	&error(&text('routes_edevice', $in{'gatewaydev'}));
	}
else { $conf{'GATEWAYDEV'} = $in{'gatewaydev'}; }

if ($gconfig{'os_version'} < 7.0) {
	if ($in{'forward'}) { $conf{'FORWARD_IPV4'} = 'yes'; }
	else { $conf{'FORWARD_IPV4'} = 'no'; }
	}
else {
	&lock_file($sysctl_config);
	&read_env_file($sysctl_config, \%sysctl);
	$sysctl{'net.ipv4.ip_forward'} = $in{'forward'};
	}

&lock_file($static_route_config);
for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
	$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
	next if (!$dev && !$net && !$netmask && !$gw);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
	gethostbyname($gw) || &error(&text('routes_egateway', $gw));
	push(@st, "$dev net $net netmask $netmask gw $gw\n");
	}
for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
	$net = $in{"lnet_$i"};
	next if (!$dev && !$net);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	push(@st, "$dev host $net\n");
	}
open(STATIC, ">$static_route_config");
print STATIC @st;
close(STATIC);
&unlock_file($static_route_config);
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
if (%sysctl) {
	&write_env_file($sysctl_config, \%sysctl);
	&unlock_file($sysctl_config);
	}
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

  07070100039a36000081a40000000000000002000000013d1fe2ea00000493000000200000000000000000000000000000001600000003reloc/net/module.info desc_ru_SU=ëÏÎÆÉÇÕÒÁÃÉÑ óÅÔÉ
risk=low medium high
desc_ko_KR.euc=³×Æ®¿öÅ© ±¸¼º
desc_zh_TW.Big5=ºô¸ô²ÕºA
desc_pl=Konfiguracja sieci
desc_de=Netzwerkkonfiguration
name=Networking
desc_zh_CN=ÍøÂçÅäÖÃ
desc_pt=Configuração de Rede
category=hardware
desc_tr=Að Yapýlandýrmasý
os_support=solaris redhat-linux/5.0 redhat-linux/5.1 redhat-linux/5.2 redhat-linux/6.0 redhat-linux/6.1 redhat-linux/6.2 redhat-linux/7.0 redhat-linux/7.1 redhat-linux/7.2 redhat-linux/7.3 mandrake-linux suse-linux/6.0 suse-linux/6.1 suse-linux/6.2 suse-linux/6.3 suse-linux/6.4 suse-linux/7.0 suse-linux/7.1 suse-linux/7.2 suse-linux/7.3 suse-linux/8.0 open-linux unixware turbo-linux/4.0 freebsd/3.4 freebsd/3.3 freebsd/3.2 freebsd/4.0 freebsd/4.1 freebsd/4.2 freebsd/4.3 freebsd/4.4 freebsd/4.5 freebsd/4.6 freebsd/5.0 openbsd debian-linux/2.2 debian-linux/3.0 cobalt-linux/2.2 cobalt-linux/4.0 cobalt-linux/5.0 cobalt-linux/6.0 msc-linux
desc=Network Configuration
desc_es=Configuración de Red
desc_sv=Nätverkskonfigurering
desc_fr=Configuration Réseau
desc_cz=Konfigurace site
desc_ja_JP.euc=¥Í¥Ã¥È¥ï¡¼¥¯ÀßÄê
depends=0.990
version=0.990
desc_ca=Configuració de Xarxa
desc_ru_RU=Êîíôèãóðàöèÿ Ñåòè
 07070100039a37000081a40000000000000002000000013d1fe2d700003786000000200000000000000000000000000000001b00000003reloc/net/msc-linux-lib.pl    # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-[a-z0-9:]+$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'};
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'};
	$b->{'netmask'} = $conf{'NETMASK'};
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'bootp'} = ($conf{'BOOTPROTO'} eq 'bootp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
$conf{'BOOTPROTO'} = $_[0]->{'bootp'} ? "bootp" :
		     $_[0]->{'dhcp'} ? "dhcp" : "none";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
# show default router and device
local (%conf, @st, @hr, %sysctl);
&read_env_file($network_config, \%conf);
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAY'} ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$conf{'GATEWAY'} ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAY'};

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAYDEV'} ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$conf{'GATEWAYDEV'} ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAYDEV'};

# show routing
if ($gconfig{'os_version'} < 7.0) {
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "" : "checked";
	}
else {
	&read_env_file($sysctl_config, \%sysctl);
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$sysctl{'net.ipv4.ip_forward'} ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$sysctl{'net.ipv4.ip_forward'} ? "" : "checked";
	}

# get static routes
open(STATIC, $static_route_config);
while(<STATIC>) {
	if (/(\S+)\s+net\s+(\S+)\s+netmask\s+(\S+)\s+gw\s+(\S+)/) {
		push(@st, [ $1, $2, $3, $4 ]);
		}
	elsif (/(\S+)\s+host\s+(\S+)/) {
		push(@hr, [ $1, $2 ]);
		}
	}
close(STATIC);

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> </tr>\n";
for($i=0; $i<=@st; $i++) {
	local $st = $st[$i];
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=net_$i size=15 value='$st->[1]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$st->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$st->[3]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# Show static host routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> </tr>\n";
for($i=0; $i<=@hr; $i++) {
	local $st = $hr[$i];
	print "<tr $cb>\n";
	print "<td><input name=ldev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=lnet_$i size=15 value='$st->[1]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
local (%conf, @st, %sysctl);
&lock_file($network_config);
&read_env_file($network_config, \%conf);
if ($in{'gateway_def'}) { $conf{'GATEWAY'} = ''; }
elsif (!gethostbyname($in{'gateway'})) {
	&error(&text('routes_edefault', $in{'gateway'}));
	}
else { $conf{'GATEWAY'} = $in{'gateway'}; }

if ($in{'gatewaydev_def'}) { $conf{'GATEWAYDEV'} = ''; }
elsif ($in{'gatewaydev'} !~ /^\S+$/) {
	&error(&text('routes_edevice', $in{'gatewaydev'}));
	}
else { $conf{'GATEWAYDEV'} = $in{'gatewaydev'}; }

if ($gconfig{'os_version'} < 7.0) {
	if ($in{'forward'}) { $conf{'FORWARD_IPV4'} = 'yes'; }
	else { $conf{'FORWARD_IPV4'} = 'no'; }
	}
else {
	&lock_file($sysctl_config);
	&read_env_file($sysctl_config, \%sysctl);
	$sysctl{'net.ipv4.ip_forward'} = $in{'forward'};
	}

&lock_file($static_route_config);
for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
	$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
	next if (!$dev && !$net && !$netmask && !$gw);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
	gethostbyname($gw) || &error(&text('routes_egateway', $gw));
	push(@st, "$dev net $net netmask $netmask gw $gw\n");
	}
for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
	$net = $in{"lnet_$i"};
	next if (!$dev && !$net);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	push(@st, "$dev host $net\n");
	}
open(STATIC, ">$static_route_config");
print STATIC @st;
close(STATIC);
&unlock_file($static_route_config);
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
if (%sysctl) {
	&write_env_file($sysctl_config, \%sysctl);
	&unlock_file($sysctl_config);
	}
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

  07070100039a38000081a40000000000000002000000013d1fe2d7000005ae000000200000000000000000000000000000001500000003reloc/net/net-lib.pl  # net-lib.pl
# Common local networking functions

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

if (-r "$module_root_directory/$gconfig{'os_type'}-$gconfig{'os_version'}-lib.pl") {
	do "$gconfig{'os_type'}-$gconfig{'os_version'}-lib.pl";
	}
else {
	do "$gconfig{'os_type'}-lib.pl";
	}

# list_hosts()
# Parse hosts from /etc/hosts into a data structure
sub list_hosts
{
local @rv;
local $lnum = 0;
open(HOSTS, $config{'hosts_file'});
while(<HOSTS>) {
	s/\r|\n//g;
	s/#.*$//g;
	s/\s+$//g;
	if (/(\d+\.\d+\.\d+\.\d+)\s+(.*)$/) {
		push(@rv, { 'address' => $1,
			    'hosts' => [ split(/\s+/, $2) ],
			    'line', $lnum,
			    'index', scalar(@rv) });
		}
	$lnum++;
	}
close(HOSTS);
return @rv;
}

# create_host(&host)
# Add a new host to /etc/hosts
sub create_host
{
open(HOSTS, ">>$config{'hosts_file'}");
print HOSTS $_[0]->{'address'},"\t",join(" ",@{$_[0]->{'hosts'}}),"\n";
close(HOSTS);
}

# modify_host(&host)
# Update the address and hosts of a line in /etc/hosts
sub modify_host
{
&replace_file_line($config{'hosts_file'},
		   $_[0]->{'line'},
		   $_[0]->{'address'}."\t".join(" ",@{$_[0]->{'hosts'}})."\n");
}

# delete_host(&host)
# Delete a host from /etc/hosts
sub delete_host
{
&replace_file_line($config{'hosts_file'}, $_[0]->{'line'});
}

# parse_hex(hex)
# Convert an address like ff000000 into 255.0.0.0
sub parse_hex
{
$_[0] =~ /(..)(..)(..)(..)$/;
return join(".", (hex($1), hex($2), hex($3), hex($4)));
}

1;

  07070100039a39000081a40000000000000002000000013d1fe2d700002a34000000200000000000000000000000000000001800000003reloc/net/netbsd-lib.pl   # netbsd-lib.pl
# Networking functions for NetBSD

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+:/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+):/;
	$ifc{'name'} = $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+):\s/) { $ifc{'virtual'} = $2; }
	if ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
		$ifc{'address'} = $1;
		$ifc{'netmask'} = &parse_hex($2);
		$ifc{'broadcast'} = $3;
		}
	elsif ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)//) {
		$ifc{'address'} = $1;
		$ifc{'netmask'} = &parse_hex($2);
		}
	else { next; }
	if ($l =~ /ether\s+(\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /mtu\s+(\S+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\<UP/);
	$ifc{'edit'} = &iface_type($ifc{'name'}) =~ /ethernet|loopback/i;
	$ifc{'index'} = scalar(@rv);
	if ($ifc{'ether'}) {
		$ifc{'ether'} = join(":", map { sprintf "%2.2d", $_ }
					      split(/:/, $ifc{'ether'}));
		}
	push(@rv, \%ifc);

	# Add aliases as virtual interfaces
	local $v = 0;
	while($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
		local %vifc = %ifc;
		$vifc{'address'} = $1;
		$vifc{'netmask'} = &parse_hex($2);
		$vifc{'broadcast'} = $3;
		$vifc{'up'} = 1;
		$vifc{'edit'} = $ifc{'edit'};
		$vifc{'virtual'} = $v++;
		$vifc{'fullname'} = $vifc{'name'}.':'.$vifc{'virtual'};
		$vifc{'index'} = scalar(@rv);
		push(@rv, \%vifc);
		}
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local %act;
map { $act{$_->{'fullname'}} = $_ } &active_interfaces();
local $old = $act{$_[0]->{'fullname'}};
$act{$_[0]->{'fullname'}} = $_[0];
&interface_sync(\%act, $_[0]->{'name'});
}

# deactivate_interface(&details)
# Deactive an interface
sub deactivate_interface
{
local %act;
local @act = &active_interfaces();
if ($_[0]->{'virtual'} eq '') {
	@act = grep { $_->{'name'} ne $_[0]->{'name'} } @act;
	}
else {
	@act = grep { $_->{'fullname'} ne $_[0]->{'fullname'} } @act;
	}
map { $act{$_->{'fullname'}} = $_ } @act;
&interface_sync(\%act, $_[0]->{'name'});
}

# interface_sync(interfaces, name)
sub interface_sync
{
while(`ifconfig $_[1]` =~ /\s+inet\s+/) {
	&system_logged("ifconfig $_[1] delete >/dev/null 2>&1");
	}
foreach $a (sort { $a->{'fullname'} cmp $b->{'fullname'} }
		 grep { $_->{'name'} eq $_[1] } values(%{$_[0]})) {
	local $cmd = "ifconfig $a->{'name'}";
	if ($a->{'virtual'} ne '') {
		$cmd .= " alias $a->{'address'}";
		}
	else {
		$cmd .= " $a->{'address'}";
		}
	if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
	if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
	if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
	$msg .= "running $cmd<br>\n";
	local $out = &backquote_logged("$cmd 2>&1");
	if ($? && $out !~ /file exists/i) {
		&error($out);
		}
	if ($a->{'virtual'} eq '') {
		if ($a->{'up'}) { $out = `ifconfig $a->{'name'} up 2>&1`; }
		else { $out = &backquote_logged("ifconfig $a->{'name'} down 2>&1"); }
		&error($out) if ($?);
		}
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local %rc = &get_rc_conf();
local @rv;
foreach $r (keys %rc) {
	local $v = $rc{$r};
	local %ifc;
	if ($r =~ /^ifconfig_([a-z0-9]+)$/) {
		# Non-virtual interface
		%ifc = ( 'name' => $1,
			 'fullname' => $1 );
		}
	elsif ($r =~ /^ifconfig_([a-z0-9]+)_alias(\d+)$/) {
		# Virtual interface
		%ifc = ( 'name' => $1,
			 'virtual' => $2,
			 'fullname' => "$1:$2" );
		}
	else { next; }

	if ($v =~ /^inet\s+(\S+)/ || /^([0-9\.]+)/) {
		$ifc{'address'} = $1;
		}
	else { next; }
	local @a = split(/\./, $ifc{'address'});
	if ($v =~ /netmask\s+(0x\S+)/) {
		$ifc{'netmask'} = &parse_hex($1);
		}
	elsif ($v =~ /netmask\s+([0-9\.]+)/) {
		$ifc{'netmask'} = $1;
		}
	else {
		$ifc{'netmask'} = $a[0] >= 192 ? "255.255.255.0" :
				  $a[0] >= 128 ? "255.255.0.0" :
						 "255.0.0.0";
		}
	if ($v =~ /broadcast\s+(0x\S+)/) {
		$ifc{'broadcast'} = &parse_hex($1);
		}
	elsif ($v =~ /broadcast\s+([0-9\.]+)/) {
		$ifc{'broadcast'} = $1;
		}
	else {
		local @n = split(/\./, $ifc{'netmask'});
		$ifc{'broadcast'} = sprintf "%d.%d.%d.%d",
					($a[0] | ~int($n[0]))&0xff,
					($a[1] | ~int($n[1]))&0xff,
					($a[2] | ~int($n[2]))&0xff,
					($a[3] | ~int($n[3]))&0xff;
		}
	$ifc{'mtu'} = $1 if ($v =~ /mtu\s+(\d+)/);
	$ifc{'up'} = 1;
	$ifc{'edit'} = 1;
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local $str = "inet $_[0]->{'address'}";
$str .= " netmask $_[0]->{'netmask'}" if ($_[0]->{'netmask'});
$str .= " broadcast $_[0]->{'broadcast'}" if ($_[0]->{'broadcast'});
&lock_file("/etc/rc.conf");
if ($_[0]->{'virtual'} eq '') {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}, $str);
	}
else {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}.'_alias'.$_[0]->{'virtual'},
		      $str);
	}
&unlock_file("/etc/rc.conf");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
&lock_file("/etc/rc.conf");
if ($_[0]->{'virtual'} eq '') {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'});
	}
else {
	&save_rc_conf('ifconfig_'.$_[0]->{'name'}.'_alias'.$_[0]->{'virtual'});
	}
&unlock_file("/etc/rc.conf");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return	$_[0] =~ /^tun/ ? "Loopback tunnel" :
	$_[0] =~ /^sl/ ? "SLIP" :
	$_[0] =~ /^ppp/ ? "PPP" :
	$_[0] =~ /^lo/ ? "Loopback" :
	$_[0] =~ /^ar/ ? "Arnet" :
	$_[0] =~ /^(ax|mx|pn|rl|tx|wb)/ ? "Fast ethernet" :
	$_[0] =~ /^(cs|de|ed|el|ex|fe|fxp|ie|le|lnc|tl|vr|vx|xl|ze|zp)/ ? "Ethernet" : $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return 0;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] =~ /netmask|broadcast/;
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);

open(HOST, "/etc/host.conf");
while(<HOST>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@{$dns->{'order'}}, $_) if (/\S/);
	}
close(HOST);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/host.conf");
open(HOST, ">/etc/host.conf");
foreach (@{$_[0]->{'order'}}) {
	print HOST $_,"\n";
	}
close(HOST);
&unlock_file("/etc/host.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
local @o = @{$_[0]->{'order'}};
local ($rv, $i, $j);
local @srcs = ( "", "hosts", "bind", "nis" );
local @srcn = ( "", "Hosts", "DNS", "NIS" );
for($i=1; $i<@srcs; $i++) {
	local $ii = $i-1;
	$rv .= "<select name=order_$ii>\n";
	for($j=0; $j<@srcs; $j++) {
		$rv .= sprintf "<option value=\"%s\" %s>%s\n",
				$srcs[$j],
				$o[$ii] eq $srcs[$j] ? "selected" : "",
				$srcn[$j] ? $srcn[$j] : "&nbsp;";
		}
	$rv .= "</select>\n";
	}
return $rv;
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
local($i, @order);
for($i=0; defined($in{"order_$i"}); $i++) {
	push(@order, $in{"order_$i"}) if ($in{"order_$i"});
	}
$_[0]->{'order'} = \@order;
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
&lock_file("/etc/rc.conf");
&system_logged("hostname $_[0] >/dev/null 2>&1");
&save_rc_conf('hostname', $_[0]);
&unlock_file("/etc/rc.conf");
}

sub routing_input
{
local %rc = &get_rc_conf();
local $defr = $rc{'defaultrouter'};
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input name=defr_def type=radio value=1 %s> %s\n",
	$defr eq 'NO' ? 'checked' : '', $text{'routes_none'};
printf "<input name=defr_def type=radio value=0 %s>\n",
	$defr eq 'NO' ? '' : 'checked';
printf "<input name=defr size=20 value='%s'></td> </tr>\n",
	$defr eq 'NO' ? '' : $defr;

local $gw = $rc{'gateway_enable'};
print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
printf "<input name=gw type=radio value=YES %s> %s\n",
	$gw eq 'YES' ? 'checked' : '', $text{'yes'};
printf "<input name=gw type=radio value=NO %s> %s</td> </tr>\n",
	$gw eq 'YES' ? '' : 'checked', $text{'no'};

local $rd = $rc{'router_enable'};
print "<tr> <td><b>$text{'routes_routed'}</b></td> <td>\n";
printf "<input name=rd type=radio value=YES %s> %s\n",
	$rd eq 'YES' ? 'checked' : '', $text{'yes'};
printf "<input name=rd type=radio value=NO %s> %s</td> </tr>\n",
	$rd eq 'YES' ? '' : 'checked', $text{'no'};
}

sub parse_routing
{
&lock_file("/etc/rc.conf");
$in{'defr_def'} || &check_ipaddress($in{'defr'}) ||
	&error(&text('routes_edefault', $in{'defr'}));
&save_rc_conf('defaultrouter', $in{'defr_def'} ? 'NO' : $in{'defr'});
&save_rc_conf('gateway_enable', $in{'gw'});
&save_rc_conf('router_enable', $in{'rd'});
&unlock_file("/etc/rc.conf");
}

# save_rc_conf(name, value)
sub save_rc_conf
{
local $found;
open(CONF, "/etc/rc.conf");
local @conf = <CONF>;
close(CONF);
open(CONF, ">/etc/rc.conf");
foreach (@conf) {
	if (/^\s*([^=]+)\s*=\s*(.*)/ && $1 eq $_[0]) {
		print CONF "$_[0]=\"$_[1]\"\n" if (@_ > 1);
		$found++;
		}
	else {
		print CONF $_;
		}
	}
if (!$found && @_ > 1) {
	print CONF "$_[0]=\"$_[1]\"\n";
	}
close(CONF);
}

# get_rc_conf()
sub get_rc_conf
{
local ($file, %rv);
foreach $file ("/etc/defaults/rc.conf", "/etc/rc.conf") {
	open(FILE, $file);
	while(<FILE>) {
		s/\r|\n//g;
		s/#.*$//;
		if (/^\s*([^=\s]+)\s*=\s*"(.*)"/ ||
		    /^\s*([^=\s]+)\s*=\s*(\S+)/) {
			$rv{$1} = $2;
			}
		}
	close(FILE);
	}
return %rv;
}

sub os_feedback_files
{
return ( "/etc/rc.conf", "/etc/resolv.conf", "/etc/host.conf",
	 "/etc/resolv.conf" );
}

1;

07070100039a3a000081a40000000000000002000000013d1fe2d700002d34000000200000000000000000000000000000001c00000003reloc/net/open-linux-lib.pl   # openlinux.pl
# Networking functions for openlinux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/network-scripts/ifcfg-routes";
$nis_conf = "/etc/nis.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	else { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged("ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " down";
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-(\S+)/ || $f eq 'ifcfg-routes' ||
		 $f =~ /\.sample$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'} ? $conf{'DEVICE'} : $1;
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'} ? $conf{'IPADDR'} : "Automatic";
	$b->{'netmask'} = $conf{'NETMASK'} ? $conf{'NETMASK'} : "Automatic";
	$b->{'broadcast'} = $conf{'BROADCAST'} ? $conf{'BROADCAST'}
					       : "Automatic";
	$b->{'dhcp'} = $conf{'DYNAMIC'} eq 'dhcp';
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|plip/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
if ($_[0]->{'dhcp'}) {
	$conf{'DYNAMIC'} = 'dhcp';
	}
else {
	$conf{'IPADDR'} = $_[0]->{'address'};
	delete($conf{'DYNAMIC'});
	}
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
			($ip1 & int($nm1))&0xff,
			($ip2 & int($nm2))&0xff,
			($ip3 & int($nm3))&0xff,
			($ip4 & int($nm4))&0xff;
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "bootp" && $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/^domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/^search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_file("$network_config", \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_file("$network_config", \%conf);
# XXX need to update nis.conf
}

sub routing_input
{
local (%conf, %ifc, $f, $gateway, $gatewaydev);
&read_file($network_config, \%conf);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-(\S+)/);
	&read_file("$net_scripts_dir/$f", \%ifc);
	if (&check_ipaddress($ifc{'GATEWAY'})) {
		$gateway = $ifc{'GATEWAY'};
		$gatewaydev = $ifc{'DEVICE'};
		last;
		}
	}
closedir(CONF);

print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> %s\n",
	$gateway ? "" : "checked", $text{'routes_none'};
printf "<input type=radio name=gateway_def value=0 %s> %s\n",
	$gateway ? "checked" : "", $text{'routes_gateway'};
printf "<input name=gateway size=15 value=\"%s\"> %s\n",
	$gateway, $text{'routes_device'};
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$gatewaydev;

print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
	$conf{'IPFORWARDING'} =~ /yes|true/i ? "checked" : "";
printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
	$conf{'IPFORWARDING'} =~ /yes|true/i ? "" : "checked";

print "<tr> <td valign=top><b>$text{'routes_script'}</b></td> <td>\n";
print "<textarea name=script rows=4 cols=60>\n";
open(SCRIPT, $static_route_config);
while(<SCRIPT>) { print; }
close(SCRIPT);
print "</textarea></td> </tr>\n";
}

sub parse_routing
{
local %conf;
&lock_file($network_config);
&read_file($network_config, \%conf);
if ($in{'forward'}) { $conf{'IPFORWARDING'} = 'yes'; }
else { delete($conf{'IPFORWARDING'}); }

if (!$in{'gateway_def'}) {
	gethostbyname($in{'gateway'}) ||
		&error(&text('routes_edefault', $in{'gateway'}));
	-r "$net_scripts_dir/ifcfg-$in{'gatewaydev'}" ||
		&error(&text('routes_edevice', $in{'gatewaydev'}));
	}

opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-(\S+)/);
	&lock_file("$net_scripts_dir/$f");
	&read_file("$net_scripts_dir/$f", \%ifc);
	if ($in{'gateway_def'} || $ifc{'DEVICE'} ne $in{'gatewaydev'}) {
		delete($ifc{'GATEWAY'});
		}
	else {
		$ifc{'GATEWAY'} = $in{'gateway'};
		}
	&write_file("$net_scripts_dir/$f", \%ifc);
	&unlock_file("$net_scripts_dir/$f");
	}
closedir(CONF);

&write_file($network_config, \%conf);
&unlock_file($network_config);

&lock_file($static_route_config);
open(SCRIPT, ">$static_route_config");
$in{'script'} =~ s/\r//g;
print SCRIPT $in{'script'};
close(SCRIPT);
&unlock_file($static_route_config);
&system_logged("chmod +x $static_route_config");
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, $nis_conf, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

07070100039a3b000081a40000000000000002000000013d1fe2d7000032be000000200000000000000000000000000000001900000003reloc/net/openbsd-lib.pl  # freebsd-lib.pl
# Networking functions for FreeBSD

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
  {
      local(@rv, @lines, $l);
      open(IFC, "ifconfig -A |");
      while(<IFC>) {
	  s/\r|\n//g;
	  if (/^\S+:/) { push(@lines, $_); }
	  else { $lines[$#lines] .= $_; }
      }
      close(IFC);
      foreach $l (@lines) {
	  local %ifc;
	  $l =~ /^([^:\s]+):/;
	  $ifc{'name'} = $ifc{'fullname'} = $1;
	  if ($l =~ /^(\S+):(\d+):\s/) { $ifc{'virtual'} = $2; }
	  if ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
	      $ifc{'address'} = $1;
	      $ifc{'netmask'} = &parse_hex($2);
	      $ifc{'broadcast'} = $3;
	  }
	  elsif ($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)//) {
	      $ifc{'address'} = $1;
	      $ifc{'netmask'} = &parse_hex($2);
	  }
	  else { next; }
	  if ($l =~ /ether\s+(\S+)/) { $ifc{'ether'} = $1; }
	  if ($l =~ /mtu\s+(\S+)/) { $ifc{'mtu'} = $1; }
	  $ifc{'up'}++ if ($l =~ /\<UP/);
	  $ifc{'edit'} = &iface_type($ifc{'name'}) =~ /ethernet|loopback/i;
	  $ifc{'index'} = scalar(@rv);
	  if ($ifc{'ether'}) {
	      $ifc{'ether'} = join(":", map { sprintf "%2.2d", $_ }
				   split(/:/, $ifc{'ether'}));
	  }
	  push(@rv, \%ifc);
	  
	  # Add aliases as virtual interfaces
	  local $v = 0;
	  while($l =~ s/inet\s+(\S+)\s+netmask\s+(\S+)\s+broadcast\s+(\S+)//) {
	      local %vifc = %ifc;
	      $vifc{'address'} = $1;
	      $vifc{'netmask'} = &parse_hex($2);
	      $vifc{'broadcast'} = $3;
	      $vifc{'up'} = 1;
	      $vifc{'edit'} = $ifc{'edit'};
	      $vifc{'virtual'} = $v++;
	      $vifc{'fullname'} = $vifc{'name'}.':'.$vifc{'virtual'};
	      $vifc{'index'} = scalar(@rv);
	      push(@rv, \%vifc);
	  }
      }
      return @rv;
  }

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
  {
      local %act;
      map { $act{$_->{'fullname'}} = $_ } &active_interfaces();
      local $old = $act{$_[0]->{'fullname'}};
      $act{$_[0]->{'fullname'}} = $_[0];
      &interface_sync(\%act, $_[0]->{'name'});
  }

# deactivate_interface(&details)
# Deactive an interface
sub deactivate_interface
  {
      local %act;
      local @act = &active_interfaces();
      if ($_[0]->{'virtual'} eq '') {
	  @act = grep { $_->{'name'} ne $_[0]->{'name'} } @act;
      }
      else {
	  @act = grep { $_->{'fullname'} ne $_[0]->{'fullname'} } @act;
      }
      map { $act{$_->{'fullname'}} = $_ } @act;
      &interface_sync(\%act, $_[0]->{'name'});
  }

# interface_sync(interfaces, name)
sub interface_sync
  {
      while(`ifconfig $_[1]` =~ /\s+inet\s+/) {
	  &system_logged("ifconfig $_[1] delete >/dev/null 2>&1");
      }
      foreach $a (sort { $a->{'fullname'} cmp $b->{'fullname'} }
		  grep { $_->{'name'} eq $_[1] } values(%{$_[0]})) {
	  local $cmd = "ifconfig $a->{'name'}";
	  if ($a->{'virtual'} ne '') {
	      $cmd .= " alias $a->{'address'}";
	  }
	  else {
	      $cmd .= " $a->{'address'}";
	  }
	  if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
	  if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
	  if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
	  $msg .= "running $cmd<br>\n";
	  local $out = &backquote_logged("$cmd 2>&1");
	  if ($? && $out !~ /file exists/i) {
	      &error($out);
	  }
	  if ($a->{'virtual'} eq '') {
	      if ($a->{'up'}) { $out = `ifconfig $a->{'name'} up 2>&1`; }
	      else { $out = &backquote_logged("ifconfig $a->{'name'} down 2>&1"); }
	      &error($out) if ($?);
	  }
      }
  }


# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces 
  {
      local @rv;
      local @if_list = split(" ", `echo -n /etc/hostname.*[!~]`);
      
      if ( $if_list[0] eq "/etc/hostname.*[!~]" )
	{ return @rv; }
      
      foreach $r (@if_list) {
	  local $if;
	  local $alias_cnt = 0;
	  
	  ($if = $r) =~ s/\/etc\/hostname\.//;
	  
	  open( IF_FILE, "<$r")
	    or die "Could not open: $r";
	  
	  while(<IF_FILE>) {
	      local %ifc;
	      
	      if( ! /^inet .*|^dhcp/ )
		{ next; }
	      
	      if( /^dhcp/ ) {
		%ifc = ( 'name' => $if,
			 'fullname' => $if,
			 'dhcp' => 1 );
	      }	
	      elsif( /alias/ ) {
		  $_ =~ s/alias//;
		  # Virtual interface
		  %ifc = ( 'name' => $if,
			   'virtual' => $alias_cnt,
			   'fullname' => "$if:$alias_cnt" );
		  $alias_cnt++;
	      }
	      else {
		  # Non-virtual interface
		  %ifc = ( 'name' => $if,
			   'fullname' => $if );
	      }
	      
	      @_ = split;
	      
	      $ifc{'address'} = $_[1] if( $_[1] ne 'NONE' );
	      $ifc{'netmask'} = $_[2] if( $_[2] ne 'NONE' );
	      $ifc{'broadcast'} = $_[3] if( $_[3] ne 'NONE' );
	      $ifc{'up'} = 1;
	      $ifc{'edit'} = 1;
	      $ifc{'index'} = scalar(@rv);
	      push(@rv, \%ifc);
	  }
	  close( IF_FILE );
      }
      return @rv;
  }

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface 
{
    local ($str, $lines, $found = 0);
    local $if = $_[0]->{'name'};
    local $alias_nr = $_[0]->{'virtual'};
    
    &lock_file("/etc/hostname.$if");
    if ( $_[0]->{'dhcp'} ){ 
      system("echo dhcp > /etc/hostname.$if"); 
      &unlock_file("/etc/hostname.$if");
      return;
    }

    if ( $alias_nr eq '' ) {
	$str = "inet ";
	$alias_nr = 0;
    }
    else {
	$str = "inet alias "; 
	$alias_nr += 1;
    }

    $str .= $_[0]->{'address'};
    $str .= " $_[0]->{'netmask'}" if ($_[0]->{'netmask'});
    $str .= " $_[0]->{'broadcast'}" if ($_[0]->{'broadcast'});

    $_ = `echo -n /etc/hostname.*`;

    if( /hostname.$if/ ) {
	$lines = &read_file_lines( "/etc/hostname.".$if );
	foreach $l (@$lines) {
	    $_ = $l;
	    if( ! /^inet |^dhcp/ )
	      { next; }
	    if( $alias_nr == 0 ) {
		$l = $str;
		$found = 1;
		last;
	    }
	    if( ! /alias/ )
	      { next; }
	    if( $alias_nr == 1 ) {
		$l = $str;
		$found = 1;
		last;
	    }
	    $alias_nr--;
	}
	if( $found == 0 ) {
	    push @$lines, ($str);
	}
	&flush_file_lines();
    } 
    else {
	open( IF_FILE, ">/etc/hostname.".$if );
	print IF_FILE $str, "\n";
	close( IF_FILE );
    }
    &unlock_file("/etc/hostname.$if");

}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
    local ($cnt = 0, $lines, $found = 0);
    local $if = $_[0]->{'name'};
    local $addr = $_[0]->{'address'};
    
    $_ = `echo -n /etc/hostname.*`;

    &lock_file("/etc/hostname.$if");
    if( /hostname.$if/ ) {
	$lines = &read_file_lines( "/etc/hostname.".$if );
	foreach $l (@$lines) {
	    $_ = $l;
	    $cnt++;
	    if ( /^\#/ )
	      { next; }
	    $found++;
	    if( ! /^inet / )
	      { next; }
	    if( /$addr/ )
	      { splice @$lines, $cnt-1, 1; }
	}
	&flush_file_lines();
	# check if we deleted the only entry in the file
	# if so delete the file (otherwise dhcp will be used for the interface)
	if( $found == 1 ) {
	    unlink ("/etc/hostname.".$if);
	}
    } 
    &unlock_file("/etc/hostname.$if");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
  {
      return	$_[0] =~ /^tun/ ? "Loopback tunnel" :
	$_[0] =~ /^sl/ ? "SLIP" :
	  $_[0] =~ /^ppp/ ? "PPP" :
	    $_[0] =~ /^lo/ ? "Loopback" :
	      $_[0] =~ /^ar/ ? "Arnet" :
		$_[0] =~ /^(aue|cue|kue)/ ? "USB ethernet" :
		  $_[0] =~ /^(sk|ti|wx)/ ? "Gigabit ethernet" :
		    $_[0] =~ /^(al|ax|be|mx|qe|qec|rl|sf|sis|ste|tx|wb)/ ? "Fast ethernet" :
		      $_[0] =~ /^(ae|cs|dc|de|ec|ed|eg|el|en|ep|es|ex|fxp|hme|ie|il|ix|iy|le|mc|ne|np|qn|sm|sn|tl|vr|vx|we|xe|xl|ze|zp)/ ? "Ethernet" : $text{'ifcs_unknown'};
  }

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
  {
      return 0;
  }

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
  {
      return $_[0] =~ /netmask|broadcast|dhcp/;
  }

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
  {
      return &check_ipaddress($_[0]);
  }

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
  {
      local $dns;
      open(RESOLV, "/etc/resolv.conf");
      while(<RESOLV>) {
	  s/\r|\n//g;
	  s/#.*$//g;		
	  if (/nameserver\s+(.*)/) {
	      push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
	  }
	  elsif (/search\s+(.*)/) {
	      $dns->{'domain'} = [ split(/\s+/, $1) ];
	  }
	  elsif (/lookup\s+(.*)/) {
	      $dns->{'order'} = [ split(/\s+/, $1) ];
	  }
      }
      close(RESOLV);
      
      return $dns;
  }

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
  {
      &lock_file("/etc/resolv.conf");
      open(RESOLV, "/etc/resolv.conf");
      local @resolv = <RESOLV>;
      close(RESOLV);
      open(RESOLV, ">/etc/resolv.conf");
      foreach (@{$_[0]->{'nameserver'}}) {
	  print RESOLV "nameserver $_\n";
      }
      if ($_[0]->{'domain'}) {
	  print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
      }
      foreach (@resolv) {
	  print RESOLV $_ if (!/^\s*(nameserver|search|lookup)\s+/);
      }
      print RESOLV "lookup ";
      foreach (@{$_[0]->{'order'}}) {
	  print RESOLV $_," ";
      }
      print RESOLV "\n";
      close(RESOLV);
      &unlock_file("/etc/resolv.conf");
      
  }

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
  {
      local @o = @{$_[0]->{'order'}};
      local ($rv, $i, $j);
      local @srcs = ( "", "file", "bind", "yp" );
      local @srcn = ( "", "Hosts", "DNS", "YP" );
      for($i=1; $i<@srcs; $i++) {
	  local $ii = $i-1;
	  $rv .= "<select name=order_$ii>\n";
	  for($j=0; $j<@srcs; $j++) {
	      $rv .= sprintf "<option value=\"%s\" %s>%s\n",
	      $srcs[$j],
	      $o[$ii] eq $srcs[$j] ? "selected" : "",
	      $srcn[$j] ? $srcn[$j] : "&nbsp;";
	  }
	  $rv .= "</select>\n";
      }
      return $rv;
  }

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
  {
      local($i, @order);
      for($i=0; defined($in{"order_$i"}); $i++) {
	  push(@order, $in{"order_$i"}) if ($in{"order_$i"});
      }
      $_[0]->{'order'} = \@order;
  }

# get_hostname()
sub get_hostname
  {
      return &get_system_hostname();
  }

# save_hostname(name)
sub save_hostname
  {
      &system_logged("hostname $_[0] >/dev/null 2>&1");
      &lock_file("/etc/myname");
      open(MYNAME, ">/etc/myname");
      print MYNAME $_[0],"\n";
      close(MYNAME);
      &unlock_file("/etc/myname");
  }

sub set_line {
    local ($l, $lines, $found = 0);
    local $pat = $_[1];
    local $news = $_[2];

    $lines = read_file_lines($_[0]);
    foreach $l (@$lines) {
	$_ = $l;
	if( /$pat/ ) {
	    $found = 1;
	    $l = $news;
	}
    } 
    if( ! $found ) {
	push @$lines, ($news);
    }

    &flush_file_lines();
}

sub read_routing {
    $defr = '';
    if( -f "/etc/mygate" )
      { $defr = `cat < /etc/mygate`; }

    local %sysctl;
    read_file("/etc/sysctl.conf", \%sysctl);
    $gw = "$sysctl{'net.inet.ip.forwarding'}";
    $gw =~ s/\s*\#.*//; 
    $gw = "0" if( $gw eq '' );

    local %rc;
    read_file("/etc/rc.conf",\%rc);
    $rd = $rc{'routed_flags'};
    $rd =~ s/\s*\#.*//; 
    $rd = "NO" if( $rd eq '' );
}

sub routing_input
  {
      &read_routing;

      print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
      printf "<input name=defr_def type=radio value=1 %s> %s\n",
      $defr eq '' ? 'checked' : '', $text{'routes_none'};
      printf "<input name=defr_def type=radio value=0 %s>\n",
      $defr eq '' ? '' : 'checked';
      printf "<input name=defr size=20 value='%s'></td> </tr>\n",
      $defr;
      
      print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
      printf "<input name=gw type=radio value=1 %s> %s\n",
      $gw eq '1' ? 'checked' : '', $text{'yes'};
      printf "<input name=gw type=radio value=0 %s> %s</td> </tr>\n",
      $gw eq '1' ? '' : 'checked', $text{'no'};
      
      print "<tr> <td><b>$text{'routes_routed'}</b></td> <td>\n";
      printf "<input name=rd type=radio value=-q %s> %s\n",
      $rd eq 'NO' ? '':'checked', $text{'yes'};
      printf "<input name=rd type=radio value=NO %s> %s</td> </tr>\n",
      $rd eq 'NO' ? 'checked':'', $text{'no'};
  }

sub parse_routing
  {
      $in{'defr_def'} || &check_ipaddress($in{'defr'}) ||
	&error(&text('routes_edefault', $in{'defr'}));

      &read_routing;

      if ( $in{'defr_def'} && -f "/etc/mygate" ) {
	  unlink "/etc/mygate";
      }
      else {
	  if( $in{'defr'} ne $defr )
	    { system("echo ".$in{'defr'}." > /etc/mygate"); }
      }
      
      if( $in{'gw'} ne $gw ) {
	  &set_line( "/etc/sysctl.conf", "^net.inet.ip.forwarding", "net.inet.ip.forwarding=$in{'gw'}" );
      }

      if( $in{'rd'} ne $rd ) {
	  &set_line( "/etc/rc.conf", "^routed_flags", "routed_flags=$in{'rd'}" );
      }
  }

sub os_feedback_files
{
return ( split(" ", `echo -n /etc/hostname.*[!~]`),
	 "/etc/resolv.conf", "/etc/myname", "/etc/mygate", "/etc/rc.conf",
	 "/etc/sysctl.conf" );
}

1;

  07070100039a3c000081a40000000000000002000000013d1fe2d700003786000000200000000000000000000000000000001e00000003reloc/net/redhat-linux-lib.pl # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-[a-z0-9:]+$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'};
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'};
	$b->{'netmask'} = $conf{'NETMASK'};
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'bootp'} = ($conf{'BOOTPROTO'} eq 'bootp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
$conf{'BOOTPROTO'} = $_[0]->{'bootp'} ? "bootp" :
		     $_[0]->{'dhcp'} ? "dhcp" : "none";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
# show default router and device
local (%conf, @st, @hr, %sysctl);
&read_env_file($network_config, \%conf);
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAY'} ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$conf{'GATEWAY'} ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAY'};

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAYDEV'} ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$conf{'GATEWAYDEV'} ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAYDEV'};

# show routing
if ($gconfig{'os_version'} < 7.0) {
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "" : "checked";
	}
else {
	&read_env_file($sysctl_config, \%sysctl);
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$sysctl{'net.ipv4.ip_forward'} ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$sysctl{'net.ipv4.ip_forward'} ? "" : "checked";
	}

# get static routes
open(STATIC, $static_route_config);
while(<STATIC>) {
	if (/(\S+)\s+net\s+(\S+)\s+netmask\s+(\S+)\s+gw\s+(\S+)/) {
		push(@st, [ $1, $2, $3, $4 ]);
		}
	elsif (/(\S+)\s+host\s+(\S+)/) {
		push(@hr, [ $1, $2 ]);
		}
	}
close(STATIC);

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> </tr>\n";
for($i=0; $i<=@st; $i++) {
	local $st = $st[$i];
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=net_$i size=15 value='$st->[1]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$st->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$st->[3]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# Show static host routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> </tr>\n";
for($i=0; $i<=@hr; $i++) {
	local $st = $hr[$i];
	print "<tr $cb>\n";
	print "<td><input name=ldev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=lnet_$i size=15 value='$st->[1]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
local (%conf, @st, %sysctl);
&lock_file($network_config);
&read_env_file($network_config, \%conf);
if ($in{'gateway_def'}) { $conf{'GATEWAY'} = ''; }
elsif (!gethostbyname($in{'gateway'})) {
	&error(&text('routes_edefault', $in{'gateway'}));
	}
else { $conf{'GATEWAY'} = $in{'gateway'}; }

if ($in{'gatewaydev_def'}) { $conf{'GATEWAYDEV'} = ''; }
elsif ($in{'gatewaydev'} !~ /^\S+$/) {
	&error(&text('routes_edevice', $in{'gatewaydev'}));
	}
else { $conf{'GATEWAYDEV'} = $in{'gatewaydev'}; }

if ($gconfig{'os_version'} < 7.0) {
	if ($in{'forward'}) { $conf{'FORWARD_IPV4'} = 'yes'; }
	else { $conf{'FORWARD_IPV4'} = 'no'; }
	}
else {
	&lock_file($sysctl_config);
	&read_env_file($sysctl_config, \%sysctl);
	$sysctl{'net.ipv4.ip_forward'} = $in{'forward'};
	}

&lock_file($static_route_config);
for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
	$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
	next if (!$dev && !$net && !$netmask && !$gw);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
	gethostbyname($gw) || &error(&text('routes_egateway', $gw));
	push(@st, "$dev net $net netmask $netmask gw $gw\n");
	}
for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
	$net = $in{"lnet_$i"};
	next if (!$dev && !$net);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	push(@st, "$dev host $net\n");
	}
open(STATIC, ">$static_route_config");
print STATIC @st;
close(STATIC);
&unlock_file($static_route_config);
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
if (%sysctl) {
	&write_env_file($sysctl_config, \%sysctl);
	&unlock_file($sysctl_config);
	}
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

  07070100039a3d000081e40000000000000002000000013d1fe2d600000a81000000200000000000000000000000000000001800000003reloc/net/save_aifc.cgi   #!/usr/local/bin/perl
# save_aifc.cgi
# Save, create or delete an active interface

require './net-lib.pl';
$access{'ifcs'} == 2 || &error($text{'ifcs_ecannot'});
&ReadParse();
@acts = &active_interfaces();
if ($in{'delete'}) {
	# delete an interface
	&error_setup($text{'aifc_err1'});
	$a = $acts[$in{'idx'}];
	&deactivate_interface($a);
	&webmin_log("delete", "aifc", $a->{'fullname'}, $a);
	}
else {
	# Validate and save inputs
	&error_setup($text{'aifc_err2'});
	if (!$in{'new'}) {
		$olda = $acts[$in{'idx'}];
		$a->{'name'} = $olda->{'name'};
		$a->{'virtual'} = $olda->{'virtual'}
			if (defined($olda->{'virtual'}));
		}
	elsif (defined($in{'virtual'})) {
		# creating a virtual interface
		$in{'virtual'} =~ /^\d+$/ ||
			&error($text{'aifc_evirt'});
		foreach $ea (@acts) {
			if ($ea->{'name'} eq $in{'name'} &&
			    $ea->{'virtual'} eq $in{'virtual'}) {
				&error(&text('aifc_evirtdup',
				       "$in{'name'}:$in{'virtual'}"));
				}
			}
		$a->{'name'} = $in{'name'};
		$a->{'virtual'} = $in{'virtual'};
		}
	elsif ($in{'name'} =~ /^([a-z0-9]+):(\d+)$/) {
		# also creating a virtual interface
		foreach $ea (@acts) {
			if ($ea->{'name'} eq $1 &&
			    $ea->{'virtual'} eq $2) {
				&error(&text('aifc_evirtdup', $in{'name'}));
				}
			}
		$a->{'name'} = $1;
		$a->{'virtual'} = $2;
		}
	elsif ($in{'name'} =~ /^[a-z0-9]+$/) {
		# creating a real interface
		foreach $ea (@acts) {
			if ($ea->{'name'} eq $in{'name'}) {
				&error(&text('aifc_edup', $in{'name'}));
				}
			}
		$a->{'name'} = $in{'name'};
		}
	else {
		&error($text{'aifc_ename'});
		}
	&check_ipaddress($in{'address'}) ||
		&error(&text('aifc_eip', $in{'address'}));
	$a->{'address'} = $in{'address'};
	if (!$in{'netmask_def'}) {
		&check_ipaddress($in{'netmask'}) ||
			&error(&text('aifc_emask', $in{'netmask'}));
		$a->{'netmask'} = $in{'netmask'};
		}
	if (!$in{'broadcast_def'}) {
		&check_ipaddress($in{'broadcast'}) ||
			&error(&text('aifc_ebroad', $in{'broadcast'}));
		$a->{'broadcast'} = $in{'broadcast'};
		}
	if (!$in{'mtu_def'}) {
		$in{'mtu'} =~ /^\d+$/ ||
			&error(&text('aifc_emtu', $in{'mtu'}));
		$a->{'mtu'} = $in{'mtu'} if ($olda->{'mtu'} ne $in{'mtu'});
		}
	if ($in{'up'}) { $a->{'up'}++; }
	if (!$in{'ether_def'} && $a->{'virtual'} eq "" &&
	    &iface_hardware($a->{'name'})) {
		$in{'ether'} =~ /^[A-Fa-f0-9:]+$/ ||
			&error(&text('aifc_ehard', $in{'ether'}));
		$a->{'ether'} = $in{'ether'}
			if ($olda->{'ether'} ne $in{'ether'});
		}
	$a->{'fullname'} = $a->{'name'}.
			   ($a->{'virtual'} eq '' ? '' : ':'.$a->{'virtual'});
	&activate_interface($a);
	&webmin_log($in{'new'} ? 'create' : 'modify',
		    "aifc", $a->{'fullname'}, $a);
	}
&redirect("list_ifcs.cgi");

   07070100039a3e000081e40000000000000002000000013d1fe2d700000af8000000200000000000000000000000000000001800000003reloc/net/save_bifc.cgi   #!/usr/local/bin/perl
# save_bifc.cgi
# Create, save or delete a boot-time interface

require './net-lib.pl';
$access{'ifcs'} == 2 || &error($text{'ifcs_ecannot'});
&ReadParse();
@boot = &boot_interfaces();
if ($in{'delete'}) {
	# Delete interface
	&error_setup($text{'bifc_err1'});
	$b = $boot[$in{'idx'}];
	&delete_interface($b);
	&webmin_log("delete", "bifc", $b->{'fullname'}, $b);
	}
else {
	# Save or create interface
	&error_setup($text{'bifc_err2'});
	if (!$in{'new'}) {
		$oldb = $boot[$in{'idx'}];
		$b->{'name'} = $oldb->{'name'};
		$b->{'virtual'} = $oldb->{'virtual'}
			if (defined($oldb->{'virtual'}));
		}
	elsif (defined($in{'virtual'})) {
		# creating a virtual interface
		$in{'virtual'} =~ /^\d+$/ ||
			&error($text{'bifc_evirt'});
		foreach $eb (@boot) {
			if ($eb->{'name'} eq $in{'name'} &&
			    $eb->{'virtual'} eq $in{'virtual'}) {
				&error(&text('bifc_evirtdup',
				       "$in{'name'}:$in{'virtual'}"));
				}
			}
		$b->{'name'} = $in{'name'};
		$b->{'virtual'} = $in{'virtual'};
		}
	elsif ($in{'name'} =~ /^([a-z0-9]+):(\d+)$/) {
		# also creating a virtual interface
		foreach $eb (@boot) {
			if ($eb->{'name'} eq $1 &&
			    $eb->{'virtual'} eq $2) {
				&error(&text('bifc_evirtdup', $in{'name'}));
				}
			}
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	elsif ($in{'name'} =~/^[a-z]+\d+$/) {
		# creating a real interface
		foreach $eb (@acts) {
			if ($eb->{'name'} eq $in{'name'}) {
				&error(&text('bifc_edup', $in{'name'}));
				}
			}
		$b->{'name'} = $in{'name'};
		}
	else {
		&error($text{'bifc_ename'});
		}
	if ($in{'mode'} eq 'dhcp' || $in{'mode'} eq 'bootp') {
		$b->{$in{'mode'}}++;
		$auto++;
		}
	else {
		&valid_boot_address($in{'address'}) ||
			&error(&text('bifc_eip', $in{'address'}));
		$b->{'address'} = $in{'address'};
		}
	if (&can_edit("netmask", $b)) {
		$auto && !$in{'netmask'} || &check_ipaddress($in{'netmask'}) ||
			&error(&text('bifc_emask', $in{'netmask'}));
		$b->{'netmask'} = $in{'netmask'};
		}
	if (&can_edit("broadcast", $b)) {
		$auto && !$in{'broadcast'} ||
			&check_ipaddress($in{'broadcast'}) ||
			&error(&text('bifc_ebroad', $in{'broadcast'}));
		$b->{'broadcast'} = $in{'broadcast'};
		}
	if (&can_edit("mtu", $b)) {
		$in{'mtu'} =~ /^\d+$/ ||
			&error(&text('bifc_emtu', $in{'mtu'}));
		$b->{'mtu'} = $in{'mtu'};
		}
	if ($in{'up'} && &can_edit("up", $b)) { $b->{'up'}++; }
	$b->{'fullname'} = $b->{'name'}.
			   ($b->{'virtual'} eq '' ? '' : ':'.$b->{'virtual'});
	&save_interface($b);

	if ($in{'activate'}) {
		# Make this interface active (if possible)
		&error_setup($text{'bifc_err3'});
		$b->{'up'}++;
		$b->{'address'} = &to_ipaddress($b->{'address'});
		&activate_interface($b);
		}
	&webmin_log($in{'new'} ? 'create' : 'modify',
		    "bifc", $b->{'fullname'}, $b);
	}
&redirect("list_ifcs.cgi");

07070100039a42000081e40000000000000002000000013d1fe2d600000373000000200000000000000000000000000000001700000003reloc/net/save_dns.cgi    #!/usr/local/bin/perl
# save_dns.cgi
# Save DNS client configuration

require './net-lib.pl';
$access{'dns'} == 2 || &error($text{'dns_ecannot'});
&error_setup($text{'dns_err'});
&ReadParse();

$in{'hostname'} =~ /^[A-z0-9\.\-]*$/ ||
	&error(&text('dns_ehost', $in{'hostname'}));
$dns = { };
for($i=0; $i<$max_dns_servers; $i++) {
	$ns = $in{"nameserver_$i"};
	$ns =~ s/^\s+//; $ns =~ s/\s+$//;
	if ($ns) {
		&check_ipaddress($ns) ||
			&error(&text('dns_ens', $ns));
		push(@{$dns->{'nameserver'}}, $ns);
		}
	}
if (!$in{'domain_def'}) {
	@dlist = split(/\s+/, $in{'domain'});
	foreach $d (@dlist) {
		$d =~ /^[A-z0-9\.\-]+$/ ||
			&error(&text('dns_edomain', $d));
		push(@{$dns->{'domain'}}, $d);
		}
	@dlist>0 || &error($text{'dns_esearch'});
	}
&parse_order($dns);
&save_dns_config($dns);
&save_hostname($in{'hostname'});
&webmin_log("dns", undef, undef, \%in);
&redirect("");

 07070100039a43000081e40000000000000002000000013d1fe2d700000478000000200000000000000000000000000000001800000003reloc/net/save_host.cgi   #!/usr/local/bin/perl
# save_host.cgi
# Create, update or delete a host address

require './net-lib.pl';
$access{'hosts'} == 2 || &error($text{'hosts_ecannot'});
&ReadParse();
&lock_file($config{'hosts_file'});
@hosts = &list_hosts();
if ($in{'delete'}) {
	# deleting a host
	$host = $hosts[$in{'idx'}];
	&delete_host($host);
	}
else {
	# saving or updating a host
	$whatfailed = "Failed to save host";
	&check_ipaddress($in{'address'}) ||
		&error("'$in{'address'}' is not a valid IP address");
	@h = split(/\s+/, $in{'hosts'});
	foreach $h (@h) {
		$h =~ /^[A-z0-9\-\.]+$/ ||
			&error("'$h' is not a valid hostname");
		}
	@h>0 || &error("You must enter at least one hostname");
	if ($in{'new'}) {
		# saving a host
		$host = { 'address' => $in{'address'},
			  'hosts' => \@h };
		&create_host($host);
		}
	else {
		# updating a host
		$host = $hosts[$in{'idx'}];
		$host->{'address'} = $in{'address'};
		$host->{'hosts'} = \@h;
		&modify_host($host);
		}
	}
&unlock_file($config{'hosts_file'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'host', $host->{'address'}, $host);
&redirect("list_hosts.cgi");

07070100039a46000081e40000000000000002000000013d1fe2d700000121000000200000000000000000000000000000001a00000003reloc/net/save_routes.cgi #!/usr/local/bin/perl
# save_routes.cgi
# Save boot-time routing configuration

require './net-lib.pl';
$access{'routes'} == 2 || &error($text{'routes_ecannot'});
&ReadParse();
&error_setup($text{'routes_err'});
&parse_routing();
&webmin_log("routes", undef, undef, \%in);
&redirect("");

   07070100039a47000081a40000000000000002000000013d1fe2d700000989000000200000000000000000000000000000002100000003reloc/net/slackware-linux-lib.pl  # slackware-linux-lib.pl
# Networking functions for slackware linux (incomplete)

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	else { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " down";
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

1;

   07070100039a48000081a40000000000000002000000013d1fe2d7000029e3000000200000000000000000000000000000001900000003reloc/net/solaris-lib.pl  # solaris-lib.pl
# Networking functions for solaris

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+:/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+):/; $ifc{'name'} = $1;
	$l =~ /^(\S+):/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+):\s/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet\s+(\S+)/) { $ifc{'address'} = $1; }
	if ($l =~ /netmask\s+(\S+)/) { $ifc{'netmask'} = &parse_hex($1); }
	if ($l =~ /broadcast\s+(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /ether\s+(\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /mtu\s+(\S+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\<UP/);
	$ifc{'edit'} = ($ifc{'name'} !~ /ipdptp|ppp/);
	$ifc{'index'} = scalar(@rv);
	if ($ifc{'ether'}) {
		$ifc{'ether'} = join(":", map { sprintf "%2.2X", hex($_) }
					      split(/:/, $ifc{'ether'}));
		}
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
if ($a->{'virtual'} eq "") {
	local $out = &backquote_logged("ifconfig $a->{'name'} plumb 2>&1");
	if ($out) { &error(&text('aifc_eexist', $a->{'name'})); }
	}
elsif ($gconfig{'os_version'} >= 8) {
	&system_logged("ifconfig $a->{'name'}:$a->{'virtual'} plumb >/dev/null 2>&1");
	}
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
else { $cmd .= " netmask +"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
else { $cmd .= " broadcast +"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error("$cmd : $out"); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} ether $a->{'ether'} 2>&1");
	if ($? && $out !~ /Device busy/) { &error($out); }
	}
}

# deactivate_interface(&details)
# Deactive an interface
sub deactivate_interface
{
local $cmd;
if ($a->{'virtual'} eq "") {
	$cmd = "ifconfig $a->{'name'} unplumb";
	}
elsif ($gconfig{'os_version'} >= 8) {
	$cmd = "ifconfig $a->{'name'}:$a->{'virtual'} unplumb";
	}
else {
	$cmd = "ifconfig $a->{'name'}:$a->{'virtual'} 0.0.0.0 down";
	}
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local (@rv, $f, %mask);
push(@rv, { 'name' => 'lo0',
	    'fullname' => 'lo0',
	    'address' => '127.0.0.1',
	    'netmask' => '255.0.0.0',
	    'up' => 1,
	    'edit' => 0 });
open(MASK, "/etc/netmasks");
while(<MASK>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/([0-9\.]+)\s+([0-9\.]+)/) {
		$mask{$1} = $2;
		}
	}
close(MASK);
opendir(ETC, "/etc");
while($f = readdir(ETC)) {
	if ($f =~ /^hostname.(\S+):(\d+)$/ || $f =~ /^hostname.(\S+)/) {
		local %ifc;
		$ifc{'fullname'} = $ifc{'name'} = $1;
		$ifc{'virtual'} = $2 if (defined($2));
		$ifc{'fullname'} .= ":$2" if (defined($2));
		$ifc{'index'} = scalar(@rv);
		$ifc{'edit'}++;
		open(FILE, "/etc/$f");
		chop($ifc{'address'} = <FILE>);
		close(FILE);
		if ($ifc{'address'}) {
			&to_ipaddress($ifc{'address'})
				=~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
			local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
			$ifc{'netmask'} = "255.255.255.0";
			local $netaddr;
			foreach $netaddr (keys %mask)
			{
				$mask{$netaddr} =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
				local $na = sprintf "%d.%d.%d.%d",
						int($a1) & int($1),
						int($a2) & int($2),
						int($a3) & int($3),
						int($a4) & int($4);
				$ifc{'netmask'} = $mask{$netaddr}  if ($na eq $netaddr);
			}
			$ifc{'netmask'} =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
			$ifc{'broadcast'} = sprintf "%d.%d.%d.%d",
						($a1 | ~int($1))&0xff,
						($a2 | ~int($2))&0xff,
						($a3 | ~int($3))&0xff,
						($a4 | ~int($4))&0xff;
			}
		else {
			$ifc{'dhcp'}++;
			}
		$ifc{'up'}++;
		push(@rv, \%ifc);
		}
	}
closedir(ETC);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("/etc/hostname.$name");
open(IFACE, ">/etc/hostname.$name");
if (!$_[0]->{'dhcp'}) {
	print IFACE $_[0]->{'address'},"\n";
	}
close(IFACE);
&unlock_file("/etc/hostname.$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("/etc/hostname.$name");
unlink("/etc/hostname.$name");
&unlock_file("/etc/hostname.$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "Fast Ethernet" if ($_[0] =~ /^hme/);
return "Loopback" if ($_[0] =~ /^lo/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "PPP" if ($_[0] =~ /^ipdptp/ || $_[0] =~ /^ppp/);
return "Ethernet";
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] !~ /^(lo|ipdptp|ppp)/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] eq "dhcp";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return 1 if (&check_ipaddress($_[0]));
return gethostbyname($_[0]) ? 1 : 0;
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "ldap" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "LDAP" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
				        $srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
&system_logged("hostname $_[0] >/dev/null 2>&1");
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d;
}

# save_domainname(domain)
sub save_domainname
{
system("domainname \"$_[0]\" >/dev/null 2>&1");
if ($_[0]) {
	open(DOMAIN, ">/etc/defaultdomain");
	print DOMAIN $_[0],"\n";
	close(DOMAIN);
	}
else { unlink("/etc/defaultdomain"); }
}

sub routing_input
{
# show default router(s) input
local(@defrt);
open(DEFRT, "/etc/defaultrouter");
while(<DEFRT>) {
	s/#.*$//g;
	if (/(\S+)/) { push(@defrt, $1); }
	}
close(DEFRT);
print "<tr> <td valign=top><b>$text{'routes_defaults'}</b></td>\n";
print "<td><textarea name=defrt rows=3 cols=40>",
	join("\n", @defrt),"</textarea></td> </tr>\n";

# show router input
local $notrt = (-r "/etc/notrouter");
local $gatew = (-r "/etc/gateways");
print "<tr> <td><b>Act as router?</b></td> <td>\n";
printf "<input type=radio name=router value=0 %s> $text{'yes'}\n",
	$gatew && !$notrt ? "checked" : "";
printf "<input type=radio name=router value=1 %s> $text{'routes_possible'}\n",
	!$gatew && !$notrt ? "checked" : "";
printf "<input type=radio name=router value=2 %s> $text{'no'}\n",
	$notrt ? "checked" : "";
print "</td> </tr>\n";
}

sub parse_routing
{
local @defrt = split(/\s+/, $in{'defrt'});
foreach $d (@defrt) {
	gethostbyname($d) || &error(&text('routes_edefault', $d));
	}
&lock_file("/etc/defaultrouter");
if (@defrt) {
	open(DEFRT, ">/etc/defaultrouter");
	foreach $d (@defrt) { print DEFRT $d,"\n"; }
	close(DEFRT);
	}
else { unlink("/etc/defaultrouter"); }
&unlock_file("/etc/defaultrouter");

&lock_file("/etc/gateways");
&lock_file("/etc/notrouter");
if ($in{'router'} == 0) {
	&create_empty_file("/etc/gateways");
	unlink("/etc/notrouter");
	}
elsif ($in{'router'} == 2) {
	&create_empty_file("/etc/notrouter");
	unlink("/etc/gateways");
	}
else {
	unlink("/etc/gateways");
	unlink("/etc/notrouter");
	}
&unlock_file("/etc/gateways");
&unlock_file("/etc/notrouter");
}

# create_empty_file(filename)
sub create_empty_file
{
if (!-r $_[0]) {
	open(EMPTY,">$_[0]");
	close(EMPTY);
	}
}

sub os_feedback_files
{
opendir(DIR, "/etc");
local @f = map { "/etc/$_" } grep { /^hostname\./ } readdir(DIR);
closedir(DIR);
return ( @f, "/etc/netmasks", "/etc/resolv.conf", "/etc/nsswitch.conf",
	 "/etc/defaultrouter", "/etc/notrouter", "/etc/gateways" );
}

1;

 07070100039a49000081a40000000000000002000000013d1fe2d700003479000000200000000000000000000000000000002000000003reloc/net/suse-linux-8.0-lib.pl   # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network";
$routes_config = "/etc/sysconfig/network/routes";
$sysctl_config = "/etc/sysconfig/sysctl";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-([a-z0-9:]+)$/);
	local (%conf, $b);
	$b->{'fullname'} = $1;
	&read_env_file("$net_scripts_dir/$f", \%conf);
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'STARTMODE'} eq 'onboot');
	local $pfx;
	if ($conf{'IPADDR'} =~ /^(\S+)\/(\d+)$/) {
		$b->{'address'} = $1;
		$pfx = $2;
		}
	else {
		$b->{'address'} = $conf{'IPADDR'};
		}
	$pfx = $conf{'PREFIXLEN'} if (!$pfx);
	if ($pfx) {
		$b->{'netmask'} =
		   $pfx >= 24 ? "255.255.255.".(256-(2 ** (32-$pfx))) :
		   $pfx >= 16 ? "255.255.".(256-(2 ** (24-$pfx))).".0" :
		   $pfx >= 16 ? "255.".(256-(2 ** (16-$pfx))).".0.0" :
		   	        (256-(2 ** (8-$pfx))).".0.0.0";
		}
	else {
		$b->{'netmask'} = $conf{'NETMASK'};
		}
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
delete($conf{'PREFIXLEN'});
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'STARTMODE'} = $_[0]->{'up'} ? "onboot" :
		     $conf{'STARTMODE'} eq "onboot" ? "manual" :
						      $conf{'STARTMODE'};
$conf{'BOOTPROTO'} = $_[0]->{'dhcp'} ? "dhcp" : "static";
$conf{'UNIQUE'} = time();
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu" && $_[0] ne "bootp";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
local (@routes, $i);
open(ROUTES, $routes_config);
while(<ROUTES>) {
	s/#.*$//;
	s/\r|\n//g;
	local @r = map { $_ eq '-' ? undef : $_ } split(/\s+/, $_);
	push(@routes, \@r) if (@r);
	}
close(ROUTES);

# show default router and device
local ($def) = grep { $_->[0] eq "default" } @routes;
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$def->[1] ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$def->[1] ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$def->[1];

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$def->[3] ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$def->[3] ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$def->[3];

&read_env_file($sysctl_config, \%sysctl);
print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
	$sysctl{'IP_FORWARD'} eq 'yes' ? "checked" : "";
printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
	$sysctl{'IP_FORWARD'} eq 'yes' ? "" : "checked";

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> ",
      "<td><b>$text{'routes_type'}</b></td> </tr>\n";
local ($r, $i = 0);
foreach $r (@routes, [ ]) {
	next if ($r eq $def);
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$r->[3]'></td>\n";
	print "<td><input name=net_$i size=15 value='$r->[0]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$r->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$r->[1]'></td>\n";
	print "<td><input name=type_$i size=10 value='$r->[4]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
# Parse route inputs
local (@routes, $r, $i);
if (!$in{'gateway_def'}) {
	gethostbyname($in{'gateway'}) ||
		&error(&text('routes_edefault', $in{'gateway'}));
	local @def = ( "default", $in{'gateway'}, undef, undef );
	if (!$in{'gatewaydev_def'}) {
		$in{'gatewaydev'} =~ /^\S+$/ ||
			&error(&text('routes_edevice', $in{'gatewaydev'}));
		$def[3] = $in{'gatewaydev'};
		}
	push(@routes, \@def);
	}
for($i=0; defined($in{"dev_$i"}); $i++) {
	next if (!$in{"net_$i"});
	&check_ipaddress($in{"net_$i"}) ||
		$in{"net_$i"} =~ /^(\S+)\/(\d+)$/ && &check_ipaddress($1) ||
		&error(&text('routes_enet', $in{"net_$i"}));
	$in{"dev_$i"} =~ /^\S*$/ || &error(&text('routes_edevice', $dev));
	!$in{"netmask_$i"} || &check_ipaddress($in{"netmask_$i"}) ||
		&error(&text('routes_emask', $in{"netmask_$i"}));
	!$in{"gw_$i"} || &check_ipaddress($in{"gw_$i"}) ||
		&error(&text('routes_egateway', $in{"gw_$i"}));
	$in{"type_$i"} =~ /^\S*$/ ||
		&error(&text('routes_etype', $in{"type_$i"}));
	push(@routes, [ $in{"net_$i"}, $in{"gw_$i"}, $in{"netmask_$i"},
			$in{"dev_$i"}, $in{"type_$i"} ] );
	}

# Save routes and routing option
open(ROUTES, ">$routes_config");
foreach $r (@routes) {
	print ROUTES join(" ", map { $_ eq '' ? "-" : $_ } @$r),"\n";
	}
close(ROUTES);
local $lref = &read_file_lines($sysctl_config);
for($i=0; $i<@$lref; $i++) {
	if ($lref->[$i] =~ /^\s*IP_FORWARD\s*=/) {
		$lref->[$i] = "IP_FORWARD=".($in{'forward'} ? "yes" : "no");
		}
	}
&flush_file_lines();
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

   07070100039a4a000081a40000000000000002000000013d1fe2d600003b1a000000200000000000000000000000000000001c00000003reloc/net/suse-linux-lib.pl   # suse-linux-lib.pl
# Networking functions for SuSE linux

$rc_config = "/etc/rc.config";
$route_conf = "/etc/route.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	else { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	if ($ifc{'name'} !~ /^dummy/) {
		$ifc{'index'} = scalar(@rv);
		push(@rv, \%ifc);
		}
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " down";
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local $rc = &parse_rc_config();
local @rv;
push(@rv, { 'fullname' => 'lo',
	    'name' => 'lo',
	    'up' => $rc->{'START_LOOPBACK'}->{'value'} =~ /yes/,
	    'address' => '127.0.0.1',
	    'netmask' => '255.0.0.0',
	    'broadcast' => '127.255.255.255',
	    'edit' => 0,
	    'index' => scalar(@rv) });
local @nc = split(/\s+/, $rc->{'NETCONFIG'}->{'value'});
foreach $nc (@nc) {
	local $ip = $rc->{"IPADDR$nc"}->{'value'};
	local $dev = $rc->{"NETDEV$nc"}->{'value'};
	local $conf = $rc->{"IFCONFIG$nc"}->{'value'};
	if ($dev) {
		local $b;
		$b->{'fullname'} = $dev;
		if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
			$b->{'name'} = $1;
			$b->{'virtual'} = $2;
			}
		else { $b->{'name'} = $b->{'fullname'}; }
		if ($conf =~ /^([0-9\.]+)/) {
			$b->{'address'} = $1;
			if ($conf =~ /broadcast\s+(\S+)/) {
				$b->{'broadcast'} = $1;
				}
			if ($conf =~ /netmask\s+(\S+)/) {
				$b->{'netmask'} = $1;
				}
			if ($conf =~ /\s+up/ || $gconfig{'os_version'} >= 7.1) {
				$b->{'up'} = 1;
				}
			}
		elsif ($conf =~ /bootp/) {
			$b->{'bootp'} = 1;
			$b->{'netmask'} = 'Automatic';
			$b->{'broadcast'} = 'Automatic';
			$b->{'up'}++;
			}
		elsif ($conf =~ /dhcpclient/) {
			$b->{'dhcp'} = 1;
			$b->{'netmask'} = 'Automatic';
			$b->{'broadcast'} = 'Automatic';
			$b->{'up'}++;
			}
		$b->{'edit'} = 1;
		$b->{'index'} = scalar(@rv);
		$b->{'nc'} = $nc;
		push(@rv, $b);
		}
	}
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
# Find existing interface, if any
&lock_file($rc_config);
local $rc = &parse_rc_config();
local @boot = &boot_interfaces();
local ($o, $old, $found);
foreach $o (@boot) {
	if ($o->{'name'} eq $_[0]->{'name'} &&
	    $o->{'virtual'} eq $_[0]->{'virtual'}) {
		$found++; $old = $o;
		last;
		}
	}

# build interface detail strings
local $fullname = $_[0]->{'name'};
$fullname .= ":".$_[0]->{'virtual'} if (defined($_[0]->{'virtual'}));
local $ifconfig;
if ($_[0]->{'bootp'}) {
	$ifconfig = 'bootp';
	}
elsif ($_[0]->{'dhcp'}) {
	$ifconfig = 'dhcpclient';
	}
else {
	$ifconfig = $_[0]->{'address'};
	$ifconfig .= " broadcast $_[0]->{'broadcast'}"
		if ($_[0]->{'broadcast'});
	$ifconfig .= " netmask $_[0]->{'netmask'}"
		if ($_[0]->{'netmask'});
	$ifconfig .= " up" if ($_[0]->{'up'});
	}

if ($found) {
	# Updating an existing interface
	local $nnc = $old->{'nc'};
	&save_rc_config($rc, "IPADDR$nnc", $_[0]->{'address'});
	&save_rc_config($rc, "NETDEV$nnc", $fullname);
	&save_rc_config($rc, "IFCONFIG$nnc", $ifconfig);
	}
else {
	# Adding a new interface
	local @nc = split(/\s+/, $rc->{'NETCONFIG'}->{'value'});
	local $nnc = $nc[@nc-1] =~ /_(\d+)/ ? "_".($1+1) : "_0";
	&save_rc_config($rc, "NETCONFIG", join(" ", @nc, $nnc));
	&save_rc_config($rc, "IPADDR$nnc", $_[0]->{'address'});
	&save_rc_config($rc, "NETDEV$nnc", $fullname);
	&save_rc_config($rc, "IFCONFIG$nnc", $ifconfig);
	}
&unlock_file($rc_config);
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
&lock_file($rc_config);
local $rc = &parse_rc_config();
local @boot = &boot_interfaces();
local $old;
foreach $old (@boot) {
	if ($old->{'name'} eq $_[0]->{'name'} &&
	    $old->{'virtual'} eq $_[0]->{'virtual'}) {
		# found it .. remove
		local $nnc = $old->{'nc'};
		local @nc = split(/\s+/, $rc->{'NETCONFIG'}->{'value'});
		@nc = grep { $_ ne $nnc } @nc;
		&save_rc_config($rc, "NETCONFIG", join(" ", @nc));
		&save_rc_config($rc, "IPADDR$nnc", "");
		&save_rc_config($rc, "NETDEV$nnc", "");
		&save_rc_config($rc, "IFCONFIG$nnc", "");
		}
	}
&unlock_file($rc_config);
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what, &details)
# Can some boot-time interface parameter be edited?
sub can_edit
{
if ($gconfig{'os_version'} >= 7.1) {
	if ($_[1] && ($_[1]->{'bootp'} || $_[1]->{'dhcp'})) {
		return $_[0] ne "mtu" && $_[0] ne "netmask" &&
		       $_[0] ne "broadcast" && $_[0] ne "up";
		}
	return $_[0] ne "mtu" && $_[0] ne "up";
	}
else {
	if ($_[1] && $_[1]->{'bootp'}) {
		return $_[0] ne "mtu" && $_[0] ne "dhcp" &&
		       $_[0] ne "netmask" && $_[0] ne "broadcast" &&
		       $_[0] ne "up";
		}
	return $_[0] ne "mtu" && $_[0] ne "dhcp";
	}
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
local $rc = &parse_rc_config();
if ($rc->{'NAMESERVER'}) {
	# Use the settings from yast
	local @ns = split(/\s+/, $rc->{'NAMESERVER'}->{'value'});
	$dns->{'nameserver'} = [ grep { $_ ne "YAST_ASK" } @ns ];
	local $src = $rc->{'SEARCHLIST'};
	$dns->{'domain'} = [ split(/\s+/, $src->{'value'}) ] if ($src);
	}
else {
	# Read the resolv.conf file directly
	open(RESOLV, "/etc/resolv.conf");
	while(<RESOLV>) {
		s/\r|\n//g;
		s/#.*$//;
		if (/nameserver\s+(.*)/) {
			push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
			}
		elsif (/domain\s+(\S+)/) {
			$dns->{'domain'} = [ $1 ];
			}
		elsif (/search\s+(.*)/) {
			$dns->{'domain'} = [ split(/\s+/, $1) ];
			}
		}
	close(RESOLV);
	}
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file($rc_config);
local $rc = &parse_rc_config();
if ($rc->{'NAMESERVER'}) {
	&save_rc_config($rc, "NAMESERVER", join(" ", @{$_[0]->{'nameserver'}}));
	&save_rc_config($rc, "SEARCHLIST", join(" ", @{$_[0]->{'domain'}}));
	}
else {
	&lock_file("/etc/resolv.conf");
	open(RESOLV, "/etc/resolv.conf");
	local @resolv = <RESOLV>;
	close(RESOLV);
	open(RESOLV, ">/etc/resolv.conf");
	foreach (@{$_[0]->{'nameserver'}}) {
		print RESOLV "nameserver $_\n";
		}
	if ($_[0]->{'domain'}) {
		if ($_[0]->{'domain'}->[1]) {
			print RESOLV "search ",
				     join(" ", @{$_[0]->{'domain'}}),"\n";
			}
		else {
			print RESOLV "domain $_[0]->{'domain'}->[0]\n";
			}
		}
	foreach (@resolv) {
		print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
		}
	close(RESOLV);
	&unlock_file("/etc/resolv.conf");
	}

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
if ($rc->{'USE_NIS_FOR_RESOLVING'}) {
	if ($_[0]->{'order'} =~ /nis/) {
		&save_rc_config($rc, "USE_NIS_FOR_RESOLVING", "yes");
		}
	else {
		&save_rc_config($rc, "USE_NIS_FOR_RESOLVING", "no");
		}
	}
&unlock_file($rc_config);
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
				        $srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error("Missing resolution order");
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
local $rc = &parse_rc_config();
return $rc->{'FQHOSTNAME'}->{'value'};
}

# save_hostname(name)
sub save_hostname
{
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file($rc_config);
local $rc = &parse_rc_config();
&save_rc_config($rc, "FQHOSTNAME", $_[0]);
&unlock_file($rc_config);

# run SuSEconfig, as this function is called last
system("SuSEconfig -quick >/dev/null 2>&1");
}

sub routing_input
{
# read route.conf
local ($default, @sr, @lr);
open(ROUTE, $route_conf);
while(<ROUTE>) {
	s/\r|\n//g;
	s/#.*$//g;
	local @r = split(/\s+/, $_);
	if ($r[0] eq 'default' || $r[0] eq '0.0.0.0') { $default = $r[1]; }
	elsif (@r == 4) { push(@lr, \@r); }
	elsif (@r == 3) { push(@sr, \@r); }
	}
close(ROUTE);

# input for routing
local $rc = &parse_rc_config();
local $ipf = $rc->{'IP_FORWARD'}->{'value'};
print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
printf "<input type=radio name=forward value=yes %s> $text{'yes'}\n",
	$ipf eq "yes" ? "checked" : "";
printf "<input type=radio name=forward value=no %s> $text{'no'}</td> </tr>\n",
	$ipf eq "yes" ? "" : "checked";

# input for default route
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=default_def value=1 %s> $text{'routes_none'}\n",
	$default ? "" : "checked";
printf "<input type=radio name=default_def value=0 %s>\n",
	$default ? "checked" : "";
printf "<input name=default size=15 value=\"%s\"></td> </tr>\n",
	$default;

# table for local routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> </tr>\n";
for($i=0; $i<=@lr; $i++) {
	local $lr = $lr[$i];
	print "<tr $cb>\n";
	print "<td><input name=lr_dev_$i size=6 value='$lr->[3]'></td>\n";
	print "<td><input name=lr_net_$i size=15 value='$lr->[0]'></td>\n";
	print "<td><input name=lr_mask_$i size=15 value='$lr->[2]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# table for static routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> </tr>\n";
for($i=0; $i<=@sr; $i++) {
	local $sr = $sr[$i];
	print "<tr $cb>\n";
	print "<td><input name=sr_net_$i size=15 value='$sr->[0]'></td>\n";
	print "<td><input name=sr_gw_$i size=15 value='$sr->[1]'></td>\n";
	print "<td><input name=sr_mask_$i size=15 value='$sr->[2]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

}

sub parse_routing
{
&lock_file($rc_config);
local $rc = &parse_rc_config();
&save_rc_config($rc, IP_FORWARD, $in{'forward'});
&unlock_file($rc_config);
&lock_file($route_conf);
local $route = "# Generated by Webmin\n";
for($i=0; defined($dev = $in{"lr_dev_$i"}); $i++) {
	$net = $in{"lr_net_$i"}; $mask = $in{"lr_mask_$i"};
	next if (!$dev && !$net && !$mask);
	gethostbyname($net) ||
		&error(&text('routes_enet', $net));
	&check_ipaddress($mask) ||
		&error(&text('routes_emask', $mask));
	$route .= "$net\t\t0.0.0.0\t\t$mask\t\t$dev\n";
	}
for($i=0; defined($gw = $in{"sr_gw_$i"}); $i++) {
	$net = $in{"sr_net_$i"}; $mask = $in{"sr_mask_$i"};
	next if (!$gw && !$net && !$mask);
	gethostbyname($gw) ||
		&error(&text('routes_egateway', $gw));
	gethostbyname($net) ||
		&error(&text('routes_enet', $net));
	&check_ipaddress($mask) ||
		&error(&text('routes_emask', $mask));
	$route .= "$net\t\t$gw\t\t$mask\n";
	}
if (!$in{'default_def'}) {
	gethostbyname($in{'default'}) ||
		&error(&text('routes_edefault', $in{'default'}));
	$route .= "default\t\t$in{'default'}\n";
	}
open(ROUTE, ">$route_conf");
print ROUTE $route;
close(ROUTE);
&unlock_file($route_conf);
}

# parse_rc_config()
sub parse_rc_config
{
local $rc;
local $lnum = 0;
open(CONF, $rc_config);
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/([^=\s]+)="(.*)"/) {
		$rc->{$1} = { 'value' => $2,
			      'line' => $lnum };
		}
	elsif (/([^=\s]+)=(\S+)/) {
		$rc->{$1} = { 'value' => $2,
			      'line' => $lnum };
		}
	$lnum++;
	}
close(CONF);
return $rc;
}

# save_rc_config(&config, directive, value)
sub save_rc_config
{
local $old = $_[0]->{$_[1]};
local $line = "$_[1]=\"$_[2]\"\n";
if ($old) {
	&replace_file_line($rc_config, $old->{'line'}, $line);
	}
else {
	open(RC, ">>$rc_config");
	print RC $line;
	close(RC);
	}
}

sub os_feedback_files
{
return ( $rc_config, $route_conf, "/etc/resolv.conf", "/etc/nsswitch.conf" );
}

1;

  07070100039a4b000081a40000000000000002000000013d1fe2d700003786000000200000000000000000000000000000001d00000003reloc/net/turbo-linux-lib.pl  # redhat-linux-lib.pl
# Networking functions for redhat linux

$net_scripts_dir = "/etc/sysconfig/network-scripts";
$network_config = "/etc/sysconfig/network";
$static_route_config = "/etc/sysconfig/static-routes";
$sysctl_config = "/etc/sysctl.conf";

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+)/; $ifc{'name'} = $1;
	$l =~ /^(\S+)/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+)/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet addr:(\S+)/) { $ifc{'address'} = $1; }
	elsif (!$_[0]) { next; }
	if ($l =~ /Mask:(\S+)/) { $ifc{'netmask'} = $1; }
	if ($l =~ /Bcast:(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /HWaddr (\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /MTU:(\d+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\sUP\s/);
	$ifc{'edit'} = ($ifc{'name'} !~ /^ppp/);
	$ifc{'index'} = scalar(@rv);
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} hw ether $a->{'ether'} 2>&1");
	if ($?) { &error($out); }
	}
}

# deactivate_interface(&details)
# Shutdown some active interface
sub deactivate_interface
{
local $name = $_[0]->{'name'}.
	      ($_[0]->{'virtual'} ne "" ? ":$_[0]->{'virtual'}" : "");
if ($_[0]->{'virtual'} ne "") {
	# Shutdown virtual interface by setting address to 0
	local $out = &backquote_logged("ifconfig $name 0 2>&1");
	if ($?) { &error($out); }
	}
local ($still) = grep { $_->{'fullname'} eq $name } &active_interfaces();
if ($still) {
	# Old version of ifconfig or non-virtual interface.. down it
	local $out = &backquote_logged("ifconfig $name down 2>&1");
	if ($?) { &error($out); }
	}
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local(@rv, $f);
opendir(CONF, $net_scripts_dir);
while($f = readdir(CONF)) {
	next if ($f !~ /^ifcfg-[a-z0-9:]+$/);
	local (%conf, $b);
	&read_env_file("$net_scripts_dir/$f", \%conf);
	$b->{'fullname'} = $conf{'DEVICE'};
	if ($b->{'fullname'} =~ /(\S+):(\d+)/) {
		$b->{'name'} = $1;
		$b->{'virtual'} = $2;
		}
	else { $b->{'name'} = $b->{'fullname'}; }
	$b->{'up'} = ($conf{'ONBOOT'} eq 'yes');
	$b->{'address'} = $conf{'IPADDR'};
	$b->{'netmask'} = $conf{'NETMASK'};
	$b->{'broadcast'} = $conf{'BROADCAST'};
	$b->{'dhcp'} = ($conf{'BOOTPROTO'} eq 'dhcp');
	$b->{'bootp'} = ($conf{'BOOTPROTO'} eq 'bootp');
	$b->{'edit'} = ($b->{'name'} !~ /^ppp|irlan/);
	$b->{'index'} = scalar(@rv);
	push(@rv, $b);
	}
closedir(CONF);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local(%conf);
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
&read_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
$conf{'DEVICE'} = $name;
$conf{'IPADDR'} = $_[0]->{'address'};
local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'});
$conf{'NETMASK'} = $_[0]->{'netmask'};
local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'});
if ($_[0]->{'address'} && $_[0]->{'netmask'}) {
	$conf{'NETWORK'} = sprintf "%d.%d.%d.%d",
				($ip1 & int($nm1))&0xff,
				($ip2 & int($nm2))&0xff,
				($ip3 & int($nm3))&0xff,
				($ip4 & int($nm4))&0xff;
	}
else {
	$conf{'NETWORK'} = '';
	}
$conf{'BROADCAST'} = $_[0]->{'broadcast'};
$conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no";
$conf{'BOOTPROTO'} = $_[0]->{'bootp'} ? "bootp" :
		     $_[0]->{'dhcp'} ? "dhcp" : "none";
&write_env_file("$net_scripts_dir/ifcfg-$name", \%conf);
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("$net_scripts_dir/ifcfg-$name");
unlink("$net_scripts_dir/ifcfg-$name");
&unlock_file("$net_scripts_dir/ifcfg-$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "PPP" if ($_[0] =~ /^ppp/);
return "SLIP" if ($_[0] =~ /^sl/);
return "PLIP" if ($_[0] =~ /^plip/);
return "Ethernet" if ($_[0] =~ /^eth/);
return "Arcnet" if ($_[0] =~ /^arc/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "Pocket/ATP" if ($_[0] =~ /^atp/);
return "Loopback" if ($_[0] =~ /^lo/);
return $text{'ifcs_unknown'};
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] =~ /^eth/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] ne "mtu";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return &check_ipaddress($_[0]);
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/^\s*hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/^\s*hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	@o = map { s/nis\+/nisplus/; s/yp/nis/; $_; } @o;
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus", "db" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+", "DB" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

# get_hostname()
sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
local %conf;
&system_logged("hostname $_[0] >/dev/null 2>&1");
&lock_file("/etc/HOSTNAME");
open(HOST, ">/etc/HOSTNAME");
print HOST $_[0],"\n";
close(HOST);
&unlock_file("/etc/HOSTNAME");
&lock_file($network_config);
&read_env_file($network_config, \%conf);
$conf{'HOSTNAME'} = $_[0];
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d eq "(none)" ? "" : $d;
}

# save_domainname(domain)
sub save_domainname
{
local %conf;
system("domainname \"$_[0]\" >/dev/null 2>&1");
&read_env_file($network_config, \%conf);
if ($_[0]) {
	$conf{'NISDOMAIN'} = $_[0];
	}
else {
	delete($conf{'NISDOMAIN'});
	}
&write_env_file($network_config, \%conf);
}

sub routing_input
{
# show default router and device
local (%conf, @st, @hr, %sysctl);
&read_env_file($network_config, \%conf);
print "<tr> <td><b>$text{'routes_default'}</b></td> <td>\n";
printf "<input type=radio name=gateway_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAY'} ? "" : "checked";
printf "<input type=radio name=gateway_def value=0 %s>\n",
	$conf{'GATEWAY'} ? "checked" : "";
printf "<input name=gateway size=15 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAY'};

print "<tr> <td><b>$text{'routes_device2'}</b></td> <td>\n";
printf "<input type=radio name=gatewaydev_def value=1 %s> $text{'routes_none'}\n",
	$conf{'GATEWAYDEV'} ? "" : "checked";
printf "<input type=radio name=gatewaydev_def value=0 %s>\n",
	$conf{'GATEWAYDEV'} ? "checked" : "";
printf "<input name=gatewaydev size=6 value=\"%s\"></td> </tr>\n",
	$conf{'GATEWAYDEV'};

# show routing
if ($gconfig{'os_version'} < 7.0) {
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$conf{'FORWARD_IPV4'} eq "yes" ? "" : "checked";
	}
else {
	&read_env_file($sysctl_config, \%sysctl);
	print "<tr> <td><b>$text{'routes_forward'}</b></td> <td>\n";
	printf "<input type=radio name=forward value=1 %s> $text{'yes'}\n",
		$sysctl{'net.ipv4.ip_forward'} ? "checked" : "";
	printf "<input type=radio name=forward value=0 %s> $text{'no'}</td> </tr>\n",
		$sysctl{'net.ipv4.ip_forward'} ? "" : "checked";
	}

# get static routes
open(STATIC, $static_route_config);
while(<STATIC>) {
	if (/(\S+)\s+net\s+(\S+)\s+netmask\s+(\S+)\s+gw\s+(\S+)/) {
		push(@st, [ $1, $2, $3, $4 ]);
		}
	elsif (/(\S+)\s+host\s+(\S+)/) {
		push(@hr, [ $1, $2 ]);
		}
	}
close(STATIC);

# show static network routes
print "<tr> <td valign=top><b>$text{'routes_static'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> ",
      "<td><b>$text{'routes_mask'}</b></td> ",
      "<td><b>$text{'routes_gateway'}</b></td> </tr>\n";
for($i=0; $i<=@st; $i++) {
	local $st = $st[$i];
	print "<tr $cb>\n";
	print "<td><input name=dev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=net_$i size=15 value='$st->[1]'></td>\n";
	print "<td><input name=netmask_$i size=15 value='$st->[2]'></td>\n";
	print "<td><input name=gw_$i size=15 value='$st->[3]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

# Show static host routes
print "<tr> <td valign=top><b>$text{'routes_local'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'routes_ifc'}</b></td> ",
      "<td><b>$text{'routes_net'}</b></td> </tr>\n";
for($i=0; $i<=@hr; $i++) {
	local $st = $hr[$i];
	print "<tr $cb>\n";
	print "<td><input name=ldev_$i size=6 value='$st->[0]'></td>\n";
	print "<td><input name=lnet_$i size=15 value='$st->[1]'></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
}

sub parse_routing
{
local (%conf, @st, %sysctl);
&lock_file($network_config);
&read_env_file($network_config, \%conf);
if ($in{'gateway_def'}) { $conf{'GATEWAY'} = ''; }
elsif (!gethostbyname($in{'gateway'})) {
	&error(&text('routes_edefault', $in{'gateway'}));
	}
else { $conf{'GATEWAY'} = $in{'gateway'}; }

if ($in{'gatewaydev_def'}) { $conf{'GATEWAYDEV'} = ''; }
elsif ($in{'gatewaydev'} !~ /^\S+$/) {
	&error(&text('routes_edevice', $in{'gatewaydev'}));
	}
else { $conf{'GATEWAYDEV'} = $in{'gatewaydev'}; }

if ($gconfig{'os_version'} < 7.0) {
	if ($in{'forward'}) { $conf{'FORWARD_IPV4'} = 'yes'; }
	else { $conf{'FORWARD_IPV4'} = 'no'; }
	}
else {
	&lock_file($sysctl_config);
	&read_env_file($sysctl_config, \%sysctl);
	$sysctl{'net.ipv4.ip_forward'} = $in{'forward'};
	}

&lock_file($static_route_config);
for($i=0; defined($dev = $in{"dev_$i"}); $i++) {
	$net = $in{"net_$i"}; $netmask = $in{"netmask_$i"}; $gw = $in{"gw_$i"};
	next if (!$dev && !$net && !$netmask && !$gw);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	&check_ipaddress($netmask) || &error(&text('routes_emask', $netmask));
	gethostbyname($gw) || &error(&text('routes_egateway', $gw));
	push(@st, "$dev net $net netmask $netmask gw $gw\n");
	}
for($i=0; defined($dev = $in{"ldev_$i"}); $i++) {
	$net = $in{"lnet_$i"};
	next if (!$dev && !$net);
	$dev =~ /^\S+$/ || &error(&text('routes_edevice', $dev));
	gethostbyname($net) || &error(&text('routes_enet', $net));
	push(@st, "$dev host $net\n");
	}
open(STATIC, ">$static_route_config");
print STATIC @st;
close(STATIC);
&unlock_file($static_route_config);
&write_env_file($network_config, \%conf);
&unlock_file($network_config);
if (%sysctl) {
	&write_env_file($sysctl_config, \%sysctl);
	&unlock_file($sysctl_config);
	}
}

sub os_feedback_files
{
opendir(DIR, $net_scripts_dir);
local @f = readdir(DIR);
closedir(DIR);
return ( (map { "$net_scripts_dir/$_" } grep { /^ifcfg-/ } @f),
	 $network_config, $static_route_config, "/etc/resolv.conf",
	 "/etc/nsswitch.conf", "/etc/HOSTNAME" );
}

1;

  07070100039a4c000081a40000000000000002000000013d1fe2d7000028bd000000200000000000000000000000000000001a00000003reloc/net/unixware-lib.pl # unixware-lib.pl
# Networking functions for UnixWare

# active_interfaces()
# Returns a list of currently ifconfig'd interfaces
sub active_interfaces
{
local(@rv, @lines, $l);
open(IFC, "ifconfig -a |");
while(<IFC>) {
	s/\r|\n//g;
	if (/^\S+:/) { push(@lines, $_); }
	else { $lines[$#lines] .= $_; }
	}
close(IFC);
foreach $l (@lines) {
	local %ifc;
	$l =~ /^([^:\s]+):/; $ifc{'name'} = $1;
	$l =~ /^(\S+):/; $ifc{'fullname'} = $1;
	if ($l =~ /^(\S+):(\d+):\s/) { $ifc{'virtual'} = $2; }
	if ($l =~ /inet\s+(\S+)/) { $ifc{'address'} = $1; }
	if ($l =~ /netmask\s+(\S+)/) { $ifc{'netmask'} = &parse_hex($1); }
	if ($l =~ /broadcast\s+(\S+)/) { $ifc{'broadcast'} = $1; }
	if ($l =~ /ether\s+(\S+)/) { $ifc{'ether'} = $1; }
	if ($l =~ /mtu\s+(\S+)/) { $ifc{'mtu'} = $1; }
	$ifc{'up'}++ if ($l =~ /\<UP/);
	$ifc{'edit'} = ($ifc{'name'} !~ /ipdptp|ppp/);
	$ifc{'index'} = scalar(@rv);
	if ($ifc{'ether'}) {
		$ifc{'ether'} = join(":", map { sprintf "%2.2d", $_ }
					      split(/:/, $ifc{'ether'}));
		}
	push(@rv, \%ifc);
	}
return @rv;
}

# activate_interface(&details)
# Create or modify an interface
sub activate_interface
{
local $a = $_[0];
if ($a->{'virtual'} eq "") {
	local $out = `ifconfig $a->{'name'} plumb 2>&1`;
	if ($out) { &error("Interface '$a->{'name'}' does not exist"); }
	}
local $cmd = "ifconfig $a->{'name'}";
if ($a->{'virtual'} ne "") { $cmd .= ":$a->{'virtual'}"; }
$cmd .= " $a->{'address'}";
if ($a->{'netmask'}) { $cmd .= " netmask $a->{'netmask'}"; }
else { $cmd .= " netmask +"; }
if ($a->{'broadcast'}) { $cmd .= " broadcast $a->{'broadcast'}"; }
else { $cmd .= " broadcast +"; }
if ($a->{'mtu'}) { $cmd .= " mtu $a->{'mtu'}"; }
if ($a->{'up'}) { $cmd .= " up"; }
else { $cmd .= " down"; }
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
if ($a->{'ether'}) {
	$out = &backquote_logged(
		"ifconfig $a->{'name'} ether $a->{'ether'} 2>&1");
	if ($? && $out !~ /Device busy/) { &error($out); }
	}
}

# deactivate_interface(&details)
# Deactive an interface
sub deactivate_interface
{
local $cmd;
if ($a->{'virtual'} eq "") {
	$cmd = "ifconfig $a->{'name'} unplumb";
	}
else {
	$cmd = "ifconfig $a->{'name'}:$a->{'virtual'} 0.0.0.0 down";
	}
local $out = &backquote_logged("$cmd 2>&1");
if ($?) { &error($out); }
}

# boot_interfaces()
# Returns a list of interfaces brought up at boot time
sub boot_interfaces
{
local (@rv, $f, %mask);
push(@rv, { 'name' => 'lo0',
	    'fullname' => 'lo0',
	    'address' => '127.0.0.1',
	    'netmask' => '255.0.0.0',
	    'up' => 1,
	    'edit' => 0 });
open(MASK, "/etc/netmasks");
while(<MASK>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/([0-9\.]+)\s+([0-9\.]+)/) {
		$mask{$1} = $2;
		}
	}
close(MASK);
opendir(ETC, "/etc");
while($f = readdir(ETC)) {
	if ($f =~ /^hostname.(\S+):(\d+)$/ || $f =~ /^hostname.(\S+)/) {
		local %ifc;
		$ifc{'fullname'} = $ifc{'name'} = $1;
		$ifc{'virtual'} = $2 if (defined($2));
		$ifc{'fullname'} .= ":$2" if (defined($2));
		$ifc{'index'} = scalar(@rv);
		$ifc{'edit'}++;
		open(FILE, "/etc/$f");
		chop($ifc{'address'} = <FILE>);
		close(FILE);
		if ($ifc{'address'}) {
			&to_ipaddress($ifc{'address'})
				=~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
			if ($mask{"$1.$2.$3.0"})
				{ $ifc{'netmask'} = $mask{"$1.$2.$3.0"}; }
			elsif ($mask{"$1.$2.0.0"})
				{ $ifc{'netmask'} = $mask{"$1.$2.0.0"}; }
			elsif ($mask{"$1.0.0.0"})
				{ $ifc{'netmask'} = $mask{"$1.0.0.0"}; }
			else
				{ $ifc{'netmask'} = "255.255.255.0"; }
			local ($a1, $a2, $a3, $a4) = ($1, $2, $3, $4);
			$ifc{'netmask'} =~ /(\d+)\.(\d+)\.(\d+)\.(\d+)/;
			$ifc{'broadcast'} = sprintf "%d.%d.%d.%d",
						($a1 | ~int($1))&0xff,
						($a2 | ~int($2))&0xff,
						($a3 | ~int($3))&0xff,
						($a4 | ~int($4))&0xff;
			}
		else {
			$ifc{'netmask'} = "Automatic";
			$ifc{'broadcast'} = "Automatic";
			$ifc{'dhcp'}++;
			}
		$ifc{'up'}++;
		push(@rv, \%ifc);
		}
	}
closedir(ETC);
return @rv;
}

# save_interface(&details)
# Create or update a boot-time interface
sub save_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("/etc/hostname.$name");
open(IFACE, ">/etc/hostname.$name");
if (!$_[0]->{'dhcp'}) {
	print IFACE $_[0]->{'address'},"\n";
	}
close(IFACE);
&unlock_file("/etc/hostname.$name");
}

# delete_interface(&details)
# Delete a boot-time interface
sub delete_interface
{
local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'}
				       : $_[0]->{'name'};
&lock_file("/etc/hostname.$name");
unlink("/etc/hostname.$name");
&unlock_file("/etc/hostname.$name");
}

# iface_type(name)
# Returns a human-readable interface type name
sub iface_type
{
return "Fast Ethernet" if ($_[0] =~ /^hme/);
return "Loopback" if ($_[0] =~ /^lo/);
return "Token Ring" if ($_[0] =~ /^tr/);
return "PPP" if ($_[0] =~ /^ipdptp/ || $_[0] =~ /^ppp/);
return "Ethernet";
}

# iface_hardware(name)
# Does some interface have an editable hardware address
sub iface_hardware
{
return $_[0] !~ /^(lo|ipdptp|ppp)/;
}

# can_edit(what)
# Can some boot-time interface parameter be edited?
sub can_edit
{
return $_[0] eq "dhcp";
}

# valid_boot_address(address)
# Is some address valid for a bootup interface
sub valid_boot_address
{
return 1 if (&check_ipaddress($_[0]));
return gethostbyname($_[0]) ? 1 : 0;
}

# get_dns_config()
# Returns a hashtable containing keys nameserver, domain, search & order
sub get_dns_config
{
local $dns;
open(RESOLV, "/etc/resolv.conf");
while(<RESOLV>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/nameserver\s+(.*)/) {
		push(@{$dns->{'nameserver'}}, split(/\s+/, $1));
		}
	elsif (/domain\s+(\S+)/) {
		$dns->{'domain'} = [ $1 ];
		}
	elsif (/search\s+(.*)/) {
		$dns->{'domain'} = [ split(/\s+/, $1) ];
		}
	}
close(RESOLV);
open(SWITCH, "/etc/nsswitch.conf");
while(<SWITCH>) {
	s/\r|\n//g;
	if (/hosts:\s+(.*)/) {
		$dns->{'order'} = $1;
		}
	}
close(SWITCH);
return $dns;
}

# save_dns_config(&config)
# Writes out the resolv.conf and nsswitch.conf files
sub save_dns_config
{
&lock_file("/etc/resolv.conf");
open(RESOLV, "/etc/resolv.conf");
local @resolv = <RESOLV>;
close(RESOLV);
open(RESOLV, ">/etc/resolv.conf");
foreach (@{$_[0]->{'nameserver'}}) {
	print RESOLV "nameserver $_\n";
	}
if ($_[0]->{'domain'}) {
	if ($_[0]->{'domain'}->[1]) {
		print RESOLV "search ",join(" ", @{$_[0]->{'domain'}}),"\n";
		}
	else {
		print RESOLV "domain $_[0]->{'domain'}->[0]\n";
		}
	}
foreach (@resolv) {
	print RESOLV $_ if (!/^\s*(nameserver|domain|search)\s+/);
	}
close(RESOLV);
&unlock_file("/etc/resolv.conf");

&lock_file("/etc/nsswitch.conf");
open(SWITCH, "/etc/nsswitch.conf");
local @switch = <SWITCH>;
close(SWITCH);
open(SWITCH, ">/etc/nsswitch.conf");
foreach (@switch) {
	if (/hosts:\s+/) {
		print SWITCH "hosts:\t$_[0]->{'order'}\n";
		}
	else { print SWITCH $_; }
	}
close(SWITCH);
&unlock_file("/etc/nsswitch.conf");
}

$max_dns_servers = 3;

# order_input(&dns)
# Returns HTML for selecting the name resolution order
sub order_input
{
if ($_[0]->{'order'} =~ /\[/) {
	# Using a complex resolve list
	return "<input name=order size=45 value=\"$_[0]->{'order'}\">\n";
	}
else {
	# Can select by menus
	local @o = split(/\s+/, $_[0]->{'order'});
	local ($rv, $i, $j);
	local @srcs = ( "", "files", "dns", "nis", "nisplus" );
	local @srcn = ( "", "Hosts", "DNS", "NIS", "NIS+" );
	for($i=1; $i<@srcs; $i++) {
		local $ii = $i-1;
		$rv .= "<select name=order_$ii>\n";
		for($j=0; $j<@srcs; $j++) {
			$rv .= sprintf "<option value=\"%s\" %s>%s\n",
					$srcs[$j],
					$o[$ii] eq $srcs[$j] ? "selected" : "",
					$srcn[$j] ? $srcn[$j] : "&nbsp;";
			}
		$rv .= "</select>\n";
		}
	return $rv;
	}
}

# parse_order(&dns)
# Parses the form created by order_input()
sub parse_order
{
if (defined($in{'order'})) {
	$in{'order'} =~ /\S/ || &error($text{'dns_eorder'});
	$_[0]->{'order'} = $in{'order'};
	}
else {
	local($i, @order);
	for($i=0; defined($in{"order_$i"}); $i++) {
		push(@order, $in{"order_$i"}) if ($in{"order_$i"});
		}
	$_[0]->{'order'} = join(" ", @order);
	}
}

sub get_hostname
{
return &get_system_hostname();
}

# save_hostname(name)
sub save_hostname
{
&system_logged("hostname $_[0] >/dev/null 2>&1");
}

# get_domainname()
sub get_domainname
{
local $d = `domainname`;
chop($d);
return $d;
}

# save_domainname(domain)
sub save_domainname
{
system("domainname \"$_[0]\" >/dev/null 2>&1");
if ($_[0]) {
	open(DOMAIN, ">/etc/defaultdomain");
	print DOMAIN $_[0],"\n";
	close(DOMAIN);
	}
else { unlink("/etc/defaultdomain"); }
}

sub routing_input
{
# show default router(s) input
local(@defrt);
open(DEFRT, "/etc/defaultrouter");
while(<DEFRT>) {
	s/#.*$//g;
	if (/(\S+)/) { push(@defrt, $1); }
	}
close(DEFRT);
print "<tr> <td valign=top><b>$text{'routes_defaults'}</b></td>\n";
print "<td><textarea name=defrt rows=3 cols=40>",
	join("\n", @defrt),"</textarea></td> </tr>\n";

# show router input
local $notrt = (-r "/etc/notrouter");
local $gatew = (-r "/etc/gateways");
print "<tr> <td><b>Act as router?</b></td> <td>\n";
printf "<input type=radio name=router value=0 %s> $text{'yes'}\n",
	$gatew && !$notrt ? "checked" : "";
printf "<input type=radio name=router value=1 %s> $text{'routes_possible'}\n",
	!$gatew && !$notrt ? "checked" : "";
printf "<input type=radio name=router value=2 %s> $text{'no'}\n",
	$notrt ? "checked" : "";
print "</td> </tr>\n";
}

sub parse_routing
{
local @defrt = split(/\s+/, $in{'defrt'});
foreach $d (@defrt) {
	gethostbyname($d) || &error(&text('routes_edefault', $d));
	}
&lock_file("/etc/defaultrouter");
if (@defrt) {
	open(DEFRT, ">/etc/defaultrouter");
	foreach $d (@defrt) { print DEFRT $d,"\n"; }
	close(DEFRT);
	}
else { unlink("/etc/defaultrouter"); }
&unlock_file("/etc/defaultrouter");

&lock_file("/etc/gateways");
&lock_file("/etc/notrouter");
if ($in{'router'} == 0) {
	&create_empty_file("/etc/gateways");
	unlink("/etc/notrouter");
	}
elsif ($in{'router'} == 2) {
	&create_empty_file("/etc/notrouter");
	unlink("/etc/gateways");
	}
else {
	unlink("/etc/gateways");
	unlink("/etc/notrouter");
	}
&unlock_file("/etc/gateways");
&unlock_file("/etc/notrouter");
}

# create_empty_file(filename)
sub create_empty_file
{
if (!-r $_[0]) {
	open(EMPTY,">$_[0]");
	close(EMPTY);
	}
}

sub os_feedback_files
{
opendir(DIR, "/etc");
local @f = map { "/etc/$_" } grep { /^hostname\./ } readdir(DIR);
closedir(DIR);
return ( @f, "/etc/netmasks", "/etc/resolv.conf", "/etc/nsswitch.conf",
	 "/etc/defaultrouter", "/etc/notrouter", "/etc/gateways" );
}

1;

   0707010003e27e000081e40000000000000002000000013d1fe2b700000246000000200000000000000000000000000000001100000003reloc/newmods.pl  # newmods.pl
# Updates an acl file to include new modules. Called with the parameters
# <config directory> <module>+

for($i=1; $i<@ARGV; $i++) {
	if (!(-d "$ARGV[0]/$ARGV[$i]")) {
		push(@new, $ARGV[$i]);
		}
	}

if (@new) {
	open(ACL, "$ARGV[0]/webmin.acl");
	@acl = <ACL>;
	close(ACL);
	open(ACL, "> $ARGV[0]/webmin.acl");
	$a = shift(@acl);
	$a =~ /^(\S+):\s*(.*)$/;
	$name = $1; @list = split(/\s+/, $2);
	foreach $o (@list) { $old{$o}++; }
	foreach $n (@new) {
		push(@list, $n) if (!$old{$n});
		}
	print ACL "$name: ",join(" ",@list),"\n";
	print ACL @acl;
	close(ACL);
	}

  07070100040dda000041ed0000000000000001000000043d1ffac900000000000000200000000000000000000000000000000a00000003reloc/nis 07070100040ddb000081e40000000000000002000000013d1fe2e3000000a8000000200000000000000000000000000000001400000003reloc/nis/build.cgi   #!/usr/local/bin/perl
# build.cgi
# Rebuild NIS tables

require './nis-lib.pl';
&ReadParse();
&apply_table_changes();
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040ddc000081a40000000000000002000000013d1fe2e3000000a7000000200000000000000000000000000000001e00000003reloc/nis/config-debian-linux nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
client_conf=/etc/yp.conf
securenets=/etc/ypserv.securenets
max_size=100
manual_build=0
 07070100040ddd000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000001f00000003reloc/nis/config-generic-linux    client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040dde000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000002000000003reloc/nis/config-mandrake-linux   client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040ddf000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000001b00000003reloc/nis/config-msc-linux    client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de0000081a40000000000000002000000013d1fe2e3000000a4000000200000000000000000000000000000001c00000003reloc/nis/config-open-linux   client_conf=/etc/nis.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
07070100040de1000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000001e00000003reloc/nis/config-redhat-linux client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de2000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000002100000003reloc/nis/config-slackware-linux  client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de3000081a40000000000000002000000013d1fe2e3000000a7000000200000000000000000000000000000001900000003reloc/nis/config-solaris  nsswitch_conf=/etc/nsswitch.conf
sources=files nis nisplus hosts=dns passwd=compat group=compat
client_conf=
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de5000081a40000000000000002000000013d1fe2e3000000c7000000200000000000000000000000000000001b00000003reloc/nis/config-solaris-8    nsswitch_conf=/etc/nsswitch.conf
sources=files nis nisplus hosts=dns passwd=compat group=compat ldap printers=user printers=xfn
client_conf=
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de6000081a40000000000000002000000013d1fe2e3000000c7000000200000000000000000000000000000001b00000003reloc/nis/config-solaris-9    nsswitch_conf=/etc/nsswitch.conf
sources=files nis nisplus hosts=dns passwd=compat group=compat ldap printers=user printers=xfn
client_conf=
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de7000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000001c00000003reloc/nis/config-suse-linux   client_conf=/etc/yp.conf
nsswitch_conf=/etc/nsswitch.conf
sources=nisplus nis dns files db compat hesiod
securenets=/var/yp/securenets
max_size=100
manual_build=0
 07070100040de8000081a40000000000000002000000013d1fe2e300000104000000200000000000000000000000000000001600000003reloc/nis/config.info client_conf=NIS client config file,0
nsswitch_conf=NIS client switch file,0
sources=Valid nsswitch.conf sources,0
securenets=Trusted networks file,3,None
max_size=Maximum number of records to display,0
manual_build=Automatically rebuild NIS maps?,1,0-Yes,1-No
07070100040de9000081a40000000000000002000000013d1fe2e300000123000000200000000000000000000000000000001900000003reloc/nis/config.info.ca  client_conf=Fitxer de configuració client NIS,0
nsswitch_conf=Fitxer de canvi de client NIS,0
sources=Fonts vàlides de nsswitch.conf,0
securenets=Fitxer de xarxes fiables,3,Cap
max_size=Nombre màxim de registres a mostrar,0
manual_build=Reconstruir els mapes NIS automàticament,1,0-Sí,1-No

 07070100040dea000081a40000000000000002000000013d1fe2e3000000c1000000200000000000000000000000000000001900000003reloc/nis/config.info.es  client_conf=Archivo de configuración de cliente NIS,0
nsswitch_conf=Archivo de conmutación de cliente NIS,0
sources=Fuetes nsswitch.conf válidas,0
securenets=Archivo de redes fiables,3,Ninguna
   07070100040e1e000081a40000000000000002000000013d1fe2e30000012b000000200000000000000000000000000000001900000003reloc/nis/config.info.pl  client_conf=Plik konfiguracyjny klienta NIS,0
nsswitch_conf=Plik &quot;nsswitch&quot; klienta NIS,0
sources=Prawid³owe ¼ród³a nsswitch.conf,0
securenets=Plik zaufanych sieci,3,Brak
max_size=Maksymalna liczba pokazywanych rekordów,0
manual_build=Automatycznie przebudowywaæ tabele NIS?,1,0-Tak,1-Nie
 07070100040e21000081a40000000000000002000000013d1fe2e3000000a3000000200000000000000000000000000000001900000003reloc/nis/config.info.sv  client_conf=Konfigurationsfil för NIS-klient,0
nsswitch_conf=Switchfil för NIS-klient,0
sources=Källor för nsswitch.conf,0
securenets=Pålitlig nätverksfil,3,Ingen
 07070100040ebb000081a40000000000000002000000013d1fe2e300003431000000200000000000000000000000000000001e00000003reloc/nis/debian-linux-lib.pl # debian-linux-lib.pl
# NIS functions for debian linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis = { 'broadcast' => 1 };
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		push(@{$nis->{'servers'}}, $2);
		$nis->{'broadcast'} = 0;
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		$nis->{'broadcast'} = 0;
		}
	}
close(CONF);
open(DOMAIN, "/etc/defaultdomain");
chop($nis->{'domain'} = <DOMAIN>);
close(DOMAIN);
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
open(DOMAIN, ">/etc/defaultdomain");
if ($_[0]->{'domain'}) {
	if (!$_[0]->{'broadcast'}) {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server ",shift(@s),"\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	print DOMAIN $_[0]->{'domain'},"\n";
	}
close(CONF);
close(DOMAIN);
if ($_[0]->{'domain'}) {
	&enable_on_boot("nis");
	}

# Apply by running the init script
local $init = &init_script("nis");
&system_logged("$init stop >/dev/null 2>&1");
&system_logged("killall ypbind >/dev/null 2>&1");
&system_logged("$init start >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	$out = `ypwhich 2>&1`;
	if ($?) {
		system("killall ypbind >/dev/null 2>&1");
		return $text{'client_eypwhich'};
		}
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey", "networks",
		"ethers", "bootparams", "printcap", "amd.home", "auto.master",
		"auto.home", "passwd.adjunct" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();
local $init = &init_script("nis");
open(INIT, $init);
while(<INIT>) {
	$mode = $1 if (/^\s*NISSERVER\s*=["\s]*([^"\s]+)/);
	}
close(INIT);

print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$mode eq 'false' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$mode eq 'false' ? 'checked' : '', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$mode eq 'slave' ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$mode eq 'slave' ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n",
	$mode eq 'slave' ? $config{'slave'} : '';

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

if ($in{'boot'}) {
	&enable_on_boot("nis");
	}
local $init = &init_script("nis");
local $lref = &read_file_lines($init);
foreach $l (@$lref) {
	if ($l =~ /^\s*NISSERVER=/) {
		$l = "NISSERVER=".(!$in{'boot'} ? 'false' :
				   $in{'type'} ? 'master' : 'slave');
		}
	}
&flush_file_lines();
&system_logged("$init stop >/dev/null 2>&1");
&system_logged("$init start >/dev/null 2>&1");
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
if (!&check_on_boot("nis")) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

   07070100040ebc000081e40000000000000002000000013d1fe2e3000004c5000000200000000000000000000000000000001b00000003reloc/nis/edit_aliases.cgi    #!/usr/local/bin/perl
# edit_aliases.cgi
# Edit a NIS aliases table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'aliases_title'}, "");
print "<hr>\n";

($t, $lnums, $alias) = &table_edit_setup($in{'table'}, $in{'line'}, '[\s:]+');
print "<form action=save_aliases.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'aliases_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'aliases_from'}</b></td>\n";
print "<td><input name=from size=20 value='$alias->[0]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'aliases_to'}</b></td>\n";
print "<td><textarea name=to rows=3 cols=30>",
	join("\n", split(/,/, $alias->[1])),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ebd000081e40000000000000002000000013d1fe2e30000051f000000200000000000000000000000000000001a00000003reloc/nis/edit_client.cgi #!/usr/local/bin/perl
# edit_client.cgi
# Display NIS client options

require './nis-lib.pl';
&header($text{'client_title'}, "");
print "<hr>\n";
$nis = &get_client_config();

print "<form action=save_client.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'client_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'client_domain'}</b></td>\n";
printf "<td valign=top><input type=radio name=domain_def value=1 %s> %s\n",
	$nis->{'domain'} ? '' : 'checked', $text{'client_none'};
printf "<input type=radio name=domain_def value=0 %s>\n",
	$nis->{'domain'} ? 'checked' : '';
printf "<input name=domain size=35 value='%s'></td> </tr>\n",
	$nis->{'domain'};

print "<tr> <td valign=top><b>$text{'client_servers'}</b></td>\n";
printf "<td><input type=radio name=broadcast value=1 %s> %s\n",
	$nis->{'broadcast'} ? 'checked' : '', $text{'client_broadcast'};
printf "<input type=radio name=broadcast value=0 %s> %s<br>\n",
	$nis->{'broadcast'} ? '' : 'checked', $text{'client_listed'};
print "<textarea name=servers rows=3 cols=35>",
      join("\n", &unique(@{$nis->{'servers'}})),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'client_ok'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100040ebe000081e40000000000000002000000013d1fe2e300000484000000200000000000000000000000000000001a00000003reloc/nis/edit_ethers.cgi #!/usr/local/bin/perl
# edit_ethers.cgi
# Edit a NIS ethers table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'ethers_title'}, "");
print "<hr>\n";

($t, $lnums, $ether) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_ethers.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'ethers_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'ethers_mac'}</b></td>\n";
print "<td><input name=mac size=17 value='$ether->[0]'></td> </tr>\n";

print "<tr> <td><b>$text{'ethers_ip'}</b></td>\n";
print "<td><input name=ip size=17 value='$ether->[1]'></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

07070100040ebf000081e40000000000000002000000013d1fe2e300000730000000200000000000000000000000000000001900000003reloc/nis/edit_group.cgi  #!/usr/local/bin/perl
# edit_group.cgi
# Edit a NIS group table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'group_title'}, "");
print "<hr>\n";

($t, $lnums, $group) = &table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_group.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'group_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group_name'}</b></td>\n";
print "<td><input name=name size=15 value='$group->[0]'></td>\n";

print "<td><b>$text{'group_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$group->[2]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'group_pass'}</b></td> <td>\n";
printf "<input type=radio name=passmode value=0 %s> $text{'group_none'}<br>\n",
	$group->[1] eq "" ? "checked" : "";
printf "<input type=radio name=passmode value=1 %s> $text{'group_encrypted'}\n",
	$group->[1] eq "" ? "" : "checked";
print "<input name=encpass size=13 value=\"$group->[1]\"><br>\n";
print "<input type=radio name=passmode value=2 %s> $text{'group_clear'}\n";
print "<input name=pass size=15></td>\n";

print "<td valign=top><b>$text{'group_members'}</b></td>\n";
print "<td><textarea wrap=auto name=members rows=5 cols=10>",
	join("\n", split(/,/ , $group->[3])),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

07070100040ec0000081e40000000000000002000000013d1fe2e30000074a000000200000000000000000000000000000002000000003reloc/nis/edit_group_shadow.cgi   #!/usr/local/bin/perl
# edit_group_shadow.cgi
# Edit a NIS group table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'group_title'}, "");
print "<hr>\n";

($t, $lnums, $group, $shadow) = &table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_group_shadow.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'group_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group_name'}</b></td>\n";
print "<td><input name=name size=15 value='$group->[0]'></td>\n";

print "<td><b>$text{'group_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$group->[2]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'group_pass'}</b></td> <td>\n";
printf "<input type=radio name=passmode value=0 %s> $text{'group_none'}<br>\n",
	$shadow->[1] eq "" ? "checked" : "";
printf "<input type=radio name=passmode value=1 %s> $text{'group_encrypted'}\n",
	$shadow->[1] eq "" ? "" : "checked";
print "<input name=encpass size=13 value=\"$shadow->[1]\"><br>\n";
print "<input type=radio name=passmode value=2 %s> $text{'group_clear'}\n";
print "<input name=pass size=15></td>\n";

print "<td valign=top><b>$text{'group_members'}</b></td>\n";
print "<td><textarea wrap=auto name=members rows=5 cols=10>",
	join("\n", split(/,/ , $group->[3])),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

  07070100040ec1000081e40000000000000002000000013d1fe2e300000532000000200000000000000000000000000000001900000003reloc/nis/edit_hosts.cgi  #!/usr/local/bin/perl
# edit_hosts.cgi
# Edit a NIS hosts table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'hosts_title'}, "");
print "<hr>\n";

($t, $lnums, $host) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_hosts.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'hosts_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'hosts_ip'}</b></td>\n";
print "<td><input name=ip size=15 value='$host->[0]'></td> </tr>\n";

print "<tr> <td><b>$text{'hosts_name'}</b></td>\n";
print "<td><input name=name size=30 value='$host->[1]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'hosts_aliases'}</b></td>\n";
print "<td><textarea name=aliases rows=3 cols=30>",
	join("\n", @$host[2 .. @$host-1]),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

  07070100040ec2000081e40000000000000002000000013d1fe2e300000800000000200000000000000000000000000000001c00000003reloc/nis/edit_netgroup.cgi   #!/usr/local/bin/perl
# edit_netgroup.cgi
# Edit a NIS netgroup table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'netgroup_title'}, "");
print "<hr>\n";

($t, $lnums, $netgroup) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_netgroup.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'netgroup_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'netgroup_name'}</b></td>\n";
print "<td><input name=name size=15 value='$netgroup->[0]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'netgroup_members'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'netgroup_host'}</b></td> ",
      "<td><b>$text{'netgroup_user'}</b></td> ",
      "<td><b>$text{'netgroup_domain'}</b></td> </tr>\n";
$i = 0;
foreach $h (@$netgroup[1 .. @$netgroup-1], "(x,,)", "(x,,)") {
	$h =~ /^\((\S*),(\S*),(\S*)\)$/ || next;
	print "<tr $cb>\n";
	foreach $v (['host',$1],['user',$2],['dom',$3]) {
		printf "<td><input type=radio name=$v->[0]_def_$i value=1 %s>%s\n",
			$v->[1] ? '' : 'checked', $text{'netgroup_any'};
		printf "<input type=radio name=$v->[0]_def_$i value=2 %s>%s\n",
			$v->[1] eq 'x' ? 'checked' : '', $text{'netgroup_none'}
			if ($v->[0] eq 'host');
		printf "<input type=radio name=$v->[0]_def_$i value=0 %s>\n",
			$v->[1] && $v->[1] ne 'x' ? 'checked' : '';
		printf "<input name=$v->[0]_$i size=15 value='%s'></td>\n",
			$v->[1] eq "x" ? "" : $v->[1];
		}
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

07070100040ec3000081e40000000000000002000000013d1fe2e30000049c000000200000000000000000000000000000001c00000003reloc/nis/edit_netmasks.cgi   #!/usr/local/bin/perl
# edit_netmasks.cgi
# Edit a NIS netmasks table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'netmasks_title'}, "");
print "<hr>\n";

($t, $lnums, $netmask) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_netmasks.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'netmasks_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'netmasks_net'}</b></td>\n";
print "<td><input name=net size=15 value='$netmask->[0]'></td> </tr>\n";

print "<tr> <td><b>$text{'netmasks_mask'}</b></td>\n";
print "<td><input name=mask size=15 value='$netmask->[1]'></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

07070100040ec4000081e40000000000000002000000013d1fe2e300000559000000200000000000000000000000000000001c00000003reloc/nis/edit_networks.cgi   #!/usr/local/bin/perl
# edit_networks.cgi
# Edit a NIS networks table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'networks_title'}, "");
print "<hr>\n";

($t, $lnums, $network) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_networks.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'networks_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'networks_name'}</b></td>\n";
print "<td><input name=name size=30 value='$network->[0]'></td> </tr>\n";

print "<tr> <td><b>$text{'networks_ip'}</b></td>\n";
print "<td><input name=ip size=15 value='$network->[1]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'networks_aliases'}</b></td>\n";
print "<td><textarea name=aliases rows=3 cols=30>",
	join("\n", @$network[2 .. @$network-1]),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ec5000081e40000000000000002000000013d1fe2e300001319000000200000000000000000000000000000001a00000003reloc/nis/edit_passwd.cgi #!/usr/local/bin/perl
# edit_passwd_shadow.cgi
# Edit a NIS password/shadow files entry

require './nis-lib.pl';
require 'timelocal.pl';
&ReadParse();
&header($text{'passwd_title'}, "");
print "<hr>\n";
$mode = ($0 =~ /passwd_shadow_full.cgi$/ ? 2 :
	 $0 =~ /passwd_shadow.cgi$/ ? 1 : 0);

# Build list of available shells
@shlist = ("/bin/sh", "/bin/csh", "/bin/false");
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

($t, $lnums, $passwd, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_passwd_shadow.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";
print "<input type=hidden name=mode value='$mode'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'passwd_name'}</b></td>\n";
print "<td><input name=name size=10 value=\"$passwd->[0]\"></td>\n";

print "<td><b>$text{'passwd_uid'}</b></td>\n";
print "<td><input name=uid size=10 value=\"$passwd->[2]\"></td> </tr>\n";

print "<tr> <td><b>$text{'passwd_real'}</b></td>\n";
print "<td><input name=real size=20 value=\"$passwd->[4]\"></td>\n";

print "<td><b>$text{'passwd_home'}</b></td>\n";
print "<td><input name=home size=25 value=\"$passwd->[5]\"> ",
      &file_chooser_button("home", 1),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'passwd_shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
foreach $s (&unique(@shlist)) {
	printf "<option %s>%s\n",
		$passwd->[6] eq $s ? 'selected' : '', $s;
	$found++ if ($passwd->[6] eq $s);
	}
printf "<option value='' %s>%s\n",
	$found ? '' : 'selected', $text{'passwd_other'};
print "</select><br>\n";
printf "<input name=other size=20 value='%s'> %s</td>\n",
	$found ? '' : $passwd->[6], &file_chooser_button("other");

$pass = $mode ? $shadow->[1] : $passwd->[1];
%uconfig = &foreign_config("useradmin");
print "<td valign=top rowspan=2><b>$text{'passwd_pass'}</b></td> <td rowspan=2>\n";
printf"<input type=radio name=passmode value=0 %s> %s<br>\n",
	$pass eq "" ? "checked" : "",
	$uconfig{'empty_mode'} ? $text{'passwd_none1'} : $text{'passwd_none2'};
printf"<input type=radio name=passmode value=1 %s> $text{'passwd_nologin'}<br>\n",
	$pass eq $uconfig{'lock_string'} ? "checked" : "";
print "<input type=radio name=passmode value=3> $text{'passwd_clear'}\n";
printf "<input %s name=pass size=15><br>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "";
printf "<input type=radio name=passmode value=2 %s> $text{'passwd_encrypted'}\n",
	$pass && $pass ne $uconfig{'lock_string'} ? "checked" :"";
printf "<input name=encpass size=13 value=\"%s\">\n",
	$pass && $pass ne $uconfig{'lock_string'} ? $pass : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'passwd_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$passwd->[3]'></td> </tr>\n";

if ($mode == 2) {
	print "</table></td></tr></table><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'passwd_header2'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'passwd_change'}</b></td>\n";
	if ($shadow->[2] && $shadow->[2] >= 0) {
		@tm = localtime(timelocal(gmtime($shadow->[2] * 60*60*24)));
		printf "<td>%s/%s/%s</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		}
	elsif ($in{'line'} eq "") { print "<td>$text{'passwd_never'}</td>\n"; }
	else { print "<td>$text{'passwd_unknown'}</td>\n"; }

	print "<td><b>$text{'passwd_expire'}</b></td>\n";
	if ($shadow->[7] && $shadow->[7] >= 0) {
		@tm = localtime($shadow->[7] * 60*60*24);
		$eday = $tm[3];
		$emon = $tm[4]+1;
		$eyear = $tm[5]+1900;
		}
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print "</td>\n";

	print "<tr> <td><b>$text{'passwd_min'}</b></td>\n";
	printf "<td><input size=5 name=min value=\"%s\"></td>\n",
		$shadow->[3] < 0 ? "" : $shadow->[3];

	print "<td><b>$text{'passwd_max'}</b></td>\n";
	printf "<td><input size=5 name=max value=\"%s\"></td></tr>\n",
		$shadow->[4] < 0 ? "" : $shadow->[4];

	print "<tr> <td><b>$text{'passwd_warn'}</b></td>\n";
	printf "<td><input size=5 name=warn value=\"%s\"></td>\n",
		$shadow->[5] < 0 ? "" : $shadow->[5];

	print "<td><b>$text{'passwd_inactive'}</b></td>\n";
	printf "<td><input size=5 name=inactive value=\"%s\"></td></tr>\n",
		$shadow->[6] < 0 ? "" : $shadow->[6];
	}
print "</table></td></tr></table>\n";

if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ec6000081e40000000000000002000000013d1fe2e300001319000000200000000000000000000000000000002100000003reloc/nis/edit_passwd_shadow.cgi  #!/usr/local/bin/perl
# edit_passwd_shadow.cgi
# Edit a NIS password/shadow files entry

require './nis-lib.pl';
require 'timelocal.pl';
&ReadParse();
&header($text{'passwd_title'}, "");
print "<hr>\n";
$mode = ($0 =~ /passwd_shadow_full.cgi$/ ? 2 :
	 $0 =~ /passwd_shadow.cgi$/ ? 1 : 0);

# Build list of available shells
@shlist = ("/bin/sh", "/bin/csh", "/bin/false");
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

($t, $lnums, $passwd, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_passwd_shadow.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";
print "<input type=hidden name=mode value='$mode'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'passwd_name'}</b></td>\n";
print "<td><input name=name size=10 value=\"$passwd->[0]\"></td>\n";

print "<td><b>$text{'passwd_uid'}</b></td>\n";
print "<td><input name=uid size=10 value=\"$passwd->[2]\"></td> </tr>\n";

print "<tr> <td><b>$text{'passwd_real'}</b></td>\n";
print "<td><input name=real size=20 value=\"$passwd->[4]\"></td>\n";

print "<td><b>$text{'passwd_home'}</b></td>\n";
print "<td><input name=home size=25 value=\"$passwd->[5]\"> ",
      &file_chooser_button("home", 1),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'passwd_shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
foreach $s (&unique(@shlist)) {
	printf "<option %s>%s\n",
		$passwd->[6] eq $s ? 'selected' : '', $s;
	$found++ if ($passwd->[6] eq $s);
	}
printf "<option value='' %s>%s\n",
	$found ? '' : 'selected', $text{'passwd_other'};
print "</select><br>\n";
printf "<input name=other size=20 value='%s'> %s</td>\n",
	$found ? '' : $passwd->[6], &file_chooser_button("other");

$pass = $mode ? $shadow->[1] : $passwd->[1];
%uconfig = &foreign_config("useradmin");
print "<td valign=top rowspan=2><b>$text{'passwd_pass'}</b></td> <td rowspan=2>\n";
printf"<input type=radio name=passmode value=0 %s> %s<br>\n",
	$pass eq "" ? "checked" : "",
	$uconfig{'empty_mode'} ? $text{'passwd_none1'} : $text{'passwd_none2'};
printf"<input type=radio name=passmode value=1 %s> $text{'passwd_nologin'}<br>\n",
	$pass eq $uconfig{'lock_string'} ? "checked" : "";
print "<input type=radio name=passmode value=3> $text{'passwd_clear'}\n";
printf "<input %s name=pass size=15><br>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "";
printf "<input type=radio name=passmode value=2 %s> $text{'passwd_encrypted'}\n",
	$pass && $pass ne $uconfig{'lock_string'} ? "checked" :"";
printf "<input name=encpass size=13 value=\"%s\">\n",
	$pass && $pass ne $uconfig{'lock_string'} ? $pass : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'passwd_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$passwd->[3]'></td> </tr>\n";

if ($mode == 2) {
	print "</table></td></tr></table><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'passwd_header2'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'passwd_change'}</b></td>\n";
	if ($shadow->[2] && $shadow->[2] >= 0) {
		@tm = localtime(timelocal(gmtime($shadow->[2] * 60*60*24)));
		printf "<td>%s/%s/%s</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		}
	elsif ($in{'line'} eq "") { print "<td>$text{'passwd_never'}</td>\n"; }
	else { print "<td>$text{'passwd_unknown'}</td>\n"; }

	print "<td><b>$text{'passwd_expire'}</b></td>\n";
	if ($shadow->[7] && $shadow->[7] >= 0) {
		@tm = localtime($shadow->[7] * 60*60*24);
		$eday = $tm[3];
		$emon = $tm[4]+1;
		$eyear = $tm[5]+1900;
		}
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print "</td>\n";

	print "<tr> <td><b>$text{'passwd_min'}</b></td>\n";
	printf "<td><input size=5 name=min value=\"%s\"></td>\n",
		$shadow->[3] < 0 ? "" : $shadow->[3];

	print "<td><b>$text{'passwd_max'}</b></td>\n";
	printf "<td><input size=5 name=max value=\"%s\"></td></tr>\n",
		$shadow->[4] < 0 ? "" : $shadow->[4];

	print "<tr> <td><b>$text{'passwd_warn'}</b></td>\n";
	printf "<td><input size=5 name=warn value=\"%s\"></td>\n",
		$shadow->[5] < 0 ? "" : $shadow->[5];

	print "<td><b>$text{'passwd_inactive'}</b></td>\n";
	printf "<td><input size=5 name=inactive value=\"%s\"></td></tr>\n",
		$shadow->[6] < 0 ? "" : $shadow->[6];
	}
print "</table></td></tr></table>\n";

if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ec7000081e40000000000000002000000013d1fe2e300001319000000200000000000000000000000000000002600000003reloc/nis/edit_passwd_shadow_full.cgi #!/usr/local/bin/perl
# edit_passwd_shadow.cgi
# Edit a NIS password/shadow files entry

require './nis-lib.pl';
require 'timelocal.pl';
&ReadParse();
&header($text{'passwd_title'}, "");
print "<hr>\n";
$mode = ($0 =~ /passwd_shadow_full.cgi$/ ? 2 :
	 $0 =~ /passwd_shadow.cgi$/ ? 1 : 0);

# Build list of available shells
@shlist = ("/bin/sh", "/bin/csh", "/bin/false");
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

($t, $lnums, $passwd, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_passwd_shadow.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";
print "<input type=hidden name=mode value='$mode'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'passwd_name'}</b></td>\n";
print "<td><input name=name size=10 value=\"$passwd->[0]\"></td>\n";

print "<td><b>$text{'passwd_uid'}</b></td>\n";
print "<td><input name=uid size=10 value=\"$passwd->[2]\"></td> </tr>\n";

print "<tr> <td><b>$text{'passwd_real'}</b></td>\n";
print "<td><input name=real size=20 value=\"$passwd->[4]\"></td>\n";

print "<td><b>$text{'passwd_home'}</b></td>\n";
print "<td><input name=home size=25 value=\"$passwd->[5]\"> ",
      &file_chooser_button("home", 1),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'passwd_shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
foreach $s (&unique(@shlist)) {
	printf "<option %s>%s\n",
		$passwd->[6] eq $s ? 'selected' : '', $s;
	$found++ if ($passwd->[6] eq $s);
	}
printf "<option value='' %s>%s\n",
	$found ? '' : 'selected', $text{'passwd_other'};
print "</select><br>\n";
printf "<input name=other size=20 value='%s'> %s</td>\n",
	$found ? '' : $passwd->[6], &file_chooser_button("other");

$pass = $mode ? $shadow->[1] : $passwd->[1];
%uconfig = &foreign_config("useradmin");
print "<td valign=top rowspan=2><b>$text{'passwd_pass'}</b></td> <td rowspan=2>\n";
printf"<input type=radio name=passmode value=0 %s> %s<br>\n",
	$pass eq "" ? "checked" : "",
	$uconfig{'empty_mode'} ? $text{'passwd_none1'} : $text{'passwd_none2'};
printf"<input type=radio name=passmode value=1 %s> $text{'passwd_nologin'}<br>\n",
	$pass eq $uconfig{'lock_string'} ? "checked" : "";
print "<input type=radio name=passmode value=3> $text{'passwd_clear'}\n";
printf "<input %s name=pass size=15><br>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "";
printf "<input type=radio name=passmode value=2 %s> $text{'passwd_encrypted'}\n",
	$pass && $pass ne $uconfig{'lock_string'} ? "checked" :"";
printf "<input name=encpass size=13 value=\"%s\">\n",
	$pass && $pass ne $uconfig{'lock_string'} ? $pass : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'passwd_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$passwd->[3]'></td> </tr>\n";

if ($mode == 2) {
	print "</table></td></tr></table><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'passwd_header2'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'passwd_change'}</b></td>\n";
	if ($shadow->[2] && $shadow->[2] >= 0) {
		@tm = localtime(timelocal(gmtime($shadow->[2] * 60*60*24)));
		printf "<td>%s/%s/%s</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		}
	elsif ($in{'line'} eq "") { print "<td>$text{'passwd_never'}</td>\n"; }
	else { print "<td>$text{'passwd_unknown'}</td>\n"; }

	print "<td><b>$text{'passwd_expire'}</b></td>\n";
	if ($shadow->[7] && $shadow->[7] >= 0) {
		@tm = localtime($shadow->[7] * 60*60*24);
		$eday = $tm[3];
		$emon = $tm[4]+1;
		$eyear = $tm[5]+1900;
		}
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print "</td>\n";

	print "<tr> <td><b>$text{'passwd_min'}</b></td>\n";
	printf "<td><input size=5 name=min value=\"%s\"></td>\n",
		$shadow->[3] < 0 ? "" : $shadow->[3];

	print "<td><b>$text{'passwd_max'}</b></td>\n";
	printf "<td><input size=5 name=max value=\"%s\"></td></tr>\n",
		$shadow->[4] < 0 ? "" : $shadow->[4];

	print "<tr> <td><b>$text{'passwd_warn'}</b></td>\n";
	printf "<td><input size=5 name=warn value=\"%s\"></td>\n",
		$shadow->[5] < 0 ? "" : $shadow->[5];

	print "<td><b>$text{'passwd_inactive'}</b></td>\n";
	printf "<td><input size=5 name=inactive value=\"%s\"></td></tr>\n",
		$shadow->[6] < 0 ? "" : $shadow->[6];
	}
print "</table></td></tr></table>\n";

if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ec8000081e40000000000000002000000013d1fe2e300000559000000200000000000000000000000000000001d00000003reloc/nis/edit_protocols.cgi  #!/usr/local/bin/perl
# edit_protocols.cgi
# Edit a NIS protocols table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'protocols_title'}, "");
print "<hr>\n";

($t, $lnums, $protocol) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_protocols.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'protocols_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'protocols_name'}</b></td>\n";
print "<td><input name=name size=15 value='$protocol->[0]'></td>\n";

print "<td><b>$text{'protocols_number'}</b></td>\n";
print "<td><input name=number size=6 value='$protocol->[1]'></td> </tr>\n";

$al = join(" ", @$protocol[2 .. @$protocol-1]);
print "<tr> <td><b>$text{'protocols_aliases'}</b></td>\n";
print "<td colspan=3><input name=aliases size=30 value='$al'></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040ec9000081e40000000000000002000000013d1fe2e300000525000000200000000000000000000000000000001700000003reloc/nis/edit_rpc.cgi    #!/usr/local/bin/perl
# edit_rpc.cgi
# Edit a NIS rpc table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'rpc_title'}, "");
print "<hr>\n";

($t, $lnums, $rpc) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_rpc.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'rpc_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'rpc_name'}</b></td>\n";
print "<td><input name=name size=15 value='$rpc->[0]'></td> </tr>\n";

print "<tr> <td><b>$text{'rpc_number'}</b></td>\n";
print "<td><input name=number size=10 value='$rpc->[1]'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'rpc_aliases'}</b></td>\n";
print "<td><textarea name=aliases rows=3 cols=30>",
	join("\n", @$rpc[2 .. @$rpc-1]),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

   07070100040eca000081e40000000000000002000000013d1fe2e300000711000000200000000000000000000000000000001c00000003reloc/nis/edit_security.cgi   #!/usr/local/bin/perl
# edit_security.cgi
# Show NIS server security options

require './nis-lib.pl';
&header($text{'security_title'}, "");
print "<hr>\n";

if (&get_server_mode() == 0 || &get_nis_support() < 2) {
	print "<p>$text{'security_enis'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<form action=save_security.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'security_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($config{'securenets'}) {
	print "<tr> <td valign=top><b>$text{'security_nets'}</b></td>\n";
	print "<td><table border>\n";
	print "<tr $tb> <td><b>$text{'security_mask'}</b></td> ",
	      "<td><b>$text{'security_net'}</b></td> </tr>\n";
	open(NETS, $config{'securenets'});
	while(<NETS>) {
		s/#.*$//;
		if (/(\S+)\s+(\S+)/) {
			push(@nets, [ $1 eq '255.255.255.255' ? 1 :
				      $1 eq 'host' ? 1 :
				      $1 eq '0.0.0.0' ? 2 : 0, $1, $2 ]);
			}
		}
	close(NETS);
	local $i = 0;
	foreach $n (@nets, [ 0, "", "" ]) {
		print "<tr $cb>\n";
		printf "<td><input type=radio name=def_$i value=2 %s> %s\n",
			$n->[0] == 2 ? 'checked' : '', $text{'security_any'};
		printf "<input type=radio name=def_$i value=1 %s> %s\n",
			$n->[0] == 1 ? 'checked' : '', $text{'security_single'};
		printf "<input type=radio name=def_$i value=0 %s> %s\n",
			$n->[0] == 0 ? 'checked' : '';
		printf "<input name=mask_$i size=15 value='%s'></td>\n",
			$n->[0] == 0 ? $n->[1] : '';
		printf "<td><input name=net_$i size=15 value='%s'></td>\n",
			$n->[2];
		print "</tr>\n";
		$i++;
		}
	print "</table></td></tr>\n";
	}

&show_server_security();

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'security_ok'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   07070100040ecb000081e40000000000000002000000013d1fe2e30000025c000000200000000000000000000000000000001a00000003reloc/nis/edit_server.cgi #!/usr/local/bin/perl
# edit_server.cgi
# Display NIS server settings

require './nis-lib.pl';
&header($text{'server_title'}, "");
print "<hr>\n";

if (&get_nis_support() < 2) {
	print "<p>$text{'server_enis'}<p>\n";
	}
else {
	print "<form action=save_server.cgi>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'server_header'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	&show_server_config();

	print "</table></td></tr></table>\n";
	print "<input type=submit value='$text{'server_ok'}'></form>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

07070100040ecc000081e40000000000000002000000013d1fe2e300000608000000200000000000000000000000000000001c00000003reloc/nis/edit_services.cgi   #!/usr/local/bin/perl
# edit_services.cgi
# Edit a NIS services table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'services_title'}, "");
print "<hr>\n";

($t, $lnums, $service) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_services.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'services_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

($port, $proto) = split(/\//, $service->[1]);
print "<tr> <td><b>$text{'services_name'}</b></td>\n";
print "<td><input name=name size=15 value='$service->[0]'></td>\n";

&foreign_require("inetd", "inetd-lib.pl");
print "<td><b>$text{'services_proto'}</b></td>\n";
print "<td><select name=proto>\n";
foreach $p (&foreign_call("inetd", "list_protocols")) {
	printf "<option value=%s %s>%s\n",
		$p, $proto eq $p || !$proto && $p eq 'tcp' ? 'selected' : '',
		uc($p);
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'services_port'}</b></td>\n";
print "<td><input name=port size=6 value='$port'></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

07070100040ecd000081e40000000000000002000000013d1fe2e30000060a000000200000000000000000000000000000001d00000003reloc/nis/edit_services2.cgi  #!/usr/local/bin/perl
# edit_services2.cgi
# Edit a NIS services table entry

require './nis-lib.pl';
&ReadParse();
&header($text{'services_title'}, "");
print "<hr>\n";

($t, $lnums, $service) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
print "<form action=save_services2.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'services_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

($name, $proto) = split(/\//, $service->[0]);
print "<tr> <td><b>$text{'services_name'}</b></td>\n";
print "<td><input name=name size=15 value='$name'></td>\n";

&foreign_require("inetd", "inetd-lib.pl");
print "<td><b>$text{'services_proto'}</b></td>\n";
print "<td><select name=proto>\n";
foreach $p (&foreign_call("inetd", "list_protocols")) {
	printf "<option value=%s %s>%s\n",
		$p, $proto eq $p || !$proto && $p eq 'tcp' ? 'selected' : '',
		uc($p);
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'services_port'}</b></td>\n";
print "<td><input name=port size=6 value='$service->[1]'></td> </tr>\n";

print "</table></td></tr></table>\n";
if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'},
	"", $text{'index_return'});

  070701000425b7000041ed0000000000000001000000023d1ffac700000000000000200000000000000000000000000000001100000003reloc/nis/images  070701000425b8000081a40000000000000002000000013d1fe2e300000110000000200000000000000000000000000000001c00000003reloc/nis/images/client.gif   GIF89a0 0 Â  øüøÈÌÈ   ø  ÈÌøÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  ÃxºÜþ0ÊI«½8ëÍ»ÿW ŽdižÜ©®dÊ¾¦+
tmßw»‘xßëžoHf„DŸƒLâ–¡‘7@-Íé z­d“[îH˜ÒÂbÙŒn»ß[Ç·¯ÃåR°}ÆÏœ|~eZvƒfhVc;yl[ŒjŽ0'[%)š•%˜”œ/ ¡£¥“§š­®­«¯³±¬´¸š§©+›¼]XÀÁª ÅÆA#¹¹Â^ËÌ´Î$ÑÒ¦¶ÙÚÛÜÝÞßàáâ£	 ;070701000425b9000081a40000000000000002000000013d1fe2e30000019d000000200000000000000000000000000000001a00000003reloc/nis/images/icon.gif GIF87a0 0 Â  ÈÌÈøüø   ø  ÈÌø         ,    0 0  þºÜþ!ÊG«¥rÁ»¿ ”Šg
Î©ªÌHn+ÚÄ´¬¸¥0ìfZ¯­QN7èÍ~¬nÇ+~ŽHã-ÂÀ€ÐhgQÕÐ|Ú€1ÂÕ`Æ|®UŸS×KÔ^ñ’q9aÏ_/hUN[JBlC*ENLj†€‚DVy|™{`v:' ;dr£~‡ˆ’RL¥lnbp¢ª¦Rf•
µ‹¨R|· e³!¿À¸/bwŒ¢Æ ¤É’“2…Ï¤CÕÖzš{}Ú£²O£àáãäæWI#ê™âšíe s Ð\÷$›¾,är'âß£€¨¤«·
!…—Bä×`ß.†&j:Tk­E‰nÌ2]Ä´ñ]G%9@Z’‘š.oÓ<MZÉ’Û2˜g6céÅº–.òì‰…(¼¡F?5;7iR#O…"5ãÌŸÓ|#â»ZµÁ`\ã1$.l×„Z­:p0ë¿­kÈ;èl.M³xG%  ;   070701000425ba000081a40000000000000002000000013d1fe2e300000113000000200000000000000000000000000000001e00000003reloc/nis/images/security.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 070701000425bb000081a40000000000000002000000013d1fe2e30000019f000000200000000000000000000000000000001c00000003reloc/nis/images/server.gif   GIF89a0 0 Â  øüøÈÌÈ   ø  ÈÌøÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ-ÈI©ª8kÉv½^ˆu fjr‡èN¤9 ªÀRu®¯ð"É³Úm²+¦,¾Òl©þŒEËrÊl@OhŽÊE…×QÛ¥&e:gIWf"AFõŽšîaC÷"Ìº{òs\V}$…k'U6v8z4ŠAo~€‰)T"›œK„b©rF_5S±IY¤V°²“­•Gž.™3SÀ-.Ãš
SQa/Ê†{¼§ÁÒa¹‚½Ü!Ò±OÍß±ªª3¸b¥ÖÛèé¸ä‹Œðñè3ãˆu³Ð´¢•£O€U|8ôçÂ-¼ ˜pCLb$äKUS¯à;PªÀÜˆÈ	+ØfI2‹=¡ð¬“„èå3–è®Í¬çêÞÌŸ4ã|ú“ ¢HÙ9KJt"Ó¢Æžµ(5)ºªH£b='j«,ùtzë  ; 070701000425bc000081a40000000000000002000000013d1fe2e30000011a000000200000000000000000000000000000001c00000003reloc/nis/images/switch.gif   GIF89a0 0 Â  øüøÈÌÈ   ø  ÈÌøÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  ÍxºÜþ0ÊI«½8ëÍ»ÿW ŽdižÜ©®dÊ¾¦+
tmßÂP·‰ÿ´PÈÓø€·¡r ’¸å0à„FwÃªÈöFÛàMäÍ­RbsF¦ÓFðöM;ÚP­[—Þåac|}k
xnc„K3sŠ}ŒOhŠq“Rƒ_0$L&…¢›*Ÿ ¤%dB ¤v­›°­¢¶·¢‹´¸½»¼¾Ã¢´¨/¡Ç(ÊÌ1ÎÐÍNÄÄEšÊÖ½Ø•ÚÛ·ÝÁãäåæçèéêëìè	 ;  070701000425bd000081a40000000000000002000000013d1fe2e30000016e000000200000000000000000000000000000001c00000003reloc/nis/images/tables.gif   GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8†Í»ÿ`(J œhª®lë–Â ÏC@ß³ë5ž° ”ÙˆÅ¤±ˆìÂfx0E¯Ç¡vëæŠYï/¸óÝx4úL5ÞðQ[P¨Û»Þžß÷ñ{|su…|‰†&0„†wˆ‡Š„ƒ~“˜zŒUqŸ œ&Ž—€–’‹•›¥¦«¨”§—‘­´‡ª™¥´¶xs¡Àr±®³¤­~¸šÆ¹Ç›É¯»Ê‚ÃÌÑÆ½¢žÁÜÏÍË“Ùß½Ó¼Ñä¬ÒÐÎÕÓÄÌã0ÝôéºØèîìá¯òýdÅÓPà¢|©æÕëv¯˜¬£<—° ¼ƒ	F¼8"ñ¯}à$ÖÒ¸(SªL‘¡¥Ë—0cÊœI³¦Í›.  ;  07070100040ece000081e40000000000000002000000013d1fe2e300000688000000200000000000000000000000000000001a00000003reloc/nis/edit_switch.cgi #!/usr/local/bin/perl
# edit_switch.cgi
# Display client service switches

require './nis-lib.pl';
&header($text{'switch_title'}, "");
print "<hr>\n";
@switch = &get_nsswitch_conf();

print "<form action=save_switch.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'switch_service'}</b></td> ",
      "<td><b>$text{'switch_order'}</b></td> </tr>\n";

foreach $s (@switch) {
	local @o = split(/\s+/, $s->{'order'});
	$max = @o if (@o > $max);
	}

foreach $s (@switch) {
	local $sv = $s->{'service'};
	print "<tr $cb>\n";
	print "<td><b>",$text{"desc_$sv"} ? $text{"desc_$sv"} :
			$s->{'service'},"</b></td> <td>\n";
	if ($s->{'order'} =~ /\[/) {
		print "<input name=order_$sv size=60 value='$s->{'order'}'>\n";
		}
	else {
		local @o = split(/\s+/, $s->{'order'});
		local @sources = ("", split(/\s+/, $config{'sources'}));
		print "<table width=100% cellpadding=0 cellspacing=0><tr>\n";
		for($i=1; $i<=$max+1; $i++) {
			print "<td><select name=order_${sv}_${i}>\n";
			foreach $sc (@sources) {
				if ($sc =~ /(\S+)=(\S+)/ && $1 eq $sv) {
					printf "<option value='%s' %s>%s\n",
					    $2,
					    $o[$i-1] eq $2 ? 'selected' : '',
					    $text{"order_$2"};
					}
				elsif ($sc !~ /=/) {
					printf "<option value='%s' %s>%s\n",
					    $sc,
					    $o[$i-1] eq $sc ? 'selected' : '',
					    $text{"order_$sc"};
					}
				}
			print "</select></td>";
			}
		print "</tr></table>\n";
		}
	push(@list, $sv);
	print "</td> </tr>\n";
	}
print "</table>\n";
printf "<input type=hidden name=list value='%s'>\n",
	join(" ", @list);
print "<input type=submit value='$text{'save'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

07070100040ecf000081e40000000000000002000000013d1fe2e3000018dd000000200000000000000000000000000000001a00000003reloc/nis/edit_tables.cgi #!/usr/local/bin/perl
# edit_tables.cgi
# Allow the selection of and display a NIS table for editing

require './nis-lib.pl';
&header($text{'tables_title'}, "");
&ReadParse();
print "<hr>\n";

$mode = &get_server_mode();
if ($mode == 0 || &get_nis_support() < 2) {
	print "<p>$text{'tables_emaster'}<p><hr>\n";
	&footer("", $text{'index'});
	exit;
	}
elsif ($mode == 2) {
	print "<p>$text{'tables_eslave'}<p><hr>\n";
	&footer("", $text{'index'});
	exit;
	}

@tables = &list_nis_tables();
@domains = &unique(map { $_->{'domain'} } @tables);
$in{'table'} = int($in{'table'});

print "<form action=edit_tables.cgi>\n";
print "<input type=submit value='$text{'tables_switch'}'>\n";
print "<select name=table>\n";
foreach $t (@tables) {
	$t->{'desc'} = $text{"desc_".$t->{'table'}};
	$t->{'desc'} = $t->{'table'} if (!$t->{'desc'});
	$t->{'desc'} .= " ($t->{'domain'})" if (@domains > 1);
	printf "<option value=%d %s>%s\n",
		$t->{'index'}, $in{'table'} eq $t->{'index'} ? 'selected' : '',
		$t->{'desc'};
	}
print "</select></form>\n";

$t = $tables[$in{'table'}];
$type = $in{'text'} ? undef : $t->{'type'};
print "<h3>",&text('tables_header', $t->{'desc'},
		   "<tt>".join(" ", @{$t->{'files'}})."</tt>"),"</h3>\n";
if ($type eq 'hosts') {
	&show_nis_table([ $text{'hosts_ip'},
			  $text{'hosts_name'} ],
			$t, '\s+', [ 0, 1 ]);
	}
elsif ($type eq 'networks') {
	&show_nis_table([ $text{'networks_name'},
			  $text{'networks_ip'} ],
			$t, '\s+', [ 0, 1 ]);
	}
elsif ($type eq 'group' || $type eq 'group_shadow') {
	&show_nis_table([ $text{'group_name'},
			  $text{'group_gid'},
			  $text{'group_members'} ],
			$t, ':', [ 0, 2, 3 ], "width=100%");
	}
elsif ($type eq 'passwd_shadow' || $type eq 'passwd_shadow_full' ||
       $type eq 'passwd') {
	&show_nis_table([ $text{'passwd_name'},
			  $text{'passwd_uid'},
			  $text{'passwd_real'},
			  $text{'passwd_home'},
			  $text{'passwd_shell'} ],
			$t, ':', [ 0, 2, 4, 5, 6 ], "width=100%");
	}
elsif ($type eq 'services') {
	&show_nis_table([ $text{'services_name'},
			  $text{'services_proto'},
			  $text{'services_port'} ],
			$t, '[\s/]+', [ 0, 2, 1 ]);
	}
elsif ($type eq 'services2') {
	&show_nis_table([ $text{'services_name'},
			  $text{'services_proto'},
			  $text{'services_port'} ],
			$t, '[\s/]+', [ 0, 1, 2 ]);
	}
elsif ($type eq 'protocols') {
	&show_nis_table([ $text{'protocols_name'},
			  $text{'protocols_number'},
			  $text{'protocols_aliases'} ],
			$t, '\s+', [ 0, 1, -2 ]);
	}
elsif ($type eq 'netgroup') {
	&show_nis_table([ $text{'netgroup_name'},
			  $text{'netgroup_members'} ],
			$t, '\s+', [ 0, -1 ]);
	}
elsif ($type eq 'ethers') {
	&show_nis_table([ $text{'ethers_mac'},
			  $text{'ethers_ip'} ],
			$t, '\s+', [ 0, 1 ]);
	}
elsif ($type eq 'rpc') {
	&show_nis_table([ $text{'rpc_name'},
			  $text{'rpc_number'},
			  $text{'rpc_aliases'} ],
			$t, '\s+', [ 0, 1, -2 ]);
	}
elsif ($type eq 'netmasks') {
	&show_nis_table([ $text{'netmasks_net'},
			  $text{'netmasks_mask'} ],
			$t, '\s+', [ 0, 1 ]);
	}
elsif ($type eq 'aliases') {
	&show_nis_table([ $text{'aliases_from'},
			  $text{'aliases_to'} ],
			$t, '[\s:]+', [ 0, 1 ]);
	}
else {
	# Allow editing of file directly
	print "<form method=post action=save_file.cgi enctype=multipart/form-data>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	$fnum = 0;
	foreach $f (@{$t->{'files'}}) {
		print "<table border>\n";
		print "<tr $tb> <td><b>",&text('tables_file', "<tt>$f</tt>"),
		      "</b></td> </tr>\n";
		print "<tr $cb> <td><textarea name=data_$fnum rows=20 cols=80>";
		open(FILE, $f);
		print <FILE>;
		close(FILE);
		print "</textarea></td></tr></table><br>\n";
		$fnum++;
		}
	print "<input type=submit value='$text{'tables_ok'}'></form>\n";
	}

if ($config{'manual_build'}) {
	print "<hr>\n";
	print "<table width=100%><tr>\n";
	print "<form action=build.cgi>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	print "<td><input type=submit value='$text{'tables_build'}'></td>\n";
	print "<td>$text{'tables_buildmsg'}</td>\n";
	print "</form></tr></table>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

# show_nis_table(&headers, &table, splitter, &columns, params)
sub show_nis_table
{
local @f = @{$_[1]->{'files'}};
local $lines = 0;
open(FILE, $f[0]);
while(<FILE>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@lines, $_);
	$lines++ if (/\S/);
	$empty = 0 if (/\S/);
	}
close(FILE);
if ($config{'max_size'} && $lines > $config{'max_size'}) {
	# Display a search form
	print "<form action=edit_tables.cgi>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	local $sel = "<select name=field>\n";
	local $n = 0;
	foreach $f (@{$_[0]}) {
		$sel .= sprintf "<option value=%s %s>%s\n",
			$n, $in{'field'} == $n ? 'selected' : '', $f;
		$n++;
		}
	$sel .= "</select>\n";
	print &text('tables_find', $t->{'desc'}, $sel,
		    "<input name=what size=15 value='$in{'what'}'>"),
		    "&nbsp;&nbsp;&nbsp;\n";
	print "<input type=submit value='$text{'tables_search'}'></form>\n";
	}
if ($lines && (defined($in{'field'}) || !$config{'max_size'} ||
	       $lines <= $config{'max_size'})) {
	# Show table records
	print "<a href='edit_$t->{'type'}.cgi?table=$in{'table'}'>",
	      "$text{'tables_add'}</a><br>\n";
	print "<table border $_[4]>\n";
	print "<tr $tb> ",(map { "<td><b>$_</b></td>" } @{$_[0]}),"</tr>\n";
	local ($c, @c) = @{$_[3]};
	local $lnum = 0;
	local $matches = 0;
	foreach $l (@lines) {
		local @r = split($_[2], $l);
		if ($l =~ /\S/ && (!defined($in{'field'}) ||
		    $r[$_[3]->[$in{'field'}]] =~ /$in{'what'}/i)) {
			print "<tr $cb><td><a href='edit_$t->{'type'}.cgi?",
			      "line=$lnum&table=$in{'table'}'>",
			      &html_escape($r[$c]),"</a></td>\n";
			foreach $i (@c) {
				if ($i < 0) {
					print "<td>",&html_escape(join(" ", @r[-$i .. $#r])),"<br></td>\n";
					}
				else {
					print "<td>",&html_escape($r[$i]),"<br></td>\n";
					}
				}
			$matches++;
			}
		$lnum++;
		}
	if (!$matches) {
		print "<tr $cb> <td colspan=",scalar(@{$_[3]}),">",
		      "$text{'tables_nomatch'}</td> </tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>",&text('tables_none', $t->{'desc'}),"</b><p>\n";
	}
print "<a href='edit_$t->{'type'}.cgi?table=$in{'table'}'>",
      "$text{'tables_add'}</a>&nbsp;&nbsp;\n";
print "<a href='edit_tables.cgi?table=$in{'table'}&text=1'>",
      "$text{'tables_text'}</a><p>\n";
}

   07070100040ed0000081a40000000000000002000000013d1fe2e30000009d000000200000000000000000000000000000001c00000003reloc/nis/feedback_files.pl   
do 'nis-lib.pl';

sub feedback_files
{
return ( "/var/yp/Makefile",
	 $config{'client_conf'},
	 $config{'nsswitch_conf'},
	 $config{'securenets'} );
}

1;

   07070100040ed1000081e40000000000000002000000013d1fe2e30000030a000000200000000000000000000000000000001400000003reloc/nis/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display icons for NIS functions

require './nis-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("NIS", "man", "howto"));
print "<hr>\n";

if (!&get_nis_support()) {
	print "<p>$text{'index_enis'}<p>\n";
	}
else {
	@icons =  ( "images/client.gif", "images/switch.gif",
		    "images/server.gif", "images/tables.gif",
		    "images/security.gif" );
	@titles = ( $text{'client_title'}, $text{'switch_title'},
		    $text{'server_title'}, $text{'tables_title'},
		    $text{'security_title'} );
	@links =  ( "edit_client.cgi", "edit_switch.cgi",
		    "edit_server.cgi", "edit_tables.cgi",
		    "edit_security.cgi" );
	&icons_table(\@links, \@titles, \@icons, 5);
	}

print "<hr>\n";
&footer("/", $text{'index'});

  07070100046bec000041ed0000000000000001000000023d1ffac800000000000000200000000000000000000000000000000f00000003reloc/nis/lang    07070100046bed000081a40000000000000002000000013d1fe2e3000026d6000000200000000000000000000000000000001200000003reloc/nis/lang/ca index_title=Servidor i Client NIS
index_return=al menú NIS
index_enis=No sembla que la teva màquina tingui instal·lat el suport de servidor ni client NIS.

client_title=Client NIS
client_header=Configuració del client NIS
client_domain=Domini NIS
client_none=Cap (desactiva NIS)
client_servers=Servidors NIS
client_broadcast=Busca per retransmissió
client_listed=Llistats a sota...
client_boot=Activa el client NIS
client_ok=Desa i Aplica
client_err=No he pogut desar el client NIS
client_edomain=Hi falta el nom de domini o bé no és vàlid
client_eserver='$1' no és un nom de domini vàlid
client_eypwhich=no he pogut enllaçar amb el domini NIS
client_ehosts='$1' no és al fitxer de hosts

switch_title=Serveis Client
switch_service=Servei
switch_order=Consulta l'ordenació de fonts
switch_err=He desat els serveis client
switch_eorder=Hi falta l'ordenació de $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Fitxers
order_db=Fitxers DB
order_compat=NIS &amp; Fitxers
order_hesiod=Hesiod
order_ldap=LDAP
order_user=Impressores de l'usuari
order_xfn=XFN

server_title=Servidor NIS
server_header=Opcions del servidor NIS
server_boot=Activa el servidor NIS
server_slaves=Servidors esclaus
server_domain=Serveix el domini NIS
server_type=Tipus de servidor
server_master=Servidor NIS Mestre
server_mheader=Opcions del servidor NIS mestre
server_fheader=Fitxers mestres NIS
server_slave=Esclau del servidor
server_none=Cap
server_tables=Taules NIS a servir
server_dns=Consulta els hosts que faltin amb DNS
server_push=Força les actualitzacions sobre els esclaus
server_minuid=UID mínim per als registres de la taula 'Usuari Unix'
server_mingid=GID mínim per als registres de la taula 'Grups Unix'
server_ok=Desa i Aplica
server_err=No he pogut desar el servidor NIS
server_edomain='$1' no és un domini NIS vàlid
server_file=Fitxer de '$1'
server_domain_auto=Igual que el client
server_eminuid=Hi falta l'UID mínim o bé no és vàlid
server_emingid=Hi falta el GID mínim o bé no és vàlid
server_efile=Falta el nom de fitxer de '$1'
server_eslave=Hi falta el servidor esclau o bé no és vàlid
server_dir=Directori de fitxers font NIS
server_pwdir=Directori de fitxers font de contrasenyes NIS
server_already=El servidor NIS ja està activat
server_ebootdom=Aquest servidor NIS no es pot activar a menys que s'estableixi un domini.
server_solaris=Nota - amb Solaris, els dominis NIS client i servidor són sempre el mateix, i el servidor no pot operar a menys que s'estableixi un domini.
server_edir=Directori de fitxers font invàlid
server_epwdir=Directori de fitxers font de contrasenyes invàlid
server_enis=No sembla que la teva màquina tingui el suport de NIS instal·lat.

tables_title=Taules NIS
tables_switch=Edita la taula NIS:
tables_header=Taula NIS $1 de $2
tables_none=La taula $1 no conté cap registre.
tables_add=Afegeix un nou registre
tables_ok=Desa i Aplica
tables_file=Registres NIS de $1
tables_return=a les taules NIS
tables_text=Edita la taula manualment
tables_emaster=No pots editar taules NIS perquè el sistema no és en aquests moments un servidor NIS mestre.
tables_eslave=No pots editar taules NIS perquè el sistema és un esclau NIS, que rep totes les seves taules del servidor mestre.
tables_find=Busca $1 on $2 coincideixi amb $3
tables_search=Busca
tables_nomatch=No hi ha cap registre que coincideixi amb la recerca
tables_build=Reconstrueix les taules NIS
tables_buildmsg=Fes clic sobre aquest botó per reconstruir les bases de dades NIS a partir de les dades de la taula. Si hi has fet algun canvi, ho hauràs de fer per posar-lo a disposició dels clients NIS.

desc_aliases=Àlies sendmail
desc_mail=Àlies sendmail
desc_hosts=Adreces de host
desc_group=Grups Unix
desc_passwd=Usuaris Unix
desc_ethers=Adreces Ethernet
desc_amd.home=Arrel de l'automuntador
desc_amd.master=Mapes de l'automuntador
desc_auto_home=Arrel de l'automuntador
desc_auto_master=Mapes de l'automuntador
desc_automount=Mapes de l'automuntador
desc_netgroup=Grups de xarxa
desc_netgrp=Grups de xarxa
desc_netid=IDs de xarxa
desc_networks=Adreces de xarxa
desc_protocols=Protocols de xarxa
desc_rpc=Programes RPC
desc_services=Serveis de xarxa
desc_sendmailvars=Variables de sendmail
desc_publickey=Claus públiques
desc_publickeys=Claus públiques
desc_bootparams=Paràmetres d'engegada
desc_shadow=Contrasenyes ocultes Unix
desc_gshadow=Contrasenyes de grup Unix
desc_netmasks=Màscares
desc_printcap=Impressores
desc_adjunct=Informació extra d'usuari
desc_printers=Impressores
desc_ipnodes=Nodes IP
desc_timezone=Zones horàries
desc_locale=Localitzacions
desc_auto_local=Automuntador local

hosts_title=Adreça de Host
hosts_ip=Adreça IP
hosts_name=Nom de host
hosts_header=Opcions de host i adreça
hosts_err=No he pogut desar el host
hosts_eip=Hi falta l'adreça IP o bé no és vàlida
hosts_ename=Hi falta el nom del host o bé no és vàlid
hosts_aliases=Àlies

group_title=Grup Unix
group_name=Grup
group_gid=ID del grup
group_members=Membres del grup
group_pass=Contrasenya
group_members=Membres
group_none=No cal contrasenya
group_encrypted=Contrasenya prexifrada
group_clear=Contrasenya normal
group_err=No he pogut desar el grup

passwd_title=Usuari Unix
passwd_name=Usuari
passwd_uid=ID d'usuari
passwd_real=Nom Real
passwd_home=Directori Arrel
passwd_shell=Shell
passwd_header1=Detalls de l'usuari
passwd_other=Altres...
passwd_pass=Contrasenya
passwd_none1=Demana-la en connectar per primer cop
passwd_none2=No cal contrasenya
passwd_nologin=Connexió no permesa
passwd_encrypted=Contrasenya prexifrada
passwd_clear=Contrasenya normal
passwd_gid=ID del grup primari
passwd_header2=Opcions de la contrasenya
passwd_change=Contrasenya canviada el
passwd_never=Mai
passwd_unknown=Desconegut
passwd_expire=Data d'expiració
passwd_min=Dies mínims
passwd_max=Dies màxims
passwd_warn=Dies d'avís
passwd_inactive=Dies inactiu
passwd_err=No he pogut desar l'usuari
passwd_ename=Hi falta el nom d'usuari
passwd_euid=Hi falta l'UID o bé no és vàlid
passwd_egid=Hi falta el GID o bé no és vàlid
passwd_ereal=Hi falta el nom real o bé no és vàlid
passwd_ehome=Hi falta el directori arrel o bé no és vàlid
passwd_eshell=Hi falta la shell o bé no és vàlida
passwd_epass=Contrasenya prexifrada invàlida
passwd_ewarn=Nombre de dies d'avís invàlid
passwd_emax=Nombre màxim de dies invàlids
passwd_emin=Nombre mínim de dies invàlids
passwd_einactive=Nombre dies inactius invàlid
passwd_eexpiry=Data d'expiració invàlida

services_title=Servei de Xarxa
services_name=Nom del servei
services_proto=Protocol
services_port=Port
services_header=Opcions del servei de xarxa inetd
services_err=No he pogut desar el servei
services_ename=Hi falta el nom del servei o bé no és vàlid
services_eport=Hi falta el port o bé és invàlid

protocols_title=Protocol de Xarxa Protocol
protocols_name=Nom del protocol
protocols_number=Número
protocols_aliases=Àlies
protocols_header=Opcions del protocol de xarxa
protocols_err=No he pogut desar el protocol
protocols_ename=Hi falta el nom o bé és invàlid
protocols_enumber=Hi falta el número o bé és invàlid

netgroup_title=Grup de Xarxa
netgroup_name=Nom del grup de xarxa
netgroup_members=Membres
netgroup_header=Detalls de grup de xarxa
netgroup_host=Host de membres
netgroup_user=Usuari
netgroup_domain=Domini NIS
netgroup_any=Qualsevol
netgroup_none=Cap
netgroup_err=No he pogut desar el grup de xarxa
netgroup_ename=Hi falta el nom del grup o bé no és vàlid
netgroup_ehost=Hi falta el host a la fila $1 o bé no és vàlid
netgroup_euser=Hi falta l'usuari o bé no és vàlid
netgroup_edom=Hi falta el domini NIS a la fila $1 o bé no és vàlid

ethers_title=Adreça Ethernet
ethers_mac=Adreça Ethernet
ethers_ip=Adreça IP
ethers_header=Opcions de mapejat Ethernet
ethers_err=No he pogut desar l'adreça Ethernet
ethers_emac=Adreça Ethernet invàlida
ethers_eip=Adreça IP invàlida

rpc_title=Programa RPC
rpc_name=Nom del programa
rpc_number=Número
rpc_aliases=Àlies
rpc_header=Detalls del programa RPC
rpc_err=No he pogut desar el programa RPC
rpc_ename=Hi falta el nom del programa o bé no és vàlid
rpc_enumber=Hi falta el número o bé no és vàlid

networks_title=Adreça de Xarxa
networks_ip=Adreça IP
networks_name=Nom de la xarxa
networks_header=Opcions de la xarxa i l'adreça
networks_err=No he pogut desar la xarxa
networks_eip=Hi falta l'adreça IP o bé no és vàlida
networks_ename=Hi falta el nom o bé no és vàlid
networks_aliases=Àlies

netmasks_net=Adreça de Xarxa
netmasks_mask=Màscara de subxarxa
netmasks_header=Detalls de la màscara
netmasks_err=No he pogut desar la màscara
netmasks_enet=Hi falta l'adreça de xarxa o bé no és vàlida
netmasks_emask=Hi falta la màscara de subxarxa o bé no és vàlida

aliases_title=Àlies Sendmail
aliases_from=Adreça
aliases_to=Alia a
aliases_header=Detalls de l'àlies sendmail
aliases_err=No he pogut desar l'àlies
aliases_efrom=Hi falta l'adreça o bé no és vàlida
aliases_eto=Hi falten les adreces de destinació

security_title=Seguretat del Servidor
security_header=Opcions de seguretat del servidor NIS
security_ok=Desa i Aplica
security_enis=No pots editar les opcions de seguretat NIS perquè la teva màquina no és en aquest moments un servidor NIS.
security_nets=Clients permesos
security_net=Adreça de xarxa/host
security_mask=Màscara de subxarxa
security_single=Un sol host
security_any=Qualsevol host
security_err=No he pogut desar la seguretat del servidor
security_enet='$1' no és una adreça de xarxa vàlida
security_emask='$1' no és una màscara de subxarxa vàlida
security_port=Els clients han d'estar en un port fiable
security_maps=Restriccions de mapa de clients
security_hosts=Hosts
security_map=Taules NIS
security_sec=Restricció
security_mangle=Manipula el camp
security_none=Cap
security_tall=Tots
security_sec_none=Cap
security_sec_port=Port fiable
security_sec_deny=Denega l'accés
security_sec_des=Exigeix DES
security_ehost='$1' no és un nom de host vàlid
security_emap='$1' no és una taula NIS vàlida
security_efield='$1' no és un número de camp vàlid


  07070100046bee000081a40000000000000002000000013d1fe2e300002316000000200000000000000000000000000000001200000003reloc/nis/lang/en index_title=NIS Client and Server
index_return=NIS menu
index_enis=Your machine does not appear to have NIS client or server support installed.

client_title=NIS Client
client_header=NIS client configuration
client_domain=NIS domain
client_none=None (NIS disabled)
client_servers=NIS servers
client_broadcast=Find by broadcast
client_listed=Listed below ..
client_boot=Enable NIS client?
client_ok=Save and Apply
client_err=Failed to save NIS client
client_edomain=Missing or invalid domain name
client_eserver='$1' is not a valid server name
client_eypwhich=failed to bind to NIS domain
client_ehosts='$1' is not in the hosts file

switch_title=Client Services
switch_service=Service
switch_order=Lookup sources ordering
switch_err=Failed to save client services
switch_eorder=Missing ordering for $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Files
order_db=DB Files
order_compat=NIS &amp; Files
order_hesiod=Hesiod
order_ldap=LDAP
order_user=User printers
order_xfn=XFN

server_title=NIS Server
server_header=NIS server options
server_boot=Enable NIS server?
server_slaves=Slave servers
server_domain=Serve NIS domain
server_type=Server type
server_master=Master NIS server
server_mheader=Master NIS server options
server_fheader=Master NIS files
server_slave=Slave of server
server_none=None
server_tables=NIS tables to serve
server_dns=Lookup missing hosts in DNS?
server_push=Push updates to slaves?
server_minuid=Minimum UID for 'Unix user' table records
server_mingid=Minimum GID for 'Unix group' table records
server_ok=Save and Apply
server_err=Failed to save NIS server
server_edomain='$1' is not a valid NIS domain
server_file=File for '$1'
server_domain_auto=Same as client
server_eminuid=Missing or invalid minimum UID
server_emingid=Missing or invalid minimum GID
server_efile=Missing filename for '$1'
server_eslave=Missing or invalid slave server
server_dir=NIS source files directory
server_pwdir=NIS password source files directory
server_already=NIS server already enabled
server_ebootdom=This NIS server cannot be enabled unless a domain is set.
server_solaris=Note - on Solaris, the client and server NIS domains are always the same, and the server cannot operate unless a domain is set.
server_edir=Invalid source files directory
server_epwdir=Invalid password source files directory
server_enis=Your machine does not appear to have NIS server support installed.

tables_title=NIS Tables
tables_switch=Edit NIS table :
tables_header=$1 NIS table from $2
tables_none=Table $1 contains no records.
tables_add=Add a new record
tables_ok=Save and Apply
tables_file=NIS records in $1
tables_return=NIS tables
tables_text=Edit table manually
tables_emaster=You cannot edit NIS tables because your system is not currently running as an master NIS server.
tables_eslave=You cannot edit NIS tables because your system is an NIS slave, which receives all tables from the master server.
tables_find=Find $1 where $2 matches $3
tables_search=Search
tables_nomatch=No records matched your search
tables_build=Rebuild NIS tables
tables_buildmsg=Click this button to rebuild the NIS databases from the table data. If you have made any changes, you will need to do this to make them available to NIS clients.

desc_aliases=Sendmail aliases
desc_mail=Sendmail aliases
desc_hosts=Host addresses
desc_group=Unix groups
desc_passwd=Unix users
desc_ethers=Ethernet addresses
desc_amd.home=Automounter home
desc_amd.master=Automounter maps
desc_auto_home=Automounter home
desc_auto_master=Automounter maps
desc_automount=Automounter maps
desc_netgroup=Netgroups
desc_netgrp=Netgroups
desc_netid=NetIDs
desc_networks=Network addresses
desc_protocols=Network protocols
desc_rpc=RPC programs
desc_services=Network services
desc_sendmailvars=Sendmail variables
desc_publickey=Public keys
desc_publickeys=Public keys
desc_bootparams=Boot parameters
desc_shadow=Unix shadow passwords
desc_gshadow=Unix group passwords
desc_netmasks=Netmasks
desc_printcap=Printers
desc_adjunct=Extra user information
desc_printers=Printers
desc_ipnodes=IP nodes
desc_timezone=Timezones
desc_locale=Locales
desc_auto_local=Automounter local

hosts_title=Host Address
hosts_ip=IP address
hosts_name=Hostname
hosts_header=Host and address options
hosts_err=Failed to save host
hosts_eip=Missing or invalid IP address
hosts_ename=Missing or invalid hostname
hosts_aliases=Aliases

group_name=Group name
group_gid=Group ID
group_members=Group members
group_title=Unix Group
group_header=Unix group details
group_pass=Password
group_none=No password required
group_encrypted=Pre-encrypted password
group_clear=Normal password
group_err=Failed to save group

passwd_name=Username
passwd_uid=User ID
passwd_real=Real name
passwd_home=Home directory
passwd_shell=Shell
passwd_title=Unix User
passwd_header1=User details
passwd_other=Other..
passwd_pass=Password
passwd_none1=Ask at first login
passwd_none2=No password required
passwd_nologin=No login allowed
passwd_encrypted=Pre-encrypted password
passwd_clear=Normal password
passwd_gid=Primary group ID
passwd_header2=Password Options
passwd_change=Password changed
passwd_never=Never
passwd_unknown=Unknown
passwd_expire=Expiry date
passwd_min=Minimum days
passwd_max=Maximum days
passwd_warn=Warning days
passwd_inactive=Inactive days
passwd_err=Failed to save user
passwd_ename=Missing or invalid username
passwd_euid=Missing or invalid UID
passwd_egid=Missing or invalid GID
passwd_ereal=Missing or invalid real name
passwd_ehome=Missing or invalid home directory
passwd_eshell=Missing or invalid shell
passwd_epass=Invalid pre-encrypted password
passwd_ewarn=Invalid number of warning days
passwd_emax=Invalid maximum number of days
passwd_emin=Invalid minimum number of days
passwd_einactive=Invalid number of inactive days
passwd_eexpiry=Invalid expiry date

services_name=Service name
services_proto=Protocol
services_port=Port
services_title=Network Service
services_header=Inetd network service options
services_err=Failed to save service
services_ename=Missing or invalid service name
services_eport=Missing or invalid port

protocols_name=Protocol name
protocols_number=Number
protocols_aliases=Aliases
protocols_title=Network Protocol
protocols_header=Network protocol options
protocols_err=Failed to save protocol
protocols_ename=Missing or invalid name
protocols_enumber=Missing or invalid number

netgroup_name=Netgroup name
netgroup_members=Members
netgroup_title=Network Group
netgroup_header=Network host group details
netgroup_host=Member host
netgroup_user=User
netgroup_domain=NIS domain
netgroup_any=Any
netgroup_none=None
netgroup_err=Failed to save netgroup
netgroup_ename=Missing or invalid netgroup name
netgroup_ehost=Missing or invalid host in row $1
netgroup_euser=Missing or invalid user in row $1
netgroup_edom=Missing or invalid NIS domain in row $1

ethers_mac=Ethernet address
ethers_ip=IP address
ethers_title=Ethernet Address
ethers_header=Ethernet mapping options
ethers_err=Failed to save ethernet address
ethers_emac=Invalid ethernet address
ethers_eip=Invalid IP address

rpc_name=Program name
rpc_number=Number
rpc_aliases=Aliases
rpc_title=RPC Program
rpc_header=RPC program details
rpc_err=Failed to save RPC program
rpc_ename=Missing or invalid program name
rpc_enumber=Missing or invalid number

networks_title=Network Address
networks_ip=IP address
networks_name=Network name
networks_header=Network and address options
networks_err=Failed to save network
networks_eip=Missing or invalid IP address
networks_ename=Missing or invalid name
networks_aliases=Aliases

netmasks_net=Network address
netmasks_mask=Netmask
netmasks_title=Netmask
netmasks_header=Network mask details
netmasks_err=Failed to save netmask
netmasks_enet=Missing or invalid network address
netmasks_emask=Missing or invalid netmask

aliases_from=Address
aliases_to=Alias to
aliases_title=Sendmail Alias
aliases_header=Sendmail alias details
aliases_err=Failed to save alias
aliases_efrom=Missing or invalid address
aliases_eto=Missing to addresses

security_title=Server Security
security_header=NIS server security options
security_ok=Save and Apply
security_enis=You cannot edit NIS security options because your machine is not currently running as an NIS server.
security_nets=Allowed clients
security_net=Network/host address
security_mask=Netmask
security_single=Single host
security_any=Any host
security_err=Failed to save server security
security_enet='$1' is not a valid network address
security_emask='$1' is not a valid netmask
security_port=Clients must be on trusted port?
security_maps=Client map restrictions
security_hosts=Hosts
security_map=NIS tables
security_sec=Restriction
security_mangle=Mangle field
security_none=None
security_tall=All
security_sec_none=None
security_sec_port=Trusted port
security_sec_deny=Deny access
security_sec_des=Require DES
security_ehost='$1' is not a valid hostname
security_emap='$1' is not a valid NIS table
security_efield='$1' is not a valid field number

  07070100046bf3000081a40000000000000002000000013d1fe2e30000263b000000200000000000000000000000000000001200000003reloc/nis/lang/es index_title=Cliente y Servidor NIS
index_return=menú NIS
index_enis=Tu máquina no parece tener instalado el soporte NIS de cliente o servidor.

client_title=Cliente NIS
client_header=Configuración de cliente NIS
client_domain=Dominio NIS
client_none=Ninguno (NIS desactivado)
client_servers=Servidores NIS
client_broadcast=Hallar mediante transmisión
client_listed=Listado debajo...
client_boot=¿Activo cliente NIS?
client_ok=Salvar y Aplicar
client_err=No pude salvar cliente NIS
client_edomain=Nombre de dominio falta o es inválido
client_eserver='$1' no es un nombre válido de servidor
client_eypwhich=no pude cambiar a dominio NIS
client_ehosts='$1' no está en el archivo de máquinas

switch_title=Servicios de Cliente
switch_service=Servicio
switch_order=Clasificación de fuentes de Búsqueda
switch_err=No pude salvar servicios de cliente
switch_eorder=Falta clasificación para $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Archivos
order_db=Archivos DB
order_compat=NIS &amp; Archivos
order_hesiod=Hesiod
order_ldap=LDAP
order_user=Impresoras de usuarios
order_xfn=XFN

server_title=Servidor NIS
server_header=Opciones de servidor NIS
server_boot=¿Activo servidor NIS?
server_slaves=Servidores esclavos
server_domain=Dominio de Servidor NIS
server_type=Tipo de servidor
server_master=Servidor maestro de NIS
server_mheader=Opciones de servidor maestro de NIS
server_fheader=Archivos de NIS maestro
server_slave=Esclavo del servidor
server_none=Ninguno
server_tables=Tablas NIS a servir
server_dns=¿Busco máquinas perdidas en DNS?
server_push=¿Pongo actualizaciones a esclavos?
server_minuid=UID mínima para registros de tabla de 'usuario Unix'
server_mingid=GID mínima para registros de tabla de 'grupo Unix'
server_ok=Salvar y Aplicar
server_err=No pude salvar servidor NIS
server_edomain='$1' no es un dominio NIS válido
server_file=Archivo para '$1'
server_domain_auto=Igual que el cliente
server_eminuid=UID mínima falta o es inválida
server_emingid=GID mínima falta o es inválida
server_efile=Falta nombre de archivo para '$1'
server_eslave=Servidor esclavo falta o es inválido
server_dir=Directorio de archivos fuentes de NIS
server_pwdir=Directorio de archivos fuente de clave de acceso de NIS
server_already=Servidor NIS ya activado
server_ebootdom=Este servidor NIS no puede ser activado a menos que se ponga un dominio.
server_solaris=Nota - en Solaris los dominios NIS de cliente y servidor son siempre los mismos y el servidor no puede operar a menos que se ponga un dominio.
server_edir=Directorio de archivos fuentes inválido
server_epwddir=Directorio de archivos fuentes de claves de acceso inválido
server_enis=Tu máquina no parece tener instalado soporte de servidor NIS.

tables_title=Tablas NIS
tables_switch=Editar tabla NIS:
tables_header=tabla de NIS $1 desde $2
tables_none=Tabla $1 no contiene registros.
tables_add=Añadir nuevo registro
tables_ok=Salvar y Aplicar
tables_file=Registros NIS en $1
tables_return=Tablas NIS
tables_text=Editar tabla a mano
tables_emaster=No puedes editar tablas NIS porque tu sistema no se está ejecutando como un servidor NIS maestro.
tables_eslave=No puedes editar tablas NIS porque tu sistema es un esclavo NIS el cual recibe todas las tabla desde un servidor maestro.

desc_aliases=Aliases de Sendmail
desc_mail=Aliases de Sendmail
desc_hosts=Direcciones de máquina
desc_group=Grupos de Unix
desc_passwd=Usuarios de Unix
desc_ethers=Direcciones Ethernet
desc_amd.home=Directorio inicial de Automounter
desc_amd.master=Mapas de Automounter
desc_auto_home=Directorio inicial de Automounter
desc_auto_master=Mapas de Automounter
desc_automount=Mapas de Automounter
desc_netgroup=Grupos de Red
desc_netgrp=Grupos de Red
desc_netid=IDs de Red
desc_networks=Direcciones de Red
desc_protocols=Protocolos de Red
desc_rpc=Programas RPC
desc_services=Servicios de Red
desc_sendmailvars=Variables de Sendmail
desc_publickey=Clave Pública
desc_publickeys=Claves Públicas
desc_bootparams=Parámetros de arranque
desc_shadow=Claves de acceso en la sombra de Unix
desc_gshadow=Claves de acceso de grupo de Unix
desc_netmasks=Máscaras de Red
desc_printcap=Impresoras
desc_adjunct=Información extra de usuario
desc_printers=Impresoras
desc_ipnodes=Nodos IP
desc_timezone=Zonas Horarias
desc_locale=Locales
desc_auto_local=Valor local de Automounter

hosts_title=Dirección de Máquina
hosts_ip=Direcciones IP
hosts_name=Nombre de máquina
hosts_header=Opciones de Maquina y de dirección
hosts_err=No pude salvar máquina
hosts_eip=Dirección IP falta o es inválida
hosts_ename=Nombre de máquina falta o es inválido
hosts_aliases=Aliases

group_name=Nombre de grupo
group_gid=ID de grupo
group_members=Miembros de grupo
group_title=Grupo de Unix
group_header=Detalles de grupo de Unix
group_pass=Clave de acceso
group_none=No es necesaria clave de acceso
group_encrypted=Clave de acceso pre-encriptada
group_clear=Clave de acceso normal
group_err=No pude salvar grupo

passwd_name=Nombre de usuario
passwd_uid=ID de Usuario
passwd_real=Nombre real
passwd_home=Directorio inicial
passwd_shell=Shell
passwd_title=Usuario de Unix
passwd_header1=Detalles de usuario
passwd_other=Otros...
passwd_pass=Clave de Acceso
passwd_none1=Pedir en primer login
passwd_none2=No es necesaria clave de acceso
passwd_nologin=No se permite login
passwd_encrypted=Clave de acceso pre-encriptada
passwd_clear=Clave de acceso normal
passwd_gid=ID de grupo primario
passwd_header2=Opciones de Clave de Acceso
passwd_change=Clave de Acceso cambió
passwd_never=Nunca
passwd_unknown=Desconocida
passwd_expire=Fecha de expiración
passwd_min=Días mínimos
passwd_max=Días máximos
passwd_warn=Días de aviso
passwd_inactive=Días inactivos
passwd_err=No pude salvar usuario
passwd_ename=Nombre de usuario falta o es inválido
passwd_euid=UID falta o es inválida
passwd_egid=GID falta o es inválida
passwd_ereal=Nombre real falta o es inválido
passwd_ehome=Directorio inicial falta o es inválido
passwd_eshell=Shell falta o es inválido
passwd_epass=Clave de acceso pre-encriptada inválida
passwd_ewarn=Número de días de aviso inválido
passwd_emax=Máximo número de días inválido
passwd_emin=Mínimo número de días inválido
passwd_einactive=Número de días inactivos inválido
passwd_eexpiry=Fecha de expiración inválida

services_name=Nombre de servicio
services_proto=Protocolo
services_port=Puerto
services_title=Servicio de Red
services_header=Opciones de servicio de red Inetd
services_err=No pude salvar servicio
services_ename=Nombre de servicio falta o es inválido
services_eport=Puerto falta o es inválido

protocols_name=Nombre de protocolo
protocols_number=Número
protocols_aliases=Aliases
protocols_title=Protocolo de Red
protocols_header=Opciones de protocolo de red
protocols_err=No pude salvar protocolo
protocols_ename=Nombre falta o es inválido
protocols_enumber=Número falta o es inválido

netgroup_name=Nombre de grupo de red
netgroup_members=Miembros
netgroup_title=Grupo de Red
netgroup_header=Detalles de grupo de máquinas de red
netgroup_host=Máquina de miembro
netgroup_user=Usuario
netgroup_domain=Dominio NIS
netgroup_any=Cualquiera
netgroup_none=Ninguno
netgroup_err=No pude salvar grupo de red
netgroup_ename=Nombre de grupo de red falta o es inválido
netgroup_ehost=Máquina en fila $1 falta o es inválida
netgroup_euser=Usuario en fila $1 falta o es inválido
netgroup_edom=Dominio NIS en fila $1 falta o es inválido

ethers_mac=Dirección Ethernet
ethers_ip=Dirección IP
ethers_title=Dirección Ethernet
ethers_header=Opciones de mapeo de Ethernet
ethers_err=No pude salvar dirección de ethernet
ethers_emac=Dirección de ethernet inválida
ethers_eip=Dirección IP inválida

rpc_name=Nombre de programa
rpc_number=Número
rpc_aliases=Aliases
rpc_title=Programa RPC
rpc_header=Detalle de programa RPC
rpc_err=No pude salvar programa RPC
rpc_ename=Nombre de programa falta o es inválido
rpc_enumber=Número falta o es inválido

networks_title=Dirección de Red
networks_ip=Dirección IP
networks_name=Nombre de red
networks_header=Opciones de Red y dirección
networks_err=No pude salvar la red
networks_eip=Dirección IP falta o es inválida
networks_ename=Nombre falta o es inválido
networks_aliases=Aliases

netmasks_net=Dirección de red
netmasks_mask=Máscara de red
netmasks_title=Máscara de red
netmasks_header=Detalles de máscara de red
netmasks_err=No pude salvar máscara de red
netmasks_enet=Dirección de red falta o es inválida
netmasks_emask=Máscara de red falta o es inválida

aliases_from=Dirección
aliases_to=Alias de
aliases_title=Alias de Sendmail
aliases_header=Detalles de alias de Sendmail
aliases_err=No pude salvar alias
aliases_efrom=Dirección falta o es inválida
aliases_eto=Faltan direcciones para

security_title=Seguridad del Servidor
security_header=Opciones de serguridad del servidor NIS
security_ok=Salvar y Aplicar
security_enis=No puedes editar las opciones de seguridad NIS poque tu máquina no se está ejecutando en este momento como un servidor NIS.
security_nets=Clientes autorizados
security_net=Dirección de Red/máquina
security_mask=Máscara de red
security_single=Máquina única
security_any=Cualquier máquina
security_err=No pude salvar seguridad del servidor
security_enet='$1' no es una dirección válida de red
security_emask='$1' no es una máscara de red válida
security_port=¿Los clientes deben de estar en puertos fiables?
security_maps=Restricciones de mapa de cliente
security_hosts=Máquinas
security_map=Tablas NIS
security_sec=Restricción
security_mangle=Campo estropeado
security_none=Ninguno
security_tall=Todos
security_sec_none=Ninguno
security_sec_port=Puerto fiable
security_sec_deny=Denegar acceso
security_sec_des=Requerir DES
security_ehost='$1' no es un nombre válido de máquina
security_emap='$1' no es una tabla de NIS válida
security_efield='$1' no es un número válido de campo

 07070100046bf6000081a40000000000000002000000013d1fe2e300002852000000200000000000000000000000000000001200000003reloc/nis/lang/fr index_title=Client et Serveur NIS
index_return=Menu NIS
index_enis=Il semble qu'aucun client ou serveur NIS n'a été installé sur votre machine.

client_title=Client NIS
client_header=Configuration du client NIS
client_domain=Domaine NIS
client_none=Aucun (NIS désactivé)
client_servers=Serveurs NIS
client_broadcast=Trouver par broadcast
client_listed=Listé ci-dessous ..
client_boot=Activer le client NIS ?
client_ok=Sauvegarder et actionner
client_err=Échec de la sauvegarde de la configuration du client NIS
client_edomain=Nom de domaine manquant ou incorrect
client_eserver='$1' n'est pas un nom de serveur valide
client_eypwhich=échec de l'attachement au domaine NIS
client_ehosts='$1' n'est pas présent dans le fichier hosts

switch_title=Services client
switch_service=Service
switch_order=Choix de l'ordre d'examen des sources
switch_err=Échec de la sauvegarde de la configuration des services client
switch_eorder=Ordre manquant pour $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Fichiers
order_db=Fichiers DB
order_compat=NIS &amp; Fichiers
order_hesiod=Hesiod
order_ldap=LDAP
order_user=Imprimantes utilisateur
order_xfn=XFN

server_title=Serveur NIS
server_header=Option du serveur NIS
server_boot=Activer le serveur NIS ?
server_slaves=Serveurs esclaves
server_domain=Servir des domaines NIS
server_type=Type de serveur
server_master=Serveur NIS maître 
server_mheader=Options du serveur NIS maître
server_fheader=Fichier NIS maîtres
server_slave=Esclave du serveur
server_none=Aucun
server_tables=Tables NIS à servir
server_dns=Rechercher dans le DNS les machines manquantes ?
server_push=Envoyer aux esclaves les mises à jour ?
server_minuid=UID minimum des enregistrement de la table des 'Utilisateurs unix'
server_mingid=GID minimum des enregistrement de la table des 'Groupes unix'
server_ok=Sauvegarder et actionner
server_err=Échec de la sauvegarde des paramètres du serveur NIS
server_edomain='$1' n'est pas un domaine NIS valide
server_file=Fichier de '$1'
server_domain_auto=Le même que le client
server_eminuid=UIG minimum manquant ou invalide
server_emingid=GID minimu manquant ou invalide
server_efile=Fichier de '$1' manquant
server_eslave=Serveur esclave manquant ou invalide

server_dir=Répertoire des fichiers de sources NIS
server_pwdir=Répertoire des fichiers de mots de passe source NIS
server_already=Serveur NIS déjà activé
server_ebootdom=Ce serveur NIS ne peut être activé que si le domaine est configuré
server_solaris=Note - sur Solaris, le domaine du client et du serveur NIS sont toujours les mêmes, et le serveur ne peut fonctionner que si le domaine est configuré.
server_edir=Répertoire de fichiers de sources invalide.
server_epwdir=Répertoire de fichiers de mots de passes de sources invalide
server_enis=Il semble qu'aucun serveur NIS n'ait été installé sur votre machine.

tables_title=Tables NIS
tables_switch=Éditez la table NIS :
tables_header=Table NIS des $1 de $2
tables_none=La table des $1 ne contient aucun enregistrement.
tables_add=Ajouter un nouvel enregistrement
tables_ok=Sauvegarder et actionner
tables_file=Enregistrement NIS dans $1
tables_return=Tables NIS
tables_text=Éditez la table manuellement
tables_emaster=Vous ne pouvez pas éditer les tables NIS car aucun serveur NIS maître ne fonctionne sur votre système actuellement.
tables_eslave=Vous ne pouvez pas éditer les tables NIS car votre système est un esclave NIS, qui reçoit toutes les tables du serveur maître.

desc_aliases=Alias Sendmail
desc_mail=Alias Sendmail
desc_hosts=Adresses de machines
desc_group=Groupe Unix
desc_passwd=Utilisateur Unix
desc_ethers=Adresses Ethernet
desc_amd.home=Automounter home
desc_amd.master=Automounter maps
desc_auto_home=Automounter home
desc_auto_master=Automounter maps
desc_automount=Automounter maps
desc_netgroup=Groupes réseau
desc_netgrp=Groupes réseau
desc_netid=NetID
desc_networks=Adresse réseau
desc_protocols=Protocoles réseau
desc_rpc=Programmes RPC
desc_services=Services réseau
desc_sendmailvars=Variables de Sendmail
desc_publickey=Clé publiques
desc_publickeys=Clé publiques
desc_bootparams=Paramètres de démarrage
desc_shadow=Mot de passe shadow Unix
desc_gshadow=Mot de passes des groupes Unix
desc_netmasks=Masques de réseau
desc_printcap=Imprimantes
desc_adjunct=Informations additionnelles sur l'utilisateur
desc_printers=Imprimantes
desc_ipnodes=Noeuds IP
desc_timezone=Zones temporelles (Timezones)
desc_locale=Locales
desc_auto_local=Automounter local

hosts_title=Adresse de la machine
hosts_ip=Adresse IP
hosts_name=Nom de machine
hosts_header=Options de machines et d'adresses
hosts_err=Échec de la sauvegarde de la configuration de la machine
hosts_eip=Adresse IP manquante ou invalide
hosts_ename=Nom de machine manquant ou invalide
hosts_aliases=Alias

group_name=Nom de groupe
group_gid=ID de groupe
group_members=Membres du groupe
group_title=Groupe Unix
group_header=Précisions sur le groupe Unix
group_pass=Mot de passe
group_none=Aucun mot de passe nécessaire
group_encrypted=Mot de passe préencrypté
group_clear=Mot de passe normal
group_err=Échec de la sauvegarde de la configuration du groupe

passwd_name=Nom d'utilisateur
passwd_uid=ID d'utilisateur
passwd_real=Identité
passwd_home=Répertoire personnel (Home)
passwd_shell=Shell
passwd_title=Utilisateur Unix
passwd_header1=Précisions sur l'utilisateur
passwd_other=Autre..
passwd_pass=Mot de passe
passwd_none1=Demander au premier login
passwd_none2=Aucun mot de passe nécessaire
passwd_nologin=Login non autorisé
passwd_encrypted=Mot de passe préencrypté
passwd_clear=Mot de passe normal
passwd_gid=ID de groupe primaire
passwd_header2=Options de mot de passe
passwd_change=Mot de passe modifié
passwd_never=Jamais
passwd_unknown=Inconnu
passwd_expire=Date d'expiration
passwd_min=Jours minimum
passwd_max=Jours maximum
passwd_warn=Jours d'avertissement
passwd_inactive=Jours d'inativité
passwd_err=Échec de la sauvegarde de la configuration d'utilisateur
passwd_ename=Nom d'utilisateur manquat ou invalide
passwd_euid=UID manquant ou invalide
passwd_egid=GID manquant ou invalide
passwd_ereal=Identité manquante ou invalide
passwd_ehome=Répertoire personnel (home) manquant ou invalide
passwd_eshell=Shell manquant ou invalide
passwd_epass=Mot de passe préencrypté invalide
passwd_ewarn=Nombre de jours d'avertissement invalide
passwd_emax=Nombre maximum de jours invalide
passwd_emin=Nombre minimum de jours invalide
passwd_einactive=Nombre de jours d'inactivité invalide
passwd_eexpiry=Date d'expiration ivalide

services_name=Nom de service
services_proto=Protocole
services_port=Port
services_title=Service réseau
services_header=Options de service réseau inetd
services_err=Échec de la sauvegarde de la configuration du service
services_ename=Nom de service manquant ou invalide
services_eport=Port manquant ou invalide

protocols_name=Nom de protocole
protocols_number=Numéro
protocols_aliases=Alias
protocols_title=Protocole réseau
protocols_header=Options de protocole réseau
protocols_err=Échec de la sauvegarde de la configuration du protocole
protocols_ename=Nom manquant ou invalide
protocols_enumber=Numéro manquant ou invalide

netgroup_name=Nom de groupe réseau
netgroup_members=Membres
netgroup_title=Groupe réseau
netgroup_header=Précisions sur les groupes de machines sur le réseau
netgroup_host=Machine membre
netgroup_user=Utilisateur
netgroup_domain=Domaine NIS
netgroup_any=Quelconque
netgroup_none=Aucun
netgroup_err=Échec de la sauvegarde de la configuration du groupe réseau
netgroup_ename=Nom de groupe réseau manquant ou invalide
netgroup_ehost=Nom de machine manquant ou invalide à la ligne $1
netgroup_euser=Utilisateur manquant ou invalide à la ligne $1
netgroup_edom=Domaine NIS manquant ou invalide à la ligne $1

ethers_mac=Adresse ethernet
ethers_ip=Adresse IP
ethers_title=Adresse ethernet
ethers_header=Option de correspondance des adresses ethernet
ethers_err=Échec de la sauvegarde de la configuration de l'adresse ethernet
ethers_emac=Adresse ethernet invalide
ethers_eip=Adresse IP invalide

rpc_name=Nom de programme
rpc_number=Numéro
rpc_aliases=Alias
rpc_title=Programme RPC
rpc_header=Précisions sur le programme RPC
rpc_err=Échec de la sauvegarde de la configuration du programme RPC
rpc_ename=Nom de programme manquant ou invalide
rpc_enumber=Numéro manquant ou invalide

networks_title=Adresse du réseau
networks_ip=Adresse IP
networks_name=Nom du réseau
networks_header=Options de réseau et d'adresse
networks_err=Échec de la sauvegarde des paramètres réseau
networks_eip=Adresse IP manquante ou invalide
networks_ename=Nom manquant ou invalide
networks_aliases=Alias

netmasks_net=Adresse réseau
netmasks_mask=Masque de réseau
netmasks_title=Masque de réseau
netmasks_header=Précision des masques de réseau
netmasks_err=Échec de la sauvegarde du masque de réseau
netmasks_enet=Adresse réseau manquante ou invalide
netmasks_emask=Manque de réseau manquant ou invalide

aliases_from=Adresse
aliases_to=Alias to
aliases_title=Alias de Sendmail
aliases_header=Précision des alias de Sendmail
aliases_err=Échec de la sauvegarde de l'alias
aliases_efrom=Adresses manquantes ou invalides
aliases_eto=Adresses to manquantes

security_title=Sécurité du serveur
security_header=Options de sécurité du serveur NIS
security_ok=Sauvegarder et actionner
security_enis=Vous ne pouvez pas éditer les options de sécurité de NIS car aucun serveur NIS ne fonctionne sur votre machine actuellement.
security_nets=Clients autorisés
security_net=Réseau/adresses de machines
security_mask=Masque de réseau
security_single=Unique machine
security_any=N'importe quelle machine
security_err=Échec de la sauvegarde des informations de sécurité du serveur
security_enet='$1' n'est pas une adresse réseau valide
security_emask='$1' n'est pas un masque de réseau valide
security_port=Les clients doivent-ils utiliser un port de confiance ?
security_maps=Schéma des restrictions client
security_hosts=Machines
security_map=Tables NIS
security_sec=Restriction
security_mangle=Champ mangle
security_none=Aucun
security_tall=Toutes

security_sec_none=Aucune
security_sec_port=Port de confiance
security_sec_deny=Refuser l'accès
security_sec_des=Exiger DES
security_ehost='$1' n'est pas un nom de machine valide
security_emap='$1' n'est pas une table NIS valide
security_efield='$1' n'est pas un numéro de champ valide

  07070100046bf7000081a40000000000000002000000013d1fe2e300002477000000200000000000000000000000000000001900000003reloc/nis/lang/ja_JP.euc  index_title=NIS ¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð
index_return=NIS ¥á¥Ë¥å¡¼
index_enis=¤´»ÈÍÑ¤Î¥Þ¥·¥ó¤Ë¤Ï NIS ¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥µ¡¼¥Ð¤Î¥µ¥Ý¡¼¥È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£

client_title=NIS ¥¯¥é¥¤¥¢¥ó¥È
client_header=NIS ¥¯¥é¥¤¥¢¥ó¥ÈÀßÄê
client_domain=NIS ¥É¥á¥¤¥ó
client_none=¤Ê¤· (NIS Ìµ¸ú)
client_servers=NIS ¥µ¡¼¥Ð
client_broadcast=¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤Ç¸¡º÷
client_listed=²¼¤Ë¥ê¥¹¥È ..
client_boot=NIS ¥¯¥é¥¤¥¢¥ó¥È¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
client_ok=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
client_err=NIS ¥¯¥é¥¤¥¢¥ó¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
client_edomain=¥É¥á¥¤¥óÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
client_eserver='$1' ¤ÏÌµ¸ú¤Ê¥µ¡¼¥ÐÌ¾¤Ç¤¹
client_eypwhich=NIS ¥É¥á¥¤¥ó¤ò¥Ð¥¤¥ó¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
client_ehosts='$1' ¤Ï¥Û¥¹¥È ¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤»¤ó

switch_title=¥¯¥é¥¤¥¢¥ó¥È ¥µ¡¼¥Ó¥¹
switch_service=¥µ¡¼¥Ó¥¹
switch_order=¥½¡¼¥¹½ç¤Î¸¡º÷
switch_err=¥¯¥é¥¤¥¢¥ó¥È ¥µ¡¼¥Ó¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
switch_eorder=$1 ¤Î½ç½ø¤¬¤¢¤ê¤Þ¤»¤ó

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=¥Õ¥¡¥¤¥ë
order_db=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥Õ¥¡¥¤¥ë
order_compat=NIS &amp; ¥Õ¥¡¥¤¥ë
order_hesiod=Hesiod
order_ldap=LDAP
order_user=¥æ¡¼¥¶ ¥×¥ê¥ó¥¿
order_xfn=XFN

server_title=NIS ¥µ¡¼¥Ð
server_header=NIS ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó
server_boot=NIS ¥µ¡¼¥Ð¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
server_slaves=¥¹¥ì¡¼¥Ö ¥µ¡¼¥Ð
server_domain=NIS ¥É¥á¥¤¥ó¤ò¼Â¹Ô
server_type=¥µ¡¼¥Ð¤Î¼ïÎà
server_master=¥Þ¥¹¥¿¡¼ NIS ¥µ¡¼¥Ð
server_mheader=¥Þ¥¹¥¿¡¼ NIS ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó
server_fheader=¥Þ¥¹¥¿¡¼ NIS ¥Õ¥¡¥¤¥ë
server_slave=¥µ¡¼¥Ð¤Î¥¹¥ì¥¤¥Ö
server_none=¤Ê¤·
server_tables=¼Â¹Ô¤¹¤ë NIS ¥Æ¡¼¥Ö¥ë
server_dns=·çÍî¤·¤Æ¤¤¤ë¥Û¥¹¥È¤ò DNS ¤Ç¸¡º÷¤·¤Þ¤¹¤«¡©
server_push=¥¹¥ì¥¤¥Ö¤Ë¥×¥Ã¥·¥å¤ò¹¹¿·¤·¤Þ¤¹¤«¡©
server_minuid='Unix user' ¥Æ¡¼¥Ö¥ë ¥ì¥³¡¼¥É¤ÎºÇ¾® UID
server_mingid='Unix group' ¥Æ¡¼¥Ö¥ë ¥ì¥³¡¼¥É¤ÎºÇ¾® UID
server_ok=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
server_err=NIS¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
server_edomain='$1' ¤ÏÌµ¸ú¤Ê NIS ¥É¥á¥¤¥ó¤Ç¤¹
server_file='$1' ÍÑ¤Î¥Õ¥¡¥¤¥ë
server_domain_auto=¥¯¥é¥¤¥¢¥ó¥È¤ÈÆ±¤¸
server_eminuid=UID ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
server_emingid=GID ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
server_efile='$1' ¤Î¥Õ¥¡¥¤¥ëÌ¾¤¬¤¢¤ê¤Þ¤»¤ó
server_eslave=¥¹¥ì¥¤¥Ö ¥µ¡¼¥Ð¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
server_dir=NIS ¥½¡¼¥¹ ¥Õ¥¡¥¤¥ë ¥Ç¥£¥ì¥¯¥È¥ê
server_pwdir=NIS ¥Ñ¥¹¥ï¡¼¥É ¥½¡¼¥¹ ¥Õ¥¡¥¤¥ë ¥Ç¥£¥ì¥¯¥È¥ê
server_already=NIS ¥µ¡¼¥Ð¤Ï¤¹¤Ç¤ËÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹
server_ebootdom=¤³¤Î NIS ¥µ¡¼¥Ð¤Ï¥É¥á¥¤¥ó¤òÀßÄê¤·¤Ê¤¤¤ÈÍ­¸ú¤Ë¤Ê¤ê¤Þ¤»¤ó
server_solaris=Ãí°Õ - Solaris ¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð NIS ¥É¥á¥¤¥ó¤Ï¾ï¤ËÆ±¤¸¤Ç¡¢¥É¥á¥¤¥ó¤òÀßÄê¤·¤Ê¤¤¤È¥µ¡¼¥Ð¤òÁàºî¤Ç¤­¤Þ¤»¤ó¡£
server_none=¤Ê¤·
server_edir=Ìµ¸ú¤Ê¥½¡¼¥¹ ¥Õ¥¡¥¤¥ë ¥Ç¥£¥ì¥¯¥È¥ê
server_edir=Ìµ¸ú¤Ê¥Ñ¥¹¥ï¡¼¥É ¥½¡¼¥¹ ¥Õ¥¡¥¤¥ë ¥Ç¥£¥ì¥¯¥È¥ê
server_enis=¤´»ÈÍÑ¤Î¥Þ¥·¥ó¤Ë¤Ï NIS¥µ¡¼¥Ð¤Î¥µ¥Ý¡¼¥È¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£

tables_title=NIS ¥Æ¡¼¥Ö¥ë
tables_switch=NIS ¥Æ¡¼¥Ö¥ë¤ÎÊÔ½¸:
tables_header=$2 ¤«¤é¤Î$1 NIS ¥Æ¡¼¥Ö¥ë
tables_none=¥Æ¡¼¥Ö¥ë $1 ¤Ë¤Ï¥ì¥³¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó¡£
tables_add=¿·µ¬¤Î¥ì¥³¡¼¥É¤òÄÉ²Ã
tables_ok=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
tables_file=$1 ¤Î NIS ¥ì¥³¡¼¥É
tables_return=NIS ¥Æ¡¼¥Ö¥ë
tables_text=¥Æ¡¼¥Ö¥ë¤ò¼êÆ°¤ÇÊÔ½¸
tables_emaster=¥·¥¹¥Æ¥à¤Ï¸½ºß ¥Þ¥¹¥¿¡¼ NIS ¥µ¡¼¥Ð¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢NIS ¥Æ¡¼¥Ö¥ë¤òÊÔ½¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
tables_eslave=¥·¥¹¥Æ¥à¤Ï¸½ºß ¥Þ¥¹¥¿¡¼ ¥µ¡¼¥Ð¤«¤é¤¹¤Ù¤Æ¤Î¥Æ¡¼¥Ö¥ë¤ò¼õ¤±¼è¤ë NIS ¥¹¥ì¥¤¥Ö¤Ê¤Î¤Ç NIS ¥Æ¡¼¥Ö¥ë¤òÊÔ½¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£

desc_aliases=sendmail ¥¨¥¤¥ê¥¢¥¹
desc_mail=sendmail ¥¨¥¤¥ê¥¢¥¹
desc_hosts=¥Û¥¹¥È ¥¢¥É¥ì¥¹
desc_group=Unix ¥°¥ë¡¼¥×
desc_passwd=Unix ¥æ¡¼¥¶
desc_ethers=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹
desc_amd.home=Automounter ¥Û¡¼¥à
desc_amd.master=Automounter ¥Þ¥Ã¥×
desc_auto_home=Automounter ¥Û¡¼¥à
desc_auto_master=Automounter ¥Þ¥Ã¥×
desc_automount=Automounter ¥Þ¥Ã¥×
desc_netgroup=Netgroups
desc_netgrp=Netgroups
desc_netid=NetID
desc_networks=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹
desc_protocols=¥Í¥Ã¥È¥ï¡¼¥¯ ¥×¥í¥È¥³¥ë
desc_rpc=RPC ¥×¥í¥°¥é¥à
desc_services=¥Í¥Ã¥È¥ï¡¼¥¯ ¥µ¡¼¥Ó¥¹
desc_sendmailvars=sendmail ÊÑ¿ô
desc_publickey=¥Ñ¥Ö¥ê¥Ã¥¯ ¥­¡¼
desc_publickeys=¥Ñ¥Ö¥ê¥Ã¥¯ ¥­¡¼
desc_bootparams=µ¯Æ° ¥Ñ¥é¥á¡¼¥¿
desc_shadow=Unix ¥·¥ã¥É¡¼ ¥Ñ¥¹¥ï¡¼¥É
desc_gshadow=Unix ¥°¥ë¡¼¥× ¥Ñ¥¹¥ï¡¼¥É
desc_netmasks=¥Í¥Ã¥È¥Þ¥¹¥¯
desc_printcap=¥×¥ê¥ó¥¿
desc_adjunct=¥æ¡¼¥¶¾ðÊó¤òÃê½Ð
desc_printers=¥×¥ê¥ó¥¿
desc_ipnodes=IP ¥Î¡¼¥É
desc_timezone=¥¿¥¤¥à¥¾¡¼¥ó
desc_locale=¥í¥±¡¼¥ë
desc_auto_local=Automounter ¥í¡¼¥«¥ë

hosts_title=¥Û¥¹¥È ¥¢¥É¥ì¥¹
hosts_ip=IP ¥¢¥É¥ì¥¹
hosts_name=¥Û¥¹¥ÈÌ¾
hosts_header=¥Û¥¹¥È¤È¥¢¥É¥ì¥¹¤Î¥ª¥×¥·¥ç¥ó
hosts_err=¥Û¥¹¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
hosts_eip=IP ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
hosts_ename=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
hosts_aliases=¥¨¥¤¥ê¥¢¥¹

group_name=¥°¥ë¡¼¥×Ì¾
group_gid=¥°¥ë¡¼¥× ID
group_members=¥°¥ë¡¼¥× ¥á¥ó¥Ð¡¼
group_title=Unix ¥°¥ë¡¼¥×
group_header=Unix ¥°¥ë¡¼¥×¤Î¾ÜºÙ
group_pass=¥Ñ¥¹¥ï¡¼¥É
group_members=¥á¥ó¥Ð¡¼
group_none=¥Ñ¥¹¥ï¡¼¥É¤ÏÉÔÍ×¤Ç¤¹
group_encrypted=»öÁ°¤Ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É
group_clear=É¸½à¥Ñ¥¹¥ï¡¼¥É
group_err=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

passwd_name=¥æ¡¼¥¶Ì¾
passwd_uid=¥æ¡¼¥¶ ID
passwd_real=¼ÂÌ¾
passwd_home=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê
passwd_shell=¥·¥§¥ë
passwd_title=Unix ¥æ¡¼¥¶
passwd_header1=¥æ¡¼¥¶¤Î¾ÜºÙ
passwd_other=¤½¤ÎÂ¾..
passwd_pass=¥Ñ¥¹¥ï¡¼¥É
passwd_none1=ºÇ½é¤Î¥í¥°¥¤¥ó¤ÇÆþÎÏ
passwd_none2=¥Ñ¥¹¥ï¡¼¥É¤òÉÔÍ×¤Ë¤¹¤ë
passwd_nologin=¥í¥°¥¤¥ó¤òµö²Ä¤·¤Ê¤¤
passwd_encrypted=»öÁ°¤Ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É
passwd_clear=É¸½à¥Ñ¥¹¥ï¡¼¥É
passwd_gid=¼çÍ×¥°¥ë¡¼¥× ID
passwd_header2=¥Ñ¥¹¥ï¡¼¥É ¥ª¥×¥·¥ç¥ó
passwd_change=¥Ñ¥¹¥ï¡¼¥É¤òÊÑ¹¹¤·¤Þ¤·¤¿
passwd_never=¤Ê¤·
passwd_unknown=ÉÔÌÀ
passwd_expire=Í­¸ú´ü¸Â¤ÎÆü»þ
passwd_min=ºÇ¾®Æü¿ô
passwd_max=ºÇÂçÆü¿ô
passwd_warn=·Ù¹ðÆü¿ô
passwd_inactive=Èó¥¢¥¯¥Æ¥£¥ÖÆü¿ô
passwd_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
passwd_ename=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_euid=UID ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_egid=GID ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_ereal=¼ÂÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_ehome=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_eshell=¥·¥§¥ë¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
passwd_epass=»öÁ°¤Ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤¬Ìµ¸ú¤Ç¤¹
passwd_ewarn=·Ù¹ðÆü¿ô¤¬Ìµ¸ú¤Ç¤¹
passwd_emax=ºÇÂçÆü¿ô¤¬Ìµ¸ú¤Ç¤¹
passwd_emin=ºÇ¾®Æü¿ô¤¬Ìµ¸ú¤Ç¤¹
passwd_einactive=Èó¥¢¥¯¥Æ¥£¥ÖÆü¿ô¤¬Ìµ¸ú¤Ç¤¹
passwd_eexpiry=Í­¸ú´ü¸Â¤¬Ìµ¸ú¤Ç¤¹

services_name=¥µ¡¼¥Ó¥¹Ì¾
services_proto=¥×¥í¥È¥³¥ë
services_port=¥Ý¡¼¥È
services_title=¥Í¥Ã¥È¥ï¡¼¥¯ ¥µ¡¼¥Ó¥¹
services_header=Inetd ¥Í¥Ã¥È¥ï¡¼¥¯ ¥µ¡¼¥Ó¥¹ ¥ª¥×¥·¥ç¥ó
services_err=¥µ¡¼¥Ó¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
services_ename=¥µ¡¼¥Ó¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
services_eport=¥Ý¡¼¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

protocols_name=¥×¥í¥È¥³¥ëÌ¾
protocols_number=¿ô
protocols_aliases=¥¨¥¤¥ê¥¢¥¹
protocols_title=¥Í¥Ã¥È¥ï¡¼¥¯ ¥×¥í¥È¥³¥ë
protocols_header=¥Í¥Ã¥È¥ï¡¼¥¯ ¥×¥í¥È¥³¥ë¤Î¥ª¥×¥·¥ç¥ó
protocols_err=¥×¥í¥È¥³¥ë¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
protocols_ename=¥×¥í¥È¥³¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
protocols_enumber=¥×¥í¥È¥³¥ëÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

netgroup_name=Netgroup Ì¾
netgroup_members=¥á¥ó¥Ð¡¼
netgroup_title=¥Í¥Ã¥È¥ï¡¼¥¯ ¥°¥ë¡¼¥×
netgroup_header=¥Í¥Ã¥È¥ï¡¼¥¯ ¥Û¥¹¥È ¥°¥ë¡¼¥×¤Î¾ÜºÙ
netgroup_host=¥á¥ó¥Ð¡¼ ¥Û¥¹¥È
netgroup_user=¥æ¡¼¥¶
netgroup_domain=NIS ¥É¥á¥¤¥ó
netgroup_any=Ç¤°Õ
netgroup_none=¤Ê¤·
netgroup_err=netgroup ¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
netgroup_ename=netgroupÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
netgroup_ehost=¹Ô $1 ¤Î¥Û¥¹¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
netgroup_euser=¹Ô $1 ¤Î¥æ¡¼¥¶¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
netgroup_edom=¹Ô $1 ¤Î NIS ¥É¥á¥¤¥ó¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

ethers_mac=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹
ethers_ip=IP ¥¢¥É¥ì¥¹
ethers_title=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹
ethers_header=¥¤¡¼¥µ¥Í¥Ã¥È ¥Þ¥Ã¥Ô¥ó¥° ¥ª¥×¥·¥ç¥ó
ethers_err=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ethers_emac=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹¤¬Ìµ¸ú¤Ç¤¹
ethers_eip=IP ¥¢¥É¥ì¥¹¤¬Ìµ¸ú¤Ç¤¹

rpc_name=¥×¥í¥°¥é¥àÌ¾
rpc_number=¥×¥í¥°¥é¥àÈÖ¹æ
rpc_aliases=¥¨¥¤¥ê¥¢¥¹
rpc_title=RPC ¥×¥í¥°¥é¥à
rpc_header=RPC ¥×¥í¥°¥é¥à¤Î¾ÜºÙ
rpc_err=RPC ¥×¥í¥°¥é¥à¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
rpc_ename=¥×¥í¥°¥é¥àÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
rpc_enumber=¥×¥í¥°¥é¥àÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

networks_title=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹
networks_ip=IP ¥¢¥É¥ì¥¹
networks_name=¥Í¥Ã¥È¥ï¡¼¥¯Ì¾
networks_header=¥Í¥Ã¥È¥ï¡¼¥¯¤È¥¢¥É¥ì¥¹¤Î¥ª¥×¥·¥ç¥ó
networks_err=¥Í¥Ã¥È¥ï¡¼¥¯¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
networks_eip=IP ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
networks_ename=¥Í¥Ã¥È¥ï¡¼¥¯Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
networks_aliases=¥¨¥¤¥ê¥¢¥¹

netmasks_net=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹
netmasks_mask=¥Í¥Ã¥È¥Þ¥¹¥¯
netmasks_title=¥Í¥Ã¥È¥Þ¥¹¥¯
netmasks_header=¥Í¥Ã¥È¥ï¡¼¥¯ ¥Þ¥¹¥¯¤Î¾ÜºÙ
netmasks_err=¥Í¥Ã¥È¥Þ¥¹¥¯¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
netmasks_enet=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
netmasks_emask=¥Í¥Ã¥È¥Þ¥¹¥¯¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

aliases_from=¥¢¥É¥ì¥¹
aliases_to=¥¨¥¤¥ê¥¢¥¹
aliases_title=sendmail ¥¨¥¤¥ê¥¢¥¹
aliases_header=sendmail ¥¨¥¤¥ê¥¢¥¹¤Î¾ÜºÙ
aliases_err=¥¨¥¤¥ê¥¢¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
aliases_efrom=¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
aliases_eto=To ¡Ê°¸Àè¡Ë¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó

security_title=¥µ¡¼¥Ð ¥»¥­¥å¥ê¥Æ¥£
security_header=NIS ¥µ¡¼¥Ð ¥»¥­¥å¥ê¥Æ¥£ ¥ª¥×¥·¥ç¥ó
security_ok=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
security_enis=¤´»ÈÍÑ¤Î¥Þ¥·¥ó¤Ï¸½ºßNIS ¥µ¡¼¥Ð¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤¿¤á¡¢NIS ¥»¥­¥å¥ê¥Æ¥£ ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£
security_nets=µö²Ä¤µ¤ì¤¿¥¯¥é¥¤¥¢¥ó¥È
security_net=¥Í¥Ã¥È¥ï¡¼¥¯/¥Û¥¹¥È ¥¢¥É¥ì¥¹
security_mask=¥Í¥Ã¥È¥Þ¥¹¥¯
security_single=Ã±°ì¥Û¥¹¥È
security_any=Ç¤°Õ¤Î¥Û¥¹¥È
security_err=¥µ¡¼¥Ð ¥»¥­¥å¥ê¥Æ¥£¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
security_enet='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¹
security_emask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
security_port=¥¯¥é¥¤¥¢¥ó¥È¤Ï¥È¥é¥¹¥Æ¥Ã¥É ¥Ý¡¼¥È¤Î¤ß¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
security_maps=¥¯¥é¥¤¥¢¥ó¥È ¥Þ¥Ã¥×¤ÎÀ©¸Â
security_hosts=¥Û¥¹¥È
security_map=NIS ¥Æ¡¼¥Ö¥ë
security_sec=À©¸Â
security_mangle=¥Þ¥ó¥°¥ë ¥Õ¥£¡¼¥ë¥É
security_none=¤Ê¤·
security_tall=¤¹¤Ù¤Æ
security_sec_none=¤Ê¤·
security_sec_port=¥È¥é¥¹¥Æ¥Ã¥É ¥Ý¡¼¥È
security_sec_deny=¥¢¥¯¥»¥¹¤òµñÈÝ
security_sec_des=DES ¤¬É¬Í×
security_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
security_emap='$1' ¤ÏÌµ¸ú¤Ê NIS ¥Æ¡¼¥Ö¥ë¤Ç¤¹
security_efield='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ¤Ç¤¹

 07070100046bf9000081a40000000000000002000000013d1fe2e3000020ee000000200000000000000000000000000000001900000003reloc/nis/lang/ko_KR.euc  index_title=NIS Å¬¶óÀÌ¾ðÆ® ¹× ¼­¹ö
index_return=NIS ¸Þ´º
index_enis=½Ã½ºÅÛ¿¡ NIS Å¬¶óÀÌ¾ðÆ® ¶Ç´Â ¼­¹ö Áö¿ø ±â´ÉÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

client_title=NIS Å¬¶óÀÌ¾ðÆ®
client_header=NIS Å¬¶óÀÌ¾ðÆ® ±¸¼º
client_domain=NIS µµ¸ÞÀÎ
client_none=¾øÀ½(NIS »ç¿ë ºÒ´É)
client_servers=NIS ¼­¹ö
client_broadcast=ºê·ÎµåÄ³½ºÆ®·Î Ã£±â
client_listed=¾Æ·¡¿¡ ³ª¿­µÈ Ç×¸ñ..
client_boot=NIS Å¬¶óÀÌ¾ðÆ®¸¦ »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
client_ok=ÀúÀå ¹× Àû¿ë
client_err=NIS Å¬¶óÀÌ¾ðÆ®¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
client_edomain=¾ø°Å³ª Àß¸øµÈ µµ¸ÞÀÎ ÀÌ¸§
client_eserver='$1'Àº(´Â) À¯È¿ÇÑ ¼­¹ö ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
client_eypwhich=NIS µµ¸ÞÀÎ¿¡ ¹ÙÀÎµåÇÏÁö ¸øÇß½À´Ï´Ù
client_ehosts='$1'ÀÌ(°¡) È£½ºÆ® ÆÄÀÏ¿¡ ¾ø½À´Ï´Ù

switch_title=Å¬¶óÀÌ¾ðÆ® ¼­ºñ½º
switch_service=¼­ºñ½º
switch_order=Á¶È¸ ¼ø¼­
switch_err=Å¬¶óÀÌ¾ðÆ® ¼­ºñ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
switch_eorder=$1ÀÇ ¼ø¼­ ¾øÀ½

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=ÆÄÀÏ
order_db=DB ÆÄÀÏ
order_compat=NIS ¹× ÆÄÀÏ
order_hesiod=Hesiod
order_ldap=LDAP
order_user=»ç¿ëÀÚ ÇÁ¸°ÅÍ
order_xfn=XFN

server_title=NIS ¼­¹ö
server_header=NIS ¼­¹ö ¿É¼Ç
server_boot=NIS ¼­¹ö¸¦ »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
server_slaves=½½·¹ÀÌºê ¼­¹ö
server_domain=NIS µµ¸ÞÀÎ Á¦°ø
server_type=¼­¹ö À¯Çü
server_master=¸¶½ºÅÍ NIS ¼­¹ö
server_mheader=¸¶½ºÅÍ NIS ¼­¹ö ¿É¼Ç
server_fheader=¸¶½ºÅÍ NIS ÆÄÀÏ
server_slave=¼­¹ö ½½·¹ÀÌºê
server_none=¾øÀ½
server_tables=»ç¿ëÇÒ NIS Å×ÀÌºí
server_dns=DNS¿¡ ¾ø´Â È£½ºÆ®¸¦ Á¶È¸ÇÕ´Ï±î?
server_push=¾÷µ¥ÀÌÆ®¸¦ ½½·¹ÀÌºê·Î º¸³»°Ú½À´Ï±î?
server_minuid='Unix »ç¿ëÀÚ' Å×ÀÌºí ±â·ÏÀÇ ÃÖ¼Ò UID
server_mingid='Unix ±×·ì' Å×ÀÌºí ±â·ÏÀÇ ÃÖ¼Ò GID
server_ok=ÀúÀå ¹× Àû¿ë
server_err=NIS ¼­¹ö¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
server_edomain='$1'Àº(´Â) À¯È¿ÇÑ NIS µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù 
server_file='$1'ÀÇ ÆÄÀÏ
server_domain_auto=Å¬¶óÀÌ¾ðÆ®¿Í µ¿ÀÏ
server_eminuid=¾ø°Å³ª Àß¸øµÈ ÃÖ¼Ò UID
server_emingid=¾ø°Å³ª Àß¸øµÈ ÃÖ¼Ò GID
server_efile='$1'¿¡ ´ëÇÑ ¾ø´Â ÆÄÀÏ ÀÌ¸§
server_eslave=¾ø°Å³ª Àß¸øµÈ ½½·¹ÀÌºê ¼­¹ö
server_dir=NIS ¼Ò½º ÆÄÀÏ µð·ºÅä¸®
server_pwdir=NIS ¾ÏÈ£ ¼Ò½º ÆÄÀÏ µð·ºÅä¸®
server_already=NIS ¼­¹ö´Â ÀÌ¹Ì »ç¿ë °¡´ÉÇÑ »óÅÂÀÔ´Ï´Ù
server_ebootdom=µµ¸ÞÀÎÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ÀÌ NIS ¼­¹ö¸¦ »ç¿ë °¡´ÉÇÏ°Ô ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
server_solaris=Âü°í - Solaris¿¡¼­´Â Å¬¶óÀÌ¾ðÆ®¿Í ¼­¹öÀÇ NIS µµ¸ÞÀÎÀÌ Ç×»ó °°½À´Ï´Ù. µû¶ó¼­ µµ¸ÞÀÎÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ¼­¹ö°¡ ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù.
server_none=¾øÀ½
server_edir=Àß¸øµÈ ¼Ò½º ÆÄÀÏ µð·ºÅä¸®
server_edir=Àß¸øµÈ ¾ÏÈ£ ¼Ò½º ÆÄÀÏ µð·ºÅä¸®
server_enis=½Ã½ºÅÛ¿¡ NIS ¼­¹ö Áö¿ø ±â´ÉÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

tables_title=NIS Å×ÀÌºí
tables_switch=NIS Å×ÀÌºí ÆíÁý:
tables_header=$2ÀÇ $1 NIS Å×ÀÌºí
tables_none=Å×ÀÌºí $1¿¡ ±â·ÏÀÌ ¾ø½À´Ï´Ù.
tables_add=»õ ±â·Ï Ãß°¡
tables_ok=ÀúÀå ¹× Àû¿ë
tables_file=$1ÀÇ NIS ±â·Ï
tables_return=NIS Å×ÀÌºí
tables_text=Å×ÀÌºí ¼öµ¿ ÆíÁý
tables_emaster=½Ã½ºÅÛÀÌ ¸¶½ºÅÍ NIS ¼­¹ö·Î¼­ ½ÇÇàµÇ°í ÀÖÁö ¾ÊÀ¸¹Ç·Î NIS Å×ÀÌºíÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
tables_eslave=½Ã½ºÅÛÀÌ ¸¶½ºÅÍ ¼­¹ö·ÎºÎÅÍ ¸ðµç Å×ÀÌºíÀ» ¹Þ´Â NIS ½½·¹ÀÌºêÀÌ¹Ç·Î NIS Å×ÀÌºíÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.

desc_aliases=Sendmail º°Äª
desc_mail=Sendmail º°Äª
desc_hosts=È£½ºÆ® ÁÖ¼Ò
desc_group=À¯´Ð½º ±×·ì
desc_passwd=À¯´Ð½º »ç¿ëÀÚ
desc_ethers=ÀÌ´õ³Ý ÁÖ¼Ò
desc_amd.home=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ È¨
desc_amd.master=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ ¸Ê
desc_auto_home=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ È¨
desc_auto_master=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ ¸Ê
desc_automount=ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥ ¸Ê
desc_netgroup=³Ý±×·ì
desc_netgrp=³Ý±×·ì
desc_netid=NetID
desc_networks=³×Æ®¿öÅ© ÁÖ¼Ò
desc_protocols=³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ
desc_rpc=RPC ÇÁ·Î±×·¥
desc_services=³×Æ®¿öÅ© ¼­ºñ½º
desc_sendmailvars=Sendmail º¯¼ö
desc_publickey=°ø¿ë Å°
desc_publickeys=°ø¿ë Å°
desc_bootparams=ºÎÆ® ¸Å°³ º¯¼ö
desc_shadow=À¯´Ð½º ¼¨µµ¿ì ¾ÏÈ£
desc_gshadow=À¯´Ð½º ±×·ì ¾ÏÈ£
desc_netmasks=³Ý¸¶½ºÅ©
desc_printcap=ÇÁ¸°ÅÍ
desc_adjunct=Ãß°¡ »ç¿ëÀÚ Á¤º¸
desc_printers=ÇÁ¸°ÅÍ
desc_ipnodes=IP ³ëµå
desc_timezone=Ç¥ÁØ ½Ã°£´ë
desc_locale=·ÎÄÉÀÏ
desc_auto_local=·ÎÄÃ ÀÚµ¿ ¸¶¿îÆ® ÇÁ·Î±×·¥

hosts_title=È£½ºÆ® ÁÖ¼Ò
hosts_ip=IP ÁÖ¼Ò
hosts_name=È£½ºÆ® ÀÌ¸§
hosts_header=È£½ºÆ® ¹× ÁÖ¼Ò ¿É¼Ç
hosts_err=È£½ºÆ®¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
hosts_eip=¾ø°Å³ª Àß¸øµÈ IP ÁÖ¼Ò
hosts_ename=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
hosts_aliases=º°Äª

group_name=±×·ì ÀÌ¸§
group_gid=±×·ì ID
group_members=±×·ì ±¸¼º¿ø
group_title=À¯´Ð½º ±×·ì
group_header=À¯´Ð½º ±×·ì Á¤º¸
group_pass=¾ÏÈ£
group_members=±¸¼º¿ø
group_none=¾ÏÈ£ ÇÊ¿ä ¾øÀ½
group_encrypted=¹Ì¸® ¾ÏÈ£È­µÈ ¾ÏÈ£
group_clear=ÀÏ¹Ý ¾ÏÈ£
group_err=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

passwd_name=»ç¿ëÀÚ ÀÌ¸§
passwd_uid=»ç¿ëÀÚ ID
passwd_real=½ÇÁ¦ ÀÌ¸§
passwd_home=È¨ µð·ºÅä¸®
passwd_shell=½©
passwd_title=À¯´Ð½º »ç¿ëÀÚ
passwd_header1=»ç¿ëÀÚ Á¤º¸
passwd_other=±× ¿Ü..
passwd_pass=¾ÏÈ£
passwd_none1=Ã³À½ ·Î±×ÀÎÇÒ ¶§ ¹¯±â
passwd_none2=¾ÏÈ£ ÇÊ¿ä ¾øÀ½
passwd_nologin=·Î±×ÀÎ Çã¿ë ¾ÈÇÔ
passwd_encrypted=¹Ì¸® ¾ÏÈ£È­µÈ ¾ÏÈ£
passwd_clear=ÀÏ¹Ý ¾ÏÈ£
passwd_gid=ÁÖ ±×·ì ID
passwd_header2=¾ÏÈ£ ¿É¼Ç
passwd_change=º¯°æµÈ ¾ÏÈ£
passwd_never=¾ÈÇÔ
passwd_unknown=¾Ë ¼ö ¾øÀ½
passwd_expire=¸¸·á ³¯Â¥
passwd_min=ÃÖ¼Ò ÀÏ ¼ö
passwd_max=ÃÖ´ë ÀÏ ¼ö
passwd_warn=°æ°í ÀÏ ¼ö
passwd_inactive=ºñÈ°¼º ÀÏ ¼ö
passwd_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
passwd_ename=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§
passwd_euid=¾ø°Å³ª Àß¸øµÈ UID
passwd_egid=¾ø°Å³ª Àß¸øµÈ GID
passwd_ereal=¾ø°Å³ª Àß¸øµÈ ½ÇÁ¦ ÀÌ¸§
passwd_ehome=¾ø°Å³ª Àß¸øµÈ È¨ µð·ºÅä¸®
passwd_eshell=¾ø°Å³ª Àß¸øµÈ ½©
passwd_epass=Àß¸øµÈ ¹Ì¸® ¾ÏÈ£È­µÈ ¾ÏÈ£
passwd_ewarn=Àß¸øµÈ °æ°í ÀÏ ¼ö
passwd_emax=Àß¸øµÈ ÃÖ´ë ÀÏ ¼ö
passwd_emin=Àß¸øµÈ ÃÖ¼Ò ÀÏ ¼ö
passwd_einactive=Àß¸øµÈ ºñÈ°¼º ÀÏ ¼ö
passwd_eexpiry=Àß¸øµÈ ¸¸·á ³¯Â¥

services_name=¼­ºñ½º ÀÌ¸§
services_proto=ÇÁ·ÎÅäÄÝ
services_port=Æ÷Æ®
services_title=³×Æ®¿öÅ© ¼­ºñ½º
services_header=Inetd ³×Æ®¿öÅ© ¼­ºñ½º ¿É¼Ç
services_err=¼­ºñ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
services_ename=¾ø°Å³ª Àß¸øµÈ ¼­ºñ½º ÀÌ¸§
services_eport=¾ø°Å³ª Àß¸øµÈ Æ÷Æ®

protocols_name=ÇÁ·ÎÅäÄÝ ÀÌ¸§
protocols_number=¹øÈ£
protocols_aliases=º°Äª
protocols_title=³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ
protocols_header=³×Æ®¿öÅ© ÇÁ·ÎÅäÄÝ ¿É¼Ç
protocols_err=ÇÁ·ÎÅäÄÝÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
protocols_ename=¾ø°Å³ª Àß¸øµÈ ÀÌ¸§
protocols_enumber=¾ø°Å³ª Àß¸øµÈ ¹øÈ£

netgroup_name=³Ý±×·ì ÀÌ¸§
netgroup_members=±¸¼º¿ø
netgroup_title=³×Æ®¿öÅ© ±×·ì
netgroup_header=³×Æ®¿öÅ© È£½ºÆ® ±×·ì ¼¼ºÎ Á¤º¸
netgroup_host=È£½ºÆ® ±¸¼º¿ø
netgroup_user=»ç¿ëÀÚ
netgroup_domain=NIS µµ¸ÞÀÎ
netgroup_any=ÀÓÀÇ
netgroup_none=¾øÀ½
netgroup_err=³Ý±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
netgroup_ename=¾ø°Å³ª Àß¸øµÈ ³Ý±×·ì ÀÌ¸§
netgroup_ehost=Çà $1¿¡ È£½ºÆ®°¡ ¾ø°Å³ª Àß¸øµÊ
netgroup_euser=Çà $1¿¡ »ç¿ëÀÚ°¡ ¾ø°Å³ª Àß¸øµÊ
netgroup_edom=Çà $1¿¡ NIS µµ¸ÞÀÎÀÌ ¾ø°Å³ª Àß¸øµÊ

ethers_mac=ÀÌ´õ³Ý ÁÖ¼Ò
ethers_ip=IP ÁÖ¼Ò
ethers_title=ÀÌ´õ³Ý ÁÖ¼Ò
ethers_header=ÀÌ´õ³Ý ¸ÅÇÎ ¿É¼Ç
ethers_err=ÀÌ´õ³Ý ÁÖ¼Ò¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ethers_emac=Àß¸øµÈ ÀÌ´õ³Ý ÁÖ¼Ò
ethers_eip=Àß¸øµÈ IP ÁÖ¼Ò

rpc_name=ÇÁ·Î±×·¥ ÀÌ¸§
rpc_number=¹øÈ£
rpc_aliases=º°Äª
rpc_title=RPC ÇÁ·Î±×·¥
rpc_header=RPC ÇÁ·Î±×·¥ Á¤º¸
rpc_err=RPC ÇÁ·Î±×·¥À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
rpc_ename=¾ø°Å³ª Àß¸øµÈ ÇÁ·Î±×·¥ ÀÌ¸§
rpc_enumber=¾ø°Å³ª Àß¸øµÈ ¹øÈ£

networks_title=³×Æ®¿öÅ© ÁÖ¼Ò
networks_ip=IP ÁÖ¼Ò
networks_name=³×Æ®¿öÅ© ÀÌ¸§
networks_header=³×Æ®¿öÅ© ¹× ÁÖ¼Ò ¿É¼Ç
networks_err=³×Æ®¿öÅ©¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
networks_eip=¾ø°Å³ª Àß¸øµÈ IP ÁÖ¼Ò
networks_ename=¾ø°Å³ª Àß¸øµÈ ÀÌ¸§
networks_aliases=º°Äª

netmasks_net=³×Æ®¿öÅ© ÁÖ¼Ò
netmasks_mask=³Ý¸¶½ºÅ©
netmasks_title=³Ý¸¶½ºÅ©
netmasks_header=³×Æ®¿öÅ© ¸¶½ºÅ© »ó¼¼ Á¤º¸
netmasks_err=³Ý¸¶½ºÅ©¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
netmasks_enet=¾ø°Å³ª Àß¸øµÈ ³×Æ®¿öÅ© ÁÖ¼Ò
netmasks_emask=¾ø°Å³ª Àß¸øµÈ ³Ý¸¶½ºÅ©

aliases_from=ÁÖ¼Ò
aliases_to=º°Äª ´ë»ó
aliases_title=Sendmail º°Äª
aliases_header=Sendmail º°Äª »ó¼¼ Á¤º¸
aliases_err=º°ÄªÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
aliases_efrom=¾ø°Å³ª Àß¸øµÈ ÁÖ¼Ò
aliases_eto=¾ø´Â ´ë»ó ÁÖ¼Ò

security_title=¼­¹ö º¸¾È
security_header=NIS ¼­¹ö º¸¾È ¿É¼Ç
security_ok=ÀúÀå ¹× Àû¿ë
security_enis=½Ã½ºÅÛÀÌ NIS ¼­¹ö·Î¼­ ½ÇÇàµÇ°í ÀÖÁö ¾ÊÀ¸¹Ç·Î NIS º¸¾È ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
security_nets=Çã¿ëµÈ Å¬¶óÀÌ¾ðÆ®
security_net=³×Æ®¿öÅ©/È£½ºÆ® ÁÖ¼Ò
security_mask=³Ý¸¶½ºÅ©
security_single=´ÜÀÏ È£½ºÆ®
security_any=ÀÓÀÇ È£½ºÆ®
security_err=¼­¹ö º¸¾ÈÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
security_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ© ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
security_emask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
security_port=Å¬¶óÀÌ¾ðÆ®°¡ ½Å·ÚÇÒ ¼ö ÀÖ´Â Æ÷Æ®¿¡ ÀÖ¾î¾ß ÇÕ´Ï±î?
security_maps=Å¬¶óÀÌ¾ðÆ® ¸Ê Á¦ÇÑ
security_hosts=È£½ºÆ®
security_map=NIS Å×ÀÌºí
security_sec=Á¦ÇÑ
security_mangle=Mangle ÇÊµå
security_none=¾øÀ½
security_tall=¸ðµÎ
security_sec_none=¾øÀ½
security_sec_port=½Å·ÚÇÒ ¼ö ÀÖ´Â Æ÷Æ®
security_sec_deny=Á¢±Ù °ÅºÎ
security_sec_des=DES ÇÊ¿ä
security_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
security_emap='$1'Àº(´Â) À¯È¿ÇÑ NIS Å×ÀÌºíÀÌ ¾Æ´Õ´Ï´Ù 
security_efield='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù

  07070100046bfb000081a40000000000000002000000013d1fe2e3000026fa000000200000000000000000000000000000001200000003reloc/nis/lang/pl index_title=Klient i serwer NIS
index_return=Menu NIS
index_enis=Wygl±da na to, ¿e w&nbsp;systemie nie zainstalowano ani klienta ani serwera NIS. 

client_title=Klient NIS
client_header=Konfiguracja klienta NIS
client_domain=Domena NIS
client_none=Brak (NIS wy³±czony)
client_servers=Serwery NIS
client_broadcast=Szukaj rozg³oszeniowo
client_listed=Wymienione poni¿ej ..
client_boot=W³±czyæ klienta NIS?
client_ok=Zachowaj i zastosuj
client_err=Nie uda³o siê zachowaæ klienta NIS
client_edomain=Nie podana lub niepoprawna nazwa domeny
client_eserver='$1' nie jest poprawn± nazw± serwera
client_eypwhich=Nie uda³o siê przy³±czyæ do domeny NIS
client_ehosts='$1' nie jest poprawnym plikiem hostów

switch_title=Us³ugi klienckie
switch_service=Us³uga
switch_order=Kolejno¶æ przeszukiwania ¼róde³
switch_err=Nie uda³o siê zachowaæ us³ug klienckich
switch_eorder=Brak kolejno¶ci dla $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Pliki
order_db=Pliki DB
order_compat=NIS i&nbsp;pliki
order_hesiod=Hesiod
order_ldap=LDAP
order_user=Drukarki u¿ytkowników
order_xfn=XFN

server_title=Serwer NIS
server_header=Opcje serwera NIS
server_boot=W³±czyæ serwer NIS?
server_slaves=Serwery zapasowe
server_domain=Udostêpniaæ domenê NIS
server_type=Rodzaj serwera
server_master=Podstawowy serwer NIS
server_mheader=Opcje podstawowego serwera NIS
server_fheader=Podstawowe pliki NIS
server_slave=Zapasowy dla serwera
server_none=Brak
server_tables=Udostêpniane tabele NIS
server_dns=Poszukiwaæ brakuj±cych hostów w&nbsp;DNS-ie?
server_push=Przekazywaæ aktualizacje serwerom zapasowym?
server_minuid=Minimalny UID dla rekordów tabeli 'U¿ytkownicy Uniksa'
server_mingid=Minimalny GID dla rekordów tabeli 'Grupy Uniksa'
server_ok=Zachowaj i zastosuj
server_err=Nie uda³o siê zachowaæ serwera NIS
server_edomain='$1' nie jest poprawn± domen± NIS
server_file=Plik dla '$1'
server_domain_auto=Taki sam jak klient
server_eminuid=Nie podany lub niepoprawny minimalny UID
server_emingid=Nie podany lub niepoprawny minimalny GID
server_efile=Brak nazwy pliku dla '$1'
server_eslave=Nie podany lub niepoprawny serwer zapasowy
server_dir=Katalog plików ¼ród³owych NIS
server_pwdir=Katalog plików ¼ród³owych hase³ NIS
server_already=Serwer NIS ju¿ w³±czony
server_ebootdom=Tego serwera NIS nie mo¿na w³±czyæ dopóki nie zostanie ustawiona domena.
server_solaris=Uwaga - na Solarisie domena NIS dla klienta i&nbsp;serwera jest zawsze ta sama i&nbsp;serwer nie mo¿e dzia³aæ dopóki nie zostanie ustawiona domena.
server_edir=Niepoprawny katalog plików ¼ród³owych
server_epwdir=Niepoprawny katalog plików ¼ród³owych hase³
server_enis=Wygl±da na to, ¿e w&nbsp;systemie nie zainstalowano obs³ugi serwera NIS.

tables_title=Tabele NIS
tables_switch=Zmieñ tebelê NIS&nbsp;:
tables_header=Tabela $1 NIS z&nbsp;$2
tables_none=Tabela $1 nie zawiera ¿adnego rekordu.
tables_add=Dodaj nowy rekord
tables_ok=Zachowaj i zastosuj
tables_file=Rekordy NIS w&nbsp;$1
tables_return=tabel NIS
tables_text=Zmieñ tebelê rêcznie
tables_emaster=Nie mo¿esz zmieniaæ tabel NIS, gdy¿ Twój system nie dzia³a obecnie jako podstawowy serwer NIS.
tables_eslave=Nie mo¿esz zmieniaæ tabel NIS, gdy¿ Twój system jest zapasowym serwerem NIS, który pobiera wszystkie tabele z&nbsp;serwera podstawowego.
tables_find=Znajd¼ $1, gdzie $2 pasuje do $3
tables_search=Szukaj
tables_nomatch=Nie znaleziono pasuj±cych rekordów
tables_build=Przebuduj tabele NIS
tables_buildmsg=Naci¶nij ten przycisk, aby przebudowaæ bazy NIS na podstawie stablicowanych danych. Je¶li dokona³e¶ jakich¶ zmian, bêdziesz musia³ to  uczyniæ, aby te zmiany udostêpniæ klientom NIS.

desc_aliases=Aliasy Sendmaila
desc_mail=Aliasy Sendmaila
desc_hosts=Adresy hostów
desc_group=Grupy Uniksa
desc_passwd=U¿ytkownicy Uniksa
desc_ethers=Adresy ethernetowe
desc_amd.home=Katalogi domowe automountera
desc_amd.master=Mapy automountera
desc_auto_home=Katalog domowy automountera
desc_auto_master=Mapy automountera
desc_automount=Mapy automountera
desc_netgroup=Grupy sieciowe
desc_netgrp=Grupy sieciowe
desc_netid=ID sieci
desc_networks=Adresy sieci
desc_protocols=Protoko³y sieciowe
desc_rpc=Programy RPC
desc_services=Us³ugi sieciowe
desc_sendmailvars=Zmienne Sendmaila
desc_publickey=Klucze publiczne
desc_publickeys=Klucze publiczne
desc_bootparams=Parametry startowe
desc_shadow=Ukryte has³a Uniksa
desc_gshadow=Has³a dla grup Uniksa
desc_netmasks=Maski sieci
desc_printcap=Drukarki
desc_adjunct=Dodatkowe informacje o&nbsp;u¿ytkownikach
desc_printers=Drukarki
desc_ipnodes=Wêz³y IP
desc_timezone=Strefy czasowe
desc_locale=Lokalizacje
desc_auto_local=Lokalny automonter

hosts_title=Adresy hostów
hosts_ip=Adres IP
hosts_name=Nazwa hosta
hosts_header=Opcje hosta i&nbsp;adresu
hosts_err=Nie uda³o sie zachowaæ hosta
hosts_eip=Nie podany lub niepoprawny adres IP
hosts_ename=Nie podana lub niepoprawna nazwa hosta
hosts_aliases=Aliasy

group_name=Nazwa grupy
group_gid=ID grupy
group_members=Cz³onkowie grupy
group_title=Grupa Uniksa
group_header=Dane grupy Uniksa
group_pass=Has³o
group_none=Has³o nie wymagane
group_encrypted=Has³o uprzednio zaszyfrowane
group_clear=Zwyk³e has³o
group_err=Nie uda³o sie zachowaæ grupy

passwd_name=Nazwa u¿ytkownika
passwd_uid=ID u¿ytkownika
passwd_real=Rzeczywista nazwa
passwd_home=Katalog domowy
passwd_shell=Pow³oka
passwd_title=U¿ytkownik Uniksa
passwd_header1=Dane u¿ytkownika
passwd_other=Inne..
passwd_pass=Has³o
passwd_none1=Zapytaj przy pierwszym logowaniu
passwd_none2=Kas³o nie wymagane
passwd_nologin=Logowanie zabronione
passwd_encrypted=Has³o uprzednio zaszyfrowane
passwd_clear=Zwyk³e has³o
passwd_gid=ID grupy podstawowej
passwd_header2=Opcje has³a
passwd_change=Has³o zmieniono
passwd_never=Nigdy
passwd_unknown=Nie wiadomo
passwd_expire=Data wa¿no¶ci
passwd_min=Minimum dni
passwd_max=Maksimum dni
passwd_warn=Ostrze¿enie dni
passwd_inactive=Blokada po dniach
passwd_err=Nie uda³o siê zachowaæ u¿ytkownika
passwd_ename=Nie podana lub niepoprawna nazwa u¿ytkownika
passwd_euid=Nie podany lub niepoprawny UID
passwd_egid=Nie podany lub niepoprawny GID
passwd_ereal=Nie podana lub niepoprawna rzeczywista nazwa
passwd_ehome=Nie podany lub niepoprawny katalog domowy
passwd_eshell=Nie podana lub niepoprawna pow³oka
passwd_epass=Niepoprawne zaszyfrowane has³o
passwd_ewarn=Niepoprawna liczba dni ostrze¿enia
passwd_emax=Niepoprawna maksymalna liczba dni
passwd_emin=Niepoprawna minimalna liczba dni
passwd_einactive=Niepoprawna liczba dni do zablokowania
passwd_eexpiry=Niepoprawna data wa¿no¶ci

services_name=Nazwa us³ugi
services_proto=Protokó³
services_port=Port
services_title=Us³uga sieciowa
services_header=Opcje us³ugi sieciowej inetd
services_err=Nie uda³o siê zachowaæ us³ugi
services_ename=Nie podana lub niepoprawna nazwa us³ugi
services_eport=Nie podany lub niepoprawny port

protocols_name=Nazwa protoko³u
protocols_number=Numer
protocols_aliases=Aliasy
protocols_title=Protokó³ sieciowy
protocols_header=Opcje protoko³u sieciowego
protocols_err=Nie uda³o siê zachowaæ protoko³u
protocols_ename=Nie podana lub niepoprawna nazwa
protocols_enumber=Nie podany lub niepoprawny numer

netgroup_name=Nazwa grupy sieciowej
netgroup_members=Cz³onkowie
netgroup_title=Grupa sieciowa
netgroup_header=Dane sieciowej grupy hostów
netgroup_host=Hosty-cz³onkowie
netgroup_user=U¿ytkownik
netgroup_domain=Domena NIS
netgroup_any=Dowolna
netgroup_none=¯adna
netgroup_err=Nie uda³o siê zachowaæ grupy sieciowej
netgroup_ename=Nie podana lub niepoprawna nazwa grupy sieciowej
netgroup_ehost=Nie podany lub niepoprawny host w&nbsp;wierszu $1
netgroup_euser=Nie podany lub niepoprawny u¿ytkownik w&nbsp;wierszu $1
netgroup_edom=Nie podana lub niepoprawna domena NIS w&nbsp;wierszu $1

ethers_mac=Adres ethernetowy
ethers_ip=Adres IP
ethers_title=Adres ethernetowy
ethers_header=Opcje mapowania ethernetowego
ethers_err=Nie uda³o siê zachowaæ adresu ethernetowego
ethers_emac=Niepoprawny adres ethernetowy
ethers_eip=Niepoprawny adres IP

rpc_name=Nazwa programu
rpc_number=Numer
rpc_aliases=Aliasy
rpc_title=Program RPC
rpc_header=Dane programu RPC
rpc_err=Nie uda³o siê zachowaæ programu RPC
rpc_ename=Nie podana lub niepoprawna nazwa programu
rpc_enumber=Nie podany lub niepoprawny numer

networks_title=Adres sieci
networks_ip=Adres IP
networks_name=Nazwa sieci
networks_header=Opcje sieci i&nbsp;adresu
networks_err=Nie uda³o siê zachowaæ sieci
networks_eip=Nie podany lub niepoprawny adres IP
networks_ename=Nie podana lub niepoprawna nazwa
networks_aliases=Aliasy

netmasks_net=Adres sieci
netmasks_mask=Maska sieci
netmasks_title=Maska sieci
netmasks_header=Dane maski sieci
netmasks_err=Nie uda³o siê zachowaæ maski sieci
netmasks_enet=Nie podany lub niepoprawny adres sieci
netmasks_emask=Nie podana lub niepoprawna maska

aliases_from=Adres
aliases_to=Kieruj do
aliases_title=Alias Sendmaila
aliases_header=Dane aliasu Sendmaila
aliases_err=Nie uda³o siê zachowaæ aliasu
aliases_efrom=Nie podany lub niepoprawny adres
aliases_eto=Nie podany adres docelowy

security_title=Zabezpieczenia serwera
security_header=Opcje zabezpieczeñ serwera NIS
security_ok=Zachowaj i zastosuj
security_enis=Nie mo¿esz zmieniac opcji zabezpieczeñ serwera NIS, gdy¿ na Twojej maszynie nie dzia³a obecnie serwer NIS.
security_nets=Dopuszczalni klienci
security_net=Adres sieci/hosta
security_mask=Maska sieci
security_single=Pojedyñczy host
security_any=Dowolny host
security_err=Nie uda³o siê zachowaæ server security
security_enet='$1' nie jest porawnym adresem sieci
security_emask='$1' nie jest poprawn± mask±
security_port=Klienci tylko na zaufanym porcie
security_maps=Ograniczenia mapowania klientów
security_hosts=Hosty
security_map=Tabele NIS
security_sec=Ograniczenie
security_mangle=Mangle field
security_none=Brak
security_tall=Wszystkie
security_sec_none=Brak
security_sec_port=Zaufany port
security_sec_deny=Zabroñ dostêpu
security_sec_des=Wymagaj DES-a
security_ehost='$1' nie jest poprawn± nazw± hosta
security_emap='$1' nie jest porawn± tabel± NIS
security_efield='$1' nie jest poprawnym numerem pola
  07070100046bfc000081a40000000000000002000000013d1fe2e300002588000000200000000000000000000000000000001200000003reloc/nis/lang/sv index_title=NIS-klient och -server
index_return=NIS-meny
index_enis=Det verkar inte som att något NIS-klient- eller -serverstöd har installerats på din maskin.

client_title=NIS-klient
client_header=Inställningar för NIS-klient
client_domain=NIS-domän
client_none=Ingen (NIS avstängt)
client_servers=NIS-servrar
client_broadcast=Hitta dem med hjälp av broadcast
client_listed=Angivna nedan ...
client_boot=Slå på NIS-klienten?
client_ok=Spara och ta i drift
client_err=Det gick inte att spara NIS-klienten
client_edomain=Domännamnet saknas eller är felaktigt
client_eserver='$1' är inte ett giltigt servernamn
client_eypwhich=det gick inte att binda till en NIS-domän
client_ehosts='$1' finns inte i hosts-filen

switch_title=Klienttjänster
switch_service=Tjänst
switch_order=Källuppslagningsprenumeration
switch_err=Det gick inte att spara klienttjänsterna
switch_eorder=Du har inte angivit någon prenumeration för $1

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=Filer
order_db=DB-filer
order_compat=NIS &amp; filer
order_hesiod=Hesiod
order_ldap=LDAP
order_user=Skrivare
order_xfn=XFN

server_title=NIS-server
server_header=Inställningar för NIS-server
server_boot=Slå på NIS-server?
server_slaves=Slavservrar
server_domain=Betjäna NIS-domän
server_type=Servertyp
server_master=NIS-masterserver
server_mheader=Inställningar för NIS-masterserver
server_fheader=NIS-masterfiler
server_slave=Slav till server
server_none=Ingen
server_tables=Betjäna NIS-tabeller
server_dns=Slå upp saknade datorer i DNS?
server_push=Skicka ut uppdateringar till slavarna?
server_minuid=Lägsta UID för 'Unix-användare'-tabellposter
server_mingid=Lägsta GID för 'Unix-grupper'-tabellposter
server_ok=Spara och ta i drift
server_err=Det gick inte att spara NIS-server
server_edomain='$1' är inte en giltig NIS-domän
server_file=Fil för '$1'
server_domain_auto=Samma som för klienten
server_eminuid=Lägsta UID saknas eller är felaktigt
server_emingid=Lägsta GID saknas eller är felaktigt
server_efile=Du har inte angivit något filnamn för '$1'
server_eslave=Slavserver saknas eller har angivits felaktigt
server_dir=Katalog för NIS-källfiler
server_pwdir=Katalog för NIS-lösenordskällfiler
server_already=NIS-servern är redan på
server_ebootdom=Den här NIS-servern går inte att slå på om du inte först anger en domän.
server_solaris=Observera att klient- och serverdomän för NIS alltid är samma på Solaris, och servern fungerar inte om du inte anger en domän.
server_none=Ingen
server_edir=Ogiltig katalog för källfiler
server_edir=Ogiltig katalog för lösenordskällfiler
server_enis=Det verkar inte som att något NIS-serverstöd har installerats på din maskin.

tables_title=NIS-tabeller
tables_switch=Ändra NIS-tabell
tables_header=$1 NIS-tabell från $2
tables_none=Tabell $1 innehåller inga poster.
tables_add=Lägg till en post
tables_ok=Spara och ta i drift
tables_file=NIS-poster i $1
tables_return=NIS-tabeller
tables_text=Ändra tabellen för hand
tables_emaster=Du får inte ändra i NIS-tabellerna, eftersom systemet just nu inte kör som en NIS-masterserver.
tables_eslave=Du får inte ändra i NIS-tabellerna eftersom systemet är en NIS-slav, som får alla tabeller från sin masterserver.

desc_aliases=Sendmail-alias
desc_mail=Sendmail-alias
desc_hosts=Datoradresser
desc_group=Unix-grupper
desc_passwd=Unix-användare
desc_ethers=Ethernet-adresser
desc_amd.home=Hemkatalog för automounter
desc_amd.master=Automounter maps
desc_auto_home=Hemkatalog för automounter
desc_auto_master=Automounter maps
desc_automount=Automounter maps
desc_netgroup=Nätgrupper
desc_netgrp=Nätgrupper
desc_netid=Nät-ID
desc_networks=Nätverksadresser
desc_protocols=Nätverksprotokoll
desc_rpc=RPC-program
desc_services=Nätverkstjänster
desc_sendmailvars=Sendmail-variabler
desc_publickey=Publika nycklar
desc_publickeys=Publika nycklar
desc_bootparams=Startparametrar
desc_shadow=Unix-skugglösenord
desc_gshadow=Unix-grupplösenord
desc_netmasks=Nätmasker
desc_printcap=Skrivare
desc_adjunct=Extra användarinformation
desc_printers=Skrivare
desc_ipnodes=IP-noder

hosts_title=Datoradress
hosts_ip=IP-adress
hosts_name=Datornamn
hosts_header=Inställningar för dator och adress
hosts_err=Det gick inte att spara datorn
hosts_eip=IP-adress saknas eller är felaktig
hosts_ename=Datornamn saknas eller är felaktigt
hosts_aliases=Alias

group_name=Gruppnamn
group_gid=Grupp-ID
group_members=Gruppmedlemmar
group_title=Unix-grupp
group_header=Information om Unix-grupp
group_pass=Lösenord
group_members=Medlemmar
group_none=Ingen lösenord behövs
group_encrypted=Förkrypterat lösenord
group_clear=Normalt lösenord
group_err=Det gick inte att spara gruppen

passwd_name=Användarnamn
passwd_uid=Användar-ID
passwd_real=Verkligt namn
passwd_home=Hemkatalog
passwd_shell=Skal
passwd_title=Unix-användare
passwd_header1=Information om användare
passwd_other=Övrigt ...
passwd_pass=Lösenord
passwd_none1=Fråga vid första inloggning
passwd_none2=Inget lösenord behövs
passwd_nologin=Inloggning är inte tillåten
passwd_encrypted=Förkrypterat lösenord
passwd_clear=Normalt lösenord
passwd_gid=Grupp-ID för primär grupp
passwd_header2=Inställningar för lösenord
passwd_change=Lösenordet ändrat
passwd_never=Aldrig
passwd_unknown=Okänt
passwd_expire=Datum då lösenordet upphör att gälla
passwd_min=Minimalt antal dagar
passwd_max=Maximalt antal dagar
passwd_warn=Varna innan (antal dagar)
passwd_inactive=Inaktiv (antal dagar)
passwd_err=Det gick inte att spara användaren
passwd_ename=Användarnamn saknas eller är felaktigt
passwd_euid=UID saknas eller är felaktigt
passwd_egid=GID saknas eller är felaktigt
passwd_ereal=Verkligt namn saknas eller är felaktigt
passwd_ehome=Hemkatalog saknas eller är felaktig
passwd_eshell=Skal saknas eller är felaktigt
passwd_epass=Det förkrypterade lösenordet är ogiltigt
passwd_ewarn=Antalet varningsdagar är ogiltigt
passwd_emax=Det maximala antalet dagar är ogiltigt
passwd_emin=Det minimala antalet dagar är ogiltigt
passwd_einactive=Antalet dagar för inaktivitet är ogiltigt
passwd_eexpiry=Datum då lösenordet upphör att gälla är ogiltigt

services_name=Tjänstenamn
services_proto=Protokoll
services_port=Port
services_title=Nätverkstjänst
services_header=Inställningar för inetd-nätverkstjänst
services_err=Det gick inte att spara tjänsten
services_ename=Tjänstenamnet saknas eller är felaktigt
services_eport=Port saknas eller är felaktig

protocols_name=Protokollnamn
protocols_number=Nummer
protocols_aliases=Alias
protocols_title=Nätverksprotokoll
protocols_header=Inställningar för nätverksprotokoll
protocols_err=Det gick inte att spara protokoll
protocols_ename=Namnet saknas eller är felaktigt
protocols_enumber=Numret saknas eller är felaktigt

netgroup_name=Nätgruppsnamn
netgroup_members=Medlemmar
netgroup_title=Nätverksgrupp
netgroup_header=Information om nätverksdatorgrupp
netgroup_host=Medlemsdator
netgroup_user=Användare
netgroup_domain=NIS-domän
netgroup_any=Vilken som helst
netgroup_none=Ingen
netgroup_err=Det gick inte att spara nätgruppen
netgroup_ename=Nätgruppsnamn saknas eller är felaktigt
netgroup_ehost=På rad $1 saknas dator eller också är den felaktigt angiven
netgroup_euser=På rad $1 saknas användare eller också är den felaktigt angiven
netgroup_edom=På rad $1 saknas NIS-domän eller också är den felaktigt angiven

ethers_mac=Ethernet-adress
ethers_ip=IP-adress
ethers_title=Ethernet-adress
ethers_header=Inställningar för ethernet-uppslagning
ethers_err=Det gick inte att spara ethernet-adressen
ethers_emac=Ethernet-adressen är ogiltig
ethers_eip=IP-adressen är ogiltig

rpc_name=Programnamn
rpc_number=Nummer
rpc_aliases=Alias
rpc_title=RPC-program
rpc_header=Information om RPC-program
rpc_err=Det gick inte att spara RPC-program
rpc_ename=Programnamnet saknas eller är felaktigt
rpc_enumber=Numret saknas eller är felaktigt

networks_title=Nätverksadress
networks_ip=IP-adress
networks_name=Nätverksnamn
networks_header=Inställningar för nätverk och adresser
networks_err=Det gick inte att spara nätverket
networks_eip=IP-adressen saknas eller är felaktigt angiven
networks_ename=Namnet saknas eller är felaktigt
networks_aliases=Alias

netmasks_net=Nätverksadress
netmasks_mask=Nätmask
netmasks_title=Nätmask
netmasks_header=Information om nätmasken
netmasks_err=Det gick inte att spara nätmasken
netmasks_enet=Nätverksadressen saknas eller är felaktig
netmasks_emask=Nätmasken saknas eller är felaktig

aliases_from=Adress
aliases_to=Alias för
aliases_title=Sendmail-alias
aliases_header=Information om sendmail-alias
aliases_err=Det gick inte att spara alias
aliases_efrom=Adressen saknas eller är felaktig
aliases_eto=Mottagaradress saknas

security_title=Serverskydd
security_header=Inställningar för NIS-serverskydd
security_ok=Spara och ta i drift
security_enis=Det verkar inte som att något NIS-serverstöd finns installerat på maskinen.
security_nets=Tillåtna klienter
security_net=Nätverks/datoradress
security_mask=Nätmask
security_single=Enstaka dator
security_any=Alla datorer
security_err=Det gick inte att spara inställningar för serverskydd
security_enet='$1' är inte en giltig nätverksadress
security_emask='$1' är inte en giltig nätmask
security_port=Måste klienter använda pålitliga portar?
security_maps=Begränsningar för klienter
security_hosts=Datorer
security_map=NIS-tabeller
security_sec=Begränsning
security_mangle=Förvräng fält
security_none=Inget
security_tall=Alla
security_sec_none=Ingen
security_sec_port=Pålitlig port
security_sec_deny=Neka åtkomst
security_sec_des=Kräva DES
security_ehost='$1' är inte ett giltigt datornamn
security_emap='$1' är inte en giltig NIS-tabell
security_efield='$1' är inte ett giltigt fältnummer

07070100046bfd000081a40000000000000002000000013d1fe2e300001dbc000000200000000000000000000000000000001a00000003reloc/nis/lang/zh_TW.Big5 index_title=NIS «È¤áºÝ©M¦øªA¾¹
index_return=NIS ¿ï³æ
index_enis=±zªº¾÷¾¹¦ü¥G¨S¦³¦w¸Ë NIS «È¤áºÝ©Î¦øªA¾¹ªº¤ä´©¡C

client_title=NIS «È¤áºÝ
client_header=NIS «È¤áºÝ²ÕºA³]©w
client_domain=NIS ºô°ì
client_none=µL (°±¥Î NIS)
client_servers=NIS ¦øªA¾¹
client_broadcast=¥H¼s¼½¤è¦¡§ä´M
client_listed=¦p¤U©Ò¦C ...
client_boot=±Ò¥Î NIS «È¤áºÝ¡H
client_ok=Àx¦s¤Î®M¥Î
client_err=µLªkÀx¦s NIS «È¤áºÝ
client_edomain=¿ò¥¢©ÎµL®Äªººô°ì¦WºÙ
client_eserver='$1' ¤£¬O¤@­Ó¦³®Äªº¦øªA¾¹¦WºÙ
client_eypwhich=µLªk³sµ²¦Ü NIS ºô°ì
client_ehosts='$1' ¤£¦b hosts ÀÉùØ

switch_title=«È¤áºÝªA°È
switch_service=ªA°È
switch_order=¨Ó·½·j´M¦¸§Ç
switch_err=µLªkÀx¦s«È¤áºÝªA°È
switch_eorder=¿ò¥¢ $1 ªº¦¸§Ç³]©w

order_=&nbsp;
order_nisplus=NIS+
order_nis=NIS
order_dns=DNS
order_files=ÀÉ®×
order_db=DB ÀÉ®×
order_compat=NIS &amp; ÀÉ®×
order_hesiod=Hesiod
order_ldap=LDAP
order_user=¨Ï¥ÎªÌ¦Lªí¾÷
order_xfn=XFN

server_title=NIS ¦øªA¾¹
server_header=NIS ¦øªA¾¹¿ï¶µ
server_boot=±Ò¥Î NIS ¦øªA¾¹¡H
server_slaves=Slave ¦øªA¾¹
server_domain=ªA°È NIS ºô©Î
server_type=¦øªA¾¹Ãþ«¬
server_master=Master NIS ¦øªA¾¹
server_mheader=Master NIS ¦øªA¾¹¿ï¶µ
server_fheader=Master NIS ÀÉ®×
server_slave=Slave ¦øªA¾¹¡AÁõÄÝ
server_none=µL
server_tables=ªA°Èªº NIS ªí®æ
server_dns=¦b DNS ·j´M¿ò¥¢ªº¥D¾÷¡H
server_push=§â§ó·s±À¤J slave ¦øªA¾¹¡H
server_minuid='Unix ¨Ï¥ÎªÌ' ªí®æ¬ö¿ýªº³Ì¤p UID
server_mingid='Unix ¸s²Õ' ªí®æ¬ö¿ýªº³Ì¤p GID  
server_ok=Àx¦s¤Î®M¥Î
server_err=µLªkÀx¦s NIS ¦øªA¾¹
server_edomain='$1' ¤£¬O¤@­Ó¦³®Äªº NIS ºô°ì
server_file='$1' ³]©wÀÉ
server_domain_auto=»P«È¤áºÝ¬Û¦P
server_eminuid=¿ò¥¢©ÎµL®Äªº³Ì¤p UID
server_emingid=¿ò¥¢©ÎµL®Äªº³Ì¤p GID
server_efile=¿ò¥¢ filename for '$1'
server_eslave=¿ò¥¢©ÎµL®Äªº slave ¦øªA¾¹
server_dir=NIS ­ì©lÀÉ®×¥Ø¿ý
server_pwdir=NIS ±K½X­ì©lÀÉ®×¥Ø¿ý
server_already=NIS ¦øªA¾¹¤w¸g±Ò¥Î
server_ebootdom=¥²¶·¥ý³]©wºô°ì¡A¤~¥i¥H±Ò°Ê¦¹ NIS ¦øªA¾¹¡C
server_solaris=µù¡G¦b Solaris ¤W¡A«È¤áºÝ©M¦øªA¾¹ NIS ºô°ì¤@©w¬Û¦P¡F°£«D¥ý³]©wºô°ì¡A§_«h¦øªA¾¹¤£¯à¹B§@¡C
server_edir=µL®Äªº­ì©lÀÉ®×¥Ø¿ý
server_epwdir=µL®Äªº±K½X­ì©lÀÉ®×¥Ø¿ý
server_enis=±zªº¾÷¾¹¦ü¥G¨S¦³¦w¸Ë NIS ¦øªA¾¹¤ä´©¡C

tables_title=NIS ªí®æ
tables_switch=½s¿è NIS ªí®æ :
tables_header=$1 NIS ªí®æ¡A·½¦Û $2
tables_none=ªí®æ $1 ùØ¨S¦³¬ö¿ý¡C
tables_add=·s¼W¬ö¿ý
tables_ok=Àx¦s¤Î®M¥Î
tables_file=NIS records in $1
tables_return=NIS ªí®æ
tables_text=¤â°Ê½s¿èªí®æ
tables_emaster=±z¤£¯à½s¿è NIS ªí®æ¡A¦]¬°±zªº¨t²Î¥Ø«e¨Ã«D¥H¡uMaster NIS ¦øªA¾¹¡v¹B¦æ¡C
tables_eslave=±z¤£¯à½s¿è NIS ªí®æ¡A¦]¬°±zªº¨t²Î¬O NIS slave¡A©Ò¦³ªí®æ³£¬O±q master ¦øªA¾¹±µ¦¬ªº¡C
tables_find=´M§ä $1 where $2 matches $3
tables_search=·j´M
tables_nomatch=±zªº·j´M§ä¤£¨ì¥ô¦ó¬Û²Åªº¬ö¿ý
tables_build=­««Ø NIS ªí®æ
tables_buildmsg=«ö¦¹«ö¶s¥i¥HÂÇµÛªí®æ¸ê®Æ¥H­««Ø NIS ¸ê®Æ®w¡C¦pªG±z§@¤F¥ô¦óÅÜ§ó¡A±z»Ý­n³o¼Ë­««Ø NIS ¸ê®Æ®w¡ANIS «È¤áºÝ¤~¯à±µ¦¬³o¨ÇÅÜ§ó¡C

desc_aliases=Sendmail §O¦W
desc_mail=Sendmail §O¦W
desc_hosts=¥D¾÷¦ì§}
desc_group=Unix ¸s²Õ
desc_passwd=Unix ¨Ï¥ÎªÌ
desc_ethers=¤A¤Óºô¦ì§}
desc_amd.home=Automounter home
desc_amd.master=Automounter maps
desc_auto_home=Automounter home
desc_auto_master=Automounter maps
desc_automount=Automounter maps
desc_netgroup=Netgroups
desc_netgrp=Netgroups
desc_netid=NetIDs
desc_networks=ºô¸ô¦ì§}
desc_protocols=ºô¸ô³q°T¨ó©w
desc_rpc=RPC µ{¦¡
desc_services=ºô¸ôªA°È
desc_sendmailvars=Sendmail ÅÜ¼Æ
desc_publickey=¤½¶}Æ_°Í
desc_publickeys=¤½¶}Æ_°Í
desc_bootparams=¶}¾÷°Ñ¼Æ
desc_shadow=Unix shadow ±K½X
desc_gshadow=Unix group ±K½X
desc_netmasks=ºô¸ô¾B¸n
desc_printcap=¦Lªí¾÷
desc_adjunct=ÃB¥~ªº¨Ï¥ÎªÌ¸ê°T
desc_printers=¦Lªí¾÷
desc_ipnodes=IP ¸`ÂI
desc_timezone=®É°Ï
desc_locale=»y¨t
desc_auto_local=Automounter local

hosts_title=¥D¾÷¦ì§}
hosts_ip=IP ¦ì§}
hosts_name=¥D¾÷¦W
hosts_header=¥D¾÷©M¦ì§}¿ï¶µ
hosts_err=µLªkÀx¦s¥D¾÷
hosts_eip=¿ò¥¢©ÎµL®Äªº IP ¦ì§}
hosts_ename=¿ò¥¢©ÎµL®Äªº¥D¾÷¦W
hosts_aliases=§O¦W

group_name=¸s²Õ¦WºÙ
group_gid=¸s²Õ½s¸¹
group_members=¸s²Õ¦¨­û
group_title=Unix ¸s²Õ
group_header=Unix ¸s²Õ¸Ô²Ó¸ê®Æ
group_pass=±K½X
group_none=¤£»Ý­n±K½X
group_encrypted=¤w½s½Xªº±K½X
group_clear=¯Â¤å¦r±K½X
group_err=µLªkÀx¦s¸s²Õ

passwd_name=¨Ï¥ÎªÌ¦WºÙ
passwd_uid=¨Ï¥ÎªÌ½s¸¹
passwd_real=¯u¹ê©m¦W
passwd_home=®a¥Ø¿ý
passwd_shell=Shell
passwd_title=Unix ¨Ï¥ÎªÌ
passwd_header1=¨Ï¥ÎªÌ¸Ô²Ó¸ê®Æ
passwd_other=¨ä¥L...
passwd_pass=±K½X
passwd_none1=¦b²Ä¤@¦¸µn¤J®É¸ß°Ý
passwd_none2=¤£»Ý­n±K½X
passwd_nologin=¤£¤¹³\µn¤J
passwd_encrypted=¤w½s½Xªº±K½X
passwd_clear=¯Â¤å¦r±K½X
passwd_gid=¥D¸s²Õ½s¸¹
passwd_header2=±K½X¿ï¶µ
passwd_change=±K½X¤wÅÜ§ó
passwd_never=±q¨Ó¨S¦³
passwd_unknown=¥¼ª¾
passwd_expire=¹L´Á¤é´Á
passwd_min=³Ì¤p¤Ñ¼Æ
passwd_max=³Ì¤j¤Ñ¼Æ
passwd_warn=Äµ§i¤Ñ¼Æ
passwd_inactive=¥¼¨Ï¥Î¤Ñ¼Æ
passwd_err=µLªkÀx¦s¨Ï¥ÎªÌ
passwd_ename=¿ò¥¢©ÎµL®Äªº¨Ï¥ÎªÌ¦WºÙ
passwd_euid=¿ò¥¢©ÎµL®Äªº UID
passwd_egid=¿ò¥¢©ÎµL®Äªº GID
passwd_ereal=¿ò¥¢©ÎµL®Äªº¯u¹ê©m¦W
passwd_ehome=¿ò¥¢©ÎµL®Äªº®a¥Ø¿ý
passwd_eshell=¿ò¥¢©ÎµL®Äªº shell
passwd_epass=µL®Äªº¤w½s½Xªº±K½X
passwd_ewarn=µL®ÄªºÄµ§i¤Ñ¼Æ
passwd_emax=µL®Äªº³Ì¤j¤Ñ¼Æ
passwd_emin=µL®Äªº³Ì¤p¤Ñ¼Æ
passwd_einactive=µL®Äªº¥¼¨Ï¥Î¤Ñ¼Æ
passwd_eexpiry=µL®Äªº¹L´Á¤é´Á

services_name=ªA°È¦WºÙ
services_proto=³q°T¨ó©w
services_port=³s±µ°ð
services_title=ºô¸ôªA°È
services_header=Inetd ºô¸ôªA°È¿ï¶µ
services_err=µLªkÀx¦sªA°È
services_ename=¿ò¥¢©ÎµL®ÄªºªA°È¦WºÙ
services_eport=¿ò¥¢©ÎµL®Äªº³s±µ°ð

protocols_name=³q°T¨ó©w¦WºÙ
protocols_number=½s¸¹
protocols_aliases=§O¦W
protocols_title=ºô¸ô³q°T¨ó©w
protocols_header=ºô¸ô³q°T¨ó©w¿ï¶µ
protocols_err=µLªkÀx¦s³q°T¨ó©w
protocols_ename=¿ò¥¢©ÎµL®Äªº¦WºÙ
protocols_enumber=¿ò¥¢©ÎµL®Äªº½s¸¹

netgroup_name=Netgroup ¦WºÙ
netgroup_members=¦¨­û
netgroup_title=ºô¸ô¸s²Õ
netgroup_header=ºô¸ô¥D¾÷¸s²Õ¸Ô²Ó¸ê®Æ
netgroup_host=¦¨­û¥D¾÷
netgroup_user=¨Ï¥ÎªÌ
netgroup_domain=NIS ºô°ì
netgroup_any=¥ô¦ó
netgroup_none=µL
netgroup_err=µLªkÀx¦s netgroup
netgroup_ename=¿ò¥¢©ÎµL®Äªº netgroup ¦WºÙ
netgroup_ehost=²Ä $1 ¦æªº¥D¾÷¿ò¥¢©ÎµL®Ä
netgroup_euser=²Ä $1 ¦æªº¨Ï¥ÎªÌ¿ò¥¢©ÎµL®Ä
netgroup_edom=²Ä $1 ¦æªº NIS ºô°ì¿ò¥¢©ÎµL®Ä

ethers_mac=¤A¤Óºô¦ì§}
ethers_ip=IP ¦ì§}
ethers_title=¤A¤Óºô¦ì§}
ethers_header=¤A¤Óºô mapping ¿ï¶µ
ethers_err=µLªkÀx¦s¤A¤Óºô¦ì§}
ethers_emac=µL®Äªº¤A¤Óºô¦ì§}
ethers_eip=µL®Äªº IP ¦ì§}

rpc_name=µ{¦¡¦W
rpc_number=½s¸¹
rpc_aliases=§O¦W
rpc_title=RPC µ{¦¡
rpc_header=RPC µ{¦¡¸Ô²Ó¸ê®Æ
rpc_err=µLªkÀx¦s RPC µ{¦¡
rpc_ename=¿ò¥¢©ÎµL®Äªºµ{¦¡¦W
rpc_enumber=¿ò¥¢©ÎµL®Äªº½s¸¹

networks_title=ºô¸ô¦ì§}
networks_ip=IP ¦ì§}
networks_name=ºô¸ô¦WºÙ
networks_header=ºô¸ô©M¦ì§}¿ï¶µ
networks_err=µLªkÀx¦sºô¸ô
networks_eip=¿ò¥¢©ÎµL®Äªº IP ¦ì§}
networks_ename=¿ò¥¢©ÎµL®Äªº©m¦W
networks_aliases=§O¦W

netmasks_net=ºô¸ô¦ì§}
netmasks_mask=ºô¸ô¾B¸n
netmasks_title=ºô¸ô¾B¸n
netmasks_header=ºô¸ô¾B¸n¸Ô²Ó¸ê®Æ
netmasks_err=µLªkÀx¦sºô¸ô¾B¸n
netmasks_enet=¿ò¥¢©ÎµL®Äªººô¸ô¦ì§}
netmasks_emask=¿ò¥¢©ÎµL®Äªººô¸ô¾B¸n

aliases_from=¦ì§}
aliases_to=Alias to
aliases_title=Sendmail §O¦W
aliases_header=Sendmail §O¦W¸Ô²Ó¸ê®Æ
aliases_err=µLªkÀx¦s§O¦W
aliases_efrom=¿ò¥¢©ÎµL®Äªº¦ì§}
aliases_eto=¿ò¥¢ªº to ¦ì§}

security_title=¦øªA¾¹¦w¥þ
security_header=NIS ¦øªA¾¹¦w¥þ¿ï¶µ
security_ok=Àx¦s¤Î®M¥Î
security_enis=±z¤£¯à½s¿è NIS ¦w¥þ¿ï¶µ¡A¦]¬°±zªº¨t²Î¥Ø«e¨Ã«D¥H¡uMaster NIS ¦øªA¾¹¡v¹B¦æ¡C
security_nets=¤¹³\ªº«È¤áºÝ
security_net=ºô¸ô/¥D¾÷¦ì§}
security_mask=ºô¸ô¾B¸n
security_single=³æ¤@¥D¾÷
security_any=¥ô¦ó¥D¾÷
security_err=µLªkÀx¦s¨t²Î¦w¥þ
security_enet='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¦ì§}
security_emask='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¾B¸n
security_port=«È¤áºÝ¥²¶·¦b«H¥ôªº³s±µ°ð¡H
security_maps=«È¤áºÝ¬M®g­­¨î
security_hosts=¥D¾÷
security_map=NIS ªí®æ
security_sec=­­¨î
security_mangle=­n mangle ªºÄæ¦ì
security_none=µL
security_tall=¥þ³¡
security_sec_none=µL
security_sec_port=«H¥ôªº³s±µ°ð
security_sec_deny=©Úµ´¦s¨ú
security_sec_des=­n¨D DES
security_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦W
security_emap='$1' ¤£¬O¤@­Ó¦³®Äªº NIS ªí®æ
security_efield='$1' ¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì½s¸¹

07070100040ed2000081a40000000000000002000000013d1fe2e3000034e3000000200000000000000000000000000000002000000003reloc/nis/mandrake-linux-lib.pl   # redhat-linux-lib.pl
# NIS functions for redhat linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*broadcast/i) {
		$nis->{'broadcast'}++;
		}
	elsif (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		push(@{$nis->{'servers'}}, $2);
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
$nis->{'domain'} = $network{'NISDOMAIN'};
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server $s[0]\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) { $network{'NISDOMAIN'} = $_[0]->{'domain'}; }
else { delete($network{'NISDOMAIN'}); }
&write_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) {
	&enable_on_boot("ypbind");
	}
else {
	&disable_on_boot("ypbind");
	}

# Apply by setting the domainname and running the init script
&system_logged("domainname '$_[0]->{'domain'}' >/dev/null 2>&1");
local $init = &init_script("ypbind");
&system_logged("$init stop >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	local $out = &backquote_logged("$init start 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey", "networks",
		"ethers", "bootparams", "printcap", "amd.home", "auto.master",
		"auto.home", "passwd.adjunct" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();

local $boot = &check_on_boot("ypserv");
print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$boot ? '' : 'checked', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

if ($in{'boot'}) {
	&enable_on_boot("ypserv");
	&enable_on_boot("yppasswdd");
	}
else {
	&disable_on_boot("ypserv");
	&disable_on_boot("yppasswdd");
	}
local $init1 = &init_script("ypserv");
local $init2 = &init_script("yppasswdd");
&system_logged("$init1 stop >/dev/null 2>&1");
&system_logged("$init2 stop >/dev/null 2>&1");
if ($in{'boot'}) {
	&system_logged("$init1 start >/dev/null 2>&1");
	&system_logged("$init2 start >/dev/null 2>&1");
	}
&flush_file_lines();
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
if (!&check_on_boot("ypserv")) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

 07070100040ed3000081a40000000000000002000000013d1fe2ea000001cc000000200000000000000000000000000000001600000003reloc/nis/module.info category=system
desc_ko_KR.euc=NIS Å¬¶óÀÌ¾ðÆ® ¹× ¼­¹ö
desc_zh_TW.Big5=NIS «È¤áºÝ©M¦øªA¾¹
os_support=redhat-linux mandrake-linux open-linux debian-linux suse-linux solaris msc-linux
desc=NIS Client and Server
desc_pl=Klient i&nbsp;serwer NIS
desc_de=NIS-Client und -Server
desc_sv=NIS-klient och -server
name=NIS
desc_ja_JP.euc=NIS ¥¯¥é¥¤¥¢¥ó¥È¤ª¤è¤Ó¥µ¡¼¥Ð
depends=inetd useradmin 0.990
version=0.990
desc_zh_CN=NIS ¿Í»§»úºÍ·þÎñÆ÷
desc_ca=Servidor i Client NIS
07070100040ed5000081a40000000000000002000000013d1fe2e3000034e3000000200000000000000000000000000000001b00000003reloc/nis/msc-linux-lib.pl    # redhat-linux-lib.pl
# NIS functions for redhat linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*broadcast/i) {
		$nis->{'broadcast'}++;
		}
	elsif (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		push(@{$nis->{'servers'}}, $2);
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
$nis->{'domain'} = $network{'NISDOMAIN'};
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server $s[0]\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) { $network{'NISDOMAIN'} = $_[0]->{'domain'}; }
else { delete($network{'NISDOMAIN'}); }
&write_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) {
	&enable_on_boot("ypbind");
	}
else {
	&disable_on_boot("ypbind");
	}

# Apply by setting the domainname and running the init script
&system_logged("domainname '$_[0]->{'domain'}' >/dev/null 2>&1");
local $init = &init_script("ypbind");
&system_logged("$init stop >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	local $out = &backquote_logged("$init start 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey", "networks",
		"ethers", "bootparams", "printcap", "amd.home", "auto.master",
		"auto.home", "passwd.adjunct" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();

local $boot = &check_on_boot("ypserv");
print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$boot ? '' : 'checked', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

if ($in{'boot'}) {
	&enable_on_boot("ypserv");
	&enable_on_boot("yppasswdd");
	}
else {
	&disable_on_boot("ypserv");
	&disable_on_boot("yppasswdd");
	}
local $init1 = &init_script("ypserv");
local $init2 = &init_script("yppasswdd");
&system_logged("$init1 stop >/dev/null 2>&1");
&system_logged("$init2 stop >/dev/null 2>&1");
if ($in{'boot'}) {
	&system_logged("$init1 start >/dev/null 2>&1");
	&system_logged("$init2 start >/dev/null 2>&1");
	}
&flush_file_lines();
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
if (!&check_on_boot("ypserv")) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

 07070100040ed6000081a40000000000000002000000013d1fe2e300001bc0000000200000000000000000000000000000001500000003reloc/nis/nis-lib.pl  # nis-lib.pl
# Common functions for NIS client and server management

do '../web-lib.pl';
&init_config();
do "$gconfig{'os_type'}-lib.pl";
&foreign_require("init", "init-lib.pl");

# check_on_boot(action)
# Returns 1 if some action is run at boot, 0 otherwise
sub check_on_boot
{
local %iconfig = &foreign_config("init");
local @boot = &foreign_call("init", "get_inittab_runlevel");
local $boot = 0;
foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
	local ($l, $p) = split(/\s+/, $s);
	$boot = 1 if (&indexof($l, @boot) >= 0);
	}
local %daemon;
if ($boot && $iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$boot = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
	}
return $boot;
}

# enable_on_boot(action)
# Make some action run at boot time
sub enable_on_boot
{
local %iconfig = &foreign_config("init");
local @boot = &foreign_call("init", "get_inittab_runlevel");
local $boot = 0;
foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
	local ($l, $p) = split(/\s+/, $s);
	$boot = 1 if (&indexof($l, @boot) >= 0);
	}
&foreign_call("init", "add_rl_action", $_[0], $boot[0], "S",
	      "9" x $iconfig{'order_digits'}) if (!$boot);
local %daemon;
if ($iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$daemon{'ONBOOT'} = 'yes';
	&write_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon);
	}
}

# disable_on_boot(action)
# Make some action not run at boot time
sub disable_on_boot
{
local %iconfig = &foreign_config("init");
if ($iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$daemon{'ONBOOT'} = 'no';
	&write_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon);
	}
else {
	foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
		local @s = split(/\s+/, $s);
		&foreign_call("init", "delete_rl_action", $_[0], $s[0], "S");
		}
	}
}

# init_script(action)
# Returns the full path to some init script
sub init_script
{
local %iconfig = &foreign_config("init");
return "$iconfig{'init_dir'}/$_[0]";
}

# get_nsswitch_conf()
# Parses lines of nsswitch.conf into an array
sub get_nsswitch_conf
{
local @rv;
open(SWITCH, $config{'nsswitch_conf'});
while(<SWITCH>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*(\S+):\s*(.*)/) {
		local $sw = { 'service' => $1,
			      'order' => $2 };
		push(@rv, $sw);
		}
	}
close(SWITCH);
return @rv;
}

# save_nsswitch(service, order)
# Updates the line for some service in nsswitch.conf
sub save_nsswitch
{
local $lref = &read_file_lines($config{'nsswitch_conf'});
foreach $l (@$lref) {
	if ($l =~ /^\s*(\S+):/ && $1 eq $_[0]) {
		$l = "$_[0]:\t$_[1]";
		last;
		}
	}
}

# table_edit_setup(table, line, splitter)
# Returns &table, &lnums, line1, line2, ...
sub table_edit_setup
{
local @tables = &list_nis_tables();
local $t = $tables[$_[0]];
return ( $t ) if (!defined($_[1]));
local @lnums = ( $_[1] );
local $lref = &read_file_lines($t->{'files'}->[0]);
local @lines = ( [ split($_[2], $lref->[$_[1]]) ] );
local $i;
for($i=1; $t->{'files'}->[$i]; $i++) {
	local $lref2 = &read_file_lines($t->{'files'}->[$i]);
	local $lnum = 0;
	foreach $l (@$lref2) {
		local @line2 = split($_[2], $l);
		if ($line2[0] eq $lines[0]->[0]) {
			push(@lnums, $lnum);
			push(@lines, \@line2);
			last;
			}
		$lnum++;
		}
	}
return ($t, \@lnums, @lines);
}

# table_add(&table, separator, &record, ...)
# Adds a record to an NIS table
sub table_add
{
local $i = 2;
foreach $f (@{$_[0]->{'files'}}) {
	local $lref = &read_file_lines($f);
	push(@$lref, join($_[1], @{$_[$i++]}));
	}
&flush_file_lines();
}

# table_delete(&table, &lnums)
# Delete a record from an NIS table
sub table_delete
{
local $i = 0;
foreach $f (@{$_[0]->{'files'}}) {
	local $lref = &read_file_lines($f);
	splice(@$lref, $_[1]->[$i], 1);
	$i++;
	}
&flush_file_lines();
}

# table_update(&table, &lnums, separator, &record, ...)
# Modify a record in an NIS table
sub table_update
{
local $i = 0;
foreach $f (@{$_[0]->{'files'}}) {
	local $lref = &read_file_lines($f);
	splice(@$lref, $_[1]->[$i], 1, join($_[2], @{$_[$i+3]}));
	$i++;
	}
&flush_file_lines();
}

# date_input(day, month, year, prefix)
sub date_input
{
print "<input name=$_[3]d size=3 value='$_[0]'>";
print "/<select name=$_[3]m>\n";
local $m;
foreach $m (1..12) {
	printf "<option value=%d %s>%s\n",
		$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
	}
print "</select>";
print "/<input name=$_[3]y size=5 value='$_[2]'>";
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
}

# parse_ypserv_conf()
# Returns &opts, &maps
sub parse_ypserv_conf
{
local (%opts, @hosts);
local $lnum = 0;
open(CONF, $ypserv_conf);
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^\s*([^:\s]+):\s*(yes|no)/) {
		# Found an option
		$opts{$1} = { 'name' => $1,
			      'value' => $2 eq 'yes' ? 1 : 0,
			      'line' => $lnum };
		}
	elsif (/^\s*([^:\s]+)\s*:\s*([^:\s]+)\s*:\s*([^:\s]+)(\s*:\s*([^:\s]+))?(\s*:\s*([^:\s]+))?/) {
		# Found a host line
		push(@hosts, { 'host' => $1,
			       'map' => $2,
			       'sec' => $3,
			       'mangle' => $5 eq 'yes' ? 1 : 0,
			       'field' => $7 eq '' ? 2 : $7,
			       'line' => $lnum } );
		}
	$lnum++;
	}
close(CONF);
return (\%opts, \@hosts);
}

# parse_yp_makefile()
# Returns hashes of makefile variables and rules
sub parse_yp_makefile
{
# First parse joined lines
local $lnum = 0;
local (@lines, $llast);
open(MAKE, $yp_makefile);
while(<MAKE>) {
	s/\r|\n//g;
	local $slash = (s/\\$//);
	s/#.*$//;
	if ($llast) {
		$llast->{'value'} .= " $_";
		$llast->{'eline'} = $lnum;
		}
	else {
		push(@lines, { 'value' => $_,
			       'line' => $lnum,
			       'eline' => $lnum });
		}
	$llast = $slash ? $lines[$#lines] : undef;
	$lnum++;
	}
close(MAKE);

# Then look for variables and rules
local ($i, %var, %rule);
for($i=0; $i<@lines; $i++) {
	if ($lines[$i]->{'value'} =~ /^\s*(\S+)\s*=\s*(.*)/) {
		# Found a variable
		$var{$1} = { 'name' => $1,
			     'value' => $2,
			     'type' => 0,
			     'line' => $lines[$i]->{'line'},
			     'eline' => $lines[$i]->{'eline'} };
		}
	elsif ($lines[$i]->{'value'} =~ /^\s*(\S+):\s*(.*)/) {
		# Found a makefile rule
		$rule{$1} = { 'name' => $1,
			      'value' => $2,
			      'type' => 1,
			      'line' => $lines[$i]->{'line'},
			      'eline' => $lines[$i]->{'eline'} };
		if ($lines[$i+1]->{'value'} =~ /^\s+/) {
			$rule{$1}->{'code'} = $lines[$i+1]->{'value'};
			$rule{$1}->{'eline'} = $lines[$i+1]->{'eline'};
			$i++;
			}
		}
	}
return ( \%var, \%rule );
}

# expand_vars(string, &vars)
sub expand_vars
{
local $rv = $_[0];
while($rv =~ /^(.*)\$\(([A-Za-z0-9_]+)\)(.*)$/) {
#	if (substr($_[1]->{$2}->{'value'}, 0, 7) eq '$(shell') {
#		$rv = $1."\0(".$2.")".$3;
#		}
#	else {
		$rv = $1.$_[1]->{$2}->{'value'}.$3;
#		}
	}
#$rv =~ s/\0/\$/g;
return $rv;
}

# update_makefile(&old, value, [value]);
sub update_makefile
{
local $lref = &read_file_lines($yp_makefile);
local @n;
if ($_[0]->{'type'} == 0) {
	@n = ( "$_[0]->{'name'} = $_[1]" );
	}
else {
	@n = ( "$_[0]->{'name'}: $_[1]", $_[2] );
	}
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1, @n);
}

1;

07070100040ed7000081a40000000000000002000000013d1fe2e3000007be000000200000000000000000000000000000001900000003reloc/nis/nisupdate.conf  # 		Sample Rules for the nis_update Script

# Copy this file into a subdirectory with your NIS domain's name as
# .nisupdate.conf and edit it there to reflect the maps you have.

# For every possible transformation complex ( e.g. passwd+shadow ->
# *.byname+.byuid) there is a rule that is identified by a free-form string
# that is printed upon its execution. The contents of $rule{"$idstr"} determine
# the actual action to be taken.

# Rule syntax: "<func> <src>[,<src2>,...]  <dest>[,<dest2>,...] [func-options]"
# options must be last because they're optional :-)
# they are a comma separated list for each target:
# 0-9: key field
# 'n': exclude key field from value string
# ':': field separator (group, no shadow). passwd is special anyway.
#
# default is "0" for single DBs, "0,1" for dual DBs (*.byname,*.bynumber)

# I assume you want at least passwd and group.
# Un-comment the rest or add your own.

# $rule{"aliases"} =
#     "mkdb aliases mail.aliases n0:";

# $rule{"amd.home"} =
#     "mkdb amd.home amd.home n0";

# $rule{"amd.master"} =
#     "mkdb amd.master amd.master n0";

# $rule{"ethers"} =
#     "mkdb2 ethers ethers.byname,ethers.byaddr ";

$rule{"group"} =
    "mkdb2 group group.bygid,group.byname 2:,0:";

# $rule{"group.shadow"} =
#    "pwunconv group,gshadow group.bygid,group.byname";

# $rule{"hosts"} =
#     "mkdb2 hosts hosts.byname,hosts.byaddr 1,0";

# $rule{"netgroup"} =
#     "revnetgroup netgroup netgroup,netgroup.byuser,netgroup.byhost";

# $rule{"netid"} =
#     "mkdb netid netid.byname ";

# $rule{"networks"} =
#     "mkdb2 networks networks.byname,networks.byaddr 0,1";

$rule{"passwd"} =
    "pwunconv passwd,shadow passwd.byname,passwd.byuid,shadow.byname";

# $rule{"protocols"} =
#     "mkdb2 protocols protocols.byname,protocols.bynumber";

# $rule{"rpc"} =
#     "mkdb2 rpc rpc.byname,rpc.bynumber 1,0";

# $rule{"services"} =
#     "mkdb2 services services.byservicename,services.byservicenumber";

# $rule{""} = "mkdb  0";

  07070100040ed8000081e40000000000000002000000013d1fe2e30000126b000000200000000000000000000000000000002500000003reloc/nis/old_edit_passwd_shadow.cgi  #!/usr/local/bin/perl
# edit_passwd_shadow.cgi
# Edit a NIS password/shadow files entry

require './nis-lib.pl';
require 'timelocal.pl';
&ReadParse();
&header($text{'passwd_title'}, "");
print "<hr>\n";

# Build list of available shells
@shlist = ("/bin/sh", "/bin/csh", "/bin/false");
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

($t, $lnums, $passwd, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, ':');
print "<form action=save_passwd_shadow.cgi>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=line value='$in{'line'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'passwd_name'}</b></td>\n";
print "<td><input name=name size=10 value=\"$passwd->[0]\"></td>\n";

print "<td><b>$text{'passwd_uid'}</b></td>\n";
print "<td><input name=uid size=10 value=\"$passwd->[2]\"></td> </tr>\n";

print "<tr> <td><b>$text{'passwd_real'}</b></td>\n";
print "<td><input name=real size=20 value=\"$passwd->[4]\"></td>\n";

print "<td><b>$text{'passwd_home'}</b></td>\n";
print "<td><input name=home size=25 value=\"$passwd->[5]\"> ",
      &file_chooser_button("home", 1),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'passwd_shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
foreach $s (&unique(@shlist)) {
	printf "<option %s>%s\n",
		$passwd->[6] eq $s ? 'selected' : '', $s;
	$found++ if ($passwd->[6] eq $s);
	}
printf "<option %s>%s\n", $found ? '' : 'selected', $text{'passwd_other'};
print "</select><br>\n";
printf "<input name=other size=20 value='%s'> %s</td>\n",
	$found ? '' : $passwd->[6], &file_chooser_button("other");

%uconfig = &foreign_config("useradmin");
print "<td valign=top rowspan=2><b>$text{'passwd_pass'}</b></td> <td rowspan=2>\n";
printf"<input type=radio name=passmode value=0 %s> %s<br>\n",
	$passwd->[0] eq "" ? "checked" : "",
	$uconfig{'empty_mode'} ? $text{'passwd_none1'} : $text{'passwd_none2'};
printf"<input type=radio name=passmode value=1 %s> $text{'passwd_nologin'}<br>\n",
	$passwd->[0] eq $uconfig{'lock_string'} ? "checked" : "";
print "<input type=radio name=passmode value=3> $text{'passwd_clear'}\n";
printf "<input %s name=pass size=15><br>\n",
	$uconfig{'passwd_stars'} ? "type=password" : "";
printf "<input type=radio name=passmode value=2 %s> $text{'passwd_encrypted'}\n",
	$passwd->[0] && $passwd->[0] ne $uconfig{'lock_string'} ? "checked" :"";
printf "<input name=encpass size=13 value=\"%s\">\n",
	$passwd->[0] && $passwd->[0] ne $uconfig{'lock_string'} ? $pass : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'passwd_gid'}</b></td>\n";
print "<td><input name=gid size=10 value='$passwd->[3]'></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'passwd_change'}</b></td>\n";
if ($shadow->[2] && $shadow->[2] >= 0) {
	@tm = localtime(timelocal(gmtime($shadow->[2] * 60*60*24)));
	printf "<td>%s/%s/%s</td>\n",
		$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
	}
elsif ($in{'line'} eq "") { print "<td>$text{'passwd_never'}</td>\n"; }
else { print "<td>$text{'passwd_unknown'}</td>\n"; }

print "<td><b>$text{'passwd_expire'}</b></td>\n";
if ($shadow->[7] && $shadow->[7] >= 0) {
	@tm = localtime($shadow->[7] * 60*60*24);
	$eday = $tm[3];
	$emon = $tm[4]+1;
	$eyear = $tm[5]+1900;
	}
print "<td>";
&date_input($eday, $emon, $eyear, 'expire');
print "</td>\n";

print "<tr> <td><b>$text{'passwd_min'}</b></td>\n";
printf "<td><input size=5 name=min value=\"%s\"></td>\n",
	$shadow->[3] < 0 ? "" : $shadow->[3];

print "<td><b>$text{'passwd_max'}</b></td>\n";
printf "<td><input size=5 name=max value=\"%s\"></td></tr>\n",
	$shadow->[4] < 0 ? "" : $shadow->[4];

print "<tr> <td><b>$text{'passwd_warn'}</b></td>\n";
printf "<td><input size=5 name=warn value=\"%s\"></td>\n",
	$shadow->[5] < 0 ? "" : $shadow->[5];

print "<td><b>$text{'passwd_inactive'}</b></td>\n";
printf "<td><input size=5 name=inactive value=\"%s\"></td></tr>\n",
	$shadow->[6] < 0 ? "" : $shadow->[6];

print "<input type=hidden name=flags value='$shadow->[8]'>\n";
print "</table></td></tr></table>\n";

if (defined($in{'line'})) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else {
	print "<input type=submit value='$text{'create'}'>\n";
	}
print "</form><hr>\n";
&footer("edit_tables.cgi?table=$in{'table'}", $text{'tables_return'});

 07070100040ed9000081a40000000000000002000000013d1fe2e300002abf000000200000000000000000000000000000001c00000003reloc/nis/open-linux-lib.pl   # open-linux-lib.pl
# NIS functions for caldera linux NIS client and server

$nis_config_dir = "/etc/nis";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!-x "/usr/libexec/nis/rpc.ypserv") {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*broadcast/i) {
		$nis->{'domain'} = $1;
		$nis->{'broadcast'}++;
		}
	elsif (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		$nis->{'domain'} = $1;
		push(@{$nis->{'servers'}}, $2);
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		}
	}
close(CONF);
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server ",shift(@s),"\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);
if ($_[0]->{'domain'}) {
	&enable_on_boot("nis-client");
	}
else {
	&disable_on_boot("nis-client");
	}

# Apply by running the init script
local $init = &init_script("nis-client");
&system_logged("$init stop >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	&system_logged("domainname \"$_[0]->{'domain'}\"");
	local $out = &backquote_logged("$init start 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	$out = `ypwhich 2>&1`;
	if ($?) { return $text{'client_eypwhich'}; }
	}
else {
	&system_logged("domainname '' >/dev/null 2>&1");
	}
return undef;
}

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local @domains;
opendir(DIR, $nis_config_dir);
foreach $f (readdir(DIR)) {
	push(@domains, $f) if ($f !~ /^\./ &&
			       -r "$nis_config_dir/$f/.nisupdate.conf");
	}
closedir(DIR);
@domains = ( "" ) if (!@domains);

local $boot = &check_on_boot("nis-server");
print "<tr> <td valign=top><b>$text{'server_boot'}</b></td>\n";
printf "<td valign=top><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td> </tr>\n",
	$boot ? '' : 'checked', $text{'no'};

local $n = 0;
foreach $d (@domains) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	print "<input type=hidden name=old_$n value='$d'>\n";
	print "<tr> <td valign=top><b>$text{'server_domain'}</b></td>\n";
	printf "<td valign=top>".
	       "<input type=radio name=domain_def_$n value=1 %s> %s\n",
		$d ? '' : 'checked', $text{'server_none'};
	printf "<input type=radio name=domain_def_$n value=0 %s>\n",
		$d ? 'checked' : '';
	print "<input name=domain_$n size=30 value='$d'></td>\n";

	local @conf = &parse_nisupdate_conf(
		$d ? "$nis_config_dir/$d/.nisupdate.conf"
		   : "nisupdate.conf");
	print "<td valign=top><b>$text{'server_tables'}</b></td>\n";
	print "<td><select name=tables_$n size=6 multiple>\n";
	foreach $c (@conf) {
		printf "<option value=%s %s>%s\n",
			$c->{'table'}, $c->{'active'} ? 'selected' : '',
			$c->{'table'};
		}
	print "</select></td> </tr>\n";

	$n++;
	}

}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($n, $anydomains);
for($n=0; defined($in{"old_$n"}); $n++) {
	# Update the domain name directory
	$in{"domain_def_$n"} || $in{"domain_$n"} =~ /^[A-Za-z0-9\.\-]+$/ ||
		&error(&text('server_edomain', $in{"domain_$n"}));
	local $domain = $in{"domain_def_$n"} ? undef : $in{"domain_$n"};
	local $old = $in{"old_$n"};
	if (!$old && !$domain) {
		# No domain before, and none chosen
		next;
		}
	elsif (!$old && $domain) {
		# New domain added
		mkdir("$nis_config_dir/$domain", 0755);
		&system_logged("cp nisupdate.conf ".
			       "$nis_config_dir/$domain/.nisupdate.conf");
		}
	elsif ($old && !$domain) {
		# Domain taken away
		&system_logged("rm -rf $nis_config_dir/$old");
		next;
		}
	elsif ($old ne $domain) {
		# Domain renamed
		&rename_logged("$nis_config_dir/$old",
			       "$nis_config_dir/$domain");
		}
	$anydomains++;

	# Update the config file
	local $file = "$nis_config_dir/$domain/.nisupdate.conf";
	local @conf = &parse_nisupdate_conf($file);
	local $lref = &read_file_lines($file);
	local %table;
	map { $table{$_}++ } split(/\0/, $in{"tables_$n"});
	foreach $c (@conf) {
		if ($c->{'active'} && !$table{$c->{'table'}}) {
			# Need to deactivate a table
			splice(@$lref, $c->{'line'},
			       $c->{'eline'} - $c->{'line'} + 1,
			       map { "#$_" } @{$c->{'data'}});
			}
		elsif (!$c->{'active'} && $table{$c->{'table'}}) {
			# Need to activate a table
			splice(@$lref, $c->{'line'},
			       $c->{'eline'} - $c->{'line'} + 1,
			       @{$c->{'data'}});
			}
		}
	&flush_file_lines();
	}

# Start the NIS server and rebuild maps if needed
if ($in{'boot'}) {
	&enable_on_boot("nis-server");
	}
else {
	&disable_on_boot("nis-server");
	}
local $init = &init_script("nis-server");
&system_logged("$init stop >/dev/null 2>&1");
if ($anydomains && $in{'boot'}) {
	&system_logged("$init start >/dev/null 2>&1");
	}
&apply_table_changes();
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
local $boot = &check_on_boot("nis-server");
local $dc;
opendir(DIR, $nis_config_dir);
foreach $f (readdir(DIR)) {
	$dc++ if ($f !~ /^\./ && -r "$nis_config_dir/$f/.nisupdate.conf");
	}
closedir(DIR);
if (!$boot || !$dc) {
	return 0;
	}
else {
	return 1;
	}
}

# parse_nisupdate_conf(file)
sub parse_nisupdate_conf
{
local @rv;
local $lnum = 0;
open(CONF, $_[0]);
while(<CONF>) {
	s/\r|\n//g;
	if (/^\s*(#*)(\s*\$rule{['"]([^"']+)['"]}.*)/) {
		local $text = $2;
		local $table = { 'table' => $3,
				 'active' => $1 eq '',
				 'data' => [ $2 ],
				 'line' => $lnum,
			 	 'eline' => $lnum };
		while(!/;\s*$/) {
			($_ = <CONF>) || last;
			s/^\s*#+//; s/\r|\n//g;
			push(@{$table->{'data'}}, $_);
			$text .= " $_";
			$lnum++;
			$table->{'eline'} = $lnum;
			}
		$table->{'value'} = $2 if ($text =~ /\$rule{['"]([^"']+)['"]}\s*=\s*["']([^"']+)["']/);
		push(@rv, $table);
		}
	$lnum++;
	}
close(CONF);
return @rv;
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local @rv;
opendir(DIR, $nis_config_dir);
foreach $d (readdir(DIR)) {
	push(@domains, $d) if ($d !~ /^\./ &&
			       -r "$nis_config_dir/$d/.nisupdate.conf");
	}
closedir(DIR);
foreach $d (@domains) {
	local @conf = &parse_nisupdate_conf(
			"$nis_config_dir/$d/.nisupdate.conf");
	foreach $t (@conf) {
		next if (!$t->{'active'});
		local $table = { 'table' => $t->{'table'},
				 'domain' => $d,
				 'index' => scalar(@rv) };
		if ($t->{'value'} =~ /^(\S+)\s+(\S+)/) {
			$table->{'files'} = [ map { "$nis_config_dir/$d/$_" }
					 	  split(/,/, $2) ];
			}
		if ($t->{'table'} eq 'passwd') {
			$table->{'type'} = 'passwd_shadow';
			}
		elsif ($t->{'table'} eq 'services') {
			$table->{'type'} = 'services2';
			}
		else {
			$table->{'type'} = $t->{'table'};
			}
		push(@rv, $table);
		}
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

 07070100040eda000081a40000000000000002000000013d1fe2e3000034e3000000200000000000000000000000000000001e00000003reloc/nis/redhat-linux-lib.pl # redhat-linux-lib.pl
# NIS functions for redhat linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*broadcast/i) {
		$nis->{'broadcast'}++;
		}
	elsif (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		push(@{$nis->{'servers'}}, $2);
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
$nis->{'domain'} = $network{'NISDOMAIN'};
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server $s[0]\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);
local %network;
&read_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) { $network{'NISDOMAIN'} = $_[0]->{'domain'}; }
else { delete($network{'NISDOMAIN'}); }
&write_env_file("/etc/sysconfig/network", \%network);
if ($_[0]->{'domain'}) {
	&enable_on_boot("ypbind");
	}
else {
	&disable_on_boot("ypbind");
	}

# Apply by setting the domainname and running the init script
&system_logged("domainname '$_[0]->{'domain'}' >/dev/null 2>&1");
local $init = &init_script("ypbind");
&system_logged("$init stop >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	local $out = &backquote_logged("$init start 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey", "networks",
		"ethers", "bootparams", "printcap", "amd.home", "auto.master",
		"auto.home", "passwd.adjunct" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();

local $boot = &check_on_boot("ypserv");
print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$boot ? '' : 'checked', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

if ($in{'boot'}) {
	&enable_on_boot("ypserv");
	&enable_on_boot("yppasswdd");
	}
else {
	&disable_on_boot("ypserv");
	&disable_on_boot("yppasswdd");
	}
local $init1 = &init_script("ypserv");
local $init2 = &init_script("yppasswdd");
&system_logged("$init1 stop >/dev/null 2>&1");
&system_logged("$init2 stop >/dev/null 2>&1");
if ($in{'boot'}) {
	&system_logged("$init1 start >/dev/null 2>&1");
	&system_logged("$init2 start >/dev/null 2>&1");
	}
&flush_file_lines();
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
if (!&check_on_boot("ypserv")) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

 07070100040edb000081e40000000000000002000000013d1fe2e3000002f3000000200000000000000000000000000000001b00000003reloc/nis/save_aliases.cgi    #!/usr/local/bin/perl
# save_aliases.cgi
# Create, update or delete an alias

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $alias) = &table_edit_setup($in{'table'}, $in{'line'}, '[\s:]+');
if ($in{'delete'}) {
	# Just delete the alias
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the alias
	&error_setup($text{'aliases_err'});
	$in{'from'} =~ /^[^:@ ]+$/ || &error($text{'aliases_efrom'});
	@to = split(/\s+/, $in{'to'});
	@to || &error($text{'aliases_eto'});
	@alias = ( $in{'from'}, join(",", @to) );
	if ($in{'line'} eq '') {
		&table_add($t, ":", \@alias);
		}
	else {
		&table_update($t, $lnums, ":", \@alias);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

 07070100040edc000081e40000000000000002000000013d1fe2e30000029d000000200000000000000000000000000000001a00000003reloc/nis/save_client.cgi #!/usr/local/bin/perl
# save_client.cgi
# Save and apply NIS client options

require './nis-lib.pl';
&ReadParse();
&error_setup($text{'client_err'});

# Parse and validate inputs
if (!$in{'domain_def'}) {
	$in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
		&error($text{'client_edomain'});
	$nis->{'domain'} = $in{'domain'};
	}
if ($in{'broadcast'}) {
	$nis->{'broadcast'} = 1;
	}
else {
	@servers = split(/\s+/, $in{'servers'});
	foreach $s (@servers) {
		gethostbyname($s) || &check_ipaddress($s) ||
			&error(&text('client_eserver', $s));
		}
	$nis->{'servers'} = \@servers;
	}

# Save and apply
$err = &save_client_config($nis);
if ($err) { &error($err); }
&redirect("");

   07070100040ef3000081e40000000000000002000000013d1fe2e300000300000000200000000000000000000000000000001a00000003reloc/nis/save_ethers.cgi #!/usr/local/bin/perl
# save_ethers.cgi
# Create, update or delete an ethernet address

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $ether) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the ether
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the host
	&error_setup($text{'ethers_err'});
	lc($in{'mac'}) =~ /^([0-9a-f]{2}:){5}[0-9a-f]{2}$/ ||
		&error($text{'ethers_emac'});
	gethostbyname($in{'ip'}) || &error($text{'ethers_eip'});
	@ether = ( $in{'mac'}, $in{'ip'} );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@ether);
		}
	else {
		&table_update($t, $lnums, "\t", \@ether);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040ef4000081e40000000000000002000000013d1fe2e300000232000000200000000000000000000000000000001800000003reloc/nis/save_file.cgi   #!/usr/local/bin/perl
# save_file.cgi
# Save the files of a manually edited NIS table

require './nis-lib.pl';
&ReadParseMime();
@tables = &list_nis_tables();
$table = $tables[$in{'table'}];
$fnum = 0;
foreach $f (@{$table->{'files'}}) {
	$in{"data_$fnum"} =~ s/\r//g;
	if ($in{"data_$fnum"} =~ /\S/) {
		$in{"data_$fnum"} =~ s/\s*$/\n/;
		}
	else {
		$in{"data_$fnum"} = "";
		}
	open(FILE, ">$f");
	print FILE $in{"data_$fnum"};
	close(FILE);
	$fnum++;
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

  07070100040ef5000081e40000000000000002000000013d1fe2e3000003b1000000200000000000000000000000000000001900000003reloc/nis/save_group.cgi  #!/usr/local/bin/perl
# save_group.cgi
# Create, update or delete a group

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $group) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the group
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the group
	&error_setup($text{'group_err'});
	$in{'name'} =~ /^[^:\s]+$/ || &error($text{'group_ename'});
	$in{'gid'} =~ /^\d+$/ || &error($text{'group_egid'});
	$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	@group = ( $in{'name'},
		   $in{'passmode'} == 0 ? "" :
		   $in{'passmode'} == 1 ? $in{'encpass'} :
					  crypt($in{'pass'}, $salt),
		   $in{'gid'},
		   join(",", split(/\s+/, $in{'members'})) );
	if ($in{'line'} eq '') {
		&table_add($t, ":", \@group);
		}
	else {
		&table_update($t, $lnums, ":", \@group);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

   07070100040ef6000081e40000000000000002000000013d1fe2e300000428000000200000000000000000000000000000002000000003reloc/nis/save_group_shadow.cgi   #!/usr/local/bin/perl
# save_group_shadow.cgi
# Create, update or delete a group

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $group, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the group
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the group
	&error_setup($text{'group_err'});
	$in{'name'} =~ /^[^:\s]+$/ || &error($text{'group_ename'});
	$in{'gid'} =~ /^\d+$/ || &error($text{'group_egid'});
	$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	@group = ( $in{'name'}, "x", $in{'gid'},
		   join(",", split(/\s+/, $in{'members'})) );
	@shadow = ( $in{'name'},
		    $in{'passmode'} == 0 ? "" :
		    $in{'passmode'} == 1 ? $in{'encpass'} :
					   crypt($in{'pass'}, $salt),
		    "", join(",", split(/\s+/, $in{'members'})) );
	if ($in{'line'} eq '') {
		&table_add($t, ":", \@group, \@shadow);
		}
	else {
		&table_update($t, $lnums, ":", \@group, \@shadow);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040ef7000081e40000000000000002000000013d1fe2e3000002fc000000200000000000000000000000000000001900000003reloc/nis/save_hosts.cgi  #!/usr/local/bin/perl
# save_hosts.cgi
# Create, update or delete a host

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $host) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the host
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the host
	&error_setup($text{'hosts_err'});
	&check_ipaddress($in{'ip'}) || &error($text{'hosts_eip'});
	$in{'name'} =~ /^[A-Za-z0-9\.\-]+$/ || &error($text{'hosts_ename'});
	@host = ( $in{'ip'}, $in{'name'}, split(/\s+/, $in{'aliases'}) );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@host);
		}
	else {
		&table_update($t, $lnums, "\t", \@host);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040ef8000081e40000000000000002000000013d1fe2e300000434000000200000000000000000000000000000001c00000003reloc/nis/save_netgroup.cgi   #!/usr/local/bin/perl
# save_netgroup.cgi
# Create, update or delete a netgroup

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $netgroup) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the netgroup
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the netgroup
	&error_setup($text{'netgroup_err'});
	$in{'name'} =~ /^[A-Za-z0-9\.\-]+$/ || &error($text{'netgroup_ename'});
	@netgroup = ( $in{'name'} );
	HOST: for($i=0; defined($in{"host_$i"}); $i++) {
		local @h;
		foreach $v ('host', 'user', 'dom') {
			if ($in{"${v}_def_$i"} == 1) { push(@h, ""); }
			elsif ($in{"${v}_def_$i"} == 2) { next HOST; }
			elsif ($in{"${v}_$i"} !~ /^\S+$/) {
				&error(&text("netgroup_e$v", $i+1));
				}
			else { push(@h, $in{"${v}_$i"}); }
			}
		push(@netgroup, "($h[0],$h[1],$h[2])");
		}
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@netgroup);
		}
	else {
		&table_update($t, $lnums, "\t", \@netgroup);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040ef9000081e40000000000000002000000013d1fe2e3000002f7000000200000000000000000000000000000001c00000003reloc/nis/save_netmasks.cgi   #!/usr/local/bin/perl
# save_netmasks.cgi
# Create, update or delete a netmask

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $netmask) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the ether
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the host
	&error_setup($text{'netmasks_err'});
	&check_ipaddress($in{'net'}) || &error($text{'netmasks_enet'});
	&check_ipaddress($in{'mask'}) || &error($text{'netmasks_emask'});
	@netmask = ( $in{'net'}, $in{'mask'} );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@netmask);
		}
	else {
		&table_update($t, $lnums, "\t", \@netmask);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

 07070100040efa000081e40000000000000002000000013d1fe2e30000031d000000200000000000000000000000000000001c00000003reloc/nis/save_networks.cgi   #!/usr/local/bin/perl
# save_networks.cgi
# Create, update or delete a network

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $network) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the network
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the network
	&error_setup($text{'networks_err'});
	&check_ipaddress($in{'ip'}) || &error($text{'networks_eip'});
	$in{'name'} =~ /^[A-Za-z0-9\.\-]+$/ || &error($text{'networks_ename'});
	@network = ( $in{'name'}, $in{'ip'}, split(/\s+/, $in{'aliases'}) );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@network);
		}
	else {
		&table_update($t, $lnums, "\t", \@network);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

   07070100040efb000081e40000000000000002000000013d1fe2e3000009a2000000200000000000000000000000000000002100000003reloc/nis/save_passwd_shadow.cgi  #!/usr/local/bin/perl
# save_passwd_shadow.cgi
# Create, update or delete a password/shadow files entry

require './nis-lib.pl';
require 'timelocal.pl';
&ReadParse();

($t, $lnums, $passwd, $shadow) =
	&table_edit_setup($in{'table'}, $in{'line'}, ':');
if ($in{'delete'}) {
	# Just delete the user
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the user
	&error_setup($text{'passwd_err'});
	$in{'name'} =~ /^[^: \t]+$/ || &error($text{'passwd_ename'});
	$in{'uid'} =~ /^\d+$/ || &error($text{'passwd_euid'});
	$in{'gid'} =~ /^\d+$/ || &error($text{'passwd_egid'});
	$in{'real'} =~ /^[^:]*$/ || &error($text{'passwd_ereal'});
	$in{'home'} =~ /^[^:]+$/ || &error($text{'passwd_ehome'});
	$in{'shell'} ne '' || $in{'other'} =~ /^[^:]+$/ ||
		&error($text{'passwd_eshell'});
	$in{'passmode'} != 2 || $in{'encpass'} =~ /^[^:]*$/ ||
		&error($text{'passwd_epass'});
	%uconfig = &foreign_config("useradmin");
	$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	@passwd = ( $in{'name'}, 'x',
		    $in{'uid'}, $in{'gid'}, $in{'real'},
		    $in{'home'}, $in{'shell'} ? $in{'shell'} : $in{'other'} );
	$pass = $in{'passmode'} == 0 ? "" :
		$in{'passmode'} == 1 ? $uconfig{'lock_string'} :
		$in{'passmode'} == 2 ? $in{'encpass'} :
				       crypt($in{'pass'}, $salt);
	if ($in{'mode'} == 2) {
		# Parse extra shadow inputs
		if ($in{'expired'} ne "" && $in{'expirem'} ne "" &&
		    $in{'expirey'} ne "") {
			eval { $expire = timelocal(0, 0, 12, $in{'expired'},
						   $in{'expirem'}-1,
						   $in{'expirey'}-1900) };
			&error($text{'passwd_eexpire'}) if ($@);
			$expire = int($expire / (60*60*24));
			}
		$in{'min'} =~ /^[0-9]*$/ || &error($text{'passwd_emin'});
		$in{'max'} =~ /^[0-9]*$/ || &error($text{'passwd_emax'});
		$in{'warn'} =~ /^[0-9]*$/ || &error($text{'passwd_ewarn'});
		$in{'inactive'} =~ /^[0-9]*$/ || &error($text{'passwd_einactive'});
		@shadow = ( $in{'name'}, $pass,
			    undef, $in{'min'}, $in{'max'}, $in{'warn'},
			    $in{'inactive'}, $expire, $shadow->[8] );
		$shadow[2] = int(time() / (60*60*24))
			if ($shadow[1] ne $shadow->[1]);
		}
	elsif ($in{'mode'} == 1) {
		@shadow = ( $in{'name'}, $pass,
			    @$shadow[2..8] );
		}
	else {
		$passwd[1] = $pass;
		}

	if ($in{'line'} eq '') {
		&table_add($t, ":", \@passwd, \@shadow);
		}
	else {
		&table_update($t, $lnums, ":", \@passwd, \@shadow);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

  07070100040efc000081e40000000000000002000000013d1fe2e30000032c000000200000000000000000000000000000001d00000003reloc/nis/save_protocols.cgi  #!/usr/local/bin/perl
# save_protocols.cgi
# Create, update or delete a protocol

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $protocol) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the service
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the protocol
	&error_setup($text{'protocols_err'});
	$in{'name'} =~ /^[A-Za-z0-9\_\-]+$/ || &error($text{'protocols_ename'});
	$in{'number'} =~ /^\d+$/ || &error($text{'protocols_enumber'});
	@protocol = ( $in{'name'}, $in{'number'}, split(/\s+/, $in{'aliases'}) );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@protocol);
		}
	else {
		&table_update($t, $lnums, "\t", \@protocol);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040efd000081e40000000000000002000000013d1fe2e3000002f0000000200000000000000000000000000000001700000003reloc/nis/save_rpc.cgi    #!/usr/local/bin/perl
# save_rpc.cgi
# Create, update or delete an rpc program

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $rpc) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the host
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the host
	&error_setup($text{'rpc_err'});
	$in{'name'} =~ /^\S+$/ || &error($text{'rpc_ename'});
	$in{'number'} =~ /^\d+$/ || &error($text{'rpc_enumber'});
	@rpc = ( $in{'name'}, $in{'number'}, split(/\s+/, $in{'aliases'}) );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@rpc);
		}
	else {
		&table_update($t, $lnums, "\t", \@rpc);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

07070100040efe000081e40000000000000002000000013d1fe2e300000336000000200000000000000000000000000000001c00000003reloc/nis/save_security.cgi   #!/usr/local/bin/perl
# save_security.cgi
# Save NIS server security options

require './nis-lib.pl';
&ReadParse();
&error_setup($text{'security_err'});

# Save trusted servers
if ($config{'securenets'}) {
	for($i=0; defined($in{"net_$i"}); $i++) {
		next if (!$in{"net_$i"});
		&check_ipaddress($in{"net_$i"}) ||
			&error(&text('security_enet', $in{"net_$i"}));
		if ($in{"def_$i"} == 0) {
			&check_ipaddress($in{"mask_$i"}) ||
				&error(&text('security_emask', $in{"mask_$i"}));
			$mask = $in{"mask_$i"};
			}
		elsif ($in{"def_$i"} == 1) {
			$mask = "host";
			}
		else {
			$mask = "0.0.0.0";
			}
		push(@lines, $mask." ".$in{"net_$i"}."\n");
		}
	open(SERVERS, ">$config{'securenets'}");
	print SERVERS @lines;
	close(SERVERS);
	}

# Save OS-specific security options
&parse_server_security();

&redirect("");

  07070100040eff000081e40000000000000002000000013d1fe2e3000000be000000200000000000000000000000000000001a00000003reloc/nis/save_server.cgi #!/usr/local/bin/perl
# save_server.cgi
# Save and apply NIS server options

require './nis-lib.pl';
&error_setup($text{'server_err'});
&ReadParse();
&parse_server_config();
&redirect("");

  07070100040f00000081e40000000000000002000000013d1fe2e30000030d000000200000000000000000000000000000001c00000003reloc/nis/save_services.cgi   #!/usr/local/bin/perl
# save_services.cgi
# Create, update or delete a service

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $service) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the service
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the service
	&error_setup($text{'services_err'});
	$in{'name'} =~ /^[A-Za-z0-9\_\-]+$/ || &error($text{'services_ename'});
	$in{'port'} =~ /^\d+$/ || &error($text{'services_eport'});
	@service = ( $in{'name'}, "$in{'port'}/$in{'proto'}" );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@service);
		}
	else {
		&table_update($t, $lnums, "\t", \@service);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

   07070100040f01000081e40000000000000002000000013d1fe2e30000030e000000200000000000000000000000000000001d00000003reloc/nis/save_services2.cgi  #!/usr/local/bin/perl
# save_services2.cgi
# Create, update or delete a service

require './nis-lib.pl';
&ReadParse();

($t, $lnums, $service) = &table_edit_setup($in{'table'}, $in{'line'}, '\s+');
if ($in{'delete'}) {
	# Just delete the service
	&table_delete($t, $lnums);
	}
else {
	# Validate inputs and save the service
	&error_setup($text{'services_err'});
	$in{'name'} =~ /^[A-Za-z0-9\_\-]+$/ || &error($text{'services_ename'});
	$in{'port'} =~ /^\d+$/ || &error($text{'services_eport'});
	@service = ( "$in{'name'}/$in{'proto'}", $in{'port'} );
	if ($in{'line'} eq '') {
		&table_add($t, "\t", \@service);
		}
	else {
		&table_update($t, $lnums, "\t", \@service);
		}
	}
&apply_table_changes() if (!$config{'manual_build'});
&redirect("edit_tables.cgi?table=$in{'table'}");

  07070100040f02000081e40000000000000002000000013d1fe2e30000021b000000200000000000000000000000000000001a00000003reloc/nis/save_switch.cgi #!/usr/local/bin/perl
# save_switch.cgi
# Save client nsswitch configuration

require './nis-lib.pl';
&ReadParse();
&error_setup($text{'switch_err'});

foreach $sv (split(/\s+/, $in{'list'})) {
	if (defined($o = $in{"order_$sv"})) {
		$o =~ /\S/ ||
			&error(&text('switch_eorder', $text{"switch_$sv"}));
		&save_nsswitch($sv, $o);
		}
	else {
		local @order;
		for($i=1; defined($o = $in{"order_${sv}_${i}"}); $i++) {
			push(@order, $o) if ($o);
			}
		&save_nsswitch($sv, join(" ", @order));
		}
	}
&flush_file_lines();
&redirect("");

 07070100040f03000081a40000000000000002000000013d1fe2e300003354000000200000000000000000000000000000002100000003reloc/nis/slackware-linux-lib.pl  # redhat-linux-lib.pl
# NIS functions for redhat linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";
$default_domain = "/etc/defaultdomain";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(CONF, $config{'client_conf'});
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/^\s*domain\s*(\S+)\s*broadcast/i) {
		$nis->{'broadcast'}++;
		}
	elsif (/^\s*domain\s*(\S+)\s*server\s*(\S+)/i) {
		push(@{$nis->{'servers'}}, $2);
		}
	elsif (/^\s*ypserver\s*(\S+)/) {
		push(@{$nis->{'servers'}}, $1);
		}
	}
close(CONF);
if (open(DOMAIN, $default_domain)) {
	chop($nis->{'domain'} = <DOMAIN>);
	close(DOMAIN);
	}
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server $s[0]\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);
if ($_[0]->{'domain'}) {
	open(DOMAIN, ">$default_domain");
	print DOMAIN $_[0]->{'domain'},"\n";
	close(DOMAIN);
	}
else {
	unlink($default_domain);
	}

# Apply by setting the domainname and running the init script
&system_logged("nisdomainname '$_[0]->{'domain'}' >/dev/null 2>&1");
if ($_[0]->{'domain'}) {
	local $out = &backquote_logged("ypbind 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey", "networks",
		"ethers", "bootparams", "printcap", "amd.home", "auto.master",
		"auto.home", "passwd.adjunct" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();

local @pid = &find_byname("ypserv");
local $boot = @pid > 0;
print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$boot ? '' : 'checked', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

local @pid = &find_byname("ypserv");
if ($in{'boot'}) {
	# Start ypserv if not running
	if (@pid == 0) {
		&system_logged("/usr/sbin/ypserv >/dev/null 2>&1");
		}
	}
else {
	# Stop if running
	if (@pid > 0) {
		&kill_logged('TERM', @pid);
		}
	}
&flush_file_lines();
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
local @pid = &find_byname("ypserv");
if (@pid == 0) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

1;

07070100040f04000081a40000000000000002000000013d1fe2e3000026dd000000200000000000000000000000000000001900000003reloc/nis/solaris-lib.pl  # solaris-lib.pl
# NIS functions for solaris

$binding_dir = "/var/yp/binding";
$yp_makefile = "/var/yp/Makefile";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!-x "/usr/lib/netsvc/yp/ypbind") {
	return 0;
	}
elsif (!-x "/usr/lib/netsvc/yp/ypserv") {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
open(DOM, "/etc/defaultdomain");
chop($nis->{'domain'} = <DOM>);
close(DOM);
if ($nis->{'domain'}) {
	if (open(SRV, "$binding_dir/$nis->{'domain'}/ypservers")) {
		while(<SRV>) {
			s/\r|\n//g;
			push(@{$nis->{'servers'}}, $_);
			}
		close(SRV);
		}
	else {
		$nis->{'broadcast'} = 1;
		}
	}
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
if ($_[0]->{'domain'}) {
	# Check if the servers are in /etc/hosts
	local @s = @{$_[0]->{'servers'}};
	&foreign_require("net", "net-lib.pl");
	foreach $s (@s) {
		local $found = 0;
		foreach $h (&foreign_call("net", "list_hosts")) {
			$found++ if (&indexof($s, @{$h->{'hosts'}}) >= 0);
			}
		return &text("client_ehosts", $s) if (!$found);
		}

	# Write the files
	open(DOM, ">/etc/defaultdomain");
	print DOM $_[0]->{'domain'},"\n";
	close(DOM);
	mkdir("$binding_dir/$_[0]->{'domain'}", 0755);
	if (@s) {
		open(SRV, ">$binding_dir/$_[0]->{'domain'}/ypservers");
		foreach $s (@s) { print SRV "$s\n"; }
		close(SRV);
		}
	else {
		unlink("$binding_dir/$_[0]->{'domain'}/ypservers");
		}
	}
else {
	unlink("/etc/defaultdomain");
	}

# Apply by running ypstop and ypstart
&system_logged("/usr/lib/netsvc/yp/ypstop >/dev/null 2>&1");
&system_logged("domainname \"$_[0]->{'domain'}\" >/dev/null 2>&1");
&system_logged("/usr/lib/netsvc/yp/ypstart >/dev/null 2>&1");
sleep(2);
if ($_[0]->{'domain'}) {
	local $out = `ypwhich 2>&1`;
	if ($? || $out =~ /not\s+bound/i || $out =~ /can't\s+communicate/i) {
		system("/usr/lib/netsvc/yp/ypstop >/dev/null 2>&1");
		return $text{'client_eypwhich'};
		}
	}
}

@nis_tables = ( "passwd", "group", "hosts", "ethers", "networks", "rpc",
	        "services", "protocols", "netgroup", "bootparams", "aliases",
		"publickey", "netid", "netmasks", "c2secure", "timezone",
		"auto.master", "auto.home" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();
local $dom = `domainname`; chop($dom);

print "<tr> <td><b>$text{'server_boot'}</b></td> <td>\n";
if ($dom && -d "/var/yp/$dom") {
	print "<i>$text{'server_already'}</i>\n";
	}
else {
	print "<input type=radio name=boot value=1 > $text{'yes'}\n";
	print "<input type=radio name=boot value=0 checked > $text{'no'}\n";
	}
print "</td>\n";

print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_def value=1 %s> %s\n",
	$dom ? '' : 'checked', $text{'server_none'};
printf "<input type=radio name=domain_def value=0 %s>\n",
	$dom ? 'checked' : '';
printf "<input name=domain size=35 value='%s'></td> </tr>\n", $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "<tr> <td colspan=4><i>$text{'server_solaris'}</i></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local %inall;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
map { $inall{$_}++ } @all;
print "<tr> <td rowspan=4 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=4><select multiple size=6 name=tables>\n";
foreach $t (&unique(@nis_tables, @all)) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td> </tr>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value='\"\"' %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'server_dir'}</b></td>\n";
printf "<td><input name=dir size=30 value='%s'> %s</td> </tr>\n",
	$var->{'DIR'}->{'value'}, &file_chooser_button("dir", 0);

print "<tr> <td><b>$text{'server_pwdir'}</b></td>\n";
printf "<td><input name=pwdir size=30 value='%s'> %s</td> </tr>\n",
	$var->{'PWDIR'}->{'value'}, &file_chooser_button("pwdir", 0);
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
$in{'domain_def'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
if ($in{'boot'} && $in{'domain_def'}) {
	&error($text{'server_ebootdom'});
	}
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
-d $in{'dir'} || &error($text{'server_edir'});
-d $in{'pwdir'} || &error($text{'server_epwdir'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");
&update_makefile($var->{'DIR'}, $in{'dir'});
&update_makefile($var->{'PWDIR'}, $in{'pwdir'});
&flush_file_lines();

if ($in{'domain_def'}) {
	unlink("/etc/defaultdomain");
	&system_logged("domainname \"\" >/dev/null 2>&1");
	}
else {
	local $old = `domainname`; chop($old);
	open(DOM, ">/etc/defaultdomain");
	print DOM "$in{'domain'}\n";
	close(DOM);
	&system_logged("domainname \"$in{'domain'}\" >/dev/null 2>&1");
	if ($in{'boot'}) {
		# Create the domain directory
		mkdir("/var/yp/$in{'domain'}", 0755);
		&system_logged("rm -f /var/yp/*.time");	# force a remake
		}
	}

if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes()
		if (!$in{'domain_def'} && -d "/var/yp/$in{'domain'}");
	}
else {
	local $temp = &tempname();
	open(TEMP, ">$temp");
	print TEMP "n\ny\n";
	close(TEMP);
	$out = &backquote_logged("/usr/sbin/ypinit -s $in{'slave'} <$temp 2>&1");
	unlink($temp);
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
&system_logged("/usr/lib/netsvc/yp/ypstop >/dev/null 2>&1");
&system_logged("/usr/lib/netsvc/yp/ypstart >/dev/null 2>&1");
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
local $dom = `domainname`; chop($dom);
return !$dom ? 0 : $config{'slave'} ? 2 : 1;
}

# parse_yp_makefile()
# Returns hashes of makefile variables and rules
sub parse_yp_makefile
{
# First parse joined lines
local $lnum = 0;
local (@lines, $llast);
open(MAKE, $yp_makefile);
while(<MAKE>) {
	s/\r|\n//g;
	local $slash = (s/\\$//);
	s/#.*$//;
	if ($llast) {
		$llast->{'value'} .= " $_";
		$llast->{'eline'} = $lnum;
		}
	else {
		push(@lines, { 'value' => $_,
			       'line' => $lnum,
			       'eline' => $lnum });
		}
	$llast = $slash ? $lines[$#lines] : undef;
	$lnum++;
	}
close(MAKE);

# Then look for variables and rules
local ($i, %var, %rule);
for($i=0; $i<@lines; $i++) {
	if ($lines[$i]->{'value'} =~ /^\s*(\S+)\s*=\s*(.*)/) {
		# Found a variable
		$var{$1} = { 'name' => $1,
			     'value' => $2,
			     'type' => 0,
			     'line' => $lines[$i]->{'line'},
			     'eline' => $lines[$i]->{'eline'} };
		}
	elsif ($lines[$i]->{'value'} =~ /^\s*(\S+):\s*(.*)/) {
		# Found a makefile rule
		$rule{$1} = { 'name' => $1,
			      'value' => $2,
			      'type' => 1,
			      'code' => $lines[$i+1]->{'value'},
			      'line' => $lines[$i]->{'line'},
			      'eline' => $lines[$i+1]->{'eline'} };
		$i++;
		}
	}
return ( \%var, \%rule );
}

# expand_vars(string, &vars)
sub expand_vars
{
local $rv = $_[0];
while($rv =~ /^(.*)\$\(([A-Za-z0-9_]+)\)(.*)$/) {
	$rv = $1.$_[1]->{$2}->{'value'}.$3;
	}
return $rv;
}

# update_makefile(&old, value, [value]);
sub update_makefile
{
local $lref = &read_file_lines($yp_makefile);
local @n;
if ($_[0]->{'type'} == 0) {
	@n = ( "$_[0]->{'name'} = $_[1]" );
	}
else {
	@n = ( "$_[0]->{'name'}: $_[1]", $_[2] );
	}
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1, @n);
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; /usr/ccs/bin/make) >/dev/null 2>&1 </dev/null");
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local @rv;
local ($var, $rule) = &parse_yp_makefile();
local $dom = `domainname`; chop($dom);
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	local $rt = $rule->{"$t.time"};
	local @files = split(/\s+/, $rt->{'value'});
	@files = map { &expand_vars($_, $var) } @files;
	$table->{'files'} = \@files;
	$table->{'type'} = $t eq 'passwd' ? 'passwd_shadow' :
			   $t;
	push(@rv, $table);
	}
return @rv;
}

sub show_server_security
{
}

sub parse_server_security
{
&system_logged("/usr/lib/netsvc/yp/ypstop >/dev/null 2>&1");
&system_logged("/usr/lib/netsvc/yp/ypstart >/dev/null 2>&1");
}

1;

   07070100040f05000081a40000000000000002000000013d1fe2e300003b2b000000200000000000000000000000000000001c00000003reloc/nis/suse-linux-lib.pl   # suse-linux-lib.pl
# NIS functions for SuSE linux NIS client and server

$yp_makefile = "/var/yp/Makefile";
$ypserv_conf = "/etc/ypserv.conf";
$pid_file = "/var/run/ypserv.pid";
$rc_config = "/etc/rc.config";

# get_nis_support()
# Returns 0 for no support, 1 for client only, or 2 for client & server
sub get_nis_support
{
if (!&has_command("ypbind")) {
	return 0;
	}
elsif (!&has_command("ypserv")) {
	return 1;
	}
else {
	return 2;
	}
}

# get_client_config()
# Returns a hash ref containg details of the client's NIS settings
sub get_client_config
{
local $nis;
local $rc = &parse_rc_config();
if ($rc->{'START_YPBIND'}->{'value'} eq 'yes') {
	$nis->{'domain'} = $rc->{'YP_DOMAINNAME'}->{'value'};
	local @s = split(/\s+/, $rc->{'YP_SERVER'}->{'value'});
	if (@s) {
		$nis->{'servers'} = \@s;
		}
	else {
		$nis->{'broadcast'} = 1;
		}
	}
return $nis;
}

# save_client_config(&config)
# Saves and applies the NIS client configuration in the give hash.
# Returns an error message if any, or undef on success.
sub save_client_config
{
# Save the config file
open(CONF, ">$config{'client_conf'}");
if ($_[0]->{'domain'}) {
	if ($_[0]->{'broadcast'}) {
		print CONF "domain $_[0]->{'domain'} broadcast\n";
		}
	else {
		local @s = @{$_[0]->{'servers'}};
		print CONF "domain $_[0]->{'domain'} server ",shift(@s),"\n";
		foreach $s (@s) {
			print CONF "ypserver $s\n";
			}
		}
	}
close(CONF);

# Stop the init script
local $init = &init_script("ypbind");
if (!-r $init) { $init = &init_script("ypclient"); }
&system_logged("$init stop >/dev/null 2>&1");

# Save rc.config
local $rc = &parse_rc_config();
if ($_[0]->{'domain'}) {
	&save_rc_config($rc, "START_YPBIND", "yes");
	&save_rc_config($rc, "YP_DOMAINNAME", $_[0]->{'domain'});
	if ($_[0]->{'broadcast'}) {
		&save_rc_config($rc, "YP_SERVER", "");
		}
	else {
		&save_rc_config($rc, "YP_SERVER",
				join(" ", @{$_[0]->{'servers'}}));
		}
	&enable_on_boot("ypbind");
	}
else {
	&save_rc_config($rc, "START_YPBIND", "no");
	}

# Start the init script
if ($_[0]->{'domain'}) {
	local $out = &backquote_logged("$init start 2>&1");
	if ($?) { return "<pre>$out</pre>"; }
	}
return undef;
}

@nis_files = ( "passwd", "shadow", "group", "gshadow", "adjunct",
	       "aliases", "ethers", "bootparams", "hosts", "networks",
	       "printcap", "protocols", "publickeys", "rpc", "services",
	       "netgroup", "netid", "auto_master", "auto_home",
	       "auto_local", "timezone", "locale", "netmasks" );

@nis_tables = ( "passwd", "group", "hosts", "rpc", "services", "netid",
		"protocols", "netgrp", "mail", "shadow", "publickey",
		"networks", "ethers", "bootparams", "printcap", "amd.home",
		"auto.master", "auto.home", "auto.local", "passwd.adjunct",
		"timezone", "locale", "netmasks" );

# show_server_config()
# Display a form for editing NIS server options
sub show_server_config
{
local ($var, $rule) = &parse_yp_makefile();
local $rc = &parse_rc_config();
if ($var->{'YPPWDDIR'}->{'value'} =~ /^\$\(shell.*\s(\S+)\)$/) {
	# Value comes from some rc.config file!
	local $yrc = &parse_rc_config($1);
	$var->{'YPPWDDIR'}->{'value'} = $yrc->{'YPPWD_SRCDIR'}->{'value'};
	}

local $boot = &check_on_boot("ypserv") &&
	      $rc->{'START_YPSERV'}->{'value'} eq 'yes';
print "<tr> <td><b>$text{'server_boot'}</b></td>\n";
printf "<td><input type=radio name=boot value=1 %s> %s\n",
	$boot ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=boot value=0 %s> %s</td>\n",
	$boot ? '' : 'checked', $text{'no'};

local $dom = $var->{'LOCALDOMAIN'}->{'value'};
print "<td><b>$text{'server_domain'}</b></td>\n";
printf "<td><input type=radio name=domain_auto value=1 %s> %s\n",
	$dom =~ /`.*domainname`/ ? 'checked' : '', $text{'server_domain_auto'};
printf "<input type=radio name=domain_auto value=0 %s>\n",
	$dom =~ /`.*domainname`/ ? '' : 'checked';
printf "<input name=domain size=20 value='%s'></td> </tr>\n",
	$dom =~ /`.*domainname`/ ? '' : $dom;

print "<tr> <td><b>$text{'server_type'}</b></td>\n";
printf "<td colspan=3><input type=radio name=type value=1 %s> %s\n",
	$config{'slave'} ? '' : 'checked', $text{'server_master'};
printf "<input type=radio name=type value=0 %s> %s\n",
	$config{'slave'} ? 'checked' : '', $text{'server_slave'};
printf "<input name=slave size=30 value='%s'></td> </tr>\n", $config{'slave'};

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_mheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'server_dns'}</b></td>\n";
printf "<td><input type=radio name=b value='-b' %s> %s\n",
	$var->{'B'}->{'value'} eq '-b' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=b value='' %s> %s</td>\n",
	$var->{'B'}->{'value'} eq '-b' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'server_push'}</b></td>\n";
printf "<td><input type=radio name=nopush value=false %s> %s\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopush value=true %s> %s</td> </tr>\n",
	$var->{'NOPUSH'}->{'value'} eq 'true' ? 'checked' : '', $text{'no'};

local %inall;
map { $inall{$_}++ } split(/\s+/, $rule->{'all'}->{'value'});
print "<tr> <td rowspan=2 valign=top><b>$text{'server_tables'}</b></td>\n";
print "<td rowspan=2><select multiple size=5 name=tables>\n";
foreach $t (grep { $rule->{$_} } @nis_tables) {
	printf "<option value=%s %s>%s\n",
		$t, $inall{$t} ? 'selected' : '', $t;
	}
print "</select></td>\n";

print "<td><b>$text{'server_minuid'}</b></td>\n";
printf "<td><input name=minuid size=10 value='%s'></td> </tr>\n",
	$var->{'MINUID'}->{'value'};

print "<td><b>$text{'server_mingid'}</b></td>\n";
printf "<td><input name=mingid size=10 value='%s'></td> </tr>\n",
	$var->{'MINGID'}->{'value'};

print "<tr> <td><b>$text{'server_slaves'}</b></td>\n";
open(SLAVES, "/var/yp/ypservers");
while(<SLAVES>) {
	s/\s//g;
	push(@slaves, $_) if ($_);
	}
close(SLAVES);
printf "<td colspan=3><input name=slaves size=60 value='%s'></td> </tr>\n",
	join(" ", @slaves);

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'server_fheader'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

local $i = 0;
foreach $t (@nis_files) {
	local $f = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$f);
	print "<tr>\n" if ($i%2 == 0);
	print "<td><b>",&text('server_file', $text{"desc_$t"} ? $text{"desc_$t"}
							      : $t),"</b></td>\n";
	print "<td><input name=$t size=30 value='$f'></td>\n";
	print "</tr>\n" if ($i++%2 == 1);
	}
}

# parse_server_config()
# Parse and save the NIS server options
sub parse_server_config
{
local ($var, $rule) = &parse_yp_makefile();
local $rc = &parse_rc_config();
if ($var->{'YPPWDDIR'}->{'value'} =~ /^\$\(shell.*\s(\S+)\)$/) {
	# Value comes from some rc.config file!
	local $yrc = &parse_rc_config($1);
	$var->{'YPPWDDIR'}->{'value'} = $yrc->{'YPPWD_SRCDIR'}->{'value'};
	}

$in{'minuid'} =~ /^\d+$/ || &error($text{'server_eminuid'});
$in{'mingid'} =~ /^\d+$/ || &error($text{'server_emingid'});
$in{'domain_auto'} || $in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'server_edomain'});
$in{'type'} || gethostbyname($in{'slave'}) || &error($text{'server_eslave'});
&update_makefile($var->{'MINUID'}, $in{'minuid'});
&update_makefile($var->{'MINGID'}, $in{'mingid'});
&update_makefile($var->{'NOPUSH'}, $in{'nopush'});
&update_makefile($var->{'B'}, $in{'b'});
&update_makefile($var->{'LOCALDOMAIN'}, $in{'domain_auto'} ? "`domainname`"
							   : $in{'domain'});
&update_makefile($rule->{'all'}, join(" ", split(/\0/, $in{'tables'})), "");

foreach $t (@nis_files) {
	local $old = &expand_vars($var->{uc($t)}->{'value'}, $var);
	next if (!$old);
	if ($old ne $in{$t}) {
		$in{$t} =~ /\S/ || &error(&text('server_efile', $text{"desc_$t"}));
		&update_makefile($var->{uc($t)}, $in{$t});
		}
	}
&flush_file_lines();

open(SLAVES, ">/var/yp/ypservers");
foreach $s (split(/\s+/, $in{'slaves'})) {
	print SLAVES "$s\n";
	}
close(SLAVES);

local $init1 = &init_script("ypserv");
local $init2 = &init_script("yppasswdd");
&system_logged("$init1 stop >/dev/null 2>&1");
&system_logged("$init2 stop >/dev/null 2>&1");
if ($in{'boot'}) {
	&enable_on_boot("ypserv");
	&enable_on_boot("yppasswdd");
	&save_rc_config($rc, "START_YPSERV", "yes");
	&save_rc_config($rc, "START_YPPASSWDD", "yes");
	}
else {
	&save_rc_config($rc, "START_YPSERV", "no");
	&save_rc_config($rc, "START_YPPASSWDD", "no");
	}
if ($in{'boot'}) {
	&system_logged("$init1 start >/dev/null 2>&1");
	&system_logged("$init2 start >/dev/null 2>&1");
	}
if ($in{'type'}) {
	# Master server
	delete($config{'slave'});
	&apply_table_changes() if ($in{'boot'});
	}
else {
	$out = &backquote_logged("/usr/lib/yp/ypinit -s $in{'slave'} 2>&1");
	if ($?) { &error("<tt>$out</tt>"); }
	$config{'slave'} = $in{'slave'};
	}
&write_file("$module_config_directory/config", \%config);
}

# get_server_mode()
# Returns 0 if the NIS server is inactive, 1 if active as a master, or 2 if
# active as a slave.
sub get_server_mode
{
if (!&check_on_boot("ypserv")) {
	return 0;
	}
elsif ($config{'slave'}) {
	return 2;
	}
else {
	return 1;
	}
}

# list_nis_tables()
# Returns a list of structures of all NIS tables
sub list_nis_tables
{
local ($var, $rule) = &parse_yp_makefile();
if ($var->{'YPPWDDIR'}->{'value'} =~ /^\$\(shell.*\s(\S+)\)$/) {
	# Value comes from some rc.config file!
	local $yrc = &parse_rc_config($1);
	$var->{'YPPWDDIR'}->{'value'} = $yrc->{'YPPWD_SRCDIR'}->{'value'};
	}
local @rv;
local $dom = $var->{'LOCALDOMAIN'}->{'value'};
chop($dom = `domainname`) if ($dom =~ /`.*domainname`/);
local %file;
map { $file{uc($_)} = &expand_vars($var->{uc($_)}->{'value'}, $var) } @nis_files;
local @all = split(/\s+/, $rule->{'all'}->{'value'});
foreach $t (@all) {
	local $table = { 'table' => $t,
		         'index' => scalar(@rv),
		         'domain' => $dom };
	if ($t eq "passwd") {
		if ($var->{'MERGE_PASSWD'}->{'value'} eq 'true') {
			$table->{'type'} = 'passwd_shadow';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			}
		elsif (&indexof('shadow', @all) >= 0) {
			# Show separate shadow and passwd tables as one table
			$table->{'type'} = 'passwd_shadow_full';
			$table->{'files'} = [ $file{'PASSWD'}, $file{'SHADOW'} ];
			@all = grep { $_ ne 'shadow' } @all;
			}
		else {
			$table->{'type'} = 'passwd';
			$table->{'files'} = [ $file{'PASSWD'} ];
			}
		}
	elsif ($t eq "group") {
		if ($var->{'MERGE_GROUP'}->{'value'} eq 'true') {
			$table->{'type'} = 'group_shadow';
			$table->{'files'} = [ $file{'GROUP'}, $file{'GSHADOW'} ];
			}
		else {
			$table->{'type'} = 'group';
			$table->{'files'} = [ $file{'GROUP'} ];
			}
		}
	elsif ($t eq "netgrp") {
		$table->{'type'} = "netgroup";
		$table->{'files'} = [ $file{'NETGROUP'} ];
		}
	elsif ($t eq "mail") {
		$table->{'type'} = "aliases";
		$table->{'files'} = [ $file{'ALIASES'} ];
		}
	else {
		$table->{'type'} = $t;
		$table->{'files'} = [ $file{uc($t)} ];
		}
	push(@rv, $table);
	}
return @rv;
}

# apply_table_changes()
# Do whatever is necessary for the table text files to be loaded into
# the NIS server
sub apply_table_changes
{
&system_logged("(cd /var/yp ; make) >/dev/null 2>&1 </dev/null");
}

# show_server_security()
# Show NIS server security-related options
sub show_server_security
{
local ($opts, $hosts) = &parse_ypserv_conf();

local $port = $opts->{'xfr_check_port'} ? $opts->{'xfr_check_port'}->{'value'}
					: 1;
print "<tr> <td><b>$text{'security_port'}</b></td>\n";
printf "<td><input type=radio name=port value=1 %s> %s\n",
	$port ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=port value=0 %s> %s</td> </tr>\n",
	$port ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'security_maps'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'security_hosts'}</b></td> ",
      "<td><b>$text{'security_map'}</b></td> ",
      "<td><b>$text{'security_sec'}</b></td> ",
      "<td><b>$text{'security_mangle'}</b></td> </tr>\n";
local $i = 0;
foreach $h (@$hosts, { }) {
	print "<tr $cb>\n";
	print "<td><input name=host_$i size=20 value='$h->{'host'}'></td>\n";
	printf "<td><input type=radio name=map_def_$i value=1 %s> %s\n",
		$h->{'map'} eq '*' ? 'checked' : '', $text{'security_tall'};
	printf "<input type=radio name=map_def_$i value=0 %s>\n",
		$h->{'map'} eq '*' ? '' : 'checked';
	printf "<input name=map_$i size=20 value='%s'></td>\n",
		$h->{'map'} eq '*' ? '' : $h->{'map'};
	print "<td><select name=sec_$i>\n";
	foreach $s ('none', 'port', 'deny', 'des') {
		printf "<option value=%s %s>%s\n",
			$s, $h->{'sec'} eq $s ? 'selected' : '',
			$text{"security_sec_$s"};
		}
	print "</select></td>\n";
	printf "<td><input name=mangle_$i type=radio value=0 %s> %s\n",
		$h->{'mangle'} ? '' : 'checked', $text{'security_none'};
	printf "<input name=mangle_$i type=radio value=1 %s> %s\n",
		$h->{'mangle'} ? 'checked' : '';
	print "<input name=field_$i size=4 value='$h->{'field'}'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_server_security()
# Save and apply server security options
sub parse_server_security
{
# Save security settings
local ($opts, $hosts) = &parse_ypserv_conf();
local $lref = &read_file_lines($ypserv_conf);
local $xfr = $opts->{'xfr_check_port'};
local $line = $in{'port'} ? 'xfr_check_port: yes' : 'xfr_check_port: no';
if ($xfr) {
	$lref->[$xfr->{'line'}] = $line;
	}
else {
	push(@$lref, $line);
	}

# Save host restrictions
local ($i, $j, $offset);
for($i=0; defined($in{"host_$i"}); $i++) {
	next if (!$in{"host_$i"});
	$in{"host_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_ehost', $in{"host_$i"}));
	$in{"map_def_$i"} || $in{"map_$i"} =~ /^[^:\s]+$/ ||
		&error(&text('security_emap', $in{"map_$i"}));
	$in{"field_$i"} =~ /^\d*$/ ||
		&error(&text('security_efield', $in{"field_$i"}));
	local @line = ( $in{"host_$i"},
		        $in{"map_def_$i"} ? "*" : $in{"map_$i"},
		        $in{"sec_$i"},
		        $in{"mangle_$i"} ? "yes" : "no" );
	push(@line, $in{"field_$i"})
		if ($in{"field_$i"} && $in{"field_$i"} != 2);
	local $old = $hosts->[$j++];
	if ($old) {
		$lref->[$old->{'line'}] = join(":", @line);
		}
	else {
		push(@$lref, join(":", @line));
		}
	}
while($hosts->[$j]) {
	splice(@$lref, $hosts->[$j]->{'line'}-$offset, 1);
	$j++; $offset++;
	}
&flush_file_lines();

# Apply the changes
if (open(PID, $pid_file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	&kill_logged('HUP', $1);
	close(PID);
	}
}

# parse_rc_config([filename])
sub parse_rc_config
{
local $rc;
local $lnum = 0;
local $f = $_[0] ? $_[0] : $rc_config;
open(CONF, $f);
while(<CONF>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/([^=\s]+)="(.*)"/) {
		$rc->{$1} = { 'value' => $2,
			      'line' => $lnum };
		}
	elsif (/([^=\s]+)=(\S+)/) {
		$rc->{$1} = { 'value' => $2,
			      'line' => $lnum };
		}
	$lnum++;
	}
close(CONF);
return $rc;
}

# save_rc_config(&config, directive, value)
sub save_rc_config
{
local $old = $_[0]->{$_[1]};
local $line = "$_[1]=\"$_[2]\"\n";
if ($old) {
	&replace_file_line($rc_config, $old->{'line'}, $line);
	}
else {
	open(RC, ">>$rc_config");
	print RC $line;
	close(RC);
	}
}



1;

 0707010003e27f000081a40000000000000002000000013d1fe2b700003390000000200000000000000000000000000000001200000003reloc/os_list.txt Sun Solaris			2.5	solaris		2.5	$uname =~ /SunOS.*\s5\.5\s/i
Sun Solaris			2.5.1	solaris		2.5.1	$uname =~ /SunOS.*\s5\.5\.1\s/i
Sun Solaris			2.6	solaris		2.6	$uname =~ /SunOS.*\s5\.6\s/i
Sun Solaris			7	solaris		7	$uname =~ /SunOS.*\s5\.7\s/i
Sun Solaris			8	solaris		8	$uname =~ /SunOS.*\s5\.8\s/i
Sun Solaris			9	solaris		9	$uname =~ /SunOS.*\s5\.9\s/i
Caldera OpenLinux eServer	2.3	open-linux	2.3e	$etc_issue =~ /OpenLinux.*eServer.*\n.*\s2\.3\s/i
Caldera OpenLinux		2.3	open-linux	2.3	$etc_issue =~ /OpenLinux.*\n.*\s2\.3\s/i
Caldera OpenLinux		2.4	open-linux	2.4	$etc_issue =~ /OpenLinux.*\n.*\s2\.4\s/i
Caldera OpenLinux		2.5	open-linux	2.5	$etc_issue =~ /OpenLinux.*\n.*\s2\.5\s/i || $etc_issue =~ /Caldera.*2000/i
Caldera OpenLinux		3.1	open-linux	3.1e	$etc_issue =~ /OpenLinux.*3\.1/i
Redhat Linux			4.0	redhat-linux	4.0
Redhat Linux			4.1	redhat-linux	4.1
Redhat Linux			4.2	redhat-linux	4.2
Redhat Linux			5.0	redhat-linux	5.0	$etc_issue =~ /red\s*hat.*\s5\.0/i
Redhat Linux			5.1	redhat-linux	5.1	$etc_issue =~ /red\s*hat.*\s5\.1/i
Redhat Linux			5.2	redhat-linux	5.2	$etc_issue =~ /red\s*hat.*\s5\.2/i
Redhat Linux			6.0	redhat-linux	6.0	$etc_issue =~ /red\s*hat.*\s6\.0/i || `cat /etc/redhat-release 2>&1` =~ /6\.0/
Redhat Linux			6.1	redhat-linux	6.1	$etc_issue =~ /red\s*hat.*\s6\.1/i || `cat /etc/redhat-release 2>&1` =~ /6\.1/
Redhat Linux			6.2	redhat-linux	6.2	$etc_issue =~ /red\s*hat.*\s6\.2/i || `cat /etc/redhat-release 2>&1` =~ /6\.2/
Redhat Linux			7.0	redhat-linux	7.0	$etc_issue =~ /red\s*hat.*\s7\.0/i || `cat /etc/redhat-release 2>&1` =~ /7\.0/
Redhat Linux			7.1	redhat-linux	7.1	$etc_issue =~ /red\s*hat.*\s7\.1/i || `cat /etc/redhat-release 2>&1` =~ /7\.1/
Redhat Linux			7.2	redhat-linux	7.2	$etc_issue =~ /red\s*hat.*\s7\.2/i || `cat /etc/redhat-release 2>&1` =~ /7\.2/
Redhat Linux			7.3	redhat-linux	7.3	$etc_issue =~ /red\s*hat.*\s7\.3/i || `cat /etc/redhat-release 2>&1` =~ /7\.3/
Slackware Linux			3.2	slackware-linux	3.2
Slackware Linux			3.3	slackware-linux	3.3
Slackware Linux			3.4	slackware-linux	3.4
Slackware Linux			3.5	slackware-linux	3.5
Slackware Linux			3.6	slackware-linux	3.6
Slackware Linux			4.0	slackware-linux	4.0
Slackware Linux			7.0	slackware-linux	7.0	`cat /etc/slackware-version 2>&1` =~ /7\.0/
Slackware Linux			7.1	slackware-linux	7.1	`cat /etc/slackware-version 2>&1` =~ /7\.1/
Slackware Linux			8.0	slackware-linux	8.0	`cat /etc/slackware-version 2>&1` =~ /8\.0/
Slackware Linux			8.1	slackware-linux	8.1	`cat /etc/slackware-version 2>&1` =~ /8\.1/
Debian Linux			1.3	debian-linux	1.3
Debian Linux			2.0	debian-linux	2.0	$etc_issue =~ /Debian.*\s2\.0\s/i
Debian Linux			2.1	debian-linux	2.1	$etc_issue =~ /Debian.*\s2\.1\s/i
Debian Linux			2.2	debian-linux	2.2	$etc_issue =~ /Debian.*\s2\.2\s/i
Debian Linux			3.0	debian-linux	3.0	$etc_issue =~ /Debian.*\s3\.0\s/i
SuSE Linux			5.1	suse-linux	5.1
SuSE Linux			5.2	suse-linux	5.2
SuSE Linux			5.3	suse-linux	5.3
SuSE Linux			6.0	suse-linux	6.0	`cat /etc/SuSE-release 2>&1` =~ /6\.0/ || $etc_issue =~ /SuSE\s+Linux\s+6\.0\s/i
SuSE Linux			6.1	suse-linux	6.1	`cat /etc/SuSE-release 2>&1` =~ /6\.1/ || $etc_issue =~ /SuSE\s+Linux\s+6\.1\s/i
SuSE Linux			6.2	suse-linux	6.2	`cat /etc/SuSE-release 2>&1` =~ /6\.2/ || $etc_issue =~ /SuSE\s+Linux\s+6\.2\s/i
SuSE Linux			6.3	suse-linux	6.3	`cat /etc/SuSE-release 2>&1` =~ /6\.3/ || $etc_issue =~ /SuSE\s+Linux\s+6\.3\s/i
SuSE Linux			6.4	suse-linux	6.4	`cat /etc/SuSE-release 2>&1` =~ /6\.4/ || $etc_issue =~ /SuSE\s+Linux\s+6\.4\s/i
SuSE Linux			7.0	suse-linux	7.0	`cat /etc/SuSE-release 2>&1` =~ /7\.0/ || $etc_issue =~ /SuSE\s+Linux\s+7\.0\s/i || $etc_issue =~ /SuSE\s+eMail\s+Server/i || $etc_issue =~ /SuSE\s+SLES-7/i
SuSE Linux			7.1	suse-linux	7.1	`cat /etc/SuSE-release 2>&1` =~ /7\.1/ || $etc_issue =~ /SuSE\s+Linux\s+7\.1\s/i
SuSE Linux			7.2	suse-linux	7.2	`cat /etc/SuSE-release 2>&1` =~ /7\.2/ || $etc_issue =~ /SuSE\s+Linux\s+7\.2\s/i
SuSE Linux			7.3	suse-linux	7.3	`cat /etc/SuSE-release 2>&1` =~ /7\.3/ || $etc_issue =~ /SuSE\s+Linux\s+7\.3\s/i
SuSE Linux			8.0	suse-linux	8.0	`cat /etc/SuSE-release 2>&1` =~ /8\.0/ || $etc_issue =~ /SuSE\s+Linux\s+8\.0\s/i
Corel Linux			1.0	corel-linux	1.0	$etc_issue =~ /Corel\s+LINUX\s+1\.0/i
Corel Linux			1.1	corel-linux	1.1	$etc_issue =~ /Corel\s+LINUX\s+1\.1/i
Corel Linux			1.2	corel-linux	1.2	$etc_issue =~ /Corel\s+LINUX\s+1\.2/i
TurboLinux			4.0	turbo-linux	4.0	`cat /etc/turbolinux-release 2>&1` =~ /release\s+4\.0\s+/i
TurboLinux			6.0	turbo-linux	6.0	`cat /etc/turbolinux-release 2>&1` =~ /release\s+6\.0\s+/i
TurboLinux			6.1	turbo-linux	6.1	`cat /etc/turbolinux-release 2>&1` =~ /release\s+6\.1\s+/i
TurboLinux			6.5	turbo-linux	6.5	`cat /etc/turbolinux-release 2>&1` =~ /release\s+6\.5\s+/i
TurboLinux			7.0	turbo-linux	7.0	`cat /etc/turbolinux-release 2>&1` =~ /7\.0/i
Cobalt Linux			2.2	cobalt-linux	2.2	$etc_issue =~ /Cobalt\s+Linux\s+release\s+2.2/i || `cat /etc/cobalt-release 2>&1` =~ /2\.2/
Cobalt Linux			4.0	cobalt-linux	4.0	$etc_issue =~ /Cobalt\s+Linux\s+release\s+4.0/i || `cat /etc/cobalt-release 2>&1` =~ /4\.0/
Cobalt Linux			5.0	cobalt-linux	5.0	$etc_issue =~ /Cobalt\s+Linux\s+release\s+5.0/i || `cat /etc/cobalt-release 2>&1` =~ /5\.0/
Cobalt Linux			6.0	cobalt-linux	6.0	$etc_issue =~ /Cobalt\s+Linux\s+release\s+6.0/i || `cat /etc/cobalt-release 2>&1` =~ /6\.0/
Mandrake Linux			5.3	redhat-linux	5.0	$etc_issue =~ /Mandrake\s+release\s+5\.3/i
Mandrake Linux			6.0	redhat-linux	6.0	$etc_issue =~ /Mandrake\s+release\s+6\.0/i
Mandrake Linux			6.1	redhat-linux	6.0	$etc_issue =~ /Mandrake\s+release\s+6\.1/i
Mandrake Linux			7.0	redhat-linux	6.1	$etc_issue =~ /Mandrake\s+release\s+7\.0/i
Mandrake Linux			7.1	redhat-linux	6.2	$etc_issue =~ /Mandrake\s+release\s+7\.1/i
Mandrake Linux			7.2	mandrake-linux	7.2	$etc_issue =~ /Mandrake\s+release\s+7\.2/i
Mandrake Linux			8.0	mandrake-linux	8.0	`cat /etc/mandrake-release 2>&1` =~ /8\.0/ || $etc_issue =~ /Mandrake\s+release\s+8\.0/i
Mandrake Linux			8.1	mandrake-linux	8.1	`cat /etc/mandrake-release 2>&1` =~ /8\.1/ || $etc_issue =~ /Mandrake\s+Linux\s+release\s+8\.1/i
Mandrake Linux			8.2	mandrake-linux	8.2	`cat /etc/mandrake-release 2>&1` =~ /8\.2/ || $etc_issue =~ /Mandrake\s+Linux\s+release\s+8\.2/i
Mandrake Linux Corporate Server	1.0	redhat-linux	6.2	$etc_issue =~ /Mandrake\s+Corporate\s+Server\s+release\s+1\.0/i
Delix DLD Linux			5.2	redhat-linux	4.0
Delix DLD Linux			5.3	redhat-linux	5.0
Delix DLD Linux			6.0	redhat-linux	6.0
Conectiva Linux			3.0	redhat-linux	5.2	$etc_issue =~ /Conectiva.*Linux.*3\.0/i
Conectiva Linux			4.0	redhat-linux	6.0	$etc_issue =~ /Conectiva.*Linux.*4\.0/i
Conectiva Linux			4.1	redhat-linux	6.1	$etc_issue =~ /Conectiva.*Linux.*4\.1/i
Conectiva Linux			4.2	redhat-linux	6.1	$etc_issue =~ /Conectiva.*Linux.*4\.2/i
Conectiva Linux			5.0	redhat-linux	6.2	$etc_issue =~ /Conectiva.*Linux.*5\.0/i
Conectiva Linux			5.1	redhat-linux	6.2	$etc_issue =~ /Conectiva.*Linux.*5\.1/i
Conectiva Linux			6.0	redhat-linux	7.0	$etc_issue =~ /Conectiva.*Linux.*6\.0/i
Conectiva Linux			7.0	redhat-linux	7.1	$etc_issue =~ /Conectiva.*Linux.*7\.0/i
Conectiva Linux			8	redhat-linux	7.3	$etc_issue =~ /Conectiva.*Linux.*\s8/i
MSC Linux			January 2001	msc-linux	2001.2	`cat /etc/msclinux-release 2>&1` =~ /2001.*January/i || $etc_issue =~ /2001.*January/i
MSC Linux			February 2001	msc-linux	2001.2	`cat /etc/msclinux-release 2>&1` =~ /2001.*February/i || $etc_issue =~ /2001.*February/i
MSC Linux			May 2001	msc-linux	2001.5	`cat /etc/msclinux-release 2>&1` =~ /2001.*May/i || $etc_issue =~ /2001.*May/i
MSC Linux			June 2001	msc-linux	2001.6	`cat /etc/msclinux-release 2>&1` =~ /2001.*June/i || $etc_issue =~ /2001.*June/i
MSC Linux			August 2001	msc-linux	2001.8	`cat /etc/msclinux-release 2>&1` =~ /2001.*August/i || $etc_issue =~ /2001.*August/i
MSC Linux			February 2002	msc-linux	2002.2	`cat /etc/msclinux-release 2>&1` =~ /2002.*February/i || $etc_issue =~ /2002.*February/i
MSC Linux			March 2002	msc-linux	2002.3	`cat /etc/msclinux-release 2>&1` =~ /2002.*March/i || $etc_issue =~ /2002.*March/i
MSC Linux			May 2002	msc-linux	2002.5	`cat /etc/msclinux-release 2>&1` =~ /2002.*May/i || $etc_issue =~ /2002.*May/i
MkLinux				DR2.1	redhat-linux	4.0
MkLinux				DR3	redhat-linux	5.0
LinuxPPC			2000	redhat-linux	6.1	$etc_issue =~ /LinuxPPC\s+2000/i
XLinux				1.0	redhat-linux	6.1
LinuxPL				1.0	redhat-linux	6.1
Trustix				1.1	redhat-linux	6.2	$etc_issue =~ /Trustix.*1\.1/i
Trustix				1.2	redhat-linux	7.0	$etc_issue =~ /Trustix.*1\.2/i
Trustix				1.5	redhat-linux	7.1	$etc_issue =~ /Trustix.*1\.5/i
Cendio LBS Linux		3.1	redhat-linux	6.1	$etc_issue =~ /Cendio\s*LBS.*\s3\.1/i || `cat /etc/lbs-release 2>&1` =~ /3\.1/
Cendio LBS Linux		3.2	redhat-linux	6.2	$etc_issue =~ /Cendio\s*LBS.*\s3\.2/i || `cat /etc/lbs-release 2>&1` =~ /3\.2/
Cendio LBS Linux		3.3	redhat-linux	6.2	$etc_issue =~ /Cendio\s*LBS.*\s3\.3/i || `cat /etc/lbs-release 2>&1` =~ /3\.3/
Cendio LBS Linux		4.0	redhat-linux	7.1	$etc_issue =~ /Cendio\s*LBS.*\s4\.0/i || `cat /etc/lbs-release 2>&1` =~ /4\.0/
Cendio LBS Linux		4.1	redhat-linux	7.1	$etc_issue =~ /Cendio\s*LBS.*\s4\.1/i || `cat /etc/lbs-release 2>&1` =~ /4\.1/
Ute Linux			1.0	redhat-linux	6.2	`cat /etc/ute-release 2>&1` =~ /Ute\s+Linux\s+release\s+1\.0/i
Lanthan Linux			1.0	redhat-linux	6.2	$etc_issue =~ /Lanthan\s+Linux\s+release\s+1\.0/i || `cat /etc/lanthan-release 2>&1` =~ /1\.0/
Lanthan Linux			2.0	redhat-linux	7.0	$etc_issue =~ /Lanthan\s+Linux\s+release\s+2\.0/i || `cat /etc/lanthan-release 2>&1` =~ /2\.0/
Lanthan Linux			3.0	redhat-linux	7.1	$etc_issue =~ /Lanthan\s+Linux\s+release\s+3\.0/i || `cat /etc/lanthan-release 2>&1` =~ /3\.0/
Yellow Dog Linux		2.0	redhat-linux	7.0	$etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.0\s+/i || `cat /etc/yellowdog-release 2>&1` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.0\s+/i
Yellow Dog Linux		2.1	redhat-linux	7.1	$etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.1\s+/i || `cat /etc/yellowdog-release 2>&1` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.1\s+/i
Yellow Dog Linux		2.2	redhat-linux	7.2	$etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.2\s+/i || `cat /etc/yellowdog-release 2>&1` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.2\s+/i
Corvus Latinux			8.0	redhat-linux	7.1	`cat /etc/latinux-release 2>&1` =~ /Latinux\s+8\s/i
Immunix Linux			6.2	redhat-linux	6.2	$etc_issue =~ /Immunix.*\s6\.2/i || `cat /etc/immunix-release 2>&1` =~ /6\.2/
Immunix Linux			7.0	redhat-linux	7.0	$etc_issue =~ /Immunix.*\s7\.0/i || `cat /etc/immunix-release 2>&1` =~ /7\.0/
Gentoo Linux			Any version	gentoo-linux	*	-d "/usr/portage"
Generic Linux			2.0	generic-linux	2.0
Generic Linux			2.2	generic-linux	2.2
Generic Linux			2.4	generic-linux	2.4
FreeBSD				2.1	freebsd		2.1	$uname =~ /FreeBSD.*\s2\.1/i
FreeBSD				2.2	freebsd		2.2	$uname =~ /FreeBSD.*\s2\.2/i
FreeBSD				3.0	freebsd		3.0	$uname =~ /FreeBSD.*\s3\.0/i
FreeBSD				3.1	freebsd		3.1	$uname =~ /FreeBSD.*\s3\.1/i
FreeBSD				3.2	freebsd		3.2	$uname =~ /FreeBSD.*\s3\.2/i
FreeBSD				3.3	freebsd		3.3	$uname =~ /FreeBSD.*\s3\.3/i
FreeBSD				3.4	freebsd		3.4	$uname =~ /FreeBSD.*\s3\.4/i
FreeBSD				3.5	freebsd		3.5	$uname =~ /FreeBSD.*\s3\.5/i
FreeBSD				4.0	freebsd		4.0	$uname =~ /FreeBSD.*\s4\.0/i
FreeBSD				4.1	freebsd		4.1	$uname =~ /FreeBSD.*\s4\.1/i
FreeBSD				4.2	freebsd		4.2	$uname =~ /FreeBSD.*\s4\.2/i
FreeBSD				4.3	freebsd		4.3	$uname =~ /FreeBSD.*\s4\.3/i
FreeBSD				4.4	freebsd		4.4	$uname =~ /FreeBSD.*\s4\.4/i
FreeBSD				4.5	freebsd		4.5	$uname =~ /FreeBSD.*\s4\.5/i
FreeBSD				4.6	freebsd		4.6	$uname =~ /FreeBSD.*\s4\.6/i
FreeBSD				5.0	freebsd		5.0	$uname =~ /FreeBSD.*\s5\.0/i
OpenBSD				2.5	openbsd		2.5	$uname =~ /OpenBSD.*\s2\.5/i
OpenBSD				2.6	openbsd		2.6	$uname =~ /OpenBSD.*\s2\.6/i
OpenBSD				2.7	openbsd		2.7	$uname =~ /OpenBSD.*\s2\.7/i
OpenBSD				2.8	openbsd		2.8	$uname =~ /OpenBSD.*\s2\.8/i
OpenBSD				2.9	openbsd		2.9	$uname =~ /OpenBSD.*\s2\.9/i
OpenBSD				3.0	openbsd		3.0	$uname =~ /OpenBSD.*\s3\.0/i
OpenBSD				3.1	openbsd		3.1	$uname =~ /OpenBSD.*\s3\.1/i
NetBSD				1.5	netbsd		1.5	$uname =~ /NetBSD.*1\.5/i
BSDI				3.0	freebsd		2.2
BSDI				3.1	freebsd		2.2
BSDI				4.0	freebsd		3.0
HP/UX				10.01	hpux		10.01	$uname =~ /HP-UX.*10\.01/
HP/UX				10.10	hpux		10.10	$uname =~ /HP-UX.*10\.10/
HP/UX				10.20	hpux		10.20	$uname =~ /HP-UX.*10\.20/
HP/UX				10.30	hpux		10.30	$uname =~ /HP-UX.*10\.30/
HP/UX				11	hpux		11	$uname =~ /HP-UX.*11\./
SGI Irix			6.0	irix		6.0	$uname =~ /IRIX.*6\.0/i
SGI Irix			6.1	irix		6.1	$uname =~ /IRIX.*6\.1/i
SGI Irix			6.2	irix		6.2	$uname =~ /IRIX.*6\.2/i
SGI Irix			6.3	irix		6.3	$uname =~ /IRIX.*6\.3/i
SGI Irix			6.4	irix		6.4	$uname =~ /IRIX.*6\.4/i
SGI Irix			6.5	irix		6.5	$uname =~ /IRIX.*6\.5/i
DEC/Compaq OSF/1		4.0	osf1		4.0
DEC/Compaq OSF/1		5.1	osf1		5.1
IBM AIX				4.3	aix		4.3	$uname =~ /\sAIX\s/
SCO UnixWare			2	unixware	2
SCO UnixWare			7	unixware	7
SCO OpenServer			5	openserver	5
Darwin				1.0	macos		1.0
Darwin				1.2	macos		1.2
Darwin				1.3	macos		1.3
Darwin				1.4	macos		1.4
Mac OS X			1.0	macos		1.0
Mac OS X			1.2	macos		1.2
Mac OS X / OS X Server		10.0	macos		1.3	`sw_vers 2>&1` =~ /ProductVersion:\s+10\.0/i
Mac OS X / OS X Server		10.1	macos		1.4	`sw_vers 2>&1` =~ /ProductVersion:\s+10\.1/i
Cygwin				1.1	cygwin		1.1
Cygwin				1.3	cygwin		1.3
070701000482b1000041ed0000000000000001000000043d1ffad100000000000000200000000000000000000000000000000a00000003reloc/pam 070701000482b2000081a40000000000000002000000013d1fe2e2000000fb000000200000000000000000000000000000001e00000003reloc/pam/config-cobalt-linux lib_dirs=/lib/security
ignore=README .*\.master
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
 070701000482b3000081a40000000000000002000000013d1fe2e2000000f0000000200000000000000000000000000000001d00000003reloc/pam/config-corel-linux  lib_dirs=/lib/security
ignore=README
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b4000081a40000000000000002000000013d1fe2e2000000f0000000200000000000000000000000000000001e00000003reloc/pam/config-debian-linux lib_dirs=/lib/security
ignore=README
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b5000081a40000000000000002000000013d1fe2e3000000fc000000200000000000000000000000000000001f00000003reloc/pam/config-generic-linux    lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b6000081a40000000000000002000000013d1fe2e3000000f0000000200000000000000000000000000000001e00000003reloc/pam/config-gentoo-linux lib_dirs=/lib/security
ignore=README
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b7000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000002000000003reloc/pam/config-mandrake-linux   lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b8000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000001b00000003reloc/pam/config-msc-linux    lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482b9000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000001c00000003reloc/pam/config-open-linux   lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482ba000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000001e00000003reloc/pam/config-redhat-linux lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482bb000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000001c00000003reloc/pam/config-suse-linux   lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_unix.so pam_unix_auth.so=pam_unix.so pam_unix_passwd.so=pam_unix.so pam_unix_session.so=pam_unix.so pam_unix_sess.so=pam_unix.so pam_unix.so=pam_unix.so
070701000482bc000081a40000000000000002000000013d1fe2e2000000fc000000200000000000000000000000000000001d00000003reloc/pam/config-turbo-linux  lib_dirs=/lib/security
ignore=README .*\.rpmsave
pam_dir=/etc/pam.d
mod_equiv=pam_unix_acct.so=pam_pwdb.so pam_unix_auth.so=pam_pwdb.so pam_unix_passwd.so=pam_pwdb.so pam_unix_session.so=pam_pwdb.so pam_unix_sess.so=pam_pwdb.so pam_unix.so=pam_pwdb.so
070701000482bd000081a40000000000000002000000013d1fe2e2000000a3000000200000000000000000000000000000001600000003reloc/pam/config.info pam_dir=PAM configuration directory,0
ignore=Files to ignore in PAM directory,0
lib_dirs=Directories containing PAM libraries,0
mod_equiv=Equivalent PAM modules,0
 070701000482be000081a40000000000000002000000013d1fe2e3000000ac000000200000000000000000000000000000001900000003reloc/pam/config.info.ca  pam_dir=Directori de configuració PAM,0
ignore=Fitxers del directori PAM a ignorar,0
lib_dirs=Directoris que contenen llibreries PAM,0
mod_equiv=Mòduls PAM equivalents,0


070701000482bf000081a40000000000000002000000013d1fe2e2000000b5000000200000000000000000000000000000001900000003reloc/pam/config.info.es  pam_dir=Directorio de configuración de PAM,0
ignore=Archivos a ignorar en directorio PAM,0
lib_dirs=Directorios que contienen bibliotecas PAM,0
mod_equiv=Módulos PAM equivalentes,0
   070701000482c0000081a40000000000000002000000013d1fe2e20000009d000000200000000000000000000000000000001900000003reloc/pam/config.info.pl  pam_dir=Katalog konfiguracji PAM,0
ignore=Pliki ignorowane w katalogu PAM,0
lib_dirs=Katalogi zawieraj±ce biblioteki PAM,0
mod_equiv=Równowa¿ne modu³y PAM,0
   070701000482c1000081a40000000000000002000000013d1fe2e2000000ad000000200000000000000000000000000000001900000003reloc/pam/config.info.sv  pam_dir=Katalog för PAM-inställningar,0
ignore=Filer som ska ignoreras i PAM-katalogen,0
lib_dirs=Kataloger som innehåller PAM-bibliotek,0
mod_equiv=Utbytbara PAM-moduler,0
   070701000482c2000081e40000000000000002000000013d1fe2e2000003f6000000200000000000000000000000000000001a00000003reloc/pam/create_form.cgi #!/usr/local/bin/perl
# create_form.cgi
# Display a form for creating a new PAM service

require './pam-lib.pl';
&header($text{'create_title'}, "");
print "<hr>\n";

print "<form action=create_pam.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'create_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'create_name'}</b></td>\n";
print "<td><input name=name size=20></td> </tr>\n";

print "<tr> <td><b>$text{'create_desc'}</b></td>\n";
print "<td><input name=desc size=30></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'create_mods'}</b></td> <td>\n";
print "<input type=radio name=mods value=0> $text{'create_0'}<br>\n";
print "<input type=radio name=mods value=1 checked> $text{'create_1'}<br>\n";
print "<input type=radio name=mods value=2> $text{'create_2'}\n";
print "</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000482c3000081e40000000000000002000000013d1fe2e2000006f4000000200000000000000000000000000000001900000003reloc/pam/create_pam.cgi  #!/usr/local/bin/perl
# create_pam.cgi
# Create a new PAM service

require './pam-lib.pl';
&ReadParse();
&error_setup($text{'create_err'});

# Create the empty file
$in{'name'} =~ /^\S+$/ || &error($text{'create_ename'});
$f = "$config{'pam_dir'}/$in{'name'}";
&lock_file($f);
open(FILE, ">$f");
print FILE "#%PAM-1.0\n";
print FILE "# description: $in{'desc'}\n" if ($in{'desc'});
close(FILE);
chmod(0644, $f);

# Create extra PAM modules
if ($in{'mods'} == 1) {
	# Setup for unix authentication
	&create_module($in{'name'}, { 'type' => 'auth',
				      'control' => 'required',
				      'module' => 'pam_pwdb.so',
				      'args' => 'shadow nullok' });
	&create_module($in{'name'}, { 'type' => 'account',
				      'control' => 'required',
				      'module' => 'pam_pwdb.so' });
	&create_module($in{'name'}, { 'type' => 'password',
				      'control' => 'required',
				      'module' => 'pam_pwdb.so',
				      'args' => 'shadow nullok use_authtok' });
	&create_module($in{'name'}, { 'type' => 'session',
				      'control' => 'required',
				      'module' => 'pam_pwdb.so' });
	}
elsif ($in{'mods'} == 2) {
	# Setup to deny access
	&create_module($in{'name'}, { 'type' => 'auth',
				      'control' => 'required',
				      'module' => 'pam_deny.so' });
	&create_module($in{'name'}, { 'type' => 'account',
				      'control' => 'required',
				      'module' => 'pam_deny.so' });
	&create_module($in{'name'}, { 'type' => 'password',
				      'control' => 'required',
				      'module' => 'pam_deny.so' });
	&create_module($in{'name'}, { 'type' => 'session',
				      'control' => 'required',
				      'module' => 'pam_deny.so' });
	}

&unlock_file($f);
&webmin_log("create", "pam", $in{'name'}, { 'name' => $in{'name'},
					    'file' => $f });
&redirect("");

070701000482c4000081e40000000000000002000000013d1fe2e20000011e000000200000000000000000000000000000001900000003reloc/pam/delete_pam.cgi  #!/usr/local/bin/perl
# delete_pam.cgi
# Delete a PAM service

require './pam-lib.pl';
&ReadParse();
@pam = &get_pam_config();
$f = $pam[$in{'idx'}]->{'file'};
&lock_file($f);
unlink($f);
&unlock_file($f);
&webmin_log("delete", "pam", $pam[$in{'idx'}]->{'name'}, $pam);
&redirect("");

  070701000482c5000081e40000000000000002000000013d1fe2e200000a33000000200000000000000000000000000000001700000003reloc/pam/edit_mod.cgi    #!/usr/local/bin/perl
# edit_mod.cgi
# Edit one PAM authentication module for some service

require './pam-lib.pl';
&ReadParse();
@pam = &get_pam_config();
$pam = $pam[$in{'idx'}];
if ($in{'midx'} ne '') {
	$mod = $pam->{'mods'}->[$in{'midx'}];
	$module = $mod->{'module'};
	$module =~ s/^.*\///;
	$type = $mod->{'type'};
	&header($text{'mod_edit'}, "");
	}
else {
	$module = $in{'module'};
	$type = $in{'type'};
	&header($text{'mod_create'}, "");
	}

print "<hr>\n";

print "<form action=save_mod.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=midx value='$in{'midx'}'>\n";
print "<input type=hidden name=_module value='$in{'module'}'>\n";
print "<input type=hidden name=_type value='$in{'type'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'mod_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'mod_name'}</b></td>\n";
$t = $text{'desc_'.$pam->{'name'}};
print "<td><tt>",&html_escape($pam->{'name'}),"</tt> ",
		$pam->{'desc'} ? "($pam->{'desc'})" :
		$t ? "($t)" : "","</td>\n";

print "<td><b>$text{'mod_mod'}</b></td>\n";
$t = $text{$module};
print "<td><tt>$module</tt> ",$t ? "($t)" : "","</td> </tr>\n";

print "<tr> <td><b>$text{'mod_type'}</b></td>\n";
print "<td>",$text{'mod_type_'.$type},"</td>\n";

print "<td><b>$text{'mod_control'}</b></td>\n";
print "<td><select name=control>\n";
foreach $c ('required', 'requisite', 'sufficient', 'optional') {
	printf "<option value=%s %s>%s (%s)\n",
		$c, $mod->{'control'} eq $c ? 'selected' : '',
		$text{'control_'.$c}, $text{'control_desc_'.$c};
	}
print "</select></td> </tr>\n";

if (-r "./$module.pl") {
	do "./$module.pl";
	if (!$module_has_no_args) {
		print "<tr> <td colspan=4><hr></td> </tr>\n";
		foreach $a (split(/\s+/, $mod->{'args'})) {
			if ($a =~ /^([^\s=]+)=(\S*)$/) {
				$args{$1} = $2;
				}
			else {
				$args{$a} = "";
				}
			}
		&display_module_args($pam, $mod, \%args);
		}
	}
else {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	print "<tr> <td><b>$text{'mod_args'}</b></td>\n";
	print "<td colspan=3><input name=args size=50 ",
	      "value='$mod->{'args'}'></td> </tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
if ($in{'midx'} ne '') {
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_pam.cgi?idx=$in{'idx'}", $text{'edit_return'},
	"", $text{'index_return'});

 070701000482c6000081e40000000000000002000000013d1fe2e200000b75000000200000000000000000000000000000001700000003reloc/pam/edit_pam.cgi    #!/usr/local/bin/perl
# edit_pam.cgi
# Display the modules for some PAM service

require './pam-lib.pl';
&ReadParse();

&header($text{'edit_title'}, "");
@pams = &get_pam_config();
$pam = $pams[$in{'idx'}];
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td width=10%><b>$text{'edit_name'}</b></td>\n";
$t = $text{'desc_'.$pam->{'name'}};
print "<td><tt>",&html_escape($pam->{'name'}),"</tt> ",
		$pam->{'desc'} ? "($pam->{'desc'})" :
		$t ? "($t)" : "","</td>\n";
print "</tr>\n";

foreach $t ('auth', 'account', 'session', 'password') {
	print "<tr> <td colspan=2>\n";
	print "<form action=edit_mod.cgi><table border width=100%>\n";
	print "<tr $tb> <td><b>",$text{"edit_header_$t"},"</b></td> </tr>\n";
	print "<tr $cb> <td>\n";

	local @mods = grep { $_->{'type'} eq $t } @{$pam->{'mods'}};
	print "<table width=100%>\n";
	if (@mods) {
		print "<tr $cb> <td width=20%><b>$text{'edit_mod'}</b></td> ",
		      "<td width=35%><b>$text{'edit_desc'}</b></td> ",
		      "<td width=20%><b>$text{'edit_control'}</b></td> ",
		      "<td width=20%><b>$text{'edit_args'}</b></td> ",
		      "<td width=5%><b>$text{'edit_move'}</b></td> </tr>\n";
		}
	else {
		print "<tr> <td colspan=5><b>$text{'edit_none'}",
		      "</b></td> </tr>\n";
		}
	foreach $m (@mods) {
		local $mn = $m->{'module'};
		$mn =~ s/^.*\///;
		print "<tr $cb>\n";
		print "<td><a href='edit_mod.cgi?idx=$pam->{'index'}&",
		      "midx=$m->{'index'}'>$mn</a></td>\n";
		print "<td>",$text{$mn} ? $text{$mn} : "<br>","</td>\n";
		print "<td>",$text{'control_'.$m->{'control'}},"</td>\n";
		print "<td>",$m->{'args'} ? $m->{'args'} : "<br>","</td>\n";
		print "<td>";
		if ($m eq $mods[$#mods]) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='move.cgi?idx=$pam->{'index'}&",
			      "midx=$m->{'index'}&down=1'><img ",
			      "src=images/down.gif border=0></a>";
			}
		if ($m eq $mods[0]) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='move.cgi?idx=$pam->{'index'}&",
			      "midx=$m->{'index'}&up=1'><img ",
			      "src=images/up.gif border=0></a>";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	print "<input type=hidden name=idx value='$in{'idx'}'>\n";
	print "<input type=hidden name=type value='$t'>\n";
	print "<input type=submit value='$text{'edit_addmod'}'>\n";
	print "<select name=module>\n";
	foreach $m (sort { $a cmp $b } &list_modules()) {
		printf "<option value=%s>%s\n",
			$m, $text{$m} ? "$m ($text{$m})" : $m;
		}
	print "</select></td> </tr>\n";
	print "</table></form></td></tr>\n";
	}

print "<form action=delete_pam.cgi>\n";
print "</table></td></tr></table>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=submit value='$text{'edit_delete'}'>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000482c7000081a40000000000000002000000013d1fe2e3000000b6000000200000000000000000000000000000001c00000003reloc/pam/feedback_files.pl   
do 'pam-lib.pl';

sub feedback_files
{
opendir(DIR, $config{'pam_dir'});
local @rv = map { "$config{'pam_dir'}/$_" } grep { !/^\./ } readdir(DIR);
closedir(DIR);
return @rv;
}

1;

  0707010004dd5b000041ed0000000000000001000000023d1ffacc00000000000000200000000000000000000000000000001100000003reloc/pam/images  0707010004dd5c000081a40000000000000002000000013d1fe2e20000006c000000200000000000000000000000000000001a00000003reloc/pam/images/down.gif GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;0707010004dd5d000081a40000000000000002000000013d1fe2e200000049000000200000000000000000000000000000001900000003reloc/pam/images/gap.gif  GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   0707010004dd5e000081a40000000000000002000000013d1fe2e200000113000000200000000000000000000000000000001a00000003reloc/pam/images/icon.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 0707010004dd5f000081a40000000000000002000000013d1fe2e200000067000000200000000000000000000000000000001800000003reloc/pam/images/up.gif   GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 070701000482c8000081e40000000000000002000000013d1fe2e200000544000000200000000000000000000000000000001400000003reloc/pam/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display PAM services on the system

require './pam-lib.pl';
&header($text{'index_title'}, undef, undef, 1, 1, 0,
	&help_search_link("pam", "man", "howto", "doc"));
print "<hr>\n";

@pams = sort { $a->{'name'} cmp $b->{'name'} } &get_pam_config();
if (!@pams) {
	print "<p>",&text('index_none', "<tt>$config{'pam_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

print "<a href='create_form.cgi'>$text{'index_add'}</a><br>\n";
$mid = int((@pams-1) / 2);
print "<table width=100%><tr> <td width=50% valign=top>\n";
&pam_table(@pams[0 .. $mid]);
print "</td> <td width=50% valign=top>\n";
&pam_table(@pams[$mid+1 .. $#pams]);
print "</td> </tr></table>\n";
print "<a href='create_form.cgi'>$text{'index_add'}</a><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

sub pam_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
      "<td><b>$text{'index_desc'}</b></td> </tr>\n";
foreach $p (@_) {
	print "<tr $cb>\n";
	print "<td><a href='edit_pam.cgi?idx=$p->{'index'}'>",
	      &html_escape($p->{'name'}),"</a></td>\n";
	local $t = $text{'desc_'.$p->{'name'}};
	print "<td>",$p->{'desc'} ? $p->{'desc'} : $t ? $t : "<br>","</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

0707010004f48f000041ed0000000000000001000000023d1fface00000000000000200000000000000000000000000000000f00000003reloc/pam/lang    0707010004f490000081a40000000000000002000000013d1fe2e20000240c000000200000000000000000000000000000001200000003reloc/pam/lang/ca index_title=Autenticació PAM
index_name=Servei
index_desc=Descripció
index_add=Afegeix un nou servei PAM
index_return=a la llista de serveis
index_none=No s'han trobat els fitxers de configuració PAM al directori $1. O bé PAM no està suportat, o bé la <a href='$2'>configuració del mòdul</a> és incorrecta.

desc_su=Canvia l'usuari
desc_login=Connexió local o remota
desc_samba=Servidor de fitxers Windows Samba
desc_imap=Servidor de correu IMAP
desc_pop=Servidor de correu POP
desc_kde=Connexió KDE
desc_rexec=Servidor remot d'execució
desc_rlogin=Servidor de connexions remotes
desc_rsh=Servidor de shell remota
desc_passwd=Canvi de contrasenya
desc_chfn=Canvia la informació de <i>finger</i>
desc_chsh=Canvia la <i>shell</i>
desc_ftp=Servidor de transferències de fitxers
desc_ftpd=Servidor de transferències de fitxers
desc_wu-ftpd=Servidor de transferències de fitxers WuFTPd
desc_xscreensaver=Salvapantalles
desc_other=Altres serveis
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Servidor de fitxers Apple Netatalk
desc_webmin=Servidor Web Webmin
desc_xdm=Connexió X local o remota
desc_gdm=Connexió X de Gnome
desc_linuxconf=Connexió LinuxConf
desc_linuxconf-pair=Connexió LinuxConf addicional
desc_linuxconf-auth=Autenticació LinuxConf
desc_xlock=Bloqueig de pantalla
desc_vlock=Bloqueig de consola virtual
desc_kbdrate=Control de repetició del teclat
desc_halt=Aturada del sistema
desc_poweroff=Apagat del sistema
desc_reboot=Reengegada del sistema
desc_shutdown=Tancament del sistema
desc_mcserv=Midnight Commander
desc_kppp=Eina client PPP de KDE
desc_xserver=Servidor X11
desc_gnorpm-auth=Eina RPM de Gnome
desc_kpackage=Eina RPM de KDE
desc_ppp=Connexió al dimoni PPP
desc_rp3-config=Eina client PPP de Redhat
desc_up2date=Agent d'actualització Linux de Redhat
desc_up2date-config=Configuració de l'actualització Linux de Redhat
desc_sudo=Execució d'ordres <i>root</i> limitada
desc_httpd=Servidor Web
desc_qpop=Servidor de correu POP
desc_sshd=Connexió SSH
desc_squid=Servidor Proxy Squid
desc_bindconf=Eina de configuració BIND de Redhat
desc_apacheconf=Eina de configuració Apache de Redhat
desc_adsl-config=Eina de configuració ADSL de Redhat
desc_internet-config=Eina de configuració Internet de Redhat
desc_isdn-config=Eina de configuració XDSI de Redhat
desc_kontrol-panel=Plafó de control KDE de Redhat
desc_kscreensaver=Salvapantalles KDE
desc_printconf-gui=Eina de configuració d'impressores de Redhat
desc_rhn_register=Registre en Xarxa Redhat
desc_system-auth=Autenticació corrent
desc_cups=Impressió CUPS

edit_title=Edició de Servei PAM
edit_header=Detalls del servei PAM
edit_name=Nom del servei
edit_header_auth=Passos d'autenticació
edit_header_account=Passos de verificació del compte
edit_header_session=Passos de configuració de la sessió
edit_header_password=Passos del canvi de contrasenya
edit_mod=Mòdul PAM
edit_desc=Descripció
edit_args=Paràmetres
edit_addmod=Afegeix pas per a:
edit_control=Nivell d'error
edit_none=No has especificat cap mòdul PAM per aquest pas
edit_delete=Suprimeix servei PAM
edit_move=Desplaça
edit_return=al servei PAM

pam_pwdb.so=Autenticació de contrasenyes Unix
pam_securetty.so=Comprova TTY segura per a root
pam_nologin.so=Comprova el fitxer <tt>/etc/nologin</tt>
pam_mail.so=Notifica correu nou
pam_lastlog.so=Notifica la darrera connexió
pam_rootok.so=Comprova l'usuari només <tt>root</tt>
pam_cracklib.so=Comprovació estricta de contrasenya
pam_access.so=Comprova el fitxer de control d'accés
pam_deny.so=Denega sempre l'accés
pam_env.so=Estableix variables d'entorn
pam_ftp.so=Comprova l'autenticació FTP
pam_time.so=Comprova l'hora de connexió
pam_group.so=Estableix la pertinença al grup
pam_listfile.so=Comprova el contingut dels fitxers
pam_limits.so=Estableix els límits del recurs
pam_mkhomedir.so=Crea el directori arrel
pam_motd.so=Mostra el fitxer de missatge del dia
pam_permit.so=Permet l'accés sempre
pam_radius.so=Autenticació de servidor RADIUS
pam_rhosts.so=Comprova els fitxers <tt>.rhosts</tt>
pam_rhosts_auth.so=Comprova els fitxers <tt>.rhosts</tt>
pam_shells.so=Comprova validesa de la shell
pam_unix.so=Autenticació de contrasenya Unix antiga
pam_userdb.so=Autenticació de fitxer DBM de contrasenyes
pam_warn.so=Registra els avisos
pam_wheel.so=Comprovació del grup <tt>wheel</tt>
pam_issue.so=Mostra el fitxer <tt>/etc/issue</tt>
pam_ldap.so=Autenticació de servidor LDAP
pam_unix_auth.so=Autenticació de contrasenya Unix
pam_unix_sess.so=Configuració de sessió Unix
pam_unix_session.so=Configuració de sessió Unix
pam_unix_acct.so=Verificació de comptes Unix
pam_unix_passwd.so=Canvi de contrasenya Unix
pam_stress.so=Prova de stress d'aplicacions
pam_tally.so=Pren nota els intents fallits de connexió
pam_passwd+.so=Comprova la validesa de la contrasenya
pam_filter.so=Filtre d'entrada/sortida
pam_desgold.so=Autenticació DESGold smartcard
pam_console.so=Comprova només la consola
pam_xauth.so=Autenticació X
pam_stack.so=Crida un altre servei PAM

control_requisite=Requisit
control_required=Exigit
control_sufficient=Suficient
control_optional=Opcional
control_desc_requisite=Cancel·la l'autenticació immediatament en cas d'error
control_desc_required=Cancel·la l'autenticació al final en cas d'error
control_desc_sufficient=Aprova l'autenticació immediatament en cas d'èxit
control_desc_optional=Ignora l'èxit o l'error

create_title=Creació de Servei PAM
create_header=Opcions del nou servei PAM
create_name=Nom del servei
create_desc=Descripció
create_mods=Mòduls PAM inicials
create_0=Cap
create_1=Autenticació Unix
create_2=Denega tots els accessos

mod_edit=Edició de Mòdul PAM
mod_create=Afegeix mòdul PAM
mod_header=Opcions del mòdul PAM
mod_name=Nom del servei
mod_mod=Mòdul PAM
mod_type=Fes-lo servir al servei
mod_type_auth=Autenticació
mod_type_account=Verificació de comptes
mod_type_session=Configuració de sessió
mod_type_password=Canvi de contrasenya
mod_control=Nivell d'error
mod_args=Arguments del mòdul
mod_err=No he pogut desar el mòdul

pwdb_shadow=Fes servir el fitxer de contrasenyes ocultes
pwdb_nullok=Accepta contrasenyes nul·les
pwdb_md5=Fes servir contrasenyes amb xifrat MD5
pwdb_nodelay=Interval entre connexions fallides

listfile_item=Busca al fitxer
listfile_item_user=Usuari
listfile_item_tty=TTY
listfile_item_rhost=Nom de host remot
listfile_item_ruser=Nom d'usuari remot
listfile_item_group=Grup
listfile_item_shell=Shell
listfile_sense=Si es troba al fitxer
listfile_file=File a buscar
listfile_onerr=En cas d'error de fitxer
listfile_fail=Cancel·la
listfile_succeed=Aprova
listfile_apply=Limita la comprovació a
listfile_all=Tots els usuaris
listfile_user=Només l'usuari
listfile_group=Només el grup

cracklib_type=Tipus de contrasenya
cracklib_retry=Nombre màxim d'intents abans de cancel·lar
cracklib_eretry=Hi falta el nombre de reintents o bé no és correcte
cracklib_etype=Hi falta el tipus de contrasenya o bé no és vàlid

rhosts_equiv=Llegeix el fitxer <tt>/etc/hosts.equiv</tt>
rhosts_rhosts=Llegeix els fitxers <tt>.rhosts</tt> dels usuaris
rhosts_promiscuous=L'entrada <tt>+</tt> permet tots els hosts
rhosts_suppress=Registra les autenticacions fallides

env_var=Nom de variable
env_def=Valor per defecte
env_over=Omet el valor
env_evar=El noms de variables no poden contenir espais

securetty_ttys=TTYs Segures

shells_shells=Shells d'usuari vàlides

tally_deny=Intents fallits abans de denegar l'accés
tally_reset=Reinicia el recompte d'intents fallits en reeixir
tally_edeny=Hi falta el nombre d'intents fallits o bé no és correcte
tally_magic=El nombre d'intents fallits s'aplica a <tt>root</tt>?
tally_root=El compte de <tt>root</tt> pot ser denegat

time_services=Serveis
time_ttys=TTYs
time_users=Usuaris
time_times=Hores d'accés
time_info=Tots els camps poden contenir valors múltiples separats per |, i els valor poden fer servir * com a escarràs o ! com a negació.

group_services=Serveis
group_ttys=TTYs
group_users=Usuaris
group_times=Hores d'accés
group_groups=Afegeix grups
group_info=Tots els camps poden contenir valors múltiples separats per |, i els valor poden fer servir * com a escarràs o ! com a negació.

wheel_group=Comprova la pertinença del grup
wheel_group_def=Defecte (<tt>wheel</tt> o GID 0)
wheel_trust=Els membres del grup ometen autenticacions posteriors
wheel_deny=Denega membres del grup en lloc d'autoritzar-los
wheel_egroup=Hi falta el nom del grup o bé no és vàlid

motd_file=Fitxer a mostrar
motd_file_def=(<tt>/etc/motd</tt>) per defecte
motd_efile=Hi falta el nom del fitxer o bé no és vàlid

mail_nopen=Mostra la notificació de correu en connectar
mail_close=Mostra la notificació de correu en desconnectar
mail_empty=Notifica si el fitxer de correu està buit
mail_noenv=Estableix la variable d'entorn MAIL
mail_dir=Directori de spool de correu
mail_edir=Hi falta el directori de spool de correu  o bé no és vàlid

stack_service=Passa la comprovació al servei PAM

log_pam_create=He creat el servei PAM $1
log_pam_delete=He suprimit el servei PAM $1
log_mod_create=He afegit el mòdul PAM $1 al servei $2
log_mod_modify=He modificat el mòdul PAM $1 al servei $2
log_mod_delete=He suprimit el mòdul PAM $1 al servei $2
log_mod_move=He substituït els mòduls PAM al servei $3
log_mod_move_l=He canviat el mòdul PAM $1 pel $2 al servei $3


0707010004f491000081a40000000000000002000000013d1fe2e200001f53000000200000000000000000000000000000001200000003reloc/pam/lang/en index_title=PAM Authentication
index_name=Service
index_desc=Description
index_add=Add a new PAM service
index_return=service list
index_none=No PAM configuration files were found on your system in the directory $1. Maybe PAM is not supported, or your <a href='$2'>module configuration</a> is incorrect.

desc_su=Switch user
desc_login=Local or remote login
desc_samba=Samba Windows file server
desc_imap=IMAP mail server
desc_pop=POP mail server
desc_kde=KDE login
desc_rexec=Remote exec server
desc_rlogin=Remote login server
desc_rsh=Remote shell server
desc_passwd=Password change
desc_chfn=Change finger information
desc_chsh=Change shell
desc_ftp=File transfer server
desc_ftpd=File transfer server
desc_wu-ftpd=WuFTPd File transfer server
desc_xscreensaver=Screen saver
desc_other=Other services
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk Apple file server
desc_webmin=Webmin web server
desc_xdm=Local or remote X login
desc_gdm=Gnome X login
desc_linuxconf=LinuxConf login
desc_linuxconf-pair=LinuxConf additional login
desc_linuxconf-auth=LinuxConf authentication
desc_xlock=Screen lock
desc_vlock=Virtual console lock
desc_kbdrate=Keyboard rate control
desc_halt=Halt system
desc_poweroff=Power off system
desc_reboot=Reboot system
desc_shutdown=Shutdown system
desc_mcserv=Midnight commander
desc_kppp=KDE PPP client tool
desc_xserver=X11 server
desc_gnorpm-auth=Gnome RPM tool
desc_kpackage=KDE RPM tool
desc_ppp=PPP daemon login
desc_rp3-config=Redhat PPP client tool
desc_up2date=Redhat Linux update agent
desc_up2date-config=Redhat Linux update config
desc_sudo=Limited root command execution
desc_httpd=Web Server
desc_qpop=POP Mail Server
desc_sshd=SSH Login
desc_squid=Squid Proxy Server
desc_bindconf=Redhat BIND config tool
desc_apacheconf=Redhat Apache config tool
desc_adsl-config=Redhat ADSL config tool
desc_internet-config=Redhat internet config tool
desc_isdn-config=Redhat ISDN config tool
desc_kontrol-panel=Redhat KDE control panel
desc_kscreensaver=KDE screen saver
desc_printconf-gui=Redhat printer config tool
desc_rhn_register=Redhat Network registration
desc_system-auth=Common authentication
desc_cups=CUPS printing

edit_title=Edit PAM Service
edit_header=PAM service details
edit_name=Service name
edit_header_auth=Authentication steps
edit_header_account=Account verification steps
edit_header_session=Session setup steps
edit_header_password=Password change steps
edit_mod=PAM module
edit_desc=Description
edit_args=Parameters
edit_addmod=Add step for:
edit_control=Failure level
edit_none=No PAM modules specified for this step
edit_delete=Delete PAM service
edit_move=Move
edit_return=PAM service

pam_pwdb.so=Unix password authentication
pam_securetty.so=Secure TTY check for root
pam_nologin.so=<tt>/etc/nologin</tt> file check
pam_mail.so=New mail notification
pam_lastlog.so=Last login notification
pam_rootok.so=<tt>root</tt> user only check
pam_cracklib.so=Strong password check
pam_access.so=Access control file check
pam_deny.so=Always deny access
pam_env.so=Set environment variables
pam_ftp.so=FTP authentication check
pam_time.so=Login time check
pam_group.so=Set group membership
pam_listfile.so=File contents check
pam_limits.so=Set resource limits
pam_mkhomedir.so=Create home directory
pam_motd.so=Display the message-of-the-day file
pam_permit.so=Always allow access
pam_radius.so=RADIUS server authentication
pam_rhosts.so=Check <tt>.rhosts</tt> files
pam_rhosts_auth.so=Check <tt>.rhosts</tt> files
pam_shells.so=Valid shell check
pam_unix.so=Old Unix password authentication
pam_userdb.so=DBM file password authentication
pam_warn.so=Log warning
pam_wheel.so=<tt>wheel</tt> group check
pam_issue.so=Display <tt>/etc/issue</tt> file
pam_ldap.so=LDAP server authentication
pam_unix_auth.so=Unix password authentication
pam_unix_sess.so=Unix session setup
pam_unix_session.so=Unix session setup
pam_unix_acct.so=Unix account verification
pam_unix_passwd.so=Unix password change
pam_stress.so=Application stress test
pam_tally.so=Track failed login attempts
pam_passwd+.so=Password strength check
pam_filter.so=Input/output filter
pam_desgold.so=DESGold smartcard authentication
pam_console.so=Console only check
pam_xauth.so=X authentication
pam_stack.so=Call other PAM service

control_requisite=Requisite
control_required=Required
control_sufficient=Sufficient
control_optional=Optional
control_desc_requisite=Fail authentication immediately on failure
control_desc_required=Fail authentication at end on failure
control_desc_sufficient=Succeed authentication immediately on success
control_desc_optional=Success or failure is ignored

create_title=Create PAM Service
create_header=New PAM service options
create_name=Service name
create_desc=Description
create_mods=Initial PAM modules
create_0=None
create_1=Unix authentication
create_2=Deny all access

mod_edit=Edit PAM Module
mod_create=Add PAM Module
mod_header=PAM module options
mod_name=Service name
mod_mod=PAM module
mod_type=Use in service
mod_type_auth=Authentication
mod_type_account=Account verification
mod_type_session=Session setup
mod_type_password=Password change
mod_control=Failure level
mod_args=Module arguments
mod_err=Failed to save module

pwdb_shadow=Use shadow password file?
pwdb_nullok=Accept null passwords?
pwdb_md5=Use MD5-encrypted passwords?
pwdb_nodelay=Delay after failed login?

listfile_item=Search file for
listfile_item_user=Username
listfile_item_tty=TTY
listfile_item_rhost=Remote hostname
listfile_item_ruser=Remote username
listfile_item_group=Group
listfile_item_shell=Shell
listfile_sense=If found in file
listfile_file=File to search
listfile_onerr=On file error
listfile_fail=Fail
listfile_succeed=Succeed
listfile_apply=Limit check to
listfile_all=All users
listfile_user=Only user
listfile_group=Only group

cracklib_type=Password type in prompt
cracklib_retry=Maximum retries before failure
cracklib_eretry=Missing or invalid number of retries
cracklib_etype=Missing or invalid password type

rhosts_equiv=Read <tt>/etc/hosts.equiv</tt> file?
rhosts_rhosts=Read users' <tt>.rhosts</tt> files?
rhosts_promiscuous=<tt>+</tt> entry allows all hosts?
rhosts_suppress=Log authentication failures?

env_var=Variable name
env_def=Default value
env_over=Override value
env_evar=Variable names cannot contain spaces

securetty_ttys=Secure TTYs

shells_shells=Valid user shells

tally_deny=Failure attempts before denying access
tally_reset=Reset failure count on success
tally_edeny=Missing or invalid number of failure attempts
tally_magic=Failure count applies to <tt>root</tt>?
tally_root=<tt>root</tt> account can be denied?

time_services=Services
time_ttys=TTYs
time_users=Users
time_times=Access times
time_info=All fields can contain multiple values separated by |, and values can use * as a wildcard or ! as a negator.

group_services=Services
group_ttys=TTYs
group_users=Users
group_times=Access times
group_groups=Add groups
group_info=All fields can contain multiple values separated by |, and values can use * as a wildcard or ! as a negator.

wheel_group=Check for membership of group
wheel_group_def=Default (<tt>wheel</tt> or GID 0)
wheel_trust=Group members bypass futher authentication?
wheel_deny=Deny instead of allowing group members?
wheel_egroup=Missing or invalid group name

motd_file=File to display
motd_file_def=Default (<tt>/etc/motd</tt>)
motd_efile=Missing or invalid filename

mail_nopen=Display mail notification at login?
mail_close=Display mail notification at logout?
mail_empty=Notify if the mail file is empty?
mail_noenv=Set $MAIL environment variable?
mail_dir=Mail spool directory
mail_edir=Missing or invalid mail spool directory

stack_service=Pass check on to PAM service

log_pam_create=Created PAM service $1
log_pam_delete=Deleted PAM service $1
log_mod_create=Added PAM module $1 to service $2
log_mod_modify=Modified PAM module $1 in service $2
log_mod_delete=Deleted PAM module $1 in service $2
log_mod_move=Swapped PAM modules in service $3
log_mod_move_l=Swapped PAM modules $1 and $2 in service $3

 0707010004f492000081a40000000000000002000000013d1fe2e2000024cf000000200000000000000000000000000000001200000003reloc/pam/lang/es index_title=Autenticación PAM
index_name=Servicio
index_desc=Descripción
index_add=Añadir un nuevo servicio PAM
index_return=lista de servicio
index_none=No se han hallado archivos de configuración de PAM en tu sistema en el directorio $1. Quizás PAM no está soportado o tu <a href='$2'>configuración del módulo</a> es incorrecta.

desc_su=Conmutar usuario
desc_login=Login local o remoto
desc_samba=Servidor Samba de archivos Windows
desc_imap=Servidor de correo IMAP
desc_pop=Servidor de correo POP
desc_kde=Login de KDE
desc_rexec=Servidor de ejecución remota
desc_rlogin=Servidor de login remoto
desc_rsh=Servidor de shell remoto
desc_passwd=Cambio de clave de acceso
desc_chfn=Información de cambio de finger
desc_chsh=Cambiar shell
desc_ftp=Servidor de transferencia de archivo
desc_ftpd=Servidor de transferencia de archivo
desc_wu-ftpd=Servidor WuFTPd de transferencia de archivo
desc_xscreensaver=Salvapantallas
desc_other=Otros servicios
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Servidor de archivos Netatalk de Apple
desc_webmin=Servidor web de Webmin
desc_xdm=X login local o remoto
desc_gdm=X login de Gnome
desc_linuxconf=Login de LinuxConf
desc_linuxconf-pair=Login adicional de LinuxConf
desc_linuxconf-auth=Autenticación LinuxConf
desc_xlock=Bloqueo de pantalla
desc_vlock=Bloqueo de consola virtual
desc_kbdrate=Control de velocidad de teclado
desc_halt=Parar sistema
desc_poweroff=Apagar sistema
desc_reboot=Rearrancar sistema
desc_shutdown=Cerrar sistema
desc_mcserv=Midnight commander
desc_kppp=Herramienta de cliente PPP de KDE
desc_xserver=Servidor X11
desc_gnorpm-auth=Herramienta RPM de Gnome
desc_kpackage=Herramienta RPM de KDE
desc_ppp=Demonio de login de PPP
desc_rp3-config=Herramienta de cliente PPP de Redhat
desc_up2date=Agente de actualización de Linux de Redhat
desc_up2date-config=Configuración de actualización de Linux de Redhat
desc_sudo=Ejecución limitada de comando de root
desc_httpd=Servidor Web
desc_qpop=Servidor de Correo POP
desc_sshd=Login mediante SSH
desc_squid=Servidor Proxy Squid
desc_bindconf=Herramienta de configuracuón BIND de Redhat
desc_apacheconf=Herramienta de configuración Apache de Redhat
desc_adsl-config=Herramienta de configuración ADSL de Redhat
desc_internet-config=Herramienta de configuración de internet de Redhat
desc_isdn-config=Herramienta de configuración ISDN de Redhat
desc_kontrol-panel=Panel de control de KDE de Redhat
desc_kscreensaver=Salvapantallas de KDE
desc_printconf-gui=Herramienta de configuración de impresoras de Redhat
desc_rhn_register=Registro de Red de Redhat
desc_system-auth=Autenticación común
desc_cups=Impresión CUPS

edit_title=Editar Servicio PAM
edit_header=Detalles de servicio PAM
edit_name=Nombre de servicio
edit_header_auth=Pasos de autenticación
edit_header_account=Pasos de verificación de cuenta
edit_header_session=Pasos de configuración de sesión
edit_header_password=Pasos de cambio de clave de acceso
edit_mod=Módulo PAM
edit_desc=Descripción
edit_args=Parámetros
edit_addmod=Añadir paso para:
edit_control=Nivel de fallo
edit_none=No se han especificado módulos de PAM para este paso
edit_delete=Borrar servicio de PAM
edit_move=Mover
edit_return=Servicio de PAM

pam_pwdb.so=Autenticación de clave de acceso de Unix
pam_securetty.so=Revisión de TTY segura para root
pam_nologin.so=Revisar archivo <tt>/etc/nologin</tt>
pam_mail.so=Notificación de nuevo correo
pam_lastlog.so=Notificación de último login
pam_rootok.so=Revisar sólo usuario <tt>root</tt>
pam_cracklib.so=Revisión exhaustiva de clave de acceso
pam_access.so=Revisar archivo de control de acceso
pam_deny.so=Siempre denegar acceso
pam_env.so=Poner variables de entorno
pam_ftp.so=Revisar autenticación FTP
pam_time.so=Revisar horario de login
pam_group.so=Poner pertenencia a grupo
pam_listfile.so=Revisar contenido de archivo
pam_limits.so=Poner límite de recursos
pam_mkhomedir.so=Crear directorio inicial
pam_motd.so=Mostrar el archivo de mensaje-del-día
pam_permit.so=Siempre permitir acceso
pam_radius.so=Autenticación de servidor RADIUS
pam_rhosts.so=Revisar archivos <tt>.rhosts</tt>
pam_rhosts_auth.so=Revisar archivos <tt>.rhosts</tt>
pam_shells.so=Revisar shell válido
pam_unix.so=Autenticación de clave de acceso de Unix viejo
pam_userdb.so=Autenticación de clave de acceso de archivo DBM
pam_warn.so=Aviso de historial
pam_wheel.so=Revisar grupo <tt>wheel</tt>
pam_issue.so=Mostrar archivo <tt>/etc/issue</tt>
pam_ldap.so=Autenticación de servidor LDAP
pam_unix_auth.so=Autenticación de clave de acceso de Unix
pam_unix_sess.so=Configuración de sesión Unix
pam_unix_session.so=Configuración de sesión Unix
pam_unix_acct.so=Verificación de cuenta Unix
pam_unix_passwd.so=Cambio de clave de acceso de Unix
pam_stress.so=Prueba de tensión de la Aplicación
pam_tally.so=Seguir los intentos de login fallidos
pam_passwd+.so=Revisar fuerza de la clave de acceso
pam_filter.so=Filtro de Entrada/salida
pam_desgold.so=Autenticación de tarjeta inteligente DESGold
pam_console.so=Revisar sólo consola
pam_xauth.so=Autenticación X
pam_stack.so=Llamar a otro servicio PAM

control_requisite=Requisito
control_required=Requerido
control_sufficient=Suficiente
control_optional=Opcional
control_desc_requisite=Fallo de autenticación inmediátamente tras fallo
control_desc_required=Fallo de autenticación al final del fallo
control_desc_sufficient=Pasar autenticación inmediátamente tras éxito
control_desc_optional=Se ignora éxito o fallo

create_title=Crear Servicio de PAM
create_header=Nuevas opciones de servicio PAM
create_name=Nombre de servicio
create_desc=Descripción
create_mods=Módulos iniciales de PAM
create_0=Ninguno
create_1=Autenticación Unix
create_2=Denegar todos los accesos

mod_edit=Editar Módulo de PAM
mod_create=Añadir Módulo de PAM
mod_header=Opciones de módulo de PAM
mod_name=Nombre de servicio
mod_mod=Módulo PAM
mod_type=Usar en servicio
mod_type_auth=Autenticación
mod_type_account=Verficación de cuenta
mod_type_session=Configuración de sesión
mod_type_password=Cambiar clave de acceso
mod_control=Nivel de fallo
mod_args=Argumentos de módulo
mod_err=No pude salvar el módulo

pwdb_shadow=¿Uso archivo de claves de acceso en la sombra?
pwdb_nullok=¿Acepto claves de acceso nulas?
pwdb_md5=¿Uso claves de acceso con encriptación MD5?
pwdb_nodelay=¿Retardo tras login fallido?

listfile_item=Buscar en archivo por
listfile_item_user=Nombre de usuario
listfile_item_tty=TTY
listfile_item_rhost=Nombre de máquina remota
listfile_item_ruser=Nombre de usuario remoto
listfile_item_group=Grupo
listfile_item_shell=Shell
listfile_sense=Si hallado en archivo
listfile_file=Archivo a buscar
listfile_onerr=Sobre error de archivo
listfile_fail=Fallo
listfile_succeed=Éxito
listfile_apply=Limitar revisión a
listfile_all=Todos los usuarios
listfile_user=Sólo el usuario
listfile_group=Sólo el grupo

cracklib_type=Tipo de clave de acceso en la petición
cracklib_retry=Máximos reintentos antes de fallar
cracklib_eretry=Número de reintentos sin poner o inválidos
cracklib_etype=Tipo de clave de acceso sin poner o inválido

rhosts_equiv=¿Leo el archivo <tt>/etc/hosts.equiv</tt>?
rhosts_rhosts=¿Leo los archivos <tt>.rhosts</tt> de usuario?
rhosts_promiscuous=¿La entrada <tt>+</tt> da permiso a todas las máquinas?
rhosts_suppress=¿Llevo historial de fallos de autenticación?

env_var=Nombre de variable
env_def=Valor por defecto
env_over=Pasar por alto valor
env_evar=Los nombres de variable no pueden contener espacios

securetty_ttys=TTYs seguras

shells_shells=Shells de usuario válido

tally_deny=Intentos fallidos antes de denegar el acceso
tally_reset=Restablecer contador de fallos tras éxito
tally_edeny=Número de intentos de fallo sin poner o inválido
tally_magic=¿El contador de fallo se aplica a <tt>root</tt>?
tally_root=¿La cuenta <tt>root</tt> puede ser denegada?

time_services=Servicios
time_ttys=TTYs
time_users=Usuarios
time_times=Tiempos de acceso
time_info=Todos los campos pueden contener múltiples valores serparados por | y los valores pueden utilizar * como comodín o ! para negar.

group_services=Servicios
group_ttys=TTYs
group_users=Usuarios
group_times=Tiempos de acceso
group_groups=Añadir grupos
group_info=Todos los campos pueden contener múltiples valores separados por | y los valores pueden utilizar * como comodín o ! para negar.

wheel_group=Revisar pertenencia a grupo
wheel_group_def=Por defecto (<tt>wheel</tt> o GID 0)
wheel_trust=¿Los miembros del grupo pasan por alto autenticaciones posteriores?
wheel_deny=¿Deniego en vez de permitir a miembros de grupo?
wheel_egroup=Nombre de grupo inválido o sin poner

motd_file=Archivo a mostrar
motd_file_def=Por defecto (<tt>/etc/motd</tt>)
motd_efile=Nombre de archivo inválido o sin poner

mail_nopen=¿Muestro notificación de correo al hacer login?
mail_close=¿Muestro notificación de correo al salir a login?
mail_empty=¿Notifico si el archivo de correo está vacío?
mail_noenv=¿Pongo la variable de entorno $MAIL?
mail_dir=Directorio de spool de correo
mail_edir=Directorio de spool de correo inválido o sin poner

stack_service=Pasar comprobación a servicio PAM

log_pam_create=Creado servicio PAM $1
log_pam_delete=Borrado servicio PAM $1
log_mod_create=Añadido módulo de PAM $1 a servicio $2
log_mod_modify=Modificado módulo PAM $1 en servicio $2
log_mod_delete=Borrado módulo de PAM $1 en servicio $2
log_mod_move=Intercambiados módulos de PAM en servicio $3
log_mod_move_l=Intercambiados módulos de PAM $1 y $2 en servicio $3

 0707010004f493000081a40000000000000002000000013d1fe2e200002733000000200000000000000000000000000000001200000003reloc/pam/lang/fr index_title=Authentification PAM
index_name=Service
index_desc=Description
index_add=Ajouter un nouveau service PAM.
index_return=liste des services
index_none=Aucun fichier de configuration PAM n'a été trouvé sur votre système dans le répertoire $1. Peut-être que PAM n'est pas supporté, ou que votre <a href='$2'>configuration des modules</a> est incorrecte.

desc_su=Changement d'utilisateur
desc_login=Connexion locale ou distante
desc_samba=Serveur de fichiers pour Windows Samba
desc_imap=Serveur de courrier IMAP
desc_pop=Serveur de courrier POP
desc_kde=Connexion KDE
desc_rexec=Serveur d'exécution de commande à distance
desc_rlogin=Serveur de connexion distante
desc_rsh=Serveur de shell distant
desc_passwd=Changement du mot de passe
desc_chfn=Changement des informations pour <tt>finger</tt>
desc_chsh=Changement du shell de connexion
desc_ftp=Serveur de transfert de fichier (FTP)
desc_ftpd=Serveur de transfert de fichier (FTP)
desc_wu-ftpd=Serveur de transfert de fichier (FTP) WuFTPd
desc_xscreensaver=Economiseur d'écran
desc_other=Autres services
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Serveur de fichier d'Apple Netatalk
desc_webmin=Serveur web de Webmin
desc_xdm=Connexion X locale ou distante
desc_gdm=Connexion X de Gnome
desc_linuxconf=Connexion à LinuxConf
desc_linuxconf-pair=Connexion supplémentaire à LinuxConf
desc_linuxconf-auth=Authentification LinuxConf
desc_xlock=Verrouillage de l'écran
desc_vlock=Verrouillage des consoles virtuelles
desc_kbdrate=Contrôle de la cadence du clavier
desc_halt=Arrêt du système
desc_poweroff=Arrêt du système en éteignant l'ordinateur
desc_reboot=Redémarrage du système
desc_shutdown=Sortie du système pour arrêt ou redémarrage
desc_mcserv=Midnight commander
desc_kppp=Client PPP de KDE
desc_xserver=Serveur X11
desc_gnorpm-auth=Outil de RPM pour Gnome
desc_kpackage=Outil de RPM pour KDE
desc_ppp=Connexion PPP
desc_rp3-config=Client PPP de Redhat
desc_up2date=Outil de mise à jour de Linux de Redhat
desc_up2date-config=Configuration de mise à jour Linux de Redhat
desc_sudo=Exécution d'une commande en tant que super-utilisateur
desc_httpd=Serveur web
desc_qpop=Serveur de courrier POP
desc_sshd=Login SSH
desc_squid=Serveur proxy Squid
desc_bindconf=Outil de configuration BIND de Redhat
desc_apacheconf=Outil de configuration Apache de Redhat
desc_adsl-config=Outil de configuration ADSL de Redhat
desc_internet-config=Outil de configuration internet de Redhat
desc_isdn-config=Outil de configuration ISDN de Redhat
desc_kontrol-panel=Panneau de contrôle KDE de Redhat
desc_kscreensaver=Economiseur d'écran KDE
desc_printconf-gui=Outil de configuration d'imprimante de Redhat
desc_rhn_register=Enregistrement au Redhat Network
desc_system-auth=Authentification commune
desc_cups=Impression CUPS

edit_title=Édition d'un service PAM
edit_header=Détails du service PAM
edit_name=Service:
edit_header_auth=Étapes d'authentification
edit_header_account=Étapes de vérification de compte
edit_header_session=Étapes de mise en place de la session
edit_header_password=Étapes de changement de mot de passe
edit_mod=module PAM
edit_desc=description
edit_args=paramètres
edit_addmod=Ajouter une étape:
edit_control=niveau d'exigence
edit_none=Aucun module PAM spécifié pour cette étape.
edit_delete=Supprimer ce service PAM.
edit_move=déplacer
edit_return=Service PAM

pam_pwdb.so=authentification des mots de passe Unix
pam_securetty.so=vérification des TTY sûrs pour le super-utilisateur
pam_nologin.so=vérification du fichier <tt>/etc/nologin</tt>
pam_mail.so=notification de nouveaux messages
pam_lastlog.so=notification de la dernière connexion
pam_rootok.so=vérification si l'utilisateur est <tt>root</tt>
pam_cracklib.so=vérification forte des mots de passe
pam_access.so=vérification du fichier de contrôle d'accès
pam_deny.so=interdiction permanente d'accès
pam_env.so=mise en place des variables d'environnement
pam_ftp.so=vérification de l'authentification pour FTP
pam_time.so=vérification de la date pour la connexion
pam_group.so=mise en place de l'appartenance à un groupe Unix
pam_listfile.so=vérification du contenu des fichiers
pam_limits.so=mise en place des limitations sur les ressources
pam_mkhomedir.so=création du répertoire principal
pam_motd.so=affichage du message du jour
pam_permit.so=autorisation permanente d'accès
pam_radius.so=authentification sur un serveur RADIUS
pam_rhosts.so=vérification des fichiers <tt>.rhosts</tt>
pam_rhosts_auth.so=vérification des fichiers <tt>.rhosts</tt>
pam_shells.so=vérification que le shell est valide
pam_unix.so=ancienne authentification des mots de passe Unix
pam_userdb.so=authentification des mots de passe des fichiers DBM
pam_warn.so=Log warning
pam_wheel.so=vérification de l'appartenance au groupe <tt>wheel</tt>
pam_issue.so=affichage du fichier <tt>/etc/issue</tt>
pam_ldap.so=authentification pour un serveur LDAP
pam_unix_auth.so=authentification des mots de passe Unix
pam_unix_sess.so=mise en place de la session Unix
pam_unix_session.so=mise en place de la session Unix
pam_unix_acct.so=vérification du compte Unix
pam_unix_passwd.so=changement de mot de passe Unix
pam_stress.so=Application stress test
pam_tally.so=traces des tentatives de connexion qui ont échoué
pam_passwd+.so=vérification de la solidité des mots de passe
pam_filter.so=filtre d'entrée/sortie
pam_desgold.so=DESGold smartcard authentication
pam_console.so=vérification pour la console uniquement
pam_xauth.so=authentification X
pam_stack.so=Appeler un autre service PAM

control_requisite=requis
control_required=nécessaire
control_sufficient=suffisant
control_optional=optionnel
control_desc_requisite=échec immédiat de l'authentification en cas d'échec
control_desc_required=échec de l'authentification à la fin en cas d'échec
control_desc_sufficient=réussite immédiate de l'authentification en cas de réussite
control_desc_optional=réussite ou échec indifférents

create_title=Création d'un service PAM
create_header=Options du nouveau service PAM
create_name=Nom du service
create_desc=Description
create_mods=Modules PAM initiaux
create_0=Aucun
create_1=Authentification Unix
create_2=Interdire tous les accès

mod_edit=Édition d'un module PAM
mod_create=Ajout d'un module PAM
mod_header=Options du module PAM
mod_name=Nom du service:
mod_mod=Module PAM:
mod_type=Utilité dans le service:
mod_type_auth=authentification
mod_type_account=vérification de compte
mod_type_session=mise en place de la session
mod_type_password=changement de mot de passe
mod_control=Niveau d'exigence:
mod_args=Arguments pour le module
mod_err=Échec de la sauvegarde du module

pwdb_shadow=Utiliser les <em>shadow password</em>?
pwdb_nullok=Accepter des mots de passe vides?
pwdb_md5=Utiliser des mots de passes chiffrés par MD5?
pwdb_nodelay=Attendre après l'échec d'une connexion?

listfile_item=Chercher:
listfile_item_user=utilisateur
listfile_item_tty=TTY
listfile_item_rhost=hôte distant
listfile_item_ruser=utilisateur distant
listfile_item_group=groupe
listfile_item_shell=shell
listfile_sense=Si trouvé:
listfile_file=Fichier dans lequel chercher:
listfile_onerr=Si erreur avec le fichier:
listfile_fail=échec
listfile_succeed=réussite
listfile_apply=Limiter la vérification à:
listfile_all=Tous les utilisateurs
listfile_user=Uniquement l'utilisateur
listfile_group=Uniquement le groupe

cracklib_type=Password type in prompt
cracklib_retry=Maximum retries before failure
cracklib_eretry=Missing or invalid number of retries
cracklib_etype=Missing or invalid password type

rhosts_equiv=Lire le fichier <tt>/etc/hosts.equiv</tt>?
rhosts_rhosts=Lire le fichier <tt>.rhosts</tt> de l'utilisateur?
rhosts_promiscuous=Une entrée avec <tt>+</tt> autorise tous les hôtes?
rhosts_suppress=Garder une trace des authentifications qui échouent?

env_var=Nom de la variable
env_def=Valeur par défaut
env_over=Override value
env_evar=Les noms de variables ne peuvent pas contenir d'espaces.

securetty_ttys=TTY sûrs:

shells_shells=Shells valides pour un utilisateur:

tally_deny=Nombre d'échecs avant d'interdire l'accès:
tally_reset=Remettre à zéro le compteur d'échecs en cas de réussite?
tally_edeny=Le nombre d'échecs avant interdiction de l'accès est manquant ou invalide.
tally_magic=Compter le nombre d'échecs pour <tt>root</tt>?
tally_root=Peut interdire l'accès au compte <tt>root</tt>?

time_services=Services
time_ttys=TTY
time_users=Utilisateurs
time_times=Dates d'accès
time_info=Les champs peuvent contenir plusieurs valeurs séparées par |, et les valeurs peuvent contenir * pour signifier "n'importe quoi" ou ! comme négation.

group_services=Services
group_ttys=TTY
group_users=Utilisateurs
group_times=Dates d'accès
group_groups=Ajouter des groupes
group_info=Les champs peuvent contenir plusieurs valeurs séparées par |, et les valeurs peuvent contenir * pour signifier "n'importe quoi" ou ! comme négation.

wheel_group=Vérifier l'appartenance au groupe:
wheel_group_def=défaut (<tt>wheel</tt> ou GID 0)
wheel_trust=Les membres du groupe évitent les autres authentifications?
wheel_deny=Interdit les membres du groupe au lieu de les autoriser?
wheel_egroup=Nom de groupe manquant ou invalide.

motd_file=Fichier à afficher:
motd_file_def=défaut (<tt>/etc/motd</tt>)
motd_efile=Nom de fichier manquant ou invalide.

mail_nopen=Annoncer les nouveaux messages à de la connexion?
mail_close=Annoncer les nouveaux messages à de la déconnexion?
mail_empty=Annoncer que le fichier de courrier est vide?
mail_noenv=Définir la variable d'environnement <tt>$MAIL</tt>?
mail_dir=Répertoire de stockage du courrier électronique:
mail_edir=Répertoire de stockage du courrier électronique manquant ou invalide.

stack_service=Transmettre la vérification au service PAM

log_pam_create=Service PAM $1 créé
log_pam_delete=Service PAM $1 supprimé
log_mod_create=Module PAM $1 ajouté au service $2
log_mod_modify=Module PAM $1 modifié dans le service $2
log_mod_delete=Module PAM $1 supprimé dans le service $2
log_mod_move=Modules PAM échangés dans le service $3
log_mod_move_l=Modules PAM $1 et $2 échangés dans le service $3
 0707010004f494000081a40000000000000002000000013d1fe2e200002029000000200000000000000000000000000000001900000003reloc/pam/lang/ja_JP.euc  index_title=PAM Ç§¾Ú
index_name=¥µ¡¼¥Ó¥¹
index_desc=ÀâÌÀ
index_add=¿·µ¬¤Î PAM ¥µ¡¼¥Ó¥¹¤òÄÉ²Ã
index_return=¥µ¡¼¥Ó¥¹ ¥ê¥¹¥È
index_none=¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê $1 ¤Ë¤Ï PAM ÀßÄê¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£PAM ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£

desc_su=¥æ¡¼¥¶¤ÎÀÚÂØ
desc_login=¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È ¥í¥°¥¤¥ó
desc_samba=Samba Windows ¥Õ¥¡¥¤¥ë ¥µ¡¼¥Ð
desc_imap=IMAP ¥á¡¼¥ë ¥µ¡¼¥Ð
desc_pop=POP ¥á¡¼¥ë ¥µ¡¼¥Ð
desc_kde=KDE ¥í¥°¥¤¥ó
desc_rexec=¥ê¥â¡¼¥È exec ¥µ¡¼¥Ð
desc_rlogin=¥ê¥â¡¼¥È ¥í¥°¥¤¥ó ¥µ¡¼¥Ð
desc_rsh=¥ê¥â¡¼¥È ¥·¥§¥ë ¥µ¡¼¥Ð
desc_passwd=¥Ñ¥¹¥ï¡¼¥É¤òÊÑ¹¹
desc_chfn=finger ¾ðÊó¤òÊÑ¹¹
desc_chsh=¥·¥§¥ë¤òÊÑ¹¹
desc_ftp=¥Õ¥¡¥¤¥ëÅ¾Á÷¥µ¡¼¥Ð
desc_ftpd=¥Õ¥¡¥¤¥ëÅ¾Á÷¥µ¡¼¥Ð
desc_wu-ftpd=WuFTPd ¥Õ¥¡¥¤¥ëÅ¾Á÷¥µ¡¼¥Ð
desc_xscreensaver=¥¹¥¯¥ê¡¼¥ó ¥»¡¼¥Ð¡¼
desc_other=Â¾¤Î¥µ¡¼¥Ó¥¹
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk Apple ¥Õ¥¡¥¤¥ë ¥µ¡¼¥Ð
desc_webmin=Webmin web ¥µ¡¼¥Ð
desc_xdm=¥í¡¼¥«¥ë¤Þ¤¿¤Ï¥ê¥â¡¼¥È X login
desc_gdm=Gnome X login
desc_linuxconf=LinuxConf ¥í¥°¥¤¥ó
desc_linuxconf-pair=LinuxConf ÄÉ²Ã¥í¥°¥¤¥ó
desc_linuxconf-auth=LinuxConf Ç§¾Ú
desc_xlock=¥¹¥¯¥ê¡¼¥ó ¥í¥Ã¥¯
desc_vlock=²¾ÁÛ¥³¥ó¥½¡¼¥ë ¥í¥Ã¥¯
desc_kbdrate=¥­¡¼¥Ü¡¼¥É ¥ì¡¼¥ÈÀ©¸æ
desc_halt=¥·¥¹¥Æ¥à¤òÃæÃÇ
desc_poweroff=¥·¥¹¥Æ¥à¤ÎÅÅ¸»¤ò¥ª¥Õ
desc_reboot=¥·¥¹¥Æ¥à¤òºÆµ¯Æ°
desc_shutdown=¥·¥¹¥Æ¥à¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó
desc_mcserv=Midnight commander
desc_kppp=KDE PPP ¥¯¥é¥¤¥¢¥ó¥È ¥Ä¡¼¥ë
desc_xserver=X11 ¥µ¡¼¥Ð
desc_gnorpm-auth=Gnome RPM ¥Ä¡¼¥ë
desc_kpackage=KDE RPM ¥Ä¡¼¥ë
desc_ppp=PPP ¥Ç¡¼¥â¥ó ¥í¥°¥¤¥ó
desc_rp3-config=Redhat PPP ¥¯¥é¥¤¥¢¥ó¥È ¥Ä¡¼¥ë
desc_up2date=Redhat Linux ¥¢¥Ã¥×¥Ç¡¼¥È ¥¨¡¼¥¸¥§¥ó¥È
desc_up2date-config=Redhat Linux  ¥¢¥Ã¥×¥Ç¡¼¥ÈÀßÄê
desc_sudo=root ¥³¥Þ¥ó¥É¤Î¼Â¹ÔÀ©¸Â
desc_httpd=Web ¥µ¡¼¥Ð
desc_qpop=POP ¥á¡¼¥ë ¥µ¡¼¥Ð
desc_sshd=SSH ¥í¥°¥¤¥ó
desc_squid=Squid ¥×¥í¥­¥· ¥µ¡¼¥Ð
desc_bindconf=Redhat BIND ÀßÄê¥Ä¡¼¥ë
desc_apacheconf=Redhat Apache ÀßÄê¥Ä¡¼¥ë
desc_adsl-config=Redhat ADSL ÀßÄê¥Ä¡¼¥ë
desc_internet-config=Redhat ¥¤¥ó¥¿¡¼¥Í¥Ã¥ÈÀßÄê¥Ä¡¼¥ë
desc_isdn-config=Redhat ISDN ÀßÄê¥Ä¡¼¥ë
desc_kontrol-panel=Redhat KDE ¥³¥ó¥È¥í¡¼¥ë ¥Ñ¥Í¥ë
desc_kscreensaver=KDE ¥¹¥¯¥ê¡¼¥ó ¥»¡¼¥Ð¡¼
desc_printconf-gui=Redhat ¥×¥ê¥ó¥¿ÀßÄê¥Ä¡¼¥ë
desc_rhn_register=Redhat ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÅÐÏ¿
desc_system-auth=¶¦ÄÌÇ§¾Ú

edit_title=PAM ¥µ¡¼¥Ó¥¹¤ÎÊÔ½¸
edit_header=PAM ¥µ¡¼¥Ó¥¹¤Î¾ÜºÙ
edit_name=¥µ¡¼¥Ó¥¹Ì¾
edit_header_auth=Ç§¾Ú¼ê½ç
edit_header_account=¥¢¥«¥¦¥ó¥È³ÎÇ§¼ê½ç
edit_header_session=¥»¥Ã¥·¥ç¥ó ¥»¥Ã¥È¥¢¥Ã¥× ¼ê½ç
edit_header_password=¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¹¹¼ê½ç
edit_mod=PAM ¥â¥¸¥å¡¼¥ë
edit_desc=ÀâÌÀ
edit_args=¥Ñ¥é¥á¡¼¥¿
edit_addmod=¥¹¥Æ¥Ã¥×¤òÄÉ²Ã: 
edit_control=¾ã³²¥ì¥Ù¥ë
edit_none=¤³¤Î¼ê½ç¤Ë¤Ï PAM ¥â¥¸¥å¡¼¥ë¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
edit_delete=PAM ¥µ¡¼¥Ó¥¹¤òºï½ü
edit_move=°ÜÆ°
edit_return=PAM ¥µ¡¼¥Ó¥¹

pam_pwdb.so=Unix ¥Ñ¥¹¥ï¡¼¥É¤ÎÇ§¾Ú
pam_securetty.so=root ¤Î¥»¥­¥å¥¢ TTY ¸¡ºº
pam_nologin.so=<tt>/etc/nologin</tt> ¥Õ¥¡¥¤¥ë ¥Á¥§¥Ã¥¯
pam_mail.so=¿·µ¬¥á¡¼¥ë¤òÄÌÃÎ
pam_lastlog.so=ºÇ¸å¤Î¥í¥°¥¤¥ó¤òÄÌÃÎ
pam_rootok.so=<tt>root</tt> ¥æ¡¼¥¶¤Î¤ß¸¡ºº
pam_cracklib.so=¶¯ÎÏ¤Ê¥Ñ¥¹¥ï¡¼¥É¸¡ºº
pam_access.so=¥¢¥¯¥»¥¹À©¸æ¥Õ¥¡¥¤¥ë¤Î¸¡ºº
pam_deny.so=¾ï¤Ë¥¢¥¯¥»¥¹¤òµñÈÝ
pam_env.so=´Ä¶­ÊÑ¿ô¤òÀßÄê
pam_ftp.so=FTP Ç§¾Ú¸¡ºº
pam_time.so=¥í¥°¥¤¥ó»þ´Ö¤ò¸¡ºº
pam_group.so=¥°¥ë¡¼¥× ¥á¥ó¥Ð¡¼¥·¥Ã¥×¤ÎÀßÄê
pam_listfile.so=¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¸¡ºº
pam_limits.so=¥ê¥½¡¼¥¹À©¸Â¤òÀßÄê
pam_mkhomedir.so=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®
pam_motd.so=ËÜÆü¤Î¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë¤òÉ½¼¨
pam_permit.so=¾ï¤Ë¥¢¥¯¥»¥¹¤òµö²Ä
pam_radius.so=RADIUS ¥µ¡¼¥Ð¤ÎÇ§¾Ú
pam_rhosts.so=¡¡<tt>.rhosts</tt> ¥Õ¥¡¥¤¥ë¤ò¸¡ºº
pam_rhosts_auth.so=¡¡<tt>.rhosts</tt> ¥Õ¥¡¥¤¥ë¤ò¸¡ºº
pam_shells.so=Í­¸ú¤Ê¥·¥§¥ë¤ò¸¡ºº
pam_unix.so=¸Å¤¤ Unix ¥Ñ¥¹¥ï¡¼¥ÉÇ§¾Ú
pam_userdb.so=DBM ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¥ï¡¼¥ÉÇ§¾Ú
pam_warn.so=¥í¥°¤Î·Ù¹ð
pam_wheel.so=<tt>wheel</tt> ¥°¥ë¡¼¥×¤Î¸¡ºº 
pam_issue.so=É½¼¨<tt>/etc/issue</tt> ¥Õ¥¡¥¤¥ë
pam_ldap.so=LDAP ¥µ¡¼¥Ð¤ÎÇ§¾Ú
pam_unix_auth.so=Unix ¥Ñ¥¹¥ï¡¼¥É¤ÎÇ§¾Ú
pam_unix_sess.so=Unix ¥»¥Ã¥·¥ç¥ó¤Î¥»¥Ã¥È¥¢¥Ã¥×
pam_unix_session.so=Unix ¥»¥Ã¥·¥ç¥ó¤Î¥»¥Ã¥È¥¢¥Ã¥×
pam_unix_acct.so=Unix ¥¢¥«¥¦¥ó¥È¤ò³ÎÇ§
pam_unix_passwd.so=Unix ¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¹¹
pam_stress.so=¥¢¥×¥ê¥±¡¼¥·¥ç¥ó ¥¹¥È¥ì¥¹ ¥Æ¥¹¥È
pam_tally.so=¥È¥é¥Ã¥¯¤Ç¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
pam_passwd+.so=¥Ñ¥¹¥ï¡¼¥É¤Î¶¯ÅÙ¤ò¸¡ºº
pam_filter.so=ÆþÎÏ/½ÐÎÏ¥Õ¥£¥ë¥¿
pam_desgold.so=DESGold smartcard Ç§¾Ú
pam_console.so=¥³¥ó¥½¡¼¥ë¤Î¤ß¸¡ºº
pam_xauth.so=X Ç§¾Ú
pam_stack.so=Â¾¤Î PAM ¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤·

control_requisite=Í×·ï
control_required=É¬¿Ü
control_sufficient=½½Ê¬
control_optional=¥ª¥×¥·¥ç¥ó
control_desc_requisite=¾ã³²»þ¤ËÂ¨ºÂ¤ËÇ§¾Ú¤ò¼ºÇÔ¤µ¤»¤ë
control_desc_required=¾ã³²»þ¤ËºÇ¸å¤ËÇ§¾Ú¤ò¼ºÇÔ¤µ¤»¤ë
control_desc_sufficient=À®¸ù»þ¤ËÂ¨ºÂ¤ËÇ§¾Ú¤ò´°Î»¤¹¤ë
control_desc_optional=À®¸ù¤Þ¤¿¤Ï¼ºÇÔ¤òÌµ»ë¤¹¤ë

create_title=PAM ¥µ¡¼¥Ó¥¹¤ÎºîÀ®
create_header=¿·µ¬¤Î PAM ¥µ¡¼¥Ó¥¹¤Î¥ª¥×¥·¥ç¥ó
create_name=¥µ¡¼¥Ó¥¹Ì¾
create_desc=ÀâÌÀ
create_mods=½é´ü PAM ¥â¥¸¥å¡¼¥ë
create_0=¤Ê¤·
create_1=Unix Ç§¾Ú
create_2=¤¹¤Ù¤Æ¤Î¥¢¥¯¥»¥¹¤òµñÈÝ

mod_edit=PAM ¥â¥¸¥å¡¼¥ë¤òÊÔ½¸
mod_create=PAM ¥â¥¸¥å¡¼¥ë¤òÄÉ²Ã
mod_header=PAM ¥â¥¸¥å¡¼¥ë ¥ª¥×¥·¥ç¥ó
mod_name=¥µ¡¼¥Ó¥¹Ì¾
mod_mod=PAM ¥â¥¸¥å¡¼¥ë
mod_type=¥µ¡¼¥Ó¥¹¤Ç»ÈÍÑ
mod_type_auth=Ç§¾Ú
mod_type_account=¥¢¥«¥¦¥ó¥È¤Î³ÎÇ§
mod_type_session=¥»¥Ã¥·¥ç¥ó ¥»¥Ã¥È¥¢¥Ã¥×
mod_type_password=¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¹¹
mod_control=¾ã³²¥ì¥Ù¥ë
mod_args=¥â¥¸¥å¡¼¥ë¤Î°ú¿ô
mod_err=¥â¥¸¥å¡¼¥ë¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

pwdb_shadow=¥·¥ã¥É¡¼ ¥Ñ¥¹¥ï¡¼¥É ¥Õ¥¡¥¤¥ë¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
pwdb_nullok=NULL ¥Ñ¥¹¥ï¡¼¥É¤òµö²Ä¤·¤Þ¤¹¤«¡©
pwdb_md5=MD5 °Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
pwdb_nodelay=¥í¥°¥¤¥ó¤Ë¼ºÇÔ¸åÃÙ±ä¤·¤Þ¤¹¤«¡©

listfile_item=¥Õ¥¡¥¤¥ë¤ò¸¡º÷
listfile_item_user=¥æ¡¼¥¶Ì¾
listfile_item_tty=TTY
listfile_item_rhost=¥ê¥â¡¼¥È ¥Û¥¹¥ÈÌ¾
listfile_item_ruser=¥ê¥â¡¼¥È ¥æ¡¼¥¶Ì¾
listfile_item_group=¥°¥ë¡¼¥×
listfile_item_shell=¥·¥§¥ë
listfile_sense=¥Õ¥¡¥¤¥ë¤Ç¸«¤Ä¤«¤Ã¤¿¾ì¹ç
listfile_file=¸¡º÷¤¹¤ë¥Õ¥¡¥¤¥ë
listfile_onerr=¥Õ¥¡¥¤¥ë ¥¨¥é¡¼
listfile_fail=¼ºÇÔ
listfile_succeed=À®¸ù
listfile_apply=¸¡ºº¤òÀ©¸Â
listfile_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
listfile_user=¼¡¤Î¥æ¡¼¥¶¤Î¤ß
listfile_group=¥°¥ë¡¼¥×¤Î¤ß

cracklib_type=¥×¥í¥ó¥×¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤Î¼ïÎà
cracklib_retry=¼ºÇÔ¤Þ¤Ç¤ÎºÇÂç»î¹Ô¿ô
cracklib_eretry=»î¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
cracklib_etype=¥Ñ¥¹¥ï¡¼¥É¤Î¼ïÎà¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

rhosts_equiv=<tt>/etc/hosts.equiv</tt> ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¤«¡©
rhosts_rhosts=¥æ¡¼¥¶¤Î<tt>.rhosts</tt> ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¼è¤ê¤Þ¤¹¤«¡©
rhosts_promiscuous=<tt>+</tt> ¥¨¥ó¥È¥ê¤ò¤¹¤Ù¤Æ¤Î¥Û¥¹¥È¤Ëµö²Ä¤·¤Þ¤¹¤«¡©
rhosts_suppress=Ç§¾Ú¤Î¼ºÇÔ¤ò¥í¥°¤Ëµ­Ï¿¤·¤Þ¤¹¤«¡©

env_var=ÊÑ¿ôÌ¾
env_def=¥Ç¥Õ¥©¥ë¥ÈÃÍ
env_over=¾å½ñ¤­ÃÍ
env_evar=ÊÑ¿ôÌ¾¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó

securetty_ttys=¥»¥­¥å¥¢ TTY

shells_shells=Í­¸ú¤Ê¥æ¡¼¥¶ ¥·¥§¥ë

tally_deny=¥¢¥¯¥»¥¹¤òµñÈÝ¤¹¤ë¤Þ¤Ç¤Î»î¹Ô²ó¿ô
tally_reset=À®¸ù»þ¤Ë¼ºÇÔ¿ô¤ò¥ê¥»¥Ã¥È
tally_edeny=¼ºÇÔ¤Î»î¹Ô¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
tally_magic=¼ºÇÔ¿ô¤ÎÅ¬ÍÑ<tt>root</tt>?
tally_root=<tt>root</tt> ¥¢¥«¥¦¥ó¥È¤òµñÈÝ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

time_services=¥µ¡¼¥Ó¥¹
time_ttys=TTY
time_users=¥æ¡¼¥¶
time_times=¥¢¥¯¥»¥¹»þ´Ö
time_info=¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï  | ¤ÇÊ¬Î¥¤·¤¿Ê£¿ô¤ÎÃÍ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¡¢ÃÍ¤Ï¥ï¥¤¥ë¥É ¥«¡¼¥É¤È¤·¤Æ * ¤Þ¤¿¤ÏÈÝÄê¼­¤È¤·¤Æ ! ¤ò»ÈÍÑ¤Ç¤­¤Þ¤¹¡£

group_services=¥µ¡¼¥Ó¥¹
group_ttys=TTY
group_users=¥æ¡¼¥¶
group_times=¥¢¥¯¥»¥¹»þ´Ö
group_groups=¥°¥ë¡¼¥×¤òÄÉ²Ã
group_info=¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï  | ¤ÇÊ¬Î¥¤·¤¿Ê£¿ô¤ÎÃÍ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¡¢ÃÍ¤Ï¥ï¥¤¥ë¥É ¥«¡¼¥É¤È¤·¤Æ * ¤Þ¤¿¤ÏÈÝÄê¼­¤È¤·¤Æ ! ¤ò»ÈÍÑ¤Ç¤­¤Þ¤¹¡£

wheel_group=¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¥·¥Ã¥×¤ò¸¡ºº
wheel_group_def=¥Ç¥Õ¥©¥ë¥È(<tt>wheel</tt> ¤Þ¤¿¤Ï GID 0)
wheel_trust=¥°¥ë¡¼¥× ¥á¥ó¥Ð¡¼¤¬¾ÜºÙÇ§¾Ú¤ò¥Ð¥¤¥Ñ¥¹²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
wheel_deny=¥°¥ë¡¼¥× ¥á¥ó¥Ð¡¼¤òµö²Ä¤¹¤ë¤«¤ï¤ê¤ËµñÈÝ¤·¤Þ¤¹¤«¡©
wheel_egroup=¥°¥ë¡¼¥×Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

motd_file=É½¼¨¤¹¤ë¥Õ¥¡¥¤¥ë
motd_file_def=¥Ç¥Õ¥©¥ë¥È(<tt>/etc/motd</tt>)
motd_efile=¥Õ¥¡¥¤¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

mail_nopen=¥í¥°¥¤¥ó¤Ç¥á¡¼¥ë¤ÎÄÌÃÎ¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
mail_close=¥í¥° ¥¢¥¦¥È¤Ç¥á¡¼¥ë¤ÎÄÌÃÎ¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
mail_empty=¥á¡¼¥ë ¥Õ¥¡¥¤¥ë¤¬¶õ¤Î¾ì¹ç¤ÏÄÌÃÎ¤·¤Þ¤¹¤«¡©
mail_noenv= $MAIL ´Ä¶­ÊÑ¿ô¤òÀßÄê¤·¤Þ¤¹¤«¡©
mail_dir=¥á¡¼¥ë ¥¹¥×¡¼¥ë ¥Ç¥£¥ì¥¯¥È¥ê
mail_edir=¥á¡¼¥ë ¥¹¥×¡¼¥ë ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

stack_service=PAM ¥µ¡¼¥Ó¥¹¤Ë¸¡ºº¤òÅÏ¤¹

log_pam_create=PAM ¥µ¡¼¥Ó¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_pam_delete=PAM ¥µ¡¼¥Ó¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_mod_create=PAM ¥â¥¸¥å¡¼¥ë $1 ¤ò¥µ¡¼¥Ó¥¹ $2 ¤ËÄÉ²Ã¤·¤Þ¤·¤¿
log_mod_modify=¥µ¡¼¥Ó¥¹ $2 Æâ¤ÎPAM ¥â¥¸¥å¡¼¥ë $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mod_delete=¥µ¡¼¥Ó¥¹ $2 Æâ¤ÎPAM ¥â¥¸¥å¡¼¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_mod_move=¥µ¡¼¥Ó¥¹ $3 ¤Î PAM ¥â¥¸¥å¡¼¥ë¤ò¥¹¥ï¥Ã¥×¤·¤Þ¤·¤¿
log_mod_move_l=¥µ¡¼¥Ó¥¹ $3Æâ¤ÎPAM ¥â¥¸¥å¡¼¥ë $1 ¤È $2¤ò¥¹¥ï¥Ã¥×¤·¤Þ¤·¤¿

   0707010004f495000081a40000000000000002000000013d1fe2e200002029000000200000000000000000000000000000001900000003reloc/pam/lang/ja_JP.jis  index_title=PAM ”FØ
index_name=ƒT[ƒrƒX
index_desc=à–¾
index_add=V‹K‚Ì PAM ƒT[ƒrƒX‚ð’Ç‰Á
index_return=ƒT[ƒrƒX ƒŠƒXƒg
index_none=ƒVƒXƒeƒ€‚ÌƒfƒBƒŒƒNƒgƒŠ $1 ‚É‚Í PAM Ý’èƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½BPAM ‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚È‚¢‚©A <a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B

desc_su=ƒ†[ƒU‚ÌØ‘Ö
desc_login=ƒ[ƒJƒ‹‚Ü‚½‚ÍƒŠƒ‚[ƒg ƒƒOƒCƒ“
desc_samba=Samba Windows ƒtƒ@ƒCƒ‹ ƒT[ƒo
desc_imap=IMAP ƒ[ƒ‹ ƒT[ƒo
desc_pop=POP ƒ[ƒ‹ ƒT[ƒo
desc_kde=KDE ƒƒOƒCƒ“
desc_rexec=ƒŠƒ‚[ƒg exec ƒT[ƒo
desc_rlogin=ƒŠƒ‚[ƒg ƒƒOƒCƒ“ ƒT[ƒo
desc_rsh=ƒŠƒ‚[ƒg ƒVƒFƒ‹ ƒT[ƒo
desc_passwd=ƒpƒXƒ[ƒh‚ð•ÏX
desc_chfn=finger î•ñ‚ð•ÏX
desc_chsh=ƒVƒFƒ‹‚ð•ÏX
desc_ftp=ƒtƒ@ƒCƒ‹“]‘—ƒT[ƒo
desc_ftpd=ƒtƒ@ƒCƒ‹“]‘—ƒT[ƒo
desc_wu-ftpd=WuFTPd ƒtƒ@ƒCƒ‹“]‘—ƒT[ƒo
desc_xscreensaver=ƒXƒNƒŠ[ƒ“ ƒZ[ƒo[
desc_other=‘¼‚ÌƒT[ƒrƒX
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk Apple ƒtƒ@ƒCƒ‹ ƒT[ƒo
desc_webmin=Webmin web ƒT[ƒo
desc_xdm=ƒ[ƒJƒ‹‚Ü‚½‚ÍƒŠƒ‚[ƒg X login
desc_gdm=Gnome X login
desc_linuxconf=LinuxConf ƒƒOƒCƒ“
desc_linuxconf-pair=LinuxConf ’Ç‰ÁƒƒOƒCƒ“
desc_linuxconf-auth=LinuxConf ”FØ
desc_xlock=ƒXƒNƒŠ[ƒ“ ƒƒbƒN
desc_vlock=‰¼‘zƒRƒ“ƒ\[ƒ‹ ƒƒbƒN
desc_kbdrate=ƒL[ƒ{[ƒh ƒŒ[ƒg§Œä
desc_halt=ƒVƒXƒeƒ€‚ð’†’f
desc_poweroff=ƒVƒXƒeƒ€‚Ì“dŒ¹‚ðƒIƒt
desc_reboot=ƒVƒXƒeƒ€‚ðÄ‹N“®
desc_shutdown=ƒVƒXƒeƒ€‚ðƒVƒƒƒbƒgƒ_ƒEƒ“
desc_mcserv=Midnight commander
desc_kppp=KDE PPP ƒNƒ‰ƒCƒAƒ“ƒg ƒc[ƒ‹
desc_xserver=X11 ƒT[ƒo
desc_gnorpm-auth=Gnome RPM ƒc[ƒ‹
desc_kpackage=KDE RPM ƒc[ƒ‹
desc_ppp=PPP ƒf[ƒ‚ƒ“ ƒƒOƒCƒ“
desc_rp3-config=Redhat PPP ƒNƒ‰ƒCƒAƒ“ƒg ƒc[ƒ‹
desc_up2date=Redhat Linux ƒAƒbƒvƒf[ƒg ƒG[ƒWƒFƒ“ƒg
desc_up2date-config=Redhat Linux  ƒAƒbƒvƒf[ƒgÝ’è
desc_sudo=root ƒRƒ}ƒ“ƒh‚ÌŽÀs§ŒÀ
desc_httpd=Web ƒT[ƒo
desc_qpop=POP ƒ[ƒ‹ ƒT[ƒo
desc_sshd=SSH ƒƒOƒCƒ“
desc_squid=Squid ƒvƒƒLƒV ƒT[ƒo
desc_bindconf=Redhat BIND Ý’èƒc[ƒ‹
desc_apacheconf=Redhat Apache Ý’èƒc[ƒ‹
desc_adsl-config=Redhat ADSL Ý’èƒc[ƒ‹
desc_internet-config=Redhat ƒCƒ“ƒ^[ƒlƒbƒgÝ’èƒc[ƒ‹
desc_isdn-config=Redhat ISDN Ý’èƒc[ƒ‹
desc_kontrol-panel=Redhat KDE ƒRƒ“ƒgƒ[ƒ‹ ƒpƒlƒ‹
desc_kscreensaver=KDE ƒXƒNƒŠ[ƒ“ ƒZ[ƒo[
desc_printconf-gui=Redhat ƒvƒŠƒ“ƒ^Ý’èƒc[ƒ‹
desc_rhn_register=Redhat ƒlƒbƒgƒ[ƒN‚Ì“o˜^
desc_system-auth=‹¤’Ê”FØ

edit_title=PAM ƒT[ƒrƒX‚Ì•ÒW
edit_header=PAM ƒT[ƒrƒX‚ÌÚ×
edit_name=ƒT[ƒrƒX–¼
edit_header_auth=”FØŽè‡
edit_header_account=ƒAƒJƒEƒ“ƒgŠm”FŽè‡
edit_header_session=ƒZƒbƒVƒ‡ƒ“ ƒZƒbƒgƒAƒbƒv Žè‡
edit_header_password=ƒpƒXƒ[ƒh‚Ì•ÏXŽè‡
edit_mod=PAM ƒ‚ƒWƒ…[ƒ‹
edit_desc=à–¾
edit_args=ƒpƒ‰ƒ[ƒ^
edit_addmod=ƒXƒeƒbƒv‚ð’Ç‰Á: 
edit_control=áŠQƒŒƒxƒ‹
edit_none=‚±‚ÌŽè‡‚É‚Í PAM ƒ‚ƒWƒ…[ƒ‹‚ªŽw’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
edit_delete=PAM ƒT[ƒrƒX‚ðíœ
edit_move=ˆÚ“®
edit_return=PAM ƒT[ƒrƒX

pam_pwdb.so=Unix ƒpƒXƒ[ƒh‚Ì”FØ
pam_securetty.so=root ‚ÌƒZƒLƒ…ƒA TTY ŒŸ¸
pam_nologin.so=<tt>/etc/nologin</tt> ƒtƒ@ƒCƒ‹ ƒ`ƒFƒbƒN
pam_mail.so=V‹Kƒ[ƒ‹‚ð’Ê’m
pam_lastlog.so=ÅŒã‚ÌƒƒOƒCƒ“‚ð’Ê’m
pam_rootok.so=<tt>root</tt> ƒ†[ƒU‚Ì‚ÝŒŸ¸
pam_cracklib.so=‹­—Í‚ÈƒpƒXƒ[ƒhŒŸ¸
pam_access.so=ƒAƒNƒZƒX§Œäƒtƒ@ƒCƒ‹‚ÌŒŸ¸
pam_deny.so=í‚ÉƒAƒNƒZƒX‚ð‹‘”Û
pam_env.so=ŠÂ‹«•Ï”‚ðÝ’è
pam_ftp.so=FTP ”FØŒŸ¸
pam_time.so=ƒƒOƒCƒ“ŽžŠÔ‚ðŒŸ¸
pam_group.so=ƒOƒ‹[ƒv ƒƒ“ƒo[ƒVƒbƒv‚ÌÝ’è
pam_listfile.so=ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðŒŸ¸
pam_limits.so=ƒŠƒ\[ƒX§ŒÀ‚ðÝ’è
pam_mkhomedir.so=ƒz[ƒ€ ƒfƒBƒŒƒNƒgƒŠ‚ðì¬
pam_motd.so=–{“ú‚ÌƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹‚ð•\Ž¦
pam_permit.so=í‚ÉƒAƒNƒZƒX‚ð‹–‰Â
pam_radius.so=RADIUS ƒT[ƒo‚Ì”FØ
pam_rhosts.so=@<tt>.rhosts</tt> ƒtƒ@ƒCƒ‹‚ðŒŸ¸
pam_rhosts_auth.so=@<tt>.rhosts</tt> ƒtƒ@ƒCƒ‹‚ðŒŸ¸
pam_shells.so=—LŒø‚ÈƒVƒFƒ‹‚ðŒŸ¸
pam_unix.so=ŒÃ‚¢ Unix ƒpƒXƒ[ƒh”FØ
pam_userdb.so=DBM ƒtƒ@ƒCƒ‹‚ÌƒpƒXƒ[ƒh”FØ
pam_warn.so=ƒƒO‚ÌŒx
pam_wheel.so=<tt>wheel</tt> ƒOƒ‹[ƒv‚ÌŒŸ¸ 
pam_issue.so=•\Ž¦<tt>/etc/issue</tt> ƒtƒ@ƒCƒ‹
pam_ldap.so=LDAP ƒT[ƒo‚Ì”FØ
pam_unix_auth.so=Unix ƒpƒXƒ[ƒh‚Ì”FØ
pam_unix_sess.so=Unix ƒZƒbƒVƒ‡ƒ“‚ÌƒZƒbƒgƒAƒbƒv
pam_unix_session.so=Unix ƒZƒbƒVƒ‡ƒ“‚ÌƒZƒbƒgƒAƒbƒv
pam_unix_acct.so=Unix ƒAƒJƒEƒ“ƒg‚ðŠm”F
pam_unix_passwd.so=Unix ƒpƒXƒ[ƒh‚Ì•ÏX
pam_stress.so=ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ ƒXƒgƒŒƒX ƒeƒXƒg
pam_tally.so=ƒgƒ‰ƒbƒN‚ÅƒƒOƒCƒ“‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
pam_passwd+.so=ƒpƒXƒ[ƒh‚Ì‹­“x‚ðŒŸ¸
pam_filter.so=“ü—Í/o—ÍƒtƒBƒ‹ƒ^
pam_desgold.so=DESGold smartcard ”FØ
pam_console.so=ƒRƒ“ƒ\[ƒ‹‚Ì‚ÝŒŸ¸
pam_xauth.so=X ”FØ
pam_stack.so=‘¼‚Ì PAM ƒT[ƒrƒX‚ðŒÄ‚Ño‚µ

control_requisite=—vŒ
control_required=•K{
control_sufficient=\•ª
control_optional=ƒIƒvƒVƒ‡ƒ“
control_desc_requisite=áŠQŽž‚É‘¦À‚É”FØ‚ðŽ¸”s‚³‚¹‚é
control_desc_required=áŠQŽž‚ÉÅŒã‚É”FØ‚ðŽ¸”s‚³‚¹‚é
control_desc_sufficient=¬Œ÷Žž‚É‘¦À‚É”FØ‚ðŠ®—¹‚·‚é
control_desc_optional=¬Œ÷‚Ü‚½‚ÍŽ¸”s‚ð–³Ž‹‚·‚é

create_title=PAM ƒT[ƒrƒX‚Ìì¬
create_header=V‹K‚Ì PAM ƒT[ƒrƒX‚ÌƒIƒvƒVƒ‡ƒ“
create_name=ƒT[ƒrƒX–¼
create_desc=à–¾
create_mods=‰Šú PAM ƒ‚ƒWƒ…[ƒ‹
create_0=‚È‚µ
create_1=Unix ”FØ
create_2=‚·‚×‚Ä‚ÌƒAƒNƒZƒX‚ð‹‘”Û

mod_edit=PAM ƒ‚ƒWƒ…[ƒ‹‚ð•ÒW
mod_create=PAM ƒ‚ƒWƒ…[ƒ‹‚ð’Ç‰Á
mod_header=PAM ƒ‚ƒWƒ…[ƒ‹ ƒIƒvƒVƒ‡ƒ“
mod_name=ƒT[ƒrƒX–¼
mod_mod=PAM ƒ‚ƒWƒ…[ƒ‹
mod_type=ƒT[ƒrƒX‚ÅŽg—p
mod_type_auth=”FØ
mod_type_account=ƒAƒJƒEƒ“ƒg‚ÌŠm”F
mod_type_session=ƒZƒbƒVƒ‡ƒ“ ƒZƒbƒgƒAƒbƒv
mod_type_password=ƒpƒXƒ[ƒh‚Ì•ÏX
mod_control=áŠQƒŒƒxƒ‹
mod_args=ƒ‚ƒWƒ…[ƒ‹‚Ìˆø”
mod_err=ƒ‚ƒWƒ…[ƒ‹‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

pwdb_shadow=ƒVƒƒƒh[ ƒpƒXƒ[ƒh ƒtƒ@ƒCƒ‹‚ðŽg—p‚µ‚Ü‚·‚©H
pwdb_nullok=NULL ƒpƒXƒ[ƒh‚ð‹–‰Â‚µ‚Ü‚·‚©H
pwdb_md5=MD5 ˆÃ†‰»ƒpƒXƒ[ƒh‚ðŽg—p‚µ‚Ü‚·‚©H
pwdb_nodelay=ƒƒOƒCƒ“‚ÉŽ¸”sŒã’x‰„‚µ‚Ü‚·‚©H

listfile_item=ƒtƒ@ƒCƒ‹‚ðŒŸõ
listfile_item_user=ƒ†[ƒU–¼
listfile_item_tty=TTY
listfile_item_rhost=ƒŠƒ‚[ƒg ƒzƒXƒg–¼
listfile_item_ruser=ƒŠƒ‚[ƒg ƒ†[ƒU–¼
listfile_item_group=ƒOƒ‹[ƒv
listfile_item_shell=ƒVƒFƒ‹
listfile_sense=ƒtƒ@ƒCƒ‹‚ÅŒ©‚Â‚©‚Á‚½ê‡
listfile_file=ŒŸõ‚·‚éƒtƒ@ƒCƒ‹
listfile_onerr=ƒtƒ@ƒCƒ‹ ƒGƒ‰[
listfile_fail=Ž¸”s
listfile_succeed=¬Œ÷
listfile_apply=ŒŸ¸‚ð§ŒÀ
listfile_all=‚·‚×‚Ä‚Ìƒ†[ƒU
listfile_user=ŽŸ‚Ìƒ†[ƒU‚Ì‚Ý
listfile_group=ƒOƒ‹[ƒv‚Ì‚Ý

cracklib_type=ƒvƒƒ“ƒvƒg‚ÌƒpƒXƒ[ƒh‚ÌŽí—Þ
cracklib_retry=Ž¸”s‚Ü‚Å‚ÌÅ‘åŽŽs”
cracklib_eretry=ŽŽs”‚ª‚È‚¢‚©–³Œø‚Å‚·
cracklib_etype=ƒpƒXƒ[ƒh‚ÌŽí—Þ‚ª‚È‚¢‚©–³Œø‚Å‚·

rhosts_equiv=<tt>/etc/hosts.equiv</tt> ƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚è‚Ü‚·‚©H
rhosts_rhosts=ƒ†[ƒU‚Ì<tt>.rhosts</tt> ƒtƒ@ƒCƒ‹‚ð“Ç‚ÝŽæ‚è‚Ü‚·‚©H
rhosts_promiscuous=<tt>+</tt> ƒGƒ“ƒgƒŠ‚ð‚·‚×‚Ä‚ÌƒzƒXƒg‚É‹–‰Â‚µ‚Ü‚·‚©H
rhosts_suppress=”FØ‚ÌŽ¸”s‚ðƒƒO‚É‹L˜^‚µ‚Ü‚·‚©H

env_var=•Ï”–¼
env_def=ƒfƒtƒHƒ‹ƒg’l
env_over=ã‘‚«’l
env_evar=•Ï”–¼‚ÉƒXƒy[ƒX‚ð“ü‚ê‚é‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ

securetty_ttys=ƒZƒLƒ…ƒA TTY

shells_shells=—LŒø‚Èƒ†[ƒU ƒVƒFƒ‹

tally_deny=ƒAƒNƒZƒX‚ð‹‘”Û‚·‚é‚Ü‚Å‚ÌŽŽs‰ñ”
tally_reset=¬Œ÷Žž‚ÉŽ¸”s”‚ðƒŠƒZƒbƒg
tally_edeny=Ž¸”s‚ÌŽŽs”‚ª‚È‚¢‚©–³Œø‚Å‚·
tally_magic=Ž¸”s”‚Ì“K—p<tt>root</tt>?
tally_root=<tt>root</tt> ƒAƒJƒEƒ“ƒg‚ð‹‘”Û‰Â”\‚É‚µ‚Ü‚·‚©H

time_services=ƒT[ƒrƒX
time_ttys=TTY
time_users=ƒ†[ƒU
time_times=ƒAƒNƒZƒXŽžŠÔ
time_info=‚·‚×‚Ä‚ÌƒtƒB[ƒ‹ƒh‚Í  | ‚Å•ª—£‚µ‚½•¡”‚Ì’l‚ðŠÜ‚Þ‚±‚Æ‚ª‚Å‚«A’l‚ÍƒƒCƒ‹ƒh ƒJ[ƒh‚Æ‚µ‚Ä * ‚Ü‚½‚Í”Û’èŽ«‚Æ‚µ‚Ä ! ‚ðŽg—p‚Å‚«‚Ü‚·B

group_services=ƒT[ƒrƒX
group_ttys=TTY
group_users=ƒ†[ƒU
group_times=ƒAƒNƒZƒXŽžŠÔ
group_groups=ƒOƒ‹[ƒv‚ð’Ç‰Á
group_info=‚·‚×‚Ä‚ÌƒtƒB[ƒ‹ƒh‚Í  | ‚Å•ª—£‚µ‚½•¡”‚Ì’l‚ðŠÜ‚Þ‚±‚Æ‚ª‚Å‚«A’l‚ÍƒƒCƒ‹ƒh ƒJ[ƒh‚Æ‚µ‚Ä * ‚Ü‚½‚Í”Û’èŽ«‚Æ‚µ‚Ä ! ‚ðŽg—p‚Å‚«‚Ü‚·B

wheel_group=ƒOƒ‹[ƒv‚Ìƒƒ“ƒo[ƒVƒbƒv‚ðŒŸ¸
wheel_group_def=ƒfƒtƒHƒ‹ƒg(<tt>wheel</tt> ‚Ü‚½‚Í GID 0)
wheel_trust=ƒOƒ‹[ƒv ƒƒ“ƒo[‚ªÚ×”FØ‚ðƒoƒCƒpƒX‰Â”\‚É‚µ‚Ü‚·‚©H
wheel_deny=ƒOƒ‹[ƒv ƒƒ“ƒo[‚ð‹–‰Â‚·‚é‚©‚í‚è‚É‹‘”Û‚µ‚Ü‚·‚©H
wheel_egroup=ƒOƒ‹[ƒv–¼‚ª‚È‚¢‚©–³Œø‚Å‚·

motd_file=•\Ž¦‚·‚éƒtƒ@ƒCƒ‹
motd_file_def=ƒfƒtƒHƒ‹ƒg(<tt>/etc/motd</tt>)
motd_efile=ƒtƒ@ƒCƒ‹–¼‚ª‚È‚¢‚©–³Œø‚Å‚·

mail_nopen=ƒƒOƒCƒ“‚Åƒ[ƒ‹‚Ì’Ê’m‚ð•\Ž¦‚µ‚Ü‚·‚©H
mail_close=ƒƒO ƒAƒEƒg‚Åƒ[ƒ‹‚Ì’Ê’m‚ð•\Ž¦‚µ‚Ü‚·‚©H
mail_empty=ƒ[ƒ‹ ƒtƒ@ƒCƒ‹‚ª‹ó‚Ìê‡‚Í’Ê’m‚µ‚Ü‚·‚©H
mail_noenv= $MAIL ŠÂ‹«•Ï”‚ðÝ’è‚µ‚Ü‚·‚©H
mail_dir=ƒ[ƒ‹ ƒXƒv[ƒ‹ ƒfƒBƒŒƒNƒgƒŠ
mail_edir=ƒ[ƒ‹ ƒXƒv[ƒ‹ ƒfƒBƒŒƒNƒgƒŠ‚ª‚È‚¢‚©–³Œø‚Å‚·

stack_service=PAM ƒT[ƒrƒX‚ÉŒŸ¸‚ð“n‚·

log_pam_create=PAM ƒT[ƒrƒX $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_pam_delete=PAM ƒT[ƒrƒX $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_mod_create=PAM ƒ‚ƒWƒ…[ƒ‹ $1 ‚ðƒT[ƒrƒX $2 ‚É’Ç‰Á‚µ‚Ü‚µ‚½
log_mod_modify=ƒT[ƒrƒX $2 “à‚ÌPAM ƒ‚ƒWƒ…[ƒ‹ $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_mod_delete=ƒT[ƒrƒX $2 “à‚ÌPAM ƒ‚ƒWƒ…[ƒ‹ $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_mod_move=ƒT[ƒrƒX $3 ‚Ì PAM ƒ‚ƒWƒ…[ƒ‹‚ðƒXƒƒbƒv‚µ‚Ü‚µ‚½
log_mod_move_l=ƒT[ƒrƒX $3“à‚ÌPAM ƒ‚ƒWƒ…[ƒ‹ $1 ‚Æ $2‚ðƒXƒƒbƒv‚µ‚Ü‚µ‚½

   0707010004f496000081a40000000000000002000000013d1fe2e200001c5b000000200000000000000000000000000000001900000003reloc/pam/lang/ko_KR.euc  index_title=PAM ÀÎÁõ
index_name=¼­ºñ½º
index_desc=¼³¸í
index_add=»õ PAM ¼­ºñ½º Ãß°¡
index_return=¼­ºñ½º ¸ñ·Ï
index_none=½Ã½ºÅÛ µð·ºÅä¸® $1¿¡ PAM ±¸¼º ÆÄÀÏÀÌ ¾ø½À´Ï´Ù. PAMÀÌ Áö¿øµÇÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.

desc_su=»ç¿ëÀÚ ÀüÈ¯
desc_login=·ÎÄÃ ¶Ç´Â ¿ø°Ý ·Î±×ÀÎ
desc_samba=»ï¹Ù ¿øµµ¿ì ÆÄÀÏ ¼­¹ö
desc_imap=IMAP ¸ÞÀÏ ¼­¹ö
desc_pop=POP ¸ÞÀÏ ¼­¹ö
desc_kde=KDE ·Î±×ÀÎ
desc_rexec=¿ø°Ý ½ÇÇà ¼­¹ö
desc_rlogin=¿ø°Ý ·Î±×ÀÎ ¼­¹ö
desc_rsh=¿ø°Ý ½© ¼­¹ö
desc_passwd=ÆÐ½º¿öµå º¯°æ
desc_chfn=finger Á¤º¸ º¯°æ
desc_chsh=½© º¯°æ
desc_ftp=ÆÄÀÏ Àü¼Û ¼­¹ö
desc_ftpd=ÆÄÀÏ Àü¼Û ¼­¹ö
desc_wu-ftpd=WuFTPd ÆÄÀÏ Àü¼Û ¼­¹ö
desc_xscreensaver=È­¸é º¸È£±â
desc_other=±âÅ¸ ¼­ºñ½º
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk Apple ÆÄÀÏ ¼­¹ö
desc_webmin=Webmin À¥ ¼­¹ö
desc_xdm=·ÎÄÃ ¶Ç´Â ¿ø°Ý X ·Î±×ÀÎ
desc_gdm=Gnome X ·Î±×ÀÎ
desc_linuxconf=LinuxConf ·Î±×ÀÎ
desc_linuxconf-pair=LinuxConf Ãß°¡ ·Î±×ÀÎ
desc_linuxconf-auth=LinuxConf ÀÎÁõ
desc_xlock=È­¸é Àá±Ý
desc_vlock=°¡»ó ÄÜ¼Ö Àá±Ý
desc_kbdrate=Å°º¸µå ¼Óµµ Á¦¾î
desc_halt=½Ã½ºÅÛ ¸ØÃã
desc_poweroff=½Ã½ºÅÛ Àü¿ø ²ô±â
desc_reboot=½Ã½ºÅÛ ÀçºÎÆÃ
desc_shutdown=½Ã½ºÅÛ Á¾·á
desc_mcserv=Midnight commander
desc_kppp=KDE PPP Å¬¶óÀÌ¾ðÆ® µµ±¸
desc_xserver=X11 ¼­¹ö
desc_gnorpm-auth=Gnome RPM µµ±¸
desc_kpackage=KDE RPM µµ±¸
desc_ppp=PPP µð¸Õ ·Î±×ÀÎ
desc_rp3-config=Redhat PPP Å¬¶óÀÌ¾ðÆ® µµ±¸
desc_up2date=Redhat ¸®´ª½º ¾÷µ¥ÀÌÆ® ¿¡ÀÌÀüÆ®
desc_up2date-config=Redhat ¸®´ª½º ¾÷µ¥ÀÌÆ® ±¸¼º
desc_sudo=Á¦ÇÑµÈ root ¸í·É ½ÇÇà
desc_httpd=À¥ ¼­¹ö
desc_qpop=POP ¸ÞÀÏ ¼­¹ö
desc_sshd=SSH ·Î±×ÀÎ
desc_squid=Squid ÇÁ·Ï½Ã ¼­¹ö
desc_bindconf=Redhat BIND ±¸¼º µµ±¸
desc_apacheconf=Redhat Apache ±¸¼º µµ±¸
desc_adsl-config=Redhat ADSL ±¸¼º µµ±¸
desc_internet-config=Redhat ÀÎÅÍ³Ý ±¸¼º µµ±¸
desc_isdn-config=Redhat ISDN ±¸¼º µµ±¸
desc_kontrol-panel=Redhat KDE Á¦¾îÆÇ
desc_kscreensaver=KDE È­¸é º¸È£±â
desc_printconf-gui=Redhat ÇÁ¸°ÅÍ ±¸¼º µµ±¸
desc_rhn_register=Redhat ³×Æ®¿öÅ© µî·Ï
desc_system-auth=°øÅë ÀÎÁõ

edit_title=PAM ¼­ºñ½º ÆíÁý
edit_header=PAM ¼­ºñ½º Á¤º¸
edit_name=¼­ºñ½º ÀÌ¸§
edit_header_auth=ÀÎÁõ ´Ü°è
edit_header_account=°èÁ¤ È®ÀÎ ´Ü°è
edit_header_session=¼¼¼Ç ¼³Á¤ ´Ü°è
edit_header_password=ÆÐ½º¿öµå º¯°æ ´Ü°è
edit_mod=PAM ¸ðµâ
edit_desc=¼³¸í
edit_args=¸Å°³ º¯¼ö
edit_addmod=´ÙÀ½¿¡ ´ëÇÑ ´Ü°è Ãß°¡:
edit_control=½ÇÆÐ ¼öÁØ
edit_none=ÀÌ ´Ü°è¿¡ ÁöÁ¤µÈ PAM ¸ðµâ ¾øÀ½
edit_delete=PAM ¼­ºñ½º »èÁ¦
edit_move=ÀÌµ¿
edit_return=PAM ¼­ºñ½º

pam_pwdb.so=À¯´Ð½º ÆÐ½º¿öµå ÀÎÁõ
pam_securetty.so=rootÀÇ º¸¾È TTY °Ë»ç
pam_nologin.so=<tt>/etc/nologin</tt> ÆÄÀÏ °Ë»ç
pam_mail.so=»õ ¸ÞÀÏ ¾Ë¸²
pam_lastlog.so=ÃÖÁ¾ ·Î±×ÀÎ ¾Ë¸²
pam_rootok.so=<tt>root</tt> »ç¿ëÀÚ¸¸ °Ë»ç
pam_cracklib.so=°­·ÂÇÑ ÆÐ½º¿öµå °Ë»ç
pam_access.so=Á¢±Ù Á¦¾î ÆÄÀÏ °Ë»ç
pam_deny.so=Ç×»ó Á¢±Ù °ÅºÎ
pam_env.so=È¯°æ º¯¼ö ¼³Á¤
pam_ftp.so=FTP ÀÎÁõ °Ë»ç
pam_time.so=·Î±×ÀÎ ½Ã°£ °Ë»ç
pam_group.so=±×·ì ±¸¼º¿ø ¼³Á¤
pam_listfile.so=ÆÄÀÏ ³»¿ë °Ë»ç
pam_limits.so=¸®¼Ò½º Á¦ÇÑ ¼³Á¤
pam_mkhomedir.so=È¨ µð·ºÅä¸® ÀÛ¼º
pam_motd.so=¿À´ÃÀÇ ¸Þ½ÃÁö ÆÄÀÏ Ç¥½Ã
pam_permit.so=Ç×»ó Á¢±Ù Çã¿ë
pam_radius.so=RADIUS ¼­¹ö ÀÎÁõ
pam_rhosts.so=<tt>.rhosts</tt> ÆÄÀÏ °Ë»ç
pam_rhosts_auth.so=<tt>.rhosts</tt> ÆÄÀÏ °Ë»ç
pam_shells.so=À¯È¿ÇÑ ½© °Ë»ç
pam_unix.so=±âÁ¸ À¯´Ð½º ÆÐ½º¿öµå ÀÎÁõ
pam_userdb.so=DBM ÆÄÀÏ ÆÐ½º¿öµå ÀÎÁõ
pam_warn.so=°æ°í ·Î±×
pam_wheel.so=<tt>wheel</tt> ±×·ì °Ë»ç
pam_issue.so=<tt>/etc/issue</tt> ÆÄÀÏ Ç¥½Ã
pam_ldap.so=LDAP ¼­¹ö ÀÎÁõ
pam_unix_auth.so=À¯´Ð½º ÆÐ½º¿öµå ÀÎÁõ
pam_unix_sess.so=À¯´Ð½º ¼¼¼Ç ¼³Á¤
pam_unix_session.so=À¯´Ð½º ¼¼¼Ç ¼³Á¤
pam_unix_acct.so=À¯´Ð½º °èÁ¤ È®ÀÎ
pam_unix_passwd.so=À¯´Ð½º ÆÐ½º¿öµå º¯°æ
pam_stress.so=ÀÀ¿ë ÇÁ·Î±×·¥ ½ºÆ®·¹½º Å×½ºÆ®
pam_tally.so=½ÇÆÐÇÑ ·Î±×ÀÎ ½Ãµµ ÃßÀû
pam_passwd+.so=ÆÐ½º¿öµå °­µµ °Ë»ç
pam_filter.so=ÀÔ/Ãâ·Â ÇÊÅÍ
pam_desgold.so=DESGold ½º¸¶Æ®Ä«µå ÀÎÁõ
pam_console.so=ÄÜ¼Ö¸¸ °Ë»ç
pam_xauth.so=X ÀÎÁõ
pam_stack.so=´Ù¸¥ PAM ¼­ºñ½º È£Ãâ

control_requisite=ÇÊ¿ä
control_required=ÇÊ¼ö
control_sufficient=ÃæºÐ
control_optional=¼±ÅÃÀû
control_desc_requisite=½ÇÆÐ ½Ã Áï½Ã ÀÎÁõ ½ÇÆÐ
control_desc_required=½ÇÆÐ ½Ã ¸¶Áö¸· ´Ü°è¿¡¼­ ÀÎÁõ ½ÇÆÐ
control_desc_sufficient=¼º°ø ½Ã Áï½Ã ÀÎÁõ ¼º°ø
control_desc_optional=¼º°ø ¶Ç´Â ½ÇÆÐ ¹«½Ã

create_title=PAM ¼­ºñ½º ÀÛ¼º
create_header=»õ PAM ¼­ºñ½º ¿É¼Ç
create_name=¼­ºñ½º ÀÌ¸§
create_desc=¼³¸í
create_mods=ÃÊ±â PAM ¸ðµâ
create_0=¾øÀ½
create_1=À¯´Ð½º ÀÎÁõ
create_2=¸ðµç Á¢±Ù °ÅºÎ

mod_edit=PAM ¸ðµâ ÆíÁý
mod_create=PAM ¸ðµâ Ãß°¡
mod_header=PAM ¸ðµâ ¿É¼Ç
mod_name=¼­ºñ½º ÀÌ¸§
mod_mod=PAM ¸ðµâ
mod_type=¼­ºñ½º¿¡¼­ »ç¿ë
mod_type_auth=ÀÎÁõ
mod_type_account=°èÁ¤ È®ÀÎ
mod_type_session=¼¼¼Ç ¼³Á¤
mod_type_password=ÆÐ½º¿öµå º¯°æ
mod_control=½ÇÆÐ ¼öÁØ
mod_args=¸ðµâ ÀÎ¼ö
mod_err=¸ðµâÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

pwdb_shadow=½¦µµ¿ì ÆÐ½º¿öµå ÆÄÀÏÀ» »ç¿ëÇÕ´Ï±î?
pwdb_nullok=³Î ÆÐ½º¿öµå¸¦ ¼ö¶ôÇÕ´Ï±î?
pwdb_md5=MD5 ¾ÏÈ£È­µÈ ÆÐ½º¿öµå¸¦ »ç¿ëÇÕ´Ï±î?
pwdb_nodelay=·Î±×ÀÎ ½ÇÆÐ ÈÄ Áö¿¬ÇÕ´Ï±î?

listfile_item=ÆÄÀÏ °Ë»ö ±âÁØ
listfile_item_user=»ç¿ëÀÚ ÀÌ¸§
listfile_item_tty=TTY
listfile_item_rhost=¿ø°Ý È£½ºÆ® ÀÌ¸§
listfile_item_ruser=¿ø°Ý »ç¿ëÀÚ ÀÌ¸§
listfile_item_group=±×·ì
listfile_item_shell=½©
listfile_sense=ÆÄÀÏ¿¡¼­ Ã£Àº °æ¿ì
listfile_file=°Ë»öÇÒ ÆÄÀÏ
listfile_onerr=ÆÄÀÏ ¿À·ù ½Ã
listfile_fail=½ÇÆÐ
listfile_succeed=¼º°ø
listfile_apply=°Ë»ç ´ë»ó
listfile_all=¸ðµç »ç¿ëÀÚ
listfile_user=»ç¿ëÀÚ¸¸
listfile_group=±×·ì¸¸

cracklib_type=ÇÁ·ÒÇÁÆ®ÀÇ ÆÐ½º¿öµå À¯Çü
cracklib_retry=½ÇÆÐ Àü ÃÖ´ë Àç½Ãµµ È½¼ö
cracklib_eretry=¾ø°Å³ª Àß¸øµÈ Àç½Ãµµ È½¼ö
cracklib_etype=¾ø°Å³ª Àß¸øµÈ ÆÐ½º¿öµå À¯Çü

rhosts_equiv=<tt>/etc/hosts.equiv</tt> ÆÄÀÏÀ» ÀÐ½À´Ï±î?
rhosts_rhosts=»ç¿ëÀÚÀÇ <tt>.rhosts</tt> ÆÄÀÏÀ» ÀÐ½À´Ï±î?
rhosts_promiscuous=¸ðµç È£½ºÆ®ÀÇ <tt>+</tt> ÀÔ·ÂÀ» Çã¿ëÇÕ´Ï±î?
rhosts_suppress=ÀÎÁõ ½ÇÆÐ¸¦ ·Î±×ÇÕ´Ï±î?

env_var=º¯¼ö ÀÌ¸§
env_def=±âº»°ª
env_over=´ëÃ¼°ª
env_evar=º¯¼ö ÀÌ¸§¿¡´Â °ø¹éÀ» ³ÖÀ» ¼ö ¾ø½À´Ï´Ù

securetty_ttys=º¸¾È TTY

shells_shells=À¯È¿ÇÑ »ç¿ëÀÚ ½©

tally_deny=Á¢±Ù °ÅºÎ Àü ½ÇÆÐ ½Ãµµ È½¼ö
tally_reset=¼º°ø ½Ã ½ÇÆÐ Ä«¿îÆ® Àç¼³Á¤
tally_edeny=¾ø°Å³ª Àß¸øµÈ ½ÇÆÐ ½Ãµµ È½¼ö
tally_magic=<tt>root</tt>¿¡ ½ÇÆÐ Ä«¿îÆ®¸¦ Àû¿ëÇÕ´Ï±î?
tally_root=<tt>root</tt> °èÁ¤ÀÌ °ÅºÎµÉ ¼ö ÀÖ½À´Ï±î?

time_services=¼­ºñ½º
time_ttys=TTY
time_users=»ç¿ëÀÚ
time_times=Á¢±Ù ½Ã°£
time_info=¸ðµç ÇÊµå¿¡ ¿©·¯ °³ÀÇ °ª(°¢ °ªÀº |·Î ±¸ºÐ)ÀÌ Æ÷ÇÔµÉ ¼ö ÀÖÀ¸¸ç, °ªÀº ¿ÍÀÏµåÄ«µå *³ª negagor !¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

group_services=¼­ºñ½º
group_ttys=TTY
group_users=»ç¿ëÀÚ
group_times=Á¢±Ù ½Ã°£
group_groups=±×·ì Ãß°¡
group_info=¸ðµç ÇÊµå¿¡ ¿©·¯ °³ÀÇ °ª(°¢ °ªÀº |·Î ±¸ºÐ)ÀÌ Æ÷ÇÔµÉ ¼ö ÀÖÀ¸¸ç, °ªÀº ¿ÍÀÏµåÄ«µå *³ª negagor !¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

wheel_group=±×·ì ±¸¼º¿ø °Ë»ç
wheel_group_def=±âº»°ª(<tt>wheel</tt> ¶Ç´Â GID 0)
wheel_trust=±×·ì ±¸¼º¿ø¿¡ ´ëÇÑ Ãß°¡ ÀÎÁõÀ» »ý·«ÇÕ´Ï±î?
wheel_deny=±×·ì ±¸¼º¿øÀ» Çã¿ëÇÏÁö ¾Ê°í °ÅºÎÇÕ´Ï±î?
wheel_egroup=¾ø°Å³ª Àß¸øµÈ ±×·ì ÀÌ¸§

motd_file=Ç¥½ÃÇÒ ÆÄÀÏ
motd_file_def=±âº»°ª(<tt>/etc/motd</tt>)
motd_efile=¾ø°Å³ª Àß¸øµÈ ÆÄÀÏ ÀÌ¸§

mail_nopen=·Î±×ÀÎÇÒ ¶§ ¸ÞÀÏ ¾Ë¸²À» Ç¥½ÃÇÕ´Ï±î?
mail_close=·Î±×¾Æ¿ôÇÒ ¶§ ¸ÞÀÏ ¾Ë¸²À» Ç¥½ÃÇÕ´Ï±î?
mail_empty=¸ÞÀÏ ÆÄÀÏÀÌ ºñ¸é ¾Ë¸³´Ï±î?
mail_noenv=$MAIL È¯°æ º¯¼ö¸¦ ¼³Á¤ÇÕ´Ï±î?
mail_dir=¸ÞÀÏ ½ºÇ® µð·ºÅä¸®
mail_edir=¾ø°Å³ª Àß¸øµÈ ¸ÞÀÏ ½ºÇ® µð·ºÅä¸®

stack_service=PAM ¼­ºñ½º¿¡ Ã¼Å©¿Â Àü´Þ

log_pam_create=PAM ¼­ºñ½º $1 ÀÛ¼ºµÊ
log_pam_delete=PAM ¼­ºñ½º $1 »èÁ¦µÊ
log_mod_create=¼­ºñ½º $2¿¡ PAM ¸ðµâ $1 Ãß°¡µÊ
log_mod_modify=¼­ºñ½º $2ÀÇ PAM ¸ðµâ $1 ¼öÁ¤µÊ
log_mod_delete=¼­ºñ½º $2¿¡¼­ PAM ¸ðµâ $1 »èÁ¦µÊ
log_mod_move=¼­ºñ½º $3¿¡ PAM ¸ðµâ ½º¿ÒµÊ
log_mod_move_l=¼­ºñ½º $3ÀÇ PAM ¸ðµâ $1 ¹× $2 ½º¿ÒµÊ

 0707010004f497000081a40000000000000002000000013d1fe2e200002441000000200000000000000000000000000000001200000003reloc/pam/lang/pl index_title=Autoryzacja PAM
index_name=Us³uga
index_desc=Opis
index_add=Dodaj now± us³ugê PAM
index_return=listy us³ug
index_none=Nie znaleziono w&nbsp;systemie w katalogu $1 plików konfiguracyjnych PAM. Mo¿liwe, ¿e system nie wspomaga PAM lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.

desc_su=Prze³±cz u¿ytkownika
desc_login=Logowanie zdalne lub lokalne
desc_samba=Serwer plików dla Windows Samba
desc_imap=Serwer pocztowy IMAP
desc_pop=Serwer pocztowy POP
desc_kde=Logowanie KDE
desc_rexec=Serwer zdalnego uruchamiania
desc_rlogin=Serwer zdalnego logowania
desc_rsh=Serwer zdalnej pow³oki
desc_passwd=Zmiana has³a
desc_chfn=Zmiana informacji dla fingera
desc_chsh=Zmiana pow³oki
desc_ftp=Serwer przesy³ania plików
desc_ftpd=Serwer przesy³ania plików
desc_wu-ftpd=Serwer przesy³ania plików WuFTPd
desc_xscreensaver=Wygaszacz ekranu
desc_other=Inne us³ugi
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Serwer plików dla Apple Netatalk
desc_webmin=Serwer sieci Webmin
desc_xdm=Lokalne lub zdalne logowanie do X
desc_gdm=Logowanie do X&nbsp;w&nbsp;Gnome
desc_linuxconf=Logowanie do LinuxConfa
desc_linuxconf-pair=Dodatkowe logowanie do LinuxConfa
desc_linuxconf-auth=Autoryzacja LinuxConfa
desc_xlock=Blokada ekranu
desc_vlock=Blokada konsoli wirtualnej
desc_kbdrate=Ustawianie szybko¶ci klawiatury
desc_halt=Zatrzymanie systemu
desc_poweroff=Wy³±czenie systemu
desc_reboot=Restartowanie systemu
desc_shutdown=Zamykanie systemu
desc_mcserv=Serwer Midnight commander
desc_kppp=Narzêdzie klienta PPP w&nbsp;KDE
desc_xserver=Serwer X11
desc_gnorpm-auth=Narzêdzie RPM w&nbsp;Gnome
desc_kpackage=Narzêdzie RPM w&nbsp;KDE
desc_ppp=Demon logowania PPP
desc_rp3-config=Narzêdzie klienta PPP w&nbsp;RedHat'cie
desc_up2date=Agent aktualizacji Linuksa RedHat
desc_up2date-config=Konfiguracja aktualizacji Linuksa RedHat
desc_sudo=Ograniczone uruchamianie poleceñ z&nbsp;prawami roota
desc_httpd=Serwer WWW
desc_qpop=Serwer pocztowy POP
desc_sshd=Lohowanie SSH
desc_squid=Serwer proxy Squid
desc_bindconf=Narzêdzie konfiguracji BINDa w&nbsp;Redhat'cie
desc_apacheconf=Narzêdzie konfiguracji Apache'a w&nbsp;Redhat'cie
desc_adsl-config=Narzêdzie konfiguracji ADSL w&nbsp;Redhat'cie
desc_internet-config=Narzêdzie konfiguracji internetu w&nbsp;Redhat'cie
desc_isdn-config=Narzêdzie konfiguracji ISDN w&nbsp;Redhat'cie
desc_kontrol-panel=Panel kontrolny KDE w&nbsp;Redhat'cie
desc_kscreensaver=Wygaszacz ekranu KDE
desc_printconf-gui=Narzêdzie konfiguracji drukarek w&nbsp;Redhat'cie
desc_rhn_register=Rejestracja sieci w&nbsp;Redhat'cie
desc_system-auth=Wspólna autoryzacja
desc_cups=drukowanie przez CUPS

edit_title=Zmieñ us³ugê PAM
edit_header=Informacje o&nbsp;us³udze PAM
edit_name=Nazwa us³ugi
edit_header_auth=Etapu autoryzacji
edit_header_account=Etapy weryfikacji konta
edit_header_session=Etapy ustwienia sesji
edit_header_password=Etapy zmiany has³a
edit_mod=Modu³ PAM
edit_desc=Opis
edit_args=Parametry
edit_addmod=Dodaj etap do:
edit_control=Poziom b³êdu
edit_none=Nie okre¶lono modu³ów PAM dla tego etapu
edit_delete=Usuñ us³ugê PAM
edit_move=Przesuñ
edit_return=us³ugi PAM

pam_pwdb.so=Uniksowa autoryzacja has³em
pam_securetty.so=Sprawdzanie bezpiecznych terminali dla roota
pam_nologin.so=Sprawdzanie pliku <tt>/etc/nologin</tt>
pam_mail.so=Powiadamianie o&nbsp;nowej poczcie
pam_lastlog.so=Powiadamianie o&nbsp;ostatnim logowaniu
pam_rootok.so=Sprawdzanie tylko czy <tt>root</tt>
pam_cracklib.so=Silne sprawdzanie has³a
pam_access.so=Sprawdzanie pliku kontroli dostêpu
pam_deny.so=Dostêp zawsze zabroniony
pam_env.so=Ustawianie zmiennych ±rodowiska
pam_ftp.so=Sprawdzanie autoryzacji FTP
pam_time.so=Sprawdzanie czasu logowania
pam_group.so=Ustawianie przynale¿no±ci do grupy
pam_listfile.so=Sprawdzanie zawarto¶ci pliku
pam_limits.so=Ustawianie ograniczeñ dla zasobów
pam_mkhomedir.so=Tworzenie katalogu domowego
pam_motd.so=Wy¶wietlanie pliku &quot;wiadomo±ci dnia&quot;
pam_permit.so=Dostêp zawsze dozwolony
pam_radius.so=Autoryzacja za pomoc± serwera RADIUS
pam_rhosts.so=Sprawdzanie plików <tt>.rhosts</tt>
pam_rhosts_auth.so=Sprawdzanie plików <tt>.rhosts</tt>
pam_shells.so=Sprawdzanie wa¿no±ci pow³oki
pam_unix.so=Stara uniksowa autoryzacja hase³
pam_userdb.so=Autoryzacja poprzez pliki DBM
pam_warn.so=Logowanie ostrze¿enia
pam_wheel.so=Sprawdzanie grupy <tt>wheel</tt>
pam_issue.so=Wy¶wietlanie pliku <tt>/etc/issue</tt>
pam_ldap.so=Autoryzacja poprzez serwer LDAP
pam_unix_auth.so=Uniksowa autoryzacja has³em
pam_unix_sess.so=Uniksowe ustawienie sesji
pam_unix_session.so=Uniksowe ustawienie sesji
pam_unix_acct.so=Uniksowa weryfikacja konta
pam_unix_passwd.so=Uniksowa zmiana has³a
pam_stress.so=Test zmêczeniowy aplikacji
pam_tally.so=¦ledzenie nieudanych prób logowania
pam_passwd+.so=Sprawdzanie mocy has³a
pam_filter.so=Filtr wej±cia/wyj±cia
pam_desgold.so=Autoryzacja kart± DESGold
pam_console.so=Jedynie sprawdzanie konsoli
pam_xauth.so=Autoryzacja X
pam_stack.so=Wywo³aj inn± us³ugê PAM

control_requisite=Niezbêdne
control_required=Wymagane
control_sufficient=Wystarczaj±ce
control_optional=Opcjonalne
control_desc_requisite=W&nbsp;razie niepowodzenia odrzuæ autoryzacjê natychmiast
control_desc_required=W&nbsp;razie niepowodzenia odrzuæ autoryzacjê po niepomy¶lnym zakoñczeniu
control_desc_sufficient=W&nbsp;razie powodzenia zakoñcz autoryzacjê sukcesem natychmiast
control_desc_optional=Pomy¶lny i&nbsp;niepomy¶lny wynik autoryzacji jest ignorowany

create_title=Utwórz us³ugê PAM
create_header=Opcje nowej us³ugi PAM
create_name=Nazwa us³ugi
create_desc=Opis
create_mods=Inicjalne modu³y PAM
create_0=Brak
create_1=Autoryzacja uniksowa
create_2=Zabroniæ dostêpu

mod_edit=Zmieñ opcje modu³u PAM
mod_create=Dodaj modu³ PAM
mod_header=Opcje modu³u PAM
mod_name=Nazwa us³ugi
mod_mod=Modu³ PAM
mod_type=U¿ywaæ dla us³ugi
mod_type_auth=Autoryzacji
mod_type_account=Weryfikacji konta
mod_type_session=Ustawieñ sesji
mod_type_password=Zmiany has³a
mod_control=Poziom b³êdu
mod_args=Argumenty dla modu³u
mod_err=Nie uda³o siê zachowaæ opcji modu³u

pwdb_shadow=Korzysæ z&nbsp;pliku hase³ <tt>shadow</tt>?
pwdb_nullok=Akceptowaæ puste has³a?
pwdb_md5=Korzystaæ z&nbsp;hase³ kodowanych MD5?
pwdb_nodelay=Opó¼nienie po nieudanym logowaniu?

listfile_item=Poszukuj w&nbsp;pliku
listfile_item_user=Nazwy u¿ytkownika
listfile_item_tty=Terminal
listfile_item_rhost=Nazwy zdalnego hosta
listfile_item_ruser=Nazwy zdalnego u¿ytkownika
listfile_item_group=Grupy
listfile_item_shell=Pow³oki
listfile_sense=Je¶li znaleziono w&nbsp;pliku
listfile_file=Przeszukiwaæ plik
listfile_onerr=Przy b³êdzie pliku
listfile_fail=Zakoñczyæ niepowodzeniem
listfile_succeed=Zakoñczyæ pomy¶lnie
listfile_apply=Ograniczyæ sprawdzanie do
listfile_all=Wszystkich u¿ytkowników
listfile_user=Tylko u¿ytkownika
listfile_group=Tylko grupy

cracklib_type=Rodzaj has³a przy zapytaniu
cracklib_retry=Maksymalna liczba prób przed zg³oszeniem b³êdu
cracklib_eretry=Nie podana lub niepoprawna liczba prób
cracklib_etype=Nie podany lub niepoprawny rodzaj has³a

rhosts_equiv=Czytaæ plik <tt>/etc/hosts.equiv</tt>?
rhosts_rhosts=Czytaæ pliki <tt>.rhosts</tt> u¿ytkowników?
rhosts_promiscuous=Wpis <tt>+</tt> dopuszcza wszystkie hosty?
rhosts_suppress=Logowaæ b³êdy autoryzacji?

env_var=Nazwa zmiennej
env_def=Warto¶æ domy¶lna
env_over=Nadpisaæ warto¶æ
env_evar=Nazwy zmiennych nie mog± zawieraæ spacji

securetty_ttys=Bezpieczne terminale

shells_shells=Poprawne pow³oki u¿ytkownika

tally_deny=Liczba nieudanych prób przed zablokowaniem dostêpu u¿ytkownikowi
tally_reset=Zerowaæ licznik nieudanych prób w&nbsp;razie powodzenia
tally_edeny=Nie podana lub niepoprawna liczba nieudanych prób
tally_magic=Licznik nieudanych prób nieudanych prób dotyczy <tt>root</tt>a?
tally_root=Mo¿na zablokowaæ konto <tt>root</tt>?

time_services=Us³ugi
time_ttys=Terminale
time_users=U¿ytkownicy
time_times=Czas dostêpu
time_info=Wszystkie pola mog± zawieraæ wiele warto¶ci rozdzielonych |, jak te¿ * jako znak wieloznaczny i&nbsp;! jako negacjê.

group_services=Us³ugi
group_ttys=Terminale
group_users=U¿ytkownicy
group_times=Czas dostêpu
group_groups=Dodaæ grupy
group_info=Wszystkie pola mog± zawieraæ wiele warto¶ci rozdzielonych |, jak te¿ * jako znak wieloznaczny i&nbsp;! jako negacjê.

wheel_group=Sprawdzaæ przynale¿no¶æ do grupy
wheel_group_def=Domy¶lnej (<tt>wheel</tt> lub GID 0)
wheel_trust=Dla cz³onków grupy pomijana jest dalsza autoryzacja?
wheel_deny=Zabroniæ dostêpu zamiast pozwalaæ cz³onkom grupy?
wheel_egroup=Nie podana lub niepoprawna nazwa grupy

motd_file=Wy¶wietlany plik
motd_file_def=Domy¶lny (<tt>/etc/motd</tt>)
motd_efile=Nie podana lub niepoprawna nazwa pliku

mail_nopen=Pokazywaæ powiadomienie o&nbsp;poczcie po zalogowaniu?
mail_close=Pokazywaæ powiadomienie o&nbsp;poczcie przy wylogowywaniu?
mail_empty=Powiadamiaæ, gdy plik poczty jest pusty?
mail_noenv=Ustawiaæ zmienn± ¶rodowiska $MAIL?
mail_dir=Katalog poczty
mail_edir=Nie podana lub niepoprawna nazwa katalogu poczty

stack_service=Przeka¿ kontrolê do us³ugi PAM

log_pam_create=Utworzono us³uge PAM $1
log_pam_delete=Usuniêto us³ugê PAM $1
log_mod_create=Dodano modu³ PAM $1 dla us³ugi $2
log_mod_modify=Zmieniono modu³ PAM $1 dla us³ugi $2
log_mod_delete=Usuniêto modu³ PAM $1 z us³ugi $2
log_mod_move=Zamieniono modu³y PAM dla us³ugi $3
log_mod_move_l=Zamieniono modu³y PAM $1 i&nbsp;$2 dla us³ugi $3
   0707010004f498000081a40000000000000002000000013d1fe2e20000207c000000200000000000000000000000000000001200000003reloc/pam/lang/sv index_title=PAM-autentisering
index_name=Tjänst
index_desc=Beskrivning
index_add=Lägg till en PAM-tjänst
index_return=tjänstelista
index_none=Det gick inte att hitta någon PAM-inställningsfil på ditt system i katalogen $1. PAM kanske inte stöds, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.

desc_su=Byt användare
desc_login=Logga in lokalt eller från annan dator
desc_samba=Samba Windows-filserver
desc_imap=IMAP-e-postserver
desc_pop=POP-e-postserver
desc_kde=KDE-inloggning
desc_rexec=Fjärrkörningsserver
desc_rlogin=Fjärrinloggningsserver
desc_rsh=Fjärrskalsserver
desc_passwd=Lösenordsbyte
desc_chfn=Byt finger-information
desc_chsh=Byt skal
desc_ftp=Filöverföringsserver
desc_ftpd=Filöverföringsserver
desc_wu-ftpd=WuFTPd-filöverföringsserver
desc_xscreensaver=Skärmsläckare
desc_other=Övriga tjänster
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk Apple-filserver
desc_webmin=Webmin-webbserver
desc_xdm=Lokal eller fjärr-X-inloggning
desc_gdm=Gnome X-inloggning
desc_linuxconf=LinuxConf-inloggning
desc_linuxconf-pair=Ytterligare LinuxConf-inloggning
desc_xlock=Skärmlås
desc_vlock=Lås för virtuell konsol
desc_kbdrate=Tangentrepeteringsparametrar
desc_halt=Halt-system
desc_poweroff=Strömavstängningssystem
desc_reboot=Omstartssystem
desc_shutdown=Avstängningssystem
desc_mcserv=Midnight commander
desc_kppp=KDE PPP-klientverktyg
desc_xserver=X11-server
desc_gnorpm-auth=Gnome RPM-verktyg
desc_kpackage=KDE RPM-verktyg
desc_ppp=PPP-demoninloggning
desc_rp3-config=Redhat PPP-klientverktyg
desc_up2date=Redhat Linux-uppdateringshjälp
desc_sudo=Begränsad root-kommandoexekvering
desc_httpd=Webbserver
desc_qpop=POP-e-postserver
desc_sshd=SSH-inloggning
desc_squid=Squid-proxyserver

edit_title=Ändra PAM-tjänst
edit_header=Information om PAM-tjänst
edit_name=Namn på tjänsten
edit_header_auth=Autentiseringsåtgärder
edit_header_account=Kontoverifieringsåtgärder
edit_header_session=Åtgärder för uppsättning av session
edit_header_password=Tillvägagångssätt för att byta lösenord
edit_mod=PAM-modul
edit_desc=Beskrivning
edit_args=Parametrar
edit_addmod=Lägg till åtgärd för:
edit_control=Felnivå
edit_none=Du har inte angivit någon PAM-modul för detta
edit_delete=Ta bort PAM-tjänst
edit_move=Flytta
edit_return=PAM-tjänst

pam_pwdb.so=Autentisering med Unix-lösenord
pam_securetty.so=Utför säker TTY-kontroll för root
pam_nologin.so=<tt>/etc/nologin</tt>-filkontroll
pam_mail.so=Meddelande om nytt e-brev
pam_lastlog.so=Meddelande om senaste inloggning
pam_rootok.so=Kontrollera: endast <tt>root</tt> tillåten
pam_cracklib.so=Stark lösenordskontroll
pam_access.so=Kontrollera åtkomststyrfilen
pam_deny.so=Neka alltid åtkomst
pam_env.so=Sätt miljövariabler
pam_ftp.so=FTP-autentiseringskontroll
pam_time.so=Kontroll av inloggningstid
pam_group.so=Sätt gruppmedlemskap
pam_listfile.so=Kontrollera filinnehåll
pam_limits.so=Sätt resursbegränsningar
pam_mkhomedir.so=Skapa hemkatalog
pam_motd.so=Visa fil med dagens ord
pam_permit.so=Tillåt alltid åtkomst
pam_radius.so=Autentisering med RADIUS-server
pam_rhosts.so=Kontrollera <tt>.rhosts</tt>-filer
pam_rhosts_auth.so=Kontrollera <tt>.rhosts</tt>-filer
pam_shells.so=Kontrollera giltigt skal
pam_unix.so=Autentisering med gammalt Unix-lösenord
pam_userdb.so=Autentisering med DBM-fillösenord
pam_warn.so=Loggvarning
pam_wheel.so=Kontrollera<tt>wheel</tt>-grupp
pam_issue.so=Visa filen <tt>/etc/issue</tt>
pam_ldap.so=Autentisering med LDAP-server
pam_unix_auth.so=Autentisering med Unix-lösenord
pam_unix_sess.so=Inställningar för Unix-session
pam_unix_session.so=Inställningar för Unix-session
pam_unix_acct.so=Verifiering av Unix-konto
pam_unix_passwd.so=Ändring av Unix-lösenord
pam_stress.so=Belastningstest av applikation
pam_tally.so=Spåra misslyckade inloggningsförsök
pam_passwd+.so=Kontroll av lösenords styrka
pam_filter.so=Inmatnings/utmatningsfilter
pam_desgold.so=Autentisering med DESGold-smartcard
pam_console.so=Kontrollera endast för konsolen
pam_xauth.so=X-autentisering

control_requisite=Obligatoriskt
control_required=Nödvändigt
control_sufficient=Tillräckligt
control_optional=Valfritt
control_desc_requisite=Skicka felmeddelande omedelbart när autentiseringen misslyckas
control_desc_required=Skicka felmeddelande om att autentiseringen misslyckats när den är klar
control_desc_sufficient=Skicka meddelande om lyckad autentisering direkt den har lyckats
control_desc_optional=Det spelar ingen roll om autentiseringen lyckas eller ej.

create_title=Skapa PAM-tjänst
create_header=Inställningar för ny PAM-tjänst
create_name=Tjänstenamn
create_desc=Beskrivning
create_mods=Grund-PAM-moduler
create_0=Ingen
create_1=Unix-autentisering
create_2=Neka all åtkomst

mod_edit=Ändra PAM-modul
mod_create=Lägg till PAM-modul
mod_header=Inställningar för PAM-modul
mod_name=Tjänstenamn
mod_mod=PAM-modul
mod_type=Använd i tjänst
mod_type_auth=Autentisering
mod_type_account=Kontoverifiering
mod_type_session=Sessionsuppkoppling
mod_type_password=Lösenordsbyte
mod_control=Kontrollnivå
mod_args=Argument till modulen
mod_err=Det gick inte att spara modulen

pwdb_shadow=Ska en skugglösenordsfil användas?
pwdb_nullok=Ska tomma lösenord accepteras?
pwdb_md5=Ska MD5-krypterade lösenord användas?
pwdb_nodelay=Fördröjning efter misslyckat inloggningsförsök?

listfile_item=Sök i fil efter
listfile_item_user=användarnamn
listfile_item_tty=TTY
listfile_item_rhost=klientdatornamn
listfile_item_ruser=klientanvändarnamn
listfile_item_group=grupp
listfile_item_shell=skal
listfile_sense=Om det hittas i filen
listfile_file=Fil att söka i
listfile_onerr=Vid filfel
listfile_fail=Misslyckas
listfile_succeed=Lyckas
listfile_apply=Begränsa kontrollen till
listfile_all=Alla användare
listfile_user=Endast användare
listfile_group=Endast grupp

cracklib_type=Ange lösenordstyp i prompten
cracklib_retry=Maximalt antal försök innan autentiseringen misslyckas
cracklib_eretry=Antalet försök har inte angivits eller är felaktigt angivet
cracklib_etype=Lösenordstyp saknas eller är felaktigt angiven

rhosts_equiv=Läsa filen <tt>/etc/hosts.equiv</tt>?
rhosts_rhosts=Läsa användarnas <tt>.rhosts</tt>-filer?
rhosts_promiscuous=<tt>+</tt>-post tillåter alla datorer?
rhosts_suppress=Logga autentiseringsmisslyckanden?

env_var=Variabelnamn
env_def=Standardvärde
env_over=Värde som gäller över standardvärdet
env_evar=Variabelnamn får inte innehålla mellanslag

securetty_ttys=Säkra TTY:er

shells_shells=Tillåtna användarskal

tally_deny=Skicka meddelande om misslyckat försök innan åtkomst nekas
tally_reset=Nollställ felräknaren vid lyckad autentisering
tally_edeny=Antal misslyckade försök saknas eller är felaktigt angivet
tally_magic=Ska misslyckade försök räknas även för <tt>root</tt>?
tally_root=Kan <tt>root</tt>-kontot nekas åtkomst?

time_services=Tjänster
time_ttys=TTY:er
time_users=Användare
time_times=Åtkomsttider
time_info=Alla fält kan innehålla flera värden separerade med |, och man kan använda * som jokertecken och ! som negationstecken.

group_services=Tjänster
group_ttys=TTY:er
group_users=Användare
group_times=Åtkomsttider
group_groups=Lägg till grupper
group_info=Alla fält kan innehålla flera värden separerade med |, och man kan använda * som jokertecken och ! som negationstecken.

wheel_group=Kontrollera medlemskap i gruppen
wheel_group_def=Standard (<tt>wheel</tt> eller GID 0)
wheel_trust=Ska medlemmar i denna grupp släppas igenom utan ytterligare autentisering?
wheel_deny=Neka medlemmar i denna grupp istället för att släppa fram dem?
wheel_egroup=Namn på gruppen saknas eller är felaktigt angivet

motd_file=Fil som ska visas
motd_file_def=Standard (<tt>/etc/motd</tt>)
motd_efile=Namn på filen saknas eller är felaktigt angivet

mail_nopen=Ska ett meddelande om e-post visas vid inloggning?
mail_close=Ska ett meddelande om e-post visas vid utloggning?
mail_empty=Ska systemet varna om e-postfilen är tom?
mail_noenv=Ska $MAIL-miljövariabeln sättas?
mail_dir=E-post-spool-katalog
mail_edir=E-post-spool-katalog saknas eller är felaktigt angiven

log_pam_create=Lade till PAM-tjänsten $1
log_pam_delete=Tog bort PAM-tjänsten $1
log_mod_create=Lade till PAM-modulen $1 till tjänsten $2
log_mod_modify=Ändrade PAM-modulen $1 i tjänsten $2
log_mod_delete=Tog bort PAM-modulen $1 i tjänsten $2
log_mod_move=Bytte PAM-moduler i tjänsten $3
log_mod_move_l=Bytte PAM-modulerna $1 och $2 i tjänsten $3
0707010004f499000081a40000000000000002000000013d1fe2e200001a26000000200000000000000000000000000000001a00000003reloc/pam/lang/zh_TW.Big5 index_title=PAM¨­¥÷»{ÃÒ
index_name=¦øªA¾¹
index_desc=´y­z
index_add=·s¼WPAM¦øªA¶µ¥Ø
index_return=ªA°È¦Cªí
index_none=¦b±zªº¨t²Î¥Ø¿ý $1¤¤§ä¤£¨ìPAMªº²ÕºAÀÉ®×¡A¤]³\¨S¦³¦w¸ËPAM¡A©ÎµÛ <a href='$2'>¼Ò²Õ³]©w</a> ¤£¥¿½T

desc_su=¤Á´«¨Ï¥ÎªÌ
desc_login=¥»¦a©Î»·ºÝµn¤J
desc_samba=Samba WindowsÀÉ®×¦øªA¾¹
desc_imap=IMAP¶l¥ó¦øªA¾¹
desc_pop=POP¶l¥ó¦øªA¾¹
desc_kde=KDEµn¤J
desc_rexec=»·ºÝ°õ¦æ°õ¦æ¦øªA¾¹
desc_rlogin=»·ºÝµn¤J¦øªA¾¹
desc_rsh=»·ºÝshell¦øªA¾¹
desc_passwd=§ó§ï±K½X
desc_chfn=§ó§ïfinger¸ê°T
desc_chsh=§ó§ïshell
desc_ftp=ÀÉ®×¶Ç¿é¦øªA¾¹
desc_ftpd=ÀÉ®×¶Ç¿é¦øªA¾¹
desc_wu-ftpd=WuFTPdÀÉ®×¶Ç¿é¦øªA¾¹
desc_xscreensaver=Screen saver
desc_other=¨ä¥L¦øªA¾¹
desc_netatalk.pamd=$desc_netatalk
desc_netatalk=Netatalk AppleÀÉ®×¦øªA¾¹
desc_webmin=Webminºô­¶¦øªA¾¹
desc_xdm=¥»¦a©Î»·ºÝXµn¤J
desc_gdm=Gnome Xµn¤J
desc_linuxconf=LinuxConfµn¤J
desc_linuxconf-pair=LinuxConf ·s¼Wµn¤J
desc_linuxconf-auth=LinuxConf¨­¥÷»{ÃÒ
desc_xlock=Âê¦í¿Ã¹õ
desc_vlock=Âê¦íµêÀÀ²×ºÝ¾÷
desc_kbdrate=Áä½L³t«×³]©w
desc_halt=¨t²ÎÃö¾÷
desc_poweroff=Ãö³¬¨t²Î¹q·½
desc_reboot=¨t²Î­«·s¶}¾÷
desc_shutdown=Ãö³¬¨t²Î
desc_mcserv=Midnight commander
desc_kppp=KDE PPP «È¤áºÝ¤u¨ã
desc_xserver=X11¦øªA¾¹
desc_gnorpm-auth=Gnome RPM¤u¨ã
desc_kpackage=KDE RPM¤u¨ã
desc_ppp=PPP daemonµn¤J
desc_rp3-config=Redhat PPP «È¤áºÝ¤u¨ã
desc_up2date=Redhat Linux¤É¯Å¥N²zµ{¦¡
desc_up2date-config=Redhat Linux¤É¯Å²ÕºA
desc_sudo=­­¨îroot°õ¦æ«ü¥O
desc_httpd=Web¦øªA¾¹
desc_qpop=POP Mail¦øªA¾¹
desc_sshd=SSH Login
desc_squid=Squid Proxy¦øªA¾¹
desc_bindconf=Redhat BIND²ÕºA¤u¨ã
desc_apacheconf=Redhat Apache²ÕºA¤u¨ã
desc_adsl-config=Redhat ADSL²ÕºA¤u¨ã
desc_internet-config=Redhatºô»Úºô¸ô²ÕºA¤u¨ã
desc_isdn-config=Redhat ISDN²ÕºA¤u¨ã
desc_kontrol-panel=Redhat KDE±±¨î¥x
desc_kscreensaver=KDE screen saver
desc_printconf-gui=Redhat¦Cªí¾÷²ÕºA¤u¨ã
desc_rhn_register=Redhatºô¸ôµù¥U
desc_system-auth=¤@¯ë¨­¥÷»{ÃÒ
desc_cups=CUPS printing

edit_title=½s¿èPAMªA°È
edit_header=PAMªA°È¶µ¥Ø¤º®e
edit_name=ªA°È¦WºÙ
edit_header_auth=»{ÃÒ¨BÆJ
edit_header_account=Account½T»{¨BÆJ
edit_header_session=Session³]©w¨BÆJ
edit_header_password=§ó§ï±K½X¨BÆJ
edit_mod=PAM¼Ò²Õ
edit_desc=´y­z
edit_args=°Ñ¼Æ
edit_addmod=·s¼W¨BÆJµ¹:
edit_control=¥¢±Ñ¼h¯Å
edit_none=¨S¦³PAM¼Ò²Õ«ü©wµ¹³o­Ó¨BÆJ
edit_delete=§R°£PAMªA°È¶µ¥Ø
edit_move=²¾°Ê
edit_return=PAMªA°È¶µ¥Ø

pam_pwdb.so=Unix±K½X¨­¥÷»{ÃÒ
pam_securetty.so=ÀË¬droot¦w¥þTTY
pam_nologin.so=ÀË¬d<tt>/etc/nologin</tt>ÀÉ®×
pam_mail.so=·s¼W¶l¥ó³qª¾
pam_lastlog.so=³Ì«áµn¤J³qª¾
pam_rootok.so=¥uÀË¬d<tt>root</tt>¨Ï¥ÎªÌ
pam_cracklib.so=ÀË¬d±K½X±j«×
pam_access.so=ÀË¬d¤¹³\±±¨îÀÉ®×
pam_deny.so=¨C¦¸³£©Úµ´µn¤J
pam_env.so=³]©wÀô¹ÒÅÜ¼Æ
pam_ftp.so=ÀË¬dFTP¨­¥÷»{ÃÒ
pam_time.so=ÀË¬dµn¤J®É¶¡
pam_group.so=³]©w¸s²Õ·|­û
pam_listfile.so=ÀË¬dÀÉ®×¤º®e
pam_limits.so=³]©w¸ê·½­­¨î
pam_mkhomedir.so=²£¥Í®a¥Ø¿ý
pam_motd.so=Åã¥Ümessage-of-the-dayÀÉ®×
pam_permit.so=¨C¦¸³£¤¹³\µn¤J
pam_radius.so=RADIUS¦øªA¾¹¨­¥÷»{ÃÒ
pam_rhosts.so=ÀË¬d <tt>.rhosts</tt>ÀÉ®×
pam_rhosts_auth.so=ÀË¬d<tt>.rhosts</tt>ÀÉ®×
pam_shells.so=ÀË¬dshell¬O§_¦³®Ä
pam_unix.so=­ì¦³ªºUnix±K½X¨­¥÷»{ÃÒ
pam_userdb.so=DBMÀÉ®×±K½X¨­¥÷»{ÃÒ
pam_warn.so=Log warning
pam_wheel.so=<tt>wheel</tt> ¸s²ÕÀË¬d
pam_issue.so=Åã¥Ü <tt>/etc/issue</tt>ÀÉ®×
pam_ldap.so=LDAP¦øªA¾¹¨­¥÷»{ÃÒ
pam_unix_auth.so=Unix±K½X¨­¥÷»{ÃÒ
pam_unix_sess.so=Unix session³]©w
pam_unix_session.so=Unix session³]©w
pam_unix_acct.so=Unix account½T»{
pam_unix_passwd.so=§ó§ïUnix±K½X
pam_stress.so=À³¥Îµ{¦¡­«ÂI´ú¸Õ
pam_tally.so=¹Á¸Õ°lÂÜµn¤J¥¢±Ñ
pam_passwd+.so=±K½Xªø«×ÀË¬d
pam_filter.so=¿é¤J/¿é¥X filter
pam_desgold.so=DESGold ´¼¼z¥d¨­¥÷»{ÃÒ
pam_console.so=¥uÀË¬d²×ºÝ¾÷
pam_xauth.so=X¨­¥÷»{ÃÒ
pam_stack.so=©I¥s¨ä¥LPAMªA°È¶µ¥Ø

control_requisite=¥²­nªº
control_required=©Ò­n¨Dªº
control_sufficient=¨¬°÷ªº
control_optional=¥i¿ï¾Üªº
control_desc_requisite=¦b¨­¥÷»{ÃÒ¿ù»~®É¥ß¨èµ²§ô
control_desc_required=¦b¨­¥÷»{ÃÒ¿ù»~«áª½¨ìµ²§ô«á¤~°±¤î
control_desc_sufficient=¨­¥÷»{ÃÒ¥¿½T«á¥ß¨è¦¨¥\
control_desc_optional=¤£ºÞ¦¨¥\©Î¿ù»~³£©¿²¤

create_title=·s¼WPAMªA°È¶µ¥Ø
create_header=·s¼WPAMªA°È¶µ¥Ø¿ï¶µ
create_name=ªA°È¦WºÙ
create_desc=´y­z
create_mods=ªì©lPAM¼Ò²Õ
create_0=µL
create_1=Unix¨­¥÷»{ÃÒ
create_2=ªý¤î¥ô¦ó¤H¶i¤J

mod_edit=½s¿èPAM¼Ò²Õ
mod_create=¥[¤JPAM¼Ò²Õ
mod_header=PAM¼Ò²Õ¿ï¶µ
mod_name=ªA°È¦WºÙ
mod_mod=PAM¼Ò²Õ
mod_type=¦bªA°È¶µ¥Ø¸Ì¨Ï¥Î
mod_type_auth=¨­¥÷»{ÃÒ
mod_type_account=Account½T»{
mod_type_session=Session³]©w
mod_type_password=§ó§ï±K½X
mod_control=¥¢±Ñ¼h¯Å
mod_args=¼Ò²Õ½Ä¬ð
mod_err=Àx¦s¼Ò²Õ¥¢±Ñ

pwdb_shadow=¨Ï¥Î¾B½ª±K½XÀÉ®×?
pwdb_nullok=¤¹³\µL±K½X?
pwdb_md5=¨Ï¥Î MD5½s½Xªº±K½X?
pwdb_nodelay=¦bµn¤J¥¢±Ñ«á©Úµ´?

listfile_item=·j´MÀÉ®×
listfile_item_user=¨Ï¥ÎªÌ¦WºÙ
listfile_item_tty=TTY
listfile_item_rhost=»·ºÝ¥D¾÷¦WºÙ
listfile_item_ruser=»·ºÝ¨Ï¥ÎªÌ¦WºÙ
listfile_item_group=¸s²Õ
listfile_item_shell=Shell
listfile_sense=¦pªG¦bÀÉ®×§ä¨ì
listfile_file=·j´MÀÉ®×
listfile_onerr=¦bÀÉ®×¿ù»~
listfile_fail=¥¢±Ñ
listfile_succeed=¦¨¥\
listfile_apply=­­¨îÀË¬d
listfile_all=©Ò¦³¨Ï¥ÎªÌ
listfile_user=¥u¦³¨Ï¥ÎªÌ
listfile_group=¥u¦³¸s²Õ

cracklib_type=´£¥Ü±K½XÃþ«¬
cracklib_retry=¦b¥¢±Ñ¤§«e³Ì¤j¥i«ì´_ªº
cracklib_eretry=¨S¦³¿é¤J©ÎµL®Äªº¨S¦³¿é¤J©ÎµL®Äªº¥i«ì´_¼Æ¦r
cracklib_etype=¨S¦³¿é¤J©ÎµL®Äªº±K½XÃþ«¬

rhosts_equiv=Åª¨ú <tt>/etc/hosts.equiv</tt>ÀÉ®×?
rhosts_rhosts=Åª¨ú¨Ï¥ÎªÌªº <tt>.rhosts</tt>ÀÉ®×?
rhosts_promiscuous=<tt>+</tt> ¤¹³\©Ò¦³¥D¾÷¶i¤J?
rhosts_suppress=¬ö¿ý¨­¥÷»{ÃÒ¥¢±Ñ?

env_var=ÅÜ¼Æ¦WºÙ
env_def=¹w³]­È
env_over=©¿²¤­È
env_evar=ÅÜ¼Æ¦WºÙ¤£¯à¦³ªÅ¥Õ

securetty_ttys=¦w¥þTTY

shells_shells=¦³®Äªº¨Ï¥ÎªÌshell

tally_deny=¦b©Úµ´¶i¤J«e¹Á¸Õ¿ù»~
tally_reset=¦b¦¨¥\«á­«³]¿ù»~­pºâ¼Æ¥Ø
tally_edeny=¨S¦³¿é¤J©ÎµL®Äªº¹Á¸Õ¿ù»~¼Æ¥Ø
tally_magic=¿ù»~­pºâ¼Æ¥ØÀ³¥Î¦b<tt>root</tt>?
tally_root=<tt>root</tt> account¥i³Q©Úµ´?

time_services=ªA°È
time_ttys=TTY
time_users=¨Ï¥ÎªÌ
time_times=¶i¤J®É¶¡
time_info=©Ò¦³ªº¿ù»~¥i¥H¥]§t¦h­Ó¥Î | ¤À¹j¼Æ­È¡A¦Ó¥B¼Æ­È¥i¥H¨Ï¥Î¸U¥Î¦r¤¸ * ©M¥Nªí§_©wªº ! ¡C

group_services=ªA°È
group_ttys=TTY
group_users=¨Ï¥ÎªÌ
group_times=¶i¤J®É¶¡
group_groups=¥[¤J¸s²Õ
group_info=©Ò¦³ªº¿ù»~¥i¥H¥]§t¦h­Ó¥Î | ¤À¹j¼Æ­È¡A¦Ó¥B¼Æ­È¥i¥H¨Ï¥Î¸U¥Î¦r¤¸ * ©M¥Nªí§_©wªº ! ¡C


wheel_group=ÀË¬d¸s²Õ·|­û
wheel_group_def=¹w³](<tt>wheel</tt> ©Î GID 0)
wheel_trust=¸s²Õ¦¨­û¥Hfuther¨­¥÷»{ÃÒ³q¹L?
wheel_deny=±N¤¹³\ªº¸s²Õ¦¨­û§ï¦¨©Úµ´?
wheel_egroup=¨S¦³¿é¤J©ÎµL®Äªº¸s²Õ¦WºÙ

motd_file=Åã¥ÜÀÉ®×
motd_file_def=¹w³](<tt>/etc/motd</tt>)
motd_efile=¨S¦³¿é¤J©ÎµL®ÄªºÀÉ®×¦WºÙ

mail_nopen=¦bµn¤JÅã¥Ü¶l¥ó³qª¾?
mail_close=¦bµn¥XÅã¥Ü¶l¥ó³qª¾?
mail_empty=³qª¾·í¶l¥óÀÉ®×¬OªÅªº?
mail_noenv=³]©w $MAIL Àô¹ÒÅÜ¼Æ?
mail_dir=¶l¥óspool¥Ø¿ý
mail_edir=¨S¦³¿é¤J©ÎµL®Äªº¶l¥óspool¥Ø¿ý

stack_service=¦bPAMªA°È¶µ¥Ø¤WÀË¬d±K½X

log_pam_create=·s¼WPAMªA°È¶µ¥Ø $1
log_pam_delete=§R°£PAMªA°È¶µ¥Ø $1
log_mod_create=¥[¤JPAM¼Ò²Õ$1¨ìªA°È¶µ¥Ø $2
log_mod_modify=­×§ïPAM¼Ò²Õ$1¦bªA°È¶µ¥Ø $2
log_mod_delete=§R°£PAM¼Ò²Õ$1¦bªA°È¶µ¥Ø $2
log_mod_move=´À´«PAM¼Ò²Õ¦bªA°È¶µ¥Ø $3
log_mod_move_l=´À´«PAM¼Ò²Õ $1©M$2¦bªA°È¶µ¥Ø $3

  070701000482c9000081a40000000000000002000000013d1fe2e200000332000000200000000000000000000000000000001800000003reloc/pam/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'pam-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($type eq 'pam') {
	return &text("log_pam_$action", "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'mod') {
	if ($action eq 'move') {
		return &text($long ? "log_mod_move_l" : "log_mod_move",
			     &short_mod($p->{'1'}), &short_mod($p->{'2'}),
			     &html_escape($object));
		}
	else {
		return &text("log_mod_$action", &short_mod($p->{'module'}),
			     &html_escape($object));
		}
	}
else {
	return undef;
	}
}

sub short_mod
{
$_[0] =~ /([^\/]+)$/;
return "<tt>".&html_escape("$1")."</tt>";
}

  070701000482ca000081a40000000000000002000000013d1fe2ea000001d0000000200000000000000000000000000000001600000003reloc/pam/module.info category=system
risk=high
desc_ko_KR.euc=PAM ÀÎÁõ
desc_zh_TW.Big5=PAM »{ÃÒ
os_support=redhat-linux mandrake-linux open-linux debian-linux/2.2 debian-linux/3.0 corel-linux suse-linux turbo-linux cobalt-linux msc-linux generic-linux gentoo-linux
desc=PAM Authentication
desc_pl=Autoryzacja przez PAM
desc_de=PAM-Authentisierung
desc_es=Autenticación PAM
desc_sv=PAM-autentisering
name=PAM
desc_ja_JP.euc=PAM Ç§¾Ú
depends=0.990
version=0.990
desc_ca=Autenticació PAM
070701000482cb000081e40000000000000002000000013d1fe2e200000250000000200000000000000000000000000000001300000003reloc/pam/move.cgi    #!/usr/local/bin/perl
# move.cgi
# Move a PAM module line up or down

require './pam-lib.pl';
&ReadParse();
@pams = &get_pam_config();
$pam = $pams[$in{'idx'}];

&lock_file($pam->{'file'});
$swap1 = $pam->{'mods'}->[$in{'midx'}];
$i = $in{'midx'};
do {
	$i += $in{'up'} ? -1 : 1;
	$swap2 = $pam->{'mods'}->[$i];
	} while($swap2->{'type'} ne $swap1->{'type'});
&swap_modules($pam->{'name'}, $swap1, $swap2);
&unlock_file($pam->{'file'});
&webmin_log("move", "mod", $pam->{'name'}, { '1' => $swap1->{'module'},
					     '2' => $swap2->{'module'} });
&redirect("edit_pam.cgi?idx=$in{'idx'}");

070701000482cc000081a40000000000000002000000013d1fe2e200000ad5000000200000000000000000000000000000001500000003reloc/pam/pam-lib.pl  # pam-lib.pl
# Functions for manipulating the PAM services file(s)

do '../web-lib.pl';
&init_config();

# get_pam_config()
# Returns a list of services and their modules
sub get_pam_config
{
local @rv;
local @ignore = split(/\s+/, $config{'ignore'});
opendir(DIR, $config{'pam_dir'});
FILE: foreach $f (readdir(DIR)) {
	next if ($f eq '.' || $f eq '..');
	foreach $i (@ignore) {
		next FILE if ($f =~ /^$i$/i);
		}
	local $serv = { 'name' => $f,
			'file' => "$config{'pam_dir'}/$f",
			'index' => scalar(@rv) };
	local $lnum = 0;
	open(FILE, $serv->{'file'});
	while(<FILE>) {
		s/\r|\n//g;
		if (/^\s*#+\s*description:\s*([A-Za-z].*)/i &&
		    !$serv->{'mods'}) {
			$serv->{'desc'} = $1;
			}
		s/#.*$//g;
		if (/^\s*(\S+)\s+(\S+)\s+(\S+)\s*(.*)$/) {
			local $mod = { 'type' => $1,   'control' => $2,
				       'module' => $3, 'args' => $4,
				       'line' => $lnum,
				       'index' => @{$serv->{'mods'}}+0 };
			push(@{$serv->{'mods'}}, $mod);
			}
		$lnum++;
		}
	close(FILE);
	push(@rv, $serv);
	}
closedir(DIR);
return @rv;
}

# create_module(service, &module)
# Add a PAM module to some service
sub create_module
{
local $lref = &read_file_lines("$config{'pam_dir'}/$_[0]");
push(@$lref, &module_line($_[1]));
&flush_file_lines();
}

# modify_module(service, &module)
# Update a PAM module in some service
sub modify_module
{
local $lref = &read_file_lines("$config{'pam_dir'}/$_[0]");
splice(@$lref, $_[1]->{'line'}, 1, &module_line($_[1]));
&flush_file_lines();
}

# delete_module(service, &module)
# Delete a PAM module from some service
sub delete_module
{
local $lref = &read_file_lines("$config{'pam_dir'}/$_[0]");
splice(@$lref, $_[1]->{'line'}, 1);
&flush_file_lines();
}

# swap_modules(service, &module1, &module2)
# Swap two PAM module entries in a service
sub swap_modules
{
local $lref = &read_file_lines("$config{'pam_dir'}/$_[0]");
local $line = $lref->[$_[1]->{'line'}];
$lref->[$_[1]->{'line'}] = $lref->[$_[2]->{'line'}];
$lref->[$_[2]->{'line'}] = $line;
&flush_file_lines();
}

# module_line(&module)
# Returns text for a PAM module line
sub module_line
{
local $l = join("\t", $_[0]->{'type'}, $_[0]->{'control'}, $_[0]->{'module'});
$l .= "\t$_[0]->{'args'}" if ($_[0]->{'args'});
return $l;
}

# list_modules()
# Returns a list of all PAM shared libraries
sub list_modules
{
local (@rv, %done, %hasmod);
foreach $d (split(/\s+/, $config{'lib_dirs'})) {
	opendir(DIR, $d);
	foreach $f (readdir(DIR)) {
		local @st = stat("$d/$f");
		push(@rv, $f) if (!$done{$st[1]}++ && $f =~ /^pam_.*\.so$/);
		$hasmod{$f}++ if ($f =~ /^pam_.*\.so$/);
		}
	closedir(DIR);
	}
foreach $q (split(/\s+/, $config{'mod_equiv'})) {
	local ($q1, $q2) = split(/=/, $q);
	if ($hasmod{$q2}) {
		@rv = grep { $_ ne $q1 } @rv;
		}
	}
return &unique(@rv);
}

1;

   070701000482cd000081a40000000000000002000000013d1fe2e200000484000000200000000000000000000000000000001d00000003reloc/pam/pam_cracklib.so.pl  # display args for pam_cracklib.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'cracklib_retry'}</b></td>\n";
printf "<td><input type=radio name=retry_def value=1 %s> %s\n",
	$_[2]->{'retry'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=retry_def value=0 %s>\n",
	$_[2]->{'retry'} ? 'checked' : '';
print "<input name=retry size=5 value='$_[2]->{'retry'}'></td>\n";

print "<td><b>$text{'cracklib_type'}</b></td>\n";
printf "<td><input type=radio name=type_def value=1 %s> %s\n",
	$_[2]->{'type'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=type_def value=0 %s>\n",
	$_[2]->{'type'} ? 'checked' : '';
print "<input name=type size=20 value='$_[2]->{'type'}'></td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'retry_def'}) { delete($_[2]->{'retry'}); }
else {
	$in{'retry'} =~ /^\d+$/ || &error($text{'cracklib_eretry'});
	$_[2]->{'retry'} = $in{'retry'};
	}

if ($in{'type_def'}) { delete($_[2]->{'type'}); }
else {
	$in{'type'} =~ /^\S+$/ || &error($text{'cracklib_etype'});
	$_[2]->{'type'} = $in{'type'};
	}
}
070701000482ce000081a40000000000000002000000013d1fe2e200000033000000200000000000000000000000000000001900000003reloc/pam/pam_deny.so.pl  # pam_deny.so has no UI

$module_has_no_args = 1;

 070701000482cf000081a40000000000000002000000013d1fe2e200000640000000200000000000000000000000000000001800000003reloc/pam/pam_env.so.pl   # display args for pam_env.so

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = $_[2]->{'conffile'} ? $_[2]->{'conffile'}
				  : "/etc/security/pam_env.conf";
open(FILE, $file);
while(<FILE>) {
	s/#.*$//;
	s/\r|\n//g;
	if (/^\s*(\S+)/) {
		local $var = $1;
		local ($def, $over);
		if (/DEFAULT="([^"]+)"/i || /DEFAULT=(\S+)/i) {
			$def = $1;
			}
		if (/OVERRIDE="([^"]+)"/i || /OVERRIDE=(\S+)/i) {
			$over = $1;
			}
		push(@env, [ $var, $def, $over ]);
		}
	}
close(FILE);
print "<tr> <td colspan=4><table width=100% border>\n";
print "<tr $tb> <td><b>$text{'env_var'}</b></td> ",
      "<td><b>$text{'env_def'}</b></td> ",
      "<td><b>$text{'env_over'}</b></td> </tr>\n";
local $i = 0;
foreach $e (@env, [ ]) {
	print "<tr> <td><input name=var_$i size=20 value='$e->[0]'></td>\n";
	print "<td><input name=def_$i size=30 value='$e->[1]'></td>\n";
	print "<td><input name=over_$i size=30 value='$e->[2]'></td> </tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = $_[2]->{'conffile'} ? $_[2]->{'conffile'}
				  : "/etc/security/pam_env.conf";
local ($i, @lines);
for($i=0; defined($in{"var_$i"}); $i++) {
	next if (!$in{"var_$i"});
	$in{"var_$i"} =~ /^\S+$/ || &error($text{'env_evar'});
	local $line = $in{"var_$i"};
	$line .= "\tDEFAULT=\"".$in{"def_$i"}."\"" if ($in{"def_$i"});
	$line .= "\tOVERRIDE=\"".$in{"over_$i"}."\"" if ($in{"over_$i"});
	push(@lines, $line,"\n");
	}
&lock_file($file);
open(FILE, ">$file");
print FILE @lines;
close(FILE);
&unlock_file($file);
}

070701000482d0000081a40000000000000002000000013d1fe2e200000035000000200000000000000000000000000000001b00000003reloc/pam/pam_filter.so.pl    # pam_filter.so has no UI

$module_has_no_args = 1;

   070701000482d1000081a40000000000000002000000013d1fe2e200000631000000200000000000000000000000000000001a00000003reloc/pam/pam_group.so.pl # display args for pam_group.so

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = "/etc/security/group.conf";
local @group;
open(FILE, $file);
while(<FILE>) {
	s/#.*$//;
	s/\r|\n//g;
	if (/^\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*$/) {
		push(@group, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(FILE);
print "<tr> <td colspan=4><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'group_services'}</b></td> ",
      "<td><b>$text{'group_ttys'}</b></td> ",
      "<td><b>$text{'group_users'}</b></td> ",
      "<td><b>$text{'group_times'}</b></td> ",
      "<td><b>$text{'group_groups'}</b></td> </tr>\n";
local $i = 0;
foreach $g (@group, [ ]) {
	print "<tr>\n";
	print "<td><input name=services_$i size=20 value='$g->[0]'></td>\n";
	print "<td><input name=ttys_$i size=20 value='$g->[1]'></td>\n";
	print "<td><input name=users_$i size=20 value='$g->[2]'></td>\n";
	print "<td><input name=times_$i size=20 value='$g->[3]'></td>\n";
	print "<td><input name=groups_$i size=20 value='$g->[4]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table><br>$text{'group_info'}</td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = "/etc/security/group.conf";
local (@lines, $i);
for($i=0; defined($in{"services_$i"}); $i++) {
	next if (!$in{"services_$i"});
	push(@lines, join(";", $in{"services_$i"}, $in{"ttys_$i"},
		     $in{"users_$i"}, $in{"times_$i"}, $in{"groups_$i"}),"\n");
	}
&lock_file($file);
open(FILE, ">$file");
print FILE @lines;
close(FILE);
&unlock_file($file);
}

   070701000482d2000081a40000000000000002000000013d1fe2e2000008ee000000200000000000000000000000000000001d00000003reloc/pam/pam_listfile.so.pl  # display args for pam_listfile.so

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'listfile_item'}</b></td>\n";
print "<td><select name=item>\n";
foreach $i ('user', 'tty', 'rhost', 'ruser', 'group', 'shell') {
	printf "<option value='%s' %s>%s\n",
		$i, $_[2]->{'item'} eq $i ? 'selected' : '',
		$text{'listfile_item_'.$i};
	}
print "</select></td>\n";

print "<td><b>$text{'listfile_sense'}</b></td>\n";
printf "<td><input type=radio name=sense value=allow %s> %s\n",
	$_[2]->{'sense'} eq 'allow' ? 'checked' : '', $text{'listfile_succeed'};
printf "<input type=radio name=sense value=deny %s> %s</td> </tr>\n",
	$_[2]->{'sense'} eq 'allow' ? '' : 'checked', $text{'listfile_fail'};

print "<tr> <td><b>$text{'listfile_file'}</b></td>\n";
print "<td colspan=3><input name=file size=50 value='$_[2]->{'file'}'> ",
      &file_chooser_button("file"),"</td> </tr>\n";

print "<tr> <td><b>$text{'listfile_onerr'}</b></td>\n";
printf "<td><input type=radio name=onerr value=fail %s> %s\n",
	$_[2]->{'onerr'} eq 'fail' ? 'checked' : '', $text{'listfile_fail'};
printf "<input type=radio name=onerr value=succeed %s> %s</td>\n",
	$_[2]->{'onerr'} eq 'fail' ? '' : 'checked', $text{'listfile_succeed'};

local $mode = $_[2]->{'apply'} =~ /^\@/ ? 2 :
	      $_[2]->{'apply'} ? 1 : 0;
print "<td><b>$text{'listfile_apply'}</b></td>\n";
printf "<td><input type=radio name=apply_mode value=0 %s> %s\n",
	$mode == 0 ? 'checked' : '', $text{'listfile_all'};
printf "<input type=radio name=apply_mode value=1 %s> %s %s\n",
	$mode == 1 ? 'checked' : '', $text{'listfile_user'},
	&unix_user_input("apply_user", $mode == 1 ? $_[2]->{'apply'} : "");
printf "<input type=radio name=apply_mode value=2 %s> %s %s</td> </tr>\n",
	$mode == 2 ? 'checked' : '', $text{'listfile_group'},
	&unix_group_input("apply_group", $mode == 2 ?
		substr($_[2]->{'apply'}, 1) : "");
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
$_[2]->{'item'} = $in{'item'};
$_[2]->{'sense'} = $in{'sense'};
$_[2]->{'file'} = $in{'file'};
$_[2]->{'onerr'} = $in{'onerr'};
if ($in{'apply_mode'} == 0) {
	delete($_[2]->{'apply'});
	}
elsif ($in{'apply_mode'} == 1) {
	$_[2]->{'apply'} = $in{'apply_user'};
	}
else {
	$_[2]->{'apply'} = '@'.$in{'apply_group'};
	}
}
  070701000482d3000081a40000000000000002000000013d1fe2e200000881000000200000000000000000000000000000001900000003reloc/pam/pam_mail.so.pl  # display args for pam_mail.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'mail_nopen'}</b></td>\n";
printf "<td><input type=radio name=nopen value=0 %s> %s\n",
	defined($_[2]->{'nopen'}) ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nopen value=1 %s> %s</td>\n",
	defined($_[2]->{'nopen'}) ? 'checked' : '', $text{'no'};

print "<td><b>$text{'mail_close'}</b></td>\n";
printf "<td><input type=radio name=close value=1 %s> %s\n",
	defined($_[2]->{'close'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=close value=0 %s> %s</td> </tr>\n",
	defined($_[2]->{'close'}) ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'mail_empty'}</b></td>\n";
printf "<td><input type=radio name=empty value=1 %s> %s\n",
	defined($_[2]->{'empty'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=empty value=0 %s> %s</td>\n",
	defined($_[2]->{'empty'}) ? '' : 'checked', $text{'no'};

print "<td><b>$text{'mail_noenv'}</b></td>\n";
printf "<td><input type=radio name=noenv value=0 %s> %s\n",
	defined($_[2]->{'noenv'}) ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=noenv value=1 %s> %s</td> </tr>\n",
	defined($_[2]->{'noenv'}) ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'mail_dir'}</b></td>\n";
printf "<td colspan=3><input type=radio name=dir_def value=1 %s> %s\n",
	$_[2]->{'dir'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=dir_def value=0 %s> %s\n",
	$_[2]->{'dir'} ? 'checked' : '';
print "<input name=dir size=30 value='$_[2]->{'dir'}'> ",
      &file_chooser_button("dir"),"</td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'nopen'}) { $_[2]->{'nopen'} = ''; }
else { delete($_[2]->{'nopen'}); }

if ($in{'close'}) { $_[2]->{'close'} = ''; }
else { delete($_[2]->{'close'}); }

if ($in{'empty'}) { $_[2]->{'empty'} = ''; }
else { delete($_[2]->{'empty'}); }

if ($in{'noenv'}) { $_[2]->{'noenv'} = ''; }
else { delete($_[2]->{'noenv'}); }

if ($in{'dir_def'}) { delete($_[2]->{'dir'}); }
else {
	-d $in{'dir'} || &error($text{'mail_edir'});
	$_[2]->{'dir'} = $in{'dir'};
	}
}

   070701000482d4000081a40000000000000002000000013d1fe2e200000302000000200000000000000000000000000000001900000003reloc/pam/pam_motd.so.pl  # display args for pam_motd.so

$module_has_no_args = 1;	# file= arg doesn't seem to work!

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'motd_file'}</b></td>\n";
printf "<td colspan=3><input type=radio name=file_def value=1 %s> %s\n",
	$_[2]->{'file'} ? '' : 'checked', $text{'motd_file_def'};
printf "<input type=radio name=file_def value=0 %s>\n",
	$_[2]->{'file'} ? 'checked' : '';
print "<input name=file size=30 value='$_[2]->{'file'}'> ",
      &file_chooser_button("file"),"</td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'file_def'}) {
	delete($_[2]->{'file'});
	}
else {
	$in{'file'} =~ /^\S+$/ || &error($text{'motd_efile'});
	$_[2]->{'file'} = $in{'file'};
	}
}
  070701000482d5000081a40000000000000002000000013d1fe2e200000036000000200000000000000000000000000000001c00000003reloc/pam/pam_nologin.so.pl   # pam_nologin.so has no UI

$module_has_no_args = 1;

  070701000482d6000081a40000000000000002000000013d1fe2e200000035000000200000000000000000000000000000001b00000003reloc/pam/pam_permit.so.pl    # pam_permit.so has no UI

$module_has_no_args = 1;

   070701000482d7000081a40000000000000002000000013d1fe2e20000068e000000200000000000000000000000000000001900000003reloc/pam/pam_pwdb.so.pl  # display args for pam_pwdb.so

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'pwdb_shadow'}</b></td>\n";
printf "<td><input type=radio name=shadow value=1 %s> %s\n",
	defined($_[2]->{'shadow'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=shadow value=0 %s> %s</td>\n",
	defined($_[2]->{'shadow'}) ? '' : 'checked', $text{'no'};

print "<td><b>$text{'pwdb_nullok'}</b></td>\n";
printf "<td><input type=radio name=nullok value=1 %s> %s\n",
	defined($_[2]->{'nullok'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=nullok value=0 %s> %s</td> </tr>\n",
	defined($_[2]->{'nullok'}) ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'pwdb_md5'}</b></td>\n";
printf "<td><input type=radio name=md5 value=1 %s> %s\n",
	defined($_[2]->{'md5'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=md5 value=0 %s> %s</td>\n",
	defined($_[2]->{'md5'}) ? '' : 'checked', $text{'no'};

print "<td><b>$text{'pwdb_nodelay'}</b></td>\n";
printf "<td><input type=radio name=nodelay value=0 %s> %s\n",
	defined($_[2]->{'nodelay'}) ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nodelay value=1 %s> %s</td> </tr>\n",
	defined($_[2]->{'nodelay'}) ? 'checked' : '', $text{'no'};
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'shadow'}) { $_[2]->{'shadow'} = ""; }
else { delete($_[2]->{'shadow'}); }

if ($in{'nullok'}) { $_[2]->{'nullok'} = ""; }
else { delete($_[2]->{'nullok'}); }

if ($in{'md5'}) { $_[2]->{'md5'} = ""; }
else { delete($_[2]->{'md5'}); }

if ($in{'nodelay'}) { $_[2]->{'nodelay'} = ""; }
else { delete($_[2]->{'nodelay'}); }
}
  070701000482d8000081a40000000000000002000000013d1fe2e2000006ed000000200000000000000000000000000000002000000003reloc/pam/pam_rhosts_auth.so.pl   # display args for pam_rhosts_auth.so

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'rhosts_equiv'}</b></td>\n";
printf "<td><input type=radio name=equiv value=0 %s> $text{'yes'}\n",
	defined($_[2]->{'no_hosts_equiv'}) ? '' : 'checked';
printf "<input type=radio name=equiv value=1 %s> $text{'no'}</td>\n",
	defined($_[2]->{'no_hosts_equiv'}) ? 'checked' : '';

print "<td><b>$text{'rhosts_rhosts'}</b></td>\n";
printf "<td><input type=radio name=rhosts value=0 %s> $text{'yes'}\n",
	defined($_[2]->{'no_rhosts'}) ? '' : 'checked';
printf "<input type=radio name=rhosts value=1 %s> $text{'no'}</td> </tr>\n",
	defined($_[2]->{'no_rhosts'}) ? 'checked' : '';

print "<tr> <td><b>$text{'rhosts_promiscuous'}</b></td>\n";
printf "<td><input type=radio name=promiscuous value=1 %s> $text{'yes'}\n",
	defined($_[2]->{'promiscuous'}) ? 'checked' : '';
printf "<input type=radio name=promiscuous value=0 %s> $text{'no'}</td>\n",
	defined($_[2]->{'promiscuous'}) ? '' : 'checked';

print "<td><b>$text{'rhosts_suppress'}</b></td>\n";
printf "<td><input type=radio name=suppress value=0 %s> $text{'yes'}\n",
	defined($_[2]->{'suppress'}) ? '' : 'checked';
printf "<input type=radio name=suppress value=1 %s> $text{'no'}</td> </tr>\n",
	defined($_[2]->{'suppress'}) ? 'checked' : '';
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'equiv'}) { $_[2]->{'no_hosts_equiv'} = ''; }
else { delete($_[2]->{'no_hosts_equiv'}); }

if ($in{'rhosts'}) { $_[2]->{'no_rhosts'} = ''; }
else { delete($_[2]->{'no_rhosts'}); }

if ($in{'promiscuous'}) { $_[2]->{'promiscuous'} = ''; }
else { delete($_[2]->{'promiscuous'}); }

if ($in{'suppress'}) { $_[2]->{'suppress'} = ''; }
else { delete($_[2]->{'suppress'}); }
}
   070701000482d9000081a40000000000000002000000013d1fe2e200000035000000200000000000000000000000000000001b00000003reloc/pam/pam_rootok.so.pl    # pam_rootok.so has no UI

$module_has_no_args = 1;

   070701000482da000081a40000000000000002000000013d1fe2e20000025b000000200000000000000000000000000000001e00000003reloc/pam/pam_securetty.so.pl # display args for pam_securetty.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = "/etc/securetty";
print "<tr> <td valign=top><b>$text{'securetty_ttys'}</b></td>\n";
print "<td><textarea name=ttys rows=5 cols=20>";
open(FILE, $file);
while(<FILE>) { print; }
close(FILE);
print "</textarea></td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = "/etc/securetty";
&lock_file($file);
open(FILE, ">$file");
$in{'ttys'} =~ s/\r//g;
$in{'ttys'} =~ s/\s*$/\n/;
print FILE $in{'ttys'};
close(FILE);
&unlock_file($file);
}
 070701000482db000081a40000000000000002000000013d1fe2e200000259000000200000000000000000000000000000001b00000003reloc/pam/pam_shells.so.pl    # display args for pam_shells.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = "/etc/shells";
print "<tr> <td valign=top><b>$text{'shells_shells'}</b></td>\n";
print "<td><textarea name=shells rows=5 cols=30>";
open(FILE, $file);
while(<FILE>) { print; }
close(FILE);
print "</textarea></td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = "/etc/shells";
&lock_file($file);
open(FILE, ">$file");
$in{'shells'} =~ s/\r//g;
$in{'shells'} =~ s/\s*$/\n/;
print FILE $in{'shells'};
close(FILE);
&unlock_file($file);
}
   070701000482dc000081a40000000000000002000000013d1fe2e2000002ca000000200000000000000000000000000000001a00000003reloc/pam/pam_stack.so.pl # display args for pam_stack

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'stack_service'}</b></td>\n";
print "<td><select name=service>\n";
local $found;
foreach $c (&get_pam_config()) {
	printf "<option value=%s %s>%s\n",
		$c->{'name'},
		$_[2]->{'service'} eq $c->{'name'} ? 'selected' : '',
		$text{"desc_".$c->{'name'}} ? $text{"desc_".$c->{'name'}}
					    : $c->{'name'};
	$found++ if ($_[2]->{'service'} eq $c->{'name'});
	}
if ($_[2]->{'service'} && !$found) {
	print "<option checked>$_[2]->{'service'}\n";
	}
print "</select></td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
$_[2]->{'service'} = $in{'service'};
}
  070701000482dd000081a40000000000000002000000013d1fe2e200000849000000200000000000000000000000000000001a00000003reloc/pam/pam_tally.so.pl # display args for pam_tally.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'tally_deny'}</b></td>\n";
printf "<td nowrap><input type=radio name=deny_def value=1 %s> %s\n",
	$_[2]->{'deny'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=deny_def value=0 %s>\n",
	$_[2]->{'deny'} ? 'checked' : '';
print "<input name=deny size=5 value='$_[2]->{'deny'}'></td>\n";

print "<td><b>$text{'tally_reset'}</b></td>\n";
printf "<td><input type=radio name=reset value=0 %s> %s\n",
	defined($_[2]->{'reset'}) || defined($_[2]->{'no_reset'}) ?
	'' : 'checked', $text{'default'};
printf "<input type=radio name=reset value=1 %s> %s\n",
	defined($_[2]->{'reset'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=reset value=2 %s> %s</td> </tr>\n",
	defined($_[2]->{'no_reset'}) ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'tally_magic'}</b></td>\n";
printf "<td><input type=radio name=magic value=1 %s> %s\n",
	defined($_[2]->{'no_magic_root'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=magic value=0 %s> %s</td>\n",
	defined($_[2]->{'no_magic_root'}) ? '' : 'checked', $text{'no'};

print "<td><b>$text{'tally_root'}</b></td>\n";
printf "<td><input type=radio name=root value=1 %s> %s\n",
      defined($_[2]->{'even_deny_root_account'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=root value=0 %s> %s</td> </tr>\n",
      defined($_[2]->{'even_deny_root_account'}) ? '' : 'checked', $text{'no'};
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'deny_def'}) { delete($_[2]->{'deny'}); }
else {
	$in{'deny'} =~ /^\d+$/ || &error($text{'tally_edeny'});
	$_[2]->{'deny'} = $in{'deny'};
	}

delete($_[2]->{'reset'});
delete($_[2]->{'no_reset'});
if ($in{'reset'} == 1) { $_[2]->{'reset'} = ''; }
elsif ($in{'reset'} == 2) { $_[2]->{'no_reset'} = ''; }

if ($in{'magic'}) { $_[2]->{'no_magic_root'} = ''; }
else { delete($_[2]->{'no_magic_root'}); }

if ($in{'root'}) { $_[2]->{'even_deny_root_account'} = ''; }
else { delete($_[2]->{'even_deny_root_account'}); }
}
   070701000482de000081a40000000000000002000000013d1fe2e200000591000000200000000000000000000000000000001900000003reloc/pam/pam_time.so.pl  # display args for pam_time.so

# display_args(&service, &module, &args)
sub display_module_args
{
local $file = "/etc/security/time.conf";
local @time;
open(FILE, $file);
while(<FILE>) {
	s/#.*$//;
	s/\r|\n//g;
	if (/^\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*;\s*([^;]*)\s*$/) {
		push(@time, [ $1, $2, $3, $4 ]);
		}
	}
close(FILE);
print "<tr> <td colspan=4><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'time_services'}</b></td> ",
      "<td><b>$text{'time_ttys'}</b></td> ",
      "<td><b>$text{'time_users'}</b></td> ",
      "<td><b>$text{'time_times'}</b></td> </tr>\n";
local $i = 0;
foreach $t (@time, [ ]) {
	print "<tr>\n";
	print "<td><input name=services_$i size=25 value='$t->[0]'></td>\n";
	print "<td><input name=ttys_$i size=25 value='$t->[1]'></td>\n";
	print "<td><input name=users_$i size=25 value='$t->[2]'></td>\n";
	print "<td><input name=times_$i size=25 value='$t->[3]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table><br>$text{'time_info'}</td> </tr>\n";
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
local $file = "/etc/security/time.conf";
local (@lines, $i);
for($i=0; defined($in{"services_$i"}); $i++) {
	next if (!$in{"services_$i"});
	push(@lines, join(";", $in{"services_$i"}, $in{"ttys_$i"},
			       $in{"users_$i"}, $in{"times_$i"}),"\n");
	}
&lock_file($file);
open(FILE, ">$file");
print FILE @lines;
close(FILE);
&unlock_file($file);
}

   070701000482df000081a40000000000000002000000013d1fe2e2000005c5000000200000000000000000000000000000001a00000003reloc/pam/pam_wheel.so.pl # display args for pam_wheel.so.pl

# display_args(&service, &module, &args)
sub display_module_args
{
print "<tr> <td><b>$text{'wheel_group'}</b></td>\n";
printf "<td colspan=3><input type=radio name=group_def value=1 %s> %s\n",
	$_[2]->{'group'} ? '' : 'checked', $text{'wheel_group_def'};
printf "<input type=radio name=group_def value=0 %s>\n",
	$_[2]->{'group'} ? 'checked' : '';
print "<input name=group size=8 value='$_[2]->{'group'}'> ",
      &group_chooser_button("group"),"</td> </tr>\n";

print "<tr> <td><b>$text{'wheel_trust'}</b></td>\n";
printf "<td><input type=radio name=trust value=1 %s> %s\n",
	defined($_[2]->{'trust'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=trust value=0 %s> %s</td>\n",
	defined($_[2]->{'trust'}) ? '' : 'checked', $text{'no'};

print "<td><b>$text{'wheel_deny'}</b></td>\n";
printf "<td><input type=radio name=deny value=1 %s> %s\n",
	defined($_[2]->{'deny'}) ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=deny value=0 %s> %s</td> </tr>\n",
	defined($_[2]->{'deny'}) ? '' : 'checked', $text{'no'};
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
if ($in{'trust'}) { $_[2]->{'trust'} = ''; }
else { delete($_[2]->{'trust'}); }

if ($in{'deny'}) { $_[2]->{'deny'} = ''; }
else { delete($_[2]->{'deny'}); }

if ($in{'group_def'}) { delete($_[2]->{'group'}); }
else {
	defined(getgrnam($in{'group'})) || &error($text{'wheel_egroup'});
	$_[2]->{'group'} = $in{'group'};
	}
}
   070701000482e0000081e40000000000000002000000013d1fe2e200000641000000200000000000000000000000000000001700000003reloc/pam/save_mod.cgi    #!/usr/local/bin/perl
# save_mod.cgi
# Update a module line in a service

require './pam-lib.pl';
&ReadParse();
&error_setup($text{'mod_err'});
@pam = &get_pam_config();
$pam = $pam[$in{'idx'}];

&lock_file($pam->{'file'});
if ($in{'delete'}) {
	# Deleting a module
	$mod = $pam->{'mods'}->[$in{'midx'}];
	&delete_module($pam->{'name'}, $mod);
	}
else {
	if ($in{'_module'}) {
		# Adding a new module
		$mod = { 'type' => $in{'_type'},
			 'module' => $in{'_module'} };
		$module = $in{'_module'};
		}
	else {
		# Existing module entry
		$mod = $pam->{'mods'}->[$in{'midx'}];
		$module = $mod->{'module'};
		$module =~ s/^.*\///;
		}
	$mod->{'control'} = $in{'control'};

	if (-r "./$module.pl") {
		# Args selected by UI
		do "./$module.pl";
		if (!$module_has_no_args) {
			foreach $a (split(/\s+/, $mod->{'args'})) {
				if ($a =~ /^([^\s=]+)=(\S*)$/) {
					$args{$1} = $2;
					}
				else {
					$args{$a} = "";
					}
				}
			&parse_module_args($pam, $mod, \%args);
			foreach $a (keys %args) {
				if ($args{$a} eq "") {
					push(@args, $a);
					}
				else {
					push(@args, "$a=$args{$a}");
					}
				}
			$mod->{'args'} = join(" ", @args);
			}
		}
	else {
		# Args entered manually
		$mod->{'args'} = $in{'args'};
		}

	if ($in{'_module'}) {
		# Add the PAM module entry
		&create_module($pam->{'name'}, $mod);
		}
	else {
		# Update the existing entry
		&modify_module($pam->{'name'}, $mod);
		}
	}
&unlock_file($pam->{'file'});
&webmin_log($in{'delete'} ? "delete" : $in{'_module'} ? "create" : "modify",
	    "mod", $pam->{'name'}, $mod);
&redirect("edit_pam.cgi?idx=$in{'idx'}");


   070701000482e1000081a40000000000000002000000013d1fe2e2000000a2000000200000000000000000000000000000001600000003reloc/pam/template.pl # display args for

# display_args(&service, &module, &args)
sub display_module_args
{
}

# parse_module_args(&service, &module, &args)
sub parse_module_args
{
}
  0707010003e280000081a40000000000000002000000013d1fe2b700000a7a000000200000000000000000000000000000001300000003reloc/oschooser.pl    # oschooser.pl
# Read the list of operating systems and ask the user to choose
# an OS and version

$| = 1;

($oslist, $out, $auto) = @ARGV;
open(OS, $oslist) || die "failed to open $oslist : $!";
while(<OS>) {
	chop;
	if (/^([^\t]+)\t+([^\t]+)\t+(\S+)\t+(\S+)\t*(.*)$/) {
		push(@list, [ $1, $2, $3, $4, $5 ]);
		push(@names, $1) if (!$donename{$1}++);
		}
	}
close(OS);

if ($auto) {
	# Try to guess the OS name and version
	if (-r "/etc/.issue") {
		$etc_issue = `cat /etc/.issue`;
		}
	elsif (-r "/etc/issue") {
		$etc_issue = `cat /etc/issue`;
		}
	$uname = `uname -a`;
	foreach $o (@list) {
		if ($o->[4] && eval $o->[4]) {
			# Got a match!
			$ver = $o;
			last;
			}
		}
	if (!$ver) {
		if ($auto == 1) {
			# Failed .. give up
			print "Failed to detect operating system\n";
			exit 1;
			}
		else {
			# Ask the user
			$auto = 0;
			}
		}
	}

if (!$auto) {
	# ask for the operating system name
	$dashes = "-" x 75;
	print <<EOF;
For Webmin to work properly, it needs to know which operating system
type and version you are running. Please select your system type by
entering the number next to it from the list below
$dashes
EOF
	for($i=0; $i<@names; $i++) {
		printf " %2d) %-34s ", $i+1, $names[$i];
		print "\n" if ($i%2);
		}
	print "\n" if ($i%2);
	print $dashes,"\n";
	print "Operating system: ";
	chop($osnum = <STDIN>);
	if ($osnum !~ /^\d+$/) {
		print "ERROR: You must enter the number next to your operating\n";
		print "system, not its name or version number.\n\n";
		exit 9;
		}
	if ($osnum < 1 || $osnum > @names) {
		print "ERROR: $osnum is not a valid operating system number.\n\n";
		exit 10;
		}
	print "\n";

	# Ask for the operating system version
	$name = $names[$osnum-1];
	@vers = grep { $_->[0] eq $name } @list; 
	print <<EOF;
Please choose which version of $name you are running, by entering
the number next to it from the list below
$dashes
EOF
	for($i=0; $i<@vers; $i++) {
		printf " %2d) %-34s ", $i+1, $name." ".$vers[$i]->[1];
		print "\n" if ($i%2);
		}
	print "\n" if ($i%2);
	print $dashes,"\n";
	print "Version: ";
	chop($vnum = <STDIN>);
	if ($vnum !~ /^\d+$/) {
		print "ERROR: You must enter the number next to your operating\n";
		print "system version, not its name or version number.\n\n";
		exit 9;
		}
	if ($vnum < 1 || $vnum > @vers) {
		print "ERROR: $vnum is not a valid operating system number.\n\n";
		exit 10;
		}
	print "\n";
	$ver = $vers[$vnum-1];
	}

# Write the name, version and real name and version to a file
open(OUT, ">$out");
print OUT "os_type='",$ver->[2],"'\n";
print OUT "os_version='",$ver->[3],"'\n";
print OUT "real_os_type='",$ver->[0],"'\n";
print OUT "real_os_version='",$ver->[1],"'\n";
close(OUT);
  07070100050b2d000041ed0000000000000001000000043d1ffad300000000000000200000000000000000000000000000000a00000003reloc/pap 07070100050b2e000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001d00000003reloc/pap/config-corel-linux  pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b63000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001e00000003reloc/pap/config-debian-linux pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b64000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001900000003reloc/pap/config-freebsd  pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b65000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001f00000003reloc/pap/config-generic-linux    pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b66000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001e00000003reloc/pap/config-gentoo-linux pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b67000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000002000000003reloc/pap/config-mandrake-linux   pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b68000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001b00000003reloc/pap/config-msc-linux    pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b69000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001c00000003reloc/pap/config-open-linux   pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b6a000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001e00000003reloc/pap/config-redhat-linux pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b6b000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000002100000003reloc/pap/config-slackware-linux  pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b6c000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001c00000003reloc/pap/config-suse-linux   pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b6d000081a40000000000000002000000013d1fe2d00000002d000000200000000000000000000000000000001d00000003reloc/pap/config-turbo-linux  pap_file=/etc/ppp/pap-secrets
encrypt_pass=0
   07070100050b6e000081a40000000000000002000000013d1fe2d000000059000000200000000000000000000000000000001600000003reloc/pap/config.info pap_file=PAP secrets file,0
encrypt_pass=Encrypt passwords in secrets file,1,1-Yes,0-No

   07070100050b6f000081a40000000000000002000000013d1fe2d000000068000000200000000000000000000000000000001900000003reloc/pap/config.info.ca  pap_file=Fitxer de secrets PAP,0
encrypt_pass=Xifra les contrasenyes del fitxer de secrets,1,1-Sí,0-No

07070100050b70000081a40000000000000002000000013d1fe2d00000007d000000200000000000000000000000000000001900000003reloc/pap/config.info.de  pap_file=PAP Pa&szlig;wort-Datei,0
encrypt_pass=Verschl&uuml;ssele Pa&szlig;w&ouml;rter in Pa&szlig;wort-Datei,1,1-Ja,0-Nein   07070100050b71000081a40000000000000002000000013d1fe2d000000071000000200000000000000000000000000000001900000003reloc/pap/config.info.es  pap_file=Archivo de secretos de PAP,0
encrypt_pass=Ecriptar claves de acceso en archivo de secretos,1,1-Sí,0-No

   07070100050b72000081a40000000000000002000000013d1fe2d000000068000000200000000000000000000000000000001900000003reloc/pap/config.info.fr  pap_file=Fichier d'usager PAP,0
encrypt_pass=Encrypter les mots de passe dans le fichier,1,1-Oui,0-Non

07070100050b73000081a40000000000000002000000013d1fe2d000000054000000200000000000000000000000000000001900000003reloc/pap/config.info.pl  pap_file=Plik hase³ PAP,0
encrypt_pass=Szyfrowaæ has³a w&nbsp; pliku,1,1-Tak,0-Nie

07070100050b74000081a40000000000000002000000013d1fe2d000000068000000200000000000000000000000000000001900000003reloc/pap/config.info.sv  pap_file=Fil för PAP-hemligheter,0
encrypt_pass=Kryptera lösenord i filen för hemligheter,1,1-Ja,0-Nej

07070100050b75000081a40000000000000002000000013d1fe2d000000069000000200000000000000000000000000000001900000003reloc/pap/config.info.tr  pap_file=PAP parola dosyasý,0
encrypt_pass=Parola dosyasýnda parolalar þifrelensin mi?,1,1-Evet,0-Hayýr

   07070100050b76000081a40000000000000002000000013d1fe2d00000004b000000200000000000000000000000000000001c00000003reloc/pap/config.info.zh_CN   pap_file=PAP ¿ÚÁîÎÄ¼þ,0
encrypt_pass=ÔÚ°²È«ÎÄ¼þÖÐÊ¹ÓÃ¼ÓÃÜ¿ÚÁî,1,1-ÊÇ,0-·ñ

 07070100050b77000081a40000000000000002000000013d1fe2d00000004b000000200000000000000000000000000000002100000003reloc/pap/config.info.zh_TW.Big5  pap_file=PAP ±K½XÀÉ,0
encrypt_pass=±K½XÀÉ¤¤¬O§_¨Ï¥Î½s½Xªº±K½X,1,1-¬O,0-§_

 07070100050b78000081e40000000000000002000000013d1fe2d000000cbb000000200000000000000000000000000000001a00000003reloc/pap/edit_secret.cgi #!/usr/local/bin/perl
# edit_secret.cgi
# Displays a form for editing or creating a pap secret

require './pap-lib.pl';
if (@ARGV) {
	$idx = $ARGV[0];
	&header($text{'edit_secret_etitle'}, "");
	@seclist = &list_secrets();
	%sec = %{$seclist[$idx]};
	}
else {
	&header($text{'edit_secret_ctitle'}, "");
	}
print "<hr>\n";

print "<form action=save_secret.cgi>\n";
if (%sec) { print "<input type=hidden name=idx value=$idx>\n"; }
print "<table border width=100%>\n";
print "<tr $tb> <td colspan=4><b>",$text{'edit_secret_acc'},"</b></td> </tr>\n";

print "<tr $cb> <td><b>", $text{'edit_secret_user'}, "</b></td>\n";
printf "<td><input type=radio name=client_def value=1 %s> ",
	%sec && !$sec{'client'} ? "checked" : "";
print $text{'edit_secret_uany'}, "\n";
printf "<input type=radio name=client_def value=0 %s> ",
	%sec && !$sec{'client'} ? "" : "checked";
print "<input name=client size=20 value=\"$sec{'client'}\"></td>\n";

print "<td><b>",$text{'edit_secret_serv'},"</b></td>\n";
printf "<td><input type=radio name=server_def value=1 %s> ",
	$sec{'server'} eq "*" ? "checked" : "";
print $text{'edit_secret_sany'},"\n";
printf "<input type=radio name=server_def value=0 %s> ",
	$sec{'server'} eq "*" ? "" : "checked";
printf "<input name=server size=20 value=\"%s\"></td> </tr>\n",
	$sec{'server'} eq "*" ? "" : $sec{'server'};

print "<tr $cb> <td valign=top><b>", $text{'edit_secret_pass'}, "</b></td>\n";
printf "<td valign=top><input type=radio name=pass_mode value=0 %s> ",
	%sec && $sec{'secret'} eq "" ? "checked" : "";
print $text{'edit_secret_none'}, "<br>\n";
printf "<input type=radio name=pass_mode value=1 %s> ",
	$sec{'secret'} =~ /^@(.*)$/ ? "checked" : "";
print $text{'edit_secret_ffile'};
printf "<input name=pass_file size=20 value=\"%s\">\n",
	$sec{'secret'} =~ /^@(.*)$/ ? $1 : "";
print &file_chooser_button("pass_file", 0);
print "<br>\n";
if (%sec) {
	printf "<input type=radio name=pass_mode value=2 %s> ",
		$sec{'secret'} !~ /^(@.*|)$/ ? "checked" : "";
	print $text{'edit_secret_leave'}, "<br>\n";
	}
printf "<input type=radio name=pass_mode value=3 %s> ",
	%sec ? "" : "checked";
print $text{'edit_secret_setto'}, "\n";
print "<input type=password name=pass_text size=15></td>\n";

@ips = @{$sec{'ips'}};
print "<td valign=top><b>", $text{'edit_secret_vaddr'}, "</b></td>\n";
printf "<td><input type=radio name=ips_mode value=0 %s> ",
	$ips[0] eq "*" ? "checked" : "";
print $text{'edit_secret_aany'}, "<br>\n";
printf "<input type=radio name=ips_mode value=1 %s> ",
	$ips[0] eq "-" || !@ips ? "checked" : "";
print $text{'edit_secret_anone'}, "<br>\n";
printf "<input type=radio name=ips_mode value=2 %s> ",
	@ips && $ips[0] ne "-" && $ips[0] ne "*" ? "checked" : "";
print $text{'edit_secret_alist'}, "<br>\n";
printf "<textarea name=ips rows=5 cols=20>%s</textarea></td> </tr>\n",
	@ips && $ips[0] ne "-" && $ips[0] ne "*" ? join("\n", @ips) : "";

print "</table>\n";
print "<table width=100%><tr><td align=left>\n";
print "<input type=submit value=", $text{'edit_secret_save'}, "></td>\n";
if (%sec) {
	print "<td align=right>\n";
	print "<input type=submit name=delete value=", $text{'edit_secret_del'},
	      "></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'edit_secret_return'});

 070701000521fd000041ed0000000000000001000000023d1ffad200000000000000200000000000000000000000000000001100000003reloc/pap/images  070701000521fe000081a40000000000000002000000013d1fe2d000000117000000200000000000000000000000000000001a00000003reloc/pap/images/icon.gif GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  è„©Ëí£´Z‰—Ý;{VvÂ)å‰è›ŠlK™Â€' ÏÒÃ¥|žSP8$þ€Á2‚:êœOŒ9}U×.l‹ðŠ“à±|0wÑì¶çN ðø—>h¯ßùò5R÷´÷Ð·uG¨Gõf‡Xuáè3X8C)!‰±3§—–ÒIFá4gÂápêJºº"—„š:!£ÅÓ3J;ªà²¶ÚKå™ÜSÃåkûü€%”Áùk*=µDL}lå¼itTÛ
~ý¢œÛ`lÝ¬¦¾ÀõÏÖ~Oïmà¹Ÿ¯¿n”¿DöÚ  ; 07070100050b79000081e40000000000000002000000013d1fe2d000000801000000200000000000000000000000000000001400000003reloc/pap/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Displays a list of all PAP secrets

require './pap-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";

if (!(-r $config{'pap_file'})) {
	print "<b>", &text('index_enopfile', $config{'pap_file'}), "</b>.<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

@sec = &list_secrets();
print "<a href=\"edit_secret.cgi\">", $text{'index_create'}, "</a>.<br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>", $text{'index_table'}, "</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td width=25%><b>", $text{'index_user'}, "</b></td> ",
      "<td width=25%><b>", $text{'index_server'}, "</b></td> ",
      "<td width=25%><b>", $text{'index_user'}, "</b></td> ",
      "<td width=25%><b>", $text{'index_server'}, "</b></td> </tr>\n";
for($i=0; $i<@sec; $i++) {
	if ($i%2 == 0) { print "<tr>\n"; }
	$s = $sec[$i];
	printf "<td width=25%><a href=\"edit_secret.cgi?$i\">%s</a></td>\n",
		$s->{'client'} ? &html_escape($s->{'client'})
			       : $text{'index_uany'};
	printf "<td width=25%>%s</td>\n",
		$s->{'server'} eq "*" ? $text{'index_sany'}
				      : &html_escape($s->{'server'});
	if ($i%2 == 1) { print "</tr>\n"; }
	}
print "</table></td></tr></table>\n";
print "<a href=\"edit_secret.cgi\">", $text{'index_create'}, "</a>.<p>\n";

print "<hr>\n", $text{'index_info'}, " <p>\n";

print "<form action=save_sync.cgi>\n";
printf "<input type=checkbox name=add value=1 %s>\n",
	$config{'sync_add'} ? "checked" : "";
print $text{'index_onadd'}, "\n";
print "<input name=server size=20 value=\"$config{'sync_server'}\"><p>\n";

printf "<input type=checkbox name=change value=1 %s>\n",
	$config{'sync_change'} ? "checked" : "";
print $text{'index_onchange'}, "<p>\n";

printf "<input type=checkbox name=delete value=1 %s>\n",
	$config{'sync_delete'} ? "checked" : "";
print $text{'index_ondelete'}, "<p>\n";
print "<input type=submit value=", $text{'index_apply'}, "></form>\n";

print "<hr>\n";
&footer("/", $text{'index_return'});

   0707010005673e000041ed0000000000000001000000023d1ffad200000000000000200000000000000000000000000000000f00000003reloc/pap/lang    0707010005673f000081a40000000000000002000000013d1fe2d0000006a9000000200000000000000000000000000000001200000003reloc/pap/lang/ca index_title=Comptes PPP
index_enopfile=No existeix al sistema el fitxer de contrasenyes PPP '$1'. Pot ser que el PPP no estigui instal·lat
index_table=Comptes PPP de trucada entrant i trucada sortint
index_user=Usuari
index_server=Servidor
index_uany=Qualsevol
index_sany=Qualsevol
index_create=Crea nou compte PPP
index_info=Webmin es pot configurar per tal que els canvis a la llista d'usuaris Unix s'apliquin automàticament a la llista de comptes PPP. Això només funcionarà si es fa servir el mòdul <tt>Usuaris i Grups</tt> de Webmin per afegir, suprimir o canviar usuaris.
index_onadd=Afegeix un compte PPP quan s'afegeixi un usuari Unix, pel servidor
index_onchange=Canvia el compte PPP quan es canvii un usuari Unix
index_ondelete=Suprimeix el compte PPP quan se suprimeixi un usuari Unix
index_apply=Aplica
index_return=a l'índex

edit_secret_etitle=Edició de Compte PPP
edit_secret_ctitle=Creació de Compte PPP
edit_secret_acc=Compte PPP
edit_secret_user=Usuari
edit_secret_serv=Servidor
edit_secret_sany=Qualsevol
edit_secret_uany=Qualsevol
edit_secret_pass=Contrasenya
edit_secret_none=Cap
edit_secret_ffile=Del fitxer
edit_secret_leave=Deixa-la tal com està
edit_secret_setto=Estableix a
edit_secret_vaddr=ADreces Vàlides
edit_secret_aany=Permet-ne qualsevol
edit_secret_anone=No en permetis cap
edit_secret_alist=Permet les llistades...
edit_secret_save=Desa
edit_secret_del=Suprimeix
edit_secret_return=a la llista de comptes

save_secret_esave=No he pogut desar el compte
save_secret_enoip='$1' no es una adreça vàlida

log_create=He creat l'usuari PPP $1
log_modify=He modificat l'usuari PPP $1
log_delete=He suprimit l'usuari PPP $1
log_sync=He canviat la sincronització d'usuaris Unix



   07070100056740000081a40000000000000002000000013d1fe2d00000096b000000200000000000000000000000000000001200000003reloc/pap/lang/de #        webmin-0.97     pap/lang/de
#
#        created: 09-mar-2001                by: Dieter Huerten
#        last modified: 05-jul-2001          Rev.: 28-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: 09.03.2001                  durch: Dieter H&uuml;rten
# letzte &Auml;nderung: 05.07.2001          Rev.: 28.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=PPP-Konten

index_enopfile=Die PPP-Pa&szlig;wortdatei '$1' existiert nicht auf Ihrem System. M&ouml;glicherweise ist PPP nicht installiert.
index_table=PPP-Konten (Einwahl und Anwahl)
index_user=Benutzername
index_server=Server
index_uany=Beliebig
index_sany=Beliebig
index_create=Erzeuge neues PPP-Konto
index_info=Webmin kann so konfiguriert werden, da&szlig; &Auml;nderungen der Unix-Benutzerliste automatisch auf die PPP-Konten angewandt werden. Dies wird nur funktionieren, wenn das Webmin-Modul <tt>Benutzer und Gruppen</tt> zum Hinzuf&uuml;gen, L&ouml;schen oder &Auml;ndern von Benutzern benutzt wird.
index_onadd=Hinzuf&uuml;gen eines PPP-Kontos, wenn ein Unix-Benutzer f&uuml;r den nebenstehenden Server hinzugef&uuml;gt wird:&nbsp;
index_onchange=&Auml;ndern des PPP-Kontos, wenn ein Unix-Benutzer ge&auml;ndert wird.
index_ondelete=L&ouml;schen des PPP-Kontos, wenn ein Unix-Benutzer gel&ouml;scht wird.
index_apply=Anwenden
index_return=Index

edit_secret_etitle=PPP-Konto bearbeiten
edit_secret_ctitle=PPP-Konto anlegen
edit_secret_acc=PPP-Konten
edit_secret_user=Benutzername
edit_secret_serv=Server
edit_secret_sany=Beliebig
edit_secret_uany=Beliebig
edit_secret_pass=Pa&szlig;wort
edit_secret_none=Kein Pa&szlig;wort
edit_secret_ffile=Von Datei
edit_secret_leave=Unver&auml;ndert lassen
edit_secret_setto=Setze auf
edit_secret_vaddr=G&uuml;ltige Adresse
edit_secret_aany=Erlaube alle
edit_secret_anone=Erlaube keine
edit_secret_alist=Erlaube angezeigte...
edit_secret_save=Speichern
edit_secret_del=L&ouml;schen
edit_secret_return=Kontenliste

save_secret_esave=Fehler beim Speichern des Kontos
save_secret_enoip='$1' ist keine g&uuml;ltige Adresse

log_create=Angelegter PPP-Benutzer $1
log_modify=Ge&auml;nderter PPP-Benutzer $1
log_delete=Gel&ouml;schter PPP-Benutzer $1
log_sync=Unix-Benutzersynchronisierung ge&auml;ndert 07070100056741000081a40000000000000002000000013d1fe2d0000005f0000000200000000000000000000000000000001200000003reloc/pap/lang/en index_title=PPP Accounts
index_enopfile=The PPP passwords file '$1' does not exist on your system. Maybe PPP is not installed
index_table=PPP Dial-in and Dial-out Accounts
index_user=Username
index_server=Server
index_uany=ANY
index_sany=ANY
index_create=Create new PPP account
index_info=Webmin can be configured so that changes to the Unix user list will automatically be applied to the list of PPP accounts. This will only work when the <tt>Users and Groups</tt> Webmin module is used to add, delete or change users.
index_onadd=Add a PPP account when a Unix user is added, for the server
index_onchange=Change the PPP account when a Unix user is changed
index_ondelete=Delete the PPP account when a Unix user is deleted
index_apply=Apply
index_return=index

edit_secret_etitle=Edit PPP Account
edit_secret_ctitle=Create PPP Account
edit_secret_acc=PPP Account
edit_secret_user=Username
edit_secret_serv=Server
edit_secret_sany=Any
edit_secret_uany=Any
edit_secret_pass=Password
edit_secret_none=None
edit_secret_ffile=From file 
edit_secret_leave=Leave unchanged
edit_secret_setto=Set to
edit_secret_vaddr=Valid Addresses
edit_secret_aany=Allow any
edit_secret_anone=Allow none
edit_secret_alist=Allow listed..
edit_secret_save=Save
edit_secret_del=Delete
edit_secret_return=account list

save_secret_esave=Failed to save account 
save_secret_enoip='$1' is not a valid address

log_create=Created PPP user $1
log_modify=Modified PPP user $1
log_delete=Deleted PPP user $1
log_sync=Changed unix user synchronisation

07070100056742000081a40000000000000002000000013d1fe2d0000006a5000000200000000000000000000000000000001200000003reloc/pap/lang/es index_title=Cuentas PPP
index_enopfile=El archivo de claves de acceso PPP '$1' no existe en tu sistema. Quizás PPP no ha sido instalado
index_table=Cuentas PPP de Entrada y Salida
index_user=Nombre de usuario
index_server=Servidor
index_uany=CUALQUIERA (ANY)
index_sany=CUALQUIERA (ANY)
index_create=Crear nueva cuenta PPP
index_info=Webmin puede ser configurado de tal manera que los cambios de la lista de usuarios de Unix sea automáticamente aplicada a la lista de cuentas PPP. Esto sólo funciona si el módulo Webmin de <tt>Usuarios y Grupos</tt>se utiliza para añadir, borrar o cambiar usuarios.
index_onadd=Añadir cuenta PPP al añadir un usuario Unix, para el servidor
index_onchange=Cambiar cuenta PPP cuando un usuario Unix cambie
index_ondelete=Borrar cuenta PPP cuando un usuario Unix sea borrado
index_apply=Aplicar
index_return=índice

edit_secret_etitle=Editar Cuenta PPP
edit_secret_ctitle=Crear Cuenta PPP
edit_secret_acc=Cuenta PPP
edit_secret_user=Nombre de usuario
edit_secret_serv=Servidor
edit_secret_sany=Cualquiera
edit_secret_uany=Cualquiera
edit_secret_pass=Clave de acceso
edit_secret_none=Ninguna
edit_secret_ffile=Desde archivo
edit_secret_leave=Dejar sin cambio
edit_secret_setto=Poner a
edit_secret_vaddr=Direcciones válidas
edit_secret_aany=Permitir cualquiera
edit_secret_anone=No permitir a nadie
edit_secret_alist=Permitir las listadas...
edit_secret_save=Salvar
edit_secret_del=Borrar
edit_secret_return=lista de cuentas

save_secret_esave=No pude salvar cuenta 
save_secret_enoip='$1' no es una dirección válida

log_create=Creado usuario PPP $1
log_modify=Modificado usuario PPP $1
log_delete=Borrado usuario PPP $1
log_sync=Cambiada sincronización de usuario unix

   07070100056743000081a40000000000000002000000013d1fe2d000000661000000200000000000000000000000000000001900000003reloc/pap/lang/ja_JP.euc  index_title=PPP ¥¢¥«¥¦¥ó¥È
index_enopfile=PPP ¥Ñ¥¹¥ï¡¼¥É ¥Õ¥¡¥¤¥ë '$1' ¤Ï¥·¥¹¥Æ¥à¤ËÂ¸ºß¤·¤Þ¤»¤óPPP ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹
index_table=PPP ¥À¥¤¥¢¥ë¥¤¥ó¤È¥À¥¤¥¢¥ë¥¢¥¦¥È ¥¢¥«¥¦¥ó¥È
index_user=¥æ¡¼¥¶Ì¾
index_server=¥µ¡¼¥Ð
index_uany=Ç¤°Õ
index_sany=Ç¤°Õ
index_create=¿·µ¬ PPP ¥¢¥«¥¦¥ó¥È¤òºîÀ®
index_info=Unix ¥æ¡¼¥¶ ¥ê¥¹¥È¤Ø¤ÎÊÑ¹¹¤¬¼«Æ°Åª¤Ë PPP ¥¢¥«¥¦¥ó¥È¤Î¥ê¥¹¥È¤ËÅ¬ÍÑ¤µ¤ì¤ë¤è¤¦¤Ë Webmin ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¥æ¡¼¥¶¤ÎÄÉ²Ã¡¢ºï½ü¡¢¤Þ¤¿¤ÏÊÑ¹¹¤¬<tt>¥æ¡¼¥¶¤È¥°¥ë¡¼¥×</tt> Webmin ¥â¥¸¥å¡¼¥ë¤¬»ÈÍÑ¤µ¤ì¤¿¤È¤­¤Î¤ßÆ°ºî¤·¤Þ¤¹¡£
index_onadd=Unix ¥æ¡¼¥¶¤¬ÄÉ²Ã¤µ¤ì¤¿¤È¤­¤Ë¥µ¡¼¥Ð¤Ë PPP ¥¢¥«¥¦¥ó¥È¤òÄÉ²Ã
index_onchange=Unix ¥æ¡¼¥¶¤¬ÊÑ¹¹¤µ¤ì¤¿¤È¤­¤Ë¥µ¡¼¥Ð¤Ë PPP ¥¢¥«¥¦¥ó¥È¤òÊÑ¹¹
index_ondelete=Unix ¥æ¡¼¥¶¤¬ºï½ü¤µ¤ì¤¿¤È¤­¤ËPPP ¥¢¥«¥¦¥ó¥È¤òºï½ü
index_apply=Å¬ÍÑ
index_return=¥¤¥ó¥Ç¥Ã¥¯¥¹

edit_secret_etitle=PPP ¥¢¥«¥¦¥ó¥È¤ÎÊÔ½¸
edit_secret_ctitle=PPP ¥¢¥«¥¦¥ó¥È¤ÎºîÀ®
edit_secret_acc=PPP ¥¢¥«¥¦¥ó¥È
edit_secret_user=¥æ¡¼¥¶Ì¾
edit_secret_serv=¥µ¡¼¥Ð
edit_secret_sany=Ç¤°Õ
edit_secret_uany=Ç¤°Õ
edit_secret_pass=¥Ñ¥¹¥ï¡¼¥É
edit_secret_none=¤Ê¤·
edit_secret_ffile=¥Õ¥¡¥¤¥ë¤«¤é
edit_secret_leave=Ì¤ÊÑ¹¹¤Î¤â¤Î¤ò»Ä¤¹
edit_secret_setto=ÀßÄêÀè
edit_secret_vaddr=Í­¸ú¤Ê¥¢¥É¥ì¥¹
edit_secret_aany=Ç¤°Õ¤Î¥¢¥É¥ì¥¹¤òµö²Ä
edit_secret_anone=¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¤òµñÈÝ
edit_secret_alist=¥ê¥¹¥È¤µ¤ì¤¿¥¢¥É¥ì¥¹¤òµö²Ä..
edit_secret_save=ÊÝÂ¸
edit_secret_del=ºï½ü
edit_secret_return=¥¢¥«¥¦¥ó¥È ¥ê¥¹¥È

save_secret_esave=¥¢¥«¥¦¥ó¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_secret_enoip='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹

log_create=PPP ¥æ¡¼¥¶ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify=PPP ¥æ¡¼¥¶ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete=PPP ¥æ¡¼¥¶ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_sync=Unix ¥æ¡¼¥¶Æ±´ü¤òÊÑ¹¹¤·¤Þ¤·¤¿

   07070100056744000081a40000000000000002000000013d1fe2d000000661000000200000000000000000000000000000001900000003reloc/pap/lang/ja_JP.jis  index_title=PPP ƒAƒJƒEƒ“ƒg
index_enopfile=PPP ƒpƒXƒ[ƒh ƒtƒ@ƒCƒ‹ '$1' ‚ÍƒVƒXƒeƒ€‚É‘¶Ý‚µ‚Ü‚¹‚ñPPP ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·
index_table=PPP ƒ_ƒCƒAƒ‹ƒCƒ“‚Æƒ_ƒCƒAƒ‹ƒAƒEƒg ƒAƒJƒEƒ“ƒg
index_user=ƒ†[ƒU–¼
index_server=ƒT[ƒo
index_uany=”CˆÓ
index_sany=”CˆÓ
index_create=V‹K PPP ƒAƒJƒEƒ“ƒg‚ðì¬
index_info=Unix ƒ†[ƒU ƒŠƒXƒg‚Ö‚Ì•ÏX‚ªŽ©“®“I‚É PPP ƒAƒJƒEƒ“ƒg‚ÌƒŠƒXƒg‚É“K—p‚³‚ê‚é‚æ‚¤‚É Webmin ‚ðÝ’è‚Å‚«‚Ü‚·B‚±‚ê‚Íƒ†[ƒU‚Ì’Ç‰ÁAíœA‚Ü‚½‚Í•ÏX‚ª<tt>ƒ†[ƒU‚ÆƒOƒ‹[ƒv</tt> Webmin ƒ‚ƒWƒ…[ƒ‹‚ªŽg—p‚³‚ê‚½‚Æ‚«‚Ì‚Ý“®ì‚µ‚Ü‚·B
index_onadd=Unix ƒ†[ƒU‚ª’Ç‰Á‚³‚ê‚½‚Æ‚«‚ÉƒT[ƒo‚É PPP ƒAƒJƒEƒ“ƒg‚ð’Ç‰Á
index_onchange=Unix ƒ†[ƒU‚ª•ÏX‚³‚ê‚½‚Æ‚«‚ÉƒT[ƒo‚É PPP ƒAƒJƒEƒ“ƒg‚ð•ÏX
index_ondelete=Unix ƒ†[ƒU‚ªíœ‚³‚ê‚½‚Æ‚«‚ÉPPP ƒAƒJƒEƒ“ƒg‚ðíœ
index_apply=“K—p
index_return=ƒCƒ“ƒfƒbƒNƒX

edit_secret_etitle=PPP ƒAƒJƒEƒ“ƒg‚Ì•ÒW
edit_secret_ctitle=PPP ƒAƒJƒEƒ“ƒg‚Ìì¬
edit_secret_acc=PPP ƒAƒJƒEƒ“ƒg
edit_secret_user=ƒ†[ƒU–¼
edit_secret_serv=ƒT[ƒo
edit_secret_sany=”CˆÓ
edit_secret_uany=”CˆÓ
edit_secret_pass=ƒpƒXƒ[ƒh
edit_secret_none=‚È‚µ
edit_secret_ffile=ƒtƒ@ƒCƒ‹‚©‚ç
edit_secret_leave=–¢•ÏX‚Ì‚à‚Ì‚ðŽc‚·
edit_secret_setto=Ý’èæ
edit_secret_vaddr=—LŒø‚ÈƒAƒhƒŒƒX
edit_secret_aany=”CˆÓ‚ÌƒAƒhƒŒƒX‚ð‹–‰Â
edit_secret_anone=‚·‚×‚Ä‚ÌƒAƒhƒŒƒX‚ð‹‘”Û
edit_secret_alist=ƒŠƒXƒg‚³‚ê‚½ƒAƒhƒŒƒX‚ð‹–‰Â..
edit_secret_save=•Û‘¶
edit_secret_del=íœ
edit_secret_return=ƒAƒJƒEƒ“ƒg ƒŠƒXƒg

save_secret_esave=ƒAƒJƒEƒ“ƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
save_secret_enoip='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·

log_create=PPP ƒ†[ƒU $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_modify=PPP ƒ†[ƒU $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_delete=PPP ƒ†[ƒU $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_sync=Unix ƒ†[ƒU“¯Šú‚ð•ÏX‚µ‚Ü‚µ‚½

   07070100056745000081a40000000000000002000000013d1fe2d0000005b8000000200000000000000000000000000000001900000003reloc/pap/lang/ko_KR.euc  index_title=PPP °èÁ¤
index_enopfile=½Ã½ºÅÛ¿¡ PPP ¾ÏÈ£ ÆÄÀÏ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. PPP°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °ÍÀÏ ¼ö ÀÖ½À´Ï´Ù
index_table=PPP ÀüÈ­ Á¢¼Ó ¹× ÀüÈ­ °É±â °èÁ¤
index_user=»ç¿ëÀÚ ÀÌ¸§
index_server=¼­¹ö
index_uany=ÀÓÀÇ
index_sany=ÀÓÀÇ
index_create=»õ PPP °èÁ¤ ÀÛ¼º
index_info=À¯´Ð½º »ç¿ëÀÚ ¸ñ·ÏÀÇ º¯°æ ³»¿ëÀ» PPP °èÁ¤ ¸ñ·Ï¿¡ ÀÚµ¿À¸·Î Àû¿ëÇÏµµ·Ï WebminÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼ºÀº <tt>»ç¿ëÀÚ ¹× ±×·ì</tt> Webmin ¸ðµâÀÌ »ç¿ëÀÚ¸¦ Ãß°¡, »èÁ¦ ¶Ç´Â º¯°æÇÏ´Â µ¥ »ç¿ëµÉ ¶§¸¸ °¡´ÉÇÕ´Ï´Ù.
index_onadd=¼­¹ö¿¡ À¯´Ð½º »ç¿ëÀÚ Ãß°¡ ½Ã ¼­¹öÀÇ PPP °èÁ¤ Ãß°¡
index_onchange=À¯´Ð½º »ç¿ëÀÚ º¯°æ ½Ã PPP °èÁ¤ º¯°æ
index_ondelete=À¯´Ð½º »ç¿ëÀÚ »èÁ¦ ½Ã PPP °èÁ¤ »èÁ¦
index_apply=Àû¿ë
index_return=ÀÎµ¦½º

edit_secret_etitle=PPP °èÁ¤ ÆíÁý
edit_secret_ctitle=PPP °èÁ¤ ÀÛ¼º
edit_secret_acc=PPP °èÁ¤
edit_secret_user=»ç¿ëÀÚ ÀÌ¸§
edit_secret_serv=¼­¹ö
edit_secret_sany=ÀÓÀÇ
edit_secret_uany=ÀÓÀÇ
edit_secret_pass=¾ÏÈ£
edit_secret_none=¾øÀ½
edit_secret_ffile=¼Ò½ºÆÄÀÏ:
edit_secret_leave=º¯°æµÇÁö ¾ÊÀº »óÅÂ·Î À¯Áö
edit_secret_setto=¼³Á¤ ´ë»ó
edit_secret_vaddr=À¯È¿ÇÑ ÁÖ¼Ò
edit_secret_aany=ÀÓÀÇ °èÁ¤ Çã¿ë
edit_secret_anone=Çã¿ë ¾ÈÇÔ
edit_secret_alist=³ª¿­µÈ °èÁ¤ Çã¿ë..
edit_secret_save=ÀúÀå
edit_secret_del=»èÁ¦
edit_secret_return=°èÁ¤ ¸ñ·Ï

save_secret_esave=°èÁ¤À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_secret_enoip='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù

log_create=PPP »ç¿ëÀÚ $1 ÀÛ¼ºµÊ
log_modify=PPP »ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_delete=PPP »ç¿ëÀÚ $1 »èÁ¦µÊ
log_sync=À¯´Ð½º »ç¿ëÀÚ µ¿±âÈ­ º¯°æµÊ

07070100056746000081a40000000000000002000000013d1fe2d0000006c0000000200000000000000000000000000000001200000003reloc/pap/lang/pl index_title=Konta PPP
index_enopfile=Plik hase³ PPP '$1' nie istnieje w&nbsp;Twoim systemie. Byæ mo¿e PPP nie jest zainstalowane
index_table=Konta PPP do wdzwaniania i&nbsp;dzwonienia
index_user=Nazwa u¿ytkownika
index_server=Serwer
index_uany=DOWOLNA
index_sany=DOWOLNY
index_create=Utwórz nowe konto PPP
index_info=Webmina mo¿na skonfigurowaæ tak, aby jakiekolwiek zmiany u¿ytkowników Uniksa powodowa³y automatyczne zmiany kont PPP. Bêdzie to dzia³aæ jedynie w&nbsp;przypadku, gdy wszelkie zmiany, dodawanie i&nbsp;usuwanie u¿ytkowników odbywaj± siê poprzez modu³ Webmina <tt>U¿ytkownicy i&nbsp;grupy</tt>.
index_onadd=Dodaj nowe konto PPP przy dodawaniu nowego u¿ytkownika Uniksa, dla serwera
index_onchange=Zmieñ konto PPP przy zmianie u¿ytkownika Uniksa
index_ondelete=Usuñ konto PPP przy usuwaniu u¿ytkownika Uniksa
index_apply=Zastosuj
index_return=indeksu

edit_secret_etitle=Zmieñ konto PPP
edit_secret_ctitle=Utwórz konto PPP
edit_secret_acc=Konto PPP
edit_secret_user=Nazwa<br>u¿ytkownika
edit_secret_serv=Serwer
edit_secret_sany=Dowolny
edit_secret_uany=Dowolna
edit_secret_pass=Has³o
edit_secret_none=Brak
edit_secret_ffile=Z&nbsp;pliku 
edit_secret_leave=Pozostaw niezmienione
edit_secret_setto=Ustaw na
edit_secret_vaddr=Dozwolone<br>adresy
edit_secret_aany=Pozwól wszystkim
edit_secret_anone=Nie pozwól ¿adnemu
edit_secret_alist=Pozwól wymienionym..
edit_secret_save=Zachowaj
edit_secret_del=Usuñ 
edit_secret_return=listy kont

save_secret_esave=Nie uda³o siê zachowaæ konta
save_secret_enoip='$1' nie jest poprawnym adresem

log_create=Utworzono u¿ytkownika PPP $1
log_modify=Zmieniono u¿ytkownika PPP $1
log_delete=Usuniêto u¿ytkownika PPP $1
log_sync=Zmieniono synchronizacjê z&nbsp;u¿ytkownikami uniksowymi
07070100056747000081a40000000000000002000000013d1fe2d000000634000000200000000000000000000000000000001200000003reloc/pap/lang/sv index_title=PPP-konton
index_enopfile=PPP-lösenordsfilen '$1' finns inte på ditt system. PPP kanske inte har installerats.
index_table=PPP-konton för in- och utringning
index_user=Användarnamn
index_server=Server
index_uany=ANY
index_sany=ANY
index_create=Skapa nytt PPP-konto
index_info=Webmin kan ställas in så att ändringar i Unix-användarlistan automatiskt förs in i listan över PPP-konton. Detta fungerar bara om Webmin-modulen <tt>Användare och grupper</tt> används för att lägga till, ändra och ta bort användare.
index_onadd=Skapa ett PPP-konto när en Unix-användare skapas, för servern
index_onchange=Ändra PPP-kontot när en Unix-användare ändras
index_ondelete=Ta bort PPP-kontot när en Unix-användare tas bort
index_apply=Ta i drift
index_return=index

edit_secret_etitle=Ändra PPP-konto
edit_secret_ctitle=Skapa PPP-konto
edit_secret_acc=PPP-konto
edit_secret_user=Användarnamn
edit_secret_serv=Server
edit_secret_sany=Vilken som helst
edit_secret_uany=Vilken som helst
edit_secret_pass=Lösenord
edit_secret_none=Inget
edit_secret_ffile=Från fil
edit_secret_leave=Ändra inte
edit_secret_setto=Sätt till
edit_secret_vaddr=Giltiga adresser
edit_secret_aany=Tillåt alla
edit_secret_anone=Tillåt ingen
edit_secret_alist=Tillåt angivna ...
edit_secret_save=Spara
edit_secret_del=Ta bort
edit_secret_return=kontolista

save_secret_esave=Det gick inte att spara kontot
save_secret_enoip='$1' är inte en giltig adress

log_create=Skapade PPP-användare $1
log_modify=Modifierade PPP-användare $1
log_delete=Tog bort PPP-användare $1
log_sync=Ändrade synkronisering med unix-användare

07070100056748000081a40000000000000002000000013d1fe2d0000004e6000000200000000000000000000000000000001500000003reloc/pap/lang/zh_CN  index_title=PPP ÕÊ»§
index_enopfile=ÔÚÄúµÄÏµÍ³ÖÐÃ»ÄÜÕÒµ½ PPP ¿ÚÁîÎÄ¼þ  '$1',¿ÉÄÜÃ»°²×° PPP
index_table=PPP ²¦ÈëºÍ²¦³öÕÊ»§
index_user=ÓÃ»§
index_server=·þÎñÆ÷
index_uany=ÈÎºÎ
index_sany=ÈÎºÎ
index_create=´´½¨ÐÂµÄ PPP ÕÊ»§
index_info=Webmin ¿ÉÒÔ±»ÅäÖÃÎª¶Ô Unix ÓÃ»§±íµÄ¸Ä±ä½«×Ô¶¯±»Ó¦ÓÃµ½ PPP µÄÕÊ»§ÁÐ±í.ÕâÖ»ÔÚÊ¹ÓÃ Webmin µÄ <tt>ÓÃ»§ºÍ×é</tt> Ä£¿éÀ´Ôö¼Ó¡¢É¾³ýºÍ¸ü¸ÄÓÃ»§Ê±ÓÐÐ§¡£
index_onadd=µ±Ôö¼ÓÒ»¸ö Unix ÓÃ»§Ê±ÎªÏµÍ³¼ÓÒ»¸ö PPP ÕÊ»§
index_onchange=µ±¸Ä±äÒ»¸ö Unix ÓÃ»§Ê±¸Ä±äËûµÄ PPP ÕÊ»§
index_ondelete=µ±É¾³ýÒ»¸ö Unix ÓÃ»§Ê±£¬É¾³ýÏàÓ¦µÄPPP ÕÊ»§
index_apply=Ó¦ÓÃ
index_return=Ë÷Òý
edit_secret_etitle=±à¼­ PPP ÕÊ»§
edit_secret_ctitle=´´½¨ PPP ÕÊ»§
edit_secret_acc=PPP ÕÊ»§
edit_secret_user=ÓÃ»§Ãû
edit_secret_serv=·þÎñÆ÷
edit_secret_sany=ÈÎºÎ
edit_secret_uany=ÈÎºÎ
edit_secret_pass=¿ÚÁî
edit_secret_none=ÎÞ
edit_secret_ffile=´ÓÎÄ¼þ
edit_secret_leave=±£³Ö²»±ä
edit_secret_setto=ÉèÖÃµ½
edit_secret_vaddr=ÓÐÐ§µØÖ·
edit_secret_aany=ÔÊÐíÃ¿¸öÈË
edit_secret_anone=È«²»ÔÊÐí
edit_secret_alist=ÔÊÐí±»ÁÐ³ö..
edit_secret_save=±£´æ
edit_secret_del=É¾³ý
edit_secret_return=ÕÊ»§ÁÐ±í
save_secret_esave=±£´æÕÊ»§Ê§°Ü
save_secret_enoip='$1' ²»ÊÇÒ»¸öÓÐÐ§µØÖ·
log_create=ÒÑ´´½¨ PPP ÓÃ»§ $1
log_modify=ÒÑ¸üÐÂ PPP ÓÃ»§ $1
log_delete=ÒÑÉ¾³ý PPP ÓÃ»§ $1
log_sync=ÒÑÓë Unix ÓÃ»§Í¬²½
  07070100056749000081a40000000000000002000000013d1fe2d0000004c7000000200000000000000000000000000000001a00000003reloc/pap/lang/zh_TW.Big5 index_title=PPP±b¸¹
index_enopfile=¦b±zªº¨t²Î¤¤§ä¤£¨ì PPP ±K½XÀÉ®×'$1'¡A¤]³\ÁÙ PPP ¨S¦w¸Ë
index_table=PPP ¼·¤J©M¼·¥X±b¸¹
index_user=±b¸¹
index_server=¦øªA¾¹
index_uany=¥ô¦ó
index_sany=¥ô¦ó
index_create=·s¼W PPP ±b¸¹
index_info=Webmin¥i¥HÅÜ§ó²ÕºA¡A¨ÏUnix ¨Ï¥ÎªÌ²M³æ±N¦Û°Ê®M¥Î¨ì PPP±b¸¹²M³æ¡A³o¶µ¥\¯à¥u¦b<tt>¨Ï¥ÎªÌ©M¸s²Õ</tt> Webmin¼Ò²Õ¯à¨Ï¥Î·s¼W,§R°£©Î§ó§ï¨Ï¥ÎªÌ¡C
index_onadd=·s¼WPPP±b¸¹·í·s¼W¤@­ÓUnix¨Ï¥ÎªÌ¦b¨t²Î®É
index_onchange=§óÅÜPPP±b¸¹·íUnix¨Ï¥ÎªÌ³Q§ïÅÜ®É
index_ondelete=§R°£PPP±b¸¹·íUnix¨Ï¥ÎªÌ³Q§R°£®É
index_apply=®M¥Î
index_return=¯Á¤Þ

edit_secret_etitle=½s¿èPPP±b¸¹
edit_secret_ctitle=·s¼WPPP±b¸¹
edit_secret_acc=PPP±b¸¹
edit_secret_user=¨Ï¥ÎªÌ¦WºÙ
edit_secret_serv=¦øªA¾¹
edit_secret_sany=¥ô¦ó
edit_secret_uany=¥ô¦ó
edit_secret_pass=±K½X
edit_secret_none=µL
edit_secret_ffile=±qÀÉ®×
edit_secret_leave=Â÷¶}¤£ÅÜ§ó
edit_secret_setto=³]©w¨ì
edit_secret_vaddr=µL®Äªº¦ì¸m
edit_secret_aany=¤¹³\©Ò¦³
edit_secret_anone=µL¤¹³\
edit_secret_alist=¤¹³\²M³æ¤¤..
edit_secret_save=Àx¦s
edit_secret_del=§R°£
edit_secret_return=±b¸¹²M³æ

save_secret_esave=Àx¦s±b¸¹¥¢±Ñ
save_secret_enoip='$1' ¤£¬O­Ó¦³®Äªº¦ì¸m

log_create=·s¼W PPP ¨Ï¥ÎªÌ $1
log_modify=­×§ï PPP ¨Ï¥ÎªÌ $1
log_delete=§R°£ PPP ¨Ï¥ÎªÌ $1
log_sync=¦P¨B§óÅÜunix¨Ï¥ÎªÌ

 07070100050b7a000081a40000000000000002000000013d1fe2d0000002a6000000200000000000000000000000000000001800000003reloc/pap/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'pap-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'modify') {
	return &text('log_modify', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>".&html_escape($object)."</tt>");
	}
elsif ($action eq 'sync') {
	return $text{'log_sync'};
	}
else {
	return undef;
	}
}

  07070100050b7b000081a40000000000000002000000013d1fe2ea000002f4000000200000000000000000000000000000001600000003reloc/pap/module.info desc_ru_SU=ðÏÌØÚÏ×ÁÔÅÌÉ É ðÁÒÏÌÉ PPP
risk=high
desc_ko_KR.euc=PPP °èÁ¤
desc_zh_TW.Big5=PPP ¨Ï¥ÎªÌ»P±K½X
desc_pl=Uzytkownicy i&nbsp;has³a PPP (PAP)
desc_de=PPP Benutzer und Passw&ouml;rter
name=PAP Secrets
desc_zh_CN=PPP ÕÊ»§
desc_pt=Usernames e Passwords de Acesso de Utilizadores PPP
category=servers
desc_tr=PPP Kullanýcý Adlarý ve Þifreleri
os_support=redhat-linux mandrake-linux suse-linux slackware-linux debian-linux open-linux turbo-linux corel-linux msc-linux generic-linux gentoo-linux
desc=PPP Accounts
desc_es=Nombres y Claves de Acceso de Usuarios PPP
desc_sv=PPP-användarnamn och -lösenord
desc_fr=Usagers et mots de passes PPP
desc_ja_JP.euc=PPP ¥¢¥«¥¦¥ó¥È
depends=0.990
version=0.990
desc_ca=Comptes PPP
desc_ru_RU=Ïîëüçîâàòåëè è Ïàðîëè PPP
07070100050b7c000081a40000000000000002000000013d1fe2d00000065b000000200000000000000000000000000000001500000003reloc/pap/pap-lib.pl  # pap-lib.pl
# Functions for managing the pap-secrets file

do '../web-lib.pl';
&init_config();

# list_secrets()
sub list_secrets
{
local(@rv, $line, $_);
open(SEC, $config{'pap_file'});
$line = 0;
while(<SEC>) {
	chop;
	s/^#.*$//g;
	@w = &split_words($_);
	if (@w >= 3) {
		local(%sec, @ips);
		$sec{'client'} = $w[0];
		$sec{'server'} = $w[1];
		$sec{'secret'} = $w[2];
		@ips = @w[3..$#w];
		$sec{'ips'} = \@ips;
		$sec{'line'} = $line;
		push(@rv, \%sec);
		}
	$line++;
	}
close(SEC);
return @rv;
}

# create_secret(&secret)
sub create_secret
{
open(SEC, ">> $config{'pap_file'}");
print SEC &join_words($_[0]->{'client'}, $_[0]->{'server'},
		      $_[0]->{'secret'}, @{$_[0]->{'ips'}}),"\n";
close(SEC);
}

# change_secret(&secret)
sub change_secret
{
&replace_file_line($config{'pap_file'}, $_[0]->{'line'},
		   &join_words($_[0]->{'client'}, $_[0]->{'server'},
			       $_[0]->{'secret'}, @{$_[0]->{'ips'}})."\n");
}

# delete_secret(&secret)
sub delete_secret
{
&replace_file_line($config{'pap_file'}, $_[0]->{'line'});
}

# split_words(string)
sub split_words
{
local($s, @w);
$s = $_[0];
while($s =~ /^\s*([^"\s]+|"([^"]*)")(.*)$/) {
	push(@w, defined($2) ? $2 : $1);
	$s = $3;
	}
return @w;
}

sub join_words
{
local(@w, $w);
foreach $w (@_) {
	if ($w =~ /^\S+$/) { push(@w, $w); }
	else { push(@w, "\"$w\""); }
	}
return join("  ", @w);
}

# opt_crypt(password)
# Returns the given password, crypted if the user has configured it
sub opt_crypt
{
if ($config{'encrypt_pass'}) {
	local($salt);
	srand(time());
	$salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
return $_[0];
}

 07070100050b7d000081e40000000000000002000000013d1fe2d000000582000000200000000000000000000000000000001a00000003reloc/pap/save_secret.cgi #!/usr/local/bin/perl
# save_secret.cgi
# Update the secrets file to add or change a secret

require './pap-lib.pl';
&ReadParse();
$whatfailed = $text{'save_secret_esave'};

&lock_file($config{'pap_file'});
if (defined($in{'idx'})) {
	@seclist = &list_secrets();
	%sec = %{$seclist[$in{'idx'}]};
	if ($in{'delete'}) {
		&delete_secret(\%sec);
		&unlock_file($config{'pap_file'});
		&webmin_log("delete", undef, $sec{'client'}, \%sec);
		&redirect("");
		exit;
		}
	}

if ($in{'client_def'}) { $sec{'client'} = ""; }
else { $sec{'client'} = $in{'client'}; }

if ($in{'server_def'}) { $sec{'server'} = "*"; }
else { $sec{'server'} = $in{'server'}; }

if ($in{'pass_mode'} == 0) { $sec{'secret'} = ""; }
elsif ($in{'pass_mode'} == 1) { $sec{'secret'} = "\@$in{'pass_file'}"; }
elsif ($in{'pass_mode'} == 3) { $sec{'secret'} = &opt_crypt($in{'pass_text'}); }

if ($in{'ips_mode'} == 0) { $sec{'ips'} = [ "*" ]; }
elsif ($in{'ips_mode'} == 1) { $sec{'ips'} = [ "-" ]; }
elsif ($in{'ips_mode'} == 2) {
	@ips = split(/\s+/, $in{'ips'});
	foreach $ip (@ips) {
		if (!gethostbyname($ip)) {
			&error(&text('save_secret_enoip', $ip));
			}
		}
	$sec{'ips'} = \@ips;
	}

if (defined($in{'idx'})) { &change_secret(\%sec); }
else { &create_secret(\%sec); }
&unlock_file($config{'pap_file'});
delete($sec{'secret'});
&webmin_log(defined($in{'idx'}) ? 'modify' : 'create',
	    undef, $sec{'client'}, \%sec);
&redirect("");

  07070100050b7e000081e40000000000000002000000013d1fe2d0000001ed000000200000000000000000000000000000001800000003reloc/pap/save_sync.cgi   #!/usr/local/bin/perl
# save_sync.cgi
# Save unix-ppp synchronisation options

require './pap-lib.pl';
&ReadParse();

&lock_file("$module_config_directory/config");
foreach $s ("add", "change", "delete") {
	if ($in{$s}) { $config{"sync_$s"} = 1; }
	else { delete($config{"sync_$s"}); }
	}
$config{'sync_server'} = $in{'server'};
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&webmin_log("sync", undef, undef, \%in);
&redirect("");

   07070100050b7f000081a40000000000000002000000013d1fe2d0000005c2000000200000000000000000000000000000001e00000003reloc/pap/useradmin_update.pl 
do 'pap-lib.pl';

# useradmin_create_user(&details)
# Add a PAP user if syncing is enabled
sub useradmin_create_user
{
return if (!$config{'sync_add'});
@sec = &list_secrets();
foreach $s (@sec) {
	return if ($s->{'client'} eq $_[0]->{'user'});
	}
$sec{'client'} = $_[0]->{'user'};
$sec{'server'} = $config{'sync_server'} ? $config{'sync_server'} : "*";
&compute_password($_[0], \%sec);
$sec{'ips'} = [ ];
&create_secret(\%sec);
}

# useradmin_delete_user(&details)
# Delete this pap user if syncing
sub useradmin_delete_user
{
return if (!$config{'sync_delete'});
@sec = &list_secrets();
for($i=0; $i<@sec; $i++) {
	if ($sec[$i]->{'client'} eq $_[0]->{'user'}) {
		&delete_secret($sec[$i]);
		return;
		}
	}
}

# useradmin_modify_user(&details)
# Update this user if in sync
sub useradmin_modify_user
{
return if (!$config{'sync_change'});
@sec = &list_secrets();
for($i=0; $i<@sec; $i++) {
	if ($sec[$i]->{'client'} eq $_[0]->{'olduser'}) {
		$sec[$i]->{'client'} = $_[0]->{'user'};
		&compute_password($_[0], $sec[$i]);
		&change_secret($sec[$i]);
		return;
		}
	}
}

# compute_password(&user, &secret)
sub compute_password
{
if ($_[0]->{'passmode'} == 0) {
	$_[1]->{'secret'} = &opt_crypt("");
	}
elsif ($_[0]->{'passmode'} == 1) {
	$_[1]->{'secret'} = "*LK*";
	}
elsif ($_[0]->{'passmode'} == 2) {
	$_[1]->{'secret'} = $_[0]->{'pass'} if ($config{'encrypt_pass'});
	}
elsif ($_[0]->{'passmode'} == 3) {
	$_[1]->{'secret'} = &opt_crypt($_[0]->{'plainpass'});
	}
}

1;

  07070100057d9a000041ed0000000000000001000000043d1ffad500000000000000200000000000000000000000000000000d00000003reloc/passwd  07070100057d9b000081a40000000000000002000000013d1fe2e300000c71000000200000000000000000000000000000001d00000003reloc/passwd/acl_security.pl  
require 'passwd-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the passwd module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_users'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> %s\n",
	$_[0]->{'mode'} == 0 ? 'checked' : '', $text{'acl_mode0'};

printf "<input type=radio name=mode value=3 %s> %s<br>\n",
	$_[0]->{'mode'} == 3 ? 'checked' : '', $text{'acl_mode3'};

printf "<input type=radio name=mode value=1 %s> %s\n",
	$_[0]->{'mode'} == 1 ? 'checked' : '', $text{'acl_mode1'};
printf "<input name=users1 size=40 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 1 ? $_[0]->{'users'} : '',
	&user_chooser_button("users1", 1);

printf "<input type=radio name=mode value=2 %s> %s\n",
	$_[0]->{'mode'} == 2 ? 'checked' : '', $text{'acl_mode2'};
printf "<input name=users2 size=40 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 2 ? $_[0]->{'users'} : '',
	&user_chooser_button("users2", 1);

printf "<input type=radio name=mode value=4 %s> %s\n",
	$_[0]->{'mode'} == 4 ? 'checked' : '', $text{'acl_mode4'};
printf "<input name=low size=8 value='%s'> -\n",
	$_[0]->{'mode'} == 4 ? $_[0]->{'low'} : '';
printf "<input name=high size=8 value='%s'><br>\n",
	$_[0]->{'mode'} == 4 ? $_[0]->{'high'} : '';

printf "<input type=radio name=mode value=5 %s> %s\n",
	$_[0]->{'mode'} == 5 ? 'checked' : '', $text{'acl_mode5'};
printf "<input name=groups size=20 value='%s'> %s<br>\n",
	$_[0]->{'mode'} == 5 ? $_[0]->{'users'} : '',
	&group_chooser_button("groups", 1);

printf "<input type=radio name=mode value=6 %s> %s\n",
	$_[0]->{'mode'} == 6 ? 'checked' : '', $text{'acl_mode6'};
printf "<input name=match size=15 value='%s'></td> </tr>\n",
	$_[0]->{'mode'} == 6 ? $_[0]->{'users'} : '';

print "<tr> <td><b>$text{'acl_repeat'}</b></td> <td>\n";
printf "<input type=radio name=repeat value=1 %s> $text{'yes'}\n",
	$_[0]->{'repeat'} ? "checked" : "";
printf "<input type=radio name=repeat value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'repeat'} ? "" : "checked";

print "<td><b>$text{'acl_others'}</b></td> <td>\n";
printf "<input type=radio name=others value=1 %s> $text{'yes'}\n",
	$_[0]->{'others'} ? "checked" : "";
printf "<input type=radio name=others value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'others'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_old'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=old value=1 %s> $text{'yes'}\n",
	$_[0]->{'old'} == 1 ? "checked" : "";
printf "<input type=radio name=old value=2 %s> $text{'acl_old_this'}\n",
	$_[0]->{'old'} == 2 ? "checked" : "";
printf "<input type=radio name=old value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'old'} == 0 ? "checked" : "";
}

# acl_security_save(&options)
# Parse the form for security options for the bind8 module
sub acl_security_save
{
$_[0]->{'mode'} = $in{'mode'};
$_[0]->{'users'} = $in{'mode'} == 1 ? $in{'users1'} :
		   $in{'mode'} == 2 ? $in{'users2'} :
		   $in{'mode'} == 5 ? $in{'groups'} :
		   $in{'mode'} == 6 ? $in{'match'} : undef;
$_[0]->{'low'} = $in{'low'};
$_[0]->{'high'} = $in{'high'};
$_[0]->{'repeat'} = $in{'repeat'};
$_[0]->{'old'} = $in{'old'};
$_[0]->{'others'} = $in{'others'};
}

   07070100057d9c000081a40000000000000002000000013d1fe2e300000027000000200000000000000000000000000000001400000003reloc/passwd/config   max_users=200
input_type=0
sort_mode=0
 07070100057d9d000081a40000000000000002000000013d1fe2e3000000e5000000200000000000000000000000000000001900000003reloc/passwd/config.info  max_users=Maximum number of users to display,0
input_type=User selection type,1,1-List box,0-Text field
sort_mode=Sort users by,1,0-Order in file,1-By username
passwd_cmd=Command to change password,3,Update system files directly
   07070100057d9e000081a40000000000000002000000013d1fe2e30000011c000000200000000000000000000000000000001c00000003reloc/passwd/config.info.ca   max_users=Nombre màxim d'usuaris a mostrar,0
input_type=Tipus de selecció d'usuaris,1,1-Caixa de llista,0-Camp de text
sort_mode=Ordena els usuaris per,1,0-L'ordre del fitxer,1-Nom d'usuari
passwd_cmd=Ordre per canviar la contrasenya,3,Actualitza directament els fitxers del sistema

07070100057d9f000081a40000000000000002000000013d1fe2e300000119000000200000000000000000000000000000001c00000003reloc/passwd/config.info.de   max_users=Maximale Anzahl anzuzeigender Benutzer,0
input_type=Benutzerauswahl Typ,1,1-Auswahlfeld,0-Textfeld
sort_mode=Sortiere Benutzer nach,1,0-UID&#045Reihenfolge,1-Nach Benutzername
passwd_cmd=Befehl zur Pa&szlig;wort&#045&Auml;nderung,3,System&#045Dateien direkt aktualisieren   07070100057da0000081a40000000000000002000000013d1fe2e3000000d2000000200000000000000000000000000000001c00000003reloc/passwd/config.info.es   max_users=Máximo número de usuarios a mostrar,0
input_type=Tipo de selección de usuario,1,1-Caja de lista,0-Campo de texto
sort_mode=Clasificar usuarios por,1,0-Orden dentro de archivo,1-Por nombre de usuario

  07070100057da1000081a40000000000000002000000013d1fe2e4000000b7000000200000000000000000000000000000001c00000003reloc/passwd/config.info.nl   max_users=Maximum aantal te tonen gebruikers,0
input_type=Selecteren soort gebruiker,1,1-Keuzelijst,0-Tekstveld
sort_mode=Toon gebruikers op,1,0-Volgorde in bestand,1-Gebruikersnaam

 07070100057da2000081a40000000000000002000000013d1fe2e3000000dd000000200000000000000000000000000000001c00000003reloc/passwd/config.info.pl   max_users=Maksymalna liczba pokazywanych u¿ytkowników,0
input_type=Sposób wyboru u¿ytkownika,1,1-Okienko wyboru,0-Pole tekstowe
sort_mode=Porz±dkowaæ u¿ytkowników wed³ug,1,0-Kolejno¶ci w&nbsp;zbiorze,1-Nazwy u¿ytkownika

   07070100057da3000081a40000000000000002000000013d1fe2e400000087000000200000000000000000000000000000002400000003reloc/passwd/config.info.zh_TW.Big5   max_users=³Ì¦hÅã¥Üªº¨Ï¥ÎªÌ,0
input_type=¨Ï¥ÎªÌ¿ï¨ú¤è¦¡,1,1-²M³æ²°,0-¤å¦r°Ï¶ô
sort_mode=±Æ§Ç¨Ï¥ÎªÌ¤è¦¡,1,0-ÀÉ®×¤ºªº¶¶§Ç,1-¨Ì¨Ï¥ÎªÌ¦WºÙ

 07070100057da4000081a40000000000000002000000013d1fe2e300000031000000200000000000000000000000000000001800000003reloc/passwd/defaultacl   mode=0
users=
old=0
repeat=1
others=1
noconfig=0
   07070100057da5000081e40000000000000002000000013d1fe2e3000005d5000000200000000000000000000000000000001d00000003reloc/passwd/edit_passwd.cgi  #!/usr/local/bin/perl
# edit_passwd.cgi

require './passwd-lib.pl';
&ReadParse();
&error_setup($text{'passwd_err'});

@user = getpwnam($in{'user'});
@user || &error($text{'passwd_euser'});
&can_edit_passwd(\@user) || &error($text{'passwd_ecannot'});

# Show password change form
&header($text{'passwd_title'}, "");
print "<hr>\n";
print "<form action=save_passwd.cgi method=post>\n";
print "<input type=hidden name=user value='$user[0]'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'passwd_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'passwd_for'}</b></td>\n";
$user[6] =~ s/,.*$//;
print "<td>$user[0]",( $user[6] ? " ($user[6])" : "" ),
      "</td> </tr>\n";

if ($access{'old'} == 1 ||
    $access{'old'} == 2 && $user[0] ne $remote_user) {
	print "<tr> <td><b>$text{'passwd_old'}</b></td>\n";
	print "<td><input name=old size=25 type=password></td> </tr>\n";
	}

print "<tr> <td><b>$text{'passwd_new'}</b></td>\n";
print "<td><input name=new size=25 type=password></td> </tr>\n";

if ($access{'repeat'}) {
	print "<tr> <td><b>$text{'passwd_repeat'}</b></td>\n";
	print "<td><input name=repeat size=25 type=password></td> </tr>\n";
	}

print "<tr> <td colspan=2>\n";
print "<input type=submit value='$text{'passwd_change'}'>\n";
print "<input type=reset value='$text{'passwd_reset'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";
print "<hr>\n";
&footer(defined($in{'idx'}) ? ( "", $text{'index_return'} ) : ( ) );

   07070100059322000041ed0000000000000001000000023d1ffad400000000000000200000000000000000000000000000001400000003reloc/passwd/images   07070100059323000081a40000000000000002000000013d1fe2e300000130000000200000000000000000000000000000001d00000003reloc/passwd/images/icon.gif  GIF89a0 0 Â  ÿÿÿÌÌÌfff   ÿÿÿÿÿÿÿÿÿÿÿÿ!ù    ,    0 0  õºÜþ0ÊI«[—õÆB(
0ŠÞ„h¹L¨$ÄN÷#ÌÑå¿šŽ÷ðIÉ@h#6Œ¿dd‰s2 6)„z´.°:íƒûó*À¤’9F)ä4»5_¨'q:h‚ý
€A'K|tH†'%…v‡9…%{s‚•€˜™š7œž#¡¤‘¥¢u¨'ª«ƒ¦¯/@ ²—§¶ µ«¼¼¤¿}®¡Á±²Å·¯È1¹³;™+Í–Kf=HËÌ<ÔwÑ•#ÚŒg£³ŠÕÑ×ÃÉ†¥!IÁ2
b¡Ré–çéôæ²ûü¡hA`(‚Ú¡z×‰_=[#–J  ;07070100057da6000081e40000000000000002000000013d1fe2e300000a2f000000200000000000000000000000000000001700000003reloc/passwd/index.cgi    #!/usr/local/bin/perl
# Display a list of users whose passwords can be changed

require './passwd-lib.pl';
if (!$config{'passwd_cmd'} && !&foreign_check("useradmin")) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>$text{'index_euseradmin'}<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

if ($access{'mode'} == 1) {
	if ($access{'users'} =~ /^\S+$/) {
		# Just one user - go to him
		&redirect("edit_passwd.cgi?user=$access{'users'}");
		exit;
		}
	map { $ucan{$_}++ } split(/\s+/, $access{'users'});
	}
elsif ($access{'mode'} == 2) {
	map { $ucannot{$_}++ } split(/\s+/, $access{'users'});
	}
elsif ($access{'mode'} == 3) {
	# Just this user - go to him
	&redirect("edit_passwd.cgi?user=$remote_user");
	exit;
	}
elsif ($access{'mode'} == 5) {
	map { $gcan{$gid = getgrnam($_)}++ } split(/\s+/, $access{'users'});
	}

&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";

# Show all unix users who can be edited
setpwent();
while(local @u = getpwent()) {
	if ($access{'mode'} == 0 ||
	    $access{'mode'} == 1 && $ucan{$u[0]} ||
	    $access{'mode'} == 2 && !$ucannot{$u[0]} ||
	    $access{'mode'} == 5 && $gcan{$u[3]} ||
	    $access{'mode'} == 6 && $u[0] =~ /$access{'users'}/ ||
	    $access{'mode'} == 4 &&
		(!$access{'low'} || $u[2] >= $access{'low'}) &&
		(!$access{'high'} || $u[2] <= $access{'high'})) {
		push(@ulist, \@u);
		}
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');
if ($config{'sort_mode'}) {
	@ulist = sort { $a->[0] cmp $b->[0] } @ulist;
	}
if ($config{'max_users'} && @ulist > $config{'max_users'}) {
	# Show as form for entering a username
	print "$text{'index_toomany'}<br>\n";
	print "<form action=edit_passwd.cgi>\n";
	print "<input type=submit value='$text{'index_user'}'>\n";
	if ($config{'input_type'}) {
		print "<select name=user>\n";
		foreach $u (@ulist) {
			print "<option>$u->[0]\n";
			}
		print "</select>\n";
		}
	else {
		print "<input name=user size=13> ",
		      &user_chooser_button("user",0);
		}
	print "</form>\n";
	}
else {
	# Show as table of users
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_header'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	for($i=0; $i<@ulist; $i++) {
		if ($i%4 == 0) { print "<tr>\n"; }
		print "<td width=25%><a href=\"edit_passwd.cgi?",
		      "user=$ulist[$i]->[0]\">",
		      &html_escape($ulist[$i]->[0])."</a></td>\n";
		if ($i%4 == 3) { print "</tr>\n"; }
		}
	while($i++ % 4) { print "<td width=25%></td>\n"; }
	print "</table></td> </tr></table><p>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

 0707010005abad000041ed0000000000000001000000023d1ffad400000000000000200000000000000000000000000000001200000003reloc/passwd/lang 0707010005abae000081a40000000000000002000000013d1fe2e3000006a6000000200000000000000000000000000000001500000003reloc/passwd/lang/ca  index_title=Canvi de Contrasenyes
index_header=Selecciona un usuari per canviar-ne la contrasenya
index_return=a la llista d'usuaris
index_user=Canvia la contrasenya de l'usuari:
index_euseradmin=Aquest mòdul no es pot fer servir perquè el mòdul d'Usuaris i Grups no està instal·lat o no està suportat pel sistema.
index_toomany=Hi ha massa usuaris al sistema com per mostrar-los. Introdueix a sota el nom de l'usuari la contrasenya del qual vols canviar...

passwd_title=Canvi de Contrasenya
passwd_header=Canviant la contrasenya de l'usuari Unix
passwd_for=Canviant la contrasenya de
passwd_old=Contrasenya anterior
passwd_new=Nova contrasenya
passwd_repeat=Nova contrasenya (altre cop)
passwd_change=Canvia
passwd_reset=Esborra el formulari
passwd_err=No he pogut canviar la contrasenya
passwd_ecannot=No tens permís per canviar la contrasenya d'aquest usuari
passwd_euser=L'usuari no existeix
passwd_eold=La contrasenya anterior és incorrecta
passwd_erepeat=Les contrasenyes noves no són iguals
passwd_ecmd=$1 ha fallat: $2
passwd_ok=He canviat amb èxit la contrasenya de l'usuari $1. Si aquest és el teu usuari de Webmin, t'hauràs de tornar a connectar un altre cop.

log_passwd=He canviat la contrasenya de l'usuari $1

acl_repeat=Ha de tornar a introduir la contrasenya altre cop
acl_old=Ha d'introduir la contrasenya anterior
acl_old_this=Només per altres usuaris
acl_others=Canvia la contrasenya dels altres mòduls
acl_users=Usuaris a qui es pot canviar la contrasenya
acl_mode0=Tots
acl_mode1=Només els usuaris
acl_mode2=Tots excepte els usuaris
acl_mode3=Només aquest usuari
acl_mode4=Usuaris amb UID en l'interval
acl_mode5=Usuaris amb grup primari
acl_mode6=Usuaris que coincideixen amb


  0707010005abaf000081a40000000000000002000000013d1fe2e30000092c000000200000000000000000000000000000001500000003reloc/passwd/lang/de  #        webmin-0.97     passwd/lang/de
#
#        created: ??-???-????                by: ???
#        last modified: 29-may-2002          Rev.: 29-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 29.05.2002        Rev.: 29.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Passw&ouml;rter &auml;ndern

index_header=Benutzer ausw&auml;hlen
index_return=Benutzerliste
index_user=&Auml;ndere Pa&szlig;wort f&uuml;r Benutzer:
index_euseradmin=Dieses Modul kann nicht benutzt werden, weil auf diesem System das Modul <tt>Benutzer und Gruppen</tt> nicht installiert ist.
index_toomany=Es gibt zu viele Benutzer auf diesem System um sie anzuzeigen. Geben Sie unten den Namen des Benutzers ein, dessen Pa&szlig;wort Sie &auml;ndern wollen ...

passwd_title=Passwort &auml;ndern
passwd_header=Das UNIX-Pa&szlig;wort &auml;ndern
passwd_for=&Auml;ndere Pa&szlig;wort f&uuml;r Benutzer:
passwd_old=Altes Pa&szlig;wort
passwd_new=Neues Pa&szlig;wort
passwd_repeat=Neues Pa&szlig;wort (wiederholen)
passwd_change=&Auml;ndern
passwd_reset=Formular l&ouml;schen
passwd_err=Pa&szlig;wort konnte nicht ge&auml;ndert werden
passwd_ecannot=Keine Berechtigung, das Pa&szlig;wort dieses Benutzers zu &auml;ndern
passwd_euser=Benutzer existiert nicht
passwd_eold=Altes Pa&szlig;wort falsch
passwd_erepeat=Neue Pa&szlig;w&ouml;rter sind ungleich
passwd_ecmd=$1 gescheitert: $2
passwd_ok=Pa&szlig;wort f&uuml;r Benutzer $1 ge&auml;ndert. Falls dies der aktuelle Webmin-Benutzer ist, kann es sein, da&szlig; er sich neu anmelden mu&szlig;.

log_passwd=Pa&szlig;wort ge&auml;ndert f&uuml;r Benutzer $1

acl_repeat=Mu&szlig; Pa&szlig;wort erneut eingeben?
acl_old=Mu&szlig; altes Pa&szlig;wort eingeben?
acl_old_this=Nur f&uuml;r andere Benutzer
acl_others=Pa&szlig;wort in anderen Modulen &auml;ndern?
acl_users=Benutzer, deren Pa&szlig;wort ge&auml;ndert werden kann
acl_mode0=Alle Benutzer
acl_mode1=Nur Benutzer
acl_mode2=Alle, au&szlig;er Benutzer
acl_mode3=Nur dieser Benutzer
acl_mode4=Benutzer mit UID im Bereich
acl_mode5=Benutzer mit prim&auml;rer Gruppe
acl_mode6=Benutzer &uuml;bereinstimmend mit0707010005abbd000081a40000000000000002000000013d1fe2e30000059f000000200000000000000000000000000000001500000003reloc/passwd/lang/en  index_title=Change Passwords
index_header=Select a user to change his/her password
index_return=user list
index_user=Change password for user:
index_euseradmin=This module cannot be used because the Users and Groups module is not installed or not supported on your system.
index_toomany=There are too many users to display on your system. Enter the name of the user whose password you want to change below..

passwd_title=Change Password
passwd_header=Changing Unix user password
passwd_for=Changing password for
passwd_old=Old password
passwd_new=New password
passwd_repeat=New password (again)
passwd_change=Change
passwd_reset=Clear form
passwd_err=Failed to change password
passwd_ecannot=You are not allowed to change this user's password
passwd_euser=User does not exist
passwd_eold=Incorrect old password
passwd_erepeat=New passwords are not the same
passwd_ecmd=$1 failed : $2
passwd_ok=Password for user $1 changed successfully. If this is your current Webmin user, you may be forced to login again.

log_passwd=Changed password for user $1

acl_repeat=Must enter new password again?
acl_old=Must enter old password?
acl_old_this=Only for other users
acl_others=Change password in other modules?
acl_users=Users whose passwords can be changed
acl_mode0=All users
acl_mode1=Only users
acl_mode2=All except users
acl_mode3=Only this user
acl_mode4=Users with UID in range
acl_mode5=Users with primary group
acl_mode6=Users matching
 0707010005abbe000081a40000000000000002000000013d1fe2e30000067b000000200000000000000000000000000000001500000003reloc/passwd/lang/es  index_title=Cambiar Claves de Acceso
index_header=Selecciona un usuario para cambiar su clave de acceso
index_return=lista de usuarios
index_user=Cambiar clave de acceso al usuario:
index_euseradmin=Este módulo no puede ser usado porque el módulo de Usuarios y Grupos no está instalado o no está soportado por tu sistema.
index_toomany=Hay demasiados usuarios a mostrar en tu sistema. Digita debajo el nombre del usuario al que quieres cambiar su clave de acceso...

passwd_title=Cambiar Clave de Acceso
passwd_header=Cambiando clave de acceso de usuario Unix
passwd_for=Cambiando clave de acceso para
passwd_old=Clave de acceso vieja
passwd_new=Clave de acceso nueva
passwd_repeat=Nueva clave de acceso (otra vez)
passwd_change=Cambiar
passwd_reset=Limpiar formulario
passwd_err=No pude cambiar la clave de acceso
passwd_ecannot=No estás autorizado a cambiar la clave de acceso de este usuario
passwd_euser=El usuario no existe
passwd_eold=Clave de acceso vieja incorrecta
passwd_erepeat=Las nuevas claves de acceso no son las mismas
passwd_ok=Las clave de acceso para usuario $1 cambió con éxito. Si éste es tu usuario en curso de Webmin, puede que se te fuerce a hacer login de nuevo.

log_passwd=Cambiada clave de acceso para usuario $1

acl_repeat=¿Debe de digitar nueva clave de acceso de nuevo?
acl_old=¿Debe de digitar clave de acceso vieja?
acl_old_this=Sólo para otros usuarios
acl_others=¿Cambio clave de acceso en otros módulos?
acl_users=Usuarios cuya clave de acceso se puede cambiar
acl_mode0=Todos los usuarios
acl_mode1=Sólo los usuario
acl_mode2=Todos excepto los usuarios
acl_mode3=Sólo este usuario
acl_mode4=Usuarios con UID en el rango

 0707010005abbf000081a40000000000000002000000013d1fe2e300000718000000200000000000000000000000000000001500000003reloc/passwd/lang/fr  index_title=Changer les mots de passe
index_header=Sélectionner un utilisateur pour changer son mot de passe
index_return=liste d'utilisateurs
index_user=Changer le mot de passe pour l'utilisateur:
index_euseradmin=Ce module ne peut pas être utilisé car le module Utilisateurs et Groupes n'est pas installé ou n'est pas supporté par votre système.
index_toomany=Il y a trop d'utilisateurs à afficher sur votre système. Entrer ci-dessous le nom de l'utilisateur dont vous voulez changer le mot de passe ...

passwd_title=Changer le mot de passe
passwd_header=Changement de mot de passe Unix
passwd_for=Changement du mot de passe de
passwd_old=Ancien mot de passe
passwd_new=Nouveau mot de passe
passwd_repeat=Nouveau mot de passe (encore)
passwd_change=Changer
passwd_reset=Effacer le formulaire
passwd_err=Echec du changement de mot de passe
passwd_ecannot=Vous n'avez pas le droit de changer le mot de passe de cet utilisateur
passwd_euser=L'utilisateur n'existe pas
passwd_eold=Ancien mot de passe incorrect
passwd_erepeat=Les nouveaux mots de passe ne sont pas identiques
passwd_ok=Le mot de passe de l'utilisateur $1 a été modifié avec succès. Si c'est votre utilisateur Webmin actuel, vous pouvez avoir à vous authentifier de nouveau.

log_passwd=Mot de passe de l'utilisateur $1 modifié

acl_repeat=Doit entrer le nouveau mot de passe deux fois ?
acl_old=Doit entrer l'ancien mot de passe ?
acl_old_this=Seulement pour les autres utilisateurs
acl_others=Changer le mot de passe dans les autres modules ?
acl_users=Utilisateurs dont le mot de passe peut être modifié
acl_mode0=Tous les utilisateurs
acl_mode1=Seulement les utilisateurs
acl_mode2=Tous excepté les utilisateurs
acl_mode3=Seulement cet utilisateur
acl_mode4=Utilisateurs avec l'UID dans l'intervalle
acl_mode5=Utilisateurs avec le groupe primaire
0707010005abc0000081a40000000000000002000000013d1fe2e30000062b000000200000000000000000000000000000001500000003reloc/passwd/lang/hu  index_title=Jelszó megváltoztatása
index_header=Válasszon ki egy felhasználót
index_return=felhsználó lista
index_user=A következõ felhsználó jelszavának megváltoztatása:
index_euseradmin=Ez a modul nem használható mert a Felhasználók és Csoportok modul nincs telepítve vagy a rendszer nem támogatja.
index_toomany=Túl sok felhasználó van a rendszerben ahhoz, hogy listázni lehessen. Adja meg az a felhasználót akinek a jelszavát megkívánja változtatni..

passwd_title=Jelszó megváltoztatása
passwd_header=Unix jelszó megváltoztatása
passwd_for=Felhasználó
passwd_old=Régi jelszó
passwd_new=Új jelszó
passwd_repeat=Új jelszó (mégegyszer)
passwd_change=OK
passwd_reset=Ûrlap törlése
passwd_err=A jelszó módosítása nem sikerült
passwd_ecannot=Ön nem jogosult e felhsználó jelszavának megváltoztatására
passwd_euser=Felhasználó nem létezik
passwd_eold=Helytelen régi jelszó
passwd_erepeat=Az új jelszavak nem egyeznek
passwd_ok=A $1 nevû felhasználó jelszavának megváltoztatása megtörtént. Ha jelenleg evvel a felhasználónévvel jelentkezett be, akkor esetleg a Webmin újra kérheti a bejelentkezését.

log_passwd=A $1 nevû felhasználó jelszavának megváltoztatása

acl_repeat=Új jelszó kétszer?
acl_old=Kérjem a régi jelszót is?
acl_old_this=Csak egyéb felhasználóknak
acl_others=Egyéb modulokban is megváltozon a jelszó?
acl_users=Azok a felhasználók akiknél engedélyezett a jelszó módosítása
acl_mode0=Összes felhasználó
acl_mode1=Csak ezek a felhasználók
acl_mode2=Az összes kivéve az alábbiakat
acl_mode3=Csak ez a felhasználó
acl_mode4=Az alábbi UID-dal rendelkezõ felhsználók


 0707010005abc1000081a40000000000000002000000013d1fe2e300000699000000200000000000000000000000000000001500000003reloc/passwd/lang/nl  index_title=Wachtwoord Wijzigen
index_header=Selecteer een gebruiker om zijn of haar wachtwoord te veranderen
index_return=lijst met gebruikers
index_user=Verander wachtwoord van:
index_euseradmin=Dit moudule kan niet worden gebruikt omdat het Gebruikers en Groepen module niet is geïnstalleerd of op uw systeem niet wordt ondersteund.
index_toomany=Er zijn teveel gebruikers op uw systeem om in een lijst te laten zien. Tik de naam van de gebruiker, waarvan het wachtwoord moet worden veranderd, hieronder in.

passwd_title=Wijzig Wachtwoord
passwd_header=Unix wachtwoord wijzigen
passwd_for=Verander wachtwoord van:
passwd_old=Huidige wachtwoord
passwd_new=Nieuw wachtwoord
passwd_repeat=Nieuw wachtwoord (opnieuw)
passwd_change=Wijzigen
passwd_reset=Formulier legen
passwd_err=Wachtwoord wijzigen mislukt
passwd_ecannot=U mag het wachtwoord van deze gebruiker niet wijzigen
passwd_euser=Deze gebruiker komt niet voor
passwd_eold=Foutief huidig wachtwoord ingegeven
passwd_erepeat=Nieuwe wachtwoorden zijn ongelijk
passwd_ok=Wachtwoord voor gebruiker $1 succesvol gewijzigd. Als dit uw huidige Webmin gebruiker is, moet u misschien opnieuw aanmelden.

log_passwd=Wachtwoord voor gebruiker $1 gewijzigd

acl_repeat=Nieuw wachtwoord tweemaal invoeren?
acl_old=Oud wachtwoord verplicht?
acl_old_this=Alleen voor andere gebruikers
acl_others=Wachtwoord wijzigen in andere modules?
acl_users=gebruikers waarvan het wachtwoord mag worden veranderd
acl_mode0=Alle gebruikers
acl_mode1=Uitsluitend gebruikers
acl_mode2=Alle gebruikers behalve
acl_mode3=Alleen deze gebruiker
acl_mode4=gebruikers met UID in reeks
acl_mode5=gebruikers met primaier groep
acl_mode6=gebruikers die overeenkomen met
   0707010005abc2000081a40000000000000002000000013d1fe2e3000005f0000000200000000000000000000000000000001500000003reloc/passwd/lang/pl  index_title=Zmiany hase³
index_header=Podaj u¿ytkownika, którego has³o zmieniæ
index_return=listy u¿ytkowników
index_user=Zmiana has³a u¿ytkownika:
index_euseradmin=Nie mo¿na korzystaæ z&nbsp;tego modu³u, gdy¿ nie zainstalowano w&nbsp;systemie modu³u U¿ytkownicy i&nbsp;grupy.
index_toomany=W&nbsp;systemie jest zbyt wielu u¿ytkowników, aby ich wszystkich tu pokazaæ. Podaj poni¿ej nazwê u¿ytkownika, którego has³o chcesz zmieniæ.

passwd_title=Zmieñ has³o
passwd_header=Zmiana has³a uniksowego
passwd_for=Zmiana has³a dla
passwd_old=Poprzednie has³o
passwd_new=Nowe has³o
passwd_repeat=Nowe has³o (ponownie)
passwd_change=Zmieñ
passwd_reset=Wyczy¶æ formularz
passwd_err=Nie uda³o siê zmieniæ has³a
passwd_ecannot=Nie masz uprawnieñ do zmiany hase³ u¿ytkowników
passwd_euser=Taki u¿ytkownik nie istnieje
passwd_eold=Nieprawid³owe poprzednie has³o
passwd_erepeat=Nowe has³a nie s± identyczne
passwd_ok=Has³o u¿ytkownika $1 zmieniono pomy¶lnie. Je¶li jest to u¿ytkownik Webmina jako który pracujesz, mo¿esz byæ zmuszony do ponownego zalogowania siê.

log_passwd=Zmieniono has³o u¿ytkownika $1

acl_repeat=Musi podawaæ has³o dwukrotnie?
acl_old=Musi podawaæ poprzednie has³o?
acl_old_this=Tylko dla u¿ytkowników
acl_others=Zmieniaæ has³o w&nbsp;innych modu³ach?
acl_users=U¿ytkownicy, których has³a mo¿na zmieniaæ
acl_mode0=Wszyscy
acl_mode1=Tylko u¿ytkownicy
acl_mode2=Wszyscy oprócz
acl_mode3=Tylko ten u¿ytkownik
acl_mode4=U¿ytkownicy o&nbsp;nrach UID z&nbsp;zakresu
acl_mode5=U¿ytkownicy, których grup± podstawow± jest
0707010005abc3000081a40000000000000002000000013d1fe2e300000470000000200000000000000000000000000000001d00000003reloc/passwd/lang/zh_TW.Big5  index_title=ÅÜ§ó±K½X
index_header=¿ï¾Ü¤@¦ì­nÅÜ§ó¥L/¦o±K½Xªº¨Ï¥ÎªÌ
index_return=¨Ï¥ÎªÌ²M³æ
index_user=ÅÜ§ó¨Ï¥ÎªÌ±K½X¡G
index_euseradmin=µLªk¨Ï¥Î³o­Ó¼Ò²Õ¡A ¦]¬°¡u¨Ï¥ÎªÌ©M¸s²Õ¡v¼Ò²Õ¨S¦³¦w¸Ë©Î¤£¤ä´©±zªº¨t²Î¡C
index_toomany=±zªº¨t²Î¤W¦³«Ü¦h¨Ï¥ÎªÌ¡AµLªk¥þ³¡¦P®ÉÅã¥Ü¡C½Ð¦b¤U¤è¿é¤J­nÅÜ§ó±K½Xªº¨Ï¥ÎªÌ¦WºÙ...

passwd_title=ÅÜ§ó±K½X
passwd_header=ÅÜ§ó Unix ¨Ï¥ÎªÌ±K½X
passwd_for=¥¿­nÅÜ§ó±K½Xªº¨Ï¥ÎªÌ
passwd_old=­ì¥ý±K½X
passwd_new=·sªº±K½X
passwd_repeat=½T»{·s±K½X (¦A¿é¤J¤@¦¸)
passwd_change=ÅÜ§ó
passwd_reset=²M°£ªí³æ
passwd_err=ÅÜ§ó±K½X¥¢±Ñ
passwd_ecannot=±z¨S¦³Åv­­­×§ï³o¦ì¨Ï¥ÎªÌªº±K½X
passwd_euser=¨Ï¥ÎªÌ¤£¦s¦b
passwd_eold=­ì¥ýªº±K½X¿ù»~
passwd_erepeat=½T»{±K½X¤£²Å¦X
passwd_ecmd=$1 ¥¢±Ñ: $2
passwd_ok=¨Ï¥ÎªÌ $1 ªº±K½X¤w¸gÅÜ§ó¡A¦pªG³o¬O±zªº Webmin ¨Ï¥ÎªÌ¡A±z±N·|µLªk¥Î­ì±K½X­«·sµn¤J

log_passwd=ÅÜ§ó¨Ï¥ÎªÌ $1 ªº±K½X

acl_repeat=¤@©w­n¦A¿é¤J±K½X¤@¦¸¡H
acl_old=¤@©w­n¿é¤J­ì¥ý±K½X¡H
acl_old_this=¥u¤¹³\¨ä¥L¨Ï¥ÎªÌ
acl_others=¦b¨ä¥L¼Ò²ÕÅÜ§ó±K½X¡H
acl_users=¨Ï¥ÎªÌªº±K½X¥i³QÅÜ§ó
acl_mode0=©Ò¦³¨Ï¥ÎªÌ
acl_mode1=¥u¦³¨Ï¥ÎªÌ¥»¨­
acl_mode2=©Ò¦³¨Ï¥ÎªÌ¡A°£¤F
acl_mode3=¥u¦³¨Ï¥ÎªÌ
acl_mode4=¨Ï¥ÎªÌ UID ¦b½d³ò
acl_mode5=¨Ï¥ÎªÌªº¥D­n¸s²Õ
acl_mode6=¨Ï¥ÎªÌ²Å¦X
07070100057da7000081a40000000000000002000000013d1fe2e3000001a7000000200000000000000000000000000000001b00000003reloc/passwd/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'passwd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'passwd') {
	return &text('log_passwd', "<tt>".&html_escape($object)."</tt>");
	}
else {
	return undef;
	}
}

 07070100057da8000081a40000000000000002000000013d1fe2ea000000f8000000200000000000000000000000000000001900000003reloc/passwd/module.info  desc_nl=Wachtwoorden Wijzigen
category=system
desc_zh_TW.Big5=ÅÜ§ó±K½X
depends=useradmin 0.990
desc_pl=Zmiany hase³
desc=Change Passwords
version=0.990
desc_de=Kennw&ouml;rter &auml;ndern
desc_hu=Jelszavak
desc_ca=Canvi de Contrasenyes
name=Passwd
07070100057da9000081a40000000000000002000000013d1fe2e300000330000000200000000000000000000000000000001b00000003reloc/passwd/passwd-lib.pl    # passwd-lib.pl
# Common functions for the password module

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

# can_edit_passwd(&user)
sub can_edit_passwd
{
if ($access{'mode'} == 0) {
	return 1;
	}
elsif ($access{'mode'} == 3) {
	return $_[0]->[0] eq $remote_user;
	}
elsif ($access{'mode'} == 4) {
	return (!$access{'low'} || $_[0]->[2] >= $access{'low'}) &&
	       (!$access{'high'} || $_[0]->[2] <= $access{'high'});
	}
elsif ($access{'mode'} == 5) {
	local $g = getgrgid($_[0]->[3]);
	return &indexof($g, split(/\s+/, $access{'users'})) >= 0;
	}
elsif ($access{'mode'} == 6) {
	return $_[0]->[0] =~ /$access{'users'}/;
	}
else {
	local $idx = &indexof($_[0]->[0], split(/\s+/, $access{'users'}));
	return $access{'mode'} == 1 && $idx >= 0 ||
	       $access{'mode'} == 2 && $idx < 0;
	}
}

1;

07070100057daa000081e40000000000000002000000013d1fe2e300000d71000000200000000000000000000000000000001d00000003reloc/passwd/save_passwd.cgi  #!/usr/local/bin/perl
# save_passwd.cgi
# Change a user's password

require './passwd-lib.pl';
&error_setup($text{'passwd_err'});
&ReadParse();

if ($config{'passwd_cmd'}) {
	# Call the passwd program to do the change
	@user = getpwnam($in{'user'});
	@user || &error($text{'passwd_euser'});
	&can_edit_passwd(\@user) || &error($text{'passwd_ecannot'});
	if ($access{'repeat'}) {
		$in{'new'} eq $in{'repeat'} || &error($text{'passwd_erepeat'});
		}
	&foreign_require("proc", "proc-lib.pl");
	if ($access{'old'} == 1 ||
	    $access{'old'} == 2 && $in{'user'} ne $remote_user) {
		@cmd = ( $config{'passwd_cmd'}, $user[2], $user[3] );
		}
	else {
		@cmd = ( "$config{'passwd_cmd'} '$in{'user'}'" );
		}
	&additional_log('exec', undef, $cmd[0]);
	local ($fh, $fpid) = &foreign_call("proc", "pty_process_exec", @cmd);
	while(1) {
		local $rv = &wait_for($fh, 'new.*:', '(old|current|login).*:');
		$out .= $wait_for_input;
		if ($rv == 0) {
			syswrite($fh, $in{'new'}."\n", length($in{'new'})+1);
			}
		elsif ($rv == 1) {
			syswrite($fh, $in{'old'}."\n", length($in{'old'})+1);
			}
		else {
			last;
			}
		last if (++$count > 10);
		}
	close($fh);
	waitpid($fpid, 0);
	&error(&text('passwd_ecmd', "<tt>$config{'passwd_cmd'}</tt>", "<pre>$out</pre>")) if ($? || $count > 10);
	&webmin_log("passwd", undef, $in{'user'});
	}
else {
	# Update the config files directly via the useradmin module
	&foreign_require("useradmin", "user-lib.pl");

	# Find the user
	@ulist = &foreign_call("useradmin", "list_users");
	($user) = grep { $_->{'user'} eq $in{'user'} } @ulist;
	$user || &error($text{'passwd_euser'});
	&can_edit_passwd([ $user->{'user'}, $user->{'pass'}, $user->{'uid'},
			   $user->{'gid'} ]) || &error($text{'passwd_ecannot'});

	# Validate inputs
	if ($access{'old'} == 1 ||
	    $access{'old'} == 2 && $user->{'user'} ne $remote_user) {
		crypt($in{'old'}, $user->{'pass'}) eq $user->{'pass'} ||
			&error($text{'passwd_eold'});
		}
	if ($access{'repeat'}) {
		$in{'new'} eq $in{'repeat'} || &error($text{'passwd_erepeat'});
		}

	# Do the change!
	$user->{'olduser'} = $user->{'user'};
	$user->{'pass'} = &foreign_call("useradmin", "encrypt_password",
					$in{'new'});
	$user->{'passmode'} = 3;
	$user->{'plainpass'} = $in{'new'};
	$pft = &useradmin::passfiles_type();
	if ($pft == 2 || $pft == 5) {
		$user->{'change'} = int(time() / (60*60*24));
		}
	elsif ($pft == 4) {
		$user->{'change'} = time();
		}
	&foreign_call("useradmin", "lock_user_files");
	$ENV{'USERADMIN_USER'} = $user->{'user'};
	$ENV{'USERADMIN_UID'} = $user->{'uid'};
	$ENV{'USERADMIN_REAL'} = $user->{'real'};
	$ENV{'USERADMIN_SHELL'} = $user->{'shell'};
	$ENV{'USERADMIN_HOME'} = $user->{'home'};
	$ENV{'USERADMIN_GID'} = $user->{'gid'};
	$ENV{'USERADMIN_PASS'} = $in{'new'};
	$ENV{'USERADMIN_ACTION'} = 'MODIFY_USER';
	&foreign_call("useradmin", "making_changes");
	&foreign_call("useradmin", "modify_user", $user, $user);
	&foreign_call("useradmin", "made_changes");
	&foreign_call("useradmin", "unlock_user_files");
	if ($access{'others'}) {
		&foreign_call("useradmin", "other_modules",
			      "useradmin_modify_user", $user);
		}
	delete($user->{'plainpass'});
	delete($user->{'pass'});
	&webmin_log("passwd", undef, $user->{'user'}, $user);
	}

# Show a confirmation message
&header($text{'passwd_title'}, "");
print "<hr>\n";
print "<p>",&text('passwd_ok', "<tt>$user->{'user'}</tt>"),"<p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003e281000081a40000000000000002000000013d1fe2b70000023d000000200000000000000000000000000000001200000003reloc/perlpath.pl #!/usr/local/bin/perl
# perlpath.pl
# This script gets run only from setup.sh in order to replace the 
# #!/usr/local/bin/perl line at the start of scripts with the real path to perl

$ppath = $ARGV[0];
if ($ARGV[1] eq "-") {
	@files = <STDIN>;
	chop(@files);
	}
else {
	# Get files from command line
	@files = @ARGV[1..$#ARGV];
	}

foreach $f (@files) {
	open(IN, $f);
	@lines = <IN>;
	close(IN);
	if ($lines[0] =~ /^#!\/\S*perl\S*(.*)/) {
		open(OUT, "> $f");
		print OUT "#!$ppath$1\n";
		for($i=1; $i<@lines; $i++) {
			print OUT $lines[$i];
			}
		close(OUT);
		}
	}

   0707010005f27a000041ed0000000000000001000000053d1ffafb00000000000000200000000000000000000000000000000e00000003reloc/postfix 0707010005f27b000081a40000000000000002000000013d1fe2dd000014b6000000200000000000000000000000000000001e00000003reloc/postfix/acl_security.pl 
require 'postfix-lib.pl';

# Print the form for security options of postfix module
sub acl_security_form
{
print "<tr>\n<td><b>$text{'acl_resource'}</b></td> <td>\n";
printf "<input type=radio name=resource value=1 %s> $text{'yes'}\n",
		$_[0]->{'resource'} ? "checked" : "";
printf "<input type=radio name=resource value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'resource'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_address_rewriting'}</b></td> <td>\n";
printf "<input type=radio name=address_rewriting value=1 %s> $text{'yes'}\n",
		$_[0]->{'address_rewriting'} ? "checked" : "";
printf "<input type=radio name=address_rewriting value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'address_rewriting'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_aliases'}</b></td> <td>\n";
printf "<input type=radio name=aliases value=1 %s> $text{'yes'}\n",
		$_[0]->{'aliases'} ? "checked" : "";
printf "<input type=radio name=aliases value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'aliases'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_general'}</b></td> <td>\n";
printf "<input type=radio name=general value=1 %s> $text{'yes'}\n",
		$_[0]->{'general'} ? "checked" : "";
printf "<input type=radio name=general value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'general'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_canonical'}</b></td> <td>\n";
printf "<input type=radio name=canonical value=1 %s> $text{'yes'}\n",
		$_[0]->{'canonical'} ? "checked" : "";
printf "<input type=radio name=canonical value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'canonical'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_virtual'}</b></td> <td>\n";
printf "<input type=radio name=virtual value=1 %s> $text{'yes'}\n",
		$_[0]->{'virtual'} ? "checked" : "";
printf "<input type=radio name=virtual value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'virtual'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_transport'}</b></td> <td>\n";
printf "<input type=radio name=transport value=1 %s> $text{'yes'}\n",
		$_[0]->{'transport'} ? "checked" : "";
printf "<input type=radio name=transport value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'transport'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_relocated'}</b></td> <td>\n";
printf "<input type=radio name=relocated value=1 %s> $text{'yes'}\n",
		$_[0]->{'relocated'} ? "checked" : "";
printf "<input type=radio name=relocated value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'relocated'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_local_delivery'}</b></td> <td>\n";
printf "<input type=radio name=local_delivery value=1 %s> $text{'yes'}\n",
		$_[0]->{'local_delivery'} ? "checked" : "";
printf "<input type=radio name=local_delivery value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'local_delivery'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_smtpd'}</b></td> <td>\n";
printf "<input type=radio name=smtpd value=1 %s> $text{'yes'}\n",
		$_[0]->{'smtpd'} ? "checked" : "";
printf "<input type=radio name=smtpd value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'smtpd'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_smtp'}</b></td> <td>\n";
printf "<input type=radio name=smtp value=1 %s> $text{'yes'}\n",
		$_[0]->{'smtp'} ? "checked" : "";
printf "<input type=radio name=smtp value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'smtp'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_rate'}</b></td> <td>\n";
printf "<input type=radio name=rate value=1 %s> $text{'yes'}\n",
		$_[0]->{'rate'} ? "checked" : "";
printf "<input type=radio name=rate value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'rate'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_debug'}</b></td> <td>\n";
printf "<input type=radio name=debug value=1 %s> $text{'yes'}\n",
		$_[0]->{'debug'} ? "checked" : "";
printf "<input type=radio name=debug value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'debug'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_ldap'}</b></td> <td>\n";
printf "<input type=radio name=ldap value=1 %s> $text{'yes'}\n",
		$_[0]->{'ldap'} ? "checked" : "";
printf "<input type=radio name=ldap value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'ldap'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_startstop'}</b></td> <td>\n";
printf "<input type=radio name=startstop value=1 %s> $text{'yes'}\n",
		$_[0]->{'startstop'} ? "checked" : "";
printf "<input type=radio name=startstop value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'startstop'} ? "" : "checked";
print "</tr>\n";

}


# acl_security_save(&options)
# Parse the form for security options for the postfix module
sub acl_security_save
{
$_[0]->{'aliases'} = $in{'aliases'};
$_[0]->{'general'} = $in{'general'};
$_[0]->{'address_rewriting'} = $in{'address_rewriting'};
$_[0]->{'canonical'} = $in{'canonical'};
$_[0]->{'virtual'} = $in{'virtual'};
$_[0]->{'transport'} = $in{'transport'};
$_[0]->{'relocated'} = $in{'relocated'};
$_[0]->{'local_delivery'} = $in{'local_delivery'};
$_[0]->{'resource'} = $in{'resource'};
$_[0]->{'smtpd'} = $in{'smtpd'};
$_[0]->{'smtp'} = $in{'smtp'};
$_[0]->{'rate'} = $in{'rate'};
$_[0]->{'debug'} = $in{'debug'};
$_[0]->{'ldap'} = $in{'ldap'};
$_[0]->{'startstop'} = $in{'startstop'};
}


  0707010005f27c000081e40000000000000002000000013d1fe2dd00000701000000200000000000000000000000000000002400000003reloc/postfix/address_rewriting.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for editing address rewriting for Postfix
#
# << Here are all options seen in Postfix sample-rewrite.cf >>

require './postfix-lib.pl';


$access{'address_rewriting'} || &error($text{'address_rewriting_ecannot'});
&header($text{'address_rewriting_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'address_rewriting_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_yesno("allow_percent_hack");
&option_yesno("append_at_myorigin");
print "</tr>\n";

print "<tr>\n";
&option_yesno("append_dot_mydomain");
&option_yesno("swap_bangpath", 'help');
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("empty_address_recipient", 20, $text{'opt_empty_recip_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("masquerade_domains", 35, $none);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("masquerade_exceptions", 35, $none);
print "</tr>\n";


print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




   0707010005f27d000081e40000000000000002000000013d1fe2dd000009dd000000200000000000000000000000000000001a00000003reloc/postfix/aliases.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Manages aliases for Postfix
#
# << Here are all options seen in Postfix sample-aliases.cf >>


require './postfix-lib.pl';

$access{'aliases'} || &error($text{'aliases_ecannot'});
&header($text{'aliases_title'}, "", "aliases");

print "<hr>\n";


# alias general options

print "<form action=save_opts_aliases.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'aliasopts_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_freefield("alias_maps", 60);
print "</tr>\n";

print "<tr>\n";
&option_freefield("alias_database", 60);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "$text{'aliases_warning'}<p><br>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
print "<br>\n";




# double-table displaying all aliases

my $aliases = &get_aliases();

print $text{'aliases_click'}, "\n<br>\n";
print "<table width=100%> <tr><td width=50% valign=top>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'aliases_name'}</b></td> ",
      "<td><b>$text{'aliases_value'}</b></td> </tr>\n";

my $split_index = int(($#{$aliases})/2);
my $i = -1;

foreach $alias (@{$aliases})
{
    print "<tr $cb>\n";
    print "<td><a href=\"edit_alias.cgi?num=$alias->{'number'}\">$alias->{'name'}</a></td>\n";
    print "<td>$alias->{'value'}</td>\n</tr>\n";
    $i++;
    if ($i == $split_index)
    {
	print "</table></td><td width=50% valign=top>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'aliases_name'}</b></td> ",
	"<td><b>$text{'aliases_value'}</b></td> </tr>\n";
    }
}

print "</tr></td></table>\n";
print "</table>\n";


# new alias form

print "<table cellpadding=5 width=100%><tr><td>\n";
print "<form action=edit_alias.cgi>\n";
print "<input type=submit value=\"$text{'new_alias'}\">\n";
print "</td> <td width=\"99%\">$text{'new_aliasmsg'}\n";
print "</td></tr></table></form>\n";


print "<hr>\n";
&footer("", $text{'index_return'});
   0707010005f27e000081e40000000000000002000000013d1fe2dd000007bd000000200000000000000000000000000000001c00000003reloc/postfix/canonical.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Manages canonicals for Postfix
#
# << Here are all options seen in Postfix sample-canonical.cf >>


require './postfix-lib.pl';

$access{'canonical'} || &error($text{'canonical_ecannot'});
&header($text{'canonical_title'}, "", "canonical");

print "<hr>\n";


# alias general options

print "<form action=save_opts_canonical.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'canonical_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$none = $text{'opts_none'};

print "<tr>\n";
&option_radios_freefield("canonical_maps", 60, $none);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("recipient_canonical_maps", 60, $none);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("sender_canonical_maps", 60, $none);
print "</tr>\n";



print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";

print "<br>\n";

print "<table cellpadding=5 width=100%><tr><td>\n";
print "<form action=canonical_edit.cgi>\n";
print "$text{'edit_canonical_maps_general'}:</td></tr><tr><td>\n";
print "<input type=submit name=which value=\"$text{'edit_canonical_maps'}\">\n";
print "<input type=submit name=which value=\"$text{'edit_recipient_canonical_maps'}\">\n";
print "<input type=submit name=which value=\"$text{'edit_sender_canonical_maps'}\">\n";
print "</td></tr></table></form>\n";



print "<hr>\n";
&footer("", $text{'index_return'});
   0707010005f27f000081e40000000000000002000000013d1fe2dd00000517000000200000000000000000000000000000002100000003reloc/postfix/canonical_edit.cgi  #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Edit one category of canonical maps

require './postfix-lib.pl';
&ReadParse();

&header($text{'canonical_edit_title'}, "", "canonical");
print "<hr>\n";


my $first_line = $text{'map_click'}." ".
                 "<font size=\"-1\">".&hlink("$text{'help_map_format'}", "canonical")."</font>\n<br>\n";

if ($in{'which'} eq $text{'edit_canonical_maps'})
{ 
    &generate_map_edit("canonical_maps", $first_line);
}
elsif ($in{'which'} eq $text{'edit_recipient_canonical_maps'})
{ 
    &generate_map_edit("recipient_canonical_maps", $first_line);
}
elsif ($in{'which'} eq $text{'edit_sender_canonical_maps'})
{ 
    &generate_map_edit("sender_canonical_maps", $first_line);
}
else 
{ 
    &error($text{'internal_error'}); 
}

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010005f280000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000001500000003reloc/postfix/config  postfix_control_command=/usr/sbin/postfix
postfix_config_command=/usr/sbin/postconf
postfix_config_file=/etc/postfix/main.cf
postfix_aliases_table_command=/usr/sbin/postalias
postfix_newaliases_command=/usr/bin/newaliases
postfix_lookup_table_command=/usr/sbin/postmap
   0707010005f281000081a40000000000000002000000013d1fe2dd0000012f000000200000000000000000000000000000001d00000003reloc/postfix/config-freebsd  postfix_control_command=/usr/local/sbin/postfix
postfix_config_command=/usr/local/sbin/postconf
postfix_config_file=/usr/local/etc/postfix/main.cf
postfix_aliases_table_command=/usr/local/sbin/postalias
postfix_newaliases_command=/usr/bin/newaliases
postfix_lookup_table_command=/usr/local/sbin/postmap
 0707010005f282000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000002400000003reloc/postfix/config-mandrake-linux   postfix_control_command=/usr/sbin/postfix
postfix_config_command=/usr/sbin/postconf
postfix_config_file=/etc/postfix/main.cf
postfix_aliases_table_command=/usr/sbin/postalias
postfix_newaliases_command=/usr/bin/newaliases
postfix_lookup_table_command=/usr/sbin/postmap
   0707010005f283000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000001f00000003reloc/postfix/config-msc-linux    postfix_control_command=/usr/sbin/postfix
postfix_config_command=/usr/sbin/postconf
postfix_config_file=/etc/postfix/main.cf
postfix_aliases_table_command=/usr/sbin/postalias
postfix_newaliases_command=/usr/bin/newaliases
postfix_lookup_table_command=/usr/sbin/postmap
   0707010005f284000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000001c00000003reloc/postfix/config-netbsd   postfix_control_command=/usr/sbin/postfix
postfix_config_command=/usr/sbin/postconf
postfix_config_file=/etc/postfix/main.cf
postfix_aliases_table_command=/usr/sbin/postalias
postfix_newaliases_command=/usr/bin/newaliases
postfix_lookup_table_command=/usr/sbin/postmap
   0707010005f285000081a40000000000000002000000013d1fe2dd000001c5000000200000000000000000000000000000001a00000003reloc/postfix/config.info postfix_control_command=Full path to Postfix control command,0
postfix_config_command=Full path to Postfix config command,0
postfix_config_file=Full path to Postfix config file,0
postfix_aliases_table_command=Full path to Postfix aliases generation command,0
postfix_newaliases_command=Full path to &quot;newaliases&quot; (Sendmail compatibility) command,0
postfix_lookup_table_command=Full path to Postfix lookup table command management (`postmap'),0
   0707010005f286000081a40000000000000002000000013d1fe2dd0000020c000000200000000000000000000000000000001d00000003reloc/postfix/config.info.ca  postfix_control_command=Camí complet de l'ordre de control de Postfix,0
postfix_config_command=Camí complet de l'ordre de configuració de Postfix,0
postfix_config_file=Camí complet del fitxer de configuració de Postfix,0
postfix_aliases_table_command=Camí complet de l'ordre de generació d'àlies de Postfix,0
postfix_newaliases_command=Camí complet de l'ordre &quot;newaliases&quot; (compatible amb sendmail),0
postfix_lookup_table_command=Camí complet de la gestió d'ordres de consulta de taules de Postfix (`postmap'),0


0707010005f287000081a40000000000000002000000013d1fe2dd000001fb000000200000000000000000000000000000001d00000003reloc/postfix/config.info.de  postfix_control_command=Absoluter Pfad zum Postfix Kontrollprogramm,0
postfix_config_command=Absoluter Pfad zum Postfix Konfigurationsprogramm,0
postfix_config_file=Absoluter Pfad zur Postfix Konfigurationsdatei,0
postfix_aliases_table_command=Absoluter Pfad zum Kommandu zum erstellen von Postfix Aliasen,0
postfix_newaliases_command=Absoluter Pfad zum &quot;newaliases&quot; (Sendmail kompatibel) Kommando,0
postfix_lookup_table_command=Absoluter Pfad zum Lookup Tabellen Kommandomanagement (`postmap'),0
 0707010005f288000081a40000000000000002000000013d1fe2dd000001c6000000200000000000000000000000000000001d00000003reloc/postfix/config.info.es  postfix_control_command=Full path to Postfix control command,0
postfix_config_command=Full path to Postfix config command,0
postfix_config_file=Full path to Postfix config file,0
postfix_aliases_table_command=Full path to Postfix aliases generation commande,0
postfix_newaliases_command=Full path to &quot;newaliases&quot; (Sendmail compatibility) command,0
postfix_lookup_table_command=Full path to Postfix lookup table command management (`postmap'),0
  0707010005f289000081a40000000000000002000000013d1fe2dd0000024e000000200000000000000000000000000000001d00000003reloc/postfix/config.info.fr  postfix_control_command=Chemin d'accès complet à la commande de contrôle de Postfix,0
postfix_config_command=Chemin d'accès complet à la commande de configuration de Postfix,0
postfix_config_file=Chemin d'accès complet au fichier de configuration de Postfix,0
postfix_aliases_table_command=Chemin d'accès complet à la commande de génération des alias,0
postfix_newaliases_command=Chemin d'accès complet à la commande &quot;newaliases&quot; (compatibilité avec Sendmail),0
postfix_lookup_table_command=Chemin d'accès complet à la commande de génération des tables de recherche (`postmap'),0
  0707010005f28a000081a40000000000000002000000013d1fe2dd0000021d000000200000000000000000000000000000001d00000003reloc/postfix/config.info.pl  postfix_control_command=Pe³na ¶cie¿ka do polecenia kontrolnego Postfiksa,0
postfix_config_command=Pe³na ¶cie¿ka do polecenia konfiguracyjnego Postfiksa,0
postfix_config_file=Pe³na ¶cie¿ka do pliku konfiguracyjnego Postfiksa,0
postfix_aliases_table_command=Pe³na ¶cie¿ka do polecenia tworz±cego aliasy Postfiksa,0
postfix_newaliases_command=Pe³na ¶cie¿ka do polecenia &quot;newaliases&quot; (zgodno¶æ z&nbsp;Sendmailem),0
postfix_lookup_table_command=Pe³na ¶cie¿ka do polecenia zarz±dzaj±cego tablicami przeszukiwania Postfiksa (`postmap'),0
   0707010005f28b000081a40000000000000002000000013d1fe2dd00000214000000200000000000000000000000000000001d00000003reloc/postfix/config.info.sv  postfix_control_command=Fullständig sökväg till Postfix-kontrollkommando,0
postfix_config_command=Fullständig sökväg till Postfix-konfigurationskommando,0
postfix_config_file=Fullständig sökväg till Postfix-konfigurationsfil,0
postfix_aliases_table_command=Fullständig sökväg till Postfix-kommando för aliasgenerering,0
postfix_newaliases_command=Fullständig sökväg till %quot;newaliases&quot;-kommando (sendmail-kompabilitet),0
postfix_lookup_table_command=Fullständig sökväg till kommando för Postfix-uppslagstabell (`postmap'),0
0707010005f290000081a40000000000000002000000013d1fe2dd000001ba000000200000000000000000000000000000001d00000003reloc/postfix/config.info.tr  postfix_control_command=Postfix kontrol komutunun tam yolu,0
postfix_config_command=Postfix yapýlandýrma komutunun tam yolu,0
postfix_config_file=Full path to Postfix config file,0
postfix_aliases_table_command=Postfix takma isim oluþturma komutunun tam yolu,0
postfix_newaliases_command=&quot;newaliases&quot; komutunun tam yolu (Sendmail uyumluluðu),0
postfix_lookup_table_command=Postfix'in komut yönetim tablosunun tam yolu (`postmap'),0
  0707010005f291000081a40000000000000002000000013d1fe2dd0000015e000000200000000000000000000000000000002000000003reloc/postfix/config.info.zh_CN   postfix_control_command=Postfix ¿ØÖÆÃüÁîµÄÈ«Â·¾¶,0
postfix_config_command=Postfix ÅäÖÃÃüÁîµÄÈ«Â·¾¶,0
postfix_config_file=Postfix ÅäÖÃÎÄ¼þµÄÈ«Â·¾¶,0
postfix_aliases_table_command=Postfix ±ðÃûÉú³ÉÃüÁîµÄÈ«Â·¾¶,0
postfix_newaliases_command=newaliases(ÓëSendmail¼æÈÝ)ÃüÁîµÄÈ«Â·¾¶,0
postfix_lookup_table_command=Postfix ²éÕÒ±íÃüÁî¹ÜÀíÆ÷ postmap µÄÈ«Â·¾¶,0
  0707010005f293000081e40000000000000002000000013d1fe2dc000005c0000000200000000000000000000000000000001800000003reloc/postfix/debug.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for controling debugging features.
#
# << Here are all options seen in Postfix sample-debug.cf >>

require './postfix-lib.pl';


$access{'debug'} || &error($text{'debug_ecannot'});
&header($text{'debug_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'debug_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_freefield("debug_peer_list", 65);
print "</tr>\n";

print "<tr>\n";
&option_freefield("debug_peer_level", 15);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
print "<font size=\"-1\"> <p>", &text('debug_version', postfix_module_version()),
      "</p></font>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

0707010005f292000081a40000000000000002000000013d1fe2dd0000018d000000200000000000000000000000000000002500000003reloc/postfix/config.info.zh_TW.Big5  postfix_control_command=¨ì Postfix ±±¨î«ü¥Oªº§¹¾ã¸ô®|,0
postfix_config_command=¨ì Postfix ²ÕºA«ü¥Oªº§¹¾ã¸ô®|,0
postfix_config_file=¨ì Postfix ²ÕºAÀÉªº§¹¾ã¸ô®|,0
postfix_aliases_table_command=¨ì Postfix §O¦W²£¥Íµ{¦¡ªº§¹¾ã¸ô®|,0
postfix_newaliases_command=¨ì &quot;newaliases&quot; (Sendmail ¬Û®e©Ê) ©R¥Oªº§¹¾ã¸ô®|,0
postfix_lookup_table_command=¨ì Postfix ¬d¸ßªí®æºÞ²z«ü¥O (`postmap') ªº§¹¾ã¸ô®|,0
   0707010005f294000081a40000000000000002000000013d1fe2dc000000b0000000200000000000000000000000000000001900000003reloc/postfix/defaultacl  startstop=1
genaliases=1

general=1
address_rewriting=1
aliases=1
local_delivery=1
resource=1
smtpd=1
smtp=1
rate=1
debug=1
canonical=1
virtual=1
transport=1
relocated=1
ldap=10707010005f295000081e40000000000000002000000013d1fe2dc000006d3000000200000000000000000000000000000001d00000003reloc/postfix/edit_alias.cgi  #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Edit an email alias

require './postfix-lib.pl';
&ReadParse();

&header($text{'edit_alias_title'}, "");

my $new_one = 0;
my $num;

if (!exists($in{'num'}))
{
    $num = &init_new_alias();
    $new_one = 1;
}
else
{
    $num = $in{'num'};
}

my $aliases = &get_aliases();
my %alias;

foreach $trans (@{$aliases})
{
    if ($trans->{'number'} == $num) { %alias = %{$trans}; }
}    

print "<form action=save_alias.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_alias_title'}</b></td></tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print "<td><b>$text{'aliases_name'}</b></td> <td nowrap>\n";
print "<input type=hidden name=\"num\" value=\"$num\">";
print "<input name=\"name\" size=40 value=\"$alias{'name'}\"> </td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td><b>$text{'aliases_value'}</b></td> <td nowrap>\n";
print "<input name=\"value\" size=40 value=\"$alias{'value'}\"> </td>\n";
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'alias_save'}\">\n";
print "<input type=submit name=delete value=\"$text{'delete_alias'}\">" if ($new_one == 0);
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});
 0707010005f296000081e40000000000000002000000013d1fe2dc000006b4000000200000000000000000000000000000002a00000003reloc/postfix/edit_canonical_mappings.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Edit a mapping

require './postfix-lib.pl';
&ReadParse();

&header($text{'edit_mapping_title'}, "");


my $num;

if (!exists($in{'num'}))
{
    $num = &init_new_mapping(&get_current_value("sender_canonical_maps"));
}
else
{
    $num = $in{'num'};
}


my $mappingsaliases = &get_aliases();
my %alias;

foreach $trans (@{$aliases})
{
    if ($trans->{'number'} == $num) { %alias = %{$trans}; }
}    

print "<form action=save_alias.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_alias_title'}</b></td></tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print "<td><b>$text{'aliases_name'}</b></td> <td nowrap>\n";
print "<input type=hidden name=\"num\" value=\"$num\">";
print "<input name=\"name\" size=40 value=\"$alias{'name'}\"> </td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td><b>$text{'aliases_value'}</b></td> <td nowrap>\n";
print "<input name=\"value\" size=40 value=\"$alias{'value'}\"> </td>\n";
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'alias_save'}\">\n";
print "<input type=submit name=delete value=\"$text{'delete_alias'}\"></form>\n";

print "<hr>\n";
print "<br>\n";

0707010005f297000081e40000000000000002000000013d1fe2dd00000716000000200000000000000000000000000000001f00000003reloc/postfix/edit_mapping.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Edit a mapping

require './postfix-lib.pl';
&ReadParse();

&header($text{'edit_map_title'}, "");

my $new_one = 0;
my $num;

if (!exists($in{'num'}))
{
    $num = &init_new_mapping($in{'map_name'});
    $new_one = 1;
}
else
{
    $num = $in{'num'};
}

my $maps = &get_maps($in{'map_name'});
my %map;

foreach $trans (@{$maps})
{
    if ($trans->{'number'} == $num) { %map = %{$trans}; }
}    

print "<form action=save_map.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_map_title'}</b></td></tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr>\n";
print "<td><b>$text{'mapping_name'}</b></td> <td nowrap>\n";
print "<input type=hidden name=\"num\" value=\"$num\">";
print "<input type=hidden name=\"map_name\" value=\"$in{'map_name'}\">";
print "<input name=\"name\" size=40 value=\"$map{'name'}\"> </td>\n";
print "</tr>\n";

print "<tr>\n";
print "<td><b>$text{'mapping_value'}</b></td> <td nowrap>\n";
print "<input name=\"value\" size=40 value=\"$map{'value'}\"> </td>\n";
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'map_save'}\">\n";
$new_one || print "<input type=submit name=delete value=\"$text{'delete_map'}\">";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010005f298000081e40000000000000002000000013d1fe2dd00001135000000200000000000000000000000000000001a00000003reloc/postfix/general.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for controlling general parameters.
#
# << Here are all options seen in Postfix sample-misc.cf >>

require './postfix-lib.pl';


$access{'general'} || &error($text{'general_ecannot'});
&header($text{'general_title'}, "", "general_opts");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts_misc.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'general_title_sensible'}</b> <font size=\"-1\">".&hlink("$text{'what_is_it'}", "general_opts")."</font></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_radios_freefield("myorigin", 30, $text{'opts_myorigin_as_myhostname'},
			                 '$mydomain', $text{'opts_myorigin_as_mydomain'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("mydestination", 60, $text{'opts_mydestination_default'},
			                      '$myhostname, localhost.$mydomain, $mydomain', $text{'opts_mydestination_domainwide'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("notify_classes", 40, $default);
print "</tr>\n";

print "</table></td></tr>\n";
print "<tr $tb><td><b>$text{'general_title_others'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_radios_freefield("relayhost", 45, $text{'opts_direct'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("always_bcc", 40, $text{'opts_always_bcc_none'});
print "</tr>\n";

print "<tr>\n";
&option_freefield("daemon_timeout", 15);
&option_freefield("default_database_type", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("default_transport", 15);
&option_freefield("double_bounce_sender", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("hash_queue_depth", 15);
&option_freefield("hash_queue_names", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("hopcount_limit", 15);
&option_radios_freefield("delay_warning_time", 15, $text{'opts_delay_warning_time_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("inet_interfaces", 40, $text{'opts_all_interfaces'});
print "</tr>\n";

print "<tr>\n";
&option_freefield("ipc_idle", 15);
&option_freefield("ipc_timeout", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("mail_name", 15);
&option_freefield("mail_owner", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("mail_version", 25);
print "</tr>\n";

print "<tr>\n";
&option_freefield("max_idle", 15);
&option_freefield("max_use", 15);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("myhostname", 40, $text{'opts_myhostname_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("mydomain", 40, $text{'opts_mydomain_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("mynetworks", 60, $text{'opts_mynetworks_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("bounce_notice_recipient", 15, $default);
&option_radios_freefield("2bounce_notice_recipient", 15, $default);
print "<tr>\n";

print "</tr>\n";
&option_radios_freefield("delay_notice_recipient", 15, $default);
&option_radios_freefield("error_notice_recipient", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("queue_directory", 45);
print "</tr>\n";

print "<tr>\n";
&option_freefield("process_id_directory", 20);
&option_freefield("recipient_delimiter", 20);
print "</tr>\n";

print "<tr>\n";
&option_freefield("program_directory", 45);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("relocated_maps", 60, $text{'opts_relocated_maps_default'});
print "</tr>\n";

print "<tr>\n";
&option_yesno("sun_mailtool_compatibility", 'help');
&option_freefield("trigger_timeout", 15);
print "</tr>\n";


print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
   0707010006072c000041ed0000000000000001000000023d1ffaf800000000000000200000000000000000000000000000001300000003reloc/postfix/help    0707010006072d000081a40000000000000002000000013d1fe2dd00000422000000200000000000000000000000000000002300000003reloc/postfix/help/aliases.ca.html    <header>Mail Aliases</header>

The aliases provide a system-wide mechanism to redirect mail for local
recipients.

<p>

The <tt>Alias to...</tt> field contains one or more of the following,
comma-separated:

<ul><li><tt>address</tt>: Mail is forwarded to <tt>address</tt>, which is compatible
with the RFC 822 standard.

<li><tt>/file/name</tt>: Mail is appended to <tt>/file/name</tt>. See
local(8) for details of delivery to file. Delivery is not limited to regular
files. For example, to dispose of unwanted mail, deflect it to
<tt>/dev/null</tt>.

<li><tt>|command</tt>: Mail is piped into <tt>command</tt>. Commands that
contain special characters, such as whitespace, should be enclosed between
double quotes. See local(8) for details of delivery to command.
When the command fails, a limited amount of command output is mailed back to
the sender.

<li><tt>:include:/file/name</tt>: Mail is sent to the destinations listed
in the named file. Lines in <tt>:include:</tt> files have the same syntax as
the right-hand side of alias entries.

</ul>

<hr>

  0707010006072e000081a40000000000000002000000013d1fe2dd000004aa000000200000000000000000000000000000002300000003reloc/postfix/help/aliases.es.html    <header>Aliases de Correo</header>

Los aliases suministran un amplio mecanismo para redirigir correo a
receptores locales.

<p>

El campo <tt>Alias a...</tt> contiene una o más de las siguientes, separadas
por coma:

<ul><li><tt>direcciones</tt>: El correo es remitido a <tt>direcciones</tt>,
lo cual es compatible con el estándar RFC 822.

<li><tt>/archivo/nombre</tt>: El correo es añadido a <tt>/archivo/nombre</tt>. Mira
en local(8) para detalles sobre la entrega a archivo. La entrega no está limitada a
archivos regulares. Por ejemplo, para quitarte correo no deseado, envíalo a
<tt>/dev/null</tt>.

<li><tt>|comando</tt>: El correo es entubado a <tt>comando</tt>. Los comandos que
cotienen caracteres especiales, como espacios en blanco, deberían de ser encerrados
entre comillas. Mira en local(8) para detalles sobre la entrega a comando.
Cuando el comando falla, una cantidad limitada de salida del comando es
enviada de vuelta al remitente.

<li><tt>:incluir:/archivo/nombre</tt>: El correo es enviado a los destinos listados
el el nombre de archivo. Las líneas en los archivos <tt>:incluir:</tt> tienen
la misma sintáxis que la parte derecha de las entradas de alias.

</ul>

<hr>

  0707010006072f000081a40000000000000002000000013d1fe2dd00000422000000200000000000000000000000000000002000000003reloc/postfix/help/aliases.html   <header>Mail Aliases</header>

The aliases provide a system-wide mechanism to redirect mail for local
recipients.

<p>

The <tt>Alias to...</tt> field contains one or more of the following,
comma-separated:

<ul><li><tt>address</tt>: Mail is forwarded to <tt>address</tt>, which is compatible
with the RFC 822 standard.

<li><tt>/file/name</tt>: Mail is appended to <tt>/file/name</tt>. See
local(8) for details of delivery to file. Delivery is not limited to regular
files. For example, to dispose of unwanted mail, deflect it to
<tt>/dev/null</tt>.

<li><tt>|command</tt>: Mail is piped into <tt>command</tt>. Commands that
contain special characters, such as whitespace, should be enclosed between
double quotes. See local(8) for details of delivery to command.
When the command fails, a limited amount of command output is mailed back to
the sender.

<li><tt>:include:/file/name</tt>: Mail is sent to the destinations listed
in the named file. Lines in <tt>:include:</tt> files have the same syntax as
the right-hand side of alias entries.

</ul>

<hr>

  07070100060730000081a40000000000000002000000013d1fe2dd000004e4000000200000000000000000000000000000002300000003reloc/postfix/help/aliases.pl.html    <header>Aliasy pocztowe</header>

Aliasy zapewniaj± ogólnosystemowy mechanizm przekierowywania poczty do
lokalnych odbiorców. <p>

Pole <tt>Alias dla...</tt> zawiera jeden lub wiêcej rozdzielonych
przecinkami spo¶ród:

<ul><li><tt>adres</tt>: Poczta jest przekierowywana na <tt>adres</tt>, który
jest zgodny ze standardem RFC 822.

<li><tt>/nazwa/pliku</tt>: Poczta jest dopisywana do <tt>/nazwa/pliku</tt>.
Zajrzyj do local(8) po szczegó³owe informacje o&nbsp;dorêczaniu do pliku.
Dorêczanie nie jest ograniczone do zwyk³ych plików. Na przyk³ad, mo¿na
rozporz±dziæ niechcian± poczt± poprzez jej przekierowanie do
<tt>/dev/null</tt>.

<li><tt>|polecenie</tt>: Poczta jest przekazywana w&nbsp;potoku do programu
<tt>polecenie</tt>. Polecenia zawieraj±ce znaki specjalne, takie jak spacje,
powinny byæ zawarte w podwójnych apostrofach. Zajrzyj do local(8) po szczegó³owe
informacje o&nbsp;dorêczaniu do polecenia. Gdy wykonanie polecenia zakoñczy
siê niepowodzeniem, ograniczona czê¶æ wyniku polecenia jest odsy³ana do
nadawcy.

<li><tt>:include:/nazwa/pliku</tt>: Poczta jest wysy³ana do miejsc
przeznaczenia wymienionych w&nbsp;podanym pliku. Linie w&nbsp;plikach
<tt>:include:</tt> maj± tak± sam± sk³adniê, jak prawa strona wpisu aliasu.

</ul>

<hr>
07070100060731000081a40000000000000002000000013d1fe2dd00000474000000200000000000000000000000000000002300000003reloc/postfix/help/aliases.sv.html    <header>E-postalias</header>

Alias ger dig möjlighet att över hela systemet skicka vidare e-post till lokala mottagare.

<p>Fältet <tt>Alias för ...</tt> innehåller en eller flera av nedanstående, separerade med komma:

<ul><li><tt>adress</tt>: E-post skickas vidare till en <tt>adress</tt> som är kompatibel
med standarden i RFC 822.

<li><tt>/fil/namn</tt>: E-postmeddelandet skrivs sist i <tt>/fil/namn</tt>. Se
local(8) för mer information om att skicka saker till filer. Skrivningen är inte begränsad
till normala filer; exempelvis kan oönskad e-post skrivas till <tt>/dev/null</tt>.

<li><tt>|command</tt>: E-postmeddelandet pipas till <tt>kommando</tt>. Kommandon som
innehåller specialtecken, som blanksteg, bör omges av dubbla citattionstecken. Se
local(8) för mer information om att skicka saker till kommandon. Om kommandot på något
sätt går fel kommer en begränsad del av utmatningen att e-postas tillbaka till avsändaren.

<li><tt>:include:/fil/namn</tt>: E-postmeddelandet skickas till de mottagare som räknas upp
i filen. Rader i <tt>:include:</tt>-filer har samma syntax som den högra sidan av en
alias-post.

</ul>

<hr>

07070100060732000081a40000000000000002000000013d1fe2dd00000a07000000200000000000000000000000000000002500000003reloc/postfix/help/canonical.ca.html  <header>Canonical Mapping</header>

The optional canonical file specifies an address mapping for local and
non-local addresses. The mapping is used by the cleanup(8) daemon. The address
mapping is recursive.

<p>

The file serves as input to the postmap(1) command. The result, an indexed file
in dbm or db format, is used for fast searching by the mail system.

<p>

The canonical mapping affects both message header addresses (i.e. addresses
that appear inside messages) and message envelope addresses (for example, the
addresses that are used in SMTP protocol commands). Think Sendmail rule set
<tt>S3</tt>, if you like.

<p>

Typically, one would use the canonical table to replace login names by
<tt>Firstname.Lastname</tt>, or to clean up addresses produced by legacy mail
systems.

<p>

The canonical mapping is not to be confused with virtual domain support. Use
the <a href=virtual>virtual domain</a> map for that purpose.

<p>

The canonical mapping is not to be confused with local aliasing. Use the
<a href=aliases>mail aliases</a> map for that purpose.

<p>

The format of the canonical mappings is as follows, mappings being tried in the
order as listed:

<ul>
<li><b><tt>user@domain</tt></b> mapped to... <b><tt>address</tt></b>:<br><tt>user@domain</tt> is
replaced by <tt>address</tt> This form has the highest precedence. This form
useful to clean up addresses produced by legacy mail systems. It can also be
used to produce <tt>Firstname.Lastname</tt> style addresses, but see below for a
simpler solution.

<li><b><tt>user</tt></b> mapped to...<b><tt>address</tt></b>:<br><tt>user@site</tt> is replaced
by address when site is equal to <tt>$myorigin</tt>, when site is listed in
<tt>$mydestination</tt>, or when it is listed in <tt>$inet_interfaces</tt>.
This form is useful for replacing login names by <tt>Firstname.Lastname</tt>.

<li><b><tt>@domain</tt></b> mapped to...<b><tt>address</tt></b>:<br>Every address in domain is
replaced by address. This form has the lowest precedence.
</ul>

In all the above forms, when address has the form <tt>@otherdomain</tt>, the result is
the same user in otherdomain.

<p>

ADDRESS EXTENSION: When table lookup fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>), and the
unmatched extension is propagated to the result of table lookup. The matching
order is: <tt>user+foo@domain</tt>, <tt>user@domain</tt>, <tt>user+foo</tt>,
<tt>user</tt>, and <tt>@domain</tt>.

<hr>
 07070100060733000081a40000000000000002000000013d1fe2dd00000b0b000000200000000000000000000000000000002500000003reloc/postfix/help/canonical.es.html  <header>Mapeo Canónigo</header>

El archivo canónigo opcional especifica un mapeo de direcciñón para direcciones
locales y no locales. El mapeo es usado por el demonio cleanup(8). El mapeo de
dirección es recursivo.

<p>

El archivo sirve como entrada del comando postmap(1). El resultado, un archivo
en formato dbm o db, es usado para búsqueda rápida por el sistema de correo.

<p>

El mapeo canónigo afecta a ambas: direcciones de cabecera de mensaje (p.ej.
direcciones que aparecen dentro de los mensajes) y direcciones de sobre de
mensaje (por ejemplo, las direcciones que son usadas en los comandos del
protocolo SMTP). Piensa en la regla S3 de Sendmail, si lo deseas.

<p>

Típicamente, uno debería usar tabla canóniga para reemplazar nombes de login
por <tt>Nombre.Apellido</tt>, o para limpiar las direcciones producidas por
sistemas de correo antiguos.

<p>

El mapeo canónigo no se confunde con soporte de dominio virtual. Usa el mapeo
virtual(5) para ese propósito.

<p>

El mapeo canónigo no ha de ser confundido con aliases locales. Usa el mapeo
de aliases(5) para eses propósito.

<p>

El formato de los mapeos canónigos es como sigue (los mapeos han sido intentados
en el orden listado):

<ul>
<li><b><tt>usuario@dominio</tt></b> mapeado a... <b><tt>dirección</tt></b>:<br><tt>usuario@dominio</tt> is
reemplazado por <tt>dirección</tt>. Este formualrio tiene la mayor precedencia.
Este formulario es útil para limpiar las direcciones producidas por sistemas de
correo antiguos. También se puede usar para producir direcciones del estilo
<tt>Nombre.Apellidos</tt>, pero mira debajo para una solución más simple.

<li><b><tt>usuario</tt></b> mapeado a...<b><tt>dirección</tt></b>:<br><tt>usuario@sitio</tt> es reemplazado
por la dirección cuando el sitio es igual a <tt>$myorigin</tt>, cuando el sitio está listado en
<tt>$mydestination</tt>, o cuando está listado en <tt>$inet_interfaces</tt>.
Este formulario es útil para reemplazar nombres de login por <tt>Nombre.Apellidos</tt>.

<li><b><tt>@dominio</tt></b> mapeado a...<b><tt>dirección</tt></b>:<br>Cada dirección en el dominio es
reemplazada por la dirección. Este formulario tiene la precedencia menor.
</ul>

En todos los formularios superiores, cuando la dirección tiene la forma <tt>@otrodominio</tt>,
el resultado es el mismo usuario en otrodominio.

<p>

EXTENSIÓN DE DIRECCIÓN: Cuando la búsqueda en tabla falla y la parte local de la
dirección contiene el delimitador opcional de destinatario (p.ej. <tt>usuario+foo@dominio</tt>),
la búsqueda es tepetida para dirección inesperada (p.ej. <tt>usuario@dominio</tt>), y la
extensión que no coincide es propagada al resultado de la búsqueda en tabla. El orden de
coincidencia es: <tt>usuario+foo@dominio</tt>, <tt>usuario@dominio</tt>, <tt>usuario+foo</tt>,
<tt>usuario</tt>, y <tt>@dominio</tt>.

<hr>
 07070100060734000081a40000000000000002000000013d1fe2dd00000a07000000200000000000000000000000000000002200000003reloc/postfix/help/canonical.html <header>Canonical Mapping</header>

The optional canonical file specifies an address mapping for local and
non-local addresses. The mapping is used by the cleanup(8) daemon. The address
mapping is recursive.

<p>

The file serves as input to the postmap(1) command. The result, an indexed file
in dbm or db format, is used for fast searching by the mail system.

<p>

The canonical mapping affects both message header addresses (i.e. addresses
that appear inside messages) and message envelope addresses (for example, the
addresses that are used in SMTP protocol commands). Think Sendmail rule set
<tt>S3</tt>, if you like.

<p>

Typically, one would use the canonical table to replace login names by
<tt>Firstname.Lastname</tt>, or to clean up addresses produced by legacy mail
systems.

<p>

The canonical mapping is not to be confused with virtual domain support. Use
the <a href=virtual>virtual domain</a> map for that purpose.

<p>

The canonical mapping is not to be confused with local aliasing. Use the
<a href=aliases>mail aliases</a> map for that purpose.

<p>

The format of the canonical mappings is as follows, mappings being tried in the
order as listed:

<ul>
<li><b><tt>user@domain</tt></b> mapped to... <b><tt>address</tt></b>:<br><tt>user@domain</tt> is
replaced by <tt>address</tt> This form has the highest precedence. This form
useful to clean up addresses produced by legacy mail systems. It can also be
used to produce <tt>Firstname.Lastname</tt> style addresses, but see below for a
simpler solution.

<li><b><tt>user</tt></b> mapped to...<b><tt>address</tt></b>:<br><tt>user@site</tt> is replaced
by address when site is equal to <tt>$myorigin</tt>, when site is listed in
<tt>$mydestination</tt>, or when it is listed in <tt>$inet_interfaces</tt>.
This form is useful for replacing login names by <tt>Firstname.Lastname</tt>.

<li><b><tt>@domain</tt></b> mapped to...<b><tt>address</tt></b>:<br>Every address in domain is
replaced by address. This form has the lowest precedence.
</ul>

In all the above forms, when address has the form <tt>@otherdomain</tt>, the result is
the same user in otherdomain.

<p>

ADDRESS EXTENSION: When table lookup fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>), and the
unmatched extension is propagated to the result of table lookup. The matching
order is: <tt>user+foo@domain</tt>, <tt>user@domain</tt>, <tt>user+foo</tt>,
<tt>user</tt>, and <tt>@domain</tt>.

<hr>
 07070100060735000081a40000000000000002000000013d1fe2dd00000c13000000200000000000000000000000000000002500000003reloc/postfix/help/canonical.pl.html  <header>Podstawianie kanoniczne</header>

Fakultatywny plik podstawieñ kanonicznych okre¶la podstawianie lokalnych
i&nbsp;zdalnych adresów. Podstawianie jest wykorzystywane przez demona
cleanup(8). Podstawianie adresów jest rekurencyjne. <p>

Plik s³u¿y jako dane wej¶ciowe dla polecenia postmap(1). Jego wynik,
w&nbsp;postaci pliku indeksowego w&nbsp;formacie dbm lub db, jest
wykorzystywany do szybkiego przeszukiwania przez system poczty. <p>

Podstawianie kanoniczne dotyczy zarówno adresów w&nbsp;nag³ówkach wiadomo¶ci
(tzn. adresów pojawiaj±cych siê w&nbsp;wiadomo¶ci), jak te¿ adresów na
"kopercie" wiadomo¶ci (np. adresów u¿ywanych w&nbsp;poleceniach protoko³u
SMTP). Traktuj to jak zestaw regu³ <tt>S3</tt> Sendmaila, je¶li chcesz. <p>

Standardowo, mo¿na by u¿ywaæ tabeli kanonicznej do zast±pienia nazw
logowania przez <tt>Imie.Nazwisko</tt> lub do porz±dkowania adresów
odziedziczonych po poprzednich systemach poczty. <p>

Podstawianie kanoniczne nie s³u¿y do tego by w&nbsp;nim wprowadzaæ
zamieszanie z&nbsp;obs³ug± domen wirtualnych. U¿ywaj w&nbsp;tym celu
podstawiania <a href=virtual>domen wirtualnych</a>. <p>

Podstawianie kanoniczne nie s³u¿y do tego by w&nbsp;nim wprowadzaæ
zamieszanie z&nbsp;lokalnymi aliasami. U¿ywaj w&nbsp;tym celu podstawiania
<a href=aliases>aliasów pocztowych</a>. <p>

Format podstawieñ kanonicznych jest nastêpuj±cy (podstawienia s± wykonywane
w&nbsp;poni¿szej kolejno¶ci):

<ul>

<li><b><tt>uzytkownik@domena</tt></b> podstawiany... <b><tt>adres</tt></b>: <br>
<tt>u¿ytkownik@domena</tt> jest zastêpowany przez <tt>adres</tt>. Ta postaæ
ma najwy¿szy priorytet. Jest ona przydatna do porz±dkowania adresów
odziedziczonych po poprzednich systemach poczty. Mo¿na j± równie¿
wykorzystaæ do otrzymania adresów postaci <tt>Imie.Nazwisko</tt>, lecz ni¿ej
opisano prostsze rozwi±zanie.

<li><b><tt>uzytkownik</tt></b> podstawiany... <b><tt>adres</tt></b>: <br>
<tt>u¿ytkownik@miejsce</tt> jest zastêpowany przez <tt>adres</tt> gdy
<tt>miejsce</tt> jest to¿same z&nbsp;<tt>$myorigin</tt>, gdy jest wymienione
w¶ród <tt>$mydestination</tt>, lub gdy jest wymienione w¶ród
<tt>$inet_interfaces</tt>. Ta postaæ jest przydatna do zastêpowania nazw
logowania przez <tt>Imie.Nazwisko</tt>.

<li><b><tt>@domena</tt></b> podstawiany... <b><tt>adres</tt></b>: <br>
Dowolny adres w&nbsp;<tt>domena</tt> jest zastêpowany przez <tt>adres</tt>.
Ta postaæ ma najni¿szy priorytet. </ul>

We wszystkich powy¿szych przypadkach, gdy adres ma postaæ
<tt>@innadomena</tt>, wynikiem jest ten sam u¿ytkownik
w&nbsp;<tt>innadomena</tt>. <p>

ROZSZERZENIA ADRESÓW: Gdy przeszukiwanie tabeli zakoñczy siê niepowodzeniem
a&nbsp;lokalna czê¶æ adresu zawiera fakultatywny ogranicznik odbiorcy (np.
<tt>uzytkownik+cos@domena</tt>), przeszukiwanie jest powtarzane dla
nierozszerzonego adresu (np. <tt>uzytkownik@domena</tt>) i&nbsp;niepasuj±ce
rozszerzenie jest przenoszone na wynik przeszukiwania tebeli. Kolejno¶æ
dopasowywania jest nastêpuj±ca: <tt>uzytkownik+cos@domena</tt>,
<tt>uzytkownik@domena</tt>, <tt>uzytkownik+cos</tt>, <tt>uzytkownik</tt>
oraz <tt>@domena</tt>.

<hr>
 07070100060736000081a40000000000000002000000013d1fe2dd00000abd000000200000000000000000000000000000002500000003reloc/postfix/help/canonical.sv.html  <header>Kanonisk översättning</header>

Den valbara kanoniska filen anger en adressöversättning för lokala och icke-lokala
adresser. Denna översättning används av demonen cleanup(8). Adressöversättningen
är rekursiv.

<p>Filen utgör indata till kommandot postmap(1). Resultatet från kommandokörningen,
en indexerad fil i dbm- eller db-format, används av e-postsystemet för snabbsökning.

<p>Den kanoniska översättningen påverkar adresser både i meddelandehuvudet (dvs adresser
som syns i meddelandet) och på omslaget (till exempel adresser som används i SMTP-kommandon).
Sendmails regeluppsättning <tt>S3</tt> är en bra jämförelse.

<p>Vanligtvis vill man använda den kanoniska tabellen för att byta ut användarnamn mot
<tt>Förnamn.Efternamn</tt> eller för att städa bort adresser som skapats av äldre e-postservrar.

<p>Kanonisk översättning ska inte blandas ihop med stöd för virtuella domäner. ANvänd
<a href=virtual>virtuella domäner</a> för detta ändamål.

<p>Kanonisk översättning ska inte heller blandas ihop med lokala alias.
Använd <a href=alaises>e-postalias</a> för detta ändamål.

<p>Formatet för kanoniska översättningar visas nedan. Postfix försöker översätta i nedanstående
ordning:

<ul>
<li><b><tt>användare@domän</tt></b> översätts till ... <b><tt>adress</tt></b>:
<br><tt>användare@domän</tt> byts ut mot <tt>adress</tt>. Denna form har högst prioritet
och är främst användbar för att städa undan adresser som skapats av äldre e-postservrar.
Den kan också användas för att skapa adresser på formen <tt>Förnamn.Efternamn</tt>, men
för det finns en enklare lösning längre ner.

<li><b><tt>användare</tt></b> översätts till ...<b><tt>adress</tt></b>:
<br><tt>användare@site</tt> byts ut mot <tt>adress</tt> då <tt>site</tt> har samma
värde som <tt>$myorigin</tt>, finns uppräknad i <tt>$mydestination</tt> eller 
finns uppräknad i <tt>$inet_interfaces</tt>.
Denna form är användbar för att byta ut användarnamn mot <tt>Förnamn.Efternamn</tt>.

<li><b><tt>@domän</tt></b> översätts till ...<b><tt>adress</tt></b>:<br>Varje adress inom
<tt>domän</tt> byts ut mot <tt>adress</tt>. Denna form har lägst prioritet.
</ul>

För alla ovanstående former gäller att då adressen har formen <tt>@annandomän</tt> blir resultatet
samma användare i annandomän.

<p>ADRESSEXPANSION: Om adressen inte går att slå upp i tabellen och adressens lokala del
innehåller en mottagarbegränsare (exempelvis <tt>användare+foo@domän</tt>), kommer sökningen
att upprepas för den icke expanderade adressen (exempelvis <tt>användare@domän</tt>) och den
omatchade ändelsen bifogas resultatet av tabelluppslagningen. Matchningsordningen är
<tt>användare+foo@domän</tt>, <tt>användare@domän</tt>, <tt>användare+foo</tt>,
<tt>användare</tt> och <tt>@domän</tt>.

<hr>
   07070100060737000081a40000000000000002000000013d1fe2dd00000170000000200000000000000000000000000000002800000003reloc/postfix/help/general_opts.ca.html   <header>Postfix General Options</header>

Postfix has about 100 configuration parameters that are controlled through
configuration files. Fortunately, they have sensible default values.

<p>

In most cases, you need to configure only the three parameters presented here
in <b>Most Useful General options</b> before you can actually use the Postfix mail
system.


<hr>
07070100060738000081a40000000000000002000000013d1fe2dd000001b1000000200000000000000000000000000000002800000003reloc/postfix/help/general_opts.es.html   <header>Opciones Generales de Postfix</header>

Postfix tiene cerca de 100 parámetros de configuración que son controlados
a través de archivos de configuración. Afortunádamente, tienen sensibles
valores por defecto.

<p>

En la mayoría de los casos, necesitas configurar sólo los tres parámetros
presentados aquí en <b>Opciones Generales de Mayor Uso</b> antes de que
puedas actuálmente usar el sistema de correo de Postfix.


<hr>
   07070100060739000081a40000000000000002000000013d1fe2dd00000170000000200000000000000000000000000000002500000003reloc/postfix/help/general_opts.html  <header>Postfix General Options</header>

Postfix has about 100 configuration parameters that are controlled through
configuration files. Fortunately, they have sensible default values.

<p>

In most cases, you need to configure only the three parameters presented here
in <b>Most Useful General options</b> before you can actually use the Postfix mail
system.


<hr>
0707010006073a000081a40000000000000002000000013d1fe2dd000001a1000000200000000000000000000000000000002800000003reloc/postfix/help/general_opts.pl.html   <header>Ogólne opcje Postfiksa</header>

Postfix posiada oko³o 100 konfigurowalnych patrametrów, które mo¿na zmieniaæ
w&nbsp;plikach konfiguracyjnych. Na szczê¶cie posiadaj± one sensowne warto¶ci
domy¶lne. <p>

W&nbsp;wiêkszo¶ci przypadków, aby mieæ rzeczywist± mo¿liwo¶æ korzystania
z&nbsp;systemu poczty Postfiksa, trzeba zmieniæ jedynie trzy podane tu jako
<b>Najczê¶ciej u¿ywane opcje ogólne</b> parametry.

<hr>
   0707010006073b000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000002800000003reloc/postfix/help/general_opts.sv.html   <header>Allmänna inställningar för Postfix</header>

Postfix har omkring 100 konfigurationsparametrar som styrs via konfigurationsfiler.
Som tur är har de vettiga standardvärden.

<p>För det mesta behöver man bara konfigurera de tre parametrar som visas här i
<b>Mest användbara allmänna inställningar</b> innan man kan använda e-postsystemet Postfix.

<hr>
  0707010006073c000081a40000000000000002000000013d1fe2dd000001fc000000200000000000000000000000000000002100000003reloc/postfix/help/intro.ca.html  <header>Postfix</header>

<b>Postfix</b> is <a href="http://www.porcupine.org/wietse/">Wietse
Venema</a>'s attempt to provide an alternative to the widely-used
<b>Sendmail</b> program. Sendmail is responsible for most of the e-mail
delivered on the Internet. With an estimated 100 million users, that's billions
of messages daily. A stunning number.

<p>

Postfix attempts to be fast, easy to administer, and secure, while at
the same time being sendmail compatible enough to not upset existing users.

<hr>
0707010006073d000081a40000000000000002000000013d1fe2dd00000258000000200000000000000000000000000000002100000003reloc/postfix/help/intro.es.html  <header>Postfix</header>

<b>Postfix</b> es un intento de <a href="http://www.porcupine.org/wietse/">Wietse
Venema</a> para suministrar una alternativa al ámpliamente usado programa de
<b>Sendmail</b>. Sendmail es responsable de la mayoría del correo electónico
entregado en Internet. Con un número estimado de 100 millones de usuarios, eso
supone billones de mensajes diarios. Un número reálmente apabullante.

<p>

Postfix intenta ser rápido, fácil de administrar y seguro mientras que, a la vez,
ser compatible con sendmail lo suficiente como para no fastidiar a los usuarios
ya existentes.

<hr>
0707010006073e000081a40000000000000002000000013d1fe2dd000001fc000000200000000000000000000000000000001e00000003reloc/postfix/help/intro.html <header>Postfix</header>

<b>Postfix</b> is <a href="http://www.porcupine.org/wietse/">Wietse
Venema</a>'s attempt to provide an alternative to the widely-used
<b>Sendmail</b> program. Sendmail is responsible for most of the e-mail
delivered on the Internet. With an estimated 100 million users, that's billions
of messages daily. A stunning number.

<p>

Postfix attempts to be fast, easy to administer, and secure, while at
the same time being sendmail compatible enough to not upset existing users.

<hr>
0707010006073f000081a40000000000000002000000013d1fe2dd0000023b000000200000000000000000000000000000002100000003reloc/postfix/help/intro.pl.html  <header>Postfix</header>

<b>Postfix</b> jest prób± <a href="http://www.porcupine.org/wietse/">Wietse'a
Venemy</a> udostêpnienia alternatywy dla powszechnie u¿ywanego programu
<b>Sendmail</b>. Sendmail jest odpowiedzialny za wiêkszo¶æ dorêczanej w&nbsp;Interneci
poczty elektronicznej. Przy oko³o 100 milionach u¿ytkowników s± to miliardy
wiadomo¶ci dziennie. Osza³amiaj±ca liczba. <p>

Postfix próbuje byæ szybki, ³atwy w&nbsp;administrowaniu i&nbsp;bezpieczny,
jednocze¶nie bêd±c dostatecznie zgodnym z&nbsp;Sendmailem, by nie niepokoiæ
istniej±cych u¿ytkowników.
<hr>
 07070100060740000081a40000000000000002000000013d1fe2dd00000239000000200000000000000000000000000000002100000003reloc/postfix/help/intro.sv.html  <header>Postfix</header>

<b>Postfix</b> är <a href="http://www.porcupine.org/wietse/">Wietse
Venemas</a> försök att tillhandahålla ett alternativ till det vitt spridda programmet
<b>sendmail</b>. Sendmail hanterar idag större delen av den e-post som skickas över Internet.
Om man uppskattar antalet användare till 100 miljoner betyder det miljarder e-postmeddelanden
varje dag - ett imponerande tal.

<p>Postfix försöker vara snabbt, lättadministrerad och säkert, samtidigt som det är
tillräckligt sendmail-kompatibelt för att inte uppröra befintliga användare.

<hr>
   07070100060741000081a40000000000000002000000013d1fe2dd000000f4000000200000000000000000000000000000003800000003reloc/postfix/help/opt_2bounce_notice_recipient.ca.html   <header>Send postmaster notice on 2bounce to...</header>

<center><tt>2bounce_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
07070100060742000081a40000000000000002000000013d1fe2dd00000128000000200000000000000000000000000000003800000003reloc/postfix/help/opt_2bounce_notice_recipient.es.html   <header>Enviar notica a jefe de estafeta en 2bounce a...</header>

<center><tt>2bounce_notice_recipient</tt></center>
<hr>

Especifica quién recibe noticias de jefe de estafeta de correo si las
condiciones de error de la parte de arriba ocurren.

<p>

Por defecto a &quot;postmaster&quot;.

<hr>
07070100060743000081a40000000000000002000000013d1fe2dd000000f4000000200000000000000000000000000000003500000003reloc/postfix/help/opt_2bounce_notice_recipient.html  <header>Send postmaster notice on 2bounce to...</header>

<center><tt>2bounce_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
07070100060744000081a40000000000000002000000013d1fe2dd00000130000000200000000000000000000000000000003800000003reloc/postfix/help/opt_2bounce_notice_recipient.pl.html   <header>Wysy³aæ powiadomienia od postmastera o&nbsp;2-gim odrzuceniu do...</header>

<center><tt>2bounce_notice_recipient</tt></center>
<hr>

Okre¶la, kto bêdzie otrzymywaæ powiadomienia od postmastera, gdy zostanie
stwierdzona powy¿sza sytuacja b³êdna. <p>

Domy¶lnie do &quot;postmaster&quot;-a.

<hr>
07070100060745000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003800000003reloc/postfix/help/opt_2bounce_notice_recipient.sv.html   <header>Skicka meddelande om dubbelstuds till ...</header>

<center><tt>2bounce_notice_recipient</tt></center>
<hr>

Ange vem som ska få postmaster-meddelande om ovanstående fel uppträder.

<p>Standard är &quot;postmaster&quot;.

<hr>
 07070100060746000081a40000000000000002000000013d1fe2dd00000134000000200000000000000000000000000000003600000003reloc/postfix/help/opt_access_map_reject_code.ca.html <header>SMTP server response on access map violation</header>

<center><tt>access_map_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates
an access map restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060747000081a40000000000000002000000013d1fe2dd00000144000000200000000000000000000000000000003600000003reloc/postfix/help/opt_access_map_reject_code.es.html <header>Servidor SMTP responde a violación de mapa de acceso</header>

<center><tt>access_map_reject_code</tt></center>
<hr>

Este parámetro especifica si el servidor SMTP responde cuando un cliente
viola la restricción de mapa de acceso.

<p>

No cambies esto a menos que tengas un completo conocimiento de RFC 822.


<hr>
07070100060748000081a40000000000000002000000013d1fe2dd00000134000000200000000000000000000000000000003300000003reloc/postfix/help/opt_access_map_reject_code.html    <header>SMTP server response on access map violation</header>

<center><tt>access_map_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates
an access map restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060749000081a40000000000000002000000013d1fe2dd00000121000000200000000000000000000000000000003600000003reloc/postfix/help/opt_access_map_reject_code.pl.html <header>Odpowied¼ serwera SMTP przy zabronionym dostêpie</header>

<center><tt>access_map_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP gdy klient narusza
ograniczenie dostêpu. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
   0707010006074c000081a40000000000000002000000013d1fe2dd00000116000000200000000000000000000000000000003600000003reloc/postfix/help/opt_access_map_reject_code.sv.html <header>SMTP-serveråtgärd vid intrångsförsök</header>

<center><tt>access_map_reject_code</tt></center>
<hr>

Denna parameter anger SMTP-serverns svarskod då en klient bryter mot en åtkomstbegränsning.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
  0707010006074d000081a40000000000000002000000013d1fe2dd0000025b000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_alias_database.ca.html <header>Alias databases built by Postfix</header>

<center><tt>alias_database</tt></center>
<hr>

This parameter specifies the alias database(s) that are built with
&quot;newaliases&quot; or &quot;sendmail -bi&quot;. This is a separate
configuration parameter, because
<a href=opt_alias_maps><tt>alias_maps</tt></a> may specify tables that
are not necessarily all under control by Postfix.

<p>

Typical configurations are:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>dbm:/etc/mail/aliases</tt>
<li> <tt>hash:/etc/aliases</tt>
<li> <tt>hash:/etc/aliases, hash:/opt/majordomo/aliases</tt>
</ul>

<hr>

 0707010006074e000081a40000000000000002000000013d1fe2dd00000287000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_alias_database.es.html <header>Base de datos de alias construídas por Postfix</header>

<center><tt>alias_database</tt></center>
<hr>

Este parámetro especifica la base de datos de alias que son construídas con
&quot;newaliases&quot; o &quot;sendmail -bi&quot;. Este es un parámetro a
parte de la configuración debido a que
<a href=opt_alias_maps><tt>alias_maps</tt></a> puede especificar tablas que
no están necesáriamente bajo el control de Postfix.

<p>

Las típicas configuraciones son:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>dbm:/etc/mail/aliases</tt>
<li> <tt>hash:/etc/aliases</tt>
<li> <tt>hash:/etc/aliases, hash:/opt/majordomo/aliases</tt>
</ul>

<hr>

 0707010006074f000081a40000000000000002000000013d1fe2dd0000025b000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_alias_database.html    <header>Alias databases built by Postfix</header>

<center><tt>alias_database</tt></center>
<hr>

This parameter specifies the alias database(s) that are built with
&quot;newaliases&quot; or &quot;sendmail -bi&quot;. This is a separate
configuration parameter, because
<a href=opt_alias_maps><tt>alias_maps</tt></a> may specify tables that
are not necessarily all under control by Postfix.

<p>

Typical configurations are:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>dbm:/etc/mail/aliases</tt>
<li> <tt>hash:/etc/aliases</tt>
<li> <tt>hash:/etc/aliases, hash:/opt/majordomo/aliases</tt>
</ul>

<hr>

 07070100060750000081a40000000000000002000000013d1fe2dd00000256000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_alias_database.pl.html <header>Bazy aliasów tworzone przez Postfiksa</header>

<center><tt>alias_database</tt></center>
<hr>

Ten parametr okre¶la bazy aliasów tworzone poleceniem &quot;newaliases&quot;
lub &quot;sendmail -bi&quot;. Jest to osobny parametr konfiguracyjny, gdzy¿
niekoniecznie wszystkie tabele okre¶lone przez <a href=opt_alias_maps>
<tt>alias_maps</tt></a> musz± byæ kontrolowane przez Postfiksa. <p>

Typowe konfiguracje to:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>dbm:/etc/mail/aliases</tt>
<li> <tt>hash:/etc/aliases</tt>
<li> <tt>hash:/etc/aliases, hash:/opt/majordomo/aliases</tt>
</ul>

<hr>
  07070100060751000081a40000000000000002000000013d1fe2dd00000252000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_alias_database.sv.html <header>Alias-databas byggd av Postfix</header>

<center><tt>alias_database</tt></center>
<hr>

Denna parameter anger databasen/databaserna som byggts upp med
&quot;newaliases&quot; eller &quot;sendmail -bi&quot;. Det är en egen
konfigurationsparameter eftersom
<a href=opt_alias_maps><tt>alias_maps</tt></a> kan göra tabeller som
kanske inte fullständigt kan kontrolleras av Postfix.

<p>Typiska inställningar är:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>dbm:/etc/mail/aliases</tt>
<li> <tt>hash:/etc/aliases</tt>
<li> <tt>hash:/etc/aliases, hash:/opt/majordomo/aliases</tt>
</ul>

<hr>

  07070100060752000081a40000000000000002000000013d1fe2dd00000233000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_alias_maps.ca.html <header>Alias databases used by the local delivery agent </header>

<center><tt>alias_maps</tt></center>
<hr>

This parameter specifies the list of alias databases used by the local delivery
agent. The default list is system dependent. On systems with NIS, the default
is to search the local alias database, then the NIS alias database. See
<a href=aliases>aliases</a> for syntax details.

<p>

Typical configurations are:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>hash:/etc/postfix/aliases</tt>
<li> <tt>hash:/etc/aliases, nis:mail.aliases</tt>
</ul>

<hr>

 07070100060753000081a40000000000000002000000013d1fe2dd00000259000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_alias_maps.es.html <header>Bases de datos de alias usadas por agente de entrega local</header>

<center><tt>alias_maps</tt></center>
<hr>

Este parámetro especifica la lista de bases de datos de alias usadas por el
agente de entrega local. La lista por defecto depende del sistema. En sistemas
con NIS, por defecto se busca la base de datos local de alias y luego la
base de datos de NIS. Mira en aliases(5) para detalles sobre la sintáxis.

<p>

Las típicas configuraciones son:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>hash:/etc/postfix/aliases</tt>
<li> <tt>hash:/etc/aliases, nis:mail.aliases</tt>
</ul>

<hr>

   07070100060756000081a40000000000000002000000013d1fe2dd00000233000000200000000000000000000000000000002700000003reloc/postfix/help/opt_alias_maps.html    <header>Alias databases used by the local delivery agent </header>

<center><tt>alias_maps</tt></center>
<hr>

This parameter specifies the list of alias databases used by the local delivery
agent. The default list is system dependent. On systems with NIS, the default
is to search the local alias database, then the NIS alias database. See
<a href=aliases>aliases</a> for syntax details.

<p>

Typical configurations are:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>hash:/etc/postfix/aliases</tt>
<li> <tt>hash:/etc/aliases, nis:mail.aliases</tt>
</ul>

<hr>

 07070100060757000081a40000000000000002000000013d1fe2dd00000269000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_alias_maps.pl.html <header>Bazy aliasów wykorzystywane przez lokalny program dorêczaj±cy</header>

<center><tt>alias_maps</tt></center>
<hr>

Ten parametr okre¶la listê baz aliasów wykorzystywanych przez lokalny
program dorêczaj±cy. Domy¶lna lista zale¿y od systemu. W&nbsp;systemach
z&nbsp;obs³ug± NIS domy¶lne jest przeszukiwanie najpierw lokalnej bazy
aliasów, a nastêpnie bazy aliasów z&nbsp;NIS. Szczegó³y sk³adni znajdziesz
w&nbsp;<a href=aliases>aliasach</a>. <p>

Typowe konfiguracje to:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>hash:/etc/postfix/aliases</tt>
<li> <tt>hash:/etc/aliases, nis:mail.aliases</tt>
</ul>

<hr>

   07070100060758000081a40000000000000002000000013d1fe2dd0000024d000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_alias_maps.sv.html <header>Alias-databaser som används av den lokala e-posthanteraren</header>

<center><tt>alias_maps</tt></center>
<hr>

Denna parameter anger en lista över de alias-databaser som den lokala e-posthanteraren
använder. Standardlistan är systemberoende. System som använder NIS har som standard att
söka igenom den lokala alias-databasen, sedan NIS-alias-databasen. Se <a href=aliases>alias</a>
för information om syntax.

<p>Typiska inställningar är:

<ul>
<li> <tt>dbm:/etc/aliases</tt>
<li> <tt>hash:/etc/postfix/aliases</tt>
<li> <tt>hash:/etc/aliases, nis:mail.aliases</tt>
</ul>

<hr>

   0707010006075c000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000003600000003reloc/postfix/help/opt_allow_mail_to_commands.ca.html <header>Valid mail delivery to external commands</header>

<center><tt>allow_mail_to_commands</tt></center>
<hr>

This parameter restricts mail delivery to external commands. The default is to
disallow delivery to <tt>"|command"</tt> in <tt>:include:</tt> files.

<hr>
   07070100060852000081a40000000000000002000000013d1fe2dd00000123000000200000000000000000000000000000003600000003reloc/postfix/help/opt_allow_mail_to_commands.es.html <header>Entrega de correo válida a comandos externos</header>

<center><tt>allow_mail_to_commands</tt></center>
<hr>

Este parámetro restringe la entrega de correo a comandos externos. El valor
por defecto es no permitir la entrega a <tt>"|comando"</tt> en archivos<tt>:include:</tt>.

<hr>
 07070100060853000081a40000000000000002000000013d1fe2dd0000010d000000200000000000000000000000000000003300000003reloc/postfix/help/opt_allow_mail_to_commands.html    <header>Valid mail delivery to external commands</header>

<center><tt>allow_mail_to_commands</tt></center>
<hr>

This parameter restricts mail delivery to external commands. The default is to
disallow delivery to <tt>"|command"</tt> in <tt>:include:</tt> files.

<hr>
   07070100060855000081a40000000000000002000000013d1fe2dd0000013f000000200000000000000000000000000000003600000003reloc/postfix/help/opt_allow_mail_to_commands.pl.html <header>Dopuszczalne przekierowywanie do zewnêtrznych programów</header>

<center><tt>allow_mail_to_commands</tt></center>
<hr>

Ten parametr ogranicza przekierowywanie poczty do zewnêtrznych programów.
Ustawieniem domy¶lnym jest zabronienie dorêczania do <tt>"|polecenie"</tt>
w&nbsp;plikach <tt>:include:</tt>.

<hr>
 07070100060857000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000003600000003reloc/postfix/help/opt_allow_mail_to_commands.sv.html <header>Godkänd e-postleverans till externa kommandon</header>

<center><tt>allow_mail_to_commands</tt></center>
<hr>

Denna parameter begränsar e-postleveranser till externa kommandon. Standardinställningen
är att spärra leverans till <tt>"|command"</tt> i <tt>:include:</tt>-filer.

<hr>
  07070100060858000081a40000000000000002000000013d1fe2dd00000103000000200000000000000000000000000000003300000003reloc/postfix/help/opt_allow_mail_to_files.ca.html    <header>Valid mail delivery to external files</header>

<center><tt>allow_mail_to_files</tt></center>
<hr>

This parameter restricts mail delivery to external file. The default is to
disallow delivery to <tt>/file/name</tt> in <tt>:include:</tt> files.

<hr>
 07070100060859000081a40000000000000002000000013d1fe2dd00000126000000200000000000000000000000000000003300000003reloc/postfix/help/opt_allow_mail_to_files.es.html    <header>Entrega de correo válida a archivos externos</header>

<center><tt>allow_mail_to_files</tt></center>
<hr>

Este parámetro restringe la entrega de correo a archivos externos. El valor
por defecto es no permitir la entrega a <tt>/archivo/nombre</tt> en archivos <tt>:include:</tt>.

<hr>
  0707010006087b000081a40000000000000002000000013d1fe2dd00000103000000200000000000000000000000000000003000000003reloc/postfix/help/opt_allow_mail_to_files.html   <header>Valid mail delivery to external files</header>

<center><tt>allow_mail_to_files</tt></center>
<hr>

This parameter restricts mail delivery to external file. The default is to
disallow delivery to <tt>/file/name</tt> in <tt>:include:</tt> files.

<hr>
 0707010006087c000081a40000000000000002000000013d1fe2dd00000136000000200000000000000000000000000000003300000003reloc/postfix/help/opt_allow_mail_to_files.pl.html    <header>Dopuszczalne przekierowywanie do zewnêtrznych plików</header>

<center><tt>allow_mail_to_files</tt></center>
<hr>

Ten parametr ogranicza przekierowywanie poczty do zewnêtrznego pliku. 
Ustawieniem domy¶lnym jest zabronienie dorêczania do <tt>/nazwa/pliku</tt>
w&nbsp;plikach <tt>:include:</tt>.

<hr>
  0707010006087d000081a40000000000000002000000013d1fe2dd00000118000000200000000000000000000000000000003300000003reloc/postfix/help/opt_allow_mail_to_files.sv.html    <header>Godkänd e-postleverans till externa filer</header>

<center><tt>allow_mail_to_files</tt></center>
<hr>

Denna parameter begränsar e-postleveranser till externa filer. Standardinställningen
är att spärra leveranser till <tt>/fil/namn</tt> i <tt>:include:</tt>-filer.

<hr>
0707010006087e000081a40000000000000002000000013d1fe2dd00000241000000200000000000000000000000000000003700000003reloc/postfix/help/opt_allow_untrusted_routing.ca.html    <header>Allow untrusted routing</header>

<center><tt>allow_untrusted_routing</tt></center>
<hr>

This parameter controls if Postfix will forward mail with sender-specified
routing (user[@%!]remote[@%!]site) from untrusted clients to destinations that
are blessed by the <a href=opt_relay_domains><tt>relay_domains</tt></a>
parameter.

<p>

By default, untrusted clients are not allowed to specify routing.
This closes a nasty open relay loophole where a backup MX host can
be tricked into forwarding junk mail to a primary MX host which
then spams it out to the world.


<hr>
   0707010006087f000081a40000000000000002000000013d1fe2dd000002b6000000200000000000000000000000000000003700000003reloc/postfix/help/opt_allow_untrusted_routing.es.html    <header>Permitir enrutamiento no fiable</header>

<center><tt>allow_untrusted_routing</tt></center>
<hr>

Este parámetro controla si Postfix remitirá correo con enrutamiento específico
de remitente (usuario[@%!]remoto[@%!]sitio) desde cliente no fiables hacia destinos
que contienen el parámetro <a href=opt_relay_domains><tt>relay_domains (dominios de
retransmisión)</tt></a>.

<p>

Por defecto, los clientes no fiables no está autorizados a especificar
enrutamiento. Esto cierra un fastidioso agujero de bucle de retransmisión
abierta dondde una máquina de respaldo MX puede ser llevada a retransmitir
correo basura a la máquina primaria MX, la cual luego lo envía al resto del
mundo.


<hr>
  07070100060880000081a40000000000000002000000013d1fe2dd00000241000000200000000000000000000000000000003400000003reloc/postfix/help/opt_allow_untrusted_routing.html   <header>Allow untrusted routing</header>

<center><tt>allow_untrusted_routing</tt></center>
<hr>

This parameter controls if Postfix will forward mail with sender-specified
routing (user[@%!]remote[@%!]site) from untrusted clients to destinations that
are blessed by the <a href=opt_relay_domains><tt>relay_domains</tt></a>
parameter.

<p>

By default, untrusted clients are not allowed to specify routing.
This closes a nasty open relay loophole where a backup MX host can
be tricked into forwarding junk mail to a primary MX host which
then spams it out to the world.


<hr>
   07070100060881000081a40000000000000002000000013d1fe2dd00000280000000200000000000000000000000000000003700000003reloc/postfix/help/opt_allow_untrusted_routing.pl.html    <header>Zezwoliæ na niewiarygodny routing</header>

<center><tt>allow_untrusted_routing</tt></center>
<hr>

Ten parametr okre¶la, czy Postfix bêdzie kierowa³ pocztê od niewiarygodnych
klientów do miejsc przeznaczenia b³ogos³awionych przez parametr
<a href=opt_relay_domains><tt>relay_domains</tt></a> drog± okre¶lon± przez nadawcê
(uzytkownik[@%!]zdalne[@%!]miejsce). <p>

Domy¶lnie, niewiarygodnym klientom nie wolno okre¶laæ routingu. Zamyka to
wstrêtn± lukê "open relay", gdy zapasowy host MX mo¿e zostaæ oszukany
w&nbsp;celu przekazania niechcianej poczty podstawowemu hostowi MX, który
nastêpnie rozsy³a j± jako spam po ¶wiecie.

<hr>
07070100060882000081a40000000000000002000000013d1fe2dd00000252000000200000000000000000000000000000003700000003reloc/postfix/help/opt_allow_untrusted_routing.sv.html    <header>Tillåt icke auktoriserad routing</header>

<center><tt>allow_untrusted_routing</tt></center>
<hr>

Denna parameter anger om Postfix kommer att skicka e-post med avsändarbestämd
routing (user[@%!]remote[@%!]site) från icke betrodda klienter till destinationer
som välsignats med parametern <a href=opt_relay_domains><tt>relay_domains</tt></a>.

<p>Standardinställningen är att icke betrodda klienter inte får ange routing.
Detta spärrar ett stort relähål, där en backup-MX-dator kan luras att vidarebefordra
e-post till en primär MX-dator som sedan sprider spam-post över världen.

<hr>
  07070100060883000081a40000000000000002000000013d1fe2dd00000111000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_always_bcc.ca.html <header>Address that receives bcc of each message</header>

<center><tt>always_bcc</tt></center>
<hr>

This parameter specifies an optional address that receives a copy of each
message that enters the Postfix system, not including bounces that are
generated locally.

<hr>
   07070100060884000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_always_bcc.es.html <header>Dirección que recibe bcc de cada mensaje</header>

<center><tt>always_bcc</tt></center>
<hr>

Este parámetro especifica una dirección opcional la cual recibe una copia
de cada mensaje que entra en el sistema Postfix, no se incluye los generados
locálmente.

<hr>
 07070100060885000081a40000000000000002000000013d1fe2dd00000111000000200000000000000000000000000000002700000003reloc/postfix/help/opt_always_bcc.html    <header>Address that receives bcc of each message</header>

<center><tt>always_bcc</tt></center>
<hr>

This parameter specifies an optional address that receives a copy of each
message that enters the Postfix system, not including bounces that are
generated locally.

<hr>
   07070100060886000081a40000000000000002000000013d1fe2dd00000131000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_always_bcc.pl.html <header>Adresy, które otrzymuj± ukryt± kopiê ka¿dej wiadomo¶ci</header>

<center><tt>always_bcc</tt></center>
<hr>

Ten parametr okre¶la potencjalny dodatkowy adres, który bêdzie otrzymywaæ
kopiê ka¿dej woadomo¶ci wchodz±cej do systemu Postfiksa, pomijaj±c
generowane lokalnie wiadomo¶ci odrzucone.

<hr>
   07070100060887000081a40000000000000002000000013d1fe2dd00000116000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_always_bcc.sv.html <header>Adress som är osynlig mottagare av varje meddelande</header>

<center><tt>always_bcc</tt></center>
<hr>

Denna parameter anger en adress som ska få en kopia av varje e-postmeddelande
som kommer in i Postfix-systemet, förutom studsmeddelanden som genereras lokalt.

<hr>
  07070100060888000081a40000000000000002000000013d1fe2dd000001da000000200000000000000000000000000000003100000003reloc/postfix/help/opt_best_mx_transport.ca.html  <header>Action when listed as best MX host</header>

<center><tt>best_mx_transport</tt></center>
<hr>

This parameter controls what happens when the local system is listed as the
best MX host for a destination. By default, Postfix reports a &quot;mail loops
back to myself&quot; error and bounces the message.

<p>

Specify <tt>local</tt> to pass the mail to the local delivery agent. You can
specify any transport that is defined in Postfix <tt>master.cf</tt> file.


<hr>
  07070100060889000081a40000000000000002000000013d1fe2dd0000020c000000200000000000000000000000000000003100000003reloc/postfix/help/opt_best_mx_transport.es.html  <header>Acción al ser listado como mejor máquina MX</header>

<center><tt>best_mx_transport</tt></center>
<hr>

Este parámetro controla lo que ocurre cuando el sistema local es listado
como la mejor máquina MX para un destino. Por defecto, Postfix informa de un
error de &quot;bucle de correo de vuelta a mi mismo&quot; y envía el mensaje.

<p>

Especifica <tt>local</tt> para pasar correo al agente de entrega local. Puedes
especificar cualquier transporte que se defina en el archivo de Postfix <tt>master.cf</tt>.


<hr>
0707010006088a000081a40000000000000002000000013d1fe2dd000001da000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_best_mx_transport.html <header>Action when listed as best MX host</header>

<center><tt>best_mx_transport</tt></center>
<hr>

This parameter controls what happens when the local system is listed as the
best MX host for a destination. By default, Postfix reports a &quot;mail loops
back to myself&quot; error and bounces the message.

<p>

Specify <tt>local</tt> to pass the mail to the local delivery agent. You can
specify any transport that is defined in Postfix <tt>master.cf</tt> file.


<hr>
  0707010006088b000081a40000000000000002000000013d1fe2dd0000020c000000200000000000000000000000000000003100000003reloc/postfix/help/opt_best_mx_transport.pl.html  <header>Akcja, gdy host jest MX-em o&nbsp;najwy¿szym priorytecie</header>

<center><tt>best_mx_transport</tt></center>
<hr>

Ten parametr okre¶la co siê dzieje, gdy the lokalny system jest wymieniony
jako MX o&nbsp;najwy¿szym priorytecie. Domy¶lnie, Postfix sygnalizuje b³±d
&quot;mail loops back to myself&quot; i&nbsp;odrzuca wiadomo¶æ. <p>

Podaj <tt>local</tt>, aby przekazaæ poczte lokalnemu programowi
dorêczaj±cemu. Mo¿esz podaæ dowoln± metodê ekspedycji zdefiniowan±
w&nbsp;pliku Postfiksa <tt>master.cf</tt>.

<hr>
0707010006088c000081a40000000000000002000000013d1fe2dd000001f4000000200000000000000000000000000000003100000003reloc/postfix/help/opt_best_mx_transport.sv.html  <header>Åtgärd när man blivit bästa MX-val</header>

<center><tt>best_mx_transport</tt></center>
<hr>

Denna parameter anger vad som händer när det lokala systemet anges som bästa
MX-val för en destination. Standardinställningen är att Postfix rapporterar
felet &quot;mail loops back to myself&quot; och studsar tillbaka meddelandet.

<p>Ange <tt>local</tt> för att skicka e-post till den lokala e-posthanteraren.
Det går att ange valfri väg som definierats i Postfix-filen <tt>master.cf</tt>.

<hr>
0707010006088d000081a40000000000000002000000013d1fe2dd000000f2000000200000000000000000000000000000003700000003reloc/postfix/help/opt_bounce_notice_recipient.ca.html    <header>Send postmaster notice on bounce to...</header>

<center><tt>bounce_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if
the above error conditions is recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
  0707010006088e000081a40000000000000002000000013d1fe2dd0000013c000000200000000000000000000000000000003700000003reloc/postfix/help/opt_bounce_notice_recipient.es.html    <header>Enviar a jefe de estafeta notica al enviar correo a...</header>

<center><tt>bounce_notice_recipient</tt></center>
<hr>

Especifica quién recibe noticicas de jefe de estafeta si
se reconocen las condiciones de error de la parte de arriba.

<p>

Por defecto a &quot;postmaster (jefe de estafeta)&quot;.

<hr>
0707010006088f000081a40000000000000002000000013d1fe2dd000000f2000000200000000000000000000000000000003400000003reloc/postfix/help/opt_bounce_notice_recipient.html   <header>Send postmaster notice on bounce to...</header>

<center><tt>bounce_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if
the above error conditions is recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
  07070100060890000081a40000000000000002000000013d1fe2dd00000129000000200000000000000000000000000000003700000003reloc/postfix/help/opt_bounce_notice_recipient.pl.html    <header>Wysy³aæ powiadomienia od postmastera o&nbsp;odrzuceniu do...</header>

<center><tt>bounce_notice_recipient</tt></center>
<hr>

Okre¶la, kto bêdzie otrzymywaæ powiadomienia od postmastera, gdy zostanie
stwierdzona powy¿sza sytuacja b³êdna. <p>

Domy¶lnie do &quot;postmaster&quot;-a.

<hr>
   07070100060891000081a40000000000000002000000013d1fe2dd000000f5000000200000000000000000000000000000003700000003reloc/postfix/help/opt_bounce_notice_recipient.sv.html    <header>Skicka meddelande om studs till ...</header>

<center><tt>bounce_notice_recipient</tt></center>
<hr>

Ange vem som ska få postmaster-meddelanden om
ovanstående fel uppträder.

<p>Standard är att skicka till &quot;postmaster&quot;.

<hr>
   07070100060892000081a40000000000000002000000013d1fe2dd000000d9000000200000000000000000000000000000003100000003reloc/postfix/help/opt_bounce_size_limit.ca.html  <header>Max size of bounced message</header>

<center><tt>bounce_size_limit</tt></center>
<hr>

This parameter limits the amount of original message context in bytes that is
sent in a non-delivery notification.

<hr>
   07070100060893000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003100000003reloc/postfix/help/opt_bounce_size_limit.es.html  <header>Medida máxima de mensajes enviados</header>

<center><tt>bounce_size_limit</tt></center>
<hr>

Este parámetro limita la cantidad de contexto de mensaje original en octetos
que es enviada en una notificación no-entregada.

<hr>
 07070100060894000081a40000000000000002000000013d1fe2dd000000d9000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_bounce_size_limit.html <header>Max size of bounced message</header>

<center><tt>bounce_size_limit</tt></center>
<hr>

This parameter limits the amount of original message context in bytes that is
sent in a non-delivery notification.

<hr>
   07070100060895000081a40000000000000002000000013d1fe2dd000000fd000000200000000000000000000000000000003100000003reloc/postfix/help/opt_bounce_size_limit.pl.html  <header>Maksymalny rozmiar zwracanej wiadomo¶ci</header>

<center><tt>bounce_size_limit</tt></center>
<hr>

Ten parametr ogranicza ilo¶æ bajtów przytoczonej wiadomo¶ci oryginalnej,
która zostanie wys³ana w&nbsp;powiadomieniu o&nbsp;niedorêczeniu.

<hr>
   07070100060896000081a40000000000000002000000013d1fe2dd000000f5000000200000000000000000000000000000003100000003reloc/postfix/help/opt_bounce_size_limit.sv.html  <header>Maximal storlek för studsat meddelande</header>

<center><tt>bounce_size_limit</tt></center>
<hr>

Denna parameter begränsar storleken i bytes på det originalmeddelande som skickas med
meddelanden om att leveransen inte fungerade.

<hr>
   07070100060897000081a40000000000000002000000013d1fe2dd000002f8000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_canonical_maps.ca.html <header>Address mapping lookup tables</header>

<center><tt>canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables. The mapping is
applied to both sender and recipient addresses, in both envelopes and in
headers. This is typically used to clean up dirty addresses from legacy mail
systems, or to replace login names by <tt>Firstname.Lastname</tt>. See
<a href=canonical>Canonical Mapping</a> for details.

<p>

By default, no canonical address mapping is done.

<p>

Sensible possible values:
<ul>
<li> <tt>dbm:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, nis:canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, netinfo:/canonical</tt> 
</ul>

<hr>
07070100060898000081a40000000000000002000000013d1fe2dd0000031b000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_canonical_maps.es.html <header>Tablas de búsqueda de mapeo de dirección</header>

<center><tt>canonical_maps</tt></center>
<hr>

Este parámetro especifica tablas opcionales de búsqueda de mapeo de dirección.
El mapeo es aplicado a ambas: direcciones de remitente y destinatario en ambos
sobres y en cabeceras. Esto es usado típicamente para limpiar direcciones
sucias de sistemas antiguos de correo o reemplazar nombres de login por 
<tt>Nombre.Apellidos</tt>. Mira canonical(5) para más detalles.

<p>

Por defecto, no se hace mapeo canónigo de dirección.

<p>

Valores sensíblemente posibles:
<ul>
<li> <tt>dbm:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, nis:canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, netinfo:/canonical</tt> 
</ul>

<hr>
 07070100060899000081a40000000000000002000000013d1fe2dd000002f8000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_canonical_maps.html    <header>Address mapping lookup tables</header>

<center><tt>canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables. The mapping is
applied to both sender and recipient addresses, in both envelopes and in
headers. This is typically used to clean up dirty addresses from legacy mail
systems, or to replace login names by <tt>Firstname.Lastname</tt>. See
<a href=canonical>Canonical Mapping</a> for details.

<p>

By default, no canonical address mapping is done.

<p>

Sensible possible values:
<ul>
<li> <tt>dbm:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, nis:canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, netinfo:/canonical</tt> 
</ul>

<hr>
0707010006089a000081a40000000000000002000000013d1fe2dd00000389000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_canonical_maps.pl.html <header>Tabele przeszukiwania podstawiania adresów</header>

<center><tt>canonical_maps</tt></center>
<hr>

Ten parametr okre¶la fakultatywne tabele przeszukiwane przy podstawianiu
adresów. Podstawianie dotyczy zarówno adresów nadawców, jak i&nbsp;adresów
odbiorców, w&nbsp;nag³ówkach i&nbsp;na &quot;kopercie&quot;. Jest to
zazwyczaj wykorzystywane porz±dkowania nieprawid³owych adresów
odziedziczonych po poprzednich systemach poczty lub do zastêpowania nazw
logowania przez <tt>Imie.Nazwisko</tt>. Szczegó³y znajdziesz 
w&nbsp;<a href=canonical>podstawianiu kanonicznym</a>. <p>

Domy¶lnie nie s± wykonywane ¿adne podstawienia kanoniczne adresów.
<p>

Mo¿liwe rozs±dne warto¶ci:
<ul>
<li> <tt>dbm:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, nis:canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, netinfo:/canonical</tt> 
</ul>

<hr>
   0707010006089b000081a40000000000000002000000013d1fe2dd00000327000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_canonical_maps.sv.html <header>Tabeller för adressöversättning</header>

<center><tt>canonical_maps</tt></center>
<hr>

Denna parameter är valfri och anger tabeller för adressöversättning. Översättningen
används på både avsändar- och mottagaradresserna, både på omslaget och i brevhuvudet.
Detta används vanligtvis för att städa bort gamla adresser skapade av äldre e-postservrar
och för att byta ut användarnamn mot <tt>Förnamn.Efternamn</tt>. Se 
<a href=canonical>Kanonisk översättning</a> för mer information.

<p>Standardinställningen är att ingen kanonisk adressöversättning görs.

<p>Vettiga värden:
<ul>
<li> <tt>dbm:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, nis:canonical</tt> 
<li> <tt>hash:/etc/postfix/canonical, netinfo:/canonical</tt> 
</ul>

<hr>
 0707010006089c000081a40000000000000002000000013d1fe2dd000001fe000000200000000000000000000000000000003200000003reloc/postfix/help/opt_command_time_limit.ca.html <header>Max time for delivery to external commands</header>

<center><tt>command_time_limit</tt></center>
<hr>

This parameter limits the amount of time for delivery to external commands.
This limit is used by the local delivery agent, and is the default time limit
for delivery by the pipe mailer.

<p>

Note: if you set this time limit to a large value you must update the global
<a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> parameter as well. See
<b>Postfix Miscellaneous Options</b> for details.

<hr>
  0707010006089d000081a40000000000000002000000013d1fe2dd00000222000000200000000000000000000000000000003200000003reloc/postfix/help/opt_command_time_limit.es.html <header>Tiempo máximo para entrega a comandos externos</header>

<center><tt>command_time_limit</tt></center>
<hr>

Este parámetro limita la cantidad de tiempo para entrega a comandos externos.
Este límite es usado por el agente de entrega local y es el límite de tiempo
por defecto para entrega desde el cartero por tubería.

<p>

Nota: si pones este límite de tiempo a un valor grande, debes de actualizar
el parámetro <a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> también. Mira
en <b>Opciones Varias de Postfix</b> para más detalles.

<hr>
  0707010006089e000081a40000000000000002000000013d1fe2dd000001fe000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_command_time_limit.html    <header>Max time for delivery to external commands</header>

<center><tt>command_time_limit</tt></center>
<hr>

This parameter limits the amount of time for delivery to external commands.
This limit is used by the local delivery agent, and is the default time limit
for delivery by the pipe mailer.

<p>

Note: if you set this time limit to a large value you must update the global
<a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> parameter as well. See
<b>Postfix Miscellaneous Options</b> for details.

<hr>
  0707010006089f000081a40000000000000002000000013d1fe2dd00000259000000200000000000000000000000000000003200000003reloc/postfix/help/opt_command_time_limit.pl.html <header>Maksymalny czas na dorêczenie do programu zewnêtrznego</header>

<center><tt>command_time_limit</tt></center>
<hr>

Ten parametr okre¶la okres czasu dla przekierowywania do zewnêtrznych
programów. Ograniczenie to jest wykorzystywane przez lokalny program
dorêczaj±cy i stanowi domy¶lne ograniczenia czasu dla dorêczenia poprzez
dorêczyciela uruchamianego w&nbsp;potoku. <p>

Uwaga: je¶li ustawisz tê warto¶æ na d³ugi okres czasu. musisz równie¿
zaktualizowaæ ogólny parametr <a href=opt_ipc_timeout><tt>ipc_timeout</tt></a>.
Szczegó³y znajdziesz w&nbsp;<b>Opcjach ró¿nych Postfiksa</b>.

<hr>
   070701000608a0000081a40000000000000002000000013d1fe2dd00000233000000200000000000000000000000000000003200000003reloc/postfix/help/opt_command_time_limit.sv.html <header>Längsta tid för att skicka till externa kommandon</header>

<center><tt>command_time_limit</tt></center>
<hr>

Denna parameter begränsar tiden som används för att skicka meddelanden till
externa kommandon. Tidsgränsen används av den lokala e-posthanteraren och
är standardtidsgräns för leverans med programpostaren (pipe).

<p>Obs! Om du väljer ett väldigt stort värde för denna tidsgräns måste du också
ändra den globala parametern <a href=opt_ipc_timeout><tt>ipc_timeout</tt></a>.
Se <b>Blandade inställningar för Postfix</b> för mer information.

<hr>
 070701000608a1000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_daemon_timeout.ca.html <header>Timeout on handling requests</header>

<center><tt>daemon_timeout</tt></center>
<hr>

This parameter specifies how much time a daemon may take to handle a request
before it assumes it is wedged and commits suicide.


<hr>
  070701000608a2000081a40000000000000002000000013d1fe2dd0000010b000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_daemon_timeout.es.html <header>Tiempo máximo para manejar requerimientos</header>

<center><tt>daemon_timeout</tt></center>
<hr>

Este parámetro especifica cuánto tiempo le puede llevar a un demonio en
manejar un requerimiento antes de que asuma de que no hay solución y se
suicide.


<hr>
 070701000608a3000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_daemon_timeout.html    <header>Timeout on handling requests</header>

<center><tt>daemon_timeout</tt></center>
<hr>

This parameter specifies how much time a daemon may take to handle a request
before it assumes it is wedged and commits suicide.


<hr>
  070701000608a4000081a40000000000000002000000013d1fe2dd000000f2000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_daemon_timeout.pl.html <header>Czas przeterminowania obs³ugi po³±czenia</header>

<center><tt>daemon_timeout</tt></center>
<hr>

Ten parametr okre¶la ile czasu mo¿e zaj±æ demonowi obs³u¿enie ¿±dania
zanim uzna on, ¿e po³±czenie zawis³o i&nbsp;sam siê zabije.

<hr>
  070701000608a5000081a40000000000000002000000013d1fe2dd00000102000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_daemon_timeout.sv.html <header>Tidsgräns för hantering av förfrågningar</header>

<center><tt>daemon_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid en demon får ta på sig för att hantera en
förfrågning innan den anser att den har fastnat och dödar sig själv.

<hr>
  070701000608a6000081a40000000000000002000000013d1fe2dd0000014d000000200000000000000000000000000000003000000003reloc/postfix/help/opt_debug_peer_level.ca.html   <header>Verbose logging level when matching the above list</header>

<center><tt>debug_peer_level</tt></center>
<hr>

This parameter specifies the increment in verbose logging level when an SMTP
client or server host name or address matches a pattern in the
<a href=opt_debug_peer_list><tt>debug_peer_list</tt></a> parameter.


<hr>
   070701000608a7000081a40000000000000002000000013d1fe2dd0000016e000000200000000000000000000000000000003000000003reloc/postfix/help/opt_debug_peer_level.es.html   <header>Nivel de historial locuaz al coincidir con la lista de arriba</header>

<center><tt>debug_peer_level</tt></center>
<hr>

Este parámetro especifica el incremento del nivel de historial locuaz cuando
un cliente SMTP o nombre de máquina servidora o dirección coincida con un modelo
del parámetro <a href=opt_debug_peer_list><tt>debug_peer_list</tt></a>.


<hr>
  070701000608a8000081a40000000000000002000000013d1fe2dd0000014d000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_debug_peer_level.html  <header>Verbose logging level when matching the above list</header>

<center><tt>debug_peer_level</tt></center>
<hr>

This parameter specifies the increment in verbose logging level when an SMTP
client or server host name or address matches a pattern in the
<a href=opt_debug_peer_list><tt>debug_peer_list</tt></a> parameter.


<hr>
   070701000608a9000081a40000000000000002000000013d1fe2dd0000014d000000200000000000000000000000000000003000000003reloc/postfix/help/opt_debug_peer_level.pl.html   <header>Poziom rozwlek³o¶ci logowania przy dopasowaniu do powy¿szej listy</header>

<center><tt>debug_peer_level</tt></center>
<hr>

Ten parametr okre¶la zwiêkszenie poziomu rozwlek³o¶ci logowania, gdy nazwa
hosta klienta SMTP lub serwera pasuje do wzorca w&nbsp;opcji
<a href=opt_debug_peer_list><tt>debug_peer_list</tt></a>.

<hr>
   070701000608aa000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000003000000003reloc/postfix/help/opt_debug_peer_level.sv.html   <header>Utförlig loggningsnivå när ovanstående lista matchar</header>

<center><tt>debug_peer_level</tt></center>
<hr>

Denna parameter anger ökningen i utförlig loggningsnivå då en SMTP-klients
eller -servers datornamn eller adress matchar något mönster i parametern
<a href=opt_debug_peer_list><tt>debug_peer_list</tt></a>.

<hr>
07070100060a65000081a40000000000000002000000013d1fe2dd0000003a000000200000000000000000000000000000002300000003reloc/postfix/help/opt_sample.html    <header></header>

<center><tt></tt></center>
<hr>


<hr>
  070701000608ab000081a40000000000000002000000013d1fe2dd00000225000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_debug_peer_list.ca.html    <header>List of domain/network patterns for which verbose log is enabled</header>

<center><tt>debug_peer_list</tt></center>
<hr>

This parameter specifies an optional list of domain or network patterns,
<tt>/file/name</tt> patterns or <tt>type:name</tt> tables. When an SMTP client
or server host name or address matches a pattern, increase the verbose logging
level by the amount specified in the
<a href=opt_debug_peer_level><tt>debug_peer_level</tt></a> parameter.

<p>

Sensible possible values:
<ul>
<li>127.0.0.1
<li>some.domain
</ul>


<hr>
   070701000608ac000081a40000000000000002000000013d1fe2dd00000254000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_debug_peer_list.es.html    <header>Lista de modelos de dominio/red que tiene activado el historial locuaz</header>

<center><tt>debug_peer_list</tt></center>
<hr>

Este parámetro especifica una lista opcional de dominio o modelos de red,
modelos <tt>/archivo/nombre</tt> o tablas <tt>tipo:nombre</tt>. Cuando un
cliente SMTP o nombre de máquina servidora o dirección coincida con un
modelo, incrementa el nivel de historial locuaz en la cantidad especificada en
el parámetro <a href=opt_debug_peer_level><tt>debug_peer_level</tt></a>.

<p>

Valores sensíblemente posibles:
<ul>
<li>127.0.0.1
<li>algún.dominio
</ul>


<hr>
070701000608ad000081a40000000000000002000000013d1fe2dd00000225000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_debug_peer_list.html   <header>List of domain/network patterns for which verbose log is enabled</header>

<center><tt>debug_peer_list</tt></center>
<hr>

This parameter specifies an optional list of domain or network patterns,
<tt>/file/name</tt> patterns or <tt>type:name</tt> tables. When an SMTP client
or server host name or address matches a pattern, increase the verbose logging
level by the amount specified in the
<a href=opt_debug_peer_level><tt>debug_peer_level</tt></a> parameter.

<p>

Sensible possible values:
<ul>
<li>127.0.0.1
<li>some.domain
</ul>


<hr>
   070701000608ae000081a40000000000000002000000013d1fe2dd0000024c000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_debug_peer_list.pl.html    <header>Lista wzorców dla domen/sieci, dla których w³±czane jest rozwlek³e
logowanie</header>

<center><tt>debug_peer_list</tt></center>
<hr>

Ten parametr okre¶la fakultatywn± listê wzorców dla domen lub sieci,
wzorców <tt>/nazwa/pliku</tt> lub tabeli <tt>rodzaj:nazwa</tt>. Gdy nazwa
hosta klienta lub serwera SMTP lub adres którego¶ z&nbsp;nich pasuje do
wzorca, poziom rozwlek³o¶ci logowania jest zwiêkszany o&nbsp;warto¶æ podan±
w&nbsp;opcji <a href=opt_debug_peer_level><tt>debug_peer_level</tt></a>.
<p>

Mo¿liwe rozs±dne warto¶ci:
<ul>
<li>127.0.0.1
<li>jakas.domena
</ul>


<hr>
070701000608af000081a40000000000000002000000013d1fe2dd00000225000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_debug_peer_list.sv.html    <header>Lista över domän/nätverksmönster för vilka utförlig loggning ska göras</header>

<center><tt>debug_peer_list</tt></center>
<hr>

Denna parameter anger en lista över domän- och/eller nätverksmönster,
<tt>/fil/namn</tt>-mönster eller <tt>typ:namn</tt>-tabeller. Om en SMTP-klients
eller -servers datornamn eller adress matchar något mönster, ökas den utförliga loggningsnivån
med det värde som angivits i parametern <a href=opt_debug_peer_level><tt>debug_peer_level</tt></a>.

<p>Vettiga värden:
<ul>
<li>127.0.0.1
<li>någon.domän
</ul>

<hr>
   070701000608b0000081a40000000000000002000000013d1fe2dd00000169000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_database_type.ca.html  <header>Default database type</header>

<center><tt>default_database_type</tt></center>
<hr>

This parameter specifies the default database type to use in
<tt>postalias(1)</tt> and <tt>postmap(1)</tt> commands. On many UNIX systems
the default type is either <tt>`dbm'</tt> or <tt>`hash'</tt>. The default is
determined when the Postfix system is built.


<hr>
   070701000608b1000081a40000000000000002000000013d1fe2dd00000195000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_database_type.es.html  <header>Tipo de base de datos por defecto</header>

<center><tt>default_database_type</tt></center>
<hr>

Este parámetro especifica el tipo de base de datos por defecto a usar en
los comandos <tt>postalias(1)</tt> y <tt>postmap(1)</tt>. En muchos sistemas
UNIX, el tipo por defecto es o <tt>`dbm'</tt> o <tt>`hash'</tt>. El valor
por defecto es determinado cuando el sistema Postfix es construído.


<hr>
   070701000608b2000081a40000000000000002000000013d1fe2dd00000169000000200000000000000000000000000000003200000003reloc/postfix/help/opt_default_database_type.html <header>Default database type</header>

<center><tt>default_database_type</tt></center>
<hr>

This parameter specifies the default database type to use in
<tt>postalias(1)</tt> and <tt>postmap(1)</tt> commands. On many UNIX systems
the default type is either <tt>`dbm'</tt> or <tt>`hash'</tt>. The default is
determined when the Postfix system is built.


<hr>
   070701000608b3000081a40000000000000002000000013d1fe2dd00000196000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_database_type.pl.html  <header>Domy¶lny rodzaj bazy danych</header>

<center><tt>default_database_type</tt></center>
<hr>

Ten parametr okre¶la domy¶lny rodzaj bazy danych u¿ywanej przez polecenia
<tt>postalias(1)</tt> i&nbsp;<tt>postmap(1)</tt>. W&nbsp;wielu systemach
uniksowych domy¶lnym rodzajem jest albo <tt>`dbm'</tt> albo <tt>`hash'</tt>.
Warto¶æ domy¶lna tego parametru jest ustalona podczas kompilacji Postfiksa.

<hr>
  070701000608b4000081a40000000000000002000000013d1fe2dd00000170000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_database_type.sv.html  <header>Standardtyp för databas</header>

<center><tt>default_database_type</tt></center>
<hr>

Denna parameter anger standardtypen för den databas som ska användas i
<tt>postalias(1)</tt>- och <tt>postmap(1)</tt>-kommandon. I många UNIX-system
är standardtypen antingen <tt>`dbm'</tt> eller <tt>`hash'</tt>. Standardtypen
bestäms då Postfix-systemet byggs upp.

<hr>
070701000608b5000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000004500000003reloc/postfix/help/opt_default_destination_concurrency_limit.ca.html  <header>Max number of parallel deliveries to the same destination</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

The parameter specifies a default limit on the number of parallel deliveries to
the same destination. This is the default limit for delivery via SMTP, via the
local delivery agent and via the pipe mailer.


<hr>
  070701000608b7000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000004200000003reloc/postfix/help/opt_default_destination_concurrency_limit.html <header>Max number of parallel deliveries to the same destination</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

The parameter specifies a default limit on the number of parallel deliveries to
the same destination. This is the default limit for delivery via SMTP, via the
local delivery agent and via the pipe mailer.


<hr>
  070701000608b6000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000004500000003reloc/postfix/help/opt_default_destination_concurrency_limit.es.html  <header>Máximo número de entregas paralelas al mismo destino</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

El parámetro especifica un límite por defecto del número de entregas paralelas
al mismo destino. Este es el límite por defecto en entregas a través de SMTP,
agente de entrega local y cartero por tubería.


<hr>
070701000608b8000081a40000000000000002000000013d1fe2dd00000197000000200000000000000000000000000000004500000003reloc/postfix/help/opt_default_destination_concurrency_limit.pl.html  <header>Maks. liczba jednoczesnych dorêczeñ do tego samego miejsca
przeznaczenia</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

Ten parametr okre¶la domy¶lne ograniczenie liczby jednoczesnych dorêczeñ do
tego samego miejsca przeznaczenia. Stanowi on domy¶lne ograniczenie dla
dorêczania przez SMTP, przez lokalny program dorêczaj±cy oraz dla dorêczania
w&nbsp;potoku.

<hr>
 070701000608b9000081a40000000000000002000000013d1fe2dd00000163000000200000000000000000000000000000004500000003reloc/postfix/help/opt_default_destination_concurrency_limit.sv.html  <header>Maximalt antal parallella sändningar till samma destination</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

Denna parameter anger en standardgräns för antalet parallella sändningar till
samma destination. Detta är standardgränsen för sändning via SMTP, den lokala
e-posthanteraren och programpostaren (pipe).

<hr>
 070701000608ba000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000004300000003reloc/postfix/help/opt_default_destination_recipient_limit.ca.html    <header>Max number of recipients per message delivery</header>

<center><tt>default_destination_recipient_limit</tt></center>
<hr>

The parameter specifies a default limit on the number of recipients per message
delivery. This is the default limit for delivery via SMTP, via the local
delivery agent and via the pipe mailer.


<hr>
07070100060910000081a40000000000000002000000013d1fe2dd00000168000000200000000000000000000000000000004300000003reloc/postfix/help/opt_default_destination_recipient_limit.es.html    <header>Máximo número de destinatarios para entregar mensaje</header>

<center><tt>default_destination_recipient_limit</tt></center>
<hr>

El parámetro especifica un límite por defecto en el número de destinatarios por
cada entrega de mensaje. Este es el límite por defecto para entregas a través de
SMTP, agente de entrega local y cartero por tubería.


<hr>
07070100060911000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000004000000003reloc/postfix/help/opt_default_destination_recipient_limit.html   <header>Max number of recipients per message delivery</header>

<center><tt>default_destination_recipient_limit</tt></center>
<hr>

The parameter specifies a default limit on the number of recipients per message
delivery. This is the default limit for delivery via SMTP, via the local
delivery agent and via the pipe mailer.


<hr>
07070100060912000081a40000000000000002000000013d1fe2dd0000015d000000200000000000000000000000000000004300000003reloc/postfix/help/opt_default_destination_recipient_limit.pl.html    <header>Maks. liczba odbiorców dorêczanej wiadomo¶ci</header>

<center><tt>default_destination_recipient_limit</tt></center>
<hr>

Ten parametr okre¶la domy¶lne ograniczenie liczby odbiorców dorêczanej
wiadomo¶ci. Stanowi on domy¶lne ograniczenie dla dorêczania przez SMTP,
przez lokalny program dorêczaj±cy oraz dla dorêczania w&nbsp;potoku.

<hr>
   07070100060913000081a40000000000000002000000013d1fe2dd00000149000000200000000000000000000000000000004300000003reloc/postfix/help/opt_default_destination_recipient_limit.sv.html    <header>Maximalt antal mottagare per meddelandesändning</header>

<center><tt>default_destination_recipient_limit</tt></center>
<hr>

Denna parameter anger en standardgräns för antalet mottagare per meddelandesändning.
Detta är standardgränsen för sändning via SMTP, den lokala e-posthanteraren och
programpostaren (pipe).

<hr>
   07070100060914000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_default_privs.ca.html  <header>Default rights of the local delivery agent</header>

<center><tt>default_privs</tt></center>
<hr>

This parameter specifies the default rights used by the local delivery agent
for delivery to external file or command.

<p>

These rights are used in the absence of a recipient user context. DO NOT
SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.

<hr>  07070100060915000081a40000000000000002000000013d1fe2dd00000197000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_default_privs.es.html  <header>Derechos por defecto del agente de entrega local</header>

<center><tt>default_privs</tt></center>
<hr>

El parámetro especifica los derechos por defecto usados por el agente de
entrega local para la entrega a un archivo externo o comando.

<p>

Estos derechos son usados en ausencia de un contexto de usuario destinatario.
NO ESPECIFIQUES UN USUARIO PRIVILEGIADO O AL PROPIETARIO DE POSTFIX.

<hr>
 07070100060916000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_default_privs.html <header>Default rights of the local delivery agent</header>

<center><tt>default_privs</tt></center>
<hr>

This parameter specifies the default rights used by the local delivery agent
for delivery to external file or command.

<p>

These rights are used in the absence of a recipient user context. DO NOT
SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.

<hr>  07070100060917000081a40000000000000002000000013d1fe2dd000001a2000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_default_privs.pl.html  <header>Domy¶lne uprawnienia programu dorêczaj±cego</header>

<center><tt>default_privs</tt></center>
<hr>

Ten parametr okre¶la domy¶lne uprawnienia, z&nbsp;których korzysta lokalny
program dorêczaj±cy przy dorêczaniu do zewnêtrznego pliku lub polecenia. <p>

Te uprawnienia s± u¿uwane przy braku ¶rodowiska u¿ytkownika bêd±cego
odbiorc±. NIE PODAWAJ TU U¯YTKOWNIKA UPRZYWILEJOWANEGO ANI W£A¦CICIELA
POSTFIKSA.

<hr>
  07070100060918000081a40000000000000002000000013d1fe2dd00000177000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_default_privs.sv.html  <header>Standardrättigheter för den lokala e-posthanteraren</header>

<center><tt>default_privs</tt></center>
<hr>

Denna parameter anger standardrättigheter för den lokala e-posthanteraren
avseende sändningar till externa filer och kommandon.

<p>Dessa rättigheter används då ingen mottagaranvändare angivits. ANGE
INTE EN PRIVILEGIERAD ANVÄNDARE ELLER POSTFIX-ÄGAREN.

<hr> 07070100060919000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_process_limit.ca.html  <header>Max number of Postfix child processes</header>

<center><tt>default_process_limit</tt></center>
<hr>

This parameter specifies the default limit on the number of Postfix child
processes that provide a given service.

<hr>
  0707010006091a000081a40000000000000002000000013d1fe2dd000000f0000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_process_limit.es.html  <header>Número máximo de procesos hijos de Postfix</header>

<center><tt>default_process_limit</tt></center>
<hr>

Este parámetro especifica el límite por defecto de número de procesos
hijo de Postfix que suministra un servicio dado.

<hr>
0707010006091b000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000003200000003reloc/postfix/help/opt_default_process_limit.html <header>Max number of Postfix child processes</header>

<center><tt>default_process_limit</tt></center>
<hr>

This parameter specifies the default limit on the number of Postfix child
processes that provide a given service.

<hr>
  0707010006091c000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_process_limit.pl.html  <header>Maksymalna liczba procesów potomnych Postfiksa</header>

<center><tt>default_process_limit</tt></center>
<hr>

Ten parametr okre¶la domy¶lne ograniczenie liczby procesów potomnych Postfiksa,
które zapewniaj± dan± us³ugê.

<hr>
 0707010006091d000081a40000000000000002000000013d1fe2dd000000d2000000200000000000000000000000000000003500000003reloc/postfix/help/opt_default_process_limit.sv.html  <header>Maximalt antal Postfix-underprocesser</header>

<center><tt>default_process_limit</tt></center>
<hr>

Denna parameter anger standardgränsen för antalet Postfix-underprocesser
för en given tjänst.

<hr>
  0707010006091e000081a40000000000000002000000013d1fe2dd00000143000000200000000000000000000000000000003100000003reloc/postfix/help/opt_default_transport.ca.html  <header>Default message delivery transport</header>

<center><tt>default_transport</tt></center>
<hr>

This parameter specifies the default message delivery transport to use when no
transport is explicitly given in the optional <a href=transport>transport</a>
table. Common values are <tt>uucp</tt> or <tt>smtp</tt>.

<hr>
 0707010006091f000081a40000000000000002000000013d1fe2dd00000155000000200000000000000000000000000000003100000003reloc/postfix/help/opt_default_transport.es.html  <header>Transporte de entrega de menesaje por defecto</header>

<center><tt>default_transport</tt></center>
<hr>

Este parámetro especifica el transporte de entrega de mensaje por defecto a usar
cuando no se da transporte específico en la tabla opcional de transporte
(transport(5)). Valores comunes son <tt>uucp</tt> o <tt>smtp</tt>.

<hr>
   07070100060920000081a40000000000000002000000013d1fe2dd00000143000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_default_transport.html <header>Default message delivery transport</header>

<center><tt>default_transport</tt></center>
<hr>

This parameter specifies the default message delivery transport to use when no
transport is explicitly given in the optional <a href=transport>transport</a>
table. Common values are <tt>uucp</tt> or <tt>smtp</tt>.

<hr>
 07070100060921000081a40000000000000002000000013d1fe2dd00000167000000200000000000000000000000000000003100000003reloc/postfix/help/opt_default_transport.pl.html  <header>Domy¶lna metoda ekspedycji wiadomo¶ci</header>

<center><tt>default_transport</tt></center>
<hr>

Ten parametr okre¶la domy¶ln± metodê ekspedycji wiadomo¶ci wykorzystywan±,
gdy nie podano jawnie metody ekspedycji w&nbsp;fakultatywnej tabeli 
<a href=transport>ekspedycji</a>. Powszechnie u¿ywane warto¶ci to 
<tt>uucp</tt> i&nbsp;<tt>smtp</tt>.

<hr>
 07070100060922000081a40000000000000002000000013d1fe2dd0000013f000000200000000000000000000000000000003100000003reloc/postfix/help/opt_default_transport.sv.html  <header>Standardtyp av meddelandetransport</header>

<center><tt>default_transport</tt></center>
<hr>

Denna parameter anger standardtyp av meddelandetransport då inget
transportsätt uttryckligen har angivits i <a href=transport>transport</a>-tabellen
(valfri). Vanliga värden är <tt>uucp</tt> och <tt>smtp</tt>.

<hr>
 07070100060923000081a40000000000000002000000013d1fe2dd00000173000000200000000000000000000000000000003000000003reloc/postfix/help/opt_defer_transports.ca.html   <header>Transports that should not be delivered</header>

<center><tt>defer_transports</tt></center>
<hr>

This parameter specifies the names of transports that should not be delivered
to unless someone issues &quot;sendmail -q&quot; or equivalent. Specify zero or
more names of mail delivery transports names that appear in the first field of
<tt>master.cf</tt>.


<hr>
 07070100060924000081a40000000000000002000000013d1fe2dd00000193000000200000000000000000000000000000003000000003reloc/postfix/help/opt_defer_transports.es.html   <header>Transportes que no deberían ser entregados</header>

<center><tt>defer_transports</tt></center>
<hr>

Este parámetro especifica los nombres de transportes que no deberían de ser
entregados a menos que alguien utilice &quot;sendmail -q&quot; o equivalente.
Especifica cero o más nombres de nombres de transporte de entrega de correo
que aparecen en el primer campo de <tt>master.cf</tt>).


<hr>
 07070100060925000081a40000000000000002000000013d1fe2dd00000173000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_defer_transports.html  <header>Transports that should not be delivered</header>

<center><tt>defer_transports</tt></center>
<hr>

This parameter specifies the names of transports that should not be delivered
to unless someone issues &quot;sendmail -q&quot; or equivalent. Specify zero or
more names of mail delivery transports names that appear in the first field of
<tt>master.cf</tt>.


<hr>
 07070100060926000081a40000000000000002000000013d1fe2dd0000018b000000200000000000000000000000000000003000000003reloc/postfix/help/opt_defer_transports.pl.html   <header>Metody ekspedycji, za pomoc± których nie nale¿y dorêczaæ</header>

<center><tt>defer_transports</tt></center>
<hr>

Ten parametr okre¶la nazwy metod ekspedycji, za pomoc± których nie nale¿y
dorêczaæ dopóki kro¶ nie wyda polecenia &quot;sendmail -q&quot; lub
równowa¿nego. Podaj zero lub wiêcej nazw metod ekspedycji poczty, które wystêpuj±
w&nbsp;pierszym polu <tt>master.cf</tt>.

<hr>
 07070100060927000081a40000000000000002000000013d1fe2dd00000159000000200000000000000000000000000000003000000003reloc/postfix/help/opt_defer_transports.sv.html   <header>Transportmetoder som inte bör användas</header>

<center><tt>defer_transports</tt></center>
<hr>

Denna parameter anger namn på transportmetoder som inte bör användas om man inte
använder &quot;sendmail -q&quot; eller liknande. Ange noll eller fler namn på
e-postsändningsmetoder som finns i <tt>master.cf</tt>-filens första fält.

<hr>
   07070100060928000081a40000000000000002000000013d1fe2dd000000f0000000200000000000000000000000000000003600000003reloc/postfix/help/opt_delay_notice_recipient.ca.html <header>Send postmaster notice on delay to...</header>

<center><tt>delay_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
07070100060929000081a40000000000000002000000013d1fe2dd00000129000000200000000000000000000000000000003600000003reloc/postfix/help/opt_delay_notice_recipient.es.html <header>Enviar a jefe de estafeta noticia sobre retardo a...</header>

<center><tt>delay_notice_recipient</tt></center>
<hr>

Especifica quién obtiene las noticias de jefe de estafeta si las
condiciones de arriba son reconocidas.

<p>

Por defecto &quot;jefe de estafeta (postmaster)&quot;.

<hr>
   0707010006092a000081a40000000000000002000000013d1fe2dd000000f0000000200000000000000000000000000000003300000003reloc/postfix/help/opt_delay_notice_recipient.html    <header>Send postmaster notice on delay to...</header>

<center><tt>delay_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
0707010006092b000081a40000000000000002000000013d1fe2dd00000129000000200000000000000000000000000000003600000003reloc/postfix/help/opt_delay_notice_recipient.pl.html <header>Wysy³aæ powiadomienia od postmastera o&nbsp;opó¼nieniach do...</header>

<center><tt>delay_notice_recipient</tt></center>
<hr>

Okre¶la, kto bêdzie otrzymywaæ powiadomienia od postmastera gdy zostanie
stwierdzona powy¿sza sytuacja b³êdna. <p>

Domy¶lnie do &quot;postmaster&quot;-a.

<hr>
   0707010006092c000081a40000000000000002000000013d1fe2dd000000fa000000200000000000000000000000000000003600000003reloc/postfix/help/opt_delay_notice_recipient.sv.html <header>Skicka meddelande om fördröjning till ...</header>

<center><tt>delay_notice_recipient</tt></center>
<hr>

Ange vem som ska få postmaster-meddelanden om ovanstående fel uppträder.

<p>Standard är att skicka till &quot;postmaster&quot;.

<hr>
  0707010006092d000081a40000000000000002000000013d1fe2dd00000108000000200000000000000000000000000000003200000003reloc/postfix/help/opt_delay_warning_time.ca.html <header>Time in hours before sending a warning for no delivery</header>

<center><tt>delay_warning_time</tt></center>
<hr>

The parameter specifies after how many hours a warning is sent that mail has
not yet been delivered. By default, no warning is sent.


<hr>
0707010006092e000081a40000000000000002000000013d1fe2dd00000104000000200000000000000000000000000000003200000003reloc/postfix/help/opt_delay_warning_time.es.html <header>Tiempo en horas antes de enviar aviso de no entrega</header>

<center><tt>delay_warning_time</tt></center>
<hr>

Esto especifica tras cuántas horas se envía un aviso de que el correo todavía
no ha sido entregado. Por defecto, no se envía aviso.


<hr>
0707010006092f000081a40000000000000002000000013d1fe2dd00000108000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_delay_warning_time.html    <header>Time in hours before sending a warning for no delivery</header>

<center><tt>delay_warning_time</tt></center>
<hr>

The parameter specifies after how many hours a warning is sent that mail has
not yet been delivered. By default, no warning is sent.


<hr>
07070100060930000081a40000000000000002000000013d1fe2dd00000136000000200000000000000000000000000000003200000003reloc/postfix/help/opt_delay_warning_time.pl.html <header>Czas, po którym wysy³ane jest ostrze¿enie o&nbsp;niedorêczeniu
w&nbsp;godzinach </header>

<center><tt>delay_warning_time</tt></center>
<hr>

Ta opcja okre¶la po ilu godzinach wysy³ane bêdzie ostrze¿enie, ¿e poczta nie
zosta³a jeszcze dorêczona. Domy¶lnie, ¿adne ostrze¿enie nie bêdzie wysy³ane.

<hr>
  07070100060931000081a40000000000000002000000013d1fe2dd00000135000000200000000000000000000000000000003200000003reloc/postfix/help/opt_delay_warning_time.sv.html <header>Tid (timmar) innan varningsmeddelande om utebliven sändning skickas</header>

<center><tt>delay_warning_time</tt></center>
<hr>

Denna parameter anger efter hur många timmar en varning ska skickas om att e-postmeddelandet
ännu inte har sänts. Standardinställningen är att ingen varning skickas.

<hr>
   07070100060932000081a40000000000000002000000013d1fe2dd000000d6000000200000000000000000000000000000003500000003reloc/postfix/help/opt_deliver_lock_attempts.ca.html  <header>Max attempts to acquire file lock</header>

<center><tt>deliver_lock_attempts</tt></center>
<hr>

This parameter limits the number of attempts to acquire an exclusive lock on a
mailbox or other file.

<hr>
  07070100060933000081a40000000000000002000000013d1fe2dd000000e9000000200000000000000000000000000000003500000003reloc/postfix/help/opt_deliver_lock_attempts.es.html  <header>Máximos intentos para adquirir bloqueo de archivo</header>

<center><tt>deliver_lock_attempts</tt></center>
<hr>

Este parámetro limita el número de intentos en adquirir un bloqueo exclusivo en
un buzón u otro archivo.

<hr>
   07070100060934000081a40000000000000002000000013d1fe2dd000000d6000000200000000000000000000000000000003200000003reloc/postfix/help/opt_deliver_lock_attempts.html <header>Max attempts to acquire file lock</header>

<center><tt>deliver_lock_attempts</tt></center>
<hr>

This parameter limits the number of attempts to acquire an exclusive lock on a
mailbox or other file.

<hr>
  07070100060935000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000003500000003reloc/postfix/help/opt_deliver_lock_attempts.pl.html  <header>Maksymalna liczba prób za³o¿enia blokady pliku</header>

<center><tt>deliver_lock_attempts</tt></center>
<hr>

Ten parametr ogranicza liczbê prób za³o¿enia wy³±cznej blokady (lock)
skrzynki pocztowej lub innego pliku.

<hr>
07070100060936000081a40000000000000002000000013d1fe2dd000000d2000000200000000000000000000000000000003500000003reloc/postfix/help/opt_deliver_lock_attempts.sv.html  <header>Maximalt antal försök att få fillås</header>

<center><tt>deliver_lock_attempts</tt></center>
<hr>

Denna parameter anger maximalt antal försök att få ett eget lås på
en brevlåda eller annan fil.

<hr>
  07070100060937000081a40000000000000002000000013d1fe2dd000000cd000000200000000000000000000000000000003200000003reloc/postfix/help/opt_deliver_lock_delay.ca.html <header>Time in seconds between file lock attempts</header>

<center><tt>deliver_lock_delay</tt></center>
<hr>

This parameter sets the time in seconds between attempts to acquire an
exclusive lock.

<hr>
   07070100060938000081a40000000000000002000000013d1fe2dd000000e1000000200000000000000000000000000000003200000003reloc/postfix/help/opt_deliver_lock_delay.es.html <header>Tiempo en segundos entre intentos de bloqueo de archivo</header>

<center><tt>deliver_lock_delay</tt></center>
<hr>

Este parámetro pone el tiempo en segundos entre intentos de adquisición de
bloqueo exclusivo.

<hr>
   07070100060939000081a40000000000000002000000013d1fe2dd000000cd000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_deliver_lock_delay.html    <header>Time in seconds between file lock attempts</header>

<center><tt>deliver_lock_delay</tt></center>
<hr>

This parameter sets the time in seconds between attempts to acquire an
exclusive lock.

<hr>
   07070100060af8000081a40000000000000002000000013d1fe2dd000003e7000000200000000000000000000000000000002200000003reloc/postfix/help/relocated.html <header>Relocated Mapping</header>


The optional relocated file provides the information that is used in &quot;user
has moved to new_location&quot; bounce messages.

<p>

Table lookups are case insensitive.

<p>

The &quot;Maps to...&quot; field specifies contact information such as an email
address, or perhaps a street address or telephone number. It's one of the
following:
<ul>
<li><tt>user@domain</tt>: Matches <tt>user@domain</tt> . This form has precedence over
all other forms.

<li><tt>user</tt>: Matches <tt>user@site</tt> when site is <tt>$myorigin</tt>,
when site is listed in <tt>$mydestination</tt>, or when site is listed in
<tt>$inet_interfaces</tt> .

<li><tt>@domain</tt>: Matches every address in domain. This form has the lowest
precedence.
</ul>

ADDRESS EXTENSION: When the search fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>).

<hr>
 0707010006093a000081a40000000000000002000000013d1fe2dd000000f5000000200000000000000000000000000000003200000003reloc/postfix/help/opt_deliver_lock_delay.pl.html <header>Okres pomiêdzy kolejnymi próbami zablokowania w&nbsp;sekundach</header>

<center><tt>deliver_lock_delay</tt></center>
<hr>

Ten parametr ustawia Okres w&nbsp;sekundach pomiêdzy kolejnymi próbami
zalozenia wy³±cznej blokady (lock).

<hr>
   0707010006093b000081a40000000000000002000000013d1fe2dd000000c8000000200000000000000000000000000000003200000003reloc/postfix/help/opt_deliver_lock_delay.sv.html <header>Tid (sekunder) mellan fillåsningsförsök</header>

<center><tt>deliver_lock_delay</tt></center>
<hr>

Denna parameter anger tiden i sekunder mellan försök att skaffa sig
ett eget fillås.

<hr>
0707010006093c000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000004600000003reloc/postfix/help/opt_desfault_destination_concurrency_limit.es.html <header>Máximo número de entregas paralelas al mismo destino</header>

<center><tt>default_destination_concurrency_limit</tt></center>
<hr>

El parámetro especifica un límite por defecto del número de entregas paralelas
al mismo destino. Este es el límite por defecto en entregas a través de SMTP,
agente de entrega local y cartero por tubería.


<hr>
0707010006093d000081a40000000000000002000000013d1fe2dd0000011b000000200000000000000000000000000000003300000003reloc/postfix/help/opt_disable_vfy_command.es.html    <header>Desactivar comando SMTP VRFY</header>

<center><tt>disable_vrfy_command</tt></center>
<hr>

Este parámetro te permite desactivar el comando SMTP VRFY. Esto detiene
ciertas técnicas utilizadas por los que envían correo no deseado para
recolectar direcciones de correo.


<hr>
 0707010006093e000081a40000000000000002000000013d1fe2dd000000ec000000200000000000000000000000000000003400000003reloc/postfix/help/opt_disable_vrfy_command.ca.html   <header>Disable SMTP VRFY command</header>

<center><tt>disable_vrfy_command</tt></center>
<hr>

This parameter allows you to disable the SMTP VRFY command. This stops some
techniques used by spammers to harvest email addresses.


<hr>
0707010006093f000081a40000000000000002000000013d1fe2dd000000ec000000200000000000000000000000000000003100000003reloc/postfix/help/opt_disable_vrfy_command.html  <header>Disable SMTP VRFY command</header>

<center><tt>disable_vrfy_command</tt></center>
<hr>

This parameter allows you to disable the SMTP VRFY command. This stops some
techniques used by spammers to harvest email addresses.


<hr>
07070100060940000081a40000000000000002000000013d1fe2dd000000e2000000200000000000000000000000000000003400000003reloc/postfix/help/opt_disable_vrfy_command.pl.html   <header>Wy³±cz polecenie SMTP VRFY</header>

<center><tt>disable_vrfy_command</tt></center>
<hr>

Ten parametr pozwala wy³±czyæ polecenie SMTP VRFY. Powstrzymuje to niektóre
spamerskie techniki zbierania adresów e-mail.

<hr>
  07070100060941000081a40000000000000002000000013d1fe2dd000000f8000000200000000000000000000000000000003400000003reloc/postfix/help/opt_disable_vrfy_command.sv.html   <header>Deaktivera SMTP-kommandot VRFY</header>

<center><tt>disable_vrfy_command</tt></center>
<hr>

Denna parameter gör att du kan deaktivera SMTP-kommandot VRFY. Detta spärrar
några sätt som spammare använder för att samla e-postadresser.

<hr>
07070100060942000081a40000000000000002000000013d1fe2dd00000148000000200000000000000000000000000000003400000003reloc/postfix/help/opt_double_bounce_sender.ca.html   <header>Sender address for bounce mail</header>

<center><tt>double_bounce_sender</tt></center>
<hr>

This parameter specifies the sender address for mail that must be discarded
when it cannot be delivered. This must be a unique name. All mail to this name
is silently discarded, in order to terminate mail bounce loops.


<hr>
07070100060943000081a40000000000000002000000013d1fe2dd00000185000000200000000000000000000000000000003400000003reloc/postfix/help/opt_double_bounce_sender.es.html   <header>Dirección de remitente para enviar correo</header>

<center><tt>double_bounce_sender</tt></center>
<hr>

Este parámetro especifica la dirección del remitente para correo que tiene que
ser descartado cuando no puede ser entregado. Debe de ser un nombre único. Todo
el correo para este nombre es descartado en silencio con el fin de terminar con
el bucle del envío de correo.


<hr>
   07070100060944000081a40000000000000002000000013d1fe2dd00000148000000200000000000000000000000000000003100000003reloc/postfix/help/opt_double_bounce_sender.html  <header>Sender address for bounce mail</header>

<center><tt>double_bounce_sender</tt></center>
<hr>

This parameter specifies the sender address for mail that must be discarded
when it cannot be delivered. This must be a unique name. All mail to this name
is silently discarded, in order to terminate mail bounce loops.


<hr>
07070100060958000081a40000000000000002000000013d1fe2dd00000195000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_fallback_relay.html    <header>Hosts/domains to hand off mail to on invalid destination </header>

<center><tt>fallback_relay</tt></center>
<hr>

This parameter specifies zero or more hosts or domains to hand off mail to if a
message destination is not found, or if a destination is unreachable.

<p>

By default, mail is bounced when a destination is not found, and delivery is
deferred if a destination is unreachable.


<hr>
   07070100060945000081a40000000000000002000000013d1fe2dd00000170000000200000000000000000000000000000003400000003reloc/postfix/help/opt_double_bounce_sender.pl.html   <header>Adres nadawcy dla zwracanej poczty</header>

<center><tt>double_bounce_sender</tt></center>
<hr>

Ten parametr okre¶la adres nadawcy dla poczty, która musi byæ odrzucona ze
wzglêdu na niemo¿liwo¶æ dorêczenia. Musi to byæ nazwa unikalna. Wszelkie
wiadomo¶ci kierowane pod ten adres bêd± porzucane bez ostrze¿enia aby
przerwaæ zapêtlenia poczty zwracanej.

<hr>
07070100060946000081a40000000000000002000000013d1fe2dd00000144000000200000000000000000000000000000003400000003reloc/postfix/help/opt_double_bounce_sender.sv.html   <header>Avsändaradress för studsad e-post</header>

<center><tt>double_bounce_sender</tt></center>
<hr>

Denna parameter anger avsändaradress för e-post som ska kastas när den inte
kan skickas till mottagaren. Ett unikt namn måste anges. All e-post till detta
namn kastas utan meddelanden för att hindra studs-loopar.

<hr>
07070100060947000081a40000000000000002000000013d1fe2dd000000ff000000200000000000000000000000000000003600000003reloc/postfix/help/opt_duplicate_filter_limit.ca.html <header>Max number of addresses remembered by the duplicate filter</header>

<center><tt>duplicate_filter_limit</tt></center>
<hr>

This parameter limits the number of addresses remembered by the duplicate
filter for alias, virtual, etc. expansion.

<hr>
 07070100060948000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000003600000003reloc/postfix/help/opt_duplicate_filter_limit.es.html <header>Número máximo de direcciones recordadas por el filtro de duplicados</header>

<center><tt>duplicate_filter_limit</tt></center>
<hr>

Este parámetro limita el número de direcciones recordadas por el filtro de
duplicados para expalsión alias, virtual, etc...

<hr>
 07070100060949000081a40000000000000002000000013d1fe2dd000000ff000000200000000000000000000000000000003300000003reloc/postfix/help/opt_duplicate_filter_limit.html    <header>Max number of addresses remembered by the duplicate filter</header>

<center><tt>duplicate_filter_limit</tt></center>
<hr>

This parameter limits the number of addresses remembered by the duplicate
filter for alias, virtual, etc. expansion.

<hr>
 0707010006094a000081a40000000000000002000000013d1fe2dd00000106000000200000000000000000000000000000003600000003reloc/postfix/help/opt_duplicate_filter_limit.pl.html <header>Maksymalna liczba adresów pamiêtanych przez filtr duplikatów</header>

<center><tt>duplicate_filter_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê adreów pamiêtanych przez filtr duplikatów
dla aliasów, adresów wirtualnych, itp. rozwiniêæ.

<hr>
  0707010006094b000081a40000000000000002000000013d1fe2dd000000f4000000200000000000000000000000000000003600000003reloc/postfix/help/opt_duplicate_filter_limit.sv.html <header>Maximalt antal adresser som dubblettfiltret minns</header>

<center><tt>duplicate_filter_limit</tt></center>
<hr>

Denna parameter begränsar antalet adresser som dubblettfiltret för
alias-, virtuell etc. expansion ska komma ihåg.

<hr>
0707010006094c000081a40000000000000002000000013d1fe2dd0000013f000000200000000000000000000000000000003700000003reloc/postfix/help/opt_empty_address_recipient.ca.html    <header>Send mail with empty recipient to...</header>

<center><tt>empty_address_recipient</tt></center>
<hr>

This parameter specifies the destination for mail from <tt><></tt> that is
undeliverable (typically, bounce notifications and other notifications).

<p>

By default, such mail is sent to MAILER-DAEMON.

<hr>
 0707010006094d000081a40000000000000002000000013d1fe2dd0000015a000000200000000000000000000000000000003700000003reloc/postfix/help/opt_empty_address_recipient.es.html    <header>Enviar correo con destinatario vacío a...</header>

<center><tt>empty_address_recipient</tt></center>
<hr>

Este parámetro especifica el destino para correo de <tt><></tt> que es
inentregable (típicamente, enviar notificaciones y otras notificaciones).

<p>

Por defecto, ese correo es enviado a MAILER-DAEMON (DEMONIO-DE-CARTERO).

<hr>
  0707010006094e000081a40000000000000002000000013d1fe2dd0000013f000000200000000000000000000000000000003400000003reloc/postfix/help/opt_empty_address_recipient.html   <header>Send mail with empty recipient to...</header>

<center><tt>empty_address_recipient</tt></center>
<hr>

This parameter specifies the destination for mail from <tt><></tt> that is
undeliverable (typically, bounce notifications and other notifications).

<p>

By default, such mail is sent to MAILER-DAEMON.

<hr>
 0707010006094f000081a40000000000000002000000013d1fe2dd00000170000000200000000000000000000000000000003700000003reloc/postfix/help/opt_empty_address_recipient.pl.html    <header>Wysy³aæ pocztê z&nbsp;pustym adresem odbiorcy do...</header>

<center><tt>empty_address_recipient</tt></center>
<hr>

Ten parametr okre¶la miejsce przeznaczenia dla poczty z&nbsp;adresu
<tt><></tt>, która jest niedorêczalna (zazwyczaj powiadomienia
o&nbsp;odrzuceniu i&nbsp;inne powiadomienia). <p>

Domy¶lnie taka poczta jest wysy³ana do MAILER-DAEMON.

<hr>
07070100060962000081a40000000000000002000000013d1fe2dd000000a7000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_fork_attempts.html <header>Max attempts to fork a process</header>

<center><tt>fork_attempts</tt></center>
<hr>

This parameter limits the number of attempts to fork() a process.

<hr>
 07070100060950000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000003700000003reloc/postfix/help/opt_empty_address_recipient.sv.html    <header>Skicka e-post utan mottagare till ...</header>

<center><tt>empty_address_recipient</tt></center>
<hr>

Denna parameter anger destinationen för e-post från <tt><></tt> som inte
kan sändas (exempelvis studsmeddelanden och andra felmeddelanden).

<p>Standardinställningen är att denna e-post skickas till MAILER-DAEMON.

<hr>
07070100060951000081a40000000000000002000000013d1fe2dd000000f0000000200000000000000000000000000000003600000003reloc/postfix/help/opt_error_notice_recipient.ca.html <header>Send postmaster notice on error to...</header>

<center><tt>error_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
07070100060952000081a40000000000000002000000013d1fe2dd00000136000000200000000000000000000000000000003600000003reloc/postfix/help/opt_error_notice_recipient.es.html <header>Enviar noticia a jefe de estafeta cuando ocurre error a...</header>

<center><tt>error_notice_recipient</tt></center>
<hr>

Especifica quién obtiene noticias de jefe de estafeta si las condiciones
de error de arriba son reconocidas.

<p>

Por defecto a &quot;postmaster (jefe de estafeta)&quot;.

<hr>
  07070100060953000081a40000000000000002000000013d1fe2dd000000f0000000200000000000000000000000000000003300000003reloc/postfix/help/opt_error_notice_recipient.html    <header>Send postmaster notice on error to...</header>

<center><tt>error_notice_recipient</tt></center>
<hr>

Specify who gets postmaster notices if the above error conditions is
recognized.

<p>

Defaults to &quot;postmaster&quot;.

<hr>
07070100060954000081a40000000000000002000000013d1fe2dd00000124000000200000000000000000000000000000003600000003reloc/postfix/help/opt_error_notice_recipient.pl.html <header>Wysy³aæ powiadomienia od postmastera o&nbsp;b³êdach do...</header>

<center><tt>error_notice_recipient</tt></center>
<hr>

Okre¶la, kto bêdzie otrzymywaæ powiadomienia od postmstera, gdy zostanie
stwierdzona powy¿sza sytuacja b³êdna. <p>

Domy¶lnie do &quot;postmaster&quot;-a.

<hr>
07070100060955000081a40000000000000002000000013d1fe2dd000000ef000000200000000000000000000000000000003600000003reloc/postfix/help/opt_error_notice_recipient.sv.html <header>Skicka felmeddelanden till ...</header>

<center><tt>error_notice_recipient</tt></center>
<hr>

Ange vem som ska få postmaster-meddelanden om ovanstående fel uppträder.

<p>Standard är att skicka till &quot;postmaster&quot;.

<hr>
 07070100060956000081a40000000000000002000000013d1fe2dd00000195000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_fallback_relay.ca.html <header>Hosts/domains to hand off mail to on invalid destination </header>

<center><tt>fallback_relay</tt></center>
<hr>

This parameter specifies zero or more hosts or domains to hand off mail to if a
message destination is not found, or if a destination is unreachable.

<p>

By default, mail is bounced when a destination is not found, and delivery is
deferred if a destination is unreachable.


<hr>
   07070100060957000081a40000000000000002000000013d1fe2dd0000019e000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_fallback_relay.es.html <header>Máquinas/dominios que manejan correo hacia destino inválido</header>

<center><tt>fallback_relay</tt></center>
<hr>

Este parámetro especifica cero o más máquinas o dominios que manejan el correo
que no encuentra su destinatario de mensaje o si el destino es inalcanzable.

<p>

Por defecto, el correo es enviado si el destino no se encuentra y la entrega
es diferida si un destino es inalcanzable.


<hr>
  07070100060959000081a40000000000000002000000013d1fe2dd000001de000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_fallback_relay.pl.html <header>Hosty/domeny, do których odsy³aæ pocztê w&nbsp;przypadku nieznanego odbiorcy</header>

<center><tt>fallback_relay</tt></center>
<hr>

Ten parametr okre¶la zero lub wiêcej hostów lub domen, do których odsy³ana
bêdzie poczta je¶li miejsce przeznaczenia wiadomo¶ci jest nieznane lub
nieosi±galne. <p>

Domy¶lnie, poczta skierowana do nieznanego miejsca przeznaczenia jest
odrzucana, a gdy miejsce przeznaczenia jest nieosi±galne dorêczenie jest
odk³adane na pó¼niej.

<hr>
  0707010006095a000081a40000000000000002000000013d1fe2dd000001a3000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_fallback_relay.sv.html <header>Datorer/domäner dit e-post med ogiltig adress skickas</header>

<center><tt>fallback_relay</tt></center>
<hr>

Denna parameter anger noll eller flera datorer eller domäner dit e-post skickas
om ingen destination hittas eller om destinationen inte går att nå.

<p>Standardinställningen är att meddelandet studsar om destinationen inte hittas
och att sändningen skjuts upp om destinationen inte går att nå.

<hr>
 0707010006095b000081a40000000000000002000000013d1fe2dd00000174000000200000000000000000000000000000003200000003reloc/postfix/help/opt_fallback_transport.ca.html <header>Optional transport for unknown recipients</header>

<center><tt>fallback_transport</tt></center>
<hr>

This parameter specifies the optional transport in <tt>master.cf</tt> to use
for recipients that are not found in the UNIX <tt>passwd</tt> database.

<p>

This parameter has precedence over the
<a href=opt_luser_relay><tt>luser_relay</tt></a> parameter.


<hr>
0707010006095c000081a40000000000000002000000013d1fe2dd0000018b000000200000000000000000000000000000003200000003reloc/postfix/help/opt_fallback_transport.es.html <header>Transporte opcional para destinatarios desconocidos</header>

<center><tt>fallback_transport</tt></center>
<hr>

Este parámetro especifica el transporte opcional en <tt>master.cf</tt> que
se usa para destinatarios que no están en la base de datos de UNIX <tt>passwd</tt>.

<p>

Este parámetro tiene precedencia sobre el parámetro
<a href=opt_luser_relay><tt>luser_relay</tt></a>.


<hr>
 07070100060967000081a40000000000000002000000013d1fe2dd000000aa000000200000000000000000000000000000002700000003reloc/postfix/help/opt_fork_delay.html    <header>Time in seconds between fork attempts</header>

<center><tt>fork_delay</tt></center>
<hr>

This parameter sets the time in seconds between fork() attempts.

<hr>
  0707010006095d000081a40000000000000002000000013d1fe2dd00000174000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_fallback_transport.html    <header>Optional transport for unknown recipients</header>

<center><tt>fallback_transport</tt></center>
<hr>

This parameter specifies the optional transport in <tt>master.cf</tt> to use
for recipients that are not found in the UNIX <tt>passwd</tt> database.

<p>

This parameter has precedence over the
<a href=opt_luser_relay><tt>luser_relay</tt></a> parameter.


<hr>
0707010006095e000081a40000000000000002000000013d1fe2dd0000018c000000200000000000000000000000000000003200000003reloc/postfix/help/opt_fallback_transport.pl.html <header>Fakultatywna metoda ekspedycji dla nieznanych odbiorców</header>

<center><tt>fallback_transport</tt></center>
<hr>

Ten parametr okre¶la fakultatywn± metodê ekspedycji
w&nbsp;<tt>master.cf</tt>, wykorzystywan± dla odbiorców nie wystêpuj±cych
w&nbsp;bazie <tt>passwd</tt> Uniksa. <p>

Ten parametr ma pierwszeñstwo przed parametrem
<a href=opt_luser_relay><tt>luser_relay</tt></a>.

<hr>
0707010006095f000081a40000000000000002000000013d1fe2dd00000164000000200000000000000000000000000000003200000003reloc/postfix/help/opt_fallback_transport.sv.html <header>Alternativ transport för okända mottagare</header>

<center><tt>fallback_transport</tt></center>
<hr>

Denna parameter anger alternativ transportmetod i <tt>master.cf</tt> som ska
användas för mottagare som inte finns i UNIX-<tt>passwd</tt>-databasen.

<p>Denna parameter går före parametern
<a href=opt_luser_relay><tt>luser_relay</tt></a>.

<hr>
07070100060960000081a40000000000000002000000013d1fe2dd000000a7000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_fork_attempts.ca.html  <header>Max attempts to fork a process</header>

<center><tt>fork_attempts</tt></center>
<hr>

This parameter limits the number of attempts to fork() a process.

<hr>
 07070100060961000081a40000000000000002000000013d1fe2dd000000af000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_fork_attempts.es.html  <header>Intentos máximos de duplicar proceso</header>

<center><tt>fork_attempts</tt></center>
<hr>

Este parámetro limita el número de intentos de duplicar un proceso.

<hr>
 07070100060963000081a40000000000000002000000013d1fe2dd000000b4000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_fork_attempts.pl.html  <header>Maksymalna liczba prób uruchomienia programu</header>

<center><tt>fork_attempts</tt></center>
<hr>

Ten parametr ogranicza liczbê prób wykonania fork() dla procesu.

<hr>
07070100060964000081a40000000000000002000000013d1fe2dd000000bc000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_fork_attempts.sv.html  <header>Maximalt antal försök att starta underprocess</header>

<center><tt>fork_attempts</tt></center>
<hr>

Denna parameter begränsar antalet försök att göra fork() på en process.

<hr>
07070100060965000081a40000000000000002000000013d1fe2dd000000aa000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_fork_delay.ca.html <header>Time in seconds between fork attempts</header>

<center><tt>fork_delay</tt></center>
<hr>

This parameter sets the time in seconds between fork() attempts.

<hr>
  07070100060966000081a40000000000000002000000013d1fe2dd000000bf000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_fork_delay.es.html <header>Tiempo en segundos entre intentos de duplicado</header>

<center><tt>fork_delay</tt></center>
<hr>

Este parámetro pone el tiempo en segundos entre intetos de duplicado fork().

<hr>
 07070100060968000081a40000000000000002000000013d1fe2dd000000d0000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_fork_delay.pl.html <header>Okres pomiêdzy próbami uruchomienia programu w&nbsp;sekundach</header>

<center><tt>fork_delay</tt></center>
<hr>

Ten parametr ustawia okres w&nbsp;sekundach pomiêdzy próbami wykonania fork().

<hr>
07070100060969000081a40000000000000002000000013d1fe2dd000000b5000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_fork_delay.sv.html <header>Tid (sekunder) mellan försök att starta underprocess</header>

<center><tt>fork_delay</tt></center>
<hr>

Denna parameter anger tiden i sekunder mellan fork()-försök.

<hr>
   0707010006096a000081a40000000000000002000000013d1fe2dd000002c5000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_forward_path.ca.html   <header>Search list for forward</header>

<center><tt>forward_path</tt></center>
<hr>

This parameter specifies a search list. The first file that is found is used.

<p>

The following expansions are done: 
<ul>
<li><tt>$user</tt> (recipient username),
<li><tt>$shell</tt> (recipient shell), 
<li><tt>$home</tt> (recipient home directory),
<li><tt>$recipient</tt> (full recipient address), 
<li><tt>$extension</tt> (recipient address extension), 
<li><tt>$domain</tt> (recipient domain), 
<li><tt>$local</tt> (entire recipient localpart), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Specify <tt>${name?value}</tt> or <tt>${name:value}</tt> to expand value only
when <tt>$name</tt> does (does not) exist.

<hr>
   0707010006096b000081a40000000000000002000000013d1fe2dd0000031f000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_forward_path.es.html   <header>Lista de búsquda para remisión</header>

<center><tt>forward_path</tt></center>
<hr>

Este parámetro especifica una lista de búsqueda. Se usa el primer archivo
que se encuentra.

<p>

Se realizan las siguientes expansiones:
<ul>
<li><tt>$user</tt> (nombre de usuario de destinatario),
<li><tt>$shell</tt> (shell de destinatario),
<li><tt>$home</tt> (directorio inicial de destinatario),
<li><tt>$recipient</tt> (dirección completa de destinatario),
<li><tt>$extension</tt> (extensión de dirección de destinatario),
<li><tt>$domain</tt> (dominio de destinatario),
<li><tt>$local</tt> (parte local completa del destinatario),
<li><tt>$recipient_delimiter</tt>.
</ul>

Especifica <tt>${name?value}</tt> o <tt>${name:value}</tt> para expandir valor
sólo cuando <tt>$name</tt> (no) exista.

<hr>
 0707010006096c000081a40000000000000002000000013d1fe2dd000002c5000000200000000000000000000000000000002900000003reloc/postfix/help/opt_forward_path.html  <header>Search list for forward</header>

<center><tt>forward_path</tt></center>
<hr>

This parameter specifies a search list. The first file that is found is used.

<p>

The following expansions are done: 
<ul>
<li><tt>$user</tt> (recipient username),
<li><tt>$shell</tt> (recipient shell), 
<li><tt>$home</tt> (recipient home directory),
<li><tt>$recipient</tt> (full recipient address), 
<li><tt>$extension</tt> (recipient address extension), 
<li><tt>$domain</tt> (recipient domain), 
<li><tt>$local</tt> (entire recipient localpart), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Specify <tt>${name?value}</tt> or <tt>${name:value}</tt> to expand value only
when <tt>$name</tt> does (does not) exist.

<hr>
   0707010006096d000081a40000000000000002000000013d1fe2dd00000306000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_forward_path.pl.html   <header>Lista przeszukiwana dla przekazywania</header>

<center><tt>forward_path</tt></center>
<hr>

Ten parametr okre¶la listê przeszukiwania. U¿ywany jest pierwszy znaleziony
plik. <p>

Wykonywane s± nastêpuj±ce rozwiniêcia:
<ul>
<li><tt>$user</tt> (nazwa u¿ytkownika bêd±cego odbiorc±),
<li><tt>$shell</tt> (pow³oka odbiorcy), 
<li><tt>$home</tt> (katalog domowy odbiorcy),
<li><tt>$recipient</tt> (pe³ny adres odbiorcy), 
<li><tt>$extension</tt> (rozszerzenie adresu odbiorcy), 
<li><tt>$domain</tt> (domena odbiorcy), 
<li><tt>$local</tt> (pe³na lokalna czê¶æ adresu odbiorcy), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Podaj <tt>${nazwa?wartosc}</tt> lub <tt>${nazwa:wartosc}</tt>, aby rozwijaæ
wartosc tylko wtedy, gdy <tt>$nazwa</tt> istnieje (nie istnieje).

<hr>
  0707010006096e000081a40000000000000002000000013d1fe2dd000002ac000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_forward_path.sv.html   <header>Sökväg för eftersändning</header>

<center><tt>forward_path</tt></center>
<hr>

Denna parameter anger en lista med sökvägar. Den fil som först hittas används.

<p>Följande expansioner görs:
<ul>
<li><tt>$user</tt> (mottagaranvändarnamn),
<li><tt>$shell</tt> (mottagarskal),
<li><tt>$home</tt> (mottagarhemkatalog),
<li><tt>$recipient</tt> (fullständig mottagaradress),
<li><tt>$extension</tt> (mottagaradressändelse),
<li><tt>$domain</tt> (mottagardomän),
<li><tt>$local</tt> (mottagarens hela lokala del), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Ange <tt>${namn?värde}</tt> eller <tt>${namn:värde}</tt> för att bara expandera
värdet när <tt>$namn</tt> (inte) finns.

<hr>
0707010006096f000081a40000000000000002000000013d1fe2dd00000190000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_depth.ca.html   <header>Number of subdir levels below the queue dir</header>

<center><tt>hash_queue_depth</tt></center>
<hr>

This parameter specifies the number of subdirectory levels below the queue
directories listed in the
<a href=opt_hash_queue_names><tt>hash_queue_names</tt></a> parameter.

<p>

Multiple subdirectory levels can speed up directory access by reducing the
number of files per directory.

<hr>
07070100060970000081a40000000000000002000000013d1fe2dd000001bb000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_depth.es.html   <header>Número de niveles de subdirectorio bajo el directorio de cola</header>

<center><tt>hash_queue_depth</tt></center>
<hr>

Este parámetro especifica el número de niveles de subdirectorio bajo los
directorios de cola listados en el parámetro
<a href=opt_hash_queue_names><tt>hash_queue_names</tt></a>.

<p>

Múltiples niveles de subdirectorio puedene acelerar el acceso a directorio
al reducir el número de archivos por directorio.

<hr>
 07070100060971000081a40000000000000002000000013d1fe2dd00000190000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_hash_queue_depth.html  <header>Number of subdir levels below the queue dir</header>

<center><tt>hash_queue_depth</tt></center>
<hr>

This parameter specifies the number of subdirectory levels below the queue
directories listed in the
<a href=opt_hash_queue_names><tt>hash_queue_names</tt></a> parameter.

<p>

Multiple subdirectory levels can speed up directory access by reducing the
number of files per directory.

<hr>
07070100060972000081a40000000000000002000000013d1fe2dd000001ab000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_depth.pl.html   <header>Liczba poziomów podkatalogów w&nbsp;katalogu kolejki</header>

<center><tt>hash_queue_depth</tt></center>
<hr>

Ten parametr okre¶la liczbê poziomów podkatalogów poni¿ej katalogów kolejki
wymienionych w&nbsp;opcji 
<a href=opt_hash_queue_names><tt>hash_queue_names</tt></a>. <p>

Wiele poziomów podkatalogów mo¿e przyspieszyæ dostêp do katalogów poprzez
zmniejszenie liczby plików w&nbsp;ka¿dym z&nbsp;katalagów.

<hr>
 07070100060973000081a40000000000000002000000013d1fe2dd00000189000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_depth.sv.html   <header>Antal underkatalognivåer under kökatalogen</header>

<center><tt>hash_queue_depth</tt></center>
<hr>

Denna parameter anger antalet underkatalognivåer under de kökataloger som
räknas upp i parametern
<a href=opt_hash_queue_names><tt>hash_queue_names</tt></a>.

<p>Multipla underkatalognivåer kan snabba upp åtkomsten till katalogerna
genom att antalet filer per katalog minskas.

<hr>
   07070100060974000081a40000000000000002000000013d1fe2dd00000250000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_names.ca.html   <header>Name of queue dirs split accross subdirs</header>

<center><tt>hash_queue_names</tt></center>
<hr>

This parameter specifies the names of queue directories that are split across
multiple subdirectory levels. Hashing MUST NOT be used with a world-writable
maildrop directory. Hashing MUST be used for the defer logfile directory, or
mail system performance will suffer.

<p>

Unfortunately, hashing the incoming or deferred queue can actually
slow the mail system down (<tt>mailq</tt> with an empty queue can take
several seconds) so it should be done only in case of emergency.

<hr>
07070100060975000081a40000000000000002000000013d1fe2dd000002a1000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_names.es.html   <header>Nombre de directorios de cola partidos a través de los subdirectorios</header>

<center><tt>hash_queue_names</tt></center>
<hr>

Este parámetro especifica los nombres de directorios de cola que están partidos
a través de múltiples niveles de subdirectorio. NO SE DEBE DE USAR con directorios
de acceso total de escritura. DEBE DE USARSE para directorios de archivo de
historial diferido o el rendimiento del sistema sufrirá por ello.

<p>

Desafortunádamente, hacer esto con la cola entrante o diferida puede ralentizar
el sistema de correo (<tt>mailq</tt> con ula cola vacía puede estar varios
segundos), por ello debería hacerse sólo en caso de emergencia.

<hr>
   07070100060976000081a40000000000000002000000013d1fe2dd00000250000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_hash_queue_names.html  <header>Name of queue dirs split accross subdirs</header>

<center><tt>hash_queue_names</tt></center>
<hr>

This parameter specifies the names of queue directories that are split across
multiple subdirectory levels. Hashing MUST NOT be used with a world-writable
maildrop directory. Hashing MUST be used for the defer logfile directory, or
mail system performance will suffer.

<p>

Unfortunately, hashing the incoming or deferred queue can actually
slow the mail system down (<tt>mailq</tt> with an empty queue can take
several seconds) so it should be done only in case of emergency.

<hr>
07070100060977000081a40000000000000002000000013d1fe2dd000002a2000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_names.pl.html   <header>Nazwa katalogów kolejki podzielonej na podkatalogi</header>

<center><tt>hash_queue_names</tt></center>
<hr>

Ten parametr okre¶la nazwy katalogów kolejki, która zosta³a rozdzielona
pomiêdzy wielopoziomowe podkatalogi. Podzia³u NIE WOLNO robiæ
w&nbsp;katalogu zrzucania poczty, który ma prawa zapisu dla ca³ego ¶wiata.
Podzia³ MUSI byæ zrobiony dla katalogu odroczonych logów, lub ucierpi
wydajno¶æ systemu poczty. <p>

Niestety, podzia³ kolejki poczty przychodz±cej lub odroczonej mo¿e
w&nbsp;rzeczywisto¶ci spowolniæ system poczty (<tt>mailq</tt> przy pustej
kolejce mo¿e zaj±æ kilka sekund), wiêc powinno siê go robiæ jedynie
w&nbsp;sytuacjach krytycznych.

<hr>
  07070100060978000081a40000000000000002000000013d1fe2dd00000271000000200000000000000000000000000000003000000003reloc/postfix/help/opt_hash_queue_names.sv.html   <header>Namn på kökataloger som delas upp på underkataloger</header>

<center><tt>hash_queue_names</tt></center>
<hr>

Denna parameter anger namnen på de kökataloger som delas upp på flera
underkatalognivåer. Hashning <b>får inte</b> användas med en e-postkatalog som
hela världen kan skriva till. Hashning <b>måste</b> användas för
fördröjningsloggfilskatalogen, annars kommer e-postsystemets prestanda att gå ner.

<p>Tyvärr kan hashning av kön för inkommande meddelanden eller fördröjningskön
faktiskt slöa ned e-postsystemet (<tt>mailq</tt> på en tom kö kan ta flera
sekunder), så detta bör endast göras i nödfall.

<hr>
   07070100060979000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000003100000003reloc/postfix/help/opt_header_size_limit.ca.html  <header>Max memory used for processing headers</header>

<center><tt>header_size_limit</tt></center>
<hr>

This parameter limits the amount of memory in bytes used for processing a
message header. If a header is larger, the remainder of the entire message is
treated as message body.

<hr>
  0707010006097a000081a40000000000000002000000013d1fe2dd00000130000000200000000000000000000000000000003100000003reloc/postfix/help/opt_header_size_limit.es.html  <header>Máxima memoria usada para cabeceras de proceso</header>

<center><tt>header_size_limit</tt></center>
<hr>

Este parámetro limita la cantidad de memoria en octetos usada para procesar
una cabecera de mensaje. Si una cabecera es mayor, el resto del mensaje es
tratado como cuerpo de mensaje.

<hr>
0707010006097b000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_header_size_limit.html <header>Max memory used for processing headers</header>

<center><tt>header_size_limit</tt></center>
<hr>

This parameter limits the amount of memory in bytes used for processing a
message header. If a header is larger, the remainder of the entire message is
treated as message body.

<hr>
  0707010006097c000081a40000000000000002000000013d1fe2dd00000145000000200000000000000000000000000000003100000003reloc/postfix/help/opt_header_size_limit.pl.html  <header>Maksimum wykorzystania pamiêci do przetwarzania nag³ówków</header>

<center><tt>header_size_limit</tt></center>
<hr>

Ten parametr ogranicza ilo¶æ pamiêci w&nbsp;bajtach wykorzystywanej do
przetwarzania nag³ówków wiadomo¶ci. Je¶li nag³ówki s± wiêksze, pozosta³a czê¶æ
wiadomo¶ci jest traktowana jako jej tre¶æ.

<hr>
   0707010006097d000081a40000000000000002000000013d1fe2dd00000142000000200000000000000000000000000000003100000003reloc/postfix/help/opt_header_size_limit.sv.html  <header>Maximal minnesåtgång för att processa meddelandehuvud</header>

<center><tt>header_size_limit</tt></center>
<hr>

Denna parameter begränsar det minnesutrymme som används för att processa ett
meddelandes huvud. Om något huvud skulle vara större kommer resten av meddelandet
att behandlas som meddelandekropp.

<hr>
  0707010006097e000081a40000000000000002000000013d1fe2dd000001b6000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_home_mailbox.ca.html   <header>Pathname of user mailbox file</header>

<center><tt>home_mailbox</tt></center>
<hr>

This parameter specifies the optional pathname of a mailbox file relative to a
user's home directory. The default mailbox file is
<tt>/var/spool/mail/user</tt> or <tt>/var/mail/user</tt>.

<p>

Specify &quot;Maildir/&quot for qmail-style delivery (the / is required).

<p>

Examples: 

<ul><li><tt>Mailbox</tt>
<li><tt>Maildir/</tt>
</ul>

<hr>
  0707010006097f000081a40000000000000002000000013d1fe2dd000001de000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_home_mailbox.es.html   <header>Trayectoria del archivo buzón de usuario</header>

<center><tt>home_mailbox</tt></center>
<hr>

Este parámetro especifica la trayectoria opcional de un archivo de buzón
relativa a un directorio inicial de usuario. El archivo de buzón por defecto es
<tt>/var/spool/mail/user</tt> o <tt>/var/mail/user</tt>.

<p>

Especifica &quot;Maildir/&quot para entrega de estilo qmail (la / es requerida).

<p>

Ejemplos: 

<ul><li><tt>Mailbox</tt>
<li><tt>Maildir/</tt>
</ul>

<hr>
  07070100060980000081a40000000000000002000000013d1fe2dd000001b6000000200000000000000000000000000000002900000003reloc/postfix/help/opt_home_mailbox.html  <header>Pathname of user mailbox file</header>

<center><tt>home_mailbox</tt></center>
<hr>

This parameter specifies the optional pathname of a mailbox file relative to a
user's home directory. The default mailbox file is
<tt>/var/spool/mail/user</tt> or <tt>/var/mail/user</tt>.

<p>

Specify &quot;Maildir/&quot for qmail-style delivery (the / is required).

<p>

Examples: 

<ul><li><tt>Mailbox</tt>
<li><tt>Maildir/</tt>
</ul>

<hr>
  07070100060981000081a40000000000000002000000013d1fe2dd00000206000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_home_mailbox.pl.html   <header>¦cie¿ka do skrzynki pocztowej u¿ytkownika wzglêdem katalogu domowego</header>

<center><tt>home_mailbox</tt></center>
<hr>

Ten parametr okre¶la fakultatywn± ¶cie¿kê do skrzynki pocztowej wzglêdem
katalogu domowego u¿ytkownika. Domy¶ln± skrzynk± pocztow± jest
<tt>/var/spool/mail/user</tt> lub <tt>/var/mail/user</tt>. <p>

Podaj &quot;Katalogpoczty/&quot dla dorêczania wzorowanego na qmailu (znak /
jest niezbêdny). <p>

Przyk³ady: 
<ul>
<li><tt>SkrzynkaPocztowa</tt>
<li><tt>KatalogPoczty/</tt>
</ul>

<hr>
  07070100060982000081a40000000000000002000000013d1fe2dd000001bc000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_home_mailbox.sv.html   <header>Sökväg till användarens brevlåda</header>

<center><tt>home_mailbox</tt></center>
<hr>

Denna parameter anger en alternativ sökväg till brevlådefilen relativt en
användares hemkatalog. Standardinställningen för brevlådefilen är
<tt>/var/spool/mail/user</tt> eller <tt>/var/mail/user</tt>.

<p>Ange &quot;Maildir/&quot för qmail-sändningar (tecknet / måste anges).

<p>Exempel:
<ul><li><tt>Mailbox</tt>
<li><tt>Maildir/</tt>
</ul>

<hr>
07070100060983000081a40000000000000002000000013d1fe2dd000000dc000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_hopcount_limit.ca.html <header>Max number of Received: headers</header>

<center><tt>hopcount_limit</tt></center>
<hr>

This parameter limits the number of <tt>Received:</tt> message headers. A
message that exceeds the limit is bounced.

<hr>
07070100060984000081a40000000000000002000000013d1fe2dd000000e4000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_hopcount_limit.es.html <header>Máximo número de Recibido: cabeceras</header>

<center><tt>hopcount_limit</tt></center>
<hr>

Este parámetro limita el número de cabeceras de mensaje <tt>Recibido:</tt>. Un
mensaje que exceda el límite es enviado.

<hr>
07070100060985000081a40000000000000002000000013d1fe2dd000000dc000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_hopcount_limit.html    <header>Max number of Received: headers</header>

<center><tt>hopcount_limit</tt></center>
<hr>

This parameter limits the number of <tt>Received:</tt> message headers. A
message that exceeds the limit is bounced.

<hr>
07070100060986000081a40000000000000002000000013d1fe2dd00000104000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_hopcount_limit.pl.html <header>Maksymalna liczba nag³ówków Received:</header>

<center><tt>hopcount_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê nag³ówkow <tt>Received:</tt>
w&nbsp;wiadomo¶ci. Wiadomo¶æ, dla której to ograniczenie jest przekroczone,
jest odrzucana.

<hr>
07070100060987000081a40000000000000002000000013d1fe2dd000000e2000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_hopcount_limit.sv.html <header>Maximalt antal Received:-huvuden</header>

<center><tt>hopcount_limit</tt></center>
<hr>

Denna parameter begränsar antalet <tt>Received:</tt>-huvuden i ett meddelande.
E-postmeddelanden med fler sådana studsas.

<hr>
  07070100060988000081a40000000000000002000000013d1fe2dd00000148000000200000000000000000000000000000003600000003reloc/postfix/help/opt_ignore_mx_lookup_error.ca.html <header>Ignore MX lookup error</header>

<center><tt>ignore_mx_lookup_error</tt></center>
<hr>

This parameter controls what happens when a name server fails to respond to an
MX lookup request. By default, Postfix defers delivery and tries again after
some delay. Specify <tt>yes</tt> to force an A record lookup instead.

<hr>
07070100060989000081a40000000000000002000000013d1fe2dd00000182000000200000000000000000000000000000003600000003reloc/postfix/help/opt_ignore_mx_lookup_error.es.html <header>Ignorar error de búsqueda MX</header>

<center><tt>ignore_mx_lookup_error</tt></center>
<hr>

Ese parámetro controla lo que ocrurre cuando un servidor de nombres falla al
responder a un requerimiento de búsqueda MX. Por defecto, Postfix difiere la
entrega e lo reintenta de nuevo tras un tiempo. Especifica <tt>sí</tt> para
forzar una búsqueda de registro A, en su lugar.

<hr>
  0707010006098a000081a40000000000000002000000013d1fe2dd00000148000000200000000000000000000000000000003300000003reloc/postfix/help/opt_ignore_mx_lookup_error.html    <header>Ignore MX lookup error</header>

<center><tt>ignore_mx_lookup_error</tt></center>
<hr>

This parameter controls what happens when a name server fails to respond to an
MX lookup request. By default, Postfix defers delivery and tries again after
some delay. Specify <tt>yes</tt> to force an A record lookup instead.

<hr>
0707010006098b000081a40000000000000002000000013d1fe2dd00000173000000200000000000000000000000000000003600000003reloc/postfix/help/opt_ignore_mx_lookup_error.pl.html <header>Ignorowaæ b³±d poszukiwania rekordu MX</header>

<center><tt>ignore_mx_lookup_error</tt></center>
<hr>

Ten parametr okre¶la, co ma siê dziaæ, gdy serwer DNS nie odpowie na
zapytanie o&nbsp;rekord MX. Domy¶lnie, Postfix odracza dorêczenie
i&nbsp;próbuje ponownie po pewnym czasie. Podaj <tt>tak</tt>, aby wymusiæ
w&nbsp;zamian korzystanie z&nbsp;rekordu A.

<hr>
 0707010006098c000081a40000000000000002000000013d1fe2dd00000163000000200000000000000000000000000000003600000003reloc/postfix/help/opt_ignore_mx_lookup_error.sv.html <header>Strunta i MX-uppslagningsfel</header>

<center><tt>ignore_mx_lookup_error</tt></center>
<hr>

Denna parameter styr vad som händer då en namnserver inte lyckas svara på en
MX-uppslagningsförfrågning. Standard är att Postfix fördröjer sändningen och
försöker igen efter ett tag. Ange <tt>ja</tt> för att forcera en A-postuppslagning
istället.

<hr>
 0707010006098d000081a40000000000000002000000013d1fe2dd000001e6000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_inet_interfaces.ca.html    <header>Network interfaces for receiving mail</header>

<center><tt>inet_interfaces</tt></center>
<hr>

This parameter specifies the network interface addresses that this mail system
receives mail on.

<p>

By default, the software claims all active interfaces on the machine. The
parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.

<p>

Typical configurations are:

<ul>
<li> <tt>all</tt>
<li> <tt>$myhostname</tt>
<li> <tt>$myhostname, localhost</tt>
</ul>

<hr>
  0707010006098e000081a40000000000000002000000013d1fe2dd0000020b000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_inet_interfaces.es.html    <header>Interfaces de red para recibir correo</header>

<center><tt>init_interfaces</tt></center>
<hr>

Este parámetro especifica las direcciones de interfaz de red en las que
este sistema de correo recibe correo.

<p>

Por defecto, el software reclama todas las interfaces activas de la máquina.
El parámetro también controla la entrega de correo a <tt>usuario@[dirección.ip]</tt>.

<p>

Las configuraciones típicas son:

<ul>
<li> <tt>todas</tt>
<li> <tt>$myhostname</tt>
<li> <tt>$myhostname, localhost</tt>
</ul>

<hr>
 0707010006098f000081a40000000000000002000000013d1fe2dd000001e6000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_inet_interfaces.html   <header>Network interfaces for receiving mail</header>

<center><tt>inet_interfaces</tt></center>
<hr>

This parameter specifies the network interface addresses that this mail system
receives mail on.

<p>

By default, the software claims all active interfaces on the machine. The
parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.

<p>

Typical configurations are:

<ul>
<li> <tt>all</tt>
<li> <tt>$myhostname</tt>
<li> <tt>$myhostname, localhost</tt>
</ul>

<hr>
  07070100060990000081a40000000000000002000000013d1fe2dd0000020c000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_inet_interfaces.pl.html    <header>Interfejsy sieciowe dla poczty przychodz±cej</header>

<center><tt>inet_interfaces</tt></center>
<hr>

Ten parametr okre¶la adresy interfejsów sieciowych, z&nbsp;których ten
system poczty bêdzie odbiera³ pocztê. <p>

Domy¶lnie, program przypisuje sobie wszystkie aktywne interfejsy maszyny.
Ten parametr równie¿ reguluje dorêczanie poczty do
<tt>uzytkownik@[adres.ip]</tt>. <p>

Typowe konfiguracje to:

<ul>
<li> <tt>wszystkie</tt>
<li> <tt>$mojanazwahosta</tt>
<li> <tt>$mojanazwahosta, localhost</tt>
</ul>

<hr>
07070100060991000081a40000000000000002000000013d1fe2dd000001da000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_inet_interfaces.sv.html    <header>Nätverksinterface för mottagning av e-post</header>

<center><tt>inet_interfaces</tt></center>
<hr>

Denna parameter anger de nätverksadresser som detta e-postsystem ska ta emot
e-post på.

<p>Standard är att programmet läser av alla aktiva interface på maskinen.
Parametern styr också e-postsändning till <tt>användare@[ip.adress]</tt>.

<p>Vanliga inställningar är:
<ul>
<li> <tt>all</tt>
<li> <tt>$myhostname</tt>
<li> <tt>$myhostname, localhost</tt>
</ul>

<hr>
  07070100060992000081a40000000000000002000000013d1fe2dd000001ef000000200000000000000000000000000000003f00000003reloc/postfix/help/opt_initial_destination_concurrency.ca.html    <header>Initial concurrency level for delivery to the same destination</header>

<center><tt>initial_destination_concurrency</tt></center>
<hr>

This parameter specifies the initial per-destination concurrency level for
parallel delivery to the same destination. This limit applies to delivery via
SMTP, via the local delivery agent and via the pipe mailer.

<p>

With concurrency of 1, one bad message is enough to block all mail
to a site. A concurrency of 2 seems a reasonable choice.


<hr>
 07070100060993000081a40000000000000002000000013d1fe2dd000001f9000000200000000000000000000000000000003f00000003reloc/postfix/help/opt_initial_destination_concurrency.es.html    <header>Nivel inicial de cocurrencia para entrega al mismo destino</header>

<center><tt>initial_destination_concurrency</tt></center>
<hr>

Este parámetro especifica el nivel de cocurrencia inicial por-destino para
entrega paralela al mismo destino. Este límite se aplica a entrega vía SMTP,
vía agente de entrega local y vía cartero por tubo.

<p>

Con concurrencia de 1, un mensaje malo es suficiente para bloquear todo el
correo a un sitio. Una concurrencia de 2 parece una elección razonable.


<hr>
   07070100060994000081a40000000000000002000000013d1fe2dd000001ef000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_initial_destination_concurrency.html   <header>Initial concurrency level for delivery to the same destination</header>

<center><tt>initial_destination_concurrency</tt></center>
<hr>

This parameter specifies the initial per-destination concurrency level for
parallel delivery to the same destination. This limit applies to delivery via
SMTP, via the local delivery agent and via the pipe mailer.

<p>

With concurrency of 1, one bad message is enough to block all mail
to a site. A concurrency of 2 seems a reasonable choice.


<hr>
 07070100060995000081a40000000000000002000000013d1fe2dd0000027b000000200000000000000000000000000000003f00000003reloc/postfix/help/opt_initial_destination_concurrency.pl.html    <header>Pocz±tkowy poziom konkurencji przy dorêczaniu do jednego miejsca
przeznaczenia </header>

<center><tt>initial_destination_concurrency</tt></center>
<hr>

Ten parametr okre¶la pocz±tkowy poziom konkurencji dla równoleg³ego
dorêczania do jednego miejsca przeznaczenia, taki sam dla wszystkich miejsc
przeznaczenia. To ograniczenie dotyczy dorêczania przez SMTP, przez lokalny
program dorêczaj±cy i&nbsp;przez dorêczanie w&nbsp;potoku. <p>

Przy poziomie konkutrencji 1 wystarczy jedna z³a wiadomo¶æ, aby zablokowaæ
wszelk± pocztê do okre¶lonego miejsca przeznaczenia. Poziom konkurencji 2
wydaje siê byæ sensownym wyborem.

<hr>
 07070100060996000081a40000000000000002000000013d1fe2dd00000203000000200000000000000000000000000000003f00000003reloc/postfix/help/opt_initial_destination_concurrency.sv.html    <header>Startnivå för samtidig sändning till samma destination</header>

<center><tt>initial_destination_concurrency</tt></center>
<hr>

Denna parameter anger startnivå för samtidig, parallell sändning till samma destination, dvs det antal meddelanden som ska börja sändas samtidigt.
Begränsningen gäller sändning via SMTP, via den lokala e-posthanteraren och via
programpostaren (pipe).

<p>Om parametern satts till 1, kan ett trasigt e-postmeddelande blockera all e-post till
en site. 2 är ett vettigt val.

<hr>
 07070100060997000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_invalid_hostname_reject_code.ca.html   <header>SMTP server response on hostname reject</header>

<center><tt>invalid_hostname_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
reject_invalid_hostname anti-UCE restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060998000081a40000000000000002000000013d1fe2dd0000015e000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_invalid_hostname_reject_code.es.html   <header>Respuesta de servidor SMTP al rechazarse nombre de máquina</header>

<center><tt>invalid_hostname_reject_code</tt></center>
<hr>

Este parámetro especifica la respuesta de servidor SMTP cuando un cliente
viola la restricción anti-UCE reject_invalid_hostname.

<p>

No lo cambies a menos que tengas un completo conocimiento de RFC 822.


<hr>
  07070100060999000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000003900000003reloc/postfix/help/opt_invalid_hostname_reject_code.html  <header>SMTP server response on hostname reject</header>

<center><tt>invalid_hostname_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
reject_invalid_hostname anti-UCE restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
0707010006099a000081a40000000000000002000000013d1fe2dd00000146000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_invalid_hostname_reject_code.pl.html   <header>Odpowied¼ serwera SMTP przy odrzuceniu nazwy hosta</header>

<center><tt>invalid_hostname_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP, gdy klient narusza
ograniczenie przeciw UCE reject_invalid_hostname. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
  0707010006099b000081a40000000000000002000000013d1fe2dd00000144000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_invalid_hostname_reject_code.sv.html   <header>SMTP-serveråtgärd vid datornamnsavvisande</header>

<center><tt>invalid_hostname_reject_code</tt></center>
<hr>

Denna parameter anger hur STMP-servern ska reagera då en klient överträder
anti-UCE-restriktionen för reject_invalid_hostname.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
0707010006099c000081a40000000000000002000000013d1fe2dd00000151000000200000000000000000000000000000002800000003reloc/postfix/help/opt_ipc_idle.ca.html   <header>Idle time after internal IPC client disconnects</header>

<center><tt>ipc_idle</tt></center>
<hr>

This parameter bounds the idle time in seconds after which an internal IPC
client disconnects. The purpose is to allow servers to terminate voluntarily.
Currently this is used by the address resolving and rewriting clients.

<hr>
   0707010006099d000081a40000000000000002000000013d1fe2dd0000018b000000200000000000000000000000000000002800000003reloc/postfix/help/opt_ipc_idle.es.html   <header>Tiempo sin hacer nada tras el cual el cliente intero IPC se desconecta</header>

<center><tt>ipc_idle</tt></center>
<hr>

Este parámetro pone el tiempo libre en segundos tras el cual un cliente
interno IPC se desconecta. El propósito es el de permitir a servidores
terminar voluntáriamente. En este momento, éste es usado por los clientes
de resolución de dirección y reescritura.

<hr>
 0707010006099e000081a40000000000000002000000013d1fe2dd00000151000000200000000000000000000000000000002500000003reloc/postfix/help/opt_ipc_idle.html  <header>Idle time after internal IPC client disconnects</header>

<center><tt>ipc_idle</tt></center>
<hr>

This parameter bounds the idle time in seconds after which an internal IPC
client disconnects. The purpose is to allow servers to terminate voluntarily.
Currently this is used by the address resolving and rewriting clients.

<hr>
   0707010006099f000081a40000000000000002000000013d1fe2dd00000190000000200000000000000000000000000000002800000003reloc/postfix/help/opt_ipc_idle.pl.html   <header>Okres bezczynno¶ci, po którym wewnêtrzny klient IPC siê roz³±cza</header>

<center><tt>ipc_idle</tt></center>
<hr>

Ten parametr ogranicza czas bezczynno¶ci do zadanej liczby sekund, po której
wewnêtrzny klient IPC siê roz³±czy. Ma to na celu umo¿liwienie serwerom
dobrowolnego zakoñczenia pracy. Obecnie jest to wykorzystywane przy
rozwi±zywaniu adresów i&nbsp;przepisywaniu klientów.

<hr>
070701000609a0000081a40000000000000002000000013d1fe2dd00000157000000200000000000000000000000000000002800000003reloc/postfix/help/opt_ipc_idle.sv.html   <header>Väntetid efter nedkoppling av intern IPC-klient</header>

<center><tt>ipc_idle</tt></center>
<hr>

Denna parameter begränsar väntetiden i sekunder efter det att en
intern IPC-klient kopplat ned.. Syftet är att tillåta servrar att avsluta
frivilligt. För närvarande används detta av klienter som slår upp och skriver
om adresser.

<hr>
 070701000609a1000081a40000000000000002000000013d1fe2dd0000013e000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_ipc_timeout.ca.html    <header>Timeout for I/O on internal comm channels</header>

<center><tt>ipc_timeout</tt></center>
<hr>

The parameter specifies a timeout in seconds for I/O on internal communication
channels. The purpose is to break out of deadlock situations. If the timeout is
exceeded the software aborts with a fatal error.

<hr>
  070701000609a2000081a40000000000000002000000013d1fe2dd0000015b000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_ipc_timeout.es.html    <header>Tiempo máximo para E/S en canales de comunicación interna</header>

<center><tt>ipc_timeout</tt></center>
<hr>

Este parámetro especifica un tiempo máximo en segundo para E/S en canales de
comunicación interna. El propósito es romper situaciones de abrazo mortal. Si
el tiempo máximo es excedido, el software aborta con error fatal.

<hr>
 070701000609a3000081a40000000000000002000000013d1fe2dd0000013e000000200000000000000000000000000000002800000003reloc/postfix/help/opt_ipc_timeout.html   <header>Timeout for I/O on internal comm channels</header>

<center><tt>ipc_timeout</tt></center>
<hr>

The parameter specifies a timeout in seconds for I/O on internal communication
channels. The purpose is to break out of deadlock situations. If the timeout is
exceeded the software aborts with a fatal error.

<hr>
  070701000609a4000081a40000000000000002000000013d1fe2dd0000013e000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_ipc_timeout.pl.html    <header>Timeout for I/O on internal comm channels</header>

<center><tt>ipc_timeout</tt></center>
<hr>

The parameter specifies a timeout in seconds for I/O on internal communication
channels. The purpose is to break out of deadlock situations. If the timeout is
exceeded the software aborts with a fatal error.

<hr>
  070701000609a5000081a40000000000000002000000013d1fe2dd0000013d000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_ipc_timeout.sv.html    <header>Tidsgräns för I/O på intern kommunikationskanal</header>

<center><tt>ipc_timeout</tt></center>
<hr>

Denna parameter anger en tidsgräns i sekunder för I/O på interna kommunikationskanaler.
Syftet är att komma ur låsta lägen. Om gränsen överskrids kommer programmet att
avbrytas med ett allvarligt fel.

<hr>
   070701000609a6000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000003100000003reloc/postfix/help/opt_line_length_limit.ca.html  <header>Max memory used for handling input lines</header>

<center><tt>line_length_limit</tt></center>
<hr>

This parameter limits the amount of memory in bytes used for handling input
lines. Longer lines are chopped up into pieces and reconstructed upon delivery.

<hr>
 070701000609a7000081a40000000000000002000000013d1fe2dd0000012a000000200000000000000000000000000000003100000003reloc/postfix/help/opt_line_length_limit.es.html  <header>Máxima memoria usada para manejo de líneas de entrada</header>

<center><tt>line_length_limit</tt></center>
<hr>

Este parámetro limita la cantidad de memoria en octetos usada para manejo de
líneas de entrada. Las líneas mayores son cortadas en trozos y recondstruídas
en la entrega.

<hr>
  070701000609a8000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_line_length_limit.html <header>Max memory used for handling input lines</header>

<center><tt>line_length_limit</tt></center>
<hr>

This parameter limits the amount of memory in bytes used for handling input
lines. Longer lines are chopped up into pieces and reconstructed upon delivery.

<hr>
 070701000609a9000081a40000000000000002000000013d1fe2dd0000014f000000200000000000000000000000000000003100000003reloc/postfix/help/opt_line_length_limit.pl.html  <header>Maksimum wykorzystania pamiêci do przechowywania linii danych</header>

<center><tt>line_length_limit</tt></center>
<hr>

Ten parametr ogranicza ilo¶æ pamiêci w&nbsp;bajtach wykorzystywan± do
manipulacji poszczególnymi liniami danych wej¶ciowych. D³u¿sze linie bêd±
ciête na kawa³ki i&nbsp;odtwarzane podczas dorêczania.

<hr>
 070701000609aa000081a40000000000000002000000013d1fe2dd0000011c000000200000000000000000000000000000003100000003reloc/postfix/help/opt_line_length_limit.sv.html  <header>Maximal minnesåtgång för att hantera inlästa rader</header>

<center><tt>line_length_limit</tt></center>
<hr>

Denna parameter begränsar det minnesutrymme (i byte) som används för att
hantera inlästa rader. Längre rader styckas upp i bitar och sätts ihop vid 
sändning.

<hr>
070701000609ab000081a40000000000000002000000013d1fe2dd00000337000000200000000000000000000000000000003300000003reloc/postfix/help/opt_local_command_shell.ca.html    <header>Shell to use for delivery to external command</header>

<center><tt>local_command_shell</tt></center>
<hr>

This parameter controls what shell will be used for delivery to external
command. By default, external commands are executed directly; commands are
given to <tt>/bin/sh</tt> only when they contain shell meta characters or
shell built-in commands.

<p>

Specify a different shell when you need more control over what
programs can be run from e.g. <tt>.forward</tt> files. 

<p>

&quot;sendmail's restricted shell&quot; <tt>smrsh</tt> is what most people will
use (<tt>smrsh</tt> is part of recent sendmail distributions)

<p>

Note: when a shell is specified, it is invoked even when the
command contains no shell built-in commands or meta characters.

<p>

Example: <tt>/some/where/smrsh -c</tt>

<p>

<hr>
 070701000609ac000081a40000000000000002000000013d1fe2dd00000366000000200000000000000000000000000000003300000003reloc/postfix/help/opt_local_command_shell.es.html    <header>Shell a usar para entrega a comando externo</header>

<center><tt>local_command_shell</tt></center>
<hr>

Este parámetro controla qué shell será usado para entrega a comando externo.
Por defecto, los comandos externos son ejecutados diréctamente; los comandos
son dados a <tt>/bin/sh</tt> sólo cuando contienen meta-caracteres de shell
o comandos internos de shell.

<p>

Especifica un shell diferente cuando necesites más control sobre lo que
los programas pueden ejecutar p.ej. archivos <tt>.forward</tt>.

<p>

&quot;el shell restringido de sendmail&quot; <tt>smrsh</tt> es el que la
mayoría usará (<tt>smrsh</tt> es parte de recientes distribuciones de sendmail)

<p>

Nota: cuan se especifica un shell, es invocado incluso cuando el comando
no contiene comandos internos de shell o meta-caracteres.

<p>

Ejemplo: <tt>/alguno/donde/smrsh -c</tt>

<p>

<hr>
  070701000609ad000081a40000000000000002000000013d1fe2dd00000337000000200000000000000000000000000000003000000003reloc/postfix/help/opt_local_command_shell.html   <header>Shell to use for delivery to external command</header>

<center><tt>local_command_shell</tt></center>
<hr>

This parameter controls what shell will be used for delivery to external
command. By default, external commands are executed directly; commands are
given to <tt>/bin/sh</tt> only when they contain shell meta characters or
shell built-in commands.

<p>

Specify a different shell when you need more control over what
programs can be run from e.g. <tt>.forward</tt> files. 

<p>

&quot;sendmail's restricted shell&quot; <tt>smrsh</tt> is what most people will
use (<tt>smrsh</tt> is part of recent sendmail distributions)

<p>

Note: when a shell is specified, it is invoked even when the
command contains no shell built-in commands or meta characters.

<p>

Example: <tt>/some/where/smrsh -c</tt>

<p>

<hr>
 070701000609ae000081a40000000000000002000000013d1fe2dd0000038c000000200000000000000000000000000000003300000003reloc/postfix/help/opt_local_command_shell.pl.html    <header>Pow³oka u¿ywana przy przekierowywaniu do programów zewnêtrznych</header>

<center><tt>local_command_shell</tt></center>
<hr>

Ten parametr okre¶la, za pomoc± jakiej pow³oki bêdzie siê odbywaæ
przekierowywanie poczty do zewnêtrznych poleceñ. Domy¶lnie, zewnêtrzne
polecenia s± uruchamiane bezpo¶rednio; s± one interpretowane przez
<tt>/bin/sh</tt> tylko wtedy, gdy zawieraj± metaznaki lub wbudowane
polecenia pow³oki. <p>

Podaj inn± pow³okê, je¶li potrzebna Ci mo¿liwo¶æ kontroli nad tym, jakie
programy mog± byc uruchamiane np. z&nbsp;plików <tt>.forward</tt>. <p>

Wiêkszo¶æ bêdzie korzystaæ tu z&nbsp; &quot;ograniczonej pow³oki
Sendmaila&quot; (<tt>smrsh</tt> jest czê¶ci± dystrybucji Sendmaila). <p>

Uwaga: je¶li jest podana pow³oka, jest ona uruchamiana nawet wtedy, gdy
polecenie nie zawiera ¿adnego wbudowanego polecenia ani metaznaku. <p>

Przyk³ad: <tt>/gdzies/tam/smrsh -c</tt> <p>

<hr>
070701000609af000081a40000000000000002000000013d1fe2dd00000311000000200000000000000000000000000000003300000003reloc/postfix/help/opt_local_command_shell.sv.html    <header>Skal för sändning till externt kommando</header>

<center><tt>local_command_shell</tt></center>
<hr>

Denna parameter styr vilket skal som används vid sändning till externa
kommandon. Standard är att externa kommandon körs direkt; kommandona skickas
till <tt>/bin/sh</tt> endast då de innehåller metatecken eller inbyggda
skalkommandon.

<p>Ange ett annat skal om du vill ha mer kontroll över vilka program som
kan köras exempelvis från <tt>.forward</tt>-filer.

<p>De flesta använder &quot;sendmail's restricted shell&quot; <tt>smrsh</tt>
(<tt>smrsh</tt> finns i senare sendmail-distributioner).

<p>Obs! Om ett skal anges kommer det att anropas även om kommandot inte innehåller
några inbyggda skalkommandon eller metatecken.

<p>Exempel: <tt>/some/where/smrsh -c</tt>

<hr>
   070701000609b0000081a40000000000000002000000013d1fe2dd00000261000000200000000000000000000000000000004300000003reloc/postfix/help/opt_local_destination_concurrency_limit.ca.html    <header>Max number of parallel deliveries to the same local recipient</header>

<center><tt>local_destination_concurrency_limit</tt></center>
<hr>

This parameter limits the number of parallel deliveries to the same local
recipient.

<p>

The default limit is taken from the
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a> parameter. Postfix documentation
recommends a low limit of 2, just in case someone has an expensive shell
command in a <tt>.forward</tt> file or in an alias (e.g., a mailing list
manager). You don't want to run lots of those.

<hr>
   070701000609b1000081a40000000000000002000000013d1fe2dd00000271000000200000000000000000000000000000004300000003reloc/postfix/help/opt_local_destination_concurrency_limit.es.html    <header>Máximo número de entregas paralelas al mismo destinatario local</header>

<center><tt>local_destination_concurrency_limit</tt></center>
<hr>

Este parámetro limita el número de entregas paralelas al mismo destinatario
local.

<p>

El límite por defecto es tomado del parámetro
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a>.
La socumentación Postfix recomienda un límite bajo de 2, sólo en caso de alguien
tenga un comando de shell caro en archivo <tt>.forward</tt> o en un alias
(p.ej., un gestor de lista de correo). No desearás ejecutar muchos de esos.

<hr>
   070701000609b2000081a40000000000000002000000013d1fe2dd00000261000000200000000000000000000000000000004000000003reloc/postfix/help/opt_local_destination_concurrency_limit.html   <header>Max number of parallel deliveries to the same local recipient</header>

<center><tt>local_destination_concurrency_limit</tt></center>
<hr>

This parameter limits the number of parallel deliveries to the same local
recipient.

<p>

The default limit is taken from the
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a> parameter. Postfix documentation
recommends a low limit of 2, just in case someone has an expensive shell
command in a <tt>.forward</tt> file or in an alias (e.g., a mailing list
manager). You don't want to run lots of those.

<hr>
   070701000609b3000081a40000000000000002000000013d1fe2dd00000278000000200000000000000000000000000000004300000003reloc/postfix/help/opt_local_destination_concurrency_limit.pl.html    <header>Maksymalna liczba równoleg³ych dorêczeñ dla jednego lokalnego
odbiorcy</header>

<center><tt>local_destination_concurrency_limit</tt></center>
<hr>

Ten parametr ogranicza liczbe równoleg³ych dorêczeñ dla jednego lokalnego
odbiorcy. <p>

Domy¶lne ograniczenie jest pobierane z&nbsp;opcji
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a>. Dokumentacja Postfiksa
zaleca niski limit wynosz±cy 2 na wypadek, gdyby kto¶ mia³ kosztowne
polecenie pow³oki w&nbsp;pliku <tt>.forward</tt> lub w&nbsp;aliasie (np.
zarz±dcê listy dyskusyjnej). Nie chcesz uruchamiaæ ich wielu.

<hr>
070701000609b4000081a40000000000000002000000013d1fe2dd0000027d000000200000000000000000000000000000004300000003reloc/postfix/help/opt_local_destination_concurrency_limit.sv.html    <header>Maximalt antal parallella sändningar till samma lokala mottagare</header>

<center><tt>local_destination_concurrency_limit</tt></center>
<hr>

Denna parameter begränsar antalet parallella sändningar till samma lokala mottagare.

<p>Standardgränsen har hämtats från parametern
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a>.
Postfix-dokumentationen rekommenderar den låga gränsen 2 för den händelse att någon har
ett omfattande skalkommando i en <tt>.forward</tt>-fil eller i ett alias (exempelvis en
mailinglisthanterare). Du vill inte köra en massa sådana samtidigt.

<hr>
   070701000609b5000081a40000000000000002000000013d1fe2dd000001ff000000200000000000000000000000000000004100000003reloc/postfix/help/opt_local_destination_recipient_limit.ca.html  <header>Max number of recipients per local message delivery</header>

<center><tt>local_destination_recipient_limit</tt></center>
<hr>

This parameter limits the number of recipients per local message delivery. The
default limit is taken from the
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a> parameter.

<p>

However, the queue manager by design limits the number of recipients
per local delivery request to exactly 1, so this parameter has no
effect.

<hr>
 070701000609b6000081a40000000000000002000000013d1fe2dd00000226000000200000000000000000000000000000004100000003reloc/postfix/help/opt_local_destination_recipient_limit.es.html  <header>Maximo número de destinatarios por entrega de mensaje local</header>

<center><tt>local_destination_recipient_limit</tt></center>
<hr>

Este parámetro limita el número de destinatarios por entrega de mensaje local. El
límite por defecto es tomado del parámetro
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a>.

<p>

Sin embargo, el gestor de colas por diseño limita el número de destinatarios
por requerimiento de entrega local a exáctamente 1, por ello este parámetro
no tiene efecto.

<hr>
  070701000609b7000081a40000000000000002000000013d1fe2dd000001ff000000200000000000000000000000000000003e00000003reloc/postfix/help/opt_local_destination_recipient_limit.html <header>Max number of recipients per local message delivery</header>

<center><tt>local_destination_recipient_limit</tt></center>
<hr>

This parameter limits the number of recipients per local message delivery. The
default limit is taken from the
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a> parameter.

<p>

However, the queue manager by design limits the number of recipients
per local delivery request to exactly 1, so this parameter has no
effect.

<hr>
 070701000609b8000081a40000000000000002000000013d1fe2dd00000219000000200000000000000000000000000000004100000003reloc/postfix/help/opt_local_destination_recipient_limit.pl.html  <header>Maksymalna liczba odbiorców dla dorêczanych wiadomo¶ci lokalnych</header>

<center><tt>local_destination_recipient_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê odbiorców dla dorêczanych wiadomo¶ci
lokalnych. Domy¶lne ograniczenie jest pobierane z&nbsp;opcji
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a>. <p>

Jednak¿e, zarz±dca kolejki celowo ogranicza liczbê odbiorców dla dorêczanych
wiadomo¶ci lokalnych do dok³adnie 1, wiêc ten parametr nie ma znaczenia.

<hr>
   070701000609b9000081a40000000000000002000000013d1fe2dd00000214000000200000000000000000000000000000004100000003reloc/postfix/help/opt_local_destination_recipient_limit.sv.html  <header>Maximalt antal mottagare per lokal meddelandesändning</header>

<center><tt>local_destination_recipient_limit</tt></center>
<hr>

Denna parameter begränsar antalet mottagare per lokal meddelandesändning.
Standardgränsen har hämtats från parametern
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a>.

<p>Nu är det i och för sig så att köhanteraren är designad att begränsa antalet
mottagare per lokal meddelandesändning till precis 1, så denna parameter gör ingen nytta.

<hr>
070701000609ba000081a40000000000000002000000013d1fe2dd000002d1000000200000000000000000000000000000003400000003reloc/postfix/help/opt_local_recipient_maps.ca.html   <header>Reject unknown local users</header>

<center><tt>local_recipient_maps</tt></center>
<hr>

This parameter specifies optional lookup tables with all users that are local
with respect to <tt>$mydestination</tt> (&quot;what domains to receive mail
for&quot;)and <tt>$inet_interfaces</tt> (&quot;network interfaces for receiving
mail&quot;) . If this parameter is defined, then the SMTP server will reject
mail for unknown local users.

<p>

Put tables with bare usernames such as <tt>unix:passwd.byname</tt> and alias
maps. Example: <tt>$alias_maps unix:passwd.byname</tt>.

<p>

Beware: if the Postfix SMTP server runs chrooted, you may have to
copy the passwd database into the jail. This is system dependent.

<hr>   070701000609bb000081a40000000000000002000000013d1fe2dd0000032a000000200000000000000000000000000000003400000003reloc/postfix/help/opt_local_recipient_maps.es.html   <header>Rechazar usuarios locales desconocidos</header>

<center><tt>local_recipient_maps</tt></center>
<hr>

Este parámetro especifica tablas opcionales de búsqueda con todos los usuarios
que son locales con respecto a <tt>$mydestination</tt> (&quot;para qué dominios
recibir correo&quot;) y <tt>$inet_interfaces</tt> (&quot;interfaces de red para
recibir correo&quot;). Si se define este parémtro, entonces el servidor SMTP
rechazará el correo de los usuarios locales desonocidos.

<p>

Pon tablas con nombres de usuario tal cual como <tt>unix:passwd.pornombre</tt> y
mapas de alias. Ejemplo: <tt>$alias_maps unix:passwd.pornombre</tt>.

<p>

Ten cuidado: si el servidor SMTP Postfix es ejecutado con chroot, puede que tengas
que copiar la base de datos de passwd a la celda. Esto depende del sistema.

<hr>
  070701000609bc000081a40000000000000002000000013d1fe2dd000002d1000000200000000000000000000000000000003100000003reloc/postfix/help/opt_local_recipient_maps.html  <header>Reject unknown local users</header>

<center><tt>local_recipient_maps</tt></center>
<hr>

This parameter specifies optional lookup tables with all users that are local
with respect to <tt>$mydestination</tt> (&quot;what domains to receive mail
for&quot;)and <tt>$inet_interfaces</tt> (&quot;network interfaces for receiving
mail&quot;) . If this parameter is defined, then the SMTP server will reject
mail for unknown local users.

<p>

Put tables with bare usernames such as <tt>unix:passwd.byname</tt> and alias
maps. Example: <tt>$alias_maps unix:passwd.byname</tt>.

<p>

Beware: if the Postfix SMTP server runs chrooted, you may have to
copy the passwd database into the jail. This is system dependent.

<hr>   070701000609bd000081a40000000000000002000000013d1fe2dd0000033e000000200000000000000000000000000000003400000003reloc/postfix/help/opt_local_recipient_maps.pl.html   <header>Odrzucaæ nieznanych u¿ytkowników lokalnych</header>

<center><tt>local_recipient_maps</tt></center>
<hr>

Ten parametr definiuje fakultatywne tabele do poszukiwania u¿ytkowników
lokalnych wzglêdem <tt>$mydestination</tt> (&quot;dla jakich domen odbieraæ
pocztê&quot;) oraz <tt>$inet_interfaces</tt> (&quot; interfejsy sieciowe dla
poczty przychodz±cej&quot;). Je¶li ten parametr bêdzie zdefiniowany, serwer
SMTP bêdzie odrzuca³ pocztê do nieznanych u¿ytkowników lokalnych. <p>

Podaj tabele z&nbsp;go³ymi nazwami u¿ytkowników takie jak
<tt>unix:passwd.byname</tt> i&nbsp;odwzorowania aliasów. Przyk³ad:
<tt>$alias_maps unix:passwd.byname</tt>. <p>

Uwaga: je¶li serwer SMTP Postfiksa dzia³a w&nbsp;¶rodowisku chroot, mo¿e
istnieæ konieczno¶æ skopiowania bazy passwd do miejsca jego uwiêzienia.
Zale¿y to od systemu.

<hr>
  070701000609be000081a40000000000000002000000013d1fe2dd000002d8000000200000000000000000000000000000003400000003reloc/postfix/help/opt_local_recipient_maps.sv.html   <header>Kasta post till okända lokala användare</header>

<center><tt>local_recipient_maps</tt></center>
<hr>

Denna parameter anger alternativa uppslagningstabeller med alla användare
som är lokal i avseende på <tt>$mydestination</tt> (domäner att ta emot e-post för)
och <tt>$inet_interfaces</tt> (nätverksinterface att ta emot e-post för). Om parametern
ges ett värde kommer SMTP-servern att kasta e-post adresserad till okända lokala användare.

<p>Ange tabeller med enbart användarnamn, som <tt>unix:passwd.byname</tt>, och aliastabeller.
Exempel: <tt>$alias_maps unix:passwd.byname</tt>.

<p>Varning: om Postfix-SMTP-server körs med chroot kan du bli tvungen att kopiera in
passwd-databasen. Detta är systemberoende.

<hr>070701000609bf000081a40000000000000002000000013d1fe2dd000001af000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_local_transport.ca.html    <header>Name of the transport for local deliveries</header>

<center><tt>local_transport</tt></center>
<hr>

This parameter specifies the name of the transport for delivery to destinations
that match <tt>$mydestination</tt> or <tt>$inet_interfaces</tt>.

<p>

By default, local mail is delivered to the transport called <tt>local</tt>,
which is just the name of a service that is defined in Postfix
<tt>master.cf</tt> file.


<hr>
 070701000609c0000081a40000000000000002000000013d1fe2dd000001b4000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_local_transport.es.html    <header>Nombre del transporte para entregas locales</header>

<center><tt>local_transport</tt></center>
<hr>

Este parámetro especifica el nombre del transporte para entrega a destinos
que coincidan con <tt>$mydestination</tt> o <tt>$inet_interfaces</tt>.

<p>

Por defecto, el correo lcoal es entregado al transporte llamado <tt>local</tt>,
el cual es sólo el nombre de un servicio que el archivo de Postfix
<tt>master.cf</tt>.


<hr>
070701000609c1000081a40000000000000002000000013d1fe2dd000001af000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_local_transport.html   <header>Name of the transport for local deliveries</header>

<center><tt>local_transport</tt></center>
<hr>

This parameter specifies the name of the transport for delivery to destinations
that match <tt>$mydestination</tt> or <tt>$inet_interfaces</tt>.

<p>

By default, local mail is delivered to the transport called <tt>local</tt>,
which is just the name of a service that is defined in Postfix
<tt>master.cf</tt> file.


<hr>
 07070100060b00000081a40000000000000002000000013d1fe2dd000004eb000000200000000000000000000000000000002200000003reloc/postfix/help/transport.html <header>Transport mapping</header>

The optional transport file specifies a mapping from domain hierarchies to
message delivery transports and/or relay hosts. The mapping is used by the
trivial-rewrite(8) daemon.

<p>

The format of the transport table is as follows:
<ul>
<li><b><tt>domain</tt></b> mapped to.. <b><tt>transport:nexthop</tt></b>: Mail
for domain is delivered through transport to nexthop.
<li><b><tt>.domain</tt></b> mapped to.. <b><tt>transport:nexthop</tt></b>: Mail
for any subdomain of domain is delivered through transport to nexthop.
</ul>

Note: transport map entries take precedence over domains specified in the
<tt>mydestination</tt> parameter. If you use the optional transport map, it may
be safer to specify explicit entries for all domains specified in
mydestination, for example:
<ul>
<li><tt>hostname.my.domain</tt> ... <tt>local:</tt>
<li><tt>localhost.my.domain</tt> ... <tt>local:</tt>
</ul>

The interpretation of the nexthop field is transport dependent. In the case of
SMTP, specify <tt>host:service</tt> for a non-default server port, and use
<tt>[host]</tt> or <tt>[host:port]</tt> in order to disable MX (mail exchanger)
DNS lookups. The <tt>[]</tt> form can also be used with IP addresses instead of
hostnames.

<hr> 070701000609c2000081a40000000000000002000000013d1fe2dd000001bc000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_local_transport.pl.html    <header>Nazwa metody ekspedycji dla dorêczeñ lokalnych</header>

<center><tt>local_transport</tt></center>
<hr>

Ten parametr okre¶la nazwê metody ekspedycji dla dorêczeñ, które pasuj± do
<tt>$mydestination</tt> lub <tt>$inet_interfaces</tt>. <p>

Domy¶lnie, poczta lokalna jest dorêczana za pomoc± metody ekspedycji
o&nbsp;nazwie <tt>local</tt>, która jest po prostu nazwê us³ugi
zdefiniowanej w&nbsp;pliku <tt>master.cf</tt> Postfiksa.

<hr>
070701000609c3000081a40000000000000002000000013d1fe2dd000001c4000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_local_transport.sv.html    <header>Namn på transportmetod för lokal sändning</header>

<center><tt>local_transport</tt></center>
<hr>

Denna parameter anger namnet på den transportmetod som ska användas vid sändning
till destinationer som matchar <tt>$mydestination</tt> eller <tt>$inet_interfaces</tt>.

<p>Standard är att lokal e-post sänds med transportmetoden <tt>local</tt>,
vilket helt enkelt är namnet på en tjänst som definieras i Postfix-filen
<tt>master.cf</tt>.

<hr>
070701000609c4000081a40000000000000002000000013d1fe2dd00000388000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_luser_relay.ca.html    <header>Destination address for unknown recipients</header>

<center><tt>luser_relay</tt></center>
<hr>

This parameter specifies an optional destination address for unknown
recipients. By default, mail for unknown local recipients is bounced.

<p>

The following expansions are done: 

<ul>
<li><tt>$user</tt> (recipient username), 
<li><tt>$shell</tt> (recipient shell), 
<li><tt>$home</tt> (recipient home directory),
<li><tt>$recipient</tt> (full recipient address), 
<li><tt>$extension</tt> (recipient address extension), 
<li><tt>$domain</tt> (recipient domain), 
<li><tt>$local</tt> (entire recipient localpart), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Specify <tt>${name?value}</tt> or <tt>${name:value}</tt> to expand value only
when <tt>$name</tt> does (does not) exist.

<p>

Examples:
<ul>
<li><tt>$user@other.host</tt>
<li><tt>$local@other.host</tt>
<li><tt>admin+$local</tt>
</ul>

<hr>
070701000609c5000081a40000000000000002000000013d1fe2dd000003f6000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_luser_relay.es.html    <header>Dirección destino para destinatarios desconocidos</header>

<center><tt>luser_relay</tt></center>
<hr>

Este parámetro especifica una dirección opcional de destino para
destinatarios desconocidos. Por defecto, el correo para destinatarios
locales desconocidos es enviado.

<p>

Se realizan las siguientes expansiones:

<ul>
<li><tt>$user</tt> (nombre de usuario de destinatario),
<li><tt>$shell</tt> (shell de destinatario),
<li><tt>$home</tt> (directorio inicial de destinatario),
<li><tt>$recipient</tt> (dirección completa de destinatario),
<li><tt>$extension</tt> (extensión de dirección de destinatario),
<li><tt>$domain</tt> (dominio de destinatario),
<li><tt>$local</tt> (parte local completa de destinatario),
<li><tt>$recipient_delimiter</tt>.
</ul>

Especifica <tt>${name?value}</tt> o <tt>${name:value}</tt> para expandir el valor
sólo cuando <tt>$name</tt> (no) exista.

<p>

Ejemplos:
<ul>
<li><tt>$user@otra.máquina</tt>
<li><tt>$local@otra.máquina</tt>
<li><tt>admin+$local</tt>
</ul>

<hr>
  070701000609c6000081a40000000000000002000000013d1fe2dd00000388000000200000000000000000000000000000002800000003reloc/postfix/help/opt_luser_relay.html   <header>Destination address for unknown recipients</header>

<center><tt>luser_relay</tt></center>
<hr>

This parameter specifies an optional destination address for unknown
recipients. By default, mail for unknown local recipients is bounced.

<p>

The following expansions are done: 

<ul>
<li><tt>$user</tt> (recipient username), 
<li><tt>$shell</tt> (recipient shell), 
<li><tt>$home</tt> (recipient home directory),
<li><tt>$recipient</tt> (full recipient address), 
<li><tt>$extension</tt> (recipient address extension), 
<li><tt>$domain</tt> (recipient domain), 
<li><tt>$local</tt> (entire recipient localpart), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Specify <tt>${name?value}</tt> or <tt>${name:value}</tt> to expand value only
when <tt>$name</tt> does (does not) exist.

<p>

Examples:
<ul>
<li><tt>$user@other.host</tt>
<li><tt>$local@other.host</tt>
<li><tt>admin+$local</tt>
</ul>

<hr>
070701000609c7000081a40000000000000002000000013d1fe2dd000003b9000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_luser_relay.pl.html    <header>Adres przeznaczenia dla nieznanych odbiorców</header>

<center><tt>luser_relay</tt></center>
<hr>

Ten parametr okre¶la fakultatywny adres docelowy dla nieznanych odbiorców.
Domy¶lnie, poczta do nieznanych odbiorców jest odrzucana. <p>

Wykonywane s± nastêpuj±ce rozwiniêcia: 
<ul>
<li><tt>$user</tt> (nazwa u¿ytkownika bêd±cego odbiorc±),
<li><tt>$shell</tt> (pow³oka odbiorcy), 
<li><tt>$home</tt> (katalog domowy odbiorcy),
<li><tt>$recipient</tt> (pe³ny adres odbiorcy), 
<li><tt>$extension</tt> (rozszerzenie adresu odbiorcy), 
<li><tt>$domain</tt> (domena odbiorcy), 
<li><tt>$local</tt> (pe³na lokalna czê¶æ adresu odbiorcy), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Podaj <tt>${nazwa?wartosc}</tt> lub <tt>${nazwa:wartosc}</tt>, aby rozwijaæ
wartosc tylko wtedy, gdy <tt>$nazwa</tt> istnieje (nie istnieje).

<p>

Przyk³ady:
<ul>
<li><tt>$user@inny.host</tt>
<li><tt>$local@inny.host</tt>
<li><tt>administrator+$local</tt>
</ul>

<hr>
   070701000609c8000081a40000000000000002000000013d1fe2dd0000036c000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_luser_relay.sv.html    <header>Destinationsadress för okända mottagare</header>

<center><tt>luser_relay</tt></center>
<hr>

Denna parameter anger en alternativ mottagaradress för okända mottagare.
Standard är att e-post till okända lokala mottagare studsar.

<p>Följande expansioner görs:

<ul>
<li><tt>$user</tt> (mottagaranvändarnamn), 
<li><tt>$shell</tt> (mottagarskal),
<li><tt>$home</tt> (mottagarhemkatalog),
<li><tt>$recipient</tt> (fullständig mottagaradress),
<li><tt>$extension</tt> (mottagaradressändelse), 
<li><tt>$domain</tt> (mottagardomän),
<li><tt>$local</tt> (mottagarens fullständiga lokala del), 
<li><tt>$recipient_delimiter</tt>.
</ul>

Ange <tt>${namn?värde}</tt> eller <tt>${namn:värde}</tt> för att endast expandera
värdet då <tt>$namn</tt> (inte) finns.

<p>Exempel:
<ul>
<li><tt>$user@other.host</tt>
<li><tt>$local@other.host</tt>
<li><tt>admin+$local</tt>
</ul>

<hr>
070701000609c9000081a40000000000000002000000013d1fe2dd000000df000000200000000000000000000000000000002900000003reloc/postfix/help/opt_mail_name.ca.html  <header>Mail system name</header>

<center><tt>mail_name</tt></center>
<hr>

This parameter specifies the mail system name that is used in
<tt>Received:</tt> headers, in the SMTP greeting banner, and in bounced mail.

<hr>
 070701000609ca000081a40000000000000002000000013d1fe2dd00000107000000200000000000000000000000000000002900000003reloc/postfix/help/opt_mail_name.es.html  <header>Nombre de sistema de correo</header>

<center><tt>mail_name</tt></center>
<hr>

Este parémtro especifica el nombre del sistema de correo que es usado en
las cabeceras <tt>Received: (Recibido:)</tt>, en la bandera de sauldo SMTP
y en correo enviado.

<hr>
 070701000609cb000081a40000000000000002000000013d1fe2dd000000df000000200000000000000000000000000000002600000003reloc/postfix/help/opt_mail_name.html <header>Mail system name</header>

<center><tt>mail_name</tt></center>
<hr>

This parameter specifies the mail system name that is used in
<tt>Received:</tt> headers, in the SMTP greeting banner, and in bounced mail.

<hr>
 070701000609cc000081a40000000000000002000000013d1fe2dd00000100000000200000000000000000000000000000002900000003reloc/postfix/help/opt_mail_name.pl.html  <header>Nazwa systemu poczty</header>

<center><tt>mail_name</tt></center>
<hr>

Ten parametr okre¶la nezwê systemu poczty. która jest u¿ywana
w&nbsp;nag³ówkach <tt>Received:</tt>, w&nbsp;komunikacie powitalnym SMTP,
i&nbsp;w&nbsp;poczcie zwróconej.

<hr>
070701000609cd000081a40000000000000002000000013d1fe2dd000000d3000000200000000000000000000000000000002900000003reloc/postfix/help/opt_mail_name.sv.html  <header>E-postsystemets namn</header>

<center><tt>mail_name</tt></center>
<hr>

Denna parameter anger det namn som e-postsystemet ska ha i
<tt>Received:</tt>-huvuden, i SMTP-banners och i studsad e-post.

<hr>
 070701000609ce000081a40000000000000002000000013d1fe2dd000001ac000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mail_owner.ca.html <header>Queue and process ownership</header>

<center><tt>mail_owner</tt></center>
<hr>

This parameter specifies the owner of the Postfix queue and of most Postfix
daemon processes.

<p>

Specify the name of a user account THAT DOES NOT SHARE A GROUP WITH OTHER
ACCOUNTS AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
particular, don't specify <tt>nobody</tt> or <tt>daemon</tt>. PLEASE USE A
DEDICATED USER.

<hr>070701000609cf000081a40000000000000002000000013d1fe2dd000001ea000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mail_owner.es.html <header>Propiedad de cola y proceso</header>

<center><tt>mail_owner</tt></center>
<hr>

Este parémtro especifica el propietario  de la cola de Postfix y de la
mayoría de los procesos con demonio de Postfix.

<p>

Especifica el nombre de una cuanta de usuario QUE NO COMPARTA UN GRUPO CON
OTRAS CUENTAS Y QUE NO SEA PROPIETARIA DE OTROS ARCHIVOS Y PROCESOS DEL
SISTEMA. En particular, no especifiques <tt>nobody</tt> o <tt>daemon</tt>.
POR FAVOR,  USA UN USUARIO DEDICADO SÓLO A ESO.

<hr>
  070701000609d0000081a40000000000000002000000013d1fe2dd000001ac000000200000000000000000000000000000002700000003reloc/postfix/help/opt_mail_owner.html    <header>Queue and process ownership</header>

<center><tt>mail_owner</tt></center>
<hr>

This parameter specifies the owner of the Postfix queue and of most Postfix
daemon processes.

<p>

Specify the name of a user account THAT DOES NOT SHARE A GROUP WITH OTHER
ACCOUNTS AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM. In
particular, don't specify <tt>nobody</tt> or <tt>daemon</tt>. PLEASE USE A
DEDICATED USER.

<hr>070701000609d1000081a40000000000000002000000013d1fe2dd000001c5000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mail_owner.pl.html <header>W³a¶ciciel kolejki i procesu</header>

<center><tt>mail_owner</tt></center>
<hr>

Ten parametr okre¶la w³a¶ciciela kolejki Postfiksa i&nbsp;wiêkszo¶ci
procesów demonów Postfiksa. <p>

Podaj nazwê konta u¿ytkownika, KTÓRY NIE DZIELI GRUPY Z&nbsp;INNYMI KONTAMI,
I&nbsp;KTÓRY NIE POSIADA ¯ADNYCH INNYCH PLIKÓW ANI PROCESÓW W&nbsp;SYSTEMIE.
W&nbsp;szczególno¶ci nie podawaj <tt>nobody</tt> ani <tt>daemon</tt>. U¯YJ
DEDYKOWANEGO U¯YTKOWNIKA.

<hr>
   070701000609d2000081a40000000000000002000000013d1fe2dd000001ad000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mail_owner.sv.html <header>Kö- och processägande</header>

<center><tt>mail_owner</tt></center>
<hr>

Denna parameter anger ägare till Postfix-kön och de flesta
Postfix-demonprocesser.

<p>Ange namnet på ett användarkonto <b>som inte har någon grupp gemensam
med något annat konto och som inte äger några andra filer eller processer
i systemet.</b> Använd särskilt inte <tt>nobody</tt> eller <tt>daemon</tt>.
<b>Använd ett särskilt konto.</b>

<hr>   070701000609d3000081a40000000000000002000000013d1fe2dd000000e0000000200000000000000000000000000000003400000003reloc/postfix/help/opt_mail_spool_directory.ca.html   <header>Spool directory</header>

<center><tt>mail_spool_directory</tt></center>
<hr>

This parameter specifies the directory where UNIX-style mailboxes are kept.

<p>

The default setting depends on the system type.


<hr>
070701000609d4000081a40000000000000002000000013d1fe2dd000000ed000000200000000000000000000000000000003400000003reloc/postfix/help/opt_mail_spool_directory.es.html   <header>Directorio de spool</header>

<center><tt>mail_spool_directory</tt></center>
<hr>

Este parámetro especifica el directorio donde se mantienen los buzones con
estilo de UNIX.

<p>

El valor por defecto depende del sistema.


<hr>
   070701000609d5000081a40000000000000002000000013d1fe2dd000000e0000000200000000000000000000000000000003100000003reloc/postfix/help/opt_mail_spool_directory.html  <header>Spool directory</header>

<center><tt>mail_spool_directory</tt></center>
<hr>

This parameter specifies the directory where UNIX-style mailboxes are kept.

<p>

The default setting depends on the system type.


<hr>
070701000609d6000081a40000000000000002000000013d1fe2dd000000ec000000200000000000000000000000000000003400000003reloc/postfix/help/opt_mail_spool_directory.pl.html   <header>Katalog poczty</header>

<center><tt>mail_spool_directory</tt></center>
<hr>

Ten parametr wyznacza katalog, w&nbsp;którym s± trzymane skrzynki pocztowe
typu uniksowego. <p>

Domy¶lne ustawienie zale¿y od rodzaju systemu.

<hr>
070701000609d7000081a40000000000000002000000013d1fe2dd000000c4000000200000000000000000000000000000003400000003reloc/postfix/help/opt_mail_spool_directory.sv.html   <header>Spool-katalog</header>

<center><tt>mail_spool_directory</tt></center>
<hr>

Denna parameter anger den katalog där UNIX-brevlådor finns.

<p>Standardinställningen är systemberoende.

<hr>
070701000609d8000081a40000000000000002000000013d1fe2dd000000ef000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_mail_version.ca.html   <header>Official mail system version</header>

<center><tt>mail_version</tt></center>
<hr>

This parameter specifies the official version of the mail system. The version
string can be used in, for example, the SMTP greeting banner.


<hr>
 070701000609d9000081a40000000000000002000000013d1fe2dd000000fe000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_mail_version.es.html   <header>Versión oficial del sistema de correo</header>

<center><tt>mail_version</tt></center>
<hr>

Este parámetro especifica la versión oficial del sistema de correo. La cadena
de versión puede usarse en, por ejemplo, la bandera de saludo SMTP.


<hr>
  070701000609da000081a40000000000000002000000013d1fe2dd000000ef000000200000000000000000000000000000002900000003reloc/postfix/help/opt_mail_version.html  <header>Official mail system version</header>

<center><tt>mail_version</tt></center>
<hr>

This parameter specifies the official version of the mail system. The version
string can be used in, for example, the SMTP greeting banner.


<hr>
 070701000609db000081a40000000000000002000000013d1fe2dd000000fc000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_mail_version.pl.html   <header>Oficjalna wersja systemu poczty</header>

<center><tt>mail_version</tt></center>
<hr>

Ten parametr okre¶la oficjaln± wersjê systemu poczty. Ci±g znaków oznaczaj±cy
wersjê mo¿e zostaæ u¿yty na przyk³ad w&nbsp;komunikacie powitalnym SMTP.

<hr>
070701000609dc000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_mail_version.sv.html   <header>Officiell version för e-postsystemet</header>

<center><tt>mail_version</tt></center>
<hr>

Denna parameter anger den officiella versionen för e-postsystemet.
Versionssträngen kan till exempel användas i STMP-banners.

<hr>
070701000609dd000081a40000000000000002000000013d1fe2dd0000049c000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_mailbox_command.ca.html    <header>External command to use instead of mailbox delivery</header>

<center><tt>mailbox_command</tt></center>
<hr>

This parameter specifies the optional external command to use instead of mailbox
delivery. The command is run as the recipient with proper <tt>HOME</tt>,
<tt>SHELL</tt> and <tt>LOGNAME</tt> environment settings. Exception: delivery
for <tt>root</tt> is done as <tt>$default_user</tt>.

<p>

Other environment variables of interest: <tt>USER</tt> (recipient username),
<tt>EXTENSION</tt> (address extension), <tt>DOMAIN</tt> (domain part of address),
and <tt>LOCAL</tt> (the address localpart).

<p>

Unlike other Postfix configuration parameters, this
parameter is not subjected to parameter substitutions. This is to
make it easier to specify shell syntax (see example below).

<p>

Avoid shell meta characters because they will force Postfix to run
an expensive shell process. <tt>Procmail</tt> alone is expensive enough.

<p>

IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.

<p>

Examples:
<ul>
<li><tt>/some/where/procmail</tt> 
<li><tt>/some/where/procmail -a "$EXTENSION"</tt>
</ul>

<hr>
070701000609de000081a40000000000000002000000013d1fe2dd00000513000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_mailbox_command.es.html    <header>Comando externo a usar en lugar de la entrega a buzón</header>

<center><tt>mailbox_command</tt></center>
<hr>

Este parámetro especifica el comando externo opcional a usar en lugar de la
entrega a buzón. El comando es ejecutado como el destinatario con los valores
de entorno <tt>HOME</tt>, <tt>SHELL</tt> y <tt>LOGNAME</tt> adecuádamente puestos.
Excepción: la entrega a <tt>root</tt> es hecha como el <tt>$default_user</tt>.

<p>

Otras variables de entorno de interés: <tt>USER</tt> (nombre de usuario destinatario),
<tt>EXTENSION</tt> (extensión de dirección), <tt>DOMAIN</tt> (parte de dominio de la
dirección) y <tt>LOCAL</tt> (la parte local de la dirección).

<p>

Al contrario que otros parámetros de configuración de Postfix, este parámetro
no está sujeto a sustitución de parámetro. Esto es para hacer más fácil el
especificar sintáxis de shell (mira el ejemplo debajo).

<p>

Evita meta-caracteres de shell ya que fuerzan a Postfix a ejecutar un caro
proceso de shell. <tt>Procmail</tt> en sí mismo es ya bastante caro.

<p>

SI USAS ESTO PARA ENTREGAR CORREO A LO LARGO DEL SISTEMA, DEBES CONFIGURAR UN
ALIAS QUE ENVÍE CORREO PARA ROOT A UN USUARIO REAL.

<p>

Ejemplos:
<ul>
<li><tt>/alguno/donde/procmail</tt> 
<li><tt>/alguno/donde/procmail -a "$EXTENSION"</tt>
</ul>

<hr>
 070701000609df000081a40000000000000002000000013d1fe2dd0000049c000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_mailbox_command.html   <header>External command to use instead of mailbox delivery</header>

<center><tt>mailbox_command</tt></center>
<hr>

This parameter specifies the optional external command to use instead of mailbox
delivery. The command is run as the recipient with proper <tt>HOME</tt>,
<tt>SHELL</tt> and <tt>LOGNAME</tt> environment settings. Exception: delivery
for <tt>root</tt> is done as <tt>$default_user</tt>.

<p>

Other environment variables of interest: <tt>USER</tt> (recipient username),
<tt>EXTENSION</tt> (address extension), <tt>DOMAIN</tt> (domain part of address),
and <tt>LOCAL</tt> (the address localpart).

<p>

Unlike other Postfix configuration parameters, this
parameter is not subjected to parameter substitutions. This is to
make it easier to specify shell syntax (see example below).

<p>

Avoid shell meta characters because they will force Postfix to run
an expensive shell process. <tt>Procmail</tt> alone is expensive enough.

<p>

IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.

<p>

Examples:
<ul>
<li><tt>/some/where/procmail</tt> 
<li><tt>/some/where/procmail -a "$EXTENSION"</tt>
</ul>

<hr>
070701000609e0000081a40000000000000002000000013d1fe2dd0000054a000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_mailbox_command.pl.html    <header>Program zewnêtrzny u¿ywany zamiast dorêczania do skrzynki pocztowej</header>

<center><tt>mailbox_command</tt></center>
<hr>

Ten parametr okre¶la fakultatywne zewnêtrzne polecenie wykorzystywane
zamiast dorêczania do skrzynki pocztowej. Polecenie bêdzie uruchamiane
z&nbsp;prawami odbiorcy i&nbsp;z&nbsp;prawid³owymi ustawieniami
<tt>HOME</tt>, <tt>SHELL</tt> i&nbsp;<tt>LOGNAME</tt> w&nbsp;¶rodowisku.
Wyj±tek: dorêczanie dla <tt>root</tt>-a odbywa siê jako
<tt>$default_user</tt>. <p>

Inne interesuj±ce zmienne ¶rodowiska: <tt>USER</tt> (nazwa u¿ytkownika
bêd±cego odbiorc±), <tt>EXTENSION</tt> (rozszerzenie adresu),
<tt>DOMAIN</tt> (domenowa czê¶æ adresu), i&nbsp;<tt>LOCAL</tt> (lokalna
czê¶æ adresu). <p>

W&nbsp;odró¿nieniu od innych parametrów konfiguracyjnych Postfiksa, ta opcja
nie jest poddana podstawianiu parametrów. Ma to na celu u³atwienie podawania
sk³adni pow³oki (patrz poni¿szy przyk³ad). <p>

Unikaj metaznaków pow³oki, gdy¿ zmusz± one Postfiksa do uruchomienia
kosztownego procesu pow³oki. Sam <tt>procmail</tt> jest dostatecznie
kosztowny. <p>

JE¦LI KORZYSTASZ Z&nbsp;TEJ OPCJI DLA DORÊCZANIA POCZTY W&nbsp;CA£YM
SYSTEMIE, MUSISZ USTAWIÆ ALIAS PRZEKIEROWUJ¡CY POCZTÊ DO ROOT-A DO ZWYK£EGO
U¯YTKOWNIKA. <p>

Przyk³ady:
<ul>
<li><tt>/gdzies/tam/procmail</tt> 
<li><tt>/gdzies/tam/procmail -a "$EXTENSION"</tt>
</ul>

<hr>
  070701000609e1000081a40000000000000002000000013d1fe2dd000004d2000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_mailbox_command.sv.html    <header>Externt kommando istället för sändning till brevlåda</header>

<center><tt>mailbox_command</tt></center>
<hr>

Denna parameter anger ett externt kommando som ska köras istället
för att e-post ska sändas till brevlådan. Kommandot körs som mottagaren med
riktiga <tt>HOME</tt>-, <tt>SHELL</tt>- och <tt>LOGNAME</tt>-miljöinställningar.
Ett undantag är att e-post till <tt>root</tt> körs som <tt>$default_user</tt>.

<p>Övriga omgivningsvariabler av intresse: <tt>USER</tt> (mottagarens användarnamn),
<tt>EXTENSION</tt> (adressändelse), <tt>DOMAIN</tt> (domändelen av adressen),
och <tt>LOCAL</tt> (den lokala delen av adressen).

<p>Till skillnad från övriga Postfix-konfigurationsparametrar påverkas inte denna
parameter av parametersubstitutioner. Detta beteende gör det lättare att ange
skalsyntax (se exempel nedan).

<p>Undvik metatecken eftersom de kommer att tvinga Postfix att köra en tung
skalprocess. <tt>Procmail</tt> är i sig tillräckligt tungt.

<p><b>Om detta används för att sända e-post över hela systemet, måste ett alias
sättas upp som skickar vidare roots e-post till en riktig användare.</b>

<p>Exempel:
<ul>
<li><tt>/some/where/procmail</tt> 
<li><tt>/some/where/procmail -a "$EXTENSION"</tt>
</ul>

<hr>
  070701000609e2000081a40000000000000002000000013d1fe2dd000001d7000000200000000000000000000000000000003100000003reloc/postfix/help/opt_mailbox_transport.ca.html  <header>Optional actual transport to use</header>

<center><tt>mailbox_transport</tt></center>
<hr>

This parameter specifies the optional transport (in <tt>master.cf</tt>)
to use after processing aliases and <tt>.forward</tt> files.

<p>

This parameter has precedence over the
<a href=opt_mailbox_command><tt>mailbox_command</tt></a>,
<a href=opt_fallback_transport><tt>fallback_transport</tt></a> and
<a href=opt_luser_relay><tt>luser_relay</tt></a> parameters.

<hr>
 070701000609e3000081a40000000000000002000000013d1fe2dd000001d8000000200000000000000000000000000000003100000003reloc/postfix/help/opt_mailbox_transport.es.html  <header>Transporte actual opciona a usar</header>

<center><tt>mailbox_transport</tt></center>
<hr>

Este parámetro especifica el transporte opcional (en <tt>master.cf</tt>)
a usar tras procesar aliases y archivos <tt>.forward</tt>.

<p>

Este parámetro tiene precedencia sobre los parámetros
<a href=opt_mailbox_command><tt>mailbox_command</tt></a>,
<a href=opt_fallback_transport><tt>fallback_transport</tt></a> y
<a href=opt_luser_relay><tt>luser_relay</tt></a>.

<hr>
070701000609e4000081a40000000000000002000000013d1fe2dd000001d7000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_mailbox_transport.html <header>Optional actual transport to use</header>

<center><tt>mailbox_transport</tt></center>
<hr>

This parameter specifies the optional transport (in <tt>master.cf</tt>)
to use after processing aliases and <tt>.forward</tt> files.

<p>

This parameter has precedence over the
<a href=opt_mailbox_command><tt>mailbox_command</tt></a>,
<a href=opt_fallback_transport><tt>fallback_transport</tt></a> and
<a href=opt_luser_relay><tt>luser_relay</tt></a> parameters.

<hr>
 070701000609e5000081a40000000000000002000000013d1fe2dd000001f5000000200000000000000000000000000000003100000003reloc/postfix/help/opt_mailbox_transport.pl.html  <header>Fakultatywna, rzeczywi¶cie u¿ywana metoda ekspedycji</header>

<center><tt>mailbox_transport</tt></center>
<hr>

Ten parametr okre¶la fakultatywn± metodê ekspedycji
(w&nbsp;<tt>master.cf</tt>) u¿ywan± po przetworzeniu aliasów i&nbsp;plików
<tt>.forward</tt>. <p>

Ten parametr ma pierwszeñstwo przed opcjami 
<a href=opt_mailbox_command><tt>mailbox_command</tt></a>,
<a href=opt_fallback_transport><tt>fallback_transport</tt></a>
i&nbsp;<a href=opt_luser_relay><tt>luser_relay</tt></a>.

<hr>
   070701000609e6000081a40000000000000002000000013d1fe2dd000001cb000000200000000000000000000000000000003100000003reloc/postfix/help/opt_mailbox_transport.sv.html  <header>Valbar verklig transportmetod</header>

<center><tt>mailbox_transport</tt></center>
<hr>

Denna parameter anger en valbar transportmetod (i <tt>master.cf</tt>)
som ska användas då alias och <tt>.forward</tt>-filer har processats.

<p>Parametern gäller över parametrarna
<a href=opt_mailbox_command><tt>mailbox_command</tt></a>,
<a href=opt_fallback_transport><tt>fallback_transport</tt></a> och
<a href=opt_luser_relay><tt>luser_relay</tt></a>.

<hr>
 070701000609e7000081a40000000000000002000000013d1fe2dd00000213000000200000000000000000000000000000003000000003reloc/postfix/help/opt_maps_rbl_domains.ca.html   <header>DNS domains for blacklist lookups</header>

<center><tt>maps_rbl_domains</tt></center>
<hr>

This parameter specifies an optional list of DNS domains that publish the
network addresses of blacklisted hosts.

<p>

By default, RBL blacklist lookups are disabled. See the
<a href=opt_smtpd_client_restrictions><tt>smtpd_client_restrictions</tt></a>
parameter.

<p>

The real-time blackhole list works as follows: reverse the client
network address, and reject service if it is listed below any of
the following domains.

<hr>
 070701000609e8000081a40000000000000002000000013d1fe2dd00000263000000200000000000000000000000000000003000000003reloc/postfix/help/opt_maps_rbl_domains.es.html   <header>Dminios de DNS para búsqueda en lista negra</header>

<center><tt>maps_rbl_domains</tt></center>
<hr>

Este parámetro especifica una lista opcional de dominios DNS que publican
las direcciones de red de máquinas en la lista negra.

<p>

Por defecto, las búsquedas el listas negras RBL están desactivadas. Mira el
parémtro <a href=opt_smtpd_client_restrictions>
<tt>smtpd_client_restrictions</tt></a>.

<p>

La lista de agujero negro en tiempo real funciona como sigue: pone inversa
la dirección de rede del cliente y rechaza el servicio si está listada bajo
cualquiera de los siguientes dominios.

<hr>
 070701000609e9000081a40000000000000002000000013d1fe2dd00000213000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_maps_rbl_domains.html  <header>DNS domains for blacklist lookups</header>

<center><tt>maps_rbl_domains</tt></center>
<hr>

This parameter specifies an optional list of DNS domains that publish the
network addresses of blacklisted hosts.

<p>

By default, RBL blacklist lookups are disabled. See the
<a href=opt_smtpd_client_restrictions><tt>smtpd_client_restrictions</tt></a>
parameter.

<p>

The real-time blackhole list works as follows: reverse the client
network address, and reject service if it is listed below any of
the following domains.

<hr>
 070701000609ea000081a40000000000000002000000013d1fe2dd00000235000000200000000000000000000000000000003000000003reloc/postfix/help/opt_maps_rbl_domains.pl.html   <header>Czarna lista domen DNS</header>

<center><tt>maps_rbl_domains</tt></center>
<hr>

Ten parametr okre¶la fakultatywn± listê domen DNS, które wyznaczaj± czarn±
listê adresów sieciowych hostów. <p>

Domy¶lnie, przeszukiwanie czarnej listy RBL jest wy³±czone. Patrz parametr
<a href=opt_smtpd_client_restrictions><tt>smtpd_client_restrictions</tt></a>.
<p>

Dzia³aj±ca w&nbsp;czasie rzeczywistym czarna lista funkcjonuje nastêpuj±co:
odwraca adres sieciowy klienta i&nbsp;blokuje us³ugê, je¶li wynik znajduje siê
poni¿ej której¶ z&nbsp;wymienionych domen.

<hr>
   070701000609eb000081a40000000000000002000000013d1fe2dd000001f9000000200000000000000000000000000000003000000003reloc/postfix/help/opt_maps_rbl_domains.sv.html   <header>DNS-domäner för uppslagning av svartlistning</header>

<center><tt>maps_rbl_domains</tt></center>
<hr>

Denna parameter anger en lista över DNS-domäner som listar nätverksadresser
för svartlistade datorer.

<p>RBL-svartlistningsuppslagningar är avslagna som standard. Se parametern
<a href=opt_smtpd_client_restrictions><tt>smtpd_client_restrictions</tt></a>.

<p>Listan fungerar så här: slå upp klientens
nätverksadress och neka den om den finns listan under någon av nedanstående domäner.

<hr>
   070701000609ec000081a40000000000000002000000013d1fe2dd00000164000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maps_rbl_reject_code.ca.html   <header>SMTP server response on RBL domains violation</header>

<center><tt>maps_rbl_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<a href=opt_maps_rbl_domains><tt>maps_rbl_domains</tt></a> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
070701000609ed000081a40000000000000002000000013d1fe2dd00000164000000200000000000000000000000000000003100000003reloc/postfix/help/opt_maps_rbl_reject_code.html  <header>SMTP server response on RBL domains violation</header>

<center><tt>maps_rbl_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<a href=opt_maps_rbl_domains><tt>maps_rbl_domains</tt></a> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
070701000609ee000081a40000000000000002000000013d1fe2dd00000157000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maps_rbl_reject_code.pl.html   <header>Odpowied¼ serwera SMTP przy naruszeniu RBL dla domen</header>

<center><tt>maps_rbl_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP, gdy klient narusza
ograniczenie <a href=opt_maps_rbl_domains><tt>maps_rbl_domains</tt></a>. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
 070701000609ef000081a40000000000000002000000013d1fe2dd00000155000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maps_rbl_reject_code.sv.html   <header>SMTP-serveråtgärd vid RBL-domänöverträdelse</header>

<center><tt>maps_rbl_reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera när en klient överträder
begränsningen <a href=opt_maps_rbl_domains><tt>maps_rbl_domains</tt></a>.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
   070701000609f0000081a40000000000000002000000013d1fe2dd0000023d000000200000000000000000000000000000003200000003reloc/postfix/help/opt_masquerade_domains.ca.html <header>Address masquerading</header>

<center><tt>masquerade_domains</tt></center>
<hr>

Address masquerading is a method to hide all hosts below a domain behind their
mail gateway, and to make it appear as if the mail comes from the gateway
itself, instead of from individual machines.

<p>

Address masquerading is disabled by default. To enable, specify one or more
domain names separated by whitespace or commas. For example: <tt>$mydomain</tt>
; in this example, addresses of the form <tt>user@host.$mydomain</tt> would be
rewritten to <tt>user@$mydomain</tt>.

<hr>
   070701000609f1000081a40000000000000002000000013d1fe2dd0000023d000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_masquerade_domains.html    <header>Address masquerading</header>

<center><tt>masquerade_domains</tt></center>
<hr>

Address masquerading is a method to hide all hosts below a domain behind their
mail gateway, and to make it appear as if the mail comes from the gateway
itself, instead of from individual machines.

<p>

Address masquerading is disabled by default. To enable, specify one or more
domain names separated by whitespace or commas. For example: <tt>$mydomain</tt>
; in this example, addresses of the form <tt>user@host.$mydomain</tt> would be
rewritten to <tt>user@$mydomain</tt>.

<hr>
   070701000609f2000081a40000000000000002000000013d1fe2dd00000262000000200000000000000000000000000000003200000003reloc/postfix/help/opt_masquerade_domains.pl.html <header>Maskowanie adresów</header>

<center><tt>masquerade_domains</tt></center>
<hr>

Maskowanie adresów jest metod± ukrywania wszystkich hostów poni¿ej domeny za
ich bramk± pocztow± i&nbsp;uczynienie poczty z&nbsp;nich tak±, jakoby
pochodzi³a ona z&nbsp;samej bramki, nie za¶ z&nbsp;osobnych maszyn. <p>

Maskowanie adresów jest domy¶lnie wy³±czone. Aby je w³±czyæ, podaj jedn± lub
wiêcej domen rozdzielonych bia³ymi znakami lub przecinkami. Na przyk³ad:
<tt>$mydomain</tt>; w&nbsp;tym przyk³adzie, adresy postaci
<tt>uzytkownik@host.$mydomain</tt> bêd± przepisane jako
<tt>uzytkownik@$mydomain</tt>.

<hr>
  070701000609f3000081a40000000000000002000000013d1fe2dd0000022f000000200000000000000000000000000000003200000003reloc/postfix/help/opt_masquerade_domains.sv.html <header>Adressmaskering</header>

<center><tt>masquerade_domains</tt></center>
<hr>

Adressmaskering är en metod för att gömma alla datorer under en domän bakom
deras gateway, och få det att se ut som att all e-post kommer från gateway
istället för från olika datorer.

<p>Adressmaskeringen är avslagen som standard. För att slå på den måste du
ange ett eller flera domännamn separerade med blanksteg eller kommatecken.
Exempel: <tt>$mydomain</tt>; i detta exempel skrivs adresser på formen
<tt>user@host.$mydomain</tt> om till <tt>user@$mydomain</tt>.

<hr>
 070701000609f4000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000003500000003reloc/postfix/help/opt_masquerade_exceptions.ca.html  <header> Masquerade exceptions </header>

<center><tt>masquerade_exceptions</tt></center>
<hr>

The masquerade exceptions configuration specifies what user names should not be
subjected to address masquerading. Specify one or more user names separated by
whitespace or commas. For example, <tt>root</tt>.

<p>

By default, Postfix makes no exceptions. 

<hr>  070701000609f5000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000003200000003reloc/postfix/help/opt_masquerade_exceptions.html <header> Masquerade exceptions </header>

<center><tt>masquerade_exceptions</tt></center>
<hr>

The masquerade exceptions configuration specifies what user names should not be
subjected to address masquerading. Specify one or more user names separated by
whitespace or commas. For example, <tt>root</tt>.

<p>

By default, Postfix makes no exceptions. 

<hr>  070701000609f6000081a40000000000000002000000013d1fe2dd00000175000000200000000000000000000000000000003500000003reloc/postfix/help/opt_masquerade_exceptions.pl.html  <header>Wyj±tki dla maskowania</header>

<center><tt>masquerade_exceptions</tt></center>
<hr>

Konfiguracja wyj±tków dla maskowania okre¶la, które nazwy u¿ytkowników nie
powinny podlegaæ maskowaniu adresów. Podaj jedn± lub wiêcej rozdzielonych
bia³ymi znakami lub przecinkami nazw u¿ytkowników. Na przyk³ad,
<tt>root</tt>. <p>

Domy¶lnie, Postfix nie robi wyj±tków. 

<hr>
   070701000609f7000081a40000000000000002000000013d1fe2dd00000186000000200000000000000000000000000000003500000003reloc/postfix/help/opt_masquerade_exceptions.sv.html  <header>Maskeringsundantag</header>

<center><tt>masquerade_exceptions</tt></center>
<hr>

Inställningen maskeringsundantag anger de användarnamn som inte ska utsättas för
adressmaskering. Ange ett eller flera användarnamn separerade med blanksteg eller
kommatecken, exempelvis <tt>root</tt>.

<p>Standardinställningen är att Postfix inte undantar några användarnamn från maskeringen.

<hr>  070701000609f8000081a40000000000000002000000013d1fe2dd0000011a000000200000000000000000000000000000002800000003reloc/postfix/help/opt_max_idle.ca.html   <header>Time to wait for next service request</header>

<center><tt>max_idle</tt></center>
<hr>

This parameter limits the time in seconds that a Postfix daemon process waits
for the next service request before exiting. This parameter is ignored by the
Postfix queue manager.

<hr>
  070701000609f9000081a40000000000000002000000013d1fe2dd0000011a000000200000000000000000000000000000002500000003reloc/postfix/help/opt_max_idle.html  <header>Time to wait for next service request</header>

<center><tt>max_idle</tt></center>
<hr>

This parameter limits the time in seconds that a Postfix daemon process waits
for the next service request before exiting. This parameter is ignored by the
Postfix queue manager.

<hr>
  070701000609fa000081a40000000000000002000000013d1fe2dd00000131000000200000000000000000000000000000002800000003reloc/postfix/help/opt_max_idle.pl.html   <header>Czas oczekiwania na nastêpne po³±czenie</header>

<center><tt>max_idle</tt></center>
<hr>

Ten parametr ogranicza czas w&nbsp;sekundach, przez który demon Postfiksa
bêdzie czeka³ na nastêpne ¿±danie us³ugi zanim zakoñczy pracê. Ten parametr
jest ignorowany przez zarz±dcê kolejki Postfiksa.

<hr>
   070701000609fb000081a40000000000000002000000013d1fe2dd00000114000000200000000000000000000000000000002800000003reloc/postfix/help/opt_max_idle.sv.html   <header>Väntetid till nästa tjänsteförfrågning</header>

<center><tt>max_idle</tt></center>
<hr>

Denna parameter begränsar tiden (i sekunder) som en Postfix-demonprocess väntar
på nästa tjänsteförfrågning innan den avslutas. Postfix-köhanteraren struntar i
parametern.

<hr>
070701000609fc000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002700000003reloc/postfix/help/opt_max_use.ca.html    <header>Max services request handled before exiting</header>

<center><tt>max_use</tt></center>
<hr>

This parameter limits the number of service requests handled
by a Postfix daemon process before exiting. This parameter is
ignored by the Postfix queue manager.


<hr>
  070701000609fd000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002400000003reloc/postfix/help/opt_max_use.html   <header>Max services request handled before exiting</header>

<center><tt>max_use</tt></center>
<hr>

This parameter limits the number of service requests handled
by a Postfix daemon process before exiting. This parameter is
ignored by the Postfix queue manager.


<hr>
  070701000609fe000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002700000003reloc/postfix/help/opt_max_use.pl.html    <header>Max services request handled before exiting</header>

<center><tt>max_use</tt></center>
<hr>

This parameter limits the number of service requests handled
by a Postfix daemon process before exiting. This parameter is
ignored by the Postfix queue manager.


<hr>
  070701000609ff000081a40000000000000002000000013d1fe2dd0000011b000000200000000000000000000000000000002700000003reloc/postfix/help/opt_max_use.sv.html    <header>Maximalt antal behandlade tjänsteförfrågningar före avslutning</header>

<center><tt>max_use</tt></center>
<hr>

Denna parameter begränsar antalet tjänsteförfrågningar som en
Postfix-demonprocess hanterar innan den avslutas. Postfix-köhanteraren
struntar i parametern.

<hr>
 07070100060a00000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maximal_backoff_time.ca.html   <header>Max time between attempts to deliver a deferred message</header>

<center><tt>maximal_backoff_time</tt></center>
<hr>

This parameter specifies the maximal time in seconds between attempts to
deliver a deferred message.


<hr>
 07070100060a01000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003100000003reloc/postfix/help/opt_maximal_backoff_time.html  <header>Max time between attempts to deliver a deferred message</header>

<center><tt>maximal_backoff_time</tt></center>
<hr>

This parameter specifies the maximal time in seconds between attempts to
deliver a deferred message.


<hr>
 07070100060a02000081a40000000000000002000000013d1fe2dd000000f3000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maximal_backoff_time.pl.html   <header>Maks. czas pomiêdzy próbami dorêczenia odroczonej wiadomo¶ci</header>

<center><tt>maximal_backoff_time</tt></center>
<hr>

Ten parametr okre¶la maksymalny czas w&nbsp;sekundach pomiêdzy próbami
dorêczenia odroczonej wiadomo¶ci.

<hr>
 07070100060a03000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000003400000003reloc/postfix/help/opt_maximal_backoff_time.sv.html   <header>Maxtid mellan försök att sända ett fördröjt meddelande</header>

<center><tt>maximal_backoff_time</tt></center>
<hr>

Denna parameter anger maxtiden (i sekunder) mellan två försök att sända
ett fördröjt e-postmeddelande.

<hr>
 07070100060a04000081a40000000000000002000000013d1fe2dd000000f1000000200000000000000000000000000000003600000003reloc/postfix/help/opt_maximal_queue_lifetime.ca.html <header>Max time in queue before message is undeliverable</header>

<center><tt>maximal_queue_lifetime</tt></center>
<hr>

This parameter specifies the maximal time in days a message is queued before it
is sent back as undeliverable.


<hr>
   07070100060a05000081a40000000000000002000000013d1fe2dd000000f1000000200000000000000000000000000000003300000003reloc/postfix/help/opt_maximal_queue_lifetime.html    <header>Max time in queue before message is undeliverable</header>

<center><tt>maximal_queue_lifetime</tt></center>
<hr>

This parameter specifies the maximal time in days a message is queued before it
is sent back as undeliverable.


<hr>
   07070100060a06000081a40000000000000002000000013d1fe2dd00000132000000200000000000000000000000000000003600000003reloc/postfix/help/opt_maximal_queue_lifetime.pl.html <header>Maks. czas przetrzymywania wiadomo¶ci w&nbsp;kolejce przed uznaniem
jej za niedorêczaln± </header>

<center><tt>maximal_queue_lifetime</tt></center>
<hr>

Ten parametr okre¶la maksymalny czas w dniach, przez jaki wiadomo¶æ przebywa
w&nbsp;kolejce, zanim zostanie odes³ana jako niedorêczalna.

<hr>
  07070100060a07000081a40000000000000002000000013d1fe2dd00000119000000200000000000000000000000000000003600000003reloc/postfix/help/opt_maximal_queue_lifetime.sv.html <header>Maximal kötid (dagar) innan meddelandet anses osändbart</header>

<center><tt>maximal_queue_lifetime</tt></center>
<hr>

Denna parameter anger den maximala kötiden (i dagar) innan ett e-postmeddelande
skickas tillbaka för att det inte gick att sända till mottagaren.

<hr>
   07070100060a08000081a40000000000000002000000013d1fe2dd000000be000000200000000000000000000000000000003200000003reloc/postfix/help/opt_message_size_limit.ca.html <header>Max size of a message</header>

<center><tt>message_size_limit</tt></center>
<hr>

This parameter limits the total size in bytes of a message, including envelope
information.


<hr>
  07070100060a09000081a40000000000000002000000013d1fe2dd000000be000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_message_size_limit.html    <header>Max size of a message</header>

<center><tt>message_size_limit</tt></center>
<hr>

This parameter limits the total size in bytes of a message, including envelope
information.


<hr>
  07070100060a0a000081a40000000000000002000000013d1fe2dd000000d5000000200000000000000000000000000000003200000003reloc/postfix/help/opt_message_size_limit.pl.html <header>Maksymalny rozmiar wiadomo¶ci</header>

<center><tt>message_size_limit</tt></center>
<hr>

Ten parametr ogranicza ca³kowity rozmiar wiadomo¶ci w&nbsp;bajtach, w³±czaj±c
informacje w&nbsp;nag³ówkach.

<hr>
   07070100060a0b000081a40000000000000002000000013d1fe2dd000000c6000000200000000000000000000000000000003200000003reloc/postfix/help/opt_message_size_limit.sv.html <header>Maximal meddelandestorlek</header>

<center><tt>message_size_limit</tt></center>
<hr>

Denna parameter begränsar den totala meddelandestorleken (i byte), inklusive
omslagsinformation.

<hr>
  07070100060a0c000081a40000000000000002000000013d1fe2dd00000169000000200000000000000000000000000000003400000003reloc/postfix/help/opt_minimal_backoff_time.ca.html   <header>Min time between attempts to deliver a deferred message</header>

<center><tt>minimal_backoff_time</tt></center>
<hr>

This parameter specifies the minimal time in seconds between attempts to
deliver a deferred message. This parameter also limits the time an unreachable
destination is kept in the short-term, in-memory destination status cache.


<hr>
   07070100060a0d000081a40000000000000002000000013d1fe2dd00000169000000200000000000000000000000000000003100000003reloc/postfix/help/opt_minimal_backoff_time.html  <header>Min time between attempts to deliver a deferred message</header>

<center><tt>minimal_backoff_time</tt></center>
<hr>

This parameter specifies the minimal time in seconds between attempts to
deliver a deferred message. This parameter also limits the time an unreachable
destination is kept in the short-term, in-memory destination status cache.


<hr>
   07070100060a0e000081a40000000000000002000000013d1fe2dd000001ab000000200000000000000000000000000000003400000003reloc/postfix/help/opt_minimal_backoff_time.pl.html   <header>Min. czas pomiêdzy próbami dorêczenia odroczonej wiadomo¶ci</header>

<center><tt>minimal_backoff_time</tt></center>
<hr>

Ten parametr okre¶la minimalny czas w&nbsp;sekundach pomiêdzy próbami
dorêczenia odroczonej wiadomo¶ci. Parametr ten jednocze¶nie ogranicza czas,
przez jaki nieosi±galno¶æ miejsca przeznaczenia jest przetrzymywana
w&nbsp;krótkoterminowym buforze stanu miejsca przeznaczenia w&nbsp;pamiêci.

<hr>
 07070100060a0f000081a40000000000000002000000013d1fe2dd00000165000000200000000000000000000000000000003400000003reloc/postfix/help/opt_minimal_backoff_time.sv.html   <header>Minsta tid mellan försök att sända ett fördröjt meddelande</header>

<center><tt>minimal_backoff_time</tt></center>
<hr>

Denna parameter anger den minimala tiden (i sekunder) mellan två försök att
sända ett fördröjt e-postmeddelande. Parametern begränsar också tiden som en
onåbar destination hålls i korttidsminnets destinationsstatuscache.

<hr>
   07070100060a10000081a40000000000000002000000013d1fe2dd00000354000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_mydestination.ca.html  <header>What domain to receive mail for</header>

<center><tt>mydestination</tt></center>
<hr>

You specify what domains this machine will deliver locally, instead of
forwarding to another machine. The default is to receive mail for the machine
itself.

<p>

<b>Local machine</b>: <tt>$myhostname, localhost.$mydomain</tt>
<br>
<b>Whole Domain</b>: <tt>$myhostname, localhost.$mydomain,
$mydomain</tt>

<p>

You can also specify the full path of a file, which will contain the names of
domains that this machine will deliver mail locally for.

<p>

Example: <tt>/etc/postfix/mydestination</tt>

<hr>
<br>

<b><u>Caution:</u></b> in order to avoid mail delivery loops, you must list all
hostnames of the machine, including <tt>$myhostname</tt>, and
<tt>localhost.$mydomain</tt>. DO NOT LIST VIRTUAL DOMAINS HERE. LIST THEM IN
THE VIRTUAL FILE INSTEAD.

07070100060a11000081a40000000000000002000000013d1fe2dd00000354000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mydestination.html <header>What domain to receive mail for</header>

<center><tt>mydestination</tt></center>
<hr>

You specify what domains this machine will deliver locally, instead of
forwarding to another machine. The default is to receive mail for the machine
itself.

<p>

<b>Local machine</b>: <tt>$myhostname, localhost.$mydomain</tt>
<br>
<b>Whole Domain</b>: <tt>$myhostname, localhost.$mydomain,
$mydomain</tt>

<p>

You can also specify the full path of a file, which will contain the names of
domains that this machine will deliver mail locally for.

<p>

Example: <tt>/etc/postfix/mydestination</tt>

<hr>
<br>

<b><u>Caution:</u></b> in order to avoid mail delivery loops, you must list all
hostnames of the machine, including <tt>$myhostname</tt>, and
<tt>localhost.$mydomain</tt>. DO NOT LIST VIRTUAL DOMAINS HERE. LIST THEM IN
THE VIRTUAL FILE INSTEAD.

07070100060a15000081a40000000000000002000000013d1fe2dd0000013a000000200000000000000000000000000000002500000003reloc/postfix/help/opt_mydomain.html  <header>Local internet domain name</header>

<center><tt>mydomain</tt></center>
<hr>

The mydomain parameter specifies the local internet domain name. The default is
to use <tt>$myhostname</tt> minus the first component. <tt>$mydomain</tt> is
used as a default value for many other configuration parameters.

<hr>
  07070100060a12000081a40000000000000002000000013d1fe2dd00000398000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_mydestination.pl.html  <header>Dla jakich domen odbieraæ pocztê</header>

<center><tt>mydestination</tt></center>
<hr>

Nale¿y to podaæ siê tu domeny, dla których ta maszyna bêdzie dorêczaæ pocztê
lokalnie, zamiast przekazywania jej do innej maszyny. Domy¶lne jest
odbieranie poczty przez maszynê dla samej siebie. <p>

<b>Maszyna lokalna</b>: <tt>$myhostname, localhost.$mydomain</tt> <br>
<b>Ca³a domena</b>: <tt>$myhostname, localhost.$mydomain, mydomain</tt> <p>

Mo¿na równie¿ podaæ pe³n± ¶cie¿kê do pliku zawieraj±cego nazwy domen, dla
których ta maszyna bêdzie dorêczaæ pocztê lokalnie. <p>

Przyk³ad: <tt>/etc/postfix/mydestination</tt>

<hr>
<br>

<b><u>Uwaga:</u></b> w celu unikniêcia zapêtleñ w&nbsp;dorêczaniu poczty,
musisz wymieniæ wszystkie nazwy tej maszyny, w³±czaj±c w&nbsp;to
<tt>$myhostname</tt> i&nbsp;<tt>localhost.$mydomain</tt>.  NIE PODAWAJ TU
DOMEN WIRTUALNYCH. PODAJ JE ZAMIAST TEGO W&nbsp;PLIKU DOMEN WIRTUALNYCH.
07070100060a13000081a40000000000000002000000013d1fe2dd00000337000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_mydestination.sv.html  <header>Ta emot e-post för dessa domäner</header>

<center><tt>mydestination</tt></center>
<hr>

Ange de domäner som denna maskin ska skicka till lokalt istället för att sända
vidare till en annan maskin. Standard är att ta emot e-post till maskinen själv.

<p><b>Lokal dator</b>: <tt>$myhostname, localhost.$mydomain</tt>
<br><b>Hela domänen</b>: <tt>$myhostname, localhost.$mydomain, $mydomain</tt>

<p>Man kan också ange en fullständig sökväg till en fil som innehåller namn på
de domäner som denna maskin ska skicka e-post lokalt för.

<p>Exempel: <tt>/etc/postfix/mydestination</tt>

<hr>
<p><b><u>Varning:</u></b> för att undvika e-postloopar måste alla namn på maskinen,
inklusive <tt>$myhostname</tt> och <tt>localhost.$mydomain</tt> räknas upp.
<b>Räkna inte upp virtuella domäner här, utan i virtuell-filen.</b>

 07070100060a14000081a40000000000000002000000013d1fe2dd0000013a000000200000000000000000000000000000002800000003reloc/postfix/help/opt_mydomain.ca.html   <header>Local internet domain name</header>

<center><tt>mydomain</tt></center>
<hr>

The mydomain parameter specifies the local internet domain name. The default is
to use <tt>$myhostname</tt> minus the first component. <tt>$mydomain</tt> is
used as a default value for many other configuration parameters.

<hr>
  07070100060a16000081a40000000000000002000000013d1fe2dd0000014f000000200000000000000000000000000000002800000003reloc/postfix/help/opt_mydomain.pl.html   <header>Nazwa lokalnej domeny internetowej</header>

<center><tt>mydomain</tt></center>
<hr>

Parametr <tt>mydomain</tt> okre¶la nazwê lokalnej domeny internetowej.
Domy¶lne jest u¿ywanie <tt>$myhostname</tt> minus pierwszy sk³adnik.
<tt>$mydomain</tt> jest u¿ywana jako warto¶æ domy¶lna dla wielu innych opcji
konfiguracyjnych.

<hr>
 07070100060a17000081a40000000000000002000000013d1fe2dd00000127000000200000000000000000000000000000002800000003reloc/postfix/help/opt_mydomain.sv.html   <header>Lokalt internetdomännamn</header>

<center><tt>mydomain</tt></center>
<hr>

Parametern mydomain anger det lokala internetdomännamnet. Standardvärdet är
<tt>$myhostname</tt> minus den första delen. <tt>$mydomain</tt> används
som standardvärde på många andra inställningsparametrar.

<hr>
 07070100060a18000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_myhostname.ca.html <header>Internet hostname of this mail system</header>

<center><tt>myhostname</tt></center>
<hr>

This parameter specifies the internet hostname of this mail system. The default
is to use the fully-qualified domain name from <tt>gethostname()</tt>.

<p>

<tt>$myhostname</tt> is used as a default value for many other configuration
parameters.


<hr>
07070100060a19000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000002700000003reloc/postfix/help/opt_myhostname.html    <header>Internet hostname of this mail system</header>

<center><tt>myhostname</tt></center>
<hr>

This parameter specifies the internet hostname of this mail system. The default
is to use the fully-qualified domain name from <tt>gethostname()</tt>.

<p>

<tt>$myhostname</tt> is used as a default value for many other configuration
parameters.


<hr>
07070100060a1a000081a40000000000000002000000013d1fe2dd00000184000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_myhostname.pl.html <header>Internetowa nazwa hosta tego systemu poczty</header>

<center><tt>myhostname</tt></center>
<hr>

Ten parametr okre¶la internetow± nazwê hosta tego systemu poczty.  Domy¶lne
jest u¿ywanie w&nbsp;pe³ni kwalifikowanej nazwy domenowej uzyskanej
z&nbsp;<tt>gethostname()</tt>. <p>

<tt>$myhostname</tt> jest u¿ywana jako warto¶æ domy¶lna dla wielu innych opcji
konfiguracyjnych.

<hr>
07070100060a1b000081a40000000000000002000000013d1fe2dd0000015e000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_myhostname.sv.html <header>Internet-datornamn för detta e-postsystem</header>

<center><tt>myhostname</tt></center>
<hr>

Denna parameter anger internet-datornamnet för detta e-postsystem.
Standardvärdet är att ta det fullständiga domännamnet från <tt>gethostname()</tt>.

<p><tt>$myhostname</tt> används som standardvärde för många andra inställningsparametrar.

<hr>
  07070100060a1c000081a40000000000000002000000013d1fe2dd00000326000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mynetworks.ca.html <header>Local networks</header>

<center><tt>mynetworks</tt></center>
<hr>

This parameter specifies the list of networks that are local to this machine.
The list is used by the anti-UCE software to distinguish local clients from
strangers. See <tt>permit_mynetworks</tt> and
<a href=opt_smtpd_recipient_restrictions><tt>smtpd_recipient_restrictions</tt></a>
in the SMTP configuration.

<p>

The default is a list of all networks attached to the machine: a complete class
A network (X.0.0.0/8), a complete class B network (X.X.0.0/16), and so on. If
you want stricter control, specify a list of network/mask patterns, where the
mask specifies the number of bits in the network part of a host address. You
can also specify the absolute pathname of a pattern file instead of listing the
patterns here.

<hr>
  07070100060a1d000081a40000000000000002000000013d1fe2dd00000326000000200000000000000000000000000000002700000003reloc/postfix/help/opt_mynetworks.html    <header>Local networks</header>

<center><tt>mynetworks</tt></center>
<hr>

This parameter specifies the list of networks that are local to this machine.
The list is used by the anti-UCE software to distinguish local clients from
strangers. See <tt>permit_mynetworks</tt> and
<a href=opt_smtpd_recipient_restrictions><tt>smtpd_recipient_restrictions</tt></a>
in the SMTP configuration.

<p>

The default is a list of all networks attached to the machine: a complete class
A network (X.0.0.0/8), a complete class B network (X.X.0.0/16), and so on. If
you want stricter control, specify a list of network/mask patterns, where the
mask specifies the number of bits in the network part of a host address. You
can also specify the absolute pathname of a pattern file instead of listing the
patterns here.

<hr>
  07070100060a1e000081a40000000000000002000000013d1fe2dd00000316000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mynetworks.pl.html <header>Sieci lokalne</header>

<center><tt>mynetworks</tt></center>
<hr>

Ten parametr definiuje listê sieci, które s± lokalne dla tej maszyny. Lista
jest wykorzystywana przez oprogramowanie przeciw UCE do rozró¿niania
klientów lokalnych od obcych. Zobacz <tt>permit_mynetworks</tt>
i&nbsp;<a href=opt_smtpd_recipient_restrictions><tt>smtpd_recipient_restrictions</tt></a>
w&nbsp;konfiguracji SMTP. <p>

Domy¶lnie jest to lista wszystkich sieci przy³±czonych do maszyny: pe³na
sieæ klasy A (X.0.0.0/8), pe³na sieæ klasy B (X.X.0.0/16), i&nbsp;tak dalej.
Je¶li potrzeba dok³adniejszej kontroli, podaj listê wzorców sieæ/maska,
gdzie maska okre¶la liczbê bitów w czê¶ci sieciowej adresu hosta. Mo¿esz
równie¿ podaæ bezwzglêdn± ¶cie¿kê do pliku wzorców zamiast podawania wzorców
tutaj.

<hr>
  07070100060a1f000081a40000000000000002000000013d1fe2dd00000309000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_mynetworks.sv.html <header>Lokala nätverk</header>

<center><tt>mynetworks</tt></center>
<hr>

Denna parameter anger en lista över lokala nätverk för denna dator. Listan används
av anti-UCE-program för att särskilja lokala klienter från andra. Se
<tt>permit_mynetworks</tt> och 
<a href=opt_smtpd_recipient_restrictions><tt>smtpd_recipient_restrictions</tt></a>
i SMTP-konfigurationen.

<p>Standardvärdet är en lista över alla nätverk som är kopplade till datorn:
ett komplett klass A-nätverk (X.0.0.0/8), ett klass B-nätverk (X.X.0.0/16) osv.
Om man vill ha mer kontroll går det att ange en lista med nätverk/mask-mönster,
där masken anger antalet bitar i nätverksdelen av datoradressen. Det går också att
ange en absolut sökväg till en mönsterfil istället för att räkna upp mönstren här.

<hr>
   07070100060a20000081a40000000000000002000000013d1fe2dd000001b0000000200000000000000000000000000000002800000003reloc/postfix/help/opt_myorigin.ca.html   <header>What domain to use in outbound mail</header>

<center><tt>myorigin</tt></center>
<hr>

You specify the domain that appears in mail that is posted on this machine. The
default configuration of Postfix is to use the local machine name,
<tt>hostname</tt>.

<p>

Unless you are running a really small site, you probably want to change that
into <tt>domainname</tt>, which defaults to the parent domain of the machine
name.

<hr>07070100060a21000081a40000000000000002000000013d1fe2dd000001b0000000200000000000000000000000000000002500000003reloc/postfix/help/opt_myorigin.html  <header>What domain to use in outbound mail</header>

<center><tt>myorigin</tt></center>
<hr>

You specify the domain that appears in mail that is posted on this machine. The
default configuration of Postfix is to use the local machine name,
<tt>hostname</tt>.

<p>

Unless you are running a really small site, you probably want to change that
into <tt>domainname</tt>, which defaults to the parent domain of the machine
name.

<hr>07070100060a22000081a40000000000000002000000013d1fe2dd000001dd000000200000000000000000000000000000002800000003reloc/postfix/help/opt_myorigin.pl.html   <header>W³asna domena w&nbsp;poczcie wychodz±cej</header>

<center><tt>myorigin</tt></center>
<hr>

Nale¿y podaæ tu domenê, która ma siê pojawiaæ w&nbsp;poczcie wysy³anej
z&nbsp;tej maszyny. Domy¶lne w&nbsp;konfiguracji Postfiksa jest u¿ywanie
lokalnej nazwy maszyny, <tt>hostname</tt>. <p>

Je¶li ten host nie jest serwerem dla naprawdê ma³ej lokalizacji,
prawdopodobnie chcesz zmieniæ to na <tt>domainname</tt>, dla której domy¶lna
jest domena nadrzêdna nazwy maszyny.

<hr>
   07070100060a23000081a40000000000000002000000013d1fe2dd00000194000000200000000000000000000000000000002800000003reloc/postfix/help/opt_myorigin.sv.html   <header>Domän som ska användas i utgående e-post</header>

<center><tt>myorigin</tt></center>
<hr>

Ange den domän som ska synas i e-post som sänds från denna dator. Standardkonfigurationen
i Postfix är att använda den lokala datorns namn, <tt>hostname</tt>.

<p>Om din site inte är väldigt liten vill du antagligen ändra detta till
<tt>domainname</tt>, som tar datorns domännamn som standardvärde.

<hr>07070100060a24000081a40000000000000002000000013d1fe2dd000005ee000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_notify_classes.ca.html <header>What trouble to report to the postmaster</header>

<center><tt>notify_classes</tt></center>
<hr>

You should set up a <b>postmaster</b> alias that points to a human person. This
alias is required to exist, so that people can report mail delivery problems.

<p>

The Postfix system itself also reports problems to the postmaster alias. You
may not be interested in all types of trouble reports, so this reporting
mechanism is configurable. The default is to report only serious problems
(resource, software) to postmaster:

<p>

<b>Default:</b> <tt>resource, software</tt>

<p>

The meaning of the classes is as follows: 

<ul>
<li><tt>bounce:</tt> Send postmaster copies of undeliverable mail.
<li><tt>2bounce:</tt> Send double bounces to the postmaster. 
<li><tt>delay:</tt> Inform the postmaster of delayed mail. In this case, the postmaster
receives message headers only.
<li><tt>policy:</tt> Inform the postmaster of client requests that were rejected because of (UCE) policy restrictions. The postmaster receives a transcript of the entire SMTP session. 
<li><tt>protocol:</tt> Inform the postmaster of protocol errors (client or server side)
or attempts by a client to execute unimplemented commands. The postmaster
receives a transcript of the entire SMTP session.
<li><tt>resource:</tt> Inform the postmaster of mail not delivered due to resource
problems (for example, queue file write errors). 
<li><tt>software:</tt> Inform the postmaster of mail not delivered due to software
problems. 
</ul>

<hr>  07070100060a25000081a40000000000000002000000013d1fe2dd000005ee000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_notify_classes.html    <header>What trouble to report to the postmaster</header>

<center><tt>notify_classes</tt></center>
<hr>

You should set up a <b>postmaster</b> alias that points to a human person. This
alias is required to exist, so that people can report mail delivery problems.

<p>

The Postfix system itself also reports problems to the postmaster alias. You
may not be interested in all types of trouble reports, so this reporting
mechanism is configurable. The default is to report only serious problems
(resource, software) to postmaster:

<p>

<b>Default:</b> <tt>resource, software</tt>

<p>

The meaning of the classes is as follows: 

<ul>
<li><tt>bounce:</tt> Send postmaster copies of undeliverable mail.
<li><tt>2bounce:</tt> Send double bounces to the postmaster. 
<li><tt>delay:</tt> Inform the postmaster of delayed mail. In this case, the postmaster
receives message headers only.
<li><tt>policy:</tt> Inform the postmaster of client requests that were rejected because of (UCE) policy restrictions. The postmaster receives a transcript of the entire SMTP session. 
<li><tt>protocol:</tt> Inform the postmaster of protocol errors (client or server side)
or attempts by a client to execute unimplemented commands. The postmaster
receives a transcript of the entire SMTP session.
<li><tt>resource:</tt> Inform the postmaster of mail not delivered due to resource
problems (for example, queue file write errors). 
<li><tt>software:</tt> Inform the postmaster of mail not delivered due to software
problems. 
</ul>

<hr>  07070100060a26000081a40000000000000002000000013d1fe2dd00000650000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_notify_classes.pl.html <header>O&nbsp;jakich k³opotach informowaæ postmastera</header>

<center><tt>notify_classes</tt></center>
<hr>

Powiniene¶ ustawic alias <b>postmaster</b>, który wskazuje na jak±¶ osobê.
Ten alias musi koniecznie istnieæ, aby mo¿na by³o sygnalizowaæ problemy
z&nbsp;dorêczeniem poczty. <p>

System Postfiksa równie¿ samodzielnie zg³asza problemy na alias postmastera.
Mo¿esz nie byæ zainteresowany wszystkimi rodzajami b³êdów, wiêc mechanizm
ich zg³aszania jest konfigurowalny. Domy¶lne jest informowanie postmastera
jedynie o&nbsp;powa¿nych problemach (resource, software): <p>

<b>Domy¶lne:</b> <tt>resource, software</tt> <p>

Klasy maj± nastêpuj±ce znaczenie:

<ul>
<li><tt>bounce:</tt> Wysy³aj do postmastera kopie poczty  niedorêczalnej.
<li><tt>2bounce:</tt> Wysy³aj do postmastera podwójnie odrzucone. 
<li><tt>delay:</tt> Informuj postmastera o&nbsp;poczcie opó¼nionej.
W&nbsp;tym przypadku postmaster otrzymuje jedynie nag³ówki.
<li><tt>policy:</tt> Informuj postmastera o&nbsp;po³±czeniach klientów
odrzuconych ze wzglêdu na polityczne ograniczenia (UCE). Postmaster
otrzymuje kopiê ca³ej sesji SMTP.
<li><tt>protocol:</tt> Informuj postmastera o&nbsp;b³êdach protoko³u (po
stronie klienta lub serwera) i&nbsp;próbach uruchomienia przez klienta
niezaimplementowanych poleceñ. Postmaster otrzymuje kopiê ca³ej sesji SMTP.
<li><tt>resource:</tt> Informuj postmastera o&nbsp;poczcie niedorêczonej ze
wzglêdu na problemy z&nbsp;zasobami (na przyk³ad, b³êdy zapisu do kolejki).
<li><tt>software:</tt> Informuj postmastera o&nbsp;poczcie niedorêczonej ze
wzglêdu na problemy z&nbsp;oprogramowaniem.
</ul>

<hr>
07070100060a27000081a40000000000000002000000013d1fe2dd000005d9000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_notify_classes.sv.html <header>Problem som ska rapporteras till postmaster</header>

<center><tt>notify_classes</tt></center>
<hr>

Du bör sätta upp aliaset <b>postmaster</b> som pekar på en verklig person.
Detta alias måste finnas, så att folk kan rapportera sina e-postproblem.

<p>Postfix-systemet rapporterar också problem till postmaster. Det är möjligt
att alla sorters problemrapporter inte är intressanta och därför går denna
rapportering att konfigurera. Som standard rapporteras endast allvarliga
(resurs-, program-) problem till postmaster:

<p><b>Standard:</b> <tt>resource, software</tt>

<p>De olika klasserna har följande betydelse:

<ul>
<li><tt>bounce:</tt> Skicka kopia till postmaster av e-post som inte kunde skickas.
<li><tt>2bounce:</tt> Skicka dubbelstudsar till postmaster. 
<li><tt>delay:</tt> Informera postmaster om fördröjd e-post. I detta fall skickas endast e-posthuvudena.
<li><tt>policy:</tt> Informera postmaster om klientförfrågningar som 
nekades på grund av (UCE-)policybegränsningar. Postmaster får ett sammandrag av hela SMTP-sessionen.
<li><tt>protocol:</tt> Informera postmaster om protokollfel (på klient- eller serversidan) eller
klientförsök att utföra kommandon som inte finns. Postmaster får ett sammandrag av hela
SMTP-sessionen.
<li><tt>resource:</tt> Informera postmaster om e-post som inte sänts på grund av resursproblem
(exempelvis fel vid skrivning till köfilen).
<li><tt>software:</tt> Informera postmaster om e-post som inte sänts på grund av programfel.
</ul>

<hr>   07070100060a28000081a40000000000000002000000013d1fe2dd000001b0000000200000000000000000000000000000003800000003reloc/postfix/help/opt_prepend_delivered_header.ca.html   <header>Prepend a Delivered-To: when...</header>

<center><tt>prepend_delivered_header</tt></center>
<hr>

This parameter controls when Postfix should prepend a <tt>Delivered-To:</tt>
message header.

<p>

By default, Postfix prepends a <tt>Delivered-To:</tt> header when forwarding
mail and when delivering to file (mailbox) and command. Turning off
the <tt>Delivered-To:</tt> header when forwarding mail is not recommended.

<hr>
07070100060a29000081a40000000000000002000000013d1fe2dd000001b0000000200000000000000000000000000000003500000003reloc/postfix/help/opt_prepend_delivered_header.html  <header>Prepend a Delivered-To: when...</header>

<center><tt>prepend_delivered_header</tt></center>
<hr>

This parameter controls when Postfix should prepend a <tt>Delivered-To:</tt>
message header.

<p>

By default, Postfix prepends a <tt>Delivered-To:</tt> header when forwarding
mail and when delivering to file (mailbox) and command. Turning off
the <tt>Delivered-To:</tt> header when forwarding mail is not recommended.

<hr>
07070100060a2a000081a40000000000000002000000013d1fe2dd000001d4000000200000000000000000000000000000003800000003reloc/postfix/help/opt_prepend_delivered_header.pl.html   <header>Do³±czaæ Delivered-To: gdy...</header>

<center><tt>prepend_delivered_header</tt></center>
<hr>

Ten parametr okre¶la, kiedy Postfix powinien do³±cz±c do wiadomo¶ci nag³ówek
<tt>Delivered-To:</tt>. <p>

Domy¶lnie, Postfix do³±cza nag³ówek <tt>Delivered-To:</tt>, podczas
przekazywania poczty oraz podczas dorêczania do pliku (skrzynki pocztowej)
i&nbsp;do programu. Wy³±czenie nag³ówka <tt>Delivered-To:</tt> przy
przekazywaniu poczty nie jest zalecane.

<hr>
07070100060a2b000081a40000000000000002000000013d1fe2dd000001c3000000200000000000000000000000000000003800000003reloc/postfix/help/opt_prepend_delivered_header.sv.html   <header>Lägg till Delivered-To: när ...</header>

<center><tt>prepend_delivered_header</tt></center>
<hr>

Denna parameter styr när Postfix ska lägga till ett <tt>Delivered-To:</tt>-huvud.

<p>Standardinställningen är att Postfix lägger till ett <tt>Delivered-To:</tt>-huvud
när e-post skickas vidare och när e-post skickas till fil (brevlåda) och kommando.
Det är inte en god idé att slå av <tt>Delivered-To:</tt> vid vidaresändning av e-post.

<hr>
 07070100060a2c000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000003400000003reloc/postfix/help/opt_process_id_directory.ca.html   <header>Lock file dir, relative to queue dir</header>

<center><tt>process_id_directory</tt></center>
<hr>

Specify a lock file directory relative to the Postfix queue directory. This
facility is used by the master daemon to lock out other master daemon
instances.

<hr>
 07070100060a2d000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000003100000003reloc/postfix/help/opt_process_id_directory.html  <header>Lock file dir, relative to queue dir</header>

<center><tt>process_id_directory</tt></center>
<hr>

Specify a lock file directory relative to the Postfix queue directory. This
facility is used by the master daemon to lock out other master daemon
instances.

<hr>
 07070100060a2e000081a40000000000000002000000013d1fe2dd00000127000000200000000000000000000000000000003400000003reloc/postfix/help/opt_process_id_directory.pl.html   <header>Katalog plików blokad wzglêdem katalogu kolejki</header>

<center><tt>process_id_directory</tt></center>
<hr>

Okre¶la katalog plików blokad (lock) wzglêdem katalogu kolejki Postfiksa.
Umo¿liwia to zablokowanie przez jednego demona nadrzêdnego innych procesów
demonów nadrzêdnych.

<hr>
 07070100060b03000081a40000000000000002000000013d1fe2dd000009f0000000200000000000000000000000000000002300000003reloc/postfix/help/virtual.ca.html    <header>Virtual Domains</header>

The optional virtual table specifies redirections for local and non-local
recipients or domains. The redirections are used by the cleanup(8) daemon. The
redirections are recursive.

<p>

The virtual redirection is applied only to the recipient envelope address, and
does not affect message headers. Think Sendmail rule set <tt>S0</tt>, if you
like. Use <a href=canonical>canonical mapping</a> to rewrite header and
envelope addresses in general.

<p>

Typical support for a virtual domain looks like the following:

<ul>
<li> <b><tt>virtual.domain</tt></b> mapped to... <b><tt>anything</tt></b> (right-hand content does not matter)
<li> <b><tt>user1@virtual.domain</tt></b> mapped to... <b><tt>address1</tt></b>
<li> <b><tt>user2@virtual.domain</tt></b> mapped to... <b><tt>address2,
address3</tt></b>
</ul>

With this, the SMTP server accepts mail for <tt>virtual.domain</tt> and rejects mail for
<tt>unknown@virtual.domain</tt> as undeliverable.

<p>

The format of the virtual table is as follows, mappings being tried in the
order as listed here:

<ul>
<li> <b><tt>user@domain</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for
<tt>user@domain</tt> is redirected to <tt>address</tt>. This form has the
highest precedence.

<li> <b><tt>user</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for <tt>user@site</tt>
is redirected to <tt>address</tt> when site is equal to <tt>$myorigin</tt> when
site is listed in <tt>$mydestination</tt>, or when it is listed in
<tt>$inet_interfaces</tt>. This functionality overlaps with functionality of
the <a href=aliases>local alias</a> database. The difference is that virtual mapping can be
applied to non-local addresses.

<li> <b><tt>@domain</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for any user in
<tt>domain</tt> is redirected to <tt>address</tt>. This form has the lowest
precedence.
</ul>

In all the above forms, when address has the form <tt>@otherdomain</tt>, the
result is the same user in otherdomain. This works for the first address in the
expansion only.

<p>
ADDRESS EXTENSION: When the search fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>), and the
unmatched address extension is propagated to the result of expansion. The
matching order is: <tt>user+foo@domain</tt>, <tt>user@domain</tt>,
<tt>user+foo</tt>, <tt>user</tt>, and <tt>@domain</tt>.

<hr>
07070100060a2f000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000003400000003reloc/postfix/help/opt_process_id_directory.sv.html   <header>Låsfilskatalog, relativt kökatalog</header>

<center><tt>process_id_directory</tt></center>
<hr>

Ange en låsfilskatalog relativt Postfix kökatalog. Detta används av
masterdemonen för att låsa andra masterdemoner ute.

<hr>
07070100060a30000081a40000000000000002000000013d1fe2dd000000f2000000200000000000000000000000000000003100000003reloc/postfix/help/opt_program_directory.ca.html  <header>Postfix support programs and daemons dir</header>

<center><tt>program_directory</tt></center>
<hr>

This parameter specifies the location of Postfix support programs and daemons.
This directory must be owned by <tt>root</tt>.


<hr>
  07070100060a31000081a40000000000000002000000013d1fe2dd000000f2000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_program_directory.html <header>Postfix support programs and daemons dir</header>

<center><tt>program_directory</tt></center>
<hr>

This parameter specifies the location of Postfix support programs and daemons.
This directory must be owned by <tt>root</tt>.


<hr>
  07070100060a32000081a40000000000000002000000013d1fe2dd00000105000000200000000000000000000000000000003100000003reloc/postfix/help/opt_program_directory.pl.html  <header>Katalog programów pomocniczych i&nbsp;demonów Postfiksa</header>

<center><tt>program_directory</tt></center>
<hr>

Ten parametr okre¶la po³o¿enie demonów i&nbsp;programów pomocniczych
Postfiksa. W³a¶cicielem tego katalogu musi byæ <tt>root</tt>.

<hr>
   07070100060a33000081a40000000000000002000000013d1fe2dd000000dd000000200000000000000000000000000000003100000003reloc/postfix/help/opt_program_directory.sv.html  <header>Postfix stödprogram- och demonkatalog</header>

<center><tt>program_directory</tt></center>
<hr>

Denna parameter anger var stödprogram och demoner till Postfix finns. Katalogen
måste ägas av <tt>root</tt>.

<hr>
   07070100060a34000081a40000000000000002000000013d1fe2dd000000bf000000200000000000000000000000000000003900000003reloc/postfix/help/opt_qmgr_message_active_limit.ca.html  <header>Max number of messages in the active queue</header>

<center><tt>qmgr_message_active_limit</tt></center>
<hr>

This parameter limits the number of messages in the active queue.

<hr>
 07070100060a35000081a40000000000000002000000013d1fe2dd000000bf000000200000000000000000000000000000003600000003reloc/postfix/help/opt_qmgr_message_active_limit.html <header>Max number of messages in the active queue</header>

<center><tt>qmgr_message_active_limit</tt></center>
<hr>

This parameter limits the number of messages in the active queue.

<hr>
 07070100060a36000081a40000000000000002000000013d1fe2dd000000c7000000200000000000000000000000000000003900000003reloc/postfix/help/opt_qmgr_message_active_limit.pl.html  <header>Maksymalna liczba wiadomo¶ci w&nbsp;czynnej kolejce</header>

<center><tt>qmgr_message_active_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê wiadomo¶ci w&nbsp;czynnej kolejce.

<hr>
 07070100060a37000081a40000000000000002000000013d1fe2dd000000be000000200000000000000000000000000000003900000003reloc/postfix/help/opt_qmgr_message_active_limit.sv.html  <header>Maximalt antal meddelanden i den aktiva kön</header>

<center><tt>qmgr_message_active_limit</tt></center>
<hr>

Denna parameter begränsar antalet meddelanden i den aktiva kön.

<hr>
  07070100060a38000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_qmgr_message_recipient_limit.ca.html   <header>Max number of in-memory recipients</header>

<center><tt>qmgr_message_recipient_limit</tt></center>
<hr>

This parameter limits the number of in-memory recipients. This parameter also
limits the size of the short-term, in-memory destination status cache.


<hr>
  07070100060a39000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000003900000003reloc/postfix/help/opt_qmgr_message_recipient_limit.html  <header>Max number of in-memory recipients</header>

<center><tt>qmgr_message_recipient_limit</tt></center>
<hr>

This parameter limits the number of in-memory recipients. This parameter also
limits the size of the short-term, in-memory destination status cache.


<hr>
  07070100060b04000081a40000000000000002000000013d1fe2dd000009f0000000200000000000000000000000000000002000000003reloc/postfix/help/virtual.html   <header>Virtual Domains</header>

The optional virtual table specifies redirections for local and non-local
recipients or domains. The redirections are used by the cleanup(8) daemon. The
redirections are recursive.

<p>

The virtual redirection is applied only to the recipient envelope address, and
does not affect message headers. Think Sendmail rule set <tt>S0</tt>, if you
like. Use <a href=canonical>canonical mapping</a> to rewrite header and
envelope addresses in general.

<p>

Typical support for a virtual domain looks like the following:

<ul>
<li> <b><tt>virtual.domain</tt></b> mapped to... <b><tt>anything</tt></b> (right-hand content does not matter)
<li> <b><tt>user1@virtual.domain</tt></b> mapped to... <b><tt>address1</tt></b>
<li> <b><tt>user2@virtual.domain</tt></b> mapped to... <b><tt>address2,
address3</tt></b>
</ul>

With this, the SMTP server accepts mail for <tt>virtual.domain</tt> and rejects mail for
<tt>unknown@virtual.domain</tt> as undeliverable.

<p>

The format of the virtual table is as follows, mappings being tried in the
order as listed here:

<ul>
<li> <b><tt>user@domain</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for
<tt>user@domain</tt> is redirected to <tt>address</tt>. This form has the
highest precedence.

<li> <b><tt>user</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for <tt>user@site</tt>
is redirected to <tt>address</tt> when site is equal to <tt>$myorigin</tt> when
site is listed in <tt>$mydestination</tt>, or when it is listed in
<tt>$inet_interfaces</tt>. This functionality overlaps with functionality of
the <a href=aliases>local alias</a> database. The difference is that virtual mapping can be
applied to non-local addresses.

<li> <b><tt>@domain</tt></b> mapped to... <b><tt>address, address, ...</tt></b>: Mail for any user in
<tt>domain</tt> is redirected to <tt>address</tt>. This form has the lowest
precedence.
</ul>

In all the above forms, when address has the form <tt>@otherdomain</tt>, the
result is the same user in otherdomain. This works for the first address in the
expansion only.

<p>
ADDRESS EXTENSION: When the search fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>), and the
unmatched address extension is propagated to the result of expansion. The
matching order is: <tt>user+foo@domain</tt>, <tt>user@domain</tt>,
<tt>user+foo</tt>, <tt>user</tt>, and <tt>@domain</tt>.

<hr>
07070100060a3a000081a40000000000000002000000013d1fe2dd00000124000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_qmgr_message_recipient_limit.pl.html   <header>Maksymalna liczba odbiorców w&nbsp;pamiêci</header>

<center><tt>qmgr_message_recipient_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê odbiorców w&nbsp;pamiêci. Parametr ten
ogranicza równie¿ rozmiar krótkoterminowego bufora stanu miejsca
przeznaczenia w&nbsp;pamiêci.

<hr>
07070100060a3b000081a40000000000000002000000013d1fe2dd00000101000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_qmgr_message_recipient_limit.sv.html   <header>Maximalt antal mottagare i minnet</header>

<center><tt>qmgr_message_recipient_limit</tt></center>
<hr>

Denna parameter begränsar antalet mottagare som hålls i minnet. Den
begränsar också storleken på korttidsminnets destinationsstatuscache.

<hr>
   07070100060a3c000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_directory.ca.html    <header>Mail queue directory</header>

<center><tt>queue_directory</tt></center>
<hr>

The mail queue directory specifies the location of the Postfix queue. This is
also the root directory of Postfix daemons that run chrooted.

<hr>07070100060a3d000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_queue_directory.html   <header>Mail queue directory</header>

<center><tt>queue_directory</tt></center>
<hr>

The mail queue directory specifies the location of the Postfix queue. This is
also the root directory of Postfix daemons that run chrooted.

<hr>07070100060a3e000081a40000000000000002000000013d1fe2dd00000105000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_directory.pl.html    <header>Katalog kolejkowania poczty</header>

<center><tt>queue_directory</tt></center>
<hr>

Katalog kolejkowania poczty stanowi umiejscowienie kolejki Postfiksa. Jest
to równie¿ katalog g³ówny demonów Postfiksa, które dzia³aj±
w&nbsp;¶rodowisku chroot.

<hr>
   07070100060a3f000081a40000000000000002000000013d1fe2dd000000ca000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_directory.sv.html    <header>Kökatalog för e-post</header>

<center><tt>queue_directory</tt></center>
<hr>

Kökatalogen anger var Postfix-kön finns. Katalogen är också rotkatalog
för Postfix-demoner som kör chrootade.

<hr>  07070100060a40000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_queue_minfree.ca.html  <header>Min free space in the queue file system</header>

<center><tt>queue_minfree</tt></center>
<hr>

This parameter specifies the minimal amount of free space in bytes in the queue
file system. This is currently used by the SMTP server to decide if it will
accept any mail at all.

<hr>
  07070100060a41000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_queue_minfree.html <header>Min free space in the queue file system</header>

<center><tt>queue_minfree</tt></center>
<hr>

This parameter specifies the minimal amount of free space in bytes in the queue
file system. This is currently used by the SMTP server to decide if it will
accept any mail at all.

<hr>
  07070100060a42000081a40000000000000002000000013d1fe2dd00000146000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_queue_minfree.pl.html  <header>Minimalna ilo¶æ wolnego miejsca na systemie plikowym kolejki</header>

<center><tt>queue_minfree</tt></center>
<hr>

Ten parametr okre¶la minimaln± ilo¶æ wolnego miejsca w&nbsp;bajtach na
systemie plikowym kolejki. Jest on obecnie wykorzystywany przez serwer SMTP
do decyzji, czy przyjmie on jak±kolwiek pocztê.

<hr>
  07070100060a43000081a40000000000000002000000013d1fe2dd0000011d000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_queue_minfree.sv.html  <header>Minsta lediga utrymme i köfilsystemet</header>

<center><tt>queue_minfree</tt></center>
<hr>

Denna parameter anger minsta lediga utrymme (i byte) i köfilsystemet. Detta
används för närvarande av SMTP-servern för att bestämma om någon e-post överhuvudtaget
ska tas emot.

<hr>
   07070100060a44000081a40000000000000002000000013d1fe2dd000000d9000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_run_delay.ca.html    <header>Time (secs) between scanning the deferred queue</header>

<center><tt>queue_run_delay</tt></center>
<hr>

This parameter specifies the time in seconds between deferred queue scans by
the queue manager.


<hr>
   07070100060a45000081a40000000000000002000000013d1fe2dd000000d9000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_queue_run_delay.html   <header>Time (secs) between scanning the deferred queue</header>

<center><tt>queue_run_delay</tt></center>
<hr>

This parameter specifies the time in seconds between deferred queue scans by
the queue manager.


<hr>
   07070100060a46000081a40000000000000002000000013d1fe2dd000000eb000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_run_delay.pl.html    <header>Okres (sek.) pomiêdzy przeszukaniami kolejki odroczeñ</header>

<center><tt>queue_run_delay</tt></center>
<hr>

Ten parametr okre¶la okres w&nbsp;sekundach pomiêdzy przeszukaniami kolejki
odroczeñ przez zarz±dcê kolejki.

<hr>
 07070100060a47000081a40000000000000002000000013d1fe2dd000000e8000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_queue_run_delay.sv.html    <header>Tid (s) mellan läsningar av fördröjningskön</header>

<center><tt>queue_run_delay</tt></center>
<hr>

Denna parameter anger tiden (i sekunder) som köhanteraren väntar mellan läsningar
av kön med fördröjda meddelanden.

<hr>
07070100060a48000081a40000000000000002000000013d1fe2dd00000175000000200000000000000000000000000000003800000003reloc/postfix/help/opt_recipient_canonical_maps.ca.html   <header>Tables for RECIPIENT addresses</header>

<center><tt>recipient_canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables for envelope
and header RECIPIENT addresses.

<p>

By default, no recipient-only address mapping is done.

<p>

<tt>$recipient_canonical_maps</tt> is used before <tt>$canonical_maps</tt>
lookups.


<hr>
   07070100060a49000081a40000000000000002000000013d1fe2dd00000175000000200000000000000000000000000000003500000003reloc/postfix/help/opt_recipient_canonical_maps.html  <header>Tables for RECIPIENT addresses</header>

<center><tt>recipient_canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables for envelope
and header RECIPIENT addresses.

<p>

By default, no recipient-only address mapping is done.

<p>

<tt>$recipient_canonical_maps</tt> is used before <tt>$canonical_maps</tt>
lookups.


<hr>
   07070100060a4a000081a40000000000000002000000013d1fe2dd000001cb000000200000000000000000000000000000003800000003reloc/postfix/help/opt_recipient_canonical_maps.pl.html   <header>Tabele adresów ODBIORCÓW</header>

<center><tt>recipient_canonical_maps</tt></center>
<hr>

Ten parametr okre¶la fakultatywne tabele przepisywania adresów dla adresów
ODBIORCÓW na &quot;kopercie&quot i&nbsp;w&nbsp;nag³ówkach. <p>

Domy¶lnie, nie jest wykonywane ¿adne przepisywanie adresów dotycz±ce jedynie
adresów odbiorców. <p>

Przeszukiwania <tt>$recipient_canonical_maps</tt> s± wykonywane przed
przeszukiwaniami <tt>$canonical_maps</tt>.

<hr>
 07070100060a4b000081a40000000000000002000000013d1fe2dd0000018a000000200000000000000000000000000000003800000003reloc/postfix/help/opt_recipient_canonical_maps.sv.html   <header>Tabeller med mottagaradresser</header>

<center><tt>recipient_canonical_maps</tt></center>
<hr>

Denna parameter anger alternativa tabeller för adressöversättningar av omslags-
och huvudmottagaradresser.

<p>Standardinställningen är att ingen adressöversättning av Endast mottagare görs.

<p><tt>$recipient_canonical_maps</tt> används före <tt>$canonical_maps</tt>-uppslagningar.

<hr>
  07070100060a4c000081a40000000000000002000000013d1fe2dd00000252000000200000000000000000000000000000003300000003reloc/postfix/help/opt_recipient_delimiter.ca.html    <header>Separator between user names and address extensions</header>

<center><tt>recipient_delimiter</tt></center>
<hr>

This parameter specifies the separator between user names and address
extensions (<tt>user+foo</tt>). See <a href=canonical>Canonical Mapping</a>,
<a href=relocated>Relocated Mapping</a>, <a href=virtual>Virtual Domains</a>
and local(8) for the effects this has on aliases, canonical, virtual,
relocated and <tt>.forward</tt> file lookups. Basically, the software tries
<tt>user+foo</tt> and <tt>.forward+foo</tt> before trying <tt>user</tt> and
<tt>.forward</tt>.


<hr>
  07070100060a4d000081a40000000000000002000000013d1fe2dd00000252000000200000000000000000000000000000003000000003reloc/postfix/help/opt_recipient_delimiter.html   <header>Separator between user names and address extensions</header>

<center><tt>recipient_delimiter</tt></center>
<hr>

This parameter specifies the separator between user names and address
extensions (<tt>user+foo</tt>). See <a href=canonical>Canonical Mapping</a>,
<a href=relocated>Relocated Mapping</a>, <a href=virtual>Virtual Domains</a>
and local(8) for the effects this has on aliases, canonical, virtual,
relocated and <tt>.forward</tt> file lookups. Basically, the software tries
<tt>user+foo</tt> and <tt>.forward+foo</tt> before trying <tt>user</tt> and
<tt>.forward</tt>.


<hr>
  07070100060a4e000081a40000000000000002000000013d1fe2dd000002c4000000200000000000000000000000000000003300000003reloc/postfix/help/opt_recipient_delimiter.pl.html    <header>Separator pomiêdzy nazw± u¿ytkownika a&nbsp;rozszerzeniem adresu</header>

<center><tt>recipient_delimiter</tt></center>
<hr>

Ten parametr okre¶la separator pomiêdzy nazw± u¿ytkownika
a&nbsp;rozszerzeniem adresu (<tt>user+foo</tt>). Patrz
<a href=canonical>podstawianie kanoniczne</a>, <a href=relocated>podstawianie
przeniesionych</a>, <a href=virtual>domeny wirtualne</a> i&nbsp;local(8) aby
poznaæ wp³yw tej opcji na przeszukiwanie aliasów, podstawieñ kanonicznych,
domen wirtualnych, podstawieñ przeniesionych i&nbsp;plików
<tt>.forward</tt>. Zasadniczo, programy próbuj± <tt>uzytkownik+cos</tt>
i&nbsp;<tt>.forward+cos</tt> przed próbami dla <tt>uzytkownik</tt>
i&nbsp;<tt>.forward</tt>.

<hr>
07070100060a4f000081a40000000000000002000000013d1fe2dd00000270000000200000000000000000000000000000003300000003reloc/postfix/help/opt_recipient_delimiter.sv.html    <header>Separator mellan användarnamn och adressändelser</header>

<center><tt>recipient_delimiter</tt></center>
<hr>

Denna parameter anger den separator som används mellan användarnamn och
adressändelser (<tt>user+foo</tt>). Se <a href=canonical>Kanonisk
översättning</a>, <a href=relocated>Omflyttningsuppslagning</a>,
<a href=virtual>Virtuella domäner</a> och local(8) för information om
vilka följder detta har för alias, kanoniska, virtuella,
omstyrda och <tt>.forward</tt>-filuppslagningar. Normalt testar programmet
<tt>user+foo</tt> och <tt>.forward+foo</tt> innan <tt>user</tt> och
<tt>.forward</tt> testas.

<hr>
07070100060a50000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_reject_code.ca.html    <header>SMTP server response on client reject</header>

<center><tt>reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when an SMTP client
matches a reject restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
  07070100060a51000081a40000000000000002000000013d1fe2dd00000122000000200000000000000000000000000000002800000003reloc/postfix/help/opt_reject_code.html   <header>SMTP server response on client reject</header>

<center><tt>reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when an SMTP client
matches a reject restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
  07070100060a52000081a40000000000000002000000013d1fe2dd00000137000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_reject_code.pl.html    <header>Odpowied¼ serwera SMTP przy odrzuceniu klienta</header>

<center><tt>reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP, gdy klient SMTP pasuje do
ograniczenia powoduj±cego odrzucenie po³±czenia. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
 07070100060a53000081a40000000000000002000000013d1fe2dd0000010f000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_reject_code.sv.html    <header>SMTP-serveråtgärd vid klientspärr</header>

<center><tt>reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera när en SMTP-klient matchar
en spärrbegränsning.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
 07070100060a54000081a40000000000000002000000013d1fe2dd00000385000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_relay_domains.ca.html  <header>Restrict mail relaying</header>

<center><tt>relay_domains</tt></center>
<hr>

This parameter restricts what client hostname domains (and subdomains thereof)
this mail system will relay mail from, and restricts what destination domains
(and subdomains thereof) this system will relay mail to.

<p>

<include relay_rules>
<p>

Specify a list of hosts or domains, <tt>/file/name</tt> patterns or
<tt>type:name</tt> lookup tables, separated by commas and/or whitespace. A file
name is replaced by its contents; a <tt>type:name</tt> table is matched when a
(parent) domain appears as lookup key.

<p>

NOTE: Postfix will not automatically forward mail for domains that list this
system as their primary or backup MX host. See the <tt>permit_mx_backup</tt>
restriction, in the description of the <a href=opt_smtpd_recipient_restrictions>
<tt>smtpd_recipient_restrictions</tt></a> parameter.


<hr>
   07070100060a55000081a40000000000000002000000013d1fe2dd00000385000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_relay_domains.html <header>Restrict mail relaying</header>

<center><tt>relay_domains</tt></center>
<hr>

This parameter restricts what client hostname domains (and subdomains thereof)
this mail system will relay mail from, and restricts what destination domains
(and subdomains thereof) this system will relay mail to.

<p>

<include relay_rules>
<p>

Specify a list of hosts or domains, <tt>/file/name</tt> patterns or
<tt>type:name</tt> lookup tables, separated by commas and/or whitespace. A file
name is replaced by its contents; a <tt>type:name</tt> table is matched when a
(parent) domain appears as lookup key.

<p>

NOTE: Postfix will not automatically forward mail for domains that list this
system as their primary or backup MX host. See the <tt>permit_mx_backup</tt>
restriction, in the description of the <a href=opt_smtpd_recipient_restrictions>
<tt>smtpd_recipient_restrictions</tt></a> parameter.


<hr>
   07070100060a56000081a40000000000000002000000013d1fe2dd000003c7000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_relay_domains.pl.html  <header>Ograniczyæ przekazywanie poczty</header>

<center><tt>relay_domains</tt></center>
<hr>

Ten parametr okre¶la od klientów z&nbsp;hostów z&nbsp;jakich domen (lub ich
poddomen), a tak¿e do jakich domen docelowych (i&nbsp;ich poddomen)
niniejszy system poczty bêdzie przekazywa³ pocztê. <p>

<include relay_rules>
<p>

Podaj rozdzielon± przecinkami lub bia³ymi znakami listê hostów lub domen,
wzorców <tt>/nazwa/pliku</tt> lub tabel przeszukiwañ <tt>rodzaj:nazwa</tt>.
Nazwa pliku zostanie zast±piona jego zawarto¶ci±; dopasowanie do tabeli
<tt>rodzaj:nazwa</tt> nastêpuje, gdy (nadrzêdna) domena wystêpuje jako kluch
przeszukiwania. <p>

UWAGA: Postfix postfiks nie bêdzie automatycznie przekazywaæ poczty dla
domen, dla których ten system jest wymieniony jako ich podstawowy lub
zapasowy host MX. Patrz te¿ ograniczenie <tt>permit_mx_backup</tt>
w&nbsp;opisie parametru <a href=opt_smtpd_recipient_restrictions>
<tt>smtpd_recipient_restrictions</tt></a>.

<hr>
 07070100060a57000081a40000000000000002000000013d1fe2dd0000038c000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_relay_domains.sv.html  <header>Begränsa e-post-vidaresändning</header>

<center><tt>relay_domains</tt></center>
<hr>

Denna parameter anger de klientdomäner (med underdomäner) som detta e-postsystem
sänder vidare e-post från, och anger de destinationsdomäner (med underdomäner)
som systemet sänder vidare e-post till.

<p>
<include relay_rules>

<p>Ange en lista över datorer eller domäner, <tt>/fil/namn</tt>-mönster eller
<tt>type:name</tt>-uppslagningstabeller, separerade med kommatecken och/eller blanksteg.
Ett filnamn ersätts med filens innehåll; en <tt>type:name</tt>-tabell matchar då en
(föräldra-)domän är uppslagsnyckel.

<p>OBS: Postfix kommer inte automatiskt att sända vidare e-post till domäner
som anger detta system som primär eller backup-MX-dator. Se restriktionen
<tt>permit_mx_backup</tt> i beskrivningen av parametern
<a href=opt_smtpd_recipient_restrictions><tt>smtpd_recipient_restrictions</tt></a>.

<hr>
07070100060a58000081a40000000000000002000000013d1fe2dd0000013c000000200000000000000000000000000000003900000003reloc/postfix/help/opt_relay_domains_reject_code.ca.html  <header>SMTP server response on forbidden relaying</header>

<center><tt>relay_domains_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client attempts to
violate the mail relay policy.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060a59000081a40000000000000002000000013d1fe2dd0000013c000000200000000000000000000000000000003600000003reloc/postfix/help/opt_relay_domains_reject_code.html <header>SMTP server response on forbidden relaying</header>

<center><tt>relay_domains_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client attempts to
violate the mail relay policy.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060a5a000081a40000000000000002000000013d1fe2dd0000013a000000200000000000000000000000000000003900000003reloc/postfix/help/opt_relay_domains_reject_code.pl.html  <header>Odpowied¼ serwera SMTP przy zabronionym przekazywaniu</header>

<center><tt>relay_domains_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP, gdy klient próbuje
naruszyæ zasady przekazywania poczty. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
  07070100060a5b000081a40000000000000002000000013d1fe2dd00000141000000200000000000000000000000000000003900000003reloc/postfix/help/opt_relay_domains_reject_code.sv.html  <header>SMTP-serveråtgärd vid förbjuden vidaresändning</header>

<center><tt>relay_domains_reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera när en klient försöker
bryta mot policyn för vidaresändning av e-post.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
   07070100060a5c000081a40000000000000002000000013d1fe2dd0000024b000000200000000000000000000000000000002900000003reloc/postfix/help/opt_relayhost.ca.html  <header>Send outgoing mail via host</header>

<center><tt>relayhost</tt></center>
<hr>

Typically, you use <tt>Deliver directly</tt> so that Postfix will forward any
outgoing mail not destined for users of your system to the given host.

<p>

If you want to forward all mail to an intranet <b>mail gateway</b> (for example
if your intranet has a firewall), except for mail for the local machine, you
will setup the value to your mail gateway. Most of the time, organization has
set up internal MX records, so using directly your domain name will bind to the
mail gateway machine.

<hr>

 07070100060a5d000081a40000000000000002000000013d1fe2dd0000024b000000200000000000000000000000000000002600000003reloc/postfix/help/opt_relayhost.html <header>Send outgoing mail via host</header>

<center><tt>relayhost</tt></center>
<hr>

Typically, you use <tt>Deliver directly</tt> so that Postfix will forward any
outgoing mail not destined for users of your system to the given host.

<p>

If you want to forward all mail to an intranet <b>mail gateway</b> (for example
if your intranet has a firewall), except for mail for the local machine, you
will setup the value to your mail gateway. Most of the time, organization has
set up internal MX records, so using directly your domain name will bind to the
mail gateway machine.

<hr>

 07070100060a5e000081a40000000000000002000000013d1fe2dd000002c4000000200000000000000000000000000000002900000003reloc/postfix/help/opt_relayhost.pl.html  <header>Wysy³aæ pocztê wychodz±c± poprzez host</header>

<center><tt>relayhost</tt></center>
<hr>

Zazwyczaj korzysta siê z&nbsp;<tt>Dorêczaj bezpo¶rednio</tt>, tak wiêc
Postfix bêdzie przekazywaæ wszelk± pocztê wychodz±c± nie przeznaczon± dla
u¿ytkowników Twojego systemu do podanego hosta. <p>

Je¶li chcesz przekazywaæ wszelk± pocztê do <b>bramki pocztowej</b> intranetu
(na przyk³ad, gdy Twój intranet posiada firewalla), za wyj±tkiem poczty
przeznaczonej dla lokalnej maszyny, podasz jako warto¶æ swoj± bramkê
pocztow±. W&nbsp;wiêkszo¶ci przypadków, organizacje maj± ustawione
wewnêtrzne rekordy MX, wiêc podanie bezpo¶rednio Twojej nazwy domeny powi±¿e
j± z&nbsp;maszyn± bêd±c± bramk± pocztow±.

<hr>

07070100060a5f000081a40000000000000002000000013d1fe2dd0000023e000000200000000000000000000000000000002900000003reloc/postfix/help/opt_relayhost.sv.html  <header>Skicka utgående e-post via dator</header>

<center><tt>relayhost</tt></center>
<hr>

Vanligtvis används <tt>Skicka direkt</tt> så att Postfix skickar utgående e-post
som inte ska till användare på detta system direkt till angiven dator.

<p>Om du vill skicka all e-post vidare till en intranet-<b>mail gateway</b>
(om ditt intranet till exempel har en brandvägg), utom e-post till lokala maskiner,
anger du här din mail gateway. För det mesta är de interna MX-posterna uppsatta så
att post som skickas direkt till domännamnet kommer till mail gateway-datorn.

<hr>

  07070100060a60000081a40000000000000002000000013d1fe2dd00000196000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_relocated_maps.ca.html <header>&quot;User has move to new location&quot; tables</header>

<center><tt>relocated_maps</tt></center>
<hr>

This parameter specifies optional tables with contact information for users,
hosts or domains that no longer exist. See <a href=relocated>Relocated
Mapping</a> for details.

<p>

By default, this feature is disabled. 

<p>

Sensible possible value: <tt>hash:/etc/postfix/relocated</tt>

<hr>
  07070100060b05000081a40000000000000002000000013d1fe2dd00000b2f000000200000000000000000000000000000002300000003reloc/postfix/help/virtual.pl.html    <header>Domeny wirtualne</header>

Fakultatywna tabela domen wirtualnych okre¶la przekierowania lokalnych
i&nbsp;zdalnych u¿ytkowników oraz domen. Przekierowania s± wykorzystywane
przez demona cleanup(8). Przekierowania s± rekurencyjne. <p>

Przekierowanie wirtualne dotyczy jedynie adresu nadawcy na "kopercie",
i&nbsp;nie wp³ywa na nag³ówki. Traktuj je jak zbiór regu³ <tt>S0</tt>
Sendmaila, je¶li chcesz. W&nbsp;ogólno¶ci, do przepisywania adresów
w&nsbsp;nag³ówkach i&nbsp;na "kopercie" korzystaj
z&nbsp;<a href=canonical>podstawieñ kanonicznych</a>.

Typowa obs³uga domeny wirtualnej wygl±da nastêpuj±co:

<ul>
<li> <b><tt>domena.wirtualna</tt></b> podstawiane...
<b><tt>cokolwiek</tt></b> (zawarto¶æ prawej strony nie ma znaczenia)
<li> <b><tt>uzytkownik1@domena.wirtualna</tt></b> podstawiany...
<b><tt>adres1</tt></b>
<li> <b><tt>uzytkownik2@domena.wirtualna</tt></b> podstawiany...
<b><tt>adres2, adres3</tt></b>
</ul>

Wówczas serwer SMTP przyjmuje pocztê skierowan± do <tt>domena.wirtualna</tt>
a&nbsp;odrzuca skierowan± do <tt>nieznany@domena.wirtualna</tt> jako
niedorêczaln±. <p>

Format tabeli wirtualnej jest nastêpuj±cy (podstawienia s± wykonywane
w&nbsp;poni¿szej kolejno¶ci):

<ul>
<li> <b><tt>uzytkownik@domena</tt></b> podstawiany... <b><tt>adres, adres,
...</tt></b>: <br>
Poczta skierowana do <tt>uzytkownik@domena</tt> jest kierowana do
<tt>adres</tt>. Ta postaæ ma najwy¿szy priorytet.

<li> <b><tt>uzytkownik</tt></b> podstawiany... <b><tt>adres, adres,
...</tt></b>: <br>
Poczta skierowana do <tt>uzytkownik@miejsce</tt> jest kierowana na
<tt>adres</tt>, gdy <tt>miejsce</tt> jest to¿same z&nbsp;<tt>$myorigin</tt>,
jest wymienione w¶ród <tt>$mydestination</tt> lub jest wymienione w¶ród
<tt>$inet_interfaces</tt>. Ta funkcjonalno¶æ pokrywa siê z funkcjonalno¶ci±
bazy <a href=aliases>aliasów lokalnych</a>. Ró¿nica polega na tym, ¿e
podstawienia wirtualne mo¿na stosowaæ do adresów zdalnych.

<li> <b><tt>@domena</tt></b> podstawiany... <b><tt>adres, adres,
...</tt></b>: <br>
Poczta skierowana do dowolnego u¿ytkownika w&nbsp;<tt>domena</tt> jest
kierowana na <tt>adres</tt>. Ta postaæ ma najni¿szy priorytet.
</ul>

W&nbsp;powy¿szych podstawieniach, gdy adres ma postaæ <tt>@innadomena</tt>,
wynikiem jest ten sam u¿ytkownik w&nbsp;<tt>innadomena</tt>. Dzia³a to
jedynie dla pierwszego adresu w&nbsp;rozwiniêciu.<p>

ROZSZERZENIA ADRESÓW: Gdy przeszukiwanie zakoñczy siê niepowodzeniem
a&nbsp;lokalna czê¶æ adresu zawiera fakultatywny ogranicznik odbiorcy (np.
<tt>uzytkownik+cos@domena</tt>), przeszukiwanie jest powtarzane dla
nierozszerzonego adresu (np. <tt>uzytkownik@domena</tt>) i&nbsp;niepasuj±ce
rozszerzenie jest przenoszone na wynik rozwiniêcia. Kolejno¶æ dopasowywania
jest nastêpuj±ca: <tt>uzytkownik+cos@domena</tt>,
<tt>uzytkownik@domena</tt>, <tt>uzytkownik+cos</tt>, <tt>uzytkownik</tt>
oraz <tt>@domena</tt>.

<hr>
 07070100060a61000081a40000000000000002000000013d1fe2dd00000196000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_relocated_maps.html    <header>&quot;User has move to new location&quot; tables</header>

<center><tt>relocated_maps</tt></center>
<hr>

This parameter specifies optional tables with contact information for users,
hosts or domains that no longer exist. See <a href=relocated>Relocated
Mapping</a> for details.

<p>

By default, this feature is disabled. 

<p>

Sensible possible value: <tt>hash:/etc/postfix/relocated</tt>

<hr>
  07070100060a62000081a40000000000000002000000013d1fe2dd000001c3000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_relocated_maps.pl.html <header>Tabele dla &quot;user has move to new location&quot;</header>

<center><tt>relocated_maps</tt></center>
<hr>

Ten parametr okre¶la fakultatywne tabele zawieraj±ce informacje kontaktowe
dla u¿ytkowników, hostów lub domen, które ju¿ nie istniej±. Szczegó³y
znajdziesz w&nbsp;<a href=relocated>podstawianiu przeniesionych</a>. <p>

Domy¶lnie ta w³a¶ciwo¶æ jest wy³±czona. <p>

Mo¿liwa rozs±dna warto¶æ: <tt>hash:/etc/postfix/relocated</tt>

<hr>
 07070100060a63000081a40000000000000002000000013d1fe2dd00000191000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_relocated_maps.sv.html <header>&quot;Användaren har flyttat&quot;-tabeller</header>

<center><tt>relocated_maps</tt></center>
<hr>

Denna parameter anger tabeller med kontaktinformation för användare, datorer och
domäner som inte längre finns. Se <a href=relocated>Omflyttningsuppslagning</a>
för mer information.

<p>Denna inställning är avslagen som standard.

<p>Vettigt värde: <tt>hash:/etc/postfix/relocated</tt>

<hr>
   07070100060a64000081a40000000000000002000000013d1fe2dd0000003a000000200000000000000000000000000000002600000003reloc/postfix/help/opt_sample.ca.html <header></header>

<center><tt></tt></center>
<hr>


<hr>
  07070100060a66000081a40000000000000002000000013d1fe2dd0000003a000000200000000000000000000000000000002600000003reloc/postfix/help/opt_sample.sv.html <header></header>

<center><tt></tt></center>
<hr>


<hr>
  07070100060a67000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000003500000003reloc/postfix/help/opt_sender_canonical_maps.ca.html  <header>Tables for SENDER addresses</header>

<center><tt>sender_canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables for envelope
and header SENDER addresses.

<p>

By default, no sender-only address mapping is done.

<p>

<tt>$sender_canonical_maps</tt> is used before <tt>$canonical_maps</tt>
lookups.


<hr>
  07070100060a68000081a40000000000000002000000013d1fe2dd00000166000000200000000000000000000000000000003200000003reloc/postfix/help/opt_sender_canonical_maps.html <header>Tables for SENDER addresses</header>

<center><tt>sender_canonical_maps</tt></center>
<hr>

This parameter specifies optional address mapping lookup tables for envelope
and header SENDER addresses.

<p>

By default, no sender-only address mapping is done.

<p>

<tt>$sender_canonical_maps</tt> is used before <tt>$canonical_maps</tt>
lookups.


<hr>
  07070100060a69000081a40000000000000002000000013d1fe2dd000001c2000000200000000000000000000000000000003500000003reloc/postfix/help/opt_sender_canonical_maps.pl.html  <header>Tabele adresów NADAWCÓW</header>

<center><tt>sender_canonical_maps</tt></center>
<hr>

Ten parametr okre¶la fakultatywne tabele przepisywania adresów dla adresów
NADAWCÓW na &quot;kopercie&quot i&nbsp;w&nbsp;nag³ówkach. <p>

Domy¶lnie, nie jest wykonywane ¿adne przepisywanie adresów dotycz±ce jedynie
adresów nadawców. <p>

Przeszukiwania <tt>$sender_canonical_maps</tt> s± wykonywane przed
przeszukiwaniami <tt>$canonical_maps</tt>.

<hr>
  07070100060a6a000081a40000000000000002000000013d1fe2dd00000184000000200000000000000000000000000000003500000003reloc/postfix/help/opt_sender_canonical_maps.sv.html  <header>Tabeller med avsändaradresser</header>

<center><tt>sender_canonical_maps</tt></center>
<hr>

Denna parameter anger alternativa tabeller för adressöversättningar av omslags-
och huvudavsändaradresser.

<p>Standardinställningen är att ingen adressöversättning av Endast avsändare görs.

<p><tt>$sender_canonical_maps</tt> används före <tt>$canonical_maps</tt>-uppslagningar.

<hr>
07070100060a6b000081a40000000000000002000000013d1fe2dd00000171000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtp_connect_timeout.ca.html   <header>Timeout for completing TCP connections</header>

<center><tt>smtp_connect_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for completing a
TCP connection.

<p>

When no connection can be made within the deadline, the SMTP client tries the
next address on the mail exchanger list. Specify 0 to disable the timeout.


<hr>
   07070100060a6c000081a40000000000000002000000013d1fe2dd00000171000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_connect_timeout.html  <header>Timeout for completing TCP connections</header>

<center><tt>smtp_connect_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for completing a
TCP connection.

<p>

When no connection can be made within the deadline, the SMTP client tries the
next address on the mail exchanger list. Specify 0 to disable the timeout.


<hr>
   07070100060a6d000081a40000000000000002000000013d1fe2dd000001a7000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtp_connect_timeout.pl.html   <header>Czas przeterminowania dla zakoñczenia po³±czeñ TCP</header>

<center><tt>smtp_connect_timeout</tt></center>
<hr>

Ten parametr okre¶la dla klienta SMTP czas przeterminowania zakoñczenia
po³±czenia TCP w&nbsp;sekundach. <p>

Je¶li w&nbsp;ci±gu tego czasu nie zostanie nawi±zane po³±czenie, klient SMTP
bêdzie probowa³ nastêpnego adresu z&nbsp;listy wymiany poczty. Podaj 0, aby
wy³±czyæ czas przeterminowania.

<hr>
 07070100060a6e000081a40000000000000002000000013d1fe2dd00000182000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtp_connect_timeout.sv.html   <header>Tidsgräns för fullbordande av TCP-uppkopplingar</header>

<center><tt>smtp_connect_timeout</tt></center>
<hr>

Denna parameter anger den tid (i sekunder) som SMTP-klienten har på sig att
fullborda en TCP-uppkoppling.

<p>Om ingen uppkoppling kan göras inom denna tidsgräns försöker SMTP-klienten
med nästa adress på mail exchanger-listan. Ange 0 för att slå av timeouten.

<hr>
  07070100060a6f000081a40000000000000002000000013d1fe2dd000001e7000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_done_timeout.ca.html <header>Timeout on waiting for answer to ending &quot;.&quot;</header>

<center><tt>smtp_data_done_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP &quot;.&quot;, and for receiving the server response.

<p>

When no response is received within the deadline, a warning is logged that the
mail may be delivered multiple times.

<p>

In case of problems the client does NOT try the next address on the mail
exchanger list.


<hr>
 07070100060a70000081a40000000000000002000000013d1fe2dd000001e7000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtp_data_done_timeout.html    <header>Timeout on waiting for answer to ending &quot;.&quot;</header>

<center><tt>smtp_data_done_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP &quot;.&quot;, and for receiving the server response.

<p>

When no response is received within the deadline, a warning is logged that the
mail may be delivered multiple times.

<p>

In case of problems the client does NOT try the next address on the mail
exchanger list.


<hr>
 07070100060a71000081a40000000000000002000000013d1fe2dd0000022e000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_done_timeout.pl.html <header>Czas przeterminowania dla oczekiwania na odpowied¼ na koñcz±c± &quot;.&quot;</header>

<center><tt>smtp_data_done_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP &quot;.&quot; SMTP oraz na otrzymanie odpowiedzi serwera.
<p>

Je¶li przed tym nieprzekraczalnym terminem nie otrzyma siê odpowiedzi,
logowane jest ostrze¿enie, ¿e poczta mo¿e zostaæ dorêczona wielokrotnie. <p>

W&nbsp;razie problemów, klient NIE próbuje wysy³aæ na nastêpne adresy
z&nbsp;listy wymiany poczty.

<hr>
  07070100060a72000081a40000000000000002000000013d1fe2dd000001e5000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_done_timeout.sv.html <header>Tidsgräns vid väntan på svar på avslutande &quot;.&quot;</header>

<center><tt>smtp_data_done_timeout</tt></center>
<hr>

Denna parameter anger den tid (i sekunder) som SMTP-klienten har på sig för
att skicka SMTP &quot;.&quot; och för att ta emot serversvaret.

<p>Om inget svar tas emot inom tidsgränsen loggas en varning om att
e-postmeddelanden kan komma att skickas flera gånger.

<p>Vid problem kommer klienten INTE att testa nästa adress på
mail exchanger-listan.

<hr>
   07070100060a73000081a40000000000000002000000013d1fe2dd0000015b000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_init_timeout.ca.html <header>Timeout on waiting for answer to DATA</header>

<center><tt>smtp_data_init_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP DATA command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
 07070100060a74000081a40000000000000002000000013d1fe2dd0000015b000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtp_data_init_timeout.html    <header>Timeout on waiting for answer to DATA</header>

<center><tt>smtp_data_init_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP DATA command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
 07070100060a75000081a40000000000000002000000013d1fe2dd00000188000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_init_timeout.pl.html <header>Czas przeterminowania dla oczekiwania na odpowied¼ na DATA</header>

<center><tt>smtp_data_init_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP polecenia SMTP DATA oraz na otrzymanie odpowiedzi
serwera. <p>

W&nbsp;razie problemów, klient NIE próbuje wysy³aæ na nastêpne adresy
z&nbsp;listy wymiany poczty.

<hr>
07070100060a76000081a40000000000000002000000013d1fe2dd00000158000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_init_timeout.sv.html <header>Tidsgräns för svar på DATA</header>

<center><tt>smtp_data_init_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) som SMTP-klienten har
på sig för att skicka kommandot SMTP DATA och för att få svar från servern.

<p>Om problem uppstår kommer klienten INTE att testa nästa adress
i mail exchanger-listan.

<hr>
07070100060a77000081a40000000000000002000000013d1fe2dd000001c0000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_xfer_timeout.ca.html <header>Timeout on waiting for answer to transmit of message content</header>

<center><tt>smtp_data_xfer_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP message content. When the connection stalls for more than
<tt>$smtp_data_xfer_timeout</tt> the SMTP client terminates the transfer.

<p>

In case of problems the client does NOT try the next address on the mail
exchanger list.

<hr>
07070100060a78000081a40000000000000002000000013d1fe2dd000001c0000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtp_data_xfer_timeout.html    <header>Timeout on waiting for answer to transmit of message content</header>

<center><tt>smtp_data_xfer_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP message content. When the connection stalls for more than
<tt>$smtp_data_xfer_timeout</tt> the SMTP client terminates the transfer.

<p>

In case of problems the client does NOT try the next address on the mail
exchanger list.

<hr>
07070100060a79000081a40000000000000002000000013d1fe2dd000001e6000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_xfer_timeout.pl.html <header>Czas przeterminowania dla oczekiwania na odpowied¼ na przes³anie
tre¶ci wiadomo¶ci</header>

<center><tt>smtp_data_xfer_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP tre¶ci wiadomo¶ci SMTP. Gdy po³±czenie zawi¶nie na d³u¿ej
ni¿ <tt>$smtp_data_xfer_timeout</tt>, klient SMTP przerywa transmisjê. <p>

W&nbsp;razie problemów, klient NIE próbuje wysy³aæ na nastêpne adresy
z&nbsp;listy wymiany poczty.

<hr>
  07070100060a83000081a40000000000000002000000013d1fe2dd000001a4000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_helo_timeout.ca.html  <header>Timeout on waiting for the greeting banner</header>

<center><tt>smtp_helo_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for receiving the
SMTP greeting banner.

<p>

When the server drops the connection without sending a greeting banner, or when
it sends no greeting banner within the deadline, the SMTP client tries the next
address on the mail exchanger list.


<hr>
07070100060a7a000081a40000000000000002000000013d1fe2dd000001b8000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_data_xfer_timeout.sv.html <header>Tidsgräns för svar på meddelandeöverföring</header>

<center><tt>smtp_data_xfer_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) som SMTP-klienten har på
sig att skicka innehållet i SMTP-meddelandet. Om förbindelsen hänger sig
längre än <tt>$smtp_data_xfer_timeout</tt> avbryter SMTP-klienten
överföringen.

<p>Om problem uppstår kommer klienten INTE att testa nästa adress i
mail exchanger-listan.

<hr>
07070100060a7b000081a40000000000000002000000013d1fe2dd000001c7000000200000000000000000000000000000004200000003reloc/postfix/help/opt_smtp_destination_concurrency_limit.ca.html <header>Max number of parallel deliveries to the same destination</header>

<center><tt>smtp_destination_concurrency_limit</tt></center>
<hr>

This parameter limits the number of parallel deliveries to the same destination
via the smtp delivery agent.

<p>

The default limit is the <a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a> parameter. It is probably
safer to limit the concurrency to 10.

<hr>
 07070100060a7c000081a40000000000000002000000013d1fe2dd000001c7000000200000000000000000000000000000003f00000003reloc/postfix/help/opt_smtp_destination_concurrency_limit.html    <header>Max number of parallel deliveries to the same destination</header>

<center><tt>smtp_destination_concurrency_limit</tt></center>
<hr>

This parameter limits the number of parallel deliveries to the same destination
via the smtp delivery agent.

<p>

The default limit is the <a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a> parameter. It is probably
safer to limit the concurrency to 10.

<hr>
 07070100060a7d000081a40000000000000002000000013d1fe2dd00000200000000200000000000000000000000000000004200000003reloc/postfix/help/opt_smtp_destination_concurrency_limit.pl.html <header>Maks. liczba równoleg³ych dorêczeñ do tego samego miejsca przeznaczenia</header>

<center><tt>smtp_destination_concurrency_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê równoleg³ych dorêczeñ do tego samego miejsca
przeznaczenia poprzez program dorêczajacy po protokole SMTP. <p>

Ograniczeniem domy¶lnym jest parametr
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a>. Prawdopodobnie
bezpieczniej jest ograniczyæ konkurencyjno¶æ do 10.

<hr>
07070100060a7e000081a40000000000000002000000013d1fe2dd000001e4000000200000000000000000000000000000004200000003reloc/postfix/help/opt_smtp_destination_concurrency_limit.sv.html <header>Maximalt antal parallella sändningar till samma destination</header>

<center><tt>smtp_destination_concurrency_limit</tt></center>
<hr>

Denna parameter anger det maximala antalet parallella e-postsändningar till
samma destination via smtp-sändagenten.

<p>Standardgränsen är värdet på parametern
<a href=opt_default_destination_concurrency_limit>
<tt>default_destination_concurrency_limit</tt></a>. Det är förmodligen säkrare
att begränsa till 10 samtidiga sändningar.

<hr>
07070100060a7f000081a40000000000000002000000013d1fe2dd0000016a000000200000000000000000000000000000004000000003reloc/postfix/help/opt_smtp_destination_recipient_limit.ca.html   <header>Max number of recipients per delivery</header>

<center><tt>smtp_destination_recipient_limit</tt></center>
<hr>

This parameter limits the number
of recipients per delivery via the smtp delivery agent.

<p>

The default is taken from the <a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a> parameter.


<hr>
  07070100060a80000081a40000000000000002000000013d1fe2dd0000016a000000200000000000000000000000000000003d00000003reloc/postfix/help/opt_smtp_destination_recipient_limit.html  <header>Max number of recipients per delivery</header>

<center><tt>smtp_destination_recipient_limit</tt></center>
<hr>

This parameter limits the number
of recipients per delivery via the smtp delivery agent.

<p>

The default is taken from the <a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a> parameter.


<hr>
  07070100060a81000081a40000000000000002000000013d1fe2dd0000018c000000200000000000000000000000000000004000000003reloc/postfix/help/opt_smtp_destination_recipient_limit.pl.html   <header>Maks. liczba odbiorców dorêczanej wiadomo¶ci</header>

<center><tt>smtp_destination_recipient_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê odbiorców wiadomo¶ci dorêczanej poprzez
program dorêczajacy po protokole SMTP. <p>

Warto¶æ domy¶lna jest pobierana z&nbsp;parametru
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a>.

<hr>
07070100060a82000081a40000000000000002000000013d1fe2dd00000164000000200000000000000000000000000000004000000003reloc/postfix/help/opt_smtp_destination_recipient_limit.sv.html   <header>Maximalt antal mottagare per sändning</header>

<center><tt>smtp_destination_recipient_limit</tt></center>
<hr>

Denna parameter anger det maximala antalet mottagare per sändning
via smtp-sändagenten.

<p>Standardvärdet hämtas från parametern
<a href=opt_default_destination_recipient_limit>
<tt>default_destination_recipient_limit</tt></a>.

<hr>
07070100060af3000081a40000000000000002000000013d1fe2dd00000377000000200000000000000000000000000000002700000003reloc/postfix/help/relay_rules.ca.html    By default, Postfix relays mail:

<ul>
<li> from trusted clients whose IP address matches
     <a href=opt_mynetworks><tt>$mynetworks</tt></a>,
<li> from trusted clients matching <tt>$relay_domains</tt> or subdomains thereof,
<li> from untrusted clients to destinations that match <tt>$relay_domains</tt>
     or subdomains thereof, except addresses with sender-specified routing.
</ul>

The default <tt>relay_domains</tt> value is
<a href=opt_mydestination><tt>$mydestination</tt></a>.

<p>

In addition to the above, the Postfix SMTP server by default accepts mail
that Postfix is final destination for:

<ul>
<li> destinations that match
     <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
<li> destinations that match
     <a href=opt_mydestination><tt>$mydestination</tt></a>,
<li> destinations that match
     <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>.
</ul>
 07070100060a84000081a40000000000000002000000013d1fe2dd000001a4000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_smtp_helo_timeout.html <header>Timeout on waiting for the greeting banner</header>

<center><tt>smtp_helo_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for receiving the
SMTP greeting banner.

<p>

When the server drops the connection without sending a greeting banner, or when
it sends no greeting banner within the deadline, the SMTP client tries the next
address on the mail exchanger list.


<hr>
07070100060a85000081a40000000000000002000000013d1fe2dd000001c3000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_helo_timeout.pl.html  <header>Czas przeterminowania dla oczekiwania na nag³ówek powitalny</header>

<center><tt>smtp_helo_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na otrzymanie
przez klienta SMTP nag³ówka powitalnego SMTP.
<p>

Je¶li serwer przerwie po³±czenie nie przysy³aj±c nag³ówka powitalnego lub
nie przy¶le go przed ostatecznym terminem, klient SMTP próbuje wysy³aæ na
nastêpny adres z&nbsp;listy wymiany poczty.

<hr>
 07070100060a86000081a40000000000000002000000013d1fe2dd0000018c000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_helo_timeout.sv.html  <header>Tidsgräns för välkomstbanner</header>

<center><tt>smtp_helo_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) SMTP-klienten får vänta
på SMTP-välkomstbannern.

<p>Om servern tappar förbindelsen utan att skicka en välkomstbanner, eller
om den inte skickar någon banner inom tidsgränsen, kommer SMTP-klienten att
testa nästa adress i mail exchanger-listan.

<hr>
07070100060a87000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_mail_timeout.ca.html  <header>Timeout on waiting for answer to MAIL FROM</header>

<center><tt>smtp_mail_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP MAIL FROM command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
07070100060a88000081a40000000000000002000000013d1fe2dd00000160000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_smtp_mail_timeout.html <header>Timeout on waiting for answer to MAIL FROM</header>

<center><tt>smtp_mail_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP MAIL FROM command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
07070100060a89000081a40000000000000002000000013d1fe2dd0000018d000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_mail_timeout.pl.html  <header>Czas przeterminowania dla oczekiwania na odpowied¼ na MAIL FROM</header>

<center><tt>smtp_mail_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP polecenia SMTP MAIL FROM oraz na otrzymanie odpowiedzi
serwera. <p>

W&nbsp;razie problemów, klient NIE próbuje wysy³aæ na nastêpne adresy
z&nbsp;listy wymiany poczty.

<hr>
   07070100060a8a000081a40000000000000002000000013d1fe2dd00000158000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_mail_timeout.sv.html  <header>Tidsgräns för svar på MAIL FROM</header>

<center><tt>smtp_mail_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) SMTP-klienten har
på sig att skicka SMTP-kommandot MAIL FROM och att sedan ta emot serverns
svar.

<p>Om problem uppstår kommer klienten INTE att testa nästa adress
i mail exchanger-listan.

<hr>
07070100060a8b000081a40000000000000002000000013d1fe2dd000000f6000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_quit_timeout.ca.html  <header>Timeout on waiting for answer to QUIT</header>

<center><tt>smtp_quit_timeout</tt></center>
<hr>

The parameter specifies the SMTP client timeout in seconds for sending the SMTP
QUIT command, and for receiving the server response.


<hr>
  07070100060a8c000081a40000000000000002000000013d1fe2dd000000f6000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_smtp_quit_timeout.html <header>Timeout on waiting for answer to QUIT</header>

<center><tt>smtp_quit_timeout</tt></center>
<hr>

The parameter specifies the SMTP client timeout in seconds for sending the SMTP
QUIT command, and for receiving the server response.


<hr>
  07070100060a8d000081a40000000000000002000000013d1fe2dd0000011b000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_quit_timeout.pl.html  <header>Czas przeterminowania dla oczekiwania na odpowied¼ na QUIT</header>

<center><tt>smtp_quit_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP polecenia SMTP QUIT oraz na otrzymanie odpowiedzi
serwera.

<hr>
 07070100060a8e000081a40000000000000002000000013d1fe2dd000000ee000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_quit_timeout.sv.html  <header>Tidsgräns för svar på QUIT</header>

<center><tt>smtp_quit_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) SMTP-klienten har på
sig att skicka SMTP-kommandot QUIT och sedan ta emot serverns svar.

<hr>
  07070100060a8f000081a40000000000000002000000013d1fe2dd0000015c000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_rcpt_timeout.ca.html  <header>Timeout on waiting for answer to RCPT TO</header>

<center><tt>smtp_rcpt_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP RCPT TO command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
07070100060a90000081a40000000000000002000000013d1fe2dd0000015c000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_smtp_rcpt_timeout.html <header>Timeout on waiting for answer to RCPT TO</header>

<center><tt>smtp_rcpt_timeout</tt></center>
<hr>

This parameter specifies the SMTP client timeout in seconds for sending the
SMTP RCPT TO command, and for receiving the server response.

<p>

In case of problems the client does NOT try the next address on
the mail exchanger list.


<hr>
07070100060a91000081a40000000000000002000000013d1fe2dd0000018a000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_rcpt_timeout.pl.html  <header> Czas przeterminowania dla oczekiwania na odpowied¼ na RCPT TO</header>

<center><tt>smtp_rcpt_timeout</tt></center>
<hr>

Ten parametr okre¶la czas przeterminowania w&nbsp;sekundach na wys³anie
przez klienta SMTP polecenia SMTP RCPT TO oraz na otrzymanie odpowiedzi
serwera. <p>

W&nbsp;razie problemów, klient NIE próbuje wysy³aæ na nastêpne adresy
z&nbsp;listy wymiany poczty.

<hr>
  07070100060a92000081a40000000000000002000000013d1fe2dd00000150000000200000000000000000000000000000003100000003reloc/postfix/help/opt_smtp_rcpt_timeout.sv.html  <header>Tidsgräns för svar på RCPT TO</header>

<center><tt>smtp_rcpt_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) SMTP-klienten har på sig
att skicka SMTP-kommandot RCPT TO och sedan ta emot serverns svar.

<p>Om problem uppstår kommer klienten INTE att testa nästa adress
i mail exchanger-listan.

<hr>
07070100060a93000081a40000000000000002000000013d1fe2dd00000121000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_skip_4xx_greeting.ca.html <header>Skip 4xx greeting</header>

<center><tt>smtp_skip_4xx_greeting</tt></center>
<hr>

This parameter controls what happens when an SMTP server greets us with a
<tt>4XX</tt> status code. By default, Postfix backs off. Specify <tt>yes</tt>
to move on to the next mail exchanger.


<hr>
   07070100060a94000081a40000000000000002000000013d1fe2dd00000121000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtp_skip_4xx_greeting.html    <header>Skip 4xx greeting</header>

<center><tt>smtp_skip_4xx_greeting</tt></center>
<hr>

This parameter controls what happens when an SMTP server greets us with a
<tt>4XX</tt> status code. By default, Postfix backs off. Specify <tt>yes</tt>
to move on to the next mail exchanger.


<hr>
   07070100060a95000081a40000000000000002000000013d1fe2dd0000012a000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_skip_4xx_greeting.pl.html <header>Pomijaæ powitanie 4xx</header>

<center><tt>smtp_skip_4xx_greeting</tt></center>
<hr>

Ten parametr okre¶la co ma siê dziaæ, gdy serwer SMTP powita nas kodem stanu
<tt>4XX</tt>. Domy¶lnie, Postfix rezygnuje. Zaznacz <tt>tak</tt>, aby
przechodziæ do nastêpnego serwera wymiany poczty.

<hr>
  07070100060a96000081a40000000000000002000000013d1fe2dd0000013f000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtp_skip_4xx_greeting.sv.html <header>Hoppa över 4xx-hälsning</header>

<center><tt>smtp_skip_4xx_greeting</tt></center>
<hr>

Denna parameter styr vad som händer då en SMTP-server hälsar oss med en
<tt>4XX</tt>-statuskod. Standardförfarandet är att Postfix avbryter
förbindelsen. Ange <tt>ja</tt> för att gå vidare till nästa mail exchanger.

<hr>
 07070100060a97000081a40000000000000002000000013d1fe2dd000000e7000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtp_skip_quit_response.ca.html    <header>Skip wait for the QUIT command</header>

<center><tt>smtp_skip_quit_response</tt></center>
<hr>

This parameter controls whether the SMTP client waits for the response to the
QUIT command. The default is to not wait.

<hr>
 07070100060a98000081a40000000000000002000000013d1fe2dd000000e7000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtp_skip_quit_response.html   <header>Skip wait for the QUIT command</header>

<center><tt>smtp_skip_quit_response</tt></center>
<hr>

This parameter controls whether the SMTP client waits for the response to the
QUIT command. The default is to not wait.

<hr>
 07070100060a99000081a40000000000000002000000013d1fe2dd000000e2000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtp_skip_quit_response.pl.html    <header>Nie czekaæ na polecenie QUIT</header>

<center><tt>smtp_skip_quit_response</tt></center>
<hr>

Ten parametr decyduje o&nbsp;tym, czy klient SMTP czeka na odpowied¼ po
wydaniu polecenia QUIT. Domy¶lnie nie czeka.

<hr>
  07070100060a9a000081a40000000000000002000000013d1fe2dd000000d8000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtp_skip_quit_response.sv.html    <header>Vänta inte på QUIT-svar</header>

<center><tt>smtp_skip_quit_response</tt></center>
<hr>

Denna parameter styr om SMTP-klienten ska vänta på svar på kommandot QUIT.
Standardbeteendet är att inte vänta.

<hr>
07070100060a9b000081a40000000000000002000000013d1fe2dd000001fe000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_smtpd_banner.ca.html   <header>SMTP greeting banner</header>

<center><tt>smtpd_banner</tt></center>
<hr>

This parameter specifies the text that follows the 220 status code in the SMTP
greeting banner. Some people like to see the mail version advertised. By
default, Postfix shows no version.

<p>

You MUST specify the <tt>$myhostname</tt> at the start of the text. When the
SMTP client sees its own hostname at the start of an SMTP greeting banner it
will report a mailer loop. That's better than having a machine meltdown.

<hr>
  07070100060a9c000081a40000000000000002000000013d1fe2dd000001fe000000200000000000000000000000000000002900000003reloc/postfix/help/opt_smtpd_banner.html  <header>SMTP greeting banner</header>

<center><tt>smtpd_banner</tt></center>
<hr>

This parameter specifies the text that follows the 220 status code in the SMTP
greeting banner. Some people like to see the mail version advertised. By
default, Postfix shows no version.

<p>

You MUST specify the <tt>$myhostname</tt> at the start of the text. When the
SMTP client sees its own hostname at the start of an SMTP greeting banner it
will report a mailer loop. That's better than having a machine meltdown.

<hr>
  07070100060a9d000081a40000000000000002000000013d1fe2dd000001fb000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_smtpd_banner.pl.html   <header>Nag³ówek powitalny SMTP</header>

<center><tt>smtpd_banner</tt></center>
<hr>

Ten parametr definiuje tekst, który nastêpuje po kodzie stanu 220
w&nbsp;nag³ówku powitalnym SMTP. Niektórzy lubi± widzieæ tu og³aszan± wersjê
systemu poczty. Domy¶lnie, Postfix nie podaje wersji. <p>

Na pocz±tku tekstu MUSISZ podaæ <tt>$myhostname</tt>. Gdy klient SMTP
zobaczy swoj± w³asn± nazwê hosta na pocz±tku nag³ówka powitalnego SMTP,
zg³osi on zapêtlenie poczty. Jest to lepsze ni¿ przetopienie maszyny.

<hr>
 07070100060a9e000081a40000000000000002000000013d1fe2dd00000207000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_smtpd_banner.sv.html   <header>SMTP-välkomstbanner</header>

<center><tt>smtpd_banner</tt></center>
<hr>

Denna parameter anger den text som följer statuskod 220 i STMP-välkomstbannern.
En del tycker om att få se e-postversionen. Standardbeteendet hos Postfix
är att inte skriva ut någon version.

<p><tt>$myhostname</tt> i början av texten <b>måste</b> anges.
Då SMTP-klienten ser sitt eget datornamn i början av en SMTP-välkomstbanner
kommer den att rapportera en e-postloop. Det är mycket bättre än att
maskinen dör av överhettning.

<hr>
 07070100060a9f000081a40000000000000002000000013d1fe2dd000002cf000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_client_restrictions.ca.html  <header>Restrictions on client hostnames/addresses</header>

<center><tt>smtpd_client_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on SMTP client host names and
addresses.

<p>

The default is to allow connections from any host.  The following
restrictions are available:

<include smtpd_restrictions>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.

<p>

Sensible examples:
<ul>
<li><tt>permit_mynetworks, reject_unknown_client</tt>
<li><tt>reject_maps_rbl, reject_unknown_client</tt>
</ul>

<hr>
 07070100060aa0000081a40000000000000002000000013d1fe2dd000002cf000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_client_restrictions.html <header>Restrictions on client hostnames/addresses</header>

<center><tt>smtpd_client_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on SMTP client host names and
addresses.

<p>

The default is to allow connections from any host.  The following
restrictions are available:

<include smtpd_restrictions>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.

<p>

Sensible examples:
<ul>
<li><tt>permit_mynetworks, reject_unknown_client</tt>
<li><tt>reject_maps_rbl, reject_unknown_client</tt>
</ul>

<hr>
 07070100060aa1000081a40000000000000002000000013d1fe2dd000002e5000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_client_restrictions.pl.html  <header>Ograniczenia nazw/adresów klientów</header>

<center><tt>smtpd_client_restrictions</tt></center>
<hr>

Ten parametr okre¶la fakultatywne ograniczenia nazw hostów i&nbsp;adresów
klientów SMTP. <p>

Domy¶lne jest zezwalanie na po³±czenia z&nbsp;dowolnego hosta. Mo¿liwe s±
nastêpuj±ce ograniczenia:

<include smtpd_restrictions>

Ograniczenia s± stosowane w&nbsp;takiej kolejno¶ci, w&nbsp;jakiej je podano;
wygrywa pierwsze pasuj±ce ograniczenie. <p>

Podaj liste ograniczeñ rozdzielon± przecinakami i/lub bia³ymi znakami.
Kontynuuj d³ugie linie rozpoczynaj±c nastêpn± od bia³ego znaku. <p>

Rozs±dne przyk³ady:
<ul>
<li><tt>permit_mynetworks, reject_unknown_client</tt>
<li><tt>reject_maps_rbl, reject_unknown_client</tt>
</ul>

<hr>
   07070100060aa2000081a40000000000000002000000013d1fe2dd000002d3000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_client_restrictions.sv.html  <header>Begränsningar för klienters datornamn/adresser</header>

<center><tt>smtpd_client_restrictions</tt></center>
<hr>

Denna parameter anger valbara begränsningar för SMTP-klienternas datornamn
och adresser.

<p>Standardbeteendet är att tillåta uppkopplingar från alla datorer.
Följande begränsningar kan göras:

<include smtpd_restrictions>

Begränsningar görs i angiven ordning; den första begränsning som passar in
används.

<p>Ange en lista med begränsningar, separerade med kommatecken och/eller
blanksteg. Långa rader görs genom att nästa rad börjas med ett blanksteg.

<p>Vettiga exempel:
<ul>
<li><tt>permit_mynetworks, reject_unknown_client</tt>
<li><tt>reject_maps_rbl, reject_unknown_client</tt>
</ul>

<hr>
 07070100060aa3000081a40000000000000002000000013d1fe2dd00000165000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_error_sleep_time.ca.html <header>Timeout before sending 4xx/5xx error response</header>

<center><tt>smtpd_error_sleep_time</tt></center>
<hr>

This parameter specifies the time in seconds the SMTP server waits before
sending a <tt>4xx</tt> or <tt>5xx</tt> SMTP server error response. This
prevents naive clients from going into an error - disconnect - connect - error
loop.


<hr>
   07070100060aa4000081a40000000000000002000000013d1fe2dd00000165000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_error_sleep_time.html    <header>Timeout before sending 4xx/5xx error response</header>

<center><tt>smtpd_error_sleep_time</tt></center>
<hr>

This parameter specifies the time in seconds the SMTP server waits before
sending a <tt>4xx</tt> or <tt>5xx</tt> SMTP server error response. This
prevents naive clients from going into an error - disconnect - connect - error
loop.


<hr>
   07070100060aa5000081a40000000000000002000000013d1fe2dd00000189000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_error_sleep_time.pl.html <header>Czas przeterminowania przed wys³aniem komunikatu o&nbsp;b³êdzie 4xx/5xx</header>

<center><tt>smtpd_error_sleep_time</tt></center>
<hr>

Ten parametr okre¶la czas w&nbsp;sekundach, przez jaki serwer SMTP czeka
zanim wy¶le komunikat serwera o&nbsp;b³êdzie <tt>4xx</tt> lub <tt>5xx</tt>.
Zapobiega to wpadaniu naiwnych klientów w&nbsp;pêtlê b³±d - roz³±czenie -
po³±czenie - b³±d.

<hr>
   07070100060aa6000081a40000000000000002000000013d1fe2dd0000014c000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_error_sleep_time.sv.html <header>Tidsgräns innan 4xx/5xx-felsvar skickas</header>

<center><tt>smtpd_error_sleep_time</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) SMTP-servern väntar innan
den skickar ett <tt>4xx</tt>- eller <tt>5xx</tt>-fel. Detta förhindrar att
dumma klienter går in i loopen fel-nedkoppling-uppkoppling-fel.

<hr>
07070100060aa7000081a40000000000000002000000013d1fe2dd000001e8000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_etrn_restrictions.ca.html    <header>Restrict ETRN command upon...</header>

<center><tt>smtpd_etrn_restrictions</tt></center>
<hr>

This parameter restricts what clients are allowed to issue the <tt>ETRN</tt>
command. The present Postfix <tt>ETRN</tt> differs from other <tt>ETRN</tt>
implementations in that it flushes mail for all destinations. This will change
in the future.

<p>

The default is to allow <tt>ETRN</tt> from any host. The following restrictions
are available:

<include smtpd_restrictions>

<hr>
07070100060ac7000081a40000000000000002000000013d1fe2dd000001a6000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_smtpd_timeout.ca.html  <header>Timeout in seconds for SMTP transactions</header>

<center><tt>opts_smtpd_timeout</tt></center>
<hr>

This parameter limits the time in seconds to send an SMTP server response and
to receive an SMTP client request.

<p>

Note: if you set SMTP timeouts to large values you must update the
<a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> parameter as well, reachable
from the <b>General Options</b> section.


<hr>
  07070100060aa8000081a40000000000000002000000013d1fe2dd000001e8000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtpd_etrn_restrictions.html   <header>Restrict ETRN command upon...</header>

<center><tt>smtpd_etrn_restrictions</tt></center>
<hr>

This parameter restricts what clients are allowed to issue the <tt>ETRN</tt>
command. The present Postfix <tt>ETRN</tt> differs from other <tt>ETRN</tt>
implementations in that it flushes mail for all destinations. This will change
in the future.

<p>

The default is to allow <tt>ETRN</tt> from any host. The following restrictions
are available:

<include smtpd_restrictions>

<hr>
07070100060aa9000081a40000000000000002000000013d1fe2dd000001fd000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_etrn_restrictions.pl.html    <header>Ograniczyæ polecenie ETRN do...</header>

<center><tt>smtpd_etrn_restrictions</tt></center>
<hr>

Ten parametr ogranicza klientów, którzy mog± wydaæ polecenie <tt>ETRN</tt>.
Obecne <tt>ETRN</tt> Postfiksa ró¿nie siê od innych implementacji
<tt>ETRN</tt> tym, ¿e wysy³a oczekuj±c± pocztê do wszystkich miejsc
przeznaczenia. Zmieni siê to w&nbsp;przysz³o¶ci. <p>

Domy¶lne jest pozwalanie na <tt>ETRN</tt> z&nbsp;dowolnego hosta. Mo¿liwe s±
nastêpuj±ce ograniczenia:

<include smtpd_restrictions>

<hr>
   07070100060aaa000081a40000000000000002000000013d1fe2dd000001ee000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_etrn_restrictions.sv.html    <header>Begränsa ETRN-kommando för ...</header>

<center><tt>smtpd_etrn_restrictions</tt></center>
<hr>

Denna parameter anger de klienter som får använda <tt>ETRN</tt>-kommandot.
Postfix nuvarande <tt>ETRN</tt> skiljer sig från andra
<tt>ETRN</tt>-implementationer genom att den skickar köad e-post till alla
destinationer. Detta kommer att ändras i framtiden.

<p>Standard är att tillåta <tt>ETRN</tt> från alla datorer. Följande
begränsningar är möjliga:

<include smtpd_restrictions>

<hr>
  07070100060aab000081a40000000000000002000000013d1fe2dd00000106000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_hard_error_limit.ca.html <header>Error count for closing connection</header>

<center><tt>smtpd_hard_error_limit</tt></center>
<hr>

This parameter specifies an error count upper limit. The SMTP server
disconnects after an SMTP client makes this number of errors within a session.

<hr>
  07070100060aac000081a40000000000000002000000013d1fe2dd00000106000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_hard_error_limit.html    <header>Error count for closing connection</header>

<center><tt>smtpd_hard_error_limit</tt></center>
<hr>

This parameter specifies an error count upper limit. The SMTP server
disconnects after an SMTP client makes this number of errors within a session.

<hr>
  07070100060aad000081a40000000000000002000000013d1fe2dd00000116000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_hard_error_limit.pl.html <header>Liczba b³êdów powoduj±ca zamkniêcie po³±czenia</header>

<center><tt>smtpd_hard_error_limit</tt></center>
<hr>

Ten parametr okre¶la górne ograniczenie dla liczby b³êdów. Serwer SMTP
roz³±cza siê po spowodowaniu przez klienta SMTP tej liczby b³êdów podczas
sesji.

<hr>
  07070100060aae000081a40000000000000002000000013d1fe2dd00000105000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_hard_error_limit.sv.html <header>Antal fel för att koppla ned</header>

<center><tt>smtpd_hard_error_limit</tt></center>
<hr>

Denna parameter anger en övre gräns för antalet fel. SMTP-servern
kopplar ned förbindelsen då en SMTP-klient har gjort detta antal fel
under en session.

<hr>
   07070100060aaf000081a40000000000000002000000013d1fe2dd000000e1000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_helo_required.ca.html    <header>HELO is required</header>

<center><tt>smtpd_helo_required</tt></center>
<hr>

This parameter optionally turns on the requirement that SMTP clients must
introduce themselves at the beginning of an SMTP session.

<hr>
   07070100060ab0000081a40000000000000002000000013d1fe2dd000000e1000000200000000000000000000000000000003000000003reloc/postfix/help/opt_smtpd_helo_required.html   <header>HELO is required</header>

<center><tt>smtpd_helo_required</tt></center>
<hr>

This parameter optionally turns on the requirement that SMTP clients must
introduce themselves at the beginning of an SMTP session.

<hr>
   07070100060ab1000081a40000000000000002000000013d1fe2dd000000c5000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_helo_required.pl.html    <header>Wymagane HELO</header>

<center><tt>smtpd_helo_required</tt></center>
<hr>

Ten parametr fakultatywnie w³±cza wymóg, aby klienci SMTP musieli siê
przedstawiaæ na pocz±tku sesji SMTP.

<hr>
   07070100060ab2000081a40000000000000002000000013d1fe2dd000000b9000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_helo_required.sv.html    <header>HELO krävs</header>

<center><tt>smtpd_helo_required</tt></center>
<hr>

Denna parameter sätter kravet att SMTP-klienter måste presentera sig
i början på en SMTP-session.

<hr>
   07070100060ab3000081a40000000000000002000000013d1fe2dd00000666000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_helo_restrictions.ca.html    <header>Restrictions on sends in HELO commands</header>

<center><tt>smtpd_helo_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on what SMTP clients can send in
SMTP HELO and EHLO commands.

<p>

The default is to permit everything.  The following restrictions
are available:

<ul>
<li>  <tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li>  <tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li>  <tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li>  <tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li>  <tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li>  <tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form
<li>  <tt>check_helo_access maptype:mapname:</tt> look up HELO hostname or parent domains.
	Reject if result is REJECT or &quot;[45]xx text&quot;.
	Permit otherwise.
<li>  <tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li>  <tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li>  <tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.


<hr>
  07070100060ab4000081a40000000000000002000000013d1fe2dd00000666000000200000000000000000000000000000003400000003reloc/postfix/help/opt_smtpd_helo_restrictions.html   <header>Restrictions on sends in HELO commands</header>

<center><tt>smtpd_helo_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on what SMTP clients can send in
SMTP HELO and EHLO commands.

<p>

The default is to permit everything.  The following restrictions
are available:

<ul>
<li>  <tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li>  <tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li>  <tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li>  <tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li>  <tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li>  <tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form
<li>  <tt>check_helo_access maptype:mapname:</tt> look up HELO hostname or parent domains.
	Reject if result is REJECT or &quot;[45]xx text&quot;.
	Permit otherwise.
<li>  <tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li>  <tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li>  <tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.


<hr>
  07070100060ab5000081a40000000000000002000000013d1fe2dd00000727000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_helo_restrictions.pl.html    <header>Ograniczenia w&nbsp;poleceniu HELO przy wysy³aniu</header>

<center><tt>smtpd_helo_restrictions</tt></center>
<hr>

Ten parametr okre¶la fakultatywne ograniczenia na to, co klienci SMTP mog±
wysy³aæ w&nbsp;poleceniach SMTP HELO i&nbsp;EHLO. <p>

Domy¶lne jest zezwalanie na wszystko. Mo¿liwe s± nastêpuj±ce ograniczenia:

<ul>
<li><tt>permit_mynetworks:</tt> zezwalaæ, gdy adres klienta pasuje do
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> odrzucaæ ¿±danie, gdy nazwa hosta
        klienta jest nieznana.
<li><tt>reject_maps_rbl:</tt> odrzucaæ, gdy klient jest wymieniony w¶ród
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> odrzucaæ nazwê hosta HELO
        o&nbsp;nieprawid³owej sk³adni.
<li><tt>reject_unknown_hostname:</tt> odrzucaæ nazwê hosta HELO nie
        posiadaj±c± rekordu A ani MX w DNS-ie.
<li><tt>reject_non_fqdn_hostname:</tt> odrzucaæ nazwê hosta HELO, która
        nie jest postaci FQDN.
<li><tt>check_helo_access maptype:mapname:</tt> poszukiwaæ nazwy hosta
        HELO lub domen nadrzêdnych. Odrzucaæ, gdy wynikiem jest REJECT lub
        &quot;[45]xx tekst&quot;. Zezwalaæ w&nbsp;pozosta³ych przypadkach.
<li><tt>check_client_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>reject:</tt> odrzucaæ po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
<li><tt>permit:</tt> zezwalaæ na po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
</ul>

Ograniczenia s± stosowane w&nbsp;takiej kolejno¶ci, w&nbsp;jakiej je podano;
wygrywa pierwsze pasuj±ce ograniczenie. <p>

Podaj liste ograniczeñ rozdzielon± przecinakami i/lub bia³ymi znakami.
Kontynuuj d³ugie linie rozpoczynaj±c nastêpn± od bia³ego znaku. <p>

<hr>
 07070100060ab6000081a40000000000000002000000013d1fe2dd00000657000000200000000000000000000000000000003700000003reloc/postfix/help/opt_smtpd_helo_restrictions.sv.html    <header>Begränsningar av HELO-kommandon</header>

<center><tt>smtpd_helo_restrictions</tt></center>
<hr>

Denna parameter anger valbara begränsningar på vilka SMTP-klienter som får
skicka SMTP-kommandona HELO och EHLO.

<p>Standardinställningen är att tillåta alla. Följande begränsningar
är möjliga:

<ul>
<li><tt>permit_mynetworks:</tt> tillåt om klientens adress matchar
      <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> tillåt ej om klientens datornamn är okänt.
<li><tt>reject_maps_rbl:</tt> tillåt ej om klienten finns uppräknad under
      <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> tillåt ej HELO-datornamn med felaktig syntax.
<li><tt>reject_unknown_hostname:</tt> tillåt ej HELO-datornamn utan DNS A- eller MX-post.
<li><tt>reject_non_fqdn_hostname:</tt> tillåt ej HELO-datornamn som inte är på FQDN-form.
<li><tt>check_helo_access maptype:mapname:</tt> slå upp HELO-datornamn eller föräldradomäner.
	Tillåt ej om resultatet blir REJECT eller &quot;[45]xx text&quot;.
	Tillåt annars.
<li><tt>check_client_access maptype:mapname:</tt> se
      <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>reject:</tt> tillåt ej. Sätt detta alternativ sist i begränsningslistan.
<li><tt>permit:</tt> tillåt. Sätt detta alternativ sist i begränsningslistan.
</ul>

Begränsningar görs i angiven ordning; den första begränsning som passar in
används.

<p>Ange en lista med begränsningar, separerade med kommatecken och/eller
blanksteg. Långa rader görs genom att nästa rad börjas med ett blanksteg.

<hr>
 07070100060ab7000081a40000000000000002000000013d1fe2dd000000e3000000200000000000000000000000000000003500000003reloc/postfix/help/opt_smtpd_recipient_limit.ca.html  <header>Max number of recipients accepted for delivery</header>

<center><tt>smtpd_recipient_limit</tt></center>
<hr>

This parameter restricts the number of recipients that the SMTP server accepts
per message delivery.


<hr>
 07070100060ab8000081a40000000000000002000000013d1fe2dd000000e3000000200000000000000000000000000000003200000003reloc/postfix/help/opt_smtpd_recipient_limit.html <header>Max number of recipients accepted for delivery</header>

<center><tt>smtpd_recipient_limit</tt></center>
<hr>

This parameter restricts the number of recipients that the SMTP server accepts
per message delivery.


<hr>
 07070100060ab9000081a40000000000000002000000013d1fe2dd000000e7000000200000000000000000000000000000003500000003reloc/postfix/help/opt_smtpd_recipient_limit.pl.html  <header>Maksymalna liczba odbiorców akceptowana przy dorêczaniu</header>

<center><tt>smtpd_recipient_limit</tt></center>
<hr>

Ten parametr ogranicza liczbê odbiorców akceptowan± przez serwer SMTP dla
dorêczanej wiadomo¶ci.

<hr>
 07070100060aba000081a40000000000000002000000013d1fe2dd000000d5000000200000000000000000000000000000003500000003reloc/postfix/help/opt_smtpd_recipient_limit.sv.html  <header>Maximalt antal mottagare per sändning</header>

<center><tt>smtpd_recipient_limit</tt></center>
<hr>

Denna parameter anger maximalt antal mottagare som SMTP-servern tillåter
per meddelandesändning.

<hr>
   07070100060abb000081a40000000000000002000000013d1fe2dd00001098000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_smtpd_recipient_restrictions.ca.html   <header>Restrictions on recipient addresses</header>

<center><tt>smtpd_recipient_restrictions</tt></center>
<hr>

This parameter specifies restrictions on recipient addresses that SMTP clients
can send in RCPT TO commands.

<p>

<include relay_rules>

These destinations do not need to be listed in
<a href=opt_relay_domains><tt>$relay_domains</tt></a>.

<p>

The following restrictions are available (* is part of default setting):

<ul>
<li> <tt>*permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li>  <tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li>  <tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li>  <tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li>  <tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li>  <tt>reject_unknown_sender_domain:</tt> reject sender domain without A or MX record.
<li> <tt>*check_relay_domains:</tt> permit only mail:
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> from trusted clients matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof,
<li> from untrusted clients to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or
	  subdomain thereof (except addresses with sender-specified routing).
</ul>
	Reject anything else.
<li> <tt>permit_auth_destination:</tt> permit mail:
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof, except for addresses with sender-specified routing.
</ul>
<li> <tt>reject_unauth_destination:</tt> reject mail unless it is sent
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof, except for addresses with sender-specified routing.
</ul>
<li>  <tt>reject_unauth_pipelining:</tt> reject mail from improperly pipelining spamware
<li>  <tt>permit_mx_backup:</tt> accept mail for sites that list me as MX host.
<li>  <tt>reject_unknown_recipient_domain:</tt> reject domains without A or MX record.
<li>  <tt>check_recipient_access maptype:mapname:</tt> look up recipient address, parent domain, or localpart@.
	Reject if result is REJECT or &quot;[45]xx text&quot;.
	Permit otherwise.

<li>  <tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li>  <tt>check_helo_access maptype:mapname:</tt> see
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li>  <tt>check_sender_access maptype:mapname:</tt> see
        <a href=opt_smtpd_sender_restrictions>smtpd_sender_restrictions</a>.
<li>  <tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form.
<li>  <tt>reject_non_fqdn_sender:</tt> reject sender address that is not in FQDN form.
<li>  <tt>reject_non_fqdn_recipient:</tt> reject recipient address that is not in FQDN form.
<li>  <tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li>  <tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.

<p>

NOTE: YOU MUST SPECIFY AT LEAST ONE OF THE FOLLOWING RESTRICTIONS
OTHERWISE POSTFIX REFUSES TO RECEIVE MAIL:
<br>
	<tt>reject, check_relay_domains, reject_unauth_destination</tt>



<hr>
07070100060abc000081a40000000000000002000000013d1fe2dd00001098000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_recipient_restrictions.html  <header>Restrictions on recipient addresses</header>

<center><tt>smtpd_recipient_restrictions</tt></center>
<hr>

This parameter specifies restrictions on recipient addresses that SMTP clients
can send in RCPT TO commands.

<p>

<include relay_rules>

These destinations do not need to be listed in
<a href=opt_relay_domains><tt>$relay_domains</tt></a>.

<p>

The following restrictions are available (* is part of default setting):

<ul>
<li> <tt>*permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li>  <tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li>  <tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li>  <tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li>  <tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li>  <tt>reject_unknown_sender_domain:</tt> reject sender domain without A or MX record.
<li> <tt>*check_relay_domains:</tt> permit only mail:
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> from trusted clients matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof,
<li> from untrusted clients to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or
	  subdomain thereof (except addresses with sender-specified routing).
</ul>
	Reject anything else.
<li> <tt>permit_auth_destination:</tt> permit mail:
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof, except for addresses with sender-specified routing.
</ul>
<li> <tt>reject_unauth_destination:</tt> reject mail unless it is sent
<ul>
<li> to destinations matching
	  <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	  <a href=opt_mydestination><tt>$mydestination</tt></a>,
	  or <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> to destinations matching
	  <a href=opt_relay_domains><tt>$relay_domains</tt></a> or subdomain
	  thereof, except for addresses with sender-specified routing.
</ul>
<li>  <tt>reject_unauth_pipelining:</tt> reject mail from improperly pipelining spamware
<li>  <tt>permit_mx_backup:</tt> accept mail for sites that list me as MX host.
<li>  <tt>reject_unknown_recipient_domain:</tt> reject domains without A or MX record.
<li>  <tt>check_recipient_access maptype:mapname:</tt> look up recipient address, parent domain, or localpart@.
	Reject if result is REJECT or &quot;[45]xx text&quot;.
	Permit otherwise.

<li>  <tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li>  <tt>check_helo_access maptype:mapname:</tt> see
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li>  <tt>check_sender_access maptype:mapname:</tt> see
        <a href=opt_smtpd_sender_restrictions>smtpd_sender_restrictions</a>.
<li>  <tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form.
<li>  <tt>reject_non_fqdn_sender:</tt> reject sender address that is not in FQDN form.
<li>  <tt>reject_non_fqdn_recipient:</tt> reject recipient address that is not in FQDN form.
<li>  <tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li>  <tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.

<p>

NOTE: YOU MUST SPECIFY AT LEAST ONE OF THE FOLLOWING RESTRICTIONS
OTHERWISE POSTFIX REFUSES TO RECEIVE MAIL:
<br>
	<tt>reject, check_relay_domains, reject_unauth_destination</tt>



<hr>
07070100060abd000081a40000000000000002000000013d1fe2dd0000123a000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_smtpd_recipient_restrictions.pl.html   <header>Ograniczenia adresów odbiorców</header>

<center><tt>smtpd_recipient_restrictions</tt></center>
<hr>

Ten parametr okre¶la ograniczenia dla adresów odbiorców, które klient SMTP
mo¿e przes³aæ w&nbsp;poleceniach RCPT TO. <p>

<include relay_rules>

Tych miejsc przeznaczenia nie trzeba wymieniaæ w¶ród
<a href=opt_relay_domains><tt>$relay_domains</tt></a>. <p>

Mo¿liwe s± nastêpuj±ce ograniczenia (* jest czê¶ci± ustawienia domy¶lnego):

<ul>
<li><tt>*permit_mynetworks:</tt> zezwalaæ, gdy adres klienta pasuje do
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> odrzucaæ ¿±danie, gdy nazwa hosta
        klienta jest nieznana.
<li><tt>reject_maps_rbl:</tt> odrzucaæ, gdy klient jest wymieniony w¶ród
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> odrzucaæ nazwê hosta HELO
        o&nbsp;nieprawid³owej sk³adni.
<li><tt>reject_unknown_hostname:</tt> odrzucaæ nazwê hosta HELO nie
        posiadaj±c± rekordu A ani MX w DNS-ie.
<li><tt>reject_unknown_sender_domain:</tt> odrzucaæ domenê nadawcy nie
        posiadaj±c± rekordu A ani MX.
<li><tt>*check_relay_domains:</tt> zezwalaæ na wysy³anie jedynie poczty:
<ul>
<li> do miejsc przeznaczenia pasuj±cych do
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	lub <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> od zaufanych klientów pasuj±cych do
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> lub ich
	poddomen,
<li> od niezaufanych klientów do miejsc przeznaczenia pasuj±cych do
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> lub ich
	poddomen (oprócz adresów o&nbsp;okre¶lonym przez nadawcê routingu).
</ul>
	Odrzucaæ wszystko inne.
<li><tt>permit_auth_destination:</tt> zezwalaæ na wysy³anie poczty:
<ul>
<li> do miejsc przeznaczenia pasuj±cych do
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	lub <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> do miejsc przeznaczenia pasuj±cych do
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> lub ich
	poddomen, oprócz adresów o&nbsp;okre¶lonym przez nadawcê routingu.
</ul>
<li><tt>reject_unauth_destination:</tt> odrzucaæ pocztê, która nie jest
       wysy³ana
<ul>
<li> do miejsc przeznaczenia pasuj±cych do
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	lub <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li> do miejsc przeznaczenia pasuj±cych do
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> lub ich
	poddomen, oprócz adresów o&nbsp;okre¶lonym przez nadawcê routingu.
</ul>
<li><tt>reject_unauth_pipelining:</tt> odrzucaæ pocztê od nieprawid³owo
        przekazuj±cych pocztê ¼róde³ spamu.
<li><tt>permit_mx_backup:</tt> przyjmowaæ pocztê dla domen, które
        wymieniaj± mnie jako host MX.
<li><tt>reject_unknown_recipient_domain:</tt> odrzucaæ domeny nie
        posiadaj±ce rekordu A ani MX.
<li><tt>check_recipient_access maptype:mapname:</tt> poszukiwaæ adresu
        odbiorcy, domeny nadrzêdnej lub czescilokalnej@. Odrzucaæ, gdy
        wynikiem jest REJECT lub &quot;[45]xx tekst&quot;. Zezwalaæ
        w&nbsp;pozosta³ych przypadkach.
<li><tt>check_client_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>check_sender_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_sender_restrictions>smtpd_sender_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> odrzucaæ nazwê hosta HELO, która
        nie jest postaci FQDN.
<li><tt>reject_non_fqdn_sender:</tt> odrzucaæ adres nadawcy, który nie jest
        postaci FQDN.
<li><tt>reject_non_fqdn_recipient:</tt> odrzucaæ adres odbiorcy, który nie
        jest postaci FQDN.
<li><tt>reject:</tt> odrzucaæ po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
<li><tt>permit:</tt> zezwalaæ na po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
</ul>

Ograniczenia s± stosowane w&nbsp;takiej kolejno¶ci, w&nbsp;jakiej je podano;
wygrywa pierwsze pasuj±ce ograniczenie. <p>

Podaj liste ograniczeñ rozdzielon± przecinakami i/lub bia³ymi znakami.
Kontynuuj d³ugie linie rozpoczynaj±c nastêpn± od bia³ego znaku. <p>

UWAGA: MUSISZ PODAÆ CO MAJMNIEJ JEDNO Z PONI¯SZYCH OGRANICZEÑ.
W&nbsp;PRZYCIWNYM PRZYPADKU POSTFIX ODMÓWI ODBIERANIA POCZTY:
<br>
	<tt>reject, check_relay_domains, reject_unauth_destination</tt>

<hr>
  07070100060abe000081a40000000000000002000000013d1fe2dd0000107f000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_smtpd_recipient_restrictions.sv.html   <header>Begränsningar för mottagaradresser</header>

<center><tt>smtpd_recipient_restrictions</tt></center>
<hr>

Denna parameter anger begränsningar för de mottagaradresser som
SMTP-klienter kan skicka i RCPT TO-kommandon.

<p>
<include relay_rules>

Dessa destinationer behöver inte anges i
<a href=opt_relay_domains><tt>$relay_domains</tt></a>.

<p>Följande begränsningar är möjliga (* är en del av standardinställningen):

<ul>
<li><tt>*permit_mynetworks:</tt> släpp fram om klientens adress matchar
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> spärra om klientens datornamn är okänt.
<li><tt>reject_maps_rbl:</tt> spärra om klienten finns uppräknad under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> spärra HELO-datornamn med felaktig syntax.
<li><tt>reject_unknown_hostname:</tt> spärra HELO-datornamn utan DNS A- eller MX-post.
<li><tt>reject_unknown_sender_domain:</tt> spärra avsändardomän utan A- eller MX-post.
<li> <tt>*check_relay_domains:</tt> släpp endast fram e-post:
<ul>
<li>till destinationer som matchar
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	eller <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li>från betrodda klienter som matchar
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> med underdomäner,
<li>från ej betrodda klienter till destinationer som matchar
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> med underdomäner
	(utom adresser med avsändarangiven routing).
</ul>
	Släpp inte fram något annat.
<li><tt>permit_auth_destination:</tt> släpp fram e-post:
<ul>
<li>till destinationer som matchar
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	eller <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li>till destinationer som matchar
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> med underdomäner,
	utom adresser med avsändarangiven routing.
</ul>
<li><tt>reject_unauth_destination:</tt> spärra e-post om den inte sänts
<ul>
<li>till destinationer som matchar
	<a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
	<a href=opt_mydestination><tt>$mydestination</tt></a>,
	eller <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>,
<li>till destinationer som matchar
	<a href=opt_relay_domains><tt>$relay_domains</tt></a> med underdomäner,
	utom adresser med avsändarangiven routing.
</ul>
<li><tt>reject_unauth_pipelining:</tt> spärra e-post från pipelinande spamprogram som inte fungerar.
<li><tt>permit_mx_backup:</tt> släpp fram e-post från siter som har med mig som MX-dator.
<li><tt>reject_unknown_recipient_domain:</tt> spärra domäner utan A- eller MX-post.
<li><tt>check_recipient_access maptype:mapname:</tt> slå upp mottagaradress, föräldradomän eller lokaldel@.
	Spärra om resultatet blir REJECT eller &quot;[45]xx text&quot;.
	Släpp fram annars.

<li><tt>check_client_access maptype:mapname:</tt> se
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> se
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>check_sender_access maptype:mapname:</tt> se
        <a href=opt_smtpd_sender_restrictions>smtpd_sender_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> spärra HELO-datornamn som inte är på FQDN-form.
<li><tt>reject_non_fqdn_sender:</tt> spärra avsändaradresser som inte är på FQDN-form.
<li><tt>reject_non_fqdn_recipient:</tt> spärra mottagaradresser som inte är på FQDN-form.
<li><tt>reject:</tt> spärra. Sätt denna begränsning sist i begränsningslistan.
<li><tt>permit:</tt> släpp fram. Sätt denna begränsning sist i begränsningslistan.
</ul>

Begränsningar görs i angiven ordning; den första begränsning som passar in
används.

<p>Ange en lista med begränsningar, separerade med kommatecken och/eller
blanksteg. Långa rader görs genom att nästa rad börjas med ett blanksteg.

<p><b>Obs: minst en av nedanstående begränsningar måste anges, annars
kommer Postfix att vägra ta emot e-post:</b>

<br><tt>reject, check_relay_domains, reject_unauth_destination</tt>

<hr>
 07070100060abf000081a40000000000000002000000013d1fe2dd0000079d000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_sender_restrictions.ca.html  <header>Restrictions on sender addresses</header>

<center><tt>smtpd_sender_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on sender addresses that SMTP
clients can send in MAIL FROM commands.

<p>

The default is to permit any sender address.  The following
restrictions are available:

<ul>
<li><tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li><tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li><tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li><tt>reject_unknown_sender_domain:</tt> reject sender domain without A or MX record.
<li><tt>check_sender_access maptype:mapname:</tt> look up sender address, parent domain, or localpart@.
    	Reject if result is REJECT or &quot;[45]xx text&quot;
    	Permit otherwise.
<li><tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> see
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form
<li><tt>reject_non_fqdn_sender:</tt> reject sender address that is not in FQDN form
<li><tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li><tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.


<hr>
   07070100060ac0000081a40000000000000002000000013d1fe2dd0000079d000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_sender_restrictions.html <header>Restrictions on sender addresses</header>

<center><tt>smtpd_sender_restrictions</tt></center>
<hr>

This parameter specifies optional restrictions on sender addresses that SMTP
clients can send in MAIL FROM commands.

<p>

The default is to permit any sender address.  The following
restrictions are available:

<ul>
<li><tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li><tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> reject HELO hostname with bad syntax.
<li><tt>reject_unknown_hostname:</tt> reject HELO hostname without DNS A or MX record.
<li><tt>reject_unknown_sender_domain:</tt> reject sender domain without A or MX record.
<li><tt>check_sender_access maptype:mapname:</tt> look up sender address, parent domain, or localpart@.
    	Reject if result is REJECT or &quot;[45]xx text&quot;
    	Permit otherwise.
<li><tt>check_client_access maptype:mapname:</tt> see
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> see
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> reject HELO hostname that is not in FQDN form
<li><tt>reject_non_fqdn_sender:</tt> reject sender address that is not in FQDN form
<li><tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li><tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>

Restrictions are applied in the order as specified; the first
restriction that matches wins.

<p>

Specify a list of restrictions, separated by commas and/or whitespace.
Continue long lines by starting the next line with whitespace.


<hr>
   07070100060ac1000081a40000000000000002000000013d1fe2dd0000088a000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_sender_restrictions.pl.html  <header>Ograniczenia adresów nadawców</header>

<center><tt>smtpd_sender_restrictions</tt></center>
<hr>

Ten parametr okre¶la fakultatywne ograniczenia dla adresów nadawców, które
klient SMTP mo¿e przes³aæ w poleceniach MAIL FROM. <p>

Domy¶lne jest zezwalanie na dowolny adres nadawcy. Mo¿liwe s± nastêpuj±ce
ograniczenia:

<ul>
<li><tt>permit_mynetworks:</tt> zezwalaæ, gdy adres klienta pasuje do
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> odrzucaæ ¿±danie, gdy nazwa hosta
        klienta jest nieznana.
<li><tt>reject_maps_rbl:</tt> odrzucaæ, gdy klient jest wymieniony w¶ród
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> odrzucaæ nazwê hosta HELO
        o&nbsp;nieprawid³owej sk³adni.
<li><tt>reject_unknown_hostname:</tt> odrzucaæ nazwê hosta HELO nie
        posiadaj±c± rekordu A ani MX w DNS-ie.
<li><tt>reject_unknown_sender_domain:</tt> odrzucaæ domenê nadawcy nie
        posiadaj±c± rekordu A ani MX.
<li><tt>check_sender_access maptype:mapname:</tt> poszukiwaæ adresu nadawcy,
        domeny nadrzêdnej lub czescilokalnej@. Odrzucaæ, gdy wynikiem jest
        REJECT lub &quot;[45]xx tekst&quot;. Zezwalaæ w&nbsp;pozosta³ych
        przypadkach.
<li><tt>check_client_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> patrz
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> odrzucaæ nazwê hosta HELO, która
        nie jest postaci FQDN.
<li><tt>reject_non_fqdn_sender:</tt> odrzucaæ adres nadawcy, który nie jest
        postaci FQDN.
<li><tt>reject:</tt> odrzucaæ po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
<li><tt>permit:</tt> zezwalaæ na po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
</ul>

Ograniczenia s± stosowane w&nbsp;takiej kolejno¶ci, w&nbsp;jakiej je podano;
wygrywa pierwsze pasuj±ce ograniczenie. <p>

Podaj liste ograniczeñ rozdzielon± przecinakami i/lub bia³ymi znakami.
Kontynuuj d³ugie linie rozpoczynaj±c nastêpn± od bia³ego znaku. <p>

<hr>
  07070100060ac2000081a40000000000000002000000013d1fe2dd000007ab000000200000000000000000000000000000003900000003reloc/postfix/help/opt_smtpd_sender_restrictions.sv.html  <header>Begränsningar för avsändaradresser</header>

<center><tt>smtpd_sender_restrictions</tt></center>
<hr>

Denna parameter anger valbara begränsningar för de avsändaradresser
SMTP-klienter kan skicka i MAIL FROM-kommandon.

<p>Standard är att släppa fram alla avsändaradresser. Följande begränsningar
är möjliga:

<ul>
<li><tt>permit_mynetworks:</tt> släpp fram om klientens adress matchar
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>reject_unknown_client:</tt> spärra om klientens datornamn är okänt.
<li><tt>reject_maps_rbl:</tt> spärra om klienten finns uppräknad under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject_invalid_hostname:</tt> spärra HELO-datornamn med felaktig syntax.
<li><tt>reject_unknown_hostname:</tt> spärra HELO-datornamn utan någon DNS A- eller MX-post.
<li><tt>reject_unknown_sender_domain:</tt> spärra avsändardomäner utan A- eller MX-post.
<li><tt>check_sender_access maptype:mapname:</tt> slå upp avsändaradress, föräldradomän eller lokal del@.
    	Spärra om resultatet blir REJECT eller &quot;[45]xx text&quot;
    	Släpp fram annars.
<li><tt>check_client_access maptype:mapname:</tt> se
        <a href=opt_smtpd_client_restrictions>smtpd_client_restrictions</a>.
<li><tt>check_helo_access maptype:mapname:</tt> se
        <a href=opt_smtpd_helo_restrictions>smtpd_helo_restrictions</a>.
<li><tt>reject_non_fqdn_hostname:</tt> spärra HELO-datornamn som inte är på FQDN-form.
<li><tt>reject_non_fqdn_sender:</tt> spärra avsändaradresser som inte är på FQDN-form.
<li><tt>reject:</tt> spärra. Sätt denna begränsning sist i begränsningslistan.
<li><tt>permit:</tt> släpp fram. Sätt denna begränsning sist i begränsningslistan.
</ul>

Begränsningar görs i angiven ordning; den första begränsning som passar in
används.

<p>Ange en lista med begränsningar, separerade med kommatecken och/eller
blanksteg. Långa rader görs genom att nästa rad börjas med ett blanksteg.

<hr>
 07070100060ac3000081a40000000000000002000000013d1fe2dd0000014d000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_soft_error_limit.ca.html <header>Error count for temporarily ignore a client</header>

<center><tt>smtpd_soft_error_limit</tt></center>
<hr>

This parameter specifies an error count lower limit. When an SMTP client has
made this number of errors within a session, the server waits <tt>error_count</tt>
seconds before responding to any client request.


<hr>
   07070100060ac4000081a40000000000000002000000013d1fe2dd0000014d000000200000000000000000000000000000003300000003reloc/postfix/help/opt_smtpd_soft_error_limit.html    <header>Error count for temporarily ignore a client</header>

<center><tt>smtpd_soft_error_limit</tt></center>
<hr>

This parameter specifies an error count lower limit. When an SMTP client has
made this number of errors within a session, the server waits <tt>error_count</tt>
seconds before responding to any client request.


<hr>
   07070100060ac5000081a40000000000000002000000013d1fe2dd00000153000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_soft_error_limit.pl.html <header>Liczba b³êdów powoduj±ca czasowe ignorowanie klienta</header>

<center><tt>smtpd_soft_error_limit</tt></center>
<hr>

Ten parametr okre¶la dolne ograniczenie liczby b³êdów. Gdy klient SMTP pope³ni
tê liczbê b³êdów podczas sesji, serwer bêdzie czeka³ <tt>error_count</tt>
sekund zanim odpowie na jakiekolwiek ¿±danie klienta.

<hr>
 07070100060ac6000081a40000000000000002000000013d1fe2dd00000179000000200000000000000000000000000000003600000003reloc/postfix/help/opt_smtpd_soft_error_limit.sv.html <header>Antal fel för att tillfälligt strunta i en klient</header>

<center><tt>smtpd_soft_error_limit</tt></center>
<hr>

Denna parameter anger en lägsta gräns för antalet fel en SMTP-klient får
göra. Om klienten åstadkommer detta antal fel under en session kommer
servern att vänta <tt>error_count</tt> sekunder innan den svarar på
nya förfrågningar från denna klient.

<hr>
   07070100060ac8000081a40000000000000002000000013d1fe2dd000001a6000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_smtpd_timeout.html <header>Timeout in seconds for SMTP transactions</header>

<center><tt>opts_smtpd_timeout</tt></center>
<hr>

This parameter limits the time in seconds to send an SMTP server response and
to receive an SMTP client request.

<p>

Note: if you set SMTP timeouts to large values you must update the
<a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> parameter as well, reachable
from the <b>General Options</b> section.


<hr>
  07070100060ac9000081a40000000000000002000000013d1fe2dd000001c0000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_smtpd_timeout.pl.html  <header>Czas przeterminowania dla transakcji SMTP w&nbsp;sekundach</header>

<center><tt>opts_smtpd_timeout</tt></center>
<hr>

Ten parametr ogranicza czas w&nbsp;sekundach na wys³anie odpowiedzi serwera
SMTP i&nbsp;otrzymanie ¿±dania klienta SMTP. <p>

Uwaga: je¶li ustawisz du¿e warto¶ci czasów przeterminowania SMTP, musisz
równie¿ zaktualizowaæ parametr <a href=opt_ipc_timeout><tt>ipc_timeout</tt></a>
w&nbsp;sekcji <b>Opcje ogólne</b>.

<hr>
07070100060aca000081a40000000000000002000000013d1fe2dd000001bd000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_smtpd_timeout.sv.html  <header>Tidsgräns (sekunder) för SMTP-överföringar</header>

<center><tt>opts_smtpd_timeout</tt></center>
<hr>

Denna parameter anger hur lång tid (i sekunder) det får ta att skicka
ett SMTP-serversvar eller ta emot en SMTP-klientförfrågning.

<p>Obs: om SMTP-tidsgränserna får stora värden måste parametern
<a href=opt_ipc_timeout><tt>ipc_timeout</tt></a> också uppdateras. Den kommer
man åt från sektionen <b>Allmänna inställningar</b>.

<hr>
   07070100060acb000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_stale_lock_time.ca.html    <header>Max time after which stale lock is released</header>

<center><tt>stale_lock_time</tt></center>
<hr>

This parameter limits the time after which a stale lock is removed. This is
used for delivery to file or mailbox.

<hr>
  07070100060acc000081a40000000000000002000000013d1fe2dd000000e6000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_stale_lock_time.html   <header>Max time after which stale lock is released</header>

<center><tt>stale_lock_time</tt></center>
<hr>

This parameter limits the time after which a stale lock is removed. This is
used for delivery to file or mailbox.

<hr>
  07070100060acd000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_stale_lock_time.pl.html    <header>Maksymalny czas, po którym trwa³a blokada jest zwalniana</header>

<center><tt>stale_lock_time</tt></center>
<hr>

Ten parametr ogranicza czas, po którym trwa³a blokada jest usuwana. Jest ona
wykorzystywana przy dorêczaniu do pliku lub skrzynki pocztowej.

<hr>
  07070100060ace000081a40000000000000002000000013d1fe2dd0000010c000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_stale_lock_time.sv.html    <header>Maximal tid innan kvarglömd låsning släpps</header>

<center><tt>stale_lock_time</tt></center>
<hr>

Denna parameter anger den maximala tid som systemet väntar innan en glömd
låsning tas bort. Detta används när meddelanden sänds till fil eller
brevlåda.

<hr>
07070100060acf000081a40000000000000002000000013d1fe2dd000001c5000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_sun_mailtool_compatibility.ca.html <header>Disable kernel file lock on mailboxes</header>

<center><tt>sun_mailtool_compatibility</tt></center>
<hr>

This parameter disables kernel file locks on mailboxes.

<p>

This is needed on SUN workstations because the <tt>mailtool</tt> program keeps
an exclusive kernel lock while its window is open. SUN software uses
<tt>user.lock</tt> files only. Unless you remove all SUN mail software, kernel
locks just give a false sense of security.

<hr>
   07070100060ad0000081a40000000000000002000000013d1fe2dd000001c5000000200000000000000000000000000000003700000003reloc/postfix/help/opt_sun_mailtool_compatibility.html    <header>Disable kernel file lock on mailboxes</header>

<center><tt>sun_mailtool_compatibility</tt></center>
<hr>

This parameter disables kernel file locks on mailboxes.

<p>

This is needed on SUN workstations because the <tt>mailtool</tt> program keeps
an exclusive kernel lock while its window is open. SUN software uses
<tt>user.lock</tt> files only. Unless you remove all SUN mail software, kernel
locks just give a false sense of security.

<hr>
   07070100060ad1000081a40000000000000002000000013d1fe2dd00000233000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_sun_mailtool_compatibility.pl.html <header>Wy³±czyæ blokowanie przez kernel plików skrzynek pocztowych</header>

<center><tt>sun_mailtool_compatibility</tt></center>
<hr>

Ten parametr wy³±cza blokowanie przez kernel plików skrzynek pocztowych. <p>

Jest to potrzebne na stacjach roboczych SUN, gdy¿ program <tt>mailtool</tt>
trzyma wy³±czn± blokadê poprzez kernel gdy jego okno jest otwarte.
Oprogramowanie SUN-a wykorzystuje jedynie pliki <tt>user.lock</tt>. Je¶li
nie usuniesz wszystkich programów pocztowych SUN-a, blokowanie poprzez
kernel daje jedynie fa³szywe poczucie bezpieczeñstwa.

<hr>
 07070100060ad2000081a40000000000000002000000013d1fe2dd000001de000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_sun_mailtool_compatibility.sv.html <header>Slå av kärnans fillås för brevlådor</header>

<center><tt>sun_mailtool_compatibility</tt></center>
<hr>

Denna parameter slår av kärnans fillåsning för brevlådor.

<p>Detta behövs på Sun-arbetsstationer eftersom programmet <tt>mailtool</tt>
skapar en exklusiv kärnlåsning när det har ett fönster igång. Sun-program
använder endast <tt>user.lock</tt>-filer. Om du inte tar bort alla
Sun-e-postprogram kommer kärnlåsningar bara att inge en falsk känsla
av säkerhet.

<hr>
  07070100060ad3000081a40000000000000002000000013d1fe2dd000000c4000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_swap_bangpath.ca.html  <header>Rewrite "site!user" to "user@site"</header>

<center><tt>swap_bangpath</tt></center>
<hr>

This is necessary if your machine is connected to UUCP networks. It is enabled
by default.

<hr>
07070100060ad4000081a40000000000000002000000013d1fe2dd000000c4000000200000000000000000000000000000002a00000003reloc/postfix/help/opt_swap_bangpath.html <header>Rewrite "site!user" to "user@site"</header>

<center><tt>swap_bangpath</tt></center>
<hr>

This is necessary if your machine is connected to UUCP networks. It is enabled
by default.

<hr>
07070100060ad5000081a40000000000000002000000013d1fe2dd000000e2000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_swap_bangpath.pl.html  <header>Przepisywaæ "miejsce!uzytkownik" na "uzytkownik@miejsce"</header>

<center><tt>swap_bangpath</tt></center>
<hr>

Jest to niezbêdne, je¿eli Twoja maszyna jest pod³±czona do sieci UUCP. Jest
to domy¶lnie w³±czone.

<hr>
  07070100060ad6000081a40000000000000002000000013d1fe2dd000000d4000000200000000000000000000000000000002d00000003reloc/postfix/help/opt_swap_bangpath.sv.html  <header>Skriv om "site!användare" till "användare@site"</header>

<center><tt>swap_bangpath</tt></center>
<hr>

Detta är nödvändigt om din dator är uppkopplad mot UUCP-nätverk. Standard
är att detta är på.

<hr>
07070100060ad7000081a40000000000000002000000013d1fe2dd00000249000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_transport_maps.ca.html <header>Transport mapping lookup tables</header>

<center><tt>transport_maps</tt></center>
<hr>

The parameter specifies optional tables with domain to (transport, nexthop)
mappings. See <a href=transport>Transport mapping</a> for syntax details.

<p>

By default, this feature is disabled. Specify the types of databases to use.

<p>

Sensible possible values:
<ul>
<li> <tt>dbm:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport, nis:transport</tt> 
<li> <tt>hash:/etc/postfix/transport, netinfo:/transport</tt> 
</ul>

<hr>
   07070100060ad8000081a40000000000000002000000013d1fe2dd00000249000000200000000000000000000000000000002b00000003reloc/postfix/help/opt_transport_maps.html    <header>Transport mapping lookup tables</header>

<center><tt>transport_maps</tt></center>
<hr>

The parameter specifies optional tables with domain to (transport, nexthop)
mappings. See <a href=transport>Transport mapping</a> for syntax details.

<p>

By default, this feature is disabled. Specify the types of databases to use.

<p>

Sensible possible values:
<ul>
<li> <tt>dbm:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport, nis:transport</tt> 
<li> <tt>hash:/etc/postfix/transport, netinfo:/transport</tt> 
</ul>

<hr>
   07070100060ad9000081a40000000000000002000000013d1fe2dd0000028b000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_transport_maps.pl.html <header>Tabele przeszukiwania podstawiania metod ekspedycji</header>

<center><tt>transport_maps</tt></center>
<hr>

Ten parametr definiuje fakultatywne tabele z&nbsp;podstawieniami
(ekspedycja, nastêpny skok) dla domen. Szczegó³y sk³adni znajdziesz 
w&nbsp<a href=transport>podstawianiu ekspedycji</a>. <p>

Domy¶lnie, w³a¶ciwo¶æ ta jest wy³±czona. Podaj rodzaje u¿ywanych baz danych.
<p>

Mo¿liwymi rozs±dnymi warto¶ciami s±:
<ul>
<li> <tt>dbm:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport, nis:transport</tt> 
<li> <tt>hash:/etc/postfix/transport, netinfo:/transport</tt> 
</ul>

<hr>
 07070100060ada000081a40000000000000002000000013d1fe2dd00000244000000200000000000000000000000000000002e00000003reloc/postfix/help/opt_transport_maps.sv.html <header>Transport-uppslagningstabeller</header>

<center><tt>transport_maps</tt></center>
<hr>

Denna parameter anger tabeller för (transport, nexthop)-översättningar.
Se <a href=transport>Transportuppslagning</a> för information om syntax.

<p>Standard är att denna inställning är avslagen. Ange de typer av
databaser som ska användas.

<p>Vettiga värden:
<ul>
<li> <tt>dbm:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport</tt> 
<li> <tt>hash:/etc/postfix/transport, nis:transport</tt> 
<li> <tt>hash:/etc/postfix/transport, netinfo:/transport</tt> 
</ul>

<hr>
07070100060adb000081a40000000000000002000000013d1fe2dd0000010a000000200000000000000000000000000000003400000003reloc/postfix/help/opt_transport_retry_time.ca.html   <header>Time in seconds between attempts to contact a broken MDT</header>

<center><tt>transport_retry_time</tt></center>
<hr>

This parameter specifies the time in seconds between attempts by the queue
manager to contact a broken message delivery transport.


<hr>
  07070100060adc000081a40000000000000002000000013d1fe2dd0000010a000000200000000000000000000000000000003100000003reloc/postfix/help/opt_transport_retry_time.html  <header>Time in seconds between attempts to contact a broken MDT</header>

<center><tt>transport_retry_time</tt></center>
<hr>

This parameter specifies the time in seconds between attempts by the queue
manager to contact a broken message delivery transport.


<hr>
  07070100060add000081a40000000000000002000000013d1fe2dd0000012f000000200000000000000000000000000000003400000003reloc/postfix/help/opt_transport_retry_time.pl.html   <header>Okres pomiêdzy próbami po³±czenia z&nbsp;niedzia³aj±c± MDT
w&nbsp;sekundach </header>

<center><tt>transport_retry_time</tt></center>
<hr>

Ten parametr okre¶la okres w&nbsp;sekundach pomiêdzy próbami po³±czenia siê
zarz±dcy kolejki z&nbsp;niedzia³aj±c± metod± dorêczania wiadomo¶ci (MDT)

<hr>
 07070100060ade000081a40000000000000002000000013d1fe2dd0000010c000000200000000000000000000000000000003400000003reloc/postfix/help/opt_transport_retry_time.sv.html   <header>Tid (sekunder) mellan försök att kontakta en defekt MDT</header>

<center><tt>transport_retry_time</tt></center>
<hr>

Denna parameter anger tidsintervallet (i sekunder) mellan två försök
av köhanteraren att kontakta en defekt meddelandetransport (MDT).

<hr>
07070100060adf000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_trigger_timeout.ca.html    <header>Max time to send a trigger to a daemon</header>

<center><tt>opts_trigger_timeout</tt></center>
<hr>

This parameter limits the time to send a trigger to a Postfix daemon. This
prevents programs from getting stuck when the mail system is under heavy load.

<hr>
  07070100060ae0000081a40000000000000002000000013d1fe2dd0000010e000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_trigger_timeout.html   <header>Max time to send a trigger to a daemon</header>

<center><tt>opts_trigger_timeout</tt></center>
<hr>

This parameter limits the time to send a trigger to a Postfix daemon. This
prevents programs from getting stuck when the mail system is under heavy load.

<hr>
  07070100060ae1000081a40000000000000002000000013d1fe2dd0000010a000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_trigger_timeout.pl.html    <header>Maksymalny czas na uruchomienie kopii demona</header>

<center><tt>opts_trigger_timeout</tt></center>
<hr>

Ten parametr ogranicza czas na uruchomienie kopii demona Postfiksa.
Zapobiega to grzê¼niêciu programów, gdy system poczty jest mocno obci±¿ony.

<hr>
  07070100060ae2000081a40000000000000002000000013d1fe2dd0000012a000000200000000000000000000000000000002f00000003reloc/postfix/help/opt_trigger_timeout.sv.html    <header>Maximal tid för att skicka en triggning till en demon</header>

<center><tt>opts_trigger_timeout</tt></center>
<hr>

Denna parameter anger den maximala tiden för att skicka en triggning till
en Postfix-demon. Detta förhindrar att program fastnar när e-postsystemet
är tungt belastat.

<hr>
  07070100060ae3000081a40000000000000002000000013d1fe2dd0000017b000000200000000000000000000000000000003b00000003reloc/postfix/help/opt_unknown_address_reject_code.ca.html    <header>SMTP server response on domain reject</header>

<center><tt>unknown_address_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<tt>reject_unknown_sender_domain</tt> or
<tt>reject_unknown_recipient_domain</tt> restrictions.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
 07070100060ae4000081a40000000000000002000000013d1fe2dd0000017b000000200000000000000000000000000000003800000003reloc/postfix/help/opt_unknown_address_reject_code.html   <header>SMTP server response on domain reject</header>

<center><tt>unknown_address_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<tt>reject_unknown_sender_domain</tt> or
<tt>reject_unknown_recipient_domain</tt> restrictions.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
 07070100060af4000081a40000000000000002000000013d1fe2dd00000377000000200000000000000000000000000000002400000003reloc/postfix/help/relay_rules.html   By default, Postfix relays mail:

<ul>
<li> from trusted clients whose IP address matches
     <a href=opt_mynetworks><tt>$mynetworks</tt></a>,
<li> from trusted clients matching <tt>$relay_domains</tt> or subdomains thereof,
<li> from untrusted clients to destinations that match <tt>$relay_domains</tt>
     or subdomains thereof, except addresses with sender-specified routing.
</ul>

The default <tt>relay_domains</tt> value is
<a href=opt_mydestination><tt>$mydestination</tt></a>.

<p>

In addition to the above, the Postfix SMTP server by default accepts mail
that Postfix is final destination for:

<ul>
<li> destinations that match
     <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
<li> destinations that match
     <a href=opt_mydestination><tt>$mydestination</tt></a>,
<li> destinations that match
     <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>.
</ul>
 07070100060ae5000081a40000000000000002000000013d1fe2dd00000178000000200000000000000000000000000000003b00000003reloc/postfix/help/opt_unknown_address_reject_code.pl.html    <header>Odpowied¼ serwera SMTP przy odrzuceniu nieznanej domeny</header>

<center><tt>unknown_address_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP gdy klient narusza
ograniczenia <tt>reject_unknown_sender_domain</tt> lub
<tt>reject_unknown_recipient_domain</tt>. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
07070100060ae6000081a40000000000000002000000013d1fe2dd00000176000000200000000000000000000000000000003b00000003reloc/postfix/help/opt_unknown_address_reject_code.sv.html    <header>SMTP-serveråtgärd vid domänspärr</header>

<center><tt>unknown_address_reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera om en klient försöker
bryta mot
begränsningarna i <tt>reject_unknown_sender_domain</tt> eller
<tt>reject_unknown_recipient_domain</tt>.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
  07070100060ae7000081a40000000000000002000000013d1fe2dd0000016f000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_unknown_client_reject_code.ca.html <header>SMTP server response on unknown client reject</header>

<center><tt>unknown_client_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client without address
to name mapping violates the <tt>reject_unknown_clients</tt> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
 07070100060ae8000081a40000000000000002000000013d1fe2dd0000016f000000200000000000000000000000000000003700000003reloc/postfix/help/opt_unknown_client_reject_code.html    <header>SMTP server response on unknown client reject</header>

<center><tt>unknown_client_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client without address
to name mapping violates the <tt>reject_unknown_clients</tt> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
 07070100060ae9000081a40000000000000002000000013d1fe2dd00000174000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_unknown_client_reject_code.pl.html <header>Odpowied¼ serwera SMTP przy odrzuceniu nieznanego klienta</header>

<center><tt>unknown_client_reject_code</tt></center>
<hr>

Ten parameter okre¶la kod odpowiedzi serwera SMTP gdy klient nie posiadaj±cy
odwzorowania adresu na nazwê narusza ograniczenie
<tt>reject_unknown_clients</tt>. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
07070100060aea000081a40000000000000002000000013d1fe2dd0000017c000000200000000000000000000000000000003a00000003reloc/postfix/help/opt_unknown_client_reject_code.sv.html <header>SMTP-serveråtgärd vid spärr pga okänd klient</header>

<center><tt>unknown_client_reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera om en klient som inte
klarar en adress-till-namn-uppslagning försöker bryta mot begränsningarna
i <tt>reject_unknown_clients</tt>.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
07070100060aeb000081a40000000000000002000000013d1fe2dd00000154000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_unknown_hostname_reject_code.ca.html   <header>SMTP server response on unknown hostname reject</header>

<center><tt>unknown_hostname_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<tt>reject_unknown_hostname</tt> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060aec000081a40000000000000002000000013d1fe2dd00000154000000200000000000000000000000000000003900000003reloc/postfix/help/opt_unknown_hostname_reject_code.html  <header>SMTP server response on unknown hostname reject</header>

<center><tt>unknown_hostname_reject_code</tt></center>
<hr>

This parameter specifies the SMTP server response code when a client violates the
<tt>reject_unknown_hostname</tt> restriction.

<p>

Do not change this unless you have a complete understanding of RFC 822.


<hr>
07070100060aed000081a40000000000000002000000013d1fe2dd00000146000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_unknown_hostname_reject_code.pl.html   <header>Odpowied¼ serwera SMTP przy odrzuceniu nieznanej nazwy</header>

<center><tt>unknown_hostname_reject_code</tt></center>
<hr>

Ten parametr okre¶la kod odpowiedzi serwera SMTP gdy klient narusza
ograniczenie <tt>reject_unknown_hostname</tt>. <p>

Nie zmieniaj tej opcji, je¶li nie w&nbsp;pe³ni rozumiesz RFC 822.

<hr>
  07070100060aee000081a40000000000000002000000013d1fe2dd00000152000000200000000000000000000000000000003c00000003reloc/postfix/help/opt_unknown_hostname_reject_code.sv.html   <header>SMTP-serveråtgärd vid spärr pga okänt datornamn</header>

<center><tt>unknown_hostname_reject_code</tt></center>
<hr>

Denna parameter anger hur SMTP-servern ska reagera om en klient
försöker bryta mot begränsningarna
i <tt>reject_unknown_hostname</tt>.

<p>Ändra inte på denna om du inte har förstått RFC 822 fullständigt.

<hr>
  07070100060b06000081a40000000000000002000000013d1fe2dd00000a1c000000200000000000000000000000000000002300000003reloc/postfix/help/virtual.sv.html    <header>Virtuella domäner</header>

Tabellen för virtuella domäner anger omledningar för lokala och icke lokala
mottagare eller domäner. Omledningarna används av demonen cleanup(8).
Omledningarna är rekursiva.

<p>Virtuell omledning används endast på omslagets mottagaradress och påverkar
inte meddelandehuvudet. Jämför med regeluppsättningen <tt>S0</tt> i sendmail.
Använd <a href=canonical>canonical</a> för att skriva om huvuden och
omslagsadresser i allmänhet.

<p>Ett typiskt stöd för en virtuell domän ser ut så här:

<ul>
<li> <b><tt>virtual.domain</tt></b> pekar på ... <b><tt>vad som helst</tt></b> (innehållet till höger har ingen betydelse)
<li> <b><tt>user1@virtual.domain</tt></b> pekar på ... <b><tt>adress1</tt></b>
<li> <b><tt>user2@virtual.domain</tt></b> pekar på ... <b><tt>adress2,
adress3</tt></b>
</ul>

Med denna konfigurering tar SMTP-servern emot e-post till
<tt>virtual.domain</tt> och spärrar e-post till
<tt>unknown@virtual.domain</tt> som om de inte gick att leverera.

<p>Tabellformatet visas nedan och omledningarna testas i den ordning de
räknas upp här:
<ul>
<li> <b><tt>användare@domän</tt></b> mapped to... <b><tt>adress, adress,
...</tt></b>: E-post till <tt>användare@domän</tt> skickas till
<tt>adress</tt>. Detta format har högst prioritet.

<li> <b><tt>användare</tt></b> mapped to... <b><tt>adress, adress, ...</tt></b>: E-post till <tt>användare@site</tt>
skickas till <tt>adress</tt> om site är samma som <tt>$myorigin</tt> eller om
den finns i <tt>$mydestination</tt> eller <tt>$inet_interfaces</tt>.
Denna funktion överlappar den <a href=aliases>lokala alias</a>-databasen.
Skillnaden är att den virtuella omledningen kan användas för adresser som
inte är lokala.

<li> <b><tt>@domän</tt></b> mapped to... <b><tt>adress, adress, ...</tt></b>:
E-post till någon användare under <tt>domän</tt> skickas till <tt>adress</tt>.
Detta format har lägst prioritet.
</ul>

I alla format ovan gäller att om adressen har formen <tt>@annandomän</tt>
kommer resultatet att bli samma användare under annandomän. Detta fungerar
bara för den första adressen i expansionen.

<p>ADRESSEXPANSION: Om adressen inte går att slå upp i tabellen och adressens
lokala del innehåller en mottagarbegränsare (exempelvis
<tt>användare+foo@domän</tt>), kommer sökningen att upprepas för den icke
expanderade adressen (exempelvis <tt>användare@domän</tt>) och den
omatchade ändelsen bifogas resultatet av tabelluppslagningen.
Matchningsordningen är <tt>användare+foo@domän</tt>,
<tt>användare@domän</tt>, <tt>användare+foo</tt>, <tt>användare</tt> och
<tt>@domän</tt>.

<hr>
07070100060aef000081a40000000000000002000000013d1fe2dd00000222000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_virtual_maps.ca.html   <header>Domain mapping lookup tables</header>

<center><tt>virtual_maps</tt></center>
<hr>

This parameter specifies optional lookup tables to redirect specific addresses
or even complete domains to another address. This is typically used to
implement virtual domain support.

<p>

By default, no address redirection is done. 

<p>

Examples:
<ul>
<li><tt>dbm:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual, nis:virtual</tt>
<li><tt>hash:/etc/postfix/virtual, netinfo:/virtual</tt>
</ul>

<hr>
  07070100060af0000081a40000000000000002000000013d1fe2dd00000222000000200000000000000000000000000000002900000003reloc/postfix/help/opt_virtual_maps.html  <header>Domain mapping lookup tables</header>

<center><tt>virtual_maps</tt></center>
<hr>

This parameter specifies optional lookup tables to redirect specific addresses
or even complete domains to another address. This is typically used to
implement virtual domain support.

<p>

By default, no address redirection is done. 

<p>

Examples:
<ul>
<li><tt>dbm:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual, nis:virtual</tt>
<li><tt>hash:/etc/postfix/virtual, netinfo:/virtual</tt>
</ul>

<hr>
  07070100060af1000081a40000000000000002000000013d1fe2dd00000251000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_virtual_maps.pl.html   <header>Tabele przeszukiwania podstawiania domen</header>

<center><tt>virtual_maps</tt></center>
<hr>

Ten parametr okre¶la fakultatywne tabele przeszukiwane, aby przekierowaæ
okre¶lone adresy lub nawet ca³e domeny na inny adres. Jest to zazwyczaj
wykorzystywane do implementacji obs³ugi domen wirtualnych. <p>

Domy¶lnie, nie jest wykonywane ¿adne przekierowanie adresów. <p>

Przyk³ady:
<ul>
<li><tt>dbm:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual, nis:virtual</tt>
<li><tt>hash:/etc/postfix/virtual, netinfo:/virtual</tt>
</ul>

<hr>
   07070100060af2000081a40000000000000002000000013d1fe2dd0000022c000000200000000000000000000000000000002c00000003reloc/postfix/help/opt_virtual_maps.sv.html   <header>Domänuppslagningstabeller</header>

<center><tt>virtual_maps</tt></center>
<hr>

Denna parameter anger uppslagningstabeller som används till att leda om
vissa adresser eller hela domäner till någon annan adress. Detta används
vanligen för att implementera stöd för virtuella domäner.

<p>Standard är att ingen adressomledning görs.

<p>Exempel:
<ul>
<li><tt>dbm:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual</tt>
<li><tt>hash:/etc/postfix/virtual, nis:virtual</tt>
<li><tt>hash:/etc/postfix/virtual, netinfo:/virtual</tt>
</ul>

<hr>
07070100060af5000081a40000000000000002000000013d1fe2dd000003c5000000200000000000000000000000000000002700000003reloc/postfix/help/relay_rules.pl.html    Domy¶lnie, Postfix przekazuje pocztê:

<ul>
<li> od zaufanych klientów, których adresy IP pasuj± do
     <a href=opt_mynetworks><tt>$mynetworks</tt></a>,
<li> od zaufanych klientów pasuj±cych do <tt>$relay_domains</tt></a> lub ich
     poddomen,
<li> od niezaufanych klientów do miejsc przeznaczenia pasuj±cych do
     <tt>$relay_domains</tt> lub ich poddomen, oprócz adresów
     o&nbsp;okre¶lonym przez nadawcê routingu.
</ul>

Domy¶ln± warto¶ci± dla <tt>relay_domains</tt> jest
<a href=opt_mydestination><tt>$mydestination</tt></a>. <p>

Dodatkowo, serwer SMTP Postfiksa domy¶lnie przyjmuje pocztê, dla której ten
Postfix jest miejscem przeznaczenia, tzn.:

<ul>
<li> miejsce przeznaczenia pasuje do
     <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
<li> miejsce przeznaczenia pasuje do
     <a href=opt_mydestination><tt>$mydestination</tt></a>,
<li> miejsce przeznaczenia pasuje do
     <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>.
</ul>
   07070100060af6000081a40000000000000002000000013d1fe2dd00000379000000200000000000000000000000000000002700000003reloc/postfix/help/relay_rules.sv.html    Standard är att Postfix skickar e-post vidare:

<ul>
<li>från betrodda klienter vars IP-adress matchar
    <a href=opt_mynetworks><tt>$mynetworks</tt></a>,
<li>från betrodda klienter som matchar <tt>$relay_domains</tt> med underdomäner,
<li>från ej betrodda klienter till destinationer som matchar <tt>$relay_domains</tt>
     med subdomäner, utom adresser med avsändarangiven routing.
</ul>

Standardvärdet för <tt>relay_domains</tt> är
<a href=opt_mydestination><tt>$mydestination</tt></a>.

<p>Förutom ovanstående tar Postfix SMTP-server som standard emot e-post
där Postfix är slutlig destination:

<ul>
<li> destinationer som matchar
     <a href=opt_inet_interfaces><tt>$inet_interfaces</tt></a>,
<li> destinationer som matchar
     <a href=opt_mydestination><tt>$mydestination</tt></a>,
<li> destinationer som matchar
     <a href=opt_virtual_maps><tt>$virtual_maps</tt></a>.
</ul>
   07070100060af7000081a40000000000000002000000013d1fe2dd000003e7000000200000000000000000000000000000002500000003reloc/postfix/help/relocated.ca.html  <header>Relocated Mapping</header>


The optional relocated file provides the information that is used in &quot;user
has moved to new_location&quot; bounce messages.

<p>

Table lookups are case insensitive.

<p>

The &quot;Maps to...&quot; field specifies contact information such as an email
address, or perhaps a street address or telephone number. It's one of the
following:
<ul>
<li><tt>user@domain</tt>: Matches <tt>user@domain</tt> . This form has precedence over
all other forms.

<li><tt>user</tt>: Matches <tt>user@site</tt> when site is <tt>$myorigin</tt>,
when site is listed in <tt>$mydestination</tt>, or when site is listed in
<tt>$inet_interfaces</tt> .

<li><tt>@domain</tt>: Matches every address in domain. This form has the lowest
precedence.
</ul>

ADDRESS EXTENSION: When the search fails, and the address localpart contains
the optional recipient delimiter (e.g., <tt>user+foo@domain</tt>), the search
is repeated for the unextended address (e.g. <tt>user@domain</tt>).

<hr>
 07070100060af9000081a40000000000000002000000013d1fe2dd000004bc000000200000000000000000000000000000002500000003reloc/postfix/help/relocated.pl.html  <header>Podstawianie przeniesionych</header>

Fakultatywny plik podstawiania przeniesionych dostarcza informacje
wykorzystywan± w&nbsp;komunikatach &quot;user has moved to
new_location&quot; przy odrzucaniu wiadomo¶ci. <p>

Przeszukiwania tabeli s± niewra¿liwe na wielko¶æ liter. <p>

Pole &quot;Podstawienie...&quot; zawiera informacjê kontaktow±, tak± jak
adres e-mail lub adres miejski i&nbsp;numer telefonu. Jest ono jednym
z&nbsp;poni¿szych:

<ul>

<li><tt>uzytkownik@domena</tt>: Pasuje do <tt>uzytkownik@domena</tt>. 
Ta postaæ ma wy¿szy priorytet ani¿eli wszystkie inne.

<li><tt>uzytkownik</tt>: Pasuje do <tt>uzytkownik@miejsce</tt>, gdy
<tt>miejsce</tt> jest to¿szme z&nbsp;<tt>$myorigin</tt>, gdy jest wymienione
w¶ród <tt>$mydestination</tt> lub gdy jest wymienione w¶ród
<tt>$inet_interfaces</tt>.

<li><tt>@domena</tt>: Pasuje do dowolnego adresu w&nbsp;domenie
<tt>domena</tt>. Ta postaæ ma najni¿szy priorytet.

</ul>

ROZSZERZENIA ADRESÓW: Gdy przeszukiwanie zakoñczy siê niepowodzeniem
a&nbsp;lokalna czê¶æ adresu zawiera fakultatywny ogranicznik odbiorcy (np.
<tt>uzytkownik+cos@domena</tt>), przeszukiwanie jest powtarzane dla
nierozszerzonego adresu (np. <tt>uzytkownik@domena</tt>).

<hr>
07070100060afa000081a40000000000000002000000013d1fe2dd00000410000000200000000000000000000000000000002500000003reloc/postfix/help/relocated.sv.html  <header>Omflyttningsuppslagning</header>

"Har flyttat"-filen innehåller den information som används i studsmeddelanden
av typen &quot;user has moved to new_location&quot;.

<p>Uppslagningarna är kastoberoende, dvs små och stora bokstäver behandlas
lika.

<p>Fältet &quot;Hänvisar till ...&quot; anger kontaktinformation, t ex en
e-postadress, eller kanske en gatuadress eller ett telefonnummer. Det är
något av följande:

<ul>
<li><tt>user@domain</tt>: Matchar <tt>user@domain</tt>. Denna form har
högst prioritet.

<li><tt>user</tt>: Matchar <tt>användare@site</tt> när site är
<tt>$myorigin</tt>, finns i <tt>$mydestination</tt> eller i
<tt>$inet_interfaces</tt>.

<li><tt>@domain</tt>: Matchar alla adresser under domänen. Denna form har
lägst prioritet.
</ul>

<p>ADRESSEXPANSION: Om adressen inte går att slå upp i tabellen och adressens
lokala del innehåller en mottagarbegränsare (exempelvis
<tt>användare+foo@domän</tt>), kommer sökningen
att upprepas för den icke expanderade adressen (exempelvis
<tt>användare@domän</tt>).

<hr>
07070100060afb000081a40000000000000002000000013d1fe2dd000002ec000000200000000000000000000000000000002e00000003reloc/postfix/help/smtpd_restrictions.ca.html <ul>
<li><tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li><tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>check_client_access maptype:mapname:</tt> look up client name,
	parent domains, client address, or networks obtained by stripping
	octets.  Reject if result is REJECT or &quot;[45]xx text&quot;. 
	Permit otherwise.
<li><tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li><tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>
07070100060afc000081a40000000000000002000000013d1fe2dd000002ec000000200000000000000000000000000000002b00000003reloc/postfix/help/smtpd_restrictions.html    <ul>
<li><tt>reject_unknown_client:</tt> reject the request if the client hostname is unknown.
<li><tt>permit_mynetworks:</tt> permit if the client address matches
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>check_client_access maptype:mapname:</tt> look up client name,
	parent domains, client address, or networks obtained by stripping
	octets.  Reject if result is REJECT or &quot;[45]xx text&quot;. 
	Permit otherwise.
<li><tt>reject_maps_rbl:</tt> reject if the client is listed under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject:</tt> reject the request. Place this at the end of a restriction.
<li><tt>permit:</tt> permit the request. Place this at the end of a restriction.
</ul>
07070100060afd000081a40000000000000002000000013d1fe2dd00000365000000200000000000000000000000000000002e00000003reloc/postfix/help/smtpd_restrictions.pl.html <ul>
<li><tt>reject_unknown_client:</tt> odrzucaæ ¿±danie, gdy nazwa hosta
        klienta jest nieznana.
<li><tt>permit_mynetworks:</tt> zezwalaæ, gdy adres klienta pasuje do
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>check_client_access maptype:mapname:</tt> poszukiwaæ nazwy klienta,
        domeny nadrzêdnej, adresu klienta lub sieci otrzymanych poprzez
        obcinanie poszczególnych bajtów. Odrzucaæ, gdy wynikiem jest
        REJECT lub &quot;[45]xx tekst&quot;. Zezwalaæ w&nbsp;pozosta³ych
        przypadkach.
<li><tt>reject_maps_rbl:</tt> odrzucaæ, gdy klient jest wymieniony w¶ród
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject:</tt> odrzucaæ po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
<li><tt>permit:</tt> zezwalaæ na po³±czenie. Umieszczaj to na koñcu
        ograniczenia.
</ul>
   07070100060afe000081a40000000000000002000000013d1fe2dd000002e3000000200000000000000000000000000000002e00000003reloc/postfix/help/smtpd_restrictions.sv.html <ul>
<li><tt>reject_unknown_client:</tt> avvisa om klientens datornamn är okänt.
<li><tt>permit_mynetworks:</tt> tillåt om klientens adress matchar
        <a href=opt_mynetworks><tt>$mynetworks</tt></a>.
<li><tt>check_client_access maptype:mapname:</tt> slå upp klientnamn,
        föräldradomän, klientadress eller nätverk genom att ta oktetter.
	Avvisa om resultatet blir REJECT eller &quot;[45]xx text&quot;.
	Tillåt annars.
<li><tt>reject_maps_rbl:</tt> avvisa om klienten finns uppräknad under
        <a href=opt_maps_rbl_domains><tt>$maps_rbl_domains</tt></a>.
<li><tt>reject:</tt> avvisa försöket. Sätt detta alternativ sist i begränsningen.
<li><tt>permit:</tt> tillåt försöket. Sätt detta alternativ sist i begränsningen.
</ul>
 07070100060aff000081a40000000000000002000000013d1fe2dd000004eb000000200000000000000000000000000000002500000003reloc/postfix/help/transport.ca.html  <header>Transport mapping</header>

The optional transport file specifies a mapping from domain hierarchies to
message delivery transports and/or relay hosts. The mapping is used by the
trivial-rewrite(8) daemon.

<p>

The format of the transport table is as follows:
<ul>
<li><b><tt>domain</tt></b> mapped to.. <b><tt>transport:nexthop</tt></b>: Mail
for domain is delivered through transport to nexthop.
<li><b><tt>.domain</tt></b> mapped to.. <b><tt>transport:nexthop</tt></b>: Mail
for any subdomain of domain is delivered through transport to nexthop.
</ul>

Note: transport map entries take precedence over domains specified in the
<tt>mydestination</tt> parameter. If you use the optional transport map, it may
be safer to specify explicit entries for all domains specified in
mydestination, for example:
<ul>
<li><tt>hostname.my.domain</tt> ... <tt>local:</tt>
<li><tt>localhost.my.domain</tt> ... <tt>local:</tt>
</ul>

The interpretation of the nexthop field is transport dependent. In the case of
SMTP, specify <tt>host:service</tt> for a non-default server port, and use
<tt>[host]</tt> or <tt>[host:port]</tt> in order to disable MX (mail exchanger)
DNS lookups. The <tt>[]</tt> form can also be used with IP addresses instead of
hostnames.

<hr> 07070100060b01000081a40000000000000002000000013d1fe2dd00000595000000200000000000000000000000000000002500000003reloc/postfix/help/transport.pl.html  <header>Podstawianie ekspedycji</header>

Fakultatywny plik ekspedycji okre¶la odwzorowanie z&nbsp;hierarchii domen
na metody ekspedycji wiadomo¶ci i/lub hosty po¶rednicz±ce. Odwzorowanie to
jest wykorzystywane przez demona trivial-rewrite(8). <p>

Format tabeli ekspedycji jest nastêpuj±cy:

<ul>
<li><b><tt>domena</tt></b> podstawiana..
<b><tt>ekspedycja:nastêpnyskok</tt></b>: Poczta do domeny domena jest
dorêczana metod± transport poprzez nastêpnyskok.
<li><b><tt>.domena</tt></b> podstawiana..
<b><tt>ekspedycja:nastêpnyskok</tt></b>: Poczta do dowolnej poddomeny domeny
domena jest dorêczana metod± transport poprzez nastêpnyskok.
</ul>

Uwaga: wpisy w&nbsp;tabeli ekspedycji przejmuj± priorytety dla domen
okre¶lone przez parametr <tt>mydestination</tt>. Je¶li korzystasz
z&nbsp;fakultatywnego odwzorowania ekspedycji, bezpieczniejsze mo¿e byæ
dodanie jawnych wpisów dla wszystkich domen podanych w&nbsp;mydestination,
na przyk³ad:

<ul>
<li><tt>nazwahosta.moja.domena</tt> ... <tt>local:</tt>
<li><tt>localhost.moja.domena</tt> ... <tt>local:</tt>
</ul>

Interpretacja pola nastêpnyskok zale¿y od rodzaju transportu.
W&nbsp;przypadku SMTP, podaje siê <tt>host:us³uga</tt> dla niestandardowego
portu serwera, a&nbsp;<tt>[host]</tt> lub <tt>[host:port]</tt> w&nbsp;celu
wy³±czenia poszukiwañ rekordów MX (serwer poczty) w&nbsp;DNS-ie. Postaci
<tt>[]</tt> mo¿na równie¿ u¿ywaæ z&nbsp;adresami IP zamiast nazw hostów.

<hr>
   07070100060b02000081a40000000000000002000000013d1fe2dd000004de000000200000000000000000000000000000002500000003reloc/postfix/help/transport.sv.html  <header>Transportuppslagning</header>

Transportfilen anger samband mellan domänhierarkier och meddelandetransporter
och/eller vidaresändningsdatorer. Sambanden används av demonen
trivial-rewrite(8).

<p>Detta är transporttabellens format:
<ul>
<li><b><tt>domain</tt></b> hänvisar till ... <b><tt>transport:nexthop</tt></b>
: E-post till domänen sänds via transport till nexthop.
for domain is delivered through transport to nexthop.
<li><b><tt>.domain</tt></b> hänvisar till ... <b><tt>transport:nexthop</tt></b>
: E-post till subdomäner till denna domän sänds via transport till nexthop.
</ul>

Obs: transportposter har högre prioritet än domäner som angivits i parametern
<tt>mydestination</tt>. Om du använder transportuppslagning kan det vara bättre
att explicit ange poster för alla domäner i mydestination, till exempel:
<ul>
<li><tt>hostname.my.domain</tt> ... <tt>local:</tt>
<li><tt>localhost.my.domain</tt> ... <tt>local:</tt>
</ul>

Tolkningen av fältet nexthop är transportberoende. Om SMTP används anges
<tt>host:service</tt> för serverportar som inte är standard, och 
<tt>[host]</tt> eller <tt>[host:port]</tt> för att förhindra MX-uppslagningar.
Formen <tt>[]</tt> kan också användas med IP-adresser istället för datornamn.

<hr>  07070100010266000041ed0000000000000001000000023d1ffaf800000000000000200000000000000000000000000000001500000003reloc/postfix/images  07070100010267000081a40000000000000002000000013d1fe2dc00000968000000200000000000000000000000000000002b00000003reloc/postfix/images/address_rewriting.gif    GIF89a0 0 ÷  ÿÿÿ“““³³³ÐÐÐ•••ËÑæýýý-t¹ÁÞúúû(WFNkC7z."dÒÔÛƒ‡šSEšÊcj…óóöx¦r}­QZ|ÔÙê5$z1#kÉÎåâåñ›”¾ÂÅÎ³­Í¢¬Ó=:hŽ“¨ž¢²B3‚¢›Â€ŽÃ>6^T]#Kœ§Ñ}‹¾‘Ë\c|[eŠõöø:*|ùúüy†¸ÎÊßfq›HPnlx¥™¤ÏmaŸ}s©ØÝíYc†ÕÒä EÅÊâ{—RYuICvLUuÝáï8(zª´×~ŒÀqvþþþ†”Æ°¹ÚÃÄÜ¼¼¼-!_iu¡üüþ6(u›®4&pL>‰u‚²ÂÉâƒ´” ÌÑÎáåèóòôù=-©­º¯©Ëjm…ÊÌÕÂ½×½Åà£»i]œ¶¾Üíï÷ðòø§«»êëï/(TÐÕèÛÝâ‚Äˆ’¹¬²Ébm–y…¶§±Ö­¶Ø’‰·¾»Ö8(|¼ÀÍui¤1 wu{‘’—§CCfw„µ¼¼ÈÊÆÜ+(Po{©âãè¨ ÅÅÇÒXK‘¼¶Òéèñ:*~…’ÅÝÚèïðõz‡ºµ¸Ãçåï1"x•’©^P”z”÷øûaT—hsžH9†msŠ^i¬¥È–––èêô´¼ÛŠ—È‡•Çs€°vƒ´s€¯qe¢6&vU\w>/€KTsMTp‰¡{‰¼fYšäâíOXx¹¶Æ4#yym§þþÿ¿Çádo˜ðïôãäéáãç•š«³¶Âèçð¸»ÆÇÍä®·ÙçèíPXsÍÑßßàå{„¤V`ƒ!G0,X‚µJBl†}¯ýüýPImûûýzy™JSqq{ ¦£µv€¦r{™—Ÿ»9*}þýþ^U…ýþþ‘‘‘²²²ßãïÙÙéks‘š¤Æûûû’¤—´ûüü”””ÎÎÚY[€TVt?3r±±Á;+~ßÞì?CeX_zž˜¶*"N]hŽÆÊÜÓÓÓ³¼Ü´°Ðæçëäãèãáíw„³PA‹`g€ÆÉÒâàé7'{¢ªË¦¢Ç€ÀÙÙÙšššîïòìëóëíõµµµ!ù     ,    0 0  ÿ wì`  Áƒ*\È0–\JœHÀ’‚0ª|©È‘ã:Lwp8fðX!rˆRÅ:Ò‘£B“C¨Ÿ­TW]"Áá—>ŒŠµ”ø2¦ABòª\â¨Š17ì#&‡‹ŒBÒ†&,Š(R PÒbèÙ(JƒÄà HÆ­¹"Œæ‰–qtØg¨Jn ÃA‚‚9J”ôÀUÀZ?Da*ìAÊQdì¸âáV#¤<²SE$R§^¯Ý'
å"Ü!	+)…›#Õ¸³ò=B…
*(;k‰áà@¡-Bç¦)¼"ö+1WºCÇÐï†ìÝÿßHËˆàÅoD,¯JG]2‚0nˆ¡tZqùòÅƒ˜;O„2„}th!Éq’¼€ŸyRwÈ©à@ŽlQÅCŒƒÁ`p‡  @bàA‘\a‘$jÎ* PxP=@0qáßÙJLð€†#Ñ<aÈÛ$tI(!úB0Á„Py3Œˆ06À„<ð`Û2
¬ÜÐG!2—ßÔ HÂ¼EåAî :]ò€Ž1Ú¼€+âØ7D^öH‚vH";03E	´Q£dåðJ>å€³W¸PP(Á@QØ'‡4€û  A*ìÿ¡L"sDFpèðƒqƒE¸$QA0#fðãQ„Èƒž€Í)§ÌPG­®¤À˜qÐ1B¤¡	nÐPŽ]ƒ0å£mA¨°F!ÔZÆ+ü2O³ H#DDœbÁxÜÂ‡  ÂÁAœ@ƒ(ZÁI×¸@iB9Œ¡Â[´A¹¨pB¶,$ˆ›E” ˆ%æðsP.t¢C/äqÌ°‹;eQÀÀ² 	Ý£B	%ìñ!D…1ˆâ@Ì‘¡‰¿@rP`|°‡*àkPpRÂ'ªÐ‚)Ä`=PTM.‡‘qA‘¼’Ä&M,P‹BXØÿ°BÊÐPBi|C^´ ¿1,à…AŒ‘‚
éüpß¬ ,4èƒ.p|²°âT|ðI)³|„F[­ÐpX¡H:,x}pLb¹â|PCÊAƒ ›t¢Š]Ç
žœàBY Â/•d£8;)Ôp/ÝI|€DªÜ²Ç+T°ò	ÆÉ@1g6ÔÐõ§p¤°ø‚(ƒDpRÃ8
„I,Àsb‡>!· €°Â:ñ‹Ç%Y+‚‚ õ ¤À7æ¤	Öµ@q"P‚Xbp‘†µ˜Ö	 ÉVü² 'e„€áo-àEðÿ> ¶"üÁ	É.úƒh#g@@ð –Ì)›8ÄîaM¡d§xCêrf­¬á5ÔÈp0(b,¸â$pâ¾ 	 °7¨à‡°"ƒ,ä€
)8ÑŠ‚ácðÄ~À°))Î	Ø(
š Ä‚´a8'¬@*¤AD(ÂNA4$X!c°ÏÌ±ŽƒÔªŠ(¸A·<èÀP„+ñ¶€J´ 	ð„'¦ð7,`è -€H#—{€! \ ‚], ¤ Á3C0Z"á|&Œ°„¤Å…š PÇN±†|¤á ³Ø‚)ð ÿ‰ 	¨ÅøiŠ-è2(Ú€4€ x:Á5P'6q„¸ó EQ·àPƒÀ ‰ðÅ$Th€—p€!qsˆf=\ˆ.šá†7DÀšØ lZ‰L\àk:P«ƒœÁ:ø'R ‡W!Eˆ\‰ ŸX@)ÄWÔƒpS-¨@>hàXðGÖš…2!Õ GxÀÑ‚]Eˆ AƒLB+ø€&@…h@8l^‘L¡ )tñÎ˜VÄøAd-Ð‚4¡˜BþÐ7ü"ÏÜÅ:ùNÔ(°­lg›YE,"0Â<X 
Qü ·,˜G%|qÌ‚¶ÙHÀ º }üC Ð®t§KÝêZ—ºÔÀÄ4–€îz÷»à¯xÇKÞ ì#  ;07070100010268000081a40000000000000002000000013d1fe2dc00000784000000200000000000000000000000000000002100000003reloc/postfix/images/aliases.gif  GIF89a0 0 ÷  ÿÿÿþþþˆŽ¡“““ýýý³³³ûûûÐÐÐ•••­±½ÞâðÀÇáîð÷w}‘ÉÎäÄÃÙäãíúúüÆÅÎÌÒèõõú<<ZëëíäçòmdËÊÜ±«ËîïðÉÐæÝàìTI‹tm’|‚–ÝÜáEEgŒƒ±ÍÌÔ¢´ÕÔÜ…Œ¡pgŽÂ½ØŸ—¾ÚÚÝ»ºÆîíõ¼ÃáÕÚí„{ª‰¨_T‹SK‚ƒz¦«¥ÉÃÁÒœžÇ¼¼¼ðòøêìõ£¥´LCuš”¬²ºÛUKzõöõÆÎåjjzr£ññò™‘º>4xÂÑÖé‚ˆ›}u¥¥ÃMB|bV“œœªüüþÂÉãjj›"eF9\Sƒåèô<1jzr•©²×¹ÁÞïñ÷èêôF9{¹¹Ñ$YÂÊã„}œÄÊãXX„zo¤ÿÿþ­©¼²µÀßâð¶¶ÎÙÕèàãðøöüaXˆª¥½©ª¸ÒÏã®²½òð÷md˜_S“RF‚\U|nf“A5t¶¾Þpg—óòøØÝíâæò–––ÀÈâA3y`Wƒu{’Ù×ß­¶Ùx~’w†¿ª®¹f]·²Íïñøùùùùúøþþÿ¥®Õ|rªi_’±´¾ïïôyˆÀ}‹Â¾¹Ñ¿ºÔx‡¿óñùëéóüûÿßÜì€ŽÃõóõcYŽ‡¶ëîø…“Æ°¬¿ÞÛêq€¼°·ÑüüýïðñÁÊæÞáð ±ÿÿýññø°µÍ²µÊíð÷4)bicƒœŸ¯aW‹1#n1&`ûüýçäñÄÉå­°½­°¼¾¾ÔÈÃÚ¶¹Ô¾¨¥·ŒŒ²:.kÍÏß¦©¶¦«¹ÀÈášššèçòSHujžüüú6'tPPx¸²Ïšœ­šš¯ôòùˆ­Ûáñ«¯ºøø÷\O‘ççê¬¦Å¢¨Â²²²x‡Àw†ÀÓÓÓ•“¯Š£ˆ ýþþRIu, \òðúD9q3)_Š‰¬µ¸ÂÓ×ä‘‘‘dd–ââçcZŠ»½Úf]ˆþÿÿ[[‰­ªºQC‹¢šÁJ=|‚‰²šœµ”˜·}}¢”—·OM~XM€ßãðVVµµµk_šØÔâ!ù     ,    0 0  ÿ H° Áƒ*\È°!AuìS@±¢Å‹/ž9Ãá¶>Ã¸ÒÂ ¤É“(QjYI2Q¢	@0ÐE)‡OÄœ9pAœ_,ø†€ vÒèhÁF£
YÚr4©B™K4u:‹¤#›tTUÚó'WX²9") 
zDš©
XËžE[hÛ±ÁèBCM¯t&ò25;P¦ŒVy±gÏO·¿ø‰ØÌ™	ÅZ§€vHÆ!%5ô uk#•“×°TÝt@ÍL„hÅÈv· wQ%¡Û«<™ÖÊ4æ ¶l}ºÅ«I¾	Ø98‹Ðí›ººˆÿïr-JâäZ04B9*Mä!k£é ‡n{Ey'¦¿˜e «øS #€Bñ„SÏ”óNð¹åŒvÈá
 …‘Á1Õ¼q"+ÌqÏaÄ…OdhUB q Á1‹¨`E5)‚“LT€ßDó á¦¼åÏ XÃCd©%9tŽè¡Ëê!…ÏÔ0…ˆð€>Ä)ç šx‰äAFâÁz BN;yCË6 À	~I((ª *D 6(£&¬ À
‚‘	™Ã¨¤æ@L Ðv“5@“Æ5ŠÿS	qäAdœ )h~`€ JÈðHvˆ/Nu x¸…Qœp*h.˜²)@ ±;¸!‹±Á¸ä–kî   •6…P…Þ€vM ÔK $„Rï¿ Ü !û0ÈWaU…h	muV#}á® £×pdNr( |¢° #ä0 kˆòÆ9-0”Ã[èPËÇ!´•ò`°Ž,l¬(«Q²Å"ÿ¤É!0*Ð3Ã7à1HœƒœaœÏ1´ #q¬ÓÃ[•T‚ÉÐÀD[dÉ‡QÝQôAÄ  
 hòH;vŒAG	-ü!Á‘gÿ•ÐÆÈ`Ãr`ðÖ^Øs
5Cœ’Exà±ÀMvöÍP)CD
À	€'¯SEÜ|¢Æégðñ–/ÄAL áÉ8 Àu@§¦!ÕºB¯ÏC„#Ê@  &s€ ù|±ÀóÐ» Få?ûPoüA%RŒAÉ³x çDCá„"AUA¾WÏîAÍðÔ!D(°ÔÑ¶üÃ·ûY  ,@ˆÃ »ÐG¡z§6ëÉì'Õø  ˆ]ØÀyøŠþWµ‚|ÁW¿ê0€0„âP@éÆïBŠ#p0Ã0b‘ŠàÂnHE3„‘€úð‡=„ƒ4a’°B…|p ‚!	MˆBœt£ƒiaÍÁ8Bæ0$€ÈÅ
1	2Iª@Æ2šñŒhL£Ñ¨ž¬ ˆ£çHÇ:ÚñŽuÄFÐƒøñ€¤ IÈB  ;07070100010269000081a40000000000000002000000013d1fe2dc00000b54000000200000000000000000000000000000002300000003reloc/postfix/images/canonical.gif    GIF89a0 0 ÷  ÿÿÿff™ÉÉäkkÓÓá¬«ÃUUqÅÅÚ¾¾Ê››½ÓÓéååòbU–~}ƒƒ¤9){LLs  ¹ÁÁ×33f•••´³Í®®Éƒƒdd‹PPiÐÐÐ!G‚x¬uu£ÛÛã²¬Ì••¹``|z“2%khhŒ¬¬»J?|òñöýýýžžÏ¢¢Ð}}¨ÃÃá«00a……²QC‹ÄÄÊšš¶ŠŠ¤\\zCCrAAa«$$Iš’½wl¤eezáàî>=]9°°Ø‘‘ÁõõùŽŽ½•”¦‡µ››ÁÌÌÔ±±Äcbƒêêõ**Stt‘HHmZZ†îíöjjƒ²±Ö¥¥Ò=;m:2[­­Ö¹¹ÜÔÓÜ^^5'rnn“ªªÔC4ƒ'S99c½½Þ“““tt‹‡}¯««­CCi,,XÂ½×RR|´´Ù‚­¤ùùüdd•‘‘¶1(T‹‚³ÈÄÛØÖåììñ//^¥¥²‰‰°XK‘††®|r©ÉÈÙOEypp!!AXXƒ-!bÙÙì÷÷ùææï¸²Ñ¼¼¼lcÝÝîBBZ³³³ee˜UU€bb“ŠŸ«§Ìˆˆµ€€•zz¥ññøº¹Å¿¿ÕŒŒº88Z””Å››ÍàÞëƒ€šÞÝéuu€€©88T\\‹D=cÏÎÙÏÎæzz†ss˜xxš‡‡Ž•”µÊÊÜŠŠ·¦¦ÂææëZZs––È¨¨Åýýþ[[‰ÚÚÜéèò7(v‘Ž¥¹¹ÏPPw˜˜Ê‹‹±SS~££Å‡†§yy¢ppŸíìóÍÉÞ  À¨¨ÓM?Šßßåyw’9+s–ÀJCiÏÍßggš) L~ jfƒ““Ã••°ÜÚè;2`XTt––À‡…žqnŠqe¡¾½Ð]]ƒôóøŽŽ´>/¡Ÿ±77i¸¸Öµ´¿¢›ÂIIvááé**D–°Ç¾¸ÔYSza_~¿ºÑZQƒ¨ ÆšššII`XX|™²uu|ÚÚè44gäãèããî40Wg\š\\…66^ÆÅÑ¦¦¼''L¨¤·¯®Ï’’¡êêíœœª››¥þþÿ™”ª!ù     ,    0 0  ÿ H° @5»˜èC 7pœœH±bA<Þ“vKŸXêÜ²è•Å‰‚N<ñ†Èˆc‚ÅÂöï¹f#èà¥r 
=wúul”VQñ»¶å×›ž(4 =yâÃƒ)õ"-ÇÄƒ<»TFZ‘U¹:S<ücéMC?j0ñ:‡‰À5XàÄJ=	'Hwiü…†›2ÂôÁ€È× 'ÇZDqV²ÀâîpqVB‘;ÒF´‰ Œ>Y'ï­èj jÄùöG >X°¸èdP|‘WS|Ã€df9°LA5pW†¢[p²?l‰&ð.ŠVÿã ýˆÀjnúÌ¹n1Çh ª©spó0ŽOsêƒ° ‘@’Uÿ `‰×´¡Ö@Ì„1B''ô@6
¤ Ã@ÀÊ+Ÿø1°Ä€ò\ÓÌ;½¡Øe 8ÁMáÄBY4¢p(pF9& ÞÀ°ÅžTÍ"®­›8[´ÁAI„J“
ç‡/š0Ð9u˜ƒ
òÀð€'øSFÀ2Œ7eCŠy±òH~  \ „Ž”0/¿S„À5a|0LœXŒÐÔ ~xÁ–„(À‚gháE «Uã|¢@5 üÁÀäôÿÉã\pqÌ%Ll ën@aJ*ñ‰Th¡‚*B0b‰dt*@Uü…@åÀòÀ0*d’Ê?Á(b @#B,F8‘B(Kpã Ÿø’2´‘Å?i€0+žþ …/• ñ‚Slp9+AX…&àóÊ‚
’<Q/!ZhD%Êä‚ÌvT¨F9D±UbP<2ìPœÁ‚
+R¡‚¼² ð4RUa•¤ L(Ð "É* $ÑÎ',Tê3e( 3pXñÉ'ÑjE%’x‘!<T…ŽÀƒ#HåË+IPá‹2™´ @$¨! Q¨ÿ‚h¬hÒ0pG A%+4àˆ5«øBˆÙþ`G#cUr€^øB	·T#Ép¤PÊÇt‹p	ãL11U˜r„*F‡rŒÈR	?¨@	#2<±ÏXÐR¶ªHrË*H òƒ<¨ ‚2º@óÇ3¤ ‡Zx³€×tß  KÀS´BäbÀ·’!@ïÉ‹2~DÏ.PÌË2ãã	$ÐÅ'Q-PBP-. €3„Ïº”øbz’@ƒ A€âUsÝÐ`#´ÀdÄ¼€<FÜb$ FŠ!;ô">"ÕT$ö‚[¬ Å¨ÿt?0^½ ŠYÈ|øÄ¢€,è£ˆÄ4žqˆ,ˆ"‡êÐ
$ð‚Æ˜…X@…PÂ$‚j (Á"V¼Ð@ƒ9T£	 Ã aƒ\J‡éP&ÈH; 	6à‡/þÆˆ0Å  Èöàƒwˆ@@†ö3è‚éØ#Y $TB<Ä®À&lbŸH&*°1 k %F	„I qH' °	0HO­ÔB/ Adpb=Ø ü ‚12Â ¨ÀD;Œ0ƒœb™¾9O$4€X¹š¸Ýb)€< ÿÈø!i(#"€€D`ðb`G´ÃÁ àá
 áùx†=(($ü p(E)"q
k$ÀDöY€e`|°…Á>d£ðPE€‡iT`  Á),À†hTÀƒVñ6Øµ 5t±ÜbR˜€VµêÈÁdXF%d1 ÁšXÁ
Ð€G\Á­œ†,¬1€ Ø5 ‡XC Ñ,CôÃVµJ†M(Á]èÅ\qˆ»î5ÍÂVƒ‰^!µëZˆVrØ$\­ºà \ ;Ø	‰pì  ŽVÿ\A«‰„5 p+ã®‰˜¨Ñ$ø`F¨A7‹ƒPa^•6qˆºÚ’àCš 	 `âLx‚¡àB`l€&O4Á¦E­
H!9Ü µ0å]›Ð#Ô£	!X‚ ‹DdàX#Ì»ƒðA	ˆ@‚0`‹Á¢vöÈ„| €Ø¡¼×-„ p
]@ ¥ \ LÐaÁv}'ÐUzØÀY€/Wïa }Ì 8 Ö*>¼ß4éhÃðÐNl ¨°Æ
Ì`\ «@…(*¼U%ì&5Ø PZ€8 MÃ·ÐM|ÿ º8þL9Æ³ ¬ÐÔ È@„iå€Y acÐ t{æV@ÀûXD Wpb½ØE/Ðp×5ðÁ»°@7” ‡mly°.èFpPN„`¤¤8óA€pÂ 1˜Jš°$àÎx½‚Vq…1ˆ Y Árµê;êãïh "na3—hÂ&46• G °>Ø£s8A	ºa†ltuÇzØ†PA#<ÕºvA@¡5ìÅ†èÇ%:ðá5¬¡±ïEa}ÜTJ µW}P†biXAÖ‚Dœ=h„ŽQâ(1o„.6ÞŠy$âWHG:PŽrt#8Øi7Éš!@+ÔÁ‡Dw  9: ;0707010001026a000081a40000000000000002000000013d1fe2dc00000857000000200000000000000000000000000000001f00000003reloc/postfix/images/debug.gif    GIF89a0 0 ÷  ÿÿÿýýýÐÐÐ•••ÇÂÚ“““@0ÞÛéûûûðïõ³³³çåïèæðùøû>.€]P”Ã¾×RD_R•¸²Ðïîôº´ÑØÕæL>‰òñöîíô¼¼¼ˆ~±¼¶ÓàÞëòñ÷ùùü’‰·—ŽºVHØÔå@1_R–I9‡B3ƒXJ‘zo§ÝÚéÑÍáÕÑãE6„0v©¢Æ¡™Á6&{ÙÖæ´®ÎK<ˆvk¤š’¼™‘¼0wgZšbT—ìêò·±Ðœ”½ÛØçA2‚]O”WJ[N“Ž…µ<-À»ÕcV˜QCŒ†}¯ÖÓäŠ€²VIäâí+ssh£¾¸ÔO@Šáßëwl¥j^œoc ÉÅÜfYšPD…ƒy­^P”:*}×Ôä”¾pe¡’æäïÚ×æF7…PBŒýýþŽ…´mažNA†YK’ti£;,~~sª­¦É`S–L=ˆ2"xõôøÔÑã9)|™»Â½×yn¦÷öùãàìÃ¾ØÄ¿Øˆ·TFŽïîõŠˆ‘D5„øøûêéñsg£5$z———ti¤J<„uj¤þþþ;+~ø÷úüüýßÝêÛÙè€v«C4‚vk¥·°Ï@1‚M?ŠýüýÜÙè?/€~t«ôóø_S–³­ÍéçðáÞëööú1!w†µRCöõùzo¨„´ðîõC3ƒ6%záßìš‘½ùùû5%yíìóóó÷ÔÐâ|q¨¤ÃOA‹–¹J;ˆ{p¨B2‚UHQBŒŽ„´§¡Å|r©Á»ÖµµµPAŒSFŽeX™PCŒeYšïíôB3‚ZM’wp“<+~úùû²²²‹‚³•Œ¹…µùùù%oxm¦ldˆÅÁÙÎÎÎÅÁÚóòø¥žÄ£œÃÙÙÙ‘‘‘ÏËàÙÖåÄ¿×Œ‚´”””ÏËßèåïÓÐâúúüSE8({REˆXN…N?ŠÆÁÚ§¦®„z­ÞÛêxm¥ñïö\N“ž–¿èçð–ºàÝëåãîåäï²«ÌÕÒâ(q%pN?‰zu“‹¸ñðöÇÃÚ?0ÆÂÚÓÓÓŠ… G8†7'{šª!ù     ,    0 0  ÿ HP ‹0:v h &‰#Nê0fàF1ÜÈq#R]º¬¢†É“0z€À%ÐC	Xv:Ð ³`…@X6	4%F„ÏŸ>a…8ÉÄD÷¨Y°•›»ÝÃ@µ*Õ"ùbc K™HÚCMÒªM«Éœ·kšQðkX±%¥ EÂ€ß¿€hF‹«º`ñ”!<\"Kž\„ƒeÎ Zƒø®X‘ŽÈ ði²ég™Úð§Îkb¼[hI"°š$rë¦”&Ú@[ZìríY¦ŒGF|‹çÐá¬J%‘JÄ8Ú;‚F/ÚŠâÿæ«NÇí5·´¡µeàµZ âËÑÉh<ø#}G0ë6Ð" aà@ˆƒ
 ¼£!ö÷G±y ‰ø!Êtè!©ìÀF´`SþtÜ'´,Kœ!ãŒ"”° – AÉ8b¥8Ð‘œq@A+äÂ‘H†pŒ){œÂˆàå# Úx“†1OÌ ¥–LP—`~YÆ b‹bSÆ¢…œðÃ›oÊ2Ê	tÖyÂ(}¸áBWhN8FÍQÅ$ª¨¢¿ì0%eˆÒgq-ÀÆU´Ãtêi§EÀÀ”ä@]~Ä€-h$Ðò4ÿÃ¬´â ŒU@„©¨R:Ð%´ @ˆìðŽH¡¬²Ž°RŽoÖñZÓ”-ð@ÍTÁ%FXá‹àúÂK0HT„	BN›êF–¶€‡@§`àAôÖ› $"	 +À¢Ëç­Ëîµwä‡1]Ô ðÂ…P pÓFŠìëF°Ñ œ‚Ì )„,r
çÜâƒ@[¸âM„)öÅµ¸$€ÎÔlóÍõÖG"TÜ²b;<ðÃDK`ôÑHý@FÐG
DmG*˜a†1ÈÁE\wÍµd„MFeøãË}M½‘ôxc@U`ÂÃÜtóðHÉàÿ‡×&ˆq£@—ÌãÂáˆ»ÐD?­¢2À?×”Ÿ'o/'¯˜gî%M"-“XÌ”âqrx lcÄƒk'ð°Æ@	¨#Ç¸ç~;sTjÄ!ø¨{1 ˆÓKå1`„A4ß<
(ˆa
 Ðè@‰«^¸³$Éë, þøfò	"Ë2,ŠçA‹½ñ@%\RÂý÷ëÑÃBtp‚‰”ëJ‚.D…‚Œ!µ‚8$T` ˆg H©ø£ŒèB¨ÀA* …p(Ô@B5T"là„Â3%,|Ã$Ä2>è„8a¬¨œÀC'P¡Nh„7ÿ¤á
nÄAGÊ°‚tc–øÄ&‘‚$  íÀ†	v‚Ôo#~èF^qC”CîX€;˜`;˜#"*`€;`‡IÀ#ß€E:0× î°ÅH	"8À 	†1YhA	Câ -L!¢c
úp‚5<3 ÔÇæðÉËp 6 VÐG¿Õ„	l˜Å
8RŽ”³ÐÄ øò—X…èUÈHH&”
clà™ÏTB9.Ð„)¼¢× &0“áŒl `¹P€8ÇÉ|à H!\a53€C%H‡æIO!d!ˆƒÈ14Î~* ‚ †
@Ð‚´ÌÆP>xá¡^øG>Ð€ŠZ´¢ÝXC>®Àƒz” ÿ ; 0707010001026b000081a40000000000000002000000013d1fe2dc000005f2000000200000000000000000000000000000002100000003reloc/postfix/images/general.gif  GIF89a0 0 ÷  ÿÿÿ÷÷÷ûûû“““ÐÐÐ³³³•••{x‚²²²úúúµµµ¶¶¶üüü®®®ØØØªªªÚÚÚõõõðððÔÔÔÄÄÄ»»»|z‡ïïïÎÉÞ²¬ÎtjŸÊÅÜ¶°Ï¾ºÏµ¯Ïpeæäèxo¢ýýý¾¹ÏÙÙÙùùùôôô¿¼ÐÀ¼ÑÝÝàûûüÁ½Òèèèääæ¿ºÏÊÆÜçççÕÑãtkŸwn¡æåéããã–––ííë¿»ÐÆÄÍÌÇÝõôõöõö”””ÏËß³­ÎÜÛÞÉÅÜ×ÓåÇÄÛ®¨Êzw‰›”¹¾»Ëáàì¬§Åôôóððìòòò›’¼ïíõ··¶ÎÎÍ˜‘³·´Ã¸¸¸ÒÒÒœ”¼ÊÇÓÔÐâ©©©´´´ËÉÔˆ~´ããåÙØÝ¿¼Ñ‰°}”Œ‚±¿¿¿¤œÃÕÒß°©Ìwtƒ···óóõæææææèƒy«ÕÕÕRKnããáééè©¢Èµ°Èááâ¯©ÃååæÒÎáîîí…z°×ÖÛßßá¹¹¹ááà‘‘‘ÜØéƒy­SKw²²±ãâæìëìž•À¹¶Ãnd›ììîÝÜßw¬¿À¼þþþÐÌáÙÖæÃ¾ØÒÒÔííîøøùôõó¥ ¶¸²Ñîîîëëî¼¼»dW˜ÙØÛÎÊßÛÚÞÙØßv­àÞëœ•¾àßæäãæáàá‡¤¥ÄÓÏâ}rªËËÌxw~{yíìó¿ºÕoc¡×××ïîñÎËßïïí®¨Ëêëëëëêvl ¸µÄÓÓÓÎÎÎ‘ˆµÇÃØ±­Å³­ÆÀ½Ív¬ßÞáîîìîíïÃ¾×ÉÆÓßßßÊÈÓîîïàààâââøøøëêò½¹Íššš¤¤¤~{ˆ¢¢¤ÔÓÓ¹´Ï}z†¬¬­ÇÇÇÞÛé———üûü™’µÁ¾ÎÁÁÁòñò®¯¬qfžíìîzn©ùù÷­«¶ÍÉÝzo§Â¾ÒÓÐáÀ¼Ð›—¯ÄÀÖåäåkaš¹´Èæåæ·±ÍÂ½Ò×ÕÜééêêéëêêèµ®Ï{y‡NFxÁ½ÍÜÜÛ®ª»ˆµÏËÞ                  !ù     ,    0 0  ÿ H° Áƒ*\È°!Á=#J`ËÆÄ‹
E0€±£A=Š r`ŒFv‚hÂÀ²¥Ë—^ùÐñbƒÍ›8q¾B*ÑÆdT=!Â¡¨Ñ£’*U*ïG†§P£JÅŠÞO`’I÷¡«W¯Üf„K6ÄZ2dhXË¶m[C€Ü\ ( òêÕK£Ò…¿€˜…¢3sË”€B³¹#Glla.Žo²à½dM2BÊsOÔà$hMŽbž‚	 ¬U„â\{f‚íÛ¸sëÞm›DÕ;ÌJfÊÛ–@’+_Î¼¹så¦èâ4|N¤(Imp: |ˆåÿR¨÷‚Þ;À °°óÓ¯èKš‚ûøóëßÏÿ¾M¤
µp
	$¨à‚6è ‚Èx×Ž¼`SO-®À7w+ÃÎ9¹XA†y7B¥PâÈ'eH"Á‹0Æ(ãŒ4¾xA	éaáI/˜Î6)äDidYã
áˆÁ.˜  TViå•XfYå"ÞãÎW3…%$`âù0âÚ”™ÞäˆÓ‰:P\RÁxæ©çž|V€fRPkü"\ìE4êè£F*éUè ­ð†9“Ü3Ên
:×¢Ì¡Æ:*¦u  „ÏÒE Ôjë­¸æªk­&$ì ‡3kì±È&«¬±Ì´âè¤I›´€c Øf«í¶Üv‹­ Þp")¤	«BVfw¢²Ùºñµ;Ð»ð–(¯@Ê”À¾üöëï¿ ,€	ÙÌ3—.ÆPÀÂ7ìðÃG\@LD3W© ñÆwìñÇ oŒJsÕûQÉ&TRÊ'[D’ 0Ç,óÌ4×l3Í%ÜÒ $(PÀÏ@-ôÐD=4Õô1Æ L7íôÓPG-õÔ, ;  0707010001026c000081a40000000000000002000000013d1fe2dc00000730000000200000000000000000000000000000001e00000003reloc/postfix/images/icon.gif GIF89a0 0 ÷  ÿÿÿ   :*}ñÏ ýýý•••ÐÐÐ~tª®§É@@@ûûû€€€“““¿¿¿þþþ€ŽÃ³³³âÂ -' ßßßž¢°000ïïï úûýÞáð÷øû```ÎÎÎkkkðòøñññ
õõõ/"eòôùòòö9){   ŸŸŸÎÓèqu†ÙÙÙÆÍäPPP ËÍÖ%%%êìõœ”½UUUìîö<4 üýþ½ÅàõöúNNNééê]]]ppp¯¯¯¶¶¶ªªª			øøüþþÿŒŒŒ†“ÆHHHÖÖÖZN :*|úúúv{ŒB3ƒæææÚÞîµ› ...w¬ïðøw‚ºˆt ¾ÁÍ´®Íjo­G=Š$N!!!]\ åæêÓµ k_žÕÙë[[[–––ª°Ê9*|;+~ÅÇÎçéóáäñùúüyh Ä¨ ===ö÷ûLLLöøüûûýººº.&Qëíö(((fffou²Á¼ÖÓÓÓýþþ|||_R• EíííóõùÜÜÜ|ˆ¿jz¸
¸²Ð444>0ãÅ¿ºÕu«HHJ}s©aU—vvvÜÞè¶ž÷øùƒîï÷ìîõ¨¨¨«¨¹ãåíõ÷ûõ÷úõöû¹¶ÅãâçK=‰Ýßç24BÛÜá°ªËÃÊã©¢ÆéìõKKK §ÁÜßã::: ªÒ·¾Üwl¤þýþ— ™œ¥‡¶tn‹ÁÁÁ   ,-1"IcccÍÑßpt‚f`€<-!(V…†‰µ¹Ë¡¨Àëîõ±±±BBB3%o«®¹z{…¥­ÆWWWmp|ëîö89<6'uùùùÙÛß+++ºÀÓÖØßÜÓŸTP—þÿÿŒÁ˜£ÏÀÆâš›Ÿ˜˜˜sssi[ ‰ŠŒÄÈÙÅÈÓÃÅÒKA ux‚###YVœéëñ65?XKŒ8(x˜±PS^, ]ÌÏØps|^`eÉÏæÜàï¨—0¦Ž ÛÜß¨­ÄÕ×Ý7(vÅ«!ù     ,    0 0  ÿ H° Áƒ*\È°!A=#JHÍÄ‹
	(€±£A=Š r¤È’W0‚”
Ë—0cÂ\•åÝ
”%Q’t §ÏŸ@VJŒäFŒ_X¸À´©Ó§MY¤(äÉhÈ”JÛ@ÝêÔß°=qNœ
×³Êxá
{i›`fÏ>•ZhÛ«)KM‘U*Ø»q¸s´m„Ãˆo!ãhž‰vÅ2äàc ¸&ÂÄL³ÌŸDþ€!F€	° Ø¡
8U¦i²(À@8ÎbJèÌ-@¤(Hm»õB97´(‘cŠâŒF(0ü Zõã	U°ò  (z%$ÿë@@ P~ ÕËc7ˆç˜–<<buû¶©ˆ:6È‚j1ƒ¾ŸyV!¤Ä&Ç$!	Þ(Á¯¼` -t ´Þh ÀÎ'7¨Ç@‚tÀDDaÎ$ê¨v@ä3ÁÿdÃãT÷Á|<l¢ƒå¡Â@@ØbCð&V0f Ït°Aª€¬BC`cO\LPe•rÎY¥OÐPfkyD³‰„ò"A(x!B-sØ©è <±Cuf6¨¢‚ÐªøàAe#ôNšlðD˜‹2º™FvéÐC>Äÿ! àPÂˆ¼!ÍèÔiç§Æ'_ƒ>°¡A<02lŠh(G<Ã0Âõ@C¾2ZA‘ÂvØ  ¾£ÁÊÀIxTÑC$`:Bµê@sJud9€4èq&âÄF?(. v @ßÄÀ D€6»@Z\m îáÄŽ1@P“¬@Ü  Êy@@DÀc,è‚4!¢ÆGŠUŽç -”@HP›5ÚTçÂAWÄh ™3¨¬ì €GHÁL òD‡E ,,«FÜ’}Â!È>° ¹,ÑÌ/Wh,ÄB¤ÿ@dÒA×œSÂ(8¡90Ô0ˆµ	«ÞB<-qƒ”‡+ûX Çé` Ð	w!lQ7ÜØ×@—À£1éT3Ð3Mˆ ¬ÙYà4qi¼>¿,C!9Àx|	ñt ",P&eHiÇg@Dð©&q ×9tDä	»wêÕ% qu2CÌÂ2ØzÏÑ	?¬¡qDÙo|ÿFÐb1‰Ed­ÐÅ&·	+5‰À:aí¨ýS›ýH²€zðƒ@†®@œø1à„(d€V¨€›i, ˆ$@ÃÚP–‚5ÆÃ¦Ï¢‡(ÄüÀi>Lâ ;0707010001026d000081a40000000000000002000000013d1fe2dc000006db000000200000000000000000000000000000001e00000003reloc/postfix/images/ldap.gif GIF89a0 0 ÷  ÿÿÿ“““•••ÐÐÐýýýûûû³³³òñô œ¯1([2$k'Uôóøuj¤‘¤¨ ÅÉÄÛbU˜fZš²²Ë¼¼¼–’§õôøÈÈË\\Š¿½Ê’’¶ÚÖæ„´©©Å)YÎÊÞ‚|˜keƒ²¯¿.&Tmm……–3%ni]œÃ¾ØQJnûûüÝÝè­¦Èùùû,$O•¾®ÄÁÎ|q¨%P/"e EÙÙå88T¦üüýâáì9)zÆÂÙB:aîíðÏÍ×ööù;+~wrŽ¯©Êþþþ#H‹‰àÞêæåê5&q$NL=‰»µÒAAažš¯(Vrr¢¬©ºqe¡yn¦?0åãîff˜¨¤¶´®Í“Š¸!Fqkˆ'T¤ÃB3ƒ¦ŸÄÕÑã=.~6'tðïõXJ‘¡™ÁcW–ÈÃÛõôöïîôš’¼–––ûúûoc ¢Ÿ²UNq?7_91ZNNtKDiƒy­1#i3+VððòRDÓÏâ—Žº¯«¼TFŽóóõ¯¬½ŒŒ²‡¶!H×ÕÞª§¸c\}1(YÝÚéÛØèÊÈÓti¤DEfÒÐÙ&J#Lii›½¸Ó…{®I:‡ÅÅÙvk¥}}§úúûRR{ppŸ+\òñö#KÕÒä-!a²¬Ììëó1$jª£Ç¶³Âôóö±ªËYRt¨¡Åýýþóò÷ËÇÝSSiùùùJJnmaŸ, _nnž²²²±«Ì¹¸Ð†|¯ÐÐàOA‹OD€ØÕåÞÜãÞÜçuu£A?fÉÅÛcc„¹¶Å’’°+ ^¹³Ñ€€ª``(PPA‹ww¤Œ£  ¿ÓÓÓˆƒœçåïF?e”””5-[ÏÌà‘‘‘ÐÎÛœ–³ÙÙÙE9sØÖÞwl¥</rzz‘††¥&S0'R˜”©«¥À»·Í/&Y;3\¬¬Çhhy±±³ÅÅÇ‡‡¯ÔÒÛõõùIBg'V««­8(x’¦) Lsh£\R‡¦¢µëéò…|§€u«ššš©¢Æø÷ú½·ÔÀ»ÖÁÁÖaX†ññöññô{v‘µµµèæð·±Ð!ù     ,    0 0  ÿ H° Áƒ*d“F÷˜`Â¢bÅ!£þ1á¦Š…)Lcë‹,R"‰©ÃÉƒ‡'0=´¢a‚Š:€^tÚDä@dk¶°õOF’Eâ
¢‚›(~öø„À?Bpq1qB¤#>	0=*vB¼[tÇ”O ¨E2m	w•@Š%+ƒŒZ‚Þ&ô$K·}zÇ¬&!L{Uê	˜ƒAYÔi;˜/€v^>©cÅáT¶Ž(ƒ7&S¦Sc<ù«rÈŠQz¤,11‚³Â½Û(˜ó¦È“OTNÐá GM™2_¾+£Ðb&¸Ô8—FïÎ¥ÐÿØ–ã‡“-o¾+¢E“’ðªQD[ŠbTê&æûoÅ%ò‰1™âÃ-?dÊ W4¸G/1”ƒÝÃG!¾%œ@(àÀd	A"´! ~âAŒXâA'¦¸"‹.‚Ç¡‡3Ô"‰6¢ˆcŽíø¢A1þ¤@Bö(ã‘HÖøŸgK2™ä“Eyä”è£ŠR:™%”F^é¥‰ZZ	$–d‚É¥˜<RyãšgŽ	c™aÆÙæ—UÖ™£ˆw¦¹˜	ë0)*ô9§gí  2	†=’Á‡0iÎ.x°3dA'Æ£Àm”òæäà-¤qDÿœÐ)ºÿ	€9 ÓJ‰pðÂœñ¬-y|À0¥p@&5„€DXZ
ôç0¢&&Á+SèZFL"Áb´¢I=ƒ`'¤Š "±)ËÀÑL3Öì@ƒqÀ1!ÉD±ˆ( ¶‹ª 7&Š'hÄª
ú˜Ó‡>*d°OgD’Í“©€O,’L m¡è b¾XñG0 ¬²BÎœàË æ€¹\RóÍ	"ÐÌ˜C”ãŠ}hÉ†0`õÕW[POj„ñÈXcMµ+Ø`ö
+èàL4¹@áxf<`÷Ýwƒ2„ì¸À]à7,±€ÓÁáˆCÎ%VóÆ5ža‘Ä/TnùåÙ(QCZÌÀÅå–£ƒ‰.Š4azŠÈ¯r	žáâ´×nûí¸ßî„%ôî;84®ÈëãxÆ¨O*L@‰¯Gmüñ	1K–4/VP PÀöÜwïý÷à¯Š$TOÂ¨2 3 HÓðÇ/ÿüô×?¿88ð’J*á¤ÿ+kx@Àð€L €y ; 0707010001026e000081a40000000000000002000000013d1fe2dc0000093f000000200000000000000000000000000000002800000003reloc/postfix/images/local_delivery.gif   GIF89a0 0 ÷  ÿÿÿÌÌÿÐÐÐ+oº¹½•••hfk£žÕòòòùùúœ›¡ÍËÑûûû¶´ã®­±~~ÙÚÿ«¤Ç:*}ÆÅÊÉÈÍ½¼À`U›½»êÊÉÎ¶´¹³³³kir|{ƒÄÃçž™Ô^U’dXœlc’š‘’‘ŠÁªª®5$x…}»lh„ÍÍôÍÍÿ{r´…ƒŠ{{¤tj«†Ä2!uSI}š”ËGELŒƒµUSYÉÉÉƒy­tk£ÔÕÿÒÓÿff™ãâã–”žtkžÐÐÿÕÖÿC4„’‰¶íííÂÁÅ±°´ÖØÿÎÎÿèèéiiš^]f¤ŸÒtr{kk“ÖÖÿÍÍÎÐÐúÓÔþ]QšF9–ÌÙÙÙÄÃðÈÆÌ¡¬’ŒÉäâìÕÔÜŽŽƒz´“’¨€†WJ–š™›¨ÅÅÇŒ|r¨ž˜Ë…ªmn‰‚£×Ôåe_™qq¿¾í ›ÎÞÞßÚÙÝyo¯ÍÊÜD5~cZ”^Y“;:>À¾Ã¢œ»ts¡j^¡  £rg¤xv|Á½Ô¸·»ª§Ôi^ÍÍúULŒ[QŠª¦Ûvt’nc¤ÍÎÿ¹³Ðuk°}t¢¦¢ØþþþËÊþÌÌþˆˆ‰ÞÜéZN†ÓÓÓUKÑÑÿž›·rrtMA…¹µäwu‹´±ÝI;ˆ´³·ÉÊù„„„|{²®âø÷ø–––¦¥ªG9‡ÉÈÎ217¹·èµ³ç°¯³áßìUGŽ‰†œÍÍþÒÓüÜÛàpf««¦½„ƒ†ËÊÌ—Ç[O˜·±ÏNMPáãÿ_S–ÕÕÖ‰ˆŽ†† ÄÃÈ/.0ÀÀÁklœjj›ÌÌûÍÌÿ—–˜°­ÄÖ×þnf’‡‡­Ú×æxn¨ÏÏøÆÅùÔÕý328½»ï¤ŸØRDŒ‹ýýý8({·¶·¥£³Œš›“Ç­ªâhg˜‘Œ¥ææåÏÎÔÑÒ÷'%)XOËÌþj_–»ºÈMCxomvúúü©¨«97;ÜÚßÑÒþˆ†ÑÑý‚›ÔÐâtmŽ‰‰¨ˆ°ÌËýôô÷w¸w¶ËÉÏSF…us€zxÞàÿ«§Õ¿¹Ô!ù     ,    0 0  ÿ H° Áƒ*\È°!A#JP©ÔÄ‹
­	(€±£A=Š r¤È’&;¢Lyq%K‚¤â!ÃáÇO3ÿH	t™2³™!.0š¶JÚ*G³ø¬!¹1¥µI‹j
1gÆªbA¤ìh'EG²C¼èðœ¸eÑ!fUYEN‡ŽHÈ»âÈªÌšNŒ	ÇLZ-«žéÒ.îÜÃ‡!|¨¡—á£5Ì¸òtÛ3)„ ÞŒXQ;/ò#"M"^¢™³ëÃGf„>h¯56iÜËíæN‰ Š^OgvÁtcØŒQ¢$“a<”§%ˆð×É˜4M@¤ )"hîÌÿÃÉM‡ðDñKÓ-Ì¨×9'´‘+•Zë±f1Dø€}ŒÐn(qÇO_ H ±ƒGø³Q[È%Ðƒ†ìC:¤¢Ë³„(¢ðp—¼áA#Í0´£]PpAËj Ò
r(#Cxàa€\ÈÌxŒ ? 8¢Ã
+Ì…Ä%R$SÌ÷L!D¼DáÈF´ðÂ‡(øÂÈ(#.ëˆóË.,ƒI6’Ð`€vÀa"\ñ¥#(ð!Ä51ÄpÍ	!8³#.«@M8á\qË×¨H&è¤ÁÃ¨< ‚Œ/ÜQÈOè ˆ4ÓxÿÁ‡'ŒÆ Á5ä
©3ôp °D	(„$J	ž4‚…-ò ‚£~AC”è¡
bžÐh£‘ë·Faaï	‹%$ A!Ø¡Aòt“sN¼‚”øƒ'4z‚'SxÑI'|+¤ïŒC2rAD2±¼‹*° ID“J
ðhÓAºXrHÝŽÃÂª D?ZØ
..;W€+Wì°C³øÓ±ÔÄ·PŽKŒ A È”‘‰‡`pË(ÅèUp:ÀP0¸a\²ã‰x ƒ*  6
ï@²B2Žœ’‚	óì1†9}´@ÉGfØ\UÛªm„ÿ±ÃŽÈðƒ¨°Í/TD–¡
5†­-Œ Öa‰Ø(ô+.'_±K¯m˜RN*‘L:Ä(+èðÆšHžXr€u°Ó…Ä0r€4ÉôKgø±‘tñtÁø\@ ñ»
ÄP±G6î`‰#Ö!†¥ô³Ã*U¼ÀK"ôü³ÑÀ@@!t–w¯pÉ%@Dá˜`Ed°;º\¢n±ØÄÐ#“Ð	H*0`< tÀ °8Î A
38…7ºp&$ãaOˆÎ€Aø¡‹hE
2Á|Xài/P@$Cu@üa2ÿv±
Wp@Ž€€4f€6¢hh…NRC`Á±Ç¼ ‡mÜâ3˜áp†” TÐG3ÌÐŒFd² +8”	VÀ†ùqˆ-,Š>€ ùÈ‡-…<h t¤âF*ÀÈ| A€ÀÑ‡PaŒD+à uX ‹uÜyÇ@@’½¨D.Hkã’Ehƒ0Y,|Â7èC@RaL °!Xa‰L€ Š
,àÇ å, ‡€„ß €± N‚#yX€6 XÁyh¦3 ‰	d€‘E0(‚’G$ÁØPÇúÐÿ†6ô0Bò0JFV y…ÙLVL‘ž³©6ð€Š> 0ÁÔiÐL@Ÿ€BŠ@˜çAxòâm€én Tü’”@*ºà hàhV”Cza‹P†d `ÅHPÑ.äCØ€„N¢$ð#	$ÑS2°#Ž¥E ðk˜ÕF˜€L0ÍÂH@@€"Ø´}øDEû`„Oä Fp JKØ@#÷±‚b­ †6ø@eèÂ»X(ôA
XB5˜ú‡HâµhA-ª±ÒšÖ´F8	âpƒÖºV`øO]K[×’ º AjÁÛLd"¦¡( 	
@Üá—¸b ; 0707010001026f000081a40000000000000002000000013d1fe2dc0000071d000000200000000000000000000000000000001e00000003reloc/postfix/images/rate.gif GIF89a0 0 ÷  ÿÿÿ“““ýýýûûû³³³ÐÐÐ•••ýýþ‰…¼¼¼9)zÆÄÐÉÆÛ«¨¹zœïíôìêòrf¢rl‰zt”^P“<-ûúü;3[M?‰Œƒ³¾¹Ósmzt˜ÏÍ×ÔÒÛ:*}eY™=5`i^˜e]‰íìóVIŠÆÁÙ4&q°­¾ EÙÖæ•¿2%m‚|¡ÍÉÞYLŒF7…D7zéèñRF…ÖÓä©¢ÆùøûaU–6+hüüý:*|‹ƒ«àÞëÕÑãº´Òõôø#JÝÛè³­Í¡™Áæäî*Z¢›¼E=dA2‚7(vÁ½Ö}r©j^maŸYK‘&SZSzš’½, ]"FÂ¿ÌÑÎàâàì;+~f[’6*eèæð–¹¦ŸÅ2%fb\|äáíD:nym¦ýüýÝÚåÝÜã‹£]Q=3h’¤™®–––uj¤´®Î{q¨KBp, `ˆ±NFqRDUK}æåêöõø¹³Ñ‚x¬wl¥èçìóò÷÷÷øPB‹ññõaVŒôó÷ÚØçððó¥žÃB9iúúûQJnÓÐá0#h`S–PF}ïîõTFŽ“‰·-!bàßåóòõMB{J;‡«¥Èôóø²«Ì÷öú2$k€v«¯©Ê·´Ã6-a¥¡´:,u¼¹Ç/"eñðöØÖÞriš8,l¶°Ï.!cùùù?0¼¶ÓÎÎÎ1&`Ã¿ÐÀ»Ö€{•*!MòñõšššUI„/&Q§ Å4'k'Kø÷úbXkbRF‚~tª¯«ÀsiŸ6'tûúûti£/"cÄÀØ…|ªüûüßÞçla˜OA‹QD‡$M«¦Â¿½Ê0#gËÇÜ¡ž±ZQ²²²ÙÙÙ{r ‘‘‘þþþº¶ÍLDoÉÆÖÚÙà×Õâ™»”””cV˜¥ ºÏÌßqh— ˜À£œÂõôöC4ƒG9ƒâàèpd¡6.W~y•?0…{®ÓÓÓtjžQCŒh^’–‘¨ž˜µ3(e2(aSKuéèíohþþÿic…ga‚›—¬LCtKAu8.fµµµ±¬Èþýþ±«Ëˆ®!ù     ,    0 0  ÿ H° Áƒ*\È°!ÁRô…ƒUvìPåã”’e4ˆüq˜NMCE.V€P0Kß |ÔšÅÃçæŒ(Në–âVI¡€ N”—{TÈ<êuà  i9„íÉÓ…9HrJø3¨ÂQºÑ‰(PŒEÝ¸]¸"‚²‘¤ÖkB<¼”ÝQñ£¡˜O=2$	Qw!…÷Î$YÃE	ZHx A‹•¢,ê2O×‘Â
µ± ®Ó„8Y,%A‚AŸH:xuä… còNHÌÁò<,È„¢8Šdí!ÈÖn„m|Ã„ÂóƒlMXÅÌuƒ’"]ÿ AFÃZ4œÊºõ½ > „ÕLQÂAà, FšöQä¡ƒÍ4=hñƒ6è!ƒ
’ ñ»Äñ€¿©£Ã
 Á‡/Ø¬P>ŒRCoüCÞ%ðxàÓZÕJ\ `
€€Ç%w0ÁB
£A <T,Ô•Cu°S? ˜ Š%
TD)H À'Œ¼S¤‘06ˆ-°À4ï°À•^ò6¿tÒÐ‘‘à‡§ €Œ'R¤@MµDá	
ÁÑ~TÀ ÿ<QŽ# Èr v%ó€"š”€
lB– dA N pPMÜ¨rB; lÿ3ŒNcÁ§’:DBq€ƒ[ ðsE¸Úå–ú€bÐ¦D«MâM”4á©±Ñ~3Ë–Õ²¼™kB•Ô@J&¹b˜0íA6`òhC˜„\r{Ð>°ÀLDtÌpN/úkP }4F8%‚¡@ŠDPB9˜ BœàÎÅ ¬Â‰5ôª D& ´Ë$cÓŒA|Á€Œ€ 6<$Ä$‡ÁA±ŒÞø"G$‹0† =dˆsÍKP¤@.œòÍN qÅ¦`€9xa V”@29¤BÃ*²äâD8| ÷ úQ"  Ò²nW}nAxì €4ƒë ÷:@ž/'‚8A2Áˆ¡N*Ç¤ðDoHÑÈêoñDé)¤ãCòrÈÀ8›HPH9­Ð2ÅðSÐË^ ° ! ÔÉpB7ÌTt }dâ”@$øs$ 
'€°‚€¡!ý4•ƒ|Ù¤‚@)åH€> 3€@"`‚lñ\@bö(ƒ²^d ` Ì 7ÈÁzƒ¥@E6 ðŒ}à„(L¡
WÈÂ®ÐjˆF@ÃÚð†8Ì¡w€W ;   07070100010270000081a40000000000000002000000013d1fe2dc000006f9000000200000000000000000000000000000002300000003reloc/postfix/images/relocated.gif    GIF89a0 0 ÷  ÿÿÿýýý“““ÐÐÐ•••ff™³³³ûûûèëõÜàïgg™ôôô¹ÁÞ}‚•áåñ¸¸¼òòòkr‰”–œÉ  ¬¬Èaa‘NNtê  hhš¼¼Ó‘“¦99Uóó÷zz¦ÅÌä==Zÿ22©©Æee˜yˆÀ‘µªÌÒçðòøéžžTT~ÁÁÖ¿Æá¤¤±ê%, ªÒÔÔÚœ¥“¡¡®ÿnnž·IT\\ŠYY…qq DDfÙ  «´×¼  dd”€ŽÃ[\z^^Œõ  ee–ÿÅÅÍÒ  µµ¿ÌÌÜbb“iišu„¾þJK” ÍéÏÏ¼ÄàllÐÐà÷÷úÿ’’ppŸÿrr²ºÛùúühh™úûýss¡ÝàïµµÍjjœïñ÷‰‰°÷÷ùñåëÿ––}}¨þþþQQyåèóÍÍÏ™¤ÏøøúHHlŒŒ²……‹‹¡²²Ìøùüžž¾[[ˆff—«–––½½ÆEEh§Ñ}~„EE_±±Ëÿ›kk›âåñäçò††¯{‰Á´´Êvv¤ýýþÿïïÿááho†@@[“ŸÌƒƒ­UU€¢¢ÁaaÚÞíöÙÝuu£ÿµµ¶õöúlr‰——¹êêñììñÊÊÑ••œµ®Í‚‡›ee’ÝÒàGG`ÿ[[uvmmžÿòòôõú‡‡˜ôôø¨²Ö««Æª¯Á›—Á¯¸ÚÿzzŸŸ³ff•»£ÀÙÙÙjm‘²²²”””µ¡·’”ŸäËÍèèïuužééé}‚”””·¶¾ÜÛÛâAA\Ò×ê°PPÿQQÿû  hh›šššÿooÞâï¹``Û–šùùúßãðüüýx|€ž¥«ÁÿCCÆ``ˆˆŸop•ü>@âåòÿßß¹¹¹õõõ°°È––¨¼@@©@@‘‘‘««º·>G‘[[oêÅÎllšèëôÿþÿ¾Åàííï¿¿¿Œ  ááë¸ÀÞ}ƒ–ºÂÞŽŽ´Ûjy«—²¯d€¼ÄßÓÓÓìîöÚ*-ãæòèêôccyêíõ¥¥®ÿ¤¤ÿ%%ÓØêýÖØÿÓÓÿ¼¼!ù     ,    0 0  ÿ H° Áƒ*\È°!Akñù1– ¢Å‹3jÜØÈ„ òæôåg‚“(Sª\É²¥=_ 0ÐÉ8‡8bÚ$“¦@ur
%¸àAƒžªP™“+âñXôèÌ¤K™"t¢ %¦¨E*P©Ö„+ ùð1b‡X«>˜={0íÚ¶oÉÊÍJ— ]¶nTÕ;·/A'#Ô‚Í{µ,_Ã L :s;ÆqC€eÒ$7Ÿ1cuøOŸ¨ƒ…ôPQ8¸ñ^…cNÈVl	Ù¸é¦õX×šŽªÌÞ…!-R1Yî*Ì…M|ÃpP—ë]™1LGÎ¡/ÿl9h:/A!ˆBÇ¾UþÂGÿ»< ([Ðä°9+ ZB$K|DµXáÆÒ”
èÒÅ@@ÑA7V¨b‡ºB04Ã¡e4\Py,ÒA;èUØ†",R4†CEEè@O'4Fa¢} ‡ Ø‚Ÿi”@P5R<÷ËÁ€@CäF‚<¢´ƒDJ
T| @£ÃÓLù£•^àÀGt@9° P?Rè É;Uôé‘´ ‰*} T¥c PÐ¦
$tÊ Ð3zÎÕ¥5ðÀƒ7åØch}Vþ1£¤F*ât:Û¬‰hàÿP £ D’
„†%ZúÚ)‰à@k"Üš+ Q±ÞP¾š•‡SÔ*-#Iô…
o¨À,¨ešÃ!Â´idcm‹àP×<°Ž^»P /œ Ñƒ³*€D
Ù@à¯9TÒøkðÁû‹‹$¹èå*ÄH J
p´Bk±ÒÐùAB8p±‡$—lòÉ´ÜÁŒ^ÎBIü@†"Œ‹b¼±*ä‘Oàð,0môÑ”“k}±ÇÌqÌÊÅ#‰èR‰S`D(Bo‘“^}±†6pR«¤ý¨W8JCO´Ø%36=Œ+m¾h·Öý6§8DwÝÑX€÷Þg“Ú¨6XÀJCƒt@á?ô@lÍz_Á(Š|ð3Ð2lXpBGÔÒr¾Á!t.úèl¤AŒˆCÃ£¸þAì²ÇÅÐ2òA)TPÀûnÐðÁõ)÷üpƒÍ?/Tä]r‹)l€CqÏP)íT >&LÉ$  ÿüô×/¿-rÔá	&ö÷ß2f ^!	ð€L ó‘‚^dBŒ`,æÀsà‚Ì 3øpÜaƒ !‰ ;   07070100010271000081a40000000000000002000000013d1fe2dc000005e3000000200000000000000000000000000000002200000003reloc/postfix/images/resource.gif GIF89a0 0 ÷  ÿÿÿ“““³³³•••ûûûýýýÐÐÐEEEÄÄÄnnn@@@õõöêêêžžžFFFUUUááá¸¸¸®®®zzzãåêzœ===íïôÁæææªªª¶¹Äøøø–:'qqq‹ŠŠÍÍÍÂÂÂ–––¨’¡¡¡š™™…’Å]]]µµµ£®Úííí---ÞÞÞ~~~Xa†RRR9)&ØØØHHH{>1ÄÌê­¡ŸOOO¦¦¦666‚‚‚JJJ   ÑÑÑýìèGGG¿¿¿€ŽÃ½½½ö•ÁK1111ÿÊ¾ÀÀÀ’‘‘ÉÊÑ”””ÕÕÕ¤®Ö~‚uuuüüücccÇÇÇñêê†††


…ô¼±999iffýüûú¤‘âÐÍÆÊÛýÐÅ•¢Óœ©Ú÷«›ŒšÍDDDìâàñññ‘ŽÆÈÒ–˜›ÚƒpÊÊÊs±’š¸ÇM3ÊÓóGOlR[{q7*|9)žwo§rf57>¿ÁÆßãïõ™ˆeee’“›Í½»cn—{†°ñËÂø°¡ù¶¦ÐØñÔÅÂ²³´ÀÁÈÿùøÍ»¸”žÅLLLÇÈÌ•M>•G7»wgÙÝë®·Û§±×š—–ÃL1?Fa_k“š› êÝÚç×ÔVD@²ºÙ5;P~‡ªÕÏÎÀÊîÂÊéÈÐïNQ_xMDœ ®3#ÿÜÓÍµ°ot„üóñþ«™XXX›¨ÖÜÝáegpëØÔ***ößÚÑÇÅ```ÄÆÍÕÇÇel„rsv×Üð06InG?ÜU8ÏÐ×—j`ê—…"$*ýüý:@YÓÐÐÎÓãt¯¹¼ÆÛÛÛøÇ½KMSºH0ÕR6ñò÷``cx†·Ï¿¼ÓÓÓŒ“°(*0Š‹’¯²½GGHë® õuZ%%%z‡º…5#h(Z#ï žÔ³µ½àäñôèæYWV`FSüýý#49OÚÄ¿Ã›’D,&Ë³®289<®š–´Ž†º”ŸÅÂÅàW:ð„lãÁ¹ ¤µ:87¿¹¸–›«°°±²²²úúú!ù     ,    0 0  ÿ H° Áƒ*\È°!A"#JPmÄÄ‹
€±£A=Š r¤È’&;¢Lyq%K‰._:Œ)“!Íš7âŒxsçÁž>:p(Q’:g® 'Ž%J˜ÈBHƒ ,°™T!‡D44X²ÄÆ»@º} ·,›› .pYB$CÂ¡"èðÂ&Q	y„¸¸òcäMz£Qê3¥W.lP€±Uh×‚4àòBÍœ­$yb@{æá›$¼ÐiŠcFŽetú\ˆåBÁ«~•ÒäÆ9QXTºgÏC`íØqÂRo¹ü*¨ë ƒ¥c@ÚTœ¢—0ÿpÑmZ6ˆK¥g•>*A)š P¾]š¼™rV©Üš)H<QR!	ÄÌ#(pÐ
ÛxÏ0bÔ‚]-Ð+=ÔQF5\ L-,°R
è ÀÍˆ3M€ÐQ:ýXƒ,–DáH<ðOR+Ì0 j$qÆ‘t‚Œ#¡òÂ:{„R
ELTi àÃ%$x€Ç-"q	4!Ë¿‚)NhG2h! øÌãLhpQ+ø€ƒ_ìpÃ P,¢'‘Œ4  0Rˆ˜Ü±…6e°Â(!„†ä0A+ô	¡Ó8Â‡õ"Á‰apsÄ$eÀ A :$ð@0€P4fŒƒÁ<ÀH%8áœb‚Jˆ€À³Ð>{E#°ÐCHU	AÎ"p…"vdÊ1³tÁÑ´ËÃ»< ï¼ôÎë@;äxÃÔ[/Ú\SL<@8PàQ?…‡0AFÕpPûñNãTqMË”ñK³ÔqJYD$—lòÉ(§¬2Êÿ„ð 2¤ ÀÌ4×lóÍ8ç|³?nHD @-ôÐDmôÑl ; 07070100010272000081a40000000000000002000000013d1fe2dc000006ad000000200000000000000000000000000000001e00000003reloc/postfix/images/smtp.gif GIF89a0 0 ÷  ÿÿÿ:*}ýýýÐÐÐ•••3"y`S–rg£üýùxšÿÿý9){)X6%{Š„ 'J“““™™ÌŸŸÏ°°×v£³³³;&TTq„z®³­Í¡¡ÐÅÅâ­­ÖH:…’š*!L8(w- c¥¡³­ÔÔÜª¥¶¹³Ñ——É²¯¼¾¹Ô]]}¿””ÅD6ââê}}§††³óóù<-ffˆ¿½Ãùùü»»Ý¶¶Û†¶1(Sqq‹³ÁÁàššÍÎ- dªªÕ””¦ÎÎæ, `4$vG8‚3%m6't1!u-%P@9`ÿÿü=5]>0yÿÿþ„´mm“~u©, ^, aëëõÒÒézs—KDižžÏ7/X5$|[UvD<cYRvÜÜîŠ¥º·Á¯¬ºŠŠ¸SLo:)|€y›6&vÁ¼Öúúú8)y‡–––˜®@1}¼wwš§§Ó…^Wxþÿû'S#KÈÈã. dóóí)Y9)z±®»#L·µ¿C3~7(wˆˆ¶WIççódd†ÛÛí¥¢´³³ÙÔÔÛÄÂÉVJ…A1‚:*|,Hb6&x¢šÂŒ‡¡.!fG@fnbŸ%I¤ Áƒ}œ‚|›‚zœ˜—ŸRFƒSFŽ¿¿¿."d;+~A3}9*|rr—²²²ššštl“XXupo•rj’±±±8-Y``.Cl-!a«ª­£¢§^P”__zzx•WWtÞÞèC<b@2y’‘‘‘™— ÙÙÙ8'whdvŸž¤!m±Mµµµ()i'N EØÖàrmŠÈÇÉÖÒã¹¹¹A3~ul”ññ÷××ß'K¨âÉÉä3;wš&IÖÖëÎÎÎêêíš•«6.Wœ”¾ØØá Ÿ¨Š¤øøôOIw8'|ààï>M6&|9*w:){wv$Mýþú/'U3#zhe‰:.j9 n7+kuj¤dW™¶°Ïááç”””OHl§iiŒ·±ÐÓÓÓççïŒŒº‹… L?‚aWŽDBüüþ0f0'RVMz$H!ù     ,    0 0  ÿ H°`Á$ÀPAÂ Ã‡#
D¨¡ÄˆÆ.>¤¸°¡FƒôÖh´ï`ÂŽ©º(` Ý„Ô ÈÑâÀ6Ü±t©±ŠC3'žT¡ì&!×v¾¼h‡‡AíœLU@/ RªqÃ8X bH y²¬zâ#•Çˆ-—J´Dƒ,6öº!aÅAÉÖrAj«Ä¸'°8ÑC*ÑøžˆP¥J3n]0—çÅzñ^¬è‡Ã >OøêfÆ… LVŒG»vrë¦JtXRGèÜžkX&æ¥XžâóŽp ÀDk;0`ˆ¢½{”R¢'Gÿá„×çv¨ß£½{O¡›îÀŽ(šujãéX›ÿmøá‘gžkÛÑÂ‚Et€O>ØåÐ'×:ìtÒ‚a€Æ(„b!½­0Ùˆb	"´è¢…ˆ€L$aá@ðÍ(xDäÂ¢±pÞkÑÐÄ6R—c—Ì!ÑoŒ l!BËýÜ(Ð’	 p‘:ÄBäG`,òCZÀ¥—¹ó
•õÎ™i®ùÑ4$'JÐ@—y
 à„€fŸ²)¨F{ZM~º¨F%€pG&:)¥–bŠ¨¤›FTižÖgg¨¢‚@j¦ ¢êf¬ÿú©¢®kJ°Jk­ÝÊD¦ÏìÊ«@ÔÄúkŸÄáä°9‘SäŠè=
0ÛìÐr‘©ÕZ+ØN¡-¢Üzûm¸ãšêg¹æ.«H«nìz»DHÉ¶ÝÚkI¾W@úÚ˜À• )7™ƒ 9D,ñÄ+`ñÅg\-¦(Ü§"Ü$bE	”lòÉ	”áÀÊ,·ì²ÀÒB#CÜ§hQÀÎ<÷ìóÏ@ól7i¤8 ôÒL7íôÓK“iH1Fš’¸’4Ô\w€„óM ¹Xf 2¡öà¤±€×^b*Œ8Ã/é0p5uùäŠÁGuð'G¼·Ó‹üa?Þèó½ Œô‰40Ãl¡ùrøC„„.úè¤®‡täð*ô“Ã2³„Ò¼ .¾T ûî`£Îy0 üðÄOü8I`â+·ìÒÊ§èÊ¶lÁõØ__KI@óÀ÷à‡/¾ø“| Köè_/J@ ;   07070100010273000081a40000000000000002000000013d1fe2dc00000724000000200000000000000000000000000000001f00000003reloc/postfix/images/smtpd.gif    GIF89a0 0 ÷  ÿÿÿüüý“““ýýýûûû³³³ÐÐÐ•••³––¦››©üüþ‚Æ÷÷úff™^^ééñ~ŒÃøøû¼¼¼€Ä……®cc–––¹ÙÙÛèèïççí› ´ƒƒ–ÜÜèdd™MMiNNm²²Ì®·Úggš``‘¼¼Ê¿ffšee˜dd–¾UUÑÑàvv¥ooWWƒ’’·¥¥ÃQQ{DDcÞÞéÃÃØiiœ½½Æ®®¹—œ¬‘‘¡hh}õõ÷QQuÂÂÊŽ°¥¥³ØØågg›[[‰ÁÁÖhhšyy¤ee™ŠŠ±uw”óóõóóôáäñvv£MMru‚®ûûýììò||©§¬¼½½Ñòòôzz¨]]}kx¦ÂÂÖmmÍÍÞFFjOOv‘›Ärr£cc˜ƒƒ¬òòöððõ––·ÈÉÑŽ›ÊÌÒèZZ†rs‰ÕÕã~~©ff›–––…”ÈÝÝáš¦Ðïïôùùûþþþ©©Æ´mmž\\ˆdd˜ll˜šš¨¾¾Ô¤®Ô¶¹Å^i˜˜»MMnVVMMl{{þþÿKKqll‘‘¶bb”Ñ×é‡‡°ùùùrr¡ïñøááåooŸ™£Ë®±¾×Üìaa–””¤o{ªúúúeq›ÛÛå  ¿” Ì— ÃÐÑØZZVVrüüüTTw~ƒ—««½éêíÙÙæééíÍÏÖßßäÉÉÕªjtš°°½ÚÚß;;\ÚÚæNNn··À××å{{hoˆ¨¬¹``“gn‡pp¢qq ªòôù`k“ÀÀÕÊÊÜÂÂÒ¹¹Ñ  ÀKKm^^€µÇÇÚPPqåèóÅÈÑ{ˆ»Š©››¨ÚÜá€€«´¼Û²““±¼Ãß[[Œííïññö––¥ššš•”¦——¦”””LLk©­­Èûüþ‘‘‘PPk’’´p}«’—©ttœzzž˜˜§YYvÎÎÎ[f‹‰”Âggœ\dœœ¬›œ¬V_€ov‘jrŽu‚³™™¼‚‚§©°Îµµµss¤eešÈÎç²²²rr…ëëíääèääíßßêÓÓÓdd!ù     ,    0 0  ÿ H° Áƒ*$('J?[X`pL†‹3j2 á„„2ì‰FJ)Ìêl£8J¼a‡`Èœ	£ŽKýµA8Ç•ŠG`¢ÉÌ	Fk4°ÍÎ$0`,H•
¦Ö98€ŸŠÐxË…CÖ‹#Šh@…–#Cœ€˜;÷• +8jåj/)lFã4ðŠ´JI›B>”,™¼D‰÷”#Í;ªaä@ˆŒ2  4>ÑãÍB‚šÊ¢Gù)B!Ä	j9‡lŒ(ÆêõÀØÆ©à!E6} ä !³„8q(Dn|Z;lÿØ`Øÿ2ôûLEŒ=,³nM@1)Ì( Š¢"(<rÁGœ`Ca‘Ù|ÆYÂ‚"ÍqÄ@QTp‚pˆw €‚âÄ!_ÉÁáùW	3À¢Ä)ãp‚$ˆ2âkl¡Z]ä“—@˜\ 3à0PM80B
IÌ¡ƒ	‰AL Ð…!UEK8ÂÊ'Ñ¡…“Â`•‰A~)2H—ôeQÃÑy›ñ‹ÀÐ'P/-àH9jîI"A„@B=`<ÐŠ	ÑA,¤Ô AY4aÏiìhP1àF
 Ü°Ô °ÿ@  ¨QÁ©äAÅ@bÐaƒ]L8å£Ñ°àa/j°ÐÖ Š/ èòÈSHÁBQÔ Å	wx#©õF6¤s‹V´PÏð¶p‡’ ôH
6ØÀL<Ô“N43¸J.A˜äñÂÁ/¬ ðÂ+¼-­âÉ$ RU4]x#ðÀi°Nm¶…,²mtÊ5†x‚7;(³H|Ê—u´]Ì2ç¼&±:÷ w>÷tÐ9M´^7ó|ô@$’Úq¼ô@ða"œõÎ Íêõ×`‡íµ|P:WgÍD#?ã,Ðd8óƒ3Ôm÷Ýxßý$˜ÿ˜ð„*´­´@%è ;äèÀãG.ùã”X‰0€Ì%í„R†OÀ³‹:á,ÃµBÜ0‘ˆÎÜxqŽ-´Œ"õ@ºsSèÌC2}4:lVº0fT±èŽE#’4£‰Ù`Ñ‡ØØ‡-­’(É<› C=`‘y§Ÿ÷7ã ‚rQ“Ì;çT‚Læð¼cÍäüóOÍ)ï‹YL‘wøXˆóš‡9p"³PàC7Áä­‚ÚÉÏÀÁzðƒ ¡A¸s`  GVÈÂºð…0ŒáñÑ†nL@ 8Ì¡wÈÃúð‡¨F@  ;07070100010274000081a40000000000000002000000013d1fe2dc0000050b000000200000000000000000000000000000002300000003reloc/postfix/images/transport.gif    GIF89a0 0 ÷  ÿÿÿ“““ýýýÐÐÐûûû³³³•••ª‹PûéÆð©!õòë”m#ýñÚÓÒÛ?7_$MôÁ`ãáìª¤Çîíð„z®ãáí…{®¤žÇ€v«—»–––ÒÑÚôÂaäáíã• ÕÓÜµvàÝê«ŒR×ÕÝzn§rlŠ[N“ûèÃø÷ú<7h<5`ýñÛ±”^?7a>,_”””Ë˜8Ò«aöÒŒSF‹Ì·ì› îžš’¼äâî–¾3%n?8_³­Íï¢úâµÒÎáðïóðïòöóíëêòÆÄÐŠ€²1)TÓÓÓK4i‘‘‘Á¬‹â” óòóúêÊãÎ¦ìÆ€(OöîßÕ³s¡>Ï£NûçÀ,%XìÛ»²²²WLƒî¡,!wÙÙÙðª$•m"ÊŒþüú¸˜bÅ ô¿[ííðýôãæ– üíÐêèñ¯tëÐ¡ÐÍàùùù:*|üïÖšššôÀ]îîñœ—­Ú×æ¿} ë™ O8pC9e¿¿¿øãºÙØáð¥ð©"ììð‰´¨¡Å°ªËª£Çíìð•p,©ŠOíìñîŸ®r ÿìÇÜ ïŸ	õóòúâ¶ïîñæäïçåï(W÷óíÊ‰¨¢Æ¾¹Õñ¯/ªoÎÎÎüüýµµµ‰€±!FI?pôôøRGaÉ‹ZIˆî¤Û ñ°4§ ÅA2‚øÕ’­§ÈWPsƒW-òæÑôÁa%N———†{®¹¹¹öÙ¢J=ùôê“l!œ•ÁÉ’)õñêüúõð¨=6_¡~=                                                                                                                                                                                                               !ù     ,    0 0  ÿ H° Áƒ*\È°!ÁW#JpDÃÄ‹
0€±£A=Š r¤È’&;¢Lyq%K‰._:Œ)“!Íš7âŒx³cJ§IJ´¨„Išfô¼èèO)H¬HJUê&#K%bâÑÕ†ÂŠvÃˆ¬ç`€B¦Î‘(Hé(1mÃ5$¬è©ûÖc'@±ä´Ô‰æQ…ˆ#TèÐá0â
Žãòƒ(5ˆÜ0ØÌ¹óæÎT)™!ƒ
¨)¹qáB?®(œNmƒ‰-©êŒÃ‚ïßÀ!p€ÓåSÉ,-(W¾ãŽ;H8¥Èµ¼º
Oƒ¼,ØÎ½»÷³¦”è"h‚yóq‚(±"Ì¢F…Èœ7ß‡I$øóëßß–´Rˆ‘È8¡F¢("CMvÝB…†À"“] ÈƒZäñ… DQK¡4Á‡ ¨ò…•”‘‰ \!I«0r4Öhã8ú`
‹ 8‘KìÁGDiä‘FââÁ!<@ƒ." å”TViå„°Ðä†}í´Ð–#véeB`®(æ˜•i’š#±yÒ™hä¦GYDxæ©çž|öé'Ÿl\ò \dRÀ¡ˆ&ªè¢Œ6º(­$G ”Vjé¥˜fªé¦¼ ; 07070100010275000081a40000000000000002000000013d1fe2dc00000660000000200000000000000000000000000000002100000003reloc/postfix/images/virtual.gif  GIF89a0 0 ÷  ÿÿÿ“““ûûû³³³ýýýÐÐÐ•••RZu­¶Øéëõ:*} E#J3"xwl¤j^»¹Äüüý›“½ÉÄÛùúüB3‚ª£ÇüüþLDi-gb[|éçðµ¯Î±ªË÷÷øÔÐãéìõ.u±®¾ÜÙè<-%R#G9)z6't*Z1 wñóùym¦mu”7(wµ³Ã|q¨od fZš0vnbŸŠ€²¥¡µ:*|/"erg¢=-¼¶Ó–’§¢šÂ^Q•.!bÍÉÞ÷öú¨Ñèæð7.W2$mðïõA2‚?/€5&r, `9){~tªE6„§ ÅàÝê––– ˜ÀF7…õöú;+~þþþ–Žº§±Õ÷øù*"N7'{7&{¿¹Ô9)|äâîC4ƒ8(|/vbV—D5„®ª»®§Éìîöâßìƒy­WI‘¡¬ÓPB‹SZugp’5$x‡¶íëóïñøºÂÞÇÅÐ¹³Ñõô÷öõù7%y³­ÍññóÄÙÖæûúûøøúL=ˆâàì6&{9)}ZL’ºµÒ8'zÖÕÝ?1ø÷ú2$kÞâðïíôÇÂÚŸªÒ…{®(Wòñ÷@1ÛØç9(|ÚÙàÜÚâ8(xpgœ9*y×Ôå¿¿¿¹¹¹F?eŒƒ³š–«z‡¸6&z6)pF8…I:†}‹¾s¦ËÈÓÑÍàÇÃÖ=4k…|¯<,~òñôñòôñðöññôßÜê.vÎÎÎ“Š¸?6dzƒ¥3#už©ÑSFŽ'TîíðÅÃÏ1#l¶°ÏùùúbU˜°©Ê:)}mg…^b‡ýüý‡ŒŸ<4\wqŒÂ½Öq~­Ž–´iqŽîîôŸ›±H?pUNs„´ãæòtl™æäï&SNL‡ÙÙÙO@‹’‰·¾ºÎ“ŸÌÓÓÓ‘‘‘¾Åáµµµo{¦Š‰0#hãâèpkˆ{p¨0#gÍÓèÇÌä”””õôù5$z;+}èêô˜£ÎbZ‚®·ÙNHQJnNB‚èçî¡ž±;*}6%{ku˜/tqz’¸êèñššš9*|ž—¿Œ„«²²²!ù     ,    0 0  ÿ H° Áƒ*\È°!AM#J ÊÄ‹
	0€±£A=Š r¤È’&;¢Lyq%K‰._:Œ)“!Íš	‡üòg&##²äB›è–mvæ‰4WÕÀá5FlµgÑ <:Ð9$ÒŸF(ØQ´áÉ‡E;ð”±à$Š'\†Üq
å‡kVÙ°ˆC¿gÐ4ªñÆŠ„(=œp Ã¡C'81ÉAãã˜¤ôj‚ƒ>+õxrÆÔŽ(9nIùRáH(k‚|=ˆá€	9dø°6FÝ–@
¨ 9bˆÄ‘Jæ‘Ü8%)4ÆÅHsDÕ–0é¾ˆÿB¢B…:ŽAB‚Jƒ`¤HQ ¢)L˜(Æ#ÂôÁŒ3Í€r‚Z4aÅ^À1ÂÒ…RH˜2„>tàC=E,ÀÃ$¹DòÄs°XpaT¨À'Ml`Ð!k(±ÀÝ€cèÐÀ1¼øá?wH¢ ¼ñ
Ty!Á%ŽdNÔ$‹$ÐÓ 0i°À~4PKµ¼c!7t1$¾À ƒ_Ü³ðÁ%€™‚‚jÑ@!Ìà†?”€Š7Ôd€Â€¨€¨
n1Í/|Ô¥AÃDƒ".,Aá. ‚ËD¼@Š0³¤ÿ@ª©
ÜPI%,ÌA>K;%¤ð8(ÁÀh@É2žàó<8¢9àüà²âôÂë§ÕÁÃ&È"›…"øG6ÊTQG'˜îÌãß¶€"”‡."A!­ DäA)"Ø@†.«dÄíEþ¶€F½6ôÈ¿·´ðD+Ø0ÄK4…m°Âq½}òÈ"Mq…=® ìÑÜä3ïD1‡ $ óÎ<' ‚f˜ÃN9Ðôlô:‰$BPLÈ!‡;D-õÔR3¢2£0BõÖWè‘ÌÒOAËd—möÙ°ÁÚl“MØ$ã”PÄrÃ]wCtßýŸÞå=}·ßu.·F‘$Àáˆ'®øâŒ7¾x/±œ@5Ý`ùå˜g®ùæœkþÛdÀè¤—núé¨§®z û ;0707010005f299000081e40000000000000002000000013d1fe2dd00000c44000000200000000000000000000000000000001800000003reloc/postfix/index.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A word about this module.
#
# Postfix provides a command to control its parameters: `postconf'.
# That's the reason why I don't parse and set the values manually.
# It's much better because it can resist to changes of the Postfix
# config files.
#
# However, to `set back to default' an already changed parameter,
# there is no way to do it in the case of dynamic parameters.
# [example: I mean that for `static' parameters, which defaults to
# `0', I can set the parameter to `0' ; but for `dynamic'
# parameters such as domainname [which comes from a system call]
# I have no way]
# So for this special case, I parse the config file, and delete
# manually the correct line.
#
# gc.
#


require './postfix-lib.pl';

&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("postfix", "man", "doc", "google"));
print "<hr>\n";

# Verify the postfix control command
if (!-x $config{'postfix_control_command'}) {
	print "<p>",&text('index_epath', "<tt>$config{'postfix_control_command'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Verify the postfix config command
if (!-x $config{'postfix_config_command'}) {
	print "<p>",&text('index_econfig', "<tt>$config{'postfix_config_command'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Verify that current configuration is valid
if (check_postfix()) {
	print "<p>",&text('check_error'),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@onames =  ( "general", "address_rewriting", "aliases", "canonical", "virtual", "transport", "relocated",
	     "local_delivery", "resource",
	     "smtpd", "smtp",
	     "rate", "debug", "ldap" );

foreach $oitem (@onames)
{
	if ($access{$oitem}) {
		push (@olinks, $oitem . ".cgi");
		push (@otitles, $text{$oitem . "_title"});
		push (@oicons, "images/" . $oitem . ".gif");
	}
}

&icons_table(\@olinks, \@otitles, \@oicons);


if ($access{'startstop'})
{
    print "<hr>\n";

    if (&is_postfix_running())
    {
	print "<table cellpadding=5 width=100%><tr><td>\n";
	print "<form action=stop.cgi>\n";
	print "<input type=submit value=\"$text{'index_stop'}\">\n";
	print "</td> <td>$text{'index_stopmsg'}\n";
    }
    else
    {
	print "<table cellpadding=5 width=100%><tr><td>\n";
	print "<form action=start.cgi>\n";
	print "<input type=submit value=\"$text{'index_start'}\">\n";
	print "</td> <td>$text{'index_startmsg'}\n";
    }
    print "</td></tr></table></form>\n";
}

print "<hr>\n";

&footer("/", $text{'index'});



0707010002fc68000041ed0000000000000001000000023d1ffaf900000000000000200000000000000000000000000000001300000003reloc/postfix/lang    0707010002fc69000081a40000000000000002000000013d1fe2dd000042c6000000200000000000000000000000000000001600000003reloc/postfix/lang/ca index_title=Configuració de Postfix
index_epath=L'ordre de control de Postfix $1 no està instal·lada al sistema. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta, o bé que el Postfix no estigui instal·lat.

internal_error=Error Intern
index_econfig=L'ordre de configuració de Postfix $1 no existeix. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_stop=Atura Postfix
index_start=Inicia Postfix
index_stopmsg=Fes clic sobre aquest botó per aturar el servidor de correu Postfix en execució. Això impedirà que es lliuri correu als usuaris locals des d'altres sistemes, així com els clients locals de fer servir aquest sistema com a servidor per enviar correu.
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor de correu Postfix. Fins que no es faci, no es podrà lliurar correu als usaris locals des d'altres sistemes, ni aquests podran fer servir aquest sistema com a servidor de correu.
opts_err=No he pogut desar les opcions

check_error=Error en comprovar la configuració actual del Postfix. Arregla manualment la configuració del Postfix, si et plau.

address_rewriting_title=Reescriptura i Emmascarament d'Adreces
address_rewriting_ecannot=No tens permís per editar la reescriptura i emmascarament d'adreces
aliases_title=Àlies de Correu
aliases_ecannot=No tens permís per editar àlies
aliases_no_alias_file=No hi ha cap fitxer d'àlies
aliases_failed_delete=No he pogut desar l'àlies: $1
aliases_cant_write=No puc escriure al fitxer d'àlies
aliases_cant_read=No puc llegir el fitxer d'àlies
aliasopts_title=Opcions d'Àlies
aliases_internal_error=Àlies: error intern
edit_alias_title=Edició de Propietats d'Àlies
alias_save=Desa l'Àlies
alias_save_err=No he pogut desar l'àlies
alias_delete_create=Vols suprimir un àlies que tot just estàs creant!?
delete_alias=Suprimeix Àlies
aliases_click=Fes clic sobre qualsevol àlies per editar les seves propietats:

general_title=Opcions Generals
general_title_sensible=Opcions Generals més Útils
general_title_others=Altres Opcions Generals
general_ecannot=No tens permís per editar les Opcions Generals
what_is_it=Què és això?

opts_default=Defecte
opts_none=Cap
opts_relayhost=Envia el correu de sortida a través del host
opts_direct=Lliura'l directament
opts_myorigin=Domini per fer servir amb el correu extern
opts_myorigin_as_myhostname=Fes servir el nom del host
opts_myorigin_as_mydomain=Fes servir el nom del domini
opts_mydestination=De quins dominis es rep correu
opts_mydestination_default=Màquina local
opts_mydestination_domainwide=Tot el domini
opts_notify_classes=De quins problemes s'informa l'administrador
opts_queue_directory=Directori de cua de correu
opts_mail_owner=Propietari del correu
opts_default_privs=Drets per defecte de l'agent de lliurament
opts_inet_interfaces=Interfícies de xarxa per rebre correu
opts_all_interfaces=Tots

opts_local_recipient_maps=Rebutja els usuaris locals desconeguts
opts_no=No
opts_save=Desa i Aplica

opts_allow_percent_hack=Reescriu "usuari%domini" com "usuari@domini"
opts_append_at_myorigin=Reescriu "usuari" com "usuari@$mondomini"
opts_append_dot_mydomain=Reescriu "usuari@host" com "usuari@host.$mondomini"
opts_empty_address_recipient=Envia el correu sense destinatari a...
opt_empty_recip_default=Defecte
opts_swap_bangpath=Reescriu "lloc!usuari" com "usuari@lloc"
opts_masquerade_domains=Mascarada d'adreces
opts_masquerade_exceptions=Excepcions de la mascarada
index_return=a la configuració Postfix

opts_alias_maps=Bases de dades d'àlies utilitzades per l'agent de lliurament local
opts_alias_database=Bases de dades d'àlies construïdes per l'ordre &quot;newaliases&quot;
aliases_warning=Atenció: <ul><li>quan el primer camp no és buit, per construir les bases de dades corresponents, es fa servir l'ordre de generació d'àlies de Postfix per defecte; <li>altrament es fa servir l'ordre compatible de Sendmail &quot;newaliases&quot;, això farà servir el segon camp de la base de dades.</ul>

aliases_name=Nom
aliases_value=Àlies de...

new_alias=Crea un nou àlies
new_aliasmsg=Fes clic sobre aquest botó per crear un nou àlies

local_delivery_title=Lliurament Local
local_delivery_ecannot=No tens permís per editar les opcions de lliurament local
opts_local_transport=Nom del transport dels lliuraments locals
opts_local_transport_local=Local
opts_local_command_shell=Shell per al lliurament a una ordre externa
opts_local_command_shell_direct=Cap (execució directa de l'ordre)
opts_forward_path=Busca llista de reenviament
opts_allow_mail_to_commands=Lliurament de correu vàlid a ordres externes
opts_allow_mail_to_files=Lliurament de correu vàlid a fitxers externs
opts_home_mailbox=Camí del fitxer de correu de l'usuari relatiu al directori arrel de l'usuari
opts_home_mailbox_default=Cap (fes servir l'estàndard <tt>/var/noseque</tt>)
opts_luser_relay=Adreça de destí per a destinataris desconeguts
opts_luser_relay_none=Cap (rebota el correu)
opts_mail_spool_directory=Directori de spool
opts_mailbox_command=Ordre externa a utilitzar en lloc del lliurament a la bústia
opts_mailbox_command_none=Cap
opts_mailbox_transport=Transport actual opcional a utilitzar
opts_mailbox_transport_none=Cap
opts_fallback_transport=Transport opcional per a destinataris desconeguts
opts_fallback_transport_none=Cap
opts_local_destination_concurrency_limit=Nombre màxim de lliuraments en paral·lel al mateix destinatari local
opts_local_destination_recipient_limit=Màxim nombre de destinataris per al lliurament local de missatges
opts_local_destination_recipient_limit_default=Defecte
opts_prepend_delivered_header=Posa davant de <tt>Delivered-To:</tt> en...
opts_prepend_delivered_header_default=Defecte

resource_title=Control General de Recursos
resource_ecannot=No tens permís per editar els paràmetres de control de recursos
opts_bounce_size_limit=Mida màxima de missatge rebotat
opts_command_time_limit=Temps màxim de lliurament a ordres externes
opts_default_process_limit=Nombre màxim de processos fills Postfix
opts_deliver_lock_attempts=Nombre màxim d'intents de bloquejar un fitxer
opts_deliver_lock_delay=Temps en segons entre intents de bloquejar el fitxer
opts_duplicate_filter_limit=Nombre màxim d'adreces recordades pel filtre duplicat
opts_fork_attempts=Nombre màxim d'intents per bifurcar un procés
opts_fork_delay=Temps en segons entre intents de bifurcació
opts_header_size_limit=Màxima memòria usada per processar capçaleres
opts_line_length_limit=Màxima memòria usada per gestionar línies d'entrada
opts_message_size_limit=Mida màxima d'un missatge
opts_qmgr_message_active_limit=Nombre màxim de missatges a la cua activa
opts_qmgr_message_recipient_limit=Nombre màxim de destinataris en memòria
opts_queue_minfree=Espai lliure mínim al sistema de fitxers de la cua
opts_stale_lock_time=Temps màxim de permanència d'un bloqueig
opts_transport_retry_time=Temps en segons entre intents de contactar un MDT perdut

opts_always_bcc=Adreça que rep les copies cegues de cada missatge
opts_always_bcc_none=Cap
opts_daemon_timeout=Temps límit de gestió de peticions
opts_default_database_type=Tipus de base de dades per defecte
opts_default_transport=Transport de lliurament de missatges per defecte
opts_double_bounce_sender=Adreça del remitent del correu rebotat
opts_hash_queue_depth=Nombre de nivells de subdirectoris sota el directori de la cua
opts_hash_queue_names=Nom dels directoris de cua escampats a través dels subdirectoris
opts_hopcount_limit=Nombre màxim de capçaleres <tt>Received:</tt>
opts_ipc_idle=Temps d'inacció després de desconnexions client IPC internes
opts_ipc_timeout=Temps límit d'E/S en els canals interns de comunicació
opts_mail_name=Nom del sistema de correu
opts_mail_version=Versió oficial del sistema de correu
opts_max_idle=Temps d'espera fins a la següent petició de servei
opts_max_use=Màxim nombre de peticions gestionades abans de sortir
opts_mydomain=Nom de domini Internet local
opts_mydomain_default=Defecte (donat pel sistema)
opts_myhostname=Nom de host Internet d'aquest sistema de correu
opts_myhostname_default=Defecte (donat pel sistema)
opts_mynetworks=Xarxes locals
opts_mynetworks_default=Defecte (totes les xarxes connectades)
opts_bounce_notice_recipient=Envia avís al postmaster en cas de rebot a...
opts_2bounce_notice_recipient=Envia avís al postmaster en cas 2 rebots a...
opts_delay_notice_recipient=Envia avís al postmaster en cas de retard a...
opts_error_notice_recipient=Envia avís al postmaster en cas d'error a...
opts_process_id_directory=Directori de bloqueigs, relatiu al directori de la cua
opts_program_directory=Programes de suport Postfix i directori de dimonis
opts_recipient_delimiter=Extensions separadores d'usuaris / adreces
opts_relocated_maps_default=Defecte (desactivat)
opts_sun_mailtool_compatibility=Desactiva bloqueigs de fitxer del kernel sobre les bústies
opts_trigger_timeout=Temps màxim abans de disparar un dimoni
opts_delay_warning_time=Temps en hores abans d'enviar un avís per no lliurament
opts_delay_warning_time_default=Desactivat

smtpd_title=Opcions del Servidor SMTP
smtpd_ecannot=No tens permís per editar les opcions del servidor SMTP
opts_disable_vrfy_command=Desactiva l'ordre VRFY del SMTP
opts_smtpd_banner=Bandera de salutació del SMTP
opts_smtpd_etrn_restrictions=Restringeix l'ordre ETRN sobre...
opts_smtpd_recipient_limit=Nombre màxim de destinataris acceptats per lliurar
opts_smtpd_timeout=Temps màxim en segons per a les transaccions del SMTP
opts_smtpd_error_sleep_time=Temps màxim abans d'enviar respostes d'error 4xx/5xx.
opts_smtpd_soft_error_limit=Compte d'errors per ignorar un client temporalment
opts_smtpd_hard_error_limit=Compte d'errors per tancar la connexió
opts_smtpd_client_restrictions=Restriccions dels noms de hosts/adreces client
opts_smtpd_helo_required=Cal HELO
opts_smtpd_helo_restrictions=Restriccions en les trameses d'ordres HELO
opts_smtpd_sender_restrictions=Restriccions en les adreces del remitent
opts_smtpd_recipient_restrictions=Restriccions en les adreces de destí
opts_allow_untrusted_routing=Permet l'encaminament no fiable
opts_maps_rbl_domains=Dominis DNS per a consultes de llistes negres
opts_relay_domains=Restringeix la retransmissió de correu
opts_access_map_reject_code=Resposta del servidor SMTP en cas de violació de mapa d'accés
opts_invalid_hostname_reject_code=Resposta del servidor SMTP server en cas de rebuig per nom de host invàlid
opts_maps_rbl_reject_code=Resposta del servidor SMTP en cas de violació de dominis RBL
opts_reject_code=Resposta del servidor SMTP en cas de rebuig del client
opts_relay_domains_reject_code=Resposta del servidor SMTP en cas de retransmissió prohibida
opts_unknown_address_reject_code=Resposta del servidor SMTP en cas de rebuig per domini desconegut
opts_unknown_client_reject_code=Resposta del servidor SMTP en cas de rebuig per client desconegut
opts_unknown_hostname_reject_code=Resposta del servidor SMTP en cas de rebuig per nom de host desconegut

smtp_title=Opcions de Client SMTP
smtp_ecannot=No tens permís per editar les opcions de client SMTP
opts_best_mx_transport=Acció en cas d'estar llistat com a millor host MX
opts_best_mx_transport_default=Defecte (rebota el missatge)
opts_fallback_relay=Hosts/dominis de redirecció del correu en cas de destinació invàlida
opts_ignore_mx_lookup_error=Ignora l'error de consulta MX
opts_smtp_skip_4xx_greeting=Omet la salutació 4xx
opts_smtp_skip_quit_response=Omet l'espera de l'ordre QUIT
opts_smtp_destination_concurrency_limit=Nombre màxim de lliuraments en paral·lel a la mateixa destinació
opts_smtp_destination_recipient_limit=Nombre màxim de destinataris per lliurament
opts_smtp_connect_timeout=Temps límit de completació de connexions TCP
opts_smtp_helo_timeout=Temps límit d'espera de la bandera de salutació
opts_smtp_mail_timeout=Temps límit d'espera de la resposta a MAIL FROM
opts_smtp_rcpt_timeout=Temps límit d'espera de la resposta a RCPT TO
opts_smtp_data_init_timeout=Temps límit d'espera de la resposta a DATA
opts_smtp_data_xfer_timeout=Temps límit d'espera de la resposta a la transmissió del contingut del missatge
opts_smtp_data_done_timeout=Temps límit d'espera de la resposta a &quot;.&quot; final
opts_smtp_quit_timeout=Temps límit d'espera de la resposta a QUIT


rate_title=Ritmes de Lliurament
rate_ecannot=No tens permís per editar les opcions de ritme de lliurament
opts_default_destination_concurrency_limit=Nombre màxim de lliuraments en paral·lel a la mateixa destinació
opts_default_destination_recipient_limit=Nombre màxim de destinataris per lliurament de missatge
opts_initial_destination_concurrency=Nivell inicial de concurrència per al lliurament a la mateixa destinació
opts_maximal_backoff_time=Temps màxim (segs) entre intents de lliurar un missatge diferit
opts_maximal_queue_lifetime=Temps màxim (dies) a la cua abans que un missatge sigui inlliurable
opts_minimal_backoff_time=Temps mínim (segs) entre intents de lliurar un missatge diferit
opts_queue_run_delay=Temps (segs) entre escaneigs de la cua diferida
opts_defer_transports=Transports que no s'han de lliurar


debug_title=Característiques de Depuració
debug_ecannot=No tens permís per editar les característiques de depuració
opts_debug_peer_list=Llista de patrons de dominis/xarxes pels quals està activat el registre detallat
opts_debug_peer_level=Nivell de registre detallat en coincidir amb la llista de sobre
debug_version=Mòdul Postfix de Webmin - Versió $1

ldap_title=Consultes LDAP
ldap_ecannot=No tens permís per editar les opcions de consulta LDAP
ldap_non_existent=Sembla que no hi ha cap LDAP al sistema Postfix
opts_ldap_lookup_timeout=Temps límit de consultes a la base de dades LDAP
opts_ldap_search_base=Base de dades LDAP per buscar
opts_ldap_server_host=Nom del host servidor LDAP

canonical_edit_title=Edició de Mapa Canònic
canonical_title=Mapejat Canònic
canonical_ecannot=No tens permís per editar la configuració del mapejat canònic
opts_canonical_maps=Taules de consulta de mapejat d'adreces
opts_recipient_canonical_maps=Taules de les adreces RECIPIENT
opts_sender_canonical_maps=Taules de les adreces SENDER
edit_canonical_maps=Edita els mapes canònics
edit_recipient_canonical_maps=Edita els mapes canònics de destinataris
edit_sender_canonical_maps=Edita els mapes canònics de remitents
edit_canonical_maps_general=Fes clic sobre un d'aquests botons per editar els mapes canònics

edit_map_title=Edició de Mapa
mapping_name=Nom
mapping_value=Mapeja a...
new_mapping=Nou mapejat
new_mappingmsg=Fes clic sobre aquest botó per crear un nou mapejat
map_save=Desa el mapejat
delete_map=Suprimeix el mapejat
map_save_err=Error en desar el mapejat
mapps_no_map_file=No has definit cap fitxer de mapejat
map_delete_failed=No he pogut suprimir el mapa: $1
map_delete_create=No pots suprimir un mapa que tot just estàs creant
maps_internal_error=Mapa: error intern
maps_cant_write=No puc escriure
help_map_format=Quin format haig de fer servir?


virtual_title=Dominis Virtuals
virtual_ecannot=No tens permís per editar la configuració del mapejat de dominis virtuals
opts_virtual_maps=Taules de consulta del mapejat de dominis

transport_title=Mapejat del Transport
transport_ecannot=No tens permís per editar la configuració del mapejat de transport
opts_transport_maps=Taules de consulta del mapejat de transport

relocated_title=Mapejat de Reubicació
relocated_ecannot=No tens permís per editar la configuració del mapejat de reubicació
opts_relocated_maps=Taules de consulta del mapejat de reubicació

map_click=Fes clic sobre qualsevol mapejat per editar-ne les propietats:
no_map=(No hi ha cap mapa definit. Definex-ne un primer, llavors edita'l)
no_map2=No hi ha cap mapa definit. Definex-ne un primer, llavors edita'l.

stop_efailed=No he pogut aturar Postfix
stop_ecannot=No tens permís per aturar Postfix

query_get_efailed=No he pogut consultar l'ordre de configuració de Postfix per obtenir el valor actual del paràmetre $1: <tt>$2</tt>
query_set_efailed=No he pogut consultar l'ordre de configuració de Postfix per establir el valor actual del paràmetre $1 a $2: <tt>$3</tt>
reload_ecannot=No tens permís per reiniciar Postfix
reload_efailed=No he pogut reiniciar Postfix.
regenerate_ecannot=No tens permís per regenerar els Àlies
regenerate_alias_efailed=No he pogut regenerar els àlies: <tt>$1</tt>
regenerate_table_efailed=No he pogut regenerar la taula $1: <tt>$2</tt>

acl_resource=Pot editar els recursos
acl_aliases=Pot editar els àlies
acl_aliases_options=Pot editar les opcions dels àlies
acl_general=Pot editar les opcions generals
acl_address_rewriting=Pot editar la reescriptura d'adreces
acl_canonical=Pot editar el mapa canònic
acl_virtual=Pot editar el mapa de dominis virtuals
acl_transport=Pot editar el mapa del transport
acl_relocated=Pot editar el mapa de reubicació
acl_local_delivery=Pot editar el lliurament local
acl_smtpd=Pot editar les opcions del servidor SMTP
acl_smtp=Pot editar les opcions del client SMTP
acl_rate=Pot editar els ritmes de lliurament
acl_debug=Pot editar les característiques de depuració
acl_ldap=Pot editar les consultes LDAP
acl_startstop=Pot iniciar i aturar postfix


  0707010002fc6a000081a40000000000000002000000013d1fe2dc0000418b000000200000000000000000000000000000001600000003reloc/postfix/lang/de index_title=Postfix-Mail-Agent
index_epath=Der Postfix-Kontrollbefehl $1 ist auf Ihrem System nicht installiert. Vielleicht ist Ihre <a href='$2'>Modulkonfiguration</a> fehlerhaft oder Postfix ist nicht installiert. 
internal_error=Interner Fehler
index_econfig=Der Postifg-Konfigurationsbefehl $1 existiert nicht. Vielleicht ist Ihre <a href='$2'>Modulkonfiguration</a> fehlerhaft. 
index_stop=Postfix beenden
index_start=Postfix starten
index_stopmsg=Klicken Sie auf diese Schaltfl&auml;che, um den laufenden Postfix-Mailserver zu stoppen. Dies wird bewirken, dass lokalen Benutzern keine E-Mail von anderen Systemen zugestellt werden kann und dass keine lokale Clients dieses System als Mailserver zum Versenden von E-Mails benutzen k&ouml;nnen. 
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den Postfix-Mailserver zu starten. Bis Postfix gestartet wird, k&ouml;nnen keine E-Mails von anderen Systemen an lokale Benutzer zugestellt werden und lokale Clients k&ouml;nnen dieses System nicht als Mailserver benutzen. 
opts_err=Fehler beim Speichern der Einstellungen
check_error=Fehler beim &Uuml;berpr&uuml;fen der aktuellen Postfix-Konfiguration. Bitte korrigieren Sie die Konfiguration von Hand. 
address_rewriting_title=Adressumschreibung und Maskierung
address_rewriting_ecannot=Sie haben keine Berechtigung, Adressumschreibung und Maskierung zu bearbeiten.
aliases_title=Mail-Aliases
aliases_ecannot=Sie haben keine Berechtigung, Aliases zu bearbeiten.
aliases_no_alias_file=Keine Alias-Datei
aliases_cant_write=Kann nicht in Alias-Datei schreiben
aliases_cant_read=Kann Alias-Datei nicht lesen
aliasopts_title=Alias-Einstellungen
aliases_internal_error=Aliases: Interner Fehler
edit_alias_title=Alias-Eigenschaftenbearbeitung
alias_save=Alias speichern
alias_save_err=Das Speichern des Alias' schlug fehl
alias_delete_create=Sie wollen den Alias l&ouml;schen, den Sie gerade erstellen!?
delete_alias=Alias l&ouml;schen
general_title=Allgemeine Einstellungen
general_title_sensible=N&uuml;tzlichste allgemeine Einstellungen
general_title_others=Andere allgemeine Einstellungen
general_ecannot=Sie haben keine Berechtigung, allgemeine Einstellungen zu bearbeiten
what_is_it=Was ist das?
opts_default=Standard
opts_none=Keine
opts_relayhost=Sende ausgehende Mail durch Host
opts_direct=Direkt liefern
opts_myorigin=Welche Dom&auml;ne soll in ausgehender Mail verwendet werden
opts_myorigin_as_myhostname=Benutze Host-Namen
opts_myorigin_as_mydomain=Benutze Dom&auml;nenname
opts_mydestination=F&uuml;r welche Dom&auml;nen soll E-Mail empfangen werden
opts_mydestination_default=Lokale Maschine
opts_mydestination_domainwide=Ganze Dom&auml;ne
opts_notify_classes=Welche Probleme werden an den Postmaster gemeldet
opts_queue_directory=Verzeichnis der Warteschlange
opts_mail_owner=Mail-Besitzer
opts_default_privs=Standardrechte des Auslieferungsagenten
opts_inet_interfaces=Netzwerkschnittstellen zum Empfangen von Mail
opts_all_interfaces=Alle
opts_local_recipient_maps=Unbekannte lokale Benutzer abweisen
opts_no=Nein
opts_save=Speichern und Anwenden
opts_allow_percent_hack=Schreibe "Benutzer%Dom&auml;ne" um in "Benutzer@Dom&auml;ne"
opts_append_at_myorigin=Schreibe "Benutzer" um in "Benutzer@$MeineDom&auml;ne"
opts_append_dot_mydomain=Schreibe "Benutzer@Host" um in "Benutzer@Host.$MeineDom&auml;ne"
opts_empty_address_recipient=Sende E-Mail mit leerem Empf&auml;nger an...
opt_empty_recip_default=Standard
opts_swap_bangpath=Schreibe "Site!Benutzer" um in "Benutze@Site"
opts_masquerade_domains=Adressmaskierung
opts_masquerade_exceptions=Maskierungsausnahmen
index_return=Postfix-Konfiguration
opts_alias_maps=Alias-Datenbank, die vom lokalen Mail-Agenten benutzt wird
opts_alias_database=Alias Datenbank, die durch den Befehl &quot;newaliases&quot; erstellt wird
aliases_warning=Warnung: <ul><li>Wenn das erste Feld nicht leer ist, wird der Standard-Postfix-Befehl zum Erstellen der Alias-Datenbank verwendet; <li>anderenfalls wird der Sendmail-Kompatibilit&auml;tsbefehl &quot;newaliases&quot; verwendet; dies wird die Datenbank aus dem zweiten Feld benutzen.</ul>
aliases_name=Name
aliases_value=Alias zu...
new_alias=Erstelle neuen Alias
new_aliasmsg=Klicken Sie auf diese Schaltfl&auml;che, um ein neuen Alias zu erstellen
local_delivery_ecannot=Sie haben keine Berechtigung, die lokalen Lieferungseinstellungen zu bearbeiten
local_delivery_title=Lokale Lieferung
opts_local_transport=Name des Transports f&uuml;r lokale Lieferungen
opts_local_transport_local=Lokal
opts_local_command_shell=Shell, die bei Lieferung zu externem Befehl benutzt wird
opts_local_command_shell_direct=Keine (direkte Ausf&uuml;hrung von Befehlen)
opts_forward_path=Sucheliste zur Weiterleitung
opts_allow_mail_to_commands=Auslieferung g&uuml;ltiger E-Mail an externe Befehle
opts_allow_mail_to_files=G&uuml;ltige Mail in externe Datei schreiben
opts_home_mailbox=Pfadname der Mailbox-Datei relativ zum Home-Verzeichnis
opts_home_mailbox_default=Keine (benutze Standard: <tt>/var/something</tt>)
opts_luser_relay=Zieladresse f&uuml;r unbekannte Empf&auml;nger
opts_luser_relay_none=Keine (Mail zur&uuml;cksenden)
opts_mail_spool_directory=Verzeichnis f&uuml;r E-Mails in Warteschlange
opts_mailbox_command=Externe Befehl, der anstelle Lieferung an Mailbox benutzt wird
opts_mailbox_command_none=Keiner
opts_mailbox_transport=Optionaler tats&auml;chlich zu benutzender Transport
opts_mailbox_transport_none=Keiner
opts_fallback_transport=Optionaler Transport f&uuml;r unbekannte Empf&auml;nger
opts_fallback_transport_none=Keiner
opts_local_destination_concurrency_limit=Maxmimale Anzahl simultaner Auslieferungen an denselben lokalen Empf&auml;nger
opts_local_destination_recipient_limit=Maximale Anzahl von Empf&auml;ngern je ausgelieferter lokaler Mail
opts_local_destination_recipient_limit_default=Standard
opts_prepend_delivered_header=F&uuml;ge <tt>Delivered-To:</tt> vorne hinzu, wenn...
opts_prepend_delivered_header_default=Standard
resource_title=Allgemeine Resourcenkontrolle
resource_ecannot=Sie haben keine Berechtigung, die Parameter der Resourcenkontrolle zu bearbeiten
opts_bounce_size_limit=Maximale Gr&ouml;&szlig;e zur&uuml;ckgesandter Nachrichten
opts_command_time_limit=Maximale Zeit bei Auslieferung an externe Programme
opts_default_process_limit=Maximale Anzahl von untergeordneten Postfix-Prozessen
opts_deliver_lock_attempts=Maximale Anzahl Versuche, um Dateisperrung zu erhalten
opts_deliver_lock_delay=Zeit in Sekunden zwischen Dateisperrungsversuchen
opts_duplicate_filter_limit=Maximale Anzahl von Adressen, die der Duplikatfilter beh&auml;lt
opts_fork_attempts=Maximale Anzahl der Versuche, um einen Prozess zu erzeugen
opts_fork_delay=Maximale Zeit zwischen den Versuchen
opts_header_size_limit=Maximal benutzter Speicher zur Bearbeitung von Headers
opts_line_length_limit=Maximal benutzter Speicher zur Bearbeitung von Eingabezeilen
opts_message_size_limit=Maximale Gr&ouml;&szlig;e einer Nachricht
opts_qmgr_message_active_limit=Maximale Anzahl von Nachrichten in der aktiven Warteschlange
opts_qmgr_message_recipient_limit=Maximale Anzahl von Empf&auml;ngern im Speicher
opts_queue_minfree=Minimaler freier Speicher im Dateisystem der Warteschlange
opts_stale_lock_time=Maximale Zeit, nach der eine alte Sperrung freigegeben wird
opts_transport_retry_time=Zeit in Sekunden zwischen Versuchen, einen defekten MDT zu erreichen
opts_always_bcc=Adresse, die BCC von jeder Nachricht erh&auml;lt
opts_always_bcc_none=Keiner
opts_daemon_timeout=Timeout beim Bearbeiten von Anfragen
opts_default_database_type=Standarddatenbanktyp
opts_default_transport=Standardnachrichten-Lieferungstransport
opts_double_bounce_sender=Absenderadresse f&uuml;r zur&uuml;ckgesandte Mail
opts_hash_queue_depth=Anzahl von Unterverzeichnisebenen unter dem Warteschlangenverzeichnis
opts_hash_queue_names=Name der zwischen Unterverzeichnissen geteilten Warteschlangeverzeichnisse 
opts_hopcount_limit=Maximale Anzahl von Kopfzeilen <tt>Received:</tt>
opts_ipc_idle=Leerlaufzeit, nach der der interne IPC-Client die Verbindung beendet
opts_ipc_timeout=Timeout f&uuml;r I/O auf internen Comm-Kan&auml;len
opts_mail_name=Mail-Systemname
opts_mail_version=Offizielle Mail-Systemversion
opts_max_idle=Zu wartende Zeit f&uuml;r n&auml;chste Dienstanfrage
opts_max_use=Maximale Anzahl bearbeiteter Dienstanfragen, bevor beendet wird
opts_mydomain=Lokaler Internet-Dom&auml;nenname
opts_mydomain_default=Standard (vom System)
opts_myhostname=Internethost-Name dieses Mail-Systems
opts_myhostname_default=Standard (vom System)
opts_mynetworks=Lokale Netzwerke
opts_mynetworks_default=Standard (alle angebundenen Netzwerke)
opts_bounce_notice_recipient=Sende Postmaster-Benachrichtigung bei R&uuml;cksendung an...
opts_2bounce_notice_recipient=Sende Postmaster-Benachrichtigung bei R&uuml;cksendung an...
opts_delay_notice_recipient=Sende Postmaster-Benachrichtigung bei Verz&ouml;gerung an...
opts_error_notice_recipient=Sende Postmaster-Benachrichtigung bei Fehler an...
opts_process_id_directory=Sperrdateiverzeichnis relativ zum Warteschlangenverzeichnis
opts_program_directory=Postfix unterst&uuml;tzt Programm- und D&auml;monverzeichnis
opts_recipient_delimiter=Trennung zwischen f&uuml;r Benutzernamen- und Adresserweiterungen
opts_relocated_maps_default=Standard (deaktiviert)
opts_sun_mailtool_compatibility=Deaktiviere Kernel-Dateisperre auf Mailboxen
opts_trigger_timeout=Maximale Zeit, um ein Signal an den D&auml;mon zu senden
opts_delay_warning_time=Zeit in Stunden, nach der eine Warnung wegen Nichtauslieferung gesendet wird
opts_delay_warning_time_default=Deaktiviert
smtpd_title=SMTP-Server-Einstellungen
smtpd_ecannot=Sie haben keine Berechtigung, die SMTP-Server-Einstellungen zu bearbeiten
opts_disable_vrfy_command=Deaktiviere Befehl SMTP VRFY 
opts_smtpd_banner=SMTP-Gru&szlig;banner
opts_smtpd_etrn_restrictions=Schr&auml;nke Befehl ETRN ein auf...
opts_smtpd_recipient_limit=Maximale Anzahl der Empf&auml;nger f&uuml;r die Auslieferung
opts_smtpd_timeout=Timeout in Sekunden f&uuml;r SMTP-Transaktionen
opts_smtpd_error_sleep_time=Timeout bis Senden von  4xx/5xx-Fehlerantwort
opts_smtpd_soft_error_limit=Fehlerzahl, ab der ein Client vor&uuml;bergehend ignoriert wird
opts_smtpd_hard_error_limit=Fehlerzahl, nach der eine Verbindung getrennt wird
opts_smtpd_client_restrictions=Einschr&auml;nkungen der Client-Host-Namen/-Adressen
opts_smtpd_helo_required=HELO wird ben&ouml;tigt
opts_smtpd_helo_restrictions=Einschr&auml;nkungen beim Senden des Befehls HELO
opts_smtpd_sender_restrictions=Einschr&auml;nkungen der Absenderadressen
opts_smtpd_recipient_restrictions=Einschr&auml;nkungen der Empf&auml;ngeradressen
opts_allow_untrusted_routing=Erlaube nicht vertrauensw&uuml;rdigen Benutzern das Routing
opts_maps_rbl_domains=DNS-Dom&auml;nen, die auf einer schwarzen Liste nachgeschlagen werden
opts_relay_domains=Schr&auml;nke Mail-Weiterleitung ein
opts_access_map_reject_code=SMTP-Server-Antwort bei Zugangsverletzung
opts_invalid_hostname_reject_code=SMTP-Server-Antwort bei Ablehnen eines ung&uuml;ltigen Host-Namen
opts_maps_rbl_reject_code=SMTP-Server-Antwort bei RBL-Dom&auml;nenverletzung
opts_reject_code=SMTP-Server-Antwort bei Ablehnen eines Clients
opts_relay_domains_reject_code=SMTP-Server-Antwort bei verbotenem Weiterleiten
opts_unknown_address_reject_code=SMTP-Server-Antwort bei Ablehnen einer unbekannten Dom&auml;ne
opts_unknown_client_reject_code=SMTP-Server-Antwort bei Ablehnen eines unbekannten Clients
opts_unknown_hostname_reject_code=SMTP-Server-Antwort bei Ablehnen wegen unbekanntem Host-Namen
smtp_title=SMTP-Client-Einstellungen
smtp_ecannot=Sie haben keine Berechtigung, SMTP-Client-Einstellungen zu bearbeiten
opts_best_mx_transport=Aktion, wenn aufgelistet als bester MX-Host
opts_best_mx_transport_default=Standard (Schicke Nachricht zur&uuml;ck)
opts_fallback_relay=Hosts/Dom&auml;nen, an die Mail gegeben wird, falls Ziel ung&uuml;ltig 
opts_ignore_mx_lookup_error=Ignoriere MX-Lookup-Fehler
opts_smtp_skip_4xx_greeting=&Uuml;berspringe 4xx-Gru&szlig;
opts_smtp_skip_quit_response=&Uuml;berspringe Warten auf Befehl QUIT
opts_smtp_destination_concurrency_limit=Maximale Anzahl simultaner Auslieferungen an das gleiche Ziel
opts_smtp_destination_recipient_limit=Maximale Anzahl von Empf&auml;ngern je Auslieferung
opts_smtp_connect_timeout=Timeout um TCP-Verbindungen zu beenden
opts_smtp_helo_timeout=Timeout beim Warten auf den Gru&szlig;banner
opts_smtp_mail_timeout=Timeout beim Warten auf Antwort auf MAIL FROM
opts_smtp_rcpt_timeout=Timeout beim Warten auf Antwort auf RCPT TO
opts_smtp_data_init_timeout=Timeout beim Warten auf Antwort auf DATA
opts_smtp_data_xfer_timeout=Timeout f&uuml;r Antwort beim Senden des Nachrichteninhalts
opts_smtp_data_done_timeout=Timeout beim Warten auf Antwort auf beendenden &quot;.&quot;
opts_smtp_quit_timeout=Timeout beim Warten auf Antwort auf QUIT
rate_title=Auslieferungsraten
rate_ecannot=Sie haben keine Berechtigung, Auslieferungsraten zu bearbeiten
opts_default_destination_concurrency_limit=Maximale Anzahl simultaner Auslieferungen an das gleiche Ziel
opts_default_destination_recipient_limit=Maximale Anzahl von Empf&auml;ngern je Nachrichtenauslieferung
opts_initial_destination_concurrency=Anf&auml;nglicher &Uuml;bereinstimmungs-Level beim Liefern an gleiches Ziel
opts_maximal_backoff_time=Maximale Zeit (Sek.) zwischen Versuchen, eine aufgeschobene Nachricht zu versenden
opts_maximal_queue_lifetime=Max Zeit (Tage), die eine Nachricht in der Warteschlange verbleibt, bevor sie nicht zustellbar ist
opts_minimal_backoff_time=Minimale Zeit (Sek) zwischen Versuchen, eine aufgeschobene Nachricht zu versenden
opts_queue_run_delay=Zeit (Sek) zwischen dem Scannen der Warteschlange f&uuml;r aufgeschobene Nachrichten
opts_defer_transports=Transporte, die nicht ausgeliefert werden sollen
debug_title=Debugging-Funktionen
debug_ecannot=Sie haben keine Berechtigung, die Debugging-Funktionen zu bearbeiten
opts_debug_peer_list=Liste von Dom&auml;nen-/Netzwerkmustern, f&uuml;r die ausf&uuml;hrliche Protokollierung aktiviert ist
opts_debug_peer_level=Ausf&uuml;hrliche Protokollierung f&uuml;r &Uuml;bereinstimmung mit oben angegebener Liste
ldap_title=LDAP-Lookups
ldap_ecannot=Sie haben keine Berechtigung, LDAP-Lookup-Einstellungen zu bearbeiten
ldap_non_existent=Es scheint, dass LDAP nicht auf Ihrem Postfix-System existiert
opts_ldap_lookup_timeout=Timeout f&uuml;r LDAP-Datenbank-Lookups
opts_ldap_search_base=Zu durchsuchende LDAP-Datenbank
opts_ldap_server_host=LDAP-Server-Host-Name
canonical_title=Kanonische Verkn&uuml;pfung
canonical_ecannot=Sie haben keine Berechtigung, die Konfiguration f&uuml;r kanonische Verkn&uuml;pfung zu bearbeiten
opts_canonical_maps=Adressenverkn&uuml;pfungstabellen
opts_recipient_canonical_maps=Tabellen f&uuml;r RECIPIENT (Empf&auml;nger) Adressen
opts_sender_canonical_maps=Tabellen f&uuml;r SENDER (Absender) Adressen
edit_canonical_maps=Kanonische Verkn&uuml;pfung bearbeiten
edit_recipient_canonical_maps=Kanonische Empf&auml;ngerverkn&uuml;pfung bearbeiten
edit_sender_canonical_maps=Kanonische Absenderverkn&uuml;pfung bearbeiten
edit_canonical_maps_general=Klicken Sie auf eine der Schaltfl&auml;chen oben, um die kanonische Verkn&uuml;pfungen zu bearbeiten
canonical_edit_title=Eine kanonische Verkn&uuml;pfung bearbeiten
mapping_name=Name
mapping_value=Wird verkn&uuml;pft mit...
new_mapping=Neue Verkn&uuml;pfung
new_mappingmsp=Clicken Sie auf diesen Button, um eine neue Umsetzung zu erstellen
map_save=Verkn&uuml;pfung speichern
delete_map=Verkn&uuml;pfung l&ouml;schen
edit_map_title=Verkn&uuml;pfung bearbeiten
map_save_err=Fehler beim Speichern der Verkn&uuml;pfung
mapps_no_map_file=Keine Verkn&uuml;pfungsdatei definiert
map_delete_create=Sie k&ouml;nnen keine Verkn&uuml;pfung l&ouml;schen, die Sie gerade erstellen
maps_internal_error=Verkn&uuml;pfung: Interner Fehler
maps_cant_write=Kann nicht schreiben
help_map_format=Welches Format soll ich benutzen?
virtual_title=Virtuelle Dom&auml;nen
virtual_ecannot=Sie haben keine Berechtigung, Verkn&uuml;pfung f&uuml;r virtuelle Dom&auml;nen zu bearbeiten
opts_virtual_maps=Dom&auml;nenverkn&uuml;pfungstabellen
transport_title=Transportverkn&uuml;pfung
transport_ecannot=Sie haben keine Berechtigung, die Transportverkn&uuml;pfung zu bearbeiten
opts_transport_maps=Transportverkn&uuml;pfungstabellen
relocated_title=Neu eingerichtete Verkn&uuml;pfung
relocated_ecannot=Sie haben keine Berechtigung, die Einstellung neu eingerichteter Verkn&uuml;pfungen zu bearbeiten
opts_relocated_maps=Neu eingerichtete Verkn&uuml;pfungs-Lookup-Tabellen
map_click=Klicken Sie auf eine Verkn&uuml;pfung, um Ihre Eigenschaften zu bearbeiten
no_map=(Es ist momentan keine Verkn&uuml;pfung definiert. Definieren Sie zuerst eine, dann k&ouml;nnen Sie sie bearbeiten.) 
 0707010002fc6b000081a40000000000000002000000013d1fe2dd00003bc6000000200000000000000000000000000000001600000003reloc/postfix/lang/en index_title=Postfix Configuration
index_epath=The Postfix control command $1 is not installed on your system. Maybe your <a href='$2'>module configuration</a> is incorrect, or Postfix is not installed.

internal_error=Internal Error
index_econfig=The Postfix config command $1 does not exist. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_stop=Stop Postfix
index_start=Start Postfix
index_stopmsg=Click this button to stop the running Postfix mail server. This will stop mail from being delivered to local users from other systems, and prevent clients using this system as a mail server from sending mail.
index_startmsg=Click this button to start the Postfix mail server. Until this is done mail will not be delivered to local users from other systems, and clients will not be able to use this system as a mail server.
opts_err=Failed to save options

check_error=Error while checking current Postfix configuration. Please manually fix Postfix configuration.

address_rewriting_title=Address Rewriting and Masquerading
address_rewriting_ecannot=You are not allowed to edit address rewriting and masquerading
aliases_title=Mail Aliases
aliases_ecannot=You are not allowed to edit aliases
aliases_no_alias_file=No alias file
aliases_failed_delete=Failed to delete alias: $1
aliases_cant_write=Can't write in alias file
aliases_cant_read=Can't read in alias file
aliasopts_title=Aliases Options
aliases_internal_error=Aliases: internal error
edit_alias_title=Alias Properties Edition
alias_save=Save Alias
alias_save_err=Failed to save alias
alias_delete_create=You want to delete an alias you're currently creating !?
delete_alias=Delete Alias
aliases_click=Click on any alias to edit its properties:

general_title=General Options
general_title_sensible=Most Useful General options
general_title_others=Other General Options
general_ecannot=You are not allowed to edit General Options
what_is_it=What is it?

opts_default=Default
opts_none=None
opts_relayhost=Send outgoing mail via host
opts_direct=Deliver directly
opts_myorigin=What domain to use in outbound mail
opts_myorigin_as_myhostname=Use hostname
opts_myorigin_as_mydomain=Use domainname
opts_mydestination=What domains to receive mail for
opts_mydestination_default=Local machine
opts_mydestination_domainwide=Whole domain
opts_notify_classes=What trouble to report to the postmaster
opts_queue_directory=Mail queue directory
opts_mail_owner=Mail owner
opts_default_privs=Default rights of the delivery agent
opts_inet_interfaces=Network interfaces for receiving mail
opts_all_interfaces=All

opts_local_recipient_maps=Reject unknown local users
opts_no=No
opts_save=Save and Apply


opts_allow_percent_hack=Rewrite "user%domain" to "user@domain"
opts_append_at_myorigin=Rewrite "user" to "user@$mydomain"
opts_append_dot_mydomain=Rewrite "user@host" to "user@host.$mydomain"
opts_empty_address_recipient=Send mail with empty recipient to...
opt_empty_recip_default=Default
opts_swap_bangpath=Rewrite "site!user" to "user@site"
opts_masquerade_domains=Address masquerading
opts_masquerade_exceptions=Masquerading exceptions
index_return=Postfix configuration


opts_alias_maps=Alias databases used by the local delivery agent
opts_alias_database=Alias databases built by &quot;newaliases&quot; command
aliases_warning=Warning: <ul><li>when the first field is not empty, the default Postfix aliases-generation command is used to build up the corresponding databases ; <li>else the Sendmail compatibility command &quot;newaliases&quot; is used, this will use the second field's databases.</ul>

aliases_name=Name
aliases_value=Alias to...

new_alias=Create a new alias
new_aliasmsg=Click this button to create a new alias


local_delivery_ecannot=You are not allowed to edit local delivery options
local_delivery_title=Local delivery
opts_local_transport=Name of the transport for local deliveries
opts_local_transport_local=Local
opts_local_command_shell=Shell to use for delivery to external command
opts_local_command_shell_direct=None (direct exec of commands)
opts_forward_path=Search list for forward
opts_allow_mail_to_commands=Valid mail delivery to external commands
opts_allow_mail_to_files=Valid mail delivery to external files
opts_home_mailbox=Home-relative pathname of user mailbox file
opts_home_mailbox_default=None (use standard <tt>/var/something</tt>)
opts_luser_relay=Destination address for unknown recipients
opts_luser_relay_none=None (bounce mail)
opts_mail_spool_directory=Spool directory
opts_mailbox_command=External command to use instead of mailbox delivery
opts_mailbox_command_none=None
opts_mailbox_transport=Optional actual transport to use
opts_mailbox_transport_none=None
opts_fallback_transport=Optional transport for unknown recipients
opts_fallback_transport_none=None
opts_local_destination_concurrency_limit=Max number of parallel deliveries to the same local recipient
opts_local_destination_recipient_limit=Max number of recipients per local message delivery
opts_local_destination_recipient_limit_default=Default
opts_prepend_delivered_header=Prepend a <tt>Delivered-To:</tt> when...
opts_prepend_delivered_header_default=Default


resource_title=General resource control
resource_ecannot=You are not allowed to edit resource control parameters
opts_bounce_size_limit=Max size of bounced message
opts_command_time_limit=Max time for delivery to external commands
opts_default_process_limit=Max number of Postfix child processes
opts_deliver_lock_attempts=Max attempts to acquire file lock
opts_deliver_lock_delay=Time in seconds between file lock attempts
opts_duplicate_filter_limit=Max number of addresses remembered by the duplicate filter
opts_fork_attempts=Max attempts to fork a process
opts_fork_delay=Time in seconds between fork attempts
opts_header_size_limit=Max memory used for processing headers
opts_line_length_limit=Max memory used for handling input lines
opts_message_size_limit=Max size of a message
opts_qmgr_message_active_limit=Max number of messages in the active queue
opts_qmgr_message_recipient_limit=Max number of in-memory recipients
opts_queue_minfree=Min free space in the queue file system
opts_stale_lock_time=Max time after which stale lock is released
opts_transport_retry_time=Time in seconds between attempts to contact a broken MDT


opts_always_bcc=Address that receives bcc of each message
opts_always_bcc_none=None
opts_daemon_timeout=Timeout on handling requests
opts_default_database_type=Default database type
opts_default_transport=Default message delivery transport
opts_double_bounce_sender=Sender address for bounce mail
opts_hash_queue_depth=Number of subdir levels below the queue dir
opts_hash_queue_names=Name of queue dirs split accross subdirs
opts_hopcount_limit=Max number of <tt>Received:</tt> headers
opts_ipc_idle=Idle time after internal IPC client disconnects
opts_ipc_timeout=Timeout for I/O on internal comm channels
opts_mail_name=Mail system name
opts_mail_version=Official mail system version
opts_max_idle=Time to wait for next service request
opts_max_use=Max service requests handled before exiting
opts_mydomain=Local internet domain name
opts_mydomain_default=Default (provided by system)
opts_myhostname=Internet hostname of this mail system
opts_myhostname_default=Default (provided by system)
opts_mynetworks=Local networks
opts_mynetworks_default=Default (all attached networks)
opts_bounce_notice_recipient=Send postmaster notice on bounce to...
opts_2bounce_notice_recipient=Send postmaster notice on 2bounce to...
opts_delay_notice_recipient=Send postmaster notice on delay to...
opts_error_notice_recipient=Send postmaster notice on error to...
opts_process_id_directory=Lock file dir, relative to queue dir
opts_program_directory=Postfix support programs and daemons dir
opts_recipient_delimiter=Separator usernames / address extensions
opts_relocated_maps_default=Default (disabled)
opts_sun_mailtool_compatibility=Disable kernel file lock on mailboxes
opts_trigger_timeout=Max time to send a trigger to a daemon
opts_delay_warning_time=Time in hours before sending a warning for no delivery
opts_delay_warning_time_default=Disabled


smtpd_title=SMTP server options
smtpd_ecannot=You are not allowed to edit the SMTP server options
opts_disable_vrfy_command=Disable SMTP VRFY command
opts_smtpd_banner=SMTP greeting banner
opts_smtpd_etrn_restrictions=Restrict ETRN command upon...
opts_smtpd_recipient_limit=Max number of recipients accepted for delivery
opts_smtpd_timeout=Timeout in seconds for SMTP transactions
opts_smtpd_error_sleep_time=Timeout before sending 4xx/5xx error response
opts_smtpd_soft_error_limit=Error count for temporarily ignore a client
opts_smtpd_hard_error_limit=Error count for closing connection
opts_smtpd_client_restrictions=Restrictions on client hostnames/addresses
opts_smtpd_helo_required=HELO is required
opts_smtpd_helo_restrictions=Restrictions on sends in HELO commands
opts_smtpd_sender_restrictions=Restrictions on sender addresses
opts_smtpd_recipient_restrictions=Restrictions on recipient addresses
opts_allow_untrusted_routing=Allow untrusted routing
opts_maps_rbl_domains=DNS domains for blacklist lookups
opts_relay_domains=Restrict mail relaying
opts_access_map_reject_code=SMTP server response on access map violation
opts_invalid_hostname_reject_code=SMTP server response on invalid hostname reject
opts_maps_rbl_reject_code=SMTP server response on RBL domains violation
opts_reject_code=SMTP server response on client reject
opts_relay_domains_reject_code=SMTP server response on forbidden relaying
opts_unknown_address_reject_code=SMTP server response on unknown domain reject
opts_unknown_client_reject_code=SMTP server response on unknown client reject
opts_unknown_hostname_reject_code=SMTP server response on unknown hostname reject


smtp_title=SMTP client options
smtp_ecannot=You are not allowed to edit the SMTP client options
opts_best_mx_transport=Action when listed as best MX host
opts_best_mx_transport_default=Default (bounce message)
opts_fallback_relay=Hosts/domains to hand off mail to on invalid destination 
opts_ignore_mx_lookup_error=Ignore MX lookup error
opts_smtp_skip_4xx_greeting=Skip 4xx greeting
opts_smtp_skip_quit_response=Skip wait for the QUIT command
opts_smtp_destination_concurrency_limit=Max number of parallel deliveries to the same destination
opts_smtp_destination_recipient_limit=Max number of recipients per delivery
opts_smtp_connect_timeout=Timeout for completing TCP connections
opts_smtp_helo_timeout=Timeout on waiting for the greeting banner
opts_smtp_mail_timeout=Timeout on waiting for answer to MAIL FROM
opts_smtp_rcpt_timeout=Timeout on waiting for answer to RCPT TO
opts_smtp_data_init_timeout=Timeout on waiting for answer to DATA
opts_smtp_data_xfer_timeout=Timeout on waiting for answer to transmit of message content
opts_smtp_data_done_timeout=Timeout on waiting for answer to ending &quot;.&quot;
opts_smtp_quit_timeout=Timeout on waiting for answer to QUIT


rate_title=Delivery rates
rate_ecannot=You are not allowed to edit the delivery rates options
opts_default_destination_concurrency_limit=Max number of parallel deliveries to the same destination
opts_default_destination_recipient_limit=Max number of recipients per message delivery
opts_initial_destination_concurrency=Initial concurrency level for delivery to the same destination
opts_maximal_backoff_time=Max time (secs) between attempts to deliver a deferred message
opts_maximal_queue_lifetime=Max time (days) in queue before message is undeliverable
opts_minimal_backoff_time=Min time (secs) between attempts to deliver a deferred message
opts_queue_run_delay=Time (secs) between scanning the deferred queue
opts_defer_transports=Transports that should not be delivered


debug_title=Debugging features
debug_ecannot=You are not allowed to edit the debugging features
opts_debug_peer_list=List of domain/network patterns for which verbose log is enabled
opts_debug_peer_level=Verbose logging level when matching the above list
debug_version=Postfix Module for Webmin - Version $1

ldap_title=LDAP lookups
ldap_ecannot=You are not allowed to edit the LDAP lookups options
ldap_non_existent=It seems that LDAP is nonexistent in your Postfix system
opts_ldap_lookup_timeout=Timeout for LDAP database lookups
opts_ldap_search_base=LDAP database to search
opts_ldap_server_host=LDAP server hostname

canonical_title=Canonical Mapping
canonical_ecannot=You are not allowed to edit the canonical mapping configuration
opts_canonical_maps=Address mapping lookup tables
opts_recipient_canonical_maps=Tables for RECIPIENT addresses
opts_sender_canonical_maps=Tables for SENDER addresses
edit_canonical_maps=Edit canonical maps
edit_recipient_canonical_maps=Edit recipient canonical maps
edit_sender_canonical_maps=Edit sender canonical maps
edit_canonical_maps_general=Click on one of these buttons to edit the canonical maps
canonical_edit_title=Edit A Canonical Map

mapping_name=Name
mapping_value=Maps to...
new_mapping=New mapping
new_mappingmsg=Click this button to create a new mapping
map_save=Save mapping
delete_map=Delete mapping
edit_map_title=Edit A Map
map_save_err=Error while saving a mapping
mapps_no_map_file=No map file defined
map_delete_failed=Failed to delete map: $1
map_delete_create=Can not delete a map you're just creating
maps_internal_error=Map: internal error
maps_cant_write=Can not write
help_map_format=What format should I use?


virtual_title=Virtual Domains
virtual_ecannot=You are not allowed to edit the virtual domains mapping configuration
opts_virtual_maps=Domain mapping lookup tables

transport_title=Transport Mapping
transport_ecannot=You are not allowed to edit the transport mapping configuration
opts_transport_maps=Transport mapping lookup tables

relocated_title=Relocated Mapping
relocated_ecannot=You are not allowed to edit the relocated mapping configuration
opts_relocated_maps=Relocated mapping lookup tables

map_click=Click on any mapping to edit its properties:
no_map=(No map is currently defined. Define a map first, then you can edit it)
no_map2=No map is currently defined. Define a map first, then you can edit it.

stop_efailed=Failed to stop Postfix
stop_ecannot=You are not allowed to stop Postfix

query_get_efailed=Failed to query Postfix config command to get the current value of parameter $1: <tt>$2</tt>
query_set_efailed=Failed to query Postfix config command to set the current value of parameter $1 to $2: <tt>$3</tt>
reload_ecannot=You are not allowed to reload Postfix
reload_efailed=Failed to reload Postfix.
regenerate_ecannot=You are not allowed to regenerate the Aliases
regenerate_alias_efailed=Failed to regenerate aliases: <tt>$1</tt>
regenerate_table_efailed=Failed to regenerate table $1: <tt>$2</tt>

acl_resource=Can edit resources?
acl_aliases=Can edit aliases?
acl_aliases_options=Can edit aliases options?
acl_general=Can edit general options?
acl_address_rewriting=Can edit adress rewriting?
acl_canonical=Can edit canonical?
acl_virtual=Can edit virtual?
acl_transport=Can edit transport?
acl_relocated=Can edit relocated?
acl_local_delivery=Can edit local delivery?
acl_smtpd=Can edit smtpd?
acl_smtp=Can edit smtp?
acl_rate=Can edit rate?
acl_debug=Can edit debug?
acl_ldap=Can edit ldap?
acl_startstop=Can start and stop postfix?

  0707010002fc6c000081a40000000000000002000000013d1fe2dd00004112000000200000000000000000000000000000001600000003reloc/postfix/lang/es index_title=Agente de Correo Postfix
index_epath=El comando de control de Postfix $1 no está instalado en tu sistema. Quizás tu <a href='$2'>configuración del módulo</a> sea incorrecta o postfix no está instalado.

internal_error=Error Interno
index_econfig=El comando $1 de configuración de Postfix no existe. Quizás tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_stop=Parar Postfix
index_start=Arrancar Postfix
index_stopmsg=Haz click en este botón para parar el servidor de correo Postfix en curso. Esto hará que no se entregue correo a usuarios locales desde otros sistemas y prevendrá que los clientes, que usen este sistema como servidor de correo, envíen correo.
index_startmsg=Haz click en este botón para arrancar el servidor de correo Postfix. Hasta que esto se haya realizado, el correo no será entregado a los usuarios locales desde otros sistemas y los clientes no podrán utilizar este sistema como servidor de correo.
opts_err=No pude salvar las opciones

check_error=Error al revisar la configuración de Postfix en curso. Por favor, arregla manuálmente la configuración de Postfix.

address_rewriting_title=Reescritura de Dirección y Enmascaramiento
address_rewriting_ecannot=No estás autorizado a editar la reescritura de dirección y enmascaramiento
aliases_title=Aliases de Correo
aliases_ecannot=No estás autorizado a editar aliases
aliases_no_alias_file=No hay archivo de alias
aliases_failed_delete=No pude borrar alias: $1
aliases_cant_write=No puedo escribir en el archivo de alias
aliases_cant_read=No puedo leer del archivo de alias
aliasopts_title=Opciones de Alias
aliases_internal_error=Aliases: error interno
edit_alias_title=Edición de Propiedades de Alias
alias_save=Salvar Alias
alias_save_err=No pude salvar alias
alias_delete_create=¿¡Deseas borrar un alias que estás creando ahora!?
delete_alias=Borrar Alias
aliases_click=Haz click en cualquier alias para editar sus propiedades

general_title=Opciones Generales
general_title_sensible=Opciones Generales más Útiles
general_title_others=Otras Opciones Generales
general_ecannot=No estás autorizado a editar Opciones Generales
what_is_it=¿Qué es esto?

opts_default=Por defecto
opts_none=Ninguno
opts_relayhost=Enviar correo saliente a través de máquina
opts_direct=Entregar diréctamente
opts_myorigin=Qué dominio usar en correo saliente
opts_myorigin_as_myhostname=Usar nombre de máquina
opts_myorigin_as_mydomain=Usar nombre de dominio
opts_mydestination=Para qué dominios recibir correo
opts_mydestination_default=Máquina local
opts_mydestination_domainwide=Todo el dominio
opts_notify_classes=De qué problema informar al administrador de correo
opts_queue_directory=Directorio de cola de correo
opts_mail_owner=Propietario de correo
opts_default_privs=Derechos por defecto del agente de entrega
opts_inet_interfaces=Interfaces de red para recibir correo
opts_all_interfaces=Todas

opts_local_recipient_maps=Rechazar usuarios locales desconocidos
opts_no=No
opts_save=Salvar y Aplicar


opts_allow_percent_hack=Reescribir "usuario%dominio" por "usuario@dominio"
opts_append_at_myorigin=Reescribir "usuario" por "usuario@$midominio"
opts_append_dot_mydomain=Reescribir "usuario@máquina" por "usuario@máquina.$midominio"
opts_empty_address_recipient=Enviar correo sin destinatario a...
opt_empty_recip_default=Por defecto
opts_swap_bangpath=Reescribir "sitio!usuario" por "usuario@sitio"
opts_masquerade_domains=Enmascaramiento de dirección
opts_masquerade_exceptions=Excepciones de enmascaramiento
index_return=Configuración de Postfix


opts_alias_maps=Bases de datos de alias usadas por agente de entrega local
opts_alias_database=Bases de datos de alias construídas mediante el comando &quot;newaliases&quot;
aliases_warning=Aviso: <ul><li>cuando el primer campo no está vacío, el comando de generación de alias por defecto de Postfix es usado para construir las bases de datos correspondientes; <li>en caso contrario el comando de compatibilidad con Sendmail &quot;newaliases&quot; es usado, esto usará el segundo campo de base de datos.</ul>

aliases_name=Nombre
aliases_value=Alias de...

new_alias=Crear nuevo alias
new_aliasmsg=Haz click en este botón para crear un nuevo alias


local_delivery_ecannot=No estás autorizado a editar opciones de entrega local
local_delivery_title=Entrega local
opts_local_transport=Nombre del transporte para entregas locales
opts_local_transport_local=Local
opts_local_command_shell=Shell a utilizar para entrega a comando externo
opts_local_command_shell_direct=Ninguno (ejecución directar de comandos)
opts_forward_path=Buscar lista de enviar
opts_allow_mail_to_commands=Entrega válida de correo a comandos externos
opts_allow_mail_to_files=Entrega válida de correo a archivos externos
opts_home_mailbox=Trayectoria en relación al directorio inicial del archivo de buzón de usuario
opts_home_mailbox_default=Ninguna (usar la estándar <tt>/var/algo</tt>)
opts_luser_relay=Dirección de destino para destinatarios desconocidos
opts_luser_relay_none=Ninguna (enviar el correo)
opts_mail_spool_directory=Directorio de spool
opts_mailbox_command=Comando externo a usar en vez de la entrega a buzón
opts_mailbox_command_none=Ninguno
opts_mailbox_transport=Transporte opcional actual a usar
opts_mailbox_transport_none=Ninguno
opts_fallback_transport=Transporte opcional para destinatarios desconocidos
opts_fallback_transport_none=Ninguno
opts_local_destination_concurrency_limit=Número máximo de entregas paralelas para el mismo destinatario local
opts_local_destination_recipient_limit=Número máximo de destinatarios por entrega local de mensaje
opts_local_destination_recipient_limit_default=Por defecto
opts_prepend_delivered_header=Poner un <tt>Delivered-To: (Entregado-A:)</tt> cuando...
opts_prepend_delivered_header_default=Por defecto


resource_title=Control general de recursos
resource_ecannot=No estás autorizado a editar los parámetros de control de recursos
opts_bounce_size_limit=Medida máxima de mensaje enviado
opts_command_time_limit=Tiempo máximo para entrega a comandos externos
opts_default_process_limit=Número máximo de procesos hijos de Postfix
opts_deliver_lock_attempts=Intentos máximos de adquirir bloqueos de archivo
opts_deliver_lock_delay=Tiempo en segundos entre intentos de bloqueo de archivo
opts_duplicate_filter_limit=Número máximo de direcciones recordadas por el filtro duplicado
opts_fork_attempts=Intentos máximos de hacer fork en un proceso
opts_fork_delay=Tiempo en segundos entre intentos de fork
opts_header_size_limit=Memoria máxima usada para procesar las cabeceras
opts_line_length_limit=Memoria máxima usada para manejar líneas de entrada
opts_message_size_limit=Medida máxima de un mensaje
opts_qmgr_message_active_limit=Número máximo de mensajes en la cola activa
opts_qmgr_message_recipient_limit=Número máximo de destinatarios en memoria
opts_queue_minfree=Espacio mínimo libre en el sistema de archivos de la cola
opts_stale_lock_time=Tiempo máximo tras el cual se libera el bloqueo caducado
opts_transport_retry_time=Tiempo en segundos entre intentos de contactar una MDT rota


opts_always_bcc=Dirección que recibe bcc de cada mensaje
opts_always_bcc_none=Ninguna
opts_daemon_timeout=Tiempo máximo para manejar requerimientos
opts_default_database_type=Tipo de base de datos por defecto
opts_default_transport=Transporte de entrega de mensajes por defecto
opts_double_bounce_sender=Dirección de remitente para enviar correo
opts_hash_queue_depth=Número de niveles de subdirectorio por debajo del directorio de cola
opts_hash_queue_names=Nombre de directorios de cola divididos en subdirectorios
opts_hopcount_limit=Número máximo de cabeceras <tt>Received: (Recibido:)</tt>
opts_ipc_idle=Tiempo sin hacer nada tras el cual el cliente IPC interno se desconecta
opts_ipc_timeout=Tiempo de E/S en canales de comunicación internos
opts_mail_name=Nombre de sistema de correo
opts_mail_version=Versión oficial de sistema de correo
opts_max_idle=Tiempo a esperar por el siguiente requerimiento de servicio
opts_max_use=Requerimientos máximos de servicios manejados antes de salir
opts_mydomain=Nombre de dominio local de internet
opts_mydomain_default=Por defecto (suministrado por sistema)
opts_myhostname=Nombre de máquina de internet de este sistema de correo
opts_myhostname_default=Por defecto (suministrada por sistema)
opts_mynetworks=Redes locales
opts_mynetworks_default=Por defecto (todas las redes conectadas)
opts_bounce_notice_recipient=Enviar aviso a jefe de estafeta al enviar a...
opts_2bounce_notice_recipient=Enviar aviso al jefe de estafeta al reenviar a...
opts_delay_notice_recipient=Enviar aviso al jefe de estafeta al producirse retraso a...
opts_error_notice_recipient=Enviar aviso al jefe de estafeta al ocurrir error a...
opts_process_id_directory=Directorio de archivo de bloqueo, relativo a directorio de cola
opts_program_directory=Programas de soporte de Postfix y directorio de demonios
opts_recipient_delimiter=Nombres de usuario separadores / extensiones de dirección
opts_relocated_maps_default=Por defecto (desactivados)
opts_sun_mailtool_compatibility=Desactivar bloque de archivos de kernel en buzones
opts_trigger_timeout=Tiempo máximo para enviar un disparador a un demonio
opts_delay_warning_time=Tiempo en horas antes de enviar un aviso de no entrega
opts_delay_warning_time_default=Desactivado


smtpd_title=Opciones de servidor SMTP
smtpd_ecannot=No estás autorizado a editar las opciones de servidor SMTP
opts_disable_vrfy_command=Desactivar comando SMTP VRFY
opts_smtpd_banner=Bandera de saludo SMTP
opts_smtpd_etrn_restrictions=Restringir comando ETRN cuando...
opts_smtpd_recipient_limit=Número máximo de destinatarios aceptados para entrega
opts_smtpd_timeout=Tiempo máximo en segundos para transacciones SMTP
opts_smtpd_error_sleep_time=Tiempo máximo antes de enviar respuesta de error 4xx/5xx
opts_smtpd_soft_error_limit=Contador de error para temporálmente ignorar a un cliente
opts_smtpd_hard_error_limit=Contador de error para cerrar conexión
opts_smtpd_client_restrictions=Restricciones en direcciones/nombres de máquina de cliente
opts_smtpd_helo_required=HELO es obligado
opts_smtpd_helo_restrictions=Restricciones en envíos de comandos HELO
opts_smtpd_sender_restrictions=Restricciones en direcciones de remitente
opts_smtpd_recipient_restrictions=Restricciones en direcciones de destinatario
opts_allow_untrusted_routing=Permitir enturamiento no fiable
opts_maps_rbl_domains=Dominios DNS para búsquedas en listas negras
opts_relay_domains=Restringir relé de correo
opts_access_map_reject_code=Respuesta de servidor SMTP en violación de mapa de acceso
opts_invalid_hostname_reject_code=Respuesta del servidor SMTP en rechazo por nombre de máquina inválido
opts_maps_rbl_reject_code=Respuesta de servidor SMTP en violación de dominios RBL
opts_reject_code=Respuesta de servidor SMTP en rechazo de cliente
opts_relay_domains_reject_code=Respuesta de servidor SMTP en relé prohibido
opts_unknown_address_reject_code=Respuesta de servidor SMTP en rechazo de dominio desconocido
opts_unknown_client_reject_code=Respuesta de servidor SMTP en rechazo de cliente desconocido
opts_unknown_hostname_reject_code=Respuesta de servidor SMTP en rechazo de nombre de máquina desconocido


smtp_title=Opciones de cliente SMTP
smtp_ecannot=No estás autorizado a editar las opciones de cliente SMTP
opts_best_mx_transport=Acción al ser listado como mejor máquina MX
opts_best_mx_transport_default=Por defecto (enviar mensaje)
opts_fallback_relay=Máquinas/dominios a quitar correo al ser destinos inválidos
opts_ignore_mx_lookup_error=Ignorar error de búsqueda MX
opts_smtp_skip_4xx_greeting=Saltar saludo 4xx
opts_smtp_skip_quit_response=Saltar comando de esperar por QUIT
opts_smtp_destination_concurrency_limit=Máximo número de entregas paralelas al mismo destino
opts_smtp_destination_recipient_limit=Máximo número de destinatarios por entrega
opts_smtp_connect_timeout=Tiempo máximo para completar conexiones TCP
opts_smtp_helo_timeout=Tiempo máximo de espera por la bandera de saludo
opts_smtp_mail_timeout=Tiempo máximo de espera por respuesta a MAIL FROM
opts_smtp_rcpt_timeout=Tiempo máximo de espera por respuesta a RCPT TO
opts_smtp_data_init_timeout=Tiempo máximo de espera por respuesta a DATA
opts_smtp_data_xfer_timeout=Tiempo máximo de espera por respuesta a transmisión de contenido de mensaje
opts_smtp_data_done_timeout=Tiempo máximo de espera por respuesta a &quot;.&quot; final
opts_smtp_quit_timeout=Tiempo máximo de espera por respuesta a QUIT


rate_title=Porcentajes de entrega
rate_ecannot=No estás autorizado a editar las opciones de porcentaje de entrega
opts_default_destination_concurrency_limit=Máximo número de entregas paralelas al mismo destino
opts_default_destination_recipient_limit=Máximo número de destinatarios por entrega de mensaje
opts_initial_destination_concurrency=Nivel inicial de concurrencia para entrega al mismo destino
opts_maximal_backoff_time=Máximo tiempo (segundos) entre intentos de entrega de un mensaje diferido
opts_maximal_queue_lifetime=Máximo tiempo (días) en cola antes de que los mensajes sean no entregables
opts_minimal_backoff_time=Mínimo tiempo (segundos) entre intentos de entregar un mensaje diferido
opts_queue_run_delay=Tiempo (segundos) entre exploración de la cola diferida
opts_defer_transports=Transportes que no deberían de ser entregados


debug_title=Características de depuración
debug_ecannot=No estás autorizado a editar características de depuración
opts_debug_peer_list=Lita de modelos de dominio/red para los que el historial locuaz está activado
opts_debug_peer_level=Nivel de historial locuaz al coincidir con la lista superior
debug_version=Módulo de Postfix para Webmin - Versión $1

ldap_title=Búsquedas LDAP
ldap_ecannot=No estás autorizado a editar opciones de búsqueda LDAP
ldap_non_existent=Parece como si LDAP no existiera en tu sistema Postfix
opts_ldap_lookup_timeout=Tiempo máximo para búsquedas en bases de datos LDAP
opts_ldap_search_base=Base de datos LDAP a buscar
opts_ldap_server_host=Nombre de máquina de servidor LDAP

canonical_title=Mapeo Canónigo
canonical_ecannot=No estás autorizado a editar la configuración de mapeos canónigos
opts_canonical_maps=Tablas de búsqueda de mapeo de direcciones
opts_recipient_canonical_maps=Tablas para direcciones RECIPIENT (DESTINATARIAS)
opts_sender_canonical_maps=Tablas para direcciones SENDER (REMITENTE)
edit_canonical_maps=Editar mapeos canónigos
edit_recipient_canonical_maps=Editar mapeos canónigos de destinatarios
edit_sender_canonical_maps=Editar mapeos canónigos de remitente
edit_canonical_maps_general=Haz click en uno de estos botones para editar los mapeos canónigos
canonical_edit_title=Editar Un Mapeo Canónigo

mapping_name=Nombre
mapping_value=Se Mapea a...
new_mapping=Nuevo mapeo
new_mappingmsp=haz click en este botón para crear nuevo mapeo
map_save=Salvar mapeo
delete_map=Borrar mapeo
edit_map_title=Editar Un Mapa
map_save_err=Error al salvar mapeo
mapps_no_map_file=No hay definido archivo de mapa
map_delete_failed=No pude borrar mapa: $1
map_delete_create=No puedo borrar un mapa que ahora estás creando
maps_internal_error=Mapa: error interno
maps_cant_write=No puedo escribir
help_map_format=¿Qué formato debería de usar?


virtual_title=Dominios Virtuales
virtual_ecannot=No estás autorizado a editar configuración de mapeo de dominios virtuales
opts_virtual_maps=Tablas de búsqueda de mapeo de dominio

transport_title=Mapeo de Transporte
transport_ecannot=No estás autorizado a editar configuración de mapeo de transporte
opts_transport_maps=Tablas de búsqueda de mapeo de transporte

relocated_title=Mapeo Relocalizado
relocated_ecannot=No estás autorizado a editar la configuración de mapeo relocalizado
opts_relocated_maps=Tablas de búsqueda de mapeo relocalizado

map_click=Haz click en cualquier mapeo para editar sus propiedades:
no_map=(No hay ahora mismo definido mapa. Define primero un mapa, luego podrás editarlo)
no_map2=No hay ahora mismo definido mapa. Define primero un mapa, luego podrás editarlo.

stop_efailed=No pude parar Postfix
stop_ecannot=No estás autorizado a parar Postfix

query_get_efailed=No pude consultar comando de configuración de Postfix para obetener el valor actual del parámetro $1: <tt>$2</tt>
query_set_efailed=No pude consultar comando de configuración de Postfix para poner el valor actual del parámetro $1 a $2: <tt>$3</tt>
reload_ecannot=No estás autorizado a recargar Postfix
reload_efailed=No pude recargar Postfix.
regenerate_ecannot=No estás autorizado a regenerar los Aliases
regenerate_alias_efailed=No pude regenerar aliases: <tt>$1</tt>
regenerate_table_efailed=No pude regenerar tabla $1: <tt>$2</tt>
  0707010002fc6d000081a40000000000000002000000013d1fe2dc00004367000000200000000000000000000000000000001600000003reloc/postfix/lang/fr index_title=Configuration de Postfix
index_epath=Le programme de contrôle de Postfix $1 n'est pas installé sur votre système. Peut-être que la <a href='$2'>configuration du module</a> est incorrecte, ou bien Postfix n'est pas installé.

internal_error=Erreur interne
index_econfig=Le programme de configuration de Postfix $1 n'existe pas. Peut-être que la <a href='$2'>configuration du module</a> est incorrecte.
index_stop=Arrêter Postfix
index_start=Démarrer Postfix
index_stopmsg=Cliquez sur ce bouton pour arrêter le serveur de courriers électroniques Postfix. Ceci interrompra la livraison du courrier aux utilisateurs, et interrompra aussi l'envoi de courrier.
index_startmsg=Cliquez sur ce bouton pour démarrer le serveur de courriers électroniques Postfix. Ceci permettra la livraison du courrier aux utilisateurs, et permettra aussi l'envoi de courrier.

check_error=Erreur pendant la vérification de la configuration actuelle de Postfix. Veuillez résoudre manuellement ce problème.

opts_err=Echec de la sauvegarde des options
address_rewriting_title=Réécriture et masquage d'adresses
address_rewriting_ecannot=Vous n'êtes pas autorisé à éditer le masquage d'adresses
aliases_title=Alias
aliases_ecannot=Vous n'êtes pas autorisé à éditer les alias
aliases_no_alias_file=Pas de fichier d'alias
aliases_failed_delete=Echec de l'effacement de l'alias: $1
aliases_cant_write=Impossible d'écrire dans le fichier d'alias
aliases_cant_read=Impossible de lire le fichier d'alias
aliasopts_title=Options des alias
aliases_internal_error=Alias: erreur interne
edit_alias_title=Edition des propriétés de l'alias
alias_save=Sauvegarder l'alias
alias_save_err=Echec de la sauvegarde de l'alias
alias_delete_create=Vous souhaitez effacer un alias que vous êtes en train de créer !?
delete_alias=Effacer l'alias
aliases_click=Cliquer sur un alias pour éditer ses propriétés:

general_title=Options Générales
general_title_sensible=Options les plus courantes
general_title_others=Autres options
general_ecannot=Vous n'êtes pas autorisé à éditer les options générales
what_is_it=Qu'est-ce que c'est ?

opts_default=Défaut
opts_none=Aucun
opts_relayhost=Envoyer le courrier sortant via la machine
opts_direct=Envoyer directement
opts_myorigin=Quel domaine utiliser pour le courrier sortant
opts_myorigin_as_myhostname=Utiliser le nom de machine
opts_myorigin_as_mydomain=Utiliser le nom de domaine
opts_mydestination=Domaines pour lesquels on reçoit le courrier
opts_mydestination_default=Machine locale
opts_mydestination_domainwide=Tout le domaine
opts_notify_classes=Quels problèmes acheminer vers le postmaster
opts_queue_directory=Répertoire de la file d'attente
opts_mail_owner=Propriétaire des courriers
opts_default_privs=Droits par défaut du programme de livraison du courrier
opts_inet_interfaces=Interfaces réseau pour la réception du courrier
opts_all_interfaces=Toutes

opts_local_recipient_maps=Rejeter les utilisateurs inconnus
opts_no=Non
opts_save=Sauvegarder et Appliquer


opts_allow_percent_hack=Réécrire "utilisateur%domaine" en "utilisateur@domaine"
opts_append_at_myorigin=Réécrire "utilisateur" en "utilisateur@$mydomain"
opts_append_dot_mydomain=Réécrire "utilisateur@machine" en "utilisateur@machine.$mydomain"
opts_empty_address_recipient=Envoyer le courrier sans destinataire à...
opt_empty_recip_default=Défaut
opts_swap_bangpath=Réécrire "site!utilisateur" en "utilisateur@site"
opts_masquerade_domains=Masquage d'adresses
opts_masquerade_exceptions=Exceptions au masquage
index_return=Configuration de Postfix


opts_alias_maps=Bases de données d'alias utilisées par le livreur de courrier
opts_alias_database=Base de données d'alias créée par Postfix
aliases_warning=Attention: <ul><li>lorsque le premier champ est non-vide, la commande par défaut de Postfix pour générer les alias est utilisée afin de créer les bases de données ; <li>sinon, la commande de compatibilité avec Sendmail, &quot;newaliases&quot;, est utilisée afin de générer les bases de données du deuxième champ.</ul>

aliases_name=Nom
aliases_value=Alias en...

new_alias=Créer un nouvel alias
new_aliasmsg=CLiquez sur ce bouton pour créer un nouvel alias


local_delivery_ecannot=Vous n'êtes pas autorisé à éditer les options de livraison de courrier
local_delivery_title=Livraison du courrier
opts_local_transport=Nom du transport pour la livraison du courrier
opts_local_transport_local=Local
opts_local_command_shell=Shell à utiliser pour la livraison via une commande externe
opts_local_command_shell_direct=Aucun (exécution directe)
opts_forward_path=Liste de recherche pour la transmission
opts_allow_mail_to_commands=Livraison valide pour les commandes externes
opts_allow_mail_to_files=Livraison valude pour les fichiers externes
opts_home_mailbox=Chemin relatif au homedir pour le fichier boîte aux lettres
opts_home_mailbox_default=Aucun (standard <tt>/var/quelquechose</tt>)
opts_luser_relay=Adresse de destination pour les destinataires inconnus
opts_luser_relay_none=Aucun (rebond)
opts_mail_spool_directory=Répertoire de file d'attente (spool)
opts_mailbox_command=Commande externe à utiliser à la place de la livraison
opts_mailbox_command_none=Aucune
opts_mailbox_transport=Transport (optionnel)
opts_mailbox_transport_none=Aucun
opts_fallback_transport=Transport (optionnel) pour les destinataires inconnus
opts_fallback_transport_none=Aucun
opts_local_destination_concurrency_limit=Nombre max de livraison parallèles pour le même destinataire
opts_local_destination_recipient_limit=Nombre max de destinataires par livraison locale
opts_local_destination_recipient_limit_default=Défaut
opts_prepend_delivered_header=Ajouter <tt>Delivered-To:</tt> lorsque...
opts_prepend_delivered_header_default=Défaut


resource_title=Contrôle des ressources
resource_ecannot=Vous n'êtes pas autorisé à éditer les ressources
opts_bounce_size_limit=Taille max des messages rebond (bounced)
opts_command_time_limit=Durée max pour la livraison vers des commandes externes
opts_default_process_limit=Nombre max de processus fils de Postfix
opts_deliver_lock_attempts=Tentatives pour obtenir le verrouillage (file lock)
opts_deliver_lock_delay=Durée en secondes entre les tentatives de verrouillage
opts_duplicate_filter_limit=Nombre max d'adresses dont se rappelle le filtre de duplication
opts_fork_attempts=Tentatives de duplication (fork) de processus
opts_fork_delay=Durée en secondes entre les tentatives de duplication
opts_header_size_limit=Mémoire max utilisée pour traiter les entêtes
opts_line_length_limit=Mémoire max utilisée pour traiter les lignes
opts_message_size_limit=Taille max d'un message
opts_qmgr_message_active_limit=Nombre max de messages dans la file active
opts_qmgr_message_recipient_limit=Nombre max de destinaires en mémoire
opts_queue_minfree=Espace libre min sur le système de fichier de la file
opts_stale_lock_time=Durée max après laquelle les verrouillages inutiles sont libérés
opts_transport_retry_time=Durée en seconde entre les tentatives de contacter un MDT


opts_always_bcc=Adresse qui reçoit un bcc de chaque message
opts_always_bcc_none=Aucune
opts_daemon_timeout=Timeout sur le traitement des requêtes
opts_default_database_type=Type de base de données par défaut
opts_default_transport=Transport par défaut pour la livraison du courrier
opts_double_bounce_sender=Adresse de l'émetteur des messages rebond (bounce)
opts_hash_queue_depth=Niveaux de sous-rép. après le rép. de file d'attente
opts_hash_queue_names=Nom des rép. de file répartis dans les sous-rép.
opts_hopcount_limit=Nombre max d'entêtes <tt>Received:</tt>
opts_ipc_idle=Temps d'inactivité après lequel les client IPC se déconnectent
opts_ipc_timeout=Timeout pour les E/S sur les chemins de comm. internes
opts_mail_name=Nom du système de courrier électronique
opts_mail_version=Version officielle du système
opts_max_idle=Temps d'attente pour la prochaine requête de service
opts_max_use=Nombre max de requêtes traitées avant de quitter
opts_mydomain=Nom de domaine internet local
opts_mydomain_default=Défaut (donné par le système)
opts_myhostname=Nom de machine (hostname) de ce système
opts_myhostname_default=Défaut (donné par le système)
opts_mynetworks=Réseaux locaux
opts_mynetworks_default=Défaut (tous les réseaux trouvés)
opts_bounce_notice_recipient=Envoyer l'information de rebond (bounce) à...
opts_2bounce_notice_recipient=Envoyer l'information de rebond2 (2bounce) à...
opts_delay_notice_recipient=Envoyer l'information de temporisation (delay) à...
opts_error_notice_recipient=Envoyer l'inforation d'erreur à...
opts_process_id_directory=Répertoire de verrouillage relatif au rép. de file
opts_program_directory=Répertoire de programmes et démons de Postfix
opts_recipient_delimiter=Séparateur nom d'utilisateur / extension d'adresse
opts_relocated_maps_default=Défaut (désactivé)
opts_sun_mailtool_compatibility=Désactiver le verrouillage noyau sur les boîtes aux lettres
opts_trigger_timeout=Durée max d'envoi de déclenchement de démon
opts_delay_warning_time=Durée en heures avant d'envoyer un avertissement pour non-livraison
opts_delay_warning_time_default=Désactivé


smtpd_title=Options du serveur SMTP
smtpd_ecannot=Vous n'êtes pas autorisé à éditer les options du serveur SMTP
opts_disable_vrfy_command=Désactiver la commande SMTP VRFY
opts_smtpd_banner=Message de bienvenue
opts_smtpd_etrn_restrictions=Restreindre la commande ETRN...
opts_smtpd_recipient_limit=Nombre max de destinataires acceptés pour livraison
opts_smtpd_timeout=Timeout en secondes pour les transactions SMTP
opts_smtpd_error_sleep_time=Timeout avant l'envoi des erreurs 4xx/5xx
opts_smtpd_soft_error_limit=Décompte d'erreurs pour ignorer temporairement un client
opts_smtpd_hard_error_limit=Décompte d'erreurs pour arrêter la connexion
opts_smtpd_client_restrictions=Restrictions sur le nom de machine/l'adresse client
opts_smtpd_helo_required=HELO est requis
opts_smtpd_helo_restrictions=Restrictions sur l'envoi des commandes HELO
opts_smtpd_sender_restrictions=Restrictions sur l'adresse de l'émetteur
opts_smtpd_recipient_restrictions=Restrictions sur l'adresse du destinataire
opts_allow_untrusted_routing=Autoriser le routage suspect
opts_maps_rbl_domains=Domaines DNS pour la recherche de blacklist
opts_relay_domains=Restreindre le relai de courriers
opts_access_map_reject_code=Réponse du serveur sur violation des droits d'accès
opts_invalid_hostname_reject_code=Réponse du serveur sur rejet pour nom de machine invalide
opts_maps_rbl_reject_code=Réponse du serveur sur violation des domaines RBL
opts_reject_code=Réponse du serveur sur rejet de client
opts_relay_domains_reject_code=Réponse du serveur sur relai interdit
opts_unknown_address_reject_code=Réponse du serveur sur rejet pour domaine inconnu
opts_unknown_client_reject_code=Réponse du serveur sur rejet pour client inconnu
opts_unknown_hostname_reject_code=Réponse du serveur sur rejet pour nom de machine inconnu


smtp_title=Options du client SMTP
smtp_ecannot=Vous n'êtes pas autorisé à éditer les options du client SMTP
opts_best_mx_transport=Que faire lorsque listé comme meilleur MX
opts_best_mx_transport_default=Défaut (rebond)
opts_fallback_relay=Hôtes/domaines à qui transmettre en cas de destination invalide
opts_ignore_mx_lookup_error=Ignorer les erreurs de recherche MX
opts_smtp_skip_4xx_greeting=Passer le message de bienvenue 4xx
opts_smtp_skip_quit_response=Passer l'attente après la commande QUIT
opts_smtp_destination_concurrency_limit=Nombre max de livraisons parallèles pour la même destination
opts_smtp_destination_recipient_limit=Nombre max de destinataires par livraison
opts_smtp_connect_timeout=Timeout pour compléter les connexions TCP
opts_smtp_helo_timeout=Timeout pour l'attente du message de bienvenue
opts_smtp_mail_timeout=Timeout pour l'attente de la réponse à MAIL FROM
opts_smtp_rcpt_timeout=Timeout pour l'attente de la réponse à RCPT TO
opts_smtp_data_init_timeout=Timeout pour l'attente de la réponse à DATA
opts_smtp_data_xfer_timeout=Timeout pour l'attente de la réponse au contenu du message
opts_smtp_data_done_timeout=Timeout pour l'attente de la réponse à &quot;.&quot;
opts_smtp_quit_timeout=Timeout pour l'attente de la réponse à QUIT


rate_title=Cadences de livraison
rate_ecannot=Vous n'êtes pas autorisé à éditer les cadences de livraison
opts_default_destination_concurrency_limit=Nombre max de livraisons parallèles pour la même destination
opts_default_destination_recipient_limit=Nombre max de destinataires par livraison de message
opts_initial_destination_concurrency=Niveau initial de simultanéité pour la livraison vers la même destination
opts_maximal_backoff_time=Durée max (secs) entre les tentatives de livraison des messages reportés
opts_maximal_queue_lifetime=Durée max (jours) dans la file avant que le message soit non-livrable
opts_minimal_backoff_time=Durée min (secs) entre les tentatives de livrer un message reporté
opts_queue_run_delay=Durée (secs) entre les examens de la file des messages reportés
opts_defer_transports=Transports qui ne devraient pas être livrés


debug_title=Débogage
debug_ecannot=Vous n'êtes pas autorisé à éditer les options de débogage
opts_debug_peer_list=Liste des domaines/réseaux pour lesquels le log étendu (verbose) est activé
opts_debug_peer_level=Niveau de log lorsque les domaines/réseaux sont dans la liste ci-dessus
debug_version=Module postfix pour Webmin - version $1

ldap_title=Recherches LDAP
ldap_ecannot=Vous n'êtes pas autorisé à éditer les options de recherche LDAP
ldap_non_existent=Il semble que LDAP n'existe pas dans votre installation de Postfix
opts_ldap_lookup_timeout=Timeout pour les recherche dans les bases de données LDAP
opts_ldap_search_base=Base de données LDAP à examiner
opts_ldap_server_host=Nom du serveur LDAP

canonical_title=Correspondances canoniques
canonical_ecannot=Vous n'êtes pas autorisé à éditer les options de correspondances canoniques
opts_canonical_maps=Tables de correspondances canoniques
opts_recipient_canonical_maps=Tables pour les adresses destinataire
opts_sender_canonical_maps=Tables pour les adresses émetteur
edit_canonical_maps=Editer les tables canoniques
edit_recipient_canonical_maps=Editer les tables canoniques destinataire
edit_sender_canonical_maps=Editer les tables canoniques émetteur
edit_canonical_maps_general=Cliquez sur un de ces boutons pour édtier les tables de correspondances canoniques
canonical_edit_title=Editer une correspondance

mapping_name=Nom
mapping_value=Correspond à...
new_mapping=Nouvelle entrée
new_mappingmsg=Cliquez sur ce bouton pour créer une nouvelle correspondance
map_save=Sauvegarder
delete_map=Supprimer
edit_map_title=Editer une correspondance
map_save_err=Erreur durant la sauvegarde de la correspondance
mapps_no_map_file=Aucun fichier de correspondance défini
map_delete_failed=Echec de l'effacement de la correspondance: $1
map_delete_create=Impossible d'effacer une correspondance que vous êtes en train de créer
maps_internal_error=Correspondances: erreur interne
maps_cant_write=Impossible d'écrire
help_map_format=Quel format dois-je utiliser ?


virtual_title=Domaines virtuels
virtual_ecannot=Vous n'êtes pas autorisé à éditer la configuration des domaines virtuels
opts_virtual_maps=Tables de correspondances de domaines

transport_title=Correspondances de transport
transport_ecannot=Vous n'êtes pas autorisé à éditer les correspondance de transport
opts_transport_maps=Tables de correspondances de transport

relocated_title=Correspondances de relogement
relocated_ecannot=Vous n'êtes pas autorisé à éditer les correspondances de relogement
opts_relocated_maps=Tables de correspondances de relogement

map_click=Cliquez sur une correspondance pour éditer ses propriétés:
no_map=(Aucune table n'est définie. Définissez-en une d'abord, ensuite vous pourrez l'éditer)
no_map2=Aucune table n'est définie. Définissez-en une d'abord, ensuite vous pourrez l'éditer.

stop_efailed=Echec de l'arrêt de postfix
stop_ecannot=Vous n'êtes pas autorisé à arrêter postfix

query_get_efailed=Echec de la requête sur la configuration postfix pour obtenir la valeur actuelle du paramètre $1: <tt>$2</tt>
query_set_efailed=Echec de la requête sur la configuration postfix pour mettre la valeur du paramètre $1 à $3: <tt>$3</tt>
reload_ecannot=Vous n'êtes pas autorisé à recharger postfix
reload_efailed=Echec du rechargement de postfix
regenerate_ecannot=Vous n'avez pas le droit de régénérer les alias
regenerate_alias_efailed=Echec de la régénération des alias: <tt>$1</tt>
regenerate_table_efailed=Echec de la régénération de la table $1:<tt>$2</tt>

acl_resource=Peut éditer les ressources ?
acl_aliases=Peut éditer les alias ?
acl_aliases_options=Peut éditer les options d'alias ?
acl_general=Peut éditer les options générales ?
acl_address_rewriting=Peut éditer la réécriture d'adresse ?
acl_canonical=Peut éditer les correspondances canoniques ?
acl_virtual=Peut éditer les domaines virtuels ?
acl_transport=Peut éditer le transport ?
acl_relocated=Peut éditer les correspondances de relogement ?
acl_local_delivery=Peut éditer la livraison locale ?
acl_smtpd=Peut éditer les options smtpd ?
acl_smtp=Peut éditer les options smtp ?
acl_rate=Peut éditer les cadences de livraison ?
acl_debug=Peut éditer les options de débogage ?
acl_ldap=Peut éditer les recherches LDAP ?
 0707010002fc6e000081a40000000000000002000000013d1fe2dd0000382c000000200000000000000000000000000000001d00000003reloc/postfix/lang/ja_JP.euc  index_title=Postfix ¥á¡¼¥ë ¥¨¡¼¥¸¥§¥ó¥È
index_epath=Postfix À©¸æ¥³¥Þ¥ó¥É $1 ¤¬¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£¤´»ÈÍÑ¤Î<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤«¡¢Postfix ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£

internal_error=ÆâÉô¥¨¥é¡¼
index_econfig=Postfix ÀßÄê¥³¥Þ¥ó¥É $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£¤´»ÈÍÑ¤Î <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_stop=Postfix ¤òÄä»ß
index_start=Postfix ¤ò³«»Ï
index_stopmsg=¼Â¹ÔÃæ¤ÎPostfix ¥á¡¼¥ë ¥µ¡¼¥Ð¤òÄä»ß¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢Â¾¤Î¥·¥¹¥Æ¥à¤«¤é¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤¬ÇÛ¿®¤µ¤ì¤ë¤Î¤òÄä»ß¤·¡¢¤³¤Î¥·¥¹¥Æ¥à¤ò¥á¡¼¥ë ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍÑÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£
index_startmsg=Postfix ¥á¡¼¥ë ¥µ¡¼¥Ð¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤Þ¤Ç¤Ï¡¢Â¾¤Î¥·¥¹¥Æ¥à¤«¤é¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤ÏÇÛ¿®¤µ¤ì¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥·¥¹¥Æ¥à¤ò¥á¡¼¥ë ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍÑ¤Ç¤­¤Þ¤»¤ó¡£
opts_err=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

check_error=¸½ºß¤Î Postfix ÀßÄê¤ò¸¡ººÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£Postfix ÀßÄê¤ò¼êÆ°¤Ç½¤Àµ¤·¤Æ¤¯¤À¤µ¤¤¡£

address_rewriting_title=¥¢¥É¥ì¥¹¤ÎºÆ½ñ¹þ¤ß¤È¥Þ¥¹¥«¥ì¡¼¥É
address_rewriting_ecannot=¥¢¥É¥ì¥¹¤ÎºÆ½ñ¹þ¤ß¤È¥Þ¥¹¥«¥ì¡¼¥É¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
aliases_title=¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹
aliases_ecannot=¥¨¥¤¥ê¥¢¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
aliases_no_alias_file=¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
aliases_failed_delete=¥¨¥¤¥ê¥¢¥¹¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
aliases_cant_write=¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó
aliases_cant_read=¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤á¤Þ¤»¤ó
aliasopts_title=¥¨¥¤¥ê¥¢¥¹ ¥ª¥×¥·¥ç¥ó
aliases_internal_error=¥¨¥¤¥ê¥¢¥¹:ÆâÉô¥¨¥é¡¼
edit_alias_title=¥¨¥¤¥ê¥¢¥¹ ¥×¥í¥Ñ¥Æ¥£ ¥¨¥Ç¥£¥·¥ç¥ó
alias_save=¥¨¥¤¥ê¥¢¥¹¤òÊÝÂ¸
alias_save_err=¥¨¥¤¥ê¥¢¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
alias_delete_create=¸½ºßºîÀ®Ãæ¤Î¥¨¥¤¥ê¥¢¥¹¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©
delete_alias=¥¨¥¤¥ê¥¢¥¹¤òºï½ü
aliases_click=¥×¥í¥Ñ¥Æ¥£¤òÊÔ½¸¤¹¤ë¥¨¥¤¥ê¥¢¥¹¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤:

general_title=°ìÈÌ¥ª¥×¥·¥ç¥ó
general_title_sensible=ºÇ¤âÊØÍø¤Ê°ìÈÌ¥ª¥×¥·¥ç¥ó
general_title_others=¤½¤ÎÂ¾¤Î°ìÈÌ¥ª¥×¥·¥ç¥ó
general_ecannot=°ìÈÌ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
what_is_it=²¿¤Ç¤¹¤«¡©

opts_default=¥Ç¥Õ¥©¥ë¥È
opts_none=¤Ê¤·
opts_relayhost=¥Û¥¹¥È·ÐÍ³¤Ç¥á¡¼¥ë¤òÁ÷¿®
opts_direct=Ä¾ÀÜÇÛ¿®
opts_myorigin=È¯¿®¥á¡¼¥ë¤Ç»ÈÍÑ¤¹¤ë¥É¥á¥¤¥ó
opts_myorigin_as_myhostname=¥Û¥¹¥ÈÌ¾¤ò»ÈÍÑ
opts_myorigin_as_mydomain=¥É¥á¥¤¥óÌ¾¤ò»ÈÍÑ
opts_mydestination=¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë¥É¥á¥¤¥ó
opts_mydestination_default=¥í¡¼¥«¥ë ¥Þ¥·¥ó
opts_mydestination_domainwide=¥É¥á¥¤¥óÁ´ÂÎ
opts_notify_classes=¥Ý¥¹¥È¥Þ¥¹¥¿¡¼¤ËÄÌÃÎ¤¹¤ëÌäÂê
opts_queue_directory=¥á¡¼¥ë ¥­¥å¡¼ ¥Ç¥£¥ì¥¯¥È¥ê
opts_mail_owner=¥á¡¼¥ë¤Î½êÍ­¼Ô
opts_default_privs=ÇÛ¿®¥¨¡¼¥¸¥§¥ó¥È¤Î¥Ç¥Õ¥©¥ë¥È¤Î¸¢Íø
opts_inet_interfaces=¥á¡¼¥ë¼õ¿®ÍÑ¤Î¥Í¥Ã¥È¥ï¡¼¥¯ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
opts_all_interfaces=¤¹¤Ù¤Æ

opts_local_recipient_maps=ÉÔÌÀ¤Ê¥í¡¼¥«¥ë ¥æ¡¼¥¶¤òµñÈÝ
opts_no=¤¤¤¤¤¨
opts_save=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ


opts_allow_percent_hack="user%domain" ¤ò "user@domain"¤ËºÆ½ñ¹þ¤ß
opts_append_at_myorigin="user" ¤ò "user@$mydomain" ¤ËºÆ½ñ¹þ¤ß
opts_append_dot_mydomain="user@host" ¤ò "user@host.$mydomain" ¤ËºÆ½ñ¹þ¤ß
opts_empty_address_recipient=¼õ¼è¿Í¤Ê¤·¤Î¥á¡¼¥ë¤òÁ÷¿®...
opt_empty_recip_default=¥Ç¥Õ¥©¥ë¥È
opts_swap_bangpath="site!user" ¤ò "user@site" ¤ËºÆ½ñ¹þ¤ß
opts_masquerade_domains=¥¢¥É¥ì¥¹ ¥Þ¥¹¥«¥ì¡¼¥É
opts_masquerade_exceptions=½ü³°¤ò¥Þ¥¹¥«¥ì¡¼¥É
index_return=Postfix ÀßÄê


opts_alias_maps=¥í¡¼¥«¥ëÇÛ¿®¥¨¡¼¥¸¥§¥ó¥È¤¬»ÈÍÑ¤¹¤ë¥¨¥¤¥ê¥¢¥¹ ¥Ç¡¼¥¿¥Ù¡¼¥¹
opts_alias_database=&quot;newaliases&quot; ¥³¥Þ¥ó¥É¤Ç¹½ÃÛ¤µ¤ì¤¿¥¨¥¤¥ê¥¢¥¹ ¥Ç¡¼¥¿¥Ù¡¼¥¹
aliases_warning=·Ù¹ð<ul><li>ºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î Postfix ¥¨¥¤¥ê¥¢¥¹À¸À®¥³¥Þ¥ó¥É¤Ï´ØÏ¢¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤Ë»ÈÍÑ¤µ¤ì¡¢<li>¤½¤¦¤Ç¤Ê¤±¤ì¤ÐSendmail ¸ß´¹¥³¥Þ¥ó¥É &quot;newaliases&quot; ¤¬»ÈÍÑ¤µ¤ì¡¢¤³¤ì¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î2ÈÖÌÜ¤Î¥Õ¥£¡¼¥ë¥É¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ÈÍÑ¤·¤Þ¤¹¡£</ul>

aliases_name=¥¨¥¤¥ê¥¢¥¹Ì¾
aliases_value=¥¨¥¤¥ê¥¢¥¹¤ÎÃÍ...

new_alias=¿·µ¬¥¨¥¤¥ê¥¢¥¹¤òºîÀ®
new_aliasmsg=¿·µ¬¤Î¥¨¥¤¥ê¥¢¥¹¤òºîÀ®¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤


local_delivery_ecannot=¥í¡¼¥«¥ëÇÛ¿®¥ª¥×¥·¥ç¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
local_delivery_title=¥í¡¼¥«¥ëÇÛ¿®
opts_local_transport=¥í¡¼¥«¥ëÇÛ¿®ÍÑ¤Î¥È¥é¥ó¥¹¥Ý¡¼¥ÈÌ¾
opts_local_transport_local=¥í¡¼¥«¥ë
opts_local_command_shell=³°Éô¥³¥Þ¥ó¥É¤Ø¤ÎÇÛ¿®¤Ë»ÈÍÑ¤¹¤ë¥·¥§¥ë
opts_local_command_shell_direct=¤Ê¤· (¥³¥Þ¥ó¥É¤Î¥À¥¤¥ì¥¯¥È¼Â¹Ô)
opts_forward_path=Å¾Á÷¤Ë¥ê¥¹¥È¤ò¸¡º÷
opts_allow_mail_to_commands=³°Éô¥³¥Þ¥ó¥É¤ËÍ­¸ú¤Ê¥á¡¼¥ëÇÛ¿®
opts_allow_mail_to_files=³°Éô¥Õ¥¡¥¤¥ë¤ËÍ­¸ú¤Ê¥á¡¼¥ë¤òÇÛ¿®
opts_home_mailbox=¥æ¡¼¥¶ ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹ ¥Õ¥¡¥¤¥ë¤Î¥Û¡¼¥àÁêÂÐ¥Ñ¥¹Ì¾
opts_home_mailbox_default=¤Ê¤· (É¸½à¤Î<tt>/var/something</tt> ¤ò»ÈÍÑ)
opts_luser_relay=ÉÔÌÀ¤Î¼õ¿®¼ÔÍÑ¤Î°¸Àè¥¢¥É¥ì¥¹
opts_luser_relay_none=¤Ê¤· (¥Ð¥¦¥ó¥¹ ¥á¡¼¥ë)
opts_mail_spool_directory=¥¹¥×¡¼¥ë ¥Ç¥£¥ì¥¯¥È¥ê
opts_mailbox_command=¥á¡¼¥ë¥Ü¥Ã¥¯¥¹ÇÛ¿®¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ¤¹¤ë³°Éô¥³¥Þ¥ó¥É
opts_mailbox_command_none=¤Ê¤·
opts_mailbox_transport=¥ª¥×¥·¥ç¥ó¤Î¼ÂºÝ¤Ë»ÈÍÑ¤¹¤ë¥È¥é¥ó¥¹¥Ý¡¼¥È
opts_mailbox_transport_none=¤Ê¤·
opts_fallback_transport=ÉÔÌÀ¤Ê¼õ¿®¼ÔÍÑ¤Î¥ª¥×¥·¥ç¥ó¤Î¥È¥é¥ó¥¹¥Ý¡¼¥È
opts_fallback_transport_none=¤Ê¤·
opts_local_destination_concurrency_limit=Æ±°ì¥í¡¼¥«¥ë¼õ¿®¼Ô¤Ø¤Î¥Ñ¥é¥ì¥ëÇÛ¿®¤ÎºÇÂç¿ô
opts_local_destination_recipient_limit=³Æ¥í¡¼¥«¥ë ¥á¥Ã¥»¡¼¥¸ÇÛ¿®¤´¤È¤Î¼õ¿®¼Ô¤ÎºÇÂç¿ô
opts_local_destination_recipient_limit_default=¥Ç¥Õ¥©¥ë¥È
opts_prepend_delivered_header=¼¡¤Î¾ì¹ç¤Ë<tt>Delivered-To:</tt> ¤òÁ°¤ËÉÕ²Ã...
opts_prepend_delivered_header_default=¥Ç¥Õ¥©¥ë¥È


resource_title=°ìÈÌ¥ê¥½¡¼¥¹À©¸æ
resource_ecannot=¥ê¥½¡¼¥¹À©¸æ¥Ñ¥é¥á¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_bounce_size_limit=¥Ð¥¦¥ó¥¹¤·¤¿¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º
opts_command_time_limit=³°Éô¥³¥Þ¥ó¥É¤Ø¤ÎÇÛ¿®¤ÎºÇÂç»þ´Ö
opts_default_process_limit=Postfix »Ò¥×¥í¥»¥¹¤ÎºÇÂç¿ô
opts_deliver_lock_attempts=¥Õ¥¡¥¤¥ë ¥í¥Ã¥¯¤ò³ÍÆÀ¤¹¤ë¤¿¤á¤ÎºÇÂç»î¹Ô¿ô
opts_deliver_lock_delay=¥Õ¥¡¥¤¥ë ¥í¥Ã¥¯»î¹Ô´Ö¤Î»þ´Ö (ÉÃ)
opts_duplicate_filter_limit=½ÅÊ£¥Õ¥£¥ë¥¿¤¬µ­²±¤¹¤ë¥¢¥É¥ì¥¹¤ÎºÇÂç¿ô
opts_fork_attempts=¥×¥í¥»¥¹¤ò fork (Ê¬´ô) ¤¹¤ëºÇÂç»î¹Ô¿ô
opts_fork_delay=fork (Ê¬´ô) »î¹Ô¤Î´Ö³Ö (ÉÃ)
opts_header_size_limit=¥Ø¥Ã¥À¤Î½èÍý¤Ë»ÈÍÑ¤µ¤ì¤ëºÇÂç¥á¥â¥ê
opts_line_length_limit=¹Ô¤ÎÆþÎÏ½èÍý¤Ë»ÈÍÑ¤µ¤ì¤ëºÇÂç¥á¥â¥ê
opts_message_size_limit=¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥µ¥¤¥º
opts_qmgr_message_active_limit=¥¢¥¯¥Æ¥£¥Ö¤Ê¥­¥å¡¼¤Î¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¿ô
opts_qmgr_message_recipient_limit=¥á¥â¥êÆâ¤Î¼õ¿®Â¦¤ÎºÇÂç¿ô
opts_queue_minfree=¥­¥å¡¼ ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎºÇ¾®¶õ¤­ÎÎ°è
opts_stale_lock_time=ÉÔÀ°¹ç¥í¥Ã¥¯²ò½ü¸å¤ÎºÇÂç»þ´Ö
opts_transport_retry_time=ÇËÂ»¤·¤¿ MDT ¤ËÀÜ¿¨¤ò»î¹Ô¤¹¤ë´Ö³Ö (ÉÃ)


opts_always_bcc=³Æ¥á¥Ã¥»¡¼¥¸¤Î bcc ¤ò¼õ¿®¤¹¤ë¥¢¥É¥ì¥¹
opts_always_bcc_none=¤Ê¤·
opts_daemon_timeout=Í×ÀÁ¤ò½èÍý¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_default_database_type=¥Ç¥Õ¥©¥ë¥È ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥¿¥¤¥×
opts_default_transport=¥Ç¥Õ¥©¥ë¥È ¥á¥Ã¥»¡¼¥¸ ÇÛ¿®¥È¥é¥ó¥¹¥Ý¡¼¥È
opts_double_bounce_sender=¥Ð¥¦¥ó¥¹ ¥á¡¼¥ë¤Îº¹½Ð¿Í¥¢¥É¥ì¥¹
opts_hash_queue_depth=¥­¥å¡¼ ¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Î¥µ¥Ö ¥Ç¥£¥ì¥¯¥È¥ê ¥ì¥Ù¥ë¿ô
opts_hash_queue_names=¥µ¥Ö ¥Ç¥£¥ì¥¯¥È¥ê¤ËÅÏ¤Ã¤ÆÊ¬³ä¤¹¤ë¥­¥å¡¼ ¥Ç¥£¥ì¥¯¥È¥ê¿ô
opts_hopcount_limit=ºÇÂç<tt>Received:</tt> ¥Ø¥Ã¥À¿ô
opts_ipc_idle=ÆâÉô IPC ¥¯¥é¥¤¥¢¥ó¥È¤¬ÀÚÃÇ¸å¤Î¥¢¥¤¥É¥ë»þ´Ö
opts_ipc_timeout=ÆâÉôÄÌ¿®¥Á¥ã¥Í¥ë¤ÎÆþ½ÐÎÏ¥¿¥¤¥à¥¢¥¦¥È
opts_mail_name=¥á¡¼¥ë ¥·¥¹¥Æ¥àÌ¾
opts_mail_version=¥ª¥Õ¥£¥·¥ã¥ë ¥á¡¼¥ë ¥·¥¹¥Æ¥à ¥Ð¡¼¥¸¥ç¥ó
opts_max_idle=¼¡¤Î¥µ¡¼¥Ó¥¹Í×ÀÁ¤ÎÂÔµ¡»þ´Ö
opts_max_use=½ªÎ»Á°¤Ë½èÍý¤µ¤ì¤ë¥µ¡¼¥Ó¥¹Í×ÀÁ¤ÎºÇÂç¿ô
opts_mydomain=¥í¡¼¥«¥ë ¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥É¥á¥¤¥óÌ¾
opts_mydomain_default=¥Ç¥Õ¥©¥ë¥È (¥·¥¹¥Æ¥à¤Ë¤è¤ê¶¡µë)
opts_myhostname=¤³¤Î¥á¡¼¥ë ¥·¥¹¥Æ¥à¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥Û¥¹¥ÈÌ¾
opts_myhostname_default=¥Ç¥Õ¥©¥ë¥È (¥·¥¹¥Æ¥à¤Ë¤è¤ê¶¡µë)
opts_mynetworks=¥í¡¼¥«¥ë ¥Í¥Ã¥È¥ï¡¼¥¯
opts_mynetworks_default=¥Ç¥Õ¥©¥ë¥È (¤¹¤Ù¤Æ¥Í¥Ã¥È¥ï¡¼¥¯¤ËÀÜÂ³)
opts_bounce_notice_recipient=¥Ý¥¹¥È¥Þ¥¹¥¿¡¼¤Ë bounce (¥Ð¥¦¥ó¥¹) ¤ÎÄÌÃÎ¤òÁ÷¿®...
opts_2bounce_notice_recipient=¥Ý¥¹¥È¥Þ¥¹¥¿¡¼¤Ë 2bounce (ÇÜ¤Î¥Ð¥¦¥ó¥¹)¤ÎÄÌÃÎ¤òÁ÷¿®..
opts_delay_notice_recipient=¥Ý¥¹¥È¥Þ¥¹¥¿¡¼¤ËÃÙ±ä¤ÎÄÌÃÎ¤òÁ÷¿®...
opts_error_notice_recipient=¥Ý¥¹¥È¥Þ¥¹¥¿¡¼¤Ë¥¨¥é¡¼¤ÎÄÌÃÎ¤òÁ÷¿®...
opts_process_id_directory=¥í¥Ã¥¯ ¥Õ¥¡¥¤¥ë ¥Ç¥£¥ì¥¯¥È¥ê¡¢¥­¥å¡¼ ¥Ç¥£¥ì¥¯¥È¥ê¤ËÁêÂÐ
opts_program_directory=Postfix ¥µ¥Ý¡¼¥È ¥×¥í¥°¥é¥à¤È¥Ç¡¼¥â¥ó ¥Ç¥£¥ì¥¯¥È¥ê
opts_recipient_delimiter=¥æ¡¼¥¶Ì¾/¥¢¥É¥ì¥¹³ÈÄ¥»Ò¤Î¥»¥Ñ¥ì¡¼¥¿
opts_relocated_maps_default=¥Ç¥Õ¥©¥ë¥È (Ìµ¸ú)
opts_sun_mailtool_compatibility=¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ç¥«¡¼¥Í¥ë ¥Õ¥¡¥¤¥ë¤Î¥í¥Ã¥¯¤òÌµ¸ú
opts_trigger_timeout=¥Ç¡¼¥â¥ó¤Ë¥È¥ê¥¬¡¼¤òÁ÷¿®¤¹¤ëºÇÂç»þ´Ö
opts_delay_warning_time=ÌµÇÛ¿®¤Î·Ù¹ð¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î»þ´Ö
opts_delay_warning_time_default=Ìµ¸ú


smtpd_title=SMTP ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó
smtpd_ecannot=SMTP ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_disable_vrfy_command=SMTP VRFY ¥³¥Þ¥ó¥É¤òÌµ¸ú
opts_smtpd_banner=SMTP ¥°¥ê¡¼¥Æ¥£¥ó¥° ¥Ð¥Ê¡¼
opts_smtpd_etrn_restrictions=ETRN ¥³¥Þ¥ó¥É¤ÎÀ©¸Â...
opts_smtpd_recipient_limit=ÇÛ¿®¤ÇµöÍÆµöÍÆ¤µ¤ì¤ëºÇÂç°¸Àè¿ô
opts_smtpd_timeout=SMTP ¥È¥é¥ó¥¶¥¯¥·¥ç¥ó¤Î¥¿¥¤¥à¥¢¥¦¥È (ÉÃ)
opts_smtpd_error_sleep_time=4xx/5xx ¥¨¥é¡¼±þÅú¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î¥¿¥¤¥à¥¢¥¦¥È
opts_smtpd_soft_error_limit=¥¯¥é¥¤¥¢¥ó¥È¤ò°ì»þÅª¤ËÌµ»ë¤¹¤ë¥¨¥é¡¼¿ô
opts_smtpd_hard_error_limit=ÀÜÂ³¤òÊÄ¤¸¤ë¥¨¥é¡¼¿ô
opts_smtpd_client_restrictions=¥¯¥é¥¤¥¢¥ó¥È ¥Û¥¹¥ÈÌ¾/¥¢¥É¥ì¥¹¤ÎÀ©¸Â
opts_smtpd_helo_required=HELO ¤¬É¬Í×¤Ç¤¹
opts_smtpd_helo_restrictions=HELO ¥³¥Þ¥ó¥É¤ÎÁ÷¿®À©¸Â
opts_smtpd_sender_restrictions=º¹½Ð¿Í¥¢¥É¥ì¥¹¤ÎÀ©¸Â
opts_smtpd_recipient_restrictions=°¸Àè¥¢¥É¥ì¥¹¤ÎÀ©¸Â
opts_allow_untrusted_routing=¿®Ç¤¤µ¤ì¤Ê¤¤¥ë¡¼¥Æ¥£¥ó¥°¤òµö²Ä
opts_maps_rbl_domains=¥Ö¥é¥Ã¥¯¥ê¥¹¥È¸¡º÷¤Î DNS ¥É¥á¥¤¥ó
opts_relay_domains=¥á¡¼¥ë ¥ê¥ì¡¼¤òÀ©¸Â
opts_access_map_reject_code=¥¢¥¯¥»¥¹ ¥Þ¥Ã¥×°ãÈ¿¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_invalid_hostname_reject_code=Ìµ¸ú¤Ê¥Û¥¹¥ÈÌ¾µñÈÝ¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_maps_rbl_reject_code=RBL ¥É¥á¥¤¥ó°ãÈ¿¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_reject_code=¥¯¥é¥¤¥¢¥ó¥ÈµñÈÝ¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_relay_domains_reject_code=¶Ø»ß¥ê¥ì¡¼¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_unknown_address_reject_code=ÉÔÌÀ¤Ê¥É¥á¥¤¥ó¤ÎµñÈÝ¤ÎSMTP ¥µ¡¼¥Ð±þÅú
opts_unknown_client_reject_code=ÉÔÌÀ¤Ê¥¯¥é¥¤¥¢¥ó¥ÈµñÈÝ¤Î SMTP ¥µ¡¼¥Ð±þÅú
opts_unknown_hostname_reject_code=ÉÔÌÀ¤Ê¥Û¥¹¥ÈÌ¾µñÈÝ¤Î SMTP ¥µ¡¼¥Ð±þÅú


smtp_title=SMTP ¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó
smtp_ecannot=SMTP ¥¯¥é¥¤¥¢¥ó¥È ¥ª¥×¥·¥ç¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_best_mx_transport=ºÇÅ¬ MX ¥Û¥¹¥È¤È¤·¤Æ¥ê¥¹¥È¤µ¤ì¤¿¤È¤­¤Î¥¢¥¯¥·¥ç¥ó
opts_best_mx_transport_default=¥Ç¥Õ¥©¥ë¥È (¥Ð¥¦¥ó¥¹ ¥á¥Ã¥»¡¼¥¸)
opts_fallback_relay=Ìµ¸ú¤Ê°¸Àè¤Î¥á¡¼¥ë¤òÅÏ¤¹¥Û¥¹¥È/¥É¥á¥¤¥ó
opts_ignore_mx_lookup_error=MX ¸¡º÷¥¨¥é¡¼¤òÌµ»ë
opts_smtp_skip_4xx_greeting=4xx ¥°¥ê¡¼¥Æ¥£¥ó¥°¤ò¥¹¥­¥Ã¥×
opts_smtp_skip_quit_response=QUIT ¥³¥Þ¥ó¥É¤ÎÂÔµ¡¤ò¥¹¥­¥Ã¥×
opts_smtp_destination_concurrency_limit=Æ±°ì¤Î°¸Àè¤Ø¤ÎÊÂÎóÇÛÁ÷¤ÎºÇÂç¿ô
opts_smtp_destination_recipient_limit=ÇÛ¿®¤´¤È¤Î¼õ¿®¼Ô¤ÎºÇÂç¿ô
opts_smtp_connect_timeout=TCP ÀÜÂ³´°Î»¤Î¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_helo_timeout=¥°¥ê¡¼¥Æ¥£¥ó¥° ¥Ð¥Ê¡¼¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_mail_timeout=MAIL FROM ¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_rcpt_timeout=RCPT TO ¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_data_init_timeout=DATA ¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_data_xfer_timeout=¥á¥Ã¥»¡¼¥¸ÆâÍÆ¤ÎÅ¾Á÷¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_data_done_timeout=&quot;.&quot; ¤Î½ªÎ»¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È
opts_smtp_quit_timeout=QUIT ¤Ø¤Î±þÅú¤òÂÔµ¡¤¹¤ë¥¿¥¤¥à¥¢¥¦¥È


rate_title=ÇÛ¿®¥ì¡¼¥È
rate_ecannot=ÇÛ¿® ¥ì¡¼¥È¤Î¥ª¥×¥·¥ç¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_default_destination_concurrency_limit=Æ±°ì¤Î°¸Àè¤Ø¤ÎÊÂÎóÇÛÁ÷¤ÎºÇÂç¿ô
opts_default_destination_recipient_limit=ÇÛ¿®¤´¤È¤Î¼õ¿®¼Ô¤ÎºÇÂç¿ô
opts_initial_destination_concurrency=Æ±°ì¤Î°¸Àè¤Ø¤ÎÇÛ¿®¤Î½é´üÊÂ¹Ô¥ì¥Ù¥ë
opts_maximal_backoff_time=¸å¤Ç¤Î¥á¥Ã¥»¡¼¥¸ÇÛ¿®¤ò»î¹Ô¤¹¤ë´Ö³Ö¤ÎºÇÂç¿ô (ÉÃ)
opts_maximal_queue_lifetime=¥á¥Ã¥»¡¼¥¸¤¬ÇÛ¿®ÉÔ²Ä¤Ë¤Ê¤ë¤Þ¤Ç¤Î¥­¥å¡¼¤ÎºÇÂç»þ´Ö (Æü)
opts_minimal_backoff_time=¸å¤Ç¤Î¥á¥Ã¥»¡¼¥¸ÇÛ¿®¤ò»î¹Ô¤¹¤ë´Ö³Ö¤ÎºÇÂç¿ô (ÉÃ)
opts_queue_run_delay=¸å¤Ç¤Î¥­¥å¡¼¤ò¥¹¥­¥ã¥ó¤¹¤ë´Ö³Ö (ÉÃ)
opts_defer_transports=ÇÛ¿®¤·¤Ê¤¤¥È¥é¥ó¥¹¥Ý¡¼¥È


debug_title=¥Ç¥Ð¥Ã¥°µ¡Ç½
debug_ecannot=¥Ç¥Ð¥Ã¥°µ¡Ç½¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_debug_peer_list=¾éÄ¹¥í¥°¤¬Í­¸ú¤Ê¥É¥á¥¤¥ó/¥Í¥Ã¥È¥ï¡¼¥¯ ¥Ñ¥¿¡¼¥ó¤Î¥ê¥¹¥È
opts_debug_peer_level=¾å¤Î¥ê¥¹¥È¤Ë°ìÃ×¤·¤¿¾ì¹ç¤Î¾éÄ¹¥í¥®¥ó¥° ¥ì¥Ù¥ë
debug_version=Webmin ÍÑ¤Î Postfix ¥â¥¸¥å¡¼¥ë - ¥Ð¡¼¥¸¥ç¥ó $1

ldap_title=LDAP ¤Î¸¡º÷
ldap_ecannot=LDAP ¸¡º÷¥ª¥×¥·¥ç¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ldap_non_existent=Postfix ¥·¥¹¥Æ¥à¤Ë LDAP ¤¬Â¸ºß¤·¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹
opts_ldap_lookup_timeout=LDAP ¥Ç¡¼¥¿¥Ù¡¼¥¹¸¡º÷¤Î¥¿¥¤¥à¥¢¥¦¥È
opts_ldap_search_base=¸¡º÷¤¹¤ë LDAP ¥Ç¡¼¥¿¥Ù¡¼¥¹
opts_ldap_server_host=LDAP ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾

canonical_title=Àµµ¬¥Þ¥Ã¥Ô¥ó¥°
canonical_ecannot=Àµµ¬¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_canonical_maps=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¸¡º÷¥Æ¡¼¥Ö¥ë
opts_recipient_canonical_maps=RECIPIENT ¥¢¥É¥ì¥¹¤Î¥Æ¡¼¥Ö¥ë
opts_sender_canonical_maps=SENDER ¥¢¥É¥ì¥¹¤Î¥Æ¡¼¥Ö¥ë
edit_canonical_maps=Àµµ¬¥Þ¥Ã¥×¤òÊÔ½¸
edit_recipient_canonical_maps=¼õ¿®¼ÔÀµµ¬¥Þ¥Ã¥×¤òÊÔ½¸
edit_sender_canonical_maps=Á÷¿®¼ÔÀµµ¬¥Þ¥Ã¥×¤òÊÔ½¸
edit_canonical_maps_general=Àµµ¬¥Þ¥Ã¥×¤òÊÔ½¸¤¹¤ë¤Ë¤Ï¤³¤ì¤é¤Î¥Ü¥¿¥ó¤Î¤¤¤º¤ì¤«¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤
canonical_edit_title=Àµµ¬¥Þ¥Ã¥×¤ÎÊÔ½¸

mapping_name=¥Þ¥Ã¥Ô¥ó¥°Ì¾
mapping_value=¥Þ¥Ã¥×Àè...
new_mapping=¿·µ¬¤Î¥Þ¥Ã¥Ô¥ó¥°
new_mappingmsg=¿·µ¬¤Î¥Þ¥Ã¥Ô¥ó¥°¤òºîÀ®¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤
map_save=¥Þ¥Ã¥Ô¥ó¥°¤ÎÊÝÂ¸
delete_map=¥Þ¥Ã¥Ô¥ó¥°¤Îºï½ü
edit_map_title=¥Þ¥Ã¥×¤ÎÊÔ½¸
map_save_err=¥Þ¥Ã¥Ô¥ó¥°¤ÎÊÝÂ¸Ãæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿
mapps_no_map_file=ÄêµÁ¤µ¤ì¤¿¥Þ¥Ã¥× ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
map_delete_failed=¥Þ¥Ã¥×¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
map_delete_create=ºîÀ®Ãæ¤Î¥Þ¥Ã¥×¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó
maps_internal_error=¥Þ¥Ã¥×:ÆâÉô¥¨¥é¡¼
maps_cant_write=½ñ¹þ¤ßÉÔ²Ä
help_map_format=·Á¼°¤ò»ØÄê¤·¤Æ¤¯¤À¤µ¤¤


virtual_title=²¾ÁÛ¥É¥á¥¤¥ó
virtual_ecannot=²¾ÁÛ¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°ÀßÄê¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_virtual_maps=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¸¡º÷¥Æ¡¼¥Ö¥ë

transport_title=¥Þ¥Ã¥Ô¥ó¥°¤Î¥È¥é¥ó¥¹¥Ý¡¼¥È
transport_ecannot=¥È¥é¥ó¥¹¥Ý¡¼¥È ¥Þ¥Ã¥Ô¥ó¥°ÀßÄê¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_transport_maps=¥È¥é¥ó¥¹¥Ý¡¼¥È ¥Þ¥Ã¥Ô¥ó¥°¸¡º÷¥Æ¡¼¥Ö¥ë

relocated_title=ºÆÇÛÃÖºÑ¤ß¥Þ¥Ã¥Ô¥ó¥°
relocated_ecannot=ºÆÇÛÃÖºÑ¤ß¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_relocated_maps=ºÆÇÛÃÖºÑ¤ß¥Þ¥Ã¥Ô¥ó¥°¸¡º÷¥Æ¡¼¥Ö¥ë

map_click=¥×¥í¥Ñ¥Æ¥£¤òÊÔ½¸¤¹¤ë¥Þ¥Ã¥Ô¥ó¥°¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤:
no_map=(¸½ºßÄêµÁ¤µ¤ì¤¿¥Þ¥Ã¥×¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤º¥Þ¥Ã¥×¤òÄêµÁ¤·¤Ê¤¤¤ÈÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£)
no_map2=¸½ºßÄêµÁ¤µ¤ì¤¿¥Þ¥Ã¥×¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤Þ¤º¥Þ¥Ã¥×¤òÄêµÁ¤·¤Ê¤¤¤ÈÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£

stop_efailed=Postfix ¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
stop_ecannot=Postfix ¤òÄä»ß¤Ç¤­¤Þ¤»¤ó

query_get_efailed=¥Ñ¥é¥á¡¼¥¿ $1 ¤Î¸½ºßÃÍ¤ò¼èÆÀ¤¹¤ë¤¿¤á¤Î Postfix ÀßÄê¥³¥Þ¥ó¥É¤ò¥¯¥¨¥ê¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: <tt>$2</tt>
query_set_efailed=¥Ñ¥é¥á¡¼¥¿ $1¤Î¸½ºßÃÍ¤ò$2¤ËÀßÄê¤¹¤ë¤¿¤á¤Î Postfix ÀßÄê¥³¥Þ¥ó¥É¤ò¥¯¥¨¥ê¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: <tt>$3</tt>
reload_ecannot=Postfix ¤òºÆ¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó
reload_efailed=Postfix ¤òºÆ¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
regenerate_ecannot=¥¨¥¤¥ê¥¢¥¹¤òºÆÅÙÀ¸À®¤Ç¤­¤Þ¤»¤ó
regenerate_alias_efailed=¥¨¥¤¥ê¥¢¥¹¤òºÆÅÙÀ¸À®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: <tt>$1</tt>
regenerate_table_efailed=¥Æ¡¼¥Ö¥ë $1 ¤òºÆÅÙÀ¸À®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: <tt>$2</tt>
0707010002fc6f000081a40000000000000002000000013d1fe2dd0000382c000000200000000000000000000000000000001d00000003reloc/postfix/lang/ja_JP.jis  index_title=Postfix ƒ[ƒ‹ ƒG[ƒWƒFƒ“ƒg
index_epath=Postfix §ŒäƒRƒ}ƒ“ƒh $1 ‚ªƒVƒXƒeƒ€‚ÉƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB‚²Žg—p‚Ì<a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚©APostfix ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B

internal_error=“à•”ƒGƒ‰[
index_econfig=Postfix Ý’èƒRƒ}ƒ“ƒh $1 ‚Í‘¶Ý‚µ‚Ü‚¹‚ñB‚²Žg—p‚Ì <a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_stop=Postfix ‚ð’âŽ~
index_start=Postfix ‚ðŠJŽn
index_stopmsg=ŽÀs’†‚ÌPostfix ƒ[ƒ‹ ƒT[ƒo‚ð’âŽ~‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ÍA‘¼‚ÌƒVƒXƒeƒ€‚©‚çƒ[ƒJƒ‹ ƒ†[ƒU‚Éƒ[ƒ‹‚ª”zM‚³‚ê‚é‚Ì‚ð’âŽ~‚µA‚±‚ÌƒVƒXƒeƒ€‚ðƒ[ƒ‹ ƒT[ƒo‚Æ‚µ‚ÄŽg—p’†‚ÌƒNƒ‰ƒCƒAƒ“ƒg‚ªƒ[ƒ‹‚ð‘—M‚·‚é‚Ì‚ð–h‚¬‚Ü‚·B
index_startmsg=Postfix ƒ[ƒ‹ ƒT[ƒo‚ð‹N“®‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ðŽÀs‚·‚é‚Ü‚Å‚ÍA‘¼‚ÌƒVƒXƒeƒ€‚©‚çƒ[ƒJƒ‹ ƒ†[ƒU‚Éƒ[ƒ‹‚Í”zM‚³‚ê‚¸AƒNƒ‰ƒCƒAƒ“ƒg‚Í‚±‚ÌƒVƒXƒeƒ€‚ðƒ[ƒ‹ ƒT[ƒo‚Æ‚µ‚ÄŽg—p‚Å‚«‚Ü‚¹‚ñB
opts_err=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

check_error=Œ»Ý‚Ì Postfix Ý’è‚ðŒŸ¸’†‚ÉƒGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½BPostfix Ý’è‚ðŽè“®‚ÅC³‚µ‚Ä‚­‚¾‚³‚¢B

address_rewriting_title=ƒAƒhƒŒƒX‚ÌÄ‘ž‚Ý‚Æƒ}ƒXƒJƒŒ[ƒh
address_rewriting_ecannot=ƒAƒhƒŒƒX‚ÌÄ‘ž‚Ý‚Æƒ}ƒXƒJƒŒ[ƒh‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
aliases_title=ƒ[ƒ‹ ƒGƒCƒŠƒAƒX
aliases_ecannot=ƒGƒCƒŠƒAƒX‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
aliases_no_alias_file=ƒGƒCƒŠƒAƒX ƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚¹‚ñ
aliases_failed_delete=ƒGƒCƒŠƒAƒX‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: $1
aliases_cant_write=ƒGƒCƒŠƒAƒX ƒtƒ@ƒCƒ‹‚É‘‚«ž‚ß‚Ü‚¹‚ñ
aliases_cant_read=ƒGƒCƒŠƒAƒX ƒtƒ@ƒCƒ‹‚ð“Ç‚Ýž‚ß‚Ü‚¹‚ñ
aliasopts_title=ƒGƒCƒŠƒAƒX ƒIƒvƒVƒ‡ƒ“
aliases_internal_error=ƒGƒCƒŠƒAƒX:“à•”ƒGƒ‰[
edit_alias_title=ƒGƒCƒŠƒAƒX ƒvƒƒpƒeƒB ƒGƒfƒBƒVƒ‡ƒ“
alias_save=ƒGƒCƒŠƒAƒX‚ð•Û‘¶
alias_save_err=ƒGƒCƒŠƒAƒX‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
alias_delete_create=Œ»Ýì¬’†‚ÌƒGƒCƒŠƒAƒX‚ðíœ‚µ‚Ä‚à‚æ‚ë‚µ‚¢‚Å‚·‚©H
delete_alias=ƒGƒCƒŠƒAƒX‚ðíœ
aliases_click=ƒvƒƒpƒeƒB‚ð•ÒW‚·‚éƒGƒCƒŠƒAƒX‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢:

general_title=ˆê”ÊƒIƒvƒVƒ‡ƒ“
general_title_sensible=Å‚à•Ö—˜‚Èˆê”ÊƒIƒvƒVƒ‡ƒ“
general_title_others=‚»‚Ì‘¼‚Ìˆê”ÊƒIƒvƒVƒ‡ƒ“
general_ecannot=ˆê”ÊƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñB
what_is_it=‰½‚Å‚·‚©H

opts_default=ƒfƒtƒHƒ‹ƒg
opts_none=‚È‚µ
opts_relayhost=ƒzƒXƒgŒo—R‚Åƒ[ƒ‹‚ð‘—M
opts_direct=’¼Ú”zM
opts_myorigin=”­Mƒ[ƒ‹‚ÅŽg—p‚·‚éƒhƒƒCƒ“
opts_myorigin_as_myhostname=ƒzƒXƒg–¼‚ðŽg—p
opts_myorigin_as_mydomain=ƒhƒƒCƒ“–¼‚ðŽg—p
opts_mydestination=ƒ[ƒ‹‚ðŽóM‚·‚éƒhƒƒCƒ“
opts_mydestination_default=ƒ[ƒJƒ‹ ƒ}ƒVƒ“
opts_mydestination_domainwide=ƒhƒƒCƒ“‘S‘Ì
opts_notify_classes=ƒ|ƒXƒgƒ}ƒXƒ^[‚É’Ê’m‚·‚é–â‘è
opts_queue_directory=ƒ[ƒ‹ ƒLƒ…[ ƒfƒBƒŒƒNƒgƒŠ
opts_mail_owner=ƒ[ƒ‹‚ÌŠ—LŽÒ
opts_default_privs=”zMƒG[ƒWƒFƒ“ƒg‚ÌƒfƒtƒHƒ‹ƒg‚ÌŒ —˜
opts_inet_interfaces=ƒ[ƒ‹ŽóM—p‚Ìƒlƒbƒgƒ[ƒN ƒCƒ“ƒ^[ƒtƒFƒCƒX
opts_all_interfaces=‚·‚×‚Ä

opts_local_recipient_maps=•s–¾‚Èƒ[ƒJƒ‹ ƒ†[ƒU‚ð‹‘”Û
opts_no=‚¢‚¢‚¦
opts_save=•Û‘¶‚µ‚Ä“K—p


opts_allow_percent_hack="user%domain" ‚ð "user@domain"‚ÉÄ‘ž‚Ý
opts_append_at_myorigin="user" ‚ð "user@$mydomain" ‚ÉÄ‘ž‚Ý
opts_append_dot_mydomain="user@host" ‚ð "user@host.$mydomain" ‚ÉÄ‘ž‚Ý
opts_empty_address_recipient=ŽóŽæl‚È‚µ‚Ìƒ[ƒ‹‚ð‘—M...
opt_empty_recip_default=ƒfƒtƒHƒ‹ƒg
opts_swap_bangpath="site!user" ‚ð "user@site" ‚ÉÄ‘ž‚Ý
opts_masquerade_domains=ƒAƒhƒŒƒX ƒ}ƒXƒJƒŒ[ƒh
opts_masquerade_exceptions=œŠO‚ðƒ}ƒXƒJƒŒ[ƒh
index_return=Postfix Ý’è


opts_alias_maps=ƒ[ƒJƒ‹”zMƒG[ƒWƒFƒ“ƒg‚ªŽg—p‚·‚éƒGƒCƒŠƒAƒX ƒf[ƒ^ƒx[ƒX
opts_alias_database=&quot;newaliases&quot; ƒRƒ}ƒ“ƒh‚Å\’z‚³‚ê‚½ƒGƒCƒŠƒAƒX ƒf[ƒ^ƒx[ƒX
aliases_warning=Œx<ul><li>Å‰‚ÌƒtƒB[ƒ‹ƒh‚ª‹ó‚Å‚È‚¢ê‡‚ÍAƒfƒtƒHƒ‹ƒg‚Ì Postfix ƒGƒCƒŠƒAƒX¶¬ƒRƒ}ƒ“ƒh‚ÍŠÖ˜A‚·‚éƒf[ƒ^ƒx[ƒX‚ð\’z‚·‚é‚½‚ß‚ÉŽg—p‚³‚êA<li>‚»‚¤‚Å‚È‚¯‚ê‚ÎSendmail ŒÝŠ·ƒRƒ}ƒ“ƒh &quot;newaliases&quot; ‚ªŽg—p‚³‚êA‚±‚ê‚Íƒf[ƒ^ƒx[ƒX‚Ì2”Ô–Ú‚ÌƒtƒB[ƒ‹ƒh‚Ìƒf[ƒ^ƒx[ƒX‚ðŽg—p‚µ‚Ü‚·B</ul>

aliases_name=ƒGƒCƒŠƒAƒX–¼
aliases_value=ƒGƒCƒŠƒAƒX‚Ì’l...

new_alias=V‹KƒGƒCƒŠƒAƒX‚ðì¬
new_aliasmsg=V‹K‚ÌƒGƒCƒŠƒAƒX‚ðì¬‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢


local_delivery_ecannot=ƒ[ƒJƒ‹”zMƒIƒvƒVƒ‡ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
local_delivery_title=ƒ[ƒJƒ‹”zM
opts_local_transport=ƒ[ƒJƒ‹”zM—p‚Ìƒgƒ‰ƒ“ƒXƒ|[ƒg–¼
opts_local_transport_local=ƒ[ƒJƒ‹
opts_local_command_shell=ŠO•”ƒRƒ}ƒ“ƒh‚Ö‚Ì”zM‚ÉŽg—p‚·‚éƒVƒFƒ‹
opts_local_command_shell_direct=‚È‚µ (ƒRƒ}ƒ“ƒh‚Ìƒ_ƒCƒŒƒNƒgŽÀs)
opts_forward_path=“]‘—‚ÉƒŠƒXƒg‚ðŒŸõ
opts_allow_mail_to_commands=ŠO•”ƒRƒ}ƒ“ƒh‚É—LŒø‚Èƒ[ƒ‹”zM
opts_allow_mail_to_files=ŠO•”ƒtƒ@ƒCƒ‹‚É—LŒø‚Èƒ[ƒ‹‚ð”zM
opts_home_mailbox=ƒ†[ƒU ƒ[ƒ‹ƒ{ƒbƒNƒX ƒtƒ@ƒCƒ‹‚Ìƒz[ƒ€‘Š‘ÎƒpƒX–¼
opts_home_mailbox_default=‚È‚µ (•W€‚Ì<tt>/var/something</tt> ‚ðŽg—p)
opts_luser_relay=•s–¾‚ÌŽóMŽÒ—p‚Ìˆ¶æƒAƒhƒŒƒX
opts_luser_relay_none=‚È‚µ (ƒoƒEƒ“ƒX ƒ[ƒ‹)
opts_mail_spool_directory=ƒXƒv[ƒ‹ ƒfƒBƒŒƒNƒgƒŠ
opts_mailbox_command=ƒ[ƒ‹ƒ{ƒbƒNƒX”zM‚Ì‘ã‚í‚è‚ÉŽg—p‚·‚éŠO•”ƒRƒ}ƒ“ƒh
opts_mailbox_command_none=‚È‚µ
opts_mailbox_transport=ƒIƒvƒVƒ‡ƒ“‚ÌŽÀÛ‚ÉŽg—p‚·‚éƒgƒ‰ƒ“ƒXƒ|[ƒg
opts_mailbox_transport_none=‚È‚µ
opts_fallback_transport=•s–¾‚ÈŽóMŽÒ—p‚ÌƒIƒvƒVƒ‡ƒ“‚Ìƒgƒ‰ƒ“ƒXƒ|[ƒg
opts_fallback_transport_none=‚È‚µ
opts_local_destination_concurrency_limit=“¯ˆêƒ[ƒJƒ‹ŽóMŽÒ‚Ö‚Ìƒpƒ‰ƒŒƒ‹”zM‚ÌÅ‘å”
opts_local_destination_recipient_limit=Šeƒ[ƒJƒ‹ ƒƒbƒZ[ƒW”zM‚²‚Æ‚ÌŽóMŽÒ‚ÌÅ‘å”
opts_local_destination_recipient_limit_default=ƒfƒtƒHƒ‹ƒg
opts_prepend_delivered_header=ŽŸ‚Ìê‡‚É<tt>Delivered-To:</tt> ‚ð‘O‚É•t‰Á...
opts_prepend_delivered_header_default=ƒfƒtƒHƒ‹ƒg


resource_title=ˆê”ÊƒŠƒ\[ƒX§Œä
resource_ecannot=ƒŠƒ\[ƒX§Œäƒpƒ‰ƒ[ƒ^‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_bounce_size_limit=ƒoƒEƒ“ƒX‚µ‚½ƒƒbƒZ[ƒW‚ÌÅ‘åƒTƒCƒY
opts_command_time_limit=ŠO•”ƒRƒ}ƒ“ƒh‚Ö‚Ì”zM‚ÌÅ‘åŽžŠÔ
opts_default_process_limit=Postfix ŽqƒvƒƒZƒX‚ÌÅ‘å”
opts_deliver_lock_attempts=ƒtƒ@ƒCƒ‹ ƒƒbƒN‚ðŠl“¾‚·‚é‚½‚ß‚ÌÅ‘åŽŽs”
opts_deliver_lock_delay=ƒtƒ@ƒCƒ‹ ƒƒbƒNŽŽsŠÔ‚ÌŽžŠÔ (•b)
opts_duplicate_filter_limit=d•¡ƒtƒBƒ‹ƒ^‚ª‹L‰¯‚·‚éƒAƒhƒŒƒX‚ÌÅ‘å”
opts_fork_attempts=ƒvƒƒZƒX‚ð fork (•ªŠò) ‚·‚éÅ‘åŽŽs”
opts_fork_delay=fork (•ªŠò) ŽŽs‚ÌŠÔŠu (•b)
opts_header_size_limit=ƒwƒbƒ_‚Ìˆ—‚ÉŽg—p‚³‚ê‚éÅ‘åƒƒ‚ƒŠ
opts_line_length_limit=s‚Ì“ü—Íˆ—‚ÉŽg—p‚³‚ê‚éÅ‘åƒƒ‚ƒŠ
opts_message_size_limit=ƒƒbƒZ[ƒW‚ÌÅ‘åƒTƒCƒY
opts_qmgr_message_active_limit=ƒAƒNƒeƒBƒu‚ÈƒLƒ…[‚ÌƒƒbƒZ[ƒW‚ÌÅ‘å”
opts_qmgr_message_recipient_limit=ƒƒ‚ƒŠ“à‚ÌŽóM‘¤‚ÌÅ‘å”
opts_queue_minfree=ƒLƒ…[ ƒtƒ@ƒCƒ‹ ƒVƒXƒeƒ€‚ÌÅ¬‹ó‚«—Ìˆæ
opts_stale_lock_time=•s®‡ƒƒbƒN‰ðœŒã‚ÌÅ‘åŽžŠÔ
opts_transport_retry_time=”j‘¹‚µ‚½ MDT ‚ÉÚG‚ðŽŽs‚·‚éŠÔŠu (•b)


opts_always_bcc=ŠeƒƒbƒZ[ƒW‚Ì bcc ‚ðŽóM‚·‚éƒAƒhƒŒƒX
opts_always_bcc_none=‚È‚µ
opts_daemon_timeout=—v¿‚ðˆ—‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_default_database_type=ƒfƒtƒHƒ‹ƒg ƒf[ƒ^ƒx[ƒX ƒ^ƒCƒv
opts_default_transport=ƒfƒtƒHƒ‹ƒg ƒƒbƒZ[ƒW ”zMƒgƒ‰ƒ“ƒXƒ|[ƒg
opts_double_bounce_sender=ƒoƒEƒ“ƒX ƒ[ƒ‹‚Ì·olƒAƒhƒŒƒX
opts_hash_queue_depth=ƒLƒ…[ ƒfƒBƒŒƒNƒgƒŠ‚Ì‰º‚ÌƒTƒu ƒfƒBƒŒƒNƒgƒŠ ƒŒƒxƒ‹”
opts_hash_queue_names=ƒTƒu ƒfƒBƒŒƒNƒgƒŠ‚É“n‚Á‚Ä•ªŠ„‚·‚éƒLƒ…[ ƒfƒBƒŒƒNƒgƒŠ”
opts_hopcount_limit=Å‘å<tt>Received:</tt> ƒwƒbƒ_”
opts_ipc_idle=“à•” IPC ƒNƒ‰ƒCƒAƒ“ƒg‚ªØ’fŒã‚ÌƒAƒCƒhƒ‹ŽžŠÔ
opts_ipc_timeout=“à•”’ÊMƒ`ƒƒƒlƒ‹‚Ì“üo—Íƒ^ƒCƒ€ƒAƒEƒg
opts_mail_name=ƒ[ƒ‹ ƒVƒXƒeƒ€–¼
opts_mail_version=ƒIƒtƒBƒVƒƒƒ‹ ƒ[ƒ‹ ƒVƒXƒeƒ€ ƒo[ƒWƒ‡ƒ“
opts_max_idle=ŽŸ‚ÌƒT[ƒrƒX—v¿‚Ì‘Ò‹@ŽžŠÔ
opts_max_use=I—¹‘O‚Éˆ—‚³‚ê‚éƒT[ƒrƒX—v¿‚ÌÅ‘å”
opts_mydomain=ƒ[ƒJƒ‹ ƒCƒ“ƒ^[ƒlƒbƒg ƒhƒƒCƒ“–¼
opts_mydomain_default=ƒfƒtƒHƒ‹ƒg (ƒVƒXƒeƒ€‚É‚æ‚è‹Ÿ‹‹)
opts_myhostname=‚±‚Ìƒ[ƒ‹ ƒVƒXƒeƒ€‚ÌƒCƒ“ƒ^[ƒlƒbƒg ƒzƒXƒg–¼
opts_myhostname_default=ƒfƒtƒHƒ‹ƒg (ƒVƒXƒeƒ€‚É‚æ‚è‹Ÿ‹‹)
opts_mynetworks=ƒ[ƒJƒ‹ ƒlƒbƒgƒ[ƒN
opts_mynetworks_default=ƒfƒtƒHƒ‹ƒg (‚·‚×‚Äƒlƒbƒgƒ[ƒN‚ÉÚ‘±)
opts_bounce_notice_recipient=ƒ|ƒXƒgƒ}ƒXƒ^[‚É bounce (ƒoƒEƒ“ƒX) ‚Ì’Ê’m‚ð‘—M...
opts_2bounce_notice_recipient=ƒ|ƒXƒgƒ}ƒXƒ^[‚É 2bounce (”{‚ÌƒoƒEƒ“ƒX)‚Ì’Ê’m‚ð‘—M..
opts_delay_notice_recipient=ƒ|ƒXƒgƒ}ƒXƒ^[‚É’x‰„‚Ì’Ê’m‚ð‘—M...
opts_error_notice_recipient=ƒ|ƒXƒgƒ}ƒXƒ^[‚ÉƒGƒ‰[‚Ì’Ê’m‚ð‘—M...
opts_process_id_directory=ƒƒbƒN ƒtƒ@ƒCƒ‹ ƒfƒBƒŒƒNƒgƒŠAƒLƒ…[ ƒfƒBƒŒƒNƒgƒŠ‚É‘Š‘Î
opts_program_directory=Postfix ƒTƒ|[ƒg ƒvƒƒOƒ‰ƒ€‚Æƒf[ƒ‚ƒ“ ƒfƒBƒŒƒNƒgƒŠ
opts_recipient_delimiter=ƒ†[ƒU–¼/ƒAƒhƒŒƒXŠg’£Žq‚ÌƒZƒpƒŒ[ƒ^
opts_relocated_maps_default=ƒfƒtƒHƒ‹ƒg (–³Œø)
opts_sun_mailtool_compatibility=ƒ[ƒ‹ƒ{ƒbƒNƒX‚ÅƒJ[ƒlƒ‹ ƒtƒ@ƒCƒ‹‚ÌƒƒbƒN‚ð–³Œø
opts_trigger_timeout=ƒf[ƒ‚ƒ“‚ÉƒgƒŠƒK[‚ð‘—M‚·‚éÅ‘åŽžŠÔ
opts_delay_warning_time=–³”zM‚ÌŒx‚ð‘—M‚·‚é‚Ü‚Å‚ÌŽžŠÔ
opts_delay_warning_time_default=–³Œø


smtpd_title=SMTP ƒT[ƒo ƒIƒvƒVƒ‡ƒ“
smtpd_ecannot=SMTP ƒT[ƒo ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_disable_vrfy_command=SMTP VRFY ƒRƒ}ƒ“ƒh‚ð–³Œø
opts_smtpd_banner=SMTP ƒOƒŠ[ƒeƒBƒ“ƒO ƒoƒi[
opts_smtpd_etrn_restrictions=ETRN ƒRƒ}ƒ“ƒh‚Ì§ŒÀ...
opts_smtpd_recipient_limit=”zM‚Å‹–—e‹–—e‚³‚ê‚éÅ‘åˆ¶æ”
opts_smtpd_timeout=SMTP ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ìƒ^ƒCƒ€ƒAƒEƒg (•b)
opts_smtpd_error_sleep_time=4xx/5xx ƒGƒ‰[‰ž“š‚ð‘—M‚·‚é‚Ü‚Å‚Ìƒ^ƒCƒ€ƒAƒEƒg
opts_smtpd_soft_error_limit=ƒNƒ‰ƒCƒAƒ“ƒg‚ðˆêŽž“I‚É–³Ž‹‚·‚éƒGƒ‰[”
opts_smtpd_hard_error_limit=Ú‘±‚ð•Â‚¶‚éƒGƒ‰[”
opts_smtpd_client_restrictions=ƒNƒ‰ƒCƒAƒ“ƒg ƒzƒXƒg–¼/ƒAƒhƒŒƒX‚Ì§ŒÀ
opts_smtpd_helo_required=HELO ‚ª•K—v‚Å‚·
opts_smtpd_helo_restrictions=HELO ƒRƒ}ƒ“ƒh‚Ì‘—M§ŒÀ
opts_smtpd_sender_restrictions=·olƒAƒhƒŒƒX‚Ì§ŒÀ
opts_smtpd_recipient_restrictions=ˆ¶æƒAƒhƒŒƒX‚Ì§ŒÀ
opts_allow_untrusted_routing=M”C‚³‚ê‚È‚¢ƒ‹[ƒeƒBƒ“ƒO‚ð‹–‰Â
opts_maps_rbl_domains=ƒuƒ‰ƒbƒNƒŠƒXƒgŒŸõ‚Ì DNS ƒhƒƒCƒ“
opts_relay_domains=ƒ[ƒ‹ ƒŠƒŒ[‚ð§ŒÀ
opts_access_map_reject_code=ƒAƒNƒZƒX ƒ}ƒbƒvˆá”½‚Ì SMTP ƒT[ƒo‰ž“š
opts_invalid_hostname_reject_code=–³Œø‚ÈƒzƒXƒg–¼‹‘”Û‚Ì SMTP ƒT[ƒo‰ž“š
opts_maps_rbl_reject_code=RBL ƒhƒƒCƒ“ˆá”½‚Ì SMTP ƒT[ƒo‰ž“š
opts_reject_code=ƒNƒ‰ƒCƒAƒ“ƒg‹‘”Û‚Ì SMTP ƒT[ƒo‰ž“š
opts_relay_domains_reject_code=‹ÖŽ~ƒŠƒŒ[‚Ì SMTP ƒT[ƒo‰ž“š
opts_unknown_address_reject_code=•s–¾‚ÈƒhƒƒCƒ“‚Ì‹‘”Û‚ÌSMTP ƒT[ƒo‰ž“š
opts_unknown_client_reject_code=•s–¾‚ÈƒNƒ‰ƒCƒAƒ“ƒg‹‘”Û‚Ì SMTP ƒT[ƒo‰ž“š
opts_unknown_hostname_reject_code=•s–¾‚ÈƒzƒXƒg–¼‹‘”Û‚Ì SMTP ƒT[ƒo‰ž“š


smtp_title=SMTP ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“
smtp_ecannot=SMTP ƒNƒ‰ƒCƒAƒ“ƒg ƒIƒvƒVƒ‡ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_best_mx_transport=Å“K MX ƒzƒXƒg‚Æ‚µ‚ÄƒŠƒXƒg‚³‚ê‚½‚Æ‚«‚ÌƒAƒNƒVƒ‡ƒ“
opts_best_mx_transport_default=ƒfƒtƒHƒ‹ƒg (ƒoƒEƒ“ƒX ƒƒbƒZ[ƒW)
opts_fallback_relay=–³Œø‚Èˆ¶æ‚Ìƒ[ƒ‹‚ð“n‚·ƒzƒXƒg/ƒhƒƒCƒ“
opts_ignore_mx_lookup_error=MX ŒŸõƒGƒ‰[‚ð–³Ž‹
opts_smtp_skip_4xx_greeting=4xx ƒOƒŠ[ƒeƒBƒ“ƒO‚ðƒXƒLƒbƒv
opts_smtp_skip_quit_response=QUIT ƒRƒ}ƒ“ƒh‚Ì‘Ò‹@‚ðƒXƒLƒbƒv
opts_smtp_destination_concurrency_limit=“¯ˆê‚Ìˆ¶æ‚Ö‚Ì•À—ñ”z‘—‚ÌÅ‘å”
opts_smtp_destination_recipient_limit=”zM‚²‚Æ‚ÌŽóMŽÒ‚ÌÅ‘å”
opts_smtp_connect_timeout=TCP Ú‘±Š®—¹‚Ìƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_helo_timeout=ƒOƒŠ[ƒeƒBƒ“ƒO ƒoƒi[‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_mail_timeout=MAIL FROM ‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_rcpt_timeout=RCPT TO ‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_data_init_timeout=DATA ‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_data_xfer_timeout=ƒƒbƒZ[ƒW“à—e‚Ì“]‘—‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_data_done_timeout=&quot;.&quot; ‚ÌI—¹‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg
opts_smtp_quit_timeout=QUIT ‚Ö‚Ì‰ž“š‚ð‘Ò‹@‚·‚éƒ^ƒCƒ€ƒAƒEƒg


rate_title=”zMƒŒ[ƒg
rate_ecannot=”zM ƒŒ[ƒg‚ÌƒIƒvƒVƒ‡ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_default_destination_concurrency_limit=“¯ˆê‚Ìˆ¶æ‚Ö‚Ì•À—ñ”z‘—‚ÌÅ‘å”
opts_default_destination_recipient_limit=”zM‚²‚Æ‚ÌŽóMŽÒ‚ÌÅ‘å”
opts_initial_destination_concurrency=“¯ˆê‚Ìˆ¶æ‚Ö‚Ì”zM‚Ì‰Šú•ÀsƒŒƒxƒ‹
opts_maximal_backoff_time=Œã‚Å‚ÌƒƒbƒZ[ƒW”zM‚ðŽŽs‚·‚éŠÔŠu‚ÌÅ‘å” (•b)
opts_maximal_queue_lifetime=ƒƒbƒZ[ƒW‚ª”zM•s‰Â‚É‚È‚é‚Ü‚Å‚ÌƒLƒ…[‚ÌÅ‘åŽžŠÔ (“ú)
opts_minimal_backoff_time=Œã‚Å‚ÌƒƒbƒZ[ƒW”zM‚ðŽŽs‚·‚éŠÔŠu‚ÌÅ‘å” (•b)
opts_queue_run_delay=Œã‚Å‚ÌƒLƒ…[‚ðƒXƒLƒƒƒ“‚·‚éŠÔŠu (•b)
opts_defer_transports=”zM‚µ‚È‚¢ƒgƒ‰ƒ“ƒXƒ|[ƒg


debug_title=ƒfƒoƒbƒO‹@”\
debug_ecannot=ƒfƒoƒbƒO‹@”\‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_debug_peer_list=ç’·ƒƒO‚ª—LŒø‚ÈƒhƒƒCƒ“/ƒlƒbƒgƒ[ƒN ƒpƒ^[ƒ“‚ÌƒŠƒXƒg
opts_debug_peer_level=ã‚ÌƒŠƒXƒg‚Éˆê’v‚µ‚½ê‡‚Ìç’·ƒƒMƒ“ƒO ƒŒƒxƒ‹
debug_version=Webmin —p‚Ì Postfix ƒ‚ƒWƒ…[ƒ‹ - ƒo[ƒWƒ‡ƒ“ $1

ldap_title=LDAP ‚ÌŒŸõ
ldap_ecannot=LDAP ŒŸõƒIƒvƒVƒ‡ƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
ldap_non_existent=Postfix ƒVƒXƒeƒ€‚É LDAP ‚ª‘¶Ý‚µ‚È‚¢‚ÆŽv‚í‚ê‚Ü‚·
opts_ldap_lookup_timeout=LDAP ƒf[ƒ^ƒx[ƒXŒŸõ‚Ìƒ^ƒCƒ€ƒAƒEƒg
opts_ldap_search_base=ŒŸõ‚·‚é LDAP ƒf[ƒ^ƒx[ƒX
opts_ldap_server_host=LDAP ƒT[ƒo ƒzƒXƒg–¼

canonical_title=³‹Kƒ}ƒbƒsƒ“ƒO
canonical_ecannot=³‹Kƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_canonical_maps=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒOŒŸõƒe[ƒuƒ‹
opts_recipient_canonical_maps=RECIPIENT ƒAƒhƒŒƒX‚Ìƒe[ƒuƒ‹
opts_sender_canonical_maps=SENDER ƒAƒhƒŒƒX‚Ìƒe[ƒuƒ‹
edit_canonical_maps=³‹Kƒ}ƒbƒv‚ð•ÒW
edit_recipient_canonical_maps=ŽóMŽÒ³‹Kƒ}ƒbƒv‚ð•ÒW
edit_sender_canonical_maps=‘—MŽÒ³‹Kƒ}ƒbƒv‚ð•ÒW
edit_canonical_maps_general=³‹Kƒ}ƒbƒv‚ð•ÒW‚·‚é‚É‚Í‚±‚ê‚ç‚Ìƒ{ƒ^ƒ“‚Ì‚¢‚¸‚ê‚©‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢
canonical_edit_title=³‹Kƒ}ƒbƒv‚Ì•ÒW

mapping_name=ƒ}ƒbƒsƒ“ƒO–¼
mapping_value=ƒ}ƒbƒvæ...
new_mapping=V‹K‚Ìƒ}ƒbƒsƒ“ƒO
new_mappingmsg=V‹K‚Ìƒ}ƒbƒsƒ“ƒO‚ðì¬‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢
map_save=ƒ}ƒbƒsƒ“ƒO‚Ì•Û‘¶
delete_map=ƒ}ƒbƒsƒ“ƒO‚Ìíœ
edit_map_title=ƒ}ƒbƒv‚Ì•ÒW
map_save_err=ƒ}ƒbƒsƒ“ƒO‚Ì•Û‘¶’†‚ÉƒGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½
mapps_no_map_file=’è‹`‚³‚ê‚½ƒ}ƒbƒv ƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚¹‚ñ
map_delete_failed=ƒ}ƒbƒv‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: $1
map_delete_create=ì¬’†‚Ìƒ}ƒbƒv‚Ííœ‚Å‚«‚Ü‚¹‚ñ
maps_internal_error=ƒ}ƒbƒv:“à•”ƒGƒ‰[
maps_cant_write=‘ž‚Ý•s‰Â
help_map_format=Œ`Ž®‚ðŽw’è‚µ‚Ä‚­‚¾‚³‚¢


virtual_title=‰¼‘zƒhƒƒCƒ“
virtual_ecannot=‰¼‘zƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒOÝ’è‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_virtual_maps=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒOŒŸõƒe[ƒuƒ‹

transport_title=ƒ}ƒbƒsƒ“ƒO‚Ìƒgƒ‰ƒ“ƒXƒ|[ƒg
transport_ecannot=ƒgƒ‰ƒ“ƒXƒ|[ƒg ƒ}ƒbƒsƒ“ƒOÝ’è‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_transport_maps=ƒgƒ‰ƒ“ƒXƒ|[ƒg ƒ}ƒbƒsƒ“ƒOŒŸõƒe[ƒuƒ‹

relocated_title=Ä”z’uÏ‚Ýƒ}ƒbƒsƒ“ƒO
relocated_ecannot=Ä”z’uÏ‚Ýƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_relocated_maps=Ä”z’uÏ‚Ýƒ}ƒbƒsƒ“ƒOŒŸõƒe[ƒuƒ‹

map_click=ƒvƒƒpƒeƒB‚ð•ÒW‚·‚éƒ}ƒbƒsƒ“ƒO‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢:
no_map=(Œ»Ý’è‹`‚³‚ê‚½ƒ}ƒbƒv‚Í‚ ‚è‚Ü‚¹‚ñB‚Ü‚¸ƒ}ƒbƒv‚ð’è‹`‚µ‚È‚¢‚Æ•ÒW‚Å‚«‚Ü‚¹‚ñB)
no_map2=Œ»Ý’è‹`‚³‚ê‚½ƒ}ƒbƒv‚Í‚ ‚è‚Ü‚¹‚ñB‚Ü‚¸ƒ}ƒbƒv‚ð’è‹`‚µ‚È‚¢‚Æ•ÒW‚Å‚«‚Ü‚¹‚ñB

stop_efailed=Postfix ‚ð’âŽ~‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
stop_ecannot=Postfix ‚ð’âŽ~‚Å‚«‚Ü‚¹‚ñ

query_get_efailed=ƒpƒ‰ƒ[ƒ^ $1 ‚ÌŒ»Ý’l‚ðŽæ“¾‚·‚é‚½‚ß‚Ì Postfix Ý’èƒRƒ}ƒ“ƒh‚ðƒNƒGƒŠ[‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: <tt>$2</tt>
query_set_efailed=ƒpƒ‰ƒ[ƒ^ $1‚ÌŒ»Ý’l‚ð$2‚ÉÝ’è‚·‚é‚½‚ß‚Ì Postfix Ý’èƒRƒ}ƒ“ƒh‚ðƒNƒGƒŠ[‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: <tt>$3</tt>
reload_ecannot=Postfix ‚ðÄƒ[ƒh‚Å‚«‚Ü‚¹‚ñ
reload_efailed=Postfix ‚ðÄƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B
regenerate_ecannot=ƒGƒCƒŠƒAƒX‚ðÄ“x¶¬‚Å‚«‚Ü‚¹‚ñ
regenerate_alias_efailed=ƒGƒCƒŠƒAƒX‚ðÄ“x¶¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: <tt>$1</tt>
regenerate_table_efailed=ƒe[ƒuƒ‹ $1 ‚ðÄ“x¶¬‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½: <tt>$2</tt>
0707010002fc70000081a40000000000000002000000013d1fe2dd0000343a000000200000000000000000000000000000001d00000003reloc/postfix/lang/ko_KR.euc  index_title=Postfix ¸ÞÀÏ ¿¡ÀÌÀüÆ®
index_epath=Postfix Á¦¾î ¸í·É $1ÀÌ(°¡) ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾Ê°Å³ª Postfix°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.

internal_error=³»ºÎ ¿À·ù
index_econfig=Postfix ±¸¼º ¸í·É $1ÀÌ(°¡) ¾ø½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_stop=Postfix ÁßÁö
index_start=Postfix ½ÃÀÛ
index_stopmsg=Postfix ¸ÞÀÏ ¼­¹ö ½ÇÇàÀ» ÁßÁöÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ ·ÎÄÃ »ç¿ëÀÚ·ÎÀÇ ¸ÞÀÏ Àü´ÞÀÌ ÁßÁöµÇ¸ç, Å¬¶óÀÌ¾ðÆ®°¡ ÀÌ ½Ã½ºÅÛÀ» ¸ÞÀÏ ¼­¹ö·Î »ç¿ëÇÏ¿© ¸ÞÀÏÀ» Àü¼ÛÇÏÁö ¸øÇÏ°Ô µË´Ï´Ù.
index_startmsg=Postfix ¸ÞÀÏ ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ÀÌ ¹öÆ°À» ´©¸£±â Àü¿¡´Â ¸ÞÀÏÀÌ ´Ù¸¥ ½Ã½ºÅÛÀÇ ·ÎÄÃ »ç¿ëÀÚ¿¡°Ô ¹è´ÞµÇÁö ¾ÊÀ¸¸ç Å¬¶óÀÌ¾ðÆ®°¡ ÀÌ ½Ã½ºÅÛÀ» ¸ÞÀÏ ¼­¹ö·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
opts_err=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

check_error=ÇöÀç Postfix ±¸¼ºÀ» °Ë»çÇÏ´Â µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù. Postfix ±¸¼ºÀ» ¼öµ¿À¸·Î ¼öÁ¤ÇÏ½Ê½Ã¿À.

address_rewriting_title=ÁÖ¼Ò °íÃÄ¾²±â ¹× °¡»óÈ­
address_rewriting_ecannot=ÁÖ¼Ò °íÃÄ¾²±â ¹× °¡»óÈ­¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
aliases_title=¸ÞÀÏ º°Äª
aliases_ecannot=º°ÄªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
aliases_no_alias_file=º°Äª ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
aliases_failed_delete=º°ÄªÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù: $1
aliases_cant_write=º°Äª ÆÄÀÏ¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù
aliases_cant_read=º°Äª ÆÄÀÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù
aliasopts_title=º°Äª ¿É¼Ç
aliases_internal_error=º°Äª: ³»ºÎ ¿À·ù
edit_alias_title=º°Äª µî·Ï Á¤º¸ ÆíÁý
alias_save=º°Äª ÀúÀå
alias_save_err=º°ÄªÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
alias_delete_create=ÇöÀç ÀÛ¼º ÁßÀÎ º°ÄªÀ» »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
delete_alias=º°Äª »èÁ¦
aliases_click=µî·Ï Á¤º¸¸¦ ÆíÁýÇÒ º°ÄªÀ» ´©¸£½Ê½Ã¿À:

general_title=ÀÏ¹Ý ¿É¼Ç
general_title_sensible=°¡Àå À¯¿ëÇÑ ÀÏ¹Ý ¿É¼Ç
general_title_others=±âÅ¸ ÀÏ¹Ý ¿É¼Ç
general_ecannot=ÀÏ¹Ý ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
what_is_it=¹«¾ùÀÔ´Ï±î?

opts_default=±âº»°ª
opts_none=¾øÀ½
opts_relayhost=È£½ºÆ®¸¦ ÅëÇØ ¹ß½Å ¸ÞÀÏ Àü¼Û
opts_direct=Á÷Á¢ ¹è´Þ
opts_myorigin=¾Æ¿ô¹Ù¿îµå ¸ÞÀÏ¿¡ »ç¿ëÇÒ µµ¸ÞÀÎ
opts_myorigin_as_myhostname=È£½ºÆ® ÀÌ¸§ »ç¿ë
opts_myorigin_as_mydomain=µµ¸ÞÀÎ ÀÌ¸§ »ç¿ë
opts_mydestination=¸ÞÀÏÀ» ¹ÞÀ» µµ¸ÞÀÎ
opts_mydestination_default=·ÎÄÃ ½Ã½ºÅÛ
opts_mydestination_domainwide=ÀüÃ¼ µµ¸ÞÀÎ
opts_notify_classes=Æ÷½ºÆ®¸¶½ºÅÍ¿¡°Ô º¸°íÇÒ ¹®Á¦
opts_queue_directory=¸ÞÀÏ ´ë±â¿­ µð·ºÅä¸®
opts_mail_owner=¸ÞÀÏ ¼ÒÀ¯ÀÚ
opts_default_privs=¹è´Þ ¿¡ÀÌÀüÆ®ÀÇ ±âº» ±ÇÇÑ
opts_inet_interfaces=¸ÞÀÏ ¼ö½Å¿ë ³×Æ®¿öÅ© ÀÎÅÍÆäÀÌ½º
opts_all_interfaces=¸ðµÎ

opts_local_recipient_maps=¾Ë ¼ö ¾ø´Â ·ÎÄÃ »ç¿ëÀÚ °ÅºÎ
opts_no=¾Æ´Ï¿À
opts_save=ÀúÀå ¹× Àû¿ë


opts_allow_percent_hack="user%domain"À» "user@domain"À¸·Î °íÃÄ¾²±â
opts_append_at_myorigin="user"¸¦ "user@$mydomain"À¸·Î °íÃÄ¾²±â
opts_append_dot_mydomain="user@host"¸¦ "user@host.$mydomain"À¸·Î °íÃÄ¾²±â
opts_empty_address_recipient=¼ö½ÅÀÚ ¾øÀÌ ¸ÞÀÏ Àü¼Û...
opt_empty_recip_default=±âº»°ª
opts_swap_bangpath="site!user"¸¦ "user@site"·Î °íÃÄ¾²±â
opts_masquerade_domains=ÁÖ¼Ò °¡»óÈ­
opts_masquerade_exceptions=°¡»óÈ­ ¿¹¿Ü
index_return=Postfix ±¸¼º


opts_alias_maps=·ÎÄÃ ¹è´Þ ¿¡ÀÌÀüÆ®¿¡ »ç¿ëµÇ´Â º°Äª µ¥ÀÌÅÍº£ÀÌ½º
opts_alias_database=&quot;newaliases&quot; ¸í·ÉÀ¸·Î ÀÛ¼ºµÇ´Â º°Äª µ¥ÀÌÅÍº£ÀÌ½º
aliases_warning=°æ°í: <ul><li>Ã¹¹øÂ° ÇÊµå°¡ Ã¤¿öÁ® ÀÖÀ¸¸é ÇØ´ç µ¥ÀÌÅÍº£ÀÌ½º¸¦ ±¸ÃàÇÏ´Â µ¥ ±âº» Postfix º°Äª »ý¼º ¸í·ÉÀÌ »ç¿ëµË´Ï´Ù. <li>sendmail È£È¯ ¸í·É &quot;newaliases&quot;°¡ »ç¿ëµÇ´Â °æ¿ì¿¡´Â µÎ¹øÂ° ÇÊµåÀÇ µ¥ÀÌÅÍº£ÀÌ½º°¡ »ç¿ëµË´Ï´Ù.</ul>

aliases_name=ÀÌ¸§
aliases_value=º°Äª...

new_alias=»õ º°Äª ÀÛ¼º
new_aliasmsg=»õ º°ÄªÀ» ÀÛ¼ºÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À


local_delivery_ecannot=·ÎÄÃ ¹è´Þ ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
local_delivery_title=·ÎÄÃ ¹è´Þ
opts_local_transport=·ÎÄÃ ¹è´Þ¿¡ »ç¿ëÇÒ Àü¼Û ÀÌ¸§
opts_local_transport_local=·ÎÄÃ
opts_local_command_shell=¿ÜºÎ ¸í·ÉÀ¸·Î ¹è´ÞÇÏ´Â µ¥ »ç¿ëÇÒ ½©
opts_local_command_shell_direct=¾øÀ½(¸í·É Á÷Á¢ ½ÇÇà)
opts_forward_path=¸ñ·Ï¿¡¼­ Àü´Þ °Ë»ö
opts_allow_mail_to_commands=¿ÜºÎ ¸í·ÉÀ¸·ÎÀÇ À¯È¿ÇÑ ¸ÞÀÏ ¹è´Þ
opts_allow_mail_to_files=¿ÜºÎ ÆÄÀÏ·ÎÀÇ À¯È¿ÇÑ ¸ÞÀÏ ¹è´Þ
opts_home_mailbox=»ç¿ëÀÚ ¸ÞÀÏ¹Ú½º ÆÄÀÏÀÇ È¨ »ó´ë °æ·Î ÀÌ¸§
opts_home_mailbox_default=¾øÀ½(Ç¥ÁØ <tt>/var/something</tt> »ç¿ë)
opts_luser_relay=¾Ë ¼ö ¾ø´Â ¼ö½ÅÀÚÀÇ ¸ñÀûÁö ÁÖ¼Ò
opts_luser_relay_none=¾øÀ½(¹Ù¿î½º ¸ÞÀÏ)
opts_mail_spool_directory=½ºÇ® µð·ºÅä¸®
opts_mailbox_command=¸ÞÀÏ¹Ú½º ¹è´Þ ´ë½Å¿¡ »ç¿ëÇÒ ¿ÜºÎ ¸í·É
opts_mailbox_command_none=¾øÀ½
opts_mailbox_transport=»ç¿ëÇÒ ½ÇÁ¦ Àü¼Û(¼±ÅÃÀû)
opts_mailbox_transport_none=¾øÀ½
opts_fallback_transport=¾Ë ¼ö ¾ø´Â ¼ö½ÅÀÚ¸¦ À§ÇÑ Àü¼Û(¼±ÅÃÀû)
opts_fallback_transport_none=¾øÀ½
opts_local_destination_concurrency_limit=°°Àº ·ÎÄÃ ¼ö½ÅÀÚ¿¡°Ô µ¿½Ã¿¡ º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹è´Þ ¼ö
opts_local_destination_recipient_limit=·ÎÄÃ ¸Þ½ÃÁö ¹è´Þ ´ç ÃÖ´ë ¼ö½ÅÀÚ ¼ö
opts_local_destination_recipient_limit_default=±âº»°ª
opts_prepend_delivered_header=´ÙÀ½ °æ¿ì <tt>¹è´ÞÁö:</tt> Áö¿¬...
opts_prepend_delivered_header_default=±âº»°ª


resource_title=ÀÏ¹Ý ¸®¼Ò½º Á¦¾î
resource_ecannot=¸®¼Ò½º Á¦¾î ¸Å°³ º¯¼ö¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_bounce_size_limit=¹Ù¿î½ºµÈ ¸Þ½ÃÁöÀÇ ÃÖ´ë Å©±â
opts_command_time_limit=¿ÜºÎ ¸í·ÉÀ¸·ÎÀÇ ÃÖ´ë ¹è´Þ ½Ã°£
opts_default_process_limit=Postfix ÇÏÀ§ ÇÁ·Î¼¼½ºÀÇ ÃÖ´ë ¼ö
opts_deliver_lock_attempts=ÃÖ´ë ÆÄÀÏ Àá±Ý ½Ãµµ È½¼ö
opts_deliver_lock_delay=ÆÄÀÏ Àá±Ý ½Ãµµ °£°Ý(ÃÊ)
opts_duplicate_filter_limit=º¹Á¦ ÇÊÅÍ¿¡¼­ ÀúÀåÇÒ ÃÖ´ë ÁÖ¼Ò ¼ö
opts_fork_attempts=ÃÖ´ë ÇÁ·Î¼¼½º Æ÷Å© ½Ãµµ È½¼ö
opts_fork_delay=Æ÷Å© ½Ãµµ °£°Ý(ÃÊ)
opts_header_size_limit=header Ã³¸®¿¡ »ç¿ëµÇ´Â ÃÖ´ë ¸Þ¸ð¸® Å©±â
opts_line_length_limit=ÀÔ·Â Çà Ã³¸®¿¡ »ç¿ëµÇ´Â ÃÖ´ë ¸Þ¸ð¸® Å©±â
opts_message_size_limit=ÃÖ´ë ¸Þ½ÃÁö Å©±â
opts_qmgr_message_active_limit=È°¼º ´ë±â¿­ÀÇ ÃÖ´ë ¸Þ½ÃÁö ¼ö
opts_qmgr_message_recipient_limit=¸Þ¸ð¸® ³» ¼ö½ÅÀÚÀÇ ÃÖ´ë ¼ö
opts_queue_minfree=´ë±â¿­ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÃÖ¼Ò ¿©À¯ °ø°£
opts_stale_lock_time=½ºÅç Àá±ÝÀÌ ÇØÁ¦µÈ ÈÄ ÃÖ´ë ´ë±â ½Ã°£
opts_transport_retry_time=²÷¾îÁø MDT¿¡ ´ëÇÑ ¿¬°á ½Ãµµ °£°Ý(ÃÊ)


opts_always_bcc=°¢ ¸Þ½ÃÁöÀÇ ¼ûÀº ÂüÁ¶¸¦ ¹Þ´Â ÁÖ¼Ò
opts_always_bcc_none=¾øÀ½
opts_daemon_timeout=¿äÃ» Ã³¸® ½Ã°£ ÃÊ°ú
opts_default_database_type=±âº» µ¥ÀÌÅÍº£ÀÌ½º À¯Çü
opts_default_transport=±âº» ¸Þ½ÃÁö ¹è´Þ Àü¼Û
opts_double_bounce_sender=¹Ù¿î½º ¸ÞÀÏÀÇ ¹ß½ÅÀÚ ÁÖ¼Ò
opts_hash_queue_depth=´ë±â¿­ µð·ºÅä¸® ¾Æ·¡ÀÇ ÇÏÀ§ µð·ºÅä¸® ¼öÁØ ¼ö
opts_hash_queue_names=¿©·¯ ÇÏÀ§ µð·ºÅä¸®¿¡ °ÉÃÄ ºÐÇÒµÈ ´ë±â¿­ µð·ºÅä¸®ÀÇ ÀÌ¸§
opts_hopcount_limit=ÃÖ´ë <tt>¼ö½ÅÀÚ:</tt> header ¼ö
opts_ipc_idle=³»ºÎ IPC Å¬¶óÀÌ¾ðÆ® ¿¬°áÀÌ ²÷±ä ÈÄ À¯ÈÞ ½Ã°£
opts_ipc_timeout=³»ºÎ Åë½Å Ã¤³ÎÀÇ ÀÔ/Ãâ·Â ½Ã°£ ÃÊ°ú
opts_mail_name=¸ÞÀÏ ½Ã½ºÅÛ ÀÌ¸§
opts_mail_version=°ø½ÄÀûÀÎ ¸ÞÀÏ ½Ã½ºÅÛ ¹öÀü
opts_max_idle=´ÙÀ½¹ø ¼­ºñ½º ¿äÃ» ´ë±â ½Ã°£
opts_max_use=³¡³»±â Àü¿¡ Ã³¸®ÇÏ´Â ÃÖ´ë ¼­ºñ½º ¿äÃ» ¼ö
opts_mydomain=·ÎÄÃ ÀÎÅÍ³Ý µµ¸ÞÀÎ ÀÌ¸§
opts_mydomain_default=±âº»°ª(½Ã½ºÅÛ¿¡¼­ Á¦°ø)
opts_myhostname=ÀÌ ¸ÞÀÏ ½Ã½ºÅÛÀÇ ÀÎÅÍ³Ý È£½ºÆ® ÀÌ¸§
opts_myhostname_default=±âº»°ª(½Ã½ºÅÛ¿¡¼­ Á¦°ø)
opts_mynetworks=·ÎÄÃ ³×Æ®¿öÅ©
opts_mynetworks_default=±âº»°ª(¸ðµç ¿¬°áµÈ ³×Æ®¿öÅ©)
opts_bounce_notice_recipient=¹Ù¿î½º ½Ã Æ÷½ºÆ®¸¶½ºÅÍ ¾Ë¸² ¸Þ½ÃÁö Àü¼Û ´ë»ó...
opts_2bounce_notice_recipient=2È¸ ¹Ù¿î½º ½Ã Æ÷½ºÅÍ¸¶½ºÅÍ ¾Ë¸² ¸Þ½ÃÁö Àü¼Û ´ë»ó...
opts_delay_notice_recipient=Áö¿¬ ½Ã Æ÷½ºÆ®¸¶½ºÅÍ ¾Ë¸² ¸Þ½ÃÁö Àü¼Û ´ë»ó...
opts_error_notice_recipient=¿À·ù ½Ã Æ÷½ºÆ®¸¶½ºÅÍ ¾Ë¸² ¸Þ½ÃÁö Àü¼Û ´ë»ó...
opts_process_id_directory=Àá±Ý ÆÄÀÏ µð·ºÅä¸®(´ë±â¿­ µð·ºÅä¸®¿¡ »ó´ëÀû)
opts_program_directory=Postfix Áö¿ø ÇÁ·Î±×·¥ ¹× µ¥¸ó µð·ºÅä¸®
opts_recipient_delimiter=±¸ºÐÀÚÀÇ »ç¿ëÀÚ ÀÌ¸§/ÁÖ¼Ò È®ÀåÀÚ
opts_relocated_maps_default=±âº»°ª(»ç¿ë ºÒ´É)
opts_sun_mailtool_compatibility=¸ÞÀÏ¹Ú½ºÀÇ Ä¿³Î ÆÄÀÏ Àá±Ý »ç¿ë ºÒ´É
opts_trigger_timeout=µ¥¸ó¿¡ Æ®¸®°Å¸¦ Àü¼ÛÇÏ´Â ÃÖ´ë ½Ã°£
opts_delay_warning_time=¹è´Þ ¾ÈµÊ °æ°í¸¦ º¸³»±â Àü¿¡ ´ë±âÇÏ´Â ½Ã°£(½Ã)
opts_delay_warning_time_default=»ç¿ë ºÒ´É


smtpd_title=SMTP ¼­¹ö ¿É¼Ç
smtpd_ecannot=SMTP ¼­¹ö ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_disable_vrfy_command=SMTP VRFY ¸í·É »ç¿ë ºÒ´É
opts_smtpd_banner=SMTP ÀÎ»ç¸» ¹è³Ê
opts_smtpd_etrn_restrictions=ETRN ¸í·É Á¦ÇÑ ±âÁØ...
opts_smtpd_recipient_limit=¹è´ÞÀÌ Çã¿ëµÇ´Â ÃÖ´ë ¼ö½ÅÀÚ ¼ö
opts_smtpd_timeout=SMTP Æ®·£Àè¼Ç ½Ã°£ ÃÊ°ú(ÃÊ)
opts_smtpd_error_sleep_time=4xx/5xx ¿À·ù ÀÀ´äÀ» º¸³»±â Àü¿¡ ½Ã°£ ÃÊ°ú
opts_smtpd_soft_error_limit=ÀÏ½ÃÀûÀÎ Å¬¶óÀÌ¾ðÆ® ¹«½Ã¸¦ À§ÇÑ ¿À·ù Ä«¿îÆ®
opts_smtpd_hard_error_limit=¿¬°áÀ» ´Ý±â À§ÇÑ ¿À·ù Ä«¿îÆ®
opts_smtpd_client_restrictions=Å¬¶óÀÌ¾ðÆ® È£½ºÆ® ÀÌ¸§/ÁÖ¼Ò¿¡ ´ëÇÑ Á¦ÇÑ
opts_smtpd_helo_required=HELO ÇÊ¿ä
opts_smtpd_helo_restrictions=HELO ¸í·ÉÀÇ Àü¼Û¿¡ ´ëÇÑ Á¦ÇÑ
opts_smtpd_sender_restrictions=¹ß½ÅÀÚ ÁÖ¼Ò¿¡ ´ëÇÑ Á¦ÇÑ
opts_smtpd_recipient_restrictions=¼ö½ÅÀÚ ÁÖ¼Ò¿¡ ´ëÇÑ Á¦ÇÑ
opts_allow_untrusted_routing=½Å·ÚÇÒ ¼ö ¾ø´Â ¶ó¿ìÆÃ Çã¿ë
opts_maps_rbl_domains=ºí·¢¸®½ºÆ® Á¶È¸¿ë DNS µµ¸ÞÀÎ
opts_relay_domains=¸ÞÀÏ ¸±·¹ÀÌ Á¦ÇÑ
opts_access_map_reject_code=¸Ê À§¹Ý Á¢±Ù¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_invalid_hostname_reject_code=Àß¸øµÈ È£½ºÆ® ÀÌ¸§ °ÅºÎ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_maps_rbl_reject_code=RBL µµ¸ÞÀÎ À§¹Ý¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_reject_code=Å¬¶óÀÌ¾ðÆ® °ÅºÎ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_relay_domains_reject_code=±ÝÁöµÈ ¸±·¹ÀÌ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_unknown_address_reject_code=¾Ë ¼ö ¾ø´Â µµ¸ÞÀÎ °ÅºÎ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_unknown_client_reject_code=¾Ë ¼ö ¾ø´Â Å¬¶óÀÌ¾ðÆ® °ÅºÎ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä
opts_unknown_hostname_reject_code=¾Ë ¼ö ¾ø´Â È£½ºÆ® ÀÌ¸§ °ÅºÎ¿¡ ´ëÇÑ SMTP ¼­¹ö ÀÀ´ä


smtp_title=SMTP Å¬¶óÀÌ¾ðÆ® ¿É¼Ç
smtp_ecannot=SMTP Å¬¶óÀÌ¾ðÆ® ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_best_mx_transport=ÃÖ»óÀÇ MX È£½ºÆ®·Î ³ª¿­µÉ ¶§ÀÇ µ¿ÀÛ
opts_best_mx_transport_default=±âº»°ª(¹Ù¿î½º ¸Þ½ÃÁö)
opts_fallback_relay=Àß¸øµÈ ¸ñÀûÁö¿¡ ¸ÞÀÏÀ» º¸³¾ È£½ºÆ®/µµ¸ÞÀÎ
opts_ignore_mx_lookup_error=MX Á¶È¸ ¿À·ù ¹«½Ã
opts_smtp_skip_4xx_greeting=4xx ÀÎ»ç¸» »ý·«
opts_smtp_skip_quit_response=QUIT ¸í·É ´ë±â »ý·«
opts_smtp_destination_concurrency_limit=°°Àº ¸ñÀûÁöÀ¸·Î µ¿½Ã¿¡ º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹è´Þ ¼ö
opts_smtp_destination_recipient_limit=¹è´Þ ´ç ÃÖ´ë ¼ö½ÅÀÚ ¼ö
opts_smtp_connect_timeout=TCP ¿¬°á ¿Ï·á ½Ã°£ ÃÊ°ú
opts_smtp_helo_timeout=ÀÎ»ç¸» ¹è³Ê ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_mail_timeout=MAIL FROM¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_rcpt_timeout=RCPT TO¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_data_init_timeout=DATA¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_data_xfer_timeout=¸Þ½ÃÁö ³»¿ë Àü¼Û¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_data_done_timeout=&quot;.&quot; ³¡³»±â¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú
opts_smtp_quit_timeout=QUIT¿¡ ´ëÇÑ ÀÀ´ä ´ë±â ½Ã°£ ÃÊ°ú


rate_title=¹è´Þ ¼Óµµ
rate_ecannot=¹è´Þ ¼Óµµ ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_default_destination_concurrency_limit=°°Àº ¸ñÀûÁöÀ¸·Î µ¿½Ã¿¡ º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹è´Þ ¼ö
opts_default_destination_recipient_limit=¸Þ½ÃÁö ¹è´Þ ´ç ÃÖ´ë ¼ö½ÅÀÚ ¼ö
opts_initial_destination_concurrency=µ¿ÀÏÇÑ ¸ñÀûÁö·Î ¹è´ÞÇÒ ¶§ ÃÊ±â µ¿½Ã¼º ¼öÁØ
opts_maximal_backoff_time=Áö¿¬µÈ ¸Þ½ÃÁöÀÇ ÃÖ´ë ¹è´Þ ½Ãµµ °£°Ý(ÃÊ)
opts_maximal_queue_lifetime=¸Þ½ÃÁö°¡ ¹è´Þ ºÒ´É »óÅÂ·Î ¹Ù²î±â Àü¿¡ ´ë±â¿­¿¡ º¸°üµÇ´Â ÃÖ´ë ½Ã°£(ÀÏ)
opts_minimal_backoff_time=Áö¿¬µÈ ¸Þ½ÃÁöÀÇ ÃÖ¼Ò ¹è´Þ ½Ãµµ °£°Ý(ÃÊ)
opts_queue_run_delay=Áö¿¬µÈ ´ë±â¿­ÀÇ ½ºÄµ °£°Ý(ÃÊ)
opts_defer_transports=¹è´ÞÇÏ¸é ¾ÈµÇ´Â Àü¼Û


debug_title=µð¹ö±ë ±â´É
debug_ecannot=µð¹ö±ë ±â´ÉÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_debug_peer_list=ÀÚ¼¼ÇÑ Á¤º¸ ·Î±× ±â´ÉÀÌ ¼³Á¤µÈ µµ¸ÞÀÎ/³×Æ®¿öÅ© ÆÐÅÏ ¸ñ·Ï
opts_debug_peer_level=À§ ¸ñ·Ï°ú ÀÏÄ¡ÇÒ ¶§ÀÇ ÀÚ¼¼ÇÑ Á¤º¸ ·Î±× ±â·Ï ¼öÁØ
debug_version=WebminÀÇ Postfix ¸ðµâ - ¹öÀü $1

ldap_title=LDAP Á¶È¸
ldap_ecannot=LDAP Á¶È¸ ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ldap_non_existent=LDAP°¡ Postfix ½Ã½ºÅÛ¿¡ ¾øÀ» ¼ö ÀÖ½À´Ï´Ù
opts_ldap_lookup_timeout=LDAP µ¥ÀÌÅÍº£ÀÌ½º Á¶È¸ ½Ã°£ ÃÊ°ú
opts_ldap_search_base=°Ë»öÇÒ LDAP µ¥ÀÌÅÍº£ÀÌ½º
opts_ldap_server_host=LDAP ¼­¹ö È£½ºÆ® ÀÌ¸§

canonical_title=Á¤½Ä ¸ÅÇÎ
canonical_ecannot=Á¤½Ä ¸ÅÇÎ ±¸¼ºÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_canonical_maps=ÁÖ¼Ò ¸ÅÇÎ Á¶È¸ Å×ÀÌºí
opts_recipient_canonical_maps=RECIPIENT ÁÖ¼Ò Å×ÀÌºí
opts_sender_canonical_maps=SENDER ÁÖ¼Ò Å×ÀÌºí
edit_canonical_maps=Á¤½Ä ¸Ê ÆíÁý
edit_recipient_canonical_maps=¼ö½ÅÀÚ Á¤½Ä ¸Ê ÆíÁý
edit_sender_canonical_maps=¹ß½ÅÀÚ Á¤½Ä ¸Ê ÆíÁý
edit_canonical_maps_general=Á¤½Ä ¸ÊÀ» ÆíÁýÇÏ·Á¸é ÀÌ ¹öÆ°µé Áß ÇÏ³ª¸¦ ´©¸£½Ê½Ã¿À
canonical_edit_title=Á¤½Ä ¸Ê ÆíÁý

mapping_name=ÀÌ¸§
mapping_value=¸ÅÇÎ ´ë»ó...
new_mapping=»õ ¸ÅÇÎ
new_mappingmsg=»õ ¸ÅÇÎÀ» ÀÛ¼ºÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À
map_save=¸ÅÇÎ ÀúÀå
delete_map=¸ÅÇÎ »èÁ¦
edit_map_title=¸Ê ÆíÁý
map_save_err=¸ÅÇÎÀ» ÀúÀåÇÏ´Â µ¿¾È ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù
mapps_no_map_file=Á¤ÀÇµÈ ¸Ê ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
map_delete_failed=¸ÊÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù: $1
map_delete_create=ÇöÀç ÀÛ¼º ÁßÀÎ ¸ÊÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
maps_internal_error=¸Ê: ³»ºÎ ¿À·ù
maps_cant_write=¾²±â¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù
help_map_format=¹«½¼ Æ÷¸ËÀ» »ç¿ëÇÒ±î¿ä?


virtual_title=°¡»ó µµ¸ÞÀÎ
virtual_ecannot=°¡»ó µµ¸ÞÀÎ ¸ÅÇÎ ±¸¼ºÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_virtual_maps=µµ¸ÞÀÎ ¸ÅÇÎ Á¶È¸ Å×ÀÌºí

transport_title=Àü¼Û ¸ÅÇÎ
transport_ecannot=Àü¼Û ¸ÅÇÎ ±¸¼ºÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_transport_maps=Àü¼Û ¸ÅÇÎ Á¶È¸ Å×ÀÌºí

relocated_title=À§Ä¡ º¯°æµÈ ¸ÅÇÎ
relocated_ecannot=À§Ä¡ º¯°æµÈ ¸ÅÇÎ ±¸¼ºÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_relocated_maps=¸ÅÇÎ Á¶È¸ Å×ÀÌºí À§Ä¡ º¯°æµÊ

map_click=µî·Ï Á¤º¸¸¦ ÆíÁýÇÒ ¸ÅÇÎÀ» ´©¸£½Ê½Ã¿À:
no_map=(Á¤ÀÇµÈ ¸ÊÀÌ ¾ø½À´Ï´Ù. ¸ÕÀú ¸ÊÀ» Á¤ÀÇÇØ¾ß ÆíÁýÀÌ °¡´ÉÇÕ´Ï´Ù.)
no_map2=Á¤ÀÇµÈ ¸ÊÀÌ ¾ø½À´Ï´Ù. ¸ÕÀú ¸ÊÀ» Á¤ÀÇÇØ¾ß ÆíÁýÀÌ °¡´ÉÇÕ´Ï´Ù.

stop_efailed=Postfix¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù
stop_ecannot=Postfix¸¦ ÁßÁöÇÒ ¼ö ¾ø½À´Ï´Ù

query_get_efailed=Postfix ±¸¼º ¸í·ÉÀ» Äõ¸®ÇÏ¿© ¸Å°³ º¯¼ö $1ÀÇ ÇöÀç °ªÀ» °¡Á®¿ÀÁö ¸øÇß½À´Ï´Ù: <tt>$2</tt>
query_set_efailed=Postfix ±¸¼º ¸í·ÉÀ» Äõ¸®ÇÏ¿© ¸Å°³ º¯¼ö $1ÀÇ ÇöÀç °ªÀ» $2(À¸)·Î ¼³Á¤ÇÏÁö ¸øÇß½À´Ï´Ù: <tt>$3</tt>
reload_ecannot=Postfix¸¦ ´Ù½Ã ·ÎµåÇÒ ¼ö ¾ø½À´Ï´Ù
reload_efailed=Postfix¸¦ ´Ù½Ã ·ÎµåÇÏÁö ¸øÇß½À´Ï´Ù.
regenerate_ecannot=º°ÄªÀ» ´Ù½Ã »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
regenerate_alias_efailed=º°ÄªÀ» ´Ù½Ã »ý¼ºÇÏÁö ¸øÇß½À´Ï´Ù: <tt>$1</tt>
regenerate_table_efailed=Å×ÀÌºí $1À»(¸¦) ´Ù½Ã »ý¼ºÇÏÁö ¸øÇß½À´Ï´Ù: <tt>$2</tt>
  0707010002fc71000081a40000000000000002000000013d1fe2dd000044fb000000200000000000000000000000000000001600000003reloc/postfix/lang/pl index_title=Serwer poczty Postfix
index_epath=W&nbsp;systemie nie zainstalowano polecenia kontrolnego Postfiksa $1. Byc mo¿e Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa lub nie zainstalowano Postfiksa.

internal_error=B³±d wewnêtrzny
index_econfig=Polecenie konfiguracyjne Postfiksa $1 nie istnieje. Byc mo¿e Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_stop=Zatrzymaj Postfiksa
index_start=Uruchom Postfiksa
index_stopmsg=Naci¶nij ten przycisk, aby zatrzymaæ dzia³aj±cy serwer pocztowy Postfix. Spowoduje to zaprzestanie dorêczania poczty z&innych systemów lokalnym u¿ytkownikom oraz uniemo¿liwi klientom korzystanie z&nbsp;tego systemu jako serwera poczty wychodz±cej.
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer pocztowy Postfix. Dopóki go nie uruchomisz, poczta z&nbsp;innych systemów nie bêdzie dorêczana lokalnym u¿ytkownikom, ani te¿ klienci nie bêd± mogli korzystaæ z&nbsp;tego systemu jako serwera poczty.
opts_err=Nie uda³o siê zachowaæ opcji

check_error=B³±d podczas sprawdzania bie¿±cej konfiguracji Postfiksa. Popraw konfiguracjê rêcznie.

address_rewriting_title=Przepisywanie i&nbsp;maskowanie adresów
address_rewriting_ecannot=Nie masz uprawnieñ do zmiany przepisywania i&nbsp;maskowania adresów
aliases_title=Aliasy pocztowe
aliases_ecannot=Nie masz uprawnieñ do zmiany aliasów
aliases_no_alias_file=Brak pliku aliasów
aliases_failed_delete=Nie uda³o siê usun±æ aliasu: $1
aliases_cant_write=Brak prawa zapisu do pliku aliasów
aliases_cant_read=Brak prawa odczytu pliku aliasów
aliasopts_title=Opcje aliasów
aliases_internal_error=Aliasy: b³±d wewnêtrzny
edit_alias_title=Zmiana w³a¶ciwo¶ci aliasu
alias_save=Zachowaj alias
alias_save_err=Nie uda³o sie zachowaæ aliasu
alias_delete_create=Chcesz usun±æ alias, który w³a¶nie tworzysz&nbsp;!?
delete_alias=Usuñ alias
aliases_click=Kliknij na dowolnym aliasie, aby zmieniæ jego w³a¶ciwo¶ci:

general_title=Opcje ogólne
general_title_sensible=Najczê¶ciej u¿ywane opcje ogólne
general_title_others=Inne opcje ogólne
general_ecannot=Nie masz uprawnieñ do zmiany opcji ogólnych
what_is_it=Co to jest?

opts_default=Domy¶lnie
opts_none=Brak
opts_relayhost=Wysy³aæ pocztê wychodz±c± poprzez host
opts_direct=Derêczaæ bezpo¶rednio
opts_myorigin=W³asna domena w&nbsp;poczcie wychodz±cej
opts_myorigin_as_myhostname=U¿ywaæ nazwy hosta
opts_myorigin_as_mydomain=U¿ywaæ nazwy domeny
opts_mydestination=Dla jakich domen odbieraæ pocztê
opts_mydestination_default=Maszyny lokalnej
opts_mydestination_domainwide=Ca³ej domeny
opts_notify_classes=O&nbsp;jakich k³opotach informowaæ postmastera
opts_queue_directory=Katalog kolejkowania poczty
opts_mail_owner=W³a¶ciciel poczty
opts_default_privs=Domy¶lne uprawnienia programu dorêczaj±cego
opts_inet_interfaces=Interfejsy sieciowe dla poczty przychodz±cej
opts_all_interfaces=Wszystkie

opts_local_recipient_maps=Odrzucaæ nieznanych u¿ytkowników lokalnych
opts_no=Nie
opts_save=Zachowaj i zastosuj

opts_allow_percent_hack=Przepisywaæ "uzytkownik%domena" na "uzytkownik@domena"
opts_append_at_myorigin=Przepisywaæ "uzytkownik" na "uzytkownik@$mydomain"
opts_append_dot_mydomain=Przepisywaæ "uzytkownik@host" na "uzytkownik@host.$mydomain"
opts_empty_address_recipient=Wysy³aæ pocztê z&nbsp;pustym adresem odbiorcy do...
opt_empty_recip_default=Domy¶lnie
opts_swap_bangpath=Przepisywaæ "miejsce!uzytkownik" na "uzytkownik@miejsce"
opts_masquerade_domains=Maskowanie adresów
opts_masquerade_exceptions=Wyj±tki dla maskowania
index_return=konfiguracji Postfiksa

opts_alias_maps=Bazy aliasów wykorzystywane przez lokalny program dorêczaj±cy
opts_alias_database=Bazy aliasów tworzone poleceniem &quot;newaliases&quot;
aliases_warning=Uwaga: <ul><li>gdy pierwsze pole jest wype³nione, do tworzenia odpowiednich baz danych u¿ywane jest domy¶lne polecenie generowania aliasów Postfiksa; <li>w&nbsp;przeciwnym razie u¿ywane jest polecenie zgodno¶ci z&nbsp;Sendmailem &quot;newaliases&quot;, korzysta ono z&nbsp;baz danych z&nbsp;drugiego pola.</ul>

aliases_name=Nazwa
aliases_value=Alias dla...

new_alias=Utwórz nowy alias
new_aliasmsg=Naci¶nij ten przycisk, aby utworzyæ nowy alias

local_delivery_ecannot=Nie masz uprawnieñ do zmiany opcji dorêczania lokalnego
local_delivery_title=Dorêczanie lokalne
opts_local_transport=Nazwa metody ekspedycji dla dorêczeñ lokalnych
opts_local_transport_local=Lokalnie
opts_local_command_shell=Pow³oka u¿ywana przy przekierowywaniu do programów zewnêtrznych
opts_local_command_shell_direct=Brak (bezpo¶rednie uruchamianie poleceñ)
opts_forward_path=Lista przeszukiwana dla przekazywania
opts_allow_mail_to_commands=Dopuszczalne przekierowywanie do zewnêtrznych programów
opts_allow_mail_to_files=Dopuszczalne przekierowywanie do zewnêtrznych plików
opts_home_mailbox=¦cie¿ka do skrzynki pocztowej u¿ytkownika wzglêdem katalogu domowego
opts_home_mailbox_default=Brak (standardowa <tt>/var/gdzies</tt>)
opts_luser_relay=Adres przeznaczenia dla nieznanych odbiorców
opts_luser_relay_none=Brak (odrzucaæ pocztê)
opts_mail_spool_directory=Katalog poczty
opts_mailbox_command=Program zewnêtrzny u¿ywany zamiast dorêczania do skrzynki pocztowej
opts_mailbox_command_none=Brak
opts_mailbox_transport=Fakultatywna, rzeczywi¶cie u¿ywana metoda ekspedycji
opts_mailbox_transport_none=Brak
opts_fallback_transport=Fakultatywna metoda ekspedycji dla nieznanych odbiorców
opts_fallback_transport_none=Brak
opts_local_destination_concurrency_limit=Maksymalna liczba równoleg³ych dorêczeñ dla jednego lokalnego odbiorcy
opts_local_destination_recipient_limit=Maksymalna liczba odbiorców dla dorêczanych wiadomo¶ci lokalnych
opts_local_destination_recipient_limit_default=Domy¶lna
opts_prepend_delivered_header=Do³±czaæ <tt>Delivered-To:</tt> gdy...
opts_prepend_delivered_header_default=Domy¶lnie

resource_title=Ogólna kontrola zasobów
resource_ecannot=Nie masz uprawnieñ do zmiany parametrów kontroli zasobów
opts_bounce_size_limit=Maksymalny rozmiar zwracanej wiadomo¶ci
opts_command_time_limit=Maksymalny czas na dorêczenie do programu zewnêtrznego
opts_default_process_limit=Maksymalna liczba procesów potomnych Postfiksa
opts_deliver_lock_attempts=Maksymalna liczba prób za³o¿enia blokady pliku
opts_deliver_lock_delay=Okres pomiêdzy kolejnymi próbami zablokowania w&nbsp;sekundach
opts_duplicate_filter_limit=Maksymalna liczba adresów pamiêtanych przez filtr duplikatów
opts_fork_attempts=Maksymalna liczba prób uruchomienia programu
opts_fork_delay=Okres pomiêdzy próbami uruchomienia programu w&nbsp;sekundach
opts_header_size_limit=Maksimum wykorzystania pamiêci do przetwarzania nag³ówków
opts_line_length_limit=Maksimum wykorzystania pamiêci do przechowywania linii danych
opts_message_size_limit=Maksymalny rozmiar wiadomo¶ci
opts_qmgr_message_active_limit=Maksymalna liczba wiadomo¶ci w&nbsp;czynnej kolejce
opts_qmgr_message_recipient_limit=Maksymalna liczba odbiorców w&nbsp;pamiêci
opts_queue_minfree=Minimalna ilo¶æ wolnego miejsca na systemie plikowym kolejki
opts_stale_lock_time=Maksymalny czas, po którym trwa³a blokada jest zwalniana
opts_transport_retry_time=Czas pomiêdzy próbami po³±czenia z&nbsp;niedzia³aj±c± MDT w&nbsp;sekundach

opts_always_bcc=Adresy, które otrzymuj± ukryt± kopiê ka¿dej wiadomo¶ci
opts_always_bcc_none=Brak
opts_daemon_timeout=Czas przeterminowania obs³ugi po³±czenia
opts_default_database_type=Domy¶lny rodzaj bazy danych
opts_default_transport=Domy¶lna metoda ekspedycji wiadomo¶ci
opts_double_bounce_sender=Adres nadawcy dla zwracanej poczty
opts_hash_queue_depth=Liczba poziomów podkatalogów w&nbsp;katalogu kolejki
opts_hash_queue_names=Nazwa katalogów kolejki podzielonej na podkatalogi
opts_hopcount_limit=Maksymalna liczba nag³ówków <tt>Received:</tt>
opts_ipc_idle=Okres bezczynno¶ci, po którym wewnêtrzny klient IPC siê roz³±cza
opts_ipc_timeout=Czas przeterminowania dla wej¶cia/wyj¶cia na wewnêtrznych kana³ach komunikacyjnych
opts_mail_name=Nazwa systemu poczty
opts_mail_version=Oficjalna wersja systemu poczty
opts_max_idle=Czas oczekiwania na nastêpne po³±czenie
opts_max_use=Maksymalna liczba po³±czeñ obs³u¿onych przed zakoñczeniem
opts_mydomain=Nazwa lokalnej domeny internetowej
opts_mydomain_default=Domy¶lna (podawana przez system)
opts_myhostname=Internetowa nazwa hosta tego systemu poczty
opts_myhostname_default=Domy¶lna (podawana przez system)
opts_mynetworks=Sieci lokalne
opts_mynetworks_default=Domy¶lne (wszystkie przy³±czone sieci)
opts_bounce_notice_recipient=Wysy³aæ powiadomienia od postmastera o&nbsp;odrzuceniu do...
opts_2bounce_notice_recipient=Wysy³aæ powiadomienia od postmastera o&nbsp;2-gim odrzuceniu do...
opts_delay_notice_recipient=Wysy³aæ powiadomienia od postmastera o&nbsp;opó¼nieniach do...
opts_error_notice_recipient=Wysy³aæ powiadomienia od postmastera o&nbsp;b³êdach do...
opts_process_id_directory=Katalog plików blokad wzglêdem katalogu kolejki
opts_program_directory=Katalog programów pomocniczych i&nbsp;demonów Postfiksa
opts_recipient_delimiter=Separator nazw u¿ytkowników / rozszerzeñ adresu
opts_relocated_maps_default=Domy¶lny (wy³±czone)
opts_sun_mailtool_compatibility=Wy³±czyæ blokowanie plików przez kernel dla skrzynek pocztowych
opts_trigger_timeout=Maksymalny czas na uruchomienie kopii demona
opts_delay_warning_time=Czas, po którym wysy³ane jest ostrze¿enie o&nbsp;niedorêczeniu w&nbsp;godzinach
opts_delay_warning_time_default=Wy³±czone

smtpd_title=Opcje serwera SMTP
smtpd_ecannot=Nie masz uprawnieñ do zmiany opcji serwera SMTP
opts_disable_vrfy_command=Wy³±cz polecenie SMTP VRFY
opts_smtpd_banner=Nag³ówek powitalny SMTP
opts_smtpd_etrn_restrictions=Ograniczyæ polecenie ETRN do...
opts_smtpd_recipient_limit=Maksymalna liczba odbiorców akceptowana przy dorêczaniu
opts_smtpd_timeout=Czas przeterminowania dla transakcji SMTP w&nbsp;sekundach
opts_smtpd_error_sleep_time=Czas przeterminowania przed wys³aniem komunikatu o&nbsp;b³êdzie 4xx/5xx
opts_smtpd_soft_error_limit=Liczba b³êdów powoduj±ca czasowe ignorowanie klienta
opts_smtpd_hard_error_limit=Liczba b³êdów powoduj±ca zamkniêcie po³±czenia
opts_smtpd_client_restrictions=Ograniczenia nazw/adresów klientów
opts_smtpd_helo_required=Wymagane HELO
opts_smtpd_helo_restrictions=Ograniczenia w&nbsp;poleceniu HELO przy wysy³aniu
opts_smtpd_sender_restrictions=Ograniczenia adresów nadawców
opts_smtpd_recipient_restrictions=Ograniczenia adresów odbiorców
opts_allow_untrusted_routing=Zezwoliæ na niewiarygodny routing
opts_maps_rbl_domains=Czarna lista domen DNS
opts_relay_domains=Ograniczyæ przekazywanie poczty
opts_access_map_reject_code=Odpowied¼ serwera SMTP przy zabronionym dostêpie
opts_invalid_hostname_reject_code=Odpowied¼ serwera SMTP przy odrzuceniu nazwy hosta
opts_maps_rbl_reject_code=Odpowied¼ serwera SMTP przy naruszeniu RBL dla domen
opts_reject_code=Odpowied¼ serwera SMTP przy odrzuceniu klienta
opts_relay_domains_reject_code=Odpowied¼ serwera SMTP przy zabronionym przekazywaniu
opts_unknown_address_reject_code=Odpowied¼ serwera SMTP przy odrzuceniu nieznanej domeny
opts_unknown_client_reject_code=Odpowied¼ serwera SMTP przy odrzuceniu nieznanego klienta
opts_unknown_hostname_reject_code=Odpowied¼ serwera SMTP przy odrzuceniu nieznanej nazwy hosta

smtp_title=Opcje klienta SMTP
smtp_ecannot=Nie masz uprawnieñ do zmiany opcji klienta SMTP
opts_best_mx_transport=Akcja, gdy host jest MX-em o&nbsp;najwy¿szym priorytecie
opts_best_mx_transport_default=Domy¶lna (odrzucaæ wiadomo¶æ)
opts_fallback_relay=Hosty/domeny, do których odsy³aæ pocztê w&nbsp;przypadku nieznanego odbiorcy
opts_ignore_mx_lookup_error=Ignorowaæ b³±d poszukiwania rekordu MX
opts_smtp_skip_4xx_greeting=Pomijaæ powitanie 4xx
opts_smtp_skip_quit_response=Nie czekaæ na polecenie QUIT
opts_smtp_destination_concurrency_limit=Maks. liczba równoleg³ych dorêczeñ do tego samego miejsca przeznaczenia
opts_smtp_destination_recipient_limit=Maks. liczba odbiorców dorêczanej wiadomo¶ci
opts_smtp_connect_timeout=Czas przeterminowania dla zakoñczenia po³±czeñ TCP
opts_smtp_helo_timeout=Czas przeterminowania dla oczekiwania na nag³ówek powitalny
opts_smtp_mail_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na MAIL FROM
opts_smtp_rcpt_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na RCPT TO
opts_smtp_data_init_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na DATA
opts_smtp_data_xfer_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na przes³anie tre¶ci wiadomo¶ci
opts_smtp_data_done_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na koñcz±c± &quot;.&quot;
opts_smtp_quit_timeout=Czas przeterminowania dla oczekiwania na odpowied¼ na QUIT

rate_title=Parametry dorêczania
rate_ecannot=Nie masz uprawnieñ do zmiany opcji parametrów dorêczania
opts_default_destination_concurrency_limit=Maks. liczba jednoczesnych dorêczeñ do tego samego miejsca przeznaczenia
opts_default_destination_recipient_limit=Maks. liczba odbiorców dorêczanej wiadomo¶ci
opts_initial_destination_concurrency=Pocz±tkowy poziom konkurencji przy dorêczaniu do jednego miejsca przeznaczenia
opts_maximal_backoff_time=Maks. czas (sek.) pomiêdzy próbami dorêczenia odroczonej wiadomo¶ci
opts_maximal_queue_lifetime=Maks. czas (dni) przetrzymywania wiadomo¶ci w&nbsp;kolejce przed uznaniem jej za niedorêczaln±
opts_minimal_backoff_time=Min. czas (sek.) pomiêdzy próbami dorêczenia odroczonej wiadomo¶ci
opts_queue_run_delay=Czas (sek.) pomiêdzy przeszukaniami kolejki odroczeñ
opts_defer_transports=Metody ekspedycji, za pomoc± których nie nale¿y dorêczaæ

debug_title=W³a¶ciwo¶ci ¶ledzenia
debug_ecannot=Nie masz uprawnieñ do zmiany opcji w³a¶ciwo¶ci ¶ledzenia
opts_debug_peer_list=Lista wzorców dla domen/sieci, dla których w³±czane jest rozwlek³e logowanie
opts_debug_peer_level=Poziom rozwlek³o¶ci logowania przy dopasowaniu do powy¿szej listy
debug_version=Modu³ Postfiksa dla Webmina - wersja $1

ldap_title=Zapytania LDAP
ldap_ecannot=Nie masz uprawnieñ do zmiany opcji zapytañ LDAP
ldap_non_existent=Wszystko wskazuje na to, ¿e w&nbsp;Twoim systemie Postfiksa brak obs³ugi LDAP
opts_ldap_lookup_timeout=Czas przeterminiwania dla zapytañ do bazy danych LDAP
opts_ldap_search_base=Przeszukiwana baza danych LDAP
opts_ldap_server_host=Nazwa hosta serwera LDAP

canonical_title=Podstawianie kanoniczne
canonical_ecannot=Nie masz uprawnieñ do zmiany konfiguracji podstawiania kanonicznego
opts_canonical_maps=Tabele przeszukiwania podstawiania adresów
opts_recipient_canonical_maps=Tabele adresów ODBIORCÓW
opts_sender_canonical_maps=Tabele adresów NADAWCÓW
edit_canonical_maps=Zmieñ podstawienia kanoniczne
edit_recipient_canonical_maps=Zmieñ podstawienia kanoniczne odbiorców
edit_sender_canonical_maps=Zmieñ podstawienia kanoniczne nadawców
edit_canonical_maps_general=Naci¶nij jeden z&nbsp;tych przycisków, aby zmieniæ podstawienia kanoniczne
canonical_edit_title=Zmieñ podstawienie kanoniczne

mapping_name=Nazwa
mapping_value=Podstawienie...
new_mapping=Nowe podstawienie
new_mappingmsg=Naci¶nij ten przycisk, aby utworzyæ nowe podstawienie
map_save=Zachowaj podstawienie
delete_map=Usuñ podstawienie
edit_map_title=Zmieñ podstawienie
map_save_err=B³±d podczas zachowywania podstawienia
mapps_no_map_file=Nie okre¶lono pliku podstawieñ
map_delete_failed=Nie uda³o siê usun±æ podstawienia: $1
map_delete_create=Nie mo¿na usun±æ w³a¶nie tworzonego podstawienia
maps_internal_error=Podstawianie: b³±d wewnêtrzny
maps_cant_write=Brak praw zapisu
help_map_format=Z&nbsp;jakiego formatu korzystaæ?

virtual_title=Domeny wirtualne
virtual_ecannot=Nie masz uprawnieñ do zmiany konfiguracji podstawiania domen wirtualnych
opts_virtual_maps=Tabele przeszukiwania podstawiania domen

transport_title=Podstawianie ekspedycji
transport_ecannot=Nie masz uprawnieñ do zmiany konfiguracji podstawiania metod ekspedycji
opts_transport_maps=Tabele przeszukiwania podstawiania metod ekspedycji

relocated_title=Podstawianie przeniesionych
relocated_ecannot=Nie masz uprawnieñ do zmiany konfiguracji podstawiania przeniesionych
opts_relocated_maps=Tabele przeszukiwania podstawiania przeniesionych

map_click=Kliknij na dowolnym podstawieniu, aby zmieniæ jego w³a¶ciwo¶ci:
no_map=(Nie zdefiniowano ¿adnych podstawieñ. Aby zmieniæ podstawienie, musisz je najpierw zdefiniowaæ)
no_map2=Nie zdefiniowano ¿adnych podstawieñ. Aby zmieniæ podstawienie, musisz je najpierw zdefiniowaæ.

stop_efailed=Nie uda³o siê zatrzymaæ Postfiksa
stop_ecannot=Nie masz uprawnieñ do zatrzymywania Postfiksa

query_get_efailed=Nie uda³o siê za¿±daæ od polecenia konfiguracyjnego Postfiksa podania bie¿±cej warto¶ci parametru $1: <tt>$2</tt>
query_set_efailed=Nie uda³o siê za¿±daæ od polecenia konfiguracyjnego Postfiksa ustawienia bie¿±cej warto¶ci parametru $1 na $2: <tt>$3</tt>
reload_ecannot=Nie masz uprawnieñ do prze³adowywania Postfiksa
reload_efailed=Nie uda³o siê prze³adowaæ Postfiksa.
regenerate_ecannot=Nie masz uprawnieñ generacji aliasów
regenerate_alias_efailed=Nie uda³o siê ponownie wygenerowaæ aliasów: <tt>$1</tt>
regenerate_table_efailed=Nie uda³o siê ponownie wygenerowaæ tablicy $1: <tt>$2</tt>

acl_resource=Mo¿e zmieniaæ zasoby?
acl_aliases=Mo¿e zmieniaæ aliasy?
acl_aliases_options=Mo¿e zmieniaæ opcje aliasów?
acl_general=Mo¿e zmieniaæ opcje ogólne?
acl_address_rewriting=Mo¿e zmieniaæ przepisywanie adresów?
acl_canonical=Mo¿e zmieniaæ podstawienia kanoniczne?
acl_virtual=Mo¿e zmieniaæ domeny wirtualne?
acl_transport=Mo¿e zmieniaæ metody ekspedycji?
acl_relocated=Mo¿e zmieniaæ przeniesionych u¿ytkowników?
acl_local_delivery=Mo¿e zmieniaæ dorêczanie lokalne?
acl_smtpd=Mo¿e zmieniaæ parametry serwera SMTP?
acl_smtp=Mo¿e zmieniaæ parametry klienta SMTP?
acl_rate=Mo¿e zmieniaæ parametry dorêczania?
acl_debug=Mo¿e zmieniaæ opcje uruchamiania?
acl_ldap=Mo¿e zmieniaæ ustawienia LDAP?
 0707010002fc72000081a40000000000000002000000013d1fe2dd00003879000000200000000000000000000000000000001600000003reloc/postfix/lang/sv index_title=E-postagenten Postfix
index_epath=Postfixs kontrollkommando $1 är inte installerat på ditt system. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga, eller också har Postfix inte installerats.

internal_error=Internt fel
index_econfig=Inställningskommandot $1 för Postfix finns inte. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga.
index_stop=Stoppa Postfix
index_start=Starta Postfix
index_stopmsg=Tryck på denna knapp för att sluta köra e-postservern Postfix. Detta gör så att ingen e-post från andra system delas ut till lokala användare och hindrar klienter som använder detta system som e-postserver att skicka e-post. 
index_startmsg=Tryck på denna knapp för att starta e-postservern Postfix. Innan Postfix startats delas ingen e-post från andra system ut till lokala användare, och e-postklienter kan inte använda detta system som e-postserver.
opts_err=Det gick inte att spara inställningarna

check_error=Ett fel upptäcktes när de aktuella Postfix-inställningarna kontrollerades. Du behöver rätta till Postfix-inställningarna manuellt.

address_rewriting_title=Adressomskrivningar och maskeringar
address_rewriting_ecannot=Du får inte ändra adressomskrivningar och maskeringar
aliases_title=E-postalias
aliases_ecannot=Du får inte ändra alias
aliases_no_alias_file=Ingen alias-fil finns
aliases_cant_write=Det går inte att skriva till alias-fil
aliases_cant_read=Det går inte att läsa alias-fil
aliasopts_title=Aliasinställningar
aliases_internal_error=Alias: internt fel
edit_alias_title=Version av alias-inställningar
alias_save=Spara alias
alias_save_err=Det gick inte att spara alias
alias_delete_create=Vill du verkligen ta bort ett alias som du håller på att skapa!?
delete_alias=Ta bort alias

general_title=Allmänna inställningar
general_title_sensible=Mest användbara allmänna inställningar
general_title_others=Andra allmänna inställningar
general_ecannot=Du får inte ändra de allmänna inställningarna
what_is_it=Vad är det?

opts_default=Standard
opts_none=Ingen
opts_relayhost=Skicka utgående e-post via dator
opts_direct=Skicka direkt
opts_myorigin=Domän som ska användas i utgående e-post
opts_myorigin_as_myhostname=Använd datornamn
opts_myorigin_as_mydomain=Använd domännamn
opts_mydestination=Ta emot e-post för dessa domäner
opts_mydestination_default=Lokal dator
opts_mydestination_domainwide=Hela domänen
opts_notify_classes=Problem som ska rapporteras till postmaster
opts_queue_directory=Kökatalog för e-post
opts_mail_owner=Kö- och processägande
opts_default_privs=Standardrättigheter för den lokala e-posthanteraren
opts_inet_interfaces=Nätverksinterface för mottagning av e-post
opts_all_interfaces=Alla

opts_local_recipient_maps=Kasta post till okända lokala användare
opts_no=Nej
opts_save=Spara och ta i drift


opts_allow_percent_hack=Skriv om "användare%domän" till "användare@domän"
opts_append_at_myorigin=Skriv om "användare" till "användare@$mydomain"
opts_append_dot_mydomain=Skriv om "användare@dator" till "användare@dator.$mydomain"
opts_empty_address_recipient=Skicka e-post utan mottagare till...
opt_empty_recip_default=Standard
opts_swap_bangpath=Skriv om "site!användare" till "användare@site"
opts_masquerade_domains=Adressmaskering
opts_masquerade_exceptions=Maskeringsundantag
index_return=Postfix-inställningar


opts_alias_maps=Alias-databaser som används av den lokala MTA:n
opts_alias_database=Alias-databas byggd av kommandot &quot;newaliases&quot; 
aliases_warning=Varning: <ul><li>när det första fältet inte är tomt används standardkommandot för Postfix alias-skapande till att bygga upp motsvarande databas; <li>annars används Sendmails kompatibilitetskommando &quot;newaliases&quot;. Detta använder databaserna i det andra fältet.</ul>

aliases_name=Namn
aliases_value=Alias för ...

new_alias=Lägg till ett alias
new_aliasmsg=Tryck på denna knapp för att lägga till ett alias


local_delivery_ecannot=Du får inte ändra de lokala sändinställningarna
local_delivery_title=Lokal sändning
opts_local_transport=Namn på transportmetod för lokal sändning
opts_local_transport_local=Lokal
opts_local_command_shell=Skal för sändning till externt kommando
opts_local_command_shell_direct=Inget (direkt exekvering av kommandon)
opts_forward_path=Sökväg för eftersändning
opts_allow_mail_to_commands=Godkänd e-postleverans till externa kommandon
opts_allow_mail_to_files=Godkänd e-postleverans till externa filer
opts_home_mailbox=Sökväg till användarens brevlåda (relativt hemkatalogen)
opts_home_mailbox_default=Ingen (använd standardvägen <tt>/var/någonting</tt>)
opts_luser_relay=Destinationsadress för okända mottagare
opts_luser_relay_none=Ingen (studsa brevet)
opts_mail_spool_directory=Spool-katalog
opts_mailbox_command=Externt kommando istället för sändning till brevlåda
opts_mailbox_command_none=Inget
opts_mailbox_transport=Valbar verklig transportmetod
opts_mailbox_transport_none=Ingen
opts_fallback_transport=Alternativ transport för okända mottagare
opts_fallback_transport_none=Ingen
opts_local_destination_concurrency_limit=Maximalt antal parallella sändningar till samma lokala mottagare
opts_local_destination_recipient_limit=Maximalt antal mottagare per lokal meddelandesändning
opts_local_destination_recipient_limit_default=Standard
opts_prepend_delivered_header=Lägg till <tt>Delivered-To:</tt> när ...
opts_prepend_delivered_header_default=Standard


resource_title=Allmän resursstyrning
resource_ecannot=Du får inte ändra parametrarna för resursstyrning
opts_bounce_size_limit=Maximal storlek för studsat meddelande
opts_command_time_limit=Längsta tid för att skicka till externa kommandon
opts_default_process_limit=Maximalt antal Postfix-underprocesser
opts_deliver_lock_attempts=Maximalt antal försök att få fillås
opts_deliver_lock_delay=Tid (sekunder) mellan fillåsningsförsök
opts_duplicate_filter_limit=Maximalt antal adresser som dublettfiltret minns
opts_fork_attempts=Maximalt antal försök att starta underprocess
opts_fork_delay=Tid (sekunder) mellan försök att starta underprocess
opts_header_size_limit=Maximal minnesåtgång för att processa meddelandehuvud
opts_line_length_limit=Maximal minnesåtgång för att hantera inlästa rader
opts_message_size_limit=Maximal meddelandestorlek
opts_qmgr_message_active_limit=Maximalt antal meddelanden i den aktiva kön
opts_qmgr_message_recipient_limit=Maximalt antal mottagare i minnet
opts_queue_minfree=Minsta lediga utrymme i köfilsystemet
opts_stale_lock_time=Maximal tid innan kvarglömd låsning släpps
opts_transport_retry_time=Tid (sekunder) mellan försök att kontakta en defekt MDT


opts_always_bcc=Adress som är osynlig mottagare av varje meddelande
opts_always_bcc_none=Ingen
opts_daemon_timeout=Tidsgräns för hantering av förfrågningar
opts_default_database_type=Standardtyp för databas
opts_default_transport=Standardtyp av meddelandetransport
opts_double_bounce_sender=Avsändaradress för studsad e-post
opts_hash_queue_depth=Antal underkatalognivåer under kökatalogen
opts_hash_queue_names=Namn på kökataloger som delas upp på underkataloger
opts_hopcount_limit=Maximalt antal <tt>Received:</tt>-huvuden
opts_ipc_idle=Väntetid efter nedkoppling av intern IPC-klient
opts_ipc_timeout=Tidsgräns för I/O på intern kommunikationskanal
opts_mail_name=E-postsystemets namn
opts_mail_version=Officiell version för e-postsystemet
opts_max_idle=Väntetid till nästa tjänsteförfrågning
opts_max_use=Maximalt antal behandlade tjänsteförfrågningar före avslutning
opts_mydomain=Lokalt internetdomännamn
opts_mydomain_default=Standard (sätts av systemet)
opts_myhostname=Internet-datornamn för detta e-postsystem
opts_myhostname_default=Standard (sätts av systemet)
opts_mynetworks=Lokala nätverk
opts_mynetworks_default=Standard (alla anslutna nätverk)
opts_bounce_notice_recipient=Skicka meddelande om studs till ...
opts_2bounce_notice_recipient=Skicka meddelande om dubbelstuds till ...
opts_delay_notice_recipient=Skicka meddelande om fördröjning till ...
opts_error_notice_recipient=Skicka felmeddelanden till ...
opts_process_id_directory=Låsfilskatalog, relativt kökatalog
opts_program_directory=Postfix stödprogram- och demonkatalog
opts_recipient_delimiter=Separator mellan användarnamn och adressändelser
opts_relocated_maps_default=Standard (deaktiverad)
opts_sun_mailtool_compatibility=Slå av kärnans fillås för brevlådor
opts_trigger_timeout=Maximal tid för att skicka en triggning till en demon
opts_delay_warning_time=Tid (timmar) innan varningsmeddelande om utebliven sändning skickas
opts_delay_warning_time_default=Deaktiverat


smtpd_title=SMTP-serverinställningar
smtpd_ecannot=Du får inte ändra SMTP-serverinställningarna
opts_disable_vrfy_command=Deaktivera SMTP-kommandot VRFY
opts_smtpd_banner=SMTP-välkomstbanner
opts_smtpd_etrn_restrictions=Begränsa ETRN-kommando för ...
opts_smtpd_recipient_limit=Maximalt antal mottagare per sändning
opts_smtpd_timeout=Tidsgräns (sekunder) för SMTP-överföringar
opts_smtpd_error_sleep_time=Tidsgräns innan 4xx/5xx-felsvar skickas
opts_smtpd_soft_error_limit=Antal fel för att tillfälligt strunta i en klient
opts_smtpd_hard_error_limit=Antal fel för att koppla ned
opts_smtpd_client_restrictions=Begränsningar för klienters datornamn/adresser
opts_smtpd_helo_required=HELO krävs
opts_smtpd_helo_restrictions=Begränsningar av HELO-kommandon
opts_smtpd_sender_restrictions=Begränsningar för avsändaradresser
opts_smtpd_recipient_restrictions=Begränsningar för mottagaradresser
opts_allow_untrusted_routing=Tillåt icke auktoriserad routing
opts_maps_rbl_domains=DNS-domäner för uppslagning av svartlistning
opts_relay_domains=Begränsa e-post-vidaresändning
opts_access_map_reject_code=SMTP-serveråtgärd vid intrångsförsök
opts_invalid_hostname_reject_code=SMTP-serveråtgärd vid datornamnsavvisande
opts_maps_rbl_reject_code=SMTP-serveråtgärd vid RBL-domänöverträdelse
opts_reject_code=SMTP-serveråtgärd vid klientspärr
opts_relay_domains_reject_code=SMTP-serveråtgärd vid förbjuden vidaresändning
opts_unknown_address_reject_code=SMTP-serveråtgärd vid domänspärr
opts_unknown_client_reject_code=SMTP-serveråtgärd vid spärr pga okänd klient
opts_unknown_hostname_reject_code=SMTP-serveråtgärd vid spärr pga okänt datornamn


smtp_title=SMTP-klientinställningar
smtp_ecannot=Du får inte ändra i SMTP-klientinställningarna
opts_best_mx_transport=Åtgärd när man blivit bästa MX-val
opts_best_mx_transport_default=Standard (studsa brevet)
opts_fallback_relay=Datorer/domäner dit e-post med ogiltig adress skickas
opts_ignore_mx_lookup_error=Strunta i MX-uppslagningsfel
opts_smtp_skip_4xx_greeting=Hoppa över 4xx-hälsning
opts_smtp_skip_quit_response=Vänta inte på QUIT-svar
opts_smtp_destination_concurrency_limit=Maximalt antal parallella sändningar till samma destination
opts_smtp_destination_recipient_limit=Maximalt antal mottagare per sändning
opts_smtp_connect_timeout=Tidsgräns för fullbordande av TCP-uppkopplingar
opts_smtp_helo_timeout=Tidsgräns för välkomstbanner
opts_smtp_mail_timeout=Tidsgräns för svar på MAIL FROM
opts_smtp_rcpt_timeout=Tidsgräns för svar på RCPT TO
opts_smtp_data_init_timeout=Tidsgräns för svar på DATA
opts_smtp_data_xfer_timeout=Tidsgräns för svar på meddelandeöverföring
opts_smtp_data_done_timeout=Tidsgräns vid väntan på svar på avslutande &quot;.&quot;
opts_smtp_quit_timeout=Tidsgräns för svar på QUIT


rate_title=Sändningsparametrar
rate_ecannot=Du får inte ändra på sändningsparametrarna
opts_default_destination_concurrency_limit=Maximalt antal parallella sändningar till samma destination
opts_default_destination_recipient_limit=Maximalt antal mottagare per meddelandesändning
opts_initial_destination_concurrency=Startnivå för samtidig sändning till samma destination
opts_maximal_backoff_time=Maxtid mellan försök att sända ett fördröjt meddelande
opts_maximal_queue_lifetime=Maximal kötid (dagar) innan meddelandet anses osändbart
opts_minimal_backoff_time=Minsta tid mellan försök att sända ett fördröjt meddelande
opts_queue_run_delay=Tid (s) mellan läsningar av fördröjningskön
opts_defer_transports=Transportmetoder som inte bör användas


debug_title=Debug-inställningar
debug_ecannot=Du får inte ändra debug-inställningarna
opts_debug_peer_list=Lista över domän/nätverksmönster för vilka utförlig loggning ska göras
opts_debug_peer_level=Utförlig loggningsnivå när ovanstående lista matchar


ldap_title=LDAP-uppslagningar
ldap_ecannot=Du får inte ändra inställningarna för LDAP-uppslagningar
ldap_non_existent=LDAP verkar inte finnas på ditt Postfix-system
opts_ldap_lookup_timeout=Tidsgräns för LDAP-uppslagningar
opts_ldap_search_base=LDAP-databas som ska genomletas
opts_ldap_server_host=Dator för LDAP-server

canonical_title=Kanonisk översättning
canonical_ecannot=Du får inte ändra inställningarna för kanonisk översättning
opts_canonical_maps=Tabeller för adressöversättning
opts_recipient_canonical_maps=Tabeller med mottagaradresser
opts_sender_canonical_maps=Tabeller med avsändaradresser
edit_canonical_maps=Ändra kanoniska översättningar
edit_recipient_canonical_maps=Ändra översättning av mottagaradress
edit_sender_canonical_maps=Ändra översättning av avsändaradress
edit_canonical_maps_general=Tryck på någon av dessa knappar för att ändra adressöversättningarna
canonical_edit_title=Ändra en adressöversättning

mapping_name=Namn
mapping_value=översätts till ...
new_mapping=Ny översättning
new_mappingmsg=Tryck på denna knapp för att lägga till en översättning
map_save=Spara översättning
delete_map=Ta bort översättning
edit_map_title=Ändra en översättning
map_save_err=Ett fel uppstod när en översättning sparades
mapps_no_map_file=Du har inte angivit någon översättningsfil
map_delete_create=Du får inte ta bort en översättning som du håller på att ändra
maps_internal_error=Översättning: internt fel
maps_cant_write=Det går inte att skriva
help_map_format=Vilket format ska användas?


virtual_title=Virtella domäner
virtual_ecannot=Du får inte ändra inställningarna för virtuella domäner
opts_virtual_maps=Domänuppslagningstabeller

transport_title=Transportuppslagning
transport_ecannot=Du får inte ändra inställningarna för transportuppslagning
opts_transport_maps=Transport-uppslagningstabeller

relocated_title=Omflyttningsuppslagning
relocated_ecannot=Du får inte ändra inställningarna för omflyttningsuppslagning
opts_relocated_maps=&quot;Användaren har flyttats&quot;-tabeller

map_click=Klicka på en översättning för att ändra dess inställningar:
no_map=(Ingen översättning finns. Definiera en översättning först; därefter kan du ändra i den)
   0707010002fc73000081a40000000000000002000000013d1fe2dd000028fe000000200000000000000000000000000000001900000003reloc/postfix/lang/zh_CN  index_title=PostfixÓÊ¼þ´úÀí
index_epath=ÄãµÄÏµÍ³ÉÏÃ»ÓÐ°²×°Postfix¿ØÖÆÃüÁî $1¡£¿ÉÄÜÄãµÄ <a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·£¬»òÕßÃ»ÓÐ°²×°postfix¡£
internal_error=ÄÚ²¿´íÎó
index_econfig=PostfixÅäÖÃÃüÁî $1 ²»´æÔÚ¡£ ¿ÉÄÜÄãµÄ <a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·¡£
index_stop=Í£Ö¹Postfix
index_start=Æô¶¯Postfix
index_stopmsg=°´ÏÂÕâ¸ö°´Å¥ÒÔÍ£Ö¹ÕýÔÚÔËÐÐµÄPostfixÓÊ¼þ·þÎñÆ÷¡£Õâ½«×èÖ¹´ÓÆäËûÏµÍ³Í¶µÝÓÊ¼þµ½±¾µØÓÃ»§£¬Ò²·ÀÖ¹Ê¹ÓÃÕâ¸öÏµÍ³×÷ÎªÓÊ¼þ·þÎñÆ÷µÄ¿Í»§Ò²²»ÄÜ·¢ÐÅ¡£
index_startmsg=°´ÏÂÕâ¸ö°´Å¥½«Æô¶¯PostfixÓÊ¼þ·þÎñÆ÷¡£Ö±µ½Æô¶¯Íê³ÉÇ°£¬´ÓÆäËûÏµÍ³ÎÞ·¨Í¶µÝÓÊ¼þµ½±¾µØÓÃ»§£¬¿Í»§Ò²²»ÄÜÊ¹ÓÃÕâ¸öÏµÍ³×÷ÎªÓÊ¼þ·þÎñÆ÷¡£
opts_err=±£´æÑ¡ÏîÊ§°Ü¡£
check_error=¼ì²éµ±Ç°PostfixÅäÖÃÊ±³ö´í¡£ÇëÊÖ¶¯ÐÞ¸´PostfixÅäÖÃ¡£
address_rewriting_title=µØÖ·ÖØÐ´ºÍÎ±×°
address_rewriting_ecannot=ÄãÃ»ÓÐ±à¼­µØÖ·ÖØÐ´ºÍÎ±×°µÄÈ¨Á¦¡£
aliases_title=ÓÊ¼þ±ðÃû
aliases_ecannot=ÄãÃ»ÓÐ±à¼­ÓÊ¼þ±ðÃûµÄÈ¨Á¦
aliases_no_alias_file=Ã»ÓÐ±ðÃûÎÄ¼þ
aliases_cant_write=²»ÄÜÐ´Èë±ðÃûÎÄ¼þ
aliases_cant_read=²»ÄÜ¶ÁÈë±ðÃûÎÄ¼þ
aliasopts_title=±ðÃûÑ¡Ïî
aliases_internal_error=±ðÃû£ºÄÚ²¿´íÎó
edit_alias_title=±ðÃûÊôÐÔ±à¼­
alias_save=±£´æ±ðÃû
alias_save_err=±£´æ±ðÃûÊ§°Ü
alias_delete_create=ÊÇ·ñÉ¾³ýÕýÔÚ´´½¨µÄ±ðÃû£¡£¿
delete_alias=É¾³ý±ðÃû
general_title=Ò»°ãÑ¡Ïî
general_title_sensible=×îÓÐÓÃµÄÒ»°ãÑ¡Ïî
general_title_others=ÆäËûÒ»°ãÑ¡Ïî
general_ecannot=ÄãÃ»ÓÐ±à¼­Ò»°ãÑ¡ÏîµÄÈ¨Á¦
what_is_it=ÕâÊÇÊ²Ã´£¿
opts_default=È±Ê¡
opts_none=ÎÞ
opts_relayhost=Í¨¹ýÖ÷»úÍâ·¢ÓÊ¼þ
opts_direct=Ö±½ÓÍ¶µÝ
opts_myorigin=Íâ·¢ÓÊ¼þÊ¹ÓÃµÄÓò
opts_myorigin_as_myhostname=Ê¹ÓÃÖ÷»úÃû
opts_myorigin_as_mydomain=Ê¹ÓÃÓòÃû
opts_mydestination=½ÓÊÜÓÊ¼þµÄÓò
opts_mydestination_default=±¾µØ»úÆ÷
opts_mydestination_domainwide=Õû¸öÓò
opts_notify_classes=ÐèÒª±¨¸æPostMasterµÄ´íÎó
opts_queue_directory=ÓÊ¼þ¶ÓÁÐÄ¿Â¼
opts_mail_owner=ÓÊ¼þÊôÖ÷
opts_default_privs=Í¶µÝ´úÀíµÄÈ±Ê¡È¨ÏÞ
opts_inet_interfaces=½ÓÊÜÓÊ¼þµÄÍøÂç½Ó¿Ú
opts_all_interfaces=ËùÓÐ
opts_local_recipient_maps=¾Ü¾øÎ´ÖªµÄ±¾µØÓÃ»§
opts_no=·ñ
opts_save=±£´æ²¢Ó¦ÓÃ
opts_allow_percent_hack=ÖØÐ´ "user%domain" ³É "user@domain"
opts_append_at_myorigin=ÖØÐ´ "user" ³É "user@$mydomain"
opts_append_dot_mydomain=ÖØÐ´ "user@host" ³É "user@host.$mydomain"
opts_empty_address_recipient=°Ñ½ÓÊÜÕßÎª¿ÕµÄÓÊ¼þ·¢ËÍµ½...
opt_empty_recip_default=È±Ê¡
opts_swap_bangpath=ÖØÐ´ "site!user" ³É "user@site"
opts_masquerade_domains=µØÖ·Î±×°
opts_masquerade_exceptions=Î±×°ÀýÍâ
index_return=PostfixÅäÖÃ
opts_alias_maps=±¾µØÍ¶µÝ´úÀíÊ¹ÓÃ±ðÃûÊý¾Ý¿â
opts_alias_database=ÓÉby &quot;newaliases&quot; ÃüÁîÉú³ÉµÄ±ðÃûÊý¾Ý¿â
aliases_warning=¾¯¸æ£º<ul><li>Èç¹ûµÚÒ»¸ö×Ö¶Î·Ç¿Õ£¬½«Ê¹ÓÃÈ±Ê¡µÄPostfixµÄaliases-generationÃüÁîÀ´Éú³ÉÏàÓ¦µÄÊý¾Ý¿â£»<li>·ñÔò½«Ê¹ÓÃSendmail¼æÈÝÃüÁî&quot;newaliases&quot£¬Õâ½«ÓÃµ½µÚ¶þ¸ö×Ö¶ÎµÄÊý¾Ý¿â¡£</ul>
aliases_name=Ãû³Æ
aliases_value=±ðÃûÎª...
new_alias=´´½¨ÐÂ±ðÃû
new_aliasmsg=µã»÷Õâ¸ö°´Å¥½«´´½¨ÐÂ±ðÃû
local_delivery_ecannot=ÄãÃ»ÓÐ±à¼­±¾µØÍ¶µÝÑ¡ÏîµÄÈ¨Á¦
local_delivery_title=±¾µØÍ¶µÝ
opts_local_transport=±¾µØÍ¶µÝÊ¹ÓÃµÄÃû×Ö
opts_local_transport_local=±¾µØ
opts_local_command_shell=Í¶µÝµ÷ÓÃÍâ²¿ÃüÁîÊ¹ÓÃµÄShell
opts_local_command_shell_direct=ÎÞ (Ö±½ÓÖ´ÐÐÃüÁî)
opts_forward_path=ÓÃÓÚ×ª·¢µÄËÑË÷ÁÐ±í
opts_allow_mail_to_commands=ÓÐÐ§µÄÍâ²¿ÓÊ¼þÍ¶µÝÃüÁî
opts_allow_mail_to_files=ÓÐÐ§µÄÍâ²¿ÓÊ¼þÍ¶µÝÎÄ¼þ
opts_home_mailbox=ÓÃ»§ÓÊÏäÎÄ¼þÂ·¾¶£¨Ïà¶ÔÓÚÓÃ»§Ö÷Ä¿Â¼£©
opts_home_mailbox_default=·ñ (Ê¹ÓÃ±ê×¼µÄ <tt>/var/something</tt>)
opts_luser_relay=Î´Öª½ÓÊÜÕßµÄÄ¿±êµØÖ·
opts_luser_relay_none=ÎÞ (ÍË»ØÓÊ¼þ)
opts_mail_spool_directory=¼ÙÍÑ»úÂ·¾¶
opts_mailbox_command=´úÌæÓÊÏäÍ¶µÝµÄÍâ²¿ÃüÁî
opts_mailbox_command_none=ÎÞ
opts_mailbox_transport=Ê¹ÓÃµÄ¿ÉÑ¡ÓÊ¼þ´«Êä
opts_mailbox_transport_none=ÎÞ
opts_fallback_transport=Î´Öª½ÓÊÕÕßµÄ¿ÉÑ¡ÓÊ¼þ´«Êä
opts_fallback_transport_none=ÎÞ
opts_local_destination_concurrency_limit=Í¬Ò»¸ö±¾µØÊÕ¼þÕß×î´óµÄ²¢ÐÐÍ¶µÝÊý
opts_local_destination_recipient_limit=Ã¿Ò»±¾µØÏûÏ¢Í¶µÝµÄ×î´ó½ÓÊÜÕßÊý
opts_local_destination_recipient_limit_default=È±Ê¡
opts_prepend_delivered_header=ÔÚÒÔÏÂÇé¿öÏÂ£¬Ç°¼Ó <tt>Delivered-To:</tt>
opts_prepend_delivered_header_default=È±Ê¡
resource_title=Ò»°ãµÄ×ÊÔ´¿ØÖÆ
resource_ecannot=ÄãÃ»ÓÐ±à¼­×ÊÔ´¿ØÖÆ²ÎÊýµÄÈ¨Á¦
opts_bounce_size_limit=ÍË»ØÏûÏ¢µÄ×î´ó³ß´ç
opts_command_time_limit=Í¶µÝµ½Íâ²¿ÃüÁîµÄ×î´ó´ÎÊý
opts_default_process_limit=Postfix×Ó½ø³ÌµÄ×î´óÊýÄ¿
opts_deliver_lock_attempts=»ñÈ¡ÎÄ¼þËøµÄ×î´ó³¢ÊÔ´ÎÊý
opts_deliver_lock_delay=³¢ÊÔ»ñµÃÎÄ¼þËøµÄÊ±¼ä¼ä¸ô(Ãë)
opts_duplicate_filter_limit=ÖØ¸´¹ýÂËÆ÷¼ÇÒäµÄ×î´óµØÖ·Êý
opts_fork_attempts=·Ö²æ½ø³ÌµÄ×î´ó³¢ÊÔ´ÎÊý
opts_fork_delay=·Ö²æ³¢ÊÔµÄÊ±¼ä¼ä¸ô(Ãë)
opts_header_size_limit=´¦ÀíÓÊ¼þÍ·×î´óÊ¹ÓÃÄÚ´æ
opts_line_length_limit=´¦ÀíÊäÈëÐÐµÄ×î´óÊ¹ÓÃÄÚ´æ
opts_message_size_limit=Ò»¸öÏûÏ¢µÄ×î´ó³ß´ç
opts_qmgr_message_active_limit=»î¶¯¶ÓÁÐÖÐµÄ×î´óÏûÏ¢Êý
opts_qmgr_message_recipient_limit=ÄÚ´æÖÐ×î´óµÄ½ÓÊÜÕßÊý
opts_queue_minfree=¶ÓÁÐÎÄ¼þÏµÍ³ÖÐµÄ×îÐ¡Ê£Óà¿Õ¼ä
opts_stale_lock_time=ÊÍ·Å¹ýÆÚËøÖ®Ç°µÄ×î´óÊ±¼ä
opts_transport_retry_time=³¢ÊÔÁ¬½ÓÒ»¸ö¶Ï¿ªµÄMDTµÄÊ±¼ä¼ä¸ô
opts_always_bcc=½ÓÊÜÃ¿Ò»ÌõÏûÏ¢µÄ bccµÄµØÖ·
opts_always_bcc_none=ÎÞ
opts_daemon_timeout=´¦ÀíÇëÇóµÄ³¬Ê±
opts_default_database_type=È±Ê¡µÄÊý¾Ý¿âÀàÐÍ
opts_default_transport=È±Ê¡ÏûÏ¢Í¶µÝ
opts_double_bounce_sender=ÍË»ØÓÊ¼þµÄ·¢ËÍÕßµØÖ·
opts_hash_queue_depth=ÔÚ¶ÓÁÐÄ¿Â¼ÖÐ×ÓÄ¿Â¼µÄ×î´ó²ãÊý
opts_hash_queue_names=ÔÚ¶ÓÁÐÄ¿Â¼ÖÐ·Ö¿ª×ÓÄ¿Â¼µÄÃû×Ö
opts_hopcount_limit=<tt>Received:</tt> Í·µÄ×î´óÊýÄ¿
opts_ipc_idle=ÄÚ²¿IPC¿Í»§¶Ï¿ªÁ¬½ÓºóµÄÏÐÖÃÊ±¼ä
opts_ipc_timeout=ÄÚ²¿Í¨Ñ¶ÐÅµÀµÄI/O³¬Ê±
opts_mail_name=ÓÊ¼þÏµÍ³Ãû
opts_mail_version=ÕýÊ½µÄÓÊ¼þÏµÍ³°æ±¾
opts_max_idle=µÈ´ýÏÂÒ»´Î·þÎñÇëÇóµÄÊ±¼ä
opts_max_use=ÍË³öÇ°´¦ÀíµÄ×î´ó·þÎñÇëÇóÊý
opts_mydomain=±¾µØÒòÌØÍøÓòÃû
opts_mydomain_default=È±Ê¡ (ÏµÍ³Ìá¹©)
opts_myhostname=´ËÓÊ¼þÏµÍ³µÄÒòÌØÍøÖ÷»úÃû
opts_myhostname_default=È±Ê¡ (ÏµÍ³Ìá¹©)
opts_mynetworks=±¾µØÍøÂç
opts_mynetworks_default=È±Ê¡ (ËùÓÐÁ¬½ÓµÄÍøÂç)
opts_bounce_notice_recipient=ÔÚÍË»ØÊ±·¢ËÍÍ¨Öª¸øpsotmaster...
opts_2bounce_notice_recipient=ÔÚÁ½´ÎÍË»ØÊ±·¢ËÍÍ¨Öª¸øpsotmaster...
opts_delay_notice_recipient=ÔÚÑÓ³ÙÊ±·¢ËÍÍ¨Öª¸øpsotmaster...
opts_error_notice_recipient=ÔÚ³ö´íÊ±·¢ËÍÍ¨Öª¸øpsotmaster...
opts_process_id_directory=Ëø¶¨Ïà¶ÔÓÚÄ¿Â¼µÄÎÄ¼þÄ¿Â¼
opts_program_directory=PostfixÖ§³ÖÄ¿Â¼ºÍÊØ»¤³ÌÐòÄ¿Â¼
opts_recipient_delimiter=ÓÃ»§Ãû / µØÖ·À©Õ¹µÄ·Ö¸ô
opts_relocated_maps_default=È±Ê¡(½ûÓÃ)
opts_sun_mailtool_compatibility=½ûÓÃÓÊÏäÉÏµÄÄÚºËÎÄ¼þËø
opts_trigger_timeout=¸øÊØ»¤³ÌÐò·¢ËÍ´¥·¢Æ÷µÄ×î¶à´ÎÊý
opts_delay_warning_time=ÓÉÓÚÎÞ·¨Í¶µÝ¶ø·¢ËÍ¾¯¸æµÄµÈ´ýÊ±¼ä(Ð¡Ê±)
opts_delay_warning_time_default=ÒÑ½ûÓÃ
smtpd_title=SMTP·þÎñÆ÷Ñ¡Ïî
smtpd_ecannot=ÄãÃ»ÓÐ±à¼­SMTP·þÎñÆ÷Ñ¡ÏîµÄÈ¨Á¦
opts_disable_vrfy_command=½ûÓÃSMTP VRFYÃüÁî
opts_smtpd_banner=SMTP»¶Ó­ºá·ù
opts_smtpd_etrn_restrictions=ÏÞÖÆETRNÃüÁîÓÚ...
opts_smtpd_recipient_limit=ÔÊÐíÍ¶µÝµÄ×î´óÊÕÐÅÈËÊý
opts_smtpd_timeout=SMTPÊÂÎñ³¬Ê±(Ãë)
opts_smtpd_error_sleep_time=·¢ËÍ4xx/5xx´íÎóÏìÓ¦Ç°µÄ³¬Ê±
opts_smtpd_soft_error_limit=ÁÙÊ±ºöÂÔÒ»¸öÓÃ»§µÄ´íÎóÊýÄ¿
opts_smtpd_hard_error_limit=¹Ø±ÕÁ¬½ÓµÄ´íÎóÊýÄ¿
opts_smtpd_client_restrictions=ÏÞÖÆ¿Í»§µÄÖ÷»úÃûºÍµØÖ·
opts_smtpd_helo_required=ÐèÒªHELO
opts_smtpd_helo_restrictions=·¢ËÍHELOÃüÁîÏÞÖÆ
opts_smtpd_sender_restrictions=·¢ÐÅÈËµØÖ·ÏÞÖÆ
opts_smtpd_recipient_restrictions=ÊÕÐÅÈËµØÖ·ÏÞÖÆ
opts_allow_untrusted_routing=ÔÊÐí²»¿ÉÐÅµÄÂ·ÓÉ
opts_maps_rbl_domains=²éÕÒºÚÃûµ¥µÄ DNS ÓòÃû
opts_relay_domains=ÏÞÖÆÓÊ¼þ×ª·¢
opts_access_map_reject_code=µ±Î¥·¸·ÃÎÊÍ¼Ê±SMTP·þÎñÆ÷ÏìÓ¦
opts_invalid_hostname_reject_code=µ±ÎÞÐ§µÄÖ÷»úÃû¾Ü¾øÊ±SMTP·þÎñÆ÷ÏìÓ¦
opts_maps_rbl_reject_code=µ±Î¥·¸ RBL ÓòÊ±SMTP·þÎñÆ÷ÏìÓ¦
opts_reject_code=¿Í»§¶Ë¾Ü¾øÊ±SMTP·þÎñÆ÷ÏìÓ¦
opts_relay_domains_reject_code=µ±½ûÖ¹×ª·¢Ê±SMTP·þÎñÆ÷ÏìÓ¦
opts_unknown_address_reject_code=µ±Î´ÖªÓò¾Ü¾øÊ±SMTP·þÎñÆ÷ÏìÓ¦
opts_unknown_client_reject_code=µ±Î´ÖªµÄ¿Í»§¾Ü¾øÊ±SMTP·þÎñÆ÷ÏìÓ¦
opts_unknown_hostname_reject_code=µ±Î´ÖªµÄÖ÷»ú¾Ü¾øÊ±SMTP·þÎñÆ÷ÏìÓ¦
smtp_title=SMTP¿Í»§Ñ¡Ïî
smtp_ecannot=ÄãÃ»ÓÐ±à¼­SMTP¿Í»§Ñ¡ÏîµÄÈ¨Á¦
opts_best_mx_transport=µ±ÁÐÈë×îºÃµÄMXÖ÷»úÊ±µÄ¶¯×÷
opts_best_mx_transport_default=È±Ê¡ (ÍË»ØÏûÏ¢)
opts_fallback_relay=Ä¿±êÎÞÐ§Ê±×ªµÝÓÊ¼þµÄÖ÷»ú/Óò
opts_ignore_mx_lookup_error=ºöÂÔMX²éÕÒ´íÎó
opts_smtp_skip_4xx_greeting=ºöÂÔ4xx»¶Ó­
opts_smtp_skip_quit_response=²»µÈ´ýQuitÃüÁîÏìÓ¦
opts_smtp_destination_concurrency_limit=Í¬Ò»¸öÄ¿±êµÄ×î´ó²¢ÐÐÍ¶µÝÊý
opts_smtp_destination_recipient_limit=Ã¿Ò»´ÎÍ¶µÝµÄ×î´ó½ÓÊÜÕßÊý
opts_smtp_connect_timeout=Íê³É TCP Á¬½Ó³¬Ê±
opts_smtp_helo_timeout=µÈ´ý»¶Ó­ºá·ù³¬Ê±
opts_smtp_mail_timeout=µÈ´ý¶ÔMAIL FROMµÄ´ð¸´³¬Ê±
opts_smtp_rcpt_timeout=µÈ´ý¶ÔRCPT TOµÄ´ð¸´³¬Ê±
opts_smtp_data_init_timeout=µÈ´ý¶ÔDATAµÄ´ð¸´³¬Ê±
opts_smtp_data_xfer_timeout=µÈ´ý¶Ô´«ÊäÏûÏ¢ÕýÎÄµÄ´ð¸´³¬Ê±
opts_smtp_data_done_timeout=µÈ´ý¶Ô½áÊø&quot;.&quot;µÄ´ð¸´³¬Ê±
opts_smtp_quit_timeout=µÈ´ý¶ÔQUITµÄ´ð¸´³¬Ê±
rate_title=Í¶µÝËÙ¶È
rate_ecannot=ÄãÃ»ÓÐ±à¼­Í¶µÝËÙ¶ÈÑ¡ÏîµÄÈ¨Á¦
opts_default_destination_concurrency_limit=µ½Í¬Ò»Ä¿±êµÄ×î´ó²¢ÐÐÍ¶µÝÊý
opts_default_destination_recipient_limit=Ã¿Ò»´ÎÏûÏ¢Í¶µÝµÄ×î´ó½ÓÊÜÕßÊý
opts_initial_destination_concurrency=Í¶µÝµ½Í¬Ò»Ä¿±êµÄ³õÊ¼²¢ÐÐ¼¶±ð
opts_maximal_backoff_time=Í¶µÝÑÓ³ÙÏûÏ¢ÖØ¸´³¢ÊÔÖ®¼äµÄ×î³¤Ê±¼ä(Ãë)
opts_maximal_queue_lifetime=²»¿ÉÍ¶µÝµÄÏûÏ¢ÔÚ¶ÓÁÐÖÐ±£ÁôµÄ×î´óÊ±¼ä(Ìì)
opts_minimal_backoff_time=Í¶µÝÑÓ³ÙÏûÏ¢ÖØ¸´³¢ÊÔÖ®¼äµÄ×î¶ÌÊ±¼ä(Ãë)
opts_queue_run_delay=É¨ÃèÑÓ³Ù¶ÓÁÐµÄÊ±¼ä¼ä¸ô(Ãë)
opts_defer_transports=²»Ó¦Í¶µÝµÄ´«Êä´ÎÊý
debug_title=µ÷ÊÔÌØÐÔ
debug_ecannot=ÄãÃ»ÓÐ±à¼­µ÷ÊÔÌØÐÔµÄÈ¨Á¦
opts_debug_peer_list=ÆôÓÃÁËÈß³¤ÈÕÖ¾µÄÓò/ÍøÂçÀàÐÍÁÐ±í
opts_debug_peer_level=µ±ÉÏ±íÆ¥ÅäµÄÈß³¤ÈÕÖ¾¼¶±ð
ldap_title=LDAP²éÕÒ
ldap_ecannot=ÄãÃ»ÓÐ±à¼­LDAP²éÕÒÑ¡ÏîµÄÈ¨Á¦
ldap_non_existent=ÄãµÄPostfixÏµÍ³ÉÏ²»´æÔÚLDAP
opts_ldap_lookup_timeout=LDAPÊý¾Ý¿â²éÑ¯³¬Ê±
opts_ldap_search_base=²éÑ¯µÄLDAPÊý¾Ý¿â
opts_ldap_server_host=LDAP·þÎñÆ÷Ö÷»úÃû
canonical_title=¹æ·¶Ó³ÉäÅäÖÃ
canonical_ecannot=ÄãÃ»ÓÐ±à¼­¹æ·¶Ó³ÉäÅäÖÃµÄÈ¨Á¦
opts_canonical_maps=µØÖ·Ó³Éä²éÕÒ±í
opts_recipient_canonical_maps=ÊÕÐÅÈËµØÖ·±í
opts_sender_canonical_maps=·¢ÐÅÈËµØÖ·±í
edit_canonical_maps=±à¼­¹æ·¶Ó³Éä±í
edit_recipient_canonical_maps=±à¼­ÊÕÐÅÈË¹æ·¶Ó³Éä±í
edit_sender_canonical_maps=±à¼­·¢ÐÅÈË¹æ·¶Ó³Éä±í
edit_canonical_maps_general=µã»÷ÈÎÒ»°´Å¥±à¼­¹æ·¶Ó³Éä±í
canonical_edit_title=±à¼­¹æ·¶Ó³Éä±í
mapping_name=Ãû×Ö
mapping_value=Ó³Éäµ½...
new_mapping=ÐÂÓ³Éä
new_mappingmsg=µã»÷Õâ¸ö°´Å¥´´½¨Ò»¸öÐÂÓ³Éä
map_save=±£´æÓ³Éä
delete_map=É¾³ýÓ³Éä
edit_map_title=±à¼­Ó³Éä
map_save_err=±£´æÓ³ÉäÊ±³ö´í
mapps_no_map_file=Ã»ÓÐ¶¨ÒåÓ³ÉäÎÄ¼þ
map_delete_create=²»ÄÜÉ¾³ýÕýÔÚ´´½¨µÄÓ³Éä
maps_internal_error=Ó³Éä£ºÄÚ²¿´íÎó
maps_cant_write=²»ÄÜÐ´Èë
help_map_format=ÎÒÓ¦¸ÃÊ¹ÓÃÊ²Ã´¸ñÊ½£¿
virtual_title=ÐéÄâÓò
virtual_ecannot=ÄãÃ»ÓÐ±à¼­ÐéÄâÓòÓ³ÉäÅäÖÃµÄÈ¨Á¦
opts_virtual_maps=ÓòÓ³Éä²éÕÒ±í
transport_title=´«ÊäÓ³Éä
transport_ecannot=ÄãÃ»ÓÐ±à¼­´«ÊäÓ³ÉäÅäÖÃµÄÈ¨Á¦
opts_transport_maps=´«ÊäÓ³Éä²éÕÒ±í
relocated_title=ÖØ¶¨ÏòÓ³Éä
relocated_ecannot=ÄãÃ»ÓÐ±à¼­ÖØ¶¨ÏòÓ³ÉäÅäÖÃµÄÈ¨Á¦
opts_relocated_maps=ÖØ¶¨ÏòÓ³Éä²éÕÒ±í
map_click=µã»÷ÈÎºÎÒ»¸öÓ³Éä±à¼­ÆäÊôÐÔ
no_map=(µ±Ç°Ã»ÓÐ¶¨ÒåÓ³Éä¡£Ê×ÏÈ¶¨ÒåÒ»¸öÓ³Éä£¬È»ºó¿ÉÒÔ±à¼­Ëü)
  0707010002fc74000081a40000000000000002000000013d1fe2dd000029f4000000200000000000000000000000000000001e00000003reloc/postfix/lang/zh_TW.Big5 index_title=Postfix ¶l¥óµ{¦¡
index_epath=Postfix ±±¨î«ü¥O $1 ¨S¦³¦w¸Ë¦b±zªº¨t²Î¤W. ¥i¯à¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¦³¿ù»~, ©Î¬O Postfix ©|¥¼³Q¦w¸Ë.

internal_error=¤º³¡¿ù»~
index_econfig=§ä¤£¨ì Postfix ²ÕºA«ü¥O $1. ¥i¯à¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_stop=°±¤î Postfix
index_start=±Ò°Ê Postfix
index_stopmsg=«ö¤U³o­Ó«ö¶s¥H°±¤î Postfix ¶l¥ó¦øªA¾¹. ³o±N°±¤î¨ä¥L¨t²Î±H°e¶l¥óµ¹¥»¦aºÝªº¨Ï¥ÎªÌ, ¨Ã¥B¨¾¤î«È¤áºÝ¥H³o­Ó¨t²Î¬°¶l¥ó¦øªA¾¹»¼°e¶l¥ó.
index_startmsg=«ö¤U³o­Ó«ö¶s¥H±Ò°Ê Postfix ¶l¥ó¦øªA¾¹. ¦b³o­Ó°Ê§@³Q§¹¦¨«e, ¶l¥ó±NµLªk³Q»¼°e¨ì¥»¦aºÝ¨t²Î¤Wªº¨Ï¥ÎªÌ, «È¤áºÝ¦³µLªk¥H³o­Ó¨t²Î§@¬°¶l¥ó¦øªA¾¹.
opts_err=µLªkÀx¦s¿ï¶µ

address_rewriting_title=¦ì§}­«¼g»P°°¸Ë
address_rewriting_ecannot=±z¤£³Q¤¹³\½s¿è¦ì§}­«¼g©Î°°¸Ë
aliases_title=¶l¥ó§O¦W
aliases_ecannot=±z¤£³Q¤¹³\½s¿è§O¦W
aliases_no_alias_file=¨S¦³§O¦WÀÉ®×
aliases_cant_write=µLªk¼g¤J§O¦WÀÉ®×
aliases_cant_read=µLªkÅª¨ú§O¦WÀÉ®×
aliasopts_title=§O¦W¿ï¶µ
aliases_internal_error=§O¦W: ¤º³¡¿ù»~
edit_alias_title=§O¦W¤º®e½s¿è
alias_save=Àx¦s§O¦W
alias_save_err=µLªkÀx¦s§O¦W
alias_delete_create=±z¬O§_­n»­°£±z¥Ø«e«Ø¥ßªº§O¦W!?
delete_alias=§R°£§O¦W

general_title=¤@¯ë¿ï¶µ
general_title_sensible=³Ì¦³¥Îªº¤@¯ë¿ï¶µ
general_title_others=¨ä¥L¤@¯ë¿ï¶µ
general_ecannot=±z¤£³Q¤¹³\½s¿è¤@¯ë¿ï¶µ
what_is_it=³o¬O¤°»ò?

opts_default=¹w³]­È
opts_none=µL
opts_relayhost=»¼°e¥~°e¶l¥ó¸g¥Ñ¥D¾÷
opts_direct=ª½±µ»¼°e
opts_myorigin=¥~°e¶l¥ó©Ò­n¨Ï¥Îªººô°ì
opts_myorigin_as_myhostname=¨Ï¥Î¥D¾÷¦WºÙ
opts_myorigin_as_mydomain=¨Ï¥Îºô°ì¦WºÙ
opts_mydestination=­n±µ¦¬¶l¥óªººô°ì
opts_mydestination_default=¥»¦aºÝ¾÷¾¹
opts_mydestination_domainwide=¾ã­Óºô°ì
opts_notify_classes=­n¦^³ø­Ó postmaster ­Ó¿ù»~
opts_queue_directory=¶l¥ó¦î¦C¥Ø¿ý
opts_mail_owner=¶l¥ó¾Ö¦³ªÌ
opts_default_privs=¹w³]ªº»¼°e¥N²z¾¹Åv¤O
opts_inet_interfaces=±µ¦¬¶l¥óªººô¸ô¤¶­±
opts_all_interfaces=¥þ³¡

opts_local_recipient_maps=©Úµ´¥¼ª¾ªº¥»¦aºÝ¨Ï¥ÎªÌ
opts_no=§_
opts_save=Àx¦s¨Ã®M¥Î


opts_allow_percent_hack=¼g "user%domain" ¦¨ "user@domain"
opts_append_at_myorigin=­«¼g "user" ¦¨ "user@$mydomain"
opts_append_dot_mydomain=­«¼g "user@host" ¦¨ "user@host.$mydomain"
opts_empty_address_recipient=»¼°e¨S¦³¦¬«H¤H¶l¥ó¨ì...
opt_empty_recip_default=¹w³]
opts_swap_bangpath=­«¼g "site!user" ¦¨ "user@site"
opts_masquerade_domains=¦a§}°°¸Ë
opts_masquerade_exceptions=°°¸Ëªº¨Ò¥~
index_return=Postfix ²ÕºA


opts_alias_maps=¥»¦aºÝ»¼°e¥N²z¾¹¨Ï¥Îªº§O¦W¸ê®Æ®w
opts_alias_database=§O¦W¸ê®Æ®w¥Ñ«ü¥O &quot;newaliases&quot; «Ø¥ß
aliases_warning=Äµ§i: <ul><li>·í²Ä¤@­ÓÄæ¦ì¤£¬OªÅ¥Õ®É, ¹w³]ªº Postfix §O¦W²£¥Í«ü¥O·|³Q©ó²£¥Í¹ïÀ³ªº¸ê®Æ®w; <li>§_«h±N°õ¦æ Sendmail ¬Û®eªº©R¥O &quot;newaliases&quot;, ³o±N¨Ï¥Î¦b²Ä¤G­ÓÄæ¦ìªº¸ê®Æ®w.</ul>

aliases_name=¦WºÙ
aliases_value=§O¦W¬°...

new_alias=«Ø¥ß·sªº§O¦W
new_aliasmsg=«ö¤U³o­Ó«ö¶s¥H«Ø¥ß·sªº§O¦W


local_delivery_ecannot=±z¤£³Q¤¹³\½s¿è¥»¦aºÝ»¼°e¿ï¶µ
local_delivery_title=¥»¦aºÝ»¼°e
opts_local_transport=¥»¦aºÝ»¼°eªº¶Ç°eªÌ¦WºÙ
opts_local_transport_local=¥»¦aºÝ
opts_local_command_shell=»¼°e®É¥~³¡«ü¥O©Ò¨Ï¥Îªº©R¥O´ß
opts_local_command_shell_direct=µL (ª½±µ°õ¦æ«ü¥O)
opts_forward_path=Âà°eªº·j´M¦Cªí
opts_allow_mail_to_commands=¦³®Äªº»¼°e®É¥~³¡«ü¥O
opts_allow_mail_to_files=¦³®Äªº¶l¥ó»¼°e¥~³¡ÀÉ®×
opts_home_mailbox=¨Ï¥ÎªÌ¶l¥ó«H½cÀÉ®×ªº¨Ï¥ÎªÌ¬ÛÃö®a¥Ø¿ý¸ô®|¦WºÙ
opts_home_mailbox_default=µL (¨Ï¥Î¼Ð·Çªº <tt>/var/something</tt>)
opts_luser_relay=¥¼ª¾¦¬¥óªÌ²Ä¥Ø¼Ð¦ì§}
opts_luser_relay_none=µL (°h¦^ mail)
opts_mail_spool_directory=Àx¦s¥Ø¿ý
opts_mailbox_command=¤£¨Ï¥Î«H½c»¼°e®Éªº¥~³¡«ü¥O
opts_mailbox_command_none=µL
opts_mailbox_transport=¹ê»Ú¶Ç°e®Éªº¿ï¶µ
opts_mailbox_transport_none=µL
opts_fallback_transport=¥¼ª¾¦¬¥óªÌªº¶Ç°e¿ï¶µ
opts_fallback_transport_none=µL
opts_local_destination_concurrency_limit=»¼°e¨ì¥»¦aºÝ¦¬¥óªÌªº³Ì¤j¥­¦æ³B²z¼Æ¥Ø
opts_local_destination_recipient_limit=¨C­Ó¥»¦aºÝ¦¬°T®§»¼°eªº§@³Ì¤j¦¬¥óªÌ¼Æ¥Ø
opts_local_destination_recipient_limit_default=¹w³]­È
opts_prepend_delivered_header=¹w³]ªº <tt>»¼°e¨ì:</tt> ·í...
opts_prepend_delivered_header_default=¹w³]­È


resource_title=¤@¯ë¸ê·½±±¨î
resource_ecannot=±z¤£³Q¤¹³\½s¿è¸ê·½±±¨î°Ñ¼Æ
opts_bounce_size_limit=°h¦^°T®§ªº³Ì¤j¤j¤p
opts_command_time_limit=»¼°e¨ì¥~³¡«ü¥Oªº³Ì¤j®É¶¡
opts_default_process_limit=Postfix ªº³Ì¤j¤lµ{§Ç¼Æ¥Ø
opts_deliver_lock_attempts=¨ú±oÀÉ®×Âê©wªº³Ì¤j¹Á¸Õ¦¸¼Æ
opts_deliver_lock_delay=ÀÉ®×Âê©w¹Á¸Õªº¶¡¹j®É¶¡
opts_duplicate_filter_limit=½Æ»s¹LÂo¾¹°O¾Ðªº³Ì¤j¦ì¸m¼Æ¥Ø
opts_fork_attempts=­l¥Íµ{§Çªº³Ì¤j¹Á¸Õ¼Æ¥Ø
opts_fork_delay=­l¥Í¹Á¸Õªº¶¡¹j®É¶¡
opts_header_size_limit=µ{§Ç¼ÐÀY¨Ï¥Îªº³Ì¤j°O¾ÐÅé¨Ï¥Î¶q
opts_line_length_limit=³B²z¿é¤J¦æ®Éªº³Ì¤j°O¾ÐÅé¨Ï¥Î¶q
opts_message_size_limit=«H®§ªº³Ì¤j¤j¤p
opts_qmgr_message_active_limit=¹B§@¤¤¦î¦Cªº³Ì¤j°T®§¼Æ¶q
opts_qmgr_message_recipient_limit=°O¾ÐÅé¤¤¦¬¥ó¤Hªº³Ì¤j¼Æ¶q
opts_queue_minfree=¦î¦CÀÉ®×¨t²Îªº³Ì¤p«O¯dªÅ¶¡
opts_stale_lock_time=Âê©wÄÀ©ñªºµ¥«Ý®É¶¡
opts_transport_retry_time=³s±µ¤¤Â_ªº MDT ¹Á¸Õ¶¡¹j®É¶¡


opts_always_bcc=¨C­Ó°T®§ÁôÂÃ°Æ¥»ªº±µ¦¬¦ì§}
opts_always_bcc_none=µL
opts_daemon_timeout=³B²z­n¨Dªº¹O®É­È
opts_default_database_type=¹w³]ªº¸ê®Æ®wÃþ§O
opts_default_transport=¹w³]ªº°T®§»¼°e¶Ç¿é
opts_double_bounce_sender=°h¦^¶l¥óªº±H¥óªÌ¦ì§}
opts_hash_queue_depth=¥D¦C¥Ø¿ý¤U­±ªº¤l¥Ø¿ý¼Æ¥Ø
opts_hash_queue_names=¦î¦C¥Ø¿ý¤l¥Ø¿ýªºªº¤À¹j¦WºÙ
opts_hopcount_limit=<tt>¦¬¥ó¤H:</tt> ¼ÐÀYªº³Ì¤j¼Æ¥Ø
opts_ipc_idle=¦b¤º³¡ IPC «È¤áºÝ¤¤¶¤³sµ²«áªº¶¢¸m®É¶¡
opts_ipc_timeout=¿é¥X¤J¤º³¡ÀW¹Dªº¹O®É­È
opts_mail_name=¶l¥ó¨t²Î®É¶¡
opts_mail_version=©x¤èªº¶l¥ó¨t²Îª©¥»
opts_max_idle=µ¥«Ý¤U¤@­ÓªA°È­n¨Dªºµ¥«Ý®É¶¡
opts_max_use=¦bÂ÷¶}«e³B²zªº³Ì¤jªA°È­n¨D
opts_mydomain=¥»¦aºÝªººô»Úºô¸ôºô°ì¦WºÙ
opts_mydomain_default=¹w³]­È (¥Ñ¨t²Î´£¨Ñ)
opts_myhostname=³o­Ó¶l¥ó¨t²Îªººô»Úºô¸ô¥D¾÷¦WºÙ
opts_myhostname_default=¹w³]­È (¥Ñ¨t²Î´£¨Ñ)
opts_mynetworks=¥»¦aºÝºô¸ô
opts_mynetworks_default=¹w³]­È (©Ò¦³³s±µªººô¸ô)
opts_bounce_notice_recipient=°eµ¹¶l¥óºÞ²zªÌ³qª¾, ·í°h¥ó±q...
opts_2bounce_notice_recipient=°eµ¹¶l¥óºÞ²zªÌ³qª¾, ·í 2 °h¥ó±q...
opts_delay_notice_recipient=°eµ¹¶l¥óºÞ²zªÌ³qª¾, ·í©µ¿ð»¼°e¨ì...
opts_error_notice_recipient=°eµ¹¶l¥óºÞ²zªÌ³qª¾, ·í¿ù»~¨ì...
opts_process_id_directory=Âê©wÀÉ®×¥Ø¿ý, ¬Û¹ï©ó¦î¦C¥Ø¿ý
opts_program_directory=Postfix¤ä´©µ{¦¡»P¦uÅ@ªÌ¥Ø¿ý
opts_recipient_delimiter=¨Ï¥ÎªÌ¦WºÙ/¦ì§} ªº¤ÀÂ÷¾¹
opts_relocated_maps_default=¹w³]­È (Ãö³¬)
opts_sun_mailtool_compatibility=¦b¶l¥ó«H½c¤WÀÉ®×Ãö³¬®Ö¤ßÂê©w
opts_trigger_timeout=°e¥X«H¸¹µ¹¦uÅ@¾¹ªº³Ì¤j®É¶¡
opts_delay_warning_time=»¼°e¥¼»¼°eªºÄµ§i«e¤§µ¥«Ý®É¶¡
opts_delay_warning_time_default=Ãö³¬


smtpd_title=SMTP ¦øªA¾¹¿ï¶µ
smtpd_ecannot=±z¤£³Q¤¹³\½s¿è SMTP ¦øªA¾¹¿ï¶µ
opts_disable_vrfy_command=Ãö³¬ SMTP VRFY «ü¥O
opts_smtpd_banner=SMTP Åwªï¼ÐÀY
opts_smtpd_etrn_restrictions=­­¨î ETRN «ü¥O°ò©ó...
opts_smtpd_recipient_limit=»¼°e®É±µ¨üªº³Ì¤j¦¬¥ó¤H¼Æ¥Ø
opts_smtpd_timeout=SMTP ¶Ç°e®Éªº¹O®É®É¶¡
opts_smtpd_error_sleep_time=¦b°e¥X 4xx/5xx ¿ù»~¦^À³«eªº¹O®É®É¶¡
opts_smtpd_soft_error_limit=¼È®É©¿²¤«È¤áºÝªº¿ù»~­p¼Æ
opts_smtpd_hard_error_limit=Ãö³¬³s±µªº¿ù»~­p¼Æ
opts_smtpd_client_restrictions=«È¤áºÝ ¥D¾÷¦WºÙ/¦ì§} ªº­­¨î
opts_smtpd_helo_required=HELO ¬O¥²­nªº
opts_smtpd_helo_restrictions=°e¥X HELO «ü¥Oªº­­¨î
opts_smtpd_sender_restrictions=»¼°eªÌ¦ì§}ªº­­¨î
opts_smtpd_recipient_restrictions=¦¬¥ó¤H¦ì§}ªº­­¨î
opts_allow_untrusted_routing=¤¹³\¤£²{¥ôªº¸ô¥Ñ
opts_maps_rbl_domains=¶Â¦W³æ¬d¸ßªº DNS ºô°ì
opts_relay_domains=¶l¥ó¦^À³ªº­­¨î
opts_access_map_reject_code=¹ïÀ³«I¥Çªº SMTP ¦øªA¾¹¦^À³
opts_invalid_hostname_reject_code=©Úµ´¿ù»~¥D¾÷¦WºÙªº SMTP ¦øªA¾¹¦^À³
opts_maps_rbl_reject_code=RBL ºô°ì«I¥Çªº SMTP ¦øªA¾¹¦^À³
opts_reject_code=©Úµ´«È¤áºÝªº SMTP ¦øªA¾¹¦^À³
opts_relay_domains_reject_code=¸T¤î¤¤Ä~ªº SMTP ¦øªA¾¹¦^À³
opts_unknown_address_reject_code=©Úµ´¥¼ª¾ºô°ìªº SMTP ¦øªA¾¹¦^À³
opts_unknown_client_reject_code=©Úµ´¥¼ª¾«È¤áºÝªº SMTP ¦øªA¾¹¦^À³
opts_unknown_hostname_reject_code=©Úµ´¥¼ª¾¥D¾÷¦WºÙªº SMTP ¦øªA¾¹¦^À³


smtp_title=SMTP «È¤áºÝ¿ï¶µ
smtp_ecannot=±z¤£³Q¤¹³\½s¿è SMTP «È¤áºÝ¿ï¶µ
opts_best_mx_transport=·í¦C¥X¬°³Ì¨Î MX ¥D¾÷®Éªº°Ê§@
opts_best_mx_transport_default=¹w³]­È (°h¦^°T®§)
opts_fallback_relay=³B²z¿ù»~¥Ø¼Ð®É¨Ï¥Îªº ¥D¾÷/ºô°ì
opts_ignore_mx_lookup_error=©¿²¤ MX ¬d¸ß¿ù»~
opts_smtp_skip_4xx_greeting=¸õ¹L 4xx Åwªï
opts_smtp_skip_quit_response=¸õ¹Lµ¥«Ý QUIT «ü¥O
opts_smtp_destination_concurrency_limit=»¼°e¨ì¬Û¦P¥Ø¼Ðªº³Ì¤j¦P®É³B²z¼Æ¥Ø
opts_smtp_destination_recipient_limit=¨C­Ó»¼°eªº³Ì¤j¦¬¥ó¤H¼Æ¥Ø
opts_smtp_connect_timeout=§¹¦¨ TCP ³s±µªº¹O®É­È
opts_smtp_helo_timeout=µ¥«ÝÅwªï¼ÐÀYªºµ¥«Ý¹O®É
opts_smtp_mail_timeout=µ¥«Ý MAIL FROM ¦^À³ªº¹O®É­È
opts_smtp_rcpt_timeout=µ¥«Ý RCPT TO ¦^À³ªº¹O®É­È
opts_smtp_data_init_timeout=µ¥«Ý DATA ¦^À³ªº¹O®É­È
opts_smtp_data_xfer_timeout=µ¥«Ý¶Ç¿é«H®§¥»Åé¦^À³ªº¹O®É­È
opts_smtp_data_done_timeout=µ¥«Ýµ²§ôªº &quot;.&quot; ¦^À³ªº¹O®É­È
opts_smtp_quit_timeout=µ¥«Ý QUIT ¦^À³ªº¹O®É­È


rate_title=»¼°e³t²v
rate_ecannot=±z¤£³Q¤¹³\½s¿è»¼°e³t²v¿ï¶µ
opts_default_destination_concurrency_limit=³Ì¤j»¼°e¨ì¬Û¦P¥Ø¼Ðªº³Ì¤jªº¥­¦æ³B²z¼Æ¶q
opts_default_destination_recipient_limit=¨C­Ó°T®§»¼°eªº³Ì¤j¦¬¥ó¤H¼Æ¶q
opts_initial_destination_concurrency=»¼°e°T®§¨ì¬Û¦P¥Ø¼Ðªºªì©l¤Æ¦P®É³B²z¼h¯Å
opts_maximal_backoff_time=¦b»¼°e¤£¦P°T®§¶¡ªº³Ì¤jµ¥«Ý®É¶¡ (¬í)
opts_maximal_queue_lifetime=µLªk±H¹F°T®§¦b¦î¦C¤¤ªº³Ì¤jµ¥«Ý®É¶¡ (¤Ñ)
opts_minimal_backoff_time=»¼°e¤£¦P°T®§¶¡ªº³Ì¤pµ¥«Ý®É¶¡ (¬í)
opts_queue_run_delay=±½´y¤£¦P¦î¦C¶¡ªºµ¥«Ý®É¶¡ (¬í)
opts_defer_transports=¤£À³¸Ó»¼°e®Éªº¶Ç°e¾¹


debug_title=°£¿ù¥\¯à
debug_ecannot=±z¤£³Q¤¹³\½s¿è°£¿ù¥\¯à
opts_debug_peer_list=±Ò°Ê¤¾ªø¬ö¿ýµ¥¯Åªº ºô°ì/ºô¸ô ¼Ë¦¡¦Cªí
opts_debug_peer_level=¤¾ªøªº¬ö¿ýµ¥¯Å·í²Å¦X¤W­±ªº¦Cªí


ldap_title=LDAP ¬d¸ß
ldap_ecannot=±z¤£³Q¤¹³\½s¿è LDAP ¬d¸ß¿ï¶µ
ldap_non_existent=LDAP ¦ü¥G¤£¦s¦b©ó±zªº Postfix ¨t²Î
opts_ldap_lookup_timeout=LDAP ¸ê®Æ®w¬d¸ßªº¹O®É­È
opts_ldap_search_base=­n·j´Mªº LDAP ¸ê®Æ®w
opts_ldap_server_host=LDAP ¦øªA¾¹¦WºÙ

canonical_title=¥D­nªº¹ïÀ³ªí
canonical_ecannot=±z¤£³Q¤¹³\½s¿è¥D­nªº¹ïÀ³ªí²ÕºA
opts_canonical_maps=¦ì§}¹ïÀ³¬d¸ßªí
opts_recipient_canonical_maps=RECIPIENT ¦ì§}ªí
opts_sender_canonical_maps=SENDER ¦ì§}ªí
edit_canonical_maps=½s¿è¥D­n¹ïÀ³ªí
edit_recipient_canonical_maps=½s¿è¥D­n¦¬¥ó¤H¹ïÀ³ªí
edit_sender_canonical_maps=½s¿è¥D­n±H¥ó¤H¹ïÀ³ªí
edit_canonical_maps_general=«ö¤U¨ä¤¤¤§¤@ªº«öÁä¥H½s¿è¥D­n¹ïÀ³ªí
canonical_edit_title=½s¿è¤@­Ó¥D­n¹ïÀ³ªí

mapping_name=¦WºÙ
mapping_value=¹ïÀ³¨ì...
new_mapping=·s¹ïÀ³
new_mappingmsp=«ö¤U³o­Ó«ö¶s¥H«Ø¥ß¤@­Ó·s¹ïÀ³
map_save=Àx¦s¹ïÀ³
delete_map=§R°£¹ïÀ³
edit_map_title=½s¿è¹ïÀ³
map_save_err=Àx¦s¹ïÀ³®Éµo¥Í¿ù»~
mapps_no_map_file=¨S¦³©w¸q¹ïÀ³ÀÉ®×
map_delete_create=µLªk§R°£±z­è«Ø¥ßªº¹ïÀ³ªí
maps_internal_error=¹ïÀ³: ¤º³¡¿ù»~
maps_cant_write=µLªk¼g¤J
help_map_format=§Ú¦]¸Ó¨Ï¥Î­þ¤@­Ó®æ¦¡?


virtual_title=µêÀÀºô°ì
virtual_ecannot=±z¤£³Q¤¹³\½s¿èµêÀÀºô°ì¹ïÀ³²ÕºA
opts_virtual_maps=ºô°ì¹ïÀ³¬d¸ßªí

transport_title=¶Ç¿é¹ïÀ³ªí
transport_ecannot=±z¤£³Q¤¹³\½s¿è¶Ç¿é¹ïÀ³ªí²ÕºA
opts_transport_maps=¶Ç¿é¹ïÀ³¬d¸ßªí

relocated_title=­«·s©w¦ì¹ïÀ³ªí
relocated_ecannot=±z¤£³Q¤¹³\½s¿è¥D­nªº¹ïÀ³ªí²ÕºA
opts_relocated_maps=­«·s©w¦ì¹ïÀ³¬d¸ßªí

map_click=«ö¤U¥ô¦óªº¹ïÀ³ªí¥H½s¿è¥¦ªº¤º®e:
no_map=(¥Ø«e¨S¦³©w¸qªº¹ïÀ³ªí. ½Ð¥ý©w¸q¤@­Ó¹ïÀ³ªím µM«á±z¤~¯à½s¿è¤§)0707010005f2a8000081e40000000000000002000000013d1fe2dc00000654000000200000000000000000000000000000001700000003reloc/postfix/ldap.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for controling ldap lookups.
#
# << Here are all options seen in Postfix sample-ldap.cf >>

require './postfix-lib.pl';


$access{'ldap'} || &error($text{'ldap_ecannot'});
&header($text{'ldap_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

if (!(&is_existing_parameter("ldap_lookup_timeout")))
{
    print $text{'ldap_non_existent'};
    print "<hr>\n";
    &footer("", $text{'index_return'});
    exit;
}


print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ldap_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_freefield("ldap_lookup_timeout", 15);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("ldap_search_base", 65, $none);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("ldap_server_host", 65, $none);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




0707010005f2a9000081e40000000000000002000000013d1fe2dd00000b28000000200000000000000000000000000000002100000003reloc/postfix/local_delivery.cgi  #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for controlling local delivery.
#
# << Here are all options seen in Postfix sample-local.cf >>

require './postfix-lib.pl';


$access{'local_delivery'} || &error($text{'local_delivery_ecannot'});
&header($text{'local_delivery_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'local_delivery_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_radios_freefield("local_transport", 20, $text{'opts_local_transport_local'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("local_command_shell", 40, $text{'opts_local_command_shell_direct'});
print "</tr>\n";

print "<tr>\n";
&option_freefield("forward_path", 80);
print "</tr>\n";

print "<tr>\n";
&option_freefield("allow_mail_to_commands", 40);
print "</tr>\n";

print "<tr>\n";
&option_freefield("allow_mail_to_files", 40);
print "</tr>\n";

print "<tr>\n";
&option_freefield("default_privs", 15);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("home_mailbox", 40, $text{'opts_home_mailbox_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("luser_relay", 40, $text{'opts_luser_relay_none'});
print "</tr>\n";

print "<tr>\n";
&option_freefield("mail_spool_directory", 40);
print "</tr>\n";

print "<tr>\n";
&option_freefield("mailbox_command", 60, $text{'opts_mailbox_command_none'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("mailbox_transport", 40, $text{'opts_mailbox_transport_none'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("fallback_transport", 40, $text{'opts_fallback_transport_none'});
print "</tr>\n";

print "<tr>\n";
&option_freefield("local_destination_concurrency_limit", 40);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("local_destination_recipient_limit", 40, $text{'opts_local_destination_recipient_limit_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("prepend_delivered_header", 40, $text{'opts_prepend_delivered_header_default'});
print "</tr>\n";


print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




0707010005f2aa000081e40000000000000002000000013d1fe2dd0000087d000000200000000000000000000000000000001c00000003reloc/postfix/maps_edit.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Edit maps

require './postfix-lib.pl';
&ReadParse();

&header($text{'canonical_edit_title'}, "");


my $which;

if ($in{'which'} eq $text{'edit_canonical_maps'}) { $which = 1; }
elsif ($in{'which'} eq $text{'edit_recipient_canonical_maps'}) { $which = 2; }
elsif ($in{'which'} eq $text{'edit_sender_canonical_maps'}) { $which = 3; }
else { &error($text{'internal_error'}); }



# double-table displaying all mappings

my $mappingsaliases = &get_aliases();

print "Click on any alias to edit its properties:\n<br>\n";
print "<table width=100%> <tr><td width=50% valign=top>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'aliases_name'}</b></td> ",
      "<td><b>$text{'aliases_value'}</b></td> </tr>\n";

my $split_index = int(($#{$aliases})/2);
my $i = -1;

foreach $alias (@{$aliases})
{
    print "<tr $cb>\n";
    print "<td><a href=\"edit_alias.cgi?num=$alias->{'number'}\">$alias->{'name'}</a></td>\n";
    print "<td>$alias->{'value'}</td>\n</tr>\n";
    $i++;
    if ($i == $split_index)
    {
	print "</table></td><td width=50% valign=top>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'aliases_name'}</b></td> ",
	"<td><b>$text{'aliases_value'}</b></td> </tr>\n";
    }
}

print "</tr></td></table>\n";
print "</table>\n";


# new alias form

print "<table cellpadding=5 width=100%><tr><td>\n";
print "<form action=edit_alias.cgi>\n";
print "<input type=submit value=\"$text{'new_alias'}\">\n";
print "</td> <td width=\"99%\">$text{'new_aliasmsg'}\n";
print "</td></tr></table></form>\n";


print "<hr>\n";
&footer("", $text{'index_return'});


print "$which <hr>\n";
print "<br>\n";

   0707010005f2ab000081a40000000000000002000000013d1fe2ea000001f4000000200000000000000000000000000000001a00000003reloc/postfix/module.info desc_ru_SU=ëÏÎÆÉÇÕÒÁÃÉÑ Postfix
risk=low medium high
desc_ko_KR.euc=Postfix ±¸¼º
desc_zh_TW.Big5=Postfix ²ÕºA
desc_pl=Konfiguracja Postfiksa
desc_de=Postfix Konfiguration
name=Postfix
desc_zh_CN=Postfix ÅäÖÃ
category=servers
desc_tr=Postfix Yapýlandýrmasý
desc=Postfix Configuration
desc_sv=Postfixinställningar
desc_es=Configuración de Postfix
desc_fr=Configuration de Postfix
desc_ja_JP.euc=Postfix ¤ÎÀßÄê
depends=0.990
version=0.990
desc_ru_RU=Êîíôèãóðàöèÿ Postfix
desc_ca=Agent de Correu Postfix
0707010005f2ac000081a40000000000000002000000013d1fe2dc00003581000000200000000000000000000000000000001d00000003reloc/postfix/postfix-lib.pl  # postfix-lib.pl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Functions for managing the postfix module for Webmin.
#
# Written by G. Cottenceau for MandrakeSoft <gc@mandrakesoft.com>
# This is free software under GPL license.
#

$POSTFIX_MODULE_VERSION = 5;

#
#
# -------------------------------------------------------------------------


do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

sub guess_config_dir
{
    my $answ = $config{'postfix_config_file'};
    $answ =~ /(.*)\/[^\/]*/;
    return $1;
}

$config_dir = guess_config_dir();


## DOC: compared to other webmin modules, here we don't need to parse
##      the config file, because a config command is provided by
##      postfix to read and write the config parameters


# postfix_module_version()
# returns the version of the postfix module
sub postfix_module_version
{
    return $POSTFIX_MODULE_VERSION;
}

# is_postfix_running()
# returns 1 if running, 0 if stopped, calls error() if problem
sub is_postfix_running
{
    my $queuedir = get_current_value("queue_directory");
    my $processid = get_current_value("process_id_directory");

    my $pid_file = $queuedir."/".$processid."/master.pid";

    if (open(PID, $pid_file))
    {
	chop(my $pid = <PID>);
	close(PID);
	$pid =~ /([0-9]+)/;
	return kill 0, $1;
    }
    else
    {
	return 0;
    }
}


sub is_existing_parameter
{
    my $out = `$config{'postfix_config_command'} -c $config_dir $_[0] 2>&1`;
    return !($out =~ /unknown parameter/);
}


# get_current_value(parameter_name)
# returns a scalar corresponding to the value of the parameter
sub get_current_value
{
    my $out = `$config{'postfix_config_command'} -c $config_dir -h $_[0] 2>&1`;  # -h tells postconf not to output the name of the parameter
    if ($?) { &error(&text('query_get_efailed', $_[0], $out)); }
    chop($out);
    return $out;
}

# if_default_value(parameter_name)
# returns if the value is the default value
sub if_default_value
{
    my $out = `$config{'postfix_config_command'} -c $config_dir -n $_[0] 2>&1`;
    if ($?) { &error(&text('query_get_efailed', $_[0], $out)); }
    return ($out eq "");
}

# get_default_value(parameter_name)
# returns the default value of the parameter
sub get_default_value
{
    my $out = `$config{'postfix_config_command'} -c $config_dir -dh $_[0] 2>&1`;  # -h tells postconf not to output the name of the parameter
    if ($?) { &error(&text('query_get_efailed', $_[0], $out)); }
    chop($out);
    return $out;
}


# set_current_value(parameter_name, parameter_value)
# 
sub set_current_value
{
    my $value = $_[1];
#    print "--".$value."--<br>";
    if (($value eq "__DEFAULT_VALUE_IE_NOT_IN_CONFIG_FILE__") || ($value eq &get_default_value($_[0])))
    {
	# there is a special case in which there is no static default value ;
	# postfix will handle it correctly if I remove the line in `main.cf'
	my $all_lines = &read_file_lines($config{'postfix_config_file'});
	my $line_of_parameter = -1;
	my $i = 0;

	foreach (@{$all_lines})
	{
	    if (/^\s*$_[0]\s*=/)
	    {
		$line_of_parameter = $i;
	    }
	    $i++;
	}

	if ($line_of_parameter != -1)
	{
	    splice(@{$all_lines}, $line_of_parameter, 1);
	    
	    &flush_file_lines();
	}
    }
    else
    {
	$value =~ s/\$/\\\$/g;     # prepend a \ in front of every $ to protect from shell substitution
	$out = system("$config{'postfix_config_command'} -c $config_dir -e $_[0]=\"$value\" 2>&1");
    }
    if ($out) { &error(&text('query_set_efailed', $_[0], $_[1], $out)."<br> $config{'postfix_config_command'} -c $config_dir -e $_[0]=\"$value\" 2>&1"); }
}

# check_postfix()
#
sub check_postfix
{
	my $out = system("$config{'postfix_control_command'} -c $config_dir check 2>&1");
	return $out;
}

# reload_postfix()
#
sub reload_postfix
{
    $access{'startstop'} || &error($text{'reload_ecannot'});
    if (is_postfix_running())
    {
	if (check_postfix()) { &error("$text{'check_error'}"); }
	my $out = system("$config{'postfix_control_command'} -c $config_dir reload 2>&1");
	if ($out) { &error($text{'reload_efailed'}); }
    }
}





# option_radios_freefield(name_of_option, length_of_free_field, [name_of_radiobutton, text_of_radiobutton]+)
# builds an option with variable number of radiobuttons and a free field
# WARNING: *FIRST* RADIO BUTTON *MUST* BE THE DEFAULT VALUE OF POSTFIX
sub option_radios_freefield
{
    my ($name, $length) = ($_[0], $_[1]);

    my $v = &get_current_value($name);
    my $key = 'opts_'.$name;

    my $check_free_field = 1;
    
    printf "<td>".&hlink("<b>$text{$key}</b>", "opt_".$name)."</td> <td %s nowrap>\n",
    $length > 20 ? "colspan=3" : "";

    # first radio button (must be default value!!)
    
    printf "<input type=radio name=$name"."_def value=\"__DEFAULT_VALUE_IE_NOT_IN_CONFIG_FILE__\" %s> $_[2]\n",
    (&if_default_value($name)) ? "checked" : "";

    $check_free_field = 0 if &if_default_value($name);
    shift;
    
    # other radio buttons
    while (defined($_[2]))
    {
	printf "<input type=radio name=$name"."_def value=\"$_[2]\" %s> $_[3]\n",
	($v eq $_[2]) ? "checked" : "";
	if ($v eq $_[2]) { $check_free_field = 0; }
	shift;
	shift;
    }

    # the free field
    printf "<input type=radio name=$name"."_def value=__USE_FREE_FIELD__ %s>\n",
    ($check_free_field == 1) ? "checked" : "";
    printf "<input name=$name size=$length value=\"%s\"> </td>\n",
    ($check_free_field == 1) ? $v : "";
}


# option_freefield(name_of_option, length_of_free_field)
# builds an option with free field
sub option_freefield
{
    my ($name, $length) = ($_[0], $_[1]);

    my $v = &get_current_value($name);
    my $key = 'opts_'.$name;
    
    printf "<td>".&hlink("<b>$text{$key}</b>", "opt_".$name)."</td> <td %s nowrap>\n",
    $length > 20 ? "colspan=3" : "";
    
    print "<input name=$name"."_def size=$length value=\"$v\"> </td>\n";
}


# option_yesno(name_of_option, [help])
# if help is provided, displays help link
sub option_yesno
{
    my $name = $_[0];
    my $v = &get_current_value($name);
    my $key = 'opts_'.$name;

    defined($_[1]) ?
	print "<td>".&hlink("<b>$text{$key}</b>", "opt_".$name)."</td> <td nowrap>\n"
    :
	print "<td><b>$text{$key}</b></td> <td nowrap>\n";
    
    printf "<input type=radio name=$name"."_def value=\"yes\" %s> $text{'yes'}\n",
    (lc($v) eq "yes") ? "checked" : "";

    printf "<input type=radio name=$name"."_def value=\"no\" %s> $text{'no'}\n",
    (lc($v) eq "no") ? "checked" : "";

    print "</td>\n";
}



############################################################################
# aliases support    [too lazy to create a aliases-lib.pl :-)]

# get_aliases_files($alias_maps) : @aliases_files
# parses its argument to extract the filenames of the aliases files
# supports multiple alias-files
sub get_aliases_files
{
    $_[0] =~ /:(\/[^,\s]*)(.*)/;
    (my $returnvalue, my $recurse) = ( $1, $2 );

    # Yes, Perl is also a functional language -> I construct a list, and no problem, lists are flattened in Perl
    return ( $returnvalue,
	     ($recurse =~ /:\/[^,\s]*/) ?
	         &get_aliases_files($recurse)
	     :
	         ()
           )
}

 
# get_aliases() : \@aliases
# construct the aliases database taken from the aliases files given in the "alias_maps" parameter
sub get_aliases
{
    if (!@aliases_cache)
    {
	my @aliases_files = &get_aliases_files(&get_current_value("alias_maps"));
	my $number = 0;
	foreach $aliases_file (@aliases_files)
	{
	    open(ALIASES, $aliases_file);
	    my $i = 0;
	    while (<ALIASES>)
	    {
		s/^#.*$//g;	# remove comments
		s/\r|\n//g;	# remove newlines
		if ((/^\s*\"([^\"]*)[^:]*:\s*([^#]*)/) ||      # names with double quotes (") are special, as seen in `man aliases(5)`
		    (/^\s*([^\s:]*)[^:]*:\s*([^#]*)/))         # other names
		{
		    $number++;
		    my %alias;
		    $alias{'name'} = $1;
		    $alias{'value'} = $2;
		    $alias{'line'} = $i;
		    $alias{'alias_file'} = $aliases_file;
		    $alias{'number'} = $number;
		    push(@aliases_cache, \%alias);
		}
		$i++;
	    }
	    close(ALIASES);
	}
    }
    return \@aliases_cache;
}


# init_new_alias() : $number
# gives a new number of alias
sub init_new_alias
{
    $aliases = &get_aliases();

    my $max_number = 0;

    foreach $trans (@{$aliases})
    {
	if ($trans->{'number'} > $max_number) { $max_number = $trans->{'number'}; }
    }
    
    return $max_number+1;
}



# save_options(%options)
#
sub save_options
{
    if (check_postfix()) { &error("$text{'check_error'}"); }

    my %options = %{$_[0]};

    foreach $key (keys %options)
    {
	if ($key =~ /_def/)
	{
	    (my $param = $key) =~ s/_def//;
	    
	    ($options{$key} eq "__USE_FREE_FIELD__") ?
		&set_current_value($param, $options{$param})
		    :
		&set_current_value($param, $options{$key});
	}
    }
}


# regenerate_aliases
#
sub regenerate_aliases
{
    $access{'genaliases'} || error($text{'regenerate_ecannot'});
    if (get_current_value("alias_maps") eq "")
    {
	$out = system("$config{'postfix_newaliases_command'} 2>&1");
	if ($out) { &error(&text('regenerate_alias_efailed', $out)); }
    }
    else
    {
	foreach $map (get_maps_files(get_current_value("alias_maps")))
	{
	    $out = system("$config{'postfix_aliases_table_command'} -c $config_dir $map 2>&1");
	    if ($out) { &error(&text('regenerate_table_efailed', $map, $out)); }
	}
    }
}


# regenerate_relocated_table
#
sub regenerate_relocated_table
{
    &regenerate_any_table("relocated_maps");
}


# regenerate_virtual_table
#
sub regenerate_virtual_table
{
    &regenerate_any_table("virtual_maps");
}


# regenerate_canonical_table
#
sub regenerate_canonical_table
{
    &regenerate_any_table("canonical_maps");
    &regenerate_any_table("recipient_canonical_maps");
    &regenerate_any_table("sender_canonical_maps");
}


# regenerate_transport_table
#
sub regenerate_transport_table
{
    &regenerate_any_table("transport_maps");
}


# regenerate_any_table($parameter_where_to_find_the_table_names)
#
sub regenerate_any_table
{
    if (&get_current_value($_[0]) ne "")
    {
	foreach $map (&get_maps_files(&get_current_value($_[0])))
	{
	    $out = `$config{'postfix_lookup_table_command'} -c $config_dir $map 2>&1`;
	    if ($out) { &error(&text('regenerate_table_efailed', $map, $out)); }
	}
    }
}



############################################################################
# maps [canonical, virtual, transport] support

# get_maps_files($maps_param) : @maps_files
# parses its argument to extract the filenames of the mapping files
# supports multiple maps-files
sub get_maps_files
{
    $_[0] =~ /:(\/[^,\s]*)(.*)/;
    (my $returnvalue, my $recurse) = ( $1, $2 );

    return ( $returnvalue,
	     ($recurse =~ /:\/[^,\s]*/) ?
	         &get_maps_files($recurse)
	     :
	         ()
           )
}

 
# get_maps($maps_name) : \@maps
# construct the mappings database taken from the map files given from the parameter
sub get_maps
{
    if (!@maps_cache)
    {
	my @maps_files = &get_maps_files(&get_current_value($_[0]));
	my $number = 0;
	foreach $maps_file (@maps_files)
	{
	    open(MAPS, $maps_file);
	    my $i = 0;
	    while (<MAPS>)
	    {
		s/^#.*$//g;	# remove comments
		s/\r|\n//g;	# remove newlines
		if (/^\s*([^\s]+)\s+([^#]*)/)
		{
		    $number++;
		    my %map;
		    $map{'name'} = $1;
		    $map{'value'} = $2;
		    $map{'line'} = $i;
		    $map{'map_file'} = $maps_file;
		    $map{'number'} = $number;
		    push(@maps_cache, \%map);
		}
		$i++;
	    }
	    close(MAPS);
	}
    }
    return \@maps_cache;
}


sub generate_map_edit
{
    if (&get_current_value($_[0]) eq "")
    {
	print ("<h2>$text{'no_map2'}</h2><br>");
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
    }


    my $mappings = &get_maps($_[0]);

    if ($#{$mappings} ne -1)
    {
	print $_[1];
	
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'mapping_name'}</b></td> ",
	"<td><b>$text{'mapping_value'}</b></td> </tr>\n";

	my $split_index = int(($#{$mappings})/2);
	my $i = -1;
	
	foreach $map (@{$mappings})
	{
	    print "<tr $cb>\n";
	    print "<td><a href=\"edit_mapping.cgi?num=$map->{'number'}&map_name=$_[0]\">$map->{'name'}</a></td>\n";
	    print "<td>$map->{'value'}</td>\n</tr>\n";
	    $i++;
	    if ($i == $split_index)
	    {
		print "</table></td><td width=50% valign=top>\n";
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'mapping_name'}</b></td> ",
		"<td><b>$text{'mapping_value'}</b></td> </tr>\n";
	    }
	}
	
	print "</tr></td></table>\n";
	print "</table>\n";
    }


# new form

    print "<table cellpadding=5 width=100%><tr><td>\n";
    print "<form action=edit_mapping.cgi>\n";
    print "<input type=hidden name=\"map_name\" value=\"$_[0]\">";
    print "<input type=submit value=\"$text{'new_mapping'}\">\n";
    print "</td> <td width=\"99%\">$text{'new_mappingmsg'}\n";
    print "</td></tr></table></form>\n";

}


# init_new_mapping($maps_parameter) : $number
# gives a new number of mapping
sub init_new_mapping
{
    $maps = &get_maps($_[0]);

    my $max_number = 0;

    foreach $trans (@{$maps})
    {
	if ($trans->{'number'} > $max_number) { $max_number = $trans->{'number'}; }
    }
    
    return $max_number+1;
}

1;

   0707010005f2ad000081e40000000000000002000000013d1fe2dd000006ca000000200000000000000000000000000000001700000003reloc/postfix/rate.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for SMTP client parameters.
#
# << Here are all options seen in Postfix sample-rate.cf >>

require './postfix-lib.pl';


$access{'rate'} || &error($text{'rate_ecannot'});
&header($text{'rate_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'rate_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_freefield("default_destination_concurrency_limit", 15);
&option_freefield("default_destination_recipient_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("initial_destination_concurrency", 15);
&option_freefield("maximal_queue_lifetime", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("minimal_backoff_time", 15);
&option_freefield("maximal_backoff_time", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("queue_run_delay", 15);
&option_freefield("defer_transports", 15);
print "</tr>\n";


print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




  0707010005f2ae000081e40000000000000002000000013d1fe2dd00000638000000200000000000000000000000000000001c00000003reloc/postfix/relocated.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Manages relocated tables for Postfix
#
# << Here are all options seen in Postfix sample-relocated.cf >>


require './postfix-lib.pl';

$access{'relocated'} || &error($text{'relocated_ecannot'});
&header($text{'relocated_title'}, "", "relocated");

print "<hr>\n";


# alias general options

print "<form action=save_opts_relocated.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'relocated_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$none = $text{'opts_none'};

print "<tr>\n";
&option_radios_freefield("relocated_maps", 60, $none);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
print "<br>\n";


if (&get_current_value("relocated_maps") eq "")
{
    print ($text{'no_map'}."<br><br>");
}
else
{
    &generate_map_edit("relocated_maps", $text{'map_click'}." ".
		       "<font size=\"-1\">".&hlink("$text{'help_map_format'}", "relocated")."</font>\n<br>\n");
}

print "<hr>\n";
&footer("", $text{'index_return'});
0707010005f2af000081e40000000000000002000000013d1fe2dc000008a6000000200000000000000000000000000000001b00000003reloc/postfix/resource.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for controlling resource control.
#
# << Here are all options seen in Postfix sample-resource.cf >>

require './postfix-lib.pl';


$access{'resource'} || &error($text{'resource_ecannot'});
&header($text{'resource_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'resource_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_freefield("bounce_size_limit", 15);
&option_freefield("command_time_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("default_process_limit", 15);
&option_freefield("duplicate_filter_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("deliver_lock_attempts", 15);
&option_freefield("deliver_lock_delay", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("fork_attempts", 15);
&option_freefield("fork_delay", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("header_size_limit", 15);
&option_freefield("line_length_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("message_size_limit", 15);
&option_freefield("qmgr_message_active_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("qmgr_message_recipient_limit", 15);
&option_freefield("queue_minfree", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("stale_lock_time", 15);
&option_freefield("transport_retry_time", 15);
print "</tr>\n";



print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




  0707010005f2b0000081e40000000000000002000000013d1fe2dd00000784000000200000000000000000000000000000001d00000003reloc/postfix/save_alias.cgi  #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save, modify, delete an alias for Postfix


require './postfix-lib.pl';

&ReadParse();


$access{'aliases'} || &error($text{'aliases_ecannot'});

#      &header($text{'aliases_title'}, "");

&error_setup($text{'alias_save_err'});


$aliases = &get_aliases();
my $add = 1; my %alias;

foreach $trans (@{$aliases})
{
    if ($trans->{'number'} == $in{'num'}) { $add = 0; %alias = %{$trans}; }
}



my @aliases_files = &get_aliases_files(&get_current_value("alias_maps"));

defined($aliases_files[0]) || &error($text{'aliases_no_alias_file'});

if ($in{'delete'})
{
    if ($add == 1)
    {
	$whatfailed = "";
	&error(&text('aliases_failed_delete', $text{'alias_delete_create'}));
    }
    my $all_aliases = &read_file_lines($alias{'alias_file'});
    splice(@{$all_aliases}, $alias{'line'}, 1);
    &flush_file_lines();
}
elsif ($add == 0)
{
    # modify an existing alias
    my $all_aliases = &read_file_lines($alias{'alias_file'});
    $all_aliases->[$alias{'line'}] = "$in{'name'}: $in{'value'}\n";
    &flush_file_lines();
}
else
{
    # add a new alias -- much more easy! :-)
    open(ALIASES, ">>$aliases_files[0]") or &error($text{'aliases_cant_write'});
    if ((print ALIASES "$in{'name'}: $in{'value'}\n") == 0) { &error($text{'aliases_cant_write'}); }
    close(ALIASES);
}
    


# re-creates aliases database

&regenerate_aliases();

&reload_postfix();

&redirect("aliases.cgi");




0707010005f2b1000081e40000000000000002000000013d1fe2dd000008d4000000200000000000000000000000000000001b00000003reloc/postfix/save_map.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save, modify, delete a map for Postfix


require './postfix-lib.pl';

&ReadParse();


#     &header($text{'aliases_title'}, "");

&error_setup($text{'map_save_err'});


my $maps = &get_maps($in{'map_name'});
my $add = 1; my %map;

foreach $trans (@{$maps})
{
    if ($trans->{'number'} == $in{'num'}) { $add = 0; %map = %{$trans}; }
}



my @maps_files = &get_maps_files(&get_current_value($in{'map_name'}));

defined($maps_files[0]) || &error($text{'mapps_no_map_file'});

if ($in{'delete'})
{
    if ($add == 1)
    {
	$whatfailed = "";
	&error(&text('map_delete_failed', $text{'map_delete_create'}));
    }
    my $all_maps = &read_file_lines($map{'map_file'});
    splice(@{$all_maps}, $map{'line'}, 1);
    &flush_file_lines();
}
elsif ($add == 0)
{
    # modify an existing map
    my $all_maps = &read_file_lines($map{'map_file'});
    $all_maps->[$map{'line'}] = "$in{'name'} $in{'value'}\n";
    &flush_file_lines();
}
else
{
    # add a new map -- much more easy! :-)
    open(MAPS, ">>$maps_files[0]") or &error($text{'maps_cant_write'});
    if ((print MAPS "$in{'name'} $in{'value'}\n") == 0) { &error($text{'maps_cant_write'}); }
    close(MAPS);
}
    


# re-creates aliases database

if ($in{'map_name'} =~ /canonical/) { &regenerate_canonical_table(); }
if ($in{'map_name'} =~ /relocated/) { &regenerate_relocated_table(); }
if ($in{'map_name'} =~ /virtual/) { &regenerate_virtual_table(); }

&reload_postfix();

if ($in{'map_name'} =~ /transport/) { &redirect("transport.cgi"); }
elsif ($in{'map_name'} =~ /canonical/) { &redirect("canonical.cgi"); }
elsif ($in{'map_name'} =~ /virtual/) { &redirect("virtual.cgi"); }
elsif ($in{'map_name'} =~ /relocated/) { &redirect("relocated.cgi"); }
else { &redirect(""); }

0707010005f2b2000081e40000000000000002000000013d1fe2dd00000313000000200000000000000000000000000000001c00000003reloc/postfix/save_opts.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options


require './postfix-lib.pl';

&ReadParse();

$access{'general'} || &error($text{'opts_ecannot'});

#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&reload_postfix();

&redirect("");



 0707010005f2b5000081e40000000000000002000000013d1fe2dc00000340000000200000000000000000000000000000002100000003reloc/postfix/save_opts_misc.cgi  #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special case in which we need to regenerate the relocated table


require './postfix-lib.pl';

&ReadParse();


#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_relocated_table();

&reload_postfix();

&redirect("");



0707010005f2b3000081e40000000000000002000000013d1fe2dc00000313000000200000000000000000000000000000002400000003reloc/postfix/save_opts_aliases.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special because for aliases


require './postfix-lib.pl';

&ReadParse();

#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_aliases();

&reload_postfix();

&redirect("");



 0707010005f2b4000081e40000000000000002000000013d1fe2dc00000361000000200000000000000000000000000000002600000003reloc/postfix/save_opts_canonical.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special because for canonical tables


require './postfix-lib.pl';

&ReadParse();

$access{'canonical'} || &error($text{'canonical_ecannot'});

#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_canonical_table();

&reload_postfix();

&redirect("");



   0707010005f2b6000081e40000000000000002000000013d1fe2dd00000361000000200000000000000000000000000000002600000003reloc/postfix/save_opts_relocated.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special because for relocated tables


require './postfix-lib.pl';

&ReadParse();


$access{'relocated'} || &error($text{'relocated_ecannot'});
#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_relocated_table();

&reload_postfix();

&redirect("");



   0707010005f2b7000081e40000000000000002000000013d1fe2dc00000361000000200000000000000000000000000000002600000003reloc/postfix/save_opts_transport.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special because for transport tables


require './postfix-lib.pl';

&ReadParse();


$access{'transport'} || &error($text{'transport_ecannot'});
#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_transport_table();

&reload_postfix();

&redirect("");



   0707010005f2b8000081e40000000000000002000000013d1fe2dd00000359000000200000000000000000000000000000002400000003reloc/postfix/save_opts_virtual.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Save Postfix options ; special because for virtual tables


require './postfix-lib.pl';

&ReadParse();


$access{'virtual'} || &error($text{'virtual_ecannot'});
#      &header($text{'opts_title'}, "");


&error_setup($text{'opts_err'});


&save_options(\%in);


&regenerate_virtual_table();

&reload_postfix();

&redirect("");



   0707010005f2b9000081e40000000000000002000000013d1fe2dd00000933000000200000000000000000000000000000001700000003reloc/postfix/smtp.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for SMTP client parameters.
#
# << Here are all options seen in Postfix sample-smtp.cf >>

require './postfix-lib.pl';


$access{'smtp'} || &error($text{'smtp_ecannot'});
&header($text{'smtp_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'smtpd_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_radios_freefield("best_mx_transport", 25, $text{'opts_best_mx_transport_default'});
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("fallback_relay", 60, $default);
print "</tr>\n";

print "<tr>\n";
&option_yesno("ignore_mx_lookup_error", 'help');
&option_yesno("smtp_skip_4xx_greeting", 'help');
print "</tr>\n";

print "<tr>\n";
&option_yesno("smtp_skip_quit_response", 'help');
print "</tr>\n";


print "<tr>\n";
&option_radios_freefield("smtp_destination_concurrency_limit", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtp_destination_recipient_limit", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtp_connect_timeout", 15);
&option_freefield("smtp_helo_timeout", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtp_mail_timeout", 15);
&option_freefield("smtp_rcpt_timeout", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtp_data_init_timeout", 15);
&option_freefield("smtp_data_xfer_timeout", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtp_data_done_timeout", 15);
&option_freefield("smtp_quit_timeout", 15);
print "</tr>\n";



print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




 0707010005f2ba000081e40000000000000002000000013d1fe2dc00000c30000000200000000000000000000000000000001800000003reloc/postfix/smtpd.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# A form for SMTP server parameters.
#
# << Here are all options seen in Postfix sample-smtpd.cf >>

require './postfix-lib.pl';


$access{'smtpd'} || &error($text{'smtpd_ecannot'});
&header($text{'smtpd_title'}, "");
print "<hr>\n";

$default = $text{'opts_default'};
$none = $text{'opts_none'};
$no_ = $text{'opts_no'};

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'smtpd_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_banner", 85, $default);
print "</tr>\n";


print "<tr>\n";
&option_freefield("smtpd_recipient_limit", 15);
&option_yesno("disable_vrfy_command", 'help');
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtpd_timeout", 15);
&option_freefield("smtpd_error_sleep_time", 15);
print "</tr>\n";

print "<tr>\n";
&option_freefield("smtpd_soft_error_limit", 15);
&option_freefield("smtpd_hard_error_limit", 15);
print "</tr>\n";

print "<tr>\n";
&option_yesno("smtpd_helo_required", 'help');
&option_yesno("allow_untrusted_routing", 'help');
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_etrn_restrictions", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_client_restrictions", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_helo_restrictions", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_sender_restrictions", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("smtpd_recipient_restrictions", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("maps_rbl_domains", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_radios_freefield("relay_domains", 65, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("access_map_reject_code", 15, $default);
&option_freefield("invalid_hostname_reject_code", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("maps_rbl_reject_code", 15, $default);
&option_freefield("reject_code", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("relay_domains_reject_code", 15, $default);
&option_freefield("unknown_address_reject_code", 15, $default);
print "</tr>\n";

print "<tr>\n";
&option_freefield("unknown_client_reject_code", 15, $default);
&option_freefield("unknown_hostname_reject_code", 15, $default);
print "</tr>\n";




print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});




0707010005f2bb000081e40000000000000002000000013d1fe2dd00000328000000200000000000000000000000000000001800000003reloc/postfix/start.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
#
# Start postfix

require './postfix-lib.pl';

$access{'startstop'} || &error("You are not allowed to start Postfix");
$whatfailed = "Failed to start Postfix";
$out = `$config{'postfix_control_command'} -c $config_dir start 2>&1`;
if ($?) { &error("<tt>$out</tt>"); }
&redirect("");

0707010005f2bc000081e40000000000000002000000013d1fe2dc00000312000000200000000000000000000000000000001700000003reloc/postfix/stop.cgi    #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Stop postfix

require './postfix-lib.pl';

$access{'startstop'} || &error($text{'stop_ecannot'});
$whatfailed = $text{'stop_efailed'};
$out = `$config{'postfix_control_command'} -c $config_dir stop 2>&1`;
if ($?) { &error("<tt>$out</tt>"); }
&redirect("");

  0707010005f2bd000081e40000000000000002000000013d1fe2dd00000631000000200000000000000000000000000000001c00000003reloc/postfix/transport.cgi   #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Manages transport for Postfix
#
# << Here are all options seen in Postfix sample-transport.cf >>


require './postfix-lib.pl';

$access{'transport'} || &error($text{'transport_ecannot'});
&header($text{'transport_title'}, "", "transport");

print "<hr>\n";


# alias general options

print "<form action=save_opts_transport.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'transport_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$none = $text{'opts_none'};

print "<tr>\n";
&option_radios_freefield("transport_maps", 60, $none);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
print "<br>\n";


if (&get_current_value("transport_maps") eq "")
{
    print ($text{'no_map'}."<br><br>");
}
else
{
    &generate_map_edit("transport_maps", $text{'map_click'}." ".
		       "<font size=\"-1\">".&hlink("$text{'help_map_format'}", "transport")."</font>\n<br>\n");
}

print "<hr>\n";
&footer("", $text{'index_return'});
   0707010005f2be000081e40000000000000002000000013d1fe2dc0000061a000000200000000000000000000000000000001a00000003reloc/postfix/virtual.cgi #!/usr/local/bin/perl
#
# postfix-module by Guillaume Cottenceau <gc@mandrakesoft.com>,
# for webmin by Jamie Cameron
#
# Copyright (c) 2000 by Mandrakesoft
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby 
# granted. No representations are made about the suitability of this software 
# for any purpose. It is provided "as is" without express or implied warranty.
# See the GNU General Public License for more details.
#
# 
# Manages virtuals for Postfix
#
# << Here are all options seen in Postfix sample-virtual.cf >>


require './postfix-lib.pl';

$access{'virtual'} || &error($text{'virtual_ecannot'});
&header($text{'virtual_title'}, "", "virtual");

print "<hr>\n";


# alias general options

print "<form action=save_opts_virtual.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'virtual_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$none = $text{'opts_none'};

print "<tr>\n";
&option_radios_freefield("virtual_maps", 60, $none);
print "</tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
print "<br>\n";


if (&get_current_value("virtual_maps") eq "")
{
    print ($text{'no_map'}."<br><br>");
}
else
{
    &generate_map_edit("virtual_maps", $text{'map_click'}." ".
		       "<font size=\"-1\">".&hlink("$text{'help_map_format'}", "virtual")."</font>\n<br>\n");
}

print "<hr>\n";
&footer("", $text{'index_return'});
  07070100061f23000041ed0000000000000001000000053d1ffb0200000000000000200000000000000000000000000000001100000003reloc/postgresql  07070100061f24000081a40000000000000002000000013d1fe2de00000a20000000200000000000000000000000000000002100000003reloc/postgresql/acl_security.pl  
require 'postgresql-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the postgresql module
sub acl_security_form
{
my (@listdb)=&list_databases();
print "<tr> <td valign=top rowspan=4><b>$text{'acl_dbs'}</b>\n";
print "<br>$text{'acl_dbscannot'}" unless @listdb;
print "</td>\n";
print "<td rowspan=4 valign=top>\n";
if (@listdb) {
	printf "<input type=radio name=dbs_def value=1 %s> %s\n",
		$_[0]->{'dbs'} eq '*' ? 'checked' : '', $text{'acl_dall'};
	printf "<input type=radio name=dbs_def value=0 %s> %s<br>\n",
		$_[0]->{'dbs'} eq '*' ? '' : 'checked', $text{'acl_dsel'};
	print "<select name=dbs size=5 multiple width=100>\n";
		map { $dcan{$_}++ } split(/\s+/, $_[0]->{'dbs'});
	foreach $d (@listdb) {
		printf "<option %s>%s\n",
			$dcan{$d} ? 'selected' : '', $d;
		}
	print "</select>";
	print "<input type=hidden name=dblist value=\"1\">\n";
	} 
else {
	print "<input type=hidden name=dblist value=\"0 ".$_[0]->{'dbs'}."\">\n";
	}
print "</td>\n";

print "<td><b>$text{'acl_create'}</b></td> <td>\n";
printf "<input type=radio name=create value=1 %s> %s\n",
	$_[0]->{'create'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=create value=0 %s> %s</td> </tr>\n",
	$_[0]->{'create'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_delete'}</b></td> <td>\n";
printf "<input type=radio name=delete value=1 %s> %s\n",
	$_[0]->{'delete'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=delete value=0 %s> %s</td> </tr>\n",
	$_[0]->{'delete'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_stop'}</b></td> <td>\n";
printf "<input type=radio name=stop value=1 %s> %s\n",
	$_[0]->{'stop'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=stop value=0 %s> %s</td> </tr>\n",
	$_[0]->{'stop'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_users'}</b></td> <td>\n";
printf "<input type=radio name=users value=1 %s> %s\n",
	$_[0]->{'users'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=users value=0 %s> %s</td> </tr>\n",
	$_[0]->{'users'} ? '' : 'checked', $text{'no'};
}

# acl_security_save(&options)
# Parse the form for security options for the postgresql module
sub acl_security_save
{
if ($in{'dblist'} eq '1') {
	if ($in{'dbs_def'}) {
		$_[0]->{'dbs'} = '*';
		}
	else {
		$_[0]->{'dbs'} = join(" ", split(/\0/, $in{'dbs'}));
		}
	} 
else {
	$_[0]->{'dbs'} = $in{'dblist'};
	$_[0]->{'dbs'} =~ s/^0 //;
	}
$_[0]->{'create'} = $in{'create'};
$_[0]->{'delete'} = $in{'delete'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'users'} = $in{'users'};
}

07070100061f25000081a40000000000000002000000013d1fe2de0000012b000000200000000000000000000000000000001800000003reloc/postgresql/config   basedb=template1
pass=
hba_conf=/usr/local/pgsql/var/pg_hba.conf
pid_file=/usr/local/pgsql/var/postmaster.pid
stop_cmd=
start_cmd=su postgres -c "/usr/local/pgsql/bin/postmaster -i -S -D/usr/local/pgsql/var"
perpage=25
psql=/usr/local/pgsql/bin/psql
login=postgres
plib=/usr/local/pgsql/lib
nodbi=0
 07070100061f26000081a40000000000000002000000013d1fe2de000000f7000000200000000000000000000000000000002500000003reloc/postgresql/config-cobalt-linux  hba_conf=/home/pgsql/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/rc.d/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=cfc4b0056f0833c6
login=admin
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
nodbi=0
 07070100061f27000081a40000000000000002000000013d1fe2de000000f2000000200000000000000000000000000000002500000003reloc/postgresql/config-debian-linux  hba_conf=/etc/postgresql/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
unix=postgres
nodbi=0
  07070100061f28000081a40000000000000002000000013d1fe2de0000011c000000200000000000000000000000000000002000000003reloc/postgresql/config-freebsd   basedb=template1
pass=
hba_conf=/usr/local/pgsql/data/pg_hba.conf
pid_file=/usr/local/pgsql/data/postmaster.pid
stop_cmd=/usr/local/etc/rc.d/010.pgsql.sh stop
start_cmd=/usr/local/etc/rc.d/010.pgsql.sh start
perpage=25
psql=/usr/local/bin/psql
login=pgsql
plib=/usr/local/lib
nodbi=0
07070100061f29000081a40000000000000002000000013d1fe2de000000ec000000200000000000000000000000000000002500000003reloc/postgresql/config-gentoo-linux  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/init.d/postgresql start
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/lib/postgresql/data/postmaster.pid
perpage=25
hba_conf=/var/lib/postgresql/pg_hba.conf
nodbi=0
07070100061f2a000081a40000000000000002000000013d1fe2de000000e6000000200000000000000000000000000000002700000003reloc/postgresql/config-mandrake-linux    login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/data/pg_hba.conf
nodbi=0
  07070100061f2b000081a40000000000000002000000013d1fe2de000000d7000000200000000000000000000000000000002200000003reloc/postgresql/config-msc-linux login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/init.d/postgresql start
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/pg_hba.conf
nodbi=0
 07070100061f2c000081a40000000000000002000000013d1fe2de00000102000000200000000000000000000000000000001f00000003reloc/postgresql/config-netbsd    basedb=template1
pass=
hba_conf=/usr/pkg/pgsql/data/pg_hba.conf
pid_file=/usr/pkg/pgsql/data/postmaster.pid
stop_cmd=/usr/pkg/etc/rc.d/pgsql stop
start_cmd=/usr/pkg/etc/rc.d/pgsql start
perpage=25
psql=/usr/pkg/bin/psql
login=pgsql
plib=/usr/pkg/lib
nodbi=0
  07070100061f2d000081a40000000000000002000000013d1fe2de000000e1000000200000000000000000000000000000002500000003reloc/postgresql/config-redhat-linux  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/pg_hba.conf
nodbi=0
   07070100061f2e000081a40000000000000002000000013d1fe2de000000e6000000200000000000000000000000000000002900000003reloc/postgresql/config-redhat-linux-7.0  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/data/pg_hba.conf
nodbi=0
  07070100061f2f000081a40000000000000002000000013d1fe2de000000e6000000200000000000000000000000000000002900000003reloc/postgresql/config-redhat-linux-7.1  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/data/pg_hba.conf
nodbi=0
  07070100061f30000081a40000000000000002000000013d1fe2de000000e6000000200000000000000000000000000000002900000003reloc/postgresql/config-redhat-linux-7.2  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/data/pg_hba.conf
nodbi=0
  07070100061f31000081a40000000000000002000000013d1fe2de000000f4000000200000000000000000000000000000002900000003reloc/postgresql/config-redhat-linux-7.3  login=postgres
psql=/usr/bin/psql
basedb=template1
start_cmd=/etc/rc.d/init.d/postgresql start
stop_cmd=/etc/rc.d/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
perpage=25
hba_conf=/var/lib/pgsql/data/pg_hba.conf
nodbi=0
user=postgres
07070100061f32000081a40000000000000002000000013d1fe2de000000f0000000200000000000000000000000000000002300000003reloc/postgresql/config-suse-linux    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/lib/pgsql/bin/psql
start_cmd=/sbin/init.d/postgres start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/sbin/init.d/postgres stop
pid_file=/var/run/postmaster.pid
nodbi=0
07070100061f33000081a40000000000000002000000013d1fe2de000000e6000000200000000000000000000000000000002700000003reloc/postgresql/config-suse-linux-7.0    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/sbin/init.d/postgres start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/sbin/init.d/postgres stop
pid_file=/var/run/postmaster.pid
nodbi=0
  07070100061f34000081a40000000000000002000000013d1fe2de000000e8000000200000000000000000000000000000002700000003reloc/postgresql/config-suse-linux-7.1    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
nodbi=0
07070100061f35000081a40000000000000002000000013d1fe2de000000e8000000200000000000000000000000000000002700000003reloc/postgresql/config-suse-linux-7.2    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
nodbi=0
07070100061f36000081a40000000000000002000000013d1fe2de000000e8000000200000000000000000000000000000002700000003reloc/postgresql/config-suse-linux-7.3    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
nodbi=0
07070100061f37000081a40000000000000002000000013d1fe2de000000e8000000200000000000000000000000000000002700000003reloc/postgresql/config-suse-linux-8.0    hba_conf=/var/lib/pgsql/data/pg_hba.conf
psql=/usr/bin/psql
start_cmd=/etc/init.d/postgresql start
basedb=template1
perpage=25
plib=
pass=
login=postgres
stop_cmd=/etc/init.d/postgresql stop
pid_file=/var/run/postmaster.pid
nodbi=0
07070100061f38000081a40000000000000002000000013d1fe2de00000225000000200000000000000000000000000000001d00000003reloc/postgresql/config.info  login=Administration login,0
pass=Administration password,12
psql=Path to psql command,0
plib=Path to PostgreSQL shared libraries,3,Not needed
basedb=Initial PostgreSQL database,0
start_cmd=Command to start PostgreSQL,0
stop_cmd=Command to stop PostgreSQL,3,Kill process
pid_file=Path to postmaster PID file,0
hba_conf=Path to host access config file,0
perpage=Number of rows to display per page,0
host=PostgreSQL host to connect to,3,Localhost
unix=Unix user to run PostgreSQL commands as,3,root
nodbi=Use DBI to connect if available?,1,0-Yes,1-No
   07070100061f39000081a40000000000000002000000013d1fe2de00000265000000200000000000000000000000000000002000000003reloc/postgresql/config.info.ca   login=Usuari d'administració,0
pass=Contrasenya d'administració,12
psql=Camí de l'ordre psql,0
plib=Camí de les llibreries compartides de PostgreSQL,3,No cal
basedb=Base de dades inicial de PostgreSQL,0
start_cmd=Ordre per iniciar PostgreSQL,0
stop_cmd=Ordre per aturar PostgreSQL,3,Mata el procés
pid_file=Camí del fitxer de PID de postmaster,0
hba_conf=Camí del fitxer de configuració d'accés a hosts,0
perpage=Nombre de files a mostrar per pàgina,0
host=Host PostgreSQL a connectar,3,localhost
unix=Usuari Unix que executa les ordres de PostgreSQL,3,root
nodbi=Connecta amb DBI si està disponible,1,0-Sí,1-No

   07070100061f3a000081a40000000000000002000000013d1fe2de00000230000000200000000000000000000000000000002000000003reloc/postgresql/config.info.es   login=Login de administración,0
pass=Clave de acceso de administración,0
psql=Trayectoria a comando psql,0
plib=Trayectoria a bibliotecas compartidas de PostgreSQL,3,No son necesarias
basedb=Base de datos inicial de PostgreSQL,0
start_cmd=Comando para arrancar PostgreSQL,0
stop_cmd=Comando para parar PostgreSQL,3,Matar proceso
pid_file=Trayectoria a archivo PID del jefe de estafeta de correos,0
hba_conf=Trayectoria archivo de configuración de acceso de máquinas,0
perpage=Número de filas a mostrar por página,0
host=Máquina PostgreSQL a conectarse,3,Local
07070100061f3b000081a40000000000000002000000013d1fe2de00000190000000200000000000000000000000000000002700000003reloc/postgresql/config.info.ja_JP.euc    login=PostgreSQL¥¹¡¼¥Ñ¥æ¡¼¥¶,0
pass=PostgreSQL¥¹¡¼¥Ñ¥æ¡¼¥¶¥Ñ¥¹¥ï¡¼¥É,0
psql=psql¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ë,0
plib=PostgreSQL ¥·¥§¥¢¡¼¥É¥é¥¤¥Ö¥é¥ê,3,É¬Í×Ìµ¤·
basedb=PostgreSQL¿÷·¿¥Ç¡¼¥¿¥Ù¡¼¥¹,0
start_cmd=PostgreSQLµ¯Æ°¥³¥Þ¥ó¥É,0
stop_cmd=PostgreSQLÄä»ß¥³¥Þ¥ó¥É,3,Kill ¥×¥í¥»¥¹
pid_file=postmaster PID ¥Õ¥¡¥¤¥ë,0
hba_conf=pg_hba.conf¥Õ¥¡¥¤¥ë,0
perpage=¥Ú¡¼¥¸É½¼¨¹Ô¿ô,0
host=PostgreSQLÀÜÂ³¥Û¥¹¥È,3,¥í¡¼¥«¥ë¥Û¥¹¥È
07070100061f3c000081a40000000000000002000000013d1fe2de00000231000000200000000000000000000000000000002000000003reloc/postgresql/config.info.pl   login=Login administracyjny,0
pass=Has³o administracyjne,0
psql=¦cie¿ka do polecenia <tt>psql</tt>,0
plib=¦cie¿ka do bibliotek wspó³dzielonych PostgreSQLa,3,Nie wymagana
basedb=Pocz±tkowa baza danych PostgreSQLa,0
start_cmd=Polecenie uruchamiaj±ce PostgreSQLa,0
stop_cmd=Polecenie zatrzymuj±ce PostgreSQLa,3,Zabicie procesu
pid_file=¦cie¿ka z&nbsp;numerem PID procesu <tt>postmaster</tt>,0
hba_conf=¦cie¿ka do pliku konfiguracyjnego dostêpu hostów,0
perpage=Ilo¶æ linii wy¶wietlanych na stronie,0
host=Host PostgreSQLa&#44; z&nbsp;którym siê ³±czyæ,3,Localhost
   07070100061f3d000081a40000000000000002000000013d1fe2de000001f8000000200000000000000000000000000000002000000003reloc/postgresql/config.info.sv   login=Administratörskonto,0
pass=Administratörslösenord,0
psql=Sökväg till psql-kommando,0
plib=Sökväg till delade bibliotek för PostgreSQL,3,Behövs inte
basedb=PostgreSQL-databas att starta med,0
start_cmd=Kommando för att starta PostgreSQL,0
stop_cmd=Kommando för att stanna PostgreSQL,3,Döda processen
pid_file=Sökväg till postmaster-PID-fil,0
hba_conf=Sökväg till konfigurationsfil för datortillgång,0
perpage=Antal rader som ska visas per sida,0
host=PostgreSQL-dator att koppla upp mot,3,Localhost
07070100061f3e000081a40000000000000002000000013d1fe2de0000012d000000200000000000000000000000000000002300000003reloc/postgresql/config.info.zh_CN    login=¹ÜÀíÔ±µÇÂ½,0
pass=¹ÜÀíÔ±¿ÚÁî,0
psql=ÃüÁîµÄÂ·¾¶,0
plib=PostgreSQL ¹²Ïí¿âÂ·¾¶,3,²»ÐèÒª
basedb=³õÊ¼»¯ PostgreSQL Êý¾Ý¿â,0
start_cmd=Æô¶¯ PostgreSQL µÄÃüÁî,0
stop_cmd=Í£Ö¹ PostgreSQL µÄÃüÁî,3,¹Ø±Õ½ø³Ì
pid_file=postmaster ½ø³Ì±êÊ¶ÎÄ¼þµÄÂ·¾¶,0
hba_conf=Ö÷»ú·ÃÎÊÅäÖÃÎÄ¼þÂ·¾¶,0
perpage=Ã¿Ò³ÏÔÊ¾µÄÐÐÊý,0
   07070100061f3f000081a40000000000000002000000013d1fe2de000001a9000000200000000000000000000000000000002800000003reloc/postgresql/config.info.zh_TW.Big5   login=ºÞ²z­ûµn¤J,0
pass=ºÞ²z­û±K½X,0
psql=psql©R¥O¸ô®|,0
plib=PostgreSQL ¦@¥Î¨ç¦¡®w¸ô®|,3,¤£»Ý­n
basedb=ªì©l¤Æ PostgreSQL ¸ê®Æ®w,0
start_cmd=±Ò°Ê PostgreSQL ªº©R¥O,0
stop_cmd=°±¤î PostgreSQL ªº©R¥O,3,Ãö³¬µ{§Ç
pid_file=postmaster PIDÀÉ®×¸ô®|,0
hba_conf=¥D¾÷¶i¤J°t¸mÀÉ®×¸ô®|,0
perpage=¨C­¶Åã¥Üªº¦æ¼Æ,0
host=PostgreSQL¥D¾÷³s½u¨ì,3,¥»¦aºÝ
unix=°õ¦æPostgreSQL«ü¥OªºUnix¨Ï¥ÎªÌ,3,root
nodbi=¦pªG¥i¥Hªº¸Ü¡A¨Ï¥ÎDBI³s½u?,1,0-¬O,1-§_
   07070100061f40000081e40000000000000002000000013d1fe2dd00000447000000200000000000000000000000000000002200000003reloc/postgresql/create_table.cgi #!/usr/local/bin/perl
# create_table.cgi
# Create a new table

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&error_setup($text{'table_err'});
$in{'name'} =~ /^\S+$/ || &error($text{'table_ename'});
for($i=0; defined($in{"field_$i"}); $i++) {
	next if (!$in{"field_$i"});
	$in{"field_$i"} =~ /^\S+$/ ||
		&error(&text('table_efield', $in{"field_$i"}));
	$in{"type_$i"} || &error(&text('table_etype', $in{"field_$i"}));
	if ($in{"size_$i"}) {
		$f = sprintf "\"%s\" %s(%s)",
		     $in{"field_$i"}, $in{"type_$i"}, $in{"size_$i"};
		}
	else {
		$f = sprintf "\"%s\" %s", $in{"field_$i"}, $in{"type_$i"};
		}
	if ($in{"arr_$i"}) { $f .= "[]"; }
	if (!$in{"null_$i"}) { $f .= " not null"; }
	if ($in{"key_$i"}) { $f .= " primary key"; }
	if ($in{"uniq_$i"}) { $f .= " unique"; }
	push(@fields, $f);
	}
@fields || &error($text{'table_enone'});
$sql = "create table \"$in{'name'}\" (".join(",", @fields).")";
&execute_sql_logged($in{'db'}, $sql);
&webmin_log("create", "table", $in{'name'}, \%in);
&redirect("edit_dbase.cgi?db=$in{'db'}");


 07070100061f41000081a40000000000000002000000013d1fe2dd00000027000000200000000000000000000000000000001c00000003reloc/postgresql/defaultacl   dbs=*
create=1
delete=1
stop=1
users=1
 07070100061f42000081e40000000000000002000000013d1fe2de00000253000000200000000000000000000000000000001a00000003reloc/postgresql/down.cgi #!/usr/local/bin/perl
# down.cgi
# Move a hosts list entry down

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'host_ecannot'});

&lock_file($config{'hba_conf'});
@hosts = &get_hba_config();
$host = $hosts[$in{'idx'}];
&swap_hba($host, $hosts[$in{'idx'}+1]);
&unlock_file($config{'hba_conf'});
&webmin_log('move', 'hba',
		   $host->{'type'} eq 'local' ? 'local' :
		   $host->{'netmask'} eq '0.0.0.0' ? 'all' :
		   $host->{'netmask'} eq '255.255.255.255' ? $host->{'address'}:
		   "$host->{'address'}/$host->{'netmask'}", $host);
&redirect("list_hosts.cgi");

 07070100061f43000081e40000000000000002000000013d1fe2de0000045b000000200000000000000000000000000000002000000003reloc/postgresql/drop_dbase.cgi   #!/usr/local/bin/perl
# drop_dbase.cgi
# Drop an existing database

require './postgresql-lib.pl';
&ReadParse();
&error_setup($text{'ddrop_err'});
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
if ($in{'confirm'}) {
	# Drop the database
	&execute_sql_logged($config{'basedb'}, "drop database $in{'db'}");
	&webmin_log("delete", "db", $in{'db'});
	&redirect("");
	}
else {
	# Ask the user if he is sure..
	&header($text{'ddrop_title'}, "");
	print "<hr>\n";
	@tables = &list_tables($in{'db'});
	$rows = 0;
	foreach $t (@tables) {
		$d = &execute_sql($in{'db'}, "select count(*) from $t");
		$rows += $d->{'data'}->[0]->[0];
		}

	print "<center><b><p>",&text('ddrop_rusure', "<tt>$in{'db'}</tt>",
				     scalar(@tables), $rows),"\n";
	print $text{'ddrop_mysql'},"\n" if ($in{'db'} eq $master_db);
	print "</b><p>\n";
	print "<form action=drop_dbase.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=submit name=confirm value='$text{'ddrop_ok'}'>\n";
	print "</form></center>\n";
	print "<hr>\n";
	&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});
	}


 07070100061f44000081e40000000000000002000000013d1fe2de00000d30000000200000000000000000000000000000002000000003reloc/postgresql/drop_field.cgi   #!/usr/local/bin/perl
# drop_field.cgi
# Drop a field from some table

sub mytext($);

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error(mytext('dbase_ecannot'));

&header(mytext('fdrop_title'), "", "field_drop");
print "<center><font size=+2>",&text('table_header', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";

@desc = &table_structure($in{'db'}, $in{'table'});

local $table_shuffle;
# If a field drop has been specified using this script
if ( $in{'dropfld'} && $in{'dropfldok'} ) {

	# Drop the field by copying the other fields through a temp table
	&error_setup(mytext('fdrop_err'));

	local $i;
	local $fld_list = "";

	if( @desc > 1 ) {
		for($i=0; $i<scalar(@desc); $i++) {
			local $r = $desc[$i];
			if( $in{'dropfld'} ne &html_escape($r->{'field'}) ) {
				# Note PostgreSQL requires quotes for uppercase
				if( $fld_list eq "" ) {
					$fld_list = '"'.$r->{'field'}.'"';
				} else {
					$fld_list = $fld_list . ', "' .$r->{'field'}.'"';
				}
			}
		}
	}
	
	if( $fld_list ne "" ) {
		local $tmp_tbl = "webmin_tmp_table".$PROCESS_ID;
		$table_shuffle = join '',
			"LOCK TABLE $in{'table'};",
			"CREATE TABLE $tmp_tbl AS SELECT $fld_list FROM $in{'table'};",
			"DROP TABLE $in{'table'};",
			"ALTER TABLE $tmp_tbl RENAME TO $in{'table'};";
			
  		&execute_sql_logged($in{'db'}, $table_shuffle);

		&webmin_log("delete", "table+field", $in{'table'}."+".$in{'dropfld'}, \%in);
	}

	@desc = &table_structure($in{'db'}, $in{'table'});

}  # if a field drop has been specified

# Display field selection screen
print "<hr>\n";

$mid = int((@desc / 2)+0.5);
print "<form action=drop_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<table border=0 width=100%> <tr><td valign=top width=50%>\n";
&type_table(0, $mid);
print "</td><td valign=top width=50%>\n";
&type_table($mid, scalar(@desc)) if (@desc > 1);
print "</td></tr> </table>\n";

print "<table width=100%><tr>\n";

print "<td>\n";
print "<input type=checkbox name=dropfldok",
	" value=dropit>",
	&html_escape(mytext('fdrop_lose_data')),
	"</option>",
	"</td>\n";
print "<td align=right width=33%>\n";
print '<input type=submit name="drop_a_fld" value="',
	mytext('fdrop_perform').'"></td>'."\n";

print "</tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}", mytext('table_return'));

sub type_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>".mytext('table_field')."</b></td> ",
      "<td><b>".mytext('table_type')."</b></td> ",
      "<td><b>".mytext('table_arr')."</b></td> ",
      "<td><b>".mytext('fdrop_header')."</b></td> </tr>\n";
local $i;
for($i=$_[0]; $i<$_[1]; $i++) {
	local $r = $desc[$i];
	print "<tr $cb>\n";
	print "<td><a href='edit_field.cgi?db=$in{'db'}&table=$in{'table'}&",
	      "idx=$i'>",&html_escape($r->{'field'}),"</a></td>\n";
	print "<td>",&html_escape($r->{'type'}),"</td>\n";
	print "<td>",$r->{'arr'} eq 'YES' ? mytext('yes')
					  : mytext('no'),"</td>\n";
	print "<td>","<input type=radio name=dropfld value='",
		&html_escape($r->{'field'}),"' ></td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

sub mytext($)
{
	my ($x) = @_;
	my $rv = $text{"$x"};
	if( ! $rv ) {
		$rv = "$x";	# if unknown text, use the label
	}
	return $rv;
}
07070100061f45000081e40000000000000002000000013d1fe2de00000468000000200000000000000000000000000000002000000003reloc/postgresql/drop_table.cgi   #!/usr/local/bin/perl
# drop_table.cgi
# Delete an existing table

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
if ($in{'confirm'}) {
	# Drop the table
	&error_setup($text{'tdrop_err'});
	&execute_sql_logged($in{'db'}, "drop table $in{'table'}");
	&webmin_log("delete", "table", $in{'table'}, \%in);
	&redirect("edit_dbase.cgi?db=$in{'db'}");
	}
else {
	# Ask the user if he is sure..
	&header($text{'tdrop_title'}, "");
	print "<hr>\n";
	@tables = &list_tables($in{'db'});
	$d = &execute_sql($in{'db'}, "select count(*) from $in{'table'}");
	$rows = $d->{'data'}->[0]->[0];

	print "<center><b><p>", &text('tdrop_rusure', "<tt>$in{'table'}</tt>",
				      "<tt>$in{'db'}</tt>", $rows),"</b><p>\n";
	print "<form action=drop_table.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<input type=hidden name=table value='$in{'table'}'>\n";
	print "<input type=submit name=confirm value='$text{'tdrop_ok'}'>\n";
	print "</form></center>\n";
	print "<hr>\n";
	&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",
		$text{'table_return'});
	}

07070100061f46000081e40000000000000002000000013d1fe2dd00000840000000200000000000000000000000000000002000000003reloc/postgresql/edit_dbase.cgi   #!/usr/local/bin/perl
# edit_dbase.cgi
# Show database tables

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&header($text{'dbase_title'}, "", "edit_dbase");
print "<center><font size=+2><tt>$in{'db'}</tt></font></center>\n";
print "<hr>\n";

# Is this database accepting connections?
@str = &table_structure($config{'basedb'}, "pg_database");
foreach $f (@str) {
	$hasconn++ if ($f->{'field'} eq 'datallowconn');
	}
if ($hasconn) {
	$rv = &execute_sql($config{'basedb'}, "select datallowconn from pg_database where datname = '$in{'db'}'");
	if ($rv->{'data'}->[0]->[0] !~ /^(t|1)/i) {
		print "<p>$text{'dbase_noconn'}</p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}
	}

@titles = &list_tables($in{'db'});
if (@titles) {
	print "<h3>$text{'dbase_tables'}</h3>\n";
	&show_buttons();
	@icons = map { "images/table.gif" } @titles;
	@links = map { "edit_table.cgi?db=$in{'db'}&table=$_" } @titles;
	@titles = map { &html_escape($_) } @titles;
	&icons_table(\@links, \@titles, \@icons, 5);
	}
else {
	print "<b>$text{'dbase_none'}</b> <p>\n";
	}
&show_buttons();

print "<hr>\n";
&footer("", $text{'index_return'});

sub show_buttons
{
print "<table width=100%> <tr>\n";
print "<form action=table_form.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<td width=33%><input type=submit value='$text{'dbase_add'}'>\n";
print $text{'dbase_fields'},"\n";
print "<select name=fields>\n";
foreach $f (4 .. 20) {
	print "<option>$f\n";
	}
print "</select></td>\n";
print "</form>\n";
if ($access{'delete'}) {
	print "<form action=drop_dbase.cgi>\n";
	print "<input type=hidden name=db value='$in{'db'}'>\n";
	print "<td align=middle width=33%><input type=submit ",
	      "value='$text{'dbase_drop'}'></td></form>\n";
	}
else {
	print "<td width=33%></td>\n";
	}
print "<form action=exec_form.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<td align=right width=33%><input type=submit ",
      "value='$text{'dbase_exec'}'></td>\n";
print "</form>\n";
print "</tr> </table></form>\n";
}

07070100061f47000081e40000000000000002000000013d1fe2dd00000a3a000000200000000000000000000000000000002000000003reloc/postgresql/edit_field.cgi   #!/usr/local/bin/perl
# edit_field.cgi
# Display a form for editing an existing field or creating a new one

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
if ($in{'type'}) {
	# Creating a new field
	&header($text{'field_title1'}, "", "create_field");
	$type = $in{'type'};
	}
else {
	# Editing an existing field
	&header($text{'field_title2'}, "", "edit_field");
	@desc = &table_structure($in{'db'}, $in{'table'});
	$f = $desc[$in{'idx'}];
	$type = $f->{'type'};
	}
print "<center><font size=+2>",&text('field_in', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form action=save_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=new value='$in{'type'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'field_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'field_name'}</b></td>\n";
print "<td><input name=field size=20 value='$f->{'field'}'></td> </tr>\n";
print "<input type=hidden name=old value='$f->{'field'}'>\n" if (!$in{'type'});

if ($type =~ /^(\S+)\((.*)\)/) {
	$type = $1;
	$size = $2;
	}
print "<input type=hidden name=type value='$type'>\n";
print "<tr> <td><b>$text{'field_type'}</b></td>\n";
print "<td>$type</td> </tr>\n";

if ($type eq 'char' || $type eq 'varchar' || $type eq 'numeric') {
	if ($in{'type'}) {
		# Type has a size
		print "<tr> <td><b>$text{'field_size'}</b></td>\n";
		print "<td><input name=size size=10 value='$size'></td></tr>\n";
		}
	else {
		# Type cannot be edited
		print "<tr> <td><b>$text{'field_size'}</b></td>\n";
		print "<td>$size</td> </tr>\n";
		}
	}

print "<tr> <td><b>$text{'field_arr'}</b></td> <td>\n";
if ($in{'type'}) {
	# Ask if this is an array
	print "<input name=arr type=radio value=1> $text{'yes'}\n";
	print "<input name=arr type=radio value=0 checked> $text{'no'}\n";
	}
else {
	# Display if array or not
	print $f->{'arr'} eq 'YES' ? $text{'yes'} : $text{'no'};
	}
print "</td> </tr>\n";

if (!$in{'type'}) {
	# Display nulls
	print "<tr> <td><b>$text{'field_null'}</b></td>\n";
	print "<td>",$f->{'null'} eq 'YES' ? $text{'yes'}
					   : $text{'no'},"</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
if ($in{'type'}) {
	print "<input type=submit value='$text{'create'}'>\n";
	}
else {
	print "<input type=submit value='$text{'save'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",$text{'table_return'});

  07070100061f4d000081e40000000000000002000000013d1fe2de00000392000000200000000000000000000000000000001a00000003reloc/postgresql/exec.cgi #!/usr/local/bin/perl
# exec.cgi
# Execute some SQL command and display output

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&error_setup($text{'exec_err'});
$d = &execute_sql_logged($in{'db'}, $in{'cmd'});

&header($text{'exec_title'}, "");
print "<hr>\n";
print "<p>",&text('exec_out', "<tt>$in{'cmd'}</tt>"),"<p>\n";
@data = @{$d->{'data'}};
if (@data) {
	print "<table border> <tr $tb>\n";
	foreach $t (@{$d->{'titles'}}) {
		print "<td><b>$t</b></td>\n";
		}
	print "</tr>\n";
	foreach $r (@data) {
		print "<tr $cb>\n";
		foreach $c (@$r) {
			print "<td>",$c ne '' ? &html_escape($c)
					      : "<br>","</td>\n";
			}
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<b>$text{'exec_none'}</b> <p>\n";
	}
&webmin_log("exec", undef, $in{'db'}, \%in);

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});

  07070100061f48000081e40000000000000002000000013d1fe2dd00000a51000000200000000000000000000000000000002000000003reloc/postgresql/edit_grant.cgi   #!/usr/local/bin/perl
# edit_grant.cgi
# Display a form for editing or creating a grant

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'grant_ecannot'});
&header($text{'grant_edit'}, "");
$s = &execute_sql($in{'db'}, 'select relname, relacl from pg_class where (relkind = \'r\' OR relkind = \'S\') and relname !~ \'^pg_\' order by relname');
foreach $g (@{$s->{'data'}}) {
	if ($g->[0] eq $in{'table'}) {
		$g->[1] =~ s/^\{//; $g->[1] =~ s/\}$//;
		@grant = map { /^"(.*)=(.*)"$/; [ $1, $2 ] }
			     split(/,/, $g->[1]);
		}
	}
print "<hr>\n";

@tables = &list_tables($in{'db'});
print "<form action=save_grant.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'grant_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'grant_db'}</b></td>\n";
print "<td><tt>$in{'db'}</tt></td> </tr>\n";

print "<tr> <td><b>",$text{"grant_$in{'type'}"},"</b></td>\n";
print "<td><tt>$in{'table'}</tt></td> </tr>\n";

$u = &execute_sql($config{'basedb'}, "select usename from pg_shadow");
@users = map { $_->[0] } @{$u->{'data'}};

$r = &execute_sql($config{'basedb'}, "select groname from pg_group");
@groups = map { $_->[0] } @{$r->{'data'}};

print "<tr> <td valign=top><b>$text{'grant_users'}</b></td>\n";
print "<td colspan=3><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'grant_user'}</b></td> ",
      "<td><b>$text{'grant_what'}</b></td> </tr>\n";
$i = 0;
foreach $g (@grant, [ undef, undef ]) {
	print "<tr> <td><select name=user_$i>\n";
	print "<option selected>\n" if (!defined($g->[0]));
	printf "<option value=public %s>%s\n",
		defined($g->[0]) && $g->[0] eq '' ? 'selected' : '',
		$text{'grant_public'};
	foreach $r (@groups) {
		printf "<option value='%s' %s>%s\n",
			"group $r", $g->[0] eq "group $r" ? 'selected' : '',
			&text('grant_group', $r);
		}
	foreach $u (@users) {
		printf "<option %s>%s\n",
			$g->[0] eq $u ? 'selected' : '', $u;
		}
	print "</select></td> <td>\n";

	foreach $p ( [ 'SELECT', 'r' ], [ 'UPDATE', 'w' ],
		     [ 'INSERT', 'a' ], [ 'RULE', 'R' ] ) {
		printf "<input type=checkbox name=what_$i value=%s %s> %s\n",
			$p->[0], $g->[1] =~ /$p->[1]/ ? 'checked' : '', $p->[0];
		}
	print "</td> </tr>\n";
	$i++;
	}
print "</table></td></tr>\n";
print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("list_grants.cgi", $text{'grant_return'});

   07070100061f49000081e40000000000000002000000013d1fe2de000007d5000000200000000000000000000000000000002000000003reloc/postgresql/edit_group.cgi   #!/usr/local/bin/perl
# edit_group.cgi
# Display a form for editing or creating a group

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'group_ecannot'});
if ($in{'new'}) {
	&header($text{'group_create'}, "");
	}
else {
	&header($text{'group_edit'}, "");
	$s = &execute_sql($config{'basedb'}, "select * from pg_group ".
					     "where grosysid = '$in{'gid'}'");
	@group = @{$s->{'data'}->[0]};
	}
print "<hr>\n";

print "<form action=save_group.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'group_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'group_name'}</b></td>\n";
print "<td><input name=name size=20 value='$group[0]'></td>\n";

print "<td><b>$text{'group_id'}</b></td>\n";
if ($in{'new'}) {
	$s = &execute_sql($config{'basedb'},
			  "select max(grosysid) from pg_group");
	$gid = $s->{'data'}->[0]->[0] + 1;
	print "<td><input name=gid size=10 value='$gid'></td> </tr>\n";
	}
else {
	print "<td>$group[1]</td> </tr>\n";
	print "<input type=hidden name=gid value='$in{'gid'}'>\n";
	}

map { $mem{$_}++ } &split_array($group[2]) if (!$in{'new'});
print "<tr> <td valign=top><b>$text{'group_mems'}</b></td>\n";
print "<td colspan=3><select name=mems multiple size=5 width=200>\n";
$s = &execute_sql($config{'basedb'}, "select * from pg_shadow");
foreach $u (@{$s->{'data'}}) {
	printf "<option value=%s %s>%s\n",
		$u->[1], $mem{$u->[1]} ? 'selected' : '', $u->[0];
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("list_groups.cgi", $text{'group_return'});

   07070100061f4a000081e40000000000000002000000013d1fe2de00000dac000000200000000000000000000000000000001f00000003reloc/postgresql/edit_host.cgi    #!/usr/local/bin/perl
# edit_host.cgi
# Display a form for editing or creating an allowed host

require './postgresql-lib.pl';
&ReadParse();
if ($in{'new'}) {
	$type = $in{'new'};
	&header($text{"host_create"}, "");
	$host = { 'type' => $type, 'netmask' => '0.0.0.0',
		  'auth' => 'trust', 'db' => 'all' };
	}
else {
	@all = &get_hba_config();
	$host = $all[$in{'idx'}];
	$type = $host->{'type'};
	&header($text{"host_edit"}, "");
	}
print "<hr>\n";

print "<form action=save_host.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'user_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$mode = $type eq 'local' ? 3 :
	$host->{'netmask'} eq '0.0.0.0' ? 0 :
	$host->{'netmask'} eq '255.255.255.255' ? 1 : 2;
print "<tr> <td valign=top><b>$text{'host_address'}</b></td> <td colspan=2>\n";
printf "<input type=radio name=addr_mode value=3 %s> %s<br>\n",
	$mode == 3 ? 'checked' : '', $text{'host_local'};

printf "<input type=radio name=addr_mode value=0 %s> %s<br>\n",
	$mode == 0 ? 'checked' : '', $text{'host_any'};

printf "<input type=radio name=addr_mode value=1 %s> %s\n",
	$mode == 1 ? 'checked' : '', $text{'host_single'};
printf "<input name=host size=20 value='%s'><br>\n",
	$mode == 1 ? $host->{'address'} : '';

printf "<input type=radio name=addr_mode value=2 %s> %s\n",
	$mode == 2 ? 'checked' : '', $text{'host_network'};
printf "<input name=network size=20 value='%s'> %s\n",
	$mode == 2 ? $host->{'address'} : '', $text{'host_netmask'};
printf "<input name=netmask size=20 value='%s'></td> </tr>\n",
	$mode == 2 ? $host->{'netmask'} : '';

print "<tr> <td><b>$text{'host_db'}</b></td>\n";
print "<td colspan=2><select name=db>\n";
printf "<option value=all %s>&lt;$text{'host_all'}&gt;\n",
	$host->{'db'} eq 'all' ? 'selected' : '';
printf "<option value=sameuser %s>&lt;$text{'host_same'}&gt;\n",
	$host->{'db'} eq 'sameuser' ? 'selected' : '';
foreach $d (&list_databases()) {
	printf "<option %s>%s\n", $host->{'db'} eq $d ? 'selected' : '', $d;
	}
print "</select></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'host_auth'}</b></td> <td valign=top>\n";
foreach $a ('password', 'crypt', 'trust', 'reject', 'ident', 'krb4', 'krb5') {
	printf "<input type=radio name=auth value=%s %s> %s\n",
		$a, $host->{'auth'} eq $a ? 'checked' : '', $text{"host_$a"};
	$arg = $host->{'auth'} eq $a ? $host->{'arg'} : undef;
	if ($a eq 'password') {
		print "<br>&nbsp;&nbsp;&nbsp;\n";
		printf "<input type=checkbox name=passwordarg value=1 %s> %s\n",
			$arg ? 'checked' : '', $text{'host_passwordarg'};
		print "<input name=password size=20 value='$arg'>\n";
		}
	elsif ($a eq 'ident') {
		print "<br>&nbsp;&nbsp;&nbsp;\n";
		printf "<input type=checkbox name=identarg value=1 %s> %s\n",
			$arg ? 'checked' : '', $text{'host_identarg'};
		print "<input name=ident size=10 value='$arg'>\n";
		}
	print "<br>\n";
	if ($a eq 'reject') {
		print "</td><td valign=top>\n";
		}
	}
print "</td></tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("list_hosts.cgi", $text{'host_return'});

07070100061f4b000081e40000000000000002000000013d1fe2dd00000ad6000000200000000000000000000000000000002000000003reloc/postgresql/edit_table.cgi   #!/usr/local/bin/perl
# edit_table.cgi
# Display the structure of some table

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&header($text{'table_title'}, "", "edit_table");
print "<center><font size=+2>",&text('table_header', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr>\n";

@desc = &table_structure($in{'db'}, $in{'table'});
print "<form action=edit_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";

$mid = int((@desc / 2)+0.5);
print "<table border=0 width=100%> <tr><td valign=top width=50%>\n";
&type_table(0, $mid);
print "</td><td valign=top width=50%>\n";
&type_table($mid, scalar(@desc)) if (@desc > 1);
print "</td></tr> </table>\n";

print "<table width=100%><tr>\n";
print "<td width=33% nowrap><input type=submit value='$text{'table_add'}'>\n";
print "<select name=type>\n";
foreach $t (&list_types()) {
	print "<option>$t\n";
	}
print "</select></td></form>\n";

print "<form action=view_table.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<td align=middle width=22%>\n";
print "<input type=submit value='$text{'table_data'}'></td>\n";
print "</form>\n";

print "<form action=drop_field.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<td align=right width=22%>\n";
print "<input type=submit name=drop_a_fld value='$text{'table_fielddrop'}'></td>\n";
print "</form>\n";

print "<form action=drop_table.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<td align=right width=22%>\n";
print "<input type=submit value='$text{'table_drop'}'></td>\n";
print "</form>\n";

print "</tr></table>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});

sub type_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'table_field'}</b></td> ",
      "<td><b>$text{'table_type'}</b></td> ",
      "<td><b>$text{'table_arr'}</b></td> ",
      "<td><b>$text{'table_null'}</b></td> </tr>\n";
local $i;
for($i=$_[0]; $i<$_[1]; $i++) {
	local $r = $desc[$i];
	print "<tr $cb>\n";
	print "<td><a href='edit_field.cgi?db=$in{'db'}&table=$in{'table'}&",
	      "idx=$i'>",&html_escape($r->{'field'}),"</a></td>\n";
	print "<td>",&html_escape($r->{'type'}),"</td>\n";
	print "<td>",$r->{'arr'} eq 'YES' ? $text{'yes'}
					  : $text{'no'},"</td>\n";
	print "<td>",$r->{'null'} eq 'YES' ? $text{'yes'}
					   : $text{'no'},"</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

  07070100061f4c000081e40000000000000002000000013d1fe2dd000009d7000000200000000000000000000000000000001f00000003reloc/postgresql/edit_user.cgi    #!/usr/local/bin/perl
# edit_user.cgi
# Display a form for editing or creating a user

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'user_ecannot'});
if ($in{'new'}) {
	&header($text{'user_create'}, "");
	}
else {
	&header($text{'user_edit'}, "");
	$s = &execute_sql($config{'basedb'}, "select * from pg_shadow ".
					     "where usename = '$in{'user'}'");
	@user = @{$s->{'data'}->[0]};
	}
print "<hr>\n";

print "<form action=save_user.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'user_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'user_name'}</b></td>\n";
if ($in{'new'}) {
	print "<td><input name=name size=20></td>\n";
	}
else {
	print "<td>$user[0]</td>\n";
	}

print "<td><b>$text{'user_passwd'}</b></td>\n";
printf "<td><input type=radio name=pass_def value=1 %s> $text{'user_none'}\n",
	$user[6] ? '' : 'checked';
printf "<input type=radio name=pass_def value=0 %s>\n",
	$user[6] ? 'checked' : '';
print "<input type=password name=pass size=20 value='$user[6]'></td> </tr>\n";

print "<tr> <td><b>$text{'user_db'}</b></td>\n";
printf "<td><input type=radio name=db value=1 %s> $text{'yes'}\n",
	$user[2] eq 't' ? 'checked' : '';
printf "<input type=radio name=db value=0 %s> $text{'no'}</td>\n",
	$user[2] eq 't' ? '' : 'checked';

print "<td><b>$text{'user_other'}</b></td>\n";
printf "<td><input type=radio name=other value=1 %s> $text{'yes'}\n",
	$user[4] eq 't' ? 'checked' : '';
printf "<input type=radio name=other value=0 %s> $text{'no'}</td> </tr>\n",
	$user[4] eq 't' ? '' : 'checked';

print "<tr> <td><b>$text{'user_until'}</b></td> <td colspan=3>\n";
if (!$user[7]) {
	printf "<input type=radio name=until_def value=1 %s> %s\n",
		$user[7] ? '' : 'checked', $text{'user_forever'};
	printf "<input type=radio name=until_def value=0 %s>\n",
		$user[7] ? 'checked' : '';
	}
print "<input name=until size=30 value='$user[7]'></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("list_users.cgi", $text{'user_return'});

 07070100061f4e000081e40000000000000002000000013d1fe2dd0000027b000000200000000000000000000000000000001f00000003reloc/postgresql/exec_form.cgi    #!/usr/local/bin/perl
# exec_form.cgi
# Display a form for executing SQL in some database

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&header($text{'exec_title'}, "", "exec_form");
print "<hr>\n";

print "<p>",&text('exec_header', "<tt>$in{'db'}</tt>"),"<p>\n";
print "<form action=exec.cgi method=post>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<textarea name=cmd rows=10 cols=70></textarea><br>\n";
print "<input type=submit value='$text{'exec_exec'}'></form>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});


 0707010006355e000041ed0000000000000001000000023d1ffb0000000000000000200000000000000000000000000000001600000003reloc/postgresql/help 0707010006355f000081a40000000000000002000000013d1fe2de00000001000000200000000000000000000000000000002b00000003reloc/postgresql/help/create_field.ca.html    
   07070100063560000081a40000000000000002000000013d1fe2de00000254000000200000000000000000000000000000002b00000003reloc/postgresql/help/create_field.es.html    <header>Añadir Campo</header>

En esta página puedes añadir un nuevo campo a la tabla. Los parámetros
editables para el nuevo campo son:

<dl>
<dt><b>Nombre de campo</b>
<dd>El nombre de este campo en la tabla.<p>
<dt><b>Medida de tipo (para campos varchar y char)</b>
<dd>El máximo número de caracteres permitidos para datos en este campo.<p>
<dt><b>¿Campo de arreglo?</b>
<dd>Si se pone esta opción a Sí, el campo será capaz de almacenar valores
    del mismo tipo.<p>
</dl>

Al terminar, haz click en el botón <tt>Salvar</tt> para actualizar la
estructura de la tabla con el nuevo campo.
<hr>
07070100063561000081a40000000000000002000000013d1fe2de00000231000000200000000000000000000000000000002800000003reloc/postgresql/help/create_field.html   <header>Add Field</header>

On this page you can add a new field to the table. The editable parameters
for the new field are :

<dl>
<dt><b>Field name</b>
<dd>The name of this field in the table.<p>
<dt><b>Type width (for varchar and char fields)</b>
<dd>The maximum number of characters allowed for data in this field.<p>
<dt><b>Array field?</b>
<dd>If this option is set to Yes, the field will be able to store multiple
    values of the same type.<p>
</dl>

When done, click on the <tt>Save</tt> button to update the table structure
with the new field.
<hr>
   07070100063562000081a40000000000000002000000013d1fe2de00000217000000200000000000000000000000000000002b00000003reloc/postgresql/help/create_field.it.html    <header>Aggiungi Campo</header>

In questa pagina puoi aggiungere un campo alla tabella. I parametri
modificabili per il nuovo campo sono:

<dl>
<dt><b>nome del campo</b>
<dd>Il nome del nuovo campo in questa tabella.<p>
<dt><b>Dimensione ( per campi char e varchar )</b>
<dd>Il numero massimo di caratteri permessi in questo campo.<p>
<dt><b>E' un campo array?</b>
<dd>Se si, questo campo potra' contenere piu' valori dello stesso tipo.<p>
</dl>

Appena hai terminato, clicca il pulsante <tt>Salva</tt> per aggiornare la
tabella
<hr>
 07070100063567000081a40000000000000002000000013d1fe2de0000024d000000200000000000000000000000000000003200000003reloc/postgresql/help/create_field.ja_JP.euc.html <header>¥Õ¥£¡¼¥ë¥É¤ÎÄÉ²Ã</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Æ¡¼¥Ö¥ë¤Ë¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤òÄÉ²Ã¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤ÇÊÔ½¸²ÄÇ½¤Ê°ú¿ô¤Ï²¼µ­¤Î¤â¤Î¤Ç¤¹¡£

<dl>
<dt><b>¥Õ¥£¡¼¥ë¥ÉÌ¾</b>
<dd>¥Æ¡¼¥Ö¥ëÆâ¤Î¤³¤Î¥Õ¥£¡¼¥ë¥É¤ÎÌ¾Á°<p>
<dt><b>¥Ç¡¼¥¿·¿¤ÎÄ¹¤µ(varchar·¿¤Èchar·¿ÍÑ)</b>
<dd>¤³¤Î¥Õ¥£¡¼¥ë¥ÉÆâ¤Î¥Ç¡¼¥¿¤ÎºÇÂçÊ¸»ú¿ô

<p>
<dt><b>ÇÛÎó¤Îµö²Ä</b>
<dd>¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¡Ö¤Ï¤¤¡×¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ç¤ÏÆ±¤¸¥Ç¡¼¥¿·¿¤ÎÃÍ¤òÊ£¿ô³ÊÇ¼¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£<p>
</dl>

ÀßÄê¤¬´°Î»¤·¤Þ¤·¤¿¤é¡¢¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤òÊÝ»ý¤·¤¿¥Æ¡¼¥Ö¥ë¹½Â¤¤Ø¹¹¿·¤¹¤ë¤¿¤á¤Ë<tt>ºîÀ®</tt>¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£
<hr>


   070701000635d7000081a40000000000000002000000013d1fe2de0000025d000000200000000000000000000000000000002b00000003reloc/postgresql/help/create_field.pl.html    <header>Dodaj pole</header>

Na tej stronie mo¿esz dodaæ do tabeli nowe pole. Modyfikowalnymi parametrami
nowo tworzonych pól s±&nbsp;:

<dl>
<dt><b>Nazwa pola</b>
<dd>Nazwa tego pola w&nbsp;tabeli.<p>
<dt><b>Szeroko¶æ pola (dla pól typu varchar i&nbsp;char)</b>
<dd>Maksymalna dozwolona liczba znaków dla danych tego w&nbsp;tym polu.<p>
<dt><b>Pole tablicowe?</b>
<dd>Je¶li opcjê te ustawi siê na Tak, pole bêdzie mog³o przechowywaæ wiele
    warto¶ci tego samego typu.<p>
</dl>

Gdy skoñczysz, naci¶nij przycisk <tt>Zachowaj</tt>, aby poszerzyæ strukturê
tabeli o&nbsp;nowe pole.
<hr>
   070701000635d9000081a40000000000000002000000013d1fe2de000001de000000200000000000000000000000000000002600000003reloc/postgresql/help/drop_field.html <header>Drop Field</header>

On this page you can delete an existing table field. 
Click the radio button after the field to indicate which field to delete.
Also confirm in the checkbox that you want to perform the deletion and
that you understand that all the data in that column will be lost.
Note that all definitions (such as a definition of a default value)
in the table are lost other than column names, types, and sizes.
Click on the button to drop the field.  <p>
<hr>

  0707010006364d000081a40000000000000002000000013d1fe2de00000207000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_dbase.ca.html  <header>Edició de Base de Dades</header>

A la part de dalt d'aquesta pàgina hi ha unes files d'icones, cadascuna
de les quals representant una taula de la base de dades. Per editar
l'estructura d'una taula, fes clic sobre una de les icones.  <p>

Més avall hi ha botons per crear una taula nova de la base de dades,
executar SQL sobre les taules de la base de dades, i destruir la
base de dades i totes les taules que conté. ¡Cal fer servir aquest
darrer botó amb molt de compte, ja que no és reversible!  <p>

<hr>


 0707010006369b000081a40000000000000002000000013d1fe2de000001e1000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_dbase.es.html  <header>Editar Base de Datos</header>

En la parte superior de esta página hay filas de iconos, cada uno representando
una tabla en la base de datos. Para editar la estructura de la tabla, haz click
en uno de los iconos. <p>

Debajo hay botones para crear una nueva tabla en esta base de datos, ejecutar
SQL en las tablas de la base de datos y eliminar la base de datos y todas
sus tablas. El botón final debería de ser utilizado con cuidado, ya que ¡no
es reversible!. <p>

<hr>

   0707010006369c000081a40000000000000002000000013d1fe2de000001a7000000200000000000000000000000000000002600000003reloc/postgresql/help/edit_dbase.html <header>Edit Database</header>

At the top of this page are rows of icons, each representing one table in
the database. To edit the structure of a table, just click on one of the
icons. <p>

Below are buttons for creating a new table in this database, executing SQL
on the tables of the database and dropping the database and all tables in it.
The final button should be used with care, as it is not reversible! <p>

<hr>

 0707010006369d000081a40000000000000002000000013d1fe2de000001e9000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_dbase.it.html  <header>Modifica Database</header>

In cima a questa pagina ci sono file di icone, ognuna delle quali rappresenta
una tabella del database. Per modificare la struttura di una tabella, clicca
sull' icona corrispondente. <p>

In fondo ci sono pulsanti per creare nuove tabelle nel database, per eseguire
comandi SQL sulle tabelle, e per cancellare il database e tutte le sue tabelle.
L' ultimo pulsante deve essere usato con attenzione, perche' il suo
effetto non e' reversibile!!<p>

<hr>

   0707010006369e000081a40000000000000002000000013d1fe2de00000206000000200000000000000000000000000000003000000003reloc/postgresql/help/edit_dbase.ja_JP.euc.html   <header>¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÔ½¸</header>

¤³¤Î¥Ú¡¼¥¸¤Î¥È¥Ã¥×¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë¤¢¤ë¥Æ¡¼¥Ö¥ë1¤Ä¤ò°ÕÌ£¤¹¤ë¥¢¥¤¥³¥ó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤òÊÔ½¸¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ÊÔ½¸¤·¤¿¤¤¥Æ¡¼¥Ö¥ë¤Î¥¢¥¤¥³¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£

<p>

²¼¤Ë¤¢¤ë¥Ü¥¿¥ó¤Ï¤½¤ì¤¾¤ì¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Ë¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥Ü¥¿¥ó¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥Æ¡¼¥Ö¥ë¤ËÂÐ¤·¤ÆSQL¤ÎÌä¤¤¹ç¤ï¤»¤ò¹Ô¤¦¥Ü¥¿¥ó¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥Æ¡¼¥Ö¥ë¤´¤Èºï½ü¤·¤Æ¤·¤Þ¤¦¥Ü¥¿¥ó¤Ç¤¹¡£ºÇ¸å¤Î¥Ü¥¿¥ó¤ò¼Â¹Ô¤·¤¿¸å¡¢¤½¤ì¤é¤ÎÉüµì¤Ï¤Ç¤­¤Þ¤»¤ó¤Î¤Ç¡¢ºÙ¿´¤ÎÃí°Õ¤òÊ§¤Ã¤Æ»ÈÍÑ¤·¤Æ²¼¤µ¤¤¡£

<hr>

  0707010006369f000081a40000000000000002000000013d1fe2de0000021b000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_dbase.pl.html  <header>Zmieñ bazê danych</header>

W&nbsp;górnej czê¶ci strony znajduj± siê rzêdy ikon, z&nbsp;których ka¿dy
reprezentuje jedn± tabelê w&nbsp;bazie danych. Aby zmieniæ strukturê tabeli,
po prostu kliknij jedn± z&nbsp;tych ikon. <p>

Poni¿ej znajduj± sie przyciski do tworzenia nowych tabel w&nbsp;bazie danych,
uruchamiania SQL dla tabel bazy oraz usuwania bazy danych wraz ze wszystkimi
tabelami w&nbsp;niej zawartymi. Z&nbsp;ostatniego przycisku nale¿y korzystaæ
ostro¿nie, gdy¿ jego dzia³anie jest nieodwracalne! <p>

<hr>
 070701000636a0000081a40000000000000002000000013d1fe2de00000163000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_field.ca.html  <header>Modificació de Camp</header>

En aquesta pàgina pots editar un camp existent d'una taula. Editant,
només es pot canviar el nom del camp, però no el tipus de dades ni cap
altra opció. En acabat, fes clic sobre el botó <tt>Desa</tt> per
actualitzar l'estructura de la taula, o sobre <tt>Suprimeix</tt> per
eliminar el camp de la taula.  <p>

<hr>


 070701000636a1000081a40000000000000002000000013d1fe2de00000163000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_field.es.html  <header>Modificar Campo</header>

En esta página puedes editar un campo ya existente de tabla. Al editarlo,
sólo el nombre del campo puede ser cambiado, no su tipo de dato o cualquier
otra opción. Al terminar, haz click en el botón <tt>Salvar</tt> para
actualizar la estructura de la tabla o en <tt>Borrar</tt> para quitar el
campo de la tabla. <p>
<hr>

 070701000636a2000081a40000000000000002000000013d1fe2de00000144000000200000000000000000000000000000002600000003reloc/postgresql/help/edit_field.html <header>Modify Field</header>

On this page you can edit an existing table field. When editing, only the
name of the field can be changed, not it's data type or any other options.
When done, click on the <tt>Save</tt> button to update the table structure,
or on <tt>Delete</tt> to remove the field from the table. <p>
<hr>

070701000636b4000081a40000000000000002000000013d1fe2de000002c1000000200000000000000000000000000000002100000003reloc/postgresql/help/intro.html  <header>PostgreSQL Database Server</header>

PostgreSQL is a simple database server for Unix systems. It supports multiple
databases, powerful access controls, many data types and most of the standard
SQL syntax. Each database managed by the server can contain multiple tables,
and each table contains multiple rows of data. <p>

The main page dislays a list of database icons at the top, with a link
for adding a new database below them. Every PostgreSQL server will have at
least one template database, usually called <tt>template1</tt>. Below the
databases are icons for configuring access control and permissions, and at
the bottom is a button for stopping or starting the database server. <p>

<hr>

   070701000636a3000081a40000000000000002000000013d1fe2de00000184000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_field.it.html  <header>Modifica Campo</header>

in questa pagina puoi modificare un campo gia esistente di una tabella.
Durante la modifica, soltanto il nome del campo puo' essere modificato, e non
il tipo o altri parametri. Quando hai finito, clicca sul pulsante <tt>Salva</tt>
per aggiornare la struttura della tabella o sul pulsante <tt>Cancella</tt>
per cancellare il campo dalla tabella. <p>
<hr>

070701000636a4000081a40000000000000002000000013d1fe2de00000177000000200000000000000000000000000000003000000003reloc/postgresql/help/edit_field.ja_JP.euc.html   <header>¥Õ¥£¡¼¥ë¥É¤ÎÊÑ¹¹</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢´ûÂ¸¤¹¤ë¥Õ¥£¡¼¥ë¥É¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£ÊÔ½¸¤ò¹Ô¤¦ºÝ¡¢¥Õ¥£¡¼¥ë¥ÉÌ¾¤Î¤ß¤¬ÊÑ¹¹²ÄÇ½¤Ç¤¹¡£¥Õ¥£¡¼¥ë¥É¤Î¥Ç¡¼¥¿·¿¤ä¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤ÏÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¡£ÊÔ½¸¤¬´°Î»¤·¤Þ¤·¤¿¤é¡¢¥Æ¡¼¥Ö¥ë¹½Â¤¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë<tt>ºîÀ®</tt>¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£¤Þ¤¿¡¢¥Õ¥£¡¼¥ë¥É¤ò¥Æ¡¼¥Ö¥ë¤«¤éºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï<tt>ºï½ü</tt>¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£

<hr>

 070701000636a5000081a40000000000000002000000013d1fe2de0000014e000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_field.pl.html  <header>Zmieñ pole</header>

Na tej stronie mo¿esz zmieniæ istniej±ce pole tabeli. Zmieniæ mo¿na jedynie
nazwê pola, nie mo¿na zmieniaæ typu przechowywanych danych ani innych opcji.
Gdy skoñczysz, naci¶nij przycisk <tt>Zachowaj</tt>, aby uaktualniæ strukturê
tabeli lub <tt>Usuñ</tt>, aby usun±æ pole z&nbsp;tabeli. <p>
<hr>

  070701000636a6000081a40000000000000002000000013d1fe2de00000273000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_table.ca.html  <header>Edició de Taula</header>

La taula que ocupa la major part d'aquesta pàgina mostra l'estructura de
la taula seleccionada de la base de dades. Cada fila mostra els detalls
d'un camp de la taula, amb el nom, tipus de dades i altres opcions.  <p>

A la part de baix a l'esquerra, hi ha un botó per afegir un camp nou a
la taula. Abans de fer-hi clic, has de seleccionar el tipus de camp que
vols afegir - mira la documentació de PostgreSQL per a més informació
sobre tipus de camps. A la part de baix, també hi ha botons per veure
totes les dades de la taula i destruir la taula amb totes les dades
que conté.  <p>

<hr>

 070701000636a7000081a40000000000000002000000013d1fe2de0000026b000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_table.es.html  <header>Editar Tabla</header>

La tabla que ocupa la mayor parte de esta página muestra la estructura de la
tabla seleccionada en tu base de datos. Cada fila detalla un campo de la tabla
con el nombre, tipo de dato y otras opciones. <p>

En la parte inferior izquierda hay un botón para añadir un nuevo campo a la
tabla. Antes de hacer click en él, debes de seleccionar el tipo de campo a
añadir - mira la documentación de PostgreSQL para más información sobre los
tipos de campo. También en la parte inferior hay botones para ver todos los
datos de la tabla y para eliminar toda la tabla y todos sus datos. <p>

<hr>

 070701000636a8000081a40000000000000002000000013d1fe2de0000022a000000200000000000000000000000000000002600000003reloc/postgresql/help/edit_table.html <header>Edit Table</header>

The table that takes up most of this page shows the structure of the selected
table in your database. Each row details one field in the table, with the
name, data type and other options shown. <p>

At the bottom-left is a button for adding a new field to the table. Before
clicking it, you must select the type of field to add - see the PostgreSQL
documentation for more information on field types. Also at the bottom are
buttons for viewing all data in the table and dropping the entire table and
all data in it. <p>

<hr>

  070701000636a9000081a40000000000000002000000013d1fe2de00000230000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_table.it.html  <header>Modifica Tabella</header>

The table that takes up most of this page shows the structure of the selected
table in your database. Each row details one field in the table, with the
name, data type and other options shown. <p>

At the bottom-left is a button for adding a new field to the table. Before
clicking it, you must select the type of field to add - see the PostgreSQL
documentation for more information on field types. Also at the bottom are
buttons for viewing all data in the table and dropping the entire table and
all data in it. <p>

<hr>

070701000636aa000081a40000000000000002000000013d1fe2de0000023c000000200000000000000000000000000000003000000003reloc/postgresql/help/edit_table.ja_JP.euc.html   <header>¥Æ¡¼¥Ö¥ë¤ÎÊÔ½¸</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂ¸ºß¤¹¤ë¡¢ÁªÂò¤µ¤ì¤¿¥Æ¡¼¥Ö¥ë¹½Â¤¤Î¾ÜºÙ¤ò¼¨¤¹É½¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£³Æ¹Ô¤Ë¤Ï¥Æ¡¼¥Ö¥ëÆâ¤ËÂ¸ºß¤¹¤ë1¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤Î¾ÜºÙ(Ì¾Á°¡¢¤À¡¼Â¾·¿¡¢¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó)¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£<p>

º¸²¼¤Ë¤Ï¡¢¿·¤·¤¤¥Õ¥£¡¼¥ë¥É¤òÄÉ²Ã¤¹¤ë¥Ü¥¿¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤ò¥¯¥ê¥Ã¥¯¤¹¤ëÁ°¤Ë¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î¥Ç¡¼¥¿·¿¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£(¥Õ¥£¡¼¥ë¥É¤Î¥Ç¡¼¥¿·¿¤Ë´Ø¤·¤Æ¤Î¾ÜºÙ¤ÏPostgreSQL¤Î¥É¥­¥å¥á¥ó¥È¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡£)¤Þ¤¿¡¢²¼¤Ë¤Ï¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤¹¤Ù¤Æ¤òÉ½¼¨¤µ¤»¤ë¥Ü¥¿¥ó¤È¥Æ¡¼¥Ö¥ë¡¢µÚ¤Ó¤½¤Î¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤¹¤Ù¤Æ¤òºï½ü¤¹¤ë¥Ü¥¿¥ó¤¬¤¢¤ê¤Þ¤¹¡£<p>

<hr>

070701000636ab000081a40000000000000002000000013d1fe2de0000026e000000200000000000000000000000000000002900000003reloc/postgresql/help/edit_table.pl.html  <header>Zmieñ tabelê</header>

Tabelka, która zajmuje wiêksz± czê¶æ tej strony pokazuje strukturê wybranej
tabeli w&nbsp;bazie danych. Ka¿dy wiersz opisuje jedno pole tabeli: pokazano
naz³ê pola, typ danych i&nbsp;inne informacje. <p>

U&nbsp;góry, po lewej znajduje siê przycisk dodaj±cy nowe pole do tabeli.
Zanim go naci¶niesz, musisz wybraæ typ dodawanego pola - dodatkowych
informacji o&nbsp;typach pól szukaj w&nbsp;dokumantacji PostgreSQLa. Równie¿
u&nbsp;góry znajduj± siê przyciski do przegl±dania danych w&nbsp;tabeli oraz
usuwania ca³ej tabeli wraz z&nbsp;zawartymi w&nbsp;niej danymi. <p>

<hr>

  070701000636ac000081a40000000000000002000000013d1fe2de000000ea000000200000000000000000000000000000002800000003reloc/postgresql/help/exec_form.ca.html   <header>Execució de SQL</header>

Aquesta pàgina és per introduir una instrucció SQL arbitrària per executar
sobre la base de dades seleccionada. Es poden fer servir totes les ordres
de selecció, inserció i actualització.  <p>

<hr>

  070701000636ad000081a40000000000000002000000013d1fe2de0000010c000000200000000000000000000000000000002800000003reloc/postgresql/help/exec_form.es.html   <header>Ejecutar SQL</header>

Esta página es para digitar una sentencia SQL arbitraria y que sea ejecutada
en la base de datos seleccionada. Se pueden usar comandos Seleccionar (Select),
Insertar (Insert), Actualizar (Update) y comandos de administración. <p>

<hr>

070701000636ae000081a40000000000000002000000013d1fe2de000000cb000000200000000000000000000000000000002500000003reloc/postgresql/help/exec_form.html  <header>Execute SQL</header>

This page is for entering an arbitrary SQL statement to be executed on the
selected database. Select, insert, update and administration commands may
all be used. <p>

<hr>

 070701000636af000081a40000000000000002000000013d1fe2de000000ec000000200000000000000000000000000000002800000003reloc/postgresql/help/exec_form.it.html   <header>Esegui SQL</header>

In questa pagina si possono inserire comandi SQL arbitrari da eseguire sul
database selezionato. Possono essere usate istruzioni come Select, Insert e
Update, e tutti i comandi di amministrazione.<p>

<hr>

070701000636b0000081a40000000000000002000000013d1fe2de000000bf000000200000000000000000000000000000002f00000003reloc/postgresql/help/exec_form.ja_JP.euc.html    <header>SQL¤Î¼Â¹Ô</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢Ç¤°Õ¤ÎSQLÊ¸¤òÆþÎÏ¤·¡¢ÁªÂò¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂÐ¤·¤Æ¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£SelectÊ¸¤äinsertÊ¸¡¢updateÊ¸¡¢´ÉÍýÍÑ¥³¥Þ¥ó¥É¤¬¼Â¹Ô²ÄÇ½¤Ç¤¹¡£
<p>

<hr>

 070701000636b1000081a40000000000000002000000013d1fe2de0000011a000000200000000000000000000000000000002800000003reloc/postgresql/help/exec_form.pl.html   <header>Execute SQL</header>

Ta strona s³u¿y do podania dowolnego polecenia SQL w&nbsp;celu jego
wykonania w&nbsp;wybranej bazie danych. Mo¿na u¿ywaæ zarówno poleceñ wyboru
(select), dodawania (insert), aktualizacji (update), jak te¿ poleceñ
administracyknych. <p>

<hr>

  070701000636b2000081a40000000000000002000000013d1fe2de00000323000000200000000000000000000000000000002400000003reloc/postgresql/help/intro.ca.html   <header>Servidor de Bases de Dades PostgreSQL</header>

PostgreSQL és una base de dades senzilla per a sistemes Unix.
Suporta múltiples bases de dades, controls d'accés potents, molts tipus
de dades i la majoria de sintaxi SQL estàndard. Cada base de dades gestionada
pel servidor pot contenir múltiples taules, i cada taula pot contenir
múltiples files de dades.  <p>

La pàgina principal mostra una llista d'icones de bases de dades a la
part de dalt, amb un enllaç per afegir-hi una nova base de dades a sota.
Cada servidor PostgreSQL tindrà almenys una base de dades d'exemple,
normalment anomenada <tt>template1</tt>. Sota les bases de dades, hi ha
les icones per configurar el control d'accés i els permisos, i a baix
de tot un botó per aturar i engegar el servidor de bases de dades. <p>

<hr>


 070701000636b3000081a40000000000000002000000013d1fe2de0000034e000000200000000000000000000000000000002400000003reloc/postgresql/help/intro.es.html   <header>Servidor de Base de Datos PostgreSQL</header>

PostgreSQL es un servidor de base de datos simple para sistemas Unix. Soporta
múltiples bases de datos, potentes controles de acceso, múltiples tipos de
datos y la mayoría de la sintáxis estándar SQL. Cada base de datos gestionada
por el servidor puede contener núltiples tablas y cada tabla puede contener
múltiples filas de datos. <p>

La página principal muestra una lista de los iconos de bases de datos en la
parte superior, con un enlace para añadir una nueva base de datos bajo ellos.
Cada servidor PostgreSQL tendrá al menos una base de datos de plantilla,
normálmente llamada <tt>template1</tt>. Bajo las bases de datos hay iconos
para configurar el control de acceso y los permisos y en la parte inferior
hay un botón para parar y arrancar el servidor de base de datos. <p>

<hr>

  070701000636b5000081a40000000000000002000000013d1fe2de00000300000000200000000000000000000000000000002400000003reloc/postgresql/help/intro.it.html   <header>PostgreSQL Database Server</header>

PostgreSQL e' un database per sistemi Unix. supporta database multipli,
un controllo degli accessi potente e flessibile, molti tipi di dati e la maggior
parte della sintassi SQL standard. Ogni database puo' contenere moltissime
tabelle, ognuna delle quali puo' contenere moltissime righe di dati. <p>

Questa pagina mostra, in cima, una lista di icone collegate ciascuna ad un
diverso database, con sotto un collegamento per aggiungerne uno nuovo.
Ogni server PostgreSQL ha almeno un database campione, di solito
chiamato <tt>template1</tt>.
Sotto alla lista dei database ci sono le icone per la configurazione del
controllo degli accessi e dei permessi, ed in fondo un pulsante per avviare
e fermare il server. <p>

<hr>

070701000636b6000081a40000000000000002000000013d1fe2de000002ae000000200000000000000000000000000000002b00000003reloc/postgresql/help/intro.ja_JP.euc.html    <header>PostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð</header>

PostgreSQL¤Ï¡¢UNIX¥·¥¹¥Æ¥à¾å¤Ç²ÔÆ¯¤¹¤ë¡¢´ÊÃ±¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤Ç¤¹¡£Ê£¿ô¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ä¡¢¶¯ÎÏ¤ÊÀÜÂ³´ÉÍý¡¢Â¿¤¯¤Î¥Ç¡¼¥¿·¿¡¢¤Û¤È¤ó¤É¤ÎÉ¸½àSQL¹½Ê¸¤Ê¤É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£³Æ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤ÏÊ£¿ô¤Î¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¤³¤È¤¬²ÄÇ½¤Ç¡¢³Æ¥Æ¡¼¥Ö¥ë¤ÏÊ£¿ô¤Î¥Ç¡¼¥¿¤Î¹Ô¤òÊÝ»ý¤Ç¤­¤Þ¤¹¡£
<p>

¥á¥¤¥ó¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥¢¥¤¥³¥ó¤Î¥ê¥¹¥È¤¬É½¼¨¤µ¤ì¡¢¤½¤Î²¼¤Ë¤Ï¡¢¿·¤·¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥ê¥ó¥¯¤¬¤¢¤ê¤Þ¤¹¡£³ÆPostgreSQL¤Ë¤Ï¡¢ºÇÄã¤Ç¤â1¤Ä¤Î¥Æ¥ó¥×¥ì¡¼¥È¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¤¢¤ê¡¢¤½¤ì¤ÏÄÌ¾ï<tt>template1</tt>¤È¸Æ¤Ð¤ì¤Þ¤¹¡£¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î²¼¤Ë¤ÏÀÜÂ³´ÉÍý¤È¸¢¸Â¤òÀßÄê¤¹¤ë¥¢¥¤¥³¥ó¤¬¤¢¤ê¡¢¤½¤Î²¼¤Ë¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤ÎÄä»ß/µ¯Æ°¤Î¥Ü¥¿¥ó¤¬¤¢¤ê¤Þ¤¹¡£
<p>

<hr>

  070701000636b7000081a40000000000000002000000013d1fe2de0000035f000000200000000000000000000000000000002400000003reloc/postgresql/help/intro.pl.html   <header>Serwer baz danych PostgreSQL</header>

PostgreSQL jest prostym serwerem baz danych dla systemów uniksowych.
Obs³uguje on wiele baz danych, wiele typów danych, wiêkszo¶æ standardowej
sk³adni jêzyka SQL i&nbsp;posiada potê¿n± kontrolê dostêpu. Ka¿da
z&nbsp;zarz±dzanych przez serwer baz danych mo¿e zawieraæ wiele tabel,
a&nbsp;ka¿da tabela wiele wierszy danych. <p>

W&nbsp;górnej czê¶ci strony g³ownej znajduje siê lista ikon odpowiadaj±cych
poszczególnym bazom danych, a&nbsp;pod ni± odsy³acz do dodania nowej bazy.
Ka¿dy serwer PostgreSQLa bêdzie posiada³ przynajmniej jedn± wzorcow± bazê
danych, zazwyczaj o&nbsp;nazwie <tt>template1</tt>. Pod bazami danych
znajduj± siê ikony do konfiguracji kontroli dostêpu i&nbsp;uprawnieñ, za¶ na
samym dole umieszczony jest przycisk zatrzymuj±cy b±d¼ uruchamiaj±cy serwer
baz danych. <p>

<hr>

 070701000636b8000081a40000000000000002000000013d1fe2de000001fa000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_grants.ca.html <header>Concessió de Privilegis</header>

Aquesta pàgina permet veure i editar els permisos donats als usuaris i 
grups sobre les taules, vistes, seqüències i índexs. La taula mostra 
tots els objectes de totes les bases de dades sobre les quals es poden
concedir privilegis, i a qui s'atorguen aquests privilegis (si és que
hi ha algú). Per canviar aquests privilegis, fes clic sobre el nom
de l'objecte i fes servir el formulari per seleccionar un usuari o 
grup a qui donar les capacitats.  <p>

<hr>


  070701000636b9000081a40000000000000002000000013d1fe2de000001c3000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_grants.es.html <header>Privilegios Garantizados</header>

Esta página te permite ver y editar los permisos garantizados sobre las
tablas, vistas, secuencias e índices a los usuarios y grupos. La tabla
muestra todos los objetos de todas las bases de datos en los que hay
garantizados privilegios (si hay). Para cambiar los privilegios, haz
click en el nombre del objeto y usa el formuario para seleccionar un
usuario o grupo y las capacidades que le darás. <p>
<hr>

 070701000636ba000081a40000000000000002000000013d1fe2de000001cd000000200000000000000000000000000000002700000003reloc/postgresql/help/list_grants.html    <header>Granted Privileges</header>

This page allows you to view and edit the permissions granted on tables,
views, sequences and indexes to users and groups. The table shows all the
objects in all databases upon which privileges can be granted, and who
those privileges are currently granted to (if anyone). To change the
privileges, click on the name of the object and use the form to select
a user or group and the capabilities he will be given. <p>

<hr>

   070701000636bb000081a40000000000000002000000013d1fe2de000001d8000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_grants.it.html <header>Assegnazione Privilegi</header>

In questa pagina si possono vedere e modificare i permessi di accesso
degli utenti e dei gruppi a tabelle, viste ed indici. La tabella mostra
tutti gli oggetti del database per i quali possono essere impostati
dei permessi, e gli eventuali utenti per i quali sono impostati.
Per modificare i permessi, clicca sul nome dell' oggetto ed usa la
maschera per scegliere l' utente e selezionare i permessi che vuoi impostare. <p>

<hr>

070701000636bc000081a40000000000000002000000013d1fe2de000001d9000000200000000000000000000000000000003100000003reloc/postgresql/help/list_grants.ja_JP.euc.html  <header>µö²Ä¤µ¤ì¤¿¸¢¸Â</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¥Æ¡¼¥Ö¥ë¤ä¥Ó¥å¡¼¡¢¥·¡¼¥±¥ó¥¹¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÂÐ¤·¤Æ¡¢¤½¤ì¤é¤òÉ½¼¨¤µ¤»¤¿¤ê¡¢ÊÔ½¸¤¹¤ë¸¢¸Â¤ò¥æ¡¼¥¶¤ä¥°¥ë¡¼¥×¤ËÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Æ¡¼¥Ö¥ë¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤¢¤ë¡¢µö²Ä¤òÍ¿¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¤¹¤Ù¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÉ½¼¨¤·¡¢¤Þ¤¿¤½¤ì¤é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤¬¸½ºß¡¢Ã¯¤«¤Ëµö²Ä¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì¤òÉ½¼¨¤·¤Þ¤¹¡£¸¢¸Â¤ÎÊÑ¹¹¤ò¹Ô¤¦¤Ë¤Ï¥ª¥Ö¥¸¥§¥¯¥ÈÌ¾¤ò¥¯¥ê¥Ã¥¯¤·¡¢¥æ¡¼¥¶/¥°¥ë¡¼¥×¤È¤½¤Î¿Í¤ËÍ¿¤¨¤ë¸¢¸Â¤òÁªÂò¤¹¤ë¥Õ¥©¡¼¥à¤ò»ÈÍÑ¤·¤Þ¤¹¡£

<p>

<hr>

   070701000636bd000081a40000000000000002000000013d1fe2de000001ec000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_grants.pl.html <header>Nadane uprawnienia</header>

Za pomoc± tej strony mo¿esz obejrzeæ i&nbsp;zmieniæ nadane u¿ytkownikom
i&nbsp;grupom uprawnienia do tabel, widoków, sekwencji i&nbsp;indeksów.
Tabelka pokazuje wszystkie obiekty bazy danych, do których mo¿na nadawaæ
uprawnienia i&nbsp;komu te uprawnienia nadano (je¶li komukolwiek). Aby
zmieniæ uprawnienia kliknij nazwê obiektu i&nbsp;wykorzystaj poni¿szy
formularz aby wybraæ u¿ytkownika lub grupê oraz uprawnienia, które otrzyma.
<p>

<hr>
070701000636be000081a40000000000000002000000013d1fe2de000000e7000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_groups.ca.html <header>Grups PostgreSQL</header>

Aquesta pàgina permet crear grups d'usuaris per a un ús posterior, en
concedir permisos. Cada grup té un nom, un ID de grup, (normalment
assignat per Webmin), i una llista de membres.  <p>

<hr>

 070701000636bf000081a40000000000000002000000013d1fe2de000000f4000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_groups.es.html <header>Grupos PostgreSQL</header>

Esta página te permite crear grupos de usuarios para su uso posterior al
garantizar permisos. Cada grupo tiene un nombre, una ID de grupo (normálmente
asignada por Webmin) y una lista de miembros. <p>

<hr>

070701000636c0000081a40000000000000002000000013d1fe2de000000dd000000200000000000000000000000000000002700000003reloc/postgresql/help/list_groups.html    <header>PostgreSQL Groups</header>

This page allows you to create groups of users for later use when granting
permissions. Each group has a name, a group ID (usually assigned by Webmin)
and a list of members. <p>

<hr>

   070701000636c1000081a40000000000000002000000013d1fe2de00000120000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_groups.it.html <header>Gruppi di utenti in PostgreSQL</header>

In questa pagina puoi creare gruppi di utenti a cui successivamente
aseegnare permessi di accesso al database. Ogni gruppo ha un nome ed un
numero identificativo, solitamente assegnato con Webmin, ed una lista
di utenti membri. <p>

<hr>

070701000636c2000081a40000000000000002000000013d1fe2de000000f6000000200000000000000000000000000000003100000003reloc/postgresql/help/list_groups.ja_JP.euc.html  <header>PostgreSQL¥°¥ë¡¼¥×</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¸å¤Ë¸¢¸Â¤Îµö²Ä¤òÀßÄê¤¹¤ë»þ¤Ë¥°¥ë¡¼¥×¤¬»ÈÍÑ¤Ç¤­¤ë¤è¤¦¤Ë¡¢¥æ¡¼¥¶¤Î¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥°¥ë¡¼¥×¤Ë¤ÏÌ¾Á°¤È¥°¥ë¡¼¥×ID(ÄÌ¾ïWebmin¤¬ÀßÄê¤·¤Þ¤¹)¡¢¥á¥ó¥Ð¤Î¥ê¥¹¥È¤¬¤¢¤ê¤Þ¤¹¡£

<p>

<hr>

  070701000636c3000081a40000000000000002000000013d1fe2de00000112000000200000000000000000000000000000002a00000003reloc/postgresql/help/list_groups.pl.html <header>Grupy PostgreSQLa</header>

Za pomoc± tej strony mo¿esz tworzyæ grupy u¿ytkowników dla pó¼niejszego
wykorzystania podczas nadawania uprawnieñ. Ka¿da grupa posiada nazwê,
identyfikator grupy (zazwyczaj nadawany przez Webmina) oraz listê cz³onków.
<p>

<hr>

  070701000636c4000081a40000000000000002000000013d1fe2de000004b5000000200000000000000000000000000000002900000003reloc/postgresql/help/list_hosts.ca.html  <header>Hosts permesos</header>

En aquesta pàgina, pots controlar quins hosts tenen permès accedir el
teu servidor de bases de dades i quina mena d'autenticació hauran de
subministrar. Totes les regles de control d'accés es poden aplicar a un
sol host, a tota una xarxa, a tots els hosts d'una xarxa a només a 
usuaris connectant-se des de la màquina local. A més a més, totes
les regles es poden aplicar a una sola base de dades o a totes les
bases de dades del servidor.  <p>

En triar el mode d'autenticació dels hosts permesos, hi ha disponibles
les opcions següents:

<dl>
<dt><b>Contrasenya sense xifrar</b>
<dd>L'usuari ha de subministrar una contrasenya que coincideixi amb
    l'establerta la la pàgina d'<tt>Usuaris PostgreSQL</tt>. <p>
<dt><b>Contrasenya xifrada</b>
<dd>L'usuari ha de subministrar una contrasenya que, un cop xifrada.
    coincideixi amb l'establerta la la pàgina d'<tt>Usuaris PostgreSQL</tt>. <p>
<dt><b>No cal autenticació</b>
<dd>No cal subministrar cap contrasenya. <p>
<dt><b>Rebutja la connexió</b>
<dd>No permet cap connexió des d'aquest host. Això és útil per denegar
    l'accés des de hosts específics si has concedit accés a tota una xarxa.
    <p>
</dl>

<hr>


   070701000636c5000081a40000000000000002000000013d1fe2de000004f4000000200000000000000000000000000000002900000003reloc/postgresql/help/list_hosts.es.html  <header>Máquinas Autorizadas</header>

En esta página puedes controlar qué máquinas están autorizadas a acceder a
tu servidor de base de datos y qué clase de autenticación necesitarán.
Cada regla de control de acceso se puede aplicar a una sola máquina, a
toda una red, a todas las máquinas de una red o sólo a los usuarios que
se conecten desde esta máquina. Además, cada regla se puede aplicar a una
base de datos seleccionada o a todas las bases de datos del servidor. <p>

Al seleccionar el modo de autenticación para las máquinas autorizadas,
están disponibles las siguienes opciones:
<dl>
<dt><b>Clave de acceso de texto en claro</b>
<dd>El usuario debe de suministrar una clave de acceso que coincida con la
    puesta en la página de <tt>Usuarios de PostgreSQL</tt>. <p>
<dt><b>Clave de acceso encriptada</b>
<dd>El usuario debe de suministrar una clave de acceso cuya encriptación
    coincida con la de <tt>Usuarios de PostgreSQL</tt>. <p>
<dt><b>No se requiere autenticación</b>
<dd>No se necesita clave de acceso de ningún tipo. <p>
<dt><b>Rechazar conexión</b>
<dd>No permitir conexiones desde esta máquina. Esto es útil para denegar
    el acceso desde máquinas específicas siempre que hayas garantizado
    el aceso a toda una red.
    <p>
</dl>

<hr>

070701000636c6000081a40000000000000002000000013d1fe2de0000044f000000200000000000000000000000000000002600000003reloc/postgresql/help/list_hosts.html <header>Allowed Hosts</header>

On this page you can control which hosts are allowed to access your
database server and what kind of authentication they will need to provide.
Each access control rule can apply to a single host, to an entire network, to
all network hosts or only to users connecting from this machine. In addition,
each rule can apply to either a single selected database or to all databases
on the server. <p>

When choosing the authentication mode for allowed hosts, the following
options are available :
<dl>
<dt><b>Plaintext password</b>
<dd>The user must supply a password that matches the one set in the
    <tt>PostgreSQL Users</tt> page. <p>
<dt><b>Encrypted password</b>
<dd>The user must supply a password that when encrypted matches the one set
    in <tt>PostgreSQL Users</tt>. <p>
<dt><b>No authentication required</b>
<dd>No password needs to be supplied at all. <p>
<dt><b>Reject connection</b>
<dd>Don't allow connections from this host at all. This is useful for denying
    access from specific hosts if you have granted access to a whole network.
    <p>
</dl>

<hr>

 070701000636cc000081a40000000000000002000000013d1fe2de00000138000000200000000000000000000000000000002600000003reloc/postgresql/help/list_users.html <header>PostgreSQL Users</header>

This page allows you to create and edit users who will have access to
your PostgreSQL databases. For each user you can specify a username, an
optional password, an optional expiry date, and choose whether the user
will be allowed to create other users or databases. <p>

<hr>

070701000636c7000081a40000000000000002000000013d1fe2de00000492000000200000000000000000000000000000002900000003reloc/postgresql/help/list_hosts.it.html  <header>Computer che hanno accesso</header>

In questa pagina si puo' controllare quali computer possono accedere
al database e quali tipi di autenticazione devono utilizzare.
Ogni regola del controllo di accesso puo' applicarsi ad un singolo computer,
una intera rete di computer, o ad un determinato utente che si collega da
un determinato computer. Inoltre, ogni regola puo' applicarsi ad un singolo
database o a tutti i database del server. <p>

Nella scelta del modo di autenticazione dei computer, hai le seguenti
possibilita' :
<dl>
<dt><b>password in chiaro</b>
<dd>L' utente deve fornire una password corrispondente a quella impostata nella pagina
    <tt>Utenti PostgreSQL</tt> . <p>
<dt><b>password criptata</b>
<dd>L' utente deve fornire una password che, criptata, corrisponde a quella impostata nella pagina
    <tt>PostgreSQL Users</tt>. <p>
<dt><b>Nessuna autenticazione</b>
<dd>Non e' necessario fornire alcuna password. <p>
<dt><b>Rifiuta la connessione</b>
<dd>Non permettere connssioni da questo computer. Questo e' utile per negare la connessione a
     computer particolari quando si e' consentito l' accesso a tutta una rete.
    <p>
</dl>

<hr>

  070701000636c8000081a40000000000000002000000013d1fe2de000003fb000000200000000000000000000000000000003000000003reloc/postgresql/help/list_hosts.ja_JP.euc.html   <header>µö²Ä¤µ¤ì¤¿¥Û¥¹¥È</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥µ¡¼¥Ð¤Ø¤É¤Î¥Û¥¹¥È¤«¤é¤ÎÀÜÂ³¤òµö²Ä¤·¡¢¤Þ¤¿¡¢¤É¤Î¤è¤¦¤ÊÇ§¾ÚÊýË¡¤ò»ÈÍÑ¤¹¤ë¤«¤òÀßÄê¤Ç¤­¤Þ¤¹¡£³ÆÀÜÂ³´ÉÍý¥ë¡¼¥ë¤Ï1¤Ä¤Î¥Û¥¹¥È¡¢¤Þ¤¿¤Ï¡¢¥Í¥Ã¥È¥ï¡¼¥¯Á´ÂÎ¡¢¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥Û¥¹¥È¡¢¤³¤Î¥Þ¥·¥ó¤ò»ÈÍÑ¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Ø¤ÈÅ¬±þ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤Þ¤¿¡¢³Æ¥ë¡¼¥ë¤Ï1¤Ä¤ÎÁªÂò¤µ¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¡¢¤Þ¤¿¤Ï¥µ¡¼¥Ð¤Ë¤¢¤ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ÂÐ¾Ý¤È¤Ê¤ê¤Þ¤¹¡£<p>

²¼µ­¤Ï¡¢µö²Ä¤¹¤ë¥Û¥¹¥È¤ÎÇ§¾Ú¥â¡¼¥É¤òÁªÂò¤¹¤ëºÝ¤Ë»ÈÍÑ¤Ç¤­¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£

<dl>
<dt><b>¥Æ¥­¥¹¥È¥Ñ¥¹¥ï¡¼¥É</b>
<dd><tt>PostgreSQL¥æ¡¼¥¶</tt>¤Î¥Ú¡¼¥¸¤ËÀßÄê¤µ¤ì¤Æ¤¤¤ë¥Ñ¥¹¥ï¡¼¥É¤È°ìÃ×¤¹¤ë¥Ñ¥¹¥ï¡¼¥É¤òÍÑ¤¤¤Æ¥æ¡¼¥¶Ç§¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£<p>
<dt><b>°Å¹æ¥Ñ¥¹¥ï¡¼¥É</b>
<dd><tt>PostgreSQL¥æ¡¼¥¶</tt>¤ÇÀßÄê¤µ¤ì¤Æ¤¤¤ë°Å¹æ²½¤µ¤ì¤¿¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍÑ¤·¤Æ¥æ¡¼¥¶Ç§¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£<p>
<dt><b>Ç§¾Ú¤Ê¤·</b>
<dd>¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤ëÇ§¾Ú¤Ï¹Ô¤¤¤Þ¤»¤ó¡£<p>
<dt><b>ÀÜÂ³µñÈÝ</b>
<dd>»ØÄê¤·¤¿¥Û¥¹¥È¤«¤é¤ÎÀÜÂ³¤òµñÈÝ¤·¤Þ¤¹¡£¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ËÂÐ¤·¤ÆÀÜÂ³¤òµö²Ä¤·¤Æ¤¤¤ë¾ì¹ç¡¢ÆÃÄê¤Î¥Û¥¹¥È¤«¤é¤ÎÀÜÂ³¤Î¤ß¤òµñÈÝ¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­±×¤Ç¤¹¡£  <p>
</dl>

<hr>






 070701000636c9000081a40000000000000002000000013d1fe2de000004d5000000200000000000000000000000000000002900000003reloc/postgresql/help/list_hosts.pl.html  <header>Dozwolone hosty</header>

Na tej stronie mo¿esz okre¶liæ, z&nbsp;których hostów bêdzie mo¿liwy dostêp
do Twojego serwera baz danych oraz jaki rodzaj autoryzacji musi byæ
zapewniony. Ka¿da z&nbsp;regu³ kontroli dostêpu mo¿e dotyczyæ pojedyñczego
hosta, ca³ej sieci, wszystkich hostów w&nbsp;sieci lub wy³±cznie
u¿ytkowników lokalnych. Dodatkowo, ka¿da z&nbsp;regu³ mo¿e dotyczyæ jednej
wybranej bazy danych lub wszystkich baz danych na serwerze. <p>

Przy wyborze trybu autoryzacji dla dozwolonych hostów dostêpne s± nastêpuj±ce
mo¿liwo¶ci&nbsp;:
<dl>
<dt><b>Has³o otwartym tekstem</b>
<dd>U¿ytkownik musi podaæ has³o, które zgadza siê z&nbsp;ustawionym na stronie
    <tt>U¿ytkownicy PostgreSQLa</tt>. <p>
<dt><b>Encrypted password</b>
<dd>U¿ytkownik musi podaæ has³o, które po zaszyfrowaniu zgadza siê
    z&nbsp;ustawionym w&nbsp;<tt>U¿ytkownicy PostgreSQLa</tt>. <p>
<dt><b>Autoryzacja nie wymagana</b>
<dd>Nie ma w&nbsp;ogóle potrzeby podawania has³a. <p>
<dt><b>Odrzuæ po³±czenie</b>
<dd>Nie pozwala w&nbsp;ogóle na po³±czenia z&nbsp;tego hosta. Jest to
    przydatne do zablokowania dostêpu z&nbsp;wybranych hostów, podczas gdy
    zapewniony jest dostêp z&nbsp;ca³ej sieci.
    <p>
</dl>

<hr>
   070701000636ca000081a40000000000000002000000013d1fe2de00000141000000200000000000000000000000000000002900000003reloc/postgresql/help/list_users.ca.html  <header>Usuaris PostgreSQL</header>

Aquesta pàgina permet crear i editar usuaris que tindran accés a les
bases de dades PostgreSQL. Per cada usuari pots especificar-ne el nom,
una contrasenya opcional, una data d'expiració opcional, i triar si 
l'usuari tindrà dret a crear altres usuaris o bases de dades.  <p>

<hr>


   070701000636cb000081a40000000000000002000000013d1fe2de00000155000000200000000000000000000000000000002900000003reloc/postgresql/help/list_users.es.html  <header>Usuarios de PostgreSQL</header>

Esta página te permite crear y editar los usuarios que tendrán acceso
a tus bases de datos PostgreSQL. Para cada usuario, puedes especificar
un nombre de usuario, clave de acceso opcional, fecha opcional de expiración
y decidir si el usuario podrá crear a otros usuarios o bases de datos. <p>

<hr>

   070701000636cd000081a40000000000000002000000013d1fe2de0000013f000000200000000000000000000000000000002900000003reloc/postgresql/help/list_users.it.html  <header>Utenti PostgreSQL</header>

Qui puoi creare e modificare gli utenti che avranno accesso ai database del
tuo server. Per ogni utente bisogna specificare un nome, una password opzionale con,
eventualmente, un limite di durata, e scegliere se l' utente in questione puo'
creare altri utenti o database. <p>

<hr>

 070701000636ce000081a40000000000000002000000013d1fe2de00000121000000200000000000000000000000000000003000000003reloc/postgresql/help/list_users.ja_JP.euc.html   <header>PostgreSQL¥æ¡¼¥¶</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤ÏPostgreSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀÜÂ³¤Ç¤­¤ë¥æ¡¼¥¶¤ò¿·µ¬¤ËºîÀ®¡¢¤Þ¤¿¤ÏÊÔ½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£³Æ¥æ¡¼¥¶¤ËÂÐ¤·¤Æ¥æ¡¼¥¶Ì¾¡¢Ç¤°Õ¤Î¥Ñ¥¹¥ï¡¼¥É¡¢Ç¤°Õ¤ÎÍ­¸ú´ü¸Â¡¢¤½¤ì¤È¤½¤Î¥æ¡¼¥¶¤¬¿·¤¿¤Ë¥æ¡¼¥¶/¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤Ç¤­¤ë¸¢¸Â¤¬¤¢¤ë¤«¡¢¤òÀßÄê¤Ç¤­¤Þ¤¹¡£<p>

<hr>

   070701000636cf000081a40000000000000002000000013d1fe2de0000016f000000200000000000000000000000000000002900000003reloc/postgresql/help/list_users.pl.html  <header>U¿ytkownicy PostgreSQLa</header>

Za pomoc± tej strony mo¿esz tworzyæ i zmieniaæ u¿ytkowników, którzy bêd±
mieli dostêp do baz danych PostgreSQLa. Ka¿demu u¿ytkownikowi mo¿esz nadaæ
jego nazwê, opcjonalnie has³o, równie¿ opcjonalnie datê wa¿no¶ci oraz
okre¶liæ, czy ten u¿ytkownik bêdzie móg³ tworzyæ innych u¿ytkowników lub
bazy danych. <p>

<hr>

 070701000636d0000081a40000000000000002000000013d1fe2de0000015a000000200000000000000000000000000000002900000003reloc/postgresql/help/newdb_form.ca.html  <header>Creació de Bases de Dades</header>

Aquest formulari permet crear una nova base de dades PostgreSQL. Has
d'introduir el nom de la base de dades, i també pots introduir el
directori on s'allotjaran els fitxers de la base de dades.
En acabat. fes clic sobre el boto <tt>Crea</tt> per crear la base de
dades de forma immediata.  <p>

<hr>


  070701000636d1000081a40000000000000002000000013d1fe2de0000016a000000200000000000000000000000000000002900000003reloc/postgresql/help/newdb_form.es.html  <header>Crear Base de Datos</header>

Este formulario te permite crear una nueva base de datos PostgreSQL.
Debes de digitar el nombre de la base de datos y puedes también digitar
un directorio en el cual se almacenen los archivos de la base de datos.
Al terminar, haz click en el botón <tt>Crear</tt> para tener la base
de datos inmediátamente creada. <p>
<hr>

  070701000636d2000081a40000000000000002000000013d1fe2de0000012d000000200000000000000000000000000000002600000003reloc/postgresql/help/newdb_form.html <header>Create Database</header>

This form allows you to create a new PostgreSQL database. You must enter
the name of the database, and can also enter a directory in which the
database files will be stored.
When done, click on the <tt>Create</tt> to have the database immediately
created.  <p>
<hr>

   070701000636d3000081a40000000000000002000000013d1fe2de000000fb000000200000000000000000000000000000002900000003reloc/postgresql/help/newdb_form.it.html  <header>Crea un Database</header>

Qui puoi creare un nuovo database sul server. Devi inserire il nome del database
e la cartella ( directory ) in cui tenere gli archivi dello stesso.
Infine, clicca su <tt>Crea</tt> per creare il database.  <p>
<hr>

 070701000636d4000081a40000000000000002000000013d1fe2de0000014e000000200000000000000000000000000000003000000003reloc/postgresql/help/newdb_form.ja_JP.euc.html   <header>¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®</header>

¤³¤Î¥Õ¥©¡¼¥à¤ò»ÈÍÑ¤·¤Æ¡¢¿·¤·¤¤PostgreSQL¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£É¬¤º¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤òÆþÎÏ¤·¤Æ²¼¤µ¤¤¡£¤Þ¤¿¤½¤ÎºÝ¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤¬³ÊÇ¼¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤â»ØÄê¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÀßÄê¤¬´°Î»¤·¤Þ¤·¤¿¤é<tt>ºîÀ®</tt>¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£Â¨ºÂ¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£<p>
<hr>

  070701000636d5000081a40000000000000002000000013d1fe2de0000013b000000200000000000000000000000000000002900000003reloc/postgresql/help/newdb_form.pl.html  <header>Utwórz bazê danych</header>

Za pomoc± tego formularza mo¿esz utworzyæ now± bazê danych PostgreSQLa.
Musisz podaæ nazwê bazy danych, mo¿esz równie¿ podaæ katalog, w&nbsp;którym
bêd± przechowywane jej pliki. Gdy skoñczysz, naci¶nij <tt>Utwórz</tt>, aby
natychmiast utworzyæ tê bazê danych. <p>
<hr>

 070701000636d6000081a40000000000000002000000013d1fe2de00000211000000200000000000000000000000000000002900000003reloc/postgresql/help/table_form.ca.html  <header>Creació de Taula</header>

Aquest formulari és per crear una nova taula buida. Has d'introduir el
nom de la taula i un o més camps. Per cada camp, has d'introduir-ne el
nom, seleccionar el tipus de dades i introduir la llargària del camp
(si s'escau pel tipus de dades). També pots triar si el camp és un
array multivalor, si permet nuls, si és la clau primaria d'indexació,
i si els valors de les claus han de ser únics. En acabat, fes clic
sobre el boto <tt>Crea</tt> per crear la taula de forma immediata.  <p>

<hr>

   070701000636d7000081a40000000000000002000000013d1fe2de0000022e000000200000000000000000000000000000002900000003reloc/postgresql/help/table_form.es.html  <header>Crear Tabla</header>

Este formulario se usa para crear una tabla nueva y vacía. Debes de digitar
un nombre de tabla y uno o más campos. Para cada campo, debes de digitar
un nombre, seleccionar un tipo de dato y digitar el tipo de ancho (siempre
que sea apropiado para el tipo de campo). Puedes también decidir si el
campo es un arreglo multi-valor, si permite nulos, si es la clave primaria
del índice y si los valores en él deben de se únicos.
Al terminar, haz click en el botón <tt>Crear</tt> para tener la tabla
inmediátamente creada. <p>

<hr>

  070701000636d8000081a40000000000000002000000013d1fe2de000001f5000000200000000000000000000000000000002600000003reloc/postgresql/help/table_form.html <header>Create Table</header>

This form is for creating a new, empty table. You must enter a table
name and one or more fields. For each field, you must enter a name, select a
data type and enter the type width (if appropriate for the data type).
You can also choose if the field is an multi-value array, if it allows null,
if it is the primary key for indexing, and if the values it in must be unique.
When done, click on the <tt>Create</tt> button to have the table immediately
created. <p>

<hr>

   070701000636d9000081a40000000000000002000000013d1fe2de0000023b000000200000000000000000000000000000002900000003reloc/postgresql/help/table_form.it.html  <header>Crea Tabella</header>

Questa e' la pagina in cui creare una nuova tabella. Bisogna specificare
un nome per la tabella ed uno o piu' campi. per ogni campo devi inserire il nome,
e poi il tipo di dato che conterra' ed eventualmente la sua dimensione.
Si possono anche inserire campi a valore multiplo ( array ), campi che possono
contenere valori nulli ( nulli non vuol dire 0, ma assenza di valore ), se
il campo e' una chiave primaria o se i valori che contiene devono essere unici.
Alla fine, clicca sul pulsante <tt>Crea</tt> per creare la tabella. <p>

<hr>

 070701000636da000081a40000000000000002000000013d1fe2de000001c0000000200000000000000000000000000000003000000003reloc/postgresql/help/table_form.ja_JP.euc.html   <header>¥Æ¡¼¥Ö¥ë¤ÎºîÀ®</header>

¤³¤Î¥Õ¥©¡¼¥à¤ò»ÈÍÑ¤·¤Æ¡¢¿·¤·¤¤¶õ¤Î¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£É¬¤º¥Æ¡¼¥Ö¥ëÌ¾¤È1¤Ä°Ê¾å¤Î¥Õ¥£¡¼¥ë¥É¤òÆþÎÏ¤·¤Æ²¼¤µ¤¤¡£³Æ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï¡¢Ì¾Á°¡¢¥Ç¡¼¥¿·¿¡¢¥Ç¡¼¥¿¤ÎÄ¹¤µ(¥Ç¡¼¥¿·¿¤ËÅ¬¤¹¤ë¾ì¹ç)¤òÀßÄê¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥Õ¥£¡¼¥ë¥É¤ËÂÐ¤·¤Æ¡¢Ê£¿ôÃÍ¤ÎÇÛÎó¡¢NULLÃÍ¤Îµö²Ä¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¤¿¤á¤Î¼ç¥­¡¼¡¢¸ÇÍ­ÃÍ¡¢¤Ê¤É¤ÎÀßÄê¤âÁªÂò¤Ç¤­¤Þ¤¹¡£ÀßÄê¤¬´°Î»¤·¤Þ¤·¤¿¤é<tt>ºîÀ®</tt>¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£Â¨ºÂ¤Ë¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£<p>

<hr>

070701000636db000081a40000000000000002000000013d1fe2de00000226000000200000000000000000000000000000002900000003reloc/postgresql/help/table_form.pl.html  <header>Utwórz tebelê</header>

Ten formularz s³u¿y do tworzenia nowej, pustej tabeli. Musisz podaæ nazwê
tabeli, i&nbsp;jedno lub wiêcej pól. Dla ka¿dego pola musisz podaæ jego
nazwê, wybraæ typ danych oraz szeroko¶æ pola (je¶li typ danych tego wymaga).
Mo¿esz równie¿ okre¶liæ, czy pole ma byæ tablic± o&nbsp;wielu warto¶ciach,
czy dopuszcza brak warto¶ci, czy stanowi podstawowy klucz indeksowy, oraz
czy warto¶æ pola musi byæ unikalna. Gdy skoñczysz, naco¶nij przycisk
<tt>Utwórz</tt>, aby natychmiast utworzyæ tê tablicê. <p>

<hr>

  070701000636dc000081a40000000000000002000000013d1fe2de0000030e000000200000000000000000000000000000002900000003reloc/postgresql/help/view_table.ca.html  <header>Dades de la Taula</header>

Aquesta pàgina permet veure les dades d'una taula, editar-les i afegir
registres nous.

<dl>
<dt><b>Edició de Registres</b>
<dd>Selecciona les caselles de l'esquerra de les files que vols editar i
    fes clic sobre el botó <tt>Edita les files seleccionades</tt>.
    Llavors, introdueix els nous valors als camps i fes clic a <tt>Desa</tt>.
    <p>
<dt><b>Supressió de registres</b>
<dd>Selecciona les caselles de l'esquerra de les files que vols suprimir i
    fes clic sobre el botó <tt>Suprimeix les files seleccionades</tt>.  <p>
<dt><b>Addició de registre</b>
<dd>Fes clic sobre el botó <tt>Afegeix fila</tt> i introdueix els valors
    del nou registre als camps del peu de la taula; llavors fes clic a
    <tt>Desa</tt>. <p>
</dl>

<hr>

  070701000636dd000081a40000000000000002000000013d1fe2de00000324000000200000000000000000000000000000002900000003reloc/postgresql/help/view_table.es.html  <header>Datos de Tabla</header>

Esta página te permite ver los datos de una tabla, editarlos y añadir nuevos
registros.
<dl>
<dt><b>Editando registros</b>
<dd>Selecciona las casillas de verificación a la izquierda de las filas que quieres
    editar y haz click en el botón <tt>Editar filas seleccionadas</tt>. Luego
    digita los nuevos valores en los campos y haz click en <tt>Salvar</tt>. <p>
<dt><b>Borrando registros</b>
<dd>Selecciona las casillas de verficación la izquierda de las filas que desees borrar
    y haz click en el botón <tt>Borrar filas seleccionadas</tt>. <p>
<dt><b>Añadiendo un registro</b>
<dd>Hac click en el botón <tt>Añadir fila</tt>, digita los valores para el nuevo
    registro en los campos de la parte final de la tabla y haz click en <tt>Salvar</tt>. <p>
</dl>

<hr>

070701000636de000081a40000000000000002000000013d1fe2de000002c4000000200000000000000000000000000000002600000003reloc/postgresql/help/view_table.html <header>Table Data</header>

This page allows you to view data in a table, to edit that data and to add
new records.
<dl>
<dt><b>Editing records</b>
<dd>Select the checkboxes to the left of the rows you want to edit and click
    the <tt>Edit selected rows</tt> button. Then enter the new values into the
    fields and click on <tt>Save</tt>. <p>
<dt><b>Deleting records</b>
<dd>Select the checkboxes to the left of the rows you want to delete and click
    the <tt>Delete selected rows</tt> button. <p>
<dt><b>Adding a record</b>
<dd>Click on the <tt>Add row</tt> button and enter the values for the new
    record into the fields at the bottom the table, then click on
    <tt>Save</tt>. <p>
</dl>

<hr>

070701000636df000081a40000000000000002000000013d1fe2de00000308000000200000000000000000000000000000002900000003reloc/postgresql/help/view_table.it.html  <header>Dati della Tabella</header>

In questa pagina puoi vedere quali dati sono contenuti in una tabella, ed
aggiungere o modificare tali dati
<dl>
<dt><b>Modifica righe</b>
<dd>Clicca sulla casella di spunta a sinistra della riga che vuoi modificare
    e poi clicca sul pulsante <tt>Modifica riga selezionata</tt> .
    Poi inserisci i nuovi valori e clicca su <tt>Salva</tt>. <p>
<dt><b>Cancella righe</b>
<dd>Clicca sulla casella di spunta a sinistra della riga che vuoi modificare
    e poi clicca sul pulsante <tt>Cancella riga selezionata</tt> . <p>
<dt><b>Aggiungi riga</b>
<dd>Clicca sul pulsante <tt>Aggiungi riga</tt> ed inserisci i valoriper il
    nuovo record negli spazi sottostanti la tabella, infine clicca sul pulsante
    <tt>Salva</tt>. <p>
</dl>

<hr>

070701000636e0000081a40000000000000002000000013d1fe2de00000276000000200000000000000000000000000000003000000003reloc/postgresql/help/view_table.ja_JP.euc.html   <header>¥Æ¡¼¥Ö¥ë¥Ç¡¼¥¿</header>

¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤òÉ½¼¨¤µ¤»¤¿¤ê¡¢¥Ç¡¼¥¿¤òÊÔ½¸¡¢¥ì¥³¡¼¥É¤ÎÄÉ²Ã¤¬¤Ç¤­¤Þ¤¹¡£

<dl>
<dt><b>¥ì¥³¡¼¥É¤ÎÊÔ½¸</b>
<dd>ÊÔ½¸¤·¤¿¤¤¹Ô¤Îº¸Â¦¤Ë¤¢¤ë¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤òÁªÂò¤·¡¢<tt>ÁªÂò¤µ¤ì¤¿¹Ô¤òÊÔ½¸</tt>¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£¤½¤ì¤«¤é¿·¤·¤¤ÃÍ¤ò¥Õ¥£¡¼¥ë¥É¤ËÆþÎÏ¤·¡¢<tt>ÊÝÂ¸</tt>¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£<p>
<dt><b>¥ì¥³¡¼¥É¤Îºï½ü</b>
<dd>ºï½ü¤·¤¿¤¤¹Ô¤Îº¸Â¦¤Ë¤¢¤ë¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤òÁªÂò¤·¡¢<tt>ÁªÂò¤µ¤ì¤¿¹Ô¤òºï½ü</tt>¤ò¥¯¥ê¥Ã¥¯¤·¤Æ²¼¤µ¤¤¡£<p>
<dt><b>¥ì¥³¡¼¥É¤ÎÄÉ²Ã</b>
<dd><tt>¹Ô¤òÄÉ²Ã</tt>¤ò¥¯¥ê¥Ã¥¯¤·¡¢¥Æ¡¼¥Ö¥ë¤Î²¼¤Î¥Õ¥£¡¼¥ë¥ÉÆâ¤Ë¡¢¿·¤·¤¤¥ì¥³¡¼¥É¤ÎÃÍ¤òÆþÎÏ¤·¡¢<tt>ÊÝÂ¸</tt>¤ò¹Ô¤Ã¤Æ²¼¤µ¤¤¡£<p>
</dl>

<hr>

  070701000636e1000081a40000000000000002000000013d1fe2de0000031f000000200000000000000000000000000000002900000003reloc/postgresql/help/view_table.pl.html  <header>Dane w&nbsp;tabeli</header>

Za pomoc± tej strony mo¿esz przegl±daæ dane w&nbsp;tabeli, modyfikowaæ te
dane oraz dodawaæ nowe rekordy.
<dl>
<dt><b>Modyfikacje rekordów</b>
<dd>Zaznacz pola wyboru z&nbsp;lewej strony wierszy, które chcesz zmodyfikowaæ
    i&nbsp;naci¶nij przycisk <tt>Modyfikuj wybrane wiersze</tt>. Nastêpnie 
    podaj nowe warto¶ci pól i naci¶nij  <tt>Zachowaj</tt>. <p>
<dt><b>Usuwanie rekordów</b>
<dd>Zaznacz pola wyboru z&nbsp;lewej strony wierszy, które chcesz usun±æ
    i&nbsp;naci¶nij przycisk <tt>Skasuj wybrane wiersze</tt>. <p>
<dt><b>Dodawanie nowego rekordu</b>
<dd>Naci¶nij przycisk <tt>Dodaj wiersz</tt> i&nbsp;podaj warto¶ci pól nowego
    rekordu w&nbsp;dolnej czêsci tabeli, a nastêpnie naci¶nij
    <tt>Zachowaj</tt>. <p>
</dl>

<hr>
 07070100064d3a000041ed0000000000000001000000023d1ffb0000000000000000200000000000000000000000000000001800000003reloc/postgresql/images   07070100064d3b000081a40000000000000002000000013d1fe2dd000001ce000000200000000000000000000000000000001f00000003reloc/postgresql/images/db.gif    GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0²@«½8k*ƒø`(Žd)tÂ ®CÀ¾««Êp{FÞ@úÜÿ¼XÏÅÛ±<(]‘GÜ9Ÿ­¡Ò»Ar­v›qx*¦°˜ä
Ø­æk×Ï9gUÁ Ù£Î¬rh)u|O‡†QPUes)0kl4‘G€
_\›Z–‚ œ¢—fƒŽc©b¥ŽŽolGB’7 ¦tE{xºB‰~6¥``JÃMˆFwÅz¿Ÿ¶Í¯°n”ŒÌ­ƒ£×™¬§ÛgÝÝàáßsáàpµÕâååãhëŽÀ™`ëíïîäïçÍéæöÞÿùhí³†m”Àj‚Ôù»ÇÝÁm	û-lWOœÀ`™è-dX‚ÑÜCtì6R´§¡¦‚¢>Tèod@m Y’HOå¼i:¼da¥Ä–:-*QeÊFÜ~ÎÄWiÄ ™îŒã*Î†BãôŒ
TjVDOåâi‚)™ù¬ÂÃqViZ¯Qp]Š5.Û¹oëz+¨­ÚŸ÷vË‰ïPUˆKHXÌ¸ñ‚ ;  07070100064d3c000081a40000000000000002000000013d1fe2dd0000006c000000200000000000000000000000000000002100000003reloc/postgresql/images/down.gif  GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;07070100064d3d000081a40000000000000002000000013d1fe2dd00000049000000200000000000000000000000000000002000000003reloc/postgresql/images/gap.gif   GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   07070100064d3e000081a40000000000000002000000013d1fe2dd0000074d000000200000000000000000000000000000002300000003reloc/postgresql/images/grants.gif    GIF89a0 0 ç     ’’ŒÂÂ´þþìæÎÄÞº¬þúìúöìîÚÌêÖÌöêÜÞ¾´Â~tÒ¢”Îš”Â†|¾~tÎž”ÆŠ„âÆ¼Ê’„Ú¶¬ÖªœÒ¦œúòä¾ztêÒÄÂ‚|¶fdÒªœÊ’ŒÆŽ„Ê–ŒòæÜúúìêÚÌºrlºvl¶jdÚ²¤æÆ¼Ö®¤æÒÄöòäÊŽ„öîäââÔææÜÖÖÌîÞÔÚÚÌ¶¶¬ªª¤žž”ÆÆ¼òêÜÆ†|Êš”¾vlÞÞÔšš”‚‚|ŠŠ„îîäÞÚÌÒž”ööìº¶¬²®¤ÊÊ¼žš”ŽŽ„ÎÎÄòòä––ŒæâÔzzt¾¾´¦¦œrnlÒÒÄ~~t††|¢¢œ®®¤Š†|®ª¤âÞÔ¾º´êêÜÞÞÌVVTŽŠ„²²¤rrlîîÜææÔÎÎ¼ÆÆ´ÊÆ¼ÒÎÄÎÊ¼ÆÂ´ÖÖÄööäîêÜºº¬ššŒ¶²¬²²¬–’ŒÂ¾´’Ž„òîä¦¢œ®ªœ¢¢”ªªœêæÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ ÿH° Áƒ*\È°¡Ã? "F|HQ¡Ä‹+6  £G‰;‚I²¤É’¨Tq¥K– \(`Àå/sºìø²eÎ
".`ÐÀÁ$˜@áA….ÔÔ¹’çJŸ0XÈ áB„"rèp¡‡@ ±aÀÑ!DPUiæÊ$J0Q Â…ˆrWž@±¡$2€HjÝh°ÀD
±Îp`Å6œ¼SÀJIH`1 D‹ž1pñÆf1$HðààeÝ	A<˜@Õ§Œ4jØØ<àÆ9t¼¦kz¥„ˆ#èô)b>~þ a®"DÖU««¢özCj!c³©7Jç”k#=„Ì¹4Õ ]…Ñ‚²%¡„=,W N	º„‘‚±‰ D:¦^‡µ¢o‚Èßˆ–8À; ¡‹*q8À!pˆ£KBˆ°DŠ9ÁDNðÀ=À QHAƒD<LAE5ôP… =(ÁGÔpD9%x`¨‰hàfM”èÂ58A4XÁTL1CR4„1±„”Sü0ÅJ8A3`Á‰/i˜Ä7
!DY$é&ñƒD"XúÂ
?ˆðƒ¥‘ºðRšsÉ¥…º°ãþ*É°iD?`j’æ‡ºPC=éC SøÐQ/lÁuá…Q0áYÌU¡K?PZé/Pj)"¸ðE/HäB`¼ÐíŽ0Væ\°J«+–`òÖ›“M4ÑëKN„QD0ˆÑ„EXñEM¼0dcØf­Š/‰!EQ†.ÈÐEH4‘…24ñE!C}wø;Œ*ƒ·èf!€iÃ‰.é*Âµ:©Ejd±6¨QD;IÅÊ í!Š#Z½+Ö/-üo1É%©~ØbûB¨9ÂúR·ã­TØÕ …ÅéÅ˜mTXáÄþTéÆ<41ªŒ*!áoÔ0QÑ†D+ôH¶ XP1„ 4´Ñ¯3À°Ã;È°C‹+Ù0…MÐ Æ|ÊðóE0T[·NI\‘4n¦†\ôÂÇ‚±ÍþC¿6ˆÐF3ÈaÃ_»äBp°áê"ÁV[¥FD¸I…HÏA.ìP¾¦®ôÂN4=CÉOQÃ LAÄE³ ¡htÚ?¹ÛŒ¤ä¥¿ÿ¡á ìÁuF´M	 
8‚Â vÀ1(¨!Äfˆ–“¼ N4p‚¦ð58	CàB@%Ò\ˆljÂœ†…ØÀMhÃf …tÁ|áN8r’"ñ$#!I 4ÂDˆ4ñ‰PŒ" ;   07070100064d3f000081a40000000000000002000000013d1fe2dd00000191000000200000000000000000000000000000002300000003reloc/postgresql/images/groups.gif    GIF89a0 0 Â     GGGfffÌÌÌÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þHºÜþ0ÊI«% çúýŒ&f]	~Z£•ÞImO@šî;2P
|Ý1oès ™¡²Ø J"Sqlä¢¼–YåäQ­˜ëê:C±ºØíÌ`‚zÌ>ŠÐéù`:êCÃkSTwƒJt‚-pC`{‰Vs’
‹9Pz‘‰<n¡›=h)c[©p=±–§[¯©²YZr¢’¹»´ ¿·’‹Ç¿)
É‚-»ºÏÑLËZ”Ì¼0Ø>ÚÜ¶­ÁÙ”
¥ä{ZÏÊéÕ·î]5Ë¿p™ÇÐ{ïèduðÕ¯´x÷å{%b
>N
ö)B#×¾jÐžýû@Eã‚m²Ü²"0'21¹%¤¨Kæz%åV™†.¤T×#ÚIà’ýzn'œ‰134)¸~þHÂB2µªÕ	  ;   07070100064d40000081a40000000000000002000000013d1fe2dd0000019c000000200000000000000000000000000000002200000003reloc/postgresql/images/hosts.gif GIF89a0 0 Â  ÌÌÌ   [[[ÌÌÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þHºÜþ06@«½8K™Aø_§mž¡X‘e%€BÃrm±õÕüÎ7Ü¤âû½Æ pADò.)•(ÒüAR•R”]³Ó–ÇisuÖ•ø4“ÑiÊ–ûnÓáp¥CWçƒÿ LndtQ€Z
3(Œ‡R‚5(‘ ‘xyjŠq ‹X—˜r‰.œ1cu ^™›O¤…©œY¦¯°ª¢šºR´µ¶J€½4°z*Âž¿™CÉÊ©Æº›¬G¨IÌÔÈ’l±ÜÔ»Ý?ÄhzŽ¤=à·L»‡hè­¸¹Õóôîêëpõ„«0®`90•ÂŒ¢`Ð €ƒN(ÔDÐáºF#X<Ì‡P0EÂ%ÇäýÁr*HY"`àäÂ*UVáÒBÌ›t8i“ã¡Ið\â4hM‘RŠåIT¢´%=o®ü€TèK©ÔrVµ+D«`$  ;07070100064d41000081a40000000000000002000000013d1fe2dd000006d8000000200000000000000000000000000000002100000003reloc/postgresql/images/icon.gif  GIF89a0 0 ç  ~˜±…ž¶§¼œ°Ã¦¸Éž¸Ü°ÀÏkŠ¦b‚ ¾Ë×ušÍ[z–·ÆÔw“®cƒ¡ÉÓÞ_pŽ©Ž¥»yÏrªÏØâKd{:N`F^sÆÑÜ^~œ›°Ã'4@w“­¦·É%,|AWk7IZ”ª¾‹£¹Oi‚ƒœ´;N`[z—Kc{4FVÞäëf†¢ûüüv‹­9M_~ ÐE\rF]rMf~Rm‡¸ÅÔUrùúûPj„UqŒˆ ·Vtm†Ÿ¶Xv’=ReAWlRnˆ®¿Î±ÁÐÕÝæ[v—îñô­¾Í²ÂÐ!'z3CQo§1BQk‰¥:EˆIY’›²_vž—­ÀFS1APÄÏÛÈÓÞ.>L<I‰-<JºÈÕWu-5!wíðôòõ÷¼ÉÖ„–µ¶ÅÓ|“­öøùHU‘n€©q…—Un™éëñ+9Fs†©ãæî•ª¿Ž¤»ÑÚãÃÍÛ$+{hyŠ0>ƒõö÷øùúÚàèiq¤t‹ §¹Êrfr£u3DT_n{-;IÕÚå™®ÂVd™2CRw¢áçíœ Ãq„—9HˆçìðPctqŽ©üüü_mzåéïEQ*4Ûáé¤¶Èg}¤Lb“8D‡e‚¢[tœ¯¿Îo‰ ©ºË”—¾^`ž4?„ew‡¥¨É9L^pt¨ ³Å$x•™Àcu†¸ÆÔîñõÀÌØ~”¯ov¨óõù0@OWm©òôõŒ¹(5BVgwåçï®²Ï=QdUo™((}¼¿Öm‡Ÿ%1<²µÑûûýúúúòôöer¢ùùù“»o…¨¤·Èôô÷¥§É«¼Ì+7øùùQP–ëëë£¶Çöö÷ðñöððð†‹¶uv¬©»Ëúúüêëón†§Tf˜€–ªöööz¯&3>i‚¥fl£þþþj†¼”™¾êíðMf”]r©»Ìõõö¦ªÉ»½Ö/;°´Ðååå#'zõõõ®¿Íýýþƒ³qÂííí€²p—Ë@KV4=Fou¨{€¯óóóËÍà{°­±Î"-7’§½ôôôýýý¬½ÍØàçh‡¤ÿÿÿ!þMade with GIMP !ù  ú ,    0 0  þ õ	H° Áƒ*\È°¡Ã‡#JœH±¢Å…ª..„Ò €€$È@²B…!úT¨\¹2–”Š“tü’Í‘LéÇ³gO›&6ñ'³Q$Pzsd‚¥|öSÁ*âþh  kW@`4ÃÒ¤ö“õðêV "È\ðQ€€ !“¢­` ,>4t«@¬Ä=°8ìØ¥Â˜,uH†…Wtm «?@t8Ø:  H²êÚM 5Ã€„Cýuíì Â‚Û.hµkú´Âr 6A“ƒe<­]Û6îàð‘úiá\Õö\•gþ4‡ þ9Ð<ÚýØ—z £Úû ˜À³ìÚþ€„†àÈ0È ÃZQg€:gÄ×ÏkúAžx´° 2``h‰åÃ@LG d¼Axö€>ÎTðÀ‹Ð @%ä0Â7æ@€€   lÃhÀã44YH Á<”€„>Ó¸øbðƒ—Cn ‚=@‚<ö €<t°Áô0ƒ @¹Ï>ØçOQ¢eJ€àU	#H™CgšÀAœ°‘Ð°A™hòàÁ?wæéŸ!ábX%q  PjX (¥" €«þ¦RÀC˜ÐÍ™buÀ•åñ ¨XrÂ¨¬€€	 pÀt0ƒ£P Ì€A+¸fJ(¯yð€ž•ø£Á	'$¡ì²ÄYƒ©Aª·f»²zú‡$Ì (&IX @’Ì€À
˜Iƒ¼w>À­BµØ‘/,!¤àLÄ€ (ü€ÃÇ8üðÄ7<Ü¹ÅCÇä‹Õ-ž‰Å>ø7Ü@®hÜ)ÐÊ]á2VL,ñÄ.¤‚ÍDÁ°@WLäÄÐþ„ð.`±ô7Ä€©Ï6ØàDEDaöÙfóD,B?Ä€BsàúÏØIÂÏ¦Þ|÷-ÆÛ.øðÃEŒ+ÞIDß}ãƒ!@>·áÿ¡Ñ@[Á8ß?¸„ñ—$‡æ›ƒ‘ÂV¤ðJ‹ìQzAml¾·S¤>] 2{A‹°a{"~Xñ
!`ünP€0nÄ¡€ãFÊTG$ŒñElT-xô­= Þ'	1|A~ù	i‚z÷ì+dÍ%ÿýøç¯ÿþü÷¯P@ ;07070100064d42000081a40000000000000002000000013d1fe2dd0000016e000000200000000000000000000000000000002200000003reloc/postgresql/images/table.gif GIF89a0 0 Â  øüø˜˜˜`d`˜˜ø   ÈÌÈÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8†Í»ÿ`(J œhª®lë–Â ÏC@ß³ë5ž° ”ÙˆÅ¤±ˆìÂfx0E¯Ç¡vëæŠYï/¸óÝx4úL5ÞðQ[P¨Û»Þžß÷ñ{|su…|‰†&0„†wˆ‡Š„ƒ~“˜zŒUqŸ œ&Ž—€–’‹•›¥¦«¨”§—‘­´‡ª™¥´¶xs¡Àr±®³¤­~¸šÆ¹Ç›É¯»Ê‚ÃÌÑÆ½¢žÁÜÏÍË“Ùß½Ó¼Ñä¬ÒÐÎÕÓÄÌã0ÝôéºØèîìá¯òýdÅÓPà¢|©æÕëv¯˜¬£<—° ¼ƒ	F¼8"ñ¯}à$ÖÒ¸(SªL‘¡¥Ë—0cÊœI³¦Í›.  ;  07070100064d43000081a40000000000000002000000013d1fe2dd00000067000000200000000000000000000000000000001f00000003reloc/postgresql/images/up.gif    GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 07070100064d44000081a40000000000000002000000013d1fe2dd00000125000000200000000000000000000000000000002200000003reloc/postgresql/images/users.gif GIF89a0 0 Â  ÿÿÿ   fffÌÌÌÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  Ø8ºÜþ0ÊI«!çË¥þ#Œ]¥5§2®¥DÛ*·PøÄ2I£¯›ë»…­ø	‚Œáí•C&{°Ë)„Gê3ªši1VÞÀø‡?ã_ÙúYÀ/¨Ê$Å×fzÇw÷Y}x:{XY~]t†ˆ‰X)iŒq#)‚ˆ+Œ,˜™†YœSfž@ ~v‡£¡oª«–‡w§Z@}³Nµ®
·A¹KJT¾<h_wq)¼Æ®=sÁ®‚ma4ËD/É‚•ÍØÚºOÝßQâãàÛÄ;¢"¶êÔ•iºæ~Ó¤÷Z	 ;   07070100061f4f000081e40000000000000002000000013d1fe2de000011a0000000200000000000000000000000000000001b00000003reloc/postgresql/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display all existing databases

require './postgresql-lib.pl';

# Check for PostgreSQL programs
if (!-x $config{'psql'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_esql', "<tt>$config{'psql'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!-r $config{'hba_conf'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_ehba', "<tt>$config{'hba_conf'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

$r = &is_postgresql_running();
if ($r == 0) {
	# Not running .. need to start it
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p> <b>$text{'index_notrun'}</b> <p>\n";

	if ($access{'stop'}) {
		print "<hr>\n";
		print "<form action=start.cgi>\n";
		print "<table width=100%><tr><td>\n";
		print "<input type=submit ",
		      "value=\"$text{'index_start'}\"></td>\n";
		print "<td>",&text('index_startmsg',
		      "<tt>$config{'start_cmd'}</tt>"),"</td> </tr></table>\n";
		print "</form>\n";
		}
	}
elsif ($r == -1) {
	# Running, but webmin doesn't know the login/password
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p> <b>$text{'index_nopass'}</b> <p>\n";
	print "<form action=login.cgi>\n";
	print "<center><table border>\n";
	print "<tr $tb> <td><b>$text{'index_ltitle'}</b></td> </tr>\n";
	print "<tr $cb> <td><table cellpadding=2>\n";
	print "<tr> <td><b>$text{'index_login'}</b></td>\n";
	printf "<td><input name=login size=20 value='%s'></td> </tr>\n",
		$config{'login'};
	print "<tr> <td><b>$text{'index_pass'}</b></td>\n";
	printf "<td><input name=pass size=20 type=password value='%s'></td>\n",
		$config{'pass'};
	print "</tr> </table></td></tr></table>\n";
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=reset value='$text{'index_clear'}'>\n";
	print "</center></form>\n";
	}
elsif ($r == -2) {
	# Looks like a shared library problem
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_elibrary', "<tt>$config{'psql'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
else {
	# Running .. check version
	$v = &get_postgresql_version();
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("postgresql", "man", "doc", "google"),
		undef, undef, &text('index_version', $v));
	print "<hr>\n";
	unless (defined $v) {
	        print "<p>",&text('index_superuser',"$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}
	if ($v < 6.5) {
		print "<p>",&text('index_eversion', $v, 6.5),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}

	# List the databases
	print "<h3>$text{'index_dbs'}</h3>\n";
	@titles = grep { &can_edit_db($_) } &list_databases();
	@icons = map { "images/db.gif" } @titles;
	@links = map { "edit_dbase.cgi?db=$_" } @titles;
	@titles = map { &html_escape($_) } @titles;
	print "<a href=newdb_form.cgi>$text{'index_add'}</a><br>\n"
		if ($access{'create'});
	&icons_table(\@links, \@titles, \@icons);
	print "<a href=newdb_form.cgi>$text{'index_add'}</a><p>\n"
		if ($access{'create'});

	if ($access{'users'}) {
		print "<hr>\n";
		print "<h3>$text{'index_users'}</h3>\n";
		@links = ( 'list_users.cgi', 'list_groups.cgi',
			   'list_hosts.cgi', 'list_grants.cgi' );
		@titles = ( $text{'user_title'}, $text{'group_title'},
			    $text{'host_title'}, $text{'grant_title'} );
		@images = ( 'images/users.gif', 'images/groups.gif',
			    'images/hosts.gif', 'images/grants.gif' );
		&icons_table(\@links, \@titles, \@images, 5);
		}

	if ($access{'stop'}) {
		print "<hr>\n";
		print "<form action=stop.cgi>\n";
		print "<table width=100%><tr><td>\n";
		print "<input type=submit ",
		      "value=\"$text{'index_stop'}\"></td>\n";
		print "<td>$text{'index_stopmsg'}</td> </tr></table>\n";
		print "</form>\n";
		}
	}

print "<hr>\n";
&footer("/", "index");

07070100067af0000041ed0000000000000001000000023d1ffb0100000000000000200000000000000000000000000000001600000003reloc/postgresql/lang 07070100067af1000081a40000000000000002000000013d1fe2de000029b7000000200000000000000000000000000000001900000003reloc/postgresql/lang/ca  index_title=Servidor de BD PostgreSQL
index_notrun=PostgreSQL no està en execució al sistema - no es pot recuperar la llista de bases de dades.
index_start=Inicia el Servidor PostgreSQL
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor de bases de dades  PostgreSQL amb l'ordre <br>$1<br> Aquest mòdul Webmin no pot administrar la base de dades fins que no s'inicii.
index_nopass=Webmin ha de saber el teu nom d'usuari i la teva contrasenya d'administració per tal de gestionar la base de dades. Introdueix el nom d'usuari i contrasenya aquí sota, si et plau.
index_ltitle=Connexió a PostgreSQL
index_login=Usuari
index_pass=Contrasenya
index_clear=Esborra
index_stop=Atura el Servidor PostgreSQL
index_stopmsg=Fes clic sobre aquest botó per aturar el servidor de bases de dades PostgreSQL. Això impedirà que cap usuari ni cap programa accedeixi a la base de dades, incloent-hi aquest mòdul Webmin.
index_dbs=Bases de dades PostgreSQL
index_add=Crea una Nova Base de Dades
index_users=Opcions d'Usuari
index_return=a la llista de bases de dades
index_esql=No s'ha trobat al sistema el programa client PostgreSQL $1. Pot ser que PostgreSQL no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_ehba=No s'ha trobat el fitxer de configuració del host PostgreSQL $1. Pot ser que PostgreSQL no hagi estat inicialitzat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_superuser=No s'ha pogut executar al sistema el programa client de PostgreSQL. Pot ser que PostgreSQL no estigui instal·lat, o bé que la <a href='$1'>configuració del mòdul</a> sigui incorrecta.
index_eversion=La base de dades PostgreSQL del sistema és de la versió $1, però Webmin només suporta de la versió $2 en amunt. 
index_elibrary=No es pot executar el programa client PostgreSQL $1 perquè no es troben les llibreries compartides de Postgres. Comprova la <a href='$2'>configuració del mòdul</a> assegura't que el <i>Camí de les llibreries compartides de PostgreSQL</i> està posat.
index_version=Versió PostgreSQL $1

login_err=La connexió ha fallat
login_ecannot=No tens permís per configurar les connexions a la base de dades
login_elogin=Hi falta el nom d'usuari
login_epass=Usuari o contrasenya d'administració incorrectes

dbase_title=Edició de Base de Dades
dbase_tables=Taules de la base de dades
dbase_add=Crea una nova taula
dbase_drop=Destrueix la Base de Dades
dbase_exec=Executa SQL
dbase_none=Aquesta base de dades no té taules.
dbase_fields=Camps:
dbase_return=a la llista de taules
dbase_ecannot=No tens permís per editar aquesta base de dades

table_title=Edició de Taula
table_title2=Creació de Taula
table_opts=Opcions del camp
table_header=Taula $1 de la base de dades $2
table_field=Nom del camp
table_type=Tipus
table_null=Permet nuls
table_arr=Array
table_none=Cap
table_add=Afegeix camp del tipus:
table_return=a la llista de columnes
table_data=Mostra les Dades
table_drop=Destrueix la Taula
table_name=Nom de la Taula
table_initial=Camps inicials
table_header2=Opcions de la nova taula
table_err=No he pogut crear la nova taula
table_ename=Hi falta el nom de taula o bé no és vàlid
table_efield='$1' no és un nom de camp vàlid
table_etype=Hi falta el tipus del camp $1
table_esize=Hi falta la mida del camp $1
table_enone=No has introduït cap camp inicial

field_title1=Addició de Camp
field_title2=Modificació de Camp
field_in=De la taula $1 de la base de dades $2
field_header=Paràmetres del camp
field_name=Nom del camp
field_type=Tipus de dades
field_size=Mida
field_none=Cap
field_null=Permet nuls<br>
field_arr=Camp d'array
field_key=Clau primària
field_uniq=Única
field_err=No he pogut desar el camp
field_esize='$1' no és una mida de camp vàlida
field_eenum=No has introduït cap valor enumerat
field_efield='$1' no és un nom de camp vàlid
field_ekey=Els camps que permeten nuls no poden formar part de la clau primària

exec_title=Execució de SQL
exec_header=Introdueix l'ordre SQL a executar sobre la base de dades $1...
exec_exec=Executa
exec_err=No he pogut executar SQL
exec_out=Sortida de l'ordre SQL $1...
exec_none=No s'ha retornat cap dada

stop_err=No he pogut aturar el servidor de bases de dades
stop_epidfile=No he pogut obrir el fitxer de PID $1
stop_ekill=No he pogut matar el procés $1: $2
start_err=No he pogut iniciar el servidor de bases de dades
stop_ecannot=No tens permís per aturar el servidor de bases de dades
start_ecannot=No tens permís per iniciar el servidor de bases de dades

ddrop_err=No he pogut destruir la base de dades
ddrop_title=Destrucció de Base de Dades
ddrop_rusure=Segur que vols destruir la base de dades $1? Es perdran $2 taules que contenen $3 files de dades.
ddrop_mysql=Aquesta és la base de dades mestra, si la destrueixes el servidor PostgreSQL quedarà inutilitzat!
ddrop_ok=Destrueix la base de dades

tdrop_title=Destrucció de Taula
tdrop_err=No he pogut destruir la taula
tdrop_rusure=Segur que vols destruir la taula $1 de la base de dades $2? Es perdran $3 files de dades.
tdrop_ok=Destrueix la taula

view_title=Dades de Taula
view_pos=Files $1 a $2 de $3
view_none=Aquesta taula no conté dades
view_edit=Edita les files seleccionades
view_new=Afegeix fila
view_delete=Suprimeix les files seleccionades
view_nokey=Les dades d'aquesta taula no es poden editar perquè no té clau primària.
view_all=Selecciona-ho tot
view_invert=Inverteix la selecció

newdb_title=Creació de Bases de Dades
newdb_header=Opcions de la nova base de dades
newdb_db=Nom de la base de dades
newdb_path=Camí dels fitxers de la base de dades
newdb_err=No he pogut desar la base de dades
newdb_edb=Hi falta el nom de la base dades o bé no és vàlid
newdb_ecannot=No tens permís per crear la base de dades
newdb_epath=Hi falta el camí de la base de dades

user_title=Usuaris PostgreSQL
user_ecannot=No tens permís per editar els usuaris
user_name=Usuari
user_db=Pot crear bases de dades
user_other=Pot crear usuaris
user_until=Vàlid fins
user_add=Crea un nou usuari
user_forever=Per sempre
user_pass=Cal contrasenya
user_edit=Edita Usuari
user_create=Crea Usuari
user_return=a la llista d'usuaris
user_header=Detalls de l'usuari PostgreSQL
user_passwd=Contrasenya
user_none=Cap
user_err=No he pogut desar l'usuari
user_epass=Hi falta la contrasenya o bé no és vàlida
user_ename=Hi falta el nom d'usuari o bé no és vàlid

host_title=Hosts Permesos
host_ecannot=No tens permís per editar els hosts permesos
host_local=Connexió local
host_address=Adreça del host
host_db=Bases de dades
host_auth=Mode d'autenticació
host_any=Qualsevol host de la xarxa
host_all=Totes les bases de dades
host_same=Igual que el nom d'usuari
host_add=Crea un nou host permès
host_ident=Comprova el servidor <tt>ident</tt> al host
host_trust=No cal autenticació
host_reject=Rebutja la connexió
host_password=Contrasenya en text planer
host_crypt=Contrasenya xifrada
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=Fes servir el fitxer de contrasenyes
host_identarg=Fes servir mapa d'usuaris
host_create=Crea un Host Permès
host_edit=Edita un Host Permès
host_single=Host aïllat
host_network=Xarxa
host_netmask=Màscara
host_return=a la llista d'accés al host
host_err=No he pogut desar el host permès
host_eident=Hi falta el mapa d'usuaris o bé no és vàlid
host_epassword=Hi falta el fitxer de contrasenyes o bé no és vàlid
host_enetmask=Hi falta la màscara de subxarxa o bé no és vàlida
host_enetwork=Hi falta la xarxa o bé no és vàlida
host_ehost=Hi falta l'adreça IP del host o bé no és vàlida

grant_title=Concessió de Drets
grant_tvi=Objecte
grant_type=Tipus
grant_db=Base de dades
grant_public=Tothom
grant_group=Grup $1
grant_add=Afegeix el permís a la base de dades:
grant_return=a la llista de drets
grant_ecannot=No tens permís per editar els drets
grant_create=Crea Drets
grant_edit=Edita Drets
grant_header=Drets concedits als usuaris
grant_to=Concedeix drets sobre
grant_table=Taula
grant_view=Vista o índex
grant_users=Concedeix drets a
grant_user=Usuari
grant_what=Drets
grant_r=Table
grant_v=Vista
grant_i=Índex
grant_S=Seqüència
grant_none=No hi ha cap taula, vista, seqüència ni índex sobre el qual donar drets.

group_title=Grups PostgreSQL
group_ecannot=No tens permís per editar grups
group_name=Nom del grup
group_id=ID del grup
group_mems=Membres
group_add=Crea un nou grup
group_edit=Edita Grup
group_create=Crea Grup
group_header=Detalls del grup PostgreSQL
group_return=a la llista de grups
group_err=No he pogut desar el grup
group_ename=Hi falta el nom del grup o bé no és vàlid
group_egid=Hi falta l'ID del grup o bé no és vàlid
group_etaken=El nom del grup ja està en ús
group_none=Actualment no hi ha cap grup PostgreSQL.

esql=L'ordre SQL $1 ha fallat: $2

log_start=He iniciat el servidor PostgreSQL
log_stop=He aturat el servidor PostgreSQL
log_db_create=He creat la base de dades $1
log_db_delete=He destruït la base de dades $1
log_table_create=He creat la taula $1 de la base de dades $2
log_table_delete=He destruït la taula $1 de la base de dades $2
log_field_create=He afegit el camp $1 $4 a $2 de la base de dades $3
log_field_modify=He modificat el camp $1 $4 de $2 de la base de dades $3
log_field_delete=He suprimit el camp $1 de $2 de la base de dades $3
log_data_create=He afegit una fila a la taula $2 de la base de dades $3
log_data_modify=He modificat $1 fitxers de la taula $2 de la base de dades $3
log_data_delete=He suprimit $1 fitxers de la taula $2 de la base de dades $3
log_exec=He executat SQL a la base de dades $1
log_exec_l=He executat l'ordre SQL $2 a la base de dades $1
log_create_user=He creat l'usuari $1
log_delete_user=He suprimit l'usuari $1
log_modify_user=He modificat l'usuari $1
log_create_group=He creat el grup $1
log_delete_group=He suprimit el grup $1
log_modify_group=He modificat el grup $1
log_create_local=He creat una connexió local permesa
log_modify_local=He modificat una connexió local permesa
log_delete_local=He suprimit una connexió local permesa
log_create_all=He creat qualsevol host permès
log_modify_all=He modificat qualsevol host permès
log_delete_all=He suprimit qualsevol host permès
log_create_hba=He creat el host permès $1
log_modify_hba=He modificat el host permès $1
log_delete_hba=He suprimit el host permès $1
log_grant=He donat drets sobre $1 de la base de dades $2

acl_dbs=Bases de dades que aquest usuari pot gestionar
acl_dbscannot=Aquest control d'accés serà efectiu després d'iniciar el servidor de bases de dades PostgreSQL.
acl_dall=Totes les bases de dades
acl_dsel=Seleccionades...
acl_create=Pot crear noves bases de dades
acl_delete=Pot destruir bases de dades
acl_stop=Pot iniciar i aturar el servidor PostgreSQL
acl_users=Pot editar usuaris, grups i drets


 07070100067af2000081a40000000000000002000000013d1fe2de000026f5000000200000000000000000000000000000001900000003reloc/postgresql/lang/en  index_title=PostgreSQL Database Server
index_notrun=PostgreSQL is not running on your system - database list could not be retrieved.
index_start=Start PostgreSQL Server
index_startmsg=Click this button to start the PostgreSQL database server on your system with the command<br>$1<br>. This Webmin module cannot administer the database until it is started.
index_nopass=Webmin needs to know your PostgreSQL administration login and password in order to manage your database. Please enter your administration username  and password below.
index_ltitle=PostgreSQL Login
index_login=Login
index_pass=Password
index_clear=Clear
index_stop=Stop PostgreSQL Server
index_stopmsg=Click this button to stop the PostgreSQL database server on your system. This will prevent any users or programs from accessing the database, including this Webmin module.
index_dbs=PostgreSQL Databases
index_add=Create a new database
index_users=User Options
index_return=database list
index_esql=The PostgreSQL client program $1 was not found on your system. Maybe PostgreSQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_ehba=The PostgreSQL host configuration file $1 was not found on your system. Maybe PostgreSQL has not been initialised, or your <a href='$2'>module configuration</a> is incorrect.
index_superuser=The PostgreSQL client program psql could not execute on your system. Maybe PostgreSQL is not installed, or your <a href='$1'>module configuration</a> is incorrect.
index_eversion=The PostgreSQL database on your system is version $1, but Webmin only supports versions $2 and above.
index_elibrary=The PostgreSQL client program $1 could not be run because it could not find the Postgres shared libraries. Check the <a href='$2'>module configuration</a> and make sure the <i>Path to PostgreSQL shared libraries</i> is set.
index_version=PostgreSQL version $1

login_err=Login failed
login_ecannot=You are not allowed to configure the database login
login_elogin=Missing adminstration login
login_epass=Incorrect administration username or password

dbase_title=Edit Database
dbase_noconn=This database is not currently accepting connections, so no actions can be performed in it.
dbase_tables=Database Tables
dbase_add=Create a new table
dbase_drop=Drop Database
dbase_exec=Execute SQL
dbase_none=This database has no tables.
dbase_fields=Fields:
dbase_return=table list
dbase_ecannot=You are not allowed to edit this database

table_title=Edit Table
table_title2=Create Table
table_opts=Field options
table_header=Table $1 in database $2
table_field=Field name
table_type=Type
table_null=Allow nulls?
table_arr=Array?
table_none=None
table_add=Add field of type:
table_return=field list
table_data=View Data
table_drop=Drop Table
table_name=Table name
table_initial=Initial fields
table_header2=New table options
table_err=Failed to create table
table_ename=Missing or invalid table name
table_efield='$1' is not a valid field name
table_etype=Missing type for field $1
table_esize=Missing type size for field $1
table_enone=No initial fields entered
table_fielddrop=Drop Field

field_title1=Add Field
field_title2=Modify Field
field_in=In table $1 in database $2
field_header=Field parameters
field_name=Field name
field_type=Data type
field_size=Type width
field_none=None
field_null=Allow nulls?
field_arr=Array field?
field_key=Primary key?
field_uniq=Unique?
field_err=Failed to save field
field_esize='$1' is not a valid field size
field_eenum=No enumerated values entered
field_efield='$1' is not a valid field name
field_ekey=Fields that allow nulls cannot be part of the primary key

exec_title=Execute SQL
exec_header=Enter SQL command to execute on database $1 ..
exec_exec=Execute
exec_err=Failed to execute SQL
exec_out=Output from SQL command $1 ..
exec_none=No data returned

stop_err=Failed to stop database server
stop_epidfile=Failed to open PID file $1
stop_ekill=Failed to kill process $1 : $2
stop_ecannot=You are not allowed to stop the database server
start_err=Failed to start database server
start_ecannot=You are not allowed to start the database server

ddrop_err=Failed to drop database
ddrop_title=Drop Database
ddrop_rusure=Are you sure you want to drop the database $1 ? $2 tables containing $3 rows of data will be deleted.
ddrop_mysql=Because this is the master database, dropping it will probably make your PostgreSQL server unusable!
ddrop_ok=Drop database

tdrop_err=Failed to drop table
tdrop_title=Drop Table
tdrop_rusure=Are you sure you want to drop the table $1 in database $2 ? $3 rows of data will be deleted.
tdrop_ok=Drop table

view_title=Table Data
view_pos=Rows $1 to $2 of $3
view_none=This table contains no data
view_edit=Edit selected rows
view_new=Add row
view_delete=Delete selected rows
view_nokey=Data in this table cannot be edited because it has no primary key.
view_all=Select all
view_invert=Invert selection

newdb_title=Create Database
newdb_header=New database options
newdb_db=Database name
newdb_path=Database file path
newdb_err=Failed to create database
newdb_edb=Missing or invalid database name
newdb_ecannot=You are not allowed to create databases
newdb_epath=Missing database path

user_title=PostgreSQL Users
user_ecannot=You are not allowed to edit users
user_name=Username
user_db=Can create databases?
user_other=Can create users?
user_until=Valid until
user_add=Create a new user
user_forever=Forever
user_pass=Requires password?
user_edit=Edit User
user_create=Create User
user_return=user list
user_header=PostgreSQL user details
user_passwd=Password
user_none=None
user_err=Failed to save user
user_epass=Missing or invalid password
user_ename=Missing or invalid username

host_ecannot=You are not allowed to edit allowed hosts
host_title=Allowed Hosts
host_desc=When a client connects to the database, hosts listed below are processed in order until one matches and the client is allowed or denied.
host_local=Local connection
host_address=Host address
host_db=Database
host_auth=Authentication mode
host_any=Any network host
host_all=All databases
host_same=Same as username
host_add=Create a new allowed host
host_ident=Check <tt>ident</tt> server on host
host_trust=No authentication required
host_reject=Reject connection
host_password=Plaintext password
host_crypt=Encrypted password
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=Use password file
host_identarg=Use user map
host_create=Create Allowed Host
host_edit=Edit Allowed Host
host_single=Single host
host_network=Network
host_netmask=Netmask
host_return=host access list
host_err=Failed to save allowed host
host_eident=Missing or invalid user map
host_epassword=Missing or invalid password file
host_enetmask=Missing or invalid netmask
host_enetwork=Missing or invalid network
host_ehost=Missing or invalid host IP address
host_move=Move

grant_title=Granted Privileges
grant_tvi=Object
grant_type=Type
grant_db=Database
grant_public=Everyone
grant_group=Group $1
grant_add=Add grant in database :
grant_return=privileges list
grant_ecannot=You are not allowed to edit privileges
grant_create=Create Grant
grant_edit=Edit Grant
grant_header=Privileges granted to users
grant_to=Grant privileges on
grant_table=Table
grant_view=View or index
grant_users=Grant privileges to
grant_user=User
grant_what=Privileges
grant_r=Table
grant_v=View
grant_i=Index
grant_S=Sequence
grant_none=No tables, views, sequences or indexes exist to grant privileges on.

group_title=PostgreSQL Groups
group_ecannot=You are not allowed to edit groups
group_name=Group name
group_id=Group ID
group_mems=Members
group_add=Create a new group
group_edit=Edit Group
group_create=Create Group
group_header=PostgreSQL group details
group_return=groups list
group_err=Failed to save group
group_ename=Missing or invalid group name
group_egid=Missing or invalid group ID
group_etaken=Group name is already in use
group_none=No PostgreSQL groups currently exist

esql=SQL $1 failed : $2

log_start=Started PostgreSQL server
log_stop=Stopped PostgreSQL server
log_db_create=Created database $1
log_db_delete=Dropped database $1
log_table_create=Created table $1 in database $2
log_table_delete=Dropped table $1 from database $2
log_field_create=Added field $1 $4 to $2 in database $3
log_field_modify=Modified field $1 $4 in $2 in database $3
log_field_delete=Deleted field $1 from $2 in database $3
log_data_create=Added row to table $2 in database $3
log_data_modify=Modified $1 rows in table $2 in database $3
log_data_delete=Deleted $1 rows from table $2 in database $3
log_exec=Executed SQL in database $1
log_exec_l=Executed SQL command $2 in database $1
log_create_user=Created user $1
log_delete_user=Deleted user $1
log_modify_user=Modified user $1
log_create_group=Created group $1
log_delete_group=Deleted group $1
log_modify_group=Modified group $1
log_create_local=Created allowed local connection
log_modify_local=Modified allowed local connection
log_delete_local=Deleted allowed local connection
log_move_local=Moved allowed local connection
log_create_all=Created any allowed host
log_modify_all=Modified any allowed host
log_delete_all=Deleted any allowed host
log_move_all=Moved any allowed host
log_create_hba=Created allowed host $1
log_modify_hba=Modified allowed host $1
log_delete_hba=Deleted allowed host $1
log_move_hba=Moved allowed host $1
log_grant=Granted privileges on $1 in database $2

acl_dbs=Databases this user can manage
acl_dbscannot=This access control will become effective, after starting the PostgreSQL database server.
acl_dall=All databases
acl_dsel=Selected..
acl_create=Can create new databases?
acl_delete=Can drop databases?
acl_stop=Can stop and start the PostgreSQL server?
acl_users=Can edit users, groups and grants?

fdrop_err=Error during field drop
fdrop_header=Drop This One
fdrop_lose_data=Select box to confirm that you understand that definitions, such as indexes and default values, on all fields may be lost.
fdrop_perform=Drop Field
fdrop_title=Drop Field

   07070100067af6000081a40000000000000002000000013d1fe2de00002882000000200000000000000000000000000000001900000003reloc/postgresql/lang/es  index_title=Servidor de Base de Datos PostgreSQL
index_notrun=PostgreSQL no se está ejecutando en tu sistema - la lista de bases de datos no pudo ser recuperada.
index_start=Arrancar Servidor PostgreSQL
index_startmsg=Haz click en este botón para arrancar el servidor de base de datos PostgreSQL en tu sistema con el comando <br>$1<br>. Este módulo de Webmin no puede administrar la base de datos hasta que esté arrancada.
index_nopass=Webmin necesita saber tu login de administración de PostgreSQL y tu clave de acceso con el fin de gestionar tu base de datos. Por favor, digita debajo tu nombre de usuario de administración y la clave de acceso.
index_ltitle=Login a PostgreSQL
index_login=Login
index_pass=Clave de acceso
index_clear=Limpiar
index_stop=Parar Servidor PostgreSQL
index_stopmsg=Haz click en este botón para parar el servidor de base de datos PostgreSQL de tu sistema. Esto prevendrá que cualquier usuario o programa acceda a la base de datos, incluyendo a este módulo de Webmin.
index_dbs=Bases de Datos PostgreSQL
index_add=Crear una nueva base de datos
index_users=Opciones de Usuario
index_return=lista de base de datos
index_esql=El programa cliente de PostgreSQL $1 no ha sido encontrado en tu sistema. Quizás PostgreSQL no está instalada o tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_ehba=El archivo de configuración de máquina de PostgreSQL $1 no ha sido encontrado en tu sistema. Quizás PostgreSQL no ha sido inicializada o tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_eversion=La base de datos PostgreSQL de tu sistema es de la versión $1, pero Webmin sólamente soporta las versiones $2 y superiores.
index_elibrary=El programa cliente $1 de PostgreSQL no pudo ser ejecutado porque no se pudo hallar las bibliotecas compartidas de Postgres. Revisa la <a href='$2'>configuración del módulo</a> y segúrate de que la <i>Trayectoria a las bibliotecas compartidas de PostgreSQL</i> está bién puesta.

login_err=Falló el login
login_ecannot=No estás autorizado a configurar el login a la base de datos
login_elogin=Login de administración sin poner
login_epass=Nombre de usuario o clave de acceso de administración incorrectos

dbase_title=Editar Base de Datos
dbase_tables=Tablas de Base de Datos
dbase_add=Crear una nueva tabla
dbase_drop=Eliminar Base de Datos
dbase_exec=Ejecutar SQL
dbase_none=Esta base de datos no tiene tablas.
dbase_fields=Campos:
dbase_return=lista de tablas
dbase_ecannot=No estás autorizado a editar esta base de datos

table_title=Editar Tabla
table_title2=Crear Tabla
table_opts=Opciones de campo
table_header=Tabla $1 en base de datos $2
table_field=Nombre de campo
table_type=Tipo
table_null=¿Permitir nulos?
table_arr=¿Arreglo?
table_none=Ninguno
table_add=Añadir tipo de campo:
table_return=lista de campos
table_data=Ver Datos
table_drop=Eliminar Tabla
table_name=Nombre de Tabla
table_initial=Campos iniciales
table_header2=Opciones de nueva tabla
table_err=No pude crear tabla
table_ename=Nombre de tabla inválido o sin poner
table_efield='$1' no es un nombre de campo válido
table_etype=Tipo sin poner para campo $1
table_esize=Medida de tipo sin poner para campo $1
table_enone=No se han digitado campos iniciales

field_title1=Añadir Campo
field_title2=Modificar Campo
field_in=En tabla $1 en base de datos $2
field_header=Parámetros de Campo
field_name=Nombre de campo
field_type=Tipo de datos
field_size=Ancho de tipo
field_none=Ninguno
field_null=¿Permito nulos?
field_arr=¿Campo de arreglo?
field_key=¿Clave primaria?
field_uniq=¿Única?
field_err=No pude salvar campo
field_esize='$1' no es una medida válida de campo
field_eenum=No se han digitado valores enumerados
field_efield='$1' no es un nombre válido de campo
field_ekey=Los campos que permiten nulos no pueden formar parte de la clave primaria

exec_title=Ejecutar SQL
exec_header=Digita comando SQL a ejecutar en base de datos $1...
exec_exec=Ejecutar
exec_err=No pude ejecutar SQL
exec_out=Salida del comando SQL $1...
exec_none=No se ha devuelto dato alguno

stop_err=No pude para el servidor de base de datos
stop_epidfile=No pude abrir el archivo PID $1
stop_ekill=No pude matar el proceso $1: $2
start_err=No pude arrancar el servidor de base de datos

ddrop_err=No pude eliminar la base de datos
ddrop_title=Eliminar Base de Datos
ddrop_rusure=¿Estás seguro de querer eliminar la base de datos $1?. $2 tablas conteniendo $3 filas de datos serán borradas.
ddrop_mysql=A causa de que ésta es la base de datos maestra, ¡eliminarla haría probáblemente que tu servidor PostgreSQL quedara inservible!
ddrop_ok=Eliminar Base de Datos

tdrop_err=No pude eliminar tabla
tdrop_title=Eliminar Tabla
tdrop_rusure=¿Estás seguro de querer eliminar la tabla $1 en la base de datos $2?. $3 filas de datos serán borradas.
tdrop_ok=Eliminar Tabla

view_title=Datos de Tabla
view_pos=Filas $1 a $2 de $3
view_none=Esta tabla no contiene dato alguno
view_edit=Editar filas seleccionadas
view_new=Añadir fila
view_delete=Borrar filas seleccionadas
view_nokey=Los datos de esta tabla no pueden ser editados ya que no tiene clave primaria.
view_all=Seleccionar todo
view_invert=Invertir selección

newdb_title=Crear Base de Datos
newdb_header=Nuevas opciones de Base de Datos
newdb_db=Nombre de base de datos
newdb_path=Trayectoria de archivo de base de datos
newdb_err=No pude crear base de datos
newdb_edb=Nombre de base de datos inválido o sin poner
newdb_ecannot=No estás autorizado a crear bases de datos
newdb_epath=Trayectoria de base de datos sin poner

user_title=Usuarios de PostgreSQL
user_ecannot=No estás autorizado a editar usuarios
user_name=Nombre de usuario
user_db=¿Puedo crear bases de datos?
user_other=¿Puedo crear usuarios?
user_until=Válido hasta
user_add=Crear un nuevo usuario
user_forever=Para siempre
user_pass=¿Requiere clave de acceso?
user_edit=Editar Usuario
user_create=Crear Usuario
user_return=lista de usuarios
user_header=Detalles de usuario de PostgreSQL
user_passwd=Clave de acceso
user_none=Ninguna
user_err=No pude salvar usuario
user_epass=Clave de acceso inválida o sin poner
user_ename=Nombre de usuario inválido o sin poner

host_ecannot=No estás autorizado a editar máquinas autorizadas
host_title=Máquinas Autorizadas
host_local=Conexión local
host_address=Dirección de máquina
host_db=Base de datos
host_auth=Modo de autenticación
host_any=Cualquier máquina de red
host_all=Todas las bases de datos
host_same=Igual al nombre de usuario
host_add=Crear una nueva máquina autorizada
host_ident=Revisar servidor de <tt>identificación</tt> en máquina
host_trust=No se requiere autenticación
host_reject=Rechazar conexión
host_password=Clave de acceso de texto
host_crypt=Clave de acceso encriptada
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=Usar archivo de clave de acceso
host_identarg=Usar mapa de usuario
host_create=Crear Máquina Autorizada
host_edit=Editar Máquina Autorizada
host_single=Máquina única
host_network=Red
host_netmask=Máscara de red
host_return=lista de acceso a máquina
host_err=No pude salvar máquina autorizada
host_eident=Mapa de usuario inválido o sin poner
host_epassword=Archivo de claves de acceso inválido o sin poner
host_enetmask=Máscara de red inválida o sin poner
host_enetwork=Red inválida o sin poner
host_ehost=Dirección IP de máquina inválida o sin poner

grant_title=Privilegios garantizados
grant_tvi=Objeto
grant_type=Tipo
grant_db=Base de Datos
grant_public=Todo el mundo
grant_group=Grupo $1
grant_add=Añadir garantía en base de datos:
grant_return=lista de privilegios
grant_ecannot=No estás autorizado a editar privilegios
grant_create=Crear Garantía
grant_edit=Editar Garantía
grant_header=Privilegios garantizados a usuarios
grant_to=Garantizar privilegios sobre
grant_table=Tabla
grant_view=Vista o índice
grant_users=Garantizar privilegios a
grant_user=Usuario
grant_what=Privilegios
grant_r=Tabla
grant_v=Vista
grant_i=Índice
grant_S=Secuencia
grant_none=No existen tablas, vistas, secuencias o índices a los que garantizarles privilegios.

group_title=Grupos de PostgreSQL
group_ecannot=No estás autorizado a editar grupos
group_name=Nombre de grupo
group_id=ID de Grupo
group_mems=Miembros
group_add=Crear un nuevo grupo
group_edit=Editar Grupo
group_create=Crear Grupo
group_header=Detalles de grupo de PostgreSQL
group_return=lista de grupos
group_err=No pude salvar grupo
group_ename=Nombre de grupo inválido o sin poner
group_egid=ID de grupo inválida o sin poner
group_etaken=El nombre de grupo ya está en uso
group_none=No existen actuálmente grupos de PostgreSQL

esql=SQL $1 falló: $2

log_start=Arrancado servidor de PostgreSQL
log_stop=parado servidor de PostgreSQL
log_db_create=Creada base de datos $1
log_db_delete=Eliminada base de datos $1
log_table_create=Creada tabla $1 en base de datos $2
log_table_delete=Eliminada tabla $1 de la base de datos $2
log_field_create=Añadido campo $1 $3 a $2 en base de datos $3
log_field_modify=Modificado campo $1 $4 en $2 en base de datos $3
log_field_delete=Borrado campo $1 de $2 en base de datos $3
log_data_create=Añadida fila a tabla $2 en base de datos $3
log_data_modify=Modificadas $1 filas en tabla $2 en base de datos $3
log_data_delete=Borradas $1 filas de la tabla $2 en base de datos $3
log_exec=Ejecutado SQL en base de datos $1
log_exec_l=Ejecutado comando SQL $2 en base de datos $1
log_create_user=Creado usuario $1
log_delete_user=Borrado usuario $1
log_modify_user=Modificado usuario $1
log_create_group=Creado grupo $1
log_delete_group=Borrado grupo $1
log_modify_group=Modificado grupo $1
log_create_local=Creada conexión local autorizada
log_modify_local=Modificada conexión local autorizada
log_delete_local=Borrada conexión local autorizada
log_create_all=Creada máquina autorizada a cualquiera
log_modify_all=Modificada máquina autorizada a cualquiera
log_delete_all=Borrada máquina autorizada a cualquiera
log_create_hba=Creada máquina autorizada $1
log_modify_hba=Modificada máquina autorizada $1
log_delete_hba=Borrada máquina autorizada $1
log_grant=Garantizados privilegios sobre $1 en base de datos $2

acl_dbs=Bases de datos que este usuario puede gestionar
acl_dall=Todas las bases de datos
acl_dsel=Las seleccionadas...
acl_create=¿Puede crear nuevas bases de datos?
acl_delete=¿Puede eliminar bases de datos?
acl_stop=¿Puede parar y arrancar el servidor PostgreSQL?
acl_users=¿Puede editar usuarios, grupos y garantías?

  07070100067af7000081a40000000000000002000000013d1fe2de00002837000000200000000000000000000000000000001900000003reloc/postgresql/lang/it  index_title=PostgreSQL Database Server
index_notrun=PostgreSQL in questo momento e' inattivo - non posso ottenere la lista dei database.
index_start=Attivazione del Sever PostgreSQL
index_startmsg=Clicca su questo pulsante per avviare il server PostgreSQL sul tuo sistema con il seguente comando :<br>$1<br>. Questo modulo di Webmin non puo' agire sul database finche' questo non e' avviato
index_nopass=Webmin deve conoscere il nome utente e la password dell' amministratore del server PostgreSQL per poter operare sul database. Per favore inserisci il nome utente e la password nei campi sottostanti
index_ltitle=Autenticazione su PostgreSQL
index_login=Nome utente
index_pass=Password
index_clear=Cancella
index_stop=Disattiva il Server PostgreSQL
index_stopmsg=Click this button to stop the PostgreSQL database server on your system. This will prevent any users or programs from accessing the database, including this Webmin module.
index_dbs=PostgreSQL Databases
index_add=Create a new database
index_users=User Options
index_return=database list
index_esql=The PostgreSQL client program $1 was not found on your system. Maybe PostgreSQL is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_ehba=The PostgreSQL host configuration file $1 was not found on your system. Maybe PostgreSQL has not been initialised, or your <a href='$2'>module configuration</a> is incorrect.
index_superuser=The PostgreSQL client program psql could not execute on your system. Maybe PostgreSQL is not installed, or your <a href='$1'>module configuration</a> is incorrect.
index_eversion=The PostgreSQL database on your system is version $1, but Webmin only supports versions $2 and above.
index_elibrary=The PostgreSQL client program $1 could not be run because it could not find the Postgres shared libraries. Check the <a href='$2'>module configuration</a> and make sure the <i>Path to PostgreSQL shared libraries</i> is set.

login_err=Autenticazione non riuscita
login_ecannot=Non hai i permessi per configurare il tipo di autenticazione di PostgreSQL
login_elogin=Manca la login dell' amministratore
login_epass=Nome o Password dell' amministratore sbagliati

dbase_title=Modifica il Database
dbase_tables=Tabelle del database
dbase_add=Crea una nuova tabella
dbase_drop=Cancella un Database
dbase_exec=Esegui SQL
dbase_none=Questo database non ha alcuna tabella
dbase_fields=Campi:
dbase_return=lista tabelle
dbase_ecannot=Non hai i permessi per modificare questo database

table_title=Modifica Tabella
table_title2=Crea Tabella
table_opts=Opzioni campi
table_header=Tabella $1 del database $2
table_field=Nome campo
table_type=Tipo
table_null=Permetti valore nullo?
table_arr=Array?
table_none=Nulla
table_add=Aggiungi campo di tipo
table_return=lista campi
table_data=Vedi dati
table_drop=Distruggi Tabella
table_name=Nome Tabella
table_initial=Campi iniziali
table_header2=Opzioni nuova tabella
table_err=Creazione nuova tabella fallita
table_ename=Nome della tabella mancante o non valido
table_efield='$1' non e' un nome di campo valido
table_etype=Manca il tipo per il campo $1
table_esize=Manca la dimensione del campo $1
table_enone=Non sono stati inseriti i campi iniziali

field_title1=Aggiungi un Campo
field_title2=Modifica un Campo
field_in=Nella tabella $1 del database $2
field_header=Parametri del Campo
field_name=Nome del Campo
field_type=Tipo del Dato
field_size=dimensione del Dato
field_none=Nulla
field_null=Permetti valore nullo?
field_arr=Campo Array?
field_key=Chiave Primaria
field_uniq=Unico?
field_err=Salvataggio campo fallita
field_esize='$1' non e' un valore valido per la dimensione del campo
field_eenum=Non e' stata inserita una lista di valori
field_efield='$1' non e' un nome di campo valido
field_ekey=Un campo che ammette valore nullo non puo' essere parte di una Chiave Primaria

exec_title=Esecuzione SQL
exec_header=Inserisci il comando SQL da eseguire sul database $1 ..
exec_exec=Esecuzione
exec_err=Esecuzione SQL della tabella
exec_out=Risultato del comando SQL $1 ..
exec_none=Non e' stato restituito alcun valore

stop_err=Disattivazione del server fallita
stop_epidfile=Lettura del file PID $1 fallita
stop_ekill=Fallimento nella terminazione del processo $1 : $2
stop_ecannot=Non hai i permessi per disattivare il server
start_err=Fallimento nell' avvio del serve
start_ecannot=Non hai i permesi per avviare il server

ddrop_err=Cancellazione del database fallita
ddrop_title=Distruzione del database
ddrop_rusure=Sei sicuro di voler cancellare il database $1 ? Ci sono $2 tabelle contenenti $3 righe di dati che verranno cancellate
ddrop_mysql=Poiche' questo e' il database iniziale, la sua cancellazione probabilmente rendera' il server database inutilizzabile!
ddrop_ok=Cancella il database

tdrop_err=Distruzione della tabella fallita
tdrop_title=Distruzione tabella
tdrop_rusure=Sei sicuro di voler distruggere la tabella $1 del database $2 ? Saranno cancellate $3 righe di dati
tdrop_ok=Distruggi la Tabella

view_title=Dati tabella
view_pos=Righe da $1 a $2 di $3
view_none=Questa tabella non contiene alcun dato
view_edit=Modifica le righe selezionate
view_new=Aggiungi riga
view_delete=Cancella le righe selezionate
view_nokey=I dati in questa tabella non possono essere modificati perche' la tabella non ha una chiave primaria
view_all=Seleziona tutto
view_invert=Inverti la selezione

newdb_title=Crea un Database
newdb_header=Opzioni per il nuovo database
newdb_db=Nome del database
newdb_path=Percorso al file del database
newdb_err=Creazione del database fallita
newdb_edb=Nome del database mancante o non valido
newdb_ecannot=Non hai i permessi per creare un database
newdb_epath=Percorso al database mancante

user_title=Utente PostgreSQL
user_ecannot=Non hai i permessi per modificare gli utenti
user_name=Nome utente
user_db=Puo' creare database?
user_other=Puo' creare utenti?
user_until=Valido fin a
user_add=Crea nuovo utente
user_forever=Per sempre
user_pass=E' necessaria una password?
user_edit=Modifica utente
user_create=Crea utente
user_return=lista utenti
user_header=Dettaglio utenti di PostgreSQL
user_passwd=Password
user_none=Nulla
user_err=Salvataggio dei dati dell' utente fallito
user_epass=Password mancante o non valida
user_ename=Nome Utente mancante o non valido

host_ecannot=You are not allowed to edit allowed hosts
host_title=Allowed Hosts
host_local=Local connection
host_address=Host address
host_db=Database
host_auth=Authentication mode
host_any=Any network host
host_all=All databases
host_same=Same as username
host_add=Create a new allowed host
host_ident=Check <tt>ident</tt> server on host
host_trust=No authentication required
host_reject=Reject connection
host_password=Plaintext password
host_crypt=Encrypted password
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=Use password file
host_identarg=Use user map
host_create=Create Allowed Host
host_edit=Edit Allowed Host
host_single=Single host
host_network=Network
host_netmask=Netmask
host_return=host access list
host_err=Failed to save allowed host
host_eident=Missing or invalid user map
host_epassword=Missing or invalid password file
host_enetmask=Missing or invalid netmask
host_enetwork=Missing or invalid network
host_ehost=Missing or invalid host IP address

grant_title=Granted Privileges
grant_tvi=Object
grant_type=Type
grant_db=Database
grant_public=Everyone
grant_group=Group $1
grant_add=Add grant in database :
grant_return=privileges list
grant_ecannot=You are not allowed to edit privileges
grant_create=Create Grant
grant_edit=Edit Grant
grant_header=Privileges granted to users
grant_to=Grant privileges on
grant_table=Table
grant_view=View or index
grant_users=Grant privileges to
grant_user=User
grant_what=Privileges
grant_r=Table
grant_v=View
grant_i=Index
grant_S=Sequence
grant_none=No tables, views, sequences or indexes exist to grant privileges on.

group_title=PostgreSQL Groups
group_ecannot=You are not allowed to edit groups
group_name=Group name
group_id=Group ID
group_mems=Members
group_add=Create a new group
group_edit=Edit Group
group_create=Create Group
group_header=PostgreSQL group details
group_return=groups list
group_err=Failed to save group
group_ename=Missing or invalid group name
group_egid=Missing or invalid group ID
group_etaken=Group name is already in use
group_none=No PostgreSQL groups currently exist

esql=SQL $1 fallito : $2

log_start=Il server PostgreSQL e' stato attivato
log_stop=Il server PostgreSQL e' stato disattivato
log_db_create=Creato il database $1
log_db_delete=Cancellato il database $1
log_table_create=Creata la tabella $1 nel database $2
log_table_delete=Cancellata la tabella $1 dal database $2
log_field_create=Aggiunto il campo $1 $4 alla tabella $2 nel database $3
log_field_modify=Modificato il campo $1 $4 nella tabella $2 del database $3
log_field_delete=Cancellato il campo $1 dalla tabella $2 del database $3
log_data_create=Aggiunta riga alla tabella $2 del database $3
log_data_modify=Modificate $1 righe della tabella $2 nel database $3
log_data_delete=Cancellate $1 righe della tabella $2 nel database $3
log_exec=Eseguito SQL sul database $1
log_exec_l=Eseguito comando SQL $2 sul database $1
log_create_user=Creato utente $1
log_delete_user=Cancellato utente $1
log_modify_user=Modificato utente $1
log_create_group=Il Gruppo $1 e' stato creato
log_delete_group=Il Gruppo $1 e' stato cancellato
log_modify_group=Il Gruppo $1 e' stato modificato
log_create_local=Connessioni locali stabilite
log_modify_local=Connessioni locali modificate
log_delete_local=Connessioni locali chiuse
log_create_all=Creati tutti gli host permessi
log_modify_all=Modificati tutti gli host permessi
log_delete_all=CAncellati tutti gli host permessi
log_create_hba=Creato l' host $1
log_modify_hba=Modificato l' host $1
log_delete_hba=Cancellato l' host $1
log_grant=Assegnati i privilegi su $1 per il database $2

acl_dbs=L' utente non puo' amministarare questo database
acl_dbscannot=Questo controllo sull' accesso diventera' effettivo dopo l' attivazione del server
acl_dall=Tutti i database
acl_dsel=Selezionati...
acl_create=Posso creare il nuovo database?
acl_delete=Posso cancellare il database?
acl_stop=Posso disattivare e riattivare il server PostgreSQL?
acl_users=Posso modificare gli Utenti, i Gruppi ed i loro Privilegi?

 07070100067af8000081a40000000000000002000000013d1fe2de000025c6000000200000000000000000000000000000002000000003reloc/postgresql/lang/ja_JP.euc   index_title=PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
index_notrun=PostgreSQL ¤¬¥·¥¹¥Æ¥à¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó - ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ê¥¹¥È¤Ï¸¡º÷¤Ç¤­¤Þ¤»¤ó¡£
index_start=PostgreSQL ¥µ¡¼¥Ð¤Îµ¯Æ°
index_startmsg=PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤ò¥·¥¹¥Æ¥à¾å¤Ç¥³¥Þ¥ó¥É<br>$1<br>¤ò»È¤Ã¤Æµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î Webmin ¥â¥¸¥å¡¼¥ë¤Ï¤½¤Î¥µ¡¼¥Ð¤¬µ¯Æ°¤¹¤ë¤Þ¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò´ÉÍý¤Ç¤­¤Þ¤»¤ó¡£
index_nopass=Webmin ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò´ÉÍý¤¹¤ë¤Î¤Ë PostgreSQL ´ÉÍý¥í¥°¥¤¥ó¤È¥Ñ¥¹¥ï¡¼¥É¤òÉ¬Í×¤È¤·¤Þ¤¹¡£´ÉÍý¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ò²¼¤ËÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£
index_ltitle=PostgreSQL ¥í¥°¥¤¥ó
index_login=¥í¥°¥¤¥ó
index_pass=¥Ñ¥¹¥ï¡¼¥É
index_clear=¥¯¥ê¥¢
index_stop=PostgreSQL ¥µ¡¼¥Ð¤ÎÄä»ß
index_stopmsg=¥·¥¹¥Æ¥à¤ÎPostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤òÄä»ß¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¤³¤ÎWebmin ¥â¥¸¥å¡¼¥ë¤ò´Þ¤à¥æ¡¼¥¶¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£
index_dbs=PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹
index_add=¿·µ¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®
index_users=¥æ¡¼¥¶ ¥ª¥×¥·¥ç¥ó
index_return=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ê¥¹¥È
index_esql=PostgreSQL ¥¯¥é¥¤¥¢¥ó¥È ¥×¥í¥°¥é¥à $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£PostgreSQL ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_ehba=PostgreSQL ¥Û¥¹¥ÈÀßÄê ¥Õ¥¡¥¤¥ë $1 ¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£PostgreSQL ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_superuser=psql¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£PostgreSQL ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$1'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eversion=¥·¥¹¥Æ¥à¤Î PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¥Ð¡¼¥¸¥ç¥ó $1 ¤Ç¤¹¤¬¡¢Webmin ¤Ï¥Ð¡¼¥¸¥ç¥ó $2 °Ê¹ß¤Î¤ß¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£

login_err=¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
login_ecannot=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥í¥°¥¤¥ó¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó
login_elogin=´ÉÍý¥í¥°¥¤¥ó¤¬¤¢¤ê¤Þ¤»¤ó
login_epass=´ÉÍý¥æ¡¼¥¶Ì¾¤Þ¤¿¤Ï¥Ñ¥¹¥ï¡¼¥É¤¬ÉÔÀµ¤Ç¤¹

dbase_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÔ½¸
dbase_tables=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥Æ¡¼¥Ö¥ë
dbase_add=¿·µ¬¤Î¥Æ¡¼¥Ö¥ë¤òºîÀ®
dbase_drop=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü
dbase_exec=SQL ¤ò¼Â¹Ô
dbase_none=¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¥Æ¡¼¥Ö¥ë¤¬¤¢¤ê¤Þ¤»¤ó¡£
dbase_fields=¥Õ¥£¡¼¥ë¥É:
dbase_return=¥Æ¡¼¥Ö¥ë ¥ê¥¹¥È
dbase_ecannot=¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

table_title=¥Æ¡¼¥Ö¥ë¤ÎÊÔ½¸
table_title2=¥Æ¡¼¥Ö¥ë¤ÎºîÀ®
table_opts=¥Õ¥£¡¼¥ë¥É ¥ª¥×¥·¥ç¥ó
table_header=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 Æâ¤Î¥Æ¡¼¥Ö¥ë $1 
table_field=¥Õ¥£¡¼¥ë¥ÉÌ¾
table_type=¼ïÎà
table_null=NULL¤òµö²Ä¤·¤Þ¤¹¤«¡©
table_arr=ÇÛÎó¤Ë¤·¤Þ¤¹¤«¡©
table_none=¤Ê¤·
table_add=¼ïÎà¤Î¥Õ¥£¡¼¥ë¥É¤òÄÉ²Ã:
table_return=¥Õ¥£¡¼¥ë¥É ¥ê¥¹¥È
table_data=¥Ç¡¼¥¿¤òÉ½¼¨
table_drop=¥Æ¡¼¥Ö¥ë¤Îºï½ü
table_name=¥Æ¡¼¥Ö¥ëÌ¾
table_initial=½é´ü¥Õ¥£¡¼¥ë¥É
table_header2=¿·µ¬¥Æ¡¼¥Ö¥ë ¥ª¥×¥·¥ç¥ó
table_err=¥Æ¡¼¥Ö¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
table_ename=¥Æ¡¼¥Ö¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
table_efield='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥ÉÌ¾¤Ç¤¹
table_etype=¥Õ¥£¡¼¥ë¥É $1 ¤Î¼ïÎà¤¬¤¢¤ê¤Þ¤»¤ó
table_esize=¥Õ¥£¡¼¥ë¥É $1 ¤Î¼ïÎà¤Î¥µ¥¤¥º¤¬¤¢¤ê¤Þ¤»¤ó¡£
table_enone=½é´ü¥Õ¥£¡¼¥ë¥É¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

field_title1=¥Õ¥£¡¼¥ë¥É¤ÎÄÉ²Ã
field_title2=¥Õ¥£¡¼¥ë¥É¤ÎÊÑ¹¹
field_in=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2Æâ¤Î¥Æ¡¼¥Ö¥ë $1 Ãæ
field_header=¥Õ¥£¡¼¥ë¥É ¥Ñ¥é¥á¡¼¥¿
field_name=¥Õ¥£¡¼¥ë¥ÉÌ¾
field_type=¥Ç¡¼¥¿¤Î¼ïÎà
field_size=¼ïÎà¤ÎÉý
field_none=¤Ê¤·
field_null=NULL¤òµö²Ä¤·¤Þ¤¹¤«¡©
field_arr=¥Õ¥£¡¼¥ë¥É¤òÇÛÎó¤·¤Þ¤¹¤«¡©
field_key=¼ç¥­¡¼¤Ë¤·¤Þ¤¹¤«¡©
field_uniq=¸ÇÍ­¤Ë¤·¤Þ¤¹¤«¡©
field_err=¥Õ¥£¡¼¥ë¥É¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
field_esize='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥É ¥µ¥¤¥º¤Ç¤¹
field_eenum=Îóµó·¿¤ÎÃÍ¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
field_efield='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥£¡¼¥ë¥ÉÌ¾¤Ç¤¹
field_ekey=NULL¤òµö²Ä¤¹¤ë¥Õ¥£¡¼¥ë¥É¤Ï¼ç¥­¡¼¤Î°ìÉô¤Ë¤Ç¤­¤Þ¤»¤ó

exec_title=SQL ¤Î¼Â¹Ô
exec_header=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç¼Â¹Ô¤¹¤ë SQL ¥³¥Þ¥ó¥É¤òÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤..
exec_exec=¼Â¹Ô
exec_err=SQL ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
exec_out=SQL ¥³¥Þ¥ó¥É $1¤«¤é¤Î½ÐÎÏ..
exec_none=ÊÖ¤µ¤ì¤¿¥Ç¡¼¥¿¤Ï¤¢¤ê¤Þ¤»¤ó

stop_err=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
stop_epidfile=PID ¥Õ¥¡¥¤¥ë $1 ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿
stop_ekill=¥×¥í¥»¥¹ $1 ¤ò kill ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
start_err=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

ddrop_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ddrop_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü
ddrop_rusure=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©$3 ¹Ô¤Î¥Ç¡¼¥¿¤ò´Þ¤à$2 ¥Æ¡¼¥Ö¥ë¤Ïºï½ü¤µ¤ì¤Þ¤¹¡£
ddrop_mysql=¤³¤ì¤Ï¥Þ¥¹¥¿¡¼ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ê¤Î¤Ç¡¢ºï½ü¤¹¤ë¤È PostgreSQL ¥µ¡¼¥Ð¤¬ÉÔ°ÂÄê¤Ë¤Ê¤ê¤Þ¤¹¡£
ddrop_ok=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îºï½ü

tdrop_err=¥Æ¡¼¥Ö¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
tdrop_title=¥Æ¡¼¥Ö¥ë¤Îºï½ü
tdrop_rusure=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2Æâ¤Î¥Æ¡¼¥Ö¥ë $1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©$3 ¹Ô¤Î¥Ç¡¼¥¿¤¬ºï½ü¤µ¤ì¤Þ¤¹¡£
tdrop_ok=¥Æ¡¼¥Ö¥ë¤Îºï½ü

view_title=¥Æ¡¼¥Ö¥ë ¥Ç¡¼¥¿
view_pos=$3¤Î¹Ô $1 ¤«¤é $2 
view_none=¤³¤Î¥Æ¡¼¥Ö¥ë¤Ï¥Ç¡¼¥¿¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó
view_edit=ÁªÂò¤µ¤ì¤¿¹Ô¤òÊÔ½¸
view_new=¹Ô¤òÄÉ²Ã
view_delete=ÁªÂò¤µ¤ì¤¿¹Ô¤òºï½ü
view_nokey=¤³¤Î¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿¤Ë¤Ï¼ç¥­¡¼¤¬¤Ê¤¤¤¿¤áÊÔ½¸¤Ç¤­¤Þ¤»¤ó
view_all=¤¹¤Ù¤ÆÁªÂò
view_invert=ÁªÂò¤ÎÈ¿Å¾

newdb_title=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎºîÀ®
newdb_header=¿·µ¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥ª¥×¥·¥ç¥ó
newdb_db=¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾
newdb_path=¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹
newdb_err=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
newdb_edb=¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
newdb_ecannot=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
newdb_epath=¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥Ñ¥¹¤¬¤¢¤ê¤Þ¤»¤ó

user_title=PostgreSQL ¥æ¡¼¥¶
user_ecannot=¥æ¡¼¥¶¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
user_name=¥æ¡¼¥¶Ì¾
user_db=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
user_other=¥æ¡¼¥¶¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
user_until=Í­¸ú´ü¸Â
user_add=¿·µ¬¥æ¡¼¥¶¤òºîÀ®
user_forever=¹±µ×
user_pass=¥Ñ¥¹¥ï¡¼¥É¤òÉ¬Í×¤È¤·¤Þ¤¹¤«¡©
user_edit=¥æ¡¼¥¶¤ÎÊÔ½¸
user_create=¥æ¡¼¥¶¤ÎºîÀ®
user_return=¥æ¡¼¥¶ ¥ê¥¹¥È
user_header=PostgreSQL ¥æ¡¼¥¶¤Î¾ÜºÙ
user_passwd=¥Ñ¥¹¥ï¡¼¥É
user_none=¤Ê¤·
user_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
user_epass=¥Ñ¥¹¥ï¡¼¥É¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
user_ename=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

host_ecannot=¥Û¥¹¥È¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
host_title=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È
host_local=¥í¡¼¥«¥ëÀÜÂ³
host_address=¥Û¥¹¥È ¥¢¥É¥ì¥¹
host_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
host_auth=Ç§¾Ú¥â¡¼¥É
host_any=Ç¤°Õ¤Î¥Í¥Ã¥È¥ï¡¼¥¯ ¥Û¥¹¥È
host_all=¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
host_same=¥æ¡¼¥¶Ì¾¤ÈÆ±¤¸
host_add=¿·µ¬¤Îµö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òºîÀ®
host_ident=¥Û¥¹¥È¤Ç<tt>ident</tt> ¥µ¡¼¥Ð¤ò¸¡ºº
host_trust=Ç§¾Ú¤ÏÉÔÍ×¤Ç¤¹
host_reject=ÀÜÂ³¤òµñÈÝ
host_password=Plaintext (Ê¿Ê¸) ¥Ñ¥¹¥ï¡¼¥É
host_crypt=°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=¥Ñ¥¹¥ï¡¼¥É ¥Õ¥¡¥¤¥ë¤ò»ÈÍÑ
host_identarg=¥æ¡¼¥¶ ¥Þ¥Ã¥×¤ò»ÈÍÑ
host_create=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òºîÀ®
host_edit=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òÊÔ½¸
host_single=Ã±°ì¥Û¥¹¥È
host_network=¥Í¥Ã¥È¥ï¡¼¥¯
host_netmask=¥Í¥Ã¥È¥Þ¥¹¥¯
host_return=¥Û¥¹¥È¤Î¥¢¥¯¥»¥¹ ¥ê¥¹¥È
host_err=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
host_eident=¥æ¡¼¥¶ ¥Þ¥Ã¥×¤¬Â¸ºß¤·¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
host_epassword=¥Ñ¥¹¥ï¡¼¥É ¥Õ¥¡¥¤¥ë¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
host_enetmask=¥Í¥Ã¥È¥Þ¥¹¥¯¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
host_enetwork=¥Í¥Ã¥È¥ï¡¼¥¯¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
host_ehost=¥Û¥¹¥È IP ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

grant_title=Ç§²Ä¤µ¤ì¤¿¸¢¸Â
grant_tvi=¥ª¥Ö¥¸¥§¥¯¥È
grant_type=¼ïÎà
grant_db=¥Ç¡¼¥¿¥Ù¡¼¥¹
grant_public=Á´°÷
grant_group=¥°¥ë¡¼¥× $1
grant_add=¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÇ§²Ä¤òÄÉ²Ã:
grant_return=¸¢¸Â¤Î¥ê¥¹¥È
grant_ecannot=¸¢¸Â¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
grant_create=Ç§²Ä¤ÎºîÀ®
grant_edit=Ç§²Ä¤ÎÊÔ½¸
grant_header=¥æ¡¼¥¶¤ËÇ§²Ä¤µ¤ì¤¿¸¢¸Â
grant_to=Ç§²Ä¤µ¤ì¤¿¸¢¸Â
grant_table=¥Æ¡¼¥Ö¥ë
grant_view=É½¼¨¤Þ¤¿¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹
grant_users=Ç§²Ä¤µ¤ì¤¿¸¢¸Â
grant_user=¥æ¡¼¥¶
grant_what=¸¢¸Â
grant_r=¥Æ¡¼¥Ö¥ë
grant_v=É½¼¨
grant_i=¥¤¥ó¥Ç¥Ã¥¯¥¹
grant_S=¥·¡¼¥±¥ó¥¹
grant_none=Ç§¤á¤é¤ì¤¿µö²Ä¤Ë¤Ï¥Æ¡¼¥Ö¥ë¡¢É½¼¨¡¢¥·¡¼¥±¥ó¥¹¤Þ¤¿¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬Â¸ºß¤·¤Þ¤»¤ó¡£

group_title=PostgreSQL ¥°¥ë¡¼¥×
group_ecannot=¥°¥ë¡¼¥×¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
group_name=¥°¥ë¡¼¥×Ì¾
group_id=¥°¥ë¡¼¥× ID
group_mems=¥á¥ó¥Ð¡¼
group_add=¿·µ¬¤Î¥°¥ë¡¼¥×¤òºîÀ®
group_edit=¥°¥ë¡¼¥×¤ÎÊÔ½¸
group_create=¥°¥ë¡¼¥×¤ÎºîÀ®
group_header=PostgreSQL ¥°¥ë¡¼¥×¤Î¾ÜºÙ
group_return=¥°¥ë¡¼¥× ¥ê¥¹¥È
group_err=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
group_ename=¥°¥ë¡¼¥×Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
group_egid=¥°¥ë¡¼¥× ID ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
group_etaken=¥°¥ë¡¼¥×Ì¾¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
group_none=PostgreSQL ¥°¥ë¡¼¥×¤Ï¸½ºßÂ¸ºß¤·¤Þ¤»¤ó

esql=SQL $1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2

log_start=PostgreSQL ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_stop=PostgreSQL ¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤·¤¿
log_db_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_db_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_table_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 Æâ¤Ë¥Æ¡¼¥Ö¥ë $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_table_delete=¥Æ¡¼¥Ö¥ë $1 ¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤«¤éºï½ü¤·¤Þ¤·¤¿
log_field_create=¥Õ¥£¡¼¥ë¥É $1 $4 ¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î $2 ¤ËÄÉ²Ã¤·¤Þ¤·¤¿
log_field_modify=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3¤Î$2 Æâ¤Ë¤¢¤ë¥Õ¥£¡¼¥ë¥É $1 $4 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_field_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î$2¤«¤é¥Õ¥£¡¼¥ë¥É $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_data_create=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤Ë¹Ô¤òÄÉ²Ã¤·¤Þ¤·¤¿
log_data_modify=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤Ë¤¢¤ë¥Õ¥£¡¼¥ë¥É $1 ¹Ô ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_data_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹ $3 Æâ¤Î¥Æ¡¼¥Ö¥ë $2¤«¤é¥Õ¥£¡¼¥ë¥É $1 ¹Ô ¤òºï½ü¤·¤Þ¤·¤¿
log_exec=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç SQL ¤ò¼Â¹Ô¤·¤Þ¤·¤¿
log_exec_l=SQL ¥³¥Þ¥ó¥É $2¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç¼Â¹Ô¤·¤Þ¤·¤¿
log_create_user=¥æ¡¼¥¶ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_user=¥æ¡¼¥¶ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_user=¥æ¡¼¥¶ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_group=¥°¥ë¡¼¥× $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_group=¥°¥ë¡¼¥× $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_modify_group=¥°¥ë¡¼¥× $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create_local=µö²Ä¤µ¤ì¤¿¥í¡¼¥«¥ëÀÜÂ³¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_local=µö²Ä¤µ¤ì¤¿¥í¡¼¥«¥ëÀÜÂ³¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_local=µö²Ä¤µ¤ì¤¿¥í¡¼¥«¥ëÀÜÂ³¤òºï½ü¤·¤Þ¤·¤¿
log_create_all=Ç¤°Õ¤Îµö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_all=Ç¤°Õ¤Îµö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_all=Ç¤°Õ¤Îµö²Ä¤µ¤ì¤¿¥Û¥¹¥È¤òºï½ü¤·¤Þ¤·¤¿
log_create_hba=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_hba=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_hba=µö²Ä¤µ¤ì¤¿¥Û¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_grant=¥Ç¡¼¥¿¥Ù¡¼¥¹ $2¤Î$1¤Ë¸¢¸Â¤òÇ§²Ä¤·¤Þ¤·¤¿

acl_dbs=¤³¤Î¥æ¡¼¥¶¤¬´ÉÍý¤Ç¤­¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹
acl_dbscannot=¤³¤Î¹àÌÜ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤òµ¯Æ°¸å¤ËÁªÂò²ÄÇ½¤È¤Ê¤ê¤Þ¤¹
acl_dall=¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹
acl_dsel=ÁªÂò..
acl_create=¿·µ¬¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_delete=¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_stop=PostgreSQL ¥µ¡¼¥Ð¤òÄä»ß¤ª¤è¤Óµ¯Æ°²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_users=¥æ¡¼¥¶¡¢¥°¥ë¡¼¥×¤ª¤è¤ÓÇ§²Ä¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©

  07070100067af9000081a40000000000000002000000013d1fe2de00002150000000200000000000000000000000000000002000000003reloc/postgresql/lang/ko_KR.euc   index_title=PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
index_notrun=½Ã½ºÅÛÀÇ: PostgreSQLÀÌ ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. µ¥ÀÌÅÍº£ÀÌ½º ¸ñ·ÏÀ» °Ë»öÇÒ ¼ö ¾ø½À´Ï´Ù.
index_start=PostgreSQL ¼­¹ö ½ÃÀÛ
index_startmsg=<br>$1</br> ¸í·ÉÀ» »ç¿ëÇÏ¿© ½Ã½ºÅÛÀÇ PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.ÀÌ Webmin ¸ðµâÀ» ½ÃÀÛÇØ¾ß¸¸ µ¥ÀÌÅÍº£ÀÌ½º¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_nopass=Webmin¿¡ PostgreSQL °ü¸® ·Î±×ÀÎ°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇØ¾ß µ¥ÀÌÅÍº£ÀÌ½º¸¦ °ü¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡¿¡ °ü¸® »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.
index_ltitle=PostgreSQL ·Î±×ÀÎ
index_login=·Î±×ÀÎ
index_pass=ÆÐ½º¿öµå
index_clear=Áö¿ì±â
index_stop=PostgreSQL ¼­¹ö ÁßÁö
index_stopmsg=½Ã½ºÅÛÀÇ PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ÁßÁöÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ÀÌ·¸°Ô ÇÏ¸é ÀÓÀÇÀÇ »ç¿ëÀÚ ¶Ç´Â ÇÁ·Î±×·¥ÀÌ ÀÌ Webmin ¸ðµâÀ» Æ÷ÇÔÇÑ µ¥ÀÌÅÍº£ÀÌ½º¿¡ ¾×¼¼½ºÇÏ´Â °ÍÀÌ ¹æÁöµË´Ï´Ù.
index_dbs=PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º
index_add=»õ µ¥ÀÌÅÍº£ÀÌ½º ÀÛ¼º
index_users=»ç¿ëÀÚ ¿É¼Ç
index_return=µ¥ÀÌÅÍº£ÀÌ½º ¸ñ·Ï
index_esql=½Ã½ºÅÛ¿¡ PostgreSQL Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ $1ÀÌ(°¡)¾ø½À´Ï´Ù. PostgreSQLÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_ehba=½Ã½ºÅÛ¿¡ PostgreSQL È£½ºÆ® ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. PostgreSQLÀÌ ÃÊ±âÈ­µÇÁö ¾Ê¾Ò°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eversion=½Ã½ºÅÛÀÇ PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¹öÀüÀº $1ÀÌÁö¸¸, Webmin¿¡¼­´Â ¹öÀü $2 ÀÌ»ó¸¸ Áö¿øÇÕ´Ï´Ù.

login_err=·Î±×ÀÎ ½ÇÆÐ
login_ecannot=µ¥ÀÌÅÍº£ÀÌ½º ·Î±×ÀÎÀ» ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
login_elogin=¾ø´Â °ü¸® ·Î±×ÀÎ
login_epass=Àß¸øµÈ °ü¸® »ç¿ëÀÚ ÀÌ¸§ ¶Ç´Â ÆÐ½º¿öµå

dbase_title=µ¥ÀÌÅÍº£ÀÌ½º ÆíÁý
dbase_tables=µ¥ÀÌÅÍº£ÀÌ½º Å×ÀÌºí
dbase_add=»õ Å×ÀÌºí ÀÛ¼º
dbase_drop=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦
dbase_exec=SQL ½ÇÇà
dbase_none=ÀÌ µ¥ÀÌÅÍº£ÀÌ½º¿¡´Â Å×ÀÌºíÀÌ ¾ø½À´Ï´Ù.
dbase_fields=ÇÊµå:
dbase_return=Å×ÀÌºí ¸ñ·Ï
dbase_ecannot=ÀÌ µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

table_title=Å×ÀÌºí ÆíÁý
table_title2=Å×ÀÌºí ÀÛ¼º
table_opts=ÇÊµå ¿É¼Ç
table_header=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1
table_field=ÇÊµå ÀÌ¸§
table_type=À¯Çü
table_null=³ÎÀ» Çã¿ëÇÕ´Ï±î?
table_arr=¹è¿­ÇÕ´Ï±î?
table_none=¾øÀ½
table_add=´ÙÀ½ À¯ÇüÀÇ ÇÊµå Ãß°¡:
table_return=ÇÊµå ¸ñ·Ï
table_data=µ¥ÀÌÅÍ º¸±â
table_drop=Å×ÀÌºí »èÁ¦
table_name=Å×ÀÌºí ÀÌ¸§
table_initial=ÃÊ±â ÇÊµå
table_header2=»õ Å×ÀÌºí ¿É¼Ç
table_err=Å×ÀÌºíÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
table_ename=¾ø°Å³ª Àß¸øµÈ Å×ÀÌºí ÀÌ¸§
table_efield='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
table_etype=ÇÊµå $1¿¡ ´ëÇÑ ¾ø´Â À¯Çü
table_esize=ÇÊµå $1¿¡ ´ëÇÑ ¾ø´Â À¯Çü Å©±â
table_enone=ÃÊ±â ÇÊµå¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù

field_title1=ÇÊµå Ãß°¡
field_title2=ÇÊµå ¼öÁ¤
field_in=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1
field_header=ÇÊµå ¸Å°³ º¯¼ö
field_name=ÇÊµå ÀÌ¸§
field_type=µ¥ÀÌÅÍ À¯Çü
field_size=À¯Çü ³Êºñ
field_none=¾øÀ½
field_null=³ÎÀ» Çã¿ëÇÕ´Ï±î?
field_arr=ÇÊµå¸¦ ¹è¿­ÇÕ´Ï±î?
field_key=ÁÖ Å°ÀÔ´Ï±î?
field_uniq=°íÀ¯ÇÕ´Ï±î?
field_err=ÇÊµå¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
field_esize='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå Å©±â°¡ ¾Æ´Õ´Ï´Ù
field_eenum=ÀÔ·ÂµÈ ¿­°Å °ªÀÌ ¾ø½À´Ï´Ù
field_efield='$1'Àº(´Â) À¯È¿ÇÑ ÇÊµå ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
field_ekey=³ÎÀ» Çã¿ëÇÏ´Â ÇÊµå´Â ÁÖ Å°ÀÇ ÀÏºÎÀÏ ¼ö ¾ø½À´Ï´Ù

exec_title=SQL ½ÇÇà
exec_header=µ¥ÀÌÅÍº£ÀÌ½º $1¿¡¼­ ½ÇÇàÇÏ·Á¸é SQL ¸í·ÉÀ» ÀÔ·ÂÇÏ½Ê½Ã¿À..
exec_exec=½ÇÇà
exec_err=SQLÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù
exec_out=SQL ¸í·É $1ÀÇ °á°ú ..
exec_none=¹ÝÈ¯µÈ µ¥ÀÌÅÍ°¡ ¾ø½À´Ï´Ù

stop_err=µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù
stop_epidfile=PID ÆÄÀÏ $1À»(¸¦) ¿­Áö ¸øÇß½À´Ï´Ù
stop_ekill=ÇÁ·Î¼¼½º $1À»(¸¦) killÇÏÁö ¸øÇß½À´Ï´Ù: $2
start_err=µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù

ddrop_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
ddrop_title=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦
ddrop_rusure=µ¥ÀÌÅÍº£ÀÌ½º $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? µ¥ÀÌÅÍÀÇ $3 ÇàÀ» Æ÷ÇÔÇÏ´Â $2 Å×ÀÌºíÀÌ »èÁ¦µË´Ï´Ù.
ddrop_mysql=ÀÌ µ¥ÀÌÅÍº£ÀÌ½º´Â ¸¶½ºÅÍ µ¥ÀÌÅÍº£ÀÌ½ºÀÌ¹Ç·Î »èÁ¦ÇÒ °æ¿ì PostgreSQL ¼­¹ö¸¦ »ç¿ëÇÏÁö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù!
ddrop_ok=µ¥ÀÌÅÍº£ÀÌ½º »èÁ¦

tdrop_err=Å×ÀÌºíÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
tdrop_title=Å×ÀÌºí »èÁ¦
tdrop_rusure=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? µ¥ÀÌÅÍÀÇ $3 ÇàÀÌ »èÁ¦µË´Ï´Ù.
tdrop_ok=Å×ÀÌºí »èÁ¦

view_title=Å×ÀÌºí µ¥ÀÌÅÍ
view_pos=$3ÀÇ $1-$2 Çà
view_none=ÀÌ Å×ÀÌºí¿¡ µ¥ÀÌÅÍ°¡ ¾ø½À´Ï´Ù
view_edit=¼±ÅÃÇÑ Çà ÆíÁý
view_new=Çà Ãß°¡
view_delete=¼±ÅÃÇÑ Çà »èÁ¦
view_nokey=ÁÖ Å°°¡ ¾ø±â ¶§¹®¿¡ ÀÌ Å×ÀÌºíÀÇ µ¥ÀÌÅÍ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
view_all=¸ðµÎ ¼±ÅÃ
view_invert=¹Ý´ë·Î ¼±ÅÃ

newdb_title=µ¥ÀÌÅÍº£ÀÌ½º ÀÛ¼º
newdb_header=»õ µ¥ÀÌÅÍº£ÀÌ½º ¿É¼Ç
newdb_db=µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§
newdb_path=µ¥ÀÌÅÍº£ÀÌ½º ÆÄÀÏ °æ·Î
newdb_err=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
newdb_edb=¾ø°Å³ª Àß¸øµÈ µ¥ÀÌÅÍº£ÀÌ½º ÀÌ¸§
newdb_ecannot=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
newdb_epath=¾ø´Â µ¥ÀÌÅÍº£ÀÌ½º °æ·Î

user_title=PostgreSQL »ç¿ëÀÚ
user_ecannot=»ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
user_name=»ç¿ëÀÚ ÀÌ¸§
user_db=µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
user_other=»ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
user_until=À¯È¿ ±â°£
user_add=»õ »ç¿ëÀÚ ÀÛ¼º
user_forever=°è¼Ó
user_pass=ÆÐ½º¿öµå°¡ ÇÊ¿äÇÕ´Ï±î?
user_edit=»ç¿ëÀÚ ÆíÁý
user_create=»ç¿ëÀÚ ÀÛ¼º
user_return=»ç¿ëÀÚ ¸ñ·Ï
user_header=PostgreSQL »ç¿ëÀÚ Á¤º¸
user_passwd=ÆÐ½º¿öµå
user_none=¾øÀ½
user_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
user_epass=¾ø°Å³ª Àß¸øµÈ ÆÐ½º¿öµå
user_ename=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§

host_ecannot=Çã¿ëµÈ È£½ºÆ®¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
host_title=Çã¿ëµÈ È£½ºÆ®
host_local=·ÎÄÃ ¿¬°á
host_address=È£½ºÆ® ÁÖ¼Ò
host_db=µ¥ÀÌÅÍº£ÀÌ½º
host_auth=ÀÎÁõ ¸ðµå
host_any=ÀÓÀÇÀÇ ³×Æ®¿öÅ© È£½ºÆ®
host_all=¸ðµç µ¥ÀÌÅÍº£ÀÌ½º
host_same=»ç¿ëÀÚ ÀÌ¸§°ú µ¿ÀÏ
host_add=»õ Çã¿ëµÈ È£½ºÆ® ÀÛ¼º
host_ident=È£½ºÆ®ÀÇ <tt>ident</tt> ¼­¹ö °Ë»ç
host_trust=ÀÎÁõ ÇÊ¿ä ¾øÀ½
host_reject=¿¬°á °ÅºÎ
host_password=ÀÏ¹Ý ÅØ½ºÆ® ÆÐ½º¿öµå
host_crypt=¾ÏÈ£È­µÈ ÆÐ½º¿öµå
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=ÆÐ½º¿öµå ÆÄÀÏ »ç¿ë
host_identarg=»ç¿ëÀÚ ¸Ê »ç¿ë
host_create=Çã¿ëµÈ È£½ºÆ® ÀÛ¼º
host_edit=Çã¿ëµÈ È£½ºÆ® ÆíÁý
host_single=´ÜÀÏ È£½ºÆ®
host_network=³×Æ®¿öÅ©
host_netmask=³Ý¸¶½ºÅ©
host_return=È£½ºÆ® ¾×¼¼½º ¸ñ·Ï
host_err=Çã¿ëµÈ È£½ºÆ®¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
host_eident=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ¸Ê
host_epassword=¾ø°Å³ª Àß¸øµÈ ÆÐ½º¿öµå ÆÄÀÏ
host_enetmask=¾ø°Å³ª Àß¸øµÈ ³Ý¸¶½ºÅ©
host_enetwork=¾ø°Å³ª Àß¸øµÈ ³×Æ®¿öÅ©
host_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® IP ÁÖ¼Ò

grant_title=ºÎ¿©µÈ ±ÇÇÑ
grant_tvi=°³Ã¼
grant_type=À¯Çü
grant_db=µ¥ÀÌÅÍº£ÀÌ½º
grant_public=¸ðµç »ç¿ëÀÚ
grant_group=±×·ì $1
grant_add=µ¥ÀÌÅÍº£ÀÌ½º¿¡¼­ ºÎ¿© Ãß°¡:
grant_return=±ÇÇÑ ¸ñ·Ï
grant_ecannot=±ÇÇÑÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
grant_create=ºÎ¿© ÀÛ¼º
grant_edit=ºÎ¿© ÆíÁý
grant_header=»ç¿ëÀÚ¿¡°Ô ºÎ¿©µÈ ±ÇÇÑ
grant_to=±ÇÇÑ ºÎ¿©
grant_table=Å×ÀÌºí
grant_view=º¸±â ¶Ç´Â ÀÎµ¦½º
grant_users=±ÇÇÑ ºÎ¿© ´ë»ó
grant_user=»ç¿ëÀÚ
grant_what=±ÇÇÑ
grant_r=Å×ÀÌºí
grant_v=º¸±â
grant_i=ÀÎµ¦½º
grant_S=½ÃÄö½º
grant_none=±ÇÇÑÀ» ºÎ¿©ÇÒ Å×ÀÌºí, º¸±â, ½ÃÄö½º ¶Ç´Â ÀÎµ¦½º°¡ ¾ø½À´Ï´Ù.

group_title=PostgreSQL ±×·ì
group_ecannot=±×·ìÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
group_name=±×·ì ÀÌ¸§
group_id=±×·ì ID
group_mems=±¸¼º¿ø
group_add=»õ ±×·ì ÀÛ¼º
group_edit=±×·ì ÆíÁý
group_create=±×·ì ÀÛ¼º
group_header=PostgreSQL ±×·ì Á¤º¸
group_return=±×·ì ¸ñ·Ï
group_err=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
group_ename=¾ø°Å³ª Àß¸øµÈ ±×·ì ÀÌ¸§
group_egid=¾ø°Å³ª Àß¸øµÈ ±×·ì ID
group_etaken=ÀÌ¹Ì »ç¿ë ÁßÀÎ ±×·ì ÀÌ¸§
group_none=PostgreSQL ±×·ìÀÌ ÇöÀç ¾ø½À´Ï´Ù

esql=SQL $1 ½ÇÆÐ: $2

log_start=PostgreSQL ¼­¹ö ½ÃÀÛµÊ
log_stop=PostgreSQL ¼­¹ö ÁßÁöµÊ
log_db_create=µ¥ÀÌÅÍº£ÀÌ½º $1 ÀÛ¼ºµÊ
log_db_delete=µ¥ÀÌÅÍº£ÀÌ½º $1 »èÁ¦µÊ
log_table_create=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ Å×ÀÌºí $1 ÀÛ¼ºµÊ
log_table_delete=µ¥ÀÌÅÍº£ÀÌ½º $2¿¡¼­ Å×ÀÌºí $1 »èÁ¦µÊ
log_field_create=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ $2¿¡ ÇÊµå $1 $4 Ãß°¡µÊ
log_field_modify=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ $2¿¡ ÀÖ´Â ÇÊµå $1 $4 ¼öÁ¤µÊ
log_field_delete=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ $2¿¡¼­ ÇÊµå $1 »èÁ¦µÊ
log_data_create=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡ Çà Ãß°¡µÊ
log_data_modify=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡ ÀÖ´Â $1 Çà ¼öÁ¤µÊ
log_data_delete=µ¥ÀÌÅÍº£ÀÌ½º $3ÀÇ Å×ÀÌºí $2¿¡ ÀÖ´Â $1 Çà »èÁ¦µÊ
log_exec=µ¥ÀÌÅÍº£ÀÌ½º $1ÀÇ SQL ½ÇÇàµÊ
log_exec_l=µ¥ÀÌÅÍº£ÀÌ½º $1ÀÇ SQL ¸í·É $2 ½ÇÇàµÊ
log_create_user=»ç¿ëÀÚ $1 ÀÛ¼ºµÊ
log_delete_user=»ç¿ëÀÚ $1 »èÁ¦µÊ
log_modify_user=»ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_create_group=±×·ì $1 ÀÛ¼ºµÊ
log_delete_group=±×·ì $1 »èÁ¦µÊ
log_modify_group=±×·ì $1 ¼öÁ¤µÊ
log_create_local=Çã¿ëµÈ ·ÎÄÃ ¿¬°á ÀÛ¼ºµÊ
log_modify_local=Çã¿ëµÈ ·ÎÄÃ ¿¬°á ¼öÁ¤µÊ
log_delete_local=Çã¿ëµÈ ·ÎÄÃ ¿¬°á »èÁ¦µÊ
log_create_all=Çã¿ëµÈ È£½ºÆ® ÀÛ¼ºµÊ
log_modify_all=Çã¿ëµÈ È£½ºÆ® ¼öÁ¤µÊ
log_delete_all=Çã¿ëµÈ È£½ºÆ® »èÁ¦µÊ
log_create_hba=Çã¿ëµÈ $1 ÀÛ¼ºµÊ
log_modify_hba=Çã¿ëµÈ È£½ºÆ® $1 ¼öÁ¤µÊ
log_delete_hba=Çã¿ëµÈ È£½ºÆ® $1 »èÁ¦µÊ
log_grant=µ¥ÀÌÅÍº£ÀÌ½º $2ÀÇ $1¿¡ ´ëÇÑ ±ÇÇÑ ºÎ¿©µÊ

acl_dbs=ÀÌ »ç¿ëÀÚ°¡ °ü¸®ÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍº£ÀÌ½º
acl_dall=¸ðµç µ¥ÀÌÅÍº£ÀÌ½º
acl_dsel=¼±ÅÃÇÑ µ¥ÀÌÅÍº£ÀÌ½º..
acl_create=»õ µ¥ÀÌÅÍº£ÀÌ½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_delete=µ¥ÀÌÅÍº£ÀÌ½º¸¦ »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_stop=PostgreSQL ¼­¹ö¸¦ ÁßÁö ¹× ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï±î?
acl_users=»ç¿ëÀÚ, ±×·ì ¹× ºÎ¿©¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?

07070100067afa000081a40000000000000002000000013d1fe2de000028be000000200000000000000000000000000000001900000003reloc/postgresql/lang/pl  index_title=Serwer baz danych PostgreSQL
index_notrun=W&nbsp;systemie nie dzia³a PostgreSQL - nie mo¿na pobraæ listy baz danych.
index_start=Uruchom serwer PostgreSQL
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer baz danych PostgreSQL w&nbsp;Twoim systemie poleceniem <br>$1<br>. Ten modu³ Webmina nie bêdzie potrafi³ zarz±dzaæ bazammi danych dopóki nie uruchomisz serwera.
index_nopass=Webmin musi znaæ Twój administracyjny login i&nbsp;has³o, aby zarz±dzaæ bazami danych. Wprowad¼ poni¿ej nazwê u¿ytkownika administruj±cego oraz jego has³o.
index_ltitle=Login dla PostgreSQLa
index_login=Login
index_pass=Has³o
index_clear=Wyczy¶æ
index_stop=Zatrzymaj serwer PostgreSQL
index_stopmsg=Naci¶nij ten przycisk, aby zatrzymaæ serwer baz danych PostgreSQL w&nbsp;Twoim systemie. Uniemo¿liwi to wszystkim u¿ytkownikom i&nbsp;programom, w³±cznie z&nbsp;niniejszym modu³em Webmina, dostêp do baz danych.
index_dbs=Bazy danych PostgreSQLa
index_add=Utwórz now± bazê danych
index_users=Opcje u¿ytkownika
index_return=listy baz danych
index_esql=Nie znaleziono w&nbsp;systemie programu klienta PostgreSQLa $1. Byæ mo¿e nie zainstalowano PostgreSQLa lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_ehba=Nie znaleziono w&nbsp;systemie pliku konfiguracyjnego hostów PostgreSQLa $1. Byæ mo¿e nie zainicjalizowano PostgreSQLa lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_superuser=Nie mo¿na uruchomiæ programu klienta PostgreSQLa psql. Byæ mo¿e nie zainstalowano PostgreSQLa lub Twoja <a href='$1'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eversion=Baza danych PostgreSQLa w&nbsp;systemie ma wersjê $1, a&nbsp;Webmin obs³uguje jedynie wersje $2 i&nbsp;wy¿sze.
index_elibrary=Nie mo¿na uruchomiæ programu klienta PostgreSQL $1, gdy¿ nie mo¿e on znale¼æ bibliotek wspo³dzielonych Postgresa. Sprawd¿ <a href='$2'>konfiguracjê modu³u</a> i&nbsp;upewnij siê, ¿e <i>¦cie¿ka do katalogu bibliotek wspó³dzielonych PostgreSQL</i> jest ustawiona.

login_err=Nie uda³o siê zalogowaæ
login_ecannot=Nie masz uprawnieñ do konfigurowania logowania do bazy danych
login_elogin=Nie podano nazwy administratora bazy
login_epass=Niepoprawna nazwa administratora bazy lub jego has³o

dbase_title=Zmieñ bazê danych
dbase_tables=Tabele bazy danych
dbase_add=Utwórz now± tabelê
dbase_drop=Usuñ bazê danych
dbase_exec=Wykonaj SQL
dbase_none=Baza danych nie zawiera ¿adnej tabeli.
dbase_fields=Pola:
dbase_return=listy tabel
dbase_ecannot=Nie masz uprawnieñ do zmiany tej bazy danych

table_title=Zmieñ tabelê
table_title2=Utwórz tabelê
table_opts=Opcje pól
table_header=Tabela $1 w&nbsp;bazie danych $2
table_field=Nazwa pola
table_type=Typ
table_null=Dozwolony brak warto¶ci?
table_arr=Tablica?
table_none=Brak
table_add=Dodaj pole typu:
table_return=listy pól
table_data=Poka¿ dane
table_drop=Usuñ tabelê
table_name=Nazwa tabeli
table_initial=Pola inicjalne
table_header2=Opcje nowych tabel
table_err=Nie uda³o siê utworzyæ tabeli
table_ename=Nie podana lub niepoprawna nazwa tabeli
table_efield='$1' nie jest poprawn± nazw± pola
table_etype=Nie podano typu pola $1
table_esize=Nie podano rozmiaru pola $1
table_enone=Nie podano pol inicjalnych

field_title1=Dodaj pole
field_title2=Zmieñ pole
field_in=W&nbsp;tabeli $1 bazy danych $2
field_header=Prametry pola
field_name=Nazwa pola
field_type=Typ danych
field_size=Rozmiar pola
field_none=Brak
field_null=Dozwolony brak warto¶ci?
field_arr=Pole tablicowe?
field_key=Klucz g³ówny?
field_uniq=Unikalny?
field_err=Nie uda³o siê zachowaæ pola
field_esize='$1' nie jest poprawnym rozmiarem pola
field_eenum=Nie wprowadzono warto¶ci wyliczeniowej
field_efield='$1' nie jest poprawn± nazw± pola
field_ekey=Pola dopuszczaj±ce brak warto¶ci nie mog± byæ czê¶ci± klucza g³ównego

exec_title=Wykonaj SQL
exec_header=Wprowad¼ polecenie SQL-owe, które ma byæ wykonane w bazie danych $1 ..
exec_exec=Wykonaj
exec_err=Nie uda³o siê wykonaæ SQL
exec_out=Wynik polecenia SQL $1 ..
exec_none=Polecenie nic nie zwróci³o

stop_err=Nie uda³o siê zatrzymaæ serwera baz danych
stop_epidfile=Nie uda³o siê otworzyæ pliku z&nbsp;numerem PID $1
stop_ekill=Nie uda³o siê zabiæ procesu $1&nbsp;: $2
start_err=Nie uda³o siê uruchomiæ serwera baz danych

ddrop_err=Nie uda³o siê usun±æ bazy danych
ddrop_title=Usuñ bazê danych
ddrop_rusure=Czy jeste¶ pewien, ¿e chcesz usun±æ bazê danych $1&nbsp;? Zostanie skasowanych $2 tabel zawieraj±cych $3 wierszy z&nbsp;danymi.
ddrop_mysql=Prawdopodobnie uniemo¿liwi to dalsze korzystanie z&nbsp;serwera PostgreSQL, gdy¿ jest to podstawowa baza danych!
ddrop_ok=Usuñ bazê danych

tdrop_err=Nie uda³o siê usun±æ tabeli
tdrop_title=Usuñ tabelê
tdrop_rusure=Czy jeste¶ pewien, ¿e chcesz usun±æ tabelê $1 z&nbsp;bazy danych $2&nbsp;? Zostanie skasowanych $3 wierszy z&nbsp;danymi.
tdrop_ok=Usuñ tabelê

view_title=Dane w tabeli
view_pos=Wiersze tabeli $3 od $1 do $2
view_none=Ta tabela nie zawiera danych
view_edit=Modyfikuj wybrane wiersze
view_new=Dodaj wiersz
view_delete=Skasuj wybrane wiersze
view_nokey=Danych w&nbsp;tej tabeli nie mo¿na modyfikowaæ, gdy¿ nie zawiera ona klucza g³ównego.
view_all=Zaznacz wszystkie
view_invert=Odwróæ zaznaczenie

newdb_title=Utwórz bazê danych
newdb_header=Opcje nowej bazy danych
newdb_db=Nazwa bazy danych
newdb_path=¦cie¿ka do pliku bazy danych
newdb_err=Nie uda³o siê utworzyæ bazy danych
newdb_edb=Nie podana lub niepoprawna nazwa bazy danych
newdb_ecannot=Nie masz uprawnieñ do tworzenia baz danych
newdb_epath=Nie podano ¶cie¿ki do bazy danych

user_title=U¿ytkownicy PostgreSQLa
user_ecannot=Nie masz uprawnieñ do zmiany u¿ytkowników
user_name=Nazwa u¿ytkownika
user_db=Mo¿e tworzyæ bazy danych?
user_other=Mo¿e tworzyæ u¿ytkowników?
user_until=Wa¿ny do
user_add=Utwórz nowego u¿ytkownika
user_forever=Zawsze
user_pass=Wymaga has³a?
user_edit=Zmieñ u¿ytkownika
user_create=Utwórz u¿ytkownika
user_return=listy u¿ytkowników
user_header=Dane u¿ytkownika PostgreSQLa
user_passwd=Has³o
user_none=Brak
user_err=Nie uda³o siê zachowaæ u¿ytkownika
user_epass=Nie podane lub niepoprawne has³o
user_ename=Nie podana lub niepoprawna nazwa u¿ytkownika

host_ecannot=Nie masz uprawnieñ do zmiany dozwolonych hostów
host_title=Dozwolone hosty
host_local=Lokalne po³±czenie
host_address=Adres hosta
host_db=Baza danych
host_auth=Tryb autoryzacji
host_any=Dowolny host w&nbsp;sieci
host_all=Wszystkie bazy danych
host_same=Takie samo jak nazwa u¿ytkownika
host_add=Utwórz nowy dozwolony host
host_ident=Sprawdzaj serwer <tt>ident</tt>a na ho¶cie
host_trust=Autoryzacja nie wymagana
host_reject=Odrzuæ po³±czenie
host_password=Has³o otwartym tekstem
host_crypt=Has³o zaszyfrowane
host_krb4=V4 Kerberosa
host_krb5=V5 Kerberosa
host_passwordarg=Korzystaj z&nbsp;pliku hase³
host_identarg=Stosuj odwzorowanie u¿ytkowników
host_create=Utwórz dozwolony host
host_edit=Zmieñ dozwolony host
host_single=Pojedyñczy host
host_network=Sieæ
host_netmask=Maska sieci
host_return=listy dostêpu do hostów
host_err=Nie uda³o siê zachowaæ dozwolonego hosta
host_eident=Nie podane lub niepoprawne odwzorowanie u¿ytkowników
host_epassword=Nie podany lub niepoprawny plik hase³
host_enetmask=Nie podana lub niepoprawna maska sieci
host_enetwork=Nie podana lub niepoprawna sieæ
host_ehost=Nie podany lub niepoprawny adres IP hosta

grant_title=Nadane uprawnienia
grant_tvi=Obiekt
grant_type=Typ
grant_db=Baza danych
grant_public=Wszyscy
grant_group=Grupa $1
grant_add=Dodaj prawo dostêpu w&nbap;bazie danych&nbsp;:
grant_return=listy uprawnieñ
grant_ecannot=Nie masz prawa do zmiany uprawnieñ
grant_create=Nadaj prawo dostêpu
grant_edit=Zmieñ prawo dostêpu
grant_header=Uprawnienia nadane u¿ytkownikom
grant_to=Nadaj uprawnienia do
grant_table=Tabeli
grant_view=Widoku lub indeksu
grant_users=Nadaj uprawnienia dla
grant_user=U¿ytkownika
grant_what=Uprawnienia
grant_r=Tabela
grant_v=Widok
grant_i=Indeks
grant_S=Ci±g
grant_none=Brak tabel, widoków, ci±gów i&nbsp;indeksów, w&nbsp;których mo¿na nadaæ uprawnienia.

group_title=Grupy PostgreSQLa
group_ecannot=Nie masz uprawnieñ do zmiany grup
group_name=Nazwa grupy
group_id=Nr ID grupy
group_mems=Cz³onkowie
group_add=Utwórz now± grupê
group_edit=Zmieñ grupê
group_create=Utwórz grupê
group_header=Dane grupy PostgreSQLa
group_return=listy grup
group_err=Nie uda³o siê zachowaæ grupy
group_ename=Nie podana lub niepoprawna nazwa grupy
group_egid=Nie podany lub niepoprawny nr ID grupy
group_etaken=Ta nazwa grupy jest ju¿ u¿ywana
group_none=Nie istnieje ¿adna grupa PostgreSQLa

esql=Wykonanie SQL $1 nie powiod³o siê&nbsp;: $2

log_start=Uruchomiono serwer PostgreSQL
log_stop=Zatrzymano serwer PostgreSQL
log_db_create=Utworzono bazê danych $1
log_db_delete=Usuniêto bazê danych $1
log_table_create=Utworzono tabelê $1 w&nbsp;bazie danych $2
log_table_delete=Usuniêto tabelê $1 z&nbsp;bazy danych $2
log_field_create=Dodano pole $1 $4 do $2 w&nbsp;bazie danych $3
log_field_modify=Zmieniono pole $1 $4 w&nbsp;$2 w&nbsp;bazie danych $3
log_field_delete=Usuniêto pole $1 z&nbsp;$2 w&nbsp;bazie danych $3
log_data_create=Dodano wiersz do tabeli $2 w&nbsp;bazie danych $3
log_data_modify=Zmieniono $1 wierszy w&nbsp;tabeli $2 w&nbsp;bazie danych $3
log_data_delete=Usuniêto $1 wierszy z&nbsp;tabeli $2 w&nbsp;bazie danych $3
log_exec=Wykonano SQL w&nbsp;bazie danych $1
log_exec_l=Wykonano polecenie SQL $2 w&nbsp;bazie danych $1
log_create_user=Utworzono u¿ytkownika $1
log_delete_user=Usuniêto u¿ytkownika $1
log_modify_user=Zmieniono u¿ytkownika $1
log_create_group=Utworzono grupe $1
log_delete_group=Usuniêto grupê $1
log_modify_group=Zmieniono grupê $1
log_create_local=Utworzono dozwolone po³±czenie lokalne
log_modify_local=Zmieniono dozwolone po³±czenie lokalne
log_delete_local=Usuniêto dozwolone po³±czenie lokalne
log_create_all=Utworzono pewien dozwolony host
log_modify_all=Zmieniono pewien dozwolony host
log_delete_all=Usuniêto pewien dozwolony host
log_create_hba=Utworzono dozwolony host $1
log_modify_hba=Zmieniono dozwolony host $1
log_delete_hba=Usuniêto dozwolony host $1
log_grant=Zapewniono uprawnienia do $1 w&nbsp;bazie danych $2

acl_dbs=Bazy danych, którymi ten u¿ytkownik mo¿e zarz±dzaæ
acl_dbscannot=Ta kontrola dostêpu stanie siê bardziej efektywna po uruchomieniu serwera baz danych PostgreSQL.
acl_dall=Wszystkie
acl_dsel=Wybrane..
acl_create=Mo¿e tworzyæ nowe bazy danych?
acl_delete=Mo¿e usuwaæ bazy danych?
acl_stop=Mo¿e zatrzymywaæ i&nbsp;uruchamiaæ serwer PostgreSQL?
acl_users=Mo¿e zmieniaæ u¿ytkowników, grupy i&nbsp;prawa dostêpu?
  07070100067afb000081a40000000000000002000000013d1fe2de000024d4000000200000000000000000000000000000001900000003reloc/postgresql/lang/sv  index_title=PostgreSQL-databasserver
index_notrun=PostgreSQL körs just nu inte på systemet - databaslistan kunde inte hämtas.
index_start=Starta PostgreSQL-server
index_startmsg=Tryck på denna knapp för att starta PostgreSQL-databasservern på ditt system med kommandot <br>$1<br>Denna Webmin-modul kan inte hantera databasen förrän den har startats.
index_nopass=Webmin behöver få ditt PostgreSQL-administratörskonto och -lösenord för att kunna hantera databasen. Skriv in administratörskonto och -lösenord nedan.
index_ltitle=PostgreSQL-inloggning
index_login=Kontonamn
index_pass=Lösenord
index_clear=Rensa
index_stop=Stanna PostgreSQL-servern
index_stopmsg=Tryck på denna knapp för att stanna PostgreSQL-databasservern på ditt system. Detta hindrar användare och program i systemet från att komma åt databasen inklusive denna Webmin-modul.
index_dbs=PostgreSQL-databaser
index_add=Skapa en ny databas
index_users=Användarinställningar
index_return=databaslista
index_esql=Klientprogrammet $1 till PostgreSQL kunde inte hittas på systemet. PostgreSQL kanske inte har installerats, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.
index_ehba=Datorkonfigurationsfilen $1 för PostgreSQL kunde inte hittas på systemet. PostgreSQL kanske inte har initialiserats, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.
index_eversion=PostgreSQL-databasen på ditt system är version $1, men Webmin stödjer bara version $2 och högre.

login_err=Inloggningen misslyckades
login_ecannot=Du får inte konfigurera databasinloggningen
login_elogin=Du har inte angivit något administratörskonto
login_epass=Felaktigt administratörskonto eller -lösenord

dbase_title=Ändra databas
dbase_tables=Databastabeller
dbase_add=Lägg till en tabell
dbase_drop=Ta bort databas
dbase_exec=Utför SQL
dbase_none=Databasen har inga tabeller.
dbase_fields=Fält:
dbase_return=tabellista
dbase_ecannot=Du får inte ändra i denna databas

table_title=Ändra tabell
table_title2=Lägg till tabell
table_opts=Fältinställningar
table_header=Tabell $1 i databas $2
table_field=Fältnamn
table_type=Typ
table_null=Är tomma fält tillåtna?
table_arr=Array?
table_none=Ingen
table_add=Lägg till fält av typ:
table_return=fältlista
table_data=Visa data
table_drop=Ta bort tabell
table_name=Tabellnamn
table_initial=Startfält
table_header2=Inställningar för ny tabell
table_err=Det gick inte att lägga till tabellen
table_ename=Tabellnamn saknas eller är ogiltigt
table_efield='$1' är inte ett giltigt fältnamn
table_etype=Du har inte angivit någon typ för fältet $1
table_esize=Du har inte angivit någon typstorlek för fältet $1
table_enone=Du har inte angivit något startfält

field_title1=Lägg till fält
field_title2=Ändra fält
field_in=I tabell $1 i databas $2
field_header=Fältparametrar
field_name=Fältnamn
field_type=Datatyp
field_size=Typlängd
field_none=Ingen
field_null=Tillåta tomma fält?
field_arr=Arrayfält?
field_key=Primär nyckel?
field_uniq=Unikt?
field_err=Det gick inte att spara fältet
field_esize='$1' är inte en giltig fältstorlek
field_eenum=Du har inte angivit några uppräkningsbara värden
field_efield='$1' är inte ett giltigt fältnamn
field_ekey=Fält som får innehålla tomma värden får inte vara en del av den primära nyckeln.

exec_title=Utföra SQL-kommandon
exec_header=Skriv in det SQL-kommando som ska utföras på databas $1 ...
exec_exec=Utför
exec_err=Det gick inte att utföra SQL-kommandot
exec_out=Utdata från SQL-kommandot $1 ...
exec_none=Inga data från körningen

stop_err=Det gick inte att stanna databasservern
stop_epidfile=Det gick inte att öppna PID-filen $1
stop_ekill=Det gick inte att slå ihjäl processen $1: $2
start_err=Det gick inte att starta databasservern

ddrop_err=Det gick inte att ta bort databasen
ddrop_title=Ta bort databas
ddrop_rusure=Vill du verkligen ta bort databasen $1? $2 tabeller med $3 rader med data kommer att raderas
ddrop_mysql=MySQL-servern kommer troligen att bli oanvändbar om du tar bort denna databas, eftersom den är huvuddatabasen.
ddrop_ok=Ta bort databasen

tdrop_err=Det gick inte att ta bort tabellen
tdrop_title=Ta bort tabell
tdrop_rusure=Vill du verkligen ta bort tabellen $1 i databasen $2? $3 rader med data kommer att raderas.
tdrop_ok=Ta bort tabell

view_title=Tabelldata
view_pos=Rad $1 till $2 av $3
view_none=Denna tabell innehåller inga data
view_edit=Ändra angivna rader
view_new=Lägg till rad
view_delete=Ta bort angivna rader
view_nokey=Datauppgifter i denna tabell kan inte ändras eftersom det inte finns någon primär nyckel.
view_all=Visa alla
view_invert=Visa uteslutna

newdb_title=Ny databas
newdb_header=Inställningar för ny databas
newdb_db=Databasens namn
newdb_path=Sökväg till databasen
newdb_err=Det gick inte att skapa databasen
newdb_edb=Databasens namn saknas eller är felaktigt
newdb_ecannot=Du får inte skapa databaser
newdb_epath=Du har inte angivit någon sökväg till databasen

user_title=PostgreSQL-användare
user_ecannot=Du får inte ändra användare
user_name=Användarnamn
user_db=Kunna skapa databaser?
user_other=Kunna lägga till användare?
user_until=Giltig till
user_add=Lägg till användare
user_forever=Alltid
user_pass=Krävs lösenord?
user_edit=Ändra användare
user_create=Lägg till användare
user_return=användarlista
user_header=Uppgifter om PostgreSQL-användare
user_passwd=Lösenord
user_none=Inget
user_err=Det gick inte att spara användaren
user_epass=Lösenord saknas eller är ogiltigt
user_ename=Användarnamn saknas eller är ogiltigt

host_ecannot=Du får inte ändra tillåtna datorer
host_title=Tillåtna datorer
host_local=Lokal uppkoppling
host_address=Datoradress
host_db=Databas
host_auth=Autentiseringsmod
host_any=Valfri dator i nätverket
host_all=Alla databaser
host_same=Samma som användarnamnet
host_add=Lägg till en tillåten dator
host_ident=Kontrollera <tt>ident</tt>-servern på datorn
host_trust=Ingen autentisering krävs
host_reject=Spärra förbindelsen
host_password=Lösenord i klartext
host_crypt=Krypterat lösenord
host_krb4=Kerberos V4
host_krb5=Kerberos V5
host_passwordarg=Använd lösenordsfil
host_identarg=Använd användaromskrivning
host_create=Lägg till tillåten dator
host_edit=Ändra tillåten dator
host_single=Enskild dator
host_network=Nätverk
host_netmask=Nätmask
host_return=datorlista
host_err=Det gick inte att spara tillåtna datorer
host_eident=Användaromskrivning saknas eller är ogiltig
host_epassword=Lösenordsfil saknas eller är ogiltig
host_enetmask=Nätmask saknas eller är ogiltig
host_enetwork=Nätverk saknas eller är ogiltigt
host_ehost=IP-adress för datorn saknas eller är ogiltig

grant_title=Utdelade rättigheter
grant_tvi=Objekt
grant_type=Typ
grant_db=Databas
grant_public=Alla
grant_group=Grupp $1
grant_add=Dela ut rättigheter till databas:
grant_return=rättighetslista
grant_ecannot=Du får inte ändra rättigheter
grant_create=Lägg till rättighet
grant_edit=Ändra rättighet
grant_header=Rättigheter utdelade till användare
grant_to=Dela ut rättigheter för
grant_table=Tabell
grant_view=Vy eller index
grant_users=Dela ut rättigheter till
grant_user=Användare
grant_what=Rättigheter
grant_r=Tabell
grant_v=Vy
grant_i=Index
grant_S=Sekvens
grant_none=Det finns inga tabeller, vyer, sekvenser eller index att dela ut rättigheter för.

group_title=PostgreSQL-grupper
group_ecannot=Du får inte ändra grupper
group_name=Gruppnamn
group_id=Grupp-ID
group_mems=Medlemmar
group_add=Lägg till grupp
group_edit=Ändra grupp
group_create=Lägg till grupp
group_header=Uppgifter om PostgreSQL-grupp
group_return=grupplista
group_err=Det gick inte att spara gruppen
group_ename=Gruppens namn saknas eller är ogiltigt
group_egid=Grupp-ID saknas eller är ogiltigt
group_etaken=Gruppnamnet används redan
group_none=Det finns för närvarande inga PostgreSQL-grupper

esql=SQL $1 gick fel: $2

log_start=Startade PostgreSQL-server
log_stop=Stannade PostgreSQL-server
log_db_create=Lade till databasen $1
log_db_delete=Tog bort databasen $1
log_table_create=Lade till tabellen $1 i databasen $2
log_table_delete=Tog bort tabellen $1 från databasen $2
log_field_create=Lade till fält $1 $4 till $2 i databasen $3
log_field_modify=Modifierade fält $1 $4 i $2 i databasen $3
log_field_delete=Tog bort fält $1 från $2 i databasen $3
log_data_create=Lade till en rad till tabell $2 i databasen $3
log_data_modify=Modifierade $1 rader i tabell $2 i databasen $3
log_data_delete=Tog bort $1 rader från tabell $2 i databasen $3
log_exec=Körde SQL i databasen $1
log_exec_l=Utförde SQL-kommando $2 i databasen $1
log_create_user=Lade till användaren $1
log_delete_user=Tog bort användaren $1
log_modify_user=Modifierade användaren $1
log_create_group=Lade till gruppen $1
log_delete_group=Tog bort gruppen $1
log_modify_group=Modifierade gruppen $1
log_create_local=Lade till tillåten lokal uppkoppling
log_modify_local=Modifierade tillåten lokal uppkoppling
log_delete_local=Tog bort tillåten lokal uppkoppling
log_create_all=Lade till en tillåten dator
log_modify_all=Modifierade en tillåten dator
log_delete_all=Tog bort en tillåten dator
log_create_hba=Lade till tillåten dator $1
log_modify_hba=Modifierade tillåten dator $1
log_delete_hba=Tog bort tillåten dator $1
log_grant=Delade ut rättigheter för $1 i databasen $2

acl_dbs=Databaser som denna användare får administrera
acl_dall=Alla databaser
acl_dsel=Angivna
acl_create=Kunna skapa nya databaser?
acl_delete=Kunna ta bort databaser?
acl_stop=Kunna stanna och starta PostgreSQL-servern?
acl_users=Kunna ändra användare, grupper och rättigheter?

07070100067afc000081a40000000000000002000000013d1fe2de000019d4000000200000000000000000000000000000001c00000003reloc/postgresql/lang/zh_CN   index_title=PostgreSQLÊý¾Ý¿â·þÎñÆ÷
index_notrun=ÔÚÄúµÄÏµÍ³ÉÏÃ»ÓÐÔËÐÐ PostgreSQL -²»ÄÜ¼ìË÷Êý¾Ý¿âÁÐ±í
index_start=Æô¶¯PostgreSQL·þÎñÆ÷
index_startmsg=µã»÷Õâ¸ö°´Å¥£¬Ê¹ÓÃÃüÁî$1Æô¶¯ÄúÏµÍ³ÉÏµÄPostgreSQLÊý¾Ý¿â·þÎñÆ÷.Êý¾Ý¿âÆô¶¯ºó£¬Õâ¸öwebminÄ£¿é²ÅÄÜ¹»¹ÜÀíÊý¾Ý¿â¡£
index_nopass=ÎªÁË¹ÜÀíÄúµÄÊý¾Ý¿â£¬webminÐèÒªÖªµÀÄúµÄPostgreSQL¹ÜÀíµÇÂ¼ÒÔ¼°¿ÚÁî¡£ÇëÔÚÏÂÃæÊäÈëÄúµÄ¹ÜÀíÓÃ»§ÃûºÍ¿ÚÁî¡£
index_ltitle=PostgreSQLµÇÂ¼
index_login=µÇÂ¼
index_pass=¿ÚÁî
index_clear=Çå³ý
index_stop=Í£Ö¹PostgreSQL·þÎñÆ÷
index_stopmsg=µã»÷Õâ¸ö°´Å¥£¬Í£Ö¹ÄúÏµÍ³ÉÏµÄPostgreSQLÊý¾Ý¿â·þÎñÆ÷¡£Õâ½«»á×èÖ¹ÈÎºÎÓÃ»§»ò³ÌÐò·ÃÎÊÊý¾Ý¿â£¬°üÀ¨Õâ¸öwebminÄ£¿é¡£
index_dbs=PostgreSQLÊý¾Ý¿â
index_add=´´½¨Ò»¸öÐÂµÄÊý¾Ý¿â
index_users=ÓÃ»§Ñ¡Ïî
index_return=Êý¾Ý¿âÁÐ±í
index_esql=ÔÚÄúµÄÏµÍ³ÖÐÃ»ÓÐ·¢ÏÖPostgreSQL£¬Ò²ÐíÃ»ÓÐ°²×°£¬»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·¡£
index_ehba=ÔÚÄúµÄÏµÍ³ÖÐÎ´ÕÒµ½ PostgreSQLµÄÖ÷»úÅäÖÃÎÄ¼þ $1¡£»òÐíPostgreSQLÃ»ÓÐ³õÊ¼»¯£¬»òÕß<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·¡£
index_eversion=ÔÚÄúÏµÍ³µÄPostgreSQLÊý¾Ý¿âÊÇ°æ±¾$1£¬µ«ÊÇWebmin Ö»Ö§³Ö°æ±¾$2¡£
login_err=µÇÂ¼Ê§°Ü
login_ecannot=ÄúÃ»ÓÐÅäÖÃÊý¾Ý¿âµÇÂ¼µÄÈ¨ÏÞ
login_elogin=¶ªÊ§¹ÜÀíµÇÂ¼
login_epass=²»ÕýÈ·µÄ¹ÜÀíÓÃ»§Ãû»òÕß¿ÚÁî
dbase_title=±à¼­Êý¾Ý¿â
dbase_tables=Êý¾Ý¿â±í
dbase_add=´´½¨Ò»¸öÐÂ±í
dbase_drop=É¾³ýÊý¾Ý¿â
dbase_exec=Ö´ÐÐSQL
dbase_none=Õâ¸öÊý¾Ý¿âÃ»ÓÐ±í¡£
dbase_fields=×Ö¶Î£º
dbase_return=Êý¾Ý±íÁÐ±í
dbase_ecannot=ÄúÃ»ÓÐ±à¼­´ËÊý¾Ý¿âµÄÈ¨ÏÞ
table_title=±à¼­±í
table_title2=´´½¨±í
table_opts=×Ö¶ÎÑ¡Ïî
table_header=Êý¾Ý¿â$2ÖÐµÄ±í$1
table_field=×Ö¶ÎÃû
table_type=ÀàÐÍ
table_null=ÔÊÐíÎª¿Õ£¿
table_arr=Êý×é£¿
table_none=ÎÞ
table_add=Ôö¼Ó×Ö¶ÎµÄÀàÐÍ£º
table_return=×Ö¶ÎÁÐ±í
table_data=ÏÔÊ¾Êý¾Ý
table_drop=É¾³ý±í
table_name=±íÃû
table_initial=³õÊ¼×Ö¶Î
table_header2=ÐÂ±íÑ¡Ïî
table_err=´´½¨±íÊ§°Ü
table_ename=¶ªÊ§»òÕßÎÞÐ§µÄ±íÃû
table_efield=$1²»ÊÇÓÐÐ§×Ö¶ÎÃû
table_etype=¶ªÊ§×Ö¶Î$1µÄÀàÐÍ
table_esize=¶ªÊ§×Ö¶Î$1µÄÀàÐÍ³¤¶È
table_enone=Ã»ÓÐÊäÈë³õÊ¼×Ö¶Î
field_title1=Ôö¼Ó×Ö¶Î
field_title2=ÐÞ¸Ä×Ö¶Î
field_in=ÔÚÊý¾Ý¿â$2µÄ±í$1ÖÐ
field_header=×Ö¶Î²ÎÊý
field_name=×Ö¶ÎÃû
field_type=Êý¾ÝÀàÐÍ
field_size=ÀàÐÍ¿í¶È
field_none=ÎÞ
field_null=ÔÊÐíÎª¿Õ£¿
field_arr=Êý×é×Ö¶Î£¿
field_key=Ö÷¼ü£¿
field_uniq=¶ÀÌØ£¿
field_err=±£´æ×Ö¶ÎÊ§°Ü
field_esize='$1²»ÊÇÓÐÐ§×Ö¶Î´óÐ¡
field_eenum=Ã»ÓÐÊäÈëÃ¶¾ÙÖµ
field_efield=$1²»ÊÇÒ»¸öÓÐÐ§µÄ×Ö¶ÎÃû
field_ekey=ÔÊÐíÎª¿ÕµÄÓò²»ÄÜÊÇÖ÷¼üµÄÒ»²¿·Ö
exec_title=Ö´ÐÐSQL
exec_header=ÊäÈëÔÚÊý¾Ý¿â $1ÉÏÖ´ÐÐµÄ SQL ÃüÁî..
exec_exec=Ö´ÐÐ
exec_err=SQL Ö´ÐÐSQLÊ§°Ü
exec_out=SQLÃüÁî$1µÄÊä³ö..
exec_none=Ã»ÓÐÊý¾Ý·µ»Ø
stop_err=¹Ø±ÕÊý¾Ý¿â·þÎñÆ÷Ê§°Ü
stop_epidfile=´ò¿ª½ø³Ì±êÊ¶ÎÄ¼þ$1Ê§°Ü
stop_ekill=¹Ø±Õ½ø³Ì$1 : $2Ê§°Ü
start_err=Æô¶¯Êý¾Ý¿â·þÎñÆ÷Ê§°Ü
ddrop_err=É¾³ýÊý¾Ý¿âÊ§°Ü
ddrop_title=É¾³ýÊý¾Ý¿â
ddrop_rusure=È·ÊµÒªÉ¾³ýÊý¾Ý¿â $1£¿°üº¬ $3ÐÐÊý¾ÝµÄ $2 ¸ö±í½«±»É¾³ý¡£
ddrop_mysql=ÒòÎªÕâÊÇÒ»¸öÖ÷Êý¾Ý¿â£¬É¾³ýËüÒ²Ðí»áÊ¹ÄúµÄMySQL·þÎñÆ÷²»ÄÜÊ¹ÓÃ¡£
ddrop_ok=É¾³ýÊý¾Ý¿â
tdrop_err=É¾³ýÊý¾Ý±íÊ§°Ü
tdrop_title=É¾³ýÊý¾Ý±í
tdrop_rusure=ÄúÈ·¶¨ÏëÒªÉ¾³ýÊý¾Ý¿â$2ÖÐµÄÊý¾Ý±í $1Âð£¿ $3ÐÐÊý¾Ý½«±»É¾³ý¡£
tdrop_ok=É¾³ýÊý¾Ý±í
view_title=±íÊý¾Ý
view_pos=$3ÖÐµÄ$1ÐÐµ½$2ÐÐ
view_none=Õâ¸ö±íÃ»ÓÐÊý¾Ý
view_edit=±à¼­Ñ¡¶¨µÄÐÐ
view_new=Ôö¼ÓÐÐ
view_delete=É¾³ýÑ¡¶¨µÄÐÐ
view_nokey=ÔÚÕâ¸ö±íÖÐµÄÊý¾Ý²»ÄÜ±»±à¼­£¬ÒòÎªÃ»ÓÐÖ÷¼ü¡£
view_all=È«Ñ¡
view_invert=·´Ñ¡
newdb_title=´´½¨Êý¾Ý¿â
newdb_header=ÐÂÊý¾Ý¿âÑ¡Ïî
newdb_db=Êý¾Ý¿âÃû
newdb_path=Êý¾Ý¿âÎÄ¼þÂ·¾¶
newdb_err=´´½¨Êý¾Ý¿âÊ§°Ü
newdb_edb=¶ªÊ§»òÕßÎÞÐ§Êý¾Ý¿âÃû
newdb_ecannot=ÄúÃ»ÓÐÈ¨Àû´´½¨Êý¾Ý¿â
newdb_epath=¶ªÊ§Êý¾Ý¿âÂ·¾¶
user_title=PostgreSQLÓÃ»§
user_ecannot=ÄúÎÞ±à¼­ÓÃ»§µÄÈ¨ÏÞ
user_name=ÓÃ»§Ãû
user_db=ÄÜ´´½¨Êý¾Ý¿â£¿
user_other=ÄÜ´´½¨ÓÃ»§£¿
user_until=ÓÐÐ§µ½
user_add=´´½¨ÐÂÓÃ»§
user_forever=ÓÀÔ¶
user_pass=ÐèÒª¿ÚÁî£¿
user_edit=±à¼­ÓÃ»§
user_create=´´½¨ÓÃ»§
user_return=ÓÃ»§ÁÐ±í
user_header=PostgreSQLÓÃ»§Ï¸½Ú
user_passwd=¿ÚÁî
user_none=ÎÞ
user_err=±£´æÓÃ»§Ê§°Ü
user_epass=¶ªÊ§»òÕßÎÞÐ§¿ÚÁî
user_ename=¶ªÊ§»òÕßÎÞÐ§ÓÃ»§Ãû
host_ecannot=ÄúÎÞÈ¨±à¼­ÔÊÐíµÄÖ÷»ú
host_title=ÔÊÐíµÄÖ÷»ú
host_local=±¾µØÁ¬½Ó
host_address=Ö÷»úµØÖ·
host_db=Êý¾Ý¿â
host_auth=ÈÏÖ¤Ä£Ê½
host_any=ÈÎºÎÍøÂçÖ÷»ú
host_all=ËùÓÐµÄÊý¾Ý¿â
host_same=ºÍÓÃ»§ÃûÒ»Ñù
host_add=´´½¨Ò»¸öÐÂµÄÔÊÐíÖ÷»ú
host_ident=¼ì²éÖ÷»úÉÏµÄ<tt>±êÖ¾</tt>·þÎñÆ÷
host_trust=Ã»ÓÐÈÏÖ¤ÐèÒª
host_reject=¾Ü¾øÁ¬½Ó
host_password=Ã÷ÎÄ¿ÚÁî
host_crypt=¼ÓÃÜ¿ÚÁî
host_krb4=Kerberos °æ±¾4
host_krb5=kerberos °æ±¾5
host_passwordarg=ÓÃ»§¿ÚÁîÎÄ¼þ
host_identarg=Ê¹ÓÃÓÃ»§Ó³Éä
host_create=´´½¨ÔÊÐíÖ÷»ú
host_edit=±à¼­ÔÊÐíÖ÷»ú
host_single=µ¥Ö÷»ú
host_network=ÍøÂç
host_netmask=ÍøÂçÑÚÂë
host_return=Ö÷»ú·ÃÎÊÁÐ±í
host_err=±£´æÔÊÐíÖ÷»úÊ§°Ü
host_eident=¶ªÊ§»òÕßÎÞÐ§ÓÃ»§Ó³Éä
host_epassword=¶ªÊ§»òÕßÎÞÐ§¿ÚÁîÎÄ¼þ
host_enetmask=¶ªÊ§»òÕßÎÞÐ§ÍøÂçÑÚÂë
host_enetwork=¶ªÊ§»òÕßÎÞÐ§ÍøÂç
host_ehost=¶ªÊ§»òÕßÎÞÐ§Ö÷»úIPµØÖ·
grant_title=ÊÚÓèÌØÈ¨
grant_tvi=¶ÔÏó
grant_type=ÀàÐÍ
grant_db=Êý¾Ý¿â
grant_public=Ã¿¸öÈË
grant_group=×é $1
grant_add=Ôö¼ÓÔÚÊý¾Ý¿âµÄÊÚÈ¨£º
grant_return=ÌØÈ¨ÁÐ±í
grant_ecannot=Äú²»ÔÊÐí±à¼­ÌØÈ¨ÁÐ±í
grant_create=´´½¨ÊÚÈ¨
grant_edit=±à¼­ÊÚÈ¨
grant_header=ÊÚÈ¨ÓÃ»§µÄÌØÈ¨
grant_to=ÊÚÌØÈ¨ÓÚ
grant_table=±í
grant_view=ÊÓÍ¼»òË÷Òý
grant_users=ÊÚÌØÈ¨Óè
grant_user=ÓÃ»§
grant_what=ÌØÈ¨
grant_r=±í
grant_v=ÊÓÍ¼
grant_i=Ë÷Òý
grant_S=ÐòÁÐ
grant_none=Ã»ÓÐÊÚÓèÌØÈ¨µÄ±í£¬ÊÓÍ¼£¬ÐòÁÐ»òÕßË÷Òý´æÔÚ¡£
group_title=PostgreSQ×é
group_ecannot=Äú²»ÔÊÐí±à¼­×é
group_name=×éÃû
group_id=×é±êÊ¶
group_mems=³ÉÔ±
group_add=´´½¨ÐÂ×é
group_edit=±à¼­×é
group_create=´´½¨Ò»¸ö×é
group_header=PostgreSQ×éÏ¸½Ú
group_return=×éÁÐ±í
group_err=±£´æ×éÊ§°Ü
group_ename=¶ªÊ§»òÕßÎÞÐ§×éÃû
group_egid=¶ªÊ§»òÕßÎÞÐ§×é±êÊ¶
group_etaken=×éÃûÒÑ¾­ÔÚÊ¹ÓÃ
group_none=ÏÖÔÚÃ»ÓÐPostgreSQ×é´æÔÚ
esql=SQL $1 Ê§°Ü:$2
log_start=¿ªÊ¼PostgreSQ·þÎñÆ÷
log_stop=Í£Ö¹PostgreSQ·þÎñÆ÷
log_db_create=´´½¨Êý¾Ý¿â$1
log_db_delete=É¾³ýÊý¾Ý¿â$1
log_table_create=ÔÚÊý¾Ý¿â$2ÖÐ´´½¨±í$1
log_table_delete=É¾³ýÊý¾Ý¿â$2ÖÐµÄ±í$1
log_field_create=ÔÚÊý¾Ý¿â$3µÄ$2ÖÐÔö¼Ó×Ö¶Î$1 $4
log_field_modify=ÐÞ¸ÄÊý¾Ý¿â$3µÄ$2ÖÐµÄ×Ö¶Î$1 $4
log_field_delete=É¾³ýÊý¾Ý¿â$3µÄ$2ÖÐµÄ×Ö¶Î$1
log_data_create=ÔÚÊý¾Ý¿â$3ÖÐÏò±í$2ÖÐÔö¼ÓÐÐ
log_data_modify=ÐÞ¸ÄÔÚÊý¾Ý¿â$3µÄ±í$2ÖÐµÄ$1ÐÐ
log_data_delete=É¾³ýÔÚÊý¾Ý¿â$3µÄ±í$2ÖÐµÄ$1ÐÐ
log_exec=Ö´ÐÐÔÚÊý¾Ý¿â$1ÖÐµÄSQLÓï¾ä
log_exec_l=Ö´ÐÐÔÚÊý¾Ý¿â $1ÖÐµÄSQLÃüÁî$2
log_create_user=´´½¨ÓÃ»§$1
log_delete_user=É¾³ýÓÃ»§$1
log_modify_user=ÐÞ¸ÄÓÃ»§$1
log_create_group=´´½¨×é$1
log_delete_group=É¾³ý×é $1
log_modify_group=ÐÞ¸Ä×é$1
log_create_local=´´½¨ÔÊÐíµÄ±¾µØÁ¬½Ó
log_modify_local=ÐÞ¸ÄÔÊÐíµÄ±¾µØÁ¬½Ó
log_delete_local=É¾³ýÔÊÐíµÄ±¾µØÁ¬½Ó
log_create_all=´´½¨ÈÎºÎÔÊÐíµÄÖ÷»ú
log_modify_all=ÐÞ¸ÄÈÎºÎÔÊÐíµÄÖ÷»ú
log_delete_all=É¾³ýÈÎºÎÔÊÐíµÄÖ÷»ú
log_create_hba=´´½¨ÔÊÐíµÄÖ÷»ú$1
log_modify_hba=ÐÞ¸ÄÔÊÐíµÄÖ÷»ú$1
log_delete_hba=É¾³ýÔÊÐíµÄÖ÷»ú$1
log_grant=ÊÚÓè¶ÔÊý¾Ý¿â$2ÖÐÔÚ$1ÉÏµÄÌØÈ¨
acl_dbs=Õâ¸öÓÃ»§¿ÉÒÔ¹ÜÀíµÄÊý¾Ý¿â
acl_dall=ËùÓÐÊý¾Ý¿â
acl_dsel=Ñ¡Ôñ..
acl_create=¿ÉÒÔ´´½¨ÐÂµÄÊý¾Ý¿âÂð£¿
acl_delete=ÄÜÉ¾³ýÊý¾Ý¿â£¿
acl_stop=ÄÜÍ£Ö¹»òÕß¿ªÊ¼PostgrSQL ·þÎñÆ÷Âð£¿
acl_users=ÄÜ±à¼­ÓÃ»§£¬×é£¬ºÍÊÚÈ¨Âð£¿
07070100067afd000081a40000000000000002000000013d1fe2de00001c9d000000200000000000000000000000000000002100000003reloc/postgresql/lang/zh_TW.Big5  index_title=PostgreSQL¸ê®Æ®w¦øªA¾¹
index_notrun=¦b±zªº¨t²Î¤W¨S¦³°õ¦æ PostgreSQL -¤£¯àÀË¯Á¸ê®Æ®w¦Cªí
index_start=±Ò°ÊPostgreSQL¦øªA¾¹
index_startmsg=ÂIÀ»³o­Ó«ö¶s¡A¨Ï¥Î©R¥O$1±Ò°Ê±z¨t²Î¤WªºPostgreSQL¸ê®Æ®w¦øªA¾¹.¸ê®Æ®w±Ò°Ê«á¡A³o­Ówebmin¼Ò²Õ¤~¯à°÷ºÞ²z¸ê®Æ®w¡C
index_nopass=¬°¤FºÞ²z±zªº¸ê®Æ®w¡Awebmin»Ý­nª¾¹D±zªºPostgreSQLºÞ²zµn¤J¥H¤Î±K½X¡C½Ð¦b¤U­±¿é¤J±zªººÞ²z±b¸¹©M±K½X¡C
index_ltitle=PostgreSQLµn¤J
index_login=µn¤J
index_pass=±K½X
index_clear=²M°£
index_stop=°±¤îPostgreSQL¦øªA¾¹
index_stopmsg=ÂIÀ»³o­Ó«ö¶s¡A°±¤î±z¨t²Î¤WªºPostgreSQL¸ê®Æ®w¦øªA¾¹¡C³o±N·|ªý¤î¥ô¦ó¨Ï¥ÎªÌ©Îµ{¦¡¶i¤J¸ê®Æ®w¡A¥]¬A³o­Ówebmin¼Ò²Õ¡C
index_dbs=PostgreSQL¸ê®Æ®w
index_add=·s¼W¤@­Ó·sªº¸ê®Æ®w
index_users=¨Ï¥ÎªÌ¿ï¶µ
index_return=¸ê®Æ®w¦Cªí
index_esql=¦b±zªº¨t²Î¤¤¨S¦³µo²{PostgreSQL¡A¤]³\¨S¦³¦w¸Ë¡A©ÎªÌ±zªº<a href='$2'>¼Ò²Õ°t¸m</a>¤£¥¿½T¡C
index_ehba=¦b±zªº¨t²Î¤¤¥¼§ä¨ì PostgreSQLªº¥D¾÷°t¸mÀÉ®× $1¡C©Î³\PostgreSQL¨S¦³ªì©l¤Æ¡A©ÎªÌ<a href='$2'>¼Ò²Õ°t¸m</a>¤£¥¿½T¡C
index_superuser=PostgreSQL«È¤áºÝµ{¦¡psqlµLªk¦b±zªº¨t²Î°õ¦æ¡A ©Î³\PostgreSQL¨S¦³¦w¸Ë¡A©ÎªÌ±zªº<a href='$1'>¼Ò²Õ°t¸m</a>¤£¥¿½T¡C
index_eversion=¦b±z¨t²ÎªºPostgreSQL¸ê®Æ®w¬Oª©¥»$1¡A¦ý¬OWebmin ¥u¤ä´©ª©¥»$2¡C
index_elibrary=PostgreSQL«È¤áºÝµ{¦¡$1µLªk°õ¦æ¡A¦]¬°¨S¦³§ä¨ìPostgres¤À¨É¨ç¦¡®w¡A ÀË¬d<a href='$2'>¼Ò²Õ²ÕºA</a> ©M½T©w<i>PostgreSQL¤À¨É¨ç¦¡¸ô®|</i>¤w¸g³]©w
index_version=PostgreSQLª©¥»$1

login_err=µn¤J¥¢±Ñ
login_ecannot=±z¨S¦³°t¸m¸ê®Æ®wµn¤JªºÅv­­
login_elogin=¨S¦³¿é¤JºÞ²zµn¤J
login_epass=¤£¥¿½TªººÞ²z±b¸¹©ÎªÌ±K½X

dbase_title=½s¿è¸ê®Æ®w
dbase_tables=¸ê®Æ®wªí®æ
dbase_add=·s¼W¤@­Ó·sªí®æ
dbase_drop=§R°£¸ê®Æ®w
dbase_exec=°õ¦æSQL
dbase_none=³o­Ó¸ê®Æ®w¨S¦³ªí®æ¡C
dbase_fields=Äæ¦ì¡G
dbase_return=¸ê®Æªí®æ¦Cªí
dbase_ecannot=±z¨S¦³½s¿è¦¹¸ê®Æ®wªºÅv­­

table_title=½s¿èªí®æ
table_title2=·s¼Wªí®æ
table_opts=Äæ¦ì¿ï¶µ
table_header=¸ê®Æ®w$2¤¤ªºªí®æ$1
table_field=Äæ¦ì¦WºÙ
table_type=Ãþ«¬
table_null=¤¹³\¬°ªÅ¡H
table_arr=°}¦C¡H
table_none=µL
table_add=¼W¥[Äæ¦ìªºÃþ«¬¡G
table_return=Äæ¦ì¦Cªí
table_data=Åã¥Ü¸ê®Æ
table_drop=§R°£ªí®æ
table_name=ªí®æ¦WºÙ
table_initial=ªì©lÄæ¦ì
table_header2=·sªí®æ¿ï¶µ
table_err=·s¼Wªí®æ¥¢±Ñ
table_ename=¨S¦³¿é¤J©ÎªÌµL®Äªºªí®æ¦WºÙ
table_efield=$1¤£¬O¦³®ÄÄæ¦ì¦WºÙ
table_etype=¨S¦³¿é¤JÄæ¦ì$1ªºÃþ«¬
table_esize=¨S¦³¿é¤JÄæ¦ì$1ªºÃþ«¬ªø«×
table_enone=¨S¦³¿é¤Jªì©lÄæ¦ì

field_title1=¼W¥[Äæ¦ì
field_title2=­×§ïÄæ¦ì
field_in=¦b¸ê®Æ®w$2ªºªí®æ$1¤¤
field_header=Äæ¦ì°Ñ¼Æ
field_name=Äæ¦ì¦WºÙ
field_type=¸ê®ÆÃþ«¬
field_size=Ãþ«¬¼e«×
field_none=µL
field_null=¤¹³\¬°ªÅ¡H
field_arr=°}¦CÄæ¦ì¡H
field_key=¥DÁä¡H
field_uniq=¿W¯S¡H
field_err=Àx¦sÄæ¦ì¥¢±Ñ
field_esize='$1¤£¬O¦³®ÄÄæ¦ì¤j¤p
field_eenum=¨S¦³¿é¤J¦CÁ|­È
field_efield=$1¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì¦WºÙ
field_ekey=¤¹³\¬°ªÅªº°ì¤£¯à¬O¥DÁäªº¤@³¡¤À

exec_title=°õ¦æSQL
exec_header=¿é¤J¦b¸ê®Æ®w $1¤W°õ¦æªº SQL ©R¥O..
exec_exec=°õ¦æ
exec_err=SQL °õ¦æSQL¥¢±Ñ
exec_out=SQL©R¥O$1ªº¿é¥X..
exec_none=¨S¦³¸ê®Æ¶Ç¦^

stop_err=Ãö³¬¸ê®Æ®w¦øªA¾¹¥¢±Ñ
stop_epidfile=¥´¶}PIDÀÉ®×$1¥¢±Ñ
stop_ekill=Ãö³¬µ{§Ç$1 : $2¥¢±Ñ
stop_ecannot=±z¤£³Q¤¹³\°±¤î¸ê®Æ®w¦øªA¾¹
start_err=±Ò°Ê¸ê®Æ®w¦øªA¾¹¥¢±Ñ
start_ecannot=±z¤£³Q¤¹³\±Ò°Ê¸ê®Æ®w¦øªA¾¹

ddrop_err=§R°£¸ê®Æ®w¥¢±Ñ
ddrop_title=§R°£¸ê®Æ®w
ddrop_rusure=½T©w­n§R°£¸ê®Æ®w $1¡H¥]§t $3¦æ¸ê®Æªº $2 ­Óªí®æ±N³Q§R°£¡C
ddrop_mysql=¦]¬°³o¬O¤@­Ó¥D¸ê®Æ®w¡A§R°£¥¦¤]³\·|¨Ï±zªºPostgreSQL¦øªA¾¹¤£¯à¨Ï¥Î¡C
ddrop_ok=§R°£¸ê®Æ®w

tdrop_err=§R°£¸ê®Æªí®æ¥¢±Ñ
tdrop_title=§R°£¸ê®Æªí®æ
tdrop_rusure=±z½T©w­n§R°£¸ê®Æ®w$2¤¤ªº¸ê®Æªí®æ $1¶Ü¡H $3¦æ¸ê®Æ±N³Q§R°£¡C
tdrop_ok=§R°£¸ê®Æªí®æ

view_title=ªí®æ¸ê®Æ
view_pos=$3¤¤ªº$1¦æ¨ì$2¦æ
view_none=³o­Óªí®æ¨S¦³¸ê®Æ
view_edit=½s¿è¿ï¨úªº¦æ
view_new=¼W¥[¦æ
view_delete=§R°£¿ï¨úªº¦æ
view_nokey=¦b³o­Óªí®æ¤¤ªº¸ê®Æ¤£¯à³Q½s¿è¡A¦]¬°¨S¦³¥DÁä¡C
view_all=¥þ¿ï
view_invert=¤Ï¿ï

newdb_title=·s¼W¸ê®Æ®w
newdb_header=·s¸ê®Æ®w¿ï¶µ
newdb_db=¸ê®Æ®w¦WºÙ
newdb_path=¸ê®Æ®wÀÉ®×¸ô®|
newdb_err=·s¼W¸ê®Æ®w¥¢±Ñ
newdb_edb=¨S¦³¿é¤J©ÎªÌµL®Ä¸ê®Æ®w¦WºÙ
newdb_ecannot=±z¨S¦³Åv§Q·s¼W¸ê®Æ®w
newdb_epath=¨S¦³¿é¤J¸ê®Æ®w¸ô®|

user_title=PostgreSQL¨Ï¥ÎªÌ
user_ecannot=±zµL½s¿è¨Ï¥ÎªÌªºÅv­­
user_name=±b¸¹
user_db=¯à·s¼W¸ê®Æ®w¡H
user_other=¯à·s¼W¨Ï¥ÎªÌ¡H
user_until=¦³®Ä¨ì
user_add=·s¼W·s¨Ï¥ÎªÌ
user_forever=¥Ã»·
user_pass=»Ý­n±K½X¡H
user_edit=½s¿è¨Ï¥ÎªÌ
user_create=·s¼W¨Ï¥ÎªÌ
user_return=¨Ï¥ÎªÌ¦Cªí
user_header=PostgreSQL¨Ï¥ÎªÌ¤º®e
user_passwd=±K½X
user_none=µL
user_err=Àx¦s¨Ï¥ÎªÌ¥¢±Ñ
user_epass=¨S¦³¿é¤J©ÎªÌµL®Ä±K½X
user_ename=¨S¦³¿é¤J©ÎªÌµL®Ä±b¸¹

host_ecannot=±zµLÅv½s¿è¤¹³\ªº¥D¾÷
host_title=¤¹³\ªº¥D¾÷
host_local=¥»¦a³s±µ
host_address=¥D¾÷¦ì§}
host_db=¸ê®Æ®w
host_auth=»{ÃÒ¼Ò¦¡
host_any=¥ô¦óºô¸ô¥D¾÷
host_all=©Ò¦³ªº¸ê®Æ®w
host_same=©M±b¸¹¤@¼Ë
host_add=·s¼W¤@­Ó·sªº¤¹³\¥D¾÷
host_ident=ÀË¬d¥D¾÷¤Wªº<tt>¼Ð»x</tt>¦øªA¾¹
host_trust=¨S¦³»{ÃÒ»Ý­n
host_reject=©Úµ´³s±µ
host_password=©ú¤å±K½X
host_crypt=¥[±K±K½X
host_krb4=Kerberos ª©¥»4
host_krb5=kerberos ª©¥»5
host_passwordarg=¨Ï¥ÎªÌ±K½XÀÉ®×
host_identarg=¨Ï¥Î¨Ï¥ÎªÌ¬M®g
host_create=·s¼W¤¹³\¥D¾÷
host_edit=½s¿è¤¹³\¥D¾÷
host_single=³æ¥D¾÷
host_network=ºô¸ô
host_netmask=ºô¸ô¾B¸n
host_return=¥D¾÷¶i¤J¦Cªí
host_err=Àx¦s¤¹³\¥D¾÷¥¢±Ñ
host_eident=¨S¦³¿é¤J©ÎªÌµL®Ä¨Ï¥ÎªÌ¬M®g
host_epassword=¨S¦³¿é¤J©ÎªÌµL®Ä±K½XÀÉ®×
host_enetmask=¨S¦³¿é¤J©ÎªÌµL®Äºô¸ô¾B¸n
host_enetwork=¨S¦³¿é¤J©ÎªÌµL®Äºô¸ô
host_ehost=¨S¦³¿é¤J©ÎªÌµL®Ä¥D¾÷IP¦ì§}

grant_title=±Â¤©¯S®íÅv­­
grant_tvi=¹ï¶H
grant_type=Ãþ«¬
grant_db=¸ê®Æ®w
grant_public=¨C­Ó¤H
grant_group=¸s²Õ $1
grant_add=¼W¥[¦b¸ê®Æ®wªº±ÂÅv¡G
grant_return=¯S®íÅv­­¦Cªí
grant_ecannot=±z¤£¤¹³\½s¿è¯S®íÅv­­¦Cªí
grant_create=·s¼W±ÂÅv
grant_edit=½s¿è±ÂÅv
grant_header=±ÂÅv¨Ï¥ÎªÌªº¯S®íÅv­­
grant_to=±Â¯S®íÅv­­©ó
grant_table=ªí®æ
grant_view=ÂsÄý©Î¯Á¤Þ
grant_users=±Â¯S®íÅv­­¤©
grant_user=¨Ï¥ÎªÌ
grant_what=¯S®íÅv­­
grant_r=ªí®æ
grant_v=ÂsÄý
grant_i=¯Á¤Þ
grant_S=§Ç¦C
grant_none=¨S¦³±Â¤©¯S®íÅv­­ªºªí®æ¡AÂsÄý¡A§Ç¦C©ÎªÌ¯Á¤Þ¦s¦b¡C

group_title=PostgreSQ¸s²Õ
group_ecannot=±z¤£¤¹³\½s¿è¸s²Õ
group_name=¸s²Õ¦WºÙ
group_id=¸s²Õ¼ÐÃÑ
group_mems=¦¨­û
group_add=·s¼W·s¸s²Õ
group_edit=½s¿è¸s²Õ
group_create=·s¼W¤@­Ó¸s²Õ
group_header=PostgreSQ¸s²Õ¤º®e
group_return=¸s²Õ¦Cªí
group_err=Àx¦s¸s²Õ¥¢±Ñ
group_ename=¨S¦³¿é¤J©ÎªÌµL®Ä¸s²Õ¦WºÙ
group_egid=¨S¦³¿é¤J©ÎªÌµL®Ä¸s²Õ¼ÐÃÑ
group_etaken=¸s²Õ¦WºÙ¤w¸g¦b¨Ï¥Î
group_none=²{¦b¨S¦³PostgreSQ¸s²Õ¦s¦b

esql=SQL $1 ¥¢±Ñ:$2

log_start=±Ò°ÊPostgreSQ¦øªA¾¹
log_stop=°±¤îPostgreSQ¦øªA¾¹
log_db_create=·s¼W¸ê®Æ®w$1
log_db_delete=§R°£¸ê®Æ®w$1
log_table_create=¦b¸ê®Æ®w$2¤¤·s¼Wªí®æ$1
log_table_delete=§R°£¸ê®Æ®w$2¤¤ªºªí®æ$1
log_field_create=¦b¸ê®Æ®w$3ªº$2¤¤¼W¥[Äæ¦ì$1 $4
log_field_modify=­×§ï¸ê®Æ®w$3ªº$2¤¤ªºÄæ¦ì$1 $4
log_field_delete=§R°£¸ê®Æ®w$3ªº$2¤¤ªºÄæ¦ì$1
log_data_create=¦b¸ê®Æ®w$3¤¤¦Vªí®æ$2¤¤¼W¥[¦æ
log_data_modify=­×§ï¦b¸ê®Æ®w$3ªºªí®æ$2¤¤ªº$1¦æ
log_data_delete=§R°£¦b¸ê®Æ®w$3ªºªí®æ$2¤¤ªº$1¦æ
log_exec=°õ¦æ¦b¸ê®Æ®w$1¤¤ªºSQL»yªk
log_exec_l=°õ¦æ¦b¸ê®Æ®w $1¤¤ªºSQL©R¥O$2
log_create_user=·s¼W¨Ï¥ÎªÌ$1
log_delete_user=§R°£¨Ï¥ÎªÌ$1
log_modify_user=­×§ï¨Ï¥ÎªÌ$1
log_create_group=·s¼W¸s²Õ$1
log_delete_group=§R°£¸s²Õ $1
log_modify_group=­×§ï¸s²Õ$1
log_create_local=·s¼W¤¹³\ªº¥»¦a³s±µ
log_modify_local=­×§ï¤¹³\ªº¥»¦a³s±µ
log_delete_local=§R°£¤¹³\ªº¥»¦a³s±µ
log_create_all=·s¼W¥ô¦ó¤¹³\ªº¥D¾÷
log_modify_all=­×§ï¥ô¦ó¤¹³\ªº¥D¾÷
log_delete_all=§R°£¥ô¦ó¤¹³\ªº¥D¾÷
log_create_hba=·s¼W¤¹³\ªº¥D¾÷$1
log_modify_hba=­×§ï¤¹³\ªº¥D¾÷$1
log_delete_hba=§R°£¤¹³\ªº¥D¾÷$1
log_grant=±Â¤©¹ï¸ê®Æ®w$2¤¤¦b$1¤Wªº¯S®íÅv­­

acl_dbs=³o­Ó¨Ï¥ÎªÌ¥i¥HºÞ²zªº¸ê®Æ®w
acl_dbscannot=³o¨Ç¶i¤J±±¨î±N®M¥Î¦b±Ò°ÊPostgreSQL¦øªA¾¹«á
acl_dall=©Ò¦³¸ê®Æ®w
acl_dsel=¿ï¾Ü..
acl_create=¥i¥H·s¼W·sªº¸ê®Æ®w¶Ü¡H
acl_delete=¯à§R°£¸ê®Æ®w¡H
acl_stop=¯à°±¤î©ÎªÌ±Ò°ÊPostgrSQL ¦øªA¾¹¶Ü¡H
acl_users=¯à½s¿è¨Ï¥ÎªÌ¡A¸s²Õ¡A©M±ÂÅv¶Ü¡H

   07070100061f50000081e40000000000000002000000013d1fe2dd000008a3000000200000000000000000000000000000002100000003reloc/postgresql/list_grants.cgi  #!/usr/local/bin/perl
# list_grants.cgi
# Display all granted privileges

require './postgresql-lib.pl';
$access{'users'} || &error($text{'grant_ecannot'});
&header($text{'grant_title'}, "", "list_grants");
print "<hr>\n";

# Check for down databases
@str = &table_structure($config{'basedb'}, "pg_database");
foreach $f (@str) {
	$hasconn++ if ($f->{'field'} eq 'datallowconn');
	}
if ($hasconn) {
	$rv = &execute_sql($config{'basedb'}, "select datname,datallowconn from pg_database");
	foreach $r (@{$rv->{'data'}}) {
		$dbup{$r->[0]} = ($r->[1] =~ /^(t|1)/i);
		}
	}

@dblist = &list_databases();
foreach $d (@dblist) {
	next if (!$dbup{$d} && $hasconn);
	$t = &execute_sql($d, "select relname,reltype,relkind,relhasrules from pg_class");
	map { $type{$_->[0]} = $_->[2] eq 'r' && $_->[3] eq 't' ? 'v' : $_->[2] } @{$t->{'data'}};

	$s = &execute_sql($d, 'select relname, relacl from pg_class where (relkind = \'r\' OR relkind = \'S\') and relname !~ \'^pg_\' order by relname');
	foreach $g (@{$s->{'data'}}) {
		$type = $type{$g->[0]};
		if (!$doneheader++) {
			print "<table border width=100%>\n";
			print "<tr $tb> <td><b>$text{'grant_tvi'}</b></td> ",
			      "<td><b>$text{'grant_type'}</b></td> ",
			      "<td><b>$text{'grant_db'}</b></td> ",
			      "<td><b>$text{'grant_users'}</b></td> </tr>\n";
			}
		print "<tr $cb>\n";
		print "<td><a href='edit_grant.cgi?db=$d&table=$g->[0]&",
		      "type=$type'>",&html_escape($g->[0]),"</a></td>\n";
		print "<td>",$text{"grant_$type"}."</td>\n";
		print "<td>",&html_escape($d),"</td>\n";
		print "<td>\n";
		$g->[1] =~ s/^\{//; $g->[1] =~ s/\}$//;
		@gr = grep { /=\S/ } map { /^"(.*)"$/; $1 } split(/,/, $g->[1]);
		foreach $gr (@gr) {
			print "&nbsp;|&nbsp;" if ($gr ne $gr[0]);
			if ($gr =~ /^=(\S+)/) {
				print $text{'grant_public'};
				}
			elsif ($gr =~ /^group\s+(\S+)=(\S+)/) {
				print &text('grant_group',
					"<tt>".&html_escape($1)."</tt>");
				}
			elsif ($gr =~ /^(\S+)=(\S+)$/) {
				print "<tt>".&html_escape($1)."</tt>";
				}
			}
		print "&nbsp;</td> </tr>\n";
		}
	}
if ($doneheader) {
	print "</table><p>\n";
	}
else {
	print "<b>$text{'grant_none'}</b><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100061f51000081e40000000000000002000000013d1fe2dd000004cd000000200000000000000000000000000000002100000003reloc/postgresql/list_groups.cgi  #!/usr/local/bin/perl
# list_groups.cgi
# Display all groups in the database

require './postgresql-lib.pl';
$access{'users'} || &error($text{'group_ecannot'});
&header($text{'group_title'}, "", "list_groups");
print "<hr>\n";

$s = &execute_sql($config{'basedb'}, "select * from pg_user");
foreach $u (@{$s->{'data'}}) {
	$uid{$u->[1]} = $u->[0];
	}

$s = &execute_sql($config{'basedb'}, "select * from pg_group");
if (@{$s->{'data'}}) {
	print "<a href='edit_group.cgi?new=1'>$text{'group_add'}</a><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'group_name'}</b></td> ",
	      "<td><b>$text{'group_id'}</b></td> ",
	      "<td><b>$text{'group_mems'}</b></td> </tr>\n";
	foreach $g (@{$s->{'data'}}) {
		print "<tr $cb>\n";
		print "<td><a href='edit_group.cgi?gid=$g->[1]'>",
		      &html_escape($g->[0]),"</a></td>\n";
		print "<td>$g->[1]</td>\n";
		print "<td>",join("&nbsp;|&nbsp;",
		     map { &html_escape($uid{$_}) } &split_array($g->[2])),
		      "&nbsp;</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'group_none'}</b><p>\n";
	}
print "<a href='edit_group.cgi?new=1'>$text{'group_add'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100061f52000081e40000000000000002000000013d1fe2de000006a9000000200000000000000000000000000000002000000003reloc/postgresql/list_hosts.cgi   #!/usr/local/bin/perl
# list_hosts.cgi
# Display host access records

require './postgresql-lib.pl';
$access{'users'} || &error($text{'host_ecannot'});
&header($text{'host_title'}, "", "list_hosts");
print "<hr>\n";

print "$text{'host_desc'}<p>\n";

@hosts = &get_hba_config();
print "<a href='edit_host.cgi?new=1'>$text{'host_add'}</a><br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td width=33%><b>$text{'host_address'}</b></td> ",
      "<td width=33%><b>$text{'host_db'}</b></td> ",
      "<td width=33%><b>$text{'host_auth'}</b></td> ",
      "<td><b>$text{'host_move'}</b></td> </tr>\n";
foreach $h (@hosts) {
	print "<tr $cb>\n";
	print "<td><a href='edit_host.cgi?idx=$h->{'index'}'>",
	   &html_escape(
	      $h->{'type'} eq 'local' ? $text{'host_local'} :
	      $h->{'netmask'} eq '255.255.255.255' ? $h->{'address'} :
	      $h->{'netmask'} eq '255.255.255.255' ? $text{'host_any'} :
	      $h->{'address'}.'/'.$h->{'netmask'}),"</a></td>\n";
	print "<td>",$h->{'db'} eq 'all' ? $text{'host_all'} :
		     $h->{'db'} eq 'sameuser' ? $text{'host_same'} :
					        $h->{'db'},"</td>\n";
	print "<td>",$text{"host_$h->{'auth'}"},"</td>\n";
	print "<td>";
	if ($h eq $hosts[@hosts-1]) {
		print "<img src=images/gap.gif>";
		}
	else {
		print "<a href='down.cgi?idx=$h->{'index'}'>",
		      "<img src=images/down.gif border=0></a>";
		}
	if ($h eq $hosts[0]) {
		print "<img src=images/gap.gif>";
		}
	else {
		print "<a href='up.cgi?idx=$h->{'index'}'>",
		      "<img src=images/up.gif border=0></a>";
		}
	print "</td> </tr>\n";
	}
print "</table>\n";
print "<a href='edit_host.cgi?new=1'>$text{'host_add'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100061f55000081e40000000000000002000000013d1fe2dd00000328000000200000000000000000000000000000002100000003reloc/postgresql/list_locals.cgi  #!/usr/local/bin/perl
# list_locals.cgi
# Display local access records

require './postgresql-lib.pl';
$access{'users'} || &error($text{'local_ecannot'});
&header($text{'local_title'}, "");
print "<hr>\n";

@locals = grep { $_->{'type'} eq 'local' } &get_hba_config();
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_db'}</b></td> ",
      "<td><b>$text{'host_auth'}</b></td> </tr>\n";
foreach $l (@locals) {
	print "<tr $cb>\n";
	print "<td>",$l->{'db'} eq 'all' ? $text{'host_all'} :
		     $l->{'db'} eq 'sameuser' ? $text{'host_same'} :
					        $l->{'db'},"</td>\n";
	print "<td>",$text{"host_$l->{'auth'}"},"</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
print "<a href='edit_local.cgi?new=1'>$text{'local_add'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index'});

07070100061f56000081e40000000000000002000000013d1fe2de000004cf000000200000000000000000000000000000002000000003reloc/postgresql/list_users.cgi   #!/usr/local/bin/perl
# list_users.cgi
# Display all users in the database

require './postgresql-lib.pl';
$access{'users'} || &error($text{'user_ecannot'});
&header($text{'user_title'}, "", "list_users");
print "<hr>\n";

$s = &execute_sql($config{'basedb'}, "select * from pg_shadow");
print "<a href='edit_user.cgi?new=1'>$text{'user_add'}</a><br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'user_name'}</b></td> ",
      "<td><b>$text{'user_pass'}</b></td> ",
      "<td><b>$text{'user_db'}</b></td> ",
      "<td><b>$text{'user_other'}</b></td> ",
      "<td><b>$text{'user_until'}</b></td> </tr>\n";
foreach $u (@{$s->{'data'}}) {
	print "<tr $cb>\n";
	print "<td><a href='edit_user.cgi?user=$u->[0]'>",
	      &html_escape($u->[0]),"</a></td>\n";
	print "<td>",$u->[6] ? $text{'yes'} : $text{'no'},"</td>\n";
	print "<td>",$u->[2] eq 't' ? $text{'yes'} : $text{'no'},"</td>\n";
	print "<td>",$u->[4] eq 't' ? $text{'yes'} : $text{'no'},"</td>\n";
	print "<td>",$u->[7] ? &html_escape($u->[7])
			     : $text{'user_forever'},"</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
print "<a href='edit_user.cgi?new=1'>$text{'user_add'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100061f57000081a40000000000000002000000013d1fe2de0000062f000000200000000000000000000000000000001f00000003reloc/postgresql/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'postgresql-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'stop') {
	return $text{'log_stop'};
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($type eq 'db') {
	return &text("log_${type}_${action}", "<tt>$object</tt>");
	}
elsif ($type eq 'table') {
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'db'}</tt>");
	}
elsif ($type eq 'field') {
	$p->{'size'} =~ s/\s+$//;
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'table'}</tt>", "<tt>$p->{'db'}</tt>",
		     "<tt>$p->{'type'}$p->{'size'}</tt>");
	}
elsif ($type eq 'data') {
	return &text("log_${type}_${action}", "<tt>$object</tt>",
		     "<tt>$p->{'table'}</tt>", "<tt>$p->{'db'}</tt>");
	}
elsif ($action eq 'exec') {
	return &text($long ? 'log_exec_l' : 'log_exec', "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'cmd'})."</tt>");
	}
elsif ($type eq 'user' || $type eq 'group') {
	return &text("log_${action}_${type}", "<tt>$object</tt>");
	}
elsif ($type eq 'hba') {
	return $object eq 'local' ? $text{"log_${action}_local"} :
	       $object eq 'all' ? $text{"log_${action}_all"} :
	       &text("log_${action}_hba", "<tt>$object</tt>");
	}
elsif ($action eq 'grant') {
	return &text('log_grant', "<tt>$object</tt>", "<tt>$p->{'db'}</tt>");
	}
else {
	return undef;
	}
}

 07070100061f58000081e40000000000000002000000013d1fe2dd000001ff000000200000000000000000000000000000001b00000003reloc/postgresql/login.cgi    #!/usr/local/bin/perl
# login.cgi
# Save PostgreSQL login and password

require './postgresql-lib.pl';
&ReadParse();
&error_setup($text{'login_err'});
$access{'noconfig'} && &error($text{'login_ecannot'});
$in{'login'} || &error($text{'login_elogin'});
$config{'login'} = $in{'login'};
$config{'pass'} = $in{'pass'};
if (&is_postgresql_running() == -1) {
	&error($text{'login_epass'});
	}
&write_file("$module_config_directory/config", \%config);
chmod(0700, "$module_config_directory/config");
&redirect("");

 07070100061f59000081a40000000000000002000000013d1fe2ea000001ab000000200000000000000000000000000000001d00000003reloc/postgresql/module.info  category=servers
risk=low medium high
desc_ko_KR.euc=PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
desc_zh_TW.Big5=PostgreSQL¸ê®Æ®w¦øªA¾¹
desc=PostgreSQL Database Server
desc_pl=Serwer baz danych PostgreSQL
desc_sv=PostgreSQL-databasserver
desc_es=Servidor de Base de Datos PostgreSQL
name=PostgreSQL
desc_ja_JP.euc=PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
depends=0.990
version=0.990
desc_zh_CN=PostgreSQL Êý¾Ý¿â·þÎñÆ÷
desc_ca=Servidor de BD PostgreSQL
 07070100061f5a000081e40000000000000002000000013d1fe2de000002b8000000200000000000000000000000000000001b00000003reloc/postgresql/newdb.cgi    #!/usr/local/bin/perl
# newdb.cgi
# Create a new database with one optional table

require './postgresql-lib.pl';
&ReadParse();
$access{'create'} || &error($text{'newdb_ecannot'});
&error_setup($text{'newdb_err'});

$in{'db'} =~ /^[A-z0-9\.\-]+$/ || &error($text{'newdb_edb'});
if ($in{'path_def'}) {
	&execute_sql_logged($config{'basedb'}, "create database $in{'db'}");
	}
else {
	$in{'path'} || &error($text{'newdb_epath'});
	&execute_sql_logged($config{'basedb'}, "create database $in{'db'} ".
					       "with location = '$in{'path'}'");
	}
&webmin_log("create", "db", $in{'db'});
if ($access{'dbs'} ne '*') {
	$access{'dbs'} .= " $in{'db'}";
	&save_module_acl(\%access);
	}
&redirect("");

07070100061f5b000081e40000000000000002000000013d1fe2dd000003a7000000200000000000000000000000000000002000000003reloc/postgresql/newdb_form.cgi   #!/usr/local/bin/perl
# newdb_form.cgi
# Display a form for creating a new database

require './postgresql-lib.pl';
$access{'create'} || &error($text{'newdb_ecannot'});
&header($text{'newdb_title'}, "", "newdb_form");
print "<hr>\n";

print "<form action=newdb.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'newdb_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'newdb_db'}</b></td>\n";
print "<td><input name=db size=15></td> </tr>\n";

print "<tr> <td><b>$text{'newdb_path'}</b></td>\n";
print "<td><input type=radio name=path_def value=1 checked> $text{'default'}\n";
print "<input type=radio name=path_def value=0>\n";
print "<input name=path size=30></td> </tr>\n";

print "<tr> <td colspan=2 align=right><input type=submit ",
      "value='$text{'create'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100061f5c000081a40000000000000002000000013d1fe2dd0000223b000000200000000000000000000000000000002300000003reloc/postgresql/postgresql-lib.pl    # postgresql-lib.pl
# Common PostgreSQL functions

do '../web-lib.pl';
&init_config();
if ($config{'plib'}) {
	$ENV{$gconfig{'ld_env'}} .= ':' if ($ENV{$gconfig{'ld_env'}});
	$ENV{$gconfig{'ld_env'}} .= $config{'plib'};
	}
if ($config{'psql'} =~ /^(.*)\/bin\/psql$/ && $1 ne '' && $1 ne '/usr') {
	$ENV{$gconfig{'ld_env'}} .= ':' if ($ENV{$gconfig{'ld_env'}});
	$ENV{$gconfig{'ld_env'}} .= "$1/lib";
	}

%access = &get_module_acl();

if (!$config{'nodbi'}) {
	# Check if we have DBD::Pg
	eval <<EOF;
use DBI;
\$driver_handle = DBI->install_driver("Pg");
EOF
	}

# is_postgresql_running()
# Returns 1 if yes, 0 if no, -1 if the login is invalid, -2 if there
# is a library problem
sub is_postgresql_running
{
local $temp = &tempname();
local $host = $config{'host'} ? "-h $config{'host'}" : "";
local $cmd;
if ($config{'login'}) {
	open(TEMP, ">$temp");
	print TEMP "$config{'login'}\n$config{'pass'}\n";
	close(TEMP);
	local $out;
	$cmd = "$config{'psql'} -u -c '' $host $config{'basedb'} <$temp";
	}
else {
	$cmd = "$config{'psql'} -c '' $host $config{'basedb'}";
	}
if ($config{'unix'} && getpwnam($config{'unix'})) {
	$cmd = "su $config{'unix'} -c \"$cmd\"";
	}
open(OUT, "$cmd 2>&1 |");
while(<OUT>) { $out .= $_; }
close(OUT);
unlink($temp);
if ($out =~ /setuserid:/i || $out =~ /no\s+password\s+supplied/i ||
    $out =~ /no\s+postgres\s+username/i || $out =~ /authentication\s+failed/i ||
    $out =~ /password:.*password:/i || $out =~ /database.*does.*not/i) {
	return -1;
	}
elsif ($out =~ /connect.*failed/i || $out =~ /could not connect to server:/) {
	return 0;
	}
elsif ($out =~ /lib\S+\.so/i) {
	return -2;
	}
else {
	return 1;
	}
}

# get_postgresql_version()
sub get_postgresql_version
{
local $v = &execute_sql($config{'basedb'}, 'select version()');
$v = $v->{'data'}->[0]->[0];
if ($v =~ /postgresql\s+([0-9\.]+)/i) {
	return $1;
	}
else {
	return undef;
	}
}

# list_databases()
# Returns a list of all databases
sub list_databases
{
local $t = &execute_sql($config{'basedb'}, 'select * from pg_database order by datname');
return map { $_->[0] } @{$t->{'data'}};
}

# list_tables(database)
# Returns a list of tables in some database
sub list_tables
{
#local $t = &execute_sql($_[0], 'select relname from pg_class where relkind = \'r\' and relname not like \'pg_%\' and relhasrules = \'f\' order by relname');
local $t = &execute_sql($_[0], 'select tablename from pg_tables where tablename not like \'pg_%\' order by tablename');
return map { $_->[0] } @{$t->{'data'}};
}

# list_types()
# Returns a list of all available field types
sub list_types
{
local $t = &execute_sql($config{'basedb'}, 'select typname from pg_type where typrelid = 0 and typname !~ \'^_.*\' order by typname');
return map { $_->[0] } @{$t->{'data'}};
}

# table_structure(database, table)
# Returns a list of hashes detailing the structure of a table
sub table_structure
{
local $t = &execute_sql($_[0], "select a.attnum, a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = '$_[1]'    and a.attnum > 0     and a.attrelid = c.oid     and a.atttypid = t.oid order by attnum");
local (@rv, $r);
foreach $r (@{$t->{'data'}}) {
	local $arr;
	$arr++ if ($r->[2] =~ s/^_//);
	push(@rv, { 'field' => $r->[1],
		    'arr' => $arr ? 'YES' : 'NO',
		    'type' => $r->[4] < 0 ? $r->[2]
					  : $r->[2].'('.($r->[4]-4).')',
		    'null' => $r->[5] eq 'f' ? 'YES' : 'NO' } );
	}
return @rv;
}

# execute_sql(database, sql)
sub execute_sql
{
if ($driver_handle && !$config{'unix'} && $_[1] !~ /^(create|drop)\s+database/) {
	# Use the DBI interface
	local $cstr = "dbname=$_[0]";
	$cstr .= ";host=$config{'host'}" if ($config{'host'});
	local $dbh = $driver_handle->connect($cstr,
			$config{'login'}, $config{'pass'});
	$dbh->{'AutoCommit'} = 0;
	$dbh || &error("DBI connect failed");
	local $cmd = $dbh->prepare($_[1]);
	if (!$cmd->execute()) {
		&error(&text('esql', "<tt>".&html_escape($_[1])."</tt>",
			     "<tt>".&html_escape($dbh->errstr)."</tt>"));
		}
	local (@data, @row);
	local @titles = @{$cmd->{'NAME'}};
	while(@row = $cmd->fetchrow()) {
		push(@data, [ @row ]);
		}
	$cmd->finish();
	$dbh->commit();
	$dbh->disconnect();
	return { 'titles' => \@titles,
		 'data' => \@data };
	}
else {
	# Call the psql program
	local $temp = &tempname();
	open(TEMP, ">$temp");
	print TEMP "$config{'login'}\n$config{'pass'}\n";
	close(TEMP);
	local $host = $config{'host'} ? "-h $config{'host'}" : "";
	local $cmd = "$config{'psql'} -u -c \"$_[1]\" $host $_[0] <$temp";
	if ($config{'unix'}) {
		$cmd =~ s/"/\\"/g;
		$cmd = "su $config{'unix'} -c \"$cmd\"";
		}
	open(OUT, "$cmd <$temp 2>&1 |");
	local ($line, $rv, @data);
	do {
		$line = <OUT>;
		} while($line =~ /^(username|password|user name):/i ||
			$line =~ /(warning|notice):/i || $line !~ /\S/);
	if ($line =~ /^ERROR:\s+(.*)/ || $line =~ /FATAL.*:\s+(.*)/) {
		&error(&text('esql', "<tt>$_[1]</tt>", "<tt>$1</tt>"));
		}
	else {
		local $dash = <OUT>;
		if ($dash =~ /^\s*\+\-/) {
			# mysql-style output
			$line = <OUT>;
			$line =~ s/^[\s\|]+//; $line =~ s/[\s\|]+$//;
			local @titles = split(/\|/, $line);
			map { s/^\s+//; s/\s+$// } @titles;
			$line = <OUT>;	# skip useless dashes
			while(1) {
				$line = <OUT>;
				last if (!$line || $line =~ /^\s*\+/);
				$line =~ s/^[\s\|]+//; $line =~ s/[\s\|]+$//;
				local @row = split(/\|/, $line);
				map { s/^\s+//; s/\s+$// } @row;
				push(@data, \@row);
				}
			$rv = { 'titles' => \@titles, 'data' => \@data };
			}
		elsif ($dash !~ /^-/) {
			# no output, such as from an insert
			$rv = undef;
			}
		else {
			# psql-style output
			local @titles = split(/\|/, $line);
			map { s/^\s+//; s/\s+$// } @titles;
			while(1) {
				$line = <OUT>;
				last if (!$line || $line =~ /^\(\d+\s+\S+\)/);
				local @row = split(/ \| /, $line);
				map { s/^\s+//; s/\s+$// } @row;
				push(@data, \@row);
				}
			$rv = { 'titles' => \@titles, 'data' => \@data };
			}
		}
	close(OUT);
	unlink($temp);
	return $rv;
	}
}

# execute_sql_logged(database, command)
sub execute_sql_logged
{
&additional_log('sql', $_[0], $_[1]);
return &execute_sql(@_);
}

# run_as_postgres(command)
sub run_as_postgres
{
pipe(OUTr, OUTw);
local $pid = fork();
if (!$pid) {
	untie(*STDIN);
	untie(*STDOUT);
	untie(*STDERR);
	close(STDIN);
	open(STDOUT, ">&OUTw");
	open(STDERR, ">&OUTw");

	local @u = getpwnam($config{'user'});
	$( = $u[3]; $) = "$u[3] $u[3]";
	($>, $<) = ($u[2], $u[2]);

	exec(@_);
	print "Exec failed : $!\n";
	exit 1;
	}
close(OUTw);
return OUTr;
}

sub can_edit_db
{
local $d;
return 1 if ($access{'dbs'} eq '*');
foreach $d (split(/\s+/, $access{'dbs'})) {
	return 1 if ($d eq $_[0]);
	}
return 0;
}

# get_hba_config()
# Parses the postgres host access config file
sub get_hba_config
{
local $lnum = 0;
open(HBA, $config{'hba_conf'});
while(<HBA>) {
	s/\r|\n//g;
	s/^\s*#.*$//g;
	if (/^\s*host\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)(\s+(\S+))?/) {
		push(@rv, { 'type' => 'host',
			    'index' => scalar(@rv),
			    'line' => $lnum,
			    'db' => $1,
			    'address' => $2,
			    'netmask' => $3,
			    'auth' => $4,
			    'arg' => $6 } );
		}
	elsif (/^\s*local\s+(\S+)\s+(\S+)(\s+(\S+))?/) {
		push(@rv, { 'type' => 'local',
			    'index' => scalar(@rv),
			    'line' => $lnum,
			    'db' => $1,
			    'auth' => $2,
			    'arg' => $4 } );
		}
	$lnum++;
	}
close(HBA);
return @rv;
}

# create_hba(&hba)
sub create_hba
{
local $lref = &read_file_lines($config{'hba_conf'});
push(@$lref, &hba_line($_[0]));
&flush_file_lines();
}

# delete_hba(&hba)
sub delete_hba
{
local $lref = &read_file_lines($config{'hba_conf'});
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
}

# modify_hba(&hba)
sub modify_hba
{
local $lref = &read_file_lines($config{'hba_conf'});
splice(@$lref, $_[0]->{'line'}, 1, &hba_line($_[0]));
&flush_file_lines();
}

# swap_hba(&hba1, &hba2)
sub swap_hba
{
local $lref = &read_file_lines($config{'hba_conf'});
local $line0 = $lref->[$_[0]->{'line'}];
local $line1 = $lref->[$_[1]->{'line'}];
$lref->[$_[1]->{'line'}] = $line0;
$lref->[$_[0]->{'line'}] = $line1;
&flush_file_lines();
}

sub hba_line
{
if ($_[0]->{'type'} eq 'host') {
	return join(" ", 'host', $_[0]->{'db'}, $_[0]->{'address'},
		         $_[0]->{'netmask'}, $_[0]->{'auth'},
			 $_[0]->{'arg'} ? ( $_[0]->{'arg'} ) : () );
	}
else {
	return join(" ", 'local', $_[0]->{'db'}, $_[0]->{'auth'},
			 $_[0]->{'arg'} ? ( $_[0]->{'arg'} ) : () );
	}
}

# split_array(value)
sub split_array
{
if ($_[0] =~ /^\{(.*)\}$/) {
	local @a = split(/,/, $1);
	return @a;
	}
else {
	return ( $_[0] );
	}
}

# join_array(values ..)
sub join_array
{
local $alpha;
map { $alpha++ if (!/^-?[0-9\.]+/) } @_;
return $alpha ? '{'.join(',', map { "'$_'" } @_).'}'
	      : '{'.join(',', @_).'}';
}

1;

 07070100061f5d000081e40000000000000002000000013d1fe2de00000301000000200000000000000000000000000000002000000003reloc/postgresql/save_field.cgi   #!/usr/local/bin/perl
# save_field.cgi
# Create or rename a field

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});

$in{'field'} =~ /^\S+$/ || &error(&text('field_efield', $in{'field'}));
if ($in{'new'}) {
	if (defined($in{'size'})) {
		$in{'size'} =~ /^\d+$/ ||
			&error(&text('field_esize', $in{'size'}));
		$size = "($in{'size'})";
		}
	$arr = $in{'arr'} ? "[]" : "";
	&execute_sql_logged($in{'db'}, "alter table $in{'table'} add ".
				       "\"$in{'field'}\" $in{'type'}$size$arr");
	}
elsif ($in{'old'} ne $in{'field'}) {
	&execute_sql_logged($in{'db'}, "alter table $in{'table'} rename ".
				       "\"$in{'old'}\" to \"$in{'field'}\"");
	}
&redirect("edit_table.cgi?db=$in{'db'}&table=$in{'table'}");

   07070100061f62000081e40000000000000002000000013d1fe2de0000018c000000200000000000000000000000000000001b00000003reloc/postgresql/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the PostgreSQL database server

require './postgresql-lib.pl';
&error_setup($text{'start_err'});
$access{'stop'} || &error($text{'start_ecannot'});
$temp = &tempname();
$rv = &system_logged("($config{'start_cmd'}) >$temp 2>&1");
$out = `cat $temp`; unlink($temp);
if ($rv) {
	&error("<pre>$out</pre>");
	}
sleep(3);
&webmin_log("start");
&redirect("");

07070100061f5e000081e40000000000000002000000013d1fe2de00000415000000200000000000000000000000000000002000000003reloc/postgresql/save_grant.cgi   #!/usr/local/bin/perl
# save_grant.cgi
# Update privilege grants on some table/view/index

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'grant_ecannot'});

# Remove old privileges on object
$s = &execute_sql($in{'db'}, '\z');
foreach $g (@{$s->{'data'}}) {
	if ($g->[0] eq $in{'table'}) {
		$g->[1] =~ s/^\{//; $g->[1] =~ s/\}$//;
		@grant = map { /^"(.*)=(.*)"$/; [ $1, $2 ] }
			     split(/,/, $g->[1]);
		}
	}
foreach $g (@grant) {
	next if (!$g->[1]);
	if ($g->[0] eq '') {
		$who = "public";
		}
	elsif ($g->[0] =~ /group\s+(\S+)/) {
		$who = "group $1";
		}
	else {
		$who = $g->[0];
		}
	&execute_sql_logged($in{'db'}, "revoke all on $in{'table'} from $who");
	}

# Grant new privileges
for($i=0; defined($in{"user_$i"}); $i++) {
	@what = split(/\0/, $in{"what_$i"});
	next if (!$in{"user_$i"} || !@what);
	&execute_sql_logged($in{'db'}, "grant ".join(",", @what)." on ".
				       $in{'table'}." to ".$in{"user_$i"});
	}

&webmin_log("grant", undef, $in{'table'}, \%in);
&redirect("list_grants.cgi");

   07070100061f5f000081e40000000000000002000000013d1fe2dd00000507000000200000000000000000000000000000002000000003reloc/postgresql/save_group.cgi   #!/usr/local/bin/perl
# save_group.cgi
# Create, update or delete a postgres group

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'group_ecannot'});
&error_setup($text{'group_err'});

if ($in{'delete'}) {
	# just delete the group
	&execute_sql_logged($config{'basedb'}, "delete from pg_group where grosysid = $in{'gid'}");
	&webmin_log("delete", "group", $in{'name'});
	}
else {
	# parse inputs
	$in{'name'} =~ /^\S+$/ || &error($text{'group_ename'});
	$s = &execute_sql($config{'basedb'}, "select * from pg_group where groname = '$in{'name'}'");
	$in{'gid'} =~ /^\d+$/ || &error($text{'group_egid'});
	if ($in{'new'}) {
		$s->{'data'}->[0]->[0] && &error($text{'group_etaken'});
		}
	else {
		$s->{'data'}->[0]->[0] && $s->{'data'}->[0]->[1] != $in{'gid'} && &error($text{'group_etaken'});
		}

	$mems = &join_array(split(/\0/, $in{'mems'}));
	if ($in{'new'}) {
		&execute_sql_logged($config{'basedb'}, "insert into pg_group values ('$in{'name'}', '$in{'gid'}', '$mems')");
		&webmin_log("create", "group", $in{'name'});
		}
	else {
		&execute_sql_logged($config{'basedb'}, "update pg_group set groname = '$in{'name'}', grolist = '$mems' where grosysid = $in{'gid'}");
		&webmin_log("modify", "group", $in{'name'});
		}
	}
&redirect("list_groups.cgi");

 07070100061f60000081e40000000000000002000000013d1fe2de000007c4000000200000000000000000000000000000001f00000003reloc/postgresql/save_host.cgi    #!/usr/local/bin/perl
# save_host.cgi
# Create, modify or delete an allowed host record

require './postgresql-lib.pl';
&ReadParse();
&lock_file($config{'hba_conf'});
@all = &get_hba_config();
$host = $all[$in{'idx'}] if (!$in{'new'});
&error_setup($text{'host_err'});

if ($in{'delete'}) {
	# delete one host
	&delete_hba($host);
	}
else {
	# validate and parse inputs
	if ($in{'addr_mode'} == 0) {
		$host->{'address'} = '0.0.0.0' if (!$host->{'address'});
		$object = $host->{'netmask'} = '0.0.0.0';
		$host->{'type'} = 'host';
		}
	elsif ($in{'addr_mode'} == 1) {
		&check_ipaddress($in{'host'}) ||
			&error($text{'host_ehost'});
		$object = $host->{'address'} = $in{'host'};
		$host->{'netmask'} = '255.255.255.255';
		$host->{'type'} = 'host';
		}
	elsif ($in{'addr_mode'} == 2) {
		&check_ipaddress($in{'network'}) ||
			&error($text{'host_enetwork'});
		&check_ipaddress($in{'netmask'}) ||
			&error($text{'host_enetmask'});
		$host->{'address'} = $in{'network'};
		$host->{'netmask'} = $in{'netmask'};
		$host->{'type'} = 'host';
		$object = "$in{'network'}/$in{'netmask'}";
		}
	else {
		$object = $host->{'type'} = 'local';
		}
	$host->{'db'} = $in{'db'};
	$host->{'auth'} = $in{'auth'};
	if ($in{'auth'} eq 'password' && $in{'passwordarg'}) {
		$in{'password'} =~ /^\S+$/ || &error($text{'host_epassword'});
		$host->{'arg'} = $in{'password'};
		}
	elsif ($in{'auth'} eq 'ident' && $in{'identarg'}) {
		$in{'ident'} =~ /^\S+$/ || &error($text{'host_eident'});
		$host->{'arg'} = $in{'ident'};
		}
	else {
		$host->{'arg'} = undef;
		}

	if ($in{'new'}) {
		&create_hba($host);
		}
	else {
		&modify_hba($host);
		}
	}
&unlock_file($config{'hba_conf'});
&webmin_log($in{'new'} ? 'create' : $in{'delete'} ? 'delete' : 'modify',
	    'hba', $host->{'type'} eq 'local' ? 'local' :
		   $host->{'netmask'} eq '0.0.0.0' ? 'all' :
		   $host->{'netmask'} eq '255.255.255.255' ? $host->{'address'}:
		   "$host->{'address'}/$host->{'netmask'}", $host);
&redirect("list_hosts.cgi");

07070100061f61000081e40000000000000002000000013d1fe2dd000004d8000000200000000000000000000000000000001f00000003reloc/postgresql/save_user.cgi    #!/usr/local/bin/perl
# save_user.cgi
# Create, update or delete a postgres user

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'user_ecannot'});
&error_setup($text{'user_err'});

if ($in{'delete'}) {
	# just delete the user
	&execute_sql_logged($config{'basedb'}, "drop user $in{'user'}");
	&webmin_log("delete", "user", $in{'user'});
	}
else {
	# parse inputs
	$version = &get_postgresql_version();
	if (!$in{'pass_def'}) {
		$in{'pass'} =~ /^\S+$/ || &error($text{'user_epass'});
		$sql .= $version >= 7 ? " with password '$in{'pass'}'"
				      : " with password $in{'pass'}";
		}
	if ($in{'db'}) {
		$sql .= " createdb";
		}
	else {
		$sql .= " nocreatedb";
		}
	if ($in{'other'}) {
		$sql .= " createuser";
		}
	else {
		$sql .= " nocreateuser";
		}
	if (!$in{'until_def'}) {
		$sql .= " valid until '$in{'until'}'";
		}
	if ($in{'new'}) {
		$in{'name'} =~ /^\S+$/ || &error($text{'user_ename'});
		&execute_sql_logged($config{'basedb'},
				    "create user $in{'name'} $sql");
		&webmin_log("create", "user", $in{'name'});
		}
	else {
		&execute_sql_logged($config{'basedb'},
				    "alter user $in{'user'} $sql");
		&webmin_log("modify", "user", $in{'user'});
		}
	}
&redirect("list_users.cgi");

07070100061f63000081e40000000000000002000000013d1fe2dd00000262000000200000000000000000000000000000001a00000003reloc/postgresql/stop.cgi #!/usr/local/bin/perl
# stop.cgi
# Stop the PostgreSQL database server

require './postgresql-lib.pl';
&error_setup($text{'stop_err'});
$access{'stop'} || &error($text{'stop_ecannot'});
if ($config{'stop_cmd'}) {
	$out = &backquote_logged("$config{'stop_cmd'} 2>&1");
	if ($?) {
		&error("<pre>$?\n$out</pre>");
		}
	}
else {
	open(PID, $config{'pid_file'});
	($pid = <PID>) =~ s/\r|\n//g;
	close(PID);
	$pid || &error(&text('stop_epidfile', "<tt>$config{'pid_file'}</tt>"));
	&kill_logged('TERM', $pid) ||
		&error(&text('stop_ekill', "<tt>$pid</tt>", "<tt>$!</tt>"));
	}
&webmin_log("stop");
&redirect("");

  07070100061f64000081e40000000000000002000000013d1fe2de00000713000000200000000000000000000000000000002000000003reloc/postgresql/table_form.cgi   #!/usr/local/bin/perl
# table_form.cgi
# Display a form for creating a table

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
&header($text{'table_title2'}, "", "table_form");
print "<hr>\n";

print "<form action=create_table.cgi>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'table_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'table_name'}</b></td>\n";
print "<td><input name=name size=30></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'table_initial'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'field_name'}</b></td> ",
      "<td><b>$text{'field_type'}</b></td> ",
      "<td><b>$text{'field_size'}</b></td> ",
      "<td><b>$text{'table_opts'}</b></td> </tr>\n";
@type_list = &list_types();
for($i=0; $i<$in{'fields'}; $i++) {
	print "<tr $cb>\n";
	print "<td><input name=field_$i size=20></td>\n";
	print "<td><select name=type_$i>\n";
	print "<option selected>\n";
	foreach $t (@type_list) {
		print "<option>$t\n";
		}
	print "</select></td>\n";
	print "<td><input name=size_$i size=10></td> <td>\n";
	print "<input name=arr_$i type=checkbox value=1> $text{'table_arr'}\n";
	print "<input name=null_$i type=checkbox value=1 checked> $text{'field_null'}\n";
	print "<input name=key_$i type=checkbox value=1> $text{'field_key'}\n";
	print "<input name=uniq_$i type=checkbox value=1> $text{'field_uniq'}\n";
	print "</td> </tr>\n";
	}
print "</table></td> </tr>\n";

print "<tr> <td colspan=2 align=right><input type=submit ",
      "value='$text{'create'}'></td> </tr>\n";

print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});

 07070100061f65000081e40000000000000002000000013d1fe2de0000024f000000200000000000000000000000000000001800000003reloc/postgresql/up.cgi   #!/usr/local/bin/perl
# up.cgi
# Move a hosts list entry up

require './postgresql-lib.pl';
&ReadParse();
$access{'users'} || &error($text{'host_ecannot'});

&lock_file($config{'hba_conf'});
@hosts = &get_hba_config();
$host = $hosts[$in{'idx'}];
&swap_hba($host, $hosts[$in{'idx'}-1]);
&unlock_file($config{'hba_conf'});
&webmin_log('move', 'hba',
		   $host->{'type'} eq 'local' ? 'local' :
		   $host->{'netmask'} eq '0.0.0.0' ? 'all' :
		   $host->{'netmask'} eq '255.255.255.255' ? $host->{'address'}:
		   "$host->{'address'}/$host->{'netmask'}", $host);
&redirect("list_hosts.cgi");

 07070100061f66000081e40000000000000002000000013d1fe2dd000016ab000000200000000000000000000000000000002000000003reloc/postgresql/view_table.cgi   #!/usr/local/bin/perl
# view_data.cgi
# Display all data in some table

require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
@str = &table_structure($in{'db'}, $in{'table'});

if ($in{'delete'}) {
	# Deleting selected rows
	$count = 0;
	foreach $r (split(/\0/, $in{'row'})) {
		&execute_sql_logged($in{'db'},
				    "delete from $in{'table'} where oid = $r");
		$count++;
		}
	&webmin_log("delete", "data", $count, \%in);
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}");
	}
elsif ($in{'save'}) {
	# Update edited rows
	$count = 0;
	foreach $r (split(/\0/, $in{'row'})) {
		local @set;
		foreach $t (@str) {
			local $ij = $in{"${r}_$t->{'field'}"};
			$ij =~ s/'/''/g;
			if ($ij eq '') {
				push(@set, "$t->{'field'} = NULL");
				}
			else {
				push(@set, "$t->{'field'} = '$ij'");
				}
			}
		&execute_sql_logged($in{'db'}, "update $in{'table'} set ".
			            join(" , ", @set)." where oid = $r");
		$count++;
		}
	&webmin_log("modify", "data", $count, \%in);
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}");
	}
elsif ($in{'savenew'}) {
	# Adding a new row
	for($j=0; defined($in{$j}); $j++) {
		$in{$j} =~ s/'/''/g;
		push(@set, $in{$j} eq '' ? 'NULL' : "'$in{$j}'");
		}
	&execute_sql_logged($in{'db'}, "insert into $in{'table'} values (".
			    join(" , ", @set).")");
	&redirect("view_table.cgi?db=$in{'db'}&".
		  "table=$in{'table'}&start=$in{'start'}");
	&webmin_log("create", "data", undef, \%in);
	}
elsif ($in{'cancel'} || $in{'new'}) {
	undef($in{'row'});
	}

&header($text{'view_title'}, "", "view_table");
print "<center><font size=+2>",&text('table_header', "<tt>$in{'table'}</tt>",
				     "<tt>$in{'db'}</tt>"),"</font></center>\n";
print "<hr><p>\n";

$d = &execute_sql($in{'db'}, "select count(*) from $in{'table'}");
$total = $d->{'data'}->[0]->[0];
$in{'start'} = int($in{'start'});
if ($in{'new'} && $total > $config{'perpage'}) {
	# go to the last screen for adding a row
	$in{'start'} = $total - $config{'perpage'};
	$in{'start'} = int(($in{'start'} / $config{'perpage'}) + 1) *
		       $config{'perpage'};
	}
if ($in{'start'} || $total > $config{'perpage'}) {
	print "<center>\n";
	if ($in{'start'}) {
		printf "<a href='view_table.cgi?db=%s&table=%s&start=%s'>".
		       "<img src=/images/left.gif border=0 align=middle></a>\n",
			$in{'db'}, $in{'table'},
			$in{'start'} - $config{'perpage'};
		}
	print "<font size=+1>",&text('view_pos', $in{'start'}+1,
	      $in{'start'}+$config{'perpage'} > $total ? $total :
	      $in{'start'}+$config{'perpage'}, $total),"</font>\n";
	if ($in{'start'}+$config{'perpage'} < $total) {
		printf "<a href='view_table.cgi?db=%s&table=%s&start=%s'>".
		      "<img src=/images/right.gif border=0 align=middle></a>\n",
			$in{'db'}, $in{'table'},
			$in{'start'} + $config{'perpage'};
		}
	print "</center>\n";
	}

print "<form action=view_table.cgi method=post>\n";
print "<input type=hidden name=db value='$in{'db'}'>\n";
print "<input type=hidden name=table value='$in{'table'}'>\n";
print "<input type=hidden name=start value='$in{'start'}'>\n";
$check = !defined($in{'row'}) && !$in{'new'};
if ($total || $in{'new'}) {
	$d = &execute_sql($in{'db'}, "select oid,* from $in{'table'} limit ".
				     "$config{'perpage'} offset $in{'start'}");
	@data = @{$d->{'data'}};
	@titles = @{$d->{'titles'}}; shift(@titles);

	print "<table border width=100%>\n";
	print "<tr $tb>\n";
	print "<td>&nbsp;</td>\n" if ($check);
	foreach $t (@str) {
		print "<td><b>$t->{'field'}</b></td>\n";
		}
	print "</tr>\n";

	map { $row{$_}++ } split(/\0/, $in{'row'});
	$w = int(100 / scalar(@str));
	$w = 10 if ($w < 10);
	for($i=0; $i<@data; $i++) {
		local @d = @{$data[$i]};
		local $oid = shift(@d);
		print "<tr $cb>\n";
		if ($row{$oid}) {
			for($j=0; $j<@d; $j++) {
				$d[$j] =~ s/"/&quot;/g;
				printf "<td width=$w%%><input name=${oid}_$titles[$j] size=$w value=\"$d[$j]\"></td>\n";
				}
			print "<input type=hidden name=row value=$oid>\n";
			}
		else {
			print "<td><input type=checkbox name=row ",
			      "value=$oid></td>\n" if ($check);
			foreach $c (@d) {
				printf "<td width=$w%%>%s</td>\n",
					$c =~ /\S/ ? &html_escape($c) : "<br>";
				}
			}
		print "</tr>\n";
		}
	if ($in{'new'}) {
		print "<tr $cb>\n";
		for($j=0; $j<@str; $j++) {
			print "<td width=$w%><input name=$j size=$w></td>\n";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	if ($check) {
		print "<a href='' onClick='document.forms[0].row.checked = true; for(i=0; i<document.forms[0].row.length; i++) { document.forms[0].row[i].checked = true; } return false'>$text{'view_all'}</a>&nbsp;\n";
		print "<a href='' onClick='document.forms[0].row.checked = !document.forms[0].row.checked; for(i=0; i<document.forms[0].row.length; i++) { document.forms[0].row[i].checked = !document.forms[0].row[i].checked; } return false'>$text{'view_invert'}</a><br>\n";
		}
	}
else {
	print "<b>$text{'view_none'}</b> <p>\n";
	}

print "<table width=100%><tr>\n";
if (!$check) {
	if ($in{'new'}) {
		print "<td><input type=submit name=savenew ",
		      "value='$text{'save'}'></td>\n";
		}
	else {
		print "<td><input type=submit name=save ",
		      "value='$text{'save'}'></td>\n";
		}
	print "<td align=right><input type=submit name=cancel ",
	      "value='$text{'cancel'}'></td>\n";
	}
else {
	print "<td><input type=submit name=edit ",
	      "value='$text{'view_edit'}'></td>\n";
	print "<td align=middle><input type=submit name=new ",
	      "value='$text{'view_new'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'view_delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("edit_table.cgi?db=$in{'db'}&table=$in{'table'}",$text{'table_return'});

 0707010006a8d0000041ed0000000000000001000000053d1ffb0f00000000000000200000000000000000000000000000000b00000003reloc/proc    0707010006a8d1000081a40000000000000002000000013d1fe2c400000548000000200000000000000000000000000000001b00000003reloc/proc/acl_security.pl    
require 'proc-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the proc module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_manage'}</b></td> <td colspan=3>\n";
local $u = $_[0]->{'uid'} < 0 ? undef : getpwuid($_[0]->{'uid'});
printf "<input type=radio name=uid_def value=1 %s> %s\n",
	$_[0]->{'uid'} < 0 ? 'checked' : '', $text{'acl_manage_def'};
printf "<input type=radio name=uid_def value=0 %s>\n",
	$_[0]->{'uid'} < 0 ? '' : 'checked';
print "<input name=uid size=8 value='$u'> ",
	&user_chooser_button("uid", 0),"</td> </tr>\n";

print "<tr> <td><b>$text{'acl_edit'}</b></td>\n";
printf "<td><input type=radio name=edit value=1 %s> %s\n",
	$_[0]->{'edit'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=edit value=0 %s> %s</td>\n",
	$_[0]->{'edit'} ? '' : 'checked', $text{'no'};

print "<td><b>$text{'acl_run'}</b></td>\n";
printf "<td><input type=radio name=run value=1 %s> %s\n",
	$_[0]->{'run'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=run value=0 %s> %s</td> </tr>\n",
	$_[0]->{'run'} ? '' : 'checked', $text{'no'};
}

# acl_security_save(&options)
# Parse the form for security options for the proc module
sub acl_security_save
{
$_[0]->{'uid'} = $in{'uid_def'} ? -1 : getpwnam($in{'uid'});
$_[0]->{'edit'} = $in{'edit'};
$_[0]->{'run'} = $in{'run'};
}

0707010006a8d2000081a40000000000000002000000013d1fe2c90000002c000000200000000000000000000000000000001600000003reloc/proc/config-aix ps_style=sysv
default_mode=last
base_ppid=1
0707010006a8d3000081a40000000000000002000000013d1fe2c90000002d000000200000000000000000000000000000001f00000003reloc/proc/config-cobalt-linux    default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8d4000081a40000000000000002000000013d1fe2c40000002d000000200000000000000000000000000000001e00000003reloc/proc/config-corel-linux ps_style=linux
default_mode=last
base_ppid=1
   0707010006a8d5000081a40000000000000002000000013d1fe2c70000002d000000200000000000000000000000000000001f00000003reloc/proc/config-debian-linux    ps_style=linux
default_mode=last
base_ppid=1
   0707010006a8d6000081a40000000000000002000000013d1fe2c40000002f000000200000000000000000000000000000001a00000003reloc/proc/config-freebsd default_mode=last
ps_style=freebsd
base_ppid=0
 0707010006a8d7000081a40000000000000002000000013d1fe2ca0000002d000000200000000000000000000000000000002000000003reloc/proc/config-generic-linux   default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8d8000081a40000000000000002000000013d1fe2ca0000002d000000200000000000000000000000000000001f00000003reloc/proc/config-gentoo-linux    default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8d9000081a40000000000000002000000013d1fe2c40000002c000000200000000000000000000000000000001700000003reloc/proc/config-hpux    ps_style=hpux
default_mode=last
base_ppid=0
0707010006a8da000081a40000000000000002000000013d1fe2c40000002c000000200000000000000000000000000000001700000003reloc/proc/config-irix    default_mode=last
ps_style=sysv
base_ppid=1
0707010006a8db000081a40000000000000002000000013d1fe2c40000002d000000200000000000000000000000000000001800000003reloc/proc/config-macos   default_mode=tree
ps_style=macos
base_ppid=1
   0707010006a8dc000081a40000000000000002000000013d1fe2c90000002d000000200000000000000000000000000000002100000003reloc/proc/config-mandrake-linux  default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8dd000081a40000000000000002000000013d1fe2c90000002d000000200000000000000000000000000000001c00000003reloc/proc/config-msc-linux   default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8de000081a40000000000000002000000013d1fe2c90000002f000000200000000000000000000000000000001900000003reloc/proc/config-netbsd  default_mode=last
ps_style=freebsd
base_ppid=0
 0707010006a8df000081a40000000000000002000000013d1fe2c40000002d000000200000000000000000000000000000001d00000003reloc/proc/config-open-linux  default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8e9000081a40000000000000002000000013d1fe2c90000002f000000200000000000000000000000000000001a00000003reloc/proc/config-openbsd default_mode=last
ps_style=openbsd
base_ppid=0
 0707010006a8ea000081a40000000000000002000000013d1fe2c90000002c000000200000000000000000000000000000001d00000003reloc/proc/config-openserver  ps_style=sysv
default_mode=last
base_ppid=1
0707010006a8eb000081a40000000000000002000000013d1fe2c90000002b000000200000000000000000000000000000001700000003reloc/proc/config-osf1    default_mode=last
ps_style=osf
base_ppid=1
 0707010006a8ec000081a40000000000000002000000013d1fe2c90000002d000000200000000000000000000000000000001f00000003reloc/proc/config-redhat-linux    default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8ed000081a40000000000000002000000013d1fe2c90000002d000000200000000000000000000000000000002200000003reloc/proc/config-slackware-linux ps_style=linux
default_mode=last
base_ppid=1
   0707010006a8ee000081a40000000000000002000000013d1fe2c40000002c000000200000000000000000000000000000001a00000003reloc/proc/config-solaris ps_style=sysv
default_mode=last
base_ppid=1
0707010006a8ef000081a40000000000000002000000013d1fe2c40000002d000000200000000000000000000000000000001d00000003reloc/proc/config-suse-linux  default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8f0000081a40000000000000002000000013d1fe2c40000002d000000200000000000000000000000000000001e00000003reloc/proc/config-turbo-linux default_mode=last
ps_style=linux
base_ppid=1
   0707010006a8f1000081a40000000000000002000000013d1fe2c90000002c000000200000000000000000000000000000001b00000003reloc/proc/config-unixware    ps_style=sysv
default_mode=last
base_ppid=1
0707010006a8f2000081a40000000000000002000000013d1fe2c900000113000000200000000000000000000000000000001700000003reloc/proc/config.info    default_mode=Default process list style,4,last-Last chosen,tree-Process tree,user-Order by user,size-Order by size,cpu-Order by CPU,search-Search form,run-Run form
ps_style=PS command output style,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS,openbsd-OpenBSD
 0707010006a8f3000081a40000000000000002000000013d1fe2c90000015a000000200000000000000000000000000000001a00000003reloc/proc/config.info.ca default_mode=Estil de la llista de processos per defecte,4,last-Darrer triat,tree-Arbre de processos,user-Ordenada per usuaris,size-Ordenada per mida,cpu-Ordenada per CPU,search-Formulari de recerca,run-Formulari d'execució
ps_style=Estil de la sortida de l'ordre PS,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS,openbsd-OpenBSD

  0707010006a8f4000081a40000000000000002000000013d1fe2c700000139000000200000000000000000000000000000001a00000003reloc/proc/config.info.de default_mode=Standard Prozess-Liste Stil,4,last-Zuletzt gew&auml;hlter,tree-Prozess Baum,user-Sortiert nach Benutzer,size-Sortiert nach Gr&ouml;sse,cpu-Sortiert nach CPU,search-Such Formular,run-Ausf&uuml;hr Formular
ps_style=PS Kommando Ausgabe Stil,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
   0707010006a8f5000081a40000000000000002000000013d1fe2c400000150000000200000000000000000000000000000001a00000003reloc/proc/config.info.es default_mode=Estilo de lista de procesos por defecto,4,last-Último seleccionado,tree-Árbol de procesos,user-Ordenado por usuario,size-Ordenado por tamaño,cpu-Ordenado por UCP,search-Formulario de búsqueda,run-Formulario de Ejecución
ps_style=Estilo de salida del comando PS,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
0707010006a8f6000081a40000000000000002000000013d1fe2c90000013b000000200000000000000000000000000000001a00000003reloc/proc/config.info.fr default_mode=Style de liste de processus par défaut,4,last-Dernier choisi,tree-Arborescence,user-Par utilisateur,size-Par taille,cpu-Par consommation processeur,search-Page de recherche,run-Page d'exécution
ps_style=Type de sortie de la commande 'ps',1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
 0707010006a8f7000081a40000000000000002000000013d1fe2c900000125000000200000000000000000000000000000001a00000003reloc/proc/config.info.hu default_mode=Alapértelmezett processz listázási stílus,4,last-Legutóbbi,tree-Processz-fa,user-Felhasználó szerint,size-Méret szerint,cpu-CPU-kihasználtság szerint,search-Keresés,run-Futtatás
ps_style=PS parancs kimenetének stílusa,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
   0707010006a8f8000081a40000000000000002000000013d1fe2c900000141000000200000000000000000000000000000001a00000003reloc/proc/config.info.pl default_mode=Domy¶lny sposób wy¶wietlania procesów,4,last-Ostatnio wybrany,tree-Drzewo procesów,user-Porz±dek wg u¿ytkownika,size-Porz±dek wg rozmiaru,cpu-Porz±dek wg CPU,search-Formularz szukania,run-Formularz uruchomienia
ps_style=Styl wyj¶cia polecenia PS,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
   0707010006a8f9000081a40000000000000002000000013d1fe2c90000014d000000200000000000000000000000000000001d00000003reloc/proc/config.info.ru_RU  default_mode=Ïî óìîë÷àíèþ ïîêàçûâàòü ñïèñîê ïðîöåññîâ êàê,4,last-Ïîñëåäíåå âûáðàííîå,tree-Äåðåâî ïðîöåññîâ,user-Óïîðÿäî÷èòü ïî ïîëüçîâàòåëÿì,size-Óïîðÿäî÷èòü ïî ðàçìåðó,cpu-Óïîðÿäî÷èòü ïî CPU,search-Ôîðìà äëÿ ïîèñêà,run-Ôîðìà äëÿ çàïóñêà
ps_style=Ñòèëü âûâîäà êîìàíäû PS,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
   0707010006a8fa000081a40000000000000002000000013d1fe2c40000014d000000200000000000000000000000000000001d00000003reloc/proc/config.info.ru_SU  default_mode=ðÏ ÕÍÏÌÞÁÎÉÀ ÐÏËÁÚÙ×ÁÔØ ÓÐÉÓÏË ÐÒÏÃÅÓÓÏ× ËÁË,4,last-ðÏÓÌÅÄÎÅÅ ×ÙÂÒÁÎÎÏÅ,tree-äÅÒÅ×Ï ÐÒÏÃÅÓÓÏ×,user-õÐÏÒÑÄÏÞÉÔØ ÐÏ ÐÏÌØÚÏ×ÁÔÅÌÑÍ,size-õÐÏÒÑÄÏÞÉÔØ ÐÏ ÒÁÚÍÅÒÕ,cpu-õÐÏÒÑÄÏÞÉÔØ ÐÏ CPU,search-æÏÒÍÁ ÄÌÑ ÐÏÉÓËÁ,run-æÏÒÍÁ ÄÌÑ ÚÁÐÕÓËÁ
ps_style=óÔÉÌØ ×Ù×ÏÄÁ ËÏÍÁÎÄÙ PS,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
   0707010006a8fb000081a40000000000000002000000013d1fe2c700000137000000200000000000000000000000000000001a00000003reloc/proc/config.info.sv default_mode=Standardformat för processlista,4,last-Senast valda,tree-Processträd,user-Sorterad efter användare,size-Sorterad efter storlek,cpu-Sorterad efter CPU,search-Sökformulär,run-Utför formulär
ps_style=Format för utmatning från PS-kommandon,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
 0707010006a8fc000081a40000000000000002000000013d1fe2c90000012a000000200000000000000000000000000000001a00000003reloc/proc/config.info.tr default_mode=Öntanýmlý iþlem listeleme stili,4,son-Son seçilen,aðaç-Ýþlem aðacý,kullanýcý-Kullanýcýya göre ,boyut-Boyuta göre,iþlemci-Ýþlemci kullanýmýna göre,arama-Arama formu,çalýþtýr-Çalýþtýrma formu
ps_style=PS komutu çýktýsý stili,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
  0707010006a8fd000081a40000000000000002000000013d1fe2c4000000d6000000200000000000000000000000000000001d00000003reloc/proc/config.info.zh_CN  default_mode=È±Ê¡ÁÐ±í·ç¸ñ,4,last-ÉÏ´ÎÑ¡Ôñ,tree-½ø³ÌÊ÷,user-°´ÓÃ»§ÃûÅÅÐò,size-°´´óÐ¡ÅÅÐò,cpu-°´CPUÅÅÐò,search-ËÑË÷±í¸ñ,run-ÔËÐÐ±í¸ñ
ps_style=ps ÃüÁî·ç¸ñ,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
  0707010006a8fe000081a40000000000000002000000013d1fe2c4000000f8000000200000000000000000000000000000002200000003reloc/proc/config.info.zh_TW.Big5 default_mode=¹w³]ªºµ{§Ç¦C¥X¼Ë¦¡,4,last-³Ì«á¿ï¾Üªº,tree-µ{§Ç¾ð,user-¨Ì¾Ú¨Ï¥ÎªÌ±Æ§Ç,size-¨Ì¾Ú°O¾ÐÅé¨Ï¥Î¶q±Æ¦C,cpu-¨Ì¾Ú CPU ¨Ï¥Î¶q±Æ¦C,search-·j´Mªí³æ,run-°õ¦æªí³æ
ps_style=PS ©R¥O¿é¥X¼Ë¦¡,1,sysv-SYSV,linux-Linux,hpux-HPUX,freebsd-FreeBSD,macos-MacOS
0707010006a8ff000081a40000000000000002000000013d1fe2c40000001e000000200000000000000000000000000000001600000003reloc/proc/defaultacl noconfig=0
uid=0
edit=1
run=1
  0707010006a900000081e40000000000000002000000013d1fe2c4000010af000000200000000000000000000000000000001900000003reloc/proc/edit_proc.cgi  #!/usr/local/bin/perl
# edit_proc.cgi
# Display information about a process

require './proc-lib.pl';
use Config;
$access{'edit'} || &error($text{'edit_ecannot'});
&header($text{'edit_title'}, "", "edit_proc");
print "<hr>\n";
%pinfo = &process_info($ARGV[0]);
if (!%pinfo) {
	print "<b>$text{'edit_gone'}</b> <p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td width=20% nowrap><b>$text{'command'}</b></td>\n";
print "     <td colspan=3><font size=+1>",
      &html_escape(cut_string($pinfo{args}, 60)),"</font></td> </tr>\n";
print "<tr> <td width=20% nowrap><b>$text{'pid'}</b></td><td>$pinfo{pid}</td>\n";
print "<td width=20% nowrap><b>$text{'parent'}</b></td>\n";
if ($pinfo{ppid}) {
	local %ppinfo = &process_info($pinfo{ppid});
	print "<td><a href=\"edit_proc.cgi?$ppinfo{pid}\">",
		&cut_string($ppinfo{'args'},30),"</a></td>";
	}
else { print "<td>$text{'edit_none'}</td>"; }
print " </tr>\n";
print "<tr> <td width=20% nowrap><b>$text{'owner'}</b></td> ",
      "<td>$pinfo{'user'}</td>\n";
print "<td width=20% nowrap><b>$text{'cpu'}</b></td> ",
      "<td>$pinfo{'cpu'}</td> </tr>\n";
print "<tr> <td width=20% nowrap><b>$text{'size'}</b></td> ",
      "<td>$pinfo{'size'}</td>\n";
print "<td width=20% nowrap><b>$text{'runtime'}</b></td> ",
      "<td>$pinfo{'time'}</td> </tr>\n";
print "<tr> <td>",&hlink("<b>$text{'nice'}</b>","nice"),"</td>\n";
print "<form action=renice_proc.cgi>\n";
print "<input type=hidden name=pid value=$ARGV[0]>\n";
print "<td colspan=3>\n";
if (&indexof($pinfo{nice}, @nice_range) < 0) {
	print $pinfo{nice};
	}
else {
	print "<select name=nice>\n";
	for($i=0; $i<@nice_range; $i++) {
		printf "<option value=%d %s>%d%s\n",
			$nice_range[$i],
			$pinfo{nice} == $nice_range[$i] ? "selected" : "",
			$nice_range[$i],
			$i==0 ? " ($text{'edit_prihigh'})" :
			$i==@nice_range-1 ? " ($text{'edit_prilow'})" :
			$nice_range[$i]==0 ? " ($text{'edit_pridef'})" : "";
		}
	print "</select> <input type=submit value='$text{'edit_change'}'>\n";
	}
print "</td> </form></tr>\n";
$i = 0;
foreach $k (keys %pinfo) {
	if ($k =~ /^_/) {
		if ($i%2 == 0) { print "<tr>\n"; }
		printf "<td width=20%% nowrap><b>%s</b></td>\n",
			$info_arg_map{$k};
		print "<td>$pinfo{$k}</td>\n";
		if ($i%2 == 1) { print "<tr>\n"; }
		$i++;
		}
	}
print "</table></td></tr></table><p>\n";

print "<table width=100%><tr>\n";
if ($access{'simple'}) {
	# Just display buttons for common signals
	print "<form action=kill_proc.cgi>\n";
	print "<input type=hidden name=pid value=$pinfo{pid}><td nowrap>\n";
	foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
		printf "<input type=submit value=\"%s\" name=%s>\n",
			$text{"kill_".lc($s)}, $s;
		}
	print "</td></form>\n";
	}
else {
	# Allow the sending of any signal
	print "<form action=kill_proc.cgi>\n";
	print "<td nowrap><input type=hidden name=pid value='$pinfo{'pid'}'>\n";
	print "<input type=submit value=\"$text{'edit_kill'}\">\n";
	print "<select name=signal>\n";
	foreach $s (split(/\s+/, $Config{sig_name})) {
		printf "<option value=\"$s\" %s> $s\n",
			$s eq "HUP" ? "selected" : "";
		}
	print "</select>";

	print "&nbsp;" x 2;
	print "<input type=submit name=TERM value='$text{'edit_sigterm'}'>";
	print "&nbsp;" x 2;
	print "<input type=submit name=KILL value='$text{'edit_sigkill'}'>";
	print "</td></form>\n";
	}

if ($has_lsof_command) {
	print "<form action=open_files.cgi>\n";
	print "<input type=hidden name=pid value=$pinfo{'pid'}>\n";
	print "<td align=right><input type=submit value='$text{'edit_open'}'>\n";
	print "</td></form>\n";
	}
print "</tr></table><p>\n";

@sub = grep { $_->{'ppid'} == $pinfo{pid} } &list_processes();
if (@sub) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'edit_sub'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";
	@sub = sort { $a->{'pid'} <=> $b->{'pid'} } @sub;
	foreach $s (@sub) {
		local $p = $s->{'pid'};
		print "<tr> <td><a href=\"edit_proc.cgi?$p\">$p</a></td>\n";
		print "<td>",&cut_string($s->{args}, 80),"</td> </tr>\n";
		}
	print "</table></td></tr></table><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010006a901000081a40000000000000002000000013d1fe2c8000006dc000000200000000000000000000000000000001a00000003reloc/proc/freebsd-lib.pl # freebsd-lib.pl
# Functions for parsing freebsd ps output

sub list_processes
{
local($pcmd, $line, $i, %pidmap, @plist);
$pcmd = @_ ? "-p $_[0]" : "";
open(PS, "ps -axwwww -o pid,ppid,user,vsz,%cpu,time,nice,tty,ruser,rgid,pgid,lstart,lim,command $pcmd |");
for($i=0; $line=<PS>; $i++) {
	chop($line);
	if ($line =~ /ps -axwwww/ || $line =~ /^\s*PID/) { $i--; next; }
	$line =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+([\d\.]+)\s+(\S+)\s+(-?\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(-|\S+\s+\S+\s+\d+\s+\S+\s+\d+|\d+)\s+(\S+)\s+(.*)$/;

	$plist[$i]->{"pid"} = $1;
	$plist[$i]->{"ppid"} = $2;
	$plist[$i]->{"user"} = $3;
	$plist[$i]->{"size"} = "$4 kB";
	$plist[$i]->{"cpu"} = $5;
	$plist[$i]->{"time"} = $6;
	$plist[$i]->{"nice"} = $7;
	$plist[$i]->{"_tty"} = $8;
	$plist[$i]->{"_ruser"} = $9;
	$plist[$i]->{"_rgroup"} = getgrgid($10);
	$plist[$i]->{"_pgid"} = $11;
	$plist[$i]->{"_lstart"} = $12;
	$plist[$i]->{"_lim"} = $13 eq "-" ? "Unlimited" : $13;
	$plist[$i]->{"args"} = $14;
	}
close(PS);
return @plist;
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

foreach $ia (keys %text) {
	if ($ia =~ /^freebsd(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	}

@nice_range = (-20 .. 20);

$has_fuser_command = 0;

# get_new_pty()
# Returns the filehandles and names for a pty and tty
sub get_new_pty
{
local @ptys;
opendir(DEV, "/dev");
@ptys = map { "/dev/$_" } (grep { /^pty/ } readdir(DEV));
closedir(DEV);
local ($pty, $tty);
foreach $pty (@ptys) {
	open(PTY, "+>$pty") || next;
	local $tty = $pty;
	$tty =~ s/pty/tty/;
	open(TTY, "+>$tty") || next;
	local $old = select(PTY); $| = 1;
	select(TTY); $| = 1; select($old);
	return (*PTY, *TTY, $pty, $tty);
	}
return ();
}



1;

0707010006d622000041ed0000000000000001000000023d1ffb0d00000000000000200000000000000000000000000000001000000003reloc/proc/help   0707010006d623000081a40000000000000002000000013d1fe2c900000109000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.ca.html   <header>Ordre a executar</header>

Una o més ordres per executar. Com que es fa servir la shell estàndard
<tt>/bin/sh</tt> per executar l'ordre, hi pots fer servir operadors 
especials com ara <tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt>s
i <tt>&amp;&amp;</tt>.

<hr>


   0707010006d624000081a40000000000000002000000013d1fe2c90000010c000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.es.html   <header>Comando a ejecutar</header>

Un comando o comandos a ejecutar. Debido a que se utiliza el shell estándar
<tt>/bin/sh</tt> para ejecutar el comando, puedes utilizar operadores
especiales como <tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> y <tt>&amp;&amp;</tt>.
<hr>

0707010006d647000081a40000000000000002000000013d1fe2c80000013b000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.fr.html   <header>Commande à exécuter</header>

Une ou plusieurs commandes à exécuter.  Parceque le shell standard <tt>/bin/sh</tt> est utilisé pour exécuter la commande, vous devez utiliser des opérateurs comme <tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> et <tt>&amp;&amp;</tt> si vous souhaitez en exécuter plusieurs.
<hr>
 0707010006d648000081a40000000000000002000000013d1fe2c8000000fc000000200000000000000000000000000000001900000003reloc/proc/help/cmd.html  <header>Command to run</header>

A command or commands to execute. Because the standard shell <tt>/bin/sh</tt>
is used to execute the command, you may use special operators such as
<tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> and <tt>&amp;&amp;</tt>.
<hr>

0707010006d649000081a40000000000000002000000013d1fe2c900000131000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.hu.html   <header>Parancs futtatása</header>

Parancs vagy parancsok végrehajtása. Mivel a szabványos burkot (shell-t),
a <tt>/bin/sh</tt> használatos a parancsok futtatásakor, ezért különleges
vezérlõkaraktereket is használhat, mint amilyen a
<tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> és a <tt>&amp;&amp;</tt>.
<hr>
   0707010006d65b000081a40000000000000002000000013d1fe2c900000136000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.pl.html   <header>Polecenie do uruchomienia</header>

Polecenie lub polecenia, które zostan± wykonane. Mo¿esz u¿ywaæ specjalnych
operatorów, takich jak <tt>;</tt>&nbsp;, <tt>&lt;</tt>&nbsp;, <tt>|</tt>
i&nbsp;<tt>&amp;&amp;</tt>, gdy¿ do uruchomienia polecenia u¿yta zostanie
standardowa pow³oka <tt>/bin/sh</tt>.
<hr>

  0707010006d65c000081a40000000000000002000000013d1fe2c900000112000000200000000000000000000000000000001c00000003reloc/proc/help/cmd.sv.html   <header>Utför kommando ...</header>

Ett eller flera kommandon som ska utföra. Standardskalet <tt>/bin/sh</tt>
används för att utföra kommandot, vilket betyder att det går att använda
skaloperatorer som <tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> och
<tt>&amp;&amp;</tt>.
<hr>

  0707010006d684000081a40000000000000002000000013d1fe2c9000000e0000000200000000000000000000000000000002400000003reloc/proc/help/cmd.zh_TW.Big5.html   <header>­n°õ¦æªº©R¥O</header>

¤@­Ó­n°õ¦æªº©R¥Oªº«ü¥O. ¦]¬°¼Ð·Çªº¨t²Î©R¥O´ß <tt>/bin/sh</tt> ·|³Q¥Î©ó°õ¦æ³o­Ó©R¥O, ©Ò¥H±z¥i¥H¨Ï¥Î¤@¨Ç©R¥O´ßªº¾Þ§@¤l, ¨Ò¦p <tt>;</tt> , <tt>&lt;</tt> , <tt>|</tt> »P <tt>&amp;&amp;</tt>.
<hr>

0707010006d686000081a40000000000000002000000013d1fe2c9000002bb000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.ca.html   <header>Gestor de Processos - Vista de CPU</header>

Aquesta pàgina mostra tots els processos en execució al sistema, ordenats
per consum de CPU. Per cada procés es mostra el PID, l'usuari, la CPU i
l'ordre executada. Pots fer clic sobre el PID per veure més informació.
<p>
Aquesta vista és útil per trobar processos que fan servir una quantitat
de CPU excessiva. L'ús que en fa cada procés es mostra com un percentatge
de la CPU total disponible. Això significa que, en un sistema normal, la
suma de tots els processos serà inferior al 100%. Només quan un o més
processos estiguin executant una tasca molt intensiva s'utilitzarà tota
la potència de la CPU del sistema.

<include overview>

<hr>


 0707010006d687000081a40000000000000002000000013d1fe2c9000002bb000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.es.html   <header>Gestor de Procesos - Vista por UCP</header>

Esta página muestra todos los procesos en ejecución bajo tu sistema
ordenados por utilización de UCP. Para cada proceso se muestra el PID,
propietario, UCP y su comando. Se puede hacer click en la PID para ver
más información. <p>

Esta vista es útil para bucar procesos que utilizan excesiva cantidad de
tiempo de UCP. La utilización de cada proceso es mostrada como un
porcentaje del total de UCP disponible. Esto quiere decir que, en un sistema
normal, la suma de todos los proceso será inferior al 100%. Sólo si uno o más
procesos están realizando anlguna tarea intensiva, se usará toda la potencia
de tu UCP. <p>

<include overview.es>
<hr>
 0707010006d688000081a40000000000000002000000013d1fe2c80000031f000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.fr.html   <header>Tri par utilisation du processeur</header>

Cette page montre tous les processus du système triés par utilisation du processeur.  Pour chaque processus est affiché le numéro, le propriétaire, l'utilisation et la commande. Vous pouvez cliquer sur le numéro d'un processus pour afficher plus d'informations.<p>

Cette vue est utile pour trouver les processus qui consomment une quantité excessive du processeur.  L'utilisation de chaque processus est affichée en pourcentage total du CPU disponible.  Ceci signifie  que sur un système normal (1 seul processeur), la somme de tous les processus sera de moins de 100%. Le total sera de 100% seulement si un ou plusieurs processus exécutent des tâches intenses occupant ainsi toute la puissance du processeur.<p>

<include overview>
<hr>
 0707010006d689000081a40000000000000002000000013d1fe2c800000288000000200000000000000000000000000000001900000003reloc/proc/help/cpu.html  <header>Process Manager - CPU View</header>

This page shows all running process on your system, ordered by CPU 
utilization. For each process the PID, owner, CPU and command is displayed.
The PID can be clicked on to display more information. <p>

This view is useful for finding processes that are using excessive amounts
of CPU time. The utilization of each process is shown as a percentage of
the total CPU available. This means that on a normal system, the sum of
all processes will be less than 100%. Only if one or more processes are
performing some intensive task will all the CPU power of your system be
used. <p>

<include overview>
<hr>
0707010006d68a000081a40000000000000002000000013d1fe2c9000002ba000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.hu.html   <header>Processz menedzser - CPU nézet</header>

Ez az oldal megmutatja az Ön rendszerén futó processzeket, CPU-kihasználtság
szerint rendezve. Minden processzhez megjelenik a PID, tulajdonos, CPU és a
parancs fejléc. Bõvebb információkért kattintsion a PID-ekre.<p>

Ez a nézet hasznos lehet, ha olyan processzeket akar találni, amelyek
túlzott CPU-idõt használnak fel. A kihasználtság processzenként jelenik meg,
az összes CPU-idõ százalékában. Ez egy átlagos rendszeren annyit tesz, hogy
az processzt együttvéve 100%-nál kevesebbet használnak. Csak akkor ugrik
meg a CPU-erõforrások kihasználtsága, ha egy vagy több processz igen
munkaigényes feladatokat hajt végre.<p>

<include overview>
<hr>
  0707010006d68b000081a40000000000000002000000013d1fe2c900000318000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.pl.html   <header>Zarz±dca procesów - wg zu¿ycia CPU</header>

Ta strona ukazuje wszystkie dzia³aj±ce w&nbsp;Twoim systemie procesy,
uporz±dkowane wed³ug zu¿ycia CPU. Dla ka¿dego procesu podano numer PID,
w³a¶ciciela oraz polecenie uruchamiaj±ce. Naci¶nij na numer PID, aby
wy¶wietliæ wiêcej informacji. <p>

Mo¿esz skorzystaæ z&nbsp;tego przegl±du aby okre¶liæ, które polecenia
w&nbsp;Twoim systemie zu¿ywaj± zbyt du¿o czasu CPU. Wykorzystanie CPU dla
ka¿dego procesu jes podane jako procentowa czê¶æ ³±cznej mo¿liwej zajêto¶ci
CPU. Oznacza to, ¿e w&nbsp;zwyk³ym systemie ³±czna suma dla wszystkich
procesów bêdzie mniejsza od 100%. Jedynie w&nbsp;sytuacji, gdy jeden lub
kilka procesów wykonuje pewne intensywne zadania, ca³a moc CPU twojego
systemu bêdzie wykorzystana. <p>

<include overview>
<hr>
0707010006d68c000081a40000000000000002000000013d1fe2c900000265000000200000000000000000000000000000001c00000003reloc/proc/help/cpu.sv.html   <header>Processhanterare - CPU-översikt</header>

På denna sida visas alla processer, ordnade efter CPU-utnyttjande, som
körs på systemet. För varje process anges PID, ägare, CUP och kommando.
Du kan klicka på PID för att få mer information.

<p>Det här kan du använda för att hitta processer som slukar CPU-tid.
För varje process visas CPU-användningen i procent av tillgänglig CPU,
vilket betyder att på ett vanligt system bör summan av alla processers
CPU bli lägre än 100 %. Det är endast om en eller flera processer utför
någon CPU-tung uppgift som all CPU-kraft i systemet används.

<include overview>
<hr>
   0707010006d68d000081a40000000000000002000000013d1fe2c800000200000000200000000000000000000000000000002400000003reloc/proc/help/cpu.zh_TW.Big5.html   <header>µ{§ÇºÞ²zªÌ - ¨Ì¾Ú CPU ¨Ï¥Î¶q</header>

³o¤@­¶Åã¥Ü¥X©Ò¦³±zªº¨t²Î¤W¥Ø«e°õ¦æªºµ{§Ç, ¨Ã¨Ì¾Ú CPU ªº¨Ï¥Î¶q¥[¥H±Æ¦C. ¹ï©ó¨C¤@­Óµ{§Ç, ¥¦ªºµ{§Ç½s¸¹ (PID), ¾Ö¦³ªÌ, CPU ¨Ï¥Î¶q»P©Ò°õ¦æªº©R¥O³£·|³QÅã¥Ü¥X¨Ó. ±z¥i¥HÂI¿ï<tt>µ{§Ç½s¸¹</tt>¥HÅã¥Ü§ó¦hªº¬ÛÃö¸ê°T. <p>

³o­ÓÅã¥Ü¼Ò¦¡¦b±z­n§ä¨ì®ø¯Ó¤j¶q CPU ®É¶¡ªºµ{¦¡®É¬O¬Û·í¦³¥Îªº. ¹ï©ó¨C¤@­Óµ{§Çªº CPU ¨Ï¥Î¶q³£¬O¥HÁ` CPU ¶qªº¦Ê¤À¤ñÅã¥Üªº. ³oªí¥Ü¦b¤@¯ëªº¨t²Î¤W, ©Ò¦³µ{§Çªº¥[Á`À³¸Ó·|¤p©ó 100%. °£«D¦³¤@­Ó©Î¦h­Óµ{§Ç±K¶°ªº­n¨D¨Ï¥Î¥þ³¡ªº CPU ¹Bºâ¯à¤O. <p>

<include overview>
<hr>
0707010006d68e000081a40000000000000002000000013d1fe2c900000698000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.ca.html <header>Edició de Procés</header>

Aquesta pàgina mostra els detalls d'un procés en execució. A la part de 
dalt es mostra la següent informació:
<dl>
   <dt><b>Ordre</b>
   <dd>El programa i els arguments de la línia d'ordres d'aquest procés.
   <dt><b>ID del procés</b>
   <dd>Identificador únic del procés
   <dt><b>Procés Pare</b>
   <dd>El procés que l'ha creat. Fes-hi clic per mostrar els detalls del pare.
   <dt><b>Usuari</b>
   <dd>L'usuari amb els permisos del qual s'està executant el procés.
   <dt><b>Ús de CPU</b>
   <dd>El percentatge de temps de CPU que aquest procés està utilitzant.
   <dt><b>Mida</b>
   <dd>La quantitat de memòria ocupada per aquest procés. Pot ser que part
       d'aquesta estigui compartida amb altres processos.
   <dt><b>Temps d'execució</b>
   <dd>La quantitat total de temps de CPU utilitzada pel procés des del seu
       inici (en minuts). A menys que el procés sigui molt intensiu en CPU,
       aquest no serà el nombre de minuts passats des del seu inici.
   <dt><b>Nivell nice</b>
   <dd>La prioritat d'execució del procés. Hi ha <a href=nice>més informació</a>
       disponible sobre els nivells <i>nice</i>.
</dl>

Depenent de la versió concreta de Unix que estiguis executant, es pot veure
informació addicional.
<p>
Sota la informació del procés hi ha un botó per enviar un senyal al procés.
Selecciona a la llista el senyal que vols enviar, llavors fes clic sobre
el botó <tt>Envia el Senyal</tt>. Els senyals més útils són <tt>KILL</tt>
i <tt>TERM</tt>, per matar el procés.
<p>
SI aquest procés té algun fill, llavors es mostrarà al peu de la pàgina,
Fes clic sobre un ID de la llista per veure informació més detallada.

<hr>


0707010006d68f000081a40000000000000002000000013d1fe2c9000006ad000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.es.html <header>Editar Proceso</header>

Esta página muestra detalles de un proceso en ejecución. En la parte superior
se muestra la siguiente información:
<dl>
<dt><b>Comando</b>
<dd>El programa y argumento de línea de comandos de este proceso
<dt><b>ID de Proceso</b>
<dd>La ID única de proceso
<dt><b>Proceso Padre</b>
<dd>El proceso que creó a éste. Haz click en él para ver los detalles del
    padre.
<dt><b>Usuario</b>
<dd>El usuario propietario de este proceso y bajo cuyos permisos se ejecuta
<dt><b>Uso de UCP</b>
<dd>El porcentaje de tiempo de UCP que este proceso usa en este momento
<dt><b>Medida</b>
<dd>La cantidad de memoria ocupada por este proceso. Alguna de ella puede
    que esté compartida por otros procesos.
<dt><b>Tiempo de Ejecución</b>
<dd>La cantidad total de tiempo de UCP usado por este proceso desde que fue
    iniciado, en minutos. A menos que el proceso sea de uso muy intenso de UCP,
    no debe de ser el mismo que el número de minutos transcurridos desde que
    empezó.
<dt><b>Nivel de Nice</b>
<dd>La prioridad con que este proceso se ejecuta. Hay
    <a href=nice.es>más información</a> disponible a cerca del nivel de nice.
</dl>
Se puede mostrar información adicional, dependiendo de la versión exacta de
Unix que estés ejecutando. <p>

Bajo la información de procesos hay un botón para enviar una señal al
proceso. Selecciona la señal que quieres enviar de la lista disponible, luego
haz click en el botón de <tt>Enviar Señal</tt>. Las señales más útiles son
<tt>KILL</tt> y <tt>TERM</tt>, para matar procesos. <p>

Si este proceso tiene algunos hijos, serán mostrados en la parte inferior de
la página. Haz click en una ID de la lista para ver información detallada.
<hr>

   0707010006d690000081a40000000000000002000000013d1fe2c9000006fd000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.fr.html <header>Éditer un processus</header>

Cette page affiche les détails d'un processus. Voici les informations affichées :
<dl>
<dt><b>Commande</b>
<dd>Le programme et la ligne de commande avec les arguments qui ont servi à exécuter le processus.
<dt><b>Numéro</b>
<dd>Le numéro de processus unique (PID).
<dt><b>Processus parent</b>
<dd>Le processus qui l'a créé.  Cliquer sur celui-ci pour avoir ses détails.
<dt><b>Utilisateur</b>
<dd>L'utilisateur à qui appartient le processus et qui a ses permissions.
<dt><b>Utilisation processeur</b>
<dd>Le pourcentage processeur que ce processus utilise en ce moment.
<dt><b>Taille</b>
<dd>La quantité de mémoire consommée par ce processus. Cette quantité peut être partagée avec d'autre processus.
<dt><b>Temps d'exécution</b>
<dd>Le temps total en minutes du temps processeur utilisé par ce processus depuis qu'il a été démarré. Tant que le processus n'utilisera pas assez le processeur les minutes écoulées ne seront pas les mêmes que celles depuis qu'il a été exécuté.
<dt><b>Niveau de priorité</b>
<dd>La priorité avec laquelle le processus est exécuté. <a href = nice>Plus d'informations</a> sont disponible ici sur le sujet.
</dl>
Des informations additionnelles peuvent être affichéesen fonction de la version d'Unix exacte que vous utilisez.<p>

Sous les informations sur le processus se trouve un bouton qui envoie un signal au processus correspondant. Choisissez le signal que vous voulez envoyer au processus et cliquez sur le bouton <tt>Envoyer un signal</tt>. Les signaux les plus utiles sont <tt>KILL</tt> et <tt>TERM</tt> pour tuer un processus.<p>

Si le processus a des enfants, ils seront affichés au bas de la page, cliquer sur le numéro correspondant pour afficher les informations détaillées.

<hr>
   0707010006d691000081a40000000000000002000000013d1fe2c900000628000000200000000000000000000000000000001f00000003reloc/proc/help/edit_proc.html    <header>Edit Process</header>

This page displays details of a running process. At the top
the following information is displayed :
<dl>
<dt><b>Command</b>
<dd>The program and command line arguments for this process
<dt><b>Process ID</b>
<dd>The unique process ID
<dt><b>Parent Process</b>
<dd>The process that created this one. Click on it to display the details of
    the parent.
<dt><b>User</b>
<dd>The user who owns this process, and with whose permissions it runs
<dt><b>CPU Use</b>
<dd>The percentage of CPU time this process is currently using
<dt><b>Size</b>
<dd>The amount of memory occupied by this process. Some of this may be
    shared by other processes
<dt><b>Run Time</b>
<dd>The total amount of CPU time used by this process since it was started,
    in minutes. Unless the process was very CPU intensive, this will not be
    the same as the number of minutes elapsed since it began.
<dt><b>Nice Level</b>
<dd>The priority at which this process runs. <a href=nice>More information</a>
    about the nice level is available.
</dl>
Additional information may also be displayed, depending on the exact Unix
version you are running. <p>

Below the process information is a button for sending a signal to the
process. Select the signal that you want to send from the
list, then click the <tt>Send Signal</tt> button. The most useful signals 
are <tt>KILL</tt> and <tt>TERM</tt>, for killing the process. <p>

If this process has any children, they will be displayed at the bottom of
the page. Click on an ID from the list to display detailed information. 
<hr>

0707010006d692000081a40000000000000002000000013d1fe2c900000656000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.hu.html <header>Processz szerkesztése</header>

Ez az oldal a futó processz tulajdonságait jeleníti meg. Legfelül a
következõ információk találhatók:
<dl>
<dt><b>Parancs</b>
<dd>A processz programneve és parancssori argumentumai.
<dt><b>Processz ID</b>
<dd>Az egyéni processz ID-je (azonosítója).
<dt><b>Szülõ processz</b>
<dd>Az a processz, amely ezt létrehozta. A szülõ részleteinek megtekintéséhez
kattintson a linkre.
<dt><b>Felhasználó</b>
<dd>A felhasználó, amely a processz tulajdonosa illetve milyen jogosultságokkal
futtatja azt.
<dt><b>CPU-idõ felhasználás</b>
<dd>Az a százalékban meghatározott CPU-idõ, amelyet a processz éppen használ.
<dt><b>Méret</b>
<dd>Az a memóriamennyiség, amelyet a processz elfoglal. Ebben benne van az
is, amelyet más processzekkel oszt meg.
<dt><b>A futás ideje</b>
<dd>A percekben megadott összes CPU-idõ, amelyet a processz az indulástól
számítva elhasznált. Ez nem egyezik meg az indításától eltelt
idõvel, kivéve ha igen intenzív a processz CPU-igénye.
<dt><b>Nice-szint</b>
<dd>A prioritás, amellyel a processz fut. <a href=nice>Bõvebb információ itt</a>
érhetõ el a nice-szintekrõl.
</dl>
Hogy egyéb információk is megjelennek-e az attól függ, hogy milyen Unix
változatot használ.<p>

A processz információk alatt van egy nyomógomb, amellyel jelzéseket
küldhet a processznek. Válassza ki a listából a kívánt jelzést, majd
kattintson a <tt>Jelzés küldése</tt> gombra. A processz kilövéséhez
alkalmazható szignálok: a <tt>KILL</tt> és a <tt>TERM</tt>.<p>

Ha a processznek voltak gyerekei, akkor azok megjelennek az oldal alján.
Bõvebb információkért kattintson az azonosítójukra.
<hr>
  0707010006d693000081a40000000000000002000000013d1fe2c9000006ec000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.pl.html <header>Informacje o procesie</header>

Ta strona pokazuje dane dzia³aj±cego procesu. W&nbsp;górnej czê¶ci znajduj±
siê nastêpuj±ce informacje&nbsp;:
<dl>
<dt><b>Polecenie</b>
<dd>Nazwa programu i&nbsp;podane w&nbsp;linii poleceñ argumenty dla tego
    programu
<dt><b>Nr ID procesu</b>
<dd>Unikalny numer ID procesu
<dt><b>Proces rodzica</b>
<dd>Proces, który dany proces utworzy³. Naci¶nij na nim, aby obejrzeæ dane
    dotycz±ce procesu rodzica.
<dt><b>W³a¶ciciel</b>
<dd>U¿ytkownik, który jest w³a¶cicielem procesu oraz z&nbsp;prawami którego
    on dzia³a
<dt><b>Zu¿ycie CPU</b>
<dd>Procentowe wykorzystanie czasu CPU przez ten proces
<dt><b>Rozmiar</b>
<dd>Ilo¶æ pamiêci zajêtej przez ten proces. Jej czê¶æ mo¿e byæ dzielona
    z&nbsp;innymi procesami
<dt><b>Czas dzia³ania</b>
<dd>Ca³kowita ilo¶æ czasu CPU zu¿yta przez ten proces od chwili
    uruchomienia, w&nbsp;minutach. Zazwyczaj nie jest to ilo¶æ minut, które
    up³ynê³y od chwili jego uruchomienia, chyba ¿e proces bardzo intensywnie
    u¿ywa CPU.
<dt><b>Poziom nice</b>
<dd>Priorytet, z&nbsp;jakim ten proces dzia³a. Mo¿esz równie¿ uzyskaæ 
    <a href=nice>wiêcej informacji</a> na temat poziomu nice.
</dl>
Inne informacje mog± równie¿ byæ dostêpne w&nbsp;zale¿no¶ci od wersji
Uniksa, której u¿ywasz. <p>

Poni¿ej informacji o&nbsp;procesie znajduje siê przycisk s³u¿±cy do wys³ania
sygna³u do procesu. Wybierz sygna³, który chcesz wys³aæ z&nbsp;listy,
a&nbsp;nastêpnie naci¶nij przycisk <tt>Wy¶lij sygna³</tt>. Najbardziej 
przydatne s± sygna³y <tt>KILL</tt> i&nbsp;<tt>TERM</tt>, s³u¿±ce do zabicia
procesu. <p>

Je¶li ten proces ma procesy potomne, bêd± one wy¶wietlone w&nbsp;dolnej
czê¶ci strony. Naci¶nij numer ID z&nbsp;listy, aby uzyskaæ szczegó³owe
informacje o&nbsp;procesie potomnym.
<hr>
0707010006d694000081a40000000000000002000000013d1fe2c90000062b000000200000000000000000000000000000002200000003reloc/proc/help/edit_proc.sv.html <header>Ändra process</header>

På denna sida visas uppgifter om en aktiv process. Högst upp visas följande
information:
<dl>
<dt><b>Kommando</b>
<dd>Program och kommandoradsargument för denna process.
<dt><b>Process-ID</b>
<dd>Unikt process-ID.
<dt><b>Föräldraprocess</b>
<dd>Processen som skapade denna process. Klicka på namnet för att se
    uppgifter om föräldraprocessen.
<dt><b>Användare</b>
<dd>Den användare som äger processen och med vars rättigheter processen körs.
<dt><b>CPU-användning</b>
<dd>Andel (i procent) av den totala CPU-tiden som denna process använder för
    tillfället.
<dt><b>Storlek</b>
<dd>Mängd minne som används av denna process. Denna mängd kan delvis vara
    gemensam med andra processer.
<dt><b>Körtid</b>
<dd>CPU-tid (i minuter) som processen totalt har använt sedan den startades.
    Om processen inte är väldigt CPU-intensiv ska detta inte vara lika mycket
    som den tid som gått sedan processen startades.
<dt><b>Nice-nivå</b>
<dd>Prioritet som processen körs med. Det finns <a href=nice>mer
    information</a> om nice-nivå.
</dl>
Det kan också finnas mer information beroende på vilken Unix-version du kör.

<p>Nedanför processinformationen finns en knapp för att skicka en signal
till processen. Välj från listan den signal du vill skicka och tryck sedan
på <tt>Skicka signal</tt>. De mest användbara signalerna är <tt>KILL</tt>
och <tt>TERM</tt> som slår ihjäl processen.

<p>Om processen har några underprocesser visas dessa längst ned på sidan. Du kan
klicka på ett process-ID för att se mer uppgifter om respektive process.
<hr>

 0707010006d695000081a40000000000000002000000013d1fe2c900000449000000200000000000000000000000000000002a00000003reloc/proc/help/edit_proc.zh_TW.Big5.html <header>µ{§Ç¸ê°T</header>

³o¤@­¶Åã¥Ü¥X°õ¦æ¤¤µ{§Çªº¸Ô²Ó¸ê®Æ. ¦¹³B¦@·|Åã¥Ü¥X¥H¤Uªº¸ê®Æ:
<dl>
<dt><b>©R¥O</b>
<dd>³o­Óµ{§Çªº«ü¥O»P¬ÛÃöªº©R¥O¦C°Ñ¼Æ
<dt><b>µ{§Ç½s¸¹ (PID)</b>
<dd>±M¤@ªºµ{§Ç½s¸¹
<dt><b>¥Àµ{§Ç</b>
<dd>«Ø¥ß³o­Óµ{§Çªº­ì©lµ{§Ç. ÂI¿ï¤§¥HÀËµø¥Àµ{§Çªº¸Ô²Ó¸ê®Æ.
<dt><b>¾Ö¦³ªÌ</b>
<dd>¾Ö¦³³o­Óµ{§Çªº¨Ï¥ÎªÌ, »P¨Ï¥Î­þ­Ó¨Ï¥ÎªÌªºÅv­­°õ¦æ³o­Óµ{§Ç.
<dt><b>CPU ¨Ï¥Î¶q</b>
<dd>³o­Óµ{§Ç¥Ø«e¨Ï¥Îªº CPU ¦Ê¤À¤ñ.
<dt><b>°O¾ÐÅé¤j¤p</b>
<dd>³o­Óµ{§Ç¦û¥Îªº°O¾ÐÅé¤j¤p. ³¡¤Àªº°O¾ÐÅéªÅ¶¡¥i¯à¬O»P¨ä¥Lµ{§Ç¦@¨Éªº.
<dt><b>°õ¦æ®É¶¡</b>
<dd>¦b³o­Óµ{§Ç±Ò°Ê«á, ¹ê»Ú¨Ï¥Î±¼ªº CPU ®É¶¡. °£«D³o­Óµ{§Ç»Ý­n¬Û·í¦hªº CPU ¹Bºâ¯à¤O, ³o±N¤£»Pµ{¦¡±q¶}©l°õ¦æ¨ì¥Ø«eªº®É¶¡¬Û¦P.
<dt><b>Àu¥ýµ¥¯Å</b>
<dd>³o­Óµ{§Ç°õ¦æ®ÉªºÀu¥ýµ¥¯Å. <a href=nice>³oÃä</a>¦³§ó¦hÃö©óÀu¥ýµ¥¯Åªº°T®§.
</dl>
¨Ì¾Ú±zªº Unix ¨t²Îªº¤£¦P, ¥i¯à·|Åã¥Ü¥X§ó¦hªº¸ê°T. <p>

¦bµ{§Ç¸ê°Tªí³æ¤U­±ªº«ö¶s¥i¥HÅý±z°e¥X±±¨î°T¸¹µ¹³o­Óµ{§Ç. ½Ð±q¦Cªí¤¤¿ï¨ú±z»Ý­n°e¥Xªº±±¨î°T¸¹, ¨Ã¥B«ö¤U<tt>°e¥X±±¨î°T¸¹</tt>«ö¶s. ³Ì±`¥Îªº±±¨î°T¸¹¬° <tt>KILL</tt> »P <tt>TERM</tt>, ¥Î¥H§R°£³o­Óµ{§Ç. <p>

¦pªG³o­Óµ{§Ç¦³¥ô¦óªº¤lµ{§Ç, ¥¦­Ì³£·|³Q¦C¦b³o¤@­¶ªº©³ºÝ. «ö¤U¥¦ªº½s¸¹¥i¥HÅã¥Ü§ó¦hªº¸Ô²Ó¸ê°T. 
<hr>

   0707010006d696000081a40000000000000002000000013d1fe2c9000000f2000000200000000000000000000000000000001e00000003reloc/proc/help/input.ca.html <header>Entrada de l'Ordre</header>

A l'ordre, se li passarà el text introduït en aquest camp com si fos des de
l'entrada estàndard. Per exemple, si l'ordre és <tt>perl</tt>, llavors 
tota l'entrada s'executarà com un programa perl.

<hr>


  0707010006d697000081a40000000000000002000000013d1fe2c9000000f2000000200000000000000000000000000000001e00000003reloc/proc/help/input.es.html <header>Entrada para el comando</header>

Cualquier texto digitado en este campo será pasado al comando como su
entrada estándar. Por ejemplo, si el comando es <tt>perl</tt> entonces
la entrada sería ejecutada como un programa de perl.
<hr>

  0707010006d698000081a40000000000000002000000013d1fe2c80000008b000000200000000000000000000000000000001e00000003reloc/proc/help/input.fr.html <header>Entrée de la commande</header>

Tout texte de ce champ sera passé à la commande par l'intermédiaire de l'entrée standard.
<hr>
 0707010006d699000081a40000000000000002000000013d1fe2c8000000dd000000200000000000000000000000000000001b00000003reloc/proc/help/input.html    <header>Input to command</header>

Any text entered into this field will be passed to the command as
standard input. For example, if the command was <tt>perl</tt> then
any input would be executed as a perl program.
<hr>

   0707010006d69a000081a40000000000000002000000013d1fe2c9000000d8000000200000000000000000000000000000001e00000003reloc/proc/help/input.hu.html <header>Parancs bemenete</header>

Minden ebben a mezõben megadott szöveg a parancs szabványos bemenetét
fogja képezni. Például, ha parancs a <tt>perl</tt> volt, akkor a
bemenet perl programként végrehajtódik.
<hr>

0707010006d69b000081a40000000000000002000000013d1fe2c9000000f6000000200000000000000000000000000000001e00000003reloc/proc/help/input.pl.html <header>Dane wej¶ciowe</header>

Dowolny tekst wprowadzony w&nbsp;tym polu zostanie przekazany poleceniu jako
standardowe wej¶cie. Na przyk³ad, je¶li poleceniem bêdzie <tt>perl</tt>, to
dane wej¶ciowe zostan± wykonane jako program w perlu.
<hr>

  0707010006d69c000081a40000000000000002000000013d1fe2c9000000ed000000200000000000000000000000000000001e00000003reloc/proc/help/input.sv.html <header>Inmatning till kommando</header>

Den text du skriver här kommer att skickas till kommandot som normal
inmatning. Om du exempelvis har angivit kommandot <tt>perl</tt> kommer
inmatningen här att utföras som ett perlprogram.
<hr>

   0707010006d69d000081a40000000000000002000000013d1fe2c8000000a1000000200000000000000000000000000000002600000003reloc/proc/help/input.zh_TW.Big5.html <header>µ¹©R¥Oªº¿é¤J</header>

¥ô¦ó¦b³o­ÓÄæ¦ì¿é¤Jªº¤å¦r³£·|¸g¥Ñ¼Ð·Ç¿é¤J°eµ¹©Ò°õ¦æªº©R¥O. Á|¨Ò¦Ó¨¥, ¦pªG«ü¥O¬° <tt>perl</tt>, ¿é¤Jªº¸ê®Æ±N·|³Q perl ©Ò°õ¦æ.
<hr>

   0707010006d69e000081a40000000000000002000000013d1fe2c9000004bd000000200000000000000000000000000000001e00000003reloc/proc/help/intro.ca.html <header>Processos Unix</header>

UN procés és simplement un programa en execució al sistema. El teu fullejador
Web, gestor de finestres i servidor X són processos amb els quals pots
interaccionar directament. Molts altres processos s'executen en segon pla,
com ara els servidors Web i altres tasques del sistema. Es crea un nou procés
cada cop que introdueixes una ordre com ara <tt>ls</tt> o <tt>pwd</tt>, 
tot i que aquests processos normalment tenen una vida molt curta.
<p>
Cada procés te un ID únic, anomenat ID del procés o PID. Tot i que en tot
moment cada procés té un PID únic, al llarg del temps els PIDs poden ser
reutilitzats.
<p>
A part del procés inicial (anomenat normalment <tt>init</tt>), cada procés
té un procés pare a partir del qual es crea. Per exemple, si executes
<tt>vi</tt> des de la teva shell, el procés pare de <tt>vi</tt> serà la
teva shell. Un procés pot tenir qualsevol nombre de fills, però només 
un pare.
<p>
Cada procés s'executa amb els permisos d'algun usuari i algun grups,
que s'apliquen quan aquest ha d'accedir fitxers i directoris. Els usuaris
i els processos només poden matar els seus propis processos, excepte
<tt>root</tt>, que pot matar qualsevol cosa.
<p>

<hr>


   0707010006d69f000081a40000000000000002000000013d1fe2c800000503000000200000000000000000000000000000001e00000003reloc/proc/help/intro.es.html <header>Procesos Unix</header>

Un proceso es simplemente una programa que se está ejecutando bajo tu sistema.
Tu visor web, gestor de ventanas, ventana de terminales y servidor X son
todos procesos con los que interactúas directamente. Muchos otros procesos son
ejecutados en segundo plano como servidores web y otras tareas del sistema.
Se crea un nuevo proceso cada vez que digitas un comando como <tt>ls</tt>
o <tt>pwd</tt>, aunque típicamente estos comandos son de corta vida. <p>

Cada proceso tiene una ID única, llamada la ID del proceso o PID. Al ejecutar
cada proceso en un momento dado, se le asigna una ID diferente, con
el tiempo las PIDs pueden ser reutilizadas. <p>

Aparte del proceso inicial (típicamente llamado <tt>init</tt>) cada uno tiene
un proceso padre desde el cual ha sido creado. Por ejemplo, si ejecutas
<tt>vi</tt> desde el prompt del shell, el proceso padre de <tt>vi</tt> será
tu shell. Un proceso puede tener cualquier número de hijos, pero sólo un
padre. <p>

Cada proceso se ejecuta con los permisos de algún usuario y grupo los cuales
se aplican cada vez que accede a archivos y directorios. Los usuarios y
procesos pueden matar sólamente los procesos que les pertenezcan, con la
excepción de <tt>root</tt> que puede matar a cualquiera. <p>

<hr>

 0707010006d6a0000081a40000000000000002000000013d1fe2c9000005a2000000200000000000000000000000000000001e00000003reloc/proc/help/intro.fr.html <header>Processus sous Unix</header>

Un processus est simplement un programme exécuté sur votre système. Votre navigateur web, un gestionnaire de fenêtre, un terminal et le serveur X sont tous des processus avec lesquels vous interagissez directement. Plusieurs autres processus sont exécutés en arrière plan, comme un serveur web et d'autre tâches systèmes. Un nouveau processus est créé chaque fois que vous entrez une commande comme <tt>ls</tt> ou <tt>pwd</tt> ce qui implique qu'un processus a souvent une courte durée de vie.<p>

Chaque processus a un numéro unique. A chaque exécution de programme, le numéro est incrémenté et recommencera à 1 une fois arrivé à 32768 en sautant les numéros encore utilisés. Le même numéro  ne pourra jamais être utilisé par deux processus en même temps.<p>

A part le processus initial (généralement appelé <tt>init</tt>), chaque processus a un parent à partir duquel il a été créé. Par exemple, si vous exécutez <tt>vi</tt> à partir de votre interpréteur de commandes, <tt>vi</tt> aura l'intepréteur de commandes comme parent.  Un processus peut avoir plusieurs enfants mais un seul et unique parent.<p>

Chaque processus s'exécute avec les permissions de l'usager et du groupe, qui s'applique quand il accède fichier et répertoire.  Les usagers et processus peuvent seulement tuer d'autre processus dont ils sont propriétaire, à l'exception de <tt>root</tt> qui peut tout faire.<p>

<hr>
  0707010006d6a1000081a40000000000000002000000013d1fe2c900000472000000200000000000000000000000000000001b00000003reloc/proc/help/intro.html    <header>Unix Processes</header>

A process is simply a running program on your system. Your web browser,
window manager, terminal window and X server are all processes that you
interact with directly. Many other processes run in the background,
such as web servers and other system tasks. A new process is created every
time you type a command like <tt>ls</tt> or <tt>pwd</tt>, though such processes
are typically short-lived. <p>

Every process has a unique ID, called the process ID or PID. While every
process running at any one time has a different ID, over time PIDs may be
re-used. <p>

Apart from the initial process (typically called <tt>init</tt>) each has a
parent process from which it was created. For example, if you run <tt>vi</tt>
from your shell prompt, <tt>vi</tt>'s parent process will be your shell.
A process can have any number of children, but only one parent. <p>

Each process runs with the permissions of some user and group, which apply
when it accesses files and directories. Users and processes may only kill
other processes that they own, with the exception of <tt>root</tt> who
can kill anything. <p>

<hr>

  0707010006d6a2000081a40000000000000002000000013d1fe2c900000524000000200000000000000000000000000000001e00000003reloc/proc/help/intro.hu.html <header>Unix processzek</header>

A processz nem más, mint egy egyszerû, az Ön rendszerén futó program. A
webböngészõ, az ablakkezelõ, a terminál ablak, az X kiszolgáló, mind-mind
olyan processz, amely közvetlenül érvényesíti hatását. Számos egyéb
processz a háttérben fut, mint pl. a webkiszolgáló és egyéb rendszerszintû
munkák. Egy új processz jön létre minden egyes alkalommal, amikor begépel
egy parancsot, mint amilyen az <tt>ls</tt> vagy a <tt>pwd</tt>, bár ezek
jellegzetesen rövid életûek.<p>

Minden processz rendelkezik egy egyedi azonosítóval (ID), amelyett processz
ID-nek vagy PID-nek nevezünk. Egyidõben futó processzeknek különbözõ
a PID-jük, de egy idõ elteltével a PID-ek újra használatba kerülhetnek.<p>

A kezdeti processztõl való leválástól (amit általában <tt>init</tt>nek 
hívnak) kezdve mindegyiknek van egy szülõ processze, amely õt létrehozta.
Például, ha a <tt>vi</tt>-t a shell parancssorból futtatja, a <tt>vi</tt>
szülõ processze a shell lesz. Egy processznek több gyereke lehet, de csak
egy szülõje.<p>

Minden processz egy(néhány) felhasználó és csoport jogosultságaival fut,
amely fájlok és könyvtárak hozzáférésekor használatos. A felhasználók és
a processzek csak azokat processzeket lõhetik ki, amelyeket birtokolnak.
Ez alól kivétel a <tt>root</tt>, aki bármit kilõhet.<p>

<hr>
0707010006d6a3000081a40000000000000002000000013d1fe2c900000515000000200000000000000000000000000000001e00000003reloc/proc/help/intro.pl.html <header>Procesy uniksowe</header>

Proces jest to po prostu dzia³aj±cy w&nbsp;Twoim systemie program. Twoja
przegl±darka, zarz±dca okienek, okienko terminala czy X serwer - wszystkie
s± procesami, z&nbsp;którymi siê bezpo¶rednio komunikujesz. Wiele innych
procesów, jak serwery WWW czy inne zadania systemowe, dzia³a w&nbsp;tle.
Za ka¿dym razem, gdy wydasz polecenie takie, jak <tt>ls</tt> czy
<tt>pwd</tt> tworzony jest nowy proces, jednak¿e takie procesy s± zazwyczaj
krótko¿yj±ce. <p>

Ka¿dy proces posiada swój unikalny numer ID, zwany numerem ID procesu lub
PID-em. Ka¿dy dzia³aj±cy w&nbsp;danej chwili proces ma inny numer ID, lecz
PID-u procesów, które zakoñczy³y dzia³anie mog± byæ pó¼niej u¿yte ponownie.
<p>

Oprócz procesu inicjuj±cego (zazwyczaj zwanego <tt>init</tt>), ka¿dy ma
swojego rodzica, który go utworzy³. Na przyk³ad, je¿eli uruchomisz
<tt>vi</tt> z&nbsp;linii poleceñ, rodzicem <tt>vi</tt> bêdzie twoja pow³oka.
Proces mo¿e mieæ dowolna liczbê potomków, ale tylko jednego rodzica. <p>

Ka¿dy proces dzia³a z&nbsp;prawami pewnego u¿ytkownika i&nbsp;pewnej grupy,
które maj± zastosowanie przy dostêpie przez niego do plików. U¿ytkownicy
i&nbsp;procesy mog± zabijaæ jedynie inne procesy, których s± w³a¶cicielami,
za wyj±tkiem <tt>root</tt>a, który mo¿e zabiæ wszystko. <p>

<hr>

   0707010006d6a4000081a40000000000000002000000013d1fe2c800000459000000200000000000000000000000000000001e00000003reloc/proc/help/intro.sv.html <header>Unix-processer</header>

En process är enkelt uttryckt ett program som körs på systemet. Webbrowsern,
fönsterhanteraren, terminalfönstret och X-servern är processer som man kan
påverka direkt. Andra processer kör i bakgrunden, exempelvis webservrar
och andra systemprogram. Varje gång man skriver in ett kommando, t ex
<tt>ls</tt> ellr <tt>pwd</tt>, skapas en process (fast dessa processer är
väldigt kortlivade).

<p>Varje process har ett unikt ID som kallas process-ID eller PID. Processer
som kör samtidigt har olika ID, men med tiden återanvänds PID-nummer.

<p>Bortsett från initieringsprocessen (vanligen <tt>init</tt>) har varje
process en föräldraprocess som skapade den. Om man t ex kör <tt>vi</tt>
från skalprompten är föräldraprocessen till <tt>vi</tt> skalet. En process
kan ha ett obegränsat antal underprocesser men endast en förälder.

<p>Varje process körs med någon användares och grupps rättigheter, som
gäller då processen försöker komma åt filer och kataloger. Användare och
processer får bara slå ihjäl processer som de själva äger, utom <tt>root</tt>,
som får slå ihjäl allt.

<hr>

   0707010006d6a5000081a40000000000000002000000013d1fe2c900000339000000200000000000000000000000000000002600000003reloc/proc/help/intro.zh_TW.Big5.html <header>Unix µ{§Ç</header>

µ{§Ç¬O¦b±zªº¨t²Î¤W°õ¦æªºµ{¦¡. ±zªººô­¶ÂsÄý¾¹, µøµ¡ºÞ²zªÌ, ²×ºÝ¾÷µøµ¡»P X ¦øªA¾¹µ¥µ¥³£¬O»P±zª½±µ¤¬°Êªºµ{§Ç. ÁÙ¦³³\¦h¦b­I´º°õ¦æªºµ{§Ç, ¨Ò¦pºô­¶¦øªA¾¹©Î¨ä¥Lªº¨t²Î¤u§@µ¥µ¥. ¨C·í±z°õ¦æ¤@­Ó©R¥O¨Ò¦p <tt>ls</tt> ©Î <tt>pwd</tt> µ¥µ¥®É, ³£·|«Ø¥ß¤@­Ó·sªºµ{§Ç, ¦Ó³o¨Çµ{§Ç¤@¯ë¦Ó¨¥¦s¬¡´Á³£¬Û·íµu. <p>

¨C­Óµ{§Ç³£·|¦³¤@­Ó°ß¤@ªº½s¸¹, ¥s§@µ{§Ç½s¸¹ (PID). ¨C¤@­Ó°õ¦æ¤¤ªºµ{§Ç³£·|¦³¤£¦Pªº½s¸¹, ¦Ó¨Ï¥Î¹L«áªº½s¸¹¥i¥H³Q¦^¦¬­«·s¨Ï¥Î. <p>

¤£¦Ò¼{°_©l¤Æªºµ{§Ç (¤@¯ë¥s§@ <tt>init</tt>), ¨C¤@­Óµ{§Ç³£·|¦³«Ø¥ß¥¦ªº¥Àµ{§Ç. Á|¨Ò¦Ó¨¥, ¦pªG±z±q¨t²Î©R¥O´ß°õ¦æ <tt>vi</tt> µ{¦¡, <tt>vi</tt> ªº¥Àµ{§Ç«K¬O±zªº©R¥O´ß. ¨C­Óµ{§Ç³£¥i¥H¦³¦h­Ó¤lµ{§Ç, ¦ý³£¥u·|¦³¤@­Ó¥Àµ{§Ç. <p>

¨C­Óµ{§Ç³£·|¦³¹ïÀ³ªº¨Ï¥ÎªÌ©Î¸s²ÕªºÅv­­, ¹ïÀ³¨ì©Ò¯à¨Ï¥ÎªºÀÉ®×©Î¥Ø¿ýÅv­­. ¨Ï¥ÎªÌ»Pµ{§Ç³£¥u¯à§R°£¨ä©Ò¾Ö¦³ªºµ{§Ç, ¦Ó¥u¦³ <tt>root</tt> ¥i¥H§R°£¥ô·Nªºµ{§Ç. <p>

<hr>

   0707010006d6a6000081a40000000000000002000000013d1fe2c9000001b0000000200000000000000000000000000000001d00000003reloc/proc/help/mode.ca.html  <header>Mode d'execució</header>

<dl>
   <dt><b>Executa en segon pla</b>
   <dd>L'ordre s'iniciarà en segon pla i el fullejador es redireccionarà a
       la llista de processos en execució.<p>
   <dt><b>Espera't fins que acabi</b>
   <dd>L'ordre s'executarà i se'n mostrarà el resultat. Aquesta opció no
       s'ha de fer servir per ordres que s'executen indefinidament, com
       ara els processos servidors. <p>
</dl>

<hr>


0707010006d6a7000081a40000000000000002000000013d1fe2c9000001a1000000200000000000000000000000000000001d00000003reloc/proc/help/mode.es.html  <header>Modo de ejecución</header>

<dl>
<dt><b>Ejecutar en segundo plano</b>
<dd>El comando será iniciado en segundo plano y tu visor dirigido a la lista
    de procesos en ejecución. <p>
<dt><b>Esperar hasta que termine</b>
<dd>El comando será ejecutado y mostrada su salida. Esta opción no debería
    de ser usada para comandos que se ejecutan por siempre tales como los
    procesos de servidor. <p>
</dl>
<hr>

   0707010006d6a8000081a40000000000000002000000013d1fe2c90000019e000000200000000000000000000000000000001d00000003reloc/proc/help/mode.fr.html  <header>Modes d'exécution</header>

<dl>
<dt><b>Exécute en arrière plan</b>
<dd>Cette commande sera exécutée en arrière plan et votre navigateur reviendra à la liste des processus. <p>
<dt><b>Attendre son exécution complète</b>
<dd>La commande s'exécutera et sa sortie affichée. Cette option ne devrait pas être utilisée pour des commandes qui s'exécute continuellement, comme les serveurs.<p>
</dl>
<hr>
  0707010006d6a9000081a40000000000000002000000013d1fe2c900000174000000200000000000000000000000000000001a00000003reloc/proc/help/mode.html <header>Run mode</header>

<dl>
<dt><b>Run in background</b>
<dd>The command will be started in the background and your browser directed
    to the list of running processes. <p>
<dt><b>Wait until complete</b>
<dd>The command will be run and its output displayed. This option should not
    be used for commands that run forever, such as server processes. <p>
</dl>
<hr>

0707010006d6aa000081a40000000000000002000000013d1fe2c900000178000000200000000000000000000000000000001d00000003reloc/proc/help/mode.hu.html  <header>Futás módja</header>

<dl>
<dt><b>Futtatás háttérben</b>
<dd>A program a háttérben indul és a böngészõje átirányítódik a futó
processzek listájához.<p>
<dt><b>Várakozás befejezésig</b>
<dd>A parancs lefut és a kimenete megjelenik. Ez a kapcsoló nem használható
olyan programok esetében, amelyek a végtelenségig futnak, mint pl. a
kiszolgáló processzek.<p>
</dl>
<hr>

0707010006d6ab000081a40000000000000002000000013d1fe2c9000001ae000000200000000000000000000000000000001d00000003reloc/proc/help/mode.pl.html  <header>Sposób uruchomienia</header>

<dl>
<dt><b>Uruchom w&nbsp;tle</b>
<dd>Polecenie zostanie uruchomione w&nbsp;tle, a&nbsp;twoja przegl±darka
    skierowana do listy dzia³aj±cych procesów. <p>
<dt><b>Czekaj na zakoñczenie</b>

<dd>Polecenie zostanie uruchomione, a&nbsp;jego wyniki wy¶wietlone. Ta opcja
    nie powinna byæ u¿ywana do poleceñ, które nie koñcz± dzia³ania, jak na
    przyk³ad procesy serwerów. <p>
</dl>
<hr>

  0707010006d6ac000081a40000000000000002000000013d1fe2c800000151000000200000000000000000000000000000001d00000003reloc/proc/help/mode.sv.html  <header>Körläge</header>

<dl>
<dt><b>Kör i bakgrunden</b>
<dd>Kommandot startas i bakgrunden och browsern visar listan över processer.
<dt><b>Vänta tills det är färdigt</b>
<dd>Kommandot kärs och utmatningen visas. Detta alternativ bör inte användas
    för kommandon som ska köras tills vidare, exempelvis serverprocesser.
</dl>
<hr>

   0707010006d6ae000081a40000000000000002000000013d1fe2c900000116000000200000000000000000000000000000002500000003reloc/proc/help/mode.zh_TW.Big5.html  <header>°õ¦æ¼Ò¦¡</header>

<dl>
<dt><b>¦b­I´º¤¤°õ¦æ</b>
<dd>³o­Ó©R¥O±N·|¦b­I´º¤¤°õ¦æ, ¦Ó¥B±zªºÂsÄý¾¹·|ª½±µ­«·s¦C¥X°õ¦æ¤¤ªºµ{§Ç. <p>
<dt><b>µ¥«Ýª½¨ì°õ¦æ§¹²¦</b>
<dd>³o­Ó©R¥O±N·|³Q°õ¦æ, ¥BÅã¥Ü¥X¨ä¬ÛÃö¿é¥X. ³o­Ó¿ï¶µ¤£À³¸Ó¥Î¦b·|¥Ã»·°õ¦æªº©R¥O¤W, ¨Ò¦p¤@­Ó¦øªA¾¹µ{§Ç. <p>
</dl>
<hr>

  0707010006d6af000081a40000000000000002000000013d1fe2c900000223000000200000000000000000000000000000001d00000003reloc/proc/help/nice.ca.html  <header>Nivell nice</header>

Cada procés s'executa amb una certa prioritat, anomenada nivell <i>nice</i>.
Un procés amb una prioritat molt alta obtindrà més temps de CPU que aquells
amb prioritats més baixes, així dóna la impressió d'executar-se més de pressa.
Canviar el nivell <i>nice</i> només té sentit amb programes que facin servir
molta CPU, ja que la majoria de programes gasten gairebé tot el seu temps
esperant alguna cosa (com ara la intervenció de l'usuari) i no es beneficien
ni perjudiquen dels canvis en la seva prioritat.

<hr>


 0707010006d6b0000081a40000000000000002000000013d1fe2c9000001f3000000200000000000000000000000000000001d00000003reloc/proc/help/nice.es.html  <header>Nivel de Nice</header>

Cada proceso se ejecuta con una cierta prioridad, llamada nivel de nice.
Un proceso de alta prioridad obtiene más tiempo de UCP que los que tienen
prioridades inferiores y por ello se ejecuta más rápido. Cambiar el nivel
de nice sólo tiene sentido real para los procesos de uso intensivo de UCP
ya que la mayoría de programas gastan la mayor parte de su tiempo esperando
por algo (como una entrada) y por ello no se benefician o sufren cambios en
la prioridad.
<hr>

 0707010006d6b1000081a40000000000000002000000013d1fe2c80000020b000000200000000000000000000000000000001d00000003reloc/proc/help/nice.fr.html  <header>Niveau de priorité</header>

Chaque processus est exécuté avec une certaine priorité, appelée niveau de priorité. Un haut niveau de priorité prendra facilement plus de puissance processeur, et le processus semblera ainsi s'exécuter plus rapidement. Changer la priorité d'un processus ne sert qu'aux processus nécessitant beaucoup de puissance. Comme la majorité des processus passent la plupart de leurs temps à attendre quelque chose (comme l'entrée standard), ils ne tirerent rien d'un tel changement.

<hr>
 0707010006d6b2000081a40000000000000002000000013d1fe2c9000001bd000000200000000000000000000000000000001a00000003reloc/proc/help/nice.html <header>Nice Level</header>

Every process runs with a certain priority, called the nice level. A high
priority process will get more CPU time than those with lower priorities,
and thus appear to run faster. Changing the nice level only really makes
sense for CPU-intensive processes, as most programs spend almost all of
their time waiting for something (such as user input) and thus will not
benefit or suffer if their priority changes.
<hr>

   0707010006d6b4000081a40000000000000002000000013d1fe2c9000001b4000000200000000000000000000000000000001d00000003reloc/proc/help/nice.hu.html  <header>Nice-szint</header>

Minden processz egy bizonyos prioritással fut, amit nice-szintnek
hívnak. A magasabb prioritású processzek több CPU-idõt kapnak a kevesebbel
rendelkezõknél, ami a gyorsabb futásban nyilvánul meg. A nice-szint
változtatása igen érzékenyen hat a CPU-igényes processzekre, ám a
legtöbb program az idõ nagyrészét várakozással (pl. bemenetre) tölti és
így nem érinti veszteség, ha megváltozik a prioritása.
<hr>
0707010006d6b5000081a40000000000000002000000013d1fe2c90000021b000000200000000000000000000000000000001d00000003reloc/proc/help/nice.pl.html  <header>Poziom nice</header>

Kazdy proces dzia³a z&nbsp;pewnym priorytetem, zwanym poziomem nice. Proces
o&nbsp;wysokim priorytecie dostanie wiêcej czasu CPU ani¿eli procesy
o&nbsp;niskim priorytecie, wiêc bêdzie sprawia³ wra¿enie szybciej
dzia³aj±cego. Zmiana poziomu nice ma w&nbsp;istocie sens jedynie dla
procesów intensywnie wykorzystuj±cych procesor, jako ¿e wiêkszo¶æ programów
spêdza wiêkszo¶æ czasu czakaj±c na co¶ (na przyk³ad na dane od u¿ytkownika).
Zatem zmiana ich priorytetu nie spowoduje ¿adnych szkód ani korzy¶ci.

<hr>
 0707010006d6bf000081a40000000000000002000000013d1fe2c9000001c9000000200000000000000000000000000000001d00000003reloc/proc/help/nice.sv.html  <header>Nice-nivå</header>

Varje process körs med en prioritet som kallas nice-nivå. En process med
hög prioritet kommer att få mer CPU-tid än de med lägre prioriteter och
kommer därför att verka köra fortare. Det är bara meningsfullt att ändra
nice-nivå för CPU-intensiva processer eftersom de allra flesta program
mest väntar på något (t ex inmatning från användaren) och därför inte
kommer att gå snabbare eller långsammare om prioriteten ändras.
<hr>

   0707010006d6c2000081a40000000000000002000000013d1fe2c800000166000000200000000000000000000000000000002500000003reloc/proc/help/nice.zh_TW.Big5.html  <header>Àu¥ýµ¥¯Å</header>

¨C¤@­Óµ{§Ç³£·|¨Ì¾Ú¯S©wªºÀu¥ýÅv°õ¦æ, ºÙ¬°Àu¥ýµ¥¯Å (nice level). ¤@­Ó¨ã¦³¸û°ªÀu¥ýµ¥¯Åªºµ{§Ç±N·|±o¨ì¤ñ¸û§Cµ¥¯Åµ{§Ç¸û¦hªº CPU ®É¶¡, ¤]´N¬O·|°õ¦æªº¸û§Ö. §ïÅÜÀu¥ýµ¥¯Å¥u·|¼vÅT¨ì¹ê»Úªº CPU ®É¶¡, ©Ò¥H¥u¦³¹ï°ª CPU ¥Î¶qªºµ{¦¡¦³·N¸q. ¨Æ¹ê¤W¤j¦h¼Æµ{¦¡ªº°õ¦æ´Á¶¡³£¦bµ¥«Ý¬Y¨Ç¸ê·½ (¨Ò¦p¨Ï¥ÎªÌ¿é¤Jµ¥), ¹ï©ó³o¨Çµ{¦¡§ïÅÜÀu¥ýµ¥¯Å¤£·|¦³¥ô¦óÀ°§U.
<hr>

  0707010006d6c3000081a40000000000000002000000013d1fe2c90000004e000000200000000000000000000000000000002100000003reloc/proc/help/overview.ca.html  Per a més informació sobre processos Unix, fes clic <a href=intro>aquí</a>.


  0707010006d6c4000081a40000000000000002000000013d1fe2c900000057000000200000000000000000000000000000002100000003reloc/proc/help/overview.es.html  Para más información acerca de los procesos Unix, <a href=intro.es>haz click aquí</a>.
 0707010006d86c000081a40000000000000002000000013d1fe2c90000004e000000200000000000000000000000000000002100000003reloc/proc/help/overview.fr.html  Pour plus d'information sur les processus Unix, <a href=intro>cliquez ici</a>.  0707010006d86d000081a40000000000000002000000013d1fe2c900000049000000200000000000000000000000000000001e00000003reloc/proc/help/overview.html For more information about Unix processes, <a href=intro>click here</a>.
   0707010006d86e000081a40000000000000002000000013d1fe2c90000005a000000200000000000000000000000000000002100000003reloc/proc/help/overview.hu.html  További, Unix processzekkel kapcsolatos információkért 
<a href=intro>kattintson ide</a>.
  0707010006d86f000081a40000000000000002000000013d1fe2c900000056000000200000000000000000000000000000002100000003reloc/proc/help/overview.pl.html  Po dodatkowe informacje o&nbsp;procesach uniksowych <a href=intro>naci¶nij
tutaj</a>.
  0707010006d870000081a40000000000000002000000013d1fe2c900000044000000200000000000000000000000000000002100000003reloc/proc/help/overview.sv.html  <a href=intro>Klicka här</a> för mer information om Unix-processer.
0707010006d871000081a40000000000000002000000013d1fe2c900000042000000200000000000000000000000000000002900000003reloc/proc/help/overview.zh_TW.Big5.html  ­n¨ú±o§ó¦hÃö©ó Unix µ{§Çªº¬ÛÃö°T®§, ½Ð<a href=intro>«ö¤U³o¨à</a>.
  0707010006d872000081a40000000000000002000000013d1fe2c9000000ea000000200000000000000000000000000000001c00000003reloc/proc/help/run.ca.html   <header>Gestor de Processos - Execució d'Ordre</header>

Aquest formulari permet executar ordres al sistema i, opcionalment,
mostrar-ne el resultat. També pots introduir text per passar-li al
programa com a entrada estàndard.

<hr>


  0707010006d873000081a40000000000000002000000013d1fe2c9000000f5000000200000000000000000000000000000001c00000003reloc/proc/help/run.es.html   <header>Gestor de Procesos - Ejecutar Comando</header>

Este formulario te permite ejecutar algún comando en tu sistema y opcionálmente
mostrar su salida. Puedes digitar el texto que ha de ser pasado al programa
como su entrada estándar.

<hr>

   0707010006d874000081a40000000000000002000000013d1fe2c9000000f6000000200000000000000000000000000000001c00000003reloc/proc/help/run.fr.html   <header>Exécuter une commande</header>

Cette page vous permet d'exécuter des commandes sur votre système et éventuellement d'en afficher la sortie. Vous pouvez aussi entrer du texte qui sera passé dans l'entrée standard du programme.

<hr>
  0707010006d875000081a40000000000000002000000013d1fe2c8000000e7000000200000000000000000000000000000001900000003reloc/proc/help/run.html  <header>Process Manager - Run Command</header>

This form allows you to execute some command on your system, and optionally
display the output. You may also enter text which will be passed to the
program as standard input. 

<hr>

 0707010006d876000081a40000000000000002000000013d1fe2c9000000f7000000200000000000000000000000000000001c00000003reloc/proc/help/run.hu.html   <header>Processz menedzser - parancs futtatása</header>

Ezzel az ûrlappal a rendszerén néhány parancsot hajthat végre, és
tetszõlegesen megjelenítheti a kimenetet. Egy szöveg is megadható,
amely a program szabványos bemenetét képezi majd.

<hr>

 0707010006d877000081a40000000000000002000000013d1fe2c90000012e000000200000000000000000000000000000001c00000003reloc/proc/help/run.pl.html   <header>Zarz±dca procesów - uruchamianie</header>

Przy u¿yciu tego formularza mo¿esz uruchomiæ pewne polecenie w&nbsp;swoim
systemie i, ewentualnie, zobaczyæ wyniki jego wykonania (standardowe
wyj¶cie). Mo¿esz równie¿ wpisaæ tekst, który bêdzie stanowi³ dane dla
programu (standardowe wej¶cie).

<hr>
  0707010006d878000081a40000000000000002000000013d1fe2c9000000eb000000200000000000000000000000000000001c00000003reloc/proc/help/run.sv.html   <header>Processhanterare - utför kommando</header>

I detta formulär kan du utföra kommandon i systemet och dessutom välja att
visa utmatningen. Du kan också skriva in text som ska skickas till programmet
som standardinmatning.

<hr>

 0707010006d879000081a40000000000000002000000013d1fe2c80000009a000000200000000000000000000000000000002400000003reloc/proc/help/run.zh_TW.Big5.html   <header>µ{§ÇºÞ²zªÌ - °õ¦æ©R¥O</header>

³o­Óªí³æ¥i¥HÅý±z°õ¦æ¦b±z¨t²Î¤Wªº¤@¨Ç©R¥O, ¨Ã¿ï¾Ü©ÊªºÅã¥Ü¿é¥X. ±z¤]¥i¥H¿é¤J¤@¨Ç­n°eµ¹¸Óµ{¦¡¼Ð·Ç¿é¤Jªº¤å¦r. 

<hr>

  0707010006d87a000081a40000000000000002000000013d1fe2c900000098000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.ca.html  <header>que utilitza més de</header>

Aquest criteri de recerca troba els processos que fan servir més d'un
cert percentatge de CPU al sistema.

<hr>


0707010006d87b000081a40000000000000002000000013d1fe2c80000008d000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.es.html  <header>Usando más de</header>

Este criterio de búsqueda busca procesos que usen más de un porcentaje de
tiempo de UCP en tu sistema.
<hr>

   0707010006d87c000081a40000000000000002000000013d1fe2c8000000c0000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.fr.html  <header>Utilisant plus que</header>

Ce critère de recherche permet de trouver les processus utilisant plus qu'un certain pourcentage de la puissance du processeur sur votre système.
<hr>
0707010006d87d000081a40000000000000002000000013d1fe2c900000089000000200000000000000000000000000000001a00000003reloc/proc/help/scpu.html <header>Using more than</header>

This search criteria finds processes using more than some percentage of
CPU time on your system.
<hr>

   0707010006d87e000081a40000000000000002000000013d1fe2c900000099000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.hu.html  <header>Ha [ ]% CPU</header>

Ezzel a kritériummal olyan processzek találhatók meg, amelyek CPU-kihasználtsága
nagyobb a szövegmezõben megadottnál.
<hr>
   0707010006d87f000081a40000000000000002000000013d1fe2c9000000a6000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.pl.html  <header>U¿ywaj±cy wiêcej ni¿</header>

To kryterium szukania pozwala znale¼æ procesy zu¿ywaj±ce w&nbsp;twoim
systemie wiêcej ni¿ zadany procent mocy procesora.
<hr>

  0707010006d880000081a40000000000000002000000013d1fe2c900000088000000200000000000000000000000000000001d00000003reloc/proc/help/scpu.sv.html  <header>Använder mer än ...</header>

Här kan du söka efter processer som använder mer än en viss andel av
CPU-tiden på systemet.
<hr>

0707010006d881000081a40000000000000002000000013d1fe2c90000006a000000200000000000000000000000000000002500000003reloc/proc/help/scpu.zh_TW.Big5.html  <header>¶W¹L... CPU ¨Ï¥Î¶q</header>

³o­Ó·j´M°ò·Ç§ä´M¦b±zªº¨t²Î¤W¨Ï¥Î¶W¹L«ü©w CPU ®É¶¡¦Ê¤À¤ñªºµ{¦¡.
<hr>

  0707010006d882000081a40000000000000002000000013d1fe2c9000002bc000000200000000000000000000000000000001f00000003reloc/proc/help/search.ca.html    <header>Gestor de Processos - Formulari de Recerca</header>

Aquest formulari permet buscar processos que coincideixin amb alguns
criteris. Quan facis clic al botó <tt>Busca</tt>, es mostrarà sota el
formulari la llista dels processos coincidents. Per cadascun es mostrarà
el PID, l'usuari, l'ús de CPU i l'ordre. Fes clic sobre el PID per veure 
més informació d'un procés.
<p>
Sota la llista dels resultats de la recerca, hi ha un botó per enviar un
senyal als processos llistats. Selecciona a la llista el senyal que vols
enviar, llavors fes clic sobre el botó <tt>Envia el Senyal</tt>. Els senyals
més útils són <tt>KILL</tt> i <tt>TERM</tt>, per matar els processos.

<include overview>

<hr>


0707010006d883000081a40000000000000002000000013d1fe2c9000002de000000200000000000000000000000000000001f00000003reloc/proc/help/search.es.html    <header>Gestor de Procesos - Formulario de Búsqueda</header>

Este formulario te permite buscar procesos que cumplen algún criterio.
Cuando se hace click en el botón de <tt>Búsqueda</tt>, se muestra bajo el
formulario una lista de procesos que coinciden. Para cada uno se muestra
la PID, propietario, uso de UCP y el comando. Haz click en la PID para
mostrar más información acerca del proceso. <p>

Bajo la lista de resultados de la búsqueda hay un botón para enviar una
señal a los procesos que coincidan. Selecciona la señal que deseas enviar de
la lista y haz click en el botón <tt>Enviar Señal</tt>. Las señales más útiles
son <tt>KILL</tt> y <tt>TERM</tt>, para matar los procesos en ejecución. <p>

<include overview.es>
<hr>

  0707010006d884000081a40000000000000002000000013d1fe2c800000310000000200000000000000000000000000000001f00000003reloc/proc/help/search.fr.html    <header>Formulaire de recherche</header>

Cette page vous permet de rechercher des processus selon certains critères. Quand vous cliquez sur le bouton <tt>Rechercher</tt>, une liste des processus correspondants s'affiche en dessous. Pour chaque processus, le numéro, le propriétaire, l'utilisation du processeur et la commande sont affichés. Cliquer sur le numéro de processus affichera des informations supplémentaires sur le processus.<p>

Sous la liste des résultats de recherche se trouve un bouton qui envoie un signal au processus correspondant. Choisissez le signal que vous voulez envoyer au processus et cliquez sur le bouton <tt>Envoyer un signal</tt>. Les signaux les plus utiles sont <tt>KILL</tt> et <tt>TERM</tt> pour tuer un processus.

<include overview>
<hr>
0707010006d885000081a40000000000000002000000013d1fe2c900000299000000200000000000000000000000000000001c00000003reloc/proc/help/search.html   <header>Process Manager - Search Form</header>

This form allows you to search for processes matching some criteria.
When the <tt>Search</tt> button is clicked, a list of matching processes
will be displayed below the form. For each, the PID, owner, CPU use and
command is displayed. Click on the PID to display more information about
a process. <p>

Below the list of search results is a button for sending a signal to
the matching processes. Select the signal that you want to send from the
list, then click the <tt>Send Signal</tt> button. The most useful signals
are <tt>KILL</tt> and <tt>TERM</tt>, for killing running processes. <p>

<include overview>
<hr>

   0707010006d886000081a40000000000000002000000013d1fe2c9000002bd000000200000000000000000000000000000001f00000003reloc/proc/help/search.hu.html    <header>Processz menedzser - keresés ûrlap</header>

Ezzel az ûrlappal bizonyos kritériumokkal egyezõ processzeket kereshet.
Ha megnyomja a <tt>Keresés</tt> gombot, az egyezõ processzek megjelennek
a lap alján. Mindegyiknek megjelenik a PID-je, a tulajdonosának neve
és a CPU-kihasználtsága illetve a parancs neve. A processzel kapcsolatos
bõvebb információkért kattintson a PID-jére.<p>

A keresés eredménye alatt találtható egy nyomógomb, mellyel jelzés küldhetõ
a processzeknek. Válassza ki az elküldendõ szignált a listából majd kattintson
a <tt>Jelzés küldése</tt> gombra. A <tt>KILL</tt> és a <tt>TERM</tt> a
leginkább használható jelzések egy processz kilövéséhez.<p>

<include overview>
<hr>

   0707010006d887000081a40000000000000002000000013d1fe2c900000312000000200000000000000000000000000000001f00000003reloc/proc/help/search.pl.html    <header>Zarz±dca procesów - szukanie</header>

Przy u¿yciu tego formularza mo¿esz znale¼æ procesy spe³niaj±ce pewne
warunki. Gdy zostanie naci¶niêty przycisk <tt>Szukaj</tt>, poni¿ej
formularza pojawi siê lista procesów spe³niaj±cych zadane kryteria.
Przy ka¿dym procesie podany jest jego numer PID, w³a¶ciciel, wykorzystanie
procesora oraz polecenie uruchamiaj±ce. Naci¶nij na numer PID, aby
wy¶wietliæ wiêcej informacji o&nbsp;procesie. <p>

Poni¿ej listy z&nbsp;wynikami poszukiwania znajduje siê przycisk do wys³ania
sygna³u do znalezionych procesów. Wybierz sygna³, który chcesz wys³aæ,
a&nbsp;nastêpnie naci¶nij przycisk <tt>Wy¶lij sygna³</tt>. Najczê¶ciej
u¿ywanymi sygna³±mi s± <tt>KILL</tt> i&nbsp;<tt>TERM</tt> dla zabicia
dzia³aj±cych procesów. <p>

<include overview>
<hr>

  0707010006d888000081a40000000000000002000000013d1fe2c90000029d000000200000000000000000000000000000001f00000003reloc/proc/help/search.sv.html    <header>Processhanterare - sökformulär</header>

I detta formulär kan du söka efter processer som uppfyller vissa kriterier.
När du trycker på <tt>Sök</tt> visas nedanför formuläret en lista över de
processer som uppfyller sökkriterierna. För varje process anges PID, ägare,
CPU-användning och kommando. Klicka på ett PID för att få fler uppgifter om
den tillhörande processen.

<p>Nedanför listan finns en knapp för att skicka en signal till alla funna
processer. Välj från listan den signal du vill skicka och tryck på <tt>Skicka
signal</tt>. De mest användbara signalerna är <tt>KILL</tt> och <tt>TERM</tt>
som slår ihjäl aktiva processer.

<include overview>
<hr>

   0707010006d889000081a40000000000000002000000013d1fe2c9000001f8000000200000000000000000000000000000002700000003reloc/proc/help/search.zh_TW.Big5.html    <header>µ{§ÇºÞ²zªÌ - ·j´Mªí³æ</header>

³o­Óªí³æ¥i¥HÅý±z¥H¯S©wªº±ø¥ó·j´M¦b±z¨t²Î¤Wªºµ{§Ç. ·í«ö¤U<tt>·j´M</tt>«ö¶s¸¹, ¤@²Õ²Å¦X±ø¥óªº¦Cªí±N·|³QÅã¥Ü¦b¤U­±. ¹ï©ó¨C¤@­Ó²Å¦Xªº±ø¥ó, ³£·|Åã¥Ü¥Xµ{§Ç½s¸¹, ¾Ö¦³ªÌ, CPU ¨Ï¥Î¶q»P¹ê»Ú°õ¦æªº©R¥O. «ö¤Uµ{§Ç½s¸¹¥i¥HÅã¥Ü§ó¦hªºµ{§Ç¬ÛÃö°T®§. <p>

¦bªí³æ¤U­±ªº«ö¶s¥i¥HÅý±z°e¥X±±¨î°T¸¹µ¹²Å¦X·j´M±ø¥óªºµ{§Ç. ½Ð±q¦Cªí¤¤¿ï¨ú±z»Ý­n°e¥Xªº±±¨î°T¸¹, ¨Ã¥B«ö¤U<tt>°e¥X±±¨î°T¸¹</tt>«ö¶s. ³Ì±`¥Îªº±±¨î°T¸¹¬° <tt>KILL</tt> »P <tt>TERM</tt>, ¥Î¥H§R°£³o­Óµ{§Ç. <p>

<include overview>
<hr>

0707010006d88a000081a40000000000000002000000013d1fe2c9000000e9000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.ca.html    <header>Que utilitza el fitxer</header>

Aquest criteri troba tots els processos que tenen obert per lectura o
escriptura el fitxer seleccionat. Si es tria un directori, es trobaran
els processos que estan en aquest directori.

<hr>
   0707010006d88b000081a40000000000000002000000013d1fe2c9000000e3000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.es.html    <header>Usando archivo</header>

Este criterio busca cualquier proceso que tenga el archivo seleccionado
abierto de lectura o escritura. Si se selecciona un directorio, se buscan
los procesos que estén en ese directorio.
<hr>

 0707010006d88c000081a40000000000000002000000013d1fe2c90000010e000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.fr.html    <header>Utilisation de fichier</header>

Ce critère de recherche trouve les processus ayant ouvert le fichier sélectionné en lecture ou en écriture. Si c'est un répertoire qui est sélectionné, la recherche se fera avec tout fichier trouvé dans ce répertoire.

<hr>
  0707010006d88d000081a40000000000000002000000013d1fe2c9000000d0000000200000000000000000000000000000001c00000003reloc/proc/help/sfiles.html   <header>Using file</header>

This criteria finds any processes that have the selected file open for
reading or writing. If a directory is chosen, processes that are in that
directory are found instead.
<hr>

0707010006d88e000081a40000000000000002000000013d1fe2c90000010a000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.hu.html    <header>Fájl keresése</header>

Ez a kritérium minden olyan processzet megtalál, amely a keresett
fájlt megnyitotta írásra vagy olvasásra. Ha egy könyvtárat választott ki,
akkor azok a processzek lesznek kilistázva, amelyek az adott könyvtárban
megtalálhatók.
<hr>

  0707010006d88f000081a40000000000000002000000013d1fe2c9000000ef000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.pl.html    <header>U¿ywaj±cy pliku</header>

To kryterium szukania pozwala znale¼æ procesy, które maj± otwarty do odczytu
lub zapisu zadany plik. Je¶li wybrano katalog, zamiast tego zostan±
znalezione procesy znajduj±ce siê w&nbsp;tym katalogu.
<hr>
 0707010006d890000081a40000000000000002000000013d1fe2c9000000d7000000200000000000000000000000000000001f00000003reloc/proc/help/sfiles.sv.html    <header>Använder fil ...</header>

Här kan du söka efter processer som har öppnat den angivna filen för
läsning eller skrivning. Om du väljer en katalog får du istället upp de
processer som finns i katalogen.
<hr>

 0707010006d891000081a40000000000000002000000013d1fe2c900000087000000200000000000000000000000000000002700000003reloc/proc/help/sfiles.zh_TW.Big5.html    <header>¨Ï¥ÎÀÉ®×</header>

³o­Ó±ø¥ó¥i¥H§ä´M¥ô¦ó¦³¶}±Ò«ü©wÀÉ®×¥H«KÅª¨ú©Î¼g¤Jªºµ{§Ç. ¦pªG¿ï¾Ü¤F¤@­Ó¥Ø¿ý, ¦b§ä¨ì¸Ó¥Ø¿ý¤¤¹B§@ªºµ{§Ç.
<hr>

 0707010006d892000081a40000000000000002000000013d1fe2c9000001a5000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.ca.html   <header>Que utilitza el sistema de fitxers</header>

Aquest criteri de recerca troba processos que fan servir qualsevol fitxer
o directori del sistema de fitxers seleccionat. Si un procés té un fitxer
obert per llegir o escriure, o és en un directori del sistema de fitxers
seleccionat, s'inclourà en els resultats de la recerca. Això és útil 
per trobar processos que impedeixen desmuntar un sistema de fitxers.

<hr>


   0707010006d893000081a40000000000000002000000013d1fe2c9000001c3000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.es.html   <header>Usando sistema de archivos</header>

Este criterio de búsqueda busca procesos que estén usando cualquier archivo
o directorio del sistema de archivos seleccionado. Si un proceso tiene
abierto un archivo de lectura o escritura o está en un directorio del
sistema de archivos seleccionado, será incluído en los resultados de la
búsqueda. Esto puede ser útil para buscar procesos que hagan que no se pueda
desmontar un sistema de archivos.
<hr>

 0707010006d894000081a40000000000000002000000013d1fe2c9000001ac000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.fr.html   <header>Utilisant un système de fichier</header>

Ce critère de recherche trouve tous les processus utilisant n'importe quel fichier ou répertoire du système de fichiers sélectionné. Si un processus a un fichier ou un répertoire d'ouvert sur le système de fichier choisi, il sera inclu dans les résultats de la recherche.  Ceci peut être utile pour trouver un processus qui empêche de démonter un système de fichier.

<hr>
0707010006d895000081a40000000000000002000000013d1fe2c900000177000000200000000000000000000000000000001900000003reloc/proc/help/sfs.html  <header>Using filesystem</header>

This search criteria finds processes that are using any file or directory
on the selected filesystem. If a process has a file open for reading or
writing or is in a directory on the chosen filesystem, it will be included
in the search results. This can be useful for finding processes that prevent
a filesystem from being unmounted. 
<hr>

 0707010006d896000081a40000000000000002000000013d1fe2c9000001ba000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.hu.html   <header>Adott fájlrendszer</header>

Ezzel a keresési kritériummal megtalálhatók azok a processzek, amelyek 
a kiválasztott fájlrendszeren bármit is használnak. Ha egy processz
megnyitott egy fájlt írásra vagy olvasásra, esetleg az adott fájlrendszeren
lévõ könyvtárban van, akkor meg fog jelenni keresés eredményei között.
Ez hasznos lehet olyan processzek megtalálásához, amelyek megakadályozzák
a fájlrendszer lecsatolását (unmount).
<hr>
  0707010006d897000081a40000000000000002000000013d1fe2c9000001f7000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.pl.html   <header>U¿ywaj±cy systemu plików</header>

To kryterium poszukiwania pozwala znale¼æ procesy, które u¿ywaj±
jakiegokolwiek pliku b±d¼ katalogu na wybranym systemie plików. Je¶li jaki¶
proces posiada otwarty do odczytu lub zapisu dowolny plik na wybranym
systemie plików lub proces znajduje siê w&nbsp;katalogu na tym systemie
plików, bêdzie on umieszczony w&nbsp;wynikach poszukiwania. Jest to
najczê¶ciej wykorzystywane do znalezienia procesów, które uniemo¿liwiaj±
odmontowanie systemu plików. 
<hr>

 0707010006d898000081a40000000000000002000000013d1fe2c90000018d000000200000000000000000000000000000001c00000003reloc/proc/help/sfs.sv.html   <header>Använder filsystem ...</header>

Här kan du söka efter processer som använder någon fil eller katalog på
det angivna filsystemet. Om en process har öppnat en fil för läsning eller
skrivning på filsystemet, eller om den finns i en katalog på filsystemet,
kommer den att visas i listan. Det här kan du använda för att hitta processer
som hindrar dig från att montera av ett filsystem.
<hr>

   0707010006d899000081a40000000000000002000000013d1fe2c9000000db000000200000000000000000000000000000002400000003reloc/proc/help/sfs.zh_TW.Big5.html   <header>¨Ï¥ÎÀÉ®×¨t²Î</header>

³o­Ó±ø¥ó¥i¥H§ä´M©Ò¦³¦³¨Ï¥Î«ü©wÀÉ®×¨t²Î¤¤ÀÉ®×©Î¥Ø¿ýªºµ{¦¡. ¦pªGµ{§Ç¦³¦b«ü©wªºÀÉ®×¨t²Î¤¤¶}±Ò·í®×¥H³ÆÅª¨ú©Î¼g¤J, ¸Óµ{§Ç«K·|³Q¦C¥X©ó·j´Mµ²ªG¤§¤¤. ³o¦b­n¨ø¸ü¬Y­ÓÀÉ®×¨t²Î¤§«e¬O¬Û·í¦³¥Îªº.
<hr>

 0707010006d89a000081a40000000000000002000000013d1fe2c900000107000000200000000000000000000000000000002000000003reloc/proc/help/signore.ca.html   <header>Ignora els processos de recerca</header>

Si està marcat, els resultats de la recerca no inclouran els propis
processos de Webmin que han fet la recerca. Això és útil, ja que els
processos de recerca solen fer servir molta CPU quan estan buscant.

<hr>


 0707010006d89b000081a40000000000000002000000013d1fe2c9000000f0000000200000000000000000000000000000001d00000003reloc/proc/help/signore.html  <header>Ignore search processes</header>

If checked, the search results will not include the Webmin processes
that do the actual searching. This can be useful as the search processes will
often be using a lot of CPU while searching.
<hr>

0707010006d89c000081a40000000000000002000000013d1fe2c900000100000000200000000000000000000000000000002000000003reloc/proc/help/signore.pl.html   <header>Pomiñ procesy poszukujace</header>

Je¶li zaznaczone, wynik poszukiwania nie bêdzie zawiera³ procesów Webmina
wykonuj±cych bie¿±ce poszukiwanie. Mo¿e to byæ przydatne, gdy¿ procesy
poszukuj±ce czêsto mocno obci±¿aj± CPU podczas poszukiwania.
<hr>

0707010006d89d000081a40000000000000002000000013d1fe2c900000337000000200000000000000000000000000000001d00000003reloc/proc/help/size.ca.html  <header>Processos en execució - Vista de Memòria</header>

Aquesta pàgina mostra tots els processos en execució, classificats per 
l'ús de memòria. Per cada procés es mostra el PID, l'usuari, la mida en Kb
i l'ordre executada. Fes clic sobre el PID per veure més informació
d'un procés.
<p>
Aquesta vista pot ser útil per trobar quines ordres fan servir una 
quantitat de memòria excessiva al sistema. No obstant, l´us de la memòria
pot ser enganyosament alt per processos com ara el servidor X, que pot 
incloure <i>frame buffers</i> mapejats en la seva utilització de memòria.
Les instàncies múltiples d'un mateix procés (com ara <tt>httpd</tt> o
<tt>bash</tt>) comparteixen la major part de la seva memòria; això fa
que la seva utilització total sembli més gran de la que és en realitat.
<p>

<include overview>

<hr>


 0707010006d89e000081a40000000000000002000000013d1fe2c900000328000000200000000000000000000000000000001d00000003reloc/proc/help/size.es.html  <header>Procesos en Ejecución - Vista por Memoria</header>

Esta página muestra todos los procesos en ejecución clasificados por uso de
memoria. Para cada proceso se muestra la PID, propietario, medida en kB y el
comando. Haz click en la PID para mostrar más información acerca del proceso
en ejecución. <p>

Esta vista puede ser útil para buscar qué comandos están usando excesiva
cantidad de memoria bajo tu sistema. Sin embargo, la memoria utilizada puede
ser áltamente poco significativa para procesos como el servidor X que puede
incluir búfers de marco mapeados en su utilización de memoria. Múltiples
instancias del mismo proceso (como <tt>httpd</tt> o <tt>bash</tt>) comparten
mucha de su memoria, haciendo aparecer la utilización total mayor de lo que
realmente es. <p>

<include overview.es>
<hr>

0707010006d89f000081a40000000000000002000000013d1fe2c900000325000000200000000000000000000000000000001d00000003reloc/proc/help/size.fr.html  <header>Affichage par occupation de mémoire</header>

Cette page affiche tous les processus par ordre d'occupation de mémoire. Pour chaque processus le numéro, le propriétaire, la taille en Ko et la commande sont affichés. Cliquer sur le numéro affichera plus d'information sur le processus.<p>

Cet affichage peut être utilisé pour trouver quelle commande consomme une quantité excessive de mémoire sur votre système. Mais l'utilisation de la mémoire peut être mal interprétée pour des processus comme les serveurs X qui peuvent inclure la mémoire 'mapped frame buffer' dans leurs utilisation ou les instances multiples comme <tt>httpd</tt> ou <tt>bash</tt> qui partagent la majeur partie de leur mémoire, laissant croire à une utilisation plus grande que la réalité.<p>

<include overview>
<hr>
   0707010006d8a0000081a40000000000000002000000013d1fe2c9000002c7000000200000000000000000000000000000001a00000003reloc/proc/help/size.html <header>Running Processes - Memory View</header>

This page shows all running processes, ranked by memory used. For each process
the PID, owner, size in kB and command are displayed. Click on the PID to
display more information about a running process. <p>

This view can be useful for finding which commands are using excessive amounts
of memory on your system. However, memory use can be misleadingly high for
processes like the X server which may include mapped frame buffers in
their memory utilization. Multiple instances of the same process (such as
<tt>httpd</tt> or <tt>bash</tt>) share much of their memory, making their
total utilization appear higher than it really is. <p>

<include overview>
<hr>

 0707010006d8a1000081a40000000000000002000000013d1fe2c90000035f000000200000000000000000000000000000001d00000003reloc/proc/help/size.hu.html  <header>Futó processzek - memória nézet</header>

Ez az oldal minden futó processzt megmutat, a memóriahasználat alapján
rangsorolva. Minden processznek megjelenik a PID-je, a tulajdonosa, a mérete 
kilobájtban és parancs neve. Bõvebb információkért kattintson a futó
processz PID-jére.<p>

Ez a nézet hasznos lehet olyan parancsok felderítéséhez, amelyek az Ön
rendszerén túlságosan sok memóriát használnak. Azonban a memóriahasználat
félrevezetõen nagy lehet olyan processzeknél - mint amilyen az X kiszolgáló -,
amelyek memóriahasználatuknál tartalmazzák a térképezett vázbuffereket (mapped 
frame buffers). Ha ugyanaz a processz többször elõfordul (mint pl. a
<tt>httpd</tt> vagy a <tt>bash</tt> esetében), akkor a memória nagy részét
megosztják, így az összesen felhasznált méret jóval nagyobbnak tûnik, mint
amekkora valójában.<p>

<include overview>
<hr>

 0707010006d8a2000081a40000000000000002000000013d1fe2c90000035d000000200000000000000000000000000000001d00000003reloc/proc/help/size.pl.html  <header>Dzia³aj±ce procesy - u¿ywana pamiêæ</header>

Ta strona ukazuje wszystkie dzia³aj±ce procesy, uporz±dkowane wg rozmiaru
u¿ywanej przez nie pamiêci. Dla ka¿dego procesu podano numer PID,
w³a¶ciciela, rozmiar w&nbsp;kB oraz polecenie uruchamiaj±ce. Naci¶nij na
numer PID, aby wy¶wietliæ wiêcej informacji o&nbsp;dzia³±j±cym procesie. <p>

Mo¿esz skorzystaæ z&nbsp;tego przegl±du aby okre¶liæ, które polecenia
w&nbsp;Twoim systemie zu¿ywaj± zbyt du¿o pamiêci. Jednak¿e, zu¿ycie pamiêci
przez procesy takie jak X serwer, który mo¿e zawieraæ w&nbsp;swojej pamiêci
pamiêæ grafiki, mo¿e byæ myl±co wysokie. Wielokrotne kopie tego samego
procesu (jak na przyk³ad <tt>httpd</tt> lub <tt>bash</tt>) dziel± du¿± czê¶æ
swojej pamiêci, w&nbsp;zwi±zku z&nbsp;czym jej ³±czne zu¿ycie wydaje siê byæ
wy¿sze ni¿ jest w&nbsp;rzeczywisto¶ci. <p>

<include overview>
<hr>

   0707010006d8a3000081a40000000000000002000000013d1fe2c9000002b0000000200000000000000000000000000000001d00000003reloc/proc/help/size.sv.html  <header>Processer - minnesöversikt</header>

På denna sida visas alla processer som är igång, ordnade efter
minnesutnyttjande. För varje process anges PID, ägare, storlek i kB och
kommando. Klicka på ett PID för att få upp mer information om processen.

<p>Detta kan du använda för att hitta kommandon som slukar minne i systemet.
Det angivna minnesutnyttjandet kan dock vara missledande för sådana
processer som X-servern, där även minnesåtgången för buffrar i X tas med.
Multipla processer för samma program (t ex <tt>httpd</tt> och <tt>bash</tt>)
har en stor del av minnet gemensamt vilket gör att de totalt ser ut att
använda mer minne än de egentligen gör.

<include overview>
<hr>

0707010006d8a4000081a40000000000000002000000013d1fe2c900000235000000200000000000000000000000000000002500000003reloc/proc/help/size.zh_TW.Big5.html  <header>µ{§ÇºÞ²zªÌ - ¨Ì¾Ú°O¾ÐÅé¨Ï¥Î¶q</header>

³o¤@­¶Åã¥Ü©Ò¦³°õ¦æ¤¤ªºµ{§Ç, ¨Ã¨Ì¾Ú°O¾ÐÅéªº¨Ï¥Î¶q±Æ¦W. ¹ï©ó¨C¤@­Óµ{§Ç±N·|Åã¥Ü¨ä¨äµ{§Ç½s¸¹, ¾Ö¦³ªÌ, °O¾ÐÅé¨Ï¥Î¶q (kB)»P¹ê»Ú°õ¦æªº©R¥O. ±z¥i¥HÂI¿ï<tt>µ{§Ç½s¸¹</tt>¥HÅã¥Ü§ó¦hªº¬ÛÃö¸ê°T. <p>

³o­ÓÅã¥Ü¼Ò¦¡¦b±z­n§ä¨ì®ø¯Ó¤j¶q°O¾ÐÅéªºµ{¦¡®É¬O¬Û·í¦³¥Îªº. µM¦Ó¹ï©ó¬Y¨Çµ{§Ç¦Ó¨¥, Åã¥Üªº¼Æ­È±N·|¤ñ¹ê»Ú­È¬°°ª. ¨Ò¦p X ¦øªA¾¹µ{§Ç±N·|§â¹ïÀ³ªº­¶®Ø½w½Ä¾¹¤]­pºâ¦b°O¾ÐÅé¨Ï¥Î¶q¤¤; ¹ï©ó¬Y¨ÇªF¦Û°õ¦æªºµ{§Ç¨Ò¦p <tt>httpd</tt> ©Î <tt>bash</tt> ¦Ó¨¥, ¥¦­Ì·|¦@¨É©Ò¨Ï¥Îªº°O¾ÐÅé, ³y¦¨Á`°O¾ÐÅé¨Ï¥Î¶q·|¸û¹ê»Úªº¥Î¶q¬°°ª. <p>

<include overview>
<hr>

   0707010006d8a5000081a40000000000000002000000013d1fe2c900000121000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.ca.html    <header>Amb patró de coincidència</header>

Aquest criteri de recerca troba els processos que coincideixin amb
una expressió regular. Per exemple, per buscar tots els processos
tals que la seva ordre contingui la cadena <tt>httpd</tt>, podries
introduir simplement <tt>httpd</tt>.

<hr>


   0707010006d8a6000081a40000000000000002000000013d1fe2c800000103000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.es.html    <header>Coincidiendo</header>

Este criterio de búsqueda busca procesos que conincidan con alguna expresión
regular. Por ejemplo, para buscar todos los procesos cuyo comando contenga
la cadena <tt>httpd</tt>, puedes símplemente digitar <tt>httpd</tt>. 
<hr>

 0707010006d8a7000081a40000000000000002000000013d1fe2c900000125000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.fr.html    <header>Correspondance</header>

Ce critère de recherche trouve les processus correspondants à une expression régulière. Par exemple, si vous voulez trouver tous les processus dont la commande contient la chaîne de caractères <tt>httpd</tt>, vous n'avez qu'a entrer <tt>httpd</tt>.

<hr>
   0707010006d8a8000081a40000000000000002000000013d1fe2c8000000e3000000200000000000000000000000000000001c00000003reloc/proc/help/smatch.html   <header>Matching</header>

This search criteria finds processes matching some regular expression.
For example, to find all processes whose command contains the string
<tt>httpd</tt>, you could just enter <tt>httpd</tt>. 
<hr>

 0707010006d8a9000081a40000000000000002000000013d1fe2c90000011a000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.hu.html    <header>Egyezés</header>

Ez a keresési kritérium megtalálja azokat a processzeket, amelyek
egyeznek néhány reguláris kifejezéssel. Például, hogy megtalálja az összes
olyan processzt, amely tartalmazza a <tt>httpd</tt> karakterláncot,
adja meg kifejezésnek a <tt>httpd</tt>-t.
<hr>
  0707010006d8aa000081a40000000000000002000000013d1fe2c9000000f7000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.pl.html    <header>Wzorzec nazwy</header>

To kryterium szukania pozwala znale¼æ procesy, pasuj±ce do pewnego wyra¿enia
regularnego. Na przyk³ad, aby znale¼æ wszystkie polecenia zawieraj±ce ci±g
znaków <tt>httpd</tt>, trzeba po prostu wpisaæ <tt>httpd</tt>.
 0707010006d8ab000081a40000000000000002000000013d1fe2c9000000f2000000200000000000000000000000000000001f00000003reloc/proc/help/smatch.sv.html    <header>Stämmer med ...</header>

Här kan du söka efter processer som stämmer med ett reguljärt uttryck.
För att till exempel hitta alla processer vars kommando innehåller strängen
<tt>httpd</tt> skriver du helt enkelt <tt>httpd</tt>. 
<hr>

  0707010006d8ac000081a40000000000000002000000013d1fe2c9000000a0000000200000000000000000000000000000002700000003reloc/proc/help/smatch.zh_TW.Big5.html    <header>²Å¦X±ø¥ó</header>

³o­Ó±ø¥ó¥i¥H§Q¥Î¥¿³Wªí¥Ü¦¡·j´M²Å¦X±ø¥óªºµ{§Ç. Á|¨Ò¦Ó¨¥, ­n§ä´M§t¦³¦r¦ê <tt>httpd</tt> ªºµ{§Ç, ±z¥u­n¿é¤J <tt>httpd</tt> §Y¥i. 
<hr>

0707010006d8ad000081a40000000000000002000000013d1fe2c90000009f000000200000000000000000000000000000002000000003reloc/proc/help/ssocket.ca.html   <header>que fa servir el port</header>

Aquest criteri busca qualsevol procés que està fent servir o escoltant
el port de xarxa i protocol seleccionats.
<hr>

 0707010006d8ae000081a40000000000000002000000013d1fe2c90000008c000000200000000000000000000000000000001d00000003reloc/proc/help/ssocket.html  <header>Using port</header>

This criteria finds any processes that are using or listening on the
selected network port and protocol.
<hr>

0707010006d8af000081a40000000000000002000000013d1fe2c900000072000000200000000000000000000000000000001e00000003reloc/proc/help/suser.ca.html <header>De l'usuari</header>

Aquest criteri de recerca busca tots els processos de l'usuari seleccionat.

<hr>


  0707010006d8b0000081a40000000000000002000000013d1fe2c900000084000000200000000000000000000000000000001e00000003reloc/proc/help/suser.es.html <header>Propiedad de</header>

Este criterio de búsqueda busca todos los procesos que son propiedad del
usuario seleccionado.
<hr>

0707010006d8b1000081a40000000000000002000000013d1fe2c90000007e000000200000000000000000000000000000001e00000003reloc/proc/help/suser.fr.html <header>Appartient à</header>

Ce critère de recherche trouve tous les processus appartenant à l'utilisateur choisi.
<hr>
  0707010006d8b2000081a40000000000000002000000013d1fe2c900000066000000200000000000000000000000000000001b00000003reloc/proc/help/suser.html    <header>Owned by</header>

This search criteria finds all processes owned by the selected user.
<hr>

  0707010006d8b3000081a40000000000000002000000013d1fe2c900000090000000200000000000000000000000000000001e00000003reloc/proc/help/suser.hu.html <header>Tulajdonosa</header>

Ezzel a keresési ismérvvel minden olyen processz megtalálható, amelynek
az adott felhasználó a tulajdonosa.
<hr>

0707010006d8b4000081a40000000000000002000000013d1fe2c90000007f000000200000000000000000000000000000001e00000003reloc/proc/help/suser.pl.html <header>W³a¶ciciel</header>

To kryterium szukania pozwala znale¼æ procesy, których w³a¶cicielem jest
zadany u¿ytkownik.
<hr>

 0707010006d8b5000081a40000000000000002000000013d1fe2c900000067000000200000000000000000000000000000001e00000003reloc/proc/help/suser.sv.html <header>Ägd av</header>

Här kan du söka efter alla processer som ägs av den angivna användaren.
<hr>

 0707010006d8b6000081a40000000000000002000000013d1fe2c80000004d000000200000000000000000000000000000002600000003reloc/proc/help/suser.zh_TW.Big5.html <header>¾Ö¦³ªÌ</header>

³o­Ó·j´M±ø¥ó¥i¥HÅý±z§ä´MÄÝ©ó«ü©w¨Ï¥ÎªÌªºµ{§Ç.
<hr>

   0707010006d8b7000081a40000000000000002000000013d1fe2c90000014a000000200000000000000000000000000000001d00000003reloc/proc/help/tree.ca.html  <header>Gestor de Processos - Vista d'Arbre</header>

Aquesta pàgina mostra tots els processos en execució al sistema, amb 
els processos fills sagnats immediatament sota el seu pare. Per cada 
procés es mostra el PID, l'usuari i l'ordre. Fes clic sobre el PID
per veure més informació del procés.
<p>

<include overview>

<hr>


  0707010006d8b8000081a40000000000000002000000013d1fe2c90000014f000000200000000000000000000000000000001d00000003reloc/proc/help/tree.es.html  <header>Gestor de Procesos - Vista por Árbol</header>

Esta página muestra todos los procesos bajo tu sistema con los procesos hijo
indentados y mostrados bajo su padre. Para cada proceso se muestra la PID,
propietario y el comando. Haz click en la PID para mostrar más información
acerca del proceso. <p>

<include overview.es>
<hr>

 0707010006d8b9000081a40000000000000002000000013d1fe2c900000165000000200000000000000000000000000000001d00000003reloc/proc/help/tree.fr.html  <header>Visualisation par numéro (arborescente)</header>

Cette page affiche tous les processus du système avec leurs processus fils décalés et affichés sous leur parent. Pour chaque processus le numéro, le propriétaire et la commande sont affichés. Cliquez sur le numéro pour afficher plus d'information sur le processus.<p>

<include overview>
<hr>
   0707010006d8ba000081a40000000000000002000000013d1fe2c900000140000000200000000000000000000000000000001a00000003reloc/proc/help/tree.html <header>Process Manager - Tree Display</header>

This page shows all running processes on your system, with child processes
indented and displayed below their parent. For each process the PID,
owner and command are displayed. Click on the PID to display more
information about the process. <p>

<include overview>
<hr>

0707010006d8bb000081a40000000000000002000000013d1fe2c900000153000000200000000000000000000000000000001d00000003reloc/proc/help/tree.hu.html  <header>Processz menedzser - fa listázás</header>

Ez az oldal megmutatja az Ön rendszerén futó összes processzt, a gyerek
processzekkel együtt, amelyek a szüleik alatt jelennek meg. Minden processznek
megjelenik a PID-je, a tulajdonosa és a parancs neve. Bõvebb információkért
kattintson a processz PID-jére.<p>

<include overview>
<hr>

 0707010006d8bc000081a40000000000000002000000013d1fe2c900000180000000200000000000000000000000000000001d00000003reloc/proc/help/tree.pl.html  <header>Zarz±dca procesów - drzewo procesów</header>

Ta strona ukazuje wszystkie dzia³aj±ce w&nbsp;Twoim systemie procesy, przy
czym procesy potomne s± wciête i&nbsp;wy¶wietlone pod swoimi rodzicami. Dla
ka¿dego procesu podano numer PID, w³a¶ciciela oraz polecenie uruchamiaj±ce.
Naci¶nij na numer PID, aby wy¶wietliæ wiêcej informacji o&nbsp;procesie. <p>

<include overview>
<hr>

0707010006d8bd000081a40000000000000002000000013d1fe2c900000131000000200000000000000000000000000000001d00000003reloc/proc/help/tree.sv.html  <header>Processhanteraren - träd</header>

På denna sida visas alla processer som är igång på systemet. Underprocesser
skrivs ut med indrag och nedanför sin förälder. För varje process anges PID,
ägare och kommando. Klicka på ett PID för att få upp mer information om
processen.

<include overview>
<hr>

   0707010006d8be000081a40000000000000002000000013d1fe2c900000100000000200000000000000000000000000000002500000003reloc/proc/help/tree.zh_TW.Big5.html  <header>µ{§ÇºÞ²zªÌ - ¨Ì¾Ú PID (µ{§Ç¾ð)</header>

³o¤@­¶Åã¥Ü©Ò¦³¦b±zªº¨t²Î¤W°õ¦æ¤¤ªºµ{§Ç, ¨Ã¥B±N¤lµ{§ÇÅã¥Ü¦b¥Àµ{§Ç¤§¤U. ¹ï©ó¨C¤@­Óµ{§Ç³£·|Åã¥Ü¨äµ{§Ç½s¸¹, ¾Ö¦³ªÌ»P¹ê»Ú°õ¦æªº©R¥O. ±z¥i¥HÂI¿ï<tt>µ{§Ç½s¸¹</tt>¥HÅã¥Ü§ó¦hªº¬ÛÃö¸ê°T. <p>

<include overview>
<hr>

0707010006d8bf000081a40000000000000002000000013d1fe2c900000162000000200000000000000000000000000000001d00000003reloc/proc/help/user.ca.html  <header>Gestor de Processos - Vista d'Usuari</header>

Aquesta pàgina mostra tots els processos en execució, agrupats per usuari.
Els processos es classifiquen per sota de cada usuari per l'ús de la CPU.
Per cada procés es mostra el PID, l'ús de la CPU i l'ordre. Pots fer clic
al PID per veure més informació del procés.
<p>

<include overview>

<hr>


  0707010006d8c0000081a40000000000000002000000013d1fe2c9000001bb000000200000000000000000000000000000001d00000003reloc/proc/help/user.es.html  <header>Gestor de Procesos - Vista por Usuario</header>

Esta página muestra todos los procesos en ejecución agrupados por el usuario
a quien pertenecen. Aquellos usuarios que tengan más de un proceso en
ejecución los verán clasificados por uso de UCP bajo el nombre de cada
usuario. Para cada proceso se muestra la PID, el uso de UCP y el comando.
Se puede hacer click en la PID para mostrar más información. <p>

<include overview.es>
<hr>

 0707010006d8c1000081a40000000000000002000000013d1fe2c8000001cc000000200000000000000000000000000000001d00000003reloc/proc/help/user.fr.html  <header>Visualisation par utilisateur</header>

Cette page affiche tous les processus exécutés groupés par utilisateurs qui en sont les propriétaires. Les processus sont rangés par utilisation du processeur sous le nom de chacun des utilisateurs propriétaires. Pour chacun des processus le numéro, l'utilisation du processeur et la commande sont affichés. Cliquez sur le numéro de processus pour afficher plus d'informations.<p>

<include overview>
<hr>
0707010006d8c2000081a40000000000000002000000013d1fe2c90000017d000000200000000000000000000000000000001a00000003reloc/proc/help/user.html <header>Process Manager - User View</header>

This page displays all running processes, group by the user who owns the
process. Processes are ranked by CPU utilization below the name of each user
who has one or more processes running. For each process the PID, CPU use
and command are displayed. The PID can be clicked on to display more
information. <p>

<include overview>
<hr>

   0707010006d8c3000081a40000000000000002000000013d1fe2c90000018b000000200000000000000000000000000000001d00000003reloc/proc/help/user.hu.html  <header>Processz menedzser - felhasználó nézet</header>

Ez az oldal felhasználók szerint csoportosítva jeleníti meg a processzeket.
Minden olyan felhasználónál, amely több processzt is futtat, a rangsorolás 
CPU-felhasználás szerint történik. Minden processznek megjelenik a PID-je,
a CPU-kihasználtsága és a parancsa. További információkhoz kattintson a
PID-ekre.<p>

<include overview>
<hr>

 0707010006d8c4000081a40000000000000002000000013d1fe2c9000001c6000000200000000000000000000000000000001d00000003reloc/proc/help/user.pl.html  <header>Zarz±dca procesów - wg u¿ytkownika</header>

Ta strona ukazuje wszystkie dzia³aj±ce procesy, podzielone wed³ug ich
w³a¶cicieli. Procesy wy¶wietlone poni¿ej nazwy ka¿dego u¿ytkownika, który ma
jeden lub wiêcej dzia³aj±cych procesów, s± uporz±dkowane wg zu¿ycia przez
nie CPU. Dla ka¿dego procesu podano jego numer PID, zu¿ycie CPU oraz
polecenie uruchamiaj±ce. Naciskaj±c numer PID mo¿esz zobaczyæ wiêcej
informacji. <p>

<include overview>
<hr>

  0707010006d8c5000081a40000000000000002000000013d1fe2c900000148000000200000000000000000000000000000001d00000003reloc/proc/help/user.sv.html  <header>Processhanteraren - användaröversikt</header>

Här visas alla processer som är igång på systemet, ordnade i första hand
efter ägare och i andra hand efter CPU-utnyttjande. För varje process anges
PID, CPU-utnyttjande och kommando. Klicka på ett PID för att få upp mer
information om processen.

<include overview>
<hr>

0707010006d8c6000081a40000000000000002000000013d1fe2c800000128000000200000000000000000000000000000002500000003reloc/proc/help/user.zh_TW.Big5.html  <header>µ{§ÇºÞ²zªÌ - ¨Ì¾Ú¨Ï¥ÎªÌ</header>

³o¤@­¶Åã¥Ü¥X©Ò¦³°õ¦æ¤¤ªºµ{§Ç, ¨Ã¨Ì¾Ú¾Ö¦³ªÌªº¤£¦P¥H±N¦¨°T¤À²Õ. ©Ò¦³¬Û¦P¾Ö¦³ªÌªºµ{§Ç±N·|¨Ì¾Ú CPU ªº¨Ï¥Î¶q¥[¥H±Æ§Ç. ¹ï©ó¨C¤@­Óµ{§Ç±N·|Åã¥Ü¨äµ{§Ç½s¸¹, CPU ¨Ï¥Î¶q»P¹ê»Ú°õ¦æªº«ü¥O. ±z¥i¥HÂI¿ï<tt>µ{§Ç½s¸¹</tt>¥HÅã¥Ü§ó¦hªº¬ÛÃö¸ê°T. <p>

<include overview>
<hr>

0707010006a902000081a40000000000000002000000013d1fe2c900000791000000200000000000000000000000000000001700000003reloc/proc/hpux-lib.pl    # hpux-lib.pl
# Functions for parsing hpux ps output

sub list_processes
{
local($line, $i, $pcmd, $_, $tty, @plist);

foreach (@_) { $pcmd .= "-p $_"; }
if (!$pcmd) { $pcmd = "-e"; }

open(PS, "ps -fl $pcmd |");

for($i=0; $line=<PS>; $i++) {
        chop($line);
        if ($line =~ /ps -fl/ || $line =~ /COMD/) { $i--; next; }
        $line =~ /^\s*(\d+)\s+(\S*)\s+(\S*)\s+(\d+)\s+(\d+)\s+(\d+)\s+([\-\d]+)\s+([\-\d]+)\s+(\S*)\s+(\d+)\s+(\S*)\s+(.*)$/;
        $plist[$i]->{"pid"} = $4;
        $plist[$i]->{"ppid"} = $5;
        $plist[$i]->{"user"} = $3;
        $plist[$i]->{"size"} = "$10 Pg";
        $plist[$i]->{"cpu"} = "0.$6 %";
        $plist[$i]->{"time"} = substr($12,17,6);
        $plist[$i]->{"nice"} = $8;
        $plist[$i]->{"args"} = substr($12,23,60);
        $plist[$i]->{"_pri"} = $7;
        $tty = substr($12,8,8);
        $plist[$i]->{"_tty"} =  $tty eq "?       " ? $text{'edit_none'} : "/dev/$tty";
        $plist[$i]->{"_status"} = $stat_map{$2};
        $plist[$i]->{"_wchan"} = $11;
        }
close(PS);
return @plist;
}

# renice_proc(pid, nice)
sub renice_proc
{
local($out, $nice);
$nice = $_[1] - 20;
$out = `renice -n $nice -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

# find_mount_processes(mountpoint)
# Find all processes under some mount point
sub find_mount_processes
{
local($out);
$out = `fuser -c $_[0]`;
$out =~ s/[^0-9 ]//g;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# find_file_processes([file]+)
# Find all processes with some file open
sub find_file_processes
{
local($out, $files);
$files = join(' ', @_);
$out = `fuser -f $files`;
$out =~ s/[^0-9 ]//g;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

foreach $ia (keys %text) {
	if ($ia =~ /^hpux(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	elsif ($ia =~ /^hpuxstat_(\S+)/) {
		$stat_map{$1} = $text{$ia};
		}
	}

@nice_range = (0 .. 39);

$has_fuser_command = 1;

1;

   0707010006ee62000041ed0000000000000001000000023d1ffb0d00000000000000200000000000000000000000000000001200000003reloc/proc/images 0707010006ee63000081a40000000000000002000000013d1fe2c400000167000000200000000000000000000000000000001b00000003reloc/proc/images/icon.gif    GIF89a0 0 ¡  ÿÿÿ™™™      !ù    ,    0 0  þ„©Ëíc
AÎú(Ä‡ó…	"ó‘@UéÚiâ{• yô]¿zwg½ÂÑt¯ZÏaþ„(âh™QÕ¦©À)@h€ƒØË°°¥úÍš×
ðBÍ~Œv‰g¼ñœÃËwš±¬ç2F¢Å—Ç7³!ÅQF!¢’µrâ—¤ rÔ0²d©DuBù6•z©Åz°c	
zÉèåW„ŠV™)D×Ú7ÑÂ	a§Eiœ¶Ì†Ülñ¼†Ù5,m¢ˆÔ–•ø»ûI›Œúdí‡2ª¼$k4üªª¾;.TäµÎ“Ô¹d—TÂÆjç®@xî9OÎº‘!ÖÌ3h'.«ˆbŸ9k#FÓí˜$B!ëH2ƒ]Q™[kÃ5 á‹)nÔL(ÔÆp!‰Ï Ížƒ¬DRJåK  ; 0707010006a903000081e40000000000000002000000013d1fe2c9000001d6000000200000000000000000000000000000001500000003reloc/proc/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Redirect to default index

require './proc-lib.pl';
$mcd = $user_module_config_directory ? $user_module_config_directory 
				     : $module_config_directory;
if ($config{'default_mode'} ne "last") {
	$idx = "index_$config{'default_mode'}.cgi";
	}
elsif (open(INDEX, "$mcd/index")) {
	chop($idx = <INDEX>);
	close(INDEX);
	if (!$idx) { $idx = "index_tree.cgi"; }
	}
else { $idx = "index_tree.cgi"; }
&redirect("/$module_name/$idx");

  0707010006a904000081e40000000000000002000000013d1fe2c40000046e000000200000000000000000000000000000001900000003reloc/proc/index_cpu.cgi  #!/usr/local/bin/perl
# index_cpu.cgi

require './proc-lib.pl';
&header($text{'index_title'}, "", "cpu", !$no_module_config, 1);
print "<hr>\n";

&index_links("cpu");
if (defined(&get_cpu_info)) {
	@c = &get_cpu_info();
	if (@c) {
		print &text('index_load', "<tt>$c[0]</tt>", "<tt>$c[1]</tt>",
			    "<tt>$c[2]</tt>"),"<p>\n";
		}
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pid'}</b></td> <td><b>$text{'owner'}</b></td>\n";
print "<td><b>$text{'cpu'}</b></td> <td><b>$text{'command'}</b></td> </tr>\n";
@procs = sort { $b->{'cpu'} <=> $a->{'cpu'} } &list_processes();
@procs = grep { !$hide{$_->{'user'}} } @procs;
@procs = grep { $_->{'user'} eq $remote_user } @procs if ($user_processes_only);
foreach $pr (@procs) {
	$p = $pr->{'pid'};
	if ($access{'edit'}) {
		print "<tr $cb> <td><a href=\"edit_proc.cgi?$p\">$p</a></td>\n";
		}
	else {
		print "<tr $cb> <td>$p</td>\n";
		}
	print "<td>$pr->{'user'}</td>\n";
	print "<td>$pr->{'cpu'}</td>\n";
	print "<td>",&html_escape(cut_string($pr->{'args'},60)),
	      "</td> </tr>\n";
	}
print "</table><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  0707010006a905000081e40000000000000002000000013d1fe2c9000003ee000000200000000000000000000000000000001900000003reloc/proc/index_run.cgi  #!/usr/local/bin/perl
# index_run.cgi
# Allows running of a new command

require './proc-lib.pl';
if (!$access{'run'}) {
	&redirect("index_tree.cgi");
	}
use Config;
&header($text{'index_title'}, "", "run", !$no_module_config, 1);
print "<hr>\n";
&ReadParse();
&index_links("run");

print "<form action=run.cgi method=post>\n";
print "<table>\n";
print "<tr> <td>",&hlink("<b>$text{'run_command'}</b>","cmd"),"</td>\n";
print "<td><input name=cmd size=40>\n";
print "<input type=submit value=\"$text{'run_submit'}\"></td> </tr>\n";

print "<tr> <td>",&hlink("<b>$text{'run_mode'}</b>","mode"),"</td>\n";
print "<td><input type=radio name=mode value=1> $text{'run_bg'}\n";
print "<input type=radio name=mode value=0 checked> $text{'run_fg'}</td>\n";
print "</tr>\n";

print "<tr> <td valign=top>",
      &hlink("<b>$text{'run_input'}</b>","input"),"</td>\n";
print "<td><textarea name=input rows=5 cols=30></textarea></td> </tr>\n";
print "</table></form>\n";

print "<hr>\n";
&footer("/", $text{'index'});
  0707010006a906000081e40000000000000002000000013d1fe2c9000018ad000000200000000000000000000000000000001c00000003reloc/proc/index_search.cgi   #!/usr/local/bin/perl
# index_search.cgi
# Allows searching for processes by user or command

require './proc-lib.pl';
use Config;
&header($text{'index_title'}, "", "search", !$no_module_config, 1);
print "<hr>\n";
&ReadParse();
&index_links("search");

# display search form
print "<form action=index_search.cgi>\n";
print "<table width=100%><tr><td valign=top>\n";

printf "<input type=radio name=mode value=0 %s>\n",
	$in{mode}==0 ? "checked" : "";
print &hlink("<b>$text{'search_user'}</b>","suser"),"\n";
printf "<input name=user size=8 value=\"%s\"> %s<br>\n",
	$in{mode}==0 ? $in{user} : "",
	&user_chooser_button("user", 0);

printf "<input type=radio name=mode value=1 %s>\n",
	$in{mode}==1 ? "checked" : "";
print &hlink("<b>$text{'search_match'}</b>","smatch"),"\n";
printf "<input name=match size=20 value=\"%s\"><br>\n",
	$in{mode}==1 ? $in{match} : "";

printf "<input type=radio name=mode value=2 %s>\n",
	$in{mode}==2 ? "checked" : "";
$cpu = sprintf "<input name=cpu size=4 value=\"%s\">\n",
		$in{mode}==2 ? $in{cpu} : "";
print &hlink("<b>".&text('search_cpupc', $cpu)."</b>", "scpu"),"<br>\n";

print "</td><td valign=top>\n";

if ($has_fuser_command) {
	printf "<input type=radio name=mode value=3 %s>\n",
		$in{mode}==3 ? "checked" : "";
	print &hlink("<b>$text{'search_fs'}</b>","sfs"),"\n";
	if (&foreign_check("mount")) {
		&foreign_require("mount", "mount-lib.pl");
		print "<select name=fs>\n";
		foreach $fs (&foreign_call("mount", "list_mounted")) {
			next if ($fs->[2] eq "swap");
			printf "<option %s>%s\n",
			     $in{'mode'}==3 && $in{'fs'} eq $fs->[0] ?
			     "selected" : "", $fs->[0];
			}
		print "</select><br>\n";
		}
	else {
		printf "<input name=fs size=15 value='%s'><br>\n",
			$in{'mode'}==3 ? $in{'fs'} : "";
		}

	printf "<input type=radio name=mode value=4 %s>\n",
		$in{mode}==4 ? "checked" : "";
	print &hlink("<b>$text{'search_files'}</b>","sfiles"),"\n";
	printf "<input name=files size=30 value=\"%s\">\n",
		$in{mode}==4 ? $in{'files'} : "";
	print &file_chooser_button("files", 0);
	print "<br>\n";
	}
if ($has_lsof_command) {
	printf "<input type=radio name=mode value=5 %s>\n",
		$in{mode}==5 ? "checked" : "";
	print &hlink("<b>$text{'search_port'}</b>","ssocket"),"\n";
	printf "<input name=port size=6 value='%s'>\n",
		$in{mode}==5 ? $in{port} : "";
	print &hlink("<b>$text{'search_protocol'}</b>","ssocket"),"\n";
	print "<select name=protocol>\n";
	printf "<option value=tcp %s>TCP\n",
		$in{protocol} eq 'tcp' ? 'selected' : '';
	printf "<option value=udp %s>UDP\n",
		$in{protocol} eq 'udp' ? 'selected' : '';
	print "</select>\n";
	print "<br>\n";
	}

print "</td></tr></table>\n";
print "<input type=submit value=\"$text{'search_submit'}\">\n";
print "&nbsp;" x 5;
printf "<input type=checkbox name=ignore value=1 %s> %s<br>\n",
	$in{'ignore'} ? 'checked' : '',
	&hlink("<b>$text{'search_ignore'}</b>","signore");
print "</form>\n";

if (%in) {
	# search for processes
	@procs = &list_processes();
	@procs = grep { !$hide{$_->{'user'}} } @procs;
	@procs = grep { $_->{'user'} eq $remote_user } @procs
		if ($user_processes_only);
	if ($in{mode} == 0) {
		# search by user
		@dis = grep { $_->{'user'} eq $in{'user'} } @procs;
		}
	elsif ($in{mode} == 1) {
		# search by regexp
		@dis = grep { $_->{'args'} =~ /\Q$in{match}\E/i } @procs;
		}
	elsif ($in{mode} == 2) {
		# search by cpu
		@dis = grep { $_->{'cpu'} > $in{'cpu'} } @procs;
		@dis = sort { $b->{'cpu'} <=> $a->{'cpu'} } @dis;
		}
	elsif ($in{mode} == 3 && $has_fuser_command) {
		# search by filesystem
		foreach $p (&find_mount_processes($in{'fs'})) { $using{$p}++; }
		@dis = grep { defined($using{$_->{'pid'}}) } @procs;
		}
	elsif ($in{mode} == 4 && $has_fuser_command) {
		# search by files
		foreach $p (&find_file_processes(split(/\s+/, $in{'files'})))
			{ $using{$p}++; }
		@dis = grep { defined($using{$_->{'pid'}}) } @procs;
		}
	elsif ($in{mode} == 5 && $has_lsof_command) {
		foreach $p (&find_socket_processes($in{'protocol'},$in{'port'}))
			{ $using{$p}++; }
		@dis = grep { defined($using{$_->{'pid'}}) } @procs;
		}

	if ($in{'ignore'}) {
		# Ignore this process and any children
		@dis = grep { $_->{'pid'} != $$ && $_->{'ppid'} != $$ } @dis;
		}

	# display matches
	if (@dis) {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'pid'}</b></td>\n";
		print "         <td><b>$text{'owner'}</b></td>\n";
		print "         <td><b>$text{'cpu'}</b></td>\n";
		print "         <td><b>$text{'command'}</b></td> </tr>\n";
		foreach $d (@dis) {
			$p = $d->{'pid'};
			push(@pidlist, $p);
			if ($access{'edit'}) {
				print "<tr $cb> <td><a href=\"edit_proc.cgi?$p\">",
				      "$p</a></td>\n";
				}
			else {
				print "<tr $cb> <td>$p</td>\n";
				}
			print "<td>$d->{user}</td>\n";
			print "<td>$d->{cpu}</td>\n";
			print "<td>",&html_escape(cut_string($d->{args},60)),
			      "</td> </tr>\n";
			}
		print "</table><p>\n";
		}
	else {
		print "<b>$text{'search_none'}</b><p>\n";
		}

	if (@pidlist && $access{'simple'} && $access{'edit'}) {
		# display form for mass killing with selected signals
		print "<form action=kill_proc_list.cgi>\n";
		print "<input type=hidden name=args value=\"$in\">\n";
		printf "<input type=hidden name=pidlist value=\"%s\">\n",
			join(" ", @pidlist);
		print "<input type=hidden name=pid value=$pinfo{pid}>\n";
		foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
			printf "<input type=submit value=\"%s\" name=%s>\n",
				$text{"kill_".lc($s)}, $s;
			}
		print "</form>\n";
		}
	elsif (@pidlist && $access{'edit'}) {
		# display form for mass killing with any signal
		print "<form action=kill_proc_list.cgi>\n";
		print "<input type=submit value=\"$text{'search_kill'}\">\n";
		print "<input type=hidden name=args value=\"$in\">\n";
		printf "<input type=hidden name=pidlist value=\"%s\">\n",
			join(" ", @pidlist);
		print "<select name=signal>\n";
		foreach $s (split(/\s+/, $Config{sig_name})) {
			printf "<option value=\"$s\" %s> $s\n",
				$s eq "HUP" ? "selected" : "";
			}
		print "</select>\n";

		print "&nbsp;" x 2;
		print "<input type=submit name=TERM ",
		      "value='$text{'search_sigterm'}'>\n";
		print "&nbsp;" x 2;
		print "<input type=submit name=KILL ",
		      "value='$text{'search_sigkill'}'>\n";
		print "</form>\n";
		}
	}

print "<hr>\n";
&footer("/", $text{'index'});

   0707010006a907000081e40000000000000002000000013d1fe2c9000004c5000000200000000000000000000000000000001a00000003reloc/proc/index_size.cgi #!/usr/local/bin/perl
# index_cpu.cgi

require './proc-lib.pl';
&header($text{'index_title'}, "", "size", !$no_module_config, 1);
print "<hr>\n";

&index_links("size");
if (defined(&get_memory_info)) {
	@m = &get_memory_info();
	if (@m) {
		print &text('index_mem', "<tt>$m[0]</tt>",
			    "<tt>$m[1]</tt>"),"\n";
		print "&nbsp;&nbsp;",&text('index_swap', "<tt>$m[2]</tt>",
					   "<tt>$m[3]</tt>"),"<p>\n";
		}
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pid'}</b></td> <td><b>$text{'owner'}</b></td>\n";
print "<td><b>$text{'size'}</b></td> <td><b>$text{'command'}</b></td> </tr>\n";
@procs = sort { $b->{'size'} <=> $a->{'size'} } &list_processes();
@procs = grep { !$hide{$_->{'user'}} } @procs;
@procs = grep { $_->{'user'} eq $remote_user } @procs if ($user_processes_only);
foreach $pr (@procs) {
	$p = $pr->{'pid'};
	if ($access{'edit'}) {
		print "<tr $cb> <td><a href=\"edit_proc.cgi?$p\">$p</a></td>\n";
		}
	else {
		print "<tr $cb> <td>$p</td>\n";
		}
	print "<td>$pr->{'user'}</td>\n";
	print "<td>$pr->{'size'}</td>\n";
	print "<td>",&html_escape(&cut_string($pr->{'args'},60)),
	      "</td> </tr>\n";
	}
print "</table><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});

   0707010006a908000081e40000000000000002000000013d1fe2c8000005b0000000200000000000000000000000000000001a00000003reloc/proc/index_tree.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of all existing processes

require './proc-lib.pl';
&header($text{'index_title'}, "", "tree", !$no_module_config, 1);
print "<hr>\n";

&index_links("tree");
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pid'}</b></td> <td><b>$text{'owner'}</b></td>\n";
print "         <td><b>$text{'command'}</b></td> </tr>\n";
@procs = sort { $a->{'pid'} <=> $b->{'pid'} } &list_processes();
foreach $pr (@procs) {
	$p = $pr->{'pid'}; $pp = $pr->{'ppid'};
	$argmap{$p} = $pr->{'args'};
	$usermap{$p} = $pr->{'user'};
	push(@{$children{$pp}}, $p);
	$inlist{$pr->{'pid'}}++;
	}
foreach $pr (@procs) {
	push(@roots, $pr->{'pid'}) if (!$inlist{$pr->{'ppid'}} ||
				       $pr->{'pid'} == $pr->{'ppid'});
	}
foreach $r (&unique(@roots)) {
	&walk_procs("", $r);
	}
print "</table><p>\n";

print "<hr>\n";
&footer("/", $text{'index'});


# walk_procs(indent, pid)
sub walk_procs
{
local(@ch, $_, $args);
if (!$hide{$usermap{$_[1]}} &&
    (!$user_processes_only || $usermap{$_[1]} eq $remote_user)) {
	if ($access{'edit'}) {
		print "<tr $cb><td>$_[0]<a href=\"edit_proc.cgi?$_[1]\">",
		      "$_[1]</a></td>\n";
		}
	else {
		print "<tr $cb> <td>$_[0]$_[1]</td>\n";
		}
	print "<td>$usermap{$_[1]}</td>\n";
	$args = &cut_string($argmap{$_[1]}, 70);
	print "<td>",&html_escape($args),"</td> </tr>\n";
	}
foreach (@{$children{$_[1]}}) {
	&walk_procs("$_[0]&nbsp;&nbsp;&nbsp;", $_) if ($_ != $_[1]);
	}
}

0707010006a909000081e40000000000000002000000013d1fe2c4000004ea000000200000000000000000000000000000001a00000003reloc/proc/index_user.cgi #!/usr/local/bin/perl
# index_user.cgi

require './proc-lib.pl';
&header($text{'index_title'}, "", "user", !$no_module_config, 1);
print "<hr>\n";

&index_links("user");
@procs = sort { $b->{'cpu'} <=> $a->{'cpu'} } &list_processes();
@procs = grep { !$hide{$_->{'user'}} } @procs;
@procs = grep { $_->{'user'} eq $remote_user } @procs if ($user_processes_only);
@users = &unique(map { $_->{'user'} } @procs);
foreach $u (@users) {
	@uinfo = getpwnam($u);
	$uinfo[6] =~ s/,.*$//;
	print "<dt><font size=+1>$u ",
		$uinfo[6] ? "($uinfo[6])" : "","</font><br>\n";
	print "<dd><table border width=90%>\n";
	print "<tr $tb> <td width=1% nowrap><b>$text{'pid'}</b></td>\n";
	print "         <td width=1%><b>$text{'cpu'}</b></td>\n";
	print "         <td width=98%><b>$text{'command'}</b></td> </tr>\n";
	foreach $pr (grep { $_->{'user'} eq $u } @procs) {
		$p = $pr->{'pid'};
		print "<tr $cb>\n";
		if ($access{'edit'}) {
			print "<td><a href=\"edit_proc.cgi?$p\">$p</a></td>\n";
			}
		else {
			print "<td>$p</td>\n";
			}
		print "<td nowrap>$pr->{'cpu'}</td>\n";
		print "<td>",&html_escape(&cut_string($pr->{'args'},60)),
		      "</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
print "</dl>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  0707010006a90a000081e40000000000000002000000013d1fe2c4000002d4000000200000000000000000000000000000001900000003reloc/proc/kill_proc.cgi  #!/usr/local/bin/perl
# kill_proc.cgi
# Send a signal to a process

require './proc-lib.pl';
&ReadParse();
$access{'edit'} || &error($text{'kill_ecannot'});
&switch_acl_uid();
&error_setup(&text('kill_err', $in{signal}, $in{pid}));
foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
	$in{'signal'} = $s if ($in{$s});
	}

%pinfo = &process_info($in{pid});
if (&kill_logged($in{signal}, $in{pid})) {
	$in{'args0'} = $pinfo{'args'};
	&webmin_log("kill", undef, undef, \%in);
	sleep(1);
	if (&process_info($in{pid})) {
		# still around.. return to process info
		&redirect("edit_proc.cgi?$in{pid}");
		}
	else {
		# gone case .. return to list
		&redirect("index.cgi");
		}
	}
else {
	# failed to send signal
	&error($!);
	}

0707010006a91d000081e40000000000000002000000013d1fe2c40000031b000000200000000000000000000000000000001e00000003reloc/proc/kill_proc_list.cgi #!/usr/local/bin/perl
# kill_proc_list.cgi
# Send a signal to a list of process

require './proc-lib.pl';
$access{'edit'} || &error($text{'kill_ecannot'});
&ReadParse();
&switch_acl_uid();
foreach $s ('KILL', 'TERM', 'HUP', 'STOP', 'CONT') {
	$in{'signal'} = $s if ($in{$s});
	}

$| = 1;
&header($text{'kill_title'}, "");
print "<hr>\n";
@pidlist = split(/\s+/, $in{pidlist});
@pinfo = &list_processes(@pidlist);
for($i=0; $i<@pidlist; $i++) {
	$in{"args$i"} = $pinfo[$i]->{'args'};
	print "$text{'pid'} <tt>$pidlist[$i]</tt> ... \n";
	if (&kill_logged($in{signal}, $pidlist[$i])) {
		print "SIG$in{signal} $text{'kill_sent'}<br>\n";
		}
	else { print "$!<br>\n"; }
	}
&webmin_log("kill", undef, undef, \%in);
print "<p><hr>\n";
&footer("index_search.cgi?$in{'args'}", $text{'search_return'});

 070701000703e2000041ed0000000000000001000000023d1ffb0e00000000000000200000000000000000000000000000001000000003reloc/proc/lang   070701000703e3000081a40000000000000002000000013d1fe2c600000d17000000200000000000000000000000000000001300000003reloc/proc/lang/ca    index_title=Processos en Execució
index_display=Mostra
index_tree=PID
index_user=Usuari
index_size=Memòria
index_cpu=CPU
index_search=Busca
index_run=Executa...
index_return=a la llista de processos
index_mem=<b>Memòria real:</b> $1 Kb total / $2 Kb lliures
index_swap=<b>Àrea d'intercanvi:</b> $1 Kb total / $2 Kb lliures
index_load=<b>Càrrega mitjana de la CPU:</b> $1 (1 mins) , $2 (5 mins) , $3 (15 mins)

pid=ID del procés
owner=Usuari
command=Ordre
cpu=CPU
size=Mida
parent=Procés pare
runtime=Temps d'execució
nice=Nivell nice

search_user=de l'usuari
search_match=amb patró de coincidència
search_cpupc=que utilitza més del $1% de la CPU
search_fs=que utilitza el sistema de fitxers
search_files=que utilitza el fitxer
search_submit=Busca
search_none=No s'ha trobat cap procés que coincideixi.
search_kill=Envia el Senyal
search_ignore=Ignora els processos de recerca en el resultat
search_return=al formulari de recerca
search_sigterm=Acaba els Processos
search_sigkill=Mata els Processos
search_port=que utilitza el port
search_protocol=protocol

run_command=Ordre a executar
run_submit=Executa
run_mode=Mode d'execució
run_bg=Executa en segon pla
run_fg=Espera't fins que acabi
run_input=Entrada de l'Ordre
run_title=Sortida de l'Ordre
run_output=Sortida de $1...
run_none=No s'ha generat cap sortida
run_ecannot=No tens permís per executar ordres

edit_title=Informació del Procés
edit_gone=Aquest procés ja no està en execució
edit_sub=Subprocessos
edit_kill=Envia el Senyal
edit_change=Canvia
edit_prilow=Prioritat baixa
edit_prihigh=Prioritat alta
edit_pridef=Defecte
edit_none=Cap
edit_ecannot=No tens permís per editar processos
edit_sigterm=Acaba el Procés
edit_sigkill=Mata el Procés

kill_err=No he pogut enviar el senyal $1 al procés $2
kill_title=Envia el Senyal
kill_sent=he enviat

renice_err=No he pogut canviar el nivell <i>nice</i> de $1
kill_ecannot=No tens permís per matar processos

linux_pri=Prioritat
linux_tty=TTY
linux_status=Estat
linux_wchan=Esperant a
linux_mem=Memòria
linux_group=Grup
linux_ruser=Usuari real
linux_rgroup=Grup real
linux_pgid=ID del grup de processos

linuxstat_R=Executant
linuxstat_S=Dormint
linuxstat_D=Dormint profundament
linuxstat_T=Aturat
linuxstat_Z=Zombi

freebsd_ruser=Usuari real
freebsd_rgroup=Grup real
freebsd_tty=TTY
freebsd_pgid=Grup de processos
freebsd_lstart=Hora d'inici
freebsd_lim=Límit de memòria

hpux_pri=Prioritat
hpux_tty=TTY
hpux_status=Estat
hpux_wchan=Esperant a

hpuxstat_0=Inexistent
hpuxstat_S=Dormint
hpuxstat_W=Esperant
hpuxstat_R=Executant
hpuxstat_I=Intermedi
hpuxstat_Z=Zombi
hpuxstat_T=Aturat
hpuxstat_G=Creixent

macos_tty=TTY

sysv_group=Grup
sysv_ruser=Usuari real
sysv_rgroup=Grup real
sysv_pgid=ID del grup de processos
sysv_tty=TTY

log_run=He executat l'ordre "$1"
log_kill=He enviat el senyal $1 al procés $2
log_kills=He enviat el senyal $1 a $2 processos
log_kill_l=He enviat el senyal $1 al procés $2
log_kills_l=He enviat el senyal $1 als processos<br>$2

acl_manage=Gestiona els processos com un usuari
acl_edit=Pot matar i canviar el <i>nice</i> dels processos
acl_manage_def=Usuari Webmin actual
acl_run=Pot executar ordres

kill_kill=Mata el procés
kill_term=&nbsp;Mata&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;Reinicia&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Atura&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;Continua&nbsp;&nbsp;


 070701000703e4000081a40000000000000002000000013d1fe2c400000802000000200000000000000000000000000000001300000003reloc/proc/lang/de    index_title=Prozessmanager
index_display=Anzeige
index_tree=PID
index_user=Benutzer
index_size=Speicher
index_cpu=CPU
index_search=Suche
index_run=Ausf&uuml;hren..
index_return=Prozessliste
pid=Prozess-ID
owner=Besitzer
command=Befehl
cpu=CPU
size=Gr&ouml;&szlig;e
parent=&Uuml;bergeordneter Prozess
runtime=Laufzeit
nice=Nicelevel
search_user=Gesteuert von
search_match=&Uuml;bereinstimmung
search_cpu=Benutzt mehr als
search_fs=Benutzt Dateisystem
search_files=Benutzt Datei
search_submit=Suche
search_none=Kein passender Prozess gefunden.
search_kill=Sende Signal
search_return=Suchformular
run_command=Auszuf&uuml;hrender Befehl
run_submit=Ausf&uuml;hren
run_mode=Ausf&uuml;hrmodus
run_bg=F&uuml;hre im Hintergrund aus
run_fg=Warte bis Beendigung
run_input=Eingabe an Befehl
run_title=Befehlsausgabe
run_output=Ausgabe von $1 ..
run_none=Es wurde keine Ausgabe erstellt
edit_title=Prozessinformation
edit_gone=Dieser Prozess l&auml;uft nicht mehr
edit_sub=Unterprozesse
edit_kill=Sende Signal
edit_change=&Auml;ndern
kill_err=Fehler beim Senden von Signal $1 an Prozess $2
kill_title=Sende Signal
kill_sent=Gesendet
renice_err=Fehler beim &Auml;ndern des Nicelevels des Prozesses $1
linux_pri=Priorit&auml;t
linux_tty=TTY
linux_status=Status
linux_wchan=Wartet in
linux_mem=Speicher
linux_group=Gruppe
linux_ruser=Echter Benutzer
linux_rgroup=Echte Gruppe
linux_pgid=Prozessgruppen-ID
linux_tty=TTY
linuxstat_R=L&auml;uft
linuxstat_S=Schl&auml;ft
linuxstat_D=Tiefschlaf
linuxstat_T=Gestoppt
linuxstat_Z=Zombie
freebsd_ruser=Echter Benutzer
freebsd_rgroup=Echte Gruppe 
freebsd_tty=TTY
freebsd_pgid=Prozessgruppe
freebsd_lstart=Startzeit
freebsd_lim=Speichergrenze
hpux_pri=Priorit&auml;t
hpux_tty=TTY
hpux_status=Status
hpux_wchan=Warten auf
hpuxstat_0=Existiert nicht
hpuxstat_S=Schl&auml;ft
hpuxstat_W=Wartet
hpuxstat_R=L&auml;uft
hpuxstat_I=Zwischenstatus
hpuxstat_Z=Zombie
hpuxstat_T=Gestoppt
hpuxstat_G=W&auml;chst
macos_tty=TTY
sysv_group=Gruppe
sysv_ruser=Echter Benutzer
sysv_rgroup=Echte Gruppe 
sysv_pgid=Prozessgruppen-ID
sysv_tty=TTY
  070701000703e5000081a40000000000000002000000013d1fe2c400000e64000000200000000000000000000000000000001300000003reloc/proc/lang/en    index_title=Running Processes
index_display=Display
index_tree=PID
index_user=User
index_size=Memory
index_cpu=CPU
index_search=Search
index_run=Run..
index_return=process list
index_mem=<b>Real memory:</b> $1 kB total / $2 kB free
index_swap=<b>Swap space:</b> $1 kB total / $2 kB free
index_load=<b>CPU load averages:</b> $1 (1 mins) , $2 (5 mins) , $3 (15 mins)

pid=Process ID
owner=Owner
command=Command
cpu=CPU
size=Size
parent=Parent process
runtime=Run time
nice=Nice level

search_user=Owned by
search_match=Matching
search_cpupc=Using more than $1% CPU
search_fs=Using filesystem
search_files=Using file
search_submit=Search
search_none=No matching processes found.
search_kill=Send Signal
search_ignore=Ignore search processes in result
search_return=search form
search_sigterm=Terminate Processes
search_sigkill=Kill Processes
search_port=Using port
search_protocol=protocol

run_command=Command to run
run_submit=Run
run_mode=Run mode
run_bg=Run in background
run_fg=Wait until complete
run_input=Input to command
run_title=Command Output
run_output=Output from $1 ..
run_none=No output generated
run_ecannot=You are not allowed to run commands

edit_title=Process Information
edit_gone=This process is no longer running
edit_sub=Subprocesses
edit_kill=Send Signal
edit_change=Change
edit_prilow=Low priority
edit_prihigh=High priority
edit_pridef=Default
edit_none=None
edit_ecannot=You are not allowed to edit processes
edit_sigterm=Terminate Process
edit_sigkill=Kill Process
edit_open=Files and Connections

kill_err=Failed to send signal $1 to process $2
kill_title=Send Signal
kill_sent=sent
kill_ecannot=You are not allowed to kill processes

renice_err=Failed to renice process $1
renice_ecannot=You are not allowed to renice processes

linux_pri=Priority
linux_tty=TTY
linux_status=Status
linux_wchan=Waiting In
linux_mem=Memory
linux_group=Group
linux_ruser=Real user
linux_rgroup=Real group
linux_pgid=Process group ID

linuxstat_R=Running
linuxstat_S=Sleeping
linuxstat_D=Deep sleep
linuxstat_T=Stopped
linuxstat_Z=Zombie

freebsd_ruser=Real user
freebsd_rgroup=Real group
freebsd_tty=TTY
freebsd_pgid=Process group
freebsd_lstart=Start time
freebsd_lim=Memory limit

hpux_pri=Priority
hpux_tty=TTY
hpux_status=Status
hpux_wchan=Waiting for

hpuxstat_0=Nonexistent
hpuxstat_S=Sleeping
hpuxstat_W=Waiting
hpuxstat_R=Running
hpuxstat_I=Intermediate
hpuxstat_Z=Zombie
hpuxstat_T=Stopped
hpuxstat_G=Growing

macos_tty=TTY

sysv_group=Group
sysv_ruser=Real user
sysv_rgroup=Real group
sysv_pgid=Process group ID
sysv_tty=TTY

log_run=Ran command "$1"
log_kill=Sent signal $1 to process $2
log_kills=Send signal $1 to $2 processes
log_kill_l=Sent signal $1 to process $2
log_kills_l=Sent signal $1 to processes<br>$2

acl_manage=Manage processes as user
acl_manage_def=Current Webmin user
acl_edit=Can kill and renice processes?
acl_run=Can run commands?

kill_kill=Kill Process
kill_term=&nbsp;Terminate&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;Restart&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Stop&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;Continue&nbsp;&nbsp;

open_title=Open Files and Connections
open_proc=For process $1 (PID $2)
open_header1=Open files
open_header2=Open network connections
open_type=Type
open_proto=Protocol
open_desc=Details
open_fd=File Descriptor
open_listen1=Listening on port $1
open_listen2=Listening on address $1 port $2
open_recv=Receiving on $1:$2
open_conn=Connected from $1 to $2 in state $3
open_cwd=Current dir
open_rtd=Root dir
open_txt=Program code
open_mem=Shared library
open_dir=Directory
open_reg=Regular file
open_chr=Character special
open_blk=Block special
open_size=File size
open_inode=Inode
open_file=Path

070701000703e6000081a40000000000000002000000013d1fe2c400000c57000000200000000000000000000000000000001300000003reloc/proc/lang/es    index_title=Gestor de Procesos
index_display=Mostrar
index_tree=PID
index_user=Usuario
index_size=Memoria
index_cpu=UCP
index_search=Buscar
index_run=Ejecutar...
index_return=lista de procesos
index_mem=<b>Memoria real:</b> $1 KB total / $2 KB libres
index_swap=<b>Espacio de intercambio:</b> $1 KB total / $2 KB libres
index_load=<b>Promedios de carga de UCP:</b> $1 (5 mins), $2 (10 mins), $3 (15 mins)

pid=ID de Proceso
owner=Propietario
command=Comando
cpu=UCP
size=Medida
parent=Proceso padre
runtime=Tiempo de Ejecución
nice=Nivel de prioridad (Nice)

search_user=Propiedad de
search_match=Coincidiendo con
search_cpupc=Usando más de $1% de UCP
search_fs=Usando sistema de archivos
search_files=Usando archivo
search_submit=Buscar
search_none=No se han encontrado procesos que coincidan.
search_kill=Enviar Señal
search_ignore=Ignorar procesos de búsqueda
search_return=formulario de búsqueda

run_command=Comando a ejecutar
run_submit=Ejecutar
run_mode=Modo de Ejecución
run_bg=Ejecutar en segundo plano
run_fg=Esperar hasta que termine
run_input=Entrada del comando
run_title=Salida del comando
run_output=Salida de $1 ...
run_none=No se ha generado salida
run_ecannot=No estás autorizado a ejecutar comandos

edit_title=Información de Proceso
edit_gone=Este proceso ya no se está ejecutando
edit_sub=Subprocesos
edit_kill=Enviar Señal
edit_change=Cambiar
edit_prilow=Prioridad baja
edit_prihigh=Prioridad alta
edit_pridef=Por defecto
edit_none=Ninguna
edit_ecannot=No estás autorizado a editar procesos

kill_err=Error al enviar señal $1 al proceso $2
kill_title=Enviar Señal
kill_sent=enviada
kill_ecannot=No estás autorizado a matar procesos

renice_err=Error en cambio de prioridad de $1
renice_ecannot=No estás autorizado a cambiar procesos de prioridad

linux_pri=Prioridad
linux_tty=TTY
linux_status=Estado
linux_wchan=Esperando En
linux_mem=Memoria
linux_group=Grupo
linux_ruser=Usuario Real
linux_rgroup=Grupo Real
linux_pgid=ID de grupo de Proceso

linuxstat_R=Ejecutando
linuxstat_S=Durmiendo
linuxstat_D=Sueño profundo
linuxstat_T=Parado
linuxstat_Z=Zombi

freebsd_ruser=Usuario Real
freebsd_rgroup=Grupo Real
freebsd_tty=TTY
freebsd_pgid=Grupo del Proceso
freebsd_lstart=Hora de Inicio
freebsd_lim=Límite de Memoria

hpux_pri=Prioridad
hpux_tty=TTY
hpux_status=Status
hpux_wchan=Esperando por

hpuxstat_0=No existe
hpuxstat_S=Durmiendo
hpuxstat_W=Esperando
hpuxstat_R=En ejecución
hpuxstat_I=Intermedio
hpuxstat_Z=Zombi
hpuxstat_T=Parado
hpuxstat_G=Creciendo

macos_tty=TTY

sysv_group=Grupo
sysv_ruser=Usuario Real
sysv_rgroup=Grupo Real
sysv_pgid=ID de grupo del Proceso
sysv_tty=TTY

log_run=Ejecutado comando "$1"
log_kill=Enviada señal $1 a proceso $2
log_kills=Envía señal $1 a $2 procesos
log_kill_l=Enviada señal $1 a proceso $2
log_kills_l=Enviada señal $1 a procesos<br>$2

acl_manage=Gestionar procesos como usuario
acl_edit=¿Puede matar y cambiar procesos de prioridad?
acl_run=¿Puede ejecutar comandos?

kill_kill=Matar Proceso
kill_term=&nbsp;Terminar&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;Rearrancar&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Parar&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;Continuar&nbsp;&nbsp;

 070701000703e7000081a40000000000000002000000013d1fe2c400000d0a000000200000000000000000000000000000001300000003reloc/proc/lang/fr    index_title=Gestionnaire de processus
index_display=Mode d'affichage
index_tree=Numéro
index_user=Propriétaire
index_size=Mémoire
index_cpu=Processeur
index_search=Recherche
index_run=Exécuter
index_return=la liste des processus
index_mem=<b>Mémoire réelle:</b> total $1 Ko / $2 Ko libre
index_swap=<b>Espace de swap:</b> total $1 Ko / $2 Ko libre
index_load=<b>Moyennes de charge CPU:</b> $1 (5 mins) , $2 (10 mins) , $3 (15 mins)

pid=Numéro de processus
owner=Propriétaire
command=Commande
cpu=Processeur
size=Taille
parent=Processus parent
runtime=Temps d'exécution
nice=Niveau de priorité

search_user=Appartient à
search_match=Correspond à
search_cpupc=Utilise plus que $1% du CPU
search_fs=Utilise le système de fichier
search_files=Utilise le fichier
search_submit=Rechercher
search_none=Aucun processus correspondant
search_kill=Envoyer le signal
search_ignore=Ignorer les processus de recherche
search_return=page de recherche

run_command=Commande à exécuter
run_submit=Exécuter
run_mode=Mode d'exécution
run_bg=Exécuter en arrière plan
run_fg=Attendre que le processus soit terminé
run_input=Flux d'entrée
run_title=Sortie de la Commande
run_output=Sortie de $1
run_none=Aucune sortie générée
run_ecannot=Vous n'êtes pas autorisé à lancer des commandes

edit_title=Information du processus
edit_gone=Ce processus n'est plus exécuté
edit_sub=Sous-processus
edit_kill=Envoyer le signal
edit_change=Changer
edit_prilow=Priorité basse
edit_prihigh=Priorité haute
edit_pridef=Par défaut
edit_none=Aucun
edit_ecannot=Vous n'êtes pas autorisé à éditer les processus

kill_err=Impossible d'envoyer le signal $1 au processus $2
kill_title=Envoyer le signal
kill_sent=envoyé
kill_ecannot=Vous n'êtes pas autorisé à tuer les processus

renice_err=Impossible de changer la priorité du processus $1
renice_ecannot=Vous n'êtes pas autorisé à changer la priorité des processus

linux_pri=Priorité
linux_tty=TTY
linux_status=États
linux_wchan=En attente de
linux_mem=Mémoire
linux_group=Groupe
linux_ruser=Véritable utilisateur
linux_rgroup=Véritable groupe
linux_pgid=Numéro de groupe du processus

linuxstat_R=Exécuté
linuxstat_S=En sommeil
linuxstat_D=Sommeil profond
linuxstat_T=Arrêté
linuxstat_Z=Zombie

freebsd_ruser=Véritable usager
freebsd_rgroup=Véritable groupe
freebsd_tty=TTY
freebsd_pgid=Groupe de processus
freebsd_lstart=Temps de départ
freebsd_lim=Limite de mémoire

hpux_pri=Priorité
hpux_tty=TTY
hpux_status=États
hpux_wchan=En attente de

hpuxstat_0=Inexistant
hpuxstat_S=En sommeil
hpuxstat_W=En attente
hpuxstat_R=Exécuté
hpuxstat_I=Intermédiaire
hpuxstat_Z=Zombie
hpuxstat_T=Arrêté
hpuxstat_G=En expansion

macos_tty=TTY

sysv_group=Groupe
sysv_ruser=Véritable usager
sysv_rgroup=Véritable groupe
sysv_pgid=Numéro de groupe de processus
sysv_tty=TTY

log_run=Commande "$1" lancée
log_kill=Signal $1 envoyé au processus $2
log_kills=Signal $1 envoyé aux processus $2
log_kill_l=Signal $1 envoyé au processus $2
log_kills_l=Signal $1 envoyé aux processus<br>$2

acl_manage=Manipuler les processus comme utilisateur
acl_edit=Peut tuer et renicer des processus ?
acl_run=Peut lancer des commandes ?

kill_kill=Tuer processus
kill_term=&nbsp;Terminer&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;Redémarrer&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Stopper&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;Continuer&nbsp;&nbsp;

  070701000703e8000081a40000000000000002000000013d1fe2c5000007dc000000200000000000000000000000000000001300000003reloc/proc/lang/hu    index_title=Processz Menedzser
index_display=Megjelenítés
index_tree=PID
index_user=Felhasználó
index_size=Memória
index_cpu=CPU
index_search=Keresés...
index_run=Futtatás...
index_return=processz listához

pid=Processz ID
owner=Tulajdonos
command=Parancs
cpu=CPU
size=Méret
parent=Szülõ processz
runtime=Eltelt idõ
nice=Nice szint

search_user=Tulajdonosa
search_match=Keresett szó
search_cpupc=A CPU-használat nagyobb mint $1 %
search_fs=Adott fájlrendszer
search_files=Keresett fájl
search_submit=Keresés
search_none=Egyezõ processz találata nem sikerült.
search_kill=Jelzés küldése
search_return=a keresõ ûrlaphoz

run_command=Parancs futtatása
run_submit=Futtatás
run_mode=Futás módja
run_bg=Futtatás háttérben
run_fg=Várakozás befejezésig
run_input=Parancs bemenete
run_title=Parancs kimenet
run_output=$1 kimenete ..
run_none=Nincs kimenet (output).

edit_title=Processz Információ
edit_gone=Ez a processz nem fut tovább
edit_sub=Alprocessessz
edit_kill=Jelzés küldése
edit_change=Változtat

kill_err=A(z) $1 jelzés küldése a(z) $2 processznek nem sikerült.
kill_title=Jelzés küldése
kill_sent=elküldve

renice_err=A(z) $1 processz prioritásának megváltoztatása nem sikerült.

linux_pri=Prioritás
linux_tty=TTY
linux_status=Állapot
linux_wchan=Waiting In
linux_mem=Memória
linux_group=Csoport
linux_ruser=Valódi felhasználó
linux_rgroup=Valódi csoport
linux_pgid=Processz csoport ID

linuxstat_R=Futó
linuxstat_S=Alvó
linuxstat_D=Mélyalvó
linuxstat_T=Leállított
linuxstat_Z=Zombi

freebsd_ruser=Valódi felhasználó
freebsd_rgroup=Valódi csoport
freebsd_tty=TTY
freebsd_pgid=Processz csoport
freebsd_lstart=Start time
freebsd_lim=Memóriakorlát

hpux_pri=Prioritás
hpux_tty=TTY
hpux_status=Állapot
hpux_wchan=Várakozás a

hpuxstat_0=Nemlétezõ
hpuxstat_S=Alvó
hpuxstat_W=Várakozó
hpuxstat_R=Futó
hpuxstat_I=Közvetítõ
hpuxstat_Z=Zombi
hpuxstat_T=Leállítva
hpuxstat_G=Növekvõ

macos_tty=TTY

sysv_group=Csoport
sysv_ruser=Valódi felhasználó
sysv_rgroup=Valódi csoport
sysv_pgid=Processz csoport ID
sysv_tty=TTY
070701000703e9000081a40000000000000002000000013d1fe2c500000a7a000000200000000000000000000000000000001a00000003reloc/proc/lang/ja_JP.euc index_title=¥×¥í¥»¥¹ ¥Þ¥Í¡¼¥¸¥ã
index_display=É½¼¨
index_tree=PID
index_user=¥æ¡¼¥¶
index_size=¥á¥â¥ê
index_cpu=CPU
index_search=¸¡º÷
index_run=¼Â¹Ô..
index_return=¥×¥í¥»¥¹ ¥ê¥¹¥È
index_mem=<b>¼Â¥á¥â¥ê:</b> $1 KB ¹ç·× / $2 KB ¶õ¤­
index_swap=<b>¥¹¥ï¥Ã¥× ¥¹¥Ú¡¼¥¹:</b> $1 KB ¹ç·× / $2 KB ¶õ¤­
index_load=<b>CPU ¥í¡¼¥ÉÊ¿¶Ñ:</b> $1 (5Ê¬) , $2 (10 Ê¬) , $3 (15 Ê¬)

pid=¥×¥í¥»¥¹ ID
owner=½êÍ­¼Ô
command=¥³¥Þ¥ó¥É
cpu=CPU
size=¥µ¥¤¥º
parent=¿Æ¥×¥í¥»¥¹
runtime=¼Â¹Ô»þ´Ö
nice=Nice ¥ì¥Ù¥ë

search_user=½êÍ­¼Ô
search_match=°ìÃ×
search_cpupc=CPU ¤Î$1% °Ê¾å»ÈÍÑÃæ
search_fs=»ÈÍÑÃæ¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
search_files=»ÈÍÑÃæ¤Î¥Õ¥¡¥¤¥ë
search_submit=¸¡º÷
search_none=°ìÃ×¤·¤¿¥×¥í¥»¥¹¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
search_kill=¥·¥°¥Ê¥ë¤ÎÁ÷¿®
search_ignore=¸¡º÷¥×¥í¥»¥¹¤òÌµ»ë
search_return=¸¡º÷·Á¼°

run_command=¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É
run_submit=¼Â¹Ô
run_mode=¼Â¹Ô¥â¡¼¥É
run_bg=¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô
run_fg=½ªÎ»¤Þ¤ÇÂÔµ¡
run_input=¥³¥Þ¥ó¥ÉÆþÎÏ
run_title=¥³¥Þ¥ó¥É½ÐÎÏ
run_output=$1 ¤«¤é¤Î½ÐÎÏ..
run_none=ºîÀ®¤µ¤ì¤¿½ÐÎÏ¤Ï¤¢¤ê¤Þ¤»¤ó

edit_title=¥×¥í¥»¥¹¾ðÊó
edit_gone=¤³¤Î¥×¥í¥»¥¹¤Ï¤â¤¦¼Â¹Ô¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
edit_sub=¥µ¥Ö ¥×¥í¥»¥¹
edit_kill=¥·¥°¥Ê¥ë¤ÎÁ÷¿®
edit_change=ÊÑ¹¹
edit_prilow=Í¥ÀèÅÙ Äã
edit_prihigh=Í¥ÀèÅÙ ¹â
edit_pridef=¥Ç¥Õ¥©¥ë¥È
edit_none=¤Ê¤·

kill_err=¥·¥°¥Ê¥ë $1 ¤ò¥×¥í¥»¥¹ $2 ¤ËÁ÷¿®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
kill_title=¥·¥°¥Ê¥ë¤ÎÁ÷¿®
kill_sent=Á÷¿®ºÑ¤ß

renice_err=¥×¥í¥»¥¹ $1 ¤ò renice¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿:

linux_pri=Í¥ÀèÅÙ
linux_tty=TTY
linux_status=¥¹¥Æ¡¼¥¿¥¹
linux_wchan=ÂÔµ¡Ãæ
linux_mem=¥á¥â¥ê
linux_group=¥°¥ë¡¼¥×
linux_ruser=¥ê¥¢¥ë ¥æ¡¼¥¶
linux_rgroup=¥ê¥¢¥ë ¥°¥ë¡¼¥×
linux_pgid=¥×¥í¥»¥¹ ¥°¥ë¡¼¥× ID

linuxstat_R=¼Â¹ÔÃæ
linuxstat_S=¥¹¥ê¡¼¥×Ãæ
linuxstat_D=¥Ç¥£¡¼¥× ¥¹¥ê¡¼¥×
linuxstat_T=Ää»ß
linuxstat_Z=¥¾¥ó¥Ó

freebsd_ruser=¥ê¥¢¥ë ¥æ¡¼¥¶
freebsd_rgroup=¥ê¥¢¥ë ¥°¥ë¡¼¥×
freebsd_tty=TTY
freebsd_pgid=¥×¥í¥»¥¹ ¥°¥ë¡¼¥×
freebsd_lstart=³«»Ï»þ´Ö
freebsd_lim=¥á¥â¥êÀ©¸Â

hpux_pri=Í¥ÀèÅÙ
hpux_tty=TTY
hpux_status=¥¹¥Æ¡¼¥¿¥¹
hpux_wchan=ÂÔµ¡Ãæ

hpuxstat_0=Â¸ºß¤·¤Ê¤¤
hpuxstat_S=¥¹¥ê¡¼¥×Ãæ
hpuxstat_W=ÂÔµ¡Ãæ
hpuxstat_R=¼Â¹ÔÃæ
hpuxstat_I=Ãæ´Ö
hpuxstat_Z=¥¾¥ó¥Ó
hpuxstat_T=Ää»ß
hpuxstat_G=³ÈÄ¥Ãæ

macos_tty=TTY

sysv_group=¥°¥ë¡¼¥×
sysv_ruser=¥ê¥¢¥ë ¥æ¡¼¥¶
sysv_rgroup=¥ê¥¢¥ë ¥°¥ë¡¼¥×
sysv_pgid=¥×¥í¥»¥¹ ¥°¥ë¡¼¥× ID
sysv_tty=TTY

log_run=¥³¥Þ¥ó¥É "$1" ¤ò¼Â¹Ô¤·¤Þ¤·¤¿
log_kill=¥·¥°¥Ê¥ë $1 ¤ò¥×¥í¥»¥¹ $2 ¤ËÁ÷¿®¤·¤Þ¤·¤¿
log_kills=¥·¥°¥Ê¥ë $1 ¤ò¥×¥í¥»¥¹ $2 ¤ËÁ÷¿®
log_kill_l=¥·¥°¥Ê¥ë $1 ¤ò¥×¥í¥»¥¹ $2 ¤ËÁ÷¿®¤·¤Þ¤·¤¿
log_kills_l=¥·¥°¥Ê¥ë $1 ¤ò¥×¥í¥»¥¹¤ËÁ÷¿®¤·¤Þ¤·¤¿<br>$2

acl_manage=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¥×¥í¥»¥¹¤ò´ÉÍý

kill_kill=¥×¥í¥»¥¹¤ò Kill 
kill_term=&nbsp;½ªÎ» &nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;ºÆÅÙ³«»Ï &nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Ää»ß &nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;Â³¹Ô &nbsp;&nbsp;

  070701000703ea000081a40000000000000002000000013d1fe2c5000009eb000000200000000000000000000000000000001a00000003reloc/proc/lang/ko_KR.euc index_title=ÇÁ·Î¼¼½º °ü¸®ÀÚ
index_display=Ç¥½Ã
index_tree=PID
index_user=»ç¿ëÀÚ
index_size=¸Þ¸ð¸®
index_cpu=CPU
index_search=°Ë»ö
index_run=½ÇÇà..
index_return=ÇÁ·Î¼¼½º ¸ñ·Ï
index_mem=<b>½ÇÁ¦ ¸Þ¸ð¸®:</b> ÃÑ ¸Þ¸ð¸® $1KB/»ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸® $2KB
index_swap=<b>½º¿Ò °ø°£:</b> ÃÑ °ø°£ $1KB/»ç¿ë °¡´ÉÇÑ °ø°£ $2KB
index_load=<b>CPU Æò±Õ ºÎÇÏ:</b> $1(5ºÐ), $2(10ºÐ), $3(15ºÐ)

pid=ÇÁ·Î¼¼½º ID
owner=¼ÒÀ¯ÀÚ
command=¸í·É
cpu=CPU
size=Å©±â
parent=»óÀ§ ÇÁ·Î¼¼½º
runtime=½ÇÇà ½Ã°£
nice=¾çÈ£ÇÑ ¼öÁØ

search_user=¼ÒÀ¯ÀÚ
search_match=ÀÏÄ¡
search_cpupc=$1% ÀÌ»ó CPU »ç¿ë
search_fs=ÆÄÀÏ ½Ã½ºÅÛ »ç¿ë
search_files=ÆÄÀÏ »ç¿ë
search_submit=°Ë»ö
search_none=ÀÏÄ¡ÇÏ´Â ÇÁ·Î¼¼½º°¡ ¾ø½À´Ï´Ù.
search_kill=½ÅÈ£ º¸³¿
search_ignore=°Ë»ö ÇÁ·Î¼¼½º ¹«½Ã
search_return=°Ë»ö ¾ç½Ä

run_command=½ÇÇàÇÒ ¸í·É
run_submit=½ÇÇà
run_mode=½ÇÇà ¸ðµå
run_bg=¹é±×¶ó¿îµå¿¡¼­ ½ÇÇà
run_fg=¿Ï·áÇÒ ¶§±îÁö ´ë±â
run_input=¸í·É ÀÔ·Â
run_title=¸í·É °á°ú
run_output=$1ÀÇ °á°ú..
run_none=»ý¼ºµÈ °á°ú°¡ ¾ø½À´Ï´Ù

edit_title=ÇÁ·Î¼¼½º Á¤º¸
edit_gone=ÀÌ ÇÁ·Î¼¼½º´Â ´õ ÀÌ»ó ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù
edit_sub=ÇÏÀ§ ÇÁ·Î¼¼½º
edit_kill=½ÅÈ£ º¸³¿
edit_change=º¯°æ
edit_prilow=³·Àº ¼øÀ§
edit_prihigh=³ôÀº ¼øÀ§
edit_pridef=±âº» ¼øÀ§
edit_none=¾øÀ½

kill_err=ÇÁ·Î¼¼½º $2¿¡ ½ÅÈ£ $1À»(¸¦) º¸³»Áö ¸øÇß½À´Ï´Ù
kill_title=½ÅÈ£ º¸³¿
kill_sent=Àü¼Û ¿Ï·á

renice_err=ÇÁ·Î¼¼½º $1À»(¸¦) reniceÇÏÁö ¸øÇß½À´Ï´Ù

linux_pri=¿ì¼± ¼øÀ§
linux_tty=TTY
linux_status=»óÅÂ
linux_wchan=´ë±â À§Ä¡
linux_mem=¸Þ¸ð¸®
linux_group=±×·ì
linux_ruser=½ÇÁ¦ »ç¿ëÀÚ
linux_rgroup=½ÇÁ¦ ±×·ì
linux_pgid=ÇÁ·Î¼¼½º ±×·ì ID

linuxstat_R=½ÇÇà Áß
linuxstat_S=ÀÏ½Ã ÁßÁö
linuxstat_D=Àå½Ã°£ ÁßÁö
linuxstat_T=ÁßÁöµÊ
linuxstat_Z=Á»ºñ

freebsd_ruser=½ÇÁ¦ »ç¿ëÀÚ
freebsd_rgroup=½ÇÁ¦ ±×·ì
freebsd_tty=TTY
freebsd_pgid=ÇÁ·Î¼¼½º ±×·ì
freebsd_lstart=½ÃÀÛ ½Ã°£
freebsd_lim=¸Þ¸ð¸® ÇÑ°è

hpux_pri=¿ì¼± ¼øÀ§
hpux_tty=TTY
hpux_status=»óÅÂ
hpux_wchan=´ë±â

hpuxstat_0=Á¸ÀçÇÏÁö ¾ÊÀ½
hpuxstat_S=ÀÏ½Ã ÁßÁö
hpuxstat_W=´ë±â Áß
hpuxstat_R=½ÇÇà Áß
hpuxstat_I=Áß°£
hpuxstat_Z=Á»ºñ
hpuxstat_T=ÁßÁöµÊ
hpuxstat_G=Áõ°¡ Áß

macos_tty=TTY

sysv_group=±×·ì
sysv_ruser=½ÇÁ¦ »ç¿ëÀÚ
sysv_rgroup=½ÇÁ¦ ±×·ì
sysv_pgid=ÇÁ·Î¼¼½º ±×·ì ID
sysv_tty=TTY

log_run=¸í·É "$1" ½ÇÇàµÊ
log_kill=ÇÁ·Î¼¼½º $2¿¡ ½ÅÈ£ $1 º¸³¿ ¿Ï·á
log_kills=ÇÁ·Î¼¼½º $2¿¡ ½ÅÈ£ $1 º¸³¿ ¿Ï·á
log_kill_l=ÇÁ·Î¼¼½º $2¿¡ ½ÅÈ£ $1 º¸³¿ ¿Ï·á
log_kills_l=ÇÁ·Î¼¼½º $2¿¡ ½ÅÈ£ $1 º¸³¿ ¿Ï·á<br>

acl_manage=»ç¿ëÀÚ·Î¼­ ÇÁ·Î¼¼½º °ü¸®

kill_kill=ÇÁ·Î¼¼½º Áß´Ü
kill_term=&nbsp;Á¾·á&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;´Ù½Ã ½ÃÀÛ&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;ÁßÁö&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;°è¼Ó&nbsp;&nbsp;

 070701000703eb000081a40000000000000002000000013d1fe2c500000c9c000000200000000000000000000000000000001300000003reloc/proc/lang/pl    index_title=Zarz±dca procesów
index_display=Wy¶wietl wg
index_tree=PID
index_user=U¿ytkownika
index_size=Pamiêci
index_cpu=CPU
index_search=Szukaj
index_run=Uruchom..
index_return=listy procesów
index_mem=<b>Pamiêæ rzeczywista:</b> $1 kB ³±cznie / $2 kB wolne
index_swap=<b>Przestrzeñ wymiany:</b> $1 kB ³±cznie / $2 kB wolne
index_load=<b>¦rednie obci±¿enie CPU:</b> $1 (5 min) , $2 (10 min) , $3 (15 min)

pid=Nr ID procesu
owner=W³a¶ciciel
command=Polecenie
cpu=Wykorzystanie CPU
size=Rozmiar
parent=Nr ID rodzica
runtime=Czas dzia³ania
nice=Poziom <i>nice</i>

search_user=W³a¶ciciel
search_match=Wzorzec nazwy
search_cpupc=Wykorzystuj±cy wiêcej ni¿ $1% CPU
search_fs=Korzystaj±cy z&nbsp;systemu plików
search_files=Korzystaj±cy z&nbsp;pliku
search_submit=Szukaj
search_none=Nie znaleziono odpowiednich procesów.
search_kill=Wy¶lij sygna³
search_ignore=Pomin±æ procesy przeszukuj±ce
search_return=formularza szukania

run_command=Polecenie do uruchomienia
run_submit=Uruchom
run_mode=Sposób uruchomienia
run_bg=Uruchom w&nbsp;tle
run_fg=Czekaj na zakoñczenie
run_input=Dane wej¶ciowe
run_title=Wynik polecenia
run_output=Wynik polecenia $1 ..
run_none=Brak wyników
run_ecannot=Nie masz uprawnieñ do uruchamiania poleceñ

edit_title=Informacje o procesie
edit_gone=Ten proces ju¿ nie dzia³a
edit_sub=Podprocesy
edit_kill=Wy¶lij sygna³
edit_change=Zmieñ
edit_prilow=Niski priorytet
edit_prihigh=Wysoki priorytet
edit_pridef=Domy¶lne
edit_none=Brak
edit_ecannot=Nie masz uprawnieñ do zmian procesów

kill_err=Nie uda³o siê wys³aæ sygna³u $1 do procesu $2
kill_title=Wy¶lij sygna³
kill_sent=wy¶lij
kill_ecannot=Nie masz uprawnieñ do zabijania procesów

renice_err=Nie uda³o siê zmieniæ nice dla procesu $1
renice_ecannot=Nie masz uprawnieñ do zmiany nice dla procesów

linux_pri=Priorytet
linux_tty=Terminal
linux_status=Stan
linux_wchan=Czeka w
linux_mem=Pamiêæ
linux_group=Grupa
linux_ruser=Rzeczywisty u¿ytkownik
linux_rgroup=Rzeczywista grupa
linux_pgid=Nr ID grupy procesów

linuxstat_R=Dzia³a
linuxstat_S=U¶piony
linuxstat_D=G³êboko u¶piony
linuxstat_T=Zatrzymany
linuxstat_Z=Zombie

freebsd_ruser=Rzeczywisty u¿ytkownik
freebsd_rgroup=Rzeczywista grupa
freebsd_tty=Terminal
freebsd_pgid=Grupa procesu
freebsd_lstart=Czas uruchomienia
freebsd_lim=Ograniczenie pamiêci

hpux_pri=Priorytet
hpux_tty=Terminal
hpux_status=Stan
hpux_wchan=Czeka na

hpuxstat_0=Nie istnieje
hpuxstat_S=U¶piony
hpuxstat_W=Czeka
hpuxstat_R=Dzia³a
hpuxstat_I=Przej¶ciowy
hpuxstat_Z=Zombie
hpuxstat_T=Zatrzymany
hpuxstat_G=Growing

macos_tty=Terminal

sysv_group=Grupa
sysv_ruser=Rzeczywisty u¿ytkownik
sysv_rgroup=Rzeczywista grupa
sysv_pgid=Nr ID grupy procesów
sysv_tty=Terminal

log_run=Uruchomiono polecenie "$1"
log_kill=Wys³ano sygna³ $1 do procesu $2
log_kills=Wys³ano sygna³ $1 do procesów $2
log_kill_l=Wys³ano sygna³ $1 do procesu $2
log_kills_l=Wys³ano sygna³ $1 do procesów<br>$2

acl_manage=Zarz±dzaæ procesami jako u¿ytkownik
acl_manage_def=Aktualny u¿ytkownik Webmina
acl_edit=Mo¿e zabijaæ i&nbsp;zmieniaæ nice dla procesów
acl_run=Mo¿e uruchamiaæ polecenia

kill_kill=Zabij proces
kill_term=&nbsp;&nbsp;Przerwij&nbsp;&nbsp;
kill_hup=&nbsp;Zrestartuj&nbsp;
kill_stop=&nbsp;Zatrzymaj&nbsp;&nbsp;
kill_cont=&nbsp;Kontynuuj&nbsp;&nbsp;
070701000703ec000081a40000000000000002000000013d1fe2c40000087b000000200000000000000000000000000000001300000003reloc/proc/lang/pt    index_title=Administrador de Processos
index_display=Mostrar
index_tree=PID
index_user=Utilizador
index_size=Memória
index_cpu=CPU
index_search=Procurar
index_run=Executar..
index_display=Mostrar
index_return=lista de processos

pid=ID do processo
owner=Propriatário
command=Comando
cpu=CPU
size=Tamanho
parent=Processo de origem
runtime=Tempo de Execução
nice=Nivel de prioridade (Nice)

search_user=Propriedade de
search_match=Igual a
search_cpu=Utilizando mais que
search_fs=Utilizando o sistema de ficheiros
search_files=Utilizando o ficheiro
search_submit=Procurar
search_none=Não foram encontrados processos correspondentes.
search_kill=Enviar Sinal
search_return=formulário de procura

run_command=Comando para executar
run_submit=Executar
run_mode=Modo de execução
run_bg=Correr em segundo plano
run_fg=Esperar até estar completo
run_input=Entrada de parâmetros para o comando
run_title=Saída de Resultados do Comando
run_output=Saída de resultados de $1 ..
run_none=Não foi gerada nenhuma saída de resultados

edit_title=Informação do Processo
edit_gone=Este processo já não se encontra em execução
edit_sub=Sub-processos
edit_kill=Enviar Sinal
edit_change=Alterar

kill_err=Erro ao enviar o sinal $1 para o processo $2
kill_title=Enviar Sinal
kill_sent=enviado

renice_err=Erro no renice do processo $1

linux_pri=Prioridade
linux_tty=TTY
linux_status=Estado
linux_wchan=À Espera
linux_mem=Memória
linux_group=Grupo
linux_ruser=Utilizador real
linux_rgroup=Grupo real
linux_pgid=ID do grupo do processo
linux_tty=TTY

linuxstat_R=A correr
linuxstat_S=A dormir
linuxstat_D=Sono Profundo
linuxstat_T=Parado
linuxstat_Z=Zombie

freebsd_ruser=Utilizador real
freebsd_rgroup=Grupo real
freebsd_tty=TTY
freebsd_pgid=Grupo do process
freebsd_lstart=Começo
freebsd_lim=Limite de memória

hpux_pri=Prioridade
hpux_tty=TTY
hpux_status=Estado
hpux_wchan=À espera de

hpuxstat_0=Inexistente
hpuxstat_S=A Dormir
hpuxstat_W=Em Espera
hpuxstat_R=A Correr
hpuxstat_I=Intermediário
hpuxstat_Z=Zombie
hpuxstat_T=Parado
hpuxstat_G=Em desenvolvimento

macos_tty=TTY

sysv_group=Grupo
sysv_ruser=Utilizador real
sysv_rgroup=Grupo real
sysv_pgid=ID do grupo do processo
sysv_tty=TTY
 070701000703ed000081a40000000000000002000000013d1fe2c5000007bf000000200000000000000000000000000000001600000003reloc/proc/lang/ru_RU runtime=Âðåìÿ âûïîëüíåíèÿ
search_fs=Èñïîëüçóþùèé ôàéëîâóþ ñèñòåìó
index_search=Ïîèñê
run_mode=Ðåæèì çàïóñêà
kill_title=Ïîñëàòü Ñèãíàë
run_submit=Çàïóñòèòü
hpuxstat_0=Íåñóùåñòâóþùèé
hpuxstat_G=Ðàñòóùèé
hpuxstat_I=Ïåðåõîäíûé
hpuxstat_R=Ðàáîòàåò
hpuxstat_S=Ñïèò
hpuxstat_T=Îñòàíîâëåí
hpuxstat_W=Æäåò
hpuxstat_Z=Çîìáè
freebsd_lim=Ëèìèò ïàìÿòè
sysv_tty=TTY
freebsd_pgid=Ãðóïïà ïðîöåññà
linux_pri=Ïðèîðèòåò
hpux_pri=Ïðèîðèòåò
index_return=ñïèñîê ïðîöåññîâ
sysv_ruser=Ðåàëüíûé ïîëüçîâàòåëü
linux_rgroup=Ðåàëüíàÿ ãðóïïà
macos_tty=TTY
sysv_rgroup=Ðåàëüíàÿ ãðóïïà
linux_pgid=ID ãðóïïû ïðîöåññà
linux_wchan=Îæèäàíèå Â
pid=ID ïðîöåññà
search_files=Èñïîëüçóþùèé ôàéë
owner=Âëàäåëåö
linux_tty=TTY
search_user=Îáëàäàåìûé
hpux_tty=TTY
linux_mem=Ïàìÿòü
edit_kill=Ïîñëàòü Ñèãíàë
search_submit=Ïîèñê
edit_gone=Äàííûé ïðîöåññ áîëüøå íå ñóùåñòâóåò
run_output=Âûâîä îò $1 ..
edit_change=Èçìåíèòü
hpux_wchan=Æäåò
linux_status=Ñîñòîÿíèå
command=Êîìàíäà
edit_title=Èíôîðìàöèÿ î Ïðîöåññå
hpux_status=Ñîñòîÿíèå
cpu=CPU
search_none=Ñîâïàäàþùèõ ïðîöåññîâ íå íàéäåíî
freebsd_tty=TTY
linux_group=Ãðóïïà
kill_err=Îøèáêà ïðè îòñûëêå ïðàâêå ñèãíàëà $1 ïðîöåññó $2
search_return=äèàëîã ïîèñêà
search_match=Ñîâàïàäàþùèé ñ
kill_sent=ïîñëàòü
run_command=Êîìàíäà äëÿ çàïóñêà
sysv_pgid=ID ãðóïïû ïðîöåññà
search_cpu=Èñïîëüçóþùèé áîëåå ÷åì
index_title=Ìåíåäæåð Ïðîöåññîâ
search_kill=Ïîñëàòü Ñèãíàë
edit_sub=Ïîäïðîöåññ
run_bg=Â ôîíîâîì ðåæèìå
nice=Ïðèîðèòåò
index_cpu=CPU
linux_ruser=Ðåàëüíûé ïîëüçîâàòåëü
run_none=Êîìàíäà íè÷åãî íå âûâåëà
index_run=Çàïóñê..
run_title=Âûâîä êîìàíäû
run_fg=Îæèäàòü çàâåðøåíèÿ
freebsd_ruser=Ðåàëüíûé ïîëüçîâàòåëü
size=Ðàçìåð
run_input=Ââîä äëÿ êîìàíäû
index_tree=PID
index_size=Ïàìÿòü
freebsd_lstart=Âðåìÿ ñòàðòà
parent=Ðîäèòåëüñêèé ïðîöåññ
index_display=Ïîêàçûâàòü
linuxstat_D=Êðåïêî ñïèò
linuxstat_R=Ðàáîòàåò
linuxstat_S=Ñïèò
linuxstat_T=Îñòàíîâëåí
linuxstat_Z=Çîìáè
index_user=Ïîëüçîâàòåëü
freebsd_rgroup=Ðåàëüíàÿ ãðóïïà
renice_err=Îøèáêà ïðè ñìåíå ïðèîðèòåòà ïðîöåññà $1
sysv_group=Ãðóïïà
 070701000703ee000081a40000000000000002000000013d1fe2c5000007db000000200000000000000000000000000000001600000003reloc/proc/lang/ru_SU index_title=íÅÎÅÄÖÅÒ ðÒÏÃÅÓÓÏ×
index_display=ðÏËÁÚÙ×ÁÔØ
index_tree=PID
index_user=ðÏÌØÚÏ×ÁÔÅÌØ
index_size=ðÁÍÑÔØ
index_cpu=CPU
index_search=ðÏÉÓË
index_run=úÁÐÕÓË..
index_return=ÓÐÉÓÏË ÐÒÏÃÅÓÓÏ×

pid=ID ÐÒÏÃÅÓÓÁ
owner=÷ÌÁÄÅÌÅÃ
command=ëÏÍÁÎÄÁ
cpu=CPU
size=òÁÚÍÅÒ
parent=òÏÄÉÔÅÌØÓËÉÊ ÐÒÏÃÅÓÓ
runtime=÷ÒÅÍÑ ×ÙÐÏÌØÎÅÎÉÑ
nice=ðÒÉÏÒÉÔÅÔ

search_user=ïÂÌÁÄÁÅÍÙÊ
search_match=óÏ×ÁÐÁÄÁÀÝÉÊ Ó
search_cpu=éÓÐÏÌØÚÕÀÝÉÊ ÂÏÌÅÅ ÞÅÍ
search_fs=éÓÐÏÌØÚÕÀÝÉÊ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ
search_files=éÓÐÏÌØÚÕÀÝÉÊ ÆÁÊÌ
search_submit=ðÏÉÓË
search_none=óÏ×ÐÁÄÁÀÝÉÈ ÐÒÏÃÅÓÓÏ× ÎÅ ÎÁÊÄÅÎÏ
search_kill=ðÏÓÌÁÔØ óÉÇÎÁÌ
search_return=ÄÉÁÌÏÇ ÐÏÉÓËÁ

run_command=ëÏÍÁÎÄÁ ÄÌÑ ÚÁÐÕÓËÁ
run_submit=úÁÐÕÓÔÉÔØ
run_mode=òÅÖÉÍ ÚÁÐÕÓËÁ
run_bg=÷ ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ
run_fg=ïÖÉÄÁÔØ ÚÁ×ÅÒÛÅÎÉÑ
run_input=÷×ÏÄ ÄÌÑ ËÏÍÁÎÄÙ
run_title=÷Ù×ÏÄ ËÏÍÁÎÄÙ
run_output=÷Ù×ÏÄ ÏÔ $1 ..
run_none=ëÏÍÁÎÄÁ ÎÉÞÅÇÏ ÎÅ ×Ù×ÅÌÁ

edit_title=éÎÆÏÒÍÁÃÉÑ Ï ðÒÏÃÅÓÓÅ
edit_gone=äÁÎÎÙÊ ÐÒÏÃÅÓÓ ÂÏÌØÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
edit_sub=ðÏÄÐÒÏÃÅÓÓ
edit_kill=ðÏÓÌÁÔØ óÉÇÎÁÌ
edit_change=éÚÍÅÎÉÔØ

kill_err=ïÛÉÂËÁ ÐÒÉ ÏÔÓÙÌËÅ ÐÒÁ×ËÅ ÓÉÇÎÁÌÁ $1 ÐÒÏÃÅÓÓÕ $2
kill_title=ðÏÓÌÁÔØ óÉÇÎÁÌ
kill_sent=ÐÏÓÌÁÔØ

renice_err=ïÛÉÂËÁ ÐÒÉ ÓÍÅÎÅ ÐÒÉÏÒÉÔÅÔÁ ÐÒÏÃÅÓÓÁ $1

linux_pri=ðÒÉÏÒÉÔÅÔ
linux_tty=TTY
linux_status=óÏÓÔÏÑÎÉÅ
linux_wchan=ïÖÉÄÁÎÉÅ ÷
linux_mem=ðÁÍÑÔØ
linux_group=çÒÕÐÐÁ
linux_ruser=òÅÁÌØÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
linux_rgroup=òÅÁÌØÎÁÑ ÇÒÕÐÐÁ
linux_pgid=ID ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÁ
linux_tty=TTY

linuxstat_R=òÁÂÏÔÁÅÔ
linuxstat_S=óÐÉÔ
linuxstat_D=ëÒÅÐËÏ ÓÐÉÔ
linuxstat_T=ïÓÔÁÎÏ×ÌÅÎ
linuxstat_Z=úÏÍÂÉ

freebsd_ruser=òÅÁÌØÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
freebsd_rgroup=òÅÁÌØÎÁÑ ÇÒÕÐÐÁ
freebsd_tty=TTY
freebsd_pgid=çÒÕÐÐÁ ÐÒÏÃÅÓÓÁ
freebsd_lstart=÷ÒÅÍÑ ÓÔÁÒÔÁ
freebsd_lim=ìÉÍÉÔ ÐÁÍÑÔÉ

hpux_pri=ðÒÉÏÒÉÔÅÔ
hpux_tty=TTY
hpux_status=óÏÓÔÏÑÎÉÅ
hpux_wchan=öÄÅÔ

hpuxstat_0=îÅÓÕÝÅÓÔ×ÕÀÝÉÊ
hpuxstat_S=óÐÉÔ
hpuxstat_W=öÄÅÔ
hpuxstat_R=òÁÂÏÔÁÅÔ
hpuxstat_I=ðÅÒÅÈÏÄÎÙÊ
hpuxstat_Z=úÏÍÂÉ
hpuxstat_T=ïÓÔÁÎÏ×ÌÅÎ
hpuxstat_G=òÁÓÔÕÝÉÊ

macos_tty=TTY

sysv_group=çÒÕÐÐÁ
sysv_ruser=òÅÁÌØÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
sysv_rgroup=òÅÁÌØÎÁÑ ÇÒÕÐÐÁ
sysv_pgid=ID ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÁ
sysv_tty=TTY

 070701000703ef000081a40000000000000002000000013d1fe2c500000a92000000200000000000000000000000000000001300000003reloc/proc/lang/sv    index_title=Processhanterare
index_display=Visa
index_tree=PID
index_user=Användare
index_size=Minne
index_cpu=CPU
index_search=Sök
index_run=Utför ...
index_return=processlista
index_mem=<b>Fysiskt minne:</b> $1 kB totalt / $2 kB ledigt
index_swap=<b>Swap-utrymme:</b> $1 kB totalt / $2 kB ledigt
index_load=<b>Medelvärden för CPU-last:</b> $1 (5 min) , $2 (10 min) , $3 (15 min)

pid=Process-ID
owner=Ägare
command=Kommando
cpu=CPU
size=Storlek
parent=Föräldraprocess
runtime=Körtid
nice=Nice-nivå

search_user=Ägd av
search_match=Stämmer med
search_cpupc=Använder mer än $1 % CPU
search_fs=Använder filsystem
search_files=Använder fil
search_submit=Sök
search_none=Det fanns ingen sådan process.
search_kill=Skicka signal
search_ignore=Strunta i sökprocesserna
search_return=sökformulär

run_command=Utför kommando
run_submit=Utför
run_mode=Körläge
run_bg=Kör i bakgrunden
run_fg=Vänta tills det är färdigt
run_input=Inmatning till kommando
run_title=Utmatning från kommando
run_output=Utmatning från $1 ...
run_none=Det kom ingen utmatning

edit_title=Processinformation
edit_gone=Denna process kör inte längre
edit_sub=Delprocesses
edit_kill=Skicka signal
edit_change=Ändra
edit_prilow=Låg prioritet
edit_prihigh=Hög prioritet
edit_pridef=Standard
edit_none=Ingen

kill_err=Det gick inte att skicka signal $1 till process $2
kill_title=Skicka signal
kill_sent=skickat

renice_err=Det gick inte att ge process $1 ett nytt nice-värde

linux_pri=Prioritet
linux_tty=TTY
linux_status=Status
linux_wchan=Väntar i
linux_mem=Minne
linux_group=Grupp
linux_ruser=Verklig användare
linux_rgroup=Verklig grupp
linux_pgid=Processens grupp-ID

linuxstat_R=Kör
linuxstat_S=Vilande
linuxstat_D=Sover djupt
linuxstat_T=Stannad
linuxstat_Z=Zombie

freebsd_ruser=Verklig användare
freebsd_rgroup=Verklig grupp
freebsd_tty=TTY
freebsd_pgid=Process-grupp
freebsd_lstart=Starttid
freebsd_lim=Minnesbegränsning

hpux_pri=Prioritet
hpux_tty=TTY
hpux_status=Status
hpux_wchan=Väntar på

hpuxstat_0=Obefintlig
hpuxstat_S=Vilande
hpuxstat_W=Väntar
hpuxstat_R=Kör
hpuxstat_I=Mellanlandar
hpuxstat_Z=Zombie
hpuxstat_T=Stannad
hpuxstat_G=Växer

macos_tty=TTY

sysv_group=Grupp
sysv_ruser=Verklig användare
sysv_rgroup=Verklig grupp
sysv_pgid=Processens grupp-ID
sysv_tty=TTY

log_run=Körde kommando "$1"
log_kill=Skickade signal $1 till process $2
log_kills=Skickade signal $1 till $2 processer
log_kill_l=Skickade signal $1 till process $2
log_kills_l=Skickade signal $1 till processerna<br>$2

acl_manage=Hantera processer som användare

kill_kill=Slå ihjäl process
kill_term=&nbsp;&nbsp;Avbryt&nbsp;&nbsp;&nbsp;
kill_hup=&nbsp;Starta om&nbsp;
kill_stop=&nbsp;&nbsp;Stanna&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;Fortsätt&nbsp;&nbsp;
  070701000703f0000081a40000000000000002000000013d1fe2c5000008cd000000200000000000000000000000000000001300000003reloc/proc/lang/tr    index_title=Ýþlem Yöneticisi
index_display=Görüntüle
index_tree=Ýþlem Numarasý
index_user=Kullanýcý
index_size=Bellek
index_cpu=Ýþlemci
index_search=Bul
index_run=Çalýþtýr..
index_return=iþlem listesi

pid=Ýþlem numarasý
owner=Sahibi
command=Komut
cpu=Ýþlemci
size=Boyut
parent=Ana iþlem
runtime=Çalýþma süresi
nice=Öncelik seviyesi

search_user=Sahibi
search_match=Eþleþen
search_cpu=Daha çok çalýþtýrýlýyor
search_fs=Kullanýlan dosya sistemi
search_files=Kullanýlan dosya
search_submit=Bul
search_none=Karþýlaþtýrýlan iþlemler bulunamadý
search_kill=Ýþaret gönder
search_return=arama formu

run_command=Çalýþtýrma komutu
run_submit=Çalýþtýr
run_mode=Çalýþtýrma modu
run_bg=Arka planda çalýþtýr
run_fg=Tamamlanmadan önce bekle
run_input=Komutu girin
run_title=Komut çýktýsý
run_output=$1'in çýktýsý ..
run_none=Çýktý oluþturulmadý

edit_title=Ýþlem bilgisi
edit_gone=Bu iþlem daha kýsa süredir çalýþmýyor
edit_sub=Alt iþlem
edit_kill=Ýþaret gönder
edit_change=Deðiþtir
edit_prilow=Düþük öncelik
edit_prihigh=Yüksek öncelik
edit_pridef=Öntanýmlý
edit_none=Hiçbiri

kill_err=$1'e $2'i iþlemi için sinyal gönderilmesinde hata oluþtu
kill_title=Sinyal gönder
kill_sent=gönder

renice_err=Önceliklendirme iþlemi $1'de hata oluþtu

linux_pri=Öncelik
linux_tty=TTY
linux_status=Durum
linux_wchan=Bekliyor
linux_mem=Bellek
linux_group=Grup
linux_ruser=Gerçek kullanýcý
linux_rgroup=Gerçek grup
linux_pgid=iþlem grup numarasý

linuxstat_R=Çalýþýyor
linuxstat_S=Uyuyor
linuxstat_D=Derin uyuyor
linuxstat_T=Durduruldu
linuxstat_Z=Zombi

freebsd_ruser=Gerçek kullanýcý
freebsd_rgroup=Gerçek grup
freebsd_tty=TTY
freebsd_pgid=Ýþlem grubu
freebsd_lstart=Baþlangýç zamaný
freebsd_lim=Bellek sýnýrý

hpux_pri=Öncelik
hpux_tty=TTY
hpux_status=Durum 
hpux_wchan=Bekliyor

hpuxstat_0=Mevcut deðil
hpuxstat_S=Uyuyor
hpuxstat_W=Bekliyor
hpuxstat_R=Çalýþýyor
hpuxstat_I=Ortada
hpuxstat_Z=Zombi
hpuxstat_T=Durdu
hpuxstat_G=Geliþiyor

macos_tty=TTY

sysv_group=Grup
sysv_ruser=Gerçek kullanýcý
sysv_rgroup=Gerçek grup
sysv_pgid=Ýþlem grup numarasý
sysv_tty=TTY

log_run="$1" komutunu çalýþtýr
log_kill=Ýþlem $2'e $1 sinyali gönderildi
log_kills=$2 iþlemlerine $1 sinyali gönderildi
log_kill_l=Ýþlem $2'e $1 sinyali gönderildi
log_kills_l=$2 iþlemlerine $1 sinyali gönderildi

   070701000703f1000081a40000000000000002000000013d1fe2c4000007d9000000200000000000000000000000000000001600000003reloc/proc/lang/zh_CN index_title=½ø³Ì¹ÜÀí
index_display=ÏÔÊ¾
index_tree=PID
index_user=ÓÃ»§
index_size=ÄÚ´æ
index_cpu=CPU
index_search=ËÑË÷
index_run=ÔËÐÐ..
index_return=½ø³ÌÁÐ±í
pid=½ø³Ì±êÊ¶
owner=ÓÃ»§
command=ÃüÁî
cpu=CPU
size=Õ¼ÓÃÄÚ´æ
parent=¸¸½ø³Ì
runtime=ÔËÐÐÊ±¼ä
nice=Nice ¼¶±ð
search_user=ÓµÓÐÕß
search_match=Æ¥Åä
search_cpupc=ÕýÔÚÊ¹ÓÃµÄ CPU ³¬¹ýÁË $1%
search_fs=Ê¹ÓÃÎÄ¼þÏµÍ³
search_files=Ê¹ÓÃÎÄ¼þ
search_submit=ËÑË÷
search_none=Ã»ÓÐÕÒµ½Æ¥ÅäµÄ½ø³Ì¡£
search_kill=·¢ËÍÐÅºÅ
search_return=ËÑË÷×Ô
run_command=ÔËÐÐµÄÃüÁî
run_submit=ÔËÐÐ
run_mode=ÔËÐÐÄ£Ê½
run_bg=ºóÌ¨ÔËÐÐ
run_fg=µÈ´ýµ½Íê³É
run_input=ÊäÈëµ½ÃüÁî
run_title=ÃüÁîÊä³ö
run_output=´Ó$1 .. Êä³ö
run_none=Ã»ÓÐ²úÉúÊä³ö
edit_title=½ø³ÌÐÅÏ¢
edit_gone=´Ë½ø³Ì²»ÔÙÔËÐÐ
edit_sub=×Ó½ø³Ì
edit_kill=·¢ËÍÐÅºÅ
edit_change=¸Ä±ä
edit_prilow=µÍÓÅÏÈ¼¶
edit_prihigh=¸ßÓÅÏÈ¼¶
edit_pridef=È±Ê¡
edit_none=ÎÞ
kill_err=·¢ËÍÐÅºÅ $1 µ½½ø³Ì $2 Ê§°Ü
kill_title=·¢ËÍÐÅºÅ
kill_sent=·¢ËÍ
renice_err=renice ½ø³Ì $1 Ê§°Ü
linux_pri=ÓÅÏÈ¼¶
linux_tty=TTY
linux_status=×´Ì¬
linux_wchan=µÈ´ýÓÚ
linux_mem=ÄÚ´æ
linux_group=×é
linux_ruser=ÕæÕýÓÃ»§
linux_rgroup=ÕæÕý×é
linux_pgid=½ø³Ì×éID
linuxstat_R=ÕýÔÚÔËÐÐ
linuxstat_S=ÕýÔÚË¯Ãß
linuxstat_D=ÉîË¯
linuxstat_T=ÒÑÍ£Ö¹
linuxstat_Z=ËÀ½ø³Ì
freebsd_ruser=ÕæÕýÓÃ»§
freebsd_rgroup=ÕæÕý×é
freebsd_tty=TTY
freebsd_pgid=½ø³Ì×é
freebsd_lstart=¿ªÊ¼Ê±¼ä
freebsd_lim=ÄÚ´æÏÞÖÆ
hpux_pri=ÓÅÏÈ¼¶
hpux_tty=TTY
hpux_status=×´Ì¬
hpux_wchan=µÈ´ý
hpuxstat_0=²»´æÔÚ
hpuxstat_S=ÕýÔÚË¯Ãß
hpuxstat_W=ÕýÔÚµÈ´ý
hpuxstat_R=ÕýÔÚÔËÐÐ
hpuxstat_I=ÖÐµÈ
hpuxstat_Z=ËÀ½ø³Ì
hpuxstat_T=Í£Ö¹
hpuxstat_G=ÕýÔÚÔö³¤
macos_tty=TTY
sysv_group=×é
sysv_ruser=ÕæÕýÓÃ»§
sysv_rgroup=ÕæÕý×é
sysv_pgid=½ø³Ì×éID
sysv_tty=TTY
log_run=ÔËÐÐÁËÃüÁî "$1"
log_kill=·¢ËÍÐÅºÅ $1 µ½½ø³Ì $2
log_kills=·¢ËÍÐÅºÅ $1 µ½ $2 ¸ö½ø³Ì
log_kill_l=·¢ËÍÐÅºÅ $1 µ½½ø³Ì $2
log_kills_l=·¢ËÍÐÅºÅ $1 µ½½ø³Ì <br>$2
acl_manage=ÒÔÓÃ»§À´¹ÜÀí½ø³Ì
kill_kill=É±ËÀ½ø³Ì
kill_term=&nbsp;ÖÕÖ¹&nbsp;&nbsp;
kill_hup=&nbsp;&nbsp;ÖØÐÂÆô¶¯&nbsp;&nbsp;&nbsp;
kill_stop=&nbsp;&nbsp;&nbsp;&nbsp;Í£Ö¹&nbsp;&nbsp;&nbsp;&nbsp;
kill_cont=&nbsp;&nbsp;¼ÌÐø&nbsp;&nbsp;
   070701000703f2000081a40000000000000002000000013d1fe2c4000006a1000000200000000000000000000000000000001b00000003reloc/proc/lang/zh_TW.Big5    index_title=°õ¦æ¤¤ªºµ{§Ç
index_display=Åã¥Ü¤è¦¡
index_tree=¨Ì¾Ú PID (µ{§Ç¾ð)
index_user=¨Ì¾Ú¨Ï¥ÎªÌ
index_size=¨Ì¾Ú°O¾ÐÅé¨Ï¥Î¶q
index_cpu=¨Ì¾Ú CPU ¨Ï¥Î¶q
index_search=·j´M
index_run=°õ¦æ...
index_return=µ{§Ç¦Cªí

pid=µ{§Ç½s¸¹
owner=¾Ö¦³ªÌ
command=©R¥O
cpu=CPU ¨Ï¥Î¶q
size=°O¾ÐÅé¥Î¶q
parent=¥Àµ{§Ç
runtime=°õ¦æ®É¶¡
nice=Àu¥ýµ¥¯Å

search_user=¾Ö¦³ªÌ
search_match=²Å¦X±ø¥ó
search_cpu=¶W¹L
search_fs=¨Ï¥ÎÀÉ®×¨t²Î
search_files=¨Ï¥ÎÀÉ®×
search_submit=·j´M
search_none=§ä¤£¨ì²Å¦X±ø¥óªºµ{§Ç
search_kill=°e¥X±±¨î«H¸¹
search_return=·j´Mªí³æ

run_command=­n°õ¦æªº©R¥O
run_submit=°õ¦æ
run_mode=°õ¦æ¼Ò¦¡
run_bg=¦b­I´º¤¤°õ¦æ
run_fg=µ¥«Ýª½¨ì°õ¦æ§¹²¦
run_input=µ¹©R¥Oªº¿é¤J
run_title=©R¥Oªº¿é¥X
run_output=±q $1 ªº¿é¥X...
run_none=¨S¦³²£¥Í¿é¥X

edit_title=µ{§Ç¸ê°T
edit_gone=³o­Óµ{§Ç¤w¸g¤£¦A°õ¦æ¤F
edit_sub=¤lµ{§Ç
edit_kill=°e¥X±±¨î°T¸¹
edit_change=ÅÜ§ó

kill_err=µLªk°e¥X±±¨î°T¸¹ $1 µ¹µ{§Ç $2
kill_title=°e¥X±±¨î°T¸¹
kill_sent=°e¥X

renice_err=µLªkÅÜ§óµ{§Ç $1 ªºÀu¥ý­È

linux_pri=Àu¥ý­È
linux_tty=²×ºÝ¾÷
linux_status=ª¬ºA
linux_wchan=µ¥«Ý¸ê·½
linux_mem=°O¾ÐÅé
linux_group=¸s²Õ
linux_ruser=¯u¹ê¨Ï¥ÎªÌ
linux_rgroup=¯u¹ê¸s²Õ
linux_pgid=µ{§Ç¸s²Õ½s¸¹

linuxstat_R=°õ¦æ¤¤
linuxstat_S=ºÎ¯v¤¤
linuxstat_D=¼ôºÎ¤¤
linuxstat_T=¤w°±¤î
linuxstat_Z=»ø«Í!!

freebsd_ruser=¯u¹ê¨Ï¥ÎªÌ
freebsd_rgroup=¯u¹ê¸s²Õ
freebsd_tty=²×ºÝ¾÷
freebsd_pgid=µ{§Ç¸s²Õ
freebsd_lstart=¶}©l®É¶¡
freebsd_lim=°O¾ÐÅé¤W­­

hpux_pri=Àu¥ý­È
hpux_tty=²×ºÝ¾÷
hpux_status=ª¬ºA
hpux_wchan=µ¥«Ý¸ê·½

hpuxstat_0=¤£¦s¦b
hpuxstat_S=ºÎ¯v¤¤
hpuxstat_W=µ¥«Ý¤¤
hpuxstat_R=°õ¦æ¤¤
hpuxstat_I=¤¤¤¶­È
hpuxstat_Z=»ø«Í!!
hpuxstat_T=¤w°±¤î
hpuxstat_G=¦¨ªø¤¤

macos_tty=²×ºÝ¾÷

sysv_group=¸s²Õ
sysv_ruser=¯u¹ê¨Ï¥ÎªÌ
sysv_rgroup=¯u¹ê¸s²Õ
sysv_pgid=µ{§Ç¸s²Õ½s¸¹
sysv_tty=²×ºÝ¾÷

   0707010006a91e000081a40000000000000002000000013d1fe2c4000011f0000000200000000000000000000000000000001800000003reloc/proc/linux-lib.pl   # linux-lib.pl
# Functions for parsing linux ps output

sub list_processes
{
local($pcmd, $line, $i, %pidmap, @plist, $dummy, @w, $_);
local $out = `ps V`;
if ($out =~ /version\s+2\./ || $out =~ /version\s+\./) {
	# New version of ps, as found in redhat 6
	open(PS, "ps -eo user,ruser,group,rgroup,pid,ppid,pgid,pcpu,vsz,nice,etime,time,tty,args 2>/dev/null |");
	$dummy = <PS>;
	for($i=0; $line=<PS>; $i++) {
		chop($line);
		$line =~ s/^\s+//g;
		@w = split(/\s+/, $line, -1);
		if ($line =~ /ps -o user,ruser/) {
			# Skip process ID 0 or ps command
			$i--; next;
			}
		if (@_ && &indexof($w[4], @_) < 0) {
			# Not interested in this PID
			$i--; next;
			}
		$plist[$i]->{"pid"} = $w[4];
		$plist[$i]->{"ppid"} = $w[5];
		$plist[$i]->{"user"} = $w[0];
		$plist[$i]->{"cpu"} = "$w[7] %";
		$plist[$i]->{"size"} = "$w[8] kB";
		$plist[$i]->{"time"} = $w[11];
		$plist[$i]->{"nice"} = $w[9];
		$plist[$i]->{"args"} = @w<14 ? "defunct" : join(' ', @w[13..$#w]);
		$plist[$i]->{"_group"} = $w[2];
		$plist[$i]->{"_ruser"} = $w[1];
		$plist[$i]->{"_rgroup"} = $w[3];
		$plist[$i]->{"_pgid"} = $w[6];
		$plist[$i]->{"_tty"} = $w[12] =~ /\?/ ? $text{'edit_none'} : "/dev/$w[12]";
		}
	close(PS);
	}
else {
	# Old version of ps
	$pcmd = join(' ' , @_);
	open(PS, "ps aulxhwwww $pcmd |");
	for($i=0; $line=<PS>; $i++) {
		chop($line);
		if ($line =~ /ps aulxhwwww/) { $i--; next; }
		if ($line !~ /^\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+([\-\d]+)\s+([\-\d]+)\s+(\d+)\s+(\d+)\s+(\S*)\s+(\S+)[\s<>N]+(\S+)\s+([0-9:]+)\s+(.*)$/) {
			$i--;
			next;
			}
		$pidmap{$3} = $i;
		$plist[$i]->{"pid"} = $3;
		$plist[$i]->{"ppid"} = $4;
		$plist[$i]->{"user"} = getpwuid($2);
		$plist[$i]->{"size"} = "$7 kB";
		$plist[$i]->{"cpu"} = "Unknown";
		$plist[$i]->{"time"} = $12;
		$plist[$i]->{"nice"} = $6;
		$plist[$i]->{"args"} = $13;
		$plist[$i]->{"_pri"} = $5;
		$plist[$i]->{"_tty"} = $11 eq "?" ? $text{'edit_none'} : "/dev/tty$11";
		$plist[$i]->{"_status"} = $stat_map{substr($10, 0, 1)};
		($plist[$i]->{"_wchan"} = $9) =~ s/\s+$//g;
		if (!$plist[$i]->{"_wchan"}) { delete($plist[$i]->{"_wchan"}); }
		if ($plist[$i]->{"args"} =~ /^\((.*)\)/)
			{ $plist[$i]->{"args"} = $1; }
		}
	close(PS);
	open(PS, "ps auxh $pcmd |");
	while($line=<PS>) {
		if ($line =~ /^\s*(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s+/ &&
		    defined($pidmap{$2})) {
			$plist[$pidmap{$2}]->{"cpu"} = $3;
			$plist[$pidmap{$2}]->{"_mem"} = "$4 %";
			}
		}
	close(PS);
	}
return @plist;
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

# find_mount_processes(mountpoint)
# Find all processes under some mount point
sub find_mount_processes
{
local($out);
$out = `fuser -m $_[0]`;
$out =~ s/[^0-9 ]//g;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# find_file_processes([file]+)
# Find all processes with some file open
sub find_file_processes
{
local($out, $files);
$files = join(' ', @_);
$out = `fuser $files`;
$out =~ s/[^0-9 ]//g;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# get_new_pty()
# Returns the filehandles and names for a pty and tty
sub get_new_pty
{
local @ptys;
local $devstyle;
if (-d "/dev/pty") {
	opendir(DEV, "/dev/pty");
	@ptys = map { "/dev/pty/$_" } readdir(DEV);
	closedir(DEV);
	$devstyle = 1;
	}
else {
	opendir(DEV, "/dev");
	@ptys = map { "/dev/$_" } (grep { /^pty/ } readdir(DEV));
	closedir(DEV);
	$devstyle = 0;
	}
local ($pty, $tty);
foreach $pty (@ptys) {
	open(PTY, "+>$pty") || next;
	local $tty = $pty;
	if ($devstyle == 0) {
		$tty =~ s/pty/tty/;
		}
	else {
		$tty =~ s/m(\d+)$/s$1/;
		}
	open(TTY, "+>$tty") || next;
	local $old = select(PTY); $| = 1;
	select(TTY); $| = 1; select($old);
	return (*PTY, *TTY, $pty, $tty);
	}
return ();
}

# get_memory_info()
# Returns a list containing the real mem, free real mem, swap and free swap
sub get_memory_info
{
local %m;
open(MEMINFO, "/proc/meminfo") || return ();
while(<MEMINFO>) {
	if (/^(\S+):\s+(\d+)/) {
		$m{lc($1)} = $2;
		}
	}
close(MEMINFO);
return ( $m{'memtotal'}, $m{'memfree'}+$m{'buffers'}+$m{'cached'},
	 $m{'swaptotal'}, $m{'swapfree'} );
}

# get_cpu_info()
# Returns a list containing the 5, 10 and 15 minute load averages
sub get_cpu_info
{
open(LOAD, "/proc/loadavg") || return ();
local @load = split(/\s+/, <LOAD>);
close(LOAD);
return ( $load[0], $load[1], $load[2] );
}

foreach $ia (keys %text) {
	if ($ia =~ /^linux(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	elsif ($ia =~ /^linuxstat_(\S+)/) {
		$stat_map{$1} = $text{$ia};
		}
	}

@nice_range = (-20 .. 20);

$has_fuser_command = 1;

1;

0707010006a91f000081a40000000000000002000000013d1fe2c9000003dc000000200000000000000000000000000000001900000003reloc/proc/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'proc-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'run') {
	return &text('log_run', "<tt>".&html_escape($p->{'cmd'})."</tt>");
	}
elsif ($action eq 'kill') {
	local ($desc, $i);
	@pids = $p->{'pid'} ? ( $p->{'pid'} ) : split(/\s+/, $p->{'pidlist'});
	if ($long) {
		for($i=0; $i<@pids; $i++) {
			$desc .= "<i>".$p->{"args$i"}.
				 "</i>&nbsp;&nbsp;(PID $pids[$i])<br>";
			}
		return &text(@pids == 1 ? 'log_kill_l' : 'log_kills_l',
			     "<tt>$p->{'signal'}</tt>", $desc);
		}
	else {
		if (@pids == 1) {
			return &text('log_kill', "<tt>$p->{'signal'}</tt>",
				     $pids[0]);
			}
		else {
			return &text('log_kills', "<tt>$p->{'signal'}</tt>",
				     scalar(@pids));
			}
		}
	}
else {
	return undef;
	}
}

0707010006a920000081a40000000000000002000000013d1fe2c900000009000000200000000000000000000000000000001500000003reloc/proc/low.skill  simple=1
   0707010006a925000081a40000000000000002000000013d1fe2c40000066d000000200000000000000000000000000000001800000003reloc/proc/macos-lib.pl   # macos-lib.pl
# Functions for parsing macos server ps output

sub list_processes
{
local($pcmd, $line, $i, %pidmap, @plist);
open(PS, "ps axlwwww $_[0] |");
for($i=0; $line=<PS>; $i++) {
	chop($line);
	if ($line =~ /ps axlwwww/ || $line =~ /^\s*UID\s+PID/) { $i--; next; }
	if ($line =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(...)\s+(\S+)\s+(\d+:\d+)\s+(.*)/) {
		if ($3 <= 0) { $i--; next; }
		$plist[$i]->{"pid"} = $3;
		$plist[$i]->{"ppid"} = $4;
		$plist[$i]->{"size"} = $8;
		$plist[$i]->{"time"} = $13;
		$plist[$i]->{"nice"} = $6;
		$plist[$i]->{"_tty"} = $12 eq '?' ? $text{'edit_none'} : "/dev/tty$12";
		$plist[$i]->{"args"} = $14;
		$pidmap{$3} = $plist[$i];
		}
	elsif ($line =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(...)\s+(\S+)\s+(\d+:\S+)\s+(.*)/) {
		if ($2 <= 0) { $i--; next; }
		$plist[$i]->{"pid"} = $2;
		$plist[$i]->{"ppid"} = $3;
		$plist[$i]->{"size"} = $7;
		$plist[$i]->{"time"} = $12;
		$plist[$i]->{"nice"} = $6;
		$plist[$i]->{"_tty"} = $11 eq '??' ? $text{'edit_none'} : "/dev/tty$11";
		$plist[$i]->{"args"} = $13;
		$pidmap{$2} = $plist[$i];
		}
	}
close(PS);
open(PS, "ps auxwwww $_[0] |");
while($line = <PS>) {
	chop($line);
	$line =~ /^(\S+)\s+(\d+)\s+(\S+)\s+(\S+)/ || next;
	if ($pidmap{$2}) {
		$pidmap{$2}->{"user"} = $1;
		$pidmap{$2}->{"cpu"} = "$3 %";
		}
	}
close(PS);
return @plist;
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

%info_arg_map=(	"_tty", $text{'macos_tty'} );

@nice_range = (-20 .. 20);

$has_fuser_command = 0;

1;

   0707010006a926000081a40000000000000002000000013d1fe2c900000015000000200000000000000000000000000000001700000003reloc/proc/medium.risk    noconfig=1
hide=root
   0707010006a927000081a40000000000000002000000013d1fe2c900000009000000200000000000000000000000000000001800000003reloc/proc/medium.skill   simple=1
   0707010006a92a000081a40000000000000002000000013d1fe2ea000002ff000000200000000000000000000000000000001700000003reloc/proc/module.info    desc_ru_SU=íÅÎÅÄÖÅÒ ðÒÏÃÅÓÓÏ×
risk=medium high
desc_ko_KR.euc=½ÇÇàÁßÀÎ ÇÁ·Î¼¼½º
desc_zh_TW.Big5=°õ¦æ¤¤ªºµ{§Ç
desc_pl=Dzia³aj±ce procesy
desc_de=Laufende Prozesse
name=Process Manager
desc_zh_CN=½ø³Ì¹ÜÀíÆ÷
desc_pt=Processos em Curso
category=system
desc_tr=Çalýþan Süreçler
os_support=solaris redhat-linux mandrake-linux slackware-linux debian-linux suse-linux hpux freebsd osf1 irix unixware openserver macos open-linux turbo-linux corel-linux cobalt-linux aix netbsd msc-linux openbsd generic-linux gentoo-linux
desc=Running Processes
desc_es=Procesos en curso
desc_sv=Processhanterare
desc_fr=Gestionnaire de processus
desc_ja_JP.euc=¼Â¹Ô¥×¥í¥»¥¹
depends=mount 0.990
version=0.990
desc_hu=Futó Processzek
desc_ca=Processos en Execució
desc_ru_RU=Ìåíåäæåð Ïðîöåññîâ
 0707010006a92c000081e40000000000000002000000013d1fe2ca00000be2000000200000000000000000000000000000001a00000003reloc/proc/open_files.cgi #!/usr/local/bin/perl
# open_files.cgi
# Display files and network connections that a process has open

require './proc-lib.pl';
&ReadParse();
$access{'edit'} || &error($text{'edit_ecannot'});
&header($text{'open_title'}, "", "open_proc");
print "<hr>\n";
%pinfo = &process_info($in{'pid'});
if (!%pinfo) {
	print "<b>$text{'edit_gone'}</b> <p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<b>",&text('open_proc', "<tt>$pinfo{'args'}</tt>", $in{'pid'}),
      "</b><p>\n";

# Show open files
@files = &find_process_files($in{'pid'});
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'open_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'open_fd'}</b></td> ",
      "<td><b>$text{'open_type'}</b></td> ",
      "<td><b>$text{'open_size'}</b></td> ",
      "<td><b>$text{'open_inode'}</b></td> ",
      "<td><b>$text{'open_file'}</b></td> </tr>\n";
foreach $f (@files) {
	print "<tr>\n";
	print "<td>",$f->{'fd'} eq 'cwd' ? $text{'open_cwd'} :
		     $f->{'fd'} eq 'rtd' ? $text{'open_rtd'} :
		     $f->{'fd'} eq 'txt' ? $text{'open_txt'} :
		     $f->{'fd'} eq 'mem' ? $text{'open_mem'} :
					   $f->{'fd'},"</td>\n";
	print "<td>",$f->{'type'} =~ /^v?dir$/ ? $text{'open_dir'} :
		     $f->{'type'} =~ /^v?reg$/ ? $text{'open_reg'} :
		     $f->{'type'} =~ /^v?chr$/ ? $text{'open_chr'} :
		     $f->{'type'} =~ /^v?blk$/ ? $text{'open_blk'} :
					     $f->{'type'},"</td>\n";
	print "<td>$f->{'size'}</td>\n";
	print "<td>$f->{'inode'}</td>\n";
	print "<td>$f->{'file'}</td>\n";
	print "</tr>\n";
	}
print "</table></td></tr></table><p>\n";

# Show network connections
@nets = &find_process_sockets($in{'pid'});
if (@nets) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'open_header2'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td><b>$text{'open_type'}</b></td> ",
	      "<td><b>$text{'open_proto'}</b></td> ",
	      "<td><b>$text{'open_fd'}</b></td> ",
	      "<td colspan=4><b>$text{'open_desc'}</b></td> </tr>\n";
	foreach $n (@nets) {
		print "<tr>\n";
		print "<td>",uc($n->{'type'}),"</td>\n";
		print "<td>",uc($n->{'proto'}),"</td>\n";
		print "<td>",$n->{'fd'},"</td>\n";
		if ($n->{'listen'} && $n->{'lhost'} eq '*') {
			print "<td colspan=4>",
				&text('open_listen1', "<tt>$n->{'lport'}</tt>"),
				"</td>\n";
			}
		elsif ($n->{'listen'}) {
			print "<td colspan=4>",
				&text('open_listen2', "<tt>$n->{'lhost'}</tt>",
				      "<tt>$n->{'lport'}</tt>"),"</td>\n";
			}
		elsif ($n->{'rhost'}) {
			print "<td><tt>$n->{'lhost'}:$n->{'lport'}</tt></td>\n";
			print "<td><tt>-&gt;</tt></td>\n";
			print "<td><tt>$n->{'rhost'}:$n->{'rport'}</tt></td>\n";
			print "<td><tt>$n->{'state'}</tt></td>\n";
			}
		else {
			print "<td colspan=4>",
				&text('open_recv', "<tt>$n->{'lhost'}</tt>",
				      "<tt>$n->{'lport'}</tt>"),"</td>\n";
			}
		print "</tr>\n";
		}
	print "</table></td></tr></table>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010006a92e000081a40000000000000002000000013d1fe2c400000780000000200000000000000000000000000000001600000003reloc/proc/osf-lib.pl # sysv-lib.pl
# Functions for parsing sysv-style ps output

# list_processes([pid]*)
sub list_processes
{
local($line, $dummy, @w, $i, $_, $pcmd, @plist);
foreach (@_) { $pcmd .= " -p $_"; }
if (!$pcmd) { $pcmd = " -e"; }
open(PS, "ps -o user,ruser,group,rgroup,pid,ppid,pgid,pcpu,vsz,nice,etime,time,tty,args $pcmd |");
$dummy = <PS>;
for($i=0; $line=<PS>; $i++) {
	chop($line);
	$line =~ s/^\s+//g;
	@w = split(/\s+/, $line);
	if ($line =~ /ps -o user,ruser/) {
		# Skip ps command
		$i--; next;
		}
	$plist[$i]->{"pid"} = $w[4];
	$plist[$i]->{"ppid"} = $w[5];
	$plist[$i]->{"user"} = $w[0];
	$plist[$i]->{"cpu"} = "$w[7] %";
	if ($w[8] =~ /^([0-9\.]+)K/)
		{ $plist[$i]->{"size"} = "$1 kB"; }
	elsif ($w[8] =~ /^([0-9\.]+)M/)
		{ $plist[$i]->{"size"} = ($1 * 1000)." kB"; }
	$plist[$i]->{"time"} = $w[11];
	$plist[$i]->{"nice"} = $w[9];
	$plist[$i]->{"args"} = $w[13] eq "<defunct>" ? "defunct"
						  : join(' ', @w[13..$#w]);
	$plist[$i]->{"_group"} = $w[2];
	$plist[$i]->{"_ruser"} = $w[1];
	$plist[$i]->{"_rgroup"} = $w[3];
	$plist[$i]->{"_pgid"} = $w[6];
	$plist[$i]->{"_tty"} = $w[12] =~ /\?/ ? $text{'edit_none'} : "/dev/$w[12]";
	}
close(PS);
return @plist;
}

# find_mount_processes(mountpoint)
# Find all processes under some mount point
sub find_mount_processes
{
local($out);
$out = `fuser -c $_[0] 2>/dev/null`;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# find_file_processes([file]+)
# Find all processes with some file open
sub find_file_processes
{
local($out, $files);
$files = join(' ', @_);
$out = `fuser $files 2>/dev/null`;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

foreach $ia (keys %text) {
	if ($ia =~ /^sysv(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	}

@nice_range = (-20 .. 19);

$has_fuser_command = 1;

1;

0707010006a92d000081a40000000000000002000000013d1fe2ca0000050c000000200000000000000000000000000000001a00000003reloc/proc/openbsd-lib.pl # openbsd-lib.pl
# Functions for parsing openbsd ps output

sub list_processes
{
local($pcmd, $line, $i, %pidmap, @plist);
$pcmd = @_ ? "-p $_[0]" : "";
open(PS, "ps -axwwww -o pid,ppid,user,vsz,%cpu,time,nice,tty,ruser,rgid,pgid,lstart,lim,command $pcmd |");
for($i=0; $line=<PS>; $i++) {
	chop($line);
	if ($line =~ /ps -axwwww/ || $line =~ /^\s*PID/) { $i--; next; }
	$line =~ /^\s*(\d+)\s+(\d+)\s+(\S+)\s+(\d+)\s+([\d\.]+)\s+(\S+)\s+(-?\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(-|\S+\s+\S+\s+\d+\s+\S+\s+\d+|\d+)\s+(\S+)\s+(.*)$/;

	$plist[$i]->{"pid"} = $1;
	$plist[$i]->{"ppid"} = $2;
	$plist[$i]->{"user"} = $3;
	$plist[$i]->{"size"} = "$4 kB";
	$plist[$i]->{"cpu"} = $5;
	$plist[$i]->{"time"} = $6;
	$plist[$i]->{"nice"} = $7;
	$plist[$i]->{"_tty"} = $8;
	$plist[$i]->{"_ruser"} = $9;
	$plist[$i]->{"_rgroup"} = getgrgid($10);
	$plist[$i]->{"_pgid"} = $11;
	$plist[$i]->{"_lstart"} = $12;
	$plist[$i]->{"_lim"} = $13 eq "-" ? "Unlimited" : $13;
	$plist[$i]->{"args"} = $14;
	}
close(PS);
return @plist;
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

foreach $ia (keys %text) {
	if ($ia =~ /^freebsd(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	}

@nice_range = (-20 .. 20);

$has_fuser_command = 0;

1;

0707010006a93a000081a40000000000000002000000013d1fe2c400001842000000200000000000000000000000000000001700000003reloc/proc/proc-lib.pl    # proc-lib.pl
# Functions for managing processes

do '../web-lib.pl';
&init_config();
do "$config{ps_style}-lib.pl";
use POSIX;
%access = &get_module_acl();
map { $hide{$_}++ } split(/\s+/, $access{'hide'});

sub process_info
{
local @plist = &list_processes($_[0]);
return @plist ? %{$plist[0]} : ();
}

# index_links(current)
sub index_links
{
local(%linkname, $l);
print "<b>$text{'index_display'} : </b>&nbsp;&nbsp;\n";
foreach $l ("tree", "user", "size", "cpu", "search", "run") {
	next if ($l eq "run" && !$access{'run'});
	if ($l ne $_[0]) { print "<a href=index_$l.cgi>"; }
	else { print "<b>"; }
	print $text{"index_$l"};
	if ($l ne $_[0]) { print "</a>"; }
	else { print "</b>"; }
	print "&nbsp;\n";
	}
print "<p>\n";
open(INDEX, "> $module_config_directory/index");
$0 =~ /([^\/]+)$/;
print INDEX "$1?$in\n";
close(INDEX);
}

sub cut_string
{
if (length($_[0]) > $_[1]) {
	return substr($_[0], 0, $_[1])." ...";
	}
return $_[0];
}

# switch_acl_uid()
sub switch_acl_uid
{
if ($access{'uid'} < 0) {
	local @u = getpwnam($remote_user);
	$( = $u[3]; $) = "$u[3] $u[3]";
	($>, $<) = ($u[2], $u[2]);
	}
elsif ($access{'uid'}) {
	local @u = getpwuid($access{'uid'});
	$( = $u[3]; $) = "$u[3] $u[3]";
	($>, $<) = ($u[2], $u[2]);
	}
}

# safe_process_exec(command, uid, gid, handle, input, fixtags, bsmode)
# Executes the given command as the given user/group and writes all output
# to the given file handle. Finishes when there is no more output or the
# process stops running. Returns the number of bytes read.
sub safe_process_exec
{
# setup pipes and fork the process
local $chld = $SIG{'CHLD'};
$SIG{'CHLD'} = \&safe_exec_reaper;
pipe(OUTr, OUTw);
pipe(INr, INw);
local $pid = fork();
if (!$pid) {
	#setsid();
	untie(*STDIN);
	untie(*STDOUT);
	untie(*STDERR);
	open(STDIN, "<&INr");
	open(STDOUT, ">&OUTw");
	open(STDERR, ">&OUTw");
	$| = 1;
	close(OUTr); close(INw);

	if ($_[1]) {
		if (defined($_[2])) {
			# switch to given UID and GID
			$( = $_[2]; $) = "$_[2] $_[2]";
			($>, $<) = ($_[1], $_[1]);
			}
		else {
			# switch to UID and all GIDs
			local @u = getpwuid($_[1]);
			$( = $u[3];
			$) = "$u[3] ".join(" ", $u[3], &other_groups($u[0]));
			($>, $<) = ($u[2], $u[2]);
			}
		}

	# run the command
	delete($ENV{'FOREIGN_MODULE_NAME'});
	delete($ENV{'SCRIPT_NAME'});
	exec("/bin/sh", "-c", $_[0]);
	print "Exec failed : $!\n";
	exit 1;
	}
close(OUTw); close(INr);

# Feed input (if any)
print INw $_[4];
close(INw);

# Read and show output
local $fn = fileno(OUTr);
local $got = 0;
local $out = $_[3];
local $line;
while(1) {
	local ($rmask, $buf);
	vec($rmask, $fn, 1) = 1;
	local $sel = select($rmask, undef, undef, 1);
	if ($sel > 0 && vec($rmask, $fn, 1)) {
		# got something to read.. print it
		sysread(OUTr, $buf, 1024) || last;
		$got += length($buf);
		if ($_[5]) {
			$buf = &html_escape($buf);
			}
		if ($_[6]) {
			# Convert backspaces and returns
			$line .= $buf;
			while($line =~ s/^([^\n]*\n)//) {
				local $one = $1;
				while($one =~ s/.\010//) { }
				print $out $one;
				}
			}
		else {
			print $out $buf;
			}
		}
	elsif ($sel == 0) {
		# nothing to read. maybe the process is done, and a subprocess
		# is hanging things up
		last if (!kill(0, $pid));
		}
	}
close(OUTr);
print $out $line;
$SIG{'CHLD'} = $chld;
return $got;
}

# safe_process_exec_logged(..)
# Like safe_process_exec, but also logs the command
sub safe_process_exec_logged
{
&additional_log('exec', undef, $_[0]);
return &safe_process_exec(@_);
}

sub safe_exec_reaper
{
local $xp;
do {    local $oldexit = $?;
	$xp = waitpid(-1, WNOHANG);
	$? = $oldexit if ($? < 0);
	} while($xp > 0);
}

# pty_process_exec(command, [uid, gid])
# Starts the given command in a new pty and returns the pty filehandle and PID
sub pty_process_exec
{
local ($ptyfh, $ttyfh, $pty, $tty) = &get_new_pty();
local $pid = fork();
if (!$pid) {
	close(STDIN); close(STDOUT); close(STDERR);
	untie(*STDIN); untie(*STDOUT); untie(*STDERR);
	setsid();
	#setpgrp(0, $$);
	if ($_[1]) {
		$( = $u[3]; $) = "$_[2] $_[2]";
		($>, $<) = ($_[1], $_[1]);
		}
	open(STDIN, "<$tty");
	open(STDOUT, ">&$ttyfh");
	open(STDERR, ">&STDOUT");
	close($ptyfh);
	exec($_[0]);
	print "Exec failed : $!\n";
	exit 1;
	}
close($ttyfh);
return ($ptyfh, $pid);
}

# pty_process_exec_logged(..)
# Like pty_process_exec, but logs the command as well
sub pty_process_exec_logged
{
&additional_log('exec', undef, $_[0]);
return &pty_process_exec(@_);
}

# find_process(name)
# Returns an array of all processes matching some name
sub find_process
{
local $name = $_[0];
local @rv = grep { $_->{'args'} =~ /$name/ } &list_processes();
return wantarray ? @rv : $rv[0];
}

$has_lsof_command = &has_command("lsof");

# find_socket_processes(protocol, port)
# Returns all processes using some port and protocol
sub find_socket_processes
{
local @rv;
open(LSOF, "lsof -i '$_[0]:$_[1]' |");
while(<LSOF>) {
	if (/^(\S+)\s+(\d+)/) {
		push(@rv, $2);
		}
	}
close(LSOF);
return @rv;
}

# find_process_sockets(pid)
# Returns all network connections made by some process
sub find_process_sockets
{
local @rv;
open(LSOF, "lsof -i tcp -i udp -n |");
while(<LSOF>) {
	if (/^(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+).*(TCP|UDP)\s+(.*)/
	    && $2 eq $_[0]) {
		local $n = { 'fd' => $4,
			     'type' => $5,
			     'proto' => $7 };
		local $m = $8;
		if ($m =~ /^([^:\s]+):([^:\s]+)\s+\(listen\)/i) {
			$n->{'lhost'} = $1;
			$n->{'lport'} = $2;
			$n->{'listen'} = 1;
			}
		elsif ($m =~ /^([^:\s]+):([^:\s]+)->([^:\s]+):([^:\s]+)\s+\((\S+)\)/) {
			$n->{'lhost'} = $1;
			$n->{'lport'} = $2;
			$n->{'rhost'} = $3;
			$n->{'rport'} = $4;
			$n->{'state'} = $5;
			}
		elsif ($m =~ /^([^:\s]+):([^:\s]+)/) {
			$n->{'lhost'} = $1;
			$n->{'lport'} = $2;
			}
		push(@rv, $n);
		}
	}
close(LSOF);
return @rv;
}

# find_process_files(pid)
# Returns all files currently held open by some process
sub find_process_files
{
local @rv;
open(LSOF, "lsof -p '$_[0]' |");
while(<LSOF>) {
	if (/^(\S+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\d+),(\d+)\s+(\d+)\s+(\d+)\s+(.*)/) {
		push(@rv, { 'fd' => lc($4),
			    'type' => lc($5),
			    'device' => [ $6, $7 ],
			    'size' => $8,
			    'inode' => $9,
			    'file' => $10 });
		}
	}
close(LSOF);
return @rv;
}


1;

  0707010006a93b000081e40000000000000002000000013d1fe2c400000155000000200000000000000000000000000000001b00000003reloc/proc/renice_proc.cgi    #!/usr/local/bin/perl
# renice_proc.cgi
# Change the nice level of a process

require './proc-lib.pl';
$access{'edit'} || &error($text{'renice_ecannot'});
&ReadParse();
&switch_acl_uid();
&error_setup(&text('renice_err', $in{pid}));
if ($error = &renice_proc($in{pid}, $in{nice})) {
	&error($error);
	}
&redirect("edit_proc.cgi?$in{pid}");

   0707010006a93c000081e40000000000000002000000013d1fe2c900000370000000200000000000000000000000000000001300000003reloc/proc/run.cgi    #!/usr/local/bin/perl
# run.cgi
# Run a command, and maybe display it's output

require './proc-lib.pl';
&ReadParse();
$access{'run'} || &error($text{'run_ecannot'});
&switch_acl_uid();

$in{'input'} =~ s/\r//g;
if ($in{'mode'}) {
	# fork and run..
	if (!($pid = fork())) {
		close(STDIN); close(STDOUT); close(STDERR);
		open(PROC, "| ($in{'cmd'})");
		print PROC $in{'input'};
		close(PROC);
		exit;
		}
	&redirect("index_tree.cgi");
	}
else {
	# run and display output..
	$| = 1;
	$theme_no_table = 1;
	&header($text{'run_title'}, "");
	print "<hr><p>\n";
	print &text('run_output', "<tt>$in{'cmd'}</tt>"),"<p>\n";
	print "<pre>";
	$got = &safe_process_exec_logged($in{'cmd'}, 0, 0,
					 STDOUT, $in{'input'}, 1);
	if (!$got) { print "<i>$text{'run_none'}</i>\n"; }
	print "</pre>\n";
	print "<hr>\n";
	&footer("", $text{'index'});
	}
&webmin_log("run", undef, undef, \%in);

0707010006a93d000081a40000000000000002000000013d1fe2c7000008e4000000200000000000000000000000000000001700000003reloc/proc/sysv-lib.pl    # sysv-lib.pl
# Functions for parsing sysv-style ps output

# list_processes([pid]*)
sub list_processes
{
local($line, $dummy, @w, $i, $_, $pcmd, @plist);
foreach (@_) { $pcmd .= " -p $_"; }
if (!$pcmd) { $pcmd = " -e"; }
open(PS, "ps -o user,ruser,group,rgroup,pid,ppid,pgid,pcpu,vsz,nice,etime,time,tty,args $pcmd |");
$dummy = <PS>;
for($i=0; $line=<PS>; $i++) {
	chop($line);
	$line =~ s/^\s+//g;
	@w = split(/\s+/, $line);
	if ($line =~ /ps -o user,ruser/) {
		# Skip ps command
		$i--; next;
		}
	$plist[$i]->{"pid"} = $w[4];
	$plist[$i]->{"ppid"} = $w[5];
	$plist[$i]->{"user"} = $w[0];
	$plist[$i]->{"cpu"} = "$w[7] %";
	$plist[$i]->{"size"} = "$w[8] kB";
	$plist[$i]->{"time"} = $w[11];
	$plist[$i]->{"nice"} = $w[9] =~ /\d+/ ? $w[9]-20 : $w[9];
	$plist[$i]->{"args"} = @w<14 ? "defunct" : join(' ', @w[13..$#w]);
	$plist[$i]->{"_group"} = $w[2];
	$plist[$i]->{"_ruser"} = $w[1];
	$plist[$i]->{"_rgroup"} = $w[3];
	$plist[$i]->{"_pgid"} = $w[6];
	$plist[$i]->{"_tty"} = $w[12] =~ /\?/ ? $text{'edit_none'}
					      : "/dev/$w[12]";
	}
close(PS);
return @plist;
}

# find_mount_processes(mountpoint)
# Find all processes under some mount point
sub find_mount_processes
{
local($out);
$out = `fuser -c $_[0] 2>/dev/null`;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# find_file_processes([file]+)
# Find all processes with some file open
sub find_file_processes
{
local($out, $files);
$files = join(' ', @_);
$out = `fuser $files 2>/dev/null`;
$out =~ s/^\s+//g; $out =~ s/\s+$//g;
return split(/\s+/, $out);
}

# renice_proc(pid, nice)
sub renice_proc
{
$out = `renice $_[1] -p $_[0] 2>&1`;
if ($?) { return $out; }
return undef;
}

# get_new_pty()
# Returns the filehandles and names for a pty and tty
sub get_new_pty
{
opendir(DEV, "/dev");
local @ptys = map { "/dev/$_" } (grep { /^pty/ } readdir(DEV));
closedir(DEV);
local ($pty, $tty);
foreach $pty (@ptys) {
	open(PTY, "+>$pty") || next;
	local $tty = $pty; $tty =~ s/pty/tty/;
	open(TTY, "+>$tty") || next;
	local $old = select(PTY); $| = 1;
	select(TTY); $| = 1; select($old);
	return (*PTY, *TTY, $pty, $tty);
	}
return ();
}

foreach $ia (keys %text) {
	if ($ia =~ /^sysv(_\S+)/) {
		$info_arg_map{$1} = $text{$ia};
		}
	}

@nice_range = (-20 .. 19);

$has_fuser_command = 1;

1;

07070100071c33000041ed0000000000000001000000043d1ffb1000000000000000200000000000000000000000000000000f00000003reloc/procmail    07070100071c34000081a40000000000000002000000013d1fe2ea0000001b000000200000000000000000000000000000001600000003reloc/procmail/config procmailrc=/etc/procmailrc
 07070100071c35000081a40000000000000002000000013d1fe2ea0000002c000000200000000000000000000000000000001b00000003reloc/procmail/config.info    procmailrc=Path to system procmailrc file,0
07070100071c36000081e40000000000000002000000013d1fe2ea000000d2000000200000000000000000000000000000001800000003reloc/procmail/down.cgi   #!/usr/local/bin/perl
# down.cgi
# Move a recipe down in the file

require './procmail-lib.pl';
&ReadParse();
@conf = &get_procmailrc();
&swap_recipes($conf[$in{'idx'}], $conf[$in{'idx'} + 1]);
&redirect("");

  07070100071c37000081e40000000000000002000000013d1fe2ea0000052e000000200000000000000000000000000000001c00000003reloc/procmail/edit_env.cgi   #!/usr/local/bin/perl
# edit_env.cgi
# Edit an environment variable setting

require './procmail-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'env_title1'}, "");
	}
else {
	&header($text{'env_title2'}, "");
	@conf = &get_procmailrc();
	$env = $conf[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_env.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'env_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'env_name'}</b></td>\n";
printf "<td><input name=name size=60 value='%s'></td> </tr>\n",
	&html_escape($env->{'name'});

print "<tr> <td><b>$text{'env_value'}</b></td>\n";
printf "<td><input name=value size=60 value='%s'></td> </tr>\n",
	&html_escape($env->{'value'});

print "</table></td></tr></table>\n";

# Show save buttons
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100071c38000081e40000000000000002000000013d1fe2ea00000e47000000200000000000000000000000000000001f00000003reloc/procmail/edit_recipe.cgi    #!/usr/local/bin/perl
# edit_receipe.cgi
# Display a form for editing or creating a procmail receipe

require './procmail-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'edit_title1'}, "");
	$block++ if ($in{'block'});
	}
else {
	&header($text{'edit_title2'}, "");
	@conf = &get_procmailrc();
	$rec = $conf[$in{'idx'}];
	$block++ if (defined($rec->{'block'}));
	}
print "<hr>\n";

print "<form action=save_recipe.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=block value='$block'>\n";

# Show action section
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($block) {
	# Start of a conditional block
	print "<tr> <td valign=top><b>$text{'edit_block'}</b></td>\n";
	print "<td colspan=3 width=75%><textarea name=bdata rows=5 cols=60>",
		$rec->{'block'},"</textarea></td> </tr>\n";
	}
else {
	# Simple action
	($t, $a) = &parse_action($rec);
	print "<tr> <td><b>$text{'edit_action'}</b></td>\n";
	print "<td colspan=3 width=75%><select name=amode>\n";
	foreach $i (0, 2, 1, 3, 4) {
		printf "<option value=%d %s>%s\n",
			$i, $t == $i ? "selected" : "", $text{"edit_amode_$i"};
		}
	print "</select>\n";
	printf "<input name=action size=40 value='%s'></td> </tr>\n",
		&html_escape($a);
	}

$i = 0;
foreach $f (@known_flags) {
	print "<tr>\n" if ($i%2 == 0);
	print "<td colspan=2 width=50%>\n";
	printf "<input type=checkbox name=flag value=%s %s> %s\n",
		$f, &indexof($f, @{$rec->{'flags'}}) >= 0 ? "checked" : "",
		$text{"edit_flag_$f"};
	print "</td>\n";
	print "</tr>\n" if ($i%2 == 1);
	$i++;
	}

print "<tr> <td><b>$text{'edit_lockfile'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=lockfile_def value=1 %s> %s\n",
	$rec->{'lockfile'} ? "" : "checked", $text{'default'};
printf "<input type=radio name=lockfile_def value=0 %s>\n",
	$rec->{'lockfile'} ? "checked" : "";
printf "<input name=lockfile size=40 value='%s'></td> </tr>\n",
	&html_escape($rec->{'lockfile'});

print "</table></td></tr></table><br>\n";

# Show conditions section
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header2'}</b></td> </tr>\n";
print "<tr $cb> <td>\n";

print "$text{'edit_conddesc'}<p>\n";

$i = 0;
foreach $c (@{$rec->{'conds'}}, [ '-' ], [ '-' ] ) {
	print "<select name=cmode_$i>\n";
	printf "<option value='-' %s>&nbsp;\n",
		$c->[0] eq '-' ? "selected" : "";
	printf "<option value='' %s> %s\n",
		$c->[0] eq '' ? "selected" : "", $text{'edit_cmode_re'};
	printf "<option value='!' %s> %s\n",
		$c->[0] eq '!' ? "selected" : "", $text{'edit_cmode_nre'};
	printf "<option value='$' %s> %s\n",
		$c->[0] eq '$' ? "selected" : "", $text{'edit_cmode_shell'};
	printf "<option value='?' %s> %s\n",
		$c->[0] eq '?' ? "selected" : "", $text{'edit_cmode_exit'};
	printf "<option value='<' %s> %s\n",
		$c->[0] eq '<' ? "selected" : "", $text{'edit_cmode_lt'};
	printf "<option value='>' %s> %s\n",
		$c->[0] eq '>' ? "selected" : "", $text{'edit_cmode_gt'};
	print "</select>\n";
	printf "<input name=cond_$i size=50 value='%s'><br>\n",
		&html_escape($c->[1]);
	$i++;
	}

print "</td></tr></table>\n";

# Show save buttons
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010007340b000041ed0000000000000001000000023d1ffb0f00000000000000200000000000000000000000000000001600000003reloc/procmail/images 0707010007340c000081a40000000000000002000000013d1fe2ea0000006c000000200000000000000000000000000000001f00000003reloc/procmail/images/down.gif    GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;0707010007340d000081a40000000000000002000000013d1fe2ea00000049000000200000000000000000000000000000001e00000003reloc/procmail/images/gap.gif GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   0707010007340e000081a40000000000000002000000013d1fe2ea000005f6000000200000000000000000000000000000001f00000003reloc/procmail/images/icon.gif    GIF89a0 0 ç  ÌÌÌÿÿÿ™™™fff€ti_?ÀÀÀ ÿ ÿÿ ¨ ˜   ³³³vka0//‘~~~~~[<ÿ  éééccc§§§¤¤¤€€€ˆˆˆœ››:(

žžž···___
 ùùùóñïNNN333+ 
êæãÊÈÈTRQ<°]D*ººº&&&ÁÁÁ	```  tttnnnççç’Œxww“““_G/ÂÂÂòòò"""}xsssràààxqj”“’{{{———mmm………†††\H3ŸŸŸ( 	 œ›¹¹¹œœ›‚‚‚ããã²²±ñññÇÇÇm[I* E4#wne‹‹‹sss˜˜˜2(ƒwkŽŒ###tjaYOEiiiŠ‰‡±±±A7-/"zzz´´´jO5FFFjZKyiZIII9+vvvmcX444ƒƒƒ[SLWQK°ª¥MMMTPMUQNœŠx‘Šƒ	XTP8,o_NDDDcZRVVV? ,qqqŒ†€AAA888e]T555S3'''|ws<!?)F=5;;;5 ;#[;3"4 >%Y2-8    †}tªªª*. ti_*]=B/Y9dP=U5oT9C$                                                                                                                                                                                       !ù  ÿ ,    0 0  þ ÿ	H° ÁƒÀ°¡Ã‡#J”¸0€Å‹3jÜÈQ£€Š)2äÈŽ	Xiàâ—/ðq  ”8$P°€A D0L*Ì¬)ð&É‘%qZ¸€!ƒ«4lØÊ¡ƒ‡/“" Y1§F!D\A¢DF
N Hq@æÒ²f/ªXq•Eœ.^p€ñ’¬Í¼cÈ00ƒFÇKž\ÃÆw#Î¡ÃÀ$EBMº‡ÌM/šÔHòAH±8@HHÛµsBÄpjÚ¤Ÿ†,²ÁÈÒŽŒ<>€ùIÑH’0ýw“öó’&•,ÙÀ¤	ò&#½þÿü"‘éÕ¯#àä	”
^Œ"oÇS6 F©‚Š}”!T±JVØ‡rWD€Å‚X\Ô ƒ0ØQ
h•jª¡Å [„´…E\ˆ@ˆlÑá„]XxÒŠ+zÀ!}aÑ"Òø"ŒqƒŠ–Â !„F…!¢‘Ù‘c¨ˆÒ#	9@ÖQy’‘VjDFf8Ù‘g !¦˜3°C™;¤ÉQ¨á%Gk°ÁÅœs‚8¢trÔÆn¼ÉÑnGœa“ ˆ&ªè¢rÌ±¨ tD*é¤
P‡Ä§whšy ‡§íÁÇ	¤Ô‡W¥ŠÐÕ âê?rÕ ³ô‡„Zˆ!‡\¥B®!‚F"Š(´#`å±	)°L‰´[E"É$
,AÉJ•@«%“\u	&™¤«‰ZlB	'+‰_'ž`eïUŸ€òm(¢È«é(¤ "°˜TŠ)§ ’
þ»*«°ÒJ…çêÊ+°Ä"Ë,ÏJK-ß`KÇ³ÞBIÈ¸ìêÉ+ rª¹°\€./“zò.ñÖ¬)/2÷¢³¦'û’óÏ	ý"³ËD't20C'mP02;0,KÐ, ;  0707010007340f000081a40000000000000002000000013d1fe2ea00000067000000200000000000000000000000000000001d00000003reloc/procmail/images/up.gif  GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 07070100071c39000081e40000000000000002000000013d1fe2ea00000a8d000000200000000000000000000000000000001900000003reloc/procmail/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display the current list of procmail recipes

require './procmail-lib.pl';
if ($minfo{'usermin'}) {
	&header($text{'index_title'}, "", undef, 0, 1);
	}
else {
	&header($text{'index_title'}, "", undef, 1, 1);
	}
print "<hr>\n";

@conf = &get_procmailrc();
print &text('index_desc', "<tt>$procmailrc</tt>"),"<p>\n";

if (@conf) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td width=50%><b>$text{'index_action'}</b></td> ",
	      "<td width=50%><b>$text{'index_conds'}</b></td> ",
	      "<td width=32><b>$text{'index_move'}</b></td> </tr>\n";
	foreach $c (@conf) {
		print "<tr $cb>\n";
		if ($c->{'name'}) {
			# Environment variable assignment
			print "<td width=100% colspan=2>";
			print "<a href='edit_env.cgi?idx=$c->{'index'}'>",
			      &text('index_env',
			    	"<tt>".&html_escape($c->{'name'})."</tt>",
				"<tt>".&html_escape($c->{'value'})."</tt>"),
				"</a>\n";
			}
		else {
			# Procmail recipe
			print "<td valign=top width=50%>";
			print "<a href='edit_recipe.cgi?idx=$c->{'index'}'>";
			local ($t, $a) = &parse_action($c);
			print &text('index_act'.$t,
				    "<tt>".&html_escape($a)."</tt>");
			print "</a></td>\n";

			print "<td width=50%>";
			local @c = @{$c->{'conds'}};
			if (!@c) {
				print $text{'index_noconds'};
				}
			else {
				foreach $n (@c) {
					local $he ="<tt>".&html_escape($n->[1]).
						   "</tt>";
					if ($n->[0] eq '') {
						print &text('index_re', $he);
						}
					elsif ($n->[0] eq '!') {
						print &text('index_nre', $he);
						}
					elsif ($n->[0] eq '$') {
						print &text('index_shell', $he);
						}
					elsif ($n->[0] eq '?') {
						print &text('index_exit', $he);
						}
					elsif ($n->[0] eq '<') {
						print &text('index_lt',
							    $n->[1]);
						}
					elsif ($n->[0] eq '>') {
						print &text('index_gt',
							    $n->[1]);
						}
					print "<br>\n";
					}
				}
			}
		print "</td> <td width=32>\n";

		if ($c eq $conf[@conf-1]) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='down.cgi?idx=$c->{'index'}'>",
			      "<img src=images/down.gif border=0></a>";
			}
		if ($c eq $conf[0]) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='up.cgi?idx=$c->{'index'}'>",
			      "<img src=images/up.gif border=0></a>";
			}
		print "</td> </tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
print "<a href='edit_recipe.cgi?new=1'>$text{'index_add'}</a>&nbsp;&nbsp;\n";
print "<a href='edit_recipe.cgi?new=1&block=1'>$text{'index_badd'}</a>&nbsp;&nbsp;\n";
print "<a href='edit_env.cgi?new=1'>$text{'index_eadd'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'index'});

   07070100074a81000041ed0000000000000001000000023d1ffb0f00000000000000200000000000000000000000000000001400000003reloc/procmail/lang   07070100074a82000081a40000000000000002000000013d1fe2ea00000b2e000000200000000000000000000000000000001700000003reloc/procmail/lang/en    index_title=Procmail Mail Filter
index_desc=The procmail actions below from $1 will apply to <b>all</b> email delivered to users on your system. However, they will only be used if procmail is installed and the Sendmail <tt>local_procmail</tt> feature is enabled.
index_action=Action to take
index_conds=Conditions
index_move=Move
index_act5=Execute conditional block
index_act4=Feed to progam $1
index_act3=Forward to $1
index_act2=Write to maildir $1
index_act1=Write to MH folder $1
index_act0=Append to file $1
index_noconds=Always execute action
index_re=Match regexp $1
index_nre=Don't match regexp $1
index_shell=Evaluate command $1
index_exit=Exit status of command $1
index_lt=Size is < $1
index_gt=Size is > $1
index_add=Add a new filter action
index_eadd=Add a new variable setting
index_badd=Add a new conditional block
index_none=No Procmail actions have been configured yet.
index_return=actions list
index_env=Set variable $1 to $2

edit_title2=Edit Action
edit_title1=Create Action
edit_header1=Delivery action details
edit_header2=Action conditions
edit_action=Delivery mode
edit_block=Procmail code to execute
edit_amode_0=Append to file
edit_amode_1=Write to MH folder
edit_amode_2=Write to maildir
edit_amode_3=Forward to address
edit_amode_4=Feed to program
edit_flag_H=Apply conditions to headers
edit_flag_B=Apply conditions to body
edit_flag_D=Case-sensitive matching
edit_flag_h=Feed headers to destination
edit_flag_b=Feed body to destination
edit_flag_c=Continue processing even if conditions match
edit_flag_w=Wait for action program to finish, and check result
edit_flag_W=Wait for action program to finish, but ignore result
edit_flag_i=Ignore write errors on delivery
edit_flag_r=Write out mail in raw mode
edit_lockfile=Delivery lock file
edit_cmode_re=Matches regular expression
edit_cmode_nre=Doesn't match regular expression
edit_cmode_shell=Evaluate output of command
edit_cmode_exit=Check exit status of command
edit_cmode_lt=Mail is smaller than
edit_cmode_gt=Mail is bigger than
edit_conddesc=For the above action to be carried out, all the conditions below must match. If there are no conditions, the action will always be executed.

save_err=Failed to save action
save_eaction_0=Missing file to append to
save_eaction_1=Missing MH folder to write to
save_eaction_2=Missing maildir to write to
save_eaction_3=Missing address to forward to
save_eaction_4=Missing program to feed to
save_elockfile=Missing lock file name
save_esize=Missing or invalid mail size for condition $1
save_ere=Missing regular expression for condition $1
save_eshell=Missing command for condition $1

env_title1=Create Variable
env_title2=Edit Variable
env_header=Procmail environment variable
env_name=Variable name
env_value=Value
env_err=Failed to save variable
env_ename=Missing or invalid variable name

config_eline=Unknown line $1 in $2 : $3
  07070100071c3a000081a40000000000000002000000013d1fe2ea00000055000000200000000000000000000000000000001b00000003reloc/procmail/module.info    category=servers
depends=0.990
desc=Procmail Mail Filter
version=0.990
name=Procmail
   07070100071c3b000081a40000000000000002000000013d1fe2ea0000124a000000200000000000000000000000000000001f00000003reloc/procmail/procmail-lib.pl    # procmail-lib.pl
# Functions for parsing the .procmailrc file

do '../web-lib.pl';
&init_config();
%minfo = &get_module_info($module_name);
if ($minfo{'usermin'}) {
	&switch_to_remote_user();
	$procmailrc = "$remote_user_info[7]/.procmailrc";
	}
else {
	$procmailrc = $config{'procmailrc'};
	}

# get_procmailrc()
# Parses the .procmailrc file into recipes
sub get_procmailrc
{
local (@rv, $rec);
local $lnum = 0;
open(RC, $procmailrc);
while(<RC>) {
	local $slnum = $lnum;
	s/\s+$//;
	while(s/\\$//) {
		local $cont = <RC>;
		$cont =~ s/\s+$//;
		$cont =~ s/^\s+//;
		$_ .= $cont;
		$lnum++;
		}
	if (!/^\*/) {
		s/#.*$//;
		s/\s+$//;
		}
	if (/^([^\s=]+)\s*=\s*"(.*)"$/ ||
	    /^([^\s=]+)\s*=\s*'(.*)'$/ ||
	    /^([^\s=]+)\s*=\s*(.*)$/) {
		# Environment variable assignment
		local $env = { 'index' => scalar(@rv),
			       'line' => $slnum,
			       'eline' => $lnum,
			       'name' => $1,
			       'value' => $2 };
		push(@rv, $env);
		}
	elsif (/^:0\s*(\S*)\s*:\s*(.*)$/ ||
	    /^:0\s*(\S*)/) {
		# Start of a new recipe
		$rec = { 'index' => scalar(@rv),
			 'line' => $slnum,
			 'eline' => $lnum,
			 'lockfile' => $2,
			 'flags' => [ split(//, $1) ] };
		push(@rv, $rec);
		}
	elsif (/^\*\s*(\!|\$|\?|<|>|)(.*)$/) {
		# A condition for a recipe
		push(@{$rec->{'conds'}}, [ $1, $2 ]);
		$rec->{'eline'} = $lnum;
		}
	elsif (/^\{\s*$/) {
		# A conditional action .. read till the end
		local $nest = 1;
		$rec->{'block'} = "";
		while(<RC>) {
			$lnum++;
			if (/^\{\s*$/) {
				$nest++;
				}
			elsif (/^\}\s*$/) {
				last if (!--$nest);
				}
			$rec->{'block'} .= $_;
			}
		$rec->{'eline'} = $lnum;
		}
	elsif (/^\{(.*)\}\s*$/) {
		# A single-line conditional action .. 
		$rec->{'block'} = $1;
		$rec->{'eline'} = $lnum;
		}
	elsif (/^(\!|\|)\s*(.*)$/) {
		# The action for a recipe
		$rec->{'type'} = $1;
		$rec->{'action'} = $2;
		$rec->{'eline'} = $lnum;
		}
	elsif (/\S/) {
		if ($rec->{'action'}) {
			# Unknown line
			&error(&text('config_eline', $slnum+1,
				     $procmailrc, "<tt>$_</tt>"));
			}
		else {
			# File delivery action
			$rec->{'type'} = undef;
			$rec->{'action'} = $_;
			$rec->{'eline'} = $lnum;
			}
		}
	$lnum++;
	}
close(RC);
return @rv;
}

# create_recipe(&recipe)
sub create_recipe
{
local $lref = &read_file_lines($procmailrc);
push(@$lref, &recipe_lines($_[0]));
&flush_file_lines();
}

# delete_recipe(&recipe)
sub delete_recipe
{
local $lref = &read_file_lines($procmailrc);
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

# modify_recipe(&recipe)
sub modify_recipe
{
local $lref = &read_file_lines($procmailrc);
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
       &recipe_lines($_[0]));
&flush_file_lines();
}

# swap_recipes(&recipe1, &recipe2)
sub swap_recipes
{
local $lref = &read_file_lines($procmailrc);
local @lines0 = @$lref[$_[0]->{'line'} .. $_[0]->{'eline'}];
local @lines1 = @$lref[$_[1]->{'line'} .. $_[1]->{'eline'}];
if ($_[0]->{'line'} < $_[1]->{'line'}) {
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'} - $_[1]->{'line'} + 1,
	       @lines0);
	splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
	       @lines1);
	}
else {
	splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
	       @lines1);
	splice(@$lref, $_[1]->{'line'}, $_[1]->{'eline'} - $_[1]->{'line'} + 1,
	       @lines0);
	}
&flush_file_lines();
}

sub recipe_lines
{
if ($_[0]->{'name'}) {
	# Environment variable
	local $v = $_[0]->{'value'} =~ /^\`/ ? $_[0]->{'value'} :
		   $_[0]->{'value'} =~ /^\S+$/ ? $_[0]->{'value'} :
		   $_[0]->{'value'} =~ /"/ ? "'$_[0]->{'value'}'" :
					    "\"$_[0]->{'value'}\"";
	return ( $_[0]->{'name'}."=".$v );
	}
else {
	# Recipe with conditions and action
	local (@rv, $c);
	push(@rv, ":0".join("", @{$_[0]->{'flags'}}));
	if ($_[0]->{'lockfile'}) {
		$rv[0] .= ":".$_[0]->{'lockfile'};
		}
	foreach $c (@{$_[0]->{'conds'}}) {
		push(@rv, "* ".$c->[0].$c->[1]);
		}
	if (defined($_[0]->{'block'})) {
		push(@rv, "{", split(/\n/, $_[0]->{'block'}), "}");
		}
	elsif ($_[0]->{'type'}) {
		push(@rv, $_[0]->{'type'}." ".$_[0]->{'action'});
		}
	else {
		push(@rv, $_[0]->{'action'});
		}
	return @rv;
	}
}

# parse_action(&recipe)
sub parse_action
{
if ($_[0]->{'type'} eq '|') {
	return (4, $_[0]->{'action'});
	}
elsif ($_[0]->{'type'} eq '!') {
	return (3, $_[0]->{'action'});
	}
elsif (defined($_[0]->{'block'})) {
	return (5);
	}
elsif ($_[0]->{'action'} =~ /^(.*)\/$/) {
	return (2, $1);
	}
elsif ($_[0]->{'action'} =~ /^(.*)\/\.$/) {
	return (1, $1);
	}
else {
	return (0, $_[0]->{'action'});
	}
}

@known_flags = ('H', 'B', 'D', 'h', 'b', 'c', 'w', 'W', 'i', 'r');

1;

  07070100071c3c000081e40000000000000002000000013d1fe2ea00000246000000200000000000000000000000000000001c00000003reloc/procmail/save_env.cgi   #!/usr/local/bin/perl
# save_env.cgi
# Create, update or delete an environment setting

require './procmail-lib.pl';
&ReadParse();
@conf = &get_procmailrc();
$env = $conf[$in{'idx'}] if (!$in{'new'});

if ($in{'delete'}) {
	# Just delete the variable
	&delete_recipe($env);
	}
else {
	# Validate inputs
	&error_setup($text{'env_err'});
	$in{'name'} =~ /^[^\s=]+$/ || &error($text{'env_ename'});
	$env->{'name'} = $in{'name'};
	$env->{'value'} = $in{'value'};

	# Save the receipe
	if ($in{'new'}) {
		&create_recipe($env);
		}
	else {
		&modify_recipe($env);
		}
	}
&redirect("");

  07070100071c3d000081e40000000000000002000000013d1fe2ea00000786000000200000000000000000000000000000001f00000003reloc/procmail/save_recipe.cgi    #!/usr/local/bin/perl
# save_recipe.cgi
# Create, update or delete a procmail recipe

require './procmail-lib.pl';
&ReadParse();
@conf = &get_procmailrc();
$rec = $conf[$in{'idx'}] if (!$in{'new'});

if ($in{'delete'}) {
	# Just delete the recipe
	&delete_recipe($rec);
	}
else {
	# Validate inputs
	&error_setup($text{'save_err'});
	if ($in{'block'}) {
		# Conditional code block
		$in{'bdata'} =~ s/\r//g;
		$rec->{'block'} = $in{'bdata'};
		}
	else {
		# Normal action
		$in{'action'} =~ /\S/ ||
			&error($text{'save_eaction_'.$in{'amode'}});
		delete($rec->{'type'});
		if ($in{'amode'} == 0) {
			$rec->{'action'} = $in{'action'};
			}
		elsif ($in{'amode'} == 1) {
			$rec->{'action'} = $in{'action'}."/.";
			}
		elsif ($in{'amode'} == 2) {
			$rec->{'action'} = $in{'action'}."/";
			}
		elsif ($in{'amode'} == 3) {
			$rec->{'type'} = "!";
			$rec->{'action'} = $in{'action'};
			}
		else {
			$rec->{'type'} = "|";
			$rec->{'action'} = $in{'action'};
			}
		}

	map { $flag{$_}++ } split(/\0/, $in{'flag'});
	@flags = @{$rec->{'flags'}};
	foreach $f (@known_flags) {
		if ($flag{$f}) {
			push(@flags, $f);
			}
		else {
			@flags = grep { $_ ne $f } @flags;
			}
		}
	$rec->{'flags'} = [ &unique(@flags) ];

	if ($in{'lockfile_def'}) {
		delete($rec->{'lockfile'});
		}
	else {
		$in{'lockfile'} =~ /\S/ || &error($text{'save_elockfile'});
		$rec->{'lockfile'} = $in{'lockfile'};
		}

	for($i=0; defined($m = $in{"cmode_$i"}); $i++) {
		next if ($m eq '-');
		$c = $in{"cond_$i"};
		if ($m eq '<' || $m eq '>') {
			$c =~ /^\d+$/ || &error(&text('save_esize', $i+1));
			}
		elsif ($m eq '$' || $m eq '?') {
			$c =~ /\S/ || &error(&text('save_eshell', $i+1));
			}
		else {
			$c =~ /\S/ || &error(&text('save_ere', $i+1));
			}
		push(@conds, [ $m, $c ]);
		}
	$rec->{'conds'} = \@conds;

	# Save the receipe
	if ($in{'new'}) {
		&create_recipe($rec);
		}
	else {
		&modify_recipe($rec);
		}
	}
&redirect("");

  07070100071c3e000081e40000000000000002000000013d1fe2ea000000ce000000200000000000000000000000000000001600000003reloc/procmail/up.cgi #!/usr/local/bin/perl
# up.cgi
# Move a recipe up in the file

require './procmail-lib.pl';
&ReadParse();
@conf = &get_procmailrc();
&swap_recipes($conf[$in{'idx'}], $conf[$in{'idx'} - 1]);
&redirect("");

  07070100076002000041ed0000000000000001000000043d1ffb1600000000000000200000000000000000000000000000000e00000003reloc/proftpd 07070100076003000081e40000000000000002000000013d1fe2e500000435000000200000000000000000000000000000002100000003reloc/proftpd/allmanual_form.cgi  #!/usr/local/bin/perl
# allmanual_form.cgi
# Display a text box for manually editing directives from one of the files

require './proftpd-lib.pl';
&ReadParse();
&header($text{'manual_configs'}, "");
print "<hr>\n";

$conf = &get_config();
@files = &unique(map { $_->{'file'} } @$conf);
$in{'file'} = $files[0] if (!$in{'file'});
print "<form action=allmanual_form.cgi>\n";
print "<input type=submit value='$text{'manual_file'}'>\n";
print "<select name=file>\n";
foreach $f (@files) {
	printf "<option %s>%s\n",
		$f eq $in{'file'} ? 'selected' : '', $f;
	$found++ if ($f eq $in{'file'});
	}
print "</select></form>\n";
$found || &error($text{'manual_efile'});

print "<form action=allmanual_save.cgi method=post ",
      "enctype=multipart/form-data>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<textarea name=data rows=20 cols=80>";
open(FILE, $in{'file'});
while(<FILE>) { print &html_escape($_); }
close(FILE);
print "</textarea><br>\n";
print "<input type=submit value='$text{'save'}'>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100076004000081e40000000000000002000000013d1fe2e50000016d000000200000000000000000000000000000002100000003reloc/proftpd/allmanual_save.cgi  #!/usr/local/bin/perl
# allmanual_save.cgi
# Save an entire config file

require './proftpd-lib.pl';
&ReadParseMime();

$conf = &get_config();
@files = &unique(map { $_->{'file'} } @$conf);
&indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});

$in{'data'} =~ s/\r//g;
open(FILE, ">$in{'file'}");
print FILE $in{'data'};
close(FILE);
&redirect("");

   07070100076005000081e40000000000000002000000013d1fe2e500000b47000000200000000000000000000000000000001d00000003reloc/proftpd/anon_index.cgi  #!/usr/local/bin/perl
# anon_index.cgi
# Display a menu for anonymous section options

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
$anonstr = &find_directive_struct("Anonymous", $conf);
if (!$anonstr) {
	# Go to the anon options page
	&redirect("edit_aserv.cgi?virt=$in{'virt'}&init=1");
	exit;
	}
$anon = $anonstr->{'members'};

# Display header and config icons
&header($text{'anon_title'}, "");
print "<center><font size=+2>", $in{'virt'} eq '' ? $text{'anon_header2'} :
      &text('anon_header1', $v->{'value'}),"</font></center>\n";
print "<hr>\n";
print "<h3>$text{'anon_opts'}</h3>\n";
$anon_icon = { "icon" => "images/anon.gif",
	       "name" => $text{'anon_anon'},
	       "link" => "edit_aserv.cgi?virt=$in{'virt'}" };
&config_icons("anon", "edit_anon.cgi?virt=$in{'virt'}&", $anon_icon);

# Display per-directory/limit options
@dir = ( &find_directive_struct("Directory", $anon) ,
	 &find_directive_struct("Limit", $anon) );
if (@dir) {
	print "<hr>\n";
	print "<h3>$text{'virt_header'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $d (@dir) {
		if ($i%3 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=33%>\n";
		if ($d->{'name'} eq 'Limit') {
			&generate_icon("images/limit.gif",
			       &text('virt_limit', $d->{'value'}),
			       "limit_index.cgi?virt=$in{'virt'}&anon=1&limit=".
			       &indexof($d, @$anon));
			}
		else {
			&generate_icon("images/dir.gif",
				&text('virt_dir', $d->{'value'}),
				"dir_index.cgi?virt=$in{'virt'}&anon=1&idx=".
				&indexof($d, @$anon));
			}
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%></td>\n"; }
	print "</table>\n";
	}

print "<table width=100%><tr><td>\n";

print "<form action=create_dir.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=anon value=1>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_adddir'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_path'}</b></td>\n";
print "<td><input name=dir size=30>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td><td>\n";

print "<form action=create_limit.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=anon value=1>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_addlimit'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_cmds'}</b></td>\n";
print "<td><input name=cmd size=20>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td></tr></table>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
	"", $text{'index_return'});

 07070100076006000081e40000000000000002000000013d1fe2e5000000c2000000200000000000000000000000000000001800000003reloc/proftpd/apply.cgi   #!/usr/local/bin/perl
# apply.cgi
# Apply config file changes with a HUP signal

require './proftpd-lib.pl';
&ReadParse();
&kill_logged('HUP', $in{'pid'});
&webmin_log("apply");
&redirect("");

  07070100076007000081a40000000000000002000000013d1fe2e500000089000000200000000000000000000000000000001500000003reloc/proftpd/config  proftpd_path=/usr/local/sbin/proftpd
proftpd_conf=/usr/local/etc/proftpd.conf
pid_file=/usr/local/var/proftpd.pid
ftpusers=/etc/ftpusers
   07070100076008000081a40000000000000002000000013d1fe2e500000073000000200000000000000000000000000000002200000003reloc/proftpd/config-cobalt-linux proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 07070100076009000081a40000000000000002000000013d1fe2e500000097000000200000000000000000000000000000002200000003reloc/proftpd/config-debian-linux proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
start_cmd=/etc/init.d/proftpd start
ftpusers=/etc/ftpusers
 0707010007600a000081a40000000000000002000000013d1fe2e500000086000000200000000000000000000000000000001d00000003reloc/proftpd/config-freebsd  proftpd_path=/usr/local/libexec/proftpd
proftpd_conf=/usr/local/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
  0707010007600b000081a40000000000000002000000013d1fe2e50000007b000000200000000000000000000000000000002200000003reloc/proftpd/config-gentoo-linux proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 070701000760b2000081a40000000000000002000000013d1fe2e50000009c000000200000000000000000000000000000002400000003reloc/proftpd/config-mandrake-linux   proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
start_cmd=/etc/rc.d/init.d/proftpd start
ftpusers=/etc/ftpusers
070701000760b3000081a40000000000000002000000013d1fe2e500000073000000200000000000000000000000000000001f00000003reloc/proftpd/config-msc-linux    proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 070701000760b4000081a40000000000000002000000013d1fe2e500000073000000200000000000000000000000000000002000000003reloc/proftpd/config-open-linux   proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 070701000760b5000081a40000000000000002000000013d1fe2e500000073000000200000000000000000000000000000002200000003reloc/proftpd/config-redhat-linux proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 070701000761f6000081a40000000000000002000000013d1fe2e500000073000000200000000000000000000000000000002500000003reloc/proftpd/config-slackware-linux  proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
ftpusers=/etc/ftpusers
 070701000761f7000081a40000000000000002000000013d1fe2e500000097000000200000000000000000000000000000002000000003reloc/proftpd/config-suse-linux   proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
start_cmd=/etc/init.d/proftpd start
ftpusers=/etc/ftpusers
 070701000761f8000081a40000000000000002000000013d1fe2e50000009c000000200000000000000000000000000000002100000003reloc/proftpd/config-turbo-linux  proftpd_path=/usr/sbin/proftpd
proftpd_conf=/etc/proftpd.conf
pid_file=/var/run/proftpd.pid
start_cmd=/etc/rc.d/init.d/proftpd start
ftpusers=/etc/ftpusers
070701000761f9000081a40000000000000002000000013d1fe2e5000000c9000000200000000000000000000000000000001a00000003reloc/proftpd/config.info proftpd_conf=Path to ProFTPD config file,0
proftpd_path=Path to ProFTPD executable,0
pid_file=Path to ProFTPD PID file,0
ftpusers=Path to ftpusers file,0
start_cmd=Command to start ProFTPD,3,Automatic
   070701000761fa000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000001d00000003reloc/proftpd/config.info.ca  proftpd_conf=Camí del fitxer de configuració de ProFTPD,0
proftpd_path=Camí del fitxer executable de ProFTPD,0
pid_file=Camí del fitxer de PID de ProFTPD,0
start_cmd=Ordre per iniciar ProFTPD,3,Automàtic
ftpusers=Camí del fitxer ftpusers,0
07070100077755000041ed0000000000000001000000023d1ffb1400000000000000200000000000000000000000000000001500000003reloc/proftpd/images  07070100077756000081a40000000000000002000000013d1fe2e5000000ed000000200000000000000000000000000000001e00000003reloc/proftpd/images/anon.gif GIF89a0 0 ¡  øüø`d`ÈÌÈÿÿÿ!þMade with GIMP !ù
  ,    0 0  ¬œ©Ëí£œ´Ú‹OØ<_v^–âÈ˜j€¦¡ Ãa«”rÏ´aß¸¿ÙzN$4@mÅl:QÐŸt:ªKÏÕ–Û‚^OYïRÕ­®ÒjÓÎ¼~+¿H9ñ¬³¿ðuá°äÇˆå(X‡¸ ¶èÒç˜ùEyèˆ‰HX¨§¶ÉÙIjˆ„–fê†Z&‚V8êê+j‘÷Z+›Ëz™«›ì;Á,ÌP  ;   07070100077757000081a40000000000000002000000013d1fe2e50000010a000000200000000000000000000000000000001d00000003reloc/proftpd/images/dir.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  07070100077758000081a40000000000000002000000013d1fe2e50000010a000000200000000000000000000000000000001e00000003reloc/proftpd/images/dirs.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  07070100077763000081a40000000000000002000000013d1fe2e5000001de000000200000000000000000000000000000001e00000003reloc/proftpd/images/edit.gif GIF89a0 0 „  ÿÿÿ™™™   ÌffÌ™fÿf™Ì™™ÌÌÌÌ™Ìÿ™3ÿÌ3Ì™3ÌÌ3îîîÿÌfÌÌ™bbb                                             !þMade with GIMP !ù    ,    0 0  þ  ŽdižhjhÀŽ.àÎ±jËéã¼~·>RÐüXÃ™ˆ&„½hÊeñ¹[ò®XêiF·àjW‹cŠ{;±Ä³Ýò9)n«kQ¨Ìü›÷FlM#†‚ˆqW‰F5R/š"†™+ld‘€œŒ ƒª‰’ §9Cš­†©M´x½SQ	†™}£TZorœ

jN­d’omÁÎmhuV1k„”	
ÂÚÆUvÝª,ÍÂÊe¾{PL}ð¹

¯Ñ›9$ìãtõ³áãš»‰à;ˆ‘ 	ôýø³"Þ‰`ø9sŽÐÅˆU@ç"¶"JÉ+¹²Bqýu|¢»ˆ1SNB7gƒ(Ev:†‹ rn“®$CQôÊ¡†X³jÝÊµ«×¯`ÃŠK¶¬Ù³]C  ;  07070100077819000081a40000000000000002000000013d1fe2e500000186000000200000000000000000000000000000002200000003reloc/proftpd/images/ftpusers.gif GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010007781a000081a40000000000000002000000013d1fe2e50000060b000000200000000000000000000000000000001e00000003reloc/proftpd/images/icon.gif GIF89a0 0 ÷  ýýþþ  þþþþþþþþþ		þ

þþþþþþþþþþþþ  þ$$þ%%þ''þ((þ))þ,,þ--þ..þ22þ55þ66þ::þ;;þ==þ>>þ??þAAþEEþHHþMMþOOþPPþRRþSSþUUþXXþZZþ]]þ__þ``þccþddþeeþffþiiþmmþnnþooþppþrrþssþvvþzzþ||þ~~þþþ‚‚þ††þ‰‰þŠŠþŽŽþ’’þ““þ••þœœþþ¢¢þ§§þ©©þªªþ°°þ±±þ¶¶þ··þ¸¸þ¹¹þ»»þ¼¼þ½½þ¾¾þ¿¿þÀÀþÁÁþÂÂþÃÃþÄÄþÆÆþÇÇþËËþÏÏþÐÐþÕÕþÖÖþÚÚþÜÜþÞÞþááþããþååþççþèèþééþêêþëëþììþííþîîþððþññþòòþóóþõõþööþ÷÷þøøþùùþúúþûûþüüþýýþþþþþÿÿ  ÿÿÿÿÿÿÿÿÿÿ$$ÿ**ÿ,,ÿ00ÿ55ÿ66ÿ==ÿCCÿGGÿHHÿKKÿLLÿPPÿWWÿeeÿffÿiiÿttÿxxÿ{{ÿ}}ÿŠŠÿ˜˜ÿªªÿ­­ÿ°°ÿ··ÿ¼¼ÿ¿¿ÿÆÆÿÈÈÿËËÿÍÍÿÐÐÿ××ÿØØÿÙÙÿÚÚÿÝÝÿááÿääÿééÿììÿííÿññÿóóÿööÿ÷÷ÿøøÿùùÿûûÿüüÿýýÿþþÿÿþÿÿÿ¿…(ü zð ÿ¿\ó ¿  ó¸Ñ¬à@@44kŽŽ0` Ít  0ÿ ÿt ÿ ÿ` óÍÕÿ¿@    -  @  Ü öt ¿ä<¬óòñ¿¿¿®|U™+‘`¸ðÍyzñ(,zñÿ¿               !þ+CREATOR: The GIMP's PNM Filter Version 1.0
 ,    0 0  þ 	¨l Ae&4È°!C…|Q¡Ã‹!b<XáÆMôh°cÄMjÉ1$Ê”?ªœø2£E,Þ¬Y2&H•<mž¼83hÏ•ú4*r¦Ó¥FŸ"LFµ*U…Æh¹á	h
Ÿ¦*­&;Tâ±R¬4g.Xªhñr¦C€”°3SìÕŽ­%Òñ…X@@@Ô0`²Š~ÿBD&V¦D‰‹F0Ã	
m`“ª`—§Zµ˜Y®S“M@†Å%ÖHHO›-KbTPšÒªb²“™D†K”£Ý‰]:R&J„ )ðþl$$ÐŒBS&Ýä0T’°G%‹X¡$ˆ SóV§Ý¡£/œèš#¤ìr2K [Õ¤Œ0Ÿ 7‹IºT‚&µÄ†Ì+	p@|üÈKÙ"X"©8„GŒP„ |¬A<d°X´ÐD„ „Ð/$¢ˆ+rc	(&Ú[ÔB±èæ	1q “ˆ¶ ‹°SÊø‚‰" ôB“@†´ càD9,¶BFÉb	&¬@÷æ!s0 Á†@}L@^EÈJ˜"Ë1;rGŒ90C‚DÆ xpbM…È‡!.‚FÃªá‹ÁTK‰!A Rš`ˆC>0À·‚e‘ Ã¤¾p8ðÕ­	r‚W2È¨ðl !klBf ‘Ç@U@ÁõÀâB„"~0Dˆ„áP/BóÎë)¸àP,oÀ_¤g2HOˆË0"$9ç2L Ð¼H]T/CoHñoÉ<í±r¦â^	UÌ<µJsÍRå¬óÎ<÷ìóÏ@-ôÐDmôÑH'P@ ; 0707010007781b000081a40000000000000002000000013d1fe2e500000128000000200000000000000000000000000000001f00000003reloc/proftpd/images/limit.gif    GIF87a0 0 €     ÿÿÿ,    0 0  þŒ©Ëí£´ÚdóZÊu"fF9žÀ·’ ;½oÈ2sÇ*N/÷žëÉZ½"†È
W©b3BªL.âìÉêÄ¨ŸÍã³JuáX9G®^còý­’ê²ÔÛÎŸ«Ïª¯6Åô‡$B'¡¸ÈØèøù•Fˆ¸…wXUr4ˆÆÆÆóÓ„7*–¤W—èt
ç¦”cš»šµ:©Ê··[ËÙ;å@JëŠœú;»5œÜ†üŠ+ÇÜL–i+¼-<ÉÝ­9&i~ŽžI2è±ù€2.æ'/É7•N]}ÈÉÚ+×^aŠš¨3%˜¡µ,™Ÿ•TÈMDiÙÚe,¦¤  ;0707010007781c000081a40000000000000002000000013d1fe2e5000001d6000000200000000000000000000000000000001d00000003reloc/proftpd/images/log.gif  GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  0707010007781d000081a40000000000000002000000013d1fe2e5000001cc000000200000000000000000000000000000001e00000003reloc/proftpd/images/misc.gif GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;0707010007781e000081a40000000000000002000000013d1fe2e5000001de000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_0.gif  GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  0707010007781f000081a40000000000000002000000013d1fe2e5000001d6000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_1.gif  GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100077820000081a40000000000000002000000013d1fe2e500000175000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_2.gif  GIF89a0 0 ã  ÿÿÿ™™™ÌÌÌfff ÿÿÿÿ   ÿ ÿ                         !ù    ,    0 0  þÈI«½8ëÍ»ÿ`(Žc œhª®d˜k·Ók¸€º@üÀß‰°Ád¾`¡@¶ŒÜnw
–MÁŠ¬pA§úš
h´o
ƒÈ¯®à0n¼¬3çîvwwyrH‚ˆxZ!'Tf}}<s‰ƒ‹ †2”•"<igj<TšŠœ˜¨„ŽR9‘£Žª©©§®u­~³µ¨·u’¿½Ä†§ÇHÉÊ3Œ°­ÐÃ2Á¹¸T]ÌÍ*§Ÿ Ö¸°=–ÛÔÏ×±=Þß‘ÅæÎ—õööº®â’§ þë÷ïÞ?wà¦‘óp`½‰ñW¿{F6êÝ…†#%ø(ñÆ{{P¥fa¡xÜžÁDA¤¦Í›8sêÜÉÓB ;   07070100077821000081a40000000000000002000000013d1fe2e500000113000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_3.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100077822000081a40000000000000002000000013d1fe2e5000001cc000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_4.gif  GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100077823000081a40000000000000002000000013d1fe2e500000186000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_5.gif  GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100077824000081a40000000000000002000000013d1fe2e500000130000000200000000000000000000000000000002500000003reloc/proftpd/images/type_icon_6.gif  GIF89a0 0 Â  ÿÿÿÌÌÌfff   ÿÿÿÿÿÿÿÿÿÿÿÿ!ù    ,    0 0  õºÜþ0ÊI«[—õÆB(
0ŠÞ„h¹L¨$ÄN÷#ÌÑå¿šŽ÷ðIÉ@h#6Œ¿dd‰s2 6)„z´.°:íƒûó*À¤’9F)ä4»5_¨'q:h‚ý
€A'K|tH†'%…v‡9…%{s‚•€˜™š7œž#¡¤‘¥¢u¨'ª«ƒ¦¯/@ ²—§¶ µ«¼¼¤¿}®¡Á±²Å·¯È1¹³;™+Í–Kf=HËÌ<ÔwÑ•#ÚŒg£³ŠÕÑ×ÃÉ†¥!IÁ2
b¡Ré–çéôæ²ûü¡hA`(‚Ú¡z×‰_=[#–J  ;07070100077825000081a40000000000000002000000013d1fe2e50000060b000000200000000000000000000000000000001e00000003reloc/proftpd/images/virt.gif GIF89a0 0 ÷  ýýþþ  þþþþþþþþþ		þ

þþþþþþþþþþþþ  þ$$þ%%þ''þ((þ))þ,,þ--þ..þ22þ55þ66þ::þ;;þ==þ>>þ??þAAþEEþHHþMMþOOþPPþRRþSSþUUþXXþZZþ]]þ__þ``þccþddþeeþffþiiþmmþnnþooþppþrrþssþvvþzzþ||þ~~þþþ‚‚þ††þ‰‰þŠŠþŽŽþ’’þ““þ••þœœþþ¢¢þ§§þ©©þªªþ°°þ±±þ¶¶þ··þ¸¸þ¹¹þ»»þ¼¼þ½½þ¾¾þ¿¿þÀÀþÁÁþÂÂþÃÃþÄÄþÆÆþÇÇþËËþÏÏþÐÐþÕÕþÖÖþÚÚþÜÜþÞÞþááþããþååþççþèèþééþêêþëëþììþííþîîþððþññþòòþóóþõõþööþ÷÷þøøþùùþúúþûûþüüþýýþþþþþÿÿ  ÿÿÿÿÿÿÿÿÿÿ$$ÿ**ÿ,,ÿ00ÿ55ÿ66ÿ==ÿCCÿGGÿHHÿKKÿLLÿPPÿWWÿeeÿffÿiiÿttÿxxÿ{{ÿ}}ÿŠŠÿ˜˜ÿªªÿ­­ÿ°°ÿ··ÿ¼¼ÿ¿¿ÿÆÆÿÈÈÿËËÿÍÍÿÐÐÿ××ÿØØÿÙÙÿÚÚÿÝÝÿááÿääÿééÿììÿííÿññÿóóÿööÿ÷÷ÿøøÿùùÿûûÿüüÿýýÿþþÿÿþÿÿÿ¿…(ü zð ÿ¿\ó ¿  ó¸Ñ¬à@@44kŽŽ0` Ít  0ÿ ÿt ÿ ÿ` óÍÕÿ¿@    -  @  Ü öt ¿ä<¬óòñ¿¿¿®|U™+‘`¸ðÍyzñ(,zñÿ¿               !þ+CREATOR: The GIMP's PNM Filter Version 1.0
 ,    0 0  þ 	¨l Ae&4È°!C…|Q¡Ã‹!b<XáÆMôh°cÄMjÉ1$Ê”?ªœø2£E,Þ¬Y2&H•<mž¼83hÏ•ú4*r¦Ó¥FŸ"LFµ*U…Æh¹á	h
Ÿ¦*­&;Tâ±R¬4g.Xªhñr¦C€”°3SìÕŽ­%Òñ…X@@@Ô0`²Š~ÿBD&V¦D‰‹F0Ã	
m`“ª`—§Zµ˜Y®S“M@†Å%ÖHHO›-KbTPšÒªb²“™D†K”£Ý‰]:R&J„ )ðþl$$ÐŒBS&Ýä0T’°G%‹X¡$ˆ SóV§Ý¡£/œèš#¤ìr2K [Õ¤Œ0Ÿ 7‹IºT‚&µÄ†Ì+	p@|üÈKÙ"X"©8„GŒP„ |¬A<d°X´ÐD„ „Ð/$¢ˆ+rc	(&Ú[ÔB±èæ	1q “ˆ¶ ‹°SÊø‚‰" ôB“@†´ càD9,¶BFÉb	&¬@÷æ!s0 Á†@}L@^EÈJ˜"Ë1;rGŒ90C‚DÆ xpbM…È‡!.‚FÃªá‹ÁTK‰!A Rš`ˆC>0À·‚e‘ Ã¤¾p8ðÕ­	r‚W2È¨ðl !klBf ‘Ç@U@ÁõÀâB„"~0Dˆ„áP/BóÎë)¸àP,oÀ_¤g2HOˆË0"$9ç2L Ð¼H]T/CoHñoÉ<í±r¦â^	UÌ<µJsÍRå¬óÎ<÷ìóÏ@-ôÐDmôÑH'P@ ; 070701000761fb000081a40000000000000002000000013d1fe2e5000000ef000000200000000000000000000000000000001d00000003reloc/proftpd/config.info.es  proftpd_conf=Ruta al archivo de configuración de ProFTPD,0
proftpd_path=Ruta al archivo ejecutable ProFTPD,0
pid_file=Ruta al archivo PID de ProFTPD,0
ftpusers=Ruta al archivo ftpusers,0
start_cmd=Comando para iniciar ProFTPD,3,Automático
 070701000761fc000081a40000000000000002000000013d1fe2e5000000fe000000200000000000000000000000000000001d00000003reloc/proftpd/config.info.pl  proftpd_conf=¦cie¿ka do pliku konfiguracyjnego ProFTPD,0
proftpd_path=¦cie¿ka do programu ProFTPD,0
pid_file=¦cie¿ka do pliku z numerem PID ProFTPD,0
ftpusers=¦cie¿ka do pliku <tt>ftpusers</tt>,0
start_cmd=Polecenie uruchamiaj±ce ProFTPD,3,Automatycznie
  070701000761fd000081e40000000000000002000000013d1fe2e500000321000000200000000000000000000000000000001d00000003reloc/proftpd/create_dir.cgi  #!/usr/local/bin/perl
# create_dir.cgi
# Add a new <Directory> section to a virtual server

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $conf);
	$conf = $anon->{'members'};
	}
&error_setup($text{'dserv_err'});

# Validate inputs
$in{'dir'} =~ /^\S+$/ || &error($text{'dserv_edir'});

# Add the directory
$l = $conf->[@$conf - 1];
&lock_file($l->{'file'});
$lref = &read_file_lines($l->{'file'});
@lines = ( "<Directory $in{'dir'}>", "</Directory>" );
splice(@$lref, $l->{'eline'}+1, 0, @lines);
&flush_file_lines();
&unlock_file($l->{'file'});
&webmin_log("dir", "create", "$v->{'value'}:$in{'dir'}", \%in);
&redirect("dir_index.cgi?virt=$in{'virt'}&anon=$in{'anon'}&idx=".scalar(@$conf));

   070701000761fe000081e40000000000000002000000013d1fe2e5000002fd000000200000000000000000000000000000002300000003reloc/proftpd/create_ftpaccess.cgi    #!/usr/local/bin/perl
# create_ftpaccess.cgi
# Creates a new .ftpaccess file for some directory

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();

if (-d $in{'file'}) {
	# user entered a directory.. create a file in that directory
	$file = "$in{'file'}/.ftpaccess";
	}
else { $file = $in{'file'}; }

# create the file (if needed), and add to the known list
&lock_file($file);
if (!(-r $file)) {
	open(FTPACCESS, ">$file") || &error($!);
	close(FTPACCESS);
	chmod(0755, $file);
	}
$site{'ftpaccess'} = join(' ', &unique(@ftpaccess_files, $file));
&write_file("$module_config_directory/site", \%site);
&unlock_file($file);
&webmin_log("ftpaccess", "create", $file);

# redirect to editing index
&redirect("ftpaccess_index.cgi?file=".&urlize($file));

   070701000761ff000081e40000000000000002000000013d1fe2e500000406000000200000000000000000000000000000001f00000003reloc/proftpd/create_limit.cgi    #!/usr/local/bin/perl
# create_limit.cgi
# Create a new <Limit> section

require './proftpd-lib.pl';
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$conf = $conf->[$in{'idx'}]->{'members'};
		}
	}
&error_setup($text{'lserv_err'});

# Validate inputs
$in{'cmd'} =~ /\S/ || &error($text{'lserv_ecmd'});

# Add the limit
$l = $conf->[@$conf - 1];
&lock_file($l->{'file'});
$lref = &read_file_lines($l->{'file'});
@lines = ( "<Limit $in{'cmd'}>", "</Limit>" );
splice(@$lref, $l->{'eline'}+1, 0, @lines);
&flush_file_lines();
&unlock_file($l->{'file'});
&webmin_log("limit", "create", $in{'cmd'}, \%in);
if ($in{'file'}) {
	&redirect("limit_index.cgi?file=$in{'file'}&limit=".scalar(@$conf));
	}
else {
	&redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&limit=".scalar(@$conf));
	}

  07070100076200000081e40000000000000002000000013d1fe2e5000003c4000000200000000000000000000000000000001e00000003reloc/proftpd/create_virt.cgi #!/usr/local/bin/perl
# create_virt.cgi
# Create a new virtual server

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
&error_setup($text{'vserv_err'});

# Validate inputs
$in{'addr_def'} || gethostbyname($in{'addr'}) ||
    &check_ipaddress($in{'addr'}) ||
	&error($text{'vserv_eaddr'});
$in{'Port_def'} || $in{'Port'} =~ /^\d+$/ ||
	&error($text{'vserv_eport'});
$in{'ServerName_def'} || $in{'ServerName'} =~ /\S/ ||
	&error($text{'vserv_ename'});

# Add the virtual host
$l = $conf->[@$conf - 1];
&lock_file($l->{'file'});
$lref = &read_file_lines($l->{'file'});
@lines = ( "<VirtualHost $in{'addr'}>" );
push(@lines, "Port $in{'Port'}") if (!$in{'Port_def'});
push(@lines, "ServerName \"$in{'ServerName'}\"") if (!$in{'ServerName_def'});
push(@lines, "</VirtualHost>");
push(@$lref, @lines);
&flush_file_lines();
&unlock_file($l->{'file'});
&webmin_log("virt", "create", $in{'addr'}, \%in);

&redirect("virt_index.cgi?virt=".scalar(@$conf));

07070100076201000081e40000000000000002000000013d1fe2e50000019e000000200000000000000000000000000000002300000003reloc/proftpd/delete_ftpaccess.cgi    #!/usr/local/bin/perl
# delete_ftpaccess.cgi
# Delete some .ftpaccess or similar file

require './proftpd-lib.pl';
&ReadParse();
&lock_file($in{'file'});
unlink($in{'file'});
&unlock_file($in{'file'});

$site{'ftpaccess'} = join(' ', (grep { $_ ne $in{'file'} } @ftpaccess_files));
&write_file("$module_config_directory/site", \%site);
&webmin_log("ftpaccess", "delete", $in{'file'});
&redirect("ftpaccess.cgi");

  07070100076202000081e40000000000000002000000013d1fe2e5000009cf000000200000000000000000000000000000001c00000003reloc/proftpd/dir_index.cgi   #!/usr/local/bin/perl
# dir_index.cgi
# Display a menu of icons for per-directory options

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $conf);
	$conf = $anon->{'members'};
	}
$d = $conf->[$in{'idx'}];
$dn = $d->{'words'}->[0];
$dconf = $d->{'members'};
&header($text{'dir_title'}, "");
print "<center><font size=+2>",$in{'anon'} ? &text('dir_header4', $dn) :
	$in{'virt'} ?  &text('dir_header1', $dn, $v->{'words'}->[0]) :
	&text('dir_header2', $dn),"</font></center>\n";
print "<hr>\n";

$dir_icon = { "icon" => "images/dir.gif",
	      "name" => $text{'dir_dir'},
	      "link" => "edit_dserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}" };
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'dir_edit'},
	     "link" => "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}" };
&config_icons("directory", "edit_dir.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&", $dir_icon, $ed_icon);

# Display limit options
@lim = &find_directive_struct("Limit", $dconf);
if (@lim) {
	print "<hr>\n";
	print "<h3>$text{'dir_header'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $l (@lim) {
		if ($i%3 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=33%>\n";
		&generate_icon("images/limit.gif",
			&text('virt_limit', $l->{'value'}),
			"limit_index.cgi?limit=".&indexof($l, @$dconf).
			"&virt=$in{'virt'}&anon=$in{'anon'}&idx=$in{'idx'}");
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%></td>\n"; }
	print "</table>\n";
	}

print "<form action=create_limit.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_addlimit'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_cmds'}</b></td>\n";
print "<td><input name=cmd size=20>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
if ($in{'anon'}) {
	&footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}
else {
	&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}

 07070100076203000081e40000000000000002000000013d1fe2e50000048f000000200000000000000000000000000000001c00000003reloc/proftpd/edit_anon.cgi   #!/usr/local/bin/perl
# edit_anon.cgi
# Display a form for editing some kind of anonymous option

require './proftpd-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
$anon = &find_directive_struct("Anonymous", $vconf);
$conf = $anon->{'members'};
@dirs = &editable_directives($in{'type'}, 'anon');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>", $in{'virt'} eq '' ? $text{'anon_header4'} :
      &text('anon_header3', $v->{'value'}),"</font></center>\n";
print "<hr>\n";

print "<form action=save_anon.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('virt_header3', $text{"type_$in{'type'}"}),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
	"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
	"", $text{'index_return'});

 07070100076204000081e40000000000000002000000013d1fe2e5000007a3000000200000000000000000000000000000001d00000003reloc/proftpd/edit_aserv.cgi  #!/usr/local/bin/perl
# edit_aserv.cgi
# Edit <Anonymous> section details

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
if (!$in{'init'}) {
	$anon = &find_directive_struct("Anonymous", $conf);
	&header($text{'aserv_title'}, "");
	}
else {
	&header($text{'aserv_create'}, "");
	}
print "<center><font size=+2>", $in{'virt'} eq '' ? $text{'anon_header2'} :
      &text('anon_header1', $v->{'value'}),"</font></center>\n";
print "<hr>\n";

print $text{'aserv_desc'},"<br>\n" if ($in{'init'});

$user = &find_directive("User", $anon->{'members'});
$group = &find_directive("Group", $anon->{'members'});

print "<form action=save_aserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=init value='$in{'init'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'aserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'aserv_root'}</b></td>\n";
printf "<td><input name=root size=40 value='%s'> %s</td> </tr>\n",
	$anon->{'value'}, &file_chooser_button("root", 1);

print "<tr> <td><b>$text{'aserv_user'}</b></td>\n";
print "<td>",&opt_input($user, "User", $text{'default'}, 13),
      "</td> </tr>\n";

print "<tr> <td><b>$text{'aserv_group'}</b></td>\n";
print "<td>",&opt_input($group, "Group", $text{'default'}, 13),
      "</td> </tr>\n";

print "<tr> <td colspan=2 align=right>\n";
if ($in{'init'}) {
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
else {
	print "<input type=submit value=\"$text{'save'}\">\n";
	}
print "</td> </tr>\n";

print "</table> </td></tr></table><p>\n";
print "</form>\n";

print "<hr>\n";
if ($in{'init'}) {
	&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}
else {
	&footer("anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}

 07070100076205000081e40000000000000002000000013d1fe2e5000006e8000000200000000000000000000000000000001b00000003reloc/proftpd/edit_dir.cgi    #!/usr/local/bin/perl
# edit_virt.cgi
# Display a form for editing some kind of per-directory options

require './proftpd-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $vconf);
	$vconf = $anon->{'members'};
	}
$d = $vconf->[$in{'idx'}];
$conf = $d->{'members'};
@dirs = &editable_directives($in{'type'}, 'directory');
&header($text{"type_$in{'type'}"}, "");
$dn = $d->{'words'}->[0];
print "<center><font size=+2>",$in{'anon'} ? &text('dir_header4', $dn) :
	$in{'virt'} ? &text('dir_header1', $dn, $v->{'words'}->[0]) :
	&text('dir_header2', $dn),"</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_dir.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=idx value=$in{'idx'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<input type=hidden name=anon value=$in{'anon'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('dir_header3', $text{"type_$in{'type'}"},
			       $d->{'words'}->[0]),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
if ($in{'anon'}) {
	&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{anon}",
		$text{'dir_return'},
		"anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}
else {
	&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}",
		$text{'dir_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}


07070100076206000081e40000000000000002000000013d1fe2e5000006ed000000200000000000000000000000000000001d00000003reloc/proftpd/edit_dserv.cgi  #!/usr/local/bin/perl
# edit_dserv.cgi
# Edit <Directory> section details

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $conf);
	$conf = $anon->{'members'};
	}
$d = $conf->[$in{'idx'}];
$dn = $d->{'words'}->[0];
$dconf = $d->{'members'};
&header($text{'dserv_title'}, "");
print "<center><font size=+2>",$in{'virt'} ?
	&text('dir_header1', $dn, $v->{'words'}->[0]) :
	&text('dir_header2', $dn),"</font></center>\n";
print "<hr>\n";

print "<form action=save_dserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'dserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'dserv_dir'}</b></td>\n";
printf "<td><input name=dir size=40 value='%s'> %s</td> </tr>\n",
	$d->{'value'}, &file_chooser_button("dir", 1);

print "<tr> <td colspan=2 align=right>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit name=delete value=\"$text{'dserv_delete'}\">\n";
print "</td> </tr>\n";

print "</table> </td></tr></table><p>\n";
print "</form>\n";

print "<hr>\n";
if ($in{'anon'}) {
	&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{anon}",
		$text{'dir_return'},
		"anon_index.cgi?virt=$in{'virt'}", $text{'anon_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}
else {
	&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}",
		$text{'dir_return'},
		"virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
		"", $text{'index_return'});
	}

   07070100076207000081e40000000000000002000000013d1fe2e500000455000000200000000000000000000000000000002100000003reloc/proftpd/edit_ftpaccess.cgi  #!/usr/local/bin/perl
# edit_ftpaccess.cgi
# Display a form for editing some kind of per-directory options file

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_ftpaccess_config($in{'file'});
@dirs = &editable_directives($in{'type'}, 'ftpaccess');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>",&text('ftpindex_header', "<tt>".&html_escape($in{'file'})."</tt>"),"</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_ftpaccess.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=file value=$in{'file'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('ftpindex_header2', $text{"type_$in{'type'}"},
			       "<tt>$in{'file'}</tt>"),"</td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("ftpaccess_index.cgi?file=$in{'file'}", $text{'ftpindex_return'},
	"ftpaccess.cgi", $text{'ftpaccess_return'},
	"", $text{'index_return'});


   07070100076208000081e40000000000000002000000013d1fe2e500000238000000200000000000000000000000000000002000000003reloc/proftpd/edit_ftpusers.cgi   #!/usr/local/bin/perl
# edit_ftpusers.cgi
# Lists users to be denied access

require './proftpd-lib.pl';
&header($text{'ftpusers_title'}, "");
print "<hr>\n";

print &text('ftpusers_desc', "<tt>$config{'ftpusers'}</tt>"),"<p>\n";
print "<form action=save_ftpusers.cgi method=post>\n";
print "<textarea wrap=on rows=5 cols=80 name=users>";
open(USERS, $config{'ftpusers'});
while(<USERS>) {
	s/\s+/ /g;
	print;
	}
close(USERS);
print "</textarea><br>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100076209000081e40000000000000002000000013d1fe2e5000003d4000000200000000000000000000000000000001e00000003reloc/proftpd/edit_global.cgi #!/usr/local/bin/perl
# edit_global.cgi
# Display a form for editing some kind of global options

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
$global = &find_directive_struct("Global", $conf);
if ($global) {
	$gconf = $global->{'members'};
	}
&header($text{"type_$in{'type'}"}, "");
print "<hr>\n";

print "<form method=post action=save_global.cgi>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",$text{"type_$in{'type'}"},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
@dirs = &editable_directives($in{'type'}, 'root');
&generate_inputs(\@dirs, $conf);
@gdirs = &editable_directives($in{'type'}, 'global');
if (@dirs && @gdirs) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	}
&generate_inputs(\@gdirs, $gconf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


0707010007620a000081e40000000000000002000000013d1fe2e500000c85000000200000000000000000000000000000001d00000003reloc/proftpd/edit_limit.cgi  #!/usr/local/bin/perl
# edit_limit.cgi
# Display a form for editing some kind of limit section options

require './proftpd-lib.pl';
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$dir = $conf->[$in{'idx'}];
		$conf = $dir->{'members'};
		}
	}
$l = $conf->[$in{'limit'}];
$conf = $l->{'members'};
$ln = $l->{'value'};

@dirs = &editable_directives($in{'type'}, 'limit');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>",
	$in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
	$dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) :
	$in{'anon'} ? &text('limit_header5', $ln) :
	$in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) :
	&text('limit_header2', $ln),"</font></center>\n";
print "<hr>\n";

print "<form method=post action=save_limit.cgi method=post>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=limit value='$in{'limit'}'>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('limit_header3', $text{"type_$in{'type'}"},
			       $l->{'value'}),"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
if ($in{'file'}) {
	&footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}",
		$text{'limit_return'},
		"ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'},
		"ftpaccess.cgi", $text{'ftpaccess_return'},
		"", $text{'index_return'});
	}
elsif ($in{'idx'} eq '') {
	if ($in{'anon'}) {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&anon=$in{'anon'}",
			$text{'limit_return'},
			"anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}",
			$text{'limit_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}
else {
	if ($in{'anon'}) {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}&anon=$in{'anon'}",
			$text{'limit_return'},
			"dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}",
			$text{'limit_return'},
			"dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}

   0707010007620b000081e40000000000000002000000013d1fe2e500000e1b000000200000000000000000000000000000001d00000003reloc/proftpd/edit_lserv.cgi  #!/usr/local/bin/perl
# edit_dserv.cgi
# Edit <Limit> section details

require './proftpd-lib.pl';
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$dir = $conf->[$in{'idx'}];
		$conf = $dir->{'members'};
		}
	}
$l = $conf->[$in{'limit'}];
$ln = $l->{'value'};
&header($text{'lserv_title'}, "");
print "<center><font size=+2>",
	$in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
	$dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) :
	$in{'anon'} ? &text('limit_header5', $ln) :
	$in{'virt'} ? &text('limit_header1', $ln, $v->{'words'}->[0]) :
	&text('limit_header2', $ln),"</font></center>\n";
print "<hr>\n";

print "<form action=save_lserv.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=limit value='$in{'limit'}'>\n";
print "<input type=hidden name=anon value='$in{'anon'}'>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'lserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

map { $cmd{lc($_)}++ } @{$l->{'words'}};
print "<tr> <td valign=top><b>$text{'lserv_cmd'}</b></td>\n";
print "<td><select name=cmd multiple size=6 width=120>\n";
foreach $c ('cwd', 'mkd', 'rnfr', 'dele', 'rmd', 'retr') {
	printf "<option value=%s %s>%s\n",
		uc($c), $cmd{$c} ? "selected" : "", uc($c);
	}
print "</select><select name=cmd multiple size=6 width=120>\n";
foreach $c ('stor', 'site_chmod', 'read', 'write', 'dirs', 'all') {
	printf "<option value=%s %s>%s\n",
		uc($c), $cmd{$c} ? "selected" : "", uc($c);
	}
print "</select></td> </tr>\n";

print "<tr> <td colspan=2 align=right>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit name=delete value=\"$text{'lserv_delete'}\">\n";
print "</td> </tr>\n";

print "</table> </td></tr></table><p>\n";
print "</form>\n";

print "<hr>\n";
if ($in{'file'}) {
	&footer("limit_index.cgi?file=$in{'file'}&limit=$in{'limit'}",
		$text{'limit_return'},
		"ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'},
		"ftpaccess.cgi", $text{'ftpaccess_return'},
		"", $text{'index_return'});
	}
elsif ($in{'idx'} eq '') {
	if ($in{'anon'}) {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&anon=$in{'anon'}",
			$text{'limit_return'},
			"anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}",
			$text{'limit_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}
else {
	if ($in{'anon'}) {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}&anon=$in{'anon'}",
			$text{'limit_return'},
			"dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("limit_index.cgi?virt=$in{'virt'}&limit=$in{'limit'}&idx=$in{'idx'}",
			$text{'limit_return'},
			"dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}
 0707010007620c000081e40000000000000002000000013d1fe2e5000002e6000000200000000000000000000000000000001b00000003reloc/proftpd/edit_net.cgi    #!/usr/local/bin/perl
# edit_net.cgi
# Display networking options

require './proftpd-lib.pl';
&header($text{'net_title'}, "");
print "<hr>\n";
$conf = &get_config();

print "<form action=save_net.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'net_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &choice_input($text{'net_type'}, 'ServerType', $conf, 'inetd',
		    $text{'net_inetd'}, 'inetd',
		    $text{'net_stand'}, 'standalone');
print &text_input($text{'net_port'}, 'Port', $conf, '21', 6);
print "</tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100076265000081e40000000000000002000000013d1fe2e500000409000000200000000000000000000000000000001c00000003reloc/proftpd/edit_virt.cgi   #!/usr/local/bin/perl
# edit_virt.cgi
# Display a form for editing some kind of per-server options

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
@dirs = &editable_directives($in{'type'}, 'virtual');
&header($text{"type_$in{'type'}"}, "");
print "<center><font size=+2>", $in{'virt'} eq '' ? $text{'virt_header2'} :
      &text('virt_header1', $v->{'value'}),"</font></center>\n";
print "<hr>\n";

print "<form action=save_virt.cgi method=post>\n";
print "<input type=hidden name=type value=$in{'type'}>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('virt_header3', $text{"type_$in{'type'}"}),
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
&generate_inputs(\@dirs, $conf);
print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
	"", $text{'index_return'});


   07070100076266000081e40000000000000002000000013d1fe2e50000059c000000200000000000000000000000000000001d00000003reloc/proftpd/edit_vserv.cgi  #!/usr/local/bin/perl
# edit_vserv.cgi
# Edit <VirtualHost> section details

require './proftpd-lib.pl';
&ReadParse();
$vconf = &get_config()->[$in{'virt'}];
&header($text{'vserv_title'}, "");
print "<center><font size=+2>", &text('virt_header1', $vconf->{'value'}),
      "</font></center>\n";
print "<hr>\n";

$name = &find_directive("ServerName", $vconf->{'members'});
$port = &find_directive("Port", $vconf->{'members'});

print "<form action=save_vserv.cgi>\n";
print "<input type=hidden name=virt value=$in{'virt'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'vserv_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'vserv_addr'}</b></td>\n";
printf "<td><input name=addr size=30 value='%s'></td> </tr>\n",
	$vconf->{'value'};

print "<tr> <td><b>$text{'vserv_name'}</b></td>\n";
print "<td>",&opt_input($name, "ServerName", $text{'default'}, 30),
      "</td> </tr>\n";

print "<tr> <td><b>$text{'vserv_port'}</b></td>\n";
print "<td>",&opt_input($port, "Port", $text{'default'}, 6),
      "</td> </tr>\n";

print "<tr> <td colspan=2 align=right>\n";
print "<input type=submit value=\"$text{'save'}\">\n";
print "<input type=submit value=\"$text{'vserv_delete'}\" name=delete>\n";
print "</td> </tr>\n";

print "</table> </td></tr></table><p>\n";
print "</form>\n";

print "<hr>\n";
&footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'},
	"", $text{'index_return'});

07070100076267000081a40000000000000002000000013d1fe2e50000007e000000200000000000000000000000000000002000000003reloc/proftpd/feedback_files.pl   
do 'proftpd-lib.pl';

sub feedback_files
{
local $conf = &get_config();
return &unique(map { $_->{'file'} } @$conf);

}

1;

  07070100076268000081e40000000000000002000000013d1fe2e500000406000000200000000000000000000000000000002100000003reloc/proftpd/find_ftpaccess.cgi  #!/usr/local/bin/perl
# find_ftpaccess.cgi
# Finds all per-directory options files under the all the document roots

require './proftpd-lib.pl';
&ReadParse();
@rv = grep { -r $_ } @ftpaccess_files;
&error_setup($text{'find_err'});

if ($in{'from'}) {
	# Look under the given directory
	@dirs = ( $in{'dir'} );
	}
else {
	# Look in Anonymous sections
	$conf = &get_config();
	$anon = &find_directive("Anonymous", $conf);
	push(@dirs, $anon) if ($anon);
	foreach $v (&find_directive_struct("VirtualHost", $conf)) {
		$anon = &find_directive("Anonymous", $v->{'members'});
		push(@dirs, $anon) if ($anon);
		}
	&error($text{'find_eanon'}) if (!@dirs);
	}

foreach $d (@dirs) {
	if ($d =~ /^~(\S+)$/) {
		local @u = getpwnam($1);
		$d = $u[7];
		next if (!$u[7]);
		}
	open(FIND, "find '$d' -name .ftpaccess -print |");
	while(<FIND>) {
		s/\r|\n//g;
		push(@rv, $_);
		}
	close(FIND);
	}

# save results
$site{'ftpaccess'} = join(' ', &unique(@rv));
&write_file("$module_config_directory/site", \%site);
&redirect("ftpaccess.cgi");

  07070100076269000081e40000000000000002000000013d1fe2e500000554000000200000000000000000000000000000001c00000003reloc/proftpd/ftpaccess.cgi   #!/usr/local/bin/perl
# ftpaccess.cgi
# Display a list of per-directory config files

require './proftpd-lib.pl';
&header($text{'ftpaccess_title'}, "");
print "<hr>\n";

print "$text{'ftpaccess_desc'} <p>\n";
if (@ftpaccess_files) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'ftpaccess_title'}</b></td> </tr>\n";
	print "<tr $cb><td><table width=100%>\n";
	for($i=0; $i<@ftpaccess_files; $i++) {
		if ($i%2 == 0) { print "<tr>\n"; }
		print "<td width=50%><a href=\"ftpaccess_index.cgi?file=",
		      &urlize($ftpaccess_files[$i]),"\">",
		      &html_escape($ftpaccess_files[$i]),"</a></td>\n";
		if ($i%2 == 1) { print "</tr>\n"; }
		}
	print "</table></td></tr></table><p>\n";
	}
print "<form action=create_ftpaccess.cgi>\n";
print "<input type=submit value=\"$text{'ftpaccess_create'}\">\n";
print "<input name=file size=30>\n",
	&file_chooser_button("file", 0, 0);
print "</form>\n";

print "<form action=find_ftpaccess.cgi>\n";
print "<input type=submit value=\"$text{'ftpaccess_find'}\">\n";
print "<input type=radio name=from value=0 checked> ",
      "$text{'ftpaccess_auto'}&nbsp;&nbsp;\n";
print "<input type=radio name=from value=1>\n";
print "$text{'ftpaccess_from'}\n";
print "<input name=dir size=30 value=/>\n",
	&file_chooser_button("dir", 1, 1);
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010007626a000081e40000000000000002000000013d1fe2e50000073a000000200000000000000000000000000000002200000003reloc/proftpd/ftpaccess_index.cgi #!/usr/local/bin/perl
# ftpaccess_index.cgi
# Display a menu of icons for a per-directory options file

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_ftpaccess_config($in{'file'});
&header($text{'ftpindex_title'}, "",
	undef, undef, undef, undef, "<a href=\"delete_ftpaccess.cgi?file=".
	&urlize($in{'file'})."\">$text{'ftpindex_delete'}</a>");
print "<center><font size=+2><tt>",&html_escape($in{'file'}),
      "</tt></font></center>\n";
print "<hr>\n";
print "<h3>$text{'ftpindex_opts'}</h3>\n";
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'ftpindex_edit'},
	     "link" => "manual_form.cgi?file=$in{'file'}" };
&config_icons("ftpaccess", "edit_ftpaccess.cgi?file=$in{'file'}&", $ed_icon);

@limit = ( &find_directive_struct("Limit", $conf) );
if (@limit) {
	# Limit sub-directives
	print "<hr>\n";
	print "<h3>$text{'ftpindex_limit'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $l (@limit) {
		if ($i%3 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=33%>\n";
		&generate_icon("images/limit.gif", $l->{'value'},
		       	"limit_index.cgi?limit=".&indexof($l, @$conf).
			"&file=$in{'file'}");
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%><br></td>\n"; }
	print "</table><p>\n";
	}

print "<form action=create_limit.cgi>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'ftpindex_addlimit'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'ftpindex_cmds'}</b></td>\n";
print "<td><input name=cmd size=20>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "<hr>\n";
&footer("ftpaccess.cgi", $text{'ftpaccess_return'},
	"", $text{'index_return'});


  0707010007626b000081e40000000000000002000000013d1fe2e500001c18000000200000000000000000000000000000001800000003reloc/proftpd/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display the icons for various types of proftpd config options

require './proftpd-lib.pl';

# Check if proftpd is installed
@st = stat($config{'proftpd_path'});
if (!@st) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("proftpd", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eproftpd', "<tt>$config{'proftpd_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if the config file exists
@conf = &get_config();
if (!@conf) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("proftpd", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_econf', "<tt>$config{'proftpd_conf'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if the executable has changed ..
if ($site{'size'} != $st[7]) {
	# Check if it really is proftpd and the right version
	$site{'size'} = $st[7];
	$out = `$config{'proftpd_path'} -v 2>&1`;
	if ($out !~ /ProFTPD\s+Version\s+(\d+)\.([0-9\.]+)/i) {
		&header($text{'index_title'}, "", undef, 1, 1, 0,
			&help_search_link("proftpd", "man", "doc", "google"));
		print "<hr>\n";
		print "<p>",&text('index_eproftpd2',
				  "<tt>$config{'proftpd_path'}</tt>",
				  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}
	local ($v1, $v2) = ($1, $2);
	$v2 =~ s/\.//g;
	$site{'version'} = "$v1.$v2";
	if ($site{'version'} < 0.99) {
		&header($text{'index_title'}, "", undef, 1, 1, 0,
			&help_search_link("proftpd", "man", "doc", "google"));
		print "<hr>\n";
		print "<p>",&text('index_eversion',
				  "<tt>$config{'proftpd_path'}</tt>",
				  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}

	# Get the list of modules
	local @mods;
	open(MODS, "$config{'proftpd_path'} -l |");
	while(<MODS>) {
		s/\r|\n//g;
		if (/^\s*(\S+)\.c$/) {
			push(@mods, $1);
			}
		}
	close(MODS);
	$site{'modules'} = join(" ", @mods);
	&write_file("$module_config_directory/site", \%site);
	}

&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("proftpd", "man", "doc", "google"),
	undef, undef, &text('index_version', $site{'version'}));
print "<hr>\n";

# Display global category icons
print "<h3>$text{'index_global'}</h3>\n";
$ft_icon = { "icon" => "images/dir.gif",
	     "name" => $text{'ftpaccess_title'},
	     "link" => "ftpaccess.cgi" };
$us_icon = { "icon" => "images/ftpusers.gif",
	     "name" => $text{'ftpusers_title'},
	     "link" => "edit_ftpusers.cgi" };
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'manual_configs'},
	     "link" => "allmanual_form.cgi" };
&config_icons("root global", "edit_global.cgi?", $ft_icon, $us_icon, $ed_icon);

# Start virtual server list with default
$conf = &get_config();
push(@vname, $text{'index_defserv'});
push(@vlink, "virt_index.cgi");
push(@vdesc, $text{'index_defdesc'});
push(@vaddr, $text{'index_any'});
push(@vserv, &def(&find_directive("ServerName", $conf), $text{'default'}));

# Add other virtual servers
@virt = &find_directive_struct("VirtualHost", $conf);
foreach $v (@virt) {
	$vm = $v->{'members'};
	push(@vname, $text{'index_virt'});
	push(@vlink, "virt_index.cgi?virt=".&indexof($v, @$conf));
	push(@vaddr, $v->{'value'});
	$sname = &find_directive("ServerName", $vm);
	local $ip = &to_ipaddress($v->{'value'});
	push(@vdesc, &text('index_vdesc', $ip ? $ip : $text{'index_eip'}));
	push(@vserv, &def(&find_vdirective("ServerName", $vm, $conf),
			  $text{'index_auto'}));
	}

# Show virtual servers
print "<hr>\n";
print "<h3>$text{'index_virts'}</h3>\n";

if ($config{'show_list'} && scalar(@vname)) {
	# as list for people with lots of servers
	print "<table width=100% border=1>\n";
	print "<tr $tb> <td><b>$text{'index_type'}</b></td> ",
	      "<td><b>$text{'index_addr'}</b></td> ",
	      "<td><b>$text{'index_name'}</b></td> </tr>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr $cb>\n";
		print "<td><a href=\"$vlink[$i]\">",
		      &html_escape($vname[$i]),"</a></td>\n";
		print "<td>",&html_escape($vaddr[$i]),"</td>\n";
		print "<td>",&html_escape($vserv[$i]),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	# as icons for niceness
	print "<table width=100% cellpadding=5>\n";
	for($i=0; $i<@vname; $i++) {
		print "<tr> <td valign=top align=center nowrap>";
		&generate_icon("images/virt.gif", &html_escape($vname[$i]),
			       $vlink[$i]);
		print "</td> <td valign=top>\n";
		print &html_escape($vdesc[$i]),"<br>\n";
		print "<table width=100%><tr>\n";
		print "<td width=30%><b>$text{'index_addr'}</b> ",
		      &html_escape($vaddr[$i]),"</td>\n";
		print "<td width=70%><b>$text{'index_name'}</b> ",
		      &html_escape($vserv[$i]),"</td></tr>\n";
		print "</table></td> </tr>\n";
		}
	print "</table>\n";
	}

print "<form action=create_virt.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'index_create'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'index_addr'}</b></td>\n";
print "<td><input name=addr size=25></td> </tr>\n";
print "<tr> <td><b>$text{'index_port'}</b></td>\n";
print "<td>",&opt_input(undef, "Port", $text{'default'}, 6),"</td> </tr>\n";
print "<tr> <td><b>$text{'index_name'}</b></td>\n";
print "<td>",&opt_input(undef, "ServerName", $text{'default'}, 25);
print "&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table>\n";
print "</form>\n";

if (&foreign_check('inetd')) {
	# Check if proftpd is in inetd
	&foreign_require('inetd', 'inetd-lib.pl');
	foreach $i (&foreign_call('inetd', 'list_inets')) {
		if ($i->[1] && $i->[3] eq 'ftp') {
			$inet = $i;
			last;
			}
		}
	$inet_mod = 'inetd';
	}
elsif (&foreign_check('xinetd')) {
	# Check if proftpd is in xinetd
	&foreign_require('xinetd', 'xinetd-lib.pl');
	foreach $xi (&foreign_call("xinetd", "get_xinetd_config")) {
		if ($xi->{'quick'}->{'disable'}->[0] ne 'yes' &&
		    $xi->{'value'} eq 'ftp') {
			$inet = $xi;
			last;
			}
		}
	$inet_mod = 'xinetd';
	}
else {
	# Not supported on this OS .. assume so
	$inet = 1;
	}

if (!$inet) {
	# Get the FTP server pid
	if (open(PID, $config{'pid_file'})) {
		chop($pid = <PID>);
		close(PID);
		}
	$pid = undef if (!kill(0, $pid));
	}

if (!$inet && $pid) {
	print "<hr>\n";
	print "<form action=apply.cgi>\n";
	print "<input type=hidden name=pid value='$pid'>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_apply'}\"></td>\n";
	print "<td>$text{'index_applymsg'}</td>\n";
	print "</tr></table></form>\n";
	}
elsif (!$inet && !$pid) {
	print "<hr>\n";
	print "<form action=start.cgi>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_start'}\"></td>\n";
	if ($inet_mod) {
		print "<td>",&text('index_startmsg', "/$inet_mod/"),"</td>\n";
		}
	else {
		print "<td>$text{'index_startmsg2'}</td>\n";
		}
	print "</tr></table></form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

07070100078f06000041ed0000000000000001000000023d1ffb1500000000000000200000000000000000000000000000001300000003reloc/proftpd/lang    07070100078f07000081a40000000000000002000000013d1fe2e500004a1e000000200000000000000000000000000000001600000003reloc/proftpd/lang/ca index_title=Servidor ProFTPD
index_eproftpd=No s'ha trobat el servidor ProFTPD $1. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_eproftpd2=No sembla que el programa $1 sigui el servidor ProFTPD. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_eversion=La versió del servidor ProFTPD $1 no està suportada per Webmin. Només estan suportades les versions 0.99 i posteriors.
index_econf=El fitxer de configuració de ProFTPD $1 no existeix o no és vàlid. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplicar la configuració actual enviant un senyal SIGHUP al procés ProFTPD en execució.
index_start=Engega el Servidor
index_startmsg=Fes clic sobre aquest botó per engegar el servidor FTP amb la configuració actual. També pots fer que el servidor s'engegui automàticament quan calgui amb el mòdul <a href='$1'>Serveis d'Internet</a>.
index_startmsg2=Fes clic sobre aquest botó per engegar el servidor FTP amb la configuració actual. També pots fer que el servidor s'engegui automàticament quan calgui amb <i>inetd</i> o algun programa equivalent.
index_return=al menú principal
index_virts=Servidors Virtuals
index_virt=Servidors Virtuals
index_type=Tipus de servidor
index_addr=Adreces
index_name=Nom del servidor
index_port=Port FTP
index_defserv=Servidor per defecte
index_defdesc=gestiona qualsevol connexió FTP no gestionada pels servidors virtuals.
index_any=Qualsevol
index_vdesc=gestiona totes les connexions de $1
index_eip=&lt;Desconegut&gt;
index_global=Configuració Global
index_create=Crea un servidor virtual
index_version=Versió ProFTPd $1

efailed=No he pogut desar $1

type_0=Opcions de xarxa
type_1=Opcions de Registre
type_2=Fitxers i Directoris
type_3=Control d'Accés
type_4=Miscel·lània
type_5=Usuari i Grup
type_6=Autenticació

virt_title=Opcions del Servidor Virtual
virt_header1=De $1
virt_header2=Del servidor per defecte
virt_header3=opcions $1
virt_anon=FTP anònim
virt_header=Opcions per directori i per ordre
virt_dir=Directori $1
virt_limit=Ordres $1
virt_adddir=Afegeix opcions per directori a...
virt_addlimit=Afegeix opcions per ordre a...
virt_path=Camí del directori
virt_cmds=Ordres FTP
virt_return=al servidor virtual
virt_virt=Configura Servidor Virtual
virt_edit=Edita les Directives

vserv_title=Configuració de Servidor Virtual
vserv_addr=Adreça
vserv_name=Nom del servidor
vserv_port=Port FTP
vserv_delete=Suprimeix el servidor virtual
vserv_eaddr=Hi falta l'adreça o bé és invàlida
vserv_eport=Hi falta el número del port o bé és invàlid
vserv_ename=Hi falta el nom del servidor

anon_title=Opcions de FTP Anònim
anon_header1=Del servidor virtual $1
anon_header2=Del servidor per defecte
anon_anon=Configura FTP Anònim
anon_return=a les opcions de FTP anònim
anon_header3=Del FTP anònim del servidor virtual $1
anon_header4=Del FTP anònim del servidor per defecte

aserv_title=Configuració del FTP Anònim
aserv_create=Configura el FTP Anònim
aserv_root=Directori <i>chroot</i>
aserv_user=Accedeix els fitxers com a usuari
aserv_group=Accedeix els fitxers com a grup
aserv_err=No he pogut desar el FTP anònim
aserv_eroot=Hi falta el directori <i>chroot</i> o bé és invàlid
aserv_euser=Hi falta l'usuari Unix o bé és invàlid
aserv_egroup=Hi falta el grup Unix o bé és invàlid
aserv_desc=Encara no s'ha configurat l'FTP anònim d'aquest servidor virtual. Fes servir aquest formulari per configurar les opcions inicials.

dir_title=Opcions per Directori
dir_header2=Del directori $1 del servidor per defecte
dir_header1=Del directori $1 del servidor virtual $2
dir_edit=Edita les Directives
dir_return=a les opcions per directori
dir_header3=opcions $1 de $2
dir_header=Opcions per ordre
dir_dir=Configura el Directori
dir_header4=Del directori $1 de l'FTP anònim

manual_title=Edició de Directives
manual_header=Fes servir la caixa de text de sota per editar manualment les directives ProFTPD de $1 que s'apliquen a aquest servidor virtual, directori o ordres.

limit_title=Opcions per Ordre
limit_header4=De les ordres $1 del directori $2
limit_header2=De les ordres $1 del servidor per defecte
limit_header1=De les ordres $1 del servidor virtual $2
limit_edit=Edita les Directives
limit_limit=Configura les Ordres
limit_header3=opcions $1 de les ordres $2
limit_return=a les opcions per ordre
limit_header5=de les ordres $1 de l'FTP anònim
limit_header6=de les ordres $1 del fitxer $2

lserv_title=Configuració d'Ordres
lserv_cmd=Ordres FTP
lserv_delete=Suprimeix la configuració del les ordres
lserv_err=No he pogut desar les ordres
lserv_ecmd=No has seleccionat cap ordre

dserv_title=Configuració de Directori
dserv_dir=Camí del directori
dserv_err=No he pogut desar el directori
dserv_edir=Hi falta el camí del directori
dserv_delete=Suprimeix la configuració del directori

mod_core_type=Tipus de servidor
mod_core_inetd=Executa'l des d'Inetd
mod_core_stand=Dimoni independent
mod_core_port=Escolta el port
mod_core_eport=Hi falta el número del port o bé és invàlid
mod_core_servername=Nom del servidor mostrat als usuaris
mod_core_eservername=Hi falta el nom del servidor
mod_core_defaultserver=Fes servir aquest servidor virtual per defecte
mod_core_instances=Nombre màxim de sessions simultànies
mod_core_einstances=Hi falta el nombre de sessions o bé és invàlid
mod_core_umask=<i>Umask</i> nova
mod_core_eumask=Hi falta l'<i>umask</i> o bé és invàlida
mod_core_user=Executa com a usuari Unix
mod_core_uname=Nom de l'usuari
mod_core_uid=UID
mod_core_group=Executa com a grup Unix
mod_core_gname=Nom del grup 
mod_core_gid=GID
mod_core_tlog=Fitxer de registre de transferències FTP
mod_core_etlog=Hi falta el fitxer de registres o bé és invàlid
mod_core_accessdeny=Missatge de connexió fallida
mod_core_accessgrant=Missatge de connexió reeixida
mod_core_adall=Política de control d'accés
mod_core_addefault=Igual que el pare
mod_core_allowall=Permet tots els clients
mod_core_denyall=Denega tots els clients
mod_core_filter=Permet expressions regulars en ordres FTP
mod_core_foreign=Permet transferències de dades externes
mod_core_overwrite=Permet la reescriptura de fitxers
mod_core_restart=Permet el reinici de descàrregues
mod_core_restart2=Permet càrregues reiniciades
mod_core_require=Exigeix contrasenya per FTP anònim
mod_core_anongroup=Grups els membres dels quals cal tractar com a usuari anònim
mod_core_eanongroup=No has introduït cap grup anònim
mod_core_authalias=Permet la connexió només als usuaris amb àlies
mod_core_authusingalias=Fes servir la contrasenya de l'àlies per a la connexió anònima
mod_core_bind=Lliga a l'adreça
mod_core_bind_all=Totes les adreces
mod_core_ebind=Hi falta el lligam d'adreça o bé és invàlid
mod_core_cdpath=Curtcircuita els directoris CD
mod_core_classes=Activa les classes per al control d'accés
mod_core_cls=Classes de control d'accés
mod_core_cname=Nom de la classe
mod_core_ctype=Tipus i valor
mod_core_climit=Connexions màximes
mod_core_cregex=Patró de coincidència del nom de host client
mod_core_cip=Xarxa IP client/CIDR
mod_core_eclimit=Hi falta el nombre màxim de connexions o bé és invàlid
mod_core_ecregex=Hi falta el patró del nom de host client
mod_core_ecip=Hi falta la Xarxa IP client/CIDR
mod_core_buffer=Llargària màxima de l'ordre FTP
mod_core_ebuffer=Hi falta la llargària màxima de l'ordre FTP o bé és invàlida
mod_core_transfer=Mode de transferència per defecte
mod_core_binary=Binari
mod_core_ascii=ASCII
mod_core_defer=Difereix els missatges de benvinguda fins després d'haver-se connectat
mod_core_aborted=Suprimeix les càrregues avortades
mod_core_dfilter=Expressions regulars d'ordres FTP denegades
mod_core_display=Fitxer de missatge previ a la connexió
mod_core_none=Cap
mod_core_edisplay=Hi falta el fitxer de missatge previ a la connexió
mod_core_firstcd=Nom del fitxer <i>README</i> del directori
mod_core_efirstcd=Hi falta el nom del fitxer <i>README</i> del directori
mod_core_goaway=Fitxer de missatge de connexions excessives
mod_core_egoaway=Hi falta el fitxer de missatge de connexions excessives
mod_core_login=Fitxer de missatge posterior a la connexió
mod_core_elogin=Hi falta el fitxer de missatge posterior a la connexió
mod_core_quit=Fitxer de missatge de desconnexió
mod_core_equit=Hi falta el fitxer de missatge de desconnexió
mod_core_gowner=Grup propietari dels fitxers pujats
mod_core_egowner=Hi falta el grup propietari dels fitxers pujats
mod_core_grouppassword=Contrasenyes de grups
mod_core_gpname=Grup Unix
mod_core_gppass=Contrasenya
mod_core_gpdef=Deixa-ho tal com està
mod_core_egpname=Nom de grup Unix invàlid
mod_core_hstor=Amaga els fitxers pujats
mod_core_hgroup=Amaga els fitxers propietat dels grups
mod_core_ehgroup=Nom de grup invàlid
mod_core_hnoaccess=Amaga els fitxers que no puguin ser accedits
mod_core_huser=Amaga els fitxers propietat dels usuaris
mod_core_ehuser=Nom d'usuari invàlid
mod_core_ident=Consulta la identitat remota del nom d'usuari
mod_core_ihidden=Fes que els fitxers amagats siguin inaccessibles
mod_core_masq=Mascarada com a adreça
mod_core_masq_def=Fes servir l'adreça real
mod_core_emasq=Hi falta l'adreça de mascarada o bé és invàlida
mod_core_maxc=Màxim nombre de connexions simultànies
mod_core_maxc1=Il·limitat
mod_core_maxcmsg=Missatge d'error de connexió
mod_core_emaxc=Hi falta el nombre màxim de connexions simultànies o bé és invàlid
mod_core_maxch=Màxim nombre de connexions simultànies per host
mod_core_maxcu=Màxim nombre de connexions simultànies per usuari
mod_core_logins=Màxim nombre de connexions fallides per sessió
mod_core_elogins=Hi falta el nombre de connexions fallides o bé és invàlid
mod_core_rfc2228=Envia respostes estil RFC2228
mod_core_pasv=Rang del port PASV
mod_core_pasvr=Mín - màx
mod_core_epasv=Hi falta el número del port PASV o bé és invàlid
mod_core_pathallow=Expressió regular de fitxers pujats permesos
mod_core_any=Qualsevol
mod_core_pathdeny=Expressió regular de fitxers pujats denegats
mod_core_pidfile=Escriu el PID al fitxer
mod_core_epidfile=Hi falta el fitxer de PID o bé és invàlid
mod_core_shell=Permet només la connexió d'usuaris amb shell vàlida
mod_core_cpulimit=Límits de recursos de la CPU
mod_core_ecpulimit=Límits de recursos de la CPU
mod_core_memlimit=Límits de recursos de memòria
mod_core_ememlimit=límit de recursos de memòria
mod_core_filelimit=Límits de fitxers oberts
mod_core_efilelimit=límit de fitxers oberts
mod_core_soft=Límit del programari:
mod_core_hard=Límit del maquinari:
mod_core_max=Màxim
mod_core_esoft=Hi falta el $1 del programari o bé és invàlid
mod_core_ehard=Hi falta el $1 del maquinari o bé és invàlid
mod_core_score=Camí del directori de puntuacions
mod_core_escore=Hi falta el directori de puntuacions o bé és invàlid
mod_core_admin=Adreça de correu de l'administrador del servidor
mod_core_eadmin=Hi falta l'adreça de correu o bé és invàlida
mod_core_identmsg=Missatge de connexió del client
mod_core_identmsg_def=Mostra el missatge per defecte
mod_core_links=Mostra els enllaços simbòlics
mod_core_tight=Lliga només els ports necessaris
mod_core_facility=Utilitat de registres del sistema
mod_core_level=Nivell de registres del sistema
mod_core_backlog=Llargària de la cua TCP <i>backlog</i>
mod_core_ebacklog=Hi falta la llargària de la cua <i>backlog</i> o bé és invàlida
mod_core_nodelay=Fes servir l'opció de sòcol TCP_NODELAY
mod_core_rwindow=Mida de la finestra de recepció TCP
mod_core_erwindow=Hi falta la mida de la finestra de recepció o bé és invàlida
mod_core_swindow=Mida de la finestra de tramesa TCP
mod_core_eswindow=Hi falta la mida de la finestra de tramesa o bé és invàlida
mod_core_gmt=Mostra l'hora GMT
mod_core_tidle=Temps d'inacció abans de desconnectar
mod_core_etidle=Hi falta el temps d'inacció o bé és invàlid
mod_core_secs=segons
mod_core_tlogin=Temps d'espera de l'autenticació
mod_core_etlogin=Hi falta el temps d'espera de l'autenticació o bé és invàlid
mod_core_ttransfer=Temps d'espera de la primera transferència
mod_core_ettransfer=Hi falta el temps d'espera de la primera transferència o bé és invàlid
mod_core_tstalled=Temps d'espera de les transferències de dades aturades
mod_core_etstalled=Hi falta el temps d'espera de les transferències de dades aturades o bé és invàlid
mod_core_ftpusers=Denega els usuaris del fitxer /etc/ftpusers
mod_core_hostsallow=Fitxer de hosts permesos
mod_core_ehostsallow=El fitxer de hosts permesos no existeix
mod_core_hostsdeny=Fitxer de hosts denegats
mod_core_ehostsdeny=El fitxer de hosts denegats no existeix
mod_core_revdns=Fes consultes inverses de les adreces client
mod_core_userdir=Fes <i>chroot</i> al subdirectori de l'usuari
mod_core_ualias=Àlies d'usuari
mod_core_afrom=Nom d'usuari
mod_core_ato=Nom real de l'usuari
mod_core_eafrom=Nom d'usuari invàlid a l'àlies
mod_core_eato=Hi falta el nom d'usuari real o bé és invàlid
mod_core_uowner=Propietari dels fitxers pujats
mod_core_euowner=Hi falta el propietari dels fitxers pujats o bé és invàlid
mod_core_userpassword=Ignorància de les contrasenyes d'usuaris
mod_core_upname=Usuari Unix
mod_core_uppass=Contrasenya
mod_core_updef=Deixa-ho tal com està
mod_core_eupname=Usuari Unix invàlid
mod_core_wtmp=Enregistra les connexions a wtmp
mod_core_allow_deny=Restringeix l'accés
mod_core_allowdeny=Permet-lo i denega'l després
mod_core_denyallow=Denega'l i permet-lo després
mod_core_allow=Permet
mod_core_deny=Denega
mod_core_mode_0=Tots
mod_core_mode_1=Cap
mod_core_mode_2=Adreça IP
mod_core_mode_3=Xarxa
mod_core_mode_4=Nom de host
mod_core_cond=Condició
mod_core_action=Acció
mod_core_agroup=Permet només els grups
mod_core_auser=Permet només els usuaris
mod_core_all=Tots
mod_core_dgroup=Denega els grups
mod_core_duser=Denega els usuaris
mod_core_eip='$1' no és una adreça IP vàlida
mod_core_enet='$1' no és una adreça de xarxa vàlida
mod_core_ehost='$1' no és un nom de host vàlid

mod_ls_fakegroup=Simula el grup en els llistats de directori
mod_ls_fakeuser=Simula l'usuari en els llistats de directori
mod_ls_fakemode=Simula els permisos en els llistats de directoris
mod_ls_nofake=Permisos reals
mod_ls_efakemode=Els permisos simulats han d'estar en octal
mod_ls_dotfiles=Mostra el fitxers que comencen per . en els llistats de directori
mod_ls_ls=Opcions addicionals de <i>ls</i>
mod_ls_els=Hi falten les opcions addicionals de <i>ls</i>

mod_auth_chdir=Directori inicial de connexió
mod_auth_echdir=Hi falta el directori d'entrada inicial o bé és invàlid
mod_auth_chroot=Directoris <i>chroot</i>
mod_auth_dir=Directori
mod_auth_groups=Grups Unix
mod_auth_all=Tothom
mod_auth_edir=Directori <i>chroot</i> invàlid
mod_auth_egroups=No has introduït cap grup Unix per a <i>chroot</i>
mod_auth_echroot=Hi falta el directori <i>chroot</i> o bé és invàlid
mod_auth_login=No demanis la contrasenya si la connexió està denegada
mod_auth_root=Permet la connexió de root

mod_site_chmod=Permet l'ordre <i>chmod</i>

mod_unixpw_ufile=Fitxer alternatiu de contrasenyes Unix
mod_unixpw_eufile=Hi falta el fitxer alternatiu de contrasenyes o bé és invàlid
mod_unixpw_gfile=Fitxer alternatiu de grups Unix
mod_unixpw_egfile=Hi falta el fitxer alternatiu de grups o bé és invàlid
mod_unixpw_none=Cap
mod_unixpw_pam=Tracta sempre els PAM com a autoritzats
mod_unixpw_persist=Mantingues el fitxer de contrasenyes permanentment obert

mod_log_syslog=Enregistra els errors al fitxer
mod_log_sysdef=Registre del sistema
mod_log_esyslog=Hi falta el fitxer de registre o bé és invàlid
mod_log_extended=Fitxers de registre personalitzats
mod_log_file=Fitxer de registre
mod_log_cmd=De les ordres FTP
mod_log_nick=Format del registre
mod_log_all=Totes
mod_log_ecmd=Hi falten les ordres FTP
mod_log_enick=Hi falta el nom del format o bé és invàlid
mod_log_ecmdnick=Quan especifiques ordres per registrar, has d'introduir un format de registre
mod_log_nickname=Nom del format
mod_log_fmt=Cadena de format
mod_log_format=Formats de registre personalitzats
mod_log_enickname=Hi falta el nom del format o bé és invàlid
mod_log_efmt=Hi falta la cadena de format

mod_pam_pam=Fes servir PAM per a l'autenticació
mod_pam_config=Autentica fent servir el servei PAM
mod_pam_econfig=Hi falta el servei PAM o bé és invàlid

mod_readme_display=Avisa a l'usuari dels fitxers <i>readme</i> que coincideixin amb
mod_readme_none=Cap
mod_readme_edisplay=Hi falta el patró dels fitxers <i>readme</i>

start_err=No he pogut engegar el servidor FTP
start_einetd=No pots engegar el dimoni servidor en mode <i>inetd</i>.

ftpaccess_title=Fitxers d'Opcions per Directori
ftpaccess_desc=Les opcions per directori addicionals es poden especificar amb un fitxer (anomenat normalment <tt>.ftpaccess</tt>) a cada directori. Les opcions s'apliquen a tots els fitxers del directori i a qualsevol subdirectori, a menys que sigui obviat per un altre fitxer d'opcions.
ftpaccess_create=Crea Fitxer d'Opcions
ftpaccess_find=Busca Fitxers d'Opcions
ftpaccess_auto=Sota anònim
ftpaccess_from=A partir del directori
ftpaccess_return=a la llista de fitxers d'opcions

ftpusers_title=Usuaris FTP Denegats
ftpusers_desc=Si està activat sota la icona d'<tt>Autenticació</tt>, els usuaris del fitxer $1 llistat a a sota tindran l'accés denegat al servidor FTP.

ftpindex_title=Fitxer d'Opcions per Directori
ftpindex_delete=Suprimeix el fitxer
ftpindex_opts=Opcions per Directori
ftpindex_edit=Edita les Directives
ftpindex_limit=Opcions d'ordre
ftpindex_addlimit=Afegeix opcions d'ordre a...
ftpindex_header2=$1 a $2
ftpindex_return=a l fitxer d'opcions per directori
ftpindex_header=De $1

find_err=No he pogut trobar cap fitxer d'opcions
find_eanon=L'FTP anònim no està configurat a cap servidor virtual

log_global=He canviat les opcions globals $1
log_ftpusers=He canviat els usuaris FTP denegats
log_virtc=He creat el servidor $1
log_virts=He reconfigurat el servidor $1
log_virtd=He suprimit el servidor $1
log_virtm=He editat manualment el servidor $1
log_virt=He canviat $1 al servidor $2
log_dirc=He creat el directori $1
log_dirc_l=He creat el directori $1 del servidor $2
log_dirs=He canviat el directori $1
log_dirs_l=He canviat el directori $1 del servidor $2
log_dird=He suprimit el directori $1
log_dird_l=He suprimit el directori $1 del servidor $2
log_dirm=He editat manualment el directori $1
log_dirm_l=He editat manualment el directori $1 del servidor $2
log_dir=He canviat $1 del directori $2
log_dir_l=He canviat $1 del directori $2 del servidor $3
log_limitc=He creat les opcions d'ordre de $1
log_limits=He reconfigurat les opcions d'ordre de $1
log_limitd=He suprimit les opcions d'ordre de $1
log_limitm=He editat manualment les opcions d'ordre de $1
log_limit=He canviat $1 les opcions d'ordre de $2
log_ftpaccessc=He creat el fitxer d'opcions $1
log_ftpaccessd=He suprimit el fitxer d'opcions $1
log_ftpaccessm=He editat manualment el fitxer d'opcions $1
log_ftpaccess=He canviat $1 al fitxer d'opcions $2
log_start=He iniciat proftpd
log_apply=He aplicat els canvis


  07070100078f08000081a40000000000000002000000013d1fe2e500004084000000200000000000000000000000000000001600000003reloc/proftpd/lang/en index_title=ProFTPD Server
index_eproftpd=The ProFTPD server $1 could not be found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eproftpd2=The program $1 does not appear to be the ProFTPD server. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=The version of ProFTPD server $1 is not supported by Webmin. Only versions 0.99 and above are supported.
index_econf=The ProFTPD config file $1 does not exist or is not valid. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running ProFTPD process.
index_start=Start Server
index_startmsg=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using the <a href='$1'>Internet Services</a> module.
index_startmsg2=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using inetd or some equivalent program.
index_return=main menu
index_virts=Virtual Servers
index_virt=Virtual Server
index_type=Server type
index_addr=Address
index_name=Server name
index_port=FTP port
index_defserv=Default server
index_defdesc=Handles any FTP connections not handled by virtual servers.
index_any=Any
index_vdesc=Handles all connections to $1
index_eip=&lt;Unknown&gt;
index_global=Global Configuration
index_create=Create virtual server
index_version=ProFTPd version $1

efailed=Failed to save $1

type_0=Networking Options
type_1=Logging Options
type_2=Files and Directories
type_3=Access Control
type_4=Miscellaneous
type_5=User and Group
type_6=Authentication

virt_title=Virtual Server Options
virt_header1=For $1
virt_header2=For default server
virt_header3=$1 options
virt_anon=Anonymous FTP
virt_header=Per-directory and Per-command options
virt_dir=Directory $1
virt_limit=Commands $1
virt_adddir=Add per-directory options for ..
virt_addlimit=Add per-command options for ..
virt_path=Directory path
virt_cmds=FTP commands
virt_return=virtual server
virt_virt=Configure Virtual Server
virt_edit=Edit Directives

vserv_title=Configure Virtual Server
vserv_addr=Address
vserv_name=Server name
vserv_port=FTP port
vserv_delete=Delete virtual server
vserv_eaddr=Missing or invalid address
vserv_eport=Missing or invalid port number
vserv_ename=Missing server name

anon_title=Anonymous FTP Options
anon_header1=In virtual server $1
anon_header2=In default server
anon_anon=Configure Anonymous FTP
anon_return=anonymous FTP options
anon_header3=For anonymous FTP in virtual server $1
anon_header4=For anonymous FTP in default server

aserv_title=Configure Anonymous FTP
aserv_create=Setup Anonymous FTP
aserv_root=Chroot directory
aserv_user=Access files as user
aserv_group=Access files as group
aserv_err=Failed to save anonymous FTP
aserv_eroot=Missing or invalid chroot directory
aserv_euser=Missing or invalid Unix user
aserv_egroup=Missing or invalid Unix group
aserv_desc=Anonymous FTP has not yet been setup for this virtual server. Use this form to set the initial configuration options.

dir_title=Per-Directory Options
dir_header2=For directory $1 in default server
dir_header1=For directory $1 in virtual server $2
dir_edit=Edit Directives
dir_return=per-directory options
dir_header3=$1 options in $2
dir_header=Per-command options
dir_dir=Configure Directory
dir_header4=For directory $1 in anonymous FTP

manual_title=Edit Directives
manual_header=Use the text box below to manually edit the ProFTPD directives in $1 that apply to this virtual server, directory or commands.

limit_title=Per-Command Options
limit_header4=For commands $1 in directory $2
limit_header2=For commands $1 in default server
limit_header1=For commands $1 in virtual server $2
limit_edit=Edit Directives
limit_limit=Configure Commands
limit_header3=$1 options for commands $2
limit_return=per-command options
limit_header5=For commands $1 in anonymous FTP
limit_header6=For commands $1 in file $2

lserv_title=Configure Commands
lserv_cmd=FTP commands
lserv_delete=Delete commands config
lserv_err=Failed to save commands
lserv_ecmd=No commands selected

dserv_title=Configure Directory
dserv_dir=Directory path
dserv_err=Failed to save directory
dserv_edir=Missing directory path
dserv_delete=Delete directory config

mod_core_type=Server type
mod_core_inetd=Run from Inetd
mod_core_stand=Stand-alone daemon
mod_core_port=Listen on port
mod_core_eport=Missing or invalid port number
mod_core_servername=Server name displayed to users
mod_core_eservername=Missing server name
mod_core_defaultserver=Use this virtual server by default?
mod_core_instances=Maximum concurrent sessions
mod_core_einstances=Missing or invalid number of sessions
mod_core_umask=New file umask
mod_core_eumask=Missing or invalid umask
mod_core_user=Run as Unix user
mod_core_uname=User name
mod_core_uid=UID
mod_core_group=Run as Unix group
mod_core_gname=Group name
mod_core_gid=GID
mod_core_tlog=FTP transfers logfile
mod_core_etlog=Missing or invalid transfers logfile
mod_core_accessdeny=Failed login message
mod_core_accessgrant=Successful login message
mod_core_adall=Access control policy
mod_core_addefault=Same as parent
mod_core_allowall=Allow all clients
mod_core_denyall=Deny all clients
mod_core_filter=Allowed FTP commands regexp
mod_core_foreign=Allow foreign data transfers?
mod_core_overwrite=Allow overwriting of files?
mod_core_restart=Allow restarted downloads?
mod_core_restart2=Allow restarted uploads?
mod_core_require=Require password for anonymous login?
mod_core_anongroup=Groups to treat members as anonymous
mod_core_eanongroup=No anonymous group entered
mod_core_authalias=Only allow aliased users to login?
mod_core_authusingalias=Use alias password for anonymous login?
mod_core_bind=Bind to address
mod_core_bind_all=All addresses
mod_core_ebind=Missing or invalid bind address
mod_core_cdpath=Shortcut CD directories
mod_core_classes=Enable classes for access control?
mod_core_cls=Access control classes
mod_core_cname=Class name
mod_core_ctype=Type and value
mod_core_climit=Max connections
mod_core_cregex=Client hostname match
mod_core_cip=Client IP network/CIDR
mod_core_eclimit=Missing or invalid max connections
mod_core_ecregex=Missing client hostname match
mod_core_ecip=Missing or invalid client IP network/CIDR
mod_core_buffer=Maximum FTP command length
mod_core_ebuffer=Missing or invalid maximum command length
mod_core_transfer=Default transfer mode
mod_core_binary=Binary
mod_core_ascii=ASCII
mod_core_defer=Defer welcome message until after login?
mod_core_aborted=Deleted aborted uploads?
mod_core_dfilter=Denied FTP commands regexp
mod_core_display=Pre-login message file
mod_core_none=None
mod_core_edisplay=Missing pre-login message file
mod_core_firstcd=Directory README filename
mod_core_efirstcd=Missing directory README filename
mod_core_goaway=Too many connections message file
mod_core_egoaway=Missing too many connections file
mod_core_login=Post-login message file
mod_core_elogin=Missing post-login message file
mod_core_quit=Logout message file
mod_core_equit=Missing logout message file
mod_core_gowner=Group owner of uploaded files
mod_core_egowner=Missing or invalid group for uploaded files
mod_core_grouppassword=Group passwords
mod_core_gpname=Unix group
mod_core_gppass=Password
mod_core_gpdef=Leave unchanged
mod_core_egpname=Invalid Unix group name
mod_core_hstor=Hide uploaded files?
mod_core_hgroup=Hide files owned by groups
mod_core_ehgroup=Invalid group name to hide files of
mod_core_hnoaccess=Hide files that cannot be accessed?
mod_core_huser=Hide files owned by users
mod_core_ehuser=Invalid user name to hide files of
mod_core_ident=Lookup remote Ident username?
mod_core_ihidden=Make hidden files inaccessible?
mod_core_masq=Masquerade as address
mod_core_masq_def=Use real address
mod_core_emasq=Missing or invalid masquerade address
mod_core_maxc=Maximum concurrent logins
mod_core_maxc1=Unlimited
mod_core_maxcmsg=Login error message
mod_core_emaxc=Missing or invalid maximum number of logins
mod_core_maxch=Maximum concurrent logins per host
mod_core_maxcu=Maximum concurrent logins per user
mod_core_logins=Maximum failed logins per session
mod_core_elogins=Missing or invalid number of failed logins
mod_core_rfc2228=Send RFC2228-style responses?
mod_core_pasv=PASV port range
mod_core_pasvr=Min - max
mod_core_epasv=Missing or invalid PASV port number
mod_core_pathallow=Allowed uploaded filename regex
mod_core_any=Any
mod_core_pathdeny=Denied uploaded filename regex
mod_core_pidfile=Write PID to file
mod_core_epidfile=Missing or invalid PID file
mod_core_shell=Only allow login by users with valid shell?
mod_core_cpulimit=CPU resource limits
mod_core_ecpulimit=CPU resource limit
mod_core_memlimit=Memory resource limits
mod_core_ememlimit=memory resource limit
mod_core_filelimit=Open files limits
mod_core_efilelimit=open files limit
mod_core_soft=Soft limit:
mod_core_hard=Hard limit:
mod_core_max=Maximum
mod_core_esoft=Missing or invalid soft $1
mod_core_ehard=Missing or invalid hard $1
mod_core_score=Path to scoreboard directory
mod_core_escore=Missing or invalid scoreboard directory
mod_core_admin=Server administrator's email address
mod_core_eadmin=Missing or invalid email address
mod_core_identmsg=Client connection message
mod_core_identmsg_def=Show default message
mod_core_links=Show symbolic links?
mod_core_tight=Only bind to needed ports?
mod_core_facility=System log facility
mod_core_level=System log level
mod_core_backlog=TCP backlog queue length
mod_core_ebacklog=Missing or invalid backlog queue length
mod_core_nodelay=Use TCP_NODELAY socket option?
mod_core_rwindow=TCP receive window size
mod_core_erwindow=Missing or invalid receive window size
mod_core_swindow=TCP send window size
mod_core_eswindow=Missing or invalid send window size
mod_core_gmt=Show times in GMT?
mod_core_tidle=Idle time before disconnecting
mod_core_etidle=Missing or invalid idle time
mod_core_secs=seconds
mod_core_tlogin=Time to wait for authentication
mod_core_etlogin=Missing or invalid authentication time
mod_core_ttransfer=Time to wait for first transfer
mod_core_ettransfer=Missing or invalid first transfer time
mod_core_tstalled=Time to wait for stalled data transfer
mod_core_etstalled=Missing or invalid stalled transfer time
mod_core_ftpusers=Deny users in /etc/ftpusers file?
mod_core_hostsallow=Hosts to allow file
mod_core_ehostsallow=Hosts to allow file does not exist
mod_core_hostsdeny=Hosts to deny file
mod_core_ehostsdeny=Hosts to deny file does not exist
mod_core_revdns=Do reverse DNS lookups of client addresses?
mod_core_userdir=Chroot to username subdirectory?
mod_core_ualias=Username aliases
mod_core_afrom=Login username
mod_core_ato=Real username
mod_core_eafrom=Invalid login username in alias
mod_core_eato=Missing or invalid real username in alias
mod_core_uowner=Owner of uploaded files
mod_core_euowner=Missing or invalid owner for uploaded files
mod_core_userpassword=User passwords overrides
mod_core_upname=Unix user
mod_core_uppass=Password
mod_core_updef=Leave unchanged
mod_core_eupname=Invalid Unix user name
mod_core_wtmp=Record logins in wtmp?
mod_core_allow_deny=Restrict access
mod_core_allowdeny=Allow then deny
mod_core_denyallow=Deny then allow
mod_core_allow=Allow
mod_core_deny=Deny
mod_core_mode_0=All
mod_core_mode_1=None
mod_core_mode_2=IP address
mod_core_mode_3=Network
mod_core_mode_4=Hostname
mod_core_cond=Condition
mod_core_action=Action
mod_core_agroup=Only allow groups
mod_core_auser=Only allow users
mod_core_all=All
mod_core_dgroup=Deny groups
mod_core_duser=Deny users
mod_core_eip='$1' is not a valid IP address
mod_core_enet='$1' is not a valid network address
mod_core_ehost='$1' is not a valid hostname

mod_ls_fakegroup=Fake group in directory listings?
mod_ls_fakeuser=Fake user in directory listings?
mod_ls_fakemode=Fake permissions in directory listings
mod_ls_nofake=Real permissions
mod_ls_efakemode=Fake permissions must be in octal
mod_ls_dotfiles=Show files starting with . in listings?
mod_ls_ls=Additional ls options
mod_ls_els=Missing additional ls options

mod_auth_chdir=Initial login directory
mod_auth_echdir=Missing or invalid initial directory
mod_auth_chroot=Chroot directories
mod_auth_dir=Directory
mod_auth_groups=Unix groups
mod_auth_all=Everyone
mod_auth_edir=Invalid chroot directory
mod_auth_egroups=No Unix groups for chroot entered
mod_auth_echroot=Missing or invalid chroot directory
mod_auth_login=Don't ask for password if login is denied?
mod_auth_root=Allow login by root?

mod_site_chmod=Allow chmod command?

mod_unixpw_ufile=Alternate Unix password file
mod_unixpw_eufile=Missing or invalid Unix password file
mod_unixpw_gfile=Alternate Unix group file
mod_unixpw_egfile=Missing or invalid Unix group file
mod_unixpw_none=None
mod_unixpw_pam=Always treat PAM as authorative?
mod_unixpw_persist=Keep password file open persistently?

mod_log_syslog=Log errors to file
mod_log_sysdef=System log
mod_log_esyslog=Missing or invalid log file
mod_log_extended=Custom logfiles
mod_log_file=Logfile
mod_log_cmd=For FTP commands
mod_log_nick=Log format
mod_log_all=All
mod_log_ecmd=Missing FTP commands
mod_log_enick=Missing or invalid log format name
mod_log_ecmdnick=You must enter a log format when specifying commands to log
mod_log_nickname=Format name
mod_log_fmt=Format string
mod_log_format=Custom log formats
mod_log_enickname=Missing or invalid format name
mod_log_efmt=Missing format string

mod_pam_pam=Use PAM for authentication?
mod_pam_config=Authenticate using PAM service
mod_pam_econfig=Missing or invalid PAM service

mod_readme_display=Notify user of readme files matching
mod_readme_none=None
mod_readme_edisplay=Missing readme files pattern

start_err=Failed to start FTP server
start_einetd=You cannot start the server daemon when in inetd mode.

ftpaccess_title=Per-Directory Options Files
ftpaccess_desc=Additional per-directory options can be specified in a file (usually called <tt>.ftpaccess</tt>) in each directory. The options apply to all files in that directory and any sub-directories, unless overridden by another options file.
ftpaccess_create=Create Options File
ftpaccess_find=Find Options Files
ftpaccess_auto=Under anonymous
ftpaccess_from=From directory
ftpaccess_return=options file list

ftpusers_title=Denied FTP Users
ftpusers_desc=If enabled under the <tt>Authentication</tt> icon, the users listed below from the file $1 will be denied login access to the FTP user.

ftpindex_title=Per-Directory Options File
ftpindex_delete=Delete File
ftpindex_opts=Per-Directory Options
ftpindex_edit=Edit Directives
ftpindex_limit=Per-command options
ftpindex_addlimit=Add per-command options for ..
ftpindex_header2=$1 in $2
ftpindex_return=per-directory options file
ftpindex_header=For $1

find_err=Failed to find options files
find_eanon=Anonymous FTP is not setup in any virtual server

log_global=Changed global $1 options
log_ftpusers=Changed denied FTP users
log_virtc=Created server $1
log_virts=Reconfigured server $1
log_virtd=Deleted server $1
log_virtm=Manually edited server $1
log_virt=Changed $1 in server $2
log_dirc=Created directory $1
log_dirc_l=Created directory $1 in server $2
log_dirs=Changed directory $1
log_dirs_l=Changed directory $1 in server $2
log_dird=Deleted directory $1
log_dird_l=Deleted directory $1 in server $2
log_dirm=Manually edited directory $1
log_dirm_l=Manually edited directory $1 in server $2
log_dir=Changed $1 in directory $2
log_dir_l=Changed $1 in directory $2 in server $3
log_limitc=Created per-command options for $1
log_limits=Reconfigured per-command options for $1
log_limitd=Deleted per-command options for $1
log_limitm=Manually edited per-command options for $1
log_limit=Changed $1 in per-command options for $2
log_ftpaccessc=Created options file $1
log_ftpaccessd=Deleted options file $1
log_ftpaccessm=Manually edited options file $1
log_ftpaccess=Changed $1 in options file $2
log_start=Started proftpd
log_apply=Applied changes

manual_configs=Edit Config Files
manual_title=Edit Directives
manual_header=Use the text box below to manually edit the Apache directives in $1 that apply to this virtual server, directory or files.
manual_ecannot=You are not allowed to manually edit directives
manual_file=Edit Directives in File:
manual_efile=Invalid Apache config file


07070100078f09000081a40000000000000002000000013d1fe2e500004321000000200000000000000000000000000000001600000003reloc/proftpd/lang/es index_title=Servidor ProFTPD
index_eproftpd=El servidor ProFTPD $1 no ha sido encontrado en tu sistema. O no está instalado, o tu <a href='$2'>modulo de configuracion</a> es incorrecto.
index_eproftpd2=El programa $1 no parece ser el servidor ProFTPD. O no está instalado, o tu <a href='$2'>modulo de configuracion</a> es incorrecto.
index_eversion=La versión del servidor ProFTPD $1 Webmin no la maneja. Sólo versiones 1.2 y superiores son soportadas.
index_econf=El archivo de configuración de ProFTPD $1 quizás no exista o no sea válido. O no está instalado, o tu <a href='$2'>modulo de configuracion</a> es incorrecto.
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para aplicar la nueva configuración enviando una señal SIGHUP al servidor ProFTPD en proceso.
index_start=Arrancar el servidor
index_startmsg=Haz click en este botón para iniciar el servidor FTP con la nueva configuración. También puedes configurar el servidor para ser iniciado automáticamente cuando se necesite, usando el modulo <a href='$1'>Servicios Internet</a>.
index_startmsg2=Haz click en este botón para iniciar el servidor FTP con la nueva configuración. También puedes configurar el servidor para ser iniciado automáticamente cuando se necesite, usando inetd o algún programa equivalente.
index_return=Menú principal
index_virts=Servidores Virtuales
index_virt=Servidor Virtual
index_type=Tipo de servidor
index_addr=Dirección
index_name=Nombre del servidor
index_port=Puerto FTP
index_defserv=Servidor por defecto
index_defdesc=Maneja cualquier conexión FTP no manejadas por los servidores virtuales.
index_any=Cualquiera
index_vdesc=Maneja todas las conexiones a $1
index_eip=&lt;Desconocido&gt;
index_global=Configuración global
index_create=Crear servidor virtual

efailed=Falló al guardar $1

type_0=Opciones de Red
type_1=Opciones de Acceso
type_2=Archivos y Directorios
type_3=Control de Acceso
type_4=Varios...
type_5=Usuario y grupo
type_6=Autenticación

virt_title=Opciones de Servidor Virtual
virt_header1=Para $1
virt_header2=Para servidor por defecto
virt_header3=$1 opciones
virt_anon=FTP anónimo
virt_header=Opciones Por-directorio y Por-comandos
virt_dir=Directorio $1
virt_limit=Comandos $1
virt_adddir=Añadir opciones por-directorio para ...
virt_addlimit=Añadir opciones por-comando para ...
virt_path=Ruta de directorio
virt_cmds=Comandos FTP
virt_return=Servidor virtual
virt_virt=Configurar Servidor Virtual
virt_edit=Editar Directivas

vserv_title=Configurar Servidor Virtual
vserv_addr=Dirección
vserv_name=Nombre del servidor
vserv_port=Puerto FTP
vserv_delete=Borrar Servidor Virtual
vserv_eaddr=Dirección perdida o incorrecta
vserv_eport=Número de puerto perdido o incorrecto
vserv_ename=Perdido nombre de servidor

anon_title=Opciones de FTP anónimo
anon_header1=En servidor virtual $1
anon_header2=En servidor por defecto
anon_anon=Configuración de FTP anónimo
anon_return=Opciones de FTP anónimo
anon_header3=Para FTP anónimo en servidor virtual $1
anon_header4=Para FTP anónimo en servidor por defecto

aserv_title=Configurar FTP anónimo
aserv_create=Organizar FTP anónimo
aserv_root=Directorio chroot
aserv_user=Archivos de acceso como usuario
aserv_group=archivos de acceso como grupo
aserv_err=Error al guardar FTP anónimo
aserv_eroot=Directorio chroot inexistente o no válido
aserv_euser=Usuario inexistente o no válido
aserv_egroup=Grupo unix group inexistente o no válido
aserv_desc=FTP anónimo no ha sido configurado todavía en este servidor virtual. Usa esta formulario para poner las opciones iniciales de la configuración.

dir_title=Opciones Por-Directorio
dir_header2=Por-Directorio $1 en servidor por defecto
dir_header1=Por-Directorio $1 en servidor virtual $2
dir_edit=Editar Directivas
dir_return=opciones por-directorio
dir_header3=$1 opciones en $2
dir_header=Opciones Por-comando
dir_dir=Configurar Directorio
dir_header4=Por-Directorio $1 en FTP anónimo

manual_title=Editar Directivas
manual_header=Usa la caja del texto inferior para revisar las directivas de ProFTPD en $1 esto se aplicará a este servidor virtual, directorio o comandos.

limit_title=Opciones Por-comandos
limit_header4=Para comandos $1 en directorio $2
limit_header2=Para comandos $1 en servidor por defecto
limit_header1=Para comandos $1 en servidor virtual $2
limit_edit=Editar Directivas
limit_limit=Configurar Comandos
limit_header3=$1 opciones para comandos $2
limit_return=opciones por-comando
limit_header5=Para comandos $1 en FTP anónimo
limit_header6=Para comandos $1 en archivo $2

lserv_title=Configuracion de Comandos
lserv_cmd=Comandos FTP
lserv_delete=Borrar configuración de comandos
lserv_err=Error al guardar comandos
lserv_ecmd=No hay comandos seleccionados

dserv_title=Configuración de directorio
dserv_dir=Ruta de Directorio
dserv_err=Error al guardar directorio
dserv_edir=Ruta de Directorio perdida o inexistente
dserv_delete=Borrar configuración de directorio

mod_core_type=Tipo de Servidor
mod_core_inetd=Funcionar desde Inetd
mod_core_stand=Funcionar como demonio permanente (Stand-alone)
mod_core_port=Escuchar en puerto
mod_core_eport=Número de puerto perdido o no válido
mod_core_servername=Nombre de servidor mostrado a los usuarios
mod_core_eservername=Nombre de servidor perdido o inexistente
mod_core_defaultserver=¿Usar este servidor virtual por defecto?
mod_core_instances=Número máximo de sesiones concurrentes
mod_core_einstances=Número de sesiones perdido o no válido
mod_core_umask=Nuevo archivo umask
mod_core_eumask=Archivo umask perdido o no válido
mod_core_user=Funcionar como usuario Unix
mod_core_uname=Nombre de usuario
mod_core_uid=UID
mod_core_group=Funcionar como grupo Unix 
mod_core_gname=Nombre de grupo
mod_core_gid=GID
mod_core_tlog=Archivo log de tranferencias FTP
mod_core_etlog=Archivo log de tranferencias FTP perdido o no válido
mod_core_accessdeny=Mensaje de error en login
mod_core_accessgrant=Mensaje acceso en login
mod_core_adall=Politica de control de acceso
mod_core_addefault=Igual que el padre
mod_core_allowall=Permitir todos los clientes
mod_core_denyall=Denegar todos los  clientes
mod_core_filter=Comandos FTP permitidos regexp
mod_core_foreign=¿Permitir las transmisiones de datos externas?
mod_core_overwrite=¿Permitir sobreescribir los archivos?
mod_core_restart=¿Permitir arrancar de nuevo las descargas (download)?
mod_core_restart2=¿Permitir arrancar de nuevo las cargas (upload)?
mod_core_require=¿Solicitar password para login anónimo?
mod_core_anongroup=Tratar miembros de grupos como anónimos
mod_core_eanongroup=No has introducido grupo anónimo
mod_core_authalias=¿Permitir login sólo a usuarios con alias?
mod_core_authusingalias=¿Usar como password el alias para login anónimo?
mod_core_bind=Unir a la dirección
mod_core_bind_all=Todas las direcciones
mod_core_ebind=Dirección para unir perdida o no válida
mod_core_cdpath=Enlace a directorio de CD
mod_core_classes=¿Activa clases para control de acceso?
mod_core_cls=Control de acceso por clases
mod_core_cname=Nombre de clase
mod_core_ctype=Tipo y valor
mod_core_climit=Max conexiones
mod_core_cregex=Cliente coincide con nombre de host
mod_core_cip=IP de cliente red/CIDR
mod_core_eclimit=Max conexiones perdidas o no válidas
mod_core_ecregex=Coincidencia cliente/nombre de host perdida o no válida
mod_core_ecip=IP de cliente red/CIDR perdida o no válida
mod_core_buffer=Longitud máxima de comandos FTP
mod_core_ebuffer=Longitud máxima de comandos FTP perdida o no válida
mod_core_transfer=Modo de transferencia por defecto
mod_core_binary=Binario
mod_core_ascii=ASCII
mod_core_defer=¿Aplazar el mensaje bienvenida hasta después del login?
mod_core_aborted=¿borrado de las cargas (upload) anuladas?
mod_core_dfilter=Comanfos FTP regexp denegados
mod_core_display=Archivo de mensaje Pre-login
mod_core_none=Ninguno
mod_core_edisplay=Archivo de mensaje Pre-login perdido o no válido
mod_core_firstcd=Directorio del archivo README
mod_core_efirstcd=Directorio del archivo README perdido o no válido
mod_core_goaway=Archivo de mensaje de exceso de conexiones
mod_core_egoaway=Archivo de mensaje de exceso de conexiones perdido o no válido
mod_core_login=Archivo de mensaje de Post-login
mod_core_elogin=Archivo de mensaje de Post-login perdido o no válido
mod_core_quit=Archivo de mensaje de salida de login
mod_core_equit=Archivo de mensaje de salida de login perdido o no válido
mod_core_gowner=Grupo propietario de los archivos cargados (upload)
mod_core_egowner=Grupo propietario de los archivos cargados (upload) perdido o no válido
mod_core_grouppassword=Passwords de grupo
mod_core_gpname=Grupo Unix
mod_core_gppass=Password
mod_core_gpdef=No cambiar nada
mod_core_egpname=Nombre de grupo Unix no válido
mod_core_hstor=¿Ocultar los archivos cargados?
mod_core_hgroup=Oculta archivos de los grupos
mod_core_ehgroup=Nombre de grupo para ocultar archivos no válido
mod_core_hnoaccess=¿Oculta archivos para que no pueden accederse?
mod_core_huser=Ocultar archivos de los usuarios
mod_core_ehuser=Nombre de usuario para ocultar archivos no válido
mod_core_ident=¿Comprobar el nombre de usuario en la identidad remota?
mod_core_ihidden=¿Hacer inaccesibles los archivos ocultos?
mod_core_masq=Enmascarar como la dirección
mod_core_masq_def=Usar dirección real
mod_core_emasq=Dirección de enmascaramiento perdido o no válido
mod_core_maxc=Máximos logins concurrentes
mod_core_maxc1=Ilimitado
mod_core_maxcmsg=Mensaje de error en login
mod_core_emaxc=Número de máximos logins perdido o no válido
mod_core_maxch=Máximos logins concurrentes por host
mod_core_maxcu=Máximos logins concurrentes por usuario
mod_core_logins=Máximos errores de logins por sesión
mod_core_elogins=Número de error de login perdido o no válido
mod_core_rfc2228=¿Enviar respuestas en formato RFC2228?
mod_core_pasv=Rango de puetos PASV
mod_core_pasvr=Min - max
mod_core_epasv=Número de puetos PASV perdido o no válido
mod_core_pathallow=Nombre de archivo permitido cargar regex
mod_core_any=Cualquiera
mod_core_pathdeny=Nombres de archivos con carga denegada regex
mod_core_pidfile=Escribir PID en archivo
mod_core_epidfile=Archivo PID perdido o no válido
mod_core_shell=¿Sólo permitir login de usuarios con Shell válida?
mod_core_cpulimit=Límite de recursos CPU
mod_core_ecpulimit=Límite de recursos CPU
mod_core_memlimit=Límite de recursos Memoria
mod_core_ememlimit=Límite de recursos memoria
mod_core_filelimit=Límite de archivos abiertos
mod_core_efilelimit=Límite de archivos abiertos
mod_core_soft=Límite de software:
mod_core_hard=Límite de hardware:
mod_core_max=Máximo
mod_core_esoft=Soft $1 perdido o no válido
mod_core_ehard=Hard $1 perdido o no válido
mod_core_score=Ruta al directorio del marcador
mod_core_escore=Directorio del marcador perdido o no válido
mod_core_admin=Dirección de correo-e del administrador del servidor
mod_core_eadmin=Dirección de correo-e perdida o no válida
mod_core_ident=Mensaje de conexión de cliente
mod_core_ident_def=Mostrar mensaje por defecto
mod_core_links=¿Mostrar enlaces simbolicos?
mod_core_tight=¿Sólo conectar los puertos necesitados?
mod_core_facility=Sistema, activación de log
mod_core_level=Sistema, nivel de log
mod_core_backlog=Longitud de cola de atrasos TCP
mod_core_ebacklog=Longitud de cola de atrasos TCP perdida o no válida
mod_core_nodelay=¿Usar opción socket TCP_NODELAY?
mod_core_rwindow=Tamaño de la ventana de recepción TCP
mod_core_erwindow=Tamaño de la ventana de recepción TCP perdido o no válido
mod_core_swindow=Tamaño de la ventana de envío TCP
mod_core_eswindow=Tamaño de la ventana de envio TCP perdido o no válido
mod_core_gmt=¿Mostrar tiempo en formato GMT?
mod_core_tidle=Tiempo de espera antes de desconectar
mod_core_etidle=Tiempo de espera perdido o no válido
mod_core_secs=segundos
mod_core_tlogin=Tiempo de espera para autenticación
mod_core_etlogin=Tiempo de autenticación perdido o no válido
mod_core_ttransfer=Tiempo de espera para primer envío
mod_core_ettransfer=Tiempo de primer envío perdido o no válido
mod_core_tstalled=Tiempo de esperar para la transmisión del datos atascada
mod_core_etstalled=Tiempo de la transmisión del datos atascada perdido o no válido
mod_core_ftpusers=¿Rechazar usuarios en /etc/ftpusers?
mod_core_hostsallow=Archivo de host a permitir
mod_core_ehostsallow=Archivo de host a permitir no existe
mod_core_hostsdeny=Archivo de host a denegar
mod_core_ehostsdeny=Archivo de host a denegar no existe
mod_core_revdns=¿Invertir las direcciones DNS del cliente?
mod_core_userdir=¿Subdirectorio Chroot de usuario?
mod_core_ualias=Alias de usuario
mod_core_afrom=Nombre de usuario en login
mod_core_ato=Nombre real de usuario
mod_core_eafrom=Alias de usuario no válido para login
mod_core_eato=Nombre real de usuario en alias perdido o no válido
mod_core_uowner=Propietario de los archivos cargados
mod_core_euowner=Propietario de los archivos cargados perdido o no válido
mod_core_userpassword=Sustituir las contraseñas de usuario
mod_core_upname=Usuario Unix
mod_core_uppass=Password
mod_core_updef=No cambiar nada
mod_core_eupname=Nombre de usuario Unix no válido
mod_core_wtmp=Guardar logins en wtmp?
mod_core_allow_deny=Restringir acceso
mod_core_allowdeny=Permite luego deniega
mod_core_denyallow=Deniega luego permite
mod_core_allow=Permite
mod_core_deny=Deniega
mod_core_mode_0=Todos
mod_core_mode_1=Ninguno
mod_core_mode_2=Dirección IP
mod_core_mode_3=Red
mod_core_mode_4=Nombre de Host
mod_core_cond=Condición
mod_core_action=Acción
mod_core_agroup=Sólo permite grupos
mod_core_auser=Sólo permite usuarios
mod_core_all=Todos
mod_core_dgroup=Deniega grupos
mod_core_duser=Deniega usuarios
mod_core_eip='$1' no es una dirección IP váliada
mod_core_enet='$1' no es una dirección de Red válida
mod_core_ehost='$1' no es un nombre de Host válido

mod_ls_fakegroup=Falsos grupos en lista de directorio?
mod_ls_fakeuser=Falsos usuarios en lista de directorio?
mod_ls_fakemode=Falsos permisos en lista de directorio?
mod_ls_dotfiles=Mostrar archivos que empiezan por . en listados?
mod_ls_ls=Opciones ls adicionales
mod_ls_els=Opciones ls adicionales perdidas

mod_auth_chdir=Directorio inicial
mod_auth_echdir=Directorio inicial perdido o no válido
mod_auth_chroot=Directorio chroot
mod_auth_dir=Directorio
mod_auth_groups=Grupos Unix
mod_auth_all=Todos
mod_auth_edir=Directorio chroot no válido
mod_auth_egroups=No se han introducido grupos unix para chroot
mod_auth_echroot=Directorio chroot perdido o no válido
mod_auth_login=¿No pedir password si el acceso ha sido denegado?
mod_auth_root=¿Permitir el acceso a root?

mod_site_chmod=¿Permitir comandos chmod?

mod_unixpw_ufile=Archivo alternativo de password de usuario
mod_unixpw_eufile=Archivo Unix de password de usuario perdido o no válido
mod_unixpw_gfile=Archivo alternativo de password de grupo
mod_unixpw_egfile=Archivo Unix de password de grupo perdido o no válido
mod_unixpw_none=Ninguno
mod_unixpw_pam=¿Siempre tratar PAM como Autoritativo?
mod_unixpw_persist=¿Mantener el archivo de passwords abierto permanentemente?

mod_log_syslog=Guardar errores en archivo
mod_log_sysdef=Archivo de sistema
mod_log_esyslog=Archivo de log desaparecido o inservible
mod_log_extended=Archivos de log personalizados
mod_log_file=Archivo de log
mod_log_cmd=Para comandos FTP
mod_log_nick=Formato de log
mod_log_all=Todo
mod_log_ecmd=Comandos FTP desaparecidos
mod_log_enick=Nombre de formato de log perdido o no válido
mod_log_ecmdnick=Has de introducir un formato de log cuando especificas comandos para log
mod_log_nickname=Nombre de formato
mod_log_fmt=Cadena de formato
mod_log_format=Formato de log personalizado
mod_log_enickname=Nombre de formato perdido o no válido
mod_log_efmt=Cadena de formato desaparecido

mod_pam_pam=¿Usas PAM para la autenticación?
mod_pam_config=Autenticación usando PAM
mod_pam_econfig=PAM no activo o desaparecido

mod_readme_display=Notifica al usuario que los archivos leeme coinciden
mod_readme_none=Ninguno
mod_readme_edisplay=Perdida configuración de ficheros de leeme

start_err=Error al iniciar el servidor FTP
start_einetd=No puedes arrancar el servidor FTP en modo inetd.

ftpaccess_title=Archivos de opciones Por-Directorio
ftpaccess_desc=Pueden especificarse las opciones del por-directorio adicionales en un archivo (normalmente llamado <tt>.ftpaccess</tt>) en cada directorio. Las opciones se aplican a todos los archivos en ese directorio y cualquier sub-directorio, a menos que sea sustituido por otro archivo de opciones.
ftpaccess_create=Crear Archivo de opciones
ftpaccess_find=Buscar Archivo de opciones
ftpaccess_auto=Como Anónimo
ftpaccess_from=Desde directorio
ftpaccess_return=Lista de archivos de opciones

ftpusers_title=Usuarios FTP denegados
ftpusers_desc=Si se habilitó la <tt>Autenticación</tt>, se denegará el login FTP a los usuarios listados en el archivo $1.
ftpindex_title=Archivos de opciones Por-Directorio
ftpindex_delete=Borrar archivo
ftpindex_opts=Opciones Por-Directorio
ftpindex_edit=Editar Directivas
ftpindex_limit=Opciones Por-comando
ftpindex_addlimit=Añadir opciones por-comando para ...
ftpindex_header2=$1 en $2
ftpindex_return=Archivo de opciones por-directorio
ftpindex_header=Para $1

find_err=No se encontraron archivos de opciones
find_eanon=FTP anónimo no está configurado en ningún servidor virtual   07070100078f0a000081a40000000000000002000000013d1fe2e500003ebe000000200000000000000000000000000000001600000003reloc/proftpd/lang/it index_title=ProFTPD Server
index_eproftpd=The ProFTPD server $1 could not be found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eproftpd2=The program $1 does not appear to be the ProFTPD server. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=The version of ProFTPD server $1 is not supported by Webmin. Only versions 0.99 and above are supported.
index_econf=The ProFTPD config file $1 does not exist or is not valid. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running ProFTPD process.
index_start=Start Server
index_startmsg=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using the <a href='$1'>Internet Services</a> module.
index_startmsg2=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using inetd or some equivalent program.
index_return=main menu
index_virts=Virtual Servers
index_virt=Virtual Server
index_type=Server type
index_addr=Address
index_name=Server name
index_port=FTP port
index_defserv=Default server
index_defdesc=Handles any FTP connections not handled by virtual servers.
index_any=Any
index_vdesc=Handles all connections to $1
index_eip=&lt;Unknown&gt;
index_global=Global Configuration
index_create=Create virtual server

efailed=Failed to save $1

type_0=Networking Options
type_1=Logging Options
type_2=Files and Directories
type_3=Access Control
type_4=Miscellaneous
type_5=User and Group
type_6=Authentication

virt_title=Virtual Server Options
virt_header1=For $1
virt_header2=For default server
virt_header3=$1 options
virt_anon=Anonymous FTP
virt_header=Per-directory and Per-command options
virt_dir=Directory $1
virt_limit=Commands $1
virt_adddir=Add per-directory options for ..
virt_addlimit=Add per-command options for ..
virt_path=Directory path
virt_cmds=FTP commands
virt_return=virtual server
virt_virt=Configure Virtual Server
virt_edit=Edit Directives

vserv_title=Configure Virtual Server
vserv_addr=Address
vserv_name=Server name
vserv_port=FTP port
vserv_delete=Delete virtual server
vserv_eaddr=Missing or invalid address
vserv_eport=Missing or invalid port number
vserv_ename=Missing server name

anon_title=Anonymous FTP Options
anon_header1=In virtual server $1
anon_header2=In default server
anon_anon=Configure Anonymous FTP
anon_return=anonymous FTP options
anon_header3=For anonymous FTP in virtual server $1
anon_header4=For anonymous FTP in default server

aserv_title=Configure Anonymous FTP
aserv_create=Setup Anonymous FTP
aserv_root=Chroot directory
aserv_user=Access files as user
aserv_group=Access files as group
aserv_err=Failed to save anonymous FTP
aserv_eroot=Missing or invalid chroot directory
aserv_euser=Missing or invalid Unix user
aserv_egroup=Missing or invalid Unix group
aserv_desc=Anonymous FTP has not yet been setup for this virtual server. Use this form to set the initial configuration options.

dir_title=Per-Directory Options
dir_header2=For directory $1 in default server
dir_header1=For directory $1 in virtual server $2
dir_edit=Edit Directives
dir_return=per-directory options
dir_header3=$1 options in $2
dir_header=Per-command options
dir_dir=Configure Directory
dir_header4=For directory $1 in anonymous FTP

manual_title=Edit Directives
manual_header=Use the text box below to manually edit the ProFTPD directives in $1 that apply to this virtual server, directory or commands.

limit_title=Per-Command Options
limit_header4=For commands $1 in directory $2
limit_header2=For commands $1 in default server
limit_header1=For commands $1 in virtual server $2
limit_edit=Edit Directives
limit_limit=Configure Commands
limit_header3=$1 options for commands $2
limit_return=per-command options
limit_header5=For commands $1 in anonymous FTP
limit_header6=For commands $1 in file $2

lserv_title=Configure Commands
lserv_cmd=FTP commands
lserv_delete=Delete commands config
lserv_err=Failed to save commands
lserv_ecmd=No commands selected

dserv_title=Configure Directory
dserv_dir=Directory path
dserv_err=Failed to save directory
dserv_edir=Missing directory path
dserv_delete=Delete directory config

mod_core_type=Server type
mod_core_inetd=Run from Inetd
mod_core_stand=Stand-alone daemon
mod_core_port=Listen on port
mod_core_eport=Missing or invalid port number
mod_core_servername=Server name displayed to users
mod_core_eservername=Missing server name
mod_core_defaultserver=Use this virtual server by default?
mod_core_instances=Maximum concurrent sessions
mod_core_einstances=Missing or invalid number of sessions
mod_core_umask=New file umask
mod_core_eumask=Missing or invalid umask
mod_core_user=Run as Unix user
mod_core_uname=User name
mod_core_uid=UID
mod_core_group=Run as Unix group
mod_core_gname=Group name
mod_core_gid=GID
mod_core_tlog=FTP transfers logfile
mod_core_etlog=Missing or invalid transfers logfile
mod_core_accessdeny=Failed login message
mod_core_accessgrant=Successful login message
mod_core_adall=Access control policy
mod_core_addefault=Same as parent
mod_core_allowall=Allow all clients
mod_core_denyall=Deny all clients
mod_core_filter=Allowed FTP commands regexp
mod_core_foreign=Allow foreign data transfers?
mod_core_overwrite=Allow overwriting of files?
mod_core_restart=Allow restarted downloads?
mod_core_restart2=Allow restarted uploads?
mod_core_require=Require password for anonymous login?
mod_core_anongroup=Groups to treat members as anonymous
mod_core_eanongroup=No anonymous group entered
mod_core_authalias=Only allow aliased users to login?
mod_core_authusingalias=Use alias password for anonymous login?
mod_core_bind=Bind to address
mod_core_bind_all=All addresses
mod_core_ebind=Missing or invalid bind address
mod_core_cdpath=Shortcut CD directories
mod_core_classes=Enable classes for access control?
mod_core_cls=Access control classes
mod_core_cname=Class name
mod_core_ctype=Type and value
mod_core_climit=Max connections
mod_core_cregex=Client hostname match
mod_core_cip=Client IP network/CIDR
mod_core_eclimit=Missing or invalid max connections
mod_core_ecregex=Missing client hostname match
mod_core_ecip=Missing or invalid client IP network/CIDR
mod_core_buffer=Maximum FTP command length
mod_core_ebuffer=Missing or invalid maximum command length
mod_core_transfer=Default transfer mode
mod_core_binary=Binary
mod_core_ascii=ASCII
mod_core_defer=Defer welcome message until after login?
mod_core_aborted=Deleted aborted uploads?
mod_core_dfilter=Denied FTP commands regexp
mod_core_display=Pre-login message file
mod_core_none=None
mod_core_edisplay=Missing pre-login message file
mod_core_firstcd=Directory README filename
mod_core_efirstcd=Missing directory README filename
mod_core_goaway=Too many connections message file
mod_core_egoaway=Missing too many connections file
mod_core_login=Post-login message file
mod_core_elogin=Missing post-login message file
mod_core_quit=Logout message file
mod_core_equit=Missing logout message file
mod_core_gowner=Group owner of uploaded files
mod_core_egowner=Missing or invalid group for uploaded files
mod_core_grouppassword=Group passwords
mod_core_gpname=Unix group
mod_core_gppass=Password
mod_core_gpdef=Leave unchanged
mod_core_egpname=Invalid Unix group name
mod_core_hstor=Hide uploaded files?
mod_core_hgroup=Hide files owned by groups
mod_core_ehgroup=Invalid group name to hide files of
mod_core_hnoaccess=Hide files that cannot be accessed?
mod_core_huser=Hide files owned by users
mod_core_ehuser=Invalid user name to hide files of
mod_core_ident=Lookup remote Ident username?
mod_core_ihidden=Make hidden files inaccessible?
mod_core_masq=Masquerade as address
mod_core_masq_def=Use real address
mod_core_emasq=Missing or invalid masquerade address
mod_core_maxc=Maximum concurrent logins
mod_core_maxc1=Unlimited
mod_core_maxcmsg=Login error message
mod_core_emaxc=Missing or invalid maximum number of logins
mod_core_maxch=Maximum concurrent logins per host
mod_core_maxcu=Maximum concurrent logins per user
mod_core_logins=Maximum failed logins per session
mod_core_elogins=Missing or invalid number of failed logins
mod_core_rfc2228=Send RFC2228-style responses?
mod_core_pasv=PASV port range
mod_core_pasvr=Min - max
mod_core_epasv=Missing or invalid PASV port number
mod_core_pathallow=Allowed uploaded filename regex
mod_core_any=Any
mod_core_pathdeny=Denied uploaded filename regex
mod_core_pidfile=Write PID to file
mod_core_epidfile=Missing or invalid PID file
mod_core_shell=Only allow login by users with valid shell?
mod_core_cpulimit=CPU resource limits
mod_core_ecpulimit=CPU resource limit
mod_core_memlimit=Memory resource limits
mod_core_ememlimit=memory resource limit
mod_core_filelimit=Open files limits
mod_core_efilelimit=open files limit
mod_core_soft=Soft limit:
mod_core_hard=Hard limit:
mod_core_max=Maximum
mod_core_esoft=Missing or invalid soft $1
mod_core_ehard=Missing or invalid hard $1
mod_core_score=Path to scoreboard directory
mod_core_escore=Missing or invalid scoreboard directory
mod_core_admin=Server administrator's email address
mod_core_eadmin=Missing or invalid email address
mod_core_identmsg=Client connection message
mod_core_identmsg_def=Show default message
mod_core_links=Show symbolic links?
mod_core_tight=Only bind to needed ports?
mod_core_facility=System log facility
mod_core_level=System log level
mod_core_backlog=TCP backlog queue length
mod_core_ebacklog=Missing or invalid backlog queue length
mod_core_nodelay=Use TCP_NODELAY socket option?
mod_core_rwindow=TCP receive window size
mod_core_erwindow=Missing or invalid receive window size
mod_core_swindow=TCP send window size
mod_core_eswindow=Missing or invalid send window size
mod_core_gmt=Show times in GMT?
mod_core_tidle=Idle time before disconnecting
mod_core_etidle=Missing or invalid idle time
mod_core_secs=seconds
mod_core_tlogin=Time to wait for authentication
mod_core_etlogin=Missing or invalid authentication time
mod_core_ttransfer=Time to wait for first transfer
mod_core_ettransfer=Missing or invalid first transfer time
mod_core_tstalled=Time to wait for stalled data transfer
mod_core_etstalled=Missing or invalid stalled transfer time
mod_core_ftpusers=Deny users in /etc/ftpusers file?
mod_core_hostsallow=Hosts to allow file
mod_core_ehostsallow=Hosts to allow file does not exist
mod_core_hostsdeny=Hosts to deny file
mod_core_ehostsdeny=Hosts to deny file does not exist
mod_core_revdns=Do reverse DNS lookups of client addresses?
mod_core_userdir=Chroot to username subdirectory?
mod_core_ualias=Username aliases
mod_core_afrom=Login username
mod_core_ato=Real username
mod_core_eafrom=Invalid login username in alias
mod_core_eato=Missing or invalid real username in alias
mod_core_uowner=Owner of uploaded files
mod_core_euowner=Missing or invalid owner for uploaded files
mod_core_userpassword=User passwords overrides
mod_core_upname=Unix user
mod_core_uppass=Password
mod_core_updef=Leave unchanged
mod_core_eupname=Invalid Unix user name
mod_core_wtmp=Record logins in wtmp?
mod_core_allow_deny=Restrict access
mod_core_allowdeny=Allow then deny
mod_core_denyallow=Deny then allow
mod_core_allow=Allow
mod_core_deny=Deny
mod_core_mode_0=All
mod_core_mode_1=None
mod_core_mode_2=IP address
mod_core_mode_3=Network
mod_core_mode_4=Hostname
mod_core_cond=Condition
mod_core_action=Action
mod_core_agroup=Only allow groups
mod_core_auser=Only allow users
mod_core_all=All
mod_core_dgroup=Deny groups
mod_core_duser=Deny users
mod_core_eip='$1' is not a valid IP address
mod_core_enet='$1' is not a valid network address
mod_core_ehost='$1' is not a valid hostname

mod_ls_fakegroup=Fake group in directory listings?
mod_ls_fakeuser=Fake user in directory listings?
mod_ls_fakemode=Fake permissions in directory listings?
mod_ls_dotfiles=Show files starting with . in listings?
mod_ls_ls=Additional ls options
mod_ls_els=Missing additional ls options

mod_auth_chdir=Initial login directory
mod_auth_echdir=Missing or invalid initial directory
mod_auth_chroot=Chroot directories
mod_auth_dir=Directory
mod_auth_groups=Unix groups
mod_auth_all=Everyone
mod_auth_edir=Invalid chroot directory
mod_auth_egroups=No Unix groups for chroot entered
mod_auth_echroot=Missing or invalid chroot directory
mod_auth_login=Don't ask for password if login is denied?
mod_auth_root=Allow login by root?

mod_site_chmod=Allow chmod command?

mod_unixpw_ufile=Alternate Unix password file
mod_unixpw_eufile=Missing or invalid Unix password file
mod_unixpw_gfile=Alternate Unix group file
mod_unixpw_egfile=Missing or invalid Unix group file
mod_unixpw_none=None
mod_unixpw_pam=Always treat PAM as authorative?
mod_unixpw_persist=Keep password file open persistently?

mod_log_syslog=Log errors to file
mod_log_sysdef=System log
mod_log_esyslog=Missing or invalid log file
mod_log_extended=Custom logfiles
mod_log_file=Logfile
mod_log_cmd=For FTP commands
mod_log_nick=Log format
mod_log_all=All
mod_log_ecmd=Missing FTP commands
mod_log_enick=Missing or invalid log format name
mod_log_ecmdnick=You must enter a log format when specifying commands to log
mod_log_nickname=Format name
mod_log_fmt=Format string
mod_log_format=Custom log formats
mod_log_enickname=Missing or invalid format name
mod_log_efmt=Missing format string

mod_pam_pam=Use PAM for authentication?
mod_pam_config=Authenticate using PAM service
mod_pam_econfig=Missing or invalid PAM service

mod_readme_display=Notify user of readme files matching
mod_readme_none=None
mod_readme_edisplay=Missing readme files pattern

start_err=Failed to start FTP server
start_einetd=You cannot start the server daemon when in inetd mode.

ftpaccess_title=Per-Directory Options Files
ftpaccess_desc=Additional per-directory options can be specified in a file (usually called <tt>.ftpaccess</tt>) in each directory. The options apply to all files in that directory and any sub-directories, unless overridden by another options file.
ftpaccess_create=Create Options File
ftpaccess_find=Find Options Files
ftpaccess_auto=Under anonymous
ftpaccess_from=From directory
ftpaccess_return=options file list

ftpusers_title=Denied FTP Users
ftpusers_desc=If enabled under the <tt>Authentication</tt> icon, the users listed below from the file $1 will be denied login access to the FTP user.

ftpindex_title=Per-Directory Options File
ftpindex_delete=Delete File
ftpindex_opts=Per-Directory Options
ftpindex_edit=Edit Directives
ftpindex_limit=Per-command options
ftpindex_addlimit=Add per-command options for ..
ftpindex_header2=$1 in $2
ftpindex_return=per-directory options file
ftpindex_header=For $1

find_err=Failed to find options files
find_eanon=Anonymous FTP is not setup in any virtual server

log_global=Changed global $1 options
log_ftpusers=Changed denied FTP users
log_virtc=Created server $1
log_virts=Reconfigured server $1
log_virtd=Deleted server $1
log_virtm=Manually edited server $1
log_virt=Changed $1 in server $2
log_dirc=Created directory $1
log_dirc_l=Created directory $1 in server $2
log_dirs=Changed directory $1
log_dirs_l=Changed directory $1 in server $2
log_dird=Deleted directory $1
log_dird_l=Deleted directory $1 in server $2
log_dirm=Manually edited directory $1
log_dirm_l=Manually edited directory $1 in server $2
log_dir=Changed $1 in directory $2
log_dir_l=Changed $1 in directory $2 in server $3
log_limitc=Created per-command options for $1
log_limits=Reconfigured per-command options for $1
log_limitd=Deleted per-command options for $1
log_limitm=Manually edited per-command options for $1
log_limit=Changed $1 in per-command options for $2
log_ftpaccessc=Created options file $1
log_ftpaccessd=Deleted options file $1
log_ftpaccessm=Manually edited options file $1
log_ftpaccess=Changed $1 in options file $2
log_start=Started proftpd
log_apply=Applied changes


  07070100078f0b000081a40000000000000002000000013d1fe2e5000048a5000000200000000000000000000000000000001600000003reloc/proftpd/lang/pl index_title=Serwer ProFTPD
index_eproftpd=W&nbsp;systemie nie znaleziono serwera ProFTPD $1. Mo¿liwe, ¿e nie zosta³ zainstalowany lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eproftpd2=Program $1 nie jest serwerem ProFTPD. Mo¿liwe, ¿e ProFTPD nie zosta³ zainstalowany lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eversion=Webmin nie obs³uguje wersji $1 serwera ProFTPD. Obs³ugiwane s± tylko wersje 1.2 i&nbsp;wy¿sze.
index_econf=Plik konfiguracyjny ProFTPD $1 nie istnieje lub jest nieprawid³owy. Mo¿liwe, ¿e Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bierz±c± konfiguracjê poprzez wys³anie sygna³u SIGHUP do dzia³aj±cego procesu ProFTPD.
index_start=Uruchom serwer
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer FTP z&nbsp;bierz±c± konfiguracj±. Mo¿esz równie¿ skonfigurowaæ serwer, aby by³ uruchamiany automatycznie w&nbsp;razie potrzeby, korzystaj±c z&nbsp;modu³u <a href='$1'>Us³ugi internetowe</a>.
index_startmsg2=Naci¶nij ten przycisk, aby uruchomiæ serwer FTP z&nbsp;bierz±c± konfiguracj±. Mo¿esz równie¿ skonfigurowaæ serwer, aby by³ uruchamiany automatycznie w&nbsp;razie potrzeby, korzystaj±c z&nbsp;inetd lub rownowa¿nego programu.
index_return=menu g³ównego
index_virts=Serwery wirtualne
index_virt=Serwer wirtualny
index_type=Rodzaj serwera
index_addr=Adres
index_name=Nazwa serwera
index_port=Port FTP
index_defserv=Serwer domy¶lny
index_defdesc=Obs³uguje wszystkie po³±czenia FTP nie obs³ugiwane przez serwery wirtualne.
index_any=Dowolny
index_vdesc=Obs³uguje wszystkie po³±czenia do $1
index_eip=&lt;Nieznany&gt;
index_global=Konfiguracja ogólna
index_create=Utwórz serwer wirtualny

efailed=Nie uda³o siê zachowaæ $1

type_0=Opcje sieci
type_1=Opcje logowania
type_2=Pliki i&nbsp;katalogi
type_3=Kontrola dostêpu
type_4=Ró¿ne
type_5=U¿ytkownicy i&nbsp;grupy
type_6=Autoryzacja

virt_title=Opcje serwera wirtualnego
virt_header1=Dla $1
virt_header2=Dla serwera domy¶lnego
virt_header3=Opcje $1
virt_anon=Anonimowy FTP
virt_header=Opcje dla poszczególnych katalogów i&nbsp;poleceñ
virt_dir=Katalog $1
virt_limit=Polecenia $1
virt_adddir=Dodaj opcje dla katalogu dla ..
virt_addlimit=Dodaj opcje dla polecenia dla ..
virt_path=¦cie¿ka do katalogu
virt_cmds=Polecenia FTP
virt_return=serwera wirtualnego
virt_virt=Konfiguruj serwer wirtualny
virt_edit=Zmieñ dyrektywy

vserv_title=Konfiguruj serwer wirtualny
vserv_addr=Adres
vserv_name=Nazwa serwera
vserv_port=Port FTP
vserv_delete=Usuñ serwer wirtualny
vserv_eaddr=Nie podany lub niepoprawny adres
vserv_eport=Nie podany lub niepoprawny numer portu
vserv_ename=Nie podana nazwa serwera

anon_title=Opcje anonimowego FTP
anon_header1=Dla serwera wirtualnego $1
anon_header2=Dla serwera domy¶lnego
anon_anon=Konfiguruj anonimowy FTP
anon_return=opcji anonimowego FTP
anon_header3=Dla anonimowego FTP dla serwera wirtualnego $1
anon_header4=Dla anonimowego FTP dla serwera domy¶lnego

aserv_title=Konfiguruj anonimowy FTP
aserv_create=Ustaw anonimowy FTP
aserv_root=Katalog chroot
aserv_user=Dostêp do plików jako u¿ytkownik
aserv_group=Dostêp do plików jako grupa
aserv_err=Nie uda³o siê zachowaæ anonimowego FTP
aserv_eroot=Nie podany lub niepoprawny katalog chroot
aserv_euser=Nie podany lub niepoprawny u¿ytkownik Uniksa
aserv_egroup=Nie podana lub niepoprawna grupa Uniksa
aserv_desc=Nie ustawiono jeszcze anonimowego dostêpu FTP dla tego serwera wirtualnego. Ustaw inicjalne opcje konfiguracyjne za pomocê tego formularza.

dir_title=Opcje katalogów
dir_header2=Dla katalogu $1 dla serwera domy¶lnego
dir_header1=Dla katalogu $1 dla serwera wirtualnego $2
dir_edit=Zmieñ dyrektywy
dir_return=opcji dla katalogów
dir_header3=Opcje $1 dla $2
dir_header=Opcje dla poleceñ
dir_dir=Konfiguruj katalog
dir_header4=Dla katalogu $1 anonimowego FTP

manual_title=Zmieñ dyrektywy
manual_header=Zmieñ rêcznie korzystaj±c z&nbsp;poni¿szego pola tekstowego dyrektywy ProFTPD w&nbsp;$1, które dotycz± tego serwera wirtualnego, katalogu lub poleceñ.

limit_title=Opcje poleceñ
limit_header4=Dla poleceñ $1 w&nbsp;katalogu $2
limit_header2=Dla poleceñ $1 dla serwera domy¶lnego
limit_header1=Dla poleceñ $1 dla serwera wirtualnego $2
limit_edit=Zmieñ dytektywy
limit_limit=Konfiguruj polecenia
limit_header3=Opcje $1 dla poleceñ $2
limit_return=opcji dla poleceñ
limit_header5=Dla poleceñ $1 anonimowego FTP
limit_header6=Dla poleceñ $1 w&nbsp;pliku $2

lserv_title=Konfiguruj polecenia
lserv_cmd=Polecenia FTP
lserv_delete=Usuñ konfiguracjê poleceñ
lserv_err=Nie uda³o siê zachowaæ poleceñ
lserv_ecmd=Nie wybrano poleceñ

dserv_title=Konfiguruj katalog
dserv_dir=¦cie¿ka do katalogu
dserv_err=Nie uda³o siê zachowaæ katalogu
dserv_edir=Nie podana ¶cie¿ka do katalogu
dserv_delete=Usuñ konfiguracjê katalogu

mod_core_type=Rodzaj serwera
mod_core_inetd=Uruchamiany przez Inetd
mod_core_stand=Demon wolnostoj±cy
mod_core_port=Nas³uchiwaæ na porcie
mod_core_eport=Nie podany lub niepoprawny numer portu
mod_core_servername=Nazwa serwera pokazuj±ca siê u¿ytkownikom
mod_core_eservername=Nie podana lub niepoprawna nazwa serwera
mod_core_defaultserver=U¿ywaæ tego serwera wirtualnego jako serwera domy¶lnego?
mod_core_instances=Maksymalna liczba jednoczesnych sesji
mod_core_einstances=Nie podana lub niepoprawna liczba sesji
mod_core_umask=Nowa umaska dla plików
mod_core_eumask=Nie podana lub niepoprawna umaska
mod_core_user=Dzia³aæ jako u¿ytkownik Uniksa
mod_core_uname=Nazwa u¿ytkownika
mod_core_uid=UID
mod_core_group=Dzia³aæ jako grupa Uniksa
mod_core_gname=Nazwa grupy
mod_core_gid=GID
mod_core_tlog=Plik logowania transferów FTP
mod_core_etlog=Nie podany lub niepoprawny plik transferów
mod_core_accessdeny=Komunikat o&nbsp;niepomy¶lnym logowaniu
mod_core_accessgrant=Komunikat o&nbsp;pomy¶lnym logowaniu
mod_core_adall=Polityka kontroli dostêpu
mod_core_addefault=Taka sama jak dla przodka
mod_core_allowall=Dopu¶ciæ wszystkich klientów
mod_core_denyall=Blokowaæ wszystkich klientów
mod_core_filter=Wyra¿enie regularne dla dozwolonych poleceñ FTP
mod_core_foreign=Zezwalaæ na obce transfery danych?
mod_core_overwrite=Zezwalaæ na nadpisywanie plików?
mod_core_restart=Zazwalaæ na kontynuacjê pobierania?
mod_core_restart2=Zazwalaæ na kontynuacjê przysy³ania?
mod_core_require=Wymagaæ has³a dla logowania anonimowego?
mod_core_anongroup=Grupy, których cz³onkowie s± traktowani jako anonimowi
mod_core_eanongroup=Nie podano anonimowych grup
mod_core_authalias=Zezwalaæ na logowaniw tylko u¿ytkowników z&nbap;aliasami?
mod_core_authusingalias=U¿ywaæ aliasu has³a dla logowania anonimowego
mod_core_bind=Nas³uchiwaæ na adresie
mod_core_bind_all=na wszystkich adresach
mod_core_ebind=Nie podany lub niepoprawny adres nas³uchiwania
mod_core_cdpath=Skróty katalogów dla CD
mod_core_classes=W³±czyæ klasy dla kontroli dostêpu
mod_core_cls=Klasy kontroli dostêpu
mod_core_cname=Nazwa klasy
mod_core_ctype=Rodzaj i&nbsp;warto¶æ
mod_core_climit=Maks. liczba po³±czeñ
mod_core_cregex=Dopasowanie nazwy hosta klienta
mod_core_cip=IP sieci/CIDR klienta
mod_core_eclimit=Nie podana lub niepoprawna maksymalna liczba po³±czeñ
mod_core_ecregex=Nie podany lub niepoprawny wzorzec dla nazwy hosta klienta
mod_core_ecip=Nie podany lub niepoprawny IP sieci/CIDR klienta
mod_core_buffer=Maksymalna d³ugo¶æ polecenia FTP
mod_core_ebuffer=Nie podana lub niepoprawna maksymalna d³ugo¶æ polecenia
mod_core_transfer=Domy¶lny tryb transmisji
mod_core_binary=Binarny
mod_core_ascii=ASCII
mod_core_defer=Opó¼niaæ komunikat powitalny po zalogowaniu?
mod_core_aborted=Kasowaæ pliki przys³ane w&nbsp;razie przerwania?
mod_core_dfilter=Wyra¿enie regularne dla zabronionych poleceñ FTP
mod_core_display=Plik komunikatu poprzedzaj±cego logowanie
mod_core_none=Brak
mod_core_edisplay=Nie podano komunikatu poprzedzaj±cego logowanie
mod_core_firstcd=Nazwa pliku README dla katalogów
mod_core_efirstcd=Nie podano nazwy pliku README dla katalogów
mod_core_goaway=Plik komunikatu o&nbsp;zbyt wielu po³±czeniach
mod_core_egoaway=Nie podano pliku komunikatu o&nbsp;zbyt wielu po³±czeniach
mod_core_login=Plik komunikatu po zalogowaniu
mod_core_elogin=Nie podano pliku komunikatu po zalogowaniu
mod_core_quit=Plik komunikatu przy wylogowywaniu
mod_core_equit=Nie podano pliku komunikatu przy wylogowywaniu
mod_core_gowner=Grupa dla przysy³anych plików
mod_core_egowner=Nie podano lub niepoprawna grupa dla przysy³anych plików
mod_core_grouppassword=Has³a dla grup
mod_core_gpname=Jak dla grupy Uniksa
mod_core_gppass=Has³o
mod_core_gpdef=Pozostaw nie zmienione
mod_core_egpname=Niepoprawna nazwa grupy Uniksa
mod_core_hstor=Ukrywaæ przysy³ane pliki?
mod_core_hgroup=Ukrywaæ pliki nale¿±ce do grup
mod_core_ehgroup=Niepoprawna nazwa grupy, której pliki s± ukrywane
mod_core_hnoaccess=Ukrywaæ pliki niedostêpne?
mod_core_huser=Ukrywaæ pliki nale¿±ce do u¿ytkowników
mod_core_ehuser=Niepoprawna nazwa u¿ytkownika, którego pliki s± ukrywane
mod_core_ident=Poszukiwaæ nazw u¿ytkowników zdalnych Identem?
mod_core_ihidden=Uczuniæ pliki ukryte niedostêpnymi?
mod_core_masq=Maskowaæ jako adres
mod_core_masq_def=U¿ywaæ rzeczywistego adresu
mod_core_emasq=Nie podany lub niepoprawny adres dla maskowania
mod_core_maxc=Maksymalna liczba jednoczesnych logowañ
mod_core_maxc1=Nieograniczona
mod_core_maxcmsg=Komunikat b³êdu logowania
mod_core_emaxc=Nie podana lub niepoprawna maksymalna liczba logowañ
mod_core_maxch=Maksymalna liczba logowañ z&nbsp;hosta
mod_core_maxcu=Maksymalna liczba logowañ u¿ytkownika
mod_core_logins=Maksymalna liczba nieudanych logowañ w&nbsp;sesji
mod_core_elogins=Nie podana lub niepoprawna liczba nieudanych logowañ
mod_core_rfc2228=Wysy³aæ odpowiedzi zgodne z&nbsp;RFC2228?
mod_core_pasv=Zakres portów dla PASV
mod_core_pasvr=Min. - maks.
mod_core_epasv=Nie podany lub niepoprawny numer portu dla PASV
mod_core_pathallow=Wyra¿enie regularne dla dozwolonych nazw plików przysy³anych
mod_core_any=Dowolna
mod_core_pathdeny=Wyra¿enie regularne dla zabronionych nazw plików przysy³anych
mod_core_pidfile=Zapisywaæ numer PID do pliku
mod_core_epidfile=Nie podany lub niepoprawny plik z numerem PID
mod_core_shell=Zezwalaæ na logowanie wy³±cznie u¿ytkowników o&nbsp;poprawnej pow³oce
mod_core_cpulimit=Ograniczenia wykorzystania CPU
mod_core_ecpulimit=ograniczenie wykorzystania CPU
mod_core_memlimit=Ograniczenia wykorzystania pamiêci
mod_core_ememlimit=ograniczenie wykorzystania pamiêci
mod_core_filelimit=Ograniczenia liczby otwartych plików
mod_core_efilelimit=ograniczenie liczby otwartych plików
mod_core_soft=Ograniczenie miêkkie:
mod_core_hard=Ograniczenie twarde:
mod_core_max=Maksimum
mod_core_esoft=Nie podane lub niepoprawne miêkkie $1
mod_core_ehard=Nie podane lub niepoprawne twarde $1
mod_core_score=¦cie¿ka do katalogu scoreboard
mod_core_escore=Nie podana lub niepoprawna ¶cie¿ka do katalogu scoreboard
mod_core_admin=Adres e-mail administratora serwera
mod_core_eadmin=Nie podany lub niepoprawny adres e-mail
mod_core_identmsg=Komunikat o&nbsp;po³±czeniu siê klienta
mod_core_identmsg_def=Pokazywaæ komunikat standardowy
mod_core_links=Pokazywaæ dowi±zania symboliczne?
mod_core_tight=Otwieraæ tylko niezbêdne porty?
mod_core_facility=Kategoria logowania systemowego
mod_core_level=Poziom logowania systemowego
mod_core_backlog=D³ugo¶æ kolejki TCP
mod_core_ebacklog=Nie podana lub nie poprawna d³ugo¶æ kolejki
mod_core_nodelay=U¿ywaæ opcji TCP_NODELAY dla gniazd?
mod_core_rwindow=Rozmiar okna odbiorczego TCP
mod_core_erwindow=Nie podany lub niepoprawny rozmiar okna odbiorczego
mod_core_swindow==Rozmiar okna nadawczego TCP
mod_core_eswindow=Nie podany lub niepoprawny rozmiar okna nadawczego
mod_core_gmt=Pokazywaæ czas GMT?
mod_core_tidle=Czas bezczynno¶ci przed roz³±czeniem
mod_core_etidle=Nie podany lub niepoprawny czas bezczynno¶ci
mod_core_secs=sekund
mod_core_tlogin=Czas oczekiwania na autoryzacjê
mod_core_etlogin=Nie podany lub niepoprawny czas oczekiwania na autoryzacjê
mod_core_ttransfer=Czas oczekiwania na pierwszy transfer
mod_core_ettransfer=Nie podany lub niepoprawny czas oczekiwania na pierwszy transfer
mod_core_tstalled=Czas oczekiwania na zablokowane transfery danych
mod_core_etstalled=Nie podany lub niepoprawny czas oczekiwania na zablokowane transfery
mod_core_ftpusers=Blokowaæ dostêp u¿ytkowników z&nbsp;pliku /etc/ftpusers?
mod_core_hostsallow=Plik dozwolonych hostów
mod_core_ehostsallow=Plik dozwolonych hostów nie istnieje
mod_core_hostsdeny=Plik zabronionych hostów
mod_core_ehostsdeny=Plik zabronionych hostów nie istnieje
mod_core_revdns=Wykonywaæ poszukiwania adresów klientów w&nbsp;odwrotnym DNS?
mod_core_userdir=Chroot do podkatalogu o&nbsp;nazwie u¿ytkownika?
mod_core_ualias=Aliasy nazwy u¿ytkownika
mod_core_afrom=Nazwa logowania
mod_core_ato=Rzeczywista nazwa u¿ytkownika
mod_core_eafrom=Niepoprawna nazwa logowania w&nbsp;aliasie
mod_core_eato=Nie podana lub niepoprawna rzeczywista nazwa u¿ytkownika w&nbsp;aliasie
mod_core_uowner=W³a¶ciciel przysy³anych plików
mod_core_euowner=Nie podany lub niepoprawny w³a¶ciciel przysy³anych plików
mod_core_userpassword=Has³a u¿ytkownikaów zastêpuj±
mod_core_upname=U¿ytkownik Uniksa
mod_core_uppass=Has³o
mod_core_updef=Pozostaw niezmienione
mod_core_eupname=Niepoprwana nazwa u¿ytkownika Uniksa
mod_core_wtmp=Zapisywaæ logowania w&nbsp;wtmp?
mod_core_allow_deny=Zabroniæ dostêpu
mod_core_allowdeny=Najpierw zezwalaæ, potem zabraniaæ
mod_core_denyallow=Najpierw zabraniaæ, potem zezwalaæ
mod_core_allow=Zezwalaæ
mod_core_deny=Zabraniaæ
mod_core_mode_0=Wszystkim
mod_core_mode_1=Nikomu
mod_core_mode_2=Adresowi IP
mod_core_mode_3=Sieci
mod_core_mode_4=Hostowi o nazwie
mod_core_cond=Warunek
mod_core_action=Dzia³anie
mod_core_agroup=Zezwoliæ tylko grupom
mod_core_auser=Zezwoliæ tylko u¿ytkownikom
mod_core_all=Wszystkim
mod_core_dgroup=Zabroniæ tylko grupom
mod_core_duser=Zabroniæ tylko u¿ytkownikom
mod_core_eip='$1' nie jest poprawnym adresem IP
mod_core_enet='$1' nie jest poprawnym adresem sieci
mod_core_ehost='$1' nie jest poprawn± nazw± hosta

mod_ls_fakegroup=Fikcyjna grupa przy przegl±daniu katalogów?
mod_ls_fakeuser=Fikcyjny u¿ytkownik przy przegl±daniu katalogów?
mod_ls_fakemode=Fikcyjne prawa dostêpu przy przegl±daniu katalogów?
mod_ls_dotfiles=Pokazywaæ pliki zaczynaj±ce siê od . przy przegl±daniu?
mod_ls_ls=Dodatkowe opcje dla ls
mod_ls_els=Nie podano dodatkowych opcji dla ls

mod_auth_chdir=Pocz±tkowy katalog logowania
mod_auth_echdir=Nie podany lub niepoprawny katalog pocz±tkowy
mod_auth_chroot=Katalogi chroot
mod_auth_dir=Katalog
mod_auth_groups=Grupy Uniksa
mod_auth_all=Wszystkie
mod_auth_edir=Niepoprawny katalog chroot
mod_auth_egroups=Nie podano grup Uniksa
mod_auth_echroot=Nie podany lub niepoprawny katalog chroot
mod_auth_login=Nie pytaæ o has³o, gdy logowanie jest zabronione?
mod_auth_root=Zezwoliæ na logowanie roota?

mod_site_chmod=Zezwoliæ na polecenie <tt>chmod</tt>?

mod_unixpw_ufile=Alternatywny plik hase³ Uniksa
mod_unixpw_eufile=Nie podany lub niepoprawny plik hase³ Uniksa
mod_unixpw_gfile=Alternatywny plik grup Uniksa
mod_unixpw_egfile=Nie podany lub niepoprawny plik grup Uniksa
mod_unixpw_none=Brak
mod_unixpw_pam=Zawsze korzystaæ z&nbsp;autoryzacji PAM?
mod_unixpw_persist=Trzymaæ plik hase³ ci±gle otwarty?

mod_log_syslog=Logowaæ b³êdy do pliku
mod_log_sysdef=Logu systemowego
mod_log_esyslog=Nie podana lub niepoprawna nazwa pliku logu
mod_log_extended=Indywidualne pliki logów
mod_log_file=Plik logu
mod_log_cmd=Dla poleceñ FTP
mod_log_nick=Format logowania
mod_log_all=Wszystkich
mod_log_ecmd=Nie podano poleceñ FTP
mod_log_enick=Nie podana lub niepoprawna nazwa formatu logowania
mod_log_ecmdnick=Musisz podaæ format logowania gdy okre¶lasz logowane polecenia
mod_log_nickname=Nazwa formatu
mod_log_fmt=Wzorzec formatu
mod_log_format=Indywidualne formaty logowania
mod_log_enickname=Nie podana lub niepoprawna nazwa formatu
mod_log_efmt=Nie podano wzorca formatu

mod_pam_pam=Korzystaæ z&nbsp;autoryzacji PAM?
mod_pam_config=Autoryzowaæ za pomoc± us³ugi PAM
mod_pam_econfig=Nie podana lub niepoprawna us³uga PAM

mod_readme_display=Zawiadamiaæ u¿ytkownika o&nbsp;plikach $quot;readme&quot; wg wzorca
mod_readme_none=Nie zawiadamiaæ
mod_readme_edisplay=Nie podano wzorca dla plików &quot;readme&quot;

start_err=Nie uda³o siê uruchomiæ serwera FTP
start_einetd=Nie mo¿na uruchamiaæ serwera jako demona, gdy jest w&nbsp;trybie inetd.

ftpaccess_title=Opcje dla plików w katalogu
ftpaccess_desc=Dodatkowe opcje dla katalogu mo¿na podawaæ w&nbsp;pliku (zazwyczaj o&nbsp;nazwie <tt>.ftpaccess</tt>) w&nbsp;danym katalogu.  Opcje te dotycz± wszystkich plików w&nbsp;tym katalogi i&nbsp;w&nbsp;jego podkatalogach, o&nbsp;ile nie zosta³y przes³oniête przez inny plik opcji.
ftpaccess_create=Utwórz plik opcji
ftpaccess_find=Szukaj plików opcji
ftpaccess_auto=Dla anonimowego
ftpaccess_from=W&nbsp;g³±b katalogu
ftpaccess_return=listy plików opcji

ftpusers_title=U¿ytkownicy nie dopuszczeni do FTP
ftpusers_desc=Dla wymienionych poni¿ej u¿ytkowników z&nbsp;pliku $1 bêdzie zablokowana mo¿liwo¶æ logowania siê jako u¿ytkownik FTP, o&nbsp;ile w³±czono to w&nbsp;sekcji <tt>Autoryzacja</tt> 

ftpindex_title=Plik opcji dla katalogu
ftpindex_delete=Usuñ plik
ftpindex_opts=Opcje dla katalogu
ftpindex_edit=Zmieñ dyrektywy
ftpindex_limit=Opcje dla polecenia
ftpindex_addlimit=Dodaj opcje dla polecenia ..
ftpindex_header2=$1 w $2
ftpindex_return=pliku opcji dla katalogu
ftpindex_header=Dla $1

find_err=Nie znaleziono plików opcji
find_eanon=Dla ¿adnego serwera wirtualnego nie ustawiono anonimowego FTP

log_global=Zmieniono opcje ogólne $1
log_ftpusers=Zmieniono u¿ytkowników FTP o zabronionym dostêpie
log_virtc=Utworzono serwer $1
log_virts=Przekonfigurowano serwer $1
log_virtd=Usuniêto serwer $1
log_virtm=Rêcznie zmieniono serwer $1
log_virt=Zmieniono $1 w serwerze $2
log_dirc=Utworzono katalog $1
log_dirc_l=Utworzono katalog $1 serwera $2
log_dirs=Zmieniono katalog $1
log_dirs_l=Zmieniono katalog $1 serwera $2
log_dird=Usuniêto katalog $1
log_dird_l=Usuniêto katalog $1 z&nbsp;serwera $2
log_dirm=Rêcznie zmieniono katalog $1
log_dirm_l=Rêcznie zmieniono katalog $1 serwera $2
log_dir=Zmieniono $1 w katalogu $2
log_dir_l=Zmieniono $1 w katalogu $2 serwera $3
log_limitc=Utworzono opcje dla poleceñ $1
log_limits=Przekonfigurowano opcje dla poleceñ $1
log_limitd=Usuniêto opcje dla poleceñ $1
log_limitm=Rêcznie zmieniono plik opcji dla poleceñ $1
log_limit=Zmieniono $1 w pliku opcji dla poleceñ $2
log_ftpaccessc=Utworzono plik opcji $1
log_ftpaccessd=Usuniêto plik opcji $1
log_ftpaccessm=Rêcznie zmieniono plik opcji $1
log_ftpaccess=Zmieniono $1 w pliku opcji $2
log_start=Uruchomiono proftpd
log_apply=Zastosowano zmiany
   0707010007626c000081e40000000000000002000000013d1fe2e5000009b6000000200000000000000000000000000000001e00000003reloc/proftpd/limit_index.cgi #!/usr/local/bin/perl
# limit_index.cgi
# Display a menu of icons for per-command options

require './proftpd-lib.pl';
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$dir = $conf->[$in{'idx'}];
		$conf = $dir->{'members'};
		}
	}
$l = $conf->[$in{'limit'}];
$ln = $l->{'value'};
&header($text{'limit_title'}, "");
print "<center><font size=+2>",
	$in{'file'} ? &text('limit_header6', $ln, &html_escape($in{'file'})) :
	$dir ? &text('limit_header4', $ln, $dir->{'words'}->[0]) :
	$in{'anon'} ? &text('limit_header5', $ln) :
	$in{'virt'} ?  &text('limit_header1', $ln, $v->{'words'}->[0]) :
	&text('limit_header2', $ln),"</font></center>\n";
print "<hr>\n";

$limit_icon = { "icon" => "images/limit.gif",
	        "name" => $text{'limit_limit'},
	        "link" => "edit_lserv.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}" };
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'limit_edit'},
	     "link" => $in{'file'} ? "manual_form.cgi?limit=$in{'limit'}&file=$in{'file'}" : "manual_form.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}" };
&config_icons("limit", "edit_limit.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}&", $limit_icon, $ed_icon);

print "<hr>\n";
if ($in{'file'}) {
	&footer("ftpaccess_index.cgi?file=$in{'file'}",$text{'ftpindex_return'},
		"ftpaccess.cgi", $text{'ftpaccess_return'},
		"", $text{'index_return'});
	}
elsif ($in{'idx'} eq '') {
	if ($in{'anon'}) {
		&footer("anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}
else {
	if ($in{'anon'}) {
		&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"anon_index.cgi?virt=$in{'virt'}",$text{'anon_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	else {
		&footer("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}", $text{'dir_return'},
			"virt_index.cgi?virt=$in{'virt'}",$text{'virt_return'},
			"", $text{'index_return'});
		}
	}

  0707010007626d000081a40000000000000002000000013d1fe2e500000a98000000200000000000000000000000000000001c00000003reloc/proftpd/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'proftpd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, long)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
local $typestr = "<i>".$text{"type_$type"}."</i>";
if ($action eq 'global') {
	return &text('log_global', $typestr);
	}
elsif ($action eq 'ftpusers') {
	return $text{'log_ftpusers'};
	}
elsif ($action eq 'virt') {
	$object = $object eq '-' ? $text{'index_defserv'}
				 : &html_escape($object);
	if ($type eq 'create') {
		return &text('log_virtc', "<tt>$object</tt>");
		}
	elsif ($type eq 'save') {
		return &text('log_virts', "<tt>$object</tt>");
		}
	elsif ($type eq 'delete') {
		return &text('log_virtd', "<tt>$object</tt>");
		}
	elsif ($type eq 'manual') {
		return &text('log_virtm', "<tt>$object</tt>");
		}
	else {
		return &text('log_virt', $typestr, "<tt>$object</tt>");
		}
	}
elsif ($action eq 'dir') {
	local ($virt, $dir) = split(/:/, $object);
	$virt = $virt ? &html_escape($virt) : $text{'index_defserv'};
	$dir = &html_escape($dir);
	if ($type eq 'create') {
		return &text($long ? 'log_dirc_l' : 'log_dirc',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'save') {
		return &text($long ? 'log_dirs_l' : 'log_dirs',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'delete') {
		return &text($long ? 'log_dird_l' : 'log_dird',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	elsif ($type eq 'manual') {
		return &text($long ? 'log_dirm_l' : 'log_dirm',
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	else {
		return &text($long ? 'log_dir_l' : 'log_dir', $typestr,
			     "<tt>$dir</tt>", "<tt>$virt</tt>");
		}
	}
elsif ($action eq 'limit') {
	if ($type eq 'create') {
		return &text('log_limitc', "<tt>$object</tt>");
		}
	elsif ($type eq 'save') {
		return &text('log_limits', "<tt>$object</tt>");
		}
	elsif ($type eq 'delete') {
		return &text('log_limitd', "<tt>$object</tt>");
		}
	elsif ($type eq 'manual') {
		return &text('log_limitm', "<tt>$object</tt>");
		}
	else {
		return &text('log_limit', $typestr, "<tt>$object</tt>");
		}
	}
elsif ($action eq 'ftpaccess') {
	if ($type eq 'create') {
		return &text('log_ftpaccessc', "<tt>$object</tt>");
		}
	elsif ($type eq 'save') {
		return &text('log_ftpaccesss', "<tt>$object</tt>");
		}
	elsif ($type eq 'delete') {
		return &text('log_ftpaccessd', "<tt>$object</tt>");
		}
	elsif ($type eq 'manual') {
		return &text('log_ftpaccessm', "<tt>$object</tt>");
		}
	else {
		return &text('log_ftpaccess', $typestr, "<tt>$object</tt>");
		}
	}
else {
	return $text{"log_$action"};
	}
}

0707010007626e000081e40000000000000002000000013d1fe2e500000c20000000200000000000000000000000000000001e00000003reloc/proftpd/manual_form.cgi #!/usr/local/bin/perl
# manual.cgi
# Display a text box for manually editing directives

require './proftpd-lib.pl';
&ReadParse();
&header($text{'manual_title'}, "");
if (defined($in{'virt'})) {
	if (defined($in{'limit'})) {
		# limit, maybe within a directory
		($conf, $v) = &get_virtual_config($in{'virt'});
		if ($in{'anon'}) {
			$anon = &find_directive_struct("Anonymous", $conf);
			$conf = $anon->{'members'};
			}
		if ($in{'idx'} ne '') {
			$dir = $conf->[$in{'idx'}];
			$conf = $dir->{'members'};
			}
		$l = $conf->[$in{'limit'}];
		$ln = $l->{'value'};
		$title = $dir ?
			&text('limit_header4', $ln, $dir->{'words'}->[0]) :
			$in{'virt'} ?
			&text('limit_header1', $ln, $v->{'words'}->[0]) :
			&text('limit_header2', $ln);
		$return = "limit_index.cgi"; $rmsg = $text{'limit_return'};
		$file = $l->{'file'};
		$start = $l->{'line'}+1; $end = $l->{'eline'}-1;
		}
	elsif (defined($in{'idx'})) {
		# directory within virtual server
		($vconf, $v) = &get_virtual_config($in{'virt'});
		if ($in{'anon'}) {
			$anon = &find_directive_struct("Anonymous", $vconf);
			$vconf = $anon->{'members'};
			}
		$d = $vconf->[$in{'idx'}];
		$dn = $d->{'words'}->[0];
		$title = $in{'anon'} ? &text('dir_header4', $dn) : $in{'virt'} ?
			&text('dir_header1', $dn, $v->{'words'}->[0]) :
			&text('dir_header2', $dn);
		$return = "dir_index.cgi"; $rmsg = $text{'dir_return'};
		$file = $d->{'file'};
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		}
	else {
		# virtual server
		($conf, $v) = &get_virtual_config($in{'virt'});
		$title = $in{'virt'} eq '' ? $text{'virt_header2'} :
		         &text('virt_header1', $v->{'value'});
		$return = "virt_index.cgi"; $rmsg = $text{'virt_return'};
		$file = $v->{'file'};
		$start = $v->{'line'}+1; $end = $v->{'eline'}-1;
		}
	}
else {
	if (defined($in{'limit'})) {
		# limit within .ftpaccess file
		$hconf = &get_ftpaccess_config($in{'file'});
		$l = $hconf->[$in{'limit'}];
		$file = $in{'file'};
		$start = $l->{'line'}+1; $end = $l->{'eline'}-1;
		$title = &text('limit_header6', $l->{'value'},
			       "<tt>$in{'file'}</tt>");
		$return = "limit_index.cgi";
		$rmsg = $text{'limit_return'};
		}
	else {
		# .ftpaccess file
		$file = $in{'file'};
		$title = &text('ftpindex_header', "<tt>$in{'file'}</tt>");
		$return = "ftpaccess_index.cgi";
		$rmsg = $text{'ftpindex_return'};
		}
	}
print "<center><font size=+2>$title</font></center>\n";
print "<hr>\n";

print &text('manual_header', "<tt>$file</tt>"),"<p>\n";
print "<form action=manual_save.cgi method=post enctype=multipart/form-data>\n";
foreach $h ('virt', 'idx', 'file', 'limit', 'anon') {
	if (defined($in{$h})) {
		print "<input type=hidden name=$h value='$in{$h}'>\n";
		push(@args, "$h=$in{$h}");
		}
	}
$args = join('&', @args);

print "<textarea rows=15 cols=80 name=directives>\n";
$lref = &read_file_lines($file);
if (!defined($start)) {
	$start = 0;
	$end = @$lref - 1;
	}
for($i=$start; $i<=$end; $i++) {
	print &html_escape($lref->[$i]),"\n";
	}
print "</textarea><br><input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("$return?$args", $rmsg);

0707010007626f000081e40000000000000002000000013d1fe2e5000008df000000200000000000000000000000000000001e00000003reloc/proftpd/manual_save.cgi #!/usr/local/bin/perl
# manual_save.cgi
# Save manually entered directives

require './proftpd-lib.pl';
&ReadParseMime();
if (defined($in{'virt'})) {
	if (defined($in{'limit'})) {
		# limit, maybe within a directory
		($conf, $v) = &get_virtual_config($in{'virt'});
		if ($in{'anon'}) {
			$anon = &find_directive_struct("Anonymous", $conf);
			$conf = $anon->{'members'};
			}
		if ($in{'idx'} ne '') {
			$conf = $conf->[$in{'idx'}]->{'members'};
			}
		$l = $conf->[$in{'limit'}];
		$file = $l->{'file'};
		$return = "limit_index.cgi";
		$start = $l->{'line'}+1; $end = $l->{'eline'}-1;
		$logtype = 'limit';
		$logname = $l->{'value'};
		}
	elsif (defined($in{'idx'})) {
		# directory within virtual server
		($vconf, $v) = &get_virtual_config($in{'virt'});
		if ($in{'anon'}) {
			$anon = &find_directive_struct("Anonymous", $vconf);
			$vconf = $anon->{'members'};
			}
		$d = $vconf->[$in{'idx'}];
		$file = $d->{'file'};
		$return = "dir_index.cgi";
		$start = $d->{'line'}+1; $end = $d->{'eline'}-1;
		$logtype = 'dir';
		$logname = "$v->{'value'}:$d->{'words'}->[0]";
		}
	else {
		# virtual server
		($conf, $v) = &get_virtual_config($in{'virt'});
		$return = "virt_index.cgi";
		$file = $v->{'file'};
		$start = $v->{'line'}+1; $end = $v->{'eline'}-1;
		$logtype = 'virt'; $logname = $v->{'words'}->[0];
		}
	}
else {
	if (defined($in{'limit'})) {
		# files within .htaccess file
		$hconf = &get_ftpaccess_config($in{'file'});
		$l = $hconf->[$in{'limit'}];
		$file = $in{'file'};
		$return = "limit_index.cgi";
		$start = $l->{'line'}+1; $end = $l->{'eline'}-1;
		$logtype = 'limit';
		$logname = $l->{'value'};
		}
	else {
		# .htaccess file
		$file = $in{'file'};
		$return = "ftpaccess_index.cgi";
		$logtype = 'ftpaccess'; $logname = $in{'file'};
		}
	}

&lock_file($file);
$in{'directives'} =~ s/\r//g;
$in{'directives'} =~ s/\s+$//;
@dirs = split(/\n/, $in{'directives'});
$lref = &read_file_lines($file);
if (!defined($start)) {
	$start = 0;
	$end = @$lref - 1;
	}
splice(@$lref, $start, $end-$start+1, @dirs);
&flush_file_lines();
&unlock_file($file);
&webmin_log($logtype, "manual", $logname, \%in);

foreach $h ('virt', 'idx', 'file', 'limit', 'anon') {
	push(@args, "$h=$in{$h}") if (defined($in{$h}));
	}
&redirect("$return?".join("&", @args));

 07070100076270000081a40000000000000002000000013d1fe2e5000008e9000000200000000000000000000000000000001a00000003reloc/proftpd/mod_auth.pl # mod_auth.pl

sub mod_auth_directives
{
local $rv = [
	[ 'DefaultChdir', 0, 2, 'virtual anon global', 1.20 ],
	[ 'DefaultRoot', 1, 2, 'virtual global', 0.99 ],
	[ 'LoginPasswordPrompt', 0, 3, 'virtual anon global', 1.20 ],
	[ 'RootLogin', 0, 6, 'virtual anon global', 1.15 ]
	];
return &make_directives($rv, $_[0], "mod_auth");
}

sub edit_DefaultChdir
{
return (1, $text{'mod_auth_chdir'},
	&opt_input($_[0]->{'value'}, "DefaultChdir", $text{'default'}, 20));
}
sub save_DefaultChdir
{
return &parse_opt("DefaultChdir", '^\S+$', $text{'mod_auth_echdir'});
}

sub edit_DefaultRoot
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'mod_auth_dir'}</b></td> ".
	    "<td><b>$text{'mod_auth_groups'}</b></td> </tr>\n";
local $i = 0;
foreach $r (@{$_[0]}, { }) {
	local @w = @{$r->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=DefaultRoot_d_$i size=25 value='$w[0]'></td>\n";
	$rv .= sprintf "<td><input name=DefaultRoot_gd_$i type=radio value=1 %s> %s\n", $w[1] ? "" : "checked", $text{'mod_auth_all'};
	$rv .= sprintf "<input name=DefaultRoot_gd_$i type=radio value=0 %s>\n", $w[1] ? "checked" : "";
	$rv .= sprintf "<input name=DefaultRoot_g_$i size=20 value='%s'></td>\n", join(" ", split(/,/, $w[1]));
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'mod_auth_chroot'}, $rv);
}
sub save_DefaultRoot
{
for($i=0; defined($in{"DefaultRoot_d_$i"}); $i++) {
	next if (!$in{"DefaultRoot_d_$i"});
	$in{"DefaultRoot_d_$i"} =~ /^\S+$/ || &error($text{'mod_auth_edir'});
	local $v = $in{"DefaultRoot_d_$i"};
	if (!$in{"DefaultRoot_gd_$i"}) {
		local @g = split(/\s+/, $in{"DefaultRoot_g_$i"});
		@g || &error($text{'mod_auth_egroups'});
		$v .= " ".join(",", @g);
		}
	push(@rv, $v);
	}
return ( \@rv );
}

sub edit_LoginPasswordPrompt
{
return (1, $text{'mod_auth_login'},
	&choice_input($_[0]->{'value'}, "LoginPasswordPrompt", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_LoginPasswordPrompt
{
return &parse_choice("LoginPasswordPrompt", "");
}

sub edit_RootLogin
{
return (1, $text{'mod_auth_root'},
	&choice_input($_[0]->{'value'}, "RootLogin", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_RootLogin
{
return &parse_choice("RootLogin", "");
}


   07070100076271000081a40000000000000002000000013d1fe2e50000993a000000200000000000000000000000000000001a00000003reloc/proftpd/mod_core.pl # mod_core.pl
# Core proftpd directives

# mod_core_directives(version)
# Returns a directive structure, like the one user by Apache. Types are :
#	0 - Networking
#	1 - Logging
#	2 - Files
#	3 - Access control
#	4 - Misc
#	5 - User and Group
#	6 - Authentication
sub mod_core_directives
{
local $rv = [
	[ 'AccessDenyMsg', 0, 3, 'virtual anon global', 1.22 ],
	[ 'AccessGrantMsg', 0, 3, 'virtual anon global', 0.99 ],
	[ 'Allow Deny Order', 1, 3, 'limit', 0.99 ],
	[ 'AllowAll DenyAll', 0, 3, 'directory anon limit ftpaccess', 0.99 ],
	[ 'AllowFilter', 0, 3, 'virtual anon global', 1.20 ],
	[ 'AllowForeignAddress', 0, 0, 'virtual anon global', 1.17 ],
	[ 'AllowGroup', 1, 3, 'limit', 1.11 ],
	[ 'AllowOverwrite', 0, 3, 'virtual anon directory ftpaccess global', 0.99 ],
	[ 'AllowUser', 1, 3, 'limit', 1.17 ],
	[ 'AllowRetrieveRestart', 0, 0, 'virtual anon directory global ftpaccess', 0.99 ],
	[ 'AllowStoreRestart', 0, 0, 'virtual anon directory global ftpaccess', 0.99 ],
	[ 'AnonRequirePassword', 0, 6, 'anon', 0.99 ],
	[ 'AnonymousGroup', 0, 6, 'virtual global', 1.13 ],
	[ 'AuthAliasOnly', 0, 6, 'virtual anon global', 1.13 ],
	[ 'AuthUsingAlias', 0, 6, 'anon', 1.20 ],
	[ 'Bind', 0, 0, 'virtual', 1.16 ],
	[ 'CDPath', 1, 2, 'virtual anon global', 1.20 ],
	[ 'Class Classes', 1, 3, 'virtual', 1.20 ],
	[ 'CommandBufferSize', 0, 0, 'virtual global', 1.20 ],
	[ 'DefaultServer', 0, 0, 'virtual', undef, 0.99, 8 ],
	[ 'DefaultTransferMode', 0, 0, 'virtual global', 1.20 ],
	[ 'DeferWelcome', 0, 0, 'virtual global', 0.99 ],
	[ 'DeleteAbortedStores', 0, 2, 'virtual directory anon global ftpaccess', 1.20 ],
	[ 'DenyFilter', 0, 3, 'virtual anon global', 1.20 ],
	[ 'DenyGroup', 1, 3, 'limit', 1.11 ],
	[ 'DenyUser', 1, 3, 'limit', 1.17 ],
	[ 'DisplayConnect', 0, 6, 'virtual global', 1.20 ],
	[ 'DisplayFirstChdir', 0, 2, 'virtual anon directory global', 0.99 ],
	[ 'DisplayGoAway', 0, 6, 'virtual anon global', 1.20 ],
	[ 'DisplayLogin', 0, 6, 'virtual anon global', 0.99 ],
	[ 'DisplayQuit', 0, 6, 'virtual anon global', 1.20 ],
	[ 'Group', 0, 5, 'virtual anon', undef, 0.99, 9 ],
	[ 'GroupOwner', 0, 5, 'anon directory ftpaccess', 0.99 ],
	[ 'GroupPassword', 1, 6, 'virtual anon global', 0.99 ],
	[ 'HiddenStor', 0, 2, 'virtual anon directory global', 1.20 ],
	[ 'HideGroup', 1, 2, 'directory anon', 0.99 ],
	[ 'HideNoAccess', 0, 2, 'directory anon', 0.99 ],
	[ 'HideUser', 1, 2, 'directory anon', 0.99 ],
	[ 'IdentLookups', 0, 0, 'virtual global', 1.15 ],
	[ 'IgnoreHidden', 0, 2, 'limit', 0.99 ],
	[ 'MasqueradeAddress', 0, 0, 'virtual', 1.22 ],
	[ 'MaxClients', 0, 0, 'virtual anon global', 0.99 ],
	[ 'MaxClientsPerHost', 0, 0, 'virtual anon global', 1.17 ],
#	[ 'MaxClientsPerUser', 0, 0, 'virtual anon global', 1.20 ],
	[ 'MaxInstances', 0, 0, 'root', undef, 1.16, 8 ],
	[ 'MaxLoginAttempts', 0, 6, 'virtual global', 0.99 ],
	[ 'MultilineRFC2228', 0, 0, 'root', 1.20 ],
	[ 'PassivePorts', 0, 0, 'virtual global', 1.20 ],
	[ 'PathAllowFilter', 0, 2, 'virtual anon global', 1.17 ],
	[ 'PathDenyFilter', 0, 2, 'virtual anon global', 1.17 ],
	[ 'PidFile', 0, 4, 'root', 1.20 ],
	[ 'Port', 0, 0, 'virtual', 0.99 ],
	[ 'RequireValidShell', 0, 6, 'virtual anon global', 0.99 ],
	[ 'RLimitCPU', 0, 4, 'root', 1.22 ],
	[ 'RLimitMemory', 0, 4, 'root', 1.22 ],
	[ 'RLimitOpenFiles', 0, 4, 'root', 1.22 ],
	[ 'ScoreboardPath', 0, 4, 'root', 1.16 ],
	[ 'ServerAdmin', 0, 4, 'virtual', 0.99 ],
	[ 'ServerIdent', 0, 0, 'virtual global', 1.20 ],
	[ 'ServerName', 0, 4, 'virtual', undef, 0.99, 11 ],
	[ 'ServerType', 0, 0, 'root', undef, 0.99, 10 ],
	[ 'ShowSymlinks', 0, 2, 'virtual anon global', 0.99 ],
	[ 'SocketBindTight', 0, 0, 'root', 0.99 ],
	[ 'SyslogFacility', 0, 1, 'root', 1.16 ],
	[ 'SyslogLevel', 0, 1, 'virtual anon global', 1.20 ],
	[ 'tcpBackLog', 0, 0, 'root', 0.99 ],
	[ 'tcpNoDelay', 0, 0, 'virtual global', 1.20 ],
	[ 'tcpReceiveWindow', 0, 0, 'virtual', 0.99 ],
	[ 'tcpSendWindow', 0, 0, 'virtual', 0.99 ],
	[ 'TimesGMT', 0, 4, 'root', 1.20 ],
	[ 'TimeoutIdle', 0, 0, 'root', 0.99 ],
	[ 'TimeoutLogin', 0, 0, 'root', 0.99 ],
	[ 'TimeoutNoTransfer', 0, 0, 'root', 0.99 ],
	[ 'TimeoutStalled', 0, 0, 'root', 1.16 ],
	[ 'TransferLog', 0, 1, 'virtual anon', undef, 1.14, 10 ],
	[ 'Umask', 0, 2, 'virtual directory ftpaccess', undef, 0.99, 3 ],
	[ 'UseFtpUsers', 0, 6, 'virtual anon global', 0.99 ],
	[ 'UseHostsAllowFile', 0, 3, 'virtual anon', 1.20 ],
	[ 'UseHostsDenyFile', 0, 3, 'virtual anon', 1.20 ],
	[ 'UseReverseDNS', 0, 0, 'root', 1.17 ],
	[ 'User', 0, 5, 'virtual anon', undef, 0.99, 10 ],
	[ 'UserDirRoot', 0, 2, 'anon', 1.20 ],
	[ 'UserAlias', 1, 6, 'virtual anon global', 0.99 ],
	[ 'UserOwner', 0, 5, 'anon directory', 1.20 ],
	[ 'UserPassword', 1, 6, 'virtual anon global', 0.99 ],
	[ 'WtmpLog', 0, 4, 'virtual anon global', 1.17 ],
	];
return &make_directives($rv, $_[0], "mod_core");
}

sub edit_AccessDenyMsg
{
return (1, $text{'mod_core_accessdeny'},
	&opt_input($_[0]->{'words'}->[0], "AccessDenyMsg", $text{'default'}, 20));
}
sub save_AccessDenyMsg
{
return &parse_opt("AccessDenyMsg");
}

sub edit_AccessGrantMsg
{
return (1, $text{'mod_core_accessgrant'},
	&opt_input($_[0]->{'words'}->[0], "AccessGrantMsg", $text{'default'}, 20));
}
sub save_AccessGrantMsg
{
return &parse_opt("AccessGrantMsg");
}

sub edit_Allow_Deny_Order
{
local (@type, @what, @mode, $i);
foreach $d (@{$_[0]}, @{$_[1]}) {
	local @w = @{$d->{'words'}};
	shift(@w) if (lc($w[0]) eq 'from');
	for($i=0; $i<@w; $i++) {
		push(@type, lc($d->{'name'}) eq "allow" ? 1 : 2);
		push(@what, $w[$i] eq 'all' || $w[$i] eq 'none' ? undef
								: $w[$i]);
		if ($w[$i] eq 'all') { push(@mode, 0); }
		elsif ($w[$i] eq 'none') { push(@mode, 1); }
		elsif ($w[$i] =~ /^\d+\.\d+\.\d+\.\d+$/) { push(@mode, 2); }
		elsif ($w[$i] =~ /^[0-9\.\/]+$/) { push(@mode, 3); }
		else { push(@mode, 4); }
		}
	}
push(@type, ""); push(@what, ""); push(@mode, 0);
$rv = "<i>$text{'mod_core_order'}</i>\n".
      &choice_input($_[2]->[0]->{'value'}, "order", "",
      		    "$text{'mod_core_denyallow'},deny,allow", 
      		    "$text{'mod_core_allowdeny'},allow,deny", 
      		    "$text{'default'},")."<br>\n";
$rv .= "<table border>\n".
       "<tr $tb> <td><b>$text{'mod_core_action'}</b></td> ".
       "<td><b>$text{'mod_core_cond'}</b></td> </tr>\n";
@sels = map { $text{"mod_core_mode_$_"}.','.$_ } (0 .. 4);
for($i=0; $i<@type; $i++) {
	$rv .= "<tr $cb> <td>".&select_input($type[$i], "allow_type_$i", "0",
		"&nbsp;,0", "$text{'mod_core_allow'},1",
		"$text{'mod_core_deny'},2")."</td>\n";
	$rv .= "<td>".&select_input($mode[$i], "allow_mode_$i", "0", @sels);
	$rv .= sprintf "<input name=allow_what_$i size=20 value=\"%s\"></td>\n",
		 $mode[$i] ? $what[$i] : "";
	$rv .= "</tr>\n";
	}
$rv .= "</table>\n";
return (2, $text{'mod_core_allow_deny'}, $rv);
}
sub save_Allow_Deny_Order
{
local ($i, $type, $mode, $what, @allow, @deny);
for($i=0; defined($type = $in{"allow_type_$i"}); $i++) {
	$mode = $in{"allow_mode_$i"}; $what = $in{"allow_what_$i"};
	next if (!$type);
	if ($mode == 0) { $what = "all"; }
	elsif ($mode == 1) { $what = "none"; }
	elsif ($mode == 2) {
		&check_ipaddress($what) || &error(&text('mod_core_eip', $what));
		}
	elsif ($mode == 3) {
		$what =~ /^[0-9\.]+\.$/ ||
			$what =~ /^([0-9\.]+)\/\d+$/ && &check_ipaddress($1) ||
				&error(&text('mod_core_enet', $what));
		}
	elsif ($mode == 4) {
		$what =~ /^[A-Za-z0-9\.\-]+$/ ||
			&error(&text('mod_core_ehost', $what));
		}
	if ($type == 1) { push(@allow, $what); }
	else { push(@deny, $what); }
	}
return ( \@allow, \@deny, &parse_choice("order", ""));
}

sub edit_AllowAll_DenyAll
{
#local $a = @{$_[0]}, $d = @{$_[1]};
local $a = $_[0], $d = $_[1];
local $rv = sprintf "<input type=radio name=AllowAll value=0 %s> %s\n",
	$a || $d ? "" : "checked", $text{'mod_core_addefault'};
$rv .= sprintf "<input type=radio name=AllowAll value=1 %s> %s\n",
	$a ? "checked" : "", $text{'mod_core_allowall'};
$rv .= sprintf "<input type=radio name=AllowAll value=2 %s> %s\n",
	$d ? "checked" : "", $text{'mod_core_denyall'};
return (1, $text{'mod_core_adall'}, $rv);
}
sub save_AllowAll_DenyAll
{
return $in{'AllowAll'} == 0 ? ( [ ], [ ] ) :
       $in{'AllowAll'} == 1 ? ( [ "" ], [ ] ) : ( [ ], [ "" ] );
}

sub edit_AllowFilter
{
return (1, $text{'mod_core_filter'},
	&opt_input($_[0]->{'value'}, "AllowFilter", $text{'default'}, 15));
}
sub save_AllowFilter
{
return &parse_opt("AllowFilter");
}

sub edit_AllowForeignAddress
{
return (1, $text{'mod_core_foreign'},
	&choice_input($_[0]->{'value'}, "AllowForeignAddress", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AllowForeignAddress
{
return &parse_choice("AllowForeignAddress", "");
}

sub edit_AllowGroup
{
local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef;
return (2, $text{'mod_core_agroup'},
	&opt_input($v, "AllowGroup", $text{'mod_core_all'}, 50));
}
sub save_AllowGroup
{
return ( $in{'AllowGroup_def'} ? [ ] : [ split(/\s+/, $in{'AllowGroup'}) ] );
}

sub edit_AllowOverwrite
{
return (1, $text{'mod_core_overwrite'},
	&choice_input($_[0]->{'value'}, "AllowOverwrite", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AllowOverwrite
{
return &parse_choice("AllowOverwrite", "");
}

sub edit_AllowRetrieveRestart
{
return (1, $text{'mod_core_restart'},
	&choice_input($_[0]->{'value'}, "AllowRetrieveRestart", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AllowRetrieveRestart
{
return &parse_choice("AllowRetrieveRestart", "");
}

sub edit_AllowStoreRestart
{
return (1, $text{'mod_core_restart2'},
	&choice_input($_[0]->{'value'}, "AllowStoreRestart", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AllowStoreRestart
{
return &parse_choice("AllowStoreRestart", "");
}

sub edit_AllowUser
{
local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef;
return (2, $text{'mod_core_auser'},
	&opt_input($v, "AllowUser", $text{'mod_core_all'}, 50));
}
sub save_AllowUser
{
return ( $in{'AllowUser_def'} ? [ ] : [ split(/\s+/, $in{'AllowUser'}) ] );
}

sub edit_AnonRequirePassword
{
return (1, $text{'mod_core_require'},
	&choice_input($_[0]->{'value'}, "AnonRequirePassword", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AnonRequirePassword
{
return &parse_choice("AnonRequirePassword", "");
}

sub edit_AnonymousGroup
{
return (2, $text{'mod_core_anongroup'},
	&opt_input($_[0]->{'value'}, "AnonymousGroup", $text{'default'}, 50));
	
}
sub save_AnonymousGroup
{
return &parse_opt("AnonymousGroup", '\S', $text{'mod_core_eanongroup'});
}

sub edit_AuthAliasOnly
{
return (1, $text{'mod_core_authalias'},
	&choice_input($_[0]->{'value'}, "AuthAliasOnly", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AuthAliasOnly
{
return &parse_choice("AuthAliasOnly", "");
}

sub edit_AuthUsingAlias
{
return (1, $text{'mod_core_authusingalias'},
	&choice_input($_[0]->{'value'}, "AuthUsingAlias", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AuthUsingAlias
{
return &parse_choice("AuthUsingAlias", "");
}

sub edit_Bind
{
return (1, $text{'mod_core_bind'},
	&opt_input($_[0]->{'value'}, "Bind", $text{'mod_core_bind_all'}, 15));
}
sub save_Bind
{
return &parse_opt("Bind", '^(\d+)\.(\d+)\.(\d+)\.(\d+)$',
		  $text{'mod_core_ebind'});
}

sub edit_CDPath
{
local $rv = "<textarea rows=3 cols=50 name=CDPath>";
foreach $p (@{$_[0]}) {
	$rv .= "$p->{'value'}\n";
	}
$rv .= "</textarea>\n";
return (2, $text{'mod_core_cdpath'}, $rv);
}
sub save_CDPath
{
$in{'CDPath'} =~ s/\r//g;
return ( [ split(/\s+/, $in{'CDPath'}) ] );
}

sub edit_Class_Classes
{
local $rv = $text{'mod_core_classes'}.
	    &choice_input($_[1]->[0]->{'value'}, "Classes", "",
		          "$text{'yes'},on", "$text{'no'},off",
		      	  "$text{'default'},")."<br>\n";
$rv .= "<table border>\n".
       "<tr $tb> <td><b>$text{'mod_core_cname'}</b></td> ".
       "<td><b>$text{'mod_core_ctype'}</b></td> </tr>\n";
local $i = 0;
foreach $c (@{$_[0]}, { }) {
	local @w = @{$c->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=Class_n_$i size=10 value='$w[0]'></td>\n";
	$rv .= "<td><select name=Class_t_$i>\n";
	$rv .= sprintf "<option value=limit %s>%s\n",
		$w[1] eq 'limit' ? 'selected' : '', $text{'mod_core_climit'};
	$rv .= sprintf "<option value=regex %s>%s\n",
		$w[1] eq 'regex' ? 'selected' : '', $text{'mod_core_cregex'};
	$rv .= sprintf "<option value=ip %s>%s\n",
		$w[1] eq 'ip' ? 'selected' : '', $text{'mod_core_cip'};
	$rv .= "</select>\n";
	$rv .= "<input name=Class_v_$i size=20 value='$w[2]'></td>\n";
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'mod_core_cls'}, $rv);
}
sub save_Class_Classes
{
local ($i, @rv);
for($i=0; defined($in{"Class_n_$i"}); $i++) {
	next if (!$in{"Class_n_$i"});
	$in{"Class_t_$i"} ne 'limit' ||
		$in{"Class_v_$i"} =~ /^\d+$/ ||
			&error($text{'mod_core_eclimit'});
	$in{"Class_t_$i"} ne 'regex' ||
		$in{"Class_v_$i"} =~ /\S/ ||
			&error($text{'mod_core_ecregex'});
	$in{"Class_t_$i"} ne 'ip' ||
		$in{"Class_v_$i"} =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\/(\d+)$/ ||
			&error($text{'mod_core_ecip'});
	push(@rv, join(" ", $in{"Class_n_$i"}, $in{"Class_t_$i"},
			    $in{"Class_v_$i"}));
	}
return ( \@rv, $in{'Classes'} eq 'on' ? [ 'on' ] :
	       $in{'Classes'} eq 'off' ? [ 'off' ] : [ ] );
}

sub edit_CommandBufferSize
{
return (1, $text{'mod_core_buffer'},
	&opt_input($_[0]->{'value'}, "CommandBufferSize", $text{'default'}, 5));
}
sub save_CommandBufferSize
{
return &parse_opt("CommandBufferSize", '^\d+$', $text{'mod_core_ebuffer'});
}

sub edit_DefaultServer
{
return (1, $text{'mod_core_defaultserver'},
	&choice_input($_[0]->{'value'}, "DefaultServer", "off",
		      "$text{'yes'},on",
		      "$text{'no'},off"));
}
sub save_DefaultServer
{
return &parse_choice("DefaultServer", "off");
}

sub edit_DefaultTransferMode
{
return (1, $text{'mod_core_transfer'},
	&select_input($_[0]->{'value'}, "DefaultTransferMode", "",
		      "$text{'mod_core_ascii'},ascii",
		      "$text{'mod_core_binary'},binary",
		      "$text{'default'},"));
}
sub save_DefaultTransferMode
{
return &parse_choice("DefaultTransferMode", "");
}

sub edit_DeferWelcome
{
return (1, $text{'mod_core_defer'},
	&choice_input($_[0]->{'value'}, "DeferWelcome", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_DeferWelcome
{
return &parse_choice("DeferWelcome", "");
}

sub edit_DeleteAbortedStores
{
return (1, $text{'mod_core_aborted'},
	&choice_input($_[0]->{'value'}, "DeleteAbortedStores", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_DeleteAbortedStores
{
return &parse_choice("DeleteAbortedStores", "");
}

sub edit_DenyFilter
{
return (1, $text{'mod_core_dfilter'},
	&opt_input($_[0]->{'value'}, "AllowFilter", $text{'default'}, 15));
}
sub save_DenyFilter
{
return &parse_opt("AllowFilter");
}

sub edit_DenyGroup
{
local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef;
return (2, $text{'mod_core_dgroup'},
	&opt_input($v, "DenyGroup", $text{'mod_core_none'}, 50));
}
sub save_DenyGroup
{
return ( $in{'DenyGroup_def'} ? [ ] : [ split(/\s+/, $in{'DenyGroup'}) ] );
}

sub edit_DenyUser
{
local $v = @{$_[0]} ? join(" ", (map { $_->{'value'} } @{$_[0]})) : undef;
return (2, $text{'mod_core_duser'},
	&opt_input($v, "DenyUser", $text{'mod_core_none'}, 50));
}
sub save_DenyUser
{
return ( $in{'DenyUser_def'} ? [ ] : [ split(/\s+/, $in{'DenyUser'}) ] );
}

sub edit_DisplayConnect
{
return (2, $text{'mod_core_display'},
	&opt_input($_[0]->{'value'}, "DisplayConnect",
		   $text{'mod_core_none'}, 50));
}
sub save_DisplayConnect
{
return &parse_opt("DisplayConnect", '\S', $text{'mod_core_edisplay'});
}

sub edit_DisplayFirstChdir
{
return (1, $text{'mod_core_firstcd'},
	&opt_input($_[0]->{'value'}, "DisplayFirstChdir",
		   $text{'mod_core_none'}, 15));
}
sub save_DisplayFirstChdir
{
return &parse_opt("DisplayFirstChdir", '^\S+$', $text{'mod_core_efirstcd'});
}

sub edit_DisplayGoAway
{
return (2, $text{'mod_core_goaway'},
	&opt_input($_[0]->{'value'}, "DisplayGoAway",
		   $text{'mod_core_none'}, 50));
}
sub save_DisplayGoAway
{
return &parse_opt("DisplayGoAway", '\S', $text{'mod_core_egoaway'});
}

sub edit_DisplayLogin
{
return (2, $text{'mod_core_login'},
	&opt_input($_[0]->{'value'}, "DisplayLogin",
		   $text{'mod_core_none'}, 50));
}
sub save_DisplayLogin
{
return &parse_opt("DisplayLogin", '\S', $text{'mod_core_elogin'});
}

sub edit_DisplayQuit
{
return (2, $text{'mod_core_quit'},
	&opt_input($_[0]->{'value'}, "DisplayQuit",
		   $text{'mod_core_none'}, 50));
}
sub save_DisplayQuit
{
return &parse_opt("DisplayQuit", '\S', $text{'mod_core_equit'});
}

sub edit_Group
{
local($rv, @ginfo);
$rv = sprintf "<input type=radio name=Group value=0 %s> $text{'default'}\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=Group value=1 %s> %s\n",
        $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "",
	$text{'mod_core_gname'};
$rv .= sprintf "<input name=Group_name size=8 value=\"%s\"> %s\n",
	$_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "",
	&group_chooser_button("Group_name", 0);
$rv .= sprintf "<input type=radio name=Group value=2 %s> %s\n",
        $_[0]->{'value'} =~ /^#/ ? "checked" : "",
	$text{'mod_core_gid'};
$rv .= sprintf "<input name=Group_id size=6 value=\"%s\">\n",
	 $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : "";
return (2, $text{'mod_core_group'}, $rv);
}
sub save_Group
{
if ($in{'Group'} == 0) { return ( [ ] ); }
elsif ($in{'Group'} == 1) { return ( [ $in{'Group_name'} ] ); }
elsif ($in{'Group_id'} !~ /^\-?\d+$/) {
	&error(&text('core_euid', $in{'Group_id'}));
	}
else { return ( [ "#$in{'Group_id'}" ] ); }
}

sub edit_GroupOwner
{
return (1, $text{'mod_core_gowner'},
	&opt_input($_[0]->{'value'}, "GroupOwner", $text{'default'}, 13,
		   &group_chooser_button("GroupOwner")));
}
sub save_GroupOwner
{
if ($in{'GroupOwner_def'}) { return ( [ ] ); }
else {
	getgrnam($in{'GroupOwner'}) || &error($text{'mod_core_egowner'});
	return ( [ $in{'GroupOwner'} ] );
	}
}

sub edit_GroupPassword
{
local $rv = "<table border>\n";
$rv .= "<tr $tb> <td><b>$text{'mod_core_gpname'}</b></td> ".
       "<td><b>$text{'mod_core_gppass'}</b></td> </tr>\n";
local $i = 0;
foreach $g (@{$_[0]}) {
	local @v = @{$g->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=GroupPassword_n_$i size=13 value='$v[0]'></td>\n";
	$rv .= "<td><input type=radio name=GroupPassword_d_$i value='$v[1]' checked> $text{'mod_core_gpdef'}\n";
	$rv .= "<input type=radio name=GroupPassword_d_$i value=0>\n";
	$rv .= "<input name=GroupPassword_p_$i size=25></td> </tr>\n";
	$i++;
	}
$rv .= "<tr $cb>\n".
       "<td><input name=GroupPassword_n_$i size=13></td>\n".
       "<td><input name=GroupPassword_p_$i size=35></td>\n".
       "</tr> </table>\n";
return (2, $text{'mod_core_grouppassword'}, $rv);
}
sub save_GroupPassword
{
local @rv;
for($i=0; defined($in{"GroupPassword_n_$i"}); $i++) {
	next if (!$in{"GroupPassword_n_$i"});
	scalar(getgrnam($in{"GroupPassword_n_$i"})) ||
		&error($text{'mod_core_egpname'});
	if ($in{"GroupPassword_d_$i"}) {
		push(@rv, $in{"GroupPassword_n_$i"}.' '.
			  $in{"GroupPassword_d_$i"});
		}
	else {
		$salt = substr(time(), 0, 2);
		push(@rv, $in{"GroupPassword_n_$i"}.' '.
			  crypt($in{"GroupPassword_p_$i"}, $salt));
		}
	}
return ( \@rv );
}

sub edit_HiddenStor
{
return (1, $text{'mod_core_hstor'},
	&choice_input($_[0]->{'value'}, "HiddenStor", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_HiddenStor
{
return &parse_choice("HiddenStor", "");
}

sub edit_HideGroup
{
return (2, $text{'mod_core_hgroup'},
	sprintf "<input name=HideGroup size=50 value='%s'>",
	 join(" ", map { $_->{'value'} } @{$_[0]}));
}
sub save_HideGroup
{
local @hg = split(/\s+/, $in{'HideGroup'});
foreach $g (@hg) {
	scalar(getgrnam($g)) || &error($text{'mod_core_ehgroup'});
	}
return ( \@hg );
}

sub edit_HideNoAccess
{
return (1, $text{'mod_core_hnoaccess'},
	&choice_input($_[0]->{'value'}, "HideNoAccess", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_HideNoAccess
{
return &parse_choice("HideNoAccess", "");
}

sub edit_HideUser
{
return (2, $text{'mod_core_huser'},
	sprintf "<input name=HideUser size=50 value='%s'>",
	 join(" ", map { $_->{'value'} } @{$_[0]}));
}
sub save_HideUser
{
local @hu = split(/\s+/, $in{'HideUser'});
foreach $u (@hu) {
	scalar(getpwnam($u)) || &error($text{'mod_core_ehuser'});
	}
return ( \@hg );
}

sub edit_IdentLookups
{
return (1, $text{'mod_core_ident'},
	&choice_input($_[0]->{'value'}, "IdentLookups", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_IdentLookups
{
return &parse_choice("IdentLookups", "");
}

sub edit_IgnoreHidden
{
return (1, $text{'mod_core_ihidden'},
	&choice_input($_[0]->{'value'}, "IgnoreHidden", "off",
		      "$text{'yes'},on", "$text{'no'},off"));
}
sub save_IgnoreHidden
{
return &parse_choice("IgnoreHidden", "off");
}

sub edit_MasqueradeAddress
{
return (2, $text{'mod_core_masq'},
	&opt_input($_[0]->{'value'}, "MasqueradeAddress",
		   $text{'mod_core_masq_def'}, 30));
}
sub save_MasqueradeAddress
{
$in{'MasqueradeAddress_def'} || &to_ipaddress($in{'MasqueradeAddress'}) ||
	&error($text{'mod_core_emasq'});
return &parse_opt("MasqueradeAddress");
}

sub edit_MaxClients
{
return (2, $text{'mod_core_maxc'}, &edit_max($_[0], "MaxClients"));
}
sub save_MaxClients
{
return &save_max("MaxClients");
}

sub edit_MaxClientsPerHost
{
return (2, $text{'mod_core_maxch'}, &edit_max($_[0], "MaxClientsPerHost"));
}
sub save_MaxClientsPerHost
{
return &save_max("MaxClientsPerHost");
}

sub edit_MaxClientsPerUser
{
return (2, $text{'mod_core_maxcu'}, &edit_max($_[0], "MaxClientsPerUser"));
}
sub save_MaxClientsPerUser
{
return &save_max("MaxClientsPerUser");
}

sub edit_max
{
local $m = !$_[0] ? 0 :
	   $_[0]->{'words'}->[0] eq 'none' ? 1 : 2;
local $rv = sprintf "<input type=radio name=$_[1]_m value=0 %s> %s\n",
		$m == 0 ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$_[1]_m value=1 %s> %s\n",
		$m == 1 ? "checked" : "", $text{'mod_core_maxc1'};
$rv .= sprintf "<input type=radio name=$_[1]_m value=2 %s>\n",
		$m == 2 ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=6 value='%s'><br>\n",
		$m == 2 ? $_[0]->{'words'}->[0] : "";
$rv .= sprintf "%s <input name=$_[1]_t size=40 value='%s'>\n",
	$text{'mod_core_maxcmsg'}, $_[0]->{'words'}->[1];
return $rv;
}
sub save_max
{
if ($in{"$_[0]_m"} == 0) {
	return ( [ ] );
	}
else {
	local $n;
	if ($in{"$_[0]_m"} == 1) {
		$n = "none";
		}
	else {
		$in{$_[0]} =~ /^\d+$/ || &error($text{'mod_core_emaxc'});
		$n = $in{$_[0]};
		}
	if ($in{"$_[0]_t"}) {
		return ( [ "$n \"".$in{"$_[0]_t"}."\"" ] );
		}
	else {
		return ( [ $n ] );
		}
	}
}

sub edit_MaxInstances
{
return (1, $text{'mod_core_instances'},
	&opt_input($_[0]->{'value'}, "MaxInstances", $text{'default'}, 4));
}
sub save_MaxInstances
{
return &parse_opt("MaxInstances", '^\d+$', $text{'mod_core_einstances'});
}

sub edit_MaxLoginAttempts
{
return (1, $text{'mod_core_logins'},
	&opt_input($_[0]->{'value'}, "MaxLoginAttempts", $text{'default'}, 4));
}
sub save_MaxLoginAttempts
{
return &parse_opt("MaxLoginAttempts", '^\d+$', $text{'mod_core_elogins'});
}

sub edit_MultilineRFC2228
{
return (1, $text{'mod_core_rfc2228'},
	&choice_input($_[0]->{'value'}, "MultilineRFC2228", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_MultilineRFC2228
{
return &parse_choice("MultilineRFC2228", "");
}

sub edit_PassivePorts
{
local $rv = sprintf "<input type=radio name=PassivePorts_def value=1 %s> %s\n",
		$_[0] ? "" : "checked", $text{'default'};
$rv .= sprintf "<input type=radio name=PassivePorts_def value=0 %s> %s\n",
		$_[0] ? "checked" : "", $text{'mod_core_pasvr'};
$rv .= sprintf "<input name=PassivePorts_f size=5 value='%s'> -\n",
		$_[0]->{'words'}->[0];
$rv .= sprintf "<input name=PassivePorts_t size=5 value='%s'>\n",
		$_[0]->{'words'}->[1];
return (1, $text{'mod_core_pasv'}, $rv);
}
sub save_PassivePorts
{
if ($in{'PassivePorts_def'}) {
	return ( [ ] );
	}
else {
	$in{'PassivePorts_f'} =~ /^\d+$/ || &error($text{'mod_core_epasv'});
	$in{'PassivePorts_t'} =~ /^\d+$/ || &error($text{'mod_core_epasv'});
	return ( [ "$in{'PassivePorts_f'} $in{'PassivePorts_t'}" ] );
	}
}

sub edit_PathAllowFilter
{
return (1, $text{'mod_core_pathallow'},
	&opt_input($_[0]->{'words'}->[0], "PathAllowFilter",
		   $text{'mod_core_any'}, 20));
}
sub save_PathAllowFilter
{
return &parse_opt("PathAllowFilter");
}

sub edit_PathDenyFilter
{
return (1, $text{'mod_core_pathdeny'},
	&opt_input($_[0]->{'words'}->[0], "PathDenyFilter",
		   $text{'mod_core_none'}, 20));
}
sub save_PathDenyFilter
{
return &parse_opt("PathDenyFilter");
}

sub edit_PidFile
{
return (2, $text{'mod_core_pidfile'},
	&opt_input($_[0]->{'words'}->[0], "PidFile", $text{'default'}, 50,
		   &file_chooser_button("PidFile")));
}
sub save_PidFile
{
return &parse_opt("PidFile", '^\/\S+$', $text{'mod_core_epidfile'});
}

sub edit_Port
{
return (1, $text{'mod_core_port'},
	&opt_input($_[0]->{'value'}, "Port", $text{'default'}, 6));
}
sub save_Port
{
return &parse_opt("Port", '^\d+$', $text{'mod_core_eport'});
}

sub edit_RequireValidShell
{
return (1, $text{'mod_core_shell'},
	&choice_input($_[0]->{'value'}, "RequireValidShell", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_RequireValidShell
{
return &parse_choice("RequireValidShell", "");
}

sub edit_RLimitCPU
{
return &rlimit_input("RLimitCPU", $text{'mod_core_cpulimit'}, $_[0]);
}
sub save_RLimitCPU
{
return &parse_rlimit("RLimitCPU", $text{'mod_core_ecpulimit'});
}

sub edit_RLimitMemory
{
return &rlimit_input("RLimitMemory", $text{'mod_core_memlimit'}, $_[0]);
}
sub save_RLimitMemory
{
return &parse_rlimit("RLimitMemory", $text{'mod_core_ememlimit'});
}

sub edit_RLimitOpenFiles
{
return &rlimit_input("RLimitOpenFiles", $text{'mod_core_filelimit'}, $_[0]);
}
sub save_RLimitOpenFiles
{
return &parse_rlimit("RLimitOpenFiles", $text{'mod_core_efilelimit'});
}

# rlimit_input(name, desc, value)
sub rlimit_input
{
local @w = @{$_[2]->{'words'}};
local $rv;
$rv .= sprintf "<b>%s</b> <input type=radio name=%s_smax value=2 %s> %s\n",
		$text{'mod_core_soft'}, $_[0], $w[0] ? "" : "checked",
		$text{'default'};
$rv .= sprintf "<input type=radio name=%s_smax value=1 %s> %s\n",
		$_[0], $w[0] eq 'max' ? "checked" : "", $text{'mod_core_max'};
$rv .= sprintf "<input type=radio name=%s_smax value=0 %s>\n",
		$_[0], !$w[0] || $w[0] eq 'max' ? "" : "checked";
$rv .= sprintf "<input name=%s_soft size=6 value='%s'>\n",
		$_[0], $w[0] eq 'max' ? '' : $w[0];
$rv .= "&nbsp;&nbsp;&nbsp;";

$rv .= sprintf "<b>%s</b> <input type=radio name=%s_hmax value=2 %s> %s\n",
		$text{'mod_core_hard'}, $_[0], $w[1] ? "" : "checked",
		$text{'default'};
$rv .= sprintf "<input type=radio name=%s_hmax value=1 %s> %s\n",
		$_[0], $w[1] eq 'max' ? "checked" : "", $text{'mod_core_max'};
$rv .= sprintf "<input type=radio name=%s_hmax value=0 %s>\n",
		$_[0], !$w[1] || $w[1] eq 'max' ? "" : "checked";
$rv .= sprintf "<input name=%s_hard size=6 value='%s'>\n",
		$_[0], $w[1] eq 'max' ? '' : $w[1];
return (2, $_[1], $rv);
}

# parse_rlimit(name, desc)
sub parse_rlimit
{
if ($in{"$_[0]_smax"} == 2) {
	return ( [ ] );
	}
local @v;
if ($in{"$_[0]_smax"} == 1) {
	push(@v, "max");
	}
else {
	$in{"$_[0]_soft"} =~ /^(\d+)(G|M|K|B)?$/i ||
		&error(&text('mod_core_esoft', $_[1]));
	push(@v, $in{"$_[0]_soft"});
	}
if ($in{"$_[0]_hmax"} == 1) {
	push(@v, "max");
	}
elsif ($in{"$_[0]_hmax"} == 0) {
	$in{"$_[0]_hard"} =~ /^(\d+)(G|M|K|B)?$/i ||
		&error(&text('mod_core_ehard', $_[1]));
	push(@v, $in{"$_[0]_hard"});
	}
return ( [ join(" ", @v) ] );
}

sub edit_ScoreboardPath
{
return (2, $text{'mod_core_score'},
	&opt_input($_[0]->{'words'}->[0], "ScoreboardPath", $text{'default'},
		   50, &file_chooser_button("ScoreboardPath")));
}
sub save_ScoreboardPath
{
return &parse_opt("ScoreboardPath", '^\/\S+$', $text{'mod_core_escore'});
}

sub edit_ServerAdmin
{
return (2, $text{'mod_core_admin'},
	&opt_input($_[0]->{'words'}->[0], "ServerAdmin", $text{'default'}, 40));
}
sub save_ServerAdmin
{
return &parse_opt("ServerAdmin", '^\S+\@\S+$', $text{'mod_core_eadmin'});
}

sub edit_ServerIdent
{
local @w = @{$_[0]->{'words'}};
local $rv = sprintf "<input type=radio name=ServerIdent_m value=0 %s> %s\n",
	$_[0] ? "" : "checked", $text{'default'};
$rv .= sprintf "<input type=radio name=ServerIdent_m value=1 %s> %s\n",
	lc($w[0]) eq 'off' ? "checked" : "", $text{'mod_core_none'};
$rv .= sprintf "<input type=radio name=ServerIdent_m value=2 %s> %s\n",
	lc($w[0]) eq 'on' && !$w[1] ? "checked" : "",
	$text{'mod_core_identmsg_def'};
$rv .= sprintf "<input type=radio name=ServerIdent_m value=3 %s>\n",
	lc($w[0]) eq 'on' && $w[1] ? "checked" : "";
$rv .= sprintf "<input name=ServerIdent size=30 value='%s'>\n",
	lc($w[0]) eq 'on' ? $w[1] : "";
return (2, $text{'mod_core_identmsg'}, $rv);
}
sub save_ServerIdent
{
if ($in{'ServerIdent_m'} == 0) {
	return ( [ ] );
	}
elsif ($in{'ServerIdent_m'} == 1) {
	return ( [ "off" ] );
	}
elsif ($in{'ServerIdent_m'} == 2) {
	return ( [ "on" ] );
	}
else {
	return ( [ "on \"$in{'ServerIdent'}\"" ] );
	}
}

sub edit_ServerName
{
return (2, $text{'mod_core_servername'},
	&opt_input($_[0]->{'words'}->[0], "ServerName", $text{'default'}, 50));
}
sub save_ServerName
{
return &parse_opt("ServerName", '\S', $text{'mod_core_eservername'});
}

sub edit_ServerType
{
return (1, $text{'mod_core_type'},
	&select_input($_[0]->{'value'}, "ServerType", "",
		      "$text{'mod_core_inetd'},inetd",
		      "$text{'mod_core_stand'},standalone",
		      "$text{'default'},"));
}
sub save_ServerType
{
return &parse_choice("ServerType", "");
}

sub edit_ShowSymlinks
{
return (1, $text{'mod_core_links'},
	&choice_input($_[0]->{'value'}, "ShowSymlinks", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_ShowSymlinks
{
return &parse_choice("ShowSymlinks", "");
}

sub edit_SocketBindTight
{
return (1, $text{'mod_core_tight'},
	&choice_input($_[0]->{'value'}, "SocketBindTight", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_SocketBindTight
{
return &parse_choice("SocketBindTight", "");
}

sub edit_SyslogFacility
{
local @facils = map { "$_,$_" } ( 'auth', 'authpriv', 'cron', 'daemon', 'kern', 'lpr', 'mail', 'news', 'user', 'uucp', 'local0', 'local1', 'local2', 'local3', 'local4', 'local5', 'local6', 'local7' );
return (1, $text{'mod_core_facility'},
	&select_input($_[0]->{'value'}, "SyslogFacility", "",
		      "$text{'default'},", @facils));
}
sub save_SyslogFacility
{
return &parse_select("SyslogFacility", "");
}

sub edit_SyslogLevel
{
local @levels = map { "$_,$_" } ( 'emerg', 'alert', 'crit', 'error', 'warn', 'notice', 'info', 'debug' );
return (1, $text{'mod_core_level'},
	&select_input($_[0]->{'value'}, "SyslogLevel", "",
		      "$text{'default'},", @levels));
}
sub save_SyslogLevel
{
return &parse_select("SyslogLevel", "");
}

sub edit_TransferLog
{
return (2, $text{'mod_core_tlog'},
	&opt_input($_[0]->{'value'}, "TransferLog", $text{'default'}, 50,
		   &file_chooser_button("TransferLog")));
}
sub save_TransferLog
{
return &parse_opt("TransferLog", '^(\/\S+)|NONE$', $text{'mod_core_etlog'});
}

sub edit_tcpBackLog
{
return (1, $text{'mod_core_backlog'},
	&opt_input($_[0]->{'value'}, "tcpBackLog", $text{'default'}, 6));
}
sub save_tcpBackLog
{
return &parse_opt("tcpBackLog", '^\d+$', $text{'mod_core_ebacklog'});
}

sub edit_tcpNoDelay
{
return (1, $text{'mod_core_nodelay'},
	&choice_input($_[0]->{'value'}, "tcpNoDelay", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_tcpNoDelay
{
return &parse_choice("tcpNoDelay", "");
}

sub edit_tcpReceiveWindow
{
return (1, $text{'mod_core_rwindow'},
	&opt_input($_[0]->{'value'}, "tcpReceiveWindow", $text{'default'}, 6));
}
sub save_tcpReceiveWindow
{
return &parse_opt("tcpReceiveWindow", '^\d+$', $text{'mod_core_erwindow'});
}

sub edit_tcpSendWindow
{
return (1, $text{'mod_core_swindow'},
	&opt_input($_[0]->{'value'}, "tcpSendWindow", $text{'default'}, 6));
}
sub save_tcpSendWindow
{
return &parse_opt("tcpSendWindow", '^\d+$', $text{'mod_core_eswindow'});
}

sub edit_TimesGMT
{
return (1, $text{'mod_core_gmt'},
	&choice_input($_[0]->{'value'}, "TimesGMT", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_TimesGMT
{
return &parse_choice("TimesGMT", "");
}

sub edit_TimeoutIdle
{
return (1, $text{'mod_core_tidle'},
	&opt_input($_[0]->{'value'}, "TimeoutIdle", $text{'default'}, 6,
		   $text{'mod_core_secs'}));
}
sub save_TimeoutIdle
{
return &parse_opt("TimeoutIdle", '^\d+$', $text{'mod_core_etidle'});
}

sub edit_TimeoutLogin
{
return (1, $text{'mod_core_tlogin'},
	&opt_input($_[0]->{'value'}, "TimeoutLogin", $text{'default'}, 6,
		   $text{'mod_core_secs'}));
}
sub save_TimeoutLogin
{
return &parse_opt("TimeoutLogin", '^\d+$', $text{'mod_core_etlogin'});
}

sub edit_TimeoutNoTransfer
{
return (1, $text{'mod_core_ttransfer'},
	&opt_input($_[0]->{'value'}, "TimeoutNoTransfer", $text{'default'}, 6,
		   $text{'mod_core_secs'}));
}
sub save_TimeoutNoTransfer
{
return &parse_opt("TimeoutNoTransfer", '^\d+$', $text{'mod_core_ettransfer'});
}

sub edit_TimeoutStalled
{
return (1, $text{'mod_core_tstalled'},
	&opt_input($_[0]->{'value'}, "TimeoutStalled", $text{'default'}, 6,
		   $text{'mod_core_secs'}));
}
sub save_TimeoutStalled
{
return &parse_opt("TimeoutStalled", '^\d+$', $text{'mod_core_etstalled'});
}

sub edit_Umask
{
return (1, $text{'mod_core_umask'},
	&opt_input($_[0]->{'value'}, "Umask", $text{'default'}, 3));
}
sub save_Umask
{
return &parse_opt("Umask", '^[0-7]{3}$', $text{'mod_core_eumask'});
}

sub edit_UseFtpUsers
{
return (1, $text{'mod_core_ftpusers'},
	&choice_input($_[0]->{'value'}, "UseFtpUsers", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_UseFtpUsers
{
return &parse_choice("UseFtpUsers", "");
}

sub edit_UseHostsAllowFile
{
return (2, $text{'mod_core_hostsallow'},
	&opt_input($_[0]->{'value'}, "UseHostsAllowFile", $text{'default'}, 50,
		   &file_chooser_button("UseHostsAllowFile")));
}
sub save_UseHostsAllowFile
{
$in{'UseHostsAllowFile_def'} || -r $in{'UseHostsAllowFile'} ||
	&error($text{'mod_core_ehostsallow'});
return &parse_opt("UseHostsAllowFile");
}

sub edit_UseHostsDenyFile
{
return (2, $text{'mod_core_hostsdeny'},
	&opt_input($_[0]->{'value'}, "UseHostsDenyFile", $text{'default'}, 50,
		   &file_chooser_button("UseHostsDenyFile")));
}
sub save_UseHostsDenyFile
{
$in{'UseHostsDenyFile_def'} || -r $in{'UseHostsDenyFile'} ||
	&error($text{'mod_core_ehostsdeny'});
return &parse_opt("UseHostsDenyFile");
}

sub edit_UseReverseDNS
{
return (1, $text{'mod_core_revdns'},
	&choice_input($_[0]->{'value'}, "UseReverseDNS", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_UseReverseDNS
{
return &parse_choice("UseReverseDNS", "");
}

sub edit_UserDirRoot
{
return (1, $text{'mod_core_userdir'},
	&choice_input($_[0]->{'value'}, "UserDirRoot", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_UserDirRoot
{
return &parse_choice("UserDirRoot", "");
}

sub edit_User
{
local($rv, @uinfo);
$rv = sprintf "<input type=radio name=User value=0 %s> $text{'default'}\n",
       $_[0] ? "" : "checked";
$rv .= sprintf "<input type=radio name=User value=1 %s> %s\n",
        $_[0] && $_[0]->{'value'} !~ /^#/ ? "checked" : "",
	$text{'mod_core_uname'};
$rv .= sprintf "<input name=User_name size=8 value=\"%s\"> %s&nbsp;\n",
	$_[0]->{'value'} !~ /^#/ ? $_[0]->{'value'} : "",
	&user_chooser_button("User_name", 0);
$rv .= sprintf "<input type=radio name=User value=2 %s> %s\n",
        $_[0]->{'value'} =~ /^#/ ? "checked" : "",
	$text{'mod_core_uid'};
$rv .= sprintf "<input name=User_id size=6 value=\"%s\">\n",
	 $_[0]->{'value'} =~ /^#(.*)$/ ? $1 : "";
return (2, $text{'mod_core_user'}, $rv);
}
sub save_User
{
if ($in{'User'} == 0) { return ( [ ] ); }
elsif ($in{'User'} == 1) { return ( [ $in{'User_name'} ] ); }
elsif ($in{'User_id'} !~ /^\-?\d+$/) {
	&error(&text('core_egid', $in{'User_id'}));
	}
else { return ( [ "#$in{'User_id'}" ] ); }
}

sub edit_UserAlias
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'mod_core_afrom'}</b></td> ".
	    "<td><b>$text{'mod_core_ato'}</b></td> </tr>\n";
local $i = 0;
foreach $u (@{$_[0]}, { }) {
	local @w = @{$u->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=UserAlias_f_$i size=15 value='$w[0]'></td>\n";
	$rv .= "<td><input name=UserAlias_t_$i size=15 value='$w[1]'></td>\n";
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'mod_core_ualias'}, $rv);
}
sub save_UserAlias
{
local @rv;
for($i=0; defined($in{"UserAlias_f_$i"}); $i++) {
	next if (!$in{"UserAlias_f_$i"});
	$in{"UserAlias_f_$i"} =~ /^\S+$/ || &error($text{'mod_core_eafrom'});
	$in{"UserAlias_t_$i"} =~ /^\S+$/ || &error($text{'mod_core_eato'});
	push(@rv, $in{"UserAlias_f_$i"}.' '.$in{"UserAlias_t_$i"});
	}
return ( \@rv );
}

sub edit_UserOwner
{
return (1, $text{'mod_core_uowner'},
	&opt_input($_[0]->{'value'}, "UserOwner", $text{'default'}, 13,
		   &user_chooser_button("UserOwner")));
}
sub save_UserOwner
{
if ($in{'UserOwner_def'}) { return ( [ ] ); }
else {
	getpwnam($in{'UserOwner'}) || &error($text{'mod_core_euowner'});
	return ( [ $in{'UserOwner'} ] );
	}
}

sub edit_UserPassword
{
local $rv = "<table border>\n";
$rv .= "<tr $tb> <td><b>$text{'mod_core_upname'}</b></td> ".
       "<td><b>$text{'mod_core_uppass'}</b></td> </tr>\n";
local $i = 0;
foreach $u (@{$_[0]}) {
	local @v = @{$u->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=UserPassword_n_$i size=13 value='$v[0]'></td>\n";
	$rv .= "<td><input type=radio name=UserPassword_d_$i value='$v[1]' checked> $text{'mod_core_updef'}\n";
	$rv .= "<input type=radio name=UserPassword_d_$i value=0>\n";
	$rv .= "<input name=UserPassword_p_$i size=25></td> </tr>\n";
	$i++;
	}
$rv .= "<tr $cb>\n".
       "<td><input name=UserPassword_n_$i size=13></td>\n".
       "<td><input name=UserPassword_p_$i size=35></td>\n".
       "</tr> </table>\n";
return (2, $text{'mod_core_userpassword'}, $rv);
}
sub save_UserPassword
{
local @rv;
for($i=0; defined($in{"UserPassword_n_$i"}); $i++) {
	next if (!$in{"UserPassword_n_$i"});
	scalar(getpwnam($in{"UserPassword_n_$i"})) ||
		&error($text{'mod_core_eupname'});
	if ($in{"UserPassword_d_$i"}) {
		push(@rv, $in{"UserPassword_n_$i"}.' '.
			  $in{"UserPassword_d_$i"});
		}
	else {
		$salt = substr(time(), 0, 2);
		push(@rv, $in{"UserPassword_n_$i"}.' '.
			  crypt($in{"UserPassword_p_$i"}, $salt));
		}
	}
return ( \@rv );
}

sub edit_WtmpLog
{
return (1, $text{'mod_core_wtmp'},
	&choice_input($_[0]->{'value'}, "WtmpLog", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'mod_core_none'},NONE", "$text{'default'},"));
}
sub save_WtmpLog
{
return &parse_choice("WtmpLog", "");
}

  07070100076272000081a40000000000000002000000013d1fe2e50000240a000000200000000000000000000000000000001a00000003reloc/proftpd/mod_ldap.pl # mod_ldap.pl
use Data::Dumper;
sub mod_ldap_directives
{
local $rv = [
	[ 'LDAPServer', 0, 4, 'root', 1.15 ],
	[ 'LDAPDoAuth', 0, 4, 'root', 1.15 ],
        [ 'LDAPDNInfo', 0, 4, 'root', 1.15 ],
        [ 'LDAPDoUIDLookups', 0, 4, 'root', 1.15 ],
        [ 'LDAPDoGIDLookups', 0, 4, 'root', 1.15 ],
        [ 'LDAPAuthBinds', 0, 4, 'root', 1.15 ],
        [ 'LDAPDefaultUID', 0, 4, 'root', 1.15 ],
        [ 'LDAPDefaultGID', 0, 4, 'root', 1.15 ],
        [ 'LDAPHomedirOnDemand', 0, 4, 'root', 1.15 ],
        [ 'LDAPNegativeCache', 0, 4, 'root', 1.15 ],
        [ 'LDAPQueryTimeout', 0, 4, 'root', 1.15 ],
        [ 'LDAPDefaultAuthScheme', 0, 4, 'root', 1.15 ],

		];
return &make_directives($rv, $_[0], "mod_ldap");
}

sub edit_LDAPServer {
local ($rv);
my $param = $_[0]->{'value'};
$name="LDAPServerp";
$namep=$name.'_m';
my ($port) =$param =~ /.+:(.+)/;
 (my $serveur,my $port)=$param =~ /([^:]+):?(.*)/;
$rv=sprintf "<b>Server:</b> <input name=LDAPServer size=20 value='%s'>\n",
	 $serveur;
$rv .= sprintf "<b> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Port:</b><input type=radio
  name=$namep value=0 %s> %s\n",
		!$port  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> \n",
		$port ? "checked" : "" ;
$rv .= sprintf "<input name=$name size=6 value='%s'><br>\n",
		$port ? $port: "";

return (2, "LDAP  Server info",$rv);


}

sub edit_LDAPQueryTimeout {
local ($rv);
my $param = $_[0]->{'value'};
$name="LDAPQueryTimeout";
$namep=$name.'_m';
$rv = sprintf "<input type=radio
  name=$namep value=0 %s> %s\n",
		!$param  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> \n",
		$param ? "checked" : "" ;
$rv .= sprintf "<input name=$name size=6 value='%s'><br>\n",
		$param ? $param: "";

return (2, "LDAP  Query timeout",$rv);


}



sub edit_LDAPDoAuth {

local ($rv);
my @tab =@_;
my $name ='LDAPDoAuthp';
my $param = $tab[0]->{'value'};
my $option = $tab[0]->{'words'}->[0];
my $dn = $tab[0]->{'words'}->[1];

$namep=$name.'_m';

$rv = sprintf "<input type=radio  name=$namep value=0 %s> %s\n",
		!$option  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
		$option =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
		$option =~/on/i ? "checked" : "" ,"On";


$rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
		$dn ? $dn: "","<b>auth base prefix</b><br>";

return (2,"LDAP Do authentification",$rv);


}
sub edit_LDAPDefaultUID {

local ($rv);
my @tab =@_;
my $name ='LDAPDefaultUID';
my $param = $tab[0]->{'value'};

$rv = sprintf "<input name=$name size=6 value='%s'> %s\n",
		$param ? $param: "","<br>";

return (1,"LDAP Default UID",$rv);


}
sub edit_LDAPHomedirOnDemand {

local ($rv);
my @tab =@_;
my $name ='LDAPHomedirOnDemand';
my $param = $tab[0]->{'value'};

$namep=$name.'_m';

$rv = sprintf "<input type=radio  name=$namep value=0 %s> %s\n",
		!$param  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
		$param =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
		$param =~/on/i ? "checked" : "" ,"On";

return (1,"LDAP Homedir on demand",$rv);


}
sub edit_LDAPNegativeCache {

local ($rv);
my @tab =@_;
my $name ='LDAPNegativeCache';
my $param = $tab[0]->{'value'};

$namep=$name.'_m';

$rv = sprintf "<input type=radio  name=$namep value=0 %s> %s\n",
		!$param  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
		$param =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
		$param =~/on/i ? "checked" : "" ,"On";

return (1,"LDAP negative cache",$rv);


}



sub edit_LDAPDefaultGID {

local ($rv);
my @tab =@_;
my $name ='LDAPDefaultGID';
my $param = $tab[0]->{'value'};

$rv = sprintf "<input name=$name size=6 value='%s'> %s\n",
		$param ? $param: "","<br>";

return (1,"LDAP Default GID",$rv);


}

sub edit_LDAPDoUIDLookups {

local ($rv);
my @tab =@_;
my $name ='LDAPDoUIDLookups';
my $param = $tab[0]->{'value'};
my $option = $tab[0]->{'words'}->[0];
my $dn = $tab[0]->{'words'}->[1];

$namep=$name.'_m';

$rv = sprintf "<input type=radio  name=$namep value=0 %s> %s\n",
		!$option  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
		$option =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
		$option =~/on/i ? "checked" : "" ,"On";


$rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
		$dn ? $dn: "","<b>uid base prefix</b><br>";

return (2,"LDAP Do UID Lookups",$rv);


}

sub edit_LDAPDoGIDLookups {

local ($rv);
my @tab =@_;
my $name ='LDAPDoGIDLookups';
my $param = $tab[0]->{'value'};
my $option = $tab[0]->{'words'}->[0];
my $dn = $tab[0]->{'words'}->[1];

$namep=$name.'_m';

$rv = sprintf "<input type=radio  name=$namep value=0 %s> %s\n",
		!$option  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
		$option =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
		$option =~/on/i ? "checked" : "" ,"On";


$rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
		$dn ? $dn: "","<b>gid base prefix</b><br>";

return (2,"LDAP Do GID Lookups",$rv);


}

#sub edit_LDAPXort {
#local ($rv);
#return (1, "LDAPPort",
#sprintf "<input name=LDAPXPort size=6 value='%s'>\n",
#	 $_[0]->{'value'});
#}


sub edit_LDAPDNInfo {

local ($rv);
#return (2, "LDAPDNinfo",
$rv =sprintf "<b>BindDN:</b><input name=LDAPDNinfodn size=30 value='%s'>\n",
	 $_[0]->{'words'}->[0];
$rv .=sprintf "<b>&nbsp&nbsp&nbsp&nbsp PasswordDN</b><input name=LDAPDNinfopasswd size=20 value='%s'>\n",
	 $_[0]->{'words'}->[1];

return(2,"LDAP DN info",$rv);
}
sub edit_LDAPAuthBinds {
local ($rv);
my @tab =@_;
my $name ='LDAPAuthBinds';
my $option = $tab[0]->{'value'};
#my $dn = $tab[0]->{'words'}->[1];
$rv = sprintf "<br><input type=radio  name=$name value=0 %s> %s\n",
		!$option  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$name value=1 %s> %s\n",
		$option =~/off/i ? "checked" : "" ,"Off";
$rv .= sprintf "<input type=radio name=$name value=2 %s> %s \n",
		$option =~/on/i ? "checked" : "" ,"On";


return (2,"LDAP auth bind ",$rv);


}
sub edit_LDAPDefaultAuthScheme {
local ($rv);
my @tab =@_;
my $name ='LDAPDefaultAuthScheme';
my $option = $tab[0]->{'value'};
#my $dn = $tab[0]->{'words'}->[1];
$rv = sprintf "<br><input type=radio  name=$name value=0 %s> %s\n",
		!$option  ? "checked" : "", $text{'default'};
$rv .= sprintf "<input type=radio name=$name value=1 %s> %s\n",
		$option =~/crypt/i ? "checked" : "" ,"crypt";
$rv .= sprintf "<input type=radio name=$name value=2 %s> %s \n",
		$option =~/clear/i ? "checked" : "" ,"clear";


return (2,"LDAP default auth scheme ",$rv);


}

sub save_LDAPAuthBinds{
my $option =$in{'LDAPAuthBinds'};

return ([ ]) unless $option;

return (['off']) if $option==1;
return (['on']) if $option==2;;
return ([ ]);
}
sub save_LDAPDefaultUID{
my $option =$in{'LDAPDefaultUID'};

return ([ ]) unless $option;

return (["$option"]) if $option;
}
sub save_LDAPDefaultGID{
my $option =$in{'LDAPDefaultGID'};

return ([ ]) unless $option;

return (["$option"]) if $option;
}



sub save_LDAPServer {
my $param =$in{'LDAPServer'};
if (($in{'LDAPServerp_m'} == 1) &&  ($in{'LDAPServerp'})){
$param.=":". $in{'LDAPServerp'};
}
return ( [ $param ] ) if $param;
return ( [ ] ) unless $param;
}
sub save_LDAPQueryTimeout {
my $param =$in{'LDAPQueryTimeout'};
if (($in{'LDAPQueryTimeout_m'} == 1) &&  ($in{'LDAPQueryTimeout'})){
$param= $in{'LDAPQueryTimeout'};
} else {undef $param} ;
return ( [ $param ] ) if $param;
return ( [ ] ) unless $param;
}

sub save_LDAPDNInfo {
my $dn = $in{'LDAPDNinfodn'} ;
my $dnp = $in{'LDAPDNinfopasswd'} ;

return([ "\"$dn\" \"$dnp\""]) if $dn;
return ([ ]) unless $dn;
}
sub save_LDAPDoAuth {


my $option = $in{'LDAPDoAuthp_m'} ;
return ([ ]) unless $option;
return (['off']) if $option==1;
my $dn=$in{'LDAPDoAuthp'}; 
return([ "on \"$dn\""]) if $dn;
return ([ ]);
}
sub save_LDAPHomedirOnDemand {


my $option = $in{'LDAPHomedirOnDemand_m'} ;
return ([ ]) unless $option;
return (['off']) if $option==1;
return(['on']) if  $option==2;

}
sub save_LDAPDefaultAuthScheme {


my $option = $in{'LDAPDefaultAuthScheme'} ;
return ([ ]) unless $option;
return ([ ]) if  $option==0;
return (['"crypt"']) if $option==1;
return(['"clear"']) if  $option==2;

}

sub save_LDAPNegativeCache {


my $option = $in{'LDAPNegativeCache_m'} ;
return ([ ]) unless $option;
return (['off']) if $option==1;
return(['on']) if  $option==2;

}



sub save_LDAPDoUIDLookups {



my $option = $in{'LDAPDoUIDLookups_m'} ;
return ([ ]) unless $option;
return (['off']) if $option==1;
my $dn=$in{'LDAPDoUIDLookups'}; 
return([ "on \"$dn\""]) if $dn;
return ([ ]);
}
sub save_LDAPDoGIDLookups {



my $option = $in{'LDAPDoGIDLookups_m'} ;
return ([ ]) unless $option;
return (['off']) if $option==1;
my $dn=$in{'LDAPDoGIDLookups'}; 
return([ "on \"$dn\""]) if $dn;
return ([ ]);
}

  07070100076273000081a40000000000000002000000013d1fe2e500000c8d000000200000000000000000000000000000001900000003reloc/proftpd/mod_log.pl  # mod_log.pl

sub mod_log_directives
{
local $rv = [
	[ 'SystemLog', 0, 1, 'root', 1.16 ],
	[ 'ExtendedLog', 1, 1, 'virtual anon global', 1.16 ],
	[ 'LogFormat', 1, 1, 'root', 1.16 ]
	];
return &make_directives($rv, $_[0], "mod_log");
}

sub edit_SystemLog
{
return (2, $text{'mod_log_syslog'},
	&opt_input($_[0]->{'value'}, "SystemLog", $text{'mod_log_sysdef'}, 50,
		   &file_chooser_button("TransferLog")));
}
sub save_SystemLog
{
return &parse_opt("SystemLog", '^\/\S+$', $text{'mod_log_esyslog'});
}

sub edit_ExtendedLog
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'mod_log_file'}</b></td> ".
	    "<td><b>$text{'mod_log_cmd'}</b></td> ".
	    "<td><b>$text{'mod_log_nick'}</b></td> </tr>\n";
local $i = 0;
foreach $l (@{$_[0]}, { }) {
	local @w = @{$l->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=ExtendedLog_t_$i size=20 value='$w[0]'></td>\n";
	$rv .= sprintf "<td><input name=ExtendedLog_cd_$i type=radio value=1 %s> %s\n", $w[1] && $w[2] ? "" : "checked", $text{'mod_log_all'};
	$rv .= sprintf "<input name=ExtendedLog_cd_$i type=radio value=0 %s>\n", $w[1] && $w[2] ? "checked" : "";
	$rv .= sprintf "<input name=ExtendedLog_c_$i size=15 value='%s'></td>\n", $w[1] && $w[2] ? join(" ", split(/,/, $w[1])) : "";
	$rv .= sprintf "<td><input name=ExtendedLog_fd_$i type=radio value=1 %s> %s\n", $w[2] || $w[1] ? "" : "checked", $text{'default'};
	$rv .= sprintf "<input name=ExtendedLog_fd_$i type=radio value=0 %s>\n", $w[2] || $w[1] ? "checked" : "";
	$rv .= sprintf "<input name=ExtendedLog_f_$i size=15 value='%s'></td>\n", $w[2] ? $w[2] : $w[1];
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'mod_log_extended'}, $rv);
}
sub save_ExtendedLog
{
local @rv;
for($i=0; defined($in{"ExtendedLog_t_$i"}); $i++) {
	next if (!$in{"ExtendedLog_t_$i"});
	local @w = ( $in{"ExtendedLog_t_$i"} );
	if (!$in{"ExtendedLog_cd_$i"}) {
		$in{"ExtendedLog_fd_$i"} && &error($text{'mod_log_ecmdnick'});
		$in{"ExtendedLog_c_$i"} =~ /\S/ ||
			&error($text{'mod_log_ecmd'});
		push(@w, join(",", map { uc($_) }
			  split(/\s+/, $in{"ExtendedLog_c_$i"})));
		}
	if (!$in{"ExtendedLog_fd_$i"}) {
		$in{"ExtendedLog_f_$i"} =~ /^\S+$/ ||
			&error($text{'mod_log_enick'});
		push(@w, $in{"ExtendedLog_f_$i"});
		}
	push(@rv, join(" ", @w));
	}
return ( \@rv );
}

sub edit_LogFormat
{
local $rv = "<table border>\n".
	    "<tr $tb> <td><b>$text{'mod_log_nickname'}</b></td> ".
	    "<td><b>$text{'mod_log_fmt'}</b></td> </tr>\n";
local $i = 0;
foreach $f (@{$_[0]}, { }) {
	local @w = @{$f->{'words'}};
	$rv .= "<tr $cb>\n";
	$rv .= "<td><input name=LogFormat_n_$i size=15 value='$w[0]'></td>\n";
	$rv .= "<td><input name=LogFormat_f_$i size=35 value='$w[1]'></td>\n";
	$rv .= "</tr>\n";
	$i++;
	}
$rv .= "</table>\n";
return (2, $text{'mod_log_format'}, $rv);
}
sub save_LogFormat
{
local @rv;
for($i=0; defined($in{"LogFormat_n_$i"}); $i++) {
	next if (!$in{"LogFormat_n_$i"});
	$in{"LogFormat_n_$i"} =~ /^\S+$/ || &error($text{'mod_log_enickname'});
	$in{"LogFormat_f_$i"} =~ /\S/ || &error($text{'mod_log_efmt'});
	$in{"LogFormat_f_$i"} =~ s/"/\\"/g;
	push(@rv, sprintf "%s \"%s\"", $in{"LogFormat_n_$i"},
				       $in{"LogFormat_f_$i"});
	}
return ( \@rv );
}

   07070100076274000081a40000000000000002000000013d1fe2e500000667000000200000000000000000000000000000001800000003reloc/proftpd/mod_ls.pl   # mod_ls.pl

sub mod_ls_directives
{
local $rv = [
	[ 'DirFakeGroup', 0, 2, 'virtual anon global', 1.15 ],
	[ 'DirFakeMode', 0, 2, 'virtual anon global', 1.16 ],
	[ 'DirFakeUser', 0, 2, 'virtual anon global', 1.15 ],
	[ 'LsDefaultOptions', 0, 2, 'virtual anon global', 1.16 ],
	[ 'ShowDotFiles', 0, 2, 'virtual anon global', 0.99 ],
	];
return &make_directives($rv, $_[0], "mod_ls");
}

sub edit_DirFakeGroup
{
return (1, $text{'mod_ls_fakegroup'},
	&choice_input($_[0]->{'value'}, "DirFakeGroup", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_DirFakeGroup
{
return &parse_choice("DirFakeGroup", "");
}

sub edit_DirFakeUser
{
return (1, $text{'mod_ls_fakeuser'},
	&choice_input($_[0]->{'value'}, "DirFakeUser", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_DirFakeUser
{
return &parse_choice("DirFakeUser", "");
}

sub edit_DirFakeMode
{
return (1, $text{'mod_ls_fakemode'},
	&opt_input($_[0]->{'value'}, "DirFakeMode", $text{'mod_ls_nofake'}, 5));
}
sub save_DirFakeMode
{
return &parse_opt("DirFakeMode", '0[0-7]{3}', $text{'mod_ls_efakemode'});
}

sub edit_LsDefaultOptions
{
return (1, $text{'mod_ls_ls'},
	&opt_input($_[0]->{'value'}, "LsDefaultOptions", $text{'default'}, 20));
}
sub save_LsDefaultOptions
{
return &parse_opt("LsDefaultOptions", '\S', $text{'mod_ls_els'});
}

sub edit_ShowDotFiles
{
return (1, $text{'mod_ls_dotfiles'},
	&choice_input($_[0]->{'value'}, "ShowDotFiles", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_ShowDotFiles
{
return &parse_choice("ShowDotFiles", "");
}


 07070100076275000081a40000000000000002000000013d1fe2e5000002a4000000200000000000000000000000000000001900000003reloc/proftpd/mod_pam.pl  # mod_pam.pl

sub mod_pam_directives
{
local $rv = [
	[ 'AuthPAM', 0, 6, 'virtual global', 1.20 ],
	[ 'AuthPAMConfig', 0, 6, 'virtual global', 1.20 ]
	];
return &make_directives($rv, $_[0], "mod_pam");
}

sub edit_AuthPAM
{
return (1, $text{'mod_pam_pam'},
	&choice_input($_[0]->{'value'}, "AuthPAM", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AuthPAM
{
return &parse_choice("AuthPAM", "");
}

sub edit_AuthPAMConfig
{
return (1, $text{'mod_pam_config'},
	&opt_input($_[0]->{'value'}, "AuthPAMConfig", $text{'default'}, 15));
}
sub save_AuthPAMConfig
{
return &parse_opt("AuthPAMConfig", '^\S+$', $text{'mod_pam_econfig'});
}

07070100076276000081a40000000000000002000000013d1fe2e5000001aa000000200000000000000000000000000000001c00000003reloc/proftpd/mod_readme.pl   # mod_readme.pl

sub mod_readme_directives
{
local $rv = [
	[ 'DisplayReadme', 0, 2, 'virtual anon global', 1.20 ]
	];
return &make_directives($rv, $_[0], "mod_readme");
}

sub edit_DisplayReadme
{
return (1, $text{'mod_readme_display'},
	&opt_input($_[0]->{'value'}, "DisplayReadme", $text{'mod_readme_none'},
		   15));
}
sub save_DisplayReadme
{
return &parse_opt("DisplayReadme", '^\S+$', $text{'mod_readme_edisplay'});
}
  07070100076277000081a40000000000000002000000013d1fe2e5000001bb000000200000000000000000000000000000001a00000003reloc/proftpd/mod_site.pl # mod_site.pl

sub mod_site_directives
{
local $rv = [
#	[ 'AllowChmod', 0, 3, 'virtual directory anon limit ftpaccess global', 1.20 ]
	];
return &make_directives($rv, $_[0], "mod_site");
}

sub edit_AllowChmod
{
return (1, $text{'mod_site_chmod'},
	&choice_input($_[0]->{'value'}, "AllowChmod", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AllowChmod
{
return &parse_choice("AllowChmod", "");
}
 07070100076278000081a40000000000000002000000013d1fe2e50000062a000000200000000000000000000000000000001c00000003reloc/proftpd/mod_unixpw.pl   # mod_unixpw.pl

sub mod_unixpw_directives
{
local $rv = [
	[ 'AuthUserFile', 0, 6, 'virtual global', 1.11 ],
	[ 'AuthGroupFile', 0, 6, 'virtual global', 1.11 ],
	[ 'AuthPAMAuthoritative', 0, 6, 'virtual global', 1.20 ],
	[ 'PersistentPasswd', 0, 6, 'root', 1.15 ]
	];
return &make_directives($rv, $_[0], "mod_unixpw");
}

sub edit_AuthUserFile
{
return (2, $text{'mod_unixpw_ufile'},
	&opt_input($_[0]->{'value'}, "AuthUserFile", $text{'mod_unixpw_none'},
		   50, &file_chooser_button("AuthUserFile")));
}
sub save_AuthUserFile
{
$in{'AuthUserFile_def'} || -r $in{'AuthUserFile'} ||
	&error($text{'mod_unixpw_eufile'});
return &parse_opt("AuthUserFile");
}

sub edit_AuthGroupFile
{
return (2, $text{'mod_unixpw_gfile'},
	&opt_input($_[0]->{'value'}, "AuthGroupFile", $text{'mod_unixpw_none'},
		   50, &file_chooser_button("AuthGroupFile")));
}
sub save_AuthGroupFile
{
$in{'AuthGroupFile_def'} || -r $in{'AuthGroupFile'} ||
	&error($text{'mod_unixpw_egfile'});
return &parse_opt("AuthGroupFile");
}

sub edit_AuthPAMAuthoritative
{
return (1, $text{'mod_unixpw_pam'},
	&choice_input($_[0]->{'value'}, "AuthPAMAuthoritative", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_AuthPAMAuthoritative
{
return &parse_choice("AuthPAMAuthoritative", "");
}

sub edit_PersistentPasswd
{
return (1, $text{'mod_unixpw_persist'},
	&choice_input($_[0]->{'value'}, "PersistentPasswd", "",
		      "$text{'yes'},on", "$text{'no'},off",
		      "$text{'default'},"));
}
sub save_PersistentPasswd
{
return &parse_choice("PersistentPasswd", "");
}

  07070100076279000081a40000000000000002000000013d1fe2ea00000093000000200000000000000000000000000000001a00000003reloc/proftpd/module.info category=servers
depends=0.990
desc_pl=Serwer ProFTP
desc=ProFTP Server
version=0.990
desc_es=Servidor ProFTP
desc_ca=Servidor ProFTP
name=ProFTPd
 0707010007627a000081a40000000000000002000000013d1fe2e500003e15000000200000000000000000000000000000001d00000003reloc/proftpd/proftpd-lib.pl  # proftpd-lib.pl
# Common functions for the proftpd server config file

do '../web-lib.pl';
&init_config();

# Load the site-specific information on the server executable
&read_file("$module_config_directory/site", \%site);
@ftpaccess_files = split(/\s+/, $site{'ftpaccess'});
opendir(DIR, ".");
foreach $f (readdir(DIR)) {
	if ($f =~ /^(mod_\S+)\.pl$/) {
		push(@module_files, $1);
		do $f;
		}
	}
closedir(DIR);

# get_config()
# Returns the entire proftpd config structure
sub get_config
{
if (@get_config_cache) {
	return \@get_config_cache;
	}
@get_config_cache = &get_config_file($config{'proftpd_conf'});
foreach $inc (&find_directive("Include", \@get_config_cache)) {
	push(@get_config_cache, &get_config_file($inc));
	}
return \@get_config_cache;
}

# get_config_file(filename)
sub get_config_file
{
local @rv;
if (opendir(DIR, $_[0])) {
	# Is a directory .. parse all files!
	local @files = readdir(DIR);
	closedir(DIR);
	foreach $f (@files) {
		next if ($f =~ /^\./);
		push(@rv, &get_config_file("$_[0]/$f"));
		}
	}
else {
	# Just a normal config file
	local $lnum = 0;
	open(CONF, $_[0]);
	@rv = &parse_config_file(CONF, $lnum, $_[0]);
	close(CONF);
	}
return @rv;
}

# parse_config_file(handle, lines, file)
# Parses lines of text from some config file into a data structure. The
# return value is an array of references, one for each directive in the file.
# Each reference points to an associative array containing
#  line -	The line number this directive is at
#  eline -	The line number this directive ends at
#  file -	The file this directive is from
#  type -	0 for a normal directive, 1 for a container directive
#  name -	The name of this directive
#  value -	Value (possibly with spaces)
#  members -	For type 1, a reference to the array of members
sub parse_config_file
{
local($fh, @rv, $line, %dummy);
$fh = $_[0];
$dummy{'line'} = $dummy{'eline'} = $_[1]-1;
$dummy{'file'} = $_[2];
$dummy{'type'} = 0;
$dummy{'name'} = "dummy";
@rv = (\%dummy);
while($line = <$fh>) {
	chop;
	$line =~ s/^\s*#.*$//g;
	if ($line =~ /^\s*<\/(\S+)\s*(.*)>/) {
		# end of a container directive. This can only happen in a
		# recursive call to this function
		$_[1]++;
		last;
		}
	elsif ($line =~ /^\s*<IfModule\s+(\!?)(\S+)\.c>/i) {
		# start of an IfModule block. Read it, and if the module
		# exists put the directives in this section.
		local ($not, $mod) = ($1, $2);
		local $oldline = $_[1];
		$_[1]++;
		local @dirs = &parse_config_file($fh, $_[1], $_[2]);
		if (!$not && $httpd_modules{$mod} ||
		    $not && !$httpd_modules{$mod}) {
			# use the directives..
			push(@rv, { 'line', $oldline,
				    'eline', $oldline,
				    'file', $_[2],
				    'name', "<IfModule $not$mod>" });
			push(@rv, @dirs);
			push(@rv, { 'line', $_[1]-1,
				    'eline', $_[1]-1,
				    'file', $_[2],
				    'name', "</IfModule>" });
			}
		}
	elsif ($line =~ /^\s*<IfDefine\s+(\!?)(\S+)>/i) {
		# start of an IfDefine block. Read it, and if the define
		# exists put the directives in this section
		local ($not, $def) = ($1, $2);
		local $oldline = $_[1];
		$_[1]++;
		local @dirs = &parse_config_file($fh, $_[1], $_[2]);
		if (!$not && $httpd_defines{$def} ||
		    $not && !$httpd_defines{$def}) {
			# use the directives..
			push(@rv, { 'line', $oldline,
				    'eline', $oldline,
				    'file', $_[2],
				    'name', "<IfDefine $not$def>" });
			push(@rv, @dirs);
			push(@rv, { 'line', $_[1]-1,
				    'eline', $_[1]-1,
				    'file', $_[2],
				    'name', "</IfDefine>" });
			}
		}
	elsif ($line =~ /^\s*<(\S+)\s*(.*)>/) {
		# start of a container directive. The first member is a dummy
		# directive at the same line as the container
		local(%dir, @members);
		%dir = ('line', $_[1],
			'file', $_[2],
			'type', 1,
			'name', $1,
			'value', $2);
		$dir{'value'} =~ s/\s+$//g;
		$dir{'words'} = &wsplit($dir{'value'});
		$_[1]++;
		@members = &parse_config_file($fh, $_[1], $_[2]);
		$dir{'members'} = \@members;
		$dir{'eline'} = $_[1]-1;
		push(@rv, \%dir);
		}
	elsif ($line =~ /^\s*(\S+)\s*(.*)$/) {
		# normal directive
		local(%dir);
		%dir = ('line', $_[1],
			'eline', $_[1],
			'file', $_[2],
			'type', 0,
			'name', $1,
			'value', $2);
		if ($dir{'value'} =~ s/\\$//g) {
			# multi-line directive!
			while($line = <$fh>) {
				chop($line);
				$cont = ($line =~ s/\\$//g);
				$dir{'value'} .= $line;
				$dir{'eline'} = ++$_[1];
				if (!$cont) { last; }
				}
			}
		$dir{'value'} =~ s/\s+$//g;
		$dir{'words'} = &wsplit($dir{'value'});
		push(@rv, \%dir);
		$_[1]++;
		}
	else {
		# blank or comment line
		$_[1]++;
		}
	}
return @rv;
}

# wsplit(string)
# Splits a string like  foo "foo \"bar\"" bazzz  into an array of words
sub wsplit
{
local($s, @rv); $s = $_[0];
$s =~ s/\\\"/\0/g;
while($s =~ /^"([^"]*)"\s*(.*)$/ || $s =~ /^(\S+)\s*(.*)$/) {
	$w = $1; $s = $2;
	$w =~ s/\0/"/g; push(@rv, $w);
	}
return \@rv;
}

# wjoin(word, word, ...)
sub wjoin
{
local(@rv, $w);
foreach $w (@_) {
	if ($w =~ /^\S+$/) { push(@rv, $w); }
	else { push(@rv, "\"$w\""); }
	}
return join(' ', @rv);
}

# find_directive(name, &directives)
# Returns the values of directives matching some name
sub find_directive
{
local(@rv, $i, @vals, $dref);
foreach $ref (@{$_[1]}) {
	if (lc($ref->{'name'}) eq lc($_[0])) {
		push(@vals, $ref->{'words'}->[0]);
		}
	}
return wantarray ? @vals : !@vals ? undef : $vals[$#vals];
}

# find_directive_struct(name, &directives)
# Returns references to directives maching some name
sub find_directive_struct
{
local(@rv, $i, @vals);
foreach $ref (@{$_[1]}) {
	if (lc($ref->{'name'}) eq lc($_[0])) {
		push(@vals, $ref);
		}
	}
return wantarray ? @vals : !@vals ? undef : $vals[$#vals];
}

# find_vdirective(name, &virtualdirectives, &directives)
# Looks for some directive in a <VirtualHost> section, and then in the 
# main section
sub find_vdirective
{
if ($_[1]) {
	$rv = &find_directive($_[0], $_[1]);
	if ($rv) { return $rv; }
	}
return &find_directive($_[0], $_[2]);
}

# make_directives(ref, version, module)
sub make_directives
{
local @rv;
local $ver = $_[1];
foreach $d (@{$_[0]}) {
	local(%dir);
	$dir{'name'} = $d->[0];
	$dir{'multiple'} = $d->[1];
	$dir{'type'} = $d->[2];
	$dir{'module'} = $_[2];
	$dir{'version'} = $_[1];
	$dir{'priority'} = $d->[5];
	foreach $c (split(/\s+/, $d->[3])) { $dir{$c}++; }
	if (!$d->[4]) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^-([\d\.]+)$/ && $ver < $1) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^([\d\.]+)$/ && $ver >= $1) { push(@rv, \%dir); }
	elsif ($d->[4] =~ /^([\d\.]+)-([\d\.]+)$/ && $ver >= $1 && $ver < $2)
		{ push(@rv, \%dir); }
	}
return @rv;
}

# editable_directives(type, context)
# Returns an array of references to associative arrays, one for each 
# directive of the given type that can be used in the given context
sub editable_directives
{
local($m, $func, @rv);
local @mods = split(/\s+/, $site{'modules'});
foreach $m (@module_files) {
	if (&indexof($m, @mods) != -1) {
		$func = $m."_directives";
		push(@rv, &$func($site{'version'}));
		}
	}
@rv = grep { $_->{'type'} == $_[0] && $_->{$_[1]} } @rv;
@rv = sort { $pd = $b->{'priority'} - $a->{'priority'};
	     $md = $a->{'module'} cmp $b->{'module'};
	     $pd == 0 ? ($md == 0 ? $a->{'name'} cmp $b->{'name'} : $md) : $pd }
		@rv;
return @rv;
}

# generate_inputs(&editors, &directives)
# Displays a 2-column list of options, for use inside a table
sub generate_inputs
{
local($e, $sw, @args, @rv, $func);
foreach $e (@{$_[0]}) {
	if (!$sw) { print "<tr>\n"; }

	# Build arg list for the editing function. Each arg can be a single
	# directive struct, or a reference to an array of structures.
	$func = "edit";
	undef(@args);
	foreach $ed (split(/\s+/, $e->{'name'})) {
		local(@vals);
		$func .= "_$ed";
		@vals = &find_directive_struct($ed, $_[1]);
		if ($e->{'multiple'}) { push(@args, \@vals); }
		elsif (!@vals) { push(@args, undef); }
		else { push(@args, $vals[$#vals]); }
		}
	push(@args, $e);

	# call the function
	@rv = &$func(@args);
	if ($rv[0] == 2) {
		# spans 2 columns..
		if ($sw) {
			# need to end this row
			print "<td colspan=2></td> </tr><tr>\n";
			}
		else { $sw = !$sw; }
		print "<td valign=top align=right width=25%><b>$rv[1]</b></td>\n";
		print "<td nowrap valign=top colspan=3 width=75%>$rv[2]</td>\n";
		}
	else {
		# only spans one column
		print "<td valign=top align=right width=25%><b>$rv[1]</b></td>\n";
		print "<td nowrap valign=top width=25%>$rv[2]</td>\n";
		}

	if ($sw) { print "</tr>\n"; }
	$sw = !$sw;
	}
}

# parse_inputs(&editors, &directives, &config)
# Reads user choices from a form and update the directives and config files.
sub parse_inputs
{
# First call editor functions to get new values. Each function returns
# an array of references to arrays containing the new values for the directive.
local ($i, @chname, @chval);
foreach $e (@{$_[0]}) {
	local @dirs = split(/\s+/, $e->{'name'});
	local $func = "save_".join('_', @dirs);
	local @rv = &$func($e);
	for($i=0; $i<@dirs; $i++) {
		push(@chname, $dirs[$i]);
		push(@chval, $rv[$i]);
		}
	}

# Assuming everything went OK, update the configuration
for($i=0; $i<@chname; $i++) {
	&save_directive($chname[$i], $chval[$i], $_[1], $_[2]);
	}
&flush_file_lines();
}

# opt_input(value, name, default, size, [units])
sub opt_input
{
return sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[2]\n".
	       "<input type=radio name=$_[1]_def value=0 %s>\n".
	       "<input name=$_[1] size=$_[3] value='%s'> %s\n",
	defined($_[0]) ? "" : "checked",
	defined($_[0]) ? "checked" : "",
	$_[0], $_[4];
}

# parse_opt(name, regexp, error)
sub parse_opt
{
local($i, $re);
if ($in{"$_[0]_def"}) { return ( [ ] ); }
for($i=1; $i<@_; $i+=2) {
	$re = $_[$i];
	if ($in{$_[0]} !~ /$re/) { &error($_[$i+1]); }
	}
return ( [ $in{$_[0]} =~ /^\S+$/ ? $in{$_[0]} : '"'.$in{$_[0]}.'"' ] );
}

# choice_input(value, name, default, [choice]+)
# Each choice is a display,value pair
sub choice_input
{
local($i, $rv);
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<input type=radio name=$_[1] value=\"$2\" %s> $1\n",
		lc($2) eq lc($_[0]) ||
		lc($2) eq 'on' && lc($_[0]) eq 'yes' ||
		lc($2) eq 'off' && lc($_[0]) eq 'no' ||
		!defined($_[0]) && lc($2) eq lc($_[2]) ? "checked" : "";
	}
return $rv;
}

# choice_input_vert(value, name, default, [choice]+)
# Each choice is a display,value pair
sub choice_input_vert
{
local($i, $rv);
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<input type=radio name=$_[1] value=\"$2\" %s> $1<br>\n",
		lc($2) eq lc($_[0]) || !defined($_[0]) &&
				       lc($2) eq lc($_[2]) ? "checked" : "";
	}
return $rv;
}

# parse_choice(name, default)
sub parse_choice
{
if (lc($in{$_[0]}) eq lc($_[1])) { return ( [ ] ); }
else { return ( [ $in{$_[0]} ] ); }
}

# select_input(value, name, default, [choice]+)
sub select_input
{
local($i, $rv);
$rv = "<select name=\"$_[1]\">\n";
for($i=3; $i<@_; $i++) {
	$_[$i] =~ /^([^,]*),(.*)$/;
	$rv .= sprintf "<option value=\"$2\" %s> $1\n",
		lc($2) eq lc($_[0]) || !defined($_[0]) && lc($2) eq lc($_[2]) ? "selected" : "";
	}
$rv .= "</select>\n";
return $rv;
}

# parse_choice(name, default)
sub parse_select
{
return &parse_choice(@_);
}

# config_icons(contexts, program)
# Displays up to 17 icons, one for each type of configuration directive, for
# some context (global, virtual, directory or htaccess)
sub config_icons
{
local($m, $func, $e, %etype, $i, $c);
local @mods = split(/\s+/, $site{'modules'});
local @ctx = split(/\s+/, $_[0]);
foreach $m (sort { $a cmp $b } (@module_files)) {
	if (&indexof($m, @mods) != -1) {
		$func = $m."_directives";
		foreach $e (&$func($site{'version'})) {
			foreach $c (@ctx) {
				$etype{$e->{'type'}}++ if ($e->{$c});
				}
			}
		}
        }
print "<table width=100% cellpadding=5>\n";
for($i=0; $text{"type_$i"}; $i++) {
	if ($etype{$i}) {
		if ($c%5 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=20%>\n";
		&generate_icon("images/type_icon_$i.gif", $text{"type_$i"},
			       $_[1]."type=$i");
		print "</td>\n";
		if ($c%5 == 4) { print "<tr>\n"; }
		$c++;
		}
	}
for($i=2; $i<@_; $i++) {
	if ($c%5 == 0) { print "<tr>\n"; }
	print "<td valign=top align=center width=20%>\n";
	&generate_icon($_[$i]->{'icon'}, $_[$i]->{'name'}, $_[$i]->{'link'});
	print "</td>\n";
	if ($c%5 == 4) { print "<tr>\n"; }
	$c++;
	}
while($c++ % 5) { print "<td width=20%></td>\n"; }
print "</table><p>\n";
}

sub lock_proftpd_files
{
local $conf = &get_config();
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
	&lock_file($f);
	}
}

sub unlock_proftpd_files
{
local $conf = &get_config();
foreach $f (&unique(map { $_->{'file'} } @$conf)) {
	&unlock_file($f);
	}
}

# save_directive(name, &values, &directives, &config)
# Updates the config file(s) and the directives structure with new values
# for the given directives.
# If a directive's value is merely being changed, then its value only needs
# to be updated in the directives array and in the file.
sub save_directive
{
local($i, @old, $lref, $change, $len, $v);
@old = &find_directive_struct($_[0], $_[2]);
for($i=0; $i<@old || $i<@{$_[1]}; $i++) {
	$v = ${$_[1]}[$i];
	if ($i >= @old) {
		# a new directive is being added. If other directives of this
		# type exist, add it after them. Otherwise, put it at the end of
		# the first file in the section
		if ($change) {
			# Have changed some old directive.. add this new one
			# after it, and update change
			local(%v, $j);
			%v = (	"line", $change->{'line'}+1,
				"eline", $change->{'line'}+1,
				"file", $change->{'file'},
				"type", 0,
				"name", $_[0],
				"value", $v);
			$j = &indexof($change, @{$_[2]})+1;
			&renumber($_[3], $v{'line'}, $v{'file'}, 1);
			splice(@{$_[2]}, $j, 0, \%v);
			$lref = &read_file_lines($v{'file'});
			splice(@$lref, $v{'line'}, 0, "$_[0] $v");
			$change = \%v;
			}
		else {
			# Adding a new directive to the end of the list
			# in this section
			local($f, %v, $j, $l);
			$f = $_[2]->[0]->{'file'};
			for($j=0; $_[2]->[$j]->{'file'} eq $f; $j++) { }
			$l = $_[2]->[$j-1]->{'eline'}+1;
			%v = (	"line", $l,
				"eline", $l,
				"file", $f,
				"type", 0,
				"name", $_[0],
				"value", $v);
			&renumber($_[3], $l, $f, 1);
			splice(@{$_[2]}, $j, 0, \%v);
			$lref = &read_file_lines($f);
			splice(@$lref, $l, 0, "$_[0] $v");
			}
		}
	elsif ($i >= @{$_[1]}) {
		# a directive was deleted
		$lref = &read_file_lines($old[$i]->{'file'});
		$idx = &indexof($old[$i], @{$_[2]});
		splice(@{$_[2]}, $idx, 1);
		$len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		splice(@$lref, $old[$i]->{'line'}, $len);
		&renumber($_[3], $old[$i]->{'line'}, $old[$i]->{'file'}, -$len);
		}
	else {
		# just changing the value
		$lref = &read_file_lines($old[$i]->{'file'});
		$len = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		&renumber($_[3], $old[$i]->{'eline'}+1,
			  $old[$i]->{'file'},1-$len);
		$old[$i]->{'value'} = $v;
		$old[$i]->{'eline'} = $old[$i]->{'line'};
		splice(@$lref, $old[$i]->{'line'}, $len, "$_[0] $v");
		$change = $old[$i];
		}
	}
}

# renumber(&config, line, file, offset)
# Recursively changes the line number of all directives from some file 
# beyond the given line.
sub renumber
{
local($d);
if (!$_[3]) { return; }
foreach $d (@{$_[0]}) {
	if ($d->{'file'} eq $_[2] && $d->{'line'} >= $_[1]) {
		$d->{'line'} += $_[3];
		}
	if ($d->{'file'} eq $_[2] && $d->{'eline'} >= $_[1]) {
		$d->{'eline'} += $_[3];
		}
	if ($d->{'type'}) {
		&renumber($d->{'members'}, $_[1], $_[2], $_[3]);
		}
	}
}

sub def
{
return $_[0] ? $_[0] : $_[1];
}

# get_virtual_config(index)
sub get_virtual_config
{
local($conf, $c, $v);
$conf = &get_config();
if (!$_[0]) { $c = $conf; $v = undef; }
else {
	$c = $conf->[$_[0]]->{'members'};
	$v = $conf->[$_[0]];
	}
return wantarray ? ($c, $v) : $c;
}

# get_ftpaccess_config(file)
sub get_ftpaccess_config
{
local($lnum, @conf);
open(FTPACCESS, $_[0]);
@conf = &parse_config_file(FTPACCESS, $lnum, $_[0]);
close(FTPACCESS);
return \@conf;
}

1;

   0707010007627b000081e40000000000000002000000013d1fe2e500000258000000200000000000000000000000000000001c00000003reloc/proftpd/save_anon.cgi   #!/usr/local/bin/perl
# save_anon.cgi
# Save some kind of anonymous section configuration

require './proftpd-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
$anon = &find_directive_struct("Anonymous", $vconf);
$conf = $anon->{'members'};
@edit = &editable_directives($in{'type'}, 'anon');

&lock_file($anon->{'file'});
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_file($anon->{'file'});
&webmin_log("anon", $in{'type'}, $in{'virt'} ? $v->{'value'} : "", \%in);

&redirect("anon_index.cgi?virt=$in{'virt'}");
0707010007627c000081e40000000000000002000000013d1fe2e5000005bc000000200000000000000000000000000000001d00000003reloc/proftpd/save_aserv.cgi  #!/usr/local/bin/perl
# save_aserv.cgi
# Save anonymous section options

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'virt'}) {
	$virt = $conf->[$in{'virt'}];
	$vconf = $virt->{'members'};
	}
else {
	$vconf = $conf;
	}
&error_setup($text{'aserv_err'});

# Validate inputs
-d $in{'root'} || $in{'root'} =~ /^~/ || &error($text{'aserv_eroot'});
$in{'User_def'} || scalar(getpwnam($in{'User'})) ||
	&error($text{'aserv_euser'});
$in{'Group_def'} || scalar(getgrnam($in{'Group'})) ||
	&error($text{'aserv_egroup'});

if ($in{'init'}) {
	# Create a new <Anonymous> directive
	$l = $vconf->[@$vconf - 1];
	&lock_file($l->{'file'});
	$lref = &read_file_lines($l->{'file'});
	local @l = ( "<Anonymous $in{'root'}>" );
	push(@l, "User $in{'User'}") if (!$in{'User_def'});
	push(@l, "Group $in{'Group'}") if (!$in{'Group_def'});
	push(@l, "</Anonymous>");
	splice(@$lref, $l->{'line'}+1, 0, @l);
	&unlock_file($l->{'file'});
	}
else {
	# Update existing directive
	$anon = &find_directive_struct("Anonymous", $vconf);
	&lock_file($anon->{'file'});
	$lref = &read_file_lines($anon->{'file'});
	$lref->[$anon->{'line'}] = "<Anonymous $in{'root'}>";
	&save_directive("User", $in{'User_def'} ? [ ] : [ $in{'User'} ],
			$anon->{'members'}, $vconf);
	&save_directive("Group", $in{'Group_def'} ? [ ] : [ $in{'Group'} ],
			$anon->{'members'}, $vconf);
	&unlock_file($anon->{'file'});
	}
&flush_file_lines();
&redirect("anon_index.cgi?virt=$in{'virt'}");

0707010007627d000081e40000000000000002000000013d1fe2e5000002f8000000200000000000000000000000000000001b00000003reloc/proftpd/save_dir.cgi    #!/usr/local/bin/perl
# save_virt.cgi
# Save some kind of per-directory configuration

require './proftpd-lib.pl';
&ReadParse();
($vconf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $vconf);
	$vconf = $anon->{'members'};
	}
$d = $vconf->[$in{'idx'}];
$conf = $d->{'members'};
@edit = &editable_directives($in{'type'}, 'directory');

&lock_file($d->{'file'});
$tn = $type_name[$in{'type'}]; $tn =~ tr/A-Z/a-z/;
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_file($d->{'file'});
&webmin_log("dir", $in{'type'},
	    "$v->{'value'}:$d->{'words'}->[0]", \%in);

&redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}");
0707010007627e000081e40000000000000002000000013d1fe2e50000048b000000200000000000000000000000000000001d00000003reloc/proftpd/save_dserv.cgi  #!/usr/local/bin/perl
# save_dserv.cgi
# Save directory section options

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
if ($in{'anon'}) {
	$anon = &find_directive_struct("Anonymous", $conf);
	$conf = $anon->{'members'};
	}
$d = $conf->[$in{'idx'}];
&error_setup($text{'dserv_err'});

if ($in{'delete'}) {
	# Delete the directory
	&lock_file($d->{'file'});
	$lref = &read_file_lines($d->{'file'});
	splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1);
	&flush_file_lines();
	&unlock_file($d->{'file'});
	&webmin_log("dir", "delete", "$v->{'value'}:$d->{'words'}->[0]");
	if ($in{'anon'}) {
		&redirect("anon_index.cgi?virt=$in{'virt'}");
		}
	else {
		&redirect("virt_index.cgi?virt=$in{'virt'}");
		}
	}
else {
	# Update the directory
	$in{'dir'} =~ /^\S+$/ || &error($text{'dserv_edir'});
	&lock_file($d->{'file'});
	$lref = &read_file_lines($d->{'file'});
	$lref->[$d->{'line'}] = "<Directory $in{'dir'}>";
	&flush_file_lines();
	&unlock_file($d->{'file'});
	&webmin_log("dir", "save", "$v->{'value'}:$d->{'words'}->[0]");
	&redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}");
	}


 0707010007627f000081e40000000000000002000000013d1fe2e5000001ec000000200000000000000000000000000000002100000003reloc/proftpd/save_ftpaccess.cgi  #!/usr/local/bin/perl
# save_ftpaccess.cgi
# Save some kind of per-directory options file

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_ftpaccess_config($in{'file'});
@edit = &editable_directives($in{'type'}, 'ftpaccess');

&lock_file($in{'file'});
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, $conf);
&unlock_file($in{'file'});
&webmin_log("ftpaccess", $in{'type'}, $in{'file'}, \%in);

&redirect("ftpaccess_index.cgi?file=$in{'file'}");
07070100076280000081e40000000000000002000000013d1fe2e500000179000000200000000000000000000000000000002000000003reloc/proftpd/save_ftpusers.cgi   #!/usr/local/bin/perl
# save_ftpusers.cgi
# Saves users to be denied access

require './proftpd-lib.pl';
&ReadParse();
@users = split(/\s+/, $in{'users'});
&lock_file($config{'ftpusers'});
open(USERS, ">$config{'ftpusers'}");
foreach $u (@users) {
	print USERS $u,"\n";
	}
close(USERS);
&unlock_file($config{'ftpusers'});
&webmin_log("ftpusers", undef, undef);
&redirect("");

   07070100076281000081e40000000000000002000000013d1fe2e500000386000000200000000000000000000000000000001e00000003reloc/proftpd/save_global.cgi #!/usr/local/bin/perl
# save_global.cgi
# Save some type of global options

require './proftpd-lib.pl';
&ReadParse();
&lock_proftpd_files();
$conf = &get_config();
$global = &find_directive_struct("Global", $conf);
if ($global) {
	$gconf = $global->{'members'};
	}
else {
	# Need to create the global section ..
	local $lref = &read_file_lines($config{'proftpd_conf'});
	push(@$lref, "<Global>", "</Global>");
	&flush_file_lines();
	undef(@get_config_cache);
	$conf = &get_config();
	$global = &find_directive_struct("Global", $conf);
	$gconf = $global->{'members'};
	}
@edit = &editable_directives($in{'type'}, 'root');
@gedit = &editable_directives($in{'type'}, 'global');

&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, $conf);
&parse_inputs(\@gedit, $gconf, $conf);
&unlock_proftpd_files();
&webmin_log("global", $in{'type'}, undef, \%in);

&redirect("");

  07070100076282000081e40000000000000002000000013d1fe2e50000039a000000200000000000000000000000000000001d00000003reloc/proftpd/save_limit.cgi  #!/usr/local/bin/perl
# save_limit.cgi
# Save some kind of per-command configuration

require './proftpd-lib.pl';
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$conf = $conf->[$in{'idx'}]->{'members'};
		}
	}
$l = $conf->[$in{'limit'}];
$conf = $l->{'members'};
@edit = &editable_directives($in{'type'}, 'limit');

&lock_file($l->{'file'});
$tn = $type_name[$in{'type'}]; $tn =~ tr/A-Z/a-z/;
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_file($l->{'file'});
&webmin_log("limit", $in{'type'}, $l->{'value'}, \%in);

&redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}");
  070701000762b4000081e40000000000000002000000013d1fe2e50000061e000000200000000000000000000000000000001d00000003reloc/proftpd/save_lserv.cgi  #!/usr/local/bin/perl
# save_dserv.cgi
# Save limit section options

require './proftpd-lib.pl';
&error_setup($text{'lserv_err'});
&ReadParse();
if ($in{'file'}) {
	$conf = &get_ftpaccess_config($in{'file'});
	}
else {
	($conf, $v) = &get_virtual_config($in{'virt'});
	if ($in{'anon'}) {
		$anon = &find_directive_struct("Anonymous", $conf);
		$conf = $anon->{'members'};
		}
	if ($in{'idx'} ne '') {
		$conf = $conf->[$in{'idx'}]->{'members'};
		}
	}
$l = $conf->[$in{'limit'}];
$ln = $l->{'value'};

if ($in{'delete'}) {
	# Delete the directory
	&lock_file($l->{'file'});
	$lref = &read_file_lines($l->{'file'});
	splice(@$lref, $l->{'line'}, $l->{'eline'} - $l->{'line'} + 1);
	&flush_file_lines();
	&unlock_file($l->{'file'});
	if ($in{'file'}) {
		&redirect("ftpaccess_index.cgi?file=$in{'file'}");
		}
	elsif ($in{'idx'} eq '') {
		if ($in{'anon'}) {
			&redirect("anon_index.cgi?virt=$in{'virt'}");
			}
		else {
			&redirect("virt_index.cgi?virt=$in{'virt'}");
			}
		}
	else {
		&redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}");
		}
	&webmin_log("limit", "delete", $l->{'value'});
	}
else {
	# Update the limit
	local @c = split(/\0/, $in{'cmd'});
	@c || &error($text{'lserv_ecmd'});
	&lock_file($l->{'file'});
	$lref = &read_file_lines($l->{'file'});
	$lref->[$l->{'line'}] = "<Limit ".join(" ", @c).">";
	&flush_file_lines();
	&unlock_file($l->{'file'});
	&redirect("limit_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&limit=$in{'limit'}&anon=$in{'anon'}&file=$in{'file'}");
	&webmin_log("limit", "save", $l->{'value'}, \%in);
	}


  070701000762b5000081e40000000000000002000000013d1fe2e5000001f6000000200000000000000000000000000000001c00000003reloc/proftpd/save_virt.cgi   #!/usr/local/bin/perl
# save_virt.cgi
# Save some kind of per-server configuration

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
@edit = &editable_directives($in{'type'}, 'virtual');

&lock_proftpd_files();
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
&parse_inputs(\@edit, $conf, &get_config());
&unlock_proftpd_files();
&webmin_log("virt", $in{'type'}, $in{'virt'} ? $v->{'value'} : "", \%in);

&redirect("virt_index.cgi?virt=$in{'virt'}");
  070701000762b6000081e40000000000000002000000013d1fe2e5000005e2000000200000000000000000000000000000001d00000003reloc/proftpd/save_vserv.cgi  #!/usr/local/bin/perl
# save_vserv.cgi
# Save virtual server options such as the port and address

require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
$vconf = $conf->[$in{'virt'}];

if ($in{'delete'}) {
	# Delete a virtual server
	&lock_file($vconf->{'file'});
	$lref = &read_file_lines($vconf->{'file'});
	splice(@$lref, $vconf->{'line'},
	       $vconf->{'eline'} - $vconf->{'line'} + 1);
	&flush_file_lines();
	&unlock_file($vconf->{'file'});
	&webmin_log("virt", "delete", $vconf->{'value'});
	&redirect("");
	}
else {
	# Update virtual server and directives
	&error_setup($text{'vserv_err'});

	# Check inputs
	gethostbyname($in{'addr'}) || &to_ipaddress($in{'addr'}) ||
		&error($text{'vserv_eaddr'});
	$in{'Port_def'} || $in{'Port'} =~ /^\d+$/ ||
		&error($text{'vserv_eport'});
	$in{'ServerName_def'} || $in{'ServerName'} =~ /\S/ ||
		&error($text{'vserv_ename'});

	# Update <VirtualHost> directive
	&lock_file($vconf->{'file'});
	$lref = &read_file_lines($vconf->{'file'});
	$lref->[$vconf->{'line'}] = "<VirtualHost $in{'addr'}>";

	# Update DocumentRoot and ServerName
	&save_directive("ServerName", $in{'ServerName_def'} ? [ ] :
				      [ "\"$in{'ServerName'}\"" ], 
			$vconf->{'members'}, $conf);
	&save_directive("Port", $in{'Port_def'} ? [ ] : [ $in{'Port'} ],
			$vconf->{'members'}, $conf);

	# write out file
	&flush_file_lines();
	&unlock_file($vconf->{'file'});
	&webmin_log("virt", "save", $vconf->{'value'}, \%in);
	&redirect("virt_index.cgi?virt=$in{'virt'}");
	}

  070701000762b7000081e40000000000000002000000013d1fe2e5000001f4000000200000000000000000000000000000001800000003reloc/proftpd/start.cgi   #!/usr/local/bin/perl
# start.cgi
# Start the ProFTPD server process

require './proftpd-lib.pl';
&error_setup($text{'start_err'});
$conf = &get_config();
$st = &find_directive("ServerType", $conf);
if ($st eq 'inetd') {
	&error($text{'start_einetd'});
	}
if ($config{'start_cmd'}) {
	$out = &backquote_logged("$config{'start_cmd'} 2>&1 </dev/null");
	}
else {
	$out = &backquote_logged("$config{'proftpd_path'} 2>&1 </dev/null");
	}
if ($?) {
	&error($out);
	}
&webmin_log("start");
&redirect("");

070701000762b8000081e40000000000000002000000013d1fe2e500000b24000000200000000000000000000000000000001d00000003reloc/proftpd/virt_index.cgi  #!/usr/local/bin/perl
# virt_index.cgi
# Display a menu for some specific virtual server, or the default server

require './proftpd-lib.pl';
&ReadParse();
($conf, $v) = &get_virtual_config($in{'virt'});
&header($text{'virt_title'}, "");

# Display header and icons
print "<center><font size=+2>", $in{'virt'} eq '' ? $text{'virt_header2'} :
      &text('virt_header1', $v->{'value'}),"</font></center>\n";
print "<hr>\n";
print "<h3>$text{'virt_opts'}</h3>\n";
$anon_icon = { "icon" => "images/anon.gif",
	       "name" => $text{'virt_anon'},
	       "link" => "anon_index.cgi?virt=$in{'virt'}" };
$virt_icon = { "icon" => "images/virt.gif",
	       "name" => $text{'virt_virt'},
	       "link" => "edit_vserv.cgi?virt=$in{'virt'}" };
$ed_icon = { "icon" => "images/edit.gif",
	     "name" => $text{'virt_edit'},
	     "link" => "manual_form.cgi?virt=$in{'virt'}" };
&config_icons("virtual", "edit_virt.cgi?virt=$in{'virt'}&",
	      $anon_icon, $in{'virt'} ? ( $virt_icon, $ed_icon ) : ( ) );

# Display per-directory/limit options
@dir = ( &find_directive_struct("Directory", $conf) ,
	 &find_directive_struct("Limit", $conf) );
if (@dir) {
	print "<hr>\n";
	print "<h3>$text{'virt_header'}</h3>\n";
	print "<table width=100% cellpadding=5>\n";
	foreach $d (@dir) {
		if ($i%3 == 0) { print "<tr>\n"; }
		print "<td valign=top align=center width=33%>\n";
		if ($d->{'name'} eq 'Limit') {
			&generate_icon("images/limit.gif",
				&text('virt_limit', $d->{'value'}),
				"limit_index.cgi?limit=".&indexof($d, @$conf).
				"&virt=$in{'virt'}");
			}
		else {
			&generate_icon("images/dir.gif",
				&text('virt_dir', $d->{'value'}),
				"dir_index.cgi?idx=".&indexof($d, @$conf).
				"&virt=$in{'virt'}");
			}
		print "</td>\n";
		if ($i++%3 == 2) { print "</tr>\n"; }
		}
	while($i++%3) { print "<td width=33%></td>\n"; }
	print "</table>\n";
	}

print "<table width=100%><tr><td>\n";

print "<form action=create_dir.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_adddir'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_path'}</b></td>\n";
print "<td><input name=dir size=30>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td><td>\n";

print "<form action=create_limit.cgi>\n";
print "<input type=hidden name=virt value='$in{'virt'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'virt_addlimit'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'virt_cmds'}</b></td>\n";
print "<td><input name=cmd size=20>\n";
print "<input type=submit value=\"$text{'create'}\"></td> </tr>\n";
print "</table></td></tr></table></form>\n";

print "</td></tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003e282000081a40000000000000001000000013d1ff8420006701a000000200000000000000000000000000000001000000003reloc/prototype   i pkginfo=/opt/webmin/pkginfo
f none config.cgi 0700 root bin
f none config-redhat-linux 0600 root bin
f none config-slackware-linux 0600 root bin
f none config-solaris 0600 root bin
d none images 0700 root bin
f none images/right.gif 0600 root bin
d none images/letters 0700 root bin
f none images/letters/237.gif 0600 root bin
f none images/letters/193.gif 0600 root bin
f none images/letters/239.gif 0600 root bin
f none images/letters/195.gif 0600 root bin
f none images/letters/197.gif 0600 root bin
f none images/letters/177.iso-8859-2.gif 0600 root bin
f none images/letters/199.gif 0600 root bin
f none images/letters/50.gif 0600 root bin
f none images/letters/52.gif 0600 root bin
f none images/letters/54.gif 0600 root bin
f none images/letters/91.gif 0600 root bin
f none images/letters/56.gif 0600 root bin
f none images/letters/93.gif 0600 root bin
f none images/letters/58.gif 0600 root bin
f none images/letters/95.gif 0600 root bin
f none images/letters/97.gif 0600 root bin
f none images/letters/99.gif 0600 root bin
f none images/letters/201.gif 0600 root bin
f none images/letters/120.gif 0600 root bin
f none images/letters/203.gif 0600 root bin
f none images/letters/122.gif 0600 root bin
f none images/letters/240.gif 0600 root bin
f none images/letters/124.gif 0600 root bin
f none images/letters/205.gif 0600 root bin
f none images/letters/242.gif 0600 root bin
f none images/letters/126.gif 0600 root bin
f none images/letters/207.gif 0600 root bin
f none images/letters/244.gif 0600 root bin
f none images/letters/209.gif 0600 root bin
f none images/letters/246.gif 0600 root bin
f none images/letters/248.gif 0600 root bin
f none images/letters/61.gif 0600 root bin
f none images/letters/63.gif 0600 root bin
f none images/letters/65.gif 0600 root bin
f none images/letters/67.gif 0600 root bin
f none images/letters/69.gif 0600 root bin
f none images/letters/210.gif 0600 root bin
f none images/letters/212.gif 0600 root bin
f none images/letters/214.gif 0600 root bin
f none images/letters/251.gif 0600 root bin
f none images/letters/216.gif 0600 root bin
f none images/letters/253.gif 0600 root bin
f none images/letters/218.gif 0600 root bin
f none images/letters/255.gif 0600 root bin
f none images/letters/33.gif 0600 root bin
f none images/letters/70.gif 0600 root bin
f none images/letters/35.gif 0600 root bin
f none images/letters/72.gif 0600 root bin
f none images/letters/37.gif 0600 root bin
f none images/letters/74.gif 0600 root bin
f none images/letters/39.gif 0600 root bin
f none images/letters/76.gif 0600 root bin
f none images/letters/78.gif 0600 root bin
f none images/letters/101.gif 0600 root bin
f none images/letters/103.gif 0600 root bin
f none images/letters/221.gif 0600 root bin
f none images/letters/105.gif 0600 root bin
f none images/letters/223.gif 0600 root bin
f none images/letters/107.gif 0600 root bin
f none images/letters/225.gif 0600 root bin
f none images/letters/109.gif 0600 root bin
f none images/letters/227.gif 0600 root bin
f none images/letters/229.gif 0600 root bin
f none images/letters/40.gif 0600 root bin
f none images/letters/42.gif 0600 root bin
f none images/letters/44.gif 0600 root bin
f none images/letters/81.gif 0600 root bin
f none images/letters/46.gif 0600 root bin
f none images/letters/83.gif 0600 root bin
f none images/letters/48.gif 0600 root bin
f none images/letters/85.gif 0600 root bin
f none images/letters/87.gif 0600 root bin
f none images/letters/89.gif 0600 root bin
f none images/letters/110.gif 0600 root bin
f none images/letters/112.gif 0600 root bin
f none images/letters/230.gif 0600 root bin
f none images/letters/114.gif 0600 root bin
f none images/letters/232.gif 0600 root bin
f none images/letters/116.gif 0600 root bin
f none images/letters/234.gif 0600 root bin
f none images/letters/118.gif 0600 root bin
f none images/letters/236.gif 0600 root bin
f none images/letters/234.iso-8859-2.gif 0600 root bin
f none images/letters/192.gif 0600 root bin
f none images/letters/238.gif 0600 root bin
f none images/letters/194.gif 0600 root bin
f none images/letters/196.gif 0600 root bin
f none images/letters/198.gif 0600 root bin
f none images/letters/51.gif 0600 root bin
f none images/letters/53.gif 0600 root bin
f none images/letters/90.gif 0600 root bin
f none images/letters/55.gif 0600 root bin
f none images/letters/57.gif 0600 root bin
f none images/letters/94.gif 0600 root bin
f none images/letters/59.gif 0600 root bin
f none images/letters/96.gif 0600 root bin
f none images/letters/98.gif 0600 root bin
f none images/letters/200.gif 0600 root bin
f none images/letters/121.gif 0600 root bin
f none images/letters/202.gif 0600 root bin
f none images/letters/123.gif 0600 root bin
f none images/letters/204.gif 0600 root bin
f none images/letters/241.gif 0600 root bin
f none images/letters/125.gif 0600 root bin
f none images/letters/206.gif 0600 root bin
f none images/letters/243.gif 0600 root bin
f none images/letters/208.gif 0600 root bin
f none images/letters/245.gif 0600 root bin
f none images/letters/243.iso-8859-2.gif 0600 root bin
f none images/letters/247.gif 0600 root bin
f none images/letters/182.iso-8859-2.gif 0600 root bin
f none images/letters/249.gif 0600 root bin
f none images/letters/60.gif 0600 root bin
f none images/letters/62.gif 0600 root bin
f none images/letters/64.gif 0600 root bin
f none images/letters/66.gif 0600 root bin
f none images/letters/68.gif 0600 root bin
f none images/letters/211.gif 0600 root bin
f none images/letters/213.gif 0600 root bin
f none images/letters/250.gif 0600 root bin
f none images/letters/215.gif 0600 root bin
f none images/letters/252.gif 0600 root bin
f none images/letters/217.gif 0600 root bin
f none images/letters/254.gif 0600 root bin
f none images/letters/219.gif 0600 root bin
f none images/letters/191.iso-8859-2.gif 0600 root bin
f none images/letters/179.iso-8859-2.gif 0600 root bin
f none images/letters/32.gif 0600 root bin
f none images/letters/34.gif 0600 root bin
f none images/letters/71.gif 0600 root bin
f none images/letters/36.gif 0600 root bin
f none images/letters/73.gif 0600 root bin
f none images/letters/38.gif 0600 root bin
f none images/letters/75.gif 0600 root bin
f none images/letters/77.gif 0600 root bin
f none images/letters/79.gif 0600 root bin
f none images/letters/100.gif 0600 root bin
f none images/letters/102.gif 0600 root bin
f none images/letters/220.gif 0600 root bin
f none images/letters/104.gif 0600 root bin
f none images/letters/222.gif 0600 root bin
f none images/letters/211.iso-8859-2.gif 0600 root bin
f none images/letters/106.gif 0600 root bin
f none images/letters/224.gif 0600 root bin
f none images/letters/108.gif 0600 root bin
f none images/letters/241.iso-8859-2.gif 0600 root bin
f none images/letters/226.gif 0600 root bin
f none images/letters/228.gif 0600 root bin
f none images/letters/188.iso-8859-2.gif 0600 root bin
f none images/letters/41.gif 0600 root bin
f none images/letters/43.gif 0600 root bin
f none images/letters/80.gif 0600 root bin
f none images/letters/45.gif 0600 root bin
f none images/letters/82.gif 0600 root bin
f none images/letters/47.gif 0600 root bin
f none images/letters/84.gif 0600 root bin
f none images/letters/49.gif 0600 root bin
f none images/letters/86.gif 0600 root bin
f none images/letters/88.gif 0600 root bin
f none images/letters/111.gif 0600 root bin
f none images/letters/113.gif 0600 root bin
f none images/letters/231.gif 0600 root bin
f none images/letters/115.gif 0600 root bin
f none images/letters/230.iso-8859-2.gif 0600 root bin
f none images/letters/233.gif 0600 root bin
f none images/letters/117.gif 0600 root bin
f none images/letters/235.gif 0600 root bin
f none images/letters/119.gif 0600 root bin
f none images/letters/208.iso-8859-9.gif 0600 root bin
f none images/letters/214.iso-8859-9.gif 0600 root bin
f none images/letters/220.iso-8859-9.gif 0600 root bin
f none images/letters/221.iso-8859-9.gif 0600 root bin
f none images/letters/222.iso-8859-9.gif 0600 root bin
f none images/letters/231.iso-8859-9.gif 0600 root bin
f none images/letters/240.iso-8859-9.gif 0600 root bin
f none images/letters/246.iso-8859-9.gif 0600 root bin
f none images/letters/252.iso-8859-9.gif 0600 root bin
f none images/letters/253.iso-8859-9.gif 0600 root bin
f none images/dir.gif 0600 root bin
f none images/lc1.gif 0600 root bin
f none images/webmin.xpm 0600 root bin
f none images/lc2.gif 0600 root bin
f none images/webmin.gif 0600 root bin
f none images/image.gif 0600 root bin
f none images/binary.gif 0600 root bin
f none images/text.gif 0600 root bin
f none images/rc1.gif 0600 root bin
f none images/rc2.gif 0600 root bin
f none images/smalllogo.gif 0600 root bin
f none images/left.gif 0600 root bin
f none images/unknown.gif 0600 root bin
f none images/back.gif 0600 root bin
f none images/webmin-mini.xpm 0600 root bin
f none images/newlogo.gif 0600 root bin
f none images/usermin.gif 0600 root bin
f none images/audio.gif 0600 root bin
f none index.cgi 0700 root bin
f none mime.types 0700 root bin
f none miniserv.pl 0700 root bin
f none os_list.txt 0600 root bin
f none perlpath.pl 0600 root bin
f none setup.sh 0700 root bin
f none version 0600 root bin
f none web-lib.pl 0700 root bin
f none README 0600 root bin
f none config_save.cgi 0700 root bin
f none config-debian-linux 0600 root bin
f none chooser.cgi 0700 root bin
f none miniserv.pem 0600 root bin
f none config-aix 0600 root bin
f none config-suse-linux 0600 root bin
f none newmods.pl 0700 root bin
f none copyconfig.pl 0600 root bin
f none config-hpux 0600 root bin
f none config-freebsd 0600 root bin
f none changepass.pl 0700 root bin
f none help.cgi 0700 root bin
f none user_chooser.cgi 0700 root bin
f none group_chooser.cgi 0700 root bin
f none config-irix 0600 root bin
f none config-osf1 0600 root bin
f none thirdparty.pl 0600 root bin
f none oschooser.pl 0600 root bin
f none config-open-linux 0600 root bin
f none config-unixware 0600 root bin
f none config-openserver 0600 root bin
f none switch_user.cgi 0700 root bin
d none lang 0700 root bin
f none lang/zh_TW.Big5 0600 root bin
f none lang/zh_CN 0600 root bin
f none lang/en 0600 root bin
f none lang/pt 0600 root bin
f none lang/no 0600 root bin
f none lang/es 0600 root bin
f none lang/fr 0600 root bin
f none lang/de 0600 root bin
f none lang/sv 0600 root bin
f none lang/it 0600 root bin
f none lang/ru_SU 0600 root bin
f none lang/hu 0600 root bin
f none lang/he 0600 root bin
f none lang/tr 0600 root bin
f none lang/pl 0600 root bin
f none lang/ru_RU 0600 root bin
f none lang/nl 0600 root bin
f none lang/si 0600 root bin
f none lang/cz 0600 root bin
f none lang/ja_JP.euc 0600 root bin
f none lang/ko_KR.euc 0600 root bin
f none lang/ca 0600 root bin
f none lang/th 0600 root bin
f none lang/pt_BR 0600 root bin
f none lang_list.txt 0600 root bin
f none webmin-init 0700 root bin
f none webmin-caldera-init 0700 root bin
f none webmin-daemon 0600 root bin
f none config-turbo-linux 0600 root bin
f none config-openbsd 0600 root bin
d none pap 0700 root bin
f none pap/config-suse-linux 0600 root bin
f none pap/module.info 0600 root bin
f none pap/config-debian-linux 0600 root bin
f none pap/config.info.de 0600 root bin
f none pap/config.info.sv 0600 root bin
f none pap/config-turbo-linux 0600 root bin
f none pap/edit_secret.cgi 0700 root bin
f none pap/save_sync.cgi 0700 root bin
f none pap/pap-lib.pl 0600 root bin
f none pap/config.info.zh_CN 0600 root bin
f none pap/config.info 0600 root bin
f none pap/config-open-linux 0600 root bin
f none pap/useradmin_update.pl 0600 root bin
f none pap/save_secret.cgi 0700 root bin
f none pap/config-corel-linux 0600 root bin
d none pap/images 0700 root bin
f none pap/images/icon.gif 0600 root bin
f none pap/config.info.fr 0600 root bin
f none pap/config.info.es 0600 root bin
f none pap/config-redhat-linux 0600 root bin
f none pap/index.cgi 0700 root bin
f none pap/config-slackware-linux 0600 root bin
f none pap/config-freebsd 0600 root bin
f none pap/config.info.zh_TW.Big5 0600 root bin
d none pap/lang 0700 root bin
f none pap/lang/en 0600 root bin
f none pap/lang/pl 0600 root bin
f none pap/lang/sv 0600 root bin
f none pap/lang/es 0600 root bin
f none pap/lang/zh_CN 0600 root bin
f none pap/lang/de 0600 root bin
f none pap/lang/ja_JP.euc 0600 root bin
f none pap/lang/ko_KR.euc 0600 root bin
f none pap/lang/ja_JP.jis 0600 root bin
f none pap/lang/ca 0600 root bin
f none pap/lang/zh_TW.Big5 0600 root bin
f none pap/log_parser.pl 0600 root bin
f none pap/config.info.tr 0600 root bin
f none pap/config.info.pl 0600 root bin
f none pap/config-mandrake-linux 0600 root bin
f none pap/config-msc-linux 0600 root bin
f none pap/config.info.ca 0600 root bin
f none pap/config-generic-linux 0600 root bin
f none pap/config-gentoo-linux 0600 root bin
f none config-corel-linux 0600 root bin
f none LICENCE 0600 root bin
f none config-macos 0600 root bin
f none config-cobalt-linux 0600 root bin
f none session_login.cgi 0700 root bin
f none referer_save.cgi 0700 root bin
f none acl_security.pl 0600 root bin
f none defaultacl 0600 root bin
f none rpc.cgi 0700 root bin
f none date_chooser.cgi 0700 root bin
f none switch_skill.cgi 0700 root bin
f none install-module.pl 0700 root bin
f none LICENCE.ja 0600 root bin
f none config-mandrake-linux 0600 root bin
f none favicon.ico 0600 root bin
f none config-netbsd 0600 root bin
f none config-msc-linux 0600 root bin
f none fastrpc.cgi 0700 root bin
f none defaulttheme 0600 root bin
f none feedback.cgi 0700 root bin
f none webmin-pam 0600 root bin
f none feedback_form.cgi 0700 root bin
f none javascript-lib.pl 0600 root bin
f none maketemp.pl 0600 root bin
f none config-generic-linux 0600 root bin
f none config-gentoo-linux 0600 root bin
f none run-uninstalls.pl 0700 root bin
f none install-type 0600 root bin
d none cron 0700 root bin
f none cron/save_cron.cgi 0700 root bin
f none cron/cron_editor.pl 0700 root bin
f none cron/config-hpux 0600 root bin
f none cron/config.info.ru_SU 0600 root bin
f none cron/config-turbo-linux 0600 root bin
f none cron/config-openbsd 0600 root bin
f none cron/save_allow.cgi 0700 root bin
f none cron/config.info.zh_CN 0600 root bin
f none cron/acl_security.pl 0600 root bin
f none cron/config-open-linux 0600 root bin
f none cron/useradmin_update.pl 0600 root bin
f none cron/config-corel-linux 0600 root bin
f none cron/defaultacl 0600 root bin
f none cron/config.info.es 0600 root bin
f none cron/config-macos 0600 root bin
d none cron/images 0700 root bin
f none cron/images/icon.gif 0600 root bin
f none cron/exec_cron.cgi 0700 root bin
f none cron/save_env.cgi 0700 root bin
f none cron/config-freebsd 0600 root bin
f none cron/config-irix 0600 root bin
f none cron/config.info.zh_TW.Big5 0600 root bin
f none cron/cron-lib.pl 0600 root bin
f none cron/module.info 0600 root bin
f none cron/config-solaris 0600 root bin
f none cron/config-suse-linux 0600 root bin
d none cron/lang 0700 root bin
f none cron/lang/zh_TW.Big5 0600 root bin
f none cron/lang/zh_CN 0600 root bin
f none cron/lang/en 0600 root bin
f none cron/lang/pt 0600 root bin
f none cron/lang/es 0600 root bin
f none cron/lang/fr 0600 root bin
f none cron/lang/de 0600 root bin
f none cron/lang/sv 0600 root bin
f none cron/lang/it 0600 root bin
f none cron/lang/ru_SU 0600 root bin
f none cron/lang/hu 0600 root bin
f none cron/lang/tr 0600 root bin
f none cron/lang/pl 0600 root bin
f none cron/lang/nl 0600 root bin
f none cron/lang/ru_RU 0600 root bin
f none cron/lang/ja_JP.euc 0600 root bin
f none cron/lang/ko_KR.euc 0600 root bin
f none cron/lang/ca 0600 root bin
f none cron/lang/cz 0600 root bin
f none cron/config-debian-linux 0600 root bin
f none cron/delete_cron.cgi 0700 root bin
f none cron/edit_allow.cgi 0700 root bin
f none cron/config.info.sv 0600 root bin
f none cron/config.info.de 0600 root bin
d none cron/help 0700 root bin
f none cron/help/help.fr.html 0600 root bin
f none cron/help/help.sv.html 0600 root bin
f none cron/help/help.zh_TW.Big5.html 0600 root bin
f none cron/help/help.html 0600 root bin
f none cron/help/intro.es.html 0600 root bin
f none cron/help/intro.fr.html 0600 root bin
f none cron/help/intro.sv.html 0600 root bin
f none cron/help/intro.zh_TW.Big5.html 0600 root bin
f none cron/help/intro.html 0600 root bin
f none cron/help/intro.hu.html 0600 root bin
f none cron/help/help.es.html 0600 root bin
f none cron/help/help.nl.html 0600 root bin
f none cron/help/intro.nl.html 0600 root bin
f none cron/help/help.ca.html 0600 root bin
f none cron/help/intro.ca.html 0600 root bin
f none cron/help/help.it.html 0600 root bin
f none cron/help/intro.it.html 0600 root bin
f none cron/config-openserver 0600 root bin
f none cron/edit_env.cgi 0700 root bin
f none cron/config.info 0600 root bin
f none cron/config-cobalt-linux 0600 root bin
f none cron/config.info.fr 0600 root bin
f none cron/config-unixware 0600 root bin
f none cron/edit_cron.cgi 0700 root bin
f none cron/config-redhat-linux 0600 root bin
f none cron/index.cgi 0700 root bin
f none cron/config-osf1 0600 root bin
f none cron/config-slackware-linux 0600 root bin
f none cron/config-aix 0600 root bin
f none cron/log_parser.pl 0600 root bin
f none cron/config-debian-linux-2.1 0600 root bin
f none cron/config-debian-linux-2.2 0600 root bin
f none cron/config-suse-linux-7.0 0600 root bin
f none cron/config.info.tr 0600 root bin
f none cron/config.info.pl 0600 root bin
f none cron/config.info.ru_RU 0600 root bin
f none cron/config.info.nl 0600 root bin
f none cron/config-suse-linux-7.1 0600 root bin
f none cron/config-mandrake-linux 0600 root bin
f none cron/config-suse-linux-7.2 0600 root bin
f none cron/config-netbsd 0600 root bin
f none cron/config-msc-linux 0600 root bin
f none cron/config.info.ca 0600 root bin
f none cron/config-suse-linux-7.3 0600 root bin
f none cron/config.info.cz 0600 root bin
f none cron/feedback_files.pl 0600 root bin
f none cron/config-debian-linux-3.0 0600 root bin
f none cron/config-generic-linux 0600 root bin
f none cron/config-suse-linux-8.0 0600 root bin
f none cron/config-gentoo-linux 0600 root bin
d none dfsadmin 0700 root bin
f none dfsadmin/config-solaris 0600 root bin
f none dfsadmin/module.info 0600 root bin
f none dfsadmin/save_share.cgi 0700 root bin
f none dfsadmin/delete_share.cgi 0700 root bin
f none dfsadmin/config.info.de 0600 root bin
f none dfsadmin/config.info.sv 0600 root bin
d none dfsadmin/help 0700 root bin
f none dfsadmin/help/index.fr.html 0600 root bin
f none dfsadmin/help/edit_share.fr.html 0600 root bin
f none dfsadmin/help/sub.sv.html 0600 root bin
f none dfsadmin/help/intro.sv.html 0600 root bin
f none dfsadmin/help/create_share.html 0600 root bin
f none dfsadmin/help/index.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/edit_share.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/ro.es.html 0600 root bin
f none dfsadmin/help/root.es.html 0600 root bin
f none dfsadmin/help/suid.sv.html 0600 root bin
f none dfsadmin/help/nfs.fr.html 0600 root bin
f none dfsadmin/help/rw.es.html 0600 root bin
f none dfsadmin/help/sub.es.html 0600 root bin
f none dfsadmin/help/intro.es.html 0600 root bin
f none dfsadmin/help/suid.pl.html 0600 root bin
f none dfsadmin/help/kerberos.sv.html 0600 root bin
f none dfsadmin/help/desc.sv.html 0600 root bin
f none dfsadmin/help/nfs.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/aclok.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/share.fr.html 0600 root bin
f none dfsadmin/help/suid.es.html 0600 root bin
f none dfsadmin/help/create_share.sv.html 0600 root bin
f none dfsadmin/help/desc.html 0600 root bin
f none dfsadmin/help/share.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/kerberos.es.html 0600 root bin
f none dfsadmin/help/root.html 0600 root bin
f none dfsadmin/help/desc.es.html 0600 root bin
f none dfsadmin/help/ro.fr.html 0600 root bin
f none dfsadmin/help/root.fr.html 0600 root bin
f none dfsadmin/help/create_share.es.html 0600 root bin
f none dfsadmin/help/intro.html 0600 root bin
f none dfsadmin/help/rw.fr.html 0600 root bin
f none dfsadmin/help/ro.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/sub.fr.html 0600 root bin
f none dfsadmin/help/intro.fr.html 0600 root bin
f none dfsadmin/help/des.sv.html 0600 root bin
f none dfsadmin/help/root.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/kerberos.pl.html 0600 root bin
f none dfsadmin/help/public.sv.html 0600 root bin
f none dfsadmin/help/ro.html 0600 root bin
f none dfsadmin/help/dir.sv.html 0600 root bin
f none dfsadmin/help/rw.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/suid.fr.html 0600 root bin
f none dfsadmin/help/sub.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/intro.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/dir.html 0600 root bin
f none dfsadmin/help/public.html 0600 root bin
f none dfsadmin/help/des.es.html 0600 root bin
f none dfsadmin/help/anon.sv.html 0600 root bin
f none dfsadmin/help/kerberos.fr.html 0600 root bin
f none dfsadmin/help/suid.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/desc.fr.html 0600 root bin
f none dfsadmin/help/dir.es.html 0600 root bin
f none dfsadmin/help/public.es.html 0600 root bin
f none dfsadmin/help/rw.html 0600 root bin
f none dfsadmin/help/aclok.html 0600 root bin
f none dfsadmin/help/create_share.fr.html 0600 root bin
f none dfsadmin/help/kerberos.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/desc.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/index.sv.html 0600 root bin
f none dfsadmin/help/edit_share.sv.html 0600 root bin
f none dfsadmin/help/anon.es.html 0600 root bin
f none dfsadmin/help/suid.html 0600 root bin
f none dfsadmin/help/create_share.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/des.html 0600 root bin
f none dfsadmin/help/kerberos.html 0600 root bin
f none dfsadmin/help/nfs.sv.html 0600 root bin
f none dfsadmin/help/edit_share.es.html 0600 root bin
f none dfsadmin/help/index.es.html 0600 root bin
f none dfsadmin/help/aclok.sv.html 0600 root bin
f none dfsadmin/help/des.fr.html 0600 root bin
f none dfsadmin/help/public.fr.html 0600 root bin
f none dfsadmin/help/dir.fr.html 0600 root bin
f none dfsadmin/help/nfs.html 0600 root bin
f none dfsadmin/help/share.sv.html 0600 root bin
f none dfsadmin/help/sub.html 0600 root bin
f none dfsadmin/help/des.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/anon.html 0600 root bin
f none dfsadmin/help/nfs.es.html 0600 root bin
f none dfsadmin/help/public.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/dir.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/aclok.es.html 0600 root bin
f none dfsadmin/help/anon.fr.html 0600 root bin
f none dfsadmin/help/share.html 0600 root bin
f none dfsadmin/help/ro.sv.html 0600 root bin
f none dfsadmin/help/index.html 0600 root bin
f none dfsadmin/help/edit_share.html 0600 root bin
f none dfsadmin/help/share.es.html 0600 root bin
f none dfsadmin/help/root.sv.html 0600 root bin
f none dfsadmin/help/anon.zh_TW.Big5.html 0600 root bin
f none dfsadmin/help/rw.sv.html 0600 root bin
f none dfsadmin/help/desc.pl.html 0600 root bin
f none dfsadmin/help/create_share.pl.html 0600 root bin
f none dfsadmin/help/aclok.fr.html 0600 root bin
f none dfsadmin/help/des.pl.html 0600 root bin
f none dfsadmin/help/public.pl.html 0600 root bin
f none dfsadmin/help/dir.pl.html 0600 root bin
f none dfsadmin/help/anon.pl.html 0600 root bin
f none dfsadmin/help/index.pl.html 0600 root bin
f none dfsadmin/help/edit_share.pl.html 0600 root bin
f none dfsadmin/help/nfs.pl.html 0600 root bin
f none dfsadmin/help/aclok.pl.html 0600 root bin
f none dfsadmin/help/share.pl.html 0600 root bin
f none dfsadmin/help/ro.pl.html 0600 root bin
f none dfsadmin/help/root.pl.html 0600 root bin
f none dfsadmin/help/rw.pl.html 0600 root bin
f none dfsadmin/help/sub.pl.html 0600 root bin
f none dfsadmin/help/intro.pl.html 0600 root bin
f none dfsadmin/help/aclok.ca.html 0600 root bin
f none dfsadmin/help/anon.ca.html 0600 root bin
f none dfsadmin/help/create_share.ca.html 0600 root bin
f none dfsadmin/help/des.ca.html 0600 root bin
f none dfsadmin/help/desc.ca.html 0600 root bin
f none dfsadmin/help/dir.ca.html 0600 root bin
f none dfsadmin/help/edit_share.ca.html 0600 root bin
f none dfsadmin/help/index.ca.html 0600 root bin
f none dfsadmin/help/intro.ca.html 0600 root bin
f none dfsadmin/help/kerberos.ca.html 0600 root bin
f none dfsadmin/help/nfs.ca.html 0600 root bin
f none dfsadmin/help/public.ca.html 0600 root bin
f none dfsadmin/help/ro.ca.html 0600 root bin
f none dfsadmin/help/root.ca.html 0600 root bin
f none dfsadmin/help/rw.ca.html 0600 root bin
f none dfsadmin/help/share.ca.html 0600 root bin
f none dfsadmin/help/sub.ca.html 0600 root bin
f none dfsadmin/help/suid.ca.html 0600 root bin
f none dfsadmin/dfs-lib.pl 0600 root bin
f none dfsadmin/config-openserver 0600 root bin
f none dfsadmin/config.info 0600 root bin
f none dfsadmin/restart_sharing.cgi 0700 root bin
d none dfsadmin/images 0700 root bin
f none dfsadmin/images/icon.gif 0600 root bin
f none dfsadmin/images/share.gif 0600 root bin
f none dfsadmin/config-unixware 0600 root bin
f none dfsadmin/config.info.fr 0600 root bin
f none dfsadmin/config.info.es 0600 root bin
f none dfsadmin/edit_share.cgi 0700 root bin
f none dfsadmin/index.cgi 0700 root bin
f none dfsadmin/config.info.zh_TW.Big5 0600 root bin
d none dfsadmin/lang 0700 root bin
f none dfsadmin/lang/en 0600 root bin
f none dfsadmin/lang/tr 0600 root bin
f none dfsadmin/lang/sv 0600 root bin
f none dfsadmin/lang/es 0600 root bin
f none dfsadmin/lang/pl 0600 root bin
f none dfsadmin/lang/de 0600 root bin
f none dfsadmin/lang/ja_JP.euc 0600 root bin
f none dfsadmin/lang/ko_KR.euc 0600 root bin
f none dfsadmin/lang/ca 0600 root bin
f none dfsadmin/lang/fr 0600 root bin
f none dfsadmin/lang/hu 0600 root bin
f none dfsadmin/log_parser.pl 0600 root bin
f none dfsadmin/config.info.tr 0600 root bin
f none dfsadmin/config.info.pl 0600 root bin
f none dfsadmin/low.risk 0600 root bin
f none dfsadmin/low.skill 0600 root bin
f none dfsadmin/medium.risk 0600 root bin
f none dfsadmin/medium.skill 0600 root bin
f none dfsadmin/config.info.zh_CN 0600 root bin
f none dfsadmin/config.info.ca 0600 root bin
f none dfsadmin/config.info.hu 0600 root bin
d none dnsadmin 0700 root bin
f none dnsadmin/create_master.cgi 0700 root bin
f none dnsadmin/master_form.cgi 0700 root bin
f none dnsadmin/edit_slave.cgi 0700 root bin
f none dnsadmin/config-debian-linux-2.2 0600 root bin
f none dnsadmin/config-hpux 0600 root bin
f none dnsadmin/db.cache 0600 root bin
f none dnsadmin/edit_text.cgi 0700 root bin
f none dnsadmin/config.info.ru_SU 0600 root bin
f none dnsadmin/config-turbo-linux 0600 root bin
f none dnsadmin/config-openbsd 0600 root bin
f none dnsadmin/create_slave.cgi 0700 root bin
f none dnsadmin/slave_form.cgi 0700 root bin
f none dnsadmin/acl_security.pl 0600 root bin
f none dnsadmin/config-open-linux 0600 root bin
f none dnsadmin/edit_recs.cgi 0700 root bin
f none dnsadmin/dns-lib.pl 0600 root bin
f none dnsadmin/save_text.cgi 0700 root bin
f none dnsadmin/defaultacl 0600 root bin
d none dnsadmin/images 0700 root bin
f none dnsadmin/images/dnsadmin.gif 0600 root bin
f none dnsadmin/images/icon.gif 0600 root bin
f none dnsadmin/config.info.es 0600 root bin
f none dnsadmin/dns_boot.cgi 0700 root bin
f none dnsadmin/save_zonedef.cgi 0700 root bin
f none dnsadmin/config-freebsd 0600 root bin
f none dnsadmin/config.info.zh_TW.Big5 0600 root bin
f none dnsadmin/config-irix 0600 root bin
f none dnsadmin/module.info 0600 root bin
f none dnsadmin/config-solaris 0600 root bin
f none dnsadmin/config-suse-linux 0600 root bin
f none dnsadmin/config-debian-linux 0600 root bin
f none dnsadmin/config-aix 0600 root bin
f none dnsadmin/edit_record.cgi 0700 root bin
f none dnsadmin/restart.cgi 0700 root bin
f none dnsadmin/config.info.de 0600 root bin
f none dnsadmin/config.info.sv 0600 root bin
d none dnsadmin/help 0700 root bin
f none dnsadmin/help/intro.zh_TW.Big5.html 0600 root bin
f none dnsadmin/help/intro.sv.html 0600 root bin
f none dnsadmin/help/intro.html 0600 root bin
f none dnsadmin/help/intro.ca.html 0600 root bin
f none dnsadmin/help/intro..zh_TW.Big5.html 0600 root bin
f none dnsadmin/change_soa.cgi 0700 root bin
f none dnsadmin/save_slave.cgi 0700 root bin
f none dnsadmin/config-openserver 0600 root bin
f none dnsadmin/save_record.cgi 0700 root bin
f none dnsadmin/start.cgi 0700 root bin
f none dnsadmin/delete_zone.cgi 0700 root bin
f none dnsadmin/config.info 0600 root bin
d none dnsadmin/lang 0700 root bin
f none dnsadmin/lang/en 0600 root bin
f none dnsadmin/lang/sv 0600 root bin
f none dnsadmin/lang/es 0600 root bin
f none dnsadmin/lang/zh_CN 0600 root bin
f none dnsadmin/lang/pl 0600 root bin
f none dnsadmin/lang/ja_JP.euc 0600 root bin
f none dnsadmin/lang/ca 0600 root bin
f none dnsadmin/lang/fr 0600 root bin
f none dnsadmin/edit_master.cgi 0700 root bin
f none dnsadmin/config-cobalt-linux 0600 root bin
f none dnsadmin/config-unixware 0600 root bin
f none dnsadmin/config.info.fr 0600 root bin
f none dnsadmin/config-redhat-linux 0600 root bin
f none dnsadmin/index.cgi 0700 root bin
f none dnsadmin/save_master.cgi 0700 root bin
f none dnsadmin/config-osf1 0600 root bin
f none dnsadmin/config-slackware-linux 0600 root bin
f none dnsadmin/log_parser.pl 0600 root bin
f none dnsadmin/config.info.tr 0600 root bin
f none dnsadmin/config.info.pl 0600 root bin
f none dnsadmin/config.info.zh_CN 0600 root bin
f none dnsadmin/config.info.ru_RU 0600 root bin
f none dnsadmin/config-mandrake-linux 0600 root bin
f none dnsadmin/config-msc-linux 0600 root bin
f none dnsadmin/config.info.ca 0600 root bin
f none dnsadmin/config-debian-linux-3.0 0600 root bin
d none exports 0700 root bin
f none exports/module.info 0600 root bin
f none exports/config-suse-linux 0600 root bin
d none exports/lang 0700 root bin
f none exports/lang/zh_TW.Big5 0600 root bin
f none exports/lang/zh_CN 0600 root bin
f none exports/lang/en 0600 root bin
f none exports/lang/pt 0600 root bin
f none exports/lang/es 0600 root bin
f none exports/lang/fr 0600 root bin
f none exports/lang/de 0600 root bin
f none exports/lang/sv 0600 root bin
f none exports/lang/ru_SU 0600 root bin
f none exports/lang/tr 0600 root bin
f none exports/lang/pl 0600 root bin
f none exports/lang/ru_RU 0600 root bin
f none exports/lang/ja_JP.euc 0600 root bin
f none exports/lang/ko_KR.euc 0600 root bin
f none exports/lang/ca 0600 root bin
f none exports/exports-lib.pl 0600 root bin
f none exports/config-debian-linux 0600 root bin
f none exports/config.info.sv 0600 root bin
f none exports/config.info.de 0600 root bin
f none exports/edit_export.cgi 0700 root bin
d none exports/help 0700 root bin
f none exports/help/insecure.html 0600 root bin
f none exports/help/link_relative.sv.html 0600 root bin
f none exports/help/anongid.html 0600 root bin
f none exports/help/squash_gids.fr.html 0600 root bin
f none exports/help/intro.sv.html 0600 root bin
f none exports/help/squash.zh_TW.Big5.html 0600 root bin
f none exports/help/noaccess.sv.html 0600 root bin
f none exports/help/anongid.fr.html 0600 root bin
f none exports/help/ro.es.html 0600 root bin
f none exports/help/squash_gids.zh_TW.Big5.html 0600 root bin
f none exports/help/nfs.fr.html 0600 root bin
f none exports/help/anongid.zh_TW.Big5.html 0600 root bin
f none exports/help/link_relative.es.html 0600 root bin
f none exports/help/noaccess.html 0600 root bin
f none exports/help/intro.es.html 0600 root bin
f none exports/help/anonuid.fr.html 0600 root bin
f none exports/help/insecure.sv.html 0600 root bin
f none exports/help/noaccess.es.html 0600 root bin
f none exports/help/squash.html 0600 root bin
f none exports/help/client.sv.html 0600 root bin
f none exports/help/nfs.zh_TW.Big5.html 0600 root bin
f none exports/help/active.html 0600 root bin
f none exports/help/anonuid.zh_TW.Big5.html 0600 root bin
f none exports/help/edit_export.sv.html 0600 root bin
f none exports/help/client.html 0600 root bin
f none exports/help/squash_uids.sv.html 0600 root bin
f none exports/help/insecure.es.html 0600 root bin
f none exports/help/client.es.html 0600 root bin
f none exports/help/edit_export.html 0600 root bin
f none exports/help/ro.fr.html 0600 root bin
f none exports/help/active.zh_TW.Big5.html 0600 root bin
f none exports/help/create_export.sv.html 0600 root bin
f none exports/help/intro.html 0600 root bin
f none exports/help/edit_export.es.html 0600 root bin
f none exports/help/link_relative.fr.html 0600 root bin
f none exports/help/squash_uids.es.html 0600 root bin
f none exports/help/ro.zh_TW.Big5.html 0600 root bin
f none exports/help/intro.fr.html 0600 root bin
f none exports/help/dir.html 0600 root bin
f none exports/help/noaccess.fr.html 0600 root bin
f none exports/help/dir.sv.html 0600 root bin
f none exports/help/link_relative.zh_TW.Big5.html 0600 root bin
f none exports/help/intro.zh_TW.Big5.html 0600 root bin
f none exports/help/create_export.es.html 0600 root bin
f none exports/help/noaccess.zh_TW.Big5.html 0600 root bin
f none exports/help/ro.html 0600 root bin
f none exports/help/insecure.fr.html 0600 root bin
f none exports/help/client.fr.html 0600 root bin
f none exports/help/dir.es.html 0600 root bin
f none exports/help/link_relative.html 0600 root bin
f none exports/help/squash.sv.html 0600 root bin
f none exports/help/edit_export.fr.html 0600 root bin
f none exports/help/insecure.zh_TW.Big5.html 0600 root bin
f none exports/help/anonuid.html 0600 root bin
f none exports/help/client.zh_TW.Big5.html 0600 root bin
f none exports/help/nfs.sv.html 0600 root bin
f none exports/help/squash_uids.fr.html 0600 root bin
f none exports/help/squash_gids.sv.html 0600 root bin
f none exports/help/edit_export.zh_TW.Big5.html 0600 root bin
f none exports/help/anongid.sv.html 0600 root bin
f none exports/help/squash_uids.zh_TW.Big5.html 0600 root bin
f none exports/help/squash_gids.html 0600 root bin
f none exports/help/create_export.fr.html 0600 root bin
f none exports/help/squash.es.html 0600 root bin
f none exports/help/squash_gids.es.html 0600 root bin
f none exports/help/create_export.zh_TW.Big5.html 0600 root bin
f none exports/help/anonuid.sv.html 0600 root bin
f none exports/help/dir.fr.html 0600 root bin
f none exports/help/anongid.es.html 0600 root bin
f none exports/help/nfs.html 0600 root bin
f none exports/help/squash_uids.html 0600 root bin
f none exports/help/nfs.es.html 0600 root bin
f none exports/help/dir.zh_TW.Big5.html 0600 root bin
f none exports/help/active.sv.html 0600 root bin
f none exports/help/ro.sv.html 0600 root bin
f none exports/help/anonuid.es.html 0600 root bin
f none exports/help/create_export.html 0600 root bin
f none exports/help/squash.fr.html 0600 root bin
f none exports/help/insecure.pl.html 0600 root bin
f none exports/help/active.es.html 0600 root bin
f none exports/help/client.pl.html 0600 root bin
f none exports/help/edit_export.pl.html 0600 root bin
f none exports/help/squash_uids.pl.html 0600 root bin
f none exports/help/create_export.pl.html 0600 root bin
f none exports/help/dir.pl.html 0600 root bin
f none exports/help/squash.pl.html 0600 root bin
f none exports/help/squash_gids.pl.html 0600 root bin
f none exports/help/anongid.pl.html 0600 root bin
f none exports/help/nfs.pl.html 0600 root bin
f none exports/help/anonuid.pl.html 0600 root bin
f none exports/help/active.pl.html 0600 root bin
f none exports/help/ro.pl.html 0600 root bin
f none exports/help/link_relative.pl.html 0600 root bin
f none exports/help/intro.pl.html 0600 root bin
f none exports/help/noaccess.pl.html 0600 root bin
f none exports/help/active.ca.html 0600 root bin
f none exports/help/anongid.ca.html 0600 root bin
f none exports/help/anonuid.ca.html 0600 root bin
f none exports/help/client.ca.html 0600 root bin
f none exports/help/create_export.ca.html 0600 root bin
f none exports/help/dir.ca.html 0600 root bin
f none exports/help/edit_export.ca.html 0600 root bin
f none exports/help/insecure.ca.html 0600 root bin
f none exports/help/intro.ca.html 0600 root bin
f none exports/help/link_relative.ca.html 0600 root bin
f none exports/help/nfs.ca.html 0600 root bin
f none exports/help/noaccess.ca.html 0600 root bin
f none exports/help/ro.ca.html 0600 root bin
f none exports/help/squash.ca.html 0600 root bin
f none exports/help/squash_gids.ca.html 0600 root bin
f none exports/help/squash_uids.ca.html 0600 root bin
f none exports/config.info.ru_SU 0600 root bin
f none exports/config-turbo-linux 0600 root bin
f none exports/config.info.zh_CN 0600 root bin
f none exports/config.info 0600 root bin
f none exports/save_export.cgi 0700 root bin
f none exports/config-open-linux 0600 root bin
f none exports/config-cobalt-linux 0600 root bin
f none exports/config-corel-linux 0600 root bin
f none exports/config.info.es 0600 root bin
f none exports/config.info.fr 0600 root bin
d none exports/images 0700 root bin
f none exports/images/icon.gif 0600 root bin
f none exports/images/export.gif 0600 root bin
f none exports/config-redhat-linux 0600 root bin
f none exports/index.cgi 0700 root bin
f none exports/restart_mountd.cgi 0700 root bin
f none exports/config-slackware-linux 0600 root bin
f none exports/config.info.zh_TW.Big5 0600 root bin
f none exports/config-aix 0600 root bin
f none exports/log_parser.pl 0600 root bin
f none exports/config.info.tr 0600 root bin
f none exports/config.info.pl 0600 root bin
f none exports/low.risk 0600 root bin
f none exports/low.skill 0600 root bin
f none exports/medium.risk 0600 root bin
f none exports/medium.skill 0600 root bin
f none exports/config.info.ru_RU 0600 root bin
f none exports/config-debian-linux-2.2 0600 root bin
f none exports/config-suse-linux-7.1 0600 root bin
f none exports/config-mandrake-linux 0600 root bin
f none exports/config-suse-linux-7.2 0600 root bin
f none exports/config-msc-linux 0600 root bin
f none exports/config-slackware-linux-8.0 0600 root bin
f none exports/config.info.ca 0600 root bin
f none exports/config-suse-linux-7.3 0600 root bin
f none exports/config-debian-linux-3.0 0600 root bin
f none exports/config-generic-linux 0600 root bin
f none exports/config-suse-linux-8.0 0600 root bin
f none exports/config-slackware-linux-8.1 0600 root bin
f none exports/config-gentoo-linux 0600 root bin
d none inetd 0700 root bin
f none inetd/inetd-lib.pl 0600 root bin
f none inetd/config-lfs-linux 0600 root bin
f none inetd/config-hpux 0600 root bin
f none inetd/config.info.ru_SU 0600 root bin
f none inetd/config-turbo-linux 0600 root bin
f none inetd/config-openbsd 0600 root bin
f none inetd/config.info.zh_CN 0600 root bin
f none inetd/config-open-linux 0600 root bin
f none inetd/delete_serv.cgi 0700 root bin
f none inetd/save_rpc.cgi 0700 root bin
f none inetd/config-corel-linux 0600 root bin
f none inetd/config.info.es 0600 root bin
f none inetd/config-macos 0600 root bin
d none inetd/images 0700 root bin
f none inetd/images/icon.gif 0600 root bin
f none inetd/module.info 0600 root bin
f none inetd/config-freebsd 0600 root bin
f none inetd/config.info.zh_TW.Big5 0600 root bin
f none inetd/config-solaris 0600 root bin
f none inetd/config-suse-linux 0600 root bin
f none inetd/config-aix 0600 root bin
d none inetd/lang 0700 root bin
f none inetd/lang/zh_CN 0600 root bin
f none inetd/lang/en 0600 root bin
f none inetd/lang/es 0600 root bin
f none inetd/lang/sv 0600 root bin
f none inetd/lang/hu 0600 root bin
f none inetd/lang/pl 0600 root bin
f none inetd/lang/tr 0600 root bin
f none inetd/lang/fr 0600 root bin
f none inetd/lang/ja_JP.euc 0600 root bin
f none inetd/lang/ko_KR.euc 0600 root bin
f none inetd/lang/ca 0600 root bin
f none inetd/lang/cz 0600 root bin
f none inetd/lang/de 0600 root bin
f none inetd/lang/it 0600 root bin
f none inetd/lang/zh_TW.Big5 0600 root bin
f none inetd/config-debian-linux 0600 root bin
f none inetd/edit_serv.cgi 0700 root bin
f none inetd/config.info.sv 0600 root bin
f none inetd/config.info.de 0600 root bin
d none inetd/help 0700 root bin
f none inetd/help/help.sv.html 0600 root bin
f none inetd/help/help.zh_TW.Big5.html 0600 root bin
f none inetd/help/help.html 0600 root bin
f none inetd/help/help.es.html 0600 root bin
f none inetd/help/help.ca.html 0600 root bin
f none inetd/edit_rpc.cgi 0700 root bin
f none inetd/config-openserver 0600 root bin
f none inetd/save_serv.cgi 0700 root bin
f none inetd/config.info 0600 root bin
f none inetd/config-cobalt-linux 0600 root bin
f none inetd/config.info.fr 0600 root bin
f none inetd/config-unixware 0600 root bin
f none inetd/delete_rpc.cgi 0700 root bin
f none inetd/config-redhat-linux 0600 root bin
f none inetd/restart_inetd.cgi 0700 root bin
f none inetd/index.cgi 0700 root bin
f none inetd/config-freebsd-2.1 0600 root bin
f none inetd/config-osf1 0600 root bin
f none inetd/config-freebsd-2.2 0600 root bin
f none inetd/config-slackware-linux 0600 root bin
f none inetd/config-suse-linux-6.3 0600 root bin
f none inetd/config-suse-linux-6.4 0600 root bin
f none inetd/config-solaris-8 0600 root bin
f none inetd/log_parser.pl 0600 root bin
f none inetd/config-suse-linux-7.0 0600 root bin
f none inetd/config.info.hu 0600 root bin
f none inetd/config.info.tr 0600 root bin
f none inetd/config.info.pl 0600 root bin
f none inetd/config.info.ru_RU 0600 root bin
f none inetd/config-open-linux-3.1e 0600 root bin
f none inetd/config-suse-linux-7.1 0600 root bin
f none inetd/config-mandrake-linux 0600 root bin
f none inetd/config-suse-linux-7.2 0600 root bin
f none inetd/config-netbsd 0600 root bin
f none inetd/config-msc-linux 0600 root bin
f none inetd/config.info.ca 0600 root bin
f none inetd/config-solaris-9 0600 root bin
f none inetd/config-suse-linux-7.3 0600 root bin
f none inetd/config-generic-linux 0600 root bin
f none inetd/config-suse-linux-8.0 0600 root bin
d none init 0700 root bin
f none init/edit_action.cgi 0700 root bin
f none init/config-hpux 0600 root bin
f none init/config.info.ru_SU 0600 root bin
f none init/config-turbo-linux 0600 root bin
f none init/save_action.cgi 0700 root bin
f none init/config-openbsd 0600 root bin
f none init/config.info.zh_CN 0600 root bin
f none init/acl_security.pl 0600 root bin
f none init/config-open-linux 0600 root bin
f none init/delboot.pl 0700 root bin
f none init/config-cobalt-linux-2.2 0600 root bin
f none init/start_stop.cgi 0700 root bin
f none init/config-corel-linux 0600 root bin
f none init/config-cobalt-linux-5.0 0600 root bin
f none init/defaultacl 0600 root bin
f none init/config.info.es 0600 root bin
d none init/images 0700 root bin
f none init/images/icon.gif 0600 root bin
f none init/save_local.cgi 0700 root bin
f none init/shutdown.cgi 0700 root bin
d none init/lang 0700 root bin
f none init/lang/zh_TW.Big5 0600 root bin
f none init/lang/zh_CN 0600 root bin
f none init/lang/en 0600 root bin
f none init/lang/pt 0600 root bin
f none init/lang/es 0600 root bin
f none init/lang/fr 0600 root bin
f none init/lang/de 0600 root bin
f none init/lang/sv 0600 root bin
f none init/lang/it 0600 root bin
f none init/lang/ru_SU 0600 root bin
f none init/lang/tr 0600 root bin
f none init/lang/pl 0600 root bin
f none init/lang/ru_RU 0600 root bin
f none init/lang/ja_JP.euc 0600 root bin
f none init/lang/ko_KR.euc 0600 root bin
f none init/lang/ca 0600 root bin
f none init/config-freebsd 0600 root bin
f none init/config.info.zh_TW.Big5 0600 root bin
f none init/module.info 0600 root bin
f none init/config-solaris 0600 root bin
f none init/config-suse-linux 0600 root bin
f none init/init-lib.pl 0700 root bin
f none init/config-debian-linux 0600 root bin
f none init/fix_action.cgi 0700 root bin
f none init/config.info.sv 0600 root bin
f none init/config.info.de 0600 root bin
d none init/help 0700 root bin
f none init/help/help.sv.html 0600 root bin
f none init/help/help.html 0600 root bin
f none init/help/proc.sv.html 0600 root bin
f none init/help/proc.html 0600 root bin
f none init/help/help.es.html 0600 root bin
f none init/help/proc.es.html 0600 root bin
f none init/help/help.ca.html 0600 root bin
f none init/help/proc.ca.html 0600 root bin
f none init/help/help.de.html 0600 root bin
f none init/help/proc.de.html 0600 root bin
f none init/reboot.cgi 0700 root bin
f none init/config-openserver 0600 root bin
f none init/config.info 0600 root bin
f none init/delete_action.cgi 0700 root bin
f none init/atboot.pl 0700 root bin
f none init/config.info.fr 0600 root bin
f none init/config-unixware 0600 root bin
f none init/config-redhat-linux 0600 root bin
f none init/index.cgi 0700 root bin
f none init/config-osf1 0600 root bin
f none init/config-aix 0600 root bin
f none init/config-slackware-linux 0600 root bin
f none init/log_parser.pl 0600 root bin
f none init/config-irix 0600 root bin
f none init/config.info.tr 0600 root bin
f none init/config.info.pl 0600 root bin
f none init/medium.risk 0600 root bin
f none init/save_bootup.cgi 0700 root bin
f none init/config-macos 0600 root bin
f none init/low.risk 0600 root bin
f none init/config.info.ru_RU 0600 root bin
f none init/config-suse-linux-7.1 0600 root bin
f none init/config-mandrake-linux 0600 root bin
f none init/config-suse-linux-7.2 0600 root bin
f none init/config-netbsd 0600 root bin
f none init/config-msc-linux 0600 root bin
f none init/config.info.ca 0600 root bin
f none init/config-suse-linux-7.3 0600 root bin
f none init/edit_hostconfig.cgi 0700 root bin
f none init/hostconfig-lib.pl 0700 root bin
f none init/modifyhostconfig.cgi 0700 root bin
f none init/save_hostconfig_action.cgi 0700 root bin
f none init/save_startscript.cgi 0700 root bin
f none init/config-cobalt-linux-4.0 0600 root bin
f none init/config-cobalt-linux-6.0 0600 root bin
f none init/config-generic-linux 0600 root bin
f none init/config-suse-linux-8.0 0600 root bin
f none init/change_rl.cgi 0700 root bin
f none init/mass_start_stop.cgi 0700 root bin
f none init/uninstall.pl 0600 root bin
d none mount 0700 root bin
f none mount/config-hpux 0600 root bin
f none mount/config-turbo-linux 0600 root bin
f none mount/freebsd-mounts-2 0700 root bin
f none mount/openbsd-mounts-2.c 0600 root bin
f none mount/config-openbsd 0600 root bin
f none mount/freebsd-mounts-3 0700 root bin
f none mount/freebsd-mounts-4 0700 root bin
f none mount/config.info.es 0600 root bin
f none mount/turbo-linux-lib.pl 0700 root bin
f none mount/config-redhat-linux-5.0 0600 root bin
f none mount/config-redhat-linux-5.1 0600 root bin
f none mount/smb_server.cgi 0700 root bin
f none mount/config-redhat-linux-5.2 0600 root bin
f none mount/freebsd-mounts-2.c 0600 root bin
f none mount/config-freebsd 0600 root bin
f none mount/linux-lib.pl 0700 root bin
f none mount/config.info.zh_TW.Big5 0600 root bin
f none mount/module.info 0600 root bin
f none mount/freebsd-mounts-4.c 0400 root bin
f none mount/unixware-lib.pl 0700 root bin
d none mount/lang 0700 root bin
f none mount/lang/zh_TW.Big5 0600 root bin
f none mount/lang/zh_CN 0600 root bin
f none mount/lang/en 0600 root bin
f none mount/lang/fr 0600 root bin
f none mount/lang/es 0600 root bin
f none mount/lang/de 0600 root bin
f none mount/lang/sv 0600 root bin
f none mount/lang/ru_SU 0600 root bin
f none mount/lang/hu 0600 root bin
f none mount/lang/tr 0600 root bin
f none mount/lang/pl 0600 root bin
f none mount/lang/ru_RU 0600 root bin
f none mount/lang/ja_JP.euc 0600 root bin
f none mount/lang/ko_KR.euc 0600 root bin
f none mount/lang/ca 0600 root bin
f none mount/redhat-linux-lib.pl 0700 root bin
f none mount/irix-lib.pl 0600 root bin
f none mount/debian-linux-lib.pl 0700 root bin
f none mount/hpux-lib.pl 0600 root bin
f none mount/config-cobalt-linux 0600 root bin
f none mount/smb_share.cgi 0700 root bin
f none mount/config.info.fr 0600 root bin
f none mount/config-unixware 0600 root bin
f none mount/index.cgi 0700 root bin
f none mount/config-osf1 0600 root bin
f none mount/cobalt-linux-lib.pl 0700 root bin
f none mount/corel-linux-lib.pl 0700 root bin
f none mount/config-lfs-linux 0600 root bin
f none mount/nfs_export.cgi 0700 root bin
f none mount/suse-linux-lib.pl 0700 root bin
f none mount/config.info.ru_SU 0600 root bin
f none mount/create_swap.cgi 0700 root bin
d none mount/images 0700 root bin
f none mount/images/icon.gif 0600 root bin
f none mount/images/iso9660.gif 0600 root bin
f none mount/images/reiserfs.gif 0600 root bin
f none mount/images/ext2.gif 0600 root bin
f none mount/images/minix.gif 0600 root bin
f none mount/images/msdos.gif 0600 root bin
f none mount/images/nfs.gif 0600 root bin
f none mount/images/tmpfs.gif 0600 root bin
f none mount/images/pcfs.gif 0600 root bin
f none mount/images/cachefs.gif 0600 root bin
f none mount/images/ufs.gif 0600 root bin
f none mount/images/xmemfs.gif 0600 root bin
f none mount/images/ext.gif 0600 root bin
f none mount/images/hpfs.gif 0600 root bin
f none mount/images/vfat.gif 0600 root bin
f none mount/images/autofs.gif 0600 root bin
f none mount/images/udfs.gif 0600 root bin
f none mount/images/lofs.gif 0600 root bin
f none mount/images/hsfs.gif 0600 root bin
f none mount/images/sysv.gif 0600 root bin
f none mount/images/rumba.gif 0600 root bin
f none mount/images/auto.gif 0600 root bin
f none mount/images/star.gif 0600 root bin
f none mount/images/smbfs.gif 0600 root bin
f none mount/images/fat.gif 0600 root bin
f none mount/images/umsdos.gif 0600 root bin
f none mount/images/swap.gif 0600 root bin
f none mount/config.info.zh_CN 0600 root bin
f none mount/config-open-linux 0600 root bin
f none mount/config-corel-linux 0600 root bin
f none mount/config-redhat-linux-6.0 0600 root bin
f none mount/openbsd-lib.pl 0700 root bin
f none mount/config-redhat-linux-6.1 0600 root bin
f none mount/config-redhat-linux-6.2 0600 root bin
f none mount/nfs_server.cgi 0700 root bin
f none mount/config-irix 0600 root bin
f none mount/freebsd-mounts-3.c 0400 root bin
f none mount/config-suse-linux 0600 root bin
f none mount/config-solaris 0600 root bin
f none mount/mount-lib.pl 0600 root bin
f none mount/save_mount.cgi 0700 root bin
f none mount/config-debian-linux 0600 root bin
f none mount/config.info.sv 0600 root bin
f none mount/config.info.de 0600 root bin
f none mount/osf1-lib.pl 0600 root bin
f none mount/slackware-linux-lib.pl 0700 root bin
f none mount/freebsd-lib.pl 0700 root bin
d none mount/help 0700 root bin
f none mount/help/help.sv.html 0600 root bin
f none mount/help/help.zh_TW.Big5.html 0600 root bin
f none mount/help/help.html 0600 root bin
f none mount/help/help.ca.html 0600 root bin
f none mount/solaris-lib.pl 0600 root bin
f none mount/config-turbo-linux-4.0 0600 root bin
f none mount/lfs-linux-lib.pl 0700 root bin
f none mount/config.info 0600 root bin
f none mount/config-redhat-linux 0600 root bin
f none mount/edit_mount.cgi 0700 root bin
f none mount/config-slackware-linux 0600 root bin
f none mount/open-linux-lib.pl 0700 root bin
f none mount/openbsd-mounts-2 0700 root bin
f none mount/log_parser.pl 0600 root bin
f none mount/config.info.tr 0600 root bin
f none mount/config.info.pl 0600 root bin
f none mount/config-redhat-linux-7.0 0600 root bin
f none mount/medium.risk 0600 root bin
f none mount/low.skill 0600 root bin
f none mount/low.risk 0600 root bin
f none mount/medium.skill 0600 root bin
f none mount/config.info.ru_RU 0600 root bin
f none mount/config-redhat-linux-7.1 0600 root bin
f none mount/config-mandrake-linux 0600 root bin
f none mount/mandrake-linux-lib.pl 0700 root bin
f none mount/config-open-linux-3.1e 0600 root bin
f none mount/config-msc-linux 0600 root bin
f none mount/msc-linux-lib.pl 0700 root bin
f none mount/config.info.ca 0600 root bin
f none mount/config-redhat-linux-7.2 0600 root bin
f none mount/generic-linux-lib.pl 0700 root bin
f none mount/config-generic-linux 0600 root bin
f none mount/config-redhat-linux-7.3 0600 root bin
f none mount/mount.cgi 0700 root bin
f none mount/unmount.cgi 0700 root bin
f none mount/openbsd-mounts-3 0700 root bin
f none mount/config-macos 0600 root bin
f none mount/macos-mounts 0700 root bin
f none mount/macos-mounts.c 0400 root bin
f none mount/macos-lib.pl 0700 root bin
f none mount/gentoo-linux-lib.pl 0700 root bin
f none mount/config-gentoo-linux 0600 root bin
d none samba 0700 root bin
f none samba/swat.cgi 0700 root bin
f none samba/edit_sec.cgi 0700 root bin
f none samba/delete_share.cgi 0700 root bin
f none samba/config-hpux 0600 root bin
f none samba/save_fshare.cgi 0700 root bin
f none samba/edit_euser.cgi 0700 root bin
f none samba/config-turbo-linux 0600 root bin
f none samba/swat_save.cgi 0700 root bin
f none samba/config-openbsd 0600 root bin
f none samba/useradmin_update.pl 0600 root bin
f none samba/config.info.es 0600 root bin
f none samba/config-freebsd 0600 root bin
f none samba/config.info.zh_TW.Big5 0600 root bin
f none samba/config-slackware-linux-7.0 0600 root bin
f none samba/module.info 0600 root bin
f none samba/save_fmisc.cgi 0700 root bin
d none samba/lang 0700 root bin
f none samba/lang/zh_CN 0600 root bin
f none samba/lang/en 0600 root bin
f none samba/lang/es 0600 root bin
f none samba/lang/sv 0600 root bin
f none samba/lang/ru_SU 0600 root bin
f none samba/lang/tr 0600 root bin
f none samba/lang/pl 0600 root bin
f none samba/lang/ru_RU 0600 root bin
f none samba/lang/ja_JP.euc 0600 root bin
f none samba/lang/ko_KR.euc 0600 root bin
f none samba/lang/de 0600 root bin
f none samba/lang/ca 0600 root bin
f none samba/lang/fr 0600 root bin
f none samba/lang/it 0600 root bin
f none samba/lang/zh_TW.Big5 0600 root bin
f none samba/save_pass.cgi 0700 root bin
f none samba/conf_smb.cgi 0700 root bin
f none samba/index.cgi 0700 root bin
f none samba/save_fperm.cgi 0700 root bin
f none samba/save_sec.cgi 0700 root bin
f none samba/kill_user.cgi 0700 root bin
f none samba/config-openserver 0600 root bin
f none samba/save_sync.cgi 0700 root bin
f none samba/create_copy.cgi 0700 root bin
f none samba/save_smb.cgi 0700 root bin
f none samba/conf_print.cgi 0700 root bin
f none samba/config-cobalt-linux 0600 root bin
f none samba/config.info.fr 0600 root bin
f none samba/save_fname.cgi 0700 root bin
f none samba/config-unixware 0600 root bin
f none samba/edit_fmisc.cgi 0700 root bin
f none samba/config-osf1 0600 root bin
f none samba/edit_fperm.cgi 0700 root bin
f none samba/config-debian-linux-2.1 0600 root bin
f none samba/config-debian-linux-2.2 0600 root bin
f none samba/config-lfs-linux 0600 root bin
f none samba/edit_pshare.cgi 0700 root bin
f none samba/config.info.ru_SU 0600 root bin
f none samba/samba-lib.pl 0600 root bin
d none samba/images 0700 root bin
f none samba/images/icon_4.gif 0600 root bin
f none samba/images/icon_5.gif 0600 root bin
f none samba/images/icon_6.gif 0600 root bin
f none samba/images/icon_7.gif 0600 root bin
f none samba/images/icon_8.gif 0600 root bin
f none samba/images/icon_9.gif 0600 root bin
f none samba/images/icon_0.gif 0600 root bin
f none samba/images/icon.gif 0600 root bin
f none samba/images/icon_1.gif 0600 root bin
f none samba/images/icon_2.gif 0600 root bin
f none samba/images/icon_3.gif 0600 root bin
f none samba/edit_fname.cgi 0700 root bin
f none samba/config.info.zh_CN 0600 root bin
f none samba/config-open-linux 0600 root bin
f none samba/conf_misc.cgi 0700 root bin
f none samba/save_pshare.cgi 0700 root bin
f none samba/config-corel-linux 0600 root bin
f none samba/delete_euser.cgi 0700 root bin
f none samba/make_epass.cgi 0700 root bin
f none samba/ask_epass.cgi 0700 root bin
f none samba/config-irix 0600 root bin
f none samba/config-suse-linux 0600 root bin
f none samba/config-solaris 0600 root bin
f none samba/edit_epass.cgi 0700 root bin
f none samba/edit_sync.cgi 0700 root bin
f none samba/config-debian-linux 0600 root bin
f none samba/config-aix 0600 root bin
f none samba/save_popts.cgi 0700 root bin
f none samba/restart.cgi 0700 root bin
f none samba/config.info.sv 0600 root bin
d none samba/help 0700 root bin
f none samba/help/help.sv.html 0600 root bin
f none samba/help/help.html 0600 root bin
f none samba/help/help.es.html 0600 root bin
f none samba/help/help.ca.html 0600 root bin
f none samba/help/help.it.html 0600 root bin
f none samba/save_copy.cgi 0700 root bin
f none samba/conf_net.cgi 0700 root bin
f none samba/view_users.cgi 0700 root bin
f none samba/start.cgi 0700 root bin
f none samba/config.info 0600 root bin
f none samba/save_euser.cgi 0700 root bin
f none samba/save_net.cgi 0700 root bin
f none samba/config-redhat-linux 0600 root bin
f none samba/save_misc.cgi 0700 root bin
f none samba/save_print.cgi 0700 root bin
f none samba/edit_popts.cgi 0700 root bin
f none samba/conf_pass.cgi 0700 root bin
f none samba/config-slackware-linux 0600 root bin
f none samba/edit_fshare.cgi 0700 root bin
f none samba/config-slackware-linux-7.1 0600 root bin
f none samba/log_parser.pl 0600 root bin
f none samba/opts.pl.dev 0600 root bin
f none samba/config.info.tr 0600 root bin
f none samba/config.info.pl 0600 root bin
f none samba/config.info.ru_RU 0600 root bin
f none samba/config-redhat-linux-7.0 0600 root bin
f none samba/acl_security.pl 0600 root bin
f none samba/defaultacl 0600 root bin
f none samba/config-redhat-linux-7.1 0600 root bin
f none samba/config-macos 0600 root bin
f none samba/logout.cgi 0700 root bin
f none samba/config-mandrake-linux 0600 root bin
f none samba/config-netbsd 0600 root bin
f none samba/config-msc-linux 0600 root bin
f none samba/config-slackware-linux-8.0 0600 root bin
f none samba/config.info.ca 0600 root bin
f none samba/config-mandrake-linux-8.1 0600 root bin
f none samba/config-redhat-linux-7.2 0600 root bin
f none samba/config-suse-linux-7.3 0600 root bin
f none samba/config-debian-linux-3.0 0600 root bin
f none samba/config-generic-linux 0600 root bin
f none samba/config-mandrake-linux-8.2 0600 root bin
f none samba/config-redhat-linux-7.3 0600 root bin
f none samba/config-suse-linux-8.0 0600 root bin
f none samba/config-slackware-linux-8.1 0600 root bin
f none samba/config-gentoo-linux 0600 root bin
d none useradmin 0700 root bin
f none useradmin/corel-linux-lib.pl 0600 root bin
f none useradmin/cobalt-linux-lib.pl 0600 root bin
f none useradmin/delete_group.cgi 0700 root bin
f none useradmin/edit_user.cgi 0700 root bin
f none useradmin/config-hpux 0600 root bin
f none useradmin/many_create.cgi 0700 root bin
f none useradmin/many_form.cgi 0700 root bin
f none useradmin/suse-linux-lib.pl 0600 root bin
f none useradmin/config.info.ru_SU 0600 root bin
f none useradmin/help.html 0600 root bin
f none useradmin/config-turbo-linux 0600 root bin
f none useradmin/user-lib.pl 0600 root bin
f none useradmin/config-openbsd 0600 root bin
f none useradmin/save_user.cgi 0700 root bin
f none useradmin/config.info.zh_CN 0600 root bin
f none useradmin/acl_security.pl 0600 root bin
f none useradmin/config-open-linux 0600 root bin
f none useradmin/config-corel-linux 0600 root bin
f none useradmin/defaultacl 0600 root bin
f none useradmin/config.info.es 0600 root bin
d none useradmin/images 0700 root bin
f none useradmin/images/icon.gif 0600 root bin
f none useradmin/images/group.gif 0600 root bin
f none useradmin/images/user.gif 0600 root bin
f none useradmin/turbo-linux-lib.pl 0600 root bin
f none useradmin/openbsd-lib.pl 0600 root bin
f none useradmin/save_group.cgi 0700 root bin
f none useradmin/linux-lib.pl 0600 root bin
f none useradmin/config-freebsd 0600 root bin
f none useradmin/config.info.zh_TW.Big5 0600 root bin
f none useradmin/module.info 0600 root bin
f none useradmin/config-solaris 0600 root bin
f none useradmin/config-suse-linux 0600 root bin
f none useradmin/unixware-lib.pl 0600 root bin
d none useradmin/lang 0700 root bin
f none useradmin/lang/zh_TW.Big5 0600 root bin
f none useradmin/lang/zh_CN 0600 root bin
f none useradmin/lang/en 0600 root bin
f none useradmin/lang/pt 0600 root bin
f none useradmin/lang/es 0600 root bin
f none useradmin/lang/fr 0600 root bin
f none useradmin/lang/de 0600 root bin
f none useradmin/lang/sv 0600 root bin
f none useradmin/lang/ru_SU 0600 root bin
f none useradmin/lang/he 0600 root bin
f none useradmin/lang/tr 0600 root bin
f none useradmin/lang/pl 0600 root bin
f none useradmin/lang/ru_RU 0600 root bin
f none useradmin/lang/cz 0600 root bin
f none useradmin/lang/ja_JP.euc 0600 root bin
f none useradmin/lang/ko_KR.euc 0600 root bin
f none useradmin/lang/ca 0600 root bin
f none useradmin/lang/pt_BR 0600 root bin
f none useradmin/lang/nl 0600 root bin
f none useradmin/redhat-linux-lib.pl 0600 root bin
f none useradmin/config-debian-linux 0600 root bin
f none useradmin/config.info.sv 0600 root bin
f none useradmin/osf1-lib.pl 0600 root bin
f none useradmin/config.info.de 0600 root bin
f none useradmin/slackware-linux-lib.pl 0600 root bin
f none useradmin/list_logins.cgi 0700 root bin
d none useradmin/help 0700 root bin
f none useradmin/help/gchgid.sv.html 0600 root bin
f none useradmin/help/makehome.sv.html 0600 root bin
f none useradmin/help/list_logins.sv.html 0600 root bin
f none useradmin/help/gpasswd.fr.html 0600 root bin
f none useradmin/help/min.ru_SU.html 0600 root bin
f none useradmin/help/create_group.html 0600 root bin
f none useradmin/help/intro.sv.html 0600 root bin
f none useradmin/help/expire.sv.html 0600 root bin
f none useradmin/help/movehome.es.html 0600 root bin
f none useradmin/help/create_group.fr.html 0600 root bin
f none useradmin/help/list_logins.html 0600 root bin
f none useradmin/help/makehome.html 0600 root bin
f none useradmin/help/gpasswd.zh_TW.Big5.html 0600 root bin
f none useradmin/help/uid.es.html 0600 root bin
f none useradmin/help/min.es.html 0600 root bin
f none useradmin/help/max.es.html 0600 root bin
f none useradmin/help/create_group.zh_TW.Big5.html 0600 root bin
f none useradmin/help/findform.ru_SU.html 0600 root bin
f none useradmin/help/create_user.html 0600 root bin
f none useradmin/help/copy_files.es.html 0600 root bin
f none useradmin/help/ggid.ru_SU.html 0600 root bin
f none useradmin/help/edit_group.es.html 0600 root bin
f none useradmin/help/ggroup.fr.html 0600 root bin
f none useradmin/help/edit_user.sv.html 0600 root bin
f none useradmin/help/2nd.sv.html 0600 root bin
f none useradmin/help/class.es.html 0600 root bin
f none useradmin/help/real.ru_SU.html 0600 root bin
f none useradmin/help/movehome.html 0600 root bin
f none useradmin/help/change.ru_SU.html 0600 root bin
f none useradmin/help/ggroup.zh_TW.Big5.html 0600 root bin
f none useradmin/help/movehome.fr.html 0600 root bin
f none useradmin/help/uid.fr.html 0600 root bin
f none useradmin/help/create_user.sv.html 0600 root bin
f none useradmin/help/home.html 0600 root bin
f none useradmin/help/inactive.sv.html 0600 root bin
f none useradmin/help/real.es.html 0600 root bin
f none useradmin/help/min.fr.html 0600 root bin
f none useradmin/help/findform.sv.html 0600 root bin
f none useradmin/help/max.fr.html 0600 root bin
f none useradmin/help/intro.html 0600 root bin
f none useradmin/help/2nd.html 0600 root bin
f none useradmin/help/pass.sv.html 0600 root bin
f none useradmin/help/shell.sv.html 0600 root bin
f none useradmin/help/movehome.zh_TW.Big5.html 0600 root bin
f none useradmin/help/uid.zh_TW.Big5.html 0600 root bin
f none useradmin/help/min.zh_TW.Big5.html 0600 root bin
f none useradmin/help/group.es.html 0600 root bin
f none useradmin/help/copy_files.fr.html 0600 root bin
f none useradmin/help/shell.ru_SU.html 0600 root bin
f none useradmin/help/max.zh_TW.Big5.html 0600 root bin
f none useradmin/help/chgid.sv.html 0600 root bin
f none useradmin/help/pass.html 0600 root bin
f none useradmin/help/edit_group.fr.html 0600 root bin
f none useradmin/help/copy_files.zh_TW.Big5.html 0600 root bin
f none useradmin/help/class.fr.html 0600 root bin
f none useradmin/help/warn.es.html 0600 root bin
f none useradmin/help/uid.ru_SU.html 0600 root bin
f none useradmin/help/chgid.html 0600 root bin
f none useradmin/help/edit_group.zh_TW.Big5.html 0600 root bin
f none useradmin/help/gchgid.ru_SU.html 0600 root bin
f none useradmin/help/edit_user.html 0600 root bin
f none useradmin/help/class.zh_TW.Big5.html 0600 root bin
f none useradmin/help/home.ru_SU.html 0600 root bin
f none useradmin/help/change.html 0600 root bin
f none useradmin/help/real.fr.html 0600 root bin
f none useradmin/help/copy_files.html 0600 root bin
f none useradmin/help/edit_group.ru_SU.html 0600 root bin
f none useradmin/help/inactive.ru_SU.html 0600 root bin
f none useradmin/help/gpasswd.sv.html 0600 root bin
f none useradmin/help/real.zh_TW.Big5.html 0600 root bin
f none useradmin/help/chuid.es.html 0600 root bin
f none useradmin/help/group.fr.html 0600 root bin
f none useradmin/help/create_group.sv.html 0600 root bin
f none useradmin/help/warn.html 0600 root bin
f none useradmin/help/group.zh_TW.Big5.html 0600 root bin
f none useradmin/help/create_group.ru_SU.html 0600 root bin
f none useradmin/help/uid.html 0600 root bin
f none useradmin/help/change2.es.html 0600 root bin
f none useradmin/help/warn.fr.html 0600 root bin
f none useradmin/help/user.es.html 0600 root bin
f none useradmin/help/expire2.es.html 0600 root bin
f none useradmin/help/gchgid.html 0600 root bin
f none useradmin/help/warn.zh_TW.Big5.html 0600 root bin
f none useradmin/help/copy_files.ru_SU.html 0600 root bin
f none useradmin/help/ggroup.sv.html 0600 root bin
f none useradmin/help/change.es.html 0600 root bin
f none useradmin/help/group.html 0600 root bin
f none useradmin/help/home.es.html 0600 root bin
f none useradmin/help/edit_group.html 0600 root bin
f none useradmin/help/chuid.fr.html 0600 root bin
f none useradmin/help/movehome.sv.html 0600 root bin
f none useradmin/help/gmembers.es.html 0600 root bin
f none useradmin/help/change2.html 0600 root bin
f none useradmin/help/uid.sv.html 0600 root bin
f none useradmin/help/min.sv.html 0600 root bin
f none useradmin/help/expire2.ru_SU.html 0600 root bin
f none useradmin/help/user.ru_SU.html 0600 root bin
f none useradmin/help/ggid.html 0600 root bin
f none useradmin/help/chuid.zh_TW.Big5.html 0600 root bin
f none useradmin/help/movehome.ru_SU.html 0600 root bin
f none useradmin/help/max.sv.html 0600 root bin
f none useradmin/help/change2.fr.html 0600 root bin
f none useradmin/help/ggid.es.html 0600 root bin
f none useradmin/help/copy_files.sv.html 0600 root bin
f none useradmin/help/expire2.fr.html 0600 root bin
f none useradmin/help/user.fr.html 0600 root bin
f none useradmin/help/change2.zh_TW.Big5.html 0600 root bin
f none useradmin/help/intro.ru_SU.html 0600 root bin
f none useradmin/help/edit_group.sv.html 0600 root bin
f none useradmin/help/group.ru_SU.html 0600 root bin
f none useradmin/help/change.fr.html 0600 root bin
f none useradmin/help/gchgid.es.html 0600 root bin
f none useradmin/help/class.sv.html 0600 root bin
f none useradmin/help/chuid.html 0600 root bin
f none useradmin/help/list_logins.es.html 0600 root bin
f none useradmin/help/makehome.es.html 0600 root bin
f none useradmin/help/user.zh_TW.Big5.html 0600 root bin
f none useradmin/help/expire2.zh_TW.Big5.html 0600 root bin
f none useradmin/help/home.fr.html 0600 root bin
f none useradmin/help/intro.es.html 0600 root bin
f none useradmin/help/expire.es.html 0600 root bin
f none useradmin/help/ggroup.html 0600 root bin
f none useradmin/help/change.zh_TW.Big5.html 0600 root bin
f none useradmin/help/home.zh_TW.Big5.html 0600 root bin
f none useradmin/help/gmembers.fr.html 0600 root bin
f none useradmin/help/gpasswd.html 0600 root bin
f none useradmin/help/real.sv.html 0600 root bin
f none useradmin/help/2nd.ru_SU.html 0600 root bin
f none useradmin/help/edit_user.ru_SU.html 0600 root bin
f none useradmin/help/gmembers.zh_TW.Big5.html 0600 root bin
f none useradmin/help/ggid.fr.html 0600 root bin
f none useradmin/help/makehome.ru_SU.html 0600 root bin
f none useradmin/help/list_logins.ru_SU.html 0600 root bin
f none useradmin/help/group.sv.html 0600 root bin
f none useradmin/help/min.html 0600 root bin
f none useradmin/help/chuid.ru_SU.html 0600 root bin
f none useradmin/help/ggid.zh_TW.Big5.html 0600 root bin
f none useradmin/help/2nd.es.html 0600 root bin
f none useradmin/help/edit_user.es.html 0600 root bin
f none useradmin/help/gchgid.fr.html 0600 root bin
f none useradmin/help/list_logins.fr.html 0600 root bin
f none useradmin/help/makehome.fr.html 0600 root bin
f none useradmin/help/gmembers.ru_SU.html 0600 root bin
f none useradmin/help/warn.sv.html 0600 root bin
f none useradmin/help/intro.fr.html 0600 root bin
f none useradmin/help/inactive.html 0600 root bin
f none useradmin/help/expire.fr.html 0600 root bin
f none useradmin/help/warn.ru_SU.html 0600 root bin
f none useradmin/help/gchgid.zh_TW.Big5.html 0600 root bin
f none useradmin/help/gpasswd.ru_SU.html 0600 root bin
f none useradmin/help/makehome.zh_TW.Big5.html 0600 root bin
f none useradmin/help/list_logins.zh_TW.Big5.html 0600 root bin
f none useradmin/help/create_user.es.html 0600 root bin
f none useradmin/help/inactive.es.html 0600 root bin
f none useradmin/help/intro.zh_TW.Big5.html 0600 root bin
f none useradmin/help/findform.es.html 0600 root bin
f none useradmin/help/expire.zh_TW.Big5.html 0600 root bin
f none useradmin/help/pass.es.html 0600 root bin
f none useradmin/help/shell.es.html 0600 root bin
f none useradmin/help/max.ru_SU.html 0600 root bin
f none useradmin/help/chuid.sv.html 0600 root bin
f none useradmin/help/real.html 0600 root bin
f none useradmin/help/chgid.es.html 0600 root bin
f none useradmin/help/edit_user.fr.html 0600 root bin
f none useradmin/help/2nd.fr.html 0600 root bin
f none useradmin/help/expire.html 0600 root bin
f none useradmin/help/change2.sv.html 0600 root bin
f none useradmin/help/gmembers.html 0600 root bin
f none useradmin/help/class.ru_SU.html 0600 root bin
f none useradmin/help/edit_user.zh_TW.Big5.html 0600 root bin
f none useradmin/help/2nd.zh_TW.Big5.html 0600 root bin
f none useradmin/help/pass.ru_SU.html 0600 root bin
f none useradmin/help/change2.ru_SU.html 0600 root bin
f none useradmin/help/shell.html 0600 root bin
f none useradmin/help/user.sv.html 0600 root bin
f none useradmin/help/expire2.sv.html 0600 root bin
f none useradmin/help/create_user.fr.html 0600 root bin
f none useradmin/help/inactive.fr.html 0600 root bin
f none useradmin/help/findform.fr.html 0600 root bin
f none useradmin/help/chgid.ru_SU.html 0600 root bin
f none useradmin/help/change.sv.html 0600 root bin
f none useradmin/help/pass.fr.html 0600 root bin
f none useradmin/help/shell.fr.html 0600 root bin
f none useradmin/help/user.html 0600 root bin
f none useradmin/help/expire2.html 0600 root bin
f none useradmin/help/gpasswd.es.html 0600 root bin
f none useradmin/help/home.sv.html 0600 root bin
f none useradmin/help/create_user.zh_TW.Big5.html 0600 root bin
f none useradmin/help/inactive.zh_TW.Big5.html 0600 root bin
f none useradmin/help/findform.zh_TW.Big5.html 0600 root bin
f none useradmin/help/chgid.fr.html 0600 root bin
f none useradmin/help/pass.zh_TW.Big5.html 0600 root bin
f none useradmin/help/max.html 0600 root bin
f none useradmin/help/create_group.es.html 0600 root bin
f none useradmin/help/shell.zh_TW.Big5.html 0600 root bin
f none useradmin/help/gmembers.sv.html 0600 root bin
f none useradmin/help/expire.ru_SU.html 0600 root bin
f none useradmin/help/chgid.zh_TW.Big5.html 0600 root bin
f none useradmin/help/create_user.ru_SU.html 0600 root bin
f none useradmin/help/ggroup.ru_SU.html 0600 root bin
f none useradmin/help/ggid.sv.html 0600 root bin
f none useradmin/help/findform.html 0600 root bin
f none useradmin/help/class.html 0600 root bin
f none useradmin/help/ask.html 0600 root bin
f none useradmin/help/ggroup.es.html 0600 root bin
f none useradmin/help/class.pl.html 0600 root bin
f none useradmin/help/real.pl.html 0600 root bin
f none useradmin/help/group.pl.html 0600 root bin
f none useradmin/help/warn.pl.html 0600 root bin
f none useradmin/help/chuid.pl.html 0600 root bin
f none useradmin/help/change2.pl.html 0600 root bin
f none useradmin/help/user.pl.html 0600 root bin
f none useradmin/help/2nd.pl.html 0600 root bin
f none useradmin/help/expire2.pl.html 0600 root bin
f none useradmin/help/change.pl.html 0600 root bin
f none useradmin/help/home.pl.html 0600 root bin
f none useradmin/help/gmembers.pl.html 0600 root bin
f none useradmin/help/ggid.pl.html 0600 root bin
f none useradmin/help/gchgid.pl.html 0600 root bin
f none useradmin/help/makehome.pl.html 0600 root bin
f none useradmin/help/list_logins.pl.html 0600 root bin
f none useradmin/help/intro.pl.html 0600 root bin
f none useradmin/help/expire.pl.html 0600 root bin
f none useradmin/help/edit_user.pl.html 0600 root bin
f none useradmin/help/create_user.pl.html 0600 root bin
f none useradmin/help/inactive.pl.html 0600 root bin
f none useradmin/help/findform.pl.html 0600 root bin
f none useradmin/help/pass.pl.html 0600 root bin
f none useradmin/help/shell.pl.html 0600 root bin
f none useradmin/help/chgid.pl.html 0600 root bin
f none useradmin/help/gpasswd.pl.html 0600 root bin
f none useradmin/help/create_group.pl.html 0600 root bin
f none useradmin/help/uid.pl.html 0600 root bin
f none useradmin/help/ggroup.pl.html 0600 root bin
f none useradmin/help/movehome.pl.html 0600 root bin
f none useradmin/help/min.pl.html 0600 root bin
f none useradmin/help/max.pl.html 0600 root bin
f none useradmin/help/copy_files.pl.html 0600 root bin
f none useradmin/help/edit_group.pl.html 0600 root bin
f none useradmin/help/max.ru_RU.html 0600 root bin
f none useradmin/help/class.ru_RU.html 0600 root bin
f none useradmin/help/change2.ru_RU.html 0600 root bin
f none useradmin/help/ggroup.ru_RU.html 0600 root bin
f none useradmin/help/min.ru_RU.html 0600 root bin
f none useradmin/help/findform.ru_RU.html 0600 root bin
f none useradmin/help/real.ru_RU.html 0600 root bin
f none useradmin/help/flags.html 0600 root bin
f none useradmin/help/change.ru_RU.html 0600 root bin
f none useradmin/help/edit_group.ru_RU.html 0600 root bin
f none useradmin/help/create_group.ru_RU.html 0600 root bin
f none useradmin/help/user.ru_RU.html 0600 root bin
f none useradmin/help/intro.ru_RU.html 0600 root bin
f none useradmin/help/edit_user.ru_RU.html 0600 root bin
f none useradmin/help/gmembers.ru_RU.html 0600 root bin
f none useradmin/help/warn.ru_RU.html 0600 root bin
f none useradmin/help/gpasswd.ru_RU.html 0600 root bin
f none useradmin/help/pass.ru_RU.html 0600 root bin
f none useradmin/help/chgid.ru_RU.html 0600 root bin
f none useradmin/help/expire.ru_RU.html 0600 root bin
f none useradmin/help/create_user.ru_RU.html 0600 root bin
f none useradmin/help/ggid.ru_RU.html 0600 root bin
f none useradmin/help/shell.ru_RU.html 0600 root bin
f none useradmin/help/uid.ru_RU.html 0600 root bin
f none useradmin/help/gchgid.ru_RU.html 0600 root bin
f none useradmin/help/home.ru_RU.html 0600 root bin
f none useradmin/help/inactive.ru_RU.html 0600 root bin
f none useradmin/help/copy_files.ru_RU.html 0600 root bin
f none useradmin/help/expire2.ru_RU.html 0600 root bin
f none useradmin/help/movehome.ru_RU.html 0600 root bin
f none useradmin/help/group.ru_RU.html 0600 root bin
f none useradmin/help/2nd.ru_RU.html 0600 root bin
f none useradmin/help/list_logins.ru_RU.html 0600 root bin
f none useradmin/help/makehome.ru_RU.html 0600 root bin
f none useradmin/help/chuid.ru_RU.html 0600 root bin
f none useradmin/help/max_weeks.html 0600 root bin
f none useradmin/help/min_weeks.html 0600 root bin
f none useradmin/help/flags.pl.html 0600 root bin
f none useradmin/help/max_weeks.pl.html 0600 root bin
f none useradmin/help/min_weeks.pl.html 0600 root bin
f none useradmin/help/2nd.ca.html 0600 root bin
f none useradmin/help/change.ca.html 0600 root bin
f none useradmin/help/office.html 0600 root bin
f none useradmin/help/workph.html 0600 root bin
f none useradmin/help/homeph.html 0600 root bin
f none useradmin/help/extra.html 0600 root bin
f none useradmin/help/others.html 0600 root bin
f none useradmin/help/ggid.ca.html 0600 root bin
f none useradmin/help/change2.ca.html 0600 root bin
f none useradmin/help/chgid.ca.html 0600 root bin
f none useradmin/help/chuid.ca.html 0600 root bin
f none useradmin/help/class.ca.html 0600 root bin
f none useradmin/help/copy_files.ca.html 0600 root bin
f none useradmin/help/create_group.ca.html 0600 root bin
f none useradmin/help/create_user.ca.html 0600 root bin
f none useradmin/help/edit_group.ca.html 0600 root bin
f none useradmin/help/edit_user.ca.html 0600 root bin
f none useradmin/help/expire.ca.html 0600 root bin
f none useradmin/help/expire2.ca.html 0600 root bin
f none useradmin/help/extra.ca.html 0600 root bin
f none useradmin/help/findform.ca.html 0600 root bin
f none useradmin/help/flags.ca.html 0600 root bin
f none useradmin/help/gchgid.ca.html 0600 root bin
f none useradmin/help/ggroup.ca.html 0600 root bin
f none useradmin/help/gmembers.ca.html 0600 root bin
f none useradmin/help/gpasswd.ca.html 0600 root bin
f none useradmin/help/group.ca.html 0600 root bin
f none useradmin/help/home.ca.html 0600 root bin
f none useradmin/help/homeph.ca.html 0600 root bin
f none useradmin/help/inactive.ca.html 0600 root bin
f none useradmin/help/intro.ca.html 0600 root bin
f none useradmin/help/max.ca.html 0600 root bin
f none useradmin/help/list_logins.ca.html 0600 root bin
f none useradmin/help/makehome.ca.html 0600 root bin
f none useradmin/help/max_weeks.ca.html 0600 root bin
f none useradmin/help/min.ca.html 0600 root bin
f none useradmin/help/min_weeks.ca.html 0600 root bin
f none useradmin/help/movehome.ca.html 0600 root bin
f none useradmin/help/office.ca.html 0600 root bin
f none useradmin/help/others.ca.html 0600 root bin
f none useradmin/help/pass.ca.html 0600 root bin
f none useradmin/help/real.ca.html 0600 root bin
f none useradmin/help/shell.ca.html 0600 root bin
f none useradmin/help/uid.ca.html 0600 root bin
f none useradmin/help/user.ca.html 0600 root bin
f none useradmin/help/warn.ca.html 0600 root bin
f none useradmin/help/workph.ca.html 0600 root bin
f none useradmin/help/2nd.nl.html 0600 root bin
f none useradmin/help/change.nl.html 0600 root bin
f none useradmin/help/change2.nl.html 0600 root bin
f none useradmin/help/ggid.nl.html 0600 root bin
f none useradmin/help/chgid.nl.html 0600 root bin
f none useradmin/help/chuid.nl.html 0600 root bin
f none useradmin/help/class.nl.html 0600 root bin
f none useradmin/help/copy_files.nl.html 0600 root bin
f none useradmin/help/create_group.nl.html 0600 root bin
f none useradmin/help/create_user.nl.html 0600 root bin
f none useradmin/help/edit_group.nl.html 0600 root bin
f none useradmin/help/edit_user.nl.html 0600 root bin
f none useradmin/help/expire.nl.html 0600 root bin
f none useradmin/help/expire2.nl.html 0600 root bin
f none useradmin/help/extra.nl.html 0600 root bin
f none useradmin/help/findform.nl.html 0600 root bin
f none useradmin/help/flags.nl.html 0600 root bin
f none useradmin/help/ggroup.nl.html 0600 root bin
f none useradmin/help/gmembers.nl.html 0600 root bin
f none useradmin/help/gpasswd.nl.html 0600 root bin
f none useradmin/help/group.nl.html 0600 root bin
f none useradmin/help/home.nl.html 0600 root bin
f none useradmin/help/homeph.nl.html 0600 root bin
f none useradmin/help/inactive.nl.html 0600 root bin
f none useradmin/help/intro.nl.html 0600 root bin
f none useradmin/help/max.nl.html 0600 root bin
f none useradmin/help/list_logins.nl.html 0600 root bin
f none useradmin/help/min.nl.html 0600 root bin
f none useradmin/help/min_weeks.nl.html 0600 root bin
f none useradmin/help/movehome.nl.html 0600 root bin
f none useradmin/help/office.nl.html 0600 root bin
f none useradmin/help/pass.nl.html 0600 root bin
f none useradmin/help/real.nl.html 0600 root bin
f none useradmin/help/shell.nl.html 0600 root bin
f none useradmin/help/uid.nl.html 0600 root bin
f none useradmin/help/user.nl.html 0600 root bin
f none useradmin/help/warn.nl.html 0600 root bin
f none useradmin/help/workph.nl.html 0600 root bin
f none useradmin/help/ask.ca.html 0600 root bin
f none useradmin/freebsd-lib.pl 0600 root bin
f none useradmin/irix-lib.pl 0600 root bin
f none useradmin/solaris-lib.pl 0600 root bin
f none useradmin/debian-linux-lib.pl 0600 root bin
f none useradmin/config.info 0600 root bin
f none useradmin/delete_user.cgi 0700 root bin
f none useradmin/hpux-lib.pl 0600 root bin
f none useradmin/edit_group.cgi 0700 root bin
f none useradmin/config-cobalt-linux 0600 root bin
f none useradmin/search_user.cgi 0700 root bin
f none useradmin/config.info.fr 0600 root bin
f none useradmin/config-unixware 0600 root bin
f none useradmin/config-redhat-linux 0600 root bin
f none useradmin/index.cgi 0700 root bin
f none useradmin/config-osf1 0600 root bin
f none useradmin/open-linux-lib.pl 0600 root bin
f none useradmin/config-slackware-linux 0600 root bin
f none useradmin/aix-lib.pl 0600 root bin
f none useradmin/config-aix 0600 root bin
f none useradmin/log_parser.pl 0600 root bin
f none useradmin/config-irix 0600 root bin
f none useradmin/config.info.tr 0600 root bin
f none useradmin/config.info.pl 0600 root bin
f none useradmin/medium.risk 0600 root bin
f none useradmin/low.skill 0600 root bin
f none useradmin/my_user_chooser.cgi 0700 root bin
f none useradmin/my_group_chooser.cgi 0700 root bin
f none useradmin/low.risk 0600 root bin
f none useradmin/medium.skill 0600 root bin
f none useradmin/search_group.cgi 0700 root bin
f none useradmin/config.info.ru_RU 0600 root bin
f none useradmin/batch_form.cgi 0700 root bin
f none useradmin/batch_exec.cgi 0700 root bin
f none useradmin/config-mandrake-linux 0600 root bin
f none useradmin/config.info.pt_BR 0600 root bin
f none useradmin/mandrake-linux-lib.pl 0600 root bin
f none useradmin/config-netbsd 0600 root bin
f none useradmin/netbsd-lib.pl 0600 root bin
f none useradmin/config-msc-linux 0600 root bin
f none useradmin/msc-linux-lib.pl 0600 root bin
f none useradmin/config.info.ja_JP.euc 0600 root bin
f none useradmin/config.info.ca 0600 root bin
f none useradmin/config-gentoo-linux 0600 root bin
f none useradmin/gentoo-linux-lib.pl 0600 root bin
f none useradmin/config.info.nl 0600 root bin
f none useradmin/list_who.cgi 0700 root bin
f none useradmin/openserver-lib.pl 0600 root bin
f none useradmin/config-openserver 0600 root bin
f none useradmin/generic-linux-lib.pl 0600 root bin
f none useradmin/config-generic-linux 0600 root bin
f none useradmin/macos-lib.pl 0600 root bin
f none useradmin/config-macos 0600 root bin
d none fdisk 0700 root bin
f none fdisk/module.info 0600 root bin
f none fdisk/apply_hdparm.cgi 0700 root bin
d none fdisk/lang 0700 root bin
f none fdisk/lang/zh_TW.Big5 0600 root bin
f none fdisk/lang/zh_CN 0600 root bin
f none fdisk/lang/en 0600 root bin
f none fdisk/lang/pt 0600 root bin
f none fdisk/lang/es 0600 root bin
f none fdisk/lang/fr 0600 root bin
f none fdisk/lang/de 0600 root bin
f none fdisk/lang/sv 0600 root bin
f none fdisk/lang/ru_SU 0600 root bin
f none fdisk/lang/hu 0600 root bin
f none fdisk/lang/tr 0600 root bin
f none fdisk/lang/pl 0600 root bin
f none fdisk/lang/ru_RU 0600 root bin
f none fdisk/lang/ja_JP.euc 0600 root bin
f none fdisk/lang/ko_KR.euc 0600 root bin
f none fdisk/lang/ca 0600 root bin
f none fdisk/edit_hdparm.cgi 0700 root bin
f none fdisk/mkfs_form.cgi 0700 root bin
f none fdisk/save_part.cgi 0700 root bin
f none fdisk/fsck.cgi 0700 root bin
d none fdisk/help 0700 root bin
f none fdisk/help/index.fr.html 0600 root bin
f none fdisk/help/r.zh_TW.Big5.html 0600 root bin
f none fdisk/help/a.html 0600 root bin
f none fdisk/help/c.html 0600 root bin
f none fdisk/help/u.zh_TW.Big5.html 0600 root bin
f none fdisk/help/index.zh_TW.Big5.html 0600 root bin
f none fdisk/help/A.fr.html 0600 root bin
f none fdisk/help/k.html 0600 root bin
f none fdisk/help/m.html 0600 root bin
f none fdisk/help/A.zh_TW.Big5.html 0600 root bin
f none fdisk/help/P.html 0600 root bin
f none fdisk/help/K.fr.html 0600 root bin
f none fdisk/help/u.html 0600 root bin
f none fdisk/help/P.fr.html 0600 root bin
f none fdisk/help/A.sv.html 0600 root bin
f none fdisk/help/X.html 0600 root bin
f none fdisk/help/S.fr.html 0600 root bin
f none fdisk/help/K.zh_TW.Big5.html 0600 root bin
f none fdisk/help/W.fr.html 0600 root bin
f none fdisk/help/X.fr.html 0600 root bin
f none fdisk/help/P.zh_TW.Big5.html 0600 root bin
f none fdisk/help/A.html 0600 root bin
f none fdisk/help/K.sv.html 0600 root bin
f none fdisk/help/S.zh_TW.Big5.html 0600 root bin
f none fdisk/help/d.html 0600 root bin
f none fdisk/help/W.zh_TW.Big5.html 0600 root bin
f none fdisk/help/edit.html 0600 root bin
f none fdisk/help/P.sv.html 0600 root bin
f none fdisk/help/X.zh_TW.Big5.html 0600 root bin
f none fdisk/help/a.fr.html 0600 root bin
f none fdisk/help/c.fr.html 0600 root bin
f none fdisk/help/S.sv.html 0600 root bin
f none fdisk/help/d.fr.html 0600 root bin
f none fdisk/help/K.html 0600 root bin
f none fdisk/help/edit.fr.html 0600 root bin
f none fdisk/help/W.sv.html 0600 root bin
f none fdisk/help/X.sv.html 0600 root bin
f none fdisk/help/a.zh_TW.Big5.html 0600 root bin
f none fdisk/help/k.fr.html 0600 root bin
f none fdisk/help/c.zh_TW.Big5.html 0600 root bin
f none fdisk/help/r.html 0600 root bin
f none fdisk/help/d.zh_TW.Big5.html 0600 root bin
f none fdisk/help/S.html 0600 root bin
f none fdisk/help/m.fr.html 0600 root bin
f none fdisk/help/edit.zh_TW.Big5.html 0600 root bin
f none fdisk/help/W.html 0600 root bin
f none fdisk/help/a.sv.html 0600 root bin
f none fdisk/help/index.html 0600 root bin
f none fdisk/help/r.fr.html 0600 root bin
f none fdisk/help/k.zh_TW.Big5.html 0600 root bin
f none fdisk/help/u.fr.html 0600 root bin
f none fdisk/help/m.zh_TW.Big5.html 0600 root bin
f none fdisk/help/A.hu.html 0600 root bin
f none fdisk/help/K.hu.html 0600 root bin
f none fdisk/help/P.hu.html 0600 root bin
f none fdisk/help/edit.sv.html 0600 root bin
f none fdisk/help/k.sv.html 0600 root bin
f none fdisk/help/m.sv.html 0600 root bin
f none fdisk/help/r.sv.html 0600 root bin
f none fdisk/help/u.sv.html 0600 root bin
f none fdisk/help/index.sv.html 0600 root bin
f none fdisk/help/c.sv.html 0600 root bin
f none fdisk/help/d.sv.html 0600 root bin
f none fdisk/help/W.pl.html 0600 root bin
f none fdisk/help/A.es.html 0600 root bin
f none fdisk/help/K.es.html 0600 root bin
f none fdisk/help/P.es.html 0600 root bin
f none fdisk/help/S.es.html 0600 root bin
f none fdisk/help/W.es.html 0600 root bin
f none fdisk/help/X.es.html 0600 root bin
f none fdisk/help/A.pl.html 0600 root bin
f none fdisk/help/K.pl.html 0600 root bin
f none fdisk/help/P.pl.html 0600 root bin
f none fdisk/help/S.pl.html 0600 root bin
f none fdisk/help/X.pl.html 0600 root bin
f none fdisk/help/a.pl.html 0600 root bin
f none fdisk/help/c.pl.html 0600 root bin
f none fdisk/help/d.pl.html 0600 root bin
f none fdisk/help/k.pl.html 0600 root bin
f none fdisk/help/m.pl.html 0600 root bin
f none fdisk/help/r.pl.html 0600 root bin
f none fdisk/help/u.pl.html 0600 root bin
f none fdisk/help/A.ca.html 0600 root bin
f none fdisk/help/K.ca.html 0600 root bin
f none fdisk/help/P.ca.html 0600 root bin
f none fdisk/help/S.ca.html 0600 root bin
f none fdisk/help/W.ca.html 0600 root bin
f none fdisk/help/X.ca.html 0600 root bin
f none fdisk/help/a.ca.html 0600 root bin
f none fdisk/help/c.ca.html 0600 root bin
f none fdisk/help/d.ca.html 0600 root bin
f none fdisk/help/edit.ca.html 0600 root bin
f none fdisk/help/index.ca.html 0600 root bin
f none fdisk/help/k.ca.html 0600 root bin
f none fdisk/help/m.ca.html 0600 root bin
f none fdisk/help/r.ca.html 0600 root bin
f none fdisk/help/u.ca.html 0600 root bin
f none fdisk/tunefs_form.cgi 0700 root bin
f none fdisk/reboot.cgi 0700 root bin
f none fdisk/acl_security.pl 0600 root bin
f none fdisk/mkfs.cgi 0700 root bin
f none fdisk/defaultacl 0600 root bin
f none fdisk/make_tags.pl 0700 root bin
d none fdisk/images 0700 root bin
f none fdisk/images/use.gif 0600 root bin
f none fdisk/images/gap.gif 0600 root bin
f none fdisk/images/icon.gif 0600 root bin
f none fdisk/images/ext.gif 0600 root bin
f none fdisk/config 0600 root bin
f none fdisk/tunefs.cgi 0700 root bin
f none fdisk/index.cgi 0700 root bin
f none fdisk/fsck_form.cgi 0700 root bin
f none fdisk/edit_part.cgi 0700 root bin
f none fdisk/fdisk-lib.pl 0600 root bin
f none fdisk/log_parser.pl 0600 root bin
f none fdisk/feedback_files.pl 0600 root bin
d none format 0700 root bin
f none format/module.info 0600 root bin
d none format/lang 0700 root bin
f none format/lang/de 0600 root bin
f none format/lang/en 0600 root bin
f none format/lang/es 0600 root bin
f none format/lang/sv 0600 root bin
f none format/lang/tr 0600 root bin
f none format/lang/zh_CN 0600 root bin
f none format/lang/ja_JP.euc 0600 root bin
f none format/lang/ko_KR.euc 0600 root bin
f none format/lang/pl 0600 root bin
f none format/lang/ca 0600 root bin
f none format/lang/fr 0600 root bin
f none format/lang/hu 0600 root bin
f none format/lang/zh_TW.Big5 0600 root bin
f none format/newfs.cgi 0700 root bin
f none format/copy_part_form.cgi 0700 root bin
f none format/save_part.cgi 0700 root bin
f none format/config.info.de 0600 root bin
f none format/config.info.sv 0600 root bin
f none format/fsck.cgi 0700 root bin
d none format/help 0700 root bin
f none format/help/help.sv.html 0600 root bin
f none format/help/help.zh_TW.Big5.html 0600 root bin
f none format/help/help.html 0600 root bin
f none format/help/help.es.html 0600 root bin
f none format/help/help.ca.html 0600 root bin
f none format/tunefs_form.cgi 0700 root bin
f none format/config.info 0600 root bin
f none format/acl_security.pl 0600 root bin
f none format/edit_disk.cgi 0700 root bin
f none format/defaultacl 0600 root bin
f none format/config.info.es 0600 root bin
f none format/config.info.fr 0600 root bin
d none format/images 0700 root bin
f none format/images/use.gif 0600 root bin
f none format/images/gap.gif 0600 root bin
f none format/images/icon.gif 0600 root bin
f none format/config 0600 root bin
f none format/tunefs.cgi 0700 root bin
f none format/format-lib.pl 0600 root bin
f none format/newfs_form.cgi 0700 root bin
f none format/index.cgi 0700 root bin
f none format/fsck_form.cgi 0700 root bin
f none format/edit_part.cgi 0700 root bin
f none format/config.info.zh_TW.Big5 0600 root bin
f none format/config.info.tr 0600 root bin
f none format/config.info.pl 0600 root bin
f none format/config.info.zh_CN 0600 root bin
f none format/config.info.ca 0600 root bin
f none format/config.info.hu 0600 root bin
d none proc 0700 root bin
f none proc/kill_proc.cgi 0700 root bin
f none proc/index_cpu.cgi 0700 root bin
f none proc/proc-lib.pl 0600 root bin
f none proc/config-hpux 0600 root bin
f none proc/renice_proc.cgi 0700 root bin
f none proc/config.info.ru_SU 0600 root bin
f none proc/config-turbo-linux 0600 root bin
f none proc/config.info.zh_CN 0600 root bin
f none proc/acl_security.pl 0600 root bin
f none proc/config-open-linux 0600 root bin
f none proc/config-corel-linux 0600 root bin
f none proc/defaultacl 0600 root bin
f none proc/config.info.es 0600 root bin
f none proc/osf-lib.pl 0600 root bin
f none proc/config-macos 0600 root bin
d none proc/images 0700 root bin
f none proc/images/icon.gif 0600 root bin
f none proc/index_user.cgi 0700 root bin
f none proc/edit_proc.cgi 0700 root bin
f none proc/kill_proc_list.cgi 0700 root bin
f none proc/config-freebsd 0600 root bin
f none proc/linux-lib.pl 0600 root bin
f none proc/config.info.zh_TW.Big5 0600 root bin
f none proc/config-irix 0600 root bin
f none proc/module.info 0600 root bin
f none proc/config-solaris 0600 root bin
f none proc/config-suse-linux 0600 root bin
f none proc/macos-lib.pl 0600 root bin
d none proc/lang 0700 root bin
f none proc/lang/zh_TW.Big5 0600 root bin
f none proc/lang/zh_CN 0600 root bin
f none proc/lang/en 0600 root bin
f none proc/lang/pt 0600 root bin
f none proc/lang/es 0600 root bin
f none proc/lang/fr 0600 root bin
f none proc/lang/de 0600 root bin
f none proc/lang/sv 0600 root bin
f none proc/lang/ru_SU 0600 root bin
f none proc/lang/hu 0600 root bin
f none proc/lang/tr 0600 root bin
f none proc/lang/pl 0600 root bin
f none proc/lang/ru_RU 0600 root bin
f none proc/lang/ja_JP.euc 0600 root bin
f none proc/lang/ko_KR.euc 0600 root bin
f none proc/lang/ca 0600 root bin
f none proc/sysv-lib.pl 0600 root bin
f none proc/config-debian-linux 0600 root bin
f none proc/config.info.sv 0600 root bin
f none proc/config.info.de 0600 root bin
f none proc/index_tree.cgi 0700 root bin
f none proc/freebsd-lib.pl 0600 root bin
d none proc/help 0700 root bin
f none proc/help/suser.zh_TW.Big5.html 0600 root bin
f none proc/help/scpu.es.html 0600 root bin
f none proc/help/intro.sv.html 0600 root bin
f none proc/help/run.zh_TW.Big5.html 0600 root bin
f none proc/help/user.fr.html 0600 root bin
f none proc/help/nice.fr.html 0600 root bin
f none proc/help/smatch.es.html 0600 root bin
f none proc/help/cpu.html 0600 root bin
f none proc/help/user.zh_TW.Big5.html 0600 root bin
f none proc/help/nice.zh_TW.Big5.html 0600 root bin
f none proc/help/cpu.fr.html 0600 root bin
f none proc/help/input.html 0600 root bin
f none proc/help/intro.es.html 0600 root bin
f none proc/help/cmd.html 0600 root bin
f none proc/help/run.html 0600 root bin
f none proc/help/input.fr.html 0600 root bin
f none proc/help/cpu.zh_TW.Big5.html 0600 root bin
f none proc/help/cmd.fr.html 0600 root bin
f none proc/help/mode.sv.html 0600 root bin
f none proc/help/search.fr.html 0600 root bin
f none proc/help/input.zh_TW.Big5.html 0600 root bin
f none proc/help/smatch.html 0600 root bin
f none proc/help/scpu.fr.html 0600 root bin
f none proc/help/sfs.sv.html 0600 root bin
f none proc/help/cmd.zh_TW.Big5.html 0600 root bin
f none proc/help/search.zh_TW.Big5.html 0600 root bin
f none proc/help/sfiles.html 0600 root bin
f none proc/help/smatch.fr.html 0600 root bin
f none proc/help/tree.sv.html 0600 root bin
f none proc/help/scpu.zh_TW.Big5.html 0600 root bin
f none proc/help/mode.es.html 0600 root bin
f none proc/help/intro.html 0600 root bin
f none proc/help/overview.sv.html 0600 root bin
f none proc/help/smatch.zh_TW.Big5.html 0600 root bin
f none proc/help/edit_proc.sv.html 0600 root bin
f none proc/help/size.sv.html 0600 root bin
f none proc/help/suser.html 0600 root bin
f none proc/help/intro.fr.html 0600 root bin
f none proc/help/sfs.es.html 0600 root bin
f none proc/help/tree.es.html 0600 root bin
f none proc/help/overview.html 0600 root bin
f none proc/help/intro.zh_TW.Big5.html 0600 root bin
f none proc/help/size.html 0600 root bin
f none proc/help/sfiles.sv.html 0600 root bin
f none proc/help/overview.es.html 0600 root bin
f none proc/help/edit_proc.es.html 0600 root bin
f none proc/help/size.es.html 0600 root bin
f none proc/help/suser.sv.html 0600 root bin
f none proc/help/mode.fr.html 0600 root bin
f none proc/help/run.sv.html 0600 root bin
f none proc/help/sfs.html 0600 root bin
f none proc/help/sfiles.es.html 0600 root bin
f none proc/help/tree.html 0600 root bin
f none proc/help/sfs.fr.html 0600 root bin
f none proc/help/mode.zh_TW.Big5.html 0600 root bin
f none proc/help/user.sv.html 0600 root bin
f none proc/help/nice.sv.html 0600 root bin
f none proc/help/search.html 0600 root bin
f none proc/help/tree.fr.html 0600 root bin
f none proc/help/suser.es.html 0600 root bin
f none proc/help/sfs.zh_TW.Big5.html 0600 root bin
f none proc/help/run.es.html 0600 root bin
f none proc/help/overview.fr.html 0600 root bin
f none proc/help/tree.zh_TW.Big5.html 0600 root bin
f none proc/help/cpu.sv.html 0600 root bin
f none proc/help/edit_proc.fr.html 0600 root bin
f none proc/help/nice.html 0600 root bin
f none proc/help/user.html 0600 root bin
f none proc/help/size.fr.html 0600 root bin
f none proc/help/nice.es.html 0600 root bin
f none proc/help/mode.html 0600 root bin
f none proc/help/user.es.html 0600 root bin
f none proc/help/overview.zh_TW.Big5.html 0600 root bin
f none proc/help/input.sv.html 0600 root bin
f none proc/help/edit_proc.zh_TW.Big5.html 0600 root bin
f none proc/help/size.zh_TW.Big5.html 0600 root bin
f none proc/help/cmd.sv.html 0600 root bin
f none proc/help/sfiles.fr.html 0600 root bin
f none proc/help/search.sv.html 0600 root bin
f none proc/help/cpu.es.html 0600 root bin
f none proc/help/scpu.sv.html 0600 root bin
f none proc/help/sfiles.zh_TW.Big5.html 0600 root bin
f none proc/help/input.es.html 0600 root bin
f none proc/help/smatch.sv.html 0600 root bin
f none proc/help/suser.fr.html 0600 root bin
f none proc/help/edit_proc.html 0600 root bin
f none proc/help/cmd.es.html 0600 root bin
f none proc/help/run.fr.html 0600 root bin
f none proc/help/scpu.html 0600 root bin
f none proc/help/search.es.html 0600 root bin
f none proc/help/cmd.hu.html 0600 root bin
f none proc/help/search.hu.html 0600 root bin
f none proc/help/scpu.hu.html 0600 root bin
f none proc/help/smatch.hu.html 0600 root bin
f none proc/help/intro.hu.html 0600 root bin
f none proc/help/mode.hu.html 0600 root bin
f none proc/help/sfs.hu.html 0600 root bin
f none proc/help/tree.hu.html 0600 root bin
f none proc/help/overview.hu.html 0600 root bin
f none proc/help/edit_proc.hu.html 0600 root bin
f none proc/help/size.hu.html 0600 root bin
f none proc/help/sfiles.hu.html 0600 root bin
f none proc/help/suser.hu.html 0600 root bin
f none proc/help/run.hu.html 0600 root bin
f none proc/help/user.hu.html 0600 root bin
f none proc/help/nice.hu.html 0600 root bin
f none proc/help/cpu.hu.html 0600 root bin
f none proc/help/input.hu.html 0600 root bin
f none proc/help/mode.pl.html 0600 root bin
f none proc/help/sfs.pl.html 0600 root bin
f none proc/help/tree.pl.html 0600 root bin
f none proc/help/overview.pl.html 0600 root bin
f none proc/help/edit_proc.pl.html 0600 root bin
f none proc/help/size.pl.html 0600 root bin
f none proc/help/sfiles.pl.html 0600 root bin
f none proc/help/suser.pl.html 0600 root bin
f none proc/help/run.pl.html 0600 root bin
f none proc/help/user.pl.html 0600 root bin
f none proc/help/nice.pl.html 0600 root bin
f none proc/help/cpu.pl.html 0600 root bin
f none proc/help/input.pl.html 0600 root bin
f none proc/help/cmd.pl.html 0600 root bin
f none proc/help/search.pl.html 0600 root bin
f none proc/help/scpu.pl.html 0600 root bin
f none proc/help/smatch.pl.html 0600 root bin
f none proc/help/intro.pl.html 0600 root bin
f none proc/help/signore.html 0600 root bin
f none proc/help/signore.pl.html 0600 root bin
f none proc/help/cmd.ca.html 0600 root bin
f none proc/help/cpu.ca.html 0600 root bin
f none proc/help/edit_proc.ca.html 0600 root bin
f none proc/help/input.ca.html 0600 root bin
f none proc/help/intro.ca.html 0600 root bin
f none proc/help/mode.ca.html 0600 root bin
f none proc/help/nice.ca.html 0600 root bin
f none proc/help/overview.ca.html 0600 root bin
f none proc/help/run.ca.html 0600 root bin
f none proc/help/scpu.ca.html 0600 root bin
f none proc/help/search.ca.html 0600 root bin
f none proc/help/sfiles.ca.html 0600 root bin
f none proc/help/sfs.ca.html 0600 root bin
f none proc/help/signore.ca.html 0600 root bin
f none proc/help/size.ca.html 0600 root bin
f none proc/help/smatch.ca.html 0600 root bin
f none proc/help/suser.ca.html 0600 root bin
f none proc/help/tree.ca.html 0600 root bin
f none proc/help/user.ca.html 0600 root bin
f none proc/help/ssocket.html 0600 root bin
f none proc/help/ssocket.ca.html 0600 root bin
f none proc/config-openserver 0600 root bin
f none proc/index_run.cgi 0700 root bin
f none proc/index_search.cgi 0700 root bin
f none proc/config.info 0600 root bin
f none proc/index_size.cgi 0700 root bin
f none proc/hpux-lib.pl 0600 root bin
f none proc/run.cgi 0700 root bin
f none proc/config-cobalt-linux 0600 root bin
f none proc/config.info.fr 0600 root bin
f none proc/config-unixware 0600 root bin
f none proc/config-redhat-linux 0600 root bin
f none proc/index.cgi 0700 root bin
f none proc/config-osf1 0600 root bin
f none proc/config-slackware-linux 0600 root bin
f none proc/config.info.hu 0600 root bin
f none proc/log_parser.pl 0600 root bin
f none proc/config.info.tr 0600 root bin
f none proc/config.info.pl 0600 root bin
f none proc/medium.risk 0600 root bin
f none proc/low.skill 0600 root bin
f none proc/medium.skill 0600 root bin
f none proc/config-aix 0600 root bin
f none proc/config.info.ru_RU 0600 root bin
f none proc/config-mandrake-linux 0600 root bin
f none proc/config-netbsd 0600 root bin
f none proc/config-msc-linux 0600 root bin
f none proc/config.info.ca 0600 root bin
f none proc/config-openbsd 0600 root bin
f none proc/openbsd-lib.pl 0600 root bin
f none proc/config-generic-linux 0600 root bin
f none proc/open_files.cgi 0700 root bin
f none proc/config-gentoo-linux 0600 root bin
d none webmin 0700 root bin
f none webmin/change_bind.cgi 0700 root bin
f none webmin/edit_ui.cgi 0700 root bin
f none webmin/change_lang.cgi 0700 root bin
f none webmin/edit_os.cgi 0700 root bin
f none webmin/change_proxy.cgi 0700 root bin
f none webmin/edit_log.cgi 0700 root bin
f none webmin/stop_ca.cgi 0700 root bin
f none webmin/change_ca.cgi 0700 root bin
f none webmin/edit_upgrade.cgi 0700 root bin
f none webmin/edit_startpage.cgi 0700 root bin
f none webmin/delete_mod.cgi 0700 root bin
f none webmin/setup_ca.cgi 0700 root bin
d none webmin/images 0700 root bin
f none webmin/images/bind.gif 0600 root bin
f none webmin/images/ui.gif 0600 root bin
f none webmin/images/lang.gif 0600 root bin
f none webmin/images/os.gif 0600 root bin
f none webmin/images/ssl.gif 0600 root bin
f none webmin/images/access.gif 0600 root bin
f none webmin/images/proxy.gif 0600 root bin
f none webmin/images/log.gif 0600 root bin
f none webmin/images/mods.gif 0600 root bin
f none webmin/images/ca.gif 0600 root bin
f none webmin/images/upgrade.gif 0600 root bin
f none webmin/images/icon.gif 0600 root bin
f none webmin/images/startpage.gif 0600 root bin
f none webmin/images/session.gif 0600 root bin
f none webmin/images/categories.gif 0600 root bin
f none webmin/images/assignment.gif 0600 root bin
f none webmin/images/themes.gif 0600 root bin
f none webmin/images/referers.gif 0600 root bin
f none webmin/images/syslet.gif 0600 root bin
f none webmin/images/anon.gif 0600 root bin
f none webmin/install_mod.cgi 0700 root bin
f none webmin/edit_ssl.cgi 0700 root bin
f none webmin/edit_access.cgi 0700 root bin
f none webmin/edit_mods.cgi 0700 root bin
f none webmin/module.info 0600 root bin
d none webmin/lang 0700 root bin
f none webmin/lang/zh_TW.Big5 0600 root bin
f none webmin/lang/zh_CN 0600 root bin
f none webmin/lang/en 0600 root bin
f none webmin/lang/pt 0600 root bin
f none webmin/lang/es 0600 root bin
f none webmin/lang/fr 0600 root bin
f none webmin/lang/de 0600 root bin
f none webmin/lang/sv 0600 root bin
f none webmin/lang/it 0600 root bin
f none webmin/lang/ru_SU 0600 root bin
f none webmin/lang/hu 0600 root bin
f none webmin/lang/he 0600 root bin
f none webmin/lang/tr 0600 root bin
f none webmin/lang/pl 0600 root bin
f none webmin/lang/nl 0600 root bin
f none webmin/lang/ru_RU 0600 root bin
f none webmin/lang/ja_JP.euc 0600 root bin
f none webmin/lang/ko_KR.euc 0600 root bin
f none webmin/lang/ca 0600 root bin
f none webmin/lang/cz 0600 root bin
f none webmin/edit_bind.cgi 0700 root bin
f none webmin/change_ui.cgi 0700 root bin
f none webmin/edit_proxy.cgi 0700 root bin
f none webmin/change_log.cgi 0700 root bin
f none webmin/change_os.cgi 0700 root bin
f none webmin/edit_lang.cgi 0700 root bin
f none webmin/upgrade.cgi 0700 root bin
f none webmin/edit_ca.cgi 0700 root bin
f none webmin/webmin-lib.pl 0600 root bin
f none webmin/clone_mod.cgi 0700 root bin
f none webmin/change_startpage.cgi 0700 root bin
f none webmin/change_access.cgi 0700 root bin
f none webmin/change_ssl.cgi 0700 root bin
f none webmin/index.cgi 0700 root bin
f none webmin/edit_session.cgi 0700 root bin
f none webmin/change_session.cgi 0700 root bin
f none webmin/save_assignment.cgi 0700 root bin
f none webmin/edit_categories.cgi 0700 root bin
f none webmin/save_categories.cgi 0700 root bin
f none webmin/edit_assignment.cgi 0700 root bin
f none webmin/log_parser.pl 0600 root bin
f none webmin/medium.risk 0600 root bin
f none webmin/low.skill 0600 root bin
f none webmin/low.risk 0600 root bin
f none webmin/medium.skill 0600 root bin
f none webmin/change_theme.cgi 0700 root bin
f none webmin/edit_themes.cgi 0700 root bin
f none webmin/install_theme.cgi 0700 root bin
f none webmin/change_referers.cgi 0700 root bin
f none webmin/edit_syslet.cgi 0700 root bin
f none webmin/edit_referers.cgi 0700 root bin
f none webmin/change_syslet.cgi 0700 root bin
f none webmin/update.pl 0700 root bin
f none webmin/update.cgi 0700 root bin
f none webmin/config 0600 root bin
f none webmin/feedback_files.pl 0600 root bin
f none webmin/uninstall.pl 0600 root bin
f none webmin/update_sched.cgi 0700 root bin
f none webmin/edit_anon.cgi 0700 root bin
f none webmin/change_anon.cgi 0700 root bin
d none quota 0700 root bin
f none quota/group_grace_form.cgi 0700 root bin
f none quota/config-hpux 0600 root bin
f none quota/config-turbo-linux 0600 root bin
f none quota/copy_user_form.cgi 0700 root bin
f none quota/config-openbsd 0600 root bin
f none quota/edit_user_quota.cgi 0700 root bin
f none quota/acl_security.pl 0600 root bin
f none quota/useradmin_update.pl 0600 root bin
f none quota/edgrace.pl 0700 root bin
f none quota/config.info.es 0600 root bin
f none quota/turbo-linux-lib.pl 0600 root bin
f none quota/save_user_quota.cgi 0700 root bin
f none quota/copy_user.cgi 0700 root bin
f none quota/list_groups.cgi 0700 root bin
f none quota/config-freebsd 0600 root bin
f none quota/user_filesys.cgi 0700 root bin
f none quota/linux-lib.pl 0600 root bin
f none quota/config.info.zh_TW.Big5 0600 root bin
f none quota/module.info 0600 root bin
f none quota/unixware-lib.pl 0700 root bin
d none quota/lang 0700 root bin
f none quota/lang/es 0600 root bin
f none quota/lang/sv 0600 root bin
f none quota/lang/zh_CN 0600 root bin
f none quota/lang/en 0600 root bin
f none quota/lang/pt 0600 root bin
f none quota/lang/pl 0600 root bin
f none quota/lang/tr 0600 root bin
f none quota/lang/ja_JP.euc 0600 root bin
f none quota/lang/ko_KR.euc 0600 root bin
f none quota/lang/ca 0600 root bin
f none quota/lang/fr 0600 root bin
f none quota/lang/nl 0600 root bin
f none quota/lang/zh_TW.Big5 0600 root bin
f none quota/redhat-linux-lib.pl 0600 root bin
f none quota/save_group_quota.cgi 0700 root bin
f none quota/copy_group.cgi 0700 root bin
f none quota/save_sync.cgi 0700 root bin
f none quota/debian-linux-lib.pl 0600 root bin
f none quota/list_users.cgi 0700 root bin
f none quota/activate.cgi 0700 root bin
f none quota/hpux-lib.pl 0600 root bin
f none quota/config-cobalt-linux 0600 root bin
f none quota/config.info.fr 0600 root bin
f none quota/config-unixware 0600 root bin
f none quota/index.cgi 0700 root bin
f none quota/check_quotas.cgi 0700 root bin
f none quota/cobalt-linux-lib.pl 0600 root bin
f none quota/corel-linux-lib.pl 0600 root bin
f none quota/suse-linux-lib.pl 0600 root bin
f none quota/config.info.ru_SU 0600 root bin
f none quota/user_grace_save.cgi 0700 root bin
f none quota/config.info.zh_CN 0600 root bin
f none quota/config-open-linux 0600 root bin
f none quota/defaultacl 0600 root bin
f none quota/config-corel-linux 0600 root bin
d none quota/images 0700 root bin
f none quota/images/icon.gif 0600 root bin
f none quota/openbsd-lib.pl 0600 root bin
f none quota/copy_group_form.cgi 0700 root bin
f none quota/group_grace_save.cgi 0700 root bin
f none quota/config-suse-linux 0600 root bin
f none quota/config-solaris 0600 root bin
f none quota/config-debian-linux 0600 root bin
f none quota/config.info.de 0600 root bin
f none quota/config.info.sv 0600 root bin
f none quota/slackware-linux-lib.pl 0600 root bin
f none quota/freebsd-lib.pl 0600 root bin
d none quota/help 0700 root bin
f none quota/help/group_grace.zh_TW.Big5.html 0600 root bin
f none quota/help/user_filesys.html 0600 root bin
f none quota/help/copy_group.sv.html 0600 root bin
f none quota/help/copy_user.es.html 0600 root bin
f none quota/help/list_groups.es.html 0600 root bin
f none quota/help/edit_group_quota.fr.html 0600 root bin
f none quota/help/group_filesys.sv.html 0600 root bin
f none quota/help/intro.sv.html 0600 root bin
f none quota/help/user_filesys.es.html 0600 root bin
f none quota/help/list_users.sv.html 0600 root bin
f none quota/help/group_grace.sv.html 0600 root bin
f none quota/help/user_grace.es.html 0600 root bin
f none quota/help/copy_group.html 0600 root bin
f none quota/help/edit_group_quota.zh_TW.Big5.html 0600 root bin
f none quota/help/group_filesys.html 0600 root bin
f none quota/help/copy_group.es.html 0600 root bin
f none quota/help/list_users.html 0600 root bin
f none quota/help/group_filesys.es.html 0600 root bin
f none quota/help/edit_group_quota.sv.html 0600 root bin
f none quota/help/intro.es.html 0600 root bin
f none quota/help/list_users.es.html 0600 root bin
f none quota/help/edit_user_quota.fr.html 0600 root bin
f none quota/help/group_grace.es.html 0600 root bin
f none quota/help/edit_group_quota.html 0600 root bin
f none quota/help/edit_user_quota.zh_TW.Big5.html 0600 root bin
f none quota/help/copy_user.fr.html 0600 root bin
f none quota/help/user_grace.html 0600 root bin
f none quota/help/list_groups.fr.html 0600 root bin
f none quota/help/edit_group_quota.es.html 0600 root bin
f none quota/help/user_filesys.fr.html 0600 root bin
f none quota/help/edit_user_quota.sv.html 0600 root bin
f none quota/help/user_grace.fr.html 0600 root bin
f none quota/help/intro.html 0600 root bin
f none quota/help/copy_user.zh_TW.Big5.html 0600 root bin
f none quota/help/user_filesys.zh_TW.Big5.html 0600 root bin
f none quota/help/copy_group.fr.html 0600 root bin
f none quota/help/edit_user_quota.html 0600 root bin
f none quota/help/group_grace.html 0600 root bin
f none quota/help/user_grace.zh_TW.Big5.html 0600 root bin
f none quota/help/copy_user.sv.html 0600 root bin
f none quota/help/group_filesys.fr.html 0600 root bin
f none quota/help/list_groups.sv.html 0600 root bin
f none quota/help/intro.fr.html 0600 root bin
f none quota/help/list_users.fr.html 0600 root bin
f none quota/help/edit_user_quota.es.html 0600 root bin
f none quota/help/user_filesys.sv.html 0600 root bin
f none quota/help/group_grace.fr.html 0600 root bin
f none quota/help/copy_group.zh_TW.Big5.html 0600 root bin
f none quota/help/user_grace.sv.html 0600 root bin
f none quota/help/copy_user.html 0600 root bin
f none quota/help/group_filesys.zh_TW.Big5.html 0600 root bin
f none quota/help/intro.zh_TW.Big5.html 0600 root bin
f none quota/help/list_groups.html 0600 root bin
f none quota/help/list_users.zh_TW.Big5.html 0600 root bin
f none quota/help/edit_group_quota.pl.html 0600 root bin
f none quota/help/edit_user_quota.pl.html 0600 root bin
f none quota/help/copy_user.pl.html 0600 root bin
f none quota/help/list_groups.pl.html 0600 root bin
f none quota/help/user_filesys.pl.html 0600 root bin
f none quota/help/user_grace.pl.html 0600 root bin
f none quota/help/copy_group.pl.html 0600 root bin
f none quota/help/list_users.pl.html 0600 root bin
f none quota/help/group_filesys.pl.html 0600 root bin
f none quota/help/intro.pl.html 0600 root bin
f none quota/help/group_grace.pl.html 0600 root bin
f none quota/help/copy_group.ca.html 0600 root bin
f none quota/help/copy_user.ca.html 0600 root bin
f none quota/help/edit_group_quota.ca.html 0600 root bin
f none quota/help/edit_user_quota.ca.html 0600 root bin
f none quota/help/group_filesys.ca.html 0600 root bin
f none quota/help/group_grace.ca.html 0600 root bin
f none quota/help/intro.ca.html 0600 root bin
f none quota/help/list_groups.ca.html 0600 root bin
f none quota/help/list_users.ca.html 0600 root bin
f none quota/help/user_filesys.ca.html 0600 root bin
f none quota/help/user_grace.ca.html 0600 root bin
f none quota/help/copy_group.nl.html 0600 root bin
f none quota/help/copy_user.nl.html 0600 root bin
f none quota/help/edit_group_quota.nl.html 0600 root bin
f none quota/help/edit_user_quota.nl.html 0600 root bin
f none quota/help/group_filesys.nl.html 0600 root bin
f none quota/help/group_grace.nl.html 0600 root bin
f none quota/help/intro.nl.html 0600 root bin
f none quota/help/list_groups.nl.html 0600 root bin
f none quota/help/list_users.nl.html 0600 root bin
f none quota/help/user_filesys.nl.html 0600 root bin
f none quota/help/user_grace.nl.html 0600 root bin
f none quota/notes 0700 root bin
f none quota/solaris-lib.pl 0700 root bin
f none quota/group_filesys.cgi 0700 root bin
f none quota/config.info 0600 root bin
f none quota/edquota.pl 0700 root bin
f none quota/user_grace_form.cgi 0700 root bin
f none quota/quota-lib.pl 0700 root bin
f none quota/config-redhat-linux 0600 root bin
f none quota/edit_group_quota.cgi 0700 root bin
f none quota/config-slackware-linux 0600 root bin
f none quota/open-linux-lib.pl 0600 root bin
f none quota/log_parser.pl 0600 root bin
f none quota/config.info.tr 0600 root bin
f none quota/config.info.pl 0600 root bin
f none quota/config.info.ru_RU 0600 root bin
f none quota/config-mandrake-linux 0600 root bin
f none quota/mandrake-linux-lib.pl 0600 root bin
f none quota/config-netbsd 0600 root bin
f none quota/netbsd-lib.pl 0600 root bin
f none quota/config-msc-linux 0600 root bin
f none quota/msc-linux-lib.pl 0600 root bin
f none quota/config-redhat-linux-7.1 0600 root bin
f none quota/config.info.ca 0600 root bin
f none quota/config-redhat-linux-7.2 0600 root bin
f none quota/config.info.nl 0600 root bin
f none quota/config-generic-linux 0600 root bin
f none quota/generic-linux-lib.pl 0600 root bin
f none quota/config-redhat-linux-7.3 0600 root bin
f none quota/gentoo-linux-lib.pl 0600 root bin
f none quota/config-gentoo-linux 0600 root bin
d none software 0700 root bin
f none software/edit_pack.cgi 0700 root bin
f none software/config-hpux 0600 root bin
f none software/do_install.cgi 0700 root bin
f none software/slackware-lib.pl 0600 root bin
f none software/config.info.ru_SU 0600 root bin
f none software/config-turbo-linux 0600 root bin
f none software/file_info.cgi 0700 root bin
f none software/config-openbsd 0600 root bin
f none software/config.info.zh_CN 0600 root bin
f none software/debian-lib.pl 0600 root bin
f none software/config-open-linux 0600 root bin
f none software/delete_file.cgi 0700 root bin
f none software/config-corel-linux 0600 root bin
f none software/config.info.es 0600 root bin
d none software/images 0700 root bin
f none software/images/close.gif 0600 root bin
f none software/images/pack.gif 0600 root bin
f none software/images/icon.gif 0600 root bin
f none software/images/open.gif 0600 root bin
f none software/search.cgi 0700 root bin
f none software/openbsd-lib.pl 0600 root bin
f none software/pkgadd-lib.pl 0600 root bin
f none software/rpm-lib.pl 0600 root bin
f none software/config-freebsd 0600 root bin
f none software/config.info.zh_TW.Big5 0600 root bin
f none software/config-solaris 0600 root bin
f none software/config-suse-linux 0600 root bin
f none software/module.info 0600 root bin
d none software/lang 0700 root bin
f none software/lang/zh_TW.Big5 0600 root bin
f none software/lang/zh_CN 0600 root bin
f none software/lang/en 0600 root bin
f none software/lang/pt 0600 root bin
f none software/lang/es 0600 root bin
f none software/lang/fr 0600 root bin
f none software/lang/de 0600 root bin
f none software/lang/sv 0600 root bin
f none software/lang/ru_SU 0600 root bin
f none software/lang/hu 0600 root bin
f none software/lang/tr 0600 root bin
f none software/lang/ru_RU 0600 root bin
f none software/lang/pl 0600 root bin
f none software/lang/ja_JP.euc 0600 root bin
f none software/lang/ko_KR.euc 0600 root bin
f none software/lang/ca 0600 root bin
f none software/lang/cz 0600 root bin
f none software/config-debian-linux 0600 root bin
f none software/config.info.sv 0600 root bin
f none software/config.info.de 0600 root bin
d none software/help 0700 root bin
f none software/help/upgrade.sv.html 0600 root bin
f none software/help/replacepkgs.zh_TW.Big5.html 0600 root bin
f none software/help/list_pack.fr.html 0600 root bin
f none software/help/intro.sv.html 0600 root bin
f none software/help/edit_pack.html 0600 root bin
f none software/help/replacefiles.sv.html 0600 root bin
f none software/help/list_pack.zh_TW.Big5.html 0600 root bin
f none software/help/excludedocs.sv.html 0600 root bin
f none software/help/delete.sv.html 0600 root bin
f none software/help/root.es.html 0600 root bin
f none software/help/edit_pack.fr.html 0600 root bin
f none software/help/noscripts.fr.html 0600 root bin
f none software/help/install.sv.html 0600 root bin
f none software/help/upgrade.es.html 0600 root bin
f none software/help/nodeps.fr.html 0600 root bin
f none software/help/replacefiles.html 0600 root bin
f none software/help/replacepkgs.html 0600 root bin
f none software/help/intro.es.html 0600 root bin
f none software/help/edit_pack.zh_TW.Big5.html 0600 root bin
f none software/help/excludedocs.html 0600 root bin
f none software/help/delete.html 0600 root bin
f none software/help/noscripts.zh_TW.Big5.html 0600 root bin
f none software/help/replacefiles.es.html 0600 root bin
f none software/help/install.html 0600 root bin
f none software/help/nodeps.zh_TW.Big5.html 0600 root bin
f none software/help/excludedocs.es.html 0600 root bin
f none software/help/delete.es.html 0600 root bin
f none software/help/search.fr.html 0600 root bin
f none software/help/install.es.html 0600 root bin
f none software/help/oldpackage.sv.html 0600 root bin
f none software/help/file_info.sv.html 0600 root bin
f none software/help/root.html 0600 root bin
f none software/help/search.zh_TW.Big5.html 0600 root bin
f none software/help/noscripts.html 0600 root bin
f none software/help/upgrade.html 0600 root bin
f none software/help/nodeps.html 0600 root bin
f none software/help/root.fr.html 0600 root bin
f none software/help/file_info.html 0600 root bin
f none software/help/oldpackage.html 0600 root bin
f none software/help/intro.html 0600 root bin
f none software/help/upgrade.fr.html 0600 root bin
f none software/help/file_info.es.html 0600 root bin
f none software/help/oldpackage.es.html 0600 root bin
f none software/help/intro.fr.html 0600 root bin
f none software/help/root.zh_TW.Big5.html 0600 root bin
f none software/help/replacefiles.fr.html 0600 root bin
f none software/help/upgrade.zh_TW.Big5.html 0600 root bin
f none software/help/excludedocs.fr.html 0600 root bin
f none software/help/delete.fr.html 0600 root bin
f none software/help/list_pack.html 0600 root bin
f none software/help/intro.zh_TW.Big5.html 0600 root bin
f none software/help/install.fr.html 0600 root bin
f none software/help/replacefiles.zh_TW.Big5.html 0600 root bin
f none software/help/delete.zh_TW.Big5.html 0600 root bin
f none software/help/excludedocs.zh_TW.Big5.html 0600 root bin
f none software/help/install.zh_TW.Big5.html 0600 root bin
f none software/help/replacepkgs.sv.html 0600 root bin
f none software/help/list_pack.sv.html 0600 root bin
f none software/help/file_info.fr.html 0600 root bin
f none software/help/oldpackage.fr.html 0600 root bin
f none software/help/search.html 0600 root bin
f none software/help/replacepkgs.es.html 0600 root bin
f none software/help/file_info.zh_TW.Big5.html 0600 root bin
f none software/help/oldpackage.zh_TW.Big5.html 0600 root bin
f none software/help/edit_pack.sv.html 0600 root bin
f none software/help/noscripts.sv.html 0600 root bin
f none software/help/nodeps.sv.html 0600 root bin
f none software/help/list_pack.es.html 0600 root bin
f none software/help/edit_pack.es.html 0600 root bin
f none software/help/noscripts.es.html 0600 root bin
f none software/help/search.sv.html 0600 root bin
f none software/help/nodeps.es.html 0600 root bin
f none software/help/replacepkgs.fr.html 0600 root bin
f none software/help/root.sv.html 0600 root bin
f none software/help/search.es.html 0600 root bin
f none software/help/excludedocs.hu.html 0600 root bin
f none software/help/delete.hu.html 0600 root bin
f none software/help/edit_pack.hu.html 0600 root bin
f none software/help/excludedocs.pl.html 0600 root bin
f none software/help/delete.pl.html 0600 root bin
f none software/help/install.pl.html 0600 root bin
f none software/help/oldpackage.pl.html 0600 root bin
f none software/help/file_info.pl.html 0600 root bin
f none software/help/replacepkgs.pl.html 0600 root bin
f none software/help/list_pack.pl.html 0600 root bin
f none software/help/edit_pack.pl.html 0600 root bin
f none software/help/noscripts.pl.html 0600 root bin
f none software/help/nodeps.pl.html 0600 root bin
f none software/help/search.pl.html 0600 root bin
f none software/help/root.pl.html 0600 root bin
f none software/help/upgrade.pl.html 0600 root bin
f none software/help/intro.pl.html 0600 root bin
f none software/help/replacefiles.pl.html 0600 root bin
f none software/help/delete.ca.html 0600 root bin
f none software/help/edit_pack.ca.html 0600 root bin
f none software/help/excludedocs.ca.html 0600 root bin
f none software/help/file_info.ca.html 0600 root bin
f none software/help/install.ca.html 0600 root bin
f none software/help/intro.ca.html 0600 root bin
f none software/help/list_pack.ca.html 0600 root bin
f none software/help/nodeps.ca.html 0600 root bin
f none software/help/noscripts.ca.html 0600 root bin
f none software/help/oldpackage.ca.html 0600 root bin
f none software/help/replacefiles.ca.html 0600 root bin
f none software/help/replacepkgs.ca.html 0600 root bin
f none software/help/root.ca.html 0600 root bin
f none software/help/search.ca.html 0600 root bin
f none software/help/upgrade.ca.html 0600 root bin
f none software/help/aix_accept.html 0600 root bin
f none software/help/aix_auto.html 0600 root bin
f none software/help/aix_clean.html 0600 root bin
f none software/help/aix_commit.html 0600 root bin
f none software/help/aix_detail.html 0600 root bin
f none software/help/aix_device.html 0600 root bin
f none software/help/aix_extend.html 0600 root bin
f none software/help/aix_include.html 0600 root bin
f none software/help/aix_license.html 0600 root bin
f none software/help/aix_overwrite.html 0600 root bin
f none software/help/aix_preview.html 0600 root bin
f none software/help/aix_process.html 0600 root bin
f none software/help/aix_save.html 0600 root bin
f none software/help/aix_software.html 0600 root bin
f none software/help/aix_verify.html 0600 root bin
f none software/help/aix_accept.ca.html 0600 root bin
f none software/help/aix_auto.ca.html 0600 root bin
f none software/help/aix_clean.ca.html 0600 root bin
f none software/help/aix_commit.ca.html 0600 root bin
f none software/help/aix_detail.ca.html 0600 root bin
f none software/help/aix_device.ca.html 0600 root bin
f none software/help/aix_extend.ca.html 0600 root bin
f none software/help/aix_include.ca.html 0600 root bin
f none software/help/aix_license.ca.html 0600 root bin
f none software/help/aix_overwrite.ca.html 0600 root bin
f none software/help/aix_preview.ca.html 0600 root bin
f none software/help/aix_process.ca.html 0600 root bin
f none software/help/aix_save.ca.html 0600 root bin
f none software/help/aix_software.ca.html 0600 root bin
f none software/help/aix_verify.ca.html 0600 root bin
f none software/freebsd-lib.pl 0600 root bin
f none software/openall.cgi 0700 root bin
f none software/config-openserver 0600 root bin
f none software/config.info 0600 root bin
f none software/closeall.cgi 0700 root bin
f none software/delete_pack.cgi 0700 root bin
f none software/open.cgi 0700 root bin
f none software/hpux-lib.pl 0600 root bin
f none software/config-cobalt-linux 0600 root bin
f none software/config.info.fr 0600 root bin
f none software/install_pack.cgi 0700 root bin
f none software/config-unixware 0600 root bin
f none software/rhn.cgi 0700 root bin
f none software/close.cgi 0700 root bin
f none software/index.cgi 0700 root bin
f none software/config-redhat-linux 0600 root bin
f none software/software-lib.pl 0600 root bin
f none software/list_pack.cgi 0700 root bin
f none software/config-slackware-linux 0600 root bin
f none software/log_parser.pl 0600 root bin
f none software/config.info.tr 0600 root bin
f none software/config.info.pl 0600 root bin
f none software/config.info.ru_RU 0600 root bin
f none software/apt-lib.pl 0600 root bin
f none software/rhn_check.cgi 0700 root bin
f none software/apt_upgrade.cgi 0700 root bin
f none software/rhn-lib.pl 0600 root bin
f none software/apt_find.cgi 0700 root bin
f none software/config-mandrake-linux 0600 root bin
f none software/config-netbsd 0600 root bin
f none software/config-msc-linux 0600 root bin
f none software/config.info.ca 0600 root bin
f none software/view.cgi 0700 root bin
f none software/aix-lib.pl 0600 root bin
f none software/config-aix 0600 root bin
f none software/tree.cgi 0700 root bin
f none software/emerge_find.cgi 0700 root bin
f none software/rpmfind.cgi 0700 root bin
f none software/config-gentoo-linux 0600 root bin
f none software/emerge-lib.pl 0600 root bin
d none acl 0700 root bin
f none acl/module.info 0600 root bin
f none acl/cert_form.cgi 0700 root bin
d none acl/lang 0700 root bin
f none acl/lang/zh_TW.Big5 0600 root bin
f none acl/lang/zh_CN 0600 root bin
f none acl/lang/en 0600 root bin
f none acl/lang/pt 0600 root bin
f none acl/lang/es 0600 root bin
f none acl/lang/fr 0600 root bin
f none acl/lang/de 0600 root bin
f none acl/lang/sv 0600 root bin
f none acl/lang/it 0600 root bin
f none acl/lang/ru_SU 0600 root bin
f none acl/lang/tr 0600 root bin
f none acl/lang/pl 0600 root bin
f none acl/lang/hu 0600 root bin
f none acl/lang/nl 0600 root bin
f none acl/lang/ru_RU 0600 root bin
f none acl/lang/cz 0600 root bin
f none acl/lang/ja_JP.euc 0600 root bin
f none acl/lang/ko_KR.euc 0600 root bin
f none acl/lang/ca 0600 root bin
f none acl/config-debian-linux 0600 root bin
f none acl/edit_user.cgi 0700 root bin
f none acl/config.info.de 0600 root bin
f none acl/openssl.cnf 0600 root bin
f none acl/save_user.cgi 0700 root bin
f none acl/config.info 0600 root bin
f none acl/acl_security.pl 0600 root bin
f none acl/delete_user.cgi 0700 root bin
f none acl/useradmin_update.pl 0600 root bin
f none acl/defaultacl 0600 root bin
d none acl/images 0700 root bin
f none acl/images/empty.gif 0600 root bin
f none acl/images/icon.gif 0600 root bin
f none acl/images/tick.gif 0600 root bin
f none acl/images/convert.gif 0600 root bin
f none acl/images/sync.gif 0600 root bin
f none acl/images/cert.gif 0600 root bin
f none acl/images/unix.gif 0600 root bin
f none acl/images/sessions.gif 0600 root bin
f none acl/edit_acl.cgi 0700 root bin
f none acl/config 0600 root bin
f none acl/cert_issue.cgi 0700 root bin
f none acl/config-redhat-linux 0600 root bin
f none acl/index.cgi 0700 root bin
f none acl/acl-lib.pl 0600 root bin
f none acl/config-freebsd 0600 root bin
f none acl/convert.cgi 0700 root bin
f none acl/save_acl.cgi 0700 root bin
f none acl/config.info.zh_TW.Big5 0600 root bin
f none acl/cert_output.cgi 0700 root bin
f none acl/log_parser.pl 0600 root bin
f none acl/config.info.sv 0600 root bin
f none acl/config.info.es 0600 root bin
f none acl/config.info.tr 0600 root bin
f none acl/config.info.pl 0600 root bin
f none acl/config.info.hu 0600 root bin
f none acl/delete_group.cgi 0700 root bin
f none acl/config.info.zh_CN 0600 root bin
f none acl/save_group.cgi 0700 root bin
f none acl/edit_group.cgi 0700 root bin
f none acl/config-open-linux-3.1e 0600 root bin
f none acl/config.info.nl 0600 root bin
f none acl/config-mandrake-linux 0600 root bin
f none acl/config-suse-linux-7.1 0600 root bin
f none acl/config.info.ru_SU 0600 root bin
f none acl/convert_form.cgi 0700 root bin
f none acl/config-redhat-linux-7.1 0600 root bin
f none acl/config.info.ru_RU 0600 root bin
f none acl/config.info.ca 0600 root bin
f none acl/config-suse-linux-7.2 0600 root bin
f none acl/config-msc-linux 0600 root bin
f none acl/config.info.ja_JP.euc 0600 root bin
f none acl/config-suse-linux-7.3 0600 root bin
f none acl/edit_unix.cgi 0700 root bin
f none acl/save_sync.cgi 0700 root bin
f none acl/edit_sync.cgi 0700 root bin
f none acl/save_unix.cgi 0700 root bin
f none acl/config-redhat-linux-7.2 0600 root bin
f none acl/config.info.cz 0600 root bin
f none acl/config-macos-1.3 0600 root bin
f none acl/config-macos-1.4 0600 root bin
f none acl/feedback_files.pl 0600 root bin
f none acl/config-generic-linux 0600 root bin
f none acl/config-redhat-linux-7.3 0600 root bin
f none acl/config-suse-linux-8.0 0600 root bin
f none acl/config-gentoo-linux 0600 root bin
f none acl/list_sessions.cgi 0700 root bin
f none acl/delete_session.cgi 0700 root bin
d none apache 0700 root bin
f none apache/auth-lib.pl 0600 root bin
f none apache/mod_log_config.pl 0600 root bin
f none apache/show.cgi 0700 root bin
f none apache/mod_php3.pl 0600 root bin
f none apache/edit_authgroup.cgi 0700 root bin
f none apache/show_virt.cgi 0700 root bin
f none apache/create_files.cgi 0700 root bin
f none apache/stop.cgi 0700 root bin
f none apache/config-hpux 0600 root bin
f none apache/mod_dir.pl 0600 root bin
f none apache/mod_negotiation.pl 0600 root bin
f none apache/edit_virt.cgi 0700 root bin
f none apache/config-turbo-linux 0600 root bin
f none apache/save_defines.cgi 0700 root bin
f none apache/mod_setenvif.pl 0600 root bin
f none apache/config-openbsd 0600 root bin
f none apache/acl_security.pl 0600 root bin
f none apache/mod_mime_magic.pl 0600 root bin
f none apache/manual_form.cgi 0700 root bin
f none apache/create_dir.cgi 0700 root bin
f none apache/useradmin_update.pl 0600 root bin
f none apache/show_files.cgi 0700 root bin
f none apache/config-macos 0600 root bin
f none apache/config.info.es 0600 root bin
f none apache/dir_index.cgi 0700 root bin
f none apache/mod_expires.pl.broken 0600 root bin
f none apache/create_virt.cgi 0700 root bin
f none apache/change_files.cgi 0700 root bin
f none apache/mod_autoindex.pl 0600 root bin
f none apache/config-freebsd 0600 root bin
f none apache/config.info.zh_TW.Big5 0600 root bin
f none apache/config-slackware-linux-7.0 0600 root bin
f none apache/save_authuser.cgi 0700 root bin
f none apache/module.info 0600 root bin
f none apache/save_files.cgi 0700 root bin
d none apache/lang 0700 root bin
f none apache/lang/zh_TW.Big5 0600 root bin
f none apache/lang/zh_CN 0600 root bin
f none apache/lang/en 0600 root bin
f none apache/lang/pt 0600 root bin
f none apache/lang/es 0600 root bin
f none apache/lang/fr 0600 root bin
f none apache/lang/de 0600 root bin
f none apache/lang/sv 0600 root bin
f none apache/lang/it 0600 root bin
f none apache/lang/ru_SU 0600 root bin
f none apache/lang/hu 0600 root bin
f none apache/lang/tr 0600 root bin
f none apache/lang/pl 0600 root bin
f none apache/lang/nl 0600 root bin
f none apache/lang/ru_RU 0600 root bin
f none apache/lang/pt_BR 0600 root bin
f none apache/lang/ja_JP.euc 0600 root bin
f none apache/lang/ko_KR.euc 0600 root bin
f none apache/lang/ca 0600 root bin
f none apache/change_dir.cgi 0700 root bin
f none apache/htaccess_index.cgi 0700 root bin
f none apache/config-openserver 0600 root bin
f none apache/core.pl 0600 root bin
f none apache/save_sync.cgi 0700 root bin
f none apache/mod_status.pl 0600 root bin
f none apache/mod_auth_dbm.pl 0600 root bin
f none apache/mod_include.pl 0600 root bin
f none apache/show_htaccess.cgi 0700 root bin
f none apache/config-open-linux-2.3 0600 root bin
f none apache/mod_env.pl 0600 root bin
f none apache/config-open-linux-2.4 0600 root bin
f none apache/config_solaris.txt.1.25 0600 root bin
f none apache/edit_htaccess.cgi 0700 root bin
f none apache/config-cobalt-linux 0600 root bin
f none apache/mod_info.pl 0600 root bin
f none apache/mod_log_referer.pl 0600 root bin
f none apache/config-unixware 0600 root bin
f none apache/config.info.fr 0600 root bin
f none apache/edit_files.cgi 0700 root bin
f none apache/index.cgi 0700 root bin
f none apache/mod_ssl.pl 0600 root bin
f none apache/mod_access.pl 0600 root bin
f none apache/mod_perl.pl 0600 root bin
f none apache/config-osf1 0600 root bin
f none apache/virt_index.cgi 0700 root bin
f none apache/list_authusers.cgi 0700 root bin
f none apache/reconfig_form.cgi 0700 root bin
f none apache/create_htaccess.cgi 0700 root bin
f none apache/config-lfs-linux 0600 root bin
f none apache/edit_dir.cgi 0700 root bin
f none apache/mod_userdir.pl 0600 root bin
f none apache/mod_proxy.pl 0600 root bin
f none apache/files_index.cgi 0700 root bin
f none apache/config.info.ru_SU 0600 root bin
f none apache/mod_browser.pl 0600 root bin
f none apache/reconfig.cgi 0700 root bin
f none apache/find_htaccess.cgi 0700 root bin
f none apache/config.info.zh_CN 0600 root bin
f none apache/apache-lib.pl 0600 root bin
f none apache/mod_php.pl 0600 root bin
f none apache/mod_mime.pl 0600 root bin
f none apache/mod_log_common.pl 0600 root bin
f none apache/save_virt.cgi 0700 root bin
f none apache/defaultacl 0600 root bin
f none apache/config-corel-linux 0600 root bin
d none apache/images 0700 root bin
f none apache/images/type_icon_3.gif 0600 root bin
f none apache/images/virt_index.gif 0600 root bin
f none apache/images/type_icon_4.gif 0600 root bin
f none apache/images/defines.gif 0600 root bin
f none apache/images/type_icon_5.gif 0600 root bin
f none apache/images/type_icon_6.gif 0600 root bin
f none apache/images/dir.gif 0600 root bin
f none apache/images/type_icon_7.gif 0600 root bin
f none apache/images/show.gif 0600 root bin
f none apache/images/type_icon_8.gif 0600 root bin
f none apache/images/type_icon_9.gif 0600 root bin
f none apache/images/virt.gif 0600 root bin
f none apache/images/icon.gif 0600 root bin
f none apache/images/type_icon_10.gif 0600 root bin
f none apache/images/type_icon_11.gif 0600 root bin
f none apache/images/type_icon_12.gif 0600 root bin
f none apache/images/type_icon_13.gif 0600 root bin
f none apache/images/type_icon_14.gif 0600 root bin
f none apache/images/def.gif 0600 root bin
f none apache/images/doc.gif 0600 root bin
f none apache/images/recon.gif 0600 root bin
f none apache/images/type_icon_0.gif 0600 root bin
f none apache/images/type_icon_1.gif 0600 root bin
f none apache/images/type_icon_2.gif 0600 root bin
f none apache/images/edit.gif 0600 root bin
f none apache/images/type_icon_16.gif 0600 root bin
f none apache/images/type_icon_17.gif 0600 root bin
f none apache/images/type_icon_15.gif 0600 root bin
f none apache/images/type_icon_18.gif 0600 root bin
f none apache/images/type_icon_19.gif 0600 root bin
f none apache/edit_gmime_type.cgi 0700 root bin
f none apache/config-open-linux-2.3e 0600 root bin
f none apache/edit_authuser.cgi 0700 root bin
f none apache/edit_global.cgi 0700 root bin
f none apache/mod_log_agent.pl 0600 root bin
f none apache/mod_asis.pl 0600 root bin
f none apache/mod_actions.pl 0600 root bin
f none apache/autoindex.pl 0600 root bin
f none apache/config-irix 0600 root bin
f none apache/save_gmime_type.cgi 0700 root bin
f none apache/show_dir.cgi 0700 root bin
f none apache/config-solaris 0600 root bin
f none apache/config-suse-linux 0600 root bin
f none apache/save_global.cgi 0700 root bin
f none apache/delete_htaccess.cgi 0700 root bin
f none apache/config-debian-linux 0600 root bin
f none apache/edit_defines.cgi 0700 root bin
f none apache/save_vserv.cgi 0700 root bin
f none apache/config-aix 0600 root bin
f none apache/restart.cgi 0700 root bin
f none apache/config.info.de 0600 root bin
f none apache/notes 0600 root bin
f none apache/manual_save.cgi 0700 root bin
f none apache/save_authgroup.cgi 0700 root bin
f none apache/list_authgroups.cgi 0700 root bin
f none apache/save_dir.cgi 0700 root bin
f none apache/htaccess.cgi 0700 root bin
f none apache/start.cgi 0700 root bin
f none apache/config.info 0600 root bin
f none apache/mod_imap.pl 0600 root bin
f none apache/mod_alias.pl 0600 root bin
f none apache/mod_cern_meta.pl 0600 root bin
f none apache/config-redhat-linux 0600 root bin
f none apache/mod_auth.pl 0600 root bin
f none apache/mod_speling.pl 0600 root bin
f none apache/browsermatch.pl 0600 root bin
f none apache/mod_cgi.pl 0600 root bin
f none apache/save_htaccess.cgi 0700 root bin
f none apache/config.info.hu 0600 root bin
f none apache/config-slackware-linux 0600 root bin
f none apache/config-open-linux-2.5 0600 root bin
f none apache/cache.pl 0600 root bin
f none apache/mod_php4.pl 0600 root bin
f none apache/config-slackware-linux-7.1 0600 root bin
f none apache/config.info.sv 0600 root bin
f none apache/log_parser.pl 0600 root bin
f none apache/config.info.tr 0600 root bin
f none apache/config.info.pl 0600 root bin
f none apache/config-redhat-linux-7.0 0600 root bin
f none apache/config.info.ru_RU 0600 root bin
f none apache/config.info.nl 0600 root bin
f none apache/config-open-linux-3.1e 0600 root bin
f none apache/config-redhat-linux-7.1 0600 root bin
f none apache/config-suse-linux-7.1 0600 root bin
f none apache/search_virt.cgi 0700 root bin
f none apache/config-mandrake-linux 0600 root bin
f none apache/config-macos-1.3 0600 root bin
f none apache/config.info.ca 0600 root bin
f none apache/mod_vhost_alias.pl 0600 root bin
f none apache/config-macos-1.4 0600 root bin
f none apache/config-suse-linux-7.2 0600 root bin
f none apache/config-netbsd 0600 root bin
f none apache/config-msc-linux 0600 root bin
f none apache/config.info.ja_JP.euc 0600 root bin
f none apache/config-slackware-linux-8.0 0600 root bin
f none apache/config-suse-linux-7.3 0600 root bin
f none apache/config-redhat-linux-7.2 0600 root bin
f none apache/feedback_files.pl 0600 root bin
f none apache/config.info.pt_BR 0600 root bin
f none apache/remove_vserv.pl 0700 root bin
f none apache/mod_cache.pl 0600 root bin
f none apache/config-generic-linux 0600 root bin
f none apache/allmanual_save.cgi 0700 root bin
f none apache/allmanual_form.cgi 0700 root bin
f none apache/perchild.pl 0600 root bin
f none apache/config-redhat-linux-7.3 0600 root bin
f none apache/prefork.pl 0600 root bin
f none apache/worker.pl 0600 root bin
f none apache/config-suse-linux-8.0 0600 root bin
f none apache/mod_mem_cache.pl 0600 root bin
f none apache/mod_disk_cache.pl 0600 root bin
f none apache/mod_ext_filter.pl 0600 root bin
f none apache/mod_suexec.pl 0600 root bin
f none apache/config-gentoo-linux 0600 root bin
f none apache/mpm_winnt.pl 0600 root bin
f none apache/mpm_netware.pl 0600 root bin
f none apache/config-slackware-linux-8.1 0600 root bin
d none lpadmin 0700 root bin
f none lpadmin/cancel_job.cgi 0700 root bin
f none lpadmin/stp 0600 root bin
f none lpadmin/stop.cgi 0700 root bin
f none lpadmin/config-hpux 0600 root bin
f none lpadmin/hpux-driver.pl 0600 root bin
f none lpadmin/edit_printer.cgi 0700 root bin
f none lpadmin/base_coas_driver 0700 root bin
f none lpadmin/config.info.ru_SU 0600 root bin
f none lpadmin/config-turbo-linux 0600 root bin
f none lpadmin/config-openbsd 0600 root bin
f none lpadmin/caldera-driver.pl 0600 root bin
f none lpadmin/config.info.zh_CN 0600 root bin
f none lpadmin/acl_security.pl 0600 root bin
f none lpadmin/sortdrivers.pl 0700 root bin
f none lpadmin/config-open-linux 0600 root bin
f none lpadmin/lpadmin-lib.pl 0600 root bin
f none lpadmin/config-corel-linux 0600 root bin
f none lpadmin/defaultacl 0600 root bin
f none lpadmin/config.info.es 0600 root bin
f none lpadmin/config-macos 0600 root bin
d none lpadmin/images 0700 root bin
f none lpadmin/images/icon.gif 0600 root bin
f none lpadmin/delete_printer.cgi 0700 root bin
f none lpadmin/openbsd-lib.pl 0600 root bin
f none lpadmin/old-caldera-driver.pl 0600 root bin
f none lpadmin/config-freebsd 0600 root bin
f none lpadmin/linux-lib.pl 0600 root bin
f none lpadmin/cancel_all.cgi 0700 root bin
f none lpadmin/config.info.zh_TW.Big5 0600 root bin
f none lpadmin/module.info 0600 root bin
f none lpadmin/config-solaris 0600 root bin
f none lpadmin/config-suse-linux 0600 root bin
f none lpadmin/unixware-lib.pl 0600 root bin
d none lpadmin/lang 0700 root bin
f none lpadmin/lang/zh_TW.Big5 0600 root bin
f none lpadmin/lang/zh_CN 0600 root bin
f none lpadmin/lang/en 0600 root bin
f none lpadmin/lang/pt 0600 root bin
f none lpadmin/lang/es 0600 root bin
f none lpadmin/lang/fr 0600 root bin
f none lpadmin/lang/de 0600 root bin
f none lpadmin/lang/sv 0600 root bin
f none lpadmin/lang/it 0600 root bin
f none lpadmin/lang/ru_SU 0600 root bin
f none lpadmin/lang/tr 0600 root bin
f none lpadmin/lang/pl 0600 root bin
f none lpadmin/lang/hu 0600 root bin
f none lpadmin/lang/ru_RU 0600 root bin
f none lpadmin/lang/nl 0600 root bin
f none lpadmin/lang/ja_JP.euc 0600 root bin
f none lpadmin/lang/ko_KR.euc 0600 root bin
f none lpadmin/lang/ca 0600 root bin
f none lpadmin/suse-driver.pl 0600 root bin
f none lpadmin/config-debian-linux 0600 root bin
f none lpadmin/webmin-driver.pl 0600 root bin
f none lpadmin/config.info.de 0600 root bin
f none lpadmin/config.info.sv 0600 root bin
f none lpadmin/freebsd-lib.pl 0600 root bin
f none lpadmin/list_jobs.cgi 0700 root bin
f none lpadmin/start.cgi 0700 root bin
f none lpadmin/solaris-lib.pl 0600 root bin
f none lpadmin/config.info 0600 root bin
f none lpadmin/lprng-lib.pl 0600 root bin
f none lpadmin/hpux-lib.pl 0600 root bin
f none lpadmin/save_printer.cgi 0700 root bin
f none lpadmin/view_job.cgi 0700 root bin
f none lpadmin/config.info.fr 0600 root bin
f none lpadmin/config-unixware 0600 root bin
f none lpadmin/config-redhat-linux 0600 root bin
f none lpadmin/index.cgi 0700 root bin
f none lpadmin/redhat-driver.pl 0600 root bin
f none lpadmin/config-slackware-linux 0600 root bin
f none lpadmin/drivers 0600 root bin
f none lpadmin/log_parser.pl 0600 root bin
f none lpadmin/config.info.tr 0600 root bin
f none lpadmin/config.info.pl 0600 root bin
f none lpadmin/config-redhat-linux-7.0 0600 root bin
f none lpadmin/config.info.hu 0600 root bin
f none lpadmin/bw.fig 0600 root bin
f none lpadmin/test_form.cgi 0700 root bin
f none lpadmin/bw.ps 0600 root bin
f none lpadmin/colour.fig 0600 root bin
f none lpadmin/config.info.ca 0600 root bin
f none lpadmin/colour.ps 0600 root bin
f none lpadmin/test_print.cgi 0700 root bin
f none lpadmin/restart.cgi 0700 root bin
f none lpadmin/irix-driver.pl 0600 root bin
f none lpadmin/ascii.txt 0600 root bin
f none lpadmin/cups-lib.pl 0600 root bin
f none lpadmin/irix-lib.pl 0600 root bin
f none lpadmin/config.info.ru_RU 0600 root bin
f none lpadmin/cups-driver.pl 0600 root bin
f none lpadmin/config-irix 0600 root bin
f none lpadmin/config-open-linux-3.1e 0600 root bin
f none lpadmin/config-redhat-linux-7.1 0600 root bin
f none lpadmin/catalog.devices 0400 root bin
f none lpadmin/printconf-driver.pl 0600 root bin
f none lpadmin/config-mandrake-linux 0600 root bin
f none lpadmin/config-redhat-linux-7.2 0600 root bin
f none lpadmin/config-netbsd 0600 root bin
f none lpadmin/config-msc-linux 0600 root bin
f none lpadmin/config.info.ja_JP.euc 0600 root bin
f none lpadmin/config.info.nl 0600 root bin
f none lpadmin/config-generic-linux 0600 root bin
f none lpadmin/config-redhat-linux-7.3 0600 root bin
f none lpadmin/sortdrivers-by-drv.pl 0700 root bin
f none lpadmin/config-mandrake-linux-8.0 0600 root bin
f none lpadmin/config-mandrake-linux-8.1 0600 root bin
f none lpadmin/config-mandrake-linux-8.2 0600 root bin
f none lpadmin/config-gentoo-linux 0600 root bin
d none bind8 0700 root bin
f none bind8/master_form.cgi 0700 root bin
f none bind8/bind8-lib.pl 0600 root bin
f none bind8/save_forward.cgi 0700 root bin
f none bind8/edit_stub.cgi 0700 root bin
f none bind8/config-hpux 0600 root bin
f none bind8/edit_text.cgi 0700 root bin
f none bind8/config-turbo-linux 0600 root bin
f none bind8/create_slave.cgi 0700 root bin
f none bind8/slave_form.cgi 0700 root bin
f none bind8/find_zones.cgi 0700 root bin
f none bind8/acl_security.pl 0600 root bin
f none bind8/edit_options.cgi 0700 root bin
f none bind8/save_acls.cgi 0700 root bin
f none bind8/edit_recs.cgi 0700 root bin
f none bind8/config.info.es 0600 root bin
f none bind8/config-macos 0600 root bin
f none bind8/config.info.zh_TW.Big5 0600 root bin
f none bind8/module.info 0600 root bin
f none bind8/save_files.cgi 0700 root bin
d none bind8/lang 0700 root bin
f none bind8/lang/zh_TW.Big5 0600 root bin
f none bind8/lang/zh_CN 0600 root bin
f none bind8/lang/en 0600 root bin
f none bind8/lang/pt 0600 root bin
f none bind8/lang/es 0600 root bin
f none bind8/lang/fr 0600 root bin
f none bind8/lang/de 0600 root bin
f none bind8/lang/sv 0600 root bin
f none bind8/lang/it 0600 root bin
f none bind8/lang/ru_SU 0600 root bin
f none bind8/lang/tr 0600 root bin
f none bind8/lang/pl 0600 root bin
f none bind8/lang/ru_RU 0600 root bin
f none bind8/lang/ja_JP.euc 0600 root bin
f none bind8/lang/ko_KR.euc 0600 root bin
f none bind8/lang/ja_JP.jis 0600 root bin
f none bind8/lang/ca 0600 root bin
f none bind8/lang/cz 0600 root bin
f none bind8/lang/pt_BR 0600 root bin
f none bind8/edit_record.cgi 0700 root bin
f none bind8/create_forward.cgi 0700 root bin
f none bind8/forward_form.cgi 0700 root bin
f none bind8/save_slave.cgi 0700 root bin
f none bind8/config-openserver 0600 root bin
f none bind8/save_record.cgi 0700 root bin
f none bind8/delete_zone.cgi 0700 root bin
f none bind8/conf_servers.cgi 0700 root bin
f none bind8/edit_master.cgi 0700 root bin
f none bind8/config-cobalt-linux 0600 root bin
f none bind8/config.info.fr 0600 root bin
f none bind8/config-unixware 0600 root bin
f none bind8/save_servers.cgi 0700 root bin
f none bind8/index.cgi 0700 root bin
f none bind8/save_master.cgi 0700 root bin
f none bind8/config-freebsd-3.0 0600 root bin
f none bind8/config-osf1 0600 root bin
f none bind8/config-freebsd-3.1 0600 root bin
f none bind8/config-freebsd-5.0 0600 root bin
f none bind8/config-freebsd-3.2 0600 root bin
f none bind8/config-freebsd-3.3 0600 root bin
f none bind8/config-freebsd-3.4 0600 root bin
f none bind8/create_master.cgi 0700 root bin
f none bind8/edit_slave.cgi 0700 root bin
f none bind8/config-debian-linux-2.2 0600 root bin
f none bind8/db.cache 0600 root bin
f none bind8/edit_soa.cgi 0700 root bin
f none bind8/config.info.ru_SU 0600 root bin
f none bind8/config.info.zh_CN 0600 root bin
f none bind8/conf_zonedef.cgi 0700 root bin
f none bind8/config-open-linux 0600 root bin
f none bind8/stub_form.cgi 0700 root bin
f none bind8/conf_misc.cgi 0700 root bin
f none bind8/save_text.cgi 0700 root bin
f none bind8/config-corel-linux 0600 root bin
f none bind8/defaultacl 0600 root bin
d none bind8/images 0700 root bin
f none bind8/images/stub.gif 0600 root bin
f none bind8/images/TXT.gif 0600 root bin
f none bind8/images/NS.gif 0600 root bin
f none bind8/images/A.gif 0600 root bin
f none bind8/images/RP.gif 0600 root bin
f none bind8/images/soa.gif 0600 root bin
f none bind8/images/acls.gif 0600 root bin
f none bind8/images/CNAME.gif 0600 root bin
f none bind8/images/text.gif 0600 root bin
f none bind8/images/MX.gif 0600 root bin
f none bind8/images/net.gif 0600 root bin
f none bind8/images/logging.gif 0600 root bin
f none bind8/images/icon.gif 0600 root bin
f none bind8/images/servers.gif 0600 root bin
f none bind8/images/zonedef.gif 0600 root bin
f none bind8/images/options.gif 0600 root bin
f none bind8/images/misc.gif 0600 root bin
f none bind8/images/master.gif 0600 root bin
f none bind8/images/no-home.gif 0600 root bin
f none bind8/images/forwarding.gif 0600 root bin
f none bind8/images/files.gif 0600 root bin
f none bind8/images/HINFO.gif 0600 root bin
f none bind8/images/forward.gif 0600 root bin
f none bind8/images/WKS.gif 0600 root bin
f none bind8/images/PTR.gif 0600 root bin
f none bind8/images/slave.gif 0600 root bin
f none bind8/images/findfree.gif 0600 root bin
f none bind8/images/AAAA.gif 0600 root bin
f none bind8/images/LOC.gif 0600 root bin
f none bind8/images/whois.gif 0600 root bin
f none bind8/images/view.gif 0600 root bin
f none bind8/images/hint.gif 0600 root bin
f none bind8/images/controls.gif 0600 root bin
f none bind8/images/ALL.gif 0600 root bin
f none bind8/images/gen.gif 0600 root bin
f none bind8/dns_boot.cgi 0700 root bin
f none bind8/conf_files.cgi 0700 root bin
f none bind8/save_zonedef.cgi 0700 root bin
f none bind8/edit_forward.cgi 0700 root bin
f none bind8/config-irix 0600 root bin
f none bind8/config-suse-linux 0600 root bin
f none bind8/config-solaris 0600 root bin
f none bind8/records-lib.pl 0600 root bin
f none bind8/save_forwarding.cgi 0700 root bin
f none bind8/config-debian-linux 0600 root bin
f none bind8/config-solaris-7 0600 root bin
f none bind8/config-solaris-8 0600 root bin
f none bind8/restart.cgi 0700 root bin
f none bind8/config.info.de 0600 root bin
f none bind8/config.info.sv 0600 root bin
f none bind8/conf_acls.cgi 0700 root bin
f none bind8/conf_logging.cgi 0700 root bin
f none bind8/conf_net.cgi 0700 root bin
f none bind8/start.cgi 0700 root bin
f none bind8/config-openbsd-2.5 0600 root bin
f none bind8/config.info 0600 root bin
f none bind8/config-openbsd-2.6 0600 root bin
f none bind8/config-openbsd-2.7 0600 root bin
f none bind8/save_soa.cgi 0700 root bin
f none bind8/save_logging.cgi 0700 root bin
f none bind8/save_net.cgi 0700 root bin
f none bind8/config-redhat-linux 0600 root bin
f none bind8/conf_forwarding.cgi 0700 root bin
f none bind8/save_misc.cgi 0700 root bin
f none bind8/config-freebsd-2.1 0600 root bin
f none bind8/config-freebsd-4.0 0600 root bin
f none bind8/config-freebsd-2.2 0600 root bin
f none bind8/config-slackware-linux 0600 root bin
f none bind8/find_free.cgi 0700 root bin
f none bind8/log_parser.pl 0600 root bin
f none bind8/config.info.tr 0600 root bin
f none bind8/config.info.pl 0600 root bin
f none bind8/config-aix 0600 root bin
f none bind8/config.info.ru_RU 0600 root bin
f none bind8/config-redhat-linux-7.1 0600 root bin
f none bind8/config-macos-1.3 0600 root bin
f none bind8/config-openbsd-2.8 0600 root bin
f none bind8/config-mandrake-linux 0600 root bin
f none bind8/convert_master.cgi 0700 root bin
f none bind8/convert_slave.cgi 0700 root bin
f none bind8/config-netbsd 0600 root bin
f none bind8/config-msc-linux 0600 root bin
f none bind8/convert_form.cgi 0700 root bin
f none bind8/config-freebsd-4.1 0600 root bin
f none bind8/config-freebsd-4.2 0600 root bin
f none bind8/config-freebsd-4.3 0600 root bin
f none bind8/config-freebsd-4.4 0600 root bin
f none bind8/config-freebsd-3.5 0600 root bin
f none bind8/config-openbsd-2.9 0600 root bin
f none bind8/config.info.ca 0600 root bin
f none bind8/whois.cgi 0700 root bin
f none bind8/config-solaris-9 0600 root bin
f none bind8/config-macos-1.4 0600 root bin
f none bind8/save_gen.cgi 0700 root bin
f none bind8/config-redhat-linux-7.2 0600 root bin
f none bind8/move_zone.cgi 0700 root bin
f none bind8/save_view.cgi 0700 root bin
f none bind8/view_form.cgi 0700 root bin
f none bind8/edit_view.cgi 0700 root bin
f none bind8/create_hint.cgi 0700 root bin
f none bind8/edit_hint.cgi 0700 root bin
f none bind8/hint_form.cgi 0700 root bin
f none bind8/delete_view.cgi 0700 root bin
f none bind8/config.info.cz 0600 root bin
f none bind8/conf_controls.cgi 0700 root bin
f none bind8/create_view.cgi 0700 root bin
f none bind8/save_controls.cgi 0700 root bin
f none bind8/feedback_files.pl 0600 root bin
f none bind8/config.info.pt_BR 0600 root bin
f none bind8/config-openbsd-3.0 0600 root bin
f none bind8/config-freebsd-4.5 0600 root bin
f none bind8/config-slackware-linux-8.0 0600 root bin
f none bind8/config-debian-linux-3.0 0600 root bin
f none bind8/config-generic-linux 0600 root bin
f none bind8/config-redhat-linux-7.3 0600 root bin
f none bind8/list_gen.cgi 0700 root bin
f none bind8/restart_slave.cgi 0700 root bin
f none bind8/config-freebsd-4.6 0600 root bin
f none bind8/config-openbsd-3.1 0600 root bin
f none bind8/config-gentoo-linux 0600 root bin
f none bind8/restart_zone.cgi 0700 root bin
f none bind8/config-slackware-linux-8.1 0600 root bin
f none bind8/whois-servers 0600 root bin
d none sendmail 0700 root bin
f none sendmail/access-lib.pl 0600 root bin
f none sendmail/save_masq.cgi 0700 root bin
f none sendmail/list_us 0600 root bin
f none sendmail/virtusers-lib.pl 0600 root bin
f none sendmail/save_domain.cgi 0700 root bin
f none sendmail/stop.cgi 0700 root bin
f none sendmail/config-hpux 0600 root bin
f none sendmail/list_cws.cgi 0700 root bin
f none sendmail/edit_virtuser.cgi 0700 root bin
f none sendmail/config-turbo-linux 0600 root bin
f none sendmail/send_mail.cgi 0700 root bin
f none sendmail/config-openbsd 0600 root bin
f none sendmail/list_access.cgi 0700 root bin
f none sendmail/reply_mail.cgi 0700 root bin
f none sendmail/list_mailq.cgi 0700 root bin
f none sendmail/save_afile.cgi 0700 root bin
f none sendmail/edit_alias.cgi 0700 root bin
f none sendmail/aliases-lib.pl 0600 root bin
f none sendmail/acl_security.pl 0600 root bin
f none sendmail/list_trusts.cgi 0700 root bin
f none sendmail/useradmin_update.pl 0600 root bin
f none sendmail/config-macos 0600 root bin
f none sendmail/config.info.es 0600 root bin
f none sendmail/delete_mail.cgi 0700 root bin
f none sendmail/edit_access.cgi 0700 root bin
f none sendmail/mailers-lib.pl 0600 root bin
f none sendmail/config-freebsd 0600 root bin
f none sendmail/config.info.zh_TW.Big5 0600 root bin
f none sendmail/module.info 0600 root bin
f none sendmail/save_access.cgi 0700 root bin
f none sendmail/save_rfile.cgi 0700 root bin
d none sendmail/lang 0700 root bin
f none sendmail/lang/zh_TW.Big5 0600 root bin
f none sendmail/lang/zh_CN 0600 root bin
f none sendmail/lang/en 0600 root bin
f none sendmail/lang/pt 0600 root bin
f none sendmail/lang/es 0600 root bin
f none sendmail/lang/fr 0600 root bin
f none sendmail/lang/de 0600 root bin
f none sendmail/lang/sv 0600 root bin
f none sendmail/lang/ru_SU 0600 root bin
f none sendmail/lang/tr 0600 root bin
f none sendmail/lang/pl 0600 root bin
f none sendmail/lang/ru_RU 0600 root bin
f none sendmail/lang/ja_JP.euc 0600 root bin
f none sendmail/lang/ko_KR.euc 0600 root bin
f none sendmail/lang/ja_JP.jis 0600 root bin
f none sendmail/lang/ca 0600 root bin
f none sendmail/lang/cz 0600 root bin
f none sendmail/edit_generic.cgi 0700 root bin
f none sendmail/save_trusts.cgi 0700 root bin
f none sendmail/edit_file.cgi 0700 root bin
f none sendmail/domain-lib.pl 0600 root bin
f none sendmail/edit_afile.cgi 0700 root bin
f none sendmail/save_relay.cgi 0700 root bin
f none sendmail/config-openserver 0600 root bin
f none sendmail/list_masq.cgi 0700 root bin
f none sendmail/boxes-lib.pl 0600 root bin
f none sendmail/flushq.cgi 0700 root bin
f none sendmail/index.cgi 0700 root bin
f none sendmail/config-cobalt-linux 0600 root bin
f none sendmail/save_opts.cgi 0700 root bin
f none sendmail/config-unixware 0600 root bin
f none sendmail/config.info.fr 0600 root bin
f none sendmail/edit_rfile.cgi 0700 root bin
f none sendmail/list_boxes.cgi 0700 root bin
f none sendmail/config-freebsd-5.0 0600 root bin
f none sendmail/view_mail.cgi 0700 root bin
f none sendmail/generics-lib.pl 0600 root bin
f none sendmail/config-debian-linux-2.1 0600 root bin
f none sendmail/config-debian-linux-2.2 0600 root bin
f none sendmail/list_domains.cgi 0700 root bin
f none sendmail/del_mailq.cgi 0700 root bin
f none sendmail/detach.cgi 0700 root bin
f none sendmail/config.info.ru_SU 0600 root bin
f none sendmail/list_generics.cgi 0700 root bin
f none sendmail/save_generic.cgi 0700 root bin
f none sendmail/view_mailq.cgi 0700 root bin
f none sendmail/config.info.zh_CN 0600 root bin
f none sendmail/config-open-linux 0600 root bin
f none sendmail/list_virtusers.cgi 0700 root bin
f none sendmail/save_virtuser.cgi 0700 root bin
f none sendmail/defaultacl 0600 root bin
f none sendmail/config-corel-linux 0600 root bin
d none sendmail/images 0700 root bin
f none sendmail/images/relay.gif 0600 root bin
f none sendmail/images/cgs.gif 0600 root bin
f none sendmail/images/boxes.gif 0600 root bin
f none sendmail/images/aliases.gif 0600 root bin
f none sendmail/images/opts.gif 0600 root bin
f none sendmail/images/icon.gif 0600 root bin
f none sendmail/images/domains.gif 0600 root bin
f none sendmail/images/cws.gif 0600 root bin
f none sendmail/images/mailers.gif 0600 root bin
f none sendmail/images/generics.gif 0600 root bin
f none sendmail/images/masq.gif 0600 root bin
f none sendmail/images/access.gif 0600 root bin
f none sendmail/images/mailq.gif 0600 root bin
f none sendmail/images/attach.gif 0600 root bin
f none sendmail/images/trusts.gif 0600 root bin
f none sendmail/images/virtusers.gif 0600 root bin
f none sendmail/images/p2.gif 0600 root bin
f none sendmail/images/p1.gif 0600 root bin
f none sendmail/images/read.gif 0600 root bin
f none sendmail/images/special.gif 0600 root bin
f none sendmail/images/features.gif 0600 root bin
f none sendmail/images/up.gif 0600 root bin
f none sendmail/images/down.gif 0600 root bin
f none sendmail/images/gap.gif 0600 root bin
f none sendmail/config-irix 0600 root bin
f none sendmail/list_mail.cgi 0700 root bin
f none sendmail/edit_mailer.cgi 0700 root bin
f none sendmail/config-solaris 0600 root bin
f none sendmail/config-suse-linux 0600 root bin
f none sendmail/list_opts.cgi 0700 root bin
f none sendmail/config-debian-linux 0600 root bin
f none sendmail/config-solaris-7 0600 root bin
f none sendmail/config-solaris-8 0600 root bin
f none sendmail/config.info.de 0600 root bin
f none sendmail/config.info.sv 0600 root bin
f none sendmail/save_mailer.cgi 0700 root bin
f none sendmail/list_mailers.cgi 0700 root bin
d none sendmail/help 0700 root bin
f none sendmail/help/aliases.ru_SU.html 0600 root bin
f none sendmail/help/intro.sv.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.zh_TW.Big5.html 0600 root bin
f none sendmail/help/alias_to.ru_SU.html 0600 root bin
f none sendmail/help/alias_name.html 0600 root bin
f none sendmail/help/opt_ForwardPath.sv.html 0600 root bin
f none sendmail/help/opt_LogLevel.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.sv.html 0600 root bin
f none sendmail/help/alias_to.es.html 0600 root bin
f none sendmail/help/units.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.ru_SU.html 0600 root bin
f none sendmail/help/alias_enabled.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.html 0600 root bin
f none sendmail/help/units.es.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.ru_SU.html 0600 root bin
f none sendmail/help/intro.html 0600 root bin
f none sendmail/help/alias_name.sv.html 0600 root bin
f none sendmail/help/aliases.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.sv.html 0600 root bin
f none sendmail/help/opt_QueueLA.html 0600 root bin
f none sendmail/help/edit_alias.sv.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.es.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.sv.html 0600 root bin
f none sendmail/help/edit_alias.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.ru_SU.html 0600 root bin
f none sendmail/help/alias_to.fr.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.es.html 0600 root bin
f none sendmail/help/opt_ForwardPath.html 0600 root bin
f none sendmail/help/opt_DH.sv.html 0600 root bin
f none sendmail/help/aliases.sv.html 0600 root bin
f none sendmail/help/units.fr.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.sv.html 0600 root bin
f none sendmail/help/alias_to.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.sv.html 0600 root bin
f none sendmail/help/opt_DR.sv.html 0600 root bin
f none sendmail/help/opt_RefuseLA.sv.html 0600 root bin
f none sendmail/help/opt_DS.sv.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.html 0600 root bin
f none sendmail/help/units.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.sv.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.ru_SU.html 0600 root bin
f none sendmail/help/opt_DR.ru_SU.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.es.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.fr.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.sv.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.fr.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.ru_SU.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.ru_SU.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.fr.html 0600 root bin
f none sendmail/help/opt_LogLevel.ru_SU.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.zh_TW.Big5.html 0600 root bin
f none sendmail/help/alias_enabled.ru_SU.html 0600 root bin
f none sendmail/help/opt_LogLevel.es.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.ru_SU.html 0600 root bin
f none sendmail/help/alias_enabled.es.html 0600 root bin
f none sendmail/help/opt_DH.ru_SU.html 0600 root bin
f none sendmail/help/opt_DS.html 0600 root bin
f none sendmail/help/opt_QueueLA.ru_SU.html 0600 root bin
f none sendmail/help/alias_to.sv.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.es.html 0600 root bin
f none sendmail/help/intro.ru_SU.html 0600 root bin
f none sendmail/help/opt_RefuseLA.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.ru_SU.html 0600 root bin
f none sendmail/help/units.sv.html 0600 root bin
f none sendmail/help/opt_QueueLA.es.html 0600 root bin
f none sendmail/help/opt_ForwardPath.ru_SU.html 0600 root bin
f none sendmail/help/opt_LogLevel.fr.html 0600 root bin
f none sendmail/help/intro.es.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.html 0600 root bin
f none sendmail/help/alias_enabled.fr.html 0600 root bin
f none sendmail/help/opt_ForwardPath.es.html 0600 root bin
f none sendmail/help/opt_LogLevel.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_DH.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.es.html 0600 root bin
f none sendmail/help/alias_enabled.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.sv.html 0600 root bin
f none sendmail/help/opt_DS.ru_SU.html 0600 root bin
f none sendmail/help/opt_RefuseLA.ru_SU.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.fr.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.ru_SU.html 0600 root bin
f none sendmail/help/opt_QueueLA.fr.html 0600 root bin
f none sendmail/help/alias_to.html 0600 root bin
f none sendmail/help/units.ru_SU.html 0600 root bin
f none sendmail/help/alias_name.es.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.zh_TW.Big5.html 0600 root bin
f none sendmail/help/intro.fr.html 0600 root bin
f none sendmail/help/opt_DR.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.es.html 0600 root bin
f none sendmail/help/opt_QueueLA.zh_TW.Big5.html 0600 root bin
f none sendmail/help/edit_alias.es.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.sv.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.html 0600 root bin
f none sendmail/help/opt_ForwardPath.fr.html 0600 root bin
f none sendmail/help/intro.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.es.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.fr.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.ru_SU.html 0600 root bin
f none sendmail/help/opt_ForwardPath.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.html 0600 root bin
f none sendmail/help/opt_DH.es.html 0600 root bin
f none sendmail/help/aliases.es.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.ru_SU.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.es.html 0600 root bin
f none sendmail/help/edit_alias.ru_SU.html 0600 root bin
f none sendmail/help/opt_DR.es.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.es.html 0600 root bin
f none sendmail/help/opt_DS.es.html 0600 root bin
f none sendmail/help/opt_RefuseLA.es.html 0600 root bin
f none sendmail/help/alias_name.fr.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.fr.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.es.html 0600 root bin
f none sendmail/help/edit_alias.fr.html 0600 root bin
f none sendmail/help/alias_name.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.es.html 0600 root bin
f none sendmail/help/opt_LogLevel.sv.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.fr.html 0600 root bin
f none sendmail/help/edit_alias.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_DH.fr.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.zh_TW.Big5.html 0600 root bin
f none sendmail/help/alias_name.ru_SU.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.html 0600 root bin
f none sendmail/help/aliases.fr.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.fr.html 0600 root bin
f none sendmail/help/alias_enabled.sv.html 0600 root bin
f none sendmail/help/opt_DH.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.fr.html 0600 root bin
f none sendmail/help/opt_DR.fr.html 0600 root bin
f none sendmail/help/opt_RefuseLA.fr.html 0600 root bin
f none sendmail/help/opt_DS.fr.html 0600 root bin
f none sendmail/help/aliases.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.fr.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_DR.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.sv.html 0600 root bin
f none sendmail/help/opt_DS.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_RefuseLA.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_QueueLA.sv.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.fr.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.zh_TW.Big5.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.sv.html 0600 root bin
f none sendmail/help/units.pl.html 0600 root bin
f none sendmail/help/opt_dmode.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.pl.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.pl.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.pl.html 0600 root bin
f none sendmail/help/opt_LogLevel.pl.html 0600 root bin
f none sendmail/help/alias_enabled.pl.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.pl.html 0600 root bin
f none sendmail/help/opt_QueueLA.pl.html 0600 root bin
f none sendmail/help/intro.pl.html 0600 root bin
f none sendmail/help/opt_ForwardPath.pl.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.pl.html 0600 root bin
f none sendmail/help/alias_name.pl.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.pl.html 0600 root bin
f none sendmail/help/edit_alias.pl.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.pl.html 0600 root bin
f none sendmail/help/opt_DH.pl.html 0600 root bin
f none sendmail/help/aliases.pl.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.pl.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.pl.html 0600 root bin
f none sendmail/help/opt_DR.pl.html 0600 root bin
f none sendmail/help/opt_RefuseLA.pl.html 0600 root bin
f none sendmail/help/opt_DS.pl.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.pl.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.pl.html 0600 root bin
f none sendmail/help/alias_to.pl.html 0600 root bin
f none sendmail/help/opt_dmode.es.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.ru_RU.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.ru_RU.html 0600 root bin
f none sendmail/help/edit_alias.ru_RU.html 0600 root bin
f none sendmail/help/alias_name.ru_RU.html 0600 root bin
f none sendmail/help/aliases.ru_RU.html 0600 root bin
f none sendmail/help/alias_to.ru_RU.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.ru_RU.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.ru_RU.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.ru_RU.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.ru_RU.html 0600 root bin
f none sendmail/help/opt_DR.ru_RU.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.ru_RU.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.ru_RU.html 0600 root bin
f none sendmail/help/opt_LogLevel.ru_RU.html 0600 root bin
f none sendmail/help/alias_enabled.ru_RU.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.ru_RU.html 0600 root bin
f none sendmail/help/opt_DH.ru_RU.html 0600 root bin
f none sendmail/help/opt_QueueLA.ru_RU.html 0600 root bin
f none sendmail/help/intro.ru_RU.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.ru_RU.html 0600 root bin
f none sendmail/help/opt_ForwardPath.ru_RU.html 0600 root bin
f none sendmail/help/opt_RefuseLA.ru_RU.html 0600 root bin
f none sendmail/help/opt_DS.ru_RU.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.ru_RU.html 0600 root bin
f none sendmail/help/units.ru_RU.html 0600 root bin
f none sendmail/help/opt_dmode.pl.html 0600 root bin
f none sendmail/help/opt_MatchGECOS.pl.html 0600 root bin
f none sendmail/help/opt_MaxHopCount.html 0600 root bin
f none sendmail/help/opt_MatchGECOS.html 0600 root bin
f none sendmail/help/opt_MaxHopCount.pl.html 0600 root bin
f none sendmail/help/alias_enabled.ca.html 0600 root bin
f none sendmail/help/alias_name.ca.html 0600 root bin
f none sendmail/help/alias_to.ca.html 0600 root bin
f none sendmail/help/aliases.ca.html 0600 root bin
f none sendmail/help/edit_alias.ca.html 0600 root bin
f none sendmail/help/intro.ca.html 0600 root bin
f none sendmail/help/opt_DH.ca.html 0600 root bin
f none sendmail/help/opt_ConnectionRateThrottle.ca.html 0600 root bin
f none sendmail/help/opt_DR.ca.html 0600 root bin
f none sendmail/help/opt_DS.ca.html 0600 root bin
f none sendmail/help/opt_ForwardPath.ca.html 0600 root bin
f none sendmail/help/opt_LogLevel.ca.html 0600 root bin
f none sendmail/help/opt_MatchGECOS.ca.html 0600 root bin
f none sendmail/help/opt_MaxDaemonChildren.ca.html 0600 root bin
f none sendmail/help/opt_MaxHopCount.ca.html 0600 root bin
f none sendmail/help/opt_MaxMessageSize.ca.html 0600 root bin
f none sendmail/help/opt_MaxQueueRunSize.ca.html 0600 root bin
f none sendmail/help/opt_MinFreeBlocks.ca.html 0600 root bin
f none sendmail/help/opt_MinQueueAge.ca.html 0600 root bin
f none sendmail/help/opt_PostMasterCopy.ca.html 0600 root bin
f none sendmail/help/opt_QueueDirectory.ca.html 0600 root bin
f none sendmail/help/opt_QueueLA.ca.html 0600 root bin
f none sendmail/help/opt_RefuseLA.ca.html 0600 root bin
f none sendmail/help/opt_SendMimeErrors.ca.html 0600 root bin
f none sendmail/help/opt_Timeout.queuereturn.ca.html 0600 root bin
f none sendmail/help/opt_Timeout.queuewarn.ca.html 0600 root bin
f none sendmail/help/opt_dmode.ca.html 0600 root bin
f none sendmail/help/units.ca.html 0600 root bin
f none sendmail/help/opt_DaemonPortOptions.ca.html 0600 root bin
f none sendmail/help/opt_DaemonPortOptions.html 0600 root bin
f none sendmail/save_cgs.cgi 0700 root bin
f none sendmail/save_file.cgi 0700 root bin
f none sendmail/defines 0600 root bin
f none sendmail/autoreply.pl 0700 root bin
f none sendmail/start.cgi 0700 root bin
f none sendmail/config.info 0600 root bin
f none sendmail/config-redhat-linux 0600 root bin
f none sendmail/mail_search.cgi 0700 root bin
f none sendmail/save_alias.cgi 0700 root bin
f none sendmail/list_cgs.cgi 0700 root bin
f none sendmail/list_relay.cgi 0700 root bin
f none sendmail/qdetach.cgi 0700 root bin
f none sendmail/sendmail-lib.pl 0600 root bin
f none sendmail/save_cws.cgi 0700 root bin
f none sendmail/config-freebsd-4.0 0600 root bin
f none sendmail/config-slackware-linux 0600 root bin
f none sendmail/edit_domain.cgi 0700 root bin
f none sendmail/list_aliases.cgi 0700 root bin
f none sendmail/config-open-linux-2.5 0600 root bin
f none sendmail/log_parser.pl 0600 root bin
f none sendmail/config-aix 0600 root bin
f none sendmail/config.info.tr 0600 root bin
f none sendmail/config.info.pl 0600 root bin
f none sendmail/config.info.ru_RU 0600 root bin
f none sendmail/config-macos-1.3 0600 root bin
f none sendmail/del_mailqs.cgi 0700 root bin
f none sendmail/config-open-linux-3.1e 0600 root bin
f none sendmail/config-mandrake-linux 0600 root bin
f none sendmail/config-netbsd 0600 root bin
f none sendmail/config-msc-linux 0600 root bin
f none sendmail/config-freebsd-4.1 0600 root bin
f none sendmail/config-freebsd-4.2 0600 root bin
f none sendmail/config-freebsd-4.3 0600 root bin
f none sendmail/config-freebsd-4.4 0600 root bin
f none sendmail/edit_ffile.cgi 0700 root bin
f none sendmail/filter.pl 0700 root bin
f none sendmail/save_ffile.cgi 0700 root bin
f none sendmail/config-osf1 0600 root bin
f none sendmail/config.info.ca 0600 root bin
f none sendmail/config.info.cz 0600 root bin
f none sendmail/config-solaris-9 0600 root bin
f none sendmail/config-macos-1.4 0600 root bin
f none sendmail/config-slackware-linux-8.0 0700 root bin
f none sendmail/move.cgi 0700 root bin
f none sendmail/feedback_files.pl 0600 root bin
f none sendmail/config-freebsd-4.5 0600 root bin
f none sendmail/config-debian-linux-3.0 0600 root bin
f none sendmail/config-generic-linux 0700 root bin
f none sendmail/config-redhat-linux-7.2 0600 root bin
f none sendmail/list_features.cgi 0700 root bin
f none sendmail/edit_feature.cgi 0700 root bin
f none sendmail/features-lib.pl 0600 root bin
f none sendmail/save_feature.cgi 0700 root bin
f none sendmail/build.cgi 0700 root bin
f none sendmail/config-redhat-linux-7.1 0600 root bin
f none sendmail/config-redhat-linux-7.3 0600 root bin
f none sendmail/manual_features.cgi 0700 root bin
f none sendmail/create_file.cgi 0700 root bin
f none sendmail/config-mandrake-linux-8.2 0600 root bin
f none sendmail/config-freebsd-4.6 0600 root bin
f none sendmail/config-slackware-linux-8.1 0700 root bin
d none squid 0700 root bin
f none squid/chown.cgi 0700 root bin
f none squid/edit_user.cgi 0700 root bin
f none squid/edit_mem.cgi 0700 root bin
f none squid/stop.cgi 0700 root bin
f none squid/config-hpux 0600 root bin
f none squid/config-turbo-linux 0600 root bin
f none squid/config-openbsd 0600 root bin
f none squid/icp_access.cgi 0700 root bin
f none squid/edit_admin.cgi 0700 root bin
f none squid/acl.cgi 0700 root bin
f none squid/squid-lib.pl 0600 root bin
f none squid/config-macos 0600 root bin
f none squid/config.info.es 0600 root bin
f none squid/edit_cache_host.cgi 0700 root bin
f none squid/save_progs.cgi 0700 root bin
f none squid/config-freebsd 0600 root bin
f none squid/config.info.zh_TW.Big5 0600 root bin
f none squid/save_cache_host.cgi 0700 root bin
f none squid/module.info 0600 root bin
f none squid/save_auth.cgi 0700 root bin
d none squid/lang 0700 root bin
f none squid/lang/es 0600 root bin
f none squid/lang/sv 0600 root bin
f none squid/lang/zh_TW.Big5 0600 root bin
f none squid/lang/de 0600 root bin
f none squid/lang/zh_CN 0600 root bin
f none squid/lang/en 0600 root bin
f none squid/lang/ru_SU 0600 root bin
f none squid/lang/tr 0600 root bin
f none squid/lang/pl 0600 root bin
f none squid/lang/ru_RU 0600 root bin
f none squid/lang/fr 0600 root bin
f none squid/lang/ja_JP.euc 0600 root bin
f none squid/lang/ko_KR.euc 0600 root bin
f none squid/lang/ja_JP.jis 0600 root bin
f none squid/lang/ca 0600 root bin
f none squid/lang/it 0600 root bin
f none squid/save_cache.cgi 0700 root bin
f none squid/save_logs.cgi 0700 root bin
f none squid/clear.cgi 0700 root bin
f none squid/config-openserver 0600 root bin
f none squid/save_mem.cgi 0700 root bin
f none squid/edit_progs.cgi 0700 root bin
f none squid/edit_misc.cgi 0700 root bin
f none squid/move_icp.cgi 0700 root bin
f none squid/config-cobalt-linux 0600 root bin
f none squid/config.info.fr 0600 root bin
f none squid/config-unixware 0600 root bin
f none squid/edit_acl.cgi 0700 root bin
f none squid/index.cgi 0700 root bin
f none squid/edit_cache.cgi 0700 root bin
f none squid/cachemgr.cgi 0700 root bin
f none squid/config-osf1 0600 root bin
f none squid/acl_save.cgi 0700 root bin
f none squid/http_access_save.cgi 0700 root bin
f none squid/edit_icp.cgi 0700 root bin
f none squid/config-lfs-linux 0600 root bin
f none squid/init_cache.cgi 0700 root bin
f none squid/config.info.ru_SU 0600 root bin
d none squid/images 0700 root bin
f none squid/images/icp.gif 0600 root bin
f none squid/images/mem.gif 0600 root bin
f none squid/images/up.gif 0600 root bin
f none squid/images/clear.gif 0600 root bin
f none squid/images/admin.gif 0600 root bin
f none squid/images/icon.gif 0600 root bin
f none squid/images/progs.gif 0600 root bin
f none squid/images/misc.gif 0600 root bin
f none squid/images/acl.gif 0600 root bin
f none squid/images/auth.gif 0600 root bin
f none squid/images/cache.gif 0600 root bin
f none squid/images/logs.gif 0600 root bin
f none squid/images/ports.gif 0600 root bin
f none squid/images/gap.gif 0600 root bin
f none squid/images/down.gif 0600 root bin
f none squid/images/cachemgr.gif 0600 root bin
f none squid/images/nauth.gif 0600 root bin
f none squid/images/calamaris.gif 0600 root bin
f none squid/images/sports.gif 0600 root bin
f none squid/images/smem.gif 0600 root bin
f none squid/save_user.cgi 0700 root bin
f none squid/config.info.zh_CN 0600 root bin
f none squid/config-open-linux 0600 root bin
f none squid/config-corel-linux 0600 root bin
f none squid/move_http.cgi 0700 root bin
f none squid/edit_auth.cgi 0700 root bin
f none squid/config-redhat-linux-6.0 0600 root bin
f none squid/config-redhat-linux-6.1 0600 root bin
f none squid/config-redhat-linux-6.2 0600 root bin
f none squid/edit_logs.cgi 0700 root bin
f none squid/icp_access_save.cgi 0700 root bin
f none squid/config-irix 0600 root bin
f none squid/config-solaris 0600 root bin
f none squid/config-suse-linux 0600 root bin
f none squid/config-debian-linux 0600 root bin
f none squid/config-aix 0600 root bin
f none squid/restart.cgi 0700 root bin
f none squid/config.info.de 0600 root bin
f none squid/config.info.sv 0600 root bin
f none squid/save_ports.cgi 0700 root bin
d none squid/help 0700 root bin
f none squid/help/edit_admin.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_ports.html 0600 root bin
f none squid/help/edit_progs.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_misc.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_icp.html 0600 root bin
f none squid/help/edit_acl.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_mem.html 0600 root bin
f none squid/help/edit_cache.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_logs.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_ports.zh_TW.Big5.html 0600 root bin
f none squid/help/intro.html 0600 root bin
f none squid/help/edit_admin.html 0600 root bin
f none squid/help/edit_progs.html 0600 root bin
f none squid/help/edit_icp.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_misc.html 0600 root bin
f none squid/help/edit_mem.zh_TW.Big5.html 0600 root bin
f none squid/help/edit_acl.html 0600 root bin
f none squid/help/edit_cache.html 0600 root bin
f none squid/help/edit_logs.html 0600 root bin
f none squid/help/intro.zh_TW.Big5.html 0600 root bin
f none squid/help/intro.sv.html 0600 root bin
f none squid/help/edit_admin.sv.html 0600 root bin
f none squid/help/edit_progs.sv.html 0600 root bin
f none squid/help/edit_misc.sv.html 0600 root bin
f none squid/help/edit_acl.sv.html 0600 root bin
f none squid/help/edit_cache.sv.html 0600 root bin
f none squid/help/edit_logs.sv.html 0600 root bin
f none squid/help/edit_ports.sv.html 0600 root bin
f none squid/help/edit_icp.sv.html 0600 root bin
f none squid/help/edit_mem.sv.html 0600 root bin
f none squid/help/edit_acl.pl.html 0600 root bin
f none squid/help/edit_cache.pl.html 0600 root bin
f none squid/help/edit_ports.pl.html 0600 root bin
f none squid/help/edit_icp.pl.html 0600 root bin
f none squid/help/edit_mem.pl.html 0600 root bin
f none squid/help/edit_admin.pl.html 0600 root bin
f none squid/help/edit_logs.pl.html 0600 root bin
f none squid/help/intro.pl.html 0600 root bin
f none squid/help/edit_progs.pl.html 0600 root bin
f none squid/help/edit_misc.pl.html 0600 root bin
f none squid/help/edit_logs.es.html 0600 root bin
f none squid/help/intro.es.html 0600 root bin
f none squid/help/edit_progs.es.html 0600 root bin
f none squid/help/edit_misc.es.html 0600 root bin
f none squid/help/edit_acl.es.html 0600 root bin
f none squid/help/edit_cache.es.html 0600 root bin
f none squid/help/edit_ports.es.html 0600 root bin
f none squid/help/edit_icp.es.html 0600 root bin
f none squid/help/edit_mem.es.html 0600 root bin
f none squid/help/edit_admin.es.html 0600 root bin
f none squid/help/edit_acl.ca.html 0600 root bin
f none squid/help/edit_admin.ca.html 0600 root bin
f none squid/help/edit_cache.ca.html 0600 root bin
f none squid/help/edit_icp.ca.html 0600 root bin
f none squid/help/edit_logs.ca.html 0600 root bin
f none squid/help/edit_mem.ca.html 0600 root bin
f none squid/help/edit_misc.ca.html 0600 root bin
f none squid/help/edit_ports.ca.html 0600 root bin
f none squid/help/edit_progs.ca.html 0600 root bin
f none squid/help/intro.ca.html 0600 root bin
f none squid/help/edit_acl.it.html 0600 root bin
f none squid/help/edit_admin.it.html 0600 root bin
f none squid/help/edit_cache.it.html 0600 root bin
f none squid/help/edit_icp.it.html 0600 root bin
f none squid/help/edit_logs.it.html 0600 root bin
f none squid/help/edit_mem.it.html 0600 root bin
f none squid/help/edit_misc.it.html 0600 root bin
f none squid/help/edit_ports.it.html 0600 root bin
f none squid/help/edit_progs.it.html 0600 root bin
f none squid/help/intro.it.html 0600 root bin
f none squid/save_icp.cgi 0700 root bin
f none squid/start.cgi 0700 root bin
f none squid/config.info 0600 root bin
f none squid/http_access.cgi 0700 root bin
f none squid/save_admin.cgi 0700 root bin
f none squid/config-redhat-linux 0600 root bin
f none squid/parser-lib.pl 0600 root bin
f none squid/save_misc.cgi 0700 root bin
f none squid/config-slackware-linux 0600 root bin
f none squid/edit_ports.cgi 0700 root bin
f none squid/acl_security.pl 0700 root bin
f none squid/defaultacl 0600 root bin
f none squid/log_parser.pl 0600 root bin
f none squid/edit_nauth.cgi 0700 root bin
f none squid/edit_nuser.cgi 0700 root bin
f none squid/save_nuser.cgi 0700 root bin
f none squid/config.info.tr 0600 root bin
f none squid/calamaris.cgi 0700 root bin
f none squid/config.info.pl 0600 root bin
f none squid/save_smem.cgi 0700 root bin
f none squid/medium.risk 0600 root bin
f none squid/config-redhat-linux-7.0 0600 root bin
f none squid/low.skill 0600 root bin
f none squid/edit_smem.cgi 0700 root bin
f none squid/edit_sports.cgi 0700 root bin
f none squid/save_sports.cgi 0700 root bin
f none squid/never_save.cgi 0700 root bin
f none squid/always_save.cgi 0700 root bin
f none squid/move_always.cgi 0700 root bin
f none squid/never.cgi 0700 root bin
f none squid/always.cgi 0700 root bin
f none squid/move_never.cgi 0700 root bin
f none squid/low.risk 0600 root bin
f none squid/medium.skill 0600 root bin
f none squid/config.info.ru_RU 0600 root bin
f none squid/config-open-linux-3.1e 0600 root bin
f none squid/config-redhat-linux-7.1 0600 root bin
f none squid/config-netbsd 0600 root bin
f none squid/config-mandrake-linux 0600 root bin
f none squid/config-msc-linux 0600 root bin
f none squid/config.info.ca 0600 root bin
f none squid/config-redhat-linux-7.2 0600 root bin
f none squid/config-generic-linux 0600 root bin
f none squid/config.info.it 0600 root bin
f none squid/useradmin_update.pl 0600 root bin
f none squid/config-mandrake-linux-8.0 0600 root bin
f none squid/config-mandrake-linux-8.1 0600 root bin
f none squid/config-mandrake-linux-8.2 0600 root bin
f none squid/config-redhat-linux-7.3 0600 root bin
f none squid/squid-auth.pl 0700 root bin
f none squid/config-gentoo-linux 0600 root bin
d none bsdexports 0700 root bin
f none bsdexports/module.info 0600 root bin
f none bsdexports/config.info.de 0600 root bin
f none bsdexports/config.info.sv 0600 root bin
f none bsdexports/edit_export.cgi 0700 root bin
f none bsdexports/notes 0600 root bin
f none bsdexports/config-openbsd 0600 root bin
f none bsdexports/config.info 0600 root bin
f none bsdexports/save_export.cgi 0700 root bin
f none bsdexports/delete_export.cgi 0700 root bin
d none bsdexports/images 0700 root bin
f none bsdexports/images/icon.gif 0600 root bin
f none bsdexports/config.info.fr 0600 root bin
f none bsdexports/config.info.es 0600 root bin
f none bsdexports/index.cgi 0700 root bin
f none bsdexports/restart_mountd.cgi 0700 root bin
f none bsdexports/bsdexports-lib.pl 0600 root bin
f none bsdexports/config-freebsd 0600 root bin
f none bsdexports/config.info.zh_TW.Big5 0600 root bin
f none bsdexports/config.info.tr 0600 root bin
f none bsdexports/config.info.pl 0600 root bin
f none bsdexports/config.info.zh_CN 0600 root bin
f none bsdexports/config-macos 0600 root bin
f none bsdexports/config-netbsd 0600 root bin
f none bsdexports/config.info.ca 0600 root bin
f none bsdexports/config.info.hu 0600 root bin
f none bsdexports/config-openserver 0600 root bin
d none hpuxexports 0700 root bin
f none hpuxexports/module.info 0600 root bin
f none hpuxexports/restart_exporting.cgi 0700 root bin
f none hpuxexports/config.info.de 0600 root bin
f none hpuxexports/config.info.sv 0600 root bin
f none hpuxexports/edit_export.cgi 0700 root bin
f none hpuxexports/config-hpux 0700 root bin
f none hpuxexports/hpuxexports-lib.pl 0600 root bin
d none hpuxexports/help 0700 root bin
f none hpuxexports/help/index.fr.html 0600 root bin
f none hpuxexports/help/async.html 0600 root bin
f none hpuxexports/help/squash_gids.fr.html 0600 root bin
f none hpuxexports/help/active.es.html 0600 root bin
f none hpuxexports/help/intro.sv.html 0600 root bin
f none hpuxexports/help/index.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/squash_gids.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/nfs.fr.html 0600 root bin
f none hpuxexports/help/user_access.html 0600 root bin
f none hpuxexports/help/edit_export.pl.html 0600 root bin
f none hpuxexports/help/intro.es.html 0600 root bin
f none hpuxexports/help/squash_uids.pl.html 0600 root bin
f none hpuxexports/help/desc.sv.html 0600 root bin
f none hpuxexports/help/nfs.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/active.html 0600 root bin
f none hpuxexports/help/edit_export.sv.html 0600 root bin
f none hpuxexports/help/desc.html 0600 root bin
f none hpuxexports/help/create_export.pl.html 0600 root bin
f none hpuxexports/help/dir.pl.html 0600 root bin
f none hpuxexports/help/squash_uids.sv.html 0600 root bin
f none hpuxexports/help/desc.es.html 0600 root bin
f none hpuxexports/help/edit_export.html 0600 root bin
f none hpuxexports/help/active.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/create_export.sv.html 0600 root bin
f none hpuxexports/help/intro.html 0600 root bin
f none hpuxexports/help/edit_export.es.html 0600 root bin
f none hpuxexports/help/squash_uids.es.html 0600 root bin
f none hpuxexports/help/intro.fr.html 0600 root bin
f none hpuxexports/help/root_access.html 0600 root bin
f none hpuxexports/help/dir.sv.html 0600 root bin
f none hpuxexports/help/create_export.es.html 0600 root bin
f none hpuxexports/help/intro.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/dir.html 0600 root bin
f none hpuxexports/help/anon.sv.html 0600 root bin
f none hpuxexports/help/dir.es.html 0600 root bin
f none hpuxexports/help/squash_gids.pl.html 0600 root bin
f none hpuxexports/help/desc.fr.html 0600 root bin
f none hpuxexports/help/edit_export.fr.html 0600 root bin
f none hpuxexports/help/desc.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/nfs.html 0600 root bin
f none hpuxexports/help/index.sv.html 0600 root bin
f none hpuxexports/help/squash_uids.fr.html 0600 root bin
f none hpuxexports/help/nfs.pl.html 0600 root bin
f none hpuxexports/help/squash_gids.sv.html 0600 root bin
f none hpuxexports/help/anon.es.html 0600 root bin
f none hpuxexports/help/edit_export.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/squash_uids.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/squash_gids.html 0600 root bin
f none hpuxexports/help/create_export.fr.html 0600 root bin
f none hpuxexports/help/index.es.html 0600 root bin
f none hpuxexports/help/nfs.sv.html 0600 root bin
f none hpuxexports/help/squash_gids.es.html 0600 root bin
f none hpuxexports/help/create_export.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/dir.fr.html 0600 root bin
f none hpuxexports/help/active.pl.html 0600 root bin
f none hpuxexports/help/squash_uids.html 0600 root bin
f none hpuxexports/help/anon.html 0600 root bin
f none hpuxexports/help/nfs.es.html 0600 root bin
f none hpuxexports/help/dir.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/anon.fr.html 0600 root bin
f none hpuxexports/help/active.sv.html 0600 root bin
f none hpuxexports/help/create_export.html 0600 root bin
f none hpuxexports/help/intro.pl.html 0600 root bin
f none hpuxexports/help/index.html 0600 root bin
f none hpuxexports/help/anon.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/help.html 0600 root bin
f none hpuxexports/help/help.sv.html 0600 root bin
f none hpuxexports/help/help.es.html 0600 root bin
f none hpuxexports/help/help.zh_TW.Big5.html 0600 root bin
f none hpuxexports/help/anon.pl.html 0600 root bin
f none hpuxexports/help/async.pl.html 0600 root bin
f none hpuxexports/help/desc.pl.html 0600 root bin
f none hpuxexports/help/index.pl.html 0600 root bin
f none hpuxexports/help/root_access.pl.html 0600 root bin
f none hpuxexports/help/user_access.pl.html 0600 root bin
f none hpuxexports/help/active.ca.html 0600 root bin
f none hpuxexports/help/anon.ca.html 0600 root bin
f none hpuxexports/help/async.ca.html 0600 root bin
f none hpuxexports/help/create_export.ca.html 0600 root bin
f none hpuxexports/help/desc.ca.html 0600 root bin
f none hpuxexports/help/dir.ca.html 0600 root bin
f none hpuxexports/help/edit_export.ca.html 0600 root bin
f none hpuxexports/help/help.ca.html 0600 root bin
f none hpuxexports/help/index.ca.html 0600 root bin
f none hpuxexports/help/intro.ca.html 0600 root bin
f none hpuxexports/help/nfs.ca.html 0600 root bin
f none hpuxexports/help/root_access.ca.html 0600 root bin
f none hpuxexports/help/squash_gids.ca.html 0600 root bin
f none hpuxexports/help/squash_uids.ca.html 0600 root bin
f none hpuxexports/help/user_access.ca.html 0600 root bin
f none hpuxexports/config.info.ru_SU 0600 root bin
f none hpuxexports/config.info 0600 root bin
f none hpuxexports/save_export.cgi 0700 root bin
f none hpuxexports/delete_export.cgi 0700 root bin
d none hpuxexports/images 0700 root bin
f none hpuxexports/images/icon.gif 0600 root bin
f none hpuxexports/images/export.gif 0600 root bin
f none hpuxexports/config.info.fr 0600 root bin
f none hpuxexports/config.info.es 0600 root bin
f none hpuxexports/index.cgi 0700 root bin
f none hpuxexports/config.info.zh_TW.Big5 0600 root bin
f none hpuxexports/config.info.tr 0600 root bin
f none hpuxexports/config.info.pl 0600 root bin
f none hpuxexports/config.info.ru_RU 0600 root bin
f none hpuxexports/config.info.zh_CN 0600 root bin
d none hpuxexports/lang 0700 root bin
f none hpuxexports/lang/zh_TW.Big5 0600 root bin
f none hpuxexports/lang/zh_CN 0600 root bin
f none hpuxexports/lang/en 0600 root bin
f none hpuxexports/lang/pt 0600 root bin
f none hpuxexports/lang/tr 0600 root bin
f none hpuxexports/lang/es 0600 root bin
f none hpuxexports/lang/fr 0600 root bin
f none hpuxexports/lang/de 0600 root bin
f none hpuxexports/lang/sv 0600 root bin
f none hpuxexports/lang/pl 0600 root bin
f none hpuxexports/lang/ru_SU 0600 root bin
f none hpuxexports/lang/ru_RU 0600 root bin
f none hpuxexports/lang/ca 0600 root bin
f none hpuxexports/exports-lib.pl 0600 root bin
f none hpuxexports/medium.risk 0600 root bin
f none hpuxexports/medium.skill 0600 root bin
f none hpuxexports/hpux-lib.pl 0600 root bin
f none hpuxexports/log_parser.pl 0600 root bin
f none hpuxexports/low.risk 0600 root bin
f none hpuxexports/restart_mountd.cgi 0700 root bin
f none hpuxexports/low.skill 0600 root bin
f none hpuxexports/config.info.ca 0600 root bin
d none file 0700 root bin
f none file/LinedPanel.class 0600 root bin
f none file/StaticTextField.java 0600 root bin
f none file/show.cgi 0700 root bin
f none file/GrayPanel.class 0600 root bin
f none file/LineInputStream.class 0600 root bin
f none file/MultiColumn.java 0600 root bin
f none file/CbImageChooser.java 0600 root bin
f none file/TabbedDisplayPanel.class 0600 root bin
f none file/makelink.cgi 0700 root bin
f none file/file-lib.pl 0600 root bin
f none file/MultiLabel.class 0600 root bin
f none file/save.cgi 0700 root bin
f none file/acl_security.pl 0600 root bin
f none file/CbButton.java 0600 root bin
f none file/GrayPanel.java 0600 root bin
f none file/mkdir.cgi 0700 root bin
f none file/CbSlider.java 0600 root bin
f none file/rename.cgi 0700 root bin
f none file/CbScrollbar.java 0600 root bin
f none file/list.cgi 0700 root bin
f none file/Makefile 0600 root bin
f none file/CbColorWindowCube.class 0600 root bin
f none file/module.info 0600 root bin
d none file/lang 0700 root bin
f none file/lang/zh_TW.Big5 0600 root bin
f none file/lang/zh_CN 0600 root bin
f none file/lang/en 0600 root bin
f none file/lang/pt 0600 root bin
f none file/lang/es 0600 root bin
f none file/lang/fr 0600 root bin
f none file/lang/de 0600 root bin
f none file/lang/sv 0600 root bin
f none file/lang/it 0600 root bin
f none file/lang/ru_SU 0600 root bin
f none file/lang/tr 0600 root bin
f none file/lang/pl 0600 root bin
f none file/lang/ru_RU 0600 root bin
f none file/lang/ja_JP.euc 0600 root bin
f none file/lang/ko_KR.euc 0600 root bin
f none file/lang/ca 0600 root bin
f none file/TabbedPanel.java 0600 root bin
f none file/OverwriteWindow.class 0600 root bin
f none file/CbImageFileWindow.class 0600 root bin
f none file/LinkWindow.class 0600 root bin
f none file/FileNode.class 0600 root bin
f none file/CbColorWindow.java 0600 root bin
f none file/CbSlider.class 0600 root bin
f none file/DeleteWindow.class 0600 root bin
f none file/PermissionsPanel.class 0600 root bin
f none file/StaticTextField.class 0600 root bin
f none file/ScrollImage.class 0600 root bin
f none file/index.cgi 0700 root bin
f none file/CbSliderCallback.class 0600 root bin
f none file/upform.cgi 0700 root bin
d none file/images 0700 root bin
f none file/images/paste.gif 0600 root bin
f none file/images/dir.gif 0600 root bin
f none file/images/file.gif 0600 root bin
f none file/images/image.gif 0600 root bin
f none file/images/upload.gif 0600 root bin
f none file/images/binary.gif 0600 root bin
f none file/images/text.gif 0600 root bin
f none file/images/cancel.gif 0600 root bin
f none file/images/edit.gif 0600 root bin
f none file/images/symlink.gif 0600 root bin
f none file/images/icon.gif 0600 root bin
f none file/images/new.gif 0600 root bin
f none file/images/makelink.gif 0600 root bin
f none file/images/cut.gif 0600 root bin
f none file/images/pipe.gif 0600 root bin
f none file/images/save.gif 0600 root bin
f none file/images/refresh.gif 0600 root bin
f none file/images/unknown.gif 0600 root bin
f none file/images/device.gif 0600 root bin
f none file/images/open.gif 0600 root bin
f none file/images/props.gif 0600 root bin
f none file/images/run.gif 0600 root bin
f none file/images/mkdir.gif 0600 root bin
f none file/images/rename.gif 0600 root bin
f none file/images/view.gif 0600 root bin
f none file/images/copy.gif 0600 root bin
f none file/images/sdir.gif 0600 root bin
f none file/images/share.gif 0600 root bin
f none file/images/search.gif 0600 root bin
f none file/images/acl.gif 0600 root bin
f none file/images/add.gif 0600 root bin
f none file/images/attr.gif 0600 root bin
f none file/images/sub.gif 0600 root bin
f none file/images/ext.gif 0600 root bin
f none file/images/down.gif 0600 root bin
f none file/images/ret.gif 0600 root bin
f none file/MultiColumn.class 0600 root bin
f none file/FileManager.class 0600 root bin
f none file/Util.class 0600 root bin
f none file/CbColorWindow.class 0600 root bin
f none file/CbButton.class 0600 root bin
f none file/upload.cgi 0700 root bin
f none file/ErrorWindow.class 0600 root bin
f none file/MultiColumnCallback.class 0600 root bin
f none file/CbColorWindowSwatch.class 0600 root bin
f none file/FileManager.java 0600 root bin
f none file/CbScrollbar.class 0600 root bin
f none file/CbColorWindowCallback.class 0600 root bin
f none file/CbColorButton.java 0600 root bin
f none file/CbButtonGroup.class 0600 root bin
f none file/CbButtonCallback.class 0600 root bin
f none file/BorderPanel.class 0600 root bin
f none file/MkdirWindow.class 0600 root bin
f none file/RenameWindow.class 0600 root bin
f none file/defaultacl 0600 root bin
f none file/move.cgi 0700 root bin
f none file/CbScrollbarArrow.class 0600 root bin
f none file/CbScrollbarCallback.class 0600 root bin
f none file/copy.cgi 0700 root bin
f none file/FixedFrame.class 0600 root bin
f none file/lang.cgi 0700 root bin
f none file/Hierarchy.class 0600 root bin
f none file/EditorWindow.class 0600 root bin
f none file/CbColorButton.class 0600 root bin
f none file/root.cgi 0700 root bin
f none file/HierarchyNode.class 0600 root bin
f none file/PropertiesWindow.class 0600 root bin
f none file/FixedFrame.java 0600 root bin
f none file/MyFlowLayout.java 0600 root bin
f none file/chmod.cgi 0700 root bin
f none file/LinedPanel.java 0600 root bin
f none file/Util.java 0600 root bin
f none file/Hierarchy.java 0600 root bin
f none file/HierarchyCallback.class 0600 root bin
f none file/RemoteFile.class 0600 root bin
f none file/ErrorWindow.java 0600 root bin
f none file/LineInputStream.java 0700 root bin
f none file/delete.cgi 0700 root bin
f none file/TabbedPanel.class 0600 root bin
f none file/TabSelector.class 0600 root bin
f none file/BorderPanel.java 0700 root bin
f none file/CbImageChooser.class 0600 root bin
f none file/save_export.cgi 0700 root bin
f none file/list_exports.cgi 0700 root bin
f none file/SambaShare.class 0600 root bin
f none file/save_share.cgi 0700 root bin
f none file/StringJoiner.class 0600 root bin
f none file/list_shares.cgi 0700 root bin
f none file/DFSAdminExport.class 0600 root bin
f none file/StringSplitter.class 0600 root bin
f none file/LinuxExport.class 0600 root bin
f none file/SharingWindow.class 0600 root bin
f none file/StringSplitter.java 0600 root bin
f none file/log_parser.pl 0600 root bin
f none file/SearchWindow.class 0600 root bin
f none file/search.cgi 0700 root bin
f none file/ResizePanel.class 0600 root bin
f none file/ThirdsLayout.class 0600 root bin
f none file/ResizePanel.java 0600 root bin
f none file/config-cobalt-linux 0600 root bin
f none file/config-solaris 0600 root bin
f none file/filesystems.cgi 0700 root bin
f none file/config-redhat-linux 0600 root bin
f none file/config-corel-linux 0600 root bin
f none file/config-debian-linux 0600 root bin
f none file/config-mandrake-linux 0600 root bin
f none file/config-msc-linux 0600 root bin
f none file/config-open-linux 0600 root bin
f none file/config-slackware-linux 0600 root bin
f none file/config-suse-linux 0600 root bin
f none file/getfacl.cgi 0700 root bin
f none file/config-turbo-linux 0600 root bin
f none file/FileSystem.class 0600 root bin
f none file/ACLEntry.class 0600 root bin
f none file/setfacl.cgi 0700 root bin
f none file/ACLEditor.class 0600 root bin
f none file/ACLWindow.class 0600 root bin
f none file/config-generic-linux 0600 root bin
f none file/config-irix 0600 root bin
f none file/setattrs.cgi 0700 root bin
f none file/getattrs.cgi 0700 root bin
f none file/FileAttribute.class 0600 root bin
f none file/AttributeEditor.class 0600 root bin
f none file/AttributesWindow.class 0600 root bin
f none file/EXTWindow.class 0600 root bin
f none file/getext.cgi 0700 root bin
f none file/setext.cgi 0700 root bin
d none net 0700 root bin
f none net/save_aifc.cgi 0700 root bin
f none net/config-lfs-linux 0600 root bin
f none net/suse-linux-lib.pl 0600 root bin
f none net/config.info.ru_SU 0600 root bin
f none net/config-turbo-linux 0600 root bin
f none net/config.info.zh_CN 0600 root bin
f none net/config-open-linux 0600 root bin
f none net/save_dns.cgi 0700 root bin
f none net/config.info.es 0600 root bin
d none net/images 0700 root bin
f none net/images/dns.gif 0600 root bin
f none net/images/ifcs.gif 0600 root bin
f none net/images/hosts.gif 0600 root bin
f none net/images/icon.gif 0600 root bin
f none net/images/routes.gif 0600 root bin
f none net/turbo-linux-lib.pl 0600 root bin
f none net/edit_bifc.cgi 0700 root bin
f none net/config-freebsd 0600 root bin
f none net/list_routes.cgi 0700 root bin
f none net/config.info.zh_TW.Big5 0600 root bin
f none net/module.info 0600 root bin
f none net/config-solaris 0600 root bin
f none net/config-suse-linux 0600 root bin
f none net/list_ifcs.cgi 0700 root bin
f none net/unixware-lib.pl 0600 root bin
d none net/lang 0700 root bin
f none net/lang/zh_TW.Big5 0600 root bin
f none net/lang/zh_CN 0600 root bin
f none net/lang/en 0600 root bin
f none net/lang/pt 0600 root bin
f none net/lang/es 0600 root bin
f none net/lang/fr 0600 root bin
f none net/lang/de 0600 root bin
f none net/lang/sv 0600 root bin
f none net/lang/ru_SU 0600 root bin
f none net/lang/tr 0600 root bin
f none net/lang/pl 0600 root bin
f none net/lang/ru_RU 0600 root bin
f none net/lang/cz 0600 root bin
f none net/lang/ja_JP.euc 0600 root bin
f none net/lang/ko_KR.euc 0600 root bin
f none net/lang/ca 0600 root bin
f none net/config-debian-linux 0600 root bin
f none net/save_bifc.cgi 0700 root bin
f none net/redhat-linux-lib.pl 0600 root bin
f none net/edit_host.cgi 0700 root bin
f none net/config.info.de 0600 root bin
f none net/config.info.sv 0600 root bin
f none net/slackware-linux-lib.pl 0600 root bin
f none net/freebsd-lib.pl 0600 root bin
f none net/solaris-lib.pl 0600 root bin
f none net/list_hosts.cgi 0700 root bin
f none net/save_host.cgi 0700 root bin
f none net/debian-linux-lib.pl 0600 root bin
f none net/config.info 0600 root bin
f none net/save_routes.cgi 0700 root bin
f none net/net-lib.pl 0600 root bin
f none net/config.info.fr 0600 root bin
f none net/config-unixware 0600 root bin
f none net/config-redhat-linux 0600 root bin
f none net/index.cgi 0700 root bin
f none net/defaultacl 0600 root bin
f none net/edit_aifc.cgi 0700 root bin
f none net/open-linux-lib.pl 0600 root bin
f none net/config-openbsd 0600 root bin
f none net/openbsd-lib.pl 0600 root bin
f none net/log_parser.pl 0600 root bin
f none net/config.info.tr 0600 root bin
f none net/config.info.pl 0600 root bin
f none net/cobalt-linux-lib.pl 0600 root bin
f none net/config-cobalt-linux 0600 root bin
f none net/config.info.ru_RU 0600 root bin
f none net/config-mandrake-linux 0600 root bin
f none net/config.info.ca 0600 root bin
f none net/mandrake-linux-lib.pl 0600 root bin
f none net/acl_security.pl 0600 root bin
f none net/list_dns.cgi 0700 root bin
f none net/config-msc-linux 0600 root bin
f none net/msc-linux-lib.pl 0600 root bin
f none net/netbsd-lib.pl 0600 root bin
f none net/config-netbsd 0600 root bin
f none net/config.info.ja_JP.euc 0600 root bin
f none net/feedback_files.pl 0600 root bin
f none net/suse-linux-8.0-lib.pl 0600 root bin
d none dhcpd 0700 root bin
f none dhcpd/config.info.ru_SU 0600 root bin
f none dhcpd/config-turbo-linux 0600 root bin
f none dhcpd/config-openbsd 0600 root bin
f none dhcpd/config.info.zh_CN 0600 root bin
f none dhcpd/dhcpd-lib.pl 0700 root bin
f none dhcpd/config-open-linux 0600 root bin
f none dhcpd/edit_options.cgi 0700 root bin
f none dhcpd/params-lib.pl 0600 root bin
f none dhcpd/config-corel-linux 0600 root bin
f none dhcpd/config.info.es 0600 root bin
d none dhcpd/images 0700 root bin
f none dhcpd/images/group.gif 0600 root bin
f none dhcpd/images/host.gif 0600 root bin
f none dhcpd/images/shared.gif 0600 root bin
f none dhcpd/images/icon.gif 0600 root bin
f none dhcpd/images/subnet.gif 0600 root bin
f none dhcpd/images/pool.gif 0600 root bin
f none dhcpd/images/ctree0.gif 0600 root bin
f none dhcpd/images/ctree1.gif 0600 root bin
f none dhcpd/images/ctree2.gif 0600 root bin
f none dhcpd/images/ctree3.gif 0600 root bin
f none dhcpd/edit_subnet.cgi 0700 root bin
f none dhcpd/config-redhat-linux-6.0 0600 root bin
f none dhcpd/config-redhat-linux-6.1 0600 root bin
f none dhcpd/config-redhat-linux-6.2 0600 root bin
f none dhcpd/config-slackware-linux-4.0 0600 root bin
f none dhcpd/save_group.cgi 0700 root bin
f none dhcpd/edit_shared.cgi 0700 root bin
f none dhcpd/config-freebsd 0600 root bin
f none dhcpd/config.info.zh_TW.Big5 0600 root bin
f none dhcpd/module.info 0600 root bin
f none dhcpd/save_subnet.cgi 0700 root bin
f none dhcpd/config-solaris 0600 root bin
f none dhcpd/config-suse-linux 0600 root bin
d none dhcpd/lang 0700 root bin
f none dhcpd/lang/zh_TW.Big5 0600 root bin
f none dhcpd/lang/zh_CN 0600 root bin
f none dhcpd/lang/en 0600 root bin
f none dhcpd/lang/pt 0600 root bin
f none dhcpd/lang/fr 0600 root bin
f none dhcpd/lang/es 0600 root bin
f none dhcpd/lang/sv 0600 root bin
f none dhcpd/lang/de 0600 root bin
f none dhcpd/lang/ru_SU 0600 root bin
f none dhcpd/lang/tr 0600 root bin
f none dhcpd/lang/pl 0600 root bin
f none dhcpd/lang/ru_RU 0600 root bin
f none dhcpd/lang/ja_JP.euc 0600 root bin
f none dhcpd/lang/ko_KR.euc 0600 root bin
f none dhcpd/lang/ja_JP.jis 0600 root bin
f none dhcpd/lang/ca 0600 root bin
f none dhcpd/lang/nl 0600 root bin
f none dhcpd/config-debian-linux 0600 root bin
f none dhcpd/edit_host.cgi 0700 root bin
f none dhcpd/save_shared.cgi 0700 root bin
f none dhcpd/restart.cgi 0700 root bin
f none dhcpd/config.info.de 0600 root bin
f none dhcpd/config.info.sv 0600 root bin
f none dhcpd/config-openserver 0600 root bin
f none dhcpd/save_host.cgi 0700 root bin
f none dhcpd/start.cgi 0700 root bin
f none dhcpd/config.info 0600 root bin
f none dhcpd/edit_group.cgi 0700 root bin
f none dhcpd/config-cobalt-linux 0600 root bin
f none dhcpd/config.info.fr 0600 root bin
f none dhcpd/config-unixware 0600 root bin
f none dhcpd/index.cgi 0700 root bin
f none dhcpd/config-redhat-linux 0600 root bin
f none dhcpd/list_leases.cgi 0700 root bin
f none dhcpd/save_options.cgi 0700 root bin
f none dhcpd/config-osf1 0600 root bin
f none dhcpd/config-slackware-linux 0600 root bin
f none dhcpd/config-irix 0600 root bin
f none dhcpd/log_parser.pl 0600 root bin
f none dhcpd/config.info.tr 0600 root bin
f none dhcpd/config.info.pl 0600 root bin
f none dhcpd/delete_lease.cgi 0700 root bin
f none dhcpd/config-redhat-linux-7.0 0600 root bin
f none dhcpd/edit_pool.cgi 0700 root bin
f none dhcpd/save_pool.cgi 0700 root bin
f none dhcpd/acl_security.pl 0600 root bin
f none dhcpd/defaultacl 0600 root bin
f none dhcpd/confirm_delete.cgi 0700 root bin
d none dhcpd/help 0700 root bin
f none dhcpd/help/acl_info.pl.html 0600 root bin
f none dhcpd/help/acl.html 0600 root bin
f none dhcpd/help/acl_info.html 0600 root bin
f none dhcpd/help/acl.ca.html 0600 root bin
f none dhcpd/help/acl_info.ca.html 0600 root bin
f none dhcpd/help/acl_info.nl.html 0600 root bin
f none dhcpd/config.info.ru_RU 0600 root bin
f none dhcpd/delete_all.cgi 0700 root bin
f none dhcpd/config-open-linux-3.1e 0600 root bin
f none dhcpd/config-redhat-linux-7.1 0600 root bin
f none dhcpd/config-suse-linux-7.1 0600 root bin
f none dhcpd/config-mandrake-linux 0600 root bin
f none dhcpd/config-suse-linux-7.2 0600 root bin
f none dhcpd/config-netbsd 0600 root bin
f none dhcpd/config-msc-linux 0600 root bin
f none dhcpd/config.info.ca 0600 root bin
f none dhcpd/config-suse-linux-7.3 0600 root bin
f none dhcpd/config-redhat-linux-7.2 0600 root bin
f none dhcpd/config-slackware-linux-7.1 0600 root bin
f none dhcpd/config.info.nl 0600 root bin
f none dhcpd/config-generic-linux 0600 root bin
f none dhcpd/config-redhat-linux-7.3 0600 root bin
f none dhcpd/config-suse-linux-8.0 0600 root bin
f none dhcpd/config-slackware-linux-8.0 0600 root bin
f none dhcpd/config-slackware-linux-8.1 0600 root bin
f none dhcpd/config-gentoo-linux 0600 root bin
d none majordomo 0700 root bin
f none majordomo/save_head.cgi 0700 root bin
f none majordomo/config-suse-linux-6.1 0600 root bin
f none majordomo/config-debian-linux-2.2 0600 root bin
f none majordomo/config-suse-linux-6.2 0600 root bin
f none majordomo/config-suse-linux-6.3 0600 root bin
f none majordomo/config-suse-linux-6.4 0600 root bin
f none majordomo/edit_digest.cgi 0700 root bin
f none majordomo/create_form.cgi 0700 root bin
f none majordomo/config.info.ru_SU 0600 root bin
f none majordomo/save_digest.cgi 0700 root bin
f none majordomo/delete_list.cgi 0700 root bin
f none majordomo/config.info.zh_CN 0600 root bin
f none majordomo/acl_security.pl 0600 root bin
f none majordomo/config-open-linux 0600 root bin
f none majordomo/edit_info.cgi 0700 root bin
f none majordomo/create_digest.cgi 0700 root bin
f none majordomo/digest_form.cgi 0700 root bin
f none majordomo/defaultacl 0600 root bin
f none majordomo/useradmin_update.pl 0600 root bin
f none majordomo/config.info.es 0600 root bin
f none majordomo/majordomo-lib.pl 0600 root bin
d none majordomo/images 0700 root bin
f none majordomo/images/mesg.gif 0600 root bin
f none majordomo/images/misc.gif 0600 root bin
f none majordomo/images/info.gif 0600 root bin
f none majordomo/images/list.gif 0600 root bin
f none majordomo/images/subs.gif 0600 root bin
f none majordomo/images/mod.gif 0600 root bin
f none majordomo/images/digest.gif 0600 root bin
f none majordomo/images/head.gif 0600 root bin
f none majordomo/images/access.gif 0600 root bin
f none majordomo/images/dig.gif 0600 root bin
f none majordomo/images/icon.gif 0600 root bin
f none majordomo/images/members.gif 0600 root bin
f none majordomo/edit_global.cgi 0700 root bin
f none majordomo/edit_access.cgi 0700 root bin
f none majordomo/save_members.cgi 0700 root bin
f none majordomo/save_info.cgi 0700 root bin
f none majordomo/alias_setup.cgi 0700 root bin
f none majordomo/config.info.zh_TW.Big5 0600 root bin
f none majordomo/module.info 0600 root bin
f none majordomo/save_global.cgi 0700 root bin
f none majordomo/save_access.cgi 0700 root bin
f none majordomo/edit_list.cgi 0700 root bin
f none majordomo/edit_subs.cgi 0700 root bin
f none majordomo/config.info.de 0600 root bin
f none majordomo/config.info.sv 0600 root bin
f none majordomo/save_auto.cgi 0700 root bin
f none majordomo/save_subs.cgi 0700 root bin
f none majordomo/create_list.cgi 0700 root bin
f none majordomo/config.info 0600 root bin
f none majordomo/config 0600 root bin
f none majordomo/edit_members.cgi 0700 root bin
f none majordomo/edit_misc.cgi 0700 root bin
f none majordomo/edit_mesg.cgi 0700 root bin
f none majordomo/config.info.fr 0600 root bin
f none majordomo/edit_head.cgi 0700 root bin
f none majordomo/index.cgi 0700 root bin
f none majordomo/save_misc.cgi 0700 root bin
f none majordomo/save_mesg.cgi 0700 root bin
f none majordomo/config-aix 0600 root bin
d none majordomo/lang 0700 root bin
f none majordomo/lang/en 0600 root bin
f none majordomo/lang/tr 0600 root bin
f none majordomo/lang/sv 0600 root bin
f none majordomo/lang/es 0600 root bin
f none majordomo/lang/zh_CN 0600 root bin
f none majordomo/lang/ja_JP.euc 0600 root bin
f none majordomo/lang/ko_KR.euc 0600 root bin
f none majordomo/lang/ja_JP.jis 0600 root bin
f none majordomo/lang/de 0600 root bin
f none majordomo/lang/ca 0600 root bin
f none majordomo/log_parser.pl 0600 root bin
f none majordomo/config-suse-linux-7.0 0600 root bin
f none majordomo/config.info.tr 0600 root bin
f none majordomo/config.info.pl 0600 root bin
f none majordomo/config.info.ru_RU 0600 root bin
f none majordomo/config-suse-linux-7.1 0600 root bin
f none majordomo/config-open-linux-2.4 0600 root bin
f none majordomo/config-suse-linux-7.2 0600 root bin
f none majordomo/config-netbsd 0600 root bin
f none majordomo/config-msc-linux 0600 root bin
f none majordomo/config.info.ca 0600 root bin
f none majordomo/config-suse-linux-7.3 0600 root bin
f none majordomo/feedback_files.pl 0600 root bin
f none majordomo/config-debian-linux-3.0 0600 root bin
f none majordomo/config-suse-linux-8.0 0600 root bin
d none custom 0700 root bin
f none custom/module.info 0600 root bin
f none custom/acl_security.pl 0700 root bin
d none custom/lang 0700 root bin
f none custom/lang/zh_TW.Big5 0600 root bin
f none custom/lang/zh_CN 0600 root bin
f none custom/lang/en 0600 root bin
f none custom/lang/pt 0600 root bin
f none custom/lang/es 0600 root bin
f none custom/lang/fr 0600 root bin
f none custom/lang/de 0600 root bin
f none custom/lang/sv 0600 root bin
f none custom/lang/ru_SU 0600 root bin
f none custom/lang/hu 0600 root bin
f none custom/lang/tr 0600 root bin
f none custom/lang/ru_RU 0600 root bin
f none custom/lang/pl 0600 root bin
f none custom/lang/ja_JP.euc 0600 root bin
f none custom/lang/ko_KR.euc 0600 root bin
f none custom/lang/ca 0600 root bin
f none custom/lang/nl 0600 root bin
f none custom/save_cmd.cgi 0700 root bin
f none custom/defaultacl 0600 root bin
f none custom/run.cgi 0700 root bin
d none custom/images 0700 root bin
f none custom/images/icon.gif 0600 root bin
d none custom/help 0700 root bin
f none custom/help/edit.sv.html 0600 root bin
f none custom/help/command.html 0600 root bin
f none custom/help/raw.sv.html 0600 root bin
f none custom/help/intro.sv.html 0600 root bin
f none custom/help/create.zh_TW.Big5.html 0600 root bin
f none custom/help/run.zh_TW.Big5.html 0600 root bin
f none custom/help/user.fr.html 0600 root bin
f none custom/help/desc.fr.html 0600 root bin
f none custom/help/create.sv.html 0600 root bin
f none custom/help/run.sv.html 0600 root bin
f none custom/help/user.zh_TW.Big5.html 0600 root bin
f none custom/help/desc.zh_TW.Big5.html 0600 root bin
f none custom/help/cmd.html 0600 root bin
f none custom/help/run.html 0600 root bin
f none custom/help/user.sv.html 0600 root bin
f none custom/help/desc.sv.html 0600 root bin
f none custom/help/cmd.fr.html 0600 root bin
f none custom/help/desc.html 0600 root bin
f none custom/help/user.html 0600 root bin
f none custom/help/cmd.zh_TW.Big5.html 0600 root bin
f none custom/help/command.fr.html 0600 root bin
f none custom/help/edit.html 0600 root bin
f none custom/help/raw.html 0600 root bin
f none custom/help/cmd.sv.html 0600 root bin
f none custom/help/intro.html 0600 root bin
f none custom/help/edit.fr.html 0600 root bin
f none custom/help/command.zh_TW.Big5.html 0600 root bin
f none custom/help/raw.fr.html 0600 root bin
f none custom/help/intro.fr.html 0600 root bin
f none custom/help/create.html 0600 root bin
f none custom/help/edit.zh_TW.Big5.html 0600 root bin
f none custom/help/command.sv.html 0600 root bin
f none custom/help/raw.zh_TW.Big5.html 0600 root bin
f none custom/help/create.fr.html 0600 root bin
f none custom/help/run.fr.html 0600 root bin
f none custom/help/intro.zh_TW.Big5.html 0600 root bin
f none custom/help/desc.es.html 0600 root bin
f none custom/help/cmd.es.html 0600 root bin
f none custom/help/command.es.html 0600 root bin
f none custom/help/create.es.html 0600 root bin
f none custom/help/edit.es.html 0600 root bin
f none custom/help/intro.es.html 0600 root bin
f none custom/help/raw.es.html 0600 root bin
f none custom/help/run.es.html 0600 root bin
f none custom/help/user.es.html 0600 root bin
f none custom/help/fedit.html 0600 root bin
f none custom/help/fcreate.html 0600 root bin
f none custom/help/file.html 0600 root bin
f none custom/help/after.html 0600 root bin
f none custom/help/editor.html 0600 root bin
f none custom/help/fdesc.html 0600 root bin
f none custom/help/owner.html 0600 root bin
f none custom/help/before.html 0600 root bin
f none custom/help/perms.html 0600 root bin
f none custom/help/fintro.html 0600 root bin
f none custom/help/after.pl.html 0600 root bin
f none custom/help/before.pl.html 0600 root bin
f none custom/help/cmd.pl.html 0600 root bin
f none custom/help/command.pl.html 0600 root bin
f none custom/help/create.pl.html 0600 root bin
f none custom/help/desc.pl.html 0600 root bin
f none custom/help/edit.pl.html 0600 root bin
f none custom/help/editor.pl.html 0600 root bin
f none custom/help/fcreate.pl.html 0600 root bin
f none custom/help/fdesc.pl.html 0600 root bin
f none custom/help/fedit.pl.html 0600 root bin
f none custom/help/file.pl.html 0600 root bin
f none custom/help/fintro.pl.html 0600 root bin
f none custom/help/intro.pl.html 0600 root bin
f none custom/help/owner.pl.html 0600 root bin
f none custom/help/perms.pl.html 0600 root bin
f none custom/help/raw.pl.html 0600 root bin
f none custom/help/run.pl.html 0600 root bin
f none custom/help/user.pl.html 0600 root bin
f none custom/help/after.ca.html 0600 root bin
f none custom/help/before.ca.html 0600 root bin
f none custom/help/cmd.ca.html 0600 root bin
f none custom/help/command.ca.html 0600 root bin
f none custom/help/create.ca.html 0600 root bin
f none custom/help/desc.ca.html 0600 root bin
f none custom/help/edit.ca.html 0600 root bin
f none custom/help/editor.ca.html 0600 root bin
f none custom/help/fcreate.ca.html 0600 root bin
f none custom/help/fdesc.ca.html 0600 root bin
f none custom/help/fedit.ca.html 0600 root bin
f none custom/help/raw.ca.html 0600 root bin
f none custom/help/file.ca.html 0600 root bin
f none custom/help/fintro.ca.html 0600 root bin
f none custom/help/intro.ca.html 0600 root bin
f none custom/help/owner.ca.html 0600 root bin
f none custom/help/perms.ca.html 0600 root bin
f none custom/help/run.ca.html 0600 root bin
f none custom/help/user.ca.html 0600 root bin
f none custom/help/after.nl.html 0600 root bin
f none custom/help/before.nl.html 0600 root bin
f none custom/help/order.html 0600 root bin
f none custom/help/cmd.nl.html 0600 root bin
f none custom/help/command.nl.html 0600 root bin
f none custom/help/create.nl.html 0600 root bin
f none custom/help/desc.nl.html 0600 root bin
f none custom/help/edit.nl.html 0600 root bin
f none custom/help/editor.nl.html 0600 root bin
f none custom/help/fdesc.nl.html 0600 root bin
f none custom/help/file.nl.html 0600 root bin
f none custom/help/fintro.nl.html 0600 root bin
f none custom/help/intro.nl.html 0600 root bin
f none custom/help/order.nl.html 0600 root bin
f none custom/help/raw.nl.html 0600 root bin
f none custom/help/owner.nl.html 0600 root bin
f none custom/help/perms.nl.html 0600 root bin
f none custom/help/run.nl.html 0600 root bin
f none custom/help/user.nl.html 0600 root bin
f none custom/help/order.ca.html 0600 root bin
f none custom/help/noshow.html 0600 root bin
f none custom/index.cgi 0700 root bin
f none custom/custom-lib.pl 0600 root bin
f none custom/edit_cmd.cgi 0700 root bin
f none custom/log_parser.pl 0600 root bin
f none custom/save_file.cgi 0700 root bin
f none custom/edit_file.cgi 0700 root bin
f none custom/view.cgi 0700 root bin
f none custom/save.cgi 0700 root bin
f none custom/config.info 0600 root bin
f none custom/config 0600 root bin
f none custom/config.info.ca 0600 root bin
f none custom/form.cgi 0700 root bin
f none custom/config.info.pl 0600 root bin
f none custom/feedback_files.pl 0600 root bin
f none custom/config.info.nl 0600 root bin
d none lilo 0700 root bin
f none lilo/save_global.cgi 0700 root bin
f none lilo/module.info 0600 root bin
d none lilo/lang 0700 root bin
f none lilo/lang/zh_TW.Big5 0600 root bin
f none lilo/lang/zh_CN 0600 root bin
f none lilo/lang/en 0600 root bin
f none lilo/lang/pt 0600 root bin
f none lilo/lang/es 0600 root bin
f none lilo/lang/fr 0600 root bin
f none lilo/lang/de 0600 root bin
f none lilo/lang/sv 0600 root bin
f none lilo/lang/ru_SU 0600 root bin
f none lilo/lang/hu 0600 root bin
f none lilo/lang/tr 0600 root bin
f none lilo/lang/pl 0600 root bin
f none lilo/lang/ru_RU 0600 root bin
f none lilo/lang/cz 0600 root bin
f none lilo/lang/ja_JP.euc 0600 root bin
f none lilo/lang/ko_KR.euc 0600 root bin
f none lilo/lang/ca 0600 root bin
f none lilo/config-lfs-linux 0600 root bin
f none lilo/config.info.sv 0600 root bin
f none lilo/config.info.de 0600 root bin
f none lilo/apply.cgi 0700 root bin
f none lilo/edit_other.cgi 0700 root bin
f none lilo/edit_image.cgi 0700 root bin
f none lilo/config.info.ru_SU 0600 root bin
f none lilo/config.info.zh_CN 0600 root bin
f none lilo/config.info 0600 root bin
f none lilo/save_other.cgi 0700 root bin
f none lilo/save_image.cgi 0700 root bin
f none lilo/config.info.es 0600 root bin
d none lilo/images 0700 root bin
f none lilo/images/icon.gif 0600 root bin
f none lilo/images/other.gif 0600 root bin
f none lilo/images/image.gif 0600 root bin
f none lilo/config 0600 root bin
f none lilo/config.info.fr 0600 root bin
f none lilo/edit_global.cgi 0700 root bin
f none lilo/index.cgi 0700 root bin
f none lilo/lilo-lib.pl 0600 root bin
f none lilo/config.info.zh_TW.Big5 0600 root bin
f none lilo/config.info.hu 0600 root bin
f none lilo/log_parser.pl 0600 root bin
f none lilo/config.info.tr 0600 root bin
f none lilo/config.info.pl 0600 root bin
f none lilo/config.info.ru_RU 0600 root bin
f none lilo/config.info.ca 0600 root bin
f none lilo/config.info.ja_JP.euc 0600 root bin
d none telnet 0700 root bin
f none telnet/config.info.zh_CN 0600 root bin
f none telnet/module.info 0600 root bin
f none telnet/config.info 0600 root bin
d none telnet/lang 0700 root bin
f none telnet/lang/zh_TW.Big5 0600 root bin
f none telnet/lang/zh_CN 0600 root bin
f none telnet/lang/en 0600 root bin
f none telnet/lang/pt 0600 root bin
f none telnet/lang/es 0600 root bin
f none telnet/lang/fr 0600 root bin
f none telnet/lang/de 0600 root bin
f none telnet/lang/sv 0600 root bin
f none telnet/lang/it 0600 root bin
f none telnet/lang/ru_SU 0600 root bin
f none telnet/lang/tr 0600 root bin
f none telnet/lang/pl 0600 root bin
f none telnet/lang/ru_RU 0600 root bin
f none telnet/lang/ja_JP.euc 0600 root bin
f none telnet/lang/ko_KR.euc 0600 root bin
f none telnet/lang/ca 0600 root bin
f none telnet/lang/cz 0600 root bin
f none telnet/config.info.es 0600 root bin
f none telnet/config.info.fr 0600 root bin
f none telnet/config 0600 root bin
d none telnet/images 0700 root bin
f none telnet/images/icon.gif 0600 root bin
f none telnet/config.info.sv 0600 root bin
f none telnet/config.info.de 0600 root bin
f none telnet/index.cgi 0700 root bin
f none telnet/config.info.ru_SU 0600 root bin
f none telnet/telnet.conf 0600 root bin
f none telnet/config.info.zh_TW.Big5 0600 root bin
f none telnet/ssh.conf 0600 root bin
f none telnet/jta20.jar 0600 root bin
f none telnet/config.info.ru_RU 0600 root bin
f none telnet/config.info.tr 0600 root bin
f none telnet/config.info.pl 0600 root bin
f none telnet/config-macos-1.3 0600 root bin
f none telnet/config-open-linux-3.1e 0600 root bin
f none telnet/config.info.ca 0600 root bin
f none telnet/config-macos-1.4 0600 root bin
d none servers 0700 root bin
f none servers/config.info 0600 root bin
f none servers/servers-lib.pl 0600 root bin
f none servers/module.info 0600 root bin
f none servers/index.cgi 0700 root bin
f none servers/find.cgi 0700 root bin
d none servers/lang 0700 root bin
f none servers/lang/zh_TW.Big5 0600 root bin
f none servers/lang/zh_CN 0600 root bin
f none servers/lang/en 0600 root bin
f none servers/lang/pt 0600 root bin
f none servers/lang/es 0600 root bin
f none servers/lang/fr 0600 root bin
f none servers/lang/de 0600 root bin
f none servers/lang/sv 0600 root bin
f none servers/lang/ru_SU 0600 root bin
f none servers/lang/tr 0600 root bin
f none servers/lang/hu 0600 root bin
f none servers/lang/pl 0600 root bin
f none servers/lang/ru_RU 0600 root bin
f none servers/lang/ja_JP.euc 0600 root bin
f none servers/lang/ko_KR.euc 0600 root bin
f none servers/lang/ca 0600 root bin
f none servers/lang/cz 0600 root bin
f none servers/config 0600 root bin
f none servers/edit_serv.cgi 0700 root bin
d none servers/images 0700 root bin
f none servers/images/irix.gif 0600 root bin
f none servers/images/caldera.gif 0600 root bin
f none servers/images/solaris.gif 0600 root bin
f none servers/images/suse.gif 0600 root bin
f none servers/images/linux.gif 0600 root bin
f none servers/images/unknown.gif 0600 root bin
f none servers/images/mac.gif 0600 root bin
f none servers/images/mandrake.gif 0600 root bin
f none servers/images/debian.gif 0600 root bin
f none servers/images/sco.gif 0600 root bin
f none servers/images/hpux.gif 0600 root bin
f none servers/images/redhat.gif 0600 root bin
f none servers/images/cal_spin.gif 0600 root bin
f none servers/images/icon.gif 0600 root bin
f none servers/images/openbsd.gif 0600 root bin
f none servers/images/freebsd.gif 0600 root bin
f none servers/images/msc.gif 0600 root bin
f none servers/config.info.zh_TW.Big5 0600 root bin
f none servers/config.info.de 0600 root bin
f none servers/save_serv.cgi 0700 root bin
f none servers/link.cgi 0700 root bin
f none servers/log_parser.pl 0600 root bin
f none servers/config.info.es 0600 root bin
f none servers/config.info.sv 0600 root bin
f none servers/config.info.tr 0600 root bin
f none servers/config.info.pl 0600 root bin
f none servers/config.info.hu 0600 root bin
f none servers/acl_security.pl 0600 root bin
f none servers/defaultacl 0600 root bin
f none servers/config.info.ca 0600 root bin
f none servers/config.info.zh_CN 0600 root bin
f none servers/config.info.cz 0600 root bin
f none servers/feedback_files.pl 0600 root bin
d none time 0700 root bin
f none time/try.cgi 0700 root bin
f none time/module.info 0600 root bin
d none time/lang 0700 root bin
f none time/lang/zh_TW.Big5 0600 root bin
f none time/lang/zh_CN 0600 root bin
f none time/lang/en 0600 root bin
f none time/lang/fr 0600 root bin
f none time/lang/es 0600 root bin
f none time/lang/de 0600 root bin
f none time/lang/sv 0600 root bin
f none time/lang/ru_SU 0600 root bin
f none time/lang/hu 0600 root bin
f none time/lang/tr 0600 root bin
f none time/lang/pl 0600 root bin
f none time/lang/ru_RU 0600 root bin
f none time/lang/cz 0600 root bin
f none time/lang/ja_JP.euc 0600 root bin
f none time/lang/ko_KR.euc 0600 root bin
f none time/lang/ja_JP.jis 0600 root bin
f none time/lang/ca 0600 root bin
f none time/config.info.sv 0600 root bin
f none time/config.info.de 0600 root bin
f none time/apply.cgi 0700 root bin
d none time/help 0700 root bin
f none time/help/timeserver.sv.html 0600 root bin
f none time/help/index.es.html 0600 root bin
f none time/help/index.fr.html 0600 root bin
f none time/help/system_time.zh_TW.Big5.html 0600 root bin
f none time/help/timeserver.ru_SU.html 0600 root bin
f none time/help/hardware_time.es.html 0600 root bin
f none time/help/hardware_time.fr.html 0600 root bin
f none time/help/timeserver.html 0600 root bin
f none time/help/index.zh_TW.Big5.html 0600 root bin
f none time/help/system_time.sv.html 0600 root bin
f none time/help/hardware_time.zh_TW.Big5.html 0600 root bin
f none time/help/timeserver.fr.html 0600 root bin
f none time/help/timeserver.es.html 0600 root bin
f none time/help/index.sv.html 0600 root bin
f none time/help/system_time.ru_SU.html 0600 root bin
f none time/help/hardware_time.sv.html 0600 root bin
f none time/help/system_time.html 0600 root bin
f none time/help/index.ru_SU.html 0600 root bin
f none time/help/timeserver.zh_TW.Big5.html 0600 root bin
f none time/help/hardware_time.ru_SU.html 0600 root bin
f none time/help/index.html 0600 root bin
f none time/help/system_time.es.html 0600 root bin
f none time/help/system_time.fr.html 0600 root bin
f none time/help/hardware_time.html 0600 root bin
f none time/help/system_time.hu.html 0600 root bin
f none time/help/index.hu.html 0600 root bin
f none time/help/hardware_time.hu.html 0600 root bin
f none time/help/timeserver.hu.html 0600 root bin
f none time/help/index.pl.html 0600 root bin
f none time/help/system_time.pl.html 0600 root bin
f none time/help/hardware_time.pl.html 0600 root bin
f none time/help/timeserver.pl.html 0600 root bin
f none time/help/timeserver.ru_RU.html 0600 root bin
f none time/help/index.ca.html 0600 root bin
f none time/help/system_time.ru_RU.html 0600 root bin
f none time/help/index.ru_RU.html 0600 root bin
f none time/help/hardware_time.ru_RU.html 0600 root bin
f none time/help/hardware_time.ca.html 0600 root bin
f none time/help/system_time.ca.html 0600 root bin
f none time/help/timeserver.ca.html 0600 root bin
f none time/help/hardware_time.de.html 0600 root bin
f none time/help/index.de.html 0600 root bin
f none time/help/system_time.de.html 0600 root bin
f none time/help/timeserver.de.html 0600 root bin
f none time/config.info.ru_SU 0600 root bin
f none time/config.info.zh_CN 0600 root bin
f none time/config.info 0600 root bin
f none time/acl_security.pl 0600 root bin
f none time/defaultacl 0600 root bin
f none time/config 0600 root bin
d none time/images 0700 root bin
f none time/images/icon.gif 0600 root bin
f none time/config.info.fr 0600 root bin
f none time/config.info.es 0600 root bin
f none time/index.cgi 0700 root bin
f none time/time-lib.pl 0700 root bin
f none time/config.info.zh_TW.Big5 0600 root bin
f none time/log_parser.pl 0600 root bin
f none time/config.info.tr 0600 root bin
f none time/config.info.pl 0600 root bin
f none time/config-solaris 0600 root bin
f none time/config-hpux 0600 root bin
f none time/config.info.ru_RU 0600 root bin
f none time/config-macos 0600 root bin
f none time/config.info.ca 0600 root bin
f none time/config-freebsd 0600 root bin
f none time/config-netbsd 0600 root bin
f none time/config.info.ja_JP.euc 0600 root bin
f none time/config.info.cz 0600 root bin
f none time/time.js 0600 root bin
f none time/config-openserver 0600 root bin
d none wuftpd 0700 root bin
f none wuftpd/save_perm.cgi 0700 root bin
f none wuftpd/config-lfs-linux 0600 root bin
f none wuftpd/save_class.cgi 0700 root bin
f none wuftpd/config-hpux 0600 root bin
f none wuftpd/edit_log.cgi 0700 root bin
f none wuftpd/config.info.ru_SU 0600 root bin
f none wuftpd/config-turbo-linux 0600 root bin
f none wuftpd/edit_net.cgi 0700 root bin
f none wuftpd/config-openbsd 0600 root bin
f none wuftpd/config.info.zh_CN 0600 root bin
f none wuftpd/edit_alias.cgi 0700 root bin
f none wuftpd/config-open-linux 0600 root bin
f none wuftpd/save_message.cgi 0700 root bin
f none wuftpd/config-corel-linux 0600 root bin
f none wuftpd/config.info.es 0600 root bin
f none wuftpd/config-macos 0600 root bin
d none wuftpd/images 0700 root bin
f none wuftpd/images/anon.gif 0600 root bin
f none wuftpd/images/misc.gif 0600 root bin
f none wuftpd/images/acl.gif 0600 root bin
f none wuftpd/images/log.gif 0600 root bin
f none wuftpd/images/aliases.gif 0600 root bin
f none wuftpd/images/perm.gif 0600 root bin
f none wuftpd/images/message.gif 0600 root bin
f none wuftpd/images/class.gif 0600 root bin
f none wuftpd/images/net.gif 0600 root bin
f none wuftpd/images/icon.gif 0600 root bin
f none wuftpd/images/alias.gif 0600 root bin
f none wuftpd/edit_class.cgi 0700 root bin
f none wuftpd/config-freebsd 0600 root bin
d none wuftpd/lang 0700 root bin
f none wuftpd/lang/zh_TW.Big5 0600 root bin
f none wuftpd/lang/zh_CN 0600 root bin
f none wuftpd/lang/en 0600 root bin
f none wuftpd/lang/fr 0600 root bin
f none wuftpd/lang/es 0600 root bin
f none wuftpd/lang/de 0600 root bin
f none wuftpd/lang/sv 0600 root bin
f none wuftpd/lang/ru_SU 0600 root bin
f none wuftpd/lang/tr 0600 root bin
f none wuftpd/lang/pl 0600 root bin
f none wuftpd/lang/ru_RU 0600 root bin
f none wuftpd/lang/ja_JP.euc 0600 root bin
f none wuftpd/lang/ko_KR.euc 0600 root bin
f none wuftpd/lang/ja_JP.jis 0600 root bin
f none wuftpd/lang/ca 0600 root bin
f none wuftpd/lang/hu 0600 root bin
f none wuftpd/config.info.zh_TW.Big5 0600 root bin
f none wuftpd/save_acl.cgi 0700 root bin
f none wuftpd/module.info 0600 root bin
f none wuftpd/config-solaris 0600 root bin
f none wuftpd/config-suse-linux 0600 root bin
f none wuftpd/config-debian-linux 0600 root bin
f none wuftpd/config-aix 0600 root bin
f none wuftpd/restart.cgi 0700 root bin
f none wuftpd/config.info.sv 0600 root bin
f none wuftpd/config.info.de 0600 root bin
f none wuftpd/wuftpd-lib.pl 0600 root bin
d none wuftpd/help 0700 root bin
f none wuftpd/help/log.ru_SU.html 0600 root bin
f none wuftpd/help/message.ru_SU.html 0600 root bin
f none wuftpd/help/perm.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/class.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/alias.ru_SU.html 0600 root bin
f none wuftpd/help/net.html 0600 root bin
f none wuftpd/help/misc.ru_SU.html 0600 root bin
f none wuftpd/help/intro.ru_SU.html 0600 root bin
f none wuftpd/help/anon.ru_SU.html 0600 root bin
f none wuftpd/help/log.es.html 0600 root bin
f none wuftpd/help/message.fr.html 0600 root bin
f none wuftpd/help/net.es.html 0600 root bin
f none wuftpd/help/perm.ru_SU.html 0600 root bin
f none wuftpd/help/alias.es.html 0600 root bin
f none wuftpd/help/acl.html 0600 root bin
f none wuftpd/help/class.ru_SU.html 0600 root bin
f none wuftpd/help/misc.es.html 0600 root bin
f none wuftpd/help/intro.es.html 0600 root bin
f none wuftpd/help/anon.es.html 0600 root bin
f none wuftpd/help/message.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/acl.fr.html 0600 root bin
f none wuftpd/help/perm.es.html 0600 root bin
f none wuftpd/help/class.es.html 0600 root bin
f none wuftpd/help/acl.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/log.html 0600 root bin
f none wuftpd/help/net.ru_SU.html 0600 root bin
f none wuftpd/help/message.html 0600 root bin
f none wuftpd/help/log.fr.html 0600 root bin
f none wuftpd/help/alias.html 0600 root bin
f none wuftpd/help/message.es.html 0600 root bin
f none wuftpd/help/misc.html 0600 root bin
f none wuftpd/help/anon.html 0600 root bin
f none wuftpd/help/intro.html 0600 root bin
f none wuftpd/help/acl.ru_SU.html 0600 root bin
f none wuftpd/help/net.fr.html 0600 root bin
f none wuftpd/help/alias.fr.html 0600 root bin
f none wuftpd/help/log.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/misc.fr.html 0600 root bin
f none wuftpd/help/intro.fr.html 0600 root bin
f none wuftpd/help/anon.fr.html 0600 root bin
f none wuftpd/help/perm.html 0600 root bin
f none wuftpd/help/net.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/class.html 0600 root bin
f none wuftpd/help/acl.es.html 0600 root bin
f none wuftpd/help/alias.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/perm.fr.html 0600 root bin
f none wuftpd/help/misc.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/intro.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/anon.zh_TW.Big5.html 0600 root bin
f none wuftpd/help/class.fr.html 0600 root bin
f none wuftpd/help/net.sv.html 0600 root bin
f none wuftpd/help/alias.sv.html 0600 root bin
f none wuftpd/help/misc.sv.html 0600 root bin
f none wuftpd/help/intro.sv.html 0600 root bin
f none wuftpd/help/anon.sv.html 0600 root bin
f none wuftpd/help/perm.sv.html 0600 root bin
f none wuftpd/help/class.sv.html 0600 root bin
f none wuftpd/help/message.sv.html 0600 root bin
f none wuftpd/help/acl.sv.html 0600 root bin
f none wuftpd/help/log.sv.html 0600 root bin
f none wuftpd/help/perm.pl.html 0600 root bin
f none wuftpd/help/class.pl.html 0600 root bin
f none wuftpd/help/acl.pl.html 0600 root bin
f none wuftpd/help/net.pl.html 0600 root bin
f none wuftpd/help/alias.pl.html 0600 root bin
f none wuftpd/help/anon.pl.html 0600 root bin
f none wuftpd/help/message.pl.html 0600 root bin
f none wuftpd/help/log.pl.html 0600 root bin
f none wuftpd/help/misc.pl.html 0600 root bin
f none wuftpd/help/intro.pl.html 0600 root bin
f none wuftpd/help/log.ru_RU.html 0600 root bin
f none wuftpd/help/message.ru_RU.html 0600 root bin
f none wuftpd/help/anon.ru_RU.html 0600 root bin
f none wuftpd/help/class.ru_RU.html 0600 root bin
f none wuftpd/help/net.ru_RU.html 0600 root bin
f none wuftpd/help/alias.ru_RU.html 0600 root bin
f none wuftpd/help/misc.ru_RU.html 0600 root bin
f none wuftpd/help/intro.ru_RU.html 0600 root bin
f none wuftpd/help/perm.ru_RU.html 0600 root bin
f none wuftpd/help/acl.ru_RU.html 0600 root bin
f none wuftpd/help/acl.ca.html 0600 root bin
f none wuftpd/help/alias.ca.html 0600 root bin
f none wuftpd/help/anon.ca.html 0600 root bin
f none wuftpd/help/class.ca.html 0600 root bin
f none wuftpd/help/intro.ca.html 0600 root bin
f none wuftpd/help/log.ca.html 0600 root bin
f none wuftpd/help/message.ca.html 0600 root bin
f none wuftpd/help/misc.ca.html 0600 root bin
f none wuftpd/help/net.ca.html 0600 root bin
f none wuftpd/help/perm.ca.html 0600 root bin
f none wuftpd/edit_message.cgi 0700 root bin
f none wuftpd/start.cgi 0700 root bin
f none wuftpd/config.info 0600 root bin
f none wuftpd/save_log.cgi 0700 root bin
f none wuftpd/edit_anon.cgi 0700 root bin
f none wuftpd/edit_misc.cgi 0700 root bin
f none wuftpd/config.info.fr 0600 root bin
f none wuftpd/edit_acl.cgi 0700 root bin
f none wuftpd/save_net.cgi 0700 root bin
f none wuftpd/config-redhat-linux 0600 root bin
f none wuftpd/index.cgi 0700 root bin
f none wuftpd/save_alias.cgi 0700 root bin
f none wuftpd/edit_perm.cgi 0700 root bin
f none wuftpd/save_anon.cgi 0700 root bin
f none wuftpd/save_misc.cgi 0700 root bin
f none wuftpd/config-osf1 0600 root bin
f none wuftpd/config-slackware-linux 0600 root bin
f none wuftpd/log_parser.pl 0600 root bin
f none wuftpd/config.info.tr 0600 root bin
f none wuftpd/config.info.pl 0600 root bin
f none wuftpd/config.info.ru_RU 0600 root bin
f none wuftpd/config-mandrake-linux 0600 root bin
f none wuftpd/config-netbsd 0600 root bin
f none wuftpd/config-msc-linux 0600 root bin
f none wuftpd/config.info.ca 0600 root bin
f none wuftpd/config.info.hu 0600 root bin
f none wuftpd/config-generic-linux 0600 root bin
f none wuftpd/config-openserver 0600 root bin
d none syslog 0700 root bin
f none syslog/config-suse-linux 0600 root bin
f none syslog/config-solaris 0600 root bin
f none syslog/module.info 0600 root bin
f none syslog/m4.cgi 0700 root bin
d none syslog/lang 0700 root bin
f none syslog/lang/es 0600 root bin
f none syslog/lang/sv 0600 root bin
f none syslog/lang/zh_TW.Big5 0600 root bin
f none syslog/lang/de 0600 root bin
f none syslog/lang/zh_CN 0600 root bin
f none syslog/lang/en 0600 root bin
f none syslog/lang/ru_SU 0600 root bin
f none syslog/lang/tr 0600 root bin
f none syslog/lang/pl 0600 root bin
f none syslog/lang/hu 0600 root bin
f none syslog/lang/ru_RU 0600 root bin
f none syslog/lang/fr 0600 root bin
f none syslog/lang/ja_JP.euc 0600 root bin
f none syslog/lang/ko_KR.euc 0600 root bin
f none syslog/lang/ca 0600 root bin
f none syslog/config-debian-linux 0600 root bin
f none syslog/restart.cgi 0700 root bin
f none syslog/config.info.sv 0600 root bin
f none syslog/config.info.de 0600 root bin
f none syslog/config-hpux 0600 root bin
f none syslog/edit_log.cgi 0700 root bin
f none syslog/config.info.ru_SU 0600 root bin
f none syslog/config-turbo-linux 0600 root bin
f none syslog/config-openbsd 0600 root bin
f none syslog/syslog-lib.pl 0600 root bin
f none syslog/start.cgi 0700 root bin
f none syslog/config.info.zh_CN 0600 root bin
f none syslog/config.info 0600 root bin
f none syslog/save_log.cgi 0700 root bin
f none syslog/config-open-linux 0600 root bin
d none syslog/images 0700 root bin
f none syslog/images/icon.gif 0600 root bin
f none syslog/config-cobalt-linux 0600 root bin
f none syslog/config-corel-linux 0600 root bin
f none syslog/config.info.es 0600 root bin
f none syslog/config-macos 0600 root bin
f none syslog/config-redhat-linux 0600 root bin
f none syslog/index.cgi 0700 root bin
f none syslog/config-slackware-linux 0600 root bin
f none syslog/config-freebsd 0600 root bin
f none syslog/config.info.zh_TW.Big5 0600 root bin
f none syslog/config-aix 0600 root bin
f none syslog/log_parser.pl 0600 root bin
f none syslog/config-irix 0600 root bin
f none syslog/config.info.tr 0600 root bin
f none syslog/config.info.pl 0600 root bin
f none syslog/low.skill 0600 root bin
f none syslog/config.info.hu 0600 root bin
f none syslog/low.risk 0600 root bin
f none syslog/medium.risk 0600 root bin
f none syslog/config-unixware 0600 root bin
f none syslog/config.info.ru_RU 0600 root bin
f none syslog/config.info.fr 0600 root bin
f none syslog/config-netbsd 0600 root bin
f none syslog/config-mandrake-linux 0600 root bin
f none syslog/config-msc-linux 0600 root bin
f none syslog/config.info.ca 0600 root bin
f none syslog/config-suse-linux-7.2 0600 root bin
f none syslog/config-suse-linux-7.3 0600 root bin
f none syslog/config-generic-linux 0600 root bin
f none syslog/config-suse-linux-8.0 0600 root bin
f none syslog/config-openserver 0600 root bin
f none syslog/config-gentoo-linux 0600 root bin
d none mysql 0700 root bin
f none mysql/config-debian-linux-2.2 0600 root bin
f none mysql/view_table.cgi 0700 root bin
f none mysql/newdb_form.cgi 0700 root bin
f none mysql/edit_user.cgi 0700 root bin
f none mysql/edit_dbase.cgi 0700 root bin
f none mysql/stop.cgi 0700 root bin
f none mysql/edit_field.cgi 0700 root bin
f none mysql/config-turbo-linux 0600 root bin
f none mysql/edit_db.cgi 0700 root bin
f none mysql/save_user.cgi 0700 root bin
f none mysql/edit_table.cgi 0700 root bin
f none mysql/config.info.zh_CN 0600 root bin
f none mysql/acl_security.pl 0600 root bin
f none mysql/config-open-linux 0600 root bin
f none mysql/save_cpriv.cgi 0700 root bin
f none mysql/defaultacl 0600 root bin
f none mysql/save_db.cgi 0700 root bin
f none mysql/list_dbs.cgi 0700 root bin
f none mysql/config.info.es 0600 root bin
d none mysql/images 0700 root bin
f none mysql/images/hosts.gif 0600 root bin
f none mysql/images/users.gif 0600 root bin
f none mysql/images/delete.gif 0600 root bin
f none mysql/images/edit.gif 0600 root bin
f none mysql/images/db.gif 0600 root bin
f none mysql/images/mysql.gif 0600 root bin
f none mysql/images/cprivs.gif 0600 root bin
f none mysql/images/table.gif 0600 root bin
f none mysql/images/tprivs.gif 0600 root bin
f none mysql/images/icon.gif 0600 root bin
f none mysql/images/dbs.gif 0600 root bin
f none mysql/exec_form.cgi 0700 root bin
f none mysql/login.cgi 0700 root bin
f none mysql/create_table.cgi 0700 root bin
f none mysql/config-freebsd 0600 root bin
f none mysql/config.info.zh_TW.Big5 0600 root bin
f none mysql/config-suse-linux 0600 root bin
f none mysql/module.info 0600 root bin
d none mysql/lang 0700 root bin
f none mysql/lang/es 0600 root bin
f none mysql/lang/sv 0600 root bin
f none mysql/lang/zh_TW.Big5 0600 root bin
f none mysql/lang/de 0600 root bin
f none mysql/lang/zh_CN 0600 root bin
f none mysql/lang/en 0600 root bin
f none mysql/lang/it 0600 root bin
f none mysql/lang/he 0600 root bin
f none mysql/lang/tr 0600 root bin
f none mysql/lang/hu 0600 root bin
f none mysql/lang/pl 0600 root bin
f none mysql/lang/ja_JP.euc 0600 root bin
f none mysql/lang/ko_KR.euc 0600 root bin
f none mysql/lang/ca 0600 root bin
f none mysql/lang/cz 0600 root bin
f none mysql/config-debian-linux 0600 root bin
f none mysql/save_tpriv.cgi 0700 root bin
f none mysql/mysql-lib.pl 0600 root bin
f none mysql/edit_host.cgi 0700 root bin
f none mysql/list_tprivs.cgi 0700 root bin
f none mysql/exec.cgi 0700 root bin
f none mysql/config.info.sv 0600 root bin
f none mysql/config.info.de 0600 root bin
d none mysql/help 0700 root bin
f none mysql/help/exec_form.es.html 0600 root bin
f none mysql/help/edit_cpriv.sv.html 0600 root bin
f none mysql/help/intro.sv.html 0600 root bin
f none mysql/help/create_cpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/db.html 0600 root bin
f none mysql/help/dbs.zh_TW.Big5.html 0600 root bin
f none mysql/help/create_tpriv.html 0600 root bin
f none mysql/help/field.es.html 0600 root bin
f none mysql/help/cprivs.sv.html 0600 root bin
f none mysql/help/user.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_cpriv.es.html 0600 root bin
f none mysql/help/edit_tpriv.sv.html 0600 root bin
f none mysql/help/table_form.sv.html 0600 root bin
f none mysql/help/newdb_form.zh_TW.Big5.html 0600 root bin
f none mysql/help/intro.es.html 0600 root bin
f none mysql/help/users.html 0600 root bin
f none mysql/help/create_user.html 0600 root bin
f none mysql/help/cprivs.html 0600 root bin
f none mysql/help/create_tpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_field.zh_TW.Big5.html 0600 root bin
f none mysql/help/exec_form.html 0600 root bin
f none mysql/help/dbs.html 0600 root bin
f none mysql/help/edit_user.sv.html 0600 root bin
f none mysql/help/edit_dbase.sv.html 0600 root bin
f none mysql/help/cpriv.sv.html 0600 root bin
f none mysql/help/table_form.html 0600 root bin
f none mysql/help/db.sv.html 0600 root bin
f none mysql/help/cprivs.es.html 0600 root bin
f none mysql/help/edit_tpriv.es.html 0600 root bin
f none mysql/help/table_form.es.html 0600 root bin
f none mysql/help/edit_db.sv.html 0600 root bin
f none mysql/help/edit_table.sv.html 0600 root bin
f none mysql/help/field.html 0600 root bin
f none mysql/help/exec_form.zh_TW.Big5.html 0600 root bin
f none mysql/help/users.sv.html 0600 root bin
f none mysql/help/create_user.sv.html 0600 root bin
f none mysql/help/edit_field.html 0600 root bin
f none mysql/help/edit_user.es.html 0600 root bin
f none mysql/help/edit_dbase.es.html 0600 root bin
f none mysql/help/cpriv.es.html 0600 root bin
f none mysql/help/edit_db.html 0600 root bin
f none mysql/help/tpriv.sv.html 0600 root bin
f none mysql/help/intro.html 0600 root bin
f none mysql/help/db.es.html 0600 root bin
f none mysql/help/create_field.sv.html 0600 root bin
f none mysql/help/create_db.sv.html 0600 root bin
f none mysql/help/edit_db.es.html 0600 root bin
f none mysql/help/field.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_table.es.html 0600 root bin
f none mysql/help/create_field.html 0600 root bin
f none mysql/help/edit_cpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/users.es.html 0600 root bin
f none mysql/help/create_user.es.html 0600 root bin
f none mysql/help/intro.zh_TW.Big5.html 0600 root bin
f none mysql/help/tpriv.es.html 0600 root bin
f none mysql/help/tprivs.sv.html 0600 root bin
f none mysql/help/create_field.es.html 0600 root bin
f none mysql/help/create_db.es.html 0600 root bin
f none mysql/help/edit_user.html 0600 root bin
f none mysql/help/edit_dbase.html 0600 root bin
f none mysql/help/cpriv.html 0600 root bin
f none mysql/help/cprivs.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_tpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_cpriv.html 0600 root bin
f none mysql/help/table_form.zh_TW.Big5.html 0600 root bin
f none mysql/help/create_cpriv.sv.html 0600 root bin
f none mysql/help/tprivs.es.html 0600 root bin
f none mysql/help/dbs.sv.html 0600 root bin
f none mysql/help/edit_user.zh_TW.Big5.html 0600 root bin
f none mysql/help/cpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_dbase.zh_TW.Big5.html 0600 root bin
f none mysql/help/db.zh_TW.Big5.html 0600 root bin
f none mysql/help/user.sv.html 0600 root bin
f none mysql/help/dbs.es.html 0600 root bin
f none mysql/help/create_cpriv.html 0600 root bin
f none mysql/help/newdb_form.sv.html 0600 root bin
f none mysql/help/edit_db.zh_TW.Big5.html 0600 root bin
f none mysql/help/edit_table.zh_TW.Big5.html 0600 root bin
f none mysql/help/create_cpriv.es.html 0600 root bin
f none mysql/help/create_tpriv.sv.html 0600 root bin
f none mysql/help/user.html 0600 root bin
f none mysql/help/edit_field.sv.html 0600 root bin
f none mysql/help/users.zh_TW.Big5.html 0600 root bin
f none mysql/help/create_user.zh_TW.Big5.html 0600 root bin
f none mysql/help/newdb_form.html 0600 root bin
f none mysql/help/tpriv.zh_TW.Big5.html 0600 root bin
f none mysql/help/user.es.html 0600 root bin
f none mysql/help/create_field.zh_TW.Big5.html 0600 root bin
f none mysql/help/tprivs.html 0600 root bin
f none mysql/help/create_db.zh_TW.Big5.html 0600 root bin
f none mysql/help/newdb_form.es.html 0600 root bin
f none mysql/help/edit_table.html 0600 root bin
f none mysql/help/create_tpriv.es.html 0600 root bin
f none mysql/help/exec_form.sv.html 0600 root bin
f none mysql/help/edit_field.es.html 0600 root bin
f none mysql/help/tpriv.html 0600 root bin
f none mysql/help/tprivs.zh_TW.Big5.html 0600 root bin
f none mysql/help/create_db.html 0600 root bin
f none mysql/help/edit_tpriv.html 0600 root bin
f none mysql/help/field.sv.html 0600 root bin
f none mysql/help/backup_form.html 0600 root bin
f none mysql/help/backup_form.ca.html 0600 root bin
f none mysql/help/cpriv.ca.html 0600 root bin
f none mysql/help/cprivs.ca.html 0600 root bin
f none mysql/help/create_cpriv.ca.html 0600 root bin
f none mysql/help/create_db.ca.html 0600 root bin
f none mysql/help/create_field.ca.html 0600 root bin
f none mysql/help/create_tpriv.ca.html 0600 root bin
f none mysql/help/create_user.ca.html 0600 root bin
f none mysql/help/db.ca.html 0600 root bin
f none mysql/help/dbs.ca.html 0600 root bin
f none mysql/help/edit_cpriv.ca.html 0600 root bin
f none mysql/help/edit_db.ca.html 0600 root bin
f none mysql/help/field.ca.html 0600 root bin
f none mysql/help/edit_dbase.ca.html 0600 root bin
f none mysql/help/edit_field.ca.html 0600 root bin
f none mysql/help/edit_table.ca.html 0600 root bin
f none mysql/help/edit_tpriv.ca.html 0600 root bin
f none mysql/help/edit_user.ca.html 0600 root bin
f none mysql/help/exec_form.ca.html 0600 root bin
f none mysql/help/intro.ca.html 0600 root bin
f none mysql/help/newdb_form.ca.html 0600 root bin
f none mysql/help/table_form.ca.html 0600 root bin
f none mysql/help/tpriv.ca.html 0600 root bin
f none mysql/help/tprivs.ca.html 0600 root bin
f none mysql/help/user.ca.html 0600 root bin
f none mysql/help/users.ca.html 0600 root bin
f none mysql/edit_cpriv.cgi 0700 root bin
f none mysql/list_hosts.cgi 0700 root bin
f none mysql/save_host.cgi 0700 root bin
f none mysql/list_users.cgi 0700 root bin
f none mysql/config 0600 root bin
f none mysql/start.cgi 0700 root bin
f none mysql/config.info 0600 root bin
f none mysql/newdb.cgi 0700 root bin
f none mysql/list_cprivs.cgi 0700 root bin
f none mysql/save_field.cgi 0700 root bin
f none mysql/drop_dbase.cgi 0700 root bin
f none mysql/config-cobalt-linux 0600 root bin
f none mysql/config-redhat-linux 0600 root bin
f none mysql/index.cgi 0700 root bin
f none mysql/edit_tpriv.cgi 0700 root bin
f none mysql/table_form.cgi 0700 root bin
f none mysql/drop_table.cgi 0700 root bin
f none mysql/config-aix 0600 root bin
f none mysql/log_parser.pl 0600 root bin
f none mysql/config.info.tr 0600 root bin
f none mysql/config.info.pl 0600 root bin
f none mysql/config-redhat-linux-7.0 0600 root bin
f none mysql/config.info.hu 0600 root bin
f none mysql/exec_file.cgi 0700 root bin
f none mysql/backup_form.cgi 0700 root bin
f none mysql/backup_db.cgi 0700 root bin
f none mysql/config-redhat-linux-7.1 0600 root bin
f none mysql/config-suse-linux-7.1 0600 root bin
f none mysql/config-mandrake-linux 0600 root bin
f none mysql/import.cgi 0700 root bin
f none mysql/config-suse-linux-7.2 0600 root bin
f none mysql/config-netbsd 0600 root bin
f none mysql/config-msc-linux 0600 root bin
f none mysql/config-slackware-linux-8.0 0600 root bin
f none mysql/useradmin_update.pl 0600 root bin
f none mysql/save_sync.cgi 0700 root bin
f none mysql/config.info.ca 0600 root bin
f none mysql/config-suse-linux-7.3 0600 root bin
f none mysql/config-redhat-linux-7.2 0600 root bin
f none mysql/config.info.cz 0600 root bin
f none mysql/config-debian-linux-3.0 0600 root bin
f none mysql/config-redhat-linux-7.3 0600 root bin
f none mysql/config-gentoo-linux 0600 root bin
f none mysql/config-suse-linux-8.0 0600 root bin
f none mysql/config-slackware-linux-8.1 0600 root bin
d none man 0700 root bin
f none man/config-suse-linux 0600 root bin
f none man/config-solaris 0600 root bin
f none man/module.info 0600 root bin
d none man/lang 0700 root bin
f none man/lang/zh_TW.Big5 0600 root bin
f none man/lang/zh_CN 0600 root bin
f none man/lang/en 0600 root bin
f none man/lang/fr 0600 root bin
f none man/lang/es 0600 root bin
f none man/lang/de 0600 root bin
f none man/lang/sv 0600 root bin
f none man/lang/it 0600 root bin
f none man/lang/ru_SU 0600 root bin
f none man/lang/tr 0600 root bin
f none man/lang/pl 0600 root bin
f none man/lang/hu 0600 root bin
f none man/lang/ru_RU 0600 root bin
f none man/lang/ja_JP.euc 0600 root bin
f none man/lang/ko_KR.euc 0600 root bin
f none man/lang/ca 0600 root bin
f none man/lang/cz 0600 root bin
f none man/config-debian-linux 0600 root bin
f none man/config-lfs-linux 0600 root bin
f none man/config.info.de 0600 root bin
f none man/config.info.sv 0600 root bin
d none man/help 0700 root bin
f none man/help/intro.ru_SU.html 0600 root bin
f none man/help/intro.es.html 0600 root bin
f none man/help/intro.fr.html 0600 root bin
f none man/help/intro.sv.html 0600 root bin
f none man/help/intro.html 0600 root bin
f none man/help/intro.pl.html 0600 root bin
f none man/help/intro.hu.html 0600 root bin
f none man/help/intro.ru_RU.html 0600 root bin
f none man/help/intro.ca.html 0600 root bin
f none man/help/intro.de.html 0600 root bin
f none man/help/intro.it.html 0600 root bin
f none man/man-lib.pl 0600 root bin
f none man/config.info.ru_SU 0600 root bin
f none man/config-turbo-linux 0600 root bin
f none man/config-openbsd 0600 root bin
f none man/config.info.zh_CN 0600 root bin
f none man/config.info 0600 root bin
f none man/config-open-linux 0600 root bin
f none man/config-cobalt-linux 0600 root bin
f none man/config-corel-linux 0600 root bin
f none man/config.info.es 0600 root bin
f none man/config.info.fr 0600 root bin
f none man/config-macos 0600 root bin
d none man/images 0700 root bin
f none man/images/icon.gif 0600 root bin
f none man/search.cgi 0700 root bin
f none man/config-redhat-linux 0600 root bin
f none man/index.cgi 0700 root bin
f none man/config-slackware-linux 0600 root bin
f none man/config-freebsd 0600 root bin
f none man/config.info.zh_TW.Big5 0600 root bin
f none man/config-aix 0600 root bin
f none man/config-irix 0600 root bin
f none man/config.info.tr 0600 root bin
f none man/config.info.pl 0600 root bin
f none man/config.info.hu 0600 root bin
f none man/config-hpux 0600 root bin
f none man/view_perl.cgi 0700 root bin
f none man/view_kde.cgi 0700 root bin
f none man/view_kernel.cgi 0700 root bin
f none man/view_howto.cgi 0700 root bin
f none man/view_doc.cgi 0700 root bin
f none man/view_man.cgi 0700 root bin
f none man/config-redhat-linux-7.0 0600 root bin
f none man/config.info.ru_RU 0600 root bin
f none man/config-open-linux-3.1e 0700 root bin
f none man/config-redhat-linux-7.1 0600 root bin
f none man/config-suse-linux-7.1 0600 root bin
f none man/config-mandrake-linux 0600 root bin
f none man/save_check.cgi 0700 root bin
f none man/config-suse-linux-7.2 0600 root bin
f none man/config-netbsd 0600 root bin
f none man/config-msc-linux 0600 root bin
f none man/config.info.ca 0600 root bin
f none man/config-osf1 0600 root bin
f none man/config-suse-linux-7.3 0600 root bin
f none man/config-redhat-linux-7.2 0600 root bin
f none man/config-generic-linux 0600 root bin
f none man/config-redhat-linux-7.3 0600 root bin
f none man/config-suse-linux-8.0 0600 root bin
f none man/config-gentoo-linux 0600 root bin
f none man/config-openserver 0600 root bin
d none inittab 0700 root bin
f none inittab/module.info 0600 root bin
d none inittab/lang 0700 root bin
f none inittab/lang/zh_TW.Big5 0600 root bin
f none inittab/lang/zh_CN 0600 root bin
f none inittab/lang/en 0600 root bin
f none inittab/lang/fr 0600 root bin
f none inittab/lang/es 0600 root bin
f none inittab/lang/sv 0600 root bin
f none inittab/lang/de 0600 root bin
f none inittab/lang/ru_SU 0600 root bin
f none inittab/lang/tr 0600 root bin
f none inittab/lang/pl 0600 root bin
f none inittab/lang/ru_RU 0600 root bin
f none inittab/lang/ja_JP.euc 0600 root bin
f none inittab/lang/ko_KR.euc 0600 root bin
f none inittab/lang/ca 0600 root bin
f none inittab/config.info.de 0600 root bin
f none inittab/config.info.sv 0600 root bin
d none inittab/help 0700 root bin
f none inittab/help/index.fr.html 0600 root bin
f none inittab/help/action.html 0600 root bin
f none inittab/help/process.html 0600 root bin
f none inittab/help/runlevels.html 0600 root bin
f none inittab/help/id.sv.html 0600 root bin
f none inittab/help/action.fr.html 0600 root bin
f none inittab/help/process.fr.html 0600 root bin
f none inittab/help/runlevels.fr.html 0600 root bin
f none inittab/help/id.ru_SU.html 0600 root bin
f none inittab/help/id.html 0600 root bin
f none inittab/help/index.sv.html 0600 root bin
f none inittab/help/id.fr.html 0600 root bin
f none inittab/help/index.ru_SU.html 0600 root bin
f none inittab/help/action.sv.html 0600 root bin
f none inittab/help/process.sv.html 0600 root bin
f none inittab/help/runlevels.sv.html 0600 root bin
f none inittab/help/index.html 0600 root bin
f none inittab/help/action.ru_SU.html 0600 root bin
f none inittab/help/process.ru_SU.html 0600 root bin
f none inittab/help/runlevels.ru_SU.html 0600 root bin
f none inittab/help/index.pl.html 0600 root bin
f none inittab/help/action.pl.html 0600 root bin
f none inittab/help/process.pl.html 0600 root bin
f none inittab/help/runlevels.pl.html 0600 root bin
f none inittab/help/id.pl.html 0600 root bin
f none inittab/help/id.ru_RU.html 0600 root bin
f none inittab/help/index.ru_RU.html 0600 root bin
f none inittab/help/action.ru_RU.html 0600 root bin
f none inittab/help/process.ru_RU.html 0600 root bin
f none inittab/help/runlevels.ru_RU.html 0600 root bin
f none inittab/help/index.es.html 0600 root bin
f none inittab/help/action.es.html 0600 root bin
f none inittab/help/process.es.html 0600 root bin
f none inittab/help/runlevels.es.html 0600 root bin
f none inittab/help/id.es.html 0600 root bin
f none inittab/help/action.ca.html 0600 root bin
f none inittab/help/id.ca.html 0600 root bin
f none inittab/help/index.ca.html 0600 root bin
f none inittab/help/process.ca.html 0600 root bin
f none inittab/help/runlevels.ca.html 0600 root bin
f none inittab/config.info.ru_SU 0600 root bin
f none inittab/config.info.zh_CN 0600 root bin
f none inittab/config.info 0600 root bin
f none inittab/edit_inittab.cgi 0700 root bin
f none inittab/new_inittab.cgi 0700 root bin
f none inittab/defaultacl 0600 root bin
f none inittab/config 0600 root bin
d none inittab/images 0700 root bin
f none inittab/images/icon.gif 0600 root bin
f none inittab/config.info.fr 0600 root bin
f none inittab/config.info.es 0600 root bin
f none inittab/inittab-lib.pl 0700 root bin
f none inittab/index.cgi 0700 root bin
f none inittab/save_inittab.cgi 0700 root bin
f none inittab/config.info.zh_TW.Big5 0600 root bin
f none inittab/log_parser.pl 0600 root bin
f none inittab/config.info.tr 0600 root bin
f none inittab/config.info.pl 0600 root bin
f none inittab/config.info.ru_RU 0600 root bin
f none inittab/config.info.ca 0600 root bin
f none inittab/apply.cgi 0700 root bin
d none raid 0700 root bin
f none raid/module.info 0600 root bin
d none raid/lang 0700 root bin
f none raid/lang/es 0600 root bin
f none raid/lang/de 0600 root bin
f none raid/lang/sv 0600 root bin
f none raid/lang/zh_TW.Big5 0600 root bin
f none raid/lang/zh_CN 0600 root bin
f none raid/lang/en 0600 root bin
f none raid/lang/ru_SU 0600 root bin
f none raid/lang/ru_RU 0600 root bin
f none raid/lang/pl 0600 root bin
f none raid/lang/fr 0600 root bin
f none raid/lang/ja_JP.euc 0600 root bin
f none raid/lang/ko_KR.euc 0600 root bin
f none raid/lang/ca 0600 root bin
f none raid/lang/cz 0600 root bin
f none raid/config.info.de 0600 root bin
f none raid/config.info.sv 0600 root bin
f none raid/config.info.ru_SU 0600 root bin
f none raid/raid-lib.pl 0600 root bin
f none raid/save_raid.cgi 0700 root bin
f none raid/config.info.zh_CN 0600 root bin
f none raid/config.info 0600 root bin
f none raid/mkfs.cgi 0700 root bin
f none raid/raid_form.cgi 0700 root bin
f none raid/create_raid.cgi 0700 root bin
d none raid/images 0700 root bin
f none raid/images/4.ia.gif 0600 root bin
f none raid/images/5.ia.gif 0600 root bin
f none raid/images/0.gif 0600 root bin
f none raid/images/1.gif 0600 root bin
f none raid/images/linear.ia.gif 0600 root bin
f none raid/images/4.gif 0600 root bin
f none raid/images/5.gif 0600 root bin
f none raid/images/0.ia.gif 0600 root bin
f none raid/images/icon.gif 0600 root bin
f none raid/images/1.ia.gif 0600 root bin
f none raid/images/disk.gif 0600 root bin
f none raid/images/linear.gif 0600 root bin
f none raid/config 0600 root bin
f none raid/config.info.es 0600 root bin
f none raid/index.cgi 0700 root bin
f none raid/view_raid.cgi 0700 root bin
f none raid/config.info.zh_TW.Big5 0600 root bin
f none raid/log_parser.pl 0600 root bin
f none raid/config.info.tr 0600 root bin
f none raid/config.info.pl 0600 root bin
f none raid/config.info.ru_RU 0600 root bin
f none raid/config.info.ca 0600 root bin
f none raid/config.info.cz 0600 root bin
d none postfix 0700 root bin
f none postfix/save_opts_misc.cgi 0700 root bin
f none postfix/ldap.cgi 0700 root bin
f none postfix/stop.cgi 0700 root bin
f none postfix/virtual.cgi 0700 root bin
f none postfix/debug.cgi 0700 root bin
f none postfix/smtpd.cgi 0700 root bin
f none postfix/resource.cgi 0700 root bin
f none postfix/edit_canonical_mappings.cgi 0700 root bin
f none postfix/edit_alias.cgi 0700 root bin
f none postfix/defaultacl 0600 root bin
f none postfix/save_opts_aliases.cgi 0700 root bin
d none postfix/images 0700 root bin
f none postfix/images/rate.gif 0600 root bin
f none postfix/images/transport.gif 0600 root bin
f none postfix/images/local_delivery.gif 0600 root bin
f none postfix/images/general.gif 0600 root bin
f none postfix/images/ldap.gif 0600 root bin
f none postfix/images/aliases.gif 0600 root bin
f none postfix/images/relocated.gif 0600 root bin
f none postfix/images/smtp.gif 0600 root bin
f none postfix/images/virtual.gif 0600 root bin
f none postfix/images/debug.gif 0600 root bin
f none postfix/images/smtpd.gif 0600 root bin
f none postfix/images/resource.gif 0600 root bin
f none postfix/images/canonical.gif 0600 root bin
f none postfix/images/icon.gif 0600 root bin
f none postfix/images/address_rewriting.gif 0600 root bin
f none postfix/postfix-lib.pl 0600 root bin
f none postfix/save_opts_canonical.cgi 0700 root bin
f none postfix/module.info 0600 root bin
f none postfix/save_opts_transport.cgi 0700 root bin
d none postfix/lang 0700 root bin
f none postfix/lang/fr 0600 root bin
f none postfix/lang/de 0600 root bin
f none postfix/lang/en 0600 root bin
f none postfix/lang/es 0600 root bin
f none postfix/lang/sv 0600 root bin
f none postfix/lang/zh_CN 0600 root bin
f none postfix/lang/pl 0600 root bin
f none postfix/lang/ja_JP.euc 0600 root bin
f none postfix/lang/ko_KR.euc 0600 root bin
f none postfix/lang/ja_JP.jis 0600 root bin
f none postfix/lang/ca 0600 root bin
f none postfix/lang/zh_TW.Big5 0600 root bin
f none postfix/aliases.cgi 0700 root bin
f none postfix/smtp.cgi 0700 root bin
f none postfix/config.info.de 0600 root bin
d none postfix/help 0700 root bin
f none postfix/help/opt_smtpd_timeout.html 0600 root bin
f none postfix/help/opt_2bounce_notice_recipient.html 0600 root bin
f none postfix/help/opt_inet_interfaces.html 0600 root bin
f none postfix/help/opt_qmgr_message_active_limit.html 0600 root bin
f none postfix/help/opt_local_destination_concurrency_limit.html 0600 root bin
f none postfix/help/opt_virtual_maps.html 0600 root bin
f none postfix/help/opt_smtp_data_xfer_timeout.html 0600 root bin
f none postfix/help/opt_default_database_type.html 0600 root bin
f none postfix/help/opt_maximal_queue_lifetime.html 0600 root bin
f none postfix/help/opt_mydomain.html 0600 root bin
f none postfix/help/opt_local_command_shell.html 0600 root bin
f none postfix/help/opt_header_size_limit.html 0600 root bin
f none postfix/help/intro.html 0600 root bin
f none postfix/help/opt_mail_name.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_limit.html 0600 root bin
f none postfix/help/opt_smtp_skip_quit_response.html 0600 root bin
f none postfix/help/opt_smtp_mail_timeout.html 0600 root bin
f none postfix/help/aliases.html 0600 root bin
f none postfix/help/opt_max_use.html 0600 root bin
f none postfix/help/opt_bounce_size_limit.html 0600 root bin
f none postfix/help/canonical.html 0600 root bin
f none postfix/help/opt_queue_directory.html 0600 root bin
f none postfix/help/opt_trigger_timeout.html 0600 root bin
f none postfix/help/opt_relayhost.html 0600 root bin
f none postfix/help/opt_smtp_rcpt_timeout.html 0600 root bin
f none postfix/help/opt_max_idle.html 0600 root bin
f none postfix/help/opt_access_map_reject_code.html 0600 root bin
f none postfix/help/opt_maps_rbl_reject_code.html 0600 root bin
f none postfix/help/opt_luser_relay.html 0600 root bin
f none postfix/help/opt_smtpd_etrn_restrictions.html 0600 root bin
f none postfix/help/opt_unknown_address_reject_code.html 0600 root bin
f none postfix/help/opt_smtp_destination_concurrency_limit.html 0600 root bin
f none postfix/help/opt_debug_peer_list.html 0600 root bin
f none postfix/help/opt_hopcount_limit.html 0600 root bin
f none postfix/help/opt_smtpd_helo_required.html 0600 root bin
f none postfix/help/opt_transport_retry_time.html 0600 root bin
f none postfix/help/opt_masquerade_domains.html 0600 root bin
f none postfix/help/opt_allow_untrusted_routing.html 0600 root bin
f none postfix/help/opt_home_mailbox.html 0600 root bin
f none postfix/help/opt_smtp_data_init_timeout.html 0600 root bin
f none postfix/help/opt_reject_code.html 0600 root bin
f none postfix/help/transport.html 0600 root bin
f none postfix/help/opt_invalid_hostname_reject_code.html 0600 root bin
f none postfix/help/opt_minimal_backoff_time.html 0600 root bin
f none postfix/help/opt_fork_delay.html 0600 root bin
f none postfix/help/relocated.html 0600 root bin
f none postfix/help/opt_deliver_lock_delay.html 0600 root bin
f none postfix/help/opt_deliver_lock_attempts.html 0600 root bin
f none postfix/help/opt_myhostname.html 0600 root bin
f none postfix/help/opt_notify_classes.html 0600 root bin
f none postfix/help/opt_line_length_limit.html 0600 root bin
f none postfix/help/opt_debug_peer_level.html 0600 root bin
f none postfix/help/opt_smtpd_sender_restrictions.html 0600 root bin
f none postfix/help/opt_delay_warning_time.html 0600 root bin
f none postfix/help/opt_sender_canonical_maps.html 0600 root bin
f none postfix/help/opt_default_privs.html 0600 root bin
f none postfix/help/opt_canonical_maps.html 0600 root bin
f none postfix/help/opt_mailbox_transport.html 0600 root bin
f none postfix/help/opt_qmgr_message_recipient_limit.html 0600 root bin
f none postfix/help/opt_smtpd_banner.html 0600 root bin
f none postfix/help/opt_local_recipient_maps.html 0600 root bin
f none postfix/help/opt_swap_bangpath.html 0600 root bin
f none postfix/help/opt_process_id_directory.html 0600 root bin
f none postfix/help/opt_default_process_limit.html 0600 root bin
f none postfix/help/opt_relocated_maps.html 0600 root bin
f none postfix/help/opt_mynetworks.html 0600 root bin
f none postfix/help/opt_unknown_client_reject_code.html 0600 root bin
f none postfix/help/opt_smtp_destination_recipient_limit.html 0600 root bin
f none postfix/help/opt_sample.html 0600 root bin
f none postfix/help/opt_smtp_data_done_timeout.html 0600 root bin
f none postfix/help/opt_smtpd_soft_error_limit.html 0600 root bin
f none postfix/help/opt_command_time_limit.html 0600 root bin
f none postfix/help/opt_fallback_relay.html 0600 root bin
f none postfix/help/opt_local_destination_recipient_limit.html 0600 root bin
f none postfix/help/opt_mail_owner.html 0600 root bin
f none postfix/help/opt_myorigin.html 0600 root bin
f none postfix/help/opt_allow_mail_to_commands.html 0600 root bin
f none postfix/help/opt_allow_mail_to_files.html 0600 root bin
f none postfix/help/opt_double_bounce_sender.html 0600 root bin
f none postfix/help/opt_smtpd_error_sleep_time.html 0600 root bin
f none postfix/help/opt_smtpd_helo_restrictions.html 0600 root bin
f none postfix/help/opt_ipc_idle.html 0600 root bin
f none postfix/help/virtual.html 0600 root bin
f none postfix/help/opt_fallback_transport.html 0600 root bin
f none postfix/help/opt_duplicate_filter_limit.html 0600 root bin
f none postfix/help/opt_bounce_notice_recipient.html 0600 root bin
f none postfix/help/opt_forward_path.html 0600 root bin
f none postfix/help/opt_recipient_delimiter.html 0600 root bin
f none postfix/help/opt_unknown_hostname_reject_code.html 0600 root bin
f none postfix/help/opt_queue_run_delay.html 0600 root bin
f none postfix/help/opt_mailbox_command.html 0600 root bin
f none postfix/help/opt_queue_minfree.html 0600 root bin
f none postfix/help/opt_error_notice_recipient.html 0600 root bin
f none postfix/help/opt_smtpd_hard_error_limit.html 0600 root bin
f none postfix/help/general_opts.html 0600 root bin
f none postfix/help/opt_smtp_skip_4xx_greeting.html 0600 root bin
f none postfix/help/opt_delay_notice_recipient.html 0600 root bin
f none postfix/help/opt_daemon_timeout.html 0600 root bin
f none postfix/help/opt_alias_maps.html 0600 root bin
f none postfix/help/opt_hash_queue_depth.html 0600 root bin
f none postfix/help/opt_transport_maps.html 0600 root bin
f none postfix/help/opt_alias_database.html 0600 root bin
f none postfix/help/opt_prepend_delivered_header.html 0600 root bin
f none postfix/help/opt_smtp_quit_timeout.html 0600 root bin
f none postfix/help/opt_default_transport.html 0600 root bin
f none postfix/help/opt_smtp_helo_timeout.html 0600 root bin
f none postfix/help/opt_initial_destination_concurrency.html 0600 root bin
f none postfix/help/opt_empty_address_recipient.html 0600 root bin
f none postfix/help/opt_always_bcc.html 0600 root bin
f none postfix/help/opt_maps_rbl_domains.html 0600 root bin
f none postfix/help/opt_recipient_canonical_maps.html 0600 root bin
f none postfix/help/opt_relay_domains_reject_code.html 0600 root bin
f none postfix/help/opt_ipc_timeout.html 0600 root bin
f none postfix/help/opt_maximal_backoff_time.html 0600 root bin
f none postfix/help/opt_defer_transports.html 0600 root bin
f none postfix/help/opt_default_destination_recipient_limit.html 0600 root bin
f none postfix/help/opt_mail_version.html 0600 root bin
f none postfix/help/opt_ignore_mx_lookup_error.html 0600 root bin
f none postfix/help/opt_program_directory.html 0600 root bin
f none postfix/help/opt_default_destination_concurrency_limit.html 0600 root bin
f none postfix/help/opt_smtpd_client_restrictions.html 0600 root bin
f none postfix/help/opt_stale_lock_time.html 0600 root bin
f none postfix/help/opt_sun_mailtool_compatibility.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_restrictions.html 0600 root bin
f none postfix/help/opt_smtp_connect_timeout.html 0600 root bin
f none postfix/help/opt_local_transport.html 0600 root bin
f none postfix/help/opt_disable_vrfy_command.html 0600 root bin
f none postfix/help/opt_hash_queue_names.html 0600 root bin
f none postfix/help/opt_message_size_limit.html 0600 root bin
f none postfix/help/opt_best_mx_transport.html 0600 root bin
f none postfix/help/opt_mail_spool_directory.html 0600 root bin
f none postfix/help/opt_fork_attempts.html 0600 root bin
f none postfix/help/opt_relay_domains.html 0600 root bin
f none postfix/help/opt_mydestination.html 0600 root bin
f none postfix/help/opt_masquerade_exceptions.html 0600 root bin
f none postfix/help/opt_reject_code.sv.html 0600 root bin
f none postfix/help/opt_trigger_timeout.sv.html 0600 root bin
f none postfix/help/opt_forward_path.sv.html 0600 root bin
f none postfix/help/opt_smtp_rcpt_timeout.sv.html 0600 root bin
f none postfix/help/general_opts.sv.html 0600 root bin
f none postfix/help/opt_unknown_client_reject_code.sv.html 0600 root bin
f none postfix/help/opt_line_length_limit.sv.html 0600 root bin
f none postfix/help/opt_local_destination_recipient_limit.sv.html 0600 root bin
f none postfix/help/opt_smtp_skip_4xx_greeting.sv.html 0600 root bin
f none postfix/help/opt_masquerade_domains.sv.html 0600 root bin
f none postfix/help/opt_hash_queue_names.sv.html 0600 root bin
f none postfix/help/opt_fallback_transport.sv.html 0600 root bin
f none postfix/help/opt_sample.sv.html 0600 root bin
f none postfix/help/opt_process_id_directory.sv.html 0600 root bin
f none postfix/help/opt_mail_spool_directory.sv.html 0600 root bin
f none postfix/help/opt_unknown_hostname_reject_code.sv.html 0600 root bin
f none postfix/help/opt_default_destination_recipient_limit.sv.html 0600 root bin
f none postfix/help/opt_prepend_delivered_header.sv.html 0600 root bin
f none postfix/help/opt_smtpd_client_restrictions.sv.html 0600 root bin
f none postfix/help/opt_smtp_helo_timeout.sv.html 0600 root bin
f none postfix/help/opt_default_transport.sv.html 0600 root bin
f none postfix/help/opt_delay_warning_time.sv.html 0600 root bin
f none postfix/help/opt_inet_interfaces.sv.html 0600 root bin
f none postfix/help/opt_smtpd_helo_restrictions.sv.html 0600 root bin
f none postfix/help/opt_smtpd_error_sleep_time.sv.html 0600 root bin
f none postfix/help/opt_hash_queue_depth.sv.html 0600 root bin
f none postfix/help/opt_best_mx_transport.sv.html 0600 root bin
f none postfix/help/opt_bounce_notice_recipient.sv.html 0600 root bin
f none postfix/help/opt_myhostname.sv.html 0600 root bin
f none postfix/help/opt_smtpd_etrn_restrictions.sv.html 0600 root bin
f none postfix/help/opt_smtpd_timeout.sv.html 0600 root bin
f none postfix/help/opt_relayhost.sv.html 0600 root bin
f none postfix/help/opt_local_recipient_maps.sv.html 0600 root bin
f none postfix/help/opt_minimal_backoff_time.sv.html 0600 root bin
f none postfix/help/opt_fork_delay.sv.html 0600 root bin
f none postfix/help/opt_max_idle.sv.html 0600 root bin
f none postfix/help/opt_queue_minfree.sv.html 0600 root bin
f none postfix/help/opt_smtp_destination_recipient_limit.sv.html 0600 root bin
f none postfix/help/opt_smtpd_sender_restrictions.sv.html 0600 root bin
f none postfix/help/opt_2bounce_notice_recipient.sv.html 0600 root bin
f none postfix/help/opt_allow_untrusted_routing.sv.html 0600 root bin
f none postfix/help/opt_allow_mail_to_files.sv.html 0600 root bin
f none postfix/help/canonical.sv.html 0600 root bin
f none postfix/help/opt_alias_maps.sv.html 0600 root bin
f none postfix/help/opt_invalid_hostname_reject_code.sv.html 0600 root bin
f none postfix/help/opt_header_size_limit.sv.html 0600 root bin
f none postfix/help/opt_smtp_data_done_timeout.sv.html 0600 root bin
f none postfix/help/opt_smtpd_hard_error_limit.sv.html 0600 root bin
f none postfix/help/opt_hopcount_limit.sv.html 0600 root bin
f none postfix/help/opt_error_notice_recipient.sv.html 0600 root bin
f none postfix/help/opt_sun_mailtool_compatibility.sv.html 0600 root bin
f none postfix/help/opt_stale_lock_time.sv.html 0600 root bin
f none postfix/help/opt_qmgr_message_active_limit.sv.html 0600 root bin
f none postfix/help/opt_mynetworks.sv.html 0600 root bin
f none postfix/help/opt_local_transport.sv.html 0600 root bin
f none postfix/help/opt_local_destination_concurrency_limit.sv.html 0600 root bin
f none postfix/help/opt_recipient_canonical_maps.sv.html 0600 root bin
f none postfix/help/opt_maps_rbl_domains.sv.html 0600 root bin
f none postfix/help/opt_qmgr_message_recipient_limit.sv.html 0600 root bin
f none postfix/help/opt_relocated_maps.sv.html 0600 root bin
f none postfix/help/opt_notify_classes.sv.html 0600 root bin
f none postfix/help/opt_relay_domains.sv.html 0600 root bin
f none postfix/help/opt_command_time_limit.sv.html 0600 root bin
f none postfix/help/opt_smtp_mail_timeout.sv.html 0600 root bin
f none postfix/help/opt_bounce_size_limit.sv.html 0600 root bin
f none postfix/help/opt_smtp_data_xfer_timeout.sv.html 0600 root bin
f none postfix/help/relocated.sv.html 0600 root bin
f none postfix/help/opt_defer_transports.sv.html 0600 root bin
f none postfix/help/opt_debug_peer_level.sv.html 0600 root bin
f none postfix/help/opt_message_size_limit.sv.html 0600 root bin
f none postfix/help/opt_duplicate_filter_limit.sv.html 0600 root bin
f none postfix/help/opt_deliver_lock_attempts.sv.html 0600 root bin
f none postfix/help/opt_luser_relay.sv.html 0600 root bin
f none postfix/help/opt_smtp_skip_quit_response.sv.html 0600 root bin
f none postfix/help/opt_disable_vrfy_command.sv.html 0600 root bin
f none postfix/help/opt_ipc_idle.sv.html 0600 root bin
f none postfix/help/intro.sv.html 0600 root bin
f none postfix/help/opt_alias_database.sv.html 0600 root bin
f none postfix/help/opt_recipient_delimiter.sv.html 0600 root bin
f none postfix/help/opt_mydestination.sv.html 0600 root bin
f none postfix/help/aliases.sv.html 0600 root bin
f none postfix/help/opt_fallback_relay.sv.html 0600 root bin
f none postfix/help/opt_smtp_connect_timeout.sv.html 0600 root bin
f none postfix/help/opt_allow_mail_to_commands.sv.html 0600 root bin
f none postfix/help/opt_empty_address_recipient.sv.html 0600 root bin
f none postfix/help/opt_swap_bangpath.sv.html 0600 root bin
f none postfix/help/opt_local_command_shell.sv.html 0600 root bin
f none postfix/help/opt_mail_name.sv.html 0600 root bin
f none postfix/help/opt_fork_attempts.sv.html 0600 root bin
f none postfix/help/opt_access_map_reject_code.sv.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_limit.sv.html 0600 root bin
f none postfix/help/opt_debug_peer_list.sv.html 0600 root bin
f none postfix/help/opt_smtp_destination_concurrency_limit.sv.html 0600 root bin
f none postfix/help/opt_default_destination_concurrency_limit.sv.html 0600 root bin
f none postfix/help/opt_maximal_queue_lifetime.sv.html 0600 root bin
f none postfix/help/opt_queue_run_delay.sv.html 0600 root bin
f none postfix/help/opt_smtpd_soft_error_limit.sv.html 0600 root bin
f none postfix/help/opt_smtp_quit_timeout.sv.html 0600 root bin
f none postfix/help/opt_transport_retry_time.sv.html 0600 root bin
f none postfix/help/transport.sv.html 0600 root bin
f none postfix/help/opt_smtpd_banner.sv.html 0600 root bin
f none postfix/help/opt_mydomain.sv.html 0600 root bin
f none postfix/help/opt_masquerade_exceptions.sv.html 0600 root bin
f none postfix/help/opt_mailbox_command.sv.html 0600 root bin
f none postfix/help/opt_unknown_address_reject_code.sv.html 0600 root bin
f none postfix/help/opt_program_directory.sv.html 0600 root bin
f none postfix/help/opt_mail_owner.sv.html 0600 root bin
f none postfix/help/opt_delay_notice_recipient.sv.html 0600 root bin
f none postfix/help/opt_canonical_maps.sv.html 0600 root bin
f none postfix/help/opt_default_privs.sv.html 0600 root bin
f none postfix/help/opt_mailbox_transport.sv.html 0600 root bin
f none postfix/help/opt_sender_canonical_maps.sv.html 0600 root bin
f none postfix/help/opt_daemon_timeout.sv.html 0600 root bin
f none postfix/help/opt_maps_rbl_reject_code.sv.html 0600 root bin
f none postfix/help/opt_smtp_data_init_timeout.sv.html 0600 root bin
f none postfix/help/opt_queue_directory.sv.html 0600 root bin
f none postfix/help/opt_transport_maps.sv.html 0600 root bin
f none postfix/help/opt_maximal_backoff_time.sv.html 0600 root bin
f none postfix/help/opt_ignore_mx_lookup_error.sv.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_restrictions.sv.html 0600 root bin
f none postfix/help/opt_initial_destination_concurrency.sv.html 0600 root bin
f none postfix/help/opt_virtual_maps.sv.html 0600 root bin
f none postfix/help/opt_relay_domains_reject_code.sv.html 0600 root bin
f none postfix/help/opt_deliver_lock_delay.sv.html 0600 root bin
f none postfix/help/opt_ipc_timeout.sv.html 0600 root bin
f none postfix/help/opt_myorigin.sv.html 0600 root bin
f none postfix/help/opt_home_mailbox.sv.html 0600 root bin
f none postfix/help/virtual.sv.html 0600 root bin
f none postfix/help/opt_double_bounce_sender.sv.html 0600 root bin
f none postfix/help/opt_always_bcc.sv.html 0600 root bin
f none postfix/help/opt_default_database_type.sv.html 0600 root bin
f none postfix/help/opt_default_process_limit.sv.html 0600 root bin
f none postfix/help/opt_mail_version.sv.html 0600 root bin
f none postfix/help/opt_max_use.sv.html 0600 root bin
f none postfix/help/opt_smtpd_helo_required.sv.html 0600 root bin
f none postfix/help/aliases.es.html 0600 root bin
f none postfix/help/canonical.es.html 0600 root bin
f none postfix/help/general_opts.es.html 0600 root bin
f none postfix/help/intro.es.html 0600 root bin
f none postfix/help/opt_access_map_reject_code.es.html 0600 root bin
f none postfix/help/opt_2bounce_notice_recipient.es.html 0600 root bin
f none postfix/help/opt_alias_database.es.html 0600 root bin
f none postfix/help/opt_alias_maps.es.html 0600 root bin
f none postfix/help/opt_allow_mail_to_commands.es.html 0600 root bin
f none postfix/help/opt_allow_mail_to_files.es.html 0600 root bin
f none postfix/help/opt_allow_untrusted_routing.es.html 0600 root bin
f none postfix/help/opt_always_bcc.es.html 0600 root bin
f none postfix/help/opt_best_mx_transport.es.html 0600 root bin
f none postfix/help/opt_bounce_notice_recipient.es.html 0600 root bin
f none postfix/help/opt_bounce_size_limit.es.html 0600 root bin
f none postfix/help/opt_canonical_maps.es.html 0600 root bin
f none postfix/help/opt_command_time_limit.es.html 0600 root bin
f none postfix/help/opt_daemon_timeout.es.html 0600 root bin
f none postfix/help/opt_debug_peer_level.es.html 0600 root bin
f none postfix/help/opt_debug_peer_list.es.html 0600 root bin
f none postfix/help/opt_default_database_type.es.html 0600 root bin
f none postfix/help/opt_default_destination_concurrency_limit.es.html 0600 root bin
f none postfix/help/opt_default_destination_recipient_limit.es.html 0600 root bin
f none postfix/help/opt_default_privs.es.html 0600 root bin
f none postfix/help/opt_default_process_limit.es.html 0600 root bin
f none postfix/help/opt_default_transport.es.html 0600 root bin
f none postfix/help/opt_defer_transports.es.html 0600 root bin
f none postfix/help/opt_delay_notice_recipient.es.html 0600 root bin
f none postfix/help/opt_deliver_lock_attempts.es.html 0600 root bin
f none postfix/help/aliases.pl.html 0600 root bin
f none postfix/help/opt_deliver_lock_delay.es.html 0600 root bin
f none postfix/help/opt_desfault_destination_concurrency_limit.es.html 0600 root bin
f none postfix/help/opt_disable_vfy_command.es.html 0600 root bin
f none postfix/help/opt_double_bounce_sender.es.html 0600 root bin
f none postfix/help/opt_duplicate_filter_limit.es.html 0600 root bin
f none postfix/help/opt_empty_address_recipient.es.html 0600 root bin
f none postfix/help/opt_error_notice_recipient.es.html 0600 root bin
f none postfix/help/opt_fallback_relay.es.html 0600 root bin
f none postfix/help/opt_fallback_transport.es.html 0600 root bin
f none postfix/help/opt_fork_attempts.es.html 0600 root bin
f none postfix/help/opt_fork_delay.es.html 0600 root bin
f none postfix/help/opt_forward_path.es.html 0600 root bin
f none postfix/help/opt_hash_queue_depth.es.html 0600 root bin
f none postfix/help/opt_hash_queue_names.es.html 0600 root bin
f none postfix/help/opt_header_size_limit.es.html 0600 root bin
f none postfix/help/opt_home_mailbox.es.html 0600 root bin
f none postfix/help/opt_hopcount_limit.es.html 0600 root bin
f none postfix/help/opt_ignore_mx_lookup_error.es.html 0600 root bin
f none postfix/help/opt_inet_interfaces.es.html 0600 root bin
f none postfix/help/opt_initial_destination_concurrency.es.html 0600 root bin
f none postfix/help/opt_ipc_idle.es.html 0600 root bin
f none postfix/help/opt_invalid_hostname_reject_code.es.html 0600 root bin
f none postfix/help/opt_ipc_timeout.es.html 0600 root bin
f none postfix/help/opt_line_length_limit.es.html 0600 root bin
f none postfix/help/opt_luser_relay.es.html 0600 root bin
f none postfix/help/opt_local_command_shell.es.html 0600 root bin
f none postfix/help/opt_local_destination_concurrency_limit.es.html 0600 root bin
f none postfix/help/opt_local_destination_recipient_limit.es.html 0600 root bin
f none postfix/help/opt_local_recipient_maps.es.html 0600 root bin
f none postfix/help/opt_local_transport.es.html 0600 root bin
f none postfix/help/opt_mail_name.es.html 0600 root bin
f none postfix/help/opt_mail_owner.es.html 0600 root bin
f none postfix/help/opt_mail_spool_directory.es.html 0600 root bin
f none postfix/help/opt_mail_version.es.html 0600 root bin
f none postfix/help/opt_mailbox_command.es.html 0600 root bin
f none postfix/help/opt_mailbox_transport.es.html 0600 root bin
f none postfix/help/opt_maps_rbl_domains.es.html 0600 root bin
f none postfix/help/opt_delay_warning_time.es.html 0600 root bin
f none postfix/help/canonical.pl.html 0600 root bin
f none postfix/help/general_opts.pl.html 0600 root bin
f none postfix/help/intro.pl.html 0600 root bin
f none postfix/help/opt_access_map_reject_code.pl.html 0600 root bin
f none postfix/help/opt_alias_database.pl.html 0600 root bin
f none postfix/help/opt_alias_maps.pl.html 0600 root bin
f none postfix/help/opt_allow_mail_to_commands.pl.html 0600 root bin
f none postfix/help/opt_allow_mail_to_files.pl.html 0600 root bin
f none postfix/help/opt_allow_untrusted_routing.pl.html 0600 root bin
f none postfix/help/opt_always_bcc.pl.html 0600 root bin
f none postfix/help/opt_best_mx_transport.pl.html 0600 root bin
f none postfix/help/opt_bounce_notice_recipient.pl.html 0600 root bin
f none postfix/help/opt_fork_delay.pl.html 0600 root bin
f none postfix/help/opt_bounce_size_limit.pl.html 0600 root bin
f none postfix/help/opt_canonical_maps.pl.html 0600 root bin
f none postfix/help/opt_command_time_limit.pl.html 0600 root bin
f none postfix/help/opt_daemon_timeout.pl.html 0600 root bin
f none postfix/help/opt_debug_peer_level.pl.html 0600 root bin
f none postfix/help/opt_debug_peer_list.pl.html 0600 root bin
f none postfix/help/opt_default_database_type.pl.html 0600 root bin
f none postfix/help/opt_default_destination_concurrency_limit.pl.html 0600 root bin
f none postfix/help/opt_default_destination_recipient_limit.pl.html 0600 root bin
f none postfix/help/opt_default_privs.pl.html 0600 root bin
f none postfix/help/opt_default_process_limit.pl.html 0600 root bin
f none postfix/help/opt_default_transport.pl.html 0600 root bin
f none postfix/help/opt_defer_transports.pl.html 0600 root bin
f none postfix/help/opt_delay_notice_recipient.pl.html 0600 root bin
f none postfix/help/opt_delay_warning_time.pl.html 0600 root bin
f none postfix/help/opt_deliver_lock_attempts.pl.html 0600 root bin
f none postfix/help/opt_deliver_lock_delay.pl.html 0600 root bin
f none postfix/help/opt_disable_vrfy_command.pl.html 0600 root bin
f none postfix/help/opt_double_bounce_sender.pl.html 0600 root bin
f none postfix/help/opt_duplicate_filter_limit.pl.html 0600 root bin
f none postfix/help/opt_empty_address_recipient.pl.html 0600 root bin
f none postfix/help/opt_forward_path.pl.html 0600 root bin
f none postfix/help/opt_error_notice_recipient.pl.html 0600 root bin
f none postfix/help/opt_fallback_relay.pl.html 0600 root bin
f none postfix/help/opt_fallback_transport.pl.html 0600 root bin
f none postfix/help/opt_fork_attempts.pl.html 0600 root bin
f none postfix/help/opt_hash_queue_depth.pl.html 0600 root bin
f none postfix/help/opt_hash_queue_names.pl.html 0600 root bin
f none postfix/help/opt_header_size_limit.pl.html 0600 root bin
f none postfix/help/opt_home_mailbox.pl.html 0600 root bin
f none postfix/help/opt_hopcount_limit.pl.html 0600 root bin
f none postfix/help/opt_ignore_mx_lookup_error.pl.html 0600 root bin
f none postfix/help/opt_inet_interfaces.pl.html 0600 root bin
f none postfix/help/opt_initial_destination_concurrency.pl.html 0600 root bin
f none postfix/help/opt_invalid_hostname_reject_code.pl.html 0600 root bin
f none postfix/help/opt_ipc_idle.pl.html 0600 root bin
f none postfix/help/opt_max_use.pl.html 0600 root bin
f none postfix/help/opt_ipc_timeout.pl.html 0600 root bin
f none postfix/help/opt_line_length_limit.pl.html 0600 root bin
f none postfix/help/opt_local_command_shell.pl.html 0600 root bin
f none postfix/help/opt_local_destination_concurrency_limit.pl.html 0600 root bin
f none postfix/help/opt_local_destination_recipient_limit.pl.html 0600 root bin
f none postfix/help/opt_local_recipient_maps.pl.html 0600 root bin
f none postfix/help/opt_local_transport.pl.html 0600 root bin
f none postfix/help/opt_luser_relay.pl.html 0600 root bin
f none postfix/help/opt_mail_name.pl.html 0600 root bin
f none postfix/help/opt_mail_owner.pl.html 0600 root bin
f none postfix/help/opt_mail_spool_directory.pl.html 0600 root bin
f none postfix/help/opt_mail_version.pl.html 0600 root bin
f none postfix/help/opt_max_idle.pl.html 0600 root bin
f none postfix/help/opt_mailbox_command.pl.html 0600 root bin
f none postfix/help/opt_mailbox_transport.pl.html 0600 root bin
f none postfix/help/opt_maps_rbl_domains.pl.html 0600 root bin
f none postfix/help/opt_maps_rbl_reject_code.pl.html 0600 root bin
f none postfix/help/opt_masquerade_domains.pl.html 0600 root bin
f none postfix/help/opt_masquerade_exceptions.pl.html 0600 root bin
f none postfix/help/opt_maximal_backoff_time.pl.html 0600 root bin
f none postfix/help/opt_maximal_queue_lifetime.pl.html 0600 root bin
f none postfix/help/opt_message_size_limit.pl.html 0600 root bin
f none postfix/help/opt_minimal_backoff_time.pl.html 0600 root bin
f none postfix/help/opt_mydestination.pl.html 0600 root bin
f none postfix/help/opt_mydomain.pl.html 0600 root bin
f none postfix/help/relocated.pl.html 0600 root bin
f none postfix/help/opt_myhostname.pl.html 0600 root bin
f none postfix/help/opt_mynetworks.pl.html 0600 root bin
f none postfix/help/opt_myorigin.pl.html 0600 root bin
f none postfix/help/opt_notify_classes.pl.html 0600 root bin
f none postfix/help/opt_prepend_delivered_header.pl.html 0600 root bin
f none postfix/help/opt_process_id_directory.pl.html 0600 root bin
f none postfix/help/opt_program_directory.pl.html 0600 root bin
f none postfix/help/opt_recipient_canonical_maps.pl.html 0600 root bin
f none postfix/help/opt_recipient_delimiter.pl.html 0600 root bin
f none postfix/help/opt_reject_code.pl.html 0600 root bin
f none postfix/help/opt_relay_domains_reject_code.pl.html 0600 root bin
f none postfix/help/opt_relocated_maps.pl.html 0600 root bin
f none postfix/help/opt_sender_canonical_maps.pl.html 0600 root bin
f none postfix/help/opt_transport_maps.pl.html 0600 root bin
f none postfix/help/transport.pl.html 0600 root bin
f none postfix/help/virtual.pl.html 0600 root bin
f none postfix/help/opt_2bounce_notice_recipient.pl.html 0600 root bin
f none postfix/help/opt_qmgr_message_active_limit.pl.html 0600 root bin
f none postfix/help/opt_qmgr_message_recipient_limit.pl.html 0600 root bin
f none postfix/help/opt_queue_directory.pl.html 0600 root bin
f none postfix/help/opt_queue_minfree.pl.html 0600 root bin
f none postfix/help/opt_queue_run_delay.pl.html 0600 root bin
f none postfix/help/opt_relay_domains.pl.html 0600 root bin
f none postfix/help/opt_relayhost.pl.html 0600 root bin
f none postfix/help/opt_smtp_connect_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_data_done_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_data_init_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_data_xfer_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_destination_concurrency_limit.pl.html 0600 root bin
f none postfix/help/opt_smtp_destination_recipient_limit.pl.html 0600 root bin
f none postfix/help/opt_smtp_helo_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_mail_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_quit_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_rcpt_timeout.pl.html 0600 root bin
f none postfix/help/opt_smtp_skip_4xx_greeting.pl.html 0600 root bin
f none postfix/help/opt_smtp_skip_quit_response.pl.html 0600 root bin
f none postfix/help/opt_smtpd_banner.pl.html 0600 root bin
f none postfix/help/relay_rules.pl.html 0600 root bin
f none postfix/help/opt_virtual_maps.pl.html 0600 root bin
f none postfix/help/opt_smtpd_client_restrictions.pl.html 0600 root bin
f none postfix/help/opt_smtpd_error_sleep_time.pl.html 0600 root bin
f none postfix/help/opt_smtpd_etrn_restrictions.pl.html 0600 root bin
f none postfix/help/opt_smtpd_hard_error_limit.pl.html 0600 root bin
f none postfix/help/opt_smtpd_helo_required.pl.html 0600 root bin
f none postfix/help/opt_smtpd_helo_restrictions.pl.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_limit.pl.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_restrictions.pl.html 0600 root bin
f none postfix/help/opt_smtpd_sender_restrictions.pl.html 0600 root bin
f none postfix/help/opt_smtpd_soft_error_limit.pl.html 0600 root bin
f none postfix/help/aliases.ca.html 0600 root bin
f none postfix/help/opt_smtpd_timeout.pl.html 0600 root bin
f none postfix/help/opt_stale_lock_time.pl.html 0600 root bin
f none postfix/help/opt_sun_mailtool_compatibility.pl.html 0600 root bin
f none postfix/help/opt_swap_bangpath.pl.html 0600 root bin
f none postfix/help/opt_transport_retry_time.pl.html 0600 root bin
f none postfix/help/opt_trigger_timeout.pl.html 0600 root bin
f none postfix/help/opt_unknown_address_reject_code.pl.html 0600 root bin
f none postfix/help/opt_unknown_client_reject_code.pl.html 0600 root bin
f none postfix/help/opt_unknown_hostname_reject_code.pl.html 0600 root bin
f none postfix/help/smtpd_restrictions.pl.html 0600 root bin
f none postfix/help/relay_rules.html 0600 root bin
f none postfix/help/smtpd_restrictions.html 0600 root bin
f none postfix/help/relay_rules.sv.html 0600 root bin
f none postfix/help/smtpd_restrictions.sv.html 0600 root bin
f none postfix/help/canonical.ca.html 0600 root bin
f none postfix/help/general_opts.ca.html 0600 root bin
f none postfix/help/intro.ca.html 0600 root bin
f none postfix/help/opt_2bounce_notice_recipient.ca.html 0600 root bin
f none postfix/help/opt_access_map_reject_code.ca.html 0600 root bin
f none postfix/help/opt_alias_database.ca.html 0600 root bin
f none postfix/help/opt_alias_maps.ca.html 0600 root bin
f none postfix/help/opt_allow_mail_to_commands.ca.html 0600 root bin
f none postfix/help/opt_allow_mail_to_files.ca.html 0600 root bin
f none postfix/help/opt_allow_untrusted_routing.ca.html 0600 root bin
f none postfix/help/opt_always_bcc.ca.html 0600 root bin
f none postfix/help/opt_best_mx_transport.ca.html 0600 root bin
f none postfix/help/opt_fork_delay.ca.html 0600 root bin
f none postfix/help/opt_bounce_notice_recipient.ca.html 0600 root bin
f none postfix/help/opt_bounce_size_limit.ca.html 0600 root bin
f none postfix/help/opt_canonical_maps.ca.html 0600 root bin
f none postfix/help/opt_command_time_limit.ca.html 0600 root bin
f none postfix/help/opt_daemon_timeout.ca.html 0600 root bin
f none postfix/help/opt_debug_peer_level.ca.html 0600 root bin
f none postfix/help/opt_debug_peer_list.ca.html 0600 root bin
f none postfix/help/opt_default_database_type.ca.html 0600 root bin
f none postfix/help/opt_default_destination_concurrency_limit.ca.html 0600 root bin
f none postfix/help/opt_default_destination_recipient_limit.ca.html 0600 root bin
f none postfix/help/opt_default_privs.ca.html 0600 root bin
f none postfix/help/opt_defer_transports.ca.html 0600 root bin
f none postfix/help/opt_default_process_limit.ca.html 0600 root bin
f none postfix/help/opt_default_transport.ca.html 0600 root bin
f none postfix/help/opt_delay_notice_recipient.ca.html 0600 root bin
f none postfix/help/opt_delay_warning_time.ca.html 0600 root bin
f none postfix/help/opt_deliver_lock_attempts.ca.html 0600 root bin
f none postfix/help/opt_deliver_lock_delay.ca.html 0600 root bin
f none postfix/help/opt_disable_vrfy_command.ca.html 0600 root bin
f none postfix/help/opt_double_bounce_sender.ca.html 0600 root bin
f none postfix/help/opt_duplicate_filter_limit.ca.html 0600 root bin
f none postfix/help/opt_empty_address_recipient.ca.html 0600 root bin
f none postfix/help/opt_error_notice_recipient.ca.html 0600 root bin
f none postfix/help/opt_fallback_relay.ca.html 0600 root bin
f none postfix/help/opt_fallback_transport.ca.html 0600 root bin
f none postfix/help/opt_fork_attempts.ca.html 0600 root bin
f none postfix/help/opt_forward_path.ca.html 0600 root bin
f none postfix/help/opt_hash_queue_depth.ca.html 0600 root bin
f none postfix/help/opt_hash_queue_names.ca.html 0600 root bin
f none postfix/help/opt_header_size_limit.ca.html 0600 root bin
f none postfix/help/opt_home_mailbox.ca.html 0600 root bin
f none postfix/help/opt_hopcount_limit.ca.html 0600 root bin
f none postfix/help/opt_ignore_mx_lookup_error.ca.html 0600 root bin
f none postfix/help/opt_inet_interfaces.ca.html 0600 root bin
f none postfix/help/opt_initial_destination_concurrency.ca.html 0600 root bin
f none postfix/help/opt_invalid_hostname_reject_code.ca.html 0600 root bin
f none postfix/help/virtual.ca.html 0600 root bin
f none postfix/help/opt_ipc_idle.ca.html 0600 root bin
f none postfix/help/opt_ipc_timeout.ca.html 0600 root bin
f none postfix/help/opt_line_length_limit.ca.html 0600 root bin
f none postfix/help/opt_local_command_shell.ca.html 0600 root bin
f none postfix/help/opt_local_destination_concurrency_limit.ca.html 0600 root bin
f none postfix/help/opt_local_destination_recipient_limit.ca.html 0600 root bin
f none postfix/help/opt_local_recipient_maps.ca.html 0600 root bin
f none postfix/help/opt_local_transport.ca.html 0600 root bin
f none postfix/help/opt_luser_relay.ca.html 0600 root bin
f none postfix/help/opt_mail_name.ca.html 0600 root bin
f none postfix/help/opt_mail_owner.ca.html 0600 root bin
f none postfix/help/opt_mail_spool_directory.ca.html 0600 root bin
f none postfix/help/opt_mail_version.ca.html 0600 root bin
f none postfix/help/opt_mailbox_command.ca.html 0600 root bin
f none postfix/help/opt_mailbox_transport.ca.html 0600 root bin
f none postfix/help/opt_maps_rbl_domains.ca.html 0600 root bin
f none postfix/help/opt_maps_rbl_reject_code.ca.html 0600 root bin
f none postfix/help/opt_masquerade_domains.ca.html 0600 root bin
f none postfix/help/opt_masquerade_exceptions.ca.html 0600 root bin
f none postfix/help/opt_max_idle.ca.html 0600 root bin
f none postfix/help/opt_max_use.ca.html 0600 root bin
f none postfix/help/opt_maximal_backoff_time.ca.html 0600 root bin
f none postfix/help/opt_maximal_queue_lifetime.ca.html 0600 root bin
f none postfix/help/opt_message_size_limit.ca.html 0600 root bin
f none postfix/help/opt_minimal_backoff_time.ca.html 0600 root bin
f none postfix/help/opt_mydestination.ca.html 0600 root bin
f none postfix/help/opt_mydomain.ca.html 0600 root bin
f none postfix/help/opt_myhostname.ca.html 0600 root bin
f none postfix/help/opt_mynetworks.ca.html 0600 root bin
f none postfix/help/opt_myorigin.ca.html 0600 root bin
f none postfix/help/opt_notify_classes.ca.html 0600 root bin
f none postfix/help/opt_prepend_delivered_header.ca.html 0600 root bin
f none postfix/help/opt_process_id_directory.ca.html 0600 root bin
f none postfix/help/opt_program_directory.ca.html 0600 root bin
f none postfix/help/opt_qmgr_message_active_limit.ca.html 0600 root bin
f none postfix/help/opt_qmgr_message_recipient_limit.ca.html 0600 root bin
f none postfix/help/opt_queue_directory.ca.html 0600 root bin
f none postfix/help/opt_queue_minfree.ca.html 0600 root bin
f none postfix/help/opt_queue_run_delay.ca.html 0600 root bin
f none postfix/help/opt_recipient_canonical_maps.ca.html 0600 root bin
f none postfix/help/opt_recipient_delimiter.ca.html 0600 root bin
f none postfix/help/opt_reject_code.ca.html 0600 root bin
f none postfix/help/opt_relay_domains.ca.html 0600 root bin
f none postfix/help/opt_relay_domains_reject_code.ca.html 0600 root bin
f none postfix/help/opt_relayhost.ca.html 0600 root bin
f none postfix/help/opt_relocated_maps.ca.html 0600 root bin
f none postfix/help/opt_sample.ca.html 0600 root bin
f none postfix/help/opt_sender_canonical_maps.ca.html 0600 root bin
f none postfix/help/opt_smtp_connect_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_data_done_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_data_init_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtpd_banner.ca.html 0600 root bin
f none postfix/help/opt_smtp_data_xfer_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_destination_concurrency_limit.ca.html 0600 root bin
f none postfix/help/opt_smtp_destination_recipient_limit.ca.html 0600 root bin
f none postfix/help/opt_smtp_helo_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_mail_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_quit_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_rcpt_timeout.ca.html 0600 root bin
f none postfix/help/opt_smtp_skip_4xx_greeting.ca.html 0600 root bin
f none postfix/help/opt_smtp_skip_quit_response.ca.html 0600 root bin
f none postfix/help/opt_smtpd_client_restrictions.ca.html 0600 root bin
f none postfix/help/opt_smtpd_error_sleep_time.ca.html 0600 root bin
f none postfix/help/opt_smtpd_etrn_restrictions.ca.html 0600 root bin
f none postfix/help/opt_smtpd_hard_error_limit.ca.html 0600 root bin
f none postfix/help/opt_smtpd_helo_required.ca.html 0600 root bin
f none postfix/help/opt_smtpd_helo_restrictions.ca.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_limit.ca.html 0600 root bin
f none postfix/help/opt_smtpd_recipient_restrictions.ca.html 0600 root bin
f none postfix/help/opt_smtpd_sender_restrictions.ca.html 0600 root bin
f none postfix/help/opt_smtpd_soft_error_limit.ca.html 0600 root bin
f none postfix/help/opt_smtpd_timeout.ca.html 0600 root bin
f none postfix/help/opt_stale_lock_time.ca.html 0600 root bin
f none postfix/help/opt_sun_mailtool_compatibility.ca.html 0600 root bin
f none postfix/help/relay_rules.ca.html 0600 root bin
f none postfix/help/opt_swap_bangpath.ca.html 0600 root bin
f none postfix/help/opt_transport_maps.ca.html 0600 root bin
f none postfix/help/opt_transport_retry_time.ca.html 0600 root bin
f none postfix/help/opt_trigger_timeout.ca.html 0600 root bin
f none postfix/help/opt_unknown_address_reject_code.ca.html 0600 root bin
f none postfix/help/opt_unknown_client_reject_code.ca.html 0600 root bin
f none postfix/help/opt_unknown_hostname_reject_code.ca.html 0600 root bin
f none postfix/help/opt_virtual_maps.ca.html 0600 root bin
f none postfix/help/relocated.ca.html 0600 root bin
f none postfix/help/smtpd_restrictions.ca.html 0600 root bin
f none postfix/help/transport.ca.html 0600 root bin
f none postfix/save_opts_relocated.cgi 0700 root bin
f none postfix/canonical.cgi 0700 root bin
f none postfix/rate.cgi 0700 root bin
f none postfix/save_map.cgi 0700 root bin
f none postfix/transport.cgi 0700 root bin
f none postfix/canonical_edit.cgi 0700 root bin
f none postfix/start.cgi 0700 root bin
f none postfix/local_delivery.cgi 0700 root bin
f none postfix/config.info 0600 root bin
f none postfix/edit_mapping.cgi 0700 root bin
f none postfix/relocated.cgi 0700 root bin
f none postfix/save_opts.cgi 0700 root bin
f none postfix/config 0600 root bin
f none postfix/config.info.fr 0600 root bin
f none postfix/maps_edit.cgi 0700 root bin
f none postfix/index.cgi 0700 root bin
f none postfix/save_alias.cgi 0700 root bin
f none postfix/save_opts_virtual.cgi 0700 root bin
f none postfix/general.cgi 0700 root bin
f none postfix/config.info.es 0600 root bin
f none postfix/config.info.sv 0600 root bin
f none postfix/config.info.tr 0600 root bin
f none postfix/config.info.pl 0600 root bin
f none postfix/config.info.zh_CN 0600 root bin
f none postfix/config-mandrake-linux 0600 root bin
f none postfix/config-netbsd 0600 root bin
f none postfix/config-msc-linux 0600 root bin
f none postfix/acl_security.pl 0600 root bin
f none postfix/config.info.ca 0600 root bin
f none postfix/config-freebsd 0600 root bin
f none postfix/address_rewriting.cgi 0700 root bin
f none postfix/config.info.zh_TW.Big5 0600 root bin
d none webminlog 0700 root bin
f none webminlog/module.info 0600 root bin
f none webminlog/index.cgi 0700 root bin
f none webminlog/webminlog-lib.pl 0600 root bin
d none webminlog/lang 0700 root bin
f none webminlog/lang/en 0600 root bin
f none webminlog/lang/pl 0600 root bin
f none webminlog/lang/hu 0600 root bin
f none webminlog/lang/tr 0600 root bin
f none webminlog/lang/sv 0600 root bin
f none webminlog/lang/es 0600 root bin
f none webminlog/lang/nl 0600 root bin
f none webminlog/lang/zh_CN 0600 root bin
f none webminlog/lang/fr 0600 root bin
f none webminlog/lang/ja_JP.euc 0600 root bin
f none webminlog/lang/ko_KR.euc 0600 root bin
f none webminlog/lang/ca 0600 root bin
f none webminlog/lang/de 0600 root bin
f none webminlog/lang/zh_TW.Big5 0600 root bin
d none webminlog/images 0700 root bin
f none webminlog/images/icon.gif 0600 root bin
f none webminlog/search.cgi 0700 root bin
f none webminlog/view.cgi 0700 root bin
d none postgresql 0700 root bin
f none postgresql/edit_grant.cgi 0700 root bin
f none postgresql/postgresql-lib.pl 0600 root bin
f none postgresql/view_table.cgi 0700 root bin
f none postgresql/newdb_form.cgi 0700 root bin
f none postgresql/edit_user.cgi 0700 root bin
f none postgresql/edit_dbase.cgi 0700 root bin
f none postgresql/stop.cgi 0700 root bin
f none postgresql/edit_field.cgi 0700 root bin
f none postgresql/list_grants.cgi 0700 root bin
f none postgresql/save_user.cgi 0700 root bin
f none postgresql/edit_table.cgi 0700 root bin
f none postgresql/defaultacl 0600 root bin
d none postgresql/images 0700 root bin
f none postgresql/images/db.gif 0600 root bin
f none postgresql/images/grants.gif 0600 root bin
f none postgresql/images/groups.gif 0600 root bin
f none postgresql/images/table.gif 0600 root bin
f none postgresql/images/hosts.gif 0600 root bin
f none postgresql/images/icon.gif 0600 root bin
f none postgresql/images/users.gif 0600 root bin
f none postgresql/images/up.gif 0600 root bin
f none postgresql/images/down.gif 0600 root bin
f none postgresql/images/gap.gif 0600 root bin
f none postgresql/exec_form.cgi 0700 root bin
f none postgresql/login.cgi 0700 root bin
f none postgresql/list_locals.cgi 0700 root bin
f none postgresql/save_group.cgi 0700 root bin
f none postgresql/list_groups.cgi 0700 root bin
f none postgresql/create_table.cgi 0700 root bin
f none postgresql/config-suse-linux 0600 root bin
d none postgresql/lang 0700 root bin
f none postgresql/lang/en 0600 root bin
f none postgresql/lang/sv 0600 root bin
f none postgresql/lang/es 0600 root bin
f none postgresql/lang/zh_CN 0600 root bin
f none postgresql/lang/pl 0600 root bin
f none postgresql/lang/ja_JP.euc 0600 root bin
f none postgresql/lang/ko_KR.euc 0600 root bin
f none postgresql/lang/ca 0600 root bin
f none postgresql/lang/it 0600 root bin
f none postgresql/lang/zh_TW.Big5 0600 root bin
f none postgresql/module.info 0600 root bin
f none postgresql/config-debian-linux 0600 root bin
f none postgresql/edit_host.cgi 0700 root bin
f none postgresql/exec.cgi 0700 root bin
f none postgresql/save_grant.cgi 0700 root bin
f none postgresql/list_hosts.cgi 0700 root bin
f none postgresql/save_host.cgi 0700 root bin
f none postgresql/list_users.cgi 0700 root bin
f none postgresql/start.cgi 0700 root bin
f none postgresql/config.info 0600 root bin
f none postgresql/newdb.cgi 0700 root bin
f none postgresql/edit_group.cgi 0700 root bin
f none postgresql/save_field.cgi 0700 root bin
f none postgresql/drop_dbase.cgi 0700 root bin
f none postgresql/config-cobalt-linux 0600 root bin
f none postgresql/config 0600 root bin
f none postgresql/config-redhat-linux 0600 root bin
f none postgresql/log_parser.pl 0600 root bin
f none postgresql/index.cgi 0700 root bin
f none postgresql/table_form.cgi 0700 root bin
f none postgresql/drop_table.cgi 0700 root bin
f none postgresql/acl_security.pl 0600 root bin
d none postgresql/help 0700 root bin
f none postgresql/help/edit_table.html 0600 root bin
f none postgresql/help/list_users.html 0600 root bin
f none postgresql/help/view_table.html 0600 root bin
f none postgresql/help/newdb_form.html 0600 root bin
f none postgresql/help/edit_dbase.html 0600 root bin
f none postgresql/help/create_field.html 0600 root bin
f none postgresql/help/exec_form.html 0600 root bin
f none postgresql/help/edit_field.html 0600 root bin
f none postgresql/help/list_grants.html 0600 root bin
f none postgresql/help/table_form.html 0600 root bin
f none postgresql/help/list_groups.html 0600 root bin
f none postgresql/help/intro.html 0600 root bin
f none postgresql/help/list_hosts.html 0600 root bin
f none postgresql/help/create_field.es.html 0600 root bin
f none postgresql/help/exec_form.es.html 0600 root bin
f none postgresql/help/table_form.es.html 0600 root bin
f none postgresql/help/list_groups.es.html 0600 root bin
f none postgresql/help/view_table.es.html 0600 root bin
f none postgresql/help/intro.es.html 0600 root bin
f none postgresql/help/newdb_form.es.html 0600 root bin
f none postgresql/help/edit_dbase.es.html 0600 root bin
f none postgresql/help/edit_field.es.html 0600 root bin
f none postgresql/help/list_grants.es.html 0600 root bin
f none postgresql/help/list_hosts.es.html 0600 root bin
f none postgresql/help/list_users.es.html 0600 root bin
f none postgresql/help/edit_table.es.html 0600 root bin
f none postgresql/help/table_form.pl.html 0600 root bin
f none postgresql/help/view_table.pl.html 0600 root bin
f none postgresql/help/newdb_form.pl.html 0600 root bin
f none postgresql/help/edit_dbase.pl.html 0600 root bin
f none postgresql/help/edit_field.pl.html 0600 root bin
f none postgresql/help/list_grants.pl.html 0600 root bin
f none postgresql/help/edit_table.pl.html 0600 root bin
f none postgresql/help/create_field.pl.html 0600 root bin
f none postgresql/help/exec_form.pl.html 0600 root bin
f none postgresql/help/list_groups.pl.html 0600 root bin
f none postgresql/help/list_hosts.pl.html 0600 root bin
f none postgresql/help/intro.pl.html 0600 root bin
f none postgresql/help/list_users.pl.html 0600 root bin
f none postgresql/help/create_field.ja_JP.euc.html 0600 root bin
f none postgresql/help/edit_dbase.ja_JP.euc.html 0600 root bin
f none postgresql/help/edit_field.ja_JP.euc.html 0600 root bin
f none postgresql/help/edit_table.ja_JP.euc.html 0600 root bin
f none postgresql/help/exec_form.ja_JP.euc.html 0600 root bin
f none postgresql/help/intro.ja_JP.euc.html 0600 root bin
f none postgresql/help/list_grants.ja_JP.euc.html 0600 root bin
f none postgresql/help/list_groups.ja_JP.euc.html 0600 root bin
f none postgresql/help/list_hosts.ja_JP.euc.html 0600 root bin
f none postgresql/help/list_users.ja_JP.euc.html 0600 root bin
f none postgresql/help/newdb_form.ja_JP.euc.html 0600 root bin
f none postgresql/help/table_form.ja_JP.euc.html 0600 root bin
f none postgresql/help/create_field.ca.html 0600 root bin
f none postgresql/help/view_table.ja_JP.euc.html 0600 root bin
f none postgresql/help/edit_dbase.ca.html 0600 root bin
f none postgresql/help/edit_field.ca.html 0600 root bin
f none postgresql/help/edit_table.ca.html 0600 root bin
f none postgresql/help/exec_form.ca.html 0600 root bin
f none postgresql/help/intro.ca.html 0600 root bin
f none postgresql/help/list_grants.ca.html 0600 root bin
f none postgresql/help/list_groups.ca.html 0600 root bin
f none postgresql/help/list_hosts.ca.html 0600 root bin
f none postgresql/help/list_users.ca.html 0600 root bin
f none postgresql/help/newdb_form.ca.html 0600 root bin
f none postgresql/help/table_form.ca.html 0600 root bin
f none postgresql/help/view_table.ca.html 0600 root bin
f none postgresql/help/create_field.it.html 0600 root bin
f none postgresql/help/edit_dbase.it.html 0600 root bin
f none postgresql/help/edit_field.it.html 0600 root bin
f none postgresql/help/edit_table.it.html 0600 root bin
f none postgresql/help/exec_form.it.html 0600 root bin
f none postgresql/help/intro.it.html 0600 root bin
f none postgresql/help/list_grants.it.html 0600 root bin
f none postgresql/help/list_groups.it.html 0600 root bin
f none postgresql/help/list_hosts.it.html 0600 root bin
f none postgresql/help/list_users.it.html 0600 root bin
f none postgresql/help/newdb_form.it.html 0600 root bin
f none postgresql/help/table_form.it.html 0600 root bin
f none postgresql/help/view_table.it.html 0600 root bin
f none postgresql/help/drop_field.html 0600 root bin
f none postgresql/config-suse-linux-7.0 0600 root bin
f none postgresql/config-redhat-linux-7.0 0600 root bin
f none postgresql/config.info.sv 0600 root bin
f none postgresql/config.info.es 0600 root bin
f none postgresql/config.info.zh_CN 0600 root bin
f none postgresql/config-suse-linux-7.1 0600 root bin
f none postgresql/config-redhat-linux-7.1 0600 root bin
f none postgresql/config.info.pl 0600 root bin
f none postgresql/config-mandrake-linux 0600 root bin
f none postgresql/config-freebsd 0600 root bin
f none postgresql/config-suse-linux-7.2 0600 root bin
f none postgresql/config-netbsd 0600 root bin
f none postgresql/config-msc-linux 0600 root bin
f none postgresql/config.info.ca 0600 root bin
f none postgresql/config.info.ja_JP.euc 0600 root bin
f none postgresql/config-suse-linux-7.3 0600 root bin
f none postgresql/config-redhat-linux-7.2 0600 root bin
f none postgresql/config-redhat-linux-7.3 0600 root bin
f none postgresql/config-suse-linux-8.0 0600 root bin
f none postgresql/config.info.zh_TW.Big5 0600 root bin
f none postgresql/down.cgi 0700 root bin
f none postgresql/drop_field.cgi 0700 root bin
f none postgresql/config-gentoo-linux 0600 root bin
f none postgresql/up.cgi 0700 root bin
d none xinetd 0700 root bin
f none xinetd/config-suse-linux 0600 root bin
f none xinetd/config.info 0600 root bin
f none xinetd/module.info 0600 root bin
d none xinetd/lang 0700 root bin
f none xinetd/lang/sv 0600 root bin
f none xinetd/lang/en 0600 root bin
f none xinetd/lang/pl 0600 root bin
f none xinetd/lang/es 0600 root bin
f none xinetd/lang/zh_CN 0600 root bin
f none xinetd/lang/ja_JP.euc 0600 root bin
f none xinetd/lang/ko_KR.euc 0600 root bin
f none xinetd/lang/ca 0600 root bin
f none xinetd/lang/fr 0600 root bin
f none xinetd/lang/hu 0600 root bin
f none xinetd/lang/it 0600 root bin
f none xinetd/lang/zh_TW.Big5 0600 root bin
f none xinetd/config-debian-linux 0600 root bin
f none xinetd/edit_serv.cgi 0700 root bin
f none xinetd/restart.cgi 0700 root bin
d none xinetd/images 0700 root bin
f none xinetd/images/icon.gif 0600 root bin
f none xinetd/config.info.sv 0600 root bin
f none xinetd/save_defaults.cgi 0700 root bin
f none xinetd/log_parser.pl 0600 root bin
f none xinetd/config-redhat-linux 0600 root bin
f none xinetd/index.cgi 0700 root bin
f none xinetd/config.info.pl 0600 root bin
f none xinetd/xinetd-lib.pl 0600 root bin
f none xinetd/config-freebsd 0600 root bin
f none xinetd/edit_defaults.cgi 0700 root bin
f none xinetd/start.cgi 0700 root bin
f none xinetd/save_serv.cgi 0700 root bin
f none xinetd/config.info.es 0600 root bin
f none xinetd/config 0600 root bin
f none xinetd/config.info.zh_CN 0600 root bin
f none xinetd/config-suse-linux-7.1 0600 root bin
f none xinetd/config-mandrake-linux 0600 root bin
f none xinetd/config-suse-linux-7.2 0600 root bin
f none xinetd/config-msc-linux 0600 root bin
f none xinetd/config.info.ca 0600 root bin
f none xinetd/config-suse-linux-7.3 0600 root bin
f none xinetd/config.info.hu 0600 root bin
f none xinetd/feedback_files.pl 0600 root bin
f none xinetd/config-suse-linux-8.0 0600 root bin
f none xinetd/config.info.zh_TW.Big5 0600 root bin
f none xinetd/config-gentoo-linux 0600 root bin
d none status 0700 root bin
f none status/module.info 0600 root bin
f none status/apache-monitor.pl 0600 root bin
f none status/status-lib.pl 0600 root bin
d none status/lang 0700 root bin
f none status/lang/en 0600 root bin
f none status/lang/sv 0600 root bin
f none status/lang/pl 0600 root bin
f none status/lang/es 0600 root bin
f none status/lang/nl 0600 root bin
f none status/lang/zh_CN 0600 root bin
f none status/lang/ja_JP.euc 0600 root bin
f none status/lang/ko_KR.euc 0600 root bin
f none status/lang/ca 0600 root bin
f none status/lang/fr 0600 root bin
f none status/lang/de 0600 root bin
f none status/inetd-monitor.pl 0600 root bin
f none status/squid-monitor.pl 0600 root bin
d none status/images 0700 root bin
f none status/images/up.gif 0600 root bin
f none status/images/down.gif 0600 root bin
f none status/images/not.gif 0600 root bin
f none status/images/icon.gif 0600 root bin
f none status/images/quest.gif 0600 root bin
f none status/index.cgi 0700 root bin
f none status/dhcpd-monitor.pl 0600 root bin
f none status/samba-monitor.pl 0600 root bin
d none status/services 0700 root bin
f none status/services/apache.serv 0600 root bin
f none status/services/dhcpd.serv 0600 root bin
f none status/services/samba.serv 0600 root bin
f none status/services/postgresql.serv 0600 root bin
f none status/services/inetd.serv 0600 root bin
f none status/services/bind8.serv 0600 root bin
f none status/services/squid.serv 0600 root bin
f none status/services/mysql.serv 0600 root bin
f none status/services/nfs.serv 0600 root bin
f none status/services/xinetd.serv 0600 root bin
f none status/services/sendmail.serv 0600 root bin
f none status/services/dnsadmin.serv 0600 root bin
f none status/services/postfix.serv 0600 root bin
f none status/services/qmailadmin.serv 0600 root bin
f none status/nfs-monitor.pl 0600 root bin
f none status/config-hpux 0600 root bin
f none status/config-turbo-linux 0600 root bin
f none status/ping-monitor.pl 0600 root bin
f none status/edit_mon.cgi 0700 root bin
f none status/config-open-linux 0600 root bin
f none status/mysql-monitor.pl 0600 root bin
f none status/config-corel-linux 0600 root bin
f none status/save_sched.cgi 0700 root bin
f none status/config-freebsd 0600 root bin
f none status/http-monitor.pl 0600 root bin
f none status/config-suse-linux 0600 root bin
f none status/config-solaris 0600 root bin
f none status/config-debian-linux 0600 root bin
f none status/tcp-monitor.pl 0600 root bin
f none status/xinetd-monitor.pl 0600 root bin
f none status/sendmail-monitor.pl 0600 root bin
f none status/dnsadmin-monitor.pl 0600 root bin
f none status/edit_sched.cgi 0700 root bin
f none status/config.info 0600 root bin
f none status/monitor.pl 0700 root bin
f none status/postgresql-monitor.pl 0600 root bin
f none status/proc-monitor.pl 0600 root bin
f none status/bind8-monitor.pl 0600 root bin
f none status/config 0600 root bin
f none status/config-redhat-linux 0600 root bin
f none status/save_mon.cgi 0700 root bin
f none status/config-slackware-linux 0600 root bin
f none status/exec-monitor.pl 0600 root bin
f none status/config.info.sv 0600 root bin
f none status/config.info.pl 0600 root bin
f none status/config.info.es 0600 root bin
f none status/postfix-monitor.pl 0600 root bin
f none status/config.info.zh_CN 0600 root bin
f none status/config.info.nl 0600 root bin
f none status/file-monitor.pl 0600 root bin
f none status/traffic-monitor.pl 0600 root bin
f none status/config-mandrake-linux 0600 root bin
f none status/log_parser.pl 0600 root bin
f none status/acl_security.pl 0600 root bin
f none status/defaultacl 0600 root bin
f none status/config-netbsd 0600 root bin
f none status/space-monitor.pl 0600 root bin
f none status/config-msc-linux 0600 root bin
f none status/load-monitor.pl 0600 root bin
f none status/config.info.ca 0600 root bin
f none status/feedback_files.pl 0600 root bin
f none status/config.info.de 0600 root bin
f none status/change-monitor.pl 0600 root bin
f none status/qmailadmin-monitor.pl 0600 root bin
f none status/config-generic-linux 0600 root bin
f none status/mon-monitor.pl 0600 root bin
f none status/jabber-monitor.pl 0600 root bin
f none status/usermin-monitor.pl 0600 root bin
f none status/portsentry-monitor.pl 0600 root bin
f none status/hostsentry-monitor.pl 0600 root bin
f none status/webmin-monitor.pl 0600 root bin
f none status/cfengine-monitor.pl 0600 root bin
f none status/uninstall.pl 0600 root bin
d none cpan 0700 root bin
d none cpan/images 0700 root bin
f none cpan/images/icon.gif 0600 root bin
f none cpan/images/mod.gif 0600 root bin
f none cpan/images/cat.gif 0600 root bin
f none cpan/module.info 0600 root bin
d none cpan/lang 0700 root bin
f none cpan/lang/pl 0600 root bin
f none cpan/lang/en 0600 root bin
f none cpan/lang/es 0600 root bin
f none cpan/lang/nl 0600 root bin
f none cpan/lang/zh_CN 0600 root bin
f none cpan/lang/ru_RU 0600 root bin
f none cpan/lang/ru_SU 0600 root bin
f none cpan/lang/sv 0600 root bin
f none cpan/lang/ja_JP.euc 0600 root bin
f none cpan/lang/ko_KR.euc 0600 root bin
f none cpan/lang/ca 0600 root bin
f none cpan/lang/fr 0600 root bin
f none cpan/lang/de 0600 root bin
f none cpan/lang/hu 0600 root bin
f none cpan/lang/zh_TW.Big5 0600 root bin
f none cpan/download.cgi 0700 root bin
f none cpan/cpan-lib.pl 0600 root bin
f none cpan/index.cgi 0700 root bin
f none cpan/edit_mod.cgi 0700 root bin
f none cpan/install.cgi 0700 root bin
f none cpan/config 0600 root bin
f none cpan/config.info 0600 root bin
f none cpan/cpan.cgi 0700 root bin
f none cpan/config.info.sv 0600 root bin
f none cpan/config.info.pl 0600 root bin
f none cpan/config.info.es 0600 root bin
f none cpan/config.info.ru_RU 0600 root bin
f none cpan/config.info.ru_SU 0600 root bin
f none cpan/config.info.zh_CN 0600 root bin
f none cpan/config.info.nl 0600 root bin
f none cpan/config.info.ca 0600 root bin
f none cpan/config.info.de 0600 root bin
f none cpan/config.info.hu 0600 root bin
f none cpan/config.info.zh_TW.Big5 0600 root bin
f none cpan/uninstall.cgi 0700 root bin
d none caldera 0700 root bin
f none caldera/template.gif 0600 root bin
d none caldera/raid 0700 root bin
d none caldera/raid/images 0700 root bin
f none caldera/raid/images/icon.gif 0600 root bin
d none caldera/syslog 0700 root bin
d none caldera/syslog/images 0700 root bin
f none caldera/syslog/images/icon.gif 0600 root bin
d none caldera/webmin 0700 root bin
d none caldera/webmin/images 0700 root bin
f none caldera/webmin/images/icon.gif 0600 root bin
d none caldera/dhcpd 0700 root bin
d none caldera/dhcpd/images 0700 root bin
f none caldera/dhcpd/images/icon.gif 0600 root bin
d none caldera/status 0700 root bin
d none caldera/status/images 0700 root bin
f none caldera/status/images/icon.gif 0600 root bin
d none caldera/lpadmin 0700 root bin
d none caldera/lpadmin/images 0700 root bin
f none caldera/lpadmin/images/icon.gif 0600 root bin
f none caldera/Alphabet.gif 0600 root bin
d none caldera/dfsadmin 0700 root bin
d none caldera/dfsadmin/images 0700 root bin
f none caldera/dfsadmin/images/icon.gif 0600 root bin
d none caldera/vnc 0700 root bin
d none caldera/vnc/images 0700 root bin
f none caldera/vnc/images/icon.gif 0600 root bin
d none caldera/useradmin 0700 root bin
d none caldera/useradmin/images 0700 root bin
f none caldera/useradmin/images/icon.gif 0600 root bin
f none caldera/style.css 0600 root bin
d none caldera/quota 0700 root bin
d none caldera/quota/images 0700 root bin
f none caldera/quota/images/icon.gif 0600 root bin
d none caldera/inittab 0700 root bin
d none caldera/inittab/images 0700 root bin
f none caldera/inittab/images/icon.gif 0600 root bin
d none caldera/xinetd 0700 root bin
d none caldera/xinetd/images 0700 root bin
f none caldera/xinetd/images/icon.gif 0600 root bin
d none caldera/postfix 0700 root bin
d none caldera/postfix/images 0700 root bin
f none caldera/postfix/images/icon.gif 0600 root bin
f none caldera/theme.info 0600 root bin
d none caldera/dnsadmin 0700 root bin
d none caldera/dnsadmin/images 0700 root bin
f none caldera/dnsadmin/images/icon.gif 0600 root bin
d none caldera/time 0700 root bin
d none caldera/time/images 0700 root bin
f none caldera/time/images/icon.gif 0600 root bin
d none caldera/acl 0700 root bin
d none caldera/acl/images 0700 root bin
f none caldera/acl/images/icon.gif 0600 root bin
d none caldera/mount 0700 root bin
d none caldera/mount/images 0700 root bin
f none caldera/mount/images/icon.gif 0600 root bin
d none caldera/proc 0700 root bin
d none caldera/proc/images 0700 root bin
f none caldera/proc/images/icon.gif 0600 root bin
d none caldera/postgresql 0700 root bin
d none caldera/postgresql/images 0700 root bin
f none caldera/postgresql/images/icon.gif 0600 root bin
d none caldera/inetd 0700 root bin
d none caldera/inetd/images 0700 root bin
f none caldera/inetd/images/icon.gif 0600 root bin
d none caldera/images 0700 root bin
f none caldera/images/gradient-bg.gif 0600 root bin
f none caldera/images/folder-off.gif 0600 root bin
f none caldera/images/spacer.gif 0600 root bin
f none caldera/images/navbg.gif 0600 root bin
f none caldera/images/folder-on.gif 0600 root bin
f none caldera/images/blue-bg.gif 0600 root bin
d none caldera/images/letters 0700 root bin
f none caldera/images/letters/237.gif 0600 root bin
f none caldera/images/letters/193.gif 0600 root bin
f none caldera/images/letters/239.gif 0600 root bin
f none caldera/images/letters/195.gif 0600 root bin
f none caldera/images/letters/197.gif 0600 root bin
f none caldera/images/letters/199.gif 0600 root bin
f none caldera/images/letters/50.gif 0600 root bin
f none caldera/images/letters/52.gif 0600 root bin
f none caldera/images/letters/54.gif 0600 root bin
f none caldera/images/letters/91.gif 0600 root bin
f none caldera/images/letters/56.gif 0600 root bin
f none caldera/images/letters/93.gif 0600 root bin
f none caldera/images/letters/58.gif 0600 root bin
f none caldera/images/letters/95.gif 0600 root bin
f none caldera/images/letters/97.gif 0600 root bin
f none caldera/images/letters/99.gif 0600 root bin
f none caldera/images/letters/201.gif 0600 root bin
f none caldera/images/letters/120.gif 0600 root bin
f none caldera/images/letters/203.gif 0600 root bin
f none caldera/images/letters/122.gif 0600 root bin
f none caldera/images/letters/240.gif 0600 root bin
f none caldera/images/letters/205.gif 0600 root bin
f none caldera/images/letters/124.gif 0600 root bin
f none caldera/images/letters/242.gif 0600 root bin
f none caldera/images/letters/207.gif 0600 root bin
f none caldera/images/letters/126.gif 0600 root bin
f none caldera/images/letters/244.gif 0600 root bin
f none caldera/images/letters/209.gif 0600 root bin
f none caldera/images/letters/246.gif 0600 root bin
f none caldera/images/letters/248.gif 0600 root bin
f none caldera/images/letters/61.gif 0600 root bin
f none caldera/images/letters/63.gif 0600 root bin
f none caldera/images/letters/65.gif 0600 root bin
f none caldera/images/letters/67.gif 0600 root bin
f none caldera/images/letters/69.gif 0600 root bin
f none caldera/images/letters/210.gif 0600 root bin
f none caldera/images/letters/212.gif 0600 root bin
f none caldera/images/letters/214.gif 0600 root bin
f none caldera/images/letters/251.gif 0600 root bin
f none caldera/images/letters/216.gif 0600 root bin
f none caldera/images/letters/253.gif 0600 root bin
f none caldera/images/letters/218.gif 0600 root bin
f none caldera/images/letters/255.gif 0600 root bin
f none caldera/images/letters/33.gif 0600 root bin
f none caldera/images/letters/70.gif 0600 root bin
f none caldera/images/letters/35.gif 0600 root bin
f none caldera/images/letters/72.gif 0600 root bin
f none caldera/images/letters/37.gif 0600 root bin
f none caldera/images/letters/74.gif 0600 root bin
f none caldera/images/letters/39.gif 0600 root bin
f none caldera/images/letters/76.gif 0600 root bin
f none caldera/images/letters/78.gif 0600 root bin
f none caldera/images/letters/101.gif 0600 root bin
f none caldera/images/letters/103.gif 0600 root bin
f none caldera/images/letters/221.gif 0600 root bin
f none caldera/images/letters/105.gif 0600 root bin
f none caldera/images/letters/223.gif 0600 root bin
f none caldera/images/letters/107.gif 0600 root bin
f none caldera/images/letters/225.gif 0600 root bin
f none caldera/images/letters/109.gif 0600 root bin
f none caldera/images/letters/227.gif 0600 root bin
f none caldera/images/letters/229.gif 0600 root bin
f none caldera/images/letters/40.gif 0600 root bin
f none caldera/images/letters/42.gif 0600 root bin
f none caldera/images/letters/44.gif 0600 root bin
f none caldera/images/letters/81.gif 0600 root bin
f none caldera/images/letters/46.gif 0600 root bin
f none caldera/images/letters/83.gif 0600 root bin
f none caldera/images/letters/48.gif 0600 root bin
f none caldera/images/letters/85.gif 0600 root bin
f none caldera/images/letters/87.gif 0600 root bin
f none caldera/images/letters/89.gif 0600 root bin
f none caldera/images/letters/110.gif 0600 root bin
f none caldera/images/letters/112.gif 0600 root bin
f none caldera/images/letters/230.gif 0600 root bin
f none caldera/images/letters/114.gif 0600 root bin
f none caldera/images/letters/232.gif 0600 root bin
f none caldera/images/letters/116.gif 0600 root bin
f none caldera/images/letters/234.gif 0600 root bin
f none caldera/images/letters/118.gif 0600 root bin
f none caldera/images/letters/236.gif 0600 root bin
f none caldera/images/letters/192.gif 0600 root bin
f none caldera/images/letters/238.gif 0600 root bin
f none caldera/images/letters/194.gif 0600 root bin
f none caldera/images/letters/196.gif 0600 root bin
f none caldera/images/letters/198.gif 0600 root bin
f none caldera/images/letters/51.gif 0600 root bin
f none caldera/images/letters/53.gif 0600 root bin
f none caldera/images/letters/90.gif 0600 root bin
f none caldera/images/letters/55.gif 0600 root bin
f none caldera/images/letters/57.gif 0600 root bin
f none caldera/images/letters/94.gif 0600 root bin
f none caldera/images/letters/59.gif 0600 root bin
f none caldera/images/letters/96.gif 0600 root bin
f none caldera/images/letters/98.gif 0600 root bin
f none caldera/images/letters/200.gif 0600 root bin
f none caldera/images/letters/121.gif 0600 root bin
f none caldera/images/letters/202.gif 0600 root bin
f none caldera/images/letters/123.gif 0600 root bin
f none caldera/images/letters/204.gif 0600 root bin
f none caldera/images/letters/241.gif 0600 root bin
f none caldera/images/letters/125.gif 0600 root bin
f none caldera/images/letters/206.gif 0600 root bin
f none caldera/images/letters/243.gif 0600 root bin
f none caldera/images/letters/208.gif 0600 root bin
f none caldera/images/letters/245.gif 0600 root bin
f none caldera/images/letters/247.gif 0600 root bin
f none caldera/images/letters/249.gif 0600 root bin
f none caldera/images/letters/60.gif 0600 root bin
f none caldera/images/letters/62.gif 0600 root bin
f none caldera/images/letters/64.gif 0600 root bin
f none caldera/images/letters/66.gif 0600 root bin
f none caldera/images/letters/68.gif 0600 root bin
f none caldera/images/letters/211.gif 0600 root bin
f none caldera/images/letters/213.gif 0600 root bin
f none caldera/images/letters/250.gif 0600 root bin
f none caldera/images/letters/215.gif 0600 root bin
f none caldera/images/letters/252.gif 0600 root bin
f none caldera/images/letters/217.gif 0600 root bin
f none caldera/images/letters/254.gif 0600 root bin
f none caldera/images/letters/219.gif 0600 root bin
f none caldera/images/letters/32.gif 0600 root bin
f none caldera/images/letters/34.gif 0600 root bin
f none caldera/images/letters/71.gif 0600 root bin
f none caldera/images/letters/36.gif 0600 root bin
f none caldera/images/letters/73.gif 0600 root bin
f none caldera/images/letters/38.gif 0600 root bin
f none caldera/images/letters/75.gif 0600 root bin
f none caldera/images/letters/77.gif 0600 root bin
f none caldera/images/letters/79.gif 0600 root bin
f none caldera/images/letters/100.gif 0600 root bin
f none caldera/images/letters/102.gif 0600 root bin
f none caldera/images/letters/220.gif 0600 root bin
f none caldera/images/letters/104.gif 0600 root bin
f none caldera/images/letters/222.gif 0600 root bin
f none caldera/images/letters/106.gif 0600 root bin
f none caldera/images/letters/224.gif 0600 root bin
f none caldera/images/letters/108.gif 0600 root bin
f none caldera/images/letters/226.gif 0600 root bin
f none caldera/images/letters/228.gif 0600 root bin
f none caldera/images/letters/41.gif 0600 root bin
f none caldera/images/letters/43.gif 0600 root bin
f none caldera/images/letters/80.gif 0600 root bin
f none caldera/images/letters/45.gif 0600 root bin
f none caldera/images/letters/82.gif 0600 root bin
f none caldera/images/letters/47.gif 0600 root bin
f none caldera/images/letters/84.gif 0600 root bin
f none caldera/images/letters/49.gif 0600 root bin
f none caldera/images/letters/86.gif 0600 root bin
f none caldera/images/letters/88.gif 0600 root bin
f none caldera/images/letters/111.gif 0600 root bin
f none caldera/images/letters/113.gif 0600 root bin
f none caldera/images/letters/231.gif 0600 root bin
f none caldera/images/letters/115.gif 0600 root bin
f none caldera/images/letters/233.gif 0600 root bin
f none caldera/images/letters/117.gif 0600 root bin
f none caldera/images/letters/235.gif 0600 root bin
f none caldera/images/letters/119.gif 0600 root bin
f none caldera/images/webmin-header.gif 0600 root bin
f none caldera/images/top-grad-stretch.gif 0600 root bin
f none caldera/images/pixel-white.gif 0600 root bin
f none caldera/images/nav2bg.gif 0600 root bin
f none caldera/images/main-bg-pixel.gif 0600 root bin
d none caldera/man 0700 root bin
d none caldera/man/images 0700 root bin
f none caldera/man/images/icon.gif 0600 root bin
d none caldera/pam 0700 root bin
d none caldera/pam/images 0700 root bin
f none caldera/pam/images/icon.gif 0600 root bin
d none caldera/file 0700 root bin
d none caldera/file/images 0700 root bin
f none caldera/file/images/icon.gif 0600 root bin
d none caldera/pap 0700 root bin
d none caldera/pap/images 0700 root bin
f none caldera/pap/images/icon.gif 0600 root bin
d none caldera/apache 0700 root bin
d none caldera/apache/images 0700 root bin
f none caldera/apache/images/icon.gif 0600 root bin
d none caldera/cpan 0700 root bin
d none caldera/cpan/images 0700 root bin
f none caldera/cpan/images/icon.gif 0600 root bin
d none caldera/webminlog 0700 root bin
d none caldera/webminlog/images 0700 root bin
f none caldera/webminlog/images/icon.gif 0600 root bin
d none caldera/samba 0700 root bin
d none caldera/samba/images 0700 root bin
f none caldera/samba/images/icon.gif 0600 root bin
d none caldera/squid 0700 root bin
d none caldera/squid/images 0700 root bin
f none caldera/squid/images/icon.gif 0600 root bin
d none caldera/net 0700 root bin
d none caldera/net/images 0700 root bin
f none caldera/net/images/icon.gif 0600 root bin
d none caldera/shell 0700 root bin
d none caldera/shell/images 0700 root bin
f none caldera/shell/images/icon.gif 0600 root bin
d none caldera/majordomo 0700 root bin
d none caldera/majordomo/images 0700 root bin
f none caldera/majordomo/images/icon.gif 0600 root bin
d none caldera/format 0700 root bin
d none caldera/format/images 0700 root bin
f none caldera/format/images/icon.gif 0600 root bin
d none caldera/help 0700 root bin
d none caldera/help/images 0700 root bin
f none caldera/help/images/icon.gif 0600 root bin
d none caldera/servers 0700 root bin
d none caldera/servers/images 0700 root bin
f none caldera/servers/images/icon.gif 0600 root bin
d none caldera/tcpd 0700 root bin
d none caldera/tcpd/images 0700 root bin
d none caldera/software 0700 root bin
d none caldera/software/images 0700 root bin
f none caldera/software/images/icon.gif 0600 root bin
f none caldera/index_top.cgi 0700 root bin
d none caldera/telnet 0700 root bin
d none caldera/telnet/images 0700 root bin
f none caldera/telnet/images/icon.gif 0600 root bin
d none caldera/sendmail 0700 root bin
d none caldera/sendmail/images 0700 root bin
f none caldera/sendmail/images/icon.gif 0600 root bin
d none caldera/ipcache 0700 root bin
d none caldera/ipcache/images 0700 root bin
d none caldera/ssh 0700 root bin
d none caldera/ssh/images 0700 root bin
f none caldera/ssh/images/icon.gif 0600 root bin
d none caldera/bsdexports 0700 root bin
d none caldera/bsdexports/images 0700 root bin
f none caldera/bsdexports/images/icon.gif 0600 root bin
d none caldera/link 0700 root bin
d none caldera/link/images 0700 root bin
f none caldera/link/images/icon.gif 0600 root bin
d none caldera/lilo 0700 root bin
d none caldera/lilo/images 0700 root bin
f none caldera/lilo/images/icon.gif 0600 root bin
d none caldera/fdisk 0700 root bin
d none caldera/fdisk/images 0700 root bin
f none caldera/fdisk/images/icon.gif 0600 root bin
d none caldera/cron 0700 root bin
d none caldera/cron/images 0700 root bin
f none caldera/cron/images/icon.gif 0600 root bin
d none caldera/init 0700 root bin
d none caldera/init/images 0700 root bin
f none caldera/init/images/icon.gif 0600 root bin
d none caldera/bind8 0700 root bin
d none caldera/bind8/images 0700 root bin
f none caldera/bind8/images/icon.gif 0600 root bin
d none caldera/passwd 0700 root bin
d none caldera/passwd/images 0700 root bin
f none caldera/passwd/images/icon.gif 0600 root bin
d none caldera/exports 0700 root bin
d none caldera/exports/images 0700 root bin
f none caldera/exports/images/icon.gif 0600 root bin
f none caldera/config 0600 root bin
d none caldera/mysql 0700 root bin
d none caldera/mysql/images 0700 root bin
f none caldera/mysql/images/icon.gif 0600 root bin
d none caldera/firewall 0700 root bin
d none caldera/firewall/images 0700 root bin
d none caldera/ipweb 0700 root bin
d none caldera/ipweb/images 0700 root bin
f none caldera/index.cgi 0700 root bin
d none caldera/wuftpd 0700 root bin
d none caldera/wuftpd/images 0700 root bin
f none caldera/wuftpd/images/icon.gif 0600 root bin
d none caldera/hpuxexports 0700 root bin
d none caldera/hpuxexports/images 0700 root bin
f none caldera/hpuxexports/images/icon.gif 0600 root bin
d none caldera/nis 0700 root bin
d none caldera/nis/images 0700 root bin
f none caldera/nis/images/icon.gif 0600 root bin
d none caldera/custom 0700 root bin
d none caldera/custom/images 0700 root bin
f none caldera/custom/images/icon.gif 0600 root bin
d none caldera/volution 0700 root bin
d none caldera/volution/images 0700 root bin
f none caldera/volution/images/icon.gif 0600 root bin
d none caldera/lkmload 0700 root bin
d none caldera/lkmload/images 0700 root bin
f none caldera/lkmload/images/icon.gif 0600 root bin
d none caldera/openldap 0700 root bin
d none caldera/openldap/images 0700 root bin
f none caldera/openldap/images/icon.gif 0600 root bin
d none caldera/openslp 0700 root bin
d none caldera/openslp/images 0700 root bin
f none caldera/openslp/images/icon.gif 0600 root bin
f none caldera/index_body.cgi 0700 root bin
d none caldera/ipchains 0700 root bin
d none caldera/ipchains/images 0700 root bin
f none caldera/ipchains/images/icon.gif 0600 root bin
d none caldera/certmgr 0700 root bin
d none caldera/certmgr/images 0700 root bin
f none caldera/certmgr/images/icon.gif 0600 root bin
d none caldera/grub 0700 root bin
d none caldera/grub/images 0700 root bin
f none caldera/grub/images/icon.gif 0600 root bin
d none caldera/fetchmail 0700 root bin
d none caldera/fetchmail/images 0700 root bin
f none caldera/fetchmail/images/icon.gif 0600 root bin
d none caldera/usermin 0700 root bin
d none caldera/usermin/images 0700 root bin
f none caldera/usermin/images/icon.gif 0600 root bin
d none caldera/fsdump 0700 root bin
d none caldera/fsdump/images 0700 root bin
f none caldera/fsdump/images/icon.gif 0600 root bin
d none caldera/mon 0700 root bin
d none caldera/mon/images 0700 root bin
f none caldera/mon/images/icon.gif 0600 root bin
d none caldera/sentry 0700 root bin
d none caldera/sentry/images 0700 root bin
f none caldera/sentry/images/icon.gif 0600 root bin
d none caldera/at 0700 root bin
d none caldera/at/images 0700 root bin
f none caldera/at/images/icon.gif 0600 root bin
d none caldera/pserver 0700 root bin
d none caldera/pserver/images 0700 root bin
f none caldera/pserver/images/icon.gif 0600 root bin
d none caldera/jabber 0700 root bin
d none caldera/jabber/images 0700 root bin
f none caldera/jabber/images/icon.gif 0600 root bin
d none caldera/palace 0700 root bin
d none caldera/palace/images 0700 root bin
f none caldera/palace/images/icon.gif 0600 root bin
d none caldera/proftpd 0700 root bin
d none caldera/proftpd/images 0700 root bin
f none caldera/proftpd/images/icon.gif 0600 root bin
d none caldera/procmail 0700 root bin
d none caldera/procmail/images 0700 root bin
f none caldera/procmail/images/icon.gif 0600 root bin
d none caldera/qmailadmin 0700 root bin
d none caldera/qmailadmin/images 0700 root bin
f none caldera/qmailadmin/images/icon.gif 0600 root bin
d none caldera/sshd 0700 root bin
d none caldera/sshd/images 0700 root bin
f none caldera/sshd/images/icon.gif 0600 root bin
d none caldera/stunnel 0700 root bin
d none caldera/stunnel/images 0700 root bin
f none caldera/stunnel/images/icon.gif 0600 root bin
d none caldera/burner 0700 root bin
d none caldera/burner/images 0700 root bin
f none caldera/burner/images/icon.gif 0600 root bin
d none caldera/lvm 0700 root bin
d none caldera/lvm/images 0700 root bin
f none caldera/lvm/images/icon.gif 0600 root bin
d none caldera/cluster-software 0700 root bin
d none caldera/cluster-software/images 0700 root bin
f none caldera/cluster-software/images/icon.gif 0600 root bin
d none caldera/cluster-useradmin 0700 root bin
d none caldera/cluster-useradmin/images 0700 root bin
f none caldera/cluster-useradmin/images/icon.gif 0600 root bin
d none caldera/cluster-webmin 0700 root bin
d none caldera/cluster-webmin/images 0700 root bin
f none caldera/cluster-webmin/images/icon.gif 0600 root bin
d none caldera/cfengine 0700 root bin
d none caldera/cfengine/images 0700 root bin
f none caldera/cfengine/images/icon.gif 0600 root bin
d none caldera/heartbeat 0700 root bin
d none caldera/heartbeat/images 0700 root bin
f none caldera/heartbeat/images/icon.gif 0600 root bin
d none caldera/shellinabox 0700 root bin
d none caldera/shellinabox/images 0700 root bin
f none caldera/shellinabox/images/icon.gif 0600 root bin
d none pam 0700 root bin
d none pam/images 0700 root bin
f none pam/images/icon.gif 0600 root bin
f none pam/images/up.gif 0600 root bin
f none pam/images/gap.gif 0600 root bin
f none pam/images/down.gif 0600 root bin
f none pam/module.info 0600 root bin
f none pam/config.info 0600 root bin
d none pam/lang 0700 root bin
f none pam/lang/en 0600 root bin
f none pam/lang/es 0600 root bin
f none pam/lang/sv 0600 root bin
f none pam/lang/fr 0600 root bin
f none pam/lang/pl 0600 root bin
f none pam/lang/ja_JP.euc 0600 root bin
f none pam/lang/ko_KR.euc 0600 root bin
f none pam/lang/ja_JP.jis 0600 root bin
f none pam/lang/ca 0600 root bin
f none pam/lang/zh_TW.Big5 0600 root bin
f none pam/edit_pam.cgi 0700 root bin
f none pam/index.cgi 0700 root bin
f none pam/pam-lib.pl 0600 root bin
f none pam/pam_shells.so.pl 0600 root bin
f none pam/edit_mod.cgi 0700 root bin
f none pam/pam_time.so.pl 0600 root bin
f none pam/template.pl 0600 root bin
f none pam/create_form.cgi 0700 root bin
f none pam/pam_motd.so.pl 0600 root bin
f none pam/config-turbo-linux 0600 root bin
f none pam/pam_wheel.so.pl 0600 root bin
f none pam/delete_pam.cgi 0700 root bin
f none pam/config-open-linux 0600 root bin
f none pam/create_pam.cgi 0700 root bin
f none pam/config-corel-linux 0600 root bin
f none pam/pam_rootok.so.pl 0600 root bin
f none pam/move.cgi 0700 root bin
f none pam/pam_mail.so.pl 0600 root bin
f none pam/pam_tally.so.pl 0600 root bin
f none pam/pam_filter.so.pl 0600 root bin
f none pam/pam_securetty.so.pl 0600 root bin
f none pam/config-suse-linux 0600 root bin
f none pam/pam_env.so.pl 0600 root bin
f none pam/config-debian-linux 0600 root bin
f none pam/pam_pwdb.so.pl 0600 root bin
f none pam/pam_group.so.pl 0600 root bin
f none pam/pam_deny.so.pl 0600 root bin
f none pam/pam_permit.so.pl 0600 root bin
f none pam/pam_rhosts_auth.so.pl 0600 root bin
f none pam/pam_nologin.so.pl 0600 root bin
f none pam/save_mod.cgi 0700 root bin
f none pam/pam_cracklib.so.pl 0600 root bin
f none pam/pam_listfile.so.pl 0600 root bin
f none pam/config-cobalt-linux 0600 root bin
f none pam/config-redhat-linux 0600 root bin
f none pam/config.info.es 0600 root bin
f none pam/log_parser.pl 0600 root bin
f none pam/config.info.sv 0600 root bin
f none pam/pam_stack.so.pl 0600 root bin
f none pam/config.info.pl 0600 root bin
f none pam/config-mandrake-linux 0600 root bin
f none pam/config-msc-linux 0600 root bin
f none pam/config.info.ca 0600 root bin
f none pam/feedback_files.pl 0600 root bin
f none pam/config-gentoo-linux 0600 root bin
f none pam/config-generic-linux 0600 root bin
d none nis 0700 root bin
f none nis/save_hosts.cgi 0700 root bin
f none nis/module.info 0600 root bin
f none nis/edit_tables.cgi 0700 root bin
f none nis/save_switch.cgi 0700 root bin
d none nis/lang 0700 root bin
f none nis/lang/en 0600 root bin
f none nis/lang/sv 0600 root bin
f none nis/lang/pl 0600 root bin
f none nis/lang/ja_JP.euc 0600 root bin
f none nis/lang/ko_KR.euc 0600 root bin
f none nis/lang/es 0600 root bin
f none nis/lang/ca 0600 root bin
f none nis/lang/fr 0600 root bin
f none nis/lang/zh_TW.Big5 0600 root bin
f none nis/redhat-linux-lib.pl 0600 root bin
f none nis/edit_client.cgi 0700 root bin
f none nis/save_passwd_shadow.cgi 0700 root bin
f none nis/save_server.cgi 0700 root bin
f none nis/edit_services.cgi 0700 root bin
f none nis/save_client.cgi 0700 root bin
f none nis/save_file.cgi 0700 root bin
f none nis/config.info 0600 root bin
f none nis/save_services.cgi 0700 root bin
f none nis/edit_group.cgi 0700 root bin
d none nis/images 0700 root bin
f none nis/images/client.gif 0600 root bin
f none nis/images/icon.gif 0600 root bin
f none nis/images/switch.gif 0600 root bin
f none nis/images/server.gif 0600 root bin
f none nis/images/security.gif 0600 root bin
f none nis/images/tables.gif 0600 root bin
f none nis/edit_hosts.cgi 0700 root bin
f none nis/nis-lib.pl 0600 root bin
f none nis/edit_switch.cgi 0700 root bin
f none nis/index.cgi 0700 root bin
f none nis/build.cgi 0700 root bin
f none nis/old_edit_passwd_shadow.cgi 0700 root bin
f none nis/save_group.cgi 0700 root bin
f none nis/edit_passwd_shadow.cgi 0700 root bin
f none nis/open-linux-lib.pl 0600 root bin
f none nis/edit_server.cgi 0700 root bin
f none nis/save_group_shadow.cgi 0700 root bin
f none nis/edit_networks.cgi 0700 root bin
f none nis/save_services2.cgi 0700 root bin
f none nis/save_security.cgi 0700 root bin
f none nis/edit_aliases.cgi 0700 root bin
f none nis/save_networks.cgi 0700 root bin
f none nis/edit_passwd_shadow_full.cgi 0700 root bin
f none nis/config-open-linux 0600 root bin
f none nis/save_rpc.cgi 0700 root bin
f none nis/save_protocols.cgi 0700 root bin
f none nis/edit_passwd.cgi 0700 root bin
f none nis/edit_netgroup.cgi 0700 root bin
f none nis/edit_services2.cgi 0700 root bin
f none nis/suse-linux-lib.pl 0600 root bin
f none nis/config-solaris 0600 root bin
f none nis/nisupdate.conf 0600 root bin
f none nis/config-debian-linux 0600 root bin
f none nis/save_netgroup.cgi 0700 root bin
f none nis/config-solaris-8 0600 root bin
f none nis/solaris-lib.pl 0600 root bin
f none nis/edit_rpc.cgi 0700 root bin
f none nis/edit_protocols.cgi 0700 root bin
f none nis/edit_netmasks.cgi 0700 root bin
f none nis/debian-linux-lib.pl 0600 root bin
f none nis/save_aliases.cgi 0700 root bin
f none nis/edit_ethers.cgi 0700 root bin
f none nis/save_netmasks.cgi 0700 root bin
f none nis/config-redhat-linux 0600 root bin
f none nis/edit_group_shadow.cgi 0700 root bin
f none nis/save_ethers.cgi 0700 root bin
f none nis/edit_security.cgi 0700 root bin
f none nis/config-suse-linux 0600 root bin
f none nis/config.info.sv 0600 root bin
f none nis/config.info.pl 0600 root bin
f none nis/config-mandrake-linux 0600 root bin
f none nis/mandrake-linux-lib.pl 0600 root bin
f none nis/config-msc-linux 0600 root bin
f none nis/msc-linux-lib.pl 0600 root bin
f none nis/config.info.es 0600 root bin
f none nis/config-slackware-linux 0600 root bin
f none nis/slackware-linux-lib.pl 0600 root bin
f none nis/config.info.ca 0600 root bin
f none nis/config-solaris-9 0600 root bin
f none nis/feedback_files.pl 0600 root bin
f none nis/config-generic-linux 0600 root bin
d none shell 0700 root bin
d none shell/lang 0700 root bin
f none shell/lang/en 0600 root bin
f none shell/lang/pl 0600 root bin
f none shell/lang/de 0600 root bin
f none shell/lang/ja_JP.euc 0600 root bin
f none shell/lang/ko_KR.euc 0600 root bin
f none shell/lang/es 0600 root bin
f none shell/lang/ca 0600 root bin
f none shell/lang/fr 0600 root bin
f none shell/lang/hu 0600 root bin
f none shell/lang/zh_TW.Big5 0600 root bin
d none shell/images 0700 root bin
f none shell/images/icon.gif 0600 root bin
f none shell/images/shell.jpg 0600 root bin
f none shell/module.info 0600 root bin
f none shell/index.cgi 0700 root bin
f none shell/acl_security.pl 0600 root bin
f none shell/defaultacl 0600 root bin
f none shell/shell-lib.pl 0600 root bin
d none grub 0700 root bin
d none grub/lang 0700 root bin
f none grub/lang/en 0600 root bin
f none grub/lang/ja_JP.euc 0600 root bin
f none grub/lang/ko_KR.euc 0600 root bin
f none grub/lang/pl 0600 root bin
f none grub/lang/es 0600 root bin
f none grub/lang/ca 0600 root bin
f none grub/lang/zh_TW.Big5 0600 root bin
d none grub/images 0700 root bin
f none grub/images/grub.gif 0600 root bin
f none grub/images/kernel.gif 0600 root bin
f none grub/images/icon.gif 0600 root bin
f none grub/images/chain.gif 0600 root bin
f none grub/save_global.cgi 0700 root bin
f none grub/config.info 0600 root bin
f none grub/module.info 0600 root bin
f none grub/save_title.cgi 0700 root bin
f none grub/config 0600 root bin
f none grub/edit_global.cgi 0700 root bin
f none grub/install.cgi 0700 root bin
f none grub/edit_title.cgi 0700 root bin
f none grub/index.cgi 0700 root bin
f none grub/grub-lib.pl 0600 root bin
f none grub/config.info.pl 0600 root bin
f none grub/config.info.es 0600 root bin
f none grub/config.info.ca 0600 root bin
f none grub/config-redhat-linux-7.2 0600 root bin
f none grub/config-redhat-linux-7.3 0600 root bin
f none grub/config.info.zh_TW.Big5 0600 root bin
f none grub/config-gentoo-linux 0600 root bin
d none fetchmail 0700 root bin
d none fetchmail/images 0700 root bin
f none fetchmail/images/icon.gif 0600 root bin
f none fetchmail/images/old.gif 0600 root bin
f none fetchmail/images/hand.png 0600 root bin
f none fetchmail/module.info 0600 root bin
f none fetchmail/run_file.cgi 0700 root bin
f none fetchmail/fetchmail-lib.pl 0600 root bin
f none fetchmail/index.cgi 0700 root bin
f none fetchmail/config.info 0600 root bin
d none fetchmail/lang 0700 root bin
f none fetchmail/lang/en 0600 root bin
f none fetchmail/lang/ja_JP.euc 0600 root bin
f none fetchmail/lang/ko_KR.euc 0600 root bin
f none fetchmail/lang/pl 0600 root bin
f none fetchmail/lang/es 0600 root bin
f none fetchmail/lang/de 0600 root bin
f none fetchmail/lang/ca 0600 root bin
f none fetchmail/lang/it 0600 root bin
f none fetchmail/edit_poll.cgi 0700 root bin
f none fetchmail/save_poll.cgi 0700 root bin
f none fetchmail/config-suse-linux 0600 root bin
f none fetchmail/config-debian-linux 0600 root bin
f none fetchmail/stop.cgi 0700 root bin
f none fetchmail/config-turbo-linux 0600 root bin
f none fetchmail/start.cgi 0700 root bin
f none fetchmail/config-open-linux 0600 root bin
f none fetchmail/config-cobalt-linux 0600 root bin
f none fetchmail/config-corel-linux 0600 root bin
f none fetchmail/config 0600 root bin
f none fetchmail/edit_global.cgi 0700 root bin
f none fetchmail/config-redhat-linux 0600 root bin
f none fetchmail/check.cgi 0700 root bin
f none fetchmail/config-slackware-linux 0600 root bin
f none fetchmail/log_parser.pl 0600 root bin
f none fetchmail/config-mandrake-linux 0600 root bin
f none fetchmail/save_global.cgi 0700 root bin
f none fetchmail/config.info.pl 0600 root bin
f none fetchmail/config-msc-linux 0600 root bin
f none fetchmail/config.info.es 0600 root bin
f none fetchmail/config.info.ca 0600 root bin
f none fetchmail/feedback_files.pl 0600 root bin
f none fetchmail/config.info.it 0600 root bin
f none fetchmail/defaultacl 0600 root bin
f none fetchmail/acl_security.pl 0600 root bin
f none fetchmail/config.info.de 0600 root bin
f none fetchmail/config-gentoo-linux 0600 root bin
d none passwd 0700 root bin
d none passwd/images 0700 root bin
f none passwd/images/icon.gif 0600 root bin
f none passwd/module.info 0600 root bin
d none passwd/lang 0700 root bin
f none passwd/lang/de 0600 root bin
f none passwd/lang/en 0600 root bin
f none passwd/lang/pl 0600 root bin
f none passwd/lang/es 0600 root bin
f none passwd/lang/hu 0600 root bin
f none passwd/lang/ca 0600 root bin
f none passwd/lang/fr 0600 root bin
f none passwd/lang/nl 0600 root bin
f none passwd/lang/zh_TW.Big5 0600 root bin
f none passwd/passwd-lib.pl 0600 root bin
f none passwd/index.cgi 0700 root bin
f none passwd/edit_passwd.cgi 0700 root bin
f none passwd/defaultacl 0600 root bin
f none passwd/log_parser.pl 0600 root bin
f none passwd/save_passwd.cgi 0700 root bin
f none passwd/acl_security.pl 0600 root bin
f none passwd/config.info 0600 root bin
f none passwd/config 0600 root bin
f none passwd/config.info.es 0600 root bin
f none passwd/config.info.pl 0600 root bin
f none passwd/config.info.ca 0600 root bin
f none passwd/config.info.de 0600 root bin
f none passwd/config.info.nl 0600 root bin
f none passwd/config.info.zh_TW.Big5 0600 root bin
d none at 0700 root bin
d none at/images 0700 root bin
f none at/images/icon.gif 0600 root bin
f none at/module.info 0600 root bin
d none at/lang 0700 root bin
f none at/lang/pl 0600 root bin
f none at/lang/en 0600 root bin
f none at/lang/ca 0600 root bin
f none at/lang/hu 0600 root bin
f none at/lang/it 0600 root bin
f none at/lang/zh_TW.Big5 0600 root bin
f none at/lang/de 0600 root bin
f none at/linux-lib.pl 0600 root bin
f none at/at-lib.pl 0600 root bin
f none at/config.info 0600 root bin
f none at/edit_job.cgi 0700 root bin
f none at/index.cgi 0700 root bin
f none at/solaris-lib.pl 0600 root bin
f none at/create_job.cgi 0700 root bin
f none at/delete_job.cgi 0700 root bin
f none at/config-open-linux 0600 root bin
f none at/config-solaris 0600 root bin
f none at/config-redhat-linux 0600 root bin
f none at/config-msc-linux 0600 root bin
f none at/config-debian-linux 0600 root bin
f none at/config-corel-linux 0600 root bin
f none at/config-mandrake-linux 0600 root bin
f none at/config-slackware-linux 0600 root bin
f none at/config-suse-linux 0600 root bin
f none at/config-turbo-linux 0600 root bin
f none at/freebsd-lib.pl 0600 root bin
f none at/config-freebsd 0600 root bin
f none at/config-netbsd 0600 root bin
f none at/config.info.pl 0600 root bin
f none at/acl_security.pl 0600 root bin
f none at/defaultacl 0600 root bin
f none at/config.info.ca 0600 root bin
f none at/config-generic-linux 0600 root bin
f none at/openserver-lib.pl 0600 root bin
f none at/config-openserver 0600 root bin
f none at/config.info.zh_TW.Big5 0600 root bin
f none at/config-macos 0600 root bin
f none at/macos-lib.pl 0600 root bin
f none at/config.info.de 0600 root bin
f none at/config-debian-linux-3.0 0600 root bin
f none at/config-gentoo-linux 0600 root bin
d none kdestyle 0700 root bin
d none kdestyle/acl 0700 root bin
d none kdestyle/acl/images 0700 root bin
f none kdestyle/acl/images/icon.gif 0600 root bin
d none kdestyle/apache 0700 root bin
d none kdestyle/apache/images 0700 root bin
f none kdestyle/apache/images/icon.gif 0600 root bin
d none kdestyle/bind8 0700 root bin
d none kdestyle/bind8/images 0700 root bin
f none kdestyle/bind8/images/icon.gif 0600 root bin
d none kdestyle/bsdexports 0700 root bin
d none kdestyle/bsdexports/images 0700 root bin
f none kdestyle/bsdexports/images/icon.gif 0600 root bin
d none kdestyle/cdbackup 0700 root bin
d none kdestyle/cdbackup/images 0700 root bin
f none kdestyle/cdbackup/images/icon.gif 0600 root bin
d none kdestyle/cpan 0700 root bin
d none kdestyle/cpan/images 0700 root bin
f none kdestyle/cpan/images/icon.gif 0600 root bin
d none kdestyle/cron 0700 root bin
d none kdestyle/cron/images 0700 root bin
f none kdestyle/cron/images/icon.gif 0600 root bin
d none kdestyle/custom 0700 root bin
d none kdestyle/custom/images 0700 root bin
f none kdestyle/custom/images/icon.gif 0600 root bin
d none kdestyle/dfsadmin 0700 root bin
d none kdestyle/dfsadmin/images 0700 root bin
f none kdestyle/dfsadmin/images/icon.gif 0600 root bin
d none kdestyle/dhcpd 0700 root bin
d none kdestyle/dhcpd/images 0700 root bin
f none kdestyle/dhcpd/images/icon.gif 0600 root bin
d none kdestyle/dnsadmin 0700 root bin
d none kdestyle/dnsadmin/images 0700 root bin
f none kdestyle/dnsadmin/images/icon.gif 0600 root bin
d none kdestyle/exports 0700 root bin
d none kdestyle/exports/images 0700 root bin
f none kdestyle/exports/images/icon.gif 0600 root bin
d none kdestyle/fdisk 0700 root bin
d none kdestyle/fdisk/images 0700 root bin
f none kdestyle/fdisk/images/icon.gif 0600 root bin
d none kdestyle/file 0700 root bin
d none kdestyle/file/images 0700 root bin
f none kdestyle/file/images/icon.gif 0600 root bin
d none kdestyle/format 0700 root bin
d none kdestyle/format/images 0700 root bin
f none kdestyle/format/images/icon.gif 0600 root bin
d none kdestyle/hpuxexports 0700 root bin
d none kdestyle/hpuxexports/images 0700 root bin
f none kdestyle/hpuxexports/images/icon.gif 0600 root bin
d none kdestyle/inetd 0700 root bin
d none kdestyle/inetd/images 0700 root bin
f none kdestyle/inetd/images/icon.gif 0600 root bin
d none kdestyle/init 0700 root bin
d none kdestyle/init/images 0700 root bin
f none kdestyle/init/images/icon.gif 0600 root bin
d none kdestyle/initnetwork 0700 root bin
d none kdestyle/initnetwork/images 0700 root bin
f none kdestyle/initnetwork/images/icon.gif 0600 root bin
d none kdestyle/inittab 0700 root bin
d none kdestyle/inittab/images 0700 root bin
f none kdestyle/inittab/images/icon.gif 0600 root bin
d none kdestyle/ipchains 0700 root bin
d none kdestyle/ipchains/images 0700 root bin
f none kdestyle/ipchains/images/icon.gif 0600 root bin
d none kdestyle/lilo 0700 root bin
d none kdestyle/lilo/images 0700 root bin
f none kdestyle/lilo/images/icon.gif 0600 root bin
d none kdestyle/lpadmin 0700 root bin
d none kdestyle/lpadmin/images 0700 root bin
f none kdestyle/lpadmin/images/icon.gif 0600 root bin
d none kdestyle/majordomo 0700 root bin
d none kdestyle/majordomo/images 0700 root bin
f none kdestyle/majordomo/images/icon.gif 0600 root bin
d none kdestyle/man 0700 root bin
d none kdestyle/man/images 0700 root bin
f none kdestyle/man/images/icon.gif 0600 root bin
d none kdestyle/mount 0700 root bin
d none kdestyle/mount/images 0700 root bin
f none kdestyle/mount/images/icon.gif 0600 root bin
d none kdestyle/mysql 0700 root bin
d none kdestyle/mysql/images 0700 root bin
f none kdestyle/mysql/images/icon.gif 0600 root bin
d none kdestyle/net 0700 root bin
d none kdestyle/net/images 0700 root bin
f none kdestyle/net/images/icon.gif 0600 root bin
d none kdestyle/pam 0700 root bin
d none kdestyle/pam/images 0700 root bin
f none kdestyle/pam/images/icon.gif 0600 root bin
d none kdestyle/pap 0700 root bin
d none kdestyle/pap/images 0700 root bin
f none kdestyle/pap/images/icon.gif 0600 root bin
d none kdestyle/postfix 0700 root bin
d none kdestyle/postfix/images 0700 root bin
f none kdestyle/postfix/images/icon.gif 0600 root bin
d none kdestyle/postgresql 0700 root bin
d none kdestyle/postgresql/images 0700 root bin
f none kdestyle/postgresql/images/icon.gif 0600 root bin
d none kdestyle/proc 0700 root bin
d none kdestyle/proc/images 0700 root bin
f none kdestyle/proc/images/icon.gif 0600 root bin
d none kdestyle/quota 0700 root bin
d none kdestyle/quota/images 0700 root bin
f none kdestyle/quota/images/icon.gif 0600 root bin
d none kdestyle/raid 0700 root bin
d none kdestyle/raid/images 0700 root bin
f none kdestyle/raid/images/icon.gif 0600 root bin
d none kdestyle/samba 0700 root bin
d none kdestyle/samba/images 0700 root bin
f none kdestyle/samba/images/icon.gif 0600 root bin
d none kdestyle/sendmail 0700 root bin
d none kdestyle/sendmail/images 0700 root bin
f none kdestyle/sendmail/images/icon.gif 0600 root bin
d none kdestyle/servers 0700 root bin
d none kdestyle/servers/images 0700 root bin
f none kdestyle/servers/images/icon.gif 0600 root bin
d none kdestyle/software 0700 root bin
d none kdestyle/software/images 0700 root bin
f none kdestyle/software/images/icon.gif 0600 root bin
d none kdestyle/squid 0700 root bin
d none kdestyle/squid/images 0700 root bin
f none kdestyle/squid/images/icon.gif 0600 root bin
d none kdestyle/ssh 0700 root bin
d none kdestyle/ssh/images 0700 root bin
f none kdestyle/ssh/images/icon.gif 0600 root bin
d none kdestyle/status 0700 root bin
d none kdestyle/status/images 0700 root bin
f none kdestyle/status/images/icon.gif 0600 root bin
d none kdestyle/syslog 0700 root bin
d none kdestyle/syslog/images 0700 root bin
f none kdestyle/syslog/images/icon.gif 0600 root bin
d none kdestyle/telnet 0700 root bin
d none kdestyle/telnet/images 0700 root bin
f none kdestyle/telnet/images/icon.gif 0600 root bin
d none kdestyle/time 0700 root bin
d none kdestyle/time/images 0700 root bin
f none kdestyle/time/images/icon.gif 0600 root bin
d none kdestyle/useradmin 0700 root bin
d none kdestyle/useradmin/images 0700 root bin
f none kdestyle/useradmin/images/icon.gif 0600 root bin
d none kdestyle/webmin 0700 root bin
d none kdestyle/webmin/images 0700 root bin
f none kdestyle/webmin/images/icon.gif 0600 root bin
d none kdestyle/webminlog 0700 root bin
d none kdestyle/webminlog/images 0700 root bin
f none kdestyle/webminlog/images/icon.gif 0600 root bin
d none kdestyle/wuftpd 0700 root bin
d none kdestyle/wuftpd/images 0700 root bin
f none kdestyle/wuftpd/images/icon.gif 0600 root bin
d none kdestyle/xinetd 0700 root bin
d none kdestyle/xinetd/images 0700 root bin
f none kdestyle/xinetd/images/icon.gif 0600 root bin
f none kdestyle/theme.info 0600 root bin
d none proftpd 0700 root bin
d none proftpd/lang 0700 root bin
f none proftpd/lang/en 0600 root bin
f none proftpd/lang/pl 0600 root bin
f none proftpd/lang/ca 0600 root bin
f none proftpd/lang/es 0600 root bin
f none proftpd/lang/it 0600 root bin
d none proftpd/images 0700 root bin
f none proftpd/images/icon.gif 0600 root bin
f none proftpd/images/misc.gif 0600 root bin
f none proftpd/images/anon.gif 0600 root bin
f none proftpd/images/virt.gif 0600 root bin
f none proftpd/images/log.gif 0600 root bin
f none proftpd/images/dirs.gif 0600 root bin
f none proftpd/images/type_icon_0.gif 0600 root bin
f none proftpd/images/type_icon_5.gif 0600 root bin
f none proftpd/images/type_icon_3.gif 0600 root bin
f none proftpd/images/dir.gif 0600 root bin
f none proftpd/images/type_icon_1.gif 0600 root bin
f none proftpd/images/type_icon_6.gif 0600 root bin
f none proftpd/images/type_icon_4.gif 0600 root bin
f none proftpd/images/type_icon_2.gif 0600 root bin
f none proftpd/images/edit.gif 0600 root bin
f none proftpd/images/limit.gif 0600 root bin
f none proftpd/images/ftpusers.gif 0600 root bin
f none proftpd/proftpd-lib.pl 0600 root bin
f none proftpd/module.info 0600 root bin
f none proftpd/start.cgi 0700 root bin
f none proftpd/config.info 0600 root bin
f none proftpd/index.cgi 0700 root bin
f none proftpd/apply.cgi 0700 root bin
f none proftpd/mod_core.pl 0600 root bin
f none proftpd/edit_net.cgi 0700 root bin
f none proftpd/save_global.cgi 0700 root bin
f none proftpd/edit_global.cgi 0700 root bin
f none proftpd/edit_virt.cgi 0700 root bin
f none proftpd/virt_index.cgi 0700 root bin
f none proftpd/save_virt.cgi 0700 root bin
f none proftpd/mod_ls.pl 0600 root bin
f none proftpd/anon_index.cgi 0700 root bin
f none proftpd/save_vserv.cgi 0700 root bin
f none proftpd/edit_vserv.cgi 0700 root bin
f none proftpd/edit_aserv.cgi 0700 root bin
f none proftpd/edit_anon.cgi 0700 root bin
f none proftpd/save_aserv.cgi 0700 root bin
f none proftpd/save_anon.cgi 0700 root bin
f none proftpd/create_virt.cgi 0700 root bin
f none proftpd/manual_save.cgi 0700 root bin
f none proftpd/manual_form.cgi 0700 root bin
f none proftpd/dir_index.cgi 0700 root bin
f none proftpd/limit_index.cgi 0700 root bin
f none proftpd/edit_dir.cgi 0700 root bin
f none proftpd/save_dir.cgi 0700 root bin
f none proftpd/edit_dserv.cgi 0700 root bin
f none proftpd/save_dserv.cgi 0700 root bin
f none proftpd/edit_limit.cgi 0700 root bin
f none proftpd/create_dir.cgi 0700 root bin
f none proftpd/save_limit.cgi 0700 root bin
f none proftpd/create_limit.cgi 0700 root bin
f none proftpd/save_lserv.cgi 0700 root bin
f none proftpd/edit_lserv.cgi 0700 root bin
f none proftpd/config-msc-linux 0600 root bin
f none proftpd/mod_readme.pl 0600 root bin
f none proftpd/mod_auth.pl 0600 root bin
f none proftpd/mod_site.pl 0600 root bin
f none proftpd/mod_log.pl 0600 root bin
f none proftpd/mod_pam.pl 0600 root bin
f none proftpd/config 0600 root bin
f none proftpd/mod_unixpw.pl 0600 root bin
f none proftpd/config-open-linux 0600 root bin
f none proftpd/config-redhat-linux 0600 root bin
f none proftpd/config-mandrake-linux 0600 root bin
f none proftpd/config-slackware-linux 0600 root bin
f none proftpd/config-debian-linux 0600 root bin
f none proftpd/config-suse-linux 0600 root bin
f none proftpd/config-turbo-linux 0600 root bin
f none proftpd/config-cobalt-linux 0600 root bin
f none proftpd/mod_ldap.pl 0600 root bin
f none proftpd/config.info.pl 0600 root bin
f none proftpd/ftpaccess.cgi 0700 root bin
f none proftpd/ftpaccess_index.cgi 0700 root bin
f none proftpd/edit_ftpusers.cgi 0700 root bin
f none proftpd/save_ftpusers.cgi 0700 root bin
f none proftpd/find_ftpaccess.cgi 0700 root bin
f none proftpd/edit_ftpaccess.cgi 0700 root bin
f none proftpd/save_ftpaccess.cgi 0700 root bin
f none proftpd/delete_ftpaccess.cgi 0700 root bin
f none proftpd/create_ftpaccess.cgi 0700 root bin
f none proftpd/log_parser.pl 0600 root bin
f none proftpd/config.info.es 0600 root bin
f none proftpd/feedback_files.pl 0600 root bin
f none proftpd/allmanual_form.cgi 0700 root bin
f none proftpd/allmanual_save.cgi 0700 root bin
f none proftpd/config-gentoo-linux 0600 root bin
f none proftpd/config.info.ca 0600 root bin
f none proftpd/config-freebsd 0600 root bin
d none sshd 0700 root bin
d none sshd/help 0700 root bin
f none sshd/help/net.html 0600 root bin
f none sshd/help/users.html 0600 root bin
f none sshd/help/intro.html 0600 root bin
f none sshd/help/host.html 0600 root bin
f none sshd/help/chost.html 0600 root bin
f none sshd/help/hosts.html 0600 root bin
f none sshd/help/access.html 0600 root bin
f none sshd/help/ehost.html 0600 root bin
f none sshd/help/misc.html 0600 root bin
f none sshd/help/access.pl.html 0600 root bin
f none sshd/help/chost.pl.html 0600 root bin
f none sshd/help/ehost.pl.html 0600 root bin
f none sshd/help/host.pl.html 0600 root bin
f none sshd/help/hosts.pl.html 0600 root bin
f none sshd/help/intro.pl.html 0600 root bin
f none sshd/help/misc.pl.html 0600 root bin
f none sshd/help/net.pl.html 0600 root bin
f none sshd/help/users.pl.html 0600 root bin
f none sshd/help/access.ca.html 0600 root bin
f none sshd/help/chost.ca.html 0600 root bin
f none sshd/help/ehost.ca.html 0600 root bin
f none sshd/help/host.ca.html 0600 root bin
f none sshd/help/hosts.ca.html 0600 root bin
f none sshd/help/intro.ca.html 0600 root bin
f none sshd/help/misc.ca.html 0600 root bin
f none sshd/help/net.ca.html 0600 root bin
f none sshd/help/users.ca.html 0600 root bin
d none sshd/lang 0700 root bin
f none sshd/lang/en 0600 root bin
f none sshd/lang/pl 0600 root bin
f none sshd/lang/ca 0600 root bin
f none sshd/lang/de 0600 root bin
f none sshd/lang/it 0600 root bin
d none sshd/images 0700 root bin
f none sshd/images/misc.gif 0600 root bin
f none sshd/images/net.gif 0600 root bin
f none sshd/images/users.gif 0600 root bin
f none sshd/images/icon.gif 0600 root bin
f none sshd/images/access.gif 0600 root bin
f none sshd/images/host.gif 0600 root bin
f none sshd/images/hosts.gif 0600 root bin
f none sshd/images/sync.gif 0600 root bin
f none sshd/sshd-lib.pl 0600 root bin
f none sshd/config.info 0600 root bin
f none sshd/module.info 0600 root bin
f none sshd/index.cgi 0700 root bin
f none sshd/edit_users.cgi 0700 root bin
f none sshd/apply.cgi 0700 root bin
f none sshd/save_users.cgi 0700 root bin
f none sshd/save_net.cgi 0700 root bin
f none sshd/edit_net.cgi 0700 root bin
f none sshd/save_access.cgi 0700 root bin
f none sshd/edit_access.cgi 0700 root bin
f none sshd/edit_misc.cgi 0700 root bin
f none sshd/start.cgi 0700 root bin
f none sshd/save_misc.cgi 0700 root bin
f none sshd/edit_host.cgi 0700 root bin
f none sshd/list_hosts.cgi 0700 root bin
f none sshd/save_host.cgi 0700 root bin
f none sshd/log_parser.pl 0600 root bin
f none sshd/config-redhat-linux-7.2 0600 root bin
f none sshd/config 0600 root bin
f none sshd/config-redhat-linux-7.1 0600 root bin
f none sshd/config-redhat-linux-7.0 0600 root bin
f none sshd/config-open-linux-3.1 0600 root bin
f none sshd/config-slackware-linux-8.0 0600 root bin
f none sshd/config-debian-linux-2.2 0600 root bin
f none sshd/config-suse-linux-7.2 0600 root bin
f none sshd/config-suse-linux-7.3 0600 root bin
f none sshd/config-suse-linux-7.1 0600 root bin
f none sshd/config-turbo-linux-7.0 0600 root bin
f none sshd/config-mandrake-linux-8.0 0600 root bin
f none sshd/config-mandrake-linux-8.1 0600 root bin
f none sshd/config-mandrake-linux-7.2 0600 root bin
f none sshd/config-mandrake-linux-7.1 0600 root bin
f none sshd/config.info.pl 0600 root bin
f none sshd/config-macos-1.3 0600 root bin
f none sshd/config-macos-1.4 0600 root bin
f none sshd/edit_sync.cgi 0700 root bin
f none sshd/useradmin_update.pl 0600 root bin
f none sshd/config.info.ca 0600 root bin
f none sshd/save_sync.cgi 0700 root bin
f none sshd/config.info.de 0600 root bin
f none sshd/config-debian-linux-3.0 0600 root bin
f none sshd/config-mandrake-linux-8.2 0600 root bin
f none sshd/config-redhat-linux-7.3 0600 root bin
f none sshd/config-suse-linux-8.0 0600 root bin
f none sshd/config-slackware-linux-8.1 0600 root bin
d none heartbeat 0700 root bin
d none heartbeat/images 0700 root bin
f none heartbeat/images/icon.gif 0600 root bin
f none heartbeat/images/auth.gif 0600 root bin
f none heartbeat/images/res.gif 0600 root bin
f none heartbeat/images/conf.gif 0600 root bin
f none heartbeat/heartbeat-lib.pl 0600 root bin
d none heartbeat/lang 0700 root bin
f none heartbeat/lang/en 0600 root bin
f none heartbeat/lang/hu 0600 root bin
f none heartbeat/lang/ca 0600 root bin
f none heartbeat/module.info 0600 root bin
f none heartbeat/index.cgi 0700 root bin
f none heartbeat/config.info 0600 root bin
f none heartbeat/apply.cgi 0700 root bin
f none heartbeat/save_conf.cgi 0700 root bin
f none heartbeat/edit_res.cgi 0700 root bin
f none heartbeat/edit_conf.cgi 0700 root bin
f none heartbeat/edit_node.cgi 0700 root bin
f none heartbeat/start.cgi 0700 root bin
f none heartbeat/config 0600 root bin
f none heartbeat/save_node.cgi 0700 root bin
f none heartbeat/edit_auth.cgi 0700 root bin
f none heartbeat/save_auth.cgi 0700 root bin
f none heartbeat/config-slackware-linux 0600 root bin
f none heartbeat/config.info.hu 0600 root bin
f none heartbeat/config.info.ca 0600 root bin
f none heartbeat/feedback_files.pl 0600 root bin
f none heartbeat/config-freebsd 0600 root bin
f none heartbeat/config-generic-linux 0600 root bin
d none cluster-software 0700 root bin
f none cluster-software/module.info 0600 root bin
d none cluster-software/lang 0700 root bin
f none cluster-software/lang/en 0600 root bin
f none cluster-software/lang/hu 0600 root bin
f none cluster-software/lang/ca 0600 root bin
d none cluster-software/images 0700 root bin
f none cluster-software/images/close.gif 0600 root bin
f none cluster-software/images/icon.gif 0600 root bin
f none cluster-software/images/pack.gif 0600 root bin
f none cluster-software/images/open.gif 0600 root bin
f none cluster-software/cluster-software-lib.pl 0600 root bin
d none cluster-software/help 0700 root bin
f none cluster-software/help/intro.html 0600 root bin
f none cluster-software/help/edit_host.html 0600 root bin
f none cluster-software/help/search.html 0600 root bin
f none cluster-software/help/edit_pack.html 0600 root bin
f none cluster-software/help/install_pack.html 0600 root bin
f none cluster-software/help/delete_pack.html 0600 root bin
f none cluster-software/help/delete_pack.ca.html 0600 root bin
f none cluster-software/help/edit_host.ca.html 0600 root bin
f none cluster-software/help/edit_pack.ca.html 0600 root bin
f none cluster-software/help/install_pack.ca.html 0600 root bin
f none cluster-software/help/intro.ca.html 0600 root bin
f none cluster-software/help/search.ca.html 0600 root bin
f none cluster-software/index.cgi 0700 root bin
f none cluster-software/add.cgi 0700 root bin
f none cluster-software/search.cgi 0700 root bin
f none cluster-software/install_pack.cgi 0700 root bin
f none cluster-software/edit_host.cgi 0700 root bin
f none cluster-software/do_install.cgi 0700 root bin
f none cluster-software/closeall.cgi 0700 root bin
f none cluster-software/open.cgi 0700 root bin
f none cluster-software/close.cgi 0700 root bin
f none cluster-software/openall.cgi 0700 root bin
f none cluster-software/edit_pack.cgi 0700 root bin
f none cluster-software/refresh.cgi 0700 root bin
f none cluster-software/list_pack.cgi 0700 root bin
f none cluster-software/delete_host.cgi 0700 root bin
f none cluster-software/delete_pack.cgi 0700 root bin
f none cluster-software/do_install_serial.cgi 0700 root bin
f none cluster-software/config.info 0600 root bin
f none cluster-software/config 0600 root bin
f none cluster-software/config.info.ca 0600 root bin
d none cluster-useradmin 0700 root bin
d none cluster-useradmin/help 0700 root bin
f none cluster-useradmin/help/intro.html 0600 root bin
f none cluster-useradmin/help/intro.ca.html 0600 root bin
d none cluster-useradmin/lang 0700 root bin
f none cluster-useradmin/lang/en 0600 root bin
f none cluster-useradmin/lang/ca 0600 root bin
d none cluster-useradmin/images 0700 root bin
f none cluster-useradmin/images/icon.gif 0600 root bin
f none cluster-useradmin/module.info 0600 root bin
f none cluster-useradmin/index.cgi 0700 root bin
f none cluster-useradmin/add.cgi 0700 root bin
f none cluster-useradmin/cluster-useradmin-lib.pl 0600 root bin
f none cluster-useradmin/delete_host.cgi 0700 root bin
f none cluster-useradmin/edit_host.cgi 0700 root bin
f none cluster-useradmin/search_user.cgi 0700 root bin
f none cluster-useradmin/refresh.cgi 0700 root bin
f none cluster-useradmin/create_user.cgi 0700 root bin
f none cluster-useradmin/search_group.cgi 0700 root bin
f none cluster-useradmin/edit_user.cgi 0700 root bin
f none cluster-useradmin/save_user.cgi 0700 root bin
f none cluster-useradmin/user_form.cgi 0700 root bin
f none cluster-useradmin/delete_user.cgi 0700 root bin
f none cluster-useradmin/edit_group.cgi 0700 root bin
f none cluster-useradmin/group_form.cgi 0700 root bin
f none cluster-useradmin/create_group.cgi 0700 root bin
f none cluster-useradmin/save_group.cgi 0700 root bin
f none cluster-useradmin/sync_form.cgi 0700 root bin
f none cluster-useradmin/sync.cgi 0700 root bin
f none cluster-useradmin/config 0600 root bin
f none cluster-useradmin/config.info 0600 root bin
f none cluster-useradmin/delete_group.cgi 0700 root bin
f none cluster-useradmin/config.info.ca 0600 root bin
d none qmailadmin 0700 root bin
d none qmailadmin/lang 0700 root bin
f none qmailadmin/lang/en 0600 root bin
f none qmailadmin/lang/ca 0600 root bin
f none qmailadmin/lang/it 0600 root bin
d none qmailadmin/images 0700 root bin
f none qmailadmin/images/opts.gif 0600 root bin
f none qmailadmin/images/locals.gif 0600 root bin
f none qmailadmin/images/aliases.gif 0600 root bin
f none qmailadmin/images/icon.gif 0600 root bin
f none qmailadmin/images/virts.gif 0600 root bin
f none qmailadmin/images/routes.gif 0600 root bin
f none qmailadmin/images/bads.gif 0600 root bin
f none qmailadmin/images/rcpts.gif 0600 root bin
f none qmailadmin/images/percents.gif 0600 root bin
f none qmailadmin/images/queue.gif 0600 root bin
f none qmailadmin/images/boxes.gif 0600 root bin
f none qmailadmin/images/assigns.gif 0600 root bin
d none qmailadmin/help 0700 root bin
f none qmailadmin/qmail-lib.pl 0600 root bin
f none qmailadmin/module.info 0600 root bin
f none qmailadmin/config.info 0600 root bin
f none qmailadmin/index.cgi 0700 root bin
f none qmailadmin/edit_alias.cgi 0700 root bin
f none qmailadmin/save_alias.cgi 0700 root bin
f none qmailadmin/list_aliases.cgi 0700 root bin
f none qmailadmin/filter.pl 0700 root bin
f none qmailadmin/autoreply.pl 0700 root bin
f none qmailadmin/list_opts.cgi 0700 root bin
f none qmailadmin/list_locals.cgi 0700 root bin
f none qmailadmin/save_locals.cgi 0700 root bin
f none qmailadmin/list_rcpts.cgi 0700 root bin
f none qmailadmin/save_rcpts.cgi 0700 root bin
f none qmailadmin/list_routes.cgi 0700 root bin
f none qmailadmin/list_bads.cgi 0700 root bin
f none qmailadmin/save_opts.cgi 0700 root bin
f none qmailadmin/save_bads.cgi 0700 root bin
f none qmailadmin/stop.cgi 0700 root bin
f none qmailadmin/save_defroute.cgi 0700 root bin
f none qmailadmin/save_percents.cgi 0700 root bin
f none qmailadmin/save_route.cgi 0700 root bin
f none qmailadmin/list_percents.cgi 0700 root bin
f none qmailadmin/edit_route.cgi 0700 root bin
f none qmailadmin/list_virts.cgi 0700 root bin
f none qmailadmin/save_virt.cgi 0700 root bin
f none qmailadmin/edit_virt.cgi 0700 root bin
f none qmailadmin/log_parser.pl 0600 root bin
f none qmailadmin/config 0600 root bin
f none qmailadmin/start.cgi 0700 root bin
f none qmailadmin/edit_rfile.cgi 0700 root bin
f none qmailadmin/save_rfile.cgi 0700 root bin
f none qmailadmin/list_queue.cgi 0700 root bin
f none qmailadmin/view_queue.cgi 0700 root bin
f none qmailadmin/edit_ffile.cgi 0700 root bin
f none qmailadmin/detach_queue.cgi 0700 root bin
f none qmailadmin/list_assigns.cgi 0700 root bin
f none qmailadmin/save_ffile.cgi 0700 root bin
f none qmailadmin/save_assign.cgi 0700 root bin
f none qmailadmin/edit_assign.cgi 0700 root bin
f none qmailadmin/config.info.ca 0600 root bin
f none qmailadmin/delete_queue.cgi 0700 root bin
f none qmailadmin/delete_queues.cgi 0700 root bin
f none qmailadmin/feedback_files.pl 0600 root bin
d none mon 0700 root bin
d none mon/help 0700 root bin
f none mon/help/monshow.html 0600 root bin
f none mon/help/service.html 0600 root bin
f none mon/help/hostgroup.html 0600 root bin
f none mon/help/intro.html 0600 root bin
f none mon/help/hostgroup.ca.html 0600 root bin
f none mon/help/intro.ca.html 0600 root bin
f none mon/help/monshow.ca.html 0600 root bin
f none mon/help/service.ca.html 0600 root bin
d none mon/lang 0700 root bin
f none mon/lang/en 0600 root bin
f none mon/lang/.en.swp 0600 root bin
f none mon/lang/ca 0600 root bin
f none mon/mon_status.cgi 0700 root bin
f none mon/monshowrc 0600 root bin
f none mon/README 0600 root bin
f none mon/monshow.diff 0600 root bin
f none mon/mon_action.cgi 0700 root bin
f none mon/moncmd.cgi 0700 root bin
d none mon/images 0700 root bin
f none mon/images/mon_status.gif 0600 root bin
f none mon/images/icon.gif 0600 root bin
f none mon/images/periods.gif 0600 root bin
f none mon/images/mon.gif 0600 root bin
f none mon/images/mon_global.gif 0600 root bin
f none mon/images/mon_conf.gif 0600 root bin
f none mon/images/watches.gif 0600 root bin
f none mon/images/groups.gif 0600 root bin
f none mon/images/global.gif 0600 root bin
f none mon/images/users.gif 0600 root bin
f none mon/images/status.gif 0600 root bin
f none mon/images/auth.gif 0600 root bin
f none mon/index.cgi 0700 root bin
f none mon/config.info 0600 root bin
f none mon/mon-lib.pl 0700 root bin
f none mon/services.cgi 0700 root bin
f none mon/moncmd.diff 0600 root bin
f none mon/module.info 0600 root bin
f none mon/hostgroups.cgi 0700 root bin
f none mon/monshow.cgi 0700 root bin
f none mon/moncmd.pl 0700 root bin
f none mon/save_config.cgi 0700 root bin
f none mon/config 0600 root bin
f none mon/start.cgi 0700 root bin
f none mon/restart.cgi 0700 root bin
f none mon/stop.cgi 0700 root bin
f none mon/list_groups.cgi 0700 root bin
f none mon/save_groups.cgi 0700 root bin
f none mon/list_watches.cgi 0700 root bin
f none mon/edit_service.cgi 0700 root bin
f none mon/edit_watch.cgi 0700 root bin
f none mon/save_watch.cgi 0700 root bin
f none mon/create_watch.cgi 0700 root bin
f none mon/edit_global.cgi 0700 root bin
f none mon/save_service.cgi 0700 root bin
f none mon/mon.cgi 0700 root bin
f none mon/save_global.cgi 0700 root bin
f none mon/edit_user.cgi 0700 root bin
f none mon/list_users.cgi 0700 root bin
f none mon/save_user.cgi 0700 root bin
f none mon/edit_auth.cgi 0700 root bin
f none mon/save_auth.cgi 0700 root bin
f none mon/feedback_files.pl 0600 root bin
f none mon/config.info.ca 0600 root bin
f none mon/list_periods.cgi 0700 root bin
f none mon/save_periods.cgi 0700 root bin
d none mscstyle3 0700 root bin
d none mscstyle3/acl 0700 root bin
d none mscstyle3/acl/images 0700 root bin
f none mscstyle3/acl/images/icon.gif 0600 root bin
d none mscstyle3/apache 0700 root bin
d none mscstyle3/apache/images 0700 root bin
f none mscstyle3/apache/images/icon.gif 0600 root bin
d none mscstyle3/bind8 0700 root bin
d none mscstyle3/bind8/images 0700 root bin
f none mscstyle3/bind8/images/icon.gif 0600 root bin
d none mscstyle3/bsdexports 0700 root bin
d none mscstyle3/bsdexports/images 0700 root bin
f none mscstyle3/bsdexports/images/icon.gif 0600 root bin
d none mscstyle3/cdbackup 0700 root bin
d none mscstyle3/cdbackup/images 0700 root bin
f none mscstyle3/cdbackup/images/icon.gif 0600 root bin
d none mscstyle3/cpan 0700 root bin
d none mscstyle3/cpan/images 0700 root bin
f none mscstyle3/cpan/images/icon.gif 0600 root bin
d none mscstyle3/cron 0700 root bin
d none mscstyle3/cron/images 0700 root bin
f none mscstyle3/cron/images/icon.gif 0600 root bin
d none mscstyle3/custom 0700 root bin
d none mscstyle3/custom/images 0700 root bin
f none mscstyle3/custom/images/icon.gif 0600 root bin
d none mscstyle3/dfsadmin 0700 root bin
d none mscstyle3/dfsadmin/images 0700 root bin
f none mscstyle3/dfsadmin/images/icon.gif 0600 root bin
d none mscstyle3/dhcpd 0700 root bin
d none mscstyle3/dhcpd/images 0700 root bin
f none mscstyle3/dhcpd/images/icon.gif 0600 root bin
d none mscstyle3/dnsadmin 0700 root bin
d none mscstyle3/dnsadmin/images 0700 root bin
f none mscstyle3/dnsadmin/images/icon.gif 0600 root bin
d none mscstyle3/exports 0700 root bin
d none mscstyle3/exports/images 0700 root bin
f none mscstyle3/exports/images/icon.gif 0600 root bin
d none mscstyle3/fdisk 0700 root bin
d none mscstyle3/fdisk/images 0700 root bin
f none mscstyle3/fdisk/images/icon.gif 0600 root bin
d none mscstyle3/file 0700 root bin
d none mscstyle3/file/images 0700 root bin
f none mscstyle3/file/images/icon.gif 0600 root bin
d none mscstyle3/format 0700 root bin
d none mscstyle3/format/images 0700 root bin
f none mscstyle3/format/images/icon.gif 0600 root bin
d none mscstyle3/hpuxexports 0700 root bin
d none mscstyle3/hpuxexports/images 0700 root bin
f none mscstyle3/hpuxexports/images/icon.gif 0600 root bin
d none mscstyle3/inetd 0700 root bin
d none mscstyle3/inetd/images 0700 root bin
f none mscstyle3/inetd/images/icon.gif 0600 root bin
d none mscstyle3/init 0700 root bin
d none mscstyle3/init/images 0700 root bin
f none mscstyle3/init/images/icon.gif 0600 root bin
d none mscstyle3/initnetwork 0700 root bin
d none mscstyle3/initnetwork/images 0700 root bin
f none mscstyle3/initnetwork/images/icon.gif 0600 root bin
d none mscstyle3/inittab 0700 root bin
d none mscstyle3/inittab/images 0700 root bin
f none mscstyle3/inittab/images/icon.gif 0600 root bin
d none mscstyle3/ipchains 0700 root bin
d none mscstyle3/ipchains/images 0700 root bin
f none mscstyle3/ipchains/images/icon.gif 0600 root bin
d none mscstyle3/lilo 0700 root bin
d none mscstyle3/lilo/images 0700 root bin
f none mscstyle3/lilo/images/icon.gif 0600 root bin
d none mscstyle3/lpadmin 0700 root bin
d none mscstyle3/lpadmin/images 0700 root bin
f none mscstyle3/lpadmin/images/icon.gif 0600 root bin
d none mscstyle3/majordomo 0700 root bin
d none mscstyle3/majordomo/images 0700 root bin
f none mscstyle3/majordomo/images/icon.gif 0600 root bin
d none mscstyle3/man 0700 root bin
d none mscstyle3/man/images 0700 root bin
f none mscstyle3/man/images/icon.gif 0600 root bin
d none mscstyle3/mount 0700 root bin
d none mscstyle3/mount/images 0700 root bin
f none mscstyle3/mount/images/icon.gif 0600 root bin
d none mscstyle3/mysql 0700 root bin
d none mscstyle3/mysql/images 0700 root bin
f none mscstyle3/mysql/images/icon.gif 0600 root bin
d none mscstyle3/net 0700 root bin
d none mscstyle3/net/images 0700 root bin
f none mscstyle3/net/images/icon.gif 0600 root bin
d none mscstyle3/pam 0700 root bin
d none mscstyle3/pam/images 0700 root bin
f none mscstyle3/pam/images/icon.gif 0600 root bin
d none mscstyle3/pap 0700 root bin
d none mscstyle3/pap/images 0700 root bin
f none mscstyle3/pap/images/icon.gif 0600 root bin
d none mscstyle3/postfix 0700 root bin
d none mscstyle3/postfix/images 0700 root bin
f none mscstyle3/postfix/images/icon.gif 0600 root bin
d none mscstyle3/postgresql 0700 root bin
d none mscstyle3/postgresql/images 0700 root bin
f none mscstyle3/postgresql/images/icon.gif 0600 root bin
d none mscstyle3/proc 0700 root bin
d none mscstyle3/proc/images 0700 root bin
f none mscstyle3/proc/images/icon.gif 0600 root bin
d none mscstyle3/quota 0700 root bin
d none mscstyle3/quota/images 0700 root bin
f none mscstyle3/quota/images/icon.gif 0600 root bin
d none mscstyle3/raid 0700 root bin
d none mscstyle3/raid/images 0700 root bin
f none mscstyle3/raid/images/icon.gif 0600 root bin
d none mscstyle3/samba 0700 root bin
d none mscstyle3/samba/images 0700 root bin
f none mscstyle3/samba/images/icon.gif 0600 root bin
d none mscstyle3/sendmail 0700 root bin
d none mscstyle3/sendmail/images 0700 root bin
f none mscstyle3/sendmail/images/icon.gif 0600 root bin
d none mscstyle3/servers 0700 root bin
d none mscstyle3/servers/images 0700 root bin
f none mscstyle3/servers/images/icon.gif 0600 root bin
d none mscstyle3/software 0700 root bin
d none mscstyle3/software/images 0700 root bin
f none mscstyle3/software/images/icon.gif 0600 root bin
d none mscstyle3/squid 0700 root bin
d none mscstyle3/squid/images 0700 root bin
f none mscstyle3/squid/images/icon.gif 0600 root bin
d none mscstyle3/ssh 0700 root bin
d none mscstyle3/ssh/images 0700 root bin
f none mscstyle3/ssh/images/icon.gif 0600 root bin
d none mscstyle3/status 0700 root bin
d none mscstyle3/status/images 0700 root bin
f none mscstyle3/status/images/icon.gif 0600 root bin
d none mscstyle3/syslog 0700 root bin
d none mscstyle3/syslog/images 0700 root bin
f none mscstyle3/syslog/images/icon.gif 0600 root bin
d none mscstyle3/telnet 0700 root bin
d none mscstyle3/telnet/images 0700 root bin
f none mscstyle3/telnet/images/icon.gif 0600 root bin
d none mscstyle3/time 0700 root bin
d none mscstyle3/time/images 0700 root bin
f none mscstyle3/time/images/icon.gif 0600 root bin
d none mscstyle3/useradmin 0700 root bin
d none mscstyle3/useradmin/images 0700 root bin
f none mscstyle3/useradmin/images/icon.gif 0600 root bin
d none mscstyle3/webmin 0700 root bin
d none mscstyle3/webmin/images 0700 root bin
f none mscstyle3/webmin/images/icon.gif 0600 root bin
d none mscstyle3/webminlog 0700 root bin
d none mscstyle3/webminlog/images 0700 root bin
f none mscstyle3/webminlog/images/icon.gif 0600 root bin
d none mscstyle3/wuftpd 0700 root bin
d none mscstyle3/wuftpd/images 0700 root bin
f none mscstyle3/wuftpd/images/icon.gif 0600 root bin
d none mscstyle3/xinetd 0700 root bin
d none mscstyle3/xinetd/images 0700 root bin
f none mscstyle3/xinetd/images/icon.gif 0600 root bin
d none mscstyle3/images 0700 root bin
f none mscstyle3/images/jjs3_logo.gif 0600 root bin
d none mscstyle3/images/cats 0700 root bin
f none mscstyle3/images/cats/unknown.jpg 0600 root bin
f none mscstyle3/images/cats/webmin.jpg 0600 root bin
f none mscstyle3/images/cats/hardware.jpg 0600 root bin
f none mscstyle3/images/cats/others.jpg 0600 root bin
f none mscstyle3/images/cats/system.jpg 0600 root bin
f none mscstyle3/images/cats/cluster.jpg 0600 root bin
f none mscstyle3/images/cats/servers.jpg 0600 root bin
f none mscstyle3/images/cats/net.jpg 0600 root bin
f none mscstyle3/images/cats/kororaweb.jpg 0600 root bin
f none mscstyle3/images/cats/login.jpg 0600 root bin
f none mscstyle3/images/cats/mail.jpg 0600 root bin
f none mscstyle3/images/cats/usermin.jpg 0600 root bin
f none mscstyle3/images/cats/apps.jpg 0600 root bin
d none mscstyle3/images/nav 0700 root bin
f none mscstyle3/images/nav/bg.jpg 0600 root bin
f none mscstyle3/images/nav/bottom_bg.jpg 0600 root bin
f none mscstyle3/images/nav/bottom_left.jpg 0600 root bin
f none mscstyle3/images/nav/bottom_shadow.jpg 0600 root bin
f none mscstyle3/images/nav/left.jpg 0600 root bin
f none mscstyle3/images/nav/sep.jpg 0600 root bin
f none mscstyle3/images/nav/text_bg.jpg 0600 root bin
f none mscstyle3/images/nav/text_left.jpg 0600 root bin
f none mscstyle3/images/nav/text_sep.jpg 0600 root bin
f none mscstyle3/images/nav/Thumbs.db 0600 root bin
f none mscstyle3/images/nav/bottom_shadow2.jpg 0600 root bin
d none mscstyle3/images/top_bar 0700 root bin
f none mscstyle3/images/top_bar/bg.jpg 0600 root bin
f none mscstyle3/images/top_bar/left.jpg 0600 root bin
f none mscstyle3/images/top_bar/logout.jpg 0600 root bin
f none mscstyle3/images/top_bar/msc_logo.jpg 0600 root bin
f none mscstyle3/images/top_bar/right.jpg 0600 root bin
f none mscstyle3/images/top_bar/shadow.jpg 0600 root bin
f none mscstyle3/images/top_bar/shadow_bg.jpg 0600 root bin
f none mscstyle3/images/top_bar/webmin_logo.jpg 0700 root bin
f none mscstyle3/images/top_bar/top_sep.jpg 0600 root bin
f none mscstyle3/images/top_bar/feedback.jpg 0600 root bin
d none mscstyle3/images/cats_over 0700 root bin
f none mscstyle3/images/cats_over/unknown.jpg 0600 root bin
f none mscstyle3/images/cats_over/webmin.jpg 0600 root bin
f none mscstyle3/images/cats_over/hardware.jpg 0600 root bin
f none mscstyle3/images/cats_over/others.jpg 0600 root bin
f none mscstyle3/images/cats_over/system.jpg 0600 root bin
f none mscstyle3/images/cats_over/cluster.jpg 0600 root bin
f none mscstyle3/images/cats_over/servers.jpg 0600 root bin
f none mscstyle3/images/cats_over/net.jpg 0600 root bin
f none mscstyle3/images/cats_over/kororaweb.jpg 0600 root bin
f none mscstyle3/images/cats_over/usermin.jpg 0600 root bin
f none mscstyle3/images/cats_over/login.jpg 0600 root bin
f none mscstyle3/images/cats_over/mail.jpg 0600 root bin
f none mscstyle3/images/cats_over/apps.jpg 0600 root bin
d none mscstyle3/images/tabs 0700 root bin
f none mscstyle3/images/tabs/white_left.jpg 0600 root bin
f none mscstyle3/images/tabs/white_right.jpg 0600 root bin
f none mscstyle3/images/tabs/bg.jpg 0600 root bin
f none mscstyle3/images/tabs/bottom.jpg 0600 root bin
f none mscstyle3/images/tabs/left.jpg 0600 root bin
f none mscstyle3/images/tabs/left_bottom.jpg 0600 root bin
f none mscstyle3/images/tabs/right.jpg 0600 root bin
f none mscstyle3/images/tabs/right_bottom.jpg 0600 root bin
f none mscstyle3/images/tabs/shadow.jpg 0600 root bin
f none mscstyle3/images/tabs/Thumbs.db 0600 root bin
f none mscstyle3/images/tabs/yellow_left.jpg 0600 root bin
f none mscstyle3/images/tabs/yellow_right.jpg 0600 root bin
f none mscstyle3/images/tabs/blue_left.jpg 0600 root bin
f none mscstyle3/images/tabs/blue_right.jpg 0600 root bin
f none mscstyle3/images/white_bar.jpg 0600 root bin
f none mscstyle3/images/white_bar2.jpg 0600 root bin
f none mscstyle3/images/msctile.jpg 0600 root bin
f none mscstyle3/images/msctile2.jpg 0600 root bin
f none mscstyle3/images/arrow.jpg 0600 root bin
f none mscstyle3/images/theme_by.jpg 0700 root bin
d none mscstyle3/images/letters2 0700 root bin
f none mscstyle3/images/letters2/193.gif 0600 root bin
f none mscstyle3/images/letters2/197.gif 0600 root bin
f none mscstyle3/images/letters2/201.gif 0600 root bin
f none mscstyle3/images/letters2/208.gif 0600 root bin
f none mscstyle3/images/letters2/214.gif 0600 root bin
f none mscstyle3/images/letters2/222.gif 0600 root bin
f none mscstyle3/images/letters2/234.gif 0600 root bin
f none mscstyle3/images/letters2/50.gif 0600 root bin
f none mscstyle3/images/letters2/52.gif 0600 root bin
f none mscstyle3/images/letters2/54.gif 0600 root bin
f none mscstyle3/images/letters2/91.gif 0600 root bin
f none mscstyle3/images/letters2/56.gif 0600 root bin
f none mscstyle3/images/letters2/93.gif 0600 root bin
f none mscstyle3/images/letters2/58.gif 0600 root bin
f none mscstyle3/images/letters2/95.gif 0600 root bin
f none mscstyle3/images/letters2/97.gif 0600 root bin
f none mscstyle3/images/letters2/99.gif 0600 root bin
f none mscstyle3/images/letters2/239.gif 0600 root bin
f none mscstyle3/images/letters2/120.gif 0600 root bin
f none mscstyle3/images/letters2/240.gif 0600 root bin
f none mscstyle3/images/letters2/122.gif 0600 root bin
f none mscstyle3/images/letters2/241.gif 0600 root bin
f none mscstyle3/images/letters2/124.gif 0600 root bin
f none mscstyle3/images/letters2/226.gif 0600 root bin
f none mscstyle3/images/letters2/242.gif 0600 root bin
f none mscstyle3/images/letters2/126.gif 0600 root bin
f none mscstyle3/images/letters2/204.gif 0600 root bin
f none mscstyle3/images/letters2/211.gif 0600 root bin
f none mscstyle3/images/letters2/217.gif 0600 root bin
f none mscstyle3/images/letters2/227.gif 0600 root bin
f none mscstyle3/images/letters2/243.gif 0600 root bin
f none mscstyle3/images/letters2/61.gif 0600 root bin
f none mscstyle3/images/letters2/63.gif 0600 root bin
f none mscstyle3/images/letters2/65.gif 0600 root bin
f none mscstyle3/images/letters2/67.gif 0600 root bin
f none mscstyle3/images/letters2/69.gif 0600 root bin
f none mscstyle3/images/letters2/192.gif 0600 root bin
f none mscstyle3/images/letters2/195.gif 0600 root bin
f none mscstyle3/images/letters2/199.gif 0600 root bin
f none mscstyle3/images/letters2/205.gif 0600 root bin
f none mscstyle3/images/letters2/211.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/219.gif 0600 root bin
f none mscstyle3/images/letters2/231.iso.8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/33.gif 0600 root bin
f none mscstyle3/images/letters2/70.gif 0600 root bin
f none mscstyle3/images/letters2/35.gif 0600 root bin
f none mscstyle3/images/letters2/72.gif 0600 root bin
f none mscstyle3/images/letters2/37.gif 0600 root bin
f none mscstyle3/images/letters2/74.gif 0600 root bin
f none mscstyle3/images/letters2/39.gif 0600 root bin
f none mscstyle3/images/letters2/76.gif 0600 root bin
f none mscstyle3/images/letters2/78.gif 0600 root bin
f none mscstyle3/images/letters2/101.gif 0600 root bin
f none mscstyle3/images/letters2/103.gif 0600 root bin
f none mscstyle3/images/letters2/244.gif 0600 root bin
f none mscstyle3/images/letters2/105.gif 0600 root bin
f none mscstyle3/images/letters2/245.gif 0600 root bin
f none mscstyle3/images/letters2/107.gif 0600 root bin
f none mscstyle3/images/letters2/246.gif 0600 root bin
f none mscstyle3/images/letters2/109.gif 0600 root bin
f none mscstyle3/images/letters2/228.gif 0600 root bin
f none mscstyle3/images/letters2/248.gif 0600 root bin
f none mscstyle3/images/letters2/40.gif 0600 root bin
f none mscstyle3/images/letters2/42.gif 0600 root bin
f none mscstyle3/images/letters2/44.gif 0600 root bin
f none mscstyle3/images/letters2/81.gif 0600 root bin
f none mscstyle3/images/letters2/46.gif 0600 root bin
f none mscstyle3/images/letters2/83.gif 0600 root bin
f none mscstyle3/images/letters2/48.gif 0600 root bin
f none mscstyle3/images/letters2/85.gif 0600 root bin
f none mscstyle3/images/letters2/87.gif 0600 root bin
f none mscstyle3/images/letters2/89.gif 0600 root bin
f none mscstyle3/images/letters2/110.gif 0600 root bin
f none mscstyle3/images/letters2/112.gif 0600 root bin
f none mscstyle3/images/letters2/249.gif 0600 root bin
f none mscstyle3/images/letters2/114.gif 0600 root bin
f none mscstyle3/images/letters2/250.gif 0600 root bin
f none mscstyle3/images/letters2/116.gif 0600 root bin
f none mscstyle3/images/letters2/251.gif 0600 root bin
f none mscstyle3/images/letters2/118.gif 0600 root bin
f none mscstyle3/images/letters2/194.gif 0600 root bin
f none mscstyle3/images/letters2/198.gif 0600 root bin
f none mscstyle3/images/letters2/202.gif 0600 root bin
f none mscstyle3/images/letters2/209.gif 0600 root bin
f none mscstyle3/images/letters2/214.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/229.gif 0600 root bin
f none mscstyle3/images/letters2/252.gif 0600 root bin
f none mscstyle3/images/letters2/51.gif 0600 root bin
f none mscstyle3/images/letters2/53.gif 0600 root bin
f none mscstyle3/images/letters2/90.gif 0600 root bin
f none mscstyle3/images/letters2/55.gif 0600 root bin
f none mscstyle3/images/letters2/57.gif 0600 root bin
f none mscstyle3/images/letters2/94.gif 0600 root bin
f none mscstyle3/images/letters2/59.gif 0600 root bin
f none mscstyle3/images/letters2/96.gif 0600 root bin
f none mscstyle3/images/letters2/98.gif 0600 root bin
f none mscstyle3/images/letters2/253.gif 0600 root bin
f none mscstyle3/images/letters2/121.gif 0600 root bin
f none mscstyle3/images/letters2/254.gif 0600 root bin
f none mscstyle3/images/letters2/123.gif 0600 root bin
f none mscstyle3/images/letters2/230.gif 0600 root bin
f none mscstyle3/images/letters2/255.gif 0600 root bin
f none mscstyle3/images/letters2/125.gif 0600 root bin
f none mscstyle3/images/letters2/203.gif 0600 root bin
f none mscstyle3/images/letters2/210.gif 0600 root bin
f none mscstyle3/images/letters2/216.gif 0600 root bin
f none mscstyle3/images/letters2/223.gif 0600 root bin
f none mscstyle3/images/letters2/235.gif 0600 root bin
f none mscstyle3/images/letters2/247.gif 0600 root bin
f none mscstyle3/images/letters2/224.gif 0600 root bin
f none mscstyle3/images/letters2/236.gif 0600 root bin
f none mscstyle3/images/letters2/60.gif 0600 root bin
f none mscstyle3/images/letters2/62.gif 0600 root bin
f none mscstyle3/images/letters2/64.gif 0600 root bin
f none mscstyle3/images/letters2/66.gif 0600 root bin
f none mscstyle3/images/letters2/68.gif 0600 root bin
f none mscstyle3/images/letters2/218.gif 0600 root bin
f none mscstyle3/images/letters2/231.gif 0600 root bin
f none mscstyle3/images/letters2/215.gif 0600 root bin
f none mscstyle3/images/letters2/196.gif 0600 root bin
f none mscstyle3/images/letters2/200.gif 0600 root bin
f none mscstyle3/images/letters2/206.gif 0600 root bin
f none mscstyle3/images/letters2/212.gif 0600 root bin
f none mscstyle3/images/letters2/220.gif 0600 root bin
f none mscstyle3/images/letters2/232.gif 0600 root bin
f none mscstyle3/images/letters2/32.gif 0600 root bin
f none mscstyle3/images/letters2/34.gif 0600 root bin
f none mscstyle3/images/letters2/71.gif 0600 root bin
f none mscstyle3/images/letters2/36.gif 0600 root bin
f none mscstyle3/images/letters2/73.gif 0600 root bin
f none mscstyle3/images/letters2/38.gif 0600 root bin
f none mscstyle3/images/letters2/75.gif 0600 root bin
f none mscstyle3/images/letters2/77.gif 0600 root bin
f none mscstyle3/images/letters2/79.gif 0600 root bin
f none mscstyle3/images/letters2/100.gif 0600 root bin
f none mscstyle3/images/letters2/102.gif 0600 root bin
f none mscstyle3/images/letters2/104.gif 0600 root bin
f none mscstyle3/images/letters2/225.gif 0600 root bin
f none mscstyle3/images/letters2/237.gif 0600 root bin
f none mscstyle3/images/letters2/106.gif 0600 root bin
f none mscstyle3/images/letters2/108.gif 0600 root bin
f none mscstyle3/images/letters2/207.gif 0600 root bin
f none mscstyle3/images/letters2/213.gif 0600 root bin
f none mscstyle3/images/letters2/220.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/238.gif 0600 root bin
f none mscstyle3/images/letters2/41.gif 0600 root bin
f none mscstyle3/images/letters2/43.gif 0600 root bin
f none mscstyle3/images/letters2/80.gif 0600 root bin
f none mscstyle3/images/letters2/45.gif 0600 root bin
f none mscstyle3/images/letters2/82.gif 0600 root bin
f none mscstyle3/images/letters2/47.gif 0600 root bin
f none mscstyle3/images/letters2/84.gif 0600 root bin
f none mscstyle3/images/letters2/49.gif 0600 root bin
f none mscstyle3/images/letters2/86.gif 0600 root bin
f none mscstyle3/images/letters2/88.gif 0600 root bin
f none mscstyle3/images/letters2/111.gif 0600 root bin
f none mscstyle3/images/letters2/113.gif 0600 root bin
f none mscstyle3/images/letters2/115.gif 0600 root bin
f none mscstyle3/images/letters2/221.gif 0600 root bin
f none mscstyle3/images/letters2/233.gif 0600 root bin
f none mscstyle3/images/letters2/117.gif 0600 root bin
f none mscstyle3/images/letters2/119.gif 0600 root bin
f none mscstyle3/images/letters2/208.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/177.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/179.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/182.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/188.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/191.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/221.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/222.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/230.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/231.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/234.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/240.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/241.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/243.iso-8859-2.gif 0600 root bin
f none mscstyle3/images/letters2/246.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/252.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/letters2/253.iso-8859-9.gif 0600 root bin
f none mscstyle3/images/webmin_icon.png 0600 root bin
f none mscstyle3/theme.pl 0700 root bin
f none mscstyle3/config 0600 root bin
f none mscstyle3/theme.info 0600 root bin
f none mscstyle3/index.cgi 0700 root bin
d none mscstyle3/apache2 0700 root bin
d none mscstyle3/apache2/images 0700 root bin
f none mscstyle3/apache2/images/icon.gif 0600 root bin
d none mscstyle3/unauthenticated 0700 root bin
f none mscstyle3/unauthenticated/apache.gif 0600 root bin
f none mscstyle3/config.info 0600 root bin
d none jabber 0700 root bin
d none jabber/lang 0700 root bin
f none jabber/lang/en 0600 root bin
f none jabber/lang/ca 0600 root bin
d none jabber/help 0700 root bin
f none jabber/help/intro.html 0600 root bin
f none jabber/help/general.html 0600 root bin
f none jabber/help/messages.html 0600 root bin
f none jabber/help/karma.html 0600 root bin
f none jabber/help/admin.html 0600 root bin
f none jabber/help/ips.html 0600 root bin
f none jabber/help/filter.html 0600 root bin
f none jabber/help/file.html 0600 root bin
f none jabber/help/modules.html 0600 root bin
f none jabber/help/admin.ca.html 0600 root bin
f none jabber/help/file.ca.html 0600 root bin
f none jabber/help/filter.ca.html 0600 root bin
f none jabber/help/general.ca.html 0600 root bin
f none jabber/help/intro.ca.html 0600 root bin
f none jabber/help/ips.ca.html 0600 root bin
f none jabber/help/karma.ca.html 0600 root bin
f none jabber/help/messages.ca.html 0600 root bin
f none jabber/help/modules.ca.html 0600 root bin
f none jabber/module.info 0600 root bin
d none jabber/images 0700 root bin
f none jabber/images/icon.gif 0600 root bin
f none jabber/images/ips.gif 0600 root bin
f none jabber/images/modules.gif 0600 root bin
f none jabber/images/messages.gif 0600 root bin
f none jabber/images/misc.gif 0600 root bin
f none jabber/images/general.gif 0600 root bin
f none jabber/images/admin.gif 0600 root bin
f none jabber/images/karma.gif 0600 root bin
f none jabber/images/file.gif 0600 root bin
f none jabber/images/filter.gif 0600 root bin
f none jabber/jabber-lib.pl 0600 root bin
f none jabber/config.info 0600 root bin
f none jabber/index.cgi 0700 root bin
f none jabber/edit_ips.cgi 0700 root bin
f none jabber/stop.cgi 0700 root bin
f none jabber/config 0600 root bin
f none jabber/restart.cgi 0700 root bin
f none jabber/start.cgi 0700 root bin
f none jabber/save_ips.cgi 0700 root bin
f none jabber/edit_general.cgi 0700 root bin
f none jabber/save_general.cgi 0700 root bin
f none jabber/edit_messages.cgi 0700 root bin
f none jabber/save_messages.cgi 0700 root bin
f none jabber/edit_karma.cgi 0700 root bin
f none jabber/save_karma.cgi 0700 root bin
f none jabber/edit_filter.cgi 0700 root bin
f none jabber/edit_admin.cgi 0700 root bin
f none jabber/edit_file.cgi 0700 root bin
f none jabber/save_admin.cgi 0700 root bin
f none jabber/save_file.cgi 0700 root bin
f none jabber/save_filter.cgi 0700 root bin
f none jabber/save_modules.cgi 0700 root bin
f none jabber/edit_modules.cgi 0700 root bin
f none jabber/config-mandrake-linux 0600 root bin
f none jabber/config.info.ca 0600 root bin
f none jabber/config-debian-linux 0600 root bin
f none jabber/config-redhat-linux 0600 root bin
f none jabber/config-suse-linux 0600 root bin
f none jabber/config-cobalt-linux 0600 root bin
f none jabber/config-msc-linux 0600 root bin
f none jabber/config-turbo-linux 0600 root bin
d none stunnel 0700 root bin
d none stunnel/help 0700 root bin
d none stunnel/lang 0700 root bin
f none stunnel/lang/en 0600 root bin
f none stunnel/lang/ca 0600 root bin
d none stunnel/images 0700 root bin
f none stunnel/images/tunnel.jpg 0600 root bin
f none stunnel/images/icon.gif 0600 root bin
f none stunnel/config.info 0600 root bin
f none stunnel/module.info 0600 root bin
f none stunnel/index.cgi 0700 root bin
f none stunnel/stunnel-lib.pl 0600 root bin
f none stunnel/apply.cgi 0700 root bin
f none stunnel/save_stunnel.cgi 0700 root bin
f none stunnel/edit_stunnel.cgi 0700 root bin
f none stunnel/log_parser.pl 0600 root bin
f none stunnel/config-mandrake-linux 0600 root bin
f none stunnel/config 0600 root bin
f none stunnel/config-redhat-linux 0600 root bin
f none stunnel/config.info.ca 0600 root bin
f none stunnel/feedback_files.pl 0600 root bin
f none stunnel/config-gentoo-linux 0600 root bin
d none burner 0700 root bin
d none burner/lang 0700 root bin
f none burner/lang/ca 0600 root bin
f none burner/lang/en 0600 root bin
f none burner/lang/zh_TW.Big5 0600 root bin
d none burner/images 0700 root bin
f none burner/images/mkisofs.gif 0600 root bin
f none burner/images/cdrom.gif 0600 root bin
f none burner/images/dev.gif 0600 root bin
f none burner/images/icon.gif 0600 root bin
f none burner/burner-lib.pl 0600 root bin
f none burner/module.info 0600 root bin
f none burner/edit_profile.cgi 0700 root bin
f none burner/index.cgi 0700 root bin
f none burner/save_profile.cgi 0700 root bin
f none burner/config 0600 root bin
f none burner/save_dev.cgi 0700 root bin
f none burner/edit_dev.cgi 0700 root bin
f none burner/burn.cgi 0700 root bin
f none burner/feedback_files.pl 0600 root bin
f none burner/edit_mkisofs.cgi 0700 root bin
f none burner/save_mkisofs.cgi 0700 root bin
d none usermin 0700 root bin
d none usermin/lang 0700 root bin
f none usermin/lang/ca 0600 root bin
f none usermin/lang/en 0600 root bin
f none usermin/lang/zh_TW.Big5 0600 root bin
d none usermin/images 0700 root bin
f none usermin/images/icon.gif 0600 root bin
f none usermin/images/mods.gif 0600 root bin
f none usermin/images/access.gif 0600 root bin
f none usermin/images/bind.gif 0600 root bin
f none usermin/images/os.gif 0600 root bin
f none usermin/images/lang.gif 0600 root bin
f none usermin/images/session.gif 0600 root bin
f none usermin/images/themes.gif 0600 root bin
f none usermin/images/upgrade.gif 0600 root bin
f none usermin/images/acl.gif 0600 root bin
f none usermin/images/configs.gif 0600 root bin
f none usermin/images/ssl.gif 0600 root bin
f none usermin/images/users.gif 0600 root bin
f none usermin/images/defacl.gif 0600 root bin
f none usermin/images/ui.gif 0600 root bin
f none usermin/images/assignment.gif 0600 root bin
f none usermin/images/categories.gif 0600 root bin
f none usermin/usermin-lib.pl 0600 root bin
f none usermin/module.info 0600 root bin
f none usermin/edit_access.cgi 0700 root bin
f none usermin/index.cgi 0700 root bin
f none usermin/config.info 0600 root bin
f none usermin/config 0600 root bin
f none usermin/change_access.cgi 0700 root bin
f none usermin/edit_bind.cgi 0700 root bin
f none usermin/change_bind.cgi 0700 root bin
f none usermin/edit_os.cgi 0700 root bin
f none usermin/change_os.cgi 0700 root bin
f none usermin/edit_lang.cgi 0700 root bin
f none usermin/change_lang.cgi 0700 root bin
f none usermin/edit_session.cgi 0700 root bin
f none usermin/change_session.cgi 0700 root bin
f none usermin/edit_themes.cgi 0700 root bin
f none usermin/change_theme.cgi 0700 root bin
f none usermin/save_configs.cgi 0700 root bin
f none usermin/edit_configs.cgi 0700 root bin
f none usermin/edit_ssl.cgi 0700 root bin
f none usermin/edit_acl.cgi 0700 root bin
f none usermin/change_ssl.cgi 0700 root bin
f none usermin/save_acl.cgi 0700 root bin
f none usermin/save_uconfigs.cgi 0700 root bin
f none usermin/stop.cgi 0700 root bin
f none usermin/edit_ui.cgi 0700 root bin
f none usermin/start.cgi 0700 root bin
f none usermin/config.info.ca 0600 root bin
f none usermin/edit_users.cgi 0700 root bin
f none usermin/change_users.cgi 0700 root bin
f none usermin/install_mod.cgi 0700 root bin
f none usermin/edit_defacl.cgi 0700 root bin
f none usermin/delete_mod.cgi 0700 root bin
f none usermin/save_defacl.cgi 0700 root bin
f none usermin/edit_mods.cgi 0700 root bin
f none usermin/install_theme.cgi 0700 root bin
f none usermin/change_ui.cgi 0700 root bin
f none usermin/edit_upgrade.cgi 0700 root bin
f none usermin/upgrade.cgi 0700 root bin
f none usermin/edit_assignment.cgi 0700 root bin
f none usermin/bootup.cgi 0700 root bin
f none usermin/save_assignment.cgi 0700 root bin
f none usermin/edit_categories.cgi 0700 root bin
f none usermin/save_categories.cgi 0700 root bin
f none usermin/log_parser.pl 0600 root bin
f none usermin/feedback_files.pl 0600 root bin
f none usermin/config.info.zh_TW.Big5 0600 root bin
d none fsdump 0700 root bin
d none fsdump/lang 0700 root bin
f none fsdump/lang/ca 0600 root bin
f none fsdump/lang/en 0600 root bin
f none fsdump/lang/zh_TW.Big5 0600 root bin
d none fsdump/images 0700 root bin
f none fsdump/images/icon.gif 0600 root bin
f none fsdump/fsdump-lib.pl 0600 root bin
f none fsdump/module.info 0600 root bin
f none fsdump/linux-lib.pl 0600 root bin
f none fsdump/index.cgi 0700 root bin
f none fsdump/open-linux-lib.pl 0600 root bin
d none fsdump/help 0700 root bin
f none fsdump/help/create.html 0600 root bin
f none fsdump/help/intro.html 0600 root bin
f none fsdump/help/edit.html 0600 root bin
f none fsdump/help/enabled.html 0600 root bin
f none fsdump/help/dump.html 0600 root bin
f none fsdump/help/dir.html 0600 root bin
f none fsdump/help/dest.html 0600 root bin
f none fsdump/help/attribs.html 0600 root bin
f none fsdump/help/email.html 0600 root bin
f none fsdump/help/level.html 0600 root bin
f none fsdump/help/label.html 0600 root bin
f none fsdump/help/max.html 0600 root bin
f none fsdump/help/overwrite.html 0600 root bin
f none fsdump/help/over.html 0600 root bin
f none fsdump/help/invent.html 0600 root bin
f none fsdump/help/restore.html 0600 root bin
f none fsdump/help/erase.html 0600 root bin
f none fsdump/help/update.html 0600 root bin
f none fsdump/help/multi.html 0600 root bin
f none fsdump/help/rnoattribs.html 0600 root bin
f none fsdump/help/rdir.html 0600 root bin
f none fsdump/help/rsrc.html 0600 root bin
f none fsdump/help/rover.html 0600 root bin
f none fsdump/help/rmulti.html 0600 root bin
f none fsdump/help/rfiles.html 0600 root bin
f none fsdump/help/rlabel.html 0600 root bin
f none fsdump/help/offline.html 0600 root bin
f none fsdump/help/verify.html 0600 root bin
f none fsdump/help/attribs.ca.html 0600 root bin
f none fsdump/help/rtest.html 0600 root bin
f none fsdump/help/create.ca.html 0600 root bin
f none fsdump/help/dest.ca.html 0600 root bin
f none fsdump/help/dir.ca.html 0600 root bin
f none fsdump/help/dump.ca.html 0600 root bin
f none fsdump/help/edit.ca.html 0600 root bin
f none fsdump/help/email.ca.html 0600 root bin
f none fsdump/help/enabled.ca.html 0600 root bin
f none fsdump/help/erase.ca.html 0600 root bin
f none fsdump/help/intro.ca.html 0600 root bin
f none fsdump/help/invent.ca.html 0600 root bin
f none fsdump/help/label.ca.html 0600 root bin
f none fsdump/help/level.ca.html 0600 root bin
f none fsdump/help/max.ca.html 0600 root bin
f none fsdump/help/multi.ca.html 0600 root bin
f none fsdump/help/offline.ca.html 0600 root bin
f none fsdump/help/over.ca.html 0600 root bin
f none fsdump/help/overwrite.ca.html 0600 root bin
f none fsdump/help/rdir.ca.html 0600 root bin
f none fsdump/help/restore.ca.html 0600 root bin
f none fsdump/help/rfiles.ca.html 0600 root bin
f none fsdump/help/rlabel.ca.html 0600 root bin
f none fsdump/help/rmulti.ca.html 0600 root bin
f none fsdump/help/rnoattribs.ca.html 0600 root bin
f none fsdump/help/rover.ca.html 0600 root bin
f none fsdump/help/rsrc.ca.html 0600 root bin
f none fsdump/help/rtest.ca.html 0600 root bin
f none fsdump/help/update.ca.html 0600 root bin
f none fsdump/help/verify.ca.html 0600 root bin
f none fsdump/help/nothing.html 0600 root bin
f none fsdump/restore_form.cgi 0700 root bin
f none fsdump/edit_dump.cgi 0700 root bin
f none fsdump/save_dump.cgi 0700 root bin
f none fsdump/backup.cgi 0700 root bin
f none fsdump/backup.pl 0700 root bin
f none fsdump/redhat-linux-lib.pl 0600 root bin
f none fsdump/cobalt-linux-lib.pl 0600 root bin
f none fsdump/corel-linux-lib.pl 0600 root bin
f none fsdump/debian-linux-lib.pl 0600 root bin
f none fsdump/generic-linux-lib.pl 0600 root bin
f none fsdump/mandrake-linux-lib.pl 0600 root bin
f none fsdump/msc-linux-lib.pl 0600 root bin
f none fsdump/slackware-linux-lib.pl 0600 root bin
f none fsdump/suse-linux-lib.pl 0600 root bin
f none fsdump/turbo-linux-lib.pl 0600 root bin
f none fsdump/log_parser.pl 0600 root bin
f none fsdump/solaris-lib.pl 0600 root bin
f none fsdump/restore.cgi 0700 root bin
f none fsdump/feedback_files.pl 0600 root bin
f none fsdump/freebsd-lib.pl 0600 root bin
f none fsdump/macos-lib.pl 0600 root bin
f none fsdump/uninstall.pl 0600 root bin
f none fsdump/gentoo-linux-lib.pl 0600 root bin
d none lvm 0700 root bin
d none lvm/lang 0700 root bin
f none lvm/lang/ca 0600 root bin
f none lvm/lang/en 0600 root bin
f none lvm/lang/zh_TW.Big5 0600 root bin
f none lvm/module.info 0600 root bin
d none lvm/images 0700 root bin
f none lvm/images/pv.gif 0600 root bin
f none lvm/images/hdd_unmount.png 0600 root bin
f none lvm/images/lv.gif 0600 root bin
f none lvm/images/vg.gif 0600 root bin
f none lvm/images/icon.gif 0600 root bin
f none lvm/images/snap.gif 0600 root bin
f none lvm/mkfs_form.cgi 0700 root bin
f none lvm/lvm-lib.pl 0600 root bin
f none lvm/index.cgi 0700 root bin
f none lvm/edit_lv.cgi 0700 root bin
f none lvm/save_lv.cgi 0700 root bin
f none lvm/log_parser.pl 0600 root bin
f none lvm/edit_pv.cgi 0700 root bin
f none lvm/mkfs.cgi 0700 root bin
f none lvm/init.cgi 0700 root bin
f none lvm/save_pv.cgi 0700 root bin
f none lvm/edit_vg.cgi 0700 root bin
f none lvm/save_vg.cgi 0700 root bin
f none lvm/feedback_files.pl 0600 root bin
d none sentry 0700 root bin
d none sentry/lang 0700 root bin
f none sentry/lang/ca 0600 root bin
f none sentry/lang/en 0600 root bin
d none sentry/images 0700 root bin
f none sentry/images/icon.gif 0600 root bin
f none sentry/images/portsentry.gif 0600 root bin
f none sentry/images/hostsentry.gif 0600 root bin
f none sentry/images/logcheck.gif 0600 root bin
f none sentry/sentry-lib.pl 0600 root bin
f none sentry/module.info 0600 root bin
f none sentry/log_parser.pl 0600 root bin
f none sentry/index.cgi 0700 root bin
f none sentry/config 0600 root bin
f none sentry/config.info 0600 root bin
f none sentry/config-redhat-linux 0600 root bin
f none sentry/config-open-linux 0600 root bin
f none sentry/edit_portsentry.cgi 0700 root bin
f none sentry/save_portsentry.cgi 0700 root bin
f none sentry/stop_portsentry.cgi 0700 root bin
f none sentry/start_portsentry.cgi 0700 root bin
f none sentry/start_hostsentry.cgi 0700 root bin
f none sentry/edit_hostsentry.cgi 0700 root bin
f none sentry/save_hostsentry.cgi 0700 root bin
f none sentry/edit_logcheck.cgi 0700 root bin
f none sentry/stop_hostsentry.cgi 0700 root bin
d none sentry/help 0700 root bin
f none sentry/help/portsentry.html 0600 root bin
f none sentry/help/intro.html 0600 root bin
f none sentry/help/hostsentry.ca.html 0600 root bin
f none sentry/help/intro.ca.html 0600 root bin
f none sentry/help/hostsentry.html 0600 root bin
f none sentry/help/logcheck.html 0600 root bin
f none sentry/help/logcheck.ca.html 0600 root bin
f none sentry/help/portsentry.ca.html 0600 root bin
f none sentry/save_logcheck.cgi 0700 root bin
f none sentry/config-mandrake-linux 0600 root bin
f none sentry/config-suse-linux 0600 root bin
f none sentry/config-turbo-linux 0600 root bin
f none sentry/config-msc-linux 0600 root bin
f none sentry/config-cobalt-linux 0600 root bin
f none sentry/config-debian-linux 0600 root bin
f none sentry/config.info.ca 0600 root bin
f none sentry/config-gentoo-linux 0600 root bin
d none cfengine 0700 root bin
d none cfengine/lang 0700 root bin
f none cfengine/lang/en 0600 root bin
d none cfengine/help 0700 root bin
f none cfengine/help/intro.html 0600 root bin
f none cfengine/help/edit.html 0600 root bin
f none cfengine/help/run.html 0600 root bin
f none cfengine/help/cfd.html 0600 root bin
f none cfengine/help/push.html 0600 root bin
f none cfengine/help/hosts.html 0600 root bin
f none cfengine/module.info 0600 root bin
d none cfengine/images 0700 root bin
f none cfengine/images/icon.gif 0600 root bin
f none cfengine/images/run.gif 0600 root bin
f none cfengine/images/cfd.gif 0600 root bin
f none cfengine/images/push.gif 0600 root bin
f none cfengine/images/up.gif 0600 root bin
f none cfengine/images/down.gif 0600 root bin
f none cfengine/images/gap.gif 0600 root bin
f none cfengine/images/hosts.gif 0600 root bin
f none cfengine/down.cgi 0700 root bin
f none cfengine/cfengine-lib.pl 0600 root bin
f none cfengine/index.cgi 0700 root bin
f none cfengine/config.info 0600 root bin
f none cfengine/edit_class.cgi 0700 root bin
f none cfengine/save_class.cgi 0700 root bin
f none cfengine/run.cgi 0700 root bin
f none cfengine/push.cgi 0700 root bin
f none cfengine/run_form.cgi 0700 root bin
f none cfengine/edit_push.cgi 0700 root bin
f none cfengine/save_push.cgi 0700 root bin
f none cfengine/edit_cfd.cgi 0700 root bin
f none cfengine/up.cgi 0700 root bin
f none cfengine/start.cgi 0700 root bin
f none cfengine/stop.cgi 0700 root bin
f none cfengine/log_parser.pl 0600 root bin
f none cfengine/config-mandrake-linux 0600 root bin
f none cfengine/config-msc-linux 0600 root bin
f none cfengine/add.cgi 0700 root bin
f none cfengine/config-redhat-linux 0600 root bin
f none cfengine/config-open-linux 0600 root bin
f none cfengine/config-suse-linux 0600 root bin
f none cfengine/config-turbo-linux 0600 root bin
f none cfengine/config-cobalt-linux 0600 root bin
f none cfengine/config-debian-linux 0600 root bin
f none cfengine/config 0600 root bin
f none cfengine/edit_host.cgi 0700 root bin
f none cfengine/feedback_files.pl 0600 root bin
f none cfengine/list_hosts.cgi 0700 root bin
f none cfengine/delete_host.cgi 0700 root bin
f none cfengine/cluster.cgi 0700 root bin
d none pserver 0700 root bin
f none pserver/module.info 0600 root bin
d none pserver/lang 0700 root bin
f none pserver/lang/en 0600 root bin
d none pserver/images 0700 root bin
f none pserver/images/icon.gif 0600 root bin
f none pserver/images/passwd.gif 0600 root bin
f none pserver/images/access.gif 0600 root bin
f none pserver/images/config.gif 0600 root bin
f none pserver/images/cvsweb.gif 0600 root bin
f none pserver/config.info 0600 root bin
f none pserver/pserver-lib.pl 0600 root bin
f none pserver/index.cgi 0700 root bin
f none pserver/config 0600 root bin
f none pserver/setup.cgi 0700 root bin
f none pserver/cvsweb.cgi 0700 root bin
f none pserver/cvsweb.conf 0600 root bin
f none pserver/feedback_files.pl 0600 root bin
f none pserver/list_passwd.cgi 0700 root bin
f none pserver/edit_passwd.cgi 0700 root bin
f none pserver/save_passwd.cgi 0700 root bin
f none pserver/edit_access.cgi 0700 root bin
f none pserver/save_access.cgi 0700 root bin
f none pserver/log_parser.pl 0600 root bin
f none pserver/edit_config.cgi 0700 root bin
f none pserver/save_config.cgi 0700 root bin
f none pserver/useradmin_update.pl 0600 root bin
f none pserver/header.html 0600 root bin
f none pserver/save_sync.cgi 0700 root bin
d none procmail 0700 root bin
d none procmail/images 0700 root bin
f none procmail/images/up.gif 0600 root bin
f none procmail/images/down.gif 0600 root bin
f none procmail/images/gap.gif 0600 root bin
f none procmail/images/icon.gif 0600 root bin
d none procmail/lang 0700 root bin
f none procmail/lang/en 0600 root bin
f none procmail/procmail-lib.pl 0600 root bin
f none procmail/module.info 0600 root bin
f none procmail/edit_recipe.cgi 0700 root bin
f none procmail/index.cgi 0700 root bin
f none procmail/down.cgi 0700 root bin
f none procmail/save_recipe.cgi 0700 root bin
f none procmail/edit_env.cgi 0700 root bin
f none procmail/up.cgi 0700 root bin
f none procmail/save_env.cgi 0700 root bin
f none procmail/config.info 0600 root bin
f none procmail/config 0600 root bin
d none cluster-webmin 0700 root bin
d none cluster-webmin/lang 0700 root bin
f none cluster-webmin/lang/en 0600 root bin
d none cluster-webmin/images 0700 root bin
f none cluster-webmin/images/icon.gif 0600 root bin
f none cluster-webmin/refresh.cgi 0700 root bin
f none cluster-webmin/module.info 0600 root bin
f none cluster-webmin/edit_host.cgi 0700 root bin
f none cluster-webmin/cluster-webmin-lib.pl 0600 root bin
f none cluster-webmin/index.cgi 0700 root bin
f none cluster-webmin/add.cgi 0700 root bin
f none cluster-webmin/install.cgi 0700 root bin
f none cluster-webmin/edit_mod.cgi 0700 root bin
f none cluster-webmin/delete_host.cgi 0700 root bin
f none cluster-webmin/delete_mod.cgi 0700 root bin
f none cluster-webmin/create_group.cgi 0700 root bin
f none cluster-webmin/user_form.cgi 0700 root bin
f none cluster-webmin/create_user.cgi 0700 root bin
f none cluster-webmin/config.info 0600 root bin
f none cluster-webmin/edit_acl.cgi 0700 root bin
f none cluster-webmin/config 0600 root bin
f none cluster-webmin/edit_user.cgi 0700 root bin
f none cluster-webmin/delete_user.cgi 0700 root bin
f none cluster-webmin/delete_group.cgi 0700 root bin
f none cluster-webmin/save_user.cgi 0700 root bin
f none cluster-webmin/group_form.cgi 0700 root bin
f none cluster-webmin/edit_group.cgi 0700 root bin
f none cluster-webmin/save_group.cgi 0700 root bin
f none cluster-webmin/save_acl.cgi 0700 root bin
f none prototype 0644 root other
i postinstall=./postinstall
i preremove=./preremove
f none /etc/rc3.d/S99webmin=webmin-init 0755 root bin
  07070100000384000041ed0000000000000001000000043d1ffb1900000000000000200000000000000000000000000000000e00000003reloc/pserver 07070100000385000081a40000000000000002000000013d1fe2ea0000003b000000200000000000000000000000000000001500000003reloc/pserver/config  cvs=cvs
cvsroot=/usr/local/cvsroot
view_header=header.html
 07070100000386000081a40000000000000002000000013d1fe2ea000000a8000000200000000000000000000000000000001a00000003reloc/pserver/config.info cvs=Path to cvs executable,0
cvsroot=CVS root directory,7
view_header=Repository browser header file,0
cvsenc=Character set for repository file,3,From Webmin language

07070100000387000081e40000000000000002000000013d1fe2ea00014db1000000200000000000000000000000000000001900000003reloc/pserver/cvsweb.cgi  #!/usr/local/bin/perl
#
# cvsweb - a CGI interface to CVS trees.
#
# Written in their spare time by
#             Bill Fenner      <fenner@FreeBSD.org>   (original work)
# extended by Henner Zeller    <zeller@think.de>,
#             Henrik Nordström <hno@hem.passagen.se> 
#             Ken Coar         <coar@Apache.Org>
#             Dick Balaska     <dick@buckosoft.com>
#             Jens-Uwe Mager   <jum@helios.de>
#
# Based on:
# * Bill Fenners cvsweb.cgi revision 1.28 available from:
#   http://www.FreeBSD.org/cgi/cvsweb.cgi/www/en/cgi/cvsweb.cgi
#
# Copyright (c) 1996-1998 Bill Fenner
#           (c) 1998-1999 Henner Zeller
#	    (c) 1999      Henrik Nordström
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# $Id: cvsweb.cgi,v 1.112 2001/07/24 13:03:16 hzeller Exp $
#
###
require './pserver-lib.pl';

use vars qw (
    $config $allow_version_select $verbose
    %CVSROOT %CVSROOTdescr %MIRRORS %DEFAULTVALUE %ICONS %MTYPES
    %alltags @tabcolors %fileinfo %tags @branchnames %nameprinted
    %symrev %revsym @allrevisions %date %author @revdisplayorder
    @revisions %state %difflines %log %branchpoint @revorder
    $checkoutMagic $doCheckout $scriptname $scriptwhere
    $where $Browser $nofilelinks $maycompress @stickyvars
    %input $query $barequery $sortby $bydate $byrev $byauthor
    $bylog $byfile $hr_default $logsort $cvstree $cvsroot
    $mimetype $defaultTextPlain $defaultViewable $allow_compress
    $GZIPBIN $backicon $diricon $fileicon $fullname $newname
    $cvstreedefault $body_tag $logo $defaulttitle $address
    $backcolor $long_intro $short_instruction $shortLogLen
    $show_author $dirtable $tablepadding $columnHeaderColorDefault
    $columnHeaderColorSorted $hr_breakable $hr_funout $hr_ignwhite
    $hr_ignkeysubst $diffcolorHeading $diffcolorEmpty $diffcolorRemove
    $diffcolorChange $diffcolorAdd $diffcolorDarkChange $difffontface
    $difffontsize $inputTextSize $mime_types $allow_annotate
    $allow_markup $use_java_script $open_extern_window
    $extern_window_width $extern_window_height $edit_option_form
    $checkout_magic $show_subdir_lastmod $show_log_in_markup $v
    $navigationHeaderColor $tableBorderColor $markupLogColor
    $tabstop $state $annTable $sel $curbranch @HideModules @DissallowRead
    $module $use_descriptions %descriptions @mytz $dwhere $moddate
    $use_moddate $has_zlib $gzip_open
);

##### prototype declarations ########
sub printDiffSelect($);
sub findLastModifiedSubdirs(@);
sub htmlify($);
sub spacedHtmlText($);
sub link($$);
sub revcmp($$);
sub fatal($$);
sub credirect($);
sub safeglob($);
sub getMimeTypeFromSuffix($);
sub doAnnotate ($$);
sub doCheckout($$);
sub cvswebMarkup($$$);
sub viewable($);
sub doDiff($$$$$$);
sub getDirLogs($$@);
sub readLog($;$);
sub printLog($;$);
sub doLog($);
sub flush_diff_rows ($$$$);
sub human_readable_diff($);
sub navigateHeader ($$$$$);
sub plural_write ($$);
sub readableTime ($$);
sub clickablePath($$);
sub chooseCVSRoot();
sub chooseMirror();
sub fileSortCmp();
sub download_url($$$);
sub download_link($$$$);
sub toggleQuery($$);
sub urlencode($);
sub http_header(;$);
sub html_header($);
sub html_footer();
sub link_tags($);
sub forbidden_module($);
sub forbidden_file($);
sub checkForbidden($@);
sub gzipclose();
sub MAGIC1();
sub MAGIC2();
sub OSCODE();

##### Start of Configuration Area ########
# == EDIT this == 
# User configuration is stored in
$config = "./cvsweb.conf";

# == Configuration defaults ==
# Defaults for configuration variables that shouldn't need
# to be configured..
$allow_version_select = 1;

##### End of Configuration Area   ########

######## Configuration variables #########
# These are defined to allow checking with perl -cw
%CVSROOT = %MIRRORS = %DEFAULTVALUE = %ICONS = %MTYPES =
%tags = %alltags = @tabcolors = %fileinfo = ();
$cvstreedefault = $body_tag = $logo = $defaulttitle = $address =
$backcolor = $long_intro = $short_instruction = $shortLogLen =
$show_author = $dirtable = $tablepadding = $columnHeaderColorDefault =
$columnHeaderColorSorted = $hr_breakable = $hr_funout = $hr_ignwhite =
$hr_ignkeysubst = $diffcolorHeading = $diffcolorEmpty = $diffcolorRemove =
$diffcolorChange = $diffcolorAdd = $diffcolorDarkChange = $difffontface =
$difffontsize = $inputTextSize = $mime_types = $allow_annotate =
$allow_markup = $use_java_script = $open_extern_window =
$extern_window_width = $extern_window_height = $edit_option_form =
$checkout_magic = $show_subdir_lastmod = $show_log_in_markup = $v =
$navigationHeaderColor = $tableBorderColor = $markupLogColor = 
$tabstop = $use_moddate = $moddate = $gzip_open = undef;

##### End of configuration variables #####

use Time::Local;
use IPC::Open2;

# Check if the zlib C library interface is installed, and if yes
# we can avoid using the extra gzip process.
eval {
	require Compress::Zlib;
};
$has_zlib = !$@;

$verbose = $v;
$checkoutMagic = "~checkout~";
$where = defined($ENV{'PATH_INFO'}) ? $ENV{'PATH_INFO'} : "";
$doCheckout = ($where =~ /^\/$checkoutMagic/);
$where =~ s|^/($checkoutMagic)?||;
$where =~ s|/+$||;
($scriptname = $ENV{'SCRIPT_NAME'}) =~ s|^/?|/|;
$scriptname =~ s|/+$||;
if ($where) {
    $scriptwhere = $scriptname . '/' . urlencode($where);
}
else {
    $scriptwhere = $scriptname;
}
$scriptwhere =~ s|/+$||;

# in lynx, it it very annoying to have two links
# per file, so disable the link at the icon
# in this case:
$Browser = $ENV{'HTTP_USER_AGENT'};
$nofilelinks = ($Browser =~ m'^Lynx/');

# newer browsers accept gzip content encoding
# and state this in a header
# (netscape did always but didn't state it)
# It has been reported that these
#  braindamaged MS-Internet Exploders claim that they
# accept gzip .. but don't in fact and
# display garbage then :-/
# Turn off gzip if running under mod_perl and no zlib is available,
# piping does not work as expected inside the server.
$maycompress = (((defined($ENV{'HTTP_ACCEPT_ENCODING'})
		 && $ENV{'HTTP_ACCEPT_ENCODING'} =~ m|gzip|)
		|| $Browser =~ m%^Mozilla/3%)
	       && ($Browser !~ m/MSIE/)
	       && !(defined($ENV{'MOD_PERL'}) && !$has_zlib));
$maycompress = 0;

# put here the variables we need in order
# to hold our state - they will be added (with
# their current value) to any link/query string
# you construct
@stickyvars = qw(cvsroot hideattic sortby logsort f only_with_tag);

if (-f $config) {
    do "$config";
}
else {
   &fatal("500 Internal Error",
	  'Configuration not found.  Set the variable <code>$config</code> '
          . 'in cvsweb.cgi, or the environment variable '
          . '<code>CVSWEB_CONFIG</code>, to your <b>cvsweb.conf</b> '
          . 'configuration file first.');
}

undef %input;
if ($query = $ENV{'QUERY_STRING'}) {
    foreach (split(/&/, $query)) {
	y/+/ /;
	s/%(..)/sprintf("%c", hex($1))/ge;	# unquote %-quoted
	if (/(\S+)=(.*)/) {
	    $input{$1} = $2 if ($2 ne "");
	}
	else {
	    $input{$_}++;
	}
    }
}

# For backwards compability, set only_with_tag to only_on_branch if set. 
$input{only_with_tag} = $input{only_on_branch}
    if (defined($input{only_on_branch}));

foreach (keys %DEFAULTVALUE)
{
    # replace not given parameters with the default parameters
    if (!defined($input{$_}) || $input{$_} eq "") {
	# Empty Checkboxes in forms return -- nothing. So we define a helper
	# variable in these forms (copt) which indicates that we just set
	# parameters with a checkbox
	if (!defined($input{"copt"})) {
	    # 'copt' isn't defined --> empty input is not the result
	    # of empty input checkbox --> set default
	    $input{$_} = $DEFAULTVALUE{$_} if (defined($DEFAULTVALUE{$_}));
	}
	else {
	    # 'copt' is defined -> the result of empty input checkbox
	    # -> set to zero (disable) if default is a boolean (0|1).
	    $input{$_} = 0
		if (defined($DEFAULTVALUE{$_})
		    && ($DEFAULTVALUE{$_} eq "0" || $DEFAULTVALUE{$_} eq "1"));
	}
    }
}
    
$barequery = "";
foreach (@stickyvars) {
    # construct a query string with the sticky non default parameters set
	if (defined($input{$_}) && ($input{$_} ne "") && 
	    (!defined($DEFAULTVALUE{$_}) || $input{$_} ne $DEFAULTVALUE{$_})) {
	if ($barequery) {
	    $barequery = $barequery . "&amp;";
	}
	my $thisval = urlencode($_) . "=" . urlencode($input{$_});
	$barequery .= $thisval;
    }
}
# is there any query ?
if ($barequery) {
    $query = "?$barequery";
    $barequery = "&amp;" . $barequery;
}
else {
    $query = "";
}

# get actual parameters
$sortby = $input{"sortby"};
$bydate = 0;
$byrev = 0;
$byauthor = 0;
$bylog = 0;
$byfile = 0;
if ($sortby eq "date") {
    $bydate = 1;
}
elsif ($sortby eq "rev") {
    $byrev = 1;
}
elsif ($sortby eq "author") {
    $byauthor = 1;
}
elsif ($sortby eq "log") {
    $bylog = 1;
}
else {
    $byfile = 1;
}

$hr_default = $input{'f'} eq 'h';

$logsort = $input{"logsort"};


## Default CVS-Tree
if (!defined($CVSROOT{$cvstreedefault})) {
   &fatal("500 Internal Error",
	  "<code>\$cvstreedefault</code> points to a repository ($cvstreedefault)"
	  . "not defined in <code>%CVSROOT</code> "
	  . "(edit your configuration file $config)");
}
$cvstree = $cvstreedefault;
$cvsroot = $CVSROOT{"$cvstree"};

# alternate CVS-Tree, configured in cvsweb.conf
if ($input{'cvsroot'}) {
    if ($CVSROOT{$input{'cvsroot'}}) {
	$cvstree = $input{'cvsroot'};
	$cvsroot = $CVSROOT{"$cvstree"};
    }
}

# create icons out of description
foreach my $k (keys %ICONS) {
    no strict 'refs';
    my ($itxt,$ipath,$iwidth,$iheight) = @{$ICONS{$k}};
    if ($ipath) {
	$ {"${k}icon"} = "<IMG SRC=\"$ipath\" ALT=\"$itxt\" BORDER=\"0\" WIDTH=\"$iwidth\" HEIGHT=\"$iheight\">";
    }
    else {
	$ {"${k}icon"} = $itxt;
    }
}

# Do some special configuration for cvstrees
do "$config-$cvstree" if (-f "$config-$cvstree");

$fullname = $cvsroot . '/' . $where;
$mimetype = &getMimeTypeFromSuffix ($fullname);
$defaultTextPlain = ($mimetype eq "text/plain");
$defaultViewable = $allow_markup && viewable($mimetype);

# search for GZIP if compression allowed
# We've to find out if the GZIP-binary exists .. otherwise
# ge get an Internal Server Error if we try to pipe the
# output through the nonexistent gzip .. 
# any more elegant ways to prevent this are welcome!
if ($allow_compress && $maycompress && !$has_zlib) {
    foreach (split(/:/, $ENV{PATH})) {
	if (-x "$_/gzip") {
	    $GZIPBIN = "$_/gzip";
	    last;
	}
    }
}

if (-d $fullname) {
    #
    # ensure, that directories always end with (exactly) one '/'
    # to allow relative URL's. If they're not, make a credirect.
    ##
    my $pathinfo = defined($ENV{'PATH_INFO'}) ? $ENV{'PATH_INFO'} : "";
    if (!($pathinfo =~ m|/$|) || ($pathinfo =~ m |/{2,}$|)) {
	credirect ($scriptwhere . '/' . $query);
    }
    else {
	$where .= '/';
	$scriptwhere .= '/';
    }
}

if (!-d $cvsroot) {
    &fatal("500 Internal Error",'$CVSROOT not found!<P>The server on which the CVS tree lives is probably down.  Please try again in a few minutes.');
}

#
# See if the module is in our forbidden list.
#
$where =~ m:([^/]*):;
$module = $1;
if ($module && &forbidden_module($module)) {
    &fatal("403 Forbidden", "Access to $where forbidden.");
}
##############################
# View a directory
###############################
elsif (-d $fullname) {
	my $dh = do {local(*DH);};
	opendir($dh, $fullname) || &fatal("404 Not Found","$where: $!");
	my @dir = readdir($dh);
	closedir($dh);
	my @subLevelFiles = findLastModifiedSubdirs(@dir)
	    if ($show_subdir_lastmod);
	getDirLogs($cvsroot,$where,@subLevelFiles);

	if ($where eq '/') {
	    html_header("$defaulttitle");
	    print $long_intro;
	}
	else {
	    html_header("$where");
	    print $short_instruction;
	}

	my $descriptions;
	if (($use_descriptions) && open (DESC, "<$cvsroot/CVSROOT/descriptions")) {
	    while (<DESC>) {
		chomp;
		my ($dir,$description) = /(\S+)\s+(.*)/;
		$descriptions{$dir} = $description;
	    }
	}

	print "<P><a name=\"dirlist\"></a>\n";
	# give direct access to dirs
	if ($where eq '/') {
	    chooseMirror();
	    chooseCVSRoot();
	}
	else {
	    print "<p>Current directory: <b>", &clickablePath($where,0), "</b>\n";

	    print "<P>Current tag: <B>", $input{only_with_tag}, "</b>\n" if
		$input{only_with_tag};

	}
	 

	print "<HR NOSHADE>\n";
	# Using <MENU> in this manner violates the HTML2.0 spec but
	# provides the results that I want in most browsers.  Another
	# case of layout spooging up HTML.
	
	my $infocols = 0;
	if ($dirtable) {
	    if (defined($tableBorderColor)) {
		# Can't this be done by defining the border for the inner table?
		print "<table border=0 cellpadding=0 width=\"100%\"><tr><td bgcolor=\"$tableBorderColor\">";
	    }
	    print "<table  width=\"100%\" border=0 cellspacing=1 cellpadding=$tablepadding>\n";
	    $infocols++;
	    print "<tr><th align=left bgcolor=\"" . (($byfile) ? 
						   $columnHeaderColorSorted : 
						   $columnHeaderColorDefault) . "\">";
	    print "<a href=\"./" . &toggleQuery("sortby","file") .
		"#dirlist\">" if (!$byfile);
	    print "File";
	    print "</a>" if (!$byfile);
	    print "</th>";
	    # do not display the other column-headers, if we do not have any files
	    # with revision information:
	    if (scalar(%fileinfo)) {
		$infocols++;
		print "<th align=left bgcolor=\"" . (($byrev) ? 
						   $columnHeaderColorSorted : 
						   $columnHeaderColorDefault) . "\">";
		print "<a href=\"./" . &toggleQuery ("sortby","rev") .
		    "#dirlist\">" if (!$byrev);
		print "Rev.";
		print "</a>" if (!$byrev);
		print "</th>";
		$infocols++;
		print "<th align=left bgcolor=\"" . (($bydate) ? 
						   $columnHeaderColorSorted : 
						   $columnHeaderColorDefault) . "\">";
		print "<a href=\"./" . &toggleQuery ("sortby","date") .
		    "#dirlist\">" if (!$bydate);
		print "Age";
		print "</a>" if (!$bydate);
		print "</th>";
		if ($show_author) {
		    $infocols++;
		    print "<th align=left bgcolor=\"" . (($byauthor) ? 
						   $columnHeaderColorSorted : 
						   $columnHeaderColorDefault) . "\">";
		    print "<a href=\"./" . &toggleQuery ("sortby","author") .
			    "#dirlist\">" if (!$byauthor);
		    print "Author";
		    print "</a>" if (!$byauthor);
		    print "</th>";
		}
		$infocols++;
		print "<th align=left bgcolor=\"" . (($bylog) ? 
					       $columnHeaderColorSorted : 
					       $columnHeaderColorDefault) . "\">";
		print "<a href=\"./", toggleQuery("sortby","log"), "#dirlist\">" if (!$bylog);
		print "Last log entry";
		print "</a>" if (!$bylog);
		print "</th>";
	    }
	    elsif ($use_descriptions) {
		print "<th align=left bgcolor=\"". $columnHeaderColorDefault . "\">";
		print "Description";
		$infocols++;
	    }
	    print "</tr>\n";
	}
	else {
	    print "<menu>\n";
	}
	my $dirrow = 0;
	
	my $i;
	lookingforattic:
	for ($i = 0; $i <= $#dir; $i++) {
		if ($dir[$i] eq "Attic") {
		    last lookingforattic;
		}
	}
	if (!$input{'hideattic'} && ($i <= $#dir) &&
	    opendir($dh, $fullname . "/Attic")) {
	    splice(@dir, $i, 1,
			grep((s|^|Attic/|,!m|/\.|), readdir($dh)));
	    closedir($dh);
	}

	my $hideAtticToggleLink = "<a href=\"./" . 
	        &toggleQuery ("hideattic") .
		"#dirlist\">[Hide]</a>" if (!$input{'hideattic'});

	# Sort without the Attic/ pathname.
	# place directories first

	my $attic;
	my $url;
	my $fileurl;
	my $filesexists;
	my $filesfound;

	foreach (sort { &fileSortCmp } @dir) {
	    if ($_ eq '.') {
		next;
	    }
	    # ignore CVS lock and stale NFS files
	    next if (/^#cvs\.|^,|^\.nfs/);

	    # Check whether to show the CVSROOT path
	    next if ($input{'hidecvsroot'} && ($_ eq 'CVSROOT'));

	    # Check whether the module is in the restricted list
	    next if ($_ && &forbidden_module($_));

	    # Ignore non-readable files
	    next if ($input{'hidenonreadable'} && !(-r "$fullname/$_"));

	    if (s|^Attic/||) {
		$attic  = " (in the Attic)&nbsp;" . $hideAtticToggleLink;
	    }
	    else {
		$attic = "";
	    }

	    if ($_ eq '..' || -d "$fullname/$_") {
		next if ($_ eq '..' && $where eq '/');
		my ($rev,$date,$log,$author,$filename);
		($rev,$date,$log,$author,$filename) = @{$fileinfo{$_}}
		    if (defined($fileinfo{$_}));
		print "<tr bgcolor=\"" . @tabcolors[$dirrow%2] . "\"><td>" if ($dirtable);
		if ($_ eq '..') {
		    $url = "../" . $query;
		    if ($nofilelinks) {
			print $backicon;
		    }
		    else {
			print &link($backicon,$url);
		    }
		    print " ", &link("Previous Directory",$url);
		}
		else {
		    $url = urlencode($_) . '/' . $query;
		    print "<A NAME=\"$_\"></A>";
		    if ($nofilelinks) {
			print $diricon;
		    }
		    else {
			print &link($diricon,$url);
		    }
		    print " ", &link($_ . "/", $url), $attic;
		    if ($_ eq "Attic") {
			print "&nbsp; <a href=\"./" . 
			    &toggleQuery ("hideattic") .
				"#dirlist\">[Don't hide]</a>";
		    }
		} 
		# Show last change in dir
		if ($filename) {
		    print "</td><td>&nbsp;</td><td>&nbsp;" if ($dirtable);
		    if ($date) {
			print " <i>" . readableTime(time() - $date,0) . "</i>";
		    }
		    if ($show_author) {
			print "</td><td>&nbsp;" if ($dirtable);
			print $author;
		    }
		    print "</td><td>&nbsp;" if ($dirtable);
		    $filename =~ s%^[^/]+/%%;
		    print "$filename/$rev";
		    print "<BR>" if ($dirtable);
		    if ($log) {
			print "&nbsp;<font size=-1>"
			    . &htmlify(substr($log,0,$shortLogLen));
			if (length $log > 80) {
			    print "...";
			}
			print "</font>";
		    }
		}
		else {
		    my ($dwhere) = ($where ne "/" ? $where : "") . $_;
		    if ($use_descriptions && defined $descriptions{$dwhere}) {
			print "<TD COLSPAN=" . ($infocols-1) . ">&nbsp;" if $dirtable;
			print $descriptions{$dwhere};
		    } elsif ($dirtable && $infocols > 1) {
			# close the row with the appropriate number of
			# columns, so that the vertical seperators are visible
			my($cols) = $infocols;
			while ($cols > 1) {
			    print "</td><td>&nbsp;";
			    $cols--;
			}
		    }
		}
		if ($dirtable) {
		    print "</td></tr>\n";
		}
		else {
		    print "<br>\n";
		}
		$dirrow++;
	    }
	    elsif (s/,v$//) {
		$fileurl = ($attic ? "Attic/" : "") . urlencode($_);
		$url = $fileurl . $query;
		my $rev = '';
		my $date = '';
		my $log = '';
		my $author = '';
		$filesexists++;
		next if (!defined($fileinfo{$_}));
		($rev,$date,$log,$author) = @{$fileinfo{$_}};
		$filesfound++;
		print "<tr bgcolor=\"" . @tabcolors[$dirrow%2] . "\"><td>" if ($dirtable);
		print "<A NAME=\"$_\"></A>";
		if ($nofilelinks) {
		    print $fileicon;
		}
		else {
		    print &link($fileicon,$url);
		}
		print " ", &link($_, $url), $attic;
		print "</td><td>&nbsp;" if ($dirtable);
		download_link($fileurl,
			$rev, $rev, 
			$defaultViewable ? "text/x-cvsweb-markup" : undef);
		print "</td><td>&nbsp;" if ($dirtable);
		if ($date) {
		    print " <i>" . readableTime(time() - $date,0) . "</i>";
		}
		if ($show_author) {
		    print "</td><td>&nbsp;" if ($dirtable);
		    print $author;
		}
		print "</td><td>&nbsp;" if ($dirtable);
		if ($log) {
		    print " <font size=-1>" . &htmlify(substr($log,0,$shortLogLen));
		    if (length $log > 80) {
			print "...";
		    }
		    print "</font>";
		}
		print "</td>" if ($dirtable);
		print (($dirtable) ? "</tr>" : "<br>");
		$dirrow++;
	    }
	    print "\n";
	}
	if ($dirtable && defined($tableBorderColor)) {
	    print "</td></tr></table>";
	}
	print "". ($dirtable == 1) ? "</table>" : "</menu>" . "\n";
	
	if ($filesexists && !$filesfound) {
	    print "<P><B>NOTE:</B> There are $filesexists files, but none matches the current tag ($input{only_with_tag})\n";
	}
	if ($input{only_with_tag} && (!%tags || !$tags{$input{only_with_tag}})) {
	    %tags = %alltags
	}
	if (scalar %tags 
	    || $input{only_with_tag} 
	    || $edit_option_form
	    || defined($input{"options"})) {
	    print "<hr size=1 NOSHADE>";
	}

	if (scalar %tags || $input{only_with_tag}) {
	    print "<FORM METHOD=\"GET\" ACTION=\"./\">\n";
	    foreach my $var (@stickyvars) {
		print "<INPUT TYPE=HIDDEN NAME=\"$var\" VALUE=\"$input{$var}\">\n"
		    if (defined($input{$var})
			&& (!defined($DEFAULTVALUE{$var})
			    || $input{$var} ne $DEFAULTVALUE{$var})
			&& $input{$var} ne ""
			&& $var ne "only_with_tag");
	    }
	    print "Show only files with tag:\n";
	    print "<SELECT NAME=only_with_tag";
	    print " onchange=\"submit()\"" if ($use_java_script);
	    print ">";
	    print "<OPTION VALUE=\"\">All tags / default branch\n";
	    foreach my $tag (reverse sort { lc $a cmp lc $b } keys %tags) {
		print "<OPTION",defined($input{only_with_tag}) && 
		       $input{only_with_tag} eq $tag ? " SELECTED":"",
		       ">$tag\n";
	    }
	    print "</SELECT>\n";
	    print "<INPUT TYPE=SUBMIT VALUE=\"Go\">\n";
	    print "</FORM>\n";
	}
	my $formwhere = $scriptwhere;
	$formwhere =~ s|Attic/?$|| if ($input{'hideattic'});

	if ($edit_option_form || defined($input{"options"})) {
	    print "<FORM METHOD=\"GET\" ACTION=\"${formwhere}\">\n";
	    print "<INPUT TYPE=HIDDEN NAME=\"copt\" VALUE=\"1\">\n";
	    if ($cvstree ne $cvstreedefault) {
		print "<INPUT TYPE=HIDDEN NAME=\"cvsroot\" VALUE=\"$cvstree\">\n";
	    }
	    print "<center><table cellpadding=0 cellspacing=0>";
	    print "<tr bgcolor=\"$columnHeaderColorDefault\"><th colspan=2>Preferences</th></tr>";
	    print "<tr><td>Sort files by <SELECT name=\"sortby\">";
	    print "<OPTION VALUE=\"\">File";
	    print "<OPTION",$bydate ? " SELECTED" : ""," VALUE=date>Age";
	    print "<OPTION",$byauthor ? " SELECTED" : ""," VALUE=author>Author"
		if ($show_author);
	    print "<OPTION",$byrev ? " SELECTED" : ""," VALUE=rev>Revision";
	    print "<OPTION",$bylog ? " SELECTED" : ""," VALUE=log>Log message";
	    print "</SELECT></td>";
	    print "<td>revisions by: \n";
	    print "<SELECT NAME=logsort>\n";
	    print "<OPTION VALUE=cvs",$logsort eq "cvs" ? " SELECTED" : "", ">Not sorted";
	    print "<OPTION VALUE=date",$logsort eq "date" ? " SELECTED" : "", ">Commit date";
	    print "<OPTION VALUE=rev",$logsort eq "rev" ? " SELECTED" : "", ">Revision";
	    print "</SELECT></td></tr>";
	    print "<tr><td>Diff format: ";
	    printDiffSelect(0);
	    print "</td>";
	    print "<td>Show Attic files: ";
	    print "<INPUT NAME=hideattic TYPE=CHECKBOX", $input{'hideattic'}?" CHECKED":"", 
	    "></td></tr>\n";
	    print "<tr><td align=center colspan=2><input type=submit value=\"Change Options\">";
	    print "</td></tr></table></center></FORM>\n";
	}
	print &html_footer;
	print "</BODY></HTML>\n";
    } 

###############################
# View Files
###############################
    elsif (-f $fullname . ',v') {
	if (defined($input{'rev'}) || $doCheckout) {
	    &doCheckout($fullname, $input{'rev'});
	    gzipclose();
	    exit;
	}
	if (defined($input{'annotate'}) && $allow_annotate) {
	    &doAnnotate($input{'annotate'});
	    gzipclose();
	    exit;
	}
	if (defined($input{'r1'}) && defined($input{'r2'})) {
	    &doDiff($fullname, $input{'r1'}, $input{'tr1'},
		    $input{'r2'}, $input{'tr2'}, $input{'f'});
	    gzipclose();
	    exit;
	}
	print("going to dolog($fullname)\n") if ($verbose);
	&doLog($fullname);
##############################
# View Diff
##############################
    }
    elsif ($fullname =~ s/\.diff$// && -f $fullname . ",v" &&
	   $input{'r1'} && $input{'r2'}) {

	# $where-diff-removal if 'cvs rdiff' is used
	# .. but 'cvs rdiff'doesn't support some options
	# rcsdiff does (-w and -p), so it is disabled
	# $where =~ s/\.diff$//;

	# Allow diffs using the ".diff" extension
	# so that browsers that default to the URL
	# for a save filename don't save diff's as
	# e.g. foo.c
	&doDiff($fullname, $input{'r1'}, $input{'tr1'},
		$input{'r2'}, $input{'tr2'}, $input{'f'});
	gzipclose();
	exit;
    }
    elsif (($newname = $fullname) =~ s|/([^/]+)$|/Attic/$1| &&
	   -f $newname . ",v") {
	# The file has been removed and is in the Attic.
	# Send a credirect pointing to the file in the Attic.
	(my $newplace = $scriptwhere) =~ s|/([^/]+)$|/Attic/$1|;
	&credirect($newplace . "?" . $ENV{QUERY_STRING});
	exit;
    }
    elsif (0 && (my @files = &safeglob($fullname . ",v"))) {
	http_header("text/plain");
	print "You matched the following files:\n";
	print join("\n", @files);
	# Find the tags from each file
	# Display a form offering diffs between said tags
    }
    else {
	my $fh = do {local(*FH);};
	my ($xtra, $module);
	# Assume it's a module name with a potential path following it.
	$xtra = $& if (($module = $where) =~ s|/.*||);
	# Is there an indexed version of modules?
	if (open($fh, "$cvsroot/CVSROOT/modules")) {
	    while (<$fh>) {
		if (/^(\S+)\s+(\S+)/o && $module eq $1
		    && -d "${cvsroot}/$2" && $module ne $2) {
		    &credirect($scriptname . '/' . $2 . $xtra);
		}
	    }
	}
	&fatal("404 Not Found","$where: no such file or directory");
    }

gzipclose();
## End MAIN

sub printDiffSelect($) {
    my ($use_java_script) = @_;
    $use_java_script = 0 if (!defined($use_java_script));
    my ($f) = $input{'f'};
    print "<SELECT NAME=\"f\"";
    print " onchange=\"submit()\"" if ($use_java_script);
    print ">\n";
    print "<OPTION VALUE=h",$f eq "h" ? " SELECTED" : "", ">Colored Diff";
    print "<OPTION VALUE=H",$f eq "H" ? " SELECTED" : "", ">Long Colored Diff";
    print "<OPTION VALUE=u",$f eq "u" ? " SELECTED" : "", ">Unidiff";
    print "<OPTION VALUE=c",$f eq "c" ? " SELECTED" : "", ">Context Diff";
    #print "<OPTION VALUE=s",$f eq "s" ? " SELECTED" : "", ">Side by Side";
    print "</SELECT>";
}

sub findLastModifiedSubdirs(@) {
    my (@dirs) = @_;
    my ($dirname, @files);

    foreach $dirname (@dirs) {
	next if ($dirname eq ".");
	next if ($dirname eq "..");
	my ($dir) = "$fullname/$dirname";
	next if (!-d $dir);

	my ($lastmod) = undef;
	my ($lastmodtime) = undef;
	my $dh = do {local(*DH);};

	opendir($dh,$dir) || next;
	my (@filenames) = readdir($dh);
	closedir($dh);

	foreach my $filename (@filenames) {
	    $filename = "$dirname/$filename";
	    my ($file) = "$fullname/$filename";
	    next if ($filename !~ /,v$/ || !-f $file);
	    $filename =~ s/,v$//;
	    my $modtime = -M $file;
	    if (!defined($lastmod) || $modtime < $lastmodtime) {
		$lastmod = $filename;
		$lastmodtime = $modtime;
	    }
	}
	push(@files, $lastmod) if (defined($lastmod));
    }
    return @files;
}

sub htmlify($) {
	my($string) = @_;

	# Special Characters; RFC 1866
	$string =~ s/&/&amp;/g;
	$string =~ s/\"/&quot;/g; 
	$string =~ s/</&lt;/g;
	$string =~ s/>/&gt;/g;

	# get URL's as link ..
	$string =~ s§(http|ftp|https)(://[-a-zA-Z0-9%.~:_/]+)([?&]([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*§<A HREF="$1$2$3">$1$2$3</A>§;
	# get e-mails as link
	$string =~ s§([-a-zA-Z0-9_.]+@([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})§<A HREF="mailto:$1">$1</A>§;

	return $string;
}

sub spacedHtmlText($) {
	my($string) = @_;

	# Cut trailing spaces
	s/\s+$//;

	# Expand tabs
	$string =~ s/\t+/' ' x (length($&) * $tabstop - length($`) % $tabstop)/e
	    if (defined($tabstop));

	# replace <tab> and <space> (§ is to protect us from htmlify)
	# gzip can make excellent use of this repeating pattern :-)
	$string =~ s/§/§%/g; #protect our & substitute
	if ($hr_breakable) {
	    # make every other space 'breakable'
	    $string =~ s/	/ §nbsp; §nbsp; §nbsp; §nbsp;/g;    # <tab>
	    $string =~ s/  / §nbsp;/g;                              # 2 * <space>
	    # leave single space as it is
	}
	else {
	    $string =~ s/	/§nbsp;§nbsp;§nbsp;§nbsp;§nbsp;§nbsp;§nbsp;§nbsp;/g; 
	    $string =~ s/ /§nbsp;/g;
	}

	$string = htmlify($string);

	# unescape
	$string =~ s/§([^%])/&$1/g;
	$string =~ s/§%/§/g;

	return $string;
}

sub link($$) {
	my($name, $where) = @_;

	return "<A HREF=\"$where\">$name</A>\n";
}

sub revcmp($$) {
	my($rev1, $rev2) = @_;
	my(@r1) = split(/\./, $rev1);
	my(@r2) = split(/\./, $rev2);
	my($a,$b);

	while (($a = shift(@r1)) && ($b = shift(@r2))) {
	    if ($a != $b) {
		return $a <=> $b;
	    }
	}
	if (@r1) { return 1; }
	if (@r2) { return -1; }
	return 0;
}

sub fatal($$) {
	my($errcode, $errmsg) = @_;
	if (defined($ENV{'MOD_PERL'})) {
		Apache->request->status((split(/ /, $errcode))[0]);
	}
	else {
		print "Status: $errcode\n";
	}
	html_header("Error");
	print "Error: $errmsg\n";
	print &html_footer;
	exit(1);
}

sub credirect($) {
	my($url) = @_;
	if (defined($ENV{'MOD_PERL'})) {
		Apache->request->status(301);
		Apache->request->header_out(Location => $url);
	}
	else {
		print "Status: 301 Moved\r\n";
		print "Location: $url\r\n";
	}
	html_header("Moved");
	print "This document is located <A HREF=$url>here</A>.\n";
	print &html_footer;
	exit(1);
}

sub safeglob($) {
	my ($filename) = @_;
	my ($dirname);
	my (@results);
	my $dh = do {local(*DH);};

	($dirname = $filename) =~ s|/[^/]+$||;
	$filename =~ s|.*/||;

	if (opendir($dh, $dirname)) {
		my $glob = $filename;
		my $t;
	#	transform filename from glob to regex.  Deal with:
	#	[, {, ?, * as glob chars
	#	make sure to escape all other regex chars
		$glob =~ s/([\.\(\)\|\+])/\\$1/g;
		$glob =~ s/\*/.*/g;
		$glob =~ s/\?/./g;
		$glob =~ s/{([^}]+)}/($t = $1) =~ s-,-|-g; "($t)"/eg;
		foreach (readdir($dh)) {
			if (/^${glob}$/) {
				push(@results, $dirname . "/" .$_);
			}
		}
		closedir($dh);
	}

	@results;
}

sub getMimeTypeFromSuffix($) {
    my ($fullname) = @_;
    my ($mimetype, $suffix);
    my $fh = do {local(*FH);};

    ($suffix = $fullname) =~ s/^.*\.([^.]*)$/$1/;
    $mimetype = $MTYPES{$suffix};
    $mimetype = $MTYPES{'*'} if (!$mimetype);
    
    if (!$mimetype && -f $mime_types) {
	# okey, this is something special - search the
	# mime.types database
	open ($fh, "<$mime_types");
	while (<$fh>) {
	    if ($_ =~ /^\s*(\S+\/\S+).*\b$suffix\b/) {
		$mimetype = $1;
		last;
	    }
	}
	close ($fh);
    }
    
# okey, didn't find anything useful ..
    if (!($mimetype =~ /\S\/\S/)) {
	$mimetype = "text/plain";
    }
    return $mimetype;
}

###############################
# show Annotation
###############################
sub doAnnotate ($$) {
    my ($rev) = @_;
    my ($pid);
    my ($pathname, $filename);
    my $reader = do {local(*FH);};
    my $writer = do {local(*FH);};

    # make sure the revisions are wellformed, for security
    # reasons ..
    if (!($rev =~ /^[\d\.]+$/)) {
	&fatal("404 Not Found",
		"Malformed query \"$ENV{'QUERY_STRING'}\"");
    }

    if (&forbidden_file($fullname)) {
	&fatal("403 Forbidden", "Access forbidden. This file is mentioned in \@DissallowRead");
	return;
    }

    ($pathname = $where) =~ s/(Attic\/)?[^\/]*$//;
    ($filename = $where) =~ s/^.*\///;

    http_header();

    navigateHeader ($scriptwhere,$pathname,$filename,$rev, "annotate");
    print "<h3 align=center>Annotation of $pathname$filename, Revision $rev</h3>\n";

    # this seems to be necessary
    $| = 1; $| = 0; # Flush

    # this annotate version is based on the
    # cvs annotate-demo Perl script by Cyclic Software
    # It was written by Cyclic Software, http://www.cyclic.com/, and is in
    # the public domain.
    # we could abandon the use of rlog, rcsdiff and co using
    # the cvsserver in a similiar way one day (..after rewrite)
    $pid = open2($reader, $writer, "cvs server") || fatal ("500 Internal Error", 
							       "Fatal Error - unable to open cvs for annotation");
    
    # OK, first send the request to the server.  A simplified example is:
    #     Root /home/kingdon/zwork/cvsroot
    #     Argument foo/xx
    #     Directory foo
    #     /home/kingdon/zwork/cvsroot/foo
    #     Directory .
    #     /home/kingdon/zwork/cvsroot
    #     annotate
    # although as you can see there are a few more details.
    
    print $writer "Root $cvsroot\n";
    print $writer "Valid-responses ok error Valid-requests Checked-in Updated Merged Removed M E\n";
    # Don't worry about sending valid-requests, the server just needs to
    # support "annotate" and if it doesn't, there isn't anything to be done.
    print $writer "UseUnchanged\n";
    print $writer "Argument -r\n";
    print $writer "Argument $rev\n";
    print $writer "Argument $where\n";

    # The protocol requires us to fully fake a working directory (at
    # least to the point of including the directories down to the one
    # containing the file in question).
    # So if $where is "dir/sdir/file", then @dirs will be ("dir","sdir","file")
    my @dirs = split('/', $where);
    my $path = "";
    foreach (@dirs) {
	if ($path eq "") {
	    # In our example, $_ is "dir".
	    $path = $_;
	}
	else {
	    print $writer "Directory $path\n";
	    print $writer "$cvsroot/$path\n";
	    # In our example, $_ is "sdir" and $path becomes "dir/sdir"
	    # And the next time, "file" and "dir/sdir/file" (which then gets
	    # ignored, because we don't need to send Directory for the file).
            $path .= "/$_";
	}
    }
    # And the last "Directory" before "annotate" is the top level.
    print $writer "Directory .\n";
    print $writer "$cvsroot\n";
    
    print $writer "annotate\n";
    # OK, we've sent our command to the server.  Thing to do is to
    # close the writer side and get all the responses.  If "cvs server"
    # were nicer about buffering, then we could just leave it open, I think.
    close ($writer) || die "cannot close: $!";
    
    # Ready to get the responses from the server.
    # For example:
    #     E Annotations for foo/xx
    #     E ***************
    #     M 1.3          (kingdon  06-Sep-97): hello 
    #     ok
    my ($lineNr) = 0;
    my ($oldLrev, $oldLusr) = ("", "");
    my ($revprint, $usrprint);
    if ($annTable) {
	print "<table border=0 cellspacing=0 cellpadding=0>\n";
    }
    else {
	print "<pre>";
    }
    while (<$reader>) {
	my @words = split;
	# Adding one is for the (single) space which follows $words[0].
	my $rest = substr ($_, length ($words[0]) + 1);
	if ($words[0] eq "E") {
	    next;
	}
	elsif ($words[0] eq "M") {
	    $lineNr++;
	    my $lrev = substr ($_, 2, 13);
	    my $lusr = substr ($_, 16,  9);
	    my $line = substr ($_, 36);
	    # we should parse the date here ..
	    if ($lrev eq $oldLrev) {
		$revprint = "             ";
	    }
	    else {
		$revprint = $lrev; $oldLusr = "";
	    }
	    if ($lusr eq $oldLusr) {
		$usrprint = "         ";
	    }
	    else {
		$usrprint = $lusr;
	    }
	    $oldLrev = $lrev;
	    $oldLusr = $lusr;
	    # is there a less timeconsuming way to strip spaces ?
	    ($lrev = $lrev) =~ s/\s+//g;
	    my $isCurrentRev = ("$rev" eq "$lrev");
	    
	    print "<b>" if ($isCurrentRev);
	    printf ("%8s%s%8s %4d:", $revprint, ($isCurrentRev ? "|" : " "), $usrprint, $lineNr);
	    print spacedHtmlText($line);
	    print "</b>" if ($isCurrentRev);
	}
	elsif ($words[0] eq "ok") {
	    # We could complain about any text received after this, like the
	    # CVS command line client.  But for simplicity, we don't.
	}
	elsif ($words[0] eq "error") {
	    fatal ("500 Internal Error", "Error occured during annotate: <b>$_</b>");
	}
    }
    if ($annTable) {
	print "</table>";
    }
    else {
	print "</pre>";
    }
    close ($reader) || warn "cannot close: $!";
    wait;
}

###############################
# make Checkout
###############################
sub doCheckout($$) {
    my ($fullname, $rev) = @_;
    my ($mimetype,$revopt);
    my $fh = do {local(*FH);};

    if ($rev eq 'HEAD' || $rev eq '.') {
	$rev = undef;
    }

    # make sure the revisions a wellformed, for security
    # reasons ..
    if (defined($rev) && !($rev =~ /^[\d\.]+$/)) {
	&fatal("404 Not Found",
		"Malformed query \"$ENV{'QUERY_STRING'}\"");
    }

    if (&forbidden_file($fullname)) {
	&fatal("403 Forbidden", "Access forbidden. This file is mentioned in \@DissallowRead");
	return;
    }

    # get mimetype
    if (defined($input{"content-type"}) && ($input{"content-type"} =~ /\S\/\S/)) {
	$mimetype = $input{"content-type"}
    }
    else {
	$mimetype = &getMimeTypeFromSuffix($fullname);
    }

    if (defined($rev)) {
	$revopt = "-r$rev";
	if ($use_moddate) {
	    readLog($fullname,$rev);
	    $moddate=$date{$rev};
	}
    }
    else {
	$revopt = "-rHEAD";
	if ($use_moddate) {
	    readLog($fullname);
	    $moddate=$date{$symrev{HEAD}};
	}
    }
    
    ### just for the record:
    ### 'cvs co' seems to have a bug regarding single checkout of
    ### directories/files having spaces in it;
    ### this is an issue that should be resolved on cvs's side
    #
    # Safely for a child process to read from.
    if (! open($fh, "-|")) { # child
      open(STDERR, ">&STDOUT"); # Redirect stderr to stdout
      exec("cvs", "-d", "$cvsroot", "co", "-p", "$revopt", "$where");
    } 
#===================================================================
#Checking out squid/src/ftp.c
#RCS:  /usr/src/CVS/squid/src/ftp.c,v
#VERS: 1.1.1.28.6.2
#***************

    # Parse CVS header
    my ($revision, $filename, $cvsheader);
    $filename = "";
    while(<$fh>) {
	last if (/^\*\*\*\*/);
	$revision = $1 if (/^VERS: (.*)$/);
	if (/^Checking out (.*)$/) {
		$filename = $1;
		$filename =~ s/^\.\/*//;
	}
	$cvsheader .= $_;
    }
    if ($filename ne $where) {
	&fatal("500 Internal Error",
	       "Unexpected output from cvs co: $cvsheader"
	       . "<p><b>Check whether the directory $cvsroot/CVSROOT exists "
	       . "and the script has write-access to the CVSROOT/history "
	       . "file if it exists."
	       . "<br>The script needs to place lock files in the "
	       . "directory the file is in as well.</b>");
    }
    $| = 1;

    if ($mimetype eq "text/x-cvsweb-markup") {
	&cvswebMarkup($fh,$fullname,$revision);
    }
    else {
	http_header($mimetype);
	print <$fh>;
    }
    close($fh);
}

sub cvswebMarkup($$$) {
    my ($filehandle,$fullname,$revision) = @_;
    my ($pathname, $filename);

    ($pathname = $where) =~ s/(Attic\/)?[^\/]*$//;
    ($filename = $where) =~ s/^.*\///;
    my ($fileurl) = urlencode($filename);

    http_header();

    navigateHeader ($scriptwhere, $pathname, $filename, $revision, "view");
    print "<HR noshade>";
    print "<table width=\"100%\"><tr><td bgcolor=\"$markupLogColor\">";
    print "File: ", &clickablePath($where, 1);
    print "&nbsp;";
    &download_link(urlencode($fileurl), $revision, "(download)");
    if (!$defaultTextPlain) {
	print "&nbsp;";
	&download_link(urlencode($fileurl), $revision, "(as text)", 
	       "text/plain");
    }
    print "<BR>\n";
    if ($show_log_in_markup) {
	readLog($fullname); #,$revision);
	printLog($revision,0);
    }
    else {
	print "Version: <B>$revision</B><BR>\n";
	print "Tag: <B>", $input{only_with_tag}, "</b><br>\n" if
	    $input{only_with_tag};
    }
    print "</td></tr></table>";
    my @content = <$filehandle>;
    my $url = download_url($fileurl, $revision, $mimetype);
    print "<HR noshade>";
    if ($mimetype =~ /^image/) {
	print "<IMG SRC=\"$url$barequery\"><BR>";
    }
    elsif ($mimetype =~ m%^application/pdf%) {
    	print "<EMBED SRC=\"$url$barequery\" WIDTH=\"100%\"><BR>";
    }
    else {
	print "<PRE>";
	foreach (@content) {
	    print spacedHtmlText($_);
	}
	print "</PRE>";
    }
}

sub viewable($) {
    my ($mimetype) = @_;

    $mimetype =~ m%^text/% ||
    $mimetype =~ m%^image/% ||
    $mimetype =~ m%^application/pdf% ||
    0;
}

###############################
# Show Colored Diff
###############################
sub doDiff($$$$$$) {
	my($fullname, $r1, $tr1, $r2, $tr2, $f) = @_;
        my $fh = do {local(*FH);};
	my ($rev1, $rev2, $sym1, $sym2, @difftype, $diffname, $f1, $f2);
	
	if (&forbidden_file($fullname)) {
	    &fatal("403 Forbidden", "Access forbidden. This file is mentioned in \@DissallowRead");
	    return;
	}

	if ($r1 =~ /([^:]+)(:(.+))?/) {
	    $rev1 = $1;
	    $sym1 = $3;
	}
	if ($r1 eq 'text') {
	    $rev1 = $tr1;
	    $sym1 = "";
	}
	if ($r2 =~ /([^:]+)(:(.+))?/) {
	    $rev2 = $1;
	    $sym2 = $3;
	}
	if ($r2 eq 'text') {
	    $rev2 = $tr2;
	    $sym2 = "";
	}
	# make sure the revisions a wellformed, for security
	# reasons ..
	if (!($rev1 =~ /^[\d\.]+$/) || !($rev2 =~ /^[\d\.]+$/)) {
	    &fatal("404 Not Found",
		    "Malformed query \"$ENV{'QUERY_STRING'}\"");
	}
#
# rev1 and rev2 are now both numeric revisions.
# Thus we do a DWIM here and swap them if rev1 is after rev2.
# XXX should we warn about the fact that we do this?
	if (&revcmp($rev1,$rev2) > 0) {
	    my ($tmp1, $tmp2) = ($rev1, $sym1);
	    ($rev1, $sym1) = ($rev2, $sym2);
	    ($rev2, $sym2) = ($tmp1, $tmp2);
	}
	my $human_readable = 0;
	if ($f eq 'c') {
	    @difftype = qw{-c};
	    $diffname = "Context diff";
	}
	elsif ($f eq 's') {
	    @difftype = qw{--side-by-side --width=164};
	    $diffname = "Side by Side";
	}
	elsif ($f eq 'H') {
	    $human_readable = 1;
	    @difftype = qw{--unified=15};
	    $diffname = "Long Human readable";
	}
	elsif ($f eq 'h') {
	    @difftype =qw{-u};
	    $human_readable = 1;
	    $diffname = "Human readable";
	}
	elsif ($f eq 'u') {
	    @difftype = qw{-u};
	    $diffname = "Unidiff";
	}
	else {
	    fatal ("400 Bad arguments", "Diff format $f not understood");
	}

	# apply special options
	if ($human_readable) {
	    if ($hr_funout) {
	    	push @difftype, '-p';
	    }
	    if ($hr_ignwhite) {
	    	push @difftype, '-w';
	    }
	    if ($hr_ignkeysubst) {
	    	push @difftype, '-kk';
	    }
	}
	if (! open($fh, "-|")) { # child
		open(STDERR, ">&STDOUT"); # Redirect stderr to stdout
		exec("rcsdiff",@difftype,"-r$rev1","-r$rev2",$fullname);
	}
	if ($human_readable) {
	    http_header();
	    &human_readable_diff($fh, $rev2);
	    gzipclose();
	    exit;
	}
	else {
	    http_header("text/plain");
	}
#
#===================================================================
#RCS file: /home/ncvs/src/sys/netinet/tcp_output.c,v
#retrieving revision 1.16
#retrieving revision 1.17
#diff -c -r1.16 -r1.17
#*** /home/ncvs/src/sys/netinet/tcp_output.c     1995/11/03 22:08:08     1.16
#--- /home/ncvs/src/sys/netinet/tcp_output.c     1995/12/05 17:46:35     1.17
#
# Ideas:
# - nuke the stderr output if it's what we expect it to be
# - Add "no differences found" if the diff command supplied no output.
#
#*** src/sys/netinet/tcp_output.c     1995/11/03 22:08:08     1.16
#--- src/sys/netinet/tcp_output.c     1995/12/05 17:46:35     1.17 RELENG_2_1_0
# (bogus example, but...)
#
	if (grep { $_ eq '-u'} @difftype) {
	    $f1 = '---';
	    $f2 = '\+\+\+';
	}
	else {
	    $f1 = '\*\*\*';
	    $f2 = '---';
	}
	while (<$fh>) {
	    if (m|^$f1 $cvsroot|o) {
		s|$cvsroot/||o;
		if ($sym1) {
		    chop;
		    $_ .= " $sym1\n";
		}
	    }
	    elsif (m|^$f2 $cvsroot|o) {
		s|$cvsroot/||o;
		if ($sym2) {
		    chop;
		    $_ .= " $sym2\n";
		}
	    }
	    print $_;
	}
	close($fh);
}

###############################
# Show Logs ..
###############################
sub getDirLogs($$@) {
    my ($cvsroot,$dirname,@otherFiles) = @_;
    my ($state,$otherFiles,$tag, $file, $date, $branchpoint, $branch, $log);
    my ($rev, $revision, $revwanted, $filename, $head, $author);

    $tag = $input{only_with_tag};

    my ($DirName) = "$cvsroot/$where";
    my (@files, @filetags);
    my $fh = do {local(*FH);};

    push(@files, &safeglob("$DirName/*,v"));
    push(@files, &safeglob("$DirName/Attic/*,v")) if (!$input{'hideattic'});
    foreach $file (@otherFiles) {
	push(@files, "$DirName/$file");
    }

    # just execute rlog if there are any files
    if ($#files < 0) { 
	return;
    }

    if (defined($tag)) {
	#can't use -r<tag> as - is allowed in tagnames, but misinterpreated by rlog..
	if (! open($fh, "-|")) {
		open(STDERR, "> /dev/null"); # rlog may complain; ignore.
		exec("rlog",@files);
	}
    }
    else {
    	my $kidpid = open($fh, "-|");
	if (! $kidpid) {
		open(STDERR, "> /dev/null"); # rlog may complain; ignore.
		exec("rlog","-r",@files);
	}
    }
    $state = "start";
    while (<$fh>) {
	if ($state eq "start") {
	    #Next file. Initialize file variables
	    $rev = undef;
	    $revwanted = undef;
	    $branch = undef;
	    $branchpoint = undef;
	    $filename = undef;
	    $log = undef;
	    $revision = undef;
	    $branch = undef;
	    %symrev = ();
	    @filetags = ();
	    #jump to head state
	    $state = "head";
	}
	print "$state:$_" if ($verbose);
again:
	if ($state eq "head") {
	    #$rcsfile = $1 if (/^RCS file: (.+)$/); #not used (yet)
	    $filename = $1 if (/^Working file: (.+)$/);
	    $head = $1 if (/^head: (.+)$/);
	    $branch = $1 if (/^branch: (.+)$/);
	}
	if ($state eq "head" && /^symbolic names/) {
	    $state = "tags";
	    ($branch = $head) =~ s/\.\d+$// if (!defined($branch)); 
	    $branch =~ s/(\.?)(\d+)$/${1}0.$2/;
	    $symrev{MAIN} = $branch;
	    $symrev{HEAD} = $branch;
	    $alltags{MAIN} = 1;
	    $alltags{HEAD} = 1;
	    push (@filetags, "MAIN", "HEAD");
	    next;
	}
	if ($state eq "tags" &&
			    /^\s+(.+):\s+([\d\.]+)\s+$/) {
	    push (@filetags, $1);
	    $symrev{$1} = $2;
	    $alltags{$1} = 1;
	    next;
	}
	if ($state eq "tags" && /^\S/) {
	    if (defined($tag) && (defined($symrev{$tag}) || $tag eq "HEAD")) {
		$revwanted = $tag eq "HEAD" ? $symrev{"MAIN"} : $symrev{$tag};
		($branch = $revwanted) =~ s/\.0\././;
		($branchpoint = $branch) =~ s/\.?\d+$//;
		$revwanted = undef if ($revwanted ne $branch);
	    }
	    elsif (defined($tag) && $tag ne "HEAD") {
		print "Tag not found, skip this file" if ($verbose);
		$state = "skip";
		next;
	    }
	    foreach my $tagfound (@filetags) {
		$tags{$tagfound} = 1;
	    }
	    $state = "head";
	    goto again;
	}
	if ($state eq "head" && /^----------------------------$/) {
	    $state = "log";
	    $rev = undef;
	    $date = undef;
	    $log = "";
	    # Try to reconstruct the relative filename if RCS spits out a full path
	    $filename =~ s%^\Q$DirName\E/%%;
	    next;
	}
	if ($state eq "log") {
	    if (/^----------------------------$/
		|| /^=============================/) {
		# End of a log entry.
		my $revbranch;
		($revbranch = $rev) =~ s/\.\d+$//;
		print "$filename $rev Wanted: $revwanted "
		    . "Revbranch: $revbranch Branch: $branch "
		    . "Branchpoint: $branchpoint\n" if ($verbose);
		if (!defined($revwanted) && defined($branch)
		    && $branch eq $revbranch || !defined($tag)) {
		    print "File revision $rev found for branch $branch\n"
			if ($verbose);
		    $revwanted = $rev;
		}
		if (defined($revwanted) ? $rev eq $revwanted :
		    defined($branchpoint) ? $rev eq $branchpoint :
		    0 && ($rev eq $head)) { # Don't think head is needed here..
		    print "File info $rev found for $filename\n" if ($verbose);
		    my @finfo = ($rev,$date,$log,$author,$filename);
		    my ($name);
		    ($name = $filename) =~ s%/.*%%;
		    $fileinfo{$name} = [ @finfo ];
		    $state = "done" if (defined($revwanted) && $rev eq $revwanted);
		}
		$rev = undef;
		$date = undef;
		$log = "";
	    }
	    elsif (!defined($date) && m|^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);|) {
		my $yr = $1;
		# damn 2-digit year routines :-)
		if ($yr > 100) {
		    $yr -= 1900;
		}
		$date = &Time::Local::timegm($6,$5,$4,$3,$2 - 1,$yr);
		($author) = /author: ([^;]+)/;
		$state = "log";
		$log = '';
		next;
	    }
	    elsif (!defined($rev) && m/^revision (.*)$/) {
		$rev = $1;
		next;
	    }
	    else {
		$log = $log . $_;
	    }
	}
	if (/^===============/) {
	    $state = "start";
	    next;
	}
    }
    if ($. == 0) {
	fatal("500 Internal Error", 
	      "Failed to spawn GNU rlog on <em>'".join(", ", @files)."'</em><p>did you set the <b>\$ENV{PATH}</b> in your configuration file correctly ?");
    }
    close($fh);
}

sub readLog($;$) {
	my($fullname,$revision) = @_;
	my ($symnames, $head, $rev, $br, $brp, $branch, $branchrev);
	my $fh = do {local(*FH);};

	if (defined($revision)) {
	    $revision = "-r$revision";
	}
	else {
	    $revision = "";
	}

	undef %symrev;
	undef %revsym;
	undef @allrevisions;
	undef %date;
	undef %author;
	undef %state;
	undef %difflines;
	undef %log;

	print("Going to rlog '$fullname'\n") if ($verbose);
	if (! open($fh, "-|")) { # child
		if ($revision ne '') {
			exec("rlog",$revision,$fullname);
		}
		else {
			exec("rlog",$fullname);
		}
	}
	while (<$fh>) {
	    print if ($verbose);
	    if ($symnames) {
		if (/^\s+([^:]+):\s+([\d\.]+)/) {
		    $symrev{$1} = $2;
		}
		else {
		    $symnames = 0;
		}
	    }
	    elsif (/^head:\s+([\d\.]+)/) {
		$head = $1;
	    }
	    elsif (/^branch:\s+([\d\.]+)/) {
		$curbranch = $1;
	    }
	    elsif (/^symbolic names/) {
		$symnames = 1;
	    }
	    elsif (/^-----/) {
		last;
	    }
	}
	($curbranch = $head) =~ s/\.\d+$// if (!defined($curbranch));

# each log entry is of the form:
# ----------------------------
# revision 3.7.1.1
# date: 1995/11/29 22:15:52;  author: fenner;  state: Exp;  lines: +5 -3
# log info
# ----------------------------
	logentry:
	while (!/^=========/) {
	    $_ = <$fh>;
	    last logentry if (!defined($_));	# EOF
	    print "R:", $_ if ($verbose);
	    if (/^revision ([\d\.]+)/) {
		$rev = $1;
		unshift(@allrevisions,$rev);
	    }
	    elsif (/^========/ || /^----------------------------$/) {
		next logentry;
	    }
	    else {
		# The rlog output is syntactically ambiguous.  We must
		# have guessed wrong about where the end of the last log
		# message was.
		# Since this is likely to happen when people put rlog output
		# in their commit messages, don't even bother keeping
		# these lines since we don't know what revision they go with
		# any more.
		next logentry;
#		&fatal("500 Internal Error","Error parsing RCS output: $_");
	    }
	    $_ = <$fh>;
	    print "D:", $_ if ($verbose);
	    if (m|^date:\s+(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);\s+author:\s+(\S+);\s+state:\s+(\S+);\s+(lines:\s+([0-9\s+-]+))?|) {
		my $yr = $1;
                # damn 2-digit year routines :-)
                if ($yr > 100) {
                    $yr -= 1900;
                }
		$date{$rev} = &Time::Local::timegm($6,$5,$4,$3,$2 - 1,$yr);
		$author{$rev} = $7;
		$state{$rev} = $8;
		$difflines{$rev} = $10;
	    }
	    else {
		&fatal("500 Internal Error", "Error parsing RCS output: $_");
	    }
	    line:
	    while (<$fh>) {
		print "L:", $_ if ($verbose);
		next line if (/^branches:\s/);
		last line if (/^----------------------------$/ || /^=========/);
		$log{$rev} .= $_;
	    }
	    print "E:", $_ if ($verbose);
	}
	close($fh);
	print "Done reading RCS file\n" if ($verbose);

	@revorder = reverse sort {revcmp($a,$b)} @allrevisions;
	print "Done sorting revisions",join(" ",@revorder),"\n" if ($verbose);

#
# HEAD is an artificial tag which is simply the highest tag number on the main
# branch, unless there is a branch tag in the RCS file in which case it's the
# highest revision on that branch.  Find it by looking through @revorder; it
# is the first commit listed on the appropriate branch.
# This is not neccesary the same revision as marked as head in the RCS file.
	my $headrev = $curbranch || "1";
	($symrev{"MAIN"} = $headrev) =~ s/(\.?)(\d+)$/${1}0.$2/;
	revision:
	foreach $rev (@revorder) {
	    if ($rev =~ /^(\S*)\.\d+$/ && $headrev eq $1) {
		$symrev{"HEAD"} = $rev;
		last revision;
	    }
	}
	($symrev{"HEAD"} = $headrev) =~ s/\.\d+$//
            if (!defined($symrev{"HEAD"}));
	print "Done finding HEAD\n" if ($verbose);
#
# Now that we know all of the revision numbers, we can associate
# absolute revision numbers with all of the symbolic names, and
# pass them to the form so that the same association doesn't have
# to be built then.
#
	undef @branchnames;
	undef %branchpoint;
	undef $sel;

	foreach (reverse sort keys %symrev) {
	    $rev = $symrev{$_};
	    if ($rev =~ /^((.*)\.)0\.(\d+)$/) {
		push(@branchnames, $_);
		#
		# A revision number of A.B.0.D really translates into
		# "the highest current revision on branch A.B.D".
		#
		# If there is no branch A.B.D, then it translates into
		# the head A.B .
		#
		# This reasoning also applies to the main branch A.B,
		# with the branch number 0.A, with the exception that
		# it has no head to translate to if there is nothing on
		# the branch, but I guess this can never happen?
		#
		# Since some stupid people actually import/check in
		# files with version 0.X we assume that the above cannot
		# happen, and regard 0.X(.*) as a revision and not a branch.
		#
		$head = defined($2) ? $2 : "";
		$branch = $3;
		$branchrev = $head . ($head ne "" ? "." : "") . $branch;
		my $regex;
		($regex = $branchrev) =~ s/\./\\./g;
		$rev = $head;

		revision:
		foreach my $r (@revorder) {
		    if ($r =~ /^${regex}\b/) {
			$rev = $branchrev;
			last revision;
		    }
		}
		next if ($rev eq "");
		if ($rev ne $head && $head ne "") {
		    $branchpoint{$head} .= ", " if ($branchpoint{$head});
		    $branchpoint{$head} .= $_;
		}
	    }
	    $revsym{$rev} .= ", " if ($revsym{$rev});
	    $revsym{$rev} .= $_;
	    $sel .= "<OPTION VALUE=\"${rev}:${_}\">$_\n";
	}
	print "Done associating revisions with branches\n" if ($verbose);

	my ($onlyonbranch, $onlybranchpoint);
	if ($onlyonbranch = $input{'only_with_tag'}) {
	    $onlyonbranch = $symrev{$onlyonbranch};
	    if ($onlyonbranch =~ s/\.0\././) {
		($onlybranchpoint = $onlyonbranch) =~ s/\.\d+$//;
	    }
            else {
		$onlybranchpoint = $onlyonbranch;
	    }
	    if (!defined($onlyonbranch) || $onlybranchpoint eq "") {
		fatal("404 Tag not found","Tag $input{'only_with_tag'} not defined");
	    }
	}

	undef @revisions;

	foreach (@allrevisions) {
	    ($br = $_) =~ s/\.\d+$//;
	    ($brp = $br) =~ s/\.\d+$//;
	    next if ($onlyonbranch && $br ne $onlyonbranch &&
					$_ ne $onlybranchpoint);
	    unshift(@revisions,$_);
	}

	if ($logsort eq "date") {
	    # Sort the revisions in commit order an secondary sort on revision
	    # (secondary sort needed for imported sources, or the first main
	    # revision gets before the same revision on the 1.1.1 branch)
	    @revdisplayorder = sort {$date{$b} <=> $date{$a} || -revcmp($a, $b)} @revisions;
	}
        elsif ($logsort eq "rev") {
	    # Sort the revisions in revision order, highest first
	    @revdisplayorder = reverse sort {revcmp($a,$b)} @revisions;
	}
        else {
	    # No sorting. Present in the same order as rlog / cvs log
	    @revdisplayorder = @revisions;
	}

}

sub printLog($;$) {
	my ($link, $br, $brp);
	($_,$link) = @_;
	($br = $_) =~ s/\.\d+$//;
	($brp = $br) =~ s/\.?\d+$//;
	my ($isDead, $prev);

	$link = 1 if (!defined($link));
	$isDead = ($state{$_} eq "dead");

	if ($link && !$isDead) {
	    my ($filename);
	    ($filename = $where) =~ s/^.*\///;
	    my ($fileurl) = urlencode($filename);
	    print "<a NAME=\"rev$_\"></a>";
	    if (defined($revsym{$_})) {
		foreach my $sym (split(", ", $revsym{$_})) {
		    print "<a NAME=\"$sym\"></a>";
		}
	    }
	    if (defined($revsym{$br}) && $revsym{$br} && !defined($nameprinted{$br})) {
		foreach my $sym (split(", ", $revsym{$br})) {
		    print "<a NAME=\"$sym\"></a>";
		}
		$nameprinted{$br} = 1;
	    }
	    print "\n Revision ";
	    &download_link($fileurl, $_, $_,
		$defaultViewable ? "text/x-cvsweb-markup" : undef);
	    if ($defaultViewable) {
		print " / ";
		&download_link($fileurl, $_, "(download)", $mimetype);
	    }
	    if (not $defaultTextPlain) {
		print " / ";
		&download_link($fileurl, $_, "(as text)", 
			   "text/plain");
	    }
	    if (!$defaultViewable) {
		print " / ";
		&download_link($fileurl, $_, "(view)", "text/x-cvsweb-markup");
	    }
	    if ($allow_annotate) {
		print " - <a href=\"" . $scriptname . "/" . urlencode($where) . "?annotate=$_$barequery\">";
		print "annotate</a>";
	    }
	    # Plus a select link if enabled, and this version isn't selected
	    if ($allow_version_select) {
		if ((!defined($input{"r1"}) || $input{"r1"} ne $_)) {
		    print " - <A HREF=\"${scriptwhere}?r1=$_$barequery" .
			"\">[select for diffs]</A>\n";
		}
		else {
		    print " - <b>[selected]</b>";
		}
	    }
	}
	else {
	    print "Revision <B>$_</B>";
	}
	if (/^1\.1\.1\.\d+$/) {
	    print " <i>(vendor branch)</i>";
	}
	if (defined @mytz) {
	    my ($est) = $mytz[(localtime($date{$_}))[8]];
	    print ", <i>" . scalar localtime($date{$_}) . " $est</i> (";
	} else {
	    print ", <i>" . scalar gmtime($date{$_}) . " UTC</i> (";
	}
	print readableTime(time() - $date{$_},1) . " ago)";
	print " by ";
	print "<i>" . $author{$_} . "</i>\n";
	print "<BR>Branch: <b>",$link?link_tags($revsym{$br}):$revsym{$br},"</b>\n"
	    if ($revsym{$br});
	print "<BR>CVS Tags: <b>",$link?link_tags($revsym{$_}):$revsym{$_},"</b>"
	    if ($revsym{$_});
	print "<BR>Branch point for: <b>",$link?link_tags($branchpoint{$_}):$branchpoint{$_},"</b>\n"
	    if ($branchpoint{$_});
	# Find the previous revision
	my @prevrev = split(/\./, $_);
	do {
	    if (--$prevrev[$#prevrev] <= 0) {
		# If it was X.Y.Z.1, just make it X.Y
		pop(@prevrev);
		pop(@prevrev);
	    }
	    $prev = join(".", @prevrev);
	} until (defined($date{$prev}) || $prev eq "");
	if ($prev ne "") {
	    if ($difflines{$_}) {
		print "<BR>Changes since <b>$prev: $difflines{$_} lines</b>";
	    }
	}
	if ($isDead) {
	    print "<BR><B><I>FILE REMOVED</I></B>\n";
	}
	elsif ($link) {
	    my %diffrev = ();
	    $diffrev{$_} = 1;
	    $diffrev{""} = 1;
	    print "<BR>Diff";
	    #
	    # Offer diff to previous revision
	    if ($prev) {
		$diffrev{$prev} = 1;
		print " to previous <A HREF=\"${scriptwhere}.diff?r1=$prev";
		print "&amp;r2=$_" . $barequery . "\">$prev</A>\n";
		if (!$hr_default) { # offer a human readable version if not default
		    print "(<A HREF=\"${scriptwhere}.diff?r1=$prev";
		    print "&amp;r2=$_" . $barequery . "&amp;f=h\">colored</A>)\n";
		}
	    }
	    #
	    # Plus, if it's on a branch, and it's not a vendor branch,
	    # offer a diff with the branch point.
	    if ($revsym{$brp} && !/^1\.1\.1\.\d+$/ && !defined($diffrev{$brp})) {
		print " to branchpoint <A HREF=\"${scriptwhere}.diff?r1=$brp";
		print "&amp;r2=$_" . $barequery . "\">$brp</A>\n";
		if (!$hr_default) { # offer a human readable version if not default
		print "(<A HREF=\"${scriptwhere}.diff?r1=$brp";
		print "&amp;r2=$_" . $barequery . "&amp;f=h\">colored</A>)\n";
		}
	    }
	    #
	    # Plus, if it's on a branch, and it's not a vendor branch,
	    # offer to diff with the next revision of the higher branch.
	    # (e.g. change gets committed and then brought
	    # over to -stable)
	    if (/^\d+\.\d+\.\d+/ && !/^1\.1\.1\.\d+$/) {
		my ($i,$nextmain);
		for ($i = 0; $i < $#revorder && $revorder[$i] ne $_; $i++){}
		my (@tmp2) = split(/\./, $_);
		for ($nextmain = ""; $i > 0; $i--) {
		    my ($next) = $revorder[$i-1];
		    my (@tmp1) = split(/\./, $next);
		    if ($#tmp1 < $#tmp2) {
			$nextmain = $next;
			last;
		    }
		    # Only the highest version on a branch should have
		    # a diff for the "next main".
		    last if ($#tmp1 == $#tmp2 && join(".",@tmp1[0..$#tmp1-1])
			     eq join(".",@tmp2[0..$#tmp1-1]));
		}
		if (!defined($diffrev{$nextmain})) {
		    $diffrev{$nextmain} = 1;
		    print " next main <A HREF=\"${scriptwhere}.diff?r1=$nextmain";
		    print "&amp;r2=$_" . $barequery .
			"\">$nextmain</A>\n";
		    if (!$hr_default) { # offer a human readable version if not default
			print "(<A HREF=\"${scriptwhere}.diff?r1=$nextmain";
			print "&amp;r2=$_" . $barequery .
			    "&amp;f=h\">colored</A>)\n";
		    }
		}
	    }
	    # Plus if user has selected only r1, then present a link
	    # to make a diff to that revision
	    if (defined($input{"r1"}) && !defined($diffrev{$input{"r1"}})) {
		$diffrev{$input{"r1"}} = 1;
		print " to selected <A HREF=\"${scriptwhere}.diff?"
			. "r1=$input{'r1'}&amp;r2=$_" . $barequery
			. "\">$input{'r1'}</A>\n";
		if (!$hr_default) { # offer a human readable version if not default
		    print "(<A HREF=\"${scriptwhere}.diff?r1=$input{'r1'}";
		    print "&amp;r2=$_" . $barequery .
			"&amp;f=h\">colored</A>)\n";

		}
	    }
	}
	print "<PRE>\n";
	print &htmlify($log{$_});
	print "</PRE>\n";
}

sub doLog($) {
	my($fullname) = @_;
	my ($diffrev, $upwhere, $filename, $backurl);
	
	readLog($fullname);

        html_header("CVS log for $where");
	($upwhere = $where) =~ s|(Attic/)?[^/]+$||;
        ($filename = $where) =~ s|^.*/||;
        $backurl = $scriptname . "/" . urlencode($upwhere) . $query;
	print &link($backicon, "$backurl#$filename"),
              " <b>Up to ", &clickablePath($upwhere, 1), "</b><p>\n";
	print "<A HREF=\"#diff\">Request diff between arbitrary revisions</A>\n";
	print "<HR NOSHADE>\n";
	if ($curbranch) {
	    print "Default branch: ";
	    print ($revsym{$curbranch} || $curbranch);
	}
	else {
	    print "No default branch";
	}
	print "<BR>\n";
	if ($input{only_with_tag}) {
	    print "Current tag: $input{only_with_tag}<BR>\n";
	}

	undef %nameprinted;

	for (my $i = 0; $i <= $#revdisplayorder; $i++) {
	    print "<HR size=1 NOSHADE>";
	    printLog($revdisplayorder[$i]);
	}

        print "<HR NOSHADE>";
	print "<A NAME=diff>\n";
	print "This form allows you to request diff's between any two\n";
	print "revisions of a file.  You may select a symbolic revision\n";
	print "name using the selection box or you may type in a numeric\n";
	print "name using the type-in text box.\n";
	print "</A><P>\n";
	print "<FORM METHOD=\"GET\" ACTION=\"${scriptwhere}.diff\" NAME=\"diff_select\">\n";
        foreach (@stickyvars) {
	    print "<INPUT TYPE=HIDDEN NAME=\"$_\" VALUE=\"$input{$_}\">\n"
		if (defined($input{$_})
		    && ((!defined($DEFAULTVALUE{$_})
		         || $input{$_} ne $DEFAULTVALUE{$_})
		        && $input{$_} ne ""));
	}
	print "Diffs between \n";
	print "<SELECT NAME=\"r1\">\n";
	print "<OPTION VALUE=\"text\" SELECTED>Use Text Field\n";
	print $sel;
	print "</SELECT>\n";
	$diffrev = $revdisplayorder[$#revdisplayorder];
	$diffrev = $input{"r1"} if (defined($input{"r1"}));
	print "<INPUT TYPE=\"TEXT\" SIZE=\"$inputTextSize\" NAME=\"tr1\" VALUE=\"$diffrev\" onChange='document.diff_select.r1.selectedIndex=0'>\n";
	print " and \n";
	print "<SELECT NAME=\"r2\">\n";
	print "<OPTION VALUE=\"text\" SELECTED>Use Text Field\n";
	print $sel;
	print "</SELECT>\n";
	$diffrev = $revdisplayorder[0];
	$diffrev = $input{"r2"} if (defined($input{"r2"}));
	print "<INPUT TYPE=\"TEXT\" SIZE=\"$inputTextSize\" NAME=\"tr2\" VALUE=\"$diffrev\" onChange='document.diff_select.r2.selectedIndex=0'>\n";
        print "<BR>Type of Diff should be a&nbsp;";
	printDiffSelect(0);
	print "<INPUT TYPE=SUBMIT VALUE=\"  Get Diffs  \">\n";
	print "</FORM>\n";
	print "<HR noshade>\n";
        if (@branchnames) {
	    print "<A name=branch></A>\n";
	    print "<FORM METHOD=\"GET\" ACTION=\"$scriptwhere\">\n";
	    foreach (@stickyvars) {
		next if ($_ eq "only_with_tag");
		next if ($_ eq "logsort");
		print "<INPUT TYPE=HIDDEN NAME=\"$_\" VALUE=\"$input{$_}\">\n"
		    if (defined($input{$_})
		        && (!defined($DEFAULTVALUE{$_})
			    || $input{$_} ne $DEFAULTVALUE{$_})
			&& $input{$_} ne "");
	    }
	    print "View only Branch: \n";
	    print "<SELECT NAME=\"only_with_tag\"";
	    print " onchange=\"submit()\"" if ($use_java_script);
	    print ">\n";
	    print "<OPTION VALUE=\"\"";
	    print " SELECTED" if (defined($input{"only_with_tag"}) &&
		$input{"only_with_tag"} eq "");
	    print ">Show all branches\n";
	    foreach (reverse sort @branchnames) {
		print "<OPTION";
		print " SELECTED" if (defined($input{"only_with_tag"})
			&& $input{"only_with_tag"} eq $_);
		print ">${_}\n";
	    }
	    print "</SELECT>\n";
	    print "<INPUT TYPE=SUBMIT VALUE=\"  View Branch  \">\n";
	    print "</FORM>\n";
	}
	print "<A name=logsort></A>\n";
	print "<FORM METHOD=\"GET\" ACTION=\"$scriptwhere\">\n";
	foreach (@stickyvars) {
	    next if ($_ eq "only_with_tag");
	    next if ($_ eq "logsort");
	    print "<INPUT TYPE=HIDDEN NAME=\"$_\" VALUE=\"$input{$_}\">\n"
		if (defined($input{$_})
		    && (!defined($DEFAULTVALUE{$_})
		        || $input{$_} ne $DEFAULTVALUE{$_})
		    && $input{$_} ne "");
	}
	print "Sort log by: \n";
	print "<SELECT NAME=\"logsort\"";
	print " onchange=\"submit()\"" if ($use_java_script);
	print ">\n";
	print "<OPTION VALUE=cvs",$logsort eq "cvs" ? " SELECTED" : "", ">Not sorted";
	print "<OPTION VALUE=date",$logsort eq "date" ? " SELECTED" : "", ">Commit date";
	print "<OPTION VALUE=rev",$logsort eq "rev" ? " SELECTED" : "", ">Revision";
	print "</SELECT>\n";
	print "<INPUT TYPE=SUBMIT VALUE=\"  Sort  \">\n";
	print "</FORM>\n";
        print &html_footer;
	print "</BODY></HTML>\n";
}

sub flush_diff_rows ($$$$)
{
    my $j;
    my ($leftColRef,$rightColRef,$leftRow,$rightRow) = @_;

    if (!defined($state)) {
	return;
    }

    if ($state eq "PreChangeRemove") {          # we just got remove-lines before
      for ($j = 0 ; $j < $leftRow; $j++) {
          print  "<tr><td bgcolor=\"$diffcolorRemove\">@$leftColRef[$j]</td>";
          print  "<td bgcolor=\"$diffcolorEmpty\">&nbsp;</td></tr>\n";
      }
    }
    elsif ($state eq "PreChange") {             # state eq "PreChange"
      # we got removes with subsequent adds
      for ($j = 0; $j < $leftRow || $j < $rightRow ; $j++) {  # dump out both cols
          print  "<tr>";
          if ($j < $leftRow) {
	      print  "<td bgcolor=\"$diffcolorChange\">@$leftColRef[$j]</td>";
	  }
          else {
	      print  "<td bgcolor=\"$diffcolorDarkChange\">&nbsp;</td>";
	  }
          if ($j < $rightRow) {
	      print  "<td bgcolor=\"$diffcolorChange\">@$rightColRef[$j]</td>";
	  }
          else {
	      print  "<td bgcolor=\"$diffcolorDarkChange\">&nbsp;</td>";
	  }
          print  "</tr>\n";
      }
    }
}

##
# Function to generate Human readable diff-files
# human_readable_diff(String revision_to_return_to);
##
sub human_readable_diff($){
  my ($i,$difftxt, $where_nd, $filename, $pathname, $scriptwhere_nd);
  my ($fh, $rev) = @_;
  my ($date1, $date2, $r1d, $r2d, $r1r, $r2r, $rev1, $rev2, $sym1, $sym2);
  my (@rightCol, @leftCol);

  ($where_nd = $where) =~ s/.diff$//;
  ($filename = $where_nd) =~ s/^.*\///;
  ($pathname = $where_nd) =~ s/(Attic\/)?[^\/]*$//;
  ($scriptwhere_nd = $scriptwhere) =~ s/.diff$//;

  navigateHeader ($scriptwhere_nd, $pathname, $filename, $rev, "diff");

  # Read header to pick up read revision and date, if possible
  while (<$fh>) {
      ($r1d,$r1r) = /\t(.*)\t(.*)$/ if (/^--- /);
      ($r2d,$r2r) = /\t(.*)\t(.*)$/ if (/^\+\+\+ /);
      last if (/^\+\+\+ /);
  }
  if (defined($r1r) && $r1r =~ /^(\d+\.)+\d+$/) {
    $rev1 = $r1r;
    $date1 = $r1d;
  }
  if (defined($r2r) && $r2r =~ /^(\d+\.)+\d+$/) {
    $rev2 = $r2r;
    $date2 = $r2d;
  }
  
  print "<h3 align=center>Diff for /$where_nd between version $rev1 and $rev2</h3>\n";

  print "<table border=0 cellspacing=0 cellpadding=0 width=\"100%\">\n";
  print "<tr bgcolor=\"#ffffff\">\n";
  print "<th width=\"50%\" valign=TOP>";
  print "version $rev1";
  print ", $date1" if (defined($date1));
  print "<br>Tag: $sym1\n" if ($sym1);
  print "</th>\n";
  print "<th width=\"50%\" valign=TOP>";
  print "version $rev2";
  print ", $date2" if (defined($date2));
  print "<br>Tag: $sym2\n" if ($sym1);
  print "</th>\n";

  my $fs = "<font face=\"$difffontface\" size=\"$difffontsize\">";
  my $fe = "</font>";

  my $leftRow = 0;
  my $rightRow = 0;
  my ($oldline, $newline, $funname, $diffcode, $rest);

  # Process diff text
  # The diffrows are could make excellent use of
  # cascading style sheets because we've to set the
  # font and color for each row. anyone ...?
  ####
  while (<$fh>) {
      $difftxt = $_;
      
      if ($difftxt =~ /^@@/) {
	  ($oldline,$newline,$funname) = $difftxt =~ /@@ \-([0-9]+).*\+([0-9]+).*@@(.*)/;
          print  "<tr bgcolor=\"$diffcolorHeading\"><td width=\"50%\">";
	  print  "<table width=\"100%\" border=1 cellpadding=5><tr><td><b>Line $oldline</b>";
	  print  "&nbsp;<font size=-1>$funname</font></td></tr></table>";
          print  "</td><td width=\"50%\">";
	  print  "<table width=\"100%\" border=1 cellpadding=5><tr><td><b>Line $newline</b>";
	  print  "&nbsp;<font size=-1>$funname</font></td></tr></table>";
	  print  "</td>\n";
	  $state = "dump";
	  $leftRow = 0;
	  $rightRow = 0;
      }
      else {
	  ($diffcode,$rest) = $difftxt =~ /^([-+ ])(.*)/;
	  $_ = spacedHtmlText ($rest);

	  # Add fontface, size
	  $_ = "$fs&nbsp;$_$fe";
	  
	  #########
	  # little state machine to parse unified-diff output (Hen, zeller@think.de)
	  # in order to get some nice 'ediff'-mode output
	  # states:
	  #  "dump"             - just dump the value
	  #  "PreChangeRemove"  - we began with '-' .. so this could be the start of a 'change' area or just remove
	  #  "PreChange"        - okey, we got several '-' lines and moved to '+' lines -> this is a change block
	  ##########

	  if ($diffcode eq '+') {
	      if ($state eq "dump") {  # 'change' never begins with '+': just dump out value
		  print  "<tr><td bgcolor=\"$diffcolorEmpty\">&nbsp;</td><td bgcolor=\"$diffcolorAdd\">$_</td></tr>\n";
	      }
	      else {                   # we got minus before
		  $state = "PreChange";
		  $rightCol[$rightRow++] = $_;
	      }
	  } 
	  elsif ($diffcode eq '-') {
	      $state = "PreChangeRemove";
	      $leftCol[$leftRow++] = $_;
        }
        else {  # empty diffcode
            flush_diff_rows \@leftCol, \@rightCol, $leftRow, $rightRow;
	      print  "<tr><td>$_</td><td>$_</td></tr>\n";
	      $state = "dump";
	      $leftRow = 0;
	      $rightRow = 0;
	  }
      }
  }
  flush_diff_rows \@leftCol, \@rightCol, $leftRow, $rightRow;

  # state is empty if we didn't have any change
  if (!$state) {
      print "<tr><td colspan=2>&nbsp;</td></tr>";
      print "<tr bgcolor=\"$diffcolorEmpty\" >";
      print "<td colspan=2 align=center><b>- No viewable Change -</b></td></tr>";
  }
  print  "</table>";
  close($fh);

  print "<br><hr noshade width=\"100%\">\n";

  print "<table border=0>";

  print "<tr><td>";
  # print legend
  print "<table border=1><tr><td>";
  print  "Legend:<br><table border=0 cellspacing=0 cellpadding=1>\n";
  print  "<tr><td align=center bgcolor=\"$diffcolorRemove\">Removed from v.$rev1</td><td bgcolor=\"$diffcolorEmpty\">&nbsp;</td></tr>";
  print  "<tr bgcolor=\"$diffcolorChange\"><td align=center colspan=2>changed lines</td></tr>";
  print  "<tr><td bgcolor=\"$diffcolorEmpty\">&nbsp;</td><td align=center bgcolor=\"$diffcolorAdd\">Added in v.$rev2</td></tr>";
  print  "</table></td></tr></table>\n";

  print "<td>";
  # Print format selector
  print "<FORM METHOD=\"GET\" ACTION=\"${scriptwhere}\">\n";
  foreach my $var (keys %input) {
    next if ($var eq "f");
    next if (defined($DEFAULTVALUE{$var})
	     && $DEFAULTVALUE{$var} eq $input{$var});
    print "<INPUT TYPE=HIDDEN NAME=\"",urlencode($var),"\" VALUE=\"",
	    urlencode($input{$var}),"\">\n";
  }
  printDiffSelect($use_java_script);
  print "<INPUT TYPE=SUBMIT VALUE=\"Show\">\n";
  print "</FORM>\n";
  print "</td>";

  print "</tr></table>";
}

sub navigateHeader ($$$$$) {
    my ($swhere,$path,$filename,$rev,$title) = @_;
    $swhere = "" if ($swhere eq $scriptwhere);
    $swhere = urlencode($filename) if ($swhere eq "");
    print "<\!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";
    print "<HTML>\n<HEAD>\n";
    local $charset = $config{'cvsenc'} ? $config{'cvsenc'} :
		      $current_lang_info->{'charset'} ?
		      $current_lang_info->{'charset'} : "iso-8859-1";
    if ($charset) {
	print "<meta http-equiv=\"Content-Type\" content=\"text/html; Charset=$charset\">\n";
	}
    print '<!-- hennerik CVSweb $Revision: 1.112 $ -->';
    print "\n<TITLE>$path$filename - $title - $rev</TITLE></HEAD>\n";
    print  "<BODY BGCOLOR=\"$backcolor\">\n";
    print "<table width=\"100%\" border=0 cellspacing=0 cellpadding=1 bgcolor=\"$navigationHeaderColor\">";
    print "<tr valign=bottom><td>";
    print  "<a href=\"$swhere$query#rev$rev\">$backicon";
    print "</a> <b>Return to ", &link("$filename","$swhere$query#rev$rev")," CVS log";
    print "</b> $fileicon</td>";
    
    print "<td align=right>$diricon <b>Up to ", &clickablePath($path, 1), "</b></td>";
    print "</tr></table>";
}

sub plural_write ($$)
{
    my ($num,$text) = @_;
    if ($num != 1) {
	$text = $text . "s";
    }
    if ($num > 0) {
	return $num . " " . $text;
    }
    else {
	return "";
    }
}

##
# print readable timestamp in terms of
# '..time ago'
# H. Zeller <zeller@think.de>
##
sub readableTime($$) {
    my ($i, $break, $retval);
    my ($secs,$long) = @_;

    # this function works correct for time >= 2 seconds
    if ($secs < 2) {
	return "very little time";
    }

    my %desc = (1 , 'second',
		   60, 'minute',
		   3600, 'hour',
		   86400, 'day',
		   604800, 'week',
		   2628000, 'month',
		   31536000, 'year');
    my @breaks = sort {$a <=> $b} keys %desc;
    $i = 0;
    while ($i <= $#breaks && $secs >= 2 * $breaks[$i]) { 
	$i++;
    }
    $i--;
    $break = $breaks[$i];
    $retval = plural_write(int ($secs / $break), $desc{"$break"});

    if ($long == 1 && $i > 0) {
	my $rest = $secs % $break;
	$i--;
	$break = $breaks[$i];
	my $resttime = plural_write(int ($rest / $break), 
				$desc{"$break"});
	if ($resttime) {
	    $retval = $retval . ", " . $resttime;
	}
    }

    return $retval;
}

##
# clickablePath(String pathname, boolean last_item_clickable)
#
# returns a html-ified path whereas each directory is a link for
# faster navigation. last_item_clickable controls whether the
# basename (last directory/file) is a link as well
##
sub clickablePath($$) {
    my ($pathname,$clickLast) = @_;    
    my $retval = '';
    
    if ($pathname eq '/') {
	# this should never happen - chooseCVSRoot() is
	# intended to do this
	$retval = "[$cvstree]";
    }
    else {
	$retval = $retval . " <a href=\"${scriptname}/${query}#dirlist\">[$cvstree]</a>";
	my $wherepath = '';
	my ($lastslash) = $pathname =~ m|/$|;
	foreach (split(/\//, $pathname)) {
	    $retval = $retval . " / ";
	    $wherepath = $wherepath . '/' . $_;
	    my ($last) = "$wherepath/" eq "/$pathname"
		|| "$wherepath" eq "/$pathname";
	    if ($clickLast || !$last) {
		$retval = $retval . "<a href=\"${scriptname}"
		    . urlencode($wherepath)
		    . (!$last || $lastslash ? '/' : '')
		    . ${query}
	            . (!$last || $lastslash ? "#dirlist" : "")
		    . "\">$_</a>";
	    }
	    else { # do not make a link to the current dir
		$retval = $retval .  $_;
	    }
	}
    }
    return $retval;
}

sub chooseCVSRoot() {
    my @foo;
    foreach (sort keys %CVSROOT) {
	if (-d $CVSROOT{$_}) {
	    push(@foo, $_);
	}
    }
    if (@foo > 1) {
	my ($k);
	print "<form method=\"GET\" action=\"${scriptwhere}\">\n";
	foreach $k (keys %input) {
	    print "<input type=hidden NAME=$k VALUE=$input{$k}>\n" 
		if ($input{$k}) && ($k ne "cvsroot");
	}
	# Form-Elements look wierd in Netscape if the background
	# isn't gray and the form elements are not placed
	# within a table ...
	print "<table><tr>";
	print "<td>CVS Root:</td>";
	print "<td>\n<select name=\"cvsroot\"";
	print " onchange=\"submit()\"" if ($use_java_script);
	print ">\n";
	foreach $k (@foo) {
	    print "<option value=\"$k\"";
	    print " selected" if ("$k" eq "$cvstree");
	    print ">" . ($CVSROOTdescr{"$k"} ? $CVSROOTdescr{"$k"} :
	    		$k). "</option>\n";
	}
	print "</select>\n</td>";
	print "<td><input type=submit value=\"Go\"></td>";
	print "</tr></table></form>";
    }
    else {
	# no choice ..
	print "CVS Root: <b>[$cvstree]</b>";
    }
}

sub chooseMirror() {
    my ($mirror,$moremirrors);
    $moremirrors = 0;
    # This code comes from the original BSD-cvsweb
    # and may not be useful for your site; If you don't
    # set %MIRRORS this won't show up, anyway
    #
    # Should perhaps exlude the current site somehow.. 
    if (keys %MIRRORS) {
	print "\nThis cvsweb is mirrored in:\n";
	foreach $mirror (keys %MIRRORS) {
	    print ", " if ($moremirrors);
	    print qq(<a href="$MIRRORS{$mirror}">$mirror</A>\n);
	    $moremirrors = 1;
	}
	print "<p>\n";
    }
}

sub fileSortCmp() {
    my ($comp) = 0;
    my ($c,$d,$af,$bf);

    ($af = $a) =~ s/,v$//;
    ($bf = $b) =~ s/,v$//;
    my ($rev1,$date1,$log1,$author1,$filename1) = @{$fileinfo{$af}}
        if (defined($fileinfo{$af}));
    my ($rev2,$date2,$log2,$author2,$filename2) = @{$fileinfo{$bf}}
        if (defined($fileinfo{$bf}));

    if (defined($filename1) && defined($filename2) && $af eq $filename1 && $bf eq $filename2) {
	# Two files
	$comp = -revcmp($rev1, $rev2) if ($byrev && $rev1 && $rev2);
	$comp = ($date2 <=> $date1) if ($bydate && $date1 && $date2);
	$comp = ($log1 cmp $log2) if ($bylog && $log1 && $log2);
	$comp = ($author1 cmp $author2) if ($byauthor && $author1 && $author2);
    }
    if ($comp == 0) {
	# Directories first, then sorted on name if no other sort critera
	# available.
	my $ad = ((-d "$fullname/$a")?"D":"F");
	my $bd = ((-d "$fullname/$b")?"D":"F");
	($c=$a) =~ s|.*/||;
	($d=$b) =~ s|.*/||;
	$comp = ("$ad$c" cmp "$bd$d");
    }
    return $comp;
}

# make A url for downloading
sub download_url($$$) {
    my ($url,$revision,$mimetype) = @_;

    $revision =~ s/\.0\././;

    if (defined($checkout_magic)
	&& (!defined($mimetype) || $mimetype ne "text/x-cvsweb-markup")) {
	my ($path);
	($path = $where) =~ s|/[^/]*$|/|;
	$url = "$scriptname/$checkoutMagic/${path}$url";
    }
    $url .= "?rev=$revision";
    $url .= "&amp;content-type=$mimetype" if (defined($mimetype));

    return $url;
}

# Presents a link to download the 
# selected revision
sub download_link($$$$) {
    my ($url,$revision,$textlink,$mimetype) = @_;
    my ($fullurl) = download_url($url,$revision,$mimetype);
    my ($paren) = $textlink =~ /^\(/;
    $textlink =~ s/^\(// if ($paren);
    $textlink =~ s/\)$// if ($paren);
    print "(" if ($paren);
    print "<A HREF=\"$fullurl";
    print $barequery;
    print "\"";
    if ($open_extern_window && (!defined($mimetype) || $mimetype ne "text/x-cvsweb-markup")) {
	print " target=\"cvs_checkout\"";
	# we should have
	#   'if (document.cvswin==null) document.cvswin=window.open(...'
	# in order to allow the user to resize the window; otherwise
	# the user may resize the window, but on next checkout - zap -
	# its original (configured s. cvsweb.conf) size is back again
	# .. annoying (if $extern_window_(width|height) is defined)
	# but this if (..) solution is far from perfect
	# what we need to do as well is
	# 1) save cvswin in an invisible frame that always exists
	#    (document.cvswin will be void on next load)
	# 2) on close of the cvs_checkout - window set the cvswin
	#    variable to 'null' again - so that it will be
	#    reopenend with the configured size
	# anyone a JavaScript programmer ?
	# .. so here without if (..):
	# currently, the best way is to comment out the size parameters
	# ($extern_window...) in cvsweb.conf.
	if ($use_java_script) {
	    print " onClick=\"window.open('$fullurl','cvs_checkout',";
	    print "'resizeable,scrollbars";
	    print ",status,toolbar" if (defined($mimetype)
	        && $mimetype eq "text/html");
	    print ",width=$extern_window_width" if (defined($extern_window_width));
	    print ",height=$extern_window_height" if (defined($extern_window_height));
	    print"');\"";
	}
    }
    print "><b>$textlink</b></A>";
    print ")" if ($paren);
}

# Returns a Query string with the
# specified parameter toggled
sub toggleQuery($$) {
    my ($toggle,$value) = @_;
    my ($newquery,$var);
    my (%vars);
    %vars = %input;
    if (defined($value)) {
	$vars{$toggle} = $value;
    }
    else {
	$vars{$toggle} = $vars{$toggle} ? 0 : 1;
    }
    # Build a new query of non-default paramenters
    $newquery = "";
    foreach $var (@stickyvars) {
	my ($value) = defined($vars{$var}) ? $vars{$var} : "";
	my ($default) = defined($DEFAULTVALUE{$var}) ? $DEFAULTVALUE{$var} : "";
	if ($value ne $default) {
	    $newquery .= "&amp;" if ($newquery ne "");
	    $newquery .= urlencode($var) . "=" . urlencode($value);
	}
    }
    if ($newquery) {
	return '?' . $newquery;
    }
    return "";
}

sub urlencode($) {
    my ($in) = @_;
    my ($out);
    ($out = $in) =~ s/([\000-+{-\377])/sprintf("%%%02x", ord($1))/ge;
    return $out;
}

sub http_header(;$) {
    my $content_type = shift || "text/html";
    my $is_mod_perl = defined($ENV{'MOD_PERL'});
    if (defined($moddate)) {
	if ($is_mod_perl) {
	    Apache->request->header_out("Last-Modified" => scalar gmtime($moddate) . " GMT");
	}
	else {
	    print "Last-Modified: " . scalar gmtime($moddate) . " GMT\r\n";
	}
    }
    if ($is_mod_perl) {
	Apache->request->content_type($content_type);
    }
    else {
	    print "Content-type: $content_type\r\n";
    }
    if ($allow_compress && $maycompress) {
	if ($has_zlib || (defined($GZIPBIN) && open(GZIP, "|$GZIPBIN -1 -c"))) {
	    if ($is_mod_perl) {
		    Apache->request->content_encoding("x-gzip");
		    Apache->request->header_out(Vary => "Accept-Encoding");
		    Apache->request->send_http_header;
	    }
	    else {
		    print "Content-encoding: x-gzip\r\n";
		    print "Vary: Accept-Encoding\r\n";  #RFC 2068, 14.43
		    print "\r\n"; # Close headers
	    }
	    $| = 1; $| = 0; # Flush header output
	    if ($has_zlib) {
	    	tie *GZIP, __PACKAGE__, \*STDOUT;
	    }
	    select(GZIP);
	    $gzip_open = 1;
#	    print "<!-- gzipped -->" if ($content_type eq "text/html");
	}
	else {
	    if ($is_mod_perl) {
		    Apache->request->send_http_header;
	    }
	    else {
		    print "\r\n"; # Close headers
	    }
	    print "<font size=-1>Unable to find gzip binary in the \$PATH to compress output</font><br>";
	}
    }
    else {
	    if ($is_mod_perl) {
		    Apache->request->send_http_header;
	    }
	    else {
		    print "\r\n"; # Close headers
	    }
    }
}

sub html_header($) {
    &header($text{'cvsweb_title'}, "");
    print "<hr>\n";
    if (!&has_command("rlog")) {
	print "<p>",&text('cvsweb_ecmd', "<tt>rlog</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
    return;
}

sub html_footer() {
    print "<hr>\n";
    &footer("", $text{'index_return'});
    return undef;
}

sub link_tags($)
{
    my ($tags) = @_;
    my ($ret) = "";
    my ($fileurl,$filename);

    ($filename = $where) =~ s/^.*\///;
    $fileurl = urlencode($filename);

    foreach my $sym (split(", ", $tags)) {
	$ret .= ",\n" if ($ret ne "");
	$ret .= "<A HREF=\"$fileurl"
		. toggleQuery('only_with_tag',$sym) . "\">$sym</A>";
    }
    return $ret."\n";
}

#
# See if a module is listed in the config file's @HideModule list.
#
sub forbidden_module($) {
    my($module) = @_;
    return checkForbidden($module, @HideModules);
}

sub forbidden_file($) {
    my($file) = @_;
    $file =~ s|^.*/||;
    return checkForbidden($file, @DissallowRead);
}

sub checkForbidden($@) {
    my($item, @list) = @_;
    for (my $i=0; $i < @list; $i++) {
	return 1 if $item =~ $list[$i];
    }
    return 0;
}

# Close the GZIP handle remove the tie.

sub gzipclose() {
	if ($gzip_open) {
	    select(STDOUT);
	    close(GZIP);
	    untie *GZIP;
	    $gzip_open = 0;
	}
}

# implement a gzipped file handle via the Compress:Zlib compression
# library.

sub MAGIC1() { 0x1f }
sub MAGIC2() { 0x8b }
sub OSCODE() { 3    }

sub TIEHANDLE {
	my ($class, $out) = @_;
	my ($d) = Compress::Zlib::deflateInit(-Level => Compress::Zlib::Z_BEST_COMPRESSION(),
		-WindowBits => -Compress::Zlib::MAX_WBITS()) or return undef;
	my ($o) = {
		handle => $out,
		dh => $d,
		crc => 0,
		len => 0,
	};
	my ($header) = pack("c10", MAGIC1, MAGIC2, Compress::Zlib::Z_DEFLATED(), 0,0,0,0,0,0, OSCODE);
	print {$o->{handle}} $header;
	return bless($o, $class);
}

sub PRINT {
	my ($o) = shift;
	my ($buf) = join(defined $, ? $, : "",@_);
	my ($len) = length($buf);
	my ($compressed, $status) = $o->{dh}->deflate($buf);
	print {$o->{handle}} $compressed if defined($compressed);
	$o->{crc} = Compress::Zlib::crc32($buf, $o->{crc});
	$o->{len} += $len;
	return $len;
}

sub PRINTF {
	my ($o) = shift;
	my ($fmt) = shift;
	my ($buf) = sprintf($fmt, @_);
	my ($len) = length($buf);
	my ($compressed, $status) = $o->{dh}->deflate($buf);
	print {$o->{handle}} $compressed if defined($compressed);
	$o->{crc} = Compress::Zlib::crc32($buf, $o->{crc});
	$o->{len} += $len;
	return $len;
}

sub WRITE {
	my ($o, $buf, $len, $off) = @_;
	my ($compressed, $status) = $o->{dh}->deflate(substr($buf, 0, $len));
	print {$o->{handle}} $compressed if defined($compressed);
	$o->{crc} = Compress::Zlib::crc32(substr($buf, 0, $len), $o->{crc});
	$o->{len} += $len;
	return $len;
}

sub CLOSE {
	my ($o) = @_;
	return if !defined( $o->{dh});
	my ($buf) = $o->{dh}->flush();
	$buf .= pack("V V", $o->{crc}, $o->{len});
	print {$o->{handle}} $buf;
	undef $o->{dh};
}

sub DESTROY {
	my ($o) = @_;
	CLOSE($o);
}
   07070100000388000081a40000000000000002000000013d1fe2ea00002750000000200000000000000000000000000000001a00000003reloc/pserver/cvsweb.conf # -*-perl-*-
# Configuration of cvsweb.cgi, the
# CGI interface to CVS Repositories.
#
# (c) 1998-1999 H. Zeller    <zeller@think.de>
#     1999      H. Nordström <hno@hem.passagen.se>
#          based on work by Bill Fenner  <fenner@freebsd.org>
# $Id: cvsweb.conf,v 1.29 2001/07/23 09:14:52 hzeller Exp $
#
###

##############
# CVS Root
##############
# CVSweb can handle several CVS-Repositories
# at once. Enter a short symbolic names and the
# full path of these repositories here.
# NOTE that the symbolic names may not contain
# whitespaces.
# Note, that cvsweb.cgi currently needs to have physical access
# to the CVS repository so :pserver:someone@xyz.com:/data/cvsroot
# won't work!

# 'symbolic_name' 'path_to_the_actual_repository'
%CVSROOT = ( 'Root' => $config{'cvsroot'} );

# This tree is enabled by default when
# you enter the page
$cvstreedefault = 'Root';

##############
# Defaults for UserSettings
##############
%DEFAULTVALUE = (
      # sortby: File sort order
      #   file   Sort by filename
      #   rev    Sort by revision number
      #   date   Sort by commit date
      #   author Sort by author
      #   log    Sort by log message

      "sortby" => "file",

      # hideattic: Hide or show files in Attic
      #   1      Hide files in Attic
      #   0      Show files in Attic

      "hideattic" => "1",

      # logsort: Sort order for CVS logs
      #   date   Sort revisions by date
      #   rev    Sort revision by revision number
      #   cvs    Don't sort them. Same order as CVS/RCS shows them.

      "logsort" => "date",

      # f:	 Default diff format
      #   h      Human readable
      #   u      Unified diff
      #   c      Context diff
      #   s      Side by side
      "f" => "h",	  

      # hidecvsroot: Don't show the CVSROOT directory
      #   1      Hide CVSROOT directory
      #   0      Show CVSROOT directory
      "hidecvsroot" => "0",

      # hidenonreadable: Don't show entries which cannot be read
      #   1      Hide non-readable entries
      #   0      Show non-readable entries
      "hidenonreadable" => "1",
);

##############
# some layout stuff
##############

# color settings in the body-tag
$body_tag = '<body text="#000000" bgcolor="#ffffff">';

# Wanna have a logo on the page ?
#$logo = '<img src="/icons/apache_pb.gif">';

# The title of the Page on startup
$defaulttitle = "CVS Repository";

# The address is shown on the footer
$address = "<font size=-1>CVSweb by &lt;zeller\@think.de&gt;</font>";

# Default page background color for the diffs
# and annotations
$backcolor = "#eeeeee";

# color of navigation Header for
# diffs and annotations
$navigationHeaderColor = '#9999ee';

open(HEADER, $config{'view_header'});
while(<HEADER>) {
	$long_intro .= $_;
	}
close(HEADER);

$short_instruction = <<EOT;
<p>
Click on a directory to enter that directory. Click on a file to display
its revision history and to get a chance to display diffs between revisions. 
</p>
EOT

# used icons; if icon-url is empty, the text representation is used; if
# you do not want to have an ugly tooltip for the icon, remove the
# text-representation.
# The width and height of the icon allow the browser to correcly display
# the table while still loading the icons.
# These default icons are coming with apache.
# If these icons are too large, check out the miniicons in the
# icons/ directory; they have a width/height of 16/16
# format:               TEXT      ICON-URL          width height
%ICONS  = (
	   back => [ ("[BACK]", "/images/left.gif", 20,   22) ],
	   dir  => [ ("[DIR]",  "/images/dir.gif",  20,   22) ],
	   file => [ ("[TXT]",  "/images/text.gif", 20,   22) ],
	   );

# the length to which the last logentry should
# be truncated when shown in the directory view
$shortLogLen = 80;

# Show author of last change
$show_author = 1;

##############
# table view for directories
##############

# Show directory as table
# this is much more readable but has one
# drawback: the whole table has to be loaded
# before common browsers display it which may
# be annoying if you have a slow link - and a
# large directory ..
$dirtable = 1;

# show different colors for even/odd rows
@tabcolors = ('#ccccee', '#ffffff');
$tablepadding = 2;

# Color of Header
$columnHeaderColorDefault = '#cccccc';
$columnHeaderColorSorted = '#88ff88';

# 
# If you want to have colored borders 
# around each row, uncomment this
# $tableBorderColor = '#999999';

#
# Modules in the repository that should not be displayed, either by default
# nor by explicit path specification. Usually, you don't want to display
# CVSROOT.
#
@HideModules = ( 
		 "CVSROOT",
		);

#
# Files matching this name shouldn't be checked out with cvsweb, since
# they may contain sensitive information. Simple file name based
# filter. Often, the CVSROOT/passwd is exposed and some people tend
# to check in their .cvspass, though this is a bad idea. These files shouldn't
# be readable by default. Thanks to Damian Gryski to point this out.
@DissallowRead = ( "\^.cvspass\$", "^passwd\$");

#
# Use CVSROOT/CVSROOT/descriptions for describing the directories/modules
# See INSTALL section 8
#
$use_descriptions = 0;

##############
# Human Readable Diff
##############

# (c) 1998 H. Zeller <zeller@think.de>
#
# Generates two columns of color encoded
# diff; much like xdiff or emacs-ediff mode.
#
# The diff-stuff is a piece of code I once made for
# cvs2html which is under GPL,
# see http://www.sslug.dk/cvs2html
# (c) 1997/98 Peter Toft <pto@sslug.imm.dtu.dk>
#
# some parameters to screw:
##

# make lines breakable so that the columns do not
# exceed the width of the browser
$hr_breakable = 1;

# give out function names in human readable diffs
# this just makes sense if we have C-files, otherwise
# diff's heuristic doesn't work well ..
# ( '-p' option to diff)
$hr_funout = 0;

# ignore whitespaces for human readable diffs
# (indendation and stuff ..)
# ( '-w' option to diff)
$hr_ignwhite = 1;

# ignore diffs which are caused by
# keyword-substitution like $Id - Stuff
# ( '-kk' option to rcsdiff)
$hr_ignkeysubst = 1;

# Colors and font to show the diff type of code changes
$diffcolorHeading    = '#99cccc';  # color of 'Line'-head of each diffed file
$diffcolorEmpty      = '#cccccc';  # color of 'empty' lines
$diffcolorRemove     = '#ff9999';  # Removed line(s) (left)  (  -  )
$diffcolorChange     = '#99ff99';  # Changed line(s) (     both    )
$diffcolorAdd        = '#ccccff';  # Added line(s)   (  - )  (right)
$diffcolorDarkChange = '#99cc99';  # lines, which are empty in change
$difffontface        = "Helvetica,Arial";
$difffontsize        = "-1";

# the width of the textinput of the
# request-diff-form
$inputTextSize = 12;

##############
# Mime Types
##############

# mapping to mimetypes to help
# cvsweb to guess the correct mime-type on
# checkout; you can use the mime.types from
# apache here:
$mime_types = '/usr/local/web/apache/conf/mime.types';

# quick mime-type lookup; maps file-suffices to
# mime-types for displaying checkouts in the browser.
# Further MimeTypes will be found in the 
# file $mime_types (apache style mime.types - file)
# - add common mappings here for faster lookup
%MTYPES = (
	   "html"  => "text/html",
	   "shtml" => "text/html",
	   "gif"   => "image/gif",
	   "jpeg"  => "image/jpeg",
	   "jpg"   => "image/jpeg",   
	   "*"	   => "text/plain",
	   );

##############
# Misc
##############
# allow annotation of files
# this requires rw-access to the
# CVSROOT/history - file and rw-access
# to the subdirectory to place the lock
# so you maybe don't want it
$allow_annotate = 1;

# allow pretty-printed version of files
$allow_markup = 1;

# allow compression with gzip
# of output if the Browser accepts
# it (HTTP_ACCEPT_ENCODING=gzip)
# [make sure to have gzip in the path]
$allow_compress = 1;

# Make use of javascript functions.
# This way you can select one of your CVSroot
# without pressing 'Go' (.. if you do have more
# than one CVSROOT defined)
$use_java_script = 1;

# open Download-Links in another window
$open_extern_window = 1;

# The size of this extern window; this size option
# needs use_java_script to be defined
# just comment them if you don't want to have a fixed
# size
#$extern_window_width = 600;
#$extern_window_height = 440;

# Edit Options
# Enable form to edit your options (hideattic,sortbydate)
# this isn't necessary if you've $dirtable defined 'cause
# this allows editing of all your options more intuitive
$edit_option_form = (not $dirtable);

# remember to set the path to your
# rcsutils: rlog, rcsdiff (gzip if you use compression)
#$ENV{'PATH'} = '/usr/local/bin';

# If you have files which automatically refers to other files
# (such as HTML) then this allows you to browse the checked
# out files as if outside CVS.
$checkout_magic = 1;

# Show last changelog message for sub directories
# The current implementation makes many assumptions and may show the
# incorrect file at some times. The main assumption is that the last
# modified file has the newest filedate. But some CVS operations
# touches the file without even when a new version is't checked in,
# and TAG based browsing essientially puts this out of order, unless
# the last checkin was on the same tag as you are viewing.
# Enable this if you like the feature, but don't rely on correct results.
$show_subdir_lastmod = 0;

# Background color of logentry in markup
$markupLogColor = "#ffffff";

# Show CVS log when viewing file contents
$show_log_in_markup = 1;

# Tabstop used to expand tabs in colored diffs. If undefined then
# tabs are always expanded to 8 spaces.
$tabstop = 8;

# if you wish to display absolute times in your local timezone,
# then define mytz and fill in the strings for your standard and
# daylight time. Note that you must also make sure the system
# timezone is correctly set.
# @mytz=("EST", "EDT");

# cvsweb is friendly to caches by indicating a suitable
# last-modified timestamp. Doing this uses slightly more
# CPU so you might want to disable it if you have a slow
# server
$use_moddate = 1;

#EOF
07070100000389000081e40000000000000002000000013d1fe2ea000006bc000000200000000000000000000000000000001e00000003reloc/pserver/edit_access.cgi #!/usr/local/bin/perl
# edit_access.cgi
# Display readers and writers

require './pserver-lib.pl';
&header($text{'access_title'}, "");
print "<hr>\n";

print "<form action=save_access.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if (open(READ, $readers_file)) {
	@readers = ( );
	while(<READ>) {
		s/\r|\n//g;
		s/#.*$//g;
		push(@readers, $_) if (/\S/);
		}
	close(READ);
	}
print "<tr> <td width=50% valign=top>\n";
printf "<input type=radio name=readers_def value=1 %s> %s\n",
	defined(@readers) ? "" : "checked", $text{'access_readers1'};
printf "<input type=radio name=readers_def value=0 %s> %s<br>\n",
	defined(@readers) ? "checked" : "", $text{'access_readers0'};
print "<textarea rows=20 cols=30 name=readers>",
	join("\n", @readers),"</textarea>",
	&user_chooser_button("readers", 1),"</td>\n";

if (open(WRITE, $writers_file)) {
	@writers = ( );
	while(<WRITE>) {
		s/\r|\n//g;
		s/#.*$//g;
		push(@writers, $_) if (/\S/);
		}
	close(WRITE);
	}
print "<td width=50% valign=top>\n";
printf "<input type=radio name=writers_def value=1 %s> %s\n",
	defined(@writers) ? "" : "checked", $text{'access_writers1'};
printf "<input type=radio name=writers_def value=0 %s> %s<br>\n",
	defined(@writers) ? "checked" : "", $text{'access_writers0'};
print "<textarea rows=20 cols=30 name=writers>",
	join("\n", @writers),"</textarea>",
	&user_chooser_button("writers", 1),"</td> </tr>\n";

print "<tr> <td colspan=2>$text{'access_desc'}</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000038a000081e40000000000000002000000013d1fe2ea00000908000000200000000000000000000000000000001e00000003reloc/pserver/edit_config.cgi #!/usr/local/bin/perl
# edit_config.cgi
# Display server configuration options

require './pserver-lib.pl';
&header($text{'config_title'}, "");
print "<hr>\n";
@conf = &get_cvs_config();

print "<form action=save_config.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'config_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$auth = &find("SystemAuth", \@conf);
print "<tr> <td><b>$text{'config_auth'}</b></td>\n";
printf "<td><input type=radio name=auth value=1 %s> %s\n",
	$auth->{'value'} eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=auth value=0 %s> %s</td> </tr>\n",
	$auth->{'value'} eq 'no' ? "checked" : "", $text{'no'};

$top = &find("TopLevelAdmin", \@conf);
print "<tr> <td><b>$text{'config_top'}</b></td>\n";
printf "<td><input type=radio name=top value=1 %s> %s\n",
	$top->{'value'} eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=top value=0 %s> %s</td> </tr>\n",
	$top->{'value'} eq 'yes' ? "" : "checked", $text{'no'};

$hist = &find("LogHistory", \@conf);
$all++ if (!$hist || lc($hist->{'value'}) eq 'all');
map { $hist{lc($_)}++ } split(//, $hist->{'value'}) if (!$all);
print "<tr> <td valign=top><b>$text{'config_hist'}</b></td>\n";
printf "<td><input type=radio name=hist_def value=1 %s> %s\n",
	$all ? "checked" : "", $text{'config_hist_all'};
printf "<input type=radio name=hist_def value=0 %s> %s<br>\n",
	$all ? "" : "checked", $text{'config_hist_sel'};
print "<table width=100%>\n";
$i = 0;
foreach $h (@hist_chars) {
	print "<tr>\n" if ($i%2 == 0);
	printf "<td><input type=checkbox name=hist value=%s %s> %s</td>\n",
		$h, $hist{lc($h)} ? "checked" : "", $text{'config_hist_'.$h};
	print "</tr>\n" if ($i%2 == 1);
	$i++;
	}
print "</table></td></tr>\n";

$lock = &find("LockDir", \@conf);
print "<tr> <td><b>$text{'config_lock'}</b></td>\n";
printf "<td><input type=radio name=lock_def value=1 %s> %s\n",
	$lock ? "" : "checked", $text{'default'};
printf "<input type=radio name=lock_def value=0 %s>\n",
	$lock ? "checked" : "";
printf "<input name=lock size=30 value='%s'> %s</td> </tr>\n",
	$lock->{'value'}, &file_chooser_button("lock");

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000038b000081e40000000000000002000000013d1fe2ea000007d3000000200000000000000000000000000000001e00000003reloc/pserver/edit_passwd.cgi #!/usr/local/bin/perl
# Display a form for editing or adding a new CVS user

require './pserver-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'edit_title1'}, "");
	}
else {
	&header($text{'edit_title2'}, "");
	@passwd = &list_passwords();
	$user = $passwd[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_passwd.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

print "<table border>\n";
print "<tr $tb> <td><b>$text{'edit_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'edit_user'}</b></td>\n";
printf "<td><input name=user size=15 value='%s'></td> </tr>\n",
	$user->{'user'};

print "<tr> <td><b>$text{'edit_pass'}</b></td>\n";
printf "<td><input type=radio name=pass_def value=2 %s> %s\n",
	$user->{'pass'} ? "" : "checked", $text{'edit_pass2'};
if ($in{'new'}) {
	printf "<input type=radio name=pass_def value=3> %s\n",
		$text{'edit_pass3'} if (&foreign_check("useradmin"));
	}
else {
	printf "<input type=radio name=pass_def value=1 %s> %s\n",
		$user->{'pass'} ? "checked" : "", $text{'edit_pass1'}
		if ($user->{'pass'});
	}
printf "<input type=radio name=pass_def value=0> %s\n",
	$text{'edit_pass0'};
print "<input type=password name=pass size=15></td> </tr>\n";

print "<tr> <td><b>$text{'edit_unix'}</b></td>\n";
printf "<td><input type=radio name=unix_def value=1 %s> %s\n",
	$user->{'unix'} ? "" : "checked", $text{'edit_unixdef'};
printf "<input type=radio name=unix_def value=0 %s>\n",
	$user->{'unix'} ? "checked" : "";
print &unix_user_input("unix", $user->{'unix'}),"</td> </tr>\n";

print "</table></td></tr></table>\n";
if ($in{'new'}) {
	print "<input type=submit value='$text{'create'}'>\n";
	}
else {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer("list_passwd.cgi", $text{'passwd_return'},
	"", $text{'index_return'});

 0707010000038c000081a40000000000000002000000013d1fe2ea0000007c000000200000000000000000000000000000002000000003reloc/pserver/feedback_files.pl   
do 'pserver-lib.pl';

sub feedback_files
{
return ( $passwd_file, $readers_file, $writers_file, $cvs_config_file );
}

1;

0707010000038d000081a40000000000000002000000013d1fe2ea00000311000000200000000000000000000000000000001a00000003reloc/pserver/header.html <p>
This CVS repository browser was written by Bill Fenner
&lt;<a href="mailto:fenner@freebsd.org">fenner@freebsd.org</a>&gt;
and improved by Henner Zeller
&lt;<a href="mailto:zeller@think.de">zeller@think.de</a>&gt;,
Henrik Nordstr&ouml;m
&lt;<a href="mailto:hno@hem.passagen.se">hno@hem.passagen.se</a>&gt;, and
Ken Coar
&lt;<a href="mailto:Ken.Coar@Golux.Com">Ken.Coar@Golux.Com</a>&gt;;
it is covered by the
<a href="http://www.opensource.org/licenses/bsd-license.html">BSD-Licence</a>.
</p>
<p>
If you would like to use this CGI script on your own web server and
CVS tree, see Zeller's
<a href="http://stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi/"
>CVSweb distribution site</a>. Bill's original script can be found
<a href="http://www.freebsd.org/~fenner/cvsweb/">here</a>.
</p>

   07070100001979000041ed0000000000000001000000023d1ffb1800000000000000200000000000000000000000000000001500000003reloc/pserver/images  0707010000197a000081a40000000000000002000000013d1fe2ea00000113000000200000000000000000000000000000002000000003reloc/pserver/images/access.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 0707010000197b000081a40000000000000002000000013d1fe2ea00000109000000200000000000000000000000000000002000000003reloc/pserver/images/config.gif   GIF89a0 0 Â  ÌÌÌ   ÌÌÿzzzÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  ÎHºÜþ0ÊI«½8ëMÿ`(ŽÜhž`‰®¢êp,ÏsºtžÛ®ÿ0^ÆÔ	1Ä"íxI*eL‹óü¸ Ô¥õöÉÖ¶½®7­L©åŽxHOÎO·®”GèE;Ô?X€`C„(W†'‰‹w„”•”’–š˜›Ÿ—Š‹ …£~{§¨Ž¥¬!   ©³Ÿµ²¸šºÀ
¯°* ÆÈÇÊÉÉË­=ÌÎÑÈÑÏHÓÒÚÎÖRÚàáâáÊÜaÃ-Áêëìí	 ;   0707010000197c000081a40000000000000002000000013d1fe2ea0000010a000000200000000000000000000000000000002000000003reloc/pserver/images/cvsweb.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  0707010000197d000081a40000000000000002000000013d1fe2ea00000a48000000200000000000000000000000000000001e00000003reloc/pserver/images/icon.gif GIF89a0 0 ç  ":à¹¸™’zrfF|TR¹Ôç:J6V”–²ÊX•½ÄÍÞÒtv‡”ZnJ>z†–ž¢ÞÎb¾Â†f©¦¬`ÞÊNÊÊ‚&C"^~bzRóÊ×ºržš.QGk_VŠ¶²¦2äêì†‡3f©^¡îÎ6Â¦":RI_&f‚š—4:j^^&:N:ØÐz¾²FrŽ^28$~®Ôf˜Jt°‘V†~ÄàòJƒøÑ z–f2V^5hx)Yg¢ÊæJ†ŽïÆÆ¨
g¢AZRjN~z&Jx.8(Ÿ’"jbRbn8|¢f¦5JæÒ^b¢|’œæÖfFbN`Ž€×Ýã†žjâÊB^–Ò®"Vj2jŠN¾¬ºÀª¶ŠŽš¦ºÂÄöÎå¾<bÍåõnjb~’*n†ˆ¨Ž‡s6b‚uše¡j¢Zfr¢ªjîÖb‰“E
NzjªúÙGV€[—Áfª)0NfnŠ’–²¸€t¤Êz‹O6ZZêÖrº²>²–
öÍVŽž®¶¸By'ožÄâR„5`6PN`o@b¦ÂŸ¡‡fŠo^—BlŒ”žPž¦NŠ–VŒ¸ØØîú Rv.z¶j¬p®Â¢‚n`ˆ€Fs×¶­™ms7Ws†âÀšŠgÇóÞqX‚ Z›’ªº6sŽbªRŽ¡ºÏ>b]bYx€<Õ¾-Nˆ›®ª:"^ŠJZ6’®’ªÆÚŒ¤µn­Š¢r¦²nL`lýßY
5XÆÖâQØæð
=fLR(Ú²j®V‹êÀŽ~
e©vjöÎ/4Žª¾jŽª(t«6v¦€ž‚:~¦j®©'üÔ.WŽ4O]ÞºDƒ£)MúÞNÂ®&ýãmzs•»ÙbZBh¯Íá:B&j¦œ®†9~¶AmN‰¬­Kfªú×:bv~>R^¼¡¸ÊÚÎ©1Zm>nm~Š?ZZýáb9ƒ»R^>úÒ*M€'BJÔ² r¬:{—~¢–,    0 0  þ §	8°˜ÁƒNË”©Ø´uVE\E±¢Å‹3jÌ”«£Ç©H¢ç›;Œ˜ì€r§¥Ë—0sqœ)S&Á›Ó€<á¦"GVÖJø»+*FŒ("]º”âÆs¢Jê0š ?‰
±J Ê;)X$Pšô¢Ò;5ifZhpšC„ëÖQKB„ÕªrpØ5Ú§m*³€W=¥	²c¦ˆŒXI'Æ#Iñ1KÄŠÌËwV¡U«Ñ­gÉ,–`Uh^Žt¬R"åé*¦L_;•™‘¶B™5—]…*Aº¬X5¢²lÀ–-34<³á´¨[ZÖ\17ETé´hH°;ðìåµþçvM½<Å–¯‡+}æ;=2œÚý=M»­Ÿ—˜Ì*†$³NhIqe¥ÕJeÝq8@ÃžEw¸N6»ÄBöÑF¹$Ã„	*p§ÜFÓ°Ê=?T’šX‚C+§y´Ç6›øá‰'ú "G8àä’Íñ¤C	)8M2Œ$ƒ8“ã´Å5ó¬SL.Óäb,Û`ã‚è IX€c½p Œ…G½à"
ŒÐ Ê5 èSN1sxf,YãKP@AÁ4^tC6œ0£MP4éÐ“ý<ƒ”©´ãÄ<ÉLcŒ'À4‘h.þ‰~Ù„
'dÊ–M#K/ùã°P™eb“Ì–q¨á/Ö+¬uôe.MX³È;üPÌ’E03†q¹•Ì=ÉâpË)	°	8åÌq˜ø¾eÐ*%¤38>¸Ò-ú\#@<È Ãä{2ÝadŒã':sH[¬½Ù+– "ú L8$× ?‹¤CÞ:a‚ƒÄ\#	n}J­@1¤TEÑ 8C”CB'úÔ³É¬ äELü3À´¦@†È²†.Tð†7”Óà8ÔÑssHÃŽáÔÇGU”L1Mxâ‹/54¦,¶HÀŽþ £#Ä;€óÄ,g$õv±d÷ÓÀµ “€®¨
Ø×jRÌÏMôƒÆtäó‰J ¬6$â€òA2¯TñtdQ§P a¶õe1ÿ˜Ò£Øð
}ý„Êñ§Sˆ'áPåV.ý\ÐKPRP”P#8ß;A/ìä€# @Ùtg!¸	‡†	&/ð*†äÌ“”t«ènÐ¦ä#È1x Xð—êd&WQ	SùG‡0,#ÀƒÔ’…d"‹Fç60><$¢€;£*†¨ŠMc/°t°cc©HR´
(ø£aà  `—ê¼>þ_rŸ4Ð¿ðåðHX°½Yç€Œ˜EÅ „}$À%H¢¦ÑKu.‡C‘ thF?É©F„càˆ˜¡f2•‹=Ã\Æ8( N  `É•&G¤HüÃ1‚À3tjRÓv¤ƒeXrAˆ·¤ãÈ‘:èI
Â‘bˆ!a˜„*Hð©©AÏþÛã–qŒM 2L*Ëý@Ù×$f
ÈB ‚ @tâ!8V€aî1Yð†Î£ŸULÃ5ÓoŽ oØ ØÂbuT`€à(Œ°‰Sî1 IbÏ¥3©9ÈAºþI†˜Àaì-(ƒ7
|(BcC
’€c`2 ¤È'CÂ3Ê¦%ë›˜RŽpèãèð:Ðq}„$hB8‘È6£LÊZð•ŸTéë-[¬cÊ1rä‚§`šC&P¡P4TüðÁ#Ÿã™b¼Gn!a˜HP1:&ŠŽAÅêxzMFôËŸhæ	ÁŒ!*U’S÷žñ€ÈàŽŽ¬ã‘°&à†.„#)	Ç; PÔuZÅˆHÍÄV10ý"ƒ8<áª*\ÓÀ!|Ò¸#²óÈ%1‚D®  š†K®åºç”B¨þƒÝ\5ÐsàƒÐQŽdàK’ç*Ö1H¸¢+Àn*&Då®bßX‚'«\Üž˜<œ`ˆÁ RX«9À#ÀÆ
Úf™WmQl• ‡>ê(Iüâçˆ€/@ÈŠHˆ`mP«ËŽzpc@IþZg­&ÈÂ²‹•Aø…fpi—Œ`C+–`çt$*ë8ÐF@\¡%c8SP…Rp$ Ö3‚Aôð¥°C)à„p d0$ÀƒØå^Õò8Ô@Ôã *Æ:Ì°D0b-Ó Ú‚1)*™ÏR FlTcqK4ŒŒ@D!.5 ¨Œ‰M Ù4¢ƒO_R'wÖr_±ªD·XNlÒr®Ld8ô)-  ;0707010000197e000081a40000000000000002000000013d1fe2ea00000186000000200000000000000000000000000000002000000003reloc/pserver/images/passwd.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010000038e000081e40000000000000002000000013d1fe2ea0000090a000000200000000000000000000000000000001800000003reloc/pserver/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display a table of icons for cvs server options

require './pserver-lib.pl';
&ReadParse();

if (!$cvs_path) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>",&text('index_ecvs', "<tt>$config{'cvs'}</tt>",
		  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

$out = `$config{'cvs'} -v`;
if ($out !~ /CVS[^0-9\.]*([0-9\.]+)/) {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>",&text('index_eversion', "<tt>$config{'cvs'} -v</tt>",
			  "<tt>$out</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$ver = $1;

&header($text{'index_title'}, "", undef, 1, 1, undef,
	&help_search_link("cvs", "man", "doc"), undef, undef,
	&text('index_version', $ver));
print "<hr>\n";

if (!-d "$config{'cvsroot'}/CVSROOT") {
	print "<p>",&text('index_eroot',
		"$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Show configuration icons
@icons = ( "images/passwd.gif", "images/access.gif", "images/config.gif",
           "images/cvsweb.gif" );
@links = ( "list_passwd.cgi", "edit_access.cgi", "edit_config.cgi",
	   "cvsweb.cgi" );
@titles = ( $text{'passwd_title'}, $text{'access_title'}, $text{'config_title'},
	    $text{'cvsweb_title'} );
&icons_table(\@links, \@titles, \@icons, 4);

# Check if run from inetd or xinetd
print "<hr>\n";
print "<table width=100%><tr>\n";
$inet = &check_inetd();
if (!$inet) {
	print "<form action=setup.cgi>\n";
	print "<td><input type=submit value='$text{'index_setup'}'></td>\n";
	print "<td>",&text('index_setupdesc',
		$has_xinetd ? "<tt>xinetd</tt>" : "<tt>inetd</tt>"),"</td>\n";
	print "</form>\n";
	}
elsif (!$inet->{'active'}) {
	print "<form action=setup.cgi>\n";
	print "<td><input type=submit value='$text{'index_act'}'></td>\n";
	print "<td>",&text('index_actdesc',
			   "<tt>$inet->{'type'}</tt>"),"</td>\n";
	print "</form>\n";
	}
else {
	print "<form action=setup.cgi>\n";
	print "<td><input type=submit value='$text{'index_deact'}'></td>\n";
	print "<td>",&text('index_deactdesc',
			   "<tt>$inet->{'type'}</tt>"),"</td>\n";
	print "</form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  070701000031b1000041ed0000000000000001000000023d1ffb1800000000000000200000000000000000000000000000001300000003reloc/pserver/lang    070701000031b2000081a40000000000000002000000013d1fe2ea00000fd2000000200000000000000000000000000000001600000003reloc/pserver/lang/en index_title=CVS Server
index_ecvs=The CVS command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Failed to get the version from CVS command $1. Output was $2.
index_eroot=Your CVS root directory has not been set correctly. You must use the <a href='$1'>module configuration</a> to set it before this module will work.
index_version=CVS version $1
index_setup=Setup CVS Server
index_setupdesc=The CVS server does not appear to be currently setup on your system. Click this button to have it run from $1 so that remote users can access your CVS repository.
index_act=Activate CVS Server
index_actdesc=The CVS server is setup to run from $1 on your system, but not currently active. Click this button if you want to activate it and allow remote users to access your CVS repository.
index_deact=Deactivate CVS Server
index_deactdesc=The CVS server is setup to run from $1 on your system, and is active. Click this button if you want to deactivate it and prevent remote users from accessing your CVS repository.
index_return=module index

setup_einet=Neither <tt>inetd</tt> or <tt>xinetd</tt> appear to be installed on your system.

passwd_title=CVS Users
passwd_header=CVS server users
passwd_desc=The CVS server will allow the users listed below to login and access the repository. If an unlisted user tries to login, the server may attempt to verify the user's password against the system password file instead, depending on the server configuration.
passwd_add=Add a new CVS user
passwd_none=No CVS server users have been defined yet.
passwd_sync=The options below configure synchronization between Unix users created through Webmin and CVS users.
passwd_sync_create=Add a new CVS user when a Unix user is added.
passwd_sync_modify=Update a CVS user when the matching Unix user is modified.
passwd_sync_delete=Delete a CVS user when the matching Unix user is deleted.
passwd_return=user list

edit_title1=Create CVS User
edit_title2=Edit CVS User
edit_header=CVS user details
edit_user=Login username
edit_pass=Login password
edit_pass3=Copy from unix
edit_pass2=None required
edit_pass1=Leave unchanged
edit_pass0=Set to..
edit_unix=Access files as unix user
edit_unixdef=Same as username

save_err=Failed to save CVS user
save_euser=Missing or invalid username
save_eunix=Missing or invalid unix user
save_ecopy=Unix user to copy password from does not exist
save_emd5=Unix password to copy is in MD5 format

access_title=User Access Control
access_header=Read-only CVS users
access_readers1=No read-only users
access_readers0=Listed users are read-only ..
access_writers1=All users can write
access_writers0=Only listed users can write ..
access_desc=If a user is in both the readers and writers lists, he will be given read-only access.
access_err=Failed to save user access control
access_euser=User '$1' does not exist

cvsweb_title=Browse Repository
cvsweb_ecmd=The CVS command $1 was not found on your system. This command is needed for viewing the CVS repository.

config_title=Server Configuration
config_header=Server configuration options
config_auth=Check users against system password file?
config_top=Create top-level CVS directories?
config_hist=Event types to log in history
config_hist_all=All types
config_hist_sel=Selected types ..
config_hist_F=Release
config_hist_O=Checkout
config_hist_E=Export
config_hist_T=RTag
config_hist_C=Merge with collisions
config_hist_G=Successful merge
config_hist_U=Working file copied
config_hist_W=Working file deleted
config_hist_A=File added
config_hist_M=File modified
config_hist_R=File removed
config_lock=Lock files directory
config_err=Failed to save server configuration
config_elock=Missing or invalid lock files directory

log_setup=Setup CVS server
log_activate=Activated CVS server
log_deactivate=Deactivated CVS server
log_create_user=Created user $1
log_delete_user=Deleted user $1
log_modify_user=Modified user $1
log_access=Changed user access control
log_config=Changed server configuration

  0707010000038f000081e40000000000000002000000013d1fe2ea000007a2000000200000000000000000000000000000001e00000003reloc/pserver/list_passwd.cgi #!/usr/local/bin/perl
# list_passwd.cgi
# Display all the cvs server users

require './pserver-lib.pl';
&header($text{'passwd_title'}, "");
print "<hr>\n";

print "<br>$text{'passwd_desc'}<p>\n";
@passwd = &list_passwords();
if (@passwd) {
	print "<a href='edit_passwd.cgi?new=1'>$text{'passwd_add'}</a><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'passwd_header'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	$i = 0;
	foreach $p (@passwd) {
		print "<tr>\n" if ($i%4 == 0);
		print "<td width=25%>\n";
		print "<a href='edit_passwd.cgi?idx=$p->{'index'}'>";
		print $p->{'user'};
		if ($p->{'unix'}) {
			print "</a> ($p->{'unix'})</td>";
			}
		else {
			print "</a></td>\n";
			}
		print "</tr>\n" if ($i%4 == 3);
		$i++;
		}
	while($i++%4) { print "<td width=25%></td>\n"; }

	print "</table></td></tr></table>\n";
	}
else {
	print "<b>$text{'passwd_none'}</b><p>\n";
	}
print "<a href='edit_passwd.cgi?new=1'>$text{'passwd_add'}</a><p>\n";

print "<hr>\n";
print "<form action=save_sync.cgi>\n";
print "$text{'passwd_sync'}<p>\n";
printf "<input type=checkbox name=sync_create value=1 %s> %s<br>\n",
	$config{'sync_create'} ? "checked" : "", $text{'passwd_sync_create'};
print "&nbsp;" x 5,$text{'edit_unix'},"\n";
printf "<input type=radio name=sync_mode value=0 %s> %s\n",
	$config{'sync_user'} ? "" : "checked", $text{'edit_unixdef'};
printf "<input type=radio name=sync_mode value=1 %s>\n",
	$config{'sync_user'} ? "checked" : "";
print &unix_user_input("sync_user", $config{'sync_user'}),"<br>\n";
printf "<input type=checkbox name=sync_modify value=1 %s> %s<br>\n",
	$config{'sync_modify'} ? "checked" : "", $text{'passwd_sync_modify'};
printf "<input type=checkbox name=sync_delete value=1 %s> %s<p>\n",
	$config{'sync_delete'} ? "checked" : "", $text{'passwd_sync_delete'};

print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100000390000081a40000000000000002000000013d1fe2ea000001c2000000200000000000000000000000000000001c00000003reloc/pserver/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'pserver-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq "user") {
	return &text("log_${action}_user",
		     "<tt>".&html_escape($object)."</tt>");
	}
else {
	return $text{"log_$action"};
	}
}

  07070100000391000081a40000000000000002000000013d1fe2ea0000004a000000200000000000000000000000000000001a00000003reloc/pserver/module.info category=servers
depends=0.990
desc=CVS Server
version=0.990
name=Pserver
  07070100000392000081a40000000000000002000000013d1fe2ea00000fa2000000200000000000000000000000000000001d00000003reloc/pserver/pserver-lib.pl  # pserver-lib.pl

do '../web-lib.pl';
&init_config();

$cvs_path = &has_command($config{'cvs'});
$cvs_port = 2401;
$cvs_inet_name = "cvspserver";
$has_xinetd = &foreign_check("xinetd");
$has_inetd = &foreign_check("inetd");
$passwd_file = "$config{'cvsroot'}/CVSROOT/passwd";
$readers_file = "$config{'cvsroot'}/CVSROOT/readers";
$writers_file = "$config{'cvsroot'}/CVSROOT/writers";
$cvs_config_file = "$config{'cvsroot'}/CVSROOT/config";

# check_inetd()
# Find out if cvs is being run from inetd or xinetd
sub check_inetd
{
if ($has_xinetd) {
	# Find an xinetd service on the CVS port, with the CVS command, or
	# with the CVS name
	&foreign_require("xinetd", "xinetd-lib.pl");
	local @xic = &xinetd::get_xinetd_config();
	local $x;
	foreach $x (@xic) {
		next if ($x->{'name'} ne 'service');
		local $q = $x->{'quick'};
		if ($q->{'server'}->[0] eq $cvs_path ||
		    $q->{'server'}->[0] eq $config{'cvs'} ||
		    $port == $cvs_port ||
		    $x->{'value'} eq $cvs_inet_name) {
			# Found the entry
			return { 'type' => 'xinetd',
				 'command' => $q->{'server'}->[0],
				 'args' => $q->{'server'}->[0]." ".
					   $q->{'server_args'}->[0],
				 'active' => $q->{'disable'}->[0] ne 'yes',
				 'xinetd' => $x };
			}
		}
	}
if ($has_inetd) {
	# Find an inetd service on the CVS port, with the CVS command, or
	# with the CVS name
	local (%portmap, $s, $a, $i);
	&foreign_require("inetd", "inetd-lib.pl");
	foreach $s (&inetd::list_services()) {
		$portmap{$s->[1]} = $s;
		foreach $a (split(/\s+/, $s->[4])) {
			$portmap{$a} = $s;
			}
		}
	foreach $i (&inetd::list_inets()) {
		if ($i->[8] eq $cvs_path || $i->[8] eq $config{'cvs'} ||
		    $portmap{$i->[3]}->[2] == $cvs_port ||
		    $i->[3] eq $cvs_inet_name) {
			# Found the entry
			return { 'type' => 'inetd',
				 'command' => $i->[8],
				 'args' => $i->[9],
				 'active' => $i->[1],
				 'inetd' => $i };
			}
		}
	}
return undef;
}

# list_passwords()
# List all CVS users
sub list_passwords
{
local @rv;
local $lnum = 0;
open(PASSWD, $passwd_file);
while(<PASSWD>) {
	s/\r|\n//g;
	s/#.*$//;
	local @p = split(/:/, $_);
	if (@p) {
		push(@rv, { 'user' => $p[0],
			    'pass' => $p[1],
			    'unix' => $p[2],
			    'line' => $lnum,
			    'index' => scalar(@rv) });
		}
	$lnum++;
	}
close(PASSWD);
return @rv;
}

sub create_password
{
local $lref = &read_file_lines($passwd_file);
push(@$lref, join(":", $_[0]->{'user'}, $_[0]->{'pass'}, $_[0]->{'unix'}));
&flush_file_lines();
}

sub modify_password
{
local $lref = &read_file_lines($passwd_file);
$lref->[$_[0]->{'line'}] =
	join(":", $_[0]->{'user'}, $_[0]->{'pass'}, $_[0]->{'unix'});
&flush_file_lines();
}

sub delete_password
{
local $lref = &read_file_lines($passwd_file);
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
}

# get_cvs_config()
# Returns a list of values from the CVSROOT/config file
sub get_cvs_config
{
local @rv;
local $lnum = 0;
open(CONFIG, $cvs_config_file);
while(<CONFIG>) {
	s/\s+$//;
	s/^\s*#.*$//;
	if (/^\s*([^\s=]+)\s*=\s*(.*)/) {
		push(@rv, { 'name' => $1,
			    'value' => $2,
			    'line' => $lnum,
			    'index' => scalar(@rc) } );
		}
	$lnum++;
	}
close(CONFIG);
return @rv;
}

# find(name, &config)
sub find
{
local ($c, @rv);
foreach $c (@{$_[1]}) {
	push(@rv, $c) if (lc($c->{'name'}) eq lc($_[0]));
	}
return wantarray ? @rv : $rv[0];
}

# save_cvs_config(&config, name, value, [default])
sub save_cvs_config
{
local $lref = &read_file_lines($cvs_config_file);
local $old = &find($_[1], $_[0]);
if ($old && $_[2]) {
	# Replacing an existing config line
	$lref->[$old->{'line'}] = "$_[1]=$_[2]";
	}
elsif ($old) {
	# Deleting a config line (unless it already exists with the default)
	if (!$_[3] || $old->{'value'} ne $_[3]) {
		splice(@$lref, $old->{'line'}, 1);
		local $c;
		foreach $c (@{$_[0]}) {
			$c->{'line'}-- if ($c->{'line'} > $old->{'line'});
			}
		}
	}
elsif ($_[2]) {
	# Adding a config line
	push(@$lref, "$_[1]=$_[2]");
	}
}

@hist_chars = ( "F", "O", "E", "T", "C", "G", "U", "W", "A", "M", "R" );

1;

  07070100000393000081e40000000000000002000000013d1fe2ea000003fa000000200000000000000000000000000000001e00000003reloc/pserver/save_access.cgi #!/usr/local/bin/perl
# save_access.cgi
# Save readers and writers lists

require './pserver-lib.pl';
&ReadParse();
&error_setup($text{'access_err'});

&lock_file($readers_file);
@passwd = &list_passwords();
%gotuser = map { $_->{'user'}, 1 } @passwd;
if ($in{'readers_def'}) {
	unlink($readers_file);
	}
else {
	@readers = split(/\s+/, $in{'readers'});
	foreach $r (@readers) {
		defined(getpwnam($r)) || $gotuser{$r} ||
			&error(&text('access_euser', $r));
		}
	open(READERS, ">$readers_file");
	foreach $r (@readers) {
		print READERS $r,"\n";
		}
	close(READERS);
	}
&unlock_file($readers_file);

&lock_file($writers_file);
if ($in{'writers_def'}) {
	unlink($writers_file);
	}
else {
	@writers = split(/\s+/, $in{'writers'});
	foreach $r (@writers) {
		defined(getpwnam($r)) || $gotuser{$r} ||
			&error(&text('access_euser', $r));
		}
	open(WRITERS, ">$writers_file");
	foreach $r (@writers) {
		print WRITERS $r,"\n";
		}
	close(WRITERS);
	}
&unlock_file($writers_file);
&webmin_log("access");

&redirect("");

  07070100000394000081e40000000000000002000000013d1fe2ea000003c9000000200000000000000000000000000000001e00000003reloc/pserver/save_config.cgi #!/usr/local/bin/perl
# save_config.cgi
# Save server config options

require './pserver-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});

# Validate and save inputs
&lock_file($cvs_config_file);
@conf = &get_cvs_config();
if ($in{'auth'}) {
	&save_cvs_config(\@conf, "SystemAuth", undef, "yes");
	}
else {
	&save_cvs_config(\@conf, "SystemAuth", "no", "yes");
	}
if ($in{'top'}) {
	&save_cvs_config(\@conf, "TopLevelAdmin", "yes", "no");
	}
else {
	&save_cvs_config(\@conf, "TopLevelAdmin", undef, "no");
	}
if ($in{'hist_def'}) {
	&save_cvs_config(\@conf, "LogHistory", undef, "all");
	}
else {
	&save_cvs_config(\@conf, "LogHistory",
			 join("", split(/\0/, $in{'hist'})), "all");
	}
if ($in{'lock_def'}) {
	&save_cvs_config(\@conf, "LockDir", undef);
	}
else {
	-d $in{'lock'} || &error($text{'config_elock'});
	&save_cvs_config(\@conf, "LockDir", $in{'lock'});
	}
&flush_file_lines();
&unlock_file($cvs_config_file);
&webmin_log("config");
&redirect("");

   07070100000395000081e40000000000000002000000013d1fe2ea0000059d000000200000000000000000000000000000001e00000003reloc/pserver/save_passwd.cgi #!/usr/local/bin/perl
# save_passwd.cgi
# Create, update or delete a CVS user

require './pserver-lib.pl';
&ReadParse();
@passwd = &list_passwords();
$user = $passwd[$in{'idx'}] if (!$in{'new'});

&lock_file($passwd_file);
if ($in{'delete'}) {
	# Just delete the user
	&delete_password($user);
	}
else {
	# Validate and store inputs
	&error_setup($text{'save_err'});
	$in{'user'} =~ /^[^:\s]+$/ || &error($text{'save_euser'});
	$user->{'user'} = $in{'user'};
	if ($in{'pass_def'} == 2) {
		$user->{'pass'} = undef;
		}
	elsif ($in{'pass_def'} == 0) {
		local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
		$user->{'pass'} = crypt($in{'pass'}, $salt);
		}
	elsif ($in{'pass_def'} == 3) {
		&foreign_require("useradmin", "user-lib.pl");
		@users = &useradmin::list_users();
		($copy) = grep { $_->{'user'} eq $in{'user'} } @users;
		$copy || &error($text{'save_ecopy'});
		$copy->{'pass'} =~ /^\$1\$/ &&  &error($text{'save_emd5'});
		$user->{'pass'} = $copy->{'pass'};
		}
	if ($in{'unix_def'}) {
		$user->{'unix'} = undef;
		}
	else {
		defined(getpwnam($in{'unix'})) || &error($text{'save_eunix'});
		$user->{'unix'} = $in{'unix'};
		}

	# Save or create the user
	if ($in{'new'}) {
		&create_password($user);
		}
	else {
		&modify_password($user);
		}
	}
&unlock_file($passwd_file);
&webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "modify",
	    "user", $user->{'user'}, $user);
&redirect("list_passwd.cgi");

   07070100000396000081e40000000000000002000000013d1fe2ea00000203000000200000000000000000000000000000001c00000003reloc/pserver/save_sync.cgi   #!/usr/local/bin/perl
# save_sync.cgi
# Save unix-CVS synchronization options

require './pserver-lib.pl';
&ReadParse();

if ($in{'sync_mode'} == 0) {
	delete($config{'sync_user'});
	}
else {
	defined(getpwnam($in{'sync_user'})) || &error($text{'save_eunix'});
	$config{'sync_user'} = $in{'sync_user'};
	}
$config{'sync_create'} = $in{'sync_create'};
$config{'sync_modify'} = $in{'sync_modify'};
$config{'sync_delete'} = $in{'sync_delete'};
&write_file("$module_config_directory/config", \%config);
&redirect("");

 07070100000397000081e40000000000000002000000013d1fe2ea00000c70000000200000000000000000000000000000001800000003reloc/pserver/setup.cgi   #!/usr/local/bin/perl
# setup.cgi
# Setup the CVS server in inetd or xinetd

require './pserver-lib.pl';
$inet = &check_inetd();
$restart = $inet->{'type'} if ($inet);
%xconfig = &foreign_config("xinetd");
%iconfig = &foreign_config("inetd");
if (!$inet) {
	# Need to setup for the first time
	if ($has_xinetd) {
		# Just add an unlisted service
		&lock_file($xconfig{'xinetd_conf'});
		$xinet = { 'name' => 'service',
			   'values' => [ $cvs_inet_name ] };
		&xinetd::set_member_value($xinet, "port", $cvs_port);
		&xinetd::set_member_value($xinet, "socket_type", "stream");
		&xinetd::set_member_value($xinet, "protocol", "tcp");
		&xinetd::set_member_value($xinet, "user", "root");
		&xinetd::set_member_value($xinet, "wait", "no");
		&xinetd::set_member_value($xinet, "disable", "no");
		&xinetd::set_member_value($xinet, "type", "UNLISTED");
		&xinetd::set_member_value($xinet, "server", $cvs_path);
		&xinetd::set_member_value($xinet, "server_args",
				"-f --allow-root $config{'cvsroot'} pserver");
		&xinetd::create_xinet($xinet);
		&unlock_file($xconfig{'xinetd_conf'});
		$restart = "xinetd";
		}
	elsif ($has_inetd) {
		# Is there already a service on port 2401, or named cvspserver?
		&lock_file($iconfig{'services_file'});
		&lock_file($iconfig{'inetd_conf_file'});
		foreach $s (&inetd::list_services()) {
			local @al = split(/\s+/, $s->[4]);
			if ($s->[2] == $cvs_port ||
			    $s->[1] eq $cvs_inet_name ||
			    &indexof($cvs_inet_name, @al) >= 0) {
				# Yes! Use it
				$sname = $s->[1];
				last;
				}
			}
		if (!$sname) {
			$sname = $cvs_inet_name;
			&inetd::create_service($sname, $cvs_port, "tcp", undef);
			}
		&inetd::create_inet(1, $sname, "stream", "tcp", "nowait",
				    "root", $cvs_path, "cvs -f --allow-root ".
				    "$config{'cvsroot'} pserver");
		&unlock_file($iconfig{'services_file'});
		&unlock_file($iconfig{'inetd_conf_file'});
		$restart = "inetd";
		}
	else {
		&error($text{'setup_einet'});
		}
	$log = "setup";
	}
elsif ($inet->{'active'}) {
	# Need to de-activate
	if ($inet->{'type'} eq 'inetd') {
		local @i = @{$inet->{'inetd'}};
		&lock_file($i[10]);
		&inetd::modify_inet($i[0], 0, $i[3], $i[4], $i[5],
				    $i[6], $i[7], $i[8], $i[9], $i[10]);
		&unlock_file($i[10]);
		}
	else {
		local $x = $inet->{'xinetd'};
		&lock_file($x->{'file'});
		&xinetd::set_member_value($x, "disable", "yes");
		&xinetd::modify_xinet($x);
		&unlock_file($x->{'file'});
		}
	$log = "deactivate";
	}
else {
	# Need to activate
	if ($inet->{'type'} eq 'inetd') {
		local @i = @{$inet->{'inetd'}};
		&lock_file($i[10]);
		&inetd::modify_inet($i[0], 1, $i[3], $i[4], $i[5],
				    $i[6], $i[7], $i[8], $i[9], $i[10]);
		&unlock_file($i[10]);
		}
	else {
		local $x = $inet->{'xinetd'};
		&lock_file($x->{'file'});
		&xinetd::set_member_value($x, "disable", "no");
		&xinetd::modify_xinet($x);
		&unlock_file($x->{'file'});
		}
	$log = "activate";
	}

# Restart inetd or xinetd
if ($restart eq "inetd") {
	&system_logged(
		"$iconfig{'restart_command'} >/dev/null 2>&1 </dev/null");
	}
else {
	if (open(PID, $xconfig{'pid_file'})) {
		chop($pid = <PID>);
		close(PID);
		&kill_logged('USR2', $pid);
		}
	}
&webmin_log($log);
&redirect("");

07070100000398000081a40000000000000002000000013d1fe2ea000004a1000000200000000000000000000000000000002200000003reloc/pserver/useradmin_update.pl 
do 'pserver-lib.pl';

# useradmin_create_user(&details)
# Create a new CVS user if syncing is enabled
sub useradmin_create_user
{
if ($config{'sync_create'}) {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	local $user = { 'user' => $_[0]->{'user'},
			'pass' => $_[0]->{'passmode'} == 3 ?
			    crypt($_[0]->{'plainpass'}, $salt) : $_[0]->{'pass'},
			'unix' => $config{'sync_user'} };
	&create_password($user);
	}
}

# useradmin_delete_user(&details)
# Delete a mysql user
sub useradmin_delete_user
{
if ($config{'sync_delete'}) {
	local @passwd = &list_passwords();
	local ($user) = grep { $_->{'user'} eq $_[0]->{'user'} } @passwd;
	&delete_password($user) if ($user);
	}
}

# useradmin_modify_user(&details)
# Update a mysql user
sub useradmin_modify_user
{
if ($config{'sync_modify'}) {
	local @passwd = &list_passwords();
	local ($user) = grep { $_->{'user'} eq $_[0]->{'olduser'} } @passwd;
	if ($user) {
		$user->{'user'} = $_[0]->{'user'};
		if ($_[0]->{'passmode'} == 3) {
			$user->{'pass'} = crypt($_[0]->{'plainpass'}, $salt);
			}
		elsif ($_[0]->{'passmode'} != 4) {
			$user->{'pass'} = $_[0]->{'pass'};
			}
		&modify_password($user);
		}
	}
}

1;

   07070100004927000041ed0000000000000001000000043d1ffb1b00000000000000200000000000000000000000000000001100000003reloc/qmailadmin  07070100004928000081e40000000000000002000000013d1fe2e6000009b5000000200000000000000000000000000000001e00000003reloc/qmailadmin/autoreply.pl #!/usr/local/bin/perl
# autoreply.pl
# Simple autoreply script

# read sendmail module config
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
open(CONF, "$1/config") || die "Failed to open $1/config";
while(<CONF>) {
	if (/^(\S+)=(.*)/) {
		$config{$1} = $2;
		}
	}
close(CONF);

# read headers and body
while(<STDIN>) {
	s/\r|\n//g;
	if (/^(\S+):\s+(.*)/) {
		$header{lc($1)} = $2;
		}
	elsif (!$_) { last; }
	}
while(<STDIN>) {
	$body .= $_;
	}
if ($header{'from'} =~ /mailer-daemon/i) {
	print STDERR "Cancelling autoreply to bounced email\n";
	exit 1;
	}
if ($header{'x-webmin-autoreply'}) {
	print STDERR "Cancelling autoreply to an autoreply\n";
	exit 1;
	}

# work out the correct to address
@to = ( &split_addresses($header{'to'}),
	&split_addresses($header{'cc'}),
	&split_addresses($header{'bcc'}) );
$to = $to[0]->[0];
foreach $t (@to) {
	if ($t->[0] =~ /^([^\@\s]+)/ && $1 eq $ARGV[1]) {
		$to = $t->[0];
		}
	}

# build list of default reply headers
$rheader{'From'} = $to;
$rheader{'To'} = $header{'reply-to'} ? $header{'reply-to'}
				     : $header{'from'};
$rheader{'Subject'} = "Autoreply to $header{'subject'}";
$rheader{'X-Webmin-Autoreply'} = 1;
$rheader{'X-Originally-To'} = $header{'to'};

# read the autoreply file
if (open(AUTO, $ARGV[0])) {
	while(<AUTO>) {
		s/\$SUBJECT/$header{'subject'}/g;
		s/\$FROM/$header{'from'}/g;
		s/\$TO/$to/g;
		s/\$DATE/$header{'date'}/g;
		s/\$BODY/$body/g;
		if (/^(\S+):\s*(.*)/ && !$doneheaders) {
			$rheader{$1} = $2;
			}
		else {
			$rbody .= $_;
			$doneheaders = 1;
			}
		}
	close(AUTO);
	}
else {
	$body = "Autoreply file $ARGV[0] does not exist!\n";
	}

# run sendmail and feed it the reply
open(MAIL, "|$config{'qmail_dir'}/bin/qmail-inject");
foreach $h (keys %rheader) {
	print MAIL "$h: $rheader{$h}\n";
	}
print MAIL "\n";
print MAIL $rbody;
close(MAIL);

# split_addresses(string)
# Splits a comma-separated list of addresses into [ email, real-name ] pairs
sub split_addresses
{
local (@rv, $str = $_[0]);
while(1) {
	if ($str =~ /^[\s,]*(([^<>\(\)\s]+)\s+\(([^\(\)]+)\))(.*)$/) {
		push(@rv, [ $2, $3, $1 ]);
		$str = $4;
		}
	elsif ($str =~ /^[\s,]*("([^"]+)"\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>]+)\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\[\]]+)\s+\[mailto:([^\s\[\]]+)\])(.*)$/||
	       $str =~ /^[\s,]*(()<([^\s<>]+)>)(.*)/ ||
	       $str =~ /^[\s,]*(()([^\s<>,]+))(.*)/) {
		push(@rv, [ $3, $2, $1 ]);
		$str = $4;
		}
	else {
		last;
		}
	}
return @rv;
}

   07070100004929000081a40000000000000002000000013d1fe2e600000031000000200000000000000000000000000000001800000003reloc/qmailadmin/config   qmail_dir=/var/qmail
sort_mode=0
max_records=200
   0707010000492a000081a40000000000000002000000013d1fe2e6000000fc000000200000000000000000000000000000001d00000003reloc/qmailadmin/config.info  qmail_dir=QMail base directory,0
sort_mode=Sort tables by,1,0-Order in file,1-Name
max_records=Maxiumum number of records to show in tables,0,6
start_cmd=Command to start QMail,3,Just run rc script
stop_cmd=Command to stop QMail,3,Just kill qmail-send
0707010000492b000081a40000000000000002000000013d1fe2e60000010b000000200000000000000000000000000000002000000003reloc/qmailadmin/config.info.ca   qmail_dir=Directori base de QMail,0
sort_mode=Ordena les taules per,1,0-Ordre del fitxer,1-Nom
max_records=Nombre màxim de registres a mostrar a les taules,0,6
start_cmd=Ordre per iniciar QMail,3,Executa el script rc
stop_cmd=Ordre per aturar QMail,3,Mata qmail-send
 0707010000492c000081e40000000000000002000000013d1fe2e600000262000000200000000000000000000000000000002200000003reloc/qmailadmin/delete_queue.cgi #!/usr/local/bin/perl
# delete_queue.cgi
# Delete a mail messsage from the queue

require './qmail-lib.pl';
&ReadParse();

-r $in{'file'} || &error($text{'delete_egone'});
$in{'file'} =~ /(\d+)\/(\d+)$/;
$id = "$1/$2";
($pid) = &find_byname("qmail-send");
if ($pid && kill(0, $pid)) {
	# Need to stop qmail first
	&kill_logged(TERM, $pid);
	}

unlink("$qmail_mess_dir/$id");
unlink("$qmail_info_dir/$id");
unlink("$qmail_remote_dir/$id");
unlink("$qmail_local_dir/$id");

if ($pid) {
	# Need to re-start qmail
	&system_logged("$qmail_start_cmd >/dev/null 2>&1 </dev/null &");
	}

&redirect("list_queue.cgi");

  0707010000492d000081e40000000000000002000000013d1fe2e600000261000000200000000000000000000000000000002300000003reloc/qmailadmin/delete_queues.cgi    #!/usr/local/bin/perl
# delete_queue.cgi
# Delete multiple mail messsages from the queue

require './qmail-lib.pl';
&ReadParse();

($pid) = &find_byname("qmail-send");
if ($pid && kill(0, $pid)) {
	# Need to stop qmail first
	&kill_logged(TERM, $pid);
	}

foreach $f (split(/\0/, $in{'file'})) {
	$f =~ /(\d+)\/(\d+)$/;
	$id = "$1/$2";
	unlink("$qmail_mess_dir/$id");
	unlink("$qmail_info_dir/$id");
	unlink("$qmail_remote_dir/$id");
	unlink("$qmail_local_dir/$id");
	}

if ($pid) {
	# Need to re-start qmail
	&system_logged("$qmail_start_cmd >/dev/null 2>&1 </dev/null &");
	}

&redirect("list_queue.cgi");

   0707010000492e000081e40000000000000002000000013d1fe2e600000211000000200000000000000000000000000000002200000003reloc/qmailadmin/detach_queue.cgi #!/usr/local/bin/perl
# detach_queue.cgi
# View one attachment from a queued message

require './qmail-lib.pl';
&foreign_require("sendmail", "sendmail-lib.pl");
&foreign_require("sendmail", "boxes-lib.pl");

&ReadParse();
$mail = &read_mail_file($in{'file'});
&foreign_call("sendmail", "parse_mail", $mail);
$attach = $mail->{'attach'}->[$in{'attach'}];

print "Content-type: $attach->{'type'}\n\n";
if ($attach->{'type'} =~ /^text\/html/i) {
	print &filter_javascript($attach->{'data'});
	}
else {
	print $attach->{'data'};
	}

   0707010000492f000081e40000000000000002000000013d1fe2e600000118000000200000000000000000000000000000002000000003reloc/qmailadmin/edit_alias.cgi   #!/usr/local/bin/perl
# edit_alias.cgi
# Edit an existing qmail alias

require './qmail-lib.pl';
&ReadParse();
$a = &get_alias($in{'name'});

&header($text{'aform_edit'}, "");
print "<hr>\n";
&alias_form($a);
print "<hr>\n";
&footer("list_aliases.cgi", $text{'aliases_return'});

07070100004930000081e40000000000000002000000013d1fe2e60000013b000000200000000000000000000000000000002100000003reloc/qmailadmin/edit_assign.cgi  #!/usr/local/bin/perl
# edit_assign.cgi
# Edit an existing mail user assigment

require './qmail-lib.pl';
&ReadParse();
@assigns = &list_assigns();
$a = $assigns[$in{'idx'}];

&header($text{'sform_edit'}, "");
print "<hr>\n";
&assign_form($a);
print "<hr>\n";
&footer("list_assigns.cgi", $text{'assigns_return'});

 07070100004931000081e40000000000000002000000013d1fe2e600000689000000200000000000000000000000000000002000000003reloc/qmailadmin/edit_ffile.cgi   #!/usr/local/bin/perl
# edit_ffile.cgi
# Allow editing of a filter config file

require './qmail-lib.pl';
&ReadParse();

&header($text{'ffile_title'}, "");
print "<hr>\n";
open(FILE, $in{'file'});
while(<FILE>) {
	s/\r|\n//g;
	if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
		push(@filter, [ $1, $2, $3, $4 ]);
		}
	elsif (/^(2)\s+(\S+)$/) {
		$other = $2;
		}
	}
close(FILE);

print "<b>",&text('ffile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";

print "<form action=save_ffile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=name value=\"$in{'name'}\">\n";

$i = 0;
foreach $f (@filter, [ 1, '', '', '' ]) {
	$field = "<select name=field_$i>\n";
	foreach $ft ('', 'from', 'to', 'subject', 'cc', 'body') {
		$field .= sprintf "<option value='%s' %s>%s\n",
			$ft, $f->[2] eq $ft ? "selected" : "",
			$ft ? $text{"ffile_$ft"} : "&nbsp";
		}
	$field .= "</select>\n";

	$what = "<select name=what_$i>\n";
	$what .= sprintf "<option value=0 %s>%s\n",
		$f->[0] == 0 ? "selected" : "", $text{"ffile_what0"};
	$what .= sprintf "<option value=1 %s>%s\n",
		$f->[0] == 1 ? "selected" : "", $text{"ffile_what1"};
	$what .= "</select>\n";

	$match = "<input name=match_$i size=20 value='$f->[3]'>\n";

	$action = "<input name=action_$i size=30 value='$f->[1]'>\n";

	print &text('ffile_line', $field, $what, $match, $action),"<br>\n";
	$i++;
	}
print &text('ffile_other',
	    "<input name=other size=30 value='$other'>"),"<br>\n";

print "<input type=submit value=\"$text{'save'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_alias.cgi?name=$in{'name'}", $text{'aform_return'});

   07070100004932000081e40000000000000002000000013d1fe2e60000032a000000200000000000000000000000000000002000000003reloc/qmailadmin/edit_rfile.cgi   #!/usr/local/bin/perl
# edit_rfile.cgi
# Display the contents of an autoreply file

require './qmail-lib.pl';
&ReadParse();

&header($text{'rfile_title'}, "");
print "<hr>\n";
open(FILE, $in{'file'});
@lines = <FILE>;
close(FILE);

print "<b>",&text('rfile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";

print "<form action=save_rfile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=name value=\"$in{'name'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
      "<input type=reset value=\"$text{'rfile_undo'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_alias.cgi?name=$in{'name'}", $text{'aform_return'});

  07070100004933000081e40000000000000002000000013d1fe2e60000012b000000200000000000000000000000000000002000000003reloc/qmailadmin/edit_route.cgi   #!/usr/local/bin/perl
# edit_route.cgi
# Edit an existing SMTP route

require './qmail-lib.pl';
&ReadParse();
@routes = &list_routes();
$r = $routes[$in{'idx'}];

&header($text{'rform_edit'}, "");
print "<hr>\n";
&route_form($r);
print "<hr>\n";
&footer("list_routes.cgi", $text{'routes_return'});

 07070100004934000081e40000000000000002000000013d1fe2e600000124000000200000000000000000000000000000001f00000003reloc/qmailadmin/edit_virt.cgi    #!/usr/local/bin/perl
# edit_virt.cgi
# Edit an existing qmail virt

require './qmail-lib.pl';
&ReadParse();
@virts = &list_virts();
$v = $virts[$in{'idx'}];

&header($text{'vform_edit'}, "");
print "<hr>\n";
&virt_form($v);
print "<hr>\n";
&footer("list_virts.cgi", $text{'virts_return'});

07070100004935000081a40000000000000002000000013d1fe2e600000078000000200000000000000000000000000000002300000003reloc/qmailadmin/feedback_files.pl    
do 'qmail-lib.pl';

sub feedback_files
{
return ( $qmail_routes_file, $qmail_virts_file, $qmail_assigns_file );
}

1;

07070100004936000081e40000000000000002000000013d1fe2e600000621000000200000000000000000000000000000001b00000003reloc/qmailadmin/filter.pl    #!/usr/local/bin/perl
# filter.pl

# read sendmail module config
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
open(CONF, "$1/config");
while(<CONF>) {
	if (/^(\S+)=(.*)/) {
		$config{$1} = $2;
		}
	}
close(CONF);

# read headers and body
$fromline = <STDIN>;
while(<STDIN>) {
	$headers .= $_;
	s/\r|\n//g;
	if (/^(\S+):\s+(.*)/) {
		$header{lc($1)} = $2;
		}
	elsif (!$_) { last; }
	}
while(<STDIN>) {
	$body .= $_;
	}

# read the filter file
if (open(FILTER, $ARGV[0])) {
	while(<FILTER>) {
		s/\r|\n//g;
		if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
			push(@filter, [ $1, $2, $3, $4 ]);
			}
		elsif (/^(\S+)\s+(\S+)$/) {
			push(@filter, [ $1, $2 ]);
			}
		}
	close(FILTER);
	}
else {
	print STDERR "Filter file $ARGV[0] does not exist!\n";
	exit 1;
	}

# run the filter to find the first matching rule
open(LOG, ">>$ARGV[0].log");
foreach $f (@filter) {
	local $field = $f->[2] eq 'body' ? $body : $header{$f->[2]};
	local $st = 0;
	if ($f->[0] == 0) {
		$st = ($field !~ /$f->[3]/i);
		}
	elsif ($f->[0] == 1) {
		$st = ($field =~ /$f->[3]/i);
		}
	elsif ($f->[0] == 2) {
		$st = 1;
		}
	if ($st) {
		# The rule matched!
		if ($f->[1] =~ /^\//) {
			# Write to a file
			open(MAIL, ">>$f->[1]");
			print MAIL $fromline;
			}
		else {
			# Forward to another address
			$f->[1] =~ s/\\/\\\\/g;
			$f->[1] =~ s/'/\\'/g;
			open(MAIL, "|$config{'qmail_dir'}/bin/qmail-inject '$f->[1]'");
			}
		print MAIL $headers;
		print MAIL $body;
		close(MAIL);
		$now = localtime(time());
		print LOG "[$now] [$header{'from'}] [",join(" ",@$f),"]\n";
		last;
		}
	}

   07070100006001000041ed0000000000000001000000023d1ffb1a00000000000000200000000000000000000000000000001800000003reloc/qmailadmin/images   07070100006061000081a40000000000000002000000013d1fe2e60000018d000000200000000000000000000000000000002400000003reloc/qmailadmin/images/aliases.gif   GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ   ÿÿ     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8ëÍ;`(Žd	z¬lë¾°€Nê`ö ïDO²Bµ+º
È_pF4:†‚R8tZ	Ð©°¹ÊétÖÖò@æÔ¾-/ËËÉ‡}«wïv÷^Îœq8utm€z|~iaFK{}\7‹bp”aŽq™V›œžŸŒ— ª«¬­®¯¡§T´–µ¸³¹µ»¼T¾¿3ÁÂÄÅÇÈÊË¦·ÎÉÐÑÌÓÔÏ)&ÛÜ'¶Ù)¤¥ßž‚ha>ZÄ‘¤HR@ä£â+Pðc¢óôXêeÊ‘ÔzƒÓ0]Îµ™Ä‚ 5xIsP¢‡àP:Hqcž‹)œ *	#HY|49J;z+bÉÃ%Í25¤‚Å³gÎk@ƒNˆ  ;   07070100006062000081a40000000000000002000000013d1fe2e600000186000000200000000000000000000000000000002400000003reloc/qmailadmin/images/assigns.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100006063000081a40000000000000002000000013d1fe2e60000016a000000200000000000000000000000000000002100000003reloc/qmailadmin/images/bads.gif  GIF87a0 0 Â  ÿÿÿÿ  ÌÌÌ™™™fff ÿ ÿÿ   ÿ,    0 0  þºÜþ0ÊI«½x†;Ø†ž5Šg©¥ÍHªÉpËBtýÝ3ïå`Gô™Œr©t1ŸÐ¥3šÄ!­ È J  º^Ë)˜Í†`»HÆ¶,àlØ¨Ù
7øVÀý,gkU+r(‰stf†mDB‚yG‹D”•–w‡‘)c‚g˜ n
]`b.Wx¨­µ|]¯·µ{²©_Á«{a®,Å|Â¿´»ÄÃ¯Â¼Ê¾¡½¹/ÌÙºÛÖÅ¶Æº2âÜÉªÍ9ä^ëZáñÁæ´4ðòÍÄ; ­ë\ôŠe-¬?
Ò\DF›…q¾!’Ø â„Š(Vk38 £Ç.>Šé1$É‰»ÁZ¨F/‹0l¨ÐÌˆ)aü‰™aÏ!>VÖÚ²&Ì¢F“*]º4 ;  07070100006064000081a40000000000000002000000013d1fe2e60000016f000000200000000000000000000000000000002200000003reloc/qmailadmin/images/boxes.gif GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8ëÍ»ÿ`(Ždiž¨¬@®A¬.Ë8][7îÏ­¢÷+êPÄ¢hJ.ŸÇóIev¦Õl”Èz—[I÷KV'¬´zÍn»£ã²Ü' tƒ >×Ïeuh^‚…‡bz}“‰8‚†v•U—„œO—›ˆ£K¥¦§¡ª«E—‚©‘²_C¸¹¢dÁ¿2ÁYºq¹†¿Å†^Ç1ËÂÂÊÃÑÍÑØÄÌ¶»×ÐÐÃÞÕÍÞßáÕ¾äÕáæÔãçäêéãÊÄíÛËöðÜcùêÔ8¤í›î\:^OžmCXäC*.‰(±¡3jÜ¨QˆÇ CŠI²¤É	  ; 07070100006065000081a40000000000000002000000013d1fe2e600000799000000200000000000000000000000000000002100000003reloc/qmailadmin/images/icon.gif  GIF89a0 0 ç  
j
<r:J’F†’Š‚º‚


žº¢ºÊ¾®.¢Úž&&&nR222ÖâÒRvVJR
ÙêÛfâòà>>>.n.r¶rjjjZŠZˆ®ˆòòò666jªf&j*õöõ¦Â¦–¶’jzj^’^:z>^Ž^f6^
‚ª~ÊÊÊ"j ŠÊŠ‚N"ªÆ¦úúúj^ž[~~~>VÃÚÅ†¦ŠbJJJZZZržn¦®zÒF2ÞêÞúþöBŠFš®šŽŽŽb’¦’H~Hººº.z.¢²¢^^^š¾žV†VjÂÂÂfšfæææ¾æ¾–––~ª‚ÎÎÎ•Ò”d¦dþþú2^f
òúî¶Î¶¢¢¢*v*NrJ®®®‚¾‚ƒ‚‚ÚÚÚ:‚:ÊÞÊÒÒÒ~Â~îòòfj
êêêª6ZžZNNNÚÞÚ‚††fnnnnšnžžžR–SvvvÀÒÀ6‚6
j²²²f Ä¤Š²Žn®lfbbbªª¦†Âˆþúþ6v6j–j"""~¾zN†JÎâÌ’’’b¦>FrFöþòTšTîîîNŽNFFFVVVþþþy¶yºÒ²îöêffÕÖÖÞÞÞj††‡rrršÒšn¦¦¦fffúþú&r&z¦zVŽZf¢f™š™v²rn¢r6~6ÊŽÂÆÆzz{fâââb’ajÒæÚŽ¶š¾ÖÁ‚Æ‚Z’^†Æ†f¯6’²Šæòè***I‚H|ºx‘Îj öúö;v;RRRr²qÑæÒúþþjz¢zj¦fZšVÂÖÁnžv
n
½¾½šÖš2z4ŠŠŠºÖ¼f.r*)n'áîãRŠN=†<jžp¶¶¶bi®i^¢^bžb‚Š†f–f²:fŠÆŠ6z3¦Æ¨:~8"n"<ZDŽBîúð¶’æöæf"–Òšöþøòúõ/r1*n.SŠUj
öòöÆÆÆnžl6^n&fžj¢¾žšÂž.b,    0 0  þ #	H° Áƒ*\È°¡Ã‡#JœH±¢Å„¯.jTEcÅWoÜx\xçƒƒ­Þ$ØppÛ.æôcÐ…¦“7Ì1õÒc ½z¤¢é ´7FFãfN‚EŠéãEi$1RäîXAn„*%ã4¼Xvm90I¨H€ž•zªô˜§"ÉŒ³d	2>5|±»†á-E_X¤"L¢ ö&dÂ3nÂK™&£áPM&Lº¸ñ¤>‚×°M0¡Œµ4ÆƒQ[åJ¨ÖtÑÇ”)­
]4r€ë0¸¼|•É$°Ë²ÉÆ¨–”lx& 	o boþ5tqI‰7Ï„eÀS†Ï”DÊ”A†Ov-öð™ÀŠðVÒœ‘]Ê=N@@xì±Ç8±Øg_}ÈØÃ)„ð€+A¸qIE€P ÏÈ,#É~™ #õMÀ^&LÁ— ÇQDyà‘‰
Ð$‡e£M“@O%m´V‰ó¸ÈŒgBÏ±LÁHxX2!Çx0G b‡‹=HB¥­cA_œ$‘I&ãL#Ð1o(eD–‹YúD¼DE$”a	œ°‡Œ#†tXaOäha‰
ºB—x1È'øà£„– £9Ù•æATbOvþ’ÔQ7„ŠÏ«ã‘dá  x¡	"XRF ,7Î.€:”WH¸8Á)`”Ql°áÅo<IhQÏ3‘ú€%¸Â§±Út<ÂCE<$`‰ÌDàáÊŸ5âD#QÒ‰Ü´Ë\3Ã0ÑDSŽ æ€`‰=¥¾S	åðP¾hWLò!³3ìÕ á2Ö”ÑZ*„Œ*€4*Ñ.–iL%˜@°PeÆNP‰*åLf”"
V”c%öŒ@KV ¡O&eŒ‰Œ¿Xa‰<W”+Ñ1^]¢öpó‡@”@@èR…%|”„:ªPÀþ8æðÚÐ¯|à…; I°Ó¨ŒFP'ÑA-´6Ê¹€AŸDÑeÖ‰+Œ4a&(	Ý, ±8ã/	=ƒ	B.ÀC
3È7A	üŒ9 Ž+Ë!Ä5	‰ñ†¥Ü V$üpÇ% eŒ/|d-<ë’NöX‘Éf¼œAÅŠEÒKô‘Å' lê˜ŒÀLfÇ	Ú`j„ÃkàÀ*Ô€‹'ÄánXEJ‰'àrÈ1Þ'fL ‰ˆ |qP ‚[   O  ½xÃ3Þ 	BäF¡CÚÐ ”a‚üÚD=\è<Á 8„4êq”ô!Ù™j ™Æ  ¢V…UÔ£oðÂœÅ‰È‚Ú€C3HÁ¯DB	?Ã!žÁ'¸ lðÄðqˆ;áÀœDš5(¤IÄ&¡ˆWä	7FÄ÷°ŠDÈ ÉˆlÀo•L&3É€  ;   07070100006066000081a40000000000000002000000013d1fe2e60000010a000000200000000000000000000000000000002300000003reloc/qmailadmin/images/locals.gif    GIF89a0 0 €  ÿÿÿfff!ù    ,    0 0  á„©ËÍ‚®Ú‰¼ÜmªE&bI¥[&}Ú»ðáª¯y×s;ß{Þ£_2žOGüáP-É9Z©š¥eçÚ‰°Ü®÷‹Çä²¹¢=sV>õ#mNO4žöùŒé‘m ‘Ýó§”Ôçg"5dwHøc„“È$™#"%’‚iÈ)ä‘¦°µFçfzŠšªºÊYºÐ9ÆûVU)gWj3%ªGD%4ùˆQ¤¨ø‘Ül˜ÌXHÉ|w÷‹KÕËÚpÍý.>ŽŠWÎ’á¦ãäž¼úê+È¾½(-dŒ4êP  ;  07070100006067000081a40000000000000002000000013d1fe2e6000001cc000000200000000000000000000000000000002100000003reloc/qmailadmin/images/opts.gif  GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100006068000081a40000000000000002000000013d1fe2e6000000e6000000200000000000000000000000000000002500000003reloc/qmailadmin/images/percents.gif  GIF87a0 0 ¡  ÿÿÿfff      ,    0 0  ¿„©Ëí£œô…`¯¸²î`Ýè-^†È§Ú‚ë(“ñŠ‹l‹£HÚã‘l·-$ÚŒ®bN˜ 
a0_rFÓ-¥®÷–ÆaïXPîžÓ¥5»â~Oâò½þ¸ãúý¢ï— x0H`H˜¸è×¸÷øv6IvXH‰f‰@©©‰—Ù):jrÂ&ÓPƒÔõ’²ÅòúôÃuã”+U…ºÔÃ|KÕ$L+ëLtCûûë¬=S¡JŠrŠ½ÍMX  ;  07070100006069000081a40000000000000002000000013d1fe2e600000176000000200000000000000000000000000000002200000003reloc/qmailadmin/images/queue.gif GIF89a0 0 Â  ÌÌÌÿÿÿ™™™fff ÿ   ÿÿ  ÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊIë8ëÍ;¶Œdiž¨ .âàî€ÎDMêzˆ^ïg+ÞlHÄ­W¬X²Ýr!“X¨>¼Ÿ–Ez§`èD˜”-ÁNc…V×µWÔFp5…½íÇs_uDb|0J/h6z |~}{tƒC…•ˆfŠSi™l—%oq”d’[©¥3¡‡KgŸŒ±!®¯§‘«?­R¼&¸,›´žL Ä‚¯¾È
£»¯wyÓÉªÂ>Ï–Æ$ÚÕBË2‹5¿ŽÖ¥Ò]Å×x¨€ð¥wóÀºàœfƒÚ!¼()ã\¿‚Š ná/†žSHM`C‡>œ*D	ƒ¯(&#X«ŽÈŠáJœÜ‘R¥–-G¬|$ ¦Í›8sê|É³§Ïž	  ;  0707010000606a000081a40000000000000002000000013d1fe2e600000163000000200000000000000000000000000000002200000003reloc/qmailadmin/images/rcpts.gif GIF87a0 0 ã  ÿÿÿ ½ ÌÌÌ™™™fff ÿ ÿÿ ÿ    ÿ                     ,    0 0  þÈI«½8ëÍ»ÿ`„ä6–èu¦,°¶hðÂäLƒò]æzm÷¦ŸD@,È¤R8R@o2x„+V{e1CP@£’¯áp—‡Úì6ÛúØ²mƒõf|L`o g@_„„‡{=L†”€p[XsLˆŠ›¢s£¥˜’£ r\›]¤°˜©®t¬˜q¢q»°rµ±«³’¹0’BTÄr¦¦º.LÆÊ™]º¤­YÌÓÊÚ··ã­ßÚâÐ¶¾™¨ÈÖâ;Èô!ÌÍóÄRûè÷úùû¡ï¨*D(I¡¾…!úðDÍš4ú ^Ä˜qÊFŽ?ŠÈ(r Å’#O¢œ`q%•.YÆœé2 ; 0707010000606b000081a40000000000000002000000013d1fe2e6000000f8000000200000000000000000000000000000002300000003reloc/qmailadmin/images/routes.gif    GIF89a0 0 ¡  ÿÿÿfff      !ù    ,    0 0  É„©Ëíb|´ª°ÝNK¬q"å|Æ'ea·®eÓ´—m³¢¼yÑÙ~21g™Mzµ®9¤€–=ÓÙª&E¯ƒ%õŠ/Ý±H`Nlµ˜wŸáq9§nßàó–=ÿA÷GA‡fFxˆx¨–Èˆ¸ØÙ&88I)iéà—©°É™àùéø	ZIZZxÚ©ÊÚš¤BRÆ×u•iµ5¹sâÓ"S&ûUƒ;ÄTvõTÌ$¤Üdìœû ´;}=]15eÒû½,ìêâKÎW  ;0707010000606c000081a40000000000000002000000013d1fe2e6000001c3000000200000000000000000000000000000002200000003reloc/qmailadmin/images/virts.gif GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ   ÿ   ÿ  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8SÀ»ÿ`Èiœhª®¬@^¦(ÏÝ»&«ï¨kK±À€FÙ‚8ž²uL&Paty"X		™£ê
`¬Ï@.9»ÞÕáPKÈeKp˜ÖÖn<~Ë¡¥QuY{s&)PS€Œ'Zo|@g'‚˜™B—œŠ‚„p}'‰˜€R›Œ©‘¢\‹ƒ+’¯ ~*³µ“‡¤³<¿z”¸ºÄ;ÆÇÁrÌ:Î·Ê×ØÙÚÛÊÕ?à/ßáäãåèÀéë…Èìåçïàñò6·Eø5$÷ÒLû|¥N}Zr%O†j~òáóFiW?Ô¤ˆJAP¡9”¦Fh_Ï„Ñé·Æ£–2ã62»sÀàw‰þôtÒP´'¨PTTµ*EÍsMQÜ”JD[/o&BÕSè*S>‘&½á„“,={€Séˆ˜3Êþ<üšAl?²fF%—‹›Û·hëÕ‹  ; 07070100004937000081e40000000000000002000000013d1fe2e600000932000000200000000000000000000000000000001b00000003reloc/qmailadmin/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display icons for various things that can be configured in qmail

require './qmail-lib.pl';

&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("qmail", "man:$config{'qmail_dir'}/man", "google"));
print "<hr>\n";

# Check if qmail is installed
if (!-d $config{'qmail_dir'}) {
	print "<p>",&text('index_edir', "<tt>$config{'qmail_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!-d $qmail_alias_dir || !-d $qmail_bin_dir) {
	print "<p>",&text('index_edir2', "<tt>$config{'qmail_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@olinks = ( "list_opts.cgi", "list_aliases.cgi", "list_virts.cgi",
	    "list_locals.cgi", "list_rcpts.cgi", "list_bads.cgi",
	    "list_routes.cgi", "list_percents.cgi", "list_queue.cgi",
	    "list_assigns.cgi" );

@otitles = ( "$text{'opts_title'}<br>(control)</tt>",
	     "$text{'aliases_title'}<br>(alias)",
	     "$text{'virts_title'}<br>(virtualdomains)",
	     "$text{'locals_title'}<br>(locals)",
	     "$text{'rcpts_title'}<br>(rcpthosts)",
	     "$text{'bads_title'}<br>(badmailfrom)",
	     "$text{'routes_title'}<br>(smtproutes)",
	     "$text{'percents_title'}<br>(percenthack)",
	     "$text{'queue_title'}",
	     "$text{'assigns_title'}<br>(assign)" );

@oicons = ( "images/opts.gif", "images/aliases.gif", "images/virts.gif",
	    "images/locals.gif", "images/rcpts.gif", "images/bads.gif",
	    "images/routes.gif", "images/percents.gif", "images/queue.gif",
	    "images/assigns.gif" );

# XXX show mail queue and qmail-users stuff
&icons_table(\@olinks, \@otitles, \@oicons);

# Check if the qmail processes are running
print "<hr>\n";
print "<table cellpadding=5 width=100%><tr>\n";
($pid) = &find_byname("qmail-send");
if ($pid && kill(0, $pid)) {
	print "<form action=stop.cgi>\n";
	print "<td><input type=submit value=\"$text{'index_stop'}\">\n";
	print "</td> <td>$text{'index_stopmsg'}\n";
	}
else {
	print "<form action=start.cgi>\n";
	print "<td><input type=submit value=\"$text{'index_start'}\">\n";
	print "</td> <td>",&text('index_startmsg',
	      "<tt>$qmail_start_cmd</tt>"),"</td>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  070701000077bb000041ed0000000000000001000000023d1ffb1a00000000000000200000000000000000000000000000001600000003reloc/qmailadmin/lang 070701000077bc000081a40000000000000002000000013d1fe2e600002a9e000000200000000000000000000000000000001900000003reloc/qmailadmin/lang/ca  index_title=Configuració de QMail
index_edir=El directori base $1 de QMail no existeix. Pot ser que QMail no estigui isntal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_edir2=No sembla que el directori $1 sigui el directori base de QMail. Pot ser que QMail no estigui isntal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_return=a la configuració de QMail
index_stop=Atura els processos QMail
index_stopmsg=Fes clic sobre aquest botó per aturar els processos QMail en segon pla responsables del lliurament del correu en cua. Sense aquest processos, no s'enviarà ni es rebrà correu apropiadament.
index_start=Inicia els processos QMail
index_startmsg=Fes clic sobre aquest boto per iniciar els processos QMail en segon pla responsables del lliurament del correu en cua. Sense aquest processos, no s'enviarà ni es rebrà correu apropiadament.

opts_title=Opcions de QMail
opts_me=Nom de host local
opts_helo=Nom de host per a SMTP HELO
opts_toconnect=Temps límit d'espera de connexió SMTP
opts_secs=segons
opts_toremote=Temps límit d'espera de connexió SMTP sortint
opts_bytes=Mida màxima de missatge
opts_unlimited=Il·limitada
opts_timeout=Temps límit d'espera de dades SMTP entrants
opts_localip=Nom de host per enviar correu a l'adreça IP local
opts_greet=Missatge de benvinguda SMTP
opts_err=No he pogut desar les opcions de QMail
opts_eme=Nom de host local invàlid
opts_etoconnect=Temps límit d'espera de connexió SMTP invàlid
opts_etoremote=Temps límit d'espera de connexió SMTP sortint invàlid
opts_ebytes=Mida màxima de missatge invàlida
opts_etimeout=Temps límit d'espera de dades SMTP entrants invàlid
opts_elocalip=Nom de host per a l'adreça IP local invàlid

aliases_title=Àlies de Correu
aliases_addr=Adreça
aliases_to=Àlies de...
aliases_type1=Adreça $1
aliases_type2=Directori de correu $1
aliases_type3=Fitxer de correu $1
aliases_type4=Programa $1
aliases_type5=Fitxer d'autoresposta $1
aliases_type6=Aplica el fitxer de filtre $1
aliases_none=Cap
aliases_return=a la llista d'àlies
aliases_toomany=Hi ha massa àlies de correu al teu sistema com per mostrar-los en aquesta pàgina.
aliases_go=Busca els àlies que coincideixin amb:

aform_type0=Cap
aform_type1=Adreça de correu
aform_type2=Directori de correu
aform_type3=Fitxer de correu
aform_type4=Dóna-ho al programa
aform_type5=Autoresposta del fitxer
aform_type6=Aplica el fitxer de filtre
aform_edit=Edita d'Àlies
aform_create=Crea Àlies
aform_name=Adreça
aform_val=Àlies de
aform_afile=Edita...
aform_novirt=&lt;Tots els dominis&gt;
aform_return=a l'àlies

asave_err=No he pogut desar l'àlies
asave_eaddr='$1' no és una adreça vàlida
asave_ealready=Ja existeix un àlies de '$1'
asave_etype1='$1' no és una adreça de correu vàlida
asave_etype2='$1' no és un directori de correu vàlid
asave_etype3='$1' no és un nom de fitxer de correu vàlid
asave_etype4='$1' no és un programa vàlid o no existeix
asave_etype5=El fitxer d'autoresposta '$1' no és vàlid
asave_etype4none=No has donat cap programa
asave_etype6=El fitxer de filtre '$1' no és vàlid

boxes_title=Bústies d'Usuari

locals_title=Dominis Locals
locals_domains=Dominis locals d'aquest servidor
locals_desc=Qmail acceptarà retrametre o lliurar localment correu només als dominis de correu i noms de hosts llistats a la caixa de l'esquerra. Si vols que el servidor de correu gestioni dominis de correu múltiples, cal que estiguin tots llistats en aquest formulari.
locals_only=Només el nom de host local $1
locals_sel=Els dominis llistats...

rcpts_title=Dominis Acceptats
rcpts_domains=Dominis locals i de reemissió acceptats
rcpts_all=Qualsevol domini
rcpts_sel=Dominis llistats...
rcpts_desc=Qmail acceptarà retrametre o lliurar localment correu només als dominis de correu i noms de hosts llistats a la caixa de l'esquerra. També pots introduir-hi patrons que coincideixin amb tots els hosts d'un domini local, com <tt>.foo.com</tt>. Si vols que el teu servidor de correu retrameti el correu dels clients, cal que acceptis correu des de qualsevol domini.
rcpts_domains2=Dominis locals i de reemissió addicionals
rcpts_desc2=Si tens un nombre gran de dominis acceptats, hauries d'introduir en aquesta caixa els que es facin servir amb menys freqüència. En general, els teus primers 50 dominis permesos s'haurien d'introduir a la caixa de text superior,  la resta en aquesta altra.

bads_title=Adreces Rebutjades
bads_addresses=Adreces de correu rebutjades
bads_desc=Qmail rebutjarà retrametre o lliurar localment correu des dels dominis de correu i noms de hosts llistats a la caixa de l'esquerra, que s'han d'introduir com <tt>usuari@nomdedomini</tt>. Si vols rebutjar el correu des de tot un domini, cal introduir-lo com a <tt>@nomdedomini</tt>.

routes_title=Rutes de Dominis
routes_toomany=Hi ha massa rutes de dominis al sistema com per poder-les mostraren aquesta pàgina.
routes_go=Busca les rutes de dominis que coincideixin amb:
routes_from=Correu del domini
routes_to=Envia a través del servidor
routes_direct=Lliura directament
routes_defroute=Lliura tota la resta de correu a través de: 
routes_return=a les rutes de dominis

rform_edit=Edita la Ruta de Domini
rform_create=Creat la Ruta de Domini
rform_from=Correu del host o domini
rform_to=Envia a través del servidor SMTP
rform_port=Port SMTP

rsave_err=No he pogut desar la ruta de domini
rsave_efrom='$1' no és un nom de domini vàlid
rsave_eto='$1' no és un servidor SMTP vàlid
rsave_eport='$1' no és un número de port vàlid

percents_title=Dominis d'Adreces %
percents_domains=Dominis que suporten adreces %
percents_desc=QMail acceptarà correu amb adreces amb format <tt>usuari%primerdomini@segondomini</tt> si <tt>segondomini</tt> està llistat al la caixa de l'esquerra. Llavors, els missatges amb aquest format seran reenviats a <tt>usuari@primerdomini</tt> per aquest servidor de corre.

virts_title=Mapejats Virtuals
virts_toomany=Hi ha massa mapejats virtuals al sistema com per mostrar-los tots em aquesta pàgina.
virts_go=Busca els mapejats virtuals que coincideixin amb:
virts_from=Correu per a
virts_prepend=Afegeix prefix
virts_all=Totes les adreces
virts_none=No virtual
virts_desc=QMail fa servir els mapejats virtuals per gestionar el correu per a diferents dominis dins del servidor, prefixant el text ide l'adreça de correu de la part de l'usuari abans de cap altre procés. Pots fer-los servir per establir dominis de correu virtuals, creant un mapejat nou per a un domini i fent servir llavors la pàgina d'<a href='$1'>Àlies de Correu</a> per crear àlies en aquest domini.
virts_return=als mapejats virtuals

vform_edit=Edita Mapejat Virtual
vform_create=Creat Mapejat Virtual
vform_from=Correu per a l'adreça
vform_all=Qualsevol adreça que no coincideixi amb cap altre mapejat virtual
vform_domain=Adreces amb domini
vform_user=Adreça
vform_to=Prefixa l'usuari amb
vform_none=Res
vform_prepend=Prefix especificat
vform_auto=Prefix triat automàticament

vsave_err=No he pogut desar el mapejat virtual
vsave_edomain='$1' no és un domini de correu vàlid
vsave_euser='$1' no és un nom d'usuari de correu vàlid
vsave_eprepend='$1' no és un prefix de mapejat vàlid
vsave_eboth=No pots seleccionar '$vform_all' i '$vform_none' alhora

stop_err=El procés qmail-send ja no està en execució

log_stop=Processos QMail aturats
log_start=Processos QMail iniciats
log_opts=He canviat les opcions de QMail
log_alias_create=He creat l'àlies $1
log_alias_delete=He suprimit l'àlies $1
log_alias_modify=He modificat l'àlies $1
log_virt_create=He creat el mapejat virtual $1
log_virt_delete=He suprimit el mapejat virtual $1
log_virt_modify=He modificat el mapejat virtual $1
log_virtall_create=He creat el mapejat virtual global
log_virtall_delete=He suprimit el mapejat virtual global
log_virtall_modify=He modificat el mapejat virtual global
log_locals=He canviat els dominis locals
log_rcpts=He canviat els dominis acceptats
log_bads=He canviat les adreces rebutjades
log_percents=He canviat els dominis d'adreces %
log_route_create=He creat la ruta de $1
log_route_delete=He suprimit la ruta de $1
log_route_modifed=He modificat la ruta de $1
log_defroute=He modificat la ruta per defecte
log_assign_create= He creat l'usuari de correu $1
log_assign_delete=He suprimit l'usuari de correu $1
log_assign_modifed=He modificat l'usuari de correu $1

rfile_title=Edició del Fitxer d'Autoresposta
rfile_desc=Fes servir l'àrea de text de sota per editar el missatge d'autoresposta de $1. El missatge pot contenir les macros $SUBJECT, $FROM, $TO, $DATE i $BODY, que s'expandiran quan s'activi l'autoresposta.
rfile_efile=No tens permís per editar $1.
rfile_undo=Desfés els canvis

ffile_title=Edició del Fitxer de Filtre
ffile_desc=Fes servir el formulari de sota per configurar les regles de filtratge del fitxer al fitxer $1.
ffile_efile=No tens permís per editar $1.
ffile_line=Si el camp $1 $2 $3 llavors redirecciona'l a $4
ffile_from=de
ffile_to=a
ffile_subject=títol
ffile_cc=CC
ffile_body=cos
ffile_what0=no coincideix amb
ffile_what1=coincideix amb
ffile_other=Altrament redirecciona'l a $1
ffile_err=No he pogut desar el fitxer de filtre
ffile_ematch=Hi falta el patró
ffile_eaction=Hi falta l'adreça de redirecció

queue_title=Cua de Correu
queue_none=Actualment no hi ha cap missatge en cua per a lliurar
queue_id=ID del Correu
queue_date=Enviat
queue_from=De
queue_to=A
queue_cc=Cc
queue_subject=Tema
queue_return=a la cua de correu
queue_delete=Suprimeix els missatges seleccionats
queue_all=Selecciona'ls tots
queue_invert=Inverteix la selecció

view_title=Missatge en Cua
view_desc=Del fitxer $1
view_headers=Capçaleres de correu
view_attach=Adjuncions

assigns_title=Assignacions d'Usuari de Correu
assigns_return=a les assignacions d'usuari de correu
assigns_toomany=Hi ha massa usuaris de correu al sistema com per mostrar-los en aquesta pàgina.
assigns_go=Busca usuaris de correu que coincideixin amb:
assigns_address=Adreça de destinació
assigns_user=Usuari Unix
assigns_uid=UID
assigns_gid=GID
assigns_home=Directori arrel
assigns_desc=Les assignacions d'usuaris de correu permeten crear bústies per als usuaris que no estan definits a la llista d'usuaris de Unix. Cada assignació lliurarà el correu d'un usuari o un patró d'usuaris triat, com si s'estigués lliurant a la bústia d'un usuari real de Unix.

sform_edit=Edita usuari de correu
sform_create=Crea usuarid e correu
sform_address=Nom d'usuari de l'adreça
sform_mode0=Nom d'usuari exacte
sform_mode1=Noms d'usuaris que comencin amb
sform_user=Usuari Unix
sform_uid=UID
sform_gid=GID
sform_home=Directori arrel

ssave_err=No he pogut desar l'usuari de correu
ssave_eaddress=Hi falta el nom d'usuari de l'adreça o bé és invàlid
ssave_euser=Hi falta l'usuari Unix o bé és invàlid
ssave_euid=Hi falta l'UID o bé és invàlid
ssave_egid=Hi falta el GID o bé és invàlid
ssave_ehome=Hi falta el directori arrel o bé és invàlid

delete_egone=El missatge en cua ja no existeix


  070701000077bd000081a40000000000000002000000013d1fe2e60000259c000000200000000000000000000000000000001900000003reloc/qmailadmin/lang/en  index_title=QMail Configuration
index_edir=The QMail base directory $1 does not exist. Maybe QMail is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_edir2=The directory $1 does not appear to be the QMail base directory. Maybe QMail is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_return=QMail configuration
index_stop=Stop QMail Processes
index_stopmsg=Click this button to stop the background QMail processes responsible for delivering queued mail. Without these processes, mail will not be sent out from or delivered to your system properly.
index_start=Start QMail Processes
index_startmsg=Click this button to start the background QMail processes responsible for delivering queued mail. Without these processes, mail will not be sent out from or delivered to your system properly.

opts_title=QMail Options
opts_me=Local host name
opts_helo=Hostname for SMTP HELO
opts_toconnect=SMTP connection timeout
opts_secs=seconds
opts_toremote=SMTP outgoing response timeout
opts_bytes=Maximum message size
opts_unlimited=Unlimited
opts_timeout=SMTP incoming data timeout
opts_localip=Hostname for email to local IP address
opts_greet=SMTP greeting message
opts_err=Failed to save QMail options
opts_eme=Invalid local host name
opts_etoconnect=Invalid SMTP connection timeout
opts_etoremote=Invalid SMTP outgoing response timeout
opts_ebytes=Invalid maximum message size
opts_etimeout=Invalid SMTP incoming data timeout
opts_elocalip=Invalid local IP address hostname

aliases_title=Mail Aliases
aliases_addr=Address
aliases_to=Alias to..
aliases_type1=Address $1
aliases_type2=Mail directory $1
aliases_type3=Mail file $1
aliases_type4=Program $1
aliases_type5=Autoreply file $1
aliases_type6=Apply filter file $1
aliases_none=None
aliases_return=alias list
aliases_toomany=There are too many mail aliases on your system to display on this page.
aliases_go=Find aliases matching:

aform_type0=None
aform_type1=Email address
aform_type2=Mail directory
aform_type3=Mail file
aform_type4=Feed to program
aform_type5=Autoreply from file
aform_type6=Apply filter file
aform_edit=Edit Alias
aform_create=Create Alias
aform_name=Address
aform_val=Alias to
aform_afile=Edit..
aform_novirt=&lt;All domains&gt;
aform_return=alias

asave_err=Failed to save alias
asave_eaddr='$1' is not a valid address
asave_ealready=An alias for '$1' already exists
asave_etype1='$1' is not a valid email address
asave_etype2='$1' is not a valid mail directory
asave_etype3='$1' is not a valid mail filename
asave_etype4='$1' is not a valid program or does not exist
asave_etype5=Autoreply file '$1' is not valid
asave_etype4none=No program given
asave_etype6=Filter file '$1' is not valid

boxes_title=User Mailboxes

locals_title=Local Domains
locals_domains=Local domains for this server
locals_desc=Qmail will accept for delivery to local users email to the domains and hostnames listed in the text box to the left. If you want your mail server to handle multiple email domains, they should all be listed on this form.
locals_only=Only local hostname $1
locals_sel=Domains listed below ..

rcpts_title=Accepted Domains
rcpts_domains=Accepted local and relay domains
rcpts_all=Any domain
rcpts_sel=Domains listed below ..
rcpts_desc=Qmail will accept for relaying or local delivery only mail to domains and hostnames listed in the text box to the left. You can also enter wildcards that match all hosts in a domain like <tt>.foo.com</tt>. If you want your mail server to relay email for clients, you must accept mail from any domain.
rcpts_domains2=Additional local and relay domains
rcpts_desc2=If you have a large number of accepted domains, less commonly used ones should be entered into this text box. In general, your first 50 allowed domains should be entered into the upper text box, and the rest into this one.

bads_title=Rejected Addresses
bads_addresses=Rejected email addresses
bads_desc=QMail will reject mail for delivery or relaying from any of the addresses listed in the text box to the left, which must be entered as <tt>username@domainname</tt>. If you want to reject mail from an entire domain, it should be entered as <tt>@domainname</tt>.

routes_title=Domain Routing
routes_toomany=There are too many domain routes on your system to display on this page.
routes_go=Find domain routes matching:
routes_from=Mail for domain
routes_to=Send via server
routes_direct=Deliver directly
routes_defroute=Deliver all other outgoing mail via: 
routes_return=domain routes

rform_edit=Edit Domain Route
rform_create=Create Domain Route
rform_from=Mail for host or domain
rform_to=Send via SMTP server
rform_port=SMTP port

rsave_err=Failed to save domain route
rsave_efrom='$1' is not a valid domain name
rsave_eto='$1' is not a valid SMTP server
rsave_eport='$1' is not a valid port number

percents_title=% Address Domains
percents_domains=Domains which support % addresses
percents_desc=QMail will accept email with addresses in the format <tt>user%firstdomain@seconddomain</tt> if the <tt>seconddomain</tt> is listed in the text box to the left. Messages in this format will then be forwarded on to <tt>user@firstdomain</tt> by this mail server.

virts_title=Virtual Mappings
virts_toomany=There are too many virtual mappings on your system to display on this page.
virts_go=Find virtual mappings matching:
virts_from=Mail for
virts_prepend=Prepend prefix
virts_all=All addresses
virts_none=Not virtual
virts_desc=Virtual mappings are used by QMail to handle email to different domains on your server, by prepending text to the user part of the email address before further processing. You can use them to setup virtual mail domains by creating a new virtual mapping for a domain, then using the <a href='$1'>Mail Aliases</a> page to create aliases within that domain.
virts_return=virtual mappings

vform_edit=Edit Virtual Mapping
vform_create=Create Virtual Mapping
vform_from=Mail for address
vform_all=Any address not matching another virtual mapping
vform_domain=Addresses with domain
vform_user=Address
vform_to=Prepend to username
vform_none=Nothing
vform_prepend=Specified prefix
vform_auto=Automatically chosen prefix

vsave_err=Failed to save virtual mapping
vsave_edomain='$1' is not a valid email domain
vsave_euser='$1' is not a valid email username
vsave_eprepend='$1' is not a valid mapping prefix
vsave_eboth=You cannot select both '$vform_all' and '$vform_none'

stop_err=qmail-send process no longer running

log_stop=Stopped QMail processes
log_start=Started QMail processes
log_opts=Changed QMail options
log_alias_create=Created alias $1
log_alias_delete=Delete alias $1
log_alias_modify=Modified alias $1
log_virt_create=Created virtual mapping $1
log_virt_delete=Deleted virtual mapping $1
log_virt_modify=Modified virtual mapping $1
log_virtall_create=Created catchall virtual mapping
log_virtall_delete=Deleted catchall virtual mapping
log_virtall_modify=Modified catchall virtual mapping
log_locals=Changed local domains
log_rcpts=Changed accepted domains
log_bads=Changed rejected addresses
log_percents=Changed % address domains
log_route_create=Created route for $1
log_route_delete=Deleted route for $1
log_route_modifed=Modified route for $1
log_defroute=Modified default route
log_assign_create=Created mail user $1
log_assign_delete=Deleted mail user $1
log_assign_modifed=Modified mail user $1

rfile_title=Edit Autoreply File
rfile_desc=Use the text area below to edit the autoreply message in $1. The message may contain the macros $SUBJECT, $FROM, $TO, $DATE and $BODY which will be expanded when the autoreply is activated.
rfile_efile=You are not allowed to edit $1.
rfile_undo=Undo Changes

ffile_title=Edit Filter File
ffile_desc=Use the form below to setup filter rules in the file $1.
ffile_efile=You are not allowed to edit $1.
ffile_line=If the $1 field $2 $3 then forward to $4
ffile_from=from
ffile_to=to
ffile_subject=subject
ffile_cc=CC
ffile_body=body
ffile_what0=doesn't match
ffile_what1=matches
ffile_other=Otherwise forward to $1
ffile_err=Failed to save filter file
ffile_ematch=Missing match
ffile_eaction=Missing forwarding address

queue_title=Mail Queue
queue_none=No mail messages are currently queued for delivery
queue_id=Mail ID
queue_date=Sent
queue_from=From
queue_to=To
queue_cc=Cc
queue_subject=Subject
queue_return=mail queue
queue_delete=Delete selected messages
queue_all=Select all
queue_invert=Invert selection

view_title=Queued Message
view_desc=From file $1
view_headers=Mail headers
view_attach=Attachments

assigns_title=Mail User Assignments
assigns_return=mail user assignments
assigns_toomany=There are too many mail users on your system to display on this page.
assigns_go=Find mail users matching:
assigns_address=Mail to address
assigns_user=Unix user
assigns_uid=UID
assigns_gid=GID
assigns_home=Home directory
assigns_desc=Mail user assignments allow you to create mailboxes for users that are not defined in the Unix user list. Each assignment will deliver mail for a chosen username or username pattern, as though it was being delivered to a real Unix user's mailbox.

sform_edit=Edit mail user
sform_create=Create mail user
sform_address=Address username
sform_mode0=Exact username
sform_mode1=Usernames starting with
sform_user=Unix user
sform_uid=UID
sform_gid=GID
sform_home=Home directory

ssave_err=Failed to save mail user
ssave_eaddress=Missing or invalid address username
ssave_euser=Missing or invalid Unix user
ssave_euid=Missing or invalid UID
ssave_egid=Missing or invalid GID
ssave_ehome=Missing or invalid home directory

delete_egone=Queued message no longer exists

070701000077be000081a40000000000000002000000013d1fe2e600002543000000200000000000000000000000000000001900000003reloc/qmailadmin/lang/it  index_title=QMail Configuration
index_edir=The QMail base directory $1 does not exist. Maybe QMail is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_edir2=The directory $1 does not appear to be the QMail base directory. Maybe QMail is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_return=QMail configuration
index_stop=Stop QMail Processes
index_stopmsg=Click this button to stop the background QMail processes responsible for delivering queued mail. Without these processes, mail will not be send out from or delivered to your system properly.
index_start=Start QMail Processes
index_startmsg=Click this button to start the background QMail processes responsible for delivering queued mail. Without these processes, mail will not be send out from or delivered to your system properly.

opts_title=QMail Options
opts_me=Local host name
opts_helo=Hostname for SMTP HELO
opts_toconnect=SMTP connection timeout
opts_secs=seconds
opts_toremote=SMTP outgoing response timeout
opts_bytes=Maximum message size
opts_unlimited=Unlimited
opts_timeout=SMTP incoming data timeout
opts_localip=Hostname for email to local IP address
opts_greet=SMTP greeting message
opts_err=Failed to save QMail options
opts_eme=Invalid local host name
opts_etoconnect=Invalid SMTP connection timeout
opts_etoremote=Invalid SMTP outgoing response timeout
opts_ebytes=Invalid maximum message size
opts_etimeout=Invalid SMTP incoming data timeout
opts_elocalip=Invalid local IP address hostname

aliases_title=Mail Aliases
aliases_addr=Address
aliases_to=Alias to..
aliases_type1=Address $1
aliases_type2=Mail directory $1
aliases_type3=Mail file $1
aliases_type4=Program $1
aliases_type5=Autoreply file $1
aliases_type6=Apply filter file $1
aliases_none=None
aliases_return=alias list
aliases_toomany=There are too many mail aliases on your system to display on this page.
aliases_go=Find aliases matching:

aform_type0=None
aform_type1=Email address
aform_type2=Mail directory
aform_type3=Mail file
aform_type4=Feed to program
aform_type5=Autoreply from file
aform_type6=Apply filter file
aform_edit=Edit Alias
aform_create=Create Alias
aform_name=Address
aform_val=Alias to
aform_afile=Edit..
aform_novirt=&lt;All domains&gt;
aform_return=alias

asave_err=Failed to save alias
asave_eaddr='$1' is not a valid address
asave_ealready=An alias for '$1' already exists
asave_etype1='$1' is not a valid email address
asave_etype2='$1' is not a valid mail directory
asave_etype3='$1' is not a valid mail filename
asave_etype4='$1' is not a valid program or does not exist
asave_etype5=Autoreply file '$1' is not valid
asave_etype4none=No program given
asave_etype6=Filter file '$1' is not valid

boxes_title=User Mailboxes

locals_title=Local Domains
locals_domains=Local domains for this server
locals_desc=Qmail will accept for delivery to local users email to the domains and hostnames listed in the text box to the left. If you want your mail server to handle multiple email domains, they should all be listed on this form.
locals_only=Only local hostname $1
locals_sel=Domains listed below ..

rcpts_title=Accepted Domains
rcpts_domains=Accepted local and relay domains
rcpts_all=Any domain
rcpts_sel=Domains listed below ..
rcpts_desc=Qmail will accept for relaying or local delivery only mail to domains and hostnames listed in the text box to the left. You can also enter wildcards that match all hosts in a domain like <tt>.foo.com</tt>. If you want your mail server to relay email for clients, you must accept mail from any domain.
rcpts_domains2=Additional local and relay domains
rcpts_desc2=If you have a large number of accepted domains, less commonly used ones should be entered into this text box. In general, your first 50 allowed domains should be entered into the upper text box, and the rest into this one.

bads_title=Rejected Addresses
bads_addresses=Rejected email addresses
bads_desc=QMail will reject mail for delivery or relaying from any of the addresses listed in the text box to the left, which must be entered as <tt>username@domainname</tt>. If you want to reject mail from an entire domain, it should be entered as <tt>@domainname</tt>.

routes_title=Domain Routing
routes_toomany=There are too many domain routes on your system to display on this page.
routes_go=Find domain routes matching:
routes_from=Mail for domain
routes_to=Send via server
routes_direct=Deliver directly
routes_defroute=Deliver all other outgoing mail via: 
routes_return=domain routes

rform_edit=Edit Domain Route
rform_create=Create Domain Route
rform_from=Mail for host or domain
rform_to=Send via SMTP server
rform_port=SMTP port

rsave_err=Failed to save domain route
rsave_efrom='$1' is not a valid domain name
rsave_eto='$1' is not a valid SMTP server
rsave_eport='$1' is not a valid port number

percents_title=% Address Domains
percents_domains=Domains which support % addresses
percents_desc=QMail will accept email with addresses in the format <tt>user%firstdomain@seconddomain</tt> if the <tt>seconddomain</tt> is listed in the text box to the left. Messages in this format will then be forwarded on to <tt>user@firstdomain</tt> by this mail server.

virts_title=Virtual Mappings
virts_toomany=There are too many virtual mappings on your system to display on this page.
virts_go=Find virtual mappings matching:
virts_from=Mail for
virts_prepend=Prepend prefix
virts_all=All addresses
virts_none=Not virtual
virts_desc=Virtual mappings are used by QMail to handle email to different domains on your server, by prepending text to the user part of the email address before further processing. You can use them to setup virtual mail domains by creating a new virtual mapping for a domain, then using the <a href='$1'>Mail Aliases</a> page to create aliases within that domain.
virts_return=virtual mappings

vform_edit=Edit Virtual Mapping
vform_create=Create Virtual Mapping
vform_from=Mail for address
vform_all=Any address not matching another virtual mapping
vform_domain=Addresses with domain
vform_user=Address
vform_to=Prepend to username
vform_none=Nothing
vform_prepend=Specified prefix
vform_auto=Automatically chosen prefix

vsave_err=Failed to save virtual mapping
vsave_edomain='$1' is not a valid email domain
vsave_euser='$1' is not a valid email username
vsave_eprepend='$1' is not a valid mapping prefix
vsave_eboth=You cannot select both '$vform_all' and '$vform_none'

stop_err=qmail-send process no longer running

log_stop=Stopped QMail processes
log_start=Started QMail processes
log_opts=Changed QMail options
log_alias_create=Created alias $1
log_alias_delete=Delete alias $1
log_alias_modify=Modified alias $1
log_virt_create=Created virtual mapping $1
log_virt_delete=Deleted virtual mapping $1
log_virt_modify=Modified virtual mapping $1
log_virtall_create=Created catchall virtual mapping
log_virtall_delete=Deleted catchall virtual mapping
log_virtall_modify=Modified catchall virtual mapping
log_locals=Changed local domains
log_rcpts=Changed accepted domains
log_bads=Changed rejected addresses
log_percents=Changed % address domains
log_route_create=Created route for $1
log_route_delete=Deleted route for $1
log_route_modifed=Modified route for $1
log_defroute=Modified default route
log_assign_create=Created mail user $1
log_assign_delete=Deleted mail user $1
log_assign_modifed=Modified mail user $1

rfile_title=Edit Autoreply File
rfile_desc=Use the text area below to edit the autoreply message in $1. The message may contain the macros $SUBJECT, $FROM, $TO, $DATE and $BODY which will be expanded when the autoreply is activated.
rfile_efile=You are not allowed to edit $1.
rfile_undo=Undo Changes

ffile_title=Edit Filter File
ffile_desc=Use the form below to setup filter rules in the file $1.
ffile_efile=You are not allowed to edit $1.
ffile_line=If the $1 field $2 $3 then forward to $4
ffile_from=from
ffile_to=to
ffile_subject=subject
ffile_cc=CC
ffile_body=body
ffile_what0=doesn't match
ffile_what1=matches
ffile_other=Otherwise forward to $1
ffile_err=Failed to save filter file
ffile_ematch=Missing match
ffile_eaction=Missing forwarding address

queue_title=Mail Queue
queue_none=No mail messages are currently queued for delivery
queue_id=Mail ID
queue_date=Sent
queue_from=From
queue_to=To
queue_cc=Cc
queue_subject=Subject
queue_return=mail queue

view_title=Queued Message
view_desc=From file $1
view_headers=Mail headers
view_attach=Attachments

assigns_title=Mail User Assignments
assigns_return=mail user assignments
assigns_toomany=There are too many mail users on your system to display on this page.
assigns_go=Find mail users matching:
assigns_address=Mail to address
assigns_user=Unix user
assigns_uid=UID
assigns_gid=GID
assigns_home=Home directory
assigns_desc=Mail user assignments allow you to create mailboxes for users that are not defined in the Unix user list. Each assignment will deliver mail for a chosen username or username pattern, as though it was being delivered to a real Unix user's mailbox.

sform_edit=Edit mail user
sform_create=Create mail user
sform_address=Address username
sform_mode0=Exact username
sform_mode1=Usernames starting with
sform_user=Unix user
sform_uid=UID
sform_gid=GID
sform_home=Home directory

ssave_err=Failed to save mail user
ssave_eaddress=Missing or invalid address username
ssave_euser=Missing or invalid Unix user
ssave_euid=Missing or invalid UID
ssave_egid=Missing or invalid GID
ssave_ehome=Missing or invalid home directory

delete_egone=Queued message no longer exists

 07070100004938000081e40000000000000002000000013d1fe2e60000083d000000200000000000000000000000000000002200000003reloc/qmailadmin/list_aliases.cgi #!/usr/local/bin/perl
# list_aliases.cgi
# Displays a list of all aliases
# XXX .qmail-default and .qmail-foo-default alias support

require './qmail-lib.pl';
&ReadParse();
&header($text{'aliases_title'}, "");
print "<hr>\n";

@aliases = &list_aliases();
&alias_form();

if ($in{'search'}) {
	# Restrict to search results
	@aliases = grep { $_ =~ /$in{'search'}/ } @aliases;
	}
elsif ($config{'max_records'} && @aliases > $config{'max_records'}) {
	# Show search form
	print $text{'aliases_toomany'},"<br>\n";
	print "<form action=list_aliases.cgi>\n";
	print "<input type=submit value='$text{'aliases_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@aliases);
	}

if (@aliases) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@aliases = sort { lc($a) cmp lc($b) } @aliases;
		}
	@aliases = map { &get_alias($_) } @aliases;

	# find a good place to split
	$lines = 0;
	for($i=0; $i<@aliases; $i++) {
		$aline[$i] = $lines;
		$al = scalar(@{$aliases[$i]->{'values'}});
		$lines += ($al ? $al : 1);
		}
	$midline = int(($lines+1) / 2);
	for($mid=0; $mid<@aliases && $aline[$mid] < $midline; $mid++) { }

	# render tables
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&aliases_table(@aliases[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @aliases) { &aliases_table(@aliases[$mid..$#aliases]); }
	print "</td></tr> </table><br>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub aliases_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'aliases_addr'}</b></td> ",
      "<td><b>$text{'aliases_to'}</b></td> </tr>\n";
foreach $a (@_) {
	local $n = $a->{'name'};
	$n =~ s/:/\./g;
	print "<tr $cb>\n";
	print "<td valign=top><a href=\"edit_alias.cgi?name=$a->{'name'}\">",
	      &html_escape($n),"</a></td>\n";
	print "<td>\n";
	foreach $v (@{$a->{'values'}}) {
		($anum, $astr) = &alias_type($v);
		print &text("aliases_type$anum",
			    "<tt>".&html_escape($astr)."</tt>"),"<br>\n";
		}
	if (!@{$a->{'values'}}) {
		print "<i>$text{'aliases_none'}</i>\n";
		}
	print "</td> </tr>\n";
	}
print "</table>\n";
}

   07070100004939000081e40000000000000002000000013d1fe2e6000006a2000000200000000000000000000000000000002200000003reloc/qmailadmin/list_assigns.cgi #!/usr/local/bin/perl
# list_assigns.cgi
# Displays a list of all user assignments

require './qmail-lib.pl';
&ReadParse();
&header($text{'assigns_title'}, "");
print "<hr>\n";
print "$text{'assigns_desc'}<p>\n";

@assigns = &list_assigns();
&assign_form();

if ($in{'search'}) {
	# Restrict to search results
	@assigns = grep { $_->{'address'} =~ /$in{'search'}/ } @assigns;
	}
elsif ($config{'max_records'} && @assigns > $config{'max_records'}) {
	# Show search form
	print $text{'assigns_toomany'},"<br>\n";
	print "<form action=list_assigns.cgi>\n";
	print "<input type=submit value='$text{'assigns_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@assigns);
	}

if (@assigns) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@assigns = sort { lc($a->{'address'}) cmp lc($b->{'address'}) }
				@assigns;
		}

	# output table of assigns
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'assigns_address'}</b></td> ",
	      "<td><b>$text{'assigns_user'}</b></td> ",
	      "<td><b>$text{'assigns_uid'}</b></td> ",
	      "<td><b>$text{'assigns_gid'}</b></td> ",
	      "<td><b>$text{'assigns_home'}</b></td> </tr>\n";
	foreach $a (@assigns) {
		print "<tr $cb>\n";
		print "<td><a href='edit_assign.cgi?idx=$a->{'idx'}'>",
		      ($a->{'mode'} eq '+' ? "$a->{'address'}*"
					   : &html_escape($a->{'address'})),
		      "</a></td>\n";
		print "<td>",&html_escape($a->{'user'}),"</td>\n";
		print "<td>",&html_escape($a->{'uid'}),"</td>\n";
		print "<td>",&html_escape($a->{'gid'}),"</td>\n";
		print "<td>",&html_escape($a->{'home'}),"</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});


  07070100004943000081a40000000000000002000000013d1fe2ea00000078000000200000000000000000000000000000001d00000003reloc/qmailadmin/module.info  category=servers
depends=sendmail 0.990
desc=QMail Configuration
version=0.990
desc_ca=Configuració de QMail
name=QMail
0707010000493a000081e40000000000000002000000013d1fe2e6000002db000000200000000000000000000000000000001f00000003reloc/qmailadmin/list_bads.cgi    #!/usr/local/bin/perl
# list_bads.cgi
# Display domains and addresses which are rejected

require './qmail-lib.pl';
&header($text{'bads_title'}, "");
print "<hr>\n";

$bads = &list_control_file("badmailfrom");

print "<form method=post action=save_bads.cgi enctype=multipart/form-data>\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'bads_addresses'}</b><br>\n";

print "<textarea name=bads rows=15 cols=65>",
	&html_escape(join("\n", @$bads)),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print $text{'bads_desc'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


 0707010000493b000081e40000000000000002000000013d1fe2e60000040d000000200000000000000000000000000000002100000003reloc/qmailadmin/list_locals.cgi  #!/usr/local/bin/perl
# list_locals.cgi
# Display domains for which we accept mail for local delivery

require './qmail-lib.pl';
&header($text{'locals_title'}, "");
print "<hr>\n";

$dlist = &list_control_file("locals");
$me = &get_control_file("me");

print "<form method=post action=save_locals.cgi enctype=multipart/form-data>\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'locals_domains'}</b><br>\n";

printf "<input type=radio name=locals_def value=1 %s> %s &nbsp;&nbsp;&nbsp;\n",
	$dlist ? "" : "checked", &text('locals_only', "<tt>$me</tt>");
printf "<input type=radio name=locals_def value=0 %s> %s<br>\n",
	$dlist ? "checked" : "", $text{'locals_sel'};

print "<textarea name=locals rows=15 cols=65>",
	&html_escape(join("\n", @$dlist)),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print $text{'locals_desc'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   0707010000493c000081e40000000000000002000000013d1fe2e600000d04000000200000000000000000000000000000001f00000003reloc/qmailadmin/list_opts.cgi    #!/usr/local/bin/perl
# list_opts.cgi
# Display global QMail options

require './qmail-lib.pl';
&header($text{'opts_title'}, "");
print "<hr>\n";

print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'opts_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'opts_me'}</b></td> <td colspan=3>\n";
printf "<input name=me size=35 value='%s'></td> </tr>\n",
	&get_control_file("me");

$helo = &get_control_file("helohost");
print "<tr> <td><b>$text{'opts_helo'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=helo_def value=1 %s> %s\n",
	$helo ? "" : "checked", $text{'default'};
printf "<input type=radio name=helo_def value=0 %s>\n",
	$helo ? "checked" : "";
printf "<input name=helo size=35 value='%s'></td> </tr>\n", $helo;

$toconnect = &get_control_file("timeoutconnect");
print "<tr> <td><b>$text{'opts_toconnect'}</b></td> <td nowrap>\n";
printf "<input type=radio name=toconnect_def value=1 %s> %s\n",
	$toconnect ? "" : "checked", $text{'default'};
printf "<input type=radio name=toconnect_def value=0 %s>\n",
	$toconnect ? "checked" : "";
printf "<input name=toconnect size=6 value='%s'> %s</td>\n",
	$toconnect, $text{'opts_secs'};

$toremote = &get_control_file("timeoutremote");
print "<td><b>$text{'opts_toremote'}</b></td> <td nowrap>\n";
printf "<input type=radio name=toremote_def value=1 %s> %s\n",
	$toremote ? "" : "checked", $text{'default'};
printf "<input type=radio name=toremote_def value=0 %s>\n",
	$toremote ? "checked" : "";
printf "<input name=toremote size=6 value='%s'> %s</td> </tr>\n",
	$toremote, $text{'opts_secs'};

$bytes = &get_control_file("databytes");
print "<tr> <td><b>$text{'opts_bytes'}</b></td> <td nowrap>\n";
printf "<input type=radio name=bytes_def value=1 %s> %s\n",
	$bytes ? "" : "checked", $text{'opts_unlimited'};
printf "<input type=radio name=bytes_def value=0 %s>\n",
	$bytes ? "checked" : "";
printf "<input name=bytes size=10 value='%s'> bytes</td>\n", $bytes;

$timeout = &get_control_file("timeoutsmtpd");
print "<td><b>$text{'opts_timeout'}</b></td> <td nowrap>\n";
printf "<input type=radio name=timeout_def value=1 %s> %s\n",
	$timeout ? "" : "checked", $text{'default'};
printf "<input type=radio name=timeout_def value=0 %s>\n",
	$timeout ? "checked" : "";
printf "<input name=timeout size=6 value='%s'> %s</td> </tr>\n",
	$timeout, $text{'opts_secs'};

$localip = &get_control_file("localiphost");
print "<tr> <td><b>$text{'opts_localip'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=localip_def value=1 %s> %s\n",
	$localip ? "" : "checked", $text{'default'};
printf "<input type=radio name=localip_def value=0 %s>\n",
	$localip ? "checked" : "";
printf "<input name=localip size=35 value='%s'></td> </tr>\n", $localip;

$greet = &get_control_file("smtpgreeting");
print "<tr> <td><b>$text{'opts_greet'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=greet_def value=1 %s> %s\n",
	$greet ? "" : "checked", $text{'default'};
printf "<input type=radio name=greet_def value=0 %s>\n",
	$greet ? "checked" : "";
printf "<input name=greet size=35 value='%s'></td> </tr>\n", $greet;

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

0707010000493d000081e40000000000000002000000013d1fe2e600000305000000200000000000000000000000000000002300000003reloc/qmailadmin/list_percents.cgi    #!/usr/local/bin/perl
# list_percents.cgi
# Display domains for which % addresses are accepted

require './qmail-lib.pl';
&header($text{'percents_title'}, "");
print "<hr>\n";

$percents = &list_control_file("percenthack");

print "<form method=post action=save_percents.cgi ",
      "enctype=multipart/form-data>\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'percents_domains'}</b><br>\n";

print "<textarea name=percents rows=15 cols=65>",
	&html_escape(join("\n", @$percents)),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print $text{'percents_desc'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   0707010000493e000081e40000000000000002000000013d1fe2e6000005f2000000200000000000000000000000000000002000000003reloc/qmailadmin/list_queue.cgi   #!/usr/local/bin/perl
# Display the current qmail queue

require './qmail-lib.pl';
&header($text{'queue_title'}, "");
print "<hr>\n";

@queue = &list_queue();
if (@queue) {
	print "<form action=delete_queues.cgi>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><br></td> <td><b>$text{'queue_id'}</b></td> ",
	      "<td><b>$text{'queue_date'}</b></td> ",
	      "<td><b>$text{'queue_from'}</b></td> ",
	      "<td><b>$text{'queue_to'}</b></td> </tr>\n";
	foreach $q (@queue) {
		print "<tr $cb>\n";
		print "<td><input type=checkbox name=file value=$q->{'file'}></td>\n";
		print "<td><a href='view_queue.cgi?file=$q->{'file'}'>$q->{'id'}</a></td>\n";
		print "<td>$q->{'date'}</td>\n";
		print "<td>",&html_escape($q->{'from'}),"</td>\n";
		print "<td>",&html_escape($q->{'to'}),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	print "<a href='' onClick='document.forms[0].file.checked = true; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = true; } return false'>$text{'queue_all'}</a>&nbsp;\n";
	print "<a href='' onClick='document.forms[0].file.checked = !document.forms[0].file.checked; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = !document.forms[0].file[i].checked; } return false'>$text{'queue_invert'}</a>&nbsp;<p>\n";
	print "<input type=submit value='$text{'queue_delete'}'><p>\n";
	print "</form>\n";
	}
else {
	print "<b>$text{'queue_none'}</b> <p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000493f000081e40000000000000002000000013d1fe2e60000051e000000200000000000000000000000000000002000000003reloc/qmailadmin/list_rcpts.cgi   #!/usr/local/bin/perl
# list_rcpts.cgi
# Display domains for which we accept mail for relaying or local delivery

require './qmail-lib.pl';
&header($text{'rcpts_title'}, "");
print "<hr>\n";

$dlist = &list_control_file("rcpthosts");
$dlist2 = &list_control_file("morercpthosts");

print "<form method=post action=save_rcpts.cgi enctype=multipart/form-data>\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'rcpts_domains'}</b><br>\n";

printf "<input type=radio name=rcpts_def value=1 %s> %s &nbsp;&nbsp;&nbsp;\n",
	$dlist ? "" : "checked", $text{'rcpts_all'};
printf "<input type=radio name=rcpts_def value=0 %s> %s<br>\n",
	$dlist ? "checked" : "", $text{'rcpts_sel'};

print "<textarea name=rcpts rows=10 cols=65>",
	&html_escape(join("\n", @$dlist)),"</textarea><br>\n";

print "</td><td valign=top>\n";
print $text{'rcpts_desc'},"\n";

print "</td></tr> <tr> <td valign=top nowrap>\n";
print "<b>$text{'rcpts_domains2'}</b><br>\n";

print "<textarea name=rcpts2 rows=10 cols=65>",
	&html_escape(join("\n", @$dlist2)),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print $text{'rcpts_desc2'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


  07070100004940000081e40000000000000002000000013d1fe2e6000008ba000000200000000000000000000000000000002100000003reloc/qmailadmin/list_routes.cgi  #!/usr/local/bin/perl
# list_routes.cgi
# Display a list of SMTP routes

require './qmail-lib.pl';
&ReadParse();
&header($text{'routes_title'}, "");
print "<hr>\n";

@routes = &list_routes();
($defroute) = grep { !$_->{'from'} } @routes;
@routes = grep { $_ ne $defroute } @routes;
&route_form();

if ($in{'search'}) {
	# Restrict to search results
	@routes = grep { $_->{'from'} =~ /$in{'search'}/ } @routes;
	}
elsif ($config{'max_records'} && @routes > $config{'max_records'}) {
	# Show search form
	print $text{'routes_toomany'},"<br>\n";
	print "<form action=list_routes.cgi>\n";
	print "<input type=submit value='$text{'routes_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@routes);
	}

if (@routes) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@routes = sort { lc($a->{'from'}) cmp lc($b->{'from'}) }
			       @routes;
		}

	# render tables
	$mid = int((@routes+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&routes_table(@routes[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @routes) { &routes_table(@routes[$mid..$#routes]); }
	print "</td></tr> </table><br>\n";
	}

print "<hr>\n";
print "<form action=save_defroute.cgi>\n";
print "<input type=hidden name=idx value='$defroute->{'idx'}'>\n"
	if ($defroute);
print "<b>$text{'routes_defroute'}</b>\n";
printf "<input type=radio name=direct value=1 %s> %s\n",
	$defroute ? "" : "checked", $text{'routes_direct'};
printf "<input type=radio name=direct value=0 %s> %s\n",
	$defroute ? "checked" : "";
printf "<input name=defroute size=30 value='$defroute->{'to'}'>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub routes_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'routes_from'}</b></td> ",
      "<td><b>$text{'routes_to'}</b></td> </tr>\n";
foreach $r (@_) {
	print "<tr $cb>\n";
	print "<td valign=top><a href=\"edit_route.cgi?idx=$r->{'idx'}\">",
	      &html_escape($r->{'from'}),"</a></td>\n";
	print "<td>",$r->{'port'} ? &html_escape("$r->{'to'}:$r->{'port'}") :
		     $r->{'to'} ? &html_escape($r->{'to'}) :
			  "<i>$text{'routes_direct'}</i>","</td> </tr>\n";
	}
print "</table>\n";
}

  07070100004941000081e40000000000000002000000013d1fe2e600000691000000200000000000000000000000000000002000000003reloc/qmailadmin/list_virts.cgi   #!/usr/local/bin/perl
# list_virts.cgi
# Display a list of virtual domain mappings

require './qmail-lib.pl';
&ReadParse();
&header($text{'virts_title'}, "");
print "<hr>\n";

@virts = &list_virts();
print &text('virts_desc', "list_aliases.cgi"),"<p>\n";
&virt_form();

if ($in{'search'}) {
	# Restrict to search results
	@virts = grep { $_->{'from'} =~ /$in{'search'}/ } @virts;
	}
elsif ($config{'max_records'} && @virts > $config{'max_records'}) {
	# Show search form
	print $text{'virts_toomany'},"<br>\n";
	print "<form action=list_virts.cgi>\n";
	print "<input type=submit value='$text{'virts_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@virts);
	}

if (@virts) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@virts = sort { lc($a->{'from'}) cmp lc($b->{'from'}) }
			       @virts;
		}

	# render tables
	$mid = int((@virts+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&virts_table(@virts[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @virts) { &virts_table(@virts[$mid..$#virts]); }
	print "</td></tr> </table><br>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub virts_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'virts_from'}</b></td> ",
      "<td><b>$text{'virts_prepend'}</b></td> </tr>\n";
foreach $v (@_) {
	print "<tr $cb>\n";
	print "<td valign=top><a href=\"edit_virt.cgi?idx=$v->{'idx'}\">",
	      ($v->{'from'} ? &html_escape($v->{'from'})
			    : "<i>$text{'virts_all'}</i>"),"</a></td>\n";
	print "<td>",($v->{'prepend'} ? &html_escape($v->{'prepend'}) :
	      "<i>$text{'virts_none'}</i>"),"</td> </tr>\n";
	}
print "</table>\n";
}

   07070100004942000081a40000000000000002000000013d1fe2e60000037a000000200000000000000000000000000000001f00000003reloc/qmailadmin/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'qmail-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params, long)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($type eq 'alias') {
	return &text("log_alias_$action",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'virt') {
	return &text($object ne '-' ? "log_virt_$action" :
		"log_virtall_$action", "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'route') {
	return &text("log_route_$action",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'assign') {
	local $str = $object =~ /^=(\S*)/ ? $1 :
		     $object =~ /^\+(\S*)/ ? "$1*" : "";
	return &text("log_assign_$action", &html_escape($str));
	}
else {
	return $text{"log_$action"};
	}
}

  07070100004944000081a40000000000000002000000013d1fe2e6000046de000000200000000000000000000000000000001e00000003reloc/qmailadmin/qmail-lib.pl # qmail-lib.pl
# Common functions for parsing qmail config files

do '../web-lib.pl';
&init_config();

$qmail_alias_dir = "$config{'qmail_dir'}/alias";
$qmail_bin_dir = "$config{'qmail_dir'}/bin";
$qmail_control_dir = "$config{'qmail_dir'}/control";
$qmail_routes_file = "$qmail_control_dir/smtproutes";
$qmail_virts_file = "$qmail_control_dir/virtualdomains";
$qmail_start_cmd = "$config{'qmail_dir'}/rc";
$qmail_mess_dir = "$config{'qmail_dir'}/queue/mess";
$qmail_info_dir = "$config{'qmail_dir'}/queue/info";
$qmail_local_dir = "$config{'qmail_dir'}/queue/local";
$qmail_remote_dir = "$config{'qmail_dir'}/queue/remote";
$qmail_assigns_file = "$config{'qmail_dir'}/users/assign";

# list_aliases()
# Returns a list of qmail alias file names
sub list_aliases
{
local @rv;
opendir(DIR, $qmail_alias_dir);
foreach $f (readdir(DIR)) {
	next if ($f !~ /^\.qmail-(\S+)$/);
	push(@rv, $1);
	}
closedir(DIR);
return @rv;
}

# get_alias(name)
sub get_alias
{
local $alias = { 'name' => $_[0],
		 'file' => "$qmail_alias_dir/.qmail-$_[0]",
		 'values' => [ ] };
open(ALIAS, $alias->{'file'});
while(<ALIAS>) {
	s/\r|\n//g;
	s/#.*$//g;
	if (/\S/) {
		push(@{$alias->{'values'}}, $_);
		}
	}
close(ALIAS);
return $alias;
}

# alias_form([alias])
# Display a form for editing or creating an alias. Each alias can map to
# 1 or more programs, files, lists or users
sub alias_form
{
local($a, @values, $v, $type, $val, @typenames);
$a = $_[0];
if ($a) { @values = @{$a->{'values'}}; }
@typenames = map { $text{"aform_type$_"} } (0 .. 6);
$typenames[0] = "&lt;$typenames[0]&gt;";

print "<form method=post action=save_alias.cgi>\n";
if ($a) { print "<input type=hidden name=old value='$a->{'name'}'>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$a ? $text{'aform_edit'}
			    : $text{'aform_create'},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'aform_name'}</b></td>\n";
local $n = $a ? $a->{'name'} : '';
$n =~ s/:/./g;
local @virts = grep { $_->{'domain'} && !$_->{'user'} && $_->{'prepend'} }
		    &list_virts();
if ($n =~ /^(\S+)-(\S+)$/) {
	local ($pn, $bn) = ($1, $2);
	foreach $v (@virts) {
		if ($v->{'prepend'} eq $pn) {
			$virt = $v;
			$n = $bn;
			last;
			}
		}
	}
if (@virts) {
	printf "<td><input name=name size=20 value=\"%s\">\@", $n;
	print "<select name=virt>\n";
	printf "<option value='' %s>%s\n",
		$virt ? "" : "checked", $text{'aform_novirt'};
	foreach $v (@virts) {
		printf "<option value='%s' %s>%s\n",
			$v->{'prepend'}, $virt eq $v ? "selected" : "",
			$v->{'domain'};
		}
	print "</select></td> </tr>\n";
	}
else {
	printf "<td><input name=name size=20 value=\"%s\"></td> </tr>\n", $n;
	}

for($i=0; $i<=@values; $i++) {
	($type, $val) = $values[$i] ? &alias_type($values[$i]) : (0, "");
	print "<tr> <td valign=top><b>$text{'aform_val'}</b></td>\n";
	print "<td><select name=type_$i>\n";
	for($j=0; $j<@typenames; $j++) {
		printf "<option value=$j %s>$typenames[$j]\n",
			$type == $j ? "selected" : "";
		}
	print "</select>\n";
	print "<input name=val_$i size=30 value=\"$val\">\n";
	if ($type == 5 && $a) {
		print "<a href='edit_rfile.cgi?file=$val&name=$a->{'name'}'>",
		      "$text{'aform_afile'}</a>\n";
		}
	elsif ($type == 6 && $a) {
		print "<a href='edit_ffile.cgi?file=$val&name=$a->{'name'}'>",
		      "$text{'aform_afile'}</a>\n";
		}
	print "</td> </tr>\n";
	}
print "<tr> <td colspan=2 align=right>\n";
if ($a) {
	print "<input type=submit value=$text{'save'}>\n";
	print "<input type=submit name=delete value=$text{'delete'}>\n";
	}
else { print "<input type=submit value=$text{'create'}>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

# alias_type(string)
# Return the type and destination of some alias string
sub alias_type
{
local @rv;
if ($_[0] =~ /^\&(.*)/) {
	@rv = (1, $1);
	}
elsif ($_[0] =~ /^\|$module_config_directory\/autoreply.pl\s+(\S+)/) {
	@rv = (5, $1);
	}
elsif ($_[0] =~ /^\|$module_config_directory\/filter.pl\s+(\S+)/) {
	@rv = (6, $1);
	}
elsif ($_[0] =~ /^\|(.*)$/) {
	@rv = (4, $1);
	}
elsif ($_[0] =~ /^(\/.*)\/$/) {
	@rv = (2, $1);
	}
elsif ($_[0] =~ /^(\/.*)$/) {
	@rv = (3, $1);
	}
else {
	@rv = (1, $_[0]);
	}
return wantarray ? @rv : $rv[0];
}

# create_alias(&alias)
# Creates a new qmail alias file
sub create_alias
{
local $f = "$qmail_alias_dir/.qmail-$_[0]->{'name'}";
&lock_file($f);
open(FILE, ">$f");
foreach $v (@{$_[0]->{'values'}}) {
	print FILE $v,"\n";
	}
close(FILE);
&unlock_file($f);
}

# modify_alias(&old, &alias)
# Modifies an existing qmail alias
sub modify_alias(&old, &alias)
{
&lock_file($_[0]->{'file'});
if ($_[0]->{'name'} ne $_[1]->{'name'}) {
	unlink($_[0]->{'file'});
	&unlock_file($_[0]->{'file'});
	}
&create_alias($_[1]);
}

# delete_alias(&alias)
# Deletes an existing qmail alias file
sub delete_alias
{
&lock_file($_[0]->{'file'});
unlink("$_[0]->{'file'}");
&unlock_file($_[0]->{'file'});
}

# get_control_file(file)
# Returns the value from a qmail single-line control file
sub get_control_file
{
open(FILE, "$qmail_control_dir/$_[0]") || return undef;
local $line = <FILE>;
close(FILE);
$line =~ s/\r|\n//g;
return $line;
}

# set_control_file(file, value)
# Sets the value in a qmail single-line control file
sub set_control_file
{
&lock_file("$qmail_control_dir/$_[0]");
if (defined($_[1])) {
	open(FILE, ">$qmail_control_dir/$_[0]");
	print FILE $_[1],"\n";
	close(FILE);
	}
else {
	unlink("$qmail_control_dir/$_[0]");
	}
&unlock_file("$qmail_control_dir/$_[0]");
}

# list_control_file()
# Returns the contents of a multi-line control file
sub list_control_file
{
local @lines;
open(FILE, "$qmail_control_dir/$_[0]") || return undef;
while(<FILE>) {
	s/\r|\n//g;
	s/#.*$//g;
	push(@lines, $_) if (/\S/);
	}
close(FILE);
return \@lines;

}

# save_control_file(file, &lines)
# Saves the contents of a multi-line control file
sub save_control_file
{
&lock_file("$qmail_control_dir/$_[0]");
if (defined($_[1])) {
	open(FILE, ">$qmail_control_dir/$_[0]");
	foreach $l (@{$_[1]}) {
		print FILE $l,"\n";
		}
	close(FILE);
	}
else {
	unlink("$qmail_control_dir/$_[0]");
	}
&unlock_file("$qmail_control_dir/$_[0]");
}

# list_routes()
# Returns a list of all SMTP routes
sub list_routes
{
local $lnum = 0;
local @rv;
open(ROUTES, $qmail_routes_file);
while(<ROUTES>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^(\S*):(\S*):(\d+)/) {
		push(@rv, { 'from' => $1,
			    'to' => $2,
			    'port' => $3,
			    'idx' => scalar(@rv),
			    'line' => $lnum });
		}
	elsif (/^(\S*):(\S*)/) {
		push(@rv, { 'from' => $1,
			    'to' => $2,
			    'idx' => scalar(@rv),
			    'line' => $lnum });
		}
	$lnum++;
	}
close(ROUTES);
return @rv;
}

# create_route(&route)
sub create_route
{
&lock_file($qmail_routes_file);
local $lref = &read_file_lines($qmail_routes_file);
push(@$lref, $_[0]->{'from'}.':'.$_[0]->{'to'}.
	     ($_[0]->{'port'} ? ':'.$_[0]->{'port'} : ''));
&flush_file_lines();
&unlock_file($qmail_routes_file);
}

# modify_route(&old, &route)
sub modify_route
{
&lock_file($qmail_routes_file);
local $lref = &read_file_lines($qmail_routes_file);
splice(@$lref, $_[0]->{'line'}, 1,
       $_[1]->{'from'}.':'.$_[1]->{'to'}.
       ($_[1]->{'port'} ? ':'.$_[1]->{'port'} : ''));
&flush_file_lines();
&unlock_file($qmail_routes_file);
}

# delete_route(&route)
sub delete_route
{
&lock_file($qmail_routes_file);
local $lref = &read_file_lines($qmail_routes_file);
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
&unlock_file($qmail_routes_file);
}

# route_form([&route])
sub route_form
{
print "<form method=post action=save_route.cgi>\n";
if ($_[0]) { print "<input type=hidden name=idx value='$_[0]->{'idx'}'>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }

print "<table border>\n";
print "<tr $tb> <td><b>",$a ? $text{'rform_edit'}
			    : $text{'rform_create'},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'rform_from'}</b></td>\n";
printf "<td><input name=from size=30 value='%s'></td> </tr>\n",
	$_[0] ? $_[0]->{'from'} : "";

print "<tr> <td><b>$text{'rform_to'}</b></td>\n";
printf "<td><input type=radio name=to_def value=1 %s> %s\n",
	$_[0] && $_[0]->{'to'} ? "" : "checked", $text{'routes_direct'};
printf "<input type=radio name=to_def value=0 %s>\n",
	$_[0] && $_[0]->{'to'} ? "checked" : "";
printf "<input name=to size=30 value='%s'></td>\n",
	$_[0] ? $_[0]->{'to'} : "";

print "<td><b>$text{'rform_port'}</b></td>\n";
printf "<td><input type=radio name=port_def value=1 %s> %s\n",
	$_[0] && $_[0]->{'port'} ? "" : "checked", $text{'default'};
printf "<input type=radio name=port_def value=0 %s>\n",
	$_[0] && $_[0]->{'port'} ? "checked" : "";
printf "<input name=port size=4 value='%s'></td> </tr>\n",
	$_[0] ? $_[0]->{'port'} : "";

print "<tr> <td colspan=4 align=right>\n";
if ($_[0]) {
	print "<input type=submit value=$text{'save'}>\n";
	print "<input type=submit name=delete value=$text{'delete'}>\n";
	}
else { print "<input type=submit value=$text{'create'}>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

# list_virts()
# Returns a list of all virtualdomains file entries
sub list_virts
{
local $lnum = 0;
local @rv;
open(VIRTS, $qmail_virts_file);
while(<VIRTS>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^(\S+)\@(\S+):(\S*)/) {
		push(@rv, { 'user' => $1,
			    'domain' => $2,
			    'from' => "$1\@$2",
			    'prepend' => $3,
			    'line' => $lnum,
			    'idx' => scalar(@rv) } );
		}
	elsif (/^(\S*):(\S*)/) {
		push(@rv, { 'domain' => $1,
			    'from' => $1,
			    'prepend' => $2,
			    'line' => $lnum,
			    'idx' => scalar(@rv) } );
		}
	$lnum++;
	}
close(VIRTS);
return @rv;
}

# create_virt(&virt)
sub create_virt
{
&lock_file($qmail_virts_file);
local $lref = &read_file_lines($qmail_virts_file);
push(@$lref, join(":", $_[0]->{'user'} ? "$_[0]->{'user'}\@$_[0]->{'domain'}"
				       : $_[0]->{'domain'},
		       $_[0]->{'prepend'}));
&flush_file_lines();
&unlock_file($qmail_virts_file);
}

# delete_virt(&virt)
sub delete_virt
{
&lock_file($qmail_virts_file);
local $lref = &read_file_lines($qmail_virts_file);
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
&unlock_file($qmail_virts_file);
}

# modify_virt(&old, &virt)
sub modify_virt
{
&lock_file($qmail_virts_file);
local $lref = &read_file_lines($qmail_virts_file);
splice(@$lref, $_[0]->{'line'}, 1,
	     join(":", $_[1]->{'user'} ? "$_[1]->{'user'}\@$_[1]->{'domain'}"
				       : $_[1]->{'domain'},
		       $_[1]->{'prepend'}));
&flush_file_lines();
&unlock_file($qmail_virts_file);
}

# virt_form(&virt)
sub virt_form
{
print "<form method=post action=save_virt.cgi>\n";
if ($_[0]) { print "<input type=hidden name=idx value='$_[0]->{'idx'}'>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }

print "<table border>\n";
print "<tr $tb> <td><b>",$a ? $text{'vform_edit'}
			    : $text{'vform_create'},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td valign=top><b>$text{'vform_from'}</b></td> <td>\n";
printf "<input type=radio name=from_mode value=0 %s> %s<br>\n",
	$_[0] && !$_[0]->{'from'} ? "checked" : "", $text{'vform_all'};
printf "<input type=radio name=from_mode value=1 %s> %s\n",
	!$_[0] || $_[0]->{'domain'} && !$_[0]->{'user'} ? "checked" : "",
	$text{'vform_domain'};
printf "<input name=domain size=20 value='%s'><br>\n",
	$_[0] && $_[0]->{'domain'} && !$_[0]->{'user'} ? $_[0]->{'domain'} : "";
printf "<input type=radio name=from_mode value=2 %s> %s\n",
	$_[0] && $_[0]->{'user'} ? "checked" : "",
	$text{'vform_user'};
printf "<input name=user size=15 value='%s'>@",
	$_[0] && $_[0]->{'user'} ? $_[0]->{'user'} : "";
printf "<input name=domain2 size=20 value='%s'></td> </tr>",
	$_[0] && $_[0]->{'user'} ? $_[0]->{'domain'} : "";

print "<tr> <td valign=top><b>$text{'vform_to'}</b></td> <td>\n";
printf "<input type=radio name=prepend_mode value=0 %s> %s<br>\n",
	$_[0] && !$_[0]->{'prepend'} ? "checked" : "", $text{'vform_none'};
if (!$_[0]) {
	printf "<input type=radio name=prepend_mode value=2 %s> %s<br>\n",
		"checked", $text{'vform_auto'};
	}
printf "<input type=radio name=prepend_mode value=1 %s> %s\n",
	$_[0] && $_[0]->{'prepend'} ? "checked" : "", $text{'vform_prepend'};
printf "<input name=prepend size=15 value='%s'></td> </tr>\n",
	$_[0] && $_[0]->{'prepend'} ? $_[0]->{'prepend'} : "";

print "<tr> <td colspan=2 align=right>\n";
if ($_[0]) {
	print "<input type=submit value=$text{'save'}>\n";
	print "<input type=submit name=delete value=$text{'delete'}>\n";
	}
else { print "<input type=submit value=$text{'create'}>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

# list_queue()
# Returns an array of structures for entries in the mail queue
sub list_queue
{
local (@rv, %qmap);
opendir(DIR, $qmail_mess_dir);
foreach $m (readdir(DIR)) {
	next if ($m !~ /^\d+$/);
	opendir(DIR2, "$qmail_mess_dir/$m");
	foreach $m2 (readdir(DIR2)) {
		$qmap{$m2} = "$qmail_mess_dir/$m/$m2"
			if ($m2 =~ /^\d+$/);
		}
	closedir(DIR2);
	}
closedir(DIR);
open(QUEUE, "$qmail_bin_dir/qmail-qread |");
while(<QUEUE>) {
	if (/^(\d+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+):(\d+)\s+(\S+)\s+#(\d+)\s+(\d+)\s+(.*)/) {
		local $q = { 'from' => $10,
			     'id' => $8,
			     'file' => $qmap{$8},
			     'date' => "$1 $2 $3 $4:$5:$6" };
		$_ = <QUEUE>;
		if (/^\s*(\S+)\s+(.*)/) {
			$q->{'source'} = $1;
			$q->{'to'} = $2;
			push(@rv, $q);
			}
		}
	}
close(QUEUE);
return @rv;
}

# read_mail_file(file)
sub read_mail_file
{
local (@headers, $mail);

# Read the headers
open(MAIL, $_[0]);
while(1) {
	local $line = <MAIL>;
	$line =~ s/\r|\n//g;
	last if ($line eq '');
	if ($line =~ /^(\S+):\s*(.*)/) {
		push(@headers, [ $1, $2 ]);
		}
	elsif ($line =~ /^(\s+.*)/) {
		$headers[$#headers]->[1] .= $1 unless($#headers < 0);
		}
	}
$mail->{'headers'} = \@headers;
foreach $h (@headers) {
	$mail->{'header'}->{lc($h->[0])} = $h->[1];
	}

# Read the mail body
while(read(MAIL, $buf, 1024) > 0) {
	$mail->{'body'} .= $buf;
	}
close(MAIL);
return $mail;
}

# wrap_lines(text, width)
# Given a multi-line string, return an array of lines wrapped to
# the given width
sub wrap_lines
{
local @rv;
local $w = $_[1];
foreach $rest (split(/\n/, $_[0])) {
	if ($rest =~ /\S/) {
		while($rest =~ /^(.{1,$w}\S*)\s*([\0-\377]*)$/) {
			push(@rv, $1);
			$rest = $2;
			}
		}
	else {
		# Empty line .. keep as it is
		push(@rv, $rest);
		}
	}
return @rv;
}

# link_urls(text)
sub link_urls
{
local $r = $_[0];
$r =~ s/((http|ftp|https|mailto):[^><"'\s]+[^><"'\s\.])/<a href="$1">$1<\/a>/g;
return $r;
}

# list_assigns()
# Returns a list of qmail user assignments
sub list_assigns
{
local @rv;
local $lnum = 0;
open(ASSIGNS, $qmail_assigns_file);
while(<ASSIGNS>) {
	s/\r|\n//g;
	last if ($_ eq '.');
	local @line = split(/:/, $_, 8);
	if ($line[0] =~ /^([\+=])(\S*)/) {
		local $asn = { 'address' => $2,
			       'mode' => $1,
			       'user' => $line[1],
			       'uid' => $line[2],
			       'gid' => $line[3],
			       'home' => $line[4],
			       'dash' => $line[5],
			       'preext' => $line[6],
			       'idx' => scalar(@rv),
			       'line' => $lnum };
		push(@rv, $asn);
		}
	$lnum++;
	}
close(ASSIGNS);
return @rv;
}

# create_assign(&assign)
sub create_assign
{
&lock_file($qmail_assigns_file);
local $lref = &read_file_lines($qmail_assigns_file);
local $dot;
for($i=0; $i<@$lref; $i++) {
	if ($lref->[$i] eq '.') {
		$dot++;
		last;
		}
	}
splice(@$lref, $i, 0, join(":", "$_[0]->{'mode'}$_[0]->{'address'}",
				$_[0]->{'user'}, $_[0]->{'uid'}, $_[0]->{'gid'},
				$_[0]->{'home'}, $_[0]->{'dash'},
				$_[0]->{'preext'}, ''));
push(@$lref, ".") if (!$dot);
&flush_file_lines();
&unlock_file($qmail_assigns_file);
}

# modify_assign(&old, &assign)
sub modify_assign
{
&lock_file($qmail_assigns_file);
local $lref = &read_file_lines($qmail_assigns_file);
$lref->[$_[0]->{'line'}] = join(":", "$_[1]->{'mode'}$_[1]->{'address'}",
				$_[1]->{'user'}, $_[1]->{'uid'}, $_[1]->{'gid'},
				$_[1]->{'home'}, $_[1]->{'dash'},
				$_[1]->{'preext'}, '');
&flush_file_lines();
&unlock_file($qmail_assigns_file);
}

# delete_assign(&assign)
sub delete_assign
{
&lock_file($qmail_assigns_file);
local $lref = &read_file_lines($qmail_assigns_file);
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
&unlock_file($qmail_assigns_file);
}

# assign_form([&assign])
sub assign_form
{
print "<form method=post action=save_assign.cgi>\n";
if ($_[0]) { print "<input type=hidden name=idx value='$_[0]->{'idx'}'>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }

print "<table border>\n";
print "<tr $tb> <td><b>",$a ? $text{'sform_edit'}
			    : $text{'sform_create'},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td valign=top><b>$text{'sform_address'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value='=' %s> %s\n",
	!$_[0] || $_[0]->{'mode'} eq '=' ? 'checked' : '', $text{'sform_mode0'};
printf "<input name=address0 size=20 value='%s'><br>\n",
	$_[0] && $_[0]->{'mode'} eq '=' ? $_[0]->{'address'} : '';
printf "<input type=radio name=mode value='+' %s> %s\n",
	$_[0] && $_[0]->{'mode'} eq '+' ? 'checked' : '', $text{'sform_mode1'};
printf "<input name=address1 size=20 value='%s'></td> </tr>\n",
	$_[0] && $_[0]->{'mode'} eq '+' ? $_[0]->{'address'} : '';

print "<tr> <td><b>$text{'sform_user'}</b></td>\n";
print "<td>",&unix_user_input("user", $_[0] ? $_[0]->{'user'} : ''),"</td>\n";

print "<td><b>$text{'sform_home'}</b></td>\n";
printf "<td><input name=home size=25 value='%s'> %s</td> </tr>\n",
	$_[0] ? $_[0]->{'home'} : '', &file_chooser_button("home", 1);

print "<tr> <td><b>$text{'sform_uid'}</b></td>\n";
printf "<td><input name=uid size=6 value='%s'></td>\n",
	$_[0] ? $_[0]->{'uid'} : '';

print "<td><b>$text{'sform_gid'}</b></td>\n";
printf "<td><input name=gid size=6 value='%s'></td> </tr>\n",
	$_[0] ? $_[0]->{'gid'} : '';

print "<tr> <td colspan=4 align=right>\n";
if ($_[0]) {
	print "<input type=submit value='$text{'save'}'>\n";
	print "<input type=submit name=delete value='$text{'delete'}'>\n";
	}
else { print "<input type=submit value='$text{'create'}'>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}



1;

  07070100004945000081e40000000000000002000000013d1fe2e600000914000000200000000000000000000000000000002000000003reloc/qmailadmin/save_alias.cgi   #!/usr/local/bin/perl
# save_alias.cgi
# Save or delete a new or existing alias

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'asave_err'});

@aliases = &list_aliases();
foreach $ex (@aliases) {
	$exists{lc($ex)}++;
	}
$a = &get_alias($in{'old'});

if ($in{'delete'}) {
	# delete some alias
	$loga = $a;
	&delete_alias($a);
	}
else {
	# saving or creating .. check inputs
	$in{'name'} =~ /^[^:@ ]+$/ ||
		&error(&text('asave_eaddr', $in{'name'}));
	local $n = $in{'name'};
	$n =~ s/\./:/g;
	if ($in{'virt'}) {
		$n = $in{'virt'}.'-'.$n;
		}

	if ($in{'new'} || lc($a->{'name'}) ne lc($n)) {
		# is this name taken?
		$exists{$n} &&
			&error(&text('asave_ealready', $in{'name'}));
		}
	for($i=0; defined($t = $in{"type_$i"}); $i++) {
		$v = $in{"val_$i"};
		if ($t == 1 && $v !~ /^(\S+)$/) {
			&error(&text('asave_etype1', $v));
			}
		elsif ($t == 2 && $v !~ /^\/(\S+)[^\/\s]$/) {
			&error(&text('asave_etype2', $v));
			}
		elsif ($t == 3 && $v !~ /^\/(\S+)[^\/\s]$/) {
			&error(&text('asave_etype3', $v));
			}
		elsif ($t == 4) {
			$v =~ /^(\S+)/ || &error($text{'asave_etype4none'});
			-x $1 || &error(&text('asave_etype4', $1));
			}
		elsif ($t == 5 && $v !~ /^\/\S+$/) {
			&error(&text('asave_etype5', $v));
			}
		elsif ($t == 6 && $v !~ /^\/\S+$/) {
			&error(&text('asave_etype6', $v));
			}
		if ($t == 1) { push(@values, "&$v"); }
		elsif ($t == 2) { push(@values, "$v/"); }
		elsif ($t == 3) { push(@values, "$v"); }
		elsif ($t == 4) { push(@values, "|$v"); }
		elsif ($t == 5) {
			# Setup autoreply script
			push(@values, "|$module_config_directory/autoreply.pl ".
				      "$v $in{'name'}");
			&system_logged("cp autoreply.pl $module_config_directory");
			&system_logged("chmod 755 $module_config_directory/config");
			}
		elsif ($t == 6) {
			# Setup filter script
			push(@values, "|$module_config_directory/filter.pl ".
				      "$v $in{'name'}");
			&system_logged("cp filter.pl $module_config_directory");
			&system_logged("chmod 755 $module_config_directory/config");
			}
		}

	$newa{'name'} = $n;
	$newa{'values'} = \@values;
	if ($in{'new'}) { &create_alias(\%newa); }
	else { &modify_alias($a, \%newa); }
	$loga = \%newa;
	}
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "alias", $loga->{'name'}, $loga);
&redirect("list_aliases.cgi");

07070100004946000081e40000000000000002000000013d1fe2e600000586000000200000000000000000000000000000002100000003reloc/qmailadmin/save_assign.cgi  #!/usr/local/bin/perl
# save_assign.cgi
# Save or delete a mail user assignment

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'ssave_err'});

@assigns = &list_assigns();
$a = $assigns[$in{'idx'}] if (defined($in{'idx'}));

if ($in{'delete'}) {
	# delete some assign
	$loga = $a;
	&delete_assign($a);
	}
else {
	# saving or creating .. check inputs
	if ($in{'mode'} eq '=') {
		$in{'address0'} =~ /^[^:\s]+$/ || &error($text{'ssave_eaddress'});
		}
	else {
		$in{'address1'} =~ /^[^:\s]*$/ || &error($text{'ssave_eaddress'});
		}
	scalar(getpwnam($in{'user'})) || &error($text{'ssave_euser'});
	$in{'uid'} =~ /^\d+$/ || &error($text{'ssave_euid'});
	$in{'gid'} =~ /^\d+$/ || &error($text{'ssave_egid'});
	-d $in{'home'} || &error($text{'ssave_ehome'});
	$newa{'mode'} = $in{'mode'};
	$newa{'address'} = $in{'mode'} eq '=' ? $in{'address0'} : $in{'address1'};
	$newa{'user'} = $in{'user'};
	$newa{'uid'} = $in{'uid'};
	$newa{'gid'} = $in{'gid'};
	$newa{'home'} = $in{'home'};
	if ($a) {
		# Just keep these as before
		$newa{'dash'} = $a->{'dash'};
		$newa{'preext'} = $a->{'preext'};
		}

	if ($in{'new'}) { &create_assign(\%newa); }
	else { &modify_assign($a, \%newa); }
	$loga = \%newa;
	}
&system_logged("$qmail_bin_dir/qmail-newu");
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "assign", $loga->{'mode'}.$loga->{'address'}, $loga);
&redirect("list_assigns.cgi");

  07070100004947000081e40000000000000002000000013d1fe2e60000015f000000200000000000000000000000000000001f00000003reloc/qmailadmin/save_bads.cgi    #!/usr/local/bin/perl
# save_bads.cgi
# Save the list of rejected addresses

require './qmail-lib.pl';
&ReadParseMime();

$in{'bads'} =~ s/\r//g;
@bads = split(/\s+/, $in{'bads'});
if (@bads) {
	&save_control_file("badmailfrom", \@bads);
	}
else {
	&save_control_file("badmailfrom", undef);
	}
&webmin_log("bads", undef, undef, \%in);
&redirect("");

 07070100004948000081e40000000000000002000000013d1fe2e600000293000000200000000000000000000000000000002300000003reloc/qmailadmin/save_defroute.cgi    #!/usr/local/bin/perl
# save_defroute.cgi
# Save the default route

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'rsave_err'});
@routes = &list_routes();
$old = $routes[$in{'idx'}] if ($in{'idx'} ne '');

if ($old && $in{'direct'}) {
	&delete_route($old);
	}
else {
	gethostbyname($in{'defroute'}) ||
		&check_ipaddress($in{'defroute'}) ||
			&error(&text('rsave_eto', $in{'defroute'}));
	if ($old) {
		&modify_route($old, { 'from' => '',
				      'to' => $in{'defroute'} } );
		}
	else {
		&create_route({ 'from' => '',
			        'to' => $in{'defroute'} } );
		}
	}
&webmin_log("defroute", undef, undef, \%in);
&redirect("list_routes.cgi");

 07070100004949000081e40000000000000002000000013d1fe2e600000251000000200000000000000000000000000000002000000003reloc/qmailadmin/save_ffile.cgi   #!/usr/local/bin/perl
# save_afile.cgi
# Save a filter file

require './qmail-lib.pl';
&ReadParseMime();
&error_setup($text{'ffile_err'});

for($i=0; defined($in{"field_$i"}); $i++) {
	next if (!$in{"field_$i"});
	$in{"match_$i"} || &error($text{'ffile_ematch'});
	$in{"action_$i"} || &error($text{'ffile_eaction'});
	push(@filter, $in{"what_$i"}." ".$in{"action_$i"}." ".
		      $in{"field_$i"}." ".$in{"match_$i"}."\n");
	}
push(@filter, "2 ".$in{'other'}."\n") if ($in{'other'});

open(FILE, ">$in{'file'}");
print FILE @filter;
close(FILE);
&redirect("edit_alias.cgi?name=$in{'name'}");

   0707010000494a000081e40000000000000002000000013d1fe2e600000168000000200000000000000000000000000000002100000003reloc/qmailadmin/save_locals.cgi  #!/usr/local/bin/perl
# save_locals.cgi
# Save the list of local domains

require './qmail-lib.pl';
&ReadParseMime();

if ($in{'locals_def'}) {
	&save_control_file("locals", undef);
	}
else {
	$in{'locals'} =~ s/\r//g;
	@dlist = split(/\s+/, $in{'locals'});
	&save_control_file("locals", \@dlist);
	}
&webmin_log("locals", undef, undef, \%in);
&redirect("");

0707010000494b000081e40000000000000002000000013d1fe2e600000602000000200000000000000000000000000000001f00000003reloc/qmailadmin/save_opts.cgi    #!/usr/local/bin/perl
# save_opts.cgi
# Save global QMail options

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'opts_err'});

# Validate inputs
$in{'me'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'opts_eme'});
$in{'helo_def'} || $in{'helo'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'opts_ehelo'});
$in{'toconnect_def'} || $in{'toconnect'} =~ /^\d+$/ ||
	&error($text{'opts_etoconnect'});
$in{'toremote_def'} || $in{'toremote'} =~ /^\d+$/ ||
	&error($text{'opts_etoremote'});
$in{'bytes_def'} || $in{'bytes'} =~ /^\d+$/ ||
	&error($text{'opts_ebytes'});
$in{'timeout_def'} || $in{'timeout'} =~ /^\d+$/ ||
	&error($text{'opts_etimeout'});
$in{'localip_def'} || $in{'localip'} =~ /^[A-Za-z0-9\.\-]+$/ ||
	&error($text{'opts_elocalip'});

# Update config files
&set_control_file("me", $in{'me'});
&set_control_file("helohost", $in{'helo_def'} ? undef : $in{'helo'});
&set_control_file("timeoutconnect", $in{'toconnect_def'} ? undef
							 : $in{'toconnect'});
&set_control_file("timeoutremote", $in{'toremote_def'} ? undef
						       : $in{'toremote'});
&set_control_file("timeoutconnect", $in{'toconnect_def'} ? undef
							 : $in{'toconnect'});
&set_control_file("databytes", $in{'bytes_def'} ? undef : $in{'bytes'});
&set_control_file("timeoutsmtpd", $in{'timeout_def'} ? undef
						     : $in{'timeout'});
&set_control_file("localiphost", $in{'localip_def'} ? undef : $in{'localip'});
&set_control_file("smtpgreeting", $in{'greet_def'} ? undef : $in{'greet'});

&webmin_log("opts", undef, undef, \%in);
&redirect("");

  0707010000494c000081e40000000000000002000000013d1fe2e600000172000000200000000000000000000000000000002300000003reloc/qmailadmin/save_percents.cgi    #!/usr/local/bin/perl
# save_percents.cgi
# Save the list of % domains

require './qmail-lib.pl';
&ReadParseMime();

$in{'percents'} =~ s/\r//g;
@percents = split(/\s+/, $in{'percents'});
if (@percents) {
	&save_control_file("percenthack", \@percents);
	}
else {
	&save_control_file("percenthack", undef);
	}
&webmin_log("percents", undef, undef, \%in);
&redirect("");

  0707010000494d000081e40000000000000002000000013d1fe2e60000026d000000200000000000000000000000000000002000000003reloc/qmailadmin/save_rcpts.cgi   #!/usr/local/bin/perl
# save_rcpts.cgi
# Save the list of accepted domains

require './qmail-lib.pl';
&ReadParseMime();

if ($in{'rcpts_def'}) {
	&save_control_file("rcpthosts", undef);
	}
else {
	$in{'rcpts'} =~ s/\r//g;
	@dlist = split(/\s+/, $in{'rcpts'});
	&save_control_file("rcpthosts", \@dlist);
	}
$in{'rcpts2'} =~ s/\r//g;
if ($in{'rcpts2'}) {
	@dlist2 = split(/\s+/, $in{'rcpts2'});
	&save_control_file("morercpthosts", \@dlist2);
	&system_logged("$qmail_bin_dir/qmail-newmrh >/dev/null 2>&1");
	}
else {
	&save_control_file("morercpthosts", undef);
	}
&webmin_log("rcpts", undef, undef, \%in);
&redirect("");

   0707010000494e000081e40000000000000002000000013d1fe2e6000000f6000000200000000000000000000000000000002000000003reloc/qmailadmin/save_rfile.cgi   #!/usr/local/bin/perl
# save_rfile.cgi
# Save an autoreply file

require './qmail-lib.pl';
&ReadParseMime();

$in{'text'} =~ s/\r//g;
open(FILE, ">$in{'file'}");
print FILE $in{'text'};
close(FILE);
&redirect("edit_alias.cgi?name=$in{'name'}");

  07070100004951000081e40000000000000002000000013d1fe2e600000147000000200000000000000000000000000000001b00000003reloc/qmailadmin/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the qmail rc command in the background

require './qmail-lib.pl';
if ($config{'start_cmd'}) {
	&system_logged("( $config{'start_cmd'} ) >/dev/null 2>&1 </dev/null &");
	}
else {
	&system_logged("$qmail_start_cmd >/dev/null 2>&1 </dev/null &");
	}
&webmin_log("start");
&redirect("");

 0707010000494f000081e40000000000000002000000013d1fe2e6000003e5000000200000000000000000000000000000002000000003reloc/qmailadmin/save_route.cgi   #!/usr/local/bin/perl
# save_route.cgi
# Save or delete an SMTP route

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'rsave_err'});

@routes = &list_routes();
$r = $routes[$in{'idx'}] if (defined($in{'idx'}));

if ($in{'delete'}) {
	# delete some route
	$logr = $r;
	&delete_route($r);
	}
else {
	# saving or creating .. check inputs
	$in{'from'} =~ /^[A-Za-z0-9\.\-]+$/ ||
		&error(&text('rsave_efrom', $in{'from'}));
	$in{'to_def'} || gethostbyname($in{'to'}) ||
		&check_ipaddress($in{'to'}) ||
			&error(&text('rsave_eto', $in{'to'}));
	$in{'port_def'} || $in{'port'} =~ /^\d+$/ ||
		&error(&text('rsave_eport', $in{'port'}));
	$newr{'from'} = $in{'from'};
	$newr{'to'} = $in{'to'};
	$newr{'port'} = $in{'port'} if (!$in{'port_def'});

	if ($in{'new'}) { &create_route(\%newr); }
	else { &modify_route($r, \%newr); }
	$logr = \%newr;
	}
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "route", $logr->{'from'}, $logr);
&redirect("list_routes.cgi");

   07070100004950000081e40000000000000002000000013d1fe2e600000683000000200000000000000000000000000000001f00000003reloc/qmailadmin/save_virt.cgi    #!/usr/local/bin/perl
# save_virt.cgi
# Save or delete a new or existing virtual mapping

require './qmail-lib.pl';
&ReadParse();
&error_setup($text{'vsave_err'});

@virts = &list_virts();
$v = $virts[$in{'idx'}] if ($in{'idx'} ne '');

if ($in{'delete'}) {
	# delete some virt
	$logv = $v;
	&delete_virt($v);
	}
else {
	# saving or creating .. check inputs
	if ($in{'from_mode'} == 1) {
		$in{'domain'} =~ /^[A-Za-z0-9\.\-]+$/ ||
			&error(&text('vsave_edomain', $in{'domain'}));
		$newv{'domain'} = $in{'domain'};
		}
	elsif ($in{'from_mode'} == 2) {
		$in{'user'} =~ /^[^\@: ]+$/ ||
			&error(&text('vsave_euser', $in{'user'}));
		$in{'domain2'} =~ /^[A-Za-z0-9\.\-]+$/ ||
			&error(&text('vsave_edomain', $in{'domain2'}));
		$newv{'domain'} = $in{'domain2'};
		$newv{'user'} = $in{'user'};
		}
	if ($in{'prepend_mode'} == 1) {
		$in{'prepend'} =~ /^[^\@: ]+$/ ||
			&error(&text('vsave_eprepend', $in{'prepend'}));
		$newv{'prepend'} = $in{'prepend'};
		}
	elsif ($in{'prepend_mode'} == 0) {
		$in{'from_mode'} || &error($text{'vsave_eboth'});
		}
	elsif ($in{'prepend_mode'} == 2) {
		if ($in{'from_mode'} == 1) {
			$newv{'prepend'} = $in{'domain'};
			$newv{'prepend'} =~ s/\.(.*)$//;
			}
		elsif ($in{'from_mode'} == 2) {
			$newv{'prepend'} = $in{'domain2'};
			$newv{'prepend'} =~ s/\.(.*)$//;
			}
		else {
			$newv{'prepend'} = 'catchall';
			}
		}
	if ($in{'new'}) { &create_virt(\%newv); }
	else { &modify_virt($v, \%newv); }
	$logv = \%newv;
	}
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "virt", $logv->{'user'} ? "$logv->{'user'}\@$logv->{'domain'}" :
		    $logv->{'domain'}, $logv);
&redirect("list_virts.cgi");

 07070100004952000081e40000000000000002000000013d1fe2e600000147000000200000000000000000000000000000001a00000003reloc/qmailadmin/stop.cgi #!/usr/local/bin/perl
# stop.cgi
# Stop the processes started by /var/qmail/rc

require './qmail-lib.pl';
if ($config{'stop_cmd'}) {
	&system_logged("( $config{'stop_cmd'} ) >/dev/null 2>&1 </dev/null &");
	}
else {
	&kill_byname_logged("qmail-send", TERM) || &error($text{'stop_err'});
	}
&webmin_log("stop");
&redirect("");

 07070100004953000081e40000000000000002000000013d1fe2e6000009a5000000200000000000000000000000000000002000000003reloc/qmailadmin/view_queue.cgi   #!/usr/local/bin/perl
# view_queue.cgi
# Display some message from the mail queue

require './qmail-lib.pl';
&foreign_require("sendmail", "sendmail-lib.pl");
&foreign_require("sendmail", "boxes-lib.pl");
&ReadParse();

$mail = &read_mail_file($in{'file'});
&foreign_call("sendmail", "parse_mail", $mail);

&header($text{'view_title'}, "");
print "<center><font size=+1>",&text('view_desc', "<tt>$in{'file'}</tt>"),
      "</font></center>\n";
print "<hr>\n";

print "<form action=delete_queue.cgi method=post>\n";
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table width=100% border=1>\n";
print "<tr> <td $tb><b>$text{'view_headers'}</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";
print "<tr> <td><b>$text{'queue_from'}</b></td> ",
      "<td>",&html_escape($mail->{'header'}->{'from'}),"</td> </tr>\n";
print "<tr> <td><b>$text{'queue_to'}</b></td> ",
      "<td>",&html_escape($mail->{'header'}->{'to'}),"</td> </tr>\n";
print "<tr> <td><b>$text{'queue_cc'}</b></td> ",
      "<td>",&html_escape($mail->{'header'}->{'cc'}),"</td> </tr>\n"
	if ($mail->{'header'}->{'cc'});
print "<tr> <td><b>$text{'queue_date'}</b></td> ",
      "<td>",&html_escape($mail->{'header'}->{'date'}),"</td> </tr>\n";
print "<tr> <td><b>$text{'queue_subject'}</b></td> ",
      "<td>",&html_escape($mail->{'header'}->{'subject'}),"</td> </tr>\n";
print "</table></td></tr></table><p>\n";

# Find body attachment
@attach = @{$mail->{'attach'}};
foreach $a (@attach) {
	if ($a->{'type'} eq 'text/plain') {
		$body = $a;
		last;
		}
	}
if ($body) {
	print "<table width=100% border=1><tr><td $cb><pre>\n";
	foreach $l (&wrap_lines($body->{'data'}, $config{'wrap_width'})) {
		print &link_urls(&html_escape($l)),"\n";
		}
	print "</pre></td></tr></table><p>\n";
	}

# Display other attachments
@attach = grep { $_ ne $body } @attach;
@attach = grep { !$_->{'attach'} } @attach;
if (@attach) {
	print "<table width=100% border=1>\n";
	print "<tr> <td $tb><b>$text{'view_attach'}</b></td> </tr>\n";
	print "<tr> <td $cb>\n";
	foreach $a (@attach) {
		push(@titles, $a->{'filename'} ? $a->{'filename'}
					       : $a->{'type'});
		push(@links, "detach_queue.cgi?file=$in{'file'}&attach=$a->{'idx'}");
		push(@icons, "images/boxes.gif");
		}
	&icons_table(\@links, \@titles, \@icons, 8);
	print "</td></tr></table><p>\n";
	}

print "<input type=submit value='$text{'delete'}'></form>\n";

print "<hr>\n";
&footer("list_queue.cgi", $text{'queue_return'});

   07070100008df9000041ed0000000000000001000000053d1ffb2600000000000000200000000000000000000000000000000c00000003reloc/quota   07070100008dfa000081a40000000000000002000000013d1fe2cb00001823000000200000000000000000000000000000001c00000003reloc/quota/acl_security.pl   
require 'quota-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the quota module
sub acl_security_form
{
local $groups = &quotas_supported() >= 2;

print "<tr> <td valign=top><b>$text{'acl_fss'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=filesys_def value=1 %s> %s\n",
	$_[0]->{'filesys'} eq '*' ? 'checked' : '', $text{'acl_fall'};
printf "<input type=radio name=filesys_def value=0 %s> %s<br>\n",
	$_[0]->{'filesys'} eq '*' ? '' : 'checked', $text{'acl_fsel'};
print "<select width=150 name=filesys multiple size=3>\n";
local ($f, %qcan);
map { $qcan{$_}++ } split(/\s+/, $_[0]->{'filesys'});
foreach $f (&list_filesystems()) {
	if ($f->[4]) {
		printf "<option %s>%s\n",
			$qcan{$f->[0]} ? "selected" : "", $f->[0];
		}
	}
print "</select></td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td><b>$text{'acl_quotaon'}</b></td> <td>\n";
printf "<input type=radio name=enable value=1 %s> $text{'yes'}\n",
	$_[0]->{'enable'} ? "checked" : "";
printf "<input type=radio name=enable value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'enable'} ? "" : "checked";

print "<td><b>$text{'acl_quotanew'}</b></td> <td>\n";
printf "<input type=radio name=default value=1 %s> $text{'yes'}\n",
	$_[0]->{'default'} ? "checked" : "";
printf "<input type=radio name=default value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'default'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_ugrace'}</b></td> <td>\n";
printf "<input type=radio name=ugrace value=1 %s> $text{'yes'}\n",
	$_[0]->{'ugrace'} ? "checked" : "";
printf "<input type=radio name=ugrace value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'ugrace'} ? "" : "checked";

print "<td><b>$text{'acl_vtotal'}</b></td> <td>\n";
printf "<input type=radio name=diskspace value=1 %s> $text{'yes'}\n",
	$_[0]->{'diskspace'} ? "checked" : "";
printf "<input type=radio name=diskspace value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'diskspace'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_maxblocks'}</b></td> <td>\n";
printf "<input type=radio name=maxblocks_def value=1 %s> %s\n",
	$_[0]->{'maxblocks'} ? '' : 'checked', $text{'acl_unlimited'};
printf "<input type=radio name=maxblocks_def value=0 %s>\n",
	$_[0]->{'maxblocks'} ? 'checked' : '';
print "<input name=maxblocks size=8 value='$_[0]->{'maxblocks'}'></td>\n";

print "<td><b>$text{'acl_maxfiles'}</b></td> <td>\n";
printf "<input type=radio name=maxfiles_def value=1 %s> %s\n",
	$_[0]->{'maxfiles'} ? '' : 'checked', $text{'acl_unlimited'};
printf "<input type=radio name=maxfiles_def value=0 %s>\n",
	$_[0]->{'maxfiles'} ? 'checked' : '';
print "<input name=maxfiles size=8 value='$_[0]->{'maxfiles'}'></td> </tr>\n";

if ($groups) {
	print "<td><b>$text{'acl_ggrace'}</b></td> <td>\n";
	printf "<input type=radio name=ggrace value=1 %s> $text{'yes'}\n",
		$_[0]->{'ggrace'} ? "checked" : "";
	printf "<input type=radio name=ggrace value=0 %s> $text{'no'}</td> </tr>\n",
		$_[0]->{'ggrace'} ? "" : "checked";
	}

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_uquota'}",
      "</b></td> <td colspan=3>\n";
printf "<input type=radio name=umode value=0 %s>$text{'acl_uall'}<br>\n",
	$_[0]->{'umode'} == 0 ? "checked" : "";
printf "<input type=radio name=umode value=1 %s>$text{'acl_uonly'}\n",
	$_[0]->{'umode'} == 1 ? "checked" : "";
printf "<input name=ucan size=40 value='%s'> %s<br>\n",
	$_[0]->{'umode'} == 1 ? $_[0]->{'users'} : "",
	&user_chooser_button("ucan", 1);
printf "<input type=radio name=umode value=2 %s>$text{'acl_uexcept'}\n",
	$_[0]->{'umode'} == 2 ? "checked" : "";
printf "<input name=ucannot size=40 value='%s'> %s<br>\n",
	$_[0]->{'umode'} == 2 ? $_[0]->{'users'} : "",
	&user_chooser_button("ucannot", 1);
printf "<input type=radio name=umode value=3 %s>$text{'acl_ugroup'}\n",
	$_[0]->{'umode'} == 3 ? "checked" : "";
printf "<input name=upri size=8 value='%s'> %s<br>\n",
	$_[0]->{'umode'} == 3 ? scalar(getgrgid($_[0]->{'users'})) : "",
	&group_chooser_button("upri", 0);
printf "<input type=radio name=umode value=4 %s>$text{'acl_uuid'}\n",
	$_[0]->{'umode'} == 4 ? "checked" : "";
printf "<input name=umin size=6 value='%s'> -\n",
	$_[0]->{'umode'} == 4 ? $_[0]->{'umin'} : "";
printf "<input name=umax size=6 value='%s'></td> </tr>\n",
	$_[0]->{'umode'} == 4 ? $_[0]->{'umax'} : "";

if ($groups) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";

	print "<tr> <td valign=top><b>$text{'acl_gquota'}",
	      "</b></td> <td colspan=3>\n";
	printf "<input type=radio name=gmode value=0 %s>$text{'acl_gall'}<br>\n",
		$_[0]->{'gmode'} == 0 ? "checked" : "";
	printf "<input type=radio name=gmode value=3 %s>$text{'acl_gnone'}<br>\n",
		$_[0]->{'gmode'} == 3 ? "checked" : "";
	printf "<input type=radio name=gmode value=1 %s>$text{'acl_gonly'}\n",
		$_[0]->{'gmode'} == 1 ? "checked" : "";
	printf "<input name=gcan size=40 value='%s'> %s<br>\n",
		$_[0]->{'gmode'} == 1 ? $_[0]->{'groups'} : "",
		&group_chooser_button("gcan", 1);
	printf "<input type=radio name=gmode value=2 %s>$text{'acl_gexcept'}\n",
		$_[0]->{'gmode'} == 2 ? "checked" : "";
	printf "<input name=gcannot size=40 value='%s'> %s</td> </tr>\n",
		$_[0]->{'gmode'} == 2 ? $_[0]->{'groups'} : "",
		&group_chooser_button("gcannot", 1);
	}
}

# acl_security_save(&options)
# Parse the form for security options for the quota module
sub acl_security_save
{
if ($in{'filesys_def'}) {
	$_[0]->{'filesys'} = "*";
	}
else {
	$_[0]->{'filesys'} = join(" ", split(/\0/, $in{'filesys'}));
	}
$_[0]->{'umode'} = $in{'umode'};
$_[0]->{'users'} = $in{'umode'} == 0 ? "" :
		   $in{'umode'} == 1 ? $in{'ucan'} :
		   $in{'umode'} == 2 ? $in{'ucannot'} :
		   $in{'umode'} == 3 ? scalar(getgrnam($in{'upri'})) : "";
$_[0]->{'umin'} = $in{'umin'};
$_[0]->{'umax'} = $in{'umax'};
$_[0]->{'gmode'} = $in{'gmode'};
$_[0]->{'groups'} = $in{'gmode'} == 0 ? "" :
		    $in{'gmode'} == 1 ? $in{'gcan'} : $in{'gcannot'};
$_[0]->{'enable'} = $in{'enable'};
$_[0]->{'default'} = $in{'default'};
$_[0]->{'ugrace'} = $in{'ugrace'};
$_[0]->{'ggrace'} = $in{'ggrace'};
$_[0]->{'diskspace'} = $in{'diskspace'};
$_[0]->{'maxblocks'} = $in{'maxblocks'};
$_[0]->{'maxfiles'} = $in{'maxfiles'};
}

 07070100008dfb000081e40000000000000002000000013d1fe2cb00000278000000200000000000000000000000000000001900000003reloc/quota/activate.cgi  #!/usr/local/bin/perl
# activate.cgi
# Turn quotas on or off for some filesystem

require './quota-lib.pl';
&ReadParse();
&can_edit_filesys($in{'dir'}) && $access{'enable'} ||
	&error($text{'activate_eallow'});

if ($in{'active'} == 0) {
	# Turn on quotas
	$whatfailed = $text{'activate_eon'};
	if ($error = &quotaon($in{'dir'}, $in{'mode'})) {
		&error($error);
		}
	&webmin_log("activate", undef, $in{'dir'}, \%in);
	}
else {
	# Turn off quotas
	$whatfailed = $text{'activate_eoff'};
	if ($error = &quotaoff($in{'dir'}, $in{'mode'})) {
		&error($error);
		}
	&webmin_log("deactivate", undef, $in{'dir'}, \%in);
	}
&redirect("");

07070100008dfc000081e40000000000000002000000013d1fe2cb000002b5000000200000000000000000000000000000001d00000003reloc/quota/check_quotas.cgi  #!/usr/local/bin/perl
# check_quotas.cgi
# Runs quotacheck to update block and file counts on some filesystem

require './quota-lib.pl';
&ReadParse();
$| = 1;
$theme_no_table = 1;
&can_edit_filesys($in{'filesys'}) ||
	&error($text{'check_ecannot'});

&header($text{'check_title'}, "");
print "<hr>\n";
print &text('check_running', $in{'filesys'}), "<p>\n";

&quotacheck($in{'filesys'});
&webmin_log("check", undef, $in{'filesys'});
print "$text{'check_done'}<p>\n";
print "<hr>\n";
if ($in{'source'} eq "user") {
	$retlist_name = $text{'check_ruser'};
} else {
	$retlist_name = $text{'check_rgroup'};
}
&footer("list_$in{'source'}s.cgi?$in{'filesys'}", &text('check_return', $retlist_name));

   07070100008dfd000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000002000000003reloc/quota/cobalt-linux-lib.pl   # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008dfe000081a40000000000000002000000013d1fe2cb00000215000000200000000000000000000000000000002000000003reloc/quota/config-cobalt-linux   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008dff000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000001f00000003reloc/quota/config-corel-linux    display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e00000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000002000000003reloc/quota/config-debian-linux   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e01000081a40000000000000002000000013d1fe2cb0000020f000000200000000000000000000000000000001b00000003reloc/quota/config-freebsd    user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_copy_command=edquota -g -p
quotacheck_command=quotacheck
user_quota_command=quota -v -u
group_grace_command=edquota -t -g
user_repquota_command=repquota -u -v
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
group_quotaon_command=quotaon -g
group_quota_command=quota -v -g
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
display_max=100
group_edquota_command=edquota -g
user_grace_command=edquota -t -u
sort_mode=0
 07070100008e02000081a40000000000000002000000013d1fe2cd00000215000000200000000000000000000000000000002100000003reloc/quota/config-generic-linux  display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e03000081a40000000000000002000000013d1fe2cd00000215000000200000000000000000000000000000002000000003reloc/quota/config-gentoo-linux   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e04000081a40000000000000002000000013d1fe2cb0000010c000000200000000000000000000000000000001800000003reloc/quota/config-hpux   display_max=100
user_quotaoff_command=quotaoff
user_quotaon_command=quotaon
user_repquota_command=repquota -v
user_grace_command=edquota -t
user_quota_command=quota -v
quotacheck_command=quotacheck
user_edquota_command=edquota
user_copy_command=edquota -p
sort_mode=0
07070100008e05000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000002200000003reloc/quota/config-mandrake-linux display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e38000081a40000000000000002000000013d1fe2cd00000215000000200000000000000000000000000000001d00000003reloc/quota/config-msc-linux  display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e39000081a40000000000000002000000013d1fe2cd0000020f000000200000000000000000000000000000001a00000003reloc/quota/config-netbsd user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_copy_command=edquota -g -p
quotacheck_command=quotacheck
user_quota_command=quota -v -u
group_grace_command=edquota -t -g
user_repquota_command=repquota -u -v
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
group_quotaon_command=quotaon -g
group_quota_command=quota -v -g
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
display_max=100
group_edquota_command=edquota -g
user_grace_command=edquota -t -u
sort_mode=0
 07070100008e3a000081a40000000000000002000000013d1fe2cb00000215000000200000000000000000000000000000001e00000003reloc/quota/config-open-linux display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e3b000081a40000000000000002000000013d1fe2cb0000020f000000200000000000000000000000000000001b00000003reloc/quota/config-openbsd    user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_copy_command=edquota -g -p
quotacheck_command=quotacheck
user_quota_command=quota -v -u
group_grace_command=edquota -t -g
user_repquota_command=repquota -u -v
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
group_quotaon_command=quotaon -g
group_quota_command=quota -v -g
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
display_max=100
group_edquota_command=edquota -g
user_grace_command=edquota -t -u
sort_mode=0
 07070100008e3c000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000002000000003reloc/quota/config-redhat-linux   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e3d000081a40000000000000002000000013d1fe2cd00000218000000200000000000000000000000000000002400000003reloc/quota/config-redhat-linux-7.1   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g -f
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
07070100008e3e000081a40000000000000002000000013d1fe2cd00000218000000200000000000000000000000000000002400000003reloc/quota/config-redhat-linux-7.2   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g -f
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
07070100008e3f000081a40000000000000002000000013d1fe2cd00000218000000200000000000000000000000000000002400000003reloc/quota/config-redhat-linux-7.3   display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g -f
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
07070100008e40000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000002300000003reloc/quota/config-slackware-linux    display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e41000081a40000000000000002000000013d1fe2cc0000010c000000200000000000000000000000000000001b00000003reloc/quota/config-solaris    display_max=100
user_quotaoff_command=quotaoff
user_quotaon_command=quotaon
user_repquota_command=repquota -v
user_grace_command=edquota -t
user_quota_command=quota -v
quotacheck_command=quotacheck
user_edquota_command=edquota
user_copy_command=edquota -p
sort_mode=0
07070100008e42000081a40000000000000002000000013d1fe2cc00000215000000200000000000000000000000000000001e00000003reloc/quota/config-suse-linux display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e43000081a40000000000000002000000013d1fe2cb00000215000000200000000000000000000000000000001f00000003reloc/quota/config-turbo-linux    display_max=100
user_grace_command=edquota -u -t
group_grace_command=edquota -g -t
group_quotaon_command=quotaon -g
user_quotaoff_command=quotaoff -u
user_quotaon_command=quotaon -u
group_quota_command=quota -v -g
group_copy_command=edquota -g -p
quotacheck_command=quotacheck -u -g
user_quota_command=quota -v -u
user_copy_command=edquota -u -p
group_repquota_command=repquota -g -v
user_repquota_command=repquota -u -v
group_edquota_command=edquota -g
user_edquota_command=edquota -u
group_quotaoff_command=quotaoff -g
sort_mode=0
   07070100008e44000081a40000000000000002000000013d1fe2cb0000010c000000200000000000000000000000000000001c00000003reloc/quota/config-unixware   display_max=100
user_quotaoff_command=quotaoff
user_quotaon_command=quotaon
user_repquota_command=repquota -v
user_grace_command=edquota -t
user_quota_command=quota -v
quotacheck_command=quotacheck
user_edquota_command=edquota
user_copy_command=edquota -p
sort_mode=0
07070100008e45000081a40000000000000002000000013d1fe2cc000003c2000000200000000000000000000000000000001800000003reloc/quota/config.info   display_max=Maximum number of users or groups to display,0
user_repquota_command=Command to list users on a filesystem,0
group_repquota_command=Command to list groups on a filesystem,0
user_edquota_command=Command to edit user's quota,0
group_edquota_command=Command to edit group's quota,0
user_quota_command=Command to check a user's quota,0
group_quota_command=Command to check a group's quota,0
user_copy_command=Command to copy a user's quota,0
group_copy_command=Command to copy a group's quota,0
user_quotaon_command=Command to turn on user quotas,0
group_quotaon_command=Command to turn on group quotas,0
user_quotaoff_command=Command to turn off user quotas,0
group_quotaoff_command=Command to turn off group quotas,0
quotacheck_command=Command to check quotas,0
user_grace_command=Command to edit user grace times,0
group_grace_command=Command to edit group grace times,0
sort_mode=Sort users and groups by,1,0-Blocks used,2-Name,1-Order from repquota
  07070100008e46000081a40000000000000002000000013d1fe2cd0000044b000000200000000000000000000000000000001b00000003reloc/quota/config.info.ca    display_max=Nombre màxim d'usuaris o grups a llistar,0
user_repquota_command=Ordre per llistar els usuaris d'un sistema de fitxers,0
group_repquota_command=Ordre per llistar els grups d'un sistema de fitxers,0
user_edquota_command=Ordre per editar la quota d'un usuari,0
group_edquota_command=Ordre per editar la quota d'un grup,0
user_quota_command=Ordre per comprovar la quota d'un usuari,0
group_quota_command=Ordre per comprovar la quota d'un grup,0
user_copy_command=Ordre per copiar la quota d'un usuari,0
group_copy_command=Ordre per copiar la quota d'un grup,0
user_quotaon_command=Ordre per activar les quotes d'usuari,0
group_quotaon_command=Ordre per activar les quotes de grup,0
user_quotaoff_command=Ordre per desactivar les quotes d'usuari,0
group_quotaoff_command=Ordre per desactivar les quotes de grup,0
quotacheck_command=Ordre per comprovar les quotes,0
user_grace_command=Ordre per editar el nombre d'intents de l'usuari,0
group_grace_command=Ordre per editar el nombre d'intents del grup,0
sort_mode=Ordena els usuaris i els grups per,1,0-Blocs usats,2-Nom,1-Ordre de repquota

 07070100008e47000081a40000000000000002000000013d1fe2cc00000463000000200000000000000000000000000000001b00000003reloc/quota/config.info.de    display_max=Maximale Anzahl anzuzeigender Benutzer und Gruppen,0
user_repquota_command=Kommando um Benutzer eines Dateisystems anzuzeigen,0
group_repquota_command=Kommando zum auflisten der Gruppen auf einem Dateisystem,0
user_edquota_command=Kommando um Quota eines Benutzers zu bearbeiten,0
group_edquota_command=Kommando um Quota einer Gruppe anzuzeigen,0
user_quota_command=Kommando um die Quota eines Benutzers anzuzeigen,0
group_quota_command=Kommando um die Quota einer Gruppe anzuzeigen,0
user_copy_command=Kommando um die Quota eines Benutzers zu kopieren,0
group_copy_command=Kommando um die Quota einer Gruppe zu kopieren,0
user_quotaon_command=Kommando zum aktivieren einer Benutzer-Quota,0
group_quotaon_command=Kommando zum aktivieren einer Gruppen-Quota,0
user_quotaoff_command=Kommando zum deaktivieren einer Benutzer-Quota,0
group_quotaoff_command=Kommando zum deaktivieren einer Gruppen-Quota,0
quotacheck_command=Kommando zum &Uuml;berpr&uuml;fen der Quotas,0
user_grace_command=Kommando zum Bearbeiten der Fristen eines Benutzers,0
group_grace_command=Kommando zum Bearbeiten der Fristen einer Gruppe,0
 07070100008e48000081a40000000000000002000000013d1fe2cb000003f9000000200000000000000000000000000000001b00000003reloc/quota/config.info.es    display_max=Máximo número de usuario o grupos a mostrar,0
user_repquota_command=Comando para listar usuarios en un sistema de archivos,0
group_repquota_command=Comando para listar grupos en un sistema de archivos,0
user_edquota_command=Comando para editar cuota de usuario,0
group_edquota_command=Comando para editar cuota de grupo,0
user_quota_command=Comando para revisar cuota de un usuario,0
group_quota_command=Comando para revisar cuota de un grupo,0
user_copy_command=Comando para copiar cuota de un usuario,0
group_copy_command=Comando para copiar cuota de un grupo,0
user_quotaon_command=Comando para activar cuotas de usuario,0
group_quotaon_command=Comando para activar cuotas de grupo,0
user_quotaoff_command=Comando para desactivar cuotas de usuario,0
group_quotaoff_command=Comando para desactivar cuotas de grupo,0
quotacheck_command=Comando para revisar cuotas,0
user_grace_command=Comando para editar tiempo de gracia de usuario,0
group_grace_command=Comando para editar tiempos de gracia de grupo,0
   07070100008e49000081a40000000000000002000000013d1fe2cb00000453000000200000000000000000000000000000001b00000003reloc/quota/config.info.fr    display_max=Nombre maximum d'usagers et de groupe à afficher,0
user_repquota_command=Commande pour lister les usagers sur un système de fichier,0
group_repquota_command=Commande pour lister les groupes sur un système de fichier,0
user_edquota_command=Commande pour éditer le quota d'un usager,0
group_edquota_command=Commande pour éditer le quota d'un groupe,0
user_quota_command=Commande pour vérifier le quota d'un usager,0
group_quota_command=Commande pour vérifier le quota d'un groupe,0
user_copy_command=Commande pour copier le quota d'un usager,0
group_copy_command=Commande pour copier le quota d'un groupe,0
user_quotaon_command=Commande pour activer les quotas au niveau usager,0
group_quotaon_command=Commande pour activer les quotas au niveau groupe,0
user_quotaoff_command=Commande pour arrêter les quotas usager,0
group_quotaoff_command=Commande pour arrêter les quotas groupe,0
quotacheck_command=Commande pour vérifier les quotas,0
user_grace_command=Commande pour éditer le temps de grâce de l'usager,0
group_grace_command=Commande pour éditer le temps de grâce du groupe,0
 07070100008e4a000081a40000000000000002000000013d1fe2cd0000044d000000200000000000000000000000000000001b00000003reloc/quota/config.info.nl    display_max=Maximum aantal te tonen gebruikers of groepen,0
user_repquota_command=Commando om gebruikers te tonen van een bestandssysteem,0
group_repquota_command=Commando om groepen te tonen van een bestandssysteem,0
user_edquota_command=Commando om quotum van gebruiker te wijzigen,0
group_edquota_command=Commando om quotum van groep te wijzigen,0
user_quota_command=Commando om quotum van gebruikers te controleren,0
group_quota_command=Commando om quotum van groep te controleren,0
user_copy_command=Commando om quotum van gebruiker te kopieëren,0
group_copy_command=Commando om quotum van groep te kopieëren,0
user_quotaon_command=Commando om quota van gebruiker aan te zetten,0
group_quotaon_command=Commando om quota van groep aan te zetten,0
user_quotaoff_command=Commando om quota van gebruiker uit te zetten,0
group_quotaoff_command=Commando om quota van groep uit te zetten,0
quotacheck_command=Commando om quota te controleren,0
user_grace_command=Commando om waarschuwingstijd van een gebruiker te wijzigen,0
group_grace_command=Commando om waarschuwingstijd van een groep te wijzigen,0
   07070100008e4b000081a40000000000000002000000013d1fe2cc000003ff000000200000000000000000000000000000001b00000003reloc/quota/config.info.pl    display_max=Maksymalna liczba wy¶wietlanych u¿ytkowników lub grup,0
user_repquota_command=Polecenie wy¶wietlaj±ce u¿ytkowników w&nbsp;systemie plików,0
group_repquota_command=Polecenie wy¶wietlaj±ce grupy w&nbsp;systemie plików,0
user_edquota_command=Polecenie do zmiany quota u¿ytkownika,0
group_edquota_command=Polecenie do zmiany quota grupy,0
user_quota_command=Polecenie do sprawdzenia quota u¿ytkownika,0
group_quota_command=Polecenie do sprawdzenia quota grupy,0
user_copy_command=Polecenie do skopiowania quota u¿ytkownika,0
group_copy_command=Polecenie do skopiowania quota grupy,0
user_quotaon_command=Polecenie do w³±czenia quota u¿ytkowników,0
group_quotaon_command=Polecenie do w³±czenia quota grup,0
user_quotaoff_command=Polecenie do wy³±czenia quota u¿ytkowników,0
group_quotaoff_command=Polecenie do wy³±czenia quota grup,0
quotacheck_command=Polecenie do naliczenia quota,0
user_grace_command=Polecenie do zmiany czasu ulgi dla u¿ytkowników,0
group_grace_command=Polecenie do zmiany czasu ulgi dla grup,0
 07070100008e4c000081a40000000000000002000000013d1fe2cc00000439000000200000000000000000000000000000001e00000003reloc/quota/config.info.ru_RU user_quotaoff_command=Êîìàíäà äëÿ âûêëþ÷åíèÿ ïîëüçîâàòåëüñêèõ êâîò,0
user_quotaon_command=Êîìàíäà äëÿ âêëþ÷åíèÿ ïîëüçîâàòåëüñêèõ êâîò,0
group_copy_command=Êîìàíäà äëÿ êîïèðîâàíèÿ ãðóïïîâûõ êâîò,0
quotacheck_command=Êîìàíäà äëÿ ïðîâåðêè êâîò,0
user_quota_command=Êîìàíäà äëÿ ïðîâåðêè ïîëüçîâàòåëüñêèõ êâîò,0
group_grace_command=Êîìàíäà äëÿ ðåäàêòèðîâàíèÿ ãðóïïîâîãî âðåìåíè äîïóñêà,0
user_repquota_command=Êîìàíäà äëÿ ïîêàçà ñïèñêà ïîëüçîâàòåëåé íà ôàéëîâîé ñèñòåìå,0
group_quotaoff_command=Êîìàíäà äëÿ âûêëþ÷åíèÿ ãðóïïîâûõ êâîò,0
user_edquota_command=Êîìàíäà äëÿ ðåäàêòèðîâàíèÿ ïîëüçîâàòåëüñêèõ êâîò,0
group_quotaon_command=Êîìàíäà äëÿ âêëþ÷åíèÿ ãðóïïîâûõ êâîò,0
group_quota_command=Êîìàíäà äëÿ ïðîâåðêè ãðóïïîâûõ êâîò,0
user_copy_command=Êîìàíäà äëÿ êîïèðîâàíèÿ ïîëüçîâàòåëüñêèõ êâîò,0
group_repquota_command=Êîìàíäà äëÿ ïîêàçà ñïèñêà ãðóïï íà ôàéëîâîé ñèñòåìå,0
display_max=Ìàêñèìàëüíîå ïîêàçûâàåìîå êîë-âî ïîëüçîâàòåëåé è ãðóïï,0
group_edquota_command=Êîìàíäà äëÿ ðåäàêòèðîâàíèÿ ãðóïïîâûõ êâîò,0
user_grace_command=Êîìàíäà äëÿ ðåäàêòèðîâàíèÿ ïîëüçîâàòåëüñêîãî âðåìåíè äîïóñêà,0
   07070100008e4d000081a40000000000000002000000013d1fe2cb00000439000000200000000000000000000000000000001e00000003reloc/quota/config.info.ru_SU display_max=íÁËÓÉÍÁÌØÎÏÅ ÐÏËÁÚÙ×ÁÅÍÏÅ ËÏÌ-×Ï ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÇÒÕÐÐ,0
user_repquota_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÏËÁÚÁ ÓÐÉÓËÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ,0
group_repquota_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÏËÁÚÁ ÓÐÉÓËÁ ÇÒÕÐÐ ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ,0
user_edquota_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ Ë×ÏÔ,0
group_edquota_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÇÒÕÐÐÏ×ÙÈ Ë×ÏÔ,0
user_quota_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÒÏ×ÅÒËÉ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ Ë×ÏÔ,0
group_quota_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÒÏ×ÅÒËÉ ÇÒÕÐÐÏ×ÙÈ Ë×ÏÔ,0
user_copy_command=ëÏÍÁÎÄÁ ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ Ë×ÏÔ,0
group_copy_command=ëÏÍÁÎÄÁ ÄÌÑ ËÏÐÉÒÏ×ÁÎÉÑ ÇÒÕÐÐÏ×ÙÈ Ë×ÏÔ,0
user_quotaon_command=ëÏÍÁÎÄÁ ÄÌÑ ×ËÌÀÞÅÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ Ë×ÏÔ,0
group_quotaon_command=ëÏÍÁÎÄÁ ÄÌÑ ×ËÌÀÞÅÎÉÑ ÇÒÕÐÐÏ×ÙÈ Ë×ÏÔ,0
user_quotaoff_command=ëÏÍÁÎÄÁ ÄÌÑ ×ÙËÌÀÞÅÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ Ë×ÏÔ,0
group_quotaoff_command=ëÏÍÁÎÄÁ ÄÌÑ ×ÙËÌÀÞÅÎÉÑ ÇÒÕÐÐÏ×ÙÈ Ë×ÏÔ,0
quotacheck_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÒÏ×ÅÒËÉ Ë×ÏÔ,0
user_grace_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ×ÒÅÍÅÎÉ ÄÏÐÕÓËÁ,0
group_grace_command=ëÏÍÁÎÄÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÇÒÕÐÐÏ×ÏÇÏ ×ÒÅÍÅÎÉ ÄÏÐÕÓËÁ,0
   07070100008e4e000081a40000000000000002000000013d1fe2cc0000044e000000200000000000000000000000000000001b00000003reloc/quota/config.info.sv    display_max=Maximalt antal användare och grupper som ska visas,0
user_repquota_command=Kommando för att visa användare på ett filsystem,0
group_repquota_command=Kommando för att visa grupper på filsystem,0
user_edquota_command=Kommando för att ändra en användares quota,0
group_edquota_command=Kommando för att ändra en grupps quota,0
user_quota_command=Kommando för att kontrollera en användares quota,0
group_quota_command=Kommando för att kontrollera en grupps quota,0
user_copy_command=Kommando för att kopiera en användares quota,0
group_copy_command=Kommando för att kopiera en grupps quota,0
user_quotaon_command=Kommando för att slå på användares quota,0
group_quotaon_command=Kommando för att slå på gruppers quota,0
user_quotaoff_command=Kommando för att slå av användares quota,0
group_quotaoff_command=Kommando för att slå av gruppers quota,0
quotacheck_command=Kommando för att kontrollera quota,0
user_grace_command=Kommando för att ändra en användares tidsintervall för att överskrida quota,0
group_grace_command=Kommando för att ändra en grupps tidsintervall för att överskrida quota,0
  07070100008e4f000081a40000000000000002000000013d1fe2cc000003f8000000200000000000000000000000000000001b00000003reloc/quota/config.info.tr    display_max=Görüntülenecek en çok kullanýcý ve grup syýsý,0
user_repquota_command=Bir dosya sistemindeki kullanýcýlarý listeleme komutu,0
group_repquota_command=Bir dosya sistemindeki gruplarý listeleme komutu,0
user_edquota_command=Bir kullanýcýnýn kotasýný deðiþtirme komutu,0
group_edquota_command=Bir grubun kotasýný deðiþtirme komutu,0
user_quota_command=Bir kullanýcýnýn kotasýný kontrol komutu,0
group_quota_command=Bir grubun kotasýný kontrol komutu,0
user_copy_command=Bir kullanýcýnýn kotasýný kopyalama komutu,0
group_copy_command=Bir grubun kotasýný kopyalama komutu,0
user_quotaon_command=Kullanýcý kotalarýný aktif hale getirme komutu,0
group_quotaon_command=Grup kotalarýný aktif hale getirme komutu,0
user_quotaoff_command=Kullanýcý kotalarýný inaktif etme komutu,0
group_quotaoff_command=Grup kotalarýný inaktif etme komutu,0
quotacheck_command=Kota kontrol komutu,0
user_grace_command=Kullanýcý gecikme sürelerini deðiþtirme komutu,0
group_grace_command=Grup gecikme sürelerini deðiþtirme komutu,0
07070100008e50000081a40000000000000002000000013d1fe2cb000002ee000000200000000000000000000000000000001e00000003reloc/quota/config.info.zh_CN display_max=×î¶àÏÔÊ¾µÄÓÃ»§ºÍ×éÊýÁ¿,0
user_repquota_command=ÔÚÒ»¸öÎÄ¼þÏµÍ³ÉÏÁÐ±íÏÔÊ¾ÓÃ»§µÄÃüÁî,0
group_repquota_command=ÔÚÒ»¸öÎÄ¼þÏµÍ³ÉÏÁÐ±íÏÔÊ¾×éµÄÃüÁî,0
user_edquota_command=±à¼­ÓÃ»§´ÅÅÌÅä¶îµÄÃüÁî,0
group_edquota_command=±à¼­ÓÃ»§×é´ÅÅÌÅä¶îµÄÃüÁî,0
user_quota_command=¼ì²éÓÃ»§´ÅÅÌÅä¶îµÄÃüÁî,0
group_quota_command=¼ì²éÓÃ»§×é´ÅÅÌÅä¶îµÄÃüÁî,0
user_copy_command=¿½±´ÓÃ»§´ÅÅÌÅä¶îµÄÃüÁî,0
group_copy_command=¿½±´ÓÃ»§×é´ÅÅÌÅä¶îµÄÃüÁî,0
user_quotaon_command=´ò¿ªÓÃ»§´ÅÅÌÅä¶îµÄÃüÁî,0
group_quotaon_command=´ò¿ªÓÃ»§×é´ÅÅÌÅä¶îµÄÃüÁî,0
user_quotaoff_command=¹Ø±ÕÓÃ»§ÅÌÅä¶îµÄÃüÁî,0
group_quotaoff_command=¹Ø±ÕÓÃ»§×é´ÅÅÌÅä¶îµÄÃüÁî,0
quotacheck_command=¼ì²é´ÅÅÌÅä¶îµÄÃüÁî,0
user_grace_command=±à¼­ÓÃ»§Ê¹ÓÃÊ±¼äµÄÃüÁî,0
group_grace_command=±à¼­ÓÃ»§×éÊ¹ÓÃÊ±¼äµÄÃüÁî,0
  0707010000a32a000041ed0000000000000001000000023d1ffb2300000000000000200000000000000000000000000000001100000003reloc/quota/help  0707010000a32b000081a40000000000000002000000013d1fe2cc00000232000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.ca.html   <header>Copia Quotes de Grup</header>

Aquesta pàgina permet copiar les quotes quotes de tots els sistemes de
fitxers d'un grup a un o més grups. Hi tres maneres de triar a quins grups
s'han de copiar:
<dl>
   <dt><b>Tots els grups</b>
   <dd>Les quotes es copiaran a cada grup del sistema.
   <dt><b>Grups seleccionats</b>
   <dd>Les quotes es copiaran al grup o grup seleccionats.
   <dt><b>Grups que contenen els usuaris</b>
   <dd>Les quotes es copiaran a tots els grups tals que tinguin per 
       membre qualsevol dels usuaris seleccionats.
</dl>

<hr>


  0707010000a331000081a40000000000000002000000013d1fe2cc00000241000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.es.html   <header>Copiar Cuotas de Grupo</header>

Esta página te permite copiar cuotas en todos los sistemas de archivos desde
algún grupo a otro u otros grupos. Hay tres maneras de seleccionar a qué grupos
copiar:
<dl>
<dt><b>Todos los Grupos</b>
<dd>Las cuotas serán copiadas a cada uno de los demás grupos de tu sistema.
<dt><b>Grupos Seleccionados</b>
<dd>Las cuotas serán copiadas al grupo o grupos seleccionados.
<dt><b>Grupos que Contengan Usuarios</b>
<dd>Las cuotas serán copiadas a todos los grupos en que cualquiera de los
    usuarios seleccionados sea miembro.
</dl>
<hr>

   0707010000a332000081a40000000000000002000000013d1fe2cc0000021c000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.fr.html   <header>Copier Quotas d'un Groupe</header>

Cette page vous permet de copier les quotas de tous les systèmes de fichier d'un groupe à un autre.  Il y a trois façons de choisir quel groupe à qui copier :

<dl>
<dt><b>Tous les Groupes</b>
<dd>Les quotas seront copiés à tous les autres groupes du système.
<dt><b>Groupes Sélectionné</b>
<dd>Les quotas seront copiés aux groupes choisis.
<dt><b>Groupes contenant les Usagers</b>
<dd>Les quotas seront copiés à tous les groupes dans lequel certains usagers sont membre.
</dl>
<hr>
0707010000a333000081a40000000000000002000000013d1fe2cc000001fc000000200000000000000000000000000000002100000003reloc/quota/help/copy_group.html  <header>Copy Group Quotas</header>

The page allows you to copy quotas on all filesystems for some group to
one or more other groups. There are three ways of choosing which groups to
copy to :
<dl>
<dt><b>All Groups</b>
<dd>Quotas will be copied to every other group on your system.
<dt><b>Selected Groups</b>
<dd>Quotas will be copied to the group or groups selected.
<dt><b>Groups Containing Users</b>
<dd>Quotas will be copied to all groups of which any of the selected users
    is a member.
</dl>
<hr>

0707010000a334000081a40000000000000002000000013d1fe2cc00000226000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.nl.html   <header>Kopieer Groepsquota</header>

Met deze pagina kunt u de quota in alle bestandssystemen voor een groep 
kopiëren naar één of meer andere groepen. Er zijn drie manieren om te bepalen 
naar welke groepen dit moet gebeuren:

<dl>
<dt><b>Alle Groepen</b>
<dd>Quota worden gekopieerd naar alle groepen in uw systeem.
<dt><b>Bepaalde Groepen</b>
<dd>Quota worden gekopieerd naar de geselecteerde groep(en).
<dt><b>Groepen met Gebruikers</b>
<dd>Quota worden gekopieerd naar die groepen waarvan de geselecteerde 
    gebruikers lid zijn.
</dl>
<hr>

  0707010000a335000081a40000000000000002000000013d1fe2cc00000239000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.pl.html   <header>Kopiuj quota dla grupy</header>

Ta strona pozwala ci na skopiowanie ustawieñ quota na wszystkich systemach
plików z&nbsp;pewnej grupy do jednej lub kilku innych grup. Istniej± trzy
sposoby okre¶lenia, do jakich grup kopiowaæ&nbsp;:
<dl>
<dt><b>Do wszystkich grup</b>
<dd>Quota zostanie skopiowane do wszystkich grup w systemie.
<dt><b>Do wybranych grup</b>
<dd>Quota zostanie skopiowane do zaznaczonej grupy lub grup.
<dt><b>Do grup zawieraj±cych u¿ytkowników</b>
<dd>Quota zostanie skopiowane do grup, do których nale¿± zaznaczeni
    u¿ytkownicy.
</dl>
<hr>
   0707010000a336000081a40000000000000002000000013d1fe2cc00000223000000200000000000000000000000000000002400000003reloc/quota/help/copy_group.sv.html   <header>Kopiera en grupps quota</header>

På denna sida kan du kopiera quota på alla filsystem från en grupp till
en eller flera andra grupper. Det finns tre sätt att välja den
eller de grupper som du vill kopiera till:
<dl>
<dt><b>Alla grupper</b>
<dd>Quotan kopieras till alla andra grupper på systemet.
<dt><b>Angivna grupper</b>
<dd>Quotan kopieras till den eller de grupper som du har angivit.
<dt><b>Grupper som innehåller användare ...</b>
<dd>Quotan kopieras till alla grupper där någon av de angivna användarna är
    medlem.
</dl>
<hr>

 0707010000a338000081a40000000000000002000000013d1fe2cc00000163000000200000000000000000000000000000002c00000003reloc/quota/help/copy_group.zh_TW.Big5.html   <header>½Æ»s¸s²Õ°tÃB</header>

³o¤@­¶¥i¥HÅý±z½Æ»s¬Y­Ó¸s²Õ¦bÀÉ®×¨t²Î¤W¥þ³¡ªº°tÃB­­¨îµ¹¨ä¥Lªº¸s²Õ. ¦@­p¦³¤TºØ¤è¦¡¥i¥H«ü©w­n½Æ»s¨ìªº¸s²Õ:
<dl>
<dt><b>¥þ³¡¸s²Õ</b>
<dd>°tÃB­­¨î·|½Æ»s¨ì±z¨t²Î¤Wªº¨C¤@­Ó¸s²Õ.
<dt><b>¿ï¾Üªº¸s²Õ</b>
<dd>°tÃB­­¨î±N·|½Æ»s¨ì±z©Ò¿ï¾Üªº¸s²Õ.
<dt><b>¥]§t¨Ï¥ÎªÌ...ªº¸s²Õ</b>
<dd>°tÃB­­¨î±N·|½Æ»s¨ì©Ò¦³¥]§t©Ò¿ï¾Ü¨Ï¥ÎªÌªº¸s²Õ.
</dl>
<hr>

 0707010000a33a000081a40000000000000002000000013d1fe2cc0000024d000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.ca.html    <header>Copia Quotes d'Usuari</header>

Aquesta pàgina permet copiar les quotes de tots els sistemes de fitxers
d'un usuari a un o més usuaris. Hi tres maneres de triar a quins usuaris
s'han de copiar:
<dl>
   <dt><b>Tots els usuaris</b>
   <dd>Les quotes es copiaran a cada usuari del sistema.
   <dt><b>Grups seleccionats</b>
   <dd>Les quotes es copiaran al usuari o usuari seleccionats.
   <dt><b>Membres dels grups seleccionats</b>
   <dd>Les quotes es copiaran a tots els usuaris tals que tinguin per 
       grup primari o secundari qualsevol dels grups seleccionats.
</dl>

<hr>


   0707010000a33b000081a40000000000000002000000013d1fe2cc00000266000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.es.html    <header>Copiar Cuotas de Usuario</header>

Esta página te permite copiar cuotas en todos los sistemas de archivos desde
algún usuario a otro u otros usuarios. Hay tres maneras de seleccionar a qué
usuarios copiar:
<dl>
<dt><b>Todos los Usuarios</b>
<dd>Las cuotas serán copiadas a cada uno de los demás usuarios de tu sistema.
<dt><b>Usuarios Seleccionados</b>
<dd>Las cuotas serán copiadas al usuario o usuarios seleccionados.
<dt><b>Miembros de Grupos Selectos</b>
<dd>Las cuotas serán copiadas a todos los usuarios que tengan uno de los
    grupos seleccionados como su grupo primario o secundario.
</dl>
<hr>

  0707010000a33c000081a40000000000000002000000013d1fe2cc0000023e000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.fr.html    <header>Copier Quotas d'un Usager</header>

Cette page vous permet de copier les quotas de tous les systèmes de fichier d'un usager à d'autres.  Il y a trois façons pour choisir à quel usager les copier:
<dl>
<dt><b>Tous les Usagers</b>
<dd>Les quotas seront copier à tous les autres usagers du système.
<dt><b>Usagers Sélectionnés</b>
<dd>Les quotas seront copiés aux usagers choisis.
<dt><b>Membres d'un Groupe Sélectionné</b>
<dd>Les quotas seront copiés à tous les usagers des groupes sélectionnés, que ce soit leur groupe primaire ou secondaire.
</dl>
<hr>
  0707010000a33d000081a40000000000000002000000013d1fe2cc00000210000000200000000000000000000000000000002000000003reloc/quota/help/copy_user.html   <header>Copy User Quotas</header>

The page allows you to copy quotas on all filesystems for some user to
one or more other users. There are three ways of choosing which users to
copy to :
<dl>
<dt><b>All Users</b>
<dd>Quotas will be copied to every other user on your system.
<dt><b>Selected Users</b>
<dd>Quotas will be copied to the user or users selected.
<dt><b>Members of Selected Groups</b>
<dd>Quotas will be copied to all users who have one of the selected groups
    as their primary or a secondary group.
</dl>
<hr>

0707010000a33e000081a40000000000000002000000013d1fe2cc0000025c000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.nl.html    <header>Kopieer Gebruikersquotum</header>

Met deze pagina kunt u de quota in alle bestandssystemen voor een gebruiker 
kopiëren naar één of meer andere gebruikers. Er zijn drie manieren om te bepalen 
naar welke gebruikers dit moet gebeuren:

<dl>
<dt><b>Alle Gebruikers</b>
<dd>Quota worden gekopieerd naar alle gebruikers in uw systeem.
<dt><b>Bepaalde Gebruikers</b>
<dd>Quota worden gekopieerd naar de geselecteerde gebruiker(s).
<dt><b>Leden van Groepen</b>
<dd>Quota worden gekopieerd naar de gebruikers die de geselecteerde 
    groep(en) als primaire of als secundaire groep hebben.
</dl>
<hr>

0707010000a33f000081a40000000000000002000000013d1fe2cc000002aa000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.pl.html    <header>Kopiuj quota dla u¿ytkowników</header>

Ta strona pozwala ci na skopiowanie ustawieñ quota na wszystkich systemach
plików z&nbsp;pewnego u¿ytkownika do jednego lub kilku innych u¿ytkowników.
Istniej± trzy sposoby okre¶lenia, do jakich grup kopiowaæ&nbsp;:
<dl>
<dt><b>Do wszystkich u¿ytkowników</b>
<dd>Quota zostanie skopiowane do wszystkich u¿ytkowników w systemie.
<dt><b>Do Wybranych u¿ytkowników</b>
<dd>Quota zostanie skopiowane do zaznaczonego u¿ytkownika lub u¿ytkowników.
<dt><b>Do cz³onków zaznaczonych grup</b>
<dd>Quota zostanie skopiowane do wszystkich u¿ytkowników, dla których jedna
    znbsp;zaznaczonych grup jest grup± podstawow± lub dodatkow±.
</dl>
<hr>
  0707010000a341000081a40000000000000002000000013d1fe2cc00000250000000200000000000000000000000000000002300000003reloc/quota/help/copy_user.sv.html    <header>Kopiera en användares quota</header>

På denna sida kan du kopiera quota på alla filsystem från en användare till
en eller flera andra användare. Det finns tre sätt att välja den
eller de användare som du vill kopiera till:
<dl>
<dt><b>Alla användare</b>
<dd>Quotan kopieras till alla andra användare på systemet.
<dt><b>Angivna användare</b>
<dd>Quotan kopieras till den eller de användare som du har angivit.
<dt><b>Användare som ingår i grupp(er) ...</b>
<dd>Quotan kopieras till alla användare som har någon av de angivna grupperna
    som primär eller sekundär grupp.
</dl>
<hr>
0707010000a342000081a40000000000000002000000013d1fe2cc00000176000000200000000000000000000000000000002b00000003reloc/quota/help/copy_user.zh_TW.Big5.html    <header>½Æ»s¨Ï¥ÎªÌ°tÃB</header>

³o¤@­¶¥i¥HÅý±z½Æ»s¬Y­Ó¨Ï¥ÎªÌ¦bÀÉ®×¨t²Î¤W¥þ³¡ªº°tÃB­­¨îµ¹¨ä¥Lªº¨Ï¥ÎªÌ. ¦@­p¦³¤TºØ¤è¦¡¥i¥H«ü©w­n½Æ»s¨ìªº¨Ï¥ÎªÌ:
<dl>
<dt><b>¥þ³¡¨Ï¥ÎªÌ</b>
<dd>°tÃB­­¨î·|½Æ»s¨ì±z¨t²Î¤Wªº¨C¤@­Ó¨Ï¥ÎªÌ.
<dt><b>¿ï¾Üªº¨Ï¥ÎªÌ</b>
<dd>°tÃB­­¨î±N·|½Æ»s¨ì±z©Ò¿ï¾Üªº¨Ï¥ÎªÌ.
<dt><b>¿ï¾Ü¸s²Õªº¦¨­û</b>
<dd>°tÃB­­¨î·|½Æ»s¨ì¥H©Ò¿ï¾Ü¸s²Õ¬°¥D­n©Î¦¸­n¸s²Õªº¨Ï¥ÎªÌ.
</dl>
<hr>

  0707010000a346000081a40000000000000002000000013d1fe2cc000000bd000000200000000000000000000000000000002700000003reloc/quota/help/edit_group_quota.html    <header>Edit Group Quota</header>

This form allows you to edit the quotas for some group. Each of the 
hard and soft limits for blocks and files may be entered, or set as
unlimited.
<hr>

   0707010000a343000081a40000000000000002000000013d1fe2cc000000d7000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.ca.html <header>Edició de Quota de Grup</header>

Aquest formulari permet editar les quotes d'un grup. Es poden introduir
tant els límits laxos com estrictes de blocs i fitxers,
o bé establir-los com a il·limitats.

<hr>


 0707010000a344000081a40000000000000002000000013d1fe2cc000000df000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.es.html <header>Editar Cuotas de Grupo</header>

Este formulario te permite editar las cuotas de algún grupo. Se pueden
digitar o poner como ilimitado cada uno de los límites de hard y soft
respecto a los bloques y archivos.
<hr>

 0707010000a345000081a40000000000000002000000013d1fe2cc000000cf000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.fr.html <header>Éditer les Quotas d'un Groupe</header>

Cette page vous permet d'éditer les quotas de tous les membres d'un groupe.  Chacune des limites doive être entrée ou ils seront considérés illimité.
<hr>
 0707010000a34c000081a40000000000000002000000013d1fe2cc000000db000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.nl.html <header>Wijzigen Groepsquotum</header>

Met dit formulier kunt u het quotum van een groep veranderen. 
De harde en zachte limieten van zowel blokken als bestanden kunnen 
worden opgegeven of op 'onbeperkt' gezet.
<hr>

 0707010000a34d000081a40000000000000002000000013d1fe2cc000000f0000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.pl.html <header>Zmieñ quota dla grupy</header>

Ten formularz pozwala zmieniæ ustawienia quota dla pewnej grupy. Ka¿dy
z&nbsp;limitów: twardy i&nbsp;miêkki, dla bloków jak i&nbsp;plików mo¿e byæ
wprowadzony b±d¼ ustawiony jako nieograniczony.
<hr>
0707010000a34e000081a40000000000000002000000013d1fe2cc000000e1000000200000000000000000000000000000002a00000003reloc/quota/help/edit_group_quota.sv.html <header>Ändra quota för grupp</header>

I detta formulär kan du ändra quotan för en grupp. Du kan välja att
ange bestämda värden för de hårda och mjuka gränserna för block och
filer eller att låta dem vara obegränsade.
<hr>

   0707010000a352000081a40000000000000002000000013d1fe2cc0000008d000000200000000000000000000000000000003200000003reloc/quota/help/edit_group_quota.zh_TW.Big5.html <header>½s¿è¸s²Õ°tÃB</header>

ªÌ­Óªí³æ¥i¥HÅý±z½s¿è©Ò¿ï¾Ü¸s²Õªº°tÃB­­¨î. ±z¥i¥H¹ïÀÉ®×¼Æ©Î°Ï¶ô¼Æ¿é¤Jµw©Ê­­¨î, ³n©Ê­­¨î, ©Î³]©w¦¨¤£­­¨î.
<hr>

   0707010000a357000081a40000000000000002000000013d1fe2cc000000dd000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.ca.html  <header>Edició de Quota d'Usuari</header>

Aquest formulari permet editar les quotes d'un usuari. Es poden introduir
tant els límits de laxos com estrictes de blocs i fitxers,
o bé establir-los com a il·limitats.

<hr>


   0707010000a358000081a40000000000000002000000013d1fe2cc000000e3000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.es.html  <header>Editar Cuotas de Usuario</header>

Este formulario te permite editar las cuotas de algún usuario. Se pueden
digitar o poner como ilimitado cada uno de los límites de hard y soft
respecto a los bloques y archivos.
<hr>

 0707010000a359000081a40000000000000002000000013d1fe2cc000000b9000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.fr.html  <header>Édit les Quotas d'un Usager</header>

Cette page vous permet d'éditer les quotas d'un usager.  Chacune des limites doive être entrée ou ils seront considérés illimité.
<hr>
   0707010000a35a000081a40000000000000002000000013d1fe2cc000000bb000000200000000000000000000000000000002600000003reloc/quota/help/edit_user_quota.html <header>Edit User Quota</header>

This form allows you to edit the quotas for some user. Each of the 
hard and soft limits for blocks and files may be entered, or set as
unlimited.
<hr>

 0707010000a35b000081a40000000000000002000000013d1fe2cc000000d8000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.nl.html  <header>Wijzig Quotum </header>

Met dit formulier kunt u het quotum van een gebruiker veranderen. 
De harde en zachte limieten van zowel blokken als bestanden kunnen 
worden opgegeven of op 'onbeperkt' gezet.
<hr>

0707010000a35f000081a40000000000000002000000013d1fe2cc000000fd000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.pl.html  <header>Zmieñ quota dla u¿ytkownika</header>

Ten formularz pozwala zmieniæ ustawienia quota dla pewnego u¿ytkownika.
Ka¿dy z&nbsp;limitów: twardy i&nbsp;miêkki, dla bloków jak i&nbsp;plików
mo¿e byæ wprowadzony b±d¼ ustawiony jako nieograniczony.
<hr>
   0707010000a360000081a40000000000000002000000013d1fe2cc000000e8000000200000000000000000000000000000002900000003reloc/quota/help/edit_user_quota.sv.html  <header>Ändra quota för användare</header>

I detta formulär kan du ändra quotan för en användare. Du kan välja att
ange bestämda värden för de hårda och mjuka gränserna för block och
filer eller att låta dem vara obegränsade.
<hr>
0707010000a368000081a40000000000000002000000013d1fe2cc00000258000000200000000000000000000000000000002400000003reloc/quota/help/group_filesys.html   <header>Group Quotas</header>

This page lists all the filesystems on which some group has a quota. You can
click on a filesystem from the list to edit its quota, or select a filesystem
from the menu below and click on <tt>Edit Quota</tt>. If a filesystem is not
on the list there is no limit to the number of files or amount of space the
group may occupy on that filesystem. <p>

Clicking the <tt>Copy Quotas</tt> button allows you to copy all quotas for
this group to one or more other groups. This can be useful if you want to
allocate a number of groups the same amount of disk space. <p>

<hr>

0707010000a361000081a40000000000000002000000013d1fe2cc00000091000000200000000000000000000000000000003100000003reloc/quota/help/edit_user_quota.zh_TW.Big5.html  <header>½s¿è¨Ï¥ÎªÌ°tÃB</header>

ªÌ­Óªí³æ¥i¥HÅý±z½s¿è©Ò¿ï¾Ü¨Ï¥ÎªÌªº°tÃB­­¨î. ±z¥i¥H¹ïÀÉ®×¼Æ©Î°Ï¶ô¼Æ¿é¤Jµw©Ê­­¨î, ³n©Ê­­¨î, ©Î³]©w¦¨¤£­­¨î.
<hr>

   0707010000a365000081a40000000000000002000000013d1fe2cc000002bd000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.ca.html    <header>Quotes de Grup</header>

Aquesta pàgina llista tots els sistemes de fitxers allà on hi ha algun
grup que hi tingui quotes. Pots fer clic sobre un sistema de fitxers de
la llista per editar-ne la quota, o bé selecciona un sistema de fitxers
del menú de sota i fes clic a <tt>Edita la Quota</tt>. Si un sistema de
fitxers no és a la llista, llavors és que no té cap límit respecte el
nombre de fitxers o la quantitat d'espai que el grup pot ocupar en aquest
sistema de fitxers.
<p>
Fer clic sobre el botó <tt>Copia les Quotes</tt> permet copiar totes les
quotes d'aquest grup a un o més grups. Això pot ser útil si vols assignar
la mateixa quantitat d'espai en disc a més d'un grup.
<p>

<hr>


   0707010000a366000081a40000000000000002000000013d1fe2cc000002af000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.es.html    <header>Cuotas de Grupo</header>

Esta página lista todos los sistemas de archivo en que algún grupo tiene
cuotas. Puedes hacer click en los sistemas de archivo para edita su cuota o
seleccionar un sistema de archivos desde el menú inferior y hacer click en
<tt>Editar Cuota</tt>. Si un sistema de archivos no está en la lista, no hay
límite en el número de archivos o cantidad de espacio que el grupo puede
ocupar en ese sistema de archivos. <p>

Haciendo click en el botón de <tt>Copiar Cuotas</tt> te permite copiar
todas las cuotas para este grupo a uno o más grupos. Esto puede ser útil
si quieres reservar para un número de grupos la misma cantidad de espacio
en disco. <p>

<hr>

 0707010000a367000081a40000000000000002000000013d1fe2cc000002c4000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.fr.html    <header>Quotas des Groupes</header>

Cette page liste tous les systèmes de fichier sur lesquels des groupes ont des quotas.  Vous pouvez cliquer sur un système de fichier de la liste pour éditer son quota ou sélectionner un système de fichier du menu en dessous en cliquant sur <tt>Éditer Quotas</tt>.   Si un système de fichier n'est pas dans la liste c'est qu'il n'a aucune limite du nombre de fichiers ou d'espaces disque qu'un groupe peut occuper sur ce système de fichier.<p>

Cliquer sur le bouton <tt>Copier Quotas</tt> vous permettra de copier tous les quotas de ce groupe à d'autres groupes.  Ceci peut être utile si vous voulez allouer à un nombre de groupes le même espace disque.<p>

<hr>
0707010000a369000081a40000000000000002000000013d1fe2cc000002dd000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.nl.html    <header>Groepsquota</header>

Deze pagina geeft een overzicht van alle bestandssystemen, waar deze groep een 
quotum heeft. U kunt op een bestandssysteem in de lijst klikken om het quotum 
daar te veranderen of een bestandssysteem kiezen uit het onderstaande menu en 
klikken op <tt>Quotum Wijzigen</tt>. Als een bestandssysteem niet in de lijst 
voorkomt, is er geen beperking van kracht op het aantal bestanden en de 
hoeveelheid ruimte die de groep in dat bestandssysteem mag gebruiken. <p>

Door te klikken op <tt>Kopieer Groepsquota</tt> kunt u alle quota van 
deze groep kopiëren naar één of meer andere groepen. Dit kan handig zijn 
als u voor een aantal groepen dezelfde hoeveelheid harddisk ruimte wilt toestaan. <p>

<hr>

   0707010000a36a000081a40000000000000002000000013d1fe2cc000002bc000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.pl.html    <header>Quota dla grup</header>

Na tej stronie zobaczysz liste systemów plików, na których ustawiono quota
dla pewnej grupy. Mo¿esz nacisn±æ na system plików z&nbsp;listy, aby zmieniæ
na nim ustawienia quota lub wybraæ system plików z&nbsp;menu poni¿ej
i&nbsp;nacisn±æ <tt>Zmieñ quota</tt>. Je¶li jaki¶ system plików nie znajduje
siê na li¶cie, to nie ma na nim ograniczeñ na liczbe plików ani na rozmiar
przestrzeni dyskowej zajêtej przez tê grupê. <p>

Naciskaj±c przycisk <tt>Kopiuj quota</tt> mo¿esz skopiowaæ wszystkie limity
ustawione dla tej grupy do jednej lub kilku innych grup. Mo¿e to byæ
u¿yteczne je¿eli, chcesz przydzieliæ kilku grupom taki sam rozmiar
przestrzeni dyskowej. <p>

<hr>
0707010000a36b000081a40000000000000002000000013d1fe2cc0000023c000000200000000000000000000000000000002700000003reloc/quota/help/group_filesys.sv.html    <header>Quota för grupp</header>

På denna sida visas alla filsystem där någon grupp har quota. Klicka på ett
filsystem i listan för att ändra quota eller välj ett filsystem från menyn
nedan och tryck på <tt>Ändra quota</tt>. Om något filsystem inte finns med
på listan är antalet filer och utrymmet som gruppen får använda obegränsat
på detta filsystem.

<p>Tryck på <tt>Kopiera quota</tt> för att kopiera quota från denna grupp
till en eller flera andra grupper. Detta är användbart om man vill att
många grupper ska ha tillgång till lika mycket diskutrymme var.

<hr>

0707010000a36c000081a40000000000000002000000013d1fe2cc000001a5000000200000000000000000000000000000002f00000003reloc/quota/help/group_filesys.zh_TW.Big5.html    <header>¸s²Õ°tÃB</header>

³o¤@­¶¦C¥X¤F¦bÀÉ®×¨t²Î¤W¦³³]©w¸s²Õ°tÃBªº¸Ô²Ó¸ê®Æ. ±z¥i¥H¦b¦Cªí¤¤«ö¤UÀÉ®×¨t²Î¦WºÙ¥H½s¿è¥Lªº°tÃB­­¨î; ©Î¦b¤U­±ªºªí³æ¤¤¿ï¾Ü­nÅÜ§óªºÀÉ®×¨t²Î, ¨Ã«ö¤U<tt>½s¿èºÏºÐ°tÃB</tt>¥HÅÜ§ó¤§. ¦pªGÀÉ®×¨t²Î¤£¦b¦Cªí¤¤, ªí¥Ü¸ÓÀÉ®×¨t²Î¨Ã¨S¦³³]©wÀÉ®×¼Æ¥Ø©Î¤j¤pªº°tÃB­­¨î³]©w. <p>

«ö¤U<tt>½Æ»s°tÃB</tt>«ö¶s¥i¥HÅý±z½Æ»s³o­Ó¸s²Õªº°tÃB­­¨îµ¹¨ä¥Lªº¸s²Õ. ·í±z·Q­n¨Ï¨ä¥L¸s²Õ¦³¬Û¦Pªº°tÃB­­¨î®É, ³o­Ó¥\¯à±N·|¦³¥Î. <p>

<hr>

   0707010000a36d000081a40000000000000002000000013d1fe2cc000001b7000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.ca.html  <header>Períodes de Gràcia dels Grups</header>

Els períodes de gràcia són el període de temps durant el qual un grup
pot excedir el seu límit abans d'impedir-li de fer servir més espai
o crear més fitxers. Un cop un grup excedeix el seu límit lax
de blocs, té el temps especificat per reduir el seu espai utilitzat
per sota del límit abans que se li impedeixi fer servir més blocs.
S'aplica el mateix per al límit lax de fitxers.

<hr>


 0707010000a36e000081a40000000000000002000000013d1fe2cc000001f4000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.es.html  <header>Tiempo de Gracia para el Grupo</header>

Los tiempos de gracia son la cantidad de tiempo en que un grupo puede exceder
su límite de soft antes de ser prevenido de no utilizar más espacio en disco
o de no crear más archivos. Una vez que un grupo excede su límite de bloque de
soft, tiene la cantidad de tiempo especificada para reducir su utilización de
disco por debajo del límite antes de que sea prevenido de no utilizar más
bloques. Lo mismo se aplica al límite de archivos de soft.
<hr>

0707010000a36f000081a40000000000000002000000013d1fe2cc00000162000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.fr.html  <header>Temps de Grâce du Groupe</header>

Le temps de grâce est le temps qu'un groupe puisse excéder sa limite douce avant de ne plus pouvoir utiliser d'espace disque ou créer plus de fichiers.  Une fois qu'un groupe a excédé sa limite douce, il a le temps spécifié pour libérer de l'espace disque sous la limite avant qu'elle ne s'applique.

<hr>
  0707010000a370000081a40000000000000002000000013d1fe2cc00000195000000200000000000000000000000000000002200000003reloc/quota/help/group_grace.html <header>Group Grace Times</header>

Grace times are the amount of time a group may exceed its soft limit by
before being prevented from using any more disk space or creating any
more files. Once a group exceeds its soft block limit, it has the specified
amount of time to reduce its disk usage below the limit before it is
prevented from using more blocks. The same applies for the soft file limit.
<hr>

   0707010000a371000081a40000000000000002000000013d1fe2cc0000019c000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.nl.html  <header>Groeps Waarschuwingstijd</header>

Waarschuwingstijd is de hoeveelheid tijd dat een groep de zachte limiet mag 
overschrijden voordat het gebruik van méér harddisk ruimte of het aanmaken 
van méér bestanden wordt geblokkeerd.
Als een groep de zachte limiet overschrijdt, heeft de groep de opgegeven
hoeveelheid tijd om het gebruik terug te brengen. Dit geldt zowel voor blok-
als bestandslimieten.
<hr>

0707010000a372000081a40000000000000002000000013d1fe2cc00000210000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.pl.html  <header>Czasy ulgi dla grupy</header>

Czasy ulgi s± okresem czasu, na jaki grupa mo¿e przekroczyæ miêkki
limit quota, zanim zostan± zablokowane mo¿liwo¶ci u¿ycia jakiejkolwiek
dodatkowej przestrzeni dyskowej i&nbsp;tworzenia nowych plików. Od chwili,
gdy grupa przekroczy miêkki limit, ma ona okre¶lony czas na to, by
zmniejszyæ rozmiar zajmowanej przestrzeni dyskowej poni¿ej limitu. Je¶li
tego nie uczyni zostanie zablokowana mo¿liwo¶æ u¿ycia przez ni± nowych
bloków. To samo stosuje sie do miêkkiego limitu dla plików.
<hr>
0707010000a373000081a40000000000000002000000013d1fe2cc000001a6000000200000000000000000000000000000002500000003reloc/quota/help/group_grace.sv.html  <header>Tidsintervall för grupper</header>

Här anger du den tid som en grupp får överskrida sin mjuka
gräns innan den hindras att använda mer diskutrymme och skapa nya
filer. När en grupp överskrider sin mjuka blockgräns har den det
angivna tidsintervallet på sig att minska diskanvändningen, så att gränsen
inte överskrids, innan den hindras att använda fler block. Den mjuka
filgränsen fungerar på liknande sätt.
<hr>

  0707010000a374000081a40000000000000002000000013d1fe2cc000000db000000200000000000000000000000000000002d00000003reloc/quota/help/group_grace.zh_TW.Big5.html  <header>¸s²Õ¼u©Ê®É¶¡</header>

¼u©Ê®É¶¡¬O¥i¥H¤¹³\¸s²Õ¶W¹L¨ä³n©Ê­­¨îªº®É¶¡. ¦b³o¬q®É¶¡¤§¤¤, ¸s²Õ¤´µM¥i¥H¨Ï¥Î§ó¦hªººÏºÐªÅ¶¡©Î«Ø¥ß§ó¦hªºÀÉ®×. ·í¸s²Õ¨Ï¥Î¶W¹L¨ä³n©Ê®É¶¡«á, ¥¦·|³]©w¤@­Ó®É¶¡­n¨D¸s²Õ¦b®É¶¡¤§¤º²M°£¨äªÅ¶¡.
<hr>

 0707010000a375000081a40000000000000002000000013d1fe2cc00000a74000000200000000000000000000000000000001f00000003reloc/quota/help/intro.ca.html    <header>Quotes de Disc</header>

<h3>Introducció</h3>

Les quotes són un sistema per controlar quant disc poden fer servir els
usuaris i els grups. Per cada sistema de fitxers, pots establir límits
sobre quant espai de disc i quants fitxers pot tenir un usuari. Alguns
sistemes Unix també et deixen limitar l'espai i els fitxers utilitzats
pels membres d'un grup.
<p>
Només es poden establir quotes per als sistemes de fitxers Unix locals.
Els sistemes de fitxers NFS muntats des d'altres sistemes fan servir
les quotes establertes al servidor (si n'hi ha). Els sistemes de fitxers
no Unix (com per exemple, MS-DOS o ISO9660) no suporten quotes.
<p>

Per cada usuari es poden imposar quatre límits:
<dl>
   <dt><b>Límit lax de blocs</b>
   <dd>El nombre de blocs de disc permesos abans de mostrar un missatge d'avís.
   <dt><b>Límit estricte de blocs</b>
   <dd>El nombre màxim de blocs que un usuari pot ocupar.
   <dt><b>Límit lax de fitxers</b>
   <dd>El nombre de fitxers permesos abans de mostrar un missatge d'avís.
   <dt><b>Límit estricte de fitxers</b>
   <dd>El nombre màxim de fitxers que un usuari pot tenir.
</dl>
Els blocs de disc tenen una mida típica de 512 o 1024 bytes, depenen del
sistema operatiu. En calcular les quotes, totes les mides de fitxers
s'arrodoneixen al bloc més proper. Així doncs, un fitxer buit ocupa
al menys 1 bloc.
<p>
Pel que fa a les quotes de fitxers, cada directori, dispositiu,
enllaç simbòlic o fitxer normal, compta en el límit màxim de fitxers
que un usuari pot tenir. Tècnicament, la quota de fitxers és una quota
sobre els <i>inodes</i>.
<p>

<h3>El Mòdul de Quotes de Disc</h3>

La pàgina principal d'aquest mòdul mostra una llista de sistemes de fitxers
locals que poden suportar quotes. SI hi ha quotes activades per a un 
sistema de fitxers, llavors pots fer clic sobre el seu camí per veure les
quotes de cada usuari. Si no, fent clic sobre <tt>Activa les Quotes</tt>
activarà les quotes d'aquest sistema de fitxers.
<p>

<if $gconfig{'os_type'} =~ /linux/>
El sistema Operatiu Linux no permet activar les quotes si no és que el
sistema de fitxers té l'opció <tt>Fes servir Quotes</tt> activada al
mòdul de Discs i Sistemes de Fitxers. Si cap dels teus sistemes de 
fitxers té aquesta opció activada, no en sortirà cap de llistat a la
pàgina principal.
<p>
</if>

Sota la llista de sistemes de fitxers hi ha un botó per veure totes les
quotes d'un usuari seleccionat. Aquest només es mostrarà si hi ha almenys
un sistema de fitxers amb quotes d'usuari activades. Igualment, si hi ha
almenys un sistema de fitxers amb quotes de grup activades, hi haurà un
botó per veure totes les quotes d'un grup seleccionat.
<p>

<hr>


0707010000a376000081a40000000000000002000000013d1fe2cc00000b55000000200000000000000000000000000000001f00000003reloc/quota/help/intro.es.html    <header>Cuotas de Disco</header>

<h3>Introducción</h3>
Las cuotas son un método de controlar cuánto espacio en disco pueden usar
los usuarios y los grupos. Para cada sistema de archivos puedes colocar
límites de cuánto espacio en disco y cuántos archivos puede utilizar cada
usuario. Algunos sistemas Unix pueden tambien permitirte limitar el espacio
y los archivos utilizados por todos los miembros de algún grupo. <p>

Las cuotas pueden configurarse sólamente para sistemas de archivo Unix
locales. Los sistemas de archivo NFS montados desde otros sistemas utilizan
las cuotas de su servidor, si tienen. Los sistemas de archivo no Unix como
MS-DOS o ISO9660 no pueden soportar ningún tipo de cuotas. <p>

Para cada usuario se imponen cuatro límites:
<dl>
<dt><b>Límite de bloque por soft</b>
<dd>El número de bloques de disco permitidos antes de que se muestre un
    mensaje de aviso.
<dt><b>Límite de bloque por hard</b>
<dd>El máximo número de bloques que un archivo de usuario puede ocupar.
<dt><b>Límite de archivo por soft</b>
<dd>El número de archivos permitidos antes de que se muestre un mensaje
    de aviso.
<dt><b>Límite de archivo por Hard</b>
<dd>El máximo número de archivos que un usuario puede tener.
</dl>
Los bloques de disco son típicamente de 512 o 1024 bytes de tamaño, dependiendo
del sistema operativo. Cuando se calculan las cuotas, todas las medidas
de los archivos son redondeadas al siguiente bloque por encima. Por ello,
incluso los archivos vacíos usan al menos un bloque. <p>

Para propósito de cuotas de archivo, cada directorio, dispositivo, enlace
simbólico o archivo normal es tenido en cuenta para el máximo número de
archivos que puede tener un usuario. Técnicamente, la cuota de archivos es
actualmente una cuenta de <i>i-nodos</i>. <p>

<h3>El Módulo de Cuotas de Disco</h3>
La página principal de este modulo muestra una lista de sistemas de archivo
locales que pueden soportar cuotas. Si las cuotas están activadas en este
momento en tu sistema, puedes hacer click en su trayectoria para mostrar
las cuotas de cada usuario. Si no, haciendo click en <tt>Activar Cuotas</tt>
activará las cuotas de ese sistema de archivos. <p>

<if $gconfig{'os_type'} =~ /linux/>
El sistema operativo Linux no permite activar las cuotas a menos que el
sistema de archivos tenga la opción <tt>Usar Cuotas</tt> puesta en el
módulo de los Discos y en el de los Sistemas de archivo. Si ninguno de
tus sistemas de archivo tiene esta opción puesta, no se lista a nadie en la
página principal. <p>
</if>

Bajo la lista de sistemas de archivo hay un botón para mostrar todas las
cuotas de un usuario seleccionado. Esto será sólamente mostrado si al menos
un sistema de archivos tiene activadas las cuotas de usuario. De forma
similar, si al menos un sistema de archivos tiene grupos de cuotas activadas
habrá un botón para mostrar todas las cuotas del grupo seleccionado. <p>

<hr>

   0707010000a377000081a40000000000000002000000013d1fe2cc000009a8000000200000000000000000000000000000001f00000003reloc/quota/help/intro.fr.html    <header>Quotas Disque</header>

<h3>Introduction</h3>
Les quotas est une méthode pour contrôler combien d'espace disque chaque utilisateur et groupe peut utiliser.  Pour chaque système de fichier vous pouvez placer des limites sur combien d'espace disque et combien de fichier chaques usagers peut utiliser.  Certains systèmes Unix vous permettent de limiter à tous les membres d'un groupe.

Les quotas peuvent seulement être configuré sur un système de fichier Unix local.  Les disques NFS monté de d'autres systèmes utilise les quotas du serveur, s'il y en a.  Les systèmes de fichier n'appartenant pas à Unix comme MS-DOS ou ISO9660 ne supporte pas les quotas.<p>

Pour chaque usager quatre limites sont imposées :
<dl>
<dt><b>Limite douce de bloc</b>
<dd>Le nombre de blocs alloué avant qu'un message d'avertissement apparaisse
<dt><b>Limite dure de bloc</b>
<dd>Nombre maximum de blocs qu'un usager peut occuper.
<dt><b>Limite douce de fichier</b>
<dd>Nombre de fichier alloué avant qu'un message d'avertissement apparaisse.
<dt><b>Limite dure de fichier</b>
<dd>Nombre maximum de fichiers qu'un usager peut occuper.
</dl>
Les blocs disque occupe généralement 512 à 4096 bytes de taille, tout dépendant du système d'exploitation.  Dans le calcul des quotas, toutes les tailles de fichier sont arrondies au bloc le plus près.  Même les fichiers vide utilise au moins un bloc.<p>

Dans les quotas de fichier, même les répertoires, liens symbolique ou fichier normal compte dans le maximum de fichiers qu'un utilisateur peut avoir.  Techniquement, le quota de fichier est celui des <i>inodes</i>.<p>

<h3>Module de Quotas Disque</h3>
La page de ce module affiche la liste des systèmes de fichier que supporte quotas.  Si un quota est actif pour un système de fichier vous pouvez cliquer sur le chemin pour afficher les quotas de chaque usager.  Sinon, cliquer sur <tt>Activer les Quotas</tt> pour les activer sur le système de fichier.<p>

<if $gconfig{'os_type'}  = ~ /linux/>
Le système d'exploitation Linux n'alloue pas les quotas tant que le système de fichier n'a pas l'option <tt>Utilisation de Quotas</tt> définit dans le module de Disque et de Système de fichier de Webmin.<p>
</if>

Sous la liste des systèmes de fichier se trouve un bouton qui affiche tous les quotas pour un usager sélectionné.  Ceci est affiché seulement si au moins un système de fichier supporte les quotas pour un usager.  Tout comme les groupes.<p>

<hr>
0707010000a378000081a40000000000000002000000013d1fe2cc00000936000000200000000000000000000000000000001c00000003reloc/quota/help/intro.html   <header>Disk Quotas</header>

<h3>Introduction</h3>
Quotas are a method of controlling how much disk space users and groups
can use. For each filesystem you can place limits on how much disk space
and how many files each user may use. Some Unix systems may also allow you
to limit the space and files used by all members of some group. <p>

Quotas can only be setup for local Unix filesystems. NFS filesystems mounted
from other systems use the quotas from the server, if any. Non Unix filesystems
like MS-DOS or ISO9660 cannot support quotas at all. <p>

For each user four limits are imposed :
<dl>
<dt><b>Soft block limit</b>
<dd>The number of disk blocks allowed before a warning message is displayed.
<dt><b>Hard block limit</b>
<dd>The maximum number of blocks that the user's file may occupy.
<dt><b>Soft file limit</b>
<dd>The number of files allowed before a warning message is displayed.
<dt><b>Hard file limit</b>
<dd>The maximum number of files that the user may own.
</dl>
Disk blocks are typically 512 or 1024 bytes in size, depending on the
operating system. When computing quotas, all file sizes are rounded up to
the nearest block. Thus even an empty file uses at least on block. <p>

For the purpose of file quotas, every directory, device, symbolic link
or normal file counts towards the maximum number of files a user may own.
Technically, the file quota is actually a quota on <i>inodes</i>. <p>

<h3>The Disk Quotas Module</h3>
The main page of this module shows a list of local filesystems that
can support quotas. If quotas are currently enabled for a filesystem, you
may click on its path to display the quotas for each user. If not, clicking
on <tt>Enabled Quotas</tt> will activate quotas for that filesystem. <p>

<if $gconfig{'os_type'} =~ /linux/>
The Linux operating system does not allow quotas to be turned on unless
the filesystem has the <tt>Use Quotas</tt> option set in the Disks and
Filesystems module. If none of your filesystems have this option set then
none will be listed on the main page. <p>
</if>

Below the list of filesystems is a button for displaying all quotas for
a selected user. This will only be displayed if at least one filesystem has
user quotas enabled. Similarly, if at least one filesystem has group quotas
enabled there will be a button for displaying all quotas for a selected
group. <p>

<hr>

  0707010000a379000081a40000000000000002000000013d1fe2cc00000b2e000000200000000000000000000000000000001f00000003reloc/quota/help/intro.nl.html    <header>Disk Quota</header>

<h3>Introductie</h3>

Quota zijn een manier om het gebruik van harddisk ruimte door gebruikers en
groepen in de hand te houden. Voor elk bestandssysteem kunt u beperkingen
aanbrengen op het gebruik van harddisk ruimte en het aantal bestanden. Sommige
Unix systemen geven u ook te mogelijkheid om de ruimte en bestanden van de 
gezamenlijke leden van een groep ('de groep') te beperken. <p>

Quota kunnen alleen worden opgezet voor lokale Unix bestandssystemen. NFS 
bestandssystemen die vanaf andere systemen worden gemount, zijn onderhevig 
aan de quota van hun eigen server (voor zover van toepassing). Niet-Unix
bestandssystemen zoals MS-DOS of ISO9660 ondersteunen geen quota.<p>

Voor elke gebruiker zijn vier limieten van kracht:

<dl>
<dt><b>Zachte bloklimiet</b>
<dd>Het aantal blokken dat mag worden gebruikt vóór er een waarschuwing wordt gegeven.
<dt><b>Harde bloklimiet</b>
<dd>Het maximum aantal blokken dat de bestanden van een gebruiker mogen gebruiken.
<dt><b>Zachte bestandslimiet</b>
<dd>Het aantal bestanden dat mag worden gebruikt vóórdat een waarschuwing wordt gegeven.
<dt><b>Harde bestandslimiet</b>
<dd>Het maximum aantal bestanden dat een gebruiker mag bezitten.
</dl>

Disk blokken zijn normaliter 512 of 1024 bytes groot, afhankelijk van het besturingssysteem.
Bij het berekenen van quota worden alle bestanden naar boven afgerond op gehele blokken. 
Daarom telt ook een leeg bestand voor één blok. <p>

Ten behoeve van bestandsquota wordt iedere map, device, symbolische verwijzing of
normaal bestand meegeteld om het maximum aantal bestanden dat een gebruiker mag
bezitten vast te stellen. 
Technisch gesproken is het bestandsquotum een quota in <i>inodes</i>. <p>

<h3>Het Disk Quota Module</h3>
De hoofdpagina van dit module toont een lijst met lokale bestandssystemen 
die quota ondersteunen. Als Quota zijn aangezet voor een bestandssysteem, kunt
u op het pad ervan klikken om de quota van de individuele gebruikers te tonen. 
Als quota niet aangezet zijn, kunt u klikken op <tt>Quota Aanzetten</tt> om 
quota voor dit bestandssysteem te activeren.

<if $gconfig{'os_type'} =~ /linux/>
In het Linux besturingssysteem kunnen quota alleen worden aangezet als het bestandssysteem 
de <tt>Use Quotas</tt> optie heeft in het Disks en Filesystems module.  
Als geen enkel bestandssysteem deze optie heeft, zal er geen bestandssysteem 
op de hoofdpagina worden getoond. <p>
</if>

Onder de lijst met bestandssystemen vindt u een knop om het quotum van één 
bepaalde gebruiker te tonen en eventueel te wijzigen. Deze wordt alleen getoond 
als tenminste één bestandssysteem de gebruikersquota optie actief heeft. 
Als tenminste één bestandssysteem de groepsquota optie actief heeft, zal een knop worden
getoond waarmee het quotum van een bepaalde groep kan worden getoond en desgewenst 
gewijzigd. <p>

<hr>

  0707010000a37a000081a40000000000000002000000013d1fe2cc00000b4d000000200000000000000000000000000000001f00000003reloc/quota/help/intro.pl.html    <header>Quota dla dysków</header>

<h3>Wprowadzenie</h3>
Quota jest metod± ograniczania rozmiaru przestrzeni dyskowej, która mo¿e byæ
wykorzystana przez poszczególnych u¿ytkowników i&nbsp;grupy. Dla ka¿dego
systemu plików mo¿esz ustawiæ limity rozmiaru przestrzeni dyskowej oraz
ilo¶ci plików, które dany u¿ytkownik mo¿e wykorzystaæ. Niektóre systemy
uniksowe mog± równie¿ pozwalaæ na ograniczenie przestrzeni dyskowej
i&nbsp;plików u¿ywanych przez wszystkich cz³onków pewnych grup. <p>

Quota moga byæ ustawione wy³±cznie na lokalnych uniksowych systemach plików.
Systemy plików montowane przez NFS z&nbsp;innych systemów u¿ywaj± quota
z&nbsp;serwera, je¶li takie ustawiono. Nieuiniksowe systemy plików, takie
jak MS-DOS czy ISO9660 nie wspomagaj± quota w&nbsp;ogóle. <p>

Dla ka¿dego u¿ytkownika narzucone s± cztery limity&nbsp;:
<dl>
<dt><b>Miêkki limit bloków</b>
<dd>Liczba bloków na dysku, po zajêciu której wy¶wietlane jest ostrze¿enie.
<dt><b>Twardy limit bloków</b>
<dd>Maksymalna liczba bloków na dysku, które mog± byæ zajête przez pliki
    u¿ytkownika.
<dt><b>Miêkki limit plików</b>
<dd>Liczba plików, po utworzeniu której wy¶wietlane jest ostrze¿enie.
<dt><b>Twardy limit plików</b>
<dd>Maksymalna liczba plików, które u¿ytkownik mo¿e posiadaæ.
</dl>
Bloki na dysku s± zazwyczaj 512 lub 1024 bajtowe, zale¿nie od systemu
operacyjnego. W&nbsp;czasie naliczania quota wszystkie rozmiary plików s±
zaokr±glane w&nbsp;górê do najbli¿szego bloku. Wobec czego nawet pusty plik
zu¿ywa co najmniej jeden blok. <p>

W&nbsp;przypadku qouta dla plików zliczany jest ka¿dy katalog, urz±dzenie,
dowi±zanie symboliczne oraz zwyk³y plik. Ich ³±czna ilo¶æ nie mo¿e
przekroczyæ maksymalnej liczby plików, które u¿ytkownik mo¿e posiadaæ.
Technicznie, qouta dla plików jest w&nbsp;rzeczywisto¶ci quota dla
<i>i-nodów</i>. <p>

<h3>Modu³ Quota dla dysków</h3>
Strona g³ówna tego modu³u zawiera listê lokalnych systemów plików, które
mog± wspomagaæ quota. Je¶li quota jest aktualnie w³±czone dla danego systemu
plików, mo¿esz nacisn±æ na jego ¶cie¿ce, aby wy¶wietliæ quota dla
poszczególnych u¿ytkowników. Je¶li nie, nacisniêcie <tt>W³±czone quota</tt>
uaktywni quota dla tego systemu plików. <p>

<if $gconfig{'os_type'} =~ /linux/>
System operacyjny Linux nie pozwala na w³±czenie quota, je¶li dla systemu
plików nie ustawiono opcji <tt>U¿ywaj quota</tt> w&nbsp;module Dyski
i&nbsp;systemy plików. Je¶li ¿aden z&nbsp;twoich systemów plików nie ma
ustawionej tej opcji nic nie zostanie wy¶wietlone na g³ównej stronie. <p>
</if>

Pod list± systemów plikowych znajduje sie przycisk do wy¶wietlania
wszystkich quota dla wybranego u¿ytkownika. Bêdzie on widoczny tylko, je¶li
co najmniej jeden system plików ma w³±czone quota dla u¿ytkowników.
Podobnie, je¶li co najmniej jeden system plików ma w³±czone quota dla grup,
pojawi siê przycisk do wy¶wietlania wszystkich quota dla wybranej grupy. <p>

<hr>
   0707010000a37b000081a40000000000000002000000013d1fe2cc000008d2000000200000000000000000000000000000001f00000003reloc/quota/help/intro.sv.html    <header>Diskquota</header>

<h3>Introduktion</h3>
Quota är en metod för att styra diskanvändning för användare och grupper.
För varje filsystem kan man begränsa det diskutrymme och antal filer som en
användare får utnyttja. I en del Unix-system går det också att göra
motsvarande begränsningar för en grupp.

<p>Man kan endast sätta upp quota för lokala Unix-filsystem. NFS-filsystem
som monteras från andra system har quota-inställningar på det systemet, om
sådana finns. Filsystem som inte är Unix (t ex MS-DOS och ISO9660) stödjer
inte alls quotasystemet.

För varje användare kan följande begränsningar göras:
<dl>
<dt><b>Mjuk blockgräns</b>
<dd>Antal diskblock som får användas innan ett varningsmeddelande visas.
<dt><b>Hård blockgräns</b>
<dd>Maximalt antal block som användarens filer får ta upp.
<dt><b>Mjuk filgräns</b>
<dd>Antal filer som får skapas innan ett varningsmeddelande visas.
<dt><b>Hård filgräns</b>
<dd>Maximalt antal filer som användaren får äga.
</dl>
Diskblock är vanligen 512 eller 1024 bytes stora, beroende på operativsystem.
Vid quotaberäkning avrundas alla filstorlekar uppåt till närmaste hela
block, vilket gör att till och med en tom fil tar upp minst ett block.

<p>Vid quotaberäkning räknas kataloger, diskar, symboliska länkar och
vanliga filer in i filantalet. Tekniskt sett är filquotan helt enkelt en
quota för <i>inoder</i>.

<h3>Diskquotamodulen</h3>
Startsidan för denna modul innehåller en lista över de lokala filsystem
som stödjer quota. Om quota används för ett filsystem går det att klicka
på dess sökväg för att se quota för alla användare. Om quota inte används
går det att trycka på <tt>Aktivera quota</tt>, så aktiveras quota för
filsystemet.

<if $gconfig{'os_type'} =~ /linux/>
Linux tillåter inte att quota slås på om inte inställningen <tt>Använd
quota</tt> har slagits på för filsystemet i modulen Diskar och filsystem.
Om inget filsystem har denna inställning på kommer inte heller något att
visas på startsidan.
</if>

Nedanför filsystemslistan finns en knapp för att visa alla quota för en
viss användare. Denna kan endast användas om minst ett filsystem använder
quota. På samma sätt kommer det att finnas en knapp för att visa
gruppquota om minst ett filsystem stödjer och använder detta.

<hr>

  0707010000a37c000081a40000000000000002000000013d1fe2cc000006bf000000200000000000000000000000000000002700000003reloc/quota/help/intro.zh_TW.Big5.html    <header>ºÏºÐ°tÃB</header>

<h3>Â²¤¶</h3>
ºÏºÐ°tÃB¬O¤@¯à±±¨î¨Ï¥ÎªÌ©Î¸s²Õ¨Ï¥ÎºÏºÐªÅ¶¡ªº¤è¦¡. ¹ï©ó¨C¤@­ÓÀÉ®×¨t²Î±z³£¥i¥H³]©w¹ï©óºÏºÐªÅ¶¡©ÎÀÉ®×¼Æªº­­¨î. ¬Y¨Ç Unix ¨t²Î¤]¥i¥HÅý±z¹ï©ó¸s²Õ¤¤ªº©Ò¦³¨Ï¥ÎªÌ³]©w¬Û¦Pªº­­¨î. <p>

ºÏºÐ°tÃB¥u¯à³]©w¦b¥»¦aºÝªº Unix ÀÉ®×¨t²Î¤W. ±q¨ä¥L¥D¾÷±¾¸üªº NFS ÀÉ®×¨t²Î¬O¨ü¨ì¦øªA¾¹¥D¾÷ªººÏºÐ°tÃB­­¨î. ¦Ó«D Unix ÀÉ®×¨t²Î¨Ò¦p MS-DOS ©Î ISO9660 ¨Ã¤£¤ä´©ºÏºÐ°tÃB. <p>

¹ï©ó¨C¤@­Ó¨Ï¥ÎªÌ¥i¥H³]©w¤U¦C¥|ºØ³]©w:
<dl>
<dt><b>³n©Ê°Ï¶ô¼Æ³]©w</b>
<dd>¦bÄµ§i°T®§¥X²{«e, ¤¹³\¨Ï¥ÎªººÏºÐªÅ¶¡ (°Ï¶ô¼Æ).
<dt><b>µw©Ê°Ï¶ô¼Æ³]©wt</b>
<dd>¨Ï¥ÎªÌ©Ò¯à¨Ï¥Îªº³Ì¤jºÏºÐªÅ¶¡ (°Ï¶ô¼Æ).
<dt><b>³n©ÊÀÉ®×­­¨î</b>
<dd>¦bÄµ§i°T®§¥X²{«e, ¤¹³\¾Ö¦³ªºÀÉ®×¼Æ¥Ø.
<dt><b>µw©ÊÀÉ®×­­¨î</b>
<dd>¨Ï¥ÎªÌ©Ò¯à¾Ö¦³ªº³Ì¤jÀÉ®×¼Æ¥Ø.
</dl>
ºÏºÐ°Ï¶ôªº¤j¤p³q±`¬° 512 ©Î 1024 ¦ì¤¸²Õ, ¨Ì¾Ú±zªº§@·~¨t²Î¦Ó¤£¦P. ·í­pºâ°tÃB­­¨î®É, ©Ò¦³ªºÀÉ®×¤j¤p³£·|¶i¦ì¨ì³Ì±µªñªº°Ï¶ô¼Æ. ©Ò¥H§Y¨Ï¬OªÅÀÉ®×¤]·|¨Ï¥Î¤@­Ó°Ï¶ô. <p>

¹ï©óÀÉ®×ªº°tÃB, ¨Ï¥ÎªÌ©Ò¾Ö¦³ªº¨C¤@­Ó¥Ø¿ý, ³]³Æ, ²Å¸¹³s±µ©Î¤@¯ëªºÀÉ®×³£·|³Q²Ö¥[¨ì­p¼Æ¤§¤¤. §Þ³N¤W¦Ó¨¥, ÀÉ®×°tÃB¹ê»Ú¤W­­¨î©Ò¨Ï¥Î <i>inode</i> ªº¼Æ¥Ø. <p>

<h3>ºÏºÐ°tÃB¼Ò²Õ</h3>
³o­Ó¼Ò²Õªº¥D­nµe­±Åã¥Ü¥i¥H¤ä´©°tÃB­­¨îªº¥»¦aºÝÀÉ®×¨t²Î. ¦pªGÀÉ®×¨t²ÎªººÏºÐ°tÃB¤w¸g±Ò°Ê, ±z¥i¥H«ö¤U¥¦ªº¸ô®|¥HÅã¥Ü¨ä¤W¨C¤@­Ó¨Ï¥ÎªÌªº°tÃB­­¨î; ¦pªG©|¥¼±Ò°Ê, ±z¥i¥H«ö¤U<tt>±Ò°ÊºÏºÐ°tÃB</tt>ªº«ö¶s¥H±Ò°ÊÀÉ®×¨t²Î¤W­±ªº°tÃB­­¨î. <p>

<if $gconfig{'os_type'} =~ /linux/>
¹ï©ó Linux §@·~¨t²Î¦Ó¨¥, °£«D±z¦³¦b<tt>ºÏºÐ»Pºô¸ôÀÉ®×¨t²Î</tt>¼Ò²Õ¤¤³]©w¸ÓÀÉ®×¨t²Îªº<tt>¨Ï¥ÎºÏºÐ°tÃB</tt>¿ï¶µ, §_«h±z±N¤£¯à±Ò°ÊºÏºÐ°tÃB¥\¯à. ¦pªG±z¨S¦³ÀÉ®×¨t²Î¦³³]©w³o­Ó¿ï¶µ, ³o¤@­¶±N¤£·|¦C¥X¥ô¦óÀÉ®×¨t²Î. <p>
</if>

¦bÀÉ®×¨t²Î¦Cªí¤U­±ªº«ö¶s¬O¥Î¥HÅã¥Ü¿ï¾Ü¨Ï¥ÎªÌªº¥þ³¡°tÃB­­¨î. ³o±N¥u·|Åã¥Ü¦Ü¤Ö¦³³]©w¤@­ÓÀÉ®×¨t²Î°tÃB­­¨îªº¨Ï¥ÎªÌ. ¬Û¦üªº, ¦pªG¦³ÀÉ®×¨t²Î³]©w¸s²Õ°tÃB, ±N·|¦³¤@­Ó«ö¶s¥i¥H¿¤¥«©Ò¿ï¾Ü¸s²Õ°tÃB­­¨îªº«ö¶s. <p>

<hr>

 0707010000a37d000081a40000000000000002000000013d1fe2cc0000053a000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.ca.html  <header>Grups del Sistema de Fitxers</header>

El sistema de quotes de Unix compta tots els fitxers que són propietat d'un
grup per determinar la quota del grup. Els grups als quals de fet pertany
l'usuari propietari del fitxer no importa.
<p>

Aquesta pàgina llista tots els grups que tenen quotes en algun sistema de
fitxers. Pots fer clic sobre el nom del grup per editar-ne la quota, o bé
seleccionar un grup del menú sota la llista i fer clic sobre <tt>Edita
la Quota</tt>. Si un grup no és a la llista, llavors no hi ha cap límit en
el nombre de fitxers ni l'espai en disc que pot fer servir.
<p>

Sota la llista de grups hi ha el botó <tt>Edita els Períodes de Gràcia</tt>.
Aquest porta a un formulari per editar el temps que un grup té permès
d'ultrapassar el seu límit lax abans d'impedir-li fer servir més espai.
<p>

Fent clic al botó <tt>Comprova les Quotes</tt>, es realitza una comprovació
de tot el sistema de fitxers per actualitzar l'ús de blocs i fitxers per
part de cada grup. Això pot caldre si les quotes han estat desactivades
durant algun temps, o si només han estat activades per a algun grup.
<p>

Al peu de la pàgina hi ha un formulari per establir les quotes inicials
de blocs i fitxers per als grups nous. Aquestes només s'aplicaran a
aquells grups creats amb el mòdul d'Usuaris i Grups de Webmin.
<p>

<hr>


  0707010000a37e000081a40000000000000002000000013d1fe2cc000005ae000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.es.html  <header>Grupos de Sistemas de Archivo</header>

El sistema de cuotas de Unix cuenta todos los archivos propiedad de un grupo
para ver la cuota de ese grupo. Los grupos actuales en que esté un usuario que
es propietario de archivos, no tienen importancia. <p>

Esta página lista todos los grupos que tienen cuotas en algún sistema de
archivos. Puedes hacer click en un nombre de grupo para editar sus cuotas o
seleccionar un grupo del menú bajo la lista y hacer click en <tt>Editar
Cuota</tt>. Si un grupo no está en la lista, no hay límite en el número de
archivos o de cantidad de espacio en disco que puede usar. <p>

Más allá de la lista de grupo está el botón de <tt>Editar Tiempos de
Gracia</tt>. Este te lleva a un formulario para editar la cantidad de tiempo
que un grupo está autorizado a exceder su límite de soft antes de ser prevenido
de que utilice más espacio de disco. <p>

Hacer click en el botón <tt>Revisar Cuotas</tt> realiza una exploración
de todo el sistema de archivos para traer toda la utilización de los bloques
y archivos de cada grupo hasta la fecha. Esto puede ser necesario si se han
desactivado las cuotas durante algún tiempo o si sólo han sido activadas para
algunos grupos. <p>

En la parte inerior de la página hay un formulario para poder poner las
cuotas iniciales de bloque y archivo de los nuevos grupos. Éstas se aplicarán
sólo para los grupos creados mediante el módulo de Webmin de Usuarios y
Grupos. <p>

<hr>


  0707010000a37f000081a40000000000000002000000013d1fe2cc000005a2000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.fr.html  <header>Système de Fichier pour Groupes</header>

Le système quota Unix compte tous les fichiers appartenant à un groupe formant le quota de ce groupe.  Les groupes réels dans lesquels l'utilisateur qui possède le fichier est dedans n'importe pas. <p>

Cette page liste tous les groupes qui ont des quotas sur un certain système de fichier. Vous pouvez cliquer sur un nom de groupe pour éditeur leurs quotas, ou choisir un groupe à partir du menu sous la liste et cliquer sur <tt>Éditer Quotas</tt>.  Si un groupe n'est pas dans la liste c'est qu'il n'a aucune limite sur le nombre de fichier ou d'espace disque qu'il peut utiliser.<p>

Sous la liste de groupes se trouve le bouton <tt>Éditer le Temps de Grâce</tt>.  Ceci vous amène à une page pour le temps alloué à un groupe de dépasser sa limite douce avant d'être empêché d'utiliser plus d'espace disque. <p>

Cliquer le bouton <tt>Vérification des Quotas</tt> exécute un balayage du système de fichier entier pour calculer l'utilisation de bloc et de fichier par chaque groupe. Ceci peut être nécessaire si les quotas ont été interrompus quelque temps ou s'il vienne d'être mit effectif pour un certain groupe. <p>

En bas de la page se trouve un formulaire pour configurer le nombre de bloc initial et de fichier pour de nouveaux groupes.  Ceux-ci seront seulement appliqués pour des groupes créés avec le module de gestion d'utilisateurs et de groupe de Webmin.<p>

<hr>
  0707010000a380000081a40000000000000002000000013d1fe2cc000004b8000000200000000000000000000000000000002200000003reloc/quota/help/list_groups.html <header>Filesystem Groups</header>

The Unix quota system counts all files owned by a group towards
the quota for that group. The actual groups in which the user who owns
the file is in does not matter. <p>

This page lists all groups who have quotas on some filesystem. You can
click on a group name to edit their quota, or select a group from the menu
below the list and click on <tt>Edit Quota</tt>. If a group is not on
the list there is no limit on the number of files or the amount of disk
space it may use. <p>

Beneath the list of groups is the <tt>Edit Grace Times</tt> button. This
takes you to a form for editing the amount of time a group is allowed to
exceed his soft limit before being prevented from using any more disk space. <p>

Clicking the <tt>Check Quotas</tt> button performs a scan of the entire
filesystem to bring the block and file usage by each group up to date. This
may be necessary is quotas have been disabled for some time, or if they
have just been enabled for some group. <p>

At the bottom of the page is a form for setting the initial block and
file quotas for new groups. These will only be applied for groups created
with the Webmin Users and Groups module. <p>

<hr>


0707010000a381000081a40000000000000002000000013d1fe2cc00000615000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.nl.html  <headerBestandssysteem Groepen</header>

Het Unix quota systeem telt alle bestanden van een groep samen en zet die af tegen 
het quotum voor die groep. De huidige primaire groep van een gebruiker doet 
daarbij niet terzake: het gaat om de groep waarin het bestand is geregistreerd. <p>

Deze pagina geeft een lijst van alle groepen die quota hebben op enig 
bestandsstysteem. U kunt klikken op de groepsnaam om het quotum van die groep 
te wijzigen of een groep selecteren uit het menu onderaan de lijst en 
klikken op <tt>Wijzig Quotum</tt>. Als het bestandssysteem niet in de lijst 
voorkomt, is er geen beperking van kracht op het aantal bestanden en de 
hoeveelheid ruimte die de groep in dat bestandssysteem mag gebruiken. <p>

Onderaan de groepslijst vindt u een knop <tt>Wijzig Waarschuwingstijd</tt>. 
Deze opent een pagina waarop u wijzigen kunt aanbrengen in de tijd dat het 
een groep is toegestaan de zachte limieten te overschrijden voordat het 
gebruik van meer disk ruimte geheel wordt verhinderd. <p>

Door te klikken op de <tt>Controleer Quota</tt> knop, laat u het systeem 
het gehele bestandssysteem doorlopen om het gebruik van blokken en bestanden 
bij te werken. Dit kan nodig zijn als de quota functie enige tijd buiten 
bedrijf is geweest of voor een bepaalde groep was uitgeschakeld. <p>

Onderaan de pagina vindt u een formulier voor het instellen van de initiële 
blok- en bestandsquota voor nieuwe groepen. Deze zullen worden toegepast 
voor groepen die met het Webmin Gebruikers en Groepen module worden aangemaakt. <p>

<hr>


   0707010000a382000081a40000000000000002000000013d1fe2cc00000567000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.pl.html  <header>Grupy systemu plików</header>

Uniksowy system quota system zlicza wszystkie pliki nale¿±ce do danej grupy
okre¶laj±c quota dla tej grupy. Bie¿±ca grupa, do której nale¿y u¿ytkownik
bêd±cy w³a¶cicielem pliku nie ma znaczenia. <p>

Ta strona zawiera listê wszystkich grup, które maj± quota na pewnym systemie
plików. Aby zmieniæ ich quota mo¿esz nacisn±æ nazwê grupy lub wybraæ grupê
z&nbsp;menu poni¿ej listy i nacisn±æ <tt>Zmieñ quota</tt>. Je¶li grupy nie
ma na li¶cie, nie ma ona ograniczeñ na liczbê plików ani na rozmiar
przestrzeni dyskowej, której mo¿e u¿ywaæ. <p>

Poni¿ej listy grup znajduje siê przycisk <tt>Zmieñ czasy ulgi</tt>. Prowadzi
on do formularza pozwalaj±cego na zmiany okresów czasu, przez jakie wolno
grupie przekraczaæ miêkki limit, zanim zostanie jej uniemo¿liwione
zaalokowanie dodatkowej przestrzeni dyskowej. <p>

Naciskaj±c przycisk <tt>Sprawd¼ quota</tt> powoduje przejrzenie ca³ego
systemu plików aby okre¶liæ aktualn± ilo¶æ bloków i plików u¿ywanych przez
ka¿d± z&nbsp;grup. Mo¿e byc to niezbêdne, je¶li quota by³o wy³±czone przez
pewien czas lub je¶li zosta³o w³a¶nie w³±czone dla pewnej grupy. <p>

Na dole strony znajduje siê formularz do ustawiania pocz±tkowych limitów
quota dla bloków i&nbsp;plików dla nowych grup. Te warto¶ci s± stosowane
jedynie w&nbsp;przypadku tworzenia grup przez modu³ U¿ytkownicy i&nbsp;Grupy
Webmina. <p>

<hr>
 0707010000a383000081a40000000000000002000000013d1fe2cc00000506000000200000000000000000000000000000002500000003reloc/quota/help/list_groups.sv.html  <header>Filsystemsgrupper</header>

Quotasystemet på Unix räknar ihop alla filer som ägs av en grupp när
gruppquota ska kontrolleras. Det spelar ingen roll vilka grupper
användaren som äger filerna är med i.

<p>På denna sida visas alla grupper som har quota på något filsystem. Här
kan man klicka på ett gruppnamn för att ändra dess quota eller välja en
grupp från menyn nedanför listan och trycka på <tt>Ändra quota</tt>. Om
någon grupp inte finns med på listan finns det ingen begränsning för
hur många filer eller hur mycket diskutrymme som gruppen får använda.

<p>Nedanför listan finns knappen <tt>Ändra tidsintervall</tt>. När man
klickar på den får man upp ett formulär där man kan ställa in den
tid som en grupp får överskrida sin mjuka gräns innan den hindras från att
utnyttja mer diskutrymme.

<p>Om man trycker på <tt>Kontrollera quota</tt> läser systemet igenom hela
filsystemet och kontrollerar block- och filutnyttjandet för alla grupper.
Detta kan vara nödvändigt att göra om quota har varit avstängt någon tid
eller om det just har slagits på för någon grupp.

<p>Längst ned på sidan finns ett formulär för att definiera block-
och filquota för nya grupper. Dessa inställningar gäller endast för de
grupper som skapas med Webmin-modulen Användare och grupper.

<hr>


  0707010000a384000081a40000000000000002000000013d1fe2cc0000048a000000200000000000000000000000000000002400000003reloc/quota/help/list_users.ca.html   <header>Usuaris del Sistema de Fitxers</header>

Aquesta pàgina llista tots els usuaris que tenen quotes en algun sistema de
fitxers. Pots fer clic sobre el nom del usuari per editar-ne la quota, o bé
seleccionar un usuari del menú sota la llista i fer clic sobre <tt>Edita
la Quota</tt>. Si un usuari no és a la llista, llavors no hi ha cap límit en
el nombre de fitxers ni l'espai en disc que pot fer servir.
<p>

Sota la llista de usuaris hi ha el botó <tt>Edita els Períodes de Gràcia</tt>.
Aquest porta a un formulari per editar el temps que un usuari té permès
d'ultrapassar el seu límit lax abans d'impedir-li fer servir més espai.
<p>

Fent clic al botó <tt>Comprova les Quotes</tt>, es realitza una comprovació
de tot el sistema de fitxers per actualitzar l'ús de blocs i fitxers per
part de cada usuari. Això pot caldre si les quotes han estat desactivades
durant algun temps, o si només han estat activades per a algun usuari.
<p>

Al peu de la pàgina hi ha un formulari per establir les quotes inicials
de blocs i fitxers per als usuaris nous. Aquestes només s'aplicaran a
aquells usuaris creats amb el mòdul d'Usuaris i Grups de Webmin.
<p>

<hr>


  0707010000a385000081a40000000000000002000000013d1fe2cc000004f4000000200000000000000000000000000000002400000003reloc/quota/help/list_users.es.html   <header>Usuarios de Sistemas de Archivo</header>

Esta página lista todos los usuarios que tienen cuotas en algún sistema de
archivos. Puedes hacer click en un nombre de usuario para editar sus cuotas o
seleccionar un usuario del menú bajo la lista y hacer click en <tt>Editar
Cuota</tt>. Si un usuario no está en la lista no hay límite en el número de
archivos o de cantidad de espacio en disco que puede usar. <p>

Más allá de la lista de usuarios está el botón de <tt>Editar Tiempos de
Gracia</tt>. Este te lleva a un formulario para editar la cantidad de tiempo
que un usuario está autorizado a exceder su límite de soft antes de ser
prevenido de que no utilice más espacio de disco. <p>

Hacer click en el botón <tt>Revisar Cuotas</tt> realiza una exploración
de todo el sistema de archivos para traer toda la utilización de los bloques
y archivos de cada usuario hasta la fecha. Esto puede ser necesario si se han
desactivado las cuotas durante algún tiempo o si sólo han sido activadas para
algunos usuarios. <p>

En la parte inferior de la página hay un formulario para poder poner las
cuotas iniciales de bloque y archivo de los nuevos usuarios. Estas se aplicarán
sólo para los usuarios creados mediante el módulo de Webmin de Usuarios y
Grupos. <p>

<hr>


0707010000a386000081a40000000000000002000000013d1fe2cc000004d0000000200000000000000000000000000000002400000003reloc/quota/help/list_users.fr.html   <header>Système de Fichier pour Usagers</header>

Cette page liste tous les usagers qui ont des quotas sur un certain système de fichier. Vous pouvez cliquer sur un nom d'usager pour éditeur ses quotas, ou choisir un usager à partir du menu sous la liste et cliquer sur <tt>Éditer Quotas</tt>.  Si un usager n'est pas dans la liste c'est qu'il n'a aucune limite sur le nombre de fichier ou d'espace disque qu'il peut utiliser.<p>

Sous la liste d'usager se trouve le bouton <tt>Éditer le Temps de Grâce</tt>.  Ceci vous amène à une page pour le temps permit à un usager de dépasser sa limite douce avant d'être empêché d'utiliser plus d'espace disque. <p>

Cliquer le bouton <tt>Vérification des Quotas</tt> exécute un balayage du système de fichier entier pour calculer l'utilisation de bloc et de fichier par chaque usager. Ceci peut être nécessaire si les quotas ont été interrompus quelque temps ou s'il vienne d'être mit effectif pour un certain usager. <p>

En bas de la page se trouve un formulaire pour configurer le nombre de bloc initial et de fichier pour de nouveaux usagers.  Ceux-ci seront seulement appliqués pour des usagers créés avec le module de gestion d'utilisateurs et de groupe de Webmin.<p>

<hr>
0707010000a387000081a40000000000000002000000013d1fe2cc00000400000000200000000000000000000000000000002100000003reloc/quota/help/list_users.html  <header>Filesystem Users</header>

This page lists all users who have quotas on some filesystem. You can
click on a username to edit their quota, or select a user from the menu
below the list and click on <tt>Edit Quota</tt>. If a user is not on
the list there is no limit on the number of files or the amount of disk
space he may use. <p>

Beneath the list of users is the <tt>Edit Grace Times</tt> button. This
takes you to a form for editing the amount of time a user is allowed to
exceed his soft limit before being prevented from using any more disk space. <p>

Clicking the <tt>Check Quotas</tt> button performs a scan of the entire
filesystem to bring the block and file usage by each user up to date. This
may be necessary is quotas have been disabled for some time, or if they
have just been enabled for some user. <p>

At the bottom of the page is a form for setting the initial block and
file quotas for new users. These will only be applied for users created
with the Webmin Users and Groups module. <p>

<hr>


0707010000a388000081a40000000000000002000000013d1fe2cc00000530000000200000000000000000000000000000002400000003reloc/quota/help/list_users.nl.html   <header>Bestandssysteem Gebruikers</header>

Deze pagina geeft een lijst van alle gebruikers die een quotum hebben op enig 
bestandsstysteem. U kunt klikken op de gebruikersnaam om het quotum van die gebruiker 
te wijzigen of een gebruiker selecteren uit het menu onderaan de lijst en 
klikken op <tt>Wijzig Quotum</tt>. Als een gebruiker niet in de lijst 
voorkomt, is er geen beperking van kracht op het aantal bestanden en de 
hoeveelheid ruimte die de gebruiker mag gebruiken. <p>

Onderaan de gebruikerslijst vindt u een knop <tt>Wijzig Waarschuwingstijd</tt>. 
Deze opent een pagina waarop u wijzigen kunt aanbrengen in de tijd dat het 
een gebruiker is toegestaan de zachte limieten te overschrijden voordat het 
gebruik van meer disk ruimte geheel wordt verhinderd. <p>

Door te klikken op de <tt>Controleer Quota</tt> knop, laat u het systeem 
het gehele bestandssysteem doorlopen om het gebruik van blokken en bestanden 
bij te werken. Dit kan nodig zijn als de quota functie enige tijd buiten 
bedrijf is geweest of voor een bepaalde gebruiker was uitgeschakeld. <p>

Onderaan de pagina vindt u een formulier voor het instellen van de initiële 
blok- en bestandsquota voor nieuwe gebruikers. Deze zullen worden toegepast 
voor gebruikers die met het Webmin Gebruikers en Groepen module worden aangemaakt. <p>

<hr>


0707010000a389000081a40000000000000002000000013d1fe2cc000004ee000000200000000000000000000000000000002400000003reloc/quota/help/list_users.pl.html   <header>U¿ytkownicy systemu plików</header>

Ta strona zawiera listê wszystkich u¿ytkowników, którzy maj± quota na pewnym
systemie plików. Aby zmieniæ ich quota mo¿esz nacisn±æ nazwê u¿ytkownika lub
wybraæ u¿ytkownika z&nbsp;menu poni¿ej listy i nacisn±æ <tt>Zmieñ
quota</tt>. Je¶li u¿ytkownika nie ma na li¶cie, nie ma on ograniczeñ na
liczbê plików ani na rozmiar przestrzeni dyskowej, której mo¿e u¿ywaæ. <p>

Poni¿ej listy u¿ytkowników znajduje siê przycisk <tt>Zmieñ czasy ulgi</tt>.
Prowadzi on do formularza pozwalaj±cego na zmiany okresów czasu, przez jakie
wolno u¿ytkownikowi przekraczaæ miêkki limit, zanim zostanie mu
uniemo¿liwione zaalokowanie dodatkowej przestrzeni dyskowej. <p>

Naciskaj±c przycisk <tt>Sprawd¼ quota</tt> powoduje przejrzenie ca³ego
systemu plików aby okre¶liæ aktualn± ilo¶æ bloków i plików u¿ywanych przez
ka¿dego z&nbsp;u¿ytkowników. Mo¿e byc to niezbêdne, je¶li quota by³o
wy³±czone przez pewien czas lub je¶li zosta³o w³a¶nie w³±czone dla pewnego
u¿ytkownika. <p>

Na dole strony znajduje siê formularz do ustawiania pocz±tkowych limitów
quota dla bloków i&nbsp;plików dla nowych u¿ytkowników. Te warto¶ci s±
stosowane jedynie w&nbsp;przypadku tworzenia u¿ytkowników przez modu³
U¿ytkownicy i&nbsp;grupy Webmina. <p>

<hr>
  0707010000a38a000081a40000000000000002000000013d1fe2cc00000477000000200000000000000000000000000000002400000003reloc/quota/help/list_users.sv.html   <header>Filsystemsanvändare</header>

På denna sida visas alla användare som har quota på något filsystem. Här
kan man klicka på ett användarnamn för att ändra dess quota eller välja en
användare från menyn nedanför listan och trycka på <tt>Ändra quota</tt>. Om
någon användare inte finns med på listan finns det ingen begränsning för
hur många filer eller hur mycket diskutrymme den användaren får utnyttja.

<p>Nedanför listan finns knappen <tt>Ändra tidsintervall</tt>. När man
klickar på den får man upp ett formulär där man kan ställa in den
tid som en användare får överskrida sin mjuka gräns innan den hindras från att
utnyttja mer diskutrymme.

<p>Om man trycker på <tt>Kontrollera quota</tt> läser systemet igenom hela
filsystemet och kontrollerar block- och filutnyttjandet för alla användare.
Detta kan vara nödvändigt att göra om quota har varit avstängt någon tid
eller om det just har slagits på för någon användare.

<p>Längst ned på sidan finns ett formulär för att definiera block-
och filquota för nya användare. Dessa inställningar gäller endast för de
användare som skapas med Webmin-modulen Användare och grupper.

<hr>


 0707010000a38b000081a40000000000000002000000013d1fe2cc000002a2000000200000000000000000000000000000002c00000003reloc/quota/help/list_users.zh_TW.Big5.html   <header>ÀÉ®×¨t²Î¨Ï¥ÎªÌ</header>

³o¤@­¶¦C¥X©Ò¦³¦bÀÉ®×¨t²Î¤W¦³³]©wºÏºÐ°tÃBªº¨Ï¥ÎªÌ. ±z¥i¥H«ö¤U¨Ï¥ÎªÌ¦WºÙ¥H½s¨ä¥Lªº°tÃB­­¨î, ©ÎªÌ±q¦Cªí¤U­±¿ï¾Ü¨Ï¥ÎªÌ¨Ã«ö¤U<tt>½s¿è°tÃB</tt>. ¦pªG¨Ï¥ÎªÌ¤£¦b¦Cªí¤¤, ³oªí¥Ü¸Ó¨Ï¥ÎªÌ¦bÀÉ®×¨t²Î¤W¨S¦³¥ô¦óªº°tÃB­­¨î. <p>

¨Ï¥ÎªÌªº¨Ï¥Î¼u©Ê¥i¥H§Q¥Î<tt>½s¿è¼u©Ê®É¶¡</tt>«ö¶s±±¨î. ³o­Ó±N¥i¥HÅý±z½s¿è¨Ï¥ÎªÌ¥i¥H¶W¹L¨ä³n©Ê­­¨î¨ÃÄ~Äò¨ú±oªÅ¶¡ªº®É¶¡­­¨î. <p>

«ö¤U<tt>ÀË¬d°tÃB</tt>«ö¶s¥H±½´yÀÉ®×¨t²Î¤W¨Ï¥ÎªÌ©Ò¨Ï¥ÎªºªÅ¶¡»P¼Æ¥Ø¨Ã§ó·s¦Cªí. ¦bºÏºÐ°tÃB´¿¸g³QÃö³¬ªºª¬ªp¤U, ©Î­è³]©w¨Ï¥ÎªÌªº°tÃB­­¨î¤§«á. ³o­Ó°Ê§@±N¬O¥²­nªº. <p>

¦b¥»­¶©³ºÝªºªí³æ¥i¥H³]©w·s¨Ï¥ÎªÌªº¹w³]°Ï¶ô»PÀÉ®×¼Æ¥Ø³]©w. ³o¥u¯à®M¥Î¦b§Q¥Î Webmin <tt>¨Ï¥ÎªÌ»P¸s²Õ</tt>¼Ò²Õ©Ò«Ø¥ßªº·s¨Ï¥ÎªÌ¤W. <p>

<hr>


  0707010000a38c000081a40000000000000002000000013d1fe2cc000002c7000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.ca.html <header>Quotes d'Usuari</header>

Aquesta pàgina llista tots els sistemes de fitxers allà on hi ha algun
usuari que hi tingui quotes. Pots fer clic sobre un sistema de fitxers de
la llista per editar-ne la quota, o bé selecciona un sistema de fitxers
del menú de sota i fes clic a <tt>Edita la Quota</tt>. Si un sistema de
fitxers no és a la llista, llavors és que no té cap límit respecte el
nombre de fitxers o la quantitat d'espai que l'usuari pot ocupar en aquest
sistema de fitxers.
<p>
Fer clic sobre el botó <tt>Copia les Quotes</tt> permet copiar totes les
quotes d'aquest usuari a un o més usuaris. Això pot ser útil si vols assignar
la mateixa quantitat d'espai en disc a més d'un usuari.
<p>

<hr>


 0707010000a38d000081a40000000000000002000000013d1fe2cc000002ab000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.es.html <header>Cuotas de Usuario</header>

Esta página lista todos los sistemas de archivo en que algún usuario tenga
cuota. Puedes hacer click en un sistema de archivos de la lista para editar
su cuota o seleccionar un sistema de archivos del menú inferior y hacer
click en <tt>Editar Cuota</tt>. Si un sistema de archivos no está en la
lista no hay límite en el número de archivos o cantidad de espacio que el
usuario puede ocupar en ese sistema de archivos. <p>

Haciendo click en el botón <tt>Copiar Cuotas</tt> te permite copiar todas
las cuotas de este usuario a otros usuarios. Esto puede ser útil si quieres
reservar el mismo espacio de disco para un número de usuarios. <p>

<hr>

 0707010000a38f000081a40000000000000002000000013d1fe2cc000002c1000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.fr.html <header>Quotas des Usagers</header>

Cette page liste tout les systèmes de fichier sur lesquels des usagers ont un quota.  Vous pouvez cliquer sur un système de fichier de la liste pour éditer son quota ou sélectionner un système de fichier du menu en dessous en cliquant sur <tt>Éditer Quotas</tt>.   Si un système de fichier n'est pas dans la liste c'est qu'il n'a aucune limite du nombre de fichiers ou d'espaces disque qu'un usager peut occuper sur ce système de fichier.<p>

Cliquer sur le bouton <tt>Copier Quotas</tt> vous permettra de copier tous les quotas de cet usager à d'autres usagers.  Ceci peut être utile si vous voulez allouer à un nombre d'usager le même espace disque.<p>

<hr>
   0707010000a390000081a40000000000000002000000013d1fe2cc00000252000000200000000000000000000000000000002300000003reloc/quota/help/user_filesys.html    <header>User Quotas</header>

This page lists all the filesystems on which some user has a quota. You can
click on a filesystem from the list to edit its quota, or select a filesystem
from the menu below and click on <tt>Edit Quota</tt>. If a filesystem is not
on the list there is no limit to the number of files or amount of space the
user may occupy on that filesystem. <p>

Clicking the <tt>Copy Quotas</tt> button allows you to copy all quotas for
this user to one or more other users. This can be useful if you want to
allocate a number of users the same amount of disk space. <p>

<hr>

  0707010000a391000081a40000000000000002000000013d1fe2cc000002f0000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.nl.html <header>Gebruikersquota</header>

Deze pagina geeft een overzicht van alle bestandssystemen, waar deze gebruiker een 
quotum heeft. U kunt op een bestandssysteem in de lijst klikken om het quotum 
daar te veranderen of een bestandssysteem kiezen uit het onderstaande menu en 
klikken op <tt>Quotum Wijzigen</tt>. Als een bestandssysteem niet in de lijst 
voorkomt, is er geen beperking van kracht op het aantal bestanden en de 
hoeveelheid ruimte die de gebruiker in dat bestandssysteem mag gebruiken. <p>

Door te klikken op de <tt>Kopieer Quotum</tt> kunt u alle quota van 
deze gebruiker kopiëren naar één of meer andere gebruikers. Dit kan handig zijn 
als u voor een aantal gebruikers dezelfde hoeveelheid harddisk ruimte wilt toestaan. <p>

<hr>
0707010000a392000081a40000000000000002000000013d1fe2cc000002e9000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.pl.html <header>Quota dla u¿ytkowników</header>

Na tej stronie zobaczysz liste systemów plików, na których ustawiono quota
dla pewnego u¿ytkownika. Mo¿esz nacisn±æ na system plików z&nbsp;listy, aby
zmieniæ na nim ustawienia quota lub wybraæ system plików z&nbsp;menu poni¿ej
i&nbsp;nacisn±æ <tt>Zmieñ quota</tt>. Je¶li jaki¶ system plików nie znajduje
siê na li¶cie, to nie ma na nim ograniczeñ na liczbe plików ani na rozmiar
przestrzeni dyskowej zajêtej przez tego u¿ytkownika. <p>

Naciskaj±c przycisk <tt>Kopiuj quota</tt> mo¿esz skopiowaæ wszystkie limity
ustawione dla tego u¿ytkownika do jednego lub kilku innych u¿ytkowników.
Mo¿e to byæ u¿yteczne je¿eli, chcesz przydzieliæ kilku u¿ytkownikom taki sam
rozmiar przestrzeni dyskowej. <p>

<hr>
   0707010000a393000081a40000000000000002000000013d1fe2cc0000024f000000200000000000000000000000000000002600000003reloc/quota/help/user_filesys.sv.html <header>Quota för användare</header>

På denna sida visas alla filsystem där någon användare har quota. Klicka på
ett filsystem i listan för att ändra quota eller välj ett filsystem från menyn
nedan och tryck på <tt>Ändra quota</tt>. Om något filsystem inte finns med
på listan är antalet filer och utrymmet som användaren får använda obegränsat
på detta filsystem.

<p>Tryck på <tt>Kopiera quota</tt> för att kopiera quota från denna användare
till en eller flera andra användare. Detta är användbart om man vill att
många användare ska ha tillgång till lika mycket diskutrymme var.

<hr>

 0707010000a394000081a40000000000000002000000013d1fe2cc000001af000000200000000000000000000000000000002e00000003reloc/quota/help/user_filesys.zh_TW.Big5.html <header>¨Ï¥ÎªÌ°tÃB</header>

³o¤@­¶¦C¥X¤F¦bÀÉ®×¨t²Î¤W¦³³]©w¨Ï¥ÎªÌ°tÃBªº¸Ô²Ó¸ê®Æ. ±z¥i¥H¦b¦Cªí¤¤«ö¤UÀÉ®×¨t²Î¦WºÙ¥H½s¿è¥Lªº°tÃB­­¨î; ©Î¦b¤U­±ªºªí³æ¤¤¿ï¾Ü­nÅÜ§óªºÀÉ®×¨t²Î, ¨Ã«ö¤U<tt>½s¿èºÏºÐ°tÃB</tt>¥HÅÜ§ó¤§. ¦pªGÀÉ®×¨t²Î¤£¦b¦Cªí¤¤, ªí¥Ü¸ÓÀÉ®×¨t²Î¨Ã¨S¦³³]©wÀÉ®×¼Æ¥Ø©Î¤j¤pªº°tÃB­­¨î³]©w. <p>

«ö¤U<tt>½Æ»s°tÃB</tt>«ö¶s¥i¥HÅý±z½Æ»s³o­Ó¨Ï¥ÎªÌªº°tÃB­­¨îµ¹¨ä¥Lªº¨Ï¥ÎªÌ. ·í±z·Q­n¨Ï¨ä¥L¨Ï¥ÎªÌ¦³¬Û¦Pªº°tÃB­­¨î®É, ³o­Ó¥\¯à±N·|¦³¥Î. <p>

<hr>

 0707010000a395000081a40000000000000002000000013d1fe2cc000001bd000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.ca.html   <header>Períodes de Gràcia dels Usuaris</header>

Els períodes de gràcia són el període de temps durant el qual un usuari
pot excedir el seu límit abans d'impedir-li de fer servir més espai
o crear més fitxers. Un cop un usuari excedeix el seu límit lax
de blocs, té el temps especificat per reduir el seu espai utilitzat
per sota del límit abans que se li impedeixi fer servir més blocs.
S'aplica el mateix per al límit lax de fitxers.

<hr>


   0707010000a396000081a40000000000000002000000013d1fe2cc000001ed000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.es.html   <header>Tiempo de Gracia para el Usuario</header>

Los tiempos de gracia son la cantidad de tiempo que un usuario puede
exceder su límite de soft antes de ser prevenido de no utilizar más espacio
de disco o de no crear más archivos. Una vez que el usuario excede su límite
de bloque de soft, tiene la cantidad de tiempo especificado para reducir
su utilización de disco bajo el límite antes de que sea prevenido de no usar
más bloques. Lo mismo se aplica al límite de archivos por soft.
<hr>

   0707010000a397000081a40000000000000002000000013d1fe2cc00000164000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.fr.html   <header>Temps de Grâce d'un Usager</header>

Le temps de grâce est le temps qu'un usager puisse excéder sa limite douce avant de ne plus pouvoir utiliser d'espace disque ou créer plus de fichiers.  Une fois qu'un groupe a excédé sa limite douce, il a le temps spécifié pour libérer de l'espace disque sous la limite avant qu'elle ne s'applique.

<hr>
0707010000a398000081a40000000000000002000000013d1fe2cc00000192000000200000000000000000000000000000002100000003reloc/quota/help/user_grace.html  <header>User Grace Times</header>

Grace times are the amount of time a user may exceed his soft limit by
before being prevented from using any more disk space or creating any
more files. Once a user exceeds his soft block limit, he has the specified
amount of time to reduce his disk usage below the limit before he is
prevented from using more blocks. The same applies for the soft file limit.
<hr>

  0707010000a399000081a40000000000000002000000013d1fe2cc000001ab000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.nl.html   <header>Gebruikers Waarschuwingstijd</header>

Waarschuwingstijd is de hoeveelheid tijd dat een gebruiker de zachte limiet mag 
overschrijden voordat het gebruik van méér harddisk ruimte of het aanmaken 
van méér bestanden wordt geblokkeerd.
Als een gebruiker de zachte limiet overschrijdt, heeft de gebruiker de opgegeven
hoeveelheid tijd om het gebruik terug te brengen. Dit geldt zowel voor blok-
als bestandslimieten.
<hr>
 0707010000a39a000081a40000000000000002000000013d1fe2cc00000221000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.pl.html   <header>Czasy ulgi dla u¿ytkownika</header>

Czasy ulgi s± okresem czasu, na jaki u¿ytkownik mo¿e przekroczyæ miêkki
limit quota, zanim zostan± zablokowane mo¿liwo¶ci u¿ycia jakiejkolwiek
dodatkowej przestrzeni dyskowej i&nbsp;tworzenia nowych plików. Od chwili,
gdy u¿ytkownik przekroczy miêkki limit, ma on okre¶lony czas na to, by
zmniejszyæ rozmiar zajmowanej przestrzeni dyskowej poni¿ej limitu. Je¶li
tego nie uczyni zostanie zablokowana mo¿liwo¶æ u¿ycia przez niego nowych
bloków. To samo stosuje sie do miêkkiego limitu dla plików.
<hr>
   0707010000a39b000081a40000000000000002000000013d1fe2cc000001b0000000200000000000000000000000000000002400000003reloc/quota/help/user_grace.sv.html   <header>Tidsintervall för användare</header>

Här anger du den tid som en användare får överskrida sin mjuka
gräns innan den hindras att använda mer diskutrymme och skapa nya
filer. När en användare överskrider sin mjuka blockgräns har den det
angivna tidsintervallet på sig att minska diskanvändningen, så att gränsen
inte överskrids, innan den hindras att använda fler block. Den mjuka
filgränsen fungerar på liknande sätt.
<hr>

0707010000a39c000081a40000000000000002000000013d1fe2cc000000dd000000200000000000000000000000000000002c00000003reloc/quota/help/user_grace.zh_TW.Big5.html   <header>¨Ï¥ÎªÌ</header>

¼u©Ê®É¶¡¬O¥i¥H¤¹³\¨Ï¥ÎªÌ¶W¹L¨ä³n©Ê­­¨îªº®É¶¡. ¦b³o¬q®É¶¡¤§¤¤, ¨Ï¥ÎªÌ¤´µM¥i¥H¨Ï¥Î§ó¦hªººÏºÐªÅ¶¡©Î«Ø¥ß§ó¦hªºÀÉ®×. ·í¨Ï¥ÎªÌ¨Ï¥Î¶W¹L¨ä³n©Ê®É¶¡«á, ¥¦·|³]©w¤@­Ó®É¶¡­n¨D¨Ï¥ÎªÌ¦b®É¶¡¤§¤º²M°£¨äªÅ¶¡.
<hr>

   07070100008e51000081a40000000000000002000000013d1fe2cb000002b7000000200000000000000000000000000000002300000003reloc/quota/config.info.zh_TW.Big5    display_max=Åã¥Üªº³Ì¤j¨Ï¥ÎªÌ©Î¸s²Õ¼Æ¥Ø,0
user_repquota_command=¦C¥XÀÉ®×¨t²Î¤W¨Ï¥ÎªÌªº«ü¥O,0
group_repquota_command=¦C¥XÀÉ®×¨t²Î¤W¸s²Õªº«ü¥O,0
user_edquota_command=½s¿è¨Ï¥ÎªÌ°tÃBªº«ü¥O,0
group_edquota_command=½s¿è¸s²Õ°tÃBªº«ü¥O,0
user_quota_command=ÀË¬d¨Ï¥ÎªÌ°tÃBªº«ü¥O,0
group_quota_command=ÀË¬d¸s²Õ°tÃBªº«ü¥O,0
user_copy_command=«þ¨©¨Ï¥ÎªÌ°tÃBªº«ü¥O,0
group_copy_command=«þ¨©¸s²Õ°tÃBªº«ü¥O,0
user_quotaon_command=±Ò°Ê¨Ï¥ÎªÌ°tÃBªº«ü¥O,0
group_quotaon_command±Ò°Ê¸s²Õ°tÃBªº«ü¥O,0
user_quotaoff_command=Ãö³¬¨Ï¥ÎªÌ°tÃBªº«ü¥O,0
group_quotaoff_command=Ãö³¬¸s²Õ°tÃBªº«ü¥O,0
quotacheck_command=ÀË¬d°tÃBªº«ü¥O,0
user_grace_command=½s¿è¨Ï¥ÎªÌ¼e­­®É¶¡ªº«ü¥O,0
group_grace_command=½s¿è¸s²Õ¼e­­®É¶¡ªº«ü¥O,0
 07070100008e52000081e40000000000000002000000013d1fe2cb0000054c000000200000000000000000000000000000001b00000003reloc/quota/copy_group.cgi    #!/usr/local/bin/perl
# copy_group.cgi
# Copy some group's quota to a number of others

require './quota-lib.pl';
&ReadParse();
$whatfailed = $text{'cgroup_efail'};
$access{'filesys'} eq "*" ||
	&error($text{'cgroup_ecannot'});
&can_edit_group($in{'group'}) ||
	&error($text{'cgroup_egallow'});

if ($in{'dest'} == 0) {
	# Copy to all groups
	setgrent();
	while(@ginfo = getgrent()) { push(@copyto, $ginfo[0]); }
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
elsif ($in{'dest'} == 1) {
	# Copy to selected groups
	@copyto = split(/\s+/, $in{'groups'});
	}
elsif ($in{'dest'} == 2) {
	# Copy to groups containing users
	foreach $u (split(/\s+/, $in{'users'})) {
		@uinfo = getpwnam($u);
		@ginfo = getgrgid($uinfo[3]);
		push(@copyto, $ginfo[0]);
		$user{$u}++;
		}
	setgrent();
	while(@ginfo = getgrent()) {
		foreach $m (split(/\s+/, $ginfo[3])) {
			if ($user{$m}) {
				push(@copyto, $ginfo[0]);
				last;
				}
			}
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@copyto = &unique(@copyto);
@copyto = grep { $_ ne $in{'group'} } @copyto;
if (!@copyto) { &error($text{'cgroup_enogroup'}); }
foreach $c (@copyto) {
	&can_edit_group($c) ||
		&error(&text('cgroup_eallowto', $c));
	}

# Do the copy
&copy_group_quota($in{'group'}, @copyto);
&webmin_log("copy", "group", $in{'group'}, \%in);
&redirect("group_filesys.cgi?group=$in{'group'}");

07070100008e53000081e40000000000000002000000013d1fe2cc0000045f000000200000000000000000000000000000002000000003reloc/quota/copy_group_form.cgi   #!/usr/local/bin/perl
# copy_group_form.cgi
# Display a form for copying some group's quotas to others

require './quota-lib.pl';
&ReadParse();
$access{'filesys'} eq "*" ||
	&error($text{'cgform_ecannot'});
&can_edit_group($in{'group'}) ||
	&error($text{'cgform_egroup'});
&header($text{'cgform_title'}, "", "copy_group");
print "<hr>\n";

print "<form action=copy_group.cgi>\n";
print "<input type=hidden name=group value=\"$in{'group'}\">\n";
print "<b>",&text('cgform_copyto', $in{'group'}),"</b><p>\n";
print "<ul>\n";
print "<input type=radio name=dest value=0 checked> ",
      "<b>$text{'cgform_all'}</b><br>\n";
print "<input type=radio name=dest value=1> <b>$text{'cgform_select'}</b>\n";
print "<input name=groups size=30> ",&group_chooser_button("groups",1),"<br>\n";
print "<input type=radio name=dest value=2> ",
      "<b>$text{'cgform_contain'}</b>\n";
print "<input name=users size=30> ",&user_chooser_button("users",1),"<br>\n";
print "<input type=submit value=$text{'cgform_doit'}></form>\n";
print "</ul>\n";

print "<hr>\n";
&footer("group_filesys.cgi?group=$in{'group'}", $text{'cgform_return'});

 07070100008e54000081e40000000000000002000000013d1fe2cb000004fb000000200000000000000000000000000000001a00000003reloc/quota/copy_user.cgi #!/usr/local/bin/perl
# copy_user.cgi
# Copy some user's quota to a number of others

require './quota-lib.pl';
&ReadParse();
$whatfailed = $text{'cuser_efail'};
$access{'filesys'} eq "*" ||
	&error($text{'cuser_ecannot'});
&can_edit_user($in{'user'}) ||
	&error($text{'cuser_euallow'});

if ($in{'dest'} == 0) {
	# Copy to all users
	setpwent();
	while(@uinfo = getpwent()) {
		push(@copyto, $uinfo[0]);
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
elsif ($in{'dest'} == 1) {
	# Copy to selected users
	@copyto = split(/\s+/, $in{'users'});
	}
elsif ($in{'dest'} == 2) {
	# Copy to members of groups
	setpwent();
	while(@uinfo = getpwent()) { $ingroup{$uinfo[3]} .= "$uinfo[0] "; }
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	foreach $g (split(/\s+/, $in{'groups'})) {
		@ginfo = getgrnam($g);
		push(@copyto, split(/\s+/, $ingroup{$ginfo[2]}));
		push(@copyto, split(/\s+/, $ginfo[3]));
		}
	}
@copyto = &unique(@copyto);
@copyto = grep { $_ ne $in{'user'} } @copyto;
if (!@copyto) { &error($text{'cuser_enouser'}); }
foreach $c (@copyto) {
	&can_edit_user($c) ||
		&error(&text('cuser_eallowto', $c));
	}

# Do the copy
&copy_user_quota($in{'user'}, @copyto);
&webmin_log("copy", "user", $in{'user'}, \%in);
&redirect("user_filesys.cgi?user=$in{'user'}");

 07070100008e55000081e40000000000000002000000013d1fe2cb00000453000000200000000000000000000000000000001f00000003reloc/quota/copy_user_form.cgi    #!/usr/local/bin/perl
# copy_user_form.cgi
# Display a form for copying some user's quotas to others

require './quota-lib.pl';
&ReadParse();
$access{'filesys'} eq "*" ||
	&error($text{'cuform_ecannot'});
&can_edit_user($in{'user'}) ||
	&error($text{'cuform_euallow'});
&header($text{'cuform_title'}, "", "copy_user");
print "<hr>\n";

print "<form action=copy_user.cgi>\n";
print "<input type=hidden name=user value=\"$in{'user'}\">\n";
print "<b>",&text('cuform_copyto', $in{'user'}),"</b><p>\n";
print "<ul>\n";
print "<input type=radio name=dest value=0 checked> ",
      "<b>$text{'cuform_all'}</b><br>\n";
print "<input type=radio name=dest value=1> <b>$text{'cuform_select'}</b>\n";
print "<input name=users size=30> ",&user_chooser_button("users",1),"<br>\n";
print "<input type=radio name=dest value=2> ",
      "<b>$text{'cuform_members'}</b>\n";
print "<input name=groups size=30> ",&group_chooser_button("groups",1),"<br>\n";
print "<input type=submit value=$text{'cuform_doit'}></form>\n";
print "</ul>\n";

print "<hr>\n";
&footer("user_filesys.cgi?user=$in{'user'}", $text{'cuform_return'});
 07070100008e56000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000001f00000003reloc/quota/corel-linux-lib.pl    # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e57000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000002000000003reloc/quota/debian-linux-lib.pl   # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e58000081a40000000000000002000000013d1fe2cc00000056000000200000000000000000000000000000001700000003reloc/quota/defaultacl    noconfig=0
filesys=*
umode=0
gmode=0
enable=1
default=1
ugrace=1
ggrace=1
diskspace=1
  07070100008e59000081e40000000000000002000000013d1fe2cb000001c6000000200000000000000000000000000000001700000003reloc/quota/edgrace.pl    #!/usr/local/bin/perl
# edgrace.pl
# Run by edquota to edit the grace times for some filesystem

require './quota-lib.pl';
$fs = $ENV{'QUOTA_FILESYS'};
$bt = $ENV{'QUOTA_BTIME'};
$bu = $ENV{'QUOTA_BUNITS'};
$ft = $ENV{'QUOTA_FTIME'};
$fu = $ENV{'QUOTA_FUNITS'};
$f = $ARGV[0];

open(FILE, $f);
while(<FILE>) { $qdata .= $_; }
close(FILE);
$nqdata = &edit_grace_file($qdata, $fs, $bt, $bu, $ft, $fu);
open(FILE, "> $f");
print FILE $nqdata;
close(FILE);

  07070100008e5a000081e40000000000000002000000013d1fe2cc000008f7000000200000000000000000000000000000002100000003reloc/quota/edit_group_quota.cgi  #!/usr/local/bin/perl
# edit_group_quota.cgi
# Display a form for editing the quotas for a group on some filesystem

require './quota-lib.pl';
&ReadParse();
$u = $in{'group'}; $fs = $in{'filesys'};
&can_edit_group($u) ||
	&error(&text('egroup_eallowgr', $u));
&can_edit_filesys($fs) ||
	&error($text{'egroup_eallowfs'});
&header($text{'egroup_title'}, "", "edit_group_quota");
print "<hr>\n";

@quot = &group_quota($u, $fs);
$first = (@quot == 0);
print "<table border width=100%>\n";
print "<form action=save_group_quota.cgi>\n";
print "<input type=hidden name=group value=\"$u\">\n";
print "<input type=hidden name=filesys value=\"$fs\">\n";
print "<input type=hidden name=source value=$in{'source'}>\n";
print "<tr $tb> <td colspan=2><b>",&text('egroup_quotas', &html_escape($u), $fs),"</b></td> </tr>\n";
print "<tr $cb> <td width=50%><table width=100%>\n";

if (!$first) {
	print "<tr> <td><b>$text{'egroup_bused'}</b></td> <td>$quot[0]</td> </tr>\n",
	}
print "<tr> <td><b>$text{'egroup_sblimit'}</b></td>\n";
&quota_input("sblocks", $quot[1]);
print "<tr> <td><b>$text{'egroup_hblimit'}</b></td>\n";
&quota_input("hblocks", $quot[2]);
if ($access{'diskspace'}) {
	($binfo, $finfo) = &filesystem_info($fs);
	print "<tr> <td><b>$text{'euser_bdisk'}</b></td>\n";
	print "<td>$binfo</td> </tr>\n";
	}

print "</table></td><td width=50%><table width=100%>\n";
if (!$first) {
	print "<tr> <td><b>$text{'egroup_fused'}</b></td> <td>$quot[3]</td> </tr>\n",
	}
print "<tr> <td><b>$text{'egroup_sflimit'}</b></td>\n";
&quota_input("sfiles", $quot[4]);
print "<tr> <td><b>$text{'egroup_hflimit'}</b></td>\n";
&quota_input("hfiles", $quot[5]);
if ($access{'diskspace'}) {
	print "<tr> <td><b>$text{'euser_fdisk'}</b></td>\n";
	print "<td>$finfo</td> </tr>\n";
	}

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value=$text{'egroup_update'}></td>\n";
print "</form><form action=group_filesys.cgi>\n";
print "<input type=hidden name=group value=\"$u\">\n";
print "<td align=right><input type=submit value=\"$text{'egroup_listall'}\"></td>\n";
print "</form></tr></table>\n";

print "<hr>\n";
if ($in{'source'}) { &footer("group_filesys.cgi?group=$u", $text{'egroup_freturn'}); }
else { &footer("list_groups.cgi?$fs", $text{'egroup_greturn'}); }

 07070100008e5b000081e40000000000000002000000013d1fe2cb000008dc000000200000000000000000000000000000002000000003reloc/quota/edit_user_quota.cgi   #!/usr/local/bin/perl
# edit_user_quota.cgi
# Display a form for editing the quotas for a user on some filesystem

require './quota-lib.pl';
&ReadParse();
$u = $in{'user'}; $fs = $in{'filesys'};
&can_edit_user($u) ||
	&error(&text('euser_eallowus', $u));
&can_edit_filesys($fs) ||
	&error($text{'euser_eallowfs'});
&header($text{'euser_title'}, "", "edit_user_quota");
print "<hr>\n";

@quot = &user_quota($u, $fs);
$first = (@quot == 0);
print "<table border width=100%>\n";
print "<form action=save_user_quota.cgi>\n";
print "<input type=hidden name=user value=\"$u\">\n";
print "<input type=hidden name=filesys value=\"$fs\">\n";
print "<input type=hidden name=source value=$in{'source'}>\n";
print "<tr $tb> <td colspan=2><b>",&text('euser_quotas', &html_escape($u), $fs),"</b></td> </tr>\n";
print "<tr $cb> <td width=50%><table width=100%>\n";

if (!$first) {
	print "<tr> <td><b>$text{'euser_bused'}</b></td> <td>$quot[0]</td> </tr>\n",
	}
print "<tr> <td><b>$text{'euser_sblimit'}</b></td>\n";
&quota_input("sblocks", $quot[1]);
print "<tr> <td><b>$text{'euser_hblimit'}</b></td>\n";
&quota_input("hblocks", $quot[2]);
if ($access{'diskspace'}) {
	($binfo, $finfo) = &filesystem_info($fs);
	print "<tr> <td><b>$text{'euser_bdisk'}</b></td>\n";
	print "<td>$binfo</td> </tr>\n";
	}

print "</table></td><td width=50%><table width=100%>\n";
if (!$first) {
	print "<tr> <td><b>$text{'euser_fused'}</b></td> <td>$quot[3]</td> </tr>\n",
	}
print "<tr> <td><b>$text{'euser_sflimit'}</b></td>\n";
&quota_input("sfiles", $quot[4]);
print "<tr> <td><b>$text{'euser_hflimit'}</b></td>\n";
&quota_input("hfiles", $quot[5]);
if ($access{'diskspace'}) {
	print "<tr> <td><b>$text{'euser_fdisk'}</b></td>\n";
	print "<td>$finfo</td> </tr>\n";
	}

print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value=$text{'euser_update'}></td>\n";
print "</form><form action=user_filesys.cgi>\n";
print "<input type=hidden name=user value=\"$u\">\n";
print "<td align=right><input type=submit value=\"$text{'euser_listall'}\"></td>\n";
print "</form></tr></table>\n";

print "<hr>\n";
if ($in{'source'}) { &footer("user_filesys.cgi?user=$u", $text{'euser_freturn'}); }
else { &footer("list_users.cgi?$fs", $text{'euser_ureturn'}); }

07070100008e5c000081e40000000000000002000000013d1fe2cc000001ff000000200000000000000000000000000000001700000003reloc/quota/edquota.pl    #!/usr/local/bin/perl
# edquota.pl
# Run by edquota to edit some user's quota

$no_acl_check++;
$0 =~ /^(\S+)\//;
chdir($1);
require './quota-lib.pl';
$u = $ENV{'QUOTA_USER'};
$fs = $ENV{'QUOTA_FILESYS'};
$sb = $ENV{'QUOTA_SBLOCKS'};
$hb = $ENV{'QUOTA_HBLOCKS'};
$sf = $ENV{'QUOTA_SFILES'};
$hf = $ENV{'QUOTA_HFILES'};
$f = $ARGV[0];

open(FILE, $f);
while(<FILE>) { $qdata .= $_; }
close(FILE);
$nqdata = &edit_quota_file($qdata, $fs, $sb, $hb, $sf, $hf);
open(FILE, "> $f");
print FILE $nqdata;
close(FILE);

 07070100008e5d000081a40000000000000002000000013d1fe2cc0000237b000000200000000000000000000000000000001b00000003reloc/quota/freebsd-lib.pl    # openbsd-lib.pl
# Quota functions for openbsd

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$ENV{'BLOCKSIZE'} = 1024;
`df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/;
return ($1, $2, $3+$4, $4);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /userquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /groupquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /quota/ ? 3 : 0;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# group_filesystems(group)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'group_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, $what);
$rep = `$config{'user_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = grep { !/^root\s/ } @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# filesystem_groups(filesystem)
# Fills the array %group with information about all groups with quotas
# on this filesystem. This may not be all groups on the system..
sub filesystem_groups
{
local($rep, @rep, $n, $what);
$rep = `$config{'group_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$group{$n,'group'} = $1;
		$group{$n,'ublocks'} = int($2);
		$group{$n,'sblocks'} = int($3);
		$group{$n,'hblocks'} = int($4);
		$group{$n,'ufiles'} = int($5);
		$group{$n,'sfiles'} = int($6);
		$group{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'group_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e5e000081a40000000000000002000000013d1fe2cd00002d67000000200000000000000000000000000000002100000003reloc/quota/generic-linux-lib.pl  # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e5f000081a40000000000000002000000013d1fe2cd00002d67000000200000000000000000000000000000002000000003reloc/quota/gentoo-linux-lib.pl   # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e60000081e40000000000000002000000013d1fe2cc000009f0000000200000000000000000000000000000001e00000003reloc/quota/group_filesys.cgi #!/usr/local/bin/perl
# group_filesys.cgi
# List all filesystems for which some group has quotas

require './quota-lib.pl';
&ReadParse();
$u = $in{'group'};
&can_edit_group($u) ||
	&error(&text('gfilesys_ecannot', $u));
&header($text{'gfilesys_title'}, "", "group_filesys");
print "<hr>\n";

foreach $f (&list_filesystems()) {
	if ($f->[4] > 1 && $f->[5] && &can_edit_filesys($f->[0])) {
		push(@fslist, $f->[0]);
		$fslist{$f->[0]}++;
		}
	}

$n = &group_filesystems($u);
if ($n) {
	print "<h3>",&text('gfilesys_all', &html_escape($u)),"</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td></td>\n";
	print "<td colspan=3 align=center><b>$text{'gfilesys_blocks'}</b></td>\n";
	print "<td colspan=3 align=center><b>$text{'gfilesys_files'}</b></td> </tr>\n";
	print "<tr $tb> <td><b>$text{'gfilesys_fs'}</b></td>\n";
	print "<td><b>$text{'gfilesys_used'}</b></td> <td><b>$text{'gfilesys_soft'}</b></td>\n";
	print "<td><b>$text{'gfilesys_hard'}</b></td>\n";
	print "<td><b>$text{'gfilesys_used'}</b></td> <td><b>$text{'gfilesys_soft'}</b></td>\n";
	print "<td><b>$text{'gfilesys_hard'}</b></td> </tr>\n";
	for($i=0; $i<$n; $i++) {
		$f = $filesys{$i,'filesys'};
		print "<tr $cb>\n";
		if ($fslist{$f}) {
			print "<td><a href=\"edit_group_quota.cgi?filesys=$f&group=$u&source=1\">$f</a></td>\n";
			}
		else { print "<td>$f</td>\n"; }
		print "<td>$filesys{$i,'ublocks'}</td>\n";
		&print_limit($filesys{$i,'sblocks'});
		&print_limit($filesys{$i,'hblocks'});
		print "<td>$filesys{$i,'ufiles'}</td>\n";
		&print_limit($filesys{$i,'sfiles'});
		&print_limit($filesys{$i,'hfiles'});
		print "</tr>\n";
		}
	print "</table><br>\n";
	}
else {
	print "<b>",&text('gfilesys_nogquota', $u),"</b><br>\n";
	}

print "<table width=100%><tr>\n";
print "<form action=edit_group_quota.cgi>\n";
print "<input type=hidden name=group value=\"$u\">\n";
print "<input type=hidden name=source value=1>\n";
print "<td align=left><input type=submit value=\"$text{'gfilesys_edit'}\">\n";
print "<select name=filesys>\n";
foreach $f (@fslist) { print "<option>$f\n"; }
print "</select></td></form>\n";

if ($access{'filesys'} eq "*") {
	print "<form action=copy_group_form.cgi>\n";
	print "<input type=hidden name=group value=\"$u\">\n";
	print "<td align=right><input type=submit value=\"$text{'gfilesys_copy'}\">\n";
	print "</td></form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'gfilesys_return'});

sub print_limit
{
if ($_[0] == 0) { print "<td>$text{'quota_unlimited'}</td>\n"; }
else { print "<td>$_[0]</td>\n"; }
}

07070100008e61000081e40000000000000002000000013d1fe2cb00000703000000200000000000000000000000000000002100000003reloc/quota/group_grace_form.cgi  #!/usr/local/bin/perl
# group_grace_form.cgi
# Display a form for editing group grace times for some filesystem

require './quota-lib.pl';
&ReadParse();
$access{'ggrace'} && &can_edit_filesys($in{'filesys'}) ||
	&error($text{'ggracef_ecannot'});
&header($text{'ggracef_title'}, "", "group_grace");
print "<hr>\n";

print "$text{'ggracef_info'}<p>\n";

@gr = &get_group_grace($in{'filesys'});
print "<form action=group_grace_save.cgi>\n";
print "<input type=hidden name=filesys value=\"$in{'filesys'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td colspan=2><b>",&text('ggracef_graces', $in{'filesys'}),"</b></td></tr>\n";

print "<tr $cb> <td width=20%><b>$text{'ggracef_block'}</b></td> <td>\n";
if (&default_grace()) {
	printf "<input type=radio name=bdef value=1 %s> $text{'default'}\n",
		$gr[0] ? "" : "checked";
	printf "<input type=radio name=bdef value=0 %s>\n",
		$gr[0] ? "checked" : "";
	}
print "<input name=btime size=6 value=\"$gr[0]\">";
&select_units("bunits", $gr[1]);
print "</td> </tr>\n";

print "<tr $cb> <td width=20%><b>$text{'ggracef_file'}</b></td> <td>\n";
if (&default_grace()) {
	printf "<input type=radio name=fdef value=1 %s> $text{'default'}\n",
		$gr[2] ? "" : "checked";
	printf "<input type=radio name=fdef value=0 %s>\n",
		$gr[2] ? "checked" : "";
	}
print "<input name=ftime size=6 value=\"$gr[2]\">";
&select_units("funits", $gr[3]);
print "</td> </tr>\n";

print "</table><p>\n";
print "<input type=submit value=$text{'ggracef_update'}></form>\n";

print "<hr>\n";
&footer("list_groups.cgi?$in{'filesys'}", $text{'ggracef_return'});

sub select_units
{
@uarr = &grace_units();
print "<select name=$_[0]>\n";
for($i=0; $i<@uarr; $i++) {
	printf "<option value=$i %s>$uarr[$i]\n",
		$i == $_[1] ? "selected" : "";
	}
print "</select>\n";
}

 07070100008e62000081e40000000000000002000000013d1fe2cc0000030c000000200000000000000000000000000000002100000003reloc/quota/group_grace_save.cgi  #!/usr/local/bin/perl
# group_grace_save.cgi
# Update the grace times for groups on some filesystem

require './quota-lib.pl';
&ReadParse();
$whatfailed = $text{'ggraces_esave'};
$access{'ggrace'} && &can_edit_filesys($in{'filesys'}) ||
	&error($text{'ggraces_eedit'});

if ($in{'bdef'}) { push(@args, 0, 0); }
elsif ($in{'btime'} !~ /^[0-9\.]+$/)
	{ &error(&text('ggraces_enumber', $in{'btime'})); }
else { push(@args, ($in{'btime'}, $in{'bunits'})); }

if ($in{'fdef'}) { push(@args, 0, 0); }
elsif ($in{'ftime'} !~ /^[0-9\.]+$/)
	{ &error(&text('ggraces_enumber', $in{'ftime'})); }
else { push(@args, ($in{'ftime'}, $in{'funits'})); }

&edit_group_grace($in{'filesys'}, @args);
&webmin_log("grace", "group", $in{'filesys'}, \%in);
&redirect("list_groups.cgi?$in{'filesys'}");

07070100008e63000081a40000000000000002000000013d1fe2cb00001858000000200000000000000000000000000000001800000003reloc/quota/hpux-lib.pl   # hpux-lib.pl
# Quota functions for HPUX

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 1;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local($out);
$out = `df -t $_[0]`;
$out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/;
return ($3, $1, $4, $2);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return $_[0]->[2] eq "hfs" || $_[0]->[2] eq "vxfs" ? 1 : 0;
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, $newfmt);
$rep = `$config{'user_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
`uname -r` =~ /(\d+)\.(\d+)/;
if ($1 > 10 || $1 == 10 && $2 >= 20) { $newfmt = 1; }
for($n=0; $n<@rep; $n++) {
	if ($newfmt && $rep[$n] =~ /(\S+)\s+..(.{7})(.{7})(.{7}).{13}(.{7})(.{7})(.{7})/ || !$newfmt && $rep[$n] =~ /(\S+)\s+..(\d+)\s+(\d+)\s+(\d+)\s+.{11}(\d+)\s+(\d+)\s+(\d+)/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		$user{$n,'user'} =~ s/^#//g;
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found line to change
		$line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota file for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($qf, $out);
$qf = "$_[0]/quotas";
if (!(-r $qf)) {
	open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
	chmod(0600, $qf);
	}
$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystems some user has
# quotas on
sub user_filesystems
{
local($n, $_);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line!
		$filesys{$n,'filesys'} = $1;
		local $nl = <QUOTA>;
		if ($nl =~ /^\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ ||
		    $nl =~ /^.{13}(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) {
			$filesys{$n,'ublocks'} = int($1);
			$filesys{$n,'sblocks'} = int($2);
			$filesys{$n,'hblocks'} = int($3);
			$filesys{$n,'ufiles'} = int($4);
			$filesys{$n,'sfiles'} = int($5);
			$filesys{$n,'hfiles'} = int($6);
			$n++;
			}
		}
	elsif (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ ||
	       /^(.{13})(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) {
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} =~ s/\s+$//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month
sub get_user_grace
{
local(@rv);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} |");
while(<GRACE>) {
	if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) {
		if ($2 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $2, $name_to_unit{$3}); }
		if ($4 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $4, $name_to_unit{$5}); }
		}
	}
close(GRACE);
return @rv;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 1;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'});
}

%name_to_unit = ( "sec", 0, "secs", 0,
		  "min", 1, "mins", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		  "week", 4, "weeks", 4,
		  "month", 5, "months", 5
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;
0707010001e5a7000041ed0000000000000001000000023d1ffb2300000000000000200000000000000000000000000000001300000003reloc/quota/images    0707010001e5f6000081a40000000000000002000000013d1fe2cc0000014e000000200000000000000000000000000000001c00000003reloc/quota/images/icon.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌfff!ù    ,    0 0  þ„©Ëí£œ´ª€³ÞØ..„âHƒwdäÊ
ØpnÖÖ£	Ów×öï‚|5^‚d½†H[àâäh„Mà!
·ÜaRt=t¹ÙS—Êh¥×Tm×ñ´7XgŽ®|ñŽ·¢ÒÇ2hˆ·aØ§âÆ‘Èè3÷h••Wté÷Ã	FÉHˆõù×*¸‡Õ÷%šJ©Âš¢w
{s6ëRZ[²(¹1j[%µ9LäùZ‚ìG»Æœ›géx+çÜy-ë]bÈÝø½*Þ­J~Ã»<žžþ{.ýž^<¯-×Žž/Øí®Ÿ¹{ÌèÕQ&¯ Àx_”óS@jþ5üò°È‡ ‰ÓôõÀÖ±œE‡@9“aAJ0("di	3¦Ì™4k  ;  07070100008e64000081e40000000000000002000000013d1fe2cb00000ccd000000200000000000000000000000000000001600000003reloc/quota/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of all local filesystems, and allow editing of quotas
# on those which have quotas turned on. The actual turning on of quotas must
# be done in the mount module first.

require './quota-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("quota", "man", "howto"));
print "<hr>\n";

$err = &quotas_init();
if ($err) {
	print "<p><b>$err</b><p>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

@list = &list_filesystems();
if (@list) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_fs'}</b></td> <td><b>$text{'index_type'}</b></td>\n";
	print "<td><b>$text{'index_mount'}</b></td> <td><b>$text{'index_status'}</b></td>\n";
	if ($access{'enable'}) {
		print "<td><b>$text{'index_action'}</b></td> </tr>\n";
		}
	else { print "</tr>\n"; }
	foreach $f (@list) {
		$qc = $f->[4];
		$qc = $qc&1 if ($access{'gmode'} == 3);
		next if (!$qc);
		next if (!&can_edit_filesys($f->[0]));
		$qn = $f->[5];
		if ($qc == 1) { $msg = $text{'index_quser'}; }
		elsif ($qc == 2) { $msg = $text{'index_qgroup'}; }
		elsif ($qc == 3) { $msg = $text{'index_qboth'}; }
		$canactivate = 1;
		if ($qn >= 4) {
			$chg = $text{'index_mountonly'};
			$qn -= 4;
			$canactivate = 0;
			if ($qn) {
				$msg .= " $text{'index_active'}";
				}
			else {
				$msg .= " $text{'index_inactive'}";
				}
			}
		elsif ($qn) {
			$msg .= " $text{'index_active'}";
			$chg = $text{'index_disable'};
			}
		else {
			$msg .= " $text{'index_inactive'}";
			$chg = $text{'index_enable'};
			}
		if ($qn%2 == 1) { $useractive++; }
		if ($qn > 1) { $groupactive++; }

		print "<tr $cb><td>\n";
		$dir = $f->[0];
		if (!$qn) { print $dir; }
		elsif ($qc == 1)
			{ print "<a href=\"list_users.cgi?$dir+$qc\">$dir</a>";}
		elsif ($qc == 2)
			{ print"<a href=\"list_groups.cgi?$dir+$qc\">$dir</a>";}
		elsif ($qc == 3) {
			print "<a href=\"list_users.cgi?$dir+$qc\">$dir (users)</a><br>";
			print "<a href=\"list_groups.cgi?$dir+$qc\">$dir (groups)</a>";
			}
		print "</td>\n";

		print "<td valign=top>",&foreign_call("mount", "fstype_name", $f->[2]),"</td>\n";
		print "<td valign=top>",&foreign_call("mount", "device_name", $f->[1]),"</td>\n";
		print "<td valign=top>$msg</td>\n";
		if ($access{'enable'}) {
			if ($canactivate) {
				print "<td valign=top><a href=\"activate.cgi?dir=$dir&active=$qn&mode=$qc\">$chg</a></td>\n";
				}
			else {
				print "<td valign=top>$chg</td>\n";
				}
			}

		print "</tr>\n";
		}
	print "</table>\n";
	}
else { print "<b>$text{'index_nosupport'}</b>.<br>\n"; }

print "<table width=100%><tr>\n";
if ($useractive) {
	print "<form action=user_filesys.cgi>\n";
	print "<td><input type=submit value=\"$text{'index_euser'}\">\n";
	print "<input name=user size=8> ",
	      &user_chooser_button("user", 0),"</td></form>\n";
	}
else { print "<td></td>\n"; }

if ($groupactive) {
	print "<form action=group_filesys.cgi>\n";
	print "<td align=right>\n";
	print "<input type=submit value=\"$text{'index_egroup'}\">\n";
	print "<input name=group size=8> ",
	      &group_chooser_button("group", 0, $useractive ? 1 : 0),
	      "</td></form>\n";
	}
else { print "<td></td>\n"; }
print "</tr></table>\n";

print "<hr>\n";
&footer("/", $text{'index_return'});

   0707010000bbbe000041ed0000000000000001000000023d1ffb2500000000000000200000000000000000000000000000001100000003reloc/quota/lang  0707010000bbbf000081a40000000000000002000000013d1fe2cb00002711000000200000000000000000000000000000001400000003reloc/quota/lang/ca   quota_unlimited=Il·limitada

acl_fss=Sistemes de fitxers que aquest usuari pot editar
acl_fall=Tots els sistemes de fitxers
acl_fsel=Seleccionats...
acl_quotaon=Pot activar i desactivar quotes
acl_quotanew=Pot configurar quotes per als usuaris nous
acl_ugrace=Pot editar els períodes de gràcia dels usuaris
acl_vtotal=Pot veure el total d'espai al disc
acl_ggrace=Pot editar els períodes de gràcia dels grups
acl_uquota=Usuaris dels quals aquest usuari pot modificar quotes
acl_gquota=Grups dels quals aquest usuari pot modificar quotes
acl_uall=Tots els usuaris
acl_uonly=Només els usuaris
acl_uexcept=Tots excepte els usuaris
acl_ugroup=Els usuaris amb grup primari
acl_gall=Tots els grups
acl_gnone=Cap grup
acl_gonly=Només els grups
acl_gexcept=Tots excepte els grups
acl_uuid=Usuaris amb UID en el rang
acl_maxblocks=Quota màxima de blocs condecible
acl_maxfiles=Quota màxima de fitxers concedible
acl_unlimited=Il·limitada

activate_eallow=No tens permís per activar o desactivar quotes en aquest sistema de fitxers
activate_eon=No he pogut activar les quotes
activate_eoff=No he pogut desactivar les quotes

check_title=Comprovació de Quotes
check_return=a la llista $1
check_ecannot=No pots verificar les quotes d'aquest sistema de fitxers
check_running=Ara s'està executant l'ordre <tt>quotacheck</tt> per verificar l'ús dels blocs i els fitxers a <tt>$1</tt>. Això pot trigar molt si el sistema de fitxers és molt gran...
check_done=...Fet. 
check_rgroup=grup
check_ruser=usuari

cgroup_efail=No he pogut copiar les quotes
cgroup_ecannot=No pots copiar quotes
cgroup_egallow=No tens permís per copiar les quotes d'aquest grup
cgroup_enogroup=No ha cap grup de destinació
cgroup_eallowto=No tens permís per copiar quotes a '$1'

cgform_title=Còpia de Quotes
cgform_return=a la quota de grup
cgform_ecannot=No pots copiar quotes
cgform_egroup=No tens permís per copiar les quotes d'aquest grup
cgform_copyto=Copia les quotes de <tt>$1</tt> de TOTS els sistemes de fitxers a...
cgform_all=Tots els grups del sistema
cgform_select=Grups seleccionats
cgform_contain=Grups que contenen els usuaris
cgform_doit=Copia

cuser_efail=No he pogut copiar les quotes
cuser_ecannot=No pots copiar quotes
cuser_euallow=No tens permís per copiar les quotes d'aquest usuari
cuser_enouser=No ha cap usuari de destinació
cuser_eallowto=No tens permís per copiar quotes a '$1'

cuform_title=Còpia de Quotes
cuform_return=a la quota d'usuari
cuform_ecannot=No pots copiar quotes
cuform_euallow=No tens permís per copiar les quotes d'aquest usuari
cuform_copyto=Copia les quotes de <tt>$1</tt> de TOTS els sistemes de fitxers a...
cuform_all=Tots els usuaris del sistema
cuform_select=Usuaris seleccionats
cuform_members=Membres dels grups seleccionats
cuform_doit=Copia

egroup_title=Edició de Quota
egroup_freturn=llista de sistemes de fitxers
egroup_greturn=llista de grups
egroup_eallowgr=No tens permís per editar les quotes de '$1'
egroup_eallowfs=No tens permís per editar les quotes d'aquest sistema de fitxers
egroup_quotas=Quota de <tt>$1</tt> a <tt>$2</tt>
egroup_bused=Blocs Usats
egroup_sblimit=Límit Lax de Blocs
egroup_hblimit=Límit Estricte de Blocs
egroup_fused=Fitxers Usats
egroup_sflimit=Límit Lax de Fitxers
egroup_hflimit=Límit Estricte de Fitxers
egroup_update=Actualitza
egroup_listall=Llista Totes les Quotes

euser_title=Edició de Quota
euser_freturn=llista de sistemes de fitxers
euser_ureturn=llista d'usuaris
euser_eallowus=No tens permís per editar les quotes de '$1'
euser_eallowfs=No tens permís per editar les quotes d'aquest sistema de fitxers
euser_quotas=Quota de <tt>$1</tt> a <tt>$2</tt>
euser_bused=Blocs Usats
euser_bdisk=Blocs Disponibles al Disc
euser_sblimit=Límit Lax de Blocs
euser_hblimit=Límit Estricte de Blocs
euser_fused=Fitxers Usats
euser_fdisk=Fitxers Disponibles al Disc
euser_sflimit=Límit Lax de Fitxers
euser_hflimit=Límit Estricte de Fitxers
euser_update=Actualitza
euser_listall=Llista Totes les Quotes

gfilesys_title=Quotes de Grup
gfilesys_return=a la llista de sistemes de fitxers
gfilesys_ecannot=No pots editar les quotes de '$1'
gfilesys_all=Totes les Quotes de $1
gfilesys_blocks=Blocs
gfilesys_files=Fitxers
gfilesys_fs=Sistema de fitxers
gfilesys_used=Usat
gfilesys_soft=Límit Lax
gfilesys_hard=Límit Estricte
gfilesys_nogquota=El grup <tt>$1</tt> no té quotes a cap sistema de fitxers
gfilesys_edit=Edita la Quota a:
gfilesys_copy=Copia les Quotes

ggracef_title=Períodes de Gràcia
ggracef_return=a la llista de grups
ggracef_ecannot=No pots editar els períodes de gràcia en aquest sistema de fitxers
ggracef_info=Cada sistema de fitxers té un periode de gràcia per a les quotes de blocs i fitxers. El periode de gràcia determina quant temps pot estar un grup per damunt del límit de programari abans no se li permeti de seguir creant fitxers. 
ggracef_graces=Períodes de Gràcia de Grup de <tt>$1</tt>
ggracef_block=De la quota de blocs
ggracef_file=De la quota de fitxers
ggracef_update=Actualitza

ggraces_esave=No he pogut desar els períodes de gràcia
ggraces_eedit=No pots editar els períodes de gràcia d'aquest sistema de fitxers
ggraces_enumber='$1' no és un número

index_quser=Quotes d'Usuari
index_qgroup=Quotes de Grup
index_qboth=Quotes d'Usuari i Grup
index_active=Activa
index_disable=Desactiva les Quotes
index_inactive=Inactiva
index_enable=Activa les Quotes
index_mountonly=Només es pot activar en muntar
index_title=Quotes de Disc
index_fs=Sistema de fitxers
index_type=Tipus
index_mount=Muntat des de
index_status=Estat
index_action=Acció
index_return=a l'índex
index_euser=Edita les Quotes d'Usuari:
index_egroup=Edita les Quotes de Grup:
index_nosupport=No hi ha cap sistema de fitxers local que suporti quotes

lgroups_failed=No he pogut llistar els grups
lgroups_eallow=No tens permís per editar les quotes d'aquest sistema de fitxers
lgroups_title=Quotes de Sistema de Fitxers
lgroups_return=a la llista de sistemes de fitxers
lgroups_toomany=Hi ha massa grups amb quotes a <tt>$1</tt> per mostrar-los en una sola pàgina
lgroups_quotas=Totes les quotes de grups de <tt>$1</tt>
lgroups_blocks=Blocs
lgroups_files=Fitxers
lgroups_group=Grup
lgroups_used=Usat
lgroups_soft=Límit Lax
lgroups_hard=Límit Estricte
lgroups_noquota=No hi cap grup amb quotes a <tt>$1</tt>
lgroups_equota=Edita la Quota de:
lgroups_grace=Edita els Períodes de Gràcia
lgroups_check=Comprova les Quotes

sgroup_egroup=No tens permís per editar les quotes d'aquest grup
sgroup_efs=No tens permís per editar les quotes d'aquest sistema de fitxers

ssync_ecannot=No tens permís per establir la quota per defecte d'aquest sistema de fitxers

suser_euser=No tens permís per editar les quotes d'aquest usuari
suser_efs=No tens permís per editar les quotes d'aquest sistema de fitxers
suser_emaxblocks=No tens permís per concedir límits de blocs per sobre de $1
suser_emaxfiles=No tens permís per concedir límits de fitxers per sobre de $1

ufilesys_title=Quotes d'Usuari
ufilesys_return=a la llista de sistemes de fitxers
ufilesys_ecannot=No pots editar les quotes de '$1'
ufilesys_all=Totes les Quotes de <tt>$1</tt>
ufilesys_blocks=Blocs
ufilesys_files=Fitxers
ufilesys_fs=Sistema de fitxers
ufilesys_used=Usat
ufilesys_soft=Límit Lax
ufilesys_hard=Límit Estricte
ufilesys_nouquota=L'usuari <tt>$1</tt> no té quotes a cap sistema de fitxers
ufilesys_edit=Edita la Quota de:
ufilesys_copy=Copia les Quotes

ugracef_title=Períodes de Gràcia
ugracef_return=a la llista d'usuaris
ugracef_ecannot=No pots editar els períodes de gràcia d'aquest sistema de fitxers
ugracef_info=Cada sistema de fitxers té un periode de gràcia per a les quotes de blocs i fitxers. El periode de gràcia determina quant temps pot estar un usuari per damunt del límit de programari abans no se li permeti de seguir creant fitxers.
ugracef_graces=Períodes de Gràcia d'Usuari de <tt>$1</tt>
ugracef_block=De la quota de blocs
ugracef_file=De la quota de fitxers
ugracef_update=Actualitza

ugraces_esave=No he pogut desar els períodes de gràcia
ugraces_eedit=No pots editar els períodes de gràcia d'aquest sistema de fitxers
ugraces_enumber='$1' no és un número

lusers_failed=No he pogut llistar els usuaris
lusers_eallow=No tens permís per editar les quotes d'aquest sistema de fitxers
lusers_title=Quotes de Sistema de Fitxers
lusers_return=a la llista de sistemes de fitxers
lusers_toomany=Hi ha massa usuaris amb quotes a <tt>$1</tt> per mostrar-los en una sola pàgina
lusers_qoutas=Totes les quotes d'usuaris de <tt>$1</tt>
lusers_blocks=Blocs
lusers_files=Fitxers
lusers_user=Usuari
lusers_used=Usat
lusers_soft=Límit Lax
lusers_hard=Límit Estricte
lusers_noquota=No hi ha cap usuari amb quotes a <tt>$1</tt>
lusers_equota=Edita la Quota de:
lusers_egrace=Edita els Períodes de Gràcia
lusers_check=Comprova les Quotes
lusers_info=Webmin es pot configurar per establir automàticament les quotes d'aquest sistema de fitxers quan es crea un nou usuari Unix. Això funcionarà només quan es faci servir el mòdul $1 de Webmin per afegir usuaris.
lusers_useradmin=Usuaris i Grups
lusers_newuser=Noves Quotes d'Usuari
lusers_sblimit=Límit Lax de Blocs
lusers_hblimit=Límit Estricte de Blocs
lusers_sflimit=Límit Lax de Fitxers
lusers_hflimit=Límit Estricte de Fitxers
lusers_apply=Aplica

grace_seconds=Segons
grace_minutes=Minuts
grace_hours=Hores
grace_days=Dies
grace_weeks=Setmanes
grace_months=Mesos

log_activate_u=He activat les quotes d'usuari a $1
log_activate_g=He activat les quotes de grup a $1
log_activate_ug=He activat les quotes d'usuari i grup a $1
log_deactivate_u=He desactivat les quotes d'usuari a $1
log_deactivate_g=He desactivat les quotes de grup a $1
log_deactivate_ug=He desactivat les quotes d'usuari i grup a $1
log_save=He canviat les quotes de $1 a $2
log_sync=He canviat les noves quotes d'usuari a $1
log_grace_u=He canviat els períodes de gràcia d'usuari a $1
log_grace_g=He canviat els períodes de gràcia de grup a $1
log_check=He comprovat les quotes de $1
log_copy_u=He copiat les quotes de l'usuari $1
log_copy_g=He copiat les quotes del grup $1


   0707010000bbc0000081a40000000000000002000000013d1fe2cb00002176000000200000000000000000000000000000001400000003reloc/quota/lang/en   quota_unlimited=Unlimited

acl_fss=Filesystems this user can edit
acl_fall=All filesystems
acl_fsel=Selected..
acl_quotaon=Can enable and disable quotas?
acl_quotanew=Can configure quotas for new users?
acl_ugrace=Can edit user grace times?
acl_vtotal=Can view total disk space?
acl_ggrace=Can edit group grace times?
acl_uquota=Users this user can edit quotas for
acl_gquota=Groups this user can edit quotas for
acl_uall= All users
acl_uonly= Only users
acl_uexcept= All except users
acl_ugroup= Users with primary group
acl_gall= All groups
acl_gnone= No groups
acl_gonly= Only groups
acl_gexcept= All except groups
acl_uuid=Users with UID in range
acl_maxblocks=Maximum grantable block quota
acl_maxfiles=Maximum grantable file quota
acl_unlimited=Unlimited

activate_eallow=You are not allowed to enable or disable quotas on this filesystem
activate_eon=Failed to turn on quotas
activate_eoff=Failed to turn off quotas

check_title=Check Quotas
check_return=$1 list
check_ecannot=You cannot check quotas on this filesystem
check_running=The <tt>quotacheck</tt> command is now being run to check the block and file usage on <tt>$1</tt>. This may take a long time for a very large filesystem...
check_done=... Done. 
check_rgroup=group
check_ruser=user

cgroup_efail=Failed to copy quotas
cgroup_ecannot=You cannot copy quotas
cgroup_egallow=You are not allowed to copy the quotas of this group
cgroup_enogroup=No groups to copy to
cgroup_eallowto=You are not allowed to copy quotas to '$1'

cgform_title=Copy Quotas
cgform_return=group quota
cgform_ecannot=You cannot copy quotas
cgform_egroup=You are not allowed to copy the quotas of this group
cgform_copyto=Copy quotas for <tt>$1</tt> on ALL filesystems to ...
cgform_all=All groups on your system
cgform_select=Selected groups
cgform_contain=Groups containing users
cgform_doit=Copy

cuser_efail=Failed to copy quotas
cuser_ecannot=You cannot copy quotas
cuser_euallow=You are not allowed to copy the quotas of this user
cuser_enouser=No users to copy to
cuser_eallowto=You are not allowed to copy quotas to '$1'

cuform_title=Copy Quotas
cuform_return=user quota
cuform_ecannot=You cannot copy quotas
cuform_euallow=You are not allowed to copy the quotas of this user
cuform_copyto=Copy quotas for <tt>$1</tt> on ALL filesystems to ...
cuform_all=All users on your system
cuform_select=Selected users
cuform_members=Members of selected groups
cuform_doit=Copy

egroup_title=Edit Quota
egroup_freturn=filesystem list
egroup_greturn=group list
egroup_eallowgr=You are not allowed to edit quotas for '$1'
egroup_eallowfs=You are not allowed to edit quotas on this filesystem
egroup_quotas=Quota for <tt>$1</tt> on <tt>$2</tt>
egroup_bused=Blocks Used
egroup_sblimit=Soft Block Limit
egroup_hblimit=Hard Block Limit
egroup_fused=Files Used
egroup_sflimit=Soft File Limit
egroup_hflimit=Hard File Limit
egroup_update=Update
egroup_listall=List All Quotas

euser_title=Edit Quota
euser_freturn=filesystem list
euser_ureturn=user list
euser_eallowus=You are not allowed to edit quotas for '$1'
euser_eallowfs=You are not allowed to edit quotas on this filesystem
euser_quotas=Quota for <tt>$1</tt> on <tt>$2</tt>
euser_bused=Blocks Used
euser_bdisk=Available Blocks on Disk
euser_sblimit=Soft Block Limit
euser_hblimit=Hard Block Limit
euser_fused=Files Used
euser_fdisk=Available Files on Disk
euser_sflimit=Soft File Limit
euser_hflimit=Hard File Limit
euser_update=Update
euser_listall=List All Quotas

gfilesys_title=Group Quotas
gfilesys_return=filesystems list
gfilesys_ecannot=You cannot edit quotas for '$1'
gfilesys_all=All Quotas for $1
gfilesys_blocks=Blocks
gfilesys_files=Files
gfilesys_fs=Filesystem
gfilesys_used=Used
gfilesys_soft=Soft Limit
gfilesys_hard=Hard Limit
gfilesys_nogquota=Group <tt>$1</tt> does not have quotas on any filesystem
gfilesys_edit=Edit Quota On:
gfilesys_copy=Copy Quotas

ggracef_title=Grace Times
ggracef_return=group list
ggracef_ecannot=You cannot edit grace times on this filesystem
ggracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a group can remain over the soft limit before no more files are allowed to be created. 
ggracef_graces=Group Grace Times for <tt>$1</tt>
ggracef_block=For block quota
ggracef_file=For file quota
ggracef_update=Update

ggraces_esave=Failed to save grace times
ggraces_eedit=You cannot edit grace times on this filesystem
ggraces_enumber='$1' is not a number

index_quser=User Quotas
index_qgroup=Group Quotas
index_qboth=User and Group Quotas
index_active=Active
index_disable=Disable Quotas
index_inactive=Inactive
index_enable=Enable Quotas
index_mountonly=Can only enable at mount
index_title=Disk Quotas
index_fs=Filesystem
index_type=Type
index_mount=Mounted From
index_status=Status
index_action=Action
index_return=index
index_euser=Edit User Quotas:
index_egroup=Edit Group Quotas:
index_nosupport=No local filesystems can support quotas

lgroups_failed=Failed to list groups
lgroups_eallow=You are not allowed to edit quotas on this filesystem
lgroups_title=Filesystem Quotas
lgroups_return=filesystems list
lgroups_toomany=Too many groups have quotas on <tt>$1</tt> to display on one page
lgroups_quotas=All Group Quotas on <tt>$1</tt>
lgroups_blocks=Blocks
lgroups_files=Files
lgroups_group=Group
lgroups_used=Used
lgroups_soft=Soft Limit
lgroups_hard=Hard Limit
lgroups_noquota=No groups have quotas on <tt>$1</tt>
lgroups_equota=Edit Quota For:
lgroups_grace=Edit Grace Times
lgroups_check=Check Quotas

sgroup_egroup=You are not allowed to edit quotas for this group
sgroup_efs=You are not allowed to edit quotas on this filesystem

ssync_ecannot=You cannot set the default quota for this filesystem

suser_euser=You are not allowed to edit quotas for this user
suser_efs=You are not allowed to edit quotas on this filesystem
suser_emaxblocks=You are not allowed to grant block limits above $1
suser_emaxfiles=You are not allowed to grant file limits above $1

ufilesys_title=User Quotas
ufilesys_return=filesystems list
ufilesys_ecannot=You cannot edit quotas for '$1'
ufilesys_all=All Quotas for <tt>$1</tt>
ufilesys_blocks=Blocks
ufilesys_files=Files
ufilesys_fs=Filesystem
ufilesys_used=Used
ufilesys_soft=Soft Limit
ufilesys_hard=Hard Limit
ufilesys_nouquota=User <tt>$1</tt> does not have quotas on any filesystem
ufilesys_edit=Edit Quota On:
ufilesys_copy=Copy Quotas

ugracef_title=Grace Times
ugracef_return=user list
ugracef_ecannot=You cannot edit grace times on this filesystem
ugracef_info=Each filesystem has a grace time for block and file quotas. The grace time determines how long a user can remain over the soft limit before no more files are allowed to be created. 
ugracef_graces=User Grace Times for <tt>$1</tt>
ugracef_block=For block quota
ugracef_file=For file quota
ugracef_update=Update

ugraces_esave=Failed to save grace times
ugraces_eedit=You cannot edit grace times on this filesystem
ugraces_enumber='$1' is not a number

lusers_failed=Failed to list users
lusers_eallow=You are not allowed to edit quotas on this filesystem
lusers_title=Filesystem Quotas
lusers_return=filesystems list
lusers_toomany=Too many users have quotas on <tt>$1</tt> to display on one page
lusers_qoutas=All User Quotas on <tt>$1</tt>
lusers_blocks=Blocks
lusers_files=Files
lusers_user=User
lusers_used=Used
lusers_soft=Soft Limit
lusers_hard=Hard Limit
lusers_noquota=No users have quotas on <tt>$1</tt>
lusers_equota=Edit Quota For:
lusers_egrace=Edit Grace Times
lusers_check=Check Quotas
lusers_info=Webmin can be configured to automatically set the quotas on this filesystem when a new Unix user is created. This will only work when the $1 Webmin module is used to add users.
lusers_useradmin=Users and Groups
lusers_newuser=New User Quotas
lusers_sblimit=Soft Block Limit
lusers_hblimit=Hard Block Limit
lusers_sflimit=Soft File Limit
lusers_hflimit=Hard File Limit
lusers_apply=Apply

grace_seconds=Seconds
grace_minutes=Minutes
grace_hours=Hours
grace_days=Days
grace_weeks=Weeks
grace_months=Months

log_activate_u=Enabled user quotas on $1
log_activate_g=Enabled group quotas on $1
log_activate_ug=Enabled user and group quotas on $1
log_deactivate_u=Disabled user quotas on $1
log_deactivate_g=Disabled group quotas on $1
log_deactivate_ug=Disabled user and group quotas on $1
log_save=Changed quotas for $1 on $2
log_sync=Changed new user quotas on $1
log_grace_u=Changed user grace times on $1
log_grace_g=Changed group grace times on $1
log_check=Checked quotas on $1
log_copy_u=Copied user $1's quotas
log_copy_g=Copied group $1's quotas

  0707010000bbc1000081a40000000000000002000000013d1fe2cb000025ee000000200000000000000000000000000000001400000003reloc/quota/lang/es   quota_unlimited=Ilimitada

acl_fss=Sistemas de archivo que este usuario puede editar
acl_fall=Todos los sistemas de archivo
acl_fsel=Los seleccionados...
acl_quotaon=¿Puede activar y desactivar las cuotas?
acl_quotanew=¿Puede configurar cuotas para nuevos usuarios?
acl_ugrace=¿Puede editar tiempos de gracia de usuarios?
acl_vtotal=¿Puede ver espacio total en disco?
acl_ggrace=¿Puede editar tiempos de gracia de grupos?
acl_uquota=Usuarios a los que este usuario puede editar cuotas
acl_gquota=Grupos a los que este usuario puede editar cuotas
acl_uall= Todos los usuarios
acl_uonly= Sólo los usuarios
acl_uexcept= Todos excepto los usuarios
acl_ugroup= Usuarios con grupo primario
acl_gall= Todos los grupos
acl_gnone= Ningún grupo
acl_gonly= Sólo los grupos
acl_gexcept= Todos excepto los grupos

activate_eallow=No estás autorizado a activar o desactivar cuotas en este sistema de archivos
activate_eon=No pude encender las cuotas
activate_eoff=No pude apagar las cuotas

check_title=Revisar Cuotas
check_return=lista $1
check_ecannot=No puedes revisar cuotas en este sistema de archivos
check_running=El comando <tt>quotacheck</tt> se está ejecutando ahora para revisar el bloque y uso de archivo en <tt>$1</tt>. Esto puede llevar un largo tiempo si el sistema de archivos es muy grande...
check_done=... Hecho.
check_rgroup=grupo
check_ruser=usuario

cgroup_efail=No pude copiar las cuotas
cgroup_ecannot=No puedes copiar las cuotas
cgroup_egallow=No estás autorizado a copiar las cuotas de este grupo
cgroup_enogroup=No hay grupos a donde copiar
cgroup_eallowto=No estás autorizado a copiar cuotas a '$1'

cgform_title=Copiar Cuotas
cgform_return=Cuota de grupo
cgform_ecannot=No puedes copiar cuotas
cgform_egroup=No estás autorizado a copiar las cuotas de este grupo
cgform_copyto=Copiar cuotas para <tt>$1</tt> en TODOS los sistemas de archivo a..
cgform_all=Todos los grupos en tu sistema
cgform_select=Grupos seleccionados
cgform_contain=Grupos conteniendo usuarios
cgform_doit=Copiar

cuser_efail=No pude copiar cuotas
cuser_ecannot=No puedes copiar cuotas
cuser_euallow=No estás autorizado a copiar las cuotas de este usuario
cuser_enouser=No hay usuarios a donde copiar
cuser_eallowto=No esta autorizado a copiar cuotas a '$1'

cuform_title=Copiar Cuotas
cuform_return=cuota de usuario
cuform_ecannot=No puedes copiar cuotas
cuform_euallow=No estás autorizado a copiar las cuotas de este usuario
cuform_copyto=Copiar cuotas para <tt>$1</tt> en TODOS los sistemas de archivo a...
cuform_all=Todos los usuarios en tu sistema
cuform_select=Usuarios seleccionados
cuform_members=Miembros del grupos selectos
cuform_doit=Copiar

egroup_title=Editar Cuota
egroup_freturn=lista de sistemas de archivo
egroup_greturn=lista de grupos
egroup_eallowgr=No estás autorizado a editar cuotas para '$1'
egroup_eallowfs=No estás autorizado a editar cuotas en este sistema de archivos
egroup_quotas=Cuota para <tt>$1</tt> en <tt>$2</tt>
egroup_bused=Bloques Usados
egroup_sblimit=Límite de Bloques por Soft
egroup_hblimit=Límite de Bloques por Hard
egroup_fused=Archivos Usados
egroup_sflimit=Límite de Archivos por Soft
egroup_hflimit=Límite de Archivos por Hard
egroup_update=Actualizar
egroup_listall=Listar Todas las Cuotas

euser_title=Editar Cuota
euser_freturn=lista de sistemas de archivo
euser_ureturn=lista de usuarios
euser_eallowus=No estás autorizado a editar cuotas para '$1'
euser_eallowfs=No estás autorizado a editar cuotas en este sistema de archivos
euser_quotas=Cuota para <tt>$1</tt> en <tt>$2</tt>
euser_bused=Bloques Usados
euser_bdisk=Bloques Disponibles en Disco
euser_sblimit=Límite de Bloques por Soft
euser_hblimit=Límite de Bloques por Hard
euser_fused=Archivos Usados
euser_fdisk=Archivos Disponibles en Disco
euser_sflimit=Límite de Archivos por Soft
euser_hflimit=Límite de Archivos por Hard
euser_update=Actualizar
euser_listall=Listar Todas las Cuotas

gfilesys_title=Cuotas de Grupo
gfilesys_return=lista de sistemas de archivo
gfilesys_ecannot=No puedes editar cuotas para '$1'
gfilesys_all=Todas las Cuotas para
gfilesys_blocks=Bloques
gfilesys_files=Archivos
gfilesys_fs=Sistema de Archivos
gfilesys_used=Usado
gfilesys_soft=Límite por Soft
gfilesys_hard=Límite por Hard
gfilesys_nogquota=El grupo <tt>$1</tt> no tiene cuotas en ningún sistema de archivos
gfilesys_edit=Editar Cuota En:
gfilesys_copy=Copiar Cuotas

ggracef_title=Tiempos de Gracia
ggracef_return=lista de grupos
ggracef_ecannot=No puedes editar tiempos de gracia en este sistema de archivos
ggracef_info=Cada sistema de archivos tiene un tiempo de gracia para las cuotas de bloques y archivos. El tiempo de gracia determina cuánto puede un grupo permanecer sobre el límite de soft antes de que no se le permita crear más archivos.
ggracef_graces=Tiempos de Gracia de Grupo para <tt>$1</tt>
ggracef_block=Para cuota de bloque
ggracef_file=Para cuota de archivo
ggracef_update=Actualizar

ggraces_esave=No pude salvar tiempos de gracia
ggraces_eedit=No puedes editar tiempos de gracia en este sistema de archivos
ggraces_enumber='$1' no es un número

index_quser=Cuotas de Usuario
index_qgroup=Cuotas de Grupo
index_qboth=Cuotas de Usuario y Grupo
index_active= Activa
index_disable=Desactivar Cuotas
index_inactive= Inactiva
index_enable=Activar Cuotas
index_title=Cuotas de Disco
index_fs=Sistema de Archivos
index_type=Tipo
index_mount=Montado Desde
index_status=Estado
index_action=Acción
index_return=índice
index_euser=Editar Cuotas de Usuario:
index_egroup=Editar Cuotas de Grupo:
index_nosupport=No hay sistemas de archivo locales que puedan soportar cuotas

lgroups_failed=No pude listar grupos
lgroups_eallow=No estás autorizado a editar cuotas en este sistema de archivos
lgroups_title=Cuotas de Sistema de Archivos
lgroups_return=listar sistema de archivos
lgroups_toomany=Demasiados grupos tienen cuotas en <tt>$1</tt> para mostrarlas en una página
lgroups_quotas=Todas las Cuotas de Grupo en <tt>$1</tt>
lgroups_blocks=Bloques
lgroups_files=Archivos
lgroups_group=Grupos
lgroups_used=Usado
lgroups_soft=Límite por Soft
lgroups_hard=Límite por Hard
lgroups_noquota=No hay grupos que tengan cuotas en <tt>$1</tt>
lgroups_equota=Editar Cuota Para:
lgroups_egrace=Editar Tiempos de Gracia
lgroups_check=Revisar Cuotas

sgroup_egroup=No estás autorizado a editar las cuotas para este grupo
sgroup_efs=No estás autorizado a editar las cuotas en este sistema de archivos

ssync_ecannot=No puedes poner la cuota por defecto para este sistema de archivos

suser_euser=No estás autorizado a editar las cuotas de este usuario
suser_efs=No estás autorizado a editar las cuotas en este sistema de archivos

ufilesys_title=Cuotas de Usuario
ufilesys_return=lista de sistema de archivos
ufilesys_ecannot=No puedes editar cuotas para '$1'
ufilesys_all=Todas las Cuotas para <tt>$1</tt>
ufilesys_blocks=Bloques
ufilesys_files=Archivos
ufilesys_fs=Sistema de Archivos
ufilesys_used=Usado
ufilesys_soft=Límite por Soft
ufilesys_hard=Límite por Hard
ufilesys_nouquota=El usuario <tt>$1</tt> no tiene cuotas en este sistema de archivos
ufilesys_edit=Editar Cuota En:
ufilesys_copy=Copiar Cuotas

ugracef_title=Tiempos de Gracia
ugracef_return=lista de usuarios
ugracef_ecannot=No puedes editar tiempos de gracia en este sistema de archivos
ugracef_info=Cada sistema de archivos tiene un tiempo de gracia para las cuotas de bloque y de archivo. El tiempo de gracia determina cuánto puede permanecer un usuario sobre el límite de soft antes de que no se le permita crear más archivos.
ugracef_graces=Tiempos de Gracia de Usuario <tt>$1</tt>
ugracef_block=Para cuota de bloque
ugracef_file=Para cuota de archivo
ugracef_update=Actualizar

ugraces_esave=No pude salvar tiempos de gracia
ugraces_eedit=No puedes editar tiempos de gracia en este sistema de archivos
ugraces_enumber='$1' no es un número

lusers_failed=No pude listar usuarios
lusers_eallow=No estás autorizado a editar cuotas en este sistema de archivos
lusers_title=Cuotas de Sistema de Archivos
lusers_return=lista de sistemas de archivo
lusers_toomany=Demasiados usuarios tiene cuotas aquí <tt>$1</tt> para ser mostradas en una página
lusers_qoutas=Todas las Cuotas de Usuario aquí <tt>$1</tt>
lusers_blocks=Bloques
lusers_files=Archivos
lusers_user=Usuario
lusers_used=Usado
lusers_soft=Límite por Soft
lusers_hard=Límite por Hard
lusers_noquota=No hay usuarios que tengan cuotas
lusers_equota=Editar Cuota Para:
lusers_egrace=Editar Tiempos de Gracia
lusers_check=Revisar Cuotas
lusers_info=Webmin puede ser configurado para poner automáticamente las cuotas en este sistema de archivos cada vez que un nuevo usuario de Unix sea creado. Esto sólo funcionará cuando los $1 el módulo de Webmin es utilizado para añadir usarios.
lusers_useradmin=Usuarios y Grupos
lusers_newuser=Nuevas Cuotas de Usuario
lusers_sblimit=Límite de Bloque por Soft
lusers_hblimit=Límite de Bloque por Hard
lusers_sflimit=Límite de Archivo por Soft
lusers_hflimit=Límite de Archivo por Hard
lusers_apply=Aplicar

grace_seconds=Segundos
grace_minutes=Minutos
grace_hours=Horas
grace_days=Días
grace_weeks=Semanas
grace_months=Meses

log_activate_u=Cuotas de usuario activadas en $1
log_activate_g=Cuotas de grupo activadas en $1
log_activate_ug=Cuotas de usuario y grupo activadas en $1
log_deactivate_u=Cuotas de usuario desactivadas en $1
log_deactivate_g=Cuotas de grupo desactivadas en $1
log_deactivate_ug=Cuotas de usuario y grupo desactivadas en $1
log_save=Cuotas cambiadas para $1 en $2
log_sync=Cuotas de nuevo usuario cambiadas en $1
log_grace_u=Cambiados períodos de gracia de usuario en $1
log_grace_g=Cambiados períodos de gracia de grupo en $1
log_check=Revisadas cuotas en $1
log_copy_u=Copiadas cuotas de usuario $1's
log_copy_g=Copiadas cuotas de grupo $1's

  0707010000bbc2000081a40000000000000002000000013d1fe2cb000028b4000000200000000000000000000000000000001400000003reloc/quota/lang/fr   quota_unlimited=Illimité

acl_fss=Systèmes de fichiers que cet utilisateur peut éditer
acl_fall=Tous les systèmes de fichiers
acl_fsel=Sélctionnés ...
acl_quotaon=Peut activer et désactiver les quotas ?
acl_quotanew=Peut configurer les quotas pour les nouveaux utilisateurs ?
acl_ugrace=Peut éditer les délais des utilisateurs ?
acl_vtotal=Peut voir l'espace disque total ?
acl_ggrace=Peut éditer les délais des groupes ?
acl_uquota=Utilisateurs pour lesquels cet utilisateur peut éditer les quotas
acl_gquota=Groupes pour lesquels cet utilisateur peut éditer les quotas
acl_uall= Tous les utilisateurs
acl_uonly= Seulement les utilisateurs
acl_uexcept= Tous les utilisateurs exceptés
acl_ugroup= Utilisateurs avec le groupe primaire
acl_gall= Tous les groupes
acl_gnone= Aucun goupe
acl_gonly= Seulement les groupes
acl_gexcept= Tous les groupes exceptés
acl_uuid=Utilisateurs avec l'UID dans l'intervalle
acl_maxblocks=Quota blocs accordables maximum
acl_maxfiles=Quota fichiers accordables maximum
acl_unlimited=Illimité

activate_eallow=Vous n'avez pas le droit d'activer ou de désactiver les quotas sur ce système de fichiers
activate_eon=Echec de l'activation des quotas
activate_eoff=Echec de la désactivation des quotas

check_title=Vérifier les quotas
check_return=liste $1
check_ecannot=Vous ne pouvez pas vérifier les quotas sur ce système de fichiers
check_running=La commande <tt>quotacheck</tt> est maintenant lancée pour vérifier l'utilisation des blocs et fichiers sur <tt>$1</tt>. Cela peut prendre longtemps pour un système de fichiers très grand ...
check_done=... Fait. 
check_rgroup=groupe
check_ruser=utilisateur

cgroup_efail=Echec de la copie des quotas
cgroup_ecannot=Vous ne pouvez pas copier les quotas
cgroup_egallow=Vous n'avez pas le droit de copier les quotas de ce groupe
cgroup_enogroup=Pas de groupes vers lesquels copier
cgroup_eallowto=Vous n'avez pas le droit de copier les quotas vers '$1'

cgform_title=Copier les quotas
cgform_return=quota de groupe
cgform_ecannot=Vous ne pouvez pas copier les quotas
cgform_egroup=Vous n'avez pas le droit de copier les quotas de ce groupe
cgform_copyto=Copier les quotas de <tt>$1</tt> sur TOUS les systèmes de fichiers vers ...
cgform_all=Tous les groupes sur votre système
cgform_select=Groupes sélectionnés
cgform_contain=Groupes contenant les utilisateurs
cgform_doit=Copier

cuser_efail=Echec de la copie des quotas
cuser_ecannot=Vous ne pouvez pas copier les quotas
cuser_euallow=Vous n'avez pas le droit de copier les quotas de cet utilisateur
cuser_enouser=Pas d'utilisateurs vers lesquels copier
cuser_eallowto=Vous n'avez pas le droit de copier les quotas vers '$1'

cuform_title=Copier les quotas
cuform_return=quota utilisateur
cuform_ecannot=Vous ne pouvez pas copier les quotas
cuform_euallow=Vous n'avez pas le droit de copier les quotas de cet utilisateur
cuform_copyto=Copier les quotas de <tt>$1</tt> sur TOUS les systèmes de fichiers vers ...
cuform_all=Tous les utilisateurs sur votre système
cuform_select=Utilisateurs sélectionnés
cuform_members=Membres des groupes sélectionnés
cuform_doit=Copier

egroup_title=Editer le quota
egroup_freturn=liste des systèmes de fichiers
egroup_greturn=liste des groupes
egroup_eallowgr=Vous n'êtes pas autorisé à éditer les quotas de '$1'
egroup_eallowfs=Vous n'êtes pas autorisé à éditer les quotas sur ce système de fichiers
egroup_quotas=Quota de <tt>$1</tt> sur <tt>$2</tt>
egroup_bused=Blocs utilisés
egroup_sblimit=Limite douce de blocs
egroup_hblimit=Limite dure de blocs
egroup_fused=Fichiers utilisés
egroup_sflimit=Limite douce de fichiers
egroup_hflimit=Limite dure de fichiers
egroup_update=Mise à jour
egroup_listall=Afficher tous les quotas

euser_title=Editer le quota
euser_freturn=liste des systèmes de fichiers
euser_ureturn=liste des utilisateurs
euser_eallowus=Vous n'êtes pas autorisé à éditer les quotas de '$1'
euser_eallowfs=Vous n'êtes pas autorisé à éditer les quotas sur ce système de fichiers
euser_quotas=Quota de <tt>$1</tt> sur <tt>$2</tt>
euser_bused=Blocs utilisés
euser_bdisk=Blocs disponibles sur le disque
euser_sblimit=Limite douce de blocs
euser_hblimit=Limite dure de blocs
euser_fused=Fichiers utilisés
euser_fdisk=Fichiers disponibles sur le disque
euser_sflimit=Limite douce de fichiers
euser_hflimit=Limite dure de fichiers
euser_update=Mise à jour
euser_listall=Afficher tous les quotas

gfilesys_title=Quotas de groupe
gfilesys_return=liste des systèmes de fichiers
gfilesys_ecannot=Vous n'êtes pas autorisé à éditer les quotas de '$1'
gfilesys_all=Tous les quotas pour
gfilesys_blocks=Blocs
gfilesys_files=Fichiers
gfilesys_fs=Système de fichiers
gfilesys_used=Utilisé
gfilesys_soft=Limite douce
gfilesys_hard=Limite dure
gfilesys_nogquota=Le groupe <tt>$1</tt> n'a de quota sur aucun système de fichiers
gfilesys_edit=Editer les quotas sur:
gfilesys_copy=Copier les quotas

ggracef_title=Délais
ggracef_return=liste de groupes
ggracef_ecannot=Vous ne pouvez pas éditer les délais sur ce système de fichiers
ggracef_info=Chaque système de fichiers a un délai pour les quotas de blocs et de fichiers. Le délai détermine combien de temps un groupe peut rester au-dessus de la limite douce avant qu'aucun fichier ne puisse plus être crééer.
ggracef_graces=Délais de groupe de <tt>$1</tt>
ggracef_block=Pour quota bloc
ggracef_file=Pour quota fichier
ggracef_update=Mise à jour

ggraces_esave=Echec de la sauvegarde des délais
ggraces_eedit=Vous ne pouvez pas éditer les délais sur ce système de fichiers
ggraces_enumber='$1' n'est pas un nombre

index_quser=Quotas utilisateurs
index_qgroup=Quotas groupes
index_qboth=Quotas utilisateurs et groupes
index_active=Actifs
index_disable=Désactiver les quotas
index_inactive=Inactifs
index_enable=Activer les quotas
index_title=Quotas disques
index_fs=Système de fichiers
index_type=Type
index_mount=Monté depuis
index_status=Statut
index_action=Action
index_return=index
index_euser=Editer les quotas utilisateur:
index_egroup=Editer les quotas groupe:
index_nosupport=Aucun système de fichiers local ne peut supporter de quotas

lgroups_failed=Echec du listage des groupes
lgroups_eallow=Vous n'êtes pas autorisé à éditer les quotas sur ce système de fichiers
lgroups_title=Quotas des systèmes de fichiers
lgroups_return=liste des systèmes de fichiers
lgroups_toomany=Trop de groupes ont des quotas sur <tt>$1</tt> pour être affichés sur une page
lgroups_quotas=Tous les quotas de groupe sur <tt>$1</tt>
lgroups_blocks=Blocs
lgroups_files=Fichiers
lgroups_group=Groupe
lgroups_used=Utilisés
lgroups_soft=Limite douce
lgroups_hard=Limite dure
lgroups_noquota=Aucun groupe n'a de quotas sur <tt>$1</tt>
lgroups_equota=Editer le quota de:
lgroups_grace=Editer les délais
lgroups_check=Vérifier les quotas

sgroup_egroup=Vous n'êtes pas autorisé à éditer les quotas de ce groupe
sgroup_efs=Vous n'êtes pas autorisé à éditer les quotas de ce système de fichiers

ssync_ecannot=Vous ne pouvez pas régler le quota par défaut de ce système de fichiers

suser_euser=Vous n'êtes pas autorisé à éditer les quotas pour cet utilisateur
suser_efs=Vous n'êtes pas autorisé à éditer les quotas sur ce système de fichiers
suser_emaxblocks=Vous n'êtes pas autorisé à accorder des limites de blocs au-dessus de $1
suser_emaxfiles=Vous n'êtes pas autorisé à accorder des limites de fichiers au-dessus de $1

ufilesys_title=Quotas utilisateur
ufilesys_return=liste de systèmes de fichiers
ufilesys_ecannot=Vous ne pouvez pas éditer les quotas de '$1'
ufilesys_all=Tous les quotas de <tt>$1</tt>
ufilesys_blocks=Blocs
ufilesys_files=Fichiers
ufilesys_fs=Système de fichiers
ufilesys_used=Utilisés
ufilesys_soft=Limite douce
ufilesys_hard=Limite dure
ufilesys_nouquota=L'utilisateur <tt>$1</tt> n'a de quotas sur aucun système de fichiers
ufilesys_edit=Editer le quota sur:
ufilesys_copy=Copier les quotas

ugracef_title=Délais
ugracef_return=liste d'utilisateurs
ugracef_ecannot=Vous ne pouvez pas éditer les délais sur ce système de fichiers
ugracef_info=Chaque système de fichiers a un délai pour les quotas blocs et fichiers. Le délai détermine combien de temps un utilisateur peut rester au-dessus de la limite douce avant qu'il ne soit plus autorisé à créer de fichiers.
ugracef_graces=Délais utilisateur pour <tt>$1</tt>
ugracef_block=Pour le quota blocs
ugracef_file=Pour le quota fichiers
ugracef_update=Mettre à jour

ugraces_esave=Echec de la sauvegarde des délais
ugraces_eedit=Vous ne pouvez pas éditer les délais sur ce système de fichiers
ugraces_enumber='$1' n'est pas un nombre

lusers_failed=Echec du listage des utilisateurs
lusers_eallow=Vous n'avez pas le droit d'éditer les quotas sur ce système de fichiers
lusers_title=Quotas des systèmes de fichiers
lusers_return=liste des systèmes de fichiers
lusers_toomany=Trop d'utilisateurs ont des quotas sur <tt>$1</tt> pour être affichés sur une page
lusers_qoutas=Tous les quotas utilisateur sur <tt>$1</tt>
lusers_blocks=Blocs
lusers_files=Fichiers
lusers_user=Utilisateur
lusers_used=Utilisés
lusers_soft=Limite douce
lusers_hard=Limite dure
lusers_noquota=Aucun utilisateur n'a de quotas sur <tt>$1</tt>
lusers_equota=Editer le quota pour:
lusers_egrace=Editer les délais
lusers_check=Vérifier les quotas
lusers_info=Webmin peut être configuré pour régler automatiquement les quotas sur ce système de fichiers quand un nouvel utilisateur Unix est créé. Ceci fonctionnera seulement si le modules Webmin $1 est utilisé pour ajouter des utilisateurs.
lusers_useradmin=Utilisateurs et groupes
lusers_newuser=Nouveau quota utilisateur
lusers_sblimit=Limite douce de blocs
lusers_hblimit=Limite dure de blocs
lusers_sflimit=Limite douce de fichiers
lusers_hflimit=Limite dure de fichiers
lusers_apply=Appliquer

grace_seconds=Secondes
grace_minutes=Minutes
grace_hours=Heures
grace_days=Jours
grace_weeks=Semaines
grace_months=Mois

log_activate_u=Quotas utilisateur activés sur $1
log_activate_g=Quotas groupe activés sur $1
log_activate_ug=Quotas utilisateur et groupe activés sur $1
log_deactivate_u=Quotas utilisateur désactivés sur $1
log_deactivate_g=Quotas groupe désactivés sur $1
log_deactivate_ug=Quotas utilisateur et groupe désactivés sur $1
log_save=Quotas modifiés pour $1 sur $2
log_sync=Nouveaux quotas utilisateur modifiés sur $1
log_grace_u=Délais utilisateur modifiés sur $1
log_grace_g=Délais groupe modifiés sur $1
log_check=Quotas vérifiés sur $1
log_copy_u=Quotas de l'utilisateur $1 copiés
log_copy_g=Quotas du groupe $1 copiés

0707010000bbc3000081a40000000000000002000000013d1fe2cb000022d4000000200000000000000000000000000000001b00000003reloc/quota/lang/ja_JP.euc    quota_unlimited=ÌµÀ©¸Â

acl_fss=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
acl_fall=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
acl_fsel=ÁªÂò..
acl_quotaon=¥¯¥©¡¼¥¿¤òÍ­¸ú/Ìµ¸ú¤Ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
acl_quotanew=¿·µ¬¥æ¡¼¥¶¤Ë¥¯¥©¡¼¥¿¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_ugrace=¥æ¡¼¥¶¤ÎÍ±Í½»þ´Ö¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_vtotal=¹ç·×¥Ç¥£¥¹¥¯ÎÎ°è¤òÉ½¼¨²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_ggrace=¥°¥ë¡¼¥×¤ÎÍ±Í½»þ´Ö¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_uquota=¤³¤Î¥æ¡¼¥¶¤¬¥¯¥©¡¼¥¿¤òÊÔ½¸²ÄÇ½¤Ê¥æ¡¼¥¶
acl_gquota=¤³¤Î¥æ¡¼¥¶¤¬¥¯¥©¡¼¥¿¤òÊÔ½¸²ÄÇ½¤Ê¥°¥ë¡¼¥×
acl_uall= ¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_uonly= ¼¡¤Î¥æ¡¼¥¶¤Î¤ß
acl_uexcept= ¼¡¤Î¥æ¡¼¥¶°Ê³°¤¹¤Ù¤Æ
acl_ugroup= ¥×¥é¥¤¥Þ¥ê ¥°¥ë¡¼¥×¤Î¥æ¡¼¥¶
acl_gall= ¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
acl_gnone= ¥°¥ë¡¼¥×¤Ê¤·
acl_gonly= ¥°¥ë¡¼¥×¤Î¤ß
acl_gexcept= ¥°¥ë¡¼¥×°Ê³°¤¹¤Ù¤Æ

activate_eallow=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÍ­¸ú/Ìµ¸ú¤Ë¤Ç¤­¤Þ¤»¤ó
activate_eon=¥¯¥©¡¼¥¿¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
activate_eoff=¥¯¥©¡¼¥¿¤òÈó¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

check_title=¥¯¥©¡¼¥¿¤Î¸¡ºº
check_return=$1 ¥ê¥¹¥È
check_ecannot=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤ò¸¡ºº¤Ç¤­¤Þ¤»¤ó
check_running=<tt>quotacheck</tt> ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ<tt>$1</tt>¤Î¥Ö¥í¥Ã¥¯¤È¥Õ¥¡¥¤¥ë»ÈÍÑÎ¨¤òÄ´¤Ù¤Þ¤¹¡£¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤¬Èó¾ï¤ËÂç¤­¤¤¾ì¹ç¤Ï¤«¤Ê¤ê»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹...
check_done=... ´°Î»¤·¤Þ¤·¤¿¡£ 
check_rgroup=¥°¥ë¡¼¥×
check_ruser=¥æ¡¼¥¶

cgroup_efail=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cgroup_ecannot=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cgroup_egallow=¤³¤Î¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cgroup_enogroup=¥³¥Ô¡¼¤¹¤ë¥°¥ë¡¼¥×¤¬¤¢¤ê¤Þ¤»¤ó
cgroup_eallowto='$1' ¤Ë¥¯¥©¡¼¥¿¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó

cgform_title=¥¯¥©¡¼¥¿¤Î¥³¥Ô¡¼
cgform_return=¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿
cgform_ecannot=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cgform_egroup=¤³¤Î¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cgform_copyto=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç<tt>$1</tt> ¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼...
cgform_all=¥·¥¹¥Æ¥à¤Î¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
cgform_select=ÁªÂò¤µ¤ì¤¿¥°¥ë¡¼¥×
cgform_contain=¥æ¡¼¥¶¤ò´Þ¤à¥°¥ë¡¼¥×
cgform_doit=¥³¥Ô¡¼

cuser_efail=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cuser_ecannot=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cuser_euallow=¤³¤Î¥æ¡¼¥¶¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cuser_enouser=¥³¥Ô¡¼¤¹¤ë¥æ¡¼¥¶¤¬¤¢¤ê¤Þ¤»¤ó
cuser_eallowto='$1' ¤Ë¥¯¥©¡¼¥¿¤Ï¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó

cuform_title=¥¯¥©¡¼¥¿¤Î¥³¥Ô¡¼
cuform_return=¥æ¡¼¥¶ ¥¯¥©¡¼¥¿
cuform_ecannot=¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cuform_euallow=¤³¤Î¥æ¡¼¥¶¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó
cuform_copyto=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç<tt>$1</tt> ¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼...
cuform_all=¥·¥¹¥Æ¥à¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
cuform_select=ÁªÂò¤µ¤ì¤¿¥æ¡¼¥¶
cuform_members=ÁªÂò¤µ¤ì¤¿¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼
cuform_doit=¥³¥Ô¡¼

egroup_title=¥¯¥©¡¼¥¿¤ÎÊÔ½¸
egroup_freturn=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
egroup_greturn=¥°¥ë¡¼¥× ¥ê¥¹¥È
egroup_eallowgr='$1' ¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
egroup_eallowfs=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
egroup_quotas=<tt>$1</tt>¤Î¥¯¥©¡¼¥¿(<tt>$2</tt>)
egroup_bused=»ÈÍÑ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯
egroup_sblimit=¥½¥Õ¥È ¥Ö¥í¥Ã¥¯À©¸Â
egroup_hblimit=¥Ï¡¼¥É ¥Ö¥í¥Ã¥¯À©¸Â
egroup_fused=»ÈÍÑ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
egroup_sflimit=¥½¥Õ¥È ¥Õ¥¡¥¤¥ëÀ©¸Â
egroup_hflimit=¥Ï¡¼¥É ¥Õ¥¡¥¤¥ëÀ©¸Â
egroup_update=¹¹¿·
egroup_listall=¤¹¤Ù¤Æ¤Î¥¯¥©¡¼¥¿¤ò¥ê¥¹¥È

euser_title=¥¯¥©¡¼¥¿¤ÎÊÔ½¸
euser_freturn=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
euser_ureturn=¥æ¡¼¥¶ ¥ê¥¹¥È
euser_eallowus='$1' ¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
euser_eallowfs=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
euser_quotas=<tt>$1</tt>¤Î¥¯¥©¡¼¥¿(<tt>$2</tt>)
euser_bused=»ÈÍÑ¤µ¤ì¤¿¥Ö¥í¥Ã¥¯
euser_bdisk=¥Ç¥£¥¹¥¯¤Ç»ÈÍÑ²ÄÇ½¤Ê¥Ö¥í¥Ã¥¯
euser_sblimit=¥½¥Õ¥È ¥Ö¥í¥Ã¥¯À©¸Â
euser_hblimit=¥Ï¡¼¥É ¥Ö¥í¥Ã¥¯À©¸Â
euser_fused=»ÈÍÑ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
euser_fdisk=¥Ç¥£¥¹¥¯¤Ç»ÈÍÑ²ÄÇ½¤Ê¥Õ¥¡¥¤¥ë
euser_sflimit=¥½¥Õ¥È ¥Õ¥¡¥¤¥ëÀ©¸Â
euser_hflimit=¥Ï¡¼¥É ¥Õ¥¡¥¤¥ëÀ©¸Â
euser_update=¹¹¿·
euser_listall=¤¹¤Ù¤Æ¤Î¥¯¥©¡¼¥¿¤ò¥ê¥¹¥È

gfilesys_title=¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿
gfilesys_return=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
gfilesys_ecannot='$1' ¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
gfilesys_all=¤¹¤Ù¤Æ¤Î¥¯¥©¡¼¥¿
gfilesys_blocks=¥Ö¥í¥Ã¥¯
gfilesys_files=¥Õ¥¡¥¤¥ë
gfilesys_fs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
gfilesys_used=»ÈÍÑºÑ
gfilesys_soft=¥½¥Õ¥ÈÀ©¸Â
gfilesys_hard=¥Ï¡¼¥ÉÀ©¸Â
gfilesys_nogquota=¥°¥ë¡¼¥×<tt>$1</tt> ¤Ï¤¤¤º¤ì¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤â¥¯¥©¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó
gfilesys_edit=¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
gfilesys_copy=¥¯¥©¡¼¥¿¤Î¥³¥Ô¡¼

ggracef_title=Í±Í½»þ´Ö
ggracef_return=¥°¥ë¡¼¥× ¥ê¥¹¥È
ggracef_ecannot=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤ÏÍ±Í½´ü´Ö¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ggracef_info=³Æ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ë¤Ï¥Ö¥í¥Ã¥¯¤È¥Õ¥¡¥¤¥ë ¥¯¥©¡¼¥¿¤ÎÍ±Í½»þ´Ö¤¬¤¢¤ê¤Þ¤¹¡£Í±Í½»þ´Ö¤Ï¡¢¤½¤ì°Ê¾å¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¤¥½¥Õ¥ÈÀ©¸Â¾å¤Ç¥°¥ë¡¼¥×¤¬Â¸Â³¤Ç¤­¤ë»þ´Ö¤òÄêµÁ¤·¤Þ¤¹¡£ 
ggracef_graces=<tt>$1</tt> ¤Î¥°¥ë¡¼¥×Í±Í½»þ´Ö
ggracef_block=¥Ö¥í¥Ã¥¯ ¥¯¥©¡¼¥¿
ggracef_file=¥Õ¥¡¥¤¥ë ¥¯¥©¡¼¥¿
ggracef_update=¹¹¿·

ggraces_esave=Í±Í½»þ´Ö¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ggraces_eedit=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤ÏÍ±Í½´ü´Ö¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ggraces_enumber='$1' ¤Ï¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

index_quser=¥æ¡¼¥¶ ¥¯¥©¡¼¥¿
index_qgroup=¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿
index_qboth=¥æ¡¼¥¶¤È¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿
index_active=¥¢¥¯¥Æ¥£¥Ö
index_disable=¥¯¥©¡¼¥¿¤òÌµ¸ú
index_inactive=Èó¥¢¥¯¥Æ¥£¥Ö
index_enable=¥¯¥©¡¼¥¿¤òÍ­¸ú
index_title=¥Ç¥£¥¹¥¯ ¥¯¥©¡¼¥¿
index_fs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
index_type=¼ïÎà
index_mount=¥Þ¥¦¥ó¥È¸µ
index_status=¥¹¥Æ¡¼¥¿¥¹
index_action=¥¢¥¯¥·¥ç¥ó
index_return=¥¤¥ó¥Ç¥Ã¥¯¥¹
index_euser=¥æ¡¼¥¶ ¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
index_egroup=¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
index_nosupport=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ï¥¯¥©¡¼¥¿¤ò¥µ¥Ý¡¼¥È¤Ç¤­¤Þ¤»¤ó

lgroups_failed=¥°¥ë¡¼¥×¤ò¥ê¥¹¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
lgroups_eallow=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
lgroups_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥¯¥©¡¼¥¿
lgroups_return=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
lgroups_toomany=1 ¥Ú¡¼¥¸¤ÇÉ½¼¨¤¹¤ë¤Ë¤Ï<tt>$1</tt> ¤Ç¥¯¥©¡¼¥¿¤ò»ý¤Ä¥°¥ë¡¼¥×¤¬Â¿¤¹¤®¤Þ¤¹
lgroups_quotas=<tt>$1</tt> ¤Î¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥× ¥¯¥©¡¼¥¿
lgroups_blocks=¥Ö¥í¥Ã¥¯
lgroups_files=¥Õ¥¡¥¤¥ë
lgroups_group=¥°¥ë¡¼¥×
lgroups_used=»ÈÍÑºÑ
lgroups_soft=¥½¥Õ¥ÈÀ©¸Â
lgroups_hard=¥Ï¡¼¥ÉÀ©¸Â
lgroups_noquota=<tt>$1</tt> ¤Ç¥¯¥©¡¼¥¿¤ò»ý¤Ä¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó
lgroups_equota=¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
lgroups_grace=Í±Í½»þ´Ö¤òÊÔ½¸
lgroups_check=¥¯¥©¡¼¥¿¤ò¸¡ºº

sgroup_egroup=¤³¤Î¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
sgroup_efs=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó

ssync_ecannot=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È ¥¯¥©¡¼¥¿¤òÀßÄê¤Ç¤­¤Þ¤»¤ó

suser_euser=¤³¤Î¥æ¡¼¥¶¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
suser_efs=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó

ufilesys_title=¥æ¡¼¥¶ ¥¯¥©¡¼¥¿
ufilesys_return=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
ufilesys_ecannot='$1' ¤Î¥¯¥©¡¼¥¿¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ufilesys_all=¤¹¤Ù¤Æ¤Î¥¯¥©¡¼¥¿ <tt>$1</tt>
ufilesys_blocks=¥Ö¥í¥Ã¥¯
ufilesys_files=¥Õ¥¡¥¤¥ë
ufilesys_fs=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à
ufilesys_used=»ÈÍÑºÑ
ufilesys_soft=¥½¥Õ¥ÈÀ©¸Â
ufilesys_hard=¥Ï¡¼¥ÉÀ©¸Â
ufilesys_nouquota=¥æ¡¼¥¶<tt>$1</tt> ¤Ï¤¤¤º¤ì¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤â¥¯¥©¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó
ufilesys_edit=¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
ufilesys_copy=¥¯¥©¡¼¥¿¤Î¥³¥Ô¡¼

ugracef_title=Í±Í½»þ´Ö
ugracef_return=¥æ¡¼¥¶ ¥ê¥¹¥È
ugracef_ecannot=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤ÏÍ±Í½´ü´Ö¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ugracef_info=³Æ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ë¤Ï¥Ö¥í¥Ã¥¯¤È¥Õ¥¡¥¤¥ë ¥¯¥©¡¼¥¿¤ÎÍ±Í½»þ´Ö¤¬¤¢¤ê¤Þ¤¹¡£Í±Í½»þ´Ö¤Ï¡¢¤½¤ì°Ê¾å¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¤¥½¥Õ¥ÈÀ©¸Â¾å¤Ç¥æ¡¼¥¶¤¬Â¸Â³¤Ç¤­¤ë»þ´Ö¤òÄêµÁ¤·¤Þ¤¹¡£ 
ugracef_graces=<tt>$1</tt> ¤Î¥æ¡¼¥¶Í±Í½»þ´Ö
ugracef_block=¥Ö¥í¥Ã¥¯ ¥¯¥©¡¼¥¿
ugracef_file=¥Õ¥¡¥¤¥ë ¥¯¥©¡¼¥¿
ugracef_update=¹¹¿·

ugraces_esave=Í±Í½»þ´Ö¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ugraces_eedit=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤ÏÍ±Í½´ü´Ö¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
ugraces_enumber='$1' ¤Ï¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

lusers_failed=¥æ¡¼¥¶¤ò¥ê¥¹¥È¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
lusers_eallow=¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ç¤Ï¥¯¥©¡¼¥¿¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
lusers_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥¯¥©¡¼¥¿
lusers_return=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Î¥ê¥¹¥È
lusers_toomany=1 ¥Ú¡¼¥¸¤ÇÉ½¼¨¤¹¤ë¤Ë¤Ï<tt>$1</tt>¤Ç¥¯¥©¡¼¥¿¤ò»ý¤Ä¥æ¡¼¥¶¤¬Â¿¤¹¤®¤Þ¤¹
lusers_qoutas=<tt>$1</tt> ¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶ ¥¯¥©¡¼¥¿
lusers_blocks=¥Ö¥í¥Ã¥¯
lusers_files=¥Õ¥¡¥¤¥ë
lusers_user=¥æ¡¼¥¶
lusers_used=»ÈÍÑºÑ
lusers_soft=¥½¥Õ¥ÈÀ©¸Â
lusers_hard=¥Ï¡¼¥ÉÀ©¸Â
lusers_noquota=<tt>$1</tt> ¤Ç¥¯¥©¡¼¥¿¤ò»ý¤Ä¥æ¡¼¥¶¤Ï¤¢¤ê¤Þ¤»¤ó
lusers_equota=¥¯¥©¡¼¥¿¤ÎÊÔ½¸:
lusers_egrace=Í±Í½»þ´Ö¤ÎÊÔ½¸
lusers_check=¥¯¥©¡¼¥¿¤Î¸¡ºº
lusers_info=¿·µ¬¤Î Unix ¥æ¡¼¥¶¤¬ºîÀ®¤µ¤ì¤¿¤È¤­¤Ë¤³¤Î¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤Ë¼«Æ°Åª¤Ë¥¯¥©¡¼¥¿¤òÀßÄê¤¹¤ë¤è¤¦¤Ë Webmin ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥æ¡¼¥¶¤òÄÉ²Ã¤¹¤ë¤¿¤á¤Ë $1 Webmin ¥â¥¸¥å¡¼¥ë¤¬»ÈÍÑ¤µ¤ì¤¿¤È¤­¤Ë¤Î¤ßÆ°ºî¤·¤Þ¤¹¡£
lusers_useradmin=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×
lusers_newuser=¿·µ¬¤Î¥æ¡¼¥¶ ¥¯¥©¡¼¥¿
lusers_sblimit=¥½¥Õ¥È ¥Ö¥í¥Ã¥¯À©¸Â
lusers_hblimit=¥Ï¡¼¥É ¥Ö¥í¥Ã¥¯À©¸Â
lusers_sflimit=¥½¥Õ¥È ¥Õ¥¡¥¤¥ëÀ©¸Â
lusers_hflimit=¥Ï¡¼¥É ¥Õ¥¡¥¤¥ëÀ©¸Â
lusers_apply=Å¬ÍÑ

grace_seconds=ÉÃ
grace_minutes=Ê¬
grace_hours=»þ
grace_days=Æü
grace_weeks=½µ
grace_months=·î

log_activate_u=$1 ¤Ç¥æ¡¼¥¶¤Î¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤·¤¿
log_activate_g=$1 ¤Ç¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤·¤¿
log_activate_ug=$1 ¤Ç¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤òÍ­¸ú¤Ë¤·¤Þ¤·¤¿
log_deactivate_u=$1 ¤Ç¥æ¡¼¥¶¤Î¥¯¥©¡¼¥¿¤òÌµ¸ú¤Ë¤·¤Þ¤·¤¿
log_deactivate_g=$1 ¤Ç¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤òÌµ¸ú¤Ë¤·¤Þ¤·¤¿
log_deactivate_ug=$1 ¤Ç¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤Î¥¯¥©¡¼¥¿¤òÌµ¸ú¤Ë¤·¤Þ¤·¤¿
log_save=$2 ¾å¤Î$1 ¤Î¥¯¥©¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_sync=$1 ¤Ç¿·µ¬¤Î¥æ¡¼¥¶ ¥¯¥©¡¼¥¿¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_grace_u=$1 ¤Ç¥æ¡¼¥¶Í±Í½»þ´Ö¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_grace_g=$1 ¤Ç¥°¥ë¡¼¥×Í±Í½»þ´Ö¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_check=$1 ¤Ç¥¯¥©¡¼¥¿¤ò¸¡ºº¤·¤Þ¤·¤¿
log_copy_u=¥æ¡¼¥¶ $1 ¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿
log_copy_g=¥°¥ë¡¼¥× $1 ¤Î¥¯¥©¡¼¥¿¤ò¥³¥Ô¡¼¤·¤Þ¤·¤¿

0707010000bbc4000081a40000000000000002000000013d1fe2cb000020de000000200000000000000000000000000000001b00000003reloc/quota/lang/ko_KR.euc    quota_unlimited=Á¦ÇÑ ¾øÀ½

acl_fss=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â ÆÄÀÏ ½Ã½ºÅÛ
acl_fall=¸ðµç ÆÄÀÏ ½Ã½ºÅÛ
acl_fsel=¼±ÅÃÇÑ ÆÄÀÏ ½Ã½ºÅÛ..
acl_quotaon=ÇÒ´ç·®À» »ç¿ë °¡´É/»ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_quotanew=»õ »ç¿ëÀÚÀÇ ÇÒ´ç·®À» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_ugrace=»ç¿ëÀÚ À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_vtotal=ÃÑ µð½ºÅ© °ø°£À» º¼ ¼ö ÀÖ½À´Ï±î?
acl_ggrace=±×·ì À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_uquota=ÀÌ »ç¿ëÀÚ¿¡ ÀÇÇÑ ÇÒ´ç·® ÆíÁýÀÌ °¡´ÉÇÑ »ç¿ëÀÚ
acl_gquota=ÀÌ »ç¿ëÀÚ¿¡ ÀÇÇÑ ÇÒ´ç·® ÆíÁýÀÌ °¡´ÉÇÑ ±×·ì
acl_uall= ¸ðµç »ç¿ëÀÚ
acl_uonly= »ç¿ëÀÚ¸¸
acl_uexcept= »ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
acl_ugroup= ÁÖ ±×·ìÀÌ ÀÖ´Â »ç¿ëÀÚ
acl_gall= ¸ðµç ±×·ì
acl_gnone= ±×·ì ¾øÀ½
acl_gonly= ±×·ì¸¸
acl_gexcept= ±×·ìÀ» Á¦¿ÜÇÑ ¸ðµÎ

activate_eallow=ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ÇÒ´ç·®À» »ç¿ë °¡´É/»ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù
activate_eon=ÇÒ´ç·®À» È°¼ºÈ­ ¸øÇß½À´Ï´Ù
activate_eoff=ÇÒ´ç·®À» ºñ È°¼ºÈ­ÇÏÁö ¸øÇß½À´Ï´Ù

check_title=ÇÒ´ç·® °Ë»ç
check_return=$1 ¸ñ·Ï
check_ecannot=ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ÇÒ´ç·®À» °Ë»çÇÒ ¼ö ¾ø½À´Ï´Ù
check_running=<tt>$1</tt>ÀÇ ºí·Ï ¹× ÆÄÀÏ »ç¿ëÀ» °Ë»çÇÏ´Â <tt>quotacheck</tt> ¸í·ÉÀÌ ½ÇÇàµÇ°í ÀÖ½À´Ï´Ù. ´ëÇü ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ¸¹Àº ½Ã°£ÀÌ °É¸± ¼ö ÀÖ½À´Ï´Ù...
check_done=... ¿Ï·áµÇ¾ú½À´Ï´Ù. 
check_rgroup=±×·ì
check_ruser=»ç¿ëÀÚ

cgroup_efail=ÇÒ´ç·®À» º¹»çÇÏÁö ¸øÇß½À´Ï´Ù
cgroup_ecannot=ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cgroup_egallow=ÀÌ ±×·ìÀÇ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cgroup_enogroup=º¹»çÇÒ ±×·ìÀÌ ¾ø½À´Ï´Ù
cgroup_eallowto='$1'¿¡ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù

cgform_title=ÇÒ´ç·® º¹»ç
cgform_return=±×·ì ÇÒ´ç·®
cgform_ecannot=ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cgform_egroup=ÀÌ ±×·ìÀÇ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cgform_copyto=¸ðµç ÆÄÀÏ ½Ã½ºÅÛÀÇ <tt>$1</tt>¿¡ ´ëÇØ ÇÒ´ç·®À» º¹»çÇÒ ´ë»ó...
cgform_all=½Ã½ºÅÛÀÇ ¸ðµç ±×·ì
cgform_select=¼±ÅÃÇÑ ±×·ì
cgform_contain=»ç¿ëÀÚ°¡ Æ÷ÇÔµÈ ±×·ì
cgform_doit=º¹»ç

cuser_efail=ÇÒ´ç·®À» º¹»çÇÏÁö ¸øÇß½À´Ï´Ù
cuser_ecannot=ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cuser_euallow=ÀÌ »ç¿ëÀÚÀÇ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cuser_enouser=º¹»çÇÒ »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù
cuser_eallowto='$1'¿¡ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù

cuform_title=ÇÒ´ç·® º¹»ç
cuform_return=»ç¿ëÀÚ ÇÒ´ç·®
cuform_ecannot=ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cuform_euallow=ÀÌ »ç¿ëÀÚÀÇ ÇÒ´ç·®À» º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù
cuform_copyto=¸ðµç ÆÄÀÏ ½Ã½ºÅÛÀÇ <tt>$1</tt>¿¡ ´ëÇØ ÇÒ´ç·®À» º¹»çÇÒ ´ë»ó...
cuform_all=½Ã½ºÅÛÀÇ ¸ðµç »ç¿ëÀÚ
cuform_select=¼±ÅÃÇÑ »ç¿ëÀÚ
cuform_members=¼±ÅÃÇÑ ±×·ìÀÇ ±¸¼º¿ø
cuform_doit=º¹»ç

egroup_title=ÇÒ´ç·® ÆíÁý
egroup_freturn=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
egroup_greturn=±×·ì ¸ñ·Ï
egroup_eallowgr='$1'ÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
egroup_eallowfs=ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
egroup_quotas=<tt>$1</tt>ÀÇ <tt>$2</tt>¿¡ ´ëÇÑ ÇÒ´ç·®
egroup_bused=»ç¿ëµÈ ºí·Ï
egroup_sblimit=¼ÒÇÁÆ® ºí·Ï Á¦ÇÑ
egroup_hblimit=ÇÏµå ºí·Ï Á¦ÇÑ
egroup_fused=»ç¿ëµÈ ÆÄÀÏ
egroup_sflimit=¼ÒÇÁÆ® ÆÄÀÏ Á¦ÇÑ
egroup_hflimit=ÇÏµå ÆÄÀÏ Á¦ÇÑ
egroup_update=¾÷µ¥ÀÌÆ®
egroup_listall=¸ðµç ÇÒ´ç·® ³ª¿­

euser_title=ÇÒ´ç·® ÆíÁý
euser_freturn=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
euser_ureturn=»ç¿ëÀÚ ¸ñ·Ï
euser_eallowus='$1'ÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
euser_eallowfs=ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
euser_quotas=<tt>$1</tt>ÀÇ <tt>$2</tt>¿¡ ´ëÇÑ ÇÒ´ç·®
euser_bused=»ç¿ëµÈ ºí·Ï
euser_bdisk=»ç¿ë °¡´ÉÇÑ µð½ºÅ© ºí·Ï
euser_sblimit=¼ÒÇÁÆ® ºí·Ï Á¦ÇÑ
euser_hblimit=ÇÏµå ºí·Ï Á¦ÇÑ
euser_fused=»ç¿ëµÈ ÆÄÀÏ
euser_fdisk=»ç¿ë °¡´ÉÇÑ µð½ºÅ© ÆÄÀÏ
euser_sflimit=¼ÒÇÁÆ® ÆÄÀÏ Á¦ÇÑ
euser_hflimit=ÇÏµå ÆÄÀÏ Á¦ÇÑ
euser_update=¾÷µ¥ÀÌÆ®
euser_listall=¸ðµç ÇÒ´ç·® ³ª¿­

gfilesys_title=±×·ì ÇÒ´ç·®
gfilesys_return=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
gfilesys_ecannot='$1'ÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
gfilesys_all=´ÙÀ½¿¡ ´ëÇÑ ¸ðµç ÇÒ´ç·®
gfilesys_blocks=ºí·Ï
gfilesys_files=ÆÄÀÏ
gfilesys_fs=ÆÄÀÏ ½Ã½ºÅÛ
gfilesys_used=»ç¿ëµÊ
gfilesys_soft=¼ÒÇÁÆ® Á¦ÇÑ
gfilesys_hard=ÇÏµå Á¦ÇÑ
gfilesys_nogquota=±×·ì <tt>$1</tt>Àº(´Â) ¾Æ¹« ÆÄÀÏ ½Ã½ºÅÛ¿¡µµ ÇÒ´ç·®À» °¡ÁöÁö ¾Ê½À´Ï´Ù
gfilesys_edit=ÇÒ´ç·® ÆíÁý ´ë»ó:
gfilesys_copy=ÇÒ´ç·® º¹»ç

ggracef_title=À¯¿¹ ±â°£
ggracef_return=±×·ì ¸ñ·Ï
ggracef_ecannot=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ggracef_info=°¢ ÆÄÀÏ ½Ã½ºÅÛ¸¶´Ù ºí·Ï ¹× ÆÄÀÏ ÇÒ´ç·®¿¡ ´ëÇÑ À¯¿¹ ±â°£ÀÌ ÀÖ½À´Ï´Ù. À¯¿¹ ±â°£Àº ÆÄÀÏÀ» ´õ ÀÛ¼ºÇÒ ¼ö ¾øÀ» ¶§±îÁö ±×·ìÀÌ ¼ÒÇÁÆ® Á¦ÇÑ »óÅÂ·Î À¯ÁöµÇ´Â ±â°£ÀÔ´Ï´Ù. 
ggracef_graces=<tt>$1</tt>ÀÇ ±×·ì À¯¿¹ ±â°£
ggracef_block=ºí·Ï ÇÒ´ç·®ÀÇ °æ¿ì
ggracef_file=ÆÄÀÏ ÇÒ´ç·®ÀÇ °æ¿ì
ggracef_update=¾÷µ¥ÀÌÆ®

ggraces_esave=À¯¿¹ ±â°£À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ggraces_eedit=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ggraces_enumber='$1'Àº(´Â) ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù

index_quser=»ç¿ëÀÚ ÇÒ´ç·®
index_qgroup=±×·ì ÇÒ´ç·®
index_qboth=»ç¿ëÀÚ ¹× ±×·ì ÇÒ´ç·®
index_active=È°¼º »óÅÂÀÔ´Ï±î?
index_disable=ÇÒ´ç·® »ç¿ë ºÒ´É
index_inactive=ºñÈ°¼º
index_enable=ÇÒ´ç·® »ç¿ë °¡´É
index_title=µð½ºÅ© ÇÒ´ç·®
index_fs=ÆÄÀÏ ½Ã½ºÅÛ
index_type=À¯Çü
index_mount=¸¶¿îÆ® ¼Ò½º
index_status=»óÅÂ
index_action=µ¿ÀÛ
index_return=ÀÎµ¦½º
index_euser=»ç¿ëÀÚ ÇÒ´ç·® ÆíÁý:
index_egroup=±×·ì ÇÒ´ç·® ÆíÁý:
index_nosupport=ÇÒ´ç·®À» Áö¿øÇÒ ¼ö ÀÖ´Â ·ÎÄÃ ÆÄÀÏ ½Ã½ºÅÛÀÌ ¾ø½À´Ï´Ù

lgroups_failed=±×·ìÀ» ³ª¿­ÇÏÁö ¸øÇß½À´Ï´Ù
lgroups_eallow=ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­´Â ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
lgroups_title=ÆÄÀÏ ½Ã½ºÅÛ ÇÒ´ç·®
lgroups_return=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
lgroups_toomany=<tt>$1</tt>¿¡ ÇÒ´ç·®ÀÌ ÀÖ´Â ±×·ìÀÌ ³Ê¹« ¸¹¾Æ ÇÑ ÆäÀÌÁö¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù
lgroups_quotas=<tt>$1</tt>ÀÇ ¸ðµç ±×·ì ÇÒ´ç·®
lgroups_blocks=ºí·Ï
lgroups_files=ÆÄÀÏ
lgroups_group=±×·ì
lgroups_used=»ç¿ëµÊ
lgroups_soft=¼ÒÇÁÆ® Á¦ÇÑ
lgroups_hard=ÇÏµå Á¦ÇÑ
lgroups_noquota=<tt>$1</tt>¿¡ ÇÒ´ç·®ÀÌ ÀÖ´Â ±×·ìÀÌ ¾ø½À´Ï´Ù
lgroups_equota=ÇÒ´ç·® ÆíÁý ´ë»ó:
lgroups_grace=À¯¿¹ ±â°£ ÆíÁý
lgroups_check=ÇÒ´ç·® °Ë»ç

sgroup_egroup=ÀÌ ±×·ìÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
sgroup_efs=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

ssync_ecannot=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ±âº» ÇÒ´ç·®À» ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù

suser_euser=ÀÌ »ç¿ëÀÚÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
suser_efs=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

ufilesys_title=»ç¿ëÀÚ ÇÒ´ç·®
ufilesys_return=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
ufilesys_ecannot='$1'ÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ufilesys_all=<tt>$1</tt>ÀÇ ¸ðµç ÇÒ´ç·®
ufilesys_blocks=ºí·Ï
ufilesys_files=ÆÄÀÏ
ufilesys_fs=ÆÄÀÏ ½Ã½ºÅÛ
ufilesys_used=»ç¿ëµÊ
ufilesys_soft=¼ÒÇÁÆ® Á¦ÇÑ
ufilesys_hard=ÇÏµå Á¦ÇÑ
ufilesys_nouquota=»ç¿ëÀÚ <tt>$1</tt>Àº(´Â) ¾Æ¹« ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­µµ ÇÒ´ç·®À» °¡ÁöÁö ¾Ê½À´Ï´Ù
ufilesys_edit=ÇÒ´ç·® ÆíÁý ´ë»ó:
ufilesys_copy=ÇÒ´ç·® º¹»ç

ugracef_title=À¯¿¹ ±â°£
ugracef_return=»ç¿ëÀÚ ¸ñ·Ï
ugracef_ecannot=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ugracef_info=°¢ ÆÄÀÏ ½Ã½ºÅÛ¸¶´Ù ºí·Ï ¹× ÆÄÀÏ ÇÒ´ç·®¿¡ ´ëÇÑ À¯¿¹ ±â°£ÀÌ ÀÖ½À´Ï´Ù. À¯¿¹ ±â°£Àº ÆÄÀÏÀ» ´õ ÀÛ¼ºÇÒ ¼ö ¾øÀ» ¶§±îÁö »ç¿ëÀÚ°¡ ¼ÒÇÁÆ® Á¦ÇÑ »óÅÂ·Î À¯ÁöµÇ´Â ±â°£ÀÔ´Ï´Ù. 
ugracef_graces=<tt>$1</tt>ÀÇ »ç¿ëÀÚ À¯¿¹ ±â°£
ugracef_block=ºí·Ï ÇÒ´ç·®ÀÇ °æ¿ì
ugracef_file=ÆÄÀÏ ÇÒ´ç·®ÀÇ °æ¿ì
ugracef_update=¾÷µ¥ÀÌÆ®

ugraces_esave=À¯¿¹ ±â°£À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ugraces_eedit=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ À¯¿¹ ±â°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
ugraces_enumber='$1'Àº(´Â) ¼ýÀÚ°¡ ¾Æ´Õ´Ï´Ù 

lusers_failed=»ç¿ëÀÚ¸¦ ³ª¿­ÇÏÁö ¸øÇß½À´Ï´Ù
lusers_eallow=ÀÌ ÆÄÀÏ ½Ã½ºÅÛÀÇ ÇÒ´ç·®À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
lusers_title=ÆÄÀÏ ½Ã½ºÅÛ ÇÒ´ç·®
lusers_return=ÆÄÀÏ ½Ã½ºÅÛ ¸ñ·Ï
lusers_toomany=<tt>$1</tt>¿¡ ÇÒ´ç·®ÀÌ ÀÖ´Â ±×·ìÀÌ ³Ê¹« ¸¹¾Æ¼­ ÇÑ ÆäÀÌÁö¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù
lusers_qoutas=<tt>$1</tt>ÀÇ ¸ðµç »ç¿ëÀÚ ÇÒ´ç·®
lusers_blocks=ºí·Ï
lusers_files=ÆÄÀÏ
lusers_user=»ç¿ëÀÚ
lusers_used=»ç¿ëµÊ
lusers_soft=¼ÒÇÁÆ® Á¦ÇÑ
lusers_hard=ÇÏµå Á¦ÇÑ
lusers_noquota=<tt>$1</tt>¿¡ ÇÒ´ç·®ÀÌ ÀÖ´Â »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù
lusers_equota=ÇÒ´ç·® ÆíÁý ´ë»ó:
lusers_egrace=À¯¿¹ ±â°£ ÆíÁý
lusers_check=ÇÒ´ç·® °Ë»ç
lusers_info=»õ À¯´Ð½º »ç¿ëÀÚ ÀÛ¼º½Ã ÀÌ ÆÄÀÏ ½Ã½ºÅÛ¿¡¼­ ÇÒ´ç·®ÀÌ ÀÚµ¿À¸·Î ¼³Á¤µÇµµ·Ï WebminÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼ºÀº $1 Webmin ¸ðµâÀÌ »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ´Â µ¥ »ç¿ëµÉ ¶§¸¸ °¡´ÉÇÕ´Ï´Ù.
lusers_useradmin=»ç¿ëÀÚ ¹× ±×·ì
lusers_newuser=»õ »ç¿ëÀÚ ÇÒ´ç·®
lusers_sblimit=¼ÒÇÁÆ® ºí·Ï Á¦ÇÑ
lusers_hblimit=ÇÏµå ºí·Ï Á¦ÇÑ
lusers_sflimit=¼ÒÇÁÆ® ÆÄÀÏ Á¦ÇÑ
lusers_hflimit=ÇÏµå ÆÄÀÏ Á¦ÇÑ
lusers_apply=Àû¿ë

grace_seconds=ÃÊ
grace_minutes=ºÐ
grace_hours=½Ã
grace_days=ÀÏ
grace_weeks=ÁÖ
grace_months=¿ù

log_activate_u=$1ÀÇ »ç¿ëÀÚ ÇÒ´ç·®ÀÌ »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤µÊ
log_activate_g=$1ÀÇ ±×·ì ÇÒ´ç·®ÀÌ »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤µÊ
log_activate_ug=$1ÀÇ »ç¿ëÀÚ ¹× ±×·ì ÇÒ´ç·®ÀÌ »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤µÊ
log_deactivate_u=$1ÀÇ »ç¿ëÀÚ ÇÒ´ç·®ÀÌ »ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤µÊ
log_deactivate_g=$1ÀÇ ±×·ì ÇÒ´ç·®ÀÌ »ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤µÊ
log_deactivate_ug=$1ÀÇ »ç¿ëÀÚ ¹× ±×·ì ÇÒ´ç·®ÀÌ »ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤µÊ
log_save=$2ÀÇ $1¿¡ ´ëÇÑ ÇÒ´ç·® º¯°æµÊ
log_sync=$1ÀÇ »õ »ç¿ëÀÚ ÇÒ´ç·® º¯°æµÊ
log_grace_u=$1ÀÇ »ç¿ëÀÚ À¯¿¹ ±â°£ º¯°æµÊ
log_grace_g=$1ÀÇ ±×·ì À¯¿¹ ±â°£ º¯°æµÊ
log_check=$1ÀÇ ÇÒ´ç·® °Ë»çµÊ
log_copy_u=»ç¿ëÀÚ $1ÀÇ ÇÒ´ç·® º¹»çµÊ
log_copy_g=±×·ì $1ÀÇ ÇÒ´ç·® º¹»çµÊ

  0707010000bbc5000081a40000000000000002000000013d1fe2cb00002551000000200000000000000000000000000000001400000003reloc/quota/lang/nl   quota_unlimited=Onbeperkt

acl_fss=Bestandsystemen die deze gebruiker kan wijzigen
acl_fall=Alle bestandsystemen
acl_fsel=Geselecteerd..
acl_quotaon=Kan quota aan- en uitzetten?
acl_quotanew=Kan quotum configureren voor nieuwe gebruikers?
acl_ugrace=Kan waarschuwingstijd van gebruiker wijzigen?
acl_vtotal=Kan totale schijfcapaciteit zien?
acl_ggrace=Kan waarschuwingstijd van groepen wijzigen?
acl_uquota=Gebruikers, waarvan deze gebruiker het quotum kan wijzigen
acl_gquota=Groepen, waarvan deze gebruiker het quotum kan wijzigen
acl_uall= Alle gebruikers
acl_uonly= Alleen gebruikers
acl_uexcept= Alle gebruikers behalve
acl_ugroup= Gebruikers met primaire groep
acl_gall= Alle groepen
acl_gnone= Geen groepen
acl_gonly= Alleen groepen
acl_gexcept= Alle groepen behalve
acl_uuid=Gebruikers met UID binnen bereik
acl_maxblocks=Maximum toe te wijzen blokquotum
acl_maxfiles=Maximum toe te wijzen bestandsquotum
acl_unlimited=Onbeperkt

activate_eallow=U bent niet gerechtigd quota voor dit bestandssyteem aan- of uit te zetten
activate_eon=Het aanzetten van quota is mislukt
activate_eoff=Het uitzetten van quota is mislukt

check_title=Controleer Quotum
check_return=$1 lijst
check_ecannot=U mag de quota voor dit bestandssyteem niet controleren
check_running=Het <tt>quotacheck</tt> commando wordt nu uitgevoerd om het verbruik aan blokken en bestanden te controleren op <tt>$1</tt>. Dit kan een geruime tijd duren voor een groot bestandssyteem...
check_done=... Klaar. 
check_rgroup=groep
check_ruser=gebruiker

cgroup_efail=Kopieëren van quotum mislukt
cgroup_ecannot=U kunt geen quotum kopieëren
cgroup_egallow=U mag het quotum van deze groep niet kopieëren
cgroup_enogroup=Geen groepen om naar te kopieëren
cgroup_eallowto=U mag geen quotum kopieëren naar '$1'

cgform_title=Kopieër Quotum
cgform_return=groep quotum
cgform_ecannot=U kunt geen quotum kopieëren
cgform_egroup=U mag het quotum van deze groep niet kopieëren
cgform_copyto=Kopieëren van quotum voor <tt>$1</tt> op ALLE bestandsystemen naar ...
cgform_all=Alle groepen op uw systeem
cgform_select=Geselecteerde groepen
cgform_contain=Groepen met gebruikers
cgform_doit=Kopieër

cuser_efail=Kopieëren van quotum mislukt
cuser_ecannot=U kunt geen quotum kopieëren
cuser_euallow=U mag het quotum van deze gebruiker niet kopieëren 
cuser_enouser=Geen gebruikers om naar te kopieëren
cuser_eallowto=U mag geen quotum kopieëren naar '$1'

cuform_title=Kopieër Quotum
cuform_return=gebruiker quotum
cuform_ecannot=U kunt geen quotum kopieëren
cuform_euallow=U mag het quotum van deze gebruiker niet kopieëren
cuform_copyto=Kopieëren van quotum voor <tt>$1</tt> op ALLE bestandsystemen naar ...
cuform_all=Alle gebruikers op uw systeem
cuform_select=Geselecteerde gebruikers
cuform_members=Leden van geselecteerde groepen
cuform_doit=Kopieër

egroup_title=Wijzig Quotum
egroup_freturn=lijst van bestandsysteem
egroup_greturn=groep lijst
egroup_eallowgr=U mag geen quotum wijzigen voor '$1'
egroup_eallowfs=U mag geen quotum wijzigen op dit bestandsysteem
egroup_quotas=Quotum voor <tt>$1</tt> op <tt>$2</tt>
egroup_bused=Gebruikte blokken
egroup_sblimit=Zachte Bloklimiet
egroup_hblimit=Harde Bloklimiet
egroup_fused=Gebruikte Bestanden
egroup_sflimit=Zachte Bestandslimiet
egroup_hflimit=Harde Bestandslimiet
egroup_update=Wijzig
egroup_listall=Lijst Alle Quota

euser_title=Wijzig Quotum
euser_freturn=bestandsysteem lijst
euser_ureturn=gebruikers lijst
euser_eallowus=U mag geen quotum wijzigen voor '$1'
euser_eallowfs=U mag geen quotum wijzigen op dit bestandsysteem
euser_quotas=Quotum voor <tt>$1</tt> op <tt>$2</tt>
euser_bused=Gebruikte blokken
euser_bdisk=Beschikbare Blokken op Disk
euser_sblimit=Zachte Bloklimiet
euser_hblimit=Harde Bloklimiet
euser_fused=Gebruikte Bestanden
euser_fdisk=Beschikbare Bestanden op Disk
euser_sflimit=Zachte Bestandslimiet
euser_hflimit=Harde Bestandslimiet
euser_update=Wijzig
euser_listall=Lijst Alle Quota

gfilesys_title=Groep Quota
gfilesys_return=bestandsystemen lijst
gfilesys_ecannot=U kan geen quotum wijzigen voor '$1'
gfilesys_all=Alle Quota voor 
gfilesys_blocks=Blokken
gfilesys_files=Bestanden
gfilesys_fs=Bestandsysteem
gfilesys_used=Gebruikt
gfilesys_soft=Zachte Limiet
gfilesys_hard=Harde Limiet
gfilesys_nogquota=Groep <tt>$1</tt> quota op geen enkel bestandsysteem
gfilesys_edit=Wijzig Quotum Op:
gfilesys_copy=Kopieër Quota

ggracef_title=Waarschuwingstijd
ggracef_return=groepslijst
ggracef_ecannot=U mag de waarschuwingstijd niet wijzigen op dit bestandsysteem
ggracef_info=Elk bestandsysteem heeft een waarschuwingstijd voor blok- and bestandsquota. De waarschuwingstijd bepaalt hoe lang een groep boven de zachte limiet kan zijn voordat er geen bestanden meer kunnen worden aangemaakt. 
ggracef_graces=Groeps waarschuwingstijd voor <tt>$1</tt>
ggracef_block=Voor Blokquotum
ggracef_file=Voor Bestandsquotum
ggracef_update=Wijzigen

ggraces_esave=Opslaan waarschuwingstijd mislukt
ggraces_eedit=U kunt de waarschuwingstijd niet wijzigen op dit bestandsysteem
ggraces_enumber='$1' is geen getal

index_quser=Gebruikers Quota
index_qgroup=Groeps Quota
index_qboth=Gebruikers- and Groeps Quota
index_active=Aktief
index_disable=Quota Uitzetten
index_inactive=Inaktief
index_enable=Quota Aanzetten
index_title=Disk Quota
index_fs=Bestandsysteem
index_type=Type
index_mount=gemount vanaf
index_status=Status
index_action=Aktie
index_return=index
index_euser=Wijzig Gebruikers Quota:
index_egroup=Wijzig Groeps Quota:
index_nosupport=Geen enkel lokaal bestandsysteem ondersteunt quota

lgroups_failed=Lijst van groepen mislukt
lgroups_eallow=U mag geen quotum wijzigen op dit bestandsysteem
lgroups_title=Bestandsysteem Quota
lgroups_return=bestandsystemen lijst
lgroups_toomany=Te veel groepen hebben quota op <tt>$1</tt> om op één pagina te tonen
lgroups_quotas=Alle Groeps Quota op <tt>$1</tt>
lgroups_blocks=Blokken
lgroups_files=bestanden
lgroups_group=Groep
lgroups_used=gebruikt
lgroups_soft=Zachte Limiet
lgroups_hard=Harde Limiet
lgroups_noquota=Er zijn geen groepen met quota op <tt>$1</tt>
lgroups_equota=Wijzig Quotum For:
lgroups_grace=Wijzig Waarschuwingstijd
lgroups_check=Controleer Quota

sgroup_egroup=U mag geen quotum wijzigen voor deze groep
sgroup_efs=U mag geen quotum wijzigen op dit bestandsysteem

ssync_ecannot=U mag het 'default' quotum voor dit bestandsysteem niet wijzigen

suser_euser=U mag geen quotum wijzigen voor deze gebruiker
suser_efs=U mag het quotum voor dit bestandsysteem niet wijzigen
suser_emaxblocks=U mag geen bloklimiet boven $1 instellen
suser_emaxfiles=U mag geen bestandenlimiet boven $1 instellen

ufilesys_title=Gebruikers Quota
ufilesys_return=bestandsystemen lijst
ufilesys_ecannot=U kan geen quotum wijzigen voor '$1'
ufilesys_all=All Quota voor <tt>$1</tt>
ufilesys_blocks=Blokken
ufilesys_files=Bestanden
ufilesys_fs=Bestandssysteem
ufilesys_used=Gebruikt
ufilesys_soft=Zachte Limiet
ufilesys_hard=Harde Limiet
ufilesys_nouquota=Gebruiker <tt>$1</tt> heeft quota op geen enkel bestandssysteem
ufilesys_edit=Wijzig Quotum Op:
ufilesys_copy=Kopieër Quota

ugracef_title=Waarschuwingstijd
ugracef_return=gebruiker lijst
ugracef_ecannot=U kunt de waarschuwingstijd op dit bestandssysteem niet wijzigen
ugracef_info=Elk bestandsysteem heeft een waarschuwingstijd voor blok- and bestandsquota. De waarschuwingstijd bepaalt hoe lang een groep boven de zachte limiet kan zijn voordat er geen bestanden meer kunnen worden aangemaakt. 
ugracef_graces=Gebruiker Waarschuwingstijd voor <tt>$1</tt>
ugracef_block=Voor blokquotum
ugracef_file=Voor bestandsquotum
ugracef_update=Wijzigen

ugraces_esave=Opslaan waarschuwingstijd mislukt
ugraces_eedit=U kunt de waarschuwingstijd op dit bestandssysteem niet wijzigen
ugraces_enumber='$1' is geen getal

lusers_failed=Gebruikerslijst mislukt
lusers_eallow=U mag geen quotum wijzigen op dit bestandsysteem
lusers_title=Quota Bestandssysteem
lusers_return=bestandsystemen lijst
lusers_toomany=Te veel gebruikers hebben quotum op <tt>$1</tt> om op één pagina te tonen
lusers_qoutas=Quota alle gebruikers op <tt>$1</tt>
lusers_blocks=Blokken
lusers_files=Bestanden
lusers_user=Gebruiker
lusers_used=Gebruikt
lusers_soft=Zachte Limiet
lusers_hard=Harde Limiet
lusers_noquota=Er zijn geen gebruikers met quota op <tt>$1</tt>
lusers_equota=Wijzig Quotum voor:
lusers_egrace=Wijzig Waarschuwingstijd
lusers_check=Controleer Quota
lusers_info=Webmin kan worden geconfigureerd om automatisch de quota te zetten op dit bestandssysteem als een nieuwe Unix gebruiker wordt aangemaakt. Dit werkt alleen als het $1 Webmin module wordt gebruikt om gebruikers aan te maken.
lusers_useradmin=Gebruikers and Groepen
lusers_newuser=Nieuw Gebruikers Quotum
lusers_sblimit=Zachte Blok Limiet
lusers_hblimit=Harde Blok Limiet
lusers_sflimit=Zachte Bestands Limiet
lusers_hflimit=Harde Bestands Limiet
lusers_apply=Toepassen

grace_seconds=Seconden
grace_minutes=Minuten
grace_hours=Uren
grace_days=Dagen
grace_weeks=Weken
grace_months=Maanden

log_activate_u=Gebruikersquota op $1 aangezet
log_activate_g=Groepsquota op $1 aangezet
log_activate_ug=Gebruikers- en groepsquota op $1 aangezet
log_deactivate_u==Gebruikersquota op $1 uitgezet
log_deactivate_g=Groepsquota op $1 uitgezet
log_deactivate_ug=Gebruikers- en groepsquota op $1 uitgezet
log_save=Quota voor $1 op $2 gewijzigd
log_sync=Nieuw gebruikersquotum op $1 gewijzigd
log_grace_u=Gebruikers waarschuwingstijd op $1 gewijzigd
log_grace_g=Groeps waarschuwingstijd op $1 gewijzigd
log_check=Quota op $1 gecontroleerd
log_copy_u=Quota van gebruiker $1 gekopieërd
log_copy_g=Quota van groep $1 gekopieërd

   0707010000bbc6000081a40000000000000002000000013d1fe2cb000026ca000000200000000000000000000000000000001400000003reloc/quota/lang/pl   quota_unlimited=Brak

acl_fss=Systemy plików, które ten u¿ytkownik mo¿e zmieniaæ
acl_fall=Wszystkie
acl_fsel=Wybrane..
acl_quotaon=Mo¿e w³±czaæ i&nbsp;wy³±czaæ quota?
acl_quotanew=Mo¿e zmieniaæ ustawienia quota dla nowych u¿ytkowników?
acl_ugrace=Mo¿e zmieniaæ czasy ulgi dla u¿ytkowników?
acl_vtotal=Mo¿e ogl±daæ ³±czn± ilo¶æ miejsca na dysku?
acl_ggrace=Mo¿e zmieniaæ czasy ulgi dla grup?
acl_uquota=Mo¿e zmieniaæ quota dla u¿ytkowników dla 
acl_gquota=Mo¿e zmieniaæ quota dla grup dla
acl_uall= Wszystkich u¿ytkowników
acl_uonly= Tylko dla u¿ytkowników
acl_uexcept= Wszystkich oprócz u¿ytkowników
acl_ugroup= U¿ytkowników z&nbsp;grup± g³ówn±
acl_gall= Wszystkich grup
acl_gnone= ¯adnej grupy
acl_gonly= Tylko dla grup
acl_gexcept= Wszystkich oprócz grup
acl_uuid=U¿ytkowników o&nbsp;nrach UID z&nbsp;zakresu
acl_maxblocks=Maksymalna nadawana warto¶æ quota dla bloków
acl_maxfiles=Maksymalna nadawana warto¶æ quota dla plikw
acl_unlimited=Nieograniczona

activate_eallow=Nie masz uprawnieñ do w³±czania ani wyl±czania quota dla tego systemu plików
activate_eon=Nie uda³o siê w³±czyæ quota
activate_eoff=Nie uda³o siê wy³±czyæ quota

check_title=Sprawd¼ Quota
check_return=listy $1
check_ecannot=Nie masz uprawnieñ do weryfikacji poprawno¶ci quota na tym systemie plików
check_running=Zosta³ uruchomiony program <tt>quotacheck</tt> w&nbsp;celu zbadania wykorzystania bloków i&nbsp;plików na <tt>$1</tt>. Na du¿ym systemie plików mo¿e to zaj±æ sporo czasu...
check_done=... Zakoñczono. 
check_rgroup=grup
check_ruser=u¿ytkowników

cgroup_efail=Nie uda³o siê skopiowaæ quota
cgroup_ecannot=Nie masz uprawnieñ do kopiowania quota
cgroup_egallow=Nie masz uprawnieñ do kopiowania quota tej grupy
cgroup_enogroup=Nie podano grup, do których kopiowaæ
cgroup_eallowto=Nie masz uprawnieñ do kopiowania quota do '$1'

cgform_title=Kopiuj quota
cgform_return=quota dla grupy
cgform_ecannot=Nie masz uprawnieñ do kopiowania quota
cgform_egroup=Nie masz uprawnieñ do kopiowania quota tej grupy
cgform_copyto=Kopiuj quota dla <tt>$1</tt> na WSZYSTKICH systemach plików do ...
cgform_all=Wszystkich grup w&nbsp;systemie
cgform_select=Wybranych grup
cgform_contain=Grup zawieraj±cych u¿ytkowników
cgform_doit=Kopiuj

cuser_efail=Nie uda³o siê skopiowaæ quota
cuser_ecannot=Nie masz uprawnieñ do kopiowania quota
cuser_euallow=Nie masz uprawnieñ do kopiowania quota tego u¿ytkownika
cuser_enouser=Nie podano u¿ytkowników, do których kopiowaæ
cuser_eallowto=Nie masz uprawnieñ do kopiowania quota do '$1'

cuform_title=Kopiuj quota
cuform_return=quota dla u¿ytkownika
cuform_ecannot=Nie masz uprawnieñ do kopiowania quota
cuform_euallow=Nie masz uprawnieñ do kopiowania quota tego u¿ytkownika
cuform_copyto=Kopiuj quota dla <tt>$1</tt> na WSZYSTKICH systemach plików do ...
cuform_all=Wszystkich u¿ytkowników systemu
cuform_select=Wybranych u¿ytkowników
cuform_members=Cz³onków wybranych grup
cuform_doit=Kopiuj

egroup_title=Zmieñ quota
egroup_freturn=listy systemów plików
egroup_greturn=listy grup
egroup_eallowgr=Nie masz uprawnieñ do zmiany quota dla '$1'
egroup_eallowfs=Nie masz uprawnieñ do zmiany quota na tym systemie plików
egroup_quotas=Quota dla <tt>$1</tt> na <tt>$2</tt>
egroup_bused=Bloków u¿ywanych
egroup_sblimit=Miêkki limit dla bloków
egroup_hblimit=Twardy limit dla bloków
egroup_fused=Plików u¿ywanych
egroup_sflimit=Miêkki limit dla plików
egroup_hflimit=Twardy limit dla plików
egroup_update=Aktualizuj
egroup_listall=Poka¿ wszystkie quota

euser_title=Zmieñ quota
euser_freturn=listy systemów plików
euser_ureturn=listy u¿ytkowników
euser_eallowus=Nie masz uprawnieñ do zmiany quota dla '$1'
euser_eallowfs=Nie masz uprawnieñ do zmiany quota na tym systemie plików
euser_quotas=Quota dla <tt>$1</tt> na <tt>$2</tt>
euser_bused=Bloków u¿ywanych
euser_bdisk=Bloków dostêpnych na dysku
euser_sblimit=Miêkki limit dla bloków
euser_hblimit=Twardy limit dla bloków
euser_fused=Plików u¿ywanych
euser_fdisk=Plików dostêpnych na dysku
euser_sflimit=Miêkki limit dla plików
euser_hflimit=Twardy limit dla plików
euser_update=Aktualizuj
euser_listall=Poka¿ wszystkie quota

gfilesys_title=Quota dla grup
gfilesys_return=lista systemów plików
gfilesys_ecannot=Nie masz uprawnieñ do zmiany quota dla '$1'
gfilesys_all=Wszystkie quota dla 
gfilesys_blocks=Bloków
gfilesys_files=Plików
gfilesys_fs=System plików
gfilesys_used=U¿ywane
gfilesys_soft=Miêkki limit
gfilesys_hard=Twardy limit
gfilesys_nogquota=Grupa <tt>$1</tt> nie posiada quota na ¿adnym systemie plików
gfilesys_edit=Zmieñ quota na:
gfilesys_copy=Kopiuj quota

ggracef_title=Czasy ulgi
ggracef_return=listy grup
ggracef_ecannot=Nie masz uprawnieñ do zmiany czasów ulgi dla tego systemu plików
ggracef_info=Ka¿dy system plików posiada czas ulgi dla bloków i&nbsp;dla plików. Czas ulgi ukre¶la jak d³ugo miêkki limit mo¿e byæ przekroczony przez grupê, zanim zostanie zablokowana mo¿liwo¶æ tworzenia nowych plików. 
ggracef_graces=Czasy ulgi dla grupy dla <tt>$1</tt>
ggracef_block=Dla quota dla bloków
ggracef_file=Dla quota dla plików
ggracef_update=Aktualizuj

ggraces_esave=Nie uda³o siê zapisaæ czasów ulgi
ggraces_eedit=Nie masz uprawnieñ do zmiany czasów ulgi dla tego systemu plików
ggraces_enumber='$1' nie jest liczb±

index_quser=Quota dla u¿ytkowników
index_qgroup=Quota dla grup
index_qboth=Quota dla u¿ytkowników i&nbsp;grup
index_active=w³±czone
index_disable=Wy³±cz quota
index_inactive=wy³±czone
index_enable=W³±cz quota
index_title=Quota na dyskach
index_fs=System plików
index_type=Rodzaj
index_mount=Rezyduj±cy na
index_status=Stan
index_action=Dzia³anie
index_return=indeksu
index_euser=Zmieñ quota dla u¿ytkownika:
index_egroup=Zmieñ quota dla grupy:
index_nosupport=¯aden lokalny system plików nie obs³uguje quota

lgroups_failed=Nie uda³o siê pokazaæ listy grup
lgroups_eallow=Nie masz uprawnieñ do zmiany quota na tym systemie plików
lgroups_title=Quota na systemie plików
lgroups_return=listy systemów plików
lgroups_toomany=Zbyt wiele grup posiada quota na <tt>$1</tt>, aby wy¶wietliæ je na jednej stronie 
lgroups_quotas=Quota wszystkich grup na <tt>$1</tt>
lgroups_blocks=Bloków
lgroups_files=Plików
lgroups_group=Grup
lgroups_used=U¿ywane
lgroups_soft=Miêkki limit
lgroups_hard=Twardy limit
lgroups_noquota=¯adna grupa nie posiada quota na <tt>$1</tt>
lgroups_equota=Zmieñ quota dla:
lgroups_grace=Zmieñ czasy ulgi
lgroups_check=Sprawd¼ quota

sgroup_egroup=Nie masz uprawnieñ do zmiany quota dla tej grupy
sgroup_efs=Nie masz uprawnieñ do zmiany quota na tym systemie plików

ssync_ecannot=Nie masz uprawnieñ do ustawiania domy¶lnych limitów quota dla tego systemu plikow

suser_euser=Nie masz uprawnieñ do zmiany quota dla tego u¿ytkownika
suser_efs=Nie masz uprawnieñ do zmiany quota na tym systemie plików
suser_emaxblocks=Nie masz uprawnieñ do ustawiania ograniczenia quota dla bloków ponad $1
suser_emaxfiles=Nie masz uprawnieñ do ustawiania ograniczenia quota dla plików ponad $1

ufilesys_title=Quota dla u¿ytkowników
ufilesys_return=listy systemów plików
ufilesys_ecannot=Nie masz uprawnieñ do zmiany quota dla '$1'
ufilesys_all=Wszystkie quota dla <tt>$1</tt>
ufilesys_blocks=Bloków
ufilesys_files=Plików
ufilesys_fs=System plików
ufilesys_used=U¿ywane
ufilesys_soft=Miêkki limit
ufilesys_hard=Twardy limit
ufilesys_nouquota=U¿ytkownik <tt>$1</tt> nie posiada quota na zadnym systemie plików
ufilesys_edit=Zmieñ quota na:
ufilesys_copy=Kopiuj quota

ugracef_title=Czasy ulgi
ugracef_return=listy u¿ytkowników
ugracef_ecannot=Nie masz uprawnieñ do zmiany czasów ulgi dla tego systemu plików
ugracef_info=Ka¿dy system plików posiada czas ulgi dla bloków i&nbsp;plików. Czas ulgi ukre¶la jak d³ugo miêkki limit mo¿e byæ przekroczony przez u¿ytkownika, zanim zostanie zablokowana mo¿liwo¶æ tworzenia nowych plików. 
ugracef_graces=Czasy ulgi dla u¿ytkownika dla <tt>$1</tt>
ugracef_block=Dla quota dla bloków
ugracef_file=Dla quota dla plików
ugracef_update=Aktualizuj

ugraces_esave=Nie uda³o siê zapisaæ czasów ulgi
ugraces_eedit=Nie masz uprawnieñ do zmiany czasów ulgi dla tego systemu plików
ugraces_enumber='$1' nie jest liczb±

lusers_failed=Failed to list users
lusers_eallow=Nie masz uprawnieñ do zmiany quota dla tego systemu plików
lusers_title=Quota dla systemu plików
lusers_return=listy systemów plików
lusers_toomany=Zbyt wielu u¿ytkowników posiada quota na <tt>$1</tt>, aby wy¶wietliæ ich na jednej stronie 
lusers_qoutas=Quota wszystkich u¿ytkowników na <tt>$1</tt>
lusers_blocks=Bloków
lusers_files=Plików
lusers_user=U¿ytkownik
lusers_used=U¿ywane
lusers_soft=Miêkki limit
lusers_hard=Twardy limit
lusers_noquota=¯aden u¿ytkownik nie ma quota na <tt>$1</tt>
lusers_equota=Zmieñ quota dla:
lusers_egrace=Zmieñ czasy ulgi
lusers_check=Sprawd¼ quota
lusers_info=Webmina mo¿na skonfigurowaæ tak, aby automatycznie ustawia³ quota na tym systemie plików podczas tworzenia nowego u¿ytkownika Uniksa. Bêdzie to dzia³aæ jedynie gdy u¿ytkownicy bêd± dodawani przy u¿yciu modu³u Webmina <tt>$1</tt>.
lusers_useradmin=U¿ytkownicy i&nbsp;grupy
lusers_newuser=Quota dla nowego u¿ytkownika
lusers_sblimit=Miêkki limit dla bloków
lusers_hblimit=Twardy limit dla bloków
lusers_sflimit=Miêkki limit dla plików
lusers_hflimit=Twardy limit dla plików
lusers_apply=Zastosuj

grace_seconds=Sekund
grace_minutes=Minut
grace_hours=Godzin
grace_days=Dni
grace_weeks=Tygodni
grace_months=Miesiêcy

log_activate_u=W³±czono quota dla u¿ytkowników na $1
log_activate_g=W³±czono quota dla grup na $1
log_activate_ug=W³±czono quota dla u¿ytkowników i&nbsp;grup na $1
log_deactivate_u=Wy³±czono quota dla u¿ytkowników na $1
log_deactivate_g=Wy³±czono quota dla grup na $1
log_deactivate_ug=Wy³±czono quota dla u¿ytkowników i&nbsp;grup na $1
log_save=Zmieniono quota dla $1 na $2
log_sync=Zmieniono quota dla nowych u¿ytkowników na $1
log_grace_u=Zmieniono czasy ulgi dla u¿ytkowników na $1
log_grace_g=Zmieniono czasy ulgi dla grup na $1
log_check=Sprawdzono quota na $1
log_copy_u=Skopiowano quota u¿ytkownika $1
log_copy_g=Skopiowano quota grupy $1
  0707010000bbc7000081a40000000000000002000000013d1fe2cb0000001a000000200000000000000000000000000000001400000003reloc/quota/lang/pt   quota_unlimited=Ilimitado
  0707010000bbc8000081a40000000000000002000000013d1fe2cb00002127000000200000000000000000000000000000001400000003reloc/quota/lang/sv   quota_unlimited=Obegränsad

acl_fss=Filsystem som denna användare får ändra i
acl_fall=Alla filsystem
acl_fsel=Angivna ...
acl_quotaon=Kunna slå på och av quota?
acl_quotanew=Kunna ställa in quota för nya användare?
acl_ugrace=Kunna ändra tidsintervall för användare?
acl_vtotal=Kunna se totalt diskutrymme?
acl_ggrace=Kunna ändra tidsintervall för grupper?
acl_uquota=Användare som denna användare får ändra quota för
acl_gquota=Grupper som denna användare får ändra quota för
acl_uall= Alla användare
acl_uonly= Endast användarna
acl_uexcept= Alla användare utom
acl_ugroup= Användare med primär grupp
acl_gall= Alla grupper
acl_gnone= Inga grupper
acl_gonly= Endast grupperna
acl_gexcept= Alla grupper utom

activate_eallow=Du får inte slå på och av quota på detta filsystem
activate_eon=Det gick inte att slå på quota
activate_eoff=Det gick inte att slå av quota

check_title=Kontrollera quota
check_return=Lista över $1
check_ecannot=Du får inte kontrollera quota på detta filsystem
check_running=Kommandot <tt>quotacheck</tt> körs nu för att kontrollera block- och filanvändningen på <tt>$1</tt>. Om det är ett stort filsystem kan detta ta en stund ...
check_done=... Klart.
check_rgroup=grupp
check_ruser=användare

cgroup_efail=Det gick inte att kopiera quota
cgroup_ecannot=Du får inte kopiera quota
cgroup_egallow=Du får inte kopiera denna grupps quota
cgroup_enogroup=Du har inte angivit någon grupp att kopiera till
cgroup_eallowto=Du får inte kopiera quota till '$1'

cgform_title=Kopiera quota
cgform_return=gruppquota
cgform_ecannot=Du får inte kopiera quota
cgform_egroup=Du får inte kopiera denna grupps quota
cgform_copyto=Kopiera quota för <tt>$1</tt> på ALLA filsystem till ...
cgform_all=Alla grupper på ditt system
cgform_select=Angivna grupper
cgform_contain=Grupper med följande användare
cgform_doit=Kopiera

cuser_efail=Det gick inte att kopiera quota
cuser_ecannot=Du får inte kopiera quota
cuser_euallow=Du får inte kopiera denna användares quota
cuser_enouser=Du har inte angivit någon användare att kopiera till
cuser_eallowto=Du får inte kopiera quota till '$1'

cuform_title=Kopiera quota
cuform_return=användarquota
cuform_ecannot=Du får inte kopiera quota
cuform_euallow=Du får inte kopiera denna användares quota
cuform_copyto=Kopiera quota för <tt>$1</tt> på ALLA filsystem till ...
cuform_all=Alla användare på ditt system
cuform_select=Angivna användare
cuform_members=Medlemmar i angivna grupper
cuform_doit=Kopiera

egroup_title=Ändra quota
egroup_freturn=filsystemslista
egroup_greturn=grupplista
egroup_eallowgr=Du får inte ändra quota för '$1'
egroup_eallowfs=Du får inte ändra quota på detta filsystem
egroup_quotas=Quota för <tt>$1</tt> på <tt>$2</tt>
egroup_bused=Använda block
egroup_sblimit=Mjuk blockgräns
egroup_hblimit=Hård blockgräns
egroup_fused=Använda filer
egroup_sflimit=Mjuk filgräns
egroup_hflimit=Hård filgräns
egroup_update=Uppdatera
egroup_listall=Lista alla quota

euser_title=Ändra quota
euser_freturn=filsystemslista
euser_ureturn=användarlista
euser_eallowus=Du får inte ändra quota för '$1'
euser_eallowfs=Du får inte ändra quota på detta filsystem
euser_quotas=Quota för <tt>$1</tt> på <tt>$2</tt>
euser_bused=Använda block
euser_sblimit=Mjuk blockgräns
euser_hblimit=Hård blockgräns
euser_fused=Använda filer
euser_sflimit=Mjuk filgräns
euser_hflimit=Hård filgräns
euser_update=Uppdatera
euser_listall=Lista alla quota

gfilesys_title=Gruppquota
gfilesys_return=filsystemslista
gfilesys_ecannot=Du får inte ändra quota för '$1'
gfilesys_all=Alla quota för 
gfilesys_blocks=Block
gfilesys_files=Filer
gfilesys_fs=Filsystem
gfilesys_used=Använda
gfilesys_soft=Mjuk gräns
gfilesys_hard=Hård gräns
gfilesys_nogquota=Gruppen <tt>$1</tt> har ingen quota på något filsystem
gfilesys_edit=Ändra quota på:
gfilesys_copy=Kopiera quota

ggracef_title=Tidsintervall
ggracef_return=grupplista
ggracef_ecannot=Du får inte ändra tidsintervall på detta filsystem
ggracef_info=Varje filsystem har ett tidsintervall för block- och filquota. Detta tidsintervall anger hur länge en grupp får överskrida sin mjuka gräns innan den hindras att skapa fler filer.
ggracef_graces=Grupptidsintervall för <tt>$1</tt>
ggracef_block=För blockquota
ggracef_file=För filquota
ggracef_update=Uppdatera

ggraces_esave=Det gick inte att spara tidsintervall
ggraces_eedit=Du får inte ändra tidsintervall på detta filsystem
ggraces_enumber='$1' är inte ett antal

index_quser=Användarquota
index_qgroup=Gruppquota
index_qboth=Användar- och gruppquota
index_active=Aktiv
index_disable=Slå av quota
index_inactive=Inaktiv
index_enable=Slå på quota
index_title=Diskquota
index_fs=Filsystem
index_type=Typ
index_mount=Monterad från
index_status=Status
index_action=Funktion
index_return=index
index_euser=Ändra användarquota:
index_egroup=Ändra gruppquota:
index_nosupport=Inget lokalt filsystem stödjer quota

lgroups_failed=Det gick inte att lista grupper
lgroups_eallow=Du får inte ändra quota på detta filsystem
lgroups_title=Filsystemsquota
lgroups_return=filsystemslista
lgroups_toomany=Det är för många grupper som har quota på <tt>$1</tt> för att det ska gå att visa på en sida
lgroups_quotas=Alla gruppquota på <tt>$1</tt>
lgroups_blocks=Block
lgroups_files=Filer
lgroups_group=Grupp
lgroups_used=Använd
lgroups_soft=Mjuk gräns
lgroups_hard=Hård gräns
lgroups_noquota=Ingen grupp har quota på <tt>$1</tt>
lgroups_equota=Ändra quota för:
lgroups_grace=Ändra tidsintervall
lgroups_check=Kontrollera quota

sgroup_egroup=Du får inte ändra quota för denna grupp
sgroup_efs=Du får inte ändra quota på detta filsystem

ssync_ecannot=Du får inte ställa in standardquota för detta filsystem

suser_euser=Du får inte ändra quota för denna användare
suser_efs=Du får inte ändra quota på detta filsystem

ufilesys_title=Användarquota
ufilesys_return=filsystemslista
ufilesys_ecannot=Du får inte ändra quota för '$1'
ufilesys_all=All quota för <tt>$1</tt>
ufilesys_blocks=Block
ufilesys_files=Filer
ufilesys_fs=Filsystem
ufilesys_used=Använd
ufilesys_soft=Mjuk gräns
ufilesys_hard=Hård gräns
ufilesys_nouquota=Användare <tt>$1</tt> har ingen quota på något filsystem
ufilesys_edit=Ändra quota på:
ufilesys_copy=Kopiera quota

ugracef_title=Tidsintervall
ugracef_return=användarlista
ugracef_ecannot=Du får inte ändra tidsintervall på detta filsystem
ugracef_info=Varje filsystem har ett tidsintervall för block- och filquota. Detta tidsintervall anger hur länge en användare får överskrida sin mjuka gräns innan den hindras att skapa fler filer.
ugracef_graces=Användartidsintervall för <tt>$1</tt>
ugracef_block=För blockquota
ugracef_file=För filquota
ugracef_update=Uppdatera

ugraces_esave=Det gick inte att spara tidsintervall
ugraces_eedit=Du får inte ändra tidsintervall på detta filsystem
ugraces_enumber='$1' är inte ett antal

lusers_failed=Det gick inte att lista användare
lusers_eallow=Du får inte ändra quota på detta filsystem
lusers_title=Filsystemsquota
lusers_return=filsystemslista
lusers_toomany=Det är för många användare som har quota på <tt>$1</tt> för att det ska gå att visa på en sida
lusers_qoutas=All användarquota på <tt>$1</tt>
lusers_blocks=Block
lusers_files=Filer
lusers_user=Användare
lusers_used=Använd
lusers_soft=Mjuk gräns
lusers_hard=Hård gräns
lusers_noquota=Ingen användare har quota på <tt>$1</tt>
lusers_equota=Ändra quota för:
lusers_egrace=Ändra tidsintervall
lusers_check=Kontrollera quota
lusers_info=Webmin kan ställas in att automatiskt sätta quota på detta filsystem när en ny Unix-användare skapas. Detta fungerar endast då Webmin-modulen $1 används för att lägga till användare.
lusers_useradmin=Användare och grupper
lusers_newuser=Quota för nya användare
lusers_sblimit=Mjuk blockgräns
lusers_hblimit=Hård blockgräns
lusers_sflimit=Mjuk filgräns
lusers_hflimit=Hård filgräns
lusers_apply=Ta i drift

grace_seconds=Sekunder
grace_minutes=Minuter
grace_hours=Timmar
grace_days=Dagar
grace_weeks=Veckor
grace_months=Månader

log_activate_u=Slog på användarquota på $1
log_activate_g=Slog på gruppquota på $1
log_activate_ug=Slog på användar- och gruppquota på $1
log_deactivate_u=Slog av användarquota $1
log_deactivate_g=Slog av gruppquota på $1
log_deactivate_ug=Slog av användar- och gruppquota på $1
log_save=Ändrade quota för $1 på $2
log_sync=Ändrade quota för nya användare på $1
log_grace_u=Ändrade tidsintervall för användare på $1
log_grace_g=Ändrade tidsintervall för grupper på $1
log_check=Kontrollerade quota på $1
log_copy_u=Kopierade användaren $1s quota
log_copy_g=Kopierade gruppen $1s quota

 0707010000bbc9000081a40000000000000002000000013d1fe2cb0000242f000000200000000000000000000000000000001400000003reloc/quota/lang/tr   quota_unlimited=Limitsiz

acl_fss=Dosya sistemleri bu kullanýcý tarafýndan deðiþtirilebilir
acl_quotaon=Kotalarý açýp kapatabilsin?
acl_quotanew=Yeni kullanýcýlar için kotalarý yapýlandýrabilsin?
acl_ugrace=Kullanýcý gecikme zamanlarýný deðiþtirebilsin?
acl_vtotal=Toplan disk kapasitesini görebilsin?
acl_ggrace=Grup gecikme zamanlarýný deðiþtirebilsin?
acl_uquota=Bu kullanýcýnýn kotalarýný deðiþtirebileceði kullanýcýlar
acl_gquota=Bu grubun kotalarýný deðiþtirebileceði kullanýcýlar
acl_uall= Bütün kullanýcýlar
acl_uonly= Sadece bu kullanýcýlar
acl_uexcept= Bu kullanýcýlar hariç
acl_ugroup= Birincil grubundaki kullanýcýlar
acl_gall= Bütün gruplar
acl_gnone= Hiçbir grup
acl_gonly= Sadece bu gruplar
acl_gexpect= Bu gruplar hariç

activate_eallow=Bu dosya sistemindeki kotalarý açýp kapamak için izininiz yoktur
activate_eon=Kotalarýn aktif hale getirilmesinde hata oluþtu
activate_eoff=Kotalarýn kapatýlmasýnda hata oluþtu

check_title=Kotalarý kontrol et
check_return=$1 listesi
check_ecannot=Bu dosya sistemindeki kotalarý kontrol ettiremezsiniz
check_running=<tt>quotacheck</tt> komutu þimdi <tt>$1</tt>'deki dosya ve blok kullanýmlarýný araþtýrýyor. Çok büyük dosya sistemlerinde bu uzun zaman alabilir...
check_done=... Bitti. 
check_rgroup=grup
check_ruser=kullanýcý

cgroup_efail=Kotalarýn kopyalanmasýnda hata oluþtu
cgroup_ecannot=Kotalarý kopyalayamazsýnýz
cgroup_egallow=Bu grubun kotalarýný kopyalamak için izininiz yoktur
cgroup_enogroup=Kopyalanacak grup yok
cgroup_eallowto='$1''e kotalarý kopyalamak için izininiz yoktur

cgform_title=Kotalarý Kopyala
cgform_return=grup kotasý
cgform_ecannot=Kotalarý kopyalayamazýsný
cgform_egroup=Bu grubun kotalarýný kopyalamak için izininiz yoktur
cgform_copyto=Bütün dosya sistemlerinde <tt>$1</tt> için kotalar kopyalanýyor ...
cgform_all=Sistemdeki bütün gruplar
cgform_select=Seçili gruplar
cgform_contain=Kullanýcý içeren gruplar
cgform_doit=Kopyala

cuser_efail=Kotalarýn kopyalanmasýnda hata oluþtu
cuser_ecannot=Kotalarý kopyalayamazsýnýz
cuser_euallow=Bu kullanýcýnýn kotalarýný kopyalamak için izininiz yoktur
cuser_enouser=Kopyalanacak kullanýcý yok
cuser_eallowto='$1'e kotalarý kopyalamak için izininiz yoktur

cuform_title=Kotalarý Kopyala
cuform_return=kullanýcý kotasý
cuform_ecannot=Kotalarý kopyalayamzsýnýz
cuform_euallow=Bu kullanýcý için kopyalarý kopyalamak için izininiz yoktur
cuform_copyto=Bütün dosya sistemlerinde <tt>$1</tt> için kotalar kopyalanýyor ...
cuform_all=Sistemdeki bütün kullanýcýlar
cuform_select=Seçili kullanýcýlar
cuform_members=Seçili grubun üyeleri
cuform_doit=Kopyaa

egroup_title=Kotayý Deðiþtir
egroup_freturn=dosya sistemi listesi
egroup_greturn=grup listesi
egroup_eallowgr='$1'in kotalarýný deðiþtirmek için izininiz yoktur
egroup_eallowfs=Bu dosya sistemindeki kotalarý deðiþtirmek için izininiz yoktur
egroup_quotas=<tt>$2</tt>deki <tt>$1</tt> için Kota
egroup_bused=Kullanýlan Blok
egroup_sblimit=Soft Blok Limiti
egroup_hblimit=Hard Blok Limiti
egroup_fused=Kullanýlan Dosya
egroup_sflimit=Soft Dosya Limiti
egroup_hflimit=Hard Dosya Limiti
egroup_update=Güncelle
egroup_listall=Bütün kotalarý listele

euser_title=Kotayý Deðiþtir
euser_freturn=dosya sistemi listesi
euser_ureturn=kullanýýc listesi
euser_eallowus='$1in kotalarýný deðiþtirmek için izininiz yoktur'
euser_eallowfs=Bu dosya sistemindeki kotalarý deðiþtirmek için izininiz yoktur
euser_quotas=<tt>$2</tt>deki <tt>$1</tt> için Kota
euser_bused=Kullanýlan Blok
euser_sblimit=Soft Blok Limiti
euser_hblimit=Hard Blok Limiti
euser_fused=Kullanýlan Dosya
euser_sflimit=Soft Dosya Limiti
euser_hflimit=Hard Dosya Limiti
euser_update=Güncelle 
euser_listall=Bütün Kotalarý Listele

gfilesys_title=Grup Kotalarý
gfilesys_return=dosyasistemi listesi
gfilesys_ecannot='$1' için kotalarý deðiþtiremezsiniz
gfilesys_all=Bütün Kotalar
gfilesys_blocks=Blok
gfilesys_files=Dosya
gfilesys_fs=Dosa sistemi
gfilesys_used=Kullanýlan
gfilesys_soft=Soft Limit
gfilesys_hard=Hard Limit
gfilesys_nogquota=Grup <tt>$1</tt> bu dosya sisteminde kotaya sahip deðil
gfilesys_edit=Burada Kota Deðiþtir:
gfilesys_copy=Kotalarý Kopyala

ggracef_title=Gecikme Zamanlarý
ggracef_return=grup listesi
ggracef_ecannot=Bu dosya sistemindeki gecikme zamanlarýný deðiþtiremezsiniz.
ggracef_info=Her dosya sistemi blok ve dosya için bir gecikme zamanýna sahiptir. Gecikme zamaný kullanýcýnýn soft limiti aþtýðýnda daha fazla dosya oluþturamadan önceki süreyi belirler.
ggracef_graces=<tt>$1</tt> için Grup Gecikme Zamanlarý
ggracef_block=Blok kotasý için
ggracef_file=Dosya kotasý için
ggracef_update=Güncelle

ggraces_esave=Gecikme zamanlarýnýn kaydedilmesinde hata oluþtu
ggraces_eedit=Bu dosya sistemindeki gecikme zamanlarýný deðiþtiremezsiniz
ggraces_enumber='$1' bir numara deðildir

index_quser=Kullanýcý Kotalarý
index_qgroup=Grup Kotalarý
index_qboth=Kullanýcý ve Grup Kotalarý
index_active=Aktif
index_disable=Kotalarý Kapat
index_inactive=Inaktif
index_enable=Kotalarý Aç
index_title=Disk Kotalarý
index_fs=Dosya sistemi
index_type=Tip
index_mount=Baðlandý
index_status=Durum
index_action=Ýþlem
index_index=indeks
index_euser=Kullanýcý Kotalarýný Deðiþtir:
index_egroup=Grup Kotalarýný Deðiþtir:
index_nosupport=Yerel dosya sisteminde desteklenen kota yok

lgroups_failed=Gruplarýn listelenmesinde hata oluþtu
lgroups_eallow=Bu dosya sisteminde kotalarý deðiþtirmek için izininiz yoktur
lgroups_title=Dosya sistemi kotalarý
lgroups_return=dosya sistemi listesi
lgroups_toomany=<tt>$1</tt>'de 1 sayfada gösterilemeyecek kadar çok kotaya sahip grup var
lgroups_quotas=<tt>$1</tt>'deki Bütün Grup Kotalarý
lgroups_blocks=Blok
lgroups_files=Dosya
lgroups_group=Grup
lgroups_used=Kullanýlan
lgroups_soft=Soft Limit
lgroups_hard=Hard Limit
lgroups_noquota=<tt>$1</tt>'de kotaya sahip grup yok
lgroups_equota=Bunun için kotayý deðiþtir:
lgroups_grace=Gecikme Zamanlarýný Deðiþtir
lgroups_check=Kotalarý Kontrol Et

sgroup_egroup=Bu grubun kotalarý deðiþtirmek için izininiz yoktur
sgroup_efs=Bu dosya sistemindeki kotalarý deðiþtirmek için izininiz yoktur.

save_sync_0=Bu dosya sisteminde öntanýmlý kota oluþturamazsýnýz

suser_euser=Bu kullanýcýnýn kotalarýný deðiþtirmek için izininiz yoktur
suser_efs=Bu dosya sistemindeki kotalarý deðiþtirmek için izininiz yoktur.

ufilesys_title=Kullanýcý Kotalarý
ufilesys_return=dosya sistemleri listesi
ufilesys_ecannot='$1' için kotalarý deðiþtiremezsiniz
ufilesys_all=<tt>$1</tt> için Bütün Kotalar
ufilesys_blocks=Blok
ufilesys_files=Dosya
ufilesys_fs=Dosya Sistemi
ufilesys_used=Kullanýlan
ufilesys_soft=Soft Limit
ufilesys_hard=Hard Limit
ufilesys_nouquota=<tt>$1</tt> kullanýcýsý bu dosya sisteminde herhangi bir kotaya sahip deðildir
ufilesys_edit=Buradaki Kotalarý Deðiþtir:
ufilesys_copy=Kotalarý Kopyala

ugracef_title=Gecikme Zamanlarý
ugracef_return=kullanýcý listesi
ugracef_ecannot=Bu dosya sistemindeki gecikme sürelerini deðiþtiremezsiniz
ugracef_info=Her dosya sistemi blok ve dosya için bir gecikme zamanýna sahiptir. Gecikme zamaný kullanýcýnýn soft limiti aþtýðýnda daha fazla dosya oluþturamadan önceki süreyi belirler.
ugracef_graces=<tt>$1</tt> için Kullanýcý Gecikme Süreleri
ugracef_block=Blok kotalarý için
ugracef_file=Dosya kotalarý için
ugracef_update=Güncelle

ugraces_esave=Gecikme sürelerinin kaydedilmesinde hata oluþtu
ugraces_eedit=Bu dosya sistemindeki gecikme sürelerini deðiþtiremezsiniz
ugraces_enumber='$1' bir sayý deðildir

lusers_failed=Kullanýcýlarýn listelenmesinde hata oluþtu
lusers_eallow=Bu dosya sistemindeki kotalarý deðiþtirmek için izininiz yoktur
lusers_title=Dosya sistemi kotalarý
lusers_return=dosya sistemleri listesi
lusers_toomany=Burada bir sayfada gösterilmeyecek kadar fazla kotaya sahip kullanýcý var
lusers_qoutas=<tt>$1</tt>'deki Bütün Kullanýcý Kotalarý
lusers_blocks=Blok
lusers_files=Dosya
lusers_user=Kullanýcý
lusers_used=Kullanýlan
lusers_soft=Soft Limit
lusers_hard=Hard Limit
lusers_noquota=Burada kotaya sahip kullanýcý yok 
lusers_equota=Kotalarý Deðiþtir:
lusers_egrace=Gecikme Sürelerini Deðiþtir
lusers_check=Kotalarý Kontrol Et
lusers_info=Webmin yeni bir Unix kullanýcýsý oluþturulduðunda bu dosya sistemindeki kotasýnýn otomatik olarak ayarlanmasý için yapýlandýrýlabilir.Bu sadece kullanýcý eklenirken Webmin Kullanýcýlar ve Gruplar Modülü kullanýldýðýnda geçerlidir
lusers_useradmin=Kullanýcýlar ve Gruplar
lusers_newuser=Yeni Kullanýcý Kotalarý
lusers_sblimit=Soft Blok Limiti
lusers_hblimit=Hard Blok Limiti
lusers_sflimit=Soft Dosya Limiti
lusers_hflimit=Hard Dosya Limiti
lusers_apply=Uygula

grace_seconds=Saniye
grace_minutes=Dakika
grace_hours=Saat
grace_days=Gün
grace_weeks=Hafta
grace_months=Ay

log_activate_u=$1'de kullanýcý kotalarý aktif hale getirildi
log_activate_g=$1'de grup kotalarý aktif hale getirildi
log_activate_ug=$1'de kullanýcý ve grup kotalarý aktif hale getirildi
log_deactivate_u=$1'de kullanýcý kotalarý kapatýldý
log_deactivate_g=$1'de grup kotalarý kapatýldý
log_deactivate_ug=$1'de kullanýcý ve grup kotalarý kapatýldý
log_save=$2'de $1 için kotalar deðiþtirildi
log_sync=$1'de yeni kullanýcý kotalarý deðiþtirildi
log_grace_u=$1'de kullanýcý gecikme zamanlarý deðiþtirildi
log_grace_g=$1'de grup gecikme zamanlarý deðiþtirildi
log_check=$1'de kotalar kontrol edildi
log_copy_u=Kullanýcý $1'in kotalarý kopyalandý
log_copy_g=Grup $1'in kotalarý kopyalandý

 0707010000bbca000081a40000000000000002000000013d1fe2cb0000192d000000200000000000000000000000000000001700000003reloc/quota/lang/zh_CN    quota_unlimited=ÎÞÏÞ
acl_fss=Õâ¸öÓÃ»§¿É±à¼­µÄÎÄ¼þÏµÍ³
acl_fall=ËùÓÐÎÄ¼þÏµÍ³
acl_fsel=ÒÑÑ¡µÄ..
acl_quotaon=ÊÇ·ñ¿ÉÆôÓÃºÍ½ûÓÃ´ÅÅÌÅä¶î£¿
acl_quotanew=ÊÇ·ñÎªÐÂÓÃ»§ÅäÖÃ´ÅÅÌÅä¶î£¿
acl_ugrace=ÊÇ·ñ¿É±à¼­ÓÃ»§¿íÏÞ´ÎÊý£¿
acl_vtotal=ÊÇ·ñ¿É²é¿´´ÅÅÌ×Ü¿Õ¼ä£¿
acl_ggrace=ÊÇ·ñ¿É±à¼­×é¿íÏÞ´ÎÊý£¿
acl_uquota=Õâ¸öÓÃ»§¿ÉÒÔ±à¼­Æä´ÅÅÌÅä¶îµÄÓÃ»§ÖÐ
acl_gquota=Õâ¸öÓÃ»§¿ÉÒÔ±à¼­Æä´ÅÅÌÅä¶îµÄ×é
acl_uall=ËùÓÐÓÃ»§
acl_uonly=½öÓÃ»§
acl_uexcept=ËùÓÐÓÃ»§³ýÁË
acl_ugroup=Ö÷×éÓÃ»§
acl_gall=ËùÓÐ×é
acl_gnone=Ã»ÓÐ×é
acl_gonly=½ö×é
acl_gexcept=ËùÓÐ×é³ýÁË
activate_eallow=ÄúÎÞÈ¨ÔÚ±¾ÎÄ¼þÏµÍ³ÉÏÆôÓÃºÍ½ûÓÃ´ÅÅÌÅä¶î
activate_eon=´ò¿ªÅä¶îÊ§°Ü
activate_eoff=¹Ø±ÕÅä¶îÊ§°Ü
check_title=¼ì²éÅä¶î
check_return=$1 ÁÐ±í
check_ecannot=ÄúÎÞÈ¨¼ì²é±¾ÎÄ¼þÏµÍ³µÄÅä¶î
check_running=ÏÖÔÚÕýÔÚÔËÐÐ<tt>quotacheck</tt>ÃüÁîÒÔ¼ì²é<tt>$1</tt>ÉÏµÄ´ÅÅÌ¿éºÍÎÄ¼þµÄÀûÓÃÇé¿ö¡£¶ÔÓÚ´óÐÍÎÄ¼þÏµÍ³£¬ÕâÐèÒªºÜ³¤Ê±¼ä¡£
check_done=... Íê³É¡£
check_rgroup=×é
check_ruser=ÓÃ»§
cgroup_efail=¿½±´Åä¶îÊ§°Ü
cgroup_ecannot=ÄúÎÞÈ¨¿½±´Åä¶î
cgroup_egallow=ÄúÎÞÈ¨¿½±´Õâ¸ö×éµÄÅä¶î
cgroup_enogroup=Ã»ÓÐ×é¿É¿½±´µ½
cgroup_eallowto=ÄúÎÞÈ¨¿½±´Åä¶îµ½ '$1'
cgform_title=¿½±´Åä¶î
cgform_return=×éÅä¶î
cgform_ecannot=ÄúÄúÎÞÈ¨¿½±´Åä¶î
cgform_egroup=ÄúÎÞÈ¨¿½±´Õâ¸ö×éµÄÅä¶î
cgform_copyto=¿½±´ËùÓÐÎÄ¼þÏµÍ³ÉÏ<tt>$1</tt>µÄÅä¶î
cgform_all=ÏµÍ³ÉÏµÄËùÓÐ×é
cgform_select=Ñ¡¶¨×é
cgform_contain=°üº¬ÓÃ»§µÄ×é
cgform_doit=¿½±´
cuser_efail=¿½±´Åä¶îÊ§°Ü
cuser_ecannot=ÄúÄúÎÞÈ¨¿½±´Åä¶î
cuser_euallow=ÄúÎÞÈ¨¿½±´Õâ¸öÓÃ»§µÄÅä¶î
cuser_enouser=Ã»ÓÐÓÃ»§¿½±´µ½
cuser_eallowto=ÄúÎÞÈ¨¿½±´Åä¶îµ½'$1'
cuform_title=¿½±´Åä¶î
cuform_return=ÓÃ»§Åä¶î
cuform_ecannot=ÄúÄúÎÞÈ¨¿½±´Åä¶î
cuform_euallow=ÄúÎÞÈ¨¿½±´Õâ¸öÓÃ»§µÄÅä¶î
cuform_copyto=¿½±´<tt>$1</tt>ÔÚËùÓÃÎÄ¼þÏµÍ³µÄÅä¶îµ½ ...
cuform_all=ÏµÍ³ÉÏµÄËùÓÃÓÃ»§
cuform_select=Ñ¡¶¨µÄÓÃ»§
cuform_members=Ñ¡¶¨×éµÄ³ÉÔ±
cuform_doit=¿½±´
egroup_title=±à¼­Åä¶î
egroup_freturn=ÎÄ¼þÏµÍ³ÁÐ±í
egroup_greturn=×éÁÐ±í
egroup_eallowgr=ÄúÎÞÈ¨±à¼­ '$1'µÄÅä¶î
egroup_eallowfs=ÄúÎÞÈ¨±à¼­´ËÎÄ¼þÏµÍ³ÉÏµÄÅä¶î
egroup_quotas=<tt>$1</tt>ÔÚ<tt>$2</tt>ÉÏµÄÅä¶î
egroup_bused=ÒÑÓÃ¿é
egroup_sblimit=Èí¿éÏÞÖÆ
egroup_hblimit=Ó²¿éÏÞÖÆ
egroup_fused=Ê¹ÓÃµÄÎÄ¼þ
egroup_sflimit=ÈíÎÄ¼þÏÞÖÆ
egroup_hflimit=Ó²ÎÄ¼þÏÞÖÆ
egroup_update=¸üÐÂ
egroup_listall=ÁÐ³öËùÓÐÅä¶î
euser_title=±à¼­Åä¶î
euser_freturn=ÎÄ¼þÏµÍ³ÁÐ±í
euser_ureturn=ÓÃ»§ÁÐ±í
euser_eallowus=ÄúÎÞÈ¨±à¼­'$1'µÄÅä¶î
euser_eallowfs=ÄúÎÞÈ¨±à¼­±¾ÎÄ¼þÏµÍ³µÄÅä¶î
euser_quotas=<tt>$1</tt>ÔÚ<tt>$2</tt>ÉÏµÄÅä¶î
euser_bused=ÒÑÓÃ¿é
euser_sblimit=Èí¿éÏÞÖÆ
euser_hblimit=Ó²¿éÏÞÖÆ
euser_fused=ÒÑÓÃÎÄ¼þ
euser_sflimit=ÈíÎÄ¼þÏÞÖÆ
euser_hflimit=Ó²ÎÄ¼þÏÞÖÆ
euser_update=¸üÐÂ
euser_listall=ÁÐ±íËùÓÃÅä¶î
gfilesys_title=×éÅä¶î
gfilesys_return=ÎÄ¼þÁÐ±í
gfilesys_ecannot=ÄúÎÞÈ¨±à¼­'$1'µÄÎÄ¼þÅä¶î
gfilesys_all=ËùÓÐÅä¶îÎª
gfilesys_blocks=¿é
gfilesys_files=ÎÄ¼þ
gfilesys_fs=ÎÄ¼þÏµÍ³
gfilesys_used=ÒÑÓÃ
gfilesys_soft=ÈíÏÞÖÆ
gfilesys_hard=Ó²ÏÞÖÆ
gfilesys_nogquota=×é <tt>$1</tt> ÔÚÈÎºÎÎÄ¼þÏµÍ³ÉÏ¶¼Ã»ÓÐÅä¶î
gfilesys_edit=±à¼­ÏÞ¶îÓÚ£º
gfilesys_copy=¿½±´Åä¶î
ggracef_title=¿íÏÞÊ±¼ä
ggracef_return=×éÁÐ±í
ggracef_ecannot=ÄúÎÞÈ¨±à¼­´ËÎÄ¼þÏµÍ³µÄ¿íÏÞÊ±¼ä
ggracef_info=Ã¿¸öÎÄ¼þÏµÍ³¶¼ÓÐ¶Ô¿éºÍÎÄ¼þÅä¶îµÄ¿íÏÞÊ±¼ä¡£¿íÏÞÊ±¼ä¾ö¶¨Ò»¸ö×é¿É´¦ÓÚÈíÏÞÖÆ×´Ì¬¶à¾Ã£¬È»ºóÔÙ±»½ûÖ¹´´½¨¸ü¶àÎÄ¼þ¡£
ggracef_graces=<tt>$1</tt>µÄ×é¿íÏÞÊ±¼ä
ggracef_block=¶Ô¿éÅä¶î
ggracef_file=¶ÔÎÄ¼þÅä¶î
ggracef_update=¸üÐÂ
ggraces_esave=±£´æ¿íÏÞÊ±¼äÊ§°Ü
ggraces_eedit=ÄúÎÞÈ¨±à¼­´ËÎÄ¼þÏµÍ³µÄ¿íÏÞÊ±¼ä
ggraces_enumber='$1' ²»ÊÇÊý×Ö
index_quser=ÓÃ»§Åä¶î
index_qgroup=×éÅä¶î
index_qboth=ÓÃ»§ºÍ×éÅä¶î
index_active=»î¶¯µÄ
index_disable=½ûÓÃÅä¶î
index_inactive=²»»î¶¯µÄ
index_enable=ÆôÓÃÅä¶î
index_title=´ÅÅÌÅä¶î
index_fs=ÎÄ¼þÏµÍ³
index_type=ÀàÐÍ
index_mount=¹Ò½Ó×Ô
index_status=×´Ì¬
index_action=¶¯×÷
index_return=Ë÷Òý
index_euser=±à¼­ÓÃ»§Åä¶î£º
index_egroup=±à¼­×éÅä¶î£º
index_nosupport=±¾µØÎÄ¼þÏµÍ³²»Ö§³ÖÅä¶î
lgroups_failed=ÁÐ³ö×éÊ§°Ü
lgroups_eallow=ÄúÎÞÈ¨±à¼­Õâ¸öÎÄ¼þÏµÍ³ÉÏµÄÅä¶î
lgroups_title=ÎÄ¼þÏµÍ³Åä¶î
lgroups_return=ÎÄ¼þÏµÍ³ÁÐ±í
lgroups_toomany=ÔÚ<tt>$1</tt>ÉÏÓÐÅä¶îµÄ×éÌ«¶à£¬ÎÞ·¨ÏÔÊ¾ÔÚÒ»Ò³ÉÏ¡£
lgroups_quotas=ËùÓÐ×éÔÚ<tt>$1</tt>ÉÏµÄÅä¶î
lgroups_blocks=¿é
lgroups_files=ÎÄ¼þ
lgroups_group=×é
lgroups_used=ÒÑÓÃ
lgroups_soft=ÈíÏÞÖÆ
lgroups_hard=Ó²ÏÞÖÆ
lgroups_noquota=Ã»ÓÐ×éÔÚ<tt>$1</tt>ÉÏÓÐÅä¶î
lgroups_equota=±à¼­Åä¶îÎª£º
lgroups_grace=±à¼­¿íÏÞÊ±¼ä
lgroups_check=¼ì²éÅä¶î
sgroup_egroup=ÄúÎÞÈ¨±à¼­Õâ¸ö×éµÄÅä¶î
sgroup_efs=ÄúÎÞÈ¨±à¼­Õâ¸öÎÄ¼þÏµÍ³µÄÅä¶î
ssync_ecannot=ÄúÎÞÈ¨ÉèÖÃÕâ¸öÎÄ¼þÏµÍ³µÄÈ±Ê¡Åä¶î
suser_euser=ÄúÎÞÈ¨±à¼­Õâ¸öÓÃ»§µÄÅä¶î
suser_efs=ÄúÎÞÈ¨±à¼­Õâ¸öÎÄ¼þÏµÍ³µÄÅä¶î
ufilesys_title=ÓÃ»§Åä¶î
ufilesys_return=ÎÄ¼þÏµÍ³ÁÐ±í
ufilesys_ecannot=ÄúÎÞÈ¨±à¼­'$1'µÄÅä¶î
ufilesys_all=<tt>$1</tt>µÄËùÓÐÅä¶î
ufilesys_blocks=¿é
ufilesys_files=ÎÄ¼þ
ufilesys_fs=ÎÄ¼þÏµÍ³
ufilesys_used=ÒÑÓÃ
ufilesys_soft=ÈíÏÞÖÆ
ufilesys_hard=Ó²ÏÞÖÆ
ufilesys_nouquota=ÓÃ»§<tt>$1</tt> ÔÚÈÎºÎÎÄ¼þÏµÍ³¶¼Ã»ÓÐÅä¶î
ufilesys_edit=±à¼­Åä¶îÔÚ£º
ufilesys_copy=¿½±´Åä¶î
ugracef_title=¿íÏÞÊ±¼ä
ugracef_return=ÓÃ»§ÁÐ±í
ugracef_ecannot=ÄúÎÞÈ¨±à¼­±¾ÎÄ¼þÏµÍ³µÄµÄ¿íÏÞÊ±¼ä
ugracef_info=Ã¿¸öÎÄ¼þÏµÍ³¶¼ÓÐ¶Ô¿éºÍÎÄ¼þÅä¶îµÄ¿íÏÞÊ±¼ä¡£¿íÏÞÊ±¼ä¾ö¶¨Ò»¸öÓÃ»§¿É´¦ÓÚÈíÏÞÖÆ×´Ì¬¶à¾Ã£¬È»ºóÔÙ±»½ûÖ¹´´½¨¸ü¶àÎÄ¼þ¡£
ugracef_graces=<tt>$1</tt>µÄÓÃ»§¿íÏÞÊ±¼ä
ugracef_block=Îª¿éµÄÅä¶î
ugracef_file=¶ÔÎÄ¼þÅä¶î
ugracef_update=¸üÐÂ
ugraces_esave=±£´æ¿íÏÞÊ±¼äÊ§°Ü
ugraces_eedit=ÄúÎÞÈ¨±à¼­±¾ÎÄ¼þÏµÍ³ÉÏµÄ¿íÏÞÊ±¼ä
ugraces_enumber='$1' ²»ÊÇÊý×Ö
lusers_failed=ÁÐ³öÓÃ»§Ê§°Ü
lusers_eallow=ÄúÎÞÈ¨±à¼­±¾ÎÄ¼þÏµÍ³ÉÏµÄÅä¶î
lusers_title=ÎÄ¼þÏµÍ³Åä¶î
lusers_return=ÎÄ¼þÏµÍ³ÁÐ±í
lusers_toomany=ÔÚ<tt>$1</tt>ÉÏÓÐÅä¶îµÄÓÃ»§Ì«¶à£¬ÎÞ·¨ÏÔÊ¾ÔÚÒ»Ò³ÉÏ¡£
lusers_qoutas=<tt>$1</tt>ÉÏµÄËùÓÐÓÃ»§Åä¶î
lusers_blocks=¿é
lusers_files=ÎÄ¼þ
lusers_user=ÓÃ»§
lusers_used=ÒÑÓÃ
lusers_soft=ÈíÏÞÖÆ
lusers_hard=Ó²ÏÞÖÆ
lusers_noquota=Ã»ÓÐÓÃ»§ÔÚ<tt>$1</tt> ÉÏÓÐÅä¶î
lusers_equota=±à¼­Åä¶îÕë¶Ô£º
lusers_egrace=±à¼­¿íÏÞÊ±¼ä
lusers_check=¼ì²éÅä¶î
lusers_info=Webmin ¿ÉÒÔÅäÖÃÎªÔÚ´´½¨ÐÂ Unix ÓÃ»§Ê±×Ô¶¯ÔÚ±¾ÎÄ¼þÏµÍ³ÉÏÉèÖÃÅä¶î¡£Ö»ÓÐÔÚÊ¹ÓÃ $1 Webmin Ä£¿éÓÃÀ´Ìí¼ÓÓÃ»§Ê±²ÅÄÜÕâÑùÒ»À´×ö¡£
lusers_useradmin=ÓÃ»§ºÍ×é
lusers_newuser=ÐÂÓÃ»§Åä¶î
lusers_sblimit=Èí¿éÏÞÖÆ
lusers_hblimit=Ó²¿éÏÞÖÆ
lusers_sflimit=ÈíÎÄ¼þÏÞÖÆ
lusers_hflimit=Ó²ÎÄ¼þÏÞÖÆ
lusers_apply=Ó¦ÓÃ
grace_seconds=Ãë
grace_minutes=·ÖÖÓ
grace_hours=Ð¡Ê±
grace_days=Ìì
grace_weeks=ÐÇÆÚ
grace_months=ÔÂ
log_activate_u=ÒÑÔÚ $1 ÉÏÆôÓÃÓÃ»§Åä¶î
log_activate_g=ÒÑÔÚ $1 ÉÏÆôÓÃ×éÅä¶î
log_activate_ug=ÒÑÔÚ $1 ÉÏÆôÓÃÓÃ»§ºÍ×éÅä¶î
log_deactivate_u=ÒÑÔÚ $1 ÉÏ½ûÓÃÓÃ»§Åä¶î
log_deactivate_g=ÒÑÔÚ $1 ÉÏ½ûÓÃ×éÅä¶î
log_deactivate_ug=ÒÑÔÚ $1 ÉÏ½ûÓÃÓÃ»§ºÍ×éÅä¶î
log_save=ÔÚ $2 ÉÏ¸Ä±ä $1 µÄÅä¶î
log_sync=ÔÚ $1 ÉÏ¸Ä±äÐÂÓÃ»§µÄÅä¶î
log_grace_u=ÔÚ $1 ÉÏ¸Ä±äÓÃ»§¿íÏÞÊ±¼ä
log_grace_g=ÔÚ $1 ÉÏ¸Ä±ä×é¿íÏÞÊ±¼ä
log_check=ÔÚ $1 ÉÏ¼ì²éÅä¶î
log_copy_u=¿½±´ÓÃ»§ $1 µÄÅä¶î
log_copy_g=¿½±´×é$1 µÄÅä¶î
   0707010000bbcb000081a40000000000000002000000013d1fe2cb00001bdd000000200000000000000000000000000000001c00000003reloc/quota/lang/zh_TW.Big5   quota_unlimited=µL­­¨î

acl_fss=³o­Ó¨Ï¥ÎªÌ¥i½s¿èªºÀÉ®×¨t²Î
acl_fall=©Ò¦³ÀÉ®×¨t²Î
acl_fsel=¤w¿ï¨úªº..
acl_quotaon=¬O§_¥i±Ò¥Î©M°±¥ÎºÏºÐ°tÃB¡H
acl_quotanew=¬O§_¬°·s¨Ï¥ÎªÌ°t¸mºÏºÐ°tÃB¡H
acl_ugrace=¬O§_¥i½s¿è¨Ï¥ÎªÌ¼e­­¦¸¼Æ¡H
acl_vtotal=¬O§_¥i¬d¬ÝºÏºÐÁ`ªÅ¶¡¡H
acl_ggrace=¬O§_¥i½s¿è¸s²Õ¼e­­¦¸¼Æ¡H
acl_uquota=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿è¨äºÏºÐ°tÃBªº¨Ï¥ÎªÌ¤¤
acl_gquota=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿è¨äºÏºÐ°tÃBªº¸s²Õ
acl_uall= ©Ò¦³¨Ï¥ÎªÌ
acl_uonly= ¶È¨Ï¥ÎªÌ
acl_uexcept= ©Ò¦³¨Ï¥ÎªÌ¡A°£¤F
acl_ugroup= ¥D¸s²Õ¨Ï¥ÎªÌ
acl_gall= ©Ò¦³¸s²Õ
acl_gnone= ¨S¦³¸s²Õ
acl_gonly= ¶È¸s²Õ
acl_gexcept= ©Ò¦³¸s²Õ¡A°£¤F
acl_uuid=¨Ï¥ÎªÌ¦b UID ½d³ò¬O
acl_maxblocks=³Ì¤j¥i¥Î°Ï¶ô°tÃB
acl_maxfiles=³Ì¤j¥i¥ÎÀÉ®×°tÃB
acl_unlimited=µL­­¨î

activate_eallow=±z¨S¦³Åv­­¦b¥»ÀÉ®×¨t²Î¤W±Ò¥Î©M°±¥ÎºÏºÐ°tÃB
activate_eon=¥´¶}°tÃB¥¢±Ñ
activate_eoff=Ãö³¬°tÃB¥¢±Ñ

check_title=ÀË¬d°tÃB
check_return=$1 ¦Cªí
check_ecannot=±z¨S¦³Åv­­ÀË¬d¥»ÀÉ®×¨t²Îªº°tÃB
check_running=²{¦b¥¿¦b°õ¦æ<tt>quotacheck</tt>©R¥O¥HÀË¬d<tt>$1</tt>¤WªººÏºÐ°Ï¶ô©MÀÉ®×ªº¨Ï¥Î±¡ªp¡C¹ï©ó¤j«¬ÀÉ®×¨t²Î¡A³o»Ý­n«Üªø®É¶¡¡C
check_done=... §¹¦¨¡C
check_rgroup=¸s²Õ
check_ruser=¨Ï¥ÎªÌ

cgroup_efail=½Æ»s°tÃB¥¢±Ñ
cgroup_ecannot=±z¨S¦³Åv­­½Æ»s°tÃB
cgroup_egallow=±z¨S¦³Åv­­½Æ»s³o­Ó¸s²Õªº°tÃB
cgroup_enogroup=¨S¦³¸s²Õ¥i½Æ»s¨ì
cgroup_eallowto=±z¨S¦³Åv­­½Æ»s°tÃB¨ì '$1'

cgform_title=½Æ»s°tÃB
cgform_return=¸s²Õ°tÃB
cgform_ecannot=±z¨S¦³Åv­­½Æ»s°tÃB
cgform_egroup=±z¨S¦³Åv­­½Æ»s³o­Ó¸s²Õªº°tÃB
cgform_copyto=½Æ»s©Ò¦³ÀÉ®×¨t²Î¤W<tt>$1</tt>ªº°tÃB
cgform_all=¨t²Î¤Wªº©Ò¦³¸s²Õ
cgform_select=¿ï¨ú¸s²Õ
cgform_contain=¥]§t¨Ï¥ÎªÌªº¸s²Õ
cgform_doit=½Æ»s

cuser_efail=½Æ»s°tÃB¥¢±Ñ
cuser_ecannot=±z¨S¦³Åv­­½Æ»s°tÃB
cuser_euallow=±z¨S¦³Åv­­½Æ»s³o­Ó¨Ï¥ÎªÌªº°tÃB
cuser_enouser=¨S¦³¨Ï¥ÎªÌ½Æ»s¨ì
cuser_eallowto=±z¨S¦³Åv­­½Æ»s°tÃB¨ì'$1'

cuform_title=½Æ»s°tÃB
cuform_return=¨Ï¥ÎªÌ°tÃB
cuform_ecannot=±z¨S¦³Åv­­½Æ»s°tÃB
cuform_euallow=±z¨S¦³Åv­­½Æ»s³o­Ó¨Ï¥ÎªÌªº°tÃB
cuform_copyto=½Æ»s<tt>$1</tt>¦b©Ò¥ÎÀÉ®×¨t²Îªº°tÃB¨ì ...
cuform_all=¨t²Î¤Wªº©Ò¥Î¨Ï¥ÎªÌ
cuform_select=¿ï¨úªº¨Ï¥ÎªÌ
cuform_members=¿ï¨ú¸s²Õªº¦¨­û
cuform_doit=½Æ»s

egroup_title=½s¿è°tÃB
egroup_freturn=ÀÉ®×¨t²Î¦Cªí
egroup_greturn=¸s²Õ¦Cªí
egroup_eallowgr=±z¨S¦³Åv­­½s¿è '$1'ªº°tÃB
egroup_eallowfs=±z¨S¦³Åv­­½s¿è¦¹ÀÉ®×¨t²Î¤Wªº°tÃB
egroup_quotas=<tt>$1</tt>¦b<tt>$2</tt>¤Wªº°tÃB
egroup_bused=¤w¥Î°Ï¶ô
egroup_sblimit=³n©ÊÀÉ®×­­¨î
egroup_hblimit=µw©ÊÀÉ®×­­¨î
egroup_fused=¨Ï¥ÎªºÀÉ®×
egroup_sflimit=³n©ÊÀÉ®×­­¨î
egroup_hflimit=µw©ÊÀÉ®×­­¨î
egroup_update=§ó·s
egroup_listall=¦C¥X©Ò¦³°tÃB

euser_title=½s¿è°tÃB
euser_freturn=ÀÉ®×¨t²Î¦Cªí
euser_ureturn=¨Ï¥ÎªÌ¦Cªí
euser_eallowus=±z¨S¦³Åv­­½s¿è'$1'ªº°tÃB
euser_eallowfs=±z¨S¦³Åv­­½s¿è¥»ÀÉ®×¨t²Îªº°tÃB
euser_quotas=<tt>$1</tt>¦b<tt>$2</tt>¤Wªº°tÃB
euser_bused=¤w¥Î°Ï¶ô
euser_bdisk=¦bºÏºÐ¤W¥i¥Îªº°Ï¶ô
euser_sblimit=³n©Ê°Ï¶ô­­¨î
euser_hblimit=µw©Ê°Ï¶ô­­¨î
euser_fused=¤w¥ÎÀÉ®×
euser_fdisk=¦bºÏºÐ¤W¥i¥ÎªºÀÉ®×
euser_sflimit=³n©ÊÀÉ®×­­¨î
euser_hflimit=µw©ÊÀÉ®×­­¨î
euser_update=§ó·s
euser_listall=¦Cªí©Ò¥Î°tÃB

gfilesys_title=¸s²Õ°tÃB
gfilesys_return=ÀÉ®×¦Cªí
gfilesys_ecannot=±z¨S¦³Åv­­½s¿è'$1'ªºÀÉ®×°tÃB
gfilesys_all=©Ò¦³°tÃB¬°
gfilesys_blocks=°Ï¶ô
gfilesys_files=ÀÉ®×
gfilesys_fs=ÀÉ®×¨t²Î
gfilesys_used=¤w¥Î
gfilesys_soft=³n©Ê­­¨î
gfilesys_hard=µw©Ê­­¨î
gfilesys_nogquota=¸s²Õ <tt>$1</tt> ¦b¥ô¦óÀÉ®×¨t²Î¤W³£¨S¦³°tÃB
gfilesys_edit=½s¿è­­ÃB©ó¡G
gfilesys_copy=½Æ»s°tÃB

ggracef_title=¼e­­®É¶¡
ggracef_return=¸s²Õ¦Cªí
ggracef_ecannot=±z¨S¦³Åv­­½s¿è¦¹ÀÉ®×¨t²Îªº¼e­­®É¶¡
ggracef_info=¨C­ÓÀÉ®×¨t²Î³£¦³¹ï°Ï¶ô©MÀÉ®×°tÃBªº¼e­­®É¶¡¡C¼e­­®É¶¡¨M©w¤@­Ó¸s²Õ¥i³B©ó³n©Ê­­¨îª¬ºA¦h¤[¡AµM«á¦A³Q¸T¤î·s¼W§ó¦hÀÉ®×¡C
ggracef_graces=<tt>$1</tt>ªº¸s²Õ¼e­­®É¶¡
ggracef_block=¹ï°Ï¶ô°tÃB
ggracef_file=¹ïÀÉ®×°tÃB
ggracef_update=§ó·s

ggraces_esave=«O¦s¼e­­®É¶¡¥¢±Ñ
ggraces_eedit=±z¨S¦³Åv­­½s¿è¦¹ÀÉ®×¨t²Îªº¼e­­®É¶¡
ggraces_enumber='$1' ¤£¬O¼Æ¦r

index_quser=¨Ï¥ÎªÌ°tÃB
index_qgroup=¸s²Õ°tÃB
index_qboth=¨Ï¥ÎªÌ©M¸s²Õ°tÃB
index_active=¹B§@¤¤
index_disable=°±¥Î°tÃB
index_inactive=¨S¦³¹B§@ªº
index_enable=±Ò¥Î°tÃB
index_mountonly=¥i¥H¥u¦b±¾¸ü®É±Ò¥Î
index_title=ºÏºÐ°tÃB
index_fs=ÀÉ®×¨t²Î
index_type=Ãþ«¬
index_mount=±¾¸ü¦Û
index_status=ª¬ºA
index_action=°Ê§@
index_return=¯Á¤Þ
index_euser=½s¿è¨Ï¥ÎªÌ°tÃB¡G
index_egroup=½s¿è¸s²Õ°tÃB¡G
index_nosupport=¥»¦aÀÉ®×¨t²Î¤£¤ä´©°tÃB

lgroups_failed=¦C¥X¸s²Õ¥¢±Ñ
lgroups_eallow=±z¨S¦³Åv­­½s¿è³o­ÓÀÉ®×¨t²Î¤Wªº°tÃB
lgroups_title=ÀÉ®×¨t²Î°tÃB
lgroups_return=ÀÉ®×¨t²Î¦Cªí
lgroups_toomany=¦b<tt>$1</tt>¤W¦³°tÃBªº¸s²Õ¤Ó¦h¡AµLªkÅã¥Ü¦b¤@­¶¤W¡C
lgroups_quotas=©Ò¦³¸s²Õ¦b<tt>$1</tt>¤Wªº°tÃB
lgroups_blocks=°Ï¶ô
lgroups_files=ÀÉ®×
lgroups_group=¸s²Õ
lgroups_used=¤w¥Î
lgroups_soft=³n©Ê­­¨î
lgroups_hard=µw©Ê­­¨î
lgroups_noquota=¨S¦³¸s²Õ¦b<tt>$1</tt>¤W¦³°tÃB
lgroups_equota=½s¿è°tÃB¬°¡G
lgroups_grace=½s¿è¼e­­®É¶¡
lgroups_check=ÀË¬d°tÃB

sgroup_egroup=±z¨S¦³Åv­­½s¿è³o­Ó¸s²Õªº°tÃB
sgroup_efs=±z¨S¦³Åv­­½s¿è³o­ÓÀÉ®×¨t²Îªº°tÃB

ssync_ecannot=±z¨S¦³Åv­­³]¸m³o­ÓÀÉ®×¨t²Îªº¯Ê¬Ù°tÃB

suser_euser=±z¨S¦³Åv­­½s¿è³o­Ó¨Ï¥ÎªÌªº°tÃB
suser_efs=±z¨S¦³Åv­­½s¿è³o­ÓÀÉ®×¨t²Îªº°tÃB
suser_emaxblocks=±z¨S¦³Åv­­µ¹¤©°Ï¶ô­­¨î¦b$1¤§¤W
suser_emaxfiles=±z¨S¦³Åv­­µ¹¤©ÀÉ®×­­¨î¦b$1¤§¤W

ufilesys_title=¨Ï¥ÎªÌ°tÃB
ufilesys_return=ÀÉ®×¨t²Î¦Cªí
ufilesys_ecannot=±z¨S¦³Åv­­½s¿è'$1'ªº°tÃB
ufilesys_all=<tt>$1</tt>ªº©Ò¦³°tÃB
ufilesys_blocks=°Ï¶ô
ufilesys_files=ÀÉ®×
ufilesys_fs=ÀÉ®×¨t²Î
ufilesys_used=¤w¥Î
ufilesys_soft=³n©Ê­­¨î
ufilesys_hard=µw©Ê­­¨î
ufilesys_nouquota=¨Ï¥ÎªÌ<tt>$1</tt> ¦b¥ô¦óÀÉ®×¨t²Î³£¨S¦³°tÃB
ufilesys_edit=½s¿è°tÃB¦b¡G
ufilesys_copy=½Æ»s°tÃB

ugracef_title=¼e­­®É¶¡
ugracef_return=¨Ï¥ÎªÌ¦Cªí
ugracef_ecannot=±z¨S¦³Åv­­½s¿è¥»ÀÉ®×¨t²Îªºªº¼e­­®É¶¡
ugracef_info=¨C­ÓÀÉ®×¨t²Î³£¦³¹ï°Ï¶ô©MÀÉ®×°tÃBªº¼e­­®É¶¡¡C¼e­­®É¶¡¨M©w¤@­Ó¨Ï¥ÎªÌ¥i³B©ó³n©Ê­­¨îª¬ºA¦h¤[¡AµM«á¦A³Q¸T¤î·s¼W§ó¦hÀÉ®×¡C
ugracef_graces=<tt>$1</tt>ªº¨Ï¥ÎªÌ¼e­­®É¶¡
ugracef_block=¬°°Ï¶ôªº°tÃB
ugracef_file=¹ïÀÉ®×°tÃB
ugracef_update=§ó·s

ugraces_esave=«O¦s¼e­­®É¶¡¥¢±Ñ
ugraces_eedit=±z¨S¦³Åv­­½s¿è¥»ÀÉ®×¨t²Î¤Wªº¼e­­®É¶¡
ugraces_enumber='$1' ¤£¬O¼Æ¦r

lusers_failed=¦C¥X¨Ï¥ÎªÌ¥¢±Ñ
lusers_eallow=±z¨S¦³Åv­­½s¿è¥»ÀÉ®×¨t²Î¤Wªº°tÃB
lusers_title=ÀÉ®×¨t²Î°tÃB
lusers_return=ÀÉ®×¨t²Î¦Cªí
lusers_toomany=¦b<tt>$1</tt>¤W¦³°tÃBªº¨Ï¥ÎªÌ¤Ó¦h¡AµLªkÅã¥Ü¦b¤@­¶¤W¡C
lusers_qoutas=<tt>$1</tt>¤Wªº©Ò¦³¨Ï¥ÎªÌ°tÃB
lusers_blocks=°Ï¶ô
lusers_files=ÀÉ®×
lusers_user=¨Ï¥ÎªÌ
lusers_used=¤w¥Î
lusers_soft=³n©Ê­­¨î
lusers_hard=µw©Ê­­¨î
lusers_noquota=¨S¦³¨Ï¥ÎªÌ¦b<tt>$1</tt> ¤W¦³°tÃB
lusers_equota=½s¿è°tÃB°w¹ï¡G
lusers_egrace=½s¿è¼e­­®É¶¡
lusers_check=ÀË¬d°tÃB
lusers_info=Webmin ¥i¥H°t¸m¬°¦b·s¼W·s Unix ¨Ï¥ÎªÌ®É¦Û°Ê¦b¥»ÀÉ®×¨t²Î¤W³]©w°tÃB¡C¥u¦³¦b¨Ï¥Î $1 Webmin ¼Ò¸s²Õ¥Î¨Ó·s¼W¨Ï¥ÎªÌ®É¤~¯à³o¼Ë°µ¡C
lusers_useradmin=¨Ï¥ÎªÌ©M¸s²Õ
lusers_newuser=·s¨Ï¥ÎªÌ°tÃB
lusers_sblimit=³n©Ê­­¨î
lusers_hblimit=µw©Ê­­¨î
lusers_sflimit=³n©ÊÀÉ®×­­¨î
lusers_hflimit=µw©ÊÀÉ®×­­¨î
lusers_apply=®M¥Î

grace_seconds=¬í
grace_minutes=¤ÀÄÁ
grace_hours=¤p®É
grace_days=¤Ñ
grace_weeks=¬P´Á
grace_months=¤ë

log_activate_u=¤w¦b $1 ¤W±Ò¥Î¨Ï¥ÎªÌ°tÃB
log_activate_g=¤w¦b $1 ¤W±Ò¥Î¸s²Õ°tÃB
log_activate_ug=¤w¦b $1 ¤W±Ò¥Î¨Ï¥ÎªÌ©M¸s²Õ°tÃB
log_deactivate_u=¤w¦b $1 ¤W°±¥Î¨Ï¥ÎªÌ°tÃB
log_deactivate_g=¤w¦b $1 ¤W°±¥Î¸s²Õ°tÃB
log_deactivate_ug=¤w¦b $1 ¤W°±¥Î¨Ï¥ÎªÌ©M¸s²Õ°tÃB
log_save=¦b $2 ¤W§ïÅÜ $1 ªº°tÃB
log_sync=¦b $1 ¤W§ïÅÜ·s¨Ï¥ÎªÌªº°tÃB
log_grace_u=¦b $1 ¤W§ïÅÜ¨Ï¥ÎªÌ¼e­­®É¶¡
log_grace_g=¦b $1 ¤W§ïÅÜ¸s²Õ¼e­­®É¶¡
log_check=¦b $1 ¤WÀË¬d°tÃB
log_copy_u=½Æ»s¨Ï¥ÎªÌ $1 ªº°tÃB
log_copy_g=½Æ»s¸s²Õ $1 ªº°tÃB

   07070100008e65000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000001900000003reloc/quota/linux-lib.pl  # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e66000081e40000000000000002000000013d1fe2cb00000d14000000200000000000000000000000000000001c00000003reloc/quota/list_groups.cgi   #!/usr/local/bin/perl
# list_groups.cgi
# Lists all the groups with quotas on some filesystem

require './quota-lib.pl';
$f = $ARGV[0];
$whatfailed = $text{'lgroups_failed'};
&can_edit_filesys($f) ||
	&error($text{'lgroups_eallow'});

# List quotas
&header($text{'lgroups_title'}, "", "list_groups");
print "<hr>\n";
$n = &filesystem_groups($f);
if ($n > $config{'display_max'}) {
	print "<b>",&text('lgroups_toomany', $f),"</b><br>\n";
	}
elsif ($n) {
	print "<h3>",&text('lgroups_quotas', $f),"</h3>\n";
	&show_buttons();
	print "<table border width=100%>\n";
	print "<tr $tb> <td></td>\n";

	($binfo, $finfo) = &filesystem_info($f, \%group, $n);
	print "<td colspan=3 align=center>\n";
	print "<b>$text{'lgroups_blocks'}</b> &nbsp;&nbsp;&nbsp; ($binfo)\n"
		if ($access{'diskspace'});
	print "</td> <td colspan=3 align=center>\n";
	print "<b>$text{'lgroups_files'}</b> &nbsp;&nbsp;&nbsp; ($finfo)\n"
		if ($access{'diskspace'});
	print "</td> </tr>\n";
	print "<tr $tb> <td><b>$text{'lgroups_group'}</b></td>\n";
	print "<td><b>$text{'lgroups_used'}</b></td> <td><b>$text{'lgroups_soft'}</b></td>\n";
	print "<td><b>$text{'lgroups_hard'}</b></td>\n";
	print "<td><b>$text{'lgroups_used'}</b></td> <td><b>$text{'lgroups_soft'}</b></td>\n";
	print "<td><b>$text{'lgroups_hard'}</b></td> </tr>\n";
	@order = (0 .. $n-1);
	if ($config{'sort_mode'} == 0) {
		@order = sort { $group{$b,'ublocks'} <=> $group{$a,'ublocks'} }
			      @order;
		}
	elsif ($config{'sort_mode'} == 2) {
		@order = sort { $group{$a,'group'} cmp $group{$b,'group'} }
			      @order;
		}
	foreach $i (@order) {
		next if (!&can_edit_group($group{$i,'group'}));
		print "<tr $cb>\n";
		print "<td><a href=\"edit_group_quota.cgi?group=$group{$i,'group'}",
		      "&filesys=$f&source=0\">$group{$i,'group'}</a></td>\n";
		print "<td>",&html_escape($group{$i,'ublocks'}),"</td>\n";
		&print_limit($group{$i,'sblocks'});
		&print_limit($group{$i,'hblocks'});
		print "<td>$group{$i,'ufiles'}</td>\n";
		&print_limit($group{$i,'sfiles'});
		&print_limit($group{$i,'hfiles'});
		print "</tr>\n";
		}
	print "</table><br>\n";
	}
else {
	print "<b>",&text('lgroups_noquota', $f),"</b><br>\n";
	}
&show_buttons();

print "<hr>\n";
&footer("", $text{'lgroups_return'});

sub print_limit
{
if ($_[0] == 0) { print "<td>$text{'quota_unlimited'}</td>\n"; }
else { print "<td>$_[0]</td>\n"; }
}

sub show_buttons
{
print "<table width=100%><tr>\n";
print "<form action=edit_group_quota.cgi>\n";
print "<input type=hidden name=filesys value=\"$f\">\n";
print "<input type=hidden name=source value=0>\n";
print "<td align=left width=33%>\n";
print "<input type=submit value=\"$text{'lgroups_equota'}\">\n";
print "<input name=group size=8> ",
      &group_chooser_button("group",0),"</td></form>\n";

if ($access{'ggrace'}) {
	print "<form action=group_grace_form.cgi>\n";
	print "<input type=hidden name=filesys value=\"$f\">\n";
	print "<td align=center width=33%>\n";
	print "<input type=submit value=\"$text{'lgroups_grace'}\">\n";
	print "</td></form>\n";
	}
else { print "<td width=33%></td>\n"; }

print "<form action=check_quotas.cgi>\n";
print "<input type=hidden name=filesys value=\"$f\">\n";
print "<input type=hidden name=source value=group>\n";
print "<td align=right width=33%><input type=submit value=\"$text{'lgroups_check'}\">\n";
print "</td></form> </tr></table>\n";
}

07070100008e67000081e40000000000000002000000013d1fe2cb000010f8000000200000000000000000000000000000001b00000003reloc/quota/list_users.cgi    #!/usr/local/bin/perl
# list_users.cgi
# Lists all the users with quotas on some filesystem

require './quota-lib.pl';
$f = $ARGV[0];
$whatfailed = $text{'lusers_failed'};
&can_edit_filesys($f) ||
	&error($text{'lusers_eallow'});

# List quotas
&header($text{'lusers_title'}, "", "list_users");
print "<hr>\n";
$n = &filesystem_users($f);
if ($n > $config{'display_max'}) {
	print "<b>", &text('lusers_toomany', $f), "</b><br>\n";
	}
elsif ($n) {
	print "<h3>",&text('lusers_qoutas', $f),"</h3>\n";
	&show_buttons();
	print "<table border width=100%>\n";
	print "<tr $tb> <td><br></td>\n";

	($binfo, $finfo) = &filesystem_info($f, \%user, $n);
	print "<td colspan=3 align=center>\n";
	print "<b>$text{'lusers_blocks'}</b> &nbsp;&nbsp;&nbsp; ($binfo)\n"
		if ($access{'diskspace'});
	print "</td> <td colspan=3 align=center>\n";
	print "<b>$text{'lusers_files'}</b> &nbsp;&nbsp;&nbsp; ($finfo)\n"
		if ($access{'diskspace'});

	print "</td> </tr>\n";
	print "<tr $tb> <td><b>$text{'lusers_user'}</b></td>\n";
	print "<td><b>$text{'lusers_used'}</b></td> <td><b>$text{'lusers_soft'}</b></td>\n";
	print "<td><b>$text{'lusers_hard'}</b></td>\n";
	print "<td><b>$text{'lusers_used'}</b></td> <td><b>$text{'lusers_soft'}</b></td>\n";
	print "<td><b>$text{'lusers_hard'}</b></td> </tr>\n";
	@order = (0 .. $n-1);
	if ($config{'sort_mode'} == 0) {
		@order = sort { $user{$b,'ublocks'} <=> $user{$a,'ublocks'} }
			      @order;
		}
	elsif ($config{'sort_mode'} == 2) {
		@order = sort { $user{$a,'user'} cmp $user{$b,'user'} }
			      @order;
		}
	foreach $i (@order) {
		next if (!&can_edit_user($user{$i,'user'}));
		print "<tr $cb>\n";
		print "<td><a href=\"edit_user_quota.cgi?user=$user{$i,'user'}",
		      "&filesys=$f&source=0\">$user{$i,'user'}</a></td>\n";
		print "<td>",&html_escape($user{$i,'ublocks'}),"</td>\n";
		&print_limit($user{$i,'sblocks'});
		&print_limit($user{$i,'hblocks'});
		print "<td>$user{$i,'ufiles'}</td>\n";
		&print_limit($user{$i,'sfiles'});
		&print_limit($user{$i,'hfiles'});
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>",&text('lusers_noquota', $f),"</b><br>\n";
	}
&show_buttons();

if ($access{'default'}) {
	print "<hr>\n";
	print &text('lusers_info', $text{'lusers_useradmin'});
	print "<p>\n";

	@dquot = split(/\s+/, $config{"sync_$f"});
	print "<form action=save_sync.cgi>\n";
	print "<input type=hidden name=filesys value=\"$f\">\n";
	print "<table width=100% border> <tr $tb>\n";
	print "<td colspan=2><b>$text{'lusers_newuser'}</b></td> </tr> <tr $cb>\n";

	print "<td width=50%><table><tr>\n";
	print "<td><b>$text{'lusers_sblimit'}</b></td> <td>\n";
	&quota_input("sblocks", $dquot[0]);
	print "</td> </tr><tr> <td><b>$text{'lusers_hblimit'}</b></td> <td>\n";
	&quota_input("hblocks", $dquot[1]);
	print "</td> </tr></table></td>\n";

	print "<td width=50%><table><tr>\n";
	print "<td><b>$text{'lusers_sflimit'}</b></td> <td>\n";
	&quota_input("sfiles", $dquot[2]);
	print "</td> </tr><tr> <td><b>$text{'lusers_hflimit'}</b></td> <td>\n";
	&quota_input("hfiles", $dquot[3]);
	print "</td> </tr></table></td>\n";
	print "</tr> </table><p>\n";
	print "<input type=submit value=$text{'lusers_apply'}></form>\n";
	}

print "<hr>\n";
&footer("", $text{'lusers_return'});

sub print_limit
{
if ($_[0] == 0) { print "<td>$text{'quota_unlimited'}</td>\n"; }
else { print "<td>$_[0]</td>\n"; }
}

sub show_buttons
{
print "<table width=100%><tr>\n";
print "<form action=edit_user_quota.cgi>\n";
print "<input type=hidden name=filesys value=\"$f\">\n";
print "<input type=hidden name=source value=0>\n";
print "<td align=left width=33%>\n";
print "<input type=submit value=\"$text{'lusers_equota'}\">\n";
print "<input name=user size=8> ",
      &user_chooser_button("user", 0),"</td></form>\n";

if ($access{'ugrace'}) {
	print "<form action=user_grace_form.cgi>\n";
	print "<input type=hidden name=filesys value=\"$f\">\n";
	print "<td align=center width=33%>\n";
	print "<input type=submit value=\"$text{'lusers_egrace'}\">\n";
	print "</td></form>\n";
	}
else { print "<td width=33%></td>\n"; }

print "<form action=check_quotas.cgi>\n";
print "<input type=hidden name=filesys value=\"$f\">\n";
print "<input type=hidden name=source value=user>\n";
print "<td align=right width=33%><input type=submit value=\"$text{'lusers_check'}\">\n";
print "</td></form> </tr></table>\n";


}

07070100008e68000081a40000000000000002000000013d1fe2cc000004d5000000200000000000000000000000000000001a00000003reloc/quota/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'quota-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
if ($action eq 'activate') {
	return &text($p->{'mode'} == 1 ? 'log_activate_u' :
		     $p->{'mode'} == 2 ? 'log_activate_g' :
		     'log_activate_ug', "<tt>$object</tt>");
	}
elsif ($action eq 'deactivate') {
	return &text($p->{'mode'} == 1 ? 'log_deactivate_u' :
		     $p->{'mode'} == 2 ? 'log_deactivate_g' :
		     'log_deactivate_ug', "<tt>$object</tt>");
	}
elsif ($action eq 'save') {
	return &text('log_save', "<tt>$object</tt>",
				 "<tt>$p->{'filesys'}</tt>");
	}
elsif ($action eq 'sync') {
	return &text('log_sync', "<tt>$object</tt>");
	}
elsif ($action eq 'grace') {
	return &text($type eq 'user' ? 'log_grace_u' : 'log_grace_g',
		     "<tt>$object</tt>");
	}
elsif ($action eq 'check') {
	return &text('log_check', "<tt>$object</tt>");
	}
elsif ($action eq 'copy') {
	return &text($type eq 'user' ? 'log_copy_u' : 'log_copy_g',
		     "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

   07070100008e69000081a40000000000000002000000013d1fe2cc00002d67000000200000000000000000000000000000002200000003reloc/quota/mandrake-linux-lib.pl # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e6a000081a40000000000000002000000013d1fe2ea000002a0000000200000000000000000000000000000001800000003reloc/quota/module.info   desc_nl=Harddisk Quota
desc_ru_SU=äÉÓËÏ×ÙÅ ë×ÏÔÙ
risk=low medium high
desc_ko_KR.euc=µð½ºÅ© ÇÒ´ç
desc_zh_TW.Big5=ºÏºÐ°tÃB
desc_pl=Quota na dyskach
desc_de=Festplatten-Quotas
name=Quota
desc_zh_CN=´ÅÅÌÏÞ¶î
desc_pt=Quotas de Disco
category=system
desc_tr=Disk Kotalarý
os_support=solaris redhat-linux mandrake-linux slackware-linux debian-linux suse-linux hpux freebsd open-linux unixware turbo-linux openbsd corel-linux cobalt-linux msc-linux generic-linux gentoo-linux
desc=Disk Quotas
desc_es=Cuotas de Disco
desc_sv=Diskquota
desc_fr=Quotas des Disques
desc_ja_JP.euc=¥Ç¥£¥¹¥¯¤Î³ä¤êÅö¤Æ
depends=mount 0.990
version=0.990
desc_ca=Quotes de Disc
desc_ru_RU=Äèñêîâûå Êâîòû
07070100008e6b000081a40000000000000002000000013d1fe2cd00002d67000000200000000000000000000000000000001d00000003reloc/quota/msc-linux-lib.pl  # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e6c000081a40000000000000002000000013d1fe2cd0000237b000000200000000000000000000000000000001a00000003reloc/quota/netbsd-lib.pl # openbsd-lib.pl
# Quota functions for openbsd

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$ENV{'BLOCKSIZE'} = 1024;
`df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/;
return ($1, $2, $3+$4, $4);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /userquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /groupquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /quota/ ? 3 : 0;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# group_filesystems(group)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'group_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, $what);
$rep = `$config{'user_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = grep { !/^root\s/ } @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# filesystem_groups(filesystem)
# Fills the array %group with information about all groups with quotas
# on this filesystem. This may not be all groups on the system..
sub filesystem_groups
{
local($rep, @rep, $n, $what);
$rep = `$config{'group_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$group{$n,'group'} = $1;
		$group{$n,'ublocks'} = int($2);
		$group{$n,'sblocks'} = int($3);
		$group{$n,'hblocks'} = int($4);
		$group{$n,'ufiles'} = int($5);
		$group{$n,'sfiles'} = int($6);
		$group{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'group_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e6d000081e40000000000000002000000013d1fe2cc000006c9000000200000000000000000000000000000001200000003reloc/quota/notes Solaris
-------
The quota or rq options in /etc/vfstab are only used by quotaon -a at boot
time, to determine whether to turn on quotas for the filesystem.
When quotas are activated, the quota option is added to /etc/mnttab. Actually
mounting with this option is pointless - only the quotaon command can really
turn on quotas.

When quotas are newly enabled for a filesystem and a user assigned block
limits (but not file), these limits seem to take effect immediately. 
When the file limits are turned on, they also take effect immediately
(but the number of existing files does not seem to be computed).

On the other hand, blocks used are always recorded even if the quotas
are set to 'unlimited'.

Linux
-----
The usrquota and grpquota options in /etc/fstab are used by quotaon
whenever it is run. Unlike solaris, the filesystem must exist in the fstab
file (and have quota options) for quotaon to do anything. Also, quotaon does
not update the mtab file when quotas are turned on (but does complain if 
quotas are activated twice). Similarly, quotaoff does nothing unless the
quota options are given in /etc/fstab
The quota option documented in the man pages seems to be totally ignored - 
only usrquota and grpquota are used by quotaon.

Quotas seem to have some problems under redhat linux using kernel 2.0.21
(redhat 5.1). quotacheck and repquota will often hang when both user and
group quotas are active at the same time. Each can be used separately
with no problems though (as long as a quotacheck is done after creating
the quotas file!)

When quotas are enable for some filesystem, they take effect immediately for
both files and blocks. Even if a user creates files and then has quotas
set, the counts will be up to date.

   07070100008e6e000081a40000000000000002000000013d1fe2cc00002d67000000200000000000000000000000000000001e00000003reloc/quota/open-linux-lib.pl # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e6f000081a40000000000000002000000013d1fe2cc0000237b000000200000000000000000000000000000001b00000003reloc/quota/openbsd-lib.pl    # openbsd-lib.pl
# Quota functions for openbsd

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$ENV{'BLOCKSIZE'} = 1024;
`df -i $_[0]` =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)\s+\S+\s+(\d+)\s+(\d+)/;
return ($1, $2, $3+$4, $4);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /userquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /groupquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /quota/ ? 3 : 0;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# group_filesystems(group)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
local($n, $_, %mtab);
open(QUOTA, "$config{'group_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $1;
		<QUOTA>=~/^.{15}(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15})(.{8}).(.{7})(.{8}).{8}(.{8}).(.{7})(.{8})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'filesys'} =~ s/^\s+//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, $what);
$rep = `$config{'user_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = grep { !/^root\s/ } @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# filesystem_groups(filesystem)
# Fills the array %group with information about all groups with quotas
# on this filesystem. This may not be all groups on the system..
sub filesystem_groups
{
local($rep, @rep, $n, $what);
$rep = `$config{'group_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
@rep = split(/\n/, $rep);
@rep = @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s*[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{8})(.{8})(.{8}).{7}(.{8})(.{8})(.{8})/) {
		$group{$n,'group'} = $1;
		$group{$n,'ublocks'} = int($2);
		$group{$n,'sblocks'} = int($3);
		$group{$n,'hblocks'} = int($4);
		$group{$n,'ufiles'} = int($5);
		$group{$n,'sfiles'} = int($6);
		$group{$n,'hfiles'} = int($7);
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
local(@rv, %mtab, @m);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'group_grace_command'} $_[0] |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[0]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e70000081e40000000000000002000000013d1fe2cc00001501000000200000000000000000000000000000001900000003reloc/quota/quota-lib.pl  # quota-lib.pl
# Common functions for quota management.

do '../web-lib.pl';
&init_config();
do "$gconfig{'os_type'}-lib.pl";
%access = &get_module_acl();
&foreign_require("mount", "mount-lib.pl");

# list_filesystems()
# Returns a list of details of local filesystems on which quotas are supported
#  directory device type options quotacan quotanow
sub list_filesystems
{
local $f;
local @mtab = &foreign_call("mount", "list_mounted");
foreach $f (&foreign_call("mount", "list_mounts")) {
	$fmap{$f->[0],$f->[1]} = $f;
	}
map { $_->[4] = &quota_can($_, $fmap{$_->[0],$_->[1]}) } @mtab;
map { $_->[5] = &quota_now($_, $fmap{$_->[0],$_->[1]}) } @mtab;
return grep { $_->[4] } @mtab;
}

# parse_options(type, options)
# Convert an options string for some filesystem into the associative
# array %options
sub parse_options
{
local($_);
undef(%options);
if ($_[0] ne "-") {
	foreach (split(/,/, $_[0])) {
		if (/^([^=]+)=(.*)$/) { $options{$1} = $2; }
		else { $options{$_} = ""; }
		}
	}
}

# user_quota(user, filesystem)
# Returns an array of  ublocks, sblocks, hblocks, ufiles, sfiles, hfiles
# for some user, or an empty array if no quota has been assigned
sub user_quota
{
local (%user, $n, $i);
$n = &filesystem_users($_[1]);
for($i=0; $i<$n; $i++) {
	if ($user{$i,'user'} eq $_[0]) {
		return ( $user{$i,'ublocks'}, $user{$i,'sblocks'},
			 $user{$i,'hblocks'}, $user{$i,'ufiles'},
			 $user{$i,'sfiles'},  $user{$i,'hfiles'} );
		}
	}
return ();
}

# group_quota(group, filesystem)
# Returns an array of  ublocks, sblocks, hblocks, ufiles, sfiles, hfiles
# for some group, or an empty array if no quota has been assigned
sub group_quota
{
local (%group, $n, $i);
$n = &filesystem_groups($_[1]);
for($i=0; $i<$n; $i++) {
	if ($group{$i,'group'} eq $_[0]) {
		return ( $group{$i,'ublocks'}, $group{$i,'sblocks'},
			 $group{$i,'hblocks'}, $group{$i,'ufiles'},
			 $group{$i,'sfiles'},  $group{$i,'hfiles'} );
		}
	}
return ();
}

# edit_user_quota(user, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_user_quota
{
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edquota.pl";
$ENV{'QUOTA_USER'} = $_[0];
$ENV{'QUOTA_FILESYS'} = $_[1];
$ENV{'QUOTA_SBLOCKS'} = $_[2];
$ENV{'QUOTA_HBLOCKS'} = $_[3];
$ENV{'QUOTA_SFILES'} = $_[4];
$ENV{'QUOTA_HFILES'} = $_[5];
&system_logged("$config{'user_edquota_command'} $_[0] >/dev/null 2>&1");
}

# edit_group_quota(group, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_group_quota
{
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edquota.pl";
$ENV{'QUOTA_GROUP'} = $_[0];
$ENV{'QUOTA_FILESYS'} = $_[1];
$ENV{'QUOTA_SBLOCKS'} = $_[2];
$ENV{'QUOTA_HBLOCKS'} = $_[3];
$ENV{'QUOTA_SFILES'} = $_[4];
$ENV{'QUOTA_HFILES'} = $_[5];
&system_logged("$config{'group_edquota_command'} $_[0]");
}

# edit_user_grace(filesystem, btime, bunits, ftime, funits)
# Change the grace times for blocks and files on some filesystem
sub edit_user_grace
{
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edgrace.pl";
$ENV{'QUOTA_FILESYS'} = $_[0];
$ENV{'QUOTA_BTIME'} = $_[1];
$ENV{'QUOTA_BUNITS'} = $_[2];
$ENV{'QUOTA_FTIME'} = $_[3];
$ENV{'QUOTA_FUNITS'} = $_[4];
&system_logged($config{'user_grace_command'});
}

# edit_group_grace(filesystem, btime, bunits, ftime, funits)
# Change the grace times for blocks and files on some filesystem
sub edit_group_grace
{
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "$module_root_directory/edgrace.pl";
$ENV{'QUOTA_FILESYS'} = $_[0];
$ENV{'QUOTA_BTIME'} = $_[1];
$ENV{'QUOTA_BUNITS'} = $_[2];
$ENV{'QUOTA_FTIME'} = $_[3];
$ENV{'QUOTA_FUNITS'} = $_[4];
&system_logged($config{'group_grace_command'});
}

# quota_input(name)
sub quota_input
{
printf "<td nowrap><input type=radio name=$_[0]_def value=1 %s> $text{'quota_unlimited'}\n",
	$_[1]==0 ? "checked" : "";
printf "<input type=radio name=$_[0]_def value=0 %s>\n",
	$_[1]==0 ? "" : "checked";
printf "<input name=$_[0] size=8 value=\"%s\"></td> </tr>\n",
	$_[1]==0 ? "" : $_[1];
}

# can_edit_filesys(filesys)
sub can_edit_filesys
{
local $fs;
foreach $fs (split(/\s+/, $access{'filesys'})) {
	return 1 if ($fs eq "*" || $fs eq $_[0]);
	}
return 0;
}

# can_edit_user(user)
sub can_edit_user
{
if ($access{'umode'} == 0) {
	return 1;
	}
elsif ($access{'umode'} == 3) {
	local @u = getpwnam($_[0]);
	return $access{'users'} == $u[3];
	}
elsif ($access{'umode'} == 4) {
	local @u = getpwnam($_[0]);
	return (!$access{'umin'} || $u[2] >= $access{'umin'}) &&
	       (!$access{'umax'} || $u[2] <= $access{'umax'});
	}
else {
	local ($u, %ucan);
	map { $ucan{$_}++ } split(/\s+/, $access{'users'});
	return $access{'umode'} == 1 && $ucan{$_[0]} ||
	       $access{'umode'} == 2 && !$ucan{$_[0]};
	}
}

# can_edit_group(group)
sub can_edit_group
{
return 1 if ($access{'gmode'} == 0);
return 0 if ($access{'gmode'} == 3);
local ($g, %gcan);
map { $gcan{$_}++ } split(/\s+/, $access{'groups'});
return $access{'gmode'} == 1 && $gcan{$_[0]} ||
       $access{'gmode'} == 2 && !$gcan{$_[0]};
}

# filesystem_info(filesystem, &hash, count)
sub filesystem_info
{
local @fs = &free_space($_[0]);
if ($_[1]) {
	local $bt = 0;
	local $ft = 0;
	local $i;
	for($i=0; $i<$_[2]; $i++) {
		$bt += $_[1]->{$i,'hblocks'};
		$ft += $_[1]->{$i,'hfiles'};
		}
	return ( "$fs[0] total / $fs[1] free / $bt granted",
		 "$fs[2] total / $fs[3] free / $ft granted" );
	}
else {
	return ( "$fs[0] total / $fs[1] free",
		 "$fs[2] total / $fs[3] free" );
	}
}

1;

   07070100008e71000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000002000000003reloc/quota/redhat-linux-lib.pl   # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e72000081e40000000000000002000000013d1fe2cb00000439000000200000000000000000000000000000002100000003reloc/quota/save_group_quota.cgi  #!/usr/local/bin/perl
# save_group_quota.cgi
# Update the quota for some group

require './quota-lib.pl';
&ReadParse();

&can_edit_group($in{'group'}) ||
	&error($text{'sgroup_egroup'});
&can_edit_filesys($in{'filesys'}) ||
	&error($text{'sgroup_efs'});
!$access{'maxblocks'} ||
	!$in{'sblocks_def'} && $in{'sblocks'} <= $access{'maxblocks'} &&
	!$in{'hblocks_def'} && $in{'hblocks'} <= $access{'maxblocks'} ||
		&error(&text('suser_emaxblocks', $access{'maxblocks'}));
!$access{'maxfiles'} ||
	!$in{'sfiles_def'} && $in{'sfiles'} <= $access{'maxfiles'} &&
	!$in{'hfiles_def'} && $in{'hfiles'} <= $access{'maxfiles'} ||
		&error(&text('suser_emaxfiles', $access{'maxfiles'}));
&edit_group_quota($in{'group'}, $in{'filesys'},
		  $in{'sblocks_def'} ? 0 : $in{'sblocks'},
		  $in{'hblocks_def'} ? 0 : $in{'hblocks'},
		  $in{'sfiles_def'} ? 0 : $in{'sfiles'},
		  $in{'hfiles_def'} ? 0 : $in{'hfiles'});
&webmin_log("save", "group", $in{'group'}, \%in);
if ($in{'source'}) { &redirect("group_filesys.cgi?group=$in{'group'}"); }
else { &redirect("list_groups.cgi?$in{'filesys'}"); }

   07070100008e73000081e40000000000000002000000013d1fe2cb000002da000000200000000000000000000000000000001a00000003reloc/quota/save_sync.cgi #!/usr/local/bin/perl
# save_sync.cgi
# Save default quotas

require './quota-lib.pl';
$access{'default'} && &can_edit_filesys($in{'filesys'}) ||
	&error($text{'ssync_ecannot'});
&ReadParse();
&lock_file("$module_config_directory/config");
$v = join(' ',
	($in{'sblocks_def'} ? 0 : $in{'sblocks'},
	 $in{'hblocks_def'} ? 0 : $in{'hblocks'},
	 $in{'sfiles_def'} ? 0 : $in{'sfiles'},
	 $in{'hfiles_def'} ? 0 : $in{'hfiles'}) );
$k = "sync_$in{'filesys'}";
if ($v eq "0 0 0 0") { delete($config{$k}); }
else { $config{$k} = $v; }
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&webmin_log("sync", "user", $in{'filesys'}, \%in);
&redirect("list_users.cgi?$in{'filesys'}");

  07070100008e74000081e40000000000000002000000013d1fe2cb00000426000000200000000000000000000000000000002000000003reloc/quota/save_user_quota.cgi   #!/usr/local/bin/perl
# save_user_quota.cgi
# Update the quota for some user

require './quota-lib.pl';
&ReadParse();

&can_edit_user($in{'user'}) ||
	&error($text{'suser_euser'});
&can_edit_filesys($in{'filesys'}) ||
	&error($text{'suser_efs'});
!$access{'maxblocks'} ||
	!$in{'sblocks_def'} && $in{'sblocks'} <= $access{'maxblocks'} &&
	!$in{'hblocks_def'} && $in{'hblocks'} <= $access{'maxblocks'} ||
		&error(&text('suser_emaxblocks', $access{'maxblocks'}));
!$access{'maxfiles'} ||
	!$in{'sfiles_def'} && $in{'sfiles'} <= $access{'maxfiles'} &&
	!$in{'hfiles_def'} && $in{'hfiles'} <= $access{'maxfiles'} ||
		&error(&text('suser_emaxfiles', $access{'maxfiles'}));
&edit_user_quota($in{'user'}, $in{'filesys'},
		 $in{'sblocks_def'} ? 0 : $in{'sblocks'},
		 $in{'hblocks_def'} ? 0 : $in{'hblocks'},
		 $in{'sfiles_def'} ? 0 : $in{'sfiles'},
		 $in{'hfiles_def'} ? 0 : $in{'hfiles'});
&webmin_log("save", "user", $in{'user'}, \%in);
if ($in{'source'}) { &redirect("user_filesys.cgi?user=$in{'user'}"); }
else { &redirect("list_users.cgi?$in{'filesys'}"); }

  07070100008e75000081a40000000000000002000000013d1fe2cc00002d67000000200000000000000000000000000000002300000003reloc/quota/slackware-linux-lib.pl    # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e76000081e40000000000000002000000013d1fe2cc00001992000000200000000000000000000000000000001b00000003reloc/quota/solaris-lib.pl    # solaris-lib.pl
# Quota functions for solaris 2.5+

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 1;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local($out);
$out = `df -t $_[0]`;
$out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/;
return ($3, $1, $4, $2);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return $_[0]->[2] eq "ufs" ? 1 : 0;
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, %hasu, $u);
$rep = `$config{'user_repquota_command'} $_[0] 2>&1`;
if ($?) { return -1; }
setpwent();
while(@uinfo = getpwent()) {
	$hasu{$uinfo[0]}++;
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s+[\-\+]{2}\s+(\d+)\s+(\d+)\s+(\d+)\s+.{0,15}\s+(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+[\-\+]{2}(.{7})(.{7})(.{7}).{13}(.{7})(.{7})(.{7})/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		$user{$n,'user'} =~ s/^#//g;
		if ($user{$n,'user'} !~ /^\d+$/ && !$hasu{$user{$n,'user'}}) {
			# Username was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($user{$n,'user'})) eq
				    $user{$n,'user'}) {
					# found him..
					$user{$n,'user'} = $u;
					last;
					}
				}
			}
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found line to change
		$line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota file for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($qf, $out);
$qf = "$_[0]/quotas";
if (!(-r $qf)) {
	open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
	chmod(0600, $qf);
	}
$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystems some user has
# quotas on
sub user_filesystems
{
local($n, $_);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|Filesystem)/i) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line!
		$filesys{$n,'filesys'} = $1;
		local $nl = <QUOTA>;
		if ($nl =~ /^\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ ||
		    $nl =~ /^.{13}(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) {
			$filesys{$n,'ublocks'} = int($1);
			$filesys{$n,'sblocks'} = int($2);
			$filesys{$n,'hblocks'} = int($3);
			$filesys{$n,'ufiles'} = int($4);
			$filesys{$n,'sfiles'} = int($5);
			$filesys{$n,'hfiles'} = int($6);
			$n++;
			}
		}
	elsif (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s.{0,15}\s(\d+)\s+(\d+)\s+(\d+)/ ||
	       /^(.{13})(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) {
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} =~ s/\s+$//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month
sub get_user_grace
{
local(@rv);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} |");
while(<GRACE>) {
	if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) {
		if ($2 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $2, $name_to_unit{$3}); }
		if ($4 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $4, $name_to_unit{$5}); }
		}
	}
close(GRACE);
return @rv;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 1;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'});
}

%name_to_unit = ( "sec", 0, "secs", 0,
		  "min", 1, "mins", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		  "week", 4, "weeks", 4,
		  "month", 5, "months", 5
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

  07070100008e77000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000001e00000003reloc/quota/suse-linux-lib.pl # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e78000081a40000000000000002000000013d1fe2cb00002d67000000200000000000000000000000000000001f00000003reloc/quota/turbo-linux-lib.pl    # linux-lib.pl
# Quota functions for all linux version

# quotas_init()
sub quotas_init
{
if (&has_command("quotaon") && &has_command("quotaoff")) {
	return undef;
	}
else {
	return "The quotas package does not appear to be installed on ".
	       "your system\n";
	}
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 3;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local(@out, @rv);
$out = `df $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
$out = `df -i $_[0]`;
$out =~ /Mounted on\n\S+\s+(\d+)\s+\d+\s+(\d+)/;
push(@rv, ($1, $2));
return @rv;
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return ($_[1]->[3] =~ /usrquota/ ? 1 : 0) +
       ($_[1]->[3] =~ /grpquota/ ? 2 : 0);
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
# Adding 4 means they cannot be turned off (such as for XFS)
sub quota_now
{
local $rv = 0;
local $dir = $_[0]->[0];
if ($_[0]->[2] eq "xfs") {
	# For XFS, assume enabled if setup in fstab
	local %opts;
	map { $opts{$_}++ } split(/,/, $_[0]->[3]);
	$rv += 1 if ($opts{'quota'} || $opts{'usrquota'} ||
		     $opts{'uqnoenforce'});
	$rv += 2 if ($opts{'grpquota'} || $opts{'gqnoenforce'});
	return $rv + 4;
	}
if ($_[0]->[4]%2 == 1) {
	# test user quotas
	if (-r "$dir/quota.user" || -r "$dir/aquota.user") {
		$out = `$config{'user_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 1;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'user_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
if ($_[0]->[4] > 1) {
	# test group quotas
	if (-r "$dir/quota.group" || -r "$dir/aquota.group") {
		$out = `LANG= LOCALE= $config{'group_quotaon_command'} $dir 2>&1`;
		if ($out =~ /Device or resource busy/i) {
			# already on..
			$rv += 2;
			}
		elsif ($out =~ /Package not installed/i) {
			# No quota support!
			return 0;
			}
		else {
			# was off.. need to turn on again
			`$config{'group_quotaoff_command'} $dir 2>&1`;
			}
		}
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota files for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($out, $qf, @qfile, $flags);
if ($_[1]%2 == 1) {
	# turn on user quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.user"
					   : "$_[0]/quota.user";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	# turn on group quotas
	$qf = &has_command("convertquota") ? "$_[0]/aquota.group"
					   : "$_[0]/quota.group";
	if (!(-r $qf)) {
		open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
		chmod(0600, $qf);
		&system_logged("$config{'quotacheck_command'} $_[0]");
		}
	$out = &backquote_logged("$config{'group_quotaon_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
if ($_[1]%2 == 1) {
	$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
if ($_[1] > 1) {
	$out = &backquote_logged("$config{'group_quotaoff_command'} $_[0] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystem some user has
# quotas on
sub user_filesystems
{
return &parse_quota_output("$config{'user_quota_command'} $_[0]");
}

# group_filesystems(user)
# Fills the array %filesys with details of all filesystem some group has
# quotas on
sub group_filesystems
{
return &parse_quota_output("$config{'group_quota_command'} $_[0]");
}

sub parse_quota_output
{
local($n, $_, %mtab);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
open(QUOTA, "$_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|\s+Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line
		$filesys{$n,'filesys'} = $mtab{$1};
		<QUOTA>=~/^.{15}.(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{15}).(.{7}).(.{7}).(.{7}).{8}.(.{7}).(.{7}).(.{7})/) {
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$dev = $1; $dev =~ s/\s+$//g; $dev =~ s/^\s+//g;
		$filesys{$n,'filesys'} = $mtab{$dev};
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
return &parse_repquota_output(
	"$config{'user_repquota_command'} $_[0]", "user");
}

sub filesystem_groups
{
return &parse_repquota_output(
	"$config{'group_repquota_command'} $_[0]", "group");
}

sub parse_repquota_output
{
local($rep, @rep, $n, $what, $u, @uinfo);
$what = $_[1];
$rep = `$_[0] 2>&1`;
if ($?) { return -1; }
if ($what eq 'user') {
	setpwent();
	while(@uinfo = getpwent()) {
		$hasu{$uinfo[0]}++;
		}
	endpwent() if ($gconfig{'os_type'} ne 'hpux');
	}
else {
	setgrent();
	while(@uinfo = getgrent()) {
		$hasu{$uinfo[0]}++;
		}
	endgrent() if ($gconfig{'os_type'} ne 'hpux');
	}
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
local $nn = 0;
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /^\s*(\S+)\s+[\-\+]{2}\s+(\S+)\s+(\S+)\s+(\S+).{7}\s+(\S+)\s+(\S+)\s+(\S+)/ || $rep[$n] =~ /([^\-\s]\S*)\s*[\-\+]{2}(.{8})(.{8})(.{8}).{7}(.{8})(.{6})(.{6})/) {
		$$what{$nn,$what} = $1;
		$$what{$nn,'ublocks'} = int($2);
		$$what{$nn,'sblocks'} = int($3);
		$$what{$nn,'hblocks'} = int($4);
		$$what{$nn,'ufiles'} = int($5);
		$$what{$nn,'sfiles'} = int($6);
		$$what{$nn,'hfiles'} = int($7);
		if ($$what{$nn,$what} !~ /^\d+$/ && !$hasu{$$what{$nn,$what}}) {
			# User/group name was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($$what{$nn,$what})) eq
				    $$what{$nn,$what}) {
					# found him..
					$$what{$nn,$what} = $u;
					last;
					}
				}
			}
		$nn++;
		}
	}
return $nn;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line, %mtab, @m, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) {
	@m = split(/\s+/);
	$mtab{$m[0]} = $m[1];
	}
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	if ($line[$i] =~ /^(\S+): blocks in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/ && $mtab{$1} eq $_[1]) {
		# found lines to change
		$rv .= "$1: blocks in use: $2, limits (soft = $_[2], hard = $_[3])\n";
		$line[++$i] =~ /^\s*inodes in use: (\d+), limits \(soft = (\d+), hard = (\d+)\)$/;
		$rv .= "\tinodes in use: $1, limits (soft = $_[4], hard = $_[5])\n";
		}
	elsif ($line[$i] =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# even newer-style line to change
		$rv .= "$line[$i]\n";
		$line[++$i] =~ /^used\s+(\S+),\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1, limits: soft=$_[2] hard=$_[3]\n";
		$line[++$i] =~ /^used\s+(\S+) inodes,\s+limits:\s+soft=(\d+)\s+hard=(\d+)/i;
		$rv .= "Used $1 inodes, limits: soft=$_[4] hard=$_[5]\n";
		}
	elsif ($line[$i] =~ /^\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)$/ && $mtab{$1} eq $_[1]) {
		# new-style line to change
		$rv .= "  $1 $2 $_[2] $_[3] $5 $_[4] $_[5]\n";
		}
	else { $rv .= "$line[$i]\n"; }
	}
return $rv;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# copy_group_quota(group, [group]+)
# Copy the quotas for some group to many others
sub copy_group_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'group_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_user_grace
{
return &parse_grace_output($config{'user_grace_command'}, $_[0]);
}

# get_group_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day
sub get_group_grace
{
return &parse_grace_output($config{'group_grace_command'}, $_[0]);
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 0;
}

sub parse_grace_output
{
local(@rv, %mtab, @m);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$_[0] 2>&1 |");
while(<GRACE>) {
	if (/^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		@rv = ($2, $name_to_unit{$3}, $4, $name_to_unit{$5});
		}
	elsif (/^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		if (<GRACE> =~ /^block\s+grace:\s+(\S+)\s+(\S+)\s+inode\s+grace:\s+(\S+)\s+(\S+)/i) {
			@rv = ($1, $name_to_unit{$2}, $3, $name_to_unit{$4});
			last;
			}
		}
	}
close(GRACE);
return @rv;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line, @m, %mtab, @line, $i);
open(MTAB, "/etc/mtab");
while(<MTAB>) { @m = split(/\s+/); $mtab{$m[0]} = $m[1]; }
close(MTAB);
@line = split(/\n/, $_[0]);
for($i=0; $i<@line; $i++) {
	$line = $line[$i];
	if ($line =~ /^(\S+): block grace period: (\d+) (\S+), file grace period: (\d+) (\S+)/ && $mtab{$1} eq $_[1]) {
		# replace this line
		$line = "$1: block grace period: $_[2] $unit_to_name{$_[3]}, file grace period: $_[4] $unit_to_name{$_[5]}";
		}
	elsif ($line =~ /^\s+(\S+)\s+(\d+)(\S+)\s+(\d+)(\S+)/ && $mtab{$1} eq $_[1]) {
		# replace new-style line
		$line = "  $1  $_[2]$unit_to_name{$_[3]} $_[4]$unit_to_name{$_[5
]}";
		}
	elsif ($line =~ /^device\s+(\S+)\s+\((\S+)\):/i && $2 eq $_[1]) {
		# replace even newer-style line
		$rv .= "$line\n";
		$line = "Block grace: $_[2] $unit_to_name{$_[3]} Inode grace: $_[4] $unit_to_name{$_[5]}";
		$i++;
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'});
}

%name_to_unit = ( "second", 0, "seconds", 0,
		  "minute", 1, "minutes", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

 07070100008e79000081e40000000000000002000000013d1fe2cb000018e5000000200000000000000000000000000000001c00000003reloc/quota/unixware-lib.pl   # unixware-lib.pl
# Quota functions for UnixWare 7

# quotas_init()
sub quotas_init
{
return undef;
}

# quotas_supported()
# Returns 1 for user quotas, 2 for group quotas or 3 for both
sub quotas_supported
{
return 1;
}

# free_space(filesystem)
# Returns an array containing  btotal, bfree, ftotal, ffree
sub free_space
{
local($out);
$out = `df -t $_[0]`;
$out =~ /(\d+) blocks\s+(\d+) files\n.*\s+(\d+) blocks\s+(\d+) files/;
return ($3, $1, $4, $2);
}

# quota_can(&mnttab, &fstab)
# Can this filesystem type support quotas?
#  0 = No quota support (or not turned on in /etc/fstab)
#  1 = User quotas only
#  2 = Group quotas only
#  3 = User and group quotas
sub quota_can
{
return $_[0]->[2] eq "ufs" || $_[0]->[2] eq "vxfs" ? 1 : 0;
}

# quota_now(&mnttab, &fstab)
# Are quotas currently active?
#  0 = Not active
#  1 = User quotas active
#  2 = Group quotas active
#  3 = Both active
sub quota_now
{
return $_[0]->[3] =~ /,quota/ || $_[0]->[3] =~ /^quota/ ? 1 : 0;
}

# filesystem_users(filesystem)
# Fills the array %user with information about all users with quotas
# on this filesystem. This may not be all users on the system..
sub filesystem_users
{
local($rep, @rep, $n, %hasu, $u);
$rep = &backquote_logged("$config{'user_repquota_command'} $_[0] 2>&1");
if ($?) { return -1; }
setpwent();
while(@uinfo = getpwent()) {
	$hasu{$uinfo[0]}++;
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');
@rep = split(/\n/, $rep); @rep = @rep[3..$#rep];
for($n=0; $n<@rep; $n++) {
	if ($rep[$n] =~ /(\S+)\s+..\s+(\d+)\s+(\d+)\s+(\d+).*(\d+)\s+(\d+)\s+(\d+)/ || $rep[$n] =~ /(\S+)\s+..(.{7})(.{7})(.{7}).{13}(.{7})(.{7})(.{7})/) {
		$user{$n,'user'} = $1;
		$user{$n,'ublocks'} = int($2);
		$user{$n,'sblocks'} = int($3);
		$user{$n,'hblocks'} = int($4);
		$user{$n,'ufiles'} = int($5);
		$user{$n,'sfiles'} = int($6);
		$user{$n,'hfiles'} = int($7);
		$user{$n,'user'} =~ s/^#//g;
		if ($user{$n,'user'} !~ /^\d+$/ && !$hasu{$user{$n,'user'}}) {
			# Username was truncated! Try to find him..
			foreach $u (keys %hasu) {
				if (substr($u, 0, length($user{$n,'user'})) eq
				    $user{$n,'user'}) {
					# found him..
					$user{$n,'user'} = $u;
					last;
					}
				}
			}
		}
	}
return $n;
}

# edit_quota_file(data, filesys, sblocks, hblocks, sfiles, hfiles)
sub edit_quota_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks \(soft = (\d+), hard = (\d+)\) inodes \(soft = (\d+), hard = (\d+)\)$/ && $1 eq $_[1]) {
		# found line to change
		$line = "fs $_[1] blocks (soft = $_[2], hard = $_[3]) inodes (soft = $_[4], hard = $_[5])";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# quotaon(filesystem, mode)
# Activate quotas and create quota file for some filesystem. The mode can
# be 1 for user only, 2 for group only or 3 for user and group
sub quotaon
{
local($qf, $out);
$qf = "$_[0]/quotas";
if (!(-r $qf)) {
	open(QUOTAFILE, "> $qf"); close(QUOTAFILE);
	chmod(0600, $qf);
	}
$out = &backquote_logged("$config{'user_quotaon_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotaoff(filesystem, mode)
# Turn off quotas for some filesystem
sub quotaoff
{
local($out);
$out = &backquote_logged("$config{'user_quotaoff_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# quotacheck(filesystem, mode)
# Runs quotacheck on some filesystem
sub quotacheck
{
$out = &backquote_logged("$config{'quotacheck_command'} $_[0] 2>&1");
if ($?) { return $out; }
return undef;
}

# copy_user_quota(user, [user]+)
# Copy the quotas for some user to many others
sub copy_user_quota
{
for($i=1; $i<@_; $i++) {
	$out = &backquote_logged("$config{'user_copy_command'} $_[0] $_[$i] 2>&1");
	if ($?) { return $out; }
	}
return undef;
}

# user_filesystems(user)
# Fills the array %filesys with details of all filesystems some user has
# quotas on
sub user_filesystems
{
local($n, $_);
open(QUOTA, "$config{'user_quota_command'} $_[0] |");
$n=0; while(<QUOTA>) {
	chop;
	if (/^(Disk|Filesystem)/) { next; }
	if (/^(\S+)$/) {
		# Bogus wrapped line!
		$filesys{$n,'filesys'} = $1;
		<QUOTA> =~ /^.{13}(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/;
		$filesys{$n,'ublocks'} = int($1);
		$filesys{$n,'sblocks'} = int($2);
		$filesys{$n,'hblocks'} = int($3);
		$filesys{$n,'ufiles'} = int($4);
		$filesys{$n,'sfiles'} = int($5);
		$filesys{$n,'hfiles'} = int($6);
		$n++;
		}
	elsif (/^(.{13})(.{7})(.{7})(.{7}).{12}(.{7})(.{7})(.{7})/) {
		$filesys{$n,'filesys'} = $1;
		$filesys{$n,'ublocks'} = int($2);
		$filesys{$n,'sblocks'} = int($3);
		$filesys{$n,'hblocks'} = int($4);
		$filesys{$n,'ufiles'} = int($5);
		$filesys{$n,'sfiles'} = int($6);
		$filesys{$n,'hfiles'} = int($7);
		$filesys{$n,'filesys'} =~ s/\s+$//g;
		$n++;
		}
	}
close(QUOTA);
return $n;
}

# get_user_grace(filesystem)
# Returns an array containing  btime, bunits, ftime, funits
# The units can be 0=sec, 1=min, 2=hour, 3=day, 4=week, 5=month
sub get_user_grace
{
local(@rv);
$ENV{'EDITOR'} = $ENV{'VISUAL'} = "cat";
open(GRACE, "$config{'user_grace_command'} |");
while(<GRACE>) {
	if (/^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[0]) {
		if ($2 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $2, $name_to_unit{$3}); }
		if ($4 == 0) { push(@rv, 0, 0); }
		else { push(@rv, $4, $name_to_unit{$5}); }
		}
	}
close(GRACE);
return @rv;
}

# default_grace()
# Returns 0 if grace time can be 0, 1 if zero grace means default
sub default_grace
{
return 1;
}

# edit_grace_file(data, filesystem, btime, bunits, ftime, funits)
sub edit_grace_file
{
local($rv, $line);
foreach $line (split(/\n/, $_[0])) {
	if ($line =~ /^fs (\S+) blocks time limit = ([0-9\.]+) (\S+), files time limit = ([0-9\.]+) (\S+)/ && $1 eq $_[1]) {
		# replace this line
		$line = "fs $_[1] blocks time limit = $_[2] $unit_to_name{$_[3]}, files time limit = $_[4] $unit_to_name{$_[5]}";
		}
	$rv .= "$line\n";
	}
return $rv;
}

# grace_units()
# Returns an array of possible units for grace periods
sub grace_units
{
return ($text{'grace_seconds'}, $text{'grace_minutes'}, $text{'grace_hours'},
	$text{'grace_days'}, $text{'grace_weeks'}, $text{'grace_months'});
}

%name_to_unit = ( "sec", 0, "secs", 0,
		  "min", 1, "mins", 1,
		  "hour", 2, "hours", 2,
		  "day", 3, "days", 3,
		  "week", 4, "weeks", 4,
		  "month", 5, "months", 5
		);
foreach $k (keys %name_to_unit) {
	$unit_to_name{$name_to_unit{$k}} = $k;
	}

1;

   07070100008e7a000081e40000000000000002000000013d1fe2cb000009e5000000200000000000000000000000000000001d00000003reloc/quota/user_filesys.cgi  #!/usr/local/bin/perl
# user_filesys.cgi
# List all filesystems for which some user has quotas

require './quota-lib.pl';
&ReadParse();
$u = $in{'user'};
&can_edit_user($u) ||
	&error(&text('ufilesys_ecannot', $u));
&header($text{'ufilesys_title'}, "", "user_filesys");
print "<hr>\n";

foreach $f (&list_filesystems()) {
	if ($f->[4]%2 && $f->[5] && &can_edit_filesys($f->[0])) {
		push(@fslist, $f->[0]);
		$fslist{$f->[0]}++;
		}
	}

$n = &user_filesystems($u);
if ($n) {
	print "<h3>",&text('ufilesys_all', &html_escape($u)),"</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><br></td>\n";
	print "<td colspan=3 align=center><b>$text{'ufilesys_blocks'}</b></td>\n";
	print "<td colspan=3 align=center><b>$text{'ufilesys_files'}</b></td> </tr>\n";
	print "<tr $tb> <td><b>$text{'ufilesys_fs'}</b></td>\n";
	print "<td><b>$text{'ufilesys_used'}</b></td> <td><b>$text{'ufilesys_soft'}</b></td>\n";
	print "<td><b>$text{'ufilesys_hard'}</b></td>\n";
	print "<td><b>$text{'ufilesys_used'}</b></td> <td><b>$text{'ufilesys_soft'}</b></td>\n";
	print "<td><b>$text{'ufilesys_hard'}</b></td> </tr>\n";
	for($i=0; $i<$n; $i++) {
		$f = $filesys{$i,'filesys'};
		print "<tr $cb>\n";
		if ($fslist{$f}) {
			print "<td><a href=\"edit_user_quota.cgi?filesys=$f&user=$u&source=1\">$f</a></td>\n";
			}
		else { print "<td>$f</td>\n"; }
		print "<td>$filesys{$i,'ublocks'}</td>\n";
		&print_limit($filesys{$i,'sblocks'});
		&print_limit($filesys{$i,'hblocks'});
		print "<td>$filesys{$i,'ufiles'}</td>\n";
		&print_limit($filesys{$i,'sfiles'});
		&print_limit($filesys{$i,'hfiles'});
		print "</tr>\n";
		}
	print "</table><br>\n";
	}
else {
	print "<b>",&text('ufilesys_nouquota', $u),"</b><p>\n";
	}

print "<table width=100%><tr>\n";
print "<form action=edit_user_quota.cgi>\n";
print "<input type=hidden name=user value=\"$u\">\n";
print "<input type=hidden name=source value=1>\n";
print "<td align=left><input type=submit value=\"$text{'ufilesys_edit'}\">\n";
print "<select name=filesys>\n";
foreach $f (@fslist) { print "<option>$f\n"; }
print "</select></td></form>\n";

if ($access{'filesys'} eq "*") {
	print "<form action=copy_user_form.cgi>\n";
	print "<input type=hidden name=user value=\"$u\">\n";
	print "<td align=right><input type=submit value=\"$text{'ufilesys_copy'}\">\n";
	print "</td></form>\n";
	}
print "</tr></table>\n";

print "<hr>\n";
&footer("", $text{'ufilesys_return'});

sub print_limit
{
if ($_[0] == 0) { print "<td>$text{'quota_unlimited'}</td>\n"; }
else { print "<td>$_[0]</td>\n"; }
}

   07070100008e7b000081e40000000000000002000000013d1fe2cc000006fd000000200000000000000000000000000000002000000003reloc/quota/user_grace_form.cgi   #!/usr/local/bin/perl
# user_grace_form.cgi
# Display a form for editing user grace times for some filesystem

require './quota-lib.pl';
&ReadParse();
$access{'ugrace'} && &can_edit_filesys($in{'filesys'}) ||
	&error($text{'ugracef_ecannot'});
&header($text{'ugracef_title'}, "", "user_grace");
print "<hr>\n";

print "$text{'ugracef_info'}<p>\n";

@gr = &get_user_grace($in{'filesys'});
print "<form action=user_grace_save.cgi>\n";
print "<input type=hidden name=filesys value=\"$in{'filesys'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td colspan=2><b>",&text('ugracef_graces', $in{'filesys'}),"</b></td></tr>\n";

print "<tr $cb> <td width=20%><b>$text{'ugracef_block'}</b></td> <td>\n";
if (&default_grace()) {
	printf "<input type=radio name=bdef value=1 %s> $text{'default'}\n",
		$gr[0] ? "" : "checked";
	printf "<input type=radio name=bdef value=0 %s>\n",
		$gr[0] ? "checked" : "";
	}
print "<input name=btime size=6 value=\"$gr[0]\">";
&select_units("bunits", $gr[1]);
print "</td> </tr>\n";

print "<tr $cb> <td width=20%><b>$text{'ugracef_file'}</b></td> <td>\n";
if (&default_grace()) {
	printf "<input type=radio name=fdef value=1 %s> $text{'default'}\n",
		$gr[2] ? "" : "checked";
	printf "<input type=radio name=fdef value=0 %s>\n",
		$gr[2] ? "checked" : "";
	}
print "<input name=ftime size=6 value=\"$gr[2]\">";
&select_units("funits", $gr[3]);
print "</td> </tr>\n";

print "</table><p>\n";
print "<input type=submit value=$text{'ugracef_update'}></form>\n";

print "<hr>\n";
&footer("list_users.cgi?$in{'filesys'}", $text{'ugracef_return'});

sub select_units
{
@uarr = &grace_units();
print "<select name=$_[0]>\n";
for($i=0; $i<@uarr; $i++) {
	printf "<option value=$i %s>$uarr[$i]\n",
		$i == $_[1] ? "selected" : "";
	}
print "</select>\n";
}

   07070100008e7c000081e40000000000000002000000013d1fe2cb00000307000000200000000000000000000000000000002000000003reloc/quota/user_grace_save.cgi   #!/usr/local/bin/perl
# user_grace_save.cgi
# Update the grace times for users on some filesystem

require './quota-lib.pl';
&ReadParse();
$whatfailed = $text{'ugraces_esave'};
$access{'ugrace'} && &can_edit_filesys($in{'filesys'}) ||
	&error($text{'ugraces_eedit'});

if ($in{'bdef'}) { push(@args, 0, 0); }
elsif ($in{'btime'} !~ /^[0-9\.]+$/)
	{ &error(&text('ugraces_enumber', $in{'btime'})); }
else { push(@args, ($in{'btime'}, $in{'bunits'})); }

if ($in{'fdef'}) { push(@args, 0, 0); }
elsif ($in{'ftime'} !~ /^[0-9\.]+$/)
	{ &error(&text('ugraces_enumber', $in{'ftime'})); }
else { push(@args, ($in{'ftime'}, $in{'funits'})); }

&edit_user_grace($in{'filesys'}, @args);
&webmin_log("grace", "user", $in{'filesys'}, \%in);
&redirect("list_users.cgi?$in{'filesys'}");

 07070100008e7d000081a40000000000000002000000013d1fe2cb0000040a000000200000000000000000000000000000002000000003reloc/quota/useradmin_update.pl   
do 'quota-lib.pl';

# useradmin_create_user(&details)
# Sets quotas on chosen filesystems
sub useradmin_create_user
{
local ($k, $fs, $i, %fslist);
foreach $fs (&list_filesystems()) {
	if ($fs->[4] && $fs->[5]) {
		$fslist{$fs->[0]}++;
		}
	}
foreach $k (keys %config) {
	if ($k =~ /^sync_(\S+)$/ && $fslist{$1}) {
		# found a filesystem to set quotas on
		$fs = $1;
		@quot = split(/\s+/, $config{$k});
		&edit_user_quota($_[0]->{'user'}, $fs, @quot);
		}
	}
}

# useradmin_delete_user(&details)
# Zero the quotas of a deleted user
sub useradmin_delete_user
{
foreach $fs (&list_filesystems()) {
	if ($fs->[4] && $fs->[5]) {
		$fslist{$fs->[0]}++;
		}
	}
$n = &user_filesystems($_[0]->{'user'});
for($i=0; $i<$n; $i++) {
	$f = $filesys{$i,'filesys'};
	if ($fslist{$f}) {
		# user has quota, and filesystem is local
		&edit_user_quota($_[0]->{'user'}, $f, 0, 0, 0, 0);
		}
	}
}

# useradmin_modify_user(&details)
# Quotas are stored by UID, so no need to change anything
# when a username changes.
sub useradmin_modify_user
{
}

1;

  0707010000d16f000041ed0000000000000001000000043d1ffb2900000000000000200000000000000000000000000000000b00000003reloc/raid    0707010000d170000081a40000000000000002000000013d1fe2dc00000029000000200000000000000000000000000000001200000003reloc/raid/config raidtab=/etc/raidtab
mdstat=/proc/mdstat
   0707010000d171000081a40000000000000002000000013d1fe2dc00000043000000200000000000000000000000000000001700000003reloc/raid/config.info    raidtab=RAID configuration file,0
mdstat=Kernel RAID status file,0
 0707010000d184000081a40000000000000002000000013d1fe2dc00000053000000200000000000000000000000000000001a00000003reloc/raid/config.info.ca raidtab=Fitxer de configuració RAID,0
mdstat=Fitxer d'estat del RAID de kernel,0


 0707010000d185000081a40000000000000002000000013d1fe2dc00000048000000200000000000000000000000000000001a00000003reloc/raid/config.info.cz raidtab=Konfiguraèní soubor RAIDu,0
mdstat=Kernel RAID stavový soubor,0
0707010000d186000081a40000000000000002000000013d1fe2dc00000044000000200000000000000000000000000000001a00000003reloc/raid/config.info.de raidtab=RAID Konfigurationsdatei,0
mdstat=Kernel RAID Statusdatei,0
0707010000d187000081a40000000000000002000000013d1fe2dc00000056000000200000000000000000000000000000001a00000003reloc/raid/config.info.es raidtab=Archivo de configuración RAID,0
mdstat=Archivo de estado del RAID de Kernel,0
  0707010000d188000081a40000000000000002000000013d1fe2dc0000004c000000200000000000000000000000000000001a00000003reloc/raid/config.info.pl raidtab=Plik konfiguracji RAIDu,0
mdstat=Plik stanu RAIDu w&nbsp; kernelu,0
0707010000d189000081a40000000000000002000000013d1fe2dc00000046000000200000000000000000000000000000001d00000003reloc/raid/config.info.ru_RU  mdstat=ßäåðíûé ôàéë ñîñòîÿíèÿ RAID,0
raidtab=Ôàéë êîíôèãóðàöèè RAID,0
  0707010000d18a000081a40000000000000002000000013d1fe2dc00000046000000200000000000000000000000000000001d00000003reloc/raid/config.info.ru_SU  raidtab=æÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ RAID,0
mdstat=ñÄÅÒÎÙÊ ÆÁÊÌ ÓÏÓÔÏÑÎÉÑ RAID,0
  0707010000d19d000081a40000000000000002000000013d1fe2dc00000048000000200000000000000000000000000000001a00000003reloc/raid/config.info.sv raidtab=Inställningsfil för RAID,0
mdstat=Statusfil för RAID i kärnan,0
0707010000d19e000081a40000000000000002000000013d1fe2dc00000049000000200000000000000000000000000000001a00000003reloc/raid/config.info.tr raidtab=RAID yapýlandýrma dosyasý,0
mdstat=Çekirdek RAID durum dosyasý,0
   0707010000d19f000081a40000000000000002000000013d1fe2dc00000034000000200000000000000000000000000000001d00000003reloc/raid/config.info.zh_CN  raidtab=RAID ÅäÖÃÎÄ¼þ,0
mdstat=ÄÚºË RAID ×´Ì¬ÎÄ¼þ,0
0707010000d1a0000081a40000000000000002000000013d1fe2dc00000037000000200000000000000000000000000000002200000003reloc/raid/config.info.zh_TW.Big5 raidtab=ºÏºÐ°}¦C²ÕºAÀÉ,0
mdstat=®Ö¤ßªººÏºÐ°}¦Cª¬ºAÀÉ,0
 0707010000d1a1000081e40000000000000002000000013d1fe2dc000007cb000000200000000000000000000000000000001b00000003reloc/raid/create_raid.cgi    #!/usr/local/bin/perl
# create_raid.cgi
# Create raid set

require './raid-lib.pl';
&ReadParse();
&lock_file($config{'raidtab'});
$conf = &get_raidtab();

# Build config file structure
&error_setup($text{'create_err'});
$raid = { 'name' => 'raiddev',
	  'value' => $in{'device'},
	  'members' => \@members };
push(@members, { 'name' => 'raid-level',
		 'value' => $in{'level'} } );
push(@members, { 'name' => 'persistent-superblock',
		 'value' => $in{'super'} } );
push(@members, { 'name' => 'chunk-size',
		 'value' => $in{'chunk'} } );
if ($in{'parity'}) {
	push(@members, { 'name' => 'parity-algorithm',
			 'value' => $in{'parity'} } );
	}

# Add RAID disks
@disks = split(/\0/, $in{'disks'});
if (!@disks) {
	&error($text{'create_edisks'});
	}
elsif ($in{'level'} == 1 && @disks < 2) {
	&error($text{'create_edisks2'});
	}
push(@members, { 'name' => 'nr-raid-disks',
		 'value' => scalar(@disks)+($in{'pdisk'} ? 1 : 0) } );
for($i=0; $i<@disks; $i++) {
	push(@members, { 'name' => 'device',
			 'value' => $disks[$i],
			 'members' => [ { 'name' => 'raid-disk',
					  'value' => $i } ] } );
	}

# Add spares
@spares = split(/\0/, $in{'spares'});
if (@spares) {
	push(@members, { 'name' => 'nr-spare-disks',
			 'value' => scalar(@spares) } );
	for($i=0; $i<@spares; $i++) {
		if (&indexof($spares[$i], @disks) != -1) {
			&error(&text('create_espare', $spares[$i]));
			}
		push(@members, { 'name' => 'device',
				 'value' => $spares[$i],
				 'members' => [ { 'name' => 'spare-disk',
						  'value' => $i } ] } );
		}
	}

# Add parity disk
if ($in{'pdisk'}) {
	&indexof($in{'pdisk'}, @disks) < 0 || &error($text{'create_epdisk'});
	push(@members, { 'name' => 'device',
			 'value' => $in{'pdisk'},
			 'members' => [ { 'name' => 'parity-disk',
					  'value' => 0 } ] } );
	}

&create_raid($raid);
&unlock_file($config{'raidtab'});
if ($err = &make_raid($raid, $in{'force'})) {
	&delete_raid($raid);
	&error($err);
	}
&webmin_log("create", undef, $in{'device'}, \%in);
&redirect("");

 0707010001161c000041ed0000000000000001000000023d1ffb2800000000000000200000000000000000000000000000001200000003reloc/raid/images 0707010001161d000081a40000000000000002000000013d1fe2dc0000022c000000200000000000000000000000000000001800000003reloc/raid/images/0.gif   GIF89a0 0 „  ÿÿÿ˜˜˜ÈÌÈœŸœBDBoqoCCCUUUŽŽŽÇÇÇªªªããã…ˆ…   ,-,vvv999rrr222²µ²eeeÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ  Ždižhª®jà¾pÀÎ(,Üx.ÀôìêÀàNÖ«	:WÑ@:wÃ%©ù6_ÒÑ¯zTfW*ÇûŠmH6k‹snô-Ì|9ßc¸W´­âóT{wyAkƒ„…pQ`Šˆc‡]ŠssZC…}€D|dvinwkS†qša¦{'’~š¥ª”P˜\ª¬OŸµœ·i´~Œ¼ Á¨—”Žœ`ÁIËs£Z¹V¡ÂÄl©ƒ×‹°Ê®@Í¯SËß‹Œ€²žDããÚêŽèÎêë²—Ý¢ÆÉgÑ¯1¢ÛØRµ»ÖÞdK– À@@Œ@€ À‹*ŠH `A±*0tÐ ÀŽ˜$q@ 4¨¨ e±@6Àá€@"H`)ñ¦	 À´!ç“˜À`…
H‰ºÄ	 æÖ®>:	isB“7¨´X”«W£^¡=Ý)ÀB€ÚÚÒ¨Ò¦3 HZBŽŽC\p	AIûÂ”YéC­µyPHÆV ½€"Û‹\HÈø¥uŠ ;0707010001161e000081a40000000000000002000000013d1fe2dc0000022c000000200000000000000000000000000000001b00000003reloc/raid/images/0.ia.gif    GIF89a0 0 „  ÿÿÿÆiiì¬§ÊsoU10QOU00j??»``ë¢¢Ö}}øÍÍ²[Y   9›PPI((%”OO@##Ü‰~KKÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ  Ždižhª®jà¾pÀÎ(,Üx.ÀôìêÀàNÖ«	:WÑ@:wÃ%©ù6_ÒÑ¯zTfW*ÇûŠmH6k‹snô-Ì|9ßc¸W´­âóT{wyAkƒ„…pQ`Šˆc‡]ŠssZC…}€D|dvinwkS†qša¦{'’~š¥ª”P˜\ª¬OŸµœ·i´~Œ¼ Á¨—”Žœ`ÁIËs£Z¹V¡ÂÄl©ƒ×‹°Ê®@Í¯SËß‹Œ€²žDããÚêŽèÎêë²—Ý¢ÆÉgÑ¯1¢ÛØRµ»ÖÞdK– À@@Œ@€ À‹*ŠH `A±*0tÐ ÀŽ˜$q@ 4¨¨ e±@6Àá€@"H`)ñ¦	 À´!ç“˜À`…
H‰ºÄ	 æÖ®>:	isB“7¨´X”«W£^¡=Ý)ÀB€ÚÚÒ¨Ò¦3 HZBŽŽC\p	AIûÂ”YéC­µyPHÆV ½€"Û‹\HÈø¥uŠ ;0707010001161f000081a40000000000000002000000013d1fe2dc0000023d000000200000000000000000000000000000001800000003reloc/raid/images/1.gif   GIF89a0 0 „  øüøÈÌÈ˜˜˜œŸœBDB222TTTnpnRTRŠŒŠÁÄÁÜàÜeee   787¥¨¥,-,…ˆ…Y[Yÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'ŽdY¦¬ië¾*¼¢píÒõlï#¾ë<Y4ócGbR¹DÖÐ¨T°„KÒ¢v%}F&ëv¬…¶ÄÚ”€Ì.S±ìp{X›Gë8œN¶ßEyda|ch[r‰…uQ$~cr\_mYx3Y,X„”S›\ŽžŽW‘š˜€¦Š{ŽŒ[—‡¡“n •E´†k·©¢«ˆm¿Àu£™zÆ¸ËÊÉÌªÎ‚¯ÑÂ¥EÅÀ~Ó’ÕÌ×ÄÖ”¤Ï¬±|]™é·¡}•¼ŸÚ°¹žá²¾ßÛÈ¬çÃ¢}êæŠ`ª<ò¨Ü–ÐÛÂFÜ 9”®aÁ‡tÖã4¨âl/Þ@€@©Þ|8€`D‚œD©CÁ÷4(@ÀA˜4h @‚– ð™r@‚’<h D8`iÔ•>úuÈÔDx°B‚acz1õ
¨R‡+tÂ ¢r?àýP÷nÙ u?,À›U/… æ~pàÀ®àÃ<_ì ­ƒ°Hºô§åÁC´4š@uÑ ¼ŒY’ÀW^79’MD ;   07070100011620000081a40000000000000002000000013d1fe2dc0000023d000000200000000000000000000000000000001b00000003reloc/raid/images/1.ia.gif    GIF89a0 0 „  ýûöì¬§ÆiiÊsoU10@##i>>ŽPOh>=¸`]çŸœöËÅ~KK   F''Ñ~z9$²[YpDCÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'ŽdY¦¬ië¾*¼¢píÒõlï#¾ë<Y4ócGbR¹DÖÐ¨T°„KÒ¢v%}F&ëv¬…¶ÄÚ”€Ì.S±ìp{X›Gë8œN¶ßEyda|ch[r‰…uQ$~cr\_mYx3Y,X„”S›\ŽžŽW‘š˜€¦Š{ŽŒ[—‡¡“n •E´†k·©¢«ˆm¿Àu£™zÆ¸ËÊÉÌªÎ‚¯ÑÂ¥EÅÀ~Ó’ÕÌ×ÄÖ”¤Ï¬±|]™é·¡}•¼ŸÚ°¹žá²¾ßÛÈ¬çÃ¢}êæŠ`ª<ò¨Ü–ÐÛÂFÜ 9”®aÁ‡tÖã4¨âl/Þ@€@©Þ|8€`D‚œD©CÁ÷4(@ÀA˜4h @‚– ð™r@‚’<h D8`iÔ•>úuÈÔDx°B‚acz1õ
¨R‡+tÂ ¢r?àýP÷nÙ u?,À›U/… æ~pàÀ®àÃ<_ì ­ƒ°Hºô§åÁC´4š@uÑ ¼ŒY’ÀW^79’MD ;   07070100011621000081a40000000000000002000000013d1fe2dc00000503000000200000000000000000000000000000001800000003reloc/raid/images/4.gif   GIF89a0 0 Æ  ÿÿÿÞáÞÚÝÚ¤¥¤ÝàÝÄÆÄ±³±³µ³ÇËÇÈÌÈàãà¶¸¶¾Á¾´¶´¢£¢½À½«­«¨ª¨˜˜˜º½ºº¼ºÂÆÂ¦§¦²´²¥¦¥ÂÅÂ›››Ÿ Ÿ¿Â¿ÆÊÆª«ª«¬«µ¸µ¡¢¡   ¯±¯·¹·ž ¡ ÅÉÅœœœÇÌÇÆÉÆ­®­¹»¹¥§¥©«©ÈËÈÁÄÁžŸžÃÇÃ¿Ã¿ŸŸŸ®°®­¯­§¨§³¶³µ·µ¼¿¼ƒ„ƒ888ACABDBdedrrrUUUŽŽŽÇÇÇªªª…ˆ…   ,-,YZY999ããã+,+898oqolll››wxw“•“€676ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ€ ‚ƒ„…†‡ˆ‰‡ŒŠ••ž		š–¦„
	ž­ °
§§¬®¸°µ¦¯º» ÀÁ•º ÒÌÍ‰ !äåä á"ÛÜ‡#$¬%ôõô &'ìí…(]è@° Á(¤à×oÐ ÅV°˜HqâŠ-,¸`ØÀ­bÆ`%` âÇ†`cä(¤IN`éò%%B1iâä
”(¤éÜT-Ô¨R‚¦Zeì•HY´-ÍU4Ö,A'b|¤Ú“—/v[›ŠìõKÃ@VMl¡´þ\[‰lËlÀŒgÑ¦½¦!;¼Ò¨uåë7©
oàÄ™3‡îƒ:vˆÃ[|.Ýº¤ÞÅC0Ï^=|	ô±Ó,Ïóç|û’ÂøpÀ@ƒP @Ø±.Äü0bÅŠ3nÄ	‘•Äß1j¬‹ ,Íš`‚Å%I“‚R¥D0”§\£@‘zT÷“È2¶¸5µºÕ¨aCŠVEüµdëw
»¬pñGV1¨Õ(ÐP;g¦×`Øhc	6”wF78 Ö‘)FY=–Ô<‚Ã(¦ˆ"<ðA}¤qfÚ=¨éW
ä¨cŽ(€Ò@j5g›k¸¤s~þK—9´Ú~Ç!Ürª%i($Ìð"NÍQ'‚%!i¡S° !—Û)Rè‰É_:ŒÀŽv^®• }Ù©¢&,$ìp@Tƒ¬·ß—ým)HwEý”!YYya‚ò\M0%rV…üµ¡LíØUâ 'ª˜"‹¸È)7½±‚ãŽðÐƒ?ü A1ÈC  Ä®Bä:ErŸ+F+G$GA„ »p„B(q„¯K0q„°ä5U,–M8LG0´¶, A0!H­Û2l+ÅaÄPDB´‹®´ë±-J,lÄ6Û,r2[³ÏF«® Q+l¼…´gÌ·	HqÄ
«ð¹¯«„Ò*Œ1!ˆ&üÓTH[pJ¸+1µÖæZDä®»H#5UaL½!Ä³ ½®ºòêsÒ¶v$5!  ; 07070100011622000081a40000000000000002000000013d1fe2dc00000504000000200000000000000000000000000000001b00000003reloc/raid/images/4.ia.gif    GIF89a0 0 Æ  ÿÿÿ÷ËÆõÄÀÑvv÷ÉÄê¡ŸÜ‰‡Þ‹‰ìª¥ì¬§÷ÎÊàæ›—ßŒŠÎuuåš–×‚€Ô}ÆiiÉppã–’ã”’é£žÒyyÜ‹‰Ñxxé œÈmmÌqqæ™ë©¤Ö}}ÖßŒÍttÍrrÛ†„à‘ë§¢Énnì¬¥ê¦£Øâ“‘Ñ|zÕ€~ì¨¥çŸœÊqqé¥ æ ›Ù†„Ø…ƒÓzzÞ‰ßŽŒä˜•¯VVH''T0/U10}JJ”OOj??»``ë¢¢²[Y   9oBBI((øÍÍ%7QOŠMMÉqnœQQÁhfªSSE&&ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ€ ‚ƒ„…†‡ˆ‰‡ŒŠ••ž		š–¦„
	ž­ °
§§¬®¸°µ¦¯º» ÀÁ•º ÒÌÍ‰ !äåä á"ÛÜ‡#$¬%ôõô #ìí…&]è@° Á(œà×oÐ ÅR¨˜HqbŠ+,°`ØÀ­bÆ`%` ¢Ç†\cä(¤IN`éò%%B1iâä
”(¤éÜT-Ô¨R‚¦Zeì•HY´-ÍU4Ö,A#^|¤Ú“—/v[›ŠìõKÃ@VMl¡´þ\[‰lËl@ŒgÑ¦½¦!;¼Ò¨uåë7)
oàÄ™3‡îƒ:vˆÃ[|.Ýº¤ÞÅC0Ï^=|	ô±Ó,Ïóç|û’ºøpÀ@ƒP @Ø±.Äü0bÅŠ3nÄ	‘•Äß1j¬‹ ,Íš`‚Å%I“‚R¥D0”§\£@‘zT÷“È0¶¸5µºÕ¨aCŠEüµdëw
ÝèpñGV/¨Õ(ÈÀ;g¦×`Øhc	3”wF48 V‘)FY=–T<RC(¦ˆb<ðA}¤qfÚ=¨éWŒ	ä¨cŽ&€Ò@j5g›k¸¤s~þ‹—9´Ú~Ç!Ürª%i($Äð"NÍQ'‚%!i¡S° !—Û)Rè‰É_7 ™Ý÷hÍ Ì´÷e$àp@Tƒ¬·ßž	øh&DuõSP†deå…	.XÈs5Á”ÈYò·B†2µcW‰œ¨bŠ,àb§ÜôÆ
Ž;Fƒ;ðÀC@úðÃ @ À¼þ ë A|pH­1„¬DQ0A1D‚ð
ÀFü`Ä¿ÄÃ’×”±X&¡0>„ÑÞ:„° ø€„ ¶rk±ž+„J,Á0HüànºÓ²û·A1ð°^êb¬³C,±O³4­´ëR
r°ÁÊ[ˆž
JC8¡@¹£K1»F1-ÃÒ]Ç?ñÄ´`Ä»W{­®á”Ëî"ÔE0ùÄÐpô¹îÚëÏJßÚÑÔ„ ;07070100011623000081a40000000000000002000000013d1fe2dc000004bb000000200000000000000000000000000000001800000003reloc/raid/images/5.gif   GIF89a0 0 Æ  ÿÿÿÞáÞÚÝÚ¤¥¤ÝàÝÄÆÄ±³±³µ³ÇËÇÈÌÈàãà¶¸¶¾Á¾´¶´¢£¢½À½«­«¨ª¨˜˜˜º½ºº¼ºÂÆÂ¦§¦²´²¥¦¥ÂÅÂ›››Ÿ Ÿ¿Â¿ÆÊÆª«ª«¬«µ¸µ¡¢¡   ¯±¯·¹·ÅÉÅÇÌÇÆÉÆ­®­ÈËÈ ¡ ÁÄÁžŸž®°®ÃÇÃ§¨§žœœœ¹»¹¥§¥©«©¿Ã¿ŸŸŸ­¯­ÇÇÇUUU{}{IIIBDBmom]^]888²µ²…ˆ…xyxjkj‡‡‡ªªª   999ŽŽŽ›ž›BCB,-,oqoeeerrrXZX„‡„Y[Y:;:676$$$mnmœŸœxzxCCCããã››¼¿¼;<;JKJ“•“+,+ABAÅÈÅy{y[[[cdcÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ€ ‚ƒ„…†‡ˆ‰‡ŒŠ••ž		š–¦„
	ž­ °
§§¬®¸°µ¦¯º» ÀÁ•º ÒÌÍ‰ !äåä á"ÛÜ‡#$¬%ôõŒŽ‘“íƒ&]è@°&Mœ\e€T¿'Š¡HA1Õ*c¯`%E‹Û­b­>æªÆË»ZT€ô4l¥BXÉ–µéêY´i$¯iÈvÒVÄ‘¼gÎºêzšZÁÂ%‚wñÌ«Gï^>}”,µ á(‚,xpI†xÁàŒþp!J¤˜Â¢×O9ªý‰ÀD„¿4CâÂ¨±×/µƒCªôÚòî±1•ú[ì*°'›Ò¨½ÔÉ±S¹^…†Wô\ºuž½2u
UÕV¯ØWÈ®«­]+H6“Ù—hK*›ð+[·p_€F0±®*ÇcÍ*û_¿€w²ü”aÉþ´o§Ì’t‘+¥ü,3ÎÍØ´©ÿ•¯'ÑDK‡8št¾ÓÕ@µ&Õkõx J+€'ˆm­àX¼$áP ƒ‚‚çÉZmð–r|5G]($0ƒ4`8HuËaÇ]+1 B*"ÂÝzçiÔA5‚£`NáK@=r£}$Áþ‚N‘…p a°0`ÃL¢ò\ƒ\åÊ88P%!×á‡É%Ã#|ðe:´©Ã<ÂCÅøðC@ä	Ä&!ÄDÁG´‰ÄI’ÃG(ÁÊK pK0qD	ÁèNzÄ Hè ÈG@Å£‘!E'S@‘@T¼ ¦§F‘DFR…Q¸Š ¤’®Š€¦¯BqÄ‚6Cè¦U(zJ‘Å¯©
KlSh±ž
ÒÅ¹’ºéÔÛ	LdêÅ`„Ñ­ àpFˆ1€‘*¥–6q d”(7l¢Clæ hfœÆ VDl³	™‘ÆÁýdœH  ; 0707010001164a000081a40000000000000002000000013d1fe2dc000004b9000000200000000000000000000000000000001b00000003reloc/raid/images/5.ia.gif    GIF89a0 0 Æ  ÿÿÿ÷ËÆõÄÀÑvv÷ÉÄê¡ŸÜ‰‡Þ‹‰ìª¥ì¬§÷ÎÊàæ›—ßŒŠÎuuåš–×‚€Ô}ÆiiÉppã–’ã”’é£žÒyyÜ‹‰Ñxxé œÈmmÌqqæ™ë©¤Ö}}ÖßŒÍttÍrrÛ†„à‘ë§¢ì¬¥ê¦£Øì¨¥çŸœÊqqÙ†„é¥ ÓzzÉnnâ“‘Ñ|zÕ€~æ ›Ø…ƒë¢¢j??¤US\55U10PNsFFH''Ü‰²[YžQQ†MM´YY   I((»``ÉsnT//9QO~KK”OOoCB±[XpDCJ))%E&&/‹NNÊsoŸSRU00øÍÍÉqnä˜•K**^55Áhf7R//ê¤¡¡TRqDD{JJÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù    ,    0 0  þ€ ‚ƒ„…†‡ˆ‰‡ŒŠ••ž		š–¦„
	ž­ °
§§¬®¸°µ¦¯º» ÀÁ•º ÒÌÍ‰ !äåä á"ÛÜ‡#$¬%ôõŒŽ‘“íƒ&]è@°&Mœ\e€T¿'Š¡HA1Õ*c¯`%E‹Û­b­>æªÆË»ZT€ô4l¥BXÉ–µéêY´i$¯iÈvÒVÄ‘¼gÎºêzš±Â%‚wñÌ«Gï^>}”,± Ñ(‚,xpI†pÁàÑþp!J¤˜Â¢×O9ªý‰ÀD„¿4CâÂ¨±×/µƒCªôÚòî±1•ú[ì*°'›Ò¨½ÔÉ±S¹^…†Wô\ºuž½2u
UÕV¯ØWÈ®«­]+H6“Ù—hK*›ð+[·p]€F0±®*ÇcÍ*û_¿€w²ü”aÉþ´o§Ì’t‘+¥ü,3ÎÍØ´©ÿ•¯'ÑDK‡8št>ë¦@µ&Õkõx Ê#€'ˆm­àX¼$áP ƒ‚‚çÉZmð–r|5G]($ƒ2`8HuËaÇ]+1 Â*"ÂÝzçiÔ5‚£`NáK@=r£}$Áþ‚N‘…p·ZŽ 0@L¢ò\ƒ\AibTIˆ†ÆuøarÉ½ðÈxiÃlÞ€C#ä C1;ðAxö`§	>ü DBpóÁl1D‚Ø0ÄF°rÄÄH‘D?,:„‚17²ÄL4á(¤C8ÑÉL$ .¤Ùi8EDñ QHÑD«<©ªdê*CLh3ƒjE¢CPaÄUôŠ*°Â&ñ„W`Ñ© Yqë¨š>!í¯ ¦ZlÁEÛ
â- Cñ_€a ¨NZi€F‡r³æ 7±¦‰v!Æd ÅÃRP1›eÜÏÅ‰ ;   0707010001164b000081a40000000000000002000000013d1fe2dc000000db000000200000000000000000000000000000001b00000003reloc/raid/images/disk.gif    GIF87a0 0 ¡  øüø˜˜˜ÈÌÈ   ,    0 0  ´„©Ëí¢œáY7…Þ\ÌFÝHzØåÚEè¢²²ê¾H,—tmCx®;õ ;àè3$n2¬Œ$Iüi(TÎZ4ZŸIsåäõ¤Sêw)k¦´¼¾v×$îN¿éGýo$wÇ×â‡"Bcb’h§V†&Q†UgF¹åöG¸dbÙ	šX9Ú6Jºx¸ÊÚ©u ·‰•9ù:…yË,<L\l|Œœ¬¼ÌÜìüÝ\  ; 0707010001164c000081a40000000000000002000000013d1fe2dc0000060b000000200000000000000000000000000000001b00000003reloc/raid/images/icon.gif    GIF89a0 0 Æ  ÿÿÿþþþúûúàâàÒÕÒ¾À¾¬®¬íïíÅÈÅ½À½»¾»ÁÅÁÆÊÆÇËÇÈÌÈÂÆÂ¼¿¼¼¾¼ìîì¸º¸ÃÆÃ©«©ª«ª¤¥¤ÆÉÆ¯±¯š›š¦§¦µ¸µ¶¸¶·¹·¿Â¿¿Ã¿´¶´£¤£™™™³µ³¹¼¹¾Á¾·º·¢£¢ššš«­«±³±­¯­º¼º¯²¯›œ›ÇÊÇÁÄÁÅÉÅ«¬«ÅÊÅÌÐÌÖÚÖÕØÕÔ×Ô¨ª¨ÓÖÓÖÙÖÎÒÎ×Ú×¬­¬›››ÃÇÃÕÙÕËÍË¹»¹ÆÈÆª¬ª°²°ÂÄÂÄÈÄ¨©¨­®­®¯®ÆËÆ»¿»±´±ÀÃÀº½º²´²ÂÅÂ¡¡¡˜˜˜°³°½Á½¸»¸®°®´·´¯°¯¤¦¤¤¤¤³¶³¶¹¶ ¡ ©ª©¼À¼ÄÇÄ½¿½ÞáÞÚÝÚÝàÝÄÆÄ§¨§¥¦¥àãàµ·µ¦¨¦Ÿ Ÿ¡¢¡   žº»ºö÷öÌÎÌœœœüýüðòðÇÌÇ¥§¥ÈËÈžŸžŸŸŸ         !þMade with GIMP !ù    ,    0 0  þ€ ‚ƒ„…†‡ˆ‰„‘‘ ŒŽ’”–˜šž•— 	
®¨ª¬®°²´¶©«­¯±³µ º»Î
ÇÉËº°ÏÑÓÊÌ×ÐÒÜË
 áãåçéëâäÖæèê
þ x!b€|ûúý8°àA}üþHÐà
”èÀ‘c	'P¤X‡QcG E’Ì¸ñäÇ#U<Xa „‚›7C`¡Â Lš6q*ÐÉÓçÌšB‡îì	ÀÀ6¢z8ñ¡A/š>•:µêÕ¬N—A•JÕ*Ö¦0¶ÑsÃÀHþi«cë­Ú¹Ú¾U&·™3+Ô…íÛ°`¾åþ0ƒ†Ú5lÜÀÁ¢B…–Yè¸±£Æ2<zL®l9óæÎÎœðñc Õ‚I0aˆe2\É(1A‘ dÓ¶;7Þ¾ƒ¤RddFœXpä’]|»B2!ÉêÖ±×ÅÝû‚	J–ËdY'ž,ãÛÀxûPÜÂ—O¿þ.Wä—B4ð@{©%Â
P@vÆ5@!LA6ø nØMX!©AQEkƒ¹"‚W,,fÁ‹Z¨¸Å¢¨"‹/â#3¦‚ê Ó ®pÑ…	$þ0Ä’µÕ–€F|A£‘H*Éä’C<å©™°„4Àä†a@Â>\uƒ9Ð8f™gråšlr)KbI#£€¡V
Á&Hx‚
)àç6€
J(Ršè'§F\ô½¢$aÐ¥ýUÃ§ž*2È¢C"&^@ðé¨ªÒ×ªA¦„cý½Be\àë¯¾–±«¨›– ÆHµŠ Å¹šqÆ
+ª3$@{†âQP´ššF	H ¡F&˜j7Î„€‚2 ±Æ
QÌ€¬©cÆ h.¸p2êN›Z*ä@…U„aE	mÖ
 ª !1PþÀ².»-<°ä*AÝ*j(D‘†R< ð(_ð| E÷ŠŒ)_n|À€Ì€ãÏÌÀsoÀÌ„œHuHôGÔ#§T8ÇFXÂr8<ÃÝÖÀ2<àëI´¯PÔóqk!Ä`Ç;PfÙxXŒ€8ñ@TTÀ;Üa&ò¯Åë¦æ€	3T@Eä‘_ å§öÁ›s^ëä÷gy,”nº"|ƒ®ºåB»þ:"_Ä ;}–› ¶ßnÈ`‘:ïË±€BðÂr&øŠ†ÄÔS†¯	XÀ|ó‚ÄnŽZ9„/~ø2´‹5÷’|ñê]¾!žïÎ—å ¡ýû… ¾¾å$,¿óê«œåÖ ‡íqï\éÚŸ32 ¨á„p´¤5»j­àZ4Ä®z¬_	‹a" ; 0707010001164d000081a40000000000000002000000013d1fe2dc0000023b000000200000000000000000000000000000001d00000003reloc/raid/images/linear.gif  GIF89a0 0 „  øüø˜˜˜ÈÌÈRTRÁÄÁoqoBDB²µ²œŸœ…ˆ…222ŠŒŠ   ¥¨¥Y[Y!!!eee787,-,ÜàÜvvvCCCnpnÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'ŽdižhªŠAë¾Á*«¯`ß¸ðÎ|›ÿ@]Œ—
¹ñdD:Ê%©éB£Rµjf?Wîo÷ßjÈš«ÞÚ`pÜ•Ëáp}Œ§×L@x~vo^#nU‰…X,Œ…cBSgB‡‹}™v›‚B•—˜”¢O.—“œ‰ƒ§–žI •dŽ>Šg­š>€Ž†¶Ÿc¬«£Áƒ¡o¨ˆ¤¡sÊœÇ¸Äb°\ËÌÖÏÐÍ½ÓÐ¾%Ô¸ÇMZÕ²´á¹‘¾°hæL¬‚ÂIòDâ}’eúºtÛüÆkÅ #PÀÀ 0@‘âm P`@‚34Ñ€A §Ø` ƒŠn<HiÃ¥G@®I’Á3²tùƒlD` ãƒ„2xŠ(ùa€Ç	†¾¤XÀ†Fp¡Á
#w¦ý@uÀ€
,0ˆà²bWb^À`)ƒ¿B®m5‘KaÈýË 0Õp×¦`ðtÀÂ"7(éÖ­B‘20 ðøƒT-+ü°@gƒƒ
S+ÔYµÁj–Ùè6 ; 0707010001164e000081a40000000000000002000000013d1fe2dc0000023b000000200000000000000000000000000000002000000003reloc/raid/images/linear.ia.gif   GIF89a0 0 „  ýûöÆiiì¬§h>=çŸœQOU10Ü‰Êso²[Y@##¸`]   Ñ~zpDC+~KKF''9$öËÅ›PPU00ŽPOÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'ŽdižhªŠAë¾Á*«¯`ß¸ðÎ|›ÿ@]Œ—
¹ñdD:Ê%©éB£Rµjf?Wîo÷ßjÈš«ÞÚ`pÜ•Ëáp}Œ§×L@x~vo^#nU‰…X,Œ…cBSgB‡‹}™v›‚B•—˜”¢O.—“œ‰ƒ§–žI •dŽ>Šg­š>€Ž†¶Ÿc¬«£Áƒ¡o¨ˆ¤¡sÊœÇ¸Äb°\ËÌÖÏÐÍ½ÓÐ¾%Ô¸ÇMZÕ²´á¹‘¾°hæL¬‚ÂIòDâ}’eúºtÛüÆkÅ #PÀÀ 0@‘âm P`@‚34Ñ€A §Ø` ƒŠn<HiÃ¥G@®I’Á3²tùƒlD` ãƒ„2xŠ(ùa€Ç	†¾¤XÀ†Fp¡Á
#w¦ý@uÀ€
,0ˆà²bWb^À`)ƒ¿B®m5‘KaÈýË 0Õp×¦`ðtÀÂ"7(éÖ­B‘20 ðøƒT-+ü°@gƒƒ
S+ÔYµÁj–Ùè6 ; 0707010000d1a2000081e40000000000000002000000013d1fe2dc000005cb000000200000000000000000000000000000001500000003reloc/raid/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display all RAID devices

require './raid-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("raid", "man", "doc"));
print "<hr>\n";

# Check if raid is installed
if (!-r $config{'mdstat'}) {
	print "<p><b>",&text('index_emdstat',
			     "<tt>$config{'mdstat'}</tt>"),"</b><p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!&has_command('mkraid') || !&has_command('raidstart')) {
	print "<p><b>$text{'index_emkraid'}</b><p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Display configured raid devices
$conf = &get_raidtab();
if (@$conf) {
	&show_button();
	foreach $c (@$conf) {
		$lvl = &find_value('raid-level', $c->{'members'});
		push(@titles, &html_escape($c->{'value'}));
		push(@images, $c->{'active'} ? "images/$lvl.gif"
					     : "images/$lvl.ia.gif");
		push(@links, "view_raid.cgi?idx=$c->{'index'}");
		}
	&icons_table(\@links, \@titles, \@images);
	}
else {
	print "<p><b>$text{'index_none'}</b><p>\n";
	}
&show_button();

print "<hr>\n";
&footer("/", $text{'index'});

sub show_button
{
print "<form action=raid_form.cgi>\n";
print "<input type=submit value='$text{'index_add'}'>\n";
print "<select name=level>\n";
print "<option value=linear>$text{'linear'}\n";
print "<option value=0>$text{'raid0'}\n";
print "<option value=1>$text{'raid1'}\n";
print "<option value=4>$text{'raid4'}\n";
print "<option value=5>$text{'raid5'}\n";
print "</select></form>\n";
}


 07070100012f57000041ed0000000000000001000000023d1ffb2800000000000000200000000000000000000000000000001000000003reloc/raid/lang   07070100012f58000081a40000000000000002000000013d1fe2dc00000b8b000000200000000000000000000000000000001300000003reloc/raid/lang/ca    index_title=RAID de Linux
index_none=No hi ha cap dispositiu RAID configurat.
index_add=Crea un dispositiu RAID de nivell:
index_return=als dispositius RAID
index_emdstat=El fitxer d'estat RAID del kernel $1 no existeix. Probablement, el kernel no suporta RAID.
index_emkraid=El paquet d'eines RAID no està instal·lat al sistema.

linear=Concatenat (Lineal)
raid0=A tires (RAID0)
raid1=Replicat (RAID1)
raid4=Amb paritat (RAID4)
raid5=Redundant (RAID5)

create_title=Creació de Dispositiu RAID
create_header=Opcions del dispositiu RAID
create_device=Fitxer de dispositiu
create_level=Nivell RAID
create_disks=Particions RAID
create_spares=Particions esgrunades
create_pdisk=Partició amb paritat
create_pauto=Automàtic
create_nodisks=No hi ha particions lliures disponibles per al RAID.
create_super=Superbloc persistent
create_parity=Algoritme de paritat
create_chunk=Mida del tros
create_force=Força la inicialització del RAID?
create_rdev=Dispositiu RAID $1
create_lvm=GV LVM $1, VL $2
create_err=No he pogut crear el RAID
create_edisks=No s'ha seleccionat cap partició
create_edisks2=Per la replicació, cal seleccionar almenys 2 particions
create_espare=La partició esgrunada $1 no pot ser també una partició RAID
create_epdisk=La partició de paritat no pot ser també una partició RAID

view_title=Dispositiu RAID
view_header=Opcions de dispositiu RAID
view_device=Fitxer de dispositiu
view_level=Nivell RAID
view_status=Estat
view_mounted=Actiu i muntat a $1
view_mount=Per muntar sobre $1
view_lvm=Actiu i utilitzat al GV LVM $1
view_active=Actiu
view_inactive=Inactiu
view_super=Superbloc persistent
view_parity=Algoritme de paritat
view_chunk=Mida del tros
view_stop=Desactiva
view_start=Activa
view_disks=Particions RAID
view_spares=Particions esgrunades
view_size=Mida utilitzable
view_resync=% de resyncs fets
view_down=(Desactivat)
view_cannot=Aquest dispositiu RAID no es pot modificar, ja que està muntat.
view_mkfs2=Crea un sistema de fitxers del tipus:
view_mkfsdesc=Selecciona un tipus de sistema de fitxers i fes clic sobre aquest botó per crear un nou sistema de fitxers en aquest volum lògic. Això esborrarà totes les dades que hi ha actualment al volum.

mkfs_title=Creació de Sistema de Fitxers
mkfs_header2=Aquest formulari permet construir un nou sistema de fitxers $2 a $1. S'esborraran <b>totes</b> les dades existents!
mkfs_options=Opcions del nou sistema de fitxers Linux
mkfs_err=No he pogut crear el sistema de fitxers
mkfs_exec=Executant l'ordre $1...
mkfs_failed=... l'ordre ha fallat!
mkfs_ok=... ordre completa.

emkraid=<tt>mkraid</tt> ha fallat: $1
eraidstop=<tt>raidstop</tt> ha fallat: $1
eraidstart=<tt>raidstart</tt> ha fallat: $1
eforce=Has de forçar l'inicialització d'aquest RAID: $1

log_create=He creat el dispositiu RAID $1 $2
log_stop=He desactivat el dispositiu RAID $1
log_start=He activat el dispositiu RAID $1
log_delete=He suprimit el dispositiu RAID $1
log_mkfs=He creat el sistema de fitxers $1 a $2


 07070100012f59000081a40000000000000002000000013d1fe2dc000008d6000000200000000000000000000000000000001300000003reloc/raid/lang/cz    index_title=Linux RAID
index_none=®ádná Raid zaøízení nejsou konfugurována.
index_add=Vytváøím RAID zaøízení úrovnì:
index_return=RAID zaøízení
index_emdstat=RAID není podporován v jádøe, soubor $1 ve va¹em systému neexistuje.
index_emkraid=Raid software není ve va¹em systému instalován.

linear=Concatenated (Linear)
raid0=Striped (RAID0)
raid1=Zrcadlení (RAID1)
raid4=Parity (RAID4)
raid5=Redundant (RAID5)

create_title=Vytvoøit Raid zaøízení
create_header=Volastnosti Radi zaøízení
create_device=Soubor zaøízení
create_level=RAID level
create_disks=Partitions na RAID
create_spares=Spare partitions
create_pdisk=Parity partition
create_pauto=Automatic
create_nodisks=Nejsou volné partitions pro RAID.
create_super=Persistent superblock?
create_parity=Parity algorithm
create_chunk=Chunk size
create_force=Force initialisation of RAID?
create_rdev=RAID device $1
create_err=Chyba pøi vytváøení RAID
create_edisks=Nejsou vybrány ¾ádné partitions
create_edisks2=Nejménì dvì partitions musí být oznaèeny pro zrcadlení
create_espare=Spare partition $1 nemù¾e být zárovìò RAID partition
create_epdisk=Parity partition nemù¾e být zároveò RAID partition

view_title=RAID zaøízení
view_header=Vlastnosti RAID zaøízení
view_device=Soubor zaøízení
view_level=RAID úroveò
view_status=Status
view_mounted=Aktivní a namountována na $1
view_active=Active
view_inactive=Neaktivní
view_super=Persistent superblock?
view_parity=Parity algorithm
view_chunk=Chunk size
view_stop=Deactivovat
view_start=Activovat
view_mkfs=Vytvoøit ext2 filesystem ..
view_disks=Partitions na RAID
view_spares=Spare partitions
view_size=Vyu¾itá velikost
view_resync=Procent dokonèeno
view_down=(Down)
view_cannot=Toto Raid zaøízení nemù¾e být modifikováno dokud je pøimountováno.

mkfs_title=Vytvoøit Filesystem
mkfs_header=Tento formuláø umo¾òuje vytvoøit nový Linux EXT2 filesystem na $1. <b>V¹echny</b> existující data budou vymazány!
mkfs_options=Vlastnosti nového filesystému
mkfs_err=Chyba pøi vytváøení filesystému
mkfs_exec=Spou¹tím pøíkaz $1 ..
mkfs_failed=.. chyba pøíkazu!
mkfs_ok=.. pøíkaz dokonèen.

emkraid=<tt>mkraid</tt> chyboval : $1
eraidstop=<tt>raidstop</tt> chyboval : $1
eraidstart=<tt>raidstart</tt> chyboval : $1
eforce=You must force the initialisation of this RAID : $1  07070100012f5a000081a40000000000000002000000013d1fe2dc00000a93000000200000000000000000000000000000001300000003reloc/raid/lang/de    index_title=Linux-RAID
index_none=Keine RAID-Ger&auml;te konfiguriert
index_add=Erstelle RAID-Ger&auml;t mit Level:
index_return=RAID-Ger&auml;te
index_emdstat=Die Kernel-RAID-Statusdatei $1 existiert nicht auf diesem System. Der Kernel scheint RAID nicht zu unterst&uuml;tzen. 
index_emkraid=Die RAID-Tools sind nicht auf Ihrem System installiert.
linear=Zusammengef&uuml;gt (Linear)
raid0=Striped (RAID0)
raid1=Gespiegelt (RAID1)
raid4=Parit&auml;t (RAID4)
raid5=Redundant (RAID5)
create_title=Erstelle RAID-Ger&auml;t
create_header=RAID-Ger&auml;teinstellungen
create_device=Ger&auml;tedatei
create_level=RAID-Level
create_disks=Partitionen in RAID
create_spares=Ersatzpartitionen
create_pdisk=Parit&auml;tspartition
create_pauto=Automatisch
create_nodisks=Es sind keine freien Partitionen verf&uuml;gbar f&uuml;r RAID.
create_super=St&auml;ndiger Superblock?
create_parity=Parit&auml;tsalgorithmus
create_chunk=Chunk-Gr&ouml;&szlig;e
create_force=Initialisierung von RAID erzwingen?
create_rdev=RAID-Ger&auml;t $1
create_err=Das Erstellen des RAID-Ger&auml;ts schlug fehl
create_edisks=Es wurden keine Partitionen ausgew&auml;hlt
create_edisks2=Mindestens zwei Partitionen m&uuml;ssen f&uuml;rs Spiegeln ausgew&auml;hlt sein
create_espare=Die Ersatzpartition $1 kann nicht gleichzeitig eine RAID-Partition sein.
create_epdisk=Die Parit&auml;tspartition kann nicht gleichzeitig RAID-Partition sein
view_title=RAID-Ger&auml;t
view_header=RAID-Ger&auml;teinstellungen
view_device=Ger&auml;tedatei
view_level=RAID-Level
view_status=Status
view_mounted=Aktiv und gemountet auf $1
view_active=Aktiv
view_inactive=Inaktiv
view_super=St&auml;ndiger Superblock?
view_parity=Parit&auml;tsalgorithmus
view_chunk=Chunk-Gr&ouml;&szlig;e
view_stop=Deaktivieren
view_start=Aktivieren
view_mkfs=Erstelle Ext2-Dateisystem .
view_disks=Partitionen in RAID
view_spares=Ersatzpartitionen
view_size=Nutzbare Gr&ouml;&szlig;e
view_resync=Prozent von Neusynchronisation fertig
view_down=(Nach unten)
view_cannot=Dieses RAID-Ger&auml;t kann nicht modifiziert werden, da es z. Z. gemountet ist.
mkfs_title=Dateisystem erstellen
mkfs_header=Dieses Formular gestattet es Ihnen, ein neues Linux-EXT2-Dateisystem auf $1 zu erstellen. <b>Alle</b> existierenden Daten werden dabei unwiderruflich gel&ouml;scht!
mkfs_options=Einstellungen des neuen Linux-Dateisystems
mkfs_err=Fehler beim Erstellen des Dateisystems
mkfs_exec=F&uuml;hre Befehl $1 aus..
mkfs_failed=.. Befehl fehlgeschlagen!
mkfs_ok=.. Befehl vollst&auml;ndig.
emkraid=<tt>mkraid</tt> fehlgeschlagen: $1
eraidstop=<tt>raidstop</tt> fehlgeschlagen: $1
eraidstart=<tt>raidstart</tt> fehlgeschlagen: $1
eforce=Sie m&uuml;ssen die Initialisierung dieses RAID erzwingen: $1
 07070100012f5b000081a40000000000000002000000013d1fe2dc00000a64000000200000000000000000000000000000001300000003reloc/raid/lang/en    index_title=Linux RAID
index_none=No RAID devices configured.
index_add=Create RAID device of level:
index_return=RAID devices
index_emdstat=The kernel RAID status file $1 does not exist on your system. Your kernel probably does not support RAID.
index_emkraid=The RAID tools package is not installed on your system.

linear=Concatenated (Linear)
raid0=Striped (RAID0)
raid1=Mirrored (RAID1)
raid4=Parity (RAID4)
raid5=Redundant (RAID5)

create_title=Create RAID Device
create_header=RAID device options
create_device=Device file
create_level=RAID level
create_disks=Partitions in RAID
create_spares=Spare partitions
create_pdisk=Parity partition
create_pauto=Automatic
create_nodisks=No free partitions are available for RAID.
create_super=Persistent superblock?
create_parity=Parity algorithm
create_chunk=Chunk size
create_force=Force initialisation of RAID?
create_rdev=RAID device $1
create_lvm=LVM VG $1, LV $2
create_err=Failed to create RAID
create_edisks=No partitions selected
create_edisks2=At least 2 partitions must be selected for mirroring
create_espare=Spare partition $1 cannot also be a RAID partition
create_epdisk=Parity partition cannot also be a RAID partition

view_title=RAID Device
view_header=RAID device options
view_device=Device file
view_level=RAID level
view_status=Status
view_mounted=Active and mounted on $1
view_mount=For mounting on $1
view_lvm=Active and used in LVM VG $1
view_active=Active
view_inactive=Inactive
view_super=Persistent superblock?
view_parity=Parity algorithm
view_chunk=Chunk size
view_stop=Deactivate
view_start=Activate
view_disks=Partitions in RAID
view_spares=Spare partitions
view_size=Usable size
view_resync=Percent of resync done
view_down=(Down)
view_cannot=This RAID device cannot be modified as it is currently mounted.
view_mkfs2=Create filesystem of type:
view_mkfsdesc=Select a filesystem type and click this button to create a new filesystem on this logical volume. This will erase any data currently on the volume.

mkfs_title=Create Filesystem
mkfs_header2=This form allows you to build a new $2 filesystem on $1. <b>All</b> existing data will be erased!
mkfs_options=New Linux filesystem options
mkfs_err=Failed to create filesystem
mkfs_exec=Executing command $1 ..
mkfs_failed=.. command failed!
mkfs_ok=.. command complete.

emkraid=<tt>mkraid</tt> failed : $1
eraidstop=<tt>raidstop</tt> failed : $1
eraidstart=<tt>raidstart</tt> failed : $1
eforce=You must force the initialisation of this RAID : $1

log_create=Created $1 RAID device $2
log_stop=Deactivated RAID device $1
log_start=Activated RAID device $1
log_delete=Deleted RAID device $1
log_mkfs=Created $1 filesystem on $2

07070100012f5c000081a40000000000000002000000013d1fe2dc00000af2000000200000000000000000000000000000001300000003reloc/raid/lang/es    index_title=RAID de Linux
index_none=No hay configurados dispositivos de RAID.
index_add=Crear dispositivo de RAID de nivel:
index_return=Dispositivos de RAID
index_emdstat=El archivo de estado de RAID del kernel $1 no existe en tu sistema. Tu kernel probablemente no soporta RAID.
index_emkraid=El paquete de herramientas de RAID no está instalado en tu sistema.

linear=Concatenado (Tangencial)
raid0=A franjas (RAID0)
raid1=Espejo (RAID1)
raid4=Paridad (RAID4)
raid5=Redundante (RAID5)

create_title=Crear Dispositivo de RAID
create_header=Opciones de dispositivo de RAID
create_device=Archivo de dispositivo
create_level=Nivel de RAID
create_disks=Particiones en el RAID
create_spares=Particiones de Reserva
create_pdisk=Partición de paridad
create_pauto=Automático
create_nodisks=No hay particiones libres para el RAID.
create_super=¿Superbloque persistente?
create_parity=Algoritmo de paridad
create_chunk=Medida del trozo
create_force=¿Fuerzo la inicialización del RAID?
create_rdev=Dispositivo de RAID $1
create_err=No pude crear el RAID
create_edisks=No se han seleccionado particiones
create_edisks2=Se deben de seleccionar al menos 2 particiones para hacer el espejo
create_espare=La partición de reserva $1 no puede ser también una partición de RAID
create_epdisk=La partición de paridad no puede ser también una particición de RAID

view_title=Dispositivo de RAID
view_header=Opciones de dispositivo de RAID
view_device=Archivo de dispositivo
view_level=Nivel de RAID
view_status=Estado
view_mounted=Activo y montado en $1
view_active=Activo
view_inactive=Inactivo
view_super=¿Superbloque persistente?
view_parity=Algoritmo de paridad
view_chunk=Medidad de trozo
view_stop=Desactivar
view_start=Activar
view_mkfs=Crear sistema de archivos ext2...
view_disks=Particiones en el RAID
view_spares=Particiones de reserva
view_size=Medida utilizable
view_resync=Porcentaje de resincronismo hecho
view_down=(Abajo)
view_cannot=Este dispositivo de RAID no puede ser modificado ya que está montado en este momento.

mkfs_title=Crear Sistema de Archivos
mkfs_header=Este formulario te permite construir un nuevo sistema de archivos EXT2 de Linux en $1. ¡<b>Todos</b> los datos que ya existan serán borrados!
mkfs_options=Opciones de nuevo sistema de archivos de Linux
mkfs_err=No pude crear sistema de archivos
mkfs_exec=Ejecutando comando $1...
mkfs_failed=... ¡falló el comando!
mkfs_ok=... comando completado.

emkraid=<tt>mkraid</tt> falló: $1
eraidstop=<tt>raidstop</tt> falló: $1
eraidstart=<tt>raidstart</tt> falló: $1
eforce=Debes de forzar la inicialización de este RAID: $1

log_create=Creado raid $1 dispositivo $2
log_stop=Desactivado dispositivo de raid $1
log_start=Activado dispositivo de raid $1
log_delete=Borrado dispositivo de raid $1
log_mkfs=Creado sistema de archivo $1 en $2

  07070100012f5d000081a40000000000000002000000013d1fe2dc00000bb3000000200000000000000000000000000000001300000003reloc/raid/lang/fr    index_title=RAID Linux
index_none=Il n'existent pas de dispositifs de RAID configurés.
index_add=Créer un dispositif de RAID du niveau:
index_return=Dispositifs RAID
index_emdstat=Le fichier du statut de RAID du noyer $1 n'existe pas sur votre système. Votre noyer n'est problablement pas configuré pour supporter RAID.
index_emkraid=Le paquet des outils de RAID n'est pas installé sur votre système.

linear=En série (concatenation)
raid0=En bandes (RAID0)
raid1=Miroir (RAID1)
raid4=Parité (RAID4)
raid5=Redoublé (RAID5)

create_title=Créer dispositif RAID
create_header=Options de dispositif RAID
create_device=Fichier de dispositif
create_level=Niveau de RAID
create_disks=Partitions dans le RAID
create_spares=Partitions de réserve
create_pdisk=Partition de parité
create_pauto=Automatique
create_nodisks=Il n'y a pas de partitions libres pour le RAID.
create_super=Superbloc persistent?
create_parity=Algorithme de parité
create_chunk=Taille des morceaux
create_force=Forcer l'initialisation du RAID?
create_rdev=Dispositif de RAID $1
create_err=Il n'était pas possible de créer le RAID 
create_edisks=Les partitions n'ont pas été selectionées
create_edisks2=Il faut choisir au moins 2 partitions pour construire un miroir
create_espare=La partition de resérve $1 ne peut pas être en même temps une partition de RAID
create_epdisk=La partition de parité ne peut pas être en même temps une partition de RAID

view_title=Dispositif de RAID
view_header=Options du dispositif de RAID
view_device=Fichier de dispositif
view_level=Niveau de RAID
view_status=Statut
view_mounted=Actif et monté sur $1
view_active=Actif
view_inactive=Inactif
view_super=Superbloc persistent?
view_parity=Algorithme de parité
view_chunk=Taille des morceaux
view_stop=Desactiver
view_start=Activer
view_mkfs=Créer système de fichier ext2...
view_disks=Partitions dans le RAID
view_spares=Partitions de réserves
view_size=Éspace utilisable
view_resync=Pourcentage de résynchronisation accompli
view_down=(En bas)
view_cannot=Ce dispositif RAID ne peut être modifié car il est présentement monté.

mkfs_title=Créer Système de Fichiers
mkfs_header=Cette formule permets de construire un nouveau système de fichiers EXT2 de Linux sur $1. <b>Toutes</b> les données qui se trouvent sur la partition seront éfacées!
mkfs_options=Options du nouveau système de fichiers
mkfs_err=Le nouveau système de fichiers ne peut pas être crée
mkfs_exec=Executant la commande $1...
mkfs_failed=... la commande a échoué!
mkfs_ok=... commande completée.

emkraid=<tt>mkraid</tt> échoué: $1
eraidstop=<tt>raidstop</tt> échoué: $1
eraidstart=<tt>raidstart</tt> échoué: $1
eforce=Vous devez forcer l'initialisation du RAID: $1

log_create=Création du RAID $1 sur dispositif $2
log_stop=Desactivation du dispositif de RAID $1
log_start=Activation du dispositif de RAID $1
log_delete=Éffacement du dispositif de RAID $1
log_mkfs=Création du système de fichier $1 sur $2

 07070100012f5e000081a40000000000000002000000013d1fe2dc00000a90000000200000000000000000000000000000001a00000003reloc/raid/lang/ja_JP.euc index_title=Linux RAID
index_none=RAID ¥Ç¥Ð¥¤¥¹¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_add=¼¡¤Î¥ì¥Ù¥ë¤Î RAID ¥Ç¥Ð¥¤¥¹¤òºîÀ®
index_return=RAID ¥Ç¥Ð¥¤¥¹
index_emdstat=¥«¡¼¥Í¥ë RAID '$1' ¤Ï¥·¥¹¥Æ¥à¤ËÂ¸ºß¤·¤Þ¤»¤ó¡£¥«¡¼¥Í¥ë¤¬ RAID ¤ò¥µ¥Ý¡¼¥È¤·¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_emkraid=RAID ¥Ä¡¼¥ë ¥Ñ¥Ã¥±¡¼¥¸¤¬¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£

linear=Ï¢·ë (Àþ·Á)
raid0=¥¹¥È¥é¥¤¥× (RAID0)
raid1=¥ß¥é¡¼ (RAID1)
raid4=¥Ñ¥ê¥Æ¥£ (RAID4)
raid5=¾éÄ¹ (RAID5)

create_title=RAID ¥Ç¥Ð¥¤¥¹¤ÎºîÀ®
create_header=RAID ¥Ç¥Ð¥¤¥¹¤Î¥ª¥×¥·¥ç¥ó
create_device=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë
create_level=RAID ¥ì¥Ù¥ë
create_disks=RAID ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
create_spares=¥¹¥Ú¥¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
create_pdisk=¥Ñ¥ê¥Æ¥£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
create_pauto=¼«Æ°
create_nodisks=RAID ¤Ë»ÈÍÑ¤Ç¤­¤ë¶õ¤­¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó¡£
create_super=¾ïÀß¥¹¡¼¥Ñ¡¼¥Ö¥í¥Ã¥¯¤Ç¤¹¤«¡©
create_parity=¥Ñ¥ê¥Æ¥£ ¥¢¥ë¥´¥ê¥º¥à
create_chunk=¥Á¥ã¥ó¥¯ ¥µ¥¤¥º
create_force=RAID ¤Î½é´ü²½¤ò¶¯À©¤·¤Þ¤¹¤«¡©
create_rdev=RAID ¥Ç¥Ð¥¤¥¹ $1
create_err=RAID ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
create_edisks=¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
create_edisks2=¥ß¥é¡¼¥ê¥ó¥°¤Ë¤ÏºÇÄã 2 ¤Ä¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
create_espare=¥¹¥Ú¥¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤ÏRAID ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ç¤­¤Þ¤»¤ó
create_epdisk=¥Ñ¥ê¥Æ¥£ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó $1 ¤ÏRAID ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤Ë¤Ç¤­¤Þ¤»¤ó

view_title=RAID ¥Ç¥Ð¥¤¥¹
view_header=RAID ¥Ç¥Ð¥¤¥¹¤Î¥ª¥×¥·¥ç¥ó
view_device=¥Ç¥Ð¥¤¥¹ ¥Õ¥¡¥¤¥ë
view_level=RAID ¥ì¥Ù¥ë
view_status=¥¹¥Æ¡¼¥¿¥¹
view_mounted=¥¢¥¯¥Æ¥£¥Ö¤Ç $1 ¤Ë¥Þ¥¦¥ó¥È
view_active=¥¢¥¯¥Æ¥£¥Ö
view_inactive=Èó¥¢¥¯¥Æ¥£¥Ö
view_super=¾ïÀß¥¹¡¼¥Ñ¡¼¥Ö¥í¥Ã¥¯¤Ç¤¹¤«¡©
view_parity=¥Ñ¥ê¥Æ¥£ ¥¢¥ë¥´¥ê¥º¥à
view_chunk=¥Á¥ã¥ó¥¯ ¥µ¥¤¥º
view_stop=»ÈÍÑÉÔ²Ä
view_start=¥¢¥¯¥Æ¥£¥Ö¤Ë¤¹¤ë
view_mkfs=ext2 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®..
view_disks=RAID ¤Î¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
view_spares=¥¹¥Ú¥¢ ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó
view_size=»ÈÍÑ¤Ç¤­¤ë¥µ¥¤¥º
view_resync=´°Î»¤·¤¿ºÆÆ±´ü¤Î³ä¹ç
view_down=(¥À¥¦¥ó)
view_cannot=¤³¤Î RAID ¥Ç¥Ð¥¤¥¹¤Ï¸½ºß¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¤¿¤áÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¡£

mkfs_title=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ÎºîÀ®
mkfs_header=¤³¤Î²èÌÌ¤Ç¤Ï¡¢¿·µ¬¤Î Linux EXT2 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò $1 ¾å¤Ë¹½ÃÛ¤Ç¤­¤Þ¤¹¡£<b>¤¹¤Ù¤Æ¤Î</b> ´ûÂ¸¤Î¥Ç¡¼¥¿¤Ï¾Ãµî¤µ¤ì¤Þ¤¹¡£
mkfs_options=¿·µ¬¤Î Linux ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à ¥ª¥×¥·¥ç¥ó
mkfs_err=¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
mkfs_exec=¥³¥Þ¥ó¥É $1 ¤ò¼Â¹ÔÃæ..
mkfs_failed=.. ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿¡£
mkfs_ok=.. ¥³¥Þ¥ó¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

emkraid=<tt>mkraid</tt> ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
eraidstop=<tt>raidstop</tt> ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
eraidstart=<tt>raidstart</tt> ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
eforce=¤³¤Î RAID ¤Î½é´ü²½¤ò¶¯À©¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹: $1

log_create=$1 RAID ¥Ç¥Ð¥¤¥¹ $2 ¤òºîÀ®¤·¤Þ¤·¤¿
log_stop=RAID ¥Ç¥Ð¥¤¥¹ $1 ¤ò»ÈÍÑÉÔ²Ä¤Ë¤·¤Þ¤·¤¿
log_start=RAID ¥Ç¥Ð¥¤¥¹ $1 ¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤·¤¿
log_delete=RAID ¥Ç¥Ð¥¤¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_mkfs=$1 ¥Õ¥¡¥¤¥ë ¥·¥¹¥Æ¥à¤ò $2 ¤ËºîÀ®¤·¤Þ¤·¤¿

07070100012f5f000081a40000000000000002000000013d1fe2dc000008ea000000200000000000000000000000000000001a00000003reloc/raid/lang/ko_KR.euc index_title=¸®´ª½º RAID
index_none=±¸¼ºµÈ RAID ÀåÄ¡°¡ ¾ø½À´Ï´Ù.
index_add=RAID ÀåÄ¡ ¼öÁØ ÀÛ¼º:
index_return=RAID ÀåÄ¡
index_emdstat=½Ã½ºÅÛ¿¡ Ä¿³Î RAID »óÅÂ ÆÄÀÏ $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ¾Æ¸¶ Ä¿³ÎÀÌ RAID¸¦ Áö¿øÇÏÁö ¾Ê´Âµí ÇÕ´Ï´Ù.
index_emkraid=½Ã½ºÅÛ¿¡ RAID µµ±¸ ÆÐÅ°Áö°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.

linear=¿¬°áµÊ(¼±Çü)
raid0=½ºÆ®¶óÀÌÇÁ(RAID0)
raid1=¹Ì·¯(RAID1)
raid4=ÆÐ¸®Æ¼(RAID4)
raid5=Áßº¹(RAID5)

create_title=RAID ÀåÄ¡ ÀÛ¼º
create_header=RAID ÀåÄ¡ ¿É¼Ç
create_device=ÀåÄ¡ ÆÄÀÏ
create_level=RAID ¼öÁØ
create_disks=RAID ÆÄÆ¼¼Ç
create_spares=¿¹ºñ ÆÄÆ¼¼Ç
create_pdisk=ÆÐ¸®Æ¼ ÆÄÆ¼¼Ç
create_pauto=ÀÚµ¿
create_nodisks=RAID¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ºó ÆÄÆ¼¼ÇÀÌ ¾ø½À´Ï´Ù.
create_super=¿µ±¸ ½´ÆÛ ºí·ÏÀÔ´Ï±î?
create_parity=ÆÐ¸®Æ¼ ¾Ë°í¸®Áò
create_chunk=µ¢¾î¸® Å©±â
create_force=RAID¸¦ °­Á¦·Î ÃÊ±âÈ­ÇÕ´Ï±î?
create_rdev=RAID ÀåÄ¡ $1
create_err=RAID¸¦ ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
create_edisks=¼±ÅÃÇÑ ÆÄÆ¼¼ÇÀÌ ¾ø½À´Ï´Ù
create_edisks2=¹Ì·¯¸µ¿ë ÆÄÆ¼¼ÇÀ» µÑ ÀÌ»ó ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
create_espare=¿¹ºñ ÆÄÆ¼¼Ç $1Àº(´Â) RAID ÆÄÆ¼¼Ç°ú ´Þ¶ó¾ß ÇÕ´Ï´Ù
create_epdisk=ÆÐ¸®Æ¼ ÆÄÆ¼¼ÇÀº RAID ÆÄÆ¼¼Ç°ú ´Þ¾Æ¾ß ÇÕ´Ï´Ù

view_title=RAID ÀåÄ¡
view_header=RAID ÀåÄ¡ ¿É¼Ç
view_device=ÀåÄ¡ ÆÄÀÏ
view_level=RAID ¼öÁØ
view_status=»óÅÂ
view_mounted=È°¼º »óÅÂÀÌ¸é¼­ $1¿¡ ¸¶¿îÆ®µÇ¾î ÀÖÀ½
view_active=È°¼º »óÅÂÀÔ´Ï±î?
view_inactive=ºñÈ°¼º
view_super=¿µ±¸ ½´ÆÛ ºí·ÏÀÔ´Ï±î?
view_parity=ÆÐ¸®Æ¼ ¾Ë°í¸®Áò
view_chunk=µ¢¾î¸® Å©±â
view_stop=ºñÈ°¼ºÈ­
view_start=È°¼ºÈ­
view_mkfs=ext2 ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º..
view_disks=RAID ÆÄÆ¼¼Ç
view_spares=¿¹ºñ ÆÄÆ¼¼Ç
view_size=»ç¿ë °¡´ÉÇÑ Å©±â
view_resync=Àçµ¿±âÈ­ ¿Ï·áÀ²
view_down=(´Ù¿î)
view_cannot=ÀÌ RAID ÀåÄ¡´Â ÇöÀç ¸¶¿îÆ®µÇ¾î ÀÖ±â ¶§¹®¿¡ ¼öÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù.

mkfs_title=ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼º
mkfs_header=ÀÌ ¾ç½ÄÀ¸·Î $1¿¡ »õ Linux EXT2 ÆÄÀÏ ½Ã½ºÅÛÀ» ±¸ÃàÇÒ ¼ö ÀÖ½À´Ï´Ù. ±âÁ¸ÀÇ <b>¸ðµç</b> µ¥ÀÌÅÍ°¡ »èÁ¦µË´Ï´Ù!
mkfs_options=»õ Linux ÆÄÀÏ ½Ã½ºÅÛ ¿É¼Ç
mkfs_err=ÆÄÀÏ ½Ã½ºÅÛÀ» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
mkfs_exec=$1 ¸í·É ½ÇÇà Áß..
mkfs_failed=.. ¸í·ÉÀ» ½ÇÇàÇÏÁö ¸øÇß½À´Ï´Ù!
mkfs_ok=.. ¸í·ÉÀ» ¿Ï·áÇß½À´Ï´Ù

emkraid=<tt>mkraid</tt> ½ÇÆÐ: $1
eraidstop=<tt>raidstop</tt> ½ÇÆÐ: $1
eraidstart=<tt>raidstart</tt> ½ÇÆÐ: $1
eforce=ÀÌ RAID¸¦ °­Á¦·Î ÃÊ±âÈ­ÇØ¾ß ÇÕ´Ï´Ù: $1

log_create=$1 RAID ÀåÄ¡ $2 ÀÛ¼ºµÊ
log_stop=RAID ÀåÄ¡ $1 ºñÈ°¼ºÈ­µÊ
log_start=RAID ÀåÄ¡ $1 È°¼ºÈ­µÊ
log_delete=RAID ÀåÄ¡ $1 »èÁ¦µÊ
log_mkfs=$2¿¡ $1 ÆÄÀÏ ½Ã½ºÅÛ ÀÛ¼ºµÊ

  07070100012f60000081a40000000000000002000000013d1fe2dc00000a69000000200000000000000000000000000000001300000003reloc/raid/lang/pl    index_title=RAID w&nbsp;Linuksie
index_none=Nie skonfigurowano urz±dzeñ RAID
index_add=Utwórz urz±dzenie RAID poziomu:
index_return=Urz±dzenia RAID
index_emdstat=W&nbsp;systemie brak pliku stanu RAID w&nbsp;kernelu $1. Prawdopodobnie Twój kernel nie obs³uguje RAID.
index_emkraid=W&nbsp;systemie nie zainstalowano pakietu narzêdzi RAID.

linear=Z³±czenie (liniowo)
raid0=Rozdzielenie (RAID0)
raid1=Powielenie (RAID1)
raid4=Z&nbsp;parzysto¶ci± (RAID4)
raid5=Nadmiarowy (RAID5)

create_title=Utwórz urz±dzenie RAID
create_header=Opcje urz±dzenia RAID
create_device=Plik urz±dzenia
create_level=Poziom RAID
create_disks=Partycje w&nbsp;RAID
create_spares=Partycja zapasowa
create_pdisk=Partycja parzysto¶ci
create_pauto=Automatycznie
create_nodisks=Brak wolnych partycji dostêpnych dla RAID.
create_super=Trwa³y superblok?
create_parity=Algorytm parzysto¶ci
create_chunk=Rozmiar fragmentu
create_force=Wymusiæ inicjalizacjê RAID?
create_rdev=Urz±dzenie RAID $1
create_err=Nie uda³o siê utworzyæ RAID
create_edisks=Nie wybrano partycji
create_edisks2=Dla powielania trzeba wybraæ co najmniej 2 partycje
create_espare=Partycja zapasowa $1 nie mo¿e byæ jednocze¶nie partycj± RAID
create_epdisk=Partycja parzysto¶ci nie mo¿e byæ jednocze¶nie partycj± RAID

view_title=Urz±dzenie RAID
view_header=Opcje urz±dzenia RAID
view_device=Plik urz±dzenia
view_level=Poziom RAID
view_status=Stan
view_mounted=Aktywne i&nbsp;zamontowane w&nbsp;$1
view_active=Aktywne
view_inactive=Nieaktywne
view_super=Trwa³y superblok?
view_parity=Algorytm parzysto¶ci
view_chunk=Rozmiar fragmentu
view_stop=Dezaktywuj
view_start=Aktywuj
view_mkfs=Utwórz system plików ext2 ..
view_disks=Partycje w&nbsp;RAID
view_spares=Partycje zapasowe
view_size=U¿yteczny rozmiar
view_resync=Procent odtworzenia
view_down=(nieczynne)
view_cannot=Tego urz±dzenia RAID nie mo¿na zmieniaæ, gdy¿ jest aktualnie zamontowane.

mkfs_title=Utwórz system plików
mkfs_header=Za pomoc± tego formularza mo¿esz utworzyæ nowy system plików Linuksa EXT2 na $1. <b>Wszystkie</b> istniej±ce dane zostan± usuniête!
mkfs_options=Opcje nowego systemu plików Linuksa
mkfs_err=Nie uda³o siê utworzyæ systemu plików
mkfs_exec=Wykonywanie polecenia $1 ..
mkfs_failed=.. nie powiod³o siê!
mkfs_ok=.. zakoñczone.

emkraid=<tt>mkraid</tt> nie powiod³o siê&nbsp;: $1
eraidstop=<tt>raidstop</tt> nie powiod³o siê&nbsp;: $1
eraidstart=<tt>raidstart</tt> nie powiod³o siê&nbsp;: $1
eforce=Musisz wymusiæ inicjalizacjê tego RAID&nbsp;: $1

log_create=Utworzono $1 raid device $2
log_stop=Dezaktywowano urz±dzenie RAID $1
log_start=Aktywowano urz±dzenie RAID $1
log_delete=Usuniêto urz±dzenie RAID $1
log_mkfs=Utworzono $1 system plików na $2

   07070100012f61000081a40000000000000002000000013d1fe2dc000009f5000000200000000000000000000000000000001600000003reloc/raid/lang/ru_RU emkraid= îøèáêà <tt>mkraid</tt> : $1
mkfs_title=Ñîçäàíèå Ôàéëîâîé Ñèñòåìû
view_status=Ñîñòîÿíèå
index_none=Íåò ñêîíôèãóðèðîâàííûõ RAID óñòðîéñòâ.
view_super=Ïîñòîÿííûé ñóïåðáëîê?
view_active=Àêòèâíî
eraidstart=îøèáêà <tt>raidstart</tt> : $1
view_device=Ôàéë óñòðîéñòâà
mkfs_exec=Âûïîëíÿþ êîìàíäó  $1 ..
create_title=Ñîçäàíèå  RAID Óñòðîéñòâà
create_epdisk=Ðàçäåë ÷åòíîñòè íå ìîæåò îäíîâðåìåííî áûòü RAID ðàçäåëîì
create_pauto=Àâòîìàòè÷åñêè
create_header=Ïàðàìåòðû RAID óñòðîéñòâà
index_add=Ñîçäàòü RAID óñòðîéñòâî óðîâíÿ:
view_mkfs=Ñîçäàòü ôàéëîâóþ ñèñòåìó ext2 ..
view_spares=Ñâîáîäíûå ðàçäåëû
create_edisks=Íå âûáðàíû ðàçäåëû
create_level=Óðîâåíü RAID
create_pdisk=Ðàçäåëû ÷åòíîñòè
view_stop=Äåàêòèâèðîâàòü
raid0=Striped (RAID0) - ðàñïðåäåëåííûå
raid1=Mirrored (RAID1) - îòðàæåííûå
raid4=Parity (RAID4) - ñ ÷åòíîñòüþ
raid5=Redundant (RAID5) - îòêàçîóñòîé÷èâûå
create_disks=Ðàçäåëû â RAID
view_start=Àêòèâèðîâàòü
view_mounted=Àêòèâíî è ñìîíòèðîâàííî íà $1
view_title=RAID Óñòðîéñòâî
view_down=(Îïóùåí)
create_nodisks=Íåò ñâîáîäíûõ ðàçäåëîâ, äîñòóïíûõ äëÿ RAID.
view_size=Äîñòóïíûé îáúåì
create_rdev=RAID óñòðîéñòâî $1
view_parity=Àëãîðèòì ÷åòíîñòè
view_level=Óðîâåíü RAID
create_device=Ôàéë óñòðîéñòâà
index_return=RAID óñòðîéñòâà
create_chunk=Ðàçìåð ÷àíêà
view_disks=Ðàçäåëû â RAID
view_inactive=Íåàêòèâíî
create_spares=Ñâîáîäíûå ðàçäåëû
eforce=Âû äîëæíû ôîðñèðîâàòü èíèöèàëèçàöèþ äàííîãî RAID : $1
create_edisks2=Êàê ìèíèìóì 2 ðàçäåëà äîëæíû áûòü âûáðàíû äëÿ îòðàæåíèÿ
view_resync=Ïðîöåíò ñäåëàííîé ðåñèíõðîíèçàöèè
view_cannot=Äàííîå RAID óñòðîéñòâî íå ìîæåò áûòü ìîäèôèöèðîâàííî, ïîñêîëüêó â íàñòîÿùèé ìîìåíò îíî ñìîíòèðîâàííî.
view_header=Ïàðàìåòðû RAID óñòðîéñòâà
create_force=Ôîðñèðîâàòü èíèöèàëèçàöèþ RAID?
mkfs_header=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ñîçäàòü íîâóþ ôàéëîâóþ ñèñòåìó Linux EXT2 íà $1. <blink>Âíèìàíèå.</blink> <b>Âñå</b> ñóùåñòâóþùèå íà íåì äàííûå áóäóò ñòåðòû!
create_err=Îøèáêà ïðè ñîçäàíèè RAID
create_super=Ïîñòîÿííûé ñóïåðáëîê?
select_part=$1 óñòðîéñòâî $2 ðàçäåë $3
linear=Concatenated (Linear) - ñëèòûå
index_title=Linux RAID
index_emkraid=Ïàêåò RAID óòèëèò (RAID tools) íå èíñòàëëèðîâàí íà âàøåé ñèñòåìå.
mkfs_options=Ïàðàìåòðû íîâîé ôàéëîâîé ñèñòåìû Linux
index_emdstat=ßäåðíûé ôàéë ñîñòîÿíèÿ RAID $1 íå ñóùåñòâóåò. Âîçìîæíî âàøå ÿäðî íå ïîääåðæèâàåò RAID.
mkfs_failed=.. îøèáêà!
view_chunk=Ðàçìåð ÷àíêà
create_espare=Ñâîáîäíûé ðàçäåë $1 íå ìîæåò îäíîâðåìåííî áûòü RAID ðàçäåëîì
eraidstop=îøèáêà <tt>raidstop</tt> : $1
mkfs_ok=.. ïîëíûé óñïåõ.
mkfs_err=Îøèáêà ïðè ñîçäàíèè ôàéëîâîé ñèñòåìû
create_parity=Àëãîðèòì ÷åòíîñòè
   07070100012f62000081a40000000000000002000000013d1fe2dc000009fb000000200000000000000000000000000000001600000003reloc/raid/lang/ru_SU index_title=Linux RAID
index_none=îÅÔ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÎÎÙÈ RAID ÕÓÔÒÏÊÓÔ×.
index_add=óÏÚÄÁÔØ RAID ÕÓÔÒÏÊÓÔ×Ï ÕÒÏ×ÎÑ:
index_return=RAID ÕÓÔÒÏÊÓÔ×Á
index_emdstat=ñÄÅÒÎÙÊ ÆÁÊÌ ÓÏÓÔÏÑÎÉÑ RAID $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÛÅ ÑÄÒÏ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ RAID.
index_emkraid=ðÁËÅÔ RAID ÕÔÉÌÉÔ (RAID tools) ÎÅ ÉÎÓÔÁÌÌÉÒÏ×ÁÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ.

linear=Concatenated (Linear) - ÓÌÉÔÙÅ
raid0=Striped (RAID0) - ÒÁÓÐÒÅÄÅÌÅÎÎÙÅ
raid1=Mirrored (RAID1) - ÏÔÒÁÖÅÎÎÙÅ
raid4=Parity (RAID4) - Ó ÞÅÔÎÏÓÔØÀ
raid5=Redundant (RAID5) - ÏÔËÁÚÏÕÓÔÏÊÞÉ×ÙÅ

create_title=óÏÚÄÁÎÉÅ  RAID õÓÔÒÏÊÓÔ×Á
create_header=ðÁÒÁÍÅÔÒÙ RAID ÕÓÔÒÏÊÓÔ×Á
create_device=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á
create_level=õÒÏ×ÅÎØ RAID
create_disks=òÁÚÄÅÌÙ × RAID
create_spares=ó×ÏÂÏÄÎÙÅ ÒÁÚÄÅÌÙ
create_pdisk=òÁÚÄÅÌÙ ÞÅÔÎÏÓÔÉ
create_pauto=á×ÔÏÍÁÔÉÞÅÓËÉ
create_nodisks=îÅÔ Ó×ÏÂÏÄÎÙÈ ÒÁÚÄÅÌÏ×, ÄÏÓÔÕÐÎÙÈ ÄÌÑ RAID.
create_super=ðÏÓÔÏÑÎÎÙÊ ÓÕÐÅÒÂÌÏË?
create_parity=áÌÇÏÒÉÔÍ ÞÅÔÎÏÓÔÉ
create_chunk=òÁÚÍÅÒ ÞÁÎËÁ
create_force=æÏÒÓÉÒÏ×ÁÔØ ÉÎÉÃÉÁÌÉÚÁÃÉÀ RAID?
create_rdev=RAID ÕÓÔÒÏÊÓÔ×Ï $1
create_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ RAID
create_edisks=îÅ ×ÙÂÒÁÎÙ ÒÁÚÄÅÌÙ
create_edisks2=ëÁË ÍÉÎÉÍÕÍ 2 ÒÁÚÄÅÌÁ ÄÏÌÖÎÙ ÂÙÔØ ×ÙÂÒÁÎÙ ÄÌÑ ÏÔÒÁÖÅÎÉÑ
create_espare=ó×ÏÂÏÄÎÙÊ ÒÁÚÄÅÌ $1 ÎÅ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÂÙÔØ RAID ÒÁÚÄÅÌÏÍ
create_epdisk=òÁÚÄÅÌ ÞÅÔÎÏÓÔÉ ÎÅ ÍÏÖÅÔ ÏÄÎÏ×ÒÅÍÅÎÎÏ ÂÙÔØ RAID ÒÁÚÄÅÌÏÍ

view_title=RAID õÓÔÒÏÊÓÔ×Ï
view_header=ðÁÒÁÍÅÔÒÙ RAID ÕÓÔÒÏÊÓÔ×Á
view_device=æÁÊÌ ÕÓÔÒÏÊÓÔ×Á
view_level=õÒÏ×ÅÎØ RAID
view_status=óÏÓÔÏÑÎÉÅ
view_mounted=áËÔÉ×ÎÏ É ÓÍÏÎÔÉÒÏ×ÁÎÎÏ ÎÁ $1
view_active=áËÔÉ×ÎÏ
view_inactive=îÅÁËÔÉ×ÎÏ
view_super=ðÏÓÔÏÑÎÎÙÊ ÓÕÐÅÒÂÌÏË?
view_parity=áÌÇÏÒÉÔÍ ÞÅÔÎÏÓÔÉ
view_chunk=òÁÚÍÅÒ ÞÁÎËÁ
view_stop=äÅÁËÔÉ×ÉÒÏ×ÁÔØ
view_start=áËÔÉ×ÉÒÏ×ÁÔØ
view_mkfs=óÏÚÄÁÔØ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ ext2 ..
view_disks=òÁÚÄÅÌÙ × RAID
view_spares=ó×ÏÂÏÄÎÙÅ ÒÁÚÄÅÌÙ
view_size=äÏÓÔÕÐÎÙÊ ÏÂßÅÍ
view_resync=ðÒÏÃÅÎÔ ÓÄÅÌÁÎÎÏÊ ÒÅÓÉÎÈÒÏÎÉÚÁÃÉÉ
view_down=(ïÐÕÝÅÎ)
view_cannot=äÁÎÎÏÅ RAID ÕÓÔÒÏÊÓÔ×Ï ÎÅ ÍÏÖÅÔ ÂÙÔØ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÎÏ, ÐÏÓËÏÌØËÕ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÏÎÏ ÓÍÏÎÔÉÒÏ×ÁÎÎÏ.

mkfs_title=óÏÚÄÁÎÉÅ æÁÊÌÏ×ÏÊ óÉÓÔÅÍÙ
mkfs_header=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÓÏÚÄÁÔØ ÎÏ×ÕÀ ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ Linux EXT2 ÎÁ $1. <blink>÷ÎÉÍÁÎÉÅ.</blink> <b>÷ÓÅ</b> ÓÕÝÅÓÔ×ÕÀÝÉÅ ÎÁ ÎÅÍ ÄÁÎÎÙÅ ÂÕÄÕÔ ÓÔÅÒÔÙ!
mkfs_options=ðÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ Linux
mkfs_err=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ
mkfs_exec=÷ÙÐÏÌÎÑÀ ËÏÍÁÎÄÕ  $1 ..
mkfs_failed=.. ÏÛÉÂËÁ!
mkfs_ok=.. ÐÏÌÎÙÊ ÕÓÐÅÈ.

select_part=$1 ÕÓÔÒÏÊÓÔ×Ï $2 ÒÁÚÄÅÌ $3
emkraid= ÏÛÉÂËÁ <tt>mkraid</tt> : $1
eraidstop=ÏÛÉÂËÁ <tt>raidstop</tt> : $1
eraidstart=ÏÛÉÂËÁ <tt>raidstart</tt> : $1
eforce=÷Ù ÄÏÌÖÎÙ ÆÏÒÓÉÒÏ×ÁÔØ ÉÎÉÃÉÁÌÉÚÁÃÉÀ ÄÁÎÎÏÇÏ RAID : $1

 07070100012f63000081a40000000000000002000000013d1fe2dc000009e6000000200000000000000000000000000000001300000003reloc/raid/lang/sv    index_title=Linux RAID
index_none=Du har inte konfigurerat någon RAID-disk.
index_add=Lägg till RAID-disk på nivå:
index_return=RAID-diskar
index_emdstat=RAID-statusfilen $1 finns inte på ditt system. Din kärna stödjer förmodligen inte RAID.
index_emkraid=RAID-verktygspaketet har inte installerats på ditt system.

linear=Sammanfogad (linjärt)
raid0=Striped (RAID0)
raid1=Speglad (RAID1)
raid4=Paritet (RAID4)
raid5=Redundant (RAID5)

create_title=Skapa RAID-disk
create_header=Inställningar för RAID-disk
create_device=Diskfil
create_level=RAID-nivå
create_disks=RAID-partitioner
create_spares=Reservpartitioner
create_pdisk=Paritetspartition
create_pauto=Automatisk
create_nodisks=Det finns inga lediga partitioner som är tillgängliga för RAID.
create_super=Permanent superblock?
create_parity=Paritetsalgoritm
create_chunk=Storlek på delarna
create_force=Tvingande initialisering av RAID?
create_rdev=RAID-disk $1
create_err=Det gick inte att skapa RAID
create_edisks=Du har inte angivit några partitioner
create_edisks2=Minst 2 partitioner måste anges för spegling
create_espare=Reservpartition $1 får inte vara en RAID-partition också
create_epdisk=Paritetspartitionen får inte vara en RAID-partition också

view_title=RAID-disk
view_header=Inställningar för RAID-disk
view_device=Diskfil
view_level=RAID-nivå
view_status=Status
view_mounted=Aktiv och monterad på $1
view_active=Aktiv
view_inactive=Inaktiv
view_super=Permanent superblock?
view_parity=Paritetsalgorimt
view_chunk=Storlek på delarna
view_stop=Deaktivera
view_start=Aktivera
view_mkfs=Skapa ext2-filsystem ...
view_disks=RAID-partitioner
view_spares=Reservpartitioner
view_size=Användbart utrymme
view_resync=Andel resync utförd
view_down=(Nere)
view_cannot=Denna RAID-disk kan inte ändras eftersom den är monterad.

mkfs_title=Skapa filsystem
mkfs_header=I detta formulär kan du bygga upp ett nytt EXT2-filsystem för Linux på $1. <b>Alla</b> existerande data kommer att raderas!
mkfs_options=Inställningar för nytt Linux-filsystem
mkfs_err=Det gick inte att bygga filsystemet
mkfs_exec=Utför kommando $1 ...
mkfs_failed=... kommandot gick inte att utföra.
mkfs_ok=... kommandot utfört.

emkraid=<tt>mkraid</tt> misslyckades: $1
eraidstop=<tt>raidstop</tt> misslyckades: $1
eraidstart=<tt>raidstart</tt> misslyckades: $1
eforce=Du måste tvinga fram initialisering av denna RAID-disk: $1

log_create=Lade till $1 raid-disk $2
log_stop=Deaktiverade raid-disk $1
log_start=Aktiverade raid-disk $1
log_delete=Tog bort raid-disk $1
log_mkfs=Skapade $1 filsystem på $2
  07070100012f64000081a40000000000000002000000013d1fe2dc00000773000000200000000000000000000000000000001600000003reloc/raid/lang/zh_CN index_title=Linux RAID
index_none=Ã»ÓÐÅäÖÃ RAID Éè±¸
index_add=´´½¨´ËµÈ¼¶µÄ RAID Éè±¸£º
index_return=RAID Éè±¸
index_emdstat=ÔÚÄúµÄÏµÍ³ÖÐÃ»·¢ÏÖÄÚºËµÄ RAID ×´Ì¬ÎÄ¼þ$1,ÄúµÄÏµÍ³ÄÚºË¿ÉÄÜ²»Ö§³Ö RAID¡£
index_emkraid=ÄúµÄÏµÍ³ÉÏÃ»ÓÐ°²×° RAID ¹¤¾ß°ü¡£
linear=ÒÑÁ¬½Ó(ÏßÐÔ)
raid0=·Ö´øµÄ (RAID0)
raid1=¾µÏñµÄ (RAID1)
raid4=ÆæÅ¼Ð£ÑéµÄ (RAID4)
raid5=ÈßÓàµÄ (RAID5)
create_title=´´½¨ RAID Éè±¸
create_header=RAID Éè±¸Ñ¡Ïî
create_device=Éè±¸ÎÄ¼þ
create_level=RAID µÈ¼¶
create_disks=ÔÚ RAID ÖÐµÄ·ÖÇø
create_spares=¿ÕÏÐ·ÖÇø
create_pdisk=ÆæÅ¼Ð£Ñé·ÖÇø
create_pauto=×Ô¶¯
create_nodisks=Ã»ÓÐ¿ÕÏÐ·ÖÇø¹© RAID Ê¹ÓÃ
create_super=±£Áô³¬¼¶¿é£¿
create_parity=ÆæÅ¼Ð£ÑéËã·¨
create_chunk=¿éµÄ´óÐ¡
create_force=Ç¿ÖÆ RAID ³õÊ¼»¯£¿
create_rdev=RAID Éè±¸ $1
create_err=´´½¨ RAID Ê§°Ü
create_edisks=Ã»ÓÐÑ¡Ôñ·ÖÇø
create_edisks2=ÖÁÉÙÒªÎª¾µÏñÑ¡ÔñÁ½¸ö·ÖÇø
create_espare=¿ÕÏÐ·ÖÇø $1 ²»ÄÜÓÖÊÇ RAID ·ÖÇø
create_epdisk=ÆæÅ¼Ð£Ñé·ÖÇø²»ÄÜÓÖÊÇ RAID ·ÖÇø
view_title=RAID Éè±¸
view_header=RAID Éè±¸Ñ¡Ïî
view_device=Éè±¸ÎÄ¼þ
view_level=RAID µÈ¼¶
view_status=×´Ì¬
view_mounted=¼¤»î²¢×°µ½ $1
view_active=»î¶¯
view_inactive=²»»î¶¯
view_super=±£Áô³¬¼¶¿é£¿
view_parity=ÆæÅ¼Ð£ÑéËã·¨
view_chunk=¿éµÄ´óÐ¡
view_stop=½ûÓÃ
view_start=»î¶¯
view_mkfs=´´½¨ ext2 ÎÄ¼þÏµÍ³
view_disks=RAID ·ÖÇø
view_spares=¿ÕÏÐ·ÖÇø
view_size=¿ÉÓÃ¿Õ¼ä
view_resync=ÒÑÖØÐÂÍ¬²½µÄ°Ù·Ö±È
view_down=(Down)
view_cannot=RAID Éè±¸ÒÑ×°ÉÏ£¬´ËÊ±²»ÄÜ¸ü¸Ä¡£
mkfs_title=´´½¨ÎÄ¼þÏµÍ³
mkfs_header=¿ÉÀûÓÃÏÂ±íÔÚ $1 ÉÏÐÂ½¨Ò»¸ö Linux EXT2 ÎÄ¼þÏµÍ³¡£<b>ËùÓÐ</b>ÏÖÓÐÊý¾Ý½«»á¶ªÊ§£¡
mkfs_options=ÐÂ Linux ÎÄ¼þÏµÍ³Ñ¡Ïî
mkfs_err=´´½¨ÎÄ¼þÏµÍ³Ê§°Ü
mkfs_exec=Ö´ÐÐÃüÁî $1 ..
mkfs_failed=.. ÃüÁîÊ§°Ü!
mkfs_ok=.. ÃüÁîÍê³É¡£
emkraid=<tt>mkraid</tt> Ê§°Ü: $1
eraidstop=<tt>raidstop</tt> Ê§°Ü: $1
eraidstart=<tt>raidstart</tt> Ê§°Ü: $1
eforce=Äú±ØÐëÇ¿ÐÐ³õÊ¼»¯ RAID :$1
log_create=ÒÑ´´½¨ $1 RAID Éè±¸ $2
log_stop=ÒÑ½ûÓÃ RAID Éè±¸ $1
log_start=ÒÑ¼¤»î RAID Éè±¸ $1
log_delete=ÒÑÉ¾³ý RAID Éè±¸ $1
log_mkfs=ÒÑÔÚ $2 ÉÏ´´½¨ $1 ÎÄ¼þÏµÍ³
 07070100012f65000081a40000000000000002000000013d1fe2dc000007dd000000200000000000000000000000000000001b00000003reloc/raid/lang/zh_TW.Big5    index_title=Linux ºÏºÐ°}¦C
index_none=¨S¦³ºÏºÐ°}¦C³]³Æ³Q²ÕºA.
index_add=«Ø¥ßºÏºÐ°}¦C³]³Æµ¥¯Å:
index_return=ºÏºÐ°}¦C³]³Æ
index_emdstat=®Ö¤ßªººÏºÐ°}¦Cª¬ºAÀÉ®× $1 ¤£¦s¦b©ó±zªº¨t²Î¤W. ±zªº®Ö¤ß¥i¯à¨Ã¤£¤ä´©ºÏºÐ°}¦C.
index_emkraid=±zªº¨t²Î©|¥¼¦w¸ËºÏºÐ°}¦C¤u¨ã®M¥ó.

linear=¦êÁpªº (½u©Ê)
raid0=¥æ¿ùªº (RAID0)
raid1=¬M®gªº (RAID1)
raid4=¦P¦ì¤¸ (RAID4)
raid5=³Æ´©ªº (RAID5)

create_title=«Ø¥ßºÏºÐ°}¦C³]³Æ
create_header=ºÏºÐ°}¦C³]³Æ¿ï¶µ
create_device=³]³Æ±±¨îÀÉ®×
create_level=ºÏºÐ°}¦Cµ¥¯Å
create_disks=ºÏºÐ°}¦C¤¤ªº¤À³Î°Ï
create_spares=³Æ´©ªº¤À³Î°Ï
create_pdisk=¦P¦ì¤¸ÀË¬dªº¤À³Î°Ï
create_pauto=¦Û°Ê
create_nodisks=¨S¦³ªÅ¥Õªº¤À³Î°Ï¥i¥Hµ¹ºÏºÐ°}¦C¨Ï¥Î.
create_super=¬O§_¨Ï¥Î«ùÄò©Êªº superblock?
create_parity=¦P¦ì¤¸ºtºâªk
create_chunk=¼Æ¶q¤j¤p
create_force=¬O§_±j¨î±Ò°ÊºÏºÐ°}¦C?
create_rdev=ºÏºÐ°}¦C³]³Æ $1
create_err=µLªk«Ø¥ßºÏºÐ°}¦C
create_edisks=¨S¦³¿ï¾Ü¤À³Î°Ï
create_edisks2=¦Ü¤Ö­n¿ï¾Ü 2 ­Ó¤À³Î°Ï¥H¨Ñ¬M®g¨Ï¥Î
create_espare=³Æ´©ªº¤À³Î°Ï $1 ¤£¯à¦P®É§@¬°ºÏºÐ°}¦C¤À³Î°Ï
create_epdisk=¦P¦ì¤¸ÀË¬dªº¤À³Î°Ï¤£¯à¦P®É§@¬°ºÏºÐ°}¦C¤À³Î°Ï

view_title=ºÏºÐ°}¦C³]³Æ
view_header=ºÏºÐ°}¦C³]³Æ¿ï¶µ
view_device=³]³Æ±±¨îÀÉ®×
view_level=ºÏºÐ°}¦Cµ¥¯Å
view_status=ª¬ºA
view_mounted=¤w¸g±Ò°Ê¨Ã±¾¸ü¦b $1
view_active=¹B§@¤¤
view_inactive=°±¤î¨Ï¥Î
view_super=¬O§_¨Ï¥Î«ùÄò©Êªº superblock?
view_parity=¦P¦ì¤¸ºtºâªk
view_chunk=¼Æ¶q¤j¤p
view_stop=¨Ï¤§¤£¹B§@
view_start=¹B§@¤¤
view_mkfs=«Ø¥ß EXT2 ÀÉ®×¨t²Î...
view_disks=ºÏºÐ°}¦C¤¤ªº¤À³Î°Ï
view_spares=³Æ´©ªº¤À³Î°Ï
view_size=¤£¥i¨Ï¥Îªº¤j¤p
view_resync=§¹¦¨­«·s¦P¨Bªº¦Ê¤À¤ñ
view_down=(Down)
view_cannot=³o­ÓºÏºÐ°}¦CµLªk³QÅÜ§ó, ¦]¬°¥¦¥Ø«e¥¿³Q±¾¸ü.

mkfs_title=«Ø¥ßÀÉ®×¨t²Î
mkfs_header=³o­Óªí³æ¥i¥HÅý±z«Ø¥ß·sªº Linux EXT2 ÀÉ®×¨t²Î¦b $1 ¤W. <b>¥þ³¡ªº</b>²{¦s¸ê®Æ±N·|³Q²M°£!
mkfs_options=·s¼W Linux ÀÉ®×¨t²Î¿ï¶µ
mkfs_err=µLªk«Ø¥ßÀÉ®×¨t²Î
mkfs_exec=°õ¦æ©R¥O $1 ¤¤...
mkfs_failed=... ©R¥O¥¢±Ñ!
mkfs_ok=... ©R¥O§¹¦¨.

emkraid=<tt>(«Ø¥ßºÏºÐ°}¦C) mkraid</tt> ¥¢±Ñ: $1
eraidstop=<tt>(°±¤îºÏºÐ°}¦C) raidstop</tt> ¥¢±Ñ: $1
eraidstart=<tt>(±Ò°ÊºÏºÐ°}¦C) raidstart</tt> ¥¢±Ñ: $1
eforce=±z¥²¶·±j¨î³o­ÓºÏºÐ°}¦Cªºªì©l¤Æ: $1

   0707010000d1a3000081a40000000000000002000000013d1fe2dc0000031f000000200000000000000000000000000000001900000003reloc/raid/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'raid-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
if ($action eq 'create') {
	return &text('log_create', $text{$p->{'level'}}, "<tt>$object</tt>");
	}
elsif ($action eq 'stop') {
	return &text('log_stop', "<tt>$object</tt>");
	}
elsif ($action eq 'start') {
	return &text('log_start', "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
elsif ($action eq 'mkfs') {
	return &text('log_mkfs', "<tt>$p->{'fs'}</tt>", "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

 0707010000d1a4000081e40000000000000002000000013d1fe2dc00000464000000200000000000000000000000000000001400000003reloc/raid/mkfs.cgi   #!/usr/local/bin/perl
# mkfs.cgi
# Create a new linux filesystem

require './raid-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&foreign_require("proc", "proc-lib.pl");

&ReadParse();
&error_setup($text{'mkfs_err'});
&foreign_call("fdisk", "error_setup", $text{'mkfs_err'});
&foreign_call("fdisk", "ReadParse");
$conf = &get_raidtab();
$raid = $conf->[$in{'idx'}];
$cmd = &foreign_call("fdisk", "mkfs_parse", $in{'fs'}, $raid->{'value'});

$lvl = &find_value('raid-level', $raid->{'members'});
$chunk = &find_value('chunk-size', $raid->{'members'});
if ($lvl >= 4 && ($in{'fs'} eq 'ext2' || $in{'fs'} eq 'ext3')) {
	$bs = $in{'ext2_b_def'} ? 4096 : $in{'ext2_b'};
	}

$| = 1;
$theme_no_header = 1;
&header($text{'mkfs_title'}, "");
print "<hr>\n";
print &text('mkfs_exec', "<tt>$cmd</tt>"),"<p>\n";
print "<pre>\n";
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1);
print "</pre>\n";

if ($?) { print "<b>$text{'mkfs_failed'}</b> <p>\n"; }
else { print "$text{'mkfs_ok'} <p>\n"; }
&webmin_log("mkfs", undef, $raid->{'value'}, \%in);

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000d1a5000081a40000000000000002000000013d1fe2ea00000222000000200000000000000000000000000000001700000003reloc/raid/module.info    desc_ru_SU=Linux RAID
risk=high
desc_ko_KR.euc=¸®´ª½º RAID
desc_zh_TW.Big5=Linux ºÏºÐ°}¦C
desc_pl=RAID w&nbsp;Linuksie
name=RAID
desc_zh_CN=Linux ´ÅÅÌÕóÁÐ
desc_pt=RAID do Linux
category=hardware
desc_tr=Linux RAID
os_support=redhat-linux mandrake-linux open-linux slackware-linux debian-linux suse-linux turbo-linux corel-linux cobalt-linux msc-linux generic-linux gentoo-linux
desc=Linux RAID
desc_es=RAID de Linux
desc_sv=Linux RAID
desc_ja_JP.euc=Linux RAID 
depends=fdisk mount 0.990
version=0.990
desc_ca=RAID de Linux
desc_ru_RU=Linux RAID
  0707010000d1a6000081a40000000000000002000000013d1fe2dc00001301000000200000000000000000000000000000001700000003reloc/raid/raid-lib.pl    # raid-lib.pl
# Functions for managing RAID

do '../web-lib.pl';
&init_config();

%container = ( 'raiddev', 1,
	       'device', 1 );

# get_raidtab()
# Parse the raid config file into a list of devices
sub get_raidtab
{
local ($raiddev, $device, %mdstat);
return \@get_raidtab_cache if (defined(@get_raidtab_cache));

# Read the mdstat file
open(MDSTAT, $config{'mdstat'});
while(<MDSTAT>) {
	if (/^(md\d+)\s*:\s+(\S+)\s+(\S+)\s+(.*)\s+(\d+)\s+blocks.*resync=(\d+)/) {
		$mdstat{"/dev/$1"} = [ $2, $3, $4, $5, $6 ];
		}
	elsif (/^(md\d+)\s*:\s+(\S+)\s+(\S+)\s+(.*)\s+(\d+)\s+blocks/) {
		$mdstat{"/dev/$1"} = [ $2, $3, $4, $5 ];
		}
	elsif (/^(md\d+)\s*:\s+(\S+)\s+(\S+)\s+(.*)/) {
		$mdstat{"/dev/$1"} = [ $2, $3, $4 ];
		$_ = <MDSTAT>;
		if (/\s+(\d+)\s+blocks.*resync=(\d+)/) {
			$mdstat{"/dev/$1"}->[3] = $1;
			$mdstat{"/dev/$1"}->[4] = $2;
			}
		elsif (/\s+(\d+)\s+blocks/) {
			$mdstat{"/dev/$1"}->[3] = $1;
			}
		}
	}
close(MDSTAT);

# Read the raidtab file
local $lnum = 0;
open(RAID, $config{'raidtab'});
while(<RAID>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^\s*(\S+)\s+(\S+)/) {
		local $dir = { 'name' => lc($1),
			       'value' => $2,
			       'line' => $lnum,
			       'eline' => $lnum };
		if ($dir->{'name'} =~ /^(raid|spare|parity|failed)-disk$/) {
			push(@{$device->{'members'}}, $dir);
			$device->{'eline'} = $lnum;
			$raiddev->{'eline'} = $lnum;
			}
		elsif ($dir->{'name'} eq 'raiddev') {
			$dir->{'index'} = scalar(@get_raidtab_cache);
			push(@get_raidtab_cache, $dir);
			}
		else {
			push(@{$raiddev->{'members'}}, $dir);
			$raiddev->{'eline'} = $lnum;
			}
		if ($dir->{'name'} eq 'device') {
			$device = $dir;
			}
		elsif ($dir->{'name'} eq 'raiddev') {
			$raiddev = $dir;
			local $m = $mdstat{$dir->{'value'}};
			$dir->{'active'} = $m->[0] eq 'active';
			$dir->{'level'} = $m->[1] =~ /raid(\d+)/ ? $1 : $m->[1];
			$dir->{'devices'} = [ map { /(\S+)\[\d+\]/; "/dev/$1" }
						  split(/\s+/, $m->[2]) ];
			$dir->{'size'} = $m->[3];
			$dir->{'resync'} = $m->[4];
			$dir->{'recovery'} = $m->[5];
			}
		}
	$lnum++;
	}
close(RAID);
return \@get_raidtab_cache;
}

# create_raid(&raid)
# Create a new raid set
sub create_raid
{
$lref = &read_file_lines($config{'raidtab'});
$_[0]->{'line'} = @$lref;
push(@$lref, &directive_lines($_[0]));
$_[0]->{'eline'} = @$lref - 1;
&flush_file_lines();
}

# delete_raid(&raid)
# Delete a raid set from the config file
sub delete_raid
{
$lref = &read_file_lines($config{'raidtab'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

# make_raid(&raid, force)
# Call mkraid to make a raid set
sub make_raid
{
local $f = $_[1] ? "--really-force" : "";
local $out = &backquote_logged("mkraid $f $_[0]->{'value'} 2>&1 </dev/null");
return $? ? &text($out =~ /force/i ? 'eforce' : 'emkraid', "<pre>$out</pre>")
	  : undef;
}

# activate_raid(&raid)
# Activate a raid set
sub activate_raid
{
local $out = &backquote_logged("raidstart $_[0]->{'value'} 2>&1");
&error(&text('eraidstart', "<tt>$out</tt>")) if ($?);
}

# activate_raid(&raid)
# Deactivate a raid set
sub deactivate_raid
{
local $out = &backquote_logged("raidstop $_[0]->{'value'} 2>&1");
&error(&text('eraidstop', "<tt>$out</tt>")) if ($?);
}

# directive_lines(&directive, indent)
sub directive_lines
{
local @rv = ( "$_[1]$_[0]->{'name'}\t$_[0]->{'value'}" );
foreach $m (@{$_[0]->{'members'}}) {
	push(@rv, &directive_lines($m, $_[1]."\t"));
	}
return @rv;
}

# find(name, &array)
sub find
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &array)
sub find_value
{
local(@v);
@v = &find($_[0], $_[1]);
if (!@v) { return undef; }
elsif (wantarray) { return map { $_->{'value'} } @v; }
else { return $v[0]->{'value'}; }
}

# device_status(device)
# Returns an array of  directory, type, mounted
sub device_status
{
@mounted = &foreign_call("mount", "list_mounted") if (!@mounted);
@mounts = &foreign_call("mount", "list_mounts") if (!@mounts);
local $label = &fdisk::get_label($_[0]);

local ($mounted) = grep { &same_file($_->[1], $_[0]) ||
			  $_->[1] eq "LABEL=$label" } @mounted;
local ($mount) = grep { &same_file($_->[1], $_[0]) ||
			$_->[1] eq "LABEL=$label" } @mounts;
if ($mounted) { return ($mounted->[0], $mounted->[2], 1,
			&indexof($mount, @mounts),
			&indexof($mounted, @mounted)); }
elsif ($mount) { return ($mount->[0], $mount->[2], 0,
			 &indexof($mount, @mounts)); }
if (!defined(@physical_volumes)) {
	@physical_volumes = ();
	foreach $vg (&foreign_call("lvm", "list_volume_groups")) {
		push(@physical_volumes,
			&foreign_call("lvm", "list_physical_volumes",
					     $vg->{'name'}));
		}
	}
foreach $pv (@physical_volumes) {
	return ( $pv->{'vg'}, "lvm", 1)
		if ($pv->{'device'} eq $_[0]);
	}
return ();
}

1;

   0707010000d1a7000081e40000000000000002000000013d1fe2dc00001252000000200000000000000000000000000000001900000003reloc/raid/raid_form.cgi  #!/usr/local/bin/perl
# raid_form.cgi
# Display a form for creating a raid device

require './raid-lib.pl';
&foreign_require("fdisk", "fdisk-lib.pl");
&foreign_require("mount", "mount-lib.pl");
&foreign_require("lvm", "lvm-lib.pl");
&ReadParse();
$conf = &get_raidtab();

# Display headers
$max = 0;
foreach $c (@$conf) {
	if ($c->{'value'} =~ /md(\d+)$/ && $1 >= $max) {
		$max = $1+1;
		}
	}
&header($text{'create_title'}, "");
$raid = { 'value' => "/dev/md$max",
	  'members' => [ { 'name' => 'raid-level',
			   'value' => $in{'level'} },
			 { 'name' => 'persistent-superblock',
			   'value' => 1 }
		       ] };
print "<hr>\n";

# Find partitions used by raid
foreach $c (@$conf) {
	foreach $d (&find_value('device', $c->{'members'})) {
		$used{$d}++;
		}
	}

# Find available partitions
foreach $d (&foreign_call("fdisk", "list_disks_partitions")) {
	foreach $p (@{$d->{'parts'}}) {
		next if ($used{$p->{'device'}} || $p->{'extended'});
		local @st = &device_status($p->{'device'});
		next if (@st);
		$tag = &foreign_call("fdisk", "tag_name", $p->{'type'});
		$disks .= sprintf "<option value='%s'>%s %s\n",
			$p->{'device'}, $p->{'desc'},
			$tag ? "($tag)" : "";
		}
	}
foreach $c (@$conf) {
	next if (!$c->{'active'} || $used{$c->{'value'}});
	local @st = &device_status($c->{'value'});
	next if (@st);
	$disks .= sprintf "<option value='%s'>%s\n",
		$c->{'value'}, &text('create_rdev',
		    $c->{'value'} =~ /md(\d+)$/ ? "$1" : $c->{'value'});
	}
foreach $vg (&foreign_call("lvm", "list_volume_groups")) {
	foreach $lv (&foreign_call("lvm", "list_logical_volumes",
				   $vg->{'name'})) {
		next if ($lv->{'perm'} ne 'rw' || $used{$lv->{'device'}});
		local @st = &device_status($lv->{'device'});
		next if (@st);
		$disks .= sprintf "<option value='%s'>%s\n",
			$lv->{'device'},
			&text('create_lvm', $lv->{'vg'}, $lv->{'name'});
		}
	}
if (!$disks) {
	print "<p><b>$text{'create_nodisks'}</b> <p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<form action=create_raid.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'create_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'create_device'}</b></td>\n";
print "<td><tt>$raid->{'value'}</tt></td> </tr>\n";
print "<input type=hidden name=device value='$raid->{'value'}'>\n";

$lvl = &find_value('raid-level', $raid->{'members'});
print "<tr> <td><b>$text{'create_level'}</b></td>\n";
print "<td>",$lvl eq 'linear' ? $text{'linear'}
			      : $text{"raid$lvl"},"</td> </tr>\n";
print "<input type=hidden name=level value='$lvl'>\n";

$super = &find_value('persistent-superblock', $raid->{'members'});
print "<tr> <td><b>$text{'create_super'}</b></td>\n";
printf "<td><input name=super type=radio value=1 %s> %s\n",
	$super ? 'checked' : '', $text{'yes'};
printf "<input name=super type=radio value=0 %s> %s</td> </tr>\n",
	$super ? '' : 'checked', $text{'no'};

if ($lvl eq '5') {
	$parity = &find_value('parity-algorithm', $raid->{'members'});
	print "<tr> <td><b>$text{'create_parity'}</b></td>\n";
	print "<td><select name=parity>\n";
	foreach $a ('', 'left-asymmetric', 'right-asymmetric',
		    'left-symmetric', 'right-symmetric') {
		printf "<option value='%s' %s>%s\n",
			$a, $parity eq $a ? 'selected' : '',
			$a ? $a : $text{'default'};
		}
	print "</select></td> </tr>\n";
	}

$chunk = &find_value('chunk-size', $raid->{'members'});
print "<tr> <td><b>$text{'create_chunk'}</b></td>\n";
print "<td><select name=chunk>\n";
for($i=4; $i<=4096; $i*=2) {
	printf "<option value=%d %s>%d kB\n",
		$i, $chunk == $i ? 'selected' : '', $i;
	}
print "</select></td> </tr>\n";

# Display partitions in raid, spares and parity
print "<tr> <td valign=top><b>$text{'create_disks'}</b></td>\n";
print "<td><select name=disks multiple size=4>\n";
print $disks;
print "</select></td> </tr>\n";

if ($lvl >= 4) {
	print "<tr> <td valign=top><b>$text{'create_spares'}</b></td>\n";
	print "<td><select name=spares multiple size=4>\n";
	print $disks;
	print "</select></td> </tr>\n";
	}

if ($lvl == 4) {
	print "<tr> <td valign=top><b>$text{'create_pdisk'}</b></td>\n";
	print "<td><select name=pdisk>\n";
	print "<option value='' selected>$text{'create_auto'}\n";
	print $disks;
	print "</select></td> </tr>\n";
	}

print "<tr> <td><b>$text{'create_force'}</b></td>\n";
print "<td><input type=radio name=force value=1> $text{'yes'}\n";
print "<input type=radio name=force value=0 checked> $text{'no'}\n";
print "</td> </tr>\n";

print "</table></td></tr></table>\n";

print "<input type=submit value='$text{'create'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000d1a8000081e40000000000000002000000013d1fe2dc000005ba000000200000000000000000000000000000001900000003reloc/raid/save_raid.cgi  #!/usr/local/bin/perl
# save_raid.cgi
# Activate, deactivate, delete or make a filesystem on a raid set

require './raid-lib.pl';
&ReadParse();
$conf = &get_raidtab();
$old = $conf->[$in{'idx'}];

if ($in{'delete'}) {
	# Delete a RAID set
	&lock_file($config{'raidtab'});
	&deactivate_raid($old) if ($old->{'active'});
	&delete_raid($old);
	&unlock_file($config{'raidtab'});
	&webmin_log("delete", undef, $old->{'value'});
	&redirect("");
	}
elsif ($in{'mkfs'}) {
	# Display form for making a filesystem
	&foreign_require("fdisk", "fdisk-lib.pl");
	&header($text{'mkfs_title'}, "");
	print "<hr>\n";

	print "<p>",&text('mkfs_header2', "<tt>$old->{'value'}</tt>",
			  $in{'fs'}),"<br>\n";
	print "<form action=mkfs.cgi>\n";
	print "<input type=hidden name=idx value='$in{'idx'}'>\n";
	print "<input type=hidden name=fs value='$in{'fs'}'>\n";
	print "<table border width=100%>\n";
	print "<tr $tb><td><b>$text{'mkfs_options'}</b></td> </tr>\n";
	print "<tr $cb><td><table width=100%>\n";
	&foreign_call("fdisk", "mkfs_options", $in{'fs'});
	print "</table></td></tr></table>\n";
	print "<input type=submit value='$text{'create'}'></form>\n";

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
elsif ($in{'start'}) {
	# Start raid device
	&activate_raid($old);
	&webmin_log("start", undef, $old->{'value'});
	&redirect("");
	}
elsif ($in{'stop'}) {
	# Stop raid device
	&deactivate_raid($old);
	&webmin_log("stop", undef, $old->{'value'});
	&redirect("");
	}

  0707010000d1a9000081e40000000000000002000000013d1fe2dc00000fcb000000200000000000000000000000000000001900000003reloc/raid/view_raid.cgi  #!/usr/local/bin/perl
# view_raid.cgi
# Display information about a raid device

require './raid-lib.pl';
&foreign_require("mount", "mount-lib.pl");
&foreign_require("lvm", "lvm-lib.pl");
&foreign_require("fdisk", "fdisk-lib.pl");
&ReadParse();

&header($text{'view_title'}, "");
$conf = &get_raidtab();
$raid = $conf->[$in{'idx'}];
print "<hr>\n";

print "<form action=save_raid.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'view_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'view_device'}</b></td>\n";
print "<td><tt>$raid->{'value'}</tt></td> </tr>\n";

$lvl = &find_value('raid-level', $raid->{'members'});
print "<tr> <td><b>$text{'view_level'}</b></td>\n";
print "<td>",$lvl eq 'linear' ? $text{'linear'}
			      : $text{"raid$lvl"},"</td> </tr>\n";

@st = &device_status($raid->{'value'});
print "<tr> <td><b>$text{'view_status'}</b></td> <td>\n";
print $st[1] eq 'lvm' ? &text('view_lvm', "<tt>$st[0]</tt>") :
      $st[2] ? &text('view_mounted', "<tt>$st[0]</tt>") :
      @st ? &text('view_mount', "<tt>$st[0]</tt>") :
      $raid->{'active'} ? $text{'view_active'} :
			  $text{'view_inactive'};
print "</td> </tr>\n";

if ($raid->{'size'}) {
	print "<tr> <td><b>$text{'view_size'}</b></td>\n";
	print "<td>$raid->{'size'} blocks</td> </tr>\n";
	}
if ($raid->{'resync'}) {
	print "<tr> <td><b>$text{'view_resync'}</b></td>\n";
	print "<td>$raid->{'resync'} \%</td> </tr>\n";
	}

$super = &find_value('persistent-superblock', $raid->{'members'});
print "<tr> <td><b>$text{'view_super'}</b></td>\n";
print "<td>",$super ? $text{'yes'} : $text{'no'},"</td> </tr>\n";

if ($lvl eq '5') {
	$parity = &find_value('parity-algorithm', $raid->{'members'});
	print "<tr> <td><b>$text{'view_parity'}</b></td>\n";
	print "<td>",$parity ? $parity : $text{'default'},"</td> </tr>\n";
	}

$chunk = &find_value('chunk-size', $raid->{'members'});
print "<tr> <td><b>$text{'view_chunk'}</b></td>\n";
print "<td>$chunk kB</td> </tr>\n";

# Display partitions in RAID
print "<tr> <td valign=top><b>$text{'view_disks'}</b></td> <td>\n";
foreach $d (&find('device', $raid->{'members'})) {
	if (&find('raid-disk', $d->{'members'}) ||
            &find('parity-disk', $d->{'members'})) {
		local $name = &mount::device_name($d->{'value'});
		print $name,"\n";
		if (&indexof($d->{'value'}, @{$raid->{'devices'}}) < 0 &&
		    $raid->{'active'}) {
			print "<font color=#ff0000>$text{'view_down'}</font>\n";
			}
		print "<br>\n";
		}
	}
print "</td> </tr>\n";

# Display spare partitions
foreach $d (&find('device', $raid->{'members'})) {
	if (&find('spare-disk', $d->{'members'})) {
		if ($d->{'value'} =~ /(h|s)d(\S+)(\d+)$/) {
			$sp .= &text('select_part', $1 eq 'h' ? 'IDE' : 'SCSI',
				    uc($2), "$3")."<br>\n";
			}
		else {
			$sp .= $d->{'value'}."<br>\n";
			}
		}
	}
if ($sp) {
	print "<tr> <td valign=top><b>$text{'view_spares'}</b></td> <td>\n";
	print $sp,"</td> </tr>\n";
	}

print "</table></td></tr></table>\n";

if ($st[2]) {
	print "<br><b>$text{'view_cannot'}</b> <p>\n";
	}
else {
	if ($raid->{'active'}) {
		print "<input type=submit name=stop ",
		      "value='$text{'view_stop'}'>&nbsp;\n";
		}
	else {
		print "<input type=submit name=start ",
		      "value='$text{'view_start'}'>&nbsp;\n";
		}
	print "<input type=submit name=delete value='$text{'delete'}'>&nbsp;\n";
	if ($raid->{'active'}) {
		# Show buttons for creating filesystems
		&foreign_require("fdisk", "fdisk-lib.pl");
		print "<p><hr>\n";
		print "<table width=100%><tr>\n";
		print "<td><input type=submit name=mkfs ",
		      "value='$text{'view_mkfs2'}'>\n";
		print "<select name=fs>\n";
		foreach $f (&fdisk::supported_filesystems()) {
			printf "<option value=%s %s>%s (%s)\n",
				$f, $stat[1] eq $f ? "selected" : "",
				$fdisk::text{"fs_$f"}, $f;
			}
		print "</select></td>\n";
		print "<td>$text{'view_mkfsdesc'}</td>\n";
		print "</tr></table>\n";
		}
	}
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010003e283000081e40000000000000002000000013d1fe2b80000013b000000200000000000000000000000000000001700000003reloc/referer_save.cgi    #!/usr/local/bin/perl
# redirect_save.cgi
# Redirect to the original URL, and optionally save the redirect flag

require './web-lib.pl';
&init_config();
&ReadParse();

if ($in{'referer_again'}) {
	$gconfig{'referer'} = 1;
	&write_file("$config_directory/config", \%gconfig);
	}
&redirect($in{'referer_original'});

 0707010003e284000081e40000000000000002000000013d1fe2b800000f7e000000200000000000000000000000000000000e00000003reloc/rpc.cgi #!/usr/local/bin/perl
# rpc.cgi
# Handles remote_foreign_require and remote_foreign_call requests from
# other webmin servers. State is preserved by starting a process for each
# session that listens for requests on a named pipe (and dies after a few
# seconds of inactivity)
# access{'rpc'}  0=not allowed 1=allowed 2=allowed if root or admin

do './web-lib.pl';
use POSIX;
&init_config();
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
	local $got;
	while(length($rawarg) < $ENV{'CONTENT_LENGTH'}) {
		read(STDIN, $got, $ENV{'CONTENT_LENGTH'}) > 0 || last;
		$rawarg .= $got;
		}
	}
else {
	$rawarg = $ENV{'QUERY_STRING'};
	}
$arg = &unserialise_variable($rawarg);
$| = 1;
print "Content-type: text/plain\n\n";

# Can this user make remote calls?
%access = &get_module_acl();
if ($access{'rpc'} == 0 || $access{'rpc'} == 2 &&
    $base_remote_user ne 'admin' && $base_remote_user ne 'root') {
	print &serialise_variable( { 'status' => 0 } );
	exit;
	}

if ($arg->{'newsession'}) {
	# Need to fork a new session-handler process
	$fifo1 = &tempname();
	$fifo2 = &tempname();
	mkfifo($fifo1, 0700);
	mkfifo($fifo2, 0700);
	if (!fork()) {
		# This is the subprocess where execution really happens
		$SIG{'ALRM'} = "fifo_timeout";
		untie(*STDIN);
		untie(*STDOUT);
		close(STDIN);
		close(STDOUT);
		close(miniserv::SOCK);
		local $stime = time();
		while(1) {
			local ($rawcmd, $cmd, @rv);
			alarm(10);
			open(FIFO, $fifo1) || last;
			while(<FIFO>) {
				$rawcmd .= $_;
				}
			close(FIFO);
			alarm(0);
			$cmd = &unserialise_variable($rawcmd);
			if ($cmd->{'action'} eq 'quit') {
				# time to end this session (after the reply)
				@rv = ( { 'time' => time() - $stime } );
				}
			elsif ($cmd->{'action'} eq 'require') {
				# require a library
				&foreign_require($cmd->{'module'},
						 $cmd->{'file'});
				@rv = ( { 'session' => [ $fifo1, $fifo2 ] } );
				}
			elsif ($cmd->{'action'} eq 'call') {
				# execute a function
				@rv = &foreign_call($cmd->{'module'},
						    $cmd->{'func'},
						    @{$cmd->{'args'}});
				}
			elsif ($cmd->{'action'} eq 'eval') {
				# eval some perl code
				if ($cmd->{'module'}) {
					@rv = eval <<EOF;
package $cmd->{'module'};
$cmd->{'code'}
EOF
					}
				else {
					@rv = eval $cmd->{'code'};
					}
				}
			open(FIFO, ">$fifo2");
			if (@rv == 1) {
				print FIFO &serialise_variable(
					{ 'status' => 1, 'rv' => $rv[0] } );
				}
			else {
				print FIFO &serialise_variable(
					{ 'status' => 1, 'arv' => \@rv } );
				}
			close(FIFO);
			last if ($cmd->{'action'} eq 'quit');
			}
		unlink($fifo1);
		unlink($fifo2);
		exit;
		}
	$session = [ $fifo1, $fifo2 ];
	}
else {
	# Use the provided session id
	$session = $arg->{'session'};
	}

if ($arg->{'action'} eq 'ping') {
	# Just respond with an OK
	print &serialise_variable( { 'status' => 1 } );
	}
elsif ($arg->{'action'} eq 'check') {
	# Check if some module is supported
	print &serialise_variable(
		{ 'status' => 1,
		  'rv' => &foreign_check($arg->{'module'}) } );
	}
elsif ($arg->{'action'} eq 'config') {
	# Get the config for some module
	local %config = &foreign_config($arg->{'module'});
	print &serialise_variable(
		{ 'status' => 1, 'rv' => \%config } );
	}
elsif ($arg->{'action'} eq 'write') {
	# Transfer data to a local temp file
	local $file = $arg->{'file'} ? $arg->{'file'} : &tempname();
	open(FILE, ">$file");
	print FILE $arg->{'data'};
	close(FILE);
	print &serialise_variable(
		{ 'status' => 1, 'rv' => $file } );
	}
elsif ($arg->{'action'} eq 'read') {
	# Transfer data from a file
	local ($data, $got);
	open(FILE, $arg->{'file'});
	while(read(FILE, $got, 1024) > 0) {
		$data .= $got;
		}
	close(FILE);
	print &serialise_variable(
		{ 'status' => 1, 'rv' => $data } );
	}
else {
	# Pass the request on to the subprocess
	open(FIFO, ">$session->[0]");
	print FIFO $rawarg;
	close(FIFO);
	open(FIFO, $session->[1]);
	while(<FIFO>) {
		print;
		}
	close(FIFO);
	}

sub fifo_timeout
{
unlink($fifo1);
unlink($fifo2);
exit;
}

  0707010003e285000081e40000000000000002000000013d1fe2b8000001ba000000200000000000000000000000000000001800000003reloc/run-uninstalls.pl   #!/usr/local/bin/perl
# run-uninstalls.pl
# Run all the uninstall.pl scripts in module directories

$no_acl_check++;
do './web-lib.pl';
&init_config();

foreach $m (&get_all_module_infos()) {
	if (&check_os_support($m) &&
	    -r "$root_directory/$m->{'dir'}/uninstall.pl") {
		# Call this module's uninstall function
		eval {
			&foreign_require($m->{'dir'}, "uninstall.pl");
			&foreign_call($m->{'dir'}, "module_uninstall");
			};
		}
	}

  07070100015d8a000041ed0000000000000001000000053d1ffb3200000000000000200000000000000000000000000000000c00000003reloc/samba   07070100015d8b000081a40000000000000002000000013d1fe2bf00002a32000000200000000000000000000000000000001c00000003reloc/samba/acl_security.pl   
require 'samba-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the samba module
sub acl_security_form
{
print "<tr>\n<td><b>$text{'acl_apply'}</b></td> <td>\n";
printf "<input type=radio name=apply value=1 %s> $text{'yes'}\n",
		$_[0]->{'apply'} ? "checked" : "";
printf "<input type=radio name=apply value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'apply'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_view_all_con'}</b></td> <td>\n";
printf "<input type=radio name=view_all_con value=1 %s> $text{'yes'}\n",
		$_[0]->{'view_all_con'} ? "checked" : "";
printf "<input type=radio name=view_all_con value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'view_all_con'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_kill_con'}</b></td> <td>\n";
printf "<input type=radio name=kill_con value=1 %s> $text{'yes'}\n",
		$_[0]->{'kill_con'} ? "checked" : "";
printf "<input type=radio name=kill_con value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'kill_con'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_conf_net'}</b></td> <td>\n";
printf "<input type=radio name=conf_net value=1 %s> $text{'yes'}\n",
		$_[0]->{'conf_net'} ? "checked" : "";
printf "<input type=radio name=conf_net value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'conf_net'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_conf_smb'}</b></td> <td>\n";
printf "<input type=radio name=conf_smb value=1 %s> $text{'yes'}\n",
		$_[0]->{'conf_smb'} ? "checked" : "";
printf "<input type=radio name=conf_smb value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'conf_smb'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_conf_pass'}</b></td> <td>\n";
printf "<input type=radio name=conf_pass value=1 %s> $text{'yes'}\n",
		$_[0]->{'conf_pass'} ? "checked" : "";
printf "<input type=radio name=conf_pass value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'conf_pass'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_conf_print'}</b></td> <td>\n";
printf "<input type=radio name=conf_print value=1 %s> $text{'yes'}\n",
		$_[0]->{'conf_print'} ? "checked" : "";
printf "<input type=radio name=conf_print value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'conf_print'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_conf_misc'}</b></td> <td>\n";
printf "<input type=radio name=conf_misc value=1 %s> $text{'yes'}\n",
		$_[0]->{'conf_misc'} ? "checked" : "";
printf "<input type=radio name=conf_misc value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'conf_misc'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_swat'}</b></td> <td>\n";
printf "<input type=radio name=swat value=1 %s> $text{'yes'}\n",
		$_[0]->{'swat'} ? "checked" : "";
printf "<input type=radio name=swat value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'swat'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# encripted passwords
print "<tr>\n<td $tb><b>$text{'acl_enc_passwd_opts'}</b></td></tr> \n";

print "<tr>\n<td><b>$text{'acl_view_users'}</b></td> <td>\n";
printf "<input type=radio name=view_users value=1 %s> $text{'yes'}\n",
		$_[0]->{'view_users'} ? "checked" : "";
printf "<input type=radio name=view_users value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'view_users'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_maint_users'}</b></td> <td>\n";
printf "<input type=radio name=maint_users value=1 %s> $text{'yes'}\n",
		$_[0]->{'maint_users'} ? "checked" : "";
printf "<input type=radio name=maint_users value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'maint_users'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_maint_makepass'}</b></td> <td>\n";
printf "<input type=radio name=maint_makepass value=1 %s> $text{'yes'}\n",
		$_[0]->{'maint_makepass'} ? "checked" : "";
printf "<input type=radio name=maint_makepass value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'maint_makepass'} ? "" : "checked";
print "</tr>\n";

print "<tr>\n<td><b>$text{'acl_maint_sync'}</b></td> <td>\n";
printf "<input type=radio name=maint_sync value=1 %s> $text{'yes'}\n",
		$_[0]->{'maint_sync'} ? "checked" : "";
printf "<input type=radio name=maint_sync value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'maint_sync'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# hide
print "<tr>\n<td><b>$text{'acl_hide'}</b></td> <td>\n";
printf "<input type=radio name=hide value=1 %s> $text{'yes'}\n",
		$_[0]->{'hide'} == 1 ? "checked" : "";
printf "<input type=radio name=hide value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'hide'} == 0 ? "checked" : "";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# global acls
print "<tr>\n<td><b>$text{'acl_afs'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_fs value=1 %s> %s\n",
		$_[0]->{'c_fs'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_fs value=1 %s> %s\n",
		$_[0]->{'r_fs'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_fs value=1 %s> %s\n",
		$_[0]->{'w_fs'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_aps'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=checkbox name=c_ps value=1 %s> %s\n",
		$_[0]->{'c_ps'} ? "checked" : "", $text{"acl_c"};
printf "<input type=checkbox name=r_ps value=1 %s> %s\n",
		$_[0]->{'r_ps'} ? "checked" : "", $text{"acl_r"};
printf "<input type=checkbox name=w_ps value=1 %s> %s\n",
		$_[0]->{'w_ps'} ? "checked" : "", $text{"acl_w"};
print "</td> </tr>\n";

print "<tr>\n<td><b>$text{'acl_copy'}</b></td> <td>\n";
printf "<input type=radio name=copy value=1 %s> $text{'yes'}\n",
		$_[0]->{'copy'} ? "checked" : "";
printf "<input type=radio name=copy value=0 %s> $text{'no'}</td>\n",
		$_[0]->{'copy'} ? "" : "checked";
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# per-share acls
print "<tr><td><b>$text{'acl_per_fs_acls'}</b></td> <td>\n";
printf "<input type=radio name=per_fs_acls value=1 %s> $text{'yes'}\n",
		$_[0]->{'per_fs_acls'} ? "checked" : "";
printf "<input type=radio name=per_fs_acls value=0 %s> $text{'no'}\n",
		$_[0]->{'per_fs_acls'} ? "" : "checked";
print "</td></tr>\n";

print "<tr><td><b>$text{'acl_per_ps_acls'}</b></td> <td>\n";
printf "<input type=radio name=per_ps_acls value=1 %s> $text{'yes'}\n",
		$_[0]->{'per_ps_acls'} ? "checked" : "";
printf "<input type=radio name=per_ps_acls value=0 %s> $text{'no'}\n",
		$_[0]->{'per_ps_acls'} ? "" : "checked";
print "</td></tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# table
print "<tr> <td colspan=4>\n<table border width=100%>\n";
printf "<th $tb colspan=7><b>%s</b></th>\n", $text{'acl_per_share_acls'};
print "<tr $tb>\n";
printf "<td rowspan=2><b>%s</b></td>\n", $text{'acl_sname'};
printf "<td rowspan=2><b>%s</b></td>\n", $text{'acl_saccess'};
printf "<td rowspan=2><b>%s</b></td>\n", $text{'acl_sconn'};
printf "<th colspan=4><b>%s</b></th>\n", $text{'acl_sopthdr'};
print "</tr>\n<tr $tb>\n";
printf "<td><b>%s</b></td>\n", $text{'acl_ssec'};
printf "<td><b>%s</b></td>\n", $text{'acl_sperm'};
printf "<td><b>%s</b></td>\n", $text{'acl_snaming'};
printf "<td><b>%s<br>%s</b></td>\n", $text{'acl_smisc'}, $text{'acl_sprn'};
print "</tr>\n";

foreach (&list_shares()) {
	&display_acl_row($_[0], $_);
	}
print "</table> </td> </tr>\n";
}

# acl_security_save(&options)
# Parse the form for security options for the samba module
sub acl_security_save
{
if ($in{'r_fs'} < $in{'w_fs'} || $in{'r_ps'} < $in{'w_ps'}) {
	$whatfailed = $text{'acl_err'};
	&error($text{'acl_ernow'});
	}
$_[0]->{'apply'}=$in{'apply'};
$_[0]->{'view_all_con'}=$in{'view_all_con'};
$_[0]->{'kill_con'}=$in{'kill_con'};
$_[0]->{'conf_net'}=$in{'conf_net'};
$_[0]->{'conf_smb'}=$in{'conf_smb'};
$_[0]->{'conf_pass'}=$in{'conf_pass'};
$_[0]->{'conf_print'}=$in{'conf_print'};
$_[0]->{'conf_misc'}=$in{'conf_misc'};
$_[0]->{'swat'}=$in{'swat'};
$_[0]->{'hide'}=$in{'hide'};
$_[0]->{'per_fs_acls'}=$in{'per_fs_acls'};
$_[0]->{'per_ps_acls'}=$in{'per_ps_acls'};
$_[0]->{'c_fs'}=$in{'c_fs'};
$_[0]->{'r_fs'}=$in{'r_fs'};
$_[0]->{'w_fs'}=$in{'w_fs'};
$_[0]->{'c_ps'}=$in{'c_ps'};
$_[0]->{'r_ps'}=$in{'r_ps'};
$_[0]->{'w_ps'}=$in{'w_ps'};
$_[0]->{'copy'}=$in{'copy'};
$_[0]->{'view_users'}=$in{'view_users'};
$_[0]->{'maint_users'}=$in{'maint_users'};
$_[0]->{'maint_makepass'}=$in{'maint_makepass'};
$_[0]->{'maint_sync'}=$in{'maint_sync'};

foreach (keys %in) {
	  $_[0]->{$1} .= $in{$_} if /^\w\w_(ACL\w\w_\w+)$/;
	  }
}

# display_acl_row(\%access, $share_name)									
sub display_acl_row
{
local($acc,$name)=@_;
local %share;
&get_share($name);
local $stype=&istrue('printable') ? 'ps' : 'fs';
local $aclname='ACL' . $stype . '_' . $name;

#display row
print "<tr>\n";
printf $stype eq 'fs' ? "<td><b>%s</b></td>\n" : 
						"<td><b><i>%s</i></td>\n", $name;
&display_acl_cell($acc, $name, 'r', 'w', $aclname, 
				  $text{'acl_na'}, $text{'acl_r1'}, $text{'acl_rw'});
&display_acl_cell($acc, $name, 'v', 'V', $aclname, 
				  $text{'acl_na'}, $text{'acl_view'}, $text{'acl_kill'});
&display_acl_cell($acc, $name, 's', 'S', $aclname, 
				  $text{'acl_na'}, $text{'acl_view'}, $text{'acl_edit'});
$stype eq 'fs' ? &display_acl_cell($acc, $name, 'p', 'P', $aclname, 
				  $text{'acl_na'}, $text{'acl_view'}, $text{'acl_edit'}) : 
				  print "<td> </td>\n";
$stype eq 'fs' ? &display_acl_cell($acc, $name, 'n', 'N', $aclname, 
				$text{'acl_na'}, $text{'acl_view'}, $text{'acl_edit'}) :
				print "<td> </td>\n";
&display_acl_cell($acc, $name, 'o', 'O', $aclname, 
				  $text{'acl_na'}, $text{'acl_view'}, $text{'acl_edit'});
print "</tr>\n";		
}

#display_acl_cell(\%access, $name, 
#				  $rperm, $wperm, $aclname, 
#				  $text1, $text2, $text3)
sub display_acl_cell
{
local ($acc, $name, $rp, $wp, $aclname, $text1, $text2, $text3) = @_;
local $rn = $rp . $wp . '_' . $aclname;

print "<td>\n";
if($acc->{$aclname}) { 
	printf "<input type=radio name=$rn value='' %s> %s<br>\n",
			!&perm_to($rp, $acc, $aclname) ? 
				"checked" : "", $text1;
	printf "<input type=radio name=$rn value='$rp' %s> %s<br>\n",
			&perm_to($rp, $acc, $aclname) && 
			!&perm_to($rp.$wp, $acc, $aclname) ? 
				"checked" : "",$text2;
	printf "<input type=radio name=$rn value='$rp$wp' %s> %s\n",
			&perm_to($rp.$wp, $acc, $aclname) ? 
				"checked" : "", $text3;
	}
else {
	printf "<input type=radio name=$rn value='' checked> %s<br>\n",
			$text1;
	printf "<input type=radio name=$rn value='$rp'> %s<br>\n", 
			$text2;
	printf "<input type=radio name=$rn value='$rp$wp'> %s\n",
			$text3;
	}
print "</td>\n";
}

# perm_to($permissions_string,\%access,$ACLname)
# check only per-share permissions
sub perm_to
{
local $acl=$_[1]->{$_[2]};
foreach (split //,$_[0]) {
	return 0 if index($acl,$_) == -1;
	}
return 1;
}
		
1;
  07070100015d8c000081e40000000000000002000000013d1fe2be000005f4000000200000000000000000000000000000001a00000003reloc/samba/ask_epass.cgi #!/usr/local/bin/perl
# ask_epass.cgi
# Display a form asking for password conversion options

require './samba-lib.pl';
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmpass'}")
        unless $access{'maint_makepass'};
# display
&header($text{'convert_title'}, "");
print "<hr>\n";

print &text('convert_msg', 'conf_pass.cgi'),"<p>\n";

print "<form action=make_epass.cgi>\n";

print "<input type=checkbox name=skip value=1 checked> ",
      $text{'convert_noconv'};
print "<input name=skip_list size=40 value=\"$config{dont_convert}\"> ",
	&user_chooser_button("skip_list", 1),"<p>\n";

print "<input type=checkbox name=update value=1 checked> ",
      $text{'convert_update'}," <p>\n";

print "<input type=checkbox name=add value=1 checked> ",
      $text{'convert_add'},"<p>\n";

print "<input type=checkbox name=delete value=1> ",
      $text{'convert_delete'}, "<p>\n";

print "<table> <tr>\n";
print "<td valign=top>$text{'convert_newuser'}</td>\n";
print "<td><input type=radio name=newmode value=0 checked>$text{'convert_nopasswd'}<br>\n";
print "<input type=radio name=newmode value=1>$text{'convert_lock'}<br>\n";
print "<input type=radio name=newmode value=2>$text{'convert_passwd'}\n",
      "<input type=password name=newpass size=20></td>\n";
print "</tr> </table>\n";

print "<input type=submit value=\"$text{'convert_convert'}\"> </form>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});

07070100015d8d000081e40000000000000002000000013d1fe2be000013ca000000200000000000000000000000000000001a00000003reloc/samba/conf_misc.cgi #!/usr/local/bin/perl
# conf_misc.cgi
# Display other options

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcm'}") unless $access{'conf_misc'};

&header($text{'misc_title'}, "");
print "<hr>\n";

&get_share("global");
print "<form action=save_misc.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'misc_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'misc_debug'}</b></td>\n";
print "<td><select name=debug_level>\n";
foreach $d ("", 0 .. 10) {
	printf "<option value=\"$d\" %s> %s\n",
		&getval("debug level") eq $d ? "selected" : "",
		$d eq "" ? $text{'default'} : $d;
	}
print "</select></td>\n";

print "<td><b>$text{'misc_cachecall'}</b></td>\n";
printf "<td nowrap><input type=radio name=getwd_cache value=yes %s> $text{'yes'}\n",
	&istrue("getwd cache") ? "checked" : "";
printf "<input type=radio name=getwd_cache value=no %s> $text{'no'}</td> </tr>\n",
	&istrue("getwd cache") ? "" : "checked";

print "<tr> <td><b>$text{'misc_lockdir'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=lock_directory_def value=1 %s> $text{'default'}\n",
	&getval("lock directory") eq "" ? "checked" : "";
printf "&nbsp; <input type=radio name=lock_directory_def value=0 %s>\n",
	&getval("lock directory") eq "" ? "" : "checked";
printf "<input name=lock_directory size=30 value=\"%s\">\n",
	&getval("lock directory");
print &file_chooser_button("lock_directory", 1);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'misc_log'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=log_file_def value=1 %s> $text{'default'}\n",
	&getval("log file") eq "" ? "checked" : "";
printf "&nbsp; <input type=radio name=log_file_def value=0 %s>\n",
	&getval("log file") eq "" ? "" : "checked";
printf "<input name=log_file size=30 value=\"%s\">\n",
	&getval("log file");
print &file_chooser_button("log_file", 0);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'misc_maxlog'}</b></td>\n";
printf "<td nowrap><input type=radio name=max_log_size_def value=1 %s> $text{'default'}\n",
	&getval("max log size") eq "" ? "checked" : "";
printf "<input type=radio name=max_log_size_def value=0 %s>\n",
	&getval("max log size") eq "" ? "" : "checked";
printf "<input name=max_log_size size=5 value=\"%s\">kB</td>\n",
	&getval("max log size");

print "<tr> <td><b>$text{'misc_rawread'}</b></td>\n";
printf "<td nowrap><input type=radio name=read_raw value=yes %s> $text{'yes'}\n",
	&isfalse("read raw") ? "" : "checked";
printf "<input type=radio name=read_raw value=no %s> $text{'no'}</td>\n",
	&isfalse("read raw") ? "checked" : "";

print "<td><b>$text{'misc_rawwrite'}</b></td>\n";
printf "<td nowrap><input type=radio name=write_raw value=yes %s> $text{'yes'}\n",
	&isfalse("write raw") ? "" : "checked";
printf "<input type=radio name=write_raw value=no %s> $text{'no'}</td> </tr>\n",
	&isfalse("write raw") ? "checked" : "";

print "<td><b>$text{'misc_overlapread'}</b></td>\n";
printf "<td nowrap><input type=radio name=read_size_def value=1 %s> $text{'default'}\n",
	&getval("read size") eq "" ? "checked" : "";
printf "<input type=radio name=read_size_def value=0 %s>\n",
	&getval("read size") eq "" ? "" : "checked";
printf "<input name=read_size size=5 value=\"%s\">$text{'config_bytes'}</td> </tr>\n",
	&getval("read size");

print "<tr> <td><b>$text{'misc_chroot'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=root_directory_def value=1 %s> $text{'config_none'}\n",
	&getval("root directory") eq "" ? "checked" : "";
printf "&nbsp; <input type=radio name=root_directory_def value=0 %s>\n",
	&getval("root directory") eq "" ? "" : "checked";
printf "<input name=root_directory size=30 value=\"%s\">\n",
	&getval("root directory");
print &file_chooser_button("root_directory", 1);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'misc_smbrun'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=smbrun_def value=1 %s> $text{'default'}\n",
	&getval("smbrun") eq "" ? "checked" : "";
printf "&nbsp; <input type=radio name=smbrun_def value=0 %s>\n",
	&getval("smbrun") eq "" ? "" : "checked";
printf "<input name=smbrun size=30 value=\"%s\">\n",
	&getval("smbrun");
print &file_chooser_button("smbrun", 0);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'misc_clienttime'}</b></td>\n";
printf "<td><input name=time_offset size=4 value=\"%d\">$text{'config_mins'}</td>\n",
	&getval("time offset");

print "<td><b>$text{'misc_readprediction'}</b></td>\n";
printf "<td nowrap><input type=radio name=read_prediction value=yes %s> $text{'yes'}\n",
	&istrue("read prediction") ? "checked" : "";
printf "<input type=radio name=read_prediction value=no %s> $text{'no'}</td> </tr>\n",
	&istrue("read prediction") ? "" : "checked";


print "</table></tr></td></table><p>\n";
print "<input type=submit value=$text{'save'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});


  07070100015d8e000081e40000000000000002000000013d1fe2bf00001255000000200000000000000000000000000000001900000003reloc/samba/conf_net.cgi  #!/usr/local/bin/perl
# conf_net.cgi
# Display Unix networking options

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcn'}") unless $access{'conf_net'};

&header($text{'net_title'}, "");
print "<hr>\n";

&get_share("global");

print "<form action=save_net.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'net_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>$text{'net_idle'}</b></td>\n";
printf "<td><input type=radio name=dead_time_def value=1 %s> $text{'config_never'}\n",
	&getval("dead time") eq "" ? "checked" : "";
printf "<input type=radio name=dead_time_def value=0 %s>\n",
	&getval("dead time") eq "" ? "" : "checked";
printf "<input name=dead_time size=5 value=\"%s\"> $text{'config_mins'}</td> </tr>\n",
	&getval("dead time");

print "<tr> <td><b>$text{'net_trustlist'}</b></td>\n";
printf "<td><input type=radio name=hosts_equiv_def value=1 %s> $text{'config_none'}\n",
	&getval("hosts equiv") eq "" ? "checked" : "";
printf "<input type=radio name=hosts_equiv_def value=0 %s>",
	&getval("hosts equiv") eq "" ? "" : "checked";
printf "<input name=hosts_equiv size=20 value=\"%s\">\n",
	&getval("hosts equiv");
print &file_chooser_button("hosts_equiv", 0);
print "</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'net_netinterface'}</b></td>\n";
print "<td>\n";
printf "<input type=radio name=interfaces_def value=1 %s> $text{'net_auto'}&nbsp;\n",
	&getval("interfaces") ? "" : "checked";
printf "<input type=radio name=interfaces_def value=0 %s> $text{'net_uselist'}<br>\n",
	&getval("interfaces") ? "checked" : "";
print "<table border>\n";
print "<tr> <td><b>$text{'net_interface'}</b></td> <td><b>$text{'net_netmask'}</b></td> </tr>\n";
@iflist = split(/\s+/, &getval("interfaces"));
$len = @iflist ? @iflist+1 : 2;
for($i=0; $i<$len; $i++) {
	print "<tr>\n";
	if ($iflist[$i] =~ /^([0-9\.]+)\/([0-9]+)$/) {
		for($j=0; $j<$2; $j++) { $pw += 2**(31-$j); }
		$n = sprintf "%u.%u.%u.%u",
				($pw>>24)&0xff, ($pw>>16)&0xff,
				($pw>>8)&0xff, ($pw)&0xff;
		print "<td><input name=interface_ip$i value=$1 size=15></td>\n";
		print "<td><input name=interface_nm$i value=$n size=15></td>\n";
		}
	elsif ($iflist[$i] =~ /^([0-9\.]+)\/([0-9\.]+)$/) {
		print "<td><input name=interface_ip$i value=$1 size=15></td>\n";
		print "<td><input name=interface_nm$i value=$2 size=15></td>\n";
		}
	else {
		print "<td><input name=interface_ip$i size=15></td>\n";
		print "<td><input name=interface_nm$i size=15></td>\n";
		}
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

print "<tr> <td><b>$text{'net_keepalive'}</b></td>\n";
printf "<td><input type=radio name=keepalive_def value=1 %s> $text{'net_notsend'}\n",
	&getval("keepalive") eq "" ? "checked" : "";
printf "<input type=radio name=keepalive_def value=0 %s>\n",
	&getval("keepalive") eq "" ? "" : "checked";
print "$text{'net_every'}\n";
printf "<input name=keepalive size=5 value=\"%s\">$text{'config_secs'}</td> </tr>\n",
	&getval("keepalive");

print "<tr> <td><b>$text{'net_maxpacket'}</b></td>\n";
printf "<td><input type=radio name=max_xmit_def value=1 %s> $text{'default'}\n",
	&getval("max xmit") eq "" ? "checked" : "";
printf "<input type=radio name=max_xmit_def value=0 %s>\n",
	&getval("max xmit") eq "" ? "" : "checked";
printf "<input name=max_xmit size=5 value=\"%s\"> $text{'config_bytes'}</td> </tr>\n",
	&getval("max xmit");

print "<tr> <td><b>$text{'net_listen'}</b></td>\n";
printf "<td><input type=radio name=socket_address_def value=1 %s> $text{'config_all'}\n",
	&getval("socket address") eq "" ? "checked" : "";
printf "<input type=radio name=socket_address_def value=0 %s>\n",
	&getval("socket address") eq "" ? "" : "checked";
printf "<input name=socket_address size=15 value=\"%s\"></td> </tr>\n",
	&getval("socket address");

print "<tr> <td valign=top><b>$text{'net_socket'}</b></td>\n";
print "<td><table>\n";
foreach (split(/\s+/, &getval("socket options"))) {
	if (/^([A-Z\_]+)=(.*)/) { $sopts{$1} = $2; }
	else { $sopts{$_} = ""; }
	}
for($i=0; $i<@sock_opts; $i++) {
	$sock_opts[$i] =~ /^([A-Z\_]+)(.*)$/;
	if ($i%2 == 0) { print "<tr>\n"; }
	printf "<td><input type=checkbox name=$1 value=1 %s> $1\n",
		defined($sopts{$1}) ? "checked" : "";
	if ($2 eq "*") {
		printf "<input size=5 name=\"$1_val\" value=\"%s\">\n",
			$sopts{$1};
		}
	print "</td>\n";
	if ($i%2 == 1) { print "<tr>\n"; }
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});

   07070100015d8f000081e40000000000000002000000013d1fe2bf00000f45000000200000000000000000000000000000001a00000003reloc/samba/conf_pass.cgi #!/usr/local/bin/perl
# conf_pass.cgi
# Display password options options

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcp'}") unless $access{'conf_pass'};

&header($text{'passwd_title'}, "");
print "<hr>\n";

&get_share("global");

print "<form action=save_pass.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'passwd_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>$text{'passwd_encrypt'}</b></td>\n";
printf "<td><input type=radio name=encrypt_passwords value=yes %s> $text{'yes'}\n",
	&istrue("encrypt passwords") ? "checked" : "";
printf "&nbsp; <input type=radio name=encrypt_passwords value=no %s> $text{'no'}</td>\n",
	&istrue("encrypt passwords") ? "" : "checked";

print "<td><b>$text{'passwd_allownull'}</b></td>\n";
printf "<td><input type=radio name=null_passwords value=yes %s> $text{'yes'}\n",
	&istrue("null passwords") ? "checked" : "";
printf "$gap <input type=radio name=null_passwords value=no %s> $text{'no'}</td></tr>\n",
	&istrue("null passwords") ? "" : "checked";

print "<tr> <td><b>$text{'passwd_program'}</b></td>\n";
printf "<td><input type=radio name=passwd_program_def value=1 %s> $text{'default'}\n",
	&getval("passwd program") eq "" ? "checked" : "";
printf "<input type=radio name=passwd_program_def value=0 %s>\n",
	&getval("passwd program") eq "" ? "" : "checked";
printf "<input size=15 name=passwd_program value=\"%s\"></td>\n",
	&getval("passwd program");

print "<td><b>$text{'passwd_case'}</b></td>\n";
printf "<td><input name=password_level size=4 value=\"%d\"></td> </tr>\n",
	&getval("password level");

print "<tr> <td valign=top><b>$text{'passwd_chat'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=passwd_chat_def value=1 %s> $text{'default'}\n",
	&getval("passwd chat") eq "" ? "checked" : "";
printf "<input type=radio name=passwd_chat_def value=0 %s> $text{'passwd_below'}<br>\n",
	&getval("passwd chat") eq "" ? "" : "checked";
print "<table border> <tr><td><b>$text{'passwd_waitfor'}</b></td> <td><b>$text{'passwd_send'}</b></td></tr>\n";
$pc = &getval("passwd chat");
while($pc =~ /^"([^"]*)"\s*(.*)/ || $pc =~ /^(\S+)\s*(.*)/) {
	if ($send) { push(@send, $1); $send = 0; }
	else { push(@recv, $1); $send = 1; }
	$pc = $2;
	}
for($i=0; $i<(@recv < 5 ? 5 : @recv+1); $i++) {
	printf "<tr><td><input name=chat_recv_$i value=\"%s\" size=20></td>\n",
		$recv[$i] eq "." ? "" : $recv[$i];
	printf "<td><input name=chat_send_$i value=\"%s\" size=20></td></tr>\n",
		$send[$i];
	}
print "</table></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'passwd_map'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=username_map_def value=1 %s> $text{'config_none'}\n",
	&getval("username map") eq "" ? "checked" : "";
printf"<input type=radio name=username_map_def value=0 %s> $text{'passwd_below'}<br>\n",
	&getval("username map") eq "" ? "" : "checked";
print "<table border> <tr><td><b>$text{'passwd_unixuser'}</b></td>\n";
print "                   <td><b>$text{'passwd_winuser'}</b></td></tr>\n";
open(UMAP, &getval("username map"));
while(<UMAP>) {
	s/\r|\n//g;
	s/[#;].*$//g;
	if (/^\s*(\S+)\s*=\s*(.*)$/) {
		local $uunix = $1;
		local $rest = $2;
		while($rest =~ /^\s*"([^"]*)"(.*)$/ ||
		      $rest =~ /^\s*(\S+)(.*)$/) {
			push(@uunix, $uunix);
			push(@uwin, $1);
			$rest = $2;
			}
		}
	}
close(UMAP);
for($i=0; $i<@uunix+1; $i++) {
	printf "<tr> <td><input name=umap_unix_$i size=8 value=\"%s\"></td>\n",
		$uunix[$i];
	printf "<td><input name=umap_win_$i size=30 value=\"%s\"></td> </tr>\n",
		$uwin[$i];
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});
   07070100015d90000081e40000000000000002000000013d1fe2be00000931000000200000000000000000000000000000001b00000003reloc/samba/conf_print.cgi    #!/usr/local/bin/perl
# conf_print.cgi
# Display printing options

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcprint'}") unless $access{'conf_print'};
 
&header($text{'print_title'}, "");
print "<hr>\n";

&get_share("global");

print "<form action=save_print.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'print_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'print_style'}</b></td>\n";
print "<td><select name=printing>\n";
printf "<option value=\"\" %s> $text{'default'}\n",
	&getval("printing") eq "" ? "selected" : "";
foreach $s ("bsd", "sysv", "hpux", "aix", "qnx", "plp", "cups") {
	printf "<option value=$s %s> %s\n",
		&getval("printing") eq $s ? "selected" : "", uc($s);
	}
print "</select></td>\n";

print "<td><b>$text{'print_show'}</b></td>\n";
printf "<td><input type=radio name=load_printers value=yes %s> $text{'yes'}\n",
	&istrue("load printers") ? "checked" : "";
printf "<input type=radio name=load_printers value=no %s> $text{'no'}</td></tr>\n",
	&istrue("load printers") ? "" : "checked";

print "<tr> <td><b>$text{'print_printcap'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=printcap_name_def value=1 %s> $text{'default'}\n",
	&getval("printcap name") eq "" ? "checked" : "";
printf "&nbsp;&nbsp; <input type=radio name=printcap_name_def value=0 %s>\n",
	&getval("printcap name") eq "" ? "" : "checked";
printf "<input name=printcap_name size=25 value=\"%s\">\n",
	&getval("printcap name");
print &file_chooser_button("printcap_name", 0);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'print_cachetime'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=lpq_cache_time_def value=1 %s> $text{'default'}\n",
	&getval("lpq cache time") == 0 ? "checked" : "";
printf "&nbsp;&nbsp; <input type=radio name=lpq_cache_time_def value=0 %s>\n",
	&getval("lpq cache time") == 0 ? "" : "checked";
printf "<input name=lpq_cache_time size=5 value=\"%s\"> $text{'config_secs'}</td> </tr>\n",
	&getval("lpq cache time");

print "</table></td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});
   07070100015d91000081e40000000000000002000000013d1fe2bd000018c7000000200000000000000000000000000000001900000003reloc/samba/conf_smb.cgi  #!/usr/local/bin/perl
# conf_smb.cgi
# Display Windows networking options

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcs'}") unless $access{'conf_smb'};

&header($text{'smb_title'}, "");
print "<hr>\n";

&get_share("global");

print "<form action=save_smb.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'smb_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
$gap = "&nbsp;" x 3;

print "<tr> <td><b>$text{'smb_workgroup'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=workgroup_def value=1 %s> $text{'default'}\n",
	&getval("workgroup") eq "" ? "checked" : "";
printf "$gap <input type=radio name=workgroup_def value=0 %s>\n",
	&getval("workgroup") eq "" ? "" : "checked";
printf "<input name=workgroup size=15 value=\"%s\"></td> </tr>\n",
	&getval("workgroup");

print "<tr> <td><b>$text{'smb_wins'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=wins value=0 %s> $text{'smb_winsserver'}\n",
	&isfalse("wins support") ? "" : "checked";
printf "$gap <input type=radio name=wins value=1 %s> $text{'smb_useserver'}\n",
	&getval("wins server") eq "" ? "" : "checked";
printf "<input name=wins_server size=10 value=\"%s\">\n",
	&getval("wins server");
printf "$gap <input type=radio name=wins value=2 %s> $text{'config_neither'}\n",
      &isfalse("wins support") && &getval("wins server") eq "" ? "checked" : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'smb_description'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=server_string_def value=1 %s> $text{'default'}\n",
	&getval("server string") eq "" ? "checked" : "";
printf "$gap <input type=radio name=server_string_def value=0 %s>\n",
	&getval("server string") eq "" ? "" : "checked";
printf "<input name=server_string size=20 value=\"%s\"></td> </tr>\n",
	&getval("server string");

print "<tr> <td><b>$text{'smb_name'}</b></td>\n";
printf "<td><input name=netbios_name size=15 value=\"%s\"></td>\n",
	&getval("netbios name");

print "<td><b>$text{'smb_aliase'}</b></td>\n";
printf "<td><input name=netbios_aliases size=30 value=\"%s\"></td> </tr>\n",
	&getval("netbios aliases");

print "<tr> <td><b>$text{'smb_default'}</b></td>\n";
print "<td><select name=default>\n";
printf "<option value=\"\" %s> $text{'config_none'}\n", &getval("default") eq "";
foreach $s (&list_shares()) {
	next unless &can('r', \%access, $s) || !$access{'hide'};
	printf "<option value=\"$s\" %s> $s\n",
		&getval("default") eq $s ? "selected" : "";
	}
print "</select></td>\n";

print "<td><b>$text{'smb_show'}</b></td>\n";
print "<td rowspan=2><select name=auto_services multiple size=3>\n";
foreach $s (split(/s\+/, &getval("auto services"))) { $autos{$s}++; }
foreach $s (&list_shares()) {
	next unless &can('r', \%access, $s) || !$access{'hide'};
	printf "<option value=\"$s\" %s> $s\n",
		$autos{$s} ? "checked" : "";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'smb_disksize'}</b></td>\n";
print "<td colspan=2>\n";
printf "<input type=radio name=max_disk_size_def value=1 %s> $text{'smb_unlimited'}\n",
	&getval("max disk size") eq "" ? "checked" : "";
printf "$gap <input type=radio name=max_disk_size_def value=0 %s>\n",
	&getval("max disk size") eq "" ? "" : "checked";
printf "<input name=max_disk_size size=5 value=\"%s\"> kB</td>\n",
	&getval("max disk size");

print "<tr> <td><b>$text{'smb_winpopup'}</b></td>\n";
printf "<td><input name=message_command size=15 value=\"%s\"></td>\n",
	&getval("message command");

print "<td><b>$text{'smb_priority'}</b></td>\n";
printf "<td><input name=os_level size=5 value=\"%d\"></td> </tr>\n",
	&getval("os level");

print "<tr> <td><b>$text{'smb_protocol'}</b></td>\n";
print "<td><select name=protocol>\n";
printf "<option value=\"\" %s> $text{'default'}\n",
	&getval("protocol") eq "" ? "selected" : "";
foreach $p (@protocols) {
	printf "<option value=\"$p\" %s> $p\n",
		&getval("protocol") eq $p ? "selected" : "";
	}
print "</select></td>\n";

print "<td><b>$text{'smb_master'}</b></td>\n";
printf "<td><input type=radio name=preferred_master value=yes %s> $text{'yes'}\n",
	&isfalse("preferred master") ? "" : "checked";
printf "$gap <input type=radio name=preferred_master value=no %s> $text{'no'}</td> </tr>\n",
	&isfalse("preferred master") ? "checked" : "";

print "<tr> <td><b>$text{'smb_security'}</b></td>\n";
print "<td><select name=security>\n";
printf "<option value='' %s> $text{'default'}\n",
	&getval("security") ? "" : "selected";
printf "<option value=share %s> $text{'smb_sharelevel'}\n",
	&getval("security") =~ /^share$/i ? "selected" : "";
printf "<option value=user %s> $text{'smb_userlevel'}\n",
	&getval("security") =~ /^user$/i ? "selected" : "";
printf "<option value=server %s> $text{'smb_passwdserver'}\n",
	&getval("security") =~ /^server$/i ? "selected" : "";
printf "<option value=domain %s> $text{'smb_domain'}\n",
	&getval("security") =~ /^domain$/i ? "selected" : "";
print "</select></td>\n";

print "<td><b>$text{'smb_passwdserver'}</b></td>\n";
printf "<td><input name=password_server size=10 value=\"%s\"></td> </tr>\n",
	&getval("password server");

print "<tr> <td valign=top><b>$text{'smb_announce'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=remote_def value=1 %s> $text{'smb_nowhere'}\n",
	&getval("remote announce") ? "" : "checked";
printf "$gap <input type=radio name=remote_def value=0 %s> $text{'smb_fromlist'}<br>\n",
	&getval("remote announce") ? "checked" : "";
print "<table border> <tr> <td><b>$text{'smb_ip'}</b></td> ",
      "<td>$text{'smb_asworkgroup'}</td> </tr>\n";
@rem = split(/\s+/, &getval("remote announce")); $len = @rem ? @rem+1 : 2;
for($i=0; $i<$len; $i++) {
	print "<tr>\n";
	if ($rem[$i] =~ /^([\d\.]+)\/(.+)$/) { $ip = $1; $wg = $2; }
	elsif ($rem[$i] =~ /^([\d\.]+)$/) { $ip = $1; $wg = ""; }
	else { $ip = $wg = ""; }
	print "<td><input name=remote_ip$i size=15 value=\"$ip\"></td>\n";
	print "<td><input name=remote_wg$i size=15 value=\"$wg\"></td>\n";
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});

 07070100015d92000081a40000000000000002000000013d1fe2be000001ad000000200000000000000000000000000000001700000003reloc/samba/config-aix    list_printers_command=ls /etc/lp/printers
text_lists=0
smb_passwd=/usr/local/bin/smbpasswd
samba_password_program=/usr/local/bin/smbpasswd
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
samba_status_program=/usr/local/bin/smbstatus
smb_conf=/usr/local/lib/smb.conf
samba_server=/usr/local/bin/smbd
name_server=/usr/local/bin/nmbd
run_from_inetd=0
swat_path=/usr/local/bin/swat
sort_mode=0
   07070100015d93000081a40000000000000002000000013d1fe2be000001cd000000200000000000000000000000000000002000000003reloc/samba/config-cobalt-linux   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
   07070100015d94000081a40000000000000002000000013d1fe2be000001b7000000200000000000000000000000000000001f00000003reloc/samba/config-corel-linux    list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
sort_mode=0
 07070100015d95000081a40000000000000002000000013d1fe2be000001ab000000200000000000000000000000000000002000000003reloc/samba/config-debian-linux   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=1
sort_mode=0
 07070100015d96000081a40000000000000002000000013d1fe2be0000019d000000200000000000000000000000000000002400000003reloc/samba/config-debian-linux-2.1   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
sort_mode=0
   07070100015d97000081a40000000000000002000000013d1fe2be00000252000000200000000000000000000000000000002400000003reloc/samba/config-debian-linux-2.2   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root daemon bin sys sync games man lp mail news uucp proxy majordom postgres www-data backup msql operator list irc gnats alias qmaild qmails qmailr qmailq qmaill qmailp mysql telnetd identd ftp nobody 
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
sort_mode=0
start_cmd=/etc/init.d/samba start 
stop_cmd=/etc/init.d/samba stop 
  07070100015d98000081a40000000000000002000000013d1fe2bf00000252000000200000000000000000000000000000002400000003reloc/samba/config-debian-linux-3.0   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root daemon bin sys sync games man lp mail news uucp proxy majordom postgres www-data backup msql operator list irc gnats alias qmaild qmails qmailr qmailq qmaill qmailp mysql telnetd identd ftp nobody 
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
sort_mode=0
start_cmd=/etc/init.d/samba start 
stop_cmd=/etc/init.d/samba stop 
  07070100015d99000081a40000000000000002000000013d1fe2bd0000026d000000200000000000000000000000000000001b00000003reloc/samba/config-freebsd    alt_smb_conf=/usr/local/etc/smb.conf.default
dont_convert=root toor daemon operator bin tty sys kmem adm lp smtp uucp nuucp listen nobody noaccess nobody4 pop lp mail postmaster news man ftp games smmsp mailnull bind xten gnats www pgsql mysql
list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
name_server=/usr/local/sbin/nmbd
run_from_inetd=0
samba_password_program=/usr/local/bin/smbpasswd
samba_server=/usr/local/sbin/smbd
samba_status_program=/usr/local/bin/smbstatus
smb_conf=/usr/local/etc/smb.conf
smb_passwd=/usr/local/private/smbpasswd
text_lists=0
swat_path=/usr/local/sbin/swat
sort_mode=0
   07070100015d9a000081a40000000000000002000000013d1fe2bf00000221000000200000000000000000000000000000002100000003reloc/samba/config-generic-linux  list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody nscd ident ldap mysql gdm
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
   07070100015d9b000081a40000000000000002000000013d1fe2bf0000024c000000200000000000000000000000000000002000000003reloc/samba/config-gentoo-linux   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/private/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
alt_smb_conf=/etc/samba/smb.conf.example
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/init.d/samba start
stop_cmd=/etc/init.d/samba stop
07070100015d9c000081a40000000000000002000000013d1fe2bd000001c8000000200000000000000000000000000000001800000003reloc/samba/config-hpux   list_printers_command=ls /usr/spool/lp/request
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm uucp lp nuucp hpdb nobody
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
0707010001e7ec000041ed0000000000000001000000023d1ffb2d00000000000000200000000000000000000000000000001100000003reloc/samba/help  0707010001e7ed000081a40000000000000002000000013d1fe2bf00002933000000200000000000000000000000000000001e00000003reloc/samba/help/help.ca.html <body bgcolor=#ffffff>
<title>Gestor de Samba</title>
<center><img src="images/samba.gif"></center><br>
<h2><i>Aquesta pàgina d'ajuda és incompleta</i></h2>
<hr>
<h3>Introducció</h3>
Samba és un programa <i>freeware</i> que permet que els PCs que executen
Windows 95 i NT puguin accedir als fitxers i impressores del teu
sistema Unix, com si fos un servidor de fitxers/impressores Windows.
Alguns sistemes Unix com el Linux de Redhat inclouen Samba com a
part de la instal·lació estàndard, mentre que molts altres 
exigeixen que el baixis i l'instal·lis per separat. <p>

Si no tens el Samba instal·lat, la pàgina principal del mòdul es
queixarà que no pot trobar el fitxer de configuració del Samba
i no podràs compartir cap fitxer ni directori. Si tens instal·lat
el Samba però et dóna aquest missatge d'error, comprova la
<a href="/config.cgi?samba">Configuració del mòdul</a> per
assegurar-te que Webmin està buscant el fitxer de configuració
i els programes de Samba al lloc correcte. <p>

Assumint que el Samba està instal·lat apropiadament, la pàgina principal
del mòdul mostrarà una llista de tots els directoris i impressores
compartits del sistema. Si Webmin determina que el servidor Samba no
està en execució, se't donarà l'opció d'iniciar el servidor.
Això pot caldre si el Samba no s'inicia en el moment d'engegar
el sistema. <p>

<hr>
<h3>Creació d'un Directori Compartit</h3>
Un directori compartit Samba és un directori que els clients PC poden
muntar. Cada directori té un nom abreujat com ara <tt>docs</tt> o
<tt>www</tt>, que està mapejat a algun directori del sistema Unix.
Un directori compartit és típicament referit pel client amb la
notació <tt>\\servidor\directori</tt>. <p>

Per crear un directori compartit, fes clic sobre l'enllaç <tt>Crea un
nou directori compartit</tt> sota la llista de directoris de la
pàgina principal. Tot i que Samba suporta un gran nombre de paràmetres
per a cada directori compartit, els més importants són els següents:<p>
<table border width=100%>
   <tr>
      <td>
         <b>Nom del Recurs</b>
      </td>
      <td>
         Cada directori compartit ha de tenir un nom, utilitzat pels
         clients per referir-s'hi. Un cas especial és la compartició
         de <tt>Tots els Directoris Home</tt>, explicat més endavant.
      </td>
   </tr>
   <tr>
      <td>
         <b>Directori compartit</b>
      </td>
      <td>
         El directori a compartir. Els clients que fan servir aquest
         directori compartit només poden accedir als fitxers dins de 
         o per sota d'aquest directori.
      </td>
   </tr>
   <tr>
      <td>
         <b>Escriptura</b>
      </td>
      <td>
         Determina si els clients poden modificar els fitxers i directoris.
      </td>
   </tr>
   <tr>
      <td>
         <b>Accés Hoste</b>
      </td>
      <td>
         Si un directori compartit permet usuaris hostes, els clients hi
         poden accedir sense necessitat de donar un nom d'usuari i una
         contrasenya vàlids. Un directori compartit pot tant denegar usuaris
         hostes com permetre només usuaris hostes.
      </td>
   </tr>
</table>
Per més informació sobre les opcions d'un directori compartit, mira
la secció <b>Opcions Avançades</b> més avall. <p>

Un cop introduïts els detalls del nou directori compartit i fet clic
sobre el botó <tt>Crea</tt>, estarà disponible immediatament per als
clients PC. Assumint que tota la xarxa està correctament configurada,
els usuaris podran veure el servidor i tots els directoris compartits.
Llavors, el nou directori compartit es pot mapejar a una lletra del PC. <p>

<hr>
<h3>Creació d'una Impressora Compartida</h3>
Una impressora compartida Samba és una impressora Unix local o remota
que es vol posar a disposició dels clients PC. Igual que els directoris
compartits, cada impressora compartida té un nom abreujat (com <tt>hp5si</tt>), 
i és referida pels clients amb la notació <tt>\\servidor\impressora</tt>. <p>

Per crear una nova impressora compartida, fes clic a l'enllaç <tt>Crea una
nova impressora compartida</tt> de la pàgina principal. Això mostrarà
un formulari similar al de creació de directoris compartits, on pots
introduir els detalls de la nova impressora. Les opcions més importants 
d'una impressora nova són: <p>
<table border width=100%>
   <tr>
      <td>
         <b>Impressora Compartida</b>
      </td>
      <td>
         Cada impressora ha de tenir un nom, utilitzat pels clients
         per referir-s'hi. Un cas especial és la compartició
         <tt>Totes les Impressores</tt>, explicat més endavant.
      </td>
   </tr>
   <tr>
      <td><b>Impressora Unix</b></td>
      <td>
         La impressora Unix a compartir. Aquesta pot ser qualsevol
         impressora que faries servir per imprimir amb l'ordre <tt>lpr</tt>.
      </td>
   </tr>
   <tr>
      <td>
         <b>Directori de spool</b>
      </td>
      <td>
         El directori on resideixen els fitxers temporals d'impressió
      </td>
   </tr>
   <tr>
      <td>
         <b>Accés hoste</b>
      </td>
      <td>
         Si una impressora compartida permet usuaris hostes, els clients hi
         poden accedir sense necessitat de donar un nom d'usuari i una
         contrasenya vàlids. Un directori compartit pot tant denegar usuaris
         hostes com permetre només usuaris hostes.
      </td>
   </tr>
   <tr>
      <td>
         <b>Tipus d'impressora</b>
      </td>
      <td>
         El nom del driver de la impressora que cal utilitzar. Si 
         introdueixes un valor per a aquesta opció, i coincideix amb
         un driver d'impressora als clients PC, llavors els usuaris no
         hauran de triar un driver d'impressió en afegir aquesta impressora.
      </td>
   </tr>
</table><p>

Igual que pels directoris compartits, hi ha moltes més opcions disponibles
per a les impressores compartides. Tan aviat com s'afegeix una impressora
compartida, aquesta queda a disposició dels clients. Sota Windows 95 i NT,
es pot afegir una impressora fent servir l'opció <tt>Afegir Impressora</tt>
del plafó de control d'impressores. Un cop afegida, l'usuari hi pot imprimir
igual que per qualsevol altra impressora local o de xarxa. <p>

<hr>
<h3>Creació d'una Còpia</h3>


<hr>
<h3>Edició d'un Recurs</h3>
Per editar un recurs compartit existent, fes clic sobre el seu nom a la
llista de recursos de la pàgina principal. Això mostrarà el mateix
formulari utilitzat per crear el recurs, que et permetrà de modificar
totes les opcions i paràmetres. Per desar els canvis, fes clic sobre
el botó <tt>Aplica</tt> al peu de la pàgina. <p>

Per suprimir un recurs, fes clic sobre el botó <tt>Suprimeix</tt> al
peu de la pàgina. Els usuaris existents no seran desconnectats immediatament
- no obstant, no es permetrà la connexió de nous usuaris. <p>

<hr>
<h3>Usuaris i Seguretat</h3>
Pels recursos compartits que no permeten accés hoste, el Samba espera
que el client subministri un nom d'usuari i una contrasenya.
Típicament, aquests es verifiquen contra la llista d'usuaris Unix,
que es pot actualitzar amb el mòdul de <a href=/useradmin/>Gestió
d'Usuaris</a>. El Samba també pot mantenir la seva pròpia llista
d'usuaris i contrasenyes - mira la secció <b>Contrasenyes Xifrades</b>
per a més detalls. <p>

Algunes versions de Windows no permeten el subministrament d'un nom
d'usuari en accedir a un recurs - en lloc d'això, es dóna el nom 
emprat en entrar a Windows. Si tots els clients entren a Windows amb
el mateix nom que fan servir per a Unix, no hi ha cap problema.
Ara bé, si no és així, tens 2 opcions:
<ol>
<li>Windows 95 i NT poden muntar un recurs manualment, ja sigui 
   escrivint <tt>NET USE <i>DRIVE:</i> <i>SHARE</i></tt> a la
   línia d'ordres, o bé clicant el botó de connexió d'unitat de
   l'administrador de fitxers i introduint el camí del recurs.
   En tots dos casos, el recurs pot estar en format
   <tt>\\SERVIDOR\RECURS%usuari</tt>, on <i>usuari</i> és el nom
   d'entrada al servidor. <p>
<li>Samba es pot configurar per intentar fer coincidir la contrasenya
   subministrada contra una llista d'usuaris per tal de trobar el
   nom d'usuari correcte. L'opció del recurs <tt>Usuaris Unix</tt>
   permet especificar els usuaris o grups d'usuaris a comprovar.
   Tingues en compte que fer servir aquesta opció amb un nombre
   gran d'usuaris no és gaire segur, ja que 2 persones podrien
   tenir la mateixa contrasenya. <p>
</ul>

<hr>
<h3>Contrasenyes xifrades</h3>
Normalment, les contrasenyes enviades per la xarxa entre un servidor Samba
i un PC no estan xifrades. Això és dolent per 2 raons:
<ol>
<li>Qualsevol pot escoltar la xarxa i capturar les contrasenyes
    d'altra gent. <br>
<li>Les darreres versions de Windows 9x i NT refusen la tramesa de
    contrasenyes sense xifrar. Els usuaris que provin d'accedir al
    servidor Samba des d'aquests sistemes rebran un missatge d'error
    com ara <tt>???</tt>. Aquest canvi va aparèixer per primer cop
    al NT Service Pack 3. <br>
</ol>
<p>

Afortunadament, el Samba pot fer servir contrasenyes xifrades.
No obstant, no és possible de fer coincidir les contrasenyes 
enviades pels clients amb el fitxer de contrasenyes normal de 
Unix perquè es fan servir formes diferents de xifratge.
Per aquest motiu, el Samba ha de mantenir la seva pròpia llista
d'usuaris i contrasenyes. <p>

Per activar el mode de contrasenyes xifrades del Samba, heu de:
<ol>
<li>Assegurar que la versió del Samba suporta xifratge de contrasenyes.
    A la pàgina d'<tt>Opcions de Contrasenyes</tt>, establiu l'opció
    <tt>Contrasenyes Xifrades</tt> a sí. Si això no funciona, haureu
    de descarregar i compilar una versió amb suport de contrasenyes
    xifrades.
<li>Feu clic sobre l'enllaç <tt>Converteix els usuaris Unix a usuaris
    Samba</tt> del peu de la pàgina. Això et portarà a una pàgina en
    què pots convertir alguns o tots els usuaris Unix existents a
    usuaris Samba. Es convertiran els noms d'usuaris, noms reals,
    UIDs i shells - però no les contrasenyes.
<li>Per assignar contrasenyes als usuaris, fes servir l'opció
    <tt>Edita els usuaris i les contrasenyes de Samba</tt> de la
    pàgina principal. Això mostrarà una llista d'usuaris Samba,
    dels quals en pots triar un per editar. La contrasenya de cada
    usuari pot ser <tt>Compte bloquejat</tt> (no es permet l'entrada),
    <tt>Sense contrasenya</tt> (no cal contrasenya) o qualsevol
    contrasenya que introdueixis. <p>
</ul>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Torna al mòdul</a><p>
 

 0707010001e7ef000081a40000000000000002000000013d1fe2bf000023a3000000200000000000000000000000000000001e00000003reloc/samba/help/help.es.html <body bgcolor=#ffffff>
<title>Gestor de Samba</title>
<center><img src="images/samba.gif"></center><br>
<h2><i>Esta página de ayuda está incompleta</i></h2>
<hr>
<h3>Introducción</h3>
Samba es un programa de uso libre que permite que PCs ejecutando Windows
95 y NT accedan a archivos e impresoras de tu sistema Unix como su éste
fuera un servidor de archivos/impresoras de Windows. Algunos sistemas Unix
como Redhat Linux incluyen Samba como parte de la instalación estándar,
mientras que otros requieren que lo descargues e instales de forma separada. <p>

Si no tienes Samba instalado en tu sistema, la página principal de módulo
se quejará de que no puede encontrar el archivo de configuración de Samba y
te será imposible el compartir tus archivos o directorios. Si realmente
tienes instalado Samba pero te da este mensaje de error, revisa la
<a href="/config.cgi?samba">configuración del módulo</a> para asegurarte de
que Webmin está mirando en el lugar correcto para buscar el archivo de
configuración y los programas de Samba. <p>

Asumiento que Samba está instalado de forma correcta, la página principal
del módulo mostrará una lista de todas las comparticiones de archivo e
impresora definidas en tu sistema. Si Webmin determina que el ervidor
Samba no está ejecutando, tendrás la posibilidad de intentar arrancar el
servidor. Esto puede ser necesario si Samba no se arrancó con el Sistema. <p>

<hr>
<h3>Creando una Compartición Samba</h3>
A Samba file share is a directory that can be mounted by client PC's. Every
share has a short name such as <tt>docs</tt> or <tt>www</tt>, which maps
to some directory on your Unix system. A share is typically referred to
by a client using the <tt>\\server\share</tt> notation. <p>

To create a share, click on the <tt>Create File Share</tt> link below
the list of existing shares on the main page. This will display a form
allowing you to enter the details of the new share. Although Samba
supports a large number of parameters for each share, the most important
ones are:<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All home directories</tt> share, explained later.
</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory to be shared. Clients using this share can only access
files in or below this directory.</td> </tr>
<tr> <td><b>Writable</b></td>
<td>Determines whether clients can write to files and directories in
this share.</td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
</table>
For information about other share options, see the <b>Advanced Options</b>
section below. <p>

Once you have entered the details of a new share and clicked the
<tt>Create</tt> button, it will be immediately available to client PC's.
Assuming everything is set up correctly on your network, users will be
able to use the <tt>Network Neighbourhood</tt> function under Windows
to see your server and all its shares. The newly created share can then
be mapped to a drive letter on the PC. <p>

<hr>
<h3>Creating a Printer Share</h3>
A Samba printer share is a local or remote Unix printer that you want
to make available to PC clients. Like file shares, every printer share
has a short name (like <tt>hp5si</tt>), and is referred to using the
<tt>\\server\share</tt> notation. <p>

To create a new printer share, click on the <tt>Create Printer Share</tt>
like from the main page. This will display a form similar to the one
used for creating file shares, in which you can enter the details of the
new share. The most important options for a new printer share are :<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All printers</tt> share, explained later.
</td> </tr>
<tr> <td><b>Printer</b></td>
<td>The Unix printer to be shared. This can be any printer that you would
print to using the <tt>lpr</tt> command.</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory in which temporary print files </td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
<tr> <td><b>Printer type</b></td>
<td>The name of the printer driver that should be used for this printer.
If you enter a value for this option and it matches a printer drive on
client PCs, then users will not have to choose a printer driver when adding
this printer.</td> </tr>
</table><p>

As with file shares, many more options are available for print shares.
As soon as a printer share is added, it will be available to clients.
Under Windows 95 and NT, a printer can be added using the <tt>Add Printer</tt> option in the printers control panel. Once added, the user
can print to it like any local or network printer. <p>

<hr>
<h3>Creating a Copy</h3>


<hr>
<h3>Editing a Share</h3>
To edit an existing share, click on its name from the list of shares on
the main page. This will display the same form used for creating a share,
allowing you to modify all options and parameters. To save your changes,
click on the <tt>Apply</tt> button at the bottom-left of the page. <p>

To delete a share, click on the <tt>Delete</tt> button at the bottom-right
of the page. Existing users will not be immediately disconnected - however,
no new users will be able to connect to the share. <p>


<hr>
<h3>Users and Security</h3>
For shares that do not allow guest access, Samba expects the client
to provide a username and password. Typically, these are checked against
the Unix user list which can be updated by the <a href=/useradmin/>User
Manager</a> module. Samba can also keep its own username and password list -
see the <b>Encrypted Passwords</b> section for more details. <p>

Some versions of Windows do not allow the user to provide a username when accessing a share - instead, the username provided when 'logging in' to
Windows is used. If all client users login to Windows using the same
username that they use for Unix, then this is not a problem. If not, you
have 2 options:
<ol>
<li>Windows 95 and NT can mount a share manually, either by typing
    <tt>net use <i>drive:</i> <i>share</i></tt> at the command prompt or by
    clicking the map network drive button in a file window and entering
    the share path. In both cases, the share can be in the format
    <tt>\\server\share%user</tt>, where <i>user</i> is the username to
    login to the server with. <p>
<li>Samba can be configured to attempt to match the password provided
    against a list of users, in order to find the correct username. 
    The <tt>Unix users</tt> share option allows you to specify the users
    or groups of users to check against. Beware that using this option
    with a large number of users is not very secure, because 2 people may
    have the same password. <p>
</ul>

<hr>
<h3>Encrypted Passwords</h3>
Normally, passwords sent over the network between a Samba server and PC
clients are not encrypted. This is bad for 2 reasons :
<ol>
<li>Anyone can listen in on your network and capture other people's
    passwords. <br>
<li>The latest versions on Windows 9x and NT refuse to send passwords
    unencrypted. Users trying to access your Samba server from these
    systems will get an error message like <tt>???</tt>. This change
    first appeared in NT service pack 3. <br>
</ol><p>

Fortunately, Samba can use encrypted passwords. However, it is not
possible to match passwords sent by clients against the normal Unix
password file because of the different forms of encryption used. For this
reason, Samba must maintain its own list of users and passwords. <p>

To switch Samba into encrypted password mode, you must:
<ol>
<li>Make sure your version of Samba supports password encryption. In
    the <tt>Password Options</tt> page, set the <tt>Encrypted
    passwords</tt> option to yes. If this fails, you will need to download
    or compile a version with encrypted password support. <p>
<li>Click on the <tt>Convert Unix users to Samba users</tt> link at the
    bottom of the main page. This will take you to a page in which you
    can convert some or all of your existing Unix users to Samba users.
    Usernames, real names, UIDs and shells will be converted - but
    passwords will not. <p>
<li>To assign passwords to users, use the <tt>Edit Samba user list</tt>
    option on the main page. This will display a list of all Samba users,
    from which you can choose a user to edit. The password for each user
    can either be <tt>Locked</tt> (no login allowed), <tt>No Password</tt>
    (no password needed) or some password that you enter. <p>
</ul>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 0707010001e7f0000081a40000000000000002000000013d1fe2bf0000230f000000200000000000000000000000000000001b00000003reloc/samba/help/help.html    <body bgcolor=#ffffff>
<title>Samba Manager</title>
<center><img src="images/samba.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
Samba is a freeware program that allows PC's running Windows 95 and NT
to access files and printers on your Unix system, as though it is a
Windows file/print server. Some Unix systems such as Redhat Linux include
Samba as part of the standard installation, while most others require you
to download and install it separately. <p>

If you don't have Samba installed on your system, the module's main
page will complain that it cannot find the Samba configuration file and
you will be unable to share any files or directories. If you do have
Samba installed but are getting this error message, check the 
<a href="/config.cgi?samba">module configuration</a> to make sure that
Webmin is looking in the right place for the configuration file and
Samba programs. <p>

Assuming Samba is installed properly, the module's main page will
display a list of all the file and printer shares defined on your system.
If Webmin determines that the Samba server is not running, you will be
given the option of attempting to start the server. This may be necessary
if Samba is not started at bootup time. <p>

<hr>
<h3>Creating a File Share</h3>
A Samba file share is a directory that can be mounted by client PC's. Every
share has a short name such as <tt>docs</tt> or <tt>www</tt>, which maps
to some directory on your Unix system. A share is typically referred to
by a client using the <tt>\\server\share</tt> notation. <p>

To create a share, click on the <tt>Create File Share</tt> link below
the list of existing shares on the main page. This will display a form
allowing you to enter the details of the new share. Although Samba
supports a large number of parameters for each share, the most important
ones are:<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All home directories</tt> share, explained later.
</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory to be shared. Clients using this share can only access
files in or below this directory.</td> </tr>
<tr> <td><b>Writable</b></td>
<td>Determines whether clients can write to files and directories in
this share.</td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
</table>
For information about other share options, see the <b>Advanced Options</b>
section below. <p>

Once you have entered the details of a new share and clicked the
<tt>Create</tt> button, it will be immediately available to client PC's.
Assuming everything is set up correctly on your network, users will be
able to use the <tt>Network Neighbourhood</tt> function under Windows
to see your server and all its shares. The newly created share can then
be mapped to a drive letter on the PC. <p>

<hr>
<h3>Creating a Printer Share</h3>
A Samba printer share is a local or remote Unix printer that you want
to make available to PC clients. Like file shares, every printer share
has a short name (like <tt>hp5si</tt>), and is referred to using the
<tt>\\server\share</tt> notation. <p>

To create a new printer share, click on the <tt>Create Printer Share</tt>
like from the main page. This will display a form similar to the one
used for creating file shares, in which you can enter the details of the
new share. The most important options for a new printer share are :<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All printers</tt> share, explained later.
</td> </tr>
<tr> <td><b>Printer</b></td>
<td>The Unix printer to be shared. This can be any printer that you would
print to using the <tt>lpr</tt> command.</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory in which temporary print files </td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
<tr> <td><b>Printer type</b></td>
<td>The name of the printer driver that should be used for this printer.
If you enter a value for this option and it matches a printer drive on
client PCs, then users will not have to choose a printer driver when adding
this printer.</td> </tr>
</table><p>

As with file shares, many more options are available for print shares.
As soon as a printer share is added, it will be available to clients.
Under Windows 95 and NT, a printer can be added using the <tt>Add Printer</tt> option in the printers control panel. Once added, the user
can print to it like any local or network printer. <p>

<hr>
<h3>Creating a Copy</h3>


<hr>
<h3>Editing a Share</h3>
To edit an existing share, click on its name from the list of shares on
the main page. This will display the same form used for creating a share,
allowing you to modify all options and parameters. To save your changes,
click on the <tt>Apply</tt> button at the bottom-left of the page. <p>

To delete a share, click on the <tt>Delete</tt> button at the bottom-right
of the page. Existing users will not be immediately disconnected - however,
no new users will be able to connect to the share. <p>


<hr>
<h3>Users and Security</h3>
For shares that do not allow guest access, Samba expects the client
to provide a username and password. Typically, these are checked against
the Unix user list which can be updated by the <a href=/useradmin/>User
Manager</a> module. Samba can also keep its own username and password list -
see the <b>Encrypted Passwords</b> section for more details. <p>

Some versions of Windows do not allow the user to provide a username when accessing a share - instead, the username provided when 'logging in' to
Windows is used. If all client users login to Windows using the same
username that they use for Unix, then this is not a problem. If not, you
have 2 options:
<ol>
<li>Windows 95 and NT can mount a share manually, either by typing
    <tt>net use <i>drive:</i> <i>share</i></tt> at the command prompt or by
    clicking the map network drive button in a file window and entering
    the share path. In both cases, the share can be in the format
    <tt>\\server\share%user</tt>, where <i>user</i> is the username to
    login to the server with. <p>
<li>Samba can be configured to attempt to match the password provided
    against a list of users, in order to find the correct username. 
    The <tt>Unix users</tt> share option allows you to specify the users
    or groups of users to check against. Beware that using this option
    with a large number of users is not very secure, because 2 people may
    have the same password. <p>
</ul>

<hr>
<h3>Encrypted Passwords</h3>
Normally, passwords sent over the network between a Samba server and PC
clients are not encrypted. This is bad for 2 reasons :
<ol>
<li>Anyone can listen in on your network and capture other people's
    passwords. <br>
<li>The latest versions on Windows 9x and NT refuse to send passwords
    unencrypted. Users trying to access your Samba server from these
    systems will get an error message like <tt>???</tt>. This change
    first appeared in NT service pack 3. <br>
</ol><p>

Fortunately, Samba can use encrypted passwords. However, it is not
possible to match passwords sent by clients against the normal Unix
password file because of the different forms of encryption used. For this
reason, Samba must maintain its own list of users and passwords. <p>

To switch Samba into encrypted password mode, you must:
<ol>
<li>Make sure your version of Samba supports password encryption. In
    the <tt>Password Options</tt> page, set the <tt>Encrypted
    passwords</tt> option to yes. If this fails, you will need to download
    or compile a version with encrypted password support. <p>
<li>Click on the <tt>Convert Unix users to Samba users</tt> link at the
    bottom of the main page. This will take you to a page in which you
    can convert some or all of your existing Unix users to Samba users.
    Usernames, real names, UIDs and shells will be converted - but
    passwords will not. <p>
<li>To assign passwords to users, use the <tt>Edit Samba user list</tt>
    option on the main page. This will display a list of all Samba users,
    from which you can choose a user to edit. The password for each user
    can either be <tt>Locked</tt> (no login allowed), <tt>No Password</tt>
    (no password needed) or some password that you enter. <p>
</ul>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 0707010001e7f1000081a40000000000000002000000013d1fe2bf0000230f000000200000000000000000000000000000001e00000003reloc/samba/help/help.it.html <body bgcolor=#ffffff>
<title>Samba Manager</title>
<center><img src="images/samba.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
Samba is a freeware program that allows PC's running Windows 95 and NT
to access files and printers on your Unix system, as though it is a
Windows file/print server. Some Unix systems such as Redhat Linux include
Samba as part of the standard installation, while most others require you
to download and install it separately. <p>

If you don't have Samba installed on your system, the module's main
page will complain that it cannot find the Samba configuration file and
you will be unable to share any files or directories. If you do have
Samba installed but are getting this error message, check the 
<a href="/config.cgi?samba">module configuration</a> to make sure that
Webmin is looking in the right place for the configuration file and
Samba programs. <p>

Assuming Samba is installed properly, the module's main page will
display a list of all the file and printer shares defined on your system.
If Webmin determines that the Samba server is not running, you will be
given the option of attempting to start the server. This may be necessary
if Samba is not started at bootup time. <p>

<hr>
<h3>Creating a File Share</h3>
A Samba file share is a directory that can be mounted by client PC's. Every
share has a short name such as <tt>docs</tt> or <tt>www</tt>, which maps
to some directory on your Unix system. A share is typically referred to
by a client using the <tt>\\server\share</tt> notation. <p>

To create a share, click on the <tt>Create File Share</tt> link below
the list of existing shares on the main page. This will display a form
allowing you to enter the details of the new share. Although Samba
supports a large number of parameters for each share, the most important
ones are:<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All home directories</tt> share, explained later.
</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory to be shared. Clients using this share can only access
files in or below this directory.</td> </tr>
<tr> <td><b>Writable</b></td>
<td>Determines whether clients can write to files and directories in
this share.</td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
</table>
For information about other share options, see the <b>Advanced Options</b>
section below. <p>

Once you have entered the details of a new share and clicked the
<tt>Create</tt> button, it will be immediately available to client PC's.
Assuming everything is set up correctly on your network, users will be
able to use the <tt>Network Neighbourhood</tt> function under Windows
to see your server and all its shares. The newly created share can then
be mapped to a drive letter on the PC. <p>

<hr>
<h3>Creating a Printer Share</h3>
A Samba printer share is a local or remote Unix printer that you want
to make available to PC clients. Like file shares, every printer share
has a short name (like <tt>hp5si</tt>), and is referred to using the
<tt>\\server\share</tt> notation. <p>

To create a new printer share, click on the <tt>Create Printer Share</tt>
like from the main page. This will display a form similar to the one
used for creating file shares, in which you can enter the details of the
new share. The most important options for a new printer share are :<p>
<table border width=100%>
<tr> <td><b>Share Name</b></td>
<td>Every share must have a name, used by clients to refer to it. One
special case is the <tt>All printers</tt> share, explained later.
</td> </tr>
<tr> <td><b>Printer</b></td>
<td>The Unix printer to be shared. This can be any printer that you would
print to using the <tt>lpr</tt> command.</td> </tr>
<tr> <td><b>Path</b></td>
<td>The directory in which temporary print files </td> </tr>
<tr> <td><b>Guest access</b></td>
<td>If a share allows guest users, clients can access it without needing to
provide a valid name and password. A share can either disallow guest users,
allow guests and normal users, or allow guests only.</td></tr>
<tr> <td><b>Printer type</b></td>
<td>The name of the printer driver that should be used for this printer.
If you enter a value for this option and it matches a printer drive on
client PCs, then users will not have to choose a printer driver when adding
this printer.</td> </tr>
</table><p>

As with file shares, many more options are available for print shares.
As soon as a printer share is added, it will be available to clients.
Under Windows 95 and NT, a printer can be added using the <tt>Add Printer</tt> option in the printers control panel. Once added, the user
can print to it like any local or network printer. <p>

<hr>
<h3>Creating a Copy</h3>


<hr>
<h3>Editing a Share</h3>
To edit an existing share, click on its name from the list of shares on
the main page. This will display the same form used for creating a share,
allowing you to modify all options and parameters. To save your changes,
click on the <tt>Apply</tt> button at the bottom-left of the page. <p>

To delete a share, click on the <tt>Delete</tt> button at the bottom-right
of the page. Existing users will not be immediately disconnected - however,
no new users will be able to connect to the share. <p>


<hr>
<h3>Users and Security</h3>
For shares that do not allow guest access, Samba expects the client
to provide a username and password. Typically, these are checked against
the Unix user list which can be updated by the <a href=/useradmin/>User
Manager</a> module. Samba can also keep its own username and password list -
see the <b>Encrypted Passwords</b> section for more details. <p>

Some versions of Windows do not allow the user to provide a username when accessing a share - instead, the username provided when 'logging in' to
Windows is used. If all client users login to Windows using the same
username that they use for Unix, then this is not a problem. If not, you
have 2 options:
<ol>
<li>Windows 95 and NT can mount a share manually, either by typing
    <tt>net use <i>drive:</i> <i>share</i></tt> at the command prompt or by
    clicking the map network drive button in a file window and entering
    the share path. In both cases, the share can be in the format
    <tt>\\server\share%user</tt>, where <i>user</i> is the username to
    login to the server with. <p>
<li>Samba can be configured to attempt to match the password provided
    against a list of users, in order to find the correct username. 
    The <tt>Unix users</tt> share option allows you to specify the users
    or groups of users to check against. Beware that using this option
    with a large number of users is not very secure, because 2 people may
    have the same password. <p>
</ul>

<hr>
<h3>Encrypted Passwords</h3>
Normally, passwords sent over the network between a Samba server and PC
clients are not encrypted. This is bad for 2 reasons :
<ol>
<li>Anyone can listen in on your network and capture other people's
    passwords. <br>
<li>The latest versions on Windows 9x and NT refuse to send passwords
    unencrypted. Users trying to access your Samba server from these
    systems will get an error message like <tt>???</tt>. This change
    first appeared in NT service pack 3. <br>
</ol><p>

Fortunately, Samba can use encrypted passwords. However, it is not
possible to match passwords sent by clients against the normal Unix
password file because of the different forms of encryption used. For this
reason, Samba must maintain its own list of users and passwords. <p>

To switch Samba into encrypted password mode, you must:
<ol>
<li>Make sure your version of Samba supports password encryption. In
    the <tt>Password Options</tt> page, set the <tt>Encrypted
    passwords</tt> option to yes. If this fails, you will need to download
    or compile a version with encrypted password support. <p>
<li>Click on the <tt>Convert Unix users to Samba users</tt> link at the
    bottom of the main page. This will take you to a page in which you
    can convert some or all of your existing Unix users to Samba users.
    Usernames, real names, UIDs and shells will be converted - but
    passwords will not. <p>
<li>To assign passwords to users, use the <tt>Edit Samba user list</tt>
    option on the main page. This will display a list of all Samba users,
    from which you can choose a user to edit. The password for each user
    can either be <tt>Locked</tt> (no login allowed), <tt>No Password</tt>
    (no password needed) or some password that you enter. <p>
</ul>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

 0707010001e7f5000081a40000000000000002000000013d1fe2bf000023f5000000200000000000000000000000000000001e00000003reloc/samba/help/help.sv.html <body bgcolor=#ffffff>
<title>Samba-hanteraren</title>
<center><img src="images/samba.gif"></center>
<h2><i>Denna hjälpsida är inte färdig</i></h2>
<hr>
<h3>Introduktion</h3>
Samba är ett freeware-program som gör att PC med Windows 95 och NT ska
kunna komma åt filer och skrivare på ett Unix-system som om den vore en
Windows-fil/skrivarserver. I en del Unix-system, t ex RedHat Linux, följer
Samba med i standardinstallationen, medan de flesta system kräver att man
ladder ned och installerar det separat.

<p>Om Samba inte finns installerat på ditt system kommer startsidan för
denna modul att innehålla ett felmeddelande som innebär att systemet inte
kan hitta inställningsfilen för Samba, och det kommer inte att gå att
dela några filer och kataloger. Om Samba är installerat
och du ändå får detta felmeddelande bör du kontrollera
<a href="/config.cgi?samba">modulinställningarna</a> så att Webmin letar
på rätt ställe efter inställningsfilen och Samba-program.

<p>Om Samba är ordentligt installerat kommer startsidan att innehålla en
lista över alla fil- och skrivarresurser på systemet. Om Webmin har
upptäckt att Samba-servern inte är igång finns det också möjlighet att
starta servern via startsidan. Detta kan behöva göras om Samba inte startar
vid systemstart.

<hr>
<h3>Skapa en filresurs</h3>
En filresurs i Samba är en katalog som kan monteras av klient-PC. Varje
resurs har ett kortnamn, t ex <tt>docs</tt> eller <tt>www</tt>, som
motsvarar en katalog på Unix-systemet. Klienten använder normalt notationen
<tt>\\server\resurs</tt> för att komma åt resursen.

<p>Klicka på <tt>Skapa filresurs</tt> nedanför listan över befintliga
resurser för att skapa en ny filresurs. Du får då upp ett formulär där
uppgifter om den nya resursen kan skrivas in. Samba stödjer en stor
mängd inställningar, men de viktigaste är:

<table border width=100%>
<tr> <td><b>Resursnamn</b></td>
<td>Varje resurs måste ha ett namn som klienterna använder för att komma
åt den. Ett specialfall är resursen <tt>Alla hemkataloger</tt> som förklaras
senare.
</td> </tr>
<tr> <td><b>Sökväg</b></td>
<td>Katalogen som utgör resursen. Klienter som använder resursen kan endast
komma åt filer i eller under katalogen.</td> </tr>
<tr> <td><b>Öppna för skrivning</b></td>
<td>Här bestämmer man om klienter får skriva i filer och kataloger i denna
resurs.</td> </tr>
<tr> <td><b>Åtkomst för gäster</b></td>
<td>Om man tillåter gästanvändare för en resurs kan klienterna komma åt den
utan att ange något lösenord. Man kan välja att inte tillåta gästanvändare,
tillåta både gäst- och vanliga användare eller att tillåta endast
gästanvändare.</td></tr>
</table>
Information om övriga resursinställningar finns i avsnittet <b>Ytterligare
inställningar</b> nedan.

<p>När man har skrivit in uppgifter om den nya resursen trycker man på
<tt>Skapa</tt>. Resursen kommer direkt att bli tillgänglig för klienterna.
Om allt är uppsatt ordentligt på ens nätverk kommer användarna att kunna
använda funktionen <tt>Nätverksomgivning</tt> under Windows för att se
servern och alla dess resurser. Den nyss skapade resurser kan då tilldelas
en enhetsbokstav på PC:n.

<hr>
<h3>Skapa en skrivarresurs</h3>
En skrivarresurs i Samba är en lokal eller annan Unix-skrivare som man vill
ska vara tillgänglig även för PC-klienter. Precis som för filresurser har
varje skrivarresurs ett kortnamn ( <tt>hp5si</tt>) och klienterna kommer
åt den med hjälp av notationen <tt>\\server\resurs</tt>.

<p>Man klickar på länken <tt>Skapa skrivarresurs</tt> för att skapa en ny
skrivarresurs och får då upp ett liknande formulär som när man skapar
filresurser. Där skriver man in uppgifter om den nya resursern. De viktigaste
inställningarna för en skrivarresurs är:
<table border width=100%>
<tr> <td><b>Resursnamn</b></td>
<td>Varje resurs måste ha ett namn som klienter använder för att komma åt den.
Ett specialfall är resursen <tt>Alla skrivare</tt> som förklaras senare.
</td> </tr>
<tr> <td><b>Skrivare</b></td>
<td>Den Unix-skrivare som utgör resursen. Det kan vara vilken skrivare som
helst, som man kan skriva till med kommandot <tt>lpr</tt>.</td> </tr>
<tr> <td><b>Sökväg</b></td>
<td>Katalog för temporära skrivarfiler.</td> </tr>
<tr> <td><b>Gäståtkomst</b></td>
<td>Om man tillåter gästanvändare för en resurs kan klienterna komma åt den
utan att ange något lösenord. Man kan välja att inte tillåta gästanvändare,
tillåta både gäst- och vanliga användare eller att tillåta endast
gästanvändare.</td></tr>
<tr> <td><b>Skrivartyp</b></td>
<td>Namn på den skrivardrivrutin som ska användas. Om man skriver in ett
namn som motsvarar en skrivardrivrutin på klienterna kommer användarna inte
att behöva välja skrivardrivrutin när denna skrivare läggs till.</td> </tr>
</table>

<p>Precis som för filresurser kan man göra många fler inställningar.
Så fort en skrivarresurs skapats blir den tillgänglig för klienterna.
Under Windows 95 och NT kan man lägga till en skrivare med inställningen
<tt>Add Printer</tt> på skrivarkontrollpanelen. När skrivaren väl lagts till
kan användaren skriva ut på den som på vilken annan nätverks- eller lokal
skrivare som helst.

<hr>
<h3>Skapa en kopia</h3>


<hr>
<h3>Ändra resurs</h3>
Man klickar på ett resursnamn i listan för att ändra uppgifter om den, och
får då upp samma formulär som när resurser skapas. Man skriver in de ändringar
man vill göra och trycker sedan på <tt>Spara</tt> längst ned till vänster.

<p>Man trycker på <tt>Ta bort</tt> längst ned till höger för att ta bort
en resurs. De användare som för tillfället använder resursen kommer inte att
kastas ut, men det går inte att göra nya uppkopplingar.

<hr>
<h3>Användare och säkerhet</h3>
För resurser där gästanvändare inte tillåts kommer Samba att begära att
klienten skickar ett användarnamn och ett lösenord. Vanligen kontrolleras
dessa mot Unix-användarlistan, som hålls à jour med modulen
<a href=/useradmin/>Användarhanteraren</a>. Samba kan också underhålla en
egen lista med användarnamn och lösenord; se avsnittet <b>Krypterade
lösenord</b> för mer information.

<p>En del Windows-versioner tillåter inte att användaren anger ett användarnamn
då en resurs efterfrågas, utan använder istället det namn som angavs då
användaren "loggade in" på Windows. Om samma användarnamn används både på
Windows och Unix är detta inte ett problem. Om så inte är fallet finns det
två alternativ:
<ol>
<li>Windows 95 och NT kan montera resurser manuellt genom att man skriver
    <tt>net use <i>drive:</i> <i>resurs</i></tt> vid kommandoprompten eller
    att man trycker på nätverksknappen i ett filfönster och skriver in
    sökvägen för resursen. För båda dessa sätt gäller att resursen skrivs
    på formen <tt>\\server\resurs%användare</tt>, där <i>användare</i> är det
    användarnamn man vill använda för att logga in på servern.
<li>Samba kan ställas in för att söka efter den användare som hör till det
    lösenord som anges. Alternativet <tt>Unix-användare</tt> innebär att
    man kan ange de användare eller grupper som ska sökas igenom. Observera
    att detta inte är särskilt säkert om antalet användare som ska sökas
    igenom blir stort, eftersom det då är stor risk att flera användare har
    samma lösenord.
</ul>

<hr>
<h3>Krypterade lösenord</h3>
Vanligtvis skickas lösenord okrypterade över nätverket mellan Sambaservern
och PC-klienten. Detta är inte bra av följande anledningar:
<ol>
<li>Vem som helst kan tjuvlyssna på nätverket och då få tillgång till 
    andras lösenord.
<li>De senaste versionerna av Windows 9x och NT kan inte skicka lösenord
    okrypterade. Om en användare då försöker komma åt Sambaservern från ett
    sådant system kommer den att få felmeddelandet <tt>???</tt>. Ändringen
    finns från och med NT-servicepaket 3.
</ol>

Samba stödjer kryptering av lösenord, men det går inte att kontrollera de
lösenord som klienterna skickar mot den vanliga Unix-lösenordsfilen eftersom
det inte är samma kryptering som används. Av denna anledning måste Samba
ha en egen lista över användare och lösenord.

<p>Så här gör man för att ställa om Samba till att acceptera krypterade
lösenord:
<ol>
<li>Kontrollera att Samba-versionen stödjer lösenordskryptering. Sätt
    inställningen <tt>Krypterade lösenord</tt> i
    <tt>Lösenordsinställningar</tt> till Ja. Om det inte fungerar måste
    en version med stöd för lösenordskryptering hämtas eller kompileras.
<li>Klicka på <tt>Omvandla Unix-användare till Samba-användare</tt> längst
    ned på startsidan. Man får då upp en sida där man kan välja att omvandla
    alla eller bara några av Unix-användarna till Samba-användare.
    Användarnamn, riktiga namn, UID och skal kommer att omvandlas, men inte
    lösenord.
<li>Använd inställningen <tt>Ändra Samba-användarlista</tt> för att skriva
    in lösenord. Den visar en lista över alla Samba-användare, där man kan
    välja den användare man vill lägga till lösenord för. För varje användare
    kan man sätta lösenordet till <tt>Låst</tt> (inloggning spärrad),
    <tt>Inget lösenord</tt> (inget lösenord behöver anges) eller det lösenord
    som ska anges vid inloggning.
</ul>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Tillbaka till modul</a>
 

   07070100015d9d000081a40000000000000002000000013d1fe2be000001db000000200000000000000000000000000000001800000003reloc/samba/config-irix   list_printers_command=ls /etc/lp/printers
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015d9e000081a40000000000000002000000013d1fe2be000001cd000000200000000000000000000000000000001d00000003reloc/samba/config-lfs-linux  list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
text_lists=0
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
smb_conf=/etc/smb.conf
name_server=/usr/sbin/nmbd
samba_server=/usr/sbin/smbd
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
   07070100015d9f000081a40000000000000002000000013d1fe2bf000001f7000000200000000000000000000000000000001900000003reloc/samba/config-macos  list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015da0000081a40000000000000002000000013d1fe2bf00000241000000200000000000000000000000000000002200000003reloc/samba/config-mandrake-linux list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
   07070100015da1000081a40000000000000002000000013d1fe2bf00000234000000200000000000000000000000000000002600000003reloc/samba/config-mandrake-linux-8.1 list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop

07070100015da2000081a40000000000000002000000013d1fe2bf00000234000000200000000000000000000000000000002600000003reloc/samba/config-mandrake-linux-8.2 list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop

07070100015da3000081a40000000000000002000000013d1fe2bf0000020b000000200000000000000000000000000000001d00000003reloc/samba/config-msc-linux  list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/init.d/smb start
stop_cmd=/etc/init.d/smb stop
 07070100015da4000081a40000000000000002000000013d1fe2bf00000224000000200000000000000000000000000000001a00000003reloc/samba/config-netbsd alt_smb_conf=/usr/pkg/share/examples/samba/smb.conf.default
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4 pop lp mail postmaster news man games
list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
name_server=/usr/pkg/sbin/nmbd
run_from_inetd=0
samba_password_program=/usr/pkg/bin/smbpasswd
samba_server=/usr/pkg/sbin/smbd
samba_status_program=/usr/pkg/bin/smbstatus
smb_conf=/etc/samba/smb.conf
smb_passwd=/etc/samba/private/smbpasswd
text_lists=0
swat_path=/usr/pkg/sbin/swat
sort_mode=0
07070100015da5000081a40000000000000002000000013d1fe2be0000020d000000200000000000000000000000000000001e00000003reloc/samba/config-open-linux smb_passwd=/etc/samba.d/smbpasswd
text_lists=0
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
name_server=/usr/sbin/nmbd
alt_smb_conf=/etc/samba.d/smb.conf.sample
smb_conf=/etc/samba.d/smb.conf
samba_server=/usr/sbin/smbd
swat_path=/usr/sbin/swat
run_from_inetd=0
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
sort_mode=0
start_cmd=/etc/rc.d/init.d/samba start
stop_cmd=/etc/rc.d/init.d/samba stop
   07070100015da6000081a40000000000000002000000013d1fe2bd00000223000000200000000000000000000000000000001b00000003reloc/samba/config-openbsd    alt_smb_conf=/usr/local/etc/smb.conf.default
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4 pop lp mail postmaster news man games
list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
name_server=/usr/local/sbin/nmbd
run_from_inetd=0
samba_password_program=/usr/local/bin/smbpasswd
samba_server=/usr/local/sbin/smbd
samba_status_program=/usr/local/bin/smbstatus
smb_conf=/usr/local/etc/smb.conf
smb_passwd=/usr/local/private/smbpasswd
text_lists=0
swat_path=/usr/local/sbin/swat
sort_mode=0
 07070100015da7000081a40000000000000002000000013d1fe2be000001db000000200000000000000000000000000000001e00000003reloc/samba/config-openserver list_printers_command=ls /etc/lp/printers
text_lists=0
smb_passwd=/usr/local/samba/private/smbpasswd
samba_password_program=/usr/local/samba/bin/smbpasswd
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
samba_status_program=/usr/local/samba/bin/smbstatus
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
name_server=/usr/local/samba/bin/nmbd
run_from_inetd=0
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015da8000081a40000000000000002000000013d1fe2be000001db000000200000000000000000000000000000001800000003reloc/samba/config-osf1   list_printers_command=ls /etc/lp/printers
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015da9000081a40000000000000002000000013d1fe2bf00000215000000200000000000000000000000000000002000000003reloc/samba/config-redhat-linux   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
   07070100015daa000081a40000000000000002000000013d1fe2bf00000233000000200000000000000000000000000000002400000003reloc/samba/config-redhat-linux-7.0   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
 07070100015dab000081a40000000000000002000000013d1fe2bf00000233000000200000000000000000000000000000002400000003reloc/samba/config-redhat-linux-7.1   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
 07070100015dac000081a40000000000000002000000013d1fe2bf00000233000000200000000000000000000000000000002400000003reloc/samba/config-redhat-linux-7.2   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
 07070100015dad000081a40000000000000002000000013d1fe2bf00000233000000200000000000000000000000000000002400000003reloc/samba/config-redhat-linux-7.3   list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres apache named xfs rpcuser rpc mailnull squid
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
start_cmd=/etc/rc.d/init.d/smb start
stop_cmd=/etc/rc.d/init.d/smb stop
 07070100015db3000081a40000000000000002000000013d1fe2be000001db000000200000000000000000000000000000001b00000003reloc/samba/config-solaris    list_printers_command=ls /etc/lp/printers
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015dae000081a40000000000000002000000013d1fe2bf000001f4000000200000000000000000000000000000002300000003reloc/samba/config-slackware-linux    list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=halt operator root shutdown sync bin ftp daemon adm lp mail postmaster news uucp man games guest nobody nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
alt_smb_conf=/etc/smb.conf-sample
text_lists=0
run_from_inetd=1
swat_path=/usr/sbin/swat
sort_mode=0
07070100015daf000081a40000000000000002000000013d1fe2bd000001ec000000200000000000000000000000000000002700000003reloc/samba/config-slackware-linux-7.0    list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/usr/lib/samba/private/smbpasswd
dont_convert=halt operator root shutdown sync bin ftp daemon adm lp mail postmaster news uucp man games guest nobody
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
alt_smb_conf=/etc/smb.conf-sample
text_lists=0
run_from_inetd=1
swat_path=/usr/sbin/swat
sort_mode=0
07070100015db0000081a40000000000000002000000013d1fe2bf000001ec000000200000000000000000000000000000002700000003reloc/samba/config-slackware-linux-7.1    list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/usr/lib/samba/private/smbpasswd
dont_convert=halt operator root shutdown sync bin ftp daemon adm lp mail postmaster news uucp man games guest nobody
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
alt_smb_conf=/etc/smb.conf-sample
text_lists=0
run_from_inetd=1
swat_path=/usr/sbin/swat
sort_mode=0
07070100015db1000081a40000000000000002000000013d1fe2bf00000245000000200000000000000000000000000000002700000003reloc/samba/config-slackware-linux-8.0    sort_mode=0
text_lists=0
samba_status_program=/usr/bin/smbstatus
run_from_inetd=1
smb_passwd=/etc/samba/private/smbpasswd
dont_convert=halt operator root shutdown sync bin ftp daemon adm lp mail postmaster news uucp man games guest nobody nscd ident ldap mysql gdm
alt_smb_conf=/etc/smb.conf-sample
samba_password_program=/usr/bin/smbpasswd
samba_server=/usr/sbin/smbd
list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
swat_path=/usr/sbin/swat
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
alt_smb_conf=/etc/samba/smb.conf-sample
start_cmd=
stop_cmd=
   07070100015db2000081a40000000000000002000000013d1fe2bf00000245000000200000000000000000000000000000002700000003reloc/samba/config-slackware-linux-8.1    sort_mode=0
text_lists=0
samba_status_program=/usr/bin/smbstatus
run_from_inetd=1
smb_passwd=/etc/samba/private/smbpasswd
dont_convert=halt operator root shutdown sync bin ftp daemon adm lp mail postmaster news uucp man games guest nobody nscd ident ldap mysql gdm
alt_smb_conf=/etc/smb.conf-sample
samba_password_program=/usr/bin/smbpasswd
samba_server=/usr/sbin/smbd
list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
swat_path=/usr/sbin/swat
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
alt_smb_conf=/etc/samba/smb.conf-sample
start_cmd=
stop_cmd=
   07070100015db4000081a40000000000000002000000013d1fe2be00000223000000200000000000000000000000000000001e00000003reloc/samba/config-suse-linux list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody gnats empress adabas wwwrun squid fax postgres lnx mdom yard nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
alt_smb_conf=/etc/smb.conf.sample
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
 07070100015db5000081a40000000000000002000000013d1fe2bf00000235000000200000000000000000000000000000002200000003reloc/samba/config-suse-linux-7.3 list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody gnats empress adabas wwwrun squid fax postgres lnx mdom yard nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
alt_smb_conf=/etc/samba/smb.conf.sample
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
   07070100015db6000081a40000000000000002000000013d1fe2bf00000235000000200000000000000000000000000000002200000003reloc/samba/config-suse-linux-8.0 list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/samba/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody gnats empress adabas wwwrun squid fax postgres lnx mdom yard nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/samba/smb.conf
alt_smb_conf=/etc/samba/smb.conf.sample
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
   07070100015db7000081a40000000000000002000000013d1fe2bd000001cd000000200000000000000000000000000000001f00000003reloc/samba/config-turbo-linux    list_printers_command=lpc status | grep "[A-z0-9]:" | sed -e 's/://g'
smb_passwd=/etc/smbpasswd
dont_convert=root bin daemon adm lp sync shutdown halt mail news uucp operator games gopher ftp nobody postgres nscd ident ldap mysql gdm
samba_password_program=/usr/bin/smbpasswd
samba_status_program=/usr/bin/smbstatus
samba_server=/usr/sbin/smbd
name_server=/usr/sbin/nmbd
smb_conf=/etc/smb.conf
text_lists=0
run_from_inetd=0
swat_path=/usr/sbin/swat
sort_mode=0
   07070100015db8000081a40000000000000002000000013d1fe2be000001db000000200000000000000000000000000000001c00000003reloc/samba/config-unixware   list_printers_command=ls /etc/lp/printers
smb_passwd=/usr/local/samba/private/smbpasswd
text_lists=0
dont_convert=root daemon bin sys adm lp smtp uucp nuucp listen nobody noaccess nobody4
name_server=/usr/local/samba/bin/nmbd
smb_conf=/usr/local/samba/lib/smb.conf
samba_server=/usr/local/samba/bin/smbd
run_from_inetd=0
samba_password_program=/usr/local/samba/bin/smbpasswd
samba_status_program=/usr/local/samba/bin/smbstatus
swat_path=/usr/local/samba/bin/swat
sort_mode=0
 07070100015db9000081a40000000000000002000000013d1fe2bf00000202000000200000000000000000000000000000001800000003reloc/samba/config.info   smb_conf=Location of the Samba configuration file,0
smb_passwd=Location of the Samba password file,3
samba_status_program=Full path to smbstatus,0
samba_password_program=Full path to smbpasswd,0
samba_server=Full path to smbd,0
name_server=Full path to nmbd,0
swat_path=Full path to swat,3,None
dont_convert=List of Unix users not to add to the samba password list,0
sort_mode=Sort users and groups by name,1,1-Yes,0-No
start_cmd=Command to start Samba servers,3,None
stop_cmd=Command to stop Samba servers,3,None
  07070100015dba000081a40000000000000002000000013d1fe2bf00000239000000200000000000000000000000000000001b00000003reloc/samba/config.info.ca    smb_conf=Ubicació del fitxers de configuració de Samba,0
smb_passwd=Ubicació del fitxer de contrasenyes,3
samba_status_program=Camí complet de smbstatus,0
samba_password_program=Camí complet de smbpasswd,0
samba_server=Camí complet de smbd,0
name_server=Camí complet de nmbd,0
swat_path=Camí complet de swat,3,Cap
dont_convert=Llista d'usuaris Unix que no s'han d'afegir a la llista de contrasenyes Samba,0
sort_mode=Ordena els usuaris i grups per nom,1,1-Sí,0-No
start_cmd=Ordre d'inici dels servidors Samba,3,Cap
stop_cmd=Ordre d'aturada dels servidors Samba,3,Cap


   07070100015dbb000081a40000000000000002000000013d1fe2bd0000028f000000200000000000000000000000000000001b00000003reloc/samba/config.info.es    smb_conf=Localización del archivo de configuración de Samba,0
smb_passwd=Localización del archivo de claves de acceso de Samba,3
samba_status_program=Trayectoria completa a smbstatus,0
samba_password_program=Trayectoria completa a smbpasswd,0
samba_server=Trayectoria completa a smbd,0
name_server=Trayectoria completa a nmbd,0
swat_path=Trayectoria completa a swat,3,Ninguna
dont_convert=Lista de usuarios de Unix que no se añaden a lista de claves de acceso de samba,0
sort_mode=Clasificar usuarios y grupos por nombre,1,1-Sí,0-No
start_cmd=Comando para arrancar los servidores Samba,3,Ninguno
stop_cmd=Comando para parar los servidores Samba,3,Ninguno
 07070100015dbc000081a40000000000000002000000013d1fe2be000001f8000000200000000000000000000000000000001b00000003reloc/samba/config.info.fr    smb_conf=Chemin du fichier de configuration de Samba,0
smb_passwd=Chemin du fichier de mots de passe de Samba,3
samba_status_program=Chemin de smbstatus,0
samba_password_program=Chemin de smbpasswd,0
samba_server=Chemin de l'exécutable smbd,0
name_server=Chemin de l'exécutable nmbd,0
swat_path=Chemin de l'exécutable swat,3,Aucun
dont_convert=Les usagers Unix à ne pas ajouter à la liste des mots de passe Samba,0
sort_mode=Trier les usagers et les groupes par ordre alphabetique,1,1-Oui,0-Non
07070100015dbd000081a40000000000000002000000013d1fe2bf00000261000000200000000000000000000000000000001b00000003reloc/samba/config.info.pl    smb_conf=Lokalizacja pliku konfiguracyjnego Samby,0
smb_passwd=Lokalizacja pliku hase³ Samby,3
samba_status_program=Pe³na ¶cie¿ka do <tt>smbstatus</tt>,0
samba_password_program=Pe³na ¶cie¿ka do <tt>smbpasswd</tt>,0
samba_server=Pe³na ¶cie¿ka do <tt>smbd</tt>,0
name_server=Pe³na ¶cie¿ka do <tt>nmbd</tt>,0
swat_path=Pe³na ¶cie¿ka do <tt>swat</tt>,3,Brak
dont_convert=Lista u¿ytkowników Uniksa nie dodawanych do listy hase³ Samby,0
sort_mode=Porz±dkowaæ u¿ytkowników i&nbsp;grupy wg nazw,1,1-Tak,0-Nie
start_cmd=Polecenie uruchamiaj±ce serwery Samby,3,Brak
stop_cmd=Polecenie zatrzymuj±ce serwery Samby,3,Brak
   07070100015dbe000081a40000000000000002000000013d1fe2bf000001b4000000200000000000000000000000000000001e00000003reloc/samba/config.info.ru_RU smb_passwd=Ðàñïîëîæåíèå ôàéëà ïàðîëåé Samba,3
dont_convert=Ñïèñîê ïîëüçîâàòåëåé Unix íå âêëþ÷àåìûõ â ïîëüçîâàòåëè samba,0
name_server=Ïîëíûé ïóòü ê nmbd,0
smb_conf=Ðàñïîëîæåíèå ôàéëà êîíôèãóðàöèè Samba,0
samba_server=Ïîëíûé ïóòü ê smbd,0
swat_path=Ïîëíûé ïóòü ê swat,3,Íåò
sort_mode=Óïîðÿäî÷èòü ïîëüçîâàòåëåé è ãðóïïû ïî èìåíè,1,1-Äà,0-Íåò
samba_password_program=Ïîëíûé ïóòü ê smbpasswd,0
samba_status_program=Ïîëíûé ïóòü ê smbstatus,0
07070100015dbf000081a40000000000000002000000013d1fe2be000001b4000000200000000000000000000000000000001e00000003reloc/samba/config.info.ru_SU smb_conf=òÁÓÐÏÌÏÖÅÎÉÅ ÆÁÊÌÁ ËÏÎÆÉÇÕÒÁÃÉÉ Samba,0
smb_passwd=òÁÓÐÏÌÏÖÅÎÉÅ ÆÁÊÌÁ ÐÁÒÏÌÅÊ Samba,3
samba_status_program=ðÏÌÎÙÊ ÐÕÔØ Ë smbstatus,0
samba_password_program=ðÏÌÎÙÊ ÐÕÔØ Ë smbpasswd,0
samba_server=ðÏÌÎÙÊ ÐÕÔØ Ë smbd,0
name_server=ðÏÌÎÙÊ ÐÕÔØ Ë nmbd,0
swat_path=ðÏÌÎÙÊ ÐÕÔØ Ë swat,3,îÅÔ
dont_convert=óÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix ÎÅ ×ËÌÀÞÁÅÍÙÈ × ÐÏÌØÚÏ×ÁÔÅÌÉ samba,0
sort_mode=õÐÏÒÑÄÏÞÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÇÒÕÐÐÙ ÐÏ ÉÍÅÎÉ,1,1-äÁ,0-îÅÔ
07070100015dc5000081a40000000000000002000000013d1fe2bf00000121000000200000000000000000000000000000001700000003reloc/samba/defaultacl    c_fs=1
r_fs=1
w_fs=1
c_ps=1
r_ps=1
w_ps=1
hide=0
ACLfs_global=rwvVsSpPnNoO
ACLps_global=rwvVsSoO
per_fs_acls=0
per_ps_acls=0
swat=1
conf_misc=1
conf_print=1
conf_pass=1
conf_smb=1
conf_net=1
apply=1
copy=1
view_all_con=1
kill_con=1
maint_users=1
view_users=1
maint_sync=1
maint_makepass=1
   07070100015dc0000081a40000000000000002000000013d1fe2be00000262000000200000000000000000000000000000001b00000003reloc/samba/config.info.sv    smb_conf=Inställningsfilen för Samba finns här,0
smb_passwd=Lösenordsfilen för Samba finns här,3
samba_status_program=Fullständig sökväg till smbstatus,0
samba_password_program=Fullständig sökväg till smbpasswd,0
samba_server=Fullständig sökväg till smbd,0
name_server=Fullständig sökväg till nmbd,0
swat_path=Fullständig sökväg till swat,3,Ingen
dont_convert=Lista över Unix-användare som inte ska läggas till samba-lösenordslistan,0
sort_mode=Sortera användare och grupper efter namn,1,1-Ja,0-Nej
start_cmd=Kommando för att starta Samba-servrar,3,Inget
stop_cmd=Kommando för att stanna Samba-servrar,3,Inget
  07070100015dc1000081a40000000000000002000000013d1fe2bf000001a8000000200000000000000000000000000000001b00000003reloc/samba/config.info.tr    smb_conf=Samba yapýlandýrma dosyasýnýn yeri,0
smb_passwd=Samba parola dosyasý yeri,3
samba_status_program=smbstatus'un tam yeri,0
samba_password_program=smbpasswd'ýn tam yeri,0
samba_server=smbd'in tam yeri,0
name_server=nmbd'in tam yeri,0
swat_path=swat'in tam yeri,3,Hiçbiri
dont_convert=Samba parol dosyasýna eklenmeyen Unix kullanýcýlarý dosyasý,0
sort_mode=Kullanýcý ve gruplarý isimlerine göre sýrala,1,1-Evet,0-Hayýr
07070100015dc2000081a40000000000000002000000013d1fe2be000001b4000000200000000000000000000000000000001e00000003reloc/samba/config.info.zh_CN smb_conf=SambaÅäÖÃÎÄ¼þËùÔÚÎ»ÖÃ,0
smb_passwd=Samba passwordÎÄ¼þËùÔÚÎ»ÖÃ,3
samba_status_program=smbstatusµÄÍêÕûÂ·¾¶,0
samba_password_program=smbpasswdµÄÍêÕûÂ·¾¶,0
samba_server=smbdµÄÍêÕûÂ·¾¶,0
name_server=nmbdµÄÍêÕûÂ·¾¶,0
swat_path=swatµÄÍêÕûÂ·¾¶,3,ÎÞ
dont_convert=²»Ðè¼Óµ½sambe passwordÁÐ±íµÄUnixÓÃ»§µÄÁÐ±í,0
sort_mode=°´Ãû×Ö¶ÔÓÃ»§ºÍ×éÅÅÐò,1,1-ÊÇ,0-·ñ
start_cmd=Æô¶¯ Samba servers µÄÄ¿Â¼,3,None
stop_cmd=Í£Ö¹ Samba servers µÄÄ¿Â¼,3,None
07070100015dc3000081a40000000000000002000000013d1fe2bd0000017f000000200000000000000000000000000000002300000003reloc/samba/config.info.zh_TW.Big5    smb_conf=Samba ²ÕºAÀÉªº¦ì¸m,0
smb_passwd=Samba ±K½XÀÉªº¦ì¸m,3
samba_status_program=¨ì smbstatus µ{¦¡ªº§¹¾ã¸ô®|,0
samba_password_program=¨ì smbpasswd µ{¦¡ªº§¹¾ã¸ô®|,0
samba_server=¨ì smbd µ{¦¡ªº§¹¾ã¸ô®|,0
name_server=¨ì nmbd µ{¦¡ªº§¹¾ã¸ô®|,0
swat_path=¨ì swat µ{¦¡ªº§¹¾ã¸ô®|,3,None
dont_convert=¤£¤¹³\¥[¤J Samba ªº Unix ¨Ï¥ÎªÌ¦Cªí,0
sort_mode=¬O§_¨Ì¾Ú¦WºÙ±Æ¦C¨Ï¥ÎªÌ»P¸s²Õ,1,1-¬O,0-§_
 07070100015dc4000081e40000000000000002000000013d1fe2be00000387000000200000000000000000000000000000001c00000003reloc/samba/create_copy.cgi   #!/usr/local/bin/perl
# create_copy.cgi
# Display a form for creating a new copy

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcopy'}") unless $access{'copy'};
 
&header($text{'create_title'}, "");
print "<hr>\n";

print $text{'create_msg'};
print "<p>\n";
print "<form action=save_copy.cgi>\n";
print "<table>\n";
print "<tr> <td><b>$text{'create_from'}</b></td>\n";
print "<td><select name=copy>\n";
foreach $c (&list_shares()) {
	if ($c eq "global") { next; }
	print "<option>$c\n";
	}
print "</select></td> </tr>\n";
print "<tr> <td><b>$text{'create_name'}</b></td>\n";
print "<td><input size=15 name=name></td> </tr>\n";
print "</table>\n";
print "<input type=submit value=$text{'create'}></form><p>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});

 07070100015dc6000081e40000000000000002000000013d1fe2be0000020b000000200000000000000000000000000000001d00000003reloc/samba/delete_euser.cgi  #!/usr/local/bin/perl

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmusers'}")
        unless $access{'maint_users'} && $access{'view_users'};
# delete		
&lock_file($config{'smb_passwd'});
@list = &list_users();
&delete_user($list[$in{'idx'}]);
&unlock_file($config{'smb_passwd'});
&webmin_log("delete", "euser", $list[$in{'idx'}]->{'name'});
&redirect("edit_epass.cgi");

 07070100015dc7000081e40000000000000002000000013d1fe2bd000002b3000000200000000000000000000000000000001d00000003reloc/samba/delete_share.cgi  #!/usr/local/bin/perl
# delete_share.cgi
# Delete an existing share

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pds'}") 
	unless &can('rw', \%access, $in{share});
# delete
&error_setup($text{'error_delshare'});
&lock_file($config{'smb_conf'});
foreach $s (&list_shares()) {
	&get_share($s);
	if (&getval("copy") eq $in{share}) {
		&error(&text('error_delcopy', $s));
		}
	}
&delete_share($in{share});
&drop_samba_acl(\%access, $in{share});
&unlock_file($config{'smb_conf'});
&webmin_log("delete", $in{'type'}, $in{share});
&redirect("");

 07070100015dc8000081e40000000000000002000000013d1fe2be00000410000000200000000000000000000000000000001b00000003reloc/samba/edit_epass.cgi    #!/usr/local/bin/perl
# edit_epass.cgi
# Display a list of samba users for editing

require './samba-lib.pl';
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvusers'}")
        unless $access{'view_users'};
# display
&header($text{'smbuser_title'}, "");
print "<hr>\n";

@ulist = &list_users();
@ulist = sort { $a->{'name'} cmp $b->{'name'} } @ulist
	if ($config{'sort_mode'});
if (@ulist) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'smbuser_list'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	for($i=0; $i<@ulist; $i++) {
		$u = $ulist[$i];
		if ($i%4 == 0) { print "<tr>\n"; }
		print "<td><a href='edit_euser.cgi?idx=$u->{'index'}'>",
		      &html_escape($u->{'name'}),"</a></td>\n";
		if ($i%4 == 3) { print "</tr>\n"; }
		}
	print "</table></td> </tr></table><p>\n";
	}
else { print "<b>$text{'smbuser_nouser'}</b> <p>\n"; }

print "<hr>\n";
&footer("", $text{'index_sharelist'});
07070100015dc9000081e40000000000000002000000013d1fe2bd00000c32000000200000000000000000000000000000001b00000003reloc/samba/edit_euser.cgi    #!/usr/local/bin/perl
# edit_euser.cgi
# Edit an existing samba user

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvusers'}")
        unless $access{'view_users'};
# display		
&header($text{'euser_title'}, "");
@ulist = &list_users();
$u = $ulist[$in{'idx'}];
print "<hr>\n";

print "<form action=save_euser.cgi>\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'euser_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td align=right><b>$text{'euser_name'}</b></td>\n";
print "<td><font size=+1><i>$u->{'name'}</i></font></td>\n";

print "<td align=right><b>$text{'euser_uid'}</b></td>\n";
print "<td><input name=uid size=5 value=\"$u->{'uid'}\"></td> </tr>\n";

print "<tr> <td align=right><b>$text{'euser_passwd'}</b></td>\n";
$locked = ($u->{'pass1'} eq ("X" x 32));
$nopass = ($u->{'pass1'} =~ /^NO PASSWORD/);
printf "<td colspan=3><input type=radio name=ptype value=0 %s> $text{'euser_noaccess'}\n",
	$locked ? "checked" : "";
printf "<input type=radio name=ptype value=1 %s> $text{'euser_nopw'}\n",
	$nopass ? "checked" : "";
printf "<input type=radio name=ptype value=2 %s> $text{'euser_currpw'}\n",
	$locked||$nopass ? "" : "checked";
print "<input type=radio name=ptype value=3> $text{'euser_newpw'}\n";
print "<input type=password name=pass size=20></td> </tr>\n";

if (!$u->{'opts'}) {
	# Old-style samba user
	print "<tr> <td align=right><b>$text{'euser_realname'}</b></td> <td colspan=3>\n";
	print "<input name=realname size=40 value='$u->{'real'}'></td> </tr>\n";

	print "<tr> <td align=right><b>$text{'euser_homedir'}</b></td>\n";
	print "<td><input name=homedir size=30 value='$u->{'home'}'></td>\n";

	print "<td align=right><b>$text{'euser_shell'}</b></td>\n";
	printf "<td><input name=shell size=15 value='%s'></td> </tr>\n",
		$u->{'shell'};
	}
else {
	# New-style samba user
	print "<input type=hidden name=new value=1>\n";
	map { $opt{uc($_)}++ } @{$u->{'opts'}};
	print "<tr> <td valign=top><b>$text{'euser_option'}</b></td> <td colspan=3>\n";
	@ol = ($text{'euser_normal'}, "U", $text{'euser_nopwrequired'}, "N",
	       $text{'euser_disable'}, "D", $text{'euser_trust'}, "W");
	for($i=0; $i<@ol; $i+=2) {
		printf "<input type=checkbox name=opts value=%s %s> %s<br>\n",
			$ol[$i+1], $opt{$ol[$i+1]} ? "checked" : "", $ol[$i];
		delete($opt{$ol[$i+1]});
		}
	foreach $oo (keys %opt) {
		print "<input type=hidden name=opts value=$oo>\n";
		}
	print "</td> </tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%>\n";
print "<tr> <td><input type=submit value=$text{'save'}></td>\n";
print "</form><form action=\"delete_euser.cgi\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<td align=right><input type=submit value=$text{'delete'}></td> </tr>\n";
print "</form></table><p>\n";

print "<hr>\n";
&footer("edit_epass.cgi", $text{'index_userlist'},
	"", $text{'index_sharelist'});

  07070100015dca000081e40000000000000002000000013d1fe2be00000d35000000200000000000000000000000000000001b00000003reloc/samba/edit_fmisc.cgi    #!/usr/local/bin/perl
# edit_fmisc.cgi
# Edit misc file options

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvfmisc'}")
		unless &can('ro', \%access, $in{'share'});
# display
$s = $in{'share'};
if ($s eq "global") {
	&header($text{'fmisc_title'}, "");
	}
else {
	&header($text{'fmisc_title'}, "");
	print "<center><font size=+1>", &text('fmisc_for', $s),"</font></center>\n";
	}
&get_share($s);
print "<hr>\n";

print "<form action=save_fmisc.cgi>\n";
print "<input type=hidden name=old_name value=\"$s\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'misc_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td align=right><b>$text{'fmisc_lockfile'}</b></td>\n";
print "<td>",&yesno_input("locking"),"</td>\n";

print "<td align=right><b>$text{'fmisc_maxconn'}</b></td>\n";
printf "<td><input type=radio name=max_connections_def value=1 %s> $text{'smb_unlimited'}\n",
	&getval("max connections") == 0 ? "checked" : "";
printf "<input type=radio name=max_connections_def value=0 %s>\n",
	&getval("max connections") > 0 ? "checked" : "";
printf "<input size=6 name=max_connections value=\"%s\"></td> </tr>\n",
	&getval("max connections") > 0 ? &getval("max connections") : "";

print "<tr> <td align=right><b>$text{'fmisc_fake'}</b></td>\n";
print "<td>",&yesno_input("fake oplocks"),"</td>\n";

print "<td align=right><b>$text{'fmisc_sharemode'}</b></td>\n";
print "<td>",&yesno_input("share modes"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fmisc_strict'}</b></td>\n";
print "<td>",&yesno_input("strict locking"),"</td>\n";

print "<td align=right><b>$text{'fmisc_sync'}</b></td>\n";
print "<td>",&yesno_input("sync always"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fmisc_volume'}</b></td>\n";
printf "<td colspan=3><input type=radio name=volume_def value=1 %s> $text{'fmisc_sameas'}\n",
	&getval("volume") eq "" ? "checked" : "";
printf "<input type=radio name=volume_def value=0 %s>\n",
	&getval("volume") eq "" ? "" : "checked";
printf "<input size=25 name=volume value=\"%s\"></td> </tr>\n",
	&getval("volume");

print "</table><table>\n";

print "<tr> <td align=right><b>$text{'fmisc_unixdos'}</b></td>\n";
printf"<td><input name=mangled_map size=40 value=\"%s\"></td></tr>\n",
	&getval("mangled map");

print "<tr> <td align=right><b>$text{'fmisc_conncmd'}</b></td>\n";
printf "<td><input name=preexec size=40 value=\"%s\"></td> </tr>\n",
	&getval("preexec");

print "<tr> <td align=right><b>$text{'fmisc_disconncmd'}</b></td>\n";
printf "<td><input name=postexec size=40 value=\"%s\"></td> </tr>\n",
	&getval("postexec");

print "<tr> <td align=right><b>$text{'fmisc_rootconn'}</b></td>\n";
printf "<td><input name=root_preexec size=40 value=\"%s\"></td> </tr>\n",
	&getval("root preexec");

print "<tr> <td align=right><b>$text{'fmisc_rootdisconn'}</b></td>\n";
printf "<td><input name=root_postexec size=40 value=\"%s\"></td> </tr>\n",
	&getval("root postexec");

print "</table> </td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}>"
	if &can('wO', \%access, $in{'share'});
print "</form>\n";
print "<hr>\n";
&footer("edit_fshare.cgi?share=".&urlize($s), $text{'index_fileshare'},
	"", $text{'index_sharelist'});

   07070100015dcb000081e40000000000000002000000013d1fe2be0000097a000000200000000000000000000000000000001b00000003reloc/samba/edit_fname.cgi    #!/usr/local/bin/perl
# edit_fname.cgi
# Edit file naming options

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvfname'}")
        unless &can('rn', \%access, $in{'share'});
# display
$s = $in{'share'};
if ($s eq "global") {
	&header($text{'fname_title1'}, "");
	}
else {
	&header($text{'fname_title2'}, "");
	print "<center><font size=+1>",&text('fmisc_for', $s),"</font></center>\n";
	}
&get_share($s);
print "<hr>\n";

print "<form action=save_fname.cgi>\n";
print "<input type=hidden name=old_name value=\"$s\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'fname_option'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td align=right><b>$text{'fname_manglecase'}</b></td>\n";
print "<td>",&yesno_input("mangle case"),"</td>\n";

print "<td align=right><b>$text{'fname_case'}</b></td>\n";
print "<td>",&yesno_input("case sensitive"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fname_defaultcase'}</b></td>\n";
printf "<td><input type=radio name=default_case value=lower %s> $text{'fname_lower'}\n",
	&getval("default case") =~ /lower/i ? "checked" : "";
printf "<input type=radio name=default_case value=upper %s> $text{'fname_upper'}</td>\n",
	&getval("default case") =~ /upper/i ? "checked" : "";

print "<td align=right><b>$text{'fname_preserve'}</b></td>\n";
print "<td>",&yesno_input("preserve case"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fname_shortpreserve'}</b></td>\n";
print "<td>",&yesno_input("short preserve case"),"</td>\n";

print "<td align=right><b>$text{'fname_hide'}</b></td>\n";
print "<td>",&yesno_input("hide dot files"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fname_archive'}</b></td>\n";
print "<td>",&yesno_input("map archive"),"</td>\n";

print "<td align=right><b>$text{'fname_hidden'}</b></td>\n";
print "<td>",&yesno_input("map hidden"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fname_system'}</b></td>\n";
print "<td>",&yesno_input("map system"),"</td>\n";

print "</table> </td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}>"
	if &can('wN', \%access, $in{'share'});
print "</form>\n";
print "<hr>\n";
&footer("edit_fshare.cgi?share=".&urlize($s), $text{'index_fileshare'},
	"", $text{'index_sharelist'});

  07070100015dcc000081e40000000000000002000000013d1fe2be0000096c000000200000000000000000000000000000001b00000003reloc/samba/edit_fperm.cgi    #!/usr/local/bin/perl
# edit_fperm.cgi
# Edit file permissions options

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvperm'}")
        unless &can('rp', \%access, $in{'share'});
# display
$s = $in{'share'};
if ($s eq "global") {
	&header($text{'fperm_title1'}, "");
	}
else {
	&header($text{'fperm_title2'}, "");
	print "<center><font size=+1>", &text('fmisc_for', $s), "</font></center>\n";
	}
&get_share($s);
print "<hr>\n";

print "<form action=save_fperm.cgi>\n";
print "<input type=hidden name=old_name value=\"$s\">\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'fperm_option'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td align=right><b>$text{'fperm_filemode'}</b></td>\n";
printf "<td><input name=create_mode size=5 value=\"%s\"></td>\n",
	&getval("create mode");

print "<td align=right><b>$text{'fperm_dirmode'}</b></td>\n";
printf "<td><input name=directory_mode size=5 value=\"%s\"></td> </tr>\n",
	&getval("directory mode");

print "<tr> <td align=right><b>$text{'fperm_notlist'}</b></td>\n";
printf "<td colspan=3><input name=dont_descend size=40 value=\"%s\"></td>\n",
	&getval("dont descend");
print "</tr>\n";

print "<tr> <td align=right><b>$text{'fperm_forceuser'}</b></td>\n";
&username_input("force user", "None");

print "<td align=right><b>$text{'fperm_forcegrp'}</b></td>\n";
&groupname_input("force group", "None");

print "<tr> <td align=right><b>$text{'fperm_link'}</b></td>\n";
print "<td>",&yesno_input("wide links"),"</td>\n";

print "<td align=right><b>$text{'fperm_delro'}</b></td>\n";
print "<td>",&yesno_input("delete readonly"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'fperm_forcefile'}</b></td>\n";
printf "<td><input name=force_create_mode size=5 value=\"%s\"></td>\n",
	&getval("force create mode");

print "<td align=right><b>$text{'fperm_forcedir'}</b></td>\n";
printf "<td><input name=force_directory_mode size=5 value=\"%s\"></td> </tr>\n",
	&getval("force directory mode");

print "</table> </td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}>" 
	if &can('wP', \%access, $in{'share'});
print "</form>\n";
print "<hr>\n";
&footer("edit_fshare.cgi?share=".&urlize($s), $text{'index_fileshare'},
	"", $text{'index_sharelist'});

07070100015dcd000081e40000000000000002000000013d1fe2bf00000f3f000000200000000000000000000000000000001c00000003reloc/samba/edit_fshare.cgi   #!/usr/local/bin/perl
# edit_fshare.cgi
# Display a form for editing or creating a new directory share

require './samba-lib.pl';
&ReadParse();
$s = $in{'share'};
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if(!$s) {
    &error("$text{'eacl_np'} $text{'eacl_pcfs'}")
	    unless $access{'c_fs'};
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pafs'}")
        unless &can('r', \%access, $in{'share'});
    }
# display
if ($s) {
	&header($s eq 'global' ? $text{'share_title1'} : $text{'share_title2'}, "");
	&get_share($s);
	}
else {
	&header($text{'share_title3'}, "");
	}
print "<hr>\n";

print "<form action=save_fshare.cgi>\n";
if ($s) { print "<input type=hidden name=old_name value=\"$s\">\n"; }

# Vital share options..
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'share_info'}</b></td> </tr>\n";
print "<tr $cb> <td><table cellpadding=2>\n";
if ($s ne "global") {
	if ($copy = &getval("copy")) {
		print "<tr> <td colspan=4><b>",&text('share_copy', $copy),
		      "</b></td> </tr>\n";
		}
	print "<tr> <td align=right><b>$text{'share_name'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=homes value=0 %s>\n",
		$s eq "homes" ? "" : "checked";
	printf "<input size=10 name=share value=\"%s\">&nbsp;&nbsp;&nbsp;\n",
		$s eq "homes" ? "" : $s;
	printf "<input type=radio name=homes value=1 %s> $text{'share_home'}\n",
		$s eq "homes" ? "checked" : "";
	print "</td> </tr>\n";
	}

print "<tr> <td align=right><b>$text{'share_dir'}</b></td>\n";
printf "<td colspan=3><input name=path size=40 value=\"%s\">\n",
	&getval("path");
print &file_chooser_button("path", 1);
print "</td> </tr>\n";

print "<tr> <td align=right><b>$text{'share_available'}</b></td>\n";
print "<td>",&yesno_input("available"),"</td>\n";

print "<td align=right><b>$text{'share_browseable'}</b></td>\n";
print "<td>",&yesno_input("browseable"),"</td> </tr>\n";

print "<td align=right><b>$text{'share_comment'}</b></td>\n";
printf "<td colspan=3><input size=40 name=comment value=\"%s\"></td> </tr>\n",
	&getval("comment");

print "</table> </td></tr></table><p>\n";
if ($s eq "global") {
	print "<input type=submit value=$text{'save'}> </form>\n";
	}
elsif ($s) {
	print "<table width=100%> <tr>\n";
	print "<td align=left><input type=submit value=$text{'save'}></td>\n"
		if &can('rw', \%access, $s);
	print "</form><form action=view_users.cgi>\n";
	print "<input type=hidden name=share value=\"$s\">\n";
	print "<td align=center><input type=submit value=\"$text{'share_view'}\"></td>\n"
		if &can('rv', \%access, $s);
	print "</form><form action=delete_share.cgi>\n";
	print "<input type=hidden name=share value=\"$s\">\n";
	print "<input type=hidden name=type value=fshare>\n";
	print "<td align=right><input type=submit value=$text{'delete'}></td>\n"
		if &can('rw', \%access, $s);
	print "</form> </tr> </table>\n";
	}
else {
	print "<input type=submit value=$text{'create'}> </form>\n";
	}

if ($s) {
	# Icons for other share options
	$us = "share=".&urlize($s);
	local (@url, @text, @icon, $disp);
	if (&can('rs',\%access, $s)) {
		push(@url,  "edit_sec.cgi?$us");
		push(@text, $text{'share_security'});
		push(@icon, "images/icon_2.gif");
		$disp++;
		}
	if (&can('rp',\%access, $s)) {
		push(@url,  "edit_fperm.cgi?$us");
		push(@text, $text{'share_permission'});
		push(@icon, "images/icon_7.gif");
		$disp++;
		}
	if (&can('rn',\%access, $s)) {
		push(@url,  "edit_fname.cgi?$us");
		push(@text, $text{'share_naming'});
		push(@icon, "images/icon_8.gif");
		$disp++;
		}
	if (&can('ro',\%access, $s)) {
		push(@url,  "edit_fmisc.cgi?$us");
		push(@text, $text{'share_misc'});
		push(@icon, "images/icon_4.gif");
		$disp++;
		}
	if ($disp) {
		print "<hr>\n";
		print "<h3>$text{'share_option'}</h3>\n";
		&icons_table(\@url, \@text, \@icon);
		}
	}

print "<hr>\n";
&footer("", $text{'index_sharelist'});

 07070100015dce000081e40000000000000002000000013d1fe2bf00000f7b000000200000000000000000000000000000001b00000003reloc/samba/edit_popts.cgi    #!/usr/local/bin/perl
# edit_popts.cgi
# Edit print-share specific options

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvpopt'}")
        unless &can('ro', \%access, $in{'share'});
# display
$s = $in{'share'};
if ($s eq "global") {
	&header($text{'print_title1'}, "");
	}
else {
	&header($text{'print_title2'}, "");
	}
&get_share($s);
print "<hr>\n";

print "<form action=save_popts.cgi>\n";
print "<input type=hidden name=old_name value=\"$s\">\n";

# Printer options
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'print_option'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'print_minspace'}</b></td>\n";
printf "<td><input name=min_print_space size=5 value=\"%d\"></td>\n",
	&getval("min print space");

print "<td><b>$text{'print_postscript'}</b></td>\n";
print "<td>",&yesno_input("postscript"),"</td> </tr>\n";

print "<tr> <td><b>$text{'print_command'}</b></td>\n";
printf "<td colspan=3>\n";
printf "<input type=radio name=print_command_def value=1 %s> $text{'default'}\n",
	&getval("print command") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=print_command_def value=0 %s>\n",
	&getval("print command") ne "" ? "checked" : "";
printf "<input name=print_command size=30 value=\"%s\"></td> </tr>\n",
	&getval("print command");

print "<tr> <td><b>$text{'print_queue'}</b></td>\n";
printf "<td colspan=3>\n";
printf "<input type=radio name=lpq_command_def value=1 %s> $text{'default'}\n",
	&getval("lpq command") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=lpq_command_def value=0 %s>\n",
	&getval("lpq command") ne "" ? "checked" : "";
printf "<input name=lpq_command size=30 value=\"%s\"></td> </tr>\n",
	&getval("lpq command");

print "<tr> <td><b>$text{'print_delete'}</b></td>\n";
printf "<td colspan=3>\n";
printf "<input type=radio name=lprm_command_def value=1 %s> $text{'default'}\n",
	&getval("lprm command") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=lprm_command_def value=0 %s>\n",
	&getval("lprm command") ne "" ? "checked" : "";
printf "<input name=lprm_command size=30 value=\"%s\"></td> </tr>\n",
	&getval("lprm command");

print "<tr> <td><b>$text{'print_pause'}</b></td>\n";
printf "<td colspan=3>\n";
printf "<input type=radio name=lppause_command_def value=1 %s> $text{'config_none'}\n",
	&getval("lppause command") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=lppause_command_def value=0 %s>\n",
	&getval("lppause command") ne "" ? "checked" : "";
printf "<input name=lppause_command size=30 value=\"%s\"></td> </tr>\n",
	&getval("lppause command");

print "<tr> <td><b>$text{'print_unresume'}</b></td>\n";
printf "<td colspan=3>\n";
printf "<input type=radio name=lpresume_command_def value=1 %s> $text{'config_none'}\n",
	&getval("lpresume command") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=lpresume_command_def value=0 %s>\n",
	&getval("lpresume command") ne "" ? "checked" : "";
printf "<input name=lpresume_command size=30 value=\"%s\"></td> </tr>\n",
	&getval("lpresume command");

print "<tr> <td><b>$text{'print_driver'}</b></td>\n"; 
print "<td colspan=3>\n";
printf "<input type=radio name=printer_driver_def value=1 %s> $text{'config_none'}\n",
	&getval("printer driver") eq "" ? "checked" : "";
printf "&nbsp;&nbsp;<input type=radio name=printer_driver_def value=0 %s>\n",
	&getval("printer driver") ne "" ? "checked" : "";
printf "<input name=printer_driver size=30 value=\"%s\"></td> </tr>\n",
	&getval("printer driver");

print "</table> </td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}>"
	if &can('wO', \%access, $in{'share'}); 
print "</form><p>\n";
print "<hr>\n";
&footer("edit_pshare.cgi?share=".&urlize($s), $text{'index_printershare'},
	"", $text{'index_sharelist'});

 07070100015dcf000081e40000000000000002000000013d1fe2be00001142000000200000000000000000000000000000001c00000003reloc/samba/edit_pshare.cgi   #!/usr/local/bin/perl
# edit_pshare.cgi
# Display a form for editing or creating a new printer share

require './samba-lib.pl';
&ReadParse();
$s = $in{'share'};
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if(!$s) {
	&error("$text{'eacl_np'} $text{'eacl_pcps'}")
        unless $access{'c_ps'};
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_paps'}")
        unless &can('r', \%access, $in{'share'});
	}
# display
if ($s) {
	&header($s eq 'global' ? $text{'pshare_title1'} : $text{'pshare_title2'}, "");
	&get_share($s);
	}
else {
	&header($text{'pshare_title3'}, "");
	}
print "<hr>\n";

print "<form action=save_pshare.cgi>\n";
if ($s) { print "<input type=hidden name=old_name value=\"$s\">\n"; }

# Vital share options..
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'pshare_info'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
if ($s ne "global") {
	if ($copy = &getval("copy")) {
		print "<tr> <td colspan=4><b>", &text('share_copy',$copy),"</b></td> </tr>\n";
		}
	print "<tr> <td><b>$text{'pshare_name'}</b></td>\n";
	printf "<td colspan=3><input type=radio name=printers value=0 %s>\n",
		$s eq "printers" ? "" : "checked";
	printf "<input size=10 name=share value=\"%s\">&nbsp;&nbsp;&nbsp;\n",
		$s eq "printers" ? "" : $s;
	printf "<input type=radio name=printers value=1 %s> $text{'pshare_all'}\n",
		$s eq "printers" ? "checked" : "";
	print "</td> </tr>\n";
	}

print "<tr> <td><b>$text{'pshare_unixprn'}</b></td>\n";
if (&foreign_check("lpadmin")) {
	&foreign_require("lpadmin", "lpadmin-lib.pl");
	@plist = &foreign_call("lpadmin", "list_printers");
	}
elsif ($config{'list_printers_command'}) {
	@plist = split(/\s+/ , `$config{'list_printers_command'}`);
	}
if (@plist) {
	print "<td><select name=printer>\n";
	printf "<option value=\"\" %s> %s\n",
		&getval("printer") eq "" ? "checked" : "",
		$s eq "global" ? $text{'config_none'} : $text{'default'};
	foreach $p (@plist) {
		printf "<option value=\"$p\" %s> $p\n",
			$p eq &getval("printer") ? "selected" : "";
		}
	print "</select></td>\n";
	}
else {
	print "<td><input name=printer size=8></td>\n";
	}

print "<td><b>$text{'pshare_spool'}</b></td>\n";
printf "<td><input name=path size=35 value=\"%s\">\n",
	&getval("path");
print &file_chooser_button("path", 1);
print "</td> </tr>\n";

print "<tr> <td><b>$text{'share_available'}</b></td>\n";
print "<td>",&yesno_input("available"),"</td>\n";

print "<td><b>$text{'share_browseable'}</b></td>\n";
print "<td>",&yesno_input("browseable"),"</td> </tr>\n";

print "<td align=right><b>$text{'share_comment'}</b></td>\n";
printf "<td colspan=3 align=left>\n";
printf "<input size=40 name=comment value=\"%s\"></td> </tr>\n",
	&getval("comment");

print "</table> </td></tr></table><p>\n";

if ($s eq "global") {
	print "<input type=submit value=$text{'save'}> </form><p>\n";
	}
elsif ($s) {
	print "<table width=100%> <tr>\n";
	print "<td align=left><input type=submit value=$text{'save'}></td>\n"
		if &can('rw', \%access, $s);
	print "</form><form action=view_users.cgi>\n";
	print "<input type=hidden name=share value=\"$s\">\n";
	print "<input type=hidden name=printer value=1>\n";
	print "<td align=center><input type=submit value=\"$text{'index_view'}\"></td>\n"
		if &can('rv', \%access, $s);
	print "</form><form action=delete_share.cgi>\n";
	print "<input type=hidden name=share value=\"$s\">\n";
	print "<input type=hidden name=type value=pshare>\n";
	print "<td align=right><input type=submit value=$text{'delete'}></td>\n"
		if &can('rw', \%access, $s);
	print "</form> </tr> </table> <p>\n";
	}
else {
	print "<input type=submit value=$text{'create'}> </form><p>\n";
	}

if ($s) {
	# Icons for other share options
    $us = "share=".&urlize($s)."&printer=1";
    local (@url, @text, @icon, $disp);
    if (&can('rs',\%access, $s)) {
        push(@url,  "edit_sec.cgi?$us");
        push(@text, $text{'share_security'});
        push(@icon, "images/icon_2.gif");
        $disp++;
        }
    if (&can('ro',\%access, $s)) {
        push(@url,  "edit_popts.cgi?$us");
        push(@text, $text{'print_option'});
        push(@icon, "images/icon_3.gif");
        $disp++;
        }
    if ($disp) {
        print "<hr>\n";
        print "<h3>$text{'share_option'}</h3>\n";
        &icons_table(\@url, \@text, \@icon);
        }
	}

print "<hr>\n";
&footer("", $text{'index_sharelist'});
  07070100015dd0000081e40000000000000002000000013d1fe2bd000016ee000000200000000000000000000000000000001900000003reloc/samba/edit_sec.cgi  #!/usr/local/bin/perl
# edit_sec.cgi
# Edit security options for some file or print share

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pvsec'}")
        unless &can('rs', \%access, $in{'share'});
# display
$s = $in{'share'};
if ($s eq "global") {
	&header($text{'sec_index1'}, "");
	}
else {
	&header($text{'sec_index2'}, "");
	print "<center><font size=+1>",&text('fmisc_for', $s), "</font></center>\n";
	}
&get_share($s);
print "<hr>\n";

print "<form action=save_sec.cgi>\n";
print "<input type=hidden name=old_name value=\"$s\">\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'share_security'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td align=right><b>$text{'sec_writable'}</b></td>\n";
print "<td>",&yesno_input("writable"),"</td>\n";

print "<td align=right><b>$text{'sec_guest'}</b></td>\n";
printf "<td><input type=radio name=guest value=0 %s> $text{'config_none'}\n",
	&istrue("public") ? "" : "checked";
printf "<input type=radio name=guest value=1 %s> $text{'yes'}\n",
	&istrue("public") && !&istrue("guest only") ? "checked" : "";
printf "<input type=radio name=guest value=2 %s> $text{'sec_guestonly'}</td> </tr>\n",
	&istrue("public") && &istrue("guest only") ? "checked" : "";

print "<tr> <td align=right><b>$text{'sec_guestaccount'}</b></td>\n";
&username_input("guest account", "Default");

print "<td align=right><b>$text{'sec_limit'}</b></td>\n";
print "<td>",&yesno_input("only user"),"</td> </tr>\n";

print "<tr> <td align=right><b>$text{'sec_allowhost'}</b></td>\n";
printf "<td colspan=3><input type=radio name=allow_hosts_all value=1 %s> $text{'config_all'}\n",
	&getval("allow hosts") eq "" ? "checked" : "";
print "&nbsp;&nbsp;\n";
printf "<input type=radio name=allow_hosts_all value=0 %s> $text{'sec_onlyallow'}:\n",
	&getval("allow hosts") eq "" ? "" : "checked";
printf "<input name=allow_hosts size=35 value=\"%s\"></td> </tr>\n",
	&getval("allow hosts");

print "<tr> <td align=right><b>$text{'sec_denyhost'}</b></td>\n";
printf "<td colspan=3><input type=radio name=deny_hosts_all value=1 %s> $text{'config_none'}\n",
	&getval("deny hosts") eq "" ? "checked" : "";
print "&nbsp;&nbsp;\n";
printf "<input type=radio name=deny_hosts_all value=0 %s> $text{'sec_onlydeny'}:\n",
	&getval("deny hosts") eq "" ? "" : "checked";
printf "<input name=deny_hosts size=35 value=\"%s\"></td> </tr>\n",
	&getval("deny hosts");

print "<tr> <td align=right><b>$text{'sec_revalidate'}</b></td>\n";
print "<td>",&yesno_input("revalidate"),"</td> </tr>\n";

@valid_users = &split_users(&getval("valid users"));
print "<tr> <td align=right><b>$text{'sec_validuser'}</b></td> <td colspan=3>\n";
printf "<input name=valid_users_u size=60 value='%s'> %s</td> </tr>\n",
	join(' ', grep { !/^@/ } @valid_users),
	&user_chooser_button("valid_users_u", 1);
print "<tr> <td align=right><b>$text{'sec_validgroup'}</b></td> <td colspan=3>\n";
printf "<input name=valid_users_g size=60 value='%s'> %s</td> </tr>\n",
	join(' ', map { s/@//;$_ } grep { /^@/ } @valid_users),
	&group_chooser_button("valid_users_g", 1);

@invalid_users = &split_users(&getval("invalid users"));
print "<tr> <td align=right><b>$text{'sec_invaliduser'}</b></td> <td colspan=3>\n";
printf "<input name=invalid_users_u size=60 value='%s'> %s</td> </tr>\n",
	join(' ', grep { !/^@/ } @invalid_users),
	&user_chooser_button("invalid_users_u", 1);
print "<tr> <td align=right><b>$text{'sec_invalidgroup'}</b></td> <td colspan=3>\n";
printf "<input name=invalid_users_g size=60 value='%s'> %s</td> </tr>\n",
	join(' ', map { s/@//;$_ } grep { /^@/ } @invalid_users),
	&group_chooser_button("invalid_users_g", 1);

print "<tr> <td colspan=4><hr></td> </tr>\n";

@user = &split_users(&getval("user"));
print "<tr> <td align=right><b>$text{'sec_possibleuser'}</b></td> <td>\n";
printf "<input name=user_u size=30 value='%s'> %s</td>\n",
	join(' ', grep { !/^@/ } @user),
	&user_chooser_button("user_u", 1);
print "<td align=right><b>$text{'sec_possiblegroup'}</b></td> <td colspan=3>\n";
printf "<input name=user_g size=30 value='%s'> %s</td> </tr>\n",
	join(' ', map { s/@//;$_ } grep { /^@/ } @user),
	&group_chooser_button("user_g", 1);

@read_list = &split_users(&getval("read list"));
print "<tr> <td align=right><b>$text{'sec_rouser'}</b></td> <td>\n";
printf "<input name=read_list_u size=30 value='%s'> %s</td>\n",
	join(' ', grep { !/^@/ } @read_list),
	&user_chooser_button("read_list_u", 1);
print "<td align=right><b>$text{'sec_rogroup'}</b></td> <td colspan=3>\n";
printf "<input name=read_list_g size=30 value='%s'> %s</td> </tr>\n",
	join(' ', map { s/@//;$_ } grep { /^@/ } @read_list),
	&group_chooser_button("read_list_g", 1);

@write_list = &split_users(&getval("write list"));
print "<tr> <td align=right><b>$text{'sec_rwuser'}</b></td> <td>\n";
printf "<input name=write_list_u size=30 value='%s'> %s</td>\n",
	join(' ', grep { !/^@/ } @write_list),
	&user_chooser_button("write_list_u", 1);
print "<td align=right><b>$text{'sec_rwgroup'}</b></td> <td>\n";
printf "<input name=write_list_g size=30 value='%s'> %s</td> </tr>\n",
	join(' ', map { s/@//;$_ } grep { /^@/ } @write_list),
	&group_chooser_button("write_list_g", 1);

print "</table><table border width=100%>\n";

print "</table> </td></tr></table><p>\n";
print "<input type=submit value=$text{'save'}>" 
	if &can('wS', \%access, $in{'share'});
print "</form>\n";
print "<hr>\n";
if (&istrue("printable") || $in{'printer'}) {
	&footer("edit_pshare.cgi?share=".&urlize($s), $text{'index_printershare'}, "", $text{'index_sharelist'});
	}
else {
	&footer("edit_fshare.cgi?share=".&urlize($s), $text{'index_fileshare'}, "", $text{'index_sharelist'});
	}


sub split_users
{
return split(/\s*,\s*/, $_[0]);
}

  07070100015dd1000081e40000000000000002000000013d1fe2be000003e7000000200000000000000000000000000000001a00000003reloc/samba/edit_sync.cgi #!/usr/local/bin/perl
# edit_sync.cgi
# Allow the user to edit auto updating of Samba accounts by useradmin

require './samba-lib.pl';
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmsync'}")
        unless $access{'maint_sync'};
# display
&header($text{'esync_title'}, "");
print "<hr>\n";

print $text{'esync_msg'}, "<p>\n";

print "<form action=save_sync.cgi>\n";
printf "<input type=checkbox name=add value=1 %s>\n",
	$config{'sync_add'} ? "checked" : "";
print "$text{'esync_add'}<p>\n";

printf "<input type=checkbox name=change value=1 %s>\n",
	$config{'sync_change'} ? "checked" : "";
print "$text{'esync_chg'}<p>\n";

printf "<input type=checkbox name=delete value=1 %s>\n",
	$config{'sync_delete'} ? "checked" : "";
print "$text{'esync_del'}<p>\n";
print "<input type=submit value=\"", $text{'esync_apply'}, "\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_sharelist'});

 07070100017413000041ed0000000000000001000000023d1ffb2f00000000000000200000000000000000000000000000001300000003reloc/samba/images    07070100017414000081a40000000000000002000000013d1fe2be00000441000000200000000000000000000000000000001c00000003reloc/samba/images/icon.gif   GIF89a0 0 Æ  ÿÿÿ÷÷÷ ¢¤îîîßßßqrs´·ºõÚÏôÊµúýÿªª«çççúíâ™™™../ÈÉÉüþÿò¥‘VVV|~‚Ö××ÿûöóóóõnPÐÉ¼cfi   &''!!!	üüüïôõõüþÿS£Ž‰ˆ‰Š988+     CDDÛ|ëW1ÿ3 -õôïŽ“˜a8.fÌ3Rš&æñý´áþÏßì)+. (gíõüÙïûÝôý112ž­½ÿþú›Óø¤Îó–nªÏòâèîf§ê


½Óâ®Öä)«ýÇ÷‰™«AKT 3b!
óøþÙâì½ÚøµÜ¡Íßmy†*ˆâ ™ÿAƒG9  ¢Êî²è8=CÿÌ áîÿ‰¿á0,*Iß\Át] ž’‰Á›
W\bgÝ MNO ÌÌÌÍÍÍÏÏÏÐÐÐÎÎÎ›››œœœšššfff            !þMade with GIMP ,    0 0  þ€ ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–‚——›–Ÿ’	

¥®‹°¡«
š®§ !›!"#½#$%&'()*+Ü,¤–& `µPç¢€.^(D#·	,ÉX0CƒhÑÂ
¦ˆQÃ†Ã–Eº€±9`ˆ€ƒŽ'*ä±¡GŸ'T˜ä#Ç ‚èP h‰bÈO ø.HñƒH#2D+ ÁDGBòôùÓ’þ&ÝH’à‚’%8<(°IoT¨@ÁÐÆÕÙLº`¡H"Mœ<ò Jƒ¤LÙL…Û¶U6˜D ¢•+P°(É¢åÉ“-\<tñBûË0a6Ä@—¤4H EÌ(JÆdq ‚mÚTÂ”)sD7*%	7ÁÌ’3KžDAƒ&Ís5ÖL§Î-®¥
'
4`seÉ2:<y>eE›õk$vI 4 B|Ppn¨¡†oÀÆzeä6Ú'<ÐÀ;pÇ6êMwD_¾•BÀ1,tÇLØÃ`üÆqdWJTà£PÜ¬ †x–’K"!°TÜtÐÊ’‹„ð€ÜDDe#À…ZmÉÈ 
T ˜UN2Çšl¶éæ›oÒAGuØa§wÐÁ¦"ôéçŸ€(xä‘¡zô™Ë}îæ"Œ6àè£‰D:)¥†Dêg%pvúf ž†º¦ ¤–jê©¨¦*©ª¦îáê«°Æ*««‚H:ë­²bªë®¼öêk"  ;   07070100017415000081a40000000000000002000000013d1fe2be00000139000000200000000000000000000000000000001e00000003reloc/samba/images/icon_0.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff   ÿÿ       !ù    ,    0 0  þºÜþ0²@«•87Á»·&:CižžPltÕÎÙÑ8yç¼Â=^@ æ†Eã©¤1›K"´õÌ®Øöê¨*¸-ðƒ ñÄ#´¶,ªäÆ«Ô{/âŒ(‰³¿\sEY€b[pxxW%{ƒ‰j‘‰k€tgŒZ‹“—›šˆšqœŸ¡wœ\¤¥c© ¯Š¬­Š±¶´©¬~g±¾¾¨¡v~d 2€°„°”É/!ÉpÁˆÅ ÇÑ´’¦[“[Ï'Ñ‡—†ËNÇS"féëìl|ïímòóñõ]ôøðûîý †p øÀAÊá Ba‰ØV¼{‘"@A&BH  ;   07070100017416000081a40000000000000002000000013d1fe2be0000014d000000200000000000000000000000000000001e00000003reloc/samba/images/icon_1.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff   ÿÿ       !ù    ,    0 0  þºÜþ0²@«•87Á»·&:CižžPltÕÎÙÑ8yç¼Â=^@ æ†Eã©¤1›K"´õœŠª=‚– àn¹Žç×;Þ>´‹oÜ£ïn0—¯Ù€W‰Žç7æu]w @uqti~
z‡}‰lfd…%ˆ}Žr‹Œ~{i›’¦g•pvkxpj«³žŸc²¡¶¯§±°¿‚­Â´ÅÆ¨Ä~ËËÆ‹oÀÐ 2œÈ»®Ét/!ÖÐŠaÔ¶æžº€aÝæ€©`º|© Ô¸eñ=XVûüþþA(°”‚"\ paC„C8,Œàa"„ÀPq!cž1êÉø÷"E
‹LxŒ  ;   07070100017417000081a40000000000000002000000013d1fe2be00000113000000200000000000000000000000000000001e00000003reloc/samba/images/icon_2.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100017418000081a40000000000000002000000013d1fe2be0000014a000000200000000000000000000000000000001e00000003reloc/samba/images/icon_3.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  þºÜþ0ÊI«½8»´œÒ}_ÈŒ€@Væ&¼*„j­Ç'7[µÜðÒ£ü^Âd1²c	”PbJm2yÕªå9Éz­ŒøKžˆä4xq¨¿¯EüÎÆrcÝ.Àûõ{Pw~x>‚}„„H‡ƒŠ0‡‘’tj–—˜7Odœž ¡U£¤¥§¨Iª«¬a®°‰²¤f®¡±«wº»·¸„ ÀÁ®ÄŠ0@È§ÊxÐÎŒ»ÊÂÍ0ÙÐ²ÂÌÔÒÝß Ü8âèªæÉÚãÌËíßñÃ7ëôñóqô/<Œ#D€@¾v+¤á)xìà®lÄŽ™ª˜îb‹5I²¤É“  ;  07070100017419000081a40000000000000002000000013d1fe2be000001cc000000200000000000000000000000000000001e00000003reloc/samba/images/icon_4.gif GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;0707010001741a000081a40000000000000002000000013d1fe2be00000147000000200000000000000000000000000000001e00000003reloc/samba/images/icon_5.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  þºÜþ0¶@«8?Á{×`Väx…aà­ì€¦lÌ¹¯¦Êmmã¹ŽÝ¼ÍCâÃL*'GáÂä9§Š*ÎY:½ƒ°xLfà° ’Úò
‹¢³ð†_1ózô.ÉÿàHrsƒ„s.Z2|…Œ‡€Š~ˆ1‘“E‚zG—™T›(¡d§e¤th:¥¬®¯x«?$^O±f2X¹kk·°´švœÅªMÆ”£DŒ
A­… …‡Ötg½’ÃÞÒ<Ö
ß}åã'ìãî°çyƒäót~÷öèòñî÷ä ý\µœABï²\pQ¿aÿ	œØ“AâÓ¸¨š·| íe£§O– ; 0707010001741b000081a40000000000000002000000013d1fe2be0000017c000000200000000000000000000000000000001e00000003reloc/samba/images/icon_6.gif GIF89a0 0 Â  ÿÿÿ™™™ÌÌÌfff            !ù    ,    0 0  þºòÉI«0‹Ë{‹&vdõ‰â0”lˆfº¶¥ó
±<Óžë:éãÃƒBÑ‘;Æ’=âq°„F›ª%Ñz¡~dÚ*×âõ†?——J  bâŠºRÌI»oV|Œ[/&{7~-*5}(ˆ,m%…M-Ž…X;$”JŠ—2“m ¡m3D?S˜¢ª¤¥Y¨©nW¯q%š›_:gŸ%f`g{™³xzÁÂÃ‡Žp[<¸xtTPÐwÕrhvIÙ5#4ßâÄÜ…æ‰Œ·çi’ò&–@‚"X
ð²BP5Ã‘)DŽb]8çFÔŠY'^TpÏ‚¼ŠnÒÍ 5B±c&	Ä¢(²á,“(‚¤Èò$ËŽ.a¦Z9p$Ã˜8TdpñåK‘?ƒêT94hÎ‰”rî¬)gJQ5™–dºÏJ ;0707010001741c000081a40000000000000002000000013d1fe2be0000014c000000200000000000000000000000000000001e00000003reloc/samba/images/icon_7.gif GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  þºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR+DÞ8H«·ó	€ÁRqÇk:Iá’â‘Ñ…Îê"ö°Y€Îø7Æd¨Y›.3PªÑq@¯Ûïßú‚êcât3mj<ƒm`‡\>ŠŒ9SF‘N™M1CŽšM…Ÿ™œ•!V_#“[TUŽ¡«R„—³hd¶¸JµªswÅuÁ{ÈÉ†Â~+¾¬BÑÍ Ç‚Ô$Ò%Ù¹ÖØ&ÛÚbã,êÞ×9 ‡‚ñèìØÍíoÖ£<7ö£ÝÁôàgÁ! ;|ÃÇHÐÁ„Ì°­SvA[sœÒUÜHÑ;ó:²š¨ðžg&4.K  ;0707010001741d000081a40000000000000002000000013d1fe2be000001ed000000200000000000000000000000000000001e00000003reloc/samba/images/icon_8.gif GIF89a0 0 Â  ÿÿÿ   ™™™ÌÌÌfff         !ù    ,    0 0  þÊî«©„Ø2í¬èöŒ\§òkÛ¥°8šRs•ÛËz0Í’_äVÑÁV ÚÄ6SÈhnä‘YÌP+ëµ\H c@’4·zí	?Ø'vìSñ¸™]N´xbdec‡Šw ˆŠem†o‹Ž•op—ˆ3‚ž–ƒ”{ ¤‚¡{Ÿ¢ x­zª©«£¬¨¦²œ™®«v™¥†œŽŒÁšÃÅeÀzÊËÌ$~Í|ÐËÏÒÏÔÓÒ3ÖÙO]5&V"äY@år}ÚWÑàárð8ÚJ45Ûñ€ðö8BeøÌ¤—Ž†?{JpÌcRÝ'w´ ä"‘Œ:‰üe¤³O”.KCAB¥XH[¾R.KÖ‹$¦Q!_™jI
ˆ°˜6gÍÂiç^ª*òZ„,Êfp®‘LÆ-Ö¾Ÿ²š&âÓ…‹ŒÊ:B£ããžÒ…=Äp·…>?JÅÆ!»aoÍÆvëðUx9h’¦[;T ¬Cï
-!ô’dñy ‘öƒB‘ë¡ÆòæÌS.‘å³—Â¤ñ‘¢—Š<Ø’ÄeÑR¹%  ;   0707010001741e000081a40000000000000002000000013d1fe2be0000048b000000200000000000000000000000000000001e00000003reloc/samba/images/icon_9.gif GIF89a0 0 ç       3  f  ™  Ì  ÿ 3  33 3f 3™ 3Ì 3ÿ f  f3 ff f™ fÌ fÿ ™  ™3 ™f ™™ ™Ì ™ÿ Ì  Ì3 Ìf Ì™ ÌÌ Ìÿ ÿ  ÿ3 ÿf ÿ™ ÿÌ ÿÿ3  3 33 f3 ™3 Ì3 ÿ33 33333f33™33Ì33ÿ3f 3f33ff3f™3fÌ3fÿ3™ 3™33™f3™™3™Ì3™ÿ3Ì 3Ì33Ìf3Ì™3ÌÌ3Ìÿ3ÿ 3ÿ33ÿf3ÿ™3ÿÌ3ÿÿf  f 3f ff ™f Ìf ÿf3 f33f3ff3™f3Ìf3ÿff ff3fffff™ffÌffÿf™ f™3f™ff™™f™Ìf™ÿfÌ fÌ3fÌffÌ™fÌÌfÌÿfÿ fÿ3fÿffÿ™fÿÌfÿÿ™  ™ 3™ f™ ™™ Ì™ ÿ™3 ™33™3f™3™™3Ì™3ÿ™f ™f3™ff™f™™fÌ™fÿ™™ ™™3™™f™™™™™Ì™™ÿ™Ì ™Ì3™Ìf™Ì™™ÌÌ™Ìÿ™ÿ ™ÿ3™ÿf™ÿ™™ÿÌ™ÿÿÌ  Ì 3Ì fÌ ™Ì ÌÌ ÿÌ3 Ì33Ì3fÌ3™Ì3ÌÌ3ÿÌf Ìf3ÌffÌf™ÌfÌÌfÿÌ™ Ì™3Ì™fÌ™™Ì™ÌÌ™ÿÌÌ ÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÌÿ Ìÿ3ÌÿfÌÿ™ÌÿÌÌÿÿÿ  ÿ 3ÿ fÿ ™ÿ Ìÿ ÿÿ3 ÿ33ÿ3fÿ3™ÿ3Ìÿ3ÿÿf ÿf3ÿffÿf™ÿfÌÿfÿÿ™ ÿ™3ÿ™fÿ™™ÿ™Ìÿ™ÿÿÌ ÿÌ3ÿÌfÿÌ™ÿÌÌÿÌÿÿÿ ÿÿ3ÿÿfÿÿ™ÿÿÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,   0 !  þ H° ÁƒºJÈ°¡C‚®RA{H±¢Àj/ ,´È‘¡+   =ëH²àGKª<‰r£JŽ®2¢éòåCW8gât5ÑæÃaÃX¾ÕÓgE–©"µK¦Æ¢K²L™p§U«®^…¥U!Ê+W	r-@¶¬YTÍ\ë´e€j4ÖêHí•YW¢\•}iªÆ©4rÒ„6Î.-­é-ë*Ù«/Œ	ëì«sÔ·S]Õ¹˜1¬TfEY43Ò+¼¦¢ªvä^ÕHƒìÂ©3ÙT‡lSÆ<wên©ÓL¦×•²¹íÍÚ»tS”©˜·œü’@žyQqz…ª{÷ Þ»W_¢mfðá/¡Â‰*R²PWÎDõáé–ÖëK«?JQý94Y€¹RHf8x_/4¦ A~¹’ßƒÒ’RBH†T … Øá‚ŽXˆ* ; 07070100015dd2000081e40000000000000002000000013d1fe2be00001ca1000000200000000000000000000000000000001600000003reloc/samba/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a list of available samba shares. Special shares (like [homes] and
# [printers]) are included as well.

require './samba-lib.pl';

%access = &get_module_acl();

if (!-x $config{'samba_server'}) {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("samba", "man", "doc", "google"));
	print "<hr>\n";
	print &text('error_nosamba', $config{'samba_server'}, "$gconfig{'webprefix'}/config.cgi?$module_name");
	print "<p>\n<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check the samba version
if (`$config{'samba_server'} -v 2>&1` =~ /(Version|Samba)\s+[^0-9 ]*(\d+)\.(\S+)/i ||
    `$config{'samba_server'} -V 2>&1` =~ /(Version|Samba)\s+[^0-9 ]*(\d+)\.(\S+)/i) {
	# Save version number
	$v1 = $2; $v2 = $3;
	$v2 =~ s/[^0-9]//g;
	$samba_version = "$v1.$v2";
	open(VERSION, ">$module_config_directory/version");
	print VERSION $samba_version,"\n";
	close(VERSION);
	}
else {
	&header($text{'index_title'}, "", undef, 1, 1, 0,
		&help_search_link("samba", "man", "doc", "google"));
	print "<hr>\n";
	print &text('error_version', $config{'samba_server'}, "$gconfig{'webprefix'}/config.cgi?$module_name");
	print "<p>\n<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("samba", "man", "doc", "google"), undef, undef,
	&text('index_version', $samba_version));
print "<hr>\n";

@empty = &list_shares();
if (!@empty && (-r $config{alt_smb_conf})) {
	# Copy the sample smb.conf file to the real location
	# This is a hack for slackware
	system("cp $config{alt_smb_conf} $config{smb_conf} >/dev/null 2>&1");
	}
if (!(-r $config{smb_conf})) {
	print &text('error_config', $config{'smb_conf'}, "$gconfig{'webprefix'}/config.cgi?$module_name");
	print "<p>\n<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

&get_share("global");
if (&getval("config") || &getval("include")) {
	print "$text{'error_include'}<p>\n<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

foreach $s (&list_shares()) {
	next unless &can('r', \%access, $s) || !$access{'hide'};
	$us = "share=".&urlize($s);
	if ($s eq "global") { next; }
	if (!$donefirst) {
		&show_buttons();
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'index_sharename'}</b></td> <td><b>$text{'index_path'}</b></td>\n";
		print "         <td><b>$text{'index_security'}</b></td> </tr>\n";
		$donefirst = 1;
		}
	&get_share($s);
	print "<tr $cb>\n";
	if ($cp = &getval("copy")) { $cp = "(copy of <i>$cp</i>)"; }
	if (&istrue("printable")) {
		print "<td><a href=\"edit_pshare.cgi?$us\">",
		      &html_escape($s),"</a> $cp</td>\n";
		}
	else {
		print "<td><a href=\"edit_fshare.cgi?$us\">",
		      &html_escape($s),"</a> $cp</td>\n";
		}

	# Output location / path info
	if ($s eq "homes") {
		$p = "<i>$text{'index_homedir'}</i>";
		}
	elsif ($s eq "printers") {
		$p = "<i>$text{'index_allprinter'}</i>";
		}
	elsif (&istrue("printable")) {
		$p = &getval("printer") ? $text{'index_printer'}." ".&html_escape(&getval("printer")) : $text{'index_defaultprn'};
		}
	else {
		$p = &html_escape(&getval("path"));
		}
	print "<td>$p</td>\n";

	# Output security information
	if (&istrue("printable")) {
		if (&getval("valid users")) {
			# Only accessible to some users..
			$sc = $text{'index_printableto'}." ".
				&user_list(&getval("valid users"));
			}
		elsif (&istrue("public")) {
			# Accessible to everyone
			$sc = $text{'index_prneveryone'};
			}
		else {
			$sc = $text{'index_prnalluser'};
			}
		}
	elsif (&istrue("writable")) {
		# Default is read/write access
		if (&istrue("public")) {
			# No password needed..
			$sc = $text{'index_rwpublic'};
			}
		else {
			# Password needed..
			if (&getval("read list")) {
				$sc = &text('index_readonly', &user_list(&getval("read list")));
				}
			else {
				$sc = $text{'index_rwalluser'};
				}
			}
		}
	else {
		# Default is read-only access
		if (&istrue("public")) {
			# No password needed..
			$sc = $text{'index_roeveryone'};
			}
		else {
			# Password needed..
			if (&getval("write list")) {
				$sc = &text('index_readwrite', &user_list(&getval("read list")));
				}
			else {
				$sc = $text{'index_roalluser'};
				}
			}
		}
	print "<td>$sc</td>\n";
	print "</tr>\n";
	}
if ($donefirst) { print "</table>\n"; }
else { print "<b>$text{'index_noshares'}</b>. <p>\n"; }
&show_buttons();
print "<p>\n";

@gc_acl = qw(conf_net conf_smb conf_pass conf_print	conf_misc  
			  ACLfs_global ACLps_global swat);
@gc_progs = ("conf_net.cgi", "conf_smb.cgi", "conf_pass.cgi",
	     "conf_print.cgi", "conf_misc.cgi", "edit_fshare.cgi?share=global",
	     "edit_pshare.cgi?share=global");
@gc_names = ($text{'global_unixnetwork'}, $text{'global_winnetwork'},
	     $text{'global_auth'}, $text{'global_printing'},
	     $text{'global_misc'}, $text{'global_filedefault'},
	     $text{'global_prndefault'});
@gc_icons = ("images/icon_0.gif", "images/icon_1.gif", "images/icon_2.gif",
	     "images/icon_3.gif", "images/icon_4.gif", "images/icon_5.gif",
	     "images/icon_6.gif");
if (&has_command($config{'swat_path'})) {
	push(@gc_progs, "swat.cgi");
	push(@gc_names, "SWAT");
	push(@gc_icons, "images/icon_9.gif");
	}

foreach $i (0..$#gc_acl) {
	next unless ($access{$gc_acl[$i]} && $gc_progs[$i]);
	push(@gc_progs1, $gc_progs[$i]);
	push(@gc_names1, $gc_names[$i]);
	push(@gc_icons1, $gc_icons[$i]);
	$disp++;
	}

if ($disp) {
	print "<hr>\n";
	print "<h3>$text{'global_title'}</h3>\n";
	&icons_table(\@gc_progs1, \@gc_names1, \@gc_icons1, $gconfig{'nocols'});
	}

&get_share("global");
if (&istrue("encrypt passwords") && $config{smb_passwd}) {
	# Encrypted passwords are on.. output links
	if ($access{'view_users'} ||
		$access{'maint_makepass'} ||
		$access{'maint_sync'}) {
		print "<hr>\n";
		print "<h3>$text{'global_password'}</h3>\n";
		}
	print "<ul>\n";
	print "<li> <a href=edit_epass.cgi>$text{'global_edit'}</a>. <p>\n"
		if $access{'view_users'};
	print "<li> <a href=ask_epass.cgi>$text{'global_convert'}</a>. <p>\n"
		if $access{'maint_makepass'};
	print "<li> <a href=edit_sync.cgi>$text{'global_sync'}</a>. <p>\n"
		if $access{'maint_sync'};
	print "</ul>\n";
	}

if ($access{'apply'}) {
	$isrun = &is_samba_running();
	if ($isrun == 0) {
		print "<hr>\n";
		print "<form action=start.cgi>\n";
		print "<table width=100%><tr>\n";
		print "<td><input type=submit value=\"$text{'index_start'}\"></td>\n";
		print "<td>$text{'index_startmsg'}</td>\n";
		print "</tr></table></form>\n";
		}
	elsif ($isrun == 1) {
		print "<hr>\n";
		print "<form action=restart.cgi>\n";
		print "<table width=100%><tr>\n";
		print "<td><input type=submit value=\"$text{'index_restart'}\"></td>\n";
		print "<td>$text{'index_restartmsg'}\n";
		print "$text{'index_restartmsg2'}</td>\n";
		print "</tr></table></form>\n";
		}
	}

print "<hr>\n";
&footer("/", $text{'index'});

sub show_buttons
{
print "<a href=\"edit_fshare.cgi\">$text{'index_createfileshare'}</a>\n"
	if $access{'c_fs'};
print "&nbsp;&nbsp;&nbsp;&nbsp;\n";
print "<a href=\"edit_pshare.cgi\">$text{'index_createprnshare'}</a>\n"
	if $access{'c_ps'};
print "&nbsp;&nbsp;&nbsp;&nbsp;\n";
print "<a href=\"create_copy.cgi\">$text{'index_createcopy'}</a>\n"
	if $access{'copy'};
print "&nbsp;&nbsp;&nbsp;&nbsp;\n";
print "<a href=\"view_users.cgi\">$text{'index_view'}</a><br>\n"
	if $access{'view_all_con'};
}

   07070100015dd3000081e40000000000000002000000013d1fe2bd00000308000000200000000000000000000000000000001a00000003reloc/samba/kill_user.cgi #!/usr/local/bin/perl
# kill_user.cgi
# Kill a samba process connecting to some client

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{share}) { # this may be cracked very easy, don't know how to do better :(
	# per-share acls ...
	&error("$text{'eacl_np'} $text{'eacl_pkill'}") 
		unless &can('rvV',\%access, $in{share}); # read, view conn, kill conn
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pgkill'}") 
		unless $access{'view_all_con'} && $access{'kill_con'};
	}
	
&kill_logged('TERM', $in{pid});
&webmin_log("kill", undef, $in{'pid'}, \%in);
if ($in{share}) { &redirect("view_users.cgi?share=$in{share}"); }
else { &redirect("view_users.cgi"); }

0707010001fb25000041ed0000000000000001000000023d1ffb3000000000000000200000000000000000000000000000001100000003reloc/samba/lang  0707010001fb26000081a40000000000000002000000013d1fe2bd0000509a000000200000000000000000000000000000001400000003reloc/samba/lang/ca   index_title=Recursos Samba
index_sharelist=a la llista de recursos
index_userlist=a la llista d'usuaris
index_fileshare=al directori compartit
index_printershare=a la impressora compartida
index_shareconf=a la configuració del recurs
index_version=Versió Samba $1

index_sharename=Nom del Recurs
index_path=Camí
index_security=Seguretat
index_homedir=Tots els Directoris Home
index_allprinter=Totes les Impressores
index_printer=Impressora
index_defaultprn=Impressora per defecte
index_printableto=Imprimible per
index_prneveryone=Imprimible per tothom
index_prnalluser=Imprimible per tots els usuaris coneguts
index_rwpublic=Lectura/escriptura per tothom
index_readonly=Només lectura per $1<br>Lectura/escriptura per a tots els altres usuaris
index_rwalluser=Lectura/escriptura per tots els usuaris coneguts
index_roeveryone=Només lectura per tothom
index_readwrite=Lectura/escriptura per $1<br>Només lectura per tots els altres usuaris coneguts
index_roalluser=Només lectura per tots els usuaris coneguts
index_noshares=No hi ha cap recurs Samba definit
index_createfileshare=Crea un nou directori compartit
index_createprnshare=Crea una nova impressora compartida
index_createcopy=Crea una nova còpia
index_view=Mostra Totes les Connexions
index_start=Inicia els Servidors Samba
index_startmsg=No sembla que els servidors Samba estiguin en execució al sistema. Això vol dir que els recursos llistats més amunt no seran accessibles per altres ordinadors.
index_restart=Reinicia els Servidors Samba
index_restartmsg=Fes clic en aquest botó per reiniciar els servidors Samba en execució al sistema. Això forçarà l'aplicació de la configuració actual.
index_restartmsg2=Això també desconnectarà totes les connexions del servidor, així que si no vols que la configuració actual s'apliqui immediatament, hauries d'esperar 1 minut fins que Samba recarregui automàticament la configuració.

config_mins=Mins
config_secs=segs
config_bytes=Bytes
config_never=Mai
config_all=Tots
config_neither=Cap

global_title=Configuració Global
global_unixnetwork=Xarxa Unix
global_winnetwork=Xarxa Windows
global_auth=Autenticació
global_printing=Impressió de Windows a Unix
global_misc=Miscel·lània
global_filedefault=Valors per defecte dels directoris compartits
global_prndefault=Valors per defecte de les impressores compartides
global_password=Contrasenyes xifrades
global_edit=Edita els usuaris i les contrasenyes de Samba
global_convert=Converteix els usuaris Unix a usuaris Samba
global_sync=Configura la sincronització automàtica d'usuaris Unix i usuaris Samba

error_nosamba=No s'ha trobat l'executable servidor de samba <tt>$1</tt>. O bé el Samba no està instal·lats, o bé la <a href="$2">configuració del mòdul</a> és incorrecta.
error_version=El Webmin no ha pogut obtenir la versió de l'executable servidor de Samba <tt>$1</tt>. Comprova la <a href="$2">configuració del mòdul</a> per assegurar que el camí és el correcte.
error_config=No s'ha trobat el fitxer de configuració $1. Segurament, el Samba no està instal·lat, o bé la <a href="$2">configuració del mòdul</a> és incorrecta.
error_include=Webmin no pot manipular els fitxers de configuració de Samba que empren les directives <tt>config</tt> o <tt>include</tt>.
error_delshare=No he pogut suprimir el recurs
error_delcopy=El recurs '$1' és una còpia del recurs
error_savename=No he pogut desar els noms de fitxers

convert_title=Conversió d'Usuaris
convert_msg=Aquest formulari permet sincronitzar ls llista d'usuaris de Unix i de Samba. Quan el Samba fa servir <a href=$1>contrasenyes xifrades</a>, s'utilitza una llista separada d'usuaris i contrasenyes en lloc de la llista d'usuaris del sistema.
convert_noconv=No converteixis o elimina aquests usuaris:
convert_update=Actualitza els usuaris del Samba a partir dels detalls de Unix
convert_add=Afegeix nous usuaris de Samba a partir de la llista d'usuaris Unix
convert_delete=Suprimeix els usuaris de Samba que no existeixin en Unix 
convert_newuser=Per a nous usuaris, estableix la contrasenya a:
convert_nopasswd=Sense contrasenya
convert_lock=Compte bloquejat
convert_passwd=Fes servir aquesta contrasenya
convert_convert=Converteix els Usuaris

misc_title=Opcions Miscel·lànies
misc_debug=Nivell de Depuració
misc_cachecall=Crides a <tt>getwd()</tt> en memòria cau
misc_lockdir=Directori de bloqueigs
misc_log=Fitxer de registres
misc_maxlog=Mida màxima del registre
misc_rawread=Permet lectures pelades
misc_rawwrite=Permet escriptures pelades
misc_overlapread=Mida de solapament en lectura
misc_chroot=Directori <tt>chroot()</tt>
misc_smbrun=Camí de <tt>smbrun</tt>
misc_clienttime=Marge de temps del client
misc_readprediction=Predicció de lectura

net_title=Opcions de Xarxa Unix
net_idle=Temps d'inacció abans de desconnectar
net_trustlist=Fitxer de hosts/usuaris fiables
net_netinterface=Interfícies de Xarxa
net_auto=Automàtic
net_uselist=Fes servir llista...
net_interface=Interfície
net_netmask=Màscara de subxarxa
net_keepalive=Paquets 'keepalive'
net_notsend=No n'enviïs cap
net_every=Envia'ls cada
net_maxpacket=Mida màxima de paquet
net_listen=Escolta l'adreça
net_socket=Opcions del sòcol

passwd_title=Opcions de Contrasenya
passwd_encrypt=Fes servir contrasenyes xifrades
passwd_allownull=Permet contrasenyes nul·les
passwd_program=Programa de contrasenyes
passwd_case=Distinció entre majúscules i minúscules
passwd_chat=Canvia el guió de canvi de la contrasenya
passwd_below=Llistats a sota:
passwd_waitfor=Espera
passwd_send=Envia
passwd_map=Mapeig de noms d'usuari
passwd_unixuser=Usuaris Unix
passwd_winuser=Usuaris Windows

print_title=Opcions d'Impressió
print_style=Impressió estil Unix
print_show=Mostra totes les impressores
print_printcap=Fitxer printcap
print_cachetime=Temps del cau de l'estat d'impressora

smb_title=Opcions de Xarxa Windows
smb_workgroup=Grup de treball
smb_wins=Mode WINS
smb_winsserver=Sigues un servidor WINS
smb_useserver=Fes servir un servidor
smb_description=Descripció del servidor
smb_name=Nom del servidor
smb_aliase=Àlies del servidor
smb_default=Servei per defecte
smb_show=Mostra sempre els serveis
smb_disksize=Mida màxima de disc informada
smb_unlimited=Il·limitada
smb_winpopup=Ordre Winpopup
smb_priority=Prioritat de mestres d'exploració
smb_protocol=Protocol més alt
smb_master=Explorador Mestre
smb_security=Seguretat
smb_sharelevel=A nivell de recurs
smb_userlevel=A nivell d'usuari
smb_passwdserver=Servidor de contrasenyes
smb_domain=Domini
smb_announce=Anunci remot a
smb_nowhere=Enlloc
smb_fromlist=De la llista...
smb_ip=Adreça IP
smb_asworkgroup=<b>Com a Grup de Treball</b> (opcional)

create_title=Creació de Còpia
create_msg=Una còpia d'un recurs heretarà tots els seus valors per defecte del recurs que triïs. Si el recurs original es canvia, la còpia també. 
create_from=Recurs origen:
create_name=Nou recurs:

smbuser_title=Usuaris Samba
smbuser_list=Llista d'Usuaris de Samba
smbuser_nouser=No hi ha cap usuari de Samba definit

euser_title=Edició d'Usuari Samba
euser_name=Usuari
euser_uid=UID Unix
euser_passwd=Contrasenya
euser_noaccess=Sense accés
euser_nopw=Sense contrasenya
euser_currpw=Contrasenya actual
euser_newpw=Contrasenya nova
euser_realname=Nom real
euser_homedir=Directori arrel
euser_shell=Shell
euser_option=Opcions d'usuari
euser_normal=Usuari normal
euser_nopwrequired=No cal contrasenya
euser_disable=Compte desactivat
euser_trust=Compte de fiabilitat d'estació de treball

fmisc_title=Valors Miscel·lanis de Fitxer
fmisc_for=Del recurs <tt>$1</tt>
fmisc_lockfile=Bloqueja els fitxers
fmisc_maxconn=Nombre màxim de connexions
fmisc_fake=Simula oplocks
fmisc_sharemode=Fes servir modes del recurs
fmisc_strict=Bloqueig estricte
fmisc_sync=Sync després d'escriure
fmisc_volume=Nom del volum
fmisc_sameas=Igual que el recurs
fmisc_unixdos=Mapeig del nom del fitxer Unix-DOS
fmisc_conncmd=Ordre a executar en connectar
fmisc_disconncmd=Ordre a executar en desconnectar
fmisc_rootconn=Ordre a executar en connectar <i>com a root</i>
fmisc_rootdisconn=Ordre a executar en desconnectar <i>com a root</i>

fname_title1=Nomenament de Fitxers
fname_title2=Edició de Noms de Fitxers
fname_option=Opcions de Noms de Fitxers
fname_manglecase=Converteix la caixa
fname_case=Sensible a caixa
fname_defaultcase=Caixa per defecte
fname_lower=Minúscules
fname_upper=Majúscules
fname_preserve=Conserva la caixa
fname_shortpreserve=Conserva la caixa dels noms curts
fname_hide=Oculta els fitxers .
fname_archive=Conserva l'atribut de fitxer de DOS
fname_hidden=Conserva l'atribut d'ocultació de DOS
fname_system=Conserva l'atribut de sistema de DOS

fperm_title1=Permisos de Fitxers
fperm_title2=Edició de Permisos de Fitxers
fperm_option=Opcions de Permisos de Fitxers
fperm_filemode=Mode Unix de fitxer nou
fperm_dirmode=Mode Unix de directori nou
fperm_notlist=Directoris que no s'han de llistar
fperm_forceuser=Força usuari de Unix
fperm_forcegrp=Força grup de Unix
fperm_link=Permet enllaços simbòlics fora del recurs
fperm_delro=Permet la supressió de fitxers només lectura
fperm_forcefile=Força el mode de fitxer Unix
fperm_forcedir=Força el mode de directori Unix

share_title1=Directori Compartit
share_title2=Edició de Directori Compartit
share_title3=Creació de Directori Compartit
share_info=Informació del recurs
share_copy=Aquest recurs és una còpia de <i>$1</i>
share_name=Nom del recurs
share_home=Compartició dels Directoris Arrel
share_dir=Directori compartit
share_available=Disponible
share_browseable=Explorable
share_comment=Comentari del Recurs
share_view=Mostra les Connexions
share_option=Altres Opcions del Recurs
share_security=Seguretat i Control d'Accés
share_permission=Permisos de Fitxers
share_naming=Nomenament de Fitxers
share_misc=Opcions Miscel·lànies

print_title1=Opcions d'Impressió
print_title2=Edició d'Opcions d'Impressió
print_option=Opcions d'Impressió
print_minspace=Espai lliure mínim
print_postscript=Força impressió PostScript
print_command=Ordre d'impressió
print_queue=Ordre de mostra de la cua
print_delete=Ordre de supressió de treball
print_pause=Ordre de suspensió de treball
print_unresume=Ordre de reanudació de treball
print_driver=Driver d'Impressora

pshare_title1=Impressora Compartida
pshare_title2=Edició d'Impressora Compartida
pshare_title3=Creació d'Impressora Compartida
pshare_info=Informació de la Impressora
pshare_name=Nom de la Impressora
pshare_all=Totes les Impressores Compartides
pshare_unixprn=Impressora Unix
pshare_spool=Directori de spool

sec_index1=Seguretat
sec_index2=Edició de la Seguretat
sec_writable=Lectura/Escriptura
sec_guest=Accés hoste
sec_guestonly=Només hoste
sec_guestaccount=Usuari hoste Unix
sec_limit=Limita a la llista de possibles
sec_allowhost=Hosts permesos
sec_onlyallow=Permet només
sec_denyhost=Hosts denegats
sec_onlydeny=Denega només
sec_revalidate=Revalida els usuaris
sec_validuser=Usuaris vàlids
sec_validgroup=Grups vàlids
sec_invaliduser=Usuaris invàlids
sec_invalidgroup=Grups invàlids
sec_possibleuser=Usuaris possibles
sec_possiblegroup=Grups possibles
sec_rouser=Usuaris només lectura
sec_rogroup=Grups només lectura
sec_rwuser=Usuaris lectura/escriptura
sec_rwgroup=Grups lectura/escriptura

esync_title=Sincronització d'Usuaris
esync_msg=Webmin es pot configurar de manera que els canvis a la llista d'usuaris de Unix s'apliquin automàticament a la llista d'usuaris del Samba. Això només funcionarà si es fa servir el mòdul <tt>Usuaris i Grups</tt> de Webmin per a afegir, suprimir o canviar usuaris.
esync_add=Afegeix un usuari de Samba quan s'afegeixi un usuari Unix
esync_chg=Canvia l'usuari de Samba quan es canviï l'usuari Unix
esync_del=Suprimeix l'usuari de Samba quan se suprimeixi l'usuari Unix
esync_apply=Aplica

mkpass_title=Conversió d'Usuaris
mkpass_convfail=No he pogut convertir l'usuari
mkpass_msg=Convertint usuaris Unix...
mkpass_skip=ometent
mkpass_same=és el mateix
mkpass_update=actualitzant
mkpass_del=suprimint
mkpass_passfail=No he pogut establir la contrasenya

savecopy_fail=No he pogut crear la còpia
savecopy_global=El nom 'global' no es pot fer servir per a cap recurs
savecopy_exist=Ja existeix un recurs anomenat '$1'

saveuser_fail=No he pogut desar l'usuari
saveuser_uid='$1' no és un UID de Unix vàlid
saveuser_colon=El nom real no pot contenir el caràcter :
saveuser_home=El directori arrel '$1' no existeix
saveuser_shell=$1 no és una shell vàlida
saveuser_pass=No he pogut canviar la contrasenya amb smbpasswd : $1

savefmisc_fail=No he pogut desar les opcions miscel·lànies
savefmisc_number='$1' no és un nombre vàlid de connexions

savefperm_fail=No he pogut desar els permisos de fitxers
savefperm_mode='$1' no és un mode de fitxer Unix vàlid

savefshare_fail=No he pogut desar el recurs
savefshare_nopath=No s'ha donat el camí
savefshare_exist=Ja existeix un recurs anomenat '$1'
savefshare_mode='$1' no és un nom de recurs vàlid
savefshare_global=El nom 'global' o es pot fer servir per a cap recurs

savemisc_fail=No he pogut desar les opcions
savemisc_lockdir=El directori que conté el directori de bloqueigs no existeix
savemisc_logdir=El directori que conté el fitxer de registre no existeix
savemisc_logsize='$1' no és una mida del registre vàlida
savemisc_overlap='$1' no és una mida vàlida de solapament en lectura
savemisc_chroot=El directori chroot '$1' no existeix
savemisc_smbrun=El programa smbrun '$1' no existeix o no és executable
savemisc_time='$1' no és un marge de temps vàlid

savenet_fail=No he pogut desar les opcions
savenet_timeout='$1' no és un temps límit de desconnexió vàlid
savenet_ip='$1' no és un byte IP vàlid
savenet_keep='$1' no és un interval 'keepalive' vàlid
savenet_maxxmit='$1' no és una mida màxima de paquet vàlida

savepass_fail=No he pogut desar les opcions
savepass_nopass=La teva versió de Samba no suporta contrasenyes xifrades
savepass_passwd=No s'ha donat cap programa de canvi de contrasenyes
savepass_level='$1' no és un valor vàlid de caixa
savepass_chat=El guió de canvi de contrasenya és buit

savepopts_fail=No he pogut desar les opcions de la impressora
savepopts_number=L'espai lliure mínim ha de ser un número

saveprint_fail=No he pogut desar les opcions
saveprint_printcap=El fitxer printcap '$1' no existeix
saveprint_cache='$1' no és un temps de cau vàlid

savepshare_fail=No he pogut desar la impressora compartida
savepshare_exist=Ja existeix un recurs anomenat '$1'
savepshare_name='$1' no és un nom de recurs vàlid
savepshare_global=El nom 'global' no es pot fer servir per a cap recurs

savesec_fail=No he pogut desar la seguretat

savesmb_fail=No he pogut desar les opcions
savesmb_size='$1' no és una mida vàlida de disc
savesmb_oslevel='$1' no és una prioritat de mestre d'exploració vàlida
savesmb_server=Has d'introduir un servidor de contrasenyes

start_err=No he pogut iniciar els servidors Samba
start_fail=$1 ha fallat

swats_fail=No he pogut desar el nom d'usuari
swats_user=Falta el nom d'usuari SWAT

viewu_index=Usuaris Actuals
viewu_list=Usuaris actuals de $1
viewu_share=Recurs
viewu_user=Usuari
viewu_group=Grup
viewu_from=Connectat des de
viewu_time=Connectat des de
viewu_pid=ID del Procés
viewu_msg1=Fes clic sobre un ID de procés de la llista per desconnectar aquest usuari.
viewu_msg2=Actualment no hi ha cap usuari connectat
viewu_locks=Fitxers oberts
viewu_none=Cap

log_apply=He reiniciat els servidors Samba
log_start=He iniciat els servidors Samba
log_save_fshare=He modificat el directori compartit $1
log_save_pshare=He modificat la impressora compartida $1
log_save_sec=He modificat la seguretat i el control d'accés del recurs $1
log_save_fperm=He modificat els permisos de fitxers del recurs $1
log_save_fname=He modificat el nomenament de fitxers del recurs $1
log_save_fmisc=He modificat les opcions miscel·lànies del recurs $1
log_save_popts=He modificat les opcions de la impressora compartida $1
log_default_fshare=He canviat les opcions del directori compartit
log_default_pshare=He canviat les opcions de la impressora compartida
log_kill=He desconnectat el procés $1
log_skill=He desconnectat el procés $1 del recurs $2
log_create_fshare=He creat el directori compartit $1
log_create_pshare=He creat la impressora compartida $1
log_delete_fshare=He suprimit el directori compartit $1
log_delete_pshare=He suprimit la impressora compartida $1
log_net=He canviat les opcions de xarxa Unix
log_smb=He canviat les opcions de xarxa Windows
log_pass=He canviat les opcions d'autenticació
log_print=He canviat les opcions d'impressió de Windows a Unix
log_misc=He canviat les opcions miscel·lànies
log_sync=He configurat la sincronització d'usuaris Unix
log_epass=He convertit els usuaris Unix a usuaris Samba
log_epass_l=He convertit els usuaris Unix a usuaris Samba ($1 creat(s(, $2 modificat(s), $3 suprimit(s))
log_copy=He copiat el recurs $2 a $1
log_save_euser=He modificat l'usuari Samba $1
log_delete_euser=He suprimit l'usuari Samba $1

swat_title=Connexió SWAT
swat_list=Connexió SWAT
swat_msg1=El teu nom i contrasenya SWAT actuals són incorrectes. Fes servir el formulari inferior per tornar-te a connectar.
swat_msg2=Cal un usuari i una contrasenya per connectar-se al SWAT. Normalment, això pot ser un usuari qualsevol del sistema.
swat_msg3=No pots executar el SWAT des de Webmin, ja que la configuració del Samba té establerta l'opció <tt>$1:...</tt> (allow hosts).
swat_msg4=No obstant, pots connectar directament amb el SWAT a $1
swat_username=Usuari
swat_password=Contrasenya
swat_login=Connecta't
swat_clear=Neteja
swat_logout=Surt de SWAT

eacl_aviol=Violació del control d'accés
eacl_np=No tens permisos per
eacl_papply=reiniciar aquest servei
eacl_pcn=editar les opcions de xarxa Unix
eacl_pcs=editar les opcions de xarxa SMB
eacl_pcp=editar les opcions de contrasenyes
eacl_pcprint=editar les opcions d'impressió
eacl_pcm=editar les opcions miscel·lànies
eacl_pcswat=utilitzar el SWAT
eacl_pcopy=copiar recursos
eacl_pconn_all=veure totes les connexions
eacl_pconn=veure les connexions d'aquest recurs
eacl_pgkill=matar les connexions
eacl_pkill=matar aquesta connexió
eacl_pus=actualitzar el recurs
eacl_pcrs=crear el recurs
eacl_pds=suprimir el recurs
eacl_pusec=actualitzar les opcions de  seguretat i control d'accés d'aquest recurs
eacl_pufperm=actualitzar les opcions de permisos de fitxers d'aquest recurs
eacl_pufname=actualitzar les opcions de nomenament de fitxers d'aquest recurs
eacl_pufmisc=actualitzar les opcions miscel·lànies d'aquest recurs
eacl_pupopt=actualitzar les opcions d'impressió d'aquest recurs
eacl_pmpass=inicialitzar la base de dades d'usuaris SAMBA
eacl_pmsync=mantenir la sincronització d'usuaris UNIX-SAMBA
eacl_pmusers=mantenir els usuaris SAMBA
eacl_pvusers=accedir els usuaris SAMBA
eacl_pvfmisc=accedir les opcions miscel·lànies d'aquest recurs
eacl_pvfname=accedir les opcions de nomenament de fitxers d'aquest recurs
eacl_pvperm=accedir les opcions de permisos de fitxers d'aquest recurs
eacl_pvsec=accedir les opcions de seguretat i control d'accés d'aquest recurs
eacl_pvpopt=accedir les opcions d'impressió d'aquest recurs
eacl_pafs=accedir aquest directori compartit
eacl_paps=accedir aquesta impressora compartida
eacl_pcps=crear impressores compartides
eacl_pcfs=crear directoris compartits

acl_apply=Pot aplicar canvis
acl_view_all_con=Pot veure totes les connexions
acl_kill_con=Pot eliminar connexions
acl_conf_net=Pot configurar opcions de xarxa UNIX
acl_conf_smb=Pot configurar opcions de xarxa Windows
acl_conf_pass=Pot configurar opcions d'autenticació
acl_conf_print=Pot configurar opcions d'impressió
acl_conf_misc=Pot configurar opcions miscel·lànies
acl_swat=Pot utilitzar SWAT
acl_enc_passwd_opts=Opcions de contrasenyes xifrades.
acl_view_users=Pot veure la base de dades d'usuaris SAMBA
acl_maint_users=Pot editar usuaris SAMBA
acl_maint_makepass=Pot convertir els usuaris UNIX a usuaris SAMBA
acl_maint_sync=Pot mantenir la sincronització automàtica d'usuaris UNIX/SAMBA
acl_hide=Amaga els objectes inaccessibles
acl_c=creació
acl_r=lectura
acl_w=escriptura
acl_afs=Accés a directoris compartits
acl_aps=Accés a impressores compartides
acl_copy=Pot copiar recursos
acl_per_fs_acls=Activa acls per directori compartit
acl_per_ps_acls=Activa acls per impressora compartida
acl_per_share_acls=ACLs per recurs...
acl_ernow=Si vols activar l'accés d'escriptura als ACLs globals per a algun tipus d'objecte, també has d'activar l'accés de lectura d'aquest tipus d'objecte.
acl_sname=Nom del recurs
acl_saccess=Accés al recurs
acl_sconn=Connexions
acl_sopthdr=Opcions del recurs
acl_ssec=seguretat
acl_sperm=permisos
acl_snaming=nomenament de fitxers
acl_smisc=miscel·lània
acl_sprn=o impressora
acl_na=n/a
acl_r1=només lectura
acl_rw=lectura/escriptura
acl_view=veure
acl_kill=matar
acl_edit=editar



  0707010001fb27000081a40000000000000002000000013d1fe2bd00005412000000200000000000000000000000000000001400000003reloc/samba/lang/de   index_title=Samba Freigabeverwaltung
index_sharelist=Freigaben
index_userlist=Benutzer
index_fileshare=Dateifreigaben
index_printershare=Druckerfreigaben
index_shareconf=Freigabekonfiguration

index_sharename=Freigabename
index_path=Pfad
index_security=Berechtigungen
index_homedir=Alle Home Verzeichnisse 
index_allprinter=Alle Drucker 
index_printer=Drucker
index_defaultprn=Standarddrucker
index_printableto=Drucken f&uuml;r
index_prneveryone=Drucken (jeder)
index_prnalluser=Drucken (nur bekannte Benutzer)
index_rwpublic=Les-/schreibbar f&uuml;r jeden
index_readonly=Nur Lesen f&uuml;r $1<br>Les-/schreibbar f&uuml;r bekannte Benutzer
index_rwalluser=Les-/schreibbar f&uuml;r bekannte Benutzer
index_roeveryone=Nur Lesen f&uuml;r jeden
index_readwrite=Les-/schreibbar f&uuml;r $1<br>Nur lesbar f&uuml;r alle anderen bekannten Benutzer
index_roalluser=Nur lesen f&uuml;r alle bekannten Benutzer
index_noshares=Keine Freigaben gefunden
index_createfileshare=Neue Dateifreigabe erstellen
index_createprnshare=Neue Druckerfreigabe erstellen
index_createcopy=Freigabe kopieren
index_view=Ge&ouml;ffnete Verbindungen
index_start=Samba Server starten
index_startmsg=Der Samba Server l&auml;uft anscheinend nicht auf Ihrem System, d.h. die oben aufgef&uuml;hrten Freigaben k&ouml;nnen von anderen Rechnern nicht benutzt werden.
index_restart=Samba Server neu starten
index_restartmsg=Klicken Sie auf diesen Button, um den Samba Server neu zu starten. Dadurch wird die aktuelle Konfiguration aktiv.

config_mins=Min
config_secs=Sek
config_bytes=Bytes
config_never=Niemals
config_all=Alle
config_neither=Nein

global_title=Globale Konfiguration
global_unixnetwork=Unix Einstellungen
global_winnetwork=Windows Einstellungen
global_auth=Authentifizierung
global_printing=Windows zu Unix Druckdienste
global_misc=Erweiterte Einstellungen
global_filedefault=Vorgaben f&uuml;r Dateifreigaben
global_prndefault=Vorgaben f&uuml;r Druckerfreigaben
global_password=Verschl&uuml;sselte Passw&ouml;rter
global_edit=Samba Benutzer und Passw&ouml;rter bearbeiten
global_convert=Unix Benutzer zu Samba Benutzern konvertieren
global_sync=Automatische Unix und Samba Benutzer Syncronisation konfigurieren

error_nosamba=Der Samba Server Daemon <tt>$1</tt> wurde nicht gefunden. Entweder ist Samba nicht auf Ihrem System installiert oder Ihre <a href="$2">Modul Konfiguration</a> ist nicht korrekt.
error_version=Webmin konnte die Version Ihres Samba Servers nicht ermitteln <tt>$1</tt>. Pr&uuml;fen Sie bitte Ihre <a href="$2">Modul Konfiguration</a>, um sicherzustellen, dass der Pfad richtig eingetragen wurde.
error_config=Die Konfigurationsdatei $1 wurde nicht gefunden. H&ouml;chstwahrscheinlich ist Samba auf Ihrem System nicht installiert, oder Ihre <a href="$2">Modul Konfiguration</a> ist nicht korrekt.
error_include=Webmin cannot handle Samba config files that use the <tt>config</tt> or <tt>include</tt> directives.
error_include=Webmin kann Samba Konfigurationsdateien nicht bearbeiten, die <tt>config</tt> or <tt>include</tt> Eintr&auml;ge beinhalten.
error_delshare=L&ouml;schen der Dateifreigabe fehlgeschlagen
error_delcopy=Die Freigabe '$1' ist eine Kopie dieser Freigabe
error_savename=Speichern des Freigabenamens fehlgeschlagen

convert_title=Benutzer konvertieren
convert_msg=Dieses Formular erlaubt Ihnen, Unix und Samba Benutzer zu syncronisieren. Wenn Sie Samba so konfiguriert haben, dass <a href=$1>verschl&uuml;sselte Passw&ouml;rter</a> verwendet werden, verwaltet Samba seine Benutzer getrennt vom Betriebssystem.
convert_noconv=Diese Benutzer nicht konvertieren oder l&ouml;schen: 
convert_update=Vorhandene Samba Benutzer aus Unix Benutzern aktualisieren
convert_add=Neue Samba Benutzer aus Systembenutzern erstellen
convert_delete=Samba Benutzer l&ouml;schen, die keine Unix Benutzer sind 
convert_newuser=Passwort f&uuml;r neu erstellte Benutzer:
convert_nopasswd=Kein Passwort
convert_lock=Benutzer gesperrt
convert_passwd=Dieses Passwort benutzen
convert_convert=Benutzer konvertieren

misc_title=Erweiterte Einstellungen
misc_debug=Debug Level
misc_cachecall=<tt>getwd()</tt> Systemaufrufe zwischenspeichern?
misc_lockdir=Verzeichnis sperren
misc_log=Logdatei
misc_maxlog=Maximale Logdateigr&ouml;sse
misc_rawread=Direkte Lesezugriffe erlauben?
misc_rawwrite=Direkte Schreibzugriffe erlauben?
misc_overlapread=Gr&ouml;sse der &uuml;berlappenden Lesevorg&auml;nge
misc_chroot=<tt>chroot()</tt> Verzeichnis
misc_smbrun=Pfad zu <tt>smbrun</tt>
misc_clienttime=Zeitversatz (f&uuml;r Clients)
misc_readprediction=Vorausschauendes Lesen?

net_title=Unix Einstellungen
net_idle=Inaktivit&auml;t bis zum Verbindungsabbau
net_trustlist=Datei mit vertrauensw&uuml;rdigen Rechnern/Benutzern
net_netinterface=Netzwerkschnittstelle
net_auto=Automatisch
net_uselist=Verwende Liste...
net_interface=Schnittstelle
net_netmask=Netzwerkmaske
net_keepalive=Keepalive Pakete
net_notsend=Keine senden
net_every=Sende alle
net_maxpacket=Maximale Paketgr&ouml;sse
net_listen=Verwende Addresse
net_socket=Socket Optionen

passwd_title=Passwort Einstellungen
passwd_encrypt=Verschl&uuml;sselte Passw&ouml;rter verwenden?
passwd_allownull=Leere Passw&ouml;rter erlauben?
passwd_program=Programm zum &Auml;ndern des Passwortes
passwd_case=Gross/Kleinschreibung
passwd_chat=Aufforderung zur Passwort&auml;nderung
passwd_below=Unten aufgelistet:
passwd_waitfor=Warten auf
passwd_send=Senden
passwd_map=Umsetzung der Benutzernamen
passwd_unixuser=Unix Benutzer
passwd_winuser=Windows Benutzer

print_title=Drucker Einstellungen
print_style=Unix Druckverfahren
print_show=Alle Drucker freigeben?
print_printcap=Druckerdefinitionsdatei
print_cachetime=Druckerstatus zwischenspeichern

smb_title=Windows Einstellungen
smb_workgroup=Arbeitsgruppe
smb_wins=WINS Modus
smb_winsserver=WINS Server emulieren
smb_useserver=Benutze Server
smb_description=Serverbeschreibung
smb_name=Servername
smb_aliase=Weitere Servernamen
smb_default=Standardfreigabe
smb_show=Folgende Freigaben immer anzeigen
smb_disksize=Maximale Festplattengr&ouml;sse (aus Clientsicht)
smb_unlimited=Unbegrenzt
smb_winpopup=Winpopup Befehl
smb_priority=Master browser Priorit&auml;t
smb_protocol=Protokollevel
smb_master=Master Browser?
smb_security=Sicherheit
smb_sharelevel=Freigabeebene
smb_userlevel=Benutzerebene
smb_passwdserver=Password Server
smb_domain=Dom&auml;ne
smb_announce=Browselisten weitergeben an
smb_nowhere=Niemanden
smb_fromlist=Aus Liste...
smb_ip=IP Addresse
smb_asworkgroup=<b>Als Arbeitsgruppe</b> (optional)

create_title=Freigabe kopieren
create_msg=Eine Freigabekopie &uuml;bernimmt alle Standardeinstellungen der Vorlage. Wenn die Vorlage ge&auml;dert wird, &auml;ndert sich auch die Kopie. 
create_from=Zu kopierende Freigabe:
create_name=Neuer Freigabename:

smbuser_title=Samba Benutzer
smbuser_list=Samba Benutzerliste
smbuser_nouser=Keine Samba Benutzer angelegt

euser_title=Samba Benutzer bearbeiten
euser_name=Benutzername
euser_uid=Unix Benutzer ID
euser_passwd=Passwort
euser_noaccess=Kein Zugriff
euser_nopw=Kein Passwort
euser_currpw=Aktuelles Passwort
euser_newpw=Neues Passwort
euser_realname=Realname
euser_homedir=Home Verzeichnis
euser_shell=Benutzeroberfl&auml;che
euser_option=Benutzereinstellungen
euser_normal=Normaler Benutzer
euser_nopwrequired=Kein Passwort notwendig
euser_disable=Benutzer deaktiviert
euser_trust=Rechneraccount (Dom&auml;ne)

fmisc_title=Erweiterte Einstellungen
fmisc_for=F&uuml;r Freigabe <tt>$1</tt>
fmisc_lockfile=Dateisperren verwenden?
fmisc_maxconn=Maximale Verbindungen 
fmisc_fake=Dateisperrungen simulieren?
fmisc_sharemode=Freigabemodi verwenden?
fmisc_strict=Unbedingte Dateisperren verwenden?
fmisc_sync=Syncronisieren nach Schreibaktion?
fmisc_volume=Datentr&auml;gername
fmisc_sameas=Wie Freigabe
fmisc_unixdos=Unix-DOS Dateinamenumsetzung
fmisc_conncmd=Ausf&uuml;hren bei Verbindungsaufbau
fmisc_disconncmd=Ausf&uuml;hren bei Verbindungsabbau
fmisc_rootconn=Ausf&uuml;hren bei Verbindungsaufbau <i>als root</i>
fmisc_rootdisconn=Ausf&uuml;hren bei Verbindungsabbau <i>als root</i>

fname_title1=Dateinamenskonventionen
fname_title2=Dateinamensumsetzung bearbeiten
fname_option=Einstellungen f&uuml;r Dateinamenkonvertierung
fname_manglecase=Gross-/Kleinschreibung umsetzen?
fname_case=Gross-/Kleinschreibung?
fname_defaultcase=Standardschreibweise?
fname_lower=klein
fname_upper=gross
fname_preserve=Gross-/Kleinschreibung beibehalten?
fname_shortpreserve=Gross-/Kleinschreibung (8.3)?
fname_hide=Verstecke Dateien mit f&uuml;hrendem Punkt?
fname_archive=DOS Archivbit beibehalten?
fname_hidden=DOS Hiddenbit beibehalten?
fname_system=DOS Systembit beibehalten?

fperm_title1=Dateiberechtigungen
fperm_title2=Dateiberechtigungen bearbeiten
fperm_option=Einstellungen f&uuml;r Dateiberechtigungen
fperm_filemode=Unix Dateimodus
fperm_dirmode=Unix Verzeichnismodus
fperm_notlist=Nicht angezeigte Verzeichnisse
fperm_forceuser=Verwende UNIX Benutzer
fperm_forcegrp=Verwende UNIX Gruppe
fperm_link=Symbolischen Links folgen?
fperm_delro=Schreibgesch&uuml;tze Dateien l&ouml;schen?
fperm_forcefile=Unix Dateimodus erzwingen
fperm_forcedir=UNIX Verzeichnismodus erzwingen

share_title1=Freigaben
share_title2=Freigaben bearbeiten
share_title3=Freigabe erstellen
share_info=Freigabeimformationen 
share_copy=Diese Freigabe ist eine Kopie von <i>$1</i>
share_name=Freigabename
share_home=Homeverzeichnisfreigabe 
share_dir=Freigegebenes Verzeichnis
share_available=Verf&uuml;gbar?
share_browseable=Sichtbar (im Netz)?
share_comment=Freigabekommentar
share_view=Verbindungen anzeigen
share_option=Weitere Freigabeeinstellungen
share_security=Sicherheit und Zugriffskontrolle
share_permission=Dateiberechtigungen
share_naming=Dateinamen
share_misc=Erweiterte Einstellungen

print_title1=Druckereinstellungen (Vorgaben)
print_title2=Druckereinstellungen bearbeiten
print_option=Druckereinstellungen
print_minspace=Minimaler freier Plattenplatz
print_postscript=Postscriptdrucken erzwingen
print_command=Druckbefehl
print_queue=Spoolverzeichnis anzeigen
print_delete=Druckauftrag l&ouml;schen
print_pause=Druckauftrag anhalten
print_unresume=Druckauftrag fortsetzen
print_driver=Druckertreiber

pshare_title1=Druckereinstellungen (Vorgaben)
pshare_title2=Druckereinstellungen bearbeiten
pshare_title3=Druckerfreigabe erstellen
pshare_info=Druckerfreigabeinformation
pshare_name=Freigabename
pshare_all=Alle Druckerfreigaben
pshare_unixprn=Unix Drucker
pshare_spool=Spoolverzeichnis

sec_index1=Sicherheitseinstellungen
sec_index2=Sicherheitseinstellungen bearbeiten
sec_writable=Beschreibbar?
sec_guest=Gastzugang?
sec_guestonly=Nur Gastzugang
sec_guestaccount=Unix Gastbenutzer
sec_limit=Beschr&auml;nke auf anzeigen?
sec_allowhost=Berechtigte Rechner
sec_onlyallow=Erlaube nur
sec_denyhost=Nicht zugelassene Rechner
sec_onlydeny=Verweigere Zugriff nur
sec_revalidate=Benutzerauthentifizierung erneut durchf&uuml;hren?
sec_validuser=Berechtigte Benutzer
sec_validgroup=Berechtigte Gruppen
sec_invaliduser=Nicht berechtigte Benutzer
sec_invalidgroup=Nicht berechtigte Gruppen
sec_possibleuser=M&ouml;gliche Benutzer
sec_possiblegroup=M&ouml;gliche Gruppen
sec_rouser=Nur lesende Berechtigung (Benutzer)
sec_rogroup=Nur lesende Berechtigung (Gruppe)
sec_rwuser=Lese-/Schreibberechtigung (Benutzer)
sec_rwgroup=Lese-/Schreibberechtigung (Gruppe)

esync_title=Benutzer Synchronisation
esync_msg=Webmin kann so eingestellt werden, dass &Auml;nderungen von UNIX Benutzern automatisch auf Samba Benutzer angewendet werden. Das funktioiert jedoch nur, wenn das Webmin Modul <tt>Users and Groups</tt> verwendet wird, um Unix Benutzer zu erstellen, &auml;ndern oder zu l&ouml;schen.
esync_add=Erstelle einen Samba Benutzer, wenn ein Unix Benutzer erstellt wird
esync_chg=Modifiziere einen Samba Benutzer, wenn der entsprechende Unix Benutzer modifiziert wird
esync_del=L&ouml;sche einen Samba Benutzer, wenn der entsprechende Unix Benutzer gel&ouml;scht wird
esync_apply=&Uuml;bernehmen

mkpass_title=Benutzer konvertieren
mkpass_convfail=Benutzer konvertieren fehlgeschlagen
mkpass_msg=Konvertiere UNIX Benutzer ...
mkpass_skip=wird &uuml;bergangen
mkpass_same=ist bereits der Gleiche
mkpass_update=wird aktualisiert
mkpass_del=wird gel&ouml;scht
mkpass_passfail=Passwort setzen fehlgeschlagen

savecopy_fail=Erstellen der Kopie fehlgeschlagen
savecopy_global=Der Name 'global' kann nicht f&uuml;r eine Freigabe verwendet werden
savecopy_exist=Eine Freigabe namens '$1' existiert bereits

saveuser_fail=Benutzer anlegen fehlgeschagen
saveuser_uid='$1' ist keine g&uuml;ltige Unix Benutzer ID
saveuser_colon=Der Realname darf folgendes Zeichen nicht enthalten :
saveuser_home=Das Home Verzeichnis '$1' existiert nicht
saveuser_shell=$1 ist keine g&uuml;ltige Beutzeroberfl&auml;che 
saveuser_pass=&Auml;ndern des Passworts mit smbpasswd fehlgeschlagen : $1

savefmisc_fail=Fehler beim Speichern 'Erweiterter Einstellungen'
savefmisc_number='$1' ist keine g&uuml;ltige Anzahl Verbindungen

savefperm_fail=Fehler beim Speichern der Dateiberechtigungen
savefperm_mode='$1' ist kein g&uuml;ltiger UNIX Dateimodus 

savefshare_fail=Fehler beim Speichern der Freigabe
savefshare_nopath=Kein Pfad eingetragen
savefshare_exist=Eine Freigabe namens '$1' existiert bereits
savefshare_mode='$1' ist kein g&uuml;ltiger Freigabename 
savefshare_global=Der Name 'global' kann nicht f&uuml;r eine Freigabe verwendet werden

savemisc_fail=Fehler beim Speichern der Optionen
savemisc_lockdir=Das Verzeichnis, dass das Sperrverzeichnis enth&auml;lt, existiert nicht
savemisc_logdir=Das Verzeichnis, dass die Logdatei enth&auml;lt, existiert nicht
savemisc_logsize='$1' ist keine zul&auml;ssige Logdateigr&ouml;sse
savemisc_overlap='$1' ist kein zul&auml;ssiger Wert f&uuml;r &uuml;berlappendes Lesen
savemisc_chroot=Das chroot Verzeichnis '$1' existiert nicht
savemisc_smbrun=Das Programm smbrun '$1' existiert nicht oder ist nicht ausf&uunl;hrbar
savemisc_time='$1' ist kein zul&auml;ssiger Zeitversatz 

savenet_fail=Fehler beim Speichern der Optionen
savenet_timeout='$1' ist kein zul&auml;ssiger Wert f&uuml;r die Zeitspanne bis zum Verbindungsabbau
savenet_ip='$1' ist kein g&uuml;ltiger Bestandteil einer IP Addresse 
savenet_keep='$1' ist keine g&uuml;ltige 'keepalive' Zeitspanne
savenet_maxxmit='$1' ist keine g&uuml;ltige Paketgr&ouml;sse

savepass_fail=Fehler beim Speichern der Optionen
savepass_nopass=Ihre Version von Samba unterst&uuml;tzt keine verschl&uuml;sselten Passw&ouml;rter
savepass_passwd=Kein Programm zum &Auml;ndern der Passw&ouml;rter angegeben
savepass_level='$1' ist kein g&uuml;ltiger Wert f&uuml;r Gross-/Kleinschreibung bei Passw&ouml;rtern 
savepass_chat=Die Eintr&auml;ge f&uuml;r die Aufforderung zur Passwort&auml;nderung sind leer

savepopts_fail=Fehler beim Speichern der Druckereinstellungen
savepopts_number=Der minimal freie Speicherplatz muss eine Zahl sein

saveprint_fail=Fehler beim Speichern der Optionen
saveprint_printcap=Die Datei printcap '$1' existiert nicht
saveprint_cache='$1' ist keine g&uuml;ltige Zeitspanne f&uuml;r die Zwischenspeicherung 

savepshare_fail=Fehler beim Speichern der Druckerfreigabe
savepshare_exist=Die Freigabe '$1' existiert nicht
savepshare_name='$1' ist kein g&uuml;ltiger Freigabename
savepshare_global=Der Name 'global' kann nicht f&uuml;r eine Freigabe verwendet werden

savesec_fail=Fehler beim Speichern der Sicherheitseinstellungen

savesmb_fail=Fehler beim Speichern der Optionen
savesmb_size='$1' ist kein zul&auml;ssige Festplattengr&ouml;sse
savesmb_oslevel='$1' ist keine zul&auml;ssige Priorit&auml;t f&uuml;r den Master Browser Dienst 
savesmb_server=Sie m&uuml;ssen einen Passwort Server angeben

start_err=Fehler beim Starten des Samba Servers
start_fail=$1 fehlgeschlagen

swats_fail=Fehler beim Anlegen des Benutzers
swats_user=SWAT Benutzername fehlt

viewu_index=Angemeldete Benutzer
viewu_list=$1: Verbundene Benutzer
viewu_share=Freigabe
viewu_user=Benutzer
viewu_group=Gruppe
viewu_from=Von Rechner
viewu_time=Verbunden seit
viewu_pid=Prozess ID
viewu_msg1=Klicken Sie auf eine Prozess ID aus der Liste, um den Benutzer zu trennen.
viewu_msg2=Im Moment ist kein Benutzer angemeldet

log_apply=Restarted Samba servers
log_start=Started Samba servers
log_save_fshare=Modified file share $1
log_save_pshare=Modified printer share $1
log_save_sec=Modified security and access control for share $1
log_save_fperm=Modified file permissions for share $1
log_save_fname=Modified file naming for share $1
log_save_fmisc=Modified miscellaneous options for share $1
log_save_popts=Modified printer options for share $1
log_default_fshare=Changed file share defaults
log_default_pshare=Changed printer share defaults
log_kill=Disconnected process $1
log_skill=Disconnected process $1 from share $2
log_create_fshare=Created file share $1
log_create_pshare=Created printer share $1
log_delete_fshare=Deleted file share $1
log_delete_pshare=Deleted printer share $1
log_net=Changed Unix networking options
log_smb=Changed Windows networking options
log_pass=Changed authentication options
log_print=Changed Windows to Unix printing options
log_misc=Changed miscellaneous options
log_sync=Configured Unix user synchronisation
log_epass=Converted Unix users to Samba users
log_epass_l=Converted Unix users to Samba users ($1 created, $2 modified, $3 deleted)
log_copy=Copied share $2 to $1
log_save_euser=Modified Samba user $1
log_delete_euser=Deleted Samba user $1

swat_title=SWAT Login
swat_list=SWAT Login
swat_msg1=Der angegebene SWAT Benutzername und das Passwort sind nicht korrekt. Benutzen Sie die Eingabefelder, um sich erneut anzumelden.
swat_msg2=Ein Benutzername und ein Passwort sind erforderlich, um sich an SWAT anzumelden. Dazu k&ouml;nnen Sie normalerweise jedes Benutzerkonto des Systems verwenden.
swat_msg3=Sie k&ouml;nnen SWAT nicht aus Webmin heraus starten, da Ihre Samba Konfiguration folgende Option beinhaltet: <tt>$1:...</tt> (allow hosts)
swat_msg4=Unter Umst&auml;nden ist es m&ouml;glich, SWAT direkt mit folgender URI aufzurufen: $1
swat_username=Benutzername
swat_password=Passwort
swat_login=Login
swat_clear=L&ouml;schen

eacl_aviol=Zugriffsverletzung
eacl_np=Sie haben keine Berechtigung, 
eacl_papply=diesen Dienst neu zu starten
eacl_pcn=Unix Einstellungen bearbeiten
eacl_pcs=SMB Netzwerkeinstellungen bearbeiten
eacl_pcp=Passworteinstellungen bearbeiten
eacl_pcprint=Druckereinstellungen bearbeiten
eacl_pcm=Andere Einstellungen bearbeiten
eacl_pcswat=SWAT benutzen
eacl_pcopy=Freigaben kopieren
eacl_pconn_all=Alle Verbindungen anzeigen
eacl_pconn=Verbindungen zu dieser Freigabe anzeigen
eacl_pgkill=Verbindungen trennen
eacl_pkill=Diese Verbindung trennen
eacl_pus=Freigabe aktuallisieren
eacl_pcs=Freigabe erstellen
eacl_pds=Freigabe l&ouml;schen
eacl_pusec=Sicherheits- und Berechtigungseinstellungen f&uuml;r diese Freigabe aktualisieren
eacl_pufperm=Einstellungen f&uuml;r Dateizugriffsrechts f&uuml;r diese Freigabe aktualisieren
eacl_pufname=Einstellungen f&uuml;r Dateinamen f&uuml;r diese Freigabe aktualisiern
eacl_pufmisc=Erweiterte Einstellungen f&uuml;r diese Freigabe aktualisieren
eacl_pupopt=Druckereinstellungen f&uuml;r diese Freigabe aktualisieren
eacl_pmpass=SAMBA Benutzerdatenbank aktualisieren
eacl_pmsync=UNIX-SAMBA Benutzersynchronisation verwalten
eacl_pmusers=SAMBA Benutzer verwalten
eacl_pvusers=SAMBA Benutzer bearbeiten
eacl_pvfmisc=Erweiterte Einstellungen f&uuml;r diese Freigabe bearbeiten
eacl_pvfname=Dateinamenseinstellungen f&uuml;r diese Freigabe bearbeiten
eacl_pvperm=Einstellungen f&uuml;r Dateiberechtigungen f&uuml;r diese Freigabe bearbeiten
eacl_pvsec=Sicherheit und Zugriffsberechtigungen f&uuml;r diese Freigabe bearbeiten
eacl_pvpopt=Druckereinstellungen f&uuml;r diese Freigabe bearbeiten
eacl_pafs=Zugriff auf diese Dateifreigabe
eacl_paps=Zugriff auf diese Druckerfreigabe
eacl_pcps=Druckerfreigabe erstellen
eacl_pcfs=Dateifreigabe erstellen

acl_apply=Darf Ver&auml;nderungen durchf&uuml;hren?
acl_view_all_con=Darf Verbindungen anzeigen lassen?
acl_kill_con=Darf Verbindungen trennen?
acl_conf_net=Darf UNIX Einstellungen ver&auml;ndern?
acl_conf_smb=Darf Windows Einstellungen ver&auml;ndern?
acl_conf_pass=Darf Authentifizierungseinstellungen ver&auml;ndern?
acl_conf_print=Darf Druckereinstellungen ver&auml;ndern?
acl_conf_misc=Darf erweiterte Einstellungen ver&auml;ndern?
acl_swat=Darf SWAT verwenden?
acl_enc_passwd_opts=Einstellungen f&uuml;r verschl&uuml;sselte Passw&ouml;rter.
acl_view_users=Darf die SAMBA Benutzerdatenbank anzeigen lassen?
acl_maint_users=Darf SAMBA Benutzer bearbeiten?
acl_maint_makepass=Darf UNIX Benutzer in SAMBA Benutzer konvertieren?
acl_maint_sync=Darf die automatische UNIX/SAMBA Benutzersyncronisation pflegen?
acl_hide=Verstecke zugriffsgesch&uuml;tzte Objekte?
acl_c=Erstellen
acl_r=Lesen
acl_w=Schreiben
acl_afs=Zugriff auf Dateifreigaben
acl_aps=Zugriff auf Druckerfreigaben
acl_copy=Darf Freigaben kopieren?
acl_per_fs_acls=ACL's auf Dateifreigabeebene aktivieren?
acl_per_ps_acls=ACL's auf Druckerfreigabeebene aktivieren?
acl_per_share_acls=Freigabebezogene ACLs...
acl_ernow=Wenn Sie f&uuml;r bestimmte Objekte in den globalen ACL's Schreibrechte gew&auml;hren wollen, m&uuml;ssen Sie auch Leserechte f&uuml;r diesen Objekttyp aktivieren.
acl_sname=Freigabename
acl_saccess=Freigabezugriff
acl_sconn=Verbindungen
acl_sopthdr=Freigabeeinstellungen
acl_ssec=Sicherheit
acl_sperm=Berechtigungen
acl_snaming=Dateinamenskonventionen
acl_smisc=Erweitert
acl_sprn=oder Drucker
acl_na=nicht zugeordnet
acl_r1=nur Lesen
acl_rw=Lesen/Schreiben
acl_view=Anzeigen
acl_kill=Beenden
acl_edit=Bearbeiten
  0707010001fb28000081a40000000000000002000000013d1fe2bd0000460d000000200000000000000000000000000000001400000003reloc/samba/lang/en   index_title=Samba Share Manager
index_sharelist=share list
index_userlist=user list
index_fileshare=file share
index_printershare=printer share
index_shareconf=share configuration
index_version=Samba version $1

index_sharename=Share Name
index_path=Path
index_security=Security
index_homedir=All Home Directories
index_allprinter=All Printers
index_printer=Printer
index_defaultprn=Default printer
index_printableto=Printable to
index_prneveryone=Printable to everyone
index_prnalluser=Printable to all known users
index_rwpublic=Read/write to everyone
index_readonly=Read only to $1<br>Read/write to all other known users
index_rwalluser=Read/write to all known users
index_roeveryone=Read only to everyone
index_readwrite=Read/write to $1<br>Read only to all other known users
index_roalluser=Read only to all known users
index_noshares=No Samba shares defined
index_createfileshare=Create a new file share
index_createprnshare=Create a new printer share
index_createcopy=Create a new copy
index_view=View All Connections
index_start=Start Samba Servers
index_startmsg=The Samba servers do not appear to be running on your system. This means that the shares listed above will not be accessible to other computers.
index_restart=Restart Samba Servers
index_restartmsg=Click this button to restart the running Samba servers on your system. This will force the current configuration to be applied.
index_restartmsg2=This will also disconnect any connections to the server, so if you do not want the current configuration to be applied immediately you should just wait 1 minute until Samba reloads the configuration automatically.

config_mins=Mins
config_secs=Secs
config_bytes=Bytes
config_never=Never
config_all=All
config_neither=Neither

global_title=Global Configuration
global_unixnetwork=Unix Networking
global_winnetwork=Windows Networking
global_auth=Authentication
global_printing=Windows to Unix Printing
global_misc=Miscellaneous Options
global_filedefault=File Share Defaults
global_prndefault=Printer Share Defaults
global_password=Encrypted Passwords
global_edit=Edit Samba users and passwords
global_convert=Convert Unix users to Samba users
global_sync=Configure automatic Unix and Samba user synchronisation

error_nosamba=The Samba server executable <tt>$1</tt> was not found. Either Samba is not installed on your system or your <a href="$2">module configuration</a> is incorrect.
error_version=Webmin failed to get the version of your Samba server executable <tt>$1</tt>. Check your <a href="$2">module configuration</a> to make sure this is the correct path.
error_config=The configuration file $1 was not found. Most likely Samba is not installed on your system, or your <a href="$2">module configuration</a> is incorrect.
error_include=Webmin cannot handle Samba config files that use the <tt>config</tt> or <tt>include</tt> directives.
error_delshare=Failed to delete share
error_delcopy=The share '$1' copies from this share
error_savename=Failed to save file naming

convert_title=Convert Users
convert_msg=This form allows you to synchronize the Unix and Samba user list. When Samba is using <a href=$1>encrypted passwords</a>, a separate list of users and passwords is used instead of the system user list.
convert_noconv=Don't convert or remove these users:
convert_update=Update existing Samba users from their Unix details
convert_add=Add new Samba users from the Unix user list 
convert_delete=Delete Samba users who do not exist under Unix 
convert_newuser=For newly created users, set the password to:
convert_nopasswd=No password
convert_lock=Account locked
convert_passwd=Use this password
convert_convert=Convert Users

misc_title=Miscellaneous Options
misc_debug=Debug Level
misc_cachecall=Cache <tt>getwd()</tt> calls?
misc_lockdir=Lock directory
misc_log=Log file
misc_maxlog=Max log size
misc_rawread=Allow raw reads?
misc_rawwrite=Allow raw writes?
misc_overlapread=Overlapping read size
misc_chroot=<tt>chroot()</tt> directory
misc_smbrun=Path to <tt>smbrun</tt>
misc_clienttime=Client time offset
misc_readprediction=Read prediction?

net_title=Unix Networking Options
net_idle=Idle time before disconnect
net_trustlist=Trusted hosts/users file
net_netinterface=Network interfaces
net_auto=Automatic
net_uselist=Use list...
net_interface=Interface
net_netmask=Netmask
net_keepalive=Keepalive packets
net_notsend=Don't send any
net_every=Send every
net_maxpacket=Maximum packet size
net_listen=Listen on address
net_socket=Socket options

passwd_title=Password Options
passwd_encrypt=Use encrypted passwords?
passwd_allownull=Allow null passwords?
passwd_program=Password program
passwd_case=Password case difference
passwd_chat=Change password chat
passwd_below=Listed below:
passwd_waitfor=Wait for
passwd_send=Send
passwd_map=Username mapping
passwd_unixuser=Unix Users
passwd_winuser=Windows Users

print_title=Printing Options
print_style=Unix print style
print_show=Show all printers?
print_printcap=Printcap file
print_cachetime=Printer status cache time

smb_title=Windows Networking Options
smb_workgroup=Workgroup
smb_wins=WINS mode
smb_winsserver=Be WINS server
smb_useserver=Use server
smb_description=Server description
smb_name=Server name
smb_aliase=Server aliases
smb_default=Default service
smb_show=Always show services
smb_disksize=Max reported disk size
smb_unlimited=Unlimited
smb_winpopup=Winpopup command
smb_priority=Master browser priority
smb_protocol=Highest protocol
smb_master=Master browser?
smb_security=Security
smb_sharelevel=Share level
smb_userlevel=User level
smb_passwdserver=Password server
smb_domain=Domain
smb_announce=Remote announce to
smb_nowhere=Nowhere
smb_fromlist=From list...
smb_ip=IP Address
smb_asworkgroup=<b>As Workgroup</b> (optional)

create_title=Create Copy
create_msg=A copy share will inherit all its default values from the share you choose. If the source share is changed, so will the copy. 
create_from=Share to copy from:
create_name=New share name:

smbuser_title=Samba Users
smbuser_list=Samba User List
smbuser_nouser=No Samba users defined

euser_title=Edit Samba User
euser_name=Username
euser_uid=Unix UID
euser_passwd=Password
euser_noaccess=No access
euser_nopw=No password
euser_currpw=Current password
euser_newpw=New password
euser_realname=Real name
euser_homedir=Home directory
euser_shell=Shell
euser_option=User options
euser_normal=Normal user
euser_nopwrequired=No password required
euser_disable=Account disabled
euser_trust=Workstation trust account

fmisc_title=Miscellaneous File Defaults
fmisc_for=For share <tt>$1</tt>
fmisc_lockfile=Do file locking?
fmisc_maxconn=Max connections
fmisc_fake=Fake oplocks?
fmisc_sharemode=Use share modes?
fmisc_strict=Strict locking?
fmisc_sync=Sync after writes?
fmisc_volume=Volume name
fmisc_sameas=Same as share
fmisc_unixdos=Unix-DOS file name map
fmisc_conncmd=Command to run on connect
fmisc_disconncmd=Command to run on disconnect
fmisc_rootconn=Command to run on connect <i>as root</i>
fmisc_rootdisconn=Command to run on disconnect <i>as root</i>

fname_title1=File Naming Defaults
fname_title2=Edit File Naming
fname_option=File Naming Options
fname_manglecase=Mangle Case?
fname_case=Case Sensitive?
fname_defaultcase=Default Case?
fname_lower=Lower
fname_upper=Upper
fname_preserve=Preserve Case?
fname_shortpreserve=Short Preserve Case?
fname_hide=Hide dot files?
fname_archive=Save DOS archive flag?
fname_hidden=Save DOS hidden flag?
fname_system=Save DOS system flag?

fperm_title1=File Permissions Defaults
fperm_title2=Edit File Permissions
fperm_option=File Permission Options
fperm_filemode=New Unix file mode
fperm_dirmode=New Unix directory mode
fperm_notlist=Directories not to list
fperm_forceuser=Force Unix user
fperm_forcegrp=Force Unix group
fperm_link=Allow symlinks outside share?
fperm_delro=Can delete readonly files?
fperm_forcefile=Force Unix file mode
fperm_forcedir=Force Unix directory mode

share_title1=File Share Defaults
share_title2=Edit File Share
share_title3=Create File Share
share_info=Share Information
share_copy=This share is a copy of <i>$1</i>
share_name=Share name
share_home=Home Directories Share
share_dir=Directory to share
share_available=Available?
share_browseable=Browseable?
share_comment=Share Comment
share_view=View Connections
share_option=Other Share Options
share_security=Security and Access Control
share_permission=File Permissions
share_naming=File Naming
share_misc=Miscellaneous Options

print_title1=Printer Option Defaults
print_title2=Edit Printer Options
print_option=Printer Options
print_minspace=Minimum free space
print_postscript=Force postscript printing
print_command=Print command
print_queue=Display queue command
print_delete=Delete job command
print_pause=Pause job command
print_unresume=Unresume job command
print_driver=Printer Driver

pshare_title1=Printer Share Defaults
pshare_title2=Edit Printer Share
pshare_title3=Create Printer Share
pshare_info=Share Information
pshare_name=Share name
pshare_all=All Printers Share
pshare_unixprn=Unix Printer
pshare_spool=Spool directory

sec_index1=Security Defaults
sec_index2=Edit Security
sec_writable=Writable?
sec_guest=Guest Access?
sec_guestonly=Guest only
sec_guestaccount=Guest Unix user
sec_limit=Limit to possible list?
sec_allowhost=Hosts to allow
sec_onlyallow=Only allow
sec_denyhost=Hosts to deny
sec_onlydeny=Only deny
sec_revalidate=Revalidate users?
sec_validuser=Valid users
sec_validgroup=Valid groups
sec_invaliduser=Invalid users
sec_invalidgroup=Invalid groups
sec_possibleuser=Possible users
sec_possiblegroup=Possible groups
sec_rouser=Read only users
sec_rogroup=Read only groups
sec_rwuser=Read/write users
sec_rwgroup=Read/write groups

esync_title=User Synchronisation
esync_msg=Webmin can be configured so that changes to the Unix user list will automatically be applied to the Samba user list. This will only work when the <tt>Users and Groups</tt> Webmin module is used to add, delete or change users.
esync_add=Add a Samba user when a Unix user is added
esync_chg=Change the Samba user when a Unix user is changed
esync_del=Delete the Samba user when a Unix user is deleted
esync_apply=Apply

mkpass_title=Convert Users
mkpass_convfail=Failed to convert user
mkpass_msg=Converting Unix users...
mkpass_skip=being skipped
mkpass_same=is already the same
mkpass_update=being updated
mkpass_del=being deleted
mkpass_passfail=Failed to set password

savecopy_fail=Failed to create copy
savecopy_global=The name 'global' cannot be used for a share
savecopy_exist=A share called '$1' already exists

saveuser_fail=Failed to save user
saveuser_uid='$1' is not a valid Unix UID
saveuser_colon=Real name cannot contain the character :
saveuser_home=The home directory '$1' does not exist
saveuser_shell=$1 is not a valid shell
saveuser_pass=Failed to change password using smbpasswd : $1

savefmisc_fail=Failed to save miscellaneous options
savefmisc_number='$1' is not a valid number of connections

savefperm_fail=Failed to save file permissions
savefperm_mode='$1' is not a valid Unix file mode

savefshare_fail=Failed to save share
savefshare_nopath=No path given
savefshare_exist=A share called '$1' already exists
savefshare_mode='$1' is not a valid share name
savefshare_global=The name 'global' cannot be used for a share

savemisc_fail=Failed to save options
savemisc_lockdir=The directory containing the lock directory does not exist
savemisc_logdir=The directory containing the log file does not exist
savemisc_logsize='$1' is not a valid log size
savemisc_overlap='$1' is not a valid overlapping read size
savemisc_chroot=The chroot directory '$1' does not exist
savemisc_smbrun=The smbrun program '$1' does not exist or is not executable
savemisc_time='$1' is not a valid time offset

savenet_fail=Failed to save options
savenet_timeout='$1' is not a valid disconnect timeout
savenet_ip='$1' is not a valid IP byte
savenet_keep='$1' is not a valid keepalive interval
savenet_maxxmit='$1' is not a valid maximum packet size

savepass_fail=Failed to save options
savepass_nopass=Your version of Samba does not support encrypted passwords
savepass_passwd=No password changing program given
savepass_level='$1' is not a valid password case difference
savepass_chat=The change password chat sequence is empty

savepopts_fail=Failed to save printer options
savepopts_number=Minimum free space must be a number

saveprint_fail=Failed to save options
saveprint_printcap=The printcap file '$1' does not exist
saveprint_cache='$1' is not a valid cache time

savepshare_fail=Failed to save printer share
savepshare_exist=A share called '$1' already exists
savepshare_name='$1' is not a valid share name
savepshare_global=The name 'global' cannot be used for a share

savesec_fail=Failed to save security

savesmb_fail=Failed to save options
savesmb_size='$1' is not a valid disk size
savesmb_oslevel='$1' is not a valid master browser priority
savesmb_server=You must enter a password server

start_err=Failed to start Samba servers
start_fail=$1 failed

swats_fail=Failed to save username
swats_user=Missing SWAT username

viewu_index=Current Users
viewu_list=Current users of $1
viewu_share=Share
viewu_user=User
viewu_group=Group
viewu_from=Connected from
viewu_time=Connected at
viewu_pid=Process ID
viewu_msg1=Click on a process ID from the list above to disconnect that user.
viewu_msg2=There are no currently connected users
viewu_locks=Open files
viewu_none=None

log_apply=Restarted Samba servers
log_start=Started Samba servers
log_save_fshare=Modified file share $1
log_save_pshare=Modified printer share $1
log_save_sec=Modified security and access control for share $1
log_save_fperm=Modified file permissions for share $1
log_save_fname=Modified file naming for share $1
log_save_fmisc=Modified miscellaneous options for share $1
log_save_popts=Modified printer options for share $1
log_default_fshare=Changed file share defaults
log_default_pshare=Changed printer share defaults
log_kill=Disconnected process $1
log_skill=Disconnected process $1 from share $2
log_create_fshare=Created file share $1
log_create_pshare=Created printer share $1
log_delete_fshare=Deleted file share $1
log_delete_pshare=Deleted printer share $1
log_net=Changed Unix networking options
log_smb=Changed Windows networking options
log_pass=Changed authentication options
log_print=Changed Windows to Unix printing options
log_misc=Changed miscellaneous options
log_sync=Configured Unix user synchronisation
log_epass=Converted Unix users to Samba users
log_epass_l=Converted Unix users to Samba users ($1 created, $2 modified, $3 deleted)
log_copy=Copied share $2 to $1
log_save_euser=Modified Samba user $1
log_delete_euser=Deleted Samba user $1

swat_title=SWAT Login
swat_list=SWAT Login
swat_msg1=Your current SWAT username and password are incorrect. Use the form below to login again.
swat_msg2=A username and password are required to login to SWAT. This can normally be any user on your system.
swat_msg3=You cannot run SWAT through Webmin, as your Samba configuration has the <tt>$1:...</tt> (allow hosts) option set.
swat_msg4=However, you may be able to connect to SWAT directly at $1
swat_username=Username
swat_password=Password
swat_login=Login
swat_clear=Clear
swat_logout=Logout of SWAT

eacl_aviol=Access control violation
eacl_np=You have not permissions to
eacl_papply=restart this service
eacl_pcn=edit unix networking options
eacl_pcs=edit smb networking options
eacl_pcp=edit password options
eacl_pcprint=edit printing options
eacl_pcm=edit misc options
eacl_pcswat=use SWAT
eacl_pcopy=copy shares
eacl_pconn_all=view all connections
eacl_pconn=view connections for this share
eacl_pgkill=kill connections
eacl_pkill=kill this connection
eacl_pus=update share
eacl_pcrs=create share
eacl_pds=delete share
eacl_pusec=update security and access control options for this share
eacl_pufperm=update file permission options for this share
eacl_pufname=update file naming options for this share
eacl_pufmisc=update misc. options for this share
eacl_pupopt=update printer options for this share
eacl_pmpass=initialize SAMBA users database
eacl_pmsync=maintain UNIX-SAMBA users synchronization
eacl_pmusers=maintain SAMBA users
eacl_pvusers=access SAMBA users
eacl_pvfmisc=access misc. options for this share
eacl_pvfname=access file naming options for this share
eacl_pvperm=access file permission options for this share
eacl_pvsec=access security and access control options for this share
eacl_pvpopt=access printer options for this share
eacl_pafs=access this file share
eacl_paps=access this printer share
eacl_pcps=create printer share
eacl_pcfs=create file share

acl_apply=Can apply changes?
acl_view_all_con=Can view all connections?
acl_kill_con=Can remove connections?
acl_conf_net=Can configure UNIX network options?
acl_conf_smb=Can configure Windows network options?
acl_conf_pass=Can configure authentication options?
acl_conf_print=Can configure printers options?
acl_conf_misc=Can configure misc. options?
acl_swat=Can use SWAT?
acl_enc_passwd_opts=Encripted password options.
acl_view_users=Can view SAMBA users database?
acl_maint_users=Can edit SAMBA users?
acl_maint_makepass=Can convert UNIX users to SAMBA users?
acl_maint_sync=Can maintain auto UNIX to SAMBA users sync?
acl_hide=Hide inaccessible objects?
acl_c=create
acl_r=read
acl_w=write
acl_afs=Access file shares
acl_aps=Access print shares
acl_copy=Can copy shares?
acl_per_fs_acls=Enable per-file_share acls?
acl_per_ps_acls=Enable per-print_share acls?
acl_per_share_acls=Per-share ACLs...
acl_ernow=If you want to enable write access in global ACLs for some object type you must also enable read access for this object type.
acl_sname=Share name
acl_saccess=Access share
acl_sconn=Connections
acl_sopthdr=Share options
acl_ssec=security
acl_sperm=permissions
acl_snaming=file naming
acl_smisc=miscellanious
acl_sprn=or printer
acl_na=n/a
acl_r1=read only
acl_rw=read write
acl_view=view
acl_kill=kill
acl_edit=edit
   0707010001fb29000081a40000000000000002000000013d1fe2bd0000545b000000200000000000000000000000000000001400000003reloc/samba/lang/es   index_title=Gestor de Comparticiones Samba
index_sharelist=lista de comparticiones
index_userlist=lista de usuarios
index_fileshare=compartición de archivos
index_printershare=compartición de impresoras
index_shareconf=configuración de compartición

index_sharename=Nombre de Compartición
index_path=Trayectoria
index_security=Seguridad
index_homedir=Todos los Directorios de Inicio
index_allprinter=Todas las Impresoras
index_printer=Impresora
index_defaultprn=Impresora por defecto
index_printableto=Imprimible para
index_prneveryone=Imprimible para todo el mundo
index_prnalluser=Imprimible para todos los usuarios conocidos
index_rwpublic=Lectura/escritura para todo el mundo
index_readonly=Sólo lectura para $1<br>Lectura/escritura para todos los demás usuarios conocidos
index_rwalluser=Lectura/escritura para todos los usuarios conocidos
index_roeveryone=Sólo lectura para todo el mundo
index_readwrite=Lectura/escritura para $1<br>Sólo lectura para todos los demás usuarios conocidos
index_roalluser=Sólo lectura para todos los usuarios conocidos
index_noshares=No se han definido comparticiones de Samba
index_createfileshare=Crear una nueva compartición de archivo
index_createprnshare=Crear una nueva compartición de impresora
index_createcopy=Crear una nueva copia
index_view=Ver Todas las Conexiones
index_start=Arrancar Servidores Samba
index_startmsg=Los servidores samba no parece que estén siendo ejecutados en tu sistema. Esto quiere decir que las comparticiones listadas arriba no estarán accesibles a los demás ordenadores.
index_restart=Rearrancar Servidores Samba
index_restartmsg=Haz click en este botón para rearrancar los servidores samba en ejecución de tu sistema. Esto forzará que la actual configuración sea aplicada.

config_mins=Mins
config_secs=Segs
config_bytes=Octetos
config_never=Nunca
config_all=Todos(as)
config_neither=Ninguno(a)

global_title=Configuración Global
global_unixnetwork=Red de Unix
global_winnetwork=Red de Windows
global_auth=Autentificación
global_printing=Impresión de Windows a Unix
global_misc=Opciones Varias
global_filedefault=Valores por defecto de Compartición de Archivos
global_prndefault=Valores por defecto de Compartición de Impresoras
global_password=Claves de Acceso Encriptadas
global_edit=Editar usuarios de Samba y sus claves de acceso
global_convert=Convertir usuarios de Unix a usuarios de samba
global_sync=Configurar la sicronización automática de usuarios de Unix y Samba

error_nosamba=No se ha encontrado el ejecutable <tt>$1</tt> del servidor samba. O samba no está instalado en tu sistema o tu <a href="$2">configuración del módulo</a> is incorrecta.
error_version=Webmin no ha podido obtener la versión de tu ejecutable de servidor samba <tt>$1</tt>. Revisa tu <a href="$2">configuración del módulo</a> para asegurarte de que la trayectoria es la correcta.
error_config=No se ha encontrado el archivo de configuración $1. Los más seguro es que Samba no esté instalado en tu sistema o que la <a href="$2">configuración del módulo</a> sea incorrecta.
error_include=Webmin no puede manejar los archivos de configuración de samba que utilicen las directivas <tt>config</tt> o <tt>include</tt>.
error_delshare=No pude borrar la compartición
error_delcopy=La compartición '$1' se copia desde esta compartición
error_savename=No pude salvar cómo dar nombre a archivos

convert_title=Convertir Usuarios
convert_msg=Este formulario te permite sicronizar la lista de usuarios de Unix y Samba. Cuando Samba usa <a href=$1>claves de acceso encriptadas</a>, se usa una lista separada de usuarios y claves de acceso en vez de la lista de usuarios del sistema.
convert_noconv=No convertir o quitar estos usuarios:
convert_update=Actualizar los usuarios ya existentes en Samba a partir de sus detalles en Unix
convert_add=Añadir nuevos usuarios de Samba a  partir de la lista de usuarios de Unix
convert_delete=Borrar los usuarios de Samba que no existen en Unix
convert_newuser=Para los recién creados usuarios, poner la clave de acceso a:
convert_nopasswd=Sin clave de acceso
convert_lock=Cuenta bloqueada
convert_passwd=Usa esta clave de acceso
convert_convert=Convertir Usuarios

misc_title=Opciones Varias
misc_debug=Nivel de depuración
misc_cachecall=¿Caché de llamadas <tt>getwd()</tt>?
misc_lockdir=Directorio de bloqueo
misc_log=Archivo de historial
misc_maxlog=Máxima medida de historial
misc_rawread=¿Permito lecturas sin usar búfer?
misc_rawwrite=¿Permito escrituras sin usar búfer?
misc_overlapread=Medida de lectura solapada
misc_chroot=directorio de <tt>chroot()</tt>
misc_smbrun=Trayectoria a <tt>smbrun</tt>
misc_clienttime=Desplazamiento de hora del Cliente
misc_readprediction=¿Predicción de Lectura?

net_title=Opciones de Red de Unix
net_idle=Tiempo que transcurre antes de desconectar
net_trustlist=Archivo de usarios/máquinas fiables
net_netinterface=Interfaces de Red
net_auto=Automático(a)
net_uselist=Usar lista...
net_interface=Interfaz
net_netmask=Máscara de Red
net_keepalive=Paquetes a mantener vivos
net_notsend=No enviar ninguno
net_every=Enviar cada
net_maxpacket=Máxima medida de paquete
net_listen=Escuchar en dirección
net_socket=Opciones de Socket

passwd_title=Opciones de Clave de Acceso
passwd_encrypt=¿Uso claves de acceso encriptadas?
passwd_allownull=¿Permito claves de acceso nulas?
passwd_program=Programa de Claves de Acceso
passwd_case=Diferencio entre Mayúsculas/minúsculas en Clave de acceso
passwd_chat=Charla para cambiar la clave de acceso
passwd_below=Listado debajo:
passwd_waitfor=Esperar por
passwd_send=Enviar
passwd_map=Mapeo de Nombres de Usuario
passwd_unixuser=Usuarios de Unix
passwd_winuser=Usuarios de Windows

print_title=Opciones de Impresión
print_style=Estilo de impresión de Unix
print_show=¿Ver todas las impresoras?
print_printcap=Archivo printcap
print_cachetime=Tiempo de caché de estado de impresora

smb_title=Opciones de Red de Windows
smb_workgroup=Grupo de Trabajo
smb_wins=modo WINS
smb_winsserver=Ser un servidor WINS
smb_useserver=Usar servidor
smb_description=Descripción del servidor
smb_name=Nombre del servidor
smb_aliase=Aliases del Servidor
smb_default=Servicio por defecto
smb_show=Mostrar siempre los servicios
smb_disksize=Máxima medida reportada de disco
smb_unlimited=Ilimitada
smb_winpopup=Comando para Winpopup (Enviar mensaje)
smb_priority=Prioridad del hojeador maestro
smb_protocol=Protocolo mayor
smb_master=¿Hojeador maestro?
smb_security=Seguridad
smb_sharelevel=Nivel de Compartición
smb_userlevel=Nivel de Usuario
smb_passwdserver=Servidor de Claves de Acceso
smb_domain=Dominio
smb_announce=El remoto se anuncia a
smb_nowhere=Ninguno
smb_fromlist=Desde la lista...
smb_ip=Dirección IP
smb_asworkgroup=<b>Como Grupo de Trabajo</b> (opcional)

create_title=Crear Copia
create_msg=Una compartición copiada heredará todos sus valores por defecto de la compartición que se seleccione. Si se cambia la compartición emisora también lo hará la copia.
create_from=Compartición desde donde copiar:
create_name=Nuevo nombre de compartición:

smbuser_title=Usuarios de Samba
smbuser_list=Lista de Usuarios de Samba
smbuser_nouser=No se han definido usuarios de Samba

euser_title=Editar Usuario de Samba
euser_name=Nombre de usuario
euser_uid=UID de Unix
euser_passwd=Clave de Acceso
euser_noaccess=Sin acceso
euser_nopw=Sin clave de acceso
euser_currpw=Clave de acceso actual
euser_newpw=Nueva clave de acceso
euser_realname=Nombre real
euser_homedir=Directorio inicial
euser_shell=Shell
euser_option=Opciones de usario
euser_normal=Usuario normal
euser_nopwrequired=No se requiere clave de acceso
euser_disable=Cuenta desactivada
euser_trust=Cuenta fiable de estación de trabajo

fmisc_title=Valores varios por defecto de archivo
fmisc_for=Para compartición <tt>$1</tt>
fmisc_lockfile=¿Hago bloqueo de archivo?
fmisc_maxconn=Máx conexiones
fmisc_fake=¿Bloqueos oportunistas falsos?
fmisc_sharemode=¿Uso modos de compartición?
fmisc_strict=¿Bloqueo estricto?
fmisc_sync=¿Sincronizo tras escribir?
fmisc_volume=Nombre de volumen
fmisc_sameas=Igual que la compartición
fmisc_unixdos=Mapa de nombre de archivo de Unix a DOS
fmisc_conncmd=Comando a ejecutar al conectarse
fmisc_disconncmd=Comando a ejecutar al desconectarse
fmisc_rootconn=Comando a ejecutar al conectarser <i>como root</i>
fmisc_rootdisconn=Comando a ejecutar al desconectarse <i>como root</i>

fname_title1=Valores por defecto de Cómo dar Nombre a Archivos
fname_title2=Editar Cómo dar Nombre a Archivos
fname_option=Opciones de Cómo dar Nombre a Archivos
fname_manglecase=¿Ignorar Mayúsculas en nombres cortos?
fname_case=¿Sensible a Mayúsculas?
fname_defaultcase=¿Mayúsculas/Minúsculas por Defecto?
fname_lower=Minúsculas
fname_upper=Mayúsculas
fname_preserve=¿Preservo mayúsculas/minúsculas?
fname_shortpreserve=¿Preservo mayúsculas/minúsculas en nombres cortos?
fname_hide=¿Oculto archivos que empiezan por punto?
fname_archive=¿Salvo el atributo de archivo de DOS?
fname_hidden=¿Salvo el atributo de oculto de DOS?
fname_system=¿Salvo el atributo de sistema de DOS?

fperm_title1=Valores por Defecto de Permisos de Archivo
fperm_title2=Editar Permisos de Archivo
fperm_option=Opciones de Permisos de Archivo
fperm_filemode=Nuevo modo de Archivo de Unix
fperm_dirmode=Nuevo modo de Directorio de Unix
fperm_notlist=Directorios a no listar
fperm_forceuser=Forzar usuario de Unix
fperm_forcegrp=Forzar grupo de Unix
fperm_link=¿Permito enlaces simbólicos fuera de la compartición?
fperm_delro=¿Puedo borrar archivos de sólo lectura?
fperm_forcefile=Forzar modo de archivo de Unix
fperm_forcedir=Forzar modo de directorio de Unix

share_title1=Valores por defecto de Compartición de Archivos
share_title2=Editar Compartición de Archivo
share_title3=Crear Compartición de Archivo
share_info=Información de Compartición
share_copy=Esta compartición es una copia de <i>$1</i>
share_name=Nombre de Compartición
share_home=Compartición de Directorios de Inicio
share_dir=Directorio a compartir
share_available=¿Disponible?
share_browseable=¿Hojeable?
share_comment=Comentario de Compartición
share_view=Ver Conexiones
share_option=Otras opciones de Compartición
share_security=Control de Seguridad y Acceso
share_permission=Permisos de Archivo
share_naming=Cómo dar Nombre a Archivos
share_misc=Opciones varias

print_title1=Opciones por defecto de Impresora
print_title2=Editar Opciones de Impresora
print_option=Opciones de Impresora
print_minspace=Espacio mínimo libre
print_postscript=Forzar impresión postscript
print_command=Comando de Impresión
print_queue=Comando para ver la cola
print_delete=Comando para borrar tarea
print_pause=Comando para poner tarea en pausa
print_unresume=Comando para reiniciar tarea
print_driver=Controlador de Impresora

pshare_title1=Valores por defecto de Impresora
pshare_title2=Editar Compartición de Impresora
pshare_title3=Crear Compartición de Impresora
pshare_info=Información de Compartición
pshare_name=Nombre de Compartición
pshare_all=Compartición de Todas las Impresoras
pshare_unixprn=Impresora de Unix
pshare_spool=Directorio de Spool

sec_index1=Valores por defecto de Seguridad
sec_index2=Editar Seguridad
sec_writable=¿Se puede escribir?
sec_guest=¿Acceso de Invitado?
sec_guestonly=Sólo invitado
sec_guestaccount=Usuario invitado de Unix
sec_limit=¿Limito a lista de posibles?
sec_allowhost=Máquinas a autorizar
sec_onlyallow=Sólo permitir:
sec_denyhost=Máquinas a denegar
sec_onlydeny=Sólo denegar:
sec_revalidate=¿Revalidar usuarios?
sec_validuser=Usuarios válidos
sec_validgroup=Grupos válidos
sec_invaliduser=Usuarios inválidos
sec_invalidgroup=Grupos inválidos
sec_possibleuser=Usuarios posibles
sec_possiblegroup=Grupos posibles
sec_rouser=Usuarios de sólo lectura
sec_rogroup=Grupos de sólo lectura
sec_rwuser=Usuarios de lectura/escritura
sec_rwgroup=Grupos de lectura/escritura

esync_title=Sincronización de Usuario
esync_msg=Se puede configurar Webmin de tal manera que los cambios en la lista de usuarios de Unix sean automáticamente aplicados a la lista de usuarios de Samba. Esto sólo funcionará cuando el módulo de Webmin de <tt>Usuarios y Grupos</tt> sea utilizado para añadir, borrar y cambiar usuarios.
esync_add=Añadir usuario de Samba al crear un usuario de Unix
esync_chg=Cambiar el usuario de Samba cuando se cambie el de Unix
esync_del=Borrar el usuario de Samba al borrar el de Unix
esync_apply=Aplicar

mkpass_title=Convertir Usuarios
mkpass_convfail=No pude convertir usuario
mkpass_msg=Convirtiendo usuarios de Unix...
mkpass_skip=siendo saltado
mkpass_same=ya es el mismo
mkpass_update=siendo actualizado
mkpass_del=siendo borrado
mkpass_passfail=No pude poner la clave de acceso

savecopy_fail=No pude crear la copia
savecopy_global=No se puede utilizar el nombre 'global' para una compartición
savecopy_exist=Ya existe una compartición llamada '$1'

saveuser_fail="No pude salvar el usuario"
saveuser_uid="'$1' no es una UID válida de Unix"
saveuser_colon=El nombre real no puede contener el carácter:
saveuser_home=No existe el directorio inicial '$1'
saveuser_shell=$1 no es un shell válido
saveuser_pass=No pude cambiar la clave de acceso mediante smbpasswd : $1

savefmisc_fail=No pude salvar las opciones varias
savefmisc_number='$1' no es un número válido de conexiones

savefperm_fail=No pude salvar permisos de archivo
savefperm_mode='$1' no es un nombre válido de archivo Unix

savefshare_fail=No pude salvar compartición
savefshare_nopath=No se ha digitado la trayectoria
savefshare_exist=Ya existe una compartición llamada '$1'
savefshare_mode="'$1' no es un nombre válido de compartición
savefshare_global="No se puede usar el nombre 'global' para una compartición

savemisc_fail=No pude salvar las opciones
savemisc_lockdir=No existe el directorio especificado en el Directorio de Bloqueo
savemisc_logdir=No existe el directorio especificado en el Directorio de Historial
savemisc_logsize='$1' no es una medida válida de historial
savemisc_overlap='$1' no es una medida válida de solapamiento de lectura
savemisc_chroot=No existe el directorio de chroot '$1'
savemisc_smbrun=El programa smbrun '$1' no existe o no es ejecutable
savemisc_time='$1' no es un desplazamiento de tiempo válido

savenetfail=No pude salvar las opciones
savenettimeout='$1' no es un tiempo válido de desconexión
savenet_ip='$1' no es un byte de IP válido
savenet_keep='$1' no es un intervalo válido de manterner_vivo
savenet_maxxmit='$1' no es una medida válida de paquete máximo

savepass_fail=No pude salvar las opciones
savepass_nopass=Tu versión de samba no soporta claves de acceso encriptadas
savepass_passwd=No se ha digitado programa para el cambio de claves de acceso
savepass_level='$1' no es una diferencia válida entre mayúsculas/minúsculas para claves de acceso
savepass_chat=La secuencia de charla para cambio de clave de acceso está vacía

savepopts_fail=No pude salvar opciones de impresora
savepopts_number=El espacio mínimo libre debe de ser un número

saveprint_fail=No pude salvar las opciones
saveprint_printcap=No existe el archivo de printcap '$1'
saveprint_cache='$1' no es un tiempo válido de caché

savepshare_fail=No puede salvar compartición de impresora
savepshare_exist=Ya existe una compartición llamada '$1'
savepshare_name='$1' no es un nombre válido de compartición
savepshare_global=No se puede usar el nombre 'global' para una compartición

savesec_fail=No pude salvar la seguridad

savesmb_fail=No pude salvar las opciones
savesmb_size='$1' no es una medida de disco válida
savesmb_oslevel='$1' no es una prioridad válida de hojeador maestro
savesmb_server=Debes de digitar un servidor de claves de acceso

start_err=No pude arrancar los servidores samba
start_fail=$1 falló

swats_fail=No pude salvar el nombre de usuario
swats_user=Nombre de usuario de SWAT sin poner

viewu_index=Usuarios en curso
viewu_list=Usuarios en curso de <i>$1</i>
viewu_share=Compartición
viewu_user=Usuario
viewu_group=Grupo
viewu_from=Conectado desde
viewu_time=Conectado a las
viewu_pid=ID del proceso
viewu_msg1=Haz click en una ID de proceso de la lista superior para desconectar al usuario.
viewu_msg2=En este momento no hay usuarios conectados

log_apply=Servidores Samba rearrancados
log_start=Arrancados servidores Samba
log_save_fshare=Modificada compartición de archivo $1
log_save_pshare=Modificada comprtición de impresora $1
log_save_sec=Modificada seguridad y control de acceso para compartición $1
log_save_fperm=Modificados permisos de archivo para compartición $1
log_save_fname=Modificado nombrado de archivos para compartición $1
log_save_fmisc=Modificadas opciones varias para compartición $1
log_save_popts=Modificadas opciones de impresora para compartición $1
log_default_fshare=Cambiados valores por defecto de compartición de archivo
log_default_pshare=Cambiados valores por defecto de compartición de impresora
log_kill=Proceso $1 desconectado
log_skill=Desconectado proceso $1 desde compartición $2
log_create_fshare=Creada compartición de archivo $1
log_create_pshare=Creada compartición de impresora $1
log_delete_fshare=Borrada compartición de archivo $1
log_delete_pshare=Borrada comartición de impresora $1
log_net=Cambiadas opciones de red de Unix
log_smb=Cambiadas opciones de red de Windows
log_pass=Cambiadas opciones de autenticación
log_print=Cambiadas opciones de impresi de Windows a Unix
log_misc=Cambiadas opciones varias
log_sync=Configurada sincronización de usuario de Unix
log_epass=Convertidos usuarios Unix a Samba
log_epass_l=Convertidos usuarios Unix a usuarios Samba ($1 creados, $2 modificados, $3 borrados)
log_copy=Copiada compartición $2 a $1
log_save_euser=Modificado usuario Samba $1
log_delete_euser=Borrado usuario Samba $1

swat_title=Hacer login a SWAT
swat_list=Hacer login a SWAT
swat_msg1=Tu nombre de usuario y clave de acceso a SWAT son incorrectos. Usa el formulario inferior para hacer login de nuevo.
swat_msg2=Es necesario que digites un nombre de usuario y clave de acceso para hacer login a SWAT. Puede ser cualquier usuario de tu sistema.
swat_msg3=No puedes ejecutar SWAT desde Webmin ya que tu configuración de Samba tiene la opción <tt>$1:...</tt> (permitir máquinas) puesta.
swat_msg4=Sin embargo, puedes conectar a SWAT directamente en $1
swat_username=Nombre de usuario
swat_password=Clave de Acceso
swat_login=Hacer login
swat_clear=Limpiar
swat_logout=Salir de SWAT

eacl_aviol=Violción de control de acceso
eacl_np=No tienes permisos
eacl_papply=rearrancar este servicio
eacl_pcn=editar opciones de red de Unix
eacl_pcs=editar opciones de red de Smb
eacl_pcp=editar opciones de clave de acceso
eacl_pcprint=editar opciones de impresión
eacl_pcm=editar opciones varias
eacl_pcswat=usar SWAT
eacl_pcopy=copiar comparticiones
eacl_pconn_all=Ver todas las conexiones
eacl_pconn=ver conexiones para esta compartición
eacl_pgkill=matar conexiones
eacl_pkill=matar esta conexión
eacl_pus=actualizar compartición
eacl_pcrs=crear compartición
eacl_pds=borrar compartición
eacl_pusec=actualizar opciones de seguridad y control de acceso para esta compartición
eacl_pufperm=actualizar opciones de permisos de archivo para esta compartición
eacl_pufname=actualizar opciones de nombrado de archivos para esta compartición
eacl_pufmisc=actualizar opciones varias para esta compartición
eacl_pupopt=actualizar opciones de impresora para esta compartición
eacl_pmpass=inicializar base de datos de usuarios de SAMBA
eacl_pmsync=manener sincronización de usuarios de UNIX-SAMBA
eacl_pmusers=mantener usuarios de SAMBA
eacl_pvusers=acceder a usuarios de SAMBA
eacl_pvfmisc=acceder a opciones varias para esta compartición
eacl_pvfname=acceder a opciones de nombrado de archivos para esta compartición
eacl_pvperm=acceder a opcionesde permisos de archivo para esta compartición
eacl_pvsec=acceder a opciones de seguridad y control de acceso para esta compartición
eacl_pvpopt=acceder a opciones de impresora para esta compartición
eacl_pafs=acceder a esta compartición de archivos
eacl_paps=acceder a este compartición de impresora
eacl_pcps=crear compartición de impresora
eacl_pcfs=crear compartición de archivos

acl_apply=¿Puedo aplicar los cambios?
acl_view_all_con=¿Puedo ver todas las conexiones?
acl_kill_con=¿Puedo quietar las conexiones?
acl_conf_net=¿Puedo configurar opciones de red Unix?
acl_conf_smb=¿Puedo configurar opciones de red Windows?
acl_conf_pass=¿Puedo configurar opciones de autenticación?
acl_conf_print=¿Puedo configurar opciones de impresoras?
acl_conf_misc=¿Puedo configurar opciones varias?
acl_swat=¿Puedo usar SWAT?
acl_enc_passwd_opts=Opciones de clave de acceso encriptada.
acl_view_users=¿Puedo ver base de datos de usuarios SAMBA?
acl_maint_users=¿Puedo editar usuarios de SAMBA?
acl_maint_makepass=¿Puedo convertir usuarios de UNIX a usuarios de SAMBA?
acl_maint_sync=¿Puedo mantener sincronización automática de usuarios de UNIX a SAMBA?
acl_hide=¿Oculto objetos inaccesibles?
acl_c=crear
acl_r=leer
acl_w=grabar
acl_afs=Acceso a compartición de archivos
acl_aps=Acceso a compartición de impresoras
acl_copy=¿Puedo copiar comparticiones?
acl_per_fs_acls=¿Activo acls por-archivo_compartido?
acl_per_ps_acls=¿Activo acls por-impresora_compartida?
acl_per_share_acls=ACLs por-compartición...
acl_ernow=Si deseas activar acceso de escritura en ACLs globales para algún tipo de objeto debes de activar también acceso de lectura para este tipo de objeto.
acl_sname=Nombre de compartición
acl_saccess=Compartición de acceso
acl_sconn=Conexiones
acl_sopthdr=Opciones de compartición
acl_ssec=seguridad
acl_sperm=permisos
acl_snaming=nombrado de archivos
acl_smisc=varios
acl_sprn=o impresora
acl_na=n/a
acl_r1=sólo lectura
acl_rw=lectura escritura
acl_view=ver
acl_kill=matar
acl_edit=editar
 0707010001fb2a000081a40000000000000002000000013d1fe2bd00005665000000200000000000000000000000000000001400000003reloc/samba/lang/fr   index_title=Gestionnaire de ressources Samba
index_sharelist=liste de ressources
index_userlist=liste d'utilisateurs
index_fileshare=répertoires partagés
index_printershare=imprimantes partagées
index_shareconf=configuration des ressources

index_sharename=Nom de ressource
index_path=Chemin
index_security=Sécurité
index_homedir=Tous les répertoires utilisateurs (homes)
index_allprinter=Toutes les imprimantes
index_printer=Imprimante
index_defaultprn=Imprimante par défaut
index_printableto=Utilisable par
index_prneveryone=Utilisable par tous
index_prnalluser=Utilisable par tous les utilisateurs connus
index_rwpublic=Lecture/écriture pour tous
index_readonly=Lecture seule pour $1<br>Lecture/écriture pour tous les autres utilisateurs connus
index_rwalluser=Lecture/écriture pour tous les utilisateurs connus
index_roeveryone=Lecture seule pour tous
index_readwrite=Lecture/écriture pour $1<br>Lecture seule pour tous les autres utilisateurs
index_roalluser=Lecture seule pour tous les utilisateurs connus
index_noshares=Aucune ressource Samba définie
index_createfileshare=Créer un nouveau répertoire partagé
index_createprnshare=Créer une nouvelle imprimante partagée
index_createcopy=Créer une nouvelle copie
index_view=Voir toutes les connections
index_start=Démarrer les serveurs Samba
index_startmsg=Les serveurs Samba ne semblent pas en fonctionnement sur votre système. Cela signifie que les ressources listées ci-dessus ne seront pas accessibles aux autres oridinateurs.
index_restart=Redémarrer les serveurs Samba
index_restartmsg=Cliquer ce bouton pour redémarrer les serveurs Samba en fonctionnement sur votre système. Ceci entrainera l'utilisation de la configuration actuelle.

config_mins=Minutes
config_secs=Secondes
config_bytes=Octets
config_never=Jamais
config_all=Toutes
config_neither=Ni l'un ni l'autre

global_title=Configuration Globale
global_unixnetwork=Réseau Unix
global_winnetwork=Réseau Windows
global_auth=Authentification
global_printing=Impression de Windows vers Unix
global_misc=Options Diverses
global_filedefault=Réglages par défaut des répertoires partagés
global_prndefault=Réglages par défaut des Imprimantes partagées
global_password=Mots de passe chiffrés
global_edit=Editer les utilisateurs et les mots de passe Samba
global_convert=Convertir les utilisateurs Unix vers des utilisateurs Samba
global_sync=Configurer la synchronisation automatique d'Unix et de Samba

error_nosamba=L'éxecutable du serveur Samba <tt>$1</tt> est introuvable. Soit Samba n'est pas installé sur votre système ou soit votre <a href="$2">configuration du module</a> est incorrecte.
error_version=Webmin n'a pas réussi à obtenir la version de votre éxecutable du serveur Samba <tt>$1</tt>. Vérifiez votre <a href="$2">configuration du module</a>pour être sur que c'est le chemin exact.
error_config=Le fichier de configuration $1 n'a pas été trouvé. Probablement que Samba n'est pas installé sur votre système, ou que votre <a href="$2">configuration du module</a> n'est pas correcte.
error_include=Webmin ne peut pas manipuler les fichiers de configuration Samba utilisant les directives <tt>config</tt> ou <tt>include</tt>.
error_delshare=Echec de la suppression de ressource
error_delcopy=La ressource '$1' copie depuis cette ressource
error_savename=Echec de la sauvegarde du nommage de fichier

convert_title=Convertir des utilisateurs
convert_msg=Ce formulaire vous permet de synchroniser la liste des utilisateurs Unix et Samba. Quand Samba utilise des <a href=$1>mots de passe chiffrés</a>, une liste séparée d'utilisateurs et de mots de passe est utilisée au lieu de la liste d'utilisateurs système.
convert_noconv=Ne pas convertir ou enlever ces utilisateurs:
convert_update=Mettre à jour les utilisateurs Samba existants à partir de leurs données Unix
convert_add=Ajouter de nouveau utilisateurs Samba à partir de la liste d'utilisateurs Unix
convert_delete=Effacer les utilisateurs Samba qui n'existent pas sous Unix
convert_newuser=Mot de passe à assigner aux nouveaux utilisateurs:
convert_nopasswd=Pas de mot de passe
convert_lock=Compte verrouillé
convert_passwd=Utiliser ce mot de passe
convert_convert=Convertir les utilisateurs

misc_title=Options Diverses
misc_debug=Niveau de debug
misc_cachecall=Cacher les appels à <tt>getwd()</tt> ?
misc_lockdir=Répertoire verrou
misc_log=Fichier de journalisation
misc_maxlog=Taille maximale du journal
misc_rawread=Permettre les lectures directes ?
misc_rawwrite=Permettre les écritures directes ?
misc_overlapread=Taille des lectures superposées
misc_chroot=Répertoire <tt>chroot()</tt>
misc_smbrun=Chemin de <tt>smbrun</tt>
misc_clienttime=Décalage de temps du client
misc_readprediction=Prédiction de lecture ?

net_title=Options réseau Unix
net_idle=Délai d'attente avant déconnection
net_trustlist=Fichier des machines/utilisateurs de confiance
net_netinterface=Interfaces réseau
net_auto=Automatique
net_uselist=Utiliser liste...
net_interface=Interface
net_netmask=Masque de réseau
net_keepalive=Paquets keepalive
net_notsend=N'en envoyer aucun
net_every=Envoyer toutes les
net_maxpacket=Taille maximale de paquet
net_listen=Ecouter sur l'adresse
net_socket=Options de la socket

passwd_title=Options des mots de passe
passwd_encrypt=Utiliser des mots de passe chiffrés ?
passwd_allownull=Permettre des mots de passe vides ?
passwd_program=Programme de changement de mot de passe
passwd_case=Différence de casse des mots de passe
passwd_chat=Dialogue de changement de mot de passe
passwd_below=Listé ci-dessous:
passwd_waitfor=Attendre
passwd_send=Envoyer
passwd_map=Correspondance des noms d'utilisateurs
passwd_unixuser=Utilisateurs Unix
passwd_winuser=Utilisateurs Windows

print_title=Options d'impression
print_style=Style d'impression Unix
print_show=Montrer toutes les imprimantes ?
print_printcap=Fichier printcap
print_cachetime=Délai d'expiration du cache de statut

smb_title=Options réseau Windows
smb_workgroup=Groupe de travail
smb_wins=Mode WINS
smb_winsserver=Etre serveur WINS
smb_useserver=Utiliser serveur
smb_description=Description du serveur
smb_name=Nom du serveur
smb_aliase=Autres noms du serveur
smb_default=Service par défaut
smb_show=Toujours montrer les services
smb_disksize=Taille de disque maximale annoncée
smb_unlimited=Illimitée
smb_winpopup=Commande Winpopup
smb_priority=Priorité navigateur maître
smb_protocol=Protocole le plus haut
smb_master=Navigateur maître ?
smb_security=Sécurité
smb_sharelevel=Niveau ressource
smb_userlevel=Niveau Utilisateur
smb_passwdserver=Serveur de mots de passe
smb_domain=Domaine
smb_announce=Annonce distante à
smb_nowhere=Personne
smb_fromlist=Liste ...
smb_ip=Adresse IP
smb_asworkgroup=<b>Comme groupe de travail</b> (optionnel)

create_title=Créer copie
create_msg=Une ressource copiée héritera ses valeurs par défaut de la ressource choisie. Si la ressource d'origine est modifiée, la copie le sera aussi. 
create_from=Ressource d'origine:
create_name=Nom de la nouvelle ressource:

smbuser_title=Utilisateurs Samba
smbuser_list=Liste d'utilisateurs Samba
smbuser_nouser=Aucun utilisateur Samba défini

euser_title=Editer utilisateur Samba
euser_name=Nom d'utilisateur
euser_uid=UID Unix
euser_passwd=Mot de passe
euser_noaccess=Pas d'accès
euser_nopw=Pas de mot de passe
euser_currpw=Mot de passe actuel
euser_newpw=Nouveau mot de passe
euser_realname=Vrai nom
euser_homedir=Répertoire utilisateur
euser_shell=Shell
euser_option=Options utilisateur
euser_normal=Utilisateur normal
euser_nopwrequired=Aucun mot de passe requis
euser_disable=Compte désactivé
euser_trust=Compte de confiance de la station de travail

fmisc_title=Réglages par défaut divers pour les fichiers
fmisc_for=Pour la ressource <tt>$1</tt>
fmisc_lockfile=Verrouiller les fichiers ?
fmisc_maxconn=Connections maximum
fmisc_fake=Faux verrous opportunistes (oplocks) ?
fmisc_sharemode=Utiliser modes de partage ?
fmisc_strict=Verrouillage strict ?
fmisc_sync=Synchroniser après écritures?
fmisc_volume=Nom de volume
fmisc_sameas=Identique à répertoire partagé
fmisc_unixdos=Nom du fichier de correspondance Unix-DOS
fmisc_conncmd=Commande à lancer à la connection
fmisc_disconncmd=Commande à lancer à la déconnection
fmisc_rootconn=Commande à lancer à la connection en tant que <i>as root</i>
fmisc_rootdisconn=Commande à lancer à la déconnection en tant que <i>as root</i>

fname_title1=Réglages par défaut du nommage des fichiers
fname_title2=Editer le nommage des fichiers
fname_option=Options de nommage des fichiers
fname_manglecase=Supprimer caractères ?
fname_case=Sensible à la casse ?
fname_defaultcase=Casse par défaut ?
fname_lower=Minuscules
fname_upper=Majuscules
fname_preserve=Préserver la casse ?
fname_shortpreserve=Préserver la casse des noms courts (8.3) ?
fname_hide=Cacher les fichiers dont le nom commence par un point ?
fname_archive=Sauver le drapeau DOS "archive" ?
fname_hidden=Sauver le drapeau DOS "caché" ?
fname_system=Sauver le drapeau DOS "système" ?

fperm_title1=Réglages par défaut des permissions de fichiers
fperm_title2=Editer les permissions des fichiers
fperm_option=Options de permission des fichiers
fperm_filemode=Nouveau mode UNIX pour les fichiers
fperm_dirmode=Nouveau mode UNIX pour les répertoires
fperm_notlist=Répertoires à ne pas lister
fperm_forceuser=Forcer utilisateur Unix
fperm_forcegrp=Forcer groupe Unix
fperm_link=Permettre les liens symboliques en dehors du répertoire partagé ?
fperm_delro=Peut effacer les fichiers en lecture seule ?
fperm_forcefile=Forcer le mode Unix pour les fichiers
fperm_forcedir=Forcer le mode Unix pour les répertoires

share_title1=Réglages par défaut des répertoires partagés
share_title2=Editer répertoire partagé
share_title3=Créer répertoire partagé
share_info=Information de partage
share_copy=Ce répertoire partagé est une copie de <i>$1</i>
share_name=Nom de partage
share_home=Répertoires utilisateurs
share_dir=Répertoire à partager
share_available=Disponible ?
share_browseable=Navigable ?
share_comment=Commentaire
share_view=Voir Connections
share_option=Autres Options
share_security=Sécurité et Contrôle d'Accès
share_permission=Permissions des Fichiers
share_naming=Nommage des Fichiers
share_misc=Options Diverses

print_title1=Réglages par défaut pour les imprimantes
print_title2=Editer les options des imprimantes
print_option=Options des Imprimantes
print_minspace=Espace libre minimal
print_postscript=Forcer impression postscript
print_command=Commande d'impression
print_queue=Commande d'affichage de la file d'attente
print_delete=Commande d'effacement de job
print_pause=Commande de pause de job
print_unresume=Commande d'annulation de job en pause
print_driver=Pilote d'impression

pshare_title1=Réglages par défaut des imprimantes partagées
pshare_title2=Editer imprimante partagée
pshare_title3=Créer imprimante partagée
pshare_info=Informations sur l'imprimante partagée
pshare_name=Nom de partage
pshare_all=Toutes les imprimantes
pshare_unixprn=Imprimante Unix
pshare_spool=Répertoire de spool

sec_index1=Réglages par défaut de la sécurité
sec_index2=Editer sécurité
sec_writable=En écriture ?
sec_guest=Accès invité ?
sec_guestonly=Invité seulement
sec_guestaccount=Utilisateur Unix invité
sec_limit=Limiter à liste possible ?
sec_allowhost=Machines autorisées
sec_onlyallow=Autoriser seulement
sec_denyhost=Machines refusées
sec_onlydeny=Refuser seulement
sec_revalidate=Revalider utilisateurs ?
sec_validuser=Utilisateurs valides
sec_validgroup=Groupes valides
sec_invaliduser=Utilisateurs invalides
sec_invalidgroup=Groupes invalides
sec_possibleuser=Utilisateurs possibles
sec_possiblegroup=Groupes possibles
sec_rouser=Utilisateurs en lecture seule
sec_rogroup=Groupes en lecture seule
sec_rwuser=Utilisateurs en lecture/écriture
sec_rwgroup=Groupes en lecture/écriture

esync_title=Synchronisation Utilisateur
esync_msg=Webmin peut être configuré de telle sorte que la liste d'utilisateurs Unix sera automatiquement utilisée pour la liste d'utilisateurs Samba. Ceci ne marchera que si le module Webmin <tt>Utilisateurs et Groupes</tt> est utilisé pour ajouter, effacer ou modifier des utilisateurs Unix.
esync_add=Ajouter un utilisateur Samba quand un utilisateur Unix est ajouté
esync_chg=Modifier l'utilisateur Samba quand un utilisateur Unix est modifié
esync_del=Effacer l'utilisateur Samba quand un utilisateur Unix est effacé
esync_apply=Appliquer

mkpass_title=Convertir des utilisateurs
mkpass_convfail=Echec de la conversion d'utilisateur
mkpass_msg=Conversion des utilisateurs Unix ...
mkpass_skip=ignoré
mkpass_same=est déjà le même
mkpass_update=mis à jour
mkpass_del=effacé
mkpass_passfail=Echec de l'assignation du mot de passe

savecopy_fail=Echec de la création de la copie
savecopy_global=Le nom 'global' ne peut pas être utilisé pour une ressource partagée
savecopy_exist=Une ressource partagée appelée '$1' existe déjà

saveuser_fail=Echec de la sauvegarde de l'utilisateur
saveuser_uid='$1' n'est pas une UID Unix valide
saveuser_colon=Les vrais noms ne peuvent contenir le caractère :
saveuser_home=Le répertoire utilisateur '$1' n'existe pas
saveuser_shell=$1 n'est pas un shell valide
saveuser_pass=Echec du changement de mot de passe avec smbpasswd : $1

savefmisc_fail=Echec de la sauvegarde des options diverses
savefmisc_number='$1' n'est pas un nombre valide de connections

savefperm_fail=Echec de la sauvegarde des permissions de fichier
savefperm_mode='$1' n'est pas un mode Unix valide

savefshare_fail=Echec de la sauvegarde du répertoire partagé
savefshare_nopath=Aucun chemin donné
savefshare_exist=Un répertoire partagé nommé '$1' existe déjà
savefshare_mode='$1' n'est pas un nom de répertoire partagé valide
savefshare_global=Le nom 'global' ne peut pas être utilisé pour un répertoire partagé

savemisc_fail=Echec de la sauvegarde des options
savemisc_lockdir=Le répertoire contenant le répertoire verrou n'eiste pas
savemisc_logdir=Le répertoire contenant les fichiers de journalisation n'existe pas
savemisc_logsize='$1' n'est pas une taille de log valide
savemisc_overlap='$1' n'est pas une taille de lecture superposée valide
savemisc_chroot=Le répertoire chrooté '$1' n'existe pas
savemisc_smbrun=Le programme smbrun '$1' n'existe pas ou n'est pas éxecutable
savemisc_time='$1' n'est pas un décalage de temps valide

savenet_fail=Echec de la sauvegarde des options
savenet_timeout='$1' n'est pas un délai valide de déconnection
savenet_ip='$1' n'est pas un octet IP valide
savenet_keep='$1' n'est pas un intervalle valide de keepalive
savenet_maxxmit='$1' n'est une taille maximale de paquet valide

savepass_fail=Echec de sauvegarde des options
savepass_nopass=Votre version de Samba ne supporte pas les mots de passe chiffrés
savepass_passwd=Pas de programme de changement de mot de passe fourni
savepass_level='$1' n'est pas une différence valide de casse de mot de passe
savepass_chat=La séquence de dialogue de changement de mot de passe est vide

savepopts_fail=Echec de la sauvegarde des options d'impression
savepopts_number=L'espace libre minimal doit être un nombre

saveprint_fail=Echec de la sauvegarde des options
saveprint_printcap=Le fichier printcap '$1' n'existe pas
saveprint_cache='$1' n'est pas un délai d'expiration de cache valide

savepshare_fail=Echec de la sauvegarde de l'imprimante partagée
savepshare_exist=Une imprimante partagée appelée '$1' existe déjà
savepshare_name='$1' n'est pas un nom de partage valide
savepshare_global=Le nom 'global' ne peut pas être utilisé pour le partage

savesec_fail=Echec de la sauvegarde de la sécurité

savesmb_fail=Echec de la sauvegarde des options
savesmb_size='$1' n'est pas une taille de disque valide
savesmb_oslevel='$1' n'est pas une priorité de navigateur maître valide
savesmb_server=Vous devez entrer un serveur de mot de passe

start_err=Echec du démarrage des serveurs Samba
start_fail=$1 a échoué

swats_fail=Echec de la sauvagarde du nom d'utilisateur
swats_user=Nom d'utilisateur SWAT manquant

viewu_index=Utilisateurs actuels
viewu_list=Utilisateurs actuels de $1
viewu_share=Ressource partagée
viewu_user=Utilisateur
viewu_group=Groupe
viewu_from=Connecté depuis
viewu_time=Connecté à
viewu_pid=ID Processus
viewu_msg1=Cliquer sur une ID processus de la liste ci-dessus pour déconnecter cet utilisateur.
viewu_msg2=Il n'y a actuellement aucun utilisateur connecté
viewu_locks=Fichiers ouverts
viewu_none=Aucun

log_apply=Serveurs Samba redémarrés
log_start=Serveurs Samba démarrés
log_save_fshare=Répertoire partagé $1 modifié
log_save_pshare=Imprimante partagée $1 modifiée
log_save_sec=Sécurité et contrôle d'accès pour ressource partagée $1 modifiés
log_save_fperm=Permissions modifiées pour le répertoire partagé $1
log_save_fname=Nommage des fichiers modifié pour le répertoire partagé $1
log_save_fmisc=Options diverses modifiées pour le répertoire partagé $1
log_save_popts=Options d'impression modifiées pour l'imprimante partagée $1
log_default_fshare=Changé les réglages par défaut des répertoires partagés
log_default_pshare=Changé les réglages par défaut des imprimantes partagées
log_kill=Déconnecté processus $1
log_skill=Déconnecté processus $1 de la ressource partagée $2
log_create_fshare=Créé répertoire partagé $1
log_create_pshare=Créé imprimante partagée $1
log_delete_fshare=Effacé répertoire partagé $1
log_delete_pshare=Effacé imprimante partagée $1
log_net=Changé les options réseau Unix
log_smb=Changé les options réseau Windows
log_pass=Changé les options d'authentification
log_print=Changé les options d'impression Windows vers Unix
log_misc=Changé les options diverses
log_sync=Configuré la synchronisation utilisateurs Unix
log_epass=Converti utilisateurs Unix en utilisateurs Samba
log_epass_l=Converti utilisateurs Unix users en utilisateurs Samba ($1 créé(s), $2 modifié(s), $3 effacé(s))
log_copy=Copié la ressource partagée $2 vers $1
log_save_euser=Modifié utilisateur Samba $1
log_delete_euser=Effacé utilisateur Samba $1

swat_title=Login SWAT
swat_list=Login SWAT
swat_msg1=Vos nom d'utilisateur et mot de passe SWAT actuels sont incorrects. Utilisez le formulaire ci-dessous pour essayer de nouveau.
swat_msg2=Un nom d'utilisateur et un mot de passe sont requis pour se connecter à SWAT. Ce peut être normalement n'importe quel utilisateur de votre système.
swat_msg3=Vous ne pouvez pas lancer SWAT par Webmin, car votre configuration Samba a l'option <tt>$1:...</tt> (autoriser machines) positionnée.
swat_msg4=Cependant, vous pouvez être capable de vous connecter à SWAT directement depuis $1
swat_username=Nom d'utilisateur
swat_password=Mot de passe
swat_login=Connection
swat_clear=Effacer
swat_logout=Déconnection de SWAT

eacl_aviol=Violation de contrôle d'accès
eacl_np=Vous n'avez pas les droits pour
eacl_papply=redémarrer ce service
eacl_pcn=éditer les options réseau Unix
eacl_pcs=éditer les options réseau Windows
eacl_pcp=éditer les options des mots de passe
eacl_pcprint=éditer les options d'impression
eacl_pcm=éditer les options diverses
eacl_pcswat=utiliser SWAT
eacl_pcopy=copier des ressources partagées
eacl_pconn_all=voir toutes les connections
eacl_pconn=voir les connections à cette ressource
eacl_pgkill=tuer les connections
eacl_pkill=tuer cette connection
eacl_pus=mettre à jour la ressource
eacl_pcrs=créer la ressource
eacl_pds=effacer la ressource
eacl_pusec=mettre à jour la sécurité et le contrôle d'accès de cette ressource partagée
eacl_pufperm=mettre à jour les options de permissions de fichiers pour ce répertoire partagé
eacl_pufname=mettre à jour les options de nommage de fichiers pour ce répertoire partagé
eacl_pufmisc=mettre à jour les options diverses pour ce répertoire partagé
eacl_pupopt=mettre à jour les options d'impression pour cette imprimante partagée
eacl_pmpass=initialiser la base de données d'utilisateurs Samba
eacl_pmsync=maintenir la synchronisation des utilisateurs Unix-Samba
eacl_pmusers=maintenir les utilisateurs Samba
eacl_pvusers=accéder aux utilisateurs Samba
eacl_pvfmisc=accéder aux options diverses pour cette ressource partagée
eacl_pvfname=accéder aux options de nommage pour ce répertoire partagé
eacl_pvperm=accéder aux options de permissions de fichiers pour ce répertoire partagé
eacl_pvsec=accéder aux options de sécurité et de contrôle d'accès pour cette ressource partagée
eacl_pvpopt=accéder aux options d'impression pour cette imprimante partagée
eacl_pafs=accéder à ce répertoire partagé
eacl_paps=accéder à cette imprimante partagée
eacl_pcps=créer une imprimante partagée
eacl_pcfs=créer un répertoire partagé

acl_apply=Peut appliquer des changements ?
acl_view_all_con=Peut voir toutes les connections ?
acl_kill_con=Peut supprimer des connections ?
acl_conf_net=Peut configurer les options réseau Unix ?
acl_conf_smb=Peut configurer les options réseau Windows ?
acl_conf_pass=Peut configurer les options d'authentification ?
acl_conf_print=Peut configurer les options d'impression ?
acl_conf_misc=Peut configurer les options diverses ?
acl_swat=Peut utiliser SWAT ?
acl_enc_passwd_opts=Options de mots de passe chiffrés.
acl_view_users=Peut voir la base de données utilisateur Samba ?
acl_maint_users=Peut éditer les utilisateurs Samba ?
acl_maint_makepass=Peut convertir les utilisateurs Unix en utilisateurs Samba ?
acl_maint_sync=Peut maintenir la synchro automatique des utilisateurs Unix vers Samba ?
acl_hide=Cacher les objets inaccessibles ?
acl_c=créer
acl_r=lire
acl_w=écrire
acl_afs=Accéder aux répertoires partagés
acl_aps=Accéder aux imprimantes partagées
acl_copy=Peut copier des ressources partagées ?
acl_per_fs_acls=Activer ACLs basées par répertoire ?
acl_per_ps_acls=Activer ACLs basées par imprimante ?
acl_per_share_acls=ACLs par ressource partagée ...
acl_ernow=Si vous voulez activer l'accès en écriture dans les ACLs globales pour un certain type d'objet vous devez aussi activer l'accès en lecture pour ce type.
acl_sname=Nom de ressource partagée
acl_saccess=Accéder à la ressource partagée
acl_sconn=Connections
acl_sopthdr=Options de la ressource partagée
acl_ssec=sécurité
acl_sperm=permissions
acl_snaming=nommage de fichiers
acl_smisc=divers
acl_sprn=ou imprimante
acl_na=n/d
acl_r1=lecture seule
acl_rw=lecture écriture
acl_view=voir
acl_kill=tuer
acl_edit=éditer
   0707010001fb2b000081a40000000000000002000000013d1fe2bd000045ee000000200000000000000000000000000000001400000003reloc/samba/lang/it   index_title=Samba Share Manager
index_sharelist=share list
index_userlist=user list
index_fileshare=file share
index_printershare=printer share
index_shareconf=share configuration

index_sharename=Share Name
index_path=Path
index_security=Security
index_homedir=All Home Directories
index_allprinter=All Printers
index_printer=Printer
index_defaultprn=Default printer
index_printableto=Printable to
index_prneveryone=Printable to everyone
index_prnalluser=Printable to all known users
index_rwpublic=Read/write to everyone
index_readonly=Read only to $1<br>Read/write to all other known users
index_rwalluser=Read/write to all known users
index_roeveryone=Read only to everyone
index_readwrite=Read/write to $1<br>Read only to all other known users
index_roalluser=Read only to all known users
index_noshares=No Samba shares defined
index_createfileshare=Create a new file share
index_createprnshare=Create a new printer share
index_createcopy=Create a new copy
index_view=View All Connections
index_start=Start Samba Servers
index_startmsg=The Samba servers do not appear to be running on your system. This means that the shares listed above will not be accessible to other computers.
index_restart=Restart Samba Servers
index_restartmsg=Click this button to restart the running Samba servers on your system. This will force the current configuration to be applied.
index_restartmsg2=This will also disconnect any connections to the server, so if you do not want the current configuration to be applied immediately you should just wait 1 minute until Samba reloads the configuration automatically.

config_mins=Mins
config_secs=Secs
config_bytes=Bytes
config_never=Never
config_all=All
config_neither=Neither

global_title=Global Configuration
global_unixnetwork=Unix Networking
global_winnetwork=Windows Networking
global_auth=Authentication
global_printing=Windows to Unix Printing
global_misc=Miscellaneous Options
global_filedefault=File Share Defaults
global_prndefault=Printer Share Defaults
global_password=Encrypted Passwords
global_edit=Edit Samba users and passwords
global_convert=Convert Unix users to Samba users
global_sync=Configure automatic Unix and Samba user synchronisation

error_nosamba=The Samba server executable <tt>$1</tt> was not found. Either Samba is not installed on your system or your <a href="$2">module configuration</a> is incorrect.
error_version=Webmin failed to get the version of your Samba server executable <tt>$1</tt>. Check your <a href="$2">module configuration</a> to make sure this is the correct path.
error_config=The configuration file $1 was not found. Most likely Samba is not installed on your system, or your <a href="$2">module configuration</a> is incorrect.
error_include=Webmin cannot handle Samba config files that use the <tt>config</tt> or <tt>include</tt> directives.
error_delshare=Failed to delete share
error_delcopy=The share '$1' copies from this share
error_savename=Failed to save file naming

convert_title=Convert Users
convert_msg=This form allows you to synchronize the Unix and Samba user list. When Samba is using <a href=$1>encrypted passwords</a>, a separate list of users and passwords is used instead of the system user list.
convert_noconv=Don't convert or remove these users:
convert_update=Update existing Samba users from their Unix details
convert_add=Add new Samba users from the Unix user list 
convert_delete=Delete Samba users who do not exist under Unix 
convert_newuser=For newly created users, set the password to:
convert_nopasswd=No password
convert_lock=Account locked
convert_passwd=Use this password
convert_convert=Convert Users

misc_title=Miscellaneous Options
misc_debug=Debug Level
misc_cachecall=Cache <tt>getwd()</tt> calls?
misc_lockdir=Lock directory
misc_log=Log file
misc_maxlog=Max log size
misc_rawread=Allow raw reads?
misc_rawwrite=Allow raw writes?
misc_overlapread=Overlapping read size
misc_chroot=<tt>chroot()</tt> directory
misc_smbrun=Path to <tt>smbrun</tt>
misc_clienttime=Client time offset
misc_readprediction=Read prediction?

net_title=Unix Networking Options
net_idle=Idle time before disconnect
net_trustlist=Trusted hosts/users file
net_netinterface=Network interfaces
net_auto=Automatic
net_uselist=Use list...
net_interface=Interface
net_netmask=Netmask
net_keepalive=Keepalive packets
net_notsend=Don't send any
net_every=Send every
net_maxpacket=Maximum packet size
net_listen=Listen on address
net_socket=Socket options

passwd_title=Password Options
passwd_encrypt=Use encrypted passwords?
passwd_allownull=Allow null passwords?
passwd_program=Password program
passwd_case=Password case difference
passwd_chat=Change password chat
passwd_below=Listed below:
passwd_waitfor=Wait for
passwd_send=Send
passwd_map=Username mapping
passwd_unixuser=Unix Users
passwd_winuser=Windows Users

print_title=Printing Options
print_style=Unix print style
print_show=Show all printers?
print_printcap=Printcap file
print_cachetime=Printer status cache time

smb_title=Windows Networking Options
smb_workgroup=Workgroup
smb_wins=WINS mode
smb_winsserver=Be WINS server
smb_useserver=Use server
smb_description=Server description
smb_name=Server name
smb_aliase=Server aliases
smb_default=Default service
smb_show=Always show services
smb_disksize=Max reported disk size
smb_unlimited=Unlimited
smb_winpopup=Winpopup command
smb_priority=Master browser priority
smb_protocol=Highest protocol
smb_master=Master browser?
smb_security=Security
smb_sharelevel=Share level
smb_userlevel=User level
smb_passwdserver=Password server
smb_domain=Domain
smb_announce=Remote announce to
smb_nowhere=Nowhere
smb_fromlist=From list...
smb_ip=IP Address
smb_asworkgroup=<b>As Workgroup</b> (optional)

create_title=Create Copy
create_msg=A copy share will inherit all its default values from the share you choose. If the source share is changed, so will the copy. 
create_from=Share to copy from:
create_name=New share name:

smbuser_title=Samba Users
smbuser_list=Samba User List
smbuser_nouser=No Samba users defined

euser_title=Edit Samba User
euser_name=Username
euser_uid=Unix UID
euser_passwd=Password
euser_noaccess=No access
euser_nopw=No password
euser_currpw=Current password
euser_newpw=New password
euser_realname=Real name
euser_homedir=Home directory
euser_shell=Shell
euser_option=User options
euser_normal=Normal user
euser_nopwrequired=No password required
euser_disable=Account disabled
euser_trust=Workstation trust account

fmisc_title=Miscellaneous File Defaults
fmisc_for=For share <tt>$1</tt>
fmisc_lockfile=Do file locking?
fmisc_maxconn=Max connections
fmisc_fake=Fake oplocks?
fmisc_sharemode=Use share modes?
fmisc_strict=Strict locking?
fmisc_sync=Sync after writes?
fmisc_volume=Volume name
fmisc_sameas=Same as share
fmisc_unixdos=Unix-DOS file name map
fmisc_conncmd=Command to run on connect
fmisc_disconncmd=Command to run on disconnect
fmisc_rootconn=Command to run on connect <i>as root</i>
fmisc_rootdisconn=Command to run on disconnect <i>as root</i>

fname_title1=File Naming Defaults
fname_title2=Edit File Naming
fname_option=File Naming Options
fname_manglecase=Mangle Case?
fname_case=Case Sensitive?
fname_defaultcase=Default Case?
fname_lower=Lower
fname_upper=Upper
fname_preserve=Preserve Case?
fname_shortpreserve=Short Preserve Case?
fname_hide=Hide dot files?
fname_archive=Save DOS archive flag?
fname_hidden=Save DOS hidden flag?
fname_system=Save DOS system flag?

fperm_title1=File Permissions Defaults
fperm_title2=Edit File Permissions
fperm_option=File Permission Options
fperm_filemode=New Unix file mode
fperm_dirmode=New Unix directory mode
fperm_notlist=Directories not to list
fperm_forceuser=Force Unix user
fperm_forcegrp=Force Unix group
fperm_link=Allow symlinks outside share?
fperm_delro=Can delete readonly files?
fperm_forcefile=Force Unix file mode
fperm_forcedir=Force Unix directory mode

share_title1=File Share Defaults
share_title2=Edit File Share
share_title3=Create File Share
share_info=Share Information
share_copy=This share is a copy of <i>$1</i>
share_name=Share name
share_home=Home Directories Share
share_dir=Directory to share
share_available=Available?
share_browseable=Browseable?
share_comment=Share Comment
share_view=View Connections
share_option=Other Share Options
share_security=Security and Access Control
share_permission=File Permissions
share_naming=File Naming
share_misc=Miscellaneous Options

print_title1=Printer Option Defaults
print_title2=Edit Printer Options
print_option=Printer Options
print_minspace=Minimum free space
print_postscript=Force postscript printing
print_command=Print command
print_queue=Display queue command
print_delete=Delete job command
print_pause=Pause job command
print_unresume=Unresume job command
print_driver=Printer Driver

pshare_title1=Printer Share Defaults
pshare_title2=Edit Printer Share
pshare_title3=Create Printer Share
pshare_info=Share Information
pshare_name=Share name
pshare_all=All Printers Share
pshare_unixprn=Unix Printer
pshare_spool=Spool directory

sec_index1=Security Defaults
sec_index2=Edit Security
sec_writable=Writable?
sec_guest=Guest Access?
sec_guestonly=Guest only
sec_guestaccount=Guest Unix user
sec_limit=Limit to possible list?
sec_allowhost=Hosts to allow
sec_onlyallow=Only allow
sec_denyhost=Hosts to deny
sec_onlydeny=Only deny
sec_revalidate=Revalidate users?
sec_validuser=Valid users
sec_validgroup=Valid groups
sec_invaliduser=Invalid users
sec_invalidgroup=Invalid groups
sec_possibleuser=Possible users
sec_possiblegroup=Possible groups
sec_rouser=Read only users
sec_rogroup=Read only groups
sec_rwuser=Read/write users
sec_rwgroup=Read/write groups

esync_title=User Synchronisation
esync_msg=Webmin can be configured so that changes to the Unix user list will automatically be applied to the Samba user list. This will only work when the <tt>Users and Groups</tt> Webmin module is used to add, delete or change users.
esync_add=Add a Samba user when a Unix user is added
esync_chg=Change the Samba user when a Unix user is changed
esync_del=Delete the Samba user when a Unix user is deleted
esync_apply=Apply

mkpass_title=Convert Users
mkpass_convfail=Failed to convert user
mkpass_msg=Converting Unix users...
mkpass_skip=being skipped
mkpass_same=is already the same
mkpass_update=being updated
mkpass_del=being deleted
mkpass_passfail=Failed to set password

savecopy_fail=Failed to create copy
savecopy_global=The name 'global' cannot be used for a share
savecopy_exist=A share called '$1' already exists

saveuser_fail=Failed to save user
saveuser_uid='$1' is not a valid Unix UID
saveuser_colon=Real name cannot contain the character :
saveuser_home=The home directory '$1' does not exist
saveuser_shell=$1 is not a valid shell
saveuser_pass=Failed to change password using smbpasswd : $1

savefmisc_fail=Failed to save miscellaneous options
savefmisc_number='$1' is not a valid number of connections

savefperm_fail=Failed to save file permissions
savefperm_mode='$1' is not a valid Unix file mode

savefshare_fail=Failed to save share
savefshare_nopath=No path given
savefshare_exist=A share called '$1' already exists
savefshare_mode='$1' is not a valid share name
savefshare_global=The name 'global' cannot be used for a share

savemisc_fail=Failed to save options
savemisc_lockdir=The directory containing the lock directory does not exist
savemisc_logdir=The directory containing the log file does not exist
savemisc_logsize='$1' is not a valid log size
savemisc_overlap='$1' is not a valid overlapping read size
savemisc_chroot=The chroot directory '$1' does not exist
savemisc_smbrun=The smbrun program '$1' does not exist or is not executable
savemisc_time='$1' is not a valid time offset

savenet_fail=Failed to save options
savenet_timeout='$1' is not a valid disconnect timeout
savenet_ip='$1' is not a valid IP byte
savenet_keep='$1' is not a valid keepalive interval
savenet_maxxmit='$1' is not a valid maximum packet size

savepass_fail=Failed to save options
savepass_nopass=Your version of Samba does not support encrypted passwords
savepass_passwd=No password changing program given
savepass_level='$1' is not a valid password case difference
savepass_chat=The change password chat sequence is empty

savepopts_fail=Failed to save printer options
savepopts_number=Minimum free space must be a number

saveprint_fail=Failed to save options
saveprint_printcap=The printcap file '$1' does not exist
saveprint_cache='$1' is not a valid cache time

savepshare_fail=Failed to save printer share
savepshare_exist=A share called '$1' already exists
savepshare_name='$1' is not a valid share name
savepshare_global=The name 'global' cannot be used for a share

savesec_fail=Failed to save security

savesmb_fail=Failed to save options
savesmb_size='$1' is not a valid disk size
savesmb_oslevel='$1' is not a valid master browser priority
savesmb_server=You must enter a password server

start_err=Failed to start Samba servers
start_fail=$1 failed

swats_fail=Failed to save username
swats_user=Missing SWAT username

viewu_index=Current Users
viewu_list=Current users of $1
viewu_share=Share
viewu_user=User
viewu_group=Group
viewu_from=Connected from
viewu_time=Connected at
viewu_pid=Process ID
viewu_msg1=Click on a process ID from the list above to disconnect that user.
viewu_msg2=There are no currently connected users
viewu_locks=Open files
viewu_none=None

log_apply=Restarted Samba servers
log_start=Started Samba servers
log_save_fshare=Modified file share $1
log_save_pshare=Modified printer share $1
log_save_sec=Modified security and access control for share $1
log_save_fperm=Modified file permissions for share $1
log_save_fname=Modified file naming for share $1
log_save_fmisc=Modified miscellaneous options for share $1
log_save_popts=Modified printer options for share $1
log_default_fshare=Changed file share defaults
log_default_pshare=Changed printer share defaults
log_kill=Disconnected process $1
log_skill=Disconnected process $1 from share $2
log_create_fshare=Created file share $1
log_create_pshare=Created printer share $1
log_delete_fshare=Deleted file share $1
log_delete_pshare=Deleted printer share $1
log_net=Changed Unix networking options
log_smb=Changed Windows networking options
log_pass=Changed authentication options
log_print=Changed Windows to Unix printing options
log_misc=Changed miscellaneous options
log_sync=Configured Unix user synchronisation
log_epass=Converted Unix users to Samba users
log_epass_l=Converted Unix users to Samba users ($1 created, $2 modified, $3 deleted)
log_copy=Copied share $2 to $1
log_save_euser=Modified Samba user $1
log_delete_euser=Deleted Samba user $1

swat_title=SWAT Login
swat_list=SWAT Login
swat_msg1=Your current SWAT username and password are incorrect. Use the form below to login again.
swat_msg2=A username and password are required to login to SWAT. This can normally be any user on your system.
swat_msg3=You cannot run SWAT through Webmin, as your Samba configuration has the <tt>$1:...</tt> (allow hosts) option set.
swat_msg4=However, you may be able to connect to SWAT directly at $1
swat_username=Username
swat_password=Password
swat_login=Login
swat_clear=Clear
swat_logout=Logout of SWAT

eacl_aviol=Access control violation
eacl_np=You have not permissions to
eacl_papply=restart this service
eacl_pcn=edit unix networking options
eacl_pcs=edit smb networking options
eacl_pcp=edit password options
eacl_pcprint=edit printing options
eacl_pcm=edit misc options
eacl_pcswat=use SWAT
eacl_pcopy=copy shares
eacl_pconn_all=view all connections
eacl_pconn=view connections for this share
eacl_pgkill=kill connections
eacl_pkill=kill this connection
eacl_pus=update share
eacl_pcrs=create share
eacl_pds=delete share
eacl_pusec=update security and access control options for this share
eacl_pufperm=update file permission options for this share
eacl_pufname=update file naming options for this share
eacl_pufmisc=update misc. options for this share
eacl_pupopt=update printer options for this share
eacl_pmpass=initialize SAMBA users database
eacl_pmsync=maintain UNIX-SAMBA users synchronization
eacl_pmusers=maintain SAMBA users
eacl_pvusers=access SAMBA users
eacl_pvfmisc=access misc. options for this share
eacl_pvfname=access file naming options for this share
eacl_pvperm=access file permission options for this share
eacl_pvsec=access security and access control options for this share
eacl_pvpopt=access printer options for this share
eacl_pafs=access this file share
eacl_paps=access this printer share
eacl_pcps=create printer share
eacl_pcfs=create file share

acl_apply=Can apply changes?
acl_view_all_con=Can view all connections?
acl_kill_con=Can remove connections?
acl_conf_net=Can configure UNIX network options?
acl_conf_smb=Can configure Windows network options?
acl_conf_pass=Can configure authentication options?
acl_conf_print=Can configure printers options?
acl_conf_misc=Can configure misc. options?
acl_swat=Can use SWAT?
acl_enc_passwd_opts=Encripted password options.
acl_view_users=Can view SAMBA users database?
acl_maint_users=Can edit SAMBA users?
acl_maint_makepass=Can convert UNIX users to SAMBA users?
acl_maint_sync=Can maintain auto UNIX to SAMBA users sync?
acl_hide=Hide inaccessible objects?
acl_c=create
acl_r=read
acl_w=write
acl_afs=Access file shares
acl_aps=Access print shares
acl_copy=Can copy shares?
acl_per_fs_acls=Enable per-file_share acls?
acl_per_ps_acls=Enable per-print_share acls?
acl_per_share_acls=Per-share ACLs...
acl_ernow=If you want to enable write access in global ACLs for some object type you must also enable read access for this object type.
acl_sname=Share name
acl_saccess=Access share
acl_sconn=Connections
acl_sopthdr=Share options
acl_ssec=security
acl_sperm=permissions
acl_snaming=file naming
acl_smisc=miscellanious
acl_sprn=or printer
acl_na=n/a
acl_r1=read only
acl_rw=read write
acl_view=view
acl_kill=kill
acl_edit=edit
  0707010001fb2c000081a40000000000000002000000013d1fe2bd000048d9000000200000000000000000000000000000001b00000003reloc/samba/lang/ja_JP.euc    index_title=Samba Share ¥Þ¥Í¡¼¥¸¥ã
index_sharelist=¶¦Í­¥ê¥¹¥È
index_userlist=¥æ¡¼¥¶ ¥ê¥¹¥È
index_fileshare=¥Õ¥¡¥¤¥ë¤Î¶¦Í­
index_printershare=¥×¥ê¥ó¥¿¤Î¶¦Í­
index_shareconf=¶¦Í­ÀßÄê

index_sharename=¶¦Í­Ì¾
index_path=¥Ñ¥¹
index_security=¥»¥­¥å¥ê¥Æ¥£
index_homedir=¤¹¤Ù¤Æ¤Î¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê
index_allprinter=¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥¿
index_printer=¥×¥ê¥ó¥¿
index_defaultprn=¥Ç¥Õ¥©¥ë¥È ¥×¥ê¥ó¥¿¤Ë¤·¤Þ¤¹¤«¡©
index_printableto=°õºþ²ÄÇ½
index_prneveryone=Á´°÷¤Ë°õºþ²ÄÇ½
index_prnalluser=¤¹¤Ù¤Æ¤Î´ûÃÎ¤Î¥æ¡¼¥¶¤Ë°õºþ²ÄÇ½
index_rwpublic=Á´°÷¤ËÆÉ¼è¤ê/½ñ¹þ¤ß¤òµö²Ä
index_readonly=$1 ¤ËÆÉ¼è¤ê¤Î¤ß<br>¤½¤ÎÂ¾¤¹¤Ù¤Æ¤Î´ûÃÎ¤Î¥æ¡¼¥¶¤ËÆÉ¼è¤ê/½ñ¹þ¤ß¤òµö²Ä
index_rwalluser=¤¹¤Ù¤Æ¤Î´ûÃÎ¤Î¥æ¡¼¥¶¤ËÆÉ¼è¤ê/½ñ¹þ¤ß¤òµö²Ä
index_roeveryone=Á´°÷¤ËÆÉ¼è¤ê¤òµö²Ä
index_readwrite=$1 ¤ËÆÉ¼è¤ê/½ñ¹þ¤ß¤òµö²Ä<br>¤½¤ÎÂ¾¤¹¤Ù¤Æ¤Î´ûÃÎ¤Î¥æ¡¼¥¶¤ËÆÉ¼è¤ê¤òµö²Ä
index_roalluser=¤¹¤Ù¤Æ¤Î´ûÃÎ¤Î¥æ¡¼¥¶¤ËÆÉ¼è¤ê¤òµö²Ä
index_noshares=Samba ¶¦Í­¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
index_createfileshare=¿·µ¬¤Î¥Õ¥¡¥¤¥ë¶¦Í­¤òºîÀ®
index_createprnshare=¿·µ¬¤Î¥×¥ê¥ó¥¿¶¦Í­¤òºîÀ®
index_createcopy=¿·µ¬¥³¥Ô¡¼¤òºîÀ®
index_view=¤¹¤Ù¤Æ¤ÎÀÜÂ³¤òÉ½¼¨
index_start=Samba ¥µ¡¼¥Ð¤òµ¯Æ°
index_startmsg=¥·¥¹¥Æ¥à¾å¤Ç Samba ¥µ¡¼¥Ð¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢Â¾¤Î¥³¥ó¥Ô¥å¡¼¥¿¤«¤é¾å¤Ë¥ê¥¹¥È¤µ¤ì¤¿¶¦Í­¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
index_restart=Samba ¥µ¡¼¥Ð¤òºÆµ¯Æ°
index_restartmsg=¥·¥¹¥Æ¥à¤Î Samba ¥µ¡¼¥Ð¤òºÆµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢¸½ºß¤ÎÀßÄê¤ÎÅ¬ÍÑ¤¬¶¯À©¤µ¤ì¤Þ¤¹¡£

config_mins=Ê¬
config_secs=ÉÃ
config_bytes=¥Ð¥¤¥È
config_never=¤Ê¤·
config_all=¤¹¤Ù¤Æ
config_neither=¤Ê¤·

global_title=¥°¥í¡¼¥Ð¥ëÀßÄê
global_unixnetwork=Unix ¥Í¥Ã¥È¥ï¡¼¥¯
global_winnetwork=Windows ¥Í¥Ã¥È¥ï¡¼¥¯
global_auth=Ç§¾Ú
global_printing=Windows ¤«¤é Unix ¤Ë°õºþ
global_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
global_filedefault=¥Õ¥¡¥¤¥ë¶¦Í­¥Ç¥Õ¥©¥ë¥È
global_prndefault=¥×¥ê¥ó¥¿¶¦Í­¥Ç¥Õ¥©¥ë¥È
global_password=°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É
global_edit=Samba ¥æ¡¼¥¶¤È¥Ñ¥¹¥ï¡¼¥É¤òÊÔ½¸
global_convert=Unix ¥æ¡¼¥¶¤ò Samba ¥æ¡¼¥¶¤ËÊÑ´¹
global_sync=Unix ¤È Samba ¥æ¡¼¥¶¤ÎÆ±´ü¤Î¼«Æ°²½¤òÀßÄê

error_nosamba=Samba ¥µ¡¼¥Ð¼Â¹Ô¥Õ¥¡¥¤¥ë <tt>$1</tt> ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¥·¥¹¥Æ¥à¤Ë Samba ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«<a href="$2">¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ç¤¹¡£
error_version=Webmin ¤Ï Samba ¥µ¡¼¥Ð¼Â¹Ô¥Õ¥¡¥¤¥ë <tt>$1</tt> ¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ ¤´»ÈÍÑ¤Î <a href="$2">¥â¥¸¥å¡¼¥ëÀßÄê</a>¤òÄ´¤Ù¤Æ¥Ñ¥¹¤¬Àµ¤·¤¤¤«³ÎÇ§¤·¤Æ¤¯¤À¤µ¤¤¡£
error_config=ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¥·¥¹¥Æ¥à¤Ë Samba ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤« <a href="$2">¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ç¤¹¡£
error_include=Webmin ¤Ï <tt>config</tt> ¤Þ¤¿¤Ï<tt>include</tt> ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ÈÍÑ¤·¤¿ Samba ¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò½èÍý¤Ç¤­¤Þ¤»¤ó¡£
error_delshare=¶¦Í­¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
error_delcopy=¶¦Í­ '$1'¤Ï¡¢¤³¤Î¶¦Í­¤«¤é¥³¥Ô¡¼¤·¤Þ¤¹
error_savename=¥Õ¥¡¥¤¥ëÌ¾¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

convert_title=¥æ¡¼¥¶¤ÎÊÑ´¹
convert_msg=¤³¤Î²èÌÌ¤Ç¤Ï¡¢Unix ¤È Samba ¥æ¡¼¥¶¤Î¥ê¥¹¥È¤òÆ±´ü¤Ç¤­¤Þ¤¹¡£Samba ¤¬ <a href=$1>°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É</a>¤ò»ÈÍÑ¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à ¥æ¡¼¥¶ ¥ê¥¹¥È¤ÎÂå¤ï¤ê¤ËÊÌ¤Î¥æ¡¼¥¶¤È¥Ñ¥¹¥ï¡¼¥É¤Î¥ê¥¹¥È¤¬»ÈÍÑ¤µ¤ì¤Þ¤¹¡£
convert_noconv=¤³¤ì¤é¤Î¥æ¡¼¥¶¤òÊÑ´¹¤Þ¤¿¤Ï½üµî¤·¤Ê¤¤:
convert_update=Unix ¥æ¡¼¥¶¤Î¾ÜºÙ¤«¤é´ûÂ¸¤Î Samba ¥æ¡¼¥¶¤ò¹¹¿·
convert_add=Unix ¥æ¡¼¥¶ ¥ê¥¹¥È¤«¤é¿·µ¬¤Î Samba ¥æ¡¼¥¶¤òÄÉ²Ã
convert_delete=Unix ¤ËÂ¸ºß¤·¤Ê¤¤ Samba ¥æ¡¼¥¶¤òºï½ü
convert_newuser=¿·µ¬¤ËºîÀ®¤µ¤ì¤¿¥æ¡¼¥¶ÍÑ¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÀßÄê:
convert_nopasswd=¥Ñ¥¹¥ï¡¼¥É¤Ê¤·
convert_lock=¥¢¥«¥¦¥ó¥È¤Î¥í¥Ã¥¯
convert_passwd=¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍÑ
convert_convert=¥æ¡¼¥¶¤ÎÊÑ´¹

misc_title=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_debug=¥Ç¥Ð¥Ã¥° ¥ì¥Ù¥ë
misc_cachecall=¥­¥ã¥Ã¥·¥å<tt>getwd()</tt> ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¤«¡©
misc_lockdir=¥Ç¥£¥ì¥¯¥È¥ê¤ò¥í¥Ã¥¯
misc_log=¥í¥° ¥Õ¥¡¥¤¥ë
misc_maxlog=ºÇÂç¥í¥° ¥µ¥¤¥º
misc_rawread=raw ¤ÎÆÉ¹þ¤ß¤òµö²Ä¤·¤Þ¤¹¤«¡©
misc_rawwrite=raw ¤Î½ñ¹þ¤ß¤òµö²Ä¤·¤Þ¤¹¤«¡©
misc_overlapread=ÆÉ¹þ¤ß¥µ¥¤¥º¤Î¥ª¡¼¥Ð¡¼¥é¥Ã¥×
misc_chroot=<tt>chroot()</tt> ¥Ç¥£¥ì¥¯¥È¥ê
misc_smbrun=</tt>smbrun</tt> ¤Ø¤Î¥Ñ¥¹
misc_clienttime=¥¯¥é¥¤¥¢¥ó¥È»þ´Ö¤Î¥ª¥Õ¥»¥Ã¥È
misc_readprediction=Í½Â¬¤òÆÉ¤ß¼è¤ê¤Þ¤¹¤«¡©

net_title=Unix ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó
net_idle=ÀÚÃÇ¤Þ¤Ç¤Î¥¢¥¤¥É¥ë»þ´Ö
net_trustlist=¥È¥é¥¹¥Æ¥Ã¥É ¥Û¥¹¥È/¥æ¡¼¥¶ ¥Õ¥¡¥¤¥ë
net_netinterface=¥Í¥Ã¥È¥ï¡¼¥¯ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
net_auto=¼«Æ°
net_uselist=¥æ¡¼¥¶ ¥ê¥¹¥È
net_interface=¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
net_netmask=¥Í¥Ã¥È¥Þ¥¹¥¯
net_keepalive=keepalive ¥Ñ¥±¥Ã¥È
net_notsend=²¿¤âÁ÷¿®¤·¤Ê¤¤
net_every=¼¡¤´¤È¤ËÁ÷¿®
net_maxpacket=ºÇÂç¥Ñ¥±¥Ã¥È ¥µ¥¤¥º
net_listen=¥ê¥Ã¥¹¥ó¤¹¤ë¥¢¥É¥ì¥¹
net_socket=¥½¥±¥Ã¥È ¥ª¥×¥·¥ç¥ó

passwd_title=¥Ñ¥¹¥ï¡¼¥É ¥ª¥×¥·¥ç¥ó
passwd_encrypt=°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
passwd_allownull=¥Ì¥ë ¥Ñ¥¹¥ï¡¼¥É¤òµö²Ä¤·¤Þ¤¹¤«¡©
passwd_program=¥Ñ¥¹¥ï¡¼¥É ¥×¥í¥°¥é¥à
passwd_case=¥Ñ¥¹¥ï¡¼¥É¤ÎÂçÊ¸»ú/¾®Ê¸»ú¤ò¶èÊÌ
passwd_chat=¥Ñ¥¹¥ï¡¼¥É ¥Á¥ã¥Ã¥È¤òÊÑ¹¹
passwd_below=²¼¤Ë¥ê¥¹¥È:
passwd_waitfor=ÂÔµ¡
passwd_send=Á÷¿®
passwd_map=¥æ¡¼¥¶Ì¾¥Þ¥Ã¥Ô¥ó¥°
passwd_unixuser=Unix ¥æ¡¼¥¶
passwd_winuser=Windows ¥æ¡¼¥¶

print_title=°õºþ¥ª¥×¥·¥ç¥ó
print_style=Unix °õºþ¥¹¥¿¥¤¥ë
print_show=¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥¿¤òÉ½¼¨¤·¤Þ¤¹¤«¡©
print_printcap=Printcap ¥Õ¥¡¥¤¥ë
print_cachetime=¥×¥ê¥ó¥¿ ¥¹¥Æ¡¼¥¿¥¹ ¥­¥ã¥Ã¥·¥å»þ´Ö

smb_title=Windows ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó
smb_workgroup=¥ï¡¼¥¯¥°¥ë¡¼¥×
smb_wins=WINS ¥â¡¼¥É
smb_winsserver=WINS ¥µ¡¼¥Ð¤Ë¤¹¤ë
smb_useserver=¥µ¡¼¥Ð¤ò»ÈÍÑ
smb_description=¥µ¡¼¥Ð¤ÎÀâÌÀ
smb_name=¥µ¡¼¥ÐÌ¾
smb_aliase=¥µ¡¼¥Ð ¥¨¥¤¥ê¥¢¥¹
smb_default=¥Ç¥Õ¥©¥ë¥È ¥µ¡¼¥Ó¥¹
smb_show=¥µ¡¼¥Ó¥¹¤ò¾ï¤ËÉ½¼¨
smb_disksize=¥ì¥Ý¡¼¥È¤µ¤ì¤¿ºÇÂç¥Ç¥£¥¹¥¯ ¥µ¥¤¥º
smb_unlimited=ÌµÀ©¸Â
smb_winpopup=Winpopup ¥³¥Þ¥ó¥É
smb_priority=¥Þ¥¹¥¿¡¼ ¥Ö¥é¥¦¥¶¤ÎÍ¥ÀèÅÙ
smb_protocol=ºÇÍ¥Àè¥×¥í¥È¥³¥ë
smb_master=¥Þ¥¹¥¿¡¼ ¥Ö¥é¥¦¥¶¤Ë¤·¤Þ¤¹¤«¡©
smb_security=¥»¥­¥å¥ê¥Æ¥£
smb_sharelevel=¶¦Í­¥ì¥Ù¥ë
smb_userlevel=¥æ¡¼¥¶ ¥ì¥Ù¥ë
smb_passwdserver=¥Ñ¥¹¥ï¡¼¥É ¥µ¡¼¥Ð
smb_domain=¥É¥á¥¤¥ó
smb_announce=¥ê¥â¡¼¥È ¥¢¥Ê¥¦¥ó¥¹
smb_nowhere=¤Ê¤·
smb_fromlist=¥ê¥¹¥È¤«¤é...
smb_ip=IP ¥¢¥É¥ì¥¹
smb_asworkgroup=<b>¥ï¡¼¥¯¥°¥ë¡¼¥×¤È¤·¤Æ</b> (¥ª¥×¥·¥ç¥Ê¥ë)

create_title=¥³¥Ô¡¼¤ÎºîÀ®
create_msg=¶¦Í­¤Î¥³¥Ô¡¼¤ÏÁªÂò¤¹¤ë¶¦Í­¤«¤é¤½¤Î¤¹¤Ù¤Æ¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤ò·Ñ¾µ¤·¤Þ¤¹¡£¸µ¤Î¶¦Í­¤¬ÊÑ¹¹¤µ¤ì¤ë¤È¡¢¤½¤Î¥³¥Ô¡¼¤âÊÑ¹¹¤µ¤ì¤Þ¤¹¡£ 
create_from=¥³¥Ô¡¼¤¹¤ë¸µ¤Î¶¦Í­:
create_name=¿·¤·¤¤¶¦Í­Ì¾:

smbuser_title=Samba ¥æ¡¼¥¶
smbuser_list=Samba ¥æ¡¼¥¶ ¥ê¥¹¥È
smbuser_nouser=Samba ¥æ¡¼¥¶¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

euser_title=Samba ¥æ¡¼¥¶¤ÎÊÔ½¸
euser_name=¥æ¡¼¥¶Ì¾
euser_uid=Unix UID
euser_passwd=¥Ñ¥¹¥ï¡¼¥É
euser_noaccess=¥¢¥¯¥»¥¹¤Ê¤·
euser_nopw=¥Ñ¥¹¥ï¡¼¥É¤Ê¤·
euser_currpw=¸½ºß¤Î¥Ñ¥¹¥ï¡¼¥É
euser_newpw=¿·µ¬¤Î¥Ñ¥¹¥ï¡¼¥É
euser_realname=¼ÂÌ¾
euser_homedir=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê
euser_shell=¥·¥§¥ë
euser_option=¥æ¡¼¥¶ ¥ª¥×¥·¥ç¥ó
euser_normal=É¸½à¥æ¡¼¥¶
euser_nopwrequired=¥Ñ¥¹¥ï¡¼¥É¤ÏÉÔÍ×¤Ç¤¹
euser_disable=¥¢¥«¥¦¥ó¥È¤ÏÌµ¸ú¤Ç¤¹
euser_trust=¥ï¡¼¥¯¥¹¥Æ¡¼¥·¥ç¥ó ¥È¥é¥¹¥È ¥¢¥«¥¦¥ó¥È

fmisc_title=¤½¤ÎÂ¾¤Î¥Õ¥¡¥¤¥ë ¥Ç¥Õ¥©¥ë¥È
fmisc_for=¶¦Í­<tt>$1</tt>
fmisc_lockfile=¥Õ¥¡¥¤¥ë¤Î¥í¥Ã¥¯¤ò¹Ô¤¤¤Þ¤¹¤«¡©
fmisc_maxconn=ºÇÂçÀÜÂ³¿ô
fmisc_fake=fake oplocks ¤Ç¤¹¤«¡©
fmisc_sharemode=¶¦Í­¥â¡¼¥É¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
fmisc_strict=strict lock (¸·Ì©¤Ê¥í¥Ã¥¯) ¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
fmisc_sync=½ñ¹þ¤ß¸åÆ±´ü¤·¤Þ¤¹¤«¡©
fmisc_volume=¥Ü¥ê¥å¡¼¥àÌ¾
fmisc_sameas=¶¦Í­¤ÈÆ±¤¸
fmisc_unixdos=Unix-DOS ¥Õ¥¡¥¤¥ëÌ¾¥Þ¥Ã¥×
fmisc_conncmd=ÀÜÂ³¤Ç¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É
fmisc_disconncmd=ÀÚÃÇ¤Ç¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É
fmisc_rootconn=<i>root ¤È¤·¤Æ</i> ¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É
fmisc_rootdisconn=<i>root ¤È¤·¤Æ</i>¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É

fname_title1=¥Õ¥¡¥¤¥ëÌ¿Ì¾¤Î¥Ç¥Õ¥©¥ë¥È
fname_title2=¥Õ¥¡¥¤¥ëÌ¿Ì¾¤ÎÊÔ½¸
fname_option=¥Õ¥¡¥¤¥ëÌ¿Ì¾¥ª¥×¥·¥ç¥ó
fname_manglecase=ÂçÊ¸»ú/¾®Ê¸»ú¤ò¶èÊÌ¤·¤Þ¤»¤ó¤«¡©
fname_case=ÂçÊ¸»ú/¾®Ê¸»ú¤ò¶èÊÌ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©
fname_defaultcase=¥Ç¥Õ¥©¥ë¥È¤ÎÂçÊ¸»ú/¾®Ê¸»ú
fname_lower=¾®Ê¸»ú
fname_upper=ÂçÊ¸»ú
fname_preserve=ÂçÊ¸»ú/¾®Ê¸»ú¤òÊÝ»ý¤·¤Þ¤¹¤«¡©
fname_shortpreserve=ÂçÊ¸»ú/¾®Ê¸»ú¤òÃ»´üÊÝ»ý¤·¤Þ¤¹¤«¡©
fname_hide=¥É¥Ã¥È ¥Õ¥¡¥¤¥ë¤òÈóÉ½¼¨¤Ë¤·¤Þ¤¹¤«¡©
fname_archive=DOS ¥¢¡¼¥«¥¤¥Ö ¥Õ¥é¥°¤òÊÝÂ¸¤·¤Þ¤¹¤«¡©
fname_hidden=DOS ÈóÉ½¼¨¥Õ¥é¥°¤òÊÝÂ¸¤·¤Þ¤¹¤«¡©
fname_system=DOS ¥·¥¹¥Æ¥à ¥Õ¥é¥°¤òÊÝÂ¸¤·¤Þ¤¹¤«¡©

fperm_title1=¥Õ¥¡¥¤¥ëµö²Ä¤Î¥Ç¥Õ¥©¥ë¥È
fperm_title2=¥Õ¥¡¥¤¥ëµö²Ä¤ÎÊÔ½¸
fperm_option=¥Õ¥¡¥¤¥ëµö²Ä¤Î¥ª¥×¥·¥ç¥ó
fperm_filemode=¿·µ¬ Unix ¥Õ¥¡¥¤¥ë ¥â¡¼¥É
fperm_dirmode=¿·µ¬ Unix ¥Ç¥£¥ì¥¯¥È¥ê ¥â¡¼¥É
fperm_notlist=¥ê¥¹¥È¤·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê
fperm_forceuser=¶¯À© Unix ¥æ¡¼¥¶
fperm_forcegrp=¶¯À© Unix ¥°¥ë¡¼¥×
fperm_link=¶¦Í­¤Î³°¤Ç symlink ¤òµö²Ä¤·¤Þ¤¹¤«¡©
fperm_delro=ÆÉ¼è¤êÀìÍÑ¥Õ¥¡¥¤¥ë¤òºï½ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
fperm_forcefile=¶¯À© Unix ¥Õ¥¡¥¤¥ë ¥â¡¼¥É
fperm_forcedir=¶¯À© Unix ¥Ç¥£¥ì¥¯¥È¥ê ¥â¡¼¥É

share_title1=¥Õ¥¡¥¤¥ë¶¦Í­¥Ç¥Õ¥©¥ë¥È
share_title2=¥Õ¥¡¥¤¥ë¶¦Í­¤ÎÊÔ½¸
share_title3=¥Õ¥¡¥¤¥ë¶¦Í­¤ÎºîÀ®
share_info=¶¦Í­¾ðÊó
share_copy=¤³¤Î¶¦Í­¤Ï<i>$1</i>¤Î¥³¥Ô¡¼¤Ç¤¹
share_name=¶¦Í­Ì¾
share_home=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê ¶¦Í­
share_dir=¶¦Í­¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê
share_available=Í­¸ú¤Ë¤·¤Þ¤¹¤«¡©
share_browseable=¥Ö¥é¥¦¥º²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
share_comment=¶¦Í­¥³¥á¥ó¥È
share_view=ÀÜÂ³¤òÉ½¼¨
share_option=¤½¤ÎÂ¾¤Î¶¦Í­¥ª¥×¥·¥ç¥ó
share_security=¥»¥­¥å¥ê¥Æ¥£¤È¥¢¥¯¥»¥¹À©¸æ
share_permission=¥Õ¥¡¥¤¥ë¤Îµö²Ä
share_naming=¥Õ¥¡¥¤¥ëÌ¿Ì¾
share_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó

print_title1=¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó ¥Ç¥Õ¥©¥ë¥È
print_title2=¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤ÎÊÔ½¸
print_option=¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó
print_minspace=ºÇ¾®¶õ¤­ÎÎ°è
print_postscript=¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È°õºþ¤ò¶¯À©
print_command=°õºþ¥³¥Þ¥ó¥É
print_queue=¥­¥å¡¼ ¥³¥Þ¥ó¥É¤òÉ½¼¨
print_delete=¥¸¥ç¥Ö ¥³¥Þ¥ó¥É¤òºï½ü
print_pause=¥¸¥ç¥Ö ¥³¥Þ¥ó¥É¤ò°ì»þÄä»ß
print_unresume=¥æ¡¼¥¶Ì¾¥¸¥ç¥Ö ¥³¥Þ¥ó¥É
print_driver=¥×¥ê¥ó¥¿ ¥É¥é¥¤¥Ð

pshare_title1=¥×¥ê¥ó¥¿¶¦Í­¥Ç¥Õ¥©¥ë¥È
pshare_title2=¥×¥ê¥ó¥¿¶¦Í­¤ÎÊÔ½¸
pshare_title3=¥×¥ê¥ó¥¿¶¦Í­¤ÎºîÀ®
pshare_info=¶¦Í­¾ðÊó
pshare_name=¶¦Í­Ì¾
pshare_all=¤¹¤Ù¤Æ¤Î¥×¥ê¥ó¥¿¶¦Í­
pshare_unixprn=Unix ¥×¥ê¥ó¥¿
pshare_spool=¥¹¥×¡¼¥ë ¥Ç¥£¥ì¥¯¥È¥ê

sec_index1=¥»¥­¥å¥ê¥Æ¥£ ¥Ç¥Õ¥©¥ë¥È
sec_index2=¥»¥­¥å¥ê¥Æ¥£¤òÊÔ½¸
sec_writable=½ñ¹þ¤ß²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
sec_guest=¥²¥¹¥È¤Î¥¢¥¯¥»¥¹¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
sec_guestonly=¥²¥¹¥È¤Î¤ß
sec_guestaccount=¥²¥¹¥È Unix ¥æ¡¼¥¶
sec_limit=²ÄÇ½¤Ê¥ê¥¹¥È¤ËÀ©¸Â¤·¤Þ¤¹¤«¡©
sec_allowhost=µö²Ä¤¹¤ë¥Û¥¹¥È
sec_onlyallow=¼¡¤Î¤ßµö²Ä
sec_denyhost=µñÈÝ¤¹¤ë¥Û¥¹¥È
sec_onlydeny=¼¡¤Î¤ßµñÈÝ
sec_revalidate=¥æ¡¼¥¶¤òºÆÅÙ¸¡¾Ú¤·¤Þ¤¹¤«¡©
sec_validuser=Í­¸ú¤Ê¥æ¡¼¥¶
sec_validgroup=Í­¸ú¤Ê¥°¥ë¡¼¥×
sec_invaliduser=Ìµ¸ú¤Ê¥æ¡¼¥¶
sec_invalidgroup=Ìµ¸ú¤Ê¥°¥ë¡¼¥×
sec_possibleuser=²ÄÇ½¤Ê¥æ¡¼¥¶
sec_possiblegroup=²ÄÇ½¤Ê¥°¥ë¡¼¥×
sec_rouser=ÆÉ¼è¤êÀìÍÑ¥æ¡¼¥¶
sec_rogroup=ÆÉ¼è¤êÀìÍÑ¥°¥ë¡¼¥×
sec_rwuser=ÆÉ¼è¤ê/½ñ¹þ¤ß ¥æ¡¼¥¶
sec_rwgroup=ÆÉ¼è¤ê/½ñ¹þ¤ß ¥°¥ë¡¼¥×

esync_title=¥æ¡¼¥¶¤ÎÆ±´ü
esync_msg=Unix ¥æ¡¼¥¶ ¥ê¥¹¥È¤Ø¤ÎÊÑ¹¹¤¬¼«Æ°Åª¤Ë Samba ¥æ¡¼¥¶ ¥ê¥¹¥È¤ËÅ¬ÍÑ¤µ¤ì¤ë¤è¤¦¤Ë Webmin ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¥æ¡¼¥¶¤ÎÄÉ²Ã¡¢ºï½ü¡¢¤Þ¤¿¤ÏÊÑ¹¹¤¬<tt>¥æ¡¼¥¶¤È¥°¥ë¡¼¥×</tt> Webmin ¥â¥¸¥å¡¼¥ë¤¬»ÈÍÑ¤µ¤ì¤¿¤È¤­¤Î¤ßÆ°ºî¤·¤Þ¤¹¡£
esync_add=Unix¤Î¥æ¡¼¥¶¤¬ÄÉ²Ã¤µ¤ì¤¿¤È¤­¤Ë Samba ¥æ¡¼¥¶¤òÄÉ²Ã
esync_chg=Unix¤Î¥æ¡¼¥¶¤¬ÊÑ¹¹¤µ¤ì¤¿¤È¤­¤Ë Samba ¥æ¡¼¥¶¤òÊÑ¹¹
esync_del=Unix¤Î¥æ¡¼¥¶¤¬ºï½ü¤µ¤ì¤¿¤È¤­¤Ë Samba ¥æ¡¼¥¶¤òºï½ü
esync_apply=Å¬ÍÑ

mkpass_title=¥æ¡¼¥¶¤ÎÊÑ´¹
mkpass_convfail=¥æ¡¼¥¶¤òÊÑ´¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
mkpass_msg=Unix ¥æ¡¼¥¶¤òÊÑ´¹...
mkpass_skip=¥¹¥­¥Ã¥×¤·¤Þ¤·¤¿
mkpass_same=¤Ï¤¹¤Ç¤ËÆ±°ì¤Ç¤¹
mkpass_update=¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Þ¤·¤¿
mkpass_del=ºï½ü¤·¤Þ¤·¤¿
mkpass_passfail=¥Ñ¥¹¥ï¡¼¥É¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

savecopy_fail=¥³¥Ô¡¼¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savecopy_global='global' ¤È¤¤¤¦Ì¾Á°¤Ï¶¦Í­¤Ë»ÈÍÑ¤Ç¤­¤Þ¤»¤ó
savecopy_exist='$1' ¤È¤¤¤¦¶¦Í­¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹

saveuser_fail=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
saveuser_uid='$1' ¤ÏÌµ¸ú¤Ê Unix UID ¤Ç¤¹
saveuser_colon=¼ÂÌ¾¤Ë¤Ï¼¡¤ÎÊ¸»ú¤ò´Þ¤á¤é¤ì¤Þ¤»¤ó:
saveuser_home=¥Û¡¼¥à ¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
saveuser_shell='$1' ¤ÏÌµ¸ú¤Ê¥·¥§¥ë¤Ç¤¹
saveuser_pass=smbpasswd ¤ò»ÈÍÑ¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1

savefmisc_fail=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savefmisc_number='$1'¤ÏÌµ¸ú¤ÊÀÜÂ³¿ô¤Ç¤¹

savefperm_fail=¥Õ¥¡¥¤¥ë¤Îµö²Ä¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savefperm_mode='$1' ¤ÏÌµ¸ú¤Ê Unix ¥Õ¥¡¥¤¥ë ¥â¡¼¥É¤Ç¤¹

savefshare_fail=¶¦Í­¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savefshare_nopath=¥Ñ¥¹¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
savefshare_exist='$1' ¤È¤¤¤¦¶¦Í­¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
savefshare_mode='$1' ¤ÏÌµ¸ú¤Ê¶¦Í­Ì¾¤Ç¤¹
savefshare_global='global' ¤È¤¤¤¦Ì¾Á°¤Ï¶¦Í­¤Ë»ÈÍÑ¤Ç¤­¤Þ¤»¤ó

savemisc_fail=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savemisc_lockdir=¥í¥Ã¥¯ ¥Ç¥£¥ì¥¯¥È¥ê¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÏÂ¸ºß¤·¤Þ¤»¤ó
savemisc_logdir=¥í¥° ¥Õ¥¡¥¤¥ë¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÏÂ¸ºß¤·¤Þ¤»¤ó
savemisc_logsize='$1' ¤ÏÌµ¸ú¤Ê¥í¥° ¥µ¥¤¥º¤Ç¤¹
savemisc_overlap='$1' ¤ÏÌµ¸ú¤Ê¥ª¡¼¥Ð¡¼¥é¥Ã¥×¤Î¼Â¥µ¥¤¥º¤Ç¤¹
savemisc_chroot=chroot ¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
savemisc_smbrun=smbrun ¥×¥í¥°¥é¥à '$1' ¤ÏÂ¸ºß¤·¤Ê¤¤¤«¼Â¹Ô¤Ç¤­¤Þ¤»¤ó
savemisc_time='$1' ¤ÏÌµ¸ú¤Ê»þ´Ö¤Î¥ª¥Õ¥»¥Ã¥È¤Ç¤¹

savenet_fail=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savenet_timeout='$1' ¤ÏÌµ¸ú¤ÊÀÚÃÇ¤Î¥¿¥¤¥à¥¢¥¦¥È¤Ç¤¹
savenet_ip='$1' ¤ÏÌµ¸ú¤Ê IP¥Ð¥¤¥È¤Ç¤¹
savenet_keep='$1' ¤ÏÌµ¸ú¤Ê keepalive ´Ö³Ö¤Ç¤¹
savenet_maxxmit='$1' ¤ÏÌµ¸ú¤ÊºÇÂç¥Ñ¥±¥Ã¥È ¥µ¥¤¥º¤Ç¤¹

savepass_fail=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savepass_nopass=¤´»ÈÍÑ¤Î Samba ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó
savepass_passwd=¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¹¹¥×¥í¥°¥é¥à¤¬¤¢¤ê¤Þ¤»¤ó
savepass_level='$1' ¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÂçÊ¸»ú/¾®Ê¸»ú¤Î¶èÊÌ¤¬Ìµ¸ú¤Ç¤¹
savepass_chat=ÊÑ¹¹¥Ñ¥¹¥ï¡¼¥É ¥Á¥ã¥Ã¥È ¥·¡¼¥±¥ó¥¹¤¬¶õ¤Ç¤¹

savepopts_fail=¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savepopts_number=ºÇ¾®¶õ¤­ÎÎ°è¤Ï¿ô»ú¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó

saveprint_fail=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
saveprint_printcap=printcap ¥Õ¥¡¥¤¥ë '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
saveprint_cache='$1' ¤ÏÌµ¸ú¤Ê¥­¥ã¥Ã¥·¥å»þ´Ö¤Ç¤¹

savepshare_fail=¥×¥ê¥ó¥¿¶¦Í­¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savepshare_exist='$1' ¤È¤¤¤¦¶¦Í­¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
savepshare_name='$1' ¤ÏÌµ¸ú¤Ê¶¦Í­Ì¾¤Ç¤¹
savepshare_global='global' ¤È¤¤¤¦Ì¾Á°¤Ï¶¦Í­¤Ë»ÈÍÑ¤Ç¤­¤Þ¤»¤ó

savesec_fail=¥»¥­¥å¥ê¥Æ¥£¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

savesmb_fail=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
savesmb_size='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥¹¥¯ ¥µ¥¤¥º¤Ç¤¹
savesmb_oslevel='$1' ¤ÏÌµ¸ú¤Ê¥Þ¥¹¥¿¡¼ ¥Ö¥é¥¦¥¶¤ÎÍ¥ÀèÅÙ¤Ç¤¹
savesmb_server=¥Ñ¥¹¥ï¡¼¥É ¥µ¡¼¥Ð¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹

start_err=Samba ¥µ¡¼¥Ð¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
start_fail=$1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿

swats_fail=¥æ¡¼¥¶Ì¾¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
swats_user=SWAT ¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤»¤ó

viewu_index=¸½ºß¤Î¥æ¡¼¥¶
viewu_list=$1 ¤Î¸½ºß¤Î¥æ¡¼¥¶
viewu_share=¶¦Í­
viewu_user=¥æ¡¼¥¶
viewu_group=¥°¥ë¡¼¥×
viewu_from=ÀÜÂ³¸µ
viewu_time=ÀÜÂ³Æü»þ
viewu_pid=¥×¥í¥»¥¹ ID
viewu_msg1=¥æ¡¼¥¶¤òÀÚÃÇ¤¹¤ë¤Ë¤Ï¡¢¾å¤Î¥ê¥¹¥È¤Ç¥×¥í¥»¥¹ ID ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
viewu_msg2=¸½ºßÀÜÂ³¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤Ï¤¢¤ê¤Þ¤»¤ó

log_apply=Samba ¥µ¡¼¥Ð¤òºÆµ¯Æ°
log_start=Samba ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_save_fshare=¥Õ¥¡¥¤¥ë¶¦Í­ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_pshare=¥×¥ê¥ó¥¿¶¦Í­ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_sec=¶¦Í­ $1 ¤Î¥»¥­¥å¥ê¥Æ¥£¤È¥¢¥¯¥»¥¹À©¸æ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_fperm=¶¦Í­ $1 ¤Î¥Õ¥¡¥¤¥ëµö²Ä¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_fname=¶¦Í­ $1 ¤Î¥Õ¥¡¥¤¥ëÌ¿Ì¾¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_fmisc=¶¦Í­ $1 ¤Î¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_save_popts=¶¦Í­ $1 ¤Î¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_default_fshare=¥Õ¥¡¥¤¥ë¶¦Í­¥Ç¥Õ¥©¥ë¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_default_pshare=¥×¥ê¥ó¥¿¶¦Í­¥Ç¥Õ¥©¥ë¥È¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_kill=¥×¥í¥»¥¹ $1 ¤òÀÚÃÇ¤·¤Þ¤·¤¿
log_skill=¥×¥í¥»¥¹ $1 ¤ò¶¦Í­ $2 ¤«¤éÀÚÃÇ¤·¤Þ¤·¤¿
log_create_fshare=¥Õ¥¡¥¤¥ë¶¦Í­ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_create_pshare=¥×¥ê¥ó¥¿¶¦Í­ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_delete_fshare=¥Õ¥¡¥¤¥ë¶¦Í­ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_delete_pshare=¥×¥ê¥ó¥¿¶¦Í­ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_net=Unix ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_smb=Windows ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_pass=Ç§¾Ú¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_print=Windows°õºþ¥ª¥×¥·¥ç¥ó¤«¤é Unix °õºþ¥ª¥×¥·¥ç¥ó¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_sync=Unix ¥æ¡¼¥¶Æ±´ü¤òÀßÄê¤·¤Þ¤·¤¿
log_epass=Unix ¥æ¡¼¥¶¤ò Samba ¥æ¡¼¥¶¤ËÊÑ´¹¤·¤Þ¤·¤¿
log_epass_l=Unix ¥æ¡¼¥¶¤ò Samba ¥æ¡¼¥¶¤ËÊÑ´¹¤·¤Þ¤·¤¿ ($1ºîÀ®¡¢ $2 ÊÑ¹¹¡¢$3 ºï½ü)
log_copy=¶¦Í­ $2 ¤ò $1 ¤Ë¥³¥Ô¡¼¤·¤Þ¤·¤¿
log_save_euser=Samba ¥æ¡¼¥¶ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_euser=Samba ¥æ¡¼¥¶ $1 ¤òºï½ü¤·¤Þ¤·¤¿

swat_title=SWAT ¥í¥°¥¤¥ó
swat_list=SWAT ¥í¥°¥¤¥ó
swat_msg1=¸½ºß¤Î SWAT ¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ÏÉÔÀµ¤Ç¤¹¡£ºÆÅÙ¥í¥°¥¤¥ó¤¹¤ë¤Ë¤Ï²¼¤Î²èÌÌ¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
swat_msg2=SWAT ¤Ë¥í¥°¥¤¥ó¤¹¤ë¤Ë¤Ï¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤¬É¬Í×¤Ç¤¹¡£ÄÌ¾ï¤Ï¥·¥¹¥Æ¥à¤ÎÇ¤°Õ¤Î¥æ¡¼¥¶¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£
swat_msg3=Samba ¤ÎÀßÄê¤Ç<tt>$1:...</tt> (¥Û¥¹¥È¤òµö²Ä) ¥ª¥×¥·¥ç¥ó¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤ë¤¿¤á Webmin ¤òÄÌ¤¸¤Æ.SWAT ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£
swat_msg4=¤¿¤À¤·¡¢Ä¾ÀÜ $1 ¤Ç SWAT ¤ËÀÜÂ³¤Ç¤­¤Þ¤¹¡£
swat_username=¥æ¡¼¥¶Ì¾
swat_password=¥Ñ¥¹¥ï¡¼¥É
swat_login=¥í¥°¥¤¥ó
swat_clear=¥¯¥ê¥¢

eacl_aviol=¥¢¥¯¥»¥¹À©¸æ°ãÈ¿
eacl_np=¼¡¤ÎÁàºî¤Îµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó:
eacl_papply=¤³¤Î¥µ¡¼¥Ó¥¹¤òºÆÅÙ³«»Ï
eacl_pcn=Unix ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_pcs=smb ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_pcp=¥Ñ¥¹¥ï¡¼¥É ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_pcprint=°õºþ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_pcm=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÔ½¸
eacl_pcswat=SWAT ¤ò»ÈÍÑ
eacl_pcopy=¶¦Í­¤ò¥³¥Ô¡¼
eacl_pconn_all=¤¹¤Ù¤Æ¤ÎÀÜÂ³¤òÉ½¼¨
eacl_pconn=¤³¤Î¶¦Í­¤ÎÀÜÂ³¤òÉ½¼¨
eacl_pgkill=ÀÜÂ³¤ò kill
eacl_pkill=¤³¤ÎÀÜÂ³¤ò kill
eacl_pus=¶¦Í­¤ò¹¹¿·
eacl_pcs=¶¦Í­¤òºîÀ®
eacl_pds=¶¦Í­¤òºï½ü
eacl_pusec=¤³¤Î¶¦Í­¤Î¥»¥­¥å¥ê¥Æ¥£¤È¥¢¥¯¥»¥¹À©¸æ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·
eacl_pufperm=¤³¤Î¶¦Í­¤Î¥Õ¥¡¥¤¥ëµö²Ä¥ª¥×¥·¥ç¥ó¤ò¹¹¿·
eacl_pufname=¤³¤Î¶¦Í­¤Î¥Õ¥¡¥¤¥ëÌ¿Ì¾¥ª¥×¥·¥ç¥ó¤ò¹¹¿·
eacl_pufmisc=¤³¤Î¶¦Í­¤Î¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤ò¹¹¿·
eacl_pupopt=¤³¤Î¶¦Í­¤Î¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤ò¹¹¿·
eacl_pmpass=SAMBA ¥æ¡¼¥¶ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò½é´ü²½
eacl_pmsync=UNIX-SAMBA ¥æ¡¼¥¶Æ±´ü¤òÊÝ»ý
eacl_pmusers=SAMBA ¥æ¡¼¥¶¤òÊÝ»ý
eacl_pvusers=SAMBA ¥æ¡¼¥¶¤Ë¥¢¥¯¥»¥¹
eacl_pvfmisc=¤³¤Î¶¦Í­¤Î¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹
eacl_pvfname=¤³¤Î¶¦Í­¤Î¥Õ¥¡¥¤¥ëÌ¿Ì¾¥ª¥×¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹
eacl_pvperm=¤³¤Î¶¦Í­¤Î¥Õ¥¡¥¤¥ëµö²Ä¥ª¥×¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹
eacl_pvsec=¤³¤Î¶¦Í­¤Î¥»¥­¥å¥ê¥Æ¥£¤È¥¢¥¯¥»¥¹À©¸æ¥ª¥×¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹
eacl_pvpopt=¤³¤Î¶¦Í­¤Î¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤Ë¥¢¥¯¥»¥¹
eacl_pafs=¤³¤Î¥Õ¥¡¥¤¥ë¶¦Í­¤Ë¥¢¥¯¥»¥¹
eacl_paps=¤³¤Î¥×¥ê¥ó¥¿¶¦Í­¤Ë¥¢¥¯¥»¥¹
eacl_pcps=¥×¥ê¥ó¥¿¶¦Í­¤òºîÀ®
eacl_pcfs=¥Õ¥¡¥¤¥ë¶¦Í­¤òºîÀ®

acl_apply=ÊÑ¹¹¤òÅ¬ÍÑ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_view_all_con=¤¹¤Ù¤Æ¤ÎÀÜÂ³¤òÉ½¼¨²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_kill_con=ÀÜÂ³¤òÀÚÃÇ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_conf_net=UNIX ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_conf_smb=Windows ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_conf_pass=Ç§¾Ú¥ª¥×¥·¥ç¥ó¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_conf_print=¥×¥ê¥ó¥¿ ¥ª¥×¥·¥ç¥ó¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_conf_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_swat=SWAT ¤ò»ÈÍÑ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_enc_passwd_opts=°Å¹æ²½¥Ñ¥¹¥ï¡¼¥É ¥ª¥×¥·¥ç¥ó
acl_view_users=SAMBA ¥æ¡¼¥¶ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÉ½¼¨²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_maint_users=SAMBA ¥æ¡¼¥¶¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_maint_makepass=UNIX ¥æ¡¼¥¶¤ò SAMBA ¥æ¡¼¥¶¤ËÊÑ´¹²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_maint_sync=UNIX ¥æ¡¼¥¶¤ò SAMBA ¥æ¡¼¥¶¤Ë¼«Æ°Æ±´ü²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_hide=¥¢¥¯¥»¥¹ÉÔ²Ä¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÈóÉ½¼¨¤Ë¤·¤Þ¤¹¤«¡©
acl_c=ºîÀ®
acl_r=ÆÉ¼è¤ê
acl_w=½ñ¹þ¤ß
acl_afs=¥Õ¥¡¥¤¥ë¶¦Í­¤Ë¥¢¥¯¥»¥¹
acl_aps=°õºþ¶¦Í­¤Ë¥¢¥¯¥»¥¹
acl_copy=¶¦Í­¤ò¥³¥Ô¡¼²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_per_fs_acls=¥Õ¥¡¥¤¥ë¶¦Í­¤´¤È¤Î¥¢¥¯¥»¥¹À©¸æ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
acl_per_ps_acls=°õºþ¶¦Í­¤´¤È¤Î¥¢¥¯¥»¥¹À©¸æ¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
acl_per_share_acls=¶¦Í­¤´¤È¤Î¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È...
acl_ernow=¥°¥í¡¼¥Ð¥ë ¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ïÎà¤Î½ñ¹þ¤ß¤ò²ÄÇ½¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¼ïÎà¤ÎÆÉ¼è¤ê¥¢¥¯¥»¥¹¤â²ÄÇ½¤Ë¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
acl_sname=¶¦Í­Ì¾
acl_saccess=¶¦Í­¤Ë¥¢¥¯¥»¥¹
acl_sconn=ÀÜÂ³
acl_sopthdr=¶¦Í­¥ª¥×¥·¥ç¥ó
acl_ssec=¥»¥­¥å¥ê¥Æ¥£
acl_sperm=µö²Ä
acl_snaming=¥Õ¥¡¥¤¥ëÌ¿Ì¾
acl_smisc=¤½¤ÎÂ¾
acl_sprn=¤Þ¤¿¤Ï¥×¥ê¥ó¥¿
acl_na=»ÈÍÑÉÔ²Ä
acl_r1=ÆÉ¼è¤êÀìÍÑ
acl_rw=ÆÉ¼è¤ê/½ñ¹þ¤ß
acl_view=É½¼¨
acl_kill=kill
acl_edit=ÊÔ½¸
   0707010001fb2d000081a40000000000000002000000013d1fe2bd00004341000000200000000000000000000000000000001b00000003reloc/samba/lang/ko_KR.euc    index_title=»ï¹Ù °øÀ¯ °ü¸®ÀÚ
index_sharelist=°øÀ¯ ¸ñ·Ï
index_userlist=»ç¿ëÀÚ ¸ñ·Ï
index_fileshare=ÆÄÀÏ °øÀ¯
index_printershare=ÇÁ¸°ÅÍ °øÀ¯
index_shareconf=°øÀ¯ ±¸¼º

index_sharename=°øÀ¯ ÀÌ¸§
index_path=°æ·Î
index_security=º¸¾È
index_homedir=¸ðµç È¨ µð·ºÅä¸®
index_allprinter=¸ðµç ÇÁ¸°ÅÍ
index_printer=ÇÁ¸°ÅÍ
index_defaultprn=±âº» ÇÁ¸°ÅÍ
index_printableto=ÀÎ¼â Çã¿ë ´ë»ó
index_prneveryone=¸ðµç »ç¿ëÀÚÀÇ ÀÎ¼â Çã¿ë
index_prnalluser=¾Ë·ÁÁø ¸ðµç »ç¿ëÀÚÀÇ ÀÎ¼â Çã¿ë
index_rwpublic=¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â/¾²±â Çã¿ë
index_readonly=$1ÀÇ ÀÐ±â¸¸ Çã¿ë<br>±× ¿Ü ¾Ë·ÁÁø ¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â/¾²±â Çã¿ë
index_rwalluser=¾Ë·ÁÁø ¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â/¾²±â Çã¿ë
index_roeveryone=¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â¸¸ Çã¿ë
index_readwrite=$1ÀÇ ÀÐ±â/¾²±â Çã¿ë<br>±âÅ¸ ¾Ë·ÁÁø ¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â¸¸ Çã¿ë
index_roalluser=¾Ë·ÁÁø ¸ðµç »ç¿ëÀÚÀÇ ÀÐ±â¸¸ Çã¿ë
index_noshares=Á¤ÀÇµÈ »ï¹Ù °øÀ¯°¡ ¾ø½À´Ï´Ù
index_createfileshare=»õ ÆÄÀÏ °øÀ¯ ÀÛ¼º
index_createprnshare=»õ ÇÁ¸°ÅÍ °øÀ¯ ÀÛ¼º
index_createcopy=»õ »çº» ÀÛ¼º
index_view=¸ðµç ¿¬°á º¸±â
index_start=»ï¹Ù ¼­¹ö ½ÃÀÛ
index_startmsg=½Ã½ºÅÛ¿¡¼­ »ï¹Ù ¼­¹ö°¡ ½ÇÇàµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº, ´Ù¸¥ ÄÄÇ»ÅÍ°¡ À§¿¡ ³ª¿­µÈ °øÀ¯·Î Á¢±ÙÇÒ ¼ö ¾øÀ½À» ÀÇ¹ÌÇÕ´Ï´Ù.
index_restart=»ï¹Ù ¼­¹ö Àç½ÃÀÛ
index_restartmsg=½Ã½ºÅÛ¿¡¼­ ½ÇÇà ÁßÀÎ »ï¹Ù ¼­¹ö¸¦ ´Ù½Ã ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°¸¦ ´©¸£½Ê½Ã¿À. ±×·¯¸é ÇöÀç ±¸¼ºÀÌ Àû¿ëµË´Ï´Ù.

config_mins=ºÐ
config_secs=ÃÊ
config_bytes=¹ÙÀÌÆ®
config_never=¾ÈÇÔ
config_all=¸ðµÎ
config_neither=µÑ´Ù ¾Æ´Ô

global_title=±Û·Î¹ú ±¸¼º
global_unixnetwork=À¯´Ð½º ³×Æ®¿öÅ·
global_winnetwork=À©µµ¿ì ³×Æ®¿öÅ·
global_auth=ÀÎÁõ
global_printing=À©µµ¿ì¿¡¼­ À¯´Ð½º·Î ÀÎ¼â
global_misc=±âÅ¸ ¿É¼Ç
global_filedefault=ÆÄÀÏ °øÀ¯ ±âº»°ª
global_prndefault=ÇÁ¸°ÅÍ °øÀ¯ ±âº»°ª
global_password=ÆÐ½º¿öµåÈ­µÈ ÆÐ½º¿öµå
global_edit=»ï¹Ù »ç¿ëÀÚ ¹× ÆÐ½º¿öµå ÆíÁý
global_convert=À¯´Ð½º »ç¿ëÀÚ¸¦ »ï¹Ù »ç¿ëÀÚ·Î º¯È¯
global_sync=À¯´Ð½º ¹× »ï¹Ù »ç¿ëÀÚ ÀÚµ¿ µ¿±âÈ­ ±¸¼º

error_nosamba=»ï¹Ù ¼­¹ö ½ÇÇà ÆÄÀÏ <tt>$1</tt>ÀÌ(°¡) ¾ø½À´Ï´Ù. ½Ã½ºÅÛ¿¡ »ï¹Ù°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href="$2">¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
error_version=WebminÀÌ »ï¹Ù ¼­¹ö ½ÇÇà ÆÄÀÏ <tt>$1</tt>ÀÇ ¹öÀüÀ» È®ÀÎÇÏÁö ¸øÇß½À´Ï´Ù. <a href="$2">¸ðµâ ±¸¼º</a>À» °Ë»çÇÏ¿© °æ·Î°¡ ¿Ã¹Ù¸¥Áö È®ÀÎÇÏ½Ê½Ã¿À.
error_config=±¸¼º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ½Ã½ºÅÛ¿¡ »ï¹Ù°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href="$2">¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
error_include=WebminÀº <tt>config</tt> ¶Ç´Â <tt>include</tt> config³ª include Áö½Ã¾î°¡ »ç¿ëµÈ »ï¹Ù ±¸¼º ÆÄÀÏÀº Ã³¸®ÇÒ ¼ö ¾ø½À´Ï´Ù.
error_delshare=°øÀ¯¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
error_delcopy=°øÀ¯ '$1'ÀÌ(°¡) ÀÌ °øÀ¯·ÎºÎÅÍ º¹»çµË´Ï´Ù
error_savename=ÆÄÀÏ ¸í¸íÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

convert_title=»ç¿ëÀÚ º¯È¯
convert_msg=ÀÌ ¾ç½ÄÀº À¯´Ð½º ¹× »ï¹Ù »ç¿ëÀÚ ¸ñ·ÏÀ» µ¿±âÈ­ÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. »ï¹Ù¿¡¼­ <a href=$1>¾ÏÈ£È­µÈ ÆÐ½º¿öµå</a>¸¦ »ç¿ë ÁßÀÏ ¶§´Â º°µµÀÇ »ç¿ëÀÚ ¹× ÆÐ½º¿öµå ¸ñ·ÏÀÌ ½Ã½ºÅÛ »ç¿ëÀÚ ¸ñ·Ï ´ë½Å¿¡ »ç¿ëµË´Ï´Ù.
convert_noconv=º¯È¯ ¶Ç´Â Á¦°ÅÇÏÁö ¾ÊÀ» »ç¿ëÀÚ:
convert_update=À¯´Ð½º ¼¼ºÎ Á¤º¸·ÎºÎÅÍ ±âÁ¸ »ï¹Ù »ç¿ëÀÚ ¾÷µ¥ÀÌÆ®
convert_add=À¯´Ð½º »ç¿ëÀÚ ¸ñ·ÏÀ¸·ÎºÎÅÍ »õ »ï¹Ù »ç¿ëÀÚ Ãß°¡
convert_delete=À¯´Ð½º¿¡ ¾ø´Â »ï¹Ù »ç¿ëÀÚ »èÁ¦
convert_newuser=»õ·Î ÀÛ¼ºµÈ »ç¿ëÀÚ¿ëÀ¸·Î ¼³Á¤ÇÒ ÆÐ½º¿öµå:
convert_nopasswd=ÆÐ½º¿öµå ¾øÀ½
convert_lock=°èÁ¤ Àá±è
convert_passwd=ÀÌ ÆÐ½º¿öµå »ç¿ë
convert_convert=»ç¿ëÀÚ º¯È¯

misc_title=±âÅ¸ ¿É¼Ç
misc_debug=µð¹ö±× ¼öÁØ
misc_cachecall=Ä³½Ã<tt>getwd()</tt>¸¦ È£ÃâÇÕ´Ï±î?
misc_lockdir=µð·ºÅä¸® Àá±Ý
misc_log=·Î±× ÆÄÀÏ
misc_maxlog=ÃÖ´ë ·Î±× Å©±â
misc_rawread=¿ø½Ã ÀÐ±â¸¦ Çã¿ëÇÕ´Ï±î?
misc_rawwrite=¿ø½Ã ¾²±â¸¦ Çã¿ëÇÕ´Ï±î?
misc_overlapread=Áßº¹µÇ´Â ÀÐÀ½ Å©±â
misc_chroot=<tt>chroot()</tt> µð·ºÅä¸®
misc_smbrun=<tt>smbrun</tt> °æ·Î
misc_clienttime=Å¬¶óÀÌ¾ðÆ® ½Ã°£ ¿ÀÇÁ¼Â
misc_readprediction=ÀÐ±â¸¦ ¿¹»óÇÕ´Ï±î?

net_title=À¯´Ð½º ³×Æ®¿öÅ· ¿É¼Ç
net_idle=¿¬°á ²÷±â Àü À¯ÈÞ ½Ã°£
net_trustlist=½Å·ÚÇÒ ¼ö ÀÖ´Â È£½ºÆ®/»ç¿ëÀÚ ÆÄÀÏ
net_netinterface=³×Æ®¿öÅ© ÀÎÅÍÆäÀÌ½º
net_auto=ÀÚµ¿
net_uselist=»ç¿ëÀÚ ¸ñ·Ï...
net_interface=ÀÎÅÍÆäÀÌ½º
net_netmask=³Ý¸¶½ºÅ©
net_keepalive=¿¬°á À¯Áö ÆÐÅ¶
net_notsend=¾Æ¹« Àü¼Û ¾ÈÇÔ
net_every=¸ðµÎ Àü¼Û
net_maxpacket=ÃÖ´ë ÆÐÅ¶ Å©±â
net_listen=¼ö½Å ´ë±â ÁÖ¼Ò
net_socket=¼ÒÄÏ ¿É¼Ç

passwd_title=ÆÐ½º¿öµå ¿É¼Ç
passwd_encrypt=ÆÐ½º¿öµåÈ­µÈ ÆÐ½º¿öµå¸¦ »ç¿ëÇÕ´Ï±î?
passwd_allownull=null ÆÐ½º¿öµå¸¦ Çã¿ëÇÕ´Ï±î?
passwd_program=ÆÐ½º¿öµå ÇÁ·Î±×·¥
passwd_case=ÆÐ½º¿öµå ´ë¼Ò¹®ÀÚ ±¸ºÐ
passwd_chat=ÆÐ½º¿öµå º¯°æ ¹®±¸
passwd_below=¾Æ·¡ ³ª¿­µÈ Ç×¸ñ:
passwd_waitfor=´ë±â
passwd_send=Àü¼Û
passwd_map=»ç¿ëÀÚ ÀÌ¸§ ¸ÅÇÎ
passwd_unixuser=À¯´Ð½º »ç¿ëÀÚ
passwd_winuser=À©µµ¿ì »ç¿ëÀÚ

print_title=ÀÎ¼â ¿É¼Ç
print_style=À¯´Ð½º ÀÎ¼â ½ºÅ¸ÀÏ
print_show=¸ðµç ÇÁ¸°ÅÍ¸¦ Ç¥½ÃÇÕ´Ï±î?
print_printcap=Printcap ÆÄÀÏ
print_cachetime=ÇÁ¸°ÅÍ »óÅÂ Ä³½Ã ½Ã°£

smb_title=À©µµ¿ì ³×Æ®¿öÅ· ¿É¼Ç
smb_workgroup=ÀÛ¾÷ ±×·ì
smb_wins=WINS ¸ðµå
smb_winsserver=WINS ¼­¹ö
smb_useserver=¼­¹ö »ç¿ë
smb_description=¼­¹ö ¼³¸í
smb_name=¼­¹ö ÀÌ¸§
smb_aliase=¼­¹ö º°Äª
smb_default=±âº» ¼­ºñ½º
smb_show=Ç×»ó ¼­ºñ½º Ç¥½Ã
smb_disksize=º¸°íµÇ´Â ÃÖ´ë µð½ºÅ© Å©±â
smb_unlimited=Á¦ÇÑ ¾øÀ½
smb_winpopup=Winpopup ¸í·É
smb_priority=¸¶½ºÅÍ ºê¶ó¿ìÀú ¿ì¼± ¼øÀ§
smb_protocol=ÃÖ»óÀ§ ÇÁ·ÎÅäÄÝ
smb_master=¸¶½ºÅÍ ºê¶ó¿ìÀúÀÔ´Ï±î?
smb_security=º¸¾È
smb_sharelevel=°øÀ¯ ¼öÁØ
smb_userlevel=»ç¿ëÀÚ ¼öÁØ
smb_passwdserver=ÆÐ½º¿öµå ¼­¹ö
smb_domain=µµ¸ÞÀÎ
smb_announce=¿ø°Ý ¾Ë¸² ´ë»ó
smb_nowhere=´ë»ó À§Ä¡ ¾øÀ½
smb_fromlist=¸ñ·Ï¿¡ ÀÖ´Â ´ë»ó...
smb_ip=IP ÁÖ¼Ò
smb_asworkgroup=<b>ÀÛ¾÷ ±×·ìÀ¸·Î</b>(¼±ÅÃ »çÇ×)

create_title=»çº» ÀÛ¼º
create_msg=»çº» °øÀ¯´Â ¼±ÅÃÇÑ °øÀ¯ÀÇ ¸ðµç ±âº»°ªÀ» °è½ÂÇÕ´Ï´Ù. ¼Ò½º °øÀ¯¸¦ º¯°æÇÏ¸é »çº» °øÀ¯µµ º¯°æµË´Ï´Ù. 
create_from=º¹»çÇÒ °øÀ¯ÀÇ ¼Ò½º À§Ä¡:
create_name=»õ °øÀ¯ ÀÌ¸§:

smbuser_title=»ï¹Ù »ç¿ëÀÚ
smbuser_list=»ï¹Ù »ç¿ëÀÚ ¸ñ·Ï
smbuser_nouser=Á¤ÀÇµÈ »ï¹Ù »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù

euser_title=»ï¹Ù »ç¿ëÀÚ ÆíÁý
euser_name=»ç¿ëÀÚ ÀÌ¸§
euser_uid=À¯´Ð½º UID
euser_passwd=ÆÐ½º¿öµå
euser_noaccess=Á¢±Ù ±ÇÇÑ ¾øÀ½
euser_nopw=ÆÐ½º¿öµå ¾øÀ½
euser_currpw=ÇöÀç ÆÐ½º¿öµå
euser_newpw=»õ ÆÐ½º¿öµå
euser_realname=½ÇÁ¦ ÀÌ¸§
euser_homedir=È¨ µð·ºÅä¸®
euser_shell=½©
euser_option=»ç¿ëÀÚ ¿É¼Ç
euser_normal=ÀÏ¹Ý »ç¿ëÀÚ
euser_nopwrequired=ÆÐ½º¿öµå ÇÊ¿ä ¾øÀ½
euser_disable=°èÁ¤ »ç¿ë ºÒ´É
euser_trust=½Å·ÚÇÒ ¼ö ÀÖ´Â ¿öÅ©½ºÅ×ÀÌ¼Ç °èÁ¤

fmisc_title=±âÅ¸ ÆÄÀÏ ±âº»°ª
fmisc_for=°øÀ¯ <tt>$1</tt>
fmisc_lockfile=ÆÄÀÏÀ» Àá±Þ´Ï±î?
fmisc_maxconn=ÃÖ´ë ¿¬°á ¼ö
fmisc_fake=oplocks¸¦ À§Á¶ÇÕ´Ï±î?
fmisc_sharemode=°øÀ¯ ¸ðµå¸¦ »ç¿ëÇÕ´Ï±î?
fmisc_strict=¾ö°ÝÇÑ Àá±ÝÀÔ´Ï±î?
fmisc_sync=¾²±â ÈÄ µ¿±âÈ­ÇÕ´Ï±î?
fmisc_volume=º¼·ý ÀÌ¸§
fmisc_sameas=°øÀ¯¿Í µ¿ÀÏ
fmisc_unixdos=À¯´Ð½º-µµ½º ÆÄÀÏ ÀÌ¸§ ¸ÅÇÎ
fmisc_conncmd=¿¬°áÇÒ ¶§ ½ÇÇàÇÒ ¸í·É
fmisc_disconncmd=¿¬°áÀ» ²÷À» ¶§ ½ÇÇàÇÒ ¸í·É
fmisc_rootconn=<i>root·Î¼­</i> ¿¬°áÇÒ ¶§ ½ÇÇàÇÒ ¸í·É
fmisc_rootdisconn=<i>root·Î¼­</i> ¿¬°áÀ» ²÷À» ¶§ ½ÇÇàÇÒ ¸í·É

fname_title1=ÆÄÀÏ ¸í¸í ±âº»°ª
fname_title2=ÆÄÀÏ ¸í¸í ÆíÁý
fname_option=ÆÄÀÏ ¸í¸í ¿É¼Ç
fname_manglecase=´ë¼Ò¹®ÀÚ¸¦ ¹«½ÃÇÕ´Ï±î?
fname_case=´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÕ´Ï±î?
fname_defaultcase=±âº» °ª
fname_lower=¼Ò¹®ÀÚ
fname_upper=´ë¹®ÀÚ
fname_preserve=´ë¼Ò¹®ÀÚ¸¦ À¯ÁöÇÕ´Ï±î?
fname_shortpreserve=´ë¼Ò¹®ÀÚ¸¦ ´Ü±â°£ À¯ÁöÇÕ´Ï±î?
fname_hide=Á¡ ÆÄÀÏÀ» ¼û±é´Ï±î?
fname_archive=µµ½º º¸°ü ÇÃ·¡±×¸¦ ÀúÀåÇÕ´Ï±î?
fname_hidden=µµ½º ¼û±è ÇÃ·¡±×¸¦ ÀúÀåÇÕ´Ï±î?
fname_system=µµ½º ½Ã½ºÅÛ ÇÃ·¡±×¸¦ ÀúÀåÇÕ´Ï±î?

fperm_title1=ÆÄÀÏ »ç¿ë ±ÇÇÑ ±âº»°ª
fperm_title2=ÆÄÀÏ »ç¿ë ±ÇÇÑ ÆíÁý
fperm_option=ÆÄÀÏ »ç¿ë ±ÇÇÑ ¿É¼Ç
fperm_filemode=»õ À¯´Ð½º ÆÄÀÏ ¸ðµå
fperm_dirmode=»õ À¯´Ð½º µð·ºÅä¸® ¸ðµå
fperm_notlist=¸ñ·Ï¿¡¼­ Á¦¿ÜÇÒ µð·ºÅä¸®
fperm_forceuser=À¯´Ð½º »ç¿ëÀÚ °­Á¦ Àû¿ë
fperm_forcegrp=À¯´Ð½º ±×·ì °­Á¦ Àû¿ë
fperm_link=°øÀ¯ ¿ÜºÎÀÇ ±âÈ£ ¸µÅ©¸¦ Çã¿ëÇÕ´Ï±î?
fperm_delro=ÀÐ±â Àü¿ë ÆÄÀÏÀ» »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï±î?
fperm_forcefile=À¯´Ð½º ÆÄÀÏ ¸ðµå °­Á¦ Àû¿ë
fperm_forcedir=À¯´Ð½º µð·ºÅä¸® ¸ðµå °­Á¦ Àû¿ë

share_title1=ÆÄÀÏ °øÀ¯ ±âº»°ª
share_title2=ÆÄÀÏ °øÀ¯ ÆíÁý
share_title3=ÆÄÀÏ °øÀ¯ ÀÛ¼º
share_info=°øÀ¯ Á¤º¸
share_copy=ÀÌ °øÀ¯´Â <i>$1</i>ÀÇ »çº»ÀÔ´Ï´Ù
share_name=°øÀ¯ ÀÌ¸§
share_home=È¨ µð·ºÅä¸® °øÀ¯
share_dir=°øÀ¯ÇÒ µð·ºÅä¸®
share_available=»ç¿ëÇÒ ¼ö ÀÖ½À´Ï±î?
share_browseable=Ã£¾Æº¼ ¼ö ÀÖ½À´Ï±î?
share_comment=°øÀ¯ ¼³¸í
share_view=¿¬°á º¸±â
share_option=´Ù¸¥ °øÀ¯ ¿É¼Ç
share_security=º¸¾È ¹× Á¢±Ù Á¦¾î
share_permission=ÆÄÀÏ »ç¿ë ±ÇÇÑ
share_naming=ÆÄÀÏ ¸í¸í
share_misc=±âÅ¸ ¿É¼Ç

print_title1=ÇÁ¸°ÅÍ ¿É¼Ç ±âº»°ª
print_title2=ÇÁ¸°ÅÍ ¿É¼Ç ÆíÁý
print_option=ÇÁ¸°ÅÍ ¿É¼Ç
print_minspace=»ç¿ë °¡´ÉÇÑ ÃÖ¼Ò °ø°£
print_postscript=Æ÷½ºÆ®½ºÅ©¸³Æ® ÀÎ¼â °­Á¦ Àû¿ë
print_command=ÀÎ¼â ¸í·É
print_queue=´ë±â¿­ Ç¥½Ã ¸í·É
print_delete=ÀÛ¾÷ »èÁ¦ ¸í·É
print_pause=ÀÛ¾÷ ÀÏ½Ã ÁßÁö ¸í·É
print_unresume=ÀÛ¾÷ Àç½ÃÀÛ ÇØÁ¦ ¸í·É
print_driver=ÇÁ¸°ÅÍ µå¶óÀÌ¹ö

pshare_title1=ÇÁ¸°ÅÍ °øÀ¯ ±âº»°ª
pshare_title2=ÇÁ¸°ÅÍ °øÀ¯ ÆíÁý
pshare_title3=ÇÁ¸°ÅÍ °øÀ¯ ÀÛ¼º
pshare_info=°øÀ¯ Á¤º¸
pshare_name=°øÀ¯ ÀÌ¸§
pshare_all=¸ðµç ÇÁ¸°ÅÍ °øÀ¯
pshare_unixprn=À¯´Ð½º ÇÁ¸°ÅÍ
pshare_spool=½ºÇ® µð·ºÅä¸®

sec_index1=º¸¾È ±âº»°ª
sec_index2=º¸¾È ÆíÁý
sec_writable=¾µ ¼ö ÀÖ½À´Ï±î?
sec_guest=°Ô½ºÆ® Á¢±Ù¸¦ Çã¿ëÇÕ´Ï±î?
sec_guestonly=°Ô½ºÆ®¸¸
sec_guestaccount=°Ô½ºÆ® À¯´Ð½º »ç¿ëÀÚ
sec_limit=°¡´ÉÇÑ ¸ñ·ÏÀ¸·Î Á¦ÇÑÇÕ´Ï±î?
sec_allowhost=Çã¿ëÇÒ È£½ºÆ®
sec_onlyallow=Çã¿ë¸¸
sec_denyhost=°ÅºÎÇÒ È£½ºÆ®
sec_onlydeny=°ÅºÎ¸¸
sec_revalidate=»ç¿ëÀÚ¸¦ ´Ù½Ã È®ÀÎÇÕ´Ï±î?
sec_validuser=À¯È¿ÇÑ »ç¿ëÀÚ
sec_validgroup=À¯È¿ÇÑ ±×·ì
sec_invaliduser=Àß¸øµÈ »ç¿ëÀÚ
sec_invalidgroup=Àß¸øµÈ ±×·ì
sec_possibleuser=°¡´ÉÇÑ »ç¿ëÀÚ
sec_possiblegroup=°¡´ÉÇÑ ±×·ì
sec_rouser=ÀÐ±â Àü¿ë »ç¿ëÀÚ
sec_rogroup=ÀÐ±â Àü¿ë ±×·ì
sec_rwuser=ÀÐ±â/¾²±â »ç¿ëÀÚ
sec_rwgroup=ÀÐ±â/¾²±â ±×·ì

esync_title=»ç¿ëÀÚ µ¿±âÈ­
esync_msg=À¯´Ð½º »ç¿ëÀÚ ¸ñ·ÏÀÇ º¯°æ ³»¿ëÀÌ »ï¹Ù »ç¿ëÀÚ ¸ñ·Ï¿¡ ÀÚµ¿À¸·Î Àû¿ëµÇµµ·Ï WebminÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼ºÀº <tt>»ç¿ëÀÚ ¹× ±×·ì</tt> Webmin ¸ðµâ¿¡¼­ »ç¿ëÀÚ¸¦ Ãß°¡, »èÁ¦ ¶Ç´Â º¯°æÇÏ±â À§ÇØ »ç¿ëµÉ ¶§¸¸ °¡´ÉÇÕ´Ï´Ù. 
esync_add=À¯´Ð½º »ç¿ëÀÚ°¡ Ãß°¡µÉ ¶§ »ï¹Ù »ç¿ëÀÚ Ãß°¡
esync_chg=À¯´Ð½º »ç¿ëÀÚ°¡ º¯°æµÉ ¶§ »ï¹Ù »ç¿ëÀÚ º¯°æ
esync_del=À¯´Ð½º »ç¿ëÀÚ°¡ »èÁ¦µÉ ¶§ »ï¹Ù »ç¿ëÀÚ »èÁ¦
esync_apply=Àû¿ë

mkpass_title=»ç¿ëÀÚ º¯È¯
mkpass_convfail=»ç¿ëÀÚ¸¦ º¯È¯ÇÏÁö ¸øÇß½À´Ï´Ù
mkpass_msg=À¯´Ð½º »ç¿ëÀÚ º¯È¯ Áß...
mkpass_skip=»ý·«
mkpass_same=ÀÌ(°¡) ÀÌ¹Ì °°½À´Ï´Ù
mkpass_update=¾÷µ¥ÀÌÆ®
mkpass_del=»èÁ¦
mkpass_passfail=ÆÐ½º¿öµå¸¦ ¼³Á¤ÇÏÁö ¸øÇß½À´Ï´Ù

savecopy_fail=»çº»À» ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù
savecopy_global='global'Àº °øÀ¯ÀÇ ÀÌ¸§À¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
savecopy_exist='$1'(ÀÌ)¶ó´Â °øÀ¯°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù

saveuser_fail=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
saveuser_uid='$1'Àº(´Â) À¯È¿ÇÑ À¯´Ð½º UID°¡ ¾Æ´Õ´Ï´Ù
saveuser_colon=½ÇÁ¦ ÀÌ¸§¿¡ ´ÙÀ½ ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù:
saveuser_home=È¨ µð·ºÅä¸® '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
saveuser_shell='$1'Àº(´Â) À¯È¿ÇÑ ½©ÀÌ ¾Æ´Õ´Ï´Ù
saveuser_pass=´ÙÀ½ smbpasswd¸¦ »ç¿ëÇÏ¿© ÆÐ½º¿öµå¸¦ º¯°æÇÏÁö ¸øÇß½À´Ï´Ù: $1

savefmisc_fail=±âÅ¸ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savefmisc_number='$1'Àº(´Â) À¯È¿ÇÑ ¿¬°á ¼ö°¡ ¾Æ´Õ´Ï´Ù

savefperm_fail=ÆÄÀÏ ±ÇÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savefperm_mode='$1'Àº(´Â) À¯È¿ÇÑ À¯´Ð½º ÆÄÀÏ ¸ðµå°¡ ¾Æ´Õ´Ï´Ù

savefshare_fail=°øÀ¯¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savefshare_nopath=ÁöÁ¤µÈ °æ·Î°¡ ¾ø½À´Ï´Ù
savefshare_exist='$1'(ÀÌ)¶ó´Â °øÀ¯°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù
savefshare_mode='$1'Àº(´Â) À¯È¿ÇÑ °øÀ¯ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
savefshare_global='global'Àº °øÀ¯ÀÇ ÀÌ¸§À¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù

savemisc_fail=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savemisc_lockdir=Àá±Ý µð·ºÅä¸®°¡ Æ÷ÇÔµÈ µð·ºÅä¸®°¡ ¾ø½À´Ï´Ù
savemisc_logdir=·Î±× ÆÄÀÏÀÌ Æ÷ÇÔµÈ µð·ºÅä¸®°¡ ¾ø½À´Ï´Ù
savemisc_logsize='$1'Àº(´Â) À¯È¿ÇÑ ·Î±× Å©±â°¡ ¾Æ´Õ´Ï´Ù
savemisc_overlap='$1'Àº(´Â) À¯È¿ÇÑ Áßº¹ ÀÐ±â Å©±â°¡ ¾Æ´Õ´Ï´Ù
savemisc_chroot=chroot µð·ºÅä¸® '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
savemisc_smbrun='$1'Àº(´Â) Á¸ÀçÇÏÁö ¾Ê°Å³ª ½ÇÇàÇÒ ¼ö ¾ø´Â smbrun ÇÁ·Î±×·¥ÀÔ´Ï´Ù
savemisc_time='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ ¿ÀÇÁ¼ÂÀÌ ¾Æ´Õ´Ï´Ù

savenet_fail=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savenet_timeout='$1'Àº(´Â) À¯È¿ÇÑ ¿¬°á ²÷±â ½Ã°£ ÃÊ°ú°ªÀÌ ¾Æ´Õ´Ï´Ù
savenet_ip='$1'Àº(´Â) À¯È¿ÇÑ IP ¹ÙÀÌÆ®°¡ ¾Æ´Õ´Ï´Ù
savenet_keep='$1'Àº(´Â) À¯È¿ÇÑ ¿¬°á À¯Áö °£°ÝÀÌ ¾Æ´Õ´Ï´Ù 
savenet_maxxmit='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ´ë ÆÐÅ¶ Å©±â°¡ ¾Æ´Õ´Ï´Ù

savepass_fail=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savepass_nopass=ÇöÀç »ï¹Ù ¹öÀü¿¡¼­´Â ¾ÏÈ£È­µÈ ÆÐ½º¿öµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
savepass_passwd=ÁöÁ¤µÈ ÆÐ½º¿öµå º¯°æ ÇÁ·Î±×·¥ÀÌ ¾ø½À´Ï´Ù
savepass_level='$1'Àº(´Â) À¯È¿ÇÑ ÆÐ½º¿öµå ´ë¼Ò¹®ÀÚ ±¸ºÐÀÌ ¾Æ´Õ´Ï´Ù
savepass_chat=ÆÐ½º¿öµå º¯°æ Ã¤Æ® ½ÃÄö½º°¡ ºñ¾î ÀÖ½À´Ï´Ù

savepopts_fail=ÇÁ¸°ÅÍ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savepopts_number=ÃÖ¼Ò »ç¿ë °¡´ÉÇÑ °ø°£ °ªÀº ¼ýÀÚ¿©¾ß ÇÕ´Ï´Ù

saveprint_fail=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
saveprint_printcap=printcap ÆÄÀÏ '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
saveprint_cache='$1'Àº(´Â) À¯È¿ÇÑ Ä³½Ã ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù

savepshare_fail=ÇÁ¸°ÅÍ °øÀ¯¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savepshare_exist='$1'(ÀÌ)¶ó´Â °øÀ¯°¡ ÀÌ¹Ì ÀÖ½À´Ï´Ù
savepshare_name='$1'Àº(´Â) À¯È¿ÇÑ °øÀ¯ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
savepshare_global='global'Àº °øÀ¯ÀÇ ÀÌ¸§À¸·Î »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù

savesec_fail=º¸¾ÈÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

savesmb_fail=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
savesmb_size='$1'Àº(´Â) À¯È¿ÇÑ µð½ºÅ© Å©±â°¡ ¾Æ´Õ´Ï´Ù
savesmb_oslevel='$1'Àº(´Â) À¯È¿ÇÑ ¸¶½ºÅÍ ºê¶ó¿ìÀú ¿ì¼± ¼øÀ§°¡ ¾Æ´Õ´Ï´Ù
savesmb_server=ÆÐ½º¿öµå ¼­¹ö¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù

start_err=»ï¹Ù ¼­¹ö¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
start_fail=$1ÀÌ(°¡) ½ÇÆÐÇß½À´Ï´Ù

swats_fail=»ç¿ëÀÚ ÀÌ¸§À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
swats_user=¾ø´Â SWAT »ç¿ëÀÚ ÀÌ¸§

viewu_index=ÇöÀç »ç¿ëÀÚ
viewu_list=$1ÀÇ ÇöÀç »ç¿ëÀÚ
viewu_share=°øÀ¯
viewu_user=»ç¿ëÀÚ
viewu_group=±×·ì
viewu_from=¿¬°á ¼Ò½º
viewu_time=¿¬°á À§Ä¡
viewu_pid=ÇÁ·Î¼¼½º ID
viewu_msg1=»ç¿ëÀÚÀÇ ¿¬°áÀ» ²÷À¸·Á¸é À§ÀÇ ¸ñ·Ï¿¡¼­ ÇØ´ç ÇÁ·Î¼¼½º ID¸¦ ´©¸£½Ê½Ã¿À.
viewu_msg2=ÇöÀç ¿¬°áµÈ »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù

log_apply=»ï¹Ù ¼­¹ö Àç½ÃÀÛµÊ
log_start=»ï¹Ù ¼­¹ö ½ÃÀÛµÊ
log_save_fshare=ÆÄÀÏ °øÀ¯ $1 ¼öÁ¤µÊ
log_save_pshare=ÇÁ¸°ÅÍ °øÀ¯ $1 ¼öÁ¤µÊ
log_save_sec=°øÀ¯ $1ÀÇ º¸¾È ¹× Á¢±Ù Á¦¾î ¼öÁ¤µÊ
log_save_fperm=°øÀ¯ $1ÀÇ ÆÄÀÏ ±ÇÇÑ ¼öÁ¤µÊ
log_save_fname=°øÀ¯ $1ÀÇ ÆÄÀÏ ¸í¸í ¼öÁ¤µÊ
log_save_fmisc=°øÀ¯ $1ÀÇ ±âÅ¸ ¿É¼Ç ¼öÁ¤µÊ
log_save_popts=°øÀ¯ $1ÀÇ ÇÁ¸°ÅÍ ¿É¼Ç ¼öÁ¤µÊ
log_default_fshare=ÆÄÀÏ °øÀ¯ ±âº»°ª º¯°æµÊ
log_default_pshare=ÇÁ¸°ÅÍ °øÀ¯ ±âº»°ª º¯°æµÊ
log_kill=ÇÁ·Î¼¼½º $1ÀÇ ¿¬°á ²÷±è
log_skill=°øÀ¯ $2(À¸)·ÎºÎÅÍ ÇÁ·Î¼¼½º $1ÀÇ ¿¬°á ²÷±è
log_create_fshare=ÆÄÀÏ °øÀ¯ $1 ÀÛ¼ºµÊ
log_create_pshare=ÇÁ¸°ÅÍ °øÀ¯ $1 ÀÛ¼ºµÊ
log_delete_fshare=ÆÄÀÏ °øÀ¯ $1 »èÁ¦µÊ
log_delete_pshare=ÇÁ¸°ÅÍ °øÀ¯ $1 »èÁ¦µÊ
log_net=À¯´Ð½º ³×Æ®¿öÅ· ¿É¼Ç º¯°æµÊ
log_smb=À©µµ¿ì ³×Æ®¿öÅ· ¿É¼Ç º¯°æµÊ
log_pass=ÀÎÁõ ¿É¼Ç º¯°æµÊ
log_print=À©µµ¿ì¿¡¼­ À¯´Ð½º·Î ÀÎ¼â ¿É¼Ç º¯°æµÊ
log_misc=±âÅ¸ ¿É¼Ç º¯°æµÊ
log_sync=À¯´Ð½º »ç¿ëÀÚ µ¿±âÈ­ ±¸¼ºµÊ
log_epass=À¯´Ð½º »ç¿ëÀÚ¿¡¼­ »ï¹Ù »ç¿ëÀÚ·Î º¯È¯µÊ
log_epass_l=À¯´Ð½º »ç¿ëÀÚ¿¡¼­ »ï¹Ù »ç¿ëÀÚ·Î º¯È¯µÊ(ÀÛ¼º: $1, ¼öÁ¤: $2, »èÁ¦ $3)
log_copy=°øÀ¯ $2ÀÌ(°¡) $1¿¡ º¹»çµÊ
log_save_euser=»ï¹Ù »ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_delete_euser=»ï¹Ù »ç¿ëÀÚ $1 »èÁ¦µÊ

swat_title=SWAT ·Î±×ÀÎ
swat_list=SWAT ·Î±×ÀÎ
swat_msg1=ÇöÀç SWAT »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå°¡ Àß¸øµÇ¾ú½À´Ï´Ù. ¾Æ·¡ÀÇ ¾ç½ÄÀ» »ç¿ëÇÏ¿© ´Ù½Ã ·Î±×ÀÎÇÏ½Ê½Ã¿À.
swat_msg2=SWAT¿¡ ·Î±×ÀÎÇÏ·Á¸é »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ÀÏ¹ÝÀûÀ¸·Î ¾î¶² ½Ã½ºÅÛ »ç¿ëÀÚ·Îµµ ·Î±×ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
swat_msg3=»ï¹Ù ±¸¼º¿¡ <tt>$1:...</tt>(È£½ºÆ® Çã¿ë) ¿É¼ÇÀÌ ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î WebminÀ» ÅëÇØ SWAT¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
swat_msg4=±×·¯³ª $1¿¡¼­ Á÷Á¢ SWAT¿¡ ¿¬°áÇÒ ¼öµµ ÀÖ½À´Ï´Ù
swat_username=»ç¿ëÀÚ ÀÌ¸§
swat_password=ÆÐ½º¿öµå
swat_login=·Î±×ÀÎ
swat_clear=Áö¿ì±â

eacl_aviol=Á¢±Ù Á¦¾î À§¹Ý
eacl_np=»ç¿ë ±ÇÇÑÀÌ ¾ø´Â ÀÛ¾÷
eacl_papply=ÀÌ ¼­ºñ½º Àç½ÃÀÛ
eacl_pcn=À¯´Ð½º ³×Æ®¿öÅ· ¿É¼Ç ÆíÁý
eacl_pcs=Smb ³×Æ®¿öÅ· ¿É¼Ç ÆíÁý
eacl_pcp=ÆÐ½º¿öµå ¿É¼Ç ÆíÁý
eacl_pcprint=ÀÎ¼â ¿É¼Ç ÆíÁý
eacl_pcm=±âÅ¸ ¿É¼Ç ÆíÁý
eacl_pcswat=SWAT »ç¿ë
eacl_pcopy=°øÀ¯ º¹»ç
eacl_pconn_all=¸ðµç ¿¬°á º¸±â
eacl_pconn=ÀÌ °øÀ¯ÀÇ ¿¬°á º¸±â
eacl_pgkill=¿¬°á Áß´Ü
eacl_pkill=ÀÌ ¿¬°á Áß´Ü
eacl_pus=°øÀ¯ ¾÷µ¥ÀÌÆ®
eacl_pcs=°øÀ¯ ÀÛ¼º
eacl_pds=°øÀ¯ »èÁ¦
eacl_pusec=ÀÌ °øÀ¯ÀÇ º¸¾È ¹× Á¢±Ù Á¦¾î ¿É¼Ç ¾÷µ¥ÀÌÆ®
eacl_pufperm=ÀÌ °øÀ¯ÀÇ ÆÄÀÏ »ç¿ë ±ÇÇÑ ¿É¼Ç ¾÷µ¥ÀÌÆ®
eacl_pufname=ÀÌ °øÀ¯ÀÇ ÆÄÀÏ ¸í¸í ¿É¼Ç ¾÷µ¥ÀÌÆ®
eacl_pufmisc=ÀÌ °øÀ¯ÀÇ ±âÅ¸ ¿É¼Ç ¾÷µ¥ÀÌÆ®
eacl_pupopt=ÀÌ °øÀ¯ÀÇ ÇÁ¸°ÅÍ ¿É¼Ç ¾÷µ¥ÀÌÆ®
eacl_pmpass=»ï¹Ù »ç¿ëÀÚ µ¥ÀÌÅÍº£ÀÌ½º ÃÊ±âÈ­
eacl_pmsync=À¯´Ð½º-»ï¹Ù »ç¿ëÀÚ µ¿±âÈ­ À¯Áö°ü¸®
eacl_pmusers=»ï¹Ù »ç¿ëÀÚ À¯Áö°ü¸®
eacl_pvusers=»ï¹Ù »ç¿ëÀÚ Á¢±Ù
eacl_pvfmisc=ÀÌ °øÀ¯ÀÇ ±âÅ¸ ¿É¼Ç Á¢±Ù
eacl_pvfname=ÀÌ °øÀ¯ÀÇ ÆÄÀÏ ¸í¸í ¿É¼Ç Á¢±Ù
eacl_pvperm=ÀÌ °øÀ¯ÀÇ ÆÄÀÏ ±ÇÇÑ ¿É¼Ç Á¢±Ù
eacl_pvsec=ÀÌ °øÀ¯ÀÇ º¸¾È ¹× Á¢±Ù Á¦¾î ¿É¼Ç Á¢±Ù
eacl_pvpopt=ÀÌ °øÀ¯ÀÇ ÇÁ¸°ÅÍ ¿É¼Ç Á¢±Ù
eacl_pafs=ÀÌ ÆÄÀÏ °øÀ¯ Á¢±Ù
eacl_paps=ÀÌ ÇÁ¸°ÅÍ °øÀ¯ Á¢±Ù
eacl_pcps=ÇÁ¸°ÅÍ °øÀ¯ ÀÛ¼º
eacl_pcfs=ÆÄÀÏ °øÀ¯ ÀÛ¼º

acl_apply=º¯°æ ³»¿ëÀ» Àû¿ëÇÒ ¼ö ÀÖ½À´Ï±î?
acl_view_all_con=¸ðµç ¿¬°áÀ» º¼ ¼ö ÀÖ½À´Ï±î?
acl_kill_con=¿¬°áÀ» Á¦°ÅÇÒ ¼ö ÀÖ½À´Ï±î?
acl_conf_net=À¯´Ð½º ³×Æ®¿öÅ© ¿É¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_conf_smb=À©µµ¿ì ³×Æ®¿öÅ© ¿É¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_conf_pass=ÀÎÁõ ¿É¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_conf_print=ÇÁ¸°ÅÍ ¿É¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_conf_misc=±âÅ¸ ¿É¼ÇÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_swat=SWAT¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï±î?
acl_enc_passwd_opts=¾ÏÈ£È­µÈ ÆÐ½º¿öµå ¿É¼ÇÀÔ´Ï´Ù.
acl_view_users=»ï¹Ù »ç¿ëÀÚ µ¥ÀÌÅÍº£ÀÌ½º¸¦ º¼ ¼ö ÀÖ½À´Ï±î?
acl_maint_users=»ï¹Ù »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_maint_makepass=À¯´Ð½º »ç¿ëÀÚ¸¦ »ï¹Ù »ç¿ëÀÚ·Î º¯È¯ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_maint_sync=À¯´Ð½º-»ï¹Ù »ç¿ëÀÚ ÀÚµ¿ µ¿±âÈ­¸¦ À¯Áö°ü¸®ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_hide=Á¢±Ù ºÒ°¡´ÉÇÑ °³Ã¼¸¦ ¼û±é´Ï±î?
acl_c=ÀÛ¼º
acl_r=ÀÐ±â
acl_w=¾²±â
acl_afs=ÆÄÀÏ °øÀ¯ Á¢±Ù
acl_aps=ÀÎ¼â °øÀ¯ Á¢±Ù
acl_copy=°øÀ¯¸¦ º¹»çÇÒ ¼ö ÀÖ½À´Ï±î?
acl_per_fs_acls=file_share ´ÜÀ§ ACLÀ» »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
acl_per_ps_acls=print_share ´ÜÀ§ ACLÀ» »ç¿ë °¡´ÉÀ¸·Î ¼³Á¤ÇÕ´Ï±î?
acl_per_share_acls=°øÀ¯ ´ÜÀ§ ACL...
acl_ernow=±Û·Î¹ú ACL¿¡¼­  ÀÏºÎ °³Ã¼ À¯Çü¿¡ ´ëÇÑ ¾²±â Á¢±Ù¸¦ °¡´ÉÇÏ°Ô ÇÏ·Á¸é ÇØ´ç °³Ã¼ À¯Çü¿¡ ´ëÇÑ ÀÐ±â Á¢±Ùµµ °¡´ÉÇÏ°Ô ÇØ¾ß ÇÕ´Ï´Ù.
acl_sname=°øÀ¯ ÀÌ¸§
acl_saccess=°øÀ¯ Á¢±Ù
acl_sconn=¿¬°á
acl_sopthdr=°øÀ¯ ¿É¼Ç
acl_ssec=º¸¾È
acl_sperm=±ÇÇÑ
acl_snaming=ÆÄÀÏ ¸í¸í
acl_smisc=±âÅ¸
acl_sprn=¶Ç´Â ÇÁ¸°ÅÍ
acl_na=ÇØ´ç ¾øÀ½
acl_r1=ÀÐ±â Àü¿ë
acl_rw=ÀÐ±â/¾²±â
acl_view=º¸±â
acl_kill=kill
acl_edit=ÆíÁý
   0707010001fb2e000081a40000000000000002000000013d1fe2bd000050c6000000200000000000000000000000000000001400000003reloc/samba/lang/pl   index_title=Zarz±dca zasobów Samby
index_sharelist=listy zasobów
index_userlist=listy u¿ytkowników
index_fileshare=zasobu dyskowego
index_printershare=drukarki sieciowej
index_shareconf=konfiguracji zasobu

index_sharename=Nazwa zasobu
index_path=¦cie¿ka
index_security=Bezpieczeñstwo
index_homedir=Wszystkie katalogi domowe
index_allprinter=Wszystkie drukarki
index_printer=Drukarka
index_defaultprn=Drukarka domy¶lna
index_printableto=Prawo drukowania dla
index_prneveryone=Prawo drukowania dla wszystkich
index_prnalluser=Prawo drukowania dla znanych u¿ytkowników
index_rwpublic=Odczyt i&nbsp;zapis dla wszystkich
index_readonly=Tylko do odczytu dla $1<br>Odczyt i&nbsp;zapis dla innych znanych u¿ytkowników
index_rwalluser=Odczyt i&nbsp;zapis dla znanych u¿ytkowników
index_roeveryone=Tylko do odczytu dla wszystkich
index_readwrite=Odczyt i&nbsp;zapis dla $1<br>Tylko do odczytu dla innych znanych u¿ytkowników
index_roalluser=Tylko do odczytu dla znanych u¿ytkowników
index_noshares=Nie zdefiniowano zasobów Samby
index_createfileshare=Utwórz nowy zasób dyskowy
index_createprnshare=Utwórz now± drukarkê sieciow±
index_createcopy=Utwórz now± kopiê
index_view=Poka¿ wszystkie po³±czenia
index_start=Uruchom serwery Samby
index_startmsg=W&nbsp;Twoim systemie nie ma dzia³aj± serwery Samby. Oznacza to, ¿e powy¿sze zasoby nie bêd± dostêpne z&nbsp;innych komputerów.
index_restart=Restartuj serwery Samby
index_restartmsg=Naci¶nij ten przycisk, aby zrestartowaæ serwery Samby w&nbsp;Twoim systemie. Wymusi to zastosowanie bie¿±cej konfiguracji.

config_mins=min.
config_secs=sek.
config_bytes=bajtów
config_never=Nigdy
config_all=Wszystkie
config_neither=¯aden

global_title=Konfiguracja ogólna
global_unixnetwork=Sieæ Uniksa
global_winnetwork=Sieæ Windows
global_auth=Autoryzacja
global_printing=Drukowanie z&nbsp;Windows pod Uniksem
global_misc=Opcje ró¿ne
global_filedefault=Domy¶lne ustawienia zasobów dyskowych
global_prndefault=Domy¶lne ustawienia drukarek sieciowych
global_password=Has³a zaszyfrowane
global_edit=Zmieñ u¿ytkowników i&nbsp;has³a Samby
global_convert=Przetwórz u¿ytkowników Uniksa na u¿ytkowników Samby
global_sync=Konfiguruj automatyczn± synchronizacjê u¿ytkowników Uniksa i&nbsp;Samby

error_nosamba=Nie znaleziono progrzmu serwera Samby <tt>$1</tt>. Samba nie jest zainstalowana w&nbsp;Twoim systemie lub Twoja <a href="$2">konfiguracja modu³u</a> jest nieprawid³owa.
error_version=Webminowi nie uda³o siê uzyskaæ wersji Twojego programu serwera Samby <tt>$1</tt>. Sprawd¿ swoj± <a href="$2">konfiguracjê modu³u</a>, aby siê upewniæ, ¿e ¶cie¿ka jest prawid³owa.
error_config=Nie znaleziono pliku konfiguracyjnego $1. Najprawdopodobniej w&nbsp;Twoim systemie nie zainstalowano Samby lub Twoja <a href="$2">konfiguracja modu³u</a> jest nieprawid³owa.
error_include=Webmin nie obs³uguje plików konfiguracyjnych Samby, które korzystaj± z&nbsp;dyrektyw <tt>config</tt> lub <tt>include</tt>.
error_delshare=Nie uda³o sie usun±æ zasobu
error_delcopy=Zasób '$1' jest kopi± tego zasobu
error_savename=Nie uda³o siê zachowaæ nazewnictwa plików

convert_title=Przetwórz u¿ytkowników
convert_msg=Za pomoc± tego formularza mo¿esz zsynchronizowaæ listy u¿ytkowników Uniksa i&nbsp;Samby. Gdy Samba korzysta z&nbsp;<a href=$1>zaszyfrowanych hase³</a>, zamiast systemowej listy u¿ytkowników u¿ywana jest osobna lista u¿ytkowników i&nbsp;hase³.
convert_noconv=Nie konwertuj ani nie usuwaj nastêpuj±cych u¿ytkowników:
convert_update=Aktualizuj istniej±cych u¿ytkowników Samby na podstawie ich danych z&nbsp;Uniksa
convert_add=Dodaj nowych u¿ytkowników Samby na podstawie listy u¿ytkowników Uniksa
convert_delete=Usuñ u¿ytkowników Samby, którzy nie istniej± pod Uniksem 
convert_newuser=Ustaw has³a nowo utworzonych u¿ytkowników jako:
convert_nopasswd=Brak has³a
convert_lock=Konto zablokowane
convert_passwd=Nastêpuj±ce has³o
convert_convert=Przetwórz u¿ytkowników

misc_title=Opcje ró¿ne
misc_debug=Poziom logowania
misc_cachecall=Buforowaæ wywo³ania <tt>getwd()</tt>?
misc_lockdir=Zablokowaæ katalog
misc_log=Plik logu
misc_maxlog=Maks. rozmiar logu
misc_rawread=Pozwoliæ na niskopoziomowe odczyty?
misc_rawwrite=Pozwoliæ na niskopoziomowe zapisy?
misc_overlapread=Overlapping read size
misc_chroot=Katalog <tt>chroot()</tt>
misc_smbrun=¦cie¿ka do <tt>smbrun</tt>
misc_clienttime=Ró¿nica czasu klienta
misc_readprediction=Przewidywanie odczytów?

net_title=Opcje sieci Uniksa
net_idle=Czas bezczynno¶ci przed roz³±czeniem
net_trustlist=Plik zaufanych hostów/u¿ytkowników
net_netinterface=Interfejsy sieciowe
net_auto=Automatycznie
net_uselist=Z&nbsp;listy...
net_interface=Interfejsy
net_netmask=Maska sieci
net_keepalive=Pakiety podtrzymuj±ce
net_notsend=Nie wysy³aj ¿adnych
net_every=Wysy³aj co
net_maxpacket=Maksymalny rozmiar pakietu
net_listen=Nas³uchuj na adresach
net_socket=Opcje gniazda

passwd_title=Opcje hase³
passwd_encrypt=U¿ywaæ hase³ zaszyfrowanych?
passwd_allownull=Pozwalaæ na puste has³a?
passwd_program=Program zmiany has³a
passwd_case=Ró¿nicowanie wielko¶ci liter w&nbsp;has³ach
passwd_chat=Konwersacja zmiany has³a (chat)
passwd_below=Poni¿sze:
passwd_waitfor=Czekaj na
passwd_send=Wy¶lij
passwd_map=Podstawianie nazw u¿ytkowników
passwd_unixuser=U¿ytkownicy Uniksa
passwd_winuser=U¿ytkownicy Windows

print_title=Opcje drukowania
print_style=Rodzaj drukowania uniksowego
print_show=Pokazywaæ wszyskie drukarki?
print_printcap=Plik opisu drukarek (printcap)
print_cachetime=Czas buforowania stanu drukarki

smb_title=Opcje sieci Windows
smb_workgroup=Grupa robocza
smb_wins=Tryb WINS
smb_winsserver=Byæ serwerem WINS
smb_useserver=U¿ywaæ serwera
smb_description=Opis serwera
smb_name=Nazwa serwera
smb_aliase=Aliasy serwera
smb_default=Us³uga domy¶lna
smb_show=Zawsze pokazywaæ us³ugi
smb_disksize=Maks. podawany rozmiar dysku
smb_unlimited=Nieograniczony
smb_winpopup=Polecenie winpopup
smb_priority=Priorytet nadrzêdnego <tt>browsera</tt>
smb_protocol=Najwy¿szy protokó³
smb_master=Nadrzêdny <tt>browser</tt>?
smb_security=Bezpieczeñstwo
smb_sharelevel=Na poziomie zasobów
smb_userlevel=Na poziomie u¿ytkowników
smb_passwdserver=Serwer autoryzacji
smb_domain=Domena
smb_announce=Rozg³aszaæ siê zdalnie
smb_nowhere=Nigdzie
smb_fromlist=Z&nbsp;listy...
smb_ip=Adresom IP
smb_asworkgroup=<b>Jako grupa robocza</b> (opcjonalnie)

create_title=Utwórz kopiê
create_msg=Skopiowany zasób odziedziczy wszystkie domy¶lne ustawienia z&nbsp;wybranego przez Ciebie zasobu. Je¶li zmieniony zostanie zasób ¼ród³owy, to kopia równie¿. 
create_from=Skopiowaæ zasób z:
create_name=Nazwa nowego zasobu:

smbuser_title=U¿ytkownicy Samby
smbuser_list=Lista u¿ytkowników Samby
smbuser_nouser=Nie zdefiniowano u¿ytkowników Samby

euser_title=Zmieñ u¿ytkownika Samby
euser_name=Nazwa u¿ytkownika
euser_uid=Numer UID w&nbsp;Uniksie
euser_passwd=Has³o
euser_noaccess=Bez dostêpu
euser_nopw=Bez has³a
euser_currpw=Bie¿±ce has³o
euser_newpw=Nowe has³o
euser_realname=Rzeczywista nazwa
euser_homedir=Katalog domowy
euser_shell=Pow³oka
euser_option=Opcje u¿ytkownika
euser_normal=Zwyk³y u¿ytkownik
euser_nopwrequired=Has³o nie wymagane
euser_disable=Konto zablokowane
euser_trust=Konto zaufane dla stacji roboczej

fmisc_title=Ró¿ne ustawienia domy¶lne dla plików
fmisc_for=Dla zasobu <tt>$1</tt>
fmisc_lockfile=Blokowanie plików?
fmisc_maxconn=Maks. ilo¶æ po³±czeñ
fmisc_fake=Fake oplocks?
fmisc_sharemode=U¿ywaæ trybów zasobu?
fmisc_strict=Blokowanie dok³adne?
fmisc_sync=Zrzut buforów po zapisie?
fmisc_volume=Nazwa wolumenu
fmisc_sameas=Taka jak zasobu
fmisc_unixdos=Konwersja nazw plików Unix-DOS
fmisc_conncmd=Polecenie wykonywane przy po³±czeniu
fmisc_disconncmd=Polecenie wykonywane przy roz³±czeniu
fmisc_rootconn=Polecenie wykonywane przy po³±czeniu <i>jako root</i>
fmisc_rootdisconn=Polecenie wykonywane przy roz³±czeniu <i>jako root</i>

fname_title1=Domy¶lne ustawienia nazw plików
fname_title2=Zmieñ nazewnictwo plików
fname_option=Opcje nazewnictwa plików
fname_manglecase=Przekszta³caæ wielko¶æ liter?
fname_case=Rozró¿niaæ wielko¶æ liter?
fname_defaultcase=Domy¶lna wielko¶æ liter
fname_lower=Ma³e
fname_upper=Wielkie
fname_preserve=Zachowywaæ wielko¶æ liter?
fname_shortpreserve=Zachowywaæ wielko¶æ liter w&nbsp;krótkich nazwach?
fname_hide=Ukryæ pliki zaczynaj±ce siê od kropki?
fname_archive=Zachowywaæ atrybut DOS-a &quot;archiwalny&quot;?
fname_hidden=Zachowywaæ atrybut DOS-a &quot;ukryty&quot;?
fname_system=Zachowywaæ atrybut DOS-a &quot;systemowy&quot;?

fperm_title1=Domy¶lne prawa do plików
fperm_title2=Zmieñ prawa do plików
fperm_option=Opcje praw do plików
fperm_filemode=Atrybuty uniksowe dla nowych plików
fperm_dirmode=Atrybuty uniksowe dla nowych katalogów
fperm_notlist=Katalogi nie wy¶wietlane
fperm_forceuser=Wymuszaæ u¿ytkownika Uniksa
fperm_forcegrp=Wymuszaæ grupê Uniksa
fperm_link=Pozwalaæ na dowi±zania symboliczne poza zasób?
fperm_delro=Pozwoliæ usuwaæ pliki &quot;tylko do odczytu&quot;?
fperm_forcefile=Wymuszaæ atrybuty uniksowe dla plików
fperm_forcedir=Wymuszaæ atrybuty uniksowe dla katalogów

share_title1=Domy¶lne ustawienia zasobów dyskowych
share_title2=Zmieñ zasób dyskowy
share_title3=Utwórz zasób dyskowy
share_info=Informacje o&nbsp;zasobie
share_copy=Ten zasób jest kopi± <i>$1</i>
share_name=Nazwa zasobu
share_home=Zasób katalogów domowych
share_dir=Udostêpniany katalog
share_available=Dostepno¶æ?
share_browseable=Przegl±danie?
share_comment=Uwagi o&nbsp;zasobie
share_view=Poka¿ po³±czenia
share_option=Inne opcje zasobu
share_security=Bezpieczeñstwo i&nbsp;kontrola dostêpu
share_permission=Prawa do plików
share_naming=Nazewnictwo plików
share_misc=Opcje ró¿ne

print_title1=Domy¶lne ustawienia opcji drukarek
print_title2=Zmieñ opcje drukarek
print_option=Opcje drukarek
print_minspace=Minimalna ilo¶æ wolnego miejsca
print_postscript=Wymusiæ drukowanie postscriptowe
print_command=Polecenie drukowania
print_queue=Polecenie wy¶wietlenia kolejki
print_delete=Polecenie usuniêcia zadania
print_pause=Polecenie wstrzymania zadania
print_unresume=Polecenie wznowienia zadania
print_driver=Sterownik drukarki

pshare_title1=Domy¶lne ustawienia drukarek sieciowych
pshare_title2=Zmieñ drukarkê sieciow±
pshare_title3=Utwórz drukarkê sieciow±
pshare_info=Informacje o&nbsp;drukarce
pshare_name=Nazwa drukarki
pshare_all=Zasób wszystkich drukarek
pshare_unixprn=Drukarka uniksowa
pshare_spool=Katalog kolejki

sec_index1=Domy¶lne ustawienia bezpieczeñstwa
sec_index2=Zmieñ bezpieczeñstwo
sec_writable=Prawo zapisu?
sec_guest=Dostêp dla go¶ci?
sec_guestonly=Tylko go¶æ
sec_guestaccount=U¿ytkownik Uniksa bêd±cy go¶ciem
sec_limit=Ograniczyæ do listy mo¿liwych?
sec_allowhost=Pozwól hostom
sec_onlyallow=Pozwól jedynie
sec_denyhost=Zabroñ hostom
sec_onlydeny=Zabroñ jedynie
sec_revalidate=Autoryzowaæ przy ka¿dym po³±czeniu?
sec_validuser=Dozwoleni u¿ytkownicy
sec_validgroup=Dozwolone grupy
sec_invaliduser=Niedozwoleni u¿ytkownicy
sec_invalidgroup=Niedozwolone grupy
sec_possibleuser=Mo¿liwi u¿ytkownicy
sec_possiblegroup=Mo¿liwe grupy
sec_rouser=U¿ytkownicy &quot;tylko do odczytu&quot;
sec_rogroup=Grupy &quot;tylko do odczytu&quot;
sec_rwuser=U¿ytkownicy z&nbsp;prawami odczytu/zapisu
sec_rwgroup=Grupy z&nbsp;prawami odczytu/zapisu

esync_title=Synchronizacja u¿ytkowników
esync_msg=Webmina mo¿na skonfigurowaæ tak, aby zmiany listy u¿ytkowników Uniksa mia³y automatycznie zastosowanie do listy u¿ytkowników Samby. Bêdzie to dzia³aæ jedynie, gdy u¿ytkownicy s± dodawani, usuwani, zmieniani przy pomocy modu³u Webmina <tt>U¿ytkownicy i&nbsp;grupy</tt>.
esync_add=Dodawaj u¿ytkownika Samby, gdy dodawany jest u¿ytkownik Uniksa
esync_chg=Zmieñ u¿ytkownika Samby, gdy zmieniany jest u¿ytkownik Uniksa
esync_del=Usuñ u¿ytkownika Samby, gdy usuwany jest u¿ytkownik Uniksa
esync_apply=Zastosuj

mkpass_title=Przetwórz u¿ytkowników
mkpass_convfail=Nie uda³o siê przetworzyæ u¿ytkowników
mkpass_msg=Przetwarzanie u¿ytkowników Uniksa...
mkpass_skip=- pominiêto
mkpass_same=- brak ró¿nic
mkpass_update=- zaktualizowano
mkpass_del=- usuniêto
mkpass_passfail=Nie uda³o siê ustawiæ has³a

savecopy_fail=Nie uda³o siê utworzyæ kopii
savecopy_global=Nie mo¿na nadaæ zasobowi nazwy 'global'
savecopy_exist=Zasób o&nbsp;nazwie '$1' ju¿ istnieje

saveuser_fail=Nie uda³o siê zachowaæ u¿ytkownika
saveuser_uid='$1' nie jest poprawnym numerem UID Uniksa
saveuser_colon=Rzeczywista nazwa nie mo¿e zawieraæ znaku :
saveuser_home=Katalog domowy '$1' nie istnieje
saveuser_shell=$1 nie jest poprawn± pow³ok±
saveuser_pass=Nie uda³o siê zmieniæ has³a przy pomocy <tt>smbpasswd</tt>: $1

savefmisc_fail=Nie uda³o siê zachowaæ opcji ró¿nych
savefmisc_number='$1' nie jest poprawn± liczb± po³±czeñ

savefperm_fail=Nie uda³o siê zachowaæ praw do plików
savefperm_mode='$1' nie jest poprawnym uniksowym trybem pliku

savefshare_fail=Nie uda³o siê zachowaæ zasobu
savefshare_nopath=Nie podano ¶cie¿ki
savefshare_exist=Zasób o&nbsp;nazwie '$1' ju¿ istnieje
savefshare_mode='$1' nie jest poprawn± nazw± zasobu
savefshare_global=Nie mo¿na nadaæ zasobowi nazwy 'global'

savemisc_fail=Nie uda³o siê zachowaæ opcji"
savemisc_lockdir=The directory containing the lock directory does not exist
savemisc_logdir=The directory containing the log file does not exist
savemisc_logsize='$1' nie jest poprawnym rozmiarem logu
savemisc_overlap='$1' is not a valid overlapping read size
savemisc_chroot=Katalog chroot '$1' nie istnieje
savemisc_smbrun=Program smbrun '$1' nie istnieje lub nie jest wykonywalny
savemisc_time='$1' nie jest poprawn± ró¿nic± czasu

savenet_fail=Nie uda³o siê zachowaæ opcji
savenet_timeout='$1' nie jest poprawnym czasem roz³±czenia
savenet_ip='$1' nie jest poprawnym bajtem IP
savenet_keep='$1' nie jest poprawnym okresem podtrzymania
savenet_maxxmit='$1' nie jest poprawnym maksymalnym rozmiarem pakietu

savepass_fail=Nie uda³o siê zachowaæ opcji
savepass_nopass=Twoja wersja Samby nie obs³uguje szyfrowanych hase³
savepass_passwd=Nie podano programu zmiany has³a
savepass_level='$1' nie jest poprawnym poziomem ró¿nicowania wielko¶ci liter
savepass_chat=Konwersacja zmiany has³a (chat) jest pusta

savepopts_fail=Nie uda³o siê zachowaæ opcji drukarek
savepopts_number=Minimalna ilo¶æ wolnego miejsca musi byæ liczb±

saveprint_fail=Nie uda³o siê zachowaæ opcji
saveprint_printcap=Plik opisu drukarek (printcap) '$1' nie istnieje
saveprint_cache='$1' nie jest poprawnym czasem bufurowania

savepshare_fail=Nie uda³o siê zachowaæ drukarki sieciowej
savepshare_exist=Zasób o&nbsp;nazwie '$1' ju¿ istnieje
savepshare_name='$1' nie jest poprawn± nazw± zasobu
savepshare_global=Nie mo¿na nadaæ zasobowi nazwy 'global'

savesec_fail=Nie uda³o siê zachowaæ bezpieczeñstwa

savesmb_fail=Nie uda³o siê zachowaæ opcji
savesmb_size='$1' nie jest poprawnym rozmiarem dysku
savesmb_oslevel='$1' nie jest poprawnym priorytetem nadrzêdnego <tt>browsera</tt>
savesmb_server=Musisz podaæ serwer autoryzacji

start_err=Nie uda³o siê uruchomiæ serwerów Samby
start_fail=$1 nie zosta³ uruchomiony

swats_fail=Nie uda³o siê zachowaæ nazwy u¿ytkownika
swats_user=Nie podano nazwy u¿ytkownika dla SWAT-a

viewu_index=Bie¿±cy u¿ytkownicy
viewu_list=Bie¿±cy u¿ytkownicy $1
viewu_share=Zasób
viewu_user=U¿ytkownik
viewu_group=Grupa
viewu_from=Pod³±czony z
viewu_time=Czas pod³±czenia
viewu_pid=ID procesu
viewu_msg1=Naci¶nij na numer ID procesu z&nbsp;powy¿szej listy, aby od³±czyæ danego u¿ytkownika.
viewu_msg2=Brak pod³±czonych w&nbsp;tej chwili u¿ytkowników
viewu_locks=Otwarte pliki
viewu_none=Brak

log_apply=Zrestartowano serwery Samby
log_start=Uruchomiono serwery Samby
log_save_fshare=Zmieniono zasób dyskowy $1
log_save_pshare=Zmieniono drukarkê sieciow± $1
log_save_sec=Zmieniono opcje bezpieczeñstwa i&nbsp;kontroli dostêpu dla zasobu $1
log_save_fperm=Zmieniono prawa do plików dla zasobu $1
log_save_fname=Zmieniono opcje nazewnictwa plików dla zasobu $1
log_save_fmisc=Zmieniono opcje ró¿ne dla zasobu $1
log_save_popts=Zmieniono opcje drukarki dla zasobu $1
log_default_fshare=Zmieniono ustawienia domy¶lne zasobów plikowych
log_default_pshare=Zmieniono ustawienia domy¶lne drukarek sieciowych
log_kill=Roz³±czono proces $1
log_skill=Od³±czono proces $1 od zasobu $2
log_create_fshare=Utworzono zasób plikowy $1
log_create_pshare=Utworzono drukarkê sieciow± $1
log_delete_fshare=Skasowano zasób plikowy $1
log_delete_pshare=Skasowano drukarkê sieciow± $1
log_net=Zmieniono opcje sieci Uniksa
log_smb=Zmieniono opcje sieci Windows
log_pass=Zmieniono opcje autoryzacji
log_print=Zmieniono opcje drukowania z&nbsp;Windows pod Uniksem
log_misc=Zmieniono opcje ró¿ne
log_sync=Skonfigurowano synchronizacjê u¿ytkowników z&nbsp;Uniksem
log_epass=Przetworzono u¿ytkowników Uniksa na u¿ytkowników Samby
log_epass_l=Przetworzono u¿ytkowników Uniksa na u¿ytkowników Samby ($1 utworzono, $2 zmieniono, $3 usuniêto)
log_copy=Skopiowano zasób $2 do $1
log_save_euser=Zmieniono u¿ytkownika Samby $1
log_delete_euser=Usuniêto u¿ytkownika Samby $1

swat_title=Logowanie do SWAT-a
swat_list=Logowanie do SWAT-a
swat_msg1=Twoja bie¿±ca nazwa u¿ytkownika SWAT-a i&nbsp;has³o s± nieprawid³owe. Zaloguj siê ponownie przy pomocy poni¿szego formularza.
swat_msg2=Nazwa u¿ytkownika i&nbsp;has³o s± niezbêdne aby zalogowaæ siê do SWAT-a. Zazwyczaj mo¿e to byæ dowolny u¿ytkownik Twojego systemu.
swat_msg3=Nie mo¿esz uruchamiaæ SWAT-a poprzez Webmina, poniewa¿ masz w³±czon± opcjê <tt>$1:...</tt> (allow hosts) w&nbsp;konfiguracji Samby.
swat_msg4=Jednak¿e, móg³by¶ siê po³±czyæ ze SWAT-em bezpo¶rednio poprzez $1
swat_username=Nazwa u¿ytkownika
swat_password=Has³o
swat_login=Zaloguj siê
swat_clear=Wyczy¶æ
swat_logout=Wyloguj siê ze SWATa

eacl_aviol=Naruszenie kontroli dostêpu
eacl_np=Nie masz uprawnieñ do
eacl_papply=restartoania tej us³ugi
eacl_pcn=zmiany opcji sieci Uniksa
eacl_pcs=zmiany opcji sieci smb
eacl_pcp=zmiany opcji hase³
eacl_pcprint=zmiany opcji drukowania
eacl_pcm=zmiany opcji ró¿nych
eacl_pcswat=korzystania ze SWAT-a
eacl_pcopy=kopiowania zasobów
eacl_pconn_all=ogl±dania wszystkich po³±czeñ
eacl_pconn=ogl±dania po³±czeñ do tego zasobu
eacl_pgkill=przerywania po³±czeñ
eacl_pkill=przerwania tego po³±czenia
eacl_pus=zmiany zasobów
eacl_pcrs=tworzenia zasobów
eacl_pds=kasowania zasobów
eacl_pusec=zmiany opcji zabezpieczeñ i&nbsp;kontroli dostêpu dla tego zasobu
eacl_pufperm=zmiany opcji praw do plików dla tego zasobu
eacl_pufname=zmiany opcji nazewnictwa plików dla tego zasobu
eacl_pufmisc=zmiany opcji ró¿nych dla tego zasobu
eacl_pupopt=zmiany opcji drukarek dla tego zasobu
eacl_pmpass=inicjalizacji bazy u¿ytkowników Samby
eacl_pmsync=zarz±dzania synchronizacj± u¿ytkowników Unix-Samba
eacl_pmusers=zarz±dzania u¿ytkownikami Samby
eacl_pvusers=dostêpu do u¿ytkowników Samby
eacl_pvfmisc=dostêpu do opcji ró¿nych dla tego zasobu
eacl_pvfname=dostêpu do opcji nazewnictwa plików dla tego zasobu
eacl_pvperm=dostêpu do opcji praw do plików dla tego zasobu
eacl_pvsec=dostêpu do zabezpieczeñ i&nbsp;kontroli dostêpu dla tego zasobu
eacl_pvpopt=dostêpu do opcji drukarek dla tego zasobu
eacl_pafs=dostêpu do tego zasobu plikowego
eacl_paps=dostêpu do tej drukarki wspó³dzielonej
eacl_pcps=tworzenia drukarek wspó³dzielonych
eacl_pcfs=tworzenia zasobów plikowych

acl_apply=Mo¿e zastosowaæ zmian?
acl_view_all_con=Mo¿e przegl±daæ wszystkie po³±czenia?
acl_kill_con=Mo¿e przerywaæ po³±czenia?
acl_conf_net=Mo¿e konfigurowaæ ustawienia sieci Uniksa?
acl_conf_smb=Mo¿e konfigurowaæ ustawienia sieci Windows?
acl_conf_pass=Mo¿e konfigurowaæ ustawienia autoryzacji?
acl_conf_print=Mo¿e konfigurowaæ ustawienia drukarek?
acl_conf_misc=Mo¿e konfigurowaæ ustawienia ró¿ne?
acl_swat=Mo¿e korzystaæ ze SWAT-a?
acl_enc_passwd_opts=Opcje szyfrowania hase³.
acl_view_users=Mo¿e przegl±daæ bazê u¿ytkowników Samby?
acl_maint_users=Mo¿e zmieniaæ u¿ytkowników Samby?
acl_maint_makepass=Mo¿e przetwarzaæ u¿ytkowników Uniksa na u¿ytkowników Samby?
acl_maint_sync=Mo¿e zarz±dzaæ automatyczn± synchronizacj± u¿ytkowników Uniksa z u¿ytkownikami Samby?
acl_hide=Ukrywaæ niedostêpne obiekty?
acl_c=tworzenie
acl_r=odczyt
acl_w=zapis
acl_afs=Dostêp do zasobów plikowych
acl_aps=Dostêp do drukarek wspó³dzielonych
acl_copy=Mo¿e kopiowaæ zasoby?
acl_per_fs_acls=W³±czyæ ACL-e dla poszczególnych zasobów plikowych?
acl_per_ps_acls=W³±czyæ ACL-e dla poszczególnych drukarek wspó³dzielonych?
acl_per_share_acls=ACL-e dla poszczególnych zasobów...
acl_ernow=Je¶li chcesz w³±czyæ w&nbsp;ogólnych ACL-ach dla pewnego rodzaju obiektów dostêp z&nbsp;prawem zapisu, to musisz równie¿ w³±czyæ prawo do odczytu dla tego rodzaju obiektów.
acl_sname=Nazwa zasobu
acl_saccess=Dostêp do zasobu
acl_sconn=Po³±czenia
acl_sopthdr=Opcje zasobu
acl_ssec=zabezpieczenia
acl_sperm=uprawnienia
acl_snaming=nazewnictwo plików
acl_smisc=ró¿ne
acl_sprn=lub drukarka
acl_na=n/a
acl_r1=tylko do odczytu
acl_rw=do odczytu i&nbsp;zapisu
acl_view=obejrzyj
acl_kill=zabij
acl_edit=zmieñ
  0707010001fb3f000081a40000000000000002000000013d1fe2bd00003971000000200000000000000000000000000000001700000003reloc/samba/lang/ru_RU    savefmisc_number='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì ñîåäèíåíèé
misc_clienttime=Ñìåùåíèå êëèåíòà ïî âðåìåíè
convert_lock=Áþäæåò çàáëîêèðîâàí
pshare_title1=Ïàðàìåòðû ðåñóðñà ïå÷àòè
pshare_title2=Ðåäàêòèðîâàíèå ïàðàìåòðîâ ïå÷àòè
pshare_title3=Ñîçäàíèå ðåñóðñà ïå÷àòè
net_keepalive=Ïàêåòû keepalive
smb_default=Ñåðâèñ ïî óìîë÷àíèþ
savefshare_exist=Ðåñóðñ ñ èìåíåì '$1' óæå ñóùåñòâóåò
config_neither=Îòêëþ÷èòü
fperm_forceuser=Çàñòàâèòü èñïîëüçîâàòü Unix ïîëüçîâàòåëÿ
net_title=Ïàðàìåòðû Unix ñåòè
smb_fromlist=Èç ñïèñêà...
sec_revalidate=Revalidate ïîëüçîâàòåëåé?
sec_rwuser=×èòàþùèå/ïèøóùèå ïîëüçîâàòåëè
index_printershare=ïå÷àòíûé ðåñóðñ
fmisc_lockfile=Áëîêèðîâêè ôàéëîâ?
fname_defaultcase=Ðåãèñòð ïî óìîë÷àíèþ?
create_from=Êîïèðóåìûé ðåñóðñ:
saveprint_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
print_queue=Êîìàíäà äëÿ ïîêàçà î÷åðåäè
global_convert=Ïðåîáðàçîâàíèå ïîëüçîâàòåëåé Unix â ïîëüçîâàòåëè Samba
saveuser_home=Äîìàøíèé êàòàëîã '$1' íå ñóùåñòâóåò
smb_security=Áåçîïàñíîñòü
print_cachetime=Âðåìÿ êýøèðîâàíèÿ ñîñòîÿíèÿ ïðèíòåðà
swats_user=Îòñóòñòâóåò SWAT èìÿ ïîëüçîâàòåëÿ
fmisc_conncmd=Êîìàíäà çàïóñêàåìàÿ ïðè ïîäñîåäèíåíèè
smb_description=Îïèñàíèå ñåðâåðà
print_command=Êîìàíäà äëÿ ïå÷àòè
fname_lower=Íèæíèé
savemisc_overlap='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì overlapping read
share_copy=Äàííûé ðåñóðñ ÿâëÿåòñÿ êîïèåé <i>$1</i>
misc_cachecall=Êýøèðîâàòü âûçîâû <tt>getwd()</tt>?
smb_name=Èìÿ ñåðâåðà
net_socket=Ïàðàìåòðû ñîêåòà
global_title=Îáùèå íàñòðîéêè
fmisc_sharemode=Èñïîëüçîâàòü share modes?
share_view=Ïðîñìîòð ñîåäèíåíèé
convert_passwd=Èñïîëüçîâàòü äàííûé ïàðîëü
index_homedir=Âñå äîìàøíèå êàòàëîãè
euser_normal=Îáû÷íûé ïîëüçîâàòåëü
misc_title=Ïðî÷èå ïàðàìåòðû
sec_allowhost=Ðàçðåøåííûå õîñòû
savepass_nopass=Âàøà âåðñèÿ samba íå ïîääåðæèâàåò øèôðîâàííûå ïàðîëè
savepass_chat=Ñöåíàðèé èçìåíåíèÿ ïàðîëÿ ïóñò
euser_homedir=Äîìàøíèé êàòàëîã
global_prndefault=Ïàðàìåòðû äëÿ ïå÷àòíûõ ðåñóðñîâ
passwd_program=Ïðîãðàììà äëÿ ïàðîëåé
misc_maxlog=Ìàêñ. ðàçìåð æóðíàëà
global_filedefault=Ïàðàìåòðû äëÿ ôàéëîâûõ ðåñóðñîâ
print_title1=Ïàðàìåòðû ðåñóðñîâ ïå÷àòè
print_title2=Ðåäàêòèðîâàíèå ïàðàìåòðîâ ïå÷àòè
savemisc_logsize='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì æóðíàëà
pshare_info=Èíôîðìàöèÿ î ðåñóðñå
savemisc_smbrun=Ïðîãðàììà smbrun '$1' íå ñóùåñòâóåò, èëè íå ÿâëÿåòñÿ èñïîëíÿåìîé
index_printer=Ïðèíòåð
euser_title=Ðåäàêòèðîâàíèå ïîëüçîâàòåëÿ
saveuser_colon=Ðåàëüíîå èìÿ íå ìîæåò ñîäåðæàòü ñèìâîë:
create_title=Ñîçäàíèå êîïèè
print_printcap=Ôàéë Printcap
savepshare_fail=Îøèáêà ïðè ñîõðàíåíèè ðåñóðñà ïå÷àòè
smbuser_list=Ñïèñîê ïîëüçîâàòåëåé Samba
esync_title=Ñèíõðîíèçàöèÿ ïîëüçîâàòåëåé
fname_archive=Ñîõðàíÿòü àðõèâíûé àòðèáóò DOS?
fmisc_sameas=Òàêîå-æå êàê ðåñóðñ
smb_wins=Ðåæèì WINS
fmisc_fake=Fake oplocks?
misc_rawread=Ðàçðåøèòü "ñûðûå" ÷òåíèÿ?
error_nosamba=Èñïîëíÿåìûé ìîäóëü ñåðâåðà samba <tt>$1</tt> îòñóòñòâóåò. Ëèáî samba íå óñòàíîâëåíà íà Âàøåé ñèñòåìå, èëè <a href="$2">êîíôèãóðàöèÿ ìîäóëÿ</a> íåâåðíà.
index_printableto=Âîçìîæíà ïå÷àòü äëÿ
net_auto=Àâòîìàòè÷åñêè
euser_uid=Unix UID
esync_msg=Webmin ìîæåò áûòü íàñòðîåí òàê, ÷òî âñå èçìåíåíèÿ â áàçå äàííûõ ïîëüçîâàòåëåé Unix áóäóò àâòîìàòè÷åñêè ñèíõðîíèçèðîâàòüñÿ ñ áàçîé äàííûõ ïîëüçîâàòåëåé Samba. Ýòî âîçìîæíî â òîì ñëó÷àå, êîãäà äëÿ äîáàâëåíèÿ, èçìåíåíèÿ èëè óäàëåíèÿ ïîëüçîâàòåëåé áóäåò èñïîëüçîâàòüñÿ Webmin ìîäóëü <tt>Ïîëüçîâàòåëè è Ãðóïïû</tt>.
sec_rogroup=Òîëüêî ÷èòàþùèå ãðóïïû
savepopts_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ïå÷àòè
sec_guest=Ãîñòåâîé áþäæåò?
fmisc_strict=Strict locking?
passwd_chat=Ñêðèïò èçìåíåíèÿ ïàðîëÿ
config_mins=Ìèí.
fmisc_unixdos=Unix-DOS îòîáðàæåíèå èìåí ôàéëîâ
share_misc=Ïðî÷èå ïàðàìåòðû
smb_aliase=Ïñåâäîíèìû ñåðâåðà
savenet_keep='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èíòåðâàëîì keepalive
index_noshares=Ðåñóðñû Samba îòñóòñòâóþò
index_sharelist=ñïèñîê ðåñóðñîâ
savemisc_time='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåííûì ñìåùåíèåì
fname_title1=Ïðàâèëà èìåíîâàíèÿ ôàéëîâ
fname_title2=Ðåäàêòèðîâàíèå ïðàâèë èìåíîâàíèÿ ôàéëîâ
print_title=Ïàðàìåòðû ïå÷àòè
saveprint_cache='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì êýøèðîâàíèÿ
savemisc_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
share_comment=Êîììåíòàðèé ê ðåñóðñó
print_pause=Êîìàíäà äëÿ ïðèîñòàíîâêè çàäàíèÿ
fperm_option=Ïàðàìåòðû ôàéëîâûõ ïðàâ
smb_winpopup=Êîìàíäà Winpopup
euser_disable=Áþäæåò çàáëîêèðîâàí
convert_msg=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ñèíõðîíèçèðîâàòü ñïèñêè ïîëüçîâàòåëåé Unix è Samba. Åñëè Samba èñïîëüçóåò <a href=$1>øèôðîâàííûå ïàðîëè</a>, òî âìåñòî ñèñòåìíîãî ñïèñêà ïîëüçîâàòåëåé èñïîëüçóåòñÿ îòäåëüíûé ñïèñîê ïîëüçîâàòåëåé è ïàðîëüåé.
euser_passwd=Ïàðîëü
smb_passwdserver=Ñåðâåð ïàðîëåé
fname_hidden=Ñîõðàíÿòü ñêðûòûé àòðèáóò DOS?
savepshare_global=Èìÿ 'global' íå ìîæåò èñïîëüçîâàòüñÿ äëÿ ðåñóðñà
sec_guestonly=Òîëüêî ãîñòåâîé
index_roalluser=Òîëüêî ÷òåíèå äëÿ âñåõ èçâåñòíûõ ïîëüçîâàòåëåé
error_delcopy=Ðåñóðñ '$1' êîïèðóåòñÿ ñàì íà ñåáÿ
passwd_encrypt=Èñïîëüçîâàòü øèôðîâàííûå ïàðîëè?
savesmb_server=Âû äîëæíû ââåñòè ñåðâåð ïàðîëåé
passwd_map=Îòîáðàæåíèå èìåí ïîëüçîâàòåëåé
start_err=Îøèáêà ïðè ñòàðòå ñåðâåðà samba
index_restartmsg=Íàæìèòå íà ýòó êíîïêó äÿë ïåðåçàïóñêà ðàáîòàþùåãî ñåðâåðà samba. Ýòî àêòèâèçèðóåò âñå èçìåíåíèÿ â òåêóùåé êîíôèãóðàöèè.
passwd_waitfor=Îæèäàòü
index_rwpublic=×òåíèå/çàïèñü äëÿ âñåõ
index_prnalluser=Âîçìîæíà ïå÷àòü äëÿ âñåõ èçâåñòíûõ ïîëüçîâàòåëåé
print_show=Âñå ëè ïðèíòåðû ïîêàçûâàòü?
config_all=Âñå
savenet_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
convert_update=Îáíîâèòü ñóùåñòâóþùèõ ïîëüçîâàòåëåé Samba íàîñíîâå èíôîðìàöèè Unix
saveuser_shell=$1 íå ÿâëÿåòñÿ äîïóñòèìûì shell
smb_useserver=Èñïîëüçîâàòü ñåðâåð
share_dir=Êàòàëîã ðåñóðñà
savefshare_global=Èìÿ 'global' íå ìîæåò èñïîëüçîâàòüñÿ êàê èìÿ ðåñóðñà
net_netmask=Ìàñêà ñåòè
savepass_level='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçëè÷èåì ðåãèñòðà ïàðîëÿ
savemisc_lockdir=Êàòàëîã ñîäåðæàùèé ïîäêàòàëîã ñ áëîêèðîâêàìè íå ñóùåñòâóåò
savepshare_exist=Ðåñóðñ ñ èìåíåì '$1' óæå ñóùåñòâóåò
share_info=Èíôîðìàöèÿ î ðåñóðñå
misc_smbrun=Ïóòü ê <tt>smbrun</tt>
smb_asworkgroup=<b>Êàê ãðóïïà</b> (âîçìîæíî)
index_createcopy=Ñîçäàòü íîâóþ êîïèþ ðåñóðñà
euser_realname=Íàñòîÿùåå èìÿ/êîììåíòàðèé
global_sync=Íàñòðîéêà àâòîìàòè÷åñêîé ñèíõðîíèçàöèè ïîëüçîâàòåëåé Unix è Samba
sec_invalidgroup=Íåäåéñòâóþùèå ãðóïïû
savefshare_nopath=Ïóòü íå çàäàí
savepshare_name='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ðåñóðñà
smb_winsserver=Ñòàòü WINS ñåðâåðîì
savefperm_fail=Îøèáêà ïðè ñîõðàíåíèè ïðàâ ôàéëîâ
savemisc_chroot=Êàòàëîã chroot '$1' íå ñóùåñòâóåò
smb_sharelevel=Óðîâåíü ðåñóðñà
fmisc_rootconn=Êîìàíäà çàïóñêàåìàÿ ñ ïðèâèëåãèåé <i>root</i> ïðè ïîäñîåäèíåíèè
misc_overlapread=Ïåðåêðûòèå ðàçìåðà ÷òåíèÿ
mkpass_skip=ïðîïóùåí
passwd_allownull=Äîïóñêàòü ïóñòûå ïàðîëè?
net_notsend=Íå ïîñûëàòü âîîáùå
smb_title=Ïàðàìåòðû Windows ñåòè
mkpass_msg=Ïðåîáðàçîâàíèå ïîëüçîâàòåëåé Unix...
euser_trust=Äîâåðèòåëüíûé áþäæåò ðàáî÷. ñòàíöèè
savepopts_number=Ìèí. ñâîáîäíîå ïðîñòðàíñòâî ä.á. öèôðîé
savecopy_global=Èìÿ 'global' íå ìîæåò èñïîëüçîâàòüñÿ äëÿ ðåñóðñà
global_auth=Àóòåíòèôèêàöèÿ
sec_possiblegroup=Âîçìîæíûå ãðóïïû
print_driver=Äðàéâåð ïðèíòåðà
passwd_winuser=Windows ïîëüçîâàòåëè
print_option=Ïàðàìåòðû ïðèíòåðà
start_fail=$1 íåóñïåøíî
print_delete=Êîìàíäà äëÿ óäàëåíèÿ çàäàíèÿ
esync_chg=Èçìåíèòü ïîëüçîâàòåëÿ Samba ïðè èçìåíåíèè ïîëüçîâàòåëÿ Unix
smb_domain=Äîìåí
share_title1=Ïàðàìåòðû ôàéëîâûõ ðåñóðñîâ
share_title2=Ðåäàêòèðîâàíèå ôàéëîâîãî ðåñóðñà
share_title3=Ñîçäàíèå ôàéëîâîãî ðåñóðñà
smb_protocol=Íàèâûñøèé óðîâåíü ïðîòîêîëà
fname_manglecase=Mangle ðåãèñòð?
smb_userlevel=Óðîâåíü ïîëüçîâàòåëÿ
convert_title=Ïðåîáðàçîâàíèå ïîëüçîâàòåëåé
sec_onlydeny=Çàïðåòèòü òîëüêî
index_readonly=Òîëüêî ÷òåíèå äëÿ $1<br>×òåíèå/çàïèñü äëÿ âñåõ äðóãèõ èçâåñòíûõ ïîëüçîâàòåëåé
savemisc_logdir=Êàòàëîã ñîäåðæàùèé æóðíàëüíûé ôàéë íå ñóùåñòâóåò
pshare_all=Ðåñóðñ - Âñå ïðèíòåðû
net_maxpacket=Ìàêñ. ðàçìåð ïàêåòà
fmisc_maxconn=Ìàêñ. ñîåäèíåíèé
savefperm_mode='$1' íå ÿâëÿþòñÿ äîïóñòèìûìè ïðàâàìè äîñòóïà Unix ôàéëà
fmisc_for=Äëÿ ðåñóðñà <tt>$1</tt>
sec_possibleuser=Âîçìîæíûå ïîëüçîâàòåëè
smbuser_nouser=Ïîëüçîâàòåëåé Samba íåò
passwd_case=Ðàçëè÷èå ðåãèñòðà ñèìâ. ïàðîëÿ
global_printing=Ïå÷àòü ñ Windows íà Unix
sec_rwgroup=×èòàþùèå/ïèøóùèå ãðóïïû
global_misc=Ïðî÷èå íàñòðîéêè
savesmb_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
pshare_spool=Êàòàëîã ñïóëåðà
smb_priority=Ïðèîðèòåò ãëàâíîãî áðàóçåðà
fperm_link=Ðàçðåøèòü ñèìâîëè÷åñêèå ññûëêè çà ïðåäåëû ðåñóðñà?
smb_master=Ãëàâíûé áðàóçåð?
saveuser_uid='$1' íå ÿâëÿåòñÿ äîïóñòèìûì Unix UID
euser_nopw=Íåò ïàðîëÿ
fperm_delro=Ìîæåò óäàëÿòü ôàéëû òîëüêî-äëÿ-÷òåíèÿ?
config_never=Íèêîãäà
index_createfileshare=Ñîçäàòü íîâûé ôàéëîâûé ðåñóðñ
savenet_ip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP
sec_guestaccount=Unix ïîëüçîâàòåëü äëÿ ãîñòåâîãî áþäæåòà
index_userlist=ñïèñîê ïîëüçîâàòåëåé
index_view=Ïðîñìîòð ñîåäèíåíèé
sec_validgroup=Äåéñòâóþùèå ãðóïïû
sec_onlyallow=Ðàçðåøèòü òîëüêî
saveuser_pass=Îøèáêà ïðè èçìåíåíèè ïàðîëÿ ñ èñïîëüçîâàíèåì smbpasswd : $1
print_style=Òèï ñèñòåìû ïå÷àòè Unix
viewu_list=Òåêóùèå ïëüçîâàòåëè $1
mkpass_update=îáíîâëåí
fname_option=Ïàðàìåòðû èìåíîâàíèÿ ôàéëîâ
viewu_share=Ðåñóðñ
convert_delete=Óäàëèòü ïîëüçîâàòåëåé Samba îòñóòñòâóþùèõ â Unix 
savesmb_oslevel='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïðèîðèòíòîì ãëàâíîãî áðàóçåðà
fname_system=Ñîõðàíÿòü ñèñòåìíûé àòðèáóò DOS?
fperm_forcegrp=Çàñòàâèòü èñïîëüçîâàòü Unix ãðóïïó
fmisc_title=Ïðî÷èå ôàéëîâûå ïàðàìåòðû
fmisc_rootdisconn=Êîìàíäà çàïóñêàåìàÿ ñ ïðèâèëåãèåé <i>root</i> ïðè îòñîåäèíåíèè
viewu_index=Òåêóùèå ïîëüçîâàòåëè
smb_nowhere=Íèêîãî
pshare_name=Èìÿ ðåñóðñà
index_sharename=Èìÿ ðåñóðñà
convert_nopasswd=Íåò ïàðîëÿ
misc_chroot=<tt>chroot()</tt> êàòàëîã
smbuser_title=Ïîëüçîâàòåëè Samba
index_defaultprn=Ïðèíòåð ïî óìîë÷àíèþ
error_version=Webmin íå ñìîã ïîëó÷èòü âåðñèþ èñïîëíÿåìîãî ìîäóëÿ ñåðâåðà samba  <tt>$1</tt>. Ïðîâåðüòå <a href="$2">êîíôèãóðàöèÿ ìîäóëÿ</a> ÷òîáû óáåäèòüñÿ â ïðàâèëüíîñòè ïóòåé.
smb_workgroup=Ðàáî÷àÿ ãðóïïà
sec_limit=Îãðàíè÷èòü äî âîçìîæíîãî ñïèñêà?
savepass_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
sec_index1=Ïàðàìåòðû áåçîïàñíîñòè
sec_index2=Ðåäàêòèðîâàíèå ïàðàìåòðîâ áåçîïàñíîñòè
fmisc_sync=Ñáðîñ áóôåðîâ ïîñëå çàïèñè?
share_available=Äîñòóïåí?
print_unresume=Êîìàíäà äëÿ  âîçîáíîâëåíèÿ çàäàíèÿ
passwd_title=Ïàðàìåòðû ïàðîëåé
create_name=Èìÿ íîâîãî ðåñóðñà:
convert_convert=Ïðåîáðàçîâàòü ïîëüçîâàòåëåé
convert_newuser=Äëÿ âíîâü ñîçäàâàåìûõ ïîëüçîâàòåëåé, óñòàíîâèòü ïàðîëü:
mkpass_fail=Îøèáêà ïðè ïðåîáðàçîâàíèè ïîëüçîâàòåëÿ
misc_log=Ôàéë äëÿ æóðíàëà
index_prneveryone=Âîçìîæíà ïå÷àòü äëÿ âñåõ
sec_writable=Ðàçðåøåíà çàïèñü?
savesec_fail=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ áåçîïàñíîñòè
index_fileshare=ôàéëîâûé ðåñóðñ
swats_fail=Îøèáêà ïðè ñîõðàíåíèè èìåíè ïîëüçîâàòåëÿ
euser_newpw=Íîâûé ïàðîëü
esync_del=Óäàëèòü ïîëüçîâàòåëÿ Samba ïðè óäàëåíèè ïîëüçîâàòåëÿ Unix
misc_lockdir=Êàòàëîã äëÿ áëîêèðîâîê
fname_hide=Ñêðûâàòü "ôàéëû ñ òî÷êîé"?
config_secs=Ñåê.
fperm_forcedir=Çàñòàâèòü èñïîëüçîâàòü Unix-ðåæèì äîñòóïà ê êàòàëîãàì
fname_preserve=Ñîõðàíÿòü ðåãèñòð?
index_allprinter=Âñå ïðèíòåðû
index_restart=Ïåðåçàïóñòèòü ñåðâåð Samba
mkpass_passfail=Îøèáêà ïðè çàäàíèè ïàðîëÿ
sec_validuser=Äåéñòâóþùèå ïîëüçîâàòåëè
saveuser_fail=Îøèáêà ïðè ñîõðàíåíèè ïîëüçîâàòåëÿ
index_rwalluser=×òåíèå/çàïèñü äëÿ âñåõ èçâåñòíûõ ïîëüçîâàòåëåé
net_interface=Èíòåðôåéñ
fname_upper=Âåðõíèé
error_savename=Îøèáêà ïðè ñîõðàíåíèè èìåíîâàíèÿ ôàéëîâ
sec_rouser=Òîëüêî ÷èòàþùèå ïîëüçîâàòåëè
fname_shortpreserve=Short Preserve Case?
euser_nopwrequired=Íå òðåáóåò ïàðîëÿ
smb_unlimited=Íåîãðàíè÷åíî
euser_option=Ïàðàìåòðû ïîëüçîâàòåëÿ
mkpass_same=óæå ñîâïàäàþò
saveprint_printcap=Ôàéë printcap '$1' íå ñóùåñòâóåò
index_start=Ñòàðòîâàòü ñåðâåð Samba
smb_disksize=Ìàêñ. ïîêàçûâàåìûé ðàçìåð äèñêà
share_option=Äðóãèå ïàðàìåòðû ðåñóðñà
misc_debug=Óðîâåíü îòëàäêè
euser_name=Èìÿ
index_roeveryone=Òîëüêî ÷òåíèå äëÿ âñåõ
fperm_forcefile=Çàñòàâèòü èñïîëüçîâàòü Unix-ðåæèì äîñòóïà ê ôàéëàì
net_idle=Òàéìàóò äî ðàçúåäèíåíèÿ
fmisc_volume=Èìÿ òîìà
index_title=Ôàéë/ïðèíò ñåðâåð Samba
print_minspace=Ìèí. ñâîáîäíîå ïðîñòðàíñòâî
euser_currpw=Òåêóùèé ïàðîëü
pshare_unixprn=Unix ïðèíòåð
misc_rawwrite=Ðàçðåøèòü "ñûðûå" çàïèñè?
sec_denyhost=Çàïðåùåííûå õîñòû
error_include=Webmin íå ìîæåò ðàáîòàòü ñ ôàéëàìè êîíôèãóðàöèè samba ñîäåðæàùèìè äèðåêòèâû <tt>config</tt> èëè <tt>include</tt>.
error_delshare=Îøèáêà ïðè óäàëåíèè ðåñóðñà
savecopy_exist=Ðåñóðñ ñ èìåíåì '$1' óæå ñóùåñòâóåò
share_permission=Ïðàâà íà ôàéëû
savefmisc_fail=Îøèáêà ïðè ñîõðàíåíèè ïðî÷èõ ïàðàìåòðîâ
smb_show=Âñåãäà ïîêàçûâàòü ñåðâèñû
share_security=Óïðàâëåíèå áåçîïàñíîñòüþ è äîñòóïîì
share_name=Èìÿ ðåñóðñà
fperm_filemode=Íîâûé ðåæèì äîñòóïà ôàéëîâ Unix
index_startmsg=Ïîõîæå, ÷òî samba ñåðâåð íå çàïóùåí. Ýòî îçíà÷àåò, ÷òî ðåñóðñû ïåðå÷èñëåííûå âûøå íå äîñòóïíû äðóãèì êîìïüþòåðàì â ñåòè.
index_createprnshare=Ñîçäàòü íîâûé ïå÷àòíûé ðåñóðñ
fperm_dirmode=Íîâûé ðåæèì äîñòóïà êàòàëîãîâ Unix
fname_case=×óâñòâèòåëåí ê ðåãèñòðó?
mkpass_title=Ïðåîáðàçîâàòü ïîëüçîâàòåëåé
share_browseable=Âèäåí?
error_config=Êîíôèãóðàöèîííûé ôàéë $1 íå íàéäåí. Ñêîðåå âñåãî Samba íå óñòàíîâëåíà íà Âàøåé ñèñòåìå, èëè <a href="$2">êîíôèãóðàöèÿ ìîäóëÿ</a> íåâåðíà.
savesmb_size='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì äèñêà
share_naming=Èìåíîâàíèå ôàéëîâ
euser_shell=Shell
fperm_notlist=Êàòàëîãè íå ïîêàçûâàåìûå â ñïèñêå
net_uselist=Èç ñïèñêà...
savepass_passwd=Íå çàäàíà ïðîãðàììà äëÿ èçìåíåíèÿ ïàðîëåé
savefshare_fail=Îøèáêà ïðè ñîõðàíåíèè ðåñóðñà
net_listen=Ïðîñëóøèâàòü àäðåñ
smb_ip=IP àäðåñ
sec_invaliduser=Íåäåéñòâóþùèå ïîëüçîâàòåëè
viewu_msg2=Ïîäêëþ÷åííûõ ïîëüçîâàòåëåé íåò
global_unixnetwork=Unix Ñåòü
esync_add=Äîáàâèòü ïîëüçîâàòåëÿ Samba ïðè äîáàâëåíèè ïîëüçîâàòåëÿ Unix
passwd_unixuser=Unix ïîëüçîâàòåëè
passwd_send=Ïîñëàòü
savenet_timeout='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òàéìàóòîì îòñîåäèíåíèÿ
index_path=Ïóòü
create_msg=Êîïèÿ óíàñëåäóåò âñå çíà÷åíèÿ ïî óìîë÷àíèþ îò âûáðàííîãî Âàìè ðåñóðñà. Ïðè èçìåíåíèè èñõîäíîãî ðåñóðñà, òàêæå ïîìåíÿåòñÿ è åãî êîïèÿ. 
share_home=Ðåñóðñ-Äîìàøíèå êàòàëîãè
passwd_below=Çàäàí íèæå
fmisc_disconncmd=Êîìàíäà çàïóñêàåìàÿ ïðè îòñîåäèíåíèè
savenet_maxxmit='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàêèìàëüíûì ðàçìåðîì ðàêåòà
index_readwrite=×òåíèå/çàïèñü äëÿ $1<br>Òîëüêî ÷òåíèå äëÿ äëÿ âñåõ äðóãèõ èçâåñòíûõ ïîëüçîâàòåëåé
mkpass_del=óäàëåí
global_edit=Ðåäàêòèðîâàíèå ïîëüçîâàòåëåé è ïàðîëåé Samba
savecopy_fail=Îøèáêà ïðè ñîçäàíèè êîïèè
print_postscript=Çàñòàâèòü ïå÷àòàòü â postscript
global_winnetwork=Windows Ñåòü
convert_noconv=Íå ïðåîáðàçîâûâàòü è íå óäàëÿòü ñëåäóþùèõ ïîëüçîâàòåëåé:
misc_readprediction=Óïðåæäàþùåå ÷òåíèå?
fperm_title1=Ïðàâèëà ðàçäà÷è ïðàâ íà ôàéëû
fperm_title2=Ðåäàêòèðîâàíèå ôàéëîâûõ ïðàâ
euser_noaccess=Íåò äîñòóïà
index_security=Áåçîïàñíîñòü
global_password=Øèôðîâàíèå ïàðîëåé
convert_add=Äîáàâèòü íîâûõ ïîëüçîâàòåëåé Samba èç ñïèñêà ïîëüçîâàòåëåé Unix 
net_netinterface=Ñåòåâûå èíòåðôåéñû
net_trustlist=Ôàéë ñ äîâåðåííûìè õîñòàìè/ïîëüçîâàòåëÿìè
savefshare_mode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ðåñóðñà
smb_announce=Óäàëåííîå îïîâåùåíèå äëÿ
   0707010001fb40000081a40000000000000002000000013d1fe2bd00003996000000200000000000000000000000000000001700000003reloc/samba/lang/ru_SU    index_title=æÁÊÌ/ÐÒÉÎÔ ÓÅÒ×ÅÒ Samba
index_sharelist=ÓÐÉÓÏË ÒÅÓÕÒÓÏ×
index_userlist=ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_fileshare=ÆÁÊÌÏ×ÙÊ ÒÅÓÕÒÓ
index_printershare=ÐÅÞÁÔÎÙÊ ÒÅÓÕÒÓ

index_sharename=éÍÑ ÒÅÓÕÒÓÁ
index_path=ðÕÔØ
index_security=âÅÚÏÐÁÓÎÏÓÔØ
index_homedir=÷ÓÅ ÄÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ
index_allprinter=÷ÓÅ ÐÒÉÎÔÅÒÙ
index_printer=ðÒÉÎÔÅÒ
index_defaultprn=ðÒÉÎÔÅÒ ÐÏ ÕÍÏÌÞÁÎÉÀ
index_printableto=÷ÏÚÍÏÖÎÁ ÐÅÞÁÔØ ÄÌÑ
index_prneveryone=÷ÏÚÍÏÖÎÁ ÐÅÞÁÔØ ÄÌÑ ×ÓÅÈ
index_prnalluser=÷ÏÚÍÏÖÎÁ ÐÅÞÁÔØ ÄÌÑ ×ÓÅÈ ÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_rwpublic=þÔÅÎÉÅ/ÚÁÐÉÓØ ÄÌÑ ×ÓÅÈ
index_readonly=ôÏÌØËÏ ÞÔÅÎÉÅ ÄÌÑ $1<br>þÔÅÎÉÅ/ÚÁÐÉÓØ ÄÌÑ ×ÓÅÈ ÄÒÕÇÉÈ ÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_rwalluser=þÔÅÎÉÅ/ÚÁÐÉÓØ ÄÌÑ ×ÓÅÈ ÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_roeveryone=ôÏÌØËÏ ÞÔÅÎÉÅ ÄÌÑ ×ÓÅÈ
index_readwrite=þÔÅÎÉÅ/ÚÁÐÉÓØ ÄÌÑ $1<br>ôÏÌØËÏ ÞÔÅÎÉÅ ÄÌÑ ÄÌÑ ×ÓÅÈ ÄÒÕÇÉÈ ÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_roalluser=ôÏÌØËÏ ÞÔÅÎÉÅ ÄÌÑ ×ÓÅÈ ÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_noshares=òÅÓÕÒÓÙ Samba ÏÔÓÕÔÓÔ×ÕÀÔ
index_createfileshare=óÏÚÄÁÔØ ÎÏ×ÙÊ ÆÁÊÌÏ×ÙÊ ÒÅÓÕÒÓ
index_createprnshare=óÏÚÄÁÔØ ÎÏ×ÙÊ ÐÅÞÁÔÎÙÊ ÒÅÓÕÒÓ
index_createcopy=óÏÚÄÁÔØ ÎÏ×ÕÀ ËÏÐÉÀ ÒÅÓÕÒÓÁ
index_view=ðÒÏÓÍÏÔÒ ÓÏÅÄÉÎÅÎÉÊ
index_start=óÔÁÒÔÏ×ÁÔØ ÓÅÒ×ÅÒ Samba
index_startmsg=ðÏÈÏÖÅ, ÞÔÏ samba ÓÅÒ×ÅÒ ÎÅ ÚÁÐÕÝÅÎ. üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÒÅÓÕÒÓÙ ÐÅÒÅÞÉÓÌÅÎÎÙÅ ×ÙÛÅ ÎÅ ÄÏÓÔÕÐÎÙ ÄÒÕÇÉÍ ËÏÍÐØÀÔÅÒÁÍ × ÓÅÔÉ.
index_restart=ðÅÒÅÚÁÐÕÓÔÉÔØ ÓÅÒ×ÅÒ Samba
index_restartmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÑÌ ÐÅÒÅÚÁÐÕÓËÁ ÒÁÂÏÔÁÀÝÅÇÏ ÓÅÒ×ÅÒÁ samba. üÔÏ ÁËÔÉ×ÉÚÉÒÕÅÔ ×ÓÅ ÉÚÍÅÎÅÎÉÑ × ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ.

config_mins=íÉÎ.
config_secs=óÅË.
config_never=îÉËÏÇÄÁ
config_all=÷ÓÅ
config_neither=ïÔËÌÀÞÉÔØ

global_title=ïÂÝÉÅ ÎÁÓÔÒÏÊËÉ
global_unixnetwork=Unix óÅÔØ
global_winnetwork=Windows óÅÔØ
global_auth=áÕÔÅÎÔÉÆÉËÁÃÉÑ
global_printing=ðÅÞÁÔØ Ó Windows ÎÁ Unix
global_misc=ðÒÏÞÉÅ ÎÁÓÔÒÏÊËÉ
global_filedefault=ðÁÒÁÍÅÔÒÙ ÄÌÑ ÆÁÊÌÏ×ÙÈ ÒÅÓÕÒÓÏ×
global_prndefault=ðÁÒÁÍÅÔÒÙ ÄÌÑ ÐÅÞÁÔÎÙÈ ÒÅÓÕÒÓÏ×
global_password=ûÉÆÒÏ×ÁÎÉÅ ÐÁÒÏÌÅÊ
global_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÐÁÒÏÌÅÊ Samba
global_convert=ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix × ÐÏÌØÚÏ×ÁÔÅÌÉ Samba
global_sync=îÁÓÔÒÏÊËÁ Á×ÔÏÍÁÔÉÞÅÓËÏÊ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix É Samba

error_nosamba=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ ÓÅÒ×ÅÒÁ samba <tt>$1</tt> ÏÔÓÕÔÓÔ×ÕÅÔ. ìÉÂÏ samba ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ, ÉÌÉ <a href="$2">ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ</a> ÎÅ×ÅÒÎÁ.
error_version=Webmin ÎÅ ÓÍÏÇ ÐÏÌÕÞÉÔØ ×ÅÒÓÉÀ ÉÓÐÏÌÎÑÅÍÏÇÏ ÍÏÄÕÌÑ ÓÅÒ×ÅÒÁ samba  <tt>$1</tt>. ðÒÏ×ÅÒØÔÅ <a href="$2">ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ</a> ÞÔÏÂÙ ÕÂÅÄÉÔØÓÑ × ÐÒÁ×ÉÌØÎÏÓÔÉ ÐÕÔÅÊ.
error_config=ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ $1 ÎÅ ÎÁÊÄÅÎ. óËÏÒÅÅ ×ÓÅÇÏ Samba ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ, ÉÌÉ <a href="$2">ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ</a> ÎÅ×ÅÒÎÁ.
error_include=Webmin ÎÅ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ Ó ÆÁÊÌÁÍÉ ËÏÎÆÉÇÕÒÁÃÉÉ samba ÓÏÄÅÒÖÁÝÉÍÉ ÄÉÒÅËÔÉ×Ù <tt>config</tt> ÉÌÉ <tt>include</tt>.
error_delshare=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÒÅÓÕÒÓÁ
error_delcopy=òÅÓÕÒÓ '$1' ËÏÐÉÒÕÅÔÓÑ ÓÁÍ ÎÁ ÓÅÂÑ
error_savename=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÍÅÎÏ×ÁÎÉÑ ÆÁÊÌÏ×

convert_title=ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
convert_msg=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ ÓÐÉÓËÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix É Samba. åÓÌÉ Samba ÉÓÐÏÌØÚÕÅÔ <a href=$1>ÛÉÆÒÏ×ÁÎÎÙÅ ÐÁÒÏÌÉ</a>, ÔÏ ×ÍÅÓÔÏ ÓÉÓÔÅÍÎÏÇÏ ÓÐÉÓËÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÉÓÐÏÌØÚÕÅÔÓÑ ÏÔÄÅÌØÎÙÊ ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÐÁÒÏÌØÅÊ.
convert_noconv=îÅ ÐÒÅÏÂÒÁÚÏ×Ù×ÁÔØ É ÎÅ ÕÄÁÌÑÔØ ÓÌÅÄÕÀÝÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ:
convert_update=ïÂÎÏ×ÉÔØ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Samba ÎÁÏÓÎÏ×Å ÉÎÆÏÒÍÁÃÉÉ Unix
convert_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Samba ÉÚ ÓÐÉÓËÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix 
convert_delete=õÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Samba ÏÔÓÕÔÓÔ×ÕÀÝÉÈ × Unix 
convert_newuser=äÌÑ ×ÎÏ×Ø ÓÏÚÄÁ×ÁÅÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÏÌØ:
convert_nopasswd=îÅÔ ÐÁÒÏÌÑ
convert_lock=âÀÄÖÅÔ ÚÁÂÌÏËÉÒÏ×ÁÎ
convert_passwd=éÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÊ ÐÁÒÏÌØ
convert_convert=ðÒÅÏÂÒÁÚÏ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ

misc_title=ðÒÏÞÉÅ ÐÁÒÁÍÅÔÒÙ
misc_debug=õÒÏ×ÅÎØ ÏÔÌÁÄËÉ
misc_cachecall=ëÜÛÉÒÏ×ÁÔØ ×ÙÚÏ×Ù <tt>getwd()</tt>?
misc_lockdir=ëÁÔÁÌÏÇ ÄÌÑ ÂÌÏËÉÒÏ×ÏË
misc_log=æÁÊÌ ÄÌÑ ÖÕÒÎÁÌÁ
misc_maxlog=íÁËÓ. ÒÁÚÍÅÒ ÖÕÒÎÁÌÁ
misc_rawread=òÁÚÒÅÛÉÔØ "ÓÙÒÙÅ" ÞÔÅÎÉÑ?
misc_rawwrite=òÁÚÒÅÛÉÔØ "ÓÙÒÙÅ" ÚÁÐÉÓÉ?
misc_overlapread=ðÅÒÅËÒÙÔÉÅ ÒÁÚÍÅÒÁ ÞÔÅÎÉÑ
misc_chroot=<tt>chroot()</tt> ËÁÔÁÌÏÇ
misc_smbrun=ðÕÔØ Ë <tt>smbrun</tt>
misc_clienttime=óÍÅÝÅÎÉÅ ËÌÉÅÎÔÁ ÐÏ ×ÒÅÍÅÎÉ
misc_readprediction=õÐÒÅÖÄÁÀÝÅÅ ÞÔÅÎÉÅ?

net_title=ðÁÒÁÍÅÔÒÙ Unix ÓÅÔÉ
net_idle=ôÁÊÍÁÕÔ ÄÏ ÒÁÚßÅÄÉÎÅÎÉÑ
net_trustlist=æÁÊÌ Ó ÄÏ×ÅÒÅÎÎÙÍÉ ÈÏÓÔÁÍÉ/ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ
net_netinterface=óÅÔÅ×ÙÅ ÉÎÔÅÒÆÅÊÓÙ
net_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
net_uselist=éÚ ÓÐÉÓËÁ...
net_interface=éÎÔÅÒÆÅÊÓ
net_netmask=íÁÓËÁ ÓÅÔÉ
net_keepalive=ðÁËÅÔÙ keepalive
net_notsend=îÅ ÐÏÓÙÌÁÔØ ×ÏÏÂÝÅ
net_maxpacket=íÁËÓ. ÒÁÚÍÅÒ ÐÁËÅÔÁ
net_listen=ðÒÏÓÌÕÛÉ×ÁÔØ ÁÄÒÅÓ
net_socket=ðÁÒÁÍÅÔÒÙ ÓÏËÅÔÁ

passwd_title=ðÁÒÁÍÅÔÒÙ ÐÁÒÏÌÅÊ
passwd_encrypt=éÓÐÏÌØÚÏ×ÁÔØ ÛÉÆÒÏ×ÁÎÎÙÅ ÐÁÒÏÌÉ?
passwd_allownull=äÏÐÕÓËÁÔØ ÐÕÓÔÙÅ ÐÁÒÏÌÉ?
passwd_program=ðÒÏÇÒÁÍÍÁ ÄÌÑ ÐÁÒÏÌÅÊ
passwd_case=òÁÚÌÉÞÉÅ ÒÅÇÉÓÔÒÁ ÓÉÍ×. ÐÁÒÏÌÑ
passwd_chat=óËÒÉÐÔ ÉÚÍÅÎÅÎÉÑ ÐÁÒÏÌÑ
passwd_below=úÁÄÁÎ ÎÉÖÅ
passwd_waitfor=ïÖÉÄÁÔØ
passwd_send=ðÏÓÌÁÔØ
passwd_map=ïÔÏÂÒÁÖÅÎÉÅ ÉÍÅÎ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
passwd_unixuser=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ
passwd_winuser=Windows ÐÏÌØÚÏ×ÁÔÅÌÉ

print_title=ðÁÒÁÍÅÔÒÙ ÐÅÞÁÔÉ
print_style=ôÉÐ ÓÉÓÔÅÍÙ ÐÅÞÁÔÉ Unix
print_show=÷ÓÅ ÌÉ ÐÒÉÎÔÅÒÙ ÐÏËÁÚÙ×ÁÔØ?
print_printcap=æÁÊÌ Printcap
print_cachetime=÷ÒÅÍÑ ËÜÛÉÒÏ×ÁÎÉÑ ÓÏÓÔÏÑÎÉÑ ÐÒÉÎÔÅÒÁ

smb_title=ðÁÒÁÍÅÔÒÙ Windows ÓÅÔÉ
smb_workgroup=òÁÂÏÞÁÑ ÇÒÕÐÐÁ
smb_wins=òÅÖÉÍ WINS
smb_winsserver=óÔÁÔØ WINS ÓÅÒ×ÅÒÏÍ
smb_useserver=éÓÐÏÌØÚÏ×ÁÔØ ÓÅÒ×ÅÒ
smb_description=ïÐÉÓÁÎÉÅ ÓÅÒ×ÅÒÁ
smb_name=éÍÑ ÓÅÒ×ÅÒÁ
smb_aliase=ðÓÅ×ÄÏÎÉÍÙ ÓÅÒ×ÅÒÁ
smb_default=óÅÒ×ÉÓ ÐÏ ÕÍÏÌÞÁÎÉÀ
smb_show=÷ÓÅÇÄÁ ÐÏËÁÚÙ×ÁÔØ ÓÅÒ×ÉÓÙ
smb_disksize=íÁËÓ. ÐÏËÁÚÙ×ÁÅÍÙÊ ÒÁÚÍÅÒ ÄÉÓËÁ
smb_unlimited=îÅÏÇÒÁÎÉÞÅÎÏ
smb_winpopup=ëÏÍÁÎÄÁ Winpopup
smb_priority=ðÒÉÏÒÉÔÅÔ ÇÌÁ×ÎÏÇÏ ÂÒÁÕÚÅÒÁ
smb_protocol=îÁÉ×ÙÓÛÉÊ ÕÒÏ×ÅÎØ ÐÒÏÔÏËÏÌÁ
smb_master=çÌÁ×ÎÙÊ ÂÒÁÕÚÅÒ?
smb_security=âÅÚÏÐÁÓÎÏÓÔØ
smb_sharelevel=õÒÏ×ÅÎØ ÒÅÓÕÒÓÁ
smb_userlevel=õÒÏ×ÅÎØ ÐÏÌØÚÏ×ÁÔÅÌÑ
smb_passwdserver=óÅÒ×ÅÒ ÐÁÒÏÌÅÊ
smb_domain=äÏÍÅÎ
smb_announce=õÄÁÌÅÎÎÏÅ ÏÐÏ×ÅÝÅÎÉÅ ÄÌÑ
smb_nowhere=îÉËÏÇÏ
smb_fromlist=éÚ ÓÐÉÓËÁ...
smb_ip=IP ÁÄÒÅÓ
smb_asworkgroup=<b>ëÁË ÇÒÕÐÐÁ</b> (×ÏÚÍÏÖÎÏ)

create_title=óÏÚÄÁÎÉÅ ËÏÐÉÉ
create_msg=ëÏÐÉÑ ÕÎÁÓÌÅÄÕÅÔ ×ÓÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÏÔ ×ÙÂÒÁÎÎÏÇÏ ÷ÁÍÉ ÒÅÓÕÒÓÁ. ðÒÉ ÉÚÍÅÎÅÎÉÉ ÉÓÈÏÄÎÏÇÏ ÒÅÓÕÒÓÁ, ÔÁËÖÅ ÐÏÍÅÎÑÅÔÓÑ É ÅÇÏ ËÏÐÉÑ. 
create_from=ëÏÐÉÒÕÅÍÙÊ ÒÅÓÕÒÓ:
create_name=éÍÑ ÎÏ×ÏÇÏ ÒÅÓÕÒÓÁ:

smbuser_title=ðÏÌØÚÏ×ÁÔÅÌÉ Samba
smbuser_list=óÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ Samba
smbuser_nouser=ðÏÌØÚÏ×ÁÔÅÌÅÊ Samba ÎÅÔ

euser_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑ
euser_name=éÍÑ
euser_uid=Unix UID
euser_passwd=ðÁÒÏÌØ
euser_noaccess=îÅÔ ÄÏÓÔÕÐÁ
euser_nopw=îÅÔ ÐÁÒÏÌÑ
euser_currpw=ôÅËÕÝÉÊ ÐÁÒÏÌØ
euser_newpw=îÏ×ÙÊ ÐÁÒÏÌØ
euser_realname=îÁÓÔÏÑÝÅÅ ÉÍÑ/ËÏÍÍÅÎÔÁÒÉÊ
euser_homedir=äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ
euser_shell=Shell
euser_option=ðÁÒÁÍÅÔÒÙ ÐÏÌØÚÏ×ÁÔÅÌÑ
euser_normal=ïÂÙÞÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
euser_nopwrequired=îÅ ÔÒÅÂÕÅÔ ÐÁÒÏÌÑ
euser_disable=âÀÄÖÅÔ ÚÁÂÌÏËÉÒÏ×ÁÎ
euser_trust=äÏ×ÅÒÉÔÅÌØÎÙÊ ÂÀÄÖÅÔ ÒÁÂÏÞ. ÓÔÁÎÃÉÉ

fmisc_title=ðÒÏÞÉÅ ÆÁÊÌÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ
fmisc_for=äÌÑ ÒÅÓÕÒÓÁ <tt>$1</tt>
fmisc_lockfile=âÌÏËÉÒÏ×ËÉ ÆÁÊÌÏ×?
fmisc_maxconn=íÁËÓ. ÓÏÅÄÉÎÅÎÉÊ
fmisc_fake=Fake oplocks?
fmisc_sharemode=éÓÐÏÌØÚÏ×ÁÔØ share modes?
fmisc_strict=Strict locking?
fmisc_sync=óÂÒÏÓ ÂÕÆÅÒÏ× ÐÏÓÌÅ ÚÁÐÉÓÉ?
fmisc_volume=éÍÑ ÔÏÍÁ
fmisc_sameas=ôÁËÏÅ-ÖÅ ËÁË ÒÅÓÕÒÓ
fmisc_unixdos=Unix-DOS ÏÔÏÂÒÁÖÅÎÉÅ ÉÍÅÎ ÆÁÊÌÏ×
fmisc_conncmd=ëÏÍÁÎÄÁ ÚÁÐÕÓËÁÅÍÁÑ ÐÒÉ ÐÏÄÓÏÅÄÉÎÅÎÉÉ
fmisc_disconncmd=ëÏÍÁÎÄÁ ÚÁÐÕÓËÁÅÍÁÑ ÐÒÉ ÏÔÓÏÅÄÉÎÅÎÉÉ
fmisc_rootconn=ëÏÍÁÎÄÁ ÚÁÐÕÓËÁÅÍÁÑ Ó ÐÒÉ×ÉÌÅÇÉÅÊ <i>root</i> ÐÒÉ ÐÏÄÓÏÅÄÉÎÅÎÉÉ
fmisc_rootdisconn=ëÏÍÁÎÄÁ ÚÁÐÕÓËÁÅÍÁÑ Ó ÐÒÉ×ÉÌÅÇÉÅÊ <i>root</i> ÐÒÉ ÏÔÓÏÅÄÉÎÅÎÉÉ

fname_title1=ðÒÁ×ÉÌÁ ÉÍÅÎÏ×ÁÎÉÑ ÆÁÊÌÏ×
fname_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÒÁ×ÉÌ ÉÍÅÎÏ×ÁÎÉÑ ÆÁÊÌÏ×
fname_option=ðÁÒÁÍÅÔÒÙ ÉÍÅÎÏ×ÁÎÉÑ ÆÁÊÌÏ×
fname_manglecase=Mangle ÒÅÇÉÓÔÒ?
fname_case=þÕ×ÓÔ×ÉÔÅÌÅÎ Ë ÒÅÇÉÓÔÒÕ?
fname_defaultcase=òÅÇÉÓÔÒ ÐÏ ÕÍÏÌÞÁÎÉÀ?
fname_lower=îÉÖÎÉÊ
fname_upper=÷ÅÒÈÎÉÊ
fname_preserve=óÏÈÒÁÎÑÔØ ÒÅÇÉÓÔÒ?
fname_shortpreserve=Short Preserve Case?
fname_hide=óËÒÙ×ÁÔØ "ÆÁÊÌÙ Ó ÔÏÞËÏÊ"?
fname_archive=óÏÈÒÁÎÑÔØ ÁÒÈÉ×ÎÙÊ ÁÔÒÉÂÕÔ DOS?
fname_hidden=óÏÈÒÁÎÑÔØ ÓËÒÙÔÙÊ ÁÔÒÉÂÕÔ DOS?
fname_system=óÏÈÒÁÎÑÔØ ÓÉÓÔÅÍÎÙÊ ÁÔÒÉÂÕÔ DOS?

fperm_title1=ðÒÁ×ÉÌÁ ÒÁÚÄÁÞÉ ÐÒÁ× ÎÁ ÆÁÊÌÙ
fperm_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÆÁÊÌÏ×ÙÈ ÐÒÁ×
fperm_option=ðÁÒÁÍÅÔÒÙ ÆÁÊÌÏ×ÙÈ ÐÒÁ×
fperm_filemode=îÏ×ÙÊ ÒÅÖÉÍ ÄÏÓÔÕÐÁ ÆÁÊÌÏ× Unix
fperm_dirmode=îÏ×ÙÊ ÒÅÖÉÍ ÄÏÓÔÕÐÁ ËÁÔÁÌÏÇÏ× Unix
fperm_notlist=ëÁÔÁÌÏÇÉ ÎÅ ÐÏËÁÚÙ×ÁÅÍÙÅ × ÓÐÉÓËÅ
fperm_forceuser=úÁÓÔÁ×ÉÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Unix ÐÏÌØÚÏ×ÁÔÅÌÑ
fperm_forcegrp=úÁÓÔÁ×ÉÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Unix ÇÒÕÐÐÕ
fperm_link=òÁÚÒÅÛÉÔØ ÓÉÍ×ÏÌÉÞÅÓËÉÅ ÓÓÙÌËÉ ÚÁ ÐÒÅÄÅÌÙ ÒÅÓÕÒÓÁ?
fperm_delro=íÏÖÅÔ ÕÄÁÌÑÔØ ÆÁÊÌÙ ÔÏÌØËÏ-ÄÌÑ-ÞÔÅÎÉÑ?
fperm_forcefile=úÁÓÔÁ×ÉÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Unix-ÒÅÖÉÍ ÄÏÓÔÕÐÁ Ë ÆÁÊÌÁÍ
fperm_forcedir=úÁÓÔÁ×ÉÔØ ÉÓÐÏÌØÚÏ×ÁÔØ Unix-ÒÅÖÉÍ ÄÏÓÔÕÐÁ Ë ËÁÔÁÌÏÇÁÍ

share_title1=ðÁÒÁÍÅÔÒÙ ÆÁÊÌÏ×ÙÈ ÒÅÓÕÒÓÏ×
share_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÆÁÊÌÏ×ÏÇÏ ÒÅÓÕÒÓÁ
share_title3=óÏÚÄÁÎÉÅ ÆÁÊÌÏ×ÏÇÏ ÒÅÓÕÒÓÁ
share_info=éÎÆÏÒÍÁÃÉÑ Ï ÒÅÓÕÒÓÅ
share_copy=äÁÎÎÙÊ ÒÅÓÕÒÓ Ñ×ÌÑÅÔÓÑ ËÏÐÉÅÊ <i>$1</i>
share_name=éÍÑ ÒÅÓÕÒÓÁ
share_home=òÅÓÕÒÓ-äÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ
share_dir=ëÁÔÁÌÏÇ ÒÅÓÕÒÓÁ
share_available=äÏÓÔÕÐÅÎ?
share_browseable=÷ÉÄÅÎ?
share_comment=ëÏÍÍÅÎÔÁÒÉÊ Ë ÒÅÓÕÒÓÕ
share_view=ðÒÏÓÍÏÔÒ ÓÏÅÄÉÎÅÎÉÊ
share_option=äÒÕÇÉÅ ÐÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÁ
share_security=õÐÒÁ×ÌÅÎÉÅ ÂÅÚÏÐÁÓÎÏÓÔØÀ É ÄÏÓÔÕÐÏÍ
share_permission=ðÒÁ×Á ÎÁ ÆÁÊÌÙ
share_naming=éÍÅÎÏ×ÁÎÉÅ ÆÁÊÌÏ×
share_misc=ðÒÏÞÉÅ ÐÁÒÁÍÅÔÒÙ

print_title1=ðÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÏ× ÐÅÞÁÔÉ
print_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÁÒÁÍÅÔÒÏ× ÐÅÞÁÔÉ
print_option=ðÁÒÁÍÅÔÒÙ ÐÒÉÎÔÅÒÁ
print_minspace=íÉÎ. Ó×ÏÂÏÄÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï
print_postscript=úÁÓÔÁ×ÉÔØ ÐÅÞÁÔÁÔØ × postscript
print_command=ëÏÍÁÎÄÁ ÄÌÑ ÐÅÞÁÔÉ
print_queue=ëÏÍÁÎÄÁ ÄÌÑ ÐÏËÁÚÁ ÏÞÅÒÅÄÉ
print_delete=ëÏÍÁÎÄÁ ÄÌÑ ÕÄÁÌÅÎÉÑ ÚÁÄÁÎÉÑ
print_pause=ëÏÍÁÎÄÁ ÄÌÑ ÐÒÉÏÓÔÁÎÏ×ËÉ ÚÁÄÁÎÉÑ
print_unresume=ëÏÍÁÎÄÁ ÄÌÑ  ×ÏÚÏÂÎÏ×ÌÅÎÉÑ ÚÁÄÁÎÉÑ
print_driver=äÒÁÊ×ÅÒ ÐÒÉÎÔÅÒÁ

pshare_title1=ðÁÒÁÍÅÔÒÙ ÒÅÓÕÒÓÁ ÐÅÞÁÔÉ
pshare_title2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÁÒÁÍÅÔÒÏ× ÐÅÞÁÔÉ
pshare_title3=óÏÚÄÁÎÉÅ ÒÅÓÕÒÓÁ ÐÅÞÁÔÉ
pshare_info=éÎÆÏÒÍÁÃÉÑ Ï ÒÅÓÕÒÓÅ
pshare_name=éÍÑ ÒÅÓÕÒÓÁ
pshare_all=òÅÓÕÒÓ - ÷ÓÅ ÐÒÉÎÔÅÒÙ
pshare_unixprn=Unix ÐÒÉÎÔÅÒ
pshare_spool=ëÁÔÁÌÏÇ ÓÐÕÌÅÒÁ

sec_index1=ðÁÒÁÍÅÔÒÙ ÂÅÚÏÐÁÓÎÏÓÔÉ
sec_index2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ÐÁÒÁÍÅÔÒÏ× ÂÅÚÏÐÁÓÎÏÓÔÉ
sec_writable=òÁÚÒÅÛÅÎÁ ÚÁÐÉÓØ?
sec_guest=çÏÓÔÅ×ÏÊ ÂÀÄÖÅÔ?
sec_guestonly=ôÏÌØËÏ ÇÏÓÔÅ×ÏÊ
sec_guestaccount=Unix ÐÏÌØÚÏ×ÁÔÅÌØ ÄÌÑ ÇÏÓÔÅ×ÏÇÏ ÂÀÄÖÅÔÁ
sec_limit=ïÇÒÁÎÉÞÉÔØ ÄÏ ×ÏÚÍÏÖÎÏÇÏ ÓÐÉÓËÁ?
sec_allowhost=òÁÚÒÅÛÅÎÎÙÅ ÈÏÓÔÙ
sec_onlyallow=òÁÚÒÅÛÉÔØ ÔÏÌØËÏ
sec_denyhost=úÁÐÒÅÝÅÎÎÙÅ ÈÏÓÔÙ
sec_onlydeny=úÁÐÒÅÔÉÔØ ÔÏÌØËÏ
sec_revalidate=Revalidate ÐÏÌØÚÏ×ÁÔÅÌÅÊ?
sec_validuser=äÅÊÓÔ×ÕÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
sec_validgroup=äÅÊÓÔ×ÕÀÝÉÅ ÇÒÕÐÐÙ
sec_invaliduser=îÅÄÅÊÓÔ×ÕÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
sec_invalidgroup=îÅÄÅÊÓÔ×ÕÀÝÉÅ ÇÒÕÐÐÙ
sec_possibleuser=÷ÏÚÍÏÖÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
sec_possiblegroup=÷ÏÚÍÏÖÎÙÅ ÇÒÕÐÐÙ
sec_rouser=ôÏÌØËÏ ÞÉÔÁÀÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
sec_rogroup=ôÏÌØËÏ ÞÉÔÁÀÝÉÅ ÇÒÕÐÐÙ
sec_rwuser=þÉÔÁÀÝÉÅ/ÐÉÛÕÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
sec_rwgroup=þÉÔÁÀÝÉÅ/ÐÉÛÕÝÉÅ ÇÒÕÐÐÙ

esync_title=óÉÎÈÒÏÎÉÚÁÃÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
esync_msg=Webmin ÍÏÖÅÔ ÂÙÔØ ÎÁÓÔÒÏÅÎ ÔÁË, ÞÔÏ ×ÓÅ ÉÚÍÅÎÅÎÉÑ × ÂÁÚÅ ÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix ÂÕÄÕÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØÓÑ Ó ÂÁÚÏÊ ÄÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Samba. üÔÏ ×ÏÚÍÏÖÎÏ × ÔÏÍ ÓÌÕÞÁÅ, ËÏÇÄÁ ÄÌÑ ÄÏÂÁ×ÌÅÎÉÑ, ÉÚÍÅÎÅÎÉÑ ÉÌÉ ÕÄÁÌÅÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Webmin ÍÏÄÕÌØ <tt>ðÏÌØÚÏ×ÁÔÅÌÉ É çÒÕÐÐÙ</tt>.
esync_add=äÏÂÁ×ÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ Samba ÐÒÉ ÄÏÂÁ×ÌÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ Unix
esync_chg=éÚÍÅÎÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ Samba ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ Unix
esync_del=õÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ Samba ÐÒÉ ÕÄÁÌÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ Unix

mkpass_title=ðÒÅÏÂÒÁÚÏ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
mkpass_fail=ïÛÉÂËÁ ÐÒÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
mkpass_msg=ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix...
mkpass_skip=ÐÒÏÐÕÝÅÎ
mkpass_same=ÕÖÅ ÓÏ×ÐÁÄÁÀÔ
mkpass_update=ÏÂÎÏ×ÌÅÎ
mkpass_del=ÕÄÁÌÅÎ
mkpass_passfail=ïÛÉÂËÁ ÐÒÉ ÚÁÄÁÎÉÉ ÐÁÒÏÌÑ

savecopy_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÏÐÉÉ
savecopy_global=éÍÑ 'global' ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÒÅÓÕÒÓÁ
savecopy_exist=òÅÓÕÒÓ Ó ÉÍÅÎÅÍ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ

saveuser_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
saveuser_uid='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ Unix UID
saveuser_colon=òÅÁÌØÎÏÅ ÉÍÑ ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÓÉÍ×ÏÌ:
saveuser_home=äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
saveuser_shell=$1 ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ shell
saveuser_pass=ïÛÉÂËÁ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÐÁÒÏÌÑ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ smbpasswd : $1

savefmisc_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÏÞÉÈ ÐÁÒÁÍÅÔÒÏ×
savefmisc_number='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ ÓÏÅÄÉÎÅÎÉÊ

savefperm_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÁ× ÆÁÊÌÏ×
savefperm_mode='$1' ÎÅ Ñ×ÌÑÀÔÓÑ ÄÏÐÕÓÔÉÍÙÍÉ ÐÒÁ×ÁÍÉ ÄÏÓÔÕÐÁ Unix ÆÁÊÌÁ

savefshare_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÅÓÕÒÓÁ
savefshare_nopath=ðÕÔØ ÎÅ ÚÁÄÁÎ
savefshare_exist=òÅÓÕÒÓ Ó ÉÍÅÎÅÍ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
savefshare_mode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÒÅÓÕÒÓÁ
savefshare_global=éÍÑ 'global' ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ËÁË ÉÍÑ ÒÅÓÕÒÓÁ

savemisc_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
savemisc_lockdir=ëÁÔÁÌÏÇ ÓÏÄÅÒÖÁÝÉÊ ÐÏÄËÁÔÁÌÏÇ Ó ÂÌÏËÉÒÏ×ËÁÍÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
savemisc_logdir=ëÁÔÁÌÏÇ ÓÏÄÅÒÖÁÝÉÊ ÖÕÒÎÁÌØÎÙÊ ÆÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
savemisc_logsize='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÖÕÒÎÁÌÁ
savemisc_overlap='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ overlapping read
savemisc_chroot=ëÁÔÁÌÏÇ chroot '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
savemisc_smbrun=ðÒÏÇÒÁÍÍÁ smbrun '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÉÌÉ ÎÅ Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌÎÑÅÍÏÊ
savemisc_time='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÎÙÍ ÓÍÅÝÅÎÉÅÍ

savenet_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
savenet_timeout='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÁÊÍÁÕÔÏÍ ÏÔÓÏÅÄÉÎÅÎÉÑ
savenet_ip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP
savenet_keep='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÎÔÅÒ×ÁÌÏÍ keepalive
savenet_maxxmit='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁËÉÍÁÌØÎÙÍ ÒÁÚÍÅÒÏÍ ÒÁËÅÔÁ

savepass_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
savepass_nopass=÷ÁÛÁ ×ÅÒÓÉÑ samba ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÛÉÆÒÏ×ÁÎÎÙÅ ÐÁÒÏÌÉ
savepass_passwd=îÅ ÚÁÄÁÎÁ ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÐÁÒÏÌÅÊ
savepass_level='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÌÉÞÉÅÍ ÒÅÇÉÓÔÒÁ ÐÁÒÏÌÑ
savepass_chat=óÃÅÎÁÒÉÊ ÉÚÍÅÎÅÎÉÑ ÐÁÒÏÌÑ ÐÕÓÔ

savepopts_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÐÅÞÁÔÉ
savepopts_number=íÉÎ. Ó×ÏÂÏÄÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï Ä.Â. ÃÉÆÒÏÊ

saveprint_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
saveprint_printcap=æÁÊÌ printcap '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
saveprint_cache='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ËÜÛÉÒÏ×ÁÎÉÑ

savepshare_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÒÅÓÕÒÓÁ ÐÅÞÁÔÉ
savepshare_exist=òÅÓÕÒÓ Ó ÉÍÅÎÅÍ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
savepshare_name='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÒÅÓÕÒÓÁ
savepshare_global=éÍÑ 'global' ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÒÅÓÕÒÓÁ

savesec_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÂÅÚÏÐÁÓÎÏÓÔÉ
savesmb_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
savesmb_size='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÄÉÓËÁ
savesmb_oslevel='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÒÉÏÒÉÔÎÔÏÍ ÇÌÁ×ÎÏÇÏ ÂÒÁÕÚÅÒÁ
savesmb_server=÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ÓÅÒ×ÅÒ ÐÁÒÏÌÅÊ

start_err=ïÛÉÂËÁ ÐÒÉ ÓÔÁÒÔÅ ÓÅÒ×ÅÒÁ samba
start_fail=$1 ÎÅÕÓÐÅÛÎÏ

swats_fail=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
swats_user=ïÔÓÕÔÓÔ×ÕÅÔ SWAT ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ

viewu_index=ôÅËÕÝÉÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
viewu_list=ôÅËÕÝÉÅ ÐÌØÚÏ×ÁÔÅÌÉ $1
viewu_share=òÅÓÕÒÓ
viewu_msg2=ðÏÄËÌÀÞÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÅÔ
  0707010001fb41000081a40000000000000002000000013d1fe2bd00004e78000000200000000000000000000000000000001400000003reloc/samba/lang/sv   index_title=Resurshanterare för Samba
index_sharelist=resurslista
index_userlist=användarlista
index_fileshare=filresurs
index_printershare=skrivarresurs
index_shareconf=resurskonfiguration
index_yes=Ja
index_no=Nej

index_sharename=Resursnamn
index_path=Sökväg
index_security=Säkerhet
index_homedir=Alla hemkataloger
index_allprinter=Alla skrivare
index_printer=Skrivare
index_defaultprn=Standardskrivare
index_printableto=Kunna användas av
index_prneveryone=Kunna användas av alla
index_prnalluser=Kunna användas av alla kända användare
index_rwpublic=Läs- och skrivbar för alla
index_readonly=Endast läsbar för $1<br>Läs- och skrivbar för övriga kända användare
index_rwalluser=Läs- och skrivbar för alla kända användare
index_roeveryone=Endast läsbar för alla
index_readwrite=Läs- och skrivbar för $1<br>Endast läsbar för övriga kända användare
index_roalluser=Endast läsbar för alla kända användare
index_noshares=Du har inte definierat någon Samba-resurs
index_createfileshare=Lägg till en filresurs
index_createprnshare=Lägg till en skrivarresurs
index_createcopy=Lägg till en kopia
index_view=Visa alla uppkopplingar
index_start=Starta Samba-servrar
index_startmsg=Samba-servrarna verkar inte köras på ditt system. Detta medför att resurserna som räknas upp ovan inte går att komma åt från andra datorer.
index_restart=Starta om Samba-servrar
index_restartmsg=Tryck på denna knapp för att starta om de Samba-servrar som körs på ditt system. De inställningar du nu har gjort kommer att tas i drift.

config_mins=minuter
config_secs=sekund
config_bytes=byte
config_never=Aldrig
config_all=Alla
config_neither=Ingen
config_default=Standard

global_title=Globala inställningar
global_unixnetwork=Unix-nätverk
global_winnetwork=Windows-nätverk
global_auth=Autentisering
global_printing=Windows-Unix-skrivning
global_misc=Blandade inställningar
global_filedefault=Standardinställningar för filresurs
global_prndefault=Standardinställningar för skrivarresurs
global_password=Krypterade lösenord
global_edit=Ändra Samba-användare och lösenord
global_convert=Gör om Unix-användare till Samba-användare
global_sync=Gör inställningar för automatisk synkronisering mellan Unix- och Samba-användare

error_nosamba=Samba-serverprogrammet <tt>$1</tt> kunde inte hittas. Samba verkar inte ha installerats på ditt system, eller också är dina <a href="$2">modulinställningar</a> felaktiga.
error_version=Webmin kunde inte hitta något versionsnummer på ditt Samba-serverprogram <tt>$1</tt>. Kontrollera i dina <a href="$2">modulinställningar</a> att du verkligen har angivit rätt sökväg.
error_config=Inställningsfilen file $1 kunde inte hittas. Det troligaste är att Samba inte installerats på ditt system, eller också är dina <a href="$2">modulinställningar</a> felaktiga.
error_include=Webmin kan inte hantera inställningsfiler för Samba som använder något av direktiven <tt>config</tt> och <tt>include</tt>.
error_delshare=Det gick inte att ta bort resursen
error_delcopy=Resursen '$1' kopierar denna resurs
error_savename=Det gick inte att spara filnamnet

convert_title=Gör om Unix-användare till Samba-användare
convert_msg=I detta formulär kan du synkronisera listorna med Unix- och Samba-användare. Om Samba kör med <a href=$1>krypterade lösenord</a>, kommer en separat lista med användare och lösenord att användas istället för systemets lista med användare.
convert_noconv=Flytta inte över och ta inte bort följande användare:
convert_update=Uppdatera befintliga Samba-användare med deras Unix-uppgifter
convert_add=Lägg till Samba-användare från Unix-användarlistan
convert_delete=Ta bort Samba-användare som inte finns under Unix
convert_newuser=Sätt följande lösenord för nya användare:
convert_nopasswd=Inget lösenord
convert_lock=Kontot låst
convert_passwd=Använd detta lösenord
convert_convert=Flytta över användare

misc_title=Blandade inställningar
misc_debug=Debuggningsnivå
misc_cachecall=Cacha <tt>getwd()</tt>-anrop?
misc_lockdir=Låskatalog
misc_log=Loggfil
misc_maxlog=Maximal loggstorlek
misc_rawread=Tillåta rå läsning?
misc_rawwrite=Tillåta rå skrivning?
misc_overlapread=Storlek för överskjutande läsning
misc_chroot=<tt>chroot()</tt>-katalog
misc_smbrun=Sökväg till <tt>smbrun</tt>
misc_clienttime=Client time offset
misc_readprediction=Läsa i förväg?

net_title=Inställningar för Unix-nätverk
net_idle=Väntetid före nedkoppling
net_trustlist=Fil med betrodda datorer/användare
net_netinterface=Nätverkskort
net_auto=Automatiskt
net_uselist=Använd lista ...
net_interface=Interface
net_netmask=Nätmask
net_keepalive=Keepalive-paket
net_notsend=Skicka inga
net_every=Skicka var
net_maxpacket=Maximal paketstorlek
net_listen=Lyssna på adress
net_socket=Socket-inställningar

passwd_title=Lösenordsinställningar
passwd_encrypt=Ska krypterade lösenord användas?
passwd_allownull=Ska tomma lösenord tillåtas?
passwd_program=Lösenordsprogram
passwd_case=I lösenordet görs skillnad på små och stora bokstäver
passwd_chat=Strängsekvens för att ändra lösenord
passwd_below=Angivet nedan:
passwd_waitfor=Vänta på
passwd_send=Skicka
passwd_map=Uppslagning av användarnamn
passwd_unixuser=Unix-användare
passwd_winuser=Windows-användare

print_title=Skrivarinställningar
print_style=Unix-utskrifter
print_show=Visa alla skrivare?
print_printcap=Printcap-fil
print_cachetime=Hur länge ska skrivarstatus cachas?

smb_title=Inställningar för Windows-nätverk
smb_workgroup=Arbetsgrupp
smb_wins=WINS-mode
smb_winsserver=Vara WINS-server
smb_useserver=Använd server
smb_description=Serverbeskrivning
smb_name=Servernamn
smb_aliase=Serveralias
smb_default=Standardtjänst
smb_show=Visa alltid tjänster
smb_disksize=Maximal angiven diskstorlek
smb_unlimited=Obegränsad
smb_winpopup=Kommando för Winpopup
smb_priority=Prioritet för master browser
smb_protocol=Högsta protokoll
smb_master=Master browser?
smb_security=Säkerhet
smb_sharelevel=Resursnivå
smb_userlevel=Användarnivå
smb_passwdserver=Lösenordsserver
smb_domain=Domän
smb_announce=Skicka meddelande till
smb_nowhere=Ingenstans
smb_fromlist=Från lista ...
smb_ip=IP-adress
smb_asworkgroup=<b>Som arbetsgrupp</b> (valfritt)

create_title=Skapa kopia
create_msg=En kopierad resurs ärver alla standardvärden från den valda resursen. Om originalet ändras kommer kopian också att göra det.
create_from=Resurs som ska kopieras:
create_name=Namn på ny resurs:

smbuser_title=Samba-användare
smbuser_list=Lista över Samba-användare
smbuser_nouser=Du har inte definierat några Samba-användare

euser_title=Ändra Samba-användare
euser_name=Användarnamn
euser_uid=Unix-UID
euser_passwd=Lösenord
euser_noaccess=Ingen åtkomst
euser_nopw=Inget lösenord
euser_currpw=Nuvarande lösenord
euser_newpw=Nytt lösenord
euser_realname=Namn i verkligheten
euser_homedir=Hemkatalog
euser_shell=Skal
euser_option=Användarinställningar
euser_normal=Normal användare
euser_nopwrequired=Ingen lösenord behövs
euser_disable=Kontot avstängt
euser_trust=Betrott arbetsstationskonto

fmisc_title=Blandade standardinställningar för filer
fmisc_for=För resurs <tt>$1</tt>
fmisc_lockfile=Låsa fil?
fmisc_maxconn=Maximalt antal uppkopplingar
fmisc_fake=Fejka op-lås?
fmisc_sharemode=Använda resurs-mode?
fmisc_strict=Strikt lås?
fmisc_sync=Synkronisera efter skrivning?
fmisc_volume=Volymnamn
fmisc_sameas=Samma som resursen
fmisc_unixdos=Översättning av Unix-DOS-filnamn
fmisc_conncmd=Kommando vid uppkoppling
fmisc_disconncmd=Kommando vid nedkoppling
fmisc_rootconn=Kommando vid uppkoppling <i>som root</i>
fmisc_rootdisconn=Kommando vid nedkoppling <i>som root</i>

fname_title1=Standardvärden för filnamngivning
fname_title2=Ändra filnamngivning
fname_option=Inställningar för filnamngivning
fname_manglecase=Göra om allt till stora/små bokstäver?
fname_case=Kastberoende (skillnad på stora och små bokstäver)?
fname_defaultcase=Standard?
fname_lower=Små
fname_upper=Stora
fname_preserve=Behålla stora och små bokstäver som de är?
fname_shortpreserve=Behålla stora och små bokstäver?
fname_hide=Gömma punktfiler?
fname_archive=Spara DOS-arkivflaggan?
fname_hidden=Spara DOS Gömd-flagga?
fname_system=Spara DOS systemflagga?

fperm_title1=Standardvärden för filrättigheter
fperm_title2=Ändra filrättigheter
fperm_option=Inställningar för filrättigheter
fperm_filemode=Mode för nya Unix-filer
fperm_dirmode=Mode för nya Unix-kataloger
fperm_notlist=Kataloger som inte ska listas
fperm_forceuser=Sätt Unix-användare
fperm_forcegrp=Sätt Unix-grupp
fperm_link=Tillåta symboliska länkar som går utanför resursen?
fperm_delro=Kunna ta bort filer som endast är läsbara?
fperm_forcefile=Använd alltid Unix-filmode
fperm_forcedir=Använd alltid Unix-katalogmode

share_title1=Standardvärden för filresurser
share_title2=Ändra filresurs
share_title3=Lägg till filresurs
share_info=Uppgifter om filresurs
share_copy=Denna resurs är en kopia av <i>$1</i>
share_name=Resursens namn
share_home=Hemkatalogresurs
share_dir=Kataloger som ska delas
share_available=Tillgängligt?
share_browseable=Läsbart (kunna se filer)?
share_comment=Resurskommentar
share_view=Visa uppkopplingar
share_option=Övriga resursinställningar
share_security=Säkerhet och åtkomstkontroll
share_permission=Filrättigheter
share_naming=Filnamngivning
share_misc=Blandade inställningar

print_title1=Standardinställningar för skrivare
print_title2=Ändra skrivarinställningar
print_option=Skrivarinställningar
print_minspace=Minsta lediga utrymme
print_postscript=Alltid postscript-utskrift
print_command=Utskriftskommando
print_queue=Kommando för att se utskriftskön
print_delete=Kommando för att ta bort utskriftsjobb
print_pause=Kommando för att stanna utskriftsjobb
print_unresume=Kommando för att inte återuppta utskriftsjobb
print_driver=Skrivardrivrutin

pshare_title1=Standardvärden för skrivarresurser
pshare_title2=Ändra skrivarresurs
pshare_title3=Lägg till skrivarresurs
pshare_info=Uppgifter om resursen
pshare_name=Resursnamn
pshare_all=Resurs för alla skrivare
pshare_unixprn=Unix-skrivare
pshare_spool=Spool-katalog

sec_index1=Standardvärden för åtkomst
sec_index2=Ändra åtkomst
sec_writable=Skrivbart?
sec_guest=Har guest tillgång?
sec_guestonly=Endast guest
sec_guestaccount=Endast Unix-gästanvändare
sec_limit=Begränsning på Möjliga-listan?
sec_allowhost=Tillåt följande datorer
sec_onlyallow=Tillåt endast:
sec_denyhost=Neka följande datorer
sec_onlydeny=Neka endast:
sec_revalidate=Bekräfta användare igen?
sec_validuser=Giltiga användare
sec_validgroup=Giltiga grupper
sec_invaliduser=Ogiltiga användare
sec_invalidgroup=Ogiltiga grupper
sec_possibleuser=Möjliga användare
sec_possiblegroup=Möjliga grupper
sec_rouser=Användare som endast får läsa
sec_rogroup=Grupper som endast får läsa
sec_rwuser=Användare som får läsa och skriva
sec_rwgroup=Grupper som får läsa och skriva

esync_title=Användarsynkronisering
esync_msg=Webmin kan ställas in så att ändringar av Unix-användare automatiskt också görs för motsvarande Samba-användare. Detta fungerar dock bara då Webmin-modulen <tt>Användare och grupper</tt> används för att lägga till, ta bort eller ändra användare.
esync_add=Lägg till en Samba-användare när en Unix-användare läggs till
esync_chg=Ändra Samba-användaren när motsvarande Unix-användare ändras
esync_del=Ta bort Samba-användaren när motsvarande Unix-användare tas bort
esync_apply=Ta i drift

mkpass_title=Gör om användare
mkpass_convfail=Det gick inte att göra om användare
mkpass_msg=Gör om Unix-användare ...
mkpass_skip=hoppas över
mkpass_same=är redan samma
mkpass_update=uppdateras
mkpass_del=tas bort
mkpass_passfail=Det gick inte att sätta lösenordet

savecopy_fail=Det gick inte att skapa en kopia
savecopy_global=Du får inte använda namnet 'global' på en resurs
savecopy_exist=Det finns redan en resurs med namnet '$1'

saveuser_fail=Det gick inte att spara användare
saveuser_uid='$1' är inte ett giltigt Unix-UID
saveuser_colon=Det verkliga namnet får inte innehålla tecknet :
saveuser_home=Hemkatalogen '$1' finns inte
saveuser_shell=$1 är inte ett giltigt skal
saveuser_pass=Det gick inte att byta lösenord med smbpasswd: $1

savefmisc_fail=Det gick inte att spara blandade inställningar
savefmisc_number='$1' är inte ett giltigt antal uppkopplingar

savefperm_fail=Det gick inte att spara filrättigheter
savefperm_mode='$1' är inte en giltig Unix-filmod

savefshare_fail=Det gick inte att spara resursen
savefshare_nopath=Du har inte angivit någon sökväg
savefshare_exist=Det finns redan en resurs med namnet '$1'
savefshare_mode='$1' är inte ett giltigt resursnamn
savefshare_global=Du får inte använda namnet 'global' på en resurs

savemisc_fail=Det gick inte att spara inställningarna
savemisc_lockdir=Katalogen som ska innehålla låskatalogen finns inte
savemisc_logdir=Katalogen som ska innehålla loggfilen finns inte
savemisc_logsize='$1' är inte en giltig loggstorlek
savemisc_overlap='$1' är inte en giltig storlek för överskjutande läsning
savemisc_chroot=chroot-katalogen '$1' finns inte
savemisc_smbrun=smbrun-programmet '$1' finns inte eller går inte att köra
savemisc_time='$1' är inte en giltig time offset

save_net_fail=Det gick inte att spara inställningar
save_net_timeout='$1' är inte en giltig tidsgräns för nedkoppling
save_net_ip='$1' är inte en giltig IP-byte
save_net_keep='$1' är inte ett giltigt keepalive-intervall
save_net_maxxmit='$1' är inte en giltig maximal paketstorlek

save_pass_fail=Det gick inte att spara inställningar
save_pass_nopass=Din Samba-version stödjer inte krypterade lösenord
save_pass_passwd=Du har inte angivit något program som kan ändra lösenord
save_pass_level='$1' är inte en giltig kastskillnad för lösenord
save_pass_chat=Strängsekvensen för att ändra lösenord är tom

save_popts_fail=Det gick inte att spara skrivarinställningar
save_popts_number=Minsta lediga utrymme måste vara ett tal

save_print_fail=Det gick inte att spara inställningar
save_print_printcap=Printcap-filen '$1' finns inte
save_print_cache='$1' är inte en giltig cache-tid

save_pshare_fail=Det gick inte att spara skrivarresurs
save_pshare_exist=Det finns redan en resurs med namnet '$1'
save_pshare_name='$1' är inte ett giltigt resursnamn
save_pshare_global=Du får inte använda namnet 'global' på en resurs

save_sec_fail=Det gick inte att spara säkerhetsinställningar

save_smb_fail=Det gick inte att spara inställningar
save_smb_size='$1' är inte en giltig diskstorlek
save_smb_oslevel='$1' är inte en giltig prioritet för master browser
save_smb_server=Du måste ange en lösenordsserver

start_err=Det gick inte att starta någon Samba-server
start_fail=$1 misslyckades

swats_fail=Det gick inte att spara användarnamn
swats_user=SWAT-användarnamn fattas

viewu_index=Uppkopplade användare
viewu_list=Användare uppkopplade till $1
viewu_share=Resurs
viewu_user=Användare
viewu_group=Grupp
viewu_from=Uppkopplad från
viewu_time=Kopplade upp vid
viewu_pid=Process-ID
viewu_msg1=Klicka på ett process-ID i listan ovan för att koppla ned användaren.
viewu_msg2=För tillfället är ingen användare uppkopplad

log_apply=Startade om Samba-servrar
log_start=Startade Samba-servrar
log_save_fshare=Modifierade filresurs $1
log_save_pshare=Modifierade skrivarresurs $1
log_save_sec=Modifierade säkerhet och åtkomstkontroll för resurs $1
log_save_fperm=Modifierade filrättigheter för resurs $1
log_save_fname=Modifierade filnamngivning för resurs $1
log_save_fmisc=Modifierade blandade inställningar för resurs $1
log_save_popts=Modifierade skrivarinställningar för resurs $1
log_default_fshare=Ändrade standardinställningar för filresursen
log_default_pshare=Ändrade standardinställningar för skrivarresursen
log_kill=Bröt förbindelsen till process $1
log_skill=Bröt förbindelsen till process $1 från resurs $2
log_create_fshare=Lade till filresurs $1
log_create_pshare=Lade till skrivarresurs $1
log_delete_fshare=Tog bort filresurs $1
log_delete_pshare=Tog bort skrivarresurs $1
log_net=Ändrade inställningar för Unix-nätverk
log_smb=Ändrade inställningar för Windows-nätverk
log_pass=Ändrade autentiseringsinställningar
log_print=Ändrade inställningar för Windows-Unix-skrivning
log_misc=Ändrade blandade inställningar
log_sync=Konfigurerade synkronisering av Unix-användare
log_epass=Gjorde om Unix-användare till Samba-användare
log_epass_l=Gjorde om Unix-användare till Samba-användare ($1 skapade, $2 modifierade, $3 borttagna)
log_copy=Kopierade resurs $2 to $1
log_save_euser=Modifierade Samba-användare $1
log_delete_euser=Tog bort Samba-användare $1

swat_title=SWAT-inloggning
swat_list=SWAT-inloggning
swat_msg1=Ditt SWAT-användarnamn och -lösenord är felaktiga. Logga in igen i formuläret nedan.
swat_msg2=Du behöver ett användarnamn och ett lösenord för att kunna logga in på SWAT. Det går oftast bra med valfri användare i systemet.
swat_msg3=Det går inte att köra SWAT via Webmin, eftersom dina Samba-inställningar har variabeln <tt>$1:...</tt> (allow hosts) satt.
swat_msg4=Däremot går det att koppla upp sig direkt mot SWAT på $1
swat_username=Användarnamn
swat_password=Lösenord
swat_login=Logga in
swat_clear=Rensa

eacl_aviol=Rättighetsöverträdelse
eacl_np=Du har inte rättighet att
eacl_papply=starta om denna tjänst
eacl_pcn=ändra inställningar för Unix-nätverk
eacl_pcs=ändra inställningar för Samba-nätverk
eacl_pcp=ändra lösenordsinställningar
eacl_pcprint=ändra skrivarinställningar
eacl_pcm=ändra blandade inställningar
eacl_pcswat=använda SWAT
eacl_pcopy=kopiera utdelade resurser
eacl_pconn_all=se alla förbindelser
eacl_pconn=se förbindelser för denna resurs
eacl_pgkill=slå ihjäl förbindelser
eacl_pkill=slå ihjäl denna förbindelse
eacl_pus=uppdatera resurs
eacl_pcs=lägga till resurs
eacl_pds=ta bort resurs
eacl_pusec=uppdatera inställningar för säkerhet och åtkomstkontroll för denna resurs
eacl_pufperm=uppdatera inställningar för filrättigheter för denna resurs
eacl_pufname=uppdatera inställningar för filnamngivning för denna resurs
eacl_pufmisc=uppdatera blandade inställningar för denna resurs
eacl_pupopt=uppdatera skrivarinställningar för denna resurs
eacl_pmpass=initialisera SAMBA-användardatabasen
eacl_pmsync=underhålla synkroniseringen mellan UNIX- och SAMBA-användare
eacl_pmusers=underhålla SAMBA-användare
eacl_pvusers=komma åt SAMBA-användare
eacl_pvfmisc=komma åt blandade inställningar för denna resurs
eacl_pvfname=komma åt inställningar för filnamngivning för denna resurs
eacl_pvperm=komma åt inställningar för filrättigheter för denna resurs
eacl_pvsec=komma åt inställningar för säkerhet och åtkomstkontroll för denna resurs
eacl_pvpopt=komma åt skrivarinställningar för denna resurs
eacl_pafs=komma åt denna filresurs
eacl_paps=komma åt denna skrivarresurs
eacl_pcps=lägga till en skrivarresurs
eacl_pcfs=lägga till en filresurs

acl_apply=Kunna ta ändringar i drift?
acl_view_all_con=Kunna se alla förbindelser?
acl_kill_con=Kunna ta bort förbindelser?
acl_conf_net=Kunna göra inställningar för Unix-nätverk?
acl_conf_smb=Kunna göra inställningar för Windows-nätverk?
acl_conf_pass=Kunna göra lösenordsinställningar?
acl_conf_print=Kunna göra skrivarinställningar?
acl_conf_misc=Kunna göra blandade inställningar?
acl_swat=Kunna använda SWAT?
acl_enc_passwd_opts=Inställningar för krypterat lösenord
acl_view_users=Kunna se databasen med SAMBA-användare?
acl_maint_users=Kunna ändra SAMBA-användare?
acl_maint_makepass=Kunna omvandla Unix-användare till SAMBA-användare?
acl_maint_sync=Kunna underhålla automatisk synkronisering av omvandlingen Unix - SAMBA-användare?
acl_hide=Gömma objekt som inte ska kommas åt?
acl_c=skapa
acl_r=läsa
acl_w=skriva
acl_afs=Komma åt filresurser
acl_aps=Komma åt skrivarresurser
acl_copy=Kunna kopiera resurser?
acl_per_fs_acls=Slå på åtkomstlistor per filresurs?
acl_per_ps_acls=Slå på åtkomstlistor per skrivarresurs?
acl_per_share_acls=Åtkomstlistor per resurs
acl_ernow=Om du vill göra någon objekttyp åtkomlig för skrivning i de globala åtkomstlistorna måste du också tillåta åtkomst för läsning för denna objekttyp.
acl_sname=Resursnam
acl_saccess=Resursen åtkomlig
acl_sconn=Förbindelser
acl_sopthdr=Inställningar för resurs
acl_ssec=säkerhet
acl_sperm=rättigheter
acl_snaming=filnamngivning
acl_smisc=blandade
acl_sprn=eller skrivare
acl_na=n/a
acl_r1=för läsning
acl_rw=för skrivning
acl_view=se
acl_kill=slå ihjäl
acl_edit=ändra
0707010001fb42000081a40000000000000002000000013d1fe2bd00003e88000000200000000000000000000000000000001400000003reloc/samba/lang/tr   index_title=Samba Paylaþým Yöneticisi
index_sharelist=paylaþým listesi
index_userlist=kullanýcý listesi
index_fileshare=dosya paylaþýmý
index_printershare=yazýcý paylaþýmý

index_sharename=Paylaþým Adý
index_path=Yolu
index_security=Güvenlik
index_homedir=Bütün Ev Dizinleri
index_allprinter=Bütün Yazýcýlar
index_printer=Yazýcý
index_defaultprn=Öntanýmlý yazýcý
index_printableto=Yazýlabilir
index_prneveryone=Herkes için yazýlabilir
index_prnalluser=Bütün bilinen kullanýcýlar için yazýlabilir
index_rwpublic=Herkes için Okunur/Yazýnýr
index_readonly=$1 için sadece okunur.<br>Diðer bütün bilinen kullanýcýlar için Okunur/Yazýnýr
index_rwalluser=Bütün bilinen kullanýcýlar için Okunur/Yazýnýr
index_roeveryone=Herkes için sadece okunur
index_readwrite=$1 için Okunur/Yazýnýr.<br>Diðer bütün bilinen kullanýcýlar için sadece okunur.
index_roalluser=Bütün bilinen kullanýcýlar içiçn sadece okunur.
index_noshares=Samba paylaþýmý tanýmlanmadý
index_createfileshare=Yeni bir dosya paylaþýmý oluþtur
index_createprnshare=Yeni bir yazýcý paylaþýmý oluþtur
index_createcopy=Yeni bir kopya oluþtur
index_view=Bütün baðlantýlarý göster
index_start=Samba Sunucularý Baþlat
index_startmsg=Samba sunucularýn sisteminizde çalýþmadýðý tespit edildi. Bu paylaþým listesine diðer bilgisayarlarýn ulaþmasýný engelleyecektir
index_restart=Samba Sunucularý Yeniden Baþlat
index_restartmsg=Bu butonu týklayarak sisteminizde çalýþmakta olan samba sunucusunu yeniden baþlatabilirsiniz. Böylece mevcut yapýlandýrma uygulanmýþ olacaktýr.

config_mins=Dak
config_secs=San
config_never=Asla
config_all=Hepsi
config_neither=Ýkisi de deðil

global_title=Global Yapýlandýrma
global_unixnetwork=Unix Aðý
global_winnetwork=Windows Aðý
global_auth=Onaylama
global_printing=Unix Yazýcýsýna Windows
global_misc=Çeþitli Seçenekler
global_filedefault=Dosya Paylaþýmý Öntanýmlýlarý
global_prndefault=Yazýcý Paylaþýmý Öntanýmlýlarý
global_password=Þifrelenmiþ Parolalar
global_edit=Samba kullanýcý ve þifrelerini deðiþtir
global_convert=Unix kullanýcýlarýný Samba kullanýcýlarýna dönüþtür.
global_sync=Otomatik Unix ve Samba kullanýcý eþzamanlamasýný yapýlandýr

error_nosamba=Samba sunucusu çalýþtýrýlabiliri <tt>$1</tt> bulunamadý. Sisteminizde Samba sunucusu kurulmamýþ ya da <a href="$2">modül yapýlandýrmanýz</a> yanlýþ olabilir.
error_version=Webmin Samba sunucusu çalýþtýrýlabiliri olan <tt>$1</tt>'in sürümünü okuyamadý. Doðru yolu belirtmek için <a href="$2">modül yapýlandýrma</a>nýzý kontrol ediniz.
error_config=Yapýlandýrma dosyasý $1 bulunamadý. Büyük ihtimalle sisteminize Samba kurulmamýþtýr, ya da  <a href="$2">modül yapýlandýrma</a>nýz yanlýþtýr
error_include=Webmin <tt>config</tt> ya da <tt>include</tt> komutlarýný kullanmak için yapýlandýrma dosyasýný kullanamadý.
error_delshare=Paylaþýmýn silinmesinde hata oluþtu
error_delcopy=Bu paylaþým '$1' paylaþýmýndan kopyalanmýþtýr
error_savename=Dosya adýnýn kaydedilmesinde hata oluþtu

convert_title=Kullanýcýlarý Dönüþtür
convert_msg=Bu form Samba ve Unix kullanýcýlarýnýn eþzamanlamasýný yapmak için kullanýlýr. Samba <a href=$1>encrypted passwords</a> seçeneðini kullandýðýnda, sistem kullanýcýlarýnýn yerine kullanýcý ve þifrelerin ayrýlmýþ listesi kullanýlýr.
convert_noconv=Bu kullanýcýlarý silme ya da dönüþtürme:
convert_update=Mevcut Samba kullanýcýlarýnýn Unix ayrýntýlarýný güncelleþtir
convert_add=Unix kullanýcýlarý listesinden yeni Samba kullanýcýlarý ekle
convert_delete=Unix altýnda bulunmayan Samba kullanýcýlarýný sil
convert_newuser=Yeni oluþturulan kullanýcýlar için, þifre olarak bunu ver:
convert_nopasswd=þifre yok
convert_lock=Alan kilitlendi
convert_passwd=Bu þifreyi kullan
convert_convert=Kullanýcýlarý Dönüþtür

misc_title=Çeþitli Seçenekler
misc_debug=Hatasýzlaþtýrma Seviyesi
misc_cachecall=Cache <tt>getwd()</tt>'yi çaðýrsýn mý?
misc_lockdir=Kilit dizini
misc_log=Kayýt dosyasý
misc_maxlog=En çok kayýt boyutu
misc_rawread=Ham okumalara izin verilsin mi?
misc_rawwrite=Ham yazmalara izin verilsin mi?
misc_overlapread=Üstüste okuma boyutu
misc_chroot=<tt>chroot()</tt> dizini
misc_smbrun=<tt>smbrun</tt> yolu
misc_clienttime=Ýstemci zaman dengesi
misc_readprediction=Tahmini okuma?

net_title=Unix Að Seçenekleri
net_idle=Baðlantý kesilmesinden önceki bekleme süresi
net_trustlist=Doðrulanmýþ makineler/kullanýcýlar dosyasý
net_netinterface=Að arayüzleri
net_auto=Otomatik
net_uselist=Listeyi kullan...
net_interface=Arayüz
net_netmask=Að maskesi
net_keepalive=Keepalive paketleri
net_notsend=Hiçbirþey gönderme
net_maxpacket=En çok paket boyutu
net_listen=Adresi dinle
net_socket=Soket seçenekleri

passwd_title=Parola Seçenekleri
passwd_encrypt=Þifrelenmiþ parolalar kullanýlsýn mý?
passwd_allownull=Boþ þifreler kabul edilsin mi?
passwd_program=Parola programý
passwd_case=Parola harfleri farklý olmalý
passwd_chat=Parola sorma ifadelerini deðiþtir
passwd_below=Listeliler:
passwd_waitfor=Bekle
passwd_send=Gönder
passwd_map=Kullanýcý adý haritalandýrmasý
passwd_unixuser=Unix Kullanýcýlarý
passwd_winuser=Windows Kullanýcýlarý

print_title=Yazýcý Seçenekleri
print_style=Unix yazým stili
print_show=Bütün yazýcýlarý göster?
print_printcap=Printcap dosyasý
print_cachetime=Yazýcý durumu cache zamaný

smb_title=Windows Að Seçenekleri
smb_workgroup=Çalýþma Grubu
smb_wins=WINS modu
smb_winsserver=WINS sunucu ol
smb_useserver=Sunucu kullan
smb_description=Sunucu açýklamasý
smb_name=Sunucu adý
smb_aliase=Sunucu tkma isimleri
smb_default=Öntanýmlý servis
smb_show=Servisleri her zaman göster
smb_disksize=Bildirilem en çok disk boyutu
smb_unlimited=Limitsiz
smb_winpopup=Winpopup komutu
smb_priority=Ana tarayýcý önceliði
smb_protocol=En yüksek protokol
smb_master=Ana tarayýcý?
smb_security=Güvenlik
smb_sharelevel=Paylaþým seviyesi
smb_userlevel=Kullanýcý seviyesi
smb_passwdserver=Þifre sunucusu
smb_domain=Alan
smb_announce=Uzkatan bildir
smb_nowhere=Hiçbiryer
smb_fromlist=Listeden...
smb_ip=IP Adresi
smb_asworkgroup=<b>Çalýþma grubu olarak</b> (seçime baðlý)

create_title=Kopya Oluþtur
create_msg=Bir kopya paylaþým seçtiðiniz paylaþýmdaki bütün öntanýmlý deðerleri alýr. Eðer kaynak deðiþtirilirse, kopyasý da deðiþtirilir
create_from=Buradan kopyayý paylaþtýr:
create_name=Yeni paylaþým ismi:

smbuser_title=Samba Kullanýcýlarý
smbuser_list=Samba Kullanýcý Listesi
smbuser_nouser=Samba kullanýcýlarý tanýmlanmadý

euser_title=Samba Kullanýcýsýnýn Deðiþtir
euser_name=Kullanýcý adý
euser_uid=Unix UID
euser_passwd=Þifre
euser_noaccess=Giriþ yok
euser_nopw=Parola yok
euser_currpw=Mevcut parola
euser_newpw=Yeni parola
euser_realname=Gerçek ismi
euser_homedir=Ev dizini
euser_shell=Kabuk
euser_option=Kullanýcý seçenekleri
euser_normal=Normal kullanýcý
euser_nopwrequired=Þifre gerekmiyor
euser_disable=Hesap kapatýldý
euser_trust=Ýþ istasyonu onaylama hesabý

fmisc_title=Çeþitli Dosya Öntanýmlýlarý
fmisc_for=<tt>$1</tt> paylaþýmý için
fmisc_lockfile=Dosya kilitlensin mi?
fmisc_maxconn=En çok baðlantý
fmisc_fake=Fake oplocks özelliði kullanýlsýn mý?
fmisc_sharemode=Paylaþým modlarý kullanýlsýn mý?
fmisc_strict=Kilitlemeler tam olsun?
fmisc_sync=Yazýmlardan sonra sync yapýlsýn mý?
fmisc_volume=Volume ismi
fmisc_sameas=Paylaþým ile ayný
fmisc_unixdos=Unix-DOS dosya adý haritasý
fmisc_conncmd=Baðlantý için kullanýlacak komut
fmisc_disconncmd=Baðlantýyý kesmek için kullanýlacak komut
fmisc_rootconn=<i>Root olarak</i> baðlantý için kullanýlacak komut
fmisc_rootdisconn=<i>Root olarak</i> baðlantýyý kesmek için kullanýlacak komut

fname_title1=Dosya Ýsimlendirme Öntanýmlýlarý
fname_title2=Dosya Ýsimlendirmesini Deðiþtir
fname_option=Dosya Ýsimlendirme Seçenekleri
fname_manglecase=Harfler küçültülsün mü?
fname_case=Harf duyarlýlýðý olsun mu?
fname_defaultcase=Öntanýmlý harf biçimi?
fname_lower=Küçük
fname_upper=Büyük
fname_preserve=Harfle saklansýn mý?
fname_shortpreserve=Harfler kýsa saklansýn ým?
fname_hide=Noktalý dosyalar saklansýn mý?
fname_archive=DOS arþiv dosyalarýný sakla?
fname_hidden=DOS gizli dosyalarýný sakla?
fname_system=DOS sistem dosyalarýný sakla?

fperm_title1=Dosya Ýzinleri Öntanýmlýlarý
fperm_title2=Dosya Ýzinlerini Deðiþtir
fperm_option=Dosya Ýzin Seçenekleri
fperm_filemode=Yeni Unix dosyasý modu
fperm_dirmode=Yeni Unix dizini modu
fperm_notlist=Dizinleri listeleme
fperm_forceuser=Unix kullanýcýsý olarak kullan
fperm_forcegrp=Unix grubu olarak kullan
fperm_link=Sembolik linklerin dýþ paylaþýmlara eriþimine izin verilsin?
fperm_delro=Sadece okunur dosyalar silinebilsin mi?
fperm_forcefile=Unix dosya modunu kullan
fperm_forcedir=Unix dizin modunu kullan

share_title1=Dosya Paylaþým Öntanýmlýlarý
share_title2=Dosya Paylaþýmýný Deðiþtir
share_title3=Dosya Paylaþýmý Oluþtur
share_info=Paylaþým Bilgisi
share_copy=Bu paylaþým <i>$1</i>'in kopyasýdýr
share_name=Paylaþým adý
share_home=Ev Dizinleri Paylaþýmý
share_dir=Paylaþým dizini
share_available=Ulaþýlabilir?
share_browseable=Taranabilir?
share_comment=Paylaþým açýklamasý
share_view=Baðlantýlaro Göster
share_option=Diðer Paylaþým Seçenekleri
share_security=Güvenlik ve Giriþ Kontrol
share_permission=Dosya Ýzinleri
share_naming=Dosya Ýsimlendirme
share_misc=Çeþitli Seçenekler

print_title1=Yazýcý Seçenekleri Öntanýmlýlarý
print_title2=Yazýcý Seçeneklerini Deðiþtir
print_option=Yazýcý Seçenekleri
print_minspace=En az boþ alan
print_postscript=Postscript yazýmý yap
print_command=Yazdýrým komutu
print_queue=Kuyruk komutunu görüntüle
print_delete=Ýþ komutunu sil
print_pause=Ýþ komutunu durdur
print_unresume=Ýþ komutunu devam ettirme
print_driver=Yazýcý Sürücüsü

pshare_title1=Yazýcý Seçenekleri Öntanýmlýlarý
pshare_title2=Yazýcý Paylaþýmýný Deðiþtir
pshare_title3=Yazýcý Paylaþýmý Oluþtur
pshare_info=Paylaþým Bilgisi
pshare_name=Paylaþým Adý
pshare_all=Bütün Yazýcýlarýn Paylaþýmý
pshare_unixprn=Unix Yazýcýsý
pshare_spool=Tutma dizini

sec_index1=Güvenlik Öntanýmlýlarý
sec_index2=Güvenliði Deðiþtir
sec_writable=Yazýlabilir?
sec_guest=Ziyaretçi Giriþi yapýlsýn mý?
sec_guestonly=Sadece ziyaretçi
sec_guestaccount=Ziyaretçi Unix kullanýcýsý
sec_limit=Olumlu liste sýnýrlandýrýlsýn mý?
sec_allowhost=Makine izinleri
sec_onlyallow=Sadece izin verilenler:
sec_denyhost=Ýzin verilmeyen makineler
sec_onlydeny=Sadece izin verilmeyenler:
sec_revalidate=Kullanýcýlar tekrar onaylansýn mý?
sec_validuser=Geçerli kullanýcýlar
sec_validgroup=Geçerli gruplar
sec_invaliduser=Geçersiz kullanýcýlar
sec_invalidgroup=Geçersiz gruplar
sec_possibleuser=Mümkün kullanýcýlar
sec_possiblegroup=Mümkün gruplar
sec_rouser=Sadece okuyabilir kullanýcýlar
sec_rogroup=Sadece okuyabilir gruplar
sec_rwuser=Okuma/Yazma izinli kullanýcýlar
sec_rwgroup=Okuman/Yazma izinli gruplar

esync_title=Kullanýcý Eþzamanlamasý
esync_msg=Webmin, Unix kullanýcýlarý listesi deðiþtiðinde otomatik olarak Samba kullanýcý listesini de deðiþtirecek þekilde yapýlandýrýlabilir. Bu sadece kullanýcý ekleme, silme ve deðiþtirme iþlemleri <tt>Kullanýcý ve Gruplar</tt> Webmin modülü kullanýlarak yapýldýðýnda münkündür.
esync_add=Bir Unix kullanýcýsý eklendiðinde Samba kullanýcýsý ekle
esync_chg=Bir Unix kullanýcýsý deðiþtirildiðinde Samba kullanýcýsý deðiþtir
esync_del=Bir Unix kullanýcýsý silindiðinde Samab kullanýcýsý sil

mkpass_title=Kullanýcý Dönüþtür
mkpass_fail=Kullanýcýnýn dönüþtürülmesinde hata oluþtu
mkpass_msg=Unix kullanýcýlarý dönüþtürülüyor...
mkpass_skip=oluþum geçildi
mkpass_same=her zaman aynýsý
mkpass_update=oluþum güncellendir
mkpass_del=oluþum silindi
mkpass_passfail=Þifre verilmedinde hata oluþtu


savecopy_fail=Kopya oluþturulmasýnda hata oluþtu
savecopy_global='Global' ismi bir paylaþým için kullanýlamaz
savecopy_exist='$1' paylaþýmý her zaman mevcut

saveuser_fail=Kullanýcýnýn kaydedilmesinde hata oluþtu
saveuser_uid='$1' geçerli bir Unix UID'si deðildir
saveuser_colon=Gerçek isim bu karakteri içermemelidir :
saveuser_home=Ev dizini '$1' mevcut deðildir
saveuser_shell=$1 geçerli bir kabuk deðildir
saveuser_pass=smbpasswd kullanýlarak parolanýn deðiþtirilmesinde hata oluþtu : $1

savefmisc_fail=Çeþitli seçeneklerin kaydedilmesinde hata oluþtu
savefmisc_number='$1' geçerli bir baðlantý sayýsý deðildir

savefperm_fail=Dosya izinlerinin kaydedilmesinde hata oluþtu
savefperm_mode='$1' geçerli bir Unix dosya modu deðildir

savefshare_fail=Paylaþýmýn kaydedilmesinde hata oluþtu
savefshare_nopath=Yol girilmedi
savefshare_exist='$1' paylaþýmý her zaman mevcut
savefshare_mode='$1' geçerli bir paylaþým ismi deðildir
savefshare_global='global' ismi bir paylaþým için kullanýlamaz

savemisc_fail=Seçeneklerin kaydedilmesinde hata oluþtu
savemisc_lockdir=Dizin içeriði kilit dizini mevcut deðil
savemisc_logdir=Dizin içeriði kilit dizini mevcut deðil
savemisc_logsize='$1' geçerli bir kayýt boyutu deðildir
savemisc_overlap='$1' geçerli bir üstüste okuma boyutu deðildir
savemisc_chroot=chroot dizini '$1' mevcut deðildir
savemisc_smbrun=smbrun programý '$1' mevcut deðil ya da çalýþtýrýlamaz
savemisc_time='$1' geçerli bir denge zamaný deðildir

savenet_fail=Seçeneklerin kaydedilmesinde hata oluþtu
savenet_timeout='$1' geçerli bir baðlantý kopma süresi deðildir
savenet_ip='$1' geçerli bir IP byte'ý deðildir
savenet_keep='$1' geçerli bir keepalive aralýðý deðildir
savenet_maxxmit='$1' geçerli bir en çok pakey boyutu deðildir
savepass_fail=Seçeneklerin kaydedilmesinde hata oluþtu
savepass_nopass=Samba sürümünüz encrypt passwords seçeneðini desteklememektedir
savepass_passwd=Parola deðiþtirme programý girilmedi
savepass_level='$1' geçerli bir parola harf farklýlýðý deðildir
savepass_chat=Parola deðiþtirme sorularýnýn sýrasý boþ
savepopts_fail=Yazýcý seçeneklerinin kaydedilmesinde hata oluþtu
savepopts_number=En az boþ alan bir sayý olmalýdýr
saveprint_fail=Seçeneklerin kaydedilmesinde hata oluþtu
saveprint_printcap=printcap dosyasý '$1' mevcut deðildir
saveprint_cache='$1' geçerli bir cache süresi deðildir
savepshare_fail=Yazýcý paylaþýmýnýn kaydedilmesinde hata oluþtu
savepshare_exist='$1' paylaþýmý her zaman mevcut
savepshare_name='$1' geçerli bir paylaþým ismi deðildir
savepshare_global='global' ismi bir paylaþým ismi olarak kullanýlamaz
savesec_fail=Güvenliðin kaydedilmesinde hata oluþtu
savesmb_fail=Seçeneklerin kaydedilmesinde hata oluþtu
savesmb_size='$1' geçerli bir dik boyutu deðildir
savesmb_oslevel='$1' geçerli bir ana tarayýcý önceliði deðildir
savesmb_server=Bir parola sunucusu girmelisiniz
start_err=Samba sunuuclarýn baþlatýlmasýnda hata oluþtu
start_fail=$1 hata!
swats_fail=Kullanýcý adýnýn kaydedilmesinde hata oluþtu
swats_user=SWAT kullanýcý adý bulunamadý
viewu_index=Mevcut kullanýcýlar
viewu_list=<i>$1</i>'in mevcut kullanýcýlarý
viewu_share=Paylaþým
viewu_msg2=Baðlý kullanýcý yok

log_apply=Samba sunucularý yeniden baþlatýldý
log_start=Samba sunucularý baþlatýldý
log_save_fshare=$1 dosya paylaþýmý deðiþtirildi
log_save_pshare=$1 yazýcý paylaþmý deðiþtirildi
log_save_sec=Paylaþým $1 için güvenlik ve giriþ kontrolü deðiþtirildi
log_save_fperm=Paylaþým $1 için dosya haklarý deðiþtirildi
log_save_fname=Paylaþým $1 için dosya isimlendirme deðiþtirildi
log_save_fmisc=Paylaþým $1 için çeþitli seçenekler deðiþtirildi
log_save_popts=Paylaþým $1 için yazýcý seçenekleri deðiþtirildi
log_default_fshare=Dosya paylaþým öntanýmlýlarý deðiþtirildi
log_default_pshare=Yazýcý paylaþým öntanýmlýlarý deðiþtirildi
log_kill=Ýþlem $1'e baðlantý kesildi
log_skill=Paylaþým $2'deki iþlem $1'e baðlantý kesildi
log_create_fshare=Dosya paylaþýmý $1 oluþturuldu
log_create_pshare=Yazýcý paylaþýmý $1 oluþturuldu
log_delete_fshare=Dosya paylaþýmý $1 silindi
log_delete_pshare=Yazýcý paylaþýmý $1 silindi
log_net=Unix að seçenekleri deðiþtirildi
log_smb=Windows að seçenekleri deðiþtirildi
log_pass=Onaylama seçenekleri deðiþtirildi
log_print=Unix'e Windows'tan yazdýrma seçenekleri deðiþtirildi
log_misc=Çeþitli seçenekler deðiþtirildi
log_sync=Unix kullanýcý eþzamanlamasý deðiþtirildi
log_epass=Unix kullanýcýlarý Samba kullanýcýlarýna dönüþtürüldü
log_epass_l=Unix kullanýcýlarý Samba kullanýcýlarýna dönüþtürüldü ($1 oluþturuldu, $2 deðiþtirildi, $3 silindi)
log_copy=Paylaþým $2, $1'e kopyalandý
log_save_euser=Samba kullanýcýsý $1 deðiþtirildi
log_delete_euser=Samba kullanýcýsý $1 silindi

0707010001fb43000081a40000000000000002000000013d1fe2bd00002cdc000000200000000000000000000000000000001700000003reloc/samba/lang/zh_CN    index_title=Samba ¹²Ïí¹ÜÀíÆ÷
index_sharelist=¹²ÏíÁÐ±í
index_userlist=ÓÃ»§ÁÐ±í
index_fileshare=ÎÄ¼þÁÐ±í
index_printershare=´òÓ¡»ú¹²Ïí
index_shareconf=¹²ÏíÅäÖÃ
index_sharename=¹²ÏíÃû
index_path=Â·¾¶
index_security=°²È«
index_homedir=ËùÓÐÓÃ»§¸ùÄ¿Â¼
index_allprinter=ËùÓÐ´òÓ¡»ú
index_printer=´òÓ¡»ú
index_defaultprn=È±Ê¡´òÓ¡»ú
index_printableto=¿É´òÓ¡
index_prneveryone=ÈÎºÎÈË¿É´òÓ¡
index_prnalluser=ËùÓÐÒÑÖªÓÃ»§¿É´òÓ¡ÖÁ
index_rwpublic=¶¼¿ÉÒÔ¶Á/Ð´
index_readonly=$1Ö»¶Á<br>ÆäËûËùÓÐÓÃ»§¿É¶Á/Ð´
index_rwalluser=ËùÓÐÒÑÖªÓÃ»§¿ÉÒÔ¶Á/Ð´
index_roeveryone=ÈÎºÎÈËÖ»¶Á
index_readwrite=$1¿ÉÒÔ¶Á/Ð´<br>ÆäËûÒÑÖªÓÃ»§Ö»¶Á
index_roalluser=ËùÓÐÒÑÖªÓÃ»§Ö»¶Á
index_noshares=Ã»ÓÐ¶¨Òåsamba¹²Ïí
index_createfileshare=´´½¨ÐÂµÄÎÄ¼þ¹²Ïí
index_createprnshare=´´½¨ÐÂµÄ´òÓ¡»ú¹²Ïí
index_createcopy=´´½¨ÐÂµÄ¿½±´
index_view=²é¿´ËùÓÐµÄÁ¬½Ó
index_start=Æô¶¯Samba·þÎñ
index_startmsg=ÏµÍ³ËÆºõÃ»ÓÐÔËÐÐsamba·þÎñ. ÕâËµÃ÷ÆäËû¼ÆËã»ú·ÃÎÊ²»µ½ÉÏÁÐ¹²Ïí¡£
index_restart=ÖØÐÂÆô¶¯Samba·þÎñÆ÷
index_restartmsg=µ¥»÷°´Å¤ÔÚÏµÍ³ÉÏÖØÐÂÆô¶¯ÕýÔÚÔËÐÐµÄsamba·þÎñ¡£Õâ½«Ê¹µ±Ç°ÅäÖÃÁ¢¼´ÉúÐ§¡£
config_mins=·Ö
config_secs=Ãë
config_bytes=×Ö½Ú
config_never=´Ó²»
config_all=ËùÓÐµÄ
config_neither=Ã»ÓÐÈÎºÎÒ»¸ö
global_title=È«¾ÖÅäÖÃ
global_unixnetwork=Unix ÁªÍø
global_winnetwork=Windows ÁªÍø
global_auth=ÈÏÖ¤
global_printing=Windows µ½ Unix ´òÓ¡
global_misc=ÔÓÀàÑ¡Ïî
global_filedefault=ÎÄ¼þ¹²ÏíÈ±Ê¡Öµ
global_prndefault=´òÓ¡»ú¹²ÏíÈ±Ê¡Öµ
global_password=¼ÓÃÜ¿ÚÁî
global_edit=±à¼­SambaÓÃ»§ºÍÃÜÂë
global_convert=×ª»»UnixÓÃ»§µ½sambaÓÃ»§
global_sync=ÅäÖÃ Unix ºÍ Samba ÓÃ»§×Ô¶¯Í¬²½
error_nosamba=Samba ·þÎñÆ÷Ö´ÐÐÎÄ¼þ<7/>$1</tt> Ã»ÓÐÕÒµ½¡£»òÊÇÏµÍ³Ã»ÓÐ°²×° Samba£¬»òÊÇ<a href=\$2\>Ä£¿éÅäÖÃ</a> ´íÎó¡£
error_version=Webmin ²»ÄÜµÃµ½ samba ·þÎñÆ÷Ö´ÐÐÎÄ¼þ <tt>$1</tt>µÄ°æ±¾ºÅ¡£¼ì²é <a href=\$2\>Ä£¿éÅäÖÃ</a>È·ÐÅÂ·¾¶ÕýÈ·¡£
error_config=ÅäÖÃÎÄ¼þ $1 Ã»ÓÐÕÒµ½. ºÜ¿ÉÄÜÏµÍ³ÖÐÃ»ÓÐ°²×° Samba£¬»òÕß <a href=\$2\>Ä£¿éÅäÖÃ</a> ´íÎó¡£
error_include=Webmin ²»ÄÜ´¦ÀíÊ¹ÓÃ<tt>config</tt> »ò<tt>include</tt> Ö¸ÁîµÄ sambaÅäÖÃÎÄ¼þ¡£
error_delshare=É¾³ý¹²ÏíÊ§°Ü
error_delcopy=¹²Ïí '$1' ¿½±´×Ô±¾¹²Ïí
error_savename=±£´æÎÄ¼þÃûÊ±Ê§°Ü
convert_title=×ª»»ÓÃ»§
convert_msg=¿ÉÊ¹ÓÃ´Ë±íÍ¬²½Unix ºÍ Samba ÓÃ»§ÁÐ±í¡£µ± SambaÊ¹ÓÃ<a href=$1>¼ÓÃÜ¿ÚÁî</a>Ê±£¬Ê¹ÓÃ¶ÀÁ¢µÄÓÃ»§ºÍ¿ÚÁî±í£¬¶ø²»ÊÇÏµÍ³ÓÃ»§ÁÐ±í¡£
convert_noconv=²»Òª×ª»»»òÕßÉ¾³ýÏÂÁÐÓÃ»§£º
convert_update=Ê¹ÓÃUnixÓÃ»§µÄÏêÏ¸ÏûÏ¢¸üÐÂÒÑ´æÔÚµÄsambaÓÃ»§ÁÐ±í
convert_add=Ê¹ÓÃUnixÓÃ»§ÁÐ±í¸üÐÂsamba ÓÃ»§ÁÐ±í
convert_delete=É¾³ýÔÚUnixÏÂ²»´æÔÚµÄSambaÓÃ»§
convert_newuser=¶ÔÓÚÐÂ´´½¨µÄÓÃ»§£¬ÉèÖÃ¿ÚÁîÎª£º
convert_nopasswd=Ã»ÓÐ¿ÚÁî
convert_lock=Ëø¶¨ÕÊºÅ
convert_passwd=Ê¹ÓÃ´Ë¿ÚÁî
convert_convert=×ª»»ÓÃ»§
misc_title=ÔÓÀàÑ¡Ïî
misc_debug=µ÷ÊÔ¼¶±ð
misc_cachecall=¸ßËÙ»º´æ<tt>getwd()</tt> µ÷ÓÃ£¿
misc_lockdir=Ëø¶¨Ä¿Â¼
misc_log=ÈÕÖ¾ÎÄ¼þ
misc_maxlog=×î´óÈÕÖ¾
misc_rawread=ÔÊÐíÔ­Ê¼¶Á£¿
misc_rawwrite=ÔÊÐíÔ­Ê¼Ð´£¿
misc_overlapread=ÖØµþÐ´µÄ´óÐ¡
misc_chroot=<tt>chroot()</tt> Ä¿Â¼
misc_smbrun=<tt>smbrun</tt>Â·¾¶
misc_clienttime=¿Í»§Ê±¼äÆ«ÒÆ
misc_readprediction=¶ÁÔ¤²â£¿
net_title=Unix ÁªÍøÑ¡Ïî
net_idle=ÔÚ¶ÏÏßÖ®Ç°ÏÐÖÃÊ±¼ä
net_trustlist=ÐÅÈÎÖ÷»ú/ÓÃ»§ÎÄ¼þ
net_netinterface=ÍøÂç½Ó¿Ú
net_auto=×Ô¶¯
net_uselist=Ê¹ÓÃÁÐ±í...
net_interface=½Ó¿Ú
net_netmask=ÑÚÂë
net_keepalive=»î¶¯µÄ°ü
net_notsend=²»Òª·¢ËÍÈÎºÎ
net_every=·¢ËÍÃ¿Ò»¸ö
net_maxpacket=×î´ó°ü´óÐ¡
net_listen=¼àÌýµØÖ·
net_socket=Socket Ñ¡Ïî
passwd_title=ÃÜÂëÑ¡Ïî
passwd_encrypt=Ê¹ÓÃ¼ÓÃÜÃÜÂë£¿
passwd_allownull=ÔÊÐí¿ÕÃÜÂë£¿
passwd_program=ÃÜÂë±à³Ì
passwd_case=ÃÜÂë´óÐ¡Ð´²»Ò»ÖÂ
passwd_chat=¸Ä±äÃÜÂë chat
passwd_below=¼àÌýÕâÐ©£º
passwd_waitfor=µÈ´ý
passwd_send=·¢ËÍ
passwd_map=ÓÃ»§ÃûÓ³Éä
passwd_unixuser=Unix ÓÃ»§
passwd_winuser=Windows ÓÃ»§
print_title=´òÓ¡Ñ¡Ïî
print_style=Unix ´òÓ¡·ç¸ñ
print_show=ÏÔÊ¾ËùÓÐµÄ´òÓ¡»ú£¿
print_printcap=´òÓ¡ÐÔÄÜÎÄ¼þ
print_cachetime=´òÓ¡×´Ì¬¸ßËÙ»º´æÊ±¼ä
smb_title=Windows ÁªÍøÑ¡Ïî
smb_workgroup=¹¤×÷×é
smb_wins=WINS Ä£Ê½
smb_winsserver=×÷ÎªWINS·þÎñÆ÷
smb_useserver=Ê¹ÓÃ·þÎñÆ÷
smb_description=·þÎñÆ÷ÃèÊö
smb_name=·þÎñÆ÷Ãû³Æ
smb_aliase=·þÎñÆ÷±ðÃû
smb_default=È±Ê¡·þÎñ
smb_show=×ÜÊÇÏÔÊ¾·þÎñ
smb_disksize=±¨¸æ´ÅÅÌ¿Õ¼äµÄ×î´óÖµ
smb_unlimited=ÎÞÏÞ
smb_winpopup=Winpopup ÃüÁî
smb_priority=Ö÷ä¯ÀÀÆ÷ÓÅÏÈ¼¶
smb_protocol=×îÓÅÏÈÐ­Òé
smb_master=Ö÷ä¯ÀÀÆ÷£¿
smb_security=°²È«
smb_sharelevel=¹²Ïí¼¶±ð
smb_userlevel=ÓÃ»§¼¶±ð
smb_passwdserver=ÃÜÂë·þÎñÆ÷
smb_domain=Óò
smb_announce=Ô¶³ÌÐû¸æÖÁ
smb_nowhere=ÄÄÀïÒ²Ã»ÓÐ
smb_fromlist=À´×ÔÁÐ±í...
smb_ip=IP µØÖ·
smb_asworkgroup=<b>×÷Îª¹¤×÷×é</b> (¿ÉÑ¡)
create_title=´´½¨¿½±´
create_msg=¹²Ïí¸±±¾¼Ì³ÐËùÑ¡¹²ÏíµÄËùÓÐÈ±Ê¡Öµ¡£ÈçÔ­¹²Ïí¸Ä±ä£¬¸´±¾ËæÖ®¸Ä±ä¡£
create_from=¹²Ïí¸´ÖÆ×Ô£º
create_name=ÐÂµÄ¹²ÏíÃû£º
smbuser_title=Samba ÓÃ»§
smbuser_list=Samba ÓÃ»§ÁÐ±í
smbuser_nouser=Ã»ÓÐ¶¨Òå Samba ÓÃ»§
euser_title=±à¼­ Samba ÓÃ»§
euser_name=ÓÃ»§Ãû
euser_uid=Unix UID
euser_passwd=ÃÜÂë
euser_noaccess=²»ÄÜ·ÃÎÊ
euser_nopw=Ã»ÓÐÃÜÂë
euser_currpw=µ±Ç°ÃÜÂë
euser_newpw=ÐÂÃÜÂë
euser_realname=ÕæÕýÃû³Æ
euser_homedir=ÓÃ»§¸ùÄ¿Â¼
euser_shell=Shell
euser_option=ÓÃ»§Ñ¡Ïî
euser_normal=ÆÕÍ¨ÓÃ»§
euser_nopwrequired=ÎÞÐèÃÜÂë
euser_disable=ÕÊºÅ½ûÖ¹
euser_trust=¹¤×÷Õ¾ÐÅÈÎÕÊºÅ
fmisc_title=ÔÓÀàÎÄ¼þÈ±Ê¡Öµ
fmisc_for=¹²Ïí<tt>$1</tt>
fmisc_lockfile=Ëø¶¨ÎÄ¼þ£¿
fmisc_maxconn=×î´óÁ¬½ÓÊý
fmisc_fake=¼ÙÃ° oplocks£¿
fmisc_sharemode=Ê¹ÓÃ¹²ÏíÄ£Ê½£¿
fmisc_strict=ÑÏ¸ñËø¶¨£¿
fmisc_sync=Ð´ºóÍ¬²½£¿
fmisc_volume=¾í±êÃû³Æ
fmisc_sameas=Óë¹²ÏíÏàÍ¬
fmisc_unixdos=Unix-DOS ÎÄ¼þÃûÓ³ÉäÍ¼
fmisc_conncmd=Á¬½ÓÊ±ÔËÐÐµÄÃüÁî
fmisc_disconncmd=¶ÏÏßÊ±ÔËÐÐµÄÃüÁî
fmisc_rootconn=<i>×÷Îªroot</i>Á¬½ÓÊ±ÔËÐÐµÄÃüÁî
fmisc_rootdisconn=<i>×÷Îªroot</i>¶ÏÏßÊ±ÔËÐÐµÄÃüÁî
fname_title1=ÎÄ¼þÃüÃûÈ±Ê¡Öµ
fname_title2=±à¼­ÎÄ¼þÃüÃû
fname_option=ÎÄ¼þÃüÃûÑ¡Ïî
fname_manglecase=»ìºÏ´óÐ¡Ð´£¿
fname_case=´óÐ¡Ð´Ãô¸Ð£¿
fname_defaultcase=È±Ê¡´óÐ¡Ð´£¿
fname_lower=Ð¡Ð´
fname_upper=´óÐ´
fname_preserve=±£³Ö´óÐ¡Ð´£¿
fname_shortpreserve=²»¹Ü´óÐ¡Ð´£¿
fname_hide=Òþ²Ø"."ÎÄ¼þÃû£¿
fname_archive=±£´æ DOS ¹éµµ±êÖ¾£¿
fname_hidden=±£´æ DOS Òþ²Ø±êÖ¾£¿
fname_system=±£´æ DOS ÏµÍ³±êÖ¾£¿
fperm_title1=ÎÄ¼þÐí¿ÉÈ±Ê¡
fperm_title2=±à¼­ÎÄ¼þÐí¿É
fperm_option=ÎÄ¼þÐí¿ÉÑ¡Ïî
fperm_filemode=ÐÂ Unix ÎÄ¼þÄ£Ê½
fperm_dirmode=ÐÂ Unix Ä¿Â¼Ä£Ê½
fperm_notlist=²»ÁÐ³öµÄÄ¿Â¼
fperm_forceuser=Ç¿ÖÆ Unix ÓÃ»§
fperm_forcegrp=Ç¿ÖÆ Unix ×é
fperm_link=ÔÊÐíÔÚ¹²ÏíÍâ·ûºÅÁ¬½Ó£¿
fperm_delro=ÄÜÉ¾³ýÖ»¶ÁÎÄ¼þÂð£¿
fperm_forcefile=Ç¿ÖÆUnix ÎÄ¼þÄ£Ê½
fperm_forcedir=Ç¿ÖÆ Unix Ä¿Â¼Ä£Ê½
share_title1=ÎÄ¼þ¹²ÏíÈ±Ê¡
share_title2=±à¼­ÎÄ¼þ¹²Ïí
share_title3=´´½¨ÎÄ¼þ¹²Ïí
share_info=¹²ÏíÐÅÏ¢
share_copy=±¾¹²ÏíÊÇ<i>$1</i>µÄ¿½±´
share_name=¹²ÏíÃû
share_home=¹²ÏíµÄ¸ùÄ¿Â¼
share_dir=¹²ÏíµÄÄ¿Â¼
share_available=¿ÉÓÃ£¿
share_browseable=¿Éä¯ÀÀ£¿
share_comment=¹²Ïí×¢ÊÍ
share_view=²é¿´Á¬½Ó
share_option=ÆäËû¹²ÏíÑ¡Ïî
share_security=ÃÜÂëºÍ·ÃÎÊ¿ØÖÆ
share_permission=ÎÄ¼þÐí¿É
share_naming=ÎÄ¼þÃüÃû
share_misc=ÔÓÀàÑ¡Ïî
print_title1=´òÓ¡»úÑ¡ÏîÈ±Ê¡Öµ
print_title2=±à¼­´òÓ¡»úÑ¡Ïî
print_option=´òÓ¡»úÑ¡Ïî
print_minspace=×îÐ¡×ÔÓÉ¿Õ¼ä
print_postscript=Ç¿ÖÆ postscript ´òÓ¡
print_command=´òÓ¡ÃüÁî
print_queue=ÏÔÊ¾¶ÓÁÐÃüÁî
print_delete=É¾³ý×÷ÒµÃüÁî
print_pause=ÔÝÍ£×÷ÒµÃüÁî
print_unresume=ÖÐ¶Ï×÷ÒµÃüÁî
print_driver=´òÓ¡»úÇý¶¯³ÌÐò
pshare_title1=´òÓ¡»ú¹²ÏíÈ±Ê¡
pshare_title2=±à¼­´òÓ¡¹²Ïí
pshare_title3=´´½¨´òÓ¡»ú¹²Ïí
pshare_info=¹²ÏíÐÅÏ¢
pshare_name=¹²ÏíÃû
pshare_all=ËùÓÐ´òÓ¡»ú¹²Ïí
pshare_unixprn=Unix ´òÓ¡»ú
pshare_spool=Î±ÍÑ»úÄ¿Â¼
sec_index1=°²È«È±Ê¡
sec_index2=±à¼­°²È«
sec_writable=¿ÉÐ´£¿
sec_guest=Guest ¿É·ÃÎÊ£¿
sec_guestonly=½ö Guest
sec_guestaccount=Guest Unix ÓÃ»§
sec_limit=ÏÞÓÚ¿ÉÄÜµÄÁÐ±í£¿
sec_allowhost=ÔÊÐíµÄÖ÷»ú
sec_onlyallow=½öÔÊÐí
sec_denyhost=¾Ü¾øµÄÖ÷»ú
sec_onlydeny=½ö¾Ü¾ø
sec_revalidate=ÖØÐÂÈ·ÈÏÓÃ»§£¿
sec_validuser=ºÏ·¨ÓÃ»§
sec_validgroup=ºÏ·¨×é
sec_invaliduser=·Ç·¨ÓÃ»§
sec_invalidgroup=·Ç·¨×é
sec_possibleuser=¿ÉÄÜÓÃ»§
sec_possiblegroup=¿ÉÄÜ×é
sec_rouser=Ö»¶ÁÓÃ»§
sec_rogroup=Ö»¶Á×é
sec_rwuser=¶ÁÐ´ÓÃ»§
sec_rwgroup=¶ÁÐ´×é
esync_title=ÓÃ»§Í¬²½
esync_msg=¿É½« Webmin ÅäÖÃÎª Unix ÓÃ»§ÁÐ±íµÄ¸ü¸Ä×Ô¶¯Ó¦ÓÃµ½ Samba ÓÃ»§ÁÐ±í¡£ÕâÖ»ÔÚÊ¹ÓÃ <tt>ÓÃ»§ºÍ×é</tt> Webmin Ä£¿éÀ´Ìí¼Ó¡¢É¾³ý»ò¸Ä±äÓÃ»§Ê±²ÅÓÐÐ§¡£
esync_add=Ìí¼ÓUnixÓÃ»§Ò²ËæÖ®Ìí¼ÓSamba ÓÃ»§
esync_chg=¸Ä±ä Unix ÓÃ»§Ê± Samba ÓÃ»§Ò²ËæÖ®±ä»¯
esync_del=É¾³ý Unix ÓÃ»§Ê± Samba ÓÃ»§Ò²ËæÖ®É¾³ý
esync_apply=Ó¦ÓÃ
mkpass_title=×ª»»ÓÃ»§
mkpass_convfail=×ª»»ÓÃ»§Ê§°Ü
mkpass_msg=×ª»»UnixÓÃ»§...
mkpass_skip=Õý±»Ìø¹ý
mkpass_same=ÒÑ¾­ÏàÍ¬
mkpass_update=Õý±»¸üÐÂ
mkpass_del=Õý±»É¾³ý
mkpass_passfail=ÉèÖÃÃÜÂëÊ§°Ü
savecopy_fail=´´½¨¿½±´Ê§°Ü
savecopy_global=Ãû³Æ 'global' ²»ÄÜÓÃÓÚ¹²Ïí
savecopy_exist='$1'¹²ÏíÒÑ¾­´æÔÚ
saveuser_fail=±£´æÓÃ»§Ê§°Ü
saveuser_uid='$1' ²»ÊÇÓÐÐ§µÄ Unix UID
saveuser_colon=ÕæÃû²»ÄÜ°üº¬×Ö·û£º
saveuser_home=ÓÃ»§¸ùÄ¿Â¼'$1' ²»´æÔÚ
saveuser_shell=$1 ÊÇ´íÎóµÄshell
saveuser_pass=Ê¹ÓÃsmbpasswd¸ü¸ÄÃÜÂëÊ§°Ü : $1
savefmisc_fail=±£´æÔÓÀàÑ¡ÏîÊ§°Ü
savefmisc_number='$1' ÊÇ´íÎóµÄÁ¬½ÓÊý
savefperm_fail=±£´æÎÄ¼þÐí¿ÉÊ§°Ü
savefperm_mode='$1' ÊÇ´íÎóµÄ Unix ÎÄ¼þÄ£Ê½
savefshare_fail=±£´æ¹²ÏíÊ§°Ü
savefshare_nopath=Ã»ÓÐ¸ø¶¨Â·¾¶
savefshare_exist=ÃûÎª '$1' µÄ¹²ÏíÒÑ¾­´æÔÚ
savefshare_mode='$1' ÊÇ´íÎó¹²ÏíÃû
savefshare_global='global'²»ÄÜÓÃ×÷¹²ÏíÃû³Æ
savemisc_fail=±£´æÑ¡ÏîÊ§°Ü
savemisc_lockdir=°üº¬Ëø¶¨Ä¿Â¼µÄÄ¿Â¼²»´æÔÚ
savemisc_logdir=°üº¬ÈÕÖ¾ÎÄ¼þµÄÄ¿Â¼²»´æÔÚ
savemisc_logsize='$1' ÊÇ´íÎóµÄÈÕÖ¾´óÐ¡
savemisc_overlap='$1' ÊÇ´íÎóµÄÖØµþ¶Á´óÐ¡
savemisc_chroot=chroot Ä¿Â¼'$1' ²»´æÔÚ
savemisc_smbrun=smbrun ³ÌÐò'$1' Ã»ÓÐ»ò²»¿ÉÖ´ÐÐ
savemisc_time='$1' ´íÎóµÄÊ±¼äÆ«ÒÆ
savenet_fail=±£´æÑ¡ÏîÊ§°Ü
savenet_timeout='$1' ´íÎóµÄ¶ÏÏß³¬Ê±
savenet_ip='$1' ´íÎóIP ×Ö½Ú
savenet_keep='$1' ÊÇ´íÎóµÄ±£³Ö»î¶¯¼ä¸ô
savenet_maxxmit='$1' ´íÎóµÄ×î´ó°ü´óÐ¡
savepass_fail=±£´æÑ¡ÏîÊ§°Ü
savepass_nopass=Õâ¸ö°æ±¾µÄsamba²»Ö§³Ö¿ÚÁî¼ÓÃÜ
savepass_passwd=Ã»ÓÐ¸ø¶¨µÄ¸Ä±ä¿ÚÁîµÄ³ÌÐò
savepass_level='$1' ´íÎó¿ÚÁî(´óÐ¡Ð´²»Í¬)
savepass_chat=¸Ä±ä¿ÚÁîµÄ¶Ô»°ÐòÁÐÊÇ¿ÕµÄ
savepopts_fail=±£´æ´òÓ¡»úÑ¡ÏîÊ§°Ü
savepopts_number=×îÐ¡×ÔÓÉ¿Õ¼ä±ØÐëÊÇÊý×Ö
saveprint_fail=±£´æÑ¡ÏîÊ§°Ü
saveprint_printcap=´òÓ¡ÐÔÄÜÎÄ¼þ'$1' ²»´æÔÚ
saveprint_cache='$1' ´íÎóµÄ¸ßËÙ»º´æÊ±¼ä
savepshare_fail=±£´æ´òÓ¡»ú¹²ÏíÊ§°Ü
savepshare_exist='$1'¹²ÏíÒÑ¾­´æÔÚ
savepshare_name='$1' ´íÎóµÄ¹²ÏíÃû
savepshare_global='global'²»ÄÜ×÷Îª¹²ÏíÃû
savesec_fail=±£´æ°²È«ÉèÖÃÊ§°Ü
savesmb_fail=±£´æÑ¡ÏîÊ§°Ü
savesmb_size='$1' ´íÎóµÄ´ÅÅÌ¿Õ¼ä
savesmb_oslevel='$1' ´íÎóµÄÖ÷ä¯ÀÀÆ÷ÓÅÏÈÐÔ
savesmb_server=±ØÐëÊäÈëÃÜÂë·þÎñÆ÷
start_err=Æô¶¯samba·þÎñÆ÷Ê§°Ü
start_fail=$1 Ê§°Ü
swats_fail=±£´æÓÃ»§ÃûÊ§°Ü
swats_user=¶ªÊ§ SWAT ÓÃ»§Ãû
viewu_index=µ±Ç°ÓÃ»§
viewu_list=$1 µÄµ±Ç°ÓÃ»§
viewu_share=¹²Ïí
viewu_user=ÓÃ»§
viewu_group=×é
viewu_from=Áª½Ó×Ô
viewu_time=Áª½Óµ½
viewu_pid=½ø³Ì ID
viewu_msg1=µã»÷ÉÏ±íÖÐµÄ½ø³Ì ID ÖÐ¶Ï¸ÃÓÃ»§µÄÁª½Ó¡£
viewu_msg2=Ã»ÓÐÔÚÏßÓÃ»§
log_apply=ÖØÐÂÆô¶¯ Samba ·þÎñÆ÷
log_start=Æô¶¯ Samba ·þÎñÆ÷
log_save_fshare=¸üÐÂÎÄ¼þ¹²Ïí $1
log_save_pshare=¸üÐÂ´òÓ¡»ú¹²Ïí $1
log_save_sec=Îª¹²Ïí $1 ¸ü¸Ä°²È«ºÍ·ÃÎÊ¿ØÖÆ
log_save_fperm=Îª¹²Ïí $1 ¸ü¸ÄÎÄ¼þÈ¨ÏÞ
log_save_fname=Îª¹²Ïí $1 ¸ü¸ÄÎÄ¼þÃüÃû
log_save_fmisc=Îª¹²Ïí $1 ¸ü¸ÄÔÓÀàÑ¡Ïî
log_save_popts=Îª¹²Ïí $1 ¸ü¸Ä´òÓ¡»úÑ¡Ïî
log_default_fshare=¸Ä±äÎÄ¼þ¹²ÏíÈ±Ê¡Öµ
log_default_pshare=¸Ä±ä´òÓ¡»ú¹²ÏíÈ±Ê¡Öµ
log_kill=ÖÐ¶Ï½ø³Ì $1
log_skill=Îª¹²Ïí $2 ÖÐ¶Ï½ø³Ì $1
log_create_fshare=´´½¨ÎÄ¼þ¹²Ïí $1
log_create_pshare=´´½¨´òÓ¡»ú¹²Ïí $1
log_delete_fshare=É¾³ýÎÄ¼þ¹²Ïí $1
log_delete_pshare=É¾³ý´òÓ¡»ú¹²Ïí $1
log_net=¸Ä±ä Unix ÍøÂçÑ¡Ïî
log_smb=¸Ä±ä Windows ÍøÂçÑ¡Ïî
log_pass=¸Ä±äÈÏÖ¤Ñ¡Ïî
log_print=¸Ä±ä Windows µ½ Unix µÄ´òÓ¡Ñ¡Ïî
log_misc=¸Ä±äÔÓÀàÑ¡Ïî
log_sync=ÅäÖÃ Unix ÓÃ»§Í¬²½ÐÔ
log_epass=×ª±ä Unix ÓÃ»§Îª Samba ÓÃ»§
log_epass_l=×ª±ä Unix ÓÃ»§Îª Samba ÓÃ»§($1 ´´½¨, $2 ¸üÐÂ, $3 É¾³ý)
log_copy=¿½±´¹²Ïí $2 µ½ $1
log_save_euser=¸üÐÂ Samba ÓÃ»§ $1
log_delete_euser=É¾³ý Samba ÓÃ»§ $1
swat_title=SWAT µÇÂ¼
swat_list=SWAT µÇÂ¼
swat_msg1=Äúµ±Ç°µÄ SWAT ÓÃ»§ÃûºÍ¿ÚÁî²»ÕýÈ·.ÇëÓÃÏÂ±íÖØÐÂµÇÂ¼¡£
swat_msg2=µÇÂ¼ SWAT ÐèÒªÓÃ»§ÃûºÍ¿ÚÁî,Õâ¿ÉÒÔÊÇÄúÏµÍ³ÖÐµÄÈÎÒ»ÓÃ»§¡£
swat_msg3=ÄúÎÞÈ¨Í¨¹ý Webmin ÔËÐÐ SWAT,ÊÇÒòÎªÄúµÄ Samba ÅäÖÃÖÐÓÐ<tt>$1:...</tt>(ÔÊÐí¿Í»§)Ñ¡Ïî¼¯¡£
swat_msg4=²»¹ý£¬Äú»òÐí¿ÉÍ¨¹ý $1 Ö±½ÓÁª½Óµ½ SWAT¡£
swat_username=ÓÃ»§
swat_password=¿ÚÁî
swat_login=µÇÂ¼
swat_clear=Çå³ý
0707010001fb44000081a40000000000000002000000013d1fe2bd000036df000000200000000000000000000000000000001c00000003reloc/samba/lang/zh_TW.Big5   index_title=Samba¤À¨ÉºÞ²z
index_sharelist=¦@¥Î¶µ¥Ø²M³æ
index_userlist=¨Ï¥ÎªÌ²M³æ
index_fileshare=ÀÉ®×²M³æ
index_printershare=¦Lªí¾÷¦@¥Î
index_shareconf=¦@¥Î²ÕºA
index_version=Samba ª©¥» $1

index_sharename=¦@¥Î¦WºÙ
index_path=¸ô®|
index_security=¦w¥þ
index_homedir=©Ò¦³¨Ï¥ÎªÌ®Ú¥Ø¿ý
index_allprinter=©Ò¦³¦Lªí¾÷
index_printer=¦Lªí¾÷
index_defaultprn=¹w³]¦Lªí¾÷
index_printableto=¥i¦C¦L
index_prneveryone=¥ô¦ó¤H¥i¦C¦L
index_prnalluser=©Ò¦³¤wª¾¨Ï¥ÎªÌ¥i¦C¦L¨ì
index_rwpublic=³£¥i¥HÅª/¼g
index_readonly=$1°ßÅª<br>¨ä¥L©Ò¦³¨Ï¥ÎªÌ¥iÅª/¼g
index_rwalluser=©Ò¦³¤wª¾¨Ï¥ÎªÌ¥i¥HÅª/¼g
index_roeveryone=¥ô¦ó¤H°ßÅª
index_readwrite=$1¥i¥HÅª/¼g<br>¨ä¥L¤wª¾¨Ï¥ÎªÌ°ßÅª
index_roalluser=©Ò¦³¤wª¾¨Ï¥ÎªÌ°ßÅª
index_noshares=¨S¦³©w¸qsamba¦@¥Î
index_createfileshare=·s¼WÀÉ®×¦@¥Î
index_createprnshare=·s¼W¦Lªí¾÷¦@¥Î
index_createcopy=·s¼W½Æ»s
index_view=¬d¬Ý©Ò¦³ªº³s½u
index_start=±Ò°ÊSambaªA°È
index_startmsg=¨t²Î¨Ã¨S¦³°õ¦æsambaªA°È¡A³o¥Nªí¨ä¥L¹q¸£µLªk¨Ï¥Î¤W¦C¦@¥Î¶µ¥Ø¡C
index_restart=­«·s±Ò°ÊSamba¦øªA¾¹
index_restartmsg=«ö¤U«ö¶s¦b¨t²Î¤W­«·s±Ò°Ê¥¿¦b°õ¦æªºsambaªA°È¡C³o±N¨Ï·í«e²ÕºA¥ß§Y¥Í®Ä¡C
index_restartmsg2=³o¤]·|¤¤Â_©Ò¦³¨ì¦øªA¾¹ªº³s½u¡A©Ò¥H¦pªG±z¤£·Q­nÅý¥Ø«e²ÕºA¥ß§Y¥Í®Ä¡A¥u»Ý­nµ¥«Ý 1 ¤ÀÄÁÅý Samba ¦Û°Ê­«·sÅª¨ú²ÕºAÀÉ®×

config_mins=¤À
config_secs=¬í
config_bytes=¦ì¤¸²Õ
config_never=±q¤£
config_all=©Ò¦³ªº
config_neither=¨S¦³¥ô¦ó¤@­Ó

global_title=¥þ°ì³]©w
global_unixnetwork=Unix ºô¸ô
global_winnetwork=Windows ºô¸ô
global_auth=»{ÃÒ
global_printing=Windows ¨ì Unix ¦C¦L
global_misc=ÂøÃþ¿ï¶µ
global_filedefault=ÀÉ®×¦@¥Î¹w³]­È
global_prndefault=¦Lªí¾÷¦@¥Î¹w³]­È
global_password=±K½X¥[±K
global_edit=½s¿èSamba¨Ï¥ÎªÌ©M±K½X
global_convert=Âà´«Unix¨Ï¥ÎªÌ¨ìsamba¨Ï¥ÎªÌ
global_sync=²ÕºA Unix ©M Samba ¨Ï¥ÎªÌ¦Û°Ê¦P¨B

error_nosamba=§ä¤£¨ìSamba ¦øªA¾¹°õ¦æÀÉ®×<7/>$1</tt> ¡C¤]³\¨t²Î¨S¦³¦w¸Ë Samba¡A©Î¬O<a href=\$2\>¼Ò²Õ²ÕºA</a> ¤£¥¿½T¡C
error_version=Webmin §ä¤£¨ì samba ¦øªA¾¹°õ¦æÀÉ®× <tt>$1</tt>ªºª©¥»¸¹¡CÀË¬d <a href=\$2\>¼Ò²Õ²ÕºA</a>½T©w¸ô®|¥¿½T¡C
error_config=§ä¤£¨ì²ÕºAÀÉ®× $1 ¡A¤]³\¨t²Î¤¤¨S¦³¦w¸Ë Samba¡A©Î <a href=\$2\>¼Ò²Õ²ÕºA</a> ¿ù»~¡C
error_include=Webmin ¤£¯à³B²z¨Ï¥Î<tt>config</tt> ©Î<tt>include</tt> «ü¥Oªº samba²ÕºAÀÉ®×¡C
error_delshare=§R°£¦@¥Î¥¢±Ñ
error_delcopy=±q³o­Ó¦@¥Î½Æ»s¨ì¦@¥Î '$1'
error_savename=Àx¦sÀÉ®×¦WºÙ®É¥¢±Ñ

convert_title=Âà´«¨Ï¥ÎªÌ
convert_msg=¥i¨Ï¥Î¦¹ªí³æ¦P¨B¤Æ Unix ©M Samba ¨Ï¥ÎªÌ²M³æ¡C·í Samba¨Ï¥Î<a href=$1>¥[±K±K½X</a>®É¡A¨Ï¥Î¿W¥ßªº¨Ï¥ÎªÌ©M±K½Xªí¡A¦Ó¤£¬O¨t²Î¨Ï¥ÎªÌ²M³æ¡C
convert_noconv=¤£­nÂà´«©Î§R°£¤U¦C¨Ï¥ÎªÌ¡G
convert_update=±qUnix¨Ï¥ÎªÌªº¸Ô²Ó¸ê®Æ§ó·s¤w¦s¦bªºsamba¨Ï¥ÎªÌ²M³æ
convert_add=±qUnix¨Ï¥ÎªÌ²M³æ¤¤·s¼W¨ìsamba ¨Ï¥ÎªÌ²M³æ
convert_delete=§R°£¦bUnix¤¤¤£¦s¦bªºSamba¨Ï¥ÎªÌ
convert_newuser=¹ï©ó·s¼Wªº¨Ï¥ÎªÌ¡A±K½X³]©w¬°¡G
convert_nopasswd=¨S¦³±K½X
convert_lock=Âê©w±b¸¹
convert_passwd=¨Ï¥Î¦¹±K½X
convert_convert=Âà´«¨Ï¥ÎªÌ

misc_title=ÂøÃþ¿ï¶µ
misc_debug=°£¿ù¯Å§O
misc_cachecall=§Ö¨ú°O¾ÐÅé<tt>getwd()</tt> ©I¥s¡H
misc_lockdir=Âê©w¥Ø¿ý
misc_log=¤é»xÀÉ®×
misc_maxlog=³Ì¤j¤é»x
misc_rawread=¤¹³\­ì©lÅª¥X¡H
misc_rawwrite=¤¹³\­ì©l¼g¤J¡H
misc_overlapread=­«Å|¼gªº¤j¤p
misc_chroot=<tt>chroot()</tt> ¥Ø¿ý
misc_smbrun=<tt>smbrun</tt>¸ô®|
misc_clienttime=«È¤áºÝ®É¶¡®t²§
misc_readprediction=Åª¨ú¹w´ú¡H

net_title=Unix ºô¸ô¿ï¶µ
net_idle=¦bÂ_½u¤§«e¶¢¸m®É¶¡
net_trustlist=«H¥ô¥D¾÷/¨Ï¥ÎªÌÀÉ®×
net_netinterface=ºô¸ô¤¶­±
net_auto=¦Û°Ê
net_uselist=¨Ï¥Î²M³æ...
net_interface=¤¶­±
net_netmask=¾B¸n
net_keepalive=¬¡°Êªº«Ê¥]
net_notsend=¤£­n¶Ç°e¥ô¦ó
net_every=¶Ç°e¨C¤@­Ó
net_maxpacket=³Ì¤j«Ê¥]¤j¤p
net_listen=ºÊÅ¥¦a§}
net_socket=Socket ¿ï¶µ

passwd_title=±K½X¿ï¶µ
passwd_encrypt=¨Ï¥Î¥[±K±K½X¡H
passwd_allownull=¤¹³\ªÅ±K½X¡H
passwd_program=½s½Xµ{¦¡
passwd_case=±K½X¤j¤p¼g¤£¤@­P
passwd_chat=§ïÅÜ±K½X chat
passwd_below=ºÊÅ¥³o¨Ç¡G
passwd_waitfor=µ¥«Ý
passwd_send=¶Ç°e
passwd_map=¨Ï¥ÎªÌ¦W¬M®g
passwd_unixuser=Unix ¨Ï¥ÎªÌ
passwd_winuser=Windows ¨Ï¥ÎªÌ

print_title=¦C¦L¿ï¶µ
print_style=Unix ¦C¦L­·®æ
print_show=Åã¥Ü©Ò¦³ªº¦Lªí¾÷¡H
print_printcap=¦C¦L©Ê¯àÀÉ®×
print_cachetime=¦C¦Lª¬ºA§Ö¨ú°O¾ÐÅé®É¶¡

smb_title=Windows ºô¸ô¿ï¶µ
smb_workgroup=¤u§@¸s²Õ
smb_wins=WINS ¼Ò¦¡
smb_winsserver=§@¬°WINS¦øªA¾¹
smb_useserver=¨Ï¥Î¦øªA¾¹
smb_description=¦øªA¾¹´y­z
smb_name=¦øªA¾¹¦WºÙ
smb_aliase=¦øªA¾¹§O¦W
smb_default=¹w³]ªA°È
smb_show=¨C¦¸³£Åã¥ÜªA°È
smb_disksize=¦^³øºÏºÐªÅ¶¡ªº³Ì¤j­È
smb_unlimited=µL­­
smb_winpopup=Winpopup ©R¥O
smb_priority=¥DÂsÄý¾¹Àu¥ý¶¶§Ç
smb_protocol=³ÌÀu¥ý¨ó©w
smb_master=¥DÂsÄý¾¹¡H
smb_security=¦w¥þ
smb_sharelevel=¦@¥Î¯Å§O
smb_userlevel=¨Ï¥ÎªÌ¯Å§O
smb_passwdserver=±K½X¦øªA¾¹
smb_domain=ºô°ì
smb_announce=»·ºÝ«Å§i¦Ü
smb_nowhere=¨S¦³¦a¤è
smb_fromlist=¨Ó¦Û²M³æ...
smb_ip=IP ¦a§}
smb_asworkgroup=<b>§@¬°¤u§@¸s²Õ</b> (¥i¿ï)

create_title=·s¼W½Æ»s
create_msg=¦@¥Î°Æ¥»Ä~©Ó©Ò¿ï¨ú¦@¥Îªº©Ò¦³¹w³]­È¡C¦p­ì¦@¥Î§ïÅÜ¡A½Æ¥»ÀH¤§§ïÅÜ¡C
create_from=¦@¥Î½Æ»s¦Û¡G
create_name=·sªº¦@¥Î¦WºÙ¡G

smbuser_title=Samba ¨Ï¥ÎªÌ
smbuser_list=Samba ¨Ï¥ÎªÌ²M³æ
smbuser_nouser=¨S¦³©w¸q Samba ¨Ï¥ÎªÌ

euser_title=½s¿è Samba ¨Ï¥ÎªÌ
euser_name=¨Ï¥ÎªÌ¦WºÙ
euser_uid=Unix UID
euser_passwd=±K½X
euser_noaccess=¤£¯à¶i¤J
euser_nopw=¨S¦³±K½X
euser_currpw=¥Ø«e±K½X
euser_newpw=·s±K½X
euser_realname=¯u¹ê¦WºÙ
euser_homedir=¨Ï¥ÎªÌ®Ú¥Ø¿ý
euser_shell=Shell
euser_option=¨Ï¥ÎªÌ¿ï¶µ
euser_normal=´¶³q¨Ï¥ÎªÌ
euser_nopwrequired=µL»Ý±K½X
euser_disable=±b¸¹°±¥Î
euser_trust=¤u§@¯¸«H¥ô±b¸¹

fmisc_title=ÂøÃþÀÉ®×¹w³]­È
fmisc_for=¦@¥Î<tt>$1</tt>
fmisc_lockfile=Âê©wÀÉ®×¡H
fmisc_maxconn=³Ì¤j³s½u¼Æ
fmisc_fake=°°¸Ë oplocks¡H
fmisc_sharemode=¨Ï¥Î¦@¥Î¼Ò¦¡¡H
fmisc_strict=ÄY®æÂê©w¡H
fmisc_sync=¼g¤J«á¦P¨B¡H
fmisc_volume=¼ÐÅÒ¦WºÙ
fmisc_sameas=»P¦@¥Î¬Û¦P
fmisc_unixdos=Unix-DOS ÀÉ®×¦WºÙ¬M®g¹Ï
fmisc_conncmd=³s½u®É°õ¦æªº©R¥O
fmisc_disconncmd=Â_½u®É°õ¦æªº©R¥O
fmisc_rootconn=<i>§@¬°root</i>³s½u®É°õ¦æªº©R¥O
fmisc_rootdisconn=<i>§@¬°root</i>Â_½u®É°õ¦æªº©R¥O

fname_title1=ÀÉ®×©R¦WºÙ¹w³]­È
fname_title2=½s¿èÀÉ®×©R¦WºÙ
fname_option=ÀÉ®×©R¦WºÙ¿ï¶µ
fname_manglecase=²V¦X¤j¤p¼g¡H
fname_case=°Ï¤À¤j¤p¼g¡H
fname_defaultcase=¹w³]¤j¤p¼g¡H
fname_lower=¤p¼g
fname_upper=¤j¼g
fname_preserve=«O«ù¤j¤p¼g¡H
fname_shortpreserve=©¿²¤¤j¤p¼g¡H
fname_hide=ÁôÂÃ"."ÀÉ®×¦WºÙ¡H
fname_archive=Àx¦s DOS ÂkÀÉ¼ÐÅÒ¡H
fname_hidden=Àx¦s DOS ÁôÂÃ¼ÐÅÒ¡H
fname_system=Àx¦s DOS ¨t²Î¼ÐÅÒ¡H

fperm_title1=ÀÉ®×³\¥i¹w³]
fperm_title2=½s¿èÀÉ®×³\¥i
fperm_option=ÀÉ®×³\¥i¿ï¶µ
fperm_filemode=·s Unix ÀÉ®×¼Ò¦¡
fperm_dirmode=·s Unix ¥Ø¿ý¼Ò¦¡
fperm_notlist=¤£¦C¥Xªº¥Ø¿ý
fperm_forceuser=±j¨î Unix ¨Ï¥ÎªÌ
fperm_forcegrp=±j¨î Unix ¸s²Õ
fperm_link=¤¹³\¦b¦@¥Î¥~²Å¸¹³s½u¡H
fperm_delro=¯à§R°£°ßÅªÀÉ®×¶Ü¡H
fperm_forcefile=±j¨îUnix ÀÉ®×¼Ò¦¡
fperm_forcedir=±j¨î Unix ¥Ø¿ý¼Ò¦¡

share_title1=¹w³]ÀÉ®×¦@¥Î
share_title2=½s¿èÀÉ®×¦@¥Î
share_title3=·s¼WÀÉ®×¦@¥Î
share_info=¦@¥Î¸ê°T
share_copy=¦¹¦@¥Î¬O<i>$1</i>ªº½Æ»s
share_name=¦@¥Î¦WºÙ
share_home=¦@¥Îªº®Ú¥Ø¿ý
share_dir=¦@¥Îªº¥Ø¿ý
share_available=¥i¨Ï¥Î¡H
share_browseable=¥iÂsÄý¡H
share_comment=¦@¥Îµù¸Ñ
share_view=¬d¬Ý³s½u
share_option=¨ä¥L¦@¥Î¿ï¶µ
share_security=±K½X©M¶i¤J±±¨î
share_permission=ÀÉ®×³\¥i
share_naming=ÀÉ®×©R¦WºÙ
share_misc=ÂøÃþ¿ï¶µ

print_title1=¦Lªí¾÷¿ï¶µ¹w³]­È
print_title2=½s¿è¦Lªí¾÷¿ï¶µ
print_option=¦Lªí¾÷¿ï¶µ
print_minspace=³Ì¤p¦Û¥ÑªÅ¶¡
print_postscript=±j¨î postscript ¦C¦L
print_command=¦C¦L©R¥O
print_queue=Åã¥Ü¦î¦C©R¥O
print_delete=§R°£§@·~©R¥O
print_pause=¼È°±§@·~©R¥O
print_unresume=¤¤Â_§@·~©R¥O
print_driver=¦Lªí¾÷ÅX°Êµ{¦¡

pshare_title1=¦Lªí¾÷¦@¥Î¹w³]
pshare_title2=½s¿è¦C¦L¦@¥Î
pshare_title3=·s¼W¦Lªí¾÷¦@¥Î
pshare_info=¦@¥Î¸ê°T
pshare_name=¦@¥Î¦WºÙ
pshare_all=©Ò¦³¦Lªí¾÷¦@¥Î
pshare_unixprn=Unix ¦Lªí¾÷
pshare_spool=°°Â÷½u¥Ø¿ý

sec_index1=¦w¥þ¹w³]
sec_index2=½s¿è¦w¥þ
sec_writable=¥i¼g¡H
sec_guest=³X«È¥i¶i¤J¡H
sec_guestonly=¶È³X«È
sec_guestaccount= Unix ³X«È¨Ï¥ÎªÌ
sec_limit=­­¨î¥i¯àªº²M³æ¡H
sec_allowhost=¤¹³\ªº¥D¾÷
sec_onlyallow=¶È¤¹³\
sec_denyhost=©Úµ´ªº¥D¾÷
sec_onlydeny=¶È©Úµ´
sec_revalidate=­«·s½T»{¨Ï¥ÎªÌ¡H
sec_validuser=¦Xªk¨Ï¥ÎªÌ
sec_validgroup=¦Xªk¸s²Õ
sec_invaliduser=«Dªk¨Ï¥ÎªÌ
sec_invalidgroup=«Dªk¸s²Õ
sec_possibleuser=¥i¯à¨Ï¥ÎªÌ
sec_possiblegroup=¥i¯à¸s²Õ
sec_rouser=°ßÅª¨Ï¥ÎªÌ
sec_rogroup=°ßÅª¸s²Õ
sec_rwuser=Åª¼g¨Ï¥ÎªÌ
sec_rwgroup=Åª¼g¸s²Õ

esync_title=¨Ï¥ÎªÌ¦P¨B
esync_msg=¥i±N Webmin ²ÕºA¬° Unix ¨Ï¥ÎªÌ²M³æªº§ó§ï¦Û°Ê®M¥Î¨ì Samba ¨Ï¥ÎªÌ²M³æ¡C³o¥u¦b¨Ï¥Î <tt>¨Ï¥ÎªÌ©M¸s²Õ</tt> Webmin ¼Ò²Õ¨Ó¥[¤J¡B§R°£©Î§ïÅÜ¨Ï¥ÎªÌ®É¤~¦³®Ä¡C
esync_add=¥[¤JUnix¨Ï¥ÎªÌ¤]ÀH¤§¥[¤JSamba ¨Ï¥ÎªÌ
esync_chg=§ïÅÜ Unix ¨Ï¥ÎªÌ®É Samba ¨Ï¥ÎªÌ¤]ÀH¤§§óÅÜ
esync_del=§R°£ Unix ¨Ï¥ÎªÌ®É Samba ¨Ï¥ÎªÌ¤]ÀH¤§§R°£
esync_apply=®M¥Î

mkpass_title=Âà´«¨Ï¥ÎªÌ
mkpass_convfail=Âà´«¨Ï¥ÎªÌ¥¢±Ñ
mkpass_msg=Âà´«Unix¨Ï¥ÎªÌ...
mkpass_skip=¥¿³Q©¿²¤
mkpass_same=¤w¸g¬Û¦P
mkpass_update=¥¿³Q§ó·s
mkpass_del=¥¿³Q§R°£
mkpass_passfail=³]¸m±K½X¥¢±Ñ

savecopy_fail=·s¼W½Æ»s¥¢±Ñ
savecopy_global=¦WºÙ 'global' ¤£¯à¥Î©ó¦@¥Î
savecopy_exist='$1'¦@¥Î¤w¸g¦s¦b

saveuser_fail=Àx¦s¨Ï¥ÎªÌ¥¢±Ñ
saveuser_uid='$1' ¤£¬O¦³®Äªº Unix UID
saveuser_colon=¯u¹ê¦WºÙ¤£¯à¥]§t¦r¤¸¡G
saveuser_home=¨Ï¥ÎªÌ®Ú¥Ø¿ý'$1' ¤£¦s¦b
saveuser_shell=$1 ¬O¿ù»~ªºshell
saveuser_pass=¨Ï¥Îsmbpasswd§ó§ï±K½X¥¢±Ñ : $1

savefmisc_fail=Àx¦sÂøÃþ¿ï¶µ¥¢±Ñ
savefmisc_number='$1' ¬O¿ù»~ªº³s½u¼Æ

savefperm_fail=Àx¦sÀÉ®×³\¥i¥¢±Ñ
savefperm_mode='$1' ¬O¿ù»~ªº Unix ÀÉ®×¼Ò¦¡

savefshare_fail=Àx¦s¦@¥Î¥¢±Ñ
savefshare_nopath=¨S¦³µ¹©w¸ô®|
savefshare_exist=¦WºÙ¬° '$1' ªº¦@¥Î¤w¸g¦s¦b
savefshare_mode='$1' ¬O¿ù»~¦@¥Î¦WºÙ
savefshare_global='global'¤£¯à¥Î§@¦@¥Î¦WºÙ

savemisc_fail=Àx¦s¿ï¶µ¥¢±Ñ
savemisc_lockdir=¥]§tÂê©w¥Ø¿ýªº¥Ø¿ý¤£¦s¦b
savemisc_logdir=¥]§t¤é»xÀÉ®×ªº¥Ø¿ý¤£¦s¦b
savemisc_logsize='$1' ¬O¿ù»~ªº¤é»x¤j¤p
savemisc_overlap='$1' ¬O¿ù»~ªº­«Å|Åª¤j¤p
savemisc_chroot=chroot ¥Ø¿ý'$1' ¤£¦s¦b
savemisc_smbrun=smbrun µ{¦¡'$1' ¨S¦³©Î¤£¥i°õ¦æ
savemisc_time='$1' ¿ù»~ªº®É¶¡®t²§

savenet_fail=Àx¦s¿ï¶µ¥¢±Ñ
savenet_timeout='$1' ¿ù»~ªºÂ_½u¹O®É
savenet_ip='$1' ¿ù»~IP ¦ì¤¸²Õ
savenet_keep='$1' ¬O¿ù»~ªº«O«ù¬¡°Ê¶¡¹j
savenet_maxxmit='$1' ¿ù»~ªº³Ì¤j«Ê¥]¤j¤p

savepass_fail=Àx¦s¿ï¶µ¥¢±Ñ
savepass_nopass=³o­Óª©¥»ªºsamba¤£¤ä´©±K½X¥[±K
savepass_passwd=¨S¦³µ¹©wªº§ïÅÜ±K½Xªºµ{¦¡
savepass_level='$1' ¿ù»~±K½X(¤j¤p¼g¤£¦P)
savepass_chat=§ïÅÜ±K½Xªº¹ï¸Ü§Ç¦C¬OªÅªº

savepopts_fail=Àx¦s¦Lªí¾÷¿ï¶µ¥¢±Ñ
savepopts_number=³Ì¤p¦Û¥ÑªÅ¶¡¥²¶·¬O¼Æ¦r

saveprint_fail=Àx¦s¿ï¶µ¥¢±Ñ
saveprint_printcap=¦C¦L©Ê¯àÀÉ®×'$1' ¤£¦s¦b
saveprint_cache='$1' ¿ù»~ªº§Ö¨ú°O¾ÐÅé®É¶¡

savepshare_fail=Àx¦s¦Lªí¾÷¦@¥Î¥¢±Ñ
savepshare_exist='$1'¦@¥Î¤w¸g¦s¦b
savepshare_name='$1' ¿ù»~ªº¦@¥Î¦WºÙ
savepshare_global='global'¤£¯à§@¬°¦@¥Î¦WºÙ

savesec_fail=Àx¦s¦w¥þ³]¸m¥¢±Ñ

savesmb_fail=Àx¦s¿ï¶µ¥¢±Ñ
savesmb_size='$1' ¿ù»~ªººÏºÐªÅ¶¡
savesmb_oslevel='$1' ¿ù»~ªº¥DÂsÄý¾¹Àu¥ý©Ê
savesmb_server=¥²¶·¿é¤J±K½X¦øªA¾¹

start_err=±Ò°Êsamba¦øªA¾¹¥¢±Ñ
start_fail=$1 ¥¢±Ñ

swats_fail=Àx¦s¨Ï¥ÎªÌ¦WºÙ¥¢±Ñ
swats_user=¨S¦³¿é¤J SWAT ¨Ï¥ÎªÌ¦WºÙ

viewu_index=·í«e¨Ï¥ÎªÌ
viewu_list=$1 ªº·í«e¨Ï¥ÎªÌ
viewu_share=¦@¥Î
viewu_user=¨Ï¥ÎªÌ
viewu_group=¸s²Õ
viewu_from=³s½u¦Û
viewu_time=³s½u¨ì
viewu_pid=µ{§Ç ID
viewu_msg1=À»ÂI¤Wªí¤¤ªºµ{§Ç ID ¤¤Â_¸Ó¨Ï¥ÎªÌªº³s½u¡C
viewu_msg2=¨S¦³½u¤W¨Ï¥ÎªÌ
viewu_locks=¶}±ÒÀÉ®×
viewu_none=µL

log_apply=­«·s±Ò°Ê Samba ¦øªA¾¹
log_start=±Ò°Ê Samba ¦øªA¾¹
log_save_fshare=§ó·sÀÉ®×¦@¥Î $1
log_save_pshare=§ó·s¦Lªí¾÷¦@¥Î $1
log_save_sec=¬°¦@¥Î $1 §ó§ï¦w¥þ©M¶i¤J±±¨î
log_save_fperm=¬°¦@¥Î $1 §ó§ïÀÉ®×³\¥iÅv
log_save_fname=¬°¦@¥Î $1 §ó§ïÀÉ®×©R¦WºÙ
log_save_fmisc=¬°¦@¥Î $1 §ó§ïÂøÃþ¿ï¶µ
log_save_popts=¬°¦@¥Î $1 §ó§ï¦Lªí¾÷¿ï¶µ
log_default_fshare=§ïÅÜÀÉ®×¦@¥Î¹w³]­È
log_default_pshare=§ïÅÜ¦Lªí¾÷¦@¥Î¹w³]­È
log_kill=¤¤Â_µ{§Ç $1
log_skill=¬°¦@¥Î $2 ¤¤Â_µ{§Ç $1
log_create_fshare=·s¼WÀÉ®×¦@¥Î $1
log_create_pshare=·s¼W¦Lªí¾÷¦@¥Î $1
log_delete_fshare=§R°£ÀÉ®×¦@¥Î $1
log_delete_pshare=§R°£¦Lªí¾÷¦@¥Î $1
log_net=§ïÅÜ Unix ºô¸ô¿ï¶µ
log_smb=§ïÅÜ Windows ºô¸ô¿ï¶µ
log_pass=§ïÅÜ»{ÃÒ¿ï¶µ
log_print=§ïÅÜ Windows ¨ì Unix ªº¦C¦L¿ï¶µ
log_misc=§ïÅÜÂøÃþ¿ï¶µ
log_sync=²ÕºA Unix ¨Ï¥ÎªÌ¦P¨B©Ê
log_epass=Âà´« Unix ¨Ï¥ÎªÌ¬° Samba ¨Ï¥ÎªÌ
log_epass_l=Âà´« Unix ¨Ï¥ÎªÌ¬° Samba ¨Ï¥ÎªÌ($1 ·s¼W, $2 §ó·s, $3 §R°£)
log_copy=½Æ»s¦@¥Î $2 ¨ì $1
log_save_euser=§ó·s Samba ¨Ï¥ÎªÌ $1
log_delete_euser=§R°£ Samba ¨Ï¥ÎªÌ $1

swat_title=SWAT µn¤J
swat_list=SWAT µn¤J
swat_msg1=±z¥Ø«eªº SWAT ¨Ï¥ÎªÌ¦WºÙ©M±K½X¤£¥¿½T.½Ð¥Î¤Uªí­«·sµn¤J¡C
swat_msg2=µn¤J SWAT »Ý­n¨Ï¥ÎªÌ¦WºÙ©M±K½X,³o¥i¥H¬O±z¨t²Î¤¤ªº¥ô¤@¨Ï¥ÎªÌ¡C
swat_msg3=±z¨S¦³Åv­­³z¹L Webmin °õ¦æ SWAT,¬O¦]¬°±zªº Samba ²ÕºA¤¤¦³<tt>$1:...</tt>(¤¹³\«È¤áºÝ)¿ï¶µ¡C
swat_msg4=¤£¹L¡A±z©Î³\¥i³z¹L $1 ª½±µ³s½u¨ì SWAT¡C
swat_username=¨Ï¥ÎªÌ
swat_password=±K½X
swat_login=µn¤J
swat_clear=²M°£
swat_logout=SWAT

eacl_aviol=¹H¤Ï¤¹³\±±¨î
eacl_np=±z¨S¦³Åv­­
eacl_papply=­«·s±Ò°Ê¦øªA¾¹
eacl_pcn=½s¿èunixºô¸ô¿ï¶µ
eacl_pcs=½s¿èsmbºô¸ô¿ï¶µ
eacl_pcp=½s¿è±K½X¿ï¶µ
eacl_pcprint=½s¿è¦Cªí¾÷¿ï¶µ
eacl_pcm=½s¿èÂøÃþ¿ï¶µ
eacl_pcswat=¨Ï¥ÎSWAT
eacl_pcopy=½Æ»s¦@¥Î
eacl_pconn_all=¬d¬Ý©Ò¦³³s½u
eacl_pconn=¬d¬Ý¦¹¦@¥Îªº³s½u
eacl_pgkill=¤¤Â_³s½u
eacl_pkill=¤¤Â_¦¹³s½u
eacl_pus=§ó·s¦@¥Î
eacl_pcrs=·s¼W¦@¥Î
eacl_pds=§R°£¦@¥Î
eacl_pusec=¹ï¦¹¦@¥Î§ó·s¦w¥þ©M¶i¤J±±¨î¿ï¶µ
eacl_pufperm=¹ï¦¹¦@¥Î§ó·sÅv­­¿ï¶µ
eacl_pufname=¹ï¦¹¦@¥Î§ó·sÀÉ®×¦WºÙ¿ï¶µ
eacl_pufmisc=¹ï¦¹¦@¥Î§ó·sÂøÃþ¿ï¶µ
eacl_pupopt=¹ï¦¹¦@¥Î§ó·s¦Cªí¾÷¿ï¶µ
eacl_pmpass=ªì©l¤Æ SAMBA ¨Ï¥ÎªÌ¸ê®Æ®w
eacl_pmsync=ºûÅ@UNIX-SAMBA ¨Ï¥ÎªÌ¦P¨B
eacl_pmusers=ºûÅ@ SAMBA ¨Ï¥ÎªÌ
eacl_pvusers=¶i¤J SAMBA ¨Ï¥ÎªÌ
eacl_pvfmisc=¶i¤J¦¹¦@¥ÎªºÂøÃþ¿ï¶µ
eacl_pvfname=¶i¤J¦¹¦@¥ÎªºÀÉ®×¦WºÙ¿ï¶µ
eacl_pvperm=¶i¤J¦¹¦@¥ÎªºÀÉ®×Åv­­¿ï¶µ
eacl_pvsec=¶i¤J¦¹¦@¥Îªº¦w¥þ©M¶i¤J±±¨î¿ï¶µ
eacl_pvpopt=¶i¤J¦¹¦@¥Îªº¦Cªí¾÷¿ï¶µ
eacl_pafs=¶i¤J¦¹ÀÉ®×¦@¥Î
eacl_paps=¶i¤J¦¹¦Cªí¾÷¦@¥Î
eacl_pcps=·s¼W¦Cªí¾÷¦@¥Î
eacl_pcfs=·s¼WÀÉ®×¦@¥Î

acl_apply=¥i¥H®M¥ÎÅÜ§ó?
acl_view_all_con=¥i¥H¬d¬Ý¥þ³¡³s½u?
acl_kill_con=¥i¥H²¾°£³s½u?
acl_conf_net=¥i¥H²ÕºA UNIXºô¸ô¿ï¶µ?
acl_conf_smb=¥i¥H²ÕºA Windowsºô¸ô¿ï¶µ?
acl_conf_pass=¥i¥H²ÕºA»{ÃÒ¿ï¶µ?
acl_conf_print=¥i¥H²ÕºA¦Cªí¾÷¿ï¶µ?
acl_conf_misc=¥i¥H²ÕºAÂøÃþ¿ï¶µ?
acl_swat=¥i¥H¨Ï¥ÎSWAT?
acl_enc_passwd_opts=±K½X½s½X¿ï¶µ
acl_view_users=¥i¥HÂsÄý SAMBA¨Ï¥ÎªÌ¸ê®Æ®w?
acl_maint_users=¥i¥H½s¿èSAMBA¨Ï¥ÎªÌ?
acl_maint_makepass=¥i¥HÂà´«UNIX¨Ï¥ÎªÌ¨ìSAMBA¨Ï¥ÎªÌ?
acl_maint_sync=¥i¥HºûÅ@¦Û°ÊUNIX¨ìSAMBA¨Ï¥ÎªÌ¦P¨B?
acl_hide=ÁôÂÃÃø¹F¦¨ªºª«¥ó?
acl_c=·s¼W
acl_r=Åª¨ú
acl_w=¼g¤J
acl_afs=¶i¤JÀÉ®×¦@¥Î
acl_aps=¶i¤J¦Cªí¾÷¦@¥Î
acl_copy=¥i¥H½Æ»s¦@¥Î?
acl_per_fs_acls=±Ò¥Îper-file_share acl?
acl_per_ps_acls=±Ò¥Îper-print_share acl?
acl_per_share_acls=Per-share ACL...
acl_ernow=¦pªG±z·Q­n±Ò¥Î¼g¤J±±¨î¦b¥þ°ì ACL¹ï¦³¨Çª«¥óÃþ«¬¡A±z¥²¶·¤]±Ò¥ÎÅª¨ú±±¨î¹ï¦¹ª«¥óÃþ«¬
acl_sname=¦@¥Î¦WºÙ
acl_saccess=¶i¤J¦@¥Î
acl_sconn=³s½u
acl_sopthdr=¦@¥Î¿ï¶µ
acl_ssec=¦w¥þ
acl_sperm=Åv­­
acl_snaming=ÀÉ®×¦WºÙ
acl_smisc=ÂøÃþ
acl_sprn=©Î¦Cªí¾÷
acl_na=n/a
acl_r1=°ßÅª
acl_rw=°ß¼g
acl_view=ÂsÄý
acl_kill=°±¤î
acl_edit=½s¿è
 07070100015dd4000081a40000000000000002000000013d1fe2bf00000563000000200000000000000000000000000000001a00000003reloc/samba/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'samba-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
$object = &html_escape($object);
if ($action eq 'save') {
	if ($object eq 'global') {
		return $text{"log_default_${type}"};
		}
	else {
		return &text("log_save_${type}", "<tt>$object</tt>");
		}
	}
elsif ($action eq 'create') {
	return &text("log_create_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text("log_delete_${type}", "<tt>$object</tt>");
	}
elsif ($action eq 'copy') {
	return &text('log_copy', "<tt>$object</tt>",
		     "<tt>".&html_escape($p->{'copy'})."</tt>");
	}
elsif ($action eq 'epass') {
	return &text($long ? 'log_epass_l' : 'log_epass',
		     int($p->{'created'}), int($p->{'modified'}),
		     int($p->{'deleted'}));
	}
elsif ($type eq 'euser') {
	return &text("log_${action}_euser", "<tt>$object</tt>");
	}
elsif ($action eq 'kill') {
	if ($p->{'share'}) {
		return &text('log_skill', "<tt>$object</tt>",
			     "<tt>".&html_escape($p->{'share'})."</tt>");
		}
	else {
		return &text('log_kill', "<tt>$object</tt>");
		}
	}
elsif ($text{"log_${action}"}) {
	return $text{"log_${action}"};
	}
else {
	return undef;
	}
}

 07070100015dd5000081e40000000000000002000000013d1fe2bf0000016c000000200000000000000000000000000000001700000003reloc/samba/logout.cgi    #!/usr/local/bin/perl
# logout.cgi
# Forget the current SWAT login and password

require './samba-lib.pl';

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcswat'}") unless $access{'swat'};
 
unlink("$module_config_directory/swat");
&redirect("swat.cgi");

07070100015dd6000081e40000000000000002000000013d1fe2be00000d6c000000200000000000000000000000000000001b00000003reloc/samba/make_epass.cgi    #!/usr/local/bin/perl
# make_epass.cgi
# Create or update the samba password file from the list of Unix users

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmpass'}")
		unless $access{'maint_makepass'};
# make
&header($text{'mkpass_title'}, "");
$whatfailed = $text{'mkpass_convfail'};
$| = 1;
print "<hr>\n";

$config{'smb_passwd'} =~ /^(.*)\/([^\/]+)$/;
mkdir($1, 0700);
&lock_file($config{'smb_passwd'});
@ulist = &list_users();
map { $suser{$_->{'name'}} = $_ } @ulist;

print "<h3>$text{'mkpass_msg'}</h3>\n";
foreach $u (split(/[ \t,]/ , $in{"skip_list"})) {
	$dont_convert{$u}++;
	}
print "<table border width=100%><tr><td bgcolor=#c0c0c0><pre>\n";
setpwent();
while(@uinfo = getpwent()) {
	local ($c1, $c2, $m);
	local $huinfo = &html_escape($uinfo[0]);
	$uexists{$uinfo[0]}++;
	local $su = $suser{$uinfo[0]};
	if ($dont_convert{$uinfo[0]}) {
		$m = "$huinfo $text{'mkpass_skip'}";
		}
	elsif ($su && $in{"update"}) {
		if ($su->{'opts'}) {
			# new-style user
			if ($uinfo[2] == $su->{'uid'}) {
				$m = "$huinfo $text{'mkpass_same'}";
				}
			else {
				$su->{'uid'} = $uinfo[2];
				$su->{'real'} = $uinfo[6];
				&modify_user($su);
				$m = "$huinfo $text{'mkpass_update'}";
				$c1 = "<i>"; $c2 = "</i>";
				$modified++;
				}
			}
		else {
			# old-style user
			if ($uinfo[2] == $su->{'uid'} &&
			    $uinfo[6] eq $su->{'real'} &&
			    $uinfo[7] eq $su->{'home'} &&
			    $uinfo[8] eq $su->{'shell'}) {
				$m = "$huinfo $text{'mkpass_same'}";
				}
			else {
				$su->{'uid'} = $uinfo[2];
				$su->{'real'} = $uinfo[6];
				$su->{'home'} = $uinfo[7];
				$su->{'shell'} = $uinfo[8];
				&modify_user($su);
				$m = "$huinfo $text{'mkpass_update'}";
				$c1 = "<i>"; $c2 = "</i>";
				$modified++;
				}
			}
		}
	elsif ($in{"add"} && !$su) {
		local $nu = { 'name' => $uinfo[0],
			      'uid' => $uinfo[2] };
		local @flags = ("U");
		$c1 = "<b>"; $c2 = "</b>";
		$m = "$huinfo being added";
		if ($in{'newmode'} == 0) {
			$nu->{'pass1'} = "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX";
			$nu->{'pass2'} = ("X" x 32);
			push(@flags, "N");
			}
		else {
			$nu->{'pass1'} = $nu->{'pass2'} = ("X" x 32);
			if ($in{'newmode'} == 2) {
				$setpass{$uinfo[0]} = $in{'newpass'};
				}
			else { push(@flags, "D"); }
			}
		if ($samba_version < 2) {
			$nu->{'real'} = $uinfo[6];
			$nu->{'home'} = $uinfo[7];
			$nu->{'shell'} = $uinfo[8];
			}
		else {
			$nu->{'opts'} = \@flags;
			}
		&create_user($nu);
		$created++;
		}
	if ($m) { printf "$c1%-40.40s$c2%s", $m, ++$c%2 ? "" : "\n"; }
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');

# Delete missing users, if needed
if ($in{"delete"}) {
	foreach $u (@ulist) {
		if (!$uexists{$u->{'name'}}) {
			# delete this samba user..
			$m = &html_escape($u->{'name'})." $text{'mkpass_del'}";
			&delete_user($u);
			printf "<b><font color=#ff0000>%-40.40s</font></b>%s",
				$m, ++$c%2 ? "" : "\n";
			$deleted++;
			}
		}
	}

# Update the passwords of new users
foreach $u (keys %setpass) {
	&set_password($u, $setpass{$u}) ||
		&error($text{'mkpass_passfail'});
	}
&unlock_file($config{'smb_passwd'});
&webmin_log("epass", undef, undef, { 'modified' => $modified,
				     'created' => $created,
				     'deleted' => $deleted } );

print "</pre></td></tr></table>\n";
print "<hr>\n";
&footer("", $text{'index_sharelist'});

07070100015dd7000081a40000000000000002000000013d1fe2ea00000388000000200000000000000000000000000000001800000003reloc/samba/module.info   desc_ru_SU=æÁÊÌ-ÓÅÒ×ÅÒ Samba
risk=low medium high
desc_ko_KR.euc=»ï¹Ù À©µµ¿ì ÆÄÀÏ °øÀ¯
desc_zh_TW.Big5=Samba µøµ¡ÀÉ®×¤À¨É
desc_pl=Udostêpnianie dla Windows przez Sambê
desc_de=Windows Dateifreigabe
name=Samba Manager
desc_zh_CN=Samba Windows ÎÄ¼þ¹²Ïí
desc_pt=Partilha de Ficheiros de Windows com Samba
category=servers
desc_tr=Samba Windows Dosya Paylaþýmý
os_support=solaris redhat-linux mandrake-linux debian-linux slackware-linux aix suse-linux hpux freebsd osf1 irix open-linux openserver unixware turbo-linux openbsd corel-linux cobalt-linux lfs-linux macos netbsd msc-linux generic-linux gentoo-linux
desc=Samba Windows File Sharing
desc_es=Compartición de Archivos de Windows mediante Samba
desc_sv=Fildelning med Samba
desc_fr=Partage Windows avec Samba
desc_ja_JP.euc=Samba Windows ¥Õ¥¡¥¤¥ë¶¦Í­
depends=inetd 0.990
version=0.990
desc_ca=Compartició de Fitxers Samba
desc_ru_RU=Ôàéë-ñåðâåð Samba
07070100015dd8000081a40000000000000002000000013d1fe2bf0000197c000000200000000000000000000000000000001800000003reloc/samba/opts.pl.dev   # opts.pl
# Defines which smb.conf options are available in which samba versions

# default_options(&array, version)
# Fills in the given associative array with the default value for all
# supported options, based on the given samba version
sub default_options
{
@op = ( [ "admin users",		"",		1.905,	1 ],
	[ "announce as",		"NT",		???,	0 ],
	[ "announce version",		"4.2",		???,	0 ],
	[ "auto services",		"",		0,	0 ],
	[ "=preload" ],
	[ "allow hosts",		"",		0,	0 ],
	[ "=hosts allow" ],
	[ "alternate permissions",	"no",		1.916,	1 ],
	[ "available",			"yes",		1.513,	1 ],
	[ "bind interfaces only",	"false",	1.918,	0 ],
	[ "browseable",			"yes",		0,	1 ],
	[ "browse list",		"yes",		0,	0 ],
	[ "case sensitive",		"no",		0,	0 ],
	[ "=case sig names" ],
	[ "character set",		"",		0,	0 ],
	[ "client code page",		"850",		1.917,	0 ],
	[ "comment",			"",		0,	1 ],
	[ "copy",			"",		0,	1 ],
	[ "create mode",		"0744",		0,	1 ],
	[ "=create mask" ],
	[ "dead time",			0,		0,	0 ],
	[ "debug level",		"",		1.900,	0 ],
	[ "=log level" ],
	[ "default case",		"lower",	1.800,	1 ],
	[ "default service",		"",		1.700,	0 ],
	[ "=default" ],
	[ "delete readonly",		"no",		0,	1 ],
	[ "deny hosts",			"",		1.525,	1 ],
	[ "=hosts deny" ],
	[ "delete veto files",		"false",	???,	1 ],
	[ "dfree command",		"",		1.541,	0 ],
	[ "directory mask",		"0755",		???,	1 ],
	[ "=directory mode" ],
	[ "dns proxy",			"yes",		???,	0 ],
	[ "domain controller",		"no",		1.916,	0 ],
	[ "domain logons",		"no",		1.916,	0 ],
	[ "domain master",		"no",		1.916,	0 ],
	[ "dont descend",		"",		1.522,	1 ],
	[ "dos filetimes",		"false",	???,	1 ],
	[ "encrypt passwords",		"false",	0,	0 ],
	[ "fake oplocks",		"no",		0,	1 ],
	[ "follow symlinks",		"yes",		0,	1 ],
	[ "force create mode",		"0000",		???,	1 ],
	[ "force directory mode",	"0000",		???,	1 ],
	[ "force group",		"",		1.802,	1 ],
	[ "group" ],
	[ "force user",			"",		1.913,	1 ],
	[ "getwd cache",		"no",		1.703,	0 ],
	[ "guest account",		"nobody",	1.900,	1 ],
	[ "guest only",			"no",		1.604,	1 ],
	[ "=only guest" ],
	[ "hide dot files",		"yes",		1.802,	1 ],
	[ "hide files",			"",		???,	1 ],
	[ "homedir map",		"",		???,	0 ],
	[ "hosts equiv",		"",		1.800,	0 ],
	[ "interfaces",			"",		???,	0 ],
	[ "invalid users",		"",		1.800,	1 ],
	[ "keep alive",			0,		0,	0 ],
	[ "lm announce",		"auto",		???,	0 ],
	[ "lm interval",		60,		???,	0 ],
	[ "load printers",		"yes",		1.802,	0 ],
	[ "local master",		"yes",		???,	0 ],
	[ "lock directory",		"",		1.705,	0 ],
	[ "=lock dir" ],
	[ "locking",			"yes",		1.609,	1 ],
	[ "log file",			"",		1.900,	0 ],
	[ "logon drive",		"",		???,	0 ],
	[ "logon home",			"",		???,	0 ],
	[ "logon path",			"",		???,	0 ],
	[ "logon script",		"",		???,	0 ],
	[ "lppause command",		"",		0,	0 ],
	[ "lpq cache time",		10,		1.914,	0 ],
	[ "lpq command",		"",		???,	1 ],
	[ "lpresume command",		"",		???,	1 ],
	[ "lprm command",		"",		???,	1 ],
	[ "magic output",		"",		1.700,	1 ],
	[ "magic script",		"",		1.700,	1 ],
	[ "mangle case",		"no",		0,	1 ],
	[ "mangled map",		"",		1.802,	1 ],
	[ "mangled names",		"yes",		1.800,	1 ],
	[ "mangling char",		"~",		1.800,	1 ],
	[ "mangled stack",		50,		1.700,	0 ],
	[ "map archive",		"yes",		1.913,	1 ],
	[ "map hidden",			"no",		0,	1 ],
	[ "map system",			"no",		0,	1 ],
	[ "max connections",		0,		1.705,	1 ],
	[ "max disk size",		0,		???,	0 ],
	[ "max log size",		5000,		1.900,	0 ],
	[ "max mux",			50,		1.802,	0 ],
	[ "max ttl",			14400,		1.915,	0 ],
	[ "max wins ttl",		259200,		???,	0 ],
	[ "max xmit",			65535,		1.525,	0 ],
	[ "message command",		"",		1.901,	0 ],
	[ "min print space",		0,		1.914,	1 ],
	[ "min wins ttl",		21600,		???,	0 ],
	[ "netbios aliases",		"",		???,	0 ],
	[ "netbios name",		"",		???,	0 ],
	[ "nis homedir",		"false",	???,	0 ],
	[ "null passwords",		"no",		1.803,	0 ],
	[ "only user",			"false",	1.703,	1 ],
	[ "oplocks",			"true",		1.918,	1 ],
	[ "os level",			???,		???,	0 ],
	[ "passwd chat",		"",		1.914,	0 ],
	[ "passwd program",		"/bin/passwd",	0 ],
	[ "password level",		0,		1.700,	0 ],
	[ "password server",		"",		1.900,	0 ], # multiple
	[ "path",			"",		0,	1 ],
	[ "=directory" ],
	[ "postexec",			"",		1.906,	1 ],
	[ "postscript",			"false",	1.801,	1 ],
	[ "preexec",			"",		0,	1 ],
	[ "=exec" ],
	[ "preferred master",		"no",		???,	0 ],
	[ "preserve case",		"no",		0,	1 ],
	[ "print command",		"",		1.518,	1 ],
	[ "printable",			"no",		0,	1 ],
	[ "=print ok" ],
	[ "printcap name",		"",		1.513,	0 ],
	[ "printer",			"",		0,	1 ],
	[ "=printer name" ],
	[ "printer driver",		"",		0,	1 ],
	[ "printer driver file",	"",		???,	0 ],
	[ "printer driver location",	"",		???,	1 ],
	[ "printing",			"",		1.918,	1 ],
	[ "printing",			"",		0,	0 ],
	[ "protocol",			"NT1",		1.603,	0 ],
	[ "public",			"no",		0,	1 ],
	[ "=guest ok" ],
	[ "read list",			"",		1.802,	1 ],
	[ "read prediction",		"false",	1.705,	0 ],
	[ "read raw",			"yes",		1.700,	0 ],
	[ "read size",			2048,		1.900,	0 ],
	[ "remote announce",		"",		???,	0 ],
	[ "remote browse sync",		"",		???,	0 ],
	[ "revalidate",			"false",	1.902,	1 ],
	[ "root directory",		"/",		1.522,	0 ],
	[ "=root" ],
	[ "=root dir" ],
	[ "root preexec",		"",		1.9.11,	1 ],
	[ "root postexec",		"",		1.9.11,	1 ],
	[ "security",			"SHARE",	1.609,	0 ],
	[ "server string",		"",		1.800,	0 ],
	[ "shared file entries",	113,		???,	0 ],
	[ "shared mem size",		102400,		???,	0 ],
	[ "smb passwd file",		"",		1.914,	0 ],
	[ "smbrun",			"",		1.911,	0 ],
	[ "share modes",		"yes",		1.913,	1 ],
	[ "short preserve case",	"no",		1.914,	1 ],
	[ "socket address",		"",		???,	0 ],
	[ "socket options",		"",		1.903,	0 ],
	[ "status",			"yes",		1.803,	0 ],
	[ "strict locking",		"no",		1.900,	1 ],
	[ "strip dot",			"no",		1.900,	1 ],
	[ "syslog",			1,		???,	0 ],
	[ "syslog only",		"no",		???,	0 ],
	[ "sync always",		"no",		1.914,	1 ],
	[ "time offset",		0,		???,	0 ],
	[ "time server",		"false",	???,	0 ],
	[ "unix realname",		"no",		???,	0 ],
	[ "user",			"",		1.502,	1 ],
	[ "=username" ],
	[ "username level",		0,		???,	0 ],
	[ "username map",		"",		1.913,	0 ],
	[ "valid chars",		"",		1.912,	1 ],
	[ "valid users",		"",		1.800,	1 ],
	[ "veto files",			"",		???,	1 ],
	[ "veto oplock files",		"",		???,	1 ],
	[ "volume",			"",		0,	1 ],
	[ "wide links",			"yes",		0,	1 ],
	[ "wins proxy",			"no",		???,	0 ],
	[ "wins server",		"",		???,	0 ],
	[ "wins support",		"no",		???,	0 ],
	[ "workgroup",			"",		1.913,	0 ],
	[ "writable",			"no",		1.513,	1 ],
	[ "=write ok" ],
	[ "write list",			"",		1.802,	1 ],
	[ "write raw",			"yes",		1.913,	0 ],

	[ "exec" ],
	[ "max packet" ]
        );
}

07070100015dd9000081e40000000000000002000000013d1fe2be000003db000000200000000000000000000000000000001800000003reloc/samba/restart.cgi   #!/usr/local/bin/perl
# restart.cgi
# Kill all smbd and nmdb processes and re-start them

require './samba-lib.pl';
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_papply'}") unless $access{'apply'};
 
if ($config{'stop_cmd'}) {
	&system_logged("$config{'stop_cmd'} >/dev/null 2>&1 </dev/null");
	}
else {
	@smbpids = &find_byname("smbd");
	@nmbpids = &find_byname("nmbd");
	&kill_logged('TERM', @smbpids, @nmbpids);
	}

if ($config{'start_cmd'}) {
	$rv = &system_logged("$config{'start_cmd'} >/dev/null 2>&1 </dev/null");
	if ($rv) { &error(&text('start_fail', $config{'start_cmd'})); }
	}
else {
	$rv = &system_logged("$config{samba_server} -D </dev/null");
	if ($rv) { &error(&text('start_fail', $config{samba_server})); }
	$rv = &system_logged("$config{name_server} -D </dev/null");
	if ($rv) { &error(&text('start_fail', $config{samba_server})); }
	}
&webmin_log("apply");
&redirect("");

 07070100015dda000081a40000000000000002000000013d1fe2be000038a3000000200000000000000000000000000000001900000003reloc/samba/samba-lib.pl  # samba-lib.pl
# Common functions for editing the samba config file

do '../web-lib.pl';
&init_config();

# Get the samba version
if (open(VERSION, "$module_config_directory/version")) {
	chop($samba_version = <VERSION>);
	close(VERSION);
	}

# list_shares()
# List all the shares from the samba config file
sub list_shares
{
local(@rv, $_);
open(SAMBA, $config{smb_conf});
while(<SAMBA>) {
	chop; s/;.*$//g; s/^\s*#.*$//g;
	if (/^\s*\[([^\]]+)\]/) {
		push(@rv, $1);
		}
	}
close(SAMBA);
return @rv;
}


# get_share(share, [array])
# Fills the associative array %share with the parameters from the given share
sub get_share
{
local($found, $_, $first, $arr);
$arr = (@_==2 ? $_[1] : "share");
undef(%$arr);
open(SAMBA, $config{smb_conf});
while(<SAMBA>) {
	chop; s/^\s*;.*$//g; s/^\s*#.*$//g;
	if (/^\s*\[([^\]]+)\]/) {
		# Start of share section
		$first = 1;
		if ($found) { last; }
		elsif ($1 eq $_[0]) { $found = 1; $$arr{share_name} = $1; }
		}
	elsif ($found && /^\s*([^=]*\S)\s*=\s*(.*)$/) {
		# Directives inside a section
		if (lc($1) eq "read only") {
			# bastard special case.. change to writable
			$$arr{'writable'} = $2 =~ /yes|true|1/i ? "no" : "yes";
			}
		else { $$arr{lc($1)} = $2; }
		}
	elsif (!$first && /^\s*([^=]*\S)\s*=\s*(.*)$/ && $_[0] eq "global") {
		# Directives outside a section! Assume to be part of [global]
		$$arr{share_name} = "global";
		$$arr{lc($1)} = $2;
		$found = 1;
		}
	}
close(SAMBA);
return $found;
}


# create_share(name)
# Add an entry to the config file
sub create_share
{
open(CONF, ">> $config{smb_conf}");
print CONF "\n";
print CONF "[$_[0]]\n";
foreach $k (grep {!/share_name/} (keys %share)) {
	print CONF "\t$k = $share{$k}\n";
	}
close(CONF);
}


# modify_share(oldname, newname)
# Change a share (and maybe it's name)
sub modify_share
{
local($_, @conf, $replacing, $first);
open(CONF, $config{smb_conf});
@conf = <CONF>;
close(CONF);
open(CONF, "> $config{smb_conf}");
for($i=0; $i<@conf; $i++) {
	chop($_ = $conf[$i]); s/;.*$//g; s/#.*$//g;
	if (/^\s*\[([^\]]+)\]/) {
		$first = 1;
		if ($replacing) { $replacing = 0; }
		elsif ($1 eq $_[0]) {
			print CONF "[$_[1]]\n";
			foreach $k (grep {!/share_name/} (keys %share)) {
				print CONF "\t$k = $share{$k}\n";
				}
			print CONF "\n";
			$replacing = 1;
			}
		}
	elsif (!$first && /^\s*([^=]*\S)\s*=\s*(.*)$/ && $_[0] eq "global") {
		# found start of directives outside any share - assume [global]
		$first = 1;
		print CONF "[$_[1]]\n";
		foreach $k (grep {!/share_name/} (keys %share)) {
			print CONF "\t$k = $share{$k}\n";
			}
		print CONF "\n";
		$replacing = 1;
		}
	if (!$replacing) { print CONF $conf[$i]; }
	}
close(CONF);
}


# delete_share(share)
# Delete some share from the config file
sub delete_share
{
local($_, @conf, $deleting);
open(CONF, $config{smb_conf});
@conf = <CONF>;
close(CONF);
open(CONF, "> $config{smb_conf}");
for($i=0; $i<@conf; $i++) {
	chop($_ = $conf[$i]); s/;.*$//g;
	if (/^\s*\[([^\]]+)\]/) {
		if ($deleting) { $deleting = 0; }
		elsif ($1 eq $_[0]) {
			print CONF "\n";
			$deleting = 1;
			}
		}
	if (!$deleting) { print CONF $conf[$i]; }
	}
close(CONF);
}


# list_connections([share])
# Uses the smbstatus program to return a list of connections a share. Each
# element of the returned list is of the form:
#  share, user, group, pid, hostname, date/time
sub list_connections
{
local($l, $started, @rv);
foreach $l (split(/\n/ , `$config{samba_status_program} -S`)) {
	if ($l =~ /^----/) { $started = 1; }
	if ($started && $l =~ /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)\s+\(\S+\)\s+(.*)$/ && (!$_[0] || $1 eq $_[0] || $1 eq $2 && $_[0] eq "homes")) {
		push(@rv, [ $1, $2, $3, $4, $5, $6 ]);
		}
	}
return @rv;
}

# list_locks()
# Returns a list of locked files as an array, in the form:
#  pid, mode, rw, oplock, file, date
sub list_locks
{
local($l, $started, @rv);
foreach $l (split(/\n/ , `$config{samba_status_program} -L`)) {
	if ($l =~ /^----/) { $started = 1; }
	if ($started && $l =~ /^(\d+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.*)\s+(\S+\s+\S+\s+\d+\s+\d+:\d+:\d+\s+\d+)/) {
		push(@rv, [ $1, $2, $3, $4, $5, $6 ]);
		}
	}
return @rv;
}


# istrue(key)
# Checks if the value of this key (or it's synonyms) in %share is true
sub istrue
{
return &getval($_[0]) =~ /yes|true|1/i;
}


# isfalse(key)
# Checks if the value of this key (or it's synonyms) in %share is false
sub isfalse
{
return &getval($_[0]) =~ /no|false|0/i;
}


# getval(name)
# Given the name of a key in %share, return the value. Also looks for synonyms.
# If the value is not found, a default is looked for.. this can come from
# a copied section, the [global] configuration section, or from the SAMBA
# defaults. This means that getval() always returns something..
sub getval
{
local($_, $copy);
if ($synon{$_[0]}) {
	foreach (split(/,/, $synon{$_[0]})) {
		if (defined($share{$_})) { return $share{$_}; }
		}
	}
if (defined($share{$_[0]})) {
	return $share{$_[0]};
	}
elsif ($_[0] ne "copy" && ($copy = $share{"copy"})) {
	# this share is a copy.. get the value from the source
	local(%share);
	&get_share($copy);
	return &getval($_[0]);
	}
else {
	# return the default value...
	return &default_value($_[0]);
	}
return undef;
}


# setval(name, value, [default])
# Sets some value in %share. Synonyms with the same meaning are removed.
# If the value is the same as the share or given default, dont store it
sub setval
{
local($_);
if (@_ == 3) {
	# default was given..
	$def = $_[2];
	}
elsif ($_[0] ne "copy" && ($copy = $share{"copy"})) {
	# get value from copy source..
	local(%share);
	&get_share($copy);
	$def = &getval($_[0]);
	}
else {
	# get global/samba default
	$def = &default_value($_[0]);
	}
if ($_[1] eq $def || ($def !~ /\S/ && $_[1] !~ /\S/) ||
    ($def =~ /^(true|yes|1)$/i && $_[1] =~ /^(true|yes|1)$/i) ||
    ($def =~ /^(false|no|0)$/i && $_[1] =~ /^(false|no|0)$/i)) {
	# The value is the default.. delete this entry
	&delval($_[0]);
	}
else {
	if ($synon{$_[0]}) {
		foreach (split(/,/, $synon{$_[0]})) {
			delete($share{$_});
			}
		}
	$share{$_[0]} = $_[1];
	}
}


# delval(name)
# Delete a value from %share (and it's synonyms)
sub delval
{
local($_);
if ($synon{$_[0]}) {
	foreach (split(/,/, $synon{$_[0]})) {
		delete($share{$_});
		}
	}
else { delete($share{$_[0]}); }
}


# default_value(name)
# Returns the default value for a parameter
sub default_value
{
local($_, %global);

# First look in the [global] section.. (unless this _is_ the global section)
if ($share{share_name} ne "global") {
	&get_share("global", "global");
	if ($synon{$_[0]}) {
		foreach (split(/,/, $synon{$_[0]})) {
			if (defined($global{$_})) { return $global{$_}; }
			}
		}
	if (defined($global{$_[0]})) { return $global{$_[0]}; }
	}

# Else look in the samba defaults
if ($synon{$_[0]}) {
	foreach (split(/,/, $synon{$_[0]})) {
		if (exists($default_values{$_})) {
			return $default_values{$_};
			}
		}
	}
return $default_values{$_[0]};
}


# The list of synonyms used by samba for parameter names
@synon = (	"writable,write ok,writeable",
		"public,guest ok",
		"printable,print ok",
		"allow hosts,hosts allow",
		"deny hosts,hosts deny",
		"create mode,create mask",
		"directory mode,directory mask",
		"path,directory",
		"exec,preexec",
		"group,force group",
		"only guest,guest only",
		"user,username,users",
		"default,default service",
		"auto services,preload",
		"lock directory,lock dir",
		"max xmit,max packet",
		"root directory,root dir,root",
		"case sensitive,case sig names"
	 );
foreach $s (@synon) {
	foreach $ss (split(/,/ , $s)) {
		$synon{$ss} = $s;
		}
	}


# Default values for samba configuration parameters
%default_values = (	"allow hosts",undef,
			"alternate permissions","no",
			"available","yes",
			"browseable","yes",
			"comment",undef,
			"create mode","755",
			"directory mode","755",
			"default case","lower",
			"case sensitive","no",
			"mangle case","no",
			"preserve case","no",
			"short preserve case","no",
			"delete readonly","no",
			"deny hosts",undef,
			"dont descend",undef,
			"force group",undef,
			"force user",undef,
			"force create mode","000",
			"force directory mode","000",
			"guest account","nobody",	# depends
			"guest only","no",
			"hide dot files","yes",
			"invalid users",undef,
			"locking","yes",
			"lppause command",undef,	# depends
			"lpq command",undef,		# depends
			"lpresume command",undef,	# depends
			"lprm command",undef,		#depends
			"magic output",undef,		# odd..
			"magic script",undef,
			"mangled map",undef,
			"mangled names","yes",
			"mangling char","~",
			"map archive","yes",
			"map system","no",
			"map hidden","no",
			"max connections",0,
			"only user","no",
			"fake oplocks","no",
			"min print space",0,
			"path",undef,
			"postscript","no",
			"preexec",undef,
			"print command",undef,
#			"print command","lpr -r -P %p %s",
			"printer",undef,
			"printer driver",undef,
			"public","no",
			"read list",undef,
			"revalidate","no",
			"root preexec",undef,
			"root postexec",undef,
			"set directory","no",
			"share modes","yes",
			"strict locking","no",
			"sync always","no",
			"user",undef,
			"valid chars",undef,
			"volume",undef,		# depends
			"wide links","yes",
			"wins support","no",
			"writable","no",
			"write list",undef );

# user_list(list)
# Convert a samba unix user list into a more readable form
sub user_list
{
local($u, @rv);
foreach $u (split(/[ \t,]+/ , $_[0])) {
	if ($u =~ /^\@(.*)$/) {
		push(@rv, "group <tt>".&html_escape($1)."</tt>");
		}
	else {
		push(@rv, "<tt>".&html_escape($u)."</tt>");
		}
	}
return join("," , @rv);
}


# yesno_input(name)
# Returns HTML for a true/false option
sub yesno_input
{
($n = $_[0]) =~ s/ /_/g;
return sprintf "<input type=radio name=$n value=yes %s> $text{'yes'}\n".
	       "<input type=radio name=$n value=no %s> $text{'no'}\n",
		&istrue($_[0]) ? "checked" : "",
		&isfalse($_[0]) ? "checked" : "";
}

# username_input(name)
# Outputs HTML for an username field
sub username_input
{
($n = $_[0]) =~ s/ /_/g;
$v = &getval($_[0]);
print "<td><input name=$n size=8 value=\"$v\"> ",
	&user_chooser_button($n, 0),"</td>\n";
}

# username_input(name, default)
sub groupname_input
{
($n = $_[0]) =~ s/ /_/g;
$v = &getval($_[0]);
print "<td><input name=$n size=8 value=\"$v\"> ",
	&group_chooser_button($n, 0),"</td>\n";
}



@sock_opts = ("SO_KEEPALIVE", "SO_REUSEADDR", "SO_BROADCAST", "TCP_NODELAY", 
	      "IPTOS_LOWDELAY", "IPTOS_THROUGHPUT", "SO_SNDBUF*", "SO_RCVBUF*",
	      "SO_SNDLOWAT*", "SO_RCVLOWAT*");

@protocols = ("CORE", "COREPLUS", "LANMAN1", "LANMAN2", "NT1");


# list_users()
# Returns an array of all the users from the samba password file
sub list_users
{
local(@rv, @b, $_, $lnum);
open(PASS, $config{'smb_passwd'});
while(<PASS>) {
	$lnum++;
	chop;
	s/#.*$//g;
	local @b = split(/:/, $_);
	next if (@b < 4);
	local $u = { 'name' => $b[0],  'uid' => $b[1],
		     'pass1' => $b[2], 'pass2' => $b[3] };
	if ($samba_version >= 2 && $b[4] =~ /^\[/) {
		$b[4] =~ s/[\[\] ]//g;
		$u->{'opts'} = [ split(//, $b[4]) ];
		$u->{'change'} = $b[5];
		}
	else {
		$u->{'real'} = $b[4];
		$u->{'home'} = $b[5];
		$u->{'shell'} = $b[6];
		}
	$u->{'index'} = scalar(@rv);
	$u->{'line'} = $lnum-1;
	push(@rv, $u);
	}
close(PASS);
return @rv;
}

# create_user(&user)
# Add a user to the samba password file
sub create_user
{
open(PASS, ">>$config{'smb_passwd'}");
print PASS &user_string($_[0]);
close(PASS);
chown(0, 0, $config{'smb_passwd'});
chmod(0600, $config{'smb_passwd'});
}

# modify_user(&user)
# Change an existing samba user
sub modify_user
{
&replace_file_line($config{'smb_passwd'}, $_[0]->{'line'}, &user_string($_[0]));
}

# delete_user(&user)
# Delete a samba user
sub delete_user
{
&replace_file_line($config{'smb_passwd'}, $_[0]->{'line'});
}

sub user_string
{
local @u = ($_[0]->{'name'}, $_[0]->{'uid'},
	    $_[0]->{'pass1'}, $_[0]->{'pass2'});
if ($_[0]->{'opts'}) {
	push(@u, sprintf "[%-11s]", join("", @{$_[0]->{'opts'}}));
	push(@u, sprintf "LCT-%X", time());
	push(@u, "");
	}
else {
	push(@u, $_[0]->{'real'}, $_[0]->{'home'}, $_[0]->{'shell'});
	}
return join(":", @u)."\n";
}

# set_password(user, password)
# Changes the password of a user in the encrypted password file
sub set_password
{
local($out);
$out = `$config{'samba_password_program'} "$_[0]" "$_[1]" 2>&1 </dev/null`;
return $out =~ /changed/;
}

# is_samba_running()
# Returns 0 if not, 1 if it is, or 2 if run from (x)inetd
sub is_samba_running
{
local ($found_inet, @smbpids, @nmbpids);
if (&foreign_check("inetd")) {
	&foreign_require("inetd", "inetd-lib.pl");
	foreach $inet (&foreign_call("inetd", "list_inets")) {
		$found_inet++ if (($inet->[8] =~ /smbd/ ||
				   $inet->[9] =~ /smbd/) && $inet->[1]);
		}
	}
elsif (&foreign_check("xinetd")) {
	&foreign_require("xinetd", "xinetd-lib.pl");
	foreach $xi (&foreign_call("xinetd", "get_xinetd_config")) {
		local $q = $xi->{'quick'};
		$found_inet++ if ($q->{'disable'}->[0] ne 'yes' &&
				  $q->{'server'}->[0] =~ /smbd/);
		}
	}
@smbpids = &find_byname("smbd");
@nmbpids = &find_byname("nmbd");
return !$found_inet && !@smbpids && !@nmbpids ? 0 :
       !$found_inet ? 1 : 2;
}

# can($permissions_string, \%access, [$sname])
# check global and per-share permissions:
#
# $permissions_string = any exists permissions except 'c' (creation).
# \%access = ref on what get_module_acl() returns.
sub can
{
local ($acl, $stype, @perm);
local ($perm, $acc, $sname) = @_;
@perm  = split(//, $perm);
$sname = $in{'old_name'} || $in{'share'} unless $sname;

{	local %share;
	&get_share($sname); # use local %share
	$stype = &istrue('printable') ? 'ps' : 'fs';
	}

# check global acl (r,w)
foreach (@perm) {
	next if ($_ ne 'r') && ($_ ne 'w');
	return 0 unless $acc->{$_ . '_' . $stype};
	}

# check per-share acl
if ($acc->{'per_' . $stype . '_acls'}) {
    $acl = $acc->{'ACL' . $stype . '_' . $sname};
    foreach (@perm) {
#        next if $_ eq 'c'; # skip creation perms for per-share acls
		return 0 if index($acl, $_) == -1;
		}
	}
return 1;	
}

# save_samba_acl($permissions_string, \%access, $share_name)
sub save_samba_acl
{
local ($p, $a, $s)=@_;
defined(%share) || &get_share($s); # use global %share
local $t=&istrue('printable') ? 'ps' : 'fs';
$a->{'ACL'. $t .'_'. $s} = $p;
#undef($can_cache);
return &save_module_acl($a);
}

# drop_samba_acl(\%access, $share_name)
sub drop_samba_acl
{
local ($a, $s)=@_;
defined(%share) || &get_share($s); # use global %share
local $t=&istrue('printable') ? 'ps' : 'fs';
delete($a->{'ACL'. $t .'_' . $s});
#undef($can_cache);
return &save_module_acl($a);
}

1;

 07070100015ddb000081e40000000000000002000000013d1fe2bf000002d2000000200000000000000000000000000000001a00000003reloc/samba/save_copy.cgi #!/usr/local/bin/perl
# save_copy.cgi
# Create a new, empty share that is a copy of an existing one

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcopy'}") unless $access{'copy'};
 
$whatfailed = $text{'savecopy_fail'};
&lock_file($config{'smb_conf'});
if ($in{"name"} eq "global") {
	&error($text{'savecopy_global'});
	}
if (&indexof($in{"name"}, &list_shares()) >= 0) {
	&error(&text('savecopy_exist', $in{name}));
	}
&setval("copy", $in{copy});
&create_share($in{name});
&unlock_file($config{'smb_conf'});
&webmin_log("copy", undef, $in{'name'}, \%in);
&redirect("");

  07070100015ddc000081e40000000000000002000000013d1fe2bf0000063a000000200000000000000000000000000000001b00000003reloc/samba/save_euser.cgi    #!/usr/local/bin/perl
# save_euser.cgi
# Save an existing samba user

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmusers'}")
        unless $access{'maint_users'} && $access{'view_users'};
# save		
$whatfailed = $text{'saveuser_fail'};
&lock_file($config{'smb_passwd'});
@list = &list_users();
$u = $list[$in{'idx'}];

# check inputs
$in{'uid'} =~ /^\d+$/ || &error(&text('saveuser_uid', $in{'uid'}));
$u->{'uid'} = $in{'uid'};
if ($in{'new'}) {
	$u->{'opts'} = [ split(/\0/, $in{'opts'}) ];
	}
else {
	$in{'realname'} !~ /:/ ||
		&error($text{'saveuser_colon'});
	(-d $in{'homedir'}) ||
		&error(&text('saveuser_home', $in{'homedir'}));
	(-x $in{'shell'}) || &error(&text('saveuser_shell', $in{'shell'}));
	$u->{'home'} = $in{'homedir'};
	$u->{'shell'} = $in{'shell'};
	$u->{'real'} = $in{'realname'};
	}

# apply changes
if ($in{ptype} == 0) {
	$u->{'pass1'} = $u->{'$pass2'} = ("X" x 32);
	}
elsif ($in{ptype} == 1) {
	$u->{'pass1'} = "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX";
	$u->{'pass2'} = ("X" x 32);
	}
elsif ($in{ptype} == 3) {
	# changing password.. need to set later with smbpasswd
	$u->{'pass1'} = $u->{'$pass2'} = ("X" x 32);
	$set_passwd = 1;
	}
&modify_user($u);

# Call password change program if necessary
if ($set_passwd) {
	&set_password($u->{'name'}, $in{'pass'}) ||
		&error(&text('saveuser_pass', $error));
	}
&unlock_file($config{'smb_passwd'});
&webmin_log("save", "euser", $u->{'name'}, $u);

&redirect("edit_epass.cgi");

  07070100015ddd000081e40000000000000002000000013d1fe2bd00000562000000200000000000000000000000000000001b00000003reloc/samba/save_fmisc.cgi    #!/usr/local/bin/perl
# save_fmisc.cgi
# Save a misc options for a file share

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pufmisc'}")
            unless &can('rwoO', \%access, $in{old_name});
# save
$whatfailed = $text{'savefmisc_fail'};
# Random options
&setval("mangled map", $in{mangled_map});
&setval("locking", $in{locking});
if ($in{max_connections_def}) { &setval("max connections", 0); }
else {
	($in{max_connections} =~ /^\d+$/ && $in{max_connections} > 0) ||
		&error(&text('savefmisc_number', $in{max_connections}));
	&setval("max connections", $in{max_connections});
	}
&setval("fake oplocks", $in{fake_oplocks});
&setval("share modes", $in{share_modes});
&setval("strict locking", $in{strict_locking});
&setval("sync always", $in{sync_always});
&setval("volume", $in{volume_def} ? "" : $in{volume});
&setval("preexec", $in{preexec});
&setval("postexec", $in{postexec});
&setval("root preexec", $in{root_preexec});
&setval("root postexec", $in{root_postexec});

&modify_share($in{old_name}, $in{old_name});
&unlock_file($config{'smb_conf'});
&webmin_log("save", "fmisc", $in{old_name}, \%in);
&redirect("edit_fshare.cgi?share=".&urlize($in{old_name}));

  07070100015dde000081e40000000000000002000000013d1fe2be0000042f000000200000000000000000000000000000001b00000003reloc/samba/save_fname.cgi    #!/usr/local/bin/perl
# save_fname.cgi
# Save file naming options

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pufname'}")
            unless &can('rwnN', \%access, $in{old_name});
# save
$whatfailed = $text{'error_savename'};
# File nameing options
&setval("mangle case", $in{mangle_case});
&setval("case sensitive", $in{case_sensitive});
&setval("default case", $in{default_case}, "lower");
&setval("preserve case", $in{preserve_case});
&setval("short preserve case", $in{short_preserve_case});
&setval("hide dot files", $in{hide_dot_files});
&setval("map archive", $in{map_archive});
&setval("map hidden", $in{map_hidden});
&setval("map system", $in{map_system});

&modify_share($in{old_name}, $in{old_name});
&unlock_file($config{'smb_conf'});
&webmin_log("save", "fname", $in{old_name}, \%in);
&redirect("edit_fshare.cgi?share=".&urlize($in{old_name}));

 07070100015ddf000081e40000000000000002000000013d1fe2bd00000491000000200000000000000000000000000000001b00000003reloc/samba/save_fperm.cgi    #!/usr/local/bin/perl
# save_fperm.cgi
# Save file permissions options

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pufperm'}")
            unless &can('rwpP', \%access, $in{old_name});
# save
$whatfailed = $text{'savefperm_fail'};
# File nameing options
$in{create_mode} =~ /^0?[0-7]{3}$/ ||
	&error(&text('savefperm_mode', $in{create_mode}));
&setval("create mode", $in{create_mode});
&setval("directory mode", $in{directory_mode});
&setval("force create mode", $in{force_create_mode});
&setval("force directory mode", $in{force_directory_mode});
&setval("delete readonly", $in{delete_readonly});
&setval("dont descend", $in{dont_descend});
&setval("force user", $in{force_user});
&setval("force group", $in{force_group});
&setval("wide links", $in{wide_links});

&modify_share($in{old_name}, $in{old_name});
&unlock_file($config{'smb_conf'});
&webmin_log("save", "fperm", $in{old_name}, \%in);
&redirect("edit_fshare.cgi?share=".&urlize($in{old_name}));

   07070100015de0000081e40000000000000002000000013d1fe2bd00000776000000200000000000000000000000000000001c00000003reloc/samba/save_fshare.cgi   #!/usr/local/bin/perl
# save_fshare.cgi
# Save a new or edited file share

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name}) if $in{old_name};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{old_name}) {
    &error("$text{'eacl_np'} $text{'eacl_pus'}") 
		unless &can('rw', \%access, $in{old_name});
	}
else {
    &error("$text{'eacl_np'} $text{'eacl_pcrs'}") unless $access{'c_fs'};
	}

$whatfailed = $text{'savefshare_fail'};
# store share options
if ($in{old_name} eq "global") {
	$name = "global";
	}
else {
	$name = $in{"homes"} ? "homes" : $in{"share"};
	if ($in{"path"} !~ /\S/ && !$in{"homes"}) {
		&error($text{'savefshare_nopath'});
		}
	}
&setval("path", $in{"path"});
&setval("available", $in{"available"});
&setval("browseable", $in{"browseable"});
&setval("comment", $in{"comment"});

# Check for clash
if ($name ne "global") {
	foreach (&list_shares()) {
		$exists{$_}++;
		}
	if (!$in{old_name} && $exists{$name}) {
		&error(&text('savefshare_exist', $name));
		}
	elsif ($in{old_name} ne $name && $exists{$name}) {
		&error(&text('savefshare_exist', $name));
		}
	elsif ($name !~ /^[A-z0-9_\$ ]+$/) {
		&error(&text('savefshare_mode', $name));
		}
	elsif ($name eq "global") {   # unreachable code ? EB
		&error($text{'savefshare_global'});
		}
	}

# Update config file
if ($in{old_name}) {
	# Changing an existing share
	&modify_share($in{old_name}, $name);
	if ($name ne $in{old_name}) {
		local $oldacl=$access{'ACLfs_' . $in{old_name}};
		&drop_samba_acl(\%access, $in{old_name});
		&save_samba_acl($oldacl, \%access, $name);
		}
	}
else {
	# Creating a new share
	&create_share($name);
	&save_samba_acl('rwvVsSpPnNoO', \%access, $name);
	}
&unlock_file($config{'smb_conf'});
&webmin_log($in{old_name} ? "save" : "create", "fshare", $name, \%in);
&redirect("");
  07070100015de1000081e40000000000000002000000013d1fe2bf00000870000000200000000000000000000000000000001a00000003reloc/samba/save_misc.cgi #!/usr/local/bin/perl
# save_misc.cgi
# Save inputs from conf_misc.cgi

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
$global = &get_share("global");

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcm'}") unless $access{'conf_misc'};
 
$whatfailed = $text{'savemisc_fail'};
&setval("debug level", $in{debug_level}, "");

&setval("getwd cache", $in{getwd_cache}, "no");

if (!$in{lock_directory_def} && !(-d &parent_dir($in{lock_directory}))) {
	&error($text{'savemisc_lockdir'});
	}
&setval("lock directory", $in{lock_directory_def}?"":$in{lock_directory}, "");

if (!$in{log_file_def} && !(-d &parent_dir($in{log_file}))) {
	&error($text{'savemisc_logdir'});
	}
&setval("log file", $in{log_file_def} ? "" : $in{log_file}, "");

if (!$in{max_log_size_def} && $in{max_log_size} !~ /^\d+$/) {
	&error(&text('savemisc_logsize',$in{max_log_size}));
	}
&setval("max log size", $in{max_log_size_def} ? 0 : $in{max_log_size}, 0);

&setval("read raw", $in{read_raw}, "yes");

&setval("write raw", $in{write_raw}, "yes");

if (!$in{read_size_def} && $in{read_size} !~ /^\d+$/) {
	&error(&text('savemisc_overlap',$in{read_size}));
	}
&setval("read size", $in{read_size_def} ? 0 : $in{read_size}, 0);

if (!$in{root_directory_def} && !(-d $in{root_directory})) {
	&error(&text('savemisc_chroot', $in{root_directory}));
	}
&setval("root directory", $in{root_directory_def}?"":$in{root_directory}, "");

if (!$in{smbrun_def} && !(-x $in{smbrun})) {
	&error(&text('savemisc_smbrun', $in{smbrun}));
	}
&setval("smbrun", $in{smbrun_def} ? "" : $in{smbrun}, "");

if (!$in{time_offset_def} && $in{time_offset} !~ /^\d+$/) {
	&error(&text('savemisc_time',$in{time_offset}));
	}
&setval("time offset", $in{time_offset_def} ? 0 : $in{time_offset}, 0);

&setval("read prediction", $in{read_prediction}, "no");

if ($global) { &modify_share("global", "global"); }
else { &create_share("global"); }
&unlock_file($config{'smb_conf'});
&webmin_log("misc", undef, undef, \%in);
&redirect("");

sub parent_dir
{
$_[0] =~ /^(.*\/)[^\/]+$/; return $1;
}
07070100015de2000081e40000000000000002000000013d1fe2bf000007d8000000200000000000000000000000000000001900000003reloc/samba/save_net.cgi  #!/usr/local/bin/perl
# save_net.cgi
# Save inputs from conf_net.cgi

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
$global = &get_share("global");

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcn'}") unless $access{'conf_net'};

$whatfailed = $text{'savenet_fail'};
if (!$in{dead_time_def} && $in{dead_time} !~ /^\d+$/) {
	&error(&text('savenet_timeout', $in{dead_time}));
	}
&setval("dead time", $in{dead_time_def} ? 0 : $in{dead_time}, 0);

&setval("hosts equiv", $in{hosts_equiv_def} ? "" : $in{hosts_equiv}, "");

if ($in{interfaces_def}) { &delval("interfaces"); }
else {
	for($i=0; defined($in{"interface_ip$i"}); $i++) {
		if ($in{"interface_ip$i"} !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)
			{ next; }
		@ip = ($1, $2, $3, $4);
		if ($in{"interface_nm$i"} !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/)
			{ next; }
		@nm = ($1, $2, $3, $4);
		foreach $j (@ip, @nm) {
			if ($j < 0 || $j > 255) {
				&error(&text('savenet_ip', $j));
				}
			}
		push(@ifaces, join('.',@ip)."/".join('.',@nm));
		}
	&setval("interfaces", join(' ', @ifaces), "");
	}

if (!$in{keepalive_def} && $in{keepalive} !~ /^\d+$/) {
	&error(&text('savenet_keep', $in{keepalive}));
	}
&setval("keepalive", $in{keepalive_def} ? 0 : $in{keepalive}, 0);

if (!$in{max_xmit_def} && $in{max_xmit} !~ /^\d+$/) {
	&error(&text('savenet_maxxmit', $in{max_xmit}));
	}
&setval("max xmit", $in{max_xmit_def} ? 0 : $in{max_xmit}, 0);

&setval("socket address",
	$in{socket_address_def} ? "" : $in{socket_address}, "");

foreach (@sock_opts) {
	/^([A-Z\_]+)(.*)$/;
	if ($2 eq "*") {
		if ($in{$1}) { push(@sopts, "$1=".$in{"$1_val"}); }
		}
	else {
		if ($in{$1}) { push(@sopts, $1); }
		}
	}
&setval("socket options", join(' ',@sopts), "");

if ($global) { &modify_share("global", "global"); }
else { &create_share("global"); }
&unlock_file($config{'smb_conf'});
&webmin_log("net", undef, undef, \%in);
&redirect("");

07070100015de3000081e40000000000000002000000013d1fe2bd00000944000000200000000000000000000000000000001a00000003reloc/samba/save_pass.cgi #!/usr/local/bin/perl
# save_pass.cgi
# Save inputs from conf_pass.cgi

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
$global = &get_share("global");

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcp'}") unless $access{'conf_pass'};

$whatfailed = $text{'savepass_fail'};
$nopass = (`$config{samba_password_program} 2>&1 </dev/null` =~ /encryption not selected/);
if ($in{encrypt_passwords} eq "yes" && $nopass) {
	&error($text{'savepass_nopass'});
	}
&setval("encrypt passwords", $in{encrypt_passwords}, "no");

&setval("null passwords", $in{null_passwords}, "no");

if (!$in{passwd_program_def} && !$in{passwd_program}) {
	&error($text{'savepass_passwd'});
	}
&setval("passwd program", $in{passwd_program_def}?"":$in{passwd_program}, "");

$in{password_level} =~ /^\d+$/ ||
	&error(&text('savepass_level', $in{password_level}));
&setval("password level", $in{password_level}, 0);

if ($in{passwd_chat_def}) { &delval("passwd chat"); }
else {
	for($i=0; defined($in{"chat_recv_$i"}); $i++) {
		push(@chat, $in{"chat_recv_$i"});
		push(@chat, $in{"chat_send_$i"});
		}
	$clast = -1;
	for($i=0; $i<@chat; $i++) {
		if ($chat[$i] =~ /\S/) { $clast = $i; }
		}
	if ($clast < 0) {
		&error($text{'savepass_chat'});
		}
	@chat = @chat[0 .. $clast];
	@chat = map { /^$/ ? "." : /^\S+$/ ? $_ : "\"$_\""; } @chat;
	&setval("passwd chat", join(' ', @chat));
	}

$mapfile = &getval("username map");
if ($in{username_map_def}) { &delval("username map"); }
else {
	if (!$mapfile) {
		$config{smb_conf} =~ /^(.*)\/[^\/]+$/;
		$mapfile = "$1/user.map";
		}
	&setval("username map", $mapfile);
	for($i=0; defined($in{"umap_unix_$i"}); $i++) {
		if ($in{"umap_unix_$i"} =~ /\S/ && $in{"umap_win_$i"} =~ /\S/) {
			if ($in{"umap_win_$i"} =~ /\s/) {
				push(@umap, $in{"umap_unix_$i"}."=\"".
					    $in{"umap_win_$i"}."\"");
				}
			else {
				push(@umap, $in{"umap_unix_$i"}."=".
					    $in{"umap_win_$i"});
				}
			}
		}
	&lock_file($mapfile);
	open(UMAP, "> $mapfile");
	foreach $line (@umap) {
		print UMAP "$line\n";
		}
	close(UMAP);
	&unlock_file($mapfile);
	}

if ($global) { &modify_share("global", "global"); }
else { &create_share("global"); }
&unlock_file($config{'smb_conf'});
&webmin_log("pass", undef, undef, \%in);
&redirect("");

07070100015de4000081e40000000000000002000000013d1fe2be00000508000000200000000000000000000000000000001b00000003reloc/samba/save_popts.cgi    #!/usr/local/bin/perl
# save_popts.cgi
# Save printer options

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{'old_name'});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pupopt'}")
  		unless &can('rwoO', \%access, $in{old_name});
# save
$whatfailed = $text{'savepopts_fail'};
# printer options
$in{min_print_space} =~ /^\d+$/ ||
	&error($text{'savepopts_number'});
&setval("min print space", $in{min_print_space});
&setval("postscript", $in{postscript});
&setval("print command", $in{print_command_def} ? "" : $in{print_command});
&setval("lpq command", $in{lpq_command_def} ? "" : $in{lpq_command});
&setval("lprm command", $in{lprm_command_def} ? "" : $in{lprm_command});
&setval("lppause command",
	$in{lppause_command_def} ? "" : $in{lppause_command});
&setval("lpresume command",
	$in{lpresume_command_def} ? "" : $in{lpresume_command});
&setval("printer driver",
	$in{printer_driver_def} ? "" : $in{printer_driver});

# Update config file
&modify_share($in{old_name}, $in{old_name});
&unlock_file($config{'smb_conf'});
&webmin_log("save", "popts", $in{old_name}, \%in);
&redirect("edit_pshare.cgi?share=".&urlize($in{old_name}));

07070100015de5000081e40000000000000002000000013d1fe2bf000003d1000000200000000000000000000000000000001b00000003reloc/samba/save_print.cgi    #!/usr/local/bin/perl
# save_print.cgi
# Save inputs from conf_print.cgi

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
$global = &get_share("global");

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcprint'}") unless $access{'conf_print'};
 
$whatfailed = $text{'saveprint_fail'};
&setval("printing", $in{printing}, "");

&setval("load printers", $in{load_printers}, "no");

&setval("printcap name", $in{printcap_name_def} ? "" : $in{printcap_name}, "");

if (!$in{lpq_cache_time_def} && $in{lpq_cache_time} !~ /^\d+$/) {
	&error(&text('saveprint_cache', $in{lpq_cache_time}));
	}
&setval("lpq cache time", $in{lpq_cache_time_def} ? 0 : $in{lpq_cache_time}, 0);

if ($global) { &modify_share("global", "global"); }
else { &create_share("global"); }
&unlock_file($config{'smb_conf'});
&webmin_log("print", undef, undef, \%in);
&redirect("");
   07070100015de6000081e40000000000000002000000013d1fe2be000007ff000000200000000000000000000000000000001c00000003reloc/samba/save_pshare.cgi   #!/usr/local/bin/perl
# save_pshare.cgi
# Save a new or edited printer share

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name}) if $in{old_name};

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{old_name}) {
    &error("$text{'eacl_np'} $text{'eacl_pus'}") 
		unless &can('rw', \%access, $in{old_name});
    }
else {
    &error("$text{'eacl_np'} $text{'eacl_pcrs'}") unless $access{'c_ps'};
    }

$whatfailed = $text{'savepshare_fail'};
if ($in{old_name} eq "global") {
	$name = "global";
	}
else {
	# store share options
	$name = $in{printers} ? "printers" : $in{"share"};
	}
#if ($in{"path"} !~ /\S/ && !$in{"printers"}) {
#	&error("No spool directory given");
#	}
&setval("printer", $in{"printer"});
&setval("path", $in{"path"});
&setval("available", $in{"available"});
&setval("browseable", $in{"browseable"});
if ($name ne "global") { &setval("printable", "yes"); }
&setval("comment", $in{"comment"});

# Check for clash
if ($name ne "global") {
	foreach (&list_shares()) {
	        $exists{$_}++;
	        }
	if (!$in{old_name} && $exists{$name}) {
	        &error(&text('savepshare_exist', $name));
	        }
	elsif ($in{old_name} ne $name && $exists{$name}) {
	        &error(&text('savepshare_exist', $name));
	        }
	elsif ($name !~ /^[A-z0-9_\$ ]+$/) {
		&error(&text('savepshare_name', $name));
		}
	elsif ($name eq "global") {
		&error($text{'savepshare_global'});
		}
	}

# Update config file
if ($in{old_name}) {
	# Changing an existing share
	&modify_share($in{old_name}, $name);
	if ($name ne $in{old_name}) {
		local $oldacl=$access{'ACLps_' . $in{old_name}};
		&drop_samba_acl(\%access, $in{old_name});
		&save_samba_acl($oldacl, \%access, $name);
	    }
    }
else {
    # Creating a new share
    &create_share($name);
	&save_samba_acl('rwvVsSoO', \%access, $name);
    }
&unlock_file($config{'smb_conf'});
&webmin_log($in{old_name} ? "save" : "create", "pshare", $name, \%in);
&redirect("");

 07070100015de7000081e40000000000000002000000013d1fe2bd000008b1000000200000000000000000000000000000001900000003reloc/samba/save_sec.cgi  #!/usr/local/bin/perl
# save_sec.cgi
# Save secuirty options for a share

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
&get_share($in{old_name});

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pusec'}")
	        unless &can('rwsS', \%access, $in{old_name});
# save				
$whatfailed = $text{'savesec_fail'};
&delval("read only");
&setval("writable", $in{writable});
if ($in{guest} == 0) {
	&delval("public"); &delval("guest only");
	}
elsif ($in{guest} == 1) {
	&setval("public", "yes"); &delval("guest only");
	}
else {
	&setval("public", "yes"); &setval("guest only", "yes");
	}
&setval("valid users",
	join(',', &split_input($in{'valid_users_u'}),
		  &split_input($in{'valid_users_g'}, '@')));
&setval("invalid users",
	join(',', &split_input($in{'invalid_users_u'}),
		  &split_input($in{'invalid_users_g'}, '@')));
&setval("user",
	join(',', &split_input($in{'user_u'}),
		  &split_input($in{'user_g'}, '@')));
&setval("read list",
	join(',', &split_input($in{'read_list_u'}),
		  &split_input($in{'read_list_g'}, '@')));
&setval("write list",
	join(',', &split_input($in{'write_list_u'}),
		  &split_input($in{'write_list_g'}, '@')));
if (!$in{allow_hosts_all} && $in{allow_hosts} =~ /\S/) {
	&setval("allow hosts", $in{allow_hosts});
	}
else { &delval("allow hosts"); }
if (!$in{deny_hosts_all} && $in{deny_hosts} =~ /\S/) {
	&setval("deny hosts", $in{deny_hosts});
	}
else { &delval("deny hosts"); }
&setval("guest account", $in{guest_account});
&setval("only user", $in{only_user});
&setval("revalidate", $in{revalidate});

&modify_share($in{old_name}, $in{old_name});
&unlock_file($config{'smb_conf'});
&webmin_log("save", "sec", $in{old_name}, \%in);
# the follwing have bug !!!: not work with global share. EB
if (&istrue("printable"))
	{ &redirect("edit_pshare.cgi?share=".&urlize($in{old_name})); }
else
	{ &redirect("edit_fshare.cgi?share=".&urlize($in{old_name})); }

# split_input(string, [prepend])
sub split_input
{
local @rv;
local $str = $_[0];
while($str =~ /^\s*(\S*"[^"]+"\S*)(.*)$/ || $str =~ /^\s*(\S+)(.*)$/) {
	push(@rv, $_[1].$1);
	$str = $2;
	}
return @rv;
}

   07070100015de8000081e40000000000000002000000013d1fe2be000008b8000000200000000000000000000000000000001900000003reloc/samba/save_smb.cgi  #!/usr/local/bin/perl
# save_net.cgi
# Save inputs from conf_net.cgi

require './samba-lib.pl';
&ReadParse();
&lock_file($config{'smb_conf'});
$global = &get_share("global");

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcs'}") unless $access{'conf_smb'};

$whatfailed = $text{'savesmb_fail'};
&setval("workgroup", $in{workgroup_def} ? "" : $in{workgroup}, "");

if ($in{'wins'} == 0) {
	&delval("wins server");
	&setval("wins support", "true");
	}
elsif ($in{'wins'} == 1) {
	&setval("wins support", "false");
	&setval("wins server", $in{'wins_server'}, "");
	}
else {
	&delval("wins server");
	&setval("wins support", "false");
	}

&setval("server string", $in{server_string_def} ? "" : $in{server_string}, "");

&setval("netbios name", $in{'netbios_name'}, "");

&setval("netbios aliases", $in{'netbios_aliases'}, "");

&setval("default", $in{default}, "");

&setval("auto services", join(' ', split(/\0/, $in{auto_services})), "");

if (!$in{max_disk_size_def} && $in{max_disk_size} !~ /^\d+$/) {
	&error(&text('savesmb_size', $in{max_disk_size}));
	}
&setval("max disk size", $in{max_disk_size_def} ? 0 : $in{max_disk_size}, 0);

&setval("message command", $in{message_command}, "");

$in{os_level} =~ /^\d+$/ ||
	&error(&text('savesmb_oslevel', $in{os_level}));
&setval("os level", $in{os_level}, 0);

&setval("protocol", $in{protocol}, "");

&setval("preferred master", $in{preferred_master}, "yes");

&setval("security", $in{security}, "");

if ($in{security} eq "server" && $in{password_server} !~ /\S/) {
	&error($text{'savesmb_server'});
	}
&setval("password server", $in{password_server}, "");

if ($in{remote_def}) { &delval("remote announce"); }
else {
	for($i=0; defined($in{"remote_ip$i"}); $i++) {
		if ($in{"remote_ip$i"} !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)/)
			{ next; }
		push(@rem, $in{"remote_ip$i"} .
		   ($in{"remote_wg$i"} =~ /\S/ ? "/".$in{"remote_wg$i"} : ""));
		}
	&setval("remote announce", join(' ', @rem), "");
	}

if ($global) { &modify_share("global", "global"); }
else { &create_share("global"); }
&unlock_file($config{'smb_conf'});
&webmin_log("smb", undef, undef, \%in);
&redirect("");

07070100015de9000081e40000000000000002000000013d1fe2be00000286000000200000000000000000000000000000001a00000003reloc/samba/save_sync.cgi #!/usr/local/bin/perl
# save_sync.cgi
# Save unix-samba synchronisation options

require './samba-lib.pl';
&ReadParse();
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pmsync'}")
        unless $access{'maint_sync'};
# save
&lock_file("$module_config_directory/config");
foreach $s ("add", "change", "delete") {
	if ($in{$s}) { $config{"sync_$s"} = 1; }
	else { delete($config{"sync_$s"}); }
	}
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&webmin_log("sync");
&redirect("");

  07070100015dea000081e40000000000000002000000013d1fe2bf0000031a000000200000000000000000000000000000001600000003reloc/samba/start.cgi #!/usr/local/bin/perl
# start.cgi
# Attempt to start the smbd and nmbd processes

require './samba-lib.pl';
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_papply'}") unless $access{'apply'};
 
&error_setup($text{'start_err'});

if ($config{'start_cmd'}) {
	$rv = &system_logged("$config{'start_cmd'} >/dev/null 2>&1 </dev/null");
	if ($rv) { &error(&text('start_fail', $config{'start_cmd'})); }
	}
else {
	$rv = &system_logged("$config{samba_server} -D </dev/null");
	if ($rv) { &error(&text('start_fail', $config{samba_server})); }
	$rv = &system_logged("$config{name_server} -D </dev/null");
	if ($rv) { &error(&text('start_fail', $config{name_server})); }
	}
&webmin_log("start");
&redirect("");

  07070100015deb000081e40000000000000002000000013d1fe2bd00000dd3000000200000000000000000000000000000001500000003reloc/samba/swat.cgi  #!/usr/local/bin/perl
# swat.cgi
# Pass everything to samba's SWAT tool

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcswat'}") unless $access{'swat'};

# Check is hosts allow is in force
&get_share("global");
if (&getval('allow hosts')) {
	&header($text{'error'}, "");
	print "<hr>\n";
	print "<p>", &text('swat_msg3', $text{'sec_onlyallow'}), "<p>\n";
	&foreign_require("inetd", "inetd-lib.pl");
	local @inets = &foreign_call("inetd", "list_inets");
	foreach $i (@inets) {
		if ($i->[3] eq 'swat' && $i->[1]) {
			# swat is configured in inetd!
			local $p = getservbyname('swat', 'tcp');
			$url = "http://$ENV{'SERVER_NAME'}:$p/";
			print &text('swat_msg4', "<a href='$url'>$url</a>"), "<p>\n";
			}
		}
	print "<hr>\n";
	&footer("", $text{'index_sharelist'});
	exit;
	}

# Check if we have the password
&read_file("$module_config_directory/swat", \%swat) || &ask_password();

# Execute SWAT process
pipe(OUTr, OUTw);
pipe(INr, INw);
local $pid = fork();
if (!$pid) {
	untie(*STDIN);
	untie(*STDOUT);
	untie(*STDERR);
	open(STDIN, "<&INr");
	open(STDOUT, ">&OUTw");
	open(STDERR, ">&OUTw");
	close(OUTr); close(INw);
	undef %ENV;
	exec($config{'swat_path'});
	print "Exec failed : $!\n";
	exit 1;
	}
close(OUTw); close(INr);

# Feed HTTP request and read output
$auth = &encode_base64("$swat{'user'}:$swat{'pass'}");
$auth =~ s/\n//g;
select(INw); $| = 1; select(STDOUT);
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
	print INw "GET $ENV{'PATH_INFO'}?$in HTTP/1.0\n";
	print INw "Authorization: basic $auth\n";
	print INw "\n";
	}
else {
	print INw "POST $ENV{'PATH_INFO'} HTTP/1.0\r\n";
	print INw "Authorization: basic $auth\r\n";
	print INw "Content-length: ",length($in),"\r\n";
	print INw "Content-type: application/x-www-form-urlencoded\r\n";
	print INw "\r\n",$in;
	}
close(INw);
$reply = <OUTr>;
if ($reply =~ /\s401\s/) {
	&ask_password();
	}
if ($ENV{'PATH_INFO'} =~ /\.(gif|jpg|jpeg|png)$/i) {
	# An image .. just output it
	while(<OUTr>) { print; }
	}
else {
	# An HTML page .. fix up links
	$url = "/$module_name/swat.cgi";
	while(<OUTr>) {
		s/src="(\/[^"]*)"/src="$url$1"/gi;
		s/href="(\/[^"]*)"/href="$url$1"/gi;
		s/action="(\/[^"]*)"/action="$url$1"/gi;
		s/"(\/status?[^"]*)"/"$url$1"/gi;
		print $_ if (!/<\/body>/i && !/<\/html>/i);
		}
	print "<hr>\n";
	print "<table width=100% cellpadding=0 cellspacing=0><tr><td>\n";
	&footer("/$module_name/", $text{'index_sharelist'}, 1);
	print "</td> <td align=right><a href='/$module_name/logout.cgi'>",
	      "$text{'swat_logout'}</a></td> </tr></table></body></html>\n";
	}

sub ask_password
{
&header($text{'swat_title'}, "");
print "<hr>\n";
if (%swat) {
	print $text{'swat_msg1'}, " <br>\n";
	}
else {
	print $text{'swat_msg2'}, " <br>\n";
	}
print "<form action=swat_save.cgi>\n";
print "<center><table border>\n";
print "<tr $tb> <td><b>$text{'swat_list'}</b></td> </tr>\n";
print "<tr $cb> <td><table cellpadding=2>\n";
print "<tr> <td><b>$text{'swat_username'}</b></td>\n";
print "<td><input name=user size=20 value='$swat{'user'}'></td> </tr>\n";
print "<tr> <td><b>$text{'swat_password'}</b></td>\n";
print "<td><input name=pass size=20 type=password></td> </tr>\n";
print "</table></td></tr></table>\n";
print "<input type=submit value=\"", $text{'swat_login'},
      "\"> <input type=reset value=\"", $text{'swat_clear'}, "\">\n";
print "</center></form><hr>\n";
&footer("", $text{'index_sharelist'});
exit;
}

 07070100015dec000081e40000000000000002000000013d1fe2bd0000023e000000200000000000000000000000000000001a00000003reloc/samba/swat_save.cgi #!/usr/local/bin/perl
# swat_save.cgi
# Save the entered SWAT username and password

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
&error("$text{'eacl_np'} $text{'eacl_pcswat'}") unless $access{'swat'};
 
$whatfailed = $text{'swats_fail'};
$in{'user'} || &error($text{'swats_user'});
&write_file("$module_config_directory/swat", { 'user' => $in{'user'},
					       'pass' => $in{'pass'} });
chmod(0600, "$module_config_directory/swat");
&redirect("swat.cgi");

  07070100015ded000081a40000000000000002000000013d1fe2bd000009d5000000200000000000000000000000000000002000000003reloc/samba/useradmin_update.pl   
do 'samba-lib.pl';

# useradmin_create_user(&details)
# Create a new samba user if sync is enabled
sub useradmin_create_user
{
&get_share("global");
if (&istrue("encrypt passwords") && $config{'smb_passwd'} &&
    $config{'sync_add'} && !&get_user($_[0]->{'user'})) {
	# Add a user to smbpasswd
	&lock_file($config{'smb_passwd'});
	local $u = { 'name' => $_[0]->{'user'},
		     'uid' => $_[0]->{'uid'} };
	if ($samba_version >= 2) {
		local @opts = ("U");
		push(@opts, "N") if ($_[0]->{'passmode'} == 0);
		push(@opts, "D") if ($_[0]->{'passmode'} == 1);
		$u->{'opts'} = \@opts;
		}
	else {
		$u->{'real'} = $_[0]->{'real'};
		$u->{'home'} = $_[0]->{'home'};
		$u->{'shell'} = $_[0]->{'shell'};
		}
	$u->{'pass1'} = $u->{'pass2'} = ("X" x 32);
	if ($_[0]->{'passmode'} == 0)
		{ $u->{'pass1'} = "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX"; }
	&create_user($u);
	if ($_[0]->{'passmode'} == 3)
		{ &set_password($_[0]->{'user'}, $_[0]->{'plainpass'}); }
	&unlock_file($config{'smb_passwd'});
	}
}

# useradmin_delete_user(&details)
# Delete a samba user
sub useradmin_delete_user
{
&get_share("global");
if (&istrue("encrypt passwords") && $config{'smb_passwd'} &&
    $config{'sync_delete'} && ($u = &get_user($_[0]->{'user'}))) {
	# Delete the user
	&lock_file($config{'smb_passwd'});
	&delete_user($u);
	&unlock_file($config{'smb_passwd'});
	}
}

# useradmin_modify_user(&details)
# Update a samba user
sub useradmin_modify_user
{
&get_share("global");
if (&istrue("encrypt passwords") && $config{'smb_passwd'} &&
    $config{'sync_change'} && ($u = &get_user($_[0]->{'olduser'}))) {
	# Update details
	&lock_file($config{'smb_passwd'});
	$u->{'uid'} = $_[0]->{'uid'};
	$u->{'name'} = $_[0]->{'user'};
	if ($u->{'opts'}) {
		local @opts = grep { !/[ND]/ } @{$u->{'opts'}};
		push(@opts, "N") if ($_[0]->{'passmode'} == 0);
		push(@opts, "D") if ($_[0]->{'passmode'} == 1);
		$u->{'opts'} = \@opts;
		}
	else {
		$u->{'real'} = $_[0]->{'real'};
		$u->{'home'} = $_[0]->{'home'};
		$u->{'shell'} = $_[0]->{'shell'};
		}
	if ($_[0]->{'passmode'} == 0) {
		$u->{'pass1'} = "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX";
		$u->{'pass2'} = ("X" x 32);
		}
	elsif ($_[0]->{'passmode'} == 1) {
		$u->{'pass1'} = $u->{'pass2'} = ("X" x 32);
		}
	&modify_user($u);
	if ($_[0]->{'passmode'} == 3) {
		&set_password($_[0]->{'user'}, $_[0]->{'plainpass'});
		}
	&unlock_file($config{'smb_passwd'});
	}
}

sub get_user
{
local @ulist = &list_users();
local $u;
foreach $u (@ulist) {
	return $u if ($u->{'name'} eq $_[0]);
	}
return undef;
}

1;

   07070100015dee000081e40000000000000002000000013d1fe2bf000008e9000000200000000000000000000000000000001b00000003reloc/samba/view_users.cgi    #!/usr/local/bin/perl
# view_users.cgi
# Display users connected to a share

require './samba-lib.pl';
&ReadParse();

# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{share}) { # this may be cracked very easy, don't know how to do better :    # per-share acls ...
    # per-share acls ...
	&error("$text{'eacl_np'} $text{'eacl_pconn'}") 
		unless &can('rv',\%access, $in{share});
	}
else {
	&error("$text{'eacl_np'} $text{'eacl_pconn_all'}") 
		unless $access{'view_all_con'};
	} 
&header($text{'viewu_index'}, "");
print "<hr>\n";

if ($in{share}) {
	print "<h3>",&text('viewu_list',"<i>$in{share}</i>"),"</h3>\n";
	@cons = &list_connections($in{'share'});
	}
else { @cons = &list_connections(); }
@locks = &list_locks();

if (@cons) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'viewu_pid'}</b></td>\n";
	if (!$in{'share'}) { print "<td><b>$text{'viewu_share'}</b></td>\n"; }
	print "<td><b>$text{'viewu_user'}</b></td>\n";
	print "<td><b>$text{'viewu_group'}</b></td>\n";
	print "<td><b>$text{'viewu_from'}</b></td>\n";
	print "<td><b>$text{'viewu_time'}</b></td>\n";
	print "<td><b>$text{'viewu_locks'}</b></td> </tr>\n";
	foreach $c (@cons) {
		print "<tr $cb>\n";
		print "<td><a href=\"kill_user.cgi?share=$in{'share'}&pid=$c->[3]\">",&html_escape($c->[3]),"</a></td>\n";
		if (!$in{'share'})
			{ print "<td>",&html_escape($c->[0]),"</td>\n"; }
		print "<td>",&html_escape($c->[1]),"</td> <td>",
		      &html_escape($c->[2]),"</td>\n";
		print "<td>",&html_escape($c->[4]),"</td> <td>",
		      &html_escape($c->[5]),"</td>\n";
		print "<td>\n";
		@ulocks = grep { $_->[0] == $c->[3] } @locks;
		foreach $l (@ulocks) {
			print &html_escape($l->[4])," (",
			      &html_escape($l->[1]),")<br>\n";
			}
		print $text{'viewu_none'} if (!@ulocks);
		print "</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	print $text{'viewu_msg1'}, "<br>\n";
	}
else {
	print "<b>$text{'viewu_msg2'}</b>.\n";
	}
print "<p>\n";

print "<hr>\n";
if ($in{share}) {
	&footer($in{printer} ? "edit_pshare.cgi?share=$in{share}"
			     : "edit_fshare.cgi?share=$in{share}",
		$text{'index_shareconf'},
		"", $text{'index_sharelist'});
	}
else { &footer("", $text{'index_sharelist'}); }

   070701000214a9000041ed0000000000000001000000053d1ffb4900000000000000200000000000000000000000000000000f00000003reloc/sendmail    070701000214aa000081a40000000000000002000000013d1fe2d300001127000000200000000000000000000000000000001d00000003reloc/sendmail/access-lib.pl  # access-lib.pl
# Functions for the access_db table

# access_dbm(&config)
# Returns the filename and type of the access database, or undef if none
sub access_dbm
{
foreach $f (&find_type("K", $_[0])) {
        if ($f->{'value'} =~ /^access\s+(\S+)[^\/]+(\S+)$/) {
		return ($2, $1);
                }
	}
return undef;
}

# access_file(&config)
# Returns the filename of the text access file, or undef if none
sub access_file
{
return &find_textfile($config{'access_file'}, &access_dbm($_[0]));
}

# list_access(textfile)
sub list_access
{
local($lnum, @rv);
$lnum = 0;
open(ACC, $_[0]);
while(<ACC>) {
	s/\r|\n//g;     # remove newlines
	s/#.*$//g;	# remove comments
	if (/^(\S+)\s+(.*)/) {
		local(%acc);
		$acc{'from'} = $1;
		$acc{'action'} = $2;
		$acc{'line'} = $lnum;
		$acc{'num'} = scalar(@rv);
		push(@rv, \%acc);
		}
	$lnum++;
	}
close(ACC);
return @rv;
}

# create_access(&details, textfile, dbmfile, dbmtype)
# Create a new access database entry
sub create_access
{
local(%acc);
open(ACC, ">> $_[1]");
print ACC "$_[0]->{'from'}\t$_[0]->{'action'}\n";
close(ACC);
if ($_[3] eq "dbm") {
	dbmopen(%acc, $_[2], 0644);
	$acc{$_[0]->{'from'}} = $_[0]->{'action'};
	dbmclose(%acc);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# delete_access(&details, textfile, dbmfile, dbmtype)
# Delete an existing access entry
sub delete_access
{
local(@acc, %acc);
open(ACC, $_[1]);
@acc = <ACC>;
close(ACC);
splice(@acc, $_[0]->{'line'}, 1);
open(ACC, "> $_[1]");
print ACC @acc;
close(ACC);
if ($_[3] eq "dbm") {
	dbmopen(%acc, $_[2], 0644);
	delete($acc{$_[0]->{'from'}});
	dbmclose(%acc);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# modify_access(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing access entry
sub modify_access
{
local(@acc, %acc);
open(ACC, $_[2]);
@acc = <ACC>;
close(ACC);
splice(@acc, $_[0]->{'line'}, 1, "$_[1]->{'from'}\t$_[1]->{'action'}\n");
open(ACC, "> $_[2]");
print ACC @acc;
close(ACC);
if ($_[4] eq "dbm") {
	dbmopen(%acc, $_[3], 0644);
	delete($acc{$_[0]->{'from'}});
	$acc{$_[1]->{'from'}} = $_[1]->{'action'};
	dbmclose(%acc);
	}
else { &run_makemap($_[2], $_[3], $_[4]); }
}

# access_form([&details])
sub access_form
{
local($v, $mode, $addr);
$v = $_[0];
print "<form action=save_access.cgi>\n";
if ($_[0]) { print "<input type=hidden name=num value=$v->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$v ? $text{'sform_edit'} : $text{'sform_create'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

local $src = $v->{'from'} =~ /^\S+\@\S+$/ ? 0 :
	     $v->{'from'} =~ /^[0-9\.]+$/ ? 1 :
	     $v->{'from'} =~ /^\S+\@$/ ? 2 :
	     $v->{'from'} =~ /^[A-z0-9\-\.]+$/ ? 3 : 0;
print "<tr> <td><b>$text{'sform_source'}</b></td>\n";
print "<td colspan=2><select name=from_type>\n";
for($i=0; $i<4; $i++) {
	printf "<option value=$i %s>%s\n",
		$i == $src ? "selected" : "", $text{"sform_type$i"};
	}
print "</select>\n";
$v->{'from'} =~ s/\@$//g if ($src == 2);
print "<input name=from size=25 value=\"$v->{'from'}\"></td> </tr>\n";

print "<tr> <td><b>$text{'action'}</b></td>\n";
printf "<td><input type=radio name=action value=OK %s> $text{'sform_ok'}</td>\n", $v->{'action'} eq "OK" || !$v->{'action'} ? "checked" : "";
printf "<td><input type=radio name=action value=RELAY %s> $text{'sform_relay'}</td> </tr>\n", $v->{'action'} eq "RELAY" ? "checked" : "";
print "<tr> <td></td>\n";
printf "<td><input type=radio name=action value=REJECT %s> $text{'sform_reject'}</td>\n", $v->{'action'} eq "REJECT" ? "checked" : "";
printf "<td><input type=radio name=action value=DISCARD %s> $text{'sform_discard'}</td> </tr>\n", $v->{'action'} eq "DISCARD" ? "checked" : "";
if ($v->{'action'} =~ /(\d+)\s*(.*)$/) { $err = $1; $msg = $2; }
print "<tr> <td></td>\n";
printf "<td colspan=2><input type=radio name=action value=0 %s> $text{'sform_err'}\n",
	$err ? "checked" : "";
print "<input name=err size=4 value=\"$err\"> $text{'sform_msg'}\n";
print "<input name=msg size=20 value=\"$msg\"></td> </tr>\n";

print "<tr> <td colspan=3 align=right>\n";
if ($_[0]) {
        print "<input type=submit value='$text{'save'}'>\n";
        print "<input type=submit name=delete value='$text{'delete'}'>\n";
        }
else { print "<input type=submit value='$text{'create'}'>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

1;

 070701000214ab000081a40000000000000002000000013d1fe2d300002f99000000200000000000000000000000000000001f00000003reloc/sendmail/acl_security.pl    
require 'sendmail-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the sendmail module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_opts'}</b></td> <td>\n";
printf "<input type=radio name=opts value=1 %s> $text{'yes'}\n",
	$_[0]->{'opts'} ? "checked" : "";
printf "<input type=radio name=opts value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'opts'} ? "" : "checked";

print "<td><b>$text{'acl_cws'}</b></td> <td>\n";
printf "<input type=radio name=cws value=1 %s> $text{'yes'}\n",
	$_[0]->{'cws'} ? "checked" : "";
printf "<input type=radio name=cws value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'cws'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_masq'}</b></td> <td>\n";
printf "<input type=radio name=masq value=1 %s> $text{'yes'}\n",
	$_[0]->{'masq'} ? "checked" : "";
printf "<input type=radio name=masq value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'masq'} ? "" : "checked";

print "<td><b>$text{'acl_trusts'}</b></td> <td>\n";
printf "<input type=radio name=trusts value=1 %s> $text{'yes'}\n",
	$_[0]->{'trusts'} ? "checked" : "";
printf "<input type=radio name=trusts value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'trusts'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_cgs'}</b></td> <td>\n";
printf "<input type=radio name=cgs value=1 %s> $text{'yes'}\n",
	$_[0]->{'cgs'} ? "checked" : "";
printf "<input type=radio name=cgs value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'cgs'} ? "" : "checked";

print "<td><b>$text{'acl_relay'}</b></td> <td>\n";
printf "<input type=radio name=relay value=1 %s> $text{'yes'}\n",
	$_[0]->{'relay'} ? "checked" : "";
printf "<input type=radio name=relay value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'relay'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_mailers'}</b></td> <td>\n";
printf "<input type=radio name=mailers value=1 %s> $text{'yes'}\n",
	$_[0]->{'mailers'} ? "checked" : "";
printf "<input type=radio name=mailers value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'mailers'} ? "" : "checked";

print "<td><b>$text{'acl_access'}</b></td> <td>\n";
printf "<input type=radio name=access value=1 %s> $text{'yes'}\n",
	$_[0]->{'access'} ? "checked" : "";
printf "<input type=radio name=access value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'access'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_domains'}</b></td> <td>\n";
printf "<input type=radio name=domains value=1 %s> $text{'yes'}\n",
	$_[0]->{'domains'} ? "checked" : "";
printf "<input type=radio name=domains value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'domains'} ? "" : "checked";

print "<td><b>$text{'acl_stop'}</b></td> <td>\n";
printf "<input type=radio name=stop value=1 %s> $text{'yes'}\n",
	$_[0]->{'stop'} ? "checked" : "";
printf "<input type=radio name=stop value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'stop'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_mailq'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mailq value=2 %s> $text{'acl_viewdel'}\n",
	$_[0]->{'mailq'} == 2 ? "checked" : "";
printf "<input type=radio name=mailq value=1 %s> $text{'acl_view'}\n",
	$_[0]->{'mailq'} == 1 ? "checked" : "";
printf "<input type=radio name=mailq value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'mailq'} == 0 ? "checked" : "";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_virtusers'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=vmode value=0 %s> $text{'acl_none'}\n",
	$_[0]->{'vmode'} == 0 ? "checked" : "";
printf "<input type=radio name=vmode value=1 %s> $text{'acl_all'}\n",
	$_[0]->{'vmode'} == 1 ? "checked" : "";
printf "<input type=radio name=vmode value=3 %s> $text{'acl_vsame'}<br>\n",
	$_[0]->{'vmode'} == 3 ? "checked" : "";
printf "<input type=radio name=vmode value=2 %s> $text{'acl_matching'}\n",
	$_[0]->{'vmode'} == 2 ? "checked" : "";
printf "<input name=vaddrs size=40 value='%s'></td> </tr>\n",
	$_[0]->{'vaddrs'};

print "<tr> <td><b>$text{'acl_vtypes'}</b></td>\n";
print "<td colspan=3>\n";
for($n=0; $n<3; $n++) {
	printf "<input type=checkbox name=vedit_%s value=1 %s> %s\n",
		$n, $_[0]->{"vedit_$n"} ? "checked" : "", $text{"acl_vtype$n"};
	}
print "</td> </tr>\n";

print "<tr> <td><b>$text{'acl_vmax'}</b></td>\n";
printf "<td colspan=3><input type=radio name=vmax_def value=1 %s> %s\n",
	$_[0]->{'vmax'} ? "" : "checked", $text{'acl_unlimited'};
printf "<input type=radio name=vmax_def value=0 %s>\n",
	$_[0]->{'vmax'} ? "checked" : "";
printf "<input name=vmax size=5 value='%s'></td> </tr>\n",
	$_[0]->{'vmax'};

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_aliases'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=amode value=0 %s> $text{'acl_none'}\n",
	$_[0]->{'amode'} == 0 ? "checked" : "";
printf "<input type=radio name=amode value=1 %s> $text{'acl_all'}\n",
	$_[0]->{'amode'} == 1 ? "checked" : "";
printf "<input type=radio name=amode value=3 %s> $text{'acl_asame'}<br>\n",
	$_[0]->{'amode'} == 3 ? "checked" : "";
printf "<input type=radio name=amode value=2 %s> $text{'acl_matching'}\n",
	$_[0]->{'amode'} == 2 ? "checked" : "";
printf "<input name=aliases size=40 value='%s'></td> </tr>\n",
	$_[0]->{'aliases'};

print "<tr> <td><b>$text{'acl_atypes'}</b></td> <td colspan=3>\n";
for($n=1; $n<=6; $n++) {
	printf "<input type=checkbox name=aedit_%s value=1 %s> %s\n",
		$n, $_[0]->{"aedit_$n"} ? "checked" : "",
		$text{"acl_atype$n"};
	}
print "</td> </tr>\n";

print "<tr> <td><b>$text{'acl_amax'}</b></td>\n";
printf "<td colspan=3><input type=radio name=amax_def value=1 %s> %s\n",
	$_[0]->{'amax'} ? "" : "checked", $text{'acl_unlimited'};
printf "<input type=radio name=amax_def value=0 %s>\n",
	$_[0]->{'amax'} ? "checked" : "";
printf "<input name=amax size=5 value='%s'></td> </tr>\n",
	$_[0]->{'amax'};

print "<tr> <td><b>$text{'acl_apath'}</b></td>\n";
printf "<td colspan=3><input name=apath size=40 value='%s'> %s</td> </tr>\n",
	$_[0]->{'apath'}, &file_chooser_button("apath", 1);

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_outgoing'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=omode value=0 %s> $text{'acl_none'}\n",
	$_[0]->{'omode'} == 0 ? "checked" : "";
printf "<input type=radio name=omode value=1 %s> $text{'acl_all'}<br>\n",
	$_[0]->{'omode'} == 1 ? "checked" : "";
printf "<input type=radio name=omode value=2 %s> $text{'acl_matching'}\n",
	$_[0]->{'omode'} == 2 ? "checked" : "";
printf "<input name=oaddrs size=40 value='%s'></td> </tr>\n",
	$_[0]->{'oaddrs'};

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_read'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mmode value=0 %s> $text{'acl_none'}\n",
	$_[0]->{'mmode'} == 0 ? "checked" : "";
printf "<input type=radio name=mmode value=4 %s> $text{'acl_same'}\n",
	$_[0]->{'mmode'} == 4 ? "checked" : "";
printf "<input type=radio name=mmode value=1 %s> $text{'acl_all'}<br>\n",
	$_[0]->{'mmode'} == 1 ? "checked" : "";
printf "<input type=radio name=mmode value=2 %s> $text{'acl_users'}\n",
	$_[0]->{'mmode'} == 2 ? "checked" : "";
printf "<input name=musers size=40 value='%s'> %s<br>\n",
	$_[0]->{'mmode'} == 2 ? $_[0]->{'musers'} : "",
	&user_chooser_button("musers", 1);
printf "<input type=radio name=mmode value=3 %s> $text{'acl_userse'}\n",
	$_[0]->{'mmode'} == 3 ? "checked" : "";
printf "<input name=muserse size=40 value='%s'> %s<br>\n",
	$_[0]->{'mmode'} == 3 ? $_[0]->{'musers'} : "",
	&user_chooser_button("muserse", 1);
printf "<input type=radio name=mmode value=5 %s> $text{'acl_usersg'}\n",
	$_[0]->{'mmode'} == 5 ? "checked" : "";
printf "<input name=musersg size=8 value='%s'> %s<br>\n",
	$_[0]->{'mmode'} == 5 ? scalar(getgrgid($_[0]->{'musers'})) : "",
	&group_chooser_button("musersg");
printf "<input type=radio name=mmode value=6 %s> $text{'acl_usersm'}\n",
	$_[0]->{'mmode'} == 6 ? "checked" : "";
printf "<input name=musersm size=15 value='%s'></td> </tr>\n",
	$_[0]->{'mmode'} == 6 ? $_[0]->{'musers'} : "";

print "<tr> <td valign=top><b>$text{'acl_from'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=fmode value=0 %s> $text{'acl_any'}<br>\n",
	$_[0]->{'fmode'} == 0 ? "checked" : "";
printf "<input type=radio name=fmode value=1 %s> $text{'acl_fdoms'}\n",
	$_[0]->{'fmode'} == 1 ? "checked" : "";
printf "<input name=fdoms size=40 value='%s'><br>\n",
	$_[0]->{'fmode'} == 1 ? $_[0]->{'from'} : '';
printf "<input type=radio name=fmode value=2 %s> $text{'acl_faddrs'}\n",
	$_[0]->{'fmode'} == 2 ? "checked" : "";
printf "<input name=faddrs size=40 value='%s'><br>\n",
	$_[0]->{'fmode'} == 2 ? $_[0]->{'from'} : '';
printf "<input type=radio name=fmode value=3 %s> $text{'acl_fdom'}\n",
	$_[0]->{'fmode'} == 3 ? "checked" : "";
printf "<input name=fdom size=20 value='%s'><br>\n",
	$_[0]->{'fmode'} == 3 ? $_[0]->{'from'} : '';
print "</td> </tr>\n";

print "<tr> <td><b>$text{'acl_fromname'}</b></td>\n";
print "<td colspan=3><input name=fromname size=40 ",
      "value='$_[0]->{'fromname'}'></td> </tr>\n";

print "<tr> <td><b>$text{'acl_attach'}</b></td> <td>\n";
printf "<input type=radio name=attach_def value=1 %s> %s\n",
	$_[0]->{'attach'}<0 ? 'checked' : '', $text{'acl_unlimited'};
printf "<input type=radio name=attach_def value=0 %s>\n",
	$_[0]->{'attach'}<0 ? '' : 'checked';
printf "<input name=attach size=5 value='%s'> kB\n",
	$_[0]->{'attach'}<0 ? '' : $_[0]->{'attach'};
print "</td>\n";

print "<td><b>$text{'acl_canattach'}</b></td>\n";
printf "<td><input type=radio name=canattach value=1 %s> %s\n",
	$_[0]->{'canattach'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=canattach value=0 %s> %s</td> </tr>\n",
	$_[0]->{'canattach'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'acl_sent'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=sent_def value=1 %s> %s\n",
	$_[0]->{'sent'} ? '' : 'checked', $text{'acl_none'};
printf "<input type=radio name=sent_def value=0 %s>\n",
	$_[0]->{'sent'} ? 'checked' : '';
printf "<input name=sent size=13 value='%s'> %s</td> </tr>\n",
	$_[0]->{'sent'}, &user_chooser_button("sent");

print "<tr> <td><b>$text{'acl_boxname'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=boxname value=0 %s> %s\n",
	$_[0]->{'boxname'} == 0 ? 'checked' : '', $text{'acl_boxname0'};
printf "<input type=radio name=boxname value=1 %s> %s\n",
	$_[0]->{'boxname'} == 1 ? 'checked' : '', $text{'acl_boxname1'};
printf "<input type=radio name=boxname value=2 %s> %s</td> </tr>\n",
	$_[0]->{'boxname'} == 2 ? 'checked' : '', $text{'acl_boxname2'};
}

# acl_security_save(&options)
# Parse the form for security options for the sendmail module
sub acl_security_save
{
$_[0]->{'opts'} = $in{'opts'};
$_[0]->{'cws'} = $in{'cws'};
$_[0]->{'masq'} = $in{'masq'};
$_[0]->{'trusts'} = $in{'trusts'};
$_[0]->{'cgs'} = $in{'cgs'};
$_[0]->{'relay'} = $in{'relay'};
$_[0]->{'mailq'} = $in{'mailq'};
$_[0]->{'mailers'} = $in{'mailers'};
$_[0]->{'access'} = $in{'access'};
$_[0]->{'domains'} = $in{'domains'};
$_[0]->{'stop'} = $in{'stop'};
$_[0]->{'vmode'} = $in{'vmode'};
$_[0]->{'vaddrs'} = $in{'vmode'} == 2 ? $in{'vaddrs'} : "";
$_[0]->{'vmax'} = $in{'vmax_def'} ? undef : $in{'vmax'};
foreach $i (0..2) {
	$_[0]->{"vedit_$i"} = $in{"vedit_$i"};
	}
$_[0]->{'amode'} = $in{'amode'};
$_[0]->{'aliases'} = $in{'amode'} == 2 ? $in{'aliases'} : "";
$_[0]->{'amax'} = $in{'amax_def'} ? undef : $in{'amax'};
$_[0]->{'apath'} = $in{'apath'};
foreach $i (1..6) {
	$_[0]->{"aedit_$i"} = $in{"aedit_$i"};
	}
$_[0]->{'omode'} = $in{'omode'};
$_[0]->{'oaddrs'} = $in{'omode'} == 2 ? $in{'oaddrs'} : "";
$_[0]->{'mmode'} = $in{'mmode'};
$_[0]->{'musers'} = $in{'mmode'} == 2 ? $in{'musers'} :
		    $in{'mmode'} == 3 ? $in{'muserse'} :
		    $in{'mmode'} == 5 ? scalar(getgrnam($in{'musersg'})) :
		    $in{'mmode'} == 6 ? $in{'musersm'} : "";
$_[0]->{'fmode'} = $in{'fmode'};
$_[0]->{'from'} = $in{'fmode'} == 0 ? undef :
		  $in{'fmode'} == 1 ? $in{'fdoms'} :
		  $in{'fmode'} == 2 ? $in{'faddrs'} : $in{'fdom'};
$_[0]->{'fromname'} = $in{'fromname'};
$_[0]->{'attach'} = $in{'attach_def'} ? -1 : $in{'attach'};
$_[0]->{'sent'} = $in{'sent_def'} ? '' : $in{'sent'};
$_[0]->{'canattach'} = $in{'canattach'};
$_[0]->{'boxname'} = $in{'boxname'};
}

   070701000214ac000081a40000000000000002000000013d1fe2d30000172f000000200000000000000000000000000000001e00000003reloc/sendmail/aliases-lib.pl # aliases-lib.pl
# Alias file functions

# aliases_file(&config)
# Returns the alias filenames
sub aliases_file
{
if ($config{'alias_file'}) { return [ $config{'alias_file'} ]; }
else {
	local(@afiles, $o);
	foreach $o (&find_type("O", $_[0])) {
		if ($o->{'value'} =~ /^\s*AliasFile=(.*)$/) {
			push(@afiles, split(/,/, $1));
			}
		}
	map { s/dbm:// } @afiles;
	return \@afiles;
	}
}

# list_aliases(files)
# Returns an array of data structures, each containing information about
# one sendmail alias
sub list_aliases
{
local($lnum, @rv, $file, $lalias);
local @skip = split(/\s+/, $config{'alias_skip'});
foreach $file (@{$_[0]}) {
	$lnum = 0;
	open(AFILE, $file);
	while(<AFILE>) {
		s/\r|\n//g;	# remove newlines
		if (/^(#*)\s*([^:$ \t]+)\s*:\s*(.*)$/) {
			local(%alias, @values, $v);
			$alias{'eline'} = $alias{'line'} = $lnum;
			$alias{'file'} = $file;
			$alias{'enabled'} = $1 ? 0 : 1;
			$alias{'name'} = $2;
			$v = $alias{'value'} = $3;
			while($v =~ /^\s*,?\s*()"([^"]+)"(.*)$/ ||
			      $v =~ /^\s*,?\s*(\|)"([^"]+)"(.*)$/ ||
			      $v =~ /^\s*,?\s*()([^,\s]+)(.*)$/) {
				push(@values, $1.$2); $v = $3;
				}
			$alias{'values'} = \@values;
			$alias{'num'} = scalar(@rv);
			if (&indexof($alias{'name'}, @skip) < 0) {
				push(@rv, \%alias);
				$lalias = \%alias;
				}
			}
		elsif (/^(#*)\s+(\S.*)$/ && $lalias &&
		       ($1 && !$lalias->{'enabled'} ||
			!$1 && $lalias->{'enabled'})) {
			# continuation of last alias
			$lalias->{'eline'} = $lnum;
			local $v = $2;
			$lalias->{'value'} .= $v;
			while($v =~ /^\s*,?\s*()"([^"]+)"(.*)$/ ||
			      $v =~ /^\s*,?\s*(\|)"([^"]+)"(.*)$/ ||
			      $v =~ /^\s*,?\s*()([^,\s]+)(.*)$/) {
				push(@{$lalias->{'values'}}, $1.$2); $v = $3;
				}
			}
		else { $lalias = undef; }
		$lnum++;
		}
	close(AFILE);
	}
return @rv;
}

# alias_form([alias])
# Display a form for editing or creating an alias. Each alias can map to
# 1 or more programs, files, lists or users
sub alias_form
{
local($a, @values, $v, $type, $val, @typenames);
$a = $_[0];
if ($a) { @values = @{$a->{'values'}}; }
@typenames = map { $text{"aform_type$_"} } (0 .. 6);
$typenames[0] = "&lt;$typenames[0]&gt;";

print "<form method=post action=save_alias.cgi>\n";
if ($a) { print "<input type=hidden name=num value=$a->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$a ? $text{'aform_edit'}
			    : $text{'aform_create'},"</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td>",&hlink("<b>$text{'aform_name'}</b>","alias_name"),"</td>\n";
printf "<td><input name=name size=20 value=\"%s\"></td> </tr>\n",
	$a ? $a->{'name'} : "";
print "<tr> <td>",&hlink("<b>$text{'aform_enabled'}</b>",
			 "alias_enabled"),"</td>\n";
printf "<td><input type=radio name=enabled value=1 %s> $text{'yes'}\n",
	!$a || $a->{'enabled'} ? "checked" : "";
printf "<input type=radio name=enabled value=0 %s> $text{'no'}</td> </tr>\n",
	!$a || $a->{'enabled'} ? "" : "checked";
for($i=0; $i<=@values; $i++) {
	($type, $val) = $values[$i] ? &alias_type($values[$i]) : (0, "");
	print "<tr> <td valign=top>",
	      &hlink("<b>$text{'aform_val'}</b>","alias_to"),"</td>\n";
	print "<td><select name=type_$i>\n";
	for($j=0; $j<@typenames; $j++) {
		if (!$j || $access{"aedit_$j"}) {
			printf "<option value=$j %s>$typenames[$j]\n",
				$type == $j ? "selected" : "";
			}
		}
	print "</select>\n";
	print "<input name=val_$i size=30 value=\"$val\">\n";
	if ($type == 2 && $a) {
		print "<a href='edit_afile.cgi?file=$val&num=$a->{'num'}'>",
		      "$text{'aform_afile'}</a>\n";
		}
	elsif ($type == 5 && $a) {
		print "<a href='edit_rfile.cgi?file=$val&num=$a->{'num'}'>",
		      "$text{'aform_afile'}</a>\n";
		}
	elsif ($type == 6 && $a) {
		print "<a href='edit_ffile.cgi?file=$val&num=$a->{'num'}'>",
		      "$text{'aform_afile'}</a>\n";
		}
	print "</td> </tr>\n";
	}
print "<tr> <td colspan=2 align=right>\n";
if ($a) {
	print "<input type=submit value=$text{'save'}>\n";
	print "<input type=submit name=delete value=$text{'delete'}>\n";
	}
else { print "<input type=submit value=$text{'create'}>\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

# create_alias(&details, files, [norebuild])
# Create a new alias
sub create_alias
{
local(%aliases);
open(AFILE, ">>".$_[1]->[0]);
print AFILE $_[0]->{'enabled'} ? "" : "# ", $_[0]->{'name'}, ": ",
	    join(',', map { /\s/ ? "\"$_\"" : $_ } @{$_[0]->{'values'}}),"\n";
close(AFILE);
&system_logged("newaliases >/dev/null 2>&1") if (!$_[2]);
}

# delete_alias(&details)
sub delete_alias
{
local $lref = &read_file_lines($_[0]->{'file'});
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len);
&flush_file_lines();
&system_logged("newaliases >/dev/null 2>&1");
}

# modify_alias(&old, &details)
# Update some existing alias
sub modify_alias
{
local $str = ($_[1]->{'enabled'} ? "" : "# ") . $_[1]->{'name'} . ": " .
	     join(',', map { /\s/ ? "\"$_\"" : $_ } @{$_[1]->{'values'}});
local $lref = &read_file_lines($_[0]->{'file'});
local $len = $_[0]->{'eline'} - $_[0]->{'line'} + 1;
splice(@$lref, $_[0]->{'line'}, $len, $str);
&flush_file_lines();
&system_logged("newaliases >/dev/null 2>&1");
}

# alias_type(string)
# Return the type and destination of some alias string
sub alias_type
{
local @rv;
if ($_[0] =~ /^\|$module_config_directory\/autoreply.pl\s+(\S+)/) {
	@rv = (5, $1);
	}
elsif ($_[0] =~ /^\|$module_config_directory\/filter.pl\s+(\S+)/) {
	@rv = (6, $1);
	}
elsif ($_[0] =~ /^\|(.*)$/) {
	@rv = (4, $1);
	}
elsif ($_[0] =~ /^(\/.*)$/) {
	@rv = (3, $1);
	}
elsif ($_[0] =~ /^:include:(.*)$/) {
	@rv = (2, $1);
	}
else {
	@rv = (1, $_[0]);
	}
return wantarray ? @rv : $rv[0];
}

# lock_alias_files(&files)
sub lock_alias_files
{
foreach $f (@{$_[0]}) {
	&lock_file($f);
	}
}

# unlock_alias_files(&files)
sub unlock_alias_files
{
foreach $f (@{$_[0]}) {
	&unlock_file($f);
	}
}

1;

 070701000214ad000081e40000000000000002000000013d1fe2d400000abf000000200000000000000000000000000000001c00000003reloc/sendmail/autoreply.pl   #!/usr/local/bin/perl
# autoreply.pl
# Simple autoreply script

# read sendmail module config
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
if (open(CONF, "$1/config")) {
	while(<CONF>) {
		if (/^(\S+)=(.*)/) {
			$config{$1} = $2;
			}
		}
	close(CONF);
	}
else {
	# Make some guesses about sendmail
	if (-x "/usr/sbin/sendmail") {
		%config = ( 'sendmail_path' => '/usr/sbin/sendmail' );
		}
	elsif (-x "/usr/lib/sendmail") {
		%config = ( 'sendmail_path' => '/usr/lib/sendmail' );
		}
	else {
		die "Failed to find sendmail or config file";
		}
	}

# read headers and body
while(<STDIN>) {
	s/\r|\n//g;
	if (/^(\S+):\s+(.*)/) {
		$header{lc($1)} = $2;
		}
	elsif (!$_) { last; }
	}
while(<STDIN>) {
	$body .= $_;
	}
if ($header{'from'} =~ /mailer-daemon/i) {
	print STDERR "Cancelling autoreply to bounced email\n";
	exit 1;
	}
if ($header{'x-webmin-autoreply'}) {
	print STDERR "Cancelling autoreply to an autoreply\n";
	exit 1;
	}

# work out the correct to address
@to = ( &split_addresses($header{'to'}),
	&split_addresses($header{'cc'}),
	&split_addresses($header{'bcc'}) );
$to = $to[0]->[0];
foreach $t (@to) {
	if ($t->[0] =~ /^([^\@\s]+)/ && $1 eq $ARGV[1]) {
		$to = $t->[0];
		}
	}

# build list of default reply headers
$rheader{'From'} = $to;
$rheader{'To'} = $header{'reply-to'} ? $header{'reply-to'}
				     : $header{'from'};
$rheader{'Subject'} = "Autoreply to $header{'subject'}";
$rheader{'X-Webmin-Autoreply'} = 1;
$rheader{'X-Originally-To'} = $header{'to'};

# read the autoreply file
if (open(AUTO, $ARGV[0])) {
	while(<AUTO>) {
		s/\$SUBJECT/$header{'subject'}/g;
		s/\$FROM/$header{'from'}/g;
		s/\$TO/$to/g;
		s/\$DATE/$header{'date'}/g;
		s/\$BODY/$body/g;
		if (/^(\S+):\s*(.*)/ && !$doneheaders) {
			$rheader{$1} = $2;
			}
		else {
			$rbody .= $_;
			$doneheaders = 1;
			}
		}
	close(AUTO);
	}
else {
	$rbody = "Autoreply file $ARGV[0] does not exist!\n";
	}

# run sendmail and feed it the reply
open(MAIL, "|$config{'sendmail_path'} -t");
foreach $h (keys %rheader) {
	print MAIL "$h: $rheader{$h}\n";
	}
print MAIL "\n";
print MAIL $rbody;
close(MAIL);

# split_addresses(string)
# Splits a comma-separated list of addresses into [ email, real-name ] pairs
sub split_addresses
{
local (@rv, $str = $_[0]);
while(1) {
	if ($str =~ /^[\s,]*(([^<>\(\)\s]+)\s+\(([^\(\)]+)\))(.*)$/) {
		push(@rv, [ $2, $3, $1 ]);
		$str = $4;
		}
	elsif ($str =~ /^[\s,]*("([^"]+)"\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>]+)\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\[\]]+)\s+\[mailto:([^\s\[\]]+)\])(.*)$/||
	       $str =~ /^[\s,]*(()<([^\s<>]+)>)(.*)/ ||
	       $str =~ /^[\s,]*(()([^\s<>,]+))(.*)/) {
		push(@rv, [ $3, $2, $1 ]);
		$str = $4;
		}
	else {
		last;
		}
	}
return @rv;
}


 070701000214ae000081a40000000000000002000000013d1fe2d300005a28000000200000000000000000000000000000001c00000003reloc/sendmail/boxes-lib.pl   # boxes-lib.pl
# Functions to parsing user mail files

use POSIX;

# list_mails(user, [start], [end])
sub list_mails
{
local (@rv, $h, $done);
local @index = &build_index($_[0]);
local ($start, $end);
if (@_ == 1) {
	$start = 0; $end = @index-1;
	}
elsif ($_[2] < 0) {
	$start = @index+$_[2]-1; $end = @index+$_[1]-1;
	$start = $start<0 ? 0 : $start;
	}
else {
	$start = $_[1]; $end = $_[2];
	$end = @index-1 if ($end >= @index);
	}
@rv = map { undef } @index;
open(MAIL, &user_mail_file($_[0]));
for($i=$start; $i<=$end; $i++) {
	local ($mail, $line, @headers);
	seek(MAIL, $index[$i]->[0], 0);

	# read RFC822 headers
	$mail->{'line'} = $index[$i]->[1];
	local $lnum = 0;
	while(1) {
		$lnum++;
		$line = <MAIL>;
		$mail->{'size'} += length($line);
		$line =~ s/\r|\n//g;
		last if ($line =~ /^$/);
		if ($line =~ /^(\S+):\s*(.*)/) {
			push(@headers, [ $1, $2 ]);
			}
		elsif ($line =~ /^(\s+.*)/) {
			$headers[$#headers]->[1] .= $1 unless($#headers < 0);
			}
		elsif ($line =~ /^From\s+(\S+).*\d+/ && $1 ne '-') {
			$mail->{'fromline'} = $line;
			}
		}
	$mail->{'headers'} = \@headers;
	foreach $h (@headers) {
		$mail->{'header'}->{lc($h->[0])} = $h->[1];
		}

	# read the mail body
	while(1) {
		$line = <MAIL>;
		last if (!$line || $line =~ /^From\s+(\S+).*\d+\n/ && $1 ne '-');
		$lnum++;
		$mail->{'size'} += length($line);
		$mail->{'body'} .= $line;
		}
	$mail->{'eline'} = $mail->{'line'} + $lnum - 1;
	$mail->{'idx'} = $i;
	$rv[$i] = $mail;
	}
return @rv;
}

# search_mail(user, field, match)
# Returns an array of messages matching some search
sub search_mail
{
local $field = $_[1];
local $neg = ($field =~ s/^\!//);
local @index = &build_index($_[0]);
local (@rv, $i);
open(MAIL, &user_mail_file($_[0]));
for($i=@index-1; $i>=0; $i--) {
	local ($mail, $line, @headers);
	seek(MAIL, $index[$i]->[0], 0);

	# read mail headers
	$mail->{'line'} = $index[$i]->[1];
	local $lnum = 0;
	while(1) {
		$lnum++;
		($line = <MAIL>) =~ s/\r|\n//g;
		$mail->{'size'} += length($line);
		last if ($line =~ /^$/);
		if ($line =~ /^(\S+):\s*(.*)/) {
			push(@headers, [ $1, $2 ]);
			}
		elsif ($line =~ /^(\s+.*)/) {
			$headers[$#headers]->[1] .= $1;
			}
		elsif ($line =~ /^From\s+(\S+).*\d+/ && $1 ne '-') {
			$mail->{'fromline'} = $line;
			}
		}
	$mail->{'headers'} = \@headers;
	foreach $h (@headers) {
		$mail->{'header'}->{lc($h->[0])} = $h->[1];
		}

	# read mail body
	while(1) {
		$line = <MAIL>;
		last if (!$line || $line =~ /^From\s+(\S+).*\d+\n/ && $1 ne '-');
		$lnum++;
		$mail->{'size'} += length($line);
		$mail->{'body'} .= $line;
		}
	$mail->{'eline'} = $mail->{'line'} + $lnum - 1;
	$mail->{'idx'} = $i;
	if ($field eq 'body') {
		push(@rv, $mail) if (!$neg && $mail->{'body'} =~ /\Q$_[2]\E/i ||
				      $neg && $mail->{'body'} !~ /\Q$_[2]\E/i);
		}
	elsif ($field eq 'size') {
		push(@rv, $mail) if (!$neg && $mail->{'size'} > $_[2] ||
				      $neg && $mail->{'size'} < $_[2]);
		}
	else {
		push(@rv, $mail)
		    if (!$neg && $mail->{'header'}->{$field} =~ /\Q$_[2]\E/i ||
		         $neg && $mail->{'header'}->{$field} !~ /\Q$_[2]\E/i);
		}
	}
return @rv;

}

# build_index(user)
sub build_index
{
local @index;
local $ifile = $user_module_config_directory ?
		"$user_module_config_directory/$_[0].index" :
		"$module_config_directory/$_[0].index";
local @ist = stat($ifile);
local @st = stat(&user_mail_file($_[0]));

if (open(INDEX, $ifile)) {
	@index = map { /(\d+)\s+(\d+)/; [ $1, $2 ] } <INDEX>;
	close(INDEX);
	}

if (!@ist || !@st || $ist[9] < $st[9]) {
	# The mail file is newer than the index
	local $fromok = 1;
	local ($l, $ll);
	if (open(MAIL, &user_mail_file($_[0]))) {
		local $il = $#index;
		local $i;
		for($i=($il>100 ? 100 : $il); $i>=0; $i--) {
			$l = $index[$il-$i];
			seek(MAIL, $index[$il-$i]->[0], 0);
			$ll = <MAIL>;
			$fromok = 0 if ($ll !~ /^From\s+(\S+).*\d+\n/ || $1 eq '-');
			}
		}
	else { $fromok = 0; }
	local ($pos, $lnum);
	if (scalar(@index) && $fromok && $st[7] > $l->[0]) {
		# Mail file seems to have gotten bigger, most likely
		# because new mail has arrived ... only reindex the new mails
		$pos = $l->[0] + length($ll);
		$lnum = $l->[1] + 1;
		}
	else {
		# Mail file has changed in some other way ... do a rebuild
		$pos = 0;
		$lnum = 0;
		undef(@index);
		seek(MAIL, 0, 0);
		}
	while(<MAIL>) {
		if (/^From\s+(\S+).*\d+\n/ && $1 ne '-') {
			push(@index, [ $pos, $lnum ]);
			}
		$pos += length($_);
		$lnum++;
		}
	close(MAIL);
	open(INDEX, ">$ifile");
	print INDEX map { $_->[0]." ".$_->[1]."\n" } @index;
	close(INDEX);
	}
return @index;
}

# parse_mail(&mail, [&parent])
# Extracts the attachments from the mail body
sub parse_mail
{
local $ct = $_[0]->{'header'}->{'content-type'};
local (@attach, $h, $a);
if ($ct =~ /multipart\/(\S+)/i && ($ct =~ /boundary="([^"]+)"/i ||
				   $ct =~ /boundary=([^;\s]+)/i)) {
	# Multipart MIME message
	local $bound = "--".$1;
	local @lines = split(/\n/, $_[0]->{'body'});
	local $l;
	local $max = @lines;
	while($l < $max && $lines[$l++] ne $bound) {
		# skip to first boundary
		}
	while(1) {
		# read attachment headers
		local (@headers, $attach);
		while($lines[$l]) {
			$attach->{'raw'} .= $lines[$l]."\n";
			if ($lines[$l] =~ /^(\S+):\s*(.*)/) {
				push(@headers, [ $1, $2 ]);
				}
			elsif ($lines[$l] =~ /^(\s+.*)/) {
				$headers[$#headers]->[1] .= $1;
				}
			$l++;
			}
		$attach->{'raw'} .= $lines[$l]."\n";
		$l++;
		$attach->{'headers'} = \@headers;
		foreach $h (@headers) {
			$attach->{'header'}->{lc($h->[0])} = $h->[1];
			}
		if ($attach->{'header'}->{'content-type'} =~ /^([^;]+)/) {
			$attach->{'type'} = lc($1);
			}
		else {
			$attach->{'type'} = 'text/plain';
			}
		if ($attach->{'header'}->{'content-disposition'} =~
		    /filename\s*=\s*"([^"]+)"/i) {
			$attach->{'filename'} = $1;
			}
		elsif ($attach->{'header'}->{'content-disposition'} =~
		       /filename\s*=\s*([^;\s]+)/i) {
			$attach->{'filename'} = $1;
			}
		elsif ($attach->{'header'}->{'content-type'} =~
		    /name\s*=\s*"([^"]+)"/i) {
			$attach->{'filename'} = $1;
			}

		# read the attachment body
		while($l < $max && $lines[$l] ne $bound && $lines[$l] ne "$bound--") {
			$attach->{'data'} .= $lines[$l]."\n";
			$attach->{'raw'} .= $lines[$l]."\n";
			$l++;
			}
		$attach->{'data'} =~ s/\n\n$/\n/;	# Lose trailing blank line
		$attach->{'raw'} =~ s/\n\n$/\n/;

		# decode if necessary
		if (lc($attach->{'header'}->{'content-transfer-encoding'}) eq
		    'base64') {
			$attach->{'data'} = &b64decode($attach->{'data'});
			}
		elsif (lc($attach->{'header'}->{'content-transfer-encoding'}) eq
		       'x-uue') {
			$attach->{'data'} = &uudecode($attach->{'data'});
			}
		elsif (lc($attach->{'header'}->{'content-transfer-encoding'}) eq
		       'quoted-printable') {
			$attach->{'data'} = &quoted_decode($attach->{'data'});
			}

		$attach->{'idx'} = scalar(@attach);
		$attach->{'parent'} = $_[1] ? $_[1] : $_[0];
		push(@attach, $attach) if (@headers || $attach->{'data'});
		if ($attach->{'type'} =~ /multipart\/(\S+)/i) {
			# This attachment contains more attachments
			local $amail = { 'header' => $attach->{'header'},
					 'body' => $attach->{'data'} };
			&parse_mail($amail, $attach);
			$attach->{'attach'} = [ @{$amail->{'attach'}} ];
			map { $_->{'idx'} += scalar(@attach) }
			    @{$amail->{'attach'}};
			push(@attach, @{$amail->{'attach'}});
			}
		last if ($l >= $max || $lines[$l] eq "$bound--");
		$l++;
		}
	$_[0]->{'attach'} = \@attach;
	}
elsif ($_[0]->{'body'} =~ /begin\s+([0-7]+)\s+(.*)/i) {
	# Message contains uuencoded file(s)
	local @lines = split(/\n/, $_[0]->{'body'});
	local ($attach, $rest);
	foreach $l (@lines) {
		if ($l =~ /^begin\s+([0-7]+)\s+(.*)/i) {
			$attach = { 'type' => &guess_type($2),
				    'idx' => scalar(@{$_[0]->{'attach'}}),
				    'parent' => $_[1],
				    'filename' => $2 };
			push(@{$_[0]->{'attach'}}, $attach);
			}
		elsif ($l =~ /^end/ && $attach) {
			$attach = undef;
			}
		elsif ($attach) {
			$attach->{'data'} .= unpack("u", $l);
			}
		else {
			$rest .= $l."\n";
			}
		}
	if ($rest =~ /\S/) {
		# Some leftover text
		push(@{$_[0]->{'attach'}},
			{ 'type' => "text/plain",
			  'idx' => scalar(@{$_[0]->{'attach'}}),
			  'parent' => $_[1],
			  'data' => $rest });
		}
	}
elsif ($_[0]->{'header'}->{'content-transfer-encoding'} eq 'base64') {
	# Signed body section
	$ct =~ s/;.*$//;
	$_[0]->{'attach'} = [ { 'type' => lc($ct),
				'idx' => 0,
				'parent' => $_[1],
				'data' => &b64decode($_[0]->{'body'}) } ];
	}
else {
	# One big attachment (probably text)
	local ($type, $body);
	($type = $ct) =~ s/;.*$//;
	$type = 'text/plain' if (!$type);
	if ($_[0]->{'header'}->{'content-transfer-encoding'} eq 'base64') {
		$body = &b64decode($_[0]->{'body'});
		}
	else {
		$body = $_[0]->{'body'};
		}
	$_[0]->{'attach'} = [ { 'type' => lc($type),
				'idx' => 0,
				'parent' => $_[1],
				'data' => $body } ];
	}
}

# delete_mail(user, &mail, ...)
# Delete mail messages from a user by copying the file and rebuilding the index
sub delete_mail
{
local @m = sort { $a->{'line'} <=> $b->{'line'} } @_[1..@_-1];
local $i = 0;
local $f = &user_mail_file($_[0]);
local $ifile = $user_module_config_directory ?
		"$user_module_config_directory/$_[0].index" :
		"$module_config_directory/$_[0].index";
local $lnum = 0;
local %dline;
local ($dpos = 0, $dlnum = 0);
local @index;

local $tmpf = $< == 0 ? "$f.del" : "$user_module_config_directory/$_[0].del";
open(SOURCE, $f);
open(DEST, ">$tmpf");
while(<SOURCE>) {
	if ($i >= @m || $lnum < $m[$i]->{'line'}) {
		if (/^From\s+(\S+).*\d+\n/ && $1 ne '-') {
			push(@index, [ $dpos, $dlnum ]);
			}
		$dpos += length($_);
		$dlnum++;
		local $w = (print DEST $_);
		if (!$w) {
			local $e = $?;
			close(DEST);
			close(SOURCE);
			unlink($tmpf);
			&error("Write to $tmpf failed : $e");
			}
		}
	elsif ($lnum == $m[$i]->{'eline'}) {
		$dline{$m[$i]->{'line'}}++;
		$i++;
		}
	$lnum++;
	}
close(SOURCE);
close(DEST);
local @st = stat($f);
unlink($f);
open(INDEX, ">$ifile");
print INDEX map { $_->[0]." ".$_->[1]."\n" } @index;
close(INDEX);
if ($< == 0) {
	rename($tmpf, $f);
	}
else {
	system("cat $tmpf >$f && rm -f $tmpf");
	}
chown($st[4], $st[5], $f);
chmod($st[2], $f);
}

# modify_mail(user, old, new)
# Modify one email message in a mailbox by copying the file and rebuilding
# the index.
sub modify_mail
{
local $f = &user_mail_file($_[0]);
local $ifile = $user_module_config_directory ?
		"$user_module_config_directory/$_[0].index" :
		"$module_config_directory/$_[0].index";
local $lnum = 0;
local ($sizediff, $linesdiff);
local @index = &build_index($_[0]);

# Replace the email that gets modified
local $tmpf = $< == 0 ? "$f.del" : "$user_module_config_directory/$_[0].del";
open(SOURCE, $f);
open(DEST, ">$tmpf");
while(<SOURCE>) {
	if ($lnum < $_[1]->{'line'} || $lnum > $_[1]->{'eline'}) {
		# before or after the message to change
		local $w = (print DEST $_);
		if (!$w) {
			local $e = $?;
			close(DEST);
			close(SOURCE);
			unlink($tmpf);
			&error("Write failed : $e");
			}
		}
	elsif ($lnum == $_[1]->{'line'}) {
		# found start of message to change .. put in the new one
		close(DEST);
		local @ost = stat($tmpf);
		local $nlines = &send_mail($_[2], $tmpf);
		local @nst = stat($tmpf);
		local $newsize = $nst[7] - $ost[7];
		$sizediff = $newsize - $_[1]->{'size'};
		$linesdiff = $nlines - ($_[1]->{'eline'} - $_[1]->{'line'} + 1);
		open(DEST, ">>$tmpf");
		}
	$lnum++;
	}
close(SOURCE);
close(DEST);

# Now update the index and delete the temp file
foreach $i (@index) {
	if ($i->[1] > $_[1]->{'line'}) {
		# Shift mails after the modified
		$i->[0] += $sizediff;
		$i->[1] += $linesdiff;
		}
	}
local @st = stat($f);
unlink($f);
open(INDEX, ">$ifile");
print INDEX map { $_->[0]." ".$_->[1]."\n" } @index;
close(INDEX);
if ($< == 0) {
	rename($tmpf, $f);
	}
else {
	system("cat $tmpf >$f && rm -f $tmpf");
	}
chown($st[4], $st[5], $f);
chmod($st[2], $f);

}

# send_mail(&mail, [file])
# Send out some email message or append it to a file.
# Returns the number of lines written.
sub send_mail
{
local (%header, $h);
local $lnum = 0;
foreach $h (@{$_[0]->{'headers'}}) {
	$header{lc($h->[0])} = $h->[1];
	}
local @from = &address_parts($header{'from'});
if ($_[1]) {
	# Just append the email to a file using mbox format
	local @tm = localtime(time());
	open(MAIL, ">>$_[1]");
	$lnum++;
	print MAIL $_[0]->{'fromline'} ? $_[0]->{'fromline'}."\n" :
		   strftime("From $from[0] %a %b %e %H:%M:%S %Y\n", @tm);
	push(@{$_[0]->{'headers'}},
	     [ 'Date', strftime("%a, %d %b %Y %H:%M:%S %Z", @tm) ])
		if (!$header{'date'});
	}
elsif ($config{'send_mode'}) {
	# Connect to SMTP server
	&open_socket($config{'send_mode'}, 25, MAIL);
	&smtp_command(MAIL);
	&smtp_command(MAIL, "helo ".&get_system_hostname()."\n");
	&smtp_command(MAIL, "mail from: $from[0]\n");
	foreach $u (&address_parts($header{'to'}.",".$header{'cc'}.
						 ",".$header{'bcc'})) {
		&smtp_command(MAIL, "rcpt to: $u\n");
		}
	&smtp_command(MAIL, "data\n");
	}
else {
	# Start sendmail
	&has_command($config{'sendmail_path'}) ||
	    &error(&text('send_epath', "<tt>$config{'sendmail_path'}</tt>"));
	open(MAIL, "| $config{'sendmail_path'} -t -f$from[0] >/dev/null 2>&1");
	}
local $ctype = "multipart/mixed";
foreach $h (@{$_[0]->{'headers'}}) {
	if ($h->[0] !~ /^(MIME-Version|Content-Type)$/i) {
		print MAIL $h->[0],": ",$h->[1],"\n";
		$lnum++;
		}
	elsif ($h->[0] eq 'Content-Type') {
		$ctype = $h->[1];
		}
	}
$ctype =~ s/;.*$//;
print MAIL "MIME-Version: 1.0\n";
local $bound = "bound".time();
print MAIL "Content-Type: $ctype; boundary=\"$bound\"\n";
print MAIL "\n";
$lnum += 3;

# Send attachments
print MAIL "This is a multi-part message in MIME format.\n";
$lnum++;
foreach $a (@{$_[0]->{'attach'}}) {
	print MAIL "\n";
	print MAIL "--",$bound,"\n";
	$lnum += 2;
	local $enc;
	foreach $h (@{$a->{'headers'}}) {
		print MAIL $h->[0],": ",$h->[1],"\n";
		$enc = $h->[1] if (lc($h->[0]) eq 'content-transfer-encoding');
		$lnum++;
		}
	print MAIL "\n";
	$lnum++;
	if (lc($enc) eq 'base64') {
		local $enc = &encode_base64($a->{'data'});
		print MAIL $enc;
		$lnum += ($enc =~ tr/\n/\n/);
		}
	else {
		print MAIL $a->{'data'};
		$lnum += ($a->{'data'} =~ tr/\n/\n/);
		if ($a->{'data'} !~ /\n$/) {
			print MAIL "\n";
			$lnum++;
			}
		}
	}
print MAIL "\n";
print MAIL "--",$bound,"--\n";
$lnum += 2;
if ($config{'send_mode'} && !$_[1]) {
	&smtp_command(MAIL, ".\n");
	&smtp_command(MAIL, "quit\n");
	}
close(MAIL);
return $lnum;
}

# b64decode(string)
# Converts a string from base64 format to normal
sub b64decode
{
    local($str) = $_[0];
    local($res);
    $str =~ tr|A-Za-z0-9+=/||cd;
    $str =~ s/=+$//;
    $str =~ tr|A-Za-z0-9+/| -_|;
    while ($str =~ /(.{1,60})/gs) {
        my $len = chr(32 + length($1)*3/4);
        $res .= unpack("u", $len . $1 );
    }
    return $res;
}

sub guess_type
{
local $e;
if (!%mime_types) {
	open(MIME, "$root_directory/mime.types");
	while(<MIME>) {
		s/\r|\n//g;
		s/#.*$//g;
		local @s = split(/\s+/);
		foreach $e (@s[1..$#s]) {
			$mime_types{$e} = $s[0];
			}
		}
	close(MIME);
	}
if ($_[0] =~ /\.([A-z0-9]+)$/ && $mime_types{$1}) {
	return $mime_types{$1};
	}
return "application/octet-stream";
}

# can_read_mail(user)
sub can_read_mail
{
return 0 if ($_[0] =~ /\.\./);
return 0 if ($access{'mmode'} == 0);
return 1 if ($access{'mmode'} == 1);
return 1 if ($_[0] && $access{'sent'} eq $_[0]);
local $u;
if ($access{'mmode'} == 2) {
	foreach $u (split(/\s+/, $access{'musers'})) {
		return 1 if ($u eq $_[0]);
		}
	return 0;
	}
elsif ($access{'mmode'} == 4) {
	return 1 if ($_[0] eq $remote_user);
	}
elsif ($access{'mmode'} == 5) {
	local @u = getpwnam($_[0]);
	return $u[3] eq $access{'musers'};
	}
elsif ($access{'mmode'} == 3) {
	foreach $u (split(/\s+/, $access{'musers'})) {
		return 0 if ($u eq $_[0]);
		}
	return 1;
	}
elsif ($access{'mmode'} == 6) {
	return ($_[0] =~ /^$access{'musers'}$/);
	}
return 0;	# can't happen!
}

# from_hostname()
sub from_hostname
{
local ($d, $masq);
local $conf = &get_sendmailcf();
foreach $d (&find_type("D", $conf)) {
	if ($d->{'value'} =~ /^M\s*(\S*)/) { $masq = $1; }
	}
return $masq ? $masq : &get_system_hostname();
}

# mail_from_queue(qfile, dfile)
sub mail_from_queue
{
local $mail;
open(QF, $_[0]);
while(<QF>) {
	s/\r|\n//g;
	if (/^H\?[^\?]*\?(\S+):\s+(.*)/ || /^H(\S+):\s+(.*)/) {
		push(@headers, [ $1, $2 ]);
		}
	elsif (/^(\s+.*)/) {
		$headers[$#headers]->[1] .= $1;
		}
	}
close(QF);
$mail->{'headers'} = \@headers;
foreach $h (@headers) {
	$mail->{'header'}->{lc($h->[0])} = $h->[1];
	}

# Read the mail body
open(DF, $_[1]);
while(<DF>) {
	$mail->{'body'} .= $_;
	}
close(DF);
return $mail;
}

# wrap_lines(text, width)
# Given a multi-line string, return an array of lines wrapped to
# the given width
sub wrap_lines
{
local @rv;
local $w = $_[1];
foreach $rest (split(/\n/, $_[0])) {
	if ($rest =~ /\S/) {
		while($rest =~ /^(.{1,$w}\S*)\s*([\0-\377]*)$/) {
			push(@rv, $1);
			$rest = $2;
			}
		}
	else {
		# Empty line .. keep as it is
		push(@rv, $rest);
		}
	}
return @rv;
}

# smtp_command(handle, command)
sub smtp_command
{
local ($m, $c) = @_;
print $m $c;
local $r = <$m>;
if ($r !~ /^[23]\d+/) {
	&error(&text('send_esmtp', "<tt>$c</tt>", "<tt>$r</tt>"));
	}
}

# address_parts(string)
sub address_parts
{
local @rv;
local $rest = $_[0];
while($rest =~ /([^<>\s,'"\@]+\@[A-z0-9\-\.\!]+)(.*)/) {
	push(@rv, $1);
	$rest = $2;
	}
return @rv;
}

# link_urls(text)
sub link_urls
{
local $r = $_[0];
$r =~ s/((http|ftp|https|mailto):[^><"'\s]+[^><"'\s\.\)])/<a href="$1">$1<\/a>/g;
return $r;
}

# uudecode(text)
sub uudecode
{
local @lines = split(/\n/, $_[0]);
local ($l, $data);
for($l=0; $lines[$l] !~ /begin\s+([0-7]+)\s/i; $l++) { }
while($lines[++$l]) {
	$data .= unpack("u", $lines[$l]);
	}
return $data;
}

sub simplify_date
{
if ($_[0] =~ /^(\S+),\s+0*(\d+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+)/) {
	return "$2/$3/$4 $5:$6";
	}
return $_[0];
}

# simplify_from(from)
# Simplifies a From: address for display in the mail list. Only the first
# address is returned.
sub simplify_from
{
local $rv = &eucconv(&decode_mimewords($_[0]));
local @sp = &split_addresses($rv);
if (!@sp) {
	return $text{'mail_nonefrom'};
	}
else {
	return &html_escape($sp[0]->[1] ? $sp[0]->[1] : $sp[0]->[2]).
	       (@sp > 1 ? " , ..." : "");
	}
}

# simplify_subject(subject)
sub simplify_subject
{
local $rv = &eucconv(&decode_mimewords($_[0]));
$rv = substr($rv, 0, 80)." .." if (length($rv) > 80);
return $rv =~ /\S/ ? &html_escape($rv) : "<br>";
}

# quoted_decode(text)
sub quoted_decode
{
local $t = $_[0];
$t =~ s/=\n//g;
$t =~ s/=(\S\S)/pack("c",hex($1))/ge;
return $t;
}

sub decode_mimewords {
    my $encstr = shift;
    my %params = @_;
    my @tokens;
    $@ = '';           ### error-return

    ### Collapse boundaries between adjacent encoded words:
    $encstr =~ s{(\?\=)\r?\n[ \t](\=\?)}{$1$2}gs;
    pos($encstr) = 0;
    ### print STDOUT "ENC = [", $encstr, "]\n";

    ### Decode:
    my ($charset, $encoding, $enc, $dec);
    while (1) {
	last if (pos($encstr) >= length($encstr));
	my $pos = pos($encstr);               ### save it

	### Case 1: are we looking at "=?..?..?="?
	if ($encstr =~    m{\G             # from where we left off..
			    =\?([^?]*)     # "=?" + charset +
			     \?([bq])      #  "?" + encoding +
			     \?([^?]+)     #  "?" + data maybe with spcs +
			     \?=           #  "?="
			    }xgi) {
	    ($charset, $encoding, $enc) = ($1, lc($2), $3);
	    $dec = (($encoding eq 'q') ? _decode_Q($enc) : _decode_B($enc));
	    push @tokens, [$dec, $charset];
	    next;
	}

	### Case 2: are we looking at a bad "=?..." prefix? 
	### We need this to detect problems for case 3, which stops at "=?":
	pos($encstr) = $pos;               # reset the pointer.
	if ($encstr =~ m{\G=\?}xg) {
	    $@ .= qq|unterminated "=?..?..?=" in "$encstr" (pos $pos)\n|;
	    push @tokens, ['=?'];
	    next;
	}

	### Case 3: are we looking at ordinary text?
	pos($encstr) = $pos;               # reset the pointer.
	if ($encstr =~ m{\G                # from where we left off...
			 ([\x00-\xFF]*?    #   shortest possible string,
			  \n*)             #   followed by 0 or more NLs,
		         (?=(\Z|=\?))      # terminated by "=?" or EOS
			}xg) {
	    length($1) or die "MIME::Words: internal logic err: empty token\n";
	    push @tokens, [$1];
	    next;
	}

	### Case 4: bug!
	die "MIME::Words: unexpected case:\n($encstr) pos $pos\n\t".
	    "Please alert developer.\n";
    }
    return join('',map {$_->[0]} @tokens);
}

# _decode_Q STRING
#     Private: used by _decode_header() to decode "Q" encoding, which is
#     almost, but not exactly, quoted-printable.  :-P
sub _decode_Q {
    my $str = shift;
    $str =~ s/_/\x20/g;                                # RFC-1522, Q rule 2
    $str =~ s/=([\da-fA-F]{2})/pack("C", hex($1))/ge;  # RFC-1522, Q rule 1
    $str;
}

# _decode_B STRING
#     Private: used by _decode_header() to decode "B" encoding.
sub _decode_B {
    my $str = shift;
    &decode_base64($str);
}

# user_mail_file(user, [other details])
sub user_mail_file
{
if ($config{'mail_dir'}) {
	if ($config{'mail_style'} == 0) {
		return "$config{'mail_dir'}/$_[0]";
		}
	elsif ($config{'mail_style'} == 1) {
		return $config{'mail_dir'}."/".substr($_[0], 0, 1)."/".$_[0];
		}
	elsif ($config{'mail_style'} == 2) {
		return $config{'mail_dir'}."/".substr($_[0], 0, 1)."/".
			substr($_[0], 0, 2)."/".$_[0];
		}
	else {
		return $config{'mail_dir'}."/".substr($_[0], 0, 1)."/".
			substr($_[0], 1, 1)."/".$_[0];
		}
	}
elsif (@_ > 1) {
	return "$_[7]/$config{'mail_file'}";
	}
else {
	local @u = getpwnam($_[0]);
	return "$u[7]/$config{'mail_file'}";
	}
}

# extract_mail(data)
# Converts the text of a message into mail object.
sub extract_mail
{
local ($amail, @aheaders, $i);
local @alines = split(/\n/, $_[0]);
while($i < @alines && $alines[$i]) {
	if ($alines[$i] =~ /^(\S+):\s*(.*)/) {
		push(@aheaders, [ $1, $2 ]);
		}
	elsif ($alines[$i] =~ /^(\s+.*)/) {
		$aheaders[$#aheaders]->[1] .= $1;
		}
	$i++;
	}
$amail->{'headers'} = \@aheaders;
foreach $h (@aheaders) {
	$amail->{'header'}->{lc($h->[0])} = $h->[1];
	}
splice(@alines, 0, $i);
$amail->{'body'} = join("\n", @alines)."\n";
return $amail;
}

# split_addresses(string)
# Splits a comma-separated list of addresses into [ email, real-name ] pairs
sub split_addresses
{
local (@rv, $str = $_[0]);
while(1) {
	if ($str =~ /^[\s,]*(([^<>\(\)\s]+)\s+\(([^\(\)]+)\))(.*)$/) {
		push(@rv, [ $2, $3, $1 ]);
		$str = $4;
		}
	elsif ($str =~ /^[\s,]*("([^"]+)"\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>]+)\s+<([^\s<>]+)>)(.*)$/ ||
	       $str =~ /^[\s,]*(([^<>\[\]]+)\s+\[mailto:([^\s\[\]]+)\])(.*)$/||
	       $str =~ /^[\s,]*(()<([^\s<>]+)>)(.*)/ ||
	       $str =~ /^[\s,]*(()([^\s<>,]+))(.*)/) {
		push(@rv, [ $3, $2, $1 ]);
		$str = $4;
		}
	else {
		last;
		}
	}
return @rv;
}

$match_ascii = '\x1b\([BHJ]([\t\x20-\x7e]*)';
$match_jis = '\x1b\$[@B](([\x21-\x7e]{2})*)';

sub eucconv {
	local($_) = @_;
	if ($current_lang eq 'ja_JP.euc') {
		s/$match_jis/&j2e($1)/geo;
		s/$match_ascii/$1/go;
		}
	$_;
}

sub j2e {
	local($_) = @_;
	tr/\x21-\x7e/\xa1-\xfe/;
	$_;
}

1;
070701000214af000081e40000000000000002000000013d1fe2d4000007cc000000200000000000000000000000000000001900000003reloc/sendmail/build.cgi  #!/usr/local/bin/perl
# build.cgi
# Build a new sendmail.cf, after first confirming the changes

require './sendmail-lib.pl';
require './features-lib.pl';
$features_access || &error($text{'features_ecannot'});
&ReadParse();

if ($in{'confirm'}) {
	# Replace sendmail.cf with new version
	&lock_file($config{'sendmail_cf'});
	system("cd $config{'sendmail_features'}/m4 ; m4 $config{'sendmail_features'}/m4/cf.m4 $config{'sendmail_mc'} 2>/dev/null >$config{'sendmail_cf'} </dev/null");
	&unlock_file($config{'sendmail_cf'});
	&restart_sendmail();
	&webmin_log("build");
	&redirect("");
	}
else {
	# Just show user what would be done
	&header($text{'build_title'}, "");
	print "<hr>\n";

	if (!&has_command("m4")) {
		print "<p>",&text('build_em4', "<tt>m4</tt>"),"<p>\n";
		print "<hr>\n";
		&footer("list_features.cgi", $text{'features_return'});
		exit;
		}

	$temp = &tempname();
	$out = `cd $config{'sendmail_features'}/m4 ; m4 $config{'sendmail_features'}/m4/cf.m4 $config{'sendmail_mc'} 2>&1 >$temp`;
	if ($?) {
		print "<p>",&text('build_ebuild', "<pre>$out</pre>"),"<p>\n";
		print "<hr>\n";
		&footer("list_features.cgi", $text{'features_return'});
		exit;
		}
	if (&has_command("diff")) {
		$diff = `diff $config{'sendmail_cf'} $temp 2>/dev/null`;
		if (!$diff) {
			print "<p>$text{'build_nodiff'}<p>\n";
			print "<hr>\n";
			&footer("list_features.cgi", $text{'features_return'});
			exit;
			}
		}
	
	print "<center><form action=build.cgi>\n";
	print "<input type=hidden name=confirm value=1>\n";
	print &text('build_rusure', "<tt>$config{'sendmail_cf'}</tt>",
		    "<tt>$config{'sendmail_mc'}</tt>"),"<p>\n";
	print $text{'build_rusure2'},"<p>\n";
	print "<input type=submit value='$text{'build_ok'}'>\n";
	print "</form></center>\n";

	if ($diff) {
		print "<b>$text{'build_diff'}</b><p>\n";
		print "<table border><tr $cb><td><pre>",
		      $diff,"</pre></td></tr></table><p>\n";
		}
	unlink($temp);

	print "<hr>\n";
	&footer("list_features.cgi", $text{'features_return'});
	}

070701000214b0000081a40000000000000002000000013d1fe2d4000001a8000000200000000000000000000000000000001a00000003reloc/sendmail/config-aix sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/sendmail.pid
makemap_path=makemap
sendmail_command=startsrc -s sendmail -a "-bd -q30m"
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
alias_skip=COMPONENT_NAME FUNCTIONS ORIGINS
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
070701000214b1000081a40000000000000002000000013d1fe2d300000202000000200000000000000000000000000000002300000003reloc/sendmail/config-cobalt-linux    sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/lib/sendmail-cf
sendmail_mc=/usr/lib/sendmail-cf/redhat.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214b2000081a40000000000000002000000013d1fe2d30000017b000000200000000000000000000000000000002200000003reloc/sendmail/config-corel-linux sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214b3000081a40000000000000002000000013d1fe2d3000001ca000000200000000000000000000000000000002300000003reloc/sendmail/config-debian-linux    sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214b4000081a40000000000000002000000013d1fe2d3000001cf000000200000000000000000000000000000002700000003reloc/sendmail/config-debian-linux-2.1    sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214b5000081a40000000000000002000000013d1fe2d3000001cf000000200000000000000000000000000000002700000003reloc/sendmail/config-debian-linux-2.2    sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214b6000081a40000000000000002000000013d1fe2d4000001cf000000200000000000000000000000000000002700000003reloc/sendmail/config-debian-linux-3.0    sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214b7000081a40000000000000002000000013d1fe2d3000001f9000000200000000000000000000000000000001e00000003reloc/sendmail/config-freebsd makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214b8000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.0 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214b9000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.1 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214ba000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.2 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214bb000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.3 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214bc000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.4 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214bd000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.5 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214be000081a40000000000000002000000013d1fe2d4000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-4.6 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214bf000081a40000000000000002000000013d1fe2d3000001fe000000200000000000000000000000000000002200000003reloc/sendmail/config-freebsd-5.0 makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/src/contrib/sendmail/cf
sendmail_mc=/usr/src/etc/sendmail/freebsd.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214c0000081e40000000000000002000000013d1fe2d40000020b000000200000000000000000000000000000002400000003reloc/sendmail/config-generic-linux   sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/usr/lib/sendmail -bd -q1h
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214c1000081a40000000000000002000000013d1fe2d300000178000000200000000000000000000000000000001b00000003reloc/sendmail/config-hpux    sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/sbin/init.d/sendmail start
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
070701000214c2000081a40000000000000002000000013d1fe2d3000001c0000000200000000000000000000000000000001b00000003reloc/sendmail/config-irix    access_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/sendmail.pid
alias_file=
domains_file=
sendmail_command=/usr/lib/sendmail -bd -q1h
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
070701000214c3000081a40000000000000002000000013d1fe2d3000001fc000000200000000000000000000000000000001c00000003reloc/sendmail/config-macos   makemap_path=makemap
mail_dir=/var/mail
sendmail_path=/usr/sbin/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
sendmail_command=/usr/sbin/sendmail -bd
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
sendmail_mc=/usr/share/sendmail/conf/cf/generic-darwin.mc
sendmail_features=/usr/share/sendmail/conf
mailq_show=Date,From,To,Size,Status
070701000214c4000081a40000000000000002000000013d1fe2d400000201000000200000000000000000000000000000002000000003reloc/sendmail/config-macos-1.3   makemap_path=makemap
mail_dir=/var/mail
sendmail_path=/usr/sbin/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
sendmail_command=/usr/sbin/sendmail -bd
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
sendmail_mc=/usr/share/sendmail/conf/cf/generic-darwin.mc
sendmail_features=/usr/share/sendmail/conf
mailq_show=Date,From,To,Size,Status
   070701000214c5000081a40000000000000002000000013d1fe2d400000201000000200000000000000000000000000000002000000003reloc/sendmail/config-macos-1.4   makemap_path=makemap
mail_dir=/var/mail
sendmail_path=/usr/sbin/sendmail
sendmail_pid=/var/run/sendmail.pid
alias_file=
sendmail_command=/usr/sbin/sendmail -bd
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
sendmail_mc=/usr/share/sendmail/conf/cf/generic-darwin.mc
sendmail_features=/usr/share/sendmail/conf
mailq_show=Date,From,To,Size,Status
   070701000214c6000081a40000000000000002000000013d1fe2d4000001fb000000200000000000000000000000000000002500000003reloc/sendmail/config-mandrake-linux  sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214c7000081a40000000000000002000000013d1fe2d400000200000000200000000000000000000000000000002900000003reloc/sendmail/config-mandrake-linux-8.2  sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
070701000214c8000081a40000000000000002000000013d1fe2d4000001ab000000200000000000000000000000000000002000000003reloc/sendmail/config-msc-linux   sendmail_cf=/etc/mail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214c9000081a40000000000000002000000013d1fe2d4000001ea000000200000000000000000000000000000001d00000003reloc/sendmail/config-netbsd  makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214ca000081a40000000000000002000000013d1fe2d30000020a000000200000000000000000000000000000002100000003reloc/sendmail/config-open-linux  sendmail_cf=/etc/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214cb000081a40000000000000002000000013d1fe2d40000020f000000200000000000000000000000000000002500000003reloc/sendmail/config-open-linux-2.5  sendmail_cf=/etc/mail/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214cc000081a40000000000000002000000013d1fe2d40000020f000000200000000000000000000000000000002600000003reloc/sendmail/config-open-linux-3.1e sendmail_cf=/etc/mail/sendmail.cf
sendmail_features=/usr/share/sendmail/cf
sendmail_mc=/usr/share/sendmail/cf/cf/generic-openlinux.mc
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/mta start
sendmail_stop_command=/etc/rc.d/init.d/mta stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214cd000081a40000000000000002000000013d1fe2d300000186000000200000000000000000000000000000001e00000003reloc/sendmail/config-openbsd makemap_path=makemap
alias_file=
sendmail_pid=/var/run/sendmail.pid
mailers_file=
sendmail_cf=/etc/sendmail.cf
virtusers_file=
sendmail_command=/usr/sbin/sendmail -bd -q30m
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/mail
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214ce000081a40000000000000002000000013d1fe2d3000001a7000000200000000000000000000000000000002100000003reloc/sendmail/config-openserver  sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/usr/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214cf000081a40000000000000002000000013d1fe2d400000185000000200000000000000000000000000000001b00000003reloc/sendmail/config-osf1    sendmail_cf=/var/adm/sendmail/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/sbin/init.d/sendmail start
sendmail_path=/usr/sbin/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214d0000081a40000000000000002000000013d1fe2d4000001f9000000200000000000000000000000000000002300000003reloc/sendmail/config-redhat-linux    sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/lib/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214d1000081a40000000000000002000000013d1fe2d4000001fb000000200000000000000000000000000000002700000003reloc/sendmail/config-redhat-linux-7.1    sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214d2000081a40000000000000002000000013d1fe2d4000001fb000000200000000000000000000000000000002700000003reloc/sendmail/config-redhat-linux-7.2    sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214d3000081a40000000000000002000000013d1fe2d4000001fb000000200000000000000000000000000000002700000003reloc/sendmail/config-redhat-linux-7.3    sendmail_cf=/etc/sendmail.cf
sendmail_mc=/etc/mail/sendmail.mc
sendmail_features=/usr/share/sendmail-cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214d4000081a40000000000000002000000013d1fe2d400000176000000200000000000000000000000000000002600000003reloc/sendmail/config-slackware-linux sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
  070701000214d5000081e40000000000000002000000013d1fe2d40000020b000000200000000000000000000000000000002a00000003reloc/sendmail/config-slackware-linux-8.0 sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/usr/lib/sendmail -bd -q1h
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214d6000081e40000000000000002000000013d1fe2d40000020b000000200000000000000000000000000000002a00000003reloc/sendmail/config-slackware-linux-8.1 sort_mode=0
track_read=0
sendmail_path=/usr/lib/sendmail
sendmail_command=/usr/lib/sendmail -bd -q1h
smrsh_dir=/etc/smrsh
perpage=20
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
order_mail=0
mail_dir=/var/spool/mail
sendmail_cf=/etc/mail/sendmail.cf
wrap_width=80
alias_file=
generics_file=
mailq_refresh=
wrap_mode=
virtusers_file=
domains_file=
access_file=
send_mode=
mailers_file=
sendmail_stop_command=
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214d7000081a40000000000000002000000013d1fe2d3000001ec000000200000000000000000000000000000001e00000003reloc/sendmail/config-solaris sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
070701000214d8000081a40000000000000002000000013d1fe2d300000245000000200000000000000000000000000000002000000003reloc/sendmail/config-solaris-7   access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/mail/sendmail.pid
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214d9000081a40000000000000002000000013d1fe2d300000245000000200000000000000000000000000000002000000003reloc/sendmail/config-solaris-8   access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/mail/sendmail.pid
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214da000081a40000000000000002000000013d1fe2d400000245000000200000000000000000000000000000002000000003reloc/sendmail/config-solaris-9   access_file=
sendmail_cf=/etc/mail/sendmail.cf
virtusers_file=
makemap_path=makemap
sendmail_path=/usr/lib/sendmail
sendmail_pid=/etc/mail/sendmail.pid
alias_file=
domains_file=
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
mailers_file=
generics_file=
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_mc=/usr/lib/mail/cf/main-v7sun.mc
sendmail_features=/usr/lib/mail
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214db000081a40000000000000002000000013d1fe2d3000001bb000000200000000000000000000000000000002100000003reloc/sendmail/config-suse-linux  sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/usr/lib/sendmail -bd -q1h
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/share/sendmail
sendmail_mc=/etc/mail/linux.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
 070701000214dc000081a40000000000000002000000013d1fe2d3000001f9000000200000000000000000000000000000002200000003reloc/sendmail/config-turbo-linux sendmail_cf=/etc/sendmail.cf
sendmail_pid=/var/run/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/rc.d/init.d/sendmail start
sendmail_stop_command=/etc/rc.d/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/spool/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
sendmail_features=/usr/lib/sendmail-cf
sendmail_mc=/etc/mail/sendmail.mc
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214dd000081a40000000000000002000000013d1fe2d3000001a1000000200000000000000000000000000000001f00000003reloc/sendmail/config-unixware    sendmail_cf=/etc/sendmail.cf
sendmail_pid=/etc/mail/sendmail.pid
makemap_path=makemap
sendmail_command=/etc/init.d/sendmail start
sendmail_stop_command=/etc/init.d/sendmail stop
sendmail_path=/usr/lib/sendmail
mail_dir=/var/mail
perpage=20
sort_mode=0
wrap_width=80
order_mail=0
smrsh_dir=/etc/smrsh
track_read=0
show_to=0
max_records=200
top_buttons=1
mail_file=mbox
mail_style=0
mailq_show=Date,From,To,Size,Status
   070701000214de000081a40000000000000002000000013d1fe2d4000006ed000000200000000000000000000000000000001b00000003reloc/sendmail/config.info    sendmail_cf=Full path to sendmail.cf,8
sendmail_features=Sendmail M4 base directory,7
sendmail_mc=Full path to M4 config file,8
sendmail_pid=Full path to sendmail pid file,8
sendmail_command=Command to start sendmail in server mode,0
sendmail_stop_command=Command to stop sendmail,3,Kill process
mailq_refresh=Seconds to wait before refreshing mail queue,3,Don't refresh
perpage=Mail messages to display per page,0
wrap_width=Width to wrap mail messages at,0
sort_mode=Sort tables by,1,0-Order in file,1-Name
send_mode=Send mail via connection to,3,Sendmail executable
order_mail=When reading mail start at,1,0-Latest,1-Oldest
makemap_path=Makemap comand,0
sendmail_path=Sendmail command,0
alias_file=Full path to sendmail aliases file,3,Automatic
virtusers_file=Source file for virtusers database,3,Same as DBM
mailers_file=Source file for mailertable database,3,Same as DBM
generics_file=Source file for generics database,3,Same as DBM
access_file=Source file for the access database,3,Same as DBM
domains_file=Source file for the domains database,3,Same as DBM
mail_dir=User mail file location,3,File under home directory
mail_file=Mail file in home directory,0
mail_style=Mail file directory style,4,0-mail/username,1-mail/u/username,2-mail/u/us/username,3-mail/u/s/username
smrsh_dir=SMRSH directory,3,None
wrap_mode=Wrapping mode in mail textarea,1,-Default,wrap=on-On,wrap=off-Off,wrap=auto-Auto
track_read=Keep track of read/unread emails,1,1-Yes,0-No
show_to=Show To: address in mailboxes?,1,1-Yes,0-No
max_records=Maxiumum number of records to show in tables,0,6
top_buttons=Show buttons at top for,1,2-Mailboxes and mails,1-Mailboxes only,0-Never
mailq_show=Headers to show in mail queue,2,Date-Date,From-From,To-To,Subject-Subject,Cc-Cc,Size-Size,Status-Status
   070701000214df000081a40000000000000002000000013d1fe2d400000764000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.ca sendmail_cf=Camí complet de sendmail.cf,8
sendmail_features=Directori base del M4 de sendmail,7
sendmail_mc=Camí complet del fitxer de configuració M4,8
sendmail_pid=Camí complet del fitxer de PID de sendmail,8
sendmail_command=Ordre per iniciar sendmail en mode servidor,0
sendmail_stop_command=Ordre per aturar sendmail,3,Mata el procés
mailq_refresh=Segons d'espera abans de refrescar la cua de correu,3,No refresquis
perpage=Missatges de correu a mostrar per pàgina,0
wrap_width=Amplada del text dels missatges,0
sort_mode=Ordena les taules per,1,0-L'ordre del fitxer,1-Nom
send_mode=Envia el correu via connexió a,3,Executable sendmail
order_mail=En llegir el correu comença pel,1,0-Més recent,1-Més antic
makemap_path=Ordre makemap,0
sendmail_path=Ordre sendmail,0
alias_file=Camí complet del fitxer d'àlies de sendmail,3,Automàtic
virtusers_file=Fitxer font de la base de dades virtusers,3,Igual que DBM
mailers_file=Fitxer font de la base de dades mailertable,3,Igual que DBM
generics_file=Fitxer font de la base de dades genèrica,3,Igual que DBM
access_file=Fitxer font de la base de dades d'accés,3,Igual que DBM
domains_file=Fitxer font de la base de dades de dominis,3,Igual que DBM
mail_dir=Ubicació del fitxer de correu de l'usuari,3,Fitxer al directori de l'usuari
mail_file=Fitxer de correu al directori de l'usuari,0
mail_style=Estil de directoris dels fitxers de correu,4,0-mail/usuari,1-mail/u/usuari,2-mail/u/us/usuari,3-mail/u/s/usuari
smrsh_dir=Directori SMRSH,3,Cap
wrap_mode=Truncament de l'àrea de text de correu,1,-Defecte,wrap=on-Activat,wrap=off-Desactivat,wrap=auto-Automàtic
track_read=Pren nota dels correus llegits/no llegits,1,1-Sí,0-No
show_to=Mostra l'adreça To: a les bústies,1,1-Sí,0-No
max_records=Nombre màxim de registres a mostrar a les taules,0,6
top_buttons=Mostra els botons a dalt,1,2-Per a les bústies i missatges,1-Només per a les bústies,0-Mai
070701000214e0000081a40000000000000002000000013d1fe2d4000003f3000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.cz sendmail_cf=Full path to sendmail.cf,0
sendmail_pid=Full path to sendmail pid file,0
sendmail_command=Command to start sendmail in server mode,0
sendmail_stop_command=Command to stop sendmail,3,Kill process
mailq_refresh=Seconds to wait before refreshing mail queue,3,Don't refresh
perpage=Mail messages to display per page,0
wrap_width=Width to wrap mail messages at,0
sort_mode=Sort tables by,1,0-Order in file,1-Name
send_mode=Send mail via connection to,3,Sendmail executable
order_mail=When reading mail start at,1,0-Latest,1-Oldest
makemap_path=Makemap comand,0
sendmail_path=Sendmail command,0
alias_file=Full path to sendmail aliases file,3,Automatic
virtusers_file=Source file for virtusers database,3,Same as DBM
mailers_file=Source file for mailertable database,3,Same as DBM
generics_file=Source file for generics database,3,Same as DBM
access_file=Source file for the access database,3,Same as DBM
domains_file=Source file for the domains database,3,Same as DBM
mail_dir=User mail file directory,3
 070701000214e1000081a40000000000000002000000013d1fe2d300000498000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.de sendmail_cf=Voller Pfad zu sendmail.cf,8
sendmail_pid=Voller Pfad zur sendmail PID Datei,8
sendmail_command=Kommando zum starten von Sendmail im Server Modus,0
sendmail_stop_command=Kommando zum Stoppen von Sendmail,3,Prozess killen
mailq_refresh=Sekunden&#44; nach denen die Ausgabe der Warteschlange aktualisiert wird,3,Keine Aktualisierung
perpage=Mails pro Seite,0
wrap_width=Breite&#44; bei denen Mails umgebrochen werden sollen,0
sort_mode=Sortiere Tabellen nach,1,0-Reihenfolge aus Datei,1-Name
send_mode=Sende email &uuml;ber Verbindung zu,3,Sendmail executable
order_mail=Beim email lesen starte bei,1,0-Neuester,1-&Auml;ltester
makemap_path=Makemap Kommando,0
sendmail_path=Sendmail Kommando,0
alias_file=Volle Pfad zur Sendmail Alias Datei,3,Automatisch
virtusers_file=Quell Datei f&uuml;r virtusers Datenbank,3,Gleicher wie DBM
mailers_file=Quell Datei f&uuml;r mailertable Datenbank,3,Gleicher wie DBM
generics_file=Quell Datei f&uuml;r generics Datenbank,3,Gleicher wie DBM
access_file=Quell Datei f&uuml;r access Datenbank,3,Gleicher wie DBM
domains_file=Quell Datei f&uuml;r domains Datenbank,3,Gleicher wie DBM
mail_dir=Verzeichnis mit Benutzermail Dateien,3
070701000214e2000081a40000000000000002000000013d1fe2d30000059a000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.es sendmail_cf=Trayectoria completa a sendmail.cf,0
sendmail_pid=Trayectoria completa a archivo de pid de sendmail,0
sendmail_command=Comando para arrancar sendmail en modo servidor,0
sendmail_stop_command=Comando para parar sendmail,3,Matar proceso
mailq_refresh=Segundos a esperar antes de refrescar la cola de correo,3,No refrescar
perpage=Mensajes de correo a mostrar por página,0
wrap_width=Ancho en el que continuar en otra línea los mensajes de correo,0
sort_mode=Clasificar tablas por,1,0-Orden en archivo,1-Nombre
send_mode=Enviar correo a través de la conexión a,3,Ejecutable Sendmail
order_mail=Al leer correo comenzar por el,1,0-Último,1-Más viejo
makemap_path=Comando Makemap,0
sendmail_path=Comando Sendmail,0
alias_file=Trayectoria completa a archivo de alias de sendmail,3,Automática
virtusers_file=Archivo fuente para base de datos de usuarios virtuales,3,La misma que DBM
mailers_file=Archivo fuente para base de datos tabla de carteros,3,La misma que DBM
generics_file=Archivo fuente para base de datos de genéricos,3,La misma que DBM
access_file=Archivo fuente la base de datos de acceso,3,La misma que DBM
domains_file=Archivo fuente para la base de datos de dominios,3,La misma que DBM
mail_dir=Directorio de archivo de usuario de correo,3
smrsh_dir=Directorio SMRSH,3,Ninguno
wrap_mode=Modo de salto de línea en área de texto de correo,1,-Por defecto,salto=activado-On,salto=desactivado-Off,salto=automático-Auto

  070701000214e3000081a40000000000000002000000013d1fe2d3000003f6000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.fr sendmail_cf=Chemin du fichier sendmail.cf,0
sendmail_pid=Chemin du fichier de numéro de processus,0
sendmail_command=Commande pour démarrer le serveur sendmail,0
sendmail_stop_command=Commande pour arrêter sendmail,3,Tuer le processus
mailq_refresh=Nombre de secondes d'attente avant de rafraîchir la file d'attente des couriel,3,Ne pas rafraîchir
makemap_path=Commande 'makemap',0
perpage=Nombre de couriel affiché par page,0
sort_mode=Trié les tables par,1,0-Ordre dans le fichier,1-Par nom
sendmail_path=Commande sendmail,0
alias_file=Chemin du fichier d'alias,3,Automatique
virtusers_file=Fichier source de base de donnée des usagers virtuels,3,Même que DBM
mailers_file=Fichier source de base de donnée des tables de poste,3,Même que DBM
generics_file=Fichier source de base de donnée générique,3,Même que DBM
access_file=Fichier source de base de donnée d'accès,3,Même que DBM
domains_file=Fichier source de base de donnée des domaines,3,Même que DBM
mail_dir=Répertoire des fichier de couriel des usagers,3
  070701000214e4000081a40000000000000002000000013d1fe2d4000005ae000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.pl sendmail_cf=Pe³na ¶cie¿ka do sendmail.cf,8
sendmail_pid=Pe³na ¶cie¿ka do pliku z PID sendmaila,8
sendmail_command=Polecenie uruchamiaj±ce sendmaila jako server,0
sendmail_stop_command=Polecenie zatrzymuj±ce sendmaila,3,Zabij proces
mailq_refresh=Przed od¶wie¿eniem kolejki czekaj sekund,3,Nie od¶wie¿aj
perpage=Liczba wiadomo¶ci na stronie,0
wrap_width=£am linie wiadomo¶ci w kolumnie,0
sort_mode=Wy¶wietlaj tabele wg,1,0-Porz±dku w zbiorze,1-Nazwy
send_mode=Wysy³aj pocztê ³±cz±c siê z,3,Programem sendmail
order_mail=Czytaj±c pocztê zacznij od,1,0-Najnowszej,1-Najstarszej
makemap_path=Polecenie <tt>makemap</tt>,0
sendmail_path=Polecenie <tt>sendmail</tt>,0
alias_file=Pe³na ¶cie¿ka do pliku aliasów sendmaila,3,Automatycznie
virtusers_file=Plik ¼ród³owy bazy danych <tt>virtusers</tt>,3,Ten sam co DBM
mailers_file=Plik ¼ród³owy bazy danych <tt>mailertable</tt>,3,Ten sam co DBM
generics_file=Plik ¼ród³owy bazy danych <tt>generics</tt>,3,Ten sam co DBM
access_file=Plik ¼ród³owy bazy danych <tt>access</tt>,3,Ten sam co DBM
domains_file=Plik ¼ród³owy bazy danych <tt>domains</tt>,3,Ten sam co DBM
mail_dir=Skrzynki pocztowe u¿ytkowników,3
smrsh_dir=Katalog SMRSH,3,Brak
wrap_mode=Tryb zawijania w&nbsp;polach tekstowym poczty,1,-Domy¶lne,wrap=on-W³±czone,wrap=off-Wy³±czone,wrap=auto-Automatycznie 
track_read=¦ledzenie przeczytanych/nieprzeczytanych wiadomo¶ci,1,1-Tak,0-Nie
show_to=Pokazywaæ adresy To: w&nbsp;skrzynkach pocztowych?,1,1-Tak,0-Nie
  070701000214e5000081a40000000000000002000000013d1fe2d40000037e000000200000000000000000000000000000002100000003reloc/sendmail/config.info.ru_RU  sendmail_stop_command=Êîìàíäà äëÿ îñòàíîâêè sendmail,3,Óáèòü ïðîöåññ
mail_dir=Êàòàëîã ïîëüçîâàòåëüñêèõ ïî÷òîâûõ ôàéëîâ,3
access_file=Èñõîäíûé ôàéë äëÿ áàçû äàííûõ access,3,Òàêîé-æå êàê DBM
mailq_refresh=Ñêîëüêî ñåêóíä æäàòü äî îáíîâëåíèÿ ïî÷òîâîé î÷åðåäè,3,Íå îáíîâëÿòü
perpage=Ïîêàçûâàòü ïî÷òîâûõ ñîîáùåíèé íà ñòðàíèöó,0
sendmail_cf=Ïîëíûé ïóòü ê sendmail.cf,0
virtusers_file=Èñõîäíûé ôàéë äëÿ áàçû äàííûõ virtusers,3,Òàêîé-æå êàê DBM
makemap_path=Makemap êîìàíäà,0
sendmail_pid=Ïîëíûé ïóòü ê pid ôàéëó sendmail,0
sendmail_path=Sendmail êîìàíäà,0
alias_file=Ïîëíûé ïóòü ê ôàéëó ïñåâäîíèìîâ sendmail,3,Àâòîìàòè÷åñêè
domains_file=Èñõîäíûé ôàéë äëÿ áàçû äàííû domains,3,Òàêîé-æå êàê DBM
sendmail_command=Êîìàíäà äëÿ ñòàðòà sendmail â ðåæèìå ñåðâåðà,0
mailers_file=Èñõîäíûé ôàéë äëÿ áàçû äàííûõ mailertable,3,Òàêîé-æå êàê DBM
generics_file=Èñõîäíûé ôàéë äëÿ áàçû äàííûõ generic,3,Òàêîé-æå êàê DBM
  070701000214e6000081a40000000000000002000000013d1fe2d30000037e000000200000000000000000000000000000002100000003reloc/sendmail/config.info.ru_SU  sendmail_cf=ðÏÌÎÙÊ ÐÕÔØ Ë sendmail.cf,0
sendmail_pid=ðÏÌÎÙÊ ÐÕÔØ Ë pid ÆÁÊÌÕ sendmail,0
sendmail_command=ëÏÍÁÎÄÁ ÄÌÑ ÓÔÁÒÔÁ sendmail × ÒÅÖÉÍÅ ÓÅÒ×ÅÒÁ,0
sendmail_stop_command=ëÏÍÁÎÄÁ ÄÌÑ ÏÓÔÁÎÏ×ËÉ sendmail,3,õÂÉÔØ ÐÒÏÃÅÓÓ
mailq_refresh=óËÏÌØËÏ ÓÅËÕÎÄ ÖÄÁÔØ ÄÏ ÏÂÎÏ×ÌÅÎÉÑ ÐÏÞÔÏ×ÏÊ ÏÞÅÒÅÄÉ,3,îÅ ÏÂÎÏ×ÌÑÔØ
makemap_path=Makemap ËÏÍÁÎÄÁ,0
sendmail_path=Sendmail ËÏÍÁÎÄÁ,0
alias_file=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ÐÓÅ×ÄÏÎÉÍÏ× sendmail,3,á×ÔÏÍÁÔÉÞÅÓËÉ
virtusers_file=éÓÈÏÄÎÙÊ ÆÁÊÌ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ virtusers,3,ôÁËÏÊ-ÖÅ ËÁË DBM
mailers_file=éÓÈÏÄÎÙÊ ÆÁÊÌ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ mailertable,3,ôÁËÏÊ-ÖÅ ËÁË DBM
generics_file=éÓÈÏÄÎÙÊ ÆÁÊÌ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ generic,3,ôÁËÏÊ-ÖÅ ËÁË DBM
access_file=éÓÈÏÄÎÙÊ ÆÁÊÌ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ access,3,ôÁËÏÊ-ÖÅ ËÁË DBM
domains_file=éÓÈÏÄÎÙÊ ÆÁÊÌ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙ domains,3,ôÁËÏÊ-ÖÅ ËÁË DBM
mail_dir=ëÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÐÏÞÔÏ×ÙÈ ÆÁÊÌÏ×,3
perpage=ðÏËÁÚÙ×ÁÔØ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ ÎÁ ÓÔÒÁÎÉÃÕ,0
  070701000214e7000081a40000000000000002000000013d1fe2d300000467000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.sv sendmail_cf=Fullständig sökväg till sendmail.cf,0
sendmail_pid=Fullständig sökväg till PID-fil för sendmail,0
sendmail_command=Kommando för att starta sendmail i servermod,0
sendmail_stop_command=Kommando för att stanna sendmail,3,Kill process
mailq_refresh=Väntetid (sekunder) för att uppdatera e-postkön,3,Uppdatera inte
perpage=Antal e-postbrev per sida,0
wrap_width=Maximal bredd för e-postbrev (ombrytning sker),0
sort_mode=Sortera tabeller efter,1,0-ordningen i filen,1-Namn
send_mode=Skicka e-post via förbindelse till,3,Sendmail executable
order_mail=När jag läser e-post vill jag börja läsa det,1,0-senaste,1-äldsta
makemap_path=Makemap-kommando,0
sendmail_path=Sendmail-kommando,0
alias_file=Fullständig sökväg till aliasfil för sendmail,3,Automatisk
virtusers_file=Källfil för virtusers-databas,3,Samma som DBM
mailers_file=Källfil för mailertable-databas,3,Samma som DBM
generics_file=Källfil för generics-databas,3,Samma som DBM
access_file=Källfil för access-databas,3,Samma som DBM
domains_file=Källfil för domän-databas,3,Samma som DBM
mail_dir=Användarkatalog för e-postfiler,3
smrsh_dir=SMRSH-katalog,3,Ingen
 070701000214e8000081a40000000000000002000000013d1fe2d400000456000000200000000000000000000000000000001e00000003reloc/sendmail/config.info.tr sendmail_cf=sendmail.cf dosyasýnýn tam yeri,8
sendmail_pid=Sendmail pid dosyasýnýn tam yeri,8
sendmail_command=Sendmail'i sunucu modunda çalýþtýrma komutu,0
sendmail_stop_command=Sendmail'i durdurma komutu,3,Ýþlemi öldür
mailq_refresh=Posta kuyruðunun tazelenme süresi(saniye),3,Don't refresh
perpage=Sayfa baþýna gösterilecek mesaj sayýsý,0
wrap_width=Birleþtirilem mesaj sayýsý,0
sort_mode=Tablolarý sýralama þekli,1,0-Dosyadaki sýrayla,1-Ýsimle
send_mode=Baðlantý ile postayý gönder,3,Sendmail çalýþtýrýlabiliri
order_mail=Postalarýn okunma sýrasý,1,0-En son,1-En eski
makemap_path=Makemap komutu,0
sendmail_path=Sendmail komutu,0
alias_file=Sendmail takma adlarý dosyasýnýn tam yolu,3,Automatic
virtusers_file=Virtusers veritabaný dosyasýnýn kaynak dosyasý,3,DBM ile ayný
mailers_file=Mailertable veritabaný dosyasýnýn kaynak dosyasý,3,DBM ile ayný
generics_file=Senerics veritabaný dosyasýnýn kaynak dosyasý,3,DBM ile ayný
access_file=Giriþ veritabaný dosyasýnýn kaynak dosyasý,3,DBM ile ayný
domains_file=Alan veritabaný dosyasýnýn kaynak dosyasý,3,DBM ile ayný
mail_dir=Kullanýcý posta dosyasý dizini,3
  070701000214e9000081a40000000000000002000000013d1fe2d30000033f000000200000000000000000000000000000002100000003reloc/sendmail/config.info.zh_CN  sendmail_cf=sendmail.cfµÄÈ«Â·¾¶,0
sendmail_pid=sendmail pid ÎÄ¼þµÄÈ«Â·¾¶,0
sendmail_command=ÔÚ·þÎñÆ÷Ä£Ê½Æô¶¯ sendmail µÄÃüÁî,0
sendmail_stop_command=Í£Ö¹sendmailµÄÃüÁî,3,É±ËÀ½ø³Ì
mailq_refresh=ÔÚË¢ÐÂÓÊ¼þ¶ÓÁÐÖ®Ç°µÈ´ýµÄÒÔÃëÎªµ¥Î»µÄÊ±¼ä,3,²»Ë¢ÐÂ
perpage=Ã¿Ò³ÏÔÊ¾µÄÓÊ¼þÊýÄ¿,0
wrap_width=ÓÊ¼þÄÚÈÝ×Ô¶¯»»ÐÐµÄ¿í¶È,0
sort_mode=ÅÅÐò±í¸ñµÄÒÀ¾Ý,0-ÎÄ¼þ,1-Ãû×Ö
send_mode=Í¨¹ýÊ²Ã´Á¬½Ó·¢ËÍÓÊ¼þ,3,Sendmail ¿ÉÖ´ÐÐ³ÌÐò
order_mail=ÔÄ¶ÁÓÊ¼þµÄË³Ðò,1,0-×î½ü,1-×îÀÏ
makemap_path=Makemap ÃüÁî,0
sendmail_path=Sendmail ÃüÁî,0
alias_file=sendmail ±ðÃûµÄÈ«Â·¾¶,3,×Ô¶¯
virtusers_file=ÐéÄâÓÃ»§Êý¾Ý¿âµÄÔ´ÎÄ¼þ,3,µÈÍ¬ÓÚ DBM
mailers_file=mailertable Êý¾Ý¿âµÄÔ´ÎÄ¼þ,3,µÈÍ¬ÓÚ DBM
generics_file=Í¨ÓÃÊý¾Ý¿âµÄÔ´ÎÄ¼þ,3,µÈÍ¬ÓÚ DBM
access_file=¿ØÖÆÊý¾Ý¿âµÄÔ´ÎÄ¼þ,3,µÈÍ¬ÓÚ DBM
domains_file=ÓòÊý¾Ý¿âµÄÔ´ÎÄ¼þ,3,µÈÍ¬ÓÚ DBM
mail_dir=ÓÃ»§ÓÊ¼þÎÄ¼þÄ¿Â¼,3
smrsh_dir=SMRSH Ä¿Â¼,3,ÎÞ
 070701000214ea000081a40000000000000002000000013d1fe2d30000037a000000200000000000000000000000000000002600000003reloc/sendmail/config.info.zh_TW.Big5 sendmail_cf=¨ì sendmail.cf ªº§¹¾ã¸ô®|,0
sendmail_pid=¨ì sendmail PIDÀÉ®×ªº§¹¾ã¸ô®|,0
sendmail_command=¥H¦øªA¾¹¼Ò¦¡±Ò°Ê Sendmail ªº«ü¥O,0
sendmail_stop_command=°±¤î Sendmail ªº«ü¥O,3,±þ±¼µ{§Ç
mailq_refresh=§ó·s¶l¥ó¦î¦Cªº¶¡¹j®É¶¡,3,¤£­n§ó·s
perpage=¨C¤@­¶Åã¥Üªº¶l¥ó°T®§¼Æ¥Ø,0
wrap_width=¶l¥ó°T®§ªº¦Û°Ê´«¦æ¼e«×¬°,0
sort_mode=ªí®æ±Æ¦C¤è¦¡,1,0-ÀÉ®×¤ºªº¶¶§Ç,1-¦WºÙ
send_mode=»¼°e¶l¥ó®É³s±µªºµ{¦¡¬°,3,Sendmail °õ¦æÀÉ
order_mail=Åª¨ú¶l¥ó®Éªº±Æ¦C¤è¦¡,1,0-·s¨ìÂÂ,1-ÂÂ¨ì·s
makemap_path=Makemap ©R¥O,0
sendmail_path=Sendmail ©R¥O,0
alias_file=¨ì sendmail §O¦WÀÉªº§¹¾ã¸ô®|,3,¦Û°Ê
virtusers_file=µêÀÀ¨Ï¥ÎªÌ¸ê®Æ®wªº­ì©lÀÉ®×¬°,3,»P¸ê®Æ®wÀÉ®×¬Û¦P
mailers_file=¶l¥ó»¼°eªÌªí®æ¸ê®Æ®wªº­ì©lÀÉ®×¬°,3,»P¸ê®Æ®wÀÉ®×¬Û¦P
generics_file=³q¥Î¸ê®Æ®wªº­ì©lÀÉ®×¬°,3,»P¸ê®Æ®wÀÉ®×¬Û¦P
access_file=¦s¨ú¸ê®Æ®wªº­ì©lÀÉ®×¬°,3,»P¸ê®Æ®wÀÉ®×¬Û¦P
domains_file=ºô°ì¸ê®Æ®wªº­ì©lÀÉ®×¬°,3,»P¸ê®Æ®wÀÉ®×¬Û¦P
mail_dir=¨Ï¥ÎªÌ¶l¥óÀÉ®×¥Ø¿ý,0
  070701000214eb000081e40000000000000002000000013d1fe2d4000005b6000000200000000000000000000000000000001f00000003reloc/sendmail/create_file.cgi    #!/usr/local/bin/perl
# create_file.cgi
# Create the file for virtusers, domains, mailers or access_db

require './sendmail-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
if ($in{'mode'} eq 'virtusers') {
	require './virtusers-lib.pl';
	$access{'vmode'} || &error($text{'virtusers_ecannot'});
	$file = &virtusers_file($conf);
	($dbm, $dbmtype) = &virtusers_dbm($conf);
	$log = "virtuser";
	}
elsif ($in{'mode'} eq 'mailers') {
	require './mailers-lib.pl';
	$access{'mailers'} || &error($text{'mailers_ecannot'});
	$file = &mailers_file($conf);
	($dbm, $dbmtype) = &mailers_dbm($conf);
	$log = "mailer";
	}
elsif ($in{'mode'} eq 'generics') {
	require './generics-lib.pl';
	$access{'omode'} || &error($text{'generics_cannot'});
	$file = &generics_file($conf);
	($dbm, $dbmtype) = &generics_dbm($conf);
	$log = "generic";
	}
elsif ($in{'mode'} eq 'domains') {
	require './domain-lib.pl';
	$access{'domains'} || &error($text{'domains_ecannot'});
	$file = &domains_file($conf);
	($dbm, $dbmtype) = &domains_dbm($conf);
	$log = "domain";
	}
elsif ($in{'mode'} eq 'access') {
	require './access-lib.pl';
	$access{'access'} || &error($text{'access_ecannot'});
	$file = &access_file($conf);
	($dbm, $dbmtype) = &access_dbm($conf);
	$log = "access";
	}

&lock_file($file);
open(DFILE, ">>$file");
close(DFILE);
&unlock_file($file);
&system_logged("$config{'makemap_path'} $dbmtype $dbm <$file");
&webmin_log("manual", $log, $file);
&redirect("list_$in{'mode'}.cgi");

  070701000214ec000081a40000000000000002000000013d1fe2d30000010c000000200000000000000000000000000000001a00000003reloc/sendmail/defaultacl opts=1
cws=1
masq=1
trusts=1
cgs=1
relay=1
mailq=2
noconfig=0
vmode=1
mailers=1
access=1
amode=1
aedit_1=1
aedit_2=1
aedit_3=1
aedit_4=1
aedit_5=1
aedit_6=1
omode=1
domains=1
stop=1
vedit_0=1
vedit_1=1
vedit_2=1
mmode=1
fmode=0
apath=/
attach=-1
canattach=1
boxname=0
070701000214ed000081a40000000000000002000000013d1fe2d400000eeb000000200000000000000000000000000000001700000003reloc/sendmail/defines    ALIAS_FILE
CYRUS_BB_MAILER_ARGS
CYRUS_BB_MAILER_FLAGS
CYRUS_MAILER_ARGS
CYRUS_MAILER_FLAGS
CYRUS_MAILER_MAX
CYRUS_MAILER_PATH
CYRUS_MAILER_USER
DSMTP_MAILER_ARGS
ESMTP_MAILER_ARGS
FAX_MAILER_ARGS
FAX_MAILER_MAX
FAX_MAILER_PATH
HELP_FILE
LOCAL_MAILER_ARGS
LOCAL_MAILER_CHARSET
LOCAL_MAILER_DSN_DIAGNOSTIC_CODE
LOCAL_MAILER_EOL
LOCAL_MAILER_FLAGS
LOCAL_MAILER_MAX
LOCAL_MAILER_MAXMSGS
LOCAL_MAILER_PATH
LOCAL_SHELL_ARGS
LOCAL_SHELL_DIR
LOCAL_SHELL_FLAGS
LOCAL_SHELL_PATH
MAIL11_MAILER_ARGS
MAIL11_MAILER_FLAGS
MAIL11_MAILER_PATH
PH_MAILER_ARGS
PH_MAILER_FLAGS
PH_MAILER_PATH
POP_MAILER_ARGS
POP_MAILER_FLAGS
POP_MAILER_PATH
PROCMAIL_MAILER_ARGS
PROCMAIL_MAILER_FLAGS
PROCMAIL_MAILER_MAX
PROCMAIL_MAILER_PATH
QPAGE_MAILER_ARGS
QPAGE_MAILER_FLAGS
QPAGE_MAILER_MAX
QPAGE_MAILER_PATH
QUEUE_DIR
RELAY_MAILER_ARGS
RELAY_MAILER_FLAGS
RELAY_MAILER_MAXMSGS
SMART_HOST
SMTP8_MAILER_ARGS
SMTP_MAILER_ARGS
SMTP_MAILER_CHARSET
SMTP_MAILER_FLAGS
SMTP_MAILER_MAX
SMTP_MAILER_MAXMSGS
STATUS_FILE
USENET_MAILER_ARGS
USENET_MAILER_FLAGS
USENET_MAILER_MAX
USENET_MAILER_PATH
UUCP_MAILER_ARGS
UUCP_MAILER_CHARSET
UUCP_MAILER_FLAGS
UUCP_MAILER_MAX
UUCP_MAILER_PATH
confALIAS_WAIT
confALLOW_BOGUS_HELO
confAUTH_MECHANISMS
confAUTH_OPTIONS
confAUTO_REBUILD
confBIND_OPTS
confBLANK_SUB
confCACERT
confCACERT_PATH
confCF_VERSION
confCHECKPOINT_INTERVAL
confCHECK_ALIASES
confCLIENT_CERT
confCLIENT_KEY
confCLIENT_OPTIONS
confCOLON_OK_IN_ADDR
confCONNECTION_RATE_THROTTLE
confCONNECT_ONLY_TO
confCONTROL_SOCKET_NAME
confCON_EXPENSIVE
confCOPY_ERRORS_TO
confCR_FILE
confCT_FILE
confCW_FILE
confDEAD_LETTER_DROP
confDEF_AUTH_INFO
confDEF_CHAR_SET
confDEF_USER_ID
confDELIVERY_MODE
confDF_BUFFER_SIZE
confDH_PARAMETERS
confDIAL_DELAY
confDOMAIN_NAME
confDONT_BLAME_SENDMAIL
confDONT_EXPAND_CNAMES
confDONT_INIT_GROUPS
confDONT_PROBE_INTERFACES
confDONT_PRUNE_ROUTES
confDOUBLE_BOUNCE_ADDRESS
confEBINDIR
confEIGHT_BIT_HANDLING
confERROR_MESSAGE
confERROR_MODE
confFALLBACK_MX
confFORWARD_PATH
confFROM_HEADER
confFROM_LINE
confHOSTS_FILE
confHOST_STATUS_DIRECTORY
confIGNORE_DOTS*
confLDAP_DEFAULT_SPEC
confLOCAL_MAILER
confLOG_LEVEL
confMAILER_NAME
confMATCH_GECOS
confMAX_ALIAS_RECURSION
confMAX_DAEMON_CHILDREN
confMAX_HEADERS_LENGTH
confMAX_HOP
confMAX_MESSAGE_SIZE
confMAX_MIME_HEADER_LENGTH
confMAX_QUEUE_RUN_SIZE
confMAX_RCPTS_PER_MESSAGE
confMCI_CACHE_SIZE
confMCI_CACHE_TIMEOUT
confME_TOO
confMIME_FORMAT_ERRORS*
confMIN_FREE_BLOCKS
confMIN_QUEUE_AGE
confMUST_QUOTE_CHARS
confNO_RCPT_ACTION
confOLD_STYLE_HEADERS*
confOPERATORS
confPID_FILE
confPRIVACY_FLAGS
confPROCESS_TITLE_PREFIX
confQUEUE_FACTOR
confQUEUE_LA
confQUEUE_SORT_ORDER
confRAND_FILE
confRECEIVED_HEADER
confREFUSE_LA
confREJECT_MSG
confRELAY_MAILER
confRRT_IMPLIES_DSN
confRUN_AS_USER
confSAFE_FILE_ENV
confSAFE_QUEUE*
confSAVE_FROM_LINES
confSEPARATE_PROC
confSERVER_CERT
confSERVER_KEY
confSERVICE_SWITCH_FILE
confSEVEN_BIT_INPUT
confSINGLE_LINE_FROM_HEADER
confSINGLE_THREAD_DELIVERY
confSMTP_LOGIN_MSG
confSMTP_MAILER
confTEMP_FILE_MODE
confTIME_ZONE
confTO_COMMAND
confTO_CONNECT
confTO_CONTROL
confTO_DATABLOCK
confTO_DATAFINAL
confTO_DATAINIT
confTO_FILEOPEN
confTO_HELO
confTO_HOSTSTATUS
confTO_ICONNECT
confTO_IDENT
confTO_INITIAL
confTO_MAIL
confTO_MISC
confTO_QUEUERETURN
confTO_QUEUERETURN_NONURGENT
confTO_QUEUERETURN_NORMAL
confTO_QUEUERETURN_URGENT
confTO_QUEUEWARN
confTO_QUEUEWARN_NONURGENT
confTO_QUEUEWARN_NORMAL
confTO_QUEUEWARN_URGENT
confTO_QUIT
confTO_RCPT
confTO_RESOLVER_RETRANS
confTO_RESOLVER_RETRANS_FIRST
confTO_RESOLVER_RETRANS_NORMAL
confTO_RESOLVER_RETRY
confTO_RESOLVER_RETRY_FIRST
confTO_RESOLVER_RETRY_NORMAL
confTO_RSET
confTRUSTED_USER
confTRUSTED_USERS
confTRY_NULL_MX_LIST
confUNSAFE_GROUP_WRITES
confUSERDB_SPEC
confUSE_ERRORS_TO*
confUUCP_MAILER
confWORK_CLASS_FACTOR
confWORK_RECIPIENT_FACTOR
confWORK_TIME_FACTOR
confXF_BUFFER_SIZE
 070701000214ee000081e40000000000000002000000013d1fe2d300000349000000200000000000000000000000000000001d00000003reloc/sendmail/del_mailq.cgi  #!/usr/local/bin/perl
# del_mailq.cgi
# Delete some mail message from the queue

require './sendmail-lib.pl';
&ReadParse();
&error_setup($text{'delq_err'});
$access{'mailq'} == 2 || &error($text{'delq_ecannot'});
$in{'file'} =~ /\.\./ && &error($text{'delq_ecannot'});
$conf = &get_sendmailcf();
foreach $mqueue (&mailq_dir($conf)) {
	$ok++ if ($in{'file'} =~ /^$mqueue\//);
	}
$ok || &error($text{'mailq_ecannot'});

$qfile = $in{'file'};
($dfile = $qfile) =~ s/\/qf/\/df/;
($lfile = $qfile) =~ s/\/qf/\/xf/;

if (-r $lfile) {
	&error($text{'delq_locked'});
	}

open(QFILE, $qfile);
while(<QFILE>) {
	if (/^[^\-]*To:\s+(.*)/) { $to = $1; }
	elsif (/^[^\-]*From:\s+(.*)/) { $from = $1; }
	}
close(QFILE);

unlink($qfile);
unlink($dfile);
&webmin_log("delmailq", undef, undef, { 'to' => $to, 'from' => $from });
&redirect("list_mailq.cgi");

   070701000214ef000081e40000000000000002000000013d1fe2d400000451000000200000000000000000000000000000001e00000003reloc/sendmail/del_mailqs.cgi #!/usr/local/bin/perl
# del_mailqs.cgi
# Delete some mail messages from the queue

require './sendmail-lib.pl';
&ReadParse();
&error_setup($text{'delq_err'});
$access{'mailq'} == 2 || &error($text{'delq_ecannot'});
&header($text{'delq_title'}, "");
print "<hr><p>\n";

$count = 0;
$conf = &get_sendmailcf();
foreach $file (split(/\0/, $in{'file'})) {
	print &text('delq_file', "<tt>$file</tt>"),"&nbsp;&nbsp;&nbsp;\n";

	local $ok;
	foreach $mqueue (&mailq_dir($conf)) {
		$ok++ if ($file =~ /^$mqueue\//);
		}
	if (!$ok) {
		print $text{'delq_efile'},"<br>\n";
		next;
		}

	if ($file =~ /\.\./) {
		print $text{'delq_efile'},"<br>\n";
		next;
		}
	if (!-r $file) {
		print $text{'delq_egone'},"<br>\n";
		next;
		}

	$qfile = $file;
	($dfile = $qfile) =~ s/\/qf/\/df/;
	($lfile = $qfile) =~ s/\/qf/\/xf/;

	if (-r $lfile) {
		print $text{'delq_elocked'},"<br>\n";
		next;
		}

	unlink($qfile);
	unlink($dfile);
	print $text{'delq_ok'},"<br>\n";
	$count++;
	}
&webmin_log("delmailq", undef, undef, { 'count' => $count }) if ($count);
print "<p><hr>\n";
&footer("list_mailq.cgi", $text{'mailq_return'});

   070701000214f0000081e40000000000000002000000013d1fe2d30000060d000000200000000000000000000000000000001f00000003reloc/sendmail/delete_mail.cgi    #!/usr/local/bin/perl
# delete_mail.cgi
# Delete multiple messages

require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
&can_read_mail($in{'user'}) || &error($text{'delete_ecannot'});
@delete = sort { $a <=> $b } split(/\0/, $in{'d'});

if ($in{'mark'}) {
	# Marking emails with some status
	@delete || &error($text{'delete_emnone'});
	@mail = &list_mails($in{'user'}, $delete[0], $delete[@delete-1]);
	dbmopen(%read, "$module_config_directory/$in{'user'}.read", 0600);
	foreach $d (@delete) {
		local $hid = $mail[$d]->{'header'}->{'message-id'};
		if ($in{'mode'}) {
			$read{$hid} = $in{'mode'};
			}
		else {
			delete($read{$hid});
			}
		}
	dbmclose(%read);
	$s = int((@mail - $delete[0] - 1) / $config{'perpage'}) *
	     $config{'perpage'};
	&redirect("list_mail.cgi?user=$in{'user'}&start=$s");
	}
elsif ($in{'forward'}) {
	# Forwarding selected mails .. redirect
	&redirect("reply_mail.cgi?user=$in{'user'}&".
		  join("&", map { "mailforward=$_" } @delete));
	}
elsif ($in{'new'}) {
	# Need to redirect to compose form
	&redirect("reply_mail.cgi?user=$in{'user'}&new=1");
	}
else {
	# Just deleting emails
	@delete || &error($text{'delete_enone'});
	$gconfig{'logfiles'} = 0;
	&lock_file(&user_mail_file($in{'user'}));
	@mail = &list_mails($in{'user'}, $delete[0], $delete[@delete-1]);
	foreach $d (@delete) {
		push(@delmail, $mail[$d]);
		}
	&delete_mail($in{'user'}, @delmail);
	&unlock_file(&user_mail_file($in{'user'}));
	&webmin_log("delmail", undef, undef, \%in);
	&redirect("list_mail.cgi?user=$in{'user'}");
	}

   070701000214f1000081e40000000000000002000000013d1fe2d3000002db000000200000000000000000000000000000001a00000003reloc/sendmail/detach.cgi #!/usr/local/bin/perl
# detach.cgi
# View one attachment from a message

require './sendmail-lib.pl';
require './boxes-lib.pl';

&ReadParse();
@mail = &list_mails($in{'user'}, $in{'idx'}, $in{'idx'});
$mail = $mail[$in{'idx'}];
&parse_mail($mail);
@sub = split(/\0/, $in{'sub'});
foreach $s (@sub) {
	# We are looking at a mail within a mail ..
	local $amail = &extract_mail($mail->{'attach'}->[$s]->{'data'});
	&parse_mail($amail);
	$mail = $amail;
	}
$attach = $mail->{'attach'}->[$in{'attach'}];

print "Content-length: ",length($attach->{'data'}),"\n";
print "Content-type: $attach->{'type'}\n\n";
if ($attach->{'type'} =~ /^text\/html/i) {
	print &filter_javascript($attach->{'data'});
	}
else {
	print $attach->{'data'};
	}

 070701000214f2000081a40000000000000002000000013d1fe2d300000c17000000200000000000000000000000000000001d00000003reloc/sendmail/domain-lib.pl  # domain-lib.pl
# Functions for the domains table

# domains_dbm(&config)
# Returns the filename and type of the domains database, or undef if none
sub domains_dbm
{
foreach $f (&find_type("K", $_[0])) {
        if ($f->{'value'} =~ /^domaintable\s+(\S+)[^\/]+(\S+)$/) {
		return ($2, $1);
                }
	}
return undef;
}

# domains_file(&config)
# Returns the filename of the text domains file, or undef if none
sub domains_file
{
return &find_textfile($config{'domains_file'}, &domains_dbm($_[0]));
}

# list_domains(textfile)
sub list_domains
{
local($lnum, @rv);
$lnum = 0;
open(DOM, $_[0]);
while(<DOM>) {
	s/\r|\n//g;     # remove newlines
	s/#.*$//g;	# remove comments
	if (/^(\S+)\s+(.*)/) {
		local(%dom);
		$dom{'from'} = $1;
		$dom{'to'} = $2;
		$dom{'line'} = $lnum;
		$dom{'num'} = scalar(@rv);
		push(@rv, \%dom);
		}
	$lnum++;
	}
close(DOM);
return @rv;
}

# create_domain(&details, textfile, dbmfile, dbmtype)
# Create a new domain mapping
sub create_domain
{
local(%dom);
open(DOM, ">> $_[1]");
print DOM "$_[0]->{'from'}\t$_[0]->{'to'}\n";
close(DOM);
if ($_[3] eq "dbm") {
	dbmopen(%dom, $_[2], 0644);
	$dom{$_[0]->{'from'}} = $_[0]->{'to'};
	dbmclose(%dom);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# delete_domain(&details, textfile, dbmfile, dbmtype)
# Delete an existing domain mapping
sub delete_domain
{
local(@dom, %dom);
open(DOM, $_[1]);
@dom = <DOM>;
close(DOM);
splice(@dom, $_[0]->{'line'}, 1);
open(DOM, "> $_[1]");
print DOM @dom;
close(DOM);
if ($_[3] eq "dbm") {
	dbmopen(%dom, $_[2], 0644);
	delete($dom{$_[0]->{'from'}});
	dbmclose(%dom);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# modify_domain(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing domain
sub modify_domain
{
local(@dom, %dom);
open(DOM, $_[2]);
@dom = <DOM>;
close(DOM);
splice(@dom, $_[0]->{'line'}, 1, "$_[1]->{'from'}\t$_[1]->{'to'}\n");
open(DOM, "> $_[2]");
print DOM @dom;
close(DOM);
if ($_[4] eq "dbm") {
	dbmopen(%dom, $_[3], 0644);
	delete($dom{$_[0]->{'from'}});
	$dom{$_[1]->{'from'}} = $_[1]->{'to'};
	dbmclose(%dom);
	}
else { &run_makemap($_[2], $_[3], $_[4]); }
}

# domain_form([&details])
sub domain_form
{
local $v = $_[0];
print "<form action=save_domain.cgi>\n";
if ($_[0]) { print "<input type=hidden name=num value=$v->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$v ? $text{'dform_edit'} : $text{'dform_create'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>From domain</b></td>\n";
print "<td><input name=from size=25 value=\"$v->{'from'}\"></td> </tr>\n";

print "<tr> <td><b>To domain</b></td>\n";
print "<td><input name=to size=25 value=\"$v->{'to'}\"></td> </tr>\n";

print "<tr> <td colspan=3 align=right>\n";
if ($_[0]) {
        print "<input type=submit value=\"$text{'save'}\">\n";
        print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
        }
else { print "<input type=submit value=\"$text{'create'}\"\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

1;

 070701000214f3000081e40000000000000002000000013d1fe2d3000001be000000200000000000000000000000000000001f00000003reloc/sendmail/edit_access.cgi    #!/usr/local/bin/perl
# edit_access.cgi
# Edit an existing access rule

require './sendmail-lib.pl';
require './access-lib.pl';
&ReadParse();
$access{'access'} || &error($text{'aform_ecannot'});
$conf = &get_sendmailcf();
@accs = &list_access(&access_file($conf));

&header($text{'aform_edit'}, "");
print "<hr>\n";
&access_form($accs[$in{'num'}]);
print "<hr>\n";
&footer("list_access.cgi", $text{'access_return'},
	"", $text{'index_return'});

  070701000214f4000081e40000000000000002000000013d1fe2d3000003a2000000200000000000000000000000000000001e00000003reloc/sendmail/edit_afile.cgi #!/usr/local/bin/perl
# edit_afile.cgi
# Display the contents of an address file

require './sendmail-lib.pl';
&ReadParse();
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('afile_efile', $in{'file'}));
	}

&header($text{'afile_title'}, "");
print "<hr>\n";
open(FILE, $in{'file'});
@lines = <FILE>;
close(FILE);

print "<b>",&text('afile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";

print "<form action=save_afile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=num value=\"$in{'num'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
      "<input type=reset value=\"$text{'afile_undo'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_alias.cgi?num=$in{'num'}", $text{'aform_return'});

  070701000214f5000081e40000000000000002000000013d1fe2d3000002cc000000200000000000000000000000000000001e00000003reloc/sendmail/edit_alias.cgi #!/usr/local/bin/perl
# edit_alias.cgi
# Edit an existing sendmail alias

require './sendmail-lib.pl';
require './aliases-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
@aliases = &list_aliases(&aliases_file($conf));
$a = $aliases[$in{'num'}];
$access{'amode'} == 1 ||
$access{'amode'} == 2 && $a->{'name'} =~ /$access{'aliases'}/ ||
$access{'amode'} == 3 && $a->{'name'} eq $remote_user ||
	&error($text{'aform_ecannot'});
foreach $v (@{$a->{'values'}}) {
	$access{"aedit_".&alias_type($v)} ||
		&error($text{'aform_ecannot'});
	}

&header($text{'aform_edit'}, "", "edit_alias");
print "<hr>\n";
&alias_form($a);
print "<hr>\n";
&footer("list_aliases.cgi", $text{'aliases_return'},
	"", $text{'index_return'});

070701000214f6000081e40000000000000002000000013d1fe2d4000001be000000200000000000000000000000000000001f00000003reloc/sendmail/edit_domain.cgi    #!/usr/local/bin/perl
# edit_domain.cgi
# Edit an existing domain

require './sendmail-lib.pl';
require './domain-lib.pl';
&ReadParse();
$access{'domains'} || &error($text{'dform_ecannot'});
$conf = &get_sendmailcf();
@doms = &list_domains(&domains_file($conf));

&header($text{'dform_edit'}, "");
print "<hr>\n";
&domain_form($doms[$in{'num'}]);
print "<hr>\n";
&footer("list_domains.cgi", $text{'domains_return'},
	"", $text{'index_return'});

  070701000214f7000081e40000000000000002000000013d1fe2d40000119c000000200000000000000000000000000000002000000003reloc/sendmail/edit_feature.cgi   #!/usr/local/bin/perl
# edit_feature.cgi
# Displays a form for editing or creating some M4 file entry, which may be a
# feature, define, mailer or other line.

require './sendmail-lib.pl';
require './features-lib.pl';
&ReadParse();
$features_access || &error($text{'features_ecannot'});

if ($in{'manual'}) {
	# Display manual edit form
	&header($text{'feature_manual'}, "");
	print "<hr>\n";

	print "<form action=manual_features.cgi method=post ",
	      "enctype=multipart/form-data>\n";
	print &text('feature_mdesc', "<tt>$config{'sendmail_mc'}</tt>"),
	      "<br>\n";
	print "<textarea name=data rows=20 cols=80>";
	open(FEAT, $config{'sendmail_mc'});
	while(<FEAT>) {
		print &html_escape($_);
		}
	close(FEAT);
	print "</textarea><br>\n";
	print "<input type=submit value='$text{'save'}'></form>\n";

	print "<hr>\n";
	&footer("list_features.cgi", $text{'features_return'});
	exit;
	}
if ($in{'new'}) {
	&header($text{'feature_add'}, "");
	$feature = { 'type' => $in{'type'} };
	}
else {
	&header($text{'feature_edit'}, "");
	@features = &list_features();
	$feature = $features[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_feature.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=type value='$feature->{'type'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'feature_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

if (!$in{'new'} && $feature->{'type'}) {
	print "<tr> <td><b>$text{'feature_old'}</b></td>\n";
	print "<td><tt>$feature->{'text'}</tt></td> </tr>\n";
	}

if ($feature->{'type'} == 0) {
	# Unsupported text line
	print "<tr> <td><b>$text{'feature_text'}</b></td>\n";
	printf "<td><input name=text size=50 value='%s'></td> </tr>\n",
		&html_escape($feature->{'text'});
	}
elsif ($feature->{'type'} == 1) {
	# A FEATURE() definition
	print "<tr> <td><b>$text{'feature_feat'}</b></td>\n";
	print "<td><select name=name>\n";
	foreach $f (&list_feature_types()) {
		printf "<option value=%s %s>%s\n",
			$f->[0], $feature->{'name'} eq $f->[0] ? 'selected' : '',
			$f->[1];
		}
	print "</select></td> </tr>\n";

	print "<tr> <td><b>$text{'feature_values'}</b></td> <td>\n";
	local @v = @{$feature->{'values'}};
	@v = ( "" ) if (!@v);
	for($i=0; $i<@v; $i++) {
		print "<input name=value_$i size=50 value='$v[$i]'>\n";
		}
	print "</td> </tr>\n";
	}
elsif ($feature->{'type'} == 2 || $feature->{'type'} == 3) {
	# A define() or undefine()
	print "<tr> <td><b>$text{'feature_def'}</b></td>\n";
	print "<td><select name=name>\n";
	foreach $d (&list_define_types()) {
		printf "<option value=%s %s>%s\n",
			$d->[0], $d->[0] eq $feature->{'name'} ? "selected" : "",
			$d->[1];
		$found++ if ($d->[0] eq $feature->{'name'});
		}
	print "<option value=$feature->{'name'} selected>$feature->{'name'}\n"
		if (!$found && !$in{'new'});
	print "</select>\n";

	print "<tr> <td valign=top><b>$text{'feature_defval'}</b></td>\n";
	print "<td valign=top>\n";
	printf "<input type=radio name=undef value=0 %s> %s\n",
		$feature->{'type'} == 2 ? "checked" : "", $text{'feature_defmode1'};
	printf "<input name=value size=50 value='%s'><br>\n",
		$feature->{'value'};
	printf "<input type=radio name=undef value=1 %s> %s\n",
		$feature->{'type'} == 3 ? "checked" : "", $text{'feature_defmode0'};
	print "</td> </tr>\n";
	}
elsif ($feature->{'type'} == 4) {
	# A MAILER() definition
	print "<tr> <td><b>$text{'feature_mailer'}</b></td>\n";
	print "<td><select name=mailer>\n";
	foreach $m (&list_mailer_types()) {
		printf "<option value=%s %s>%s\n",
			$m->[0], $feature->{'mailer'} eq $m->[0] ? 'selected' : '',
			$m->[1];
		}
	print "</select></td> </tr>\n";
	}
elsif ($feature->{'type'} == 5) {
	# An OSTYPE() definition
	print "<tr> <td><b>$text{'feature_ostype'}</b></td>\n";
	print "<td><select name=ostype>\n";
	foreach $m (&list_ostype_types()) {
		printf "<option value=%s %s>%s\n",
			$m->[0], $feature->{'ostype'} eq $m->[0] ? 'selected' : '',
			$m->[1];
		}
	print "</select></td> </tr>\n";
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("list_features.cgi", $text{'features_return'});

070701000214f8000081e40000000000000002000000013d1fe2d400000703000000200000000000000000000000000000001e00000003reloc/sendmail/edit_ffile.cgi #!/usr/local/bin/perl
# edit_ffile.cgi
# Allow editing of a filter config file

require './sendmail-lib.pl';
&ReadParse();
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('ffile_efile', $in{'file'}));
	}

&header($text{'ffile_title'}, "");
print "<hr>\n";
open(FILE, $in{'file'});
while(<FILE>) {
	s/\r|\n//g;
	if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
		push(@filter, [ $1, $2, $3, $4 ]);
		}
	elsif (/^(2)\s+(\S+)$/) {
		$other = $2;
		}
	}
close(FILE);

print "<b>",&text('ffile_desc', "<tt>$in{'file'}</tt>"),"</b><p>\n";

print "<form action=save_ffile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=num value=\"$in{'num'}\">\n";

$i = 0;
foreach $f (@filter, [ 1, '', '', '' ]) {
	$field = "<select name=field_$i>\n";
	foreach $ft ('', 'from', 'to', 'subject', 'cc', 'body') {
		$field .= sprintf "<option value='%s' %s>%s\n",
			$ft, $f->[2] eq $ft ? "selected" : "",
			$ft ? $text{"ffile_$ft"} : "&nbsp";
		}
	$field .= "</select>\n";

	$what = "<select name=what_$i>\n";
	$what .= sprintf "<option value=0 %s>%s\n",
		$f->[0] == 0 ? "selected" : "", $text{"ffile_what0"};
	$what .= sprintf "<option value=1 %s>%s\n",
		$f->[0] == 1 ? "selected" : "", $text{"ffile_what1"};
	$what .= "</select>\n";

	$match = "<input name=match_$i size=20 value='$f->[3]'>\n";

	$action = "<input name=action_$i size=30 value='$f->[1]'>\n";

	print &text('ffile_line', $field, $what, $match, $action),"<br>\n";
	$i++;
	}
print &text('ffile_other',
	    "<input name=other size=30 value='$other'>"),"<br>\n";

print "<input type=submit value=\"$text{'save'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_alias.cgi?num=$in{'num'}", $text{'aform_return'});

 070701000214f9000081e40000000000000002000000013d1fe2d3000009a1000000200000000000000000000000000000001d00000003reloc/sendmail/edit_file.cgi  #!/usr/local/bin/perl
# edit_file.cgi
# Display the contents of a file for editing

require './sendmail-lib.pl';
&error_setup($text{'file_err'});
&ReadParse();
$conf = &get_sendmailcf();
if ($in{'mode'} eq 'aliases') {
	require './aliases-lib.pl';
	$file = &aliases_file($conf)->[$in{'idx'}];
	$return = "list_aliases.cgi";
	$rmsg = $text{'aliases_return'};
	$access{'amode'} == 1 && $access{'aedit_1'} && $access{'aedit_2'} &&
	    $access{'aedit_3'} && $access{'aedit_4'} && $access{'aedit_5'} &&
	    $access{'amax'} == 0 && $access{'apath'} eq '/' ||
	    &error($text{'file_ealiases'});
	}
elsif ($in{'mode'} eq 'virtusers') {
	require './virtusers-lib.pl';
	$file = &virtusers_file($conf);
	$return = "list_virtusers.cgi";
	$rmsg = $text{'virtusers_return'};
	$access{'vmode'} == 1 && $access{'vedit_0'} && $access{'vedit_1'} &&
	    $access{'vedit_2'} && $access{'vmax'} == 0 ||
	    &error($text{'file_evirtusers'});
	}
elsif ($in{'mode'} eq 'mailers') {
	require './mailers-lib.pl';
	$file = &mailers_file($conf);
	$return = "list_mailers.cgi";
	$rmsg = $text{'mailers_return'};
	$access{'mailers'} || &error($text{'file_emailers'});
	}
elsif ($in{'mode'} eq 'generics') {
	require './generics-lib.pl';
	$file = &generics_file($conf);
	$return = "list_generics.cgi";
	$rmsg = $text{'generics_return'};
	$access{'omode'} == 1 || &error($text{'file_egenerics'});
	}
elsif ($in{'mode'} eq 'domains') {
	require './domain-lib.pl';
	$file = &domains_file($conf);
	$return = "list_domains.cgi";
	$rmsg = $text{'domains_return'};
	$access{'domains'} || &error($text{'file_edomains'});
	}
elsif ($in{'mode'} eq 'access') {
	require './access-lib.pl';
	$file = &access_file($conf);
	$return = "list_access.cgi";
	$rmsg = $text{'access_return'};
	$access{'access'} || &error($text{'file_eaccess'});
	}
else { &error($text{'file_emode'}); }

&header($text{'file_title'}, "");
print "<hr>\n";
open(FILE, $file);
@lines = <FILE>;
close(FILE);

print "<b>",&text('file_desc', "<tt>$file</tt>"),"</b><p>\n";

print "<form action=save_file.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=mode value=\"$in{'mode'}\">\n";
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
      "<input type=reset value=\"$text{'file_undo'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer($return, $rmsg);

   070701000214fa000081e40000000000000002000000013d1fe2d300000219000000200000000000000000000000000000002000000003reloc/sendmail/edit_generic.cgi   #!/usr/local/bin/perl
# edit_generic.cgi
# Edit an existing generic

require './sendmail-lib.pl';
require './generics-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
@gens = &list_generics(&generics_file($conf));
$access{'omode'} == 1 ||
$access{'omode'} == 2 && $gens[$in{'num'}]->{'from'} =~ /$access{'oaddrs'}/ ||
	&error($text{'gform_ecannot'});

&header($text{'gform_edit'}, "");
print "<hr>\n";
&generic_form($gens[$in{'num'}]);
print "<hr>\n";
&footer("list_generics.cgi", $text{'generics_return'},
	"", $text{'index_return'});
   070701000214fb000081e40000000000000002000000013d1fe2d3000001c0000000200000000000000000000000000000001f00000003reloc/sendmail/edit_mailer.cgi    #!/usr/local/bin/perl
# edit_mailer.cgi
# Edit an existing mailer

require './sendmail-lib.pl';
require './mailers-lib.pl';
&ReadParse();
$access{'mailers'} || &error($text{'mform_ecannot'});
$conf = &get_sendmailcf();
@virts = &list_mailers(&mailers_file($conf));

&header($text{'mform_edit'}, "");
print "<hr>\n";
&mailer_form($virts[$in{'num'}]);
print "<hr>\n";
&footer("list_mailers.cgi", $text{'mailers_return'},
	"", $text{'index_return'});
070701000214fc000081e40000000000000002000000013d1fe2d3000003bd000000200000000000000000000000000000001e00000003reloc/sendmail/edit_rfile.cgi #!/usr/local/bin/perl
# edit_rfile.cgi
# Display the contents of an autoreply file

require './sendmail-lib.pl';
&ReadParse();
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('rfile_efile', $in{'file'}));
	}

&header($text{'rfile_title'}, "");
print "<hr>\n";
open(FILE, $in{'file'});
@lines = <FILE>;
close(FILE);

print &text('rfile_desc', "<tt>$in{'file'}</tt>"),"<p>\n";
print "$text{'rfile_desc2'}<p>\n";

print "<form action=save_rfile.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=file value=\"$in{'file'}\">\n";
print "<input type=hidden name=num value=\"$in{'num'}\">\n";
print "<textarea name=text rows=20 cols=80>",
	join("", @lines),"</textarea><p>\n";
print "<input type=submit value=\"$text{'save'}\"> ",
      "<input type=reset value=\"$text{'rfile_undo'}\">\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_alias.cgi?num=$in{'num'}", $text{'aform_return'});

   070701000214fd000081e40000000000000002000000013d1fe2d300000273000000200000000000000000000000000000002100000003reloc/sendmail/edit_virtuser.cgi  #!/usr/local/bin/perl
# edit_virtuser.cgi
# Edit an existing virtuser

require './sendmail-lib.pl';
require './virtusers-lib.pl';
&ReadParse();
$conf = &get_sendmailcf();
@virts = &list_virtusers(&virtusers_file($conf));
$access{'vmode'} == 1 ||
$access{'vmode'} == 2 && $virts[$in{'num'}]->{'from'} =~ /$access{'vaddrs'}/ ||
$access{'vmode'} == 3 && $virts[$in{'num'}]->{'from'} =~ /^$remote_user\@/ ||
	&error($text{'vform_ecannot'});

&header($text{'vform_edit'}, "");
print "<hr>\n";
&virtuser_form($virts[$in{'num'}]);
print "<hr>\n";
&footer("list_virtusers.cgi", $text{'virtusers_return'},
	"", $text{'index_return'});

 070701000214fe000081a40000000000000002000000013d1fe2d4000010c8000000200000000000000000000000000000001f00000003reloc/sendmail/features-lib.pl    # features-lib.pl

# list_features()
# Returns a list of entries in the sendmail.mc file, each of which may be a
# feature or some other unrecognized line
sub list_features
{
local (@rv, $lnum = 0);
open(MC, $config{'sendmail_mc'});
while(<MC>) {
	s/\r|\n//g;
	local $f;
	if (/^FEATURE\((.*)\)/i) {
		local ($name, @v) = &split_m4_params($1);
		$f = { 'type' => 1,
		       'name' => $name,
		       'values' => \@v };
		}
	elsif (/^(define|undefine)\((.*)\)/i) {
		local @v = &split_m4_params($2);
		$f = { 'type' => ($1 eq 'define' ? 2 : 3),
		       'name' => $v[0],
		       'value' => $v[1] };
		}
	elsif (/^MAILER\((.*)\)/i) {
		local ($mailer) = &split_m4_params($1);
		$f = { 'type' => 4,
		       'mailer' => $mailer };
		}
	elsif (/^OSTYPE\((.*)\)/i) {
		local ($ostype) = &split_m4_params($1);
		$f = { 'type' => 5,
		       'line' => $lnum,
		       'index' => scalar(@rv),
		       'ostype' => $ostype };
		}
	else {
		# Unrecognized line
		$f = { 'type' => 0 };
		}
	if ($f) {
		$f->{'line'} = $lnum;
		$f->{'index'} = scalar(@rv);
		$f->{'text'} = $_;
		push(@rv, $f);
		}
	$lnum++;
	}
close(MC);
return @rv;
}

# split_m4_params(string)
sub split_m4_params
{
local @p;
local $str = $_[0];
while($str =~ /^`([^']*)'\s*,?\s*(.*)$/ ||
      $str =~ /^([^\s,]+)\s*,?\s*(.*)$/) {
	push(@p, $1);
	$str = $2;
	}
return @p;
}

# list_feature_types()
sub list_feature_types
{
local (@rv, $f);
opendir(DIR, "$config{'sendmail_features'}/feature");
while($f = readdir(DIR)) {
	if ($f =~ /^(\S+)\.m4$/) {
		local $t = $text{'feat_'.lc($1)};
		push(@rv, [ $1, $t ? "$1 ($t)" : $1 ] );
		}
	}
close(DIR);
return @rv;
}

# list_define_types()
# Returns a list of known define types. Some (but not all) will have human-readable
# descriptions
sub list_define_types
{
local (@rv, $d);
open(DEFINES, "defines");
while($d = <DEFINES>) {
	$d =~ s/\r|\n//g;
	local $t = $text{'def_'.lc($d)};
	push(@rv, [ $d, $t ? "$d ($t)" : $d ]);
	}
close(DEFINES);
return @rv;
}

# list_mailer_types()
sub list_mailer_types
{
local (@rv, $f);
opendir(DIR, "$config{'sendmail_features'}/mailer");
while($f = readdir(DIR)) {
	if ($f =~ /^(\S+)\.m4$/) {
		local $t = $text{'mailer_'.lc($1)};
		push(@rv, [ $1, $t ? "$1 ($t)" : $1 ] );
		}
	}
close(DIR);
return @rv;
}

# list_ostype_types()
sub list_ostype_types
{
local (@rv, $f);
opendir(DIR, "$config{'sendmail_features'}/ostype");
while($f = readdir(DIR)) {
	if ($f =~ /^(\S+)\.m4$/) {
		local $t = $text{'ostype_'.lc($1)};
		push(@rv, [ $1, $t ? "$1 ($t)" : $1 ] );
		}
	}
close(DIR);
return @rv;
}

# create_feature(&feature)
# Adds an entry to the end of the M4 config file
sub create_feature
{
open(MC, ">>$config{'sendmail_mc'}");
print MC &feature_line($_[0]),"\n";
close(MC);
$_[0]->{'text'} = &feature_line($_[0]);
}

# delete_feature(&feature)
# Deletes one entry from the M4 config file
sub delete_feature
{
local $lref = &read_file_lines($config{'sendmail_mc'});
splice(@$lref, $_[0]->{'line'}, 1);
&flush_file_lines();
}

# modify_feature(&feature)
# Updates an entry in the M4 config file
sub modify_feature
{
local $lref = &read_file_lines($config{'sendmail_mc'});
splice(@$lref, $_[0]->{'line'}, 1, &feature_line($_[0]));
&flush_file_lines();
$_[0]->{'text'} = &feature_line($_[0]);
}

# swap_features(&feature1, &feature2)
sub swap_features
{
local $lref = &read_file_lines($config{'sendmail_mc'});
splice(@$lref, $_[0]->{'line'}, 1, &feature_line($_[1]));
splice(@$lref, $_[1]->{'line'}, 1, &feature_line($_[0]));
&flush_file_lines();
}

# feature_line(&feature)
sub feature_line
{
if ($_[0]->{'type'} == 0) {
	return $_[0]->{'text'};
	}
elsif ($_[0]->{'type'} == 1) {
	return "FEATURE(".join_m4_params($_[0]->{'name'}, @{$_[0]->{'values'}}).")";
	}
elsif ($_[0]->{'type'} == 2) {
	if ($_[0]->{'value'} eq '') {
		return "define(".join_m4_params($_[0]->{'name'}).")";
		}
	else {
		return "define(".join_m4_params($_[0]->{'name'},
						$_[0]->{'value'}).")";
		}
	}
elsif ($_[0]->{'type'} == 3) {
	return "undefine(".join_m4_params($_[0]->{'name'}).")";
	}
elsif ($_[0]->{'type'} == 4) {
	return "MAILER(".join_m4_params($_[0]->{'mailer'}).")";
	}
elsif ($_[0]->{'type'} == 5) {
	return "OSTYPE(".join_m4_params($_[0]->{'ostype'}).")";
	}
}

sub join_m4_params
{
local @rv = map { $_ =~ /^\d+$/ ? $_ : "`$_'" } @_;
return join(",", @rv);
}

1;

070701000214ff000081a40000000000000002000000013d1fe2d40000018d000000200000000000000000000000000000002100000003reloc/sendmail/feedback_files.pl  
do 'sendmail-lib.pl';
do 'aliases-lib.pl';
do 'virtusers-lib.pl';
do 'mailers-lib.pl';
do 'generics-lib.pl';
do 'domain-lib.pl';
do 'access-lib.pl';

sub feedback_files
{
local $conf = &get_sendmailcf();
local @rv = ( &aliases_file($conf),
	      &virtusers_file($conf),
	      &mailers_file($conf),
	      &generics_file($conf),
	      &domains_file($conf),
	      &access_file($conf) );
}

1;

   07070100021500000081e40000000000000002000000013d1fe2d400000747000000200000000000000000000000000000001900000003reloc/sendmail/filter.pl  #!/usr/local/bin/perl
# filter.pl

# read sendmail module config
$p = -l $0 ? readlink($0) : $0;
$p =~ /^(.*)\/[^\/]+$/;
if (open(CONF, "$1/config")) {
	while(<CONF>) {
		if (/^(\S+)=(.*)/) {
			$config{$1} = $2;
			}
		}
	close(CONF);
	}
else {
	# Make some guesses about sendmail
	if (-x "/usr/sbin/sendmail") {
		%config = ( 'sendmail_path' => '/usr/sbin/sendmail' );
		}
	elsif (-x "/usr/lib/sendmail") {
		%config = ( 'sendmail_path' => '/usr/lib/sendmail' );
		}
	else {
		die "Failed to find sendmail or config file";
		}
	}
# read headers and body
$fromline = <STDIN>;
while(<STDIN>) {
	$headers .= $_;
	s/\r|\n//g;
	if (/^(\S+):\s+(.*)/) {
		$header{lc($1)} = $2;
		}
	elsif (!$_) { last; }
	}
while(<STDIN>) {
	$body .= $_;
	}

# read the filter file
if (open(FILTER, $ARGV[0])) {
	while(<FILTER>) {
		s/\r|\n//g;
		if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) {
			push(@filter, [ $1, $2, $3, $4 ]);
			}
		elsif (/^(\S+)\s+(\S+)$/) {
			push(@filter, [ $1, $2 ]);
			}
		}
	close(FILTER);
	}
else {
	print STDERR "Filter file $ARGV[0] does not exist!\n";
	exit 1;
	}

# run the filter to find the first matching rule
open(LOG, ">>$ARGV[0].log");
foreach $f (@filter) {
	local $field = $f->[2] eq 'body' ? $body : $header{$f->[2]};
	local $st = 0;
	if ($f->[0] == 0) {
		$st = ($field !~ /$f->[3]/i);
		}
	elsif ($f->[0] == 1) {
		$st = ($field =~ /$f->[3]/i);
		}
	elsif ($f->[0] == 2) {
		$st = 1;
		}
	if ($st) {
		# The rule matched!
		if ($f->[1] =~ /^\//) {
			# Write to a file
			open(MAIL, ">>$f->[1]");
			print MAIL $fromline;
			}
		else {
			# Forward to another address
			$f->[1] =~ s/\\/\\\\/g;
			$f->[1] =~ s/'/\\'/g;
			open(MAIL, "|$config{'sendmail_path'} '$f->[1]'");
			}
		print MAIL $headers;
		print MAIL $body;
		close(MAIL);
		$now = localtime(time());
		print LOG "[$now] [$header{'from'}] [",join(" ",@$f),"]\n";
		last;
		}
	}

 07070100021501000081e40000000000000002000000013d1fe2d300000215000000200000000000000000000000000000001a00000003reloc/sendmail/flushq.cgi #!/usr/local/bin/perl
# flushq.cgi
# Run sendmail -vq and display the output

require './sendmail-lib.pl';
$| = 1;
$theme_no_table = 1;
&header($text{'flushq_title'}, "");
print "<hr><p>\n";

$cmd = "$config{'sendmail_path'} -v -q";
print &text('flushq_desc', "<tt>$cmd</tt>"),"<br>\n";
print "<pre>";
&foreign_require("proc", "proc-lib.pl");
&foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1);
print "</pre>\n";
&webmin_log("flushq");

print "<hr>\n";
&footer("list_mailq.cgi", $text{'mailq_return'});

   07070100021502000081a40000000000000002000000013d1fe2d300000c46000000200000000000000000000000000000001f00000003reloc/sendmail/generics-lib.pl    # generics-lib.pl
# Functions for the generics table

# generics_dbm(&config)
# Returns the filename and type of the generics database, or undef if none
sub generics_dbm
{
foreach $f (&find_type("K", $_[0])) {
        if ($f->{'value'} =~ /^generics\s+(\S+)[^\/]+(\S+)$/) {
		return ($2, $1);
                }
	}
return undef;
}

# generics_file(&config)
# Returns the filename of the text generics file, or undef if none
sub generics_file
{
return &find_textfile($config{'generics_file'}, &generics_dbm($_[0]));
}

# list_generics(textfile)
sub list_generics
{
local($lnum, @rv);
$lnum = 0;
open(GEN, $_[0]);
while(<GEN>) {
	s/\r|\n//g;     # remove newlines
	s/#.*$//g;	# remove comments
	if (/^(\S+)\s+(.*)/) {
		local(%virt);
		$virt{'from'} = $1;
		$virt{'to'} = $2;
		$virt{'line'} = $lnum;
		$virt{'num'} = scalar(@rv);
		push(@rv, \%virt);
		}
	$lnum++;
	}
close(GEN);
return @rv;
}

# create_generic(&details, textfile, dbmfile, dbmtype)
# Create a new generic mapping
sub create_generic
{
local(%virt);
open(GEN, ">> $_[1]");
print GEN "$_[0]->{'from'}\t$_[0]->{'to'}\n";
close(GEN);
if ($_[3] eq "dbm") {
	dbmopen(%virt, $_[2], 0644);
	$virt{$_[0]->{'from'}} = $_[0]->{'to'};
	dbmclose(%virt);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# delete_generic(&details, textfile, dbmfile, dbmtype)
# Delete an existing generic mapping
sub delete_generic
{
local(@virt, %virt);
open(GEN, $_[1]);
@virt = <GEN>;
close(GEN);
splice(@virt, $_[0]->{'line'}, 1);
open(GEN, "> $_[1]");
print GEN @virt;
close(GEN);
if ($_[3] eq "dbm") {
	dbmopen(%virt, $_[2], 0644);
	delete($virt{$_[0]->{'from'}});
	dbmclose(%virt);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# modify_generic(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing generic
sub modify_generic
{
local(@virt, %virt);
open(GEN, $_[2]);
@virt = <GEN>;
close(GEN);
splice(@virt, $_[0]->{'line'}, 1, "$_[1]->{'from'}\t$_[1]->{'to'}\n");
open(GEN, "> $_[2]");
print GEN @virt;
close(GEN);
if ($_[4] eq "dbm") {
	dbmopen(%virt, $_[3], 0644);
	delete($virt{$_[0]->{'from'}});
	$virt{$_[1]->{'from'}} = $_[1]->{'to'};
	dbmclose(%virt);
	}
else { &run_makemap($_[2], $_[3], $_[4]); }
}

sub generic_form([&details])
{
local $g = $_[0];
print "<form action=save_generic.cgi>\n";
if ($g) { print "<input type=hidden name=num value=$g->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$g ? $text{'gform_edit'} : $text{'gform_create'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'gform_from'}</b></td>\n";
print "<td><input name=from size=30 value=\"$g->{'from'}\"></td> </tr>\n";
print "<tr> <td><b>$text{'gform_to'}</b></td>\n";
print "<td><input name=to size=30 value=\"$g->{'to'}\"></td> </tr>\n";

print "<tr> <td colspan=3 align=right>\n";
if ($_[0]) {
        print "<input type=submit value=\"$text{'save'}\">\n";
        print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
        }
else { print "<input type=submit value=\"$text{'create'}\">\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

1;

  0707010002fc75000041ed0000000000000001000000023d1ffb4400000000000000200000000000000000000000000000001400000003reloc/sendmail/help   0707010002fc76000081a40000000000000002000000013d1fe2d40000009b000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_enabled.ca.html <header>Àlies activat</header>

Determina si aquest àlies està actualment activat. Els àlies desactivats
s'ignoren en processar el correu entrant.

<hr>


 0707010002fc77000081a40000000000000002000000013d1fe2d30000009e000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_enabled.es.html <header>Alias Activado</header>

Determina si el alias está activado en este momento. Los alias desactivados
son ignorados al procesar correo entrante.
<hr>

  0707010002fc78000081a40000000000000002000000013d1fe2d300000098000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_enabled.fr.html <header>Activé l'Alias</header>

Détermine si l'alias est activé.  Les alias désactivé sont ignoré dans le processus de réception de couriel.<p>

<hr>

0707010002fc79000081a40000000000000002000000013d1fe2d300000092000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_enabled.html    <header>Alias Enabled</header>

Determines if this alias is currently enabled. Disabled aliases are ignored
when processing incoming email.
<hr>

  0707010002fc7a000081a40000000000000002000000013d1fe2d4000000a8000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_enabled.pl.html <header>Alias aktywny</header>

Okre¶la, czy ten alias jest w chwili obecnej aktywny. Aliasy nie aktywne s±
ignorowane podczas przetwarzania przychodz±cej poczty.
<hr>
0707010002fc7b000081a40000000000000002000000013d1fe2d4000000a0000000200000000000000000000000000000002d00000003reloc/sendmail/help/alias_enabled.ru_RU.html  <header>Ïñåâäîíèì Àêòèâåí</header>

Îïðåäåëÿåò àêòèâåí ëè ïñåâäîíèì â íàñòîÿùèé ìîìåíò. Íåàêòèâíûå ïñåâäîíèìû èãíîðèðóþòñÿ ïðè îáðàáîòêå âõîäÿùåé ïî÷òû. 
<hr>

0707010002fc7c000081a40000000000000002000000013d1fe2d3000000a0000000200000000000000000000000000000002d00000003reloc/sendmail/help/alias_enabled.ru_SU.html  <header>ðÓÅ×ÄÏÎÉÍ áËÔÉ×ÅÎ</header>

ïÐÒÅÄÅÌÑÅÔ ÁËÔÉ×ÅÎ ÌÉ ÐÓÅ×ÄÏÎÉÍ × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ. îÅÁËÔÉ×ÎÙÅ ÐÓÅ×ÄÏÎÉÍÙ ÉÇÎÏÒÉÒÕÀÔÓÑ ÐÒÉ ÏÂÒÁÂÏÔËÅ ×ÈÏÄÑÝÅÊ ÐÏÞÔÙ. 
<hr>

0707010002fc7d000081a40000000000000002000000013d1fe2d4000000a2000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_enabled.sv.html <header>Alias aktiverat</header>

Här väljer du om detta alias ska aktiveras. Alias som inte är aktiverade
används inte i hanteringen av inkommande e-post.
<hr>

  0707010002fc7e000081a40000000000000002000000013d1fe2d400000065000000200000000000000000000000000000003200000003reloc/sendmail/help/alias_enabled.zh_TW.Big5.html <header>¬O§_¨Ï¥Î§O¦W</header>

¨M©w¬O§_­n¨Ï¥Î³o­Ó§O¦W. ³QÃö³¬ªº§O¦W±N¤£·|³Q¥Î¦b¶i¤Jªº¹q¤l¶l¥ó.
<hr>

   0707010002fc7f000081a40000000000000002000000013d1fe2d4000000d5000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_name.ca.html    <header>Adreça Àlies</header>

Aquesta és l'adreça de la qual es crea un àlies. No ha d'incloure cap
domini, així que l'adreça ha de ser alguna cosa com <tt>vendes</tt>
en lloc de <tt>vendes@foo.com</tt>.

<hr>


   0707010002fc80000081a40000000000000002000000013d1fe2d4000000e5000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_name.es.html    <header>Dirección de Alias</header>

Esta es la dirección de la que se está haciendo alias. No debe de incluir
un dominio - por ello la dirección debería de figurar como <tt>ventas</tt>
en lugar de <tt>ventas@foo.com</tt>.
<hr>

   0707010002fc81000081a40000000000000002000000013d1fe2d4000000ce000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_name.fr.html    <header>Alias d'Adresse</header>

Ceci est l'adresse duquel un alias sera fait.  Il ne doit pas inclure le nom de domaine, ainsi l'adresse doit être <tt>ventes</tt> et non <tt>ventes@foo.com</tt>.<p>

<hr>
  0707010002fc82000081a40000000000000002000000013d1fe2d3000000b8000000200000000000000000000000000000002400000003reloc/sendmail/help/alias_name.html   <header>Alias Address</header>

This is the address being aliased. It must not include a domain - so the
address should be like <tt>sales</tt> instead of <tt>sales@foo.com</tt>.
<hr>

0707010002fc83000081a40000000000000002000000013d1fe2d4000000c2000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_name.pl.html    <header>Adres aliasu</header>

Jest to adres, którego alias dotyczy. Nie mo¿e on zawieraæ nazwy domeny -
czyli powinien byæ postaci <tt>sprzedawca</tt> zamiast
<tt>sprzedawca@foo.com</tt>.
<hr>
  0707010002fc84000081a40000000000000002000000013d1fe2d4000000d5000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_name.ru_RU.html <header>Àäðåñ Ïñåâäîíèìà</header>

Ýòî àäðåñ äëÿ êîòîðîãî âû ñîçäàåòå ïñåâäîíèì. Îí íå äîëæåí âêëþ÷àòü èìÿ äîìåíà - òàêèì îáðàçîì àäðåñ äîëæåí âûãëÿäåòü êàê <tt>sales</tt>, à íå êàê <tt>sales@foo.com</tt>. 
<hr>

   0707010002fca6000081a40000000000000002000000013d1fe2d30000077a000000200000000000000000000000000000001f00000003reloc/sendmail/help/intro.html    <header>Sendmail Configuration</header>

<h3>Introduction to Sendmail</h3>
Sendmail is the standard Unix program for mail transport and delivery.
When a user on your system wants to send email to someone on another host,
sendmail is the program that does the actual process of delivering the
mail. Similarly, when someone on another system sends mail to one of your
users, sendmail will receive the email and store it in the user's mail
file. <p>

Sendmail is an MTA (mail transport agent) only, meaning that it does not
present any user interface to people wishing to send email. Programs like
Eudora, elm or /bin/mail that users actually interact with a called MUAs
(mail user agents). An MUA does not deliver email itself, instead it simply
passes the email on to sendmail to do the delivery. <p>

User MUAs can be run either directly on your system (MUAs like pine, elm
or /bin/mail), or on a separate host which may be a single-user PC (for MUAs
like Eudora, Exchange and Netscape Communicator). In the first case,
mail is sent be directly invoking sendmail and passing the message to it,
and received by reading the user's mail spool file. For MUAs run on other
hosts, mail is sent by connecting to the sendmail process on your system
using the SMTP protocol, and received by connecting to a separate POP3
server. <p>

<h3>The Sendmail Module</h3>
The main page of this module shows a table of icons, each for configuring
a different part of sendmail's functionality. However, the features behind
some icons may not be available, if they have not been setup in your
<tt>sendmail.cf</tt>. When installing sendmail, you can choose which features
are available by editing an <tt>.mc</tt>, which is converted by <tt>m4</tt>
into your <tt>sendmail.cf</tt>. Many features (such as Address Mapping,
Domain Masquerading and Spam Control) may not be available unless you have
enabled them at install time. <p>

<hr>

  0707010002fc85000081a40000000000000002000000013d1fe2d4000000d5000000200000000000000000000000000000002a00000003reloc/sendmail/help/alias_name.ru_SU.html <header>áÄÒÅÓ ðÓÅ×ÄÏÎÉÍÁ</header>

üÔÏ ÁÄÒÅÓ ÄÌÑ ËÏÔÏÒÏÇÏ ×Ù ÓÏÚÄÁÅÔÅ ÐÓÅ×ÄÏÎÉÍ. ïÎ ÎÅ ÄÏÌÖÅÎ ×ËÌÀÞÁÔØ ÉÍÑ ÄÏÍÅÎÁ - ÔÁËÉÍ ÏÂÒÁÚÏÍ ÁÄÒÅÓ ÄÏÌÖÅÎ ×ÙÇÌÑÄÅÔØ ËÁË <tt>sales</tt>, Á ÎÅ ËÁË <tt>sales@foo.com</tt>. 
<hr>

   0707010002fc86000081a40000000000000002000000013d1fe2d3000000cc000000200000000000000000000000000000002700000003reloc/sendmail/help/alias_name.sv.html    <header>Alias-adress</header>

Här skriver du in den adress som utgör alias. Adressen får inte innehålla
någon domän; skriv alltså t ex <tt>marknad</tt> istället för
<tt>marknad@foretaget.se</tt> .
<hr>

0707010002fc87000081a40000000000000002000000013d1fe2d400000096000000200000000000000000000000000000002f00000003reloc/sendmail/help/alias_name.zh_TW.Big5.html    <header>§O¦W¶l¥ó¦ì§}</header>

±N­n³]©w§O¦Wªº¹q¤l¶l¥ó¦ì§}. ¥¦¤£¯à¥]§t¤@­Óºô°ì - ©Ò¥H¦ì§}À³¸Ó¹³¬O <tt>sales</tt> ¦Ó¤£¬O <tt>sales@foo.com</tt>..
<hr>

  0707010002fc88000081a40000000000000002000000013d1fe2d40000040c000000200000000000000000000000000000002500000003reloc/sendmail/help/alias_to.ca.html  <header>Àlies de</header>

Cada àlies es pot redireccionar a diversos destinataris, i cadascun dels
destinataris pot ser un dels següents:
<dl>
   <dt><b>Adreça de correu</b>
   <dd>O bé una adreça completa com ara <tt>foo@bar.com</tt>, o el nom
       d'un altre usuari al sistema, com ara <tt>jcameron</tt>.
   <dt><b>Adreces del fitxer</b>
   <dd>Per aquesta mena d'àlies, has d'especificar el camí complet del
       fitxer que conté la llista de les adreces de correu, una per línia.
       Cada adreça pot estar completament qualificada, o pot ser el nom 
       d'un usuari del sistema.
   <dt><b>Escriu al fitxer</b>
   <dd>En aquest cas, s'escriurà el correu al fitxer determinat. Per fer
       que es llenci el correu de qualsevol adreça, dóna <tt>/dev/null</tt>
       com a nom de fitxer.
   <dt><b>Lliura-ho al programa</b>
   <dd>Cada cop que arribi un missatge per a quest àlies, s'executarà el
       programa especificat i tot el missatge (capçaleres i cos) se li
       passarà com a entrada estàndard.
</dl>

<hr>


0707010002fc89000081a40000000000000002000000013d1fe2d30000041e000000200000000000000000000000000000002500000003reloc/sendmail/help/alias_to.es.html  <header>Alias A</header>

Cada alias puede redirigir correo a varios receptores y cada receptor
puede ser uno de los siguientes:
<dl>
<dt><b>Dirección de Correo</b>
<dd>O bien una dirección completa de correo como <tt>foo@bar.com</tt>, o
    el nombre de otro usuario de tu sistema como <tt>jcameron</tt>.
<dt><b>Direcciones en Archivo</b>
<dd>Para esta clase de alias debes de especificar la trayectoria completa
    de un archivo que contenga una lista de direcciones de correo, una en
    cada línea. Cada dirección puede ir totalmente calificada o ser el
    nombre de otro usuario de tu sistema.
<dt><b>Escribir en Archivo</b>
<dd>En este caso, el correo será escrito en el archivo especificado. Para
    hacer que se pierda todo el correo de alguna dirección, pon
    <tt>/dev/null</tt> como nombre de archivo.
<dt><b>Alimentar a Programa</b>
<dd>Cada vez que un mensaje de correo llega para este alias, el programa
    especificado será ejecutado y todo el mensaje de correo (cabeceras y
    cuerpo) pasado a él como entrada estándar.
</dl>
<hr>

  0707010002fc8a000081a40000000000000002000000013d1fe2d30000039b000000200000000000000000000000000000002500000003reloc/sendmail/help/alias_to.fr.html  <header>Alias À</header>

Chacun des alias peut rediriger les couriels à plusieurs destinataires et chacun des destinataires peut être un des suivants :
<dl>
<dt><b>Adresse Couriel</b>
<dd>Autant une adresse complète comme <tt>foo@bar.com</tt>, ou le nom de l'autre usager de votre système, comme <tt>joe</tt>.
<dt><b>Adresses d'un Fichier</b>
<dd>Pour ce type d'alias vous devez spécifier le chemin complet d'un fichier contenant une liste de couriel, un par ligne.
<dt><b>Écrire dans un Fichier</b>
<dd>Dans ce cas, les couriels vont être écrit dans un fichier spécifique.  Pour simplement jeter les couriels de certaines adresses, simplement mettre <tt>/dev/null</tt> comme nom de fichier.
<dt><b>Donner à un programme</b>
<dd>Chaque fois qu'un couriel arrive pour cet alias, le programme spécifié sera exécuter et le courrier entier (entête et contenu) passé à celui-ci dans l'entrée standard.
</dl>
<hr>
 0707010002fc8b000081a40000000000000002000000013d1fe2d4000003aa000000200000000000000000000000000000002200000003reloc/sendmail/help/alias_to.html <header>Alias To</header>

Each alias may redirect mail to several recipients, and each recipient
may be one of the following :
<dl>
<dt><b>Email Address</b>
<dd>Either a full email address like <tt>foo@bar.com</tt>, or the name of
    another user on your system like <tt>jcameron</tt>.
<dt><b>Addresses in File</b>
<dd>For this kind of alias you must specify the full path to a file
    containing a list of email addresses, one per line. Each address can
    be either fully qualified, or the name of another user on your system.
<dt><b>Write to File</b>
<dd>In this case, email will be written to the specified file. To have all
    email to some address thrown away, give <tt>/dev/null</tt> as the filename.
<dt><b>Feed to Program</b>
<dd>Each time an email message arrives for this alias, the specified program
    will be executed and the entire email message (headers and body) passed
    to it on the standard input.
</dl>
<hr>

  0707010002fc8c000081a40000000000000002000000013d1fe2d40000042f000000200000000000000000000000000000002500000003reloc/sendmail/help/alias_to.pl.html  <header>Tre¶æ aliasu</header>

Ka¿dy z&nbsp;aliasów mo¿e przekierowywaæ pocztê do kilku miejsc, a&nbsp;ka¿de 
z&nbsp;nich mo¿e byæ jednym z:
<dl>
<dt><b>Adresem pocztowym</b>
<dd>Albo pe³ny adres, jak np. <tt>foo@bar.com</tt>, albo nazwa innego
    u¿ytkownika w&nbsp;twoim systemie, np. <tt>jcameron</tt>.
<dt><b>List± adresów w&nbsp;pliku</b>
<dd>W&nbsp;tym przypadku musisz okre¶liæ pe³n± ¶cie¿kê do pliku zawieraj±cego
    listê adresów pocztowych, po jednym w&nbsp;ka¿dej linii. Ka¿dy z&nbsp;nich
    mo¿e byæ albo pe³nym adresem, albo nazw± innego u¿ytkownika w&nbsp;twoim
    systemie.
<dt><b>Zapisem do pliku</b>
<dd>W&nbsp;tym przypadku wiadomo¶æ zostanie zapisana w zadanym pliku. Je¶li
    chcesz wyrzuciæ ca³± pocztê skierowan± na pewne adresy, podaj
    <tt>/dev/null</tt> jako nazwê pliku.
<dt><b>Przekierowaniem do programu</b>
<dd>Za ka¿dym razem, kiedy przybêdzie wiadomo¶æ zaadresowana na ten alias
    uruchomiony zostanie wymieniony program a&nbsp;ca³a wiadomo¶æ (nag³ówki
    i&nbsp;tre¶æ) zostanie przekazana na jego standardowe wej¶cie.
</dl>
<hr>
 0707010002fc8d000081a40000000000000002000000013d1fe2d4000003f5000000200000000000000000000000000000002800000003reloc/sendmail/help/alias_to.ru_RU.html   <header>Ïñåâäîíèì Ê</header>

Êàæäûé ïñåâäîíèì ìîæåò ïåðåíàïðàâëÿòü ïî÷òó ê íåñêîëüêèì àäðåñàòàì, è êàæäûé àäðåñàò ìîæåò ïðåäñòàâëÿòü ñîáîé îäèí èç ñëåäóþùèõ âàðèàíòîâ:
<dl>
<dt><b>Ïî÷òîâûé Àäðåñ</b>
<dd>Êàê ïîëíûé ïî÷òîâûé àäðåñ òèïà <tt>foo@bar.com</tt>, òàê è èìÿ äðóãîãî ïîëüçîâàòåëÿ íà âàøåé ñèñòåìå, íàïðèìåð <tt>jcameron</tt>.
<dt><b>Àäðåñà â Ôàéëå</b>
<dd>Äëÿ äàííîãî òèïà ïñåâäîíèìà âû äîëæíû óêàçàòü ïîëíûé ïóòü ê ôàéëó ñîäåðæàùåìó ñïèñîê ïî÷òîâûõ àäðåñîâ, ïî îäíîìó â ñòðîêå. Êàæäûé èç àäðåñîâ ìîæåò áûòü êàê ïîëíûì ïî÷òîâûì àäðåñîì, òàê è èìåíåì äðóãîãî ïîëüçîâàòåëÿ íà âàøåé ñèñòåìå.
<dt><b>Çàïèñü â Ôàéë</b>
<dd>Â äàííîì ñëó÷àå, âñÿ ïî÷òà áóäåò çàïèñûâàòüñÿ â óêàçàííûé ôàéë. Íàïðèìåð äëÿ ëèêâèäàöèè âñåé ïî÷òû èäóùåé íà íåêèé àäðåñ, óêàæèòå â êà÷åñòâå òàêîãî ôàéëà <tt>/dev/null</tt>.
<dt><b>Ïåðåäà÷à â Ïðîãðàììó</b>
<dd>Êàæäûé ðàç êîãäà ïî÷òà ïðèõîäèò íà äàííûé ïñåâäîíèì, çàïóñêàåòñÿ óêàçàííàÿ ïðîãðàììà, è âñå ïî÷òîâîå ñîîáùåíèå (çàãîëîâêè è òåëî) ïåðåäàåòñÿ íà å£ ñòàíäàðòíûé âõîä.
</dl>
<hr>

   0707010002fc8e000081a40000000000000002000000013d1fe2d3000003f5000000200000000000000000000000000000002800000003reloc/sendmail/help/alias_to.ru_SU.html   <header>ðÓÅ×ÄÏÎÉÍ ë</header>

ëÁÖÄÙÊ ÐÓÅ×ÄÏÎÉÍ ÍÏÖÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÑÔØ ÐÏÞÔÕ Ë ÎÅÓËÏÌØËÉÍ ÁÄÒÅÓÁÔÁÍ, É ËÁÖÄÙÊ ÁÄÒÅÓÁÔ ÍÏÖÅÔ ÐÒÅÄÓÔÁ×ÌÑÔØ ÓÏÂÏÊ ÏÄÉÎ ÉÚ ÓÌÅÄÕÀÝÉÈ ×ÁÒÉÁÎÔÏ×:
<dl>
<dt><b>ðÏÞÔÏ×ÙÊ áÄÒÅÓ</b>
<dd>ëÁË ÐÏÌÎÙÊ ÐÏÞÔÏ×ÙÊ ÁÄÒÅÓ ÔÉÐÁ <tt>foo@bar.com</tt>, ÔÁË É ÉÍÑ ÄÒÕÇÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÎÁÐÒÉÍÅÒ <tt>jcameron</tt>.
<dt><b>áÄÒÅÓÁ × æÁÊÌÅ</b>
<dd>äÌÑ ÄÁÎÎÏÇÏ ÔÉÐÁ ÐÓÅ×ÄÏÎÉÍÁ ×Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ÓÏÄÅÒÖÁÝÅÍÕ ÓÐÉÓÏË ÐÏÞÔÏ×ÙÈ ÁÄÒÅÓÏ×, ÐÏ ÏÄÎÏÍÕ × ÓÔÒÏËÅ. ëÁÖÄÙÊ ÉÚ ÁÄÒÅÓÏ× ÍÏÖÅÔ ÂÙÔØ ËÁË ÐÏÌÎÙÍ ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ, ÔÁË É ÉÍÅÎÅÍ ÄÒÕÇÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ.
<dt><b>úÁÐÉÓØ × æÁÊÌ</b>
<dd>÷ ÄÁÎÎÏÍ ÓÌÕÞÁÅ, ×ÓÑ ÐÏÞÔÁ ÂÕÄÅÔ ÚÁÐÉÓÙ×ÁÔØÓÑ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ. îÁÐÒÉÍÅÒ ÄÌÑ ÌÉË×ÉÄÁÃÉÉ ×ÓÅÊ ÐÏÞÔÙ ÉÄÕÝÅÊ ÎÁ ÎÅËÉÊ ÁÄÒÅÓ, ÕËÁÖÉÔÅ × ËÁÞÅÓÔ×Å ÔÁËÏÇÏ ÆÁÊÌÁ <tt>/dev/null</tt>.
<dt><b>ðÅÒÅÄÁÞÁ × ðÒÏÇÒÁÍÍÕ</b>
<dd>ëÁÖÄÙÊ ÒÁÚ ËÏÇÄÁ ÐÏÞÔÁ ÐÒÉÈÏÄÉÔ ÎÁ ÄÁÎÎÙÊ ÐÓÅ×ÄÏÎÉÍ, ÚÁÐÕÓËÁÅÔÓÑ ÕËÁÚÁÎÎÁÑ ÐÒÏÇÒÁÍÍÁ, É ×ÓÅ ÐÏÞÔÏ×ÏÅ ÓÏÏÂÝÅÎÉÅ (ÚÁÇÏÌÏ×ËÉ É ÔÅÌÏ) ÐÅÒÅÄÁÅÔÓÑ ÎÁ Å£ ÓÔÁÎÄÁÒÔÎÙÊ ×ÈÏÄ.
</dl>
<hr>

   0707010002fc8f000081a40000000000000002000000013d1fe2d3000003ad000000200000000000000000000000000000002500000003reloc/sendmail/help/alias_to.sv.html  <header>Alias för</header>

Ett alias kan representera flera mottagare och varje mottagare kan vara
något av nedanstående:
<dl>
<dt><b>E-postadress</b>
<dd>Antingen en fullständig e-postadress (t ex <tt>foo@bar.com</tt>) eller
    något användarnamn i systemet (t ex <tt>jcameron</tt>).
<dt><b>Adresser i en fil</b>
<dd>Här måste en fullständig sökväg till en fil anges. Filen ska innehålla
    e-postadresser, en per rad. E-postadresserna kan anges som fullständiga
    adresser eller som användarnamn i systemet.
<dt><b>Skriv till fil</b>
<dd>Med detta val skrivs e-post ut till den angivna filen. Om man vill kasta
    all e-post till en viss adress kan man ange filen <tt>/dev/null</tt> som
    mottagare.
<dt><b>Skicka till program</b>
<dd>Då e-post kommer till detta alias kommer det angivna programmet att utföras
    och hela e-postmeddelandet (huvud och kropp) kommer att skickas till
    programmet via standard input.
</dl>
<hr>

   0707010002fc90000081a40000000000000002000000013d1fe2d30000028f000000200000000000000000000000000000002d00000003reloc/sendmail/help/alias_to.zh_TW.Big5.html  <header>§O¦W¬°</header>

¨C¤@­Ó§O¦W³£¥i¥H§â¶l¥ó­«¾É¦V¨ì¦h­Ó¦¬¥ó¤H, ¦Ó¥B¦¬¥ó¤H¥i¥H¬O¤U¦Cªº:
<dl>
<dt><b>¹q¤l¶l¥ó¦ì§}</b>
<dd>¥ô¦ó§¹¾ãªº¹q¤l¶l¥ó¦ì§}¨Ò¦p <tt>goo@bar.com</tt>, ©ÎªÌ¬O±z¨t²Î¤Wªº¨Ï¥ÎªÌ¦WºÙ¨Ò¦p <tt>jcameron</tt>.
<dt><b>¶l¥ó¦ì§}¦bÀÉ®×</b>
<dd>¹ï©ó³o¤@Ãþªº§O¦W, ±z¥²¶·«ü©w¤@­Ó¥]§t¹q¤l¶l¥ó¦Cªí¦WºÙªºÀÉ®×, ¨C¦æ¤@­Ó¦ì§}. ¨C­Ó¦ì§}³£¥i¥H¬O§¹¾ãªº©Î±z¨t²Î¤Wªº¨Ï¥ÎªÌ.
<dt><b>¼g¤JÀÉ®×</b>
<dd>¦b³o­Óª¬ªp, ¹q¤l¶l¥ó±N·|³Q¼g¤J¨ì«ü©wªºÀÉ®×¤§¤¤. ¹ï©ó­n¥á±óµ¹¬Y­Ó¦ì§}ªº©Ò¦³¶l¥ó, ±z¥i¥H±N¤§«ü¦V¨ì <tt>/dev/null</tt> ¤§¤¤.
<dt><b>°eµ¹µ{¦¡</b>
<dd>¨C·í¹q¤l¨ì¹F³o­Ó§O¦W, «ü©wªºµ{¦¡±N·|³Q°õ¦æ, ¥B¾ã­Ó¶l¥ó°T®§ (¼ÐÀY»P¥»Åé) ³£·|¸g¥Ñ¼Ð·Ç¿é¤J°eµ¹«ü©wªºµ{¦¡.
</dl>
<hr>

 0707010002fc91000081a40000000000000002000000013d1fe2d400000410000000200000000000000000000000000000002400000003reloc/sendmail/help/aliases.ca.html   <header>Àlies de Correu</header>

Els àlies de correu és la forma que té sendmail de redireccionar el 
correu d'un adreça del teu sistema a una altra. Aquesta pot ser un usuari
del teu sistema, una adreça de correu d'un altre sistema, un fitxer,
o bé l'entrada d'un programa. Els àlies s'apliquen per <b>tots</b> els
dominis pels quals el teu sistema accepta correu. Així, si el teu sistema
accepta correu dels dominis <tt>abc.com</tt> i <tt>xyz.com</tt>, un 
àlies de l'adreça <tt>foo</tt> es redireccionaria tant a <tt>foo@abc.com</tt>
com a <tt>foo@xyz.com</tt>.
<p>

A la part de dalt d'aquesta pàgina, hi ha un formulari per introduir els
detalls d'un àlies de correu nou. Sota el formulari, hi ha una llista 
dels àlies existents i les destinacions corresponents. Per editar un
àlies, fes clic sobre el seu nom.
<p>

Si estàs fent servir el mòdul de Majordomo, hi veuràs diversos àlies com
<tt>Majordomo</tt>, <tt>owner-listname</tt> o <tt>listname-request</tt>.
No modifiquis aquests àlies a menys que sàpigues el que fas.
<p>

<hr>
0707010002fc92000081a40000000000000002000000013d1fe2d40000043f000000200000000000000000000000000000002400000003reloc/sendmail/help/aliases.es.html   <header>Alias de Correo</header>

Los alias de correo la manera en que sendmail redirige el correo desde
algunas direcciones de tu sistema hacia otro destino. Ese destino puede
ser un usuario de tu sistema, una dirección de correo de otro sistema,
un archivo o la entrada a un programa. Los alias se aplican para <b>todos</b>
los dominios para los cuales tu sistema accepte correo. Por ello, si tu
sistema aceptó correo para los dominios <tt>abc.com</tt> y <tt>xyz.com</tt>,
un alias para la dirección <tt>foo</tt> redirigiría el correo de ambos
<tt>foo@abc.com</tt> y <tt>foo@xyz.com</tt>. <p>

En la parte superior de esta página hay un formulario para digitar los
detalles de un nuevo alias de correo. Más allá del formulario hay una lista
de alias existentes y de destinatarios de correo redirigido. Para editar
una alias, haz click en su nombre. <p>

Si estás usando el módulo de Majordomo, puedes darte cuenta de varios alias
como <tt>Majordomo</tt>, <tt>owner-listname</tt> o <tt>listname-request</tt>.
No modifiques estos alias a menos que sepas lo que estás haciendo. <p>
<hr>

 0707010002fc93000081a40000000000000002000000013d1fe2d400000431000000200000000000000000000000000000002400000003reloc/sendmail/help/aliases.fr.html   <header>Alias de Couriel</header>

Les alias de couriel sont la façon que Sendmail utilise pour rediriger les couriels d'une adresse à une autre de votre système.  Cette destination peut être un usager sur votre système, une adresse d'un autre système, un fichier ou l'entrée d'un programme.  Les alias s'appliquent pour <b>tout</b> domaines dont votre système accepte des couriel.  Alors si votre système accepte des couriel du domaine <tt>abc.com</tt> et <tt>xyz.com</tt>, un alias sur l'adresse <tt>foo</tt> redirige les couriels envoyer autant sur <tt>foo@abc.com</tt> que <tt>foo@xyz.com</tt>.<p>

Au haut de la page se trouve le formulaire pour entrer les détails pour créer un nouvel alias.  Et en dessous ce trouve la liste des alias et de leurs destinations des couriels redirigé.  Pour éditer un alias, cliquer sur son nom.<p>

Si vous utilisez le module Majordomo, vous pouvez noter plusieurs alias comme <tt>Majordomo</tt>, <tt>owner-listname</tt> ou <tt>listname-request</tt>.  Ne pas modifier ces alias à moins de savoir ce que vous faites.<p>

<hr>
   0707010002fc94000081a40000000000000002000000013d1fe2d3000003d5000000200000000000000000000000000000002100000003reloc/sendmail/help/aliases.html  <header>Mail Aliases</header>

Mail aliases are sendmail's way of redirecting mail from some address
on your system to another destination. That destination can be a
user on your system, an email address on another system, a file or
the input to a program. Aliases apply for <b>all</b> domains for which
your system accepts email. Thus, if your system accepted mail for the
domains <tt>abc.com</tt> and <tt>xyz.com</tt>, an alias for the address
<tt>foo</tt> would redirect mail sent to both <tt>foo@abc.com</tt> and
<tt>foo@xyz.com</tt>. <p>

At the top of this page is a form for entering the details of a new mail
alias. Beneath the form is a list of existing aliases and the destination(s)
for redirected email. To edit an alias, click on its name. <p>

If you are using the Majordomo module, you may notice several aliases
like <tt>Majordomo</tt>, <tt>owner-listname</tt> or <tt>listname-request</tt>.
Do not modify these aliases unless you know what you are doing. <p>
<hr>

   0707010002fc95000081a40000000000000002000000013d1fe2d400000448000000200000000000000000000000000000002400000003reloc/sendmail/help/aliases.pl.html   <header>Aliasy pocztowe</header>

Aliasy pocztowe stanowi± mechanizm sendmaila dla przekierowywania poczty
z&nbsp;pewnych adresów w&nbsp;systemie gdzie indziej. Mo¿e to byæ inny
u¿ytkownik twojego systemu, adres pocztowy obs³ugiwany przez inny system,
plik lub przekierowanie do programu. Aliasy maj± zastosowanie do
<b>wszystkich</b> domen, dla których twój system przyjmuje pocztê.
Wobec czego, je¿eli twój system przyjmuje pocztê dla domen <tt>abc.com</tt>
i&nbsp;<tt>xyz.com</tt>, utworzenie aliasu dla adresu <tt>foo</tt> spowoduje
przekierowanie poczty wys³anej zarówno do <tt>foo@abc.com</tt>, jak te¿ do
<tt>foo@xyz.com</tt>. <p>

W&nbsp;górnej czê¶ci strony znajduje siê formularz do wprowadzania danych
dla nowego aliasu. Poni¿ej formularza jest lista istniej±cych aliasów
i&nbsp;miejsc(a) przeznaczenia przekierowywanej poczty. Aby zmodyfikowaæ 
alias naci¶nij jego nazwê. <p>

Je¿eli u¿ywasz modu³u Majordomo, zauwa¿ysz kilka aliasów takich, jak 
<tt>Majordomo</tt>, <tt>owner-listname</tt> lub <tt>listname-request</tt>.
Nie zmieniaj tych aliasów, chyba ¿e wiesz co robisz. <p>
<hr>
0707010002fc96000081a40000000000000002000000013d1fe2d400000459000000200000000000000000000000000000002700000003reloc/sendmail/help/aliases.ru_RU.html    <header>Ïî÷òîâûå Ïñåâäîíèìû</header>

Ïî÷òîâûå ïñåâäîíèìû - ýòî ñïîñîá ïåðåíàïðàâëåíèÿ ïî÷òû â sendmail ñ íåêîòîðûõ àäðåñîâ âàøåé ñèñòåìû íà äðóãèå íàçíà÷åíèÿ. Òàêèì íàçíà÷åíèåì ìîæåò áûòü ïîëüçîâàòåëü íà âàøåé ñèñòåìå, ïî÷òîâûé àäðåñ íà äðóãîé ñèñòåìå, ôàéë èëè âõîä ïðîãðàììû. Ïñåâäîíèìû ïðèìåíèìû êî <b>âñåì</b> äîìåíàì, äëÿ êîòîðûõ âàøà ñèñòåìà ïðèíèìàåò ïî÷òó. Òàêèì îáðàçîì, åñëè âàøà ñèñòåìà ïðèíèìàåò ïðèíèìàåò ïî÷òó îò äîìåíîâ <tt>abc.com</tt> è <tt>xyz.com</tt>, òî ïñåâäîíèì äëÿ àäðåñà <tt>foo</tt> áóäåò ïåðåíàïðàâëÿòü ïî÷òó ïîñûëàåìóþ íà <tt>foo@abc.com</tt> è <tt>foo@xyz.com</tt>.
<p>

Â âåðõó äàííîé ñòðàíèöû íàõîäèòñÿ ôîðìà äëÿ ââîäà ïàðàìåòðîâ íîâîãî ïî÷òîâîãî ïñåâäîíèìà. Ïîä ôîðìîé íàõîäèòñÿ ñïèñîê ñóùåñòâóþùèõ ïñåâäîíèìîâ è èõ íàçíà÷åíèÿ äëÿ ïåðåíàïðàâëåíèÿ ïî÷òû. Äëÿ  ðåäàêòèðîâàíèÿ ïñåâäîíèìà, êëèêíèòå íà åãî èìåíè.
<p>

Åñëè âû èñïîëüçóåòå ìîäóëü äëÿ Majordomo, âû ìîæåòå óâèäåòü íåñêîëüêî ïðåäîïðåäåëåííûõ ïñåâäîíèìîâ, òèïà <tt>Majordomo</tt>, <tt>owner-listname</tt> èëè <tt>listname-request</tt>. Íå èçìåíÿéòå ýòè ïñåâäîíèìû åñëè âû òî÷íî íå óâåðåíû â òîì, ÷òî âû äåëàåòå.
<p>
<hr>

   0707010002fc97000081a40000000000000002000000013d1fe2d300000459000000200000000000000000000000000000002700000003reloc/sendmail/help/aliases.ru_SU.html    <header>ðÏÞÔÏ×ÙÅ ðÓÅ×ÄÏÎÉÍÙ</header>

ðÏÞÔÏ×ÙÅ ÐÓÅ×ÄÏÎÉÍÙ - ÜÔÏ ÓÐÏÓÏÂ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÞÔÙ × sendmail Ó ÎÅËÏÔÏÒÙÈ ÁÄÒÅÓÏ× ×ÁÛÅÊ ÓÉÓÔÅÍÙ ÎÁ ÄÒÕÇÉÅ ÎÁÚÎÁÞÅÎÉÑ. ôÁËÉÍ ÎÁÚÎÁÞÅÎÉÅÍ ÍÏÖÅÔ ÂÙÔØ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ, ÐÏÞÔÏ×ÙÊ ÁÄÒÅÓ ÎÁ ÄÒÕÇÏÊ ÓÉÓÔÅÍÅ, ÆÁÊÌ ÉÌÉ ×ÈÏÄ ÐÒÏÇÒÁÍÍÙ. ðÓÅ×ÄÏÎÉÍÙ ÐÒÉÍÅÎÉÍÙ ËÏ <b>×ÓÅÍ</b> ÄÏÍÅÎÁÍ, ÄÌÑ ËÏÔÏÒÙÈ ×ÁÛÁ ÓÉÓÔÅÍÁ ÐÒÉÎÉÍÁÅÔ ÐÏÞÔÕ. ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÐÒÉÎÉÍÁÅÔ ÐÒÉÎÉÍÁÅÔ ÐÏÞÔÕ ÏÔ ÄÏÍÅÎÏ× <tt>abc.com</tt> É <tt>xyz.com</tt>, ÔÏ ÐÓÅ×ÄÏÎÉÍ ÄÌÑ ÁÄÒÅÓÁ <tt>foo</tt> ÂÕÄÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÑÔØ ÐÏÞÔÕ ÐÏÓÙÌÁÅÍÕÀ ÎÁ <tt>foo@abc.com</tt> É <tt>foo@xyz.com</tt>.
<p>

÷ ×ÅÒÈÕ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÙ ÎÁÈÏÄÉÔÓÑ ÆÏÒÍÁ ÄÌÑ ××ÏÄÁ ÐÁÒÁÍÅÔÒÏ× ÎÏ×ÏÇÏ ÐÏÞÔÏ×ÏÇÏ ÐÓÅ×ÄÏÎÉÍÁ. ðÏÄ ÆÏÒÍÏÊ ÎÁÈÏÄÉÔÓÑ ÓÐÉÓÏË ÓÕÝÅÓÔ×ÕÀÝÉÈ ÐÓÅ×ÄÏÎÉÍÏ× É ÉÈ ÎÁÚÎÁÞÅÎÉÑ ÄÌÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÞÔÙ. äÌÑ  ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÐÓÅ×ÄÏÎÉÍÁ, ËÌÉËÎÉÔÅ ÎÁ ÅÇÏ ÉÍÅÎÉ.
<p>

åÓÌÉ ×Ù ÉÓÐÏÌØÚÕÅÔÅ ÍÏÄÕÌØ ÄÌÑ Majordomo, ×Ù ÍÏÖÅÔÅ Õ×ÉÄÅÔØ ÎÅÓËÏÌØËÏ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÈ ÐÓÅ×ÄÏÎÉÍÏ×, ÔÉÐÁ <tt>Majordomo</tt>, <tt>owner-listname</tt> ÉÌÉ <tt>listname-request</tt>. îÅ ÉÚÍÅÎÑÊÔÅ ÜÔÉ ÐÓÅ×ÄÏÎÉÍÙ ÅÓÌÉ ×Ù ÔÏÞÎÏ ÎÅ Õ×ÅÒÅÎÙ × ÔÏÍ, ÞÔÏ ×Ù ÄÅÌÁÅÔÅ.
<p>
<hr>

   0707010002fc98000081a40000000000000002000000013d1fe2d3000003b6000000200000000000000000000000000000002400000003reloc/sendmail/help/aliases.sv.html   <header>E-postalias</header>

E-postalias är ett sätt för sendmail att skicka e-post vidare från en
adress i systemet. Mottagaren kan vara en användare i systemet eller någon
annanstans, en fil eller ett program. Dessa alias gäller för <b>alla</b>
domäner som systemet tar emot e-post till. Om systemet t ex tar emot e-post
till domänerna <tt>abc.com</tt> och <tt>xyz.com</tt>, kommer aliaset
<tt>foo</tt> att skicka vidare e-post både till <tt>foo@abc.com</tt> och
<tt>foo@xyz.com</tt>.

<p<Högst upp på denna sida finns ett formulär för uppgifter om nya e-postalias.
Nedanför formuläret finns en lista över befintliga alias med mottagare.
Klicka på ett alias för att ändra uppgifter om det.

<p>Om du använder modulen Majordomo kommer det att finnas några fördefinierade
alias, t ex <tt>Majordomo</tt>, <tt>owner-listname</tt> och
<tt>listname-request</tt>. Ändra inga uppgifter för dessa alias om du inte
verkligen vet vad du håller på med.
<hr>

  0707010002fc99000081a40000000000000002000000013d1fe2d4000002db000000200000000000000000000000000000002c00000003reloc/sendmail/help/aliases.zh_TW.Big5.html   <header>¶l¥ó§O¦W</header>

¶l¥ó§O¦W¬O Sendmail ­«·s¾É¦V±z¨t²Î¤W¬Y¨Ç¶l¥ó¦ì§}¨ì¨ä¥L¥Ø¼Ðªº¤è¦¡. ³o­Ó¥Ø¼Ð¥i¥H¬O¦b±zªº¨t²Î, §Oªº¨t²Î¤Wªº¹q¤l¶l¥ó¦ì§}, ¤@­ÓÀÉ®×©Î¿é¤Jµ¹¤@­Óµ{¦¡. §O¦W·|®M¥Î¦b<b>©Ò¦³</b>±zªº¨t²Î±µ¦¬ªººô°ì¤W; ¤]´N¬O»¡¦pªG±zªº¨t²Î±µ¦¬µ¹ <tt>abc.com</tt> »P <tt>xyz.com</tt> ªº¶l¥ó, ¤@­Óµ¹¦ì§} <tt>foo</tt> ªº§O¦W±N·|­«¾É¦V©Ò¦³µ¹ <tt>foo@abc.com</tt> »P <tt>foo@xyz.com</tt> ªº¶l¥ó. <p>

¦b³o¤@­¶ªº³»ºÝ¬O¤@­Ó¥i¥H¿é¤J·s¶l¥ó§O¦W¸Ô²Ó¸ê®Æªºªí³æ. ¥»­¶¤]¦P®ÉÅã¥Ü¥X©Ò¦³²{¦s§O¦W»P¨ä¥Ø¼Ðªº¦Cªí. ­n½s¿è¤@­Ó§O¦W, ¥u­nÂI¿ï¨ä¦WºÙ§Y¥i. <p>

¦pªG±z¤]¦³¨Ï¥Î Majordomo ¼Ò²Õ, ±z¥i¯à·|ª`·N¨ì¤@¨Ç¥s§@ <tt>Majordomo</tt>, <tt>owner-listname</tt> ©Î <tt>listname-request</tt> µ¥µ¥ªº§O¦W; ¤£­nÅÜ§ó³o¨Ç§O¦Wªº³]©w, °£«D±z½T©wª¾¹D±z¦b§@¤°»ò. <p>
<hr>

 0707010002fc9a000081a40000000000000002000000013d1fe2d4000000eb000000200000000000000000000000000000002700000003reloc/sendmail/help/edit_alias.ca.html    <header>Edició d'Àlies</header>

Aquesta pàgina permet editar un àlies existent i modificar-ne els detalls
fent clic sobre el botó <tt>Desa</tt>. Per suprimir l'àlies, només cal
que facis clic sobre el botó <tt>Suprimeix</tt>.

<hr>


 0707010002fc9b000081a40000000000000002000000013d1fe2d4000000f0000000200000000000000000000000000000002700000003reloc/sendmail/help/edit_alias.es.html    <header>Editar Alias</header>

Esta página te permite editar un alias existente mediante la modificación
de sus detalles y haciendo click en el botón de <tt>Salvar</tt>. Para
borrar el alias, símplemente haz click en <tt>Borrar</tt>.
<hr>

0707010002fc9c000081a40000000000000002000000013d1fe2d400000078000000200000000000000000000000000000002700000003reloc/sendmail/help/edit_alias.fr.html    <header>Éditer un Alias</header>

Cette page vous permet d'éditer un alias existant en modifiant ses détails.<p>

<hr>

0707010002fc9d000081a40000000000000002000000013d1fe2d3000000cb000000200000000000000000000000000000002400000003reloc/sendmail/help/edit_alias.html   <header>Edit Alias</header>

This page allows you to edit an existing alias by modifying its details
and clicking on the <tt>Save</tt> button. To delete the alias, simply click
on <tt>Delete</tt>.
<hr>

 0707010002fc9e000081a40000000000000002000000013d1fe2d4000000d2000000200000000000000000000000000000002700000003reloc/sendmail/help/edit_alias.pl.html    <header>Zmieñ alias</header>

Ta strona pozwala na zmianê istniej±cego aliasu poprzez modyfikacjê jego
danych i naci¶niêcie przycisku <tt>Zachowaj</tt>. Aby usun±æ alias, po prostu
naci¶nij <tt>Usuñ</tt>.
<hr>
  0707010002fc9f000081a40000000000000002000000013d1fe2d4000000f8000000200000000000000000000000000000002a00000003reloc/sendmail/help/edit_alias.ru_RU.html <header>Ðåäàêòèðîâàíèå Ïñåâäîíèìà</header>

Äàííàÿ ñòðàíèöà ïîçâîëÿåò âàì ðåäàêòèðîâàòü ñóùåñòâóþùèé ïñåâäîíèì ïóòåì èçìåíåíèÿ åãî ïàðàìåòðîâ è íàæàòèÿ íà êíîïêó <tt>Ñîõðàíèòü</tt>. Äëÿ óäàëåíèÿ ïñåâäîíèìà ïðîñòî íàæìèòå íà <tt>Óäàëèòü</tt>.
<hr>

0707010002fca0000081a40000000000000002000000013d1fe2d4000000f8000000200000000000000000000000000000002a00000003reloc/sendmail/help/edit_alias.ru_SU.html <header>òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÓÅ×ÄÏÎÉÍÁ</header>

äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÐÓÅ×ÄÏÎÉÍ ÐÕÔÅÍ ÉÚÍÅÎÅÎÉÑ ÅÇÏ ÐÁÒÁÍÅÔÒÏ× É ÎÁÖÁÔÉÑ ÎÁ ËÎÏÐËÕ <tt>óÏÈÒÁÎÉÔØ</tt>. äÌÑ ÕÄÁÌÅÎÉÑ ÐÓÅ×ÄÏÎÉÍÁ ÐÒÏÓÔÏ ÎÁÖÍÉÔÅ ÎÁ <tt>õÄÁÌÉÔØ</tt>.
<hr>

0707010002fca1000081a40000000000000002000000013d1fe2d3000000c4000000200000000000000000000000000000002700000003reloc/sendmail/help/edit_alias.sv.html    <header>Ändra alias</header>

På denna sida kan du ändra uppgifter om ett befintligt alias. Tryck på
<tt>Spara</tt> när du är klar eller tryck på <tt>Ta bort</tt> för att ta
bort ett alias.
<hr>

0707010002fca2000081a40000000000000002000000013d1fe2d400000099000000200000000000000000000000000000002f00000003reloc/sendmail/help/edit_alias.zh_TW.Big5.html    <header>½s¿è§O¦W</header>

³o¤@­¶¥i¥HÅý±z¸g¥ÑÅÜ§ó¸Ô²Ó¸ê®Æ¨Ã«ö¤U<tt>Àx¦s</tt>«ö¶s, ¥H½s¿è¤@­Ó²{¦sªº§O¦W. ­n§R°£¤@­Ó§O¦W, ¥u­n«ö¤U<tt>§R°£</tt>§Y¥i.
<hr>

   0707010002fca3000081a40000000000000002000000013d1fe2d40000080b000000200000000000000000000000000000002200000003reloc/sendmail/help/intro.ca.html <header>Configuració de Sendmail</header>

<h3>Introducció a Sendmail</h3>

Sendmail és el programa estàndard de Unix de transport i lliurament de correu.
Quan un usuari del sistema vol enviar un correu a algú d'un altre host,
sendmail és el programa que fa el procés d'enviar el correu. Igualment,
quan un usuari d'un altre sistema envia un correu a un dels usuaris locals,
el sendmail rebrà el correu i l'emmagatzemarà en el fitxer de correu de
l'usuari.
<p>

Sendmail només és un MTA (Mail Transport Agent - Agent de Transport de Correu),
cosa que vol dir que no té cap interfície d'usuari per a la gent que vulgui
enviar correu. Els programes amb que interactuen els usuaris, com ara
Eudora, elm o /bin/mail es diuen MUAs (Mail User Agent - Agent de Correu 
d'Usuari). Un MUA no envia el correu per ell mateix, sinó que simplement
li passa el correu al sendmail per que l'enviï.
<p>

Els MUAs es poden executar bé directament en el sistema (com pine o /bin/mail),
bé en un host separat que pot ser un PC monousuari (per MUAs com Eudora,
Exchange i Netscape Communicator). En el primer cas, el correu s'envia
directament invocant sendmail i passant-li el missatge, i es rep llegint 
el fitxer de correu de l'usuari. Per MUAs en altres hosts, el correu 
s'envia connectant amb el procés sendmail del teu sistema fent servir
el protocol SMTP, i es rep connectant-se a un servidor POP3 separat.
<p>

<h3>El Mòdul Sendmail</h3>

La pàgina principal d'aquest mòdul mostra una taula d'icones, cadascuna
per configurar una part diferent de la funcionalitat del sendmail.
No obstant, les característiques subjacents d'algunes icones poden 
no estar disponibles, si no han estat activades al teu <tt>sendmail.cf</tt>.
En instal·Lar el sendmail, pots triar quines característiques hi ha
disponibles editant un <tt>.mc</tt>, que és convertit per <tt>m4</tt>
en el teu <tt>sendmail.cf</tt>. Pot haver-hi moltes característiques
no disponibles (com ara Mapejat d'Adreces, Mascarada de Dominis i Control
de Spam) si no les has activat a l'hora d'instal·lar.
<p>

<hr>


 0707010002fca4000081a40000000000000002000000013d1fe2d300000880000000200000000000000000000000000000002200000003reloc/sendmail/help/intro.es.html <header>Configuración de Sendmail</header>

<h3>Introducción a Sendmail</h3>
Sendmail es el programa estándar de Unix para transportar y entregar correo.
Cuando un usuario bajo tu sistema desea enviar correo a alguien de otra
máquina sendmail es el programa que realiza actualmente el proceso de
entregar el correo. Similármente, cuando alguien de otro sistema envía
correo a uno de tus usuarios, sendmail recibirá el correo y lo almacenará
en el archivo de correo del usuario. <p>

Sendmail es sólamente un MTA (agente de transporte de correo "mail"),
queriendo esto decir que no presenta ninguna interfaz de usuario a la
gente que desee enviar correo. Programas como Eudora, elm o /bin/mail con
los que los usuarios interactúan son llamados MUA (agentes de correo del
usuario). Un MUA no entrega correo por sí mismo, en su lugar sólo pasa
el correo a sendmail para que éste lo haga. <p>

Los MUAs de usuario pueden ser ejecutados diréctamente en tu sistema (MUAs
como pine, elm o /bin/mail) o en una máquina a parte que puede ser un PC
monousuario (para MUAs como Eudora, Exchange y Communicator de Netscape).
En el primer caso, el correo es enviado diréctamente invocando sendmail y
pasándole el mensaje y recibido mediante la lectura del archivo de spool
de correo del usuario. Para MUAs ejecutados en otra máquina, el correo es
enviado conectando al proceso de sendmail de tu sistema mediante el
protocolo SMTP y recibido conectando a un servidor a parte POP3. <p>

<h3>El Módulo Sendmail</h3>
La página principal de este módulo muestra una tabla de iconos, cada uno se
usa para configurar diferentes partes de la funcionalidad de sendmail.
Sin embargo, las características que hay tras algunos iconos puede que no
estén disponibles si no han sido configuradas en tu <tt>sendmail</tt>.
Al instalar sendmail, puedes seleccionar qué características están disponibles
mediante la edición de un <tt>.mc</tt> que es convertido mediante <tt>m4</tt>
en tu <tt>sendmail.cf</tt>. Muchas características (como el Mapeo de
Direcciones, Enmascaramiento de Dominio y Control de 'a Rechazar') puede
que no estén disponibles a menos que las hayas activado en la instalación. <p>

<hr>

0707010002fca5000081a40000000000000002000000013d1fe2d400000842000000200000000000000000000000000000002200000003reloc/sendmail/help/intro.fr.html <header> Configuration de Sendmail</header>

<h3>Introduction à Sendmail</h3>
Sendmail est l'application standard sous Unix de transport et de livraison de couriel.  Quand un usager sur votre système veut envoyer un couriel à quelqu'un d'un autre hôte, Sendmail est le programme qui fait le processus d'envoyer le couriel.  De la même façon, quand quelqu'un d'un autre système envoie un couriel à un de vos usager, Sendmail le reçoit et le sauvegarde dans le fichier de l'usager.<p>

Sendmail est un MTA (mail transport agent) seulement, ce qui signifie qu'il ne présente aucune interface aux personnes qui veulent envoyer de couriel.  Des applications Eudora, elm ou /bin/mail sont ce qui interagit avec l'utilisateur, ils sont appelés MUA (mail user agents).  Un MUA ne livre pas les couriel en lui-même, il simplifie l'envoie de couriel à Sendmail pour qu'il le livre.<p>

Les MUA des usagers peuvent s'exécuter directement sur votre système (comme pine, elm ou /bin/mail), ou sur un hôte séparé qui peut être un PC d'un simple usager ( comme Eudora, Exchange et Netscape Communicator).  Dans le premier cas, le couriel peut être envoyé directement à Sendmail et reçu dans le fichier usager de file d'attente.  Pour les MUA sur d'autre hôtes, les couriel sont envoyé en se connectant au processus de Sendmail utilisant le protocole SMTP et en les recevants en se connectant sur un serveur à part POP3.<p>

<h3>Le Module Sendmail</h3>
La page principale de ce module affiche une table avec des icônes, chacun pour configurer une partie différente des fonctionnalités de Sendmail.  Cependant, certaine fonction derrière certains icônes peuvent ne pas être disponibles, s'ils n'ont pas été configuré dans <tt>sendmail.cf</tt>.  Au moment d'installer Sendmail, vous pouvez choisir quel fonctions seront disponible en éditant <tt>.mc</tt>, qui est converti par <tt>m4</tt> en votre <tt>sendmail.cf</tt>.  Plusieurs fonctions (comme les plans d'adresse, le camouflage de domaine et le contrôle de spam) peuvent ne pas être disponible tant que vous ne les activé pas au moment de l'installation.<p>

<hr>
  0707010002fca7000081a40000000000000002000000013d1fe2d4000008cd000000200000000000000000000000000000002200000003reloc/sendmail/help/intro.pl.html <header>Konfiguracja Sendmaila</header>

<h3>Wprowadzenie do Sendmaila</h3>
Sendmail jest standardowym uniksowym programem do przekazywania
i&nbsp;dorêczania poczty. Kiedy który¶ z&nbsp;u¿ytkowników twojego systemu
zechce wys³aæ wiadomo¶æ na inny komputer, sendmail pe³ni rolê programu
dorêczaj±cego. Podobnie, kiedy kto¶ z&nbsp;innego systemu wy¶le wiadomo¶æ
do którego¶ z&nbsp;twoich u¿ytkowników, sendmail odbierze tê wiadomo¶æ
i&nbsp;zachowa j± w&nbsp;pliku z&nbsp;jego poczt±. <p>

Sendmail jest jedynie MTA (mail transport agent - programem do transportu
poczty), tzn. ¿e on nie zawiera ¿adnego interfejsu u¿ytkownika dla osób
chc±cych wys³aæ wiadomó¶æ. Programy takie jak Eudora, elm czy /bin/mail,
którymi u¿ytkownik siê bezpo¶rednio komunikuje s± nazywane MUA (mail user
agent - program pocztowy u¿ytkownika). MUA nie dorêcza wiadomo¶ci
samodzielnie, a&nbsp;jedynie przekazuje j± do sendmaila w&nbsp;celu
dorêczenia. <p>

MUA u¿ytkowników mog± byæ uruchomione zarównoo bezpo¶rednio w&nbsp;twoim
systemie (MUA takie jak: pine, elm, czy /bin/mail), jak te¿ na osobnym
komputerze, którym mo¿e byæ osobisty PC (w przypadku MUA takich jak: Eudora,
Exchange, Outlook, czy Netscape Communicator). W&nbsp;pierwszym przypadku
poczta jest wysy³ana poprzez bezpo¶rednie wywo³anie sendmaila
i&nbsp;przekazanie mu wiadomo¶ci, za¶ odbierana poprzez odczyt z&nbsp;pliku
poczty u¿ytkownika. W&nbsp;przypadku MUAs dzia³aj±cych na innych komputerach
poczta jest wysy³ana poprzez po³±czenie siê z&nbsp;sendmailem na twoim
komputerze przy u¿yciu protoko³u SMTP, a odbierana poprzez po³±czenie
z&nbsp;osobnym serwerem POP3 lub IMAP. <p>

<h3>Modu³ Sendmaila</h3>
G³ówna strona tego modu³u pokazuje tablicê ikon, ka¿da do konfiguracji
innego zestawu funkcji sendmaila. Jednak¿e, funkcje za niektórymi ikonami
mog± byæ niedostêpne, je¶li nie zosta³y ustawione w twoim
<tt>sendmail.cf</tt> podczas instalacji. W czasie instalacji mo¿na wybraæ,
które funkcje maj± byæ dostêpne poprzez edycjê pliku <tt>.mc</tt>
przetwarzanego pó¼niej przez program <tt>m4</tt> do postaci

<tt>sendmail.cf</tt>. Wiele funkcji (takich jak: Mapowanie Adresów,
Maskowanie Domen czy Kontrola Spamu) mo¿e byæ dostêpnych jedynie pod
warunkiem, ¿e zosta³y w³±czone podczas instalacji. <p>
<hr>
   0707010002fca8000081a40000000000000002000000013d1fe2d4000008f6000000200000000000000000000000000000002500000003reloc/sendmail/help/intro.ru_RU.html  <header>Êîíôèãóðàöèÿ Sendmail</header>

<h3>Ââåäåíèå â Sendmail</h3>
Sendmail - ýòî ñòàíäàðòíàÿ Unix ïðîãðàììà äëÿ îòïðàâêè è äîñòàâêè ïî÷òû (ïî÷òîâîãî òðàíñïîðòà). Êîãäà ïîëüçîâàòåëü âàøåé ñèñòåìû õî÷åò îòïðàâèòü ýëåêòðîííóþ ïî÷òó êîìó-ëèáî íà äðóãîì õîñòå, òî sendmail âûïîëíÿåò âñå íåîáõîäèìûå äåéñòâèÿ ïî äîñòàâêå ïî÷òû. Àíàëîãè÷íî, åñëè êòî-ëèáî íà äðóãîì õîñòå ïîñûëàåò ïî÷òó îäíîìó èç ïîëüçîâàòåëåé âàøåé ñèñòåìû, sendmail ïðèíèìàåò ýòó ïî÷òó è ñîõðàíÿåò å£ â ïî÷òîâûõ ôàéëàõ (ïî÷òîâûõ ÿùèêàõ) ïîëüçîâàòåëåé.
<p>

Sendmail - ýòî òîëüêî MTA (mail transport agent - òðàíñïîðòíûé ïî÷òîâûé àãåíò). Ýòî îçíà÷àåò, ÷òî îí íå ïðåäîñòàâëÿåò êàêîãî-ëèáî èíòåðôåéñà äëÿ ïîëüçîâàòåëåé ðàáîòàþùèõ ñ ïî÷òîé. Ïðîãðàììû òèïà Eudora, elm èëè /bin/mail ñ êîòîðûìè îáû÷íî ðàáîòàþò ïîëüçîâàòåëè - íàçûâàþòñÿ MUAs (mail user agents - ïî÷òîâûå ïîëüçîâàòåëüñêèå àãåíòû). Ñàìè ïî ñåáå MUA íå äîñòàâëÿþò ïî÷òó, îíè ïðîñòî ïåðåäàþò å£ sendmail äëÿ äîñòàâêè.
<p>

Ïîëüçîâàòåëüñêèå àãåíòû (MUAs) ìîãóò èñïîëíÿòüñÿ êàê íåïîñðåäñòâåííî íà âàøåé ñèñòåìå (MUAs òèïà pine, elm èëè /bin/mail), òàê è íà îòäåëüíîì õîñòå, êîòîðûì ìîæåò áûòü âàø ÏÊ (äëÿ MUAs òèïà Eudora, Exchange è Netscape Communicator). Â ïåðâîì ñëó÷àå îòïðàâêà ïî÷òû îñóùåñòâëÿåòñÿ ïðÿìûì çàïóñêîì ïðîãðàììû sendmail è ïåðåäà÷åé åé ïî÷òîâîãî ñîîáùåíèÿ, à ïðèåì îñóùåñòâëÿåòñÿ ÷òåíèåì ïîëüçîâàòåëüñêîãî ïî÷òîâîãî ôàéëà (ïî÷òîâîãî ÿùèêà). Âî âòîðîì ñëó÷àå (äëÿ MUAs íà îòäåëüíîì õîñòå) ïî÷òà îòñûëàåòñÿ ïóòåì ñîåäèíåíèÿ ñ ïðîöåññîì sendmail íà âàøåé ñèñòåìå ïî ïðîòîêîëó SMTP, à ïîëó÷åíèå ïóòåì ñîåäèíåíèÿ ñ îòäåëüíûì POP3 ñåðâåðîì.
<p>

<h3>Ìîäóëü Sendmail</h3>
Ãëàâíàÿ ñòðàíèöà äàííîãî ìîäóëÿ ïîêàçûâàåò ñïèñîê ïèêòîãðàìì, âûáîð êàêîé-ëèáî èç íèõ ïîçâîëÿåò íàñòðàèâàòü ðàçëè÷íûå àñïåêòû ôóíêöèîíèðîâàíèÿ sendmail. Îäíàêî íåêîòîðûå ÷àñòè êîíôèãóðàöèè ìîãóò áûòü íåäîñòóïíû, åñëè â ôàéëå êîíôèãóðàöèè <tt>sendmail.cf</tt> íåò ñîîòâåòñòâóþùèõ äèðåêòèâ. Ïðè èíñòàëëÿöèè sendmail, âû ìîæåòå âûáðàòü - êàêèå ïàðàìåòðû äîñòóïíû, ïóòåì ðåäàêòèðîâàíèÿ ôàéëà <tt>.mc</tt>, êîòîðûé â ñâîþ î÷åðåäü êîìïèëèðóåòñÿ â âàø <tt>sendmail.cf</tt> ñ ïîìîùüþ ìàêðîïðîöåññîðà <tt>m4</tt>. Ìíîæåñòâî ïàðàìåòðîâ (òàêèõ êàê Àäðåñíûå Ïîäñòàíîâêè, Äîìåííàÿ Ìàñêèðîâêà è Êîíòðîëü Spamà) ìîãóò áûòü íåäîñòóïíû äî òåõ ïîð, ïîêà âû íå àêòèâèçèðóåòå èõ âî âðåìÿ èíñòàëëÿöèè.
<p>

<hr>

  0707010002fca9000081a40000000000000002000000013d1fe2d3000008f6000000200000000000000000000000000000002500000003reloc/sendmail/help/intro.ru_SU.html  <header>ëÏÎÆÉÇÕÒÁÃÉÑ Sendmail</header>

<h3>÷×ÅÄÅÎÉÅ × Sendmail</h3>
Sendmail - ÜÔÏ ÓÔÁÎÄÁÒÔÎÁÑ Unix ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÏÔÐÒÁ×ËÉ É ÄÏÓÔÁ×ËÉ ÐÏÞÔÙ (ÐÏÞÔÏ×ÏÇÏ ÔÒÁÎÓÐÏÒÔÁ). ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ÈÏÞÅÔ ÏÔÐÒÁ×ÉÔØ ÜÌÅËÔÒÏÎÎÕÀ ÐÏÞÔÕ ËÏÍÕ-ÌÉÂÏ ÎÁ ÄÒÕÇÏÍ ÈÏÓÔÅ, ÔÏ sendmail ×ÙÐÏÌÎÑÅÔ ×ÓÅ ÎÅÏÂÈÏÄÉÍÙÅ ÄÅÊÓÔ×ÉÑ ÐÏ ÄÏÓÔÁ×ËÅ ÐÏÞÔÙ. áÎÁÌÏÇÉÞÎÏ, ÅÓÌÉ ËÔÏ-ÌÉÂÏ ÎÁ ÄÒÕÇÏÍ ÈÏÓÔÅ ÐÏÓÙÌÁÅÔ ÐÏÞÔÕ ÏÄÎÏÍÕ ÉÚ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÁÛÅÊ ÓÉÓÔÅÍÙ, sendmail ÐÒÉÎÉÍÁÅÔ ÜÔÕ ÐÏÞÔÕ É ÓÏÈÒÁÎÑÅÔ Å£ × ÐÏÞÔÏ×ÙÈ ÆÁÊÌÁÈ (ÐÏÞÔÏ×ÙÈ ÑÝÉËÁÈ) ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
<p>

Sendmail - ÜÔÏ ÔÏÌØËÏ MTA (mail transport agent - ÔÒÁÎÓÐÏÒÔÎÙÊ ÐÏÞÔÏ×ÙÊ ÁÇÅÎÔ). üÔÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÏÎ ÎÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ËÁËÏÇÏ-ÌÉÂÏ ÉÎÔÅÒÆÅÊÓÁ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÒÁÂÏÔÁÀÝÉÈ Ó ÐÏÞÔÏÊ. ðÒÏÇÒÁÍÍÙ ÔÉÐÁ Eudora, elm ÉÌÉ /bin/mail Ó ËÏÔÏÒÙÍÉ ÏÂÙÞÎÏ ÒÁÂÏÔÁÀÔ ÐÏÌØÚÏ×ÁÔÅÌÉ - ÎÁÚÙ×ÁÀÔÓÑ MUAs (mail user agents - ÐÏÞÔÏ×ÙÅ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÁÇÅÎÔÙ). óÁÍÉ ÐÏ ÓÅÂÅ MUA ÎÅ ÄÏÓÔÁ×ÌÑÀÔ ÐÏÞÔÕ, ÏÎÉ ÐÒÏÓÔÏ ÐÅÒÅÄÁÀÔ Å£ sendmail ÄÌÑ ÄÏÓÔÁ×ËÉ.
<p>

ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÁÇÅÎÔÙ (MUAs) ÍÏÇÕÔ ÉÓÐÏÌÎÑÔØÓÑ ËÁË ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ (MUAs ÔÉÐÁ pine, elm ÉÌÉ /bin/mail), ÔÁË É ÎÁ ÏÔÄÅÌØÎÏÍ ÈÏÓÔÅ, ËÏÔÏÒÙÍ ÍÏÖÅÔ ÂÙÔØ ×ÁÛ ðë (ÄÌÑ MUAs ÔÉÐÁ Eudora, Exchange É Netscape Communicator). ÷ ÐÅÒ×ÏÍ ÓÌÕÞÁÅ ÏÔÐÒÁ×ËÁ ÐÏÞÔÙ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÐÒÑÍÙÍ ÚÁÐÕÓËÏÍ ÐÒÏÇÒÁÍÍÙ sendmail É ÐÅÒÅÄÁÞÅÊ ÅÊ ÐÏÞÔÏ×ÏÇÏ ÓÏÏÂÝÅÎÉÑ, Á ÐÒÉÅÍ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÞÔÅÎÉÅÍ ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÇÏ ÐÏÞÔÏ×ÏÇÏ ÆÁÊÌÁ (ÐÏÞÔÏ×ÏÇÏ ÑÝÉËÁ). ÷Ï ×ÔÏÒÏÍ ÓÌÕÞÁÅ (ÄÌÑ MUAs ÎÁ ÏÔÄÅÌØÎÏÍ ÈÏÓÔÅ) ÐÏÞÔÁ ÏÔÓÙÌÁÅÔÓÑ ÐÕÔÅÍ ÓÏÅÄÉÎÅÎÉÑ Ó ÐÒÏÃÅÓÓÏÍ sendmail ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÐÏ ÐÒÏÔÏËÏÌÕ SMTP, Á ÐÏÌÕÞÅÎÉÅ ÐÕÔÅÍ ÓÏÅÄÉÎÅÎÉÑ Ó ÏÔÄÅÌØÎÙÍ POP3 ÓÅÒ×ÅÒÏÍ.
<p>

<h3>íÏÄÕÌØ Sendmail</h3>
çÌÁ×ÎÁÑ ÓÔÒÁÎÉÃÁ ÄÁÎÎÏÇÏ ÍÏÄÕÌÑ ÐÏËÁÚÙ×ÁÅÔ ÓÐÉÓÏË ÐÉËÔÏÇÒÁÍÍ, ×ÙÂÏÒ ËÁËÏÊ-ÌÉÂÏ ÉÚ ÎÉÈ ÐÏÚ×ÏÌÑÅÔ ÎÁÓÔÒÁÉ×ÁÔØ ÒÁÚÌÉÞÎÙÅ ÁÓÐÅËÔÙ ÆÕÎËÃÉÏÎÉÒÏ×ÁÎÉÑ sendmail. ïÄÎÁËÏ ÎÅËÏÔÏÒÙÅ ÞÁÓÔÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÍÏÇÕÔ ÂÙÔØ ÎÅÄÏÓÔÕÐÎÙ, ÅÓÌÉ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ <tt>sendmail.cf</tt> ÎÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ÄÉÒÅËÔÉ×. ðÒÉ ÉÎÓÔÁÌÌÑÃÉÉ sendmail, ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ - ËÁËÉÅ ÐÁÒÁÍÅÔÒÙ ÄÏÓÔÕÐÎÙ, ÐÕÔÅÍ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÆÁÊÌÁ <tt>.mc</tt>, ËÏÔÏÒÙÊ × Ó×ÏÀ ÏÞÅÒÅÄØ ËÏÍÐÉÌÉÒÕÅÔÓÑ × ×ÁÛ <tt>sendmail.cf</tt> Ó ÐÏÍÏÝØÀ ÍÁËÒÏÐÒÏÃÅÓÓÏÒÁ <tt>m4</tt>. íÎÏÖÅÓÔ×Ï ÐÁÒÁÍÅÔÒÏ× (ÔÁËÉÈ ËÁË áÄÒÅÓÎÙÅ ðÏÄÓÔÁÎÏ×ËÉ, äÏÍÅÎÎÁÑ íÁÓËÉÒÏ×ËÁ É ëÏÎÔÒÏÌØ SpamÁ) ÍÏÇÕÔ ÂÙÔØ ÎÅÄÏÓÔÕÐÎÙ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ×Ù ÎÅ ÁËÔÉ×ÉÚÉÒÕÅÔÅ ÉÈ ×Ï ×ÒÅÍÑ ÉÎÓÔÁÌÌÑÃÉÉ.
<p>

<hr>

  0707010002fcaa000081a40000000000000002000000013d1fe2d300000752000000200000000000000000000000000000002200000003reloc/sendmail/help/intro.sv.html <header>Sendmail-inställningar</header>

<h3>Introduktion till Sendmail</h3>
Sendmail är standard-Unix-programmet för e-postbefordran. Om en användare i
systemet vill skicka e-post till någon som sitter vid en annan dator är det
sendmail som skickar e-postmeddelandet. På liknande sätt är det sendmail
som tar emot e-postmeddelanden från andra system och lagrar dem i
användarens e-postfil.

<p>Sendmail är bara en MTA (mail transport agent), vilket betyder att den
inte har något användargränssnitt för den som vill skicka ett
e-postmeddelande. Program som användarna kör för att skicka och ta emot
e-post, som Eudora, elm och /bin/mail, kallas MUA (mail user agent). En MUA
skickar inte e-post, utan vidarebefordrar den endast till sendmail, som
får ta hand om själva skickandet.

<p>En MUA kan köras på systemet (t ex pine, elm och /bin/mail) eller på en
separat dator (t ex Eudora, Exchange och Netscape Communicator). I det
första fallet skickas e-post genom att sendmail direkt kontaktas och
meddelandet överförs, och e-post tas emot genom att meddelandet lagras i
användarens e-post-spool-fil, där MUAn läser det. Om en MUA körs på en ensam
dator skickas
e-post genom att datorn kopplar upp sig till sendmail-processen på systemet
med SMTP-protokollet, och e-post tas emot genom att datorn kopplar upp sig
till en särskild POP3-server.

<h3>Sendmail-modulen</h3>
Startsidan för denna modul innehåller en tabell med ikoner, där varje ikon
representerar en del av sendmails funktionalitet. En del funktioner bakom
ikonerna kan saknas om de inte har satts upp i <tt>sendmail.cf</tt>. När
man installerar sendmail kan man välja de funktioner som ska finnas genom att
ändra en <tt>.mc</tt> som konverteras av <tt>m4</tt> till <tt>sendmail.cf</tt>.
Många funktioner, t ex domänmaskering och spamskydd, måste aktiveras vid
installationen för att finnas tillgängliga.

<hr>

  0707010002fcab000081a40000000000000002000000013d1fe2d400000537000000200000000000000000000000000000002a00000003reloc/sendmail/help/intro.zh_TW.Big5.html <header>Sendmail ²ÕºA</header>

<h3>Sendmail Â²¤¶</h3>
Sendmail ¬O¤@­Ó¼Ð·Çªº Unix ¶l¥ó¶Ç¿é»P»¼°eµ{¦¡. ·í¤@­Ó¦b±z¨t²Î¤Wªº¨Ï¥ÎªÌ·Q­n±H¥X¤@­Ó¹q¤l¶l¥óµ¹¦b¨ä¥L¥D¾÷¤Wªº¨Ï¥ÎªÌ®É, Sendmail ¬O°õ¦æ¹ê»Ú»¼°eµ{§Çªºµ{¦¡. ¬Û¦üªº, ¹ï©ó¨ä¥L¨t²Î¨Ï¥ÎªÌ±H°e¶l¥óµ¹±z¨t²Î¤Wªº¨Ï¥ÎªÌ®É, Sendmail ·|±µ¦¬³o¨Ç¶l¥ó¨ÃÀx¦s¦b¨Ï¥ÎªÌªº«H½cÀÉ®×¤§¤¤. <p>

Sendmail ¥u¬O¤@­Ó MTA (¶l¥ó¶Ç¿é¥N²z), ³oªí¥Ü¥L¨Ã¤£¥]§t¥ô¦óªº¨Ï¥ÎªÌ¤¶­±µ¹­n»¼°e¶l¥óªº¤H. ¨ä¥L¨Ò¦p Eudora, elm ©Î /bin/mail ¤~¬O»P¨Ï¥ÎªÌ¤¬°Êªº MUA (¶l¥ó¨Ï¥ÎªÌ¥N²z). µM¦Ó MUA ¤£·|¦Û¤v»¼°e¶l¥ó, ¦Ó«ü¨Ï³B²z­n¨D¨Ã¥Ñ Sendmail ­t³d»¼°e. <p>

¨Ï¥ÎªÌªº MUA ¥i¥Hª½±µ¦b±zªº¨t²Î¤W°õ¦æ (¨Ò¦p pine, elm ©Î /bin/mail) ©ÎªÌ¦b¨ä¥Lªº­Ó¤H PC ¤W­±°õ¦æ (¨Ò¦p Eudora, Exchange ©Î Netscape ³q°T®a). ¦b²Ä¤@­Óª¬ªp¤U, ¶l¥ó¬Oª½±µ©I¥s Sendmail, ¨Ã±N¶l¥ó¥»Åé°eµ¹ Sendmail; ©ÎªÌª½±µÅª¨ú¨Ï¥ÎªÌªº«H¥ó¦î¦CÀÉ®×. ¹ï©ó¦b¨ä¥L¨t²Î¤W°õ¦æªº MUA ¦Ó¨¥, »¼°e¶l¥ó¬O¸g¥Ñ SMTP »P±z¨t²Î¤Wªº Sendmail µ{§Ç³s±µ, ¨Ã¨Ï¥ÎÃB¥~ªº POP3 ¦øªA¾¹±µ¦¬«H¥ó. <p>

<h3>Sendmail ¼Ò²Õ</h3>
³o­Ó¼Ò²Õªº¥D­¶Åã¥Ü¥X¤@¨t¦Cªº¹Ï¥Ü, ¨C¤@­Ó³£¥i¥H²ÕºA¤£¦P³¡¤Àªº Sendmail ¥\¯à. µM¦Ó, ¬Y¨Ç¹Ï¥Ü©Ò¹ïÀ³ªº¥\¯à¥i¯à¤£¯à¨Ï¥Î. ³o¬O¦]¬°¦b±zªº <tt>sendmail.cf</tt> ¤¤³]©w¨S¦³¬ÛÃöªº¥\¯à. ·í¦w¸Ë Sendmail ®É, ±z¥i¥H½s¿è <tt>.mc</tt> ÀÉ®×¥H¿ï¾Ü­n¨Ï¥Îªº¥\¯à, ¨Ã¥B¥H <tt>m4</tt> Âà´«¦¨±zªº <tt>semdmail.cf</tt>. ³\¦hªº¥\¯à (¨Ò¦p¶l¥ó¦ì§}¹ïÀ³, ºô°ì°°¸Ë»P©U§£¶l¥ó±±¨îµ¥) ¥²¶·­n±z¦b¦w¸Ë®É¥H¤â°Ê±Ò°Ê¤§. <p>

<hr>

 0707010002fcac000081a40000000000000002000000013d1fe2d4000000bc000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_ConnectionRateThrottle.ca.html    <header>Màxim nombre de connexions / segon</header>

Determina el nombre màxim de missatges entrants per segon. És útil quan
el correu entrant fa servir massa memòria o massa CPU.

<hr>


0707010002fcad000081a40000000000000002000000013d1fe2d4000000e6000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_ConnectionRateThrottle.es.html    <header>Máximas Conexiones / segundo</header>

Determina el máximo número de mensajes entrantes de correo aceptados por
segundo. Es útil si el correo entrante está utilizando demasiada memoria
o tiempo de UCP de tu sistema.
<hr>

  0707010002fcae000081a40000000000000002000000013d1fe2d4000000dd000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_ConnectionRateThrottle.fr.html    <header>Connexions Maximum par Secondes</header>

Définit le nombre maximum de couriels accepté par secondes.  Utile si les couriels entrant utilise trop de mémoire et de puissance processeur sur votre système.<p>

<hr>

   0707010002fcaf000081a40000000000000002000000013d1fe2d3000000cf000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_ConnectionRateThrottle.html   <header>Max connections / second</header>

Determines the maximum number of incoming email messages accepted per
second. Useful if incoming mail is using up too much memory or CPU time
on your system.
<hr>

 0707010002fcb0000081a40000000000000002000000013d1fe2d400000128000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_ConnectionRateThrottle.pl.html    <header>Maks. ilo¶æ po³±czeñ / sekundê</header>

Ta opcja okre¶la maksymaln± ilo¶æ wiadomo¶ci przychodz±cych, które mog± byæ
przyjête w&nbsp;ci±gu sekundy. U¿yteczna, je¶li odbieranie poczty
przychodz±cej zajmuje zbyt du¿o pamiêci RAM lub nadmiernie obci±¿a procesor
w&nbsp;twoim systemie.

<hr>
0707010002fcb1000081a40000000000000002000000013d1fe2d4000000e7000000200000000000000000000000000000003a00000003reloc/sendmail/help/opt_ConnectionRateThrottle.ru_RU.html <header>Ìàêñ. ñîåäèíåíèé / ñåêóíäó</header>

Îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî âõîäÿùèõ ïî÷òîâûõ ñîáùåíèé â ñåêóíäó. Ïîëåçíî îïðåäåëÿòü, åñëè âõîäÿùàÿ ïî÷òà îòíèìàåò ñëèøêîì ìíîãî ðåñóðñîâ ïàìÿòè èëè ïðîöåññîðà íà âàøåé ñèñòåìå.
<hr>

 0707010002fcb2000081a40000000000000002000000013d1fe2d4000000e7000000200000000000000000000000000000003a00000003reloc/sendmail/help/opt_ConnectionRateThrottle.ru_SU.html <header>íÁËÓ. ÓÏÅÄÉÎÅÎÉÊ / ÓÅËÕÎÄÕ</header>

ïÐÒÅÄÅÌÑÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ×ÈÏÄÑÝÉÈ ÐÏÞÔÏ×ÙÈ ÓÏÂÝÅÎÉÊ × ÓÅËÕÎÄÕ. ðÏÌÅÚÎÏ ÏÐÒÅÄÅÌÑÔØ, ÅÓÌÉ ×ÈÏÄÑÝÁÑ ÐÏÞÔÁ ÏÔÎÉÍÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÅÓÕÒÓÏ× ÐÁÍÑÔÉ ÉÌÉ ÐÒÏÃÅÓÓÏÒÁ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ.
<hr>

 0707010002fcb3000081a40000000000000002000000013d1fe2d3000000fa000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_ConnectionRateThrottle.sv.html    <header>Maximalt antal uppkopplingar/sekund</header>

Här anges det maximala antalet inkommande e-postmeddelanden som kan tas
emot varje sekund. Detta kan vara användbart om inkommande e-post tar upp
för mycket minne eller CPU-tid på systemet.
<hr>

  0707010002fcb4000081a40000000000000002000000013d1fe2d400000096000000200000000000000000000000000000003f00000003reloc/sendmail/help/opt_ConnectionRateThrottle.zh_TW.Big5.html    <header>¨C¬í¤¤³Ì¤j³sµ²¼Æ</header>

¨M©w¨C¬í©Ò­n±µ¦¬ªº³Ì¤j¶i¤J¶l¥ó°T®§¼Æ¥Ø. ·í±z¨t²Î¤W¦³¤Ó¦hªº«H¥ó¶i¤J¨Ã¨Ï¥Î¤Ó¦hªº CPU ®É¶¡©Î°O¾ÐÅé®É±N·|¦³À°§U.
<hr>

  0707010002fcb5000081a40000000000000002000000013d1fe2d400000160000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DH.ca.html    <header>Reenvia el correu dels usuaris locals al host</header>

A menys que hagis triat <tt>Lliura el correu localment</tt>, tot el correu
que s'enviaria normalment als usuaris locals, s'envia al host especificat.
Això és útil quan el teu sistema és una estació de treball compartida i
vols que el correu vagi tot a un servidor de correu comú.

<hr>


0707010002fcb6000081a40000000000000002000000013d1fe2d400000164000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DH.es.html    <header>Remitir correo de usuarios locales a máquina</header>

A menos que se seleccione <tt>Entregar localmente</tt>, todo el correo que
sería normalmente entregado a usuarios locales será remitido a la máquina
especificada. Es útil si tu sistema es una estación de trabajo compartida
y deseas que todo el correo vaya a un servidor de correo común.
<hr>

0707010002fcb7000081a40000000000000002000000013d1fe2d40000016f000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DH.fr.html    <header>Diriger les Couriels des Usagers Locaux à l'Hôte</header>

Tant que <tt>Livré localement</tt> est choisit, tout les couriels qui devraient normalement être envoyé aux usagers locaux vont être envoyé à l'hôte spécifié.  Utile si votre système est une station de travail partagé et que vous voulez que tout vos couriels aille à un serveur commun.<p>

<hr>
 0707010002fcb8000081a40000000000000002000000013d1fe2d40000012d000000200000000000000000000000000000002000000003reloc/sendmail/help/opt_DH.html   <header>Forward mail for local users to host</header>

Unless <tt>Deliver locally</tt> is chosen, all mail that would normally
be delivered to local users will be forwarded to the specified host.
Useful if your system is a shared workstation and you want
all mail to go to a common mail server.
<hr>

   0707010002fcb9000081a40000000000000002000000013d1fe2d400000172000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DH.pl.html    <header>Przeka¿ pocztê dla u¿ytkowników lokalnych do komputera</header>

Je¿eli nie wybrano <tt>Dorêczaj lokalnie</tt>, ca³a poczta, która by³aby
normalnie dorêczana lokalnym u¿ytkownikom, zostanie przekazana do podanego
komputera. U¿yteczne, je¶li twój system jest wspó³u¿ytkowan± stacj± robocz±
i&nbsp;chcesz, aby ca³a poczta trafia³a na wspólny serwer pocztowy.
<hr>
  0707010002fcba000081a40000000000000002000000013d1fe2d40000016e000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DH.ru_RU.html <header>Ïåðåñûëàòü ïî÷òó ëîêàëüíûõ ïîëüçîâàòåëåé íà õîñò</header>

Ïîêà íå âûáðàíà <tt>Ëîêàëüíàÿ äîñòàâêà</tt>, âñÿ ïî÷òà, êîòîðàÿ â íîðìå äîñòàâëÿåòñÿ ëîêàëüíûì ïîëüçîâàòåëÿì, áóäåò ïåðåíàïðàâëåíà íà óêàçàííûé õîñò. Äàííûé ïàðàìåòð ïîëåçåí, åñëè âàøà ñèñòåìà ÿâëÿåòñÿ ðàçäåëÿåìîé ðàáî÷åé ñòàíöèåé è âû õîòèòå, ÷òîáû âñÿ ïî÷òà õîäèëà íà îáùèé ïî÷òîâûé ñåðâåð.
<hr>

  0707010002fcbb000081a40000000000000002000000013d1fe2d30000016e000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DH.ru_SU.html <header>ðÅÒÅÓÙÌÁÔØ ÐÏÞÔÕ ÌÏËÁÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÈÏÓÔ</header>

ðÏËÁ ÎÅ ×ÙÂÒÁÎÁ <tt>ìÏËÁÌØÎÁÑ ÄÏÓÔÁ×ËÁ</tt>, ×ÓÑ ÐÏÞÔÁ, ËÏÔÏÒÁÑ × ÎÏÒÍÅ ÄÏÓÔÁ×ÌÑÅÔÓÑ ÌÏËÁÌØÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ, ÂÕÄÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÁ ÎÁ ÕËÁÚÁÎÎÙÊ ÈÏÓÔ. äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÌÅÚÅÎ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ Ñ×ÌÑÅÔÓÑ ÒÁÚÄÅÌÑÅÍÏÊ ÒÁÂÏÞÅÊ ÓÔÁÎÃÉÅÊ É ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ×ÓÑ ÐÏÞÔÁ ÈÏÄÉÌÁ ÎÁ ÏÂÝÉÊ ÐÏÞÔÏ×ÙÊ ÓÅÒ×ÅÒ.
<hr>

  0707010002fcbc000081a40000000000000002000000013d1fe2d300000145000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DH.sv.html    <header>Skicka e-post till lokala användare vidare till dator</header>

Om man inte har valt <tt>Dela ut lokalt</tt> kommer all e-post till lokala
användare att skickas till den angivna datorn. Detta är användbart om
systemet är en delad arbetsstation och man vill att e-post ska skickas till
en gemensam e-postserver.
<hr>

   0707010002fcbd000081a40000000000000002000000013d1fe2d4000000e4000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_DH.zh_TW.Big5.html    <header>¬°¥»¦aºÝ¨Ï¥ÎªÌÂà°e¶l¥ó¨ì¥D¾÷</header>

°£«D¿ï¾Ü¤F<tt>¥»¦aºÝ»¼°e</tt>, ©Ò¦³¤@¯ë³£·|»¼°e¨ì¥»¦aºÝ¨Ï¥ÎªÌªº¶l¥ó³£·|³Q°e¨ì«ü©wªº¥D¾÷. ·í±zªº¨t²Î¬O¤@­Ó¤À¨É©Êªº¤u§@¯¸, ¦Ó±z§Æ±æ©Ò¦³ªº¶l¥ó³£·|¨ì¹F¤@¯ëªº¶l¥ó¦øªA¾¹®É±N·|¦³¥Î.
<hr>

0707010002fcbe000081a40000000000000002000000013d1fe2d40000018f000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DR.ca.html    <header>Reenvia el noms d'usuari no qualificats al host</header>

A menys que hagis triat <tt>Lliura el correu localment</tt>, tot el correu
enviat pels usuaris locals a un nom d'usuari no qualificat (com ara
<tt>jcameron</tt>), es reenviarà al host especificat. Això és útil se
el teu sistema és una estació de treball compartida i vols que tot el
correu vagi a un servidor de correu comú.

<hr>


 0707010002fcbf000081a40000000000000002000000013d1fe2d4000001a1000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DR.es.html    <header>Remitir nombres de usuario no calificados a máquina</header>

A menos que se seleccione <tt>Entregar localmente</tt>, cualquier correo
enviado por los usuarios locales a un nombre de usuario sin calificar
(como <tt>jcameron</tt>) será remitido a la máquina especificada. Es útil
si tu sistema es una estación de trabajo compartida y deseas que todo el
correo vaya a parar a un servidor de correo común.
<hr>

   0707010002fcc0000081a40000000000000002000000013d1fe2d400000183000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DR.fr.html    <header>Diriger les Noms d'Usager Non Qualifié à l'Hôte</header>

Tant que <tt>Livré localement</tt> est choisit, tout les couriels envoyé par un usager local à un usager non qualifié (sans de @ et de nom de domaine) seront envoyé à l'hôte spécifié.  Utile si votre système est une station de travail partagé et que vous voulez que tout vos couriels aille à un serveur commun.<p>

<hr>

 0707010002fcc1000081a40000000000000002000000013d1fe2d400000146000000200000000000000000000000000000002000000003reloc/sendmail/help/opt_DR.html   <header>Forward unqualified usernames to host</header>

Unless <tt>Deliver locally</tt> is chosen, any mail sent by local users to
an unqualified username (like <tt>jcameron</tt>) will be forwarded to the
specified host. Useful if your system is a shared workstation and you want
all mail to go to a common mail server.
<hr>

  0707010002fcc2000081a40000000000000002000000013d1fe2d400000193000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DR.pl.html    <header>Przeka¿ pocztê z&nbsp;niepe³nym adresem do komputera</header>

Je¿eli nie wybrano <tt>Dorêczaj lokalnie</tt>, ca³a poczta wys³ana przez
lokalnych u¿ytkowników na niepe³ny adres docelowy (jak np. <tt>jcameron</tt>)
zostanie przekazana do podanego komputera. U¿yteczne, je¶li twój system jest
wspó³u¿ytkowan± stacj± robocz± i&nbsp;chcesz, aby ca³a poczta trafia³a na
wspólny serwer pocztowy.
<hr>
 0707010002fcc3000081a40000000000000002000000013d1fe2d40000019c000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DR.ru_RU.html <header>Ïåðåñûëàòü ïî÷òó íåèçâåñòíûõ ïîëüçîâàòåëåé íà õîñò</header>

Åñëè íå âûáðàíà <tt>Ëîêàëüíàÿ äîñòàâêà</tt>, âñÿ ïî÷òà ïîñûëàåìàÿ ëîêàëüíûìè ïîëüçîâàòåëÿìè äëÿ íåèçâåñòíîãî ïîëüçîâàòåëÿ (íàïðèìåð <tt>jcameron</tt>) áóäåò ïåðåíàïðàâëåíà íà óêàçàííûé õîñò. Äàííàÿ âîçìîæíîñòü ïîëåçíà, åñëè âàøà ñèñòåìà ÿâëÿåòñÿ ðàçäåëÿåìîé ðàáî÷åé ñòàíöèåé è âû õîòèòå, ÷òîáû âñÿ ïî÷òà õîäèëà íà îáùèé ïî÷òîâûé ñåðâåð.
<hr>

0707010002fcc4000081a40000000000000002000000013d1fe2d30000019c000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DR.ru_SU.html <header>ðÅÒÅÓÙÌÁÔØ ÐÏÞÔÕ ÎÅÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÈÏÓÔ</header>

åÓÌÉ ÎÅ ×ÙÂÒÁÎÁ <tt>ìÏËÁÌØÎÁÑ ÄÏÓÔÁ×ËÁ</tt>, ×ÓÑ ÐÏÞÔÁ ÐÏÓÙÌÁÅÍÁÑ ÌÏËÁÌØÎÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÄÌÑ ÎÅÉÚ×ÅÓÔÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ (ÎÁÐÒÉÍÅÒ <tt>jcameron</tt>) ÂÕÄÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÁ ÎÁ ÕËÁÚÁÎÎÙÊ ÈÏÓÔ. äÁÎÎÁÑ ×ÏÚÍÏÖÎÏÓÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ Ñ×ÌÑÅÔÓÑ ÒÁÚÄÅÌÑÅÍÏÊ ÒÁÂÏÞÅÊ ÓÔÁÎÃÉÅÊ É ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ×ÓÑ ÐÏÞÔÁ ÈÏÄÉÌÁ ÎÁ ÏÂÝÉÊ ÐÏÞÔÏ×ÙÊ ÓÅÒ×ÅÒ.
<hr>

0707010002fcc5000081a40000000000000002000000013d1fe2d300000159000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DR.sv.html    <header>Skicka e-post till okända användare vidare till dator</header>

Om man inte har valt <tt>Dela ut lokalt</tt> kommer e-post från lokala
användare till en okänd användare att skickas till den angivna datorn.
Detta är användbart om systemet är en delad arbetsstation och man vill
att e-post ska skickas till en gemensam e-postserver.
<hr>

   0707010002fcc6000081a40000000000000002000000013d1fe2d400000105000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_DR.zh_TW.Big5.html    <header>Âà°e¤£¦X®æªº¨Ï¥ÎªÌ¦WºÙ¨ì¥D¾÷</header>

°£«D¿ï¾Ü¤F<tt>¥»¦aºÝ»¼°e</tt>, ©Ò¦³¥Ñ¥»¦aºÝ¨Ï¥ÎªÌ©Òµo¥X¨ì¤£¦X®æ¨Ï¥ÎªÌ¦WºÙ (¨Ò¦p jcameron) ªº¶l¥ó³£·|³QÂà°e¨ì«ü©wªº¥D¾÷¤¤. ·í±zªº¨t²Î¬O¤@­Ó¤À¨É©Êªº¤u§@¯¸, ¦Ó±z§Æ±æ©Ò¦³ªº¶l¥ó³£·|¨ì¹F¤@¯ëªº¶l¥ó¦øªA¾¹®É±N·|¦³¥Î.
<hr>

   0707010002fcc7000081a40000000000000002000000013d1fe2d400000153000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DS.ca.html    <header>Envia el correu sortint a través del host</header>

A menys que hagis triat <tt>Lliurament Directe</tt>, sendmail reenviarà
al host especificat tot el correu de sortida no destinat als usuaris del
teu sistema . Això pot ser útil si el teu sistema és darrere un tallafocs
i no pots lliurar el correu a Internet directament.

<hr>


 0707010002fcc8000081a40000000000000002000000013d1fe2d400000158000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DS.es.html    <header>Enviar correo saliente a través de la máquina</header>

A menos que se seleccione <tt>Entregar localmente</tt>, cualquier correo
saliente no destinado a los usuarios de tu sistema será enviando a la
máquina especificada. Es útil si tu sistema está tras un cortafuegos y por
ello no puede entregar correo de internet diréctamente.
<hr>

0707010002fcc9000081a40000000000000002000000013d1fe2d400000154000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DS.fr.html    <header>Envoyer les Couriel Sortant via l'Hôte</header>

Tant que <tt>Livré directement</tt> n'est pas choisi, Sendmail doit envoyer tout les couriels sortant qui ne sont pas destiné aux usagers locaux à un hôte donné.  Ceci peut être utile si votre système est derrière un pare-feu et ne peut envoyer un couriel directement.<p>

<hr>
0707010002fcca000081a40000000000000002000000013d1fe2d300000128000000200000000000000000000000000000002000000003reloc/sendmail/help/opt_DS.html   <header>Send outgoing mail via host</header>

Unless <tt>Delivery directly</tt> is chosen, sendmail will forward any
outgoing mail not destined for users of your system to the given host.
This can be useful if your system is behind a firewall and so cannot
deliver internet email directly.
<hr>

0707010002fccb000081a40000000000000002000000013d1fe2d40000017c000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DS.pl.html    <header>Wysy³aj pocztê za po¶rednictwem komputera</header>

Je¿eli nie wybierzesz <tt>Dorêczaj bezpo¶rednio</tt>, sendmail bêdzie
przekazywa³ wszelk± pocztê wychodz±c± nie skierowan± do u¿ytkowników twojego
systemu do podanego komputera. Mo¿e to byæ u¿yteczne, je¶li twój system
znajduje siê za firewallem i, w&nbsp;zwi±zku z&nbsp;tym, nie mo¿e dorêczaæ
poczty bezpo¶rednio.
<hr>
0707010002fccc000081a40000000000000002000000013d1fe2d40000016c000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DS.ru_RU.html <header>Îòñûëàòü èñõîäÿùóþ ïî÷òó ÷åðåç õîñò</header>

Åñëè íå âûáðàíà <tt>Ïðÿìàÿ äîñòàâêà</tt>, sendmail áóäåò ïåðåíàïðàâëÿòü ëþáûå èñõîäÿùèå ñîîáùåíèÿ íå ïðåäíàçíà÷åííûå äëÿ ïîëüçîâàòåëåé âàøåé ñèñòåìû íà äàííûé õîñò. Ýòà âîçìîæíîñòü ìîæåò áûòü ïîëåçíà, åñëè âàøà ñèñòåìà íàõîäèòñÿ çà ìåæñåòåâûì ýêðàíîì, è òàêèì îáðàçîì íå ìîæåò íàïðÿìóþ äîñòàâëÿòü ïî÷òó.
<hr>

0707010002fccd000081a40000000000000002000000013d1fe2d40000016c000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_DS.ru_SU.html <header>ïÔÓÙÌÁÔØ ÉÓÈÏÄÑÝÕÀ ÐÏÞÔÕ ÞÅÒÅÚ ÈÏÓÔ</header>

åÓÌÉ ÎÅ ×ÙÂÒÁÎÁ <tt>ðÒÑÍÁÑ ÄÏÓÔÁ×ËÁ</tt>, sendmail ÂÕÄÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÑÔØ ÌÀÂÙÅ ÉÓÈÏÄÑÝÉÅ ÓÏÏÂÝÅÎÉÑ ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ÎÁ ÄÁÎÎÙÊ ÈÏÓÔ. üÔÁ ×ÏÚÍÏÖÎÏÓÔØ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÎÁÈÏÄÉÔÓÑ ÚÁ ÍÅÖÓÅÔÅ×ÙÍ ÜËÒÁÎÏÍ, É ÔÁËÉÍ ÏÂÒÁÚÏÍ ÎÅ ÍÏÖÅÔ ÎÁÐÒÑÍÕÀ ÄÏÓÔÁ×ÌÑÔØ ÐÏÞÔÕ.
<hr>

0707010002fcce000081a40000000000000002000000013d1fe2d30000013f000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_DS.sv.html    <header>Skicka utgående e-post via dator</header>

Om man inte har valt <tt>Dela ut direkt</tt> kommer sendmail att skicka
utgående e-post, som inte ska till användare i systemet, till den angivna
datorn. Detta är användbart om systemet finns bakom en brandvägg och därför
inte kan skicka internet-e-post direkt.
<hr>

 0707010002fccf000081a40000000000000002000000013d1fe2d4000000d9000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_DS.zh_TW.Big5.html    <header>¸g¥Ñ¥D¾÷°e¥X¥~°eªº¶l¥ó</header>

°£«D¿ï¾Ü¤F<tt>¥»¦aºÝ»¼°e</tt>, Sendmail ·|§â©Ò¦³¦¬¥ó¤H¤£¬O¥»¦aºÝ¨Ï¥ÎªÌªº¥~°e¶l¥óÂà°e¨ì«ü©wªº¥D¾÷¤W. ¦pªG±zªº¨t²ÎÁôÂÃ¦b¨¾¤õÀð¤§«á¦Ó¤£¯àª½±µ»¼°eºô»Úºô¸ô¹q¤l¶l¥ó®É±N·|¦³¥Î.
<hr>

   0707010002fcd0000081a40000000000000002000000013d1fe2d4000000ee000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_DaemonPortOptions.ca.html <header>Opcions del port SMTP</header>

Aquesta opció permet configurar quines adreces IP i quin port escolta
el servidor sendmail. Per a més detalls sobre els possibles valors
d'aquesta opció, mira la documentació de sendmail. <p>

<hr>
  0707010002fcd1000081a40000000000000002000000013d1fe2d4000000e0000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_DaemonPortOptions.html    <header>SMTP port options</header>

This option allows you to configure what IP address and port the sendmail
server listens on. For details of the possible values for this option,
see the sendmail documentation. <p>

<hr>

0707010002fcd2000081a40000000000000002000000013d1fe2d400000165000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_ForwardPath.ca.html   <header>Fitxers de reenviament de l'usuari</header>

El valor especificat per aquesta opció ha de ser una llista de camins
separats per dos punts (:) on sendmail busca el fitxer de reenviament
per usuari en lliurar el correu. S'hi poden fer servir les variables
<tt>$z</tt> del directori arrel de l'usuari i <tt>$w</tt> del nom de
host del sistema.

<hr>


   0707010002fcd3000081a40000000000000002000000013d1fe2d3000001a8000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_ForwardPath.es.html   <header>Archivos de remisión de usuario</header>

El valor especificado para esta opción debe de ser un lista separada por
comas de nombres de trayectoria que determine en dónde mira sendmail para
encontrar el archivo de remitir por-usuario al entregar correo. Las variables
<tt>$z</tt> para el directorio inicial de usuario y <tt>$w</tt> para el
nombre de máquina del sistema pueden ser utilizadas en la trayectoria.
<hr>

0707010002fcd4000081a40000000000000002000000013d1fe2d400000180000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_ForwardPath.fr.html   <header>Fichiers des Usagers de Redirection</header>

La valeur de cette option doit être une liste (séparé par des virgules) des chemins qui détermine où Sendmail cherche la redirection par usager pour l'envoie de couriel.  Les variables <tt>$z</tt> est pour le répertoire personnel de l'usager et <tt>$w</tt> pour le nom d'hôte peuvent être utilisé pour le nom de chemin.<p>

<hr>

0707010002fcd5000081a40000000000000002000000013d1fe2d300000151000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_ForwardPath.html  <header>User forward files</header>

The value specified for this option must be a colon-separated list of
pathnames that determines where sendmail looks for the per-user forwarding
file when delivering email. The variables <tt>$z</tt> for the user's home
directory and <tt>$w</tt> for the system hostname can be used in the path.
<hr>

   0707010002fcd6000081a40000000000000002000000013d1fe2d400000188000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_ForwardPath.pl.html   <header>Pliki przekazywania poczty u¿ytkownika</header>

W&nbsp;tej opcji nale¿y podaæ rozdzielon± dwukropkami listê pe³nych ¶cie¿ek
do plików, których sendmail bêdzie poszukiwa³ podczas dorêczania poczty,
w celu okre¶lenia w³a¶ciwych dla u¿ytkownika regu³ przekazywania poczty.
Mo¿na u¿ywaæ zmiennych: <tt>$z</tt> jako katalogu domowego u¿ytkownika oraz
<tt>$w</tt> jako nazwy systemu.
<hr>
0707010002fcd7000081a40000000000000002000000013d1fe2d40000018b000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_ForwardPath.ru_RU.html    <header>Ïîëüçîâàòåëüñêèå ôàéëû ïåðåíàïðàâëåíèé</header>

Çíà÷åíèåì äàííîãî ïàðàìåòðà äîëæåí áûòü ñïèñîê ïîëíûõ èìåí ôàéëîâ ðàçäåëåííûõ äâîåòî÷èÿìè, â êîòîðûõ sendmail èùåò ïîëüîâàòåëüñêóþ èíôîðìàöèþ î ïåðåíàïðàâëåíèÿõ ïðè äîñòàâêå ïî÷òû. Â ïóòåâûõ èìåíàõ ôàéëîâ ìîæíî èñïîëüçîâàòü ïðåäîïðåäåëåííûå ïåðåìåííûå: <tt>$z</tt> - äîìàøíèé êàòàëîã ïîëüçîâàòåëÿ è <tt>$w</tt> - èìÿ õîñòà ñèñòåìû.
<hr>

 0707010002fcd8000081a40000000000000002000000013d1fe2d30000018b000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_ForwardPath.ru_SU.html    <header>ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÆÁÊÌÙ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ</header>

úÎÁÞÅÎÉÅÍ ÄÁÎÎÏÇÏ ÐÁÒÁÍÅÔÒÁ ÄÏÌÖÅÎ ÂÙÔØ ÓÐÉÓÏË ÐÏÌÎÙÈ ÉÍÅÎ ÆÁÊÌÏ× ÒÁÚÄÅÌÅÎÎÙÈ Ä×ÏÅÔÏÞÉÑÍÉ, × ËÏÔÏÒÙÈ sendmail ÉÝÅÔ ÐÏÌØÏ×ÁÔÅÌØÓËÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑÈ ÐÒÉ ÄÏÓÔÁ×ËÅ ÐÏÞÔÙ. ÷ ÐÕÔÅ×ÙÈ ÉÍÅÎÁÈ ÆÁÊÌÏ× ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÅÄÏÐÒÅÄÅÌÅÎÎÙÅ ÐÅÒÅÍÅÎÎÙÅ: <tt>$z</tt> - ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌÑ É <tt>$w</tt> - ÉÍÑ ÈÏÓÔÁ ÓÉÓÔÅÍÙ.
<hr>

 0707010002fcd9000081a40000000000000002000000013d1fe2d30000012a000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_ForwardPath.sv.html   <header>Användarnas forward-filer</header>

Här anges en kolon-separerad lista över sökvägar som anger var sendmail ska
leta efter forward-filer för användarna i systemet. Man kan använda
variablerna <tt>$z</tt> för en användares hemkatalog och <tt>$w</tt>
för systemdatornamet i sökvägarna.
<hr>

  0707010002fcdb000081a40000000000000002000000013d1fe2d4000000ab000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_LogLevel.ca.html  <header>Nivell de registre</header>

Aquesta opció determina la quantitat d'informació que sendmail escriu 
al seu fitxer de registre a través de <tt>syslog</tt>.

<hr>


 0707010002fcda000081a40000000000000002000000013d1fe2d4000000f5000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_ForwardPath.zh_TW.Big5.html   <header>¨Ï¥ÎªÌ¦Û°ÊÂà±H³]©wÀÉ</header>

³o­Ó¼Æ­È¥²¶·¬O¤@­Ó¥H«_¸¹¤À­Óªº¸ô®|¦WºÙ¦Cªí, ³o¨M©w¤F Sendmail ¦b»¼°e¶l¥ó®É, ­n¨ì­þ¨Ç¦a¤è¥h§ä´M­Ó§O¨Ï¥ÎªÌªº³n±H³]©wÀÉ®×. ¥i¨Ï¥ÎªºÅÜ¼Æ¬°: <tt>$z</tt> ªí¥Ü¨Ï¥ÎªÌªº®a¥Ø¿ý; <tt>$w</tt> ªí¥Ü¨t²Îªº¥D¾÷¦WºÙ.
<hr>

   0707010002fcdc000081a40000000000000002000000013d1fe2d3000000a9000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_LogLevel.es.html  <header>Nivel de Historial</header>

Esta opción determina la cantidad de información que sendmail escribe en
su archivo de historial a través de <tt>syslog</tt>.
<hr>

   0707010002fcdd000081a40000000000000002000000013d1fe2d3000000a0000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_LogLevel.fr.html  <header>Niveau de Journal</header>

Cette option détermine la quantité d'information que Sendmail écrira dans le fichier journal via <tt>syslog</tt>.<p>

<hr>

0707010002fcde000081a40000000000000002000000013d1fe2d300000088000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_LogLevel.html <header>Log level</header>

This option determines the amount of information sendmail writes to its log
file via <tt>syslog</tt>.
<hr>

0707010002fcdf000081a40000000000000002000000013d1fe2d40000009e000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_LogLevel.pl.html  <header>Poziom logowania</header>

Ta opcja okre¶la ilo¶æ informacji, jakie sendmail zapisuje do swojego logu
za po¶rednictwem programu <tt>syslog</tt>.
<hr>
  0707010002fce0000081a40000000000000002000000013d1fe2d4000000a8000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_LogLevel.ru_RU.html   <header>Óðîâåíü æóðíàëèçàöèè</header>

Äàííûé ïàðàìåòð îïðåäåëÿåò êîëè÷åñòâî èíôîðìàöèè, êîòîðóþ sendmail çàïèñûâàåò â ñâîé æóðíàë ÷åðåç ñèñòåìó <tt>syslog</tt>.
<hr>

0707010002fce1000081a40000000000000002000000013d1fe2d3000000a8000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_LogLevel.ru_SU.html   <header>õÒÏ×ÅÎØ ÖÕÒÎÁÌÉÚÁÃÉÉ</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÏÐÒÅÄÅÌÑÅÔ ËÏÌÉÞÅÓÔ×Ï ÉÎÆÏÒÍÁÃÉÉ, ËÏÔÏÒÕÀ sendmail ÚÁÐÉÓÙ×ÁÅÔ × Ó×ÏÊ ÖÕÒÎÁÌ ÞÅÒÅÚ ÓÉÓÔÅÍÕ <tt>syslog</tt>.
<hr>

0707010002fce2000081a40000000000000002000000013d1fe2d400000087000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_LogLevel.sv.html  <header>Loggnivå</header>

Denna inställning anger hur mycket information sendmail ska skriva i sin loggfil
via <tt>syslog</tt>.
<hr>

 0707010002fce3000081a40000000000000002000000013d1fe2d400000070000000200000000000000000000000000000003100000003reloc/sendmail/help/opt_LogLevel.zh_TW.Big5.html  <header>¬ö¿ýµ¥¯Å</header>

³o­Ó¿ï¶µ¨M©w¤F Sendmail ­n¸g¥Ñ <tt>syslog</tt> ¼g¤J¦h¤Öªº¬ÛÃö°T®§·í¨ä¬ö¿ýÀÉ¤¤.
<hr>

0707010002fce4000081a40000000000000002000000013d1fe2d40000017d000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_MatchGECOS.ca.html    <header>Accepta correu amb el nom real de l'usuari</header>

Si aquest opció està activada, sendmail accepta correus tals que la part
del nom d'usuari és un nom real, en lloc del seu nom d'entrada. Per exemple,
si existeix un usuari Pep Blocs amb entrada <tt>pblocs</tt>, podries
enviar-li correu com a Pep.Blocs@elteudomini.com igual que com a
pblocs@elteudomini.com.
<p>

<hr>


   0707010002fce5000081a40000000000000002000000013d1fe2d40000017b000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_MatchGECOS.html   <header>Accept mail for users' real names?</header>

If this option is enabled, sendmail will accept email where the username part
is a user's real name rather than just their login name. For example, if the
user Joe Bloggs with login <tt>jbloggs</tt> existed on your system, you could
send mail to him at Joe.Bloggs@yourdomain.com as well as jbloggs@yourdomain.com .
<p>

<hr>

 0707010002fce6000081a40000000000000002000000013d1fe2d4000001f5000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_MatchGECOS.pl.html    <header>Przyjmowaæ pocztê adresowan± rzeczywistymi nazwami uzytkowników?</header>

Gdy ta opcja zostanie w³±czona, Sendmail bêdzie przyjmowa³ e-maile,
w&nbap;których czê¶æ adresu okre¶laj±ca u¿ytkownika jest rzeczywist± nazw±
u¿ytkownika, a nie po prostu jego nazw± logowania. Na przyk³ad, je¶li
w&nbsp;systemie istnieje u¿ytkownik Jan Nowak z&nbap;nazw± logowania
<tt>jnowak</tt>, mo¿esz wys³aæ do niego pocztê zarówno na adres
Jan.Nowak@twoja.domena.com, jak te¿ jnowak@twoja.domena.com . <p>

<hr>
   0707010002fce7000081a40000000000000002000000013d1fe2d40000010a000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxDaemonChildren.ca.html <header>Màxim nombre de processos fills</header>

Aquesta opció controla el nombre màxim de processos fills que el sendmail
iniciarà per gestionar el correu d'entrada. Això és útil quan s'està fent
servir massa memòria per processar els missatges d'entrada.

<hr>


  0707010002fce8000081a40000000000000002000000013d1fe2d4000000f8000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxDaemonChildren.es.html <header>Máximo número de procesos hijo</header>

Esta opción controla el máximo número de procesos hijo que sendmail
arrancará para manejar el correo entrante. Es útil si se está usando
demasiada memoria para procesar los mensajes entrantes.
<hr>

0707010002fce9000081a40000000000000002000000013d1fe2d4000000eb000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxDaemonChildren.fr.html <header>Nombre Maximal de Processus Enfants</header>

Cette option contrôle le nombre de processus que Sendmail peut démarrer pour prendre les couriels entrant.  Utile si trop de mémoire est utilisé pour la réception de couriel.
<hr>

 0707010002fcea000081a40000000000000002000000013d1fe2d3000000db000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxDaemonChildren.html    <header>Max child processes</header>

This option controls the maximum number of child processes sendmail will
start to handle incoming email. Useful if too much memory is being used
processing incoming messages.
<hr>

 0707010002fceb000081a40000000000000002000000013d1fe2d400000101000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxDaemonChildren.pl.html <header>Maks. ilo¶æ procesów potomnych</header>

Ta opcja okre¶la maksymaln± ilo¶æ procesów potomnych, jakie sendmail
uruchomi w&nbsp;celu obs³u¿enia przychodz±cej poczty. U¿yteczna, je¿eli
przetwarzanie przychodz±cej poczty zajmuje zbyt du¿o pamiêci.
<hr>
   0707010002fcec000081a40000000000000002000000013d1fe2d400000121000000200000000000000000000000000000003500000003reloc/sendmail/help/opt_MaxDaemonChildren.ru_RU.html  <header>Ìàêñèìàëüíîå ÷èñëî äî÷åðíèõ ïðîöåññîâ</header>

Äàííûé ïàðàìåòð îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî äî÷åðíèõ ïðîöåññîâ sendmail, ñòàðòîâàííûõ äëÿ îáðàáîòêè âõîäÿùåé ïî÷òû. Äàííûé ïàðàìåòð ïîëåçåí ïðè ñëèøêîì áîëüøîì êîëè÷åñòâå èñïîëüçóåìîé ïàìÿòè äëÿ îáðàáîòêè âõîäÿùèõ ñîîáùåíèé.
<hr>

   0707010002fced000081a40000000000000002000000013d1fe2d300000121000000200000000000000000000000000000003500000003reloc/sendmail/help/opt_MaxDaemonChildren.ru_SU.html  <header>íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÄÏÞÅÒÎÉÈ ÐÒÏÃÅÓÓÏ×</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÏÐÒÅÄÅÌÑÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÄÏÞÅÒÎÉÈ ÐÒÏÃÅÓÓÏ× sendmail, ÓÔÁÒÔÏ×ÁÎÎÙÈ ÄÌÑ ÏÂÒÁÂÏÔËÉ ×ÈÏÄÑÝÅÊ ÐÏÞÔÙ. äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÌÅÚÅÎ ÐÒÉ ÓÌÉÛËÏÍ ÂÏÌØÛÏÍ ËÏÌÉÞÅÓÔ×Å ÉÓÐÏÌØÚÕÅÍÏÊ ÐÁÍÑÔÉ ÄÌÑ ÏÂÒÁÂÏÔËÉ ×ÈÏÄÑÝÉÈ ÓÏÏÂÝÅÎÉÊ.
<hr>

   0707010002fcee000081a40000000000000002000000013d1fe2d300000108000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxDaemonChildren.sv.html <header>Maximalt antal underprocesser</header>

Här ställer man in det maximala antalet underprocesser som sendmail får
starta för att hantera inkommande e-post. Detta är användbart om sendmail
använder för mycket minne för att ta hand om inkommande e-post.
<hr>

0707010002fcef000081a40000000000000002000000013d1fe2d30000009c000000200000000000000000000000000000003a00000003reloc/sendmail/help/opt_MaxDaemonChildren.zh_TW.Big5.html <header>³Ì¤j¤lµ{§Ç¼Æ¥Ø</header>

³o­Ó¿ï¶µ±±¨î Sendmail ±N·|±Ò°Ê¦h¤Ö­Ó¤lµ{§Ç¥H³B²z©Ò¦³¶i¤Jªº¹q¤l¶l¥ó. ·í¨Ï¥Î¤Ó¦hªº°O¾ÐÅé¥H³B²z¶i¤Jªº¶l¥ó®É, ±N·|¦³¥Î. 
<hr>

0707010002fcf0000081a40000000000000002000000013d1fe2d4000000c1000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MaxHopCount.ca.html   <header>Màxim nombre de salts del correu</header>

Aquest és el nombre màxim de servidors de correu a través dels quals el
sendmail permetrà que passi un missatge abans de rebutjar-lo.

<hr>


   0707010002fcf1000081a40000000000000002000000013d1fe2d40000009e000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_MaxHopCount.html  <header>Maximum mail hop count</header>

This is the maximum number of mail servers sendmail will allow a message
to pass through before rejecting it.

<hr>

  0707010002fcf2000081a40000000000000002000000013d1fe2d4000000b4000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MaxHopCount.pl.html   <header>Maksymalna liczba etapów przesy³ania poczty</header>

Jest to maksymalna liczba serwerów pocztowych, przez jak± Sendmail pozwoli
przes³aæ wiadomo¶æ zanim j± odrzuci.

<hr>
0707010002fcf3000081a40000000000000002000000013d1fe2d4000000f1000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxMessageSize.ca.html    <header>Mida màxima de missatge</header>

Aquesta opció controla la mida màxima de missatge que el sendmail 
acceptarà d'un usuari local o d'un servidor de correu remot. Tots els
missatges que excedeixin aquesta mida seran rebotats.

<hr>


   0707010002fcf4000081a40000000000000002000000013d1fe2d4000000e9000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxMessageSize.es.html    <header>Máxima medida del mensaje</header>

Esta opción controla el tamaño máximo de mensaje que sendmail aceptará de
un usuario local o de un servidor de correo remoto. Cualquier mensaje que
exceda este tamaño será cancelado.
<hr>

   0707010002fcf5000081a40000000000000002000000013d1fe2d4000000ef000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxMessageSize.fr.html    <header>Taille Maximale d'un Couriel</header>

Cette option contrôle la taille maximale que Sendmail accepte d'un couriel d'un usager local ou d'un serveur distant.  Tout les couriels qui dépasse cette taille seront renvoyé.<p>

<hr>
 0707010002fcf6000081a40000000000000002000000013d1fe2d4000000cd000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MaxMessageSize.html   <header>Max message size</header>

This option controls the maximum sized message that sendmail will accept
from a local user or remote mail server. Any messages exceeding this size
will be bounced.
<hr>

   0707010002fd58000081a40000000000000002000000013d1fe2d400000232000000200000000000000000000000000000002300000003reloc/sendmail/help/opt_dmode.html    <header>Delivery mode</header>

Controls when messages send to this mail server are delivered. Possible options
are :
<ul>
<li><b>Background</b><br>
    Messages are delivered as soon as possible in the background.<p>
<li><b>Queue only</b><br>
    Submitted messages are merely placed in the queue, and not delivered
    until the queue is flushed manually.<p>
<li><b>Interactive</b><br>
    Messages are delivered immediately.<p>
<li><b>Deferred</b><br>
    Like <i>Queue only</i>, but no DNS or NIS lookups are done for submitted
    messages.<p>
</ul>

<hr>

  0707010002fcf7000081a40000000000000002000000013d1fe2d4000000f9000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxMessageSize.pl.html    <header>Maks. rozmiar wiadomo¶ci</header>

Ta opcja okre¶la maksymalny rozmiar wiadomo¶ci, która zostanie przyjêta
przez sendmaila od lokalnego u¿ytkownika lub zdalnego serwera poczty.
Ka¿da wiadomo¶æ o&nbsp;wiêkszym rozmiarze zostanie odbita.
<hr>
   0707010002fcf8000081a40000000000000002000000013d1fe2d40000010b000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxMessageSize.ru_RU.html <header>Ìàêñèìàëüíûé ðàçìåð ñîîáùåíèÿ</header>

Äàííûé ïàðàìåòð îïðåäåëÿåò ìàêñèìàëüíûé ðàçìåð ñîîáùåíèÿ ïðèíèìàåìûé äëÿ îáðàáîòêè sendmailîì îò ëîêàëüíûõ ïîëüçîâàòåëåé èëè óäàëåííûõ ïî÷òîâûõ ñåðâåðîâ. Ëþáûå ñîîáùåíèÿ ïðåâûøàþùèå äàííûé ðàçìåð áóäóò îòáðîøåíû.
<hr>

 0707010002fcf9000081a40000000000000002000000013d1fe2d30000010b000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_MaxMessageSize.ru_SU.html <header>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÏÏÂÝÅÎÉÑ</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÏÐÒÅÄÅÌÑÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÓÏÏÂÝÅÎÉÑ ÐÒÉÎÉÍÁÅÍÙÊ ÄÌÑ ÏÂÒÁÂÏÔËÉ sendmailÏÍ ÏÔ ÌÏËÁÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÉÌÉ ÕÄÁÌÅÎÎÙÈ ÐÏÞÔÏ×ÙÈ ÓÅÒ×ÅÒÏ×. ìÀÂÙÅ ÓÏÏÂÝÅÎÉÑ ÐÒÅ×ÙÛÁÀÝÉÅ ÄÁÎÎÙÊ ÒÁÚÍÅÒ ÂÕÄÕÔ ÏÔÂÒÏÛÅÎÙ.
<hr>

 0707010002fcfa000081a40000000000000002000000013d1fe2d3000000b6000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MaxMessageSize.sv.html    <header>Maximal brevstorlek</header>

Här ställer man in hur stora e-postbrev sendmail tar emot från en
lokal användare eller annan e-postserver. Större brev studsar tillbaka.
<hr>

  0707010002fcfb000081a40000000000000002000000013d1fe2d4000000a3000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_MaxMessageSize.zh_TW.Big5.html    <header>³Ì¤j¶l¥ó¤j¤p</header>

³o­Ó¿ï¶µ±±¨î¤F Sendmail ·|±µ¦¬ªº³Ì¤j¶l¥ó¤j¤p, ¤£½×¬O¨Ó¦Û¥»¦aºÝ¨Ï¥ÎªÌ©Î»·ºÝ¶l¥ó¦øªA¾¹ªº¶l¥ó, ¥ô¦ó¶W¹L³o­Ó­­¨îªº¶l¥ó³£·|³Q°h¦^.
<hr>

 0707010002fcfc000081a40000000000000002000000013d1fe2d40000009c000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_MaxQueueRunSize.ca.html   <header>Mida màxima de la cua</header>

Aquesta opció determina el nombre màxim de missatges de correu en cua
que el sendmail pot processar de cop.

<hr>


0707010002fcfd000081a40000000000000002000000013d1fe2d3000000ac000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_MaxQueueRunSize.es.html   <header>Máxima medida de cola</header>

Esta opción determina el número máximo de mensajes de correo en cola que
sendmail procesará en una sóla ejecución de la cola.
<hr>

0707010002fcfe000081a40000000000000002000000013d1fe2d3000000b0000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_MaxQueueRunSize.fr.html   <header>Taille Maximum de la File d'Attente</header>

Cette option détermine le nombre maximum de couriels qui peuvent être gardé dans la file d'attente de Sendmail.<p>

<hr>

0707010002fcff000081a40000000000000002000000013d1fe2d30000009b000000200000000000000000000000000000002d00000003reloc/sendmail/help/opt_MaxQueueRunSize.html  <header>Maximum queue size</header>

This option determines the maximum number of queued email messages that
sendmail will process in one queue run.
<hr>

 0707010002fd00000081a40000000000000002000000013d1fe2d4000000be000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_MaxQueueRunSize.pl.html   <header>Maksymalny rozmiar kolejki</header>

Ta opcja okre¶la maksymaln± ilo¶æ wiadomo¶ci z&nbsp;kolejki, które sendmail
bêdzie przetwarza³ podczas ka¿dorazowego przetwarzania kolejki.
<hr>
  0707010002fd01000081a40000000000000002000000013d1fe2d4000000b1000000200000000000000000000000000000003300000003reloc/sendmail/help/opt_MaxQueueRunSize.ru_RU.html    <header>Ìàêñèìàëüíûé ðàçìåð î÷åðåäè</header>

Äàííûé ïàðàìåòð îïðåäåëÿåò ìàêñèìàëüíîå ÷èñëî ïî÷òîâûõ ñîîáùåíèé â î÷åðåäè, êîòîðîå sendmail áóäåò îáðàáàòûâàòü çà îäèí ðàç.
<hr>

   0707010002fd02000081a40000000000000002000000013d1fe2d3000000b1000000200000000000000000000000000000003300000003reloc/sendmail/help/opt_MaxQueueRunSize.ru_SU.html    <header>íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÏÞÅÒÅÄÉ</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÏÐÒÅÄÅÌÑÅÔ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ × ÏÞÅÒÅÄÉ, ËÏÔÏÒÏÅ sendmail ÂÕÄÅÔ ÏÂÒÁÂÁÔÙ×ÁÔØ ÚÁ ÏÄÉÎ ÒÁÚ.
<hr>

   0707010002fd03000081a40000000000000002000000013d1fe2d400000091000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_MaxQueueRunSize.sv.html   <header>Maximal köstorlek</header>

Här ställer man in det maximala antalet köade e-postmeddelanden som
sendmail tar hand om i en körunda.
<hr>

   0707010002fd5d000081a40000000000000002000000013d1fe2d3000000eb000000200000000000000000000000000000001f00000003reloc/sendmail/help/units.html    
This time must be given as a number followed by a character
for the units, such as <tt>30m</tt> or <tt>1d</tt>. Valid units are
<tt>s</tt> = seconds, <tt>m</tt> = minutes, <tt>h</tt> = hours,
<tt>d</tt> = days and <tt>w</tt> = weeks.
 0707010002fd04000081a40000000000000002000000013d1fe2d300000065000000200000000000000000000000000000003800000003reloc/sendmail/help/opt_MaxQueueRunSize.zh_TW.Big5.html   <header>³Ì¤j¦î¦C¤j¤p</header>

³o­Ó¿ï¶µ¨M©w¨C¦¸ Sendmail ³B²z¶l¥ó¦î¦C®É©Ò­n³B²zªº³Ì¤j¶l¥ó¼Æ¥Ø.
<hr>

   0707010002fd05000081a40000000000000002000000013d1fe2d400000127000000200000000000000000000000000000002e00000003reloc/sendmail/help/opt_MinFreeBlocks.ca.html <header>Espai lliure mínim al disc</header>

Si l'espai lliure al disc és menor que l'especificat, el sendmail refusarà
posar en cua cap més missatge d'entrada. Això és útil per evitar que el
sendmail faci servir tot l'espai del sistema de fitxers on està allotjat
el directori de cues.

<hr>


 0707010002fd06000081a40000000000000002000000013d1fe2d400000135000000200000000000000000000000000000002e00000003reloc/sendmail/help/opt_MinFreeBlocks.es.html <header>Mínimo espacio en disco libre</header>

Si menos de la cantidad especificada es liberada, sendmail se negará a
poner en cola cualquier mensaje entrante desde otros sistemas. Es útil para
prevenir que sendmail utilice todo el espacio del sistema de archivos
donde se aloja el directorio de cola.
<hr>

   0707010002fd07000081a40000000000000002000000013d1fe2d400000169000000200000000000000000000000000000002e00000003reloc/sendmail/help/opt_MinFreeBlocks.fr.html <header>Espace Disque Minimum</header>

Si moins que la quantité d'espace disque spécifié est disponible, Sendmail refusera de mettre dans sa file d'attente les messages entrant des autres systèmes.  Utile pour prévenir Sendmail d'utiliser tout l'espace disque sur le système de fichier dans lequel les couriels sont placé dans la file d'attente.<p>

<hr>
   0707010002fd08000081a40000000000000002000000013d1fe2d300000121000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_MinFreeBlocks.html    <header>Min free disk space</header>

If less than the specified amount of disk space is free, sendmail will
refuse to queue up any incoming messages from other systems. Useful to
prevent sendmail from using up all the space on the filesystem in which
the queue directory is stored.
<hr>

   0707010002fd09000081a40000000000000002000000013d1fe2d400000161000000200000000000000000000000000000002e00000003reloc/sendmail/help/opt_MinFreeBlocks.pl.html <header>Min. ilo¶æ wolnego miejsca na dysku</header>

Je¶li ilo¶æ wolnego miejsca na dysku jest mniejsza ni¿ podana, sendmail
odmówi kolejkowania jakichkolwiek wiadomo¶ci przychodz±cych z innych
systemów. U¿yteczne zabezpieczenie przed ca³kowitym wyczerpaniem wolnego
miejsca w&nbsp;tym systemie plików, w&nbsp;którym znajduje siê katalog
kolejki.
<hr>
   0707010002fd0a000081a40000000000000002000000013d1fe2d400000192000000200000000000000000000000000000003100000003reloc/sendmail/help/opt_MinFreeBlocks.ru_RU.html  <header>Ìèíèìàëüíîå ñâîáîäíîå äèñêîâîå ïðîñòðàíñòâî</header>

Åñëè êîëè÷åñòâî ñâîáîäíîãî äèñêîâîãî ïðîñòðàíñòâà ìåíüøå, ÷åì óêàçàíî â äàííîì ïàðàìåòðå, sendmail íå áóäåò ñòàâèòü â î÷åðåäü íà îáðàáîòêó ëþáûå âõîäÿùèå ñîîáùåíèÿ îò äðóãèõ ñèñòåì. Äàííûé ïàðàìåòð ïîëåçåí äëÿ ïðåäîòâðàùåíèÿ èñïîëüçîâàíèÿ sendmailîì âñåãî ïðîñòðàíñòâà â ôàéëîâîé ñèñòåìå, ãäå ðàñïîëîæåí êàòàëîã ñ î÷åðåäüþ ñîîáùåíèé.
<hr>

  0707010002fd0b000081a40000000000000002000000013d1fe2d300000192000000200000000000000000000000000000003100000003reloc/sendmail/help/opt_MinFreeBlocks.ru_SU.html  <header>íÉÎÉÍÁÌØÎÏÅ Ó×ÏÂÏÄÎÏÅ ÄÉÓËÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï</header>

åÓÌÉ ËÏÌÉÞÅÓÔ×Ï Ó×ÏÂÏÄÎÏÇÏ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á ÍÅÎØÛÅ, ÞÅÍ ÕËÁÚÁÎÏ × ÄÁÎÎÏÍ ÐÁÒÁÍÅÔÒÅ, sendmail ÎÅ ÂÕÄÅÔ ÓÔÁ×ÉÔØ × ÏÞÅÒÅÄØ ÎÁ ÏÂÒÁÂÏÔËÕ ÌÀÂÙÅ ×ÈÏÄÑÝÉÅ ÓÏÏÂÝÅÎÉÑ ÏÔ ÄÒÕÇÉÈ ÓÉÓÔÅÍ. äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÌÅÚÅÎ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendmailÏÍ ×ÓÅÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á × ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ, ÇÄÅ ÒÁÓÐÏÌÏÖÅÎ ËÁÔÁÌÏÇ Ó ÏÞÅÒÅÄØÀ ÓÏÏÂÝÅÎÉÊ.
<hr>

  0707010002fd0c000081a40000000000000002000000013d1fe2d300000141000000200000000000000000000000000000002e00000003reloc/sendmail/help/opt_MinFreeBlocks.sv.html <header>Nedre gräns för ledigt diskutrymme</header>

Om det inte finns så mycket ledigt diskutrymme som man har angivit här
kommer sendmail inte att köa inkommande e-postmeddelanden från andra
system. Detta är användbart för att hindra sendmail från att ta upp allt
utrymme på filsystemet som kökatalogen finns på.
<hr>

   0707010002fd0d000081a40000000000000002000000013d1fe2d4000000c2000000200000000000000000000000000000003600000003reloc/sendmail/help/opt_MinFreeBlocks.zh_TW.Big5.html <header>³Ì¤p«O¯dºÏºÐªÅ¶¡</header>

¦pªGºÏºÐªÅ¶¡¤p©ó©Ò«ü©wªººÏºÐªÅ¶¡­È, Sendmail ±N·|©Úµ´±N¥ô¦ó¥Ñ¨ä¥L¨t²Î©Ò¨Óªº°T®§©ñ¤J¶l¥ó¦î¦C¤¤. ¹ï©ó Sendmail ¨Ï¥Î¤F¤Ó¦hªºÀÉ®×¨t²ÎªÅ¶¡Àx¦s¦î¦C®É±N·|¦³¥Î.
<hr>

  0707010002fd0e000081a40000000000000002000000013d1fe2d4000000b9000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MinQueueAge.ca.html   <header>Temps mínim abans de reintentar la tramesa</header>

El temps mínim que un missatge esperarà a la cua abans que el sendmail
intenti tornar-lo a enviar.

<include units>

<hr>


   0707010002fd0f000081a40000000000000002000000013d1fe2d4000000b2000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MinQueueAge.es.html   <header>Tiempo Mínimo antes de reintentar enviar</header>

El tiempo mínimo que un mensaje esperará en la cola antes de que sendmail
intente reenviarlo.
<include units.es>
<hr>

  0707010002fd10000081a40000000000000002000000013d1fe2d4000000c2000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MinQueueAge.fr.html   <header>Temps Minimum Avant de Réessayer l'Envoie</header>

Le temps minimum qu'un message patiente dans la file d'attente avant que Sendmail essai de le ré-envoyer.

<include units>
<hr>
  0707010002fd11000081a40000000000000002000000013d1fe2d4000000a0000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_MinQueueAge.html  <header>Min time before retrying send</header>

The minimum time a message will wait in the queue before sendmail attempts
to re-send it.
<include units>
<hr>

0707010002fd12000081a40000000000000002000000013d1fe2d4000000b2000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MinQueueAge.pl.html   <header>Min. czas przed powtórna prób± wys³ania</header>

Jest to minimalny czas przez jaki wiadomo¶æ musi czekaæ w&nbsp;kolejce na
powtórn± próbê wys³ania.
<include units>
<hr>
  0707010002fd13000081a40000000000000002000000013d1fe2d4000000d5000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MinQueueAge.ru_RU.html    <header>Ìèíèìàëüíîå âðåìÿ ïåðåä ïîâòîðíîé îòñûëêîé</header>

Ìèíèìàëüíîå âðåìÿ, êîòîðîå ñîîáùåíèå áóäåò íàõîäèòüñÿ â î÷åðåäè ïåðåä òåì êàê sendmail ïðåäïðèìåò ïîïûòêó ïîñëàòü åãî âíîâü.
<p>

<include units>
<hr>

   0707010002fd14000081a40000000000000002000000013d1fe2d3000000d5000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_MinQueueAge.ru_SU.html    <header>íÉÎÉÍÁÌØÎÏÅ ×ÒÅÍÑ ÐÅÒÅÄ ÐÏ×ÔÏÒÎÏÊ ÏÔÓÙÌËÏÊ</header>

íÉÎÉÍÁÌØÎÏÅ ×ÒÅÍÑ, ËÏÔÏÒÏÅ ÓÏÏÂÝÅÎÉÅ ÂÕÄÅÔ ÎÁÈÏÄÉÔØÓÑ × ÏÞÅÒÅÄÉ ÐÅÒÅÄ ÔÅÍ ËÁË sendmail ÐÒÅÄÐÒÉÍÅÔ ÐÏÐÙÔËÕ ÐÏÓÌÁÔØ ÅÇÏ ×ÎÏ×Ø.
<p>

<include units>
<hr>

   0707010002fd15000081a40000000000000002000000013d1fe2d3000000ba000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_MinQueueAge.sv.html   <header>Minsta väntetid före återutsändningsförsök</header>

Här anges den minsta tid som sendmail ska vänta innan den försöker sända
om ett köat e-postmeddelande.
<include units>
<hr>

  0707010002fd16000081a40000000000000002000000013d1fe2d400000070000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_MinQueueAge.zh_TW.Big5.html   <header>­«¸Õ»¼°eªº³Ì¤p¶¡¹j®É¶¡</header>

Sendmail ­«·s¹Á¸Õ»¼°e¦î¦C¤¤¶l¥ó®É³Ì¤pªºµ¥«Ý®É¶¡.
<include units>
<hr>

0707010002fd17000081a40000000000000002000000013d1fe2d400000138000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_PostMasterCopy.ca.html    <header>Envia els missatges d'error a</header>

Aquesta opció determina a quina adreça envia el sendmail les notificacions
d'errades de lliurament (a més a més de la persona que ha enviat el correu
fallit). Per defecte, és l'adreça local <tt>Postmaster</tt>, que normalment
és un àlies de <tt>root</tt>.

<hr>


0707010002fd18000081a40000000000000002000000013d1fe2d30000012c000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_PostMasterCopy.es.html    <header>Enviar mensajes de error a</header>

Esta opción determina a qué dirección sendmail envía notificaciones de
fallos en la entrega (además de a la persona que envió en fallido correo).
Por defecto es a la dirección local <tt>Postmaster</tt>, que es normalmente
alias hacia <tt>root</tt>.
<hr>

0707010002fd19000081a40000000000000002000000013d1fe2d300000130000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_PostMasterCopy.fr.html    <header>Envoyer les Couriels d'Erreur à</header>

Cette option détermine à quel adresse Sendmail envoie les notes sur les envoies rater (en plus de la personne qui a envoyé le couriel).  Par défaut c'est l'adresse locale <tt>Postmaster</tt>, qui est généralement un alias de <tt>root</tt>.<p>

<hr>
0707010002fd1a000081a40000000000000002000000013d1fe2d400000123000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_PostMasterCopy.html   <header>Send error messages to</header>

This option determines which address sendmail sends notifications of
delivery failures to (in addition to the person who sent the failed email).
By default it is the local address <tt>Postmaster</tt>, which is usually
aliased to <tt>root</tt>.
<hr>

 0707010002fd1b000081a40000000000000002000000013d1fe2d400000164000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_PostMasterCopy.pl.html    <header>Informacje o&nbsp;b³êdach wysy³aj do</header>

Ta opcja okre¶la, na jaki adres sendmail wysy³a zawiadomienia o&nbsp;b³êdach
w&nbsp;dorêczaniu poczty (dodatkowo informacja ta jest wysy³ana do nadawcy
wiadomo¶ci, której nie uda³o siê dorêczyæ). Domy¶lnie jest to lokalny adres
<tt>Postmaster</tt>, który zazwyczaj jest aliasem do <tt>root</tt>.
<hr>
0707010002fd1c000081a40000000000000002000000013d1fe2d400000162000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_PostMasterCopy.ru_RU.html <header>Îòñûëàòü ñîîáùåíèÿ îá îøèáêàõ ê</header>

Äàííûé ïàðàìåòð îïðåäåëÿåò àäðåñ íà êîòîðûé sendmail îòñûëàåò ñîîáùåíèÿ îá îøèáêàõ äîñòàâêè (â äîïîëíåíèå ê òîìó, ÷òî ñîîáùåíèå îá îøèáêå òàêæå âîçâðîùàåòñÿ ê àäðåñàòó ïîñëàâøåìó ïî÷òó). Ïî óìîë÷àíèþ - ýòî ëîêàëüíûé àäðåñ <tt>Postmaster</tt>, êîòîðûé îáû÷íî ÿâëÿåòñÿ ïñåâäîíèìîì äëÿ <tt>root</tt>.
<hr>

  0707010002fd1d000081a40000000000000002000000013d1fe2d300000162000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_PostMasterCopy.ru_SU.html <header>ïÔÓÙÌÁÔØ ÓÏÏÂÝÅÎÉÑ ÏÂ ÏÛÉÂËÁÈ Ë</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÏÐÒÅÄÅÌÑÅÔ ÁÄÒÅÓ ÎÁ ËÏÔÏÒÙÊ sendmail ÏÔÓÙÌÁÅÔ ÓÏÏÂÝÅÎÉÑ ÏÂ ÏÛÉÂËÁÈ ÄÏÓÔÁ×ËÉ (× ÄÏÐÏÌÎÅÎÉÅ Ë ÔÏÍÕ, ÞÔÏ ÓÏÏÂÝÅÎÉÅ ÏÂ ÏÛÉÂËÅ ÔÁËÖÅ ×ÏÚ×ÒÏÝÁÅÔÓÑ Ë ÁÄÒÅÓÁÔÕ ÐÏÓÌÁ×ÛÅÍÕ ÐÏÞÔÕ). ðÏ ÕÍÏÌÞÁÎÉÀ - ÜÔÏ ÌÏËÁÌØÎÙÊ ÁÄÒÅÓ <tt>Postmaster</tt>, ËÏÔÏÒÙÊ ÏÂÙÞÎÏ Ñ×ÌÑÅÔÓÑ ÐÓÅ×ÄÏÎÉÍÏÍ ÄÌÑ <tt>root</tt>.
<hr>

  0707010002fd1e000081a40000000000000002000000013d1fe2d400000120000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_PostMasterCopy.sv.html    <header>Skicka felmeddelanden till</header>

Här anger man den adress som sendmail ska skicka meddelanden om misslyckade
e-postsändningar till (förutom att meddelande skickas till avsändaren).
Från början är denna adress <tt>Postmaster</tt> som vanligen är alias för
<tt>root</tt>.
<hr>

0707010002fd1f000081a40000000000000002000000013d1fe2d3000000c7000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_PostMasterCopy.zh_TW.Big5.html    <header>°e¥X¿ù»~°T®§µ¹</header>

³o­Ó¿ï¶µ¨M©w Sendmail ­n°e¥X»¼°e¥¢±Ñ¬ö¿ýªº¹ï¶H (¦P®É·|»¼°eµ¹·½µo«H¤H). ¹w³]ªºª¬ªp¤U, ³q±`¬O°e¨ì¥»¦aºÝªº <tt>Postmaster</tt>, ³o¤@¯ë¬O <tt>root</tt> ªº§O¦W¤§¤@.
<hr>

 0707010002fd20000081a40000000000000002000000013d1fe2d4000000e4000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_QueueDirectory.ca.html    <header>Directori de la cua de correu</header>

Aquesta opció permet configurar quin directori fa servir el sendmail
per emmagatzemar els missatges de correu en cua. No ho canviïs a menys
que sàpigues el que estàs fent.

<hr>


0707010002fd21000081a40000000000000002000000013d1fe2d4000000d9000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_QueueDirectory.es.html    <header>Directorio de cola de Correo</header>

Esta opción te permite configurar qué directorio utiliza sendmail para
almacenar mensajes de correo en cola. No lo cambies a menos que sepas lo
que estás haciendo.
<hr>

   0707010002fd22000081a40000000000000002000000013d1fe2d4000000fc000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_QueueDirectory.fr.html    <header>Répertoire de la File d'Attente de Couriel</header>

Cette option vous permet de configurer quel répertoire Sendmail utilise pour emmagasiner les couriel de sa file d'attente.  Ne pas le changer à moins de savoir ce que vous faites.

<hr>
0707010002fd23000081a40000000000000002000000013d1fe2d3000000c7000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_QueueDirectory.html   <header>Mail queue directory</header>

This option allows you to configure which directory sendmail uses for
storing queued email messages. Do not change it unless you know what you
are doing.
<hr>

 0707010002fd24000081a40000000000000002000000013d1fe2d4000000cb000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_QueueDirectory.pl.html    <header>Katalog kolejkowania poczty</header>

Ta opcja pozwala ci okre¶liæ, jakiego katalogu sendmail bêdzie u¿ywa³ do
przechowywania kolejki wiadomo¶ci. Nie zmieniaj go, chyba ¿e wiesz co
robisz. 
<hr>
 0707010002fd25000081a40000000000000002000000013d1fe2d4000000de000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_QueueDirectory.ru_RU.html <header>Êàòàëîã ïî÷òîâîé î÷åðåäè</header>

Äàííûé ïàðàìåòð ïîçâîëÿåò âàì íàñòðîèòü, êàêîé êàòàëîã èñïîëüçóåò sendmail äëÿ õðàíåíèÿ î÷åðåäè ïî÷òîâûõ ñîîáùåíèé. Íå ìåíÿéòå, åãî åñëè òî÷íî íå óâåðåíû â ñâîèõ äåéñòâèÿõ.
<hr>

  0707010002fd26000081a40000000000000002000000013d1fe2d4000000de000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_QueueDirectory.ru_SU.html <header>ëÁÔÁÌÏÇ ÐÏÞÔÏ×ÏÊ ÏÞÅÒÅÄÉ</header>

äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÎÁÓÔÒÏÉÔØ, ËÁËÏÊ ËÁÔÁÌÏÇ ÉÓÐÏÌØÚÕÅÔ sendmail ÄÌÑ ÈÒÁÎÅÎÉÑ ÏÞÅÒÅÄÉ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ. îÅ ÍÅÎÑÊÔÅ, ÅÇÏ ÅÓÌÉ ÔÏÞÎÏ ÎÅ Õ×ÅÒÅÎÙ × Ó×ÏÉÈ ÄÅÊÓÔ×ÉÑÈ.
<hr>

  0707010002fd27000081a40000000000000002000000013d1fe2d3000000d8000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_QueueDirectory.sv.html    <header>Katalog för e-postkö</header>

Här anger man den katalog som sendmail ska använda för att lagra köade
e-postmeddelanden. Man ska <i>inte</i> ändra detta om man inte verkligen
vet vad man håller på med.
<hr>

0707010002fd28000081a40000000000000002000000013d1fe2d400000089000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_QueueDirectory.zh_TW.Big5.html    <header>¶l¥ó¦î¦C¥Ø¿ý</header>

³o­Ó¿ï¶µ¥i¥HÅý±z²ÕºA Sendmail ­n¥Î¥HÀx¦s±Æµ{¤¤ªº¹q¤l¶l¥ó°T®§. °£«D±z½T©w±z¦b§@¤°»ò, §_«h¤£­n§ïÅÜ¥¦.
<hr>

   0707010002fd29000081a40000000000000002000000013d1fe2d40000012f000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_QueueLA.ca.html   <header>Màxima càrrega mitjana de tramesa</header>

Determina la càrrega mitjana per sobre de la qual els missatges de sortida
no s'envien, sinó que es posen en cua per al seu lliurament posterior.
Aquesta opció és útil per evitar que una activitat de correu excessiva
sobrecarregui el sistema.

<hr>


 0707010002fd2a000081a40000000000000002000000013d1fe2d300000124000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_QueueLA.es.html   <header>Media de carga máxima para enviar</header>

Determina la media de carga más allá de la cual los mensajes salientes ya
no serán enviados sino puestos en cola para una entrega posterior. Esta
opción es útil para prevenir que una actividad fuerte de correo sobrecargue
tu sistema.
<hr>

0707010002fd2b000081a40000000000000002000000013d1fe2d40000012e000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_QueueLA.fr.html   <header>Charge Maximal d'Envoie</header>

Détermine la charge maximale avant que Sendmail cesse d'envoyer des couriels, les mettants dans sa file d'attente et les livrer plus tard.  Cette option est utile pour prévenir un trafic de couriel intense qui risque de surcharger votre système.<p>

<hr>
  0707010002fd2c000081a40000000000000002000000013d1fe2d300000102000000200000000000000000000000000000002500000003reloc/sendmail/help/opt_QueueLA.html  <header>Max load average for sending</header>

Determines the load average beyond which outgoing messages are no longer
sent, but instead queued for later delivery. This option is useful for
preventing heavy mail activity from overloading your system.
<hr>

  0707010002fd2d000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_QueueLA.pl.html   <header>Maks. obci±¿enie systemu przy wysy³aniu</header>

Okre¶la warto¶æ progow± ¶redniego obci±¿enia systemu, po przekroczeniu
której sendmail przestanie wysy³aæ wiadomo¶ci, kolejkuj±c je zamiast tego
w&nbsp;celu pó¼niejszego dorêczenia. Ta opcja ma na celu zapobie¿enie przed
przeci±¿eniem twojego systemu przez zbyt du¿± aktywno¶æ pocztow±.
<hr>
  0707010002fd2e000081a40000000000000002000000013d1fe2d40000013b000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_QueueLA.ru_RU.html    <header>Ìàêñèìàëüíàÿ ñðåäíÿÿ çàãðóçêà äëÿ îòñûëêè</header>

Îïðåäåëÿåò ñðåäíþþ çàãðóçêó âûøå êîòîðîé èñõîäÿùèè ñîîáùåíèÿ áîëüøå íå îòñûëàþòñÿ, íî ïðîäîëæàþò ñòàâèòüñÿ â î÷åðåäü äëÿ äàëüíåéøåé äîñòàâêè. Äàííûé ïàðàìåòð ïîëåçåí äëÿ ïðåäîòâðàùåíèÿ ïåðåãðóçêè âàøåé ñèñòåìû âûñîêîé àêòèâíîñòüþ ýëåêòðîííîé ïî÷òû.
<hr>

 0707010002fd2f000081a40000000000000002000000013d1fe2d30000013b000000200000000000000000000000000000002b00000003reloc/sendmail/help/opt_QueueLA.ru_SU.html    <header>íÁËÓÉÍÁÌØÎÁÑ ÓÒÅÄÎÑÑ ÚÁÇÒÕÚËÁ ÄÌÑ ÏÔÓÙÌËÉ</header>

ïÐÒÅÄÅÌÑÅÔ ÓÒÅÄÎÀÀ ÚÁÇÒÕÚËÕ ×ÙÛÅ ËÏÔÏÒÏÊ ÉÓÈÏÄÑÝÉÉ ÓÏÏÂÝÅÎÉÑ ÂÏÌØÛÅ ÎÅ ÏÔÓÙÌÁÀÔÓÑ, ÎÏ ÐÒÏÄÏÌÖÁÀÔ ÓÔÁ×ÉÔØÓÑ × ÏÞÅÒÅÄØ ÄÌÑ ÄÁÌØÎÅÊÛÅÊ ÄÏÓÔÁ×ËÉ. äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÌÅÚÅÎ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÐÅÒÅÇÒÕÚËÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ×ÙÓÏËÏÊ ÁËÔÉ×ÎÏÓÔØÀ ÜÌÅËÔÒÏÎÎÏÊ ÐÏÞÔÙ.
<hr>

 0707010002fd30000081a40000000000000002000000013d1fe2d40000013d000000200000000000000000000000000000002800000003reloc/sendmail/help/opt_QueueLA.sv.html   <header>Maximal genomsnittlig last för sändning</header>

Här anger man maximal genomsnittlig last. Om lasten överstiger detta värde
kommer utgående e-post inte att skickas, utan köas och skickas vid ett
senare tillfälle. Detta är användbart om man vill förhindra att stora
e-posttoppar ska överlasta systemet.
<hr>

   0707010002fd31000081a40000000000000002000000013d1fe2d40000009f000000200000000000000000000000000000003000000003reloc/sendmail/help/opt_QueueLA.zh_TW.Big5.html   <header>°e¥X¶l¥ó®É³Ì¤jªº¥­§¡­t¸ü­­¨î</header>

¨M©w·í¥­§¡­t¸ü¥X¹L­þ­Ó¼Æ­È®É°±¤î»¼°e·sªº¶l¥ó, ¶È±N·s¶l¥ó¸m¤J¦î¦C¤¤©µ«á³B²z. ³o­Ó¿ï¶µ¥i¥H¨¾¤î±zªº¨t²Î¶W¸ü.
<hr>

 0707010002fd32000081a40000000000000002000000013d1fe2d400000168000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_RefuseLA.ca.html  <header>Màxima càrrega mitjana de recepció</header>

Determina la càrrega mitjana per sobre de la qual el sendmail no accepta
més missatges d'entrada a través de SMTP, forçant així els altres servidors
de correu a posar-los en cua per enviar-los més tard. Aquesta opció és 
útil per evitar que un trànsit de correu molt pesat sobrecarregui el sistema.

<hr>


0707010002fd33000081a40000000000000002000000013d1fe2d400000150000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_RefuseLA.es.html  <header>Media de carga máxima para recibir</header>

Determina la media de carga más allá de la cual sendmail no aceptará más
mensajes entrantes a través de SMTP forzando a otros servidores de correo
a ponerlos en cola para una entrega posterior. Esto es útil para prevenir
que un fuerte tráfico de correo sobrecargue tu sistema.
<hr>

0707010002fd34000081a40000000000000002000000013d1fe2d400000166000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_RefuseLA.fr.html  <header>Charge Maximal de Réception</header>

Détermine la charge maximale avant que Sendmail refuse les couriels entrant par SMTP, forçant les autres serveurs de couriel a les mettre dans leurs files d'attente et les envoyer plus tard.  Cette option est utile pour prévenir un trafic de couriel intense qui risque de surcharger votre système.<p>

<hr>
  0707010002fd35000081a40000000000000002000000013d1fe2d30000012b000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_RefuseLA.html <header>Max load average for receiving</header>

Determines the load average beyond which sendmail no longer accepts
incoming messages via SMTP, forcing other mail servers to queue them for
later delivery.  This option is useful
for preventing heavy mail traffic from overloading your system.
<hr>

 0707010002fd36000081a40000000000000002000000013d1fe2d400000184000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_RefuseLA.pl.html  <header>Maks. obci±¿enie systemu przy odbieraniu</header>

Okre¶la warto¶æ progow± ¶redniego obci±¿enia systemu, po przekroczeniu
której sendmail przestanie przyjmowaæ wiadomo¶ci przychodz±ce przez SMTP,
zmuszaj±c inne serwery pocztowe do kolejkowania ich w&nbsp;celu dorêczenia
pó¼niej. Ta opcja ma na celu zapobie¿enie przed przeci±¿eniem twojego
systemu przez du¿y ruch pocztowy.
<hr>
0707010002fd37000081a40000000000000002000000013d1fe2d400000153000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_RefuseLA.ru_RU.html   <header>Ìàêñèìàëüíàÿ ñðåäíÿÿ çàãðóçêà äëÿ ïðèåìà</header>

Îïðåäåëÿåò ñðåäíþþ çàãðóçêó âûøå êîòîðîé sendmail áîëüøå íå ïðèíèìàåò ñîîáùåíèÿ ïî SMTP, çàñòàâëÿÿ äðóãèå ïî÷òîâûå ñåðâåðû ñòàâèòü ñîîáùåíèÿ â î÷åðåäü äëÿ áîëåå ïîçäíåé äîñòàâêè. Äàííûé ïàðàìåòð ïîëåçåí äëÿ ïðåäîòâðàùåíèÿ ïåðåãðóçêè âàøåé ñèñòåìû âûñîêèì ïî÷òîâûì òðàôèêîì.
<hr>

 0707010002fd38000081a40000000000000002000000013d1fe2d400000153000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_RefuseLA.ru_SU.html   <header>íÁËÓÉÍÁÌØÎÁÑ ÓÒÅÄÎÑÑ ÚÁÇÒÕÚËÁ ÄÌÑ ÐÒÉÅÍÁ</header>

ïÐÒÅÄÅÌÑÅÔ ÓÒÅÄÎÀÀ ÚÁÇÒÕÚËÕ ×ÙÛÅ ËÏÔÏÒÏÊ sendmail ÂÏÌØÛÅ ÎÅ ÐÒÉÎÉÍÁÅÔ ÓÏÏÂÝÅÎÉÑ ÐÏ SMTP, ÚÁÓÔÁ×ÌÑÑ ÄÒÕÇÉÅ ÐÏÞÔÏ×ÙÅ ÓÅÒ×ÅÒÙ ÓÔÁ×ÉÔØ ÓÏÏÂÝÅÎÉÑ × ÏÞÅÒÅÄØ ÄÌÑ ÂÏÌÅÅ ÐÏÚÄÎÅÊ ÄÏÓÔÁ×ËÉ. äÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ÐÏÌÅÚÅÎ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÐÅÒÅÇÒÕÚËÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ×ÙÓÏËÉÍ ÐÏÞÔÏ×ÙÍ ÔÒÁÆÉËÏÍ.
<hr>

 0707010002fd39000081a40000000000000002000000013d1fe2d30000016a000000200000000000000000000000000000002900000003reloc/sendmail/help/opt_RefuseLA.sv.html  <header>Maximal genomsnittlig last för mottagning</header>

Här anger man maximal genomsnittlig last. Om lasten överstiger detta värde
kommer inkommande e-post via SMTP inte att tas emot, utan andra e-postservar
måste köa dem och skicka dem vid ett senare tillfälle. Detta är användbart
om man vill förhindra att stora e-posttoppar ska överlasta systemet.
<hr>

  0707010002fd3a000081a40000000000000002000000013d1fe2d4000000c1000000200000000000000000000000000000003100000003reloc/sendmail/help/opt_RefuseLA.zh_TW.Big5.html  <header>±µ¦¬¶l¥ó®É³Ì¤jªº¥­§¡­t¸ü­­¨î</header>

¨M©w·í¥­§¡­t¸ü¥X¹L­þ­Ó¼Æ­È®É°±¤î¸g¥Ñ SMTP ±µ¦¬·sªº¶l¥ó, ³o±N±j¨î¨ä¥Lªº¶l¥ó¦øªA¾¹±N·s¶l¥ó¸m¤J¨ä¦î¦C¤¤©µ«á»¼°e. ³o­Ó¿ï¶µ¥i¥H¨¾¤î±zªº¨t²Î¶W¸ü.
<hr>

   0707010002fd3b000081a40000000000000002000000013d1fe2d40000011d000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_SendMimeErrors.ca.html    <header>Codifica amb MIME els missatges rebotats</header>

Determina s'hi els missatges rebotats s'han d'enviar amb format MIME multipart
o bé com un missatge de text pla. Fes servir aquesta darrera opció si tens
molts usuaris que executen clients que no poden gestionar MIME.

<hr>


   0707010002fd3c000081a40000000000000002000000013d1fe2d30000012e000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_SendMimeErrors.es.html    <header>¿La codificación MIME pone en la calle los mensajes?</header>

Determina si los mensajes a poner en la calle deben de ser enviados en formato
MIME multi-parte o como simples mensajes de texto. Usa la última opción si
tienes muchos usuarios ejecutando clientes que no pueden manejar MIME.
<hr>

  0707010002fd3d000081a40000000000000002000000013d1fe2d400000119000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_SendMimeErrors.fr.html    <header>L'encodage MIME du Message de Rebond</header>

Détermine si le message de rebond doit être envoyé dans un format MIME multiple ou un simple fichier texte.  Utiliser la dernière option si vous avez plusieurs usagers utilisant des clients qui ne supporte pas MIME.<p>

<hr>

   0707010002fd3e000081a40000000000000002000000013d1fe2d3000000fe000000200000000000000000000000000000002c00000003reloc/sendmail/help/opt_SendMimeErrors.html   <header>MIME-encode bounce messages?</header>

Determines whether bounce messages should be send in multi-part MIME format,
or as a simple plain text message. Use the latter option if you have lots of
users running clients that cannot handle MIME.
<hr>

  0707010002fd3f000081a40000000000000002000000013d1fe2d400000165000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_SendMimeErrors.pl.html    <header>Kodowanie MIME odbitych wiadomo¶ci?</header>

Okre¶la, czy odbita w&nbsp;wyniku b³êdu wiadomo¶æ ma byæ wys³ana jako
wieloczê¶ciowa w formacie MIME (multipart/mixed), czy jako zwyk³a wiadomo¶æ
tekstowa (text/plain). U¿yj drugiej opcji, je¿eli posiadasz wielu
u¿ytkowników korzystaj±cych z&nbsp; klientów poczty nie obs³uguj±cych
standardu MIME.
<hr>
   0707010002fd40000081a40000000000000002000000013d1fe2d40000012a000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_SendMimeErrors.ru_RU.html <header>'Îòñêàêèâàþùèå' ñîîáùåíèÿ â MIME-êîäèðîâêå?</header>

Îïðåäåëÿåò, êîãäà 'îòñêàêèâàþùèå' ñîîáùåíèÿ äîëæíû îòñûëàòüñÿ â MIME ôîðìàòå, èëè ïðîñòîì òåêñòîâîì ôîðìàòå. Èñïîëüçóéòå âòîðîé âàðèàíò åñëè ó âàñ ìíîãî ïîëüçîâàòåëåé ðàáîòàþùèõ ñ ïðîãàììàìè-êëèåíòàìè íå óìåþùèìè ðàáîòàòü ñ MIME.
<hr>

  0707010002fd41000081a40000000000000002000000013d1fe2d30000012a000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_SendMimeErrors.ru_SU.html <header>'ïÔÓËÁËÉ×ÁÀÝÉÅ' ÓÏÏÂÝÅÎÉÑ × MIME-ËÏÄÉÒÏ×ËÅ?</header>

ïÐÒÅÄÅÌÑÅÔ, ËÏÇÄÁ 'ÏÔÓËÁËÉ×ÁÀÝÉÅ' ÓÏÏÂÝÅÎÉÑ ÄÏÌÖÎÙ ÏÔÓÙÌÁÔØÓÑ × MIME ÆÏÒÍÁÔÅ, ÉÌÉ ÐÒÏÓÔÏÍ ÔÅËÓÔÏ×ÏÍ ÆÏÒÍÁÔÅ. éÓÐÏÌØÚÕÊÔÅ ×ÔÏÒÏÊ ×ÁÒÉÁÎÔ ÅÓÌÉ Õ ×ÁÓ ÍÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÒÁÂÏÔÁÀÝÉÈ Ó ÐÒÏÇÁÍÍÁÍÉ-ËÌÉÅÎÔÁÍÉ ÎÅ ÕÍÅÀÝÉÍÉ ÒÁÂÏÔÁÔØ Ó MIME.
<hr>

  0707010002fd42000081a40000000000000002000000013d1fe2d400000109000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_SendMimeErrors.sv.html    <header>MIME-koda studsade brev?</header>

Här ställer man in om studsade e-postmeddelanden ska skickas i flerdelat
MIME-format eller som rena textmeddelanden. Det senare alternativet bör
väljas om man i systemet har många klienter som inte kan hantera MIME.
<hr>

   0707010002fd43000081a40000000000000002000000013d1fe2d4000000b6000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_SendMimeErrors.zh_TW.Big5.html    <header>¬O§_¼u¦^ MIME ½s½X¶l¥ó?</header>

¨M©w¤@­Ó°h¦^ªº¶l¥ó¬O§_­n¥H¦h³¡¤À MIME ®æ¦¡°e¥X, ©ÎªÌ¥u­n°e¥X¤@­Ó¯Â¤å¦rªº°T®§. ·í±z¤j¦h¼Æªº¨Ï¥ÎªÌµLªk³B²z MIME ¶l¥ó®É, ½Ð¨Ï¥Î¿ï¾Ü"§_".
<hr>

  0707010002fd44000081a40000000000000002000000013d1fe2d4000001ae000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_Timeout.queuereturn.ca.html   <header>Temps abans de deixar-ho córrer</header>

Quan, per alguna raó temporal, falla el lliurament d'un missatge (com ara
quan el servidor destinatari no va), el sendmail mantindrà el correu a la
cua durant el temps especificat per aquesta opció, reintentant el lliurament
de tant en tant. Un cop s'hagi arribat al temps límit, s'enviarà un missatge
rebotat al remitent i el missatge es descartarà.
<p>

<include units>

<hr>


  0707010002fd45000081a40000000000000002000000013d1fe2d4000001cf000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_Timeout.queuereturn.es.html   <header>Tiempo antes de darse por vencido</header>

Si la entrega de un mensaje falla por alguna razón temporal (como que el
servidor destinatario esté caído), sendmail mantendrá el correo en su
cola por la cantidad de tiempo especificado por esta opción, reintentando
la entrega ocasionálmente. Una vez que el tiempo límite se alcance, un
mensaje a poner en la calle será enviado de vuelva al remitente y el mensaje
será descartado. <p>
<include units.es>
<hr>

 0707010002fd46000081a40000000000000002000000013d1fe2d4000001c5000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_Timeout.queuereturn.fr.html   <header>Temps Avant d'Abandonner</header>

Quand l'envoie d'un couriel rate pour une raison temporaire (comme le serveur de destination est arrêté), Sendmail va garder le couriel dans sa file d'attente et essayer de le ré-envoyer occasionnellement.  Une fois que ce temps limite sera atteint, un couriel sera envoyer à l'émetteur du couriel l'informant de l'abandon de l'envoie avant de le supprimer de sa file d'attente.<p>

<include units>
<hr>
   0707010002fd47000081a40000000000000002000000013d1fe2d300000191000000200000000000000000000000000000003100000003reloc/sendmail/help/opt_Timeout.queuereturn.html  <header>Time before giving up</header>

When delivery of a message fails for some temporary reason (such as the
destination server being down), sendmail will keep the email in its queue
for the amount of time specified by this option, retrying delivery occasionally.
Once the time limit is reached, a bounce message will be sent back to the
sender and the message discarded. <p>
<include units>
<hr>

   0707010002fd48000081a40000000000000002000000013d1fe2d4000001d1000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_Timeout.queuereturn.pl.html   <header>Czas, po którym wiadomo¶æ jest odrzucana</header>

Gdy próba dorêczênia jakiej¶ wiadomo¶ci zakoñczy siê niepowodzeniem
z&nbsp;powodu tymczasowego problemu (np. gdy serwer docelowy jest
nieczynny), sendmail bêdzie trzyma³ wiadomo¶æ w&nbsp;kolejce przez czas
okre¶lony w&nbsp;tej opcji, próbuj±c okresowo wiadomo¶æ dorêczaæ.
W&nbsp;chwili, gdy ten czas up³ynie, kopia wiadomo¶ci zostanie odbita do
nadawcy a&nbsp;orygina³ porzucony. <p>

<include units>
<hr>
   0707010002fd49000081a40000000000000002000000013d1fe2d4000001af000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_Timeout.queuereturn.ru_RU.html    <header>Âðåìÿ äî ëèêâèäàöèè íåîòîñëàííûõ ñîîáùåíèé</header>

Åñëè äîñòàâêà ñîîáùåíèÿ íå ïðîøëà ïî íåêîòîðûì âðåìåííûì ïðè÷èíàì (íàïðèìåð ñåðâåð - àäðåñàò áûë âûêëþ÷åí), sendmail ñîõðàíèò ñîîáùåíèå â î÷åðåäè íà âðåìÿ óêàçàííîå â äàííîì ïàðàìåòðå, ïåðèîäè÷åñêè ïûòàÿñü åãî îòîñëàòü. Ïðè èñòå÷åíèè äàííîãî ëèìèòà âðåìåíè, 'îòñêàêèâàþùåå' ñîîáùåíèå áóäåò ïîñëàíî îáðàòíî è ñîîáùåíèå èç î÷åðåäè áóäåò óäàëåíî.
<p>
<include units>
<hr>

 0707010002fd4b000081a40000000000000002000000013d1fe2d30000019c000000200000000000000000000000000000003400000003reloc/sendmail/help/opt_Timeout.queuereturn.sv.html   <header>Tid tills servern ska sluta försöka</header>

När sendmail misslyckas att skicka e-post på grund av något tillfälligt fel
(t ex att mottagarservern är nere) sparar sendmail meddelandet i e-postkön
den angivna tiden. Under denna tid försöker sendmail att skicka om
meddelandet då och då. När tidsgränsen är uppnådd skickas ett studsmeddelande
till avsändaren och meddelandet kastas.
<include units>
<hr>

0707010002fd4a000081a40000000000000002000000013d1fe2d4000001af000000200000000000000000000000000000003700000003reloc/sendmail/help/opt_Timeout.queuereturn.ru_SU.html    <header>÷ÒÅÍÑ ÄÏ ÌÉË×ÉÄÁÃÉÉ ÎÅÏÔÏÓÌÁÎÎÙÈ ÓÏÏÂÝÅÎÉÊ</header>

åÓÌÉ ÄÏÓÔÁ×ËÁ ÓÏÏÂÝÅÎÉÑ ÎÅ ÐÒÏÛÌÁ ÐÏ ÎÅËÏÔÏÒÙÍ ×ÒÅÍÅÎÎÙÍ ÐÒÉÞÉÎÁÍ (ÎÁÐÒÉÍÅÒ ÓÅÒ×ÅÒ - ÁÄÒÅÓÁÔ ÂÙÌ ×ÙËÌÀÞÅÎ), sendmail ÓÏÈÒÁÎÉÔ ÓÏÏÂÝÅÎÉÅ × ÏÞÅÒÅÄÉ ÎÁ ×ÒÅÍÑ ÕËÁÚÁÎÎÏÅ × ÄÁÎÎÏÍ ÐÁÒÁÍÅÔÒÅ, ÐÅÒÉÏÄÉÞÅÓËÉ ÐÙÔÁÑÓØ ÅÇÏ ÏÔÏÓÌÁÔØ. ðÒÉ ÉÓÔÅÞÅÎÉÉ ÄÁÎÎÏÇÏ ÌÉÍÉÔÁ ×ÒÅÍÅÎÉ, 'ÏÔÓËÁËÉ×ÁÀÝÅÅ' ÓÏÏÂÝÅÎÉÅ ÂÕÄÅÔ ÐÏÓÌÁÎÏ ÏÂÒÁÔÎÏ É ÓÏÏÂÝÅÎÉÅ ÉÚ ÏÞÅÒÅÄÉ ÂÕÄÅÔ ÕÄÁÌÅÎÏ.
<p>
<include units>
<hr>

 0707010002fd4c000081a40000000000000002000000013d1fe2d40000011b000000200000000000000000000000000000003c00000003reloc/sendmail/help/opt_Timeout.queuereturn.zh_TW.Big5.html   <header>©ñ±ó«eµ¥«Ý®É¶¡</header>

·í¦]¬°¤@¨Ç¼È®É©Êªº¦]¯À³y¦¨¶l¥óµLªk»¼°e®É (¨Ò¦p¥Ø¼Ð¦øªA¾¹Ãö³¬), Sendmail ·|±N¸Ó¶l¥ó«O¯d¦b¦î¦C¤¤ª½¨ì³o­Ó¿ï¶µ©Ò«ü©wªº®É¶¡, ¨Ã¦b³o¬q®É¶¡¤¤«ùÄòªº­«·s¹Á¸Õ»¼°e. ·í¨ì¹F³o­Ó­­¨îªº®É¶¡«á, ¤@­Ó°h¥óªº°T®§·|³Q¦^°eµ¹±H¥ó¤H¨Ã¥á±ó³o­Ó°T®§. <p>
<include units>
<hr>

 0707010002fd4d000081a40000000000000002000000013d1fe2d40000018f000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_Timeout.queuewarn.ca.html <header>Temps abans d'enviar un avís</header>

Quan, per alguna raó temporal, falla el lliurament d'un missatge (com ara
quan el servidor destinatari no va), el sendmail mantindrà el correu a la
cua, reintentant el lliurament de tant en tant. Un cop s'hagi arribat a
aquest temps límit d'avís, s'enviarà un missatge al remitent informant-lo
del retard en el lliurament.
<p>

<include units>

<hr>


 0707010002fd4e000081a40000000000000002000000013d1fe2d3000001d0000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_Timeout.queuewarn.es.html <header>Tiempo antes de enviar un aviso</header>

Si la entrega de un mensaje falla por alguna razón temporal (como que el
servidor destinatario esté caído), sendmail mantendrá el correo en su
cola por la cantidad de tiempo especificado por esta opción, reintentando
la entrega ocasionálmente. Una vez que el tiempo límite se alcance, un
mensaje será enviado de vuelva al remitente informándole del retraso en
la entrega del mensaje. <p>

<include units.es>
<hr>

0707010002fd4f000081a40000000000000002000000013d1fe2d3000001b2000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_Timeout.queuewarn.fr.html <header>Temps Avant d'Envoyer un Avertissement</header>

Quand l'envoie d'un couriel rate pour une raison temporaire (comme le serveur de destination est arrêté), Sendmail va garder le couriel dans sa file d'attente et essayer de le ré-envoyer occasionnellement.  Une fois que ce temps limite sera atteint, un couriel sera envoyer à l'émetteur du couriel l'informant du délais dans l'envoie du couriel.<p>

<include units>
<hr>
  0707010002fd50000081a40000000000000002000000013d1fe2d40000018b000000200000000000000000000000000000002f00000003reloc/sendmail/help/opt_Timeout.queuewarn.html    <header>Time before sending warning</header>

When delivery of a message fails for some temporary reason (such as
the destination server being down), sendmail will keep the email in its
queue, retrying delivery occasionally. Once this warning time limit has
been reached, a message will be sent back to the sender informing him of
the delay in delivering the message. <p>

<include units>
<hr>

 0707010002fd51000081a40000000000000002000000013d1fe2d4000001bc000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_Timeout.queuewarn.pl.html <header>Czas, po którym wysy³ane jest ostrze¿enie</header>

Gdy próba dorêczênia jakiej¶ wiadomo¶ci zakoñczy siê niepowodzeniem
z&nbsp;powodu tymczasowego problemu (np. gdy serwer docelowy jest nieczynny),
sendmail bêdzie trzyma³ wiadomo¶æ w&nbsp;kolejce próbuj±c j± okresowo
dorêczaæ. W&nbsp;chwili, gdy ten czas up³ynie, do nadawcy zostanie wys³ana
kopia wiadomo¶ci z informacj±, ¿e wyst±pi opó¼nienie w dorêczeniu. <p>

<include units>
<hr>
0707010002fd52000081a40000000000000002000000013d1fe2d400000195000000200000000000000000000000000000003500000003reloc/sendmail/help/opt_Timeout.queuewarn.ru_RU.html  <header>Âðåìÿ ïåðåä îòñûëêîé ïðåäóïðåæäåíèÿ</header>

Åñëè äîñòàâêà ñîîáùåíèÿ íå ïðîøëà ïî íåêîòîðûì âðåìåííûì ïðè÷èíàì (íàïðèìåð ñåðâåð - àäðåñàò áûë âûêëþ÷åí), sendmail sendmail ñîõðàíèò ñîîáùåíèå â î÷åðåäè, ïåðèîäè÷åñêè ïûòàÿñü åãî îòîñëàòü. Ïî ïðîøåñòâèè óêàçàííîãî â äàííîì ïàðàìåòðå âðåìåíè, ñîîáùåíèå ñ ïðåäóïðåæäåíèåì î çàäåðæêå â äîñòàâêå ïî÷òû áóäåò îòîñëàíî îáðàòíî.
<p>

<include units>
<hr>

   0707010002fd53000081a40000000000000002000000013d1fe2d300000195000000200000000000000000000000000000003500000003reloc/sendmail/help/opt_Timeout.queuewarn.ru_SU.html  <header>÷ÒÅÍÑ ÐÅÒÅÄ ÏÔÓÙÌËÏÊ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ</header>

åÓÌÉ ÄÏÓÔÁ×ËÁ ÓÏÏÂÝÅÎÉÑ ÎÅ ÐÒÏÛÌÁ ÐÏ ÎÅËÏÔÏÒÙÍ ×ÒÅÍÅÎÎÙÍ ÐÒÉÞÉÎÁÍ (ÎÁÐÒÉÍÅÒ ÓÅÒ×ÅÒ - ÁÄÒÅÓÁÔ ÂÙÌ ×ÙËÌÀÞÅÎ), sendmail sendmail ÓÏÈÒÁÎÉÔ ÓÏÏÂÝÅÎÉÅ × ÏÞÅÒÅÄÉ, ÐÅÒÉÏÄÉÞÅÓËÉ ÐÙÔÁÑÓØ ÅÇÏ ÏÔÏÓÌÁÔØ. ðÏ ÐÒÏÛÅÓÔ×ÉÉ ÕËÁÚÁÎÎÏÇÏ × ÄÁÎÎÏÍ ÐÁÒÁÍÅÔÒÅ ×ÒÅÍÅÎÉ, ÓÏÏÂÝÅÎÉÅ Ó ÐÒÅÄÕÐÒÅÖÄÅÎÉÅÍ Ï ÚÁÄÅÒÖËÅ × ÄÏÓÔÁ×ËÅ ÐÏÞÔÙ ÂÕÄÅÔ ÏÔÏÓÌÁÎÏ ÏÂÒÁÔÎÏ.
<p>

<include units>
<hr>

   0707010002fd54000081a40000000000000002000000013d1fe2d400000172000000200000000000000000000000000000003200000003reloc/sendmail/help/opt_Timeout.queuewarn.sv.html <header>Tid tills varning skickas</header>

När sendmail misslyckas att skicka e-post på grund av något tillfälligt fel
(t ex att mottagarservern är nere) sparar sendmail meddelandet i e-postkön
och försöker att skicka om det då och då. När tidsgränsen är nådd skickas
ett varningsmeddelande till avsändaren om att e-postmeddelandet försenats.

<p><include units>
<hr>

  0707010002fd55000081a40000000000000002000000013d1fe2d3000000f8000000200000000000000000000000000000003a00000003reloc/sendmail/help/opt_Timeout.queuewarn.zh_TW.Big5.html <header>°e¥XÄµ§i«eµ¥«Ý®É¶¡</header>

·í¦]¬°¤@¨Ç¼È®É©Êªº¦]¯À³y¦¨¶l¥óµLªk»¼°e®É (¨Ò¦p¥Ø¼Ð¦øªA¾¹Ãö³¬), Sendmail ·|±N¸Ó¶l¥ó«O¯d¦b¦î¦C¤¤¨Ã«ùÄòªº­«·s¹Á¸Õ»¼°e. ·í¨ì¹F³o­ÓÄµ§i®É¶¡«á, ¤@­Ó°T®§·|³Q¦^°eµ¹±H¥ó¤H³qª¾¨ä³o­Ó»¼°eªº©µ¿ð. <p>

<include units>
<hr>

0707010002fd56000081a40000000000000002000000013d1fe2d400000254000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_dmode.ca.html <header>Mode de lliurament</header>

Controla quan es lliuren els misssatges rebuts per aquest servidor de
correu. Les opcions possibles són:

<ul>
<li><b>En segon pla</b><br>
   Els missatges es lliuren en segon pla tan aviat com sigui possible.
   <p>
<li><b>Posa en cua</b><br>
   Els missatges es posen només en una cua, i no es lliuren fins que es
   buida la cua manualment.
   <p>
<li><b>Interactiu</b><br>
   Els missatges es lliuren immediatament.
   <p>
<li><b>Diferit</b><br>
   Com <i>Posa en cua</i>, però no es fa cap consulta DNS o NIS per a 
   cap missatge.
   <p>
</ul>

<hr>


0707010002fd57000081a40000000000000002000000013d1fe2d40000027b000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_dmode.es.html <header>Mode de entrega</header>

Controla cuándo los mensajes enviados a este servidor de correo son entregados.
Las opciones posibles con:
<ul>
<li><b>Segundo plano</b><br>
    Los mensajes son entregados tan pronto como sea posible en segundo plano.<p>
<li><b>Sólo poner en cola</b><br>
    Los mensajes sometidos son méramente puestos en cola, no son entregados
    hasta que la cola es vaciada manuálmente.<p>
<li><b>Interactivo</b><br>
    Los mensajes son entregados inmediátamente.<p>
<li><b>Diferido</b><br>
    Como <i>Sólo poner en cola</i>, pero no se hace búsqueda de DNS o NIS de
    los mensajes sometidos.
</ul>

<hr>

 0707010002fd59000081a40000000000000002000000013d1fe2d4000002a0000000200000000000000000000000000000002600000003reloc/sendmail/help/opt_dmode.pl.html <header>Tryb dorêczania</header>

Okre¶la, kiedy maj± byæ dorêczane wiadomo¶ci przys³ane do niniejszego
serwera. Dostêpne mo¿liwo¶ci to:
<ul>
<li><b>W&nbsp;tle</b><br>
    Wiadomo¶ci s± dorêczane tak szybko jak to mo¿liwe, w&nbsp;tle. <p>
<li><b>Tylko kolejkowanie</b><br>
    Dostarczone wiadomo¶ci s± po prostu umieszczane w&nbsp;kolejce
    i&nbsp;nie s± dorêczane a¿ do chwili rêcznie wydanego polecenia
    opró¿nienia kolejki. <p>
<li><b>Interakcyjnie</b><br>
    Wiadomosci s± dorêczane natychmiast.<p>
<li><b>Deferred</b><br>
    Jak <i>Tylko kolejkowanie</i>, lecz nie s± wykonywane przeszukiwania DNS
    i&nbsp;NIS dla dostarczonych wiadomo¶ci. <p>
</ul>

<hr>
0707010002fd5a000081a40000000000000002000000013d1fe2d4000000f9000000200000000000000000000000000000002200000003reloc/sendmail/help/units.ca.html Aquest temps ha de venir donat com un número seguit d'un caràcter
de les unitats, com ara <tt>30m</tt> o <tt>1d</tt>. Les unitats vàlides
són <tt>s</tt> = segons, <tt>m</tt> = minuts, <tt>h</tt> = hores,
<tt>d</tt> = dies i <tt>w</tt> = setmanes.


   0707010002fd5b000081a40000000000000002000000013d1fe2d300000100000000200000000000000000000000000000002200000003reloc/sendmail/help/units.es.html 
Este tiempo debe de ser suministrado como un número seguido de un carácter
para las unidades, como <tt>30m</tt> o <tt>1d</tt>. Son unidades válidas
<tt>s</tt> = segundos, <tt>m</tt> = minutos, <tt>h</tt> = horas,
<tt>d</tt> = días y <tt>w</tt> = semanas.
0707010002fd5c000081a40000000000000002000000013d1fe2d30000011b000000200000000000000000000000000000002200000003reloc/sendmail/help/units.fr.html <header>Unité de Temps</header>

Ce temps doit être donné comme un numéro suivi d'un caractère pour l'unité, comme <tt>30m</tt> ou <tt>1d</tt>.  Les unités valides sont <tt>s</tt> = secondes, <tt>m</tt> = minutes, <tt>h</tt> = heures, <tt>d</tt> = jours et <tt>w</tt> semaines.

<hr> 0707010002fd5e000081a40000000000000002000000013d1fe2d400000102000000200000000000000000000000000000002200000003reloc/sendmail/help/units.pl.html 
Czas musi byæ podany jako liczba, po której bezpo¶rednio nastêpuje
oznaczenie jednostki, np. <tt>30m</tt> lub <tt>1d</tt>.
Dozwolonymi jednostkami s±
<tt>s</tt> = sekundy, <tt>m</tt> = minuty, <tt>h</tt> = godziny,
<tt>d</tt> = dni i <tt>w</tt> = tygodnie.
  0707010002fd5f000081a40000000000000002000000013d1fe2d400000112000000200000000000000000000000000000002500000003reloc/sendmail/help/units.ru_RU.html  
Ýòî âðåìÿ äîëæíî áûòü çàïèñàíî, êàê ÷èñëî ñ ïîñëåäóþùèì ñèìâîëîì îáîçíà÷àþùèì åäèíèöû èçìåðåíèÿ, íàïðèìåð <tt>30m</tt> èëè <tt>1d</tt>. Äîïóñòèìûìè åä. èçìåðåíèÿ ÿâëÿþòñÿ <tt>s</tt> = ñåêóíäû, <tt>m</tt> = ìèíóòû, <tt>h</tt> = ÷àñû, <tt>d</tt> = äíè è <tt>w</tt> = íåäåëè.
  0707010002fd60000081a40000000000000002000000013d1fe2d400000112000000200000000000000000000000000000002500000003reloc/sendmail/help/units.ru_SU.html  
üÔÏ ×ÒÅÍÑ ÄÏÌÖÎÏ ÂÙÔØ ÚÁÐÉÓÁÎÏ, ËÁË ÞÉÓÌÏ Ó ÐÏÓÌÅÄÕÀÝÉÍ ÓÉÍ×ÏÌÏÍ ÏÂÏÚÎÁÞÁÀÝÉÍ ÅÄÉÎÉÃÙ ÉÚÍÅÒÅÎÉÑ, ÎÁÐÒÉÍÅÒ <tt>30m</tt> ÉÌÉ <tt>1d</tt>. äÏÐÕÓÔÉÍÙÍÉ ÅÄ. ÉÚÍÅÒÅÎÉÑ Ñ×ÌÑÀÔÓÑ <tt>s</tt> = ÓÅËÕÎÄÙ, <tt>m</tt> = ÍÉÎÕÔÙ, <tt>h</tt> = ÞÁÓÙ, <tt>d</tt> = ÄÎÉ É <tt>w</tt> = ÎÅÄÅÌÉ.
  0707010002fd61000081a40000000000000002000000013d1fe2d3000000fb000000200000000000000000000000000000002200000003reloc/sendmail/help/units.sv.html 
Detta tidsintervall måste anges som ett tal följt av en bokstav som markerar
enhet, t ex <tt>30m</tt> eller <tt>1d</tt>. Giltiga enheter är
<tt>s</tt> = sekunder, <tt>m</tt> = minuter, <tt>h</tt> = timmar,
<tt>d</tt> = dagar och <tt>w</tt> = veckor.
 0707010002fd62000081a40000000000000002000000013d1fe2d3000000b0000000200000000000000000000000000000002a00000003reloc/sendmail/help/units.zh_TW.Big5.html 
®É¶¡¥²¶·­n¥H¼Æ¦r»P®É¶¡³æ¦ì¬Û³sªº¤è¦¡µ¹¤©, ¨Ò¦p <tt>30m</tt> ©Î <tt>1d</tt>. ¦³®Äªº³æ¦ì¬°  <tt>s</tt> = ¬í, <tt>m</tt> = ¤À, <tt>h</tt> = ®É,
<tt>d</tt> = ¤é, <tt>w</tt> = ©P.
07070100010276000041ed0000000000000001000000023d1ffb4500000000000000200000000000000000000000000000001600000003reloc/sendmail/images 07070100010277000081a40000000000000002000000013d1fe2d300000122000000200000000000000000000000000000002100000003reloc/sendmail/images/access.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff  ÿ         !ù    ,    0 0  çºÜþ0ÊI«½8ëÍ»ÿ`(ŽdYhª®ÁÈ¾ðºÅtZv^OzK¾ ,",¶"£o L*kƒ¨$)¨:Ÿ¨ *%VÖ°/\Õr§`²zÍ.—ÏÞt{®&ØÍ]Õj·Óë~[pi`ƒ|‚}‰‹}‚U‰xLHrŠŠ˜ƒ’[ƒ\•†{˜‘aœ¦©“„¡{‘›¨±¤Ÿ…‡¦’Œœ»©|”hl§d³aµy·¯²uÌ¦À–™¥¤¾¤”­¸ŽÄÎÆ¬ÁmÔ±dZ¬ÙËì[„íñfñt#õ&ùúûüýþÿ 
H°à¾ ;  07070100010278000081a40000000000000002000000013d1fe2d30000018d000000200000000000000000000000000000002200000003reloc/sendmail/images/aliases.gif GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ   ÿÿ     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8ëÍ;`(Žd	z¬lë¾°€Nê`ö ïDO²Bµ+º
È_pF4:†‚R8tZ	Ð©°¹ÊétÖÖò@æÔ¾-/ËËÉ‡}«wïv÷^Îœq8utm€z|~iaFK{}\7‹bp”aŽq™V›œžŸŒ— ª«¬­®¯¡§T´–µ¸³¹µ»¼T¾¿3ÁÂÄÅÇÈÊË¦·ÎÉÐÑÌÓÔÏ)&ÛÜ'¶Ù)¤¥ßž‚ha>ZÄ‘¤HR@ä£â+Pðc¢óôXêeÊ‘ÔzƒÓ0]Îµ™Ä‚ 5xIsP¢‡àP:Hqcž‹)œ *	#HY|49J;z+bÉÃ%Í25¤‚Å³gÎk@ƒNˆ  ;   07070100010279000081a40000000000000002000000013d1fe2d30000004d000000200000000000000000000000000000002100000003reloc/sendmail/images/attach.gif  GIF89a  ‘ÿ ÀÀÀç+˜    !ù    ,       D© ›zK4ƒ«ËªI1Õ‰
'$&hg ;   0707010001027a000081a40000000000000002000000013d1fe2d30000016f000000200000000000000000000000000000002000000003reloc/sendmail/images/boxes.gif   GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8ëÍ»ÿ`(Ždiž¨¬@®A¬.Ë8][7îÏ­¢÷+êPÄ¢hJ.ŸÇóIev¦Õl”Èz—[I÷KV'¬´zÍn»£ã²Ü' tƒ >×Ïeuh^‚…‡bz}“‰8‚†v•U—„œO—›ˆ£K¥¦§¡ª«E—‚©‘²_C¸¹¢dÁ¿2ÁYºq¹†¿Å†^Ç1ËÂÂÊÃÑÍÑØÄÌ¶»×ÐÐÃÞÕÍÞßáÕ¾äÕáæÔãçäêéãÊÄíÛËöðÜcùêÔ8¤í›î\:^OžmCXäC*.‰(±¡3jÜ¨QˆÇ CŠI²¤É	  ; 0707010001027b000081a40000000000000002000000013d1fe2d300000178000000200000000000000000000000000000001e00000003reloc/sendmail/images/cgs.gif GIF89a0 0 ã  ÌÌÌ   ™™™fffÿÿÿ ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þðÉI«½8ëÍ»ÿàAhf€@–g;¥‚0¸.,Óu|ã¦=ó=ÝøñCÆ£'©ì0›š'%œn¤V6ûªr1ÛoXìýVÆg€zÍn»ß>¸š Øïø¼^ïÛßt‚ƒ…‚~{}€/‰•ŠBwŽ‘“uƒ„†„–y‹ŒŽœ’¦¦¨©­”¯–±Žž®·~±Œ»»´Ÿ"À‰Â½Žµ É—1¥¦ÇuÐy$Ò·Õx¢Ó‡~+ÉÜvß¥ß{$Ðäçí†à‡×Üçˆˆõ÷å×ÎÈ£úùöüÙ[H`=|÷Ñ+7ªa»;ïæ¹B·¹B¢*nû¥Q¢­ŽŸ)B‡É“(Sª\yÌŒK  ;0707010001027c000081a40000000000000002000000013d1fe2d30000010a000000200000000000000000000000000000001e00000003reloc/sendmail/images/cws.gif GIF89a0 0 €  ÿÿÿfff!ù    ,    0 0  á„©ËÍ‚®Ú‰¼ÜmªE&bI¥[&}Ú»ðáª¯y×s;ß{Þ£_2žOGüáP-É9Z©š¥eçÚ‰°Ü®÷‹Çä²¹¢=sV>õ#mNO4žöùŒé‘m ‘Ýó§”Ôçg"5dwHøc„“È$™#"%’‚iÈ)ä‘¦°µFçfzŠšªºÊYºÐ9ÆûVU)gWj3%ªGD%4ùˆQ¤¨ø‘Ül˜ÌXHÉ|w÷‹KÕËÚpÍý.>ŽŠWÎ’á¦ãäž¼úê+È¾½(-dŒ4êP  ;  0707010001027d000081a40000000000000002000000013d1fe2d300000100000000200000000000000000000000000000002200000003reloc/sendmail/images/domains.gif GIF89a0 0 ¡  ÿÿÿfff      !ù    ,    0 0  Ñ„©Ëí£œ†{S®5èãqya(N&˜[ûbŠ»0‰ß'‹£hÛce†ÀÜ.ô!~ÊãÊˆlòÅ$ôô¬J©»mwè‹‰7ØVM©—¥µû¯æqÑ\PçÜór:²÷'(AXèpˆÈ ¸¨Ðèhp7™0	éxYùH¹iéç‰€¹‰úhŠZòÃðÇÊº«†Eä0›’µ²áŠV£ãcôDfVÔdãeüq,ÄÜfÅ\¶DML½lûlÍ=­ü,#fì‚&VÖ›ª!½îî^  ;0707010001027e000081a40000000000000002000000013d1fe2d30000006c000000200000000000000000000000000000001f00000003reloc/sendmail/images/down.gif    GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;0707010001027f000081a40000000000000002000000013d1fe2d3000001b2000000200000000000000000000000000000002300000003reloc/sendmail/images/features.gif    GIF89a0 0 ã  ÿÿÿÇÇÇUUUŽŽŽãããªªª   999rrrÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þCreated with The GIMP ,    0 0  þÈI«½8ëÍ»ÿ`(Ždižhª®lë‚ ÏÂ€ôl—…áÿ†¦ô	8ˆ"…X4`MÃQUN˜ÅÀåbÑeÔ°«Œ½Ûð(ø¡%Ì¶;3‹ÝIÂR÷U7y\@wFr‡Xo‡Vpl}fFŒ`~ ‘ Œ›R~™y{„ks?B¬•¦”–ª?…¢ƒNŽ·²¤Až™µ ƒ{¾Ç?‰ÃlŸ?es¾L	ÏsÀSL–²¨—·°¢¶»”Z²eÎ«’s ‡Z‡ï€ízùúEùéÐ ´lqûgnL‘#¦â »^AƒÔþ@Ð­^¹‡EÉÒEÏ¢—O9Öhh/^“T$/jÈVKK‚+Ý¥ôì‡1eXªl¢ÅchùÀÕè‚'ú
ô” éR Hõ=ÍÔØ‹«X³jÝÊµ«×¯`ÃŠ;! ;  07070100010280000081a40000000000000002000000013d1fe2d300000049000000200000000000000000000000000000001e00000003reloc/sendmail/images/gap.gif GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   07070100010281000081a40000000000000002000000013d1fe2d300000185000000200000000000000000000000000000002300000003reloc/sendmail/images/generics.gif    GIF89a0 0 ã  ÌÌÌ   ™™™fffÿÿÿ ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þðÉI«½8ëÍ»ÿ`¹ÂHšl…
ÂÐÎÏÓ³-ã¦Î³¾((ü‹œ#ò»-“ÍÝ“	“N1Ê«%«p»’oW<Ž‚/ä$`Ín»ßÑ·ÜMîø¼>¯Ûûõuƒ„†ƒ~}ŽŽ^ŒŒ‹Œ’”a†…‡…˜œ“‚–{¦§šŽ¬•®z°~¨´ ¶x¸¹»»³Ÿ5ÀÁQÀ¨¾Èw0~MÂÉÏvÑMÚ“)UÖÓ­“äÒM“*áÇØåÛÜMêëãŒÚóôµøû×y¢„ ÿÄCêŽ@{ã$ˆH!"ƒîaço¡E‹+&B¨/@!¡‚ôèpb=~ê(¢Ä§reÊ“.±{G³¦Í›MÎèü ;   07070100010282000081a40000000000000002000000013d1fe2d30000013a000000200000000000000000000000000000001f00000003reloc/sendmail/images/icon.gif    GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ ÿÿ ÿ    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  çÉI«½8ëÍ»ÿ`(Ždižhª®lë¾ptmßx®ëüÀ pH,½À` \6•Æ(@¥äÄ'íF«ƒ«•ø–L'Ó+­Ä…l’Mº¯äy½N8Ür[{{}~y‚ƒtnUf@NChiŠBe\M“hš›“?ž›A—™”jjO¢ ©¦£zižšœ°¢”@¤]œ•Gz¼ƒ¹³§Ÿ«Â»DÁOÆP§kËPEÊÒÐÐÕÂÙ×½‰«´Í±ÍÞ‘É¾¿uÔçtéê^ìíR¤óôõö÷øùø2üýþÿ 
H° Áƒ7D  ;  07070100010283000081a40000000000000002000000013d1fe2d3000000f8000000200000000000000000000000000000002200000003reloc/sendmail/images/mailers.gif GIF89a0 0 ¡  ÿÿÿfff      !ù    ,    0 0  É„©Ëíb|´ª°ÝNK¬q"å|Æ'ea·®eÓ´—m³¢¼yÑÙ~21g™Mzµ®9¤€–=ÓÙª&E¯ƒ%õŠ/Ý±H`Nlµ˜wŸáq9§nßàó–=ÿA÷GA‡fFxˆx¨–Èˆ¸ØÙ&88I)iéà—©°É™àùéø	ZIZZxÚ©ÊÚš¤BRÆ×u•iµ5¹sâÓ"S&ûUƒ;ÄTvõTÌ$¤Üdìœû ´;}=]15eÒû½,ìêâKÎW  ;07070100010284000081a40000000000000002000000013d1fe2d300000176000000200000000000000000000000000000002000000003reloc/sendmail/images/mailq.gif   GIF89a0 0 Â  ÌÌÌÿÿÿ™™™fff ÿ   ÿÿ  ÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊIë8ëÍ;¶Œdiž¨ .âàî€ÎDMêzˆ^ïg+ÞlHÄ­W¬X²Ýr!“X¨>¼Ÿ–Ez§`èD˜”-ÁNc…V×µWÔFp5…½íÇs_uDb|0J/h6z |~}{tƒC…•ˆfŠSi™l—%oq”d’[©¥3¡‡KgŸŒ±!®¯§‘«?­R¼&¸,›´žL Ä‚¯¾È
£»¯wyÓÉªÂ>Ï–Æ$ÚÕBË2‹5¿ŽÖ¥Ò]Å×x¨€ð¥wóÀºàœfƒÚ!¼()ã\¿‚Š ná/†žSHM`C‡>œ*D	ƒ¯(&#X«ŽÈŠáJœÜ‘R¥–-G¬|$ ¦Í›8sê|É³§Ïž	  ;  07070100010285000081a40000000000000002000000013d1fe2d30000014f000000200000000000000000000000000000001f00000003reloc/sendmail/images/masq.gif    GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¾@©Tö.1†x‰š@tÞ„U 	¹’Ið’w+f˜n[ígëùvF"²G.‘¸$¯Ø’¶œ;V5Z]9žÅ 6Éôraàž³fñ2@Ý-{[Ã]5Mi6ÔT¦zk„{3y…‰|ˆŠ…ƒ8‚Œ„hT~+q]š–‘Ÿ9rt["cs¥O¤“F.vld[TKl·ƒ®´¤³£ž$º¿_¸£D¾»*nxÌ’ X@w€”z›!™?Z¡*´Ž×!Ûàâå„ç…’éÝŽ˜†}àt½‡è½9Ó$(è¾À`-èð¯–@/°RüÓ'Ï§…ÅÎ+xJÂ7³é©öî§ŒŠ I²¤É“(Sª\ÉòA ; 07070100010286000081a40000000000000002000000013d1fe2d3000001cc000000200000000000000000000000000000001f00000003reloc/sendmail/images/opts.gif    GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100010287000081a40000000000000002000000013d1fe2d300000037000000200000000000000000000000000000001d00000003reloc/sendmail/images/p1.gif  GIF89a  €  ÿ  ÿÿÿ!ù   ,       L f¨—Êà[ÓµØn ; 07070100010288000081a40000000000000002000000013d1fe2d300000037000000200000000000000000000000000000001d00000003reloc/sendmail/images/p2.gif  GIF89a  €  º  ÿÿÿ!ù   ,       L f¨—Êà[ÓµØn ; 07070100010289000081a40000000000000002000000013d1fe2d30000003f000000200000000000000000000000000000001f00000003reloc/sendmail/images/read.gif    GIF89a  €     ÿÿÿ!ù   ,       Œ€ºÖÞ‰’7qsîîöA ; 0707010001028a000081a40000000000000002000000013d1fe2d300000188000000200000000000000000000000000000002000000003reloc/sendmail/images/relay.gif   GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ   ÿÿ     ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8kºÿ`(vÛhª®l+”Ö9ÌÁ<´8¡ÁS'œpU(ò|?IpÈ4
ÇädÉœQ)‚Z³Õª+dRv»¥læ.ÿ‚å®ÜLŸ{Ú­ÝK+¯ãfn0Ti`.y\l†*‚%\‹8,’•L— žŸ ¡¢£›y¦©¬ª®¬±¯¦±µ³´­?µ»¼½¾²º¿ÂÃ¨IÄÇ¾·©ÀÊÆ¼ÍÎÌÐ0ÒÓÔÖœ##ÓÚÝ$³Þá àâÝ³åÚçèé3àè ÞŸñ¤úEöø¯ì>)ài  ‚žú­…°(„ýü¹’w°aA„AÁûGñ`Å$1*äÈPàÃz÷†ÂˆÑc=‰ª:šÌ(*¢2}8SBË)
Û¬ ;0707010001028b000081a40000000000000002000000013d1fe2d30000003e000000200000000000000000000000000000002200000003reloc/sendmail/images/special.gif GIF89a  €  ÿÿÿÿÿ !ù    ,       „§¹ìN›TÒ¦.¶—ë5=ˆ, ;  0707010001028c000081a40000000000000002000000013d1fe2d300000186000000200000000000000000000000000000002100000003reloc/sendmail/images/trusts.gif  GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010001028d000081a40000000000000002000000013d1fe2d300000067000000200000000000000000000000000000001d00000003reloc/sendmail/images/up.gif  GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 0707010001028e000081a40000000000000002000000013d1fe2d3000001c3000000200000000000000000000000000000002400000003reloc/sendmail/images/virtusers.gif   GIF89a0 0 ã  ÌÌÌÿÿÿ™™™fff ÿ   ÿ   ÿ  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þÉI«½8SÀ»ÿ`Èiœhª®¬@^¦(ÏÝ»&«ï¨kK±À€FÙ‚8ž²uL&Paty"X		™£ê
`¬Ï@.9»ÞÕáPKÈeKp˜ÖÖn<~Ë¡¥QuY{s&)PS€Œ'Zo|@g'‚˜™B—œŠ‚„p}'‰˜€R›Œ©‘¢\‹ƒ+’¯ ~*³µ“‡¤³<¿z”¸ºÄ;ÆÇÁrÌ:Î·Ê×ØÙÚÛÊÕ?à/ßáäãåèÀéë…Èìåçïàñò6·Eø5$÷ÒLû|¥N}Zr%O†j~òáóFiW?Ô¤ˆJAP¡9”¦Fh_Ï„Ñé·Æ£–2ã62»sÀàw‰þôtÒP´'¨PTTµ*EÍsMQÜ”JD[/o&BÕSè*S>‘&½á„“,={€Séˆ˜3Êþ<üšAl?²fF%—‹›Û·hëÕ‹  ; 07070100021503000081e40000000000000002000000013d1fe2d3000013de000000200000000000000000000000000000001900000003reloc/sendmail/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display icons for various things that can be configured in sendmail

require './sendmail-lib.pl';

# check for mail-only user
if (!$access{'opts'} && !$access{'cws'} && !$access{'masq'} &&
    !$access{'trusts'} && !$access{'vmode'} && !$access{'amode'} &&
    !$access{'omode'} && !$access{'cgs'} && !$access{'relay'} &&
    !$access{'mailq'} && !$access{'mailers'} && !$access{'access'} &&
    !$access{'domains'} && $access{'mmode'}) {
	if ($access{'mmode'} == 2 && $access{'musers'} !~ /\s/) {
		&redirect("/$module_name/list_mail.cgi?user=$access{'musers'}");
		exit;
		}
	elsif ($access{'mmode'} == 4) {
		&redirect("/$module_name/list_mail.cgi?".
			  "user=$remote_user");
		exit;
		}
	else {
		&redirect("/$module_name/list_boxes.cgi");
		exit;
		}
	}

# Check if sendmail is actually installed
if (!-x $config{'sendmail_path'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("sendmail", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_epath', "<tt>$config{'sendmail_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if the config file exists, and is the right version
if (!-r $config{'sendmail_cf'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("sendmail", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_econfig', "<tt>$config{'sendmail_cf'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$conf = &get_sendmailcf();
$cfgver = &find_type("V", $conf);
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("sendmail", "man", "doc", "google"), undef, undef,
	$cfgver ? &text('index_version', "V$cfgver->{'value'}") : undef);
print "<hr>\n";
if (!&check_sendmail_version($conf)) {
	print "<p>$text{'index_eversion'}<p>\n";
	print "<hr>\n";
	&footer("/", "index");
	exit;
	}

# Check the mail spool
local $mcount = 0;
foreach $mqueue (&mailq_dir($conf)) {
	opendir(QDIR, $mqueue);
	$mcount += scalar(grep { /^qf/ } readdir(QDIR));
	closedir(QDIR);
	}

@olinks =  ( "list_opts.cgi", "list_aliases.cgi", "list_cws.cgi", "list_masq.cgi", "list_trusts.cgi", "list_virtusers.cgi", "list_mailers.cgi", "list_generics.cgi", "list_cgs.cgi", "list_domains.cgi", "list_access.cgi", "list_relay.cgi", "list_features.cgi", "list_mailq.cgi", "list_boxes.cgi" );

@otitles = ( "$text{'opts_title'} (O)", "$text{'aliases_title'} (aliases)", "$text{'cws_title'} (Cw)", "$text{'masq_title'} (CM)", "$text{'trusts_title'} (T)", "$text{'virtusers_title'} (virtuser)", "$text{'mailers_title'} (mailertable)", "$text{'generics_title'} (generics)", "$text{'cgs_title'} (CG)", "$text{'domains_title'} (domaintable)", "$text{'access_title'} (access)", "$text{'relay_title'} (CR)", $text{'features_title'}, "$text{'mailq_title'} (mailq)<br>".&text('mailq_count', $mcount), "$text{'boxes_title'}"); 

@oicons =  ( "images/opts.gif", "images/aliases.gif", "images/cws.gif", "images/masq.gif", "images/trusts.gif", "images/virtusers.gif", "images/mailers.gif", "images/generics.gif", "images/cgs.gif", "images/domains.gif", "images/access.gif", "images/relay.gif", "images/features.gif", "images/mailq.gif", "images/boxes.gif" );

&filter_icons($access{'opts'}, "list_opts.cgi");
&filter_icons($access{'cws'}, "list_cws.cgi");
&filter_icons($access{'masq'}, "list_masq.cgi");
&filter_icons($access{'trusts'}, "list_trusts.cgi");
&filter_icons($access{'vmode'}, "list_virtusers.cgi");
&filter_icons($access{'amode'}, "list_aliases.cgi");
&filter_icons($access{'omode'}, "list_generics.cgi");
&filter_icons($access{'cgs'}, "list_cgs.cgi");
&filter_icons($access{'relay'}, "list_relay.cgi");
&filter_icons($access{'mailq'}, "list_mailq.cgi");
&filter_icons($access{'mailers'}, "list_mailers.cgi");
&filter_icons($access{'access'}, "list_access.cgi");
&filter_icons($access{'domains'}, "list_domains.cgi");
&filter_icons($features_access, "list_features.cgi");
&filter_icons($access{'mmode'}, "list_boxes.cgi");

&icons_table(\@olinks, \@otitles, \@oicons);

if ($access{'stop'}) {
	print "<hr>\n";
	if (open(PID, $config{'sendmail_pid'})) {
		chop($pid = <PID>);
		close(PID);
		}
	if ($pid && kill(0, $pid)) {
		print "<table cellpadding=5 width=100%><tr><td>\n";
		print "<form action=stop.cgi>\n";
		print "<input type=hidden name=pid value=$pid>\n";
		print "<input type=submit value=\"$text{'index_stop'}\">\n";
		print "</td> <td>$text{'index_stopmsg'}\n";
		}
	else {
		print "<table cellpadding=5 width=100%><tr><td>\n";
		print "<form action=start.cgi>\n";
		print "<input type=submit value=\"$text{'index_start'}\">\n";
		print "</td> <td>",&text('index_startmsg',
		      "<tt>$config{'sendmail_command'}</tt>"),"\n";
		}
	print "</td></tr></table></form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

sub filter_icons
{
if (!$_[0]) {
	local $idx = &indexof($_[1], @olinks);
	splice(@olinks, $idx, 1);
	splice(@otitles, $idx, 1);
	splice(@oicons, $idx, 1);
	}
}

  07070100028756000041ed0000000000000001000000023d1ffb4600000000000000200000000000000000000000000000001400000003reloc/sendmail/lang   07070100028757000081a40000000000000002000000013d1fe2d300008613000000200000000000000000000000000000001700000003reloc/sendmail/lang/ca    index_title=Configuració de Sendmail
index_econfig=Sembla que el fitxer de configuració de sendmail $1 no existeix. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_eversion=No sembla que la versió del fitxer de configuració de sendmail sigui la més nova. Webmin només suporta de la versió 8.8 en amunt.
index_epath=L'executable sendmail $1 no està instal·lat al sistema. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta, o bé que el sendmail no estigui instal·lat.
index_return=a la configuració sendmail
index_stop=Atura Sendmail
index_stopmsg=Fes clic sobre aquest botó per aturar el procés sendmail en execució. Això impedirà que els usuaris locals rebin correu des d'altres sistemes, i també impedirà que puguin fer servir aquest sistema com a servidor de correu.
index_start=Inicia Sendmail
index_startmsg=Fes clic sobre aquest botó per iniciar el sendmail amb l'ordre $1. Fins que això no es faci, no es podrà lliurar correu als usuaris locals des d'altres sistemes ni els clients podran fer servir aquest sistema com a a servidor de correu.
index_version=Configuració Sendmail $1

opts_title=Opcions de Sendmail
opts_ecannot=No tens permís per editar les opcions del sendmail
opts_ds=Envia el correu sortint a través del host
opts_direct=Envia'l directament
opts_dr=Reenvia el noms d'usuari no qualificats al host
opts_dh=Reenvia el correu dels usuaris locals al host
opts_local=Lliura el correu localment
opts_queuela=Màxima càrrega mitjana de tramesa
opts_refusela=Màxima càrrega mitjana de recepció
opts_maxch=Màxim nombre de processos fills
opts_throttle=Màxim nombre de connexions / segon
opts_minqueueage=Temps mínim abans de reintentar la tramesa
opts_runsize=Mida màxima de la cua
opts_queuereturn=Temps abans de deixar-ho córrer
opts_queuewarn=Temps abans d'enviar un avís
opts_queue=Directori de la cua de correu
opts_postmaster=Envia els missatges d'error a
opts_forward=Fitxers de reenviament de l'usuari
opts_minfree=Espai lliure mínim al disc
opts_maxmessage=Mida màxima de missatge
opts_loglevel=Nivell de registre
opts_mimebounce=Codifica amb MIME els missatges rebotats
opts_default=Defecte
opts_save=Desa i Aplica
opts_err=No he pogut desar les opcions
opts_ehost='$1' no és un nom de host o de domini vàlid
opts_einvalid='$1' no és un valor vàlid de '$2'
opts_blame=Opcions de seguretat de fitxers
opts_selected=Selecciona...
opts_blocks=blocs
opts_bytes=bytes
opts_dmode=Mode de lliurament
opts_background=En segon pla
opts_queue-only=Posa en cua
opts_interactive=Interactiu
opts_deferred=Diferit
opts_gecos=Accepta correu amb el nom real de l'usuari
opts_hops=Màxim nombre de salts del correu
opts_daemon=Opcions del port SMTP

aliases_title=Àlies de Correu
aliases_ecannot=No tens permís per editar àlies
aliases_addr=Adreça
aliases_to=Àlies de...
aliases_type1=Adreça $1
aliases_type2=Adreça del fitxer $1
aliases_type3=Fitxer $1
aliases_type4=Programa $1
aliases_type5=Fitxer d'autoresposta $1
aliases_type6=Aplica el fitxer de filtre $1
aliases_none=Cap
aliases_return=a la llista d'àlies
aliases_toomany=Hi ha massa àlies de correu al sistema com per mostrar-los en aquesta pàgina.
aliases_go=Busca àlies que coincideixin amb:

aform_ecannot=No tens permès d'editar aquest àlies
aform_type0=Cap
aforem_type1=Adreça de correu
aforem_type2=Adreces del fitxer
aforem_type3=Escriu al fitxer
aforem_type4=Lliura-ho al programa
aforem_type5=Autoresposta del fitxer
aforem_type6=Aplica fitxer de filtre
aforem_edit=Edició d'Àlies
aforem_create=Creació d'Àlies
aforem_name=Adreça
aforem_enabled=Activada
aforem_val=Àlies de
aforem_afile=Edita...
aforem_return=a l'àlies

afile_title=Edició del Fitxer d'Adreces
afile_desc=Fes servir l'àrea de text de sota per editar les adreces del fitxer $1.
afile_efile=No tens permís per editar $1.
afile_undo=Desfés els canvis
afile_ewrite=No he pogut escriure al fitxer d'adreces: $1

ffile_title=Edita el Fitxer de Filtre
ffile_desc=Fes servir el formulari de sota per establir les regles de filtratge del fitxer $1.
ffile_efile=No tens permís per editar $1.
ffile_line=Si el camp $1 $2 $3, llavors reenvia a $4
ffile_from=de
ffile_to=per a
ffile_subject=títol
ffile_cc=CC
ffile_body=cos
ffile_what0=no coincideix
ffile_what1=coincideix
ffile_other=Altrament reenvia a $1
ffile_err=No he pogut desar el fitxer de filtre
ffile_ematch=Hi falta el patró
ffile_eaction=Hi falta l'adreça de reenviament

rfile_title=Edició del Fitxer d'Autoresposta
rfile_desc=Fes servir l'àrea de text de sota per editar el missatge d'autoresposta de $1. El missatge pot contenir les macros $SUBJECT, $FROM, $TO, $DATE i $BODY, que s'expandiran quan s'activi l'autoresposta.
rfile_efile=No tens permís per editar $1.
rfile_undo=Desfés els canvis

asave_err=No he pogut desar l'àlies
asave_ecannot2=No tens permís per editar l'àlies
asave_ecannot=No tens permís per editar aquest àlies
asave_emax=No tens permís per crear més de $1 àlies
asave_eaddr='$1' no és una adreça vàlida
asave_ealready=Ja existeix un àlies de '$1'
asave_ematch=Només tens permís per crear àlies que coincideixin amb '$1'
asave_etype=No pots crear àlies d'aquesta mena
asave_etype1='$1' no és una adreça de correu vàlida
asave_etype2=El fitxer d'adreces '$1' no és vàlid o no existeix
asave_etype3='$1' no és un nom de fitxer vàlid
asave_etype4='$1' no és un programa vàlid o no existeix
asave_etype5=El fitxer d'autoresposta '$1' no és vàlid
asave_etype4none=No has donat cap programa
asave_etype6=El fitxer de filtre '$1' no és vàlid
asave_esame=Només tens permès de crear un àlies amb el mateix nom que el teu nom d'usuari Webmin

cws_title=Dominis Locals
cws_ecannot=No tens permís per editar els dominis locals
cws_domains=Dominis gestionats per aquest servidor
cws_desc1=Apart del correu a $1, sendmail només acceptarà el lliurament local per als dominis i noms de host llistats a la caixa de text de l'esquerra. Si vols que el servidor de correu gestioni dominis de correu múltiples, han d'estar tots llistats en aquest formulari.
cws_desc2=Tingues en compte que el sol fet d'incloure un domini a la llista, normalment no n'hi ha prou. Has d'assegurar també que hi ha algun registre DNS d'aquest domini, i que apunta al teu sistema.
cws_err=No he pogut desar els dominis locals
cws_ehost='$1' no és un nom de host o de domini vàlid
cws_eip='$1' és una adreça IP no un domini

masq_title=Emmascarament de Dominis
masq_ecannot=No tens permís per configurar l'emmascarament
masq_domain=Emmascara com a domini
masq_domains=Dominis per emmascarar
masq_desc1=Si es dóna un domini aquí sobre, el sendmail alterarà l'adreça <tt>From</tt> de tots els missatges sortints de manera que sembli que provenen d'aquest domini. A més a més, tots els missatges que passin a través del sistema des d'un dels hosts o dominis llistats a l'esquerra, també tindran la seva adreça <tt>From</tt> modificada de la mateixa forma. Tingues en compte que tot emmascarament de dominis definida aquí es pot redefinir per a usuaris específics fent servir la pàgina <a href='$1'>Adreces de Sortida</a> page.
masq_desc2=Aquesta característica pot ser útil si vols que el correu del teu sistema aparenti venor del nom del domini, més que no pas del nom del host, o bé si el teu sistema és el concentrador de correu d'un cert nombre d'altres hosts que executen els seus propis servidors de correu.
masq_err=No he pogut desar l'emmascarament del domini
masq_edomain='$1' no és un nom de domini vàlid per a un emmascarament
masq_ehost='$1' no és un nom vàlid de host ni de domini
masq_eip='$1' és una adreça IP, no un domini

trusts_title=Usuaris Fiables
trusts_ecannot=No tens permís per editar els usuaris fiables
trusts_users=Usuaris locals fiables de sendmail
trusts_desc=Si un usuari local prova d'enviar correu, el sendmail només li permetrà de donar una adreça <tt>From:</tt> diferent si l'usuari és a la llista de l'esquerra. Aquesta restricció existeix per evitar que els usuaris falsifiquin correu amb adreces <tt>From:</tt> simulades des del teu sistema.
trusts_err=No he pogut desar els usuaris fiables
trusts_euser='$1' no és un usuari vàlid

virtusers_title=Mapejat d'Adreces
virtusers_ecannot=No tens permís per editar el mapejat d'adreces
virtusers_efeature=La configuració del teu sendmail no té activada la característica de mapejat d'adreça (<tt>virtuser</tt>). <a href='$1'>Fes clic aquí</a> per configurar característiques de sendmail.
virtusers_efile=El fitxer de text $1 a partir del qual es construeix la base de dades de mapejat $2 no existeix. Pot ser que hagis de modificar la <a href='$3'>configuració del mòdul</a> per fer servir el camí correcte.
virtusers_createfile=O, si aquesta característica ja està activada, <a href='$1'>fes clic aquí</a> per crear el fitxer.
virtusers_desc1=El mapejat d'adreces és similar als <a href='$1'>àlies</a>, però està més adaptat a a un sistema que gestiona dominis múltiples de correu. Es poden fer servir per redireccionar el correu de tot un domini a una adreça, gestionar els usuaris amb el mateix nom sota dominis diferents, o mapejar tot el correu d'un domini a un altre.
virtusers_desc2=Tingues en compte que hi ha d'haver una entrada a la taula de <a href='$1'>dominis locals</a> per als dominis que es fan servir per mapejar adreces, i hi ha d'haver un registre MX de DNS per cada domini que apunti al teu sistema.
virtusers_for=Correu de...
virtusers_to=Envia'l a...
virtusers_error=Error $1
virtusers_domain=Domini $1
virtusers_address=Adreça $1
virtusers_return=a la llista de mapejat d'adreces
virtusers_toomany=Hi ha massa mapejats d'adreces al sistema com per mostrar-los en aquesta pàgina.
virtusers_go=Busca mapejats d'adreces que coincideixin amb:

vform_edit=Edició de Mapejat
vform_create=Creació de Mapejat
vform_for=Correu de
vform_address=Adreça
vform_domain=Domini
vform_to=Envia'l a
vform_msg=missatge
vform_error=Retorna error
vform_err_nouser=nouser
vform_err_nohost=nohost
vform_err_unav=unavailable
vform_err_temp=tempfail
vform_err_proto=protocol
vform_end=Desplaça al final
vform_ecannot=No tens permís per editar aquest mapejat d'adreces

vsave_ecannot=No tens permís per editar mapeigs d'adreces
vsave_ecannot2=No tens permís per editar aquest mapejat d'adreces
vsave_emax=No tens permís per crear més de $1 mapeigs d'adreces
vsave_err=No he pogut desar el mapejat d'adreces
vsave_efrom='$1' no és una adreça vàlida
vsave_efromdup=El mapejat de l'adreça '$1' ja està definit
vsave_edom='$1' no és un domini vàlid
vsave_edomdup=El mapejat de l'adreça '$1' ja està definit
vsave_ematch=L'adreça font no coincideix amb '$1'
vsave_esame=Només tens permès de crear mapejats d'adreces per al teu nom d'usuari
vsave_ecannot3=No tens permís per crear mapeigs d'adreces
vsave_eaddr='$1' no és una adreça vàlida
vsave_ecannot4=No tens permís per crear mapeigs de dominis
vsave_edomdom=A un domini només s'hi pot mapejar un altre domini
vsave_ecannot5=No tens permís per crear mapeigs que retornin error

mailers_title=Encaminament de Dominis
mailers_cannot=No tens permís per editar l'encaminament de dominis
mailers_edirective=El teu fitxer de configuració del sendmail no té la directiva necessària per encaminar dominis.
mailers_efeature=La configuració del teu sendmail no té activada la característica d'encaminament de dominis (<tt>mailertable</tt>). <a href='$1'>Fes clic aquí</a> per configurar característiques de sendmail.
mailers_efile=El fitxer de text $1 a partir del qual es construeix la base de dades d'encaminament $2 no existeix. Pot ser que hagis de modificar la <a href='$3'>configuració del mòdul</a> per fer servir el camí correcte.
mailers_desc1=L'encaminament de dominis ofereix una forma per definir un mètode especial de transferència de correu entre certs dominis. Això pot ser útil si el teu sistema és un portal de servidors de correu que no són accessibles des de fora de la xarxa, o bé si vols forçar l'encaminament de tot el correu d'un domini en particular cap a un altre servidor.
mailers_desc2=Cal que <b>no</b> hi hagi cap entrada a la llista de <a href='$1'>dominis locals</a> de cap domini encaminat. Tanmateix, cal que tinguis un registre MX de DNS apuntant al teu sistema per a tots els dominis a qui fa de portal.
mailers_for=Correu de...
mailers_delivery=Lliurament
mailers_to=Envia'l a...
mailers_return=a la llista de rutes de dominis

mform_edit=Edició d'Encaminament
mform_create=Creació d'Encaminament
mform_for=Correu de
mform_host=Host
mform_domain=Domini
mform_delivery=Lliurament
mform_to=Envia'l a
mform_ignore=Ignora els MX per al lliurament SMTP
mform_smtp=SMTP
mform_esmtp=SMTP ampliat
mform_smtp8=SMTP 8 bits
mform_relay=Repetidor SMTP
mform_local=Usuari local
mform_prog=Lliura'l al programa
mform_uucp=UUCP
mform_usenet=Penja'l a USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Error
mform_ecannot=No tens permís per editar l'encaminament de domini

msave_ecannot=No tens permís per editar l'encaminament de domini
msave_err=No he pogut desar l'encaminament de domini
msave_edomain='$1' no és un nom vàlid de host ni de domini
msave_edup=L'encaminament de domini de '$1' ja està definit

generics_title=Adreces de Sortida
generics_cannot=No tens permís per editar adreces de sortida
generics_econfig=El teu fitxer de configuració del sendmail no té la directiva necessària per mapejar adreces de sortida.
generics_efeature=La configuració del teu sendmail bo té activada la característica de mapeig d'adreça sortint (<tt>generics</tt>). <a href='$1'>Fes clic aquí</a> per configurar característiques de sendmail.
generics_efile=El fitxer de text $1 a partir del qual es construeix la base de dades d'adreces de sortida no existeix. Pot ser que hagis de modificar la <a href='$3'>configuració del mòdul</a> per fer servir el camí correcte.
generics_desc1=El mapejat d'adreces de sortida permet modificar les adreces <tt>From:</tt> del correu enviat des del sistema, o a través del sistema des d'altres hosts de la teva xarxa local. Això pot ser útil si estàs hostatjant múltiples dominis dins d'un sistema i vols que el correu de certs usuaris sembli provenir d'un domini diferent.
generics_desc2=Tingues en compte que hi ha d'haver una entrada a la taula de <a href='$1'>dominis de sortida</a> per cada domini que tingui adreces de sortida mapejades. Pensa també que el mapejat d'adreces de sortida no funciona amb el correu que es lliura als usuaris locals.
generics_from=Correu de...
generics_to=Canvia a...
generics_return=a la llista de mapejat d'adreces
generics_toomany=Hi ha massa adreces sortints al sistema com per poder-les mostrar ien aquesta pàgina.
generics_go=Busca adreces de sortida que coincideixin amb:

gform_edit=Edició de Mapejat
gform_create=Creació Mapejat
gform_from=Correu de
gform_to=Canvia a
gform_ecannot=No tens permís per editar aquesta adreça de sortida

gsave_ecannot=No tens permís per editar adreces de sortida
gsave_ecannot2=No tens permís per editar aquesta adreça de sortida
gsave_err=No he pogut desar les adreces de sortida
gsave_efrom='$1' no és una adreça de procedència vàlida
gsave_ematch=L'adreça de procedència no coincideix amb '$1'
gsave_eto='$1' no és una nova adreça vàlida

cgs_title=Dominis de Sortida
cgs_ecannot=No tens permís per editar dominis de sortida
cgs_header=Adreces de sortida de dominis
cgs_desc=A part del correu enviat pels usuaris locals, el sendmail mapejarà les <a href='$1'>adreces de sortida</a> només per al correu provinent dels hosts i dominis llistats a la caixa de text de la dreta. Així, per tal que una entrada d'adreça de sortida funcioni, el domini de l'adreça origen ha d'estar inclòs en aquesta llista.
cgs_err=No he pogut desar els dominis de sortida
cgs_ehost='$1' no és un nom vàlid de host ni de domini
cgs_eip='$1' és una adreça IP, no un domini

domains_title=Mapejat de Dominis
domains_ecannot=No tens permís per editar el mapejat de dominis
domains_econfig=El fitxer de configuració del sendmail no té la directiva necessària per mapejar dominis.
domains_efeature=La configuració del teu sendmail no té activada la característica de mapeig de dominis (<tt>domaintable</tt>). <a href='$1'>Fes clic aquí</a> per configurar característiques de sendmail.
domains_efeature=La configuració de sendmail no té activada la característica de mapejat de dominis (<tt>domaintable</tt>). <a href='$1'>Fes clic aquí</a> per configurar les característiques de sendmail.
domains_efile=El fitxer de text $1 a partir del qual es construeix la base de dades de mapejat de dominis $2 no existeix. Pot ser que hagis de modificar la <a href='$3'>configuració del mòdul</a> per fer servir el camí correcte.
domains_desc=El mapejat de dominis modifica l'adreça <tt>To:</tt> dels missatges enviats des de, reenviats a través de o lliurats al teu sistema. Les adreces <tt>From:</tt> dels missatges reenviats i els missatges per als usuaris locals també es modifiquen. Això pot ser útil si el teu nom de domini canvia, i vols canviar totes les ocurrències del domini antic al nou.
domains_from=Del domini...
domains_to=Al domini...
domains_return=a la llista de mapejat d'adreces

dform_edit=Edició de Mapejat
dform_create=Creació de Mapejat
dform_from=Del domini
dform_to=Al domini
dform_ecannot=No tens permís per editar mapeigs de dominis

dsave_ecannot=No tens permís per editar mapeigs de dominis
dsave_err=No he pogut desar el mapejat de dominis
dsave_edomain='$1' no és un nom de domini vàlid

access_title=Control de Spam
access_ecannot=No tens permís per configurar el control de <i>spam</i>
access_efeature=La configuració del teu sendmail no té activada la característica de control de spam (<tt>access_db</tt>). <a href='$1'>Fes clic aquí</a> per configurar característiques de sendmail.
access_efile=El fitxer de text $1 a partir del qual es construeix la base de dades del control de <i>spam</i> $2 no existeix. Pot ser que hagis de modificar la <a href='$3'>configuració del mòdul</a> per fer servir el camí correcte.
access_desc1=La característica de control de <i>spam</i> del sendmail impedeix que arribi <i>spam</i> als usuaris rebutjant-lo des de certes adreces, i impedeix els remitents de fer servir el teu sistema per reenviar correu. Per defecte, el sendmail acceptarà correu des de qualsevol adreça per a un usuari local, però impedirà que qualsevol altre client o servidor reenvii correu a través del teu servidor. Generalment, és desitjable afegir regles de control de <i>spam</i> per rebutjar el correu <i>spam</i>, i regles per permetre a les altres màquines de la teva xarxa de reenviar correu a través del teu sistema.
access_desc2=Tingues en compte que, per defecte, el sendmail deixarà que els clients de correu executant-se localment enviïn correu via SMTP a qualsevol lloc. Així doncs, no hi ha cap necessitat d'afegir la xarxa local <tt>127.0.0</tt> a la llista de tots aquells que tenen permès d'enviar.
access_source=Origen...
access_action=Acció...
access_return=a la llista de control de <i>spam</i>
access_toomany=Hi ha massa regles de control de spam al sistema com per mostrar-les en aquesta pàgina.
access_go=Busca regles de control de spam que coincideixin amb:

sform_edit=Edició de Regla de Control de Spam
sform_create=Creació de Regla de Control de Spam
sform_source=Origen del correu
sform_type0=Adreça de Correu
sform_type1=Xarxa
sform_type2=Usuari
sform_type3=Domini
sform_action=Acció
sform_ok=Accepta
sform_relay=Denega la reemissió
sform_reject=Rebutja
sform_discard=Descarta en silenci
sform_err=Codi d'error
sform_msg=Missatge
sform_ecannot=No tens permís per configurar el control de <i>spam</i>

ssave_ecannot=No tens permís per configurar el control de <i>spam</i>
ssave_err=No he pogut desar la regla de control de <i>spam</i>
ssave_etype0='$1' no és una adreça vàlida
ssave_etype1='$1' no és una adreça de xarxa vàlida
ssave_etype2='$1' no és un nom d'usuari vàlid
ssave_etype3='$1' no és un nom de domini vàlid
ssave_ecode='$1' no és un codi d'error SMTP vàlid
ssave_ealready=Ja existeix una regla de control de spam '$1'

relay_title=Dominis de Reemissió
relay_ecannot=No tens permís per editar dominis de reemissió
relay_eversion=La característica de dominis de reemissió només està suportada pel sendmail versió 8.9 i posteriors.
relay_domains=Dominis pels quals la reemissió està permesa
relay_desc1=A menys que estigui permès per les regles de <a href='$1'>control de <i>spam</i></a>, el sendmail només permetrà la reemissió dels dominis llistats a la caixa de text de l'esquerra. Els missatges d'entrada que no són per a un usuari local ni per a un dels dominis llistats, serà rebutjat.
relay_desc2=Si el sistema està fent de portal de diferents dominis que no són directament accessibles des de fora de la xarxa local (fent servir la característica d'<a href='$1'>encaminament de dominis</a>), llavors tots aquests dominis haurien d'estar llistats aquí.
relay_err=No he pogut desar els dominis de reemissió
relay_edomain='$1' no és un nom de domini vàlid

mailq_title=Cua de Correu
mailq_count=$1 missatges
mailq_ecannot=No tens permís per veure la cua de correu
mailq_id=ID del correu
mailq_sent=Enviat
mailq_from=Des de
mailq_to=Per a
mailq_size=Mida
mailq_status=Estat
mailq_unknown=Desconegut
mailq_sending=Enviant
mailq_dmsg=Per veure un missatge de la cua de correu, fes clic sobre el seu ID a la llista anterior.
mailq_force=Per forçar el lliurament immediat del correu a la cua, fes clic, <a href='$1'>aquí</a>.
mailq_none=No hi ha cap missatge per repartir a la cua
mailq_delete=Suprimeix els missatges seleccionats
mailq_return=a la cua de correu
mailq_flush=Buida la Cua de Correu
mailq_flushdesc=Fes clic sobre aquest botó per forçar la tramesa immediata de tots els missatges en cua i mostrar-ne els resultats.

flushq_title=Buidat de la Cua
flushq_desc=Forçant el lliurament del correu amb l'ordre $1...

delq_title=Supressió de Missatges
delq_err=No he pogut suprimir el missatge
delq_ecannot=No tens permís per treure missatges de la cua
delq_locked=El fitxer està en aquests moments bloquejat per enviar
delq_enone=No has seleccionat cap missatge per suprimir
delq_file=Suprimint el fitxer de correu $1...
delq_efile=nom de fitxer invàlid!
delq_egone=ja ha estat suprimit o enviat
delq_elocked=bloquejat per enviar
delq_ok=supressió satisfactòria

boxes_title=Bústies d'Usuaris
boxes_user=Usuari
boxes_size=Mida de la bústia
boxes_none=No hi ha correu
boxes_return=a les bústies de correu
boxes_sent=Correu enviat
boxes_ecannot=No tens permís per llegir correu
boxes_toomany=Hi ha massa usuaris al sistema com per llistar-ne totes les bústies.
boxes_go=Veure el correu de l'usuari:

mail_title=Correu d'Usuari
mail_from=De
mail_date=Data
mail_subject=Títol
mail_to=Per a
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Prioritat
mail_highest=Màxima
mail_high=Alta
mail_normal=Normal
mail_low=Baixa
mail_lowest=Mínima
mail_for=A $1
mail_for2=Per l'usuari $1
mail_sent=A la llista de correu enviat
mail_size=Mida
mail_delete=Suprimeix els seleccionats
mail_compose=Redacta
mail_return=a la bústia de l'usuari
mail_pos=Missatges $1 al $2 de $3
mail_none=Aquesta bústia no té missatges
mail_ecannot=No tens permís per llegir el correu d'aquest usuari
mail_all=Selecciona'ls tots
mail_invert=Inverteix la selecció
mail_search=Busca missatges tals que
mail_body=el cos
mail_match=coincideixi amb
mail_ok=Busca
mail_nonefrom=Cap
mail_mark=Marca els seleccionats com:
mail_mark0=No llegits
mail_mark1=Llegits
mail_mark2=Especials
mail_forward=Reenvia els seleccionats
mail_rfc=De la línia

view_title=Lectura de Correu
view_desc=Missatge $1 de $2
view_desc2=Missatge $1 de l'usuari $2
view_desc3=Missatge $1
view_sent=Missatge $1 de la llista de correu enviat
view_qdesc=He posat en cua el missatge $1
view_headers=Capçaleres de correu
view_attach=Adjuncions
view_reply=Respon
view_reply2=Respon a tothom
view_allheaders=Mostra totes les capçaleres
view_noheaders=Mostra les capçaleres bàsiques
view_enew=Edita com a nou
view_forward=Reenvia
view_delete=Suprimeix
view_strip=Treu les Adjuncions
view_ecannot=No tens permís per llegir el correu d'aquest usuari
view_mark=Marca el missatge com:
view_mark0=No llegit
view_mark1=Llegit
view_mark2=Especial
view_return=al correu original
view_sub=Correu Adjunt

compose_title=Redacció de Correu
reply_title=Respon al Correu
forward_title=Reenvia al Correu
reply_headers=Capçaleres de correu
reply_attach=Reenvia les adjuncions
reply_mailforward=Missatges reenviats
reply_attach2=Adjuncions de client i de la part del servidor
reply_send=Envia Correu
reply_ecannot=No tens permís per enviar correu amb aquest usuari

send_err=No he pogut enviar el correu
send_eto=Hi falta l'adreça de destinació
send_efrom=Hi falta l'adreça del remitent
send_title=Correu Enviat
send_ok=Correu enviat a $1 amb èxit
send_ecannot=No tens permís per enviar correu amb aquest usuari
send_esmtp=L'ordre SMTP $1 ha fallat: $2
send_efile=El fitxer adjunt $1 no existeix
send_eattach=Les adjuncions no poden fer més de $1 Kb en total.
send_eperms=L'usuari $1 no pot llegir $2
send_epath=L'executable $1 de sendmail no existeix.
send_eperms2=No tens permís per enviar el fitxer $1

delete_ecannot=No tens permís per suprimir correus d'aquest usuari
delete_enone=No has seleccionat cap correu per suprimir
delete_emnone=No has seleccionat cap correu per marcar

search_title=Resultats de la Recerca
search_ecannot=No tens permís per buscar dins del correu d'aquest usuari
search_ematch=Has d'introduir el text de la recerca
search_none=No s'ha trobat cap missatge.
search_results=$1 missatges de correu que coincideixen amb $2...
search_results3=$1 missatges de correu que no coincideixen amb $2...

file_title=Edició de Fitxer Sendmail
file_desc=Fes servir la caixa de text de sota per editar manualment el fitxer $1 de sendmail.
file_undo=Desfés els canvis
file_edit=Edita manualment $1
file_ealiases=Només pots editar un fitxer d'àlies si tens accés a tots els àlies.
file_evirtusers=Només pots editar el fitxer de mapejat d'adreces si tens accés a tots els mapeigs d'adreces.
file_emailers=No tens permís per editar el fitxer d'encaminament de dominis.
file_egenerics=Només pots editar el fitxer d'adreces de sortida si tens accés a totes les adreces de sortida.
file_edomains=No tens permís per editar el fitxer de mapejat de dominis.
file_eaccess=No tens permís per editar el fitxer de control de <i>spam</i>.
file_emode=Mode desconegut!
file_err=No he pogut editar el fitxer

acl_opts=Pot editar les opcions del sendmail
acl_cws=Pot editar els dominis locals
acl_masq=Pot configurar l'emmascarament de dominis
acl_trusts=Pot editar els usuaris fiables
acl_cgs=Pot editar els dominis de sortida
acl_relay=Pot editar els dominis de reenviament
acl_mailers=Pot configurar l'encaminament de dominis
acl_access=Pot configurar el control de <i>spam</i>
acl_domains=Pot configurar el mapejat de dominis
acl_stop=Pot iniciar i aturar el sendmail?
acl_mailq=Pot gestionar la cua de correu
acl_viewdel=Veure i suprimir
acl_view=Només veure
acl_virtusers=Mapeigs d'adreces que aquest usuari pot editar
acl_none=Cap
acl_same=Usuari amb el mateix nom
acl_vsame=Que comença amb nomusuari@
acl_all=Tots
acl_matching=Els que coincideixin amb
acl_vtypes=Tipus de mapejat d'adreces que aquest usuari pot editar
acl_vtype0=Retorna error
acl_vtype1=Al domini
acl_vtype2=A l'adreça
acl_vmax=Nombre màxim de mapeigs d'adreces
acl_unlimited=Il·limitat
acl_aliases=Àlies que aquest usuari pot editar
acl_atypes=Tipus d'àlies que aquest usuari pot editar
acl_atype1=Adreça de correu
acl_atype2=Adreces del fitxer
acl_atype3=Escriu al fitxer
acl_atype4=Lliura-ho al programa
acl_atype5=Autoresposta
acl_atype6=Fitxer de filtre
acl_amax=Nombre màxim d'àlies
acl_outgoing=Adreces de sortida que aquest usuari pot editar
acl_read=Usuaris el correu dels quals pot ser llegit
acl_users=Només els usuaris
acl_userse=Tots excepte els usuaris
acl_usersg=Membres del grup
acl_from=Adreces From permissibles
acl_any=Qualsevol adreça
acl_fdoms=Dominis @ de bústia
acl_faddrs=Adreces llistades
acl_fdom=Qualsevol domini @ d'adreça
acl_fromname=Nom real per a l'adreça From
acl_apath=Limita els fitxers i el programa al directori
acl_attach=Mida màxima total de les adjuncions
acl_sent=Emmagatzema el correu enviat a la bústia
acl_canattach=Pot adjuntar fitxers de la part del servidor
acl_boxname=Mostra el nom de la bústia com
acl_boxname0=Nom de fitxer
acl_boxname1=Nom real de l'usuari
acl_boxname2=Res
acl_usersm=Usuaris que coincideixen amb
acl_asame=Igual que el nom de l'usuari

log_opts=He canviat les opcions del sendmail
log_alias_create=He creat àlies $1
log_alias_modify=He modificat l'àlies $1
log_alias_delete=He suprimit l'àlies $1
log_alias_manual=He editat manualment el fitxer d'àlies $1
log_cws=He canviat els dominis locals
log_masq=He canviat l'emmascarament de dominis
log_trusts=He canviat els usuaris fiables
log_virtuser_create=He creat el mapejat d'adreça $1
log_virtuser_modify=He modificat el mapejat d'adreça $1
log_virtuser_delete=He suprimit el mapejat d'adreça $1
log_virtuser_manual=He editat manualment el fitxer de mapejat d'adreces $1
log_mailer_create=He creat l'encaminament de dominis $1
log_mailer_modify=He modificat l'encaminament de dominis $1
log_mailer_delete=He suprimit l'encaminament de dominis $1
log_mailer_manual=He editat manualment el fitxer d'encaminament de dominis $1
log_generic_create=He creat l'adreça de sortida $1
log_generic_modify=He modificat l'adreça de sortida $1
log_generic_delete=He suprimit l'adreça de sortida $1
log_generic_manual=He editat manualment el fitxer d'adreces de sortida $1
log_cgs=He canviat els dominis de sortida
log_domain_create=He creat el mapejat de domini $1
log_domain_modify=He modificat el mapejat de domini $1
log_domain_delete=He suprimit el mapejat de domini $1
log_domain_manual=He editat manualment el fitxer de el mapejat de dominis $1
log_access_create=He creat el control de de <i>spam</i> de $1
log_access_modify=He modificat el control de <i>spam</i> de $1
log_access_delete=He suprimit el control de <i>spam</i> de $1
log_access_manual=He editat manualment el fitxer de control de <i>spam</i> de $1
log_relay=He canviat els dominis de reenviament
log_flushq=He buidat la cua de correu
log_delmailq=He suprimit correu de $1 de la cua
log_delmailqs=He suprimit $1 correus de la cua
log_stop=He aturat el dimoni del sendmail
log_start=He iniciat el dimoni del sendmail
log_delmail=He suprimit $1 missatges de $2
log_send=He enviat el correu a $1
log_feature_create=He afegit l'entrada M4 $1
log_feature_modify=He modificat l'entrada M4 $1
log_feature_delete=He suprimit l'entrada M4 $1
log_feature_move=He desplaçat l'entrada M4 $1

match_from=Coincidències amb From:
match_subject=Coincidències amb Subject:
match_to=Coincidències amb To:
match_cc=Coincidències amb Cc:
match_date=Coincidències amb Date:
match_body=Coincidències amb el cos
match_size=La mida és més gran de
match_!from=From: no hi coincideix
match_!subject=Subject: no hi coincideix
match_!to=To: no hi coincideix
match_!cc=Cc: no hi coincideix
match_!date=Date: no hi coincideix
match_!body=El cos no hi coincideix
match_!size=La mida és menor de

features_title=Configuració M4 de Sendmail
features_desc=Aquesta pàgina llista les entrades rellevants del fitxer de configuració M4 $1 de Sendmail, a partir del qual es construeix de fet el fitxer de configuració $2.
features_type=Tipus d'entrada
features_value=Línia del fitxer de configuració
features_type0=Altres
features_type1=Característica
features_type2=Defineix
features_type3=Indefineix
features_type4=Lliurador
features_type5=Tipus d'OS
features_add=Afegeix una nova entrada del tipus:
features_build=Reconstrueix la Configuració de Sendmail
features_buildmsg=Fes clic sobre aquest botó per reconstruir el fitxer de configuració de Sendmail $1 a partir de les entrades de configuració M4 llistades més amunt.
features_return=a la configuració M4
features_emc=No s'ha trobat al sistema el fitxer $2 de configuració M4 de Sendmail M4. Pot ser que no estigui instal·lat (freqüent en instal·lacions empaquetades de Sendmail), o bé que la <a href='$1'>configuració del mòdul</a> sigui incorrecta.
features_efeatures=No s'ha trobat al sistema el directori de base de la configuració M4 de Sendmail, o bé no és el directori correcte. Pot ser que no estigui instal·lat (freqüent en instal·lacions empaquetades de Sendmail), o bé que la <a href='$1'>configuració del mòdul</a> sigui incorrecta.
features_move=Desplaça
features_econfig=No s'ha establert la ubicació del directori base M4 de Sendmail ni el fitxer de configuració M4 a la <a href='$1'>configuració del mòdul</a>. Si has instal·lat Sendmail de fonts, haurien d'estar al directori font original.
 
feature_add=Addició d'Entrada de Configuració
feature_edit=Edició d'Entrada de Configuració
feature_header=Detalls de l'entrada de configuració M4
feature_text=Línia de configuració
feature_feat=Característica
feature_values=Paràmetres
feature_def=Nom de la definició
feature_defval=Valor
feature_defmode1=Estableix
feature_defmode0=Indefineix
feature_mailer=Mètode de lliurament de correu
feature_ostype=Tipus de sistema operatiu
feature_old=Línia de configuració actual
feature_err=No he pogut desar l'entrada de configuració
feature_efeat=La característica $1 ja existeix
feature_edef=La definició $1 ja existeix
feature_emailer=El lliurador $1 ja existeix
feature_eostype=El tipus de SO ja està definit com $1

feat_access_db=Fitxer de control de spam
feat_virtusertable=Mapejat d'Adreça
feat_mailertable=Encaminament de Dominis
feat_genericstable=Adreces de Sortida
feat_domaintable=Mapejat de Dominis

mailer_local=Lliurament Unix local
 
build_title=Reconstrucció de la Configuració Sendmail
build_em4=No s'ha trobat al sistema l'ordre $1 necessària per a reconstruir el fitxer de configuració de Sendmail.
build_ebuild=No he pogut construir la configuració: $1
build_rusure=Segur que vols substituir el fitxer de configuracio de Sendmail $1 amb una nova versió feta a partir de $2?
build_rusure2=Tingues en compte que si has fet canvis al Sendmail a la pàgina d'Opcions de Sendmail, reconstruir el fitxer de configuració ignorarà aquests canvis si no els has fet també al fitxer M4.
build_ok=Sí, substitueix-lo ara mateix
build_diff=Es faran els canvis següents al fitxer de configuració de Sendmail...
build_nodiff=El fitxer de configuració de sendmail ja està actualitzat.

 07070100028758000081a40000000000000002000000013d1fe2d300004af7000000200000000000000000000000000000001700000003reloc/sendmail/lang/cz    index_title=Sendmail Configuration
index_econfig=The sendmail config file $1 does not exist. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Your sendmail config file does not appear to be for the latest sendmail version. Webmin only supports versions 8.8 and above.
index_epath=The sendmail executable $1 is not installed on your system. Maybe your <a href='$2'>module configuration</a> is incorrect, or sendmail is not installed.
index_return=sendmail configuration
index_stop=Stop Sendmail
index_stopmsg=Click this button to stop the running sendmail process. This will stop mail from being delivered to local users from other systems, and prevent clients using this system as a mail server from sending mail.
index_start=Start Sendmail
index_startmsg=Click this button to start sendmail with the command $1. Until this is done mail will not be delivered to local users from other systems, and clients will not be able to use this system as a mail server.

opts_title=Sendmail Options
opts_ecannot=You are not allowed to edit sendmail options
opts_ds=Send outgoing mail via host
opts_direct=Deliver directly
opts_dr=Forward unqualified usernames to host
opts_dh=Forward mail for local users to host
opts_local=Deliver locally
opts_queuela=Max load average for sending
opts_refusela=Max load average for receiving
opts_maxch=Max child processes
opts_throttle=Max connections / second
opts_minqueueage=Min time before retrying send
opts_runsize=Maximum queue size
opts_queuereturn=Time before giving up
opts_queuewarn=Time before sending warning
opts_queue=Mail queue directory
opts_postmaster=Send error messages to
opts_forward=User forward files
opts_minfree=Min free disk space
opts_maxmessage=Max message size
opts_loglevel=Log level
opts_mimebounce=MIME-encode bounce messages?
opts_default=Default
opts_save=Save and Apply
opts_err=Failed to save options
opts_ehost='$1' is not a valid host or domain name
opts_einvalid='$1' is not a valid value for '$2'
opts_blame=File security options
opts_selected=Selected..

aliases_title=Mail Aliases
aliases_ecannot=You are not allowed to edit aliases
aliases_addr=Address
aliases_to=Alias to..
aliases_type1=Address $1
aliases_type2=Addresses in file $1
aliases_type3=File $1
aliases_type4=Program $1
aliases_type5=Autoreply file $1
aliases_none=None
aliases_return=alias list

aform_type0=None
aform_type1=Email address
aform_type2=Addresses in file
aform_type3=Write to file
aform_type4=Feed to program
aform_type5=Autoreply from file
aform_edit=Edit Alias
aform_create=Create Alias
aform_name=Address
aform_enabled=Enabled?
aform_val=Alias to

asave_err=Failed to save alias
asave_ecannot2=You are not allowed to edit aliases
asave_ecannot=You are not allowed to edit this alias
asave_emax=You are not allowed to create more than $1 aliases
asave_eaddr='$1' is not a valid address
asave_ealready=An alias for '$1' already exists
asave_ematch=You are only allowed to create aliases matching '$1'
asave_etype=You cannot create aliases of this type
asave_etype1='$1' is not a valid email address
asave_etype2=Addresses file '$1' does not exist
asave_etype3='$1' is not a valid filename
asave_etype4='$1' is not a program or does not exist
asave_etype5=Autoreply file '$1' does not exist
asave_etype4none=No program given

cws_title=Local Domains
cws_ecannot=You are not allowed to edit local domains
cws_domains=Domains handled by this server
cws_desc1=Apart from mail to $1, sendmail will only accept for local delivery mail for domains and hostnames listed in the text box to the left. If you want your mail server to handle multiple email domains, they must all be listed on this form.
cws_desc2=Note that merely including a domain in the list is not usually enough. You must also make sure that a DNS record for the domain exists, and points to your system.
cws_err=Failed to save local domains
cws_ehost='$1' is not a valid host or domain name
cws_eip='$1' is an IP address, not a domain

masq_title=Domain Masquerading
masq_ecannot=You are not allowed to configure masquerading
masq_domain=Masquerade as domain
masq_domains=Domains to be masqueraded
masq_desc1=If a domain is given above, sendmail will alter the <tt>From</tt> address of all outgoing messages to appear to come from that domain. In addition, any email messages passing through your system from one of the hosts or domains listed to the left will also have their <tt>From</tt> addresses modified in the same way. Note that any domain masquerading defined here can be overriden for specific users using the <a href='$1'>Outgoing Addresses</a> page.
masq_desc2=This feature can be useful if you want email from your system to appear to come from your domain name rather than your hostname, or if your system is the mail hub for number of other hosts running their own mailservers.
masq_err=Failed to save domain masquerading
masq_edomain='$1' is not a valid domain to masquerade as
masq_ehost='$1' is not a valid host or domain name
masq_eip='$1' is an IP address, not a domain

trusts_title=Trusted Users
trusts_ecannot=You are not allowed to edit trusted users
trusts_users=Local users trusted by sendmail
trusts_desc=If a local user tries to send email, sendmail will only allow the user to provide a different <tt>From:</tt> address if the user is on the list to the left. This restriction exists to prevent users from forging email with faked <tt>From:</tt> addresses origination from your system.
trusts_err=Failed to save trusted users
trusts_euser='$1' is not a valid user

virtusers_title=Address Mapping
virtusers_ecannot=You are not allowed to edit address mappings
virtusers_edirective=Your sendmail configuration file does not have the necessary directive for address mapping.
virtusers_efile=The text file $1 from which the address mapping database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
virtusers_desc1=Address mappings are similar to <a href='$1'>aliases</a>, but are more suited to a system that handles multiple email domains. They can be used to redirect mail for an entire domain to one address, handle users with the same name in different domains, or map all mail from one domain to another.
virtusers_desc2=Note that you must have an entry in the <a href='$1'>local domains</a> table for any domains used for address mapping, and there must be a DNS MX record for each domain pointing to your system.
virtusers_for=Mail for..
virtusers_to=Send to..
virtusers_error=Error $1
virtusers_domain=Domain $1
virtusers_address=Address $1
virtusers_return=address mapping list

vform_edit=Edit Mapping
vform_create=Create Mapping
vform_for=Mail for
vform_address=Address
vform_domain=Domain
vform_to=Send to
vform_msg=message
vform_error=Return error
vform_end=Move to end
vform_ecannot=You are not allowed to edit this address mapping

vsave_ecannot=You are not allowed to edit address mappings
vsave_ecannot2=You are not allowed to edit this address mapping
vsave_emax=You are not allowed to create more than $1 address mappings
vsave_err=Failed to save address mapping
vsave_efrom='$1' is not a valid address
vsave_efromdup=Address mapping for '$1' is already defined
vsave_edom='$1' is not a valid domain
vsave_edomdup=Address mapping for '$1' is already defined
vsave_ematch=The source address does not match '$1'
vsave_ecannot3=You are not allowed to create mappings to addresses
vsave_eaddr='$1' is not a valid address
vsave_ecannot4=You are not allowed to create mappings to domains
vsave_edomdom=Only a domain can be mapped to another domain
vsave_ecannot5=You are not allowed to create mappings that return an error

mailers_title=Domain Routing
mailers_cannot=You are not allowed to edit domain routing
mailers_edirective=Your sendmail configuration file does not have the necessary directive for domain routing.
mailers_efile=The text file $1 from which the domain routing database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
mailers_desc1=Domain routing provides a way to define a special transfer method for mail to certain domains. This can be useful if your system is a gateway for mail servers that cannot be reached from outside your network, or if you want to force all mail for a particular domain to be routed through some other server.
mailers_desc2=You should <b>not</b> have an entry in the <a href='$1'>local domains</a> list for any routed domains. However, you should have a DNS MX record pointing to your system for any domains that it is a gateway for.
mailers_for=Mail for..
mailers_delivery=Delivery
mailers_to=Send to..
mailers_return=domain routing list

mform_edit=Edit Routing
mform_create=Create Routing
mform_for=Mail for
mform_host=Host
mform_domain=Domain
mform_delivery=Delivery
mform_to=Send to
mform_ignore=Ignore MX for SMTP delivery
mform_smtp=SMTP
mform_esmtp=Extended SMTP
mform_smtp8=8-bit SMTP
mform_relay=SMTP relay
mform_local=Local user
mform_prog=Feed to program
mform_uucp=UUCp
mform_usenet=Post to USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Error
mform_ecannot=You are not allowed to edit domain routing

msave_ecannot=You are not allowed to edit domain routing
msave_err=Failed to save domain routing
msave_edomain='$1' is not a valid host or domain
msave_edup=Domain routing for '$1' is already defined

generics_title=Outgoing Addresses
generics_cannot=You are not allowed to edit outgoing addresses
generics_econfig=Your sendmail configuration file does not have the necessary directive for outgoing address mapping.
generics_efile=The text file $1 from which the outgoing address database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
generics_desc1=Outgoing address mapping allows you to modify the <tt>From:</tt> addresses of mail send out from your system, or through your system by other hosts on your local network. This can be useful if you are hosting multiple domains on the one system, and want mail from some users to appear to come from a different domain.
generics_desc2=Note that you must have an entry in the <a href='$1'>outgoing domains</a> table for each domain which there are addresses you want outgoing mapping done for. Also note that outgoing address mapping does not work for mail being delivered to local users.
generics_from=Mail from..
generics_to=Change to..
generics_return=address mapping list

gform_edit=Edit Mapping
gform_create=Create Mapping
gform_from=Mail from
gform_to=Change to
gform_ecannot=You are not allowed to edit this outgoing address

gsave_ecannot=You are not allowed to edit outgoing addresses
gsave_ecannot2=You are not allowed to edit this outgoing address
gsave_err=Failed to save outgoing address
gsave_efrom='$1' is not a valid from address
gsave_ematch=The from address does not match '$1'
gsave_eto='$1' is not a valid new address

cgs_title=Outgoing Domains
cgs_ecannot=You are not allowed to edit outgoing domains
cgs_header=Outgoing address domains
cgs_desc=Apart from mail sent by local users, sendmail will only perform <a href='$1'>outgoing address</a> mapping for mail from hosts or domains listed in the text box to the right. Thus for an outgoing address entry to work the domain in the from address must be included in this list.
cgs_err=Failed to save outgoing domains
cgs_ehost='$1' is not a valid host or domain name
cgs_eip='$1' is an IP address, not a domain

domains_title=Domain Mapping
domains_ecannot=You are not allowed to edit domain mapping
domains_econfig=Your sendmail configuration file does not have the necessary directive for domain mapping.
domains_efile=The text file $1 from which the address mapping database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
domains_desc=Domain mapping modifies the <tt>To:</tt> address of messages sent out from, relayed through or delivered to users on your system. The <tt>From:</tt> address of relayed messages or messages to local users is also modified. This can be useful if your domain name changes, and you want to change all occurrances of the old domain to the new one.
domains_from=From domain..
domains_to=To domain..
domains_return=domain mapping list

dform_edit=Edit Mapping
dform_create=Create Mapping
dform_from=From domain
dform_to=To domain
dform_ecannot=You are not allowed to edit domain mapping

dsave_ecannot=You are not allowed to edit domain mapping
dsave_err=Failed to save domain mapping
dsave_edomain='$1' is not a valid domain name

access_title=Spam Control
access_ecannot=You are not allowed to configure spam control
access_econfig=Your sendmail configuration file does not have the necessary directive for spam control.
access_efile=The text file $1  from which the address mapping database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
access_desc1=Sendmail's spam control feature allows you to prevent spam from reaching your users by rejecting mail from certain addresses, and to prevent spammers from using your system to relay mail. By default sendmail will accept mail from any address for a local user, but prevent any client or mail server from relaying mail through your system. Typically you would add spam control rules to reject mail from spammers, and rules to allow other machines on your network to relay mail through your system.
access_desc2=Note that sendmail will by default allow mail clients running on your system to relay mail via SMTP to any destination. Thus there is no need to add the local <tt>127.0.0</tt> network to the list of those allowed to relay.
access_source=Source..
access_action=Action..
access_return=spam control list

sform_edit=Edit Spam Control Rule
sform_create=Create Spam Control Rule
sform_source=Mail source
sform_type0=Email Address
sform_type1=Network
sform_type2=User
sform_type3=Domain
sform_action=Action
sform_ok=Accept
sform_relay=Allow relaying
sform_reject=Reject
sform_discard=Discard silently
sform_err=Error code
sform_msg=Message
sform_ecannot=You are not allowed to configure spam control

ssave_ecannot=You are not allowed to configure spam control
ssave_err=Failed to save spam control rule
ssave_etype0='$1' is not a valid address
ssave_etype1='$1' is not a valid network address
ssave_etype2='$1' is not a valid username
ssave_etype3='$1' is not a valid domain
ssave_ecode='$1' is not a valid SMTP error code

relay_title=Relay Domains
relay_ecannot=You are not allowed to edit relay domains
relay_eversion=Only sendmail versions 8.9 and above support the relay domains feature.
relay_domains=Domains to which relaying is allowed
relay_desc1=Unless allowed by the <a href='$1'>spam control</a> rules, sendmail will only permit relaying to domains listed in the text box to the left. Incoming mail messages that are not for a local user and not for one of the listed domains will be rejected.
relay_desc2=If your system is serving as a gateway for several domains that are not directly accessible from outside your network (using the <a href='$1'>domain routing</a> feature), then all those domains should be listed here.
relay_err=Failed to save relay domains
relay_edomain='$1' is not a valid domain name

mailq_title=Mail Queue
mailq_ecannot=You are not allowed to view the mail queue
mailq_id=Mail ID
mailq_sent=Sent
mailq_from=From
mailq_to=To
mailq_status=Status
mailq_unknown=Unknown
mailq_sending=Sending
mailq_dmsg=To view a message from the mail queue, click on its ID in the list above.
mailq_force=To force the immediate delivery of queued of mail, <a href='$1'>click here</a>.
mailq_none=No mail messages are currently queued for delivery
mailq_return=mail queue

flushq_title=Flush Queue
flushq_desc=Forcing the attempted delivery of mail with the command $1 ..

delq_err=Failed to remove message
delq_ecannot=You are not allowed to dequeue messages
delq_locked=Currently locked for sending

boxes_title=User Mailboxes
boxes_user=User
boxes_size=Mailbox size
boxes_none=No mail
boxes_return=mailboxes
boxes_ecannot=You are not allowed to read email

mail_title=User Email
mail_from=From
mail_date=Date
mail_subject=Subject
mail_to=To
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Priority
mail_highest=Highest
mail_high=High
mail_normal=Normal
mail_low=Low
mail_lowest=Lowest
mail_for=In $1
mail_size=Size
mail_delete=Delete selected messages
mail_compose=Compose new mail
mail_return=user email
mail_pos=Messages $1 to $2 of $3
mail_none=This mailbox has no messages
mail_ecannot=You are not allowed to read this user's email
mail_all=Select all
mail_invert=Invert selection
mail_search=Find messages where
mail_body=Body
mail_match=matches
mail_ok=Search

view_title=Read Email
view_desc=Message $1 in $2
view_qdesc=Queued message $1
view_headers=Mail headers
view_attach=Attachments
view_reply=Reply
view_reply2=Reply to all
view_forward=Forward
view_delete=Delete
view_ecannot=You are not allowed to read this user's email

compose_title=Compose Email
reply_title=Reply to Email
forward_title=Forward Email
reply_headers=Mail headers
reply_attach=Forwarded attachments
reply_attach2=Attachments
reply_send=Send
reply_ecannot=You are not allowed to send mail as this user

send_err=Failed to send mail
send_eto=Missing To address
send_efrom=Missing From address
send_title=Mail Sent
send_ok=Mail sent successfully to $1
send_ecannot=You are not allowed to send mail as this user
send_esmtp=SMTP command $1 failed : $2

delete_ecannot=You are now allowed to delete mail from this user
delete_enone=No mail selected to delete

search_title=Search Results
search_ecannot=You are not allowed to search this user's email
search_ematch=You must enter text to match against.
search_none=No messages found.
search_results=Mail messages matching $1 ..

acl_opts=Can edit sendmail options?
acl_cws=Can edit local domains?
acl_masq=Can configure domain masquerading?
acl_trusts=Can edit trusted users?
acl_cgs=Can edit outgoing domains?
acl_relay=Can edit relay domains?
acl_mailers=Can configure domain routing?
acl_access=Can configure spam control?
acl_domains=Can configure domain mapping?
acl_stop=Can start and stop sendmail?
acl_mailq=Can manage mail queue?
acl_viewdel=View and delete
acl_view=View only
acl_virtusers=Address mappings this user can edit
acl_none=None
acl_all=All
acl_matching=Matching
acl_vtypes=Address mapping types this user can edit
acl_vtype0=Return error
acl_vtype1=To domain
acl_vtype2=To address
acl_vmax=Maximum number of address mappings
acl_unlimited=Unlimited
acl_aliases=Aliases this user can edit
acl_atypes=Alias types this user can edit
acl_atype1=Email address
acl_atype2=Addresses in file
acl_atype3=Write to file
acl_atype4=Feed to program
acl_atype5=Autoreply
acl_amax=Maximum number of aliases
acl_outgoing=Outgoing addresses this user can edit
acl_read=Users whose mail can be read
acl_users=Only users
acl_userse=All except users
acl_from=Allowable From addresses
acl_any=Any address
acl_fdoms=Mailbox @ domains
acl_faddrs=Listed addresses
acl_fdom=Any address @ domain
 07070100028759000081a40000000000000002000000013d1fe2d3000062e1000000200000000000000000000000000000001700000003reloc/sendmail/lang/de    index_title=Sendmail-Konfiguration
index_econfig=Die Sendmail-Konfigurationsdatei $1 existiert nicht. Eventuell ist Ihre <a href='$2'>Modulkonfiguration</a> inkorrekt.
index_eversion=Ihre Sendmail-Konfigurationsdatei scheint nicht f&uuml;r die letzte Version von Sendmail zu sein. Webmin unterst&uuml;tzt lediglich Sendmail-Versionen 8.8 und h&ouml;her. 
index_epath=Die ausf&uuml;hrbare Sendmail-Datei $1 ist nicht auf Ihrem System installiert. Vielleicht ist Ihre <a href='$2'>Modulkonfiguration</a> fehlerhaft oder Sendmail ist nicht installiert. 
index_return=Sendmail-Konfiguration
index_stop=Sendmail beenden
index_stopmsg=Klicken Sie auf diese Schaltfl&auml;che, um den laufenden Sendmail-Prozess zu stoppen. Dies wird die Auslieferung von E-Mail an Benutzer des lokalen Systems von anderen Systemen anhalten und Clients davon abhalten, dieses System als Mailserver zum Versand von E-Mails zu benutzen. 
index_start=Sendmail starten
index_startmsg=Klicken Sie auf dieses Schaltfl&auml;che, um Sendmail mit dem Befehl $1 zu starten. Vorher, wird keine E-Mail von anderen Systemen zu lokalen Benutzern ausgeliefert und Clients k&ouml;nnen dieses System nicht als Mailserver zum Mail-Versand benutzen. <br> $1 
opts_title=Sendmail-Einstellungen
opts_ecannot=Sie haben keine Berechtigung, Sendmail-Einstellungen zu bearbeiten
opts_ds=Sende ausgehende Mail durch Host
opts_direct=Direkt senden
opts_dr=Leite unqualifizierte Benutzernamen weiter zu Host
opts_dh=Leite Mail f&uuml;r lokale Benutzer weiter zu Host
opts_local=Lokal ausliefern
opts_queuela=Maximaler Load-Durchschnitt f&uuml;r das Senden
opts_refusela=Maximaler Load-Durchschnitt f&uuml;r das Empfangen
opts_maxch=Maximale Anzahl von untergeordneten Prozessen
opts_throttle=Maximale Anzahl von Verbindungen / Sekunde
opts_minqueueage=Minimale Zeit vor dem erneuten Sendeversuch
opts_runsize=Maximale Warteschlangenl&auml;nge
opts_queuereturn=Zeit, bevor aufgegeben wird
opts_queuewarn=Zeit, bevor eine Warnung gesendet wird
opts_queue=Verzeichnis der Warteschlange
opts_postmaster=Sende Fehlermeldungen an
opts_forward=Benutzerweiterleitungsdateien
opts_minfree=Minimaler freier Speicherplatz
opts_maxmessage=Maximale Nachrichtengr&ouml;&szlig;e
opts_loglevel=Protokoll-Level
opts_mimebounce=MIME-kodierte Bounce-Nachrichten?
opts_default=Standard
opts_save=Speichern und Anwenden
opts_err=Fehler beim Speichern der Einstellungen
opts_ehost='$1' ist kein g&uuml;ltiger Host- oder Dom&auml;nenname
opts_einvalid='$1' ist kein g&uuml;ltiger Wert f&uuml;r '$2'
opts_blame=Dateisicherheitseinstellungen
opts_selected=Ausgew&auml;hlte..
aliases_title=Mail-Aliases
aliases_ecannot=Sie haben keine Berechtigung, Aliases zu bearbeiten.
aliases_addr=Adresse
aliases_to=Alias auf..
aliases_type1=Adresse $1
aliases_type2=Adressen in Datei $1
aliases_type3=Datei $1
aliases_type4=Programm $1
aliases_type5=Automatische Antwortdatei $1
aliases_none=Keine
aliases_return=Alias-Liste
aform_type0=Keine
aform_type1=E-Mail-Adresse
aform_type2=Adressen in Datei
aform_type3=Schreibe in Datei
aform_type4=Gebe an Programm
aform_type5=Automatische Antwort aus Datei
aform_edit=Alias bearbeiten
aform_create=Alias erstellen
aform_name=Adresse
aform_enabled=Aktiviert?
aform_val=Alias zu
asave_err=Das Speichern des Alias' schlug fehl
asave_ecannot2=Sie haben keine Berechtigung, Aliases zu bearbeiten.
asave_ecannot=Sie haben keine Berechtigung, Aliases zu bearbeiten
asave_emax=Sie haben keine Berechtigung, mehr als $1 Aliases zu erstellen
asave_eaddr='$1' ist keine g&uuml;tige Adresse
asave_ealready=Es existiert bereits ein Alias f&uuml;r '$1'
asave_ematch=Sie haben nur die Berechtigung, Aliases zu erstellen, die mit '$1' &uuml;bereinstimmen
asave_etype=Sie haben nicht die Berechtigung, Aliases dieses Typs zu erstellen
asave_etype1='$1' ist keine g&uuml;ltige E-Mail-Adresse
asave_etype2=Adressen Datei '$1' existiert nicht oder ist ung&uuml;ltig
asave_etype3='$1' ist kein g&uuml;ltiger Dateiname
asave_etype4='$1' ist kein g&uuml;ltiges Programm oder existiert nicht
asave_etype5=Datei '$1' f&uuml;r automatische Antwort ist entweder ung&uuml;ltig oder existiert nicht
asave_etype4none=Kein Programm angegeben
cws_title=Lokale Dom&auml;nen
cws_ecannot=Sie haben keine Berechtigung, lokale Dom&auml;nen zu bearbeiten
cws_domains=Dom&auml;nen die von diesem Server behandelt werden
cws_desc1=Abgesehen von Mail an $1 wird Sendmail E-Mail f&uuml;r lokale Auslieferung nur f&uuml;r Dom&auml;nen- und Host-Namen akzeptieren, die im Textfeld auf der linken Seite aufgelistet sind. Wenn Sie wollen, dass Ihr Mailserver mehrere E-Mail-Dom&auml;nen behandelt, dann m&uuml;ssen diese in dem Feld aufgelistet sein. 
cws_desc2=Beachten Sie, dass es normalerweise nicht ausreicht, eine Dom&auml;ne einfach in die Liste einzutragen. Sie m&uuml;ssen weiterhin sicherstellen, dass ein DNS-Eintrag f&uuml;r diese Dom&auml;ne existiert und auf dieses System verweist. 
cws_err=Fehler beim Speichern der lokalen Dom&auml;nen
cws_ehost='$1' ist kein g&uuml;ltiger Host- oder Dom&auml;nenname
cws_eip='$1' ist eine IP-Adresse, keine Dom&auml;ne
masq_title=Dom&auml;nenmaskierung
masq_ecannot=Sie haben keine Berechtigung, die Maskierung zu konfigurieren
masq_domain=Maskiere als Dom&auml;ne
masq_domains=Dom&auml;nen, die maskiert werden sollen
masq_desc1=Falls eine Dom&auml;ne oben angegeben ist, wird Sendmail die Absenderadresse (<tt>From-</tt>) f&uuml;r alle ausgehenden E-Mails so &auml;ndern, als w&uuml;rden Sie von dieser Dom&auml;ne kommen. Zus&auml;tzlich werden die Absenderadressen (<tt>From-</tt>) von E-Mails, die durch Ihr System transferiert werden, von einer der Dom&auml;nen, die links angegeben sind, auf die gleiche Weise ge&auml;ndert. Beachten Sie, dass jede Dom&auml;nenmaskierung f&uuml;r einzelne Benutzer durch die Seite "<a href='$1'>Ausgehende Adressen</a>" &uuml;berschrieben werden kann. 
masq_desc2=Diese Funktion kann n&uuml;tzlich sein, wenn ausgehende E-Mails von Ihrem Dom&auml;nennamen und nicht von ihrem Host-Namen kommen soll oder wenn Ihr System ein Mailverteiler f&uuml;r eine Reihe anderer Hosts ist, die Ihre eigenen Mailserver betreiben.
masq_err=Fehler beim Speichern der Dom&auml;nenmaskierung
masq_edomain='$1' ist keine g&uuml;ltige Dom&auml;ne zur Maskierung
masq_ehost='$1' ist kein g&uuml;ltiger Host- oder Dom&auml;nenname
masq_eip='$1' ist eine IP-Adresse, keine Dom&auml;ne
trusts_title=Vertraute Benutzer
trusts_ecannot=Sie haben keine Berechtigung, vertraute Benutzer zu bearbeiten
trusts_users=Lokale Benutzer, denen von Sendmail getraut wird
trusts_desc=Wenn ein lokaler Benutzer versucht E-Mails zu versenden, wird Sendmail ihm nur gestatten eine andere Adresse unter <TT>From:</TT> anzugeben, wenn er in der Liste links steht. Diese Einschr&auml;nkung h&auml;lt Benutzer davon ab, gef&auml;lschte <tt>From:</TT>-Adressen in E-Mails zu benutzen, die von Ihrem System aus gesendet werden. 
trusts_err=Fehler beim Speichern der vertrauten Benutzer 
trusts_euser='$1' ist kein g&uuml;ltiger Benutzer
virtusers_title=Adressenverkn&uuml;pfung
virtusers_ecannot=Sie haben keine Berechtigung, die Adressenverkn&uuml;pfung zu bearbeiten
virtusers_edirective=Ihre Sendmail-Konfiguration hat nicht die ben&ouml;tigte Direktive f&uuml;r Adressenverkn&uuml;pfung
virtusers_efile=Die Textdatei $1, von der die Adressenverkn&uuml;pfungsdatenbank $2 generiert wird, existiert nicht. Vielleicht m&uuml;ssen Sie die <a href='$3'>Modulkonfiguration</a> bearbeiten, um den korrekten Pfad zu benutzen. 
virtusers_desc1=Adressenverkn&uuml;pfungen sind vergleichbar mit <a href='$1'>Aliases</a>, aber sie sind besser geeignet f&uuml;r Systeme, die mehrere E-Mail-Dom&auml;nen behandeln. Sie k&ouml;rnen benutzt werden, um ganze Dom&auml;nen zu einer einzigen Adresse umzuleiten, um Benutzer mit einem Namen in mehreren Dom&auml;nen zu behandeln oder um alle E-Mails zu einer Dom&auml;ne zu einer anderen umzuleiten. 
virtusers_desc2=Beachten Sie, dass Sie einen Eintrag in der Tabelle f&uuml;r <a href='$1'>lokale Dom&auml;nen</a> f&uuml;r alle Dom&auml;nen haben m&uuml;ssen, f&uuml;r die Adressenverkn&uuml;pfung benutzt wird. Ebenso muss im DNS-Eintrag f&uuml;r jede Dom&auml;ne ein MX-Eintrag vorhanden sein, der auf Ihr System verweist.
virtusers_for=Mail f&uuml;r..
virtusers_to=Sende an..
virtusers_error=Fehler $1
virtusers_domain=Dom&auml;ne $1
virtusers_address=Adresse $1
virtusers_return=Adressenverkn&uuml;pfungsliste
vform_edit=Verkn&uuml;pfung bearbeiten
vform_create=Verkn&uuml;pfung erstellen
vform_for=Mail f&uuml;r
vform_address=Adresse
vform_domain=Dom&auml;ne
vform_to=Sende an
vform_error=Fehler zur&uuml;ckgeben
vform_end=Zum Ende gehen
vform_ecannot=Sie haben keine Berechtigung, diese Adressenverkn&uuml;pfung zu bearbeiten
vsave_ecannot=Sie haben keine Berechtigung, die Adressenverkn&uuml;pfung zu bearbeiten
vsave_ecannot2=Sie haben keine Berechtigung, diese Adressenverkn&uuml;pfung zu bearbeiten
vsave_emax=Sie haben keine Berechtigung, mehr als $1 Adressenverkn&uuml;pfungen zu erstellen
vsave_err=Fehler beim Speichern der Adressenverkn&uuml;pfung 
vsave_efrom='$1' ist keine g&uuml;tige Adresse
vsave_efromdup=Eine Adressenverkn&uuml;pfung f&uuml;r '$1' ist bereits definiert
vsave_edom='$1' ist keine g&uuml;ltige Dom&auml;ne
vsave_edomdup=Eine Adressenverkn&uuml;pfung f&uuml;r '$1' ist bereits definiert
vsave_ematch=Die Quelladresse entspricht nicht '$1'
vsave_ecannot3=Sie haben keine Berechtigung, Adressenverkn&uuml;pfung zu erstellen
vsave_eaddr='$1' ist keine g&uuml;tige Adresse
vsave_ecannot4=Sie haben keine Berechtigung, Dom&auml;nenverkn&uuml;pfungen zu erstellen
vsave_edomdom=Es nur eine Dom&auml;ne kann auf eine andere Dom&auml;ne umgeleitet werden
vsave_ecannot5=Sie haben keine Berechtigung, eine Verkn&uuml;pfung zu definieren, die einen Fehler zur&uuml;ck gibt
mailers_title=Dom&auml;nen-Routing
mailers_cannot=Sie haben keine Berechtigung, das Dom&auml;nen-Routing zu bearbeiten
mailers_edirective=Ihre Sendmail-Konfiguration hat nicht die ben&ouml;tigte Direktive f&uuml;r Dom&auml;nen-Routing.
mailers_efile=Die Textdatei $1, von der die Dom&auml;nen-Routing-Datenbank $2 generiert wird, existiert nicht. Vielleicht m&uuml;ssen Sie die <a href='$3'>Modulkonfiguration</a> anpassen, um den korrekten Pfad zu benutzen. 
mailers_desc1=Dom&auml;nen-Routing stellt eine Methode zur Verf&uuml;gung, um eine spezielle Transfernethode f&uuml;r bestimmte Dom&auml;nen festzulegen. Dies kann n&uuml;tzlich sein, wenn Ihr System ein Gateway f&uuml;r Mailserver ist, die nicht von au&szlig;erhalb Ihre Netzwerks erreichbar sind, oder wenn Sie alle E-Mails f&uuml;r eine bestimmte Dom&auml;ne &uuml;ber einen anderen Server leiten wollen. 
mailers_desc2=Sie sollten f&uuml;r eine geroutete Dom&auml;ne <b>keinen</b> Eintrag in der Liste <a href='$1'>lokalen Dom&auml;nen</a> haben. Sie sollten aber f&uuml;r alle Dom&auml;nen, f&uuml;r die dieses Gateway zust&auml;ndig ist, einen DNS-MX-Eintrag haben, der auf Ihr System zeigt. 
mailers_for=Mail f&uuml;r..
mailers_delivery=Auslieferung
mailers_to=Sende an..
mailers_return=Dom&auml;nen-Routing-Liste
mform_edit=Routing bearbeiten
mform_create=Routing erstellen
mform_for=Mail f&uuml;r
mform_host=Host
mform_domain=Dom&auml;ne
mform_delivery=Auslieferung
mform_to=Sende an
mform_ignore=Ignoriere MX-Eintrag f&uuml;r SMTP-Auslieferung
mform_smtp=SMTP
mform_esmtp=Erweitertes SMTP
mform_smtp8=8-bit SMTP
mform_relay=SMTP-Weiterleitung
mform_local=Lokaler Benutzer
mform_prog=Gebe an Programm
mform_uucp=UUCP
mform_usenet=An USENET senden
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Fehler
mform_ecannot=Sie haben keine Berechtigung, das Dom&auml;nen-Routing zu bearbeiten
msave_ecannot=Sie haben keine Berechtigung, das Dom&auml;nen-Routing zu bearbeiten
msave_err=Fehler beim Speichern des Dom&auml;nen-Routings
msave_edomain='$1' ist kein g&uuml;ltiger Host oder Dom&auml;ne
msave_edup=Es ist bereits Dom&auml;nen-Routing f&uuml;r '$1' definiert
generics_title=Ausgehende Adressen
generics_cannot=Sie haben keine Berechtigung, ausgehende Adressen zu bearbeiten
generics_econfig=Ihre Sendmail-Konfiguration hat nicht die ben&ouml;tigte Direktive f&uuml;r ausgehende Adressenverkn&uuml;pfung.
generics_efile=Die Textdatei $1, von der die Datenbank $2 f&uuml;r ausgehende Adressen generiert wird, existiert nicht. Vielleicht m&uuml;ssen Sie die <a href='$3'>Modulkonfiguration</a> anpassen, um den korrekten Pfad zu benutzen. 
generics_desc1=Die Verkn&uuml;pfung von ausgehenden Adressen gestattet es Ihnen, <tt>From:</tt>-Adressen von E-Mails, die von Ihrem System oder durch Ihr System von Hosts aus ihrem lokalen Netzwerk gesendet werden, zu ver&auml;ndern. Dies kann n&uuml;tzlich sein, wenn Sie mehrere Dom&auml;nen auf dem System verwalten und E-Mails von Benutzern so erscheinen lassen wollen, als k&auml;men sie von anderen Dom&auml;nen. 
generics_desc2=Beachten Sie, dass Sie einen Eintrag in der Tabelle f&uuml;r <a href='$1'>ausgehende Dom&auml;nen</a> f&uuml;r alle Dom&auml;nen haben m&uuml;ssen, f&uuml;r die Adressenverkn&uuml;pfung benutzt wird. Ebenso muss im DNS-Eintrag f&uuml;r jede Dom&auml;ne ein MX-Eintrag vorhanden sein, der auf Ihre System verweist. Beachten Sie auch, dass die Verkn&uuml;pfung f&uuml;r ausgehende Adresse nicht bei E-Mails funktioniert, die an lokale Benutzer ausgeliefert werden.
generics_from=Mail von..
generics_to=&Auml;ndern zu..
generics_return=Adressenverkn&uuml;pfungsliste
gform_edit=Verkn&uuml;pfung bearbeiten
gform_create=Verkn&uuml;pfung erstellen
gform_from=Mail von
gform_to=&Auml;ndern zu
gform_ecannot=Sie haben keine Berechtigung, diese ausgehende Adresse zu bearbeiten
gsave_ecannot=Sie haben keine Berechtigung, ausgehende Adressen zu bearbeiten
gsave_ecannot2=Sie haben keine Berechtigung, diese ausgehende Adresse zu bearbeiten
gsave_err=Fehler beim Speichern der ausgehenden Adresse
gsave_efrom='$1' ist keine g&uuml;ltige Absenderadresse
gsave_ematch=Die Absenderadresse entspricht nicht '$1'
gsave_eto='$1' ist keine g&uuml;ltige neue Adresse
cgs_title=Ausgehende Dom&auml;nen
cgs_ecannot=Sie haben keine Berechtigung, ausgehende Dom&auml;nen zu bearbeiten
cgs_header=Dom&auml;nen von ausgehenden Adressen
cgs_desc=Abgesehen von E-Mails, die von lokalen Benutzern versendet werden, wird Sendmail <a href='$1'>Verkn&uuml;pfung f&uuml;r ausgehende Adressen</A> nur bei den Dom&auml;nen durchf&uuml;hren, die in dem Textfeld links aufgelistet sind. Also muss die Dom&auml;ne aus der From-Adresse in dieser Liste enthalten sein, damit die Verkn&uuml;pfung f&uuml;r ausgehende Dom&auml;nen funktioniert. 
cgs_err=Fehler beim Speichern von ausgehenden Dom&auml;nen
cgs_ehost='$1' ist kein g&uuml;ltiger Host- oder Dom&auml;nenname
cgs_eip='$1' ist eine IP-Adresse, keine Dom&auml;ne
domains_title=Dom&auml;nenverkn&uuml;pfung
domains_ecannot=Sie haben keine Berechtigung, die Dom&auml;nenverkn&uuml;pfung zu bearbeiten
domains_econfig=Ihre Sendmail-Konfiguration hat nicht die ben&ouml;tigte Direktive f&uuml;r Dom&auml;nenverkn&uuml;pfung.
domains_efile=Die Textdatei $1, von der die Datenbank $2 f&uuml;r Dom&auml;nenverkn&uuml;pfung generiert wird, existiert nicht. Vielleicht m&uuml;ssen Sie die <a href='$3'>Modulkonfiguration</a> anpassen, um den korrekten Pfad zu benutzen. 
domains_desc=Die Dom&auml;nenverkn&uuml;pfung ver&auml;ndert die <tt>To:</tt>-Adresse von Mails, die von Ihrem System gesendet oder weitergeleitet werden oder die an lokale Benutzer ausgeliefert werden. Ebenso wird die <TT>From:</TT>-Adresse von weitergeleiteten Nachrichten oder Nachrichten an lokale Benutzer ver&auml;ndert. Dies kann n&uuml;tzlich sein, wenn sich Ihr Dom&auml;nenname &auml;ndert und Sie alle Vorkommen des alten Dom&auml;nennamen in den neuen &auml;ndern wollen. 
domains_from=Von Dom&auml;ne..
domains_to=Zu Dom&auml;ne..
domains_return=Dom&auml;nenverkn&uuml;pfungsliste
dform_edit=Verkn&uuml;pfung bearbeiten
dform_create=Verkn&uuml;pfung erstellen
dform_from=Von Dom&auml;ne
dform_to=Zu Dom&auml;ne
dform_ecannot=Sie haben keine Berechtigung, die Dom&auml;nenverkn&uuml;pfung zu bearbeiten
dsave_ecannot=Sie haben keine Berechtigung, die Dom&auml;nenverkn&uuml;pfung zu bearbeiten
dsave_err=Fehler beim Speichern der Dom&auml;nenverkn&uuml;pfung
dsave_edomain='$1' ist kein g&uuml;ltiger Dom&auml;nenname
access_title=Spam-Kontrolle
access_ecannot=Sie haben keine Berechtigung, die Spam-Kontrolle zu konfigurieren
access_econfig=Ihre Sendmail Konfiguration hat nicht die ben&ouml;tigte Direktive f&uuml;r Spam-Kontrolle.
access_efile=Die Textdatei $1, von der die Datenbank $2 f&uuml;r die Spam-Kontrolle generiert wird, existiert nicht. Vielleicht m&uuml;ssen Sie die <a href='$3'>Modulkonfiguration</a> anpassen, um den korrekten Pfad zu benutzen. 
access_desc1=Sendmails Spam-Kontrolle erm&ouml;glicht es Ihnen, Ihr System vor Spam zu sch&uuml;tzen, indem E-Mails von bestimmten Adressen abgewiesen werden. Ebenso verhindert es, dass Spammer Ihr System zum Weiterleiten von Spam benutzen. Standardm&auml;&szlig;ig akzeptiert Sendmail alle E-Mails f&uuml;r lokale Benutzer, verweigert jedoch allen Clients oder Mailservern, E-Mail &uuml;ber Ihr System weiterzuleiten. Typischerweise werden Sie Anti-Spam-Regeln hinzuf&uuml;gen, um E-Mails von Spammern abzuweisen, und Regeln, um anderen Maschinen auf ihrem Netz das Weiterleiten von E-Mail &uuml;ber Ihr System zu gestatten. 
access_desc2=Beachten Sie, dass Sendmail standardm&auml;&szlig;ig allen Mailclients, die E-Mail von Ihrem System versenden, gestattet, E-Mail via SMTP an jedes Ziel weiterzuleiten. Es ist also nicht notwendig, das lokale <tt>127.0.0</tt>-Netzwerk zur Liste der erlaubter Weiterleiter einzutragen. 
access_source=Quelle..
access_action=Aktion..
access_return=Spam-Kontrollliste
sform_edit=Spam-Kontrollregel bearbeiten
sform_create=Spam-Kontrollregel erstellen
sform_source=Mail-Quelle
sform_type0=E-Mail-Adresse
sform_type1=Netzwerk
sform_type2=Benutzer
sform_type3=Dom&auml;ne
sform_action=Aktion
sform_ok=Akzeptieren
sform_relay=Erlaube Weiterleitung
sform_reject=Abweisen
sform_discard=Leise l&ouml;schen
sform_err=Fehlercode
sform_msg=Nachricht
sform_ecannot=Sie haben keine Berechtigung, die Spam-Kontrolle zu konfigurieren
ssave_ecannot=Sie haben keine Berechtigung, die Spam-Kontrolle zu konfigurieren
ssave_err=Fehler beim Speichern der Anti-Spam-Regel
ssave_etype0='$1' ist keine g&uuml;tige Adresse
ssave_etype1='$1' ist keine g&uuml;ltige Netzwerkadresse
ssave_etype2='$1' ist kein g&uuml;ltiger Benutzername
ssave_etype3='$1' ist keine g&uuml;ltige Dom&auml;ne
ssave_ecode='$1' ist kein g&uuml;ltiger SMTP-Fehlercode
relay_title=Weiterleitungsdom&auml;nen
relay_ecannot=Sie haben keine Berechtigung, Weiterleitungsdom&auml;nen zu bearbeiten
relay_eversion=Nur Sendmail-Versionen 8.9 und h&ouml;her unterst&uuml;tzen die Weiterleitungsfunktion. 
relay_domains=Dom&auml;nen, zu denen Weiterleitung gestattet ist.
relay_desc1=Wenn es nicht durch eine <a href='$1'>Spam-Kontrollregel</a> erlaubt ist, wird Sendmail das Weiterleiten nur von Dom&auml;nen gestatten, die links aufgelistet sind. Eingehende Mail, die nicht f&uuml;r einen lokalen Benutzer und nicht f&uuml;r eine hier angegebene Dom&auml;ne sind, werden abgewiesen. 
relay_desc2=Wenn Ihr System als Gateway f&uuml;r mehrere Dom&auml;nen arbeitet, die nicht direkt (durch Benutzen der <a href='$1'>Dom&auml;nen-Routing</a>-Funktion), von au&szlig;erhalb des Netzwerks zu erreichen sind, sollten alle solche Dom&auml;nen hier aufgelistet sein.
relay_domains=Dom&auml;nen, zu denen Weiterleitung gestattet ist.
relay_err=Fehler beim Speichern der Weiterleitungsdom&auml;nen.
relay_edomain='$1' ist kein g&uuml;ltiger Dom&auml;nenname
mailq_title=Mail-Warteschlange
mailq_ecannot=Sie haben keine Berechtigung, die Mail-Warteschlange einzusehen
mailq_id=Mail-ID
mailq_sent=Gesendet
mailq_from=Von
mailq_to=An
mailq_size=Gr&ouml;&szlig;e
mailq_status=Status
mailq_unknown=Unbekannt
mailq_sending=Wird gesendet
mailq_dmsg=Klicken Sie auf eine ID oben in der Liste, um die Nachricht aus der Warteschlange zu lesen.
mailq_force=Um die sofortige Auslieferung der Mail in der Warteschlange zu erzwingen, klicken Sie <a href='$1'>hier</a>.
mailq_none=Es sind im Moment keine Nachrichten in der Warteschlange f&uuml;r die Auslieferung
mailq_return=Mail-Warteschlange
flushq_title=Liefere Warteschlange aus
flushq_desc=Erzwingen der Auslieferung von E-Mails in der Warteschlange mit dem Befehl $1 ..
delq_err=Fehler beim L&ouml;schen der Nachricht
delq_ecannot=Sie haben keine Berechtigung, E-Mails aus der Warteschlagen zu nehmen
delq_locked=Datei ist z. Z. zum Senden gesperrt
boxes_title=Benutzer-Mailboxes
boxes_user=Benutzer
boxes_size=Mailbox-Gr&ouml;&szlig;e
boxes_none=Keine Mail
boxes_return=Mailboxes
boxes_ecannot=Sie haben keine Berechtigung, E-Mails zu lesen
mail_title=Benutzer-E-Mail
mail_from=Von
mail_date=Datum
mail_subject=Betreff
mail_to=An
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Priorit&auml;t
mail_highest=H&ouml;chste
mail_high=Hoch
mail_normal=Normal
mail_low=Niedrig
mail_lowest=Niedrigste
mail_for=In $1
mail_delete=L&ouml;sche gew&auml;hlte Nachrichten
mail_compose=Neue E-Mail schreiben
mail_return=Benutzer-E-Mail
mail_pos=Nachrichten $1 bis $2 von $3
mail_ecannot=Sie haben keine Berechtigung, die E-Mail dieses Benutzers zu lesen
mail_all=Alle ausw&auml;hlen
mail_invert=Auswahl umkehren
mail_search=Finde Nachrichten, wo
mail_body=Textk&ouml;rper
mail_match=&uuml;bereinstimmt mit
mail_ok=Suche
view_title=E-Mail lesen
view_desc=Nachricht $1 in $2
view_qdesc=Nachricht $1 aus Warteschlange
view_headers=Mailheader
view_attach=Anh&auml;nge
view_reply=Beantworten
view_reply2=Allen antworten
view_forward=Weiterleiten
view_delete=L&ouml;schen
view_ecannot=Sie haben keine Berechtigung, die E-Mail dieses Benutzers zu lesen
compose_title=E-Mail verfassen
reply_title=E-Mail beantworten
forward_title=E-Mail weiterleiten
reply_headers=Mailheader
reply_attach=Weitergeleitete Anh&auml;nge
reply_attach2=Anh&auml;nge
reply_send=Senden
reply_ecannot=Sie haben keine Berechtigung, als dieser Benutzer eine E-Mail zu senden
send_err=Fehler beim Senden der E-Mail
send_eto=Fehlende Empf&auml;ngeradresse
send_title=Mail gesendet
send_ok=Mail erfolgreich an $1 gesendet
send_ecannot=Sie haben keine Berechtigung, als dieser Benutzer eine E-Mail zu senden
send_esmtp=SMTP-Befehl $1 schlug fehl: $2
send_efile=Angeh&auml;ngte Datei $1 existiert nicht
delete_ecannot=Sie haben keine Berechtigung, Mail dieses Benutzers zu l&ouml;schen
delete_enone=Keine Mail zum L&ouml;schen ausgew&auml;hlt
search_title=Suchergebnisse
search_ecannot=Sie haben keine Berechtigung, die E-Mail dieses Benutzer zu durchsuchen
search_ematch=Sie m&uuml;ssen Text eingeben, nach dem gesucht werden soll. 
search_none=Keine Nachrichten gefunden.
search_results=Mail-Nachrichten &uuml;bereinstimmend mit $1 ..
file_title=Sendmail-Datei bearbeiten
file_desc=Benutzen Sie das Textfeld unten, um die Sendmail-Datei $1 manuell zu bearbeiten.
file_undo=Ver&auml;nderungen r&uuml;ckg&auml;ngig machen
file_edit=$1 manuell bearbeiten
file_ealiases=Sie d&uuml;rfen die Alias-Datei nur bearbeiten, wenn Sie Zugriff auf alle Aliases haben.
file_evirtusers=Sie d&uuml;rfen de Adressenverkn&uuml;pfungsdatei nur bearbeiten, wenn Sie Zugriff auf alle Verkn&uuml;pfungen haben.
file_emailers=Sie haben keine Berechtigung, die Datei f&uuml;r Dom&auml;nen-Routing zu bearbeiten.
file_egenerics=Sie d&uuml;rfen die Datei f&uuml;r ausgehende Adressen nur bearbeiten, wenn Sie Zugriff auf alle ausgehenden Adressen haben.
file_edomains=Sie haben keine Berechtigung, die Datei f&uuml;r Dom&auml;nenverkn&uuml;pfung zu bearbeiten
file_eaccess=Sie haben keine Berechtigung, die Datei f&uuml;r Spam-Kontrolle zu bearbeiten
file_emode=Unbekannter Modus!
file_err=Das Bearbeiten der Datei schlug fehl
acl_opts=Darf Sendmail-Optionen bearbeiten?
acl_cws=Darf lokale Dom&auml;nen bearbeiten?
acl_masq=Darf Dom&auml;nenmaskierung bearbeiten?
acl_trusts=Darf vertraute Benutzer bearbeiten?
acl_cgs=Darf ausgehende Dom&auml;nen bearbeiten?
acl_relay=Darf Weiterleitungsdom&auml;nen bearbeiten?
acl_mailers=Darf Dom&auml;nen-Routing konfigurieren?
acl_access=Darf Spam-Kontrolle konfigurieren?
acl_domains=Darf Dom&auml;nenverkn&uuml;pfung konfigurieren?
acl_stop=Darf Sendmail starten und beenden?
acl_mailq=Darf Mail-Warteschlange verwalten?
acl_viewdel=Lesen und L&ouml;schen
acl_view=Nur Lesen
acl_virtusers=Adressenverkn&uuml;pfungen, die dieser Benutzer bearbeiten darf
acl_none=Keine
acl_all=Alle
acl_matching=&Uuml;bereinstimmung
acl_vtypes=Adressenverkn&uuml;pfungstypen, die dieser Benutzer bearbeiten darf
acl_vtype0=Fehler zur&uuml;ckgeben
acl_vtype1=Zu Dom&auml;ne
acl_vtype2=An Adresse
acl_vmax=Maximale Anzahl von Adressenverkn&uuml;pfungen
acl_unlimited=Unbegrenzt
acl_aliases=Aliases, die dieser Benutzer bearbeiten darf
acl_atypes=Alias-Typen, die dieser Benutzer bearbeiten darf
acl_atype1=E-Mail-Adresse
acl_atype2=Adressen in Datei
acl_atype3=Schreibe in Datei
acl_atype4=Gebe an Programm
acl_atype5=Automatische Antwort
acl_amax=Maximale Anzahl von Aliases
acl_outgoing=Ausgehende Adressen, die dieser Benutzer bearbeiten darf
acl_read=Benutzer, dessen E-Mail gelesen werden d&uuml;rfen
acl_users=Nur Benutzer
acl_userse=Alle, au&szlig;er Benutzer
acl_apath=Beschr&auml;nke Dateien und Programme auf Verzeichnis
   0707010002875a000081a40000000000000002000000013d1fe2d3000077d4000000200000000000000000000000000000001700000003reloc/sendmail/lang/en    index_title=Sendmail Configuration
index_econfig=The sendmail config file $1 does not exist. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Your sendmail config file does not appear to be for the latest sendmail version. Webmin only supports versions 8.8 and above.
index_epath=The sendmail executable $1 is not installed on your system. Maybe your <a href='$2'>module configuration</a> is incorrect, or sendmail is not installed.
index_return=sendmail configuration
index_stop=Stop Sendmail
index_stopmsg=Click this button to stop the running sendmail process. This will stop mail from being delivered to local users from other systems, and prevent clients using this system as a mail server from sending mail.
index_start=Start Sendmail
index_startmsg=Click this button to start sendmail with the command $1. Until this is done mail will not be delivered to local users from other systems, and clients will not be able to use this system as a mail server.
index_version=Sendmail config $1

opts_title=Sendmail Options
opts_ecannot=You are not allowed to edit sendmail options
opts_ds=Send outgoing mail via host
opts_direct=Deliver directly
opts_dr=Forward unqualified usernames to host
opts_dh=Forward mail for local users to host
opts_local=Deliver locally
opts_queuela=Max load average for sending
opts_refusela=Max load average for receiving
opts_maxch=Max child processes
opts_throttle=Max connections / second
opts_minqueueage=Min time before retrying send
opts_runsize=Maximum queue size
opts_queuereturn=Time before giving up
opts_queuewarn=Time before sending warning
opts_queue=Mail queue directory
opts_postmaster=Send error messages to
opts_forward=User forward files
opts_minfree=Min free disk space
opts_maxmessage=Max message size
opts_loglevel=Log level
opts_mimebounce=MIME-encode bounce messages?
opts_default=Default
opts_save=Save and Apply
opts_err=Failed to save options
opts_ehost='$1' is not a valid host or domain name
opts_einvalid='$1' is not a valid value for '$2'
opts_blame=File security options
opts_selected=Selected..
opts_blocks=blocks
opts_bytes=bytes
opts_dmode=Delivery mode
opts_background=Background
opts_queue-only=Queue only
opts_interactive=Interactive
opts_deferred=Deferred
opts_gecos=Accept mail for users' real names?
opts_hops=Maximum mail hop count
opts_daemon=SMTP port options

aliases_title=Mail Aliases
aliases_ecannot=You are not allowed to edit aliases
aliases_addr=Address
aliases_to=Alias to..
aliases_type1=Address $1
aliases_type2=Addresses in file $1
aliases_type3=File $1
aliases_type4=Program $1
aliases_type5=Autoreply file $1
aliases_type6=Apply filter file $1
aliases_none=None
aliases_return=alias list
aliases_toomany=There are too many mail aliases on your system to display on this page.
aliases_go=Find aliases matching:

aform_ecannot=You are not allowed to edit this alias
aform_type0=None
aform_type1=Email address
aform_type2=Addresses in file
aform_type3=Write to file
aform_type4=Feed to program
aform_type5=Autoreply from file
aform_type6=Apply filter file
aform_edit=Edit Alias
aform_create=Create Alias
aform_name=Address
aform_enabled=Enabled?
aform_val=Alias to
aform_afile=Edit..
aform_return=alias

afile_title=Edit Address File
afile_desc=Use the text area below to edit the addresses in the file $1.
afile_efile=You are not allowed to edit $1.
afile_undo=Undo Changes
afile_ewrite=Failed to write to addresses file : $1

ffile_title=Edit Filter File
ffile_desc=Use the form below to setup filter rules in the file $1.
ffile_efile=You are not allowed to edit $1.
ffile_line=If the $1 field $2 $3 then forward to $4
ffile_from=from
ffile_to=to
ffile_subject=subject
ffile_cc=CC
ffile_body=body
ffile_what0=doesn't match
ffile_what1=matches
ffile_other=Otherwise forward to $1
ffile_err=Failed to save filter file
ffile_ematch=Missing match
ffile_eaction=Missing forwarding address

rfile_title=Edit Autoreply File
rfile_desc=Use the text area below to edit the autoreply message in $1. The message may contain the macros $SUBJECT, $FROM, $TO, $DATE and $BODY which will be expanded when the autoreply is activated.
rfile_desc2=You can also set mail headers that add to or replace the defaults used in the autoreply by putting lines like:<br><tt>From: foo@bar.com</tt><br><tt>Subject: On holiday</tt><br>at the top of the message, separated from the body by a single blank line.
rfile_efile=You are not allowed to edit $1.
rfile_undo=Undo Changes

asave_err=Failed to save alias
asave_ecannot2=You are not allowed to edit aliases
asave_ecannot=You are not allowed to edit this alias
asave_emax=You are not allowed to create more than $1 aliases
asave_eaddr='$1' is not a valid address
asave_ealready=An alias for '$1' already exists
asave_ematch=You are only allowed to create aliases matching '$1'
asave_etype=You cannot create aliases of this type
asave_etype1='$1' is not a valid email address
asave_etype2=Addresses file '$1' is not valid or does not exist
asave_etype3='$1' is not a valid filename
asave_etype4='$1' is not a valid program or does not exist
asave_etype5=Autoreply file '$1' is not valid
asave_etype4none=No program given
asave_etype6=Filter file '$1' is not valid
asave_esame=You are only allowed to create an aliases with the same name as your webmin login

cws_title=Local Domains
cws_ecannot=You are not allowed to edit local domains
cws_domains=Domains handled by this server
cws_desc1=Apart from mail to $1, sendmail will only accept for local delivery mail for domains and hostnames listed in the text box to the left. If you want your mail server to handle multiple email domains, they must all be listed on this form.
cws_desc2=Note that merely including a domain in the list is not usually enough. You must also make sure that a DNS record for the domain exists, and points to your system.
cws_err=Failed to save local domains
cws_ehost='$1' is not a valid host or domain name
cws_eip='$1' is an IP address, not a domain

masq_title=Domain Masquerading
masq_ecannot=You are not allowed to configure masquerading
masq_domain=Masquerade as domain
masq_domains=Domains to be masqueraded
masq_desc1=If a domain is given above, sendmail will alter the <tt>From</tt> address of all outgoing messages to appear to come from that domain. In addition, any email messages passing through your system from one of the hosts or domains listed to the left will also have their <tt>From</tt> addresses modified in the same way. Note that any domain masquerading defined here can be overriden for specific users using the <a href='$1'>Outgoing Addresses</a> page.
masq_desc2=This feature can be useful if you want email from your system to appear to come from your domain name rather than your hostname, or if your system is the mail hub for number of other hosts running their own mailservers.
masq_err=Failed to save domain masquerading
masq_edomain='$1' is not a valid domain to masquerade as
masq_ehost='$1' is not a valid host or domain name
masq_eip='$1' is an IP address, not a domain

trusts_title=Trusted Users
trusts_ecannot=You are not allowed to edit trusted users
trusts_users=Local users trusted by sendmail
trusts_desc=If a local user tries to send email, sendmail will only allow the user to provide a different <tt>From:</tt> address if the user is on the list to the left. This restriction exists to prevent users from forging email with faked <tt>From:</tt> addresses origination from your system.
trusts_err=Failed to save trusted users
trusts_euser='$1' is not a valid user

virtusers_title=Address Mapping
virtusers_ecannot=You are not allowed to edit address mappings
virtusers_efeature=Your sendmail configuration does not have the address mapping (<tt>virtuser</tt>) feature enabled. <a href='$1'>Click here</a> to setup sendmail features.
virtusers_efile=The text file $1 from which the address mapping database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
virtusers_createfile=Or if this feature has just been enabled, <a href='$1'>click here</a> to create the file.
virtusers_desc1=Address mappings are similar to <a href='$1'>aliases</a>, but are more suited to a system that handles multiple email domains. They can be used to redirect mail for an entire domain to one address, handle users with the same name in different domains, or map all mail from one domain to another.
virtusers_desc2=Note that you must have an entry in the <a href='$1'>local domains</a> table for any domains used for address mapping, and there must be a DNS MX record for each domain pointing to your system.
virtusers_for=Mail for..
virtusers_to=Send to..
virtusers_error=Error $1
virtusers_domain=Domain $1
virtusers_address=Address $1
virtusers_return=address mapping list
virtusers_toomany=There are too many address mappings on your system to display on this page.
virtusers_go=Find address mappings matching:

vform_edit=Edit Mapping
vform_create=Create Mapping
vform_for=Mail for
vform_address=Address
vform_domain=Domain
vform_to=Send to
vform_msg=message
vform_error=Return error
vform_err_nouser=nouser
vform_err_nohost=nohost
vform_err_unav=unavailable
vform_err_temp=tempfail
vform_err_proto=protocol
vform_end=Move to end
vform_ecannot=You are not allowed to edit this address mapping

vsave_ecannot=You are not allowed to edit address mappings
vsave_ecannot2=You are not allowed to edit this address mapping
vsave_emax=You are not allowed to create more than $1 address mappings
vsave_err=Failed to save address mapping
vsave_efrom='$1' is not a valid address
vsave_efromdup=Address mapping for '$1' is already defined
vsave_edom='$1' is not a valid domain
vsave_edomdup=Address mapping for '$1' is already defined
vsave_ematch=The source address does not match '$1'
vsave_esame=You are only allowed to create address mappings for your username
vsave_ecannot3=You are not allowed to create mappings to addresses
vsave_eaddr='$1' is not a valid address
vsave_ecannot4=You are not allowed to create mappings to domains
vsave_edomdom=Only a domain can be mapped to another domain
vsave_ecannot5=You are not allowed to create mappings that return an error

mailers_title=Domain Routing
mailers_cannot=You are not allowed to edit domain routing
mailers_edirective=Your sendmail configuration file does not have the necessary directive for domain routing.
mailers_efeature=Your sendmail configuration does not have the domain routing (<tt>mailertable</tt>) feature enabled. <a href='$1'>Click here</a> to setup sendmail features.
mailers_efile=The text file $1 from which the domain routing database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
mailers_desc1=Domain routing provides a way to define a special transfer method for mail to certain domains. This can be useful if your system is a gateway for mail servers that cannot be reached from outside your network, or if you want to force all mail for a particular domain to be routed through some other server.
mailers_desc2=You should <b>not</b> have an entry in the <a href='$1'>local domains</a> list for any routed domains. However, you should have a DNS MX record pointing to your system for any domains that it is a gateway for.
mailers_for=Mail for..
mailers_delivery=Delivery
mailers_to=Send to..
mailers_return=domain routing list

mform_edit=Edit Routing
mform_create=Create Routing
mform_for=Mail for
mform_host=Host
mform_domain=Domain
mform_delivery=Delivery
mform_to=Send to
mform_ignore=Ignore MX for SMTP delivery
mform_smtp=SMTP
mform_esmtp=Extended SMTP
mform_smtp8=8-bit SMTP
mform_relay=SMTP relay
mform_local=Local user
mform_prog=Feed to program
mform_uucp=UUCp
mform_usenet=Post to USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Error
mform_ecannot=You are not allowed to edit domain routing

msave_ecannot=You are not allowed to edit domain routing
msave_err=Failed to save domain routing
msave_edomain='$1' is not a valid host or domain
msave_edup=Domain routing for '$1' is already defined

generics_title=Outgoing Addresses
generics_cannot=You are not allowed to edit outgoing addresses
generics_econfig=Your sendmail configuration file does not have the necessary directive for outgoing address mapping.
generics_efeature=Your sendmail configuration does not have the outgoing address mapping (<tt>generics</tt>) feature enabled. <a href='$1'>Click here</a> to setup sendmail features.
generics_efile=The text file $1 from which the outgoing address database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
generics_desc1=Outgoing address mapping allows you to modify the <tt>From:</tt> addresses of mail send out from your system, or through your system by other hosts on your local network. This can be useful if you are hosting multiple domains on the one system, and want mail from some users to appear to come from a different domain.
generics_desc2=Note that you must have an entry in the <a href='$1'>outgoing domains</a> table for each domain which there are addresses you want outgoing mapping done for. Also note that outgoing address mapping does not work for mail being delivered to local users.
generics_from=Mail from..
generics_to=Change to..
generics_return=address mapping list
generics_toomany=There are too many outgoing addresses on your system to display on this page.
generics_go=Find outgoing addresses matching:

gform_edit=Edit Mapping
gform_create=Create Mapping
gform_from=Mail from
gform_to=Change to
gform_ecannot=You are not allowed to edit this outgoing address

gsave_ecannot=You are not allowed to edit outgoing addresses
gsave_ecannot2=You are not allowed to edit this outgoing address
gsave_err=Failed to save outgoing address
gsave_efrom='$1' is not a valid from address
gsave_ematch=The from address does not match '$1'
gsave_eto='$1' is not a valid new address

cgs_title=Outgoing Domains
cgs_ecannot=You are not allowed to edit outgoing domains
cgs_header=Outgoing address domains
cgs_desc=Apart from mail sent by local users, sendmail will only perform <a href='$1'>outgoing address</a> mapping for mail from hosts or domains listed in the text box to the right. Thus for an outgoing address entry to work the domain in the from address must be included in this list.
cgs_err=Failed to save outgoing domains
cgs_ehost='$1' is not a valid host or domain name
cgs_eip='$1' is an IP address, not a domain

domains_title=Domain Mapping
domains_ecannot=You are not allowed to edit domain mapping
domains_econfig=Your sendmail configuration file does not have the necessary directive for domain mapping.
domains_efeature=Your sendmail configuration does not have the domain mapping (<tt>domaintable</tt>) feature enabled. <a href='$1'>Click here</a> to setup sendmail features.
domains_efile=The text file $1 from which the domain mapping database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
domains_desc=Domain mapping modifies the <tt>To:</tt> address of messages sent out from, relayed through or delivered to users on your system. The <tt>From:</tt> address of relayed messages or messages to local users is also modified. This can be useful if your domain name changes, and you want to change all occurrances of the old domain to the new one.
domains_from=From domain..
domains_to=To domain..
domains_return=domain mapping list

dform_edit=Edit Mapping
dform_create=Create Mapping
dform_from=From domain
dform_to=To domain
dform_ecannot=You are not allowed to edit domain mapping

dsave_ecannot=You are not allowed to edit domain mapping
dsave_err=Failed to save domain mapping
dsave_edomain='$1' is not a valid domain name

access_title=Spam Control
access_ecannot=You are not allowed to configure spam control
access_efeature=Your sendmail configuration does not have the spam control (<tt>access_db</tt>) feature enabled. <a href='$1'>Click here</a> to setup sendmail features.
access_efile=The text file $1 from which the spam control database $2 is built does not exist. Maybe you need to modify the <a href='$3'>module configuration</a> to use the correct path.
access_desc1=Sendmail's spam control feature allows you to prevent spam from reaching your users by rejecting mail from certain addresses, and to prevent spammers from using your system to relay mail. By default sendmail will accept mail from any address for a local user, but prevent any client or mail server from relaying mail through your system. Typically you would add spam control rules to reject mail from spammers, and rules to allow other machines on your network to relay mail through your system.
access_desc2=Note that sendmail will by default allow mail clients running on your system to relay mail via SMTP to any destination. Thus there is no need to add the local <tt>127.0.0</tt> network to the list of those allowed to relay.
access_source=Source..
access_action=Action..
access_return=spam control list
access_toomany=There are too many spam control rules on your system to display on this page.
access_go=Find spam control rules matching:

sform_edit=Edit Spam Control Rule
sform_create=Create Spam Control Rule
sform_source=Mail source
sform_type0=Email Address
sform_type1=Network
sform_type2=User
sform_type3=Domain
sform_action=Action
sform_ok=Accept
sform_relay=Allow relaying
sform_reject=Reject
sform_discard=Discard silently
sform_err=Error code
sform_msg=Message
sform_ecannot=You are not allowed to configure spam control

ssave_ecannot=You are not allowed to configure spam control
ssave_err=Failed to save spam control rule
ssave_etype0='$1' is not a valid address
ssave_etype1='$1' is not a valid network address
ssave_etype2='$1' is not a valid username
ssave_etype3='$1' is not a valid domain
ssave_ecode='$1' is not a valid SMTP error code
ssave_ealready=A spam control rule for '$1' already exists

relay_title=Relay Domains
relay_ecannot=You are not allowed to edit relay domains
relay_eversion=Only sendmail versions 8.9 and above support the relay domains feature.
relay_domains=Domains to which relaying is allowed
relay_desc1=Unless allowed by the <a href='$1'>spam control</a> rules, sendmail will only permit relaying to domains listed in the text box to the left. Incoming mail messages that are not for a local user and not for one of the listed domains will be rejected.
relay_desc2=If your system is serving as a gateway for several domains that are not directly accessible from outside your network (using the <a href='$1'>domain routing</a> feature), then all those domains should be listed here.
relay_err=Failed to save relay domains
relay_edomain='$1' is not a valid domain name

mailq_title=Mail Queue
mailq_count=$1 messages
mailq_ecannot=You are not allowed to view the mail queue
mailq_id=Mail ID
mailq_sent=Sent
mailq_from=From
mailq_to=To
mailq_size=Size
mailq_status=Status
mailq_cc=Cc
mailq_subject=Subject
mailq_unknown=Unknown
mailq_sending=Sending
mailq_dmsg=To view a message from the mail queue, click on its ID in the list above.
mailq_force=To force the immediate delivery of queued of mail, <a href='$1'>click here</a>.
mailq_none=No mail messages are currently queued for delivery
mailq_delete=Delete selected messages
mailq_return=mail queue
mailq_flush=Flush Mail Queue
mailq_flushdesc=Click this button to force the immediate delivery of all messages in the queue, and display the results.

flushq_title=Flush Queue
flushq_desc=Forcing the attempted delivery of mail with the command $1 ..

delq_err=Failed to delete message
delq_ecannot=You are not allowed to dequeue messages
delq_locked=File is currently locked for sending
delq_enone=No messages to delete selected
delq_title=Deleting Messages
delq_file=Deleting mail file $1 ..
delq_efile=invalid filename!
delq_egone=already deleted or delivered
delq_elocked=locked for sending
delq_ok=deleted ok

boxes_title=User Mailboxes
boxes_user=User
boxes_size=Mailbox size
boxes_none=No mail
boxes_return=mailboxes
boxes_sent=Sent mail
boxes_ecannot=You are not allowed to read email
boxes_toomany=There are too many users on your system to list all their mailboxes.
boxes_go=View mail for user:

mail_title=User Email
mail_from=From
mail_date=Date
mail_subject=Subject
mail_to=To
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Priority
mail_highest=Highest
mail_high=High
mail_normal=Normal
mail_low=Low
mail_lowest=Lowest
mail_for=In $1
mail_for2=For user $1
mail_sent=In sent mail list
mail_size=Size
mail_delete=Delete selected
mail_compose=Compose
mail_return=user mailbox
mail_pos=Messages $1 to $2 of $3
mail_none=This mailbox has no messages
mail_ecannot=You are not allowed to read this user's email
mail_all=Select all
mail_invert=Invert selection
mail_search=Find messages where
mail_body=Body
mail_match=matches
mail_ok=Search
mail_nonefrom=None
mail_mark=Mark selected as:
mail_mark0=Unread
mail_mark1=Read
mail_mark2=Special
mail_forward=Forward selected
mail_rfc=From line

view_title=Read Email
view_desc=Message $1 in $2
view_desc2=Message $1 for user $2
view_desc3=Message $1
view_sent=Message $1 in sent mail list
view_qdesc=Queued message $1
view_headers=Mail headers
view_allheaders=View all headers
view_noheaders=View basic headers
view_attach=Attachments
view_reply=Reply
view_reply2=Reply to all
view_enew=Edit as new
view_forward=Forward
view_delete=Delete
view_strip=Remove Attachments
view_ecannot=You are not allowed to read this user's email
view_mark=Mark message as:
view_mark0=Unread
view_mark1=Read
view_mark2=Special
view_return=original email
view_sub=Attached Email

compose_title=Compose Email
reply_title=Reply to Email
forward_title=Forward Email
reply_headers=Mail headers
reply_attach=Forwarded attachments
reply_mailforward=Forwarded messages
reply_attach2=Client and server-side Attachments
reply_send=Send Mail
reply_ecannot=You are not allowed to send mail as this user

send_err=Failed to send mail
send_eto=Missing To address
send_efrom=Missing From address
send_title=Mail Sent
send_ok=Mail sent successfully to $1
send_ecannot=You are not allowed to send mail as this user
send_esmtp=SMTP command $1 failed : $2
send_efile=Attached file $1 does not exist
send_eattach=Attachments cannot total more that $1 kB in size.
send_eperms=User $1 cannot read $2
send_eperms2=You are not allowed to send file $1
send_epath=Sendmail executable $1 does not exist.

delete_ecannot=You are now allowed to delete mail from this user
delete_enone=No mail selected to delete
delete_emnone=No mail selected to mark

search_title=Search Results
search_ecannot=You are not allowed to search this user's email
search_ematch=You must enter text to match against.
search_none=No messages found.
search_results2=$1 mail messages matching $2 ..
search_results3=$1 mail messages not matching $2 ..

file_title=Edit Sendmail File
file_desc=Use the text box below to manually edit the Sendmail file $1.
file_undo=Undo Changes
file_edit=Manually edit $1
file_ealiases=You can only edit an aliases file if you have access to all aliases.
file_evirtusers=You can only edit the address mappings file if you have access to all address mappings.
file_emailers=You are not allowed to edit the domain routing file.
file_egenerics=You can only edit the outgoing addresses file if you have access to all outgoing addresses.
file_edomains=You are not allowed to edit the domain mapping file.
file_eaccess=You are not allowed to edit the spam control file.
file_emode=Unknown mode!
file_err=Failed to edit file

acl_opts=Can edit sendmail options?
acl_cws=Can edit local domains?
acl_masq=Can configure domain masquerading?
acl_trusts=Can edit trusted users?
acl_cgs=Can edit outgoing domains?
acl_relay=Can edit relay domains?
acl_mailers=Can configure domain routing?
acl_access=Can configure spam control?
acl_domains=Can configure domain mapping?
acl_stop=Can start and stop sendmail?
acl_mailq=Can manage mail queue?
acl_viewdel=View and delete
acl_view=View only
acl_virtusers=Address mappings this user can edit
acl_none=None
acl_same=User with same name
acl_all=All
acl_vsame=Starting with username@
acl_matching=Matching
acl_vtypes=Address mapping types this user can edit
acl_vtype0=Return error
acl_vtype1=To domain
acl_vtype2=To address
acl_vmax=Maximum number of address mappings
acl_unlimited=Unlimited
acl_aliases=Aliases this user can edit
acl_atypes=Alias types this user can edit
acl_atype1=Email address
acl_atype2=Addresses in file
acl_atype3=Write to file
acl_atype4=Feed to program
acl_atype5=Autoreply
acl_atype6=Filter file
acl_amax=Maximum number of aliases
acl_outgoing=Outgoing addresses this user can edit
acl_read=Users whose mail can be read
acl_users=Only users
acl_userse=All except users
acl_usersg=Members of group
acl_from=Allowable From addresses
acl_any=Any address
acl_fdoms=Mailbox @ domains
acl_faddrs=Listed addresses
acl_fdom=Any address @ domain
acl_fromname=Real name for From address
acl_apath=Limit files and program to directory
acl_attach=Maximum total attachments size
acl_sent=Store sent mail in mailbox
acl_canattach=Can attach server-side files?
acl_boxname=Show mailbox name as
acl_boxname0=Filename
acl_boxname1=User's real name
acl_boxname2=Nothing
acl_usersm=Users matching
acl_asame=Same as username

log_opts=Changed sendmail options
log_alias_create=Created alias $1
log_alias_modify=Modified alias $1
log_alias_delete=Deleted alias $1
log_alias_manual=Manually edited alias file $1
log_cws=Changed local domains
log_masq=Changed domain masquerading
log_trusts=Changed trusted users
log_virtuser_create=Created address mapping $1
log_virtuser_modify=Modified address mapping $1
log_virtuser_delete=Deleted address mapping $1
log_virtuser_manual=Manually edited address mapping file $1
log_mailer_create=Created domain routing $1
log_mailer_modify=Modified domain routing $1
log_mailer_delete=Deleted domain routing $1
log_mailer_manual=Manually edited domain routing file $1
log_generic_create=Created outgoing address $1
log_generic_modify=Modified outgoing address $1
log_generic_delete=Deleted outgoing address $1
log_generic_manual=Manually edited outgoing address file $1
log_cgs=Changed outgoing domains
log_domain_create=Created domain mapping $1
log_domain_modify=Modified domain mapping $1
log_domain_delete=Deleted domain mapping $1
log_domain_manual=Manually edited domain mapping file $1
log_access_create=Created spam control for $1
log_access_modify=Modified spam control for $1
log_access_delete=Deleted spam control for $1
log_access_manual=Manually edited spam control file $1
log_relay=Changed relay domains
log_flushq=Flushed mail queue
log_delmailq=Deleted mail from $1 from queue
log_delmailqs=Deleted $1 mails from queue
log_stop=Stopped sendmail daemon
log_start=Started sendmail daemon
log_delmail=Deleted $1 messages from $2
log_send=Sent mail to $1
log_feature_create=Added M4 entry $1
log_feature_modify=Modified M4 entry $1
log_feature_delete=Deleted M4 entry $1
log_feature_move=Moved M4 entry $1
log_build=Rebuilt sendmail configuration

match_from=From: matches
match_subject=Subject: matches
match_to=To: matches
match_cc=Cc: matches
match_date=Date: matches
match_body=Body matches
match_size=Size is greater than
match_!from=From: doesn't match
match_!subject=Subject: doesn't match
match_!to=To: doesn't match
match_!cc=Cc: doesn't match
match_!date=Date: doesn't match
match_!body=Body doesn't match
match_!size=Size is less than

features_title=Sendmail M4 Configuration
features_desc=This page lists the relevant entries from the Sendmail M4 configuration file $1, from which the actual configuration file $2 is built.
features_type=Entry type
features_value=Line in configuration file
features_type0=Other
features_type1=Feature
features_type2=Define
features_type3=Undefine
features_type4=Mailer
features_type5=OS Type
features_add=Add new entry of type:
features_build=Rebuild Sendmail Configuration
features_buildmsg=Click this button to rebuild your Sendmail configuration file $1 from the M4 configuration entries listed above.
features_return=M4 configuration
features_emc=The Sendmail M4 configuration file $2 was not found on your system. Maybe it has not been installed (common for packaged installs of Sendmail), or the <a href='$1'>module config</a> is incorrect.
features_efeatures=The Sendmail M4 configuration base directory $2 was not found on your system, or is not the correct directory. Maybe it has not been installed (common for packaged installs of Sendmail), or the <a href='$1'>module config</a> is incorrect.
features_econfig=The location of the Sendmail M4 base directory and M4 config file have not been set yet in your <a href='$1'>module configuration</a>. If you have installed Sendmail from the source, these should be under the original source directory.
features_move=Move
features_manual=Edit file manually

feature_add=Add Configuration Entry
feature_edit=Edit Configuration Entry
feature_header=M4 configuration entry details
feature_text=Configuration line
feature_feat=Feature
feature_values=Parameters
feature_def=Definition name
feature_defval=Value
feature_defmode1=Set to ..
feature_defmode0=Undefine
feature_mailer=Mail delivery method
feature_ostype=Operating system type
feature_old=Current configuration line
feature_err=Failed to save configuration entry
feature_efeat=The feature $1 already exists
feature_edef=The definition $1 already exists
feature_emailer=The mailer $1 already exists
feature_eostype=The OS type is already defined as $1
feature_manual=Edit M4 File
feature_mdesc=The page allowes you to manually edit the Sendmail M4 configuration file $1. Be careful, as no syntax checking will be done on your edits.

feat_access_db=Spam control file
feat_virtusertable=Address Mapping
feat_mailertable=Domain Routing
feat_genericstable=Outgoing Addresses
feat_domaintable=Domain Mapping

mailer_local=Local Unix delivery

build_title=Rebuild Sendmail Configuration
build_em4=The command $1 needed for rebuilding the Sendmail configuration file was not found on your system.
build_ebuild=Failed to build configuration : $1
build_rusure=Are you sure you want to replace the Sendmail configuration file $1 with a new version built from $2 ?
build_rusure2=Be aware that if you have made changes to Sendmail in the Sendmail Options page, rebuilding the config file may overwrite those changes if they have not also been made in the M4 file.
build_ok=Yes, replace it now
build_diff=The following changes will be made to your Sendmail configuration file ..
build_nodiff=Your sendmail configuration file is already up to date.

0707010002875b000081a40000000000000002000000013d1fe2d300006b05000000200000000000000000000000000000001700000003reloc/sendmail/lang/es    index_title=Configuración de Sendmail
index_econfig=El archivo de configuración de sendmail $1 no existe. Quizás tu <a href='$2'>configuración del módulo</a> es incorrecta.
index_eversion=Tu archivo de configuración de sendmail no parece ser la última versión. Webmin sólo soporta versiones 8.8 y superiores.
index_epath=El ejecutable de sendmail $1 no está instalado en tu sistema. Quizá tu <a href='$2'>configuración de módulo</a> es incorrecta o sendmail no está instalado.
index_return=configuración de sendmail
index_stop=Parar Sendmail
index_stopmsg=Haz click en este botón para parar el proceso en curso de sendmail. Esto hará que se pare el envío de correo a los usuarios locales desde otros sistemas y hará que los clientes que utilicen este sistema como servidor de correo no puedan usarlo.
index_start=Arrancar Sendmail
index_startmsg=Haz click en este botón para arrancar sendmail con el comando $1. Hasta que se haga esto, el correo no será entregado a los usuarios locales desde otros sistemas y los clientes no podrán utilizar este sistema como un servidor de correo.

opts_title=Opciones de Sendmail
opts_ecannot=No estás autorizado a editar las opciones de sendmail
opts_ds=Enviar correo saliente a través de la máquina
opts_direct=Entregar directamente
opts_dr=Remitir nombres de usuario no calificados a la máquina
opts_dh=Remitir correo para usuarios locales a la máquina
opts_local=Entregar localmente
opts_queuela=Media de carga máxima para enviar
opts_refusela=Media de carga máxima para recibir
opts_maxch=Máximo número de procesos hijo
opts_throttle=Máximas conexiones / segundo
opts_minqueueage=Tiempo mínimo ante de reintentar enviar
opts_runsize=Máxima medida de cola
opts_queuereturn=Tiempo antes de darse por vencido
opts_queuewarn=Tiempo antes de enviar un aviso
opts_queue=Directorio de cola de correo
opts_postmaster=Enviar mensajes de error a
opts_forward=Archivos de remisión de usuario
opts_minfree=Espacio mínimo libre en disco
opts_maxmessage=Máxima medida de mensaje
opts_loglevel=Nivel de historial
opts_mimebounce=codificación-MIME pone en la calle los mensajes?
opts_default=Por defecto
opts_save=Salvar y Aplicar
opts_err=Error al salvar opciones
opts_ehost='$1' no es un nombre de máquina o de dominio válido
opts_einvalid='$1' no es un valor válido para '$2'
opts_blame=Opciones de seguridad de archivo
opts_selected=Seleccionado...
opts_blocks=bloques
opts_bytes=octetos
opts_dmode=Modo de entrega
opts_background=Segundo plano
opts_queue-only=Sólo poner en cola
opts_interactive=Interactivo
opts_deferred=Diferido

aliases_title=Alias de Correo
aliases_ecannot=No estás autorizado a editar alias
aliases_addr=Dirección
aliases_to=Alias de..
aliases_type1=Dirección $1
aliases_type2=Direcciones en archivo $1
aliases_type3=Archivo $1
aliases_type4=Programa $1
aliases_type5=Archivo de autoréplica $1
aliases_none=Ninguno
aliases_return=lista de alias

aform_type0=Ninguna
aform_type1=Dirección de Correo
aform_type2=Direcciones en archivo
aform_type3=Escribir en archivo
aform_type4=Alimentar a programa
aform_type5=Archivo para autoréplica
aform_edit=Editar Alias
aform_create=Crear Alias
aform_name=Dirección
aform_enabled=¿Activado?
aform_val=Alias de
aform_afile=Editar...
aform_return=alias

afile_title=Editar Archivo de Direcciones
afile_desc=Usar el área de texto inferior para editar las direcciones en el archivo $1.
afile_efile=No estás autorizado a editar $1.
afile_undo=Deshacer los Cambios

rfile_title=Editar Archivo de Autoréplica
rfile_desc=Usar el área de texto inferior para editar el mensaje de autoréplica en $1. El mensaje puede contener las macros $SUBJECT, $FROM, $TO, $DATE y $BODY que serán expandidas cuando la autoréplica esté activada.
rfile_efile=No estás autorizado a editar $1.
rfile_undo=Deshacer los Cambios

asave_err=Error al salvar alias
asave_ecannot2=No estás autorizado a editar alias
asave_ecannot=No estás autorizado a editar este alias
asave_emax=No estás autorizado a crear más de $1 alias
asave_eaddr='$1' no es una dirección válida
asave_ealready=Ya existe un alias para '$1'
asave_ematch=Sólo estás autorizado a crear alias que coincidan con '$1'
asave_etype=No puedes crear alias de este tipo
asave_etype1='$1' no es una dirección de correo válida
asave_etype2=El archivo de direcciones '$1' no es válido o no existe
asave_etype3='$1' no es un nombre de archivo válido
asave_etype4='$1' no es un programa válido o no existe
asave_etype5=Archivo de autoréplica '$1' no es válido o no existe
asave_etype4none=No se ha suministrado programa alguno

cws_title=Dominios Locales
cws_ecannot=No estás autorizado a editar dominios locales
cws_domains=Dominios manejados por este servidor
cws_desc1=Además de enviar correo a $1, sendmail sólo aceptará para entrega local correo para dominios y nombres de máquina listados en la caja de texto de la izquierda. Si deseas que tu servidor de correo maneje dominios de correo múltiples, estos han de estar listados en este formulario.
cws_desc2=Date cuenta de que con sólo incluir un dominio en la lista no es suficiente. Además tienes que asegurarte de que existe un registro DNS para ese dominio y que apunta a tu sistema.
cws_err=Error al salvar dominios locales
cws_ehost='$1' no es un nombre de máquina o de dominio válido
cws_eip='$1' es una dirección IP, no un dominio

masq_title=Enmascaramiento de Dominio
masq_ecannot=No estás autorizado a configurar enmascaramiento
masq_domain=Enmascarar como dominio
masq_domains=Dominios a ser enmascarados
masq_desc1=Si se digita un dominio arriba, sendmail alterará las direcciones <tt>Desde (From)</tt> de todos los mensaje salientes para que parezcan venir desde ese dominio. Además, cualquier mensaje de email que pase a través de tu sistema desde alguna de las máquinas o dominios listados a la izquierda tendrá su dirección <tt>Desde (From)</tt> modificada de igual manera. Ten en cuenta que cualquier enmascaramiento de dominio definido aquí puede ser no tenido en cuenta por usuarios específicos que utilicen la página de <a href='$1'>Direcciones de Salida</a>.
masq_desc2=Esta característica puede ser útil si deseas que el correo de tu sistema parezca que viene desde tu nombre de dominio en vez de tu nombre de máquina o si tu sistema es el concentrador de correo para un número de otras máquinas que tienen sus propios servidores de correo.
masq_err=Error al salvar enmascaramiento de dominio.
masq_edomain='$1' no es un dominio a enmascarar válido
masq_ehost='$1' no es una máquina o nombre de dominio válido
masq_eip='$1' es una dirección IP, no un dominio

trusts_title=Usuarios Fiables
trusts_ecannot=No estás autorizado a editar usuarios fiables
trusts_users=Usuarios locales en que sendmail confía
trusts_desc=Si un usuario local intenta enviar correo, sendmail permitirá sólo que el usuario suministre una dirección <tt>Desde: (From:)</tt> diferente si el usuario está en la lista de la izquierda. Esta restricción existe para prevenir que los usuarios envíen correo con direcciones <tt>Desde: (From:)</tt> falsas desde tu sistema.
trusts_err=Error al salvar usuarios fiables
trusts_euser='$1' no es un usuario válido

virtusers_title=Mapeo de Direcciones
virtusers_ecannot=No estás autorizado a mapear direcciones
virtusers_edirective=Tu archivo de configuración de sendmail no tiene la directiva necesaria para el mapeo de direcciones.
virtusers_efile=El archivo de texto $1 desde el cual la base de datos de mapeo de direcciones $2 es construída no existe. Quizá necesitas modificar la <a href='$3'>configuración del módulo</a> para utilizar la trayectoria correcta.
virtusers_desc1=Los mapeos de direcciones son similares a los <a href='$1'>alias</a>, pero son más adecuados en un sistema que maneja dominios de correo múltiples. Pueden ser utilizados para redirigir correo para un dominio completo a una sola dirección, manejar usuarios con el mismo nombre en diferentes dominios o mapear todo el correo desde un dominio a otro.
virtusers_desc2=Ten en cuenta que tienes que tener una entrada en la tabla de <a href='$1'>dominios locales</a> para cualquier dominio usado por el mapeo de direcciones y que debe de haber un registro MX de DNS para cada dominio que apunte a tu sistema.
virtusers_for=Correo para...
virtusers_to=Enviar a...
virtusers_error=Error $1
virtusers_domain=Dominio $1
virtusers_address=Dirección $1
virtusers_return=lista de mapeo de direcciones

vform_edit=Edita Mapeo
vform_create=Crear Mapeo
vform_for=Correo para
vform_address=Dirección
vform_domain=Dominio
vform_to=Enviar a
vform_msg=mensaje
vform_error=Devolver error
vform_err_nouser=usuario inexistente
vform_err_nohost=máquina inexistente
vform_err_unav=no disponible
vform_err_temp=fallo temporal
vform_err_proto=protocolo
vform_end=Move al final
vform_ecannot=No estás autorizado a editar este mapeo de dirección

vsave_ecannot=No estás autorizado a editar mapeo de direcciones
vsave_ecannot2=No estás autorizado a editar este mapeo de dirección
vsave_emax=No estás autorizado a crear más de $1 mapeos de direcciones
vsave_err=Error al salvar mapeo de direcciones
vsave_efrom='$1' no es una dirección válida
vsave_efromdup=Ya está definido el mapeo de dirección '$1'
vsave_edom='$1' no es un dominio válido
vsave_edomdup=Ya está definido el mapeo de dirección para '$1'
vsave_ematch=La dirección emisora no coincide con '$1'
vsave_ecannot3=No estás autorizado a crear mapeos a direcciones
vsave_eaddr='$1' no es una dirección válida
vsave_ecannot4=No estás autorizado a crear mapeos a dominios
vsave_edomdom=Sólo un dominio puede ser mapeado a otro dominio
vsave_ecannot5=No estás autorizado a crear mapeos que devuelvan un error

mailers_title=Enrutamiento de Dominio
mailers_cannot=No estás autorizado a editar enrutamiento de dominio
mailers_edirective=Tu archivo de configuración de sendmail no tiene la directiva necesaria para enrutamiento de dominio.
mailers_efile=El archivo de texto $1 desde el que se construye la base de datos de enrutamiento de dominio $2 no existe. Quizá necesitas modificar la <a href='$3'>configuración del módulo</a> para usar la trayectoria correcta.
mailers_desc1=El enrutamiento de dominio proporciona un modo de definir un método de transferencia especial de envío de correo a ciertos dominios. Esto puede ser útil si tu sistema es un pasarela para servidores de correo que no pueden ser alcanzados desde fuera de tu red o si quieres forzar que todo el correo para un dominio en particular sea enrutado a través de algún otro servidor.
mailers_desc2=<b>No</b> deberías de tener entrada alguna en la lista de <a href='$1'>dominios locales</a> para cualquier dominio que esté enrutado. Sin embargo, deberías tener un registro MX de DNS apuntando a tu sistema para cualquier dominio que sea un pasarela para él.
mailers_for=Correo para...
mailers_delivery=Entrega
mailers_to=Enviar a...
mailers_return=lista de enrutamiento de dominio

mform_edit=Editar Enrutamiento
mform_create=Crear Enrutamiento
mform_for=Correo para
mform_host=Máquina
mform_domain=Dominio
mform_delivery=Entrega
mform_to=Enviar a
mform_ignore=Ignorar MX para entrega SMTP
mform_smtp=SMTP
mform_esmtp=SMTP Extendido
mform_smtp8=SMTP de 8 bits
mform_relay=A través mía con SMTP
mform_local=Usuario local
mform_prog=Alimentar programa
mform_uucp=UUCp
mform_usenet=Correo a USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Error
mform_ecannot=No estás autorizado a editar enrutamiento de dominio

msave_ecannot=No estás autorizado a salvar enrutamiento de dominio
msave_err=Error al salvar enrutamiento de dominio
msave_edomain='$1' no es una máquina o dominio válido
msave_edup=Ya está definidio el enrutamiento de dominio para '$1'

generics_title=Direcciones de Salida
generics_cannot=No estás autorizado a editar direcciones de salida
generics_econfig=Tu archivo de configuración de sendmail no tiene la directiva necesaria para mapear direcciones de salida.
generics_efile=El archivo de texto $1 desde el cual se crea la base de datos de direcciones de salida $2 no existe. Quizá necesitas modificar la <a href='$3'>configuración del módulo</a> para usar la trayectoria correcta.
generics_desc1=El mapeo de direcciones de salida te permite modificar las direcciones <tt>Desde: (From:)</tt> del correo que sale de tu sistema o a través de tu sistema desde otras máquinas de tu red local. Esto puede ser útil si estás siendo el anfitrión de múltiples dominios en tu sistema y deseas que el correo de algunos usuarios parezca que viene de un dominio diferente.
generics_desc2=Ten en cuenta que tienes que tener una entrada en la tabla de <a href='$1'>dominios salientes</a> para cada dominio del que haya direcciones que quieras mapear. Ten en cuenta también que el mapeo de direcciones salientes no funciona para el correo entregado a usuarios locales.
generics_from=Correo desde...
generics_to=Cambia a..
generics_return=lista de mapeo de direcciones

gform_edit=Editar Mapeo
gform_create=Crear Mapeo
gform_from=Correo desde
gform_to=Cambia a
gform_ecannot=No estás autorizado a editar esta dirección de salida

gsave_ecannot=No estás autorizado a salvar esta dirección de salida
gsave_ecannot2=No estás autorizado a salvar esta dirección de salida
gsave_err=Error al salvar dirección de salida
gsave_efrom='$1' no es una dirección 'desde' válida
gsave_ematch=La dirección 'desde' no coincide con '$1'
gsave_eto='$1' no es una nueva dirección válida

cgs_title=Dominios de Salida
cgs_ecannot=No estás autorizado a editar dominios de salida
cgs_header=Dominios de Direcciones Salientes
cgs_desc=Además del correo enviado por los usuarios locales, sendmail realizará sólo mapeo de <a href='$1'>dirección de salida</a> para el correo desde máquinas o dominios listados en la caja de texto de la izquierda. Por lo tanto, para que una entrada de dirección de salida funcione, el dominio de la dirección 'desde' debe de estar incluído en la lista.
cgs_err=Error al salvar dominios salientes
cgs_ehost='$1' no es un nombre de máquina o dominio válido
cgs_eip='$1' es una dirección IP, no un dominio

domains_title=Mapeo de Dominio
domains_ecannot=No estás autorizado a editar mapeo de dominio
domains_econfig=Tu archivo de configuración de sendmail no tiene la directiva necesaria para mapeos de dominio.
domains_efile=El archivo de texto $1 desde el cual se construye la base de datos de mapeo de direcciones $2 no existe. Quizá necesitas modificar la <a href='$3'>configuración del módulo</a> para usar la trayectoria correcta.
domains_desc=El mapeo de dominios modifica la dirección <tt>A: (To:)</tt> de los mensajes enviados desde, pasados a través de o entregados a usuarios de tu sistema. La dirección <tt>Desde: (From:)</tt> de los mensajes pasados a través de ti o de los enviados a usuarios locales también es modificada. Esto puede ser útil si tu nombre de dominio cambia y quieres cambiar todas las ocurrencias del viejo dominio por el nuevo.
domains_from=Desde dominio...
domains_to=A dominio...
domains_return=lista de mapeo de dominios

dform_edit=Editar Mapeo
dform_create=Crear Mapeo
dform_from=Desde dominio
dform_to=A dominio
dform_ecannot=No estás autorizado a editar mapeo de dominio

dsave_ecannot=No estás autorizado a editar mapeo de dominio
dsave_err=Error al salvar mapeo de dominio
dsave_edomain='$1' no es un nombre de dominio válido

access_title=Control de 'a Rechazar'
access_ecannot=No estás autorizado a configurar control de 'a rechazar'
access_econfig=Tu archivo de configuración de sendmail no tiene la directiva necesaria para control de 'a rechazar'.
access_efile=El archivo de texto $1 desde el cual se construye la base de datos de mapeo de direcciones $2 no existe. Quizá necesitas modificar la <a href='$3'>configuración del módulo</a> para utilizar la trayectoria correcta.
access_desc1=Las características de control de 'a rechazar' de sendmail te permite prevenir que el correo no deseado llegue a tus usuario mediante el rechazo del correo de ciertas direcciones y así prevenir que los usuarios que lo envían utilicen tu sistema para enviar correo a través de él. Por defecto sendmail aceptará correo desde cualquier dirección hacia tus usuarios locales pero tendrá previsto que cualquier cliente o servidor de correo envíe el mismo a través de tu sistema. Típicamente lo que debes hacer es añadir reglas de control de correo de 'a rechazar' para así rechazar el correo enviado por esta gente y también debes de añadir reglas que permitan a otras máquinas de tu red el enviar correo a través de tu sistema.
access_desc2=Ten en cuenta que sendmail permitirá por defecto a los clientes de correo que trabajan en tu sistema el enviar correo vía SMTP a cualquier dirección. Por ello, no hay necesidad de añadir la red local <tt>127.0.0</tt> a la lista de los que están autorizados a enviar correo a través de ti.
access_source=Emisor...
access_action=Acción..
access_return=lista de control de 'a rechazar'

sform_edit=Editar Regla de Control de 'a Rechazar'
sform_create=Crear Regla de Control de 'a Rechazar'
sform_source=Fuente de correo
sform_type0=Dirección de Correo
sform_type1=Red
sform_type2=Usuario
sform_type3=Dominio
sform_action=Acción
sform_ok=Aceptar
sform_relay=Permitir a través mía
sform_reject=Rechazar
sform_discard=Descartar en silencio
sform_err=Código de error
sform_msg=Mensaje
sform_ecannot=No estás autorizado a configurar control de 'a Rechazar'

ssave_ecannot=No estás autorizado a configurar control de 'a Rechazar'
ssave_err=Error al salvar regla de control de 'a rechazar'
ssave_etype0='$1' no es una dirección válida
ssave_etype1='$1' no es una dirección de red válida
ssave_etype2='$1' no es un nombre de usuario válido
ssave_etype3='$1' no es un dominio válido
ssave_ecode='$1' no es un código de error SMTP válido

relay_title=Dominios de A través mía
relay_ecannot=No estás autorizado a editar dominios de a través mía
relay_eversion=Sólo las versiones de sendmail 8.9 y superiores soportan la característica de dominios de a través mía.
relay_domains=Dominios autorizados a enviar a través mía
relay_desc1=A menos que estés autorizado por las reglas de <a href='$1'>control de 'a rechazar'</a>, sendmail sólo permitirá enviar correo a través mía a los dominios listados en la caja de texto de la izquierda. Los mensajes de correo entrantes que no sean para usuarios locales o para cualquiera de los dominios listados, serán rechazados.
relay_desc2=Si tu sistema sirve de pasarela de varios dominios que no son directamente accesibles desde fuera de tu red (usando la característica de <a href='$1'>enrutamiento de dominio</a>), entonces todos esos dominios deberían de estar listados aquí.
relay_err=Error al salvar dominios de 'a través mía'
relay_edomain='$1' no es un nombre de dominio válido

mailq_title=Cola de Correo
mailq_ecannot=No estás autorizado a ver la cola de correo
mailq_id=ID de Correo
mailq_sent=Enviado
mailq_from=Desde
mailq_to=A
mailq_size=Medida
mailq_status=Estado
mailq_unknown=Desconocido
mailq_sending=Enviando
mailq_dmsg=Para ver un mensaje de la cola de correo, haz click en su ID de la lista superior.
mailq_force=Para forzar la entrega inmediata de correo en cola, <a href='$1'>haz click aquí</a>.
mailq_none=En este momento no hay mensajes de correo en cola pendientes de ser entregados
mailq_delete=Borrar mensajes seleccionados
mailq_return=cola de correo

flushq_title=Limpiar Cola
flushq_desc=Forzando la ya intentada entrega de correo con el comando $1...

delq_err=Error al quitar mensaje
delq_ecannot=No estás autorizado a quitar mensajes de la cola
delq_locked=En este momento está bloqueado para ser enviado
delq_enone=No se han seleccionado mensajes que borrar
delq_title=Borrando Mensajes
delq_file=Borrando archivo de correo $1...
delq_efile=¡nombre de archivo inválido!
delq_egone=ya borrado o entregado
delq_elocked=bloqueado para ser enviado
delq_ok=Borrado ok

boxes_title=Buzones de Usuario
boxes_user=Usuario
boxes_size=Medida de Buzón
boxes_none=No hay correo
boxes_return=buzones
boxes_sent=Correo enviado
boxes_ecannot=No estás autorizado a leer correo

mail_title=Correo de Usuario
mail_from=Desde
mail_date=Fecha
mail_subject=Asunto
mail_to=A
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Prioridad
mail_highest=La mayor
mail_high=Alta
mail_normal=Normal
mail_low=Baja
mail_lowest=La más baja
mail_for=En $1
mail_for2=Para usuario $1
mail_sent=En lista de correo enviado
mail_size=Medida
mail_delete=Borrar mensajes seleccionados
mail_compose=Componer nuevo correo
mail_return=correo de usuario
mail_pos=Mensajes $1 a $2 de $3
mail_none=Este buzón no tiene mensajes
mail_ecannot=No estás autorizado a leer el correo de este usuario
mail_all=Seleccionar todos
mail_invert=Invertir selección
mail_search=Hallar mensajes donde
mail_body=Cuerpo
mail_match=que coincida con
mail_ok=Buscar
mail_nonefrom=Ninguno
mail_mark=Marcar los seleccionados como:
mail_mark0=No leídos
mail_mark1=Leídos
mail_mark2=Especiales

view_title=Leer Correo
view_desc=Mensaje $1 en $2
view_desc2=Mensaje $1 para usuario $2
view_desc3=Mensaje $1
view_sent=Mensaje $1 en lista de corre enviado
view_qdesc=Mensaje en cola $1
view_headers=Cabeceras de Correo
view_attach=Adjuntados
view_reply=Responder
view_reply2=Reponder a todos
view_enew=Editar como nuevo
view_forward=Remitir a
view_delete=Borrar
view_strip=Quitar Adjuntados
view_ecannot=No estás autorizado a leer el correo de este usuario
view_mark=Marcar mensaje como:
view_mark0=No leído
view_mark1=Leído
view_mark2=Especial

compose_title=Componer Correo
reply_title=Responder a Correo
forward_title=Remitir Correo
reply_headers=Cabeceras de Correo
reply_attach=Adjuntados remitidos
reply_attach2=Adjuntados
reply_send=Enviar
reply_ecannot=No estás autorizado a enviar correo a este usuario

send_err=Error al enviar correo
send_eto=Dirección 'A' sin poner
send_efrom=Dirección 'De' sin poner
send_title=Correo enviado
send_ok=Correo enviado correctamente a $1
send_ecannot=No estás autorizado a enviar correo como este usuario
send_esmtp=Ha fallado el comando SMTP $1 : $2
send_efile=El archivo incluído $1 no existe
send_eattach=Los archivos incluídos no pueden exceder más de 1kB de medida
send_eperms=El usuario $1 no puede leer $2
send_eperms2=No estás autorizado a enviar archivo $1

delete_ecannot=No estás autorizado a borrar correo de este usuario
delete_enone=No se ha seleccionado correo para ser borrado
delete_emnone=No hay correo seleccionado para marcar

search_title=Resultados de la búsqueda
search_ecannot=No estás autorizado a buscar en este correo de usuario
search_ematch=Debes de digitar un texto que coincida con algo.
search_none=No se han encontrado mensajes.
search_results=Mensajes de correo que coinciden con $1...

file_title=Editar Archivo de Sendmail
file_desc=Usar la caja de texto inferior para editar manuálmente el archivo de Sendmail $1.
file_undo=Deshacer los Cambios
file_edit=Editar manuálmente $1
file_ealiases=Sólo puedes editar un archivo de aliases si tienes acceso a todos los aliases.
file_evirtusers=Sólo puedes editar el archivo de mapeo de direcciones si tienes acceso a todos los mapeos de direcciones.
file_emailers=No estás autorizado a editar el archivo de enturamiento de dominio.
file_egenerics=Sólo puedes editar el archivo de direcciones salientes si tienes acceso a todas las direcciones salientes.
file_edomains=No estás autorizado a editar el archivo de mapeo de dominio.
file_eaccess=No estás autorizado a editar el archivo de control de 'a rechazar'.
file_emode=¡Modo desconocido!
file_err=No pude editar el archivo

acl_opts=¿Puedo editar opciones de sendmail?
acl_cws=¿Puedo editar dominios locales?
acl_masq=¿Puedo configurar enmascaramiento de dominio?
acl_trusts=¿Puedo editar usuarios fiables?
acl_cgs=¿Puedo editar dominios salientes?
acl_relay=¿Puedo editar dominios de enviar a través mía?
acl_mailers=¿Puedo configurar enrutamiento de dominio?
acl_access=¿Puedo configurar control de 'a rechazar'?
acl_domains=¿Puedo configurar mapeo de dominio?
acl_stop=¿Puedo arrancar y parar sendmail?
acl_mailq=¿Puedo manejar la cola de correo?
acl_viewdel=Ver y borrar
acl_view=Ver sólamente
acl_virtusers=Mapeos de dirección que este usuario puede editar
acl_none=Ninguno
acl_same=Usuario con mismo nombre
acl_all=Todos
acl_matching=Que coincidan con
acl_vtypes=Tipos de mapeo de dirección que este usuario puede editar
acl_vtype0=Error devuelto
acl_vtype1=A dominio
acl_vtype2=A dirección
acl_vmax=Número máximo de mapeo de direcciones
acl_unlimited=Ilimitado
acl_aliases=Alias que este usuario puede editar
acl_atypes=Tipos de alias que este usuario puede editar
acl_atype1=Dirección de correo
acl_atype2=Direcciones en archivo
acl_atype3=Escribir en archivo
acl_atype4=Alimentar a programa
acl_atype5=Autoréplica
acl_amax=Número máximo de alias
acl_outgoing=Direcciones salientes que este usuario puede editar
acl_read=Usuarios cuyo correo puede ser leído
acl_users=Usuarios
acl_userse=Todos excepto los usuarios
acl_usersg=Miembros de grupo
acl_from=Direcciones 'desde' autorizadas
acl_any=Cualquier dirección
acl_fdoms=Buzones en dominios
acl_faddrs=Direcciones listadas
acl_fdom=Cualquier dirección en dominio
acl_apath=Limitar archivos y programa a directorio
acl_attach=Medida máxima total de archivos a incluir
acl_sent=Almacenar correo enviado en buzón
acl_canattach=¿Puede adjuntar archivos del lado servidor?
acl_boxname=Mostrar nombre de buzón como
acl_boxname0=Nombre de archivo
acl_boxname1=Nombre real de usuario
acl_boxname2=Nada

log_opts=Cambiadas opciones de sendmail
log_alias_create=Creado alias $1
log_alias_modify=Modificado alias $1
log_alias_delete=Borrado alias $1
log_alias_manual=Archivo de alias editado manuálmente $1
log_cws=Cambiados dominios locales
log_masq=Cambiado enmascaramiento de dominio
log_trusts=Cambiados usuarios fiables
log_virtuser_create=Creado mapeo de dirección $1
log_virtuser_modify=Modificado mapeo de dirección $1
log_virtuser_delete=Borrado mapeo de dirección $1
log_virtuser_manual=Editado manuálmente archivo de mapeo de dirección $1
log_mailer_create=Creado enrutamiento de dominio $1
log_mailer_modify=Modificado enrutamiento de dominio $1
log_mailer_delete=Borrado enrutamiento de dominio $1
log_mailer_manual=Editado manuálmente archivo de enrutamiento de dominio $1
log_generic_create=Creada dirección saliente $1
log_generic_modify=Modificada dirección saliente $1
log_generic_delete=Borrada dirección saliente $1
log_generic_manual=Editado manuálmente archivo de dirección saliente $1
log_cgs=Cambiados dominios salientes
log_domain_create=Creado mapeo de dominio $1
log_domain_modify=Modificado mapeo de dominio $1
log_domain_delete=Borrado mapeo de dominio $1
log_domain_manual=Editado manuálmente archivo de mapeo de dominio $1
log_access_create=Creado control de 'a rechazar' para $1
log_access_modify=Modificado control de 'a rechazar' para $1
log_access_delete=Borrado control de 'a rechazar' para $1
log_access_manual=Editado manuálmente archivo de control de 'a rechazar' para $1
log_relay=Cambiados dominios de relé
log_flushq=Cola de correo vaciada
log_delmailq=Borrado correo de $1 de la cola
log_delmailqs=Borrados $1 correos de la cola
log_stop=Daemon de sendmail parado
log_start=Daemon de sendmail arrancado
log_delmail=Borrados $1 mensajes de $2
log_send=Enviado correo a $1

match_from=De: coincide
match_subject=Asunto: coincide
match_to=Para: coincide
match_cc=Cc: coincide
match_date=Fecha: coincide
match_body=Cuerpo coincide
match_size=La medida es mayor que
   0707010002875c000081a40000000000000002000000013d1fe2d3000052d3000000200000000000000000000000000000001700000003reloc/sendmail/lang/fr    index_title=Configuration de Sendmail
index_econfig=Le fichier de configuration de Sendmail '$1' n'existe pas.  Peut-être que la <a href='$2'>configuration du module</a> est incorrecte.
index_eversion=Votre fichier de configuration de Sendmail ne semble pas être de la dernière version.  Webmin supporte seulement les versions 8.8 et supérieur.
index_epath=L'exécutable Sendmail '$1' n'est pas installé sur votre système.  Peut-être votre <a href='$2'>configuration de module</a> est incorrrect ou Sendmail n'est pas installé.
index_return=configuration de sendmail
index_stop=Arrêter Sendmail
index_stopmsg=Appuyer sur ce bouton pour arrêter le processus de Sendmail.  Ceci va arrêter le service de livraison de courrier aux usagers des autres systèmes et prévenir ceux de ce système d'en envoyer.
index_start=Démarrer Sendmail
index_startmsg=Cliquer sur ce bouton démarrera Sendmail avec la commande '$1'.  Jusqu'à ce que cela soit fait, les courriers des usagers locaux ne pourront plus être envoyer et ce système fermer le service de courrier.

opts_title=Options Sendmail
opts_ecannot=Vous n'êtes pas autorisé à éditer les options de Sendmail.
opts_ds=Envoie des courrier sortant par l'hôte
opts_direct=Livrer directement
opts_dr=Diriger les noms d'usager non qualifié vers l'hôte
opts_dh=Diriger les courrier des usagers locaux vers l'hôte
opts_local=Livrer localement
opts_queuela=Charge maximale pour la livraison
opts_refusela=Charge maximale pour la réception
opts_maxch=Nombre de sous-processus maximum
opts_throttle=Nombre de connexions par secondes maximums
opts_minqueueage=Temps minimum avant de réessayer d'envoyer
opts_runsize=Taille maximum de la file d'attente
opts_queuereturn=Temps d'attente avant d'abandonner
opts_queuewarn=temps d'attente avant d'envoyer un avertissement
opts_queue=Répertoire de file d'attente
opts_postmaster=Envoyer les messages d'erreur à
opts_forward=Fichier d'envoi d'usager
opts_minfree=Espace disque minimum
opts_maxmessage=Taille maximum des messages
opts_loglevel=Niveau d'audit
opts_mimebounce=Rebond de messages encoder par MIME?
opts_default=Défaut
opts_save=Enregistrer et Appliquer
opts_err=Impossible d'enregistrer les options
opts_ehost=$1 n'est pas un hôte ou nom de domaine valide
opts_einvalid=$1 n'est pas une valeur valide pour $2
opts_blocks=blocks
opts_bytes=bytes

aliases_title=Alias de Courrier
aliases_ecannot=Vous n'êtes pas autorisé à éditer les alias
aliases_addr=Adresse
aliases_to=Alias vers
aliases_type1=Adresse $1
aliases_type2=Adresses dans un fichier $1
aliases_type3=Fichier $1
aliases_type4=Programme $1
aliases_none=Aucun
aliases_return=liste d'alias

aform_type0=Aucun
aform_type1=Adresse courrier
aform_type2=Adresses dans un fichier
aform_type3=Écrire dans un fichier
aform_type4=Fournir à un programme
aform_edit=Éditer un Alias
aform_create=Créer un Alias
aform_name=Adresse
aform_enabled=Activé?
aform_val=Alias vers

asave_err=Impossible d'enregistrer l'alias
asave_ecannot2=Vous n'êtes pas autorisé à éditer les alias
asave_ecannot=Vous n'êtes pas autorisé à éditer cet alias
asave_emax=Vous n'êtes pas autorisé à créer plus qu'$1 alias
asave_eaddr=$1 n'est pas une adresse valide
asave_ealready=Un alias pour $1 existe déjà
asave_ematch=Vous n'êtes pas autorisé à créer un alias correspondant pour $1
asave_etype=Vous n'êtes pas autorisé créer un alias de ce type
asave_etype1=$1 n'est pas une adresse courrier valide
asave_etype2=Le fichier d'adresses '$1' n'existe pas
asave_etype3='$1' n'est pas un nom de fichier valide
asave_etype4='$1' n'est pas un programme ou n'existe pas
asave_etype4none=Aucun programme spécifié

cws_title=Domaines Locaux
cws_ecannot=Vous n'êtes pas autorisé à éditer les domaines locaux
cws_domains=Domaines pris en main par ce serveur
cws_desc1=En dehors des courrier pour $1, Sendmail va seulement accepter les courrier local des domaines et noms d'hôtes listés à gauche.  Si vous voulez que votre serveur de courrier supporte les domaines multiples, ils doivent être listés.
cws_desc2=Noté qu'inclure le domaine dans la liste n'est pas assez, vous devez aussi vous assurer qu'il possède un enregistrement DNS qui pointe sur votre système.
cws_err=Impossible d'enregistrer les domaines locaux
cws_ehost=$1 n'est pas un hôte ou un domaine valide
cws_eip=$1 est une adresse IP, non un domaine

masq_title=Camouflage de Domaine
masq_ecannot=Vous n'êtes pas autorisé à configurer le camouflage
masq_domain=Camoufler comme domaine
masq_domains=Domaines à camoufler
masq_desc1=Si un domaine est listé si dessus, Sendmail va modifier la provenance de tout les courrier sortant pour les faire apparaître comme venant de ce domaine.  De plus, tout courrier passant au travers de votre système d'un des hôtes ou domaine listé à gauche vont aussi avoir leur provenance modifiée de la même façon.  Noté que tout camouflage défini ici peut être écraser pour des usagers spécifiques dans la page <a href='$1'>Adresses Sortante</a>.
masq_desc2=Cette option peut être utile si vous voulez que les courriers sortant de votre système apparaisse comme le nom de domaine et non le nom d'hôte ou si votre système est utilisé comme hub de courrier d'autre hôte exécutant leur propre serveur de courrier.
masq_err=Impossible d'enregistrer le camouflage de domaine
masq_edomain=$1 n'est pas un domaine valide pour camoufler
masq_ehost=$1 n'est pas un hôte ou un nom de domaine valide
masq_eip=$1 est une adresse IP et non un domaine

trusts_title=Usagers Confiants
trusts_ecannot=Vous n'êtes pas autorisé à éditer les usagers confiant
trusts_users=Usagers locaux dont Sendmail fait confiance
trusts_desc=Si un usager local est dans la liste à gauche et il tente d'envoyer un courrier, Sendmail va accepter seulement qu'il spécifie une provenance d'adresse différente.  Cette restriction existe pour prévenir les usagers de forgé des courriers avec de fausse provenance que celle de votre système.
trusts_err=Impossible de sauver les usagers confiants
trusts_euser=$1 n'est pas un usager valide

virtusers_title=Association d'Adresses
virtusers_ecannot=Vous n'êtes pas autorisé à éditer une association d'adresses
virtusers_edirective=Votre configuration de Sendmail n'a pas les directives nécessaires pour les associations d'adresses
virtusers_efile=Le fichier texte '$1' à partir duquel est tirée la base de donnée $2 des associations d'adresses n'existe pas.  Peut-être que vous devriez modifier la <a href='$3'>configuration du module</a> et choisir le chemin correct
virtusers_desc1=Les associations d'adresses sont semblables aux <a href='$1'>alias</a>, mais sont préférable pour un système qui gère des domaines de courrier multiple.  Ils peuvent être utilisés pour rediriger les courriers d'un domaine entier à une adresse, gérer les usagers avec la même adresse dans plusieurs domaines, ou de gérer les courrier d'un domaine à un autre.
virtusers_desc2=Noter que vous devez avoir une entrée dans la table <a href='$1'>domaines locaux</a> de tous les domaines utilisés dans les associations d'adresses et ils doivent avoir une section MX dans l'enregistrement DNS de chaque domaine pointant sur votre système.
virtusers_for=Courrier pour
virtusers_to=Envoyer à
virtusers_error=Erreur $1
virtusers_domain=Domaine $1
virtusers_address=Adresse $1
virtusers_return=liste d'associations d'adresses

vform_edit=Éditer Association
vform_create=Créer Association
vform_for=Courrier pour
vform_address=Adresse
vform_domain=Domaine
vform_to=Envoyer à
vform_msg=message
vform_error=Retourner erreur
vform_end=Deplacer à la fin
vform_ecannot=Vous n'êtes pas autorisé à éditer cette association d'adresses

vsave_ecannot=Vous n'êtes pas autorisé à éditer une association d'adresses
vsave_ecannot2=Vous n'êtes pas autorisé à éditer cette association d'adresses
vsave_emax=Vous n'êtes pas autorisé à créer plus que $1 associations d'adresses
vsave_err=Impossible d'enregistrer l'association d'adresses
vsave_efrom=$1 n'est pas une adresse valide
vsave_efromdup=Une association d'adresses pour $1 existe déjà
vsave_edom=$1 n'est pas un domaine valide
vsave_edomdup=Une association d'adresses pour $1 existe déjà
vsave_ematch=L'adresse source ne correspond pas à $1
vsave_ecannot3=Vous n'êtes pas autorisé à créer une association d'adresse
vsave_eaddr=$1 n'est pas une adresse valide
vsave_ecannot4=Vous n'êtes pas autorisé à créer une association d'adresses pour un domaine
vsave_edomdom=Seulement un domaine peut être associé à un autre domaine
vsave_ecannot5=Vous n'êtes pas autorisé à créer une association qui retourne une erreur

mailers_title=Routage de Domaine
mailers_cannot=Vous n'êtes pas autorisé d'éditer un routage de domaine
mailers_edirective=Votre configuration de Sendmail n'a pas les directives nécessaires au routage de domaine.
mailers_efile=Le fichier texte '$1' duquel la base de donnée de routage de domaine $2 est tirée n'existe pas.  Peut-être vous avez besoin de modifier la <a href='$3'>configuration du module</a> pour utiliser les chemins corrects.
mailers_desc1=Le routage de domaine est une façon de définir une méthode de transfert de courrier pour certains domaines.  Ceci peut être utile si votre système est une passerelle pour un serveur de courrier qui ne peut être accessible de l'extérieur du réseau, ou si vous voulez forcer chacun des courriers, pour une raison particulière, à être dirigé vers d'autres serveurs.
mailers_desc2=Vous ne devriez <b>pas</b> avoir une entrée dans la liste des <a href='$1'>domaines locaux</a> pour tout domaine routé. Sinon, vous devez avoir le champ MX dans vos enregistrements DNS qui passe par votre passerelle.
mailers_for=Courrier pour
mailers_delivery=Livraison
mailers_to=Envoyé à
mailers_return=liste de routage de domaine

mform_edit=Éditer un Routage
mform_create=Créer un Routage
mform_for=Courrier pour
mform_host=Hôte
mform_domain=Domaine
mform_delivery=Livraison
mform_to=Envoyer à
mform_ignore=Ignorer le champ DNS MX pour la livraison SMTP
mform_smtp=SMTP
mform_esmtp=SMTP Étendu
mform_smtp8=SMTP 8-bit
mform_relay=Relais SMTP
mform_local=Usager local
mform_prog=Fournir au programme
mform_uucp=UUUCp
mform_usenet=Envoyer à USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=Courrier DECnet
mform_error=Erreur
mform_ecannot=Vous n'êtes pas autorisé à éditer un routage de domaine

msave_ecannot=Vous n'êtes pas autorisé à éditer un routage de domaine
msave_err=Impossible d'enregistrer le routage de domaine
msave_edomain='$1' n'est pas un hôte ou un domaine valide
msave_edup=Un routage de domaine pour '$1' existe déjà

generics_title=Adresses Sortante
generics_cannot=Vous n'êtes pas autorisé à éditer une adresse sortante
generics_econfig=Votre fichier de configuration de Sendmail ne semble pas avoir les directives nécessaires pour des plans des adresses sortantes
generics_efile=Le fichier texte '$1' duquel la base de donnée d'adresse sortante $2 est tirée n'existe pas.  Peut-être avez-vous besoin de modifier la <a href='$3'>configuration du module</a> pour utiliser le chemin correct.
generics_desc1=Les plans d'adresse sortante vous permet de modifier la provenance des courrier envoyé en dehors de votre système, ou au travers de votre système d'un autre hôte à votre réseau local.  Ceci peut être utile si vous avec des domaines multiples sur un système et que vous voulez que les courriers de quelques usagers apparaissent comme venant d'un domaine différent.
generics_desc2=Notez que vous devez avoir une entrée dans la table <a href='$1'>domaines sortant</a> pour chaque domaine que vous voulez que des adresses aient les plans d'appliqués.
generics_from=Courrier de
generics_to=Changer pour
generics_return=liste de plans d'adresse

gform_edit=Éditer un Plan
gform_create=Créer un Plan
gform_from=Courrier de
gform_to=Changer pour
gform_ecannot=Vous n'êtes pas autorisé à éditer cette adresse sortante

gsave_ecannot=Vous n'êtes pas autorisé à éditer une adresse sortante
gsave_ecannot2=Vous n'êtes pas autorisé à éditer cette adresse sortante
gsave_err=Impossible d'enregistrer l'adresse sortante
gsave_efrom=$1 n'est pas une adresse valide
gsave_ematch=Cette forme d'adresse ne correspond pas à $1
gsave_eto=$1 n'est pas une nouvelle adresse valide

cgs_title=Domaines Sortant
cgs_ecannot=Vous n'êtes pas autorisé à éditer un domaine sortant
cgs_header=Adresse de domaines sortant
cgs_desc=Indépendamment du courrier envoyé par les utilisateurs locaux, Sendmail exécutera seulement le plan de l'<a href='$1'>adresse sortante</a> pour le courrier des hôtes ou domaines listés dans la boîte de texte à la droite.  Ainsi, pour qu'une entrée d'adresse sortante fonctionne, le domaine doit être inclut dans la liste.
cgs_err=Impossible d'enregistrer les domaines sortant
cgs_ehost=$1 n'est pas un hôte ou un nom de domaine valide
cgs_eip=$1 est une adresse IP, non un domaine

domains_title=Plans de Domaine
domains_ecannot=Vous n'êtes pas autorisé à éditer un plan de domaine
domains_econfig=Votre fichier de configuration de Sendmail n'a pas les directives nécessaires pour les plans de domaine.
domains_efile=Le fichier texte '$1' duquel la base de donnée $2 est tirée n'existe pas.  Peut-être avez-vous besoin de modifier la <a href='$3'>configuration du module</a> pour utiliser le chemin correct.
domains_desc=Les plans de domaine modifie l'adresse de destination des courriers envoyé de, relayé ou livré à votre système.  L'adresse de provenance du message relayé ou du message à l'usager local est aussi modifiée.  Ceci peut être utile si vos noms de domaines changent et que vous voulez changer toutes les occurrences de votre vieux domaine au nouveau.
domains_from=Du domaine
domains_to=Au domaine
domains_return=liste de plans de domaine

dform_edit=Éditer un Plan
dform_create=Créer un Plan
dform_from=Du domaine
dform_to=Au domaine
dform_ecannot=Vous n'êtes pas autorisé à éditer un plan de domaine

dsave_ecannot=Vous n'êtes pas autorisé à éditer un plan de domaine
dsave_err=Impossible d'enregistrer le plan de domaine
dsave_edomain=$1 n'est pas un nom domaine valide

access_title=Contrôle du Spam
access_ecannot=Vous n'êtes pas autorisé à configurer le contrôle du spam
access_econfig=Votre fichier de configuration n'a pas les directives nécessaires pour le contrôle du spam.
access_efile=Le fichier texte '$1' duquel la base de donnée $2 est tirée n'existe pas.  Peut-être avez-vous besoin de modifier la <a href='$3'>configuration du module</a> pour utiliser le chemin correct.
access_desc1=La fonction de contrôle du spam de Sendmail vous permet de prévenir le pollupostage d'atteindre vos usagers en rejetant les courriers de certaines adresses et en prévenant les spammeurs d'utiliser votre système pour rediriger leurs courriers.  Par défaut Sendmail accepte tout les courriers des usagers interne, mais empêche tout client ou serveur de courrier de passer par votre système.  Généralement, vous devriez ajouter des règles de contrôle de spam pour rejeter les courriers des spammeurs, et des règles pour autoriser d'autres machines sur votre réseau de diriger leurs courriers au travers de votre système.
access_desc2=Noter que, par défaut, Sendmail accepte les clients roulant sur votre système d'envoyer des courriers  par SMTP à n'importe quelle destination.  Alors, il n'y a aucun besoin d'ajouter le réseau <tt>127.0.0</tt> à la liste de ceux qui sont autorisé.
access_source=Source
access_action=Action
access_return=liste de contrôle de spam

sform_edit=Éditer une Règle de Contrôle de Spam
sform_create=Créer une Règle de Contrôle de Spam
sform_source=Source du courrier
sform_type0=Adresse Courrier
sform_type1=Réseau
sform_type2=Usager
sform_type3=Domaine
sform_action=Action
sform_ok=Accepter
sform_relay=Autorisé la redirection
sform_reject=Rejeter
sform_discard=Supprimer discrètement
sform_err=Code d'erreur
sform_msg=Message
sform_ecannot=Vous n'êtes pas autorisé à configurer le contrôle de spam

ssave_ecannot=Vous n'êtes pas autorisé à configurer le contrôle du spam
ssave_err=Impossible d'enregistrer la règle de contrôle de spam
ssave_etype0=$1 n'est pas une adresse valide
ssave_etype1=$1 n'est pas un réseau valide
ssave_etype2=$1 n'est pas un nom d'usager valide
ssave_etype3=$1 n'est pas un domaine valide
ssave_ecode=$1 n'est pas un code d'erreur SMTP valide

relay_title=Relayer les Domaines
relay_ecannot=Vous n'êtes pas autorisé à éditer les relais de domaines
relay_eversion=Seulement Sendmail 8.9 ou plus récent supporte la fonction de relais.
relay_domains=Domaines que le relayage est autorisé
relay_desc1=Tant que ce n'est pas autorisé par les règles de <a href='$1'>contrôle de spam</a>, Sendmail permet seulement au domaines listés ci-dessous de relayer par votre système.  Les courriers entrant qui ne sont pas pour un usager local et non pour un des domaines listés seront rejeté.
relay_desc2=Si votre système sert de passerelle à plusieurs domaines qui ne sont pas directement accessible à l'extérieur de votre réseau (en utilisant la fonction <a href='$1'>routage de domaine</a>) ces domaines doivent être listés ci-dessous.
relay_err=Impossible d'enregistrer les domaines relayés
relay_edomain=$1 n'est pas un nom de domaine valide

mailq_title=File d'Attente de Courrier
mailq_ecannot=Vous n'êtes pas autorisé à voir la file d'attente de courrier
mailq_id=Numéro de courrier
mailq_sent=Envoyé
mailq_from=De
mailq_to=À
mailq_status=État
mailq_unknown=Inconnu
mailq_sending=Envoie
mailq_dmsg=Pour voir un courrier de la file d'attente, cliquer sur son numéro dans la liste ci-dessus
mailq_force=Pour forcer la livraison immédiate d'un courrier de la file, <<a href='$1'>cliquer ici</a>.
mailq_none=Aucun courrier est présentement dans la file d'attente
mailq_return=file d'attente de courrier

flushq_title=Vider la File d'Attente
flushq_desc=Forcer la livraison des courriers avec la commande '$1'

delq_err=Impossible de supprimer le courrier de la file d'attente
delq_ecannot=Vous n'êtes pas autorisé à supprimer un courrier de la file d'attente
delq_locked=Verrouiller pour l'instant pour l'envoie

boxes_title=Boîtes à Lettre des Usagers
boxes_user=Usagers
boxes_size=Taille de la boîte aux lettres
boxes_none=Aucun courrier
boxes_return=boîtes aux lettres des usagers
boxes_ecannot=Vous n'êtes pas autorisé à lire les courriers des usagers

mail_title=Courrier de l'Usager
mail_from=De
mail_date=Date
mail_subject=Sujet
mail_to=À
mail_cc=Copie carbone
mail_for=Dans $1
mail_size=Taille
mail_delete=Supprimer les messages sélectionnés
mail_compose=Écrire un nouveau courrier
mail_return=courrier de l'usager
mail_pos=Courriers $1 à $2 de $3
mail_none=Cette boîte aux lettres n'a aucun courrier
mail_ecannot=Vous n'êtes pas autorisé à lire les courriers des usagers
mail_all=Selectionner tout
mail_invert=Selectioner l'inverse

view_title=Lire un Courrier
view_desc=Courrier $1 dans $2
view_qdesc=Courrier $1 de la file d'attente
view_headers=Entêtes du courrier
view_attach=Attachements
view_reply=Répondre
view_reply2=Répondre à tous
view_forward=Renvoyer
view_delete=Supprimer
view_ecannot=Vous n'êtes pas autorisé à lire les courriers des usagers

compose_title=Écrire un Courrier
reply_title=Répondre au Courrier
forward_title=Rediriger un Courrier
reply_headers=Entêtes du courrier
reply_attach=Attachement envoyé
reply_attach2=Attachements
reply_send=Envoyer
reply_ecannot=Vous n'êtes pas autorisé à envoyer un courrier de cet usager

send_err=Impossible d'envoyer le courrier
send_eto=Adresse du destinataire manquante
send_efrom=Adresse de l'émetteur manquant
send_title=Courrier Envoyé
send_ok=Courrier envoyé avec succès à $1
send_ecannot=Vous n'êtes pas autorisé à envoyer un courrier de cet usager
send_esmtp=Impossible d'exécuter la commande SMTP $1 : $2

delete_ecannot=Vous n'êtes pas autorisé à supprimer les courriers de cet usager

acl_opts=Peut éditer les options de Sendmail?
acl_cws=Peut éditer les domaines local?
acl_masq=Peut configurer le camouflage de domaine?
acl_trusts=Peut éditer les usagers confiants?
acl_cgs=Peut éditer les domaines sortants?
acl_relay=Peut éditer le relayage de domaines?
acl_mailers=Peut configurer le routage de domaine?
acl_access=Peut configurer le contrôle de spam?
acl_domains=Peut configurer les plans de domaines?
acl_stop=Peut arrêter et démarrer Sendmail?
acl_mailq=Peut gérer la file d'attente des courriers?
acl_viewdel=Voir et supprimer
acl_view=Voir seulement
acl_virtusers=Plans d'adresse que cet usager peut éditer
acl_none=Aucun
acl_all=Tous
acl_matching=Correspondant
acl_vtypes=Types de plan d'adresse que cet usager peut éditer
acl_vtype0=Erreur de retour
acl_vtype1=Au domaine
acl_vtype2=À l'adresse
acl_vmax=Nombre maximum de plans d'adresse
acl_unlimited=Illimité
acl_aliases=Alias que cet usager peut éditer
acl_atypes=Types d'alias que cet usager peut éditer
acl_atype1=Adresse courrier
acl_atype2=Adresse dans fichier
acl_atype3=Écrire dans un fichier
acl_atype4=Donner à un programme
acl_amax=Nombre maximum d'alias
acl_outgoing=Adresses sortantes que cet usager peut éditer
acl_read=Usagers dont les courriers peuvent être lu
acl_users=Seulement les usagers
acl_userse=Tous
acl_from=Des adresses
acl_any=De toutes les adresses
acl_fdoms=Boîte aux lettres des domaines
acl_faddrs=Adresses listées
acl_fdom=Toutes les adresses d'un domaines
 0707010002875d000081a40000000000000002000000013d1fe2d300005d7e000000200000000000000000000000000000001e00000003reloc/sendmail/lang/ja_JP.euc index_title=sendmail ÀßÄê
index_econfig=sendmail ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£¤´»ÈÍÑ¤Î <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eversion=¤³¤Îsendmail ÀßÄê¥Õ¥¡¥¤¥ë¤ÏºÇ¿·¤Î sendmail ¥Ð¡¼¥¸¥ç¥óÍÑ¤Ç¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤Þ¤¹¡£Webmin ¤Ï¥Ð¡¼¥¸¥ç¥ó 8.8 °Ê¹ß¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
index_epath=sendmail ¼Â¹Ô¥Õ¥¡¥¤¥ë $1 ¤¬¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤´»ÈÍÑ¤Î<a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤«¡¢sendmail  ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_return=sendmail ÀßÄê
index_stop=sendmail ¤òÄä»ß
index_stopmsg=¼Â¹ÔÃæ¤Î sendmail ¥×¥í¥»¥¹¤òÄä»ß¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢Â¾¤Î¥·¥¹¥Æ¥à¤«¤é¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤¬ÇÛ¿®¤µ¤ì¤ë¤Î¤òÄä»ß¤·¡¢¤³¤Î¥·¥¹¥Æ¥à¤ò¥á¡¼¥ë ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍÑÃæ¤Î¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£
index_start=sendmail ¤ò³«»Ï
index_startmsg=¥³¥Þ¥ó¥É $1 ¤Çsendmail ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤ò¼Â¹Ô¤¹¤ë¤Þ¤Ç¤Ï¡¢Â¾¤Î¥·¥¹¥Æ¥à¤«¤é¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ë¥á¡¼¥ë¤¬ÇÛ¿®¤µ¤ì¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¤³¤Î¥·¥¹¥Æ¥à¤ò¥á¡¼¥ë ¥µ¡¼¥Ð¤È¤·¤Æ»ÈÍÑ¤Ç¤­¤Þ¤»¤ó¡£

opts_title=sendmail ¥ª¥×¥·¥ç¥ó
opts_ecannot=sendmail ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
opts_ds=¥Û¥¹¥È·ÐÍ³¤Ç¥á¡¼¥ë¤òÁ÷¿®
opts_direct=Ä¾ÀÜÇÛ¿®
opts_dr=Ç§Äê¤µ¤ì¤Ê¤¤¥æ¡¼¥¶Ì¾¤ò¥Û¥¹¥È¤ËÅ¾Á÷
opts_dh=¥í¡¼¥«¥ë ¥æ¡¼¥¶¤«¤é¥Û¥¹¥È¤Ë¥á¡¼¥ë¤òÅ¾Á÷
opts_local=¥í¡¼¥«¥ëÇÛ¿®
opts_queuela=Á÷¿®ÍÑ¥í¡¼¥ÉÊ¿¶Ñ¤ÎºÇÂçÃÍ
opts_refusela=¼õ¿®ÍÑ¥í¡¼¥ÉÊ¿¶Ñ¤ÎºÇÂçÃÍ
opts_maxch=»Ò¥×¥í¥»¥¹ºÇÂçÃÍ
opts_throttle=ÀÜÂ³¿ô/ÉÃ¤ÎºÇÂçÃÍ
opts_minqueueage=Á÷¿®¤òºÆ»î¹Ô¤¹¤ë¤Þ¤Ç¤ÎºÇ¾®»þ´Ö
opts_runsize=ºÇÂç¥­¥å¡¼ ¥µ¥¤¥º
opts_queuereturn=Ãæ»ß¤¹¤ë¤Þ¤Ç¤Î»þ´Ö
opts_queuewarn=·Ù¹ð¤òÁ÷¿®¤¹¤ë¤Þ¤Ç¤Î»þ´Ö
opts_queue=¥á¡¼¥ë ¥­¥å¡¼ ¥Ç¥£¥ì¥¯¥È¥ê
opts_postmaster=¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¿®Àè
opts_forward=¥æ¡¼¥¶Å¾Á÷¥Õ¥¡¥¤¥ë
opts_minfree=ºÇ¾®¶õ¤­¥Ç¥£¥¹¥¯ÎÎ°è
opts_maxmessage=ºÇÂç¥á¥Ã¥»¡¼¥¸ ¥µ¥¤¥º
opts_loglevel=¥í¥° ¥ì¥Ù¥ë
opts_mimebounce=MIME ¥¨¥ó¥³¡¼¥É¤Î¥Ð¥¦¥ó¥¹ ¥á¥Ã¥»¡¼¥¸¤Ë¤·¤Þ¤¹¤«¡©
opts_default=¥Ç¥Õ¥©¥ë¥È
opts_save=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
opts_err=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
opts_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï¥É¥á¥¤¥óÌ¾¤Ç¤¹
opts_einvalid='$1' ¤Ï $2 ¤ËÂÐ¤¹¤ëÌµ¸ú¤ÊÃÍ¤Ç¤¹
opts_blame=¥Õ¥¡¥¤¥ë ¥»¥­¥å¥ê¥Æ¥£ ¥ª¥×¥·¥ç¥ó
opts_selected=ÁªÂò..
opts_blocks=¥Ö¥í¥Ã¥¯
opts_bytes=¥Ð¥¤¥È
opts_dmode=ÇÛ¿®¥â¡¼¥É
opts_background=¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É
opts_queue-only=¥­¥å¡¼¤Î¤ß
opts_interactive=ÂÐÏÃ¼°
opts_deferred=¸å¤Ç

aliases_title=¥á¡¼¥ë ¥¨¥¤¥ê¥¢¥¹
aliases_ecannot=¥¨¥¤¥ê¥¢¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
aliases_addr=¥¢¥É¥ì¥¹
aliases_to=¥¨¥¤¥ê¥¢¥¹..
aliases_type1=¥¢¥É¥ì¥¹ $1
aliases_type2=¥Õ¥¡¥¤¥ë$1 Æâ¤Î¥¢¥É¥ì¥¹
aliases_type3=¥Õ¥¡¥¤¥ë $1
aliases_type4=¥×¥í¥°¥é¥à $1
aliases_type5=¼«Æ°±þÅú¥Õ¥¡¥¤¥ë $1
aliases_none=¤Ê¤·
aliases_return=¥¨¥¤¥ê¥¢¥¹ ¥ê¥¹¥È

aform_type0=¤Ê¤·
aform_type1=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
aform_type2=¥Õ¥¡¥¤¥ëÆâ¤Î¥¢¥É¥ì¥¹
aform_type3=¥Õ¥¡¥¤¥ë¤Ë½ñ¹þ¤ß
aform_type4=¥×¥í¥°¥é¥à¤ËÁ÷¤ë
aform_type5=¥Õ¥¡¥¤¥ë¤«¤é¼«Æ°±þÅú
aform_edit=¥¨¥¤¥ê¥¢¥¹¤òÊÔ½¸
aform_create=¥¨¥¤¥ê¥¢¥¹¤òºîÀ®
aform_name=¥¢¥É¥ì¥¹
aform_enabled=Í­¸ú¤Ë¤·¤Þ¤¹¤«¡©
aform_val=¥¨¥¤¥ê¥¢¥¹
aform_afile=ÊÔ½¸..
aform_return=¥¨¥¤¥ê¥¢¥¹

afile_title=¥¢¥É¥ì¥¹ ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸
afile_desc=¥Õ¥¡¥¤¥ë $1 ¤Î¥¢¥É¥ì¥¹¤òÊÔ½¸¤¹¤ë¤Ë¤Ï²¼¤Î¥Æ¥­¥¹¥È ¥¨¥ê¥¢¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
afile_efile=$1 ¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
afile_undo=ÊÑ¹¹¤ò¸µ¤ËÌá¤¹

rfile_title=¼«Æ°±þÅú¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸
rfile_desc=$1 ¤Î¼«Æ°±þÅú¥á¥Ã¥»¡¼¥¸¤òÊÔ½¸¤¹¤ë¤Ë¤Ï²¼¤Î¥Æ¥­¥¹¥È ¥¨¥ê¥¢¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£¥á¥Ã¥»¡¼¥¸¤Ï¼«Æ°±þÅú¤¬¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤Ã¤¿¤È¤­¤ËÅ¸³«¤µ¤ì¤ë¥Þ¥¯¥í $SUBJECT, $FROM, $TO, $DATE ¤ª¤è¤Ó $BODY ¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£.
rfile_efile=$1 ¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
rfile_undo=ÊÑ¹¹¤ò¸µ¤ËÌá¤¹

asave_err=¥¨¥¤¥ê¥¢¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
asave_ecannot2=¥¨¥¤¥ê¥¢¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
asave_ecannot=¤³¤Î¥¨¥¤¥ê¥¢¥¹¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
asave_emax=$1 ¤è¤êÂ¿¤¯¤Î¥¨¥¤¥ê¥¢¥¹¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó
asave_eaddr='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
asave_ealready='$1' ¤Î¥¨¥¤¥ê¥¢¥¹¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
asave_ematch='$1' ¤Ë°ìÃ×¤¹¤ë¥¨¥¤¥ê¥¢¥¹¤Î¤ßºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤¹
asave_etype=¤³¤Î¼ïÎà¤Î¥¨¥¤¥ê¥¢¥¹¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó
asave_etype1='$1' ¤ÏÌµ¸ú¤Ê E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Ç¤¹
asave_etype2=¥¢¥É¥ì¥¹ ¥Õ¥¡¥¤¥ë  '$1' ¤ÏÌµ¸ú¤«Â¸ºß¤·¤Þ¤»¤ó
asave_etype3='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥¡¥¤¥ëÌ¾¤Ç¤¹
asave_etype4='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥à¤«Â¸ºß¤·¤Þ¤»¤ó
asave_etype5=¼«Æ°±þÅú¥Õ¥¡¥¤¥ë  '$1' ¤ÏÌµ¸ú¤«Â¸ºß¤·¤Þ¤»¤ó
asave_etype4none=¥×¥í¥°¥é¥à¤¬¤¢¤ê¤Þ¤»¤ó

cws_title=¥í¡¼¥«¥ë ¥É¥á¥¤¥ó
cws_ecannot=¥í¡¼¥«¥ë ¥É¥á¥¤¥ó¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
cws_domains=¤³¤Î¥µ¡¼¥Ð¤¬½èÍý¤¹¤ë¥É¥á¥¤¥ó
cws_desc1=$1 ¤Ø¤Î¥á¡¼¥ë¤Î¤Û¤«¤Ë¡¢sendmail ¤Ïº¸¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥É¥á¥¤¥ó¤È¥Û¥¹¥ÈÌ¾¤Ø¤Î¥í¡¼¥«¥ëÇÛ¿®¥á¡¼¥ë¤Î¤ß¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£¥á¡¼¥ë ¥µ¡¼¥Ð¤¬Ê£¿ô¤Î E ¥á¡¼¥ë ¥É¥á¥¤¥ó¤ò½èÍý¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥É¥á¥¤¥ó¤¬¤³¤³¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
cws_desc2=ÄÌ¾ï¤Ï¡¢¥ê¥¹¥È¤Ë¥É¥á¥¤¥ó¤ò´Þ¤ó¤Ç¤¤¤ë¤À¤±¤Ç¤Ï½½Ê¬¤Ç¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Î¥É¥á¥¤¥ó¤Î DNS¥ì¥³¡¼¥É¤¬Â¸ºß¤·¡¢¥·¥¹¥Æ¥à¤ò»Ø¤·¤Æ¤¤¤ë¤³¤È¤ò³ÎÇ§¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
cws_err=¥í¡¼¥«¥ë ¥É¥á¥¤¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó
cws_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï¥É¥á¥¤¥óÌ¾¤Ç¤¹
cws_eip='$1' ¤Ï IP ¥¢¥É¥ì¥¹¤Ç¥É¥á¥¤¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

masq_title=¥É¥á¥¤¥ó¤Î¥Þ¥¹¥«¥ì¡¼¥É
masq_ecannot=¥Þ¥¹¥«¥ì¡¼¥É¤ÏÀßÄê¤Ç¤­¤Þ¤»¤ó
masq_domain=¥É¥á¥¤¥ó¤È¤·¤Æ¥Þ¥¹¥«¥ì¡¼¥É
masq_domains=¥Þ¥¹¥«¥ì¡¼¥É¤µ¤ì¤ë¥É¥á¥¤¥ó
masq_desc1=¾å¤Ë¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢sendmail ¤Ï <tt>From (Á÷¿®¼Ô)</tt> ¤Ë»ØÄê¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÎÁ÷¿®¥á¥Ã¥»¡¼¥¸¤Î¥¢¥É¥ì¥¹¤ò¤½¤Î¥É¥á¥¤¥ó¤«¤éÈ¯¿®¤¹¤ë¤è¤¦¤ËÂåÂØ¤·¤Þ¤¹¡£¤µ¤é¤Ë¡¢º¸¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥É¥á¥¤¥ó¤«¤é¥·¥¹¥Æ¥à¤ËÅÏ¤µ¤ì¤ë¤¹¤Ù¤Æ¤Î E ¥á¡¼¥ë ¥á¥Ã¥»¡¼¥¸¤Ï¡¢ <tt>From (Á÷¿®¼Ô)</tt> ¤Î¥¢¥É¥ì¥¹¤¬Æ±ÍÍ¤ËÊÑ¹¹¤µ¤ì¤Þ¤¹¡£¤³¤³¤ÇÄêµÁ¤µ¤ì¤¿¥Þ¥¹¥«¥ì¡¼¥É¤µ¤ì¤ë¥É¥á¥¤¥ó¤Ï¡¢<a href='$1'>Outgoing Addresses (°¸Àè¥¢¥É¥ì¥¹)</a> ¥Ú¡¼¥¸¤ò»ÈÍÑ¤·¤¿ÆÃÄê¤Î¥æ¡¼¥¶ÍÑ¤Ë¾å½ñ¤­²ÄÇ½¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
masq_desc2=¤³¤Îµ¡Ç½¤Ï¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤«¤é¤Î E ¥á¡¼¥ë¤ò¥Û¥¹¥ÈÌ¾¤Ç¤Ï¤Ê¤¯¡¢¥É¥á¥¤¥óÌ¾¤«¤éÈ¯¿®¤¹¤ë¤è¤¦¤Ë¸«¤»¤¿¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥·¥¹¥Æ¥à¤¬¤½¤ì¤¾¤ìÆÈ¼«¤Î¥á¡¼¥ë ¥µ¡¼¥Ð¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¡¢Â¾¤ÎÊ£¿ô¤Î¥Û¥¹¥È¤Ø¤Î¥á¡¼¥ë¤Î¥Ï¥Ö¤È¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
masq_err=¥É¥á¥¤¥ó ¥Þ¥¹¥«¥ì¡¼¥É¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
masq_edomain='$1' ¤Ï¼¡¤È¤·¤Æ¥Þ¥¹¥«¥ì¡¼¥É¤¹¤ëÌµ¸ú¤Ê¥É¥á¥¤¥ó¤Ç¤¹
masq_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï¥É¥á¥¤¥óÌ¾¤Ç¤¹
masq_eip='$1' ¤Ï IP ¥¢¥É¥ì¥¹¤Ç¥É¥á¥¤¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

trusts_title=¿®Ç¤¥æ¡¼¥¶
trusts_ecannot=¿®Ç¤¥æ¡¼¥¶¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
trusts_users=sendmail ¤Ë¤è¤ë¥í¡¼¥«¥ë¿®Ç¤¥æ¡¼¥¶
trusts_desc=¥í¡¼¥«¥ë ¥æ¡¼¥¶¤¬ E ¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë¤È¡¢¥æ¡¼¥¶¤¬º¸¤ËÉ½¼¨¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë sendmail ¤Ï¤½¤Î¥æ¡¼¥¶¤ËÊÌ¤Î<tt>From: (Á÷¿®¼Ô)</tt> ¥¢¥É¥ì¥¹¤ò¶¡µë¤¹¤ë¤³¤È¤Î¤ß¤òµö²Ä¤·¤Þ¤¹¡£¤³¤ÎÀ©¸Â¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤«¤é¥æ¡¼¥¶¤¬µ¶¤Î<tt>From:</tt> ¥¢¥É¥ì¥¹¤òºîÀ®¤¹¤ë¤³¤È¤òËÉ¤®¤Þ¤¹¡£
trusts_err=¿®Ç¤¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
trusts_euser='$1' ¤ÏÌµ¸ú¤Ê¥æ¡¼¥¶¤Ç¤¹

virtusers_title=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°
virtusers_ecannot=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
virtusers_edirective=¤´»ÈÍÑ¤Î sendmail ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ËÉ¬Í×¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
virtusers_efile=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤ò¹½ÃÛ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë $1¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤¿¤á¤Ë <a href='$3'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
virtusers_desc1=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ï <a href='$1'>¥¨¥¤¥ê¥¢¥¹</a>¤ÈÎà»÷¤·¤Æ¤¤¤Þ¤¹¤¬¡¢Ê£¿ô¤Î E ¥á¡¼¥ë ¥É¥á¥¤¥ó¤ò½èÍý¤¹¤ë¥·¥¹¥Æ¥à¤Ë¤è¤êÅ¬¤·¤Æ¤¤¤Þ¤¹¡£¥É¥á¥¤¥óÁ´ÂÎ¤«¤é 1 ¤Ä¤Î¥¢¥É¥ì¥¹¤Ø¥á¡¼¥ë¤ò¥ê¥À¥¤¥ì¥¯¥È¤·¤¿¤ê¡¢¥æ¡¼¥¶¤òÆ±¤¸Ì¾Á°¤ÇÊÌ¤Î¥É¥á¥¤¥ó¤Ç½èÍý¡¢¤Þ¤¿¤Ï1 ¤Ä¤Î¥É¥á¥¤¥ó¤«¤éÊÌ¤Î¥É¥á¥¤¥ó¤Ø¤Î¤¹¤Ù¤Æ¤Î¥á¡¼¥ë¤ò¥Þ¥Ã¥×¤¹¤ë¤Î¤Ë»ÈÍÑ¤Ç¤­¤Þ¤¹¡£
virtusers_desc2=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ë»ÈÍÑ¤¹¤ë <a href='$1'>¥í¡¼¥«¥ë ¥É¥á¥¤¥ó</a> ¥Æ¡¼¥Ö¥ë¤Ø¤Î¥¨¥ó¥È¥ê¤ò»ý¤Á¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤ò»Ø¤¹³Æ¥É¥á¥¤¥ó¤ËÂÐ¤· DNS MX ¥ì¥³¡¼¥É¤¬¤¢¤ë¤³¤È¤¬É¬Í×¤Ë¤Ê¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
virtusers_for=¥á¡¼¥ë°¸Àè..
virtusers_to=Á÷¿®Àè..
virtusers_error=¥¨¥é¡¼ $1
virtusers_domain=¥É¥á¥¤¥ó $1
virtusers_address=¥¢¥É¥ì¥¹ $1
virtusers_return=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥ê¥¹¥È

vform_edit=¥Þ¥Ã¥Ô¥ó¥°¤òÊÔ½¸
vform_create=¥Þ¥Ã¥Ô¥ó¥°¤òºîÀ®
vform_for=¥á¡¼¥ë°¸Àè
vform_address=¥¢¥É¥ì¥¹
vform_domain=¥É¥á¥¤¥ó
vform_to=Á÷¿®Àè
vform_msg=¥á¥Ã¥»¡¼¥¸
vform_error=¥¨¥é¡¼¤òÊÖ¤¹
vform_err_nouser=nouser
vform_err_nohost=nohost
vform_err_unav=unavailable
vform_err_temp=tempfail
vform_err_proto=protocol
vform_end=½ª¤ï¤ê¤Ë°ÜÆ°
vform_ecannot=¤³¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

vsave_ecannot=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
vsave_ecannot2=¤³¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
vsave_emax=$1¤è¤êÂ¿¤¯¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó
vsave_err=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
vsave_efrom='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
vsave_efromdup='$1' ¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ï¤¹¤Ç¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹
vsave_edom='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥ó¤Ç¤¹
vsave_edomdup='$1' ¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ï¤¹¤Ç¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹
vsave_ematch=¥½¡¼¥¹ ¥¢¥É¥ì¥¹¤¬ '$1' ¤È°ìÃ×¤·¤Þ¤»¤ó
vsave_ecannot3=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
vsave_eaddr='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
vsave_ecannot4=¥É¥á¥¤¥ó¤Ø¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó
vsave_edomdom=¥É¥á¥¤¥ó¤ÏÊÌ¤Î¥É¥á¥¤¥ó¤Ë¤Î¤ß¥Þ¥Ã¥×¤Ç¤­¤Þ¤¹
vsave_ecannot5=¥¨¥é¡¼¤òÊÖ¤¹¥Þ¥Ã¥Ô¥ó¥°¤ÏºîÀ®¤Ç¤­¤Þ¤»¤ó

mailers_title=¥É¥á¥¤¥ó ¥ë¡¼¥È
mailers_cannot=¥É¥á¥¤¥ó ¥ë¡¼¥È¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
mailers_edirective=¤´»ÈÍÑ¤Î sendmail ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¥É¥á¥¤¥ó ¥ë¡¼¥È¤ËÉ¬Í×¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
mailers_efile=¥É¥á¥¤¥ó¥ë¡¼¥È ¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤ò¹½ÃÛ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë $1¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤¿¤á¤Ë <a href='$3'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
mailers_desc1=¥É¥á¥¤¥ó ¥ë¡¼¥È¤Ï¡¢ÆÃÄê¤Î¥É¥á¥¤¥ó¤Ë¥á¡¼¥ë¤ÎÆÃÊÌÅ¾Á÷ÊýË¡¤òÄêµÁ¤¹¤ëÊýË¡¤ò¶¡µë¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤¬¥Í¥Ã¥È¥ï¡¼¥¯¤Î³°Â¦¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¥á¡¼¥ë ¥µ¡¼¥Ð¤Î¥²¡¼¥È¥¦¥§¥¤¤Î¾ì¹ç¡¢¤Þ¤¿¤ÏÆÃÄê¤Î¥É¥á¥¤¥ó¤Ø¤Î¤¹¤Ù¤Æ¤Î¥á¡¼¥ë¤òÊÌ¤Î¥µ¡¼¥Ð·ÐÍ³¤Î·ÐÏ©¤Ë¶¯À©¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
mailers_desc2=Â¾¤Î ¥ë¡¼¥È ¥É¥á¥¤¥ó¤Î <a href='$1'>¥í¡¼¥«¥ë ¥É¥á¥¤¥ó</a> ¥ê¥¹¥È¤Ë¥¨¥ó¥È¥ê¤ò<b>»ý¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó<b>¡£¤¿¤À¤·¡¢¥²¡¼¥È¥¦¥§¥¤¤È¤Ê¤ë¥É¥á¥¤¥ó¤ËÂÐ¤·¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤ò»Ø¤·¤Æ¤¤¤ë DNS MX ¥ì¥³¡¼¥É¤ò»ý¤ÄÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
mailers_for=¥á¡¼¥ë°¸Àè..
mailers_delivery=ÇÛ¿®
mailers_to=Á÷¿®Àè..
mailers_return=¥É¥á¥¤¥ó ¥ë¡¼¥Æ¥£¥ó¥° ¥ê¥¹¥È

mform_edit=¥ë¡¼¥Æ¥£¥ó¥°¤òÊÔ½¸
mform_create=¥ë¡¼¥Æ¥£¥ó¥°¤òºîÀ®
mform_for=¥á¡¼¥ë°¸Àè
mform_host=¥Û¥¹¥È
mform_domain=¥É¥á¥¤¥ó
mform_delivery=ÇÛ¿®
mform_to=Á÷¿®Àè
mform_ignore=SMTP ÇÛ¿®¤Ë MX ¤òÌµ»ë
mform_smtp=SMTP
mform_esmtp=³ÈÄ¥ SMTP
mform_smtp8=8 ¥Ó¥Ã¥È SMTP
mform_relay=SMTP ¥ê¥ì¡¼
mform_local=¥í¡¼¥«¥ë ¥æ¡¼¥¶
mform_prog=¥×¥í¥°¥é¥à¤ËÁ÷¤ë
mform_uucp=UUCp
mform_usenet=USENET ¤ËÅê¹Æ
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=¥¨¥é¡¼
mform_ecannot=¥É¥á¥¤¥ó ¥ë¡¼¥È¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó

msave_ecannot=¥É¥á¥¤¥ó ¥ë¡¼¥È¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
msave_err=¥É¥á¥¤¥ó ¥ë¡¼¥È¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
msave_edomain='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï¥É¥á¥¤¥óÌ¾¤Ç¤¹
msave_edup='$1' ¤Î¥É¥á¥¤¥ó ¥ë¡¼¥È¤Ï¤¹¤Ç¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹

generics_title=Á÷¿®¥¢¥É¥ì¥¹
generics_cannot=Á÷¿®¥¢¥É¥ì¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
generics_econfig=¤´»ÈÍÑ¤Î sendmail ÀßÄê¥Õ¥¡¥¤¥ë¤ÏÁ÷¿®¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ËÉ¬Í×¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
generics_efile=Á÷¿®¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤ò¹½ÃÛ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë $1¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤¿¤á¤Ë <a href='$3'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
generics_desc1=Á÷¿®¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤«¤é¡¢¤Þ¤¿¤Ï¥í¡¼¥«¥ë ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÂ¾¤Î¥Û¥¹¥È¤¬¥·¥¹¥Æ¥à¤ËÁ÷¿®¤¹¤ë¥á¡¼¥ë¤Î<tt>From: (Á÷¿®¼Ô)</tt> ¥¢¥É¥ì¥¹¤òÊÑ¹¹¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ï 1 ¤Ä¤Î¥·¥¹¥Æ¥à¤ÇÊ£¿ô¤Î¥É¥á¥¤¥ó¤ò¥Û¥¹¥Æ¥£¥ó¥°¤·¤Æ¤¤¤Æ¡¢¤¢¤ë¥æ¡¼¥¶¤«¤é¤Î¥á¡¼¥ë¤¬ÊÌ¤Î¥É¥á¥¤¥ó¤«¤éÁ÷¿®¤µ¤ì¤¿¤è¤¦¤Ë¸«¤»¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
generics_desc2=Á÷¿®¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ë»ÈÍÑ¤¹¤ë¥¢¥É¥ì¥¹¤¬¤¢¤ë³Æ¥É¥á¥¤¥ó¤ËÂÐ¤· <a href='$1'>Á÷¿®¥É¥á¥¤¥ó</a> ¥Æ¡¼¥Ö¥ë¤Ë¥¨¥ó¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£¤µ¤é¤Ë¡¢Á÷¿®¥¢¥É¥ì¥¹¥Þ¥Ã¥Ô¥ó¥°¤Ï¥í¡¼¥«¥ë ¥æ¡¼¥¶¤ËÇÛ¿®¤µ¤ì¤ë¥á¡¼¥ë¤Ë¤ÏÆ°ºî¤·¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
generics_from=Á÷¿®¸µ..
generics_to=ÊÑ¹¹..
generics_return=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥ê¥¹¥È

gform_edit=¥Þ¥Ã¥Ô¥ó¥°¤òÊÔ½¸
gform_create=¥Þ¥Ã¥Ô¥ó¥°¤òºîÀ®
gform_from=Á÷¿®¸µ..
gform_to=ÊÑ¹¹..
gform_ecannot=¤³¤ÎÁ÷¿®¥¢¥É¥ì¥¹¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

gsave_ecannot=Á÷¿®¥¢¥É¥ì¥¹¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
gsave_ecannot2=¤³¤ÎÁ÷¿®¥¢¥É¥ì¥¹¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
gsave_err=Á÷¿®¥¢¥É¥ì¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
gsave_efrom='$1' ¤Ï¼¡¤Î¥¢¥É¥ì¥¹¤«¤é¤ÏÌµ¸ú¤Ç¤¹
gsave_ematch=From (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤¬ '$1' ¤È°ìÃ×¤·¤Þ¤»¤ó
gsave_eto='$1' ¤ÏÌµ¸ú¤Ê¿·µ¬¥¢¥É¥ì¥¹¤Ç¤¹

cgs_title=Á÷¿®¥É¥á¥¤¥ó
cgs_ecannot=Á÷¿®¥É¥á¥¤¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
cgs_header=Á÷¿®¥¢¥É¥ì¥¹ ¥É¥á¥¤¥ó
cgs_desc=¥í¡¼¥«¥ë ¥æ¡¼¥¶¤¬Á÷¿®¤·¤¿¥á¡¼¥ë¤Î¤Û¤«¤Ë¡¢sendmail ¤Ï±¦¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥Û¥¹¥È¤Þ¤¿¤Ï¥É¥á¥¤¥ó¤Ø¤Î¥á¡¼¥ë¤ËÂÐ¤·¤Æ <a href='$1'>Á÷¿®¥¢¥É¥ì¥¹</a> ¥Þ¥Ã¥Ô¥ó¥°¤ò¹Ô¤¤¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢From (Á÷¿®¼Ô)¥¢¥É¥ì¥¹¤Î¥É¥á¥¤¥ó¤ÈÆ°ºî¤¹¤ëÁ÷¿®¥¢¥É¥ì¥¹¤Î¥¨¥ó¥È¥ê¤¬¤³¤Î¥ê¥¹¥È¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
cgs_err=Á÷¿®¥É¥á¥¤¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
cgs_ehost='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Þ¤¿¤Ï¥É¥á¥¤¥óÌ¾¤Ç¤¹
cgs_eip='$1' ¤Ï IP ¥¢¥É¥ì¥¹¤Ç¥É¥á¥¤¥ó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó

domains_title=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°
domains_ecannot=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
domains_econfig=¤´»ÈÍÑ¤Î sendmail ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤ËÉ¬Í×¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
domains_efile=¥É¥á¥¤¥ó¥Þ¥Ã¥Ô¥ó¥° ¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤ò¹½ÃÛ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë $1¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤¿¤á¤Ë <a href='$3'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
domains_desc=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤Ï¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¡¢Ãæ·Ñ¤Þ¤¿¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ç¥æ¡¼¥¶¤ËÇÛ¿®¤¹¤ë<tt>To:</tt> ¥¢¥É¥ì¥¹¤òÊÑ¹¹¤·¤Þ¤¹¡£¤Þ¤¿¡¢¥ê¥ì¡¼¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Þ¤¿¤Ï¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ø¤Î¥á¥Ã¥»¡¼¥¸¤Î<tt>From:</tt> ¥¢¥É¥ì¥¹¤âÊÑ¹¹¤µ¤ì¤Þ¤¹¡£¤³¤ì¤Ï¡¢¥É¥á¥¤¥óÌ¾¤¬ÊÑ¹¹¤µ¤ì¤¿¾ì¹ç¤ª¤è¤Ó¸Å¤¤¥É¥á¥¤¥ó¤ò¤¹¤Ù¤Æ¿·µ¬¤Î¥É¥á¥¤¥ó¤ËÊÑ¹¹¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¹¡£
domains_from=¥Þ¥Ã¥Ô¥ó¥°¸µ¤Î¥É¥á¥¤¥ó..
domains_to=¥Þ¥Ã¥Ô¥ó¥°Àè¤Î¥É¥á¥¤¥ó..
domains_return=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥° ¥ê¥¹¥È

dform_edit=¥Þ¥Ã¥Ô¥ó¥°¤òÊÔ½¸
dform_create=¥Þ¥Ã¥Ô¥ó¥°¤òºîÀ®
dform_from=¥Þ¥Ã¥Ô¥ó¥°¸µ¤Î¥É¥á¥¤¥ó
dform_to=¥Þ¥Ã¥Ô¥ó¥°Àè¤Î¥É¥á¥¤¥ó
dform_ecannot=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

dsave_ecannot=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
dsave_err=¥É¥á¥¤¥ó¥Þ¥Ã¥Ô¥ó¥°¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
dsave_edomain='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥óÌ¾¤Ç¤¹

access_title=¥¹¥Ñ¥àÀ©¸æ
access_ecannot=¥¹¥Ñ¥àÀ©¸æ¤òÀßÄê¤Ç¤­¤Þ¤»¤ó
access_econfig=¤´»ÈÍÑ¤Î sendmail ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¥¹¥Ñ¥àÀ©¸æ¤ËÉ¬Í×¤Ê¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
access_efile=¥¹¥Ñ¥àÀ©¸æ ¥Ç¡¼¥¿¥Ù¡¼¥¹ $2 ¤ò¹½ÃÛ¤¹¤ë¤Î¤Ë»È¤ï¤ì¤ë¥Æ¥­¥¹¥È ¥Õ¥¡¥¤¥ë $1¤¬Â¸ºß¤·¤Þ¤»¤ó¡£Àµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ë¤¿¤á¤Ë <a href='$3'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
access_desc1=sendmail ¤Î¥¹¥Ñ¥àÀ©¸æµ¡Ç½¤Ï¡¢ÆÃÄê¤Î¥¢¥É¥ì¥¹¤«¤é¤Î¥á¡¼¥ë¤òµñÈÝ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥æ¡¼¥¶¤¬¥¹¥Ñ¥à ¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë¤Î¤òËÉ¤®¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤¬¥¹¥Ñ¥à ¥á¡¼¥ë¤ÎÁ÷¿®¼Ô¤Ë¤è¤Ã¤Æ¥á¡¼¥ë¤Î¥ê¥ì¡¼¤Ë»ÈÍÑ¤µ¤ì¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï sendmail ¤ÏÇ¤°Õ¤Î¥¢¥É¥ì¥¹¤«¤é¥í¡¼¥«¥ë ¥æ¡¼¥¶¤Ø¤Î¥á¡¼¥ë¤ò¼õ¤±Æþ¤ì¤Þ¤¹¤¬¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤Þ¤¿¤Ï¥á¡¼¥ë ¥µ¡¼¥Ð¤¬¥á¡¼¥ë¤ò¥ê¥ì¡¼¤¹¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£ÄÌ¾ï¤Ï¥¹¥Ñ¥à ¥á¡¼¥ë¤òµñÈÝ¤¹¤ë¤¿¤á¤Î¥¹¥Ñ¥àÀ©¸æ¤Îµ¬Â§¤È¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤òÄÌ¤¸¤Æ¥Í¥Ã¥È¥ï¡¼¥¯¤ÎÂ¾¤Î¥Þ¥·¥ó¤¬¥á¡¼¥ë¤ò¥ê¥ì¡¼¤¹¤ë¤Î¤òµö²Ä¤¹¤ëµ¬Â§¤òÄÉ²Ã¤·¤Þ¤¹¡£
access_desc2=¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢sendmail ¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ç¼Â¹ÔÃæ¤Î¥á¡¼¥ë ¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¡¼¥ë¤ò SMTP ·ÐÍ³¤ÇÇ¤°Õ¤Î°¸Àè¤Ë¥ê¥ì¡¼¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£¤½¤Î¤¿¤á¡¢¥í¡¼¥«¥ë<tt>127.0.0</tt> ¥Í¥Ã¥È¥ï¡¼¥¯¤ò¤³¤ì¤é¤Î¥ê¥ì¡¼¤òµö²Ä¤µ¤ì¤¿¥ê¥¹¥È¤Ë²Ã¤¨¤ëÉ¬Í×¤Ï¤¢¤ê¤Þ¤»¤ó¡£
access_source=¥½¡¼¥¹..
access_action=¥¢¥¯¥·¥ç¥ó..
access_return=¥¹¥Ñ¥àÀ©¸æ¥ê¥¹¥È

sform_edit=¥¹¥Ñ¥àÀ©¸æµ¬Â§¤òÊÔ½¸
sform_create=¥¹¥Ñ¥àÀ©¸æµ¬Â§¤òºîÀ®
sform_source=¥á¡¼¥ë¤Î¥½¡¼¥¹
sform_type0=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
sform_type1=¥Í¥Ã¥È¥ï¡¼¥¯
sform_type2=¥æ¡¼¥¶
sform_type3=¥É¥á¥¤¥ó
sform_action=¥¢¥¯¥·¥ç¥ó
sform_ok=µöÍÆ
sform_relay=¥ê¥ì¡¼¤òµö²Ä
sform_reject=µñÈÝ
sform_discard=¼«Æ°Åª¤Ëºï½ü
sform_err=¥¨¥é¡¼ ¥³¡¼¥É
sform_msg=¥á¥Ã¥»¡¼¥¸
sform_ecannot=¥¹¥Ñ¥àÀ©¸æ¤òÀßÄê¤Ç¤­¤Þ¤»¤ó

ssave_ecannot=¥¹¥Ñ¥àÀ©¸æ¤òÀßÄê¤Ç¤­¤Þ¤»¤ó
ssave_err=¥¹¥Ñ¥àÀ©¸æµ¬Â§¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ssave_etype0='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
ssave_etype1='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¹
ssave_etype2='$1' ¤ÏÌµ¸ú¤Ê¥æ¡¼¥¶Ì¾¤Ç¤¹
ssave_etype3='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥ó¤Ç¤¹
ssave_ecode='$1' ¤ÏÌµ¸ú¤Ê SMTP ¥¨¥é¡¼ ¥³¡¼¥É¤Ç¤¹

relay_title=¥ê¥ì¡¼ ¥É¥á¥¤¥ó
relay_ecannot=¥ê¥ì¡¼ ¥É¥á¥¤¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
relay_eversion=sendmail ¥Ð¡¼¥¸¥ç¥ó8.9 °Ê¹ß¤Î¤ß¤¬¥ê¥ì¡¼ ¥É¥á¥¤¥óµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£
relay_domains=¥ê¥ì¡¼¤¬µö²Ä¤µ¤ì¤¿¥É¥á¥¤¥ó
relay_desc1=sendmail ¤Ï <a href='$1'>¥¹¥Ñ¥àÀ©¸æ</a> µ¬Â§¤Çµö²Ä¤µ¤ì¤¿¾ì¹ç°Ê³°¤Ï¡¢º¸¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤Ë¥ê¥¹¥È¤µ¤ì¤¿¥É¥á¥¤¥ó¤Ë¤Î¤ß¥á¡¼¥ë¤ò¥ê¥ì¡¼¤¹¤ë¤³¤È¤òµö²Ä¤·¤Þ¤¹¡£¥í¡¼¥«¥ë ¥æ¡¼¥¶°¸¤È¥ê¥¹¥È¤µ¤ì¤¿¥É¥á¥¤¥ó°¸¤Ç¤Ê¤¤¼õ¿®¥á¡¼¥ë ¥á¥Ã¥»¡¼¥¸¤ÏµñÈÝ¤µ¤ì¤Þ¤¹¡£
relay_desc2=¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤¬¥Í¥Ã¥È¥ï¡¼¥¯¤Î³°Â¦¤«¤éÄ¾ÀÜ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¥É¥á¥¤¥ó¤Ø¤Î¥²¡¼¥È¥¦¥§¥¤¤È¤·¤ÆÆ°ºî¤·¤Æ¤¤¤ë¾ì¹ç ( <a href='$1'>¥É¥á¥¤¥ó ¥ë¡¼¥È</a> µ¡Ç½¤ò»ÈÍÑ) ¤Ï¡¢¤½¤ì¤é¤Î¤¹¤Ù¤Æ¤Î¥É¥á¥¤¥ó¤Ï¤³¤³¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
relay_err=¥ê¥ì¡¼ ¥É¥á¥¤¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó
relay_edomain='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥óÌ¾¤Ç¤¹

mailq_title=¥á¡¼¥ë ¥­¥å¡¼
mailq_ecannot=¥á¡¼¥ë ¥­¥å¡¼¤òÉ½¼¨¤Ç¤­¤Þ¤»¤ó
mailq_id=¥á¡¼¥ë ID
mailq_sent=Á÷¿®ºÑ¤ß
mailq_from=Á÷¿®¸µ
mailq_to=°¸Àè
mailq_size=¥µ¥¤¥º
mailq_status=¥¹¥Æ¡¼¥¿¥¹
mailq_unknown=ÉÔÌÀ
mailq_sending=Á÷¿®Ãæ
mailq_dmsg=¥á¡¼¥ë ¥­¥å¡¼¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤òÉ½¼¨¤¹¤ë¤Ë¤Ï¡¢¾å¤Î¥ê¥¹¥È¤«¤é¤½¤Î ID ¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
mailq_force=¥­¥å¡¼¤µ¤ì¤¿¥á¡¼¥ë¤ÎÂ¨ºÂ¤ÎÈ¯¿®¤ò¶¯À©¤¹¤ë¤Ë¤Ï¡¢ <a href='$1'>¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤</a>.
mailq_none=¸½ºßÇÛ¿®¤Ë¥­¥å¡¼¤µ¤ì¤¿¥á¡¼¥ë ¥á¥Ã¥»¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó
mailq_delete=ÁªÂò¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤òºï½ü¤¹¤ë
mailq_return=¥á¡¼¥ë ¥­¥å¡¼

flushq_title=¥­¥å¡¼¤Î¥Õ¥é¥Ã¥·¥å
flushq_desc=¥³¥Þ¥ó¥É $1 ¤Ç¥á¡¼¥ë¤ÎÇÛ¿®¤ò¶¯À©Ãæ..

delq_err=¥á¥Ã¥»¡¼¥¸¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
delq_ecannot=¥á¥Ã¥»¡¼¥¸¤Î¥­¥å¡¼¤ò²ò½ü¤Ç¤­¤Þ¤»¤ó
delq_locked=¥Õ¥¡¥¤¥ë¤Ï¸½ºß¡¢Á÷¿®¤Ë¤Ä¤¤¤Æ¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹
delq_enone=ºï½ü¤¹¤ë¥á¥Ã¥»¡¼¥¸¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
delq_title=¥á¥Ã¥»¡¼¥¸¤Îºï½ü
delq_file=¥á¡¼¥ë ¥Õ¥¡¥¤¥ë $1 ¤òºï½üÃæ..
delq_efile=¥Õ¥¡¥¤¥ëÌ¾¤¬Ìµ¸ú¤Ç¤¹
delq_egone=¤¹¤Ç¤Ëºï½ü¤Þ¤¿¤ÏÇÛ¿®¤·¤Þ¤·¤¿
delq_elocked=Á÷¿®¤¬¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹
delq_ok=ºï½ü¤·¤Þ¤·¤¿

boxes_title=¥æ¡¼¥¶ ¥á¡¼¥ë¥Ü¥Ã¥¯¥¹
boxes_user=¥æ¡¼¥¶
boxes_size=¥á¡¼¥ë¥Ü¥Ã¥¯¥¹ ¥µ¥¤¥º
boxes_none=¥á¡¼¥ë¤Ê¤·
boxes_return=¥á¡¼¥ë¥Ü¥Ã¥¯¥¹
boxes_sent=Á÷¿®ºÑ¤ß¥á¡¼¥ë
boxes_ecannot=¥á¡¼¥ë¤òÆÉ¤á¤Þ¤»¤ó

mail_title=¥æ¡¼¥¶ E ¥á¡¼¥ë
mail_from=Á÷¿®¸µ
mail_date=ÆüÉÕ
mail_subject=·ïÌ¾
mail_to=°¸Àè
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Í¥ÀèÅÙ
mail_highest=ºÇÍ¥Àè
mail_high=¹â
mail_normal=É¸½à
mail_low=Äã
mail_lowest=ºÇ¸å
mail_for=$1 Æâ
mail_sent=Á÷¿®ºÑ¤ß¥á¡¼¥ë ¥ê¥¹¥ÈÆâ
mail_size=¥µ¥¤¥º
mail_delete=ÁªÂò¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¤òºï½ü
mail_compose=¿·µ¬¥á¡¼¥ë¤òºîÀ®
mail_return=¥æ¡¼¥¶ E ¥á¡¼¥ë
mail_pos=$3¤Î $2¤Ø¤Î¥á¥Ã¥»¡¼¥¸ $1 
mail_none=¤³¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¤¬¤¢¤ê¤Þ¤»¤ó
mail_ecannot=¤³¤Î¥æ¡¼¥¶¡¼¤Î¥á¡¼¥ë¤ÏÆÉ¤á¤Þ¤»¤ó
mail_all=¤¹¤Ù¤ÆÁªÂò
mail_invert=ÁªÂò¤ÎÈ¿Å¾
mail_search=¥á¥Ã¥»¡¼¥¸¤Î¸¡º÷
mail_body=ËÜÊ¸
mail_match=°ìÃ×
mail_ok=¸¡º÷
mail_nonefrom=¤Ê¤·

view_title=E ¥á¡¼¥ë¤òÆÉ¤à
view_desc=$2¤Î¥á¥Ã¥»¡¼¥¸ $1
view_sent=Á÷¿®ºÑ¤ß¥á¡¼¥ë ¥ê¥¹¥È¤Î¥á¥Ã¥»¡¼¥¸ $1
view_qdesc=¥­¥å¡¼¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸ $1
view_headers=¥á¡¼¥ë ¥Ø¥Ã¥À
view_attach=ÅºÉÕ¥Õ¥¡¥¤¥ë
view_reply=ÊÖ¿®
view_reply2=Á´°÷¤ËÊÖ¿®
view_enew=¿·µ¬¤È¤·¤ÆÊÔ½¸
view_forward=Å¾Á÷
view_delete=ºï½ü
view_ecannot=¤³¤Î¥æ¡¼¥¶¡¼¤Î¥á¡¼¥ë¤ÏÆÉ¤á¤Þ¤»¤ó

compose_title=E ¥á¡¼¥ë¤ÎºîÀ®
reply_title=E ¥á¡¼¥ë¤Ø¤ÎÊÖ¿®
forward_title=E ¥á¡¼¥ë¤ÎÅ¾Á÷
reply_headers=¥á¡¼¥ë ¥Ø¥Ã¥À
reply_attach=Å¾Á÷¤µ¤ì¤¿ÅºÉÕ¥Õ¥¡¥¤¥ë
reply_attach2=ÅºÉÕ¥Õ¥¡¥¤¥ë
reply_send=Á÷¿®
reply_ecannot=¤³¤Î¥æ¡¼¥¶¤È¤·¤Æ¤Ï¥á¡¼¥ë¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó

send_err=¥á¡¼¥ë¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
send_eto=To ¡Ê°¸Àè¡Ë¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
send_efrom=From (Á÷¿®¼Ô) ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
send_title=Á÷¿®¤µ¤ì¤¿¥á¡¼¥ë
send_ok=$1 ¤Ø¤Î¥á¡¼¥ë¤ÎÁ÷¿®¤ò´°Î»¤·¤Þ¤·¤¿
send_ecannot=¤³¤Î¥æ¡¼¥¶¤È¤·¤Æ¤Ï¥á¡¼¥ë¤òÁ÷¿®¤Ç¤­¤Þ¤»¤ó
send_esmtp=SMTP ¥³¥Þ¥ó¥É $1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2
send_efile=ÅºÉÕ¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
send_eattach=ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Ï $1 KB ¤ò±Û¤¨¤é¤ì¤Þ¤»¤ó¡£
send_eperms=¥æ¡¼¥¶ $1 ¤Ï $2 ¤òÆÉ¤ß¼è¤ì¤Þ¤»¤ó
send_eperms2=¥Õ¥¡¥¤¥ë $1 ¤ÏÁ÷¿®¤Ç¤­¤Þ¤»¤ó

delete_ecannot=¤³¤Î¥æ¡¼¥¶¤«¤é¤Î¥á¡¼¥ë¤òºï½ü¤Ç¤­¤Þ¤¹
delete_enone=ºï½ü¤¹¤ë¥á¥Ã¥»¡¼¥¸¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

search_title=¸¡º÷·ë²Ì
search_ecannot=¤³¤Î¥æ¡¼¥¶¤Î¥á¡¼¥ë¤Ï¸¡º÷¤Ç¤­¤Þ¤»¤ó
search_ematch=¸¡º÷¤¹¤ë¤Ë¤Ï¥Æ¥­¥¹¥È¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
search_none=¥á¥Ã¥»¡¼¥¸¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
search_results=$1 ¤È°ìÃ×¤¹¤ë¥á¡¼¥ë ¥á¥Ã¥»¡¼¥¸..

file_title=sendmail ¥Õ¥¡¥¤¥ë
file_desc=sendmail ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤¹¤ë¤Ë¤Ï²¼¤Î¥Æ¥­¥¹¥È ¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
file_undo=ÊÑ¹¹¤ò¸µ¤ËÌá¤¹
file_edit=$1 ¤ò¼êÆ°¤ÇÊÔ½¸
file_ealiases=¤¹¤Ù¤Æ¤Î¥¨¥¤¥ê¥¢¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¾ì¹ç¤Ë¤Î¤ß¡¢¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£
file_evirtusers=¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¾ì¹ç¤Ë¤Î¤ß¡¢¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£
file_emailers=¥É¥á¥¤¥ó ¥ë¡¼¥È¥Õ¥¡¥¤¥ë¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
file_egenerics=¤¹¤Ù¤Æ¤ÎÁ÷¿®¥¢¥É¥ì¥¹¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¾ì¹ç¤Ë¤Î¤ß¡¢Á÷¿®¥¢¥É¥ì¥¹ ¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£
file_edomains=¥É¥á¥¤¥ó ¥Þ¥Ã¥× ¥Õ¥¡¥¤¥ë¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
file_eaccess=¥¹¥Ñ¥àÀ©¸æ¥Õ¥¡¥¤¥ë¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó¡£
file_emode=ÉÔÌÀ¤Ê¥â¡¼¥É¤Ç¤¹
file_err=¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

acl_opts=sendmail ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_cws=¥í¡¼¥«¥ë ¥É¥á¥¤¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_masq=¥É¥á¥¤¥ó ¥Þ¥¹¥«¥ì¡¼¥É¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_trusts=¿®Ç¤¥æ¡¼¥¶¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_cgs=Á÷¿®¥É¥á¥¤¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_relay=¥ê¥ì¡¼ ¥É¥á¥¤¥ó¤òÊÔ½¸²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_mailers=¥É¥á¥¤¥ó ¥ë¡¼¥È¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_access=¥¹¥Ñ¥àÀ©¸æ¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_domains=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥°¤òÀßÄê²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_stop=sendmail ¤òµ¯Æ°¡¢Ää»ß²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_mailq=¥á¡¼¥ë ¥­¥å¡¼¤ò´ÉÍý²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_viewdel=É½¼¨¤Èºï½ü
acl_view=É½¼¨¤Î¤ß
acl_virtusers=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°
acl_none=¤Ê¤·
acl_same=Æ±Ì¾¤Î¥æ¡¼¥¶
acl_all=¤¹¤Ù¤Æ
acl_matching=°ìÃ×
acl_vtypes=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤Î¼ïÎà
acl_vtype0=¥¨¥é¡¼¤ÎÊÖ¤·Àè
acl_vtype1=¥É¥á¥¤¥ó
acl_vtype2=¥¢¥É¥ì¥¹
acl_vmax=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥°¤ÎºÇÂç¿ô
acl_unlimited=ÌµÀ©¸Â
acl_aliases=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥¨¥¤¥ê¥¢¥¹
acl_atypes=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ë¥¨¥¤¥ê¥¢¥¹¤Î¼ïÎà
acl_atype1=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
acl_atype2=¥Õ¥¡¥¤¥ëÆâ¤Î¥¢¥É¥ì¥¹
acl_atype3=¥Õ¥¡¥¤¥ë¤Ë½ñ¹þ¤ß
acl_atype4=¥×¥í¥°¥é¥à¤ËÁ÷¤ë
acl_atype5=¼«Æ°±þÅú
acl_amax=¥¨¥¤¥ê¥¢¥¹¤ÎºÇÂç¿ô
acl_outgoing=¤³¤Î¥æ¡¼¥¶¤¬ÊÔ½¸¤Ç¤­¤ëÁ÷¿®¥¢¥É¥ì¥¹
acl_read=¥á¡¼¥ë¤òÆÉ¤ß¼è¤ì¤ë¥æ¡¼¥¶
acl_users=¼¡¤Î¥æ¡¼¥¶¤Î¤ß
acl_userse=¼¡¤Î¥æ¡¼¥¶°Ê³°¤¹¤Ù¤Æ
acl_usersg=¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼
acl_from=¥¢¥É¥ì¥¹¤«¤éµö²Ä
acl_any=Ç¤°Õ¤Î¥¢¥É¥ì¥¹
acl_fdoms=¥á¡¼¥ë¥Ü¥Ã¥¯¥¹ @ ¥É¥á¥¤¥ó
acl_faddrs=¥ê¥¹¥È¤µ¤ì¤¿¥¢¥É¥ì¥¹
acl_fdom=Ç¤°Õ¤Î¥¢¥É¥ì¥¹ @ ¥É¥á¥¤¥ó
acl_apath=¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥Õ¥¡¥¤¥ë¤È¥×¥í¥°¥é¥à¤òÀ©¸Â
acl_attach=ÅºÉÕ¥Õ¥¡¥¤¥ë¤Î¹ç·×¥µ¥¤¥º¤ÎºÇÂçÃÍ
acl_sent=Á÷¿®ºÑ¤ß¥á¡¼¥ë¤ò¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤ËÊÝÂ¸

log_opts=sendmail ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_alias_create=¥¨¥¤¥ê¥¢¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_alias_modify=¥¨¥¤¥ê¥¢¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_alias_delete=¥¨¥¤¥ê¥¢¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_alias_manual=¥¨¥¤¥ê¥¢¥¹ ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_cws=¥í¡¼¥«¥ë ¥É¥á¥¤¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_masq=¥É¥á¥¤¥ó ¥Þ¥¹¥«¥ì¡¼¥É¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_trusts=¿®Ç¤¥æ¡¼¥¶¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_virtuser_create=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_virtuser_modify=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_virtuser_delete=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_virtuser_manual=¥¢¥É¥ì¥¹ ¥Þ¥Ã¥Ô¥ó¥° ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_mailer_create=¥É¥á¥¤¥ó ¥ë¡¼¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_mailer_modify=¥É¥á¥¤¥ó ¥ë¡¼¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mailer_delete=¥É¥á¥¤¥ó ¥ë¡¼¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_mailer_manual=¥É¥á¥¤¥ó ¥ë¡¼¥È ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_generic_create=Á÷¿®¥¢¥É¥ì¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_generic_modify=Á÷¿®¥¢¥É¥ì¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_generic_delete=Á÷¿®¥¢¥É¥ì¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_generic_manual=Á÷¿®¥¢¥É¥ì¥¹ ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_cgs=Á÷¿®¥É¥á¥¤¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_domain_create=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_domain_modify=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_domain_delete=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥° $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_domain_manual=¥É¥á¥¤¥ó ¥Þ¥Ã¥Ô¥ó¥° ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_access_create=$1 ¤Ø¤Î¥¹¥Ñ¥àÀ©¸æ¤òºîÀ®¤·¤Þ¤·¤¿
log_access_modify=$1 ¤Ø¤Î¥¹¥Ñ¥àÀ©¸æ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_access_delete=$1 ¤Ø¤Î¥¹¥Ñ¥àÀ©¸æ¤òºï½ü¤·¤Þ¤·¤¿
log_access_manual=¥¹¥Ñ¥àÀ©¸æ¥Õ¥¡¥¤¥ë $1 ¤ò¼êÆ°¤ÇÊÔ½¸¤·¤Þ¤·¤¿
log_relay=¥ê¥ì¡¼ ¥É¥á¥¤¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_flushq=¥­¥å¡¼¤ò¥Õ¥é¥Ã¥·¥å¤·¤Þ¤·¤¿
log_delmailq=$1 ¤«¤é¤Î¥á¡¼¥ë¤ò¥­¥å¡¼¤«¤éºï½ü¤·¤Þ¤·¤¿
log_delmailqs=¥­¥å¡¼¤«¤é $1 ¥á¡¼¥ë¤òºï½ü¤·¤Þ¤·¤¿
log_stop=sendmail ¥Ç¡¼¥â¥ó¤òÄä»ß¤·¤Þ¤·¤¿
log_start=sendmail ¥Ç¡¼¥â¥ó¤òµ¯Æ°¤·¤Þ¤·¤¿
log_delmail=$1 ¥á¥Ã¥»¡¼¥¸¤ò $2 ¤«¤éºï½ü¤·¤Þ¤·¤¿
log_send=$1 ¤Ë¥á¡¼¥ë¤òÁ÷¿®¤·¤Þ¤·¤¿

match_from=From: (Á÷¿®¼Ô)°ìÃ×
match_subject=Subject: (·ïÌ¾)°ìÃ×
match_to=To: (°¸Àè)°ìÃ×
match_cc=Cc:°ìÃ×
match_date=Date: (Æü»þ)°ìÃ×
match_body=Body (ËÜÊ¸)¤¬°ìÃ×
match_size=¥µ¥¤¥º¤¬¼¡¤è¤êÂç¤­¤¤¤Ç¤¹
  0707010002875e000081a40000000000000002000000013d1fe2d300005d7e000000200000000000000000000000000000001e00000003reloc/sendmail/lang/ja_JP.jis index_title=sendmail Ý’è
index_econfig=sendmail Ý’èƒtƒ@ƒCƒ‹ $1 ‚Í‘¶Ý‚µ‚Ü‚¹‚ñB‚²Žg—p‚Ì <a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_eversion=‚±‚Ìsendmail Ý’èƒtƒ@ƒCƒ‹‚ÍÅV‚Ì sendmail ƒo[ƒWƒ‡ƒ“—p‚Å‚È‚¢‚æ‚¤‚ÉŽv‚í‚ê‚Ü‚·BWebmin ‚Íƒo[ƒWƒ‡ƒ“ 8.8 ˆÈ~‚Ì‚ÝƒTƒ|[ƒg‚µ‚Ü‚·B
index_epath=sendmail ŽÀsƒtƒ@ƒCƒ‹ $1 ‚ªƒVƒXƒeƒ€‚ÉƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚²Žg—p‚Ì<a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚©Asendmail  ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_return=sendmail Ý’è
index_stop=sendmail ‚ð’âŽ~
index_stopmsg=ŽÀs’†‚Ì sendmail ƒvƒƒZƒX‚ð’âŽ~‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ÍA‘¼‚ÌƒVƒXƒeƒ€‚©‚çƒ[ƒJƒ‹ ƒ†[ƒU‚Éƒ[ƒ‹‚ª”zM‚³‚ê‚é‚Ì‚ð’âŽ~‚µA‚±‚ÌƒVƒXƒeƒ€‚ðƒ[ƒ‹ ƒT[ƒo‚Æ‚µ‚ÄŽg—p’†‚ÌƒNƒ‰ƒCƒAƒ“ƒg‚ªƒ[ƒ‹‚ð‘—M‚·‚é‚Ì‚ð–h‚¬‚Ü‚·B
index_start=sendmail ‚ðŠJŽn
index_startmsg=ƒRƒ}ƒ“ƒh $1 ‚Åsendmail ‚ð‹N“®‚·‚é‚É‚Í‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ðŽÀs‚·‚é‚Ü‚Å‚ÍA‘¼‚ÌƒVƒXƒeƒ€‚©‚çƒ[ƒJƒ‹ ƒ†[ƒU‚Éƒ[ƒ‹‚ª”zM‚³‚ê‚¸AƒNƒ‰ƒCƒAƒ“ƒg‚Í‚±‚ÌƒVƒXƒeƒ€‚ðƒ[ƒ‹ ƒT[ƒo‚Æ‚µ‚ÄŽg—p‚Å‚«‚Ü‚¹‚ñB

opts_title=sendmail ƒIƒvƒVƒ‡ƒ“
opts_ecannot=sendmail ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
opts_ds=ƒzƒXƒgŒo—R‚Åƒ[ƒ‹‚ð‘—M
opts_direct=’¼Ú”zM
opts_dr=”F’è‚³‚ê‚È‚¢ƒ†[ƒU–¼‚ðƒzƒXƒg‚É“]‘—
opts_dh=ƒ[ƒJƒ‹ ƒ†[ƒU‚©‚çƒzƒXƒg‚Éƒ[ƒ‹‚ð“]‘—
opts_local=ƒ[ƒJƒ‹”zM
opts_queuela=‘—M—pƒ[ƒh•½‹Ï‚ÌÅ‘å’l
opts_refusela=ŽóM—pƒ[ƒh•½‹Ï‚ÌÅ‘å’l
opts_maxch=ŽqƒvƒƒZƒXÅ‘å’l
opts_throttle=Ú‘±”/•b‚ÌÅ‘å’l
opts_minqueueage=‘—M‚ðÄŽŽs‚·‚é‚Ü‚Å‚ÌÅ¬ŽžŠÔ
opts_runsize=Å‘åƒLƒ…[ ƒTƒCƒY
opts_queuereturn=’†Ž~‚·‚é‚Ü‚Å‚ÌŽžŠÔ
opts_queuewarn=Œx‚ð‘—M‚·‚é‚Ü‚Å‚ÌŽžŠÔ
opts_queue=ƒ[ƒ‹ ƒLƒ…[ ƒfƒBƒŒƒNƒgƒŠ
opts_postmaster=ƒGƒ‰[ ƒƒbƒZ[ƒW‚Ì‘—Mæ
opts_forward=ƒ†[ƒU“]‘—ƒtƒ@ƒCƒ‹
opts_minfree=Å¬‹ó‚«ƒfƒBƒXƒN—Ìˆæ
opts_maxmessage=Å‘åƒƒbƒZ[ƒW ƒTƒCƒY
opts_loglevel=ƒƒO ƒŒƒxƒ‹
opts_mimebounce=MIME ƒGƒ“ƒR[ƒh‚ÌƒoƒEƒ“ƒX ƒƒbƒZ[ƒW‚É‚µ‚Ü‚·‚©H
opts_default=ƒfƒtƒHƒ‹ƒg
opts_save=•Û‘¶‚µ‚Ä“K—p
opts_err=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
opts_ehost='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚ÍƒhƒƒCƒ“–¼‚Å‚·
opts_einvalid='$1' ‚Í $2 ‚É‘Î‚·‚é–³Œø‚È’l‚Å‚·
opts_blame=ƒtƒ@ƒCƒ‹ ƒZƒLƒ…ƒŠƒeƒB ƒIƒvƒVƒ‡ƒ“
opts_selected=‘I‘ð..
opts_blocks=ƒuƒƒbƒN
opts_bytes=ƒoƒCƒg
opts_dmode=”zMƒ‚[ƒh
opts_background=ƒoƒbƒNƒOƒ‰ƒEƒ“ƒh
opts_queue-only=ƒLƒ…[‚Ì‚Ý
opts_interactive=‘Î˜bŽ®
opts_deferred=Œã‚Å

aliases_title=ƒ[ƒ‹ ƒGƒCƒŠƒAƒX
aliases_ecannot=ƒGƒCƒŠƒAƒX‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
aliases_addr=ƒAƒhƒŒƒX
aliases_to=ƒGƒCƒŠƒAƒX..
aliases_type1=ƒAƒhƒŒƒX $1
aliases_type2=ƒtƒ@ƒCƒ‹$1 “à‚ÌƒAƒhƒŒƒX
aliases_type3=ƒtƒ@ƒCƒ‹ $1
aliases_type4=ƒvƒƒOƒ‰ƒ€ $1
aliases_type5=Ž©“®‰ž“šƒtƒ@ƒCƒ‹ $1
aliases_none=‚È‚µ
aliases_return=ƒGƒCƒŠƒAƒX ƒŠƒXƒg

aform_type0=‚È‚µ
aform_type1=E ƒ[ƒ‹ ƒAƒhƒŒƒX
aform_type2=ƒtƒ@ƒCƒ‹“à‚ÌƒAƒhƒŒƒX
aform_type3=ƒtƒ@ƒCƒ‹‚É‘ž‚Ý
aform_type4=ƒvƒƒOƒ‰ƒ€‚É‘—‚é
aform_type5=ƒtƒ@ƒCƒ‹‚©‚çŽ©“®‰ž“š
aform_edit=ƒGƒCƒŠƒAƒX‚ð•ÒW
aform_create=ƒGƒCƒŠƒAƒX‚ðì¬
aform_name=ƒAƒhƒŒƒX
aform_enabled=—LŒø‚É‚µ‚Ü‚·‚©H
aform_val=ƒGƒCƒŠƒAƒX
aform_afile=•ÒW..
aform_return=ƒGƒCƒŠƒAƒX

afile_title=ƒAƒhƒŒƒX ƒtƒ@ƒCƒ‹‚Ì•ÒW
afile_desc=ƒtƒ@ƒCƒ‹ $1 ‚ÌƒAƒhƒŒƒX‚ð•ÒW‚·‚é‚É‚Í‰º‚ÌƒeƒLƒXƒg ƒGƒŠƒA‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
afile_efile=$1 ‚Í•ÒW‚Å‚«‚Ü‚¹‚ñB
afile_undo=•ÏX‚ðŒ³‚É–ß‚·

rfile_title=Ž©“®‰ž“šƒtƒ@ƒCƒ‹‚Ì•ÒW
rfile_desc=$1 ‚ÌŽ©“®‰ž“šƒƒbƒZ[ƒW‚ð•ÒW‚·‚é‚É‚Í‰º‚ÌƒeƒLƒXƒg ƒGƒŠƒA‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢BƒƒbƒZ[ƒW‚ÍŽ©“®‰ž“š‚ªƒAƒNƒeƒBƒu‚É‚È‚Á‚½‚Æ‚«‚É“WŠJ‚³‚ê‚éƒ}ƒNƒ $SUBJECT, $FROM, $TO, $DATE ‚¨‚æ‚Ñ $BODY ‚ðŠÜ‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·B.
rfile_efile=$1 ‚Í•ÒW‚Å‚«‚Ü‚¹‚ñB
rfile_undo=•ÏX‚ðŒ³‚É–ß‚·

asave_err=ƒGƒCƒŠƒAƒX‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
asave_ecannot2=ƒGƒCƒŠƒAƒX‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
asave_ecannot=‚±‚ÌƒGƒCƒŠƒAƒX‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
asave_emax=$1 ‚æ‚è‘½‚­‚ÌƒGƒCƒŠƒAƒX‚Íì¬‚Å‚«‚Ü‚¹‚ñ
asave_eaddr='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
asave_ealready='$1' ‚ÌƒGƒCƒŠƒAƒX‚Í‚·‚Å‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·
asave_ematch='$1' ‚Éˆê’v‚·‚éƒGƒCƒŠƒAƒX‚Ì‚Ýì¬‚·‚é‹–‰Â‚ª‚ ‚è‚Ü‚·
asave_etype=‚±‚ÌŽí—Þ‚ÌƒGƒCƒŠƒAƒX‚Íì¬‚Å‚«‚Ü‚¹‚ñ
asave_etype1='$1' ‚Í–³Œø‚È E ƒ[ƒ‹ ƒAƒhƒŒƒX‚Å‚·
asave_etype2=ƒAƒhƒŒƒX ƒtƒ@ƒCƒ‹  '$1' ‚Í–³Œø‚©‘¶Ý‚µ‚Ü‚¹‚ñ
asave_etype3='$1' ‚Í–³Œø‚Èƒtƒ@ƒCƒ‹–¼‚Å‚·
asave_etype4='$1' ‚Í–³Œø‚ÈƒvƒƒOƒ‰ƒ€‚©‘¶Ý‚µ‚Ü‚¹‚ñ
asave_etype5=Ž©“®‰ž“šƒtƒ@ƒCƒ‹  '$1' ‚Í–³Œø‚©‘¶Ý‚µ‚Ü‚¹‚ñ
asave_etype4none=ƒvƒƒOƒ‰ƒ€‚ª‚ ‚è‚Ü‚¹‚ñ

cws_title=ƒ[ƒJƒ‹ ƒhƒƒCƒ“
cws_ecannot=ƒ[ƒJƒ‹ ƒhƒƒCƒ“‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
cws_domains=‚±‚ÌƒT[ƒo‚ªˆ—‚·‚éƒhƒƒCƒ“
cws_desc1=$1 ‚Ö‚Ìƒ[ƒ‹‚Ì‚Ù‚©‚ÉAsendmail ‚Í¶‚ÌƒeƒLƒXƒg ƒ{ƒbƒNƒX‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚éƒhƒƒCƒ“‚ÆƒzƒXƒg–¼‚Ö‚Ìƒ[ƒJƒ‹”zMƒ[ƒ‹‚Ì‚Ý‚ðŽó‚¯•t‚¯‚Ü‚·Bƒ[ƒ‹ ƒT[ƒo‚ª•¡”‚Ì E ƒ[ƒ‹ ƒhƒƒCƒ“‚ðˆ—‚·‚é‚É‚ÍA‚»‚ê‚ç‚ÌƒhƒƒCƒ“‚ª‚±‚±‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B
cws_desc2=’Êí‚ÍAƒŠƒXƒg‚ÉƒhƒƒCƒ“‚ðŠÜ‚ñ‚Å‚¢‚é‚¾‚¯‚Å‚Í\•ª‚Å‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ÌƒhƒƒCƒ“‚Ì DNSƒŒƒR[ƒh‚ª‘¶Ý‚µAƒVƒXƒeƒ€‚ðŽw‚µ‚Ä‚¢‚é‚±‚Æ‚ðŠm”F‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
cws_err=ƒ[ƒJƒ‹ ƒhƒƒCƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ
cws_ehost='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚ÍƒhƒƒCƒ“–¼‚Å‚·
cws_eip='$1' ‚Í IP ƒAƒhƒŒƒX‚ÅƒhƒƒCƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñ

masq_title=ƒhƒƒCƒ“‚Ìƒ}ƒXƒJƒŒ[ƒh
masq_ecannot=ƒ}ƒXƒJƒŒ[ƒh‚ÍÝ’è‚Å‚«‚Ü‚¹‚ñ
masq_domain=ƒhƒƒCƒ“‚Æ‚µ‚Äƒ}ƒXƒJƒŒ[ƒh
masq_domains=ƒ}ƒXƒJƒŒ[ƒh‚³‚ê‚éƒhƒƒCƒ“
masq_desc1=ã‚ÉƒhƒƒCƒ“‚ªŽw’è‚³‚ê‚Ä‚¢‚éê‡Asendmail ‚Í <tt>From (‘—MŽÒ)</tt> ‚ÉŽw’è‚³‚ê‚Ä‚¢‚é‚·‚×‚Ä‚Ì‘—MƒƒbƒZ[ƒW‚ÌƒAƒhƒŒƒX‚ð‚»‚ÌƒhƒƒCƒ“‚©‚ç”­M‚·‚é‚æ‚¤‚É‘ã‘Ö‚µ‚Ü‚·B‚³‚ç‚ÉA¶‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚éƒzƒXƒg‚Ü‚½‚ÍƒhƒƒCƒ“‚©‚çƒVƒXƒeƒ€‚É“n‚³‚ê‚é‚·‚×‚Ä‚Ì E ƒ[ƒ‹ ƒƒbƒZ[ƒW‚ÍA <tt>From (‘—MŽÒ)</tt> ‚ÌƒAƒhƒŒƒX‚ª“¯—l‚É•ÏX‚³‚ê‚Ü‚·B‚±‚±‚Å’è‹`‚³‚ê‚½ƒ}ƒXƒJƒŒ[ƒh‚³‚ê‚éƒhƒƒCƒ“‚ÍA<a href='$1'>Outgoing Addresses (ˆ¶æƒAƒhƒŒƒX)</a> ƒy[ƒW‚ðŽg—p‚µ‚½“Á’è‚Ìƒ†[ƒU—p‚Éã‘‚«‰Â”\‚Å‚ ‚é‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
masq_desc2=‚±‚Ì‹@”\‚ÍA‚²Žg—p‚ÌƒVƒXƒeƒ€‚©‚ç‚Ì E ƒ[ƒ‹‚ðƒzƒXƒg–¼‚Å‚Í‚È‚­AƒhƒƒCƒ“–¼‚©‚ç”­M‚·‚é‚æ‚¤‚ÉŒ©‚¹‚½‚¢ê‡A‚Ü‚½‚ÍƒVƒXƒeƒ€‚ª‚»‚ê‚¼‚ê“ÆŽ©‚Ìƒ[ƒ‹ ƒT[ƒo‚ðŽÀs‚µ‚Ä‚¢‚éA‘¼‚Ì•¡”‚ÌƒzƒXƒg‚Ö‚Ìƒ[ƒ‹‚Ìƒnƒu‚Æ‚È‚Á‚Ä‚¢‚éê‡‚É•Ö—˜‚Å‚·B
masq_err=ƒhƒƒCƒ“ ƒ}ƒXƒJƒŒ[ƒh‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
masq_edomain='$1' ‚ÍŽŸ‚Æ‚µ‚Äƒ}ƒXƒJƒŒ[ƒh‚·‚é–³Œø‚ÈƒhƒƒCƒ“‚Å‚·
masq_ehost='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚ÍƒhƒƒCƒ“–¼‚Å‚·
masq_eip='$1' ‚Í IP ƒAƒhƒŒƒX‚ÅƒhƒƒCƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñ

trusts_title=M”Cƒ†[ƒU
trusts_ecannot=M”Cƒ†[ƒU‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
trusts_users=sendmail ‚É‚æ‚éƒ[ƒJƒ‹M”Cƒ†[ƒU
trusts_desc=ƒ[ƒJƒ‹ ƒ†[ƒU‚ª E ƒ[ƒ‹‚ð‘—M‚·‚é‚ÆAƒ†[ƒU‚ª¶‚É•\Ž¦‚³‚ê‚Ä‚¢‚éê‡‚É sendmail ‚Í‚»‚Ìƒ†[ƒU‚É•Ê‚Ì<tt>From: (‘—MŽÒ)</tt> ƒAƒhƒŒƒX‚ð‹Ÿ‹‹‚·‚é‚±‚Æ‚Ì‚Ý‚ð‹–‰Â‚µ‚Ü‚·B‚±‚Ì§ŒÀ‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚©‚çƒ†[ƒU‚ª‹U‚Ì<tt>From:</tt> ƒAƒhƒŒƒX‚ðì¬‚·‚é‚±‚Æ‚ð–h‚¬‚Ü‚·B
trusts_err=M”Cƒ†[ƒU‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
trusts_euser='$1' ‚Í–³Œø‚Èƒ†[ƒU‚Å‚·

virtusers_title=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO
virtusers_ecannot=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
virtusers_edirective=‚²Žg—p‚Ì sendmail Ý’èƒtƒ@ƒCƒ‹‚ÍƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚É•K—v‚ÈƒfƒBƒŒƒNƒeƒBƒu‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
virtusers_efile=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒf[ƒ^ƒx[ƒX $2 ‚ð\’z‚·‚é‚Ì‚ÉŽg‚í‚ê‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹ $1‚ª‘¶Ý‚µ‚Ü‚¹‚ñB³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é‚½‚ß‚É <a href='$3'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
virtusers_desc1=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í <a href='$1'>ƒGƒCƒŠƒAƒX</a>‚Æ—ÞŽ—‚µ‚Ä‚¢‚Ü‚·‚ªA•¡”‚Ì E ƒ[ƒ‹ ƒhƒƒCƒ“‚ðˆ—‚·‚éƒVƒXƒeƒ€‚É‚æ‚è“K‚µ‚Ä‚¢‚Ü‚·BƒhƒƒCƒ“‘S‘Ì‚©‚ç 1 ‚Â‚ÌƒAƒhƒŒƒX‚Öƒ[ƒ‹‚ðƒŠƒ_ƒCƒŒƒNƒg‚µ‚½‚èAƒ†[ƒU‚ð“¯‚¶–¼‘O‚Å•Ê‚ÌƒhƒƒCƒ“‚Åˆ—A‚Ü‚½‚Í1 ‚Â‚ÌƒhƒƒCƒ“‚©‚ç•Ê‚ÌƒhƒƒCƒ“‚Ö‚Ì‚·‚×‚Ä‚Ìƒ[ƒ‹‚ðƒ}ƒbƒv‚·‚é‚Ì‚ÉŽg—p‚Å‚«‚Ü‚·B
virtusers_desc2=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ÉŽg—p‚·‚é <a href='$1'>ƒ[ƒJƒ‹ ƒhƒƒCƒ“</a> ƒe[ƒuƒ‹‚Ö‚ÌƒGƒ“ƒgƒŠ‚ðŽ‚¿A‚²Žg—p‚ÌƒVƒXƒeƒ€‚ðŽw‚·ŠeƒhƒƒCƒ“‚É‘Î‚µ DNS MX ƒŒƒR[ƒh‚ª‚ ‚é‚±‚Æ‚ª•K—v‚É‚È‚é‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
virtusers_for=ƒ[ƒ‹ˆ¶æ..
virtusers_to=‘—Mæ..
virtusers_error=ƒGƒ‰[ $1
virtusers_domain=ƒhƒƒCƒ“ $1
virtusers_address=ƒAƒhƒŒƒX $1
virtusers_return=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒŠƒXƒg

vform_edit=ƒ}ƒbƒsƒ“ƒO‚ð•ÒW
vform_create=ƒ}ƒbƒsƒ“ƒO‚ðì¬
vform_for=ƒ[ƒ‹ˆ¶æ
vform_address=ƒAƒhƒŒƒX
vform_domain=ƒhƒƒCƒ“
vform_to=‘—Mæ
vform_msg=ƒƒbƒZ[ƒW
vform_error=ƒGƒ‰[‚ð•Ô‚·
vform_err_nouser=nouser
vform_err_nohost=nohost
vform_err_unav=unavailable
vform_err_temp=tempfail
vform_err_proto=protocol
vform_end=I‚í‚è‚ÉˆÚ“®
vform_ecannot=‚±‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ

vsave_ecannot=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
vsave_ecannot2=‚±‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
vsave_emax=$1‚æ‚è‘½‚­‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Íì¬‚Å‚«‚Ü‚¹‚ñ
vsave_err=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
vsave_efrom='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
vsave_efromdup='$1' ‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í‚·‚Å‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·
vsave_edom='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“‚Å‚·
vsave_edomdup='$1' ‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í‚·‚Å‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·
vsave_ematch=ƒ\[ƒX ƒAƒhƒŒƒX‚ª '$1' ‚Æˆê’v‚µ‚Ü‚¹‚ñ
vsave_ecannot3=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ðì¬‚Å‚«‚Ü‚¹‚ñ
vsave_eaddr='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
vsave_ecannot4=ƒhƒƒCƒ“‚Ö‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Íì¬‚Å‚«‚Ü‚¹‚ñ
vsave_edomdom=ƒhƒƒCƒ“‚Í•Ê‚ÌƒhƒƒCƒ“‚É‚Ì‚Ýƒ}ƒbƒv‚Å‚«‚Ü‚·
vsave_ecannot5=ƒGƒ‰[‚ð•Ô‚·ƒ}ƒbƒsƒ“ƒO‚Íì¬‚Å‚«‚Ü‚¹‚ñ

mailers_title=ƒhƒƒCƒ“ ƒ‹[ƒg
mailers_cannot=ƒhƒƒCƒ“ ƒ‹[ƒg‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
mailers_edirective=‚²Žg—p‚Ì sendmail Ý’èƒtƒ@ƒCƒ‹‚ÍƒhƒƒCƒ“ ƒ‹[ƒg‚É•K—v‚ÈƒfƒBƒŒƒNƒeƒBƒu‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
mailers_efile=ƒhƒƒCƒ“ƒ‹[ƒg ƒf[ƒ^ƒx[ƒX $2 ‚ð\’z‚·‚é‚Ì‚ÉŽg‚í‚ê‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹ $1‚ª‘¶Ý‚µ‚Ü‚¹‚ñB³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é‚½‚ß‚É <a href='$3'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
mailers_desc1=ƒhƒƒCƒ“ ƒ‹[ƒg‚ÍA“Á’è‚ÌƒhƒƒCƒ“‚Éƒ[ƒ‹‚Ì“Á•Ê“]‘—•û–@‚ð’è‹`‚·‚é•û–@‚ð‹Ÿ‹‹‚µ‚Ü‚·B‚±‚ê‚ÍA‚²Žg—p‚ÌƒVƒXƒeƒ€‚ªƒlƒbƒgƒ[ƒN‚ÌŠO‘¤‚©‚çƒAƒNƒZƒX‚Å‚«‚È‚¢ƒ[ƒ‹ ƒT[ƒo‚ÌƒQ[ƒgƒEƒFƒC‚Ìê‡A‚Ü‚½‚Í“Á’è‚ÌƒhƒƒCƒ“‚Ö‚Ì‚·‚×‚Ä‚Ìƒ[ƒ‹‚ð•Ê‚ÌƒT[ƒoŒo—R‚ÌŒo˜H‚É‹­§‚µ‚½‚¢ê‡‚É•Ö—˜‚Å‚·B
mailers_desc2=‘¼‚Ì ƒ‹[ƒg ƒhƒƒCƒ“‚Ì <a href='$1'>ƒ[ƒJƒ‹ ƒhƒƒCƒ“</a> ƒŠƒXƒg‚ÉƒGƒ“ƒgƒŠ‚ð<b>Ž‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñ<b>B‚½‚¾‚µAƒQ[ƒgƒEƒFƒC‚Æ‚È‚éƒhƒƒCƒ“‚É‘Î‚µA‚²Žg—p‚ÌƒVƒXƒeƒ€‚ðŽw‚µ‚Ä‚¢‚é DNS MX ƒŒƒR[ƒh‚ðŽ‚Â•K—v‚ª‚ ‚è‚Ü‚·B
mailers_for=ƒ[ƒ‹ˆ¶æ..
mailers_delivery=”zM
mailers_to=‘—Mæ..
mailers_return=ƒhƒƒCƒ“ ƒ‹[ƒeƒBƒ“ƒO ƒŠƒXƒg

mform_edit=ƒ‹[ƒeƒBƒ“ƒO‚ð•ÒW
mform_create=ƒ‹[ƒeƒBƒ“ƒO‚ðì¬
mform_for=ƒ[ƒ‹ˆ¶æ
mform_host=ƒzƒXƒg
mform_domain=ƒhƒƒCƒ“
mform_delivery=”zM
mform_to=‘—Mæ
mform_ignore=SMTP ”zM‚É MX ‚ð–³Ž‹
mform_smtp=SMTP
mform_esmtp=Šg’£ SMTP
mform_smtp8=8 ƒrƒbƒg SMTP
mform_relay=SMTP ƒŠƒŒ[
mform_local=ƒ[ƒJƒ‹ ƒ†[ƒU
mform_prog=ƒvƒƒOƒ‰ƒ€‚É‘—‚é
mform_uucp=UUCp
mform_usenet=USENET ‚É“Še
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=ƒGƒ‰[
mform_ecannot=ƒhƒƒCƒ“ ƒ‹[ƒg‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ

msave_ecannot=ƒhƒƒCƒ“ ƒ‹[ƒg‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
msave_err=ƒhƒƒCƒ“ ƒ‹[ƒg‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
msave_edomain='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚ÍƒhƒƒCƒ“–¼‚Å‚·
msave_edup='$1' ‚ÌƒhƒƒCƒ“ ƒ‹[ƒg‚Í‚·‚Å‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·

generics_title=‘—MƒAƒhƒŒƒX
generics_cannot=‘—MƒAƒhƒŒƒX‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
generics_econfig=‚²Žg—p‚Ì sendmail Ý’èƒtƒ@ƒCƒ‹‚Í‘—MƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚É•K—v‚ÈƒfƒBƒŒƒNƒeƒBƒu‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
generics_efile=‘—MƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒf[ƒ^ƒx[ƒX $2 ‚ð\’z‚·‚é‚Ì‚ÉŽg‚í‚ê‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹ $1‚ª‘¶Ý‚µ‚Ü‚¹‚ñB³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é‚½‚ß‚É <a href='$3'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
generics_desc1=‘—MƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚©‚çA‚Ü‚½‚Íƒ[ƒJƒ‹ ƒlƒbƒgƒ[ƒN‚Ì‘¼‚ÌƒzƒXƒg‚ªƒVƒXƒeƒ€‚É‘—M‚·‚éƒ[ƒ‹‚Ì<tt>From: (‘—MŽÒ)</tt> ƒAƒhƒŒƒX‚ð•ÏX‚Å‚«‚é‚æ‚¤‚É‚µ‚Ü‚·B‚±‚ê‚Í 1 ‚Â‚ÌƒVƒXƒeƒ€‚Å•¡”‚ÌƒhƒƒCƒ“‚ðƒzƒXƒeƒBƒ“ƒO‚µ‚Ä‚¢‚ÄA‚ ‚éƒ†[ƒU‚©‚ç‚Ìƒ[ƒ‹‚ª•Ê‚ÌƒhƒƒCƒ“‚©‚ç‘—M‚³‚ê‚½‚æ‚¤‚ÉŒ©‚¹‚½‚¢ê‡‚É•Ö—˜‚Å‚·B
generics_desc2=‘—MƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ÉŽg—p‚·‚éƒAƒhƒŒƒX‚ª‚ ‚éŠeƒhƒƒCƒ“‚É‘Î‚µ <a href='$1'>‘—MƒhƒƒCƒ“</a> ƒe[ƒuƒ‹‚ÉƒGƒ“ƒgƒŠ‚ðŽ‚Á‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B‚³‚ç‚ÉA‘—MƒAƒhƒŒƒXƒ}ƒbƒsƒ“ƒO‚Íƒ[ƒJƒ‹ ƒ†[ƒU‚É”zM‚³‚ê‚éƒ[ƒ‹‚É‚Í“®ì‚µ‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
generics_from=‘—MŒ³..
generics_to=•ÏX..
generics_return=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒŠƒXƒg

gform_edit=ƒ}ƒbƒsƒ“ƒO‚ð•ÒW
gform_create=ƒ}ƒbƒsƒ“ƒO‚ðì¬
gform_from=‘—MŒ³..
gform_to=•ÏX..
gform_ecannot=‚±‚Ì‘—MƒAƒhƒŒƒX‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ

gsave_ecannot=‘—MƒAƒhƒŒƒX‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
gsave_ecannot2=‚±‚Ì‘—MƒAƒhƒŒƒX‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
gsave_err=‘—MƒAƒhƒŒƒX‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
gsave_efrom='$1' ‚ÍŽŸ‚ÌƒAƒhƒŒƒX‚©‚ç‚Í–³Œø‚Å‚·
gsave_ematch=From (‘—MŽÒ)ƒAƒhƒŒƒX‚ª '$1' ‚Æˆê’v‚µ‚Ü‚¹‚ñ
gsave_eto='$1' ‚Í–³Œø‚ÈV‹KƒAƒhƒŒƒX‚Å‚·

cgs_title=‘—MƒhƒƒCƒ“
cgs_ecannot=‘—MƒhƒƒCƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
cgs_header=‘—MƒAƒhƒŒƒX ƒhƒƒCƒ“
cgs_desc=ƒ[ƒJƒ‹ ƒ†[ƒU‚ª‘—M‚µ‚½ƒ[ƒ‹‚Ì‚Ù‚©‚ÉAsendmail ‚Í‰E‚ÌƒeƒLƒXƒg ƒ{ƒbƒNƒX‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚éƒzƒXƒg‚Ü‚½‚ÍƒhƒƒCƒ“‚Ö‚Ìƒ[ƒ‹‚É‘Î‚µ‚Ä <a href='$1'>‘—MƒAƒhƒŒƒX</a> ƒ}ƒbƒsƒ“ƒO‚ðs‚¢‚Ü‚·B‚»‚Ì‚½‚ßAFrom (‘—MŽÒ)ƒAƒhƒŒƒX‚ÌƒhƒƒCƒ“‚Æ“®ì‚·‚é‘—MƒAƒhƒŒƒX‚ÌƒGƒ“ƒgƒŠ‚ª‚±‚ÌƒŠƒXƒg‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B
cgs_err=‘—MƒhƒƒCƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
cgs_ehost='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Ü‚½‚ÍƒhƒƒCƒ“–¼‚Å‚·
cgs_eip='$1' ‚Í IP ƒAƒhƒŒƒX‚ÅƒhƒƒCƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñ

domains_title=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO
domains_ecannot=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
domains_econfig=‚²Žg—p‚Ì sendmail Ý’èƒtƒ@ƒCƒ‹‚ÍƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚É•K—v‚ÈƒfƒBƒŒƒNƒeƒBƒu‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
domains_efile=ƒhƒƒCƒ“ƒ}ƒbƒsƒ“ƒO ƒf[ƒ^ƒx[ƒX $2 ‚ð\’z‚·‚é‚Ì‚ÉŽg‚í‚ê‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹ $1‚ª‘¶Ý‚µ‚Ü‚¹‚ñB³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é‚½‚ß‚É <a href='$3'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
domains_desc=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚ÍƒƒbƒZ[ƒW‚ð‘—M‚µA’†Œp‚Ü‚½‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚Åƒ†[ƒU‚É”zM‚·‚é<tt>To:</tt> ƒAƒhƒŒƒX‚ð•ÏX‚µ‚Ü‚·B‚Ü‚½AƒŠƒŒ[‚³‚ê‚éƒƒbƒZ[ƒW‚Ü‚½‚Íƒ[ƒJƒ‹ ƒ†[ƒU‚Ö‚ÌƒƒbƒZ[ƒW‚Ì<tt>From:</tt> ƒAƒhƒŒƒX‚à•ÏX‚³‚ê‚Ü‚·B‚±‚ê‚ÍAƒhƒƒCƒ“–¼‚ª•ÏX‚³‚ê‚½ê‡‚¨‚æ‚ÑŒÃ‚¢ƒhƒƒCƒ“‚ð‚·‚×‚ÄV‹K‚ÌƒhƒƒCƒ“‚É•ÏX‚µ‚½‚¢ê‡‚É•Ö—˜‚Å‚·B
domains_from=ƒ}ƒbƒsƒ“ƒOŒ³‚ÌƒhƒƒCƒ“..
domains_to=ƒ}ƒbƒsƒ“ƒOæ‚ÌƒhƒƒCƒ“..
domains_return=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO ƒŠƒXƒg

dform_edit=ƒ}ƒbƒsƒ“ƒO‚ð•ÒW
dform_create=ƒ}ƒbƒsƒ“ƒO‚ðì¬
dform_from=ƒ}ƒbƒsƒ“ƒOŒ³‚ÌƒhƒƒCƒ“
dform_to=ƒ}ƒbƒsƒ“ƒOæ‚ÌƒhƒƒCƒ“
dform_ecannot=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ

dsave_ecannot=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
dsave_err=ƒhƒƒCƒ“ƒ}ƒbƒsƒ“ƒO‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
dsave_edomain='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“–¼‚Å‚·

access_title=ƒXƒpƒ€§Œä
access_ecannot=ƒXƒpƒ€§Œä‚ðÝ’è‚Å‚«‚Ü‚¹‚ñ
access_econfig=‚²Žg—p‚Ì sendmail Ý’èƒtƒ@ƒCƒ‹‚ÍƒXƒpƒ€§Œä‚É•K—v‚ÈƒfƒBƒŒƒNƒeƒBƒu‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
access_efile=ƒXƒpƒ€§Œä ƒf[ƒ^ƒx[ƒX $2 ‚ð\’z‚·‚é‚Ì‚ÉŽg‚í‚ê‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹ $1‚ª‘¶Ý‚µ‚Ü‚¹‚ñB³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é‚½‚ß‚É <a href='$3'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
access_desc1=sendmail ‚ÌƒXƒpƒ€§Œä‹@”\‚ÍA“Á’è‚ÌƒAƒhƒŒƒX‚©‚ç‚Ìƒ[ƒ‹‚ð‹‘”Û‚·‚é‚±‚Æ‚É‚æ‚èAƒ†[ƒU‚ªƒXƒpƒ€ ƒ[ƒ‹‚ðŽóM‚·‚é‚Ì‚ð–h‚¬A‚²Žg—p‚ÌƒVƒXƒeƒ€‚ªƒXƒpƒ€ ƒ[ƒ‹‚Ì‘—MŽÒ‚É‚æ‚Á‚Äƒ[ƒ‹‚ÌƒŠƒŒ[‚ÉŽg—p‚³‚ê‚é‚Ì‚ð–h‚¬‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Å‚Í sendmail ‚Í”CˆÓ‚ÌƒAƒhƒŒƒX‚©‚çƒ[ƒJƒ‹ ƒ†[ƒU‚Ö‚Ìƒ[ƒ‹‚ðŽó‚¯“ü‚ê‚Ü‚·‚ªA‚²Žg—p‚ÌƒVƒXƒeƒ€‚©‚çƒNƒ‰ƒCƒAƒ“ƒg‚Ü‚½‚Íƒ[ƒ‹ ƒT[ƒo‚ªƒ[ƒ‹‚ðƒŠƒŒ[‚·‚é‚Ì‚ð–h‚¬‚Ü‚·B’Êí‚ÍƒXƒpƒ€ ƒ[ƒ‹‚ð‹‘”Û‚·‚é‚½‚ß‚ÌƒXƒpƒ€§Œä‚Ì‹K‘¥‚ÆA‚²Žg—p‚ÌƒVƒXƒeƒ€‚ð’Ê‚¶‚Äƒlƒbƒgƒ[ƒN‚Ì‘¼‚Ìƒ}ƒVƒ“‚ªƒ[ƒ‹‚ðƒŠƒŒ[‚·‚é‚Ì‚ð‹–‰Â‚·‚é‹K‘¥‚ð’Ç‰Á‚µ‚Ü‚·B
access_desc2=ƒfƒtƒHƒ‹ƒg‚Å‚ÍAsendmail ‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚ÅŽÀs’†‚Ìƒ[ƒ‹ ƒNƒ‰ƒCƒAƒ“ƒg‚ªƒ[ƒ‹‚ð SMTP Œo—R‚Å”CˆÓ‚Ìˆ¶æ‚ÉƒŠƒŒ[‚·‚é‚±‚Æ‚ð‹–‰Â‚µ‚Ü‚·B‚»‚Ì‚½‚ßAƒ[ƒJƒ‹<tt>127.0.0</tt> ƒlƒbƒgƒ[ƒN‚ð‚±‚ê‚ç‚ÌƒŠƒŒ[‚ð‹–‰Â‚³‚ê‚½ƒŠƒXƒg‚É‰Á‚¦‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
access_source=ƒ\[ƒX..
access_action=ƒAƒNƒVƒ‡ƒ“..
access_return=ƒXƒpƒ€§ŒäƒŠƒXƒg

sform_edit=ƒXƒpƒ€§Œä‹K‘¥‚ð•ÒW
sform_create=ƒXƒpƒ€§Œä‹K‘¥‚ðì¬
sform_source=ƒ[ƒ‹‚Ìƒ\[ƒX
sform_type0=E ƒ[ƒ‹ ƒAƒhƒŒƒX
sform_type1=ƒlƒbƒgƒ[ƒN
sform_type2=ƒ†[ƒU
sform_type3=ƒhƒƒCƒ“
sform_action=ƒAƒNƒVƒ‡ƒ“
sform_ok=‹–—e
sform_relay=ƒŠƒŒ[‚ð‹–‰Â
sform_reject=‹‘”Û
sform_discard=Ž©“®“I‚Éíœ
sform_err=ƒGƒ‰[ ƒR[ƒh
sform_msg=ƒƒbƒZ[ƒW
sform_ecannot=ƒXƒpƒ€§Œä‚ðÝ’è‚Å‚«‚Ü‚¹‚ñ

ssave_ecannot=ƒXƒpƒ€§Œä‚ðÝ’è‚Å‚«‚Ü‚¹‚ñ
ssave_err=ƒXƒpƒ€§Œä‹K‘¥‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
ssave_etype0='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
ssave_etype1='$1' ‚Í–³Œø‚Èƒlƒbƒgƒ[ƒN ƒAƒhƒŒƒX‚Å‚·
ssave_etype2='$1' ‚Í–³Œø‚Èƒ†[ƒU–¼‚Å‚·
ssave_etype3='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“‚Å‚·
ssave_ecode='$1' ‚Í–³Œø‚È SMTP ƒGƒ‰[ ƒR[ƒh‚Å‚·

relay_title=ƒŠƒŒ[ ƒhƒƒCƒ“
relay_ecannot=ƒŠƒŒ[ ƒhƒƒCƒ“‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ
relay_eversion=sendmail ƒo[ƒWƒ‡ƒ“8.9 ˆÈ~‚Ì‚Ý‚ªƒŠƒŒ[ ƒhƒƒCƒ“‹@”\‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
relay_domains=ƒŠƒŒ[‚ª‹–‰Â‚³‚ê‚½ƒhƒƒCƒ“
relay_desc1=sendmail ‚Í <a href='$1'>ƒXƒpƒ€§Œä</a> ‹K‘¥‚Å‹–‰Â‚³‚ê‚½ê‡ˆÈŠO‚ÍA¶‚ÌƒeƒLƒXƒg ƒ{ƒbƒNƒX‚ÉƒŠƒXƒg‚³‚ê‚½ƒhƒƒCƒ“‚É‚Ì‚Ýƒ[ƒ‹‚ðƒŠƒŒ[‚·‚é‚±‚Æ‚ð‹–‰Â‚µ‚Ü‚·Bƒ[ƒJƒ‹ ƒ†[ƒUˆ¶‚ÆƒŠƒXƒg‚³‚ê‚½ƒhƒƒCƒ“ˆ¶‚Å‚È‚¢ŽóMƒ[ƒ‹ ƒƒbƒZ[ƒW‚Í‹‘”Û‚³‚ê‚Ü‚·B
relay_desc2=‚²Žg—p‚ÌƒVƒXƒeƒ€‚ªƒlƒbƒgƒ[ƒN‚ÌŠO‘¤‚©‚ç’¼ÚƒAƒNƒZƒX‚Å‚«‚È‚¢ƒhƒƒCƒ“‚Ö‚ÌƒQ[ƒgƒEƒFƒC‚Æ‚µ‚Ä“®ì‚µ‚Ä‚¢‚éê‡ ( <a href='$1'>ƒhƒƒCƒ“ ƒ‹[ƒg</a> ‹@”\‚ðŽg—p) ‚ÍA‚»‚ê‚ç‚Ì‚·‚×‚Ä‚ÌƒhƒƒCƒ“‚Í‚±‚±‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B
relay_err=ƒŠƒŒ[ ƒhƒƒCƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ
relay_edomain='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“–¼‚Å‚·

mailq_title=ƒ[ƒ‹ ƒLƒ…[
mailq_ecannot=ƒ[ƒ‹ ƒLƒ…[‚ð•\Ž¦‚Å‚«‚Ü‚¹‚ñ
mailq_id=ƒ[ƒ‹ ID
mailq_sent=‘—MÏ‚Ý
mailq_from=‘—MŒ³
mailq_to=ˆ¶æ
mailq_size=ƒTƒCƒY
mailq_status=ƒXƒe[ƒ^ƒX
mailq_unknown=•s–¾
mailq_sending=‘—M’†
mailq_dmsg=ƒ[ƒ‹ ƒLƒ…[‚©‚ç‚ÌƒƒbƒZ[ƒW‚ð•\Ž¦‚·‚é‚É‚ÍAã‚ÌƒŠƒXƒg‚©‚ç‚»‚Ì ID ‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
mailq_force=ƒLƒ…[‚³‚ê‚½ƒ[ƒ‹‚Ì‘¦À‚Ì”­M‚ð‹­§‚·‚é‚É‚ÍA <a href='$1'>‚±‚±‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢</a>.
mailq_none=Œ»Ý”zM‚ÉƒLƒ…[‚³‚ê‚½ƒ[ƒ‹ ƒƒbƒZ[ƒW‚Í‚ ‚è‚Ü‚¹‚ñ
mailq_delete=‘I‘ð‚³‚ê‚½ƒƒbƒZ[ƒW‚ðíœ‚·‚é
mailq_return=ƒ[ƒ‹ ƒLƒ…[

flushq_title=ƒLƒ…[‚Ìƒtƒ‰ƒbƒVƒ…
flushq_desc=ƒRƒ}ƒ“ƒh $1 ‚Åƒ[ƒ‹‚Ì”zM‚ð‹­§’†..

delq_err=ƒƒbƒZ[ƒW‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
delq_ecannot=ƒƒbƒZ[ƒW‚ÌƒLƒ…[‚ð‰ðœ‚Å‚«‚Ü‚¹‚ñ
delq_locked=ƒtƒ@ƒCƒ‹‚ÍŒ»ÝA‘—M‚É‚Â‚¢‚ÄƒƒbƒN‚³‚ê‚Ä‚¢‚Ü‚·
delq_enone=íœ‚·‚éƒƒbƒZ[ƒW‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
delq_title=ƒƒbƒZ[ƒW‚Ìíœ
delq_file=ƒ[ƒ‹ ƒtƒ@ƒCƒ‹ $1 ‚ðíœ’†..
delq_efile=ƒtƒ@ƒCƒ‹–¼‚ª–³Œø‚Å‚·
delq_egone=‚·‚Å‚Éíœ‚Ü‚½‚Í”zM‚µ‚Ü‚µ‚½
delq_elocked=‘—M‚ªƒƒbƒN‚³‚ê‚Ä‚¢‚Ü‚·
delq_ok=íœ‚µ‚Ü‚µ‚½

boxes_title=ƒ†[ƒU ƒ[ƒ‹ƒ{ƒbƒNƒX
boxes_user=ƒ†[ƒU
boxes_size=ƒ[ƒ‹ƒ{ƒbƒNƒX ƒTƒCƒY
boxes_none=ƒ[ƒ‹‚È‚µ
boxes_return=ƒ[ƒ‹ƒ{ƒbƒNƒX
boxes_sent=‘—MÏ‚Ýƒ[ƒ‹
boxes_ecannot=ƒ[ƒ‹‚ð“Ç‚ß‚Ü‚¹‚ñ

mail_title=ƒ†[ƒU E ƒ[ƒ‹
mail_from=‘—MŒ³
mail_date=“ú•t
mail_subject=Œ–¼
mail_to=ˆ¶æ
mail_cc=Cc
mail_bcc=Bcc
mail_pri=—Dæ“x
mail_highest=Å—Dæ
mail_high=‚
mail_normal=•W€
mail_low=’á
mail_lowest=ÅŒã
mail_for=$1 “à
mail_sent=‘—MÏ‚Ýƒ[ƒ‹ ƒŠƒXƒg“à
mail_size=ƒTƒCƒY
mail_delete=‘I‘ð‚³‚ê‚½ƒƒbƒZ[ƒW‚ðíœ
mail_compose=V‹Kƒ[ƒ‹‚ðì¬
mail_return=ƒ†[ƒU E ƒ[ƒ‹
mail_pos=$3‚Ì $2‚Ö‚ÌƒƒbƒZ[ƒW $1 
mail_none=‚±‚Ìƒ[ƒ‹ƒ{ƒbƒNƒX‚É‚ÍƒƒbƒZ[ƒW‚ª‚ ‚è‚Ü‚¹‚ñ
mail_ecannot=‚±‚Ìƒ†[ƒU[‚Ìƒ[ƒ‹‚Í“Ç‚ß‚Ü‚¹‚ñ
mail_all=‚·‚×‚Ä‘I‘ð
mail_invert=‘I‘ð‚Ì”½“]
mail_search=ƒƒbƒZ[ƒW‚ÌŒŸõ
mail_body=–{•¶
mail_match=ˆê’v
mail_ok=ŒŸõ
mail_nonefrom=‚È‚µ

view_title=E ƒ[ƒ‹‚ð“Ç‚Þ
view_desc=$2‚ÌƒƒbƒZ[ƒW $1
view_sent=‘—MÏ‚Ýƒ[ƒ‹ ƒŠƒXƒg‚ÌƒƒbƒZ[ƒW $1
view_qdesc=ƒLƒ…[‚³‚ê‚½ƒƒbƒZ[ƒW $1
view_headers=ƒ[ƒ‹ ƒwƒbƒ_
view_attach=“Y•tƒtƒ@ƒCƒ‹
view_reply=•ÔM
view_reply2=‘Sˆõ‚É•ÔM
view_enew=V‹K‚Æ‚µ‚Ä•ÒW
view_forward=“]‘—
view_delete=íœ
view_ecannot=‚±‚Ìƒ†[ƒU[‚Ìƒ[ƒ‹‚Í“Ç‚ß‚Ü‚¹‚ñ

compose_title=E ƒ[ƒ‹‚Ìì¬
reply_title=E ƒ[ƒ‹‚Ö‚Ì•ÔM
forward_title=E ƒ[ƒ‹‚Ì“]‘—
reply_headers=ƒ[ƒ‹ ƒwƒbƒ_
reply_attach=“]‘—‚³‚ê‚½“Y•tƒtƒ@ƒCƒ‹
reply_attach2=“Y•tƒtƒ@ƒCƒ‹
reply_send=‘—M
reply_ecannot=‚±‚Ìƒ†[ƒU‚Æ‚µ‚Ä‚Íƒ[ƒ‹‚ð‘—M‚Å‚«‚Ü‚¹‚ñ

send_err=ƒ[ƒ‹‚ð‘—M‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
send_eto=To iˆ¶æjƒAƒhƒŒƒX‚ª‚ ‚è‚Ü‚¹‚ñ
send_efrom=From (‘—MŽÒ) ƒAƒhƒŒƒX‚ª‚ ‚è‚Ü‚¹‚ñ
send_title=‘—M‚³‚ê‚½ƒ[ƒ‹
send_ok=$1 ‚Ö‚Ìƒ[ƒ‹‚Ì‘—M‚ðŠ®—¹‚µ‚Ü‚µ‚½
send_ecannot=‚±‚Ìƒ†[ƒU‚Æ‚µ‚Ä‚Íƒ[ƒ‹‚ð‘—M‚Å‚«‚Ü‚¹‚ñ
send_esmtp=SMTP ƒRƒ}ƒ“ƒh $1 ‚ªŽ¸”s‚µ‚Ü‚µ‚½: $2
send_efile=“Y•tƒtƒ@ƒCƒ‹ $1 ‚Í‘¶Ý‚µ‚Ü‚¹‚ñ
send_eattach=“Y•tƒtƒ@ƒCƒ‹‚ÌƒTƒCƒY‚Í $1 KB ‚ð‰z‚¦‚ç‚ê‚Ü‚¹‚ñB
send_eperms=ƒ†[ƒU $1 ‚Í $2 ‚ð“Ç‚ÝŽæ‚ê‚Ü‚¹‚ñ
send_eperms2=ƒtƒ@ƒCƒ‹ $1 ‚Í‘—M‚Å‚«‚Ü‚¹‚ñ

delete_ecannot=‚±‚Ìƒ†[ƒU‚©‚ç‚Ìƒ[ƒ‹‚ðíœ‚Å‚«‚Ü‚·
delete_enone=íœ‚·‚éƒƒbƒZ[ƒW‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ

search_title=ŒŸõŒ‹‰Ê
search_ecannot=‚±‚Ìƒ†[ƒU‚Ìƒ[ƒ‹‚ÍŒŸõ‚Å‚«‚Ü‚¹‚ñ
search_ematch=ŒŸõ‚·‚é‚É‚ÍƒeƒLƒXƒg‚ð“ü—Í‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
search_none=ƒƒbƒZ[ƒW‚ªŒ©‚Â‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
search_results=$1 ‚Æˆê’v‚·‚éƒ[ƒ‹ ƒƒbƒZ[ƒW..

file_title=sendmail ƒtƒ@ƒCƒ‹
file_desc=sendmail ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚·‚é‚É‚Í‰º‚ÌƒeƒLƒXƒg ƒ{ƒbƒNƒX‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
file_undo=•ÏX‚ðŒ³‚É–ß‚·
file_edit=$1 ‚ðŽè“®‚Å•ÒW
file_ealiases=‚·‚×‚Ä‚ÌƒGƒCƒŠƒAƒX‚ÉƒAƒNƒZƒX‚Å‚«‚éê‡‚É‚Ì‚ÝAƒGƒCƒŠƒAƒX ƒtƒ@ƒCƒ‹‚ð•ÒW‚Å‚«‚Ü‚·B
file_evirtusers=‚·‚×‚Ä‚ÌƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ÉƒAƒNƒZƒX‚Å‚«‚éê‡‚É‚Ì‚ÝAƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒtƒ@ƒCƒ‹‚ð•ÒW‚Å‚«‚Ü‚·B
file_emailers=ƒhƒƒCƒ“ ƒ‹[ƒgƒtƒ@ƒCƒ‹‚Í•ÒW‚Å‚«‚Ü‚¹‚ñB
file_egenerics=‚·‚×‚Ä‚Ì‘—MƒAƒhƒŒƒX‚ÉƒAƒNƒZƒX‚Å‚«‚éê‡‚É‚Ì‚ÝA‘—MƒAƒhƒŒƒX ƒtƒ@ƒCƒ‹‚ð•ÒW‚Å‚«‚Ü‚·B
file_edomains=ƒhƒƒCƒ“ ƒ}ƒbƒv ƒtƒ@ƒCƒ‹‚Í•ÒW‚Å‚«‚Ü‚¹‚ñB
file_eaccess=ƒXƒpƒ€§Œäƒtƒ@ƒCƒ‹‚Í•ÒW‚Å‚«‚Ü‚¹‚ñB
file_emode=•s–¾‚Èƒ‚[ƒh‚Å‚·
file_err=ƒtƒ@ƒCƒ‹‚ð•ÒW‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

acl_opts=sendmail ƒIƒvƒVƒ‡ƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_cws=ƒ[ƒJƒ‹ ƒhƒƒCƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_masq=ƒhƒƒCƒ“ ƒ}ƒXƒJƒŒ[ƒh‚ðÝ’è‰Â”\‚É‚µ‚Ü‚·‚©H
acl_trusts=M”Cƒ†[ƒU‚ðÝ’è‰Â”\‚É‚µ‚Ü‚·‚©H
acl_cgs=‘—MƒhƒƒCƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_relay=ƒŠƒŒ[ ƒhƒƒCƒ“‚ð•ÒW‰Â”\‚É‚µ‚Ü‚·‚©H
acl_mailers=ƒhƒƒCƒ“ ƒ‹[ƒg‚ðÝ’è‰Â”\‚É‚µ‚Ü‚·‚©H
acl_access=ƒXƒpƒ€§Œä‚ðÝ’è‰Â”\‚É‚µ‚Ü‚·‚©H
acl_domains=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO‚ðÝ’è‰Â”\‚É‚µ‚Ü‚·‚©H
acl_stop=sendmail ‚ð‹N“®A’âŽ~‰Â”\‚É‚µ‚Ü‚·‚©H
acl_mailq=ƒ[ƒ‹ ƒLƒ…[‚ðŠÇ—‰Â”\‚É‚µ‚Ü‚·‚©H
acl_viewdel=•\Ž¦‚Æíœ
acl_view=•\Ž¦‚Ì‚Ý
acl_virtusers=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚éƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO
acl_none=‚È‚µ
acl_same=“¯–¼‚Ìƒ†[ƒU
acl_all=‚·‚×‚Ä
acl_matching=ˆê’v
acl_vtypes=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚éƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ÌŽí—Þ
acl_vtype0=ƒGƒ‰[‚Ì•Ô‚µæ
acl_vtype1=ƒhƒƒCƒ“
acl_vtype2=ƒAƒhƒŒƒX
acl_vmax=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO‚ÌÅ‘å”
acl_unlimited=–³§ŒÀ
acl_aliases=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚éƒGƒCƒŠƒAƒX
acl_atypes=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚éƒGƒCƒŠƒAƒX‚ÌŽí—Þ
acl_atype1=E ƒ[ƒ‹ ƒAƒhƒŒƒX
acl_atype2=ƒtƒ@ƒCƒ‹“à‚ÌƒAƒhƒŒƒX
acl_atype3=ƒtƒ@ƒCƒ‹‚É‘ž‚Ý
acl_atype4=ƒvƒƒOƒ‰ƒ€‚É‘—‚é
acl_atype5=Ž©“®‰ž“š
acl_amax=ƒGƒCƒŠƒAƒX‚ÌÅ‘å”
acl_outgoing=‚±‚Ìƒ†[ƒU‚ª•ÒW‚Å‚«‚é‘—MƒAƒhƒŒƒX
acl_read=ƒ[ƒ‹‚ð“Ç‚ÝŽæ‚ê‚éƒ†[ƒU
acl_users=ŽŸ‚Ìƒ†[ƒU‚Ì‚Ý
acl_userse=ŽŸ‚Ìƒ†[ƒUˆÈŠO‚·‚×‚Ä
acl_usersg=ƒOƒ‹[ƒv‚Ìƒƒ“ƒo[
acl_from=ƒAƒhƒŒƒX‚©‚ç‹–‰Â
acl_any=”CˆÓ‚ÌƒAƒhƒŒƒX
acl_fdoms=ƒ[ƒ‹ƒ{ƒbƒNƒX @ ƒhƒƒCƒ“
acl_faddrs=ƒŠƒXƒg‚³‚ê‚½ƒAƒhƒŒƒX
acl_fdom=”CˆÓ‚ÌƒAƒhƒŒƒX @ ƒhƒƒCƒ“
acl_apath=ƒfƒBƒŒƒNƒgƒŠ‚Ö‚Ìƒtƒ@ƒCƒ‹‚ÆƒvƒƒOƒ‰ƒ€‚ð§ŒÀ
acl_attach=“Y•tƒtƒ@ƒCƒ‹‚Ì‡ŒvƒTƒCƒY‚ÌÅ‘å’l
acl_sent=‘—MÏ‚Ýƒ[ƒ‹‚ðƒ[ƒ‹ƒ{ƒbƒNƒX‚É•Û‘¶

log_opts=sendmail ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_alias_create=ƒGƒCƒŠƒAƒX $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_alias_modify=ƒGƒCƒŠƒAƒX $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_alias_delete=ƒGƒCƒŠƒAƒX $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_alias_manual=ƒGƒCƒŠƒAƒX ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_cws=ƒ[ƒJƒ‹ ƒhƒƒCƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_masq=ƒhƒƒCƒ“ ƒ}ƒXƒJƒŒ[ƒh‚ð•ÏX‚µ‚Ü‚µ‚½
log_trusts=M”Cƒ†[ƒU‚ð•ÏX‚µ‚Ü‚µ‚½
log_virtuser_create=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_virtuser_modify=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_virtuser_delete=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_virtuser_manual=ƒAƒhƒŒƒX ƒ}ƒbƒsƒ“ƒO ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_mailer_create=ƒhƒƒCƒ“ ƒ‹[ƒg $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_mailer_modify=ƒhƒƒCƒ“ ƒ‹[ƒg $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_mailer_delete=ƒhƒƒCƒ“ ƒ‹[ƒg $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_mailer_manual=ƒhƒƒCƒ“ ƒ‹[ƒg ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_generic_create=‘—MƒAƒhƒŒƒX $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_generic_modify=‘—MƒAƒhƒŒƒX $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_generic_delete=‘—MƒAƒhƒŒƒX $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_generic_manual=‘—MƒAƒhƒŒƒX ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_cgs=‘—MƒhƒƒCƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_domain_create=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_domain_modify=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_domain_delete=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_domain_manual=ƒhƒƒCƒ“ ƒ}ƒbƒsƒ“ƒO ƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_access_create=$1 ‚Ö‚ÌƒXƒpƒ€§Œä‚ðì¬‚µ‚Ü‚µ‚½
log_access_modify=$1 ‚Ö‚ÌƒXƒpƒ€§Œä‚ð•ÏX‚µ‚Ü‚µ‚½
log_access_delete=$1 ‚Ö‚ÌƒXƒpƒ€§Œä‚ðíœ‚µ‚Ü‚µ‚½
log_access_manual=ƒXƒpƒ€§Œäƒtƒ@ƒCƒ‹ $1 ‚ðŽè“®‚Å•ÒW‚µ‚Ü‚µ‚½
log_relay=ƒŠƒŒ[ ƒhƒƒCƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_flushq=ƒLƒ…[‚ðƒtƒ‰ƒbƒVƒ…‚µ‚Ü‚µ‚½
log_delmailq=$1 ‚©‚ç‚Ìƒ[ƒ‹‚ðƒLƒ…[‚©‚çíœ‚µ‚Ü‚µ‚½
log_delmailqs=ƒLƒ…[‚©‚ç $1 ƒ[ƒ‹‚ðíœ‚µ‚Ü‚µ‚½
log_stop=sendmail ƒf[ƒ‚ƒ“‚ð’âŽ~‚µ‚Ü‚µ‚½
log_start=sendmail ƒf[ƒ‚ƒ“‚ð‹N“®‚µ‚Ü‚µ‚½
log_delmail=$1 ƒƒbƒZ[ƒW‚ð $2 ‚©‚çíœ‚µ‚Ü‚µ‚½
log_send=$1 ‚Éƒ[ƒ‹‚ð‘—M‚µ‚Ü‚µ‚½

match_from=From: (‘—MŽÒ)ˆê’v
match_subject=Subject: (Œ–¼)ˆê’v
match_to=To: (ˆ¶æ)ˆê’v
match_cc=Cc:ˆê’v
match_date=Date: (“úŽž)ˆê’v
match_body=Body (–{•¶)‚ªˆê’v
match_size=ƒTƒCƒY‚ªŽŸ‚æ‚è‘å‚«‚¢‚Å‚·
  0707010002875f000081a40000000000000002000000013d1fe2d30000567b000000200000000000000000000000000000001e00000003reloc/sendmail/lang/ko_KR.euc index_title=sendmail ±¸¼º
index_econfig=sendmail ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eversion=sendmail ±¸¼º ÆÄÀÏÀÌ ÃÖ½Å sendmail ¹öÀü¿ëÀÌ ¾Æ´Õ´Ï´Ù. Webmin¿¡¼­´Â 8.8 ¹öÀü ÀÌ»ó¸¸ Áö¿øÇÕ´Ï´Ù.
index_epath=½Ã½ºÅÛ¿¡ sendmail ½ÇÇà ÆÄÀÏ $1ÀÌ(°¡) ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù. sendmailÀÌ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_return=sendmail ±¸¼º
index_stop=sendmail ÁßÁö
index_stopmsg=½ÇÇà ÁßÀÎ sendmail ÇÁ·Î¼¼½º¸¦ ÁßÁöÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ ·ÎÄÃ »ç¿ëÀÚ·ÎÀÇ ¸ÞÀÏ Àü´ÞÀÌ ÁßÁöµÇ¸ç, Å¬¶óÀÌ¾ðÆ®°¡ ÀÌ ½Ã½ºÅÛÀ» ¸ÞÀÏ ¼­¹ö·Î »ç¿ëÇÏ¿© ¸ÞÀÏÀ» Àü¼ÛÇÏÁö ¸øÇÏ°Ô µË´Ï´Ù.
index_start=sendmail ½ÃÀÛ
index_startmsg=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© sendmailÀ» ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ´Ù¸¥ ½Ã½ºÅÛÀÇ ·ÎÄÃ »ç¿ëÀÚ¿¡°Ô ¸ÞÀÏÀ» ¹è´ÞÇÏ°í Å¬¶óÀÌ¾ðÆ®°¡ ÀÌ ½Ã½ºÅÛÀ» ¸ÞÀÏ ¼­¹ö·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é ¸ÕÀú ÀÌ ¹öÆ°À» ´­·¯¾ß ÇÕ´Ï´Ù.

opts_title=sendmail ¿É¼Ç
opts_ecannot=sendmail ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
opts_ds=È£½ºÆ®¸¦ ÅëÇØ ¹ß½Å ¸ÞÀÏ Àü¼Û
opts_direct=Á÷Á¢ ¹è´Þ
opts_dr=È£½ºÆ®¿¡ ºñÁ¤½Ä »ç¿ëÀÚ ÀÌ¸§ Àü´Þ
opts_dh=È£½ºÆ®¿¡ ·ÎÄÃ »ç¿ëÀÚÀÇ ¸ÞÀÏ Àü´Þ
opts_local=·ÎÄÃ·Î ¹è´Þ
opts_queuela=ÃÖ´ë Àü¼Û ºÎÇÏ Æò±Õ
opts_refusela=ÃÖ´ë ¼ö½Å ºÎÇÏ Æò±Õ
opts_maxch=ÃÖ´ë ÇÏÀ§ ÇÁ·Î¼¼½º ¼ö
opts_throttle=ÃÖ´ë ÃÊ ´ç ¿¬°á ¼ö
opts_minqueueage=´Ù½Ã Àü¼ÛÇÏ±â Àü ÃÖ¼Ò ´ë±â ½Ã°£
opts_runsize=ÃÖ´ë ´ë±â¿­ Å©±â
opts_queuereturn=Æ÷±â Àü ´ë±â ½Ã°£
opts_queuewarn=°æ°í Àü¼Û Àü ´ë±â ½Ã°£
opts_queue=¸ÞÀÏ ´ë±â¿­ µð·ºÅä¸®
opts_postmaster=¿À·ù ¸Þ½ÃÁö Àü¼Û ´ë»ó
opts_forward=»ç¿ëÀÚ Àü´Þ ÆÄÀÏ
opts_minfree=»ç¿ë °¡´ÉÇÑ ÃÖ¼Ò µð½ºÅ© °ø°£
opts_maxmessage=ÃÖ´ë ¸Þ½ÃÁö Å©±â
opts_loglevel=·Î±× ¼öÁØ
opts_mimebounce=MIME ÀÎÄÚµå ¹Ù¿î½º ¸Þ½ÃÁöÀÔ´Ï±î?
opts_default=±âº»°ª
opts_save=ÀúÀå ¹× Àû¿ë
opts_err=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
opts_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ¶Ç´Â µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
opts_einvalid='$1'Àº(´Â) À¯È¿ÇÑ $2 °ªÀÌ ¾Æ´Õ´Ï´Ù
opts_blame=ÆÄÀÏ º¸¾È ¿É¼Ç
opts_selected=¼±ÅÃÇÑ Ç×¸ñ..
opts_blocks=ºí·Ï
opts_bytes=¹ÙÀÌÆ®
opts_dmode=¹è´Þ ¸ðµå
opts_background=¹è°æ
opts_queue-only=´ë±â¿­¸¸
opts_interactive=´ëÈ­½Ä
opts_deferred=Áö¿¬µÊ

aliases_title=¸ÞÀÏ º°Äª
aliases_ecannot=º°ÄªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
aliases_addr=ÁÖ¼Ò
aliases_to=º°Äª ÁöÁ¤ ´ë»ó..
aliases_type1=ÁÖ¼Ò $1
aliases_type2=ÆÄÀÏ $1¿¡ ÀÖ´Â ÁÖ¼Ò
aliases_type3=ÆÄÀÏ $1
aliases_type4=ÇÁ·Î±×·¥ $1
aliases_type5=ÀÚµ¿ÀÀ´ä ÆÄÀÏ $1
aliases_none=¾øÀ½
aliases_return=º°Äª ¸ñ·Ï

aform_type0=¾øÀ½
aform_type1=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
aform_type2=ÆÄÀÏ¿¡ ÀÖ´Â ÁÖ¼Ò
aform_type3=ÆÄÀÏ¿¡ ¾²±â
aform_type4=ÇÁ·Î±×·¥¿¡ °ø±Þ
aform_type5=ÆÄÀÏ·ÎºÎÅÍ ÀÚµ¿ÀÀ´ä
aform_edit=º°Äª ÆíÁý
aform_create=º°Äª ÀÛ¼º
aform_name=ÁÖ¼Ò
aform_enabled=»ç¿ë °¡´ÉÇÕ´Ï±î?
aform_val=º°Äª ÁöÁ¤ ´ë»ó
aform_afile=ÆíÁý..
aform_return=º°Äª

afile_title=ÁÖ¼Ò ÆÄÀÏ ÆíÁý
afile_desc=¾Æ·¡ÀÇ ÅØ½ºÆ® ¿µ¿ª¿¡¼­ ÆÄÀÏ $1¿¡ ÀÖ´Â ÁÖ¼Ò¸¦ ÆíÁýÇÏ½Ê½Ã¿À.
afile_efile=$1À»(¸¦) ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
afile_undo=º¯°æ Ãë¼Ò

rfile_title=ÀÚµ¿ÀÀ´ä ÆÄÀÏ ÆíÁý
rfile_desc=¾Æ·¡ÀÇ ÅØ½ºÆ® ¿µ¿ª¿¡¼­ $1¿¡ ÀÖ´Â ÀÚµ¿ÀÀ´ä ¸Þ½ÃÁö¸¦ ÆíÁýÇÏ½Ê½Ã¿À. ÀÚµ¿ÀÀ´ä ¸Þ½ÃÁö¿¡´Â ÀÚµ¿ÀÀ´ä ±â´ÉÀÌ È°¼ºÈ­µÉ ¶§ È®ÀåµÇ´Â ¸ÅÅ©·Î $SUBJECT, $FROM, $TO, $DATE ¹× $BODY°¡ Æ÷ÇÔµÉ ¼ö ÀÖ½À´Ï´Ù.
rfile_efile=$1À»(¸¦) ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù.
rfile_undo=º¯°æ Ãë¼Ò

asave_err=º°ÄªÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
asave_ecannot2=º°ÄªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
asave_ecannot=ÀÌ º°ÄªÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
asave_emax=$1°³ ÀÌÇÏÀÇ º°Äª¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù
asave_eaddr='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
asave_ealready='$1'ÀÇ º°ÄªÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
asave_ematch='$1'°ú(¿Í) ÀÏÄ¡ÇÏ´Â º°Äª¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù
asave_etype=ÀÌ·¯ÇÑ À¯ÇüÀÇ º°ÄªÀº ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
asave_etype1='$1'Àº(´Â) À¯È¿ÇÑ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
asave_etype2=ÁÖ¼Ò ÆÄÀÏ '$1'ÀÌ(°¡) À¯È¿ÇÏÁö ¾Ê°Å³ª ¾ø½À´Ï´Ù
asave_etype3='$1'Àº(´Â) À¯È¿ÇÑ ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
asave_etype4=ÇÁ·Î±×·¥ '$1'ÀÌ(°¡) À¯È¿ÇÏÁö ¾Ê°Å³ª ¾ø½À´Ï´Ù
asave_etype5=ÀÚµ¿ÀÀ´ä ÆÄÀÏ '$1'ÀÌ(°¡) À¯È¿ÇÏÁö ¾Ê°Å³ª ¾ø½À´Ï´Ù
asave_etype4none=ÁöÁ¤µÈ ÇÁ·Î±×·¥ÀÌ ¾ø½À´Ï´Ù

cws_title=·ÎÄÃ µµ¸ÞÀÎ
cws_ecannot=·ÎÄÃ µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
cws_domains=ÀÌ ¼­¹ö¿¡¼­ Ã³¸®ÇÏ´Â µµ¸ÞÀÎ
cws_desc1=sendmailÀº $1¿¡ ´ëÇÑ ¸ÞÀÏÀ» Á¦¿ÜÇÑ, ¿ÞÂÊ ÀÔ·Â¶õ¿¡ ³ª¿­µÈ µµ¸ÞÀÎ°ú È£½ºÆ® ÀÌ¸§¿¡ ´ëÇÑ ·ÎÄÃ ¹è´Þ ¸ÞÀÏ¸¸ Çã¿ëÇÕ´Ï´Ù. ¸ÞÀÏ ¼­¹ö¿¡¼­ ¿©·¯ °³ÀÇ ÀüÀÚ ¸ÞÀÏ µµ¸ÞÀÎÀ» Ã³¸®ÇÏ·Á¸é ÇØ´ç µµ¸ÞÀÎÀ» ¸ðµÎ ÀÌ ¾ç½Ä¿¡ ³ª¿­ÇØ¾ß ÇÕ´Ï´Ù.
cws_desc2=¸ñ·Ï¿¡ µµ¸ÞÀÎÀ» ³Ö´Â °Í¸¸À¸·Î´Â ÃæºÐÄ¡ ¾Ê½À´Ï´Ù. ÇØ´ç µµ¸ÞÀÎÀÇ DNS ·¹ÄÚµå°¡ Á¸ÀçÇÏ´Â µ¿½Ã¿¡ ÇöÀç ½Ã½ºÅÛÀ» °¡¸®Å°°í ÀÖ´ÂÁö È®ÀÎÇØ¾ß ÇÕ´Ï´Ù.
cws_err=·ÎÄÃ µµ¸ÞÀÎÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
cws_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ¶Ç´Â µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
cws_eip='$1'Àº(´Â) µµ¸ÞÀÎÀÌ ¾Æ´Ñ, IP ÁÖ¼ÒÀÔ´Ï´Ù

masq_title=µµ¸ÞÀÎ °¡»óÈ­
masq_ecannot=°¡»óÈ­¸¦ ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
masq_domain=µµ¸ÞÀÎÀ¸·Î¼­ °¡»óÈ­
masq_domains=°¡»óÈ­ÇÒ µµ¸ÞÀÎ
masq_desc1=À§¿¡¼­ µµ¸ÞÀÎÀ» ÁöÁ¤ÇÑ °æ¿ì, sendmailÀº º¸³»´Â ¸ðµç ¸Þ½ÃÁöÀÇ <tt>¹ß½ÅÀÚ</tt> ÁÖ¼Ò¸¦ À§¿¡ ÁöÁ¤µÈ µµ¸ÞÀÎÀ¸·Î º¯°æÇÕ´Ï´Ù. ¶ÇÇÑ ¿ÞÂÊ¿¡ ³ª¿­µÈ È£½ºÆ®³ª µµ¸ÞÀÎ¿¡¼­ º¸³»´Â ÀüÀÚ ¸ÞÀÏ ¸Þ½ÃÁö Áß ÇöÀç ½Ã½ºÅÛÀ» Åë°úÇÏ´Â ÀüÀÚ ¸ÞÀÏ ¸Þ½ÃÁöÀÇ <tt>¹ß½ÅÀÚ</tt> ÁÖ¼Òµµ ÀÌ¿Í µ¿ÀÏÇÏ°Ô º¯°æÇÕ´Ï´Ù. <a href='$1'>¹ß½Å ÁÖ¼Ò</a> ÆäÀÌÁö¸¦ »ç¿ëÇÏ¸é Æ¯Á¤ »ç¿ëÀÚ¿¡ ´ëÇØ ¿©±â¿¡ Á¤ÀÇµÈ µµ¸ÞÀÎ °¡»óÈ­°¡ ¹«½ÃµÉ ¼ö ÀÖ½À´Ï´Ù.
masq_desc2=ÀÌ ±â´ÉÀº ÇöÀç ½Ã½ºÅÛ¿¡¼­ º¸³»´Â ÀüÀÚ ¸ÞÀÏÀÇ ¹ß½ÅÀÚ ÁÖ¼Ò¿¡ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Ñ µµ¸ÞÀÎ ÀÌ¸§À» Ç¥½ÃÇÏ°íÀÚ ÇÒ ¶§ ¶Ç´Â ÇöÀç ½Ã½ºÅÛÀÌ ÀÚÃ¼ ¸ÞÀÏ ¼­¹ö¸¦ ½ÇÇàÇÏ´Â ´Ù¸¥ È£½ºÆ®ÀÇ ¸ÞÀÏ Çãºê ¿ªÇÒÀ» ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.
masq_err=µµ¸ÞÀÎ °¡»óÈ­¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
masq_edomain='$1'Àº(´Â) À¯È¿ÇÑ °¡»óÈ­ µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
masq_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ¶Ç´Â µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
masq_eip='$1'Àº(´Â) µµ¸ÞÀÎÀÌ ¾Æ´Ñ, IP ÁÖ¼ÒÀÔ´Ï´Ù

trusts_title=½Å·ÚÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ
trusts_ecannot=½Å·ÚÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
trusts_users=sendmail¿¡¼­ ½Å·ÚÇÒ ¼ö ÀÖ´Â ·ÎÄÃ »ç¿ëÀÚ
trusts_desc=·ÎÄÃ »ç¿ëÀÚ°¡ ÀüÀÚ ¸ÞÀÏÀ» º¸³»·Á°í ÇÒ °æ¿ì, sendmailÀº ¿ÞÂÊ ¸ñ·Ï¿¡ ÀÖ´Â »ç¿ëÀÚ¿¡ ´ëÇØ¼­¸¸ ´Ù¸¥ <tt>¹ß½ÅÀÚ:</tt> ÁÖ¼Ò¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ°Ô Çã¿ëÇÕ´Ï´Ù. ÀÌ´Â À§Á¶µÈ <tt>¹ß½ÅÀÚ:</tt> ÁÖ¼Ò¸¦ »ç¿ëÇÏ¿© ¸ÞÀÏÀ» º¸³»Áö ¸øÇÏµµ·Ï ¸·±â À§ÇÑ Á¦ÇÑÀÔ´Ï´Ù.
trusts_err=½Å·ÚÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
trusts_euser='$1'Àº(´Â) À¯È¿ÇÑ »ç¿ëÀÚ°¡ ¾Æ´Õ´Ï´Ù

virtusers_title=ÁÖ¼Ò ¸ÅÇÎ
virtusers_ecannot=ÁÖ¼Ò ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
virtusers_edirective=sendmail ±¸¼º ÆÄÀÏ¿¡ ÁÖ¼Ò ¸ÅÇÎ¿¡ ÇÊ¿äÇÑ Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.
virtusers_efile=ÁÖ¼Ò ¸ÅÇÎ µ¥ÀÌÅÍº£ÀÌ½º $2À»(¸¦) ±¸ÃàÇÏ´Â µ¥ »ç¿ëÇÑ ÅØ½ºÆ® ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï <a href='$3'>¸ðµâ ±¸¼º</a>À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
virtusers_desc1=ÁÖ¼Ò ¸ÅÇÎÀº <a href='$1'>º°Äª</a>°ú ºñ½ÁÇÏÁö¸¸, ¿©·¯ °³ÀÇ ÀüÀÚ ¸ÞÀÏ µµ¸ÞÀÎÀ» Ã³¸®ÇÏ´Â ½Ã½ºÅÛ¿¡¼­´Â º°Äªº¸´Ù ÁÖ¼Ò ¸ÅÇÎÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÁÖ¼Ò ¸ÅÇÎÀº ÀüÃ¼ µµ¸ÞÀÎÀÇ ¸ÞÀÏÀ» ÇÑ °³ÀÇ ÁÖ¼Ò·Î ¸®µð·º¼ÇÇÏ°Å³ª, ¿©·¯ µµ¸ÞÀÎ¿¡¼­ ÇÑ °³ÀÇ ÀÌ¸§À» »ç¿ëÇÏ´Â »ç¿ëÀÚ¸¦ Ã³¸®ÇÏ°Å³ª, ÇÑ °³ÀÇ µµ¸ÞÀÎ¿¡¼­ º¸³»´Â ¸ðµç ¸ÞÀÏÀ» ´Ù¸¥ µµ¸ÞÀÎ¿¡ ¸ÅÇÎÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
virtusers_desc2=ÁÖ¼Ò ¸ÅÇÎ¿¡ »ç¿ëÇÒ µµ¸ÞÀÎÀÇ ÇÑ Ç×¸ñÀÌ <a href='$1'>·ÎÄÃ µµ¸ÞÀÎ</a> Å×ÀÌºí¿¡ ÀÖ¾î¾ß ÇÏ°í, ÇØ´ç ½Ã½ºÅÛÀ» °¡¸®Å°´Â °¢ µµ¸ÞÀÎ¸¶´Ù DNS MX ·¹ÄÚµå°¡ ÇÑ °³¾¿ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
virtusers_for=¸ÞÀÏ ´ë»ó..
virtusers_to=¼ö½ÅÀÚ..
virtusers_error=¿À·ù $1
virtusers_domain=µµ¸ÞÀÎ $1
virtusers_address=ÁÖ¼Ò $1
virtusers_return=ÁÖ¼Ò ¸ÅÇÎ ¸ñ·Ï

vform_edit=¸ÅÇÎ ÆíÁý
vform_create=¸ÅÇÎ ÀÛ¼º
vform_for=¸ÞÀÏ ´ë»ó
vform_address=ÁÖ¼Ò
vform_domain=µµ¸ÞÀÎ
vform_to=¼ö½ÅÀÚ
vform_msg=¸Þ½ÃÁö
vform_error=¹ÝÈ¯ ¿À·ù
vform_err_nouser=»ç¿ëÀÚ ¾øÀ½
vform_err_nohost=È£½ºÆ® ¾øÀ½
vform_err_unav=»ç¿ëÇÒ ¼ö ¾øÀ½
vform_err_temp=tempfail
vform_err_proto=ÇÁ·ÎÅäÄÝ
vform_end=³¡À¸·Î ÀÌµ¿
vform_ecannot=ÀÌ ÁÖ¼Ò ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

vsave_ecannot=ÁÖ¼Ò ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
vsave_ecannot2=ÀÌ ÁÖ¼Ò ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
vsave_emax=$1°³ ÀÌÇÏÀÇ ÁÖ¼Ò ¸ÅÇÎ¸¸ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù
vsave_err=ÁÖ¼Ò ¸ÅÇÎÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
vsave_efrom='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
vsave_efromdup='$1'¿¡ ´ëÇÑ ÁÖ¼Ò ¸ÅÇÎÀÌ ÀÌ¹Ì Á¤ÀÇµÇ¾î ÀÖ½À´Ï´Ù
vsave_edom='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
vsave_edomdup='$1'¿¡ ´ëÇÑ ÁÖ¼Ò ¸ÅÇÎÀÌ ÀÌ¹Ì Á¤ÀÇµÇ¾î ÀÖ½À´Ï´Ù
vsave_ematch=¿øº» ÁÖ¼Ò°¡ '$1'°ú(¿Í) ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù
vsave_ecannot3=ÁÖ¼Ò¿¡ ´ëÇÑ ¸ÅÇÎÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
vsave_eaddr='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
vsave_ecannot4=µµ¸ÞÀÎ¿¡ ´ëÇÑ ¸ÅÇÎÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
vsave_edomdom=ÇÑ °³ÀÇ µµ¸ÞÀÎ¸¸ ´Ù¸¥ µµ¸ÞÀÎ¿¡ ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù
vsave_ecannot5=¿À·ù¸¦ ¹ÝÈ¯ÇÏ´Â ¸ÅÇÎÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

mailers_title=µµ¸ÞÀÎ ¶ó¿ìÆÃ
mailers_cannot=µµ¸ÞÀÎ ¶ó¿ìÆÃÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
mailers_edirective=sendmail ±¸¼º ÆÄÀÏ¿¡ µµ¸ÞÀÎ ¶ó¿ìÆÃ¿¡ ÇÊ¿äÇÑ Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.
mailers_efile=µµ¸ÞÀÎ ¶ó¿ìÆÃ µ¥ÀÌÅÍº£ÀÌ½º $2À»(¸¦) ±¸ÃàÇÏ´Â µ¥ »ç¿ëÇÑ ÅØ½ºÆ® ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï <a href='$3'>¸ðµâ ±¸¼º</a>À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
mailers_desc1=µµ¸ÞÀÎ ¶ó¿ìÆÃ ±â´ÉÀ» »ç¿ëÇÏ¸é Æ¯Á¤ µµ¸ÞÀÎÀÇ ¸ÞÀÏ Àü¼Û ¹æ¹ýÀ» º°µµ·Î Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. µµ¸ÞÀÎ ¶ó¿ìÆÃÀº ÇöÀç ½Ã½ºÅÛÀÌ ÇöÀç ³×Æ®¿öÅ© ¿ÜºÎ¿¡¼­ Á¢¼ÓÇÒ ¼ö ¾ø´Â ¸ÞÀÏ ¼­¹öÀÇ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÒ ¶§ ¶Ç´Â Æ¯Á¤ µµ¸ÞÀÎÀÇ ¸ðµç ¸ÞÀÏÀÌ ¸î¸î ´Ù¸¥ ¼­¹ö¸¦ Åë°úÇÏµµ·Ï °­Á¦·Î ¶ó¿ìÆÃÇÏ°íÀÚ ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.
mailers_desc2=<a href='$1'>·ÎÄÃ µµ¸ÞÀÎ</a> ¸ñ·Ï¿¡´Â ¶ó¿ìÆ®µÇ´Â µµ¸ÞÀÎÀÇ Ç×¸ñÀÌ <b>¾ø¾î¾ß ÇÕ´Ï´Ù</b>. ±×·¯³ª ´Ù¸¥ µµ¸ÞÀÎÀÇ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÏ´Â µµ¸ÞÀÎÀÎ °æ¿ì¿¡´Â ÇöÀç ½Ã½ºÅÛÀ» °¡¸®Å°´Â DNS MX ·¹ÄÚµå°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
mailers_for=¸ÞÀÏ ´ë»ó..
mailers_delivery=¹è´Þ
mailers_to=¼ö½ÅÀÚ..
mailers_return=µµ¸ÞÀÎ ¶ó¿ìÆÃ ¸ñ·Ï

mform_edit=¶ó¿ìÆÃ ÆíÁý
mform_create=¶ó¿ìÆÃ ÀÛ¼º
mform_for=¸ÞÀÏ ´ë»ó
mform_host=È£½ºÆ®
mform_domain=µµ¸ÞÀÎ
mform_delivery=¹è´Þ
mform_to=¼ö½ÅÀÚ
mform_ignore=SMTP ¹è´Þ¿¡¼­ MX ¹«½Ã
mform_smtp=SMTP
mform_esmtp=È®Àå SMTP
mform_smtp8=8ºñÆ® SMTP
mform_relay=SMTP ¸±·¹ÀÌ
mform_local=·ÎÄÃ »ç¿ëÀÚ
mform_prog=ÇÁ·Î±×·¥¿¡ °ø±Þ
mform_uucp=UUCP
mform_usenet=USENET¿¡ °Ô½Ã
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=¿À·ù
mform_ecannot=µµ¸ÞÀÎ ¶ó¿ìÆÃÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

msave_ecannot=µµ¸ÞÀÎ ¶ó¿ìÆÃÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
msave_err=µµ¸ÞÀÎ ¶ó¿ìÆÃÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
msave_edomain='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ¶Ç´Â µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
msave_edup='$1'¿¡ ´ëÇÑ µµ¸ÞÀÎ ¶ó¿ìÆÃÀÌ ÀÌ¹Ì Á¤ÀÇµÇ¾î ÀÖ½À´Ï´Ù

generics_title=¹ß½Å ÁÖ¼Ò
generics_cannot=¹ß½Å ÁÖ¼Ò¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
generics_econfig=sendmail ±¸¼º ÆÄÀÏ¿¡ ¹ß½Å ÁÖ¼Ò ¸ÅÇÎ¿¡ ÇÊ¿äÇÑ Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.
generics_efile=¹ß½Å ÁÖ¼Ò µ¥ÀÌÅÍº£ÀÌ½º $2À»(¸¦) ±¸ÃàÇÏ´Â µ¥ »ç¿ëÇÑ ÅØ½ºÆ® ÆÄÀÏ $1(ÀÌ)°¡ ¾ø½À´Ï´Ù. ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï <a href='$3'>¸ðµâ ±¸¼º</a>À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
generics_desc1=¹ß½Å ÁÖ¼Ò ¸ÅÇÎ ±â´ÉÀ» »ç¿ëÇÏ¸é ÇöÀç ½Ã½ºÅÛ¿¡¼­ º¸³»´Â ¸ÞÀÏÀÌ³ª ·ÎÄÃ ³×Æ®¿öÅ© »óÀÇ ´Ù¸¥ È£½ºÆ®¿¡¼­ »ç¿ëÀÚ ½Ã½ºÅÛÀ» Åë°úÇÏ¿© º¸³»´Â ¸ÞÀÏÀÇ <tt>¹ß½ÅÀÚ:</tt> ÁÖ¼Ò¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹ß½Å ÁÖ¼Ò ¸ÅÇÎÀº ÇÑ °³ÀÇ ½Ã½ºÅÛ¿¡¼­ ¿©·¯ °³ÀÇ µµ¸ÞÀÎÀ» È£½ºÆÃÇÒ °æ¿ì ÀÏºÎ »ç¿ëÀÚÀÇ ¸ÞÀÏÀ» ´Ù¸¥ µµ¸ÞÀÎ¿¡¼­ º¸³»´Â °ÍÃ³·³ Ç¥½ÃÇÏ°íÀÚ ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù. 
generics_desc2=¹ß½Å ¸ÅÇÎÀ» ÇÊ¿ä·Î ÇÏ´Â ÁÖ¼Ò°¡ ÀÖ´Â °¢ µµ¸ÞÀÎÀÇ Ç×¸ñÀÌ <a href='$1'>¹ß½Å µµ¸ÞÀÎ</a> Å×ÀÌºí¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ·ÎÄÃ »ç¿ëÀÚ¿¡°Ô ¹è´ÞÇÒ ¸ÞÀÏ¿¡´Â ¹ß½Å ÁÖ¼Ò ¸ÅÇÎÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
generics_from=¸ÞÀÏ ¹ß½ÅÀÚ..
generics_to=º¯°æÇÒ ÁÖ¼Ò..
generics_return=ÁÖ¼Ò ¸ÅÇÎ ¸ñ·Ï

gform_edit=¸ÅÇÎ ÆíÁý
gform_create=¸ÅÇÎ ÀÛ¼º
gform_from=¸ÞÀÏ ¹ß½ÅÀÚ
gform_to=º¯°æÇÒ ÁÖ¼Ò
gform_ecannot=ÀÌ ¹ß½Å ÁÖ¼Ò¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

gsave_ecannot=¹ß½Å ÁÖ¼Ò¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
gsave_ecannot2=ÀÌ ¹ß½Å ÁÖ¼Ò¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
gsave_err=¹ß½Å ÁÖ¼Ò¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
gsave_efrom='$1'Àº(´Â) À¯È¿ÇÑ ¹ß½ÅÀÚ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
gsave_ematch=¹ß½ÅÀÚ ÁÖ¼Ò°¡ '$1'°ú(¿Í) ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù
gsave_eto='$1'Àº(´Â) À¯È¿ÇÑ »õ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù

cgs_title=¹ß½Å µµ¸ÞÀÎ
cgs_ecannot=¹ß½Å µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
cgs_header=¹ß½Å ÁÖ¼Ò µµ¸ÞÀÎ
cgs_desc=sendmailÀº ·ÎÄÃ »ç¿ëÀÚ°¡ º¸³»´Â ¸ÞÀÏÀ» Á¦¿ÜÇÑ, ¿À¸¥ÂÊ ÀÔ·Â¶õ¿¡ ³ª¿­µÈ È£½ºÆ®³ª µµ¸ÞÀÎ¿¡¼­ º¸³»´Â ¸ÞÀÏ¿¡ ´ëÇØ¼­¸¸ <a href='$1'>¹ß½Å ÁÖ¼Ò</a> ¸ÅÇÎÀ» ¼öÇàÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¸ñ·Ï¿¡´Â ¹ß½ÅÀÚ ÁÖ¼Ò¿¡ ÀÖ´Â µµ¸ÞÀÎ¿¡ ÇÊ¿äÇÑ ¹ß½Å ÁÖ¼Ò Ç×¸ñ¸¸ ³Ö¾î¾ß ÇÕ´Ï´Ù.
cgs_err=¹ß½Å µµ¸ÞÀÎÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
cgs_ehost='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ¶Ç´Â µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
cgs_eip='$1'Àº(´Â) µµ¸ÞÀÎÀÌ ¾Æ´Ñ, IP ÁÖ¼ÒÀÔ´Ï´Ù

domains_title=µµ¸ÞÀÎ ¸ÅÇÎ
domains_ecannot=µµ¸ÞÀÎ ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
domains_econfig=sendmail ±¸¼º ÆÄÀÏ¿¡ µµ¸ÞÀÎ ¸ÅÇÎ¿¡ ÇÊ¿äÇÑ Áö½Ã¾î°¡ ¾ø½À´Ï´Ù.
domains_efile=µµ¸ÞÀÎ ¸ÅÇÎ µ¥ÀÌÅÍº£ÀÌ½º $2À»(¸¦) ±¸ÃàÇÏ´Â µ¥ »ç¿ëÇÑ ÅØ½ºÆ® ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï <a href='$3'>¸ðµâ ±¸¼º</a>À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
domains_desc=µµ¸ÞÀÎ ¸ÅÇÎÀº ÇöÀç ½Ã½ºÅÛÀÇ »ç¿ëÀÚ°¡ º¸³»´Â ¸Þ½ÃÁö, ÇöÀç ½Ã½ºÅÛÀÇ »ç¿ëÀÚ¸¦ ÅëÇØ ¸±·¹ÀÌµÇ´Â ¸Þ½ÃÁö ¶Ç´Â ÇöÀç ½Ã½ºÅÛÀÇ »ç¿ëÀÚ¿¡°Ô ¹è´ÞµÇ´Â ¸Þ½ÃÁöÀÇ <tt>¼ö½ÅÀÚ:</tt> ÁÖ¼Ò¸¦ ¼öÁ¤ÇÕ´Ï´Ù. ·ÎÄÃ »ç¿ëÀÚ¿¡°Ô ¸±·¹ÀÌµÇ´Â ¸Þ½ÃÁöÀÇ <tt>¹ß½ÅÀÚ:</tt> ÁÖ¼Òµµ ¼öÁ¤µË´Ï´Ù. µµ¸ÞÀÎ ¸ÅÇÎÀº µµ¸ÞÀÎ ÀÌ¸§À» º¯°æÇÑ ÈÄ ±âÁ¸ µµ¸ÞÀÎ¿¡¼­ ¹ß»ýÇÑ ¸ðµç »çÇ×À» »õ µµ¸ÞÀÎÀ¸·Î º¯°æÇÏ°íÀÚ ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.
domains_from=¹ß½ÅÀÚ µµ¸ÞÀÎ..
domains_to=¼ö½ÅÀÚ µµ¸ÞÀÎ..
domains_return=µµ¸ÞÀÎ ¸ÅÇÎ ¸ñ·Ï

dform_edit=¸ÅÇÎ ÆíÁý
dform_create=¸ÅÇÎ ÀÛ¼º
dform_from=¹ß½ÅÀÚ µµ¸ÞÀÎ
dform_to=¼ö½ÅÀÚ µµ¸ÞÀÎ
dform_ecannot=µµ¸ÞÀÎ ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

dsave_ecannot=µµ¸ÞÀÎ ¸ÅÇÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
dsave_err=µµ¸ÞÀÎ ¸ÅÇÎÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
dsave_edomain='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

access_title=½ºÆÔ Á¦¾î
access_ecannot=½ºÆÔ Á¦¾î¸¦ ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
access_econfig=sendmail ±¸¼º ÆÄÀÏ¿¡ ½ºÆÔ Á¦¾î¿¡ ÇÊ¿äÇÑ Áö½Ã¾î°¡ ¾ø½À´Ï´Ù. 
access_efile=½ºÆÔ Á¦¾î µ¥ÀÌÅÍº£ÀÌ½º $2À»(¸¦) ±¸ÃàÇÏ´Â µ¥ »ç¿ëÇÑ ÅØ½ºÆ® ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï <a href='$3'>¸ðµâ ±¸¼º</a>À» ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
access_desc1=sendmailÀÇ ½ºÆÔ Á¦¾î ±â´ÉÀ» »ç¿ëÇÏ¸é Æ¯Á¤ ÁÖ¼Ò¿¡¼­ º¸³½ ½ºÆÔ ¸ÞÀÏÀÌ »ç¿ëÀÚ¿¡°Ô ¹è´ÞµÇ°Å³ª ½ºÆÔ ¸ÞÀÏ ¹ß¼ÛÀÚÀÇ ¸ÞÀÏÀÌ ÇöÀç ½Ã½ºÅÛÀ» ÅëÇØ ¸±·¹ÀÌµÇ´Â °ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î sendmailÀº ·ÎÄÃ »ç¿ëÀÚ ÁÖ¼Ò·ÎºÎÅÍ Àü¼ÛµÈ ¸ÞÀÏÀº ¹Þ¾ÆµéÀÌÁö¸¸, Å¬¶óÀÌ¾ðÆ®³ª ¸ÞÀÏ ¼­¹ö¿¡¼­ ½Ã½ºÅÛÀ» ÅëÇØ ¸±·¹ÀÌÇÏ´Â ¸ÞÀÏÀº °ÅºÎÇÕ´Ï´Ù. ÀÏ¹ÝÀûÀ¸·Î´Â ½ºÆÔ ¸ÞÀÏ ¹ß¼ÛÀÚÀÇ ¸ÞÀÏÀ» °ÅºÎÇÏ´Â ½ºÆÔ Á¦¾î ±ÔÄ¢°ú ³×Æ®¿öÅ© »óÀÇ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼­ ÇöÀç ½Ã½ºÅÛÀ» ÅëÇØ ¸±·¹ÀÌÇÏ´Â ¸ÞÀÏÀ» Çã¿ëÇÏ´Â ±ÔÄ¢À» Ãß°¡ÇÏ´Â °ÍÀÌ º¸ÅëÀÔ´Ï´Ù.
access_desc2=sendmailÀº ±âº»ÀûÀ¸·Î ÇöÀç ½Ã½ºÅÛ¿¡¼­ ½ÇÇà ÁßÀÎ ¸ÞÀÏ Å¬¶óÀÌ¾ðÆ®¸¦ »ç¿ëÇÏ¸é SMTP¸¦ ÅëÇØ ¸ðµç ¸ñÀûÁö·Î ¸ÞÀÏÀ» ¸±·¹ÀÌÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼­ ¸±·¹ÀÌ Çã¿ë ¸ÞÀÏ ¸ñ·Ï¿¡ ·ÎÄÃ <tt>127.0.0</tt> ³×Æ®¿öÅ©¸¦ Ãß°¡ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.
access_source=¼Ò½º..
access_action=µ¿ÀÛ
access_return=½ºÆÔ Á¦¾î ¸ñ·Ï

sform_edit=½ºÆÔ Á¦¾î ±ÔÄ¢ ÆíÁý
sform_create=½ºÆÔ Á¦¾î ±ÔÄ¢ ÀÛ¼º
sform_source=¸ÞÀÏ ¼Ò½º
sform_type0=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
sform_type1=³×Æ®¿öÅ©
sform_type2=»ç¿ëÀÚ
sform_type3=µµ¸ÞÀÎ
sform_action=µ¿ÀÛ
sform_ok=¼ö¶ô
sform_relay=¸±·¹ÀÌ Çã¿ë
sform_reject=°ÅºÎ
sform_discard=ÀÚµ¿ »èÁ¦
sform_err=¿À·ù ÄÚµå
sform_msg=¸Þ½ÃÁö
sform_ecannot=½ºÆÔ Á¦¾î¸¦ ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù

ssave_ecannot=½ºÆÔ Á¦¾î¸¦ ±¸¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
ssave_err=½ºÆÔ Á¦¾î ±ÔÄ¢À» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ssave_etype0='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
ssave_etype1='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ© ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
ssave_etype2='$1'Àº(´Â) À¯È¿ÇÑ »ç¿ëÀÚ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
ssave_etype3='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
ssave_ecode='$1'Àº(´Â) À¯È¿ÇÑ SMTP ¿À·ù ÄÚµå°¡ ¾Æ´Õ´Ï´Ù
0000000000000000000000000000000000000000 ¤©¤¤
relay_title=¸±·¹ÀÌ µµ¸ÞÀÎ
relay_ecannot=¸±·¹ÀÌ µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
relay_eversion=¸±·¹ÀÌ µµ¸ÞÀÎ ±â´ÉÀº sendmail ¹öÀü 8.9 ÀÌ»ó¿¡¼­¸¸ Áö¿øµË´Ï´Ù.
relay_domains=¸±·¹ÀÌ Çã¿ë µµ¸ÞÀÎ
relay_desc1=<a href='$1'>½ºÆÔ Á¦¾î</a> ±ÔÄ¢¿¡ µû¶ó Çã¿ëµÇÁö ¾Ê´Â ÇÑ, sendmailÀº ¿ÞÂÊ ÀÔ·Â¶õ¿¡ ÀÖ´Â µµ¸ÞÀÎ¿¡ ´ëÇÑ ¸±·¹ÀÌ¸¸ Çã¿ëÇÕ´Ï´Ù. ·ÎÄÃ »ç¿ëÀÚ¿¡°Ô º¸³»´Â °ÍÀÌ ¾Æ´Ñ ¸ÞÀÏ ¸Þ½ÃÁö³ª ¸ñ·Ï¿¡ ¾ø´Â µµ¸ÞÀÎÀ¸·Î º¸³»´Â ¸ÞÀÏ ¸Þ½ÃÁö´Â ¼ö½ÅÀÌ °ÅºÎµË´Ï´Ù.
relay_desc2=<a href='$1'>µµ¸ÞÀÎ ¶ó¿ìÆÃ</a> ±â´ÉÀ» »ç¿ëÇÏ¿© ³×Æ®¿öÅ© ¿ÜºÎ¿¡¼­ Á÷Á¢ ¾×¼¼½ºÇÒ ¼ö ¾ø´Â ¿©·¯ µµ¸ÞÀÎ¿¡ ´ëÇÑ °ÔÀÌÆ®¿þÀÌ ¿ªÇÒÀ» ÇÏ´Â ½Ã½ºÅÛÀÎ °æ¿ì¿¡´Â ¸ðµç µµ¸ÞÀÎÀ» ¿©±â¿¡ ³ª¿­ÇØ¾ß ÇÕ´Ï´Ù.
relay_err=¸±·¹ÀÌ µµ¸ÞÀÎÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
relay_edomain='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù

mailq_title=¸ÞÀÏ ´ë±â¿­
mailq_ecannot=¸ÞÀÏ ´ë±â¿­À» º¼ ¼ö ¾ø½À´Ï´Ù
mailq_id=¸ÞÀÏ ID
mailq_sent=Àü¼Û ¿Ï·á
mailq_from=¹ß½ÅÀÚ
mailq_to=¼ö½ÅÀÚ
mailq_size=Å©±â
mailq_status=»óÅÂ
mailq_unknown=¾Ë ¼ö ¾øÀ½
mailq_sending=Àü¼Û Áß
mailq_dmsg=¸ÞÀÏ ´ë±â¿­ÀÇ ¸Þ½ÃÁö¸¦ º¸·Á¸é À§ÀÇ ¸ñ·Ï¿¡¼­ ÇØ´ç ID¸¦ ´©¸£½Ê½Ã¿À.
mailq_force=´ë±â¿­¿¡ ÀÖ´Â ¸ÞÀÏÀ» Áï½Ã ¹è´ÞÇÏ·Á¸é <a href='$1'>¿©±â</a>¸¦ ´©¸£½Ê½Ã¿À.
mailq_none=ÇöÀç ¹è´Þ ´ë±â ÁßÀÎ ¸Þ½ÃÁö°¡ ¾ø½À´Ï´Ù
mailq_delete=¼±ÅÃÇÑ ¸Þ½ÃÁö »èÁ¦
mailq_return=¸ÞÀÏ ´ë±â¿­

flushq_title=´ë±â¿­ ÇÃ·¯½Ã
flushq_desc=¸í·É $1À»(¸¦) »ç¿ëÇÏ¿© ´ë±â ÁßÀÎ ¸ÞÀÏÀ» °­Á¦·Î ¹è´ÞÇÏ´Â Áß..

delq_err=¸Þ½ÃÁö¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
delq_ecannot=´ë±â¿­¿¡¼­ ¸Þ½ÃÁö¸¦ »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delq_locked=ÆÄÀÏÀÌ Àá°Ü ÀÖ¾î¼­ Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù
delq_enone=»èÁ¦ÇÒ ¸Þ½ÃÁö¸¦ ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
delq_title=¸Þ½ÃÁö »èÁ¦ Áß
delq_file=¸ÞÀÏ ÆÄÀÏ $1 »èÁ¦ Áß..
delq_efile=Àß¸øµÈ ÆÄÀÏ ÀÌ¸§!
delq_egone=ÀÌ¹Ì »èÁ¦/¹è´ÞµÊ
delq_elocked=Àá°Ü ÀÖ¾î¼­ Àü¼Û ¸øÇÔ
delq_ok=»èÁ¦ ¿Ï·á

boxes_title=»ç¿ëÀÚ »ç¼­ÇÔ
boxes_user=»ç¿ëÀÚ
boxes_size=»ç¼­ÇÔ Å©±â
boxes_none=¸ÞÀÏ ¾øÀ½
boxes_return=»ç¼­ÇÔ
boxes_sent=¹ß½Å ¸ÞÀÏ
boxes_ecannot=ÀüÀÚ ¸ÞÀÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù

mail_title=»ç¿ëÀÚ ÀüÀÚ ¸ÞÀÏ
mail_from=¹ß½ÅÀÚ
mail_date=³¯Â¥
mail_subject=Á¦¸ñ
mail_to=¼ö½ÅÀÚ
mail_cc=ÂüÁ¶
mail_bcc=¼ûÀº ÂüÁ¶
mail_pri=¿ì¼± ¼øÀ§
mail_highest=°¡Àå ³ôÀ½
mail_high=³ôÀ½
mail_normal=º¸Åë
mail_low=³·À½
mail_lowest=°¡Àå ³·À½
mail_for=$1
mail_sent=¹ß½Å ¸ÞÀÏ ¸ñ·Ï
mail_size=Å©±â
mail_delete=¼±ÅÃÇÑ ¸Þ½ÃÁö »èÁ¦
mail_compose=»õ ¸ÞÀÏ ÀÛ¼º
mail_return=»ç¿ëÀÚ ÀüÀÚ ¸ÞÀÏ
mail_pos=$3ÀÇ $2¿¡ ´ëÇÑ ¸Þ½ÃÁö $1
mail_none=ÀÌ »ç¼­ÇÔ¿¡ ¸Þ½ÃÁö°¡ ¾ø½À´Ï´Ù
mail_ecannot=ÀÌ »ç¿ëÀÚÀÇ ÀüÀÚ ¸ÞÀÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù
mail_all=¸ðµÎ ¼±ÅÃ
mail_invert=¹Ý´ë·Î ¼±ÅÃ
mail_search=¸Þ½ÃÁö °Ë»ö À§Ä¡
mail_body=º»¹®
mail_match=ÀÏÄ¡
mail_ok=°Ë»ö
mail_nonefrom=¾øÀ½

view_title=ÀüÀÚ ¸ÞÀÏ ÀÐ±â
view_desc=$2¿¡ ÀÖ´Â ¸Þ½ÃÁö $1
view_sent=¹ß½Å ¸ÞÀÏ ¸ñ·Ï¿¡ ÀÖ´Â ¸Þ½ÃÁö $1
view_qdesc=´ë±â¿­¿¡ ÀÖ´Â ¸Þ½ÃÁö $1
view_headers=¸ÞÀÏ Çì´õ
view_attach=Ã·ºÎ ÆÄÀÏ
view_reply=È¸½Å
view_reply2=ÀüÃ¼ È¸½Å
view_enew=»õ ¸ÞÀÏ·Î ÆíÁý
view_forward=Àü´Þ
view_delete=»èÁ¦
view_ecannot=ÀÌ »ç¿ëÀÚÀÇ ÀüÀÚ ¸ÞÀÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù

compose_title=ÀüÀÚ ¸ÞÀÏ ÀÛ¼º
reply_title=ÀüÀÚ ¸ÞÀÏ¿¡ È¸½Å
forward_title=ÀüÀÚ ¸ÞÀÏ Àü´Þ
reply_headers=¸ÞÀÏ Çì´õ
reply_attach=Àü´ÞµÈ Ã·ºÎ ÆÄÀÏ
reply_attach2=Ã·ºÎ ÆÄÀÏ
reply_send=Àü¼Û
reply_ecannot=ÀÌ »ç¿ëÀÚ·Î ¸ÞÀÏÀ» Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù

send_err=¸ÞÀÏÀ» Àü¼ÛÇÏÁö ¸øÇß½À´Ï´Ù
send_eto=¾ø´Â ¼ö½ÅÀÚ ÁÖ¼Ò
send_efrom=¾ø´Â ¹ß½ÅÀÚ ÁÖ¼Ò
send_title=¸ÞÀÏ Àü¼Û ¿Ï·á
send_ok=$1¿¡ ¸ÞÀÏÀ» Àü¼ÛÇß½À´Ï´Ù.
send_ecannot=ÀÌ »ç¿ëÀÚ·Î ¸ÞÀÏÀ» Àü¼ÛÇÒ ¼ö ¾ø½À´Ï´Ù
send_esmtp=SMTP ¸í·É $1 ½ÇÆÐ: $2
send_efile=Ã·ºÎ ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù
send_eattach=Ã·ºÎ ÆÄÀÏÀÇ ÃÑ Å©±â´Â $1KB¸¦ ÃÊ°úÇÒ ¼ö ¾ø½À´Ï´Ù.
send_eperms=»ç¿ëÀÚ $1Àº(´Â) $2À»(¸¦) ÀÐÀ» ¼ö ¾ø½À´Ï´Ù
send_eperms2=ÆÄÀÏ $1À»(¸¦) º¸³¾ ¼ö ¾ø½À´Ï´Ù

delete_ecannot=ÀÌ »ç¿ëÀÚ·ÎºÎÅÍ ¹ÞÀº ¸ÞÀÏÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_enone=»èÁ¦ÇÒ ¸ÞÀÏÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù

search_title=°Ë»ö °á°ú
search_ecannot=ÀÌ »ç¿ëÀÚÀÇ ÀüÀÚ ¸ÞÀÏÀ» °Ë»öÇÒ ¼ö ¾ø½À´Ï´Ù 
search_ematch=°Ë»öÇÒ ÅØ½ºÆ®¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù.
search_none=¸Þ½ÃÁö°¡ ¾ø½À´Ï´Ù.
search_results=$1°ú(¿Í) ÀÏÄ¡ÇÏ´Â ¸ÞÀÏ ¸Þ½ÃÁö..

file_title=sendmail ÆÄÀÏ ÆíÁý
file_desc=¾Æ·¡ÀÇ ÀÔ·Â¶õ¿¡¼­ sendmail ÆÄÀÏ $1À»(¸¦) ¼öµ¿À¸·Î ÆíÁýÇÏ½Ê½Ã¿À.
file_undo=º¯°æ Ãë¼Ò
file_edit=$1 ¼öµ¿ ÆíÁý
file_ealiases=¸ðµç º°Äª¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀÌ ÀÖ´Â °æ¿ì¿¡¸¸ º°Äª ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù.
file_evirtusers=¸ðµç ÁÖ¼Ò ¸ÅÇÎ¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀÌ ÀÖ´Â °æ¿ì¿¡¸¸ ÁÖ¼Ò ¸ÅÇÎ ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù.
file_emailers=µµ¸ÞÀÎ ¶ó¿ìÆÃ ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
file_egenerics=¸ðµç ¹ß½Å ÁÖ¼Ò¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀÌ ÀÖ´Â °æ¿ì¿¡¸¸ ¹ß½Å ÁÖ¼Ò ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù.
file_edomains=µµ¸ÞÀÎ ¸ÅÇÎ ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
file_eaccess=½ºÆÔ Á¦¾î ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
file_emode=¾Ë ¼ö ¾ø´Â ¸ðµå!
file_err=ÆÄÀÏÀ» ÆíÁýÇÏÁö ¸øÇß½À´Ï´Ù.

acl_opts=sendmail ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_cws=·ÎÄÃ µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_masq=µµ¸ÞÀÎ °¡»óÈ­¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_trusts=½Å·ÚÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_cgs=¹ß½Å µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_relay=¸±·¹ÀÌ µµ¸ÞÀÎÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_mailers=µµ¸ÞÀÎ ¶ó¿ìÆÃÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_access=½ºÆÔ Á¦¾î¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_domains=µµ¸ÞÀÎ ¸ÅÇÎÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_stop=sendmailÀ» ½ÃÀÛ ¹× ÁßÁöÇÒ ¼ö ÀÖ½À´Ï±î?
acl_mailq=¸ÞÀÏ ´ë±â¿­À» °ü¸®ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_viewdel=º¸±â ¹× »èÁ¦
acl_view=º¸±â¸¸
acl_virtusers=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â ÁÖ¼Ò ¸ÅÇÎ
acl_none=¾øÀ½
acl_same=ÀÌ¸§ÀÌ µ¿ÀÏÇÑ »ç¿ëÀÚ
acl_all=¸ðµÎ
acl_matching=ÀÏÄ¡
acl_vtypes=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â ÁÖ¼Ò ¸ÅÇÎ À¯Çü
acl_vtype0=¹ÝÈ¯ ¿À·ù
acl_vtype1=¼ö½ÅÀÚ µµ¸ÞÀÎ
acl_vtype2=¼ö½ÅÀÚ ÁÖ¼Ò
acl_vmax=ÃÖ´ë ÁÖ¼Ò ¸ÅÇÎ ¼ö
acl_unlimited=Á¦ÇÑ ¾øÀ½
acl_aliases=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â º°Äª ¼ö
acl_atypes=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â º°Äª À¯Çü
acl_atype1=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
acl_atype2=ÆÄÀÏ¿¡ ÀÖ´Â ÁÖ¼Ò
acl_atype3=ÆÄÀÏ¿¡ ¾²±â
acl_atype4=ÇÁ·Î±×·¥¿¡ °ø±Þ
acl_atype5=ÀÚµ¿ÀÀ´ä
acl_amax=ÃÖ´ë º°Äª ¼ö
acl_outgoing=ÀÌ »ç¿ëÀÚ°¡ ÆíÁýÇÒ ¼ö ÀÖ´Â ¹ß½Å ÁÖ¼Ò
acl_read=ÀÐÀ» ¼ö ÀÖ´Â ¸ÞÀÏÀ» º¸³»´Â »ç¿ëÀÚ
acl_users=»ç¿ëÀÚ¸¸
acl_userse=»ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
acl_usersg=±×·ì ±¸¼º¿ø
acl_from=Çã¿ë °¡´ÉÇÑ ¹ß½ÅÀÚ ÁÖ¼Ò
acl_any=ÀÓÀÇÀÇ ÁÖ¼Ò
acl_fdoms=»ç¼­ÇÔ@µµ¸ÞÀÎ
acl_faddrs=³ª¿­µÈ ÁÖ¼Ò
acl_fdom=ÀÓÀÇÀÇ ÁÖ¼Ò@µµ¸ÞÀÎ
acl_apath=µð·ºÅä¸®¿¡ ´ëÇÑ ÆÄÀÏ ¹× ÇÁ·Î±×·¥ Á¦ÇÑ
acl_attach=ÀüÃ¼ Ã·ºÎ ÆÄÀÏÀÇ ÃÖ´ë Å©±â
acl_sent=»ç¼­ÇÔ¿¡ ¹ß½Å ¸ÞÀÏ ÀúÀå

log_opts=sendmail ¿É¼Ç º¯°æµÊ
log_alias_create=º°Äª $1 ÀÛ¼ºµÊ
log_alias_modify=º°Äª $1 ¼öÁ¤µÊ
log_alias_delete=º°Äª $1 »èÁ¦µÊ
log_alias_manual=º°Äª ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_cws=·ÎÄÃ µµ¸ÞÀÎ º¯°æµÊ
log_masq=µµ¸ÞÀÎ °¡»óÈ­ º¯°æµÊ
log_trusts=½Å·ÚÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ º¯°æµÊ
log_virtuser_create=ÁÖ¼Ò ¸ÅÇÎ $1 ÀÛ¼ºµÊ
log_virtuser_modify=ÁÖ¼Ò ¸ÅÇÎ $1 ¼öÁ¤µÊ
log_virtuser_delete=ÁÖ¼Ò ¸ÅÇÎ $1 »èÁ¦µÊ
log_virtuser_manual=ÁÖ¼Ò ¸ÅÇÎ ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_mailer_create=µµ¸ÞÀÎ ¶ó¿ìÆÃ $1 ÀÛ¼ºµÊ
log_mailer_modify=µµ¸ÞÀÎ ¶ó¿ìÆÃ $1 ¼öÁ¤µÊ
log_mailer_delete=µµ¸ÞÀÎ ¶ó¿ìÆÃ $1 »èÁ¦µÊ
log_mailer_manual=µµ¸ÞÀÎ ¶ó¿ìÆÃ ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_generic_create=¹ß½Å ÁÖ¼Ò $1 ÀÛ¼ºµÊ
log_generic_modify=¹ß½Å ÁÖ¼Ò $1 ¼öÁ¤µÊ
log_generic_delete=¹ß½Å ÁÖ¼Ò $1 »èÁ¦µÊ
log_generic_manual=¹ß½Å ÁÖ¼Ò ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_cgs=¹ß½Å µµ¸ÞÀÎ º¯°æµÊ
log_domain_create=µµ¸ÞÀÎ ¸ÅÇÎ $1 ÀÛ¼ºµÊ
log_domain_modify=µµ¸ÞÀÎ ¸ÅÇÎ $1 ¼öÁ¤µÊ
log_domain_delete=µµ¸ÞÀÎ ¸ÅÇÎ $1 »èÁ¦µÊ
log_domain_manual=µµ¸ÞÀÎ ¸ÅÇÎ ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_access_create=$1ÀÇ ½ºÆÔ Á¦¾î ÀÛ¼ºµÊ
log_access_modify=$1ÀÇ ½ºÆÔ Á¦¾î ¼öÁ¤µÊ
log_access_delete=$1ÀÇ ½ºÆÔ Á¦¾î »èÁ¦µÊ
log_access_manual=½ºÆÔ Á¦¾î ÆÄÀÏ $1 ¼öµ¿ ÆíÁýµÊ
log_relay=¸±·¹ÀÌ µµ¸ÞÀÎ º¯°æµÊ
log_flushq=¸ÞÀÏ ´ë±â¿­ ÇÃ·¯½ÃµÊ
log_delmailq=´ë±â¿­ÀÇ $1¿¡¼­ ¸ÞÀÏ »èÁ¦µÊ
log_delmailqs=´ë±â¿­¿¡¼­ $1°³ÀÇ ¸ÞÀÏ »èÁ¦µÊ
log_stop=sendmail µð¸Õ ÁßÁöµÊ
log_start=sendmail µð¸Õ ½ÃÀÛµÊ
log_delmail=$2¿¡¼­ $1°³ ¸Þ½ÃÁö »èÁ¦µÊ
log_send=$1¿¡°Ô ¸ÞÀÏ Àü¼Û ¿Ï·á

match_from=¹ß½ÅÀÚ: ÀÏÄ¡
match_subject=Á¦¸ñ: ÀÏÄ¡
match_to=¼ö½ÅÀÚ: ÀÏÄ¡
match_cc=ÂüÁ¶: ÀÏÄ¡
match_date=³¯Â¥: ÀÏÄ¡
match_body=º»¹® ÀÏÄ¡
match_size=ÇÏÇÑ Å©±â
 07070100028760000081a40000000000000002000000013d1fe2d300006e77000000200000000000000000000000000000001700000003reloc/sendmail/lang/pl    index_title=Konfiguracja Sendmaila
index_econfig=Plik konfiguracyjny Sendmaila $1 nie istnieje. Mo¿liwe, ¿e <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eversion=Istniej±cy plik konfiguracyjny Sendmaila nie jest przeznaczony dla najnowszej wersji Sendmaila. Webmin obs³uguje wy³±cznie wersjê 8.8 i&nbsp;wy¿sze.
index_epath=Program Sendmail $1 nie jest zainstalowany na tym komputerze. Mo¿liwe, ¿e <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa lub Sendmail nie zosta³ zainstalowany.
index_return=konfiguracji sendmaila
index_stop=Zatrzymaj Sendmaila
index_stopmsg=Naci¶nij ten przycisk aby zatrzymaæ Sendmaila. Spowoduje to zaprzestanie dorêczania lokalnym u¿ytkownikom poczty pochodz±cej z&nbsp;innych systemów, jak równie¿ uniemo¿liwi u¿ywanie tego systemu jako serwera poczty wychodz±cej.
index_start=Uruchom Sendmaila
index_startmsg=Naci¶nij ten przycisk aby uruchomiæ Sendmaila poleceniem $1. Dopóki tego nie uczynisz, poczta z&nbsp;innych systemów nie bêdzie dorêczana lokalnym u¿ytkownikom oraz stacje klienckie nie bêd± mog³y u¿ywaæ tego systemu jako serwera poczty wychodz±cej.

opts_title=Ustawienia Sendmaila
opts_ecannot=Nie masz uprawnieñ do zmiany ustawieñ Sendmaila
opts_ds=Wysy³aj pocztê za po¶rednictwem komputera
opts_direct=Dorêczaj bezpo¶rednio
opts_dr=Przeka¿ pocztê z&nbsp;niepe³nym adresem do komputera
opts_dh=Przeka¿ pocztê dla u¿ytkowników lokalnych do komputera
opts_local=Dorêczaj lokalnie
opts_queuela=Maks. obci±¿enie systemu przy wysy³aniu
opts_refusela=Maks. obci±¿enie systemu przy odbieraniu
opts_maxch=Maks. ilo¶æ procesów potomnych
opts_throttle=Maks. ilo¶æ po³±czeñ / sekundê
opts_minqueueage=Min. czas przed powtórna prób± wys³ania
opts_runsize=Maksymalny rozmiar kolejki
opts_queuereturn=Czas, po którym wiadomo¶æ jest odrzucana
opts_queuewarn=Czas, po którym wysy³ane jest ostrze¿enie
opts_queue=Katalog kolejkowania poczty
opts_postmaster=Informacje o&nbsp;b³êdach wysy³aj do
opts_forward=Pliki przekazywania poczty u¿ytkownika
opts_minfree=Min. ilo¶æ wolnego miejsca na dysku
opts_maxmessage=Maks. rozmiar wiadomo¶ci
opts_loglevel=Poziom logowania
opts_mimebounce=Kodowanie MIME odbitych wiadomo¶ci?
opts_default=Domy¶lne
opts_save=Zapisz i zastosuj
opts_err=Nie uda³o siê zachowaæ ustawieñ
opts_ehost='$1' nie jest prawid³ow± nazw± komputera ani domeny
opts_einvalid='$1' nie jest prawid³ow± warto¶ci± dla '$2'
opts_blame=Ustawienia bezpieczeñstwa plików
opts_selected=Wybrano..
opts_blocks=bloków
opts_bytes=bajtów
opts_dmode=Tryb dorêczania
opts_background=W&nbsp;tle
opts_queue-only=Tylko kolejka
opts_interactive=Interakcyjnie
opts_deferred=Odroczone
opts_gecos=Przyjmowaæ pocztê adresowan± rzeczywistymi nazwami uzytkowników?
opts_hops=Maksymalna liczba etapów przesy³ania poczty

aliases_title=Aliasy pocztowe
aliases_ecannot=Nie masz uprawnieñ do modyfikacji aliasów
aliases_addr=Adres
aliases_to=Alias..
aliases_type1=Adres $1
aliases_type2=Adresy w&nbsp;pliku $1
aliases_type3=Plik $1
aliases_type4=Program $1
aliases_type5=Plik z&nbsp;automatyczn± odpowiedzi± $1
aliases_type6=U¿yæ pliku filtru $1
aliases_none=Brak
aliases_return=listy aliasów

aform_type0=Brak
aform_type1=Adres e-mail
aform_type2=Adresy w&nbsp;pliku
aform_type3=Zapisz do pliku
aform_type4=Przekieruj do programu
aform_type5=Automatyczna odpowied¼ z&nbsp;pliku
aform_type6=U¿yæ pliku filtru $1
aform_edit=Zmieñ alias
aform_create=Utwórz alias
aform_name=Adres
aform_enabled=Aktywny?
aform_val=Alias
aform_afile=Zmieñ..
aform_return=aliasu

afile_title=Zmieñ plik z adresami
afile_desc=U¿yj pola tekstowego poni¿ej do zmiany adresów w&nbsp;pliku $1.
afile_efile=Nie masz uprawnieñ do zmiany $1.
afile_undo=Cofnij zmiany

ffile_title=Zmieñ plik filtru
ffile_desc=Za pomoc± poni¿szego formularza ustaw regu³y filtru w&nbsp;pliku $1.
ffile_efile=Nie masz uprawnieñ do zmiany $1.
ffile_line=Je¶li pole $1 $2 do $3, to prze¶lij do $4
ffile_from=od
ffile_to=do
ffile_subject=temat
ffile_cc=CC
ffile_body=tre¶æ
ffile_what0=nie pasuje
ffile_what1=pasuje
ffile_other=W&nbsp;przeciwnym przypadku prze¶lij do $1
ffile_err=Nie uda³o siê zachowaæ pliku filtru
ffile_ematch=Brak wzorca
ffile_eaction=Brak adresu, na ktry przesy³aæ

rfile_title=Zmieñ plik automatycznej odpowiedzi
rfile_desc=U¿yj pola tekstowego poni¿ej do modyfikacji komunikatu automatycznej odpowiedzi w&nbsp;$1. Ten komunikat mo¿e zawieraæ makra $SUBJECT, $FROM, $TO, $DATE i&nbsp;$BODY, które bêd± rozwiniête podczas aktywacji automatycznek odpowiedzi.
rfile_efile=Nie masz uprawnieñ do modyfikacji $1.
rfile_undo=Cofnij zmiany

asave_err=Nie uda³o siê zachowaæ aliasu
asave_ecannot2=Nie masz uprawnieñ do modyfikacji aliasów
asave_ecannot=Nie masz uprawnieñ do zmiany tego aliasu
asave_emax=Nie masz uprawnieñ, aby utworzyæ wiêcej ni¿ $1 aliasów
asave_eaddr='$1' nie jest poprawnym adresem
asave_ealready=Alias dla '$1' ju¿ istnieje
asave_ematch=Wolno ci tworzyæ jedynie aliasy wg wzorca '$1'
asave_etype=Nie mo¿esz tworzyæ aliasów tego typu
asave_etype1='$1' nie jest poprawnym adresem e-mail
asave_etype2=Plik z&nbsp;adresami '$1' nie jest poprawny lub nie istnieje
asave_etype3='$1' nie jest poprawn± nazw± pliku
asave_etype4='$1' nie jest poprawnym programem lub nie istnieje
asave_etype5=Plik automatycznej odpowiedzi '$1' nie jest poprawny
asave_etype4none=Nie podano programu
asave_etype6=Plik filtru '$1' nie jest poprawny

cws_title=Domeny lokalne
cws_ecannot=Nie masz uprawnieñ do zmian lokalnych domen
cws_domains=Domeny obs³ugiwane przez ten serwer
cws_desc1=Oprócz poczty adresowanej do $1, Sendmail bêdzie przyjmowa³ w&nbsp;celu lokalnego dorêczenia jedynie pocztê adresowan± do domen wymienionych w&nbsp;okienku po lewej. Je¶li chcesz, aby twój serwer pocztowy obs³ugiwa³ wiele domen pocztowych, wszystkie one musz± byæ wymienione w&nbsp;tym formularzu.
cws_desc2=Zauwa¿, ¿e dopisanie tu domeny zazwyczaj nie wystarcza. Musisz równie¿ upewniæ siê, ¿e istnieje w&nbsp;DNS wpis dla tej domeny, oraz ¿e wskazuje on na twój system.
cws_err=Nie uda³o siê zachowaæ domen lokalnych
cws_ehost='$1' nie jest prawid³ow± nazw± komputera ani domeny
cws_eip='$1' jest adresem IP, a&nbsp;nie nazw± domeny

masq_title=Maskowanie domen
masq_ecannot=Nie masz uprawnieñ do konfiguracji maskowania
masq_domain=Zamaskuj jako domenê
masq_domains=Domeny, które maj± byæ zamaskowane
masq_desc1=Je¶li podana jest domena powy¿ej, Sendmail zmodyfikuje adres ¼ród³owy (<tt>From:</tt>) poczty wychodz±cej tak, aby wygl±da³o, ¿e pochodzi ona z&nbsp;tej domeny. Dodatkowo ka¿da wiadomo¶æ przechodz±ca przez ten system, a&nbsp;pochodz±ca z&nbsp;któregokolwiek z&nbsp;komputerów lub domen wymienionych w&nbsp;okienku po lewej bêdzie równie¿ mia³a adres ¼ród³owy (pole <tt>From:</tt>) zmodyfikowany w&nbsp;ten sam sposób. Zauwa¿, ¿e jakiekolwiek maskowanie zdefiniowane tutaj mo¿e byæ nadpisane dla poszczególnych u¿ytkowników przy u¿yciu strony <a href='$1'>Adresy Wychodz±ce</a>.
masq_desc2=Ta funkcja mo¿e byæ u¿yteczna je¿eli chcesz aby poczta wys³ana z&nbsp;twojego systemu wygl±da³a jak pochodz±ca z&nbsp;twojej domeny a&nbsp;nie z&nbsp;twojego komputera. A tak¿e, je¶li twój system stanowi centrum pocztowe dla pewnej liczby innych komputerów, na których uruchomione s± serwery pocztowe.
masq_err=Nie uda³o siê zachowaæ maskowania domen
masq_edomain='$1' nie jest prawid³ow± domen± maskuj±c±
masq_ehost='$1' nie jest prawid³ow± nazw± komputera ani domeny
masq_eip='$1' jest adresem IP, a&nbsp;nie nazw± domeny

trusts_title=Zaufani u¿ytkownicy
trusts_ecannot=Nie masz uprawnieñ do modyfikacji listy zaufanych u¿ytkowników
trusts_users=Lokalni zaufani u¿ytkownicy
trusts_desc=Je¶li u¿ytkownik lokalny spróbuje wys³aæ wiadomo¶æ, musi on znajdowaæ siê na li¶cie po lewej, aby Sendmail pozwoli³ mu podaæ inny adres ¼ród³owy (<tt>From:</tt>). To ograniczenie ma na celu uniemo¿liwienie podawania fa³szywego adresu ¼ród³owego (<tt>From:</tt>) u¿ytkownikom wysy³aj±cym pocztê z&nbsp;twojego systemu.
trusts_err=Nie uda³o siê zachowaæ listy zaufanych u¿ytkowników
trusts_euser='$1' nie jest prawid³ow± nazw± u¿ytkownika

virtusers_title=Podstawianie adresów
virtusers_ecannot=Nie masz uprawnieñ do modyfikacji podstawiania adresów
virtusers_edirective=Twój plik konfiguracyjny Sendmaila nie zawiera czê¶ci niezbêdnej dla podstawiania adresów.
virtusers_efile=Plik teksowy $1, na podstawie którego jest tworzona baza danych podstawieñ adresów $2 nie istnieje. Byæ mo¿e musisz zmieniæ <a href='$3'>konfiguracjê modu³u</a> aby korzysta³ z&nbsp;prawid³owej ¶cie¿ki.
virtusers_desc1=Podstawianie adresów jest podobne do <a href='$1'>aliasów</a>, ale bardziej w³a¶ciwe dla systemu, który obs³uguje wiele domen pocztowych. Mo¿na je wykorzystaæ do przekierowywania poczty dla ca³ych domen na jeden adres, posiadaæ u¿ytkowników o&nbsp;tej samej nazwie w&nbsp;ró¿nych domenach lub przekierowywaæ ca³± pocztê z&nbsp;jednej domeny do innej.
virtusers_desc2=Zauwa¿, ¿e musisz mieæ wpis w&nbsp;tabeli <a href='$1'>domen lokalnych</a> dla ka¿dej domeny, dla której robisz podstawienie adresu, jak te¿ musi istnieæ rekord MX w&nbsp;DNS dla ka¿dej z&nbsp;tych domen wskazuj±cy na twój system.
virtusers_for=Poczta dla..
virtusers_to=Wy¶lij do..
virtusers_error=B³±d $1
virtusers_domain=Domena $1
virtusers_address=Adres $1
virtusers_return=listy podstawieñ adresów

vform_edit=Zmieñ podstawienie
vform_create=Nowe podstawienie
vform_for=Poczta dla
vform_address=Adres
vform_domain=Domena
vform_to=Wy¶lij do
vform_msg=Wiadomo¶æ
vform_error=Zwróæ b³±d
vform_err_nouser=brak u¿ytkownika
vform_err_nohost=brak komputera
vform_err_unav=niedostêpny
vform_err_temp=tymczasowy
vform_err_proto=b³±d protoko³u
vform_end=Przenie¶ na koniec
vform_ecannot=Nie masz prawa do zmiany podstawienia dla tego adresu

vsave_ecannot=Nie masz uprawnieñ do modyfikacji podstawiania adresów
vsave_ecannot2=Nie masz uprawnieñ do zmiany podstawienia dla tego adresu
vsave_emax=Nie masz uprawnieñ do utworzenia wiêcej ni¿ $1 podstawieñ adresu
vsave_err=Nie uda³o siê zachowaæ podstawieñ adresów
vsave_efrom='$1' nie jest prawid³owym adresem
vsave_efromdup=Podstawienie dla adresu '$1' ju¿ jest zdefiniowane
vsave_edom='$1' nie jest prawid³ow± nazw± domeny
vsave_edomdup=Podstawienie dla adresu '$1' ju¿ jest zdefiniowane
vsave_ematch=Adres ¼ród³owy nie pasuje do '$1'
vsave_ecannot3=Nie masz uprawnieñ do modyfikacji podstawiania adresów
vsave_eaddr='$1' nie jest prawid³owym adresem
vsave_ecannot4=Nie masz uprawnieñ do tworzenia podstawieñ dla domen
vsave_edomdom=Jedynie domena mo¿e byæ podstawiona za inn± domenê
vsave_ecannot5=Nie masz uprawnieñ do tworzenia podstawieñ, które generuj± b³±d

mailers_title=Routing wed³ug domen
mailers_cannot=routing wed³ug domen
mailers_edirective=Twój plik konfiguracyjny Sendmaila nie zawiera czê¶ci niezbêdnej dla routingu wed³ug domen.
mailers_efile=Plik tekstowy $1, na podstawie którego jest tworzona baza danych routingu wed³ug domen $2 nie istnieje. Byæ mo¿e musisz zmieniæ <a href='$3'>konfiguracjê modu³u</a> aby korzysta³ z&nbsp;prawid³owej ¶cie¿ki.
mailers_desc1=Routing wed³ug domen zapewnia sposób na zdefiniowanie specyficznego sposobu przekazywania poczty dla poszczególnych domen. Mo¿e to byæ u¿yteczne w&nbsp;przypadku, gdy twój system stanowi bramê do serwerów pocztowych, które s± nieosi±galne spoza twojej sieci lub je¶li chcesz wymusiæ, aby ca³a poczta skierowana do pewnych domen przechodzi³a przez pewien inny serwer.
mailers_desc2=<b>Nie</b> powiniene¶ mieæ wpisu na li¶cie <a href='$1'>domen lokalnych</a> dla ¿adnej z&nbsp;domen do których routujesz. Jednak¿e, powiniene¶ mieæ rekord MX w&nbsp;DNS wskazuj±cy na twój system dla ka¿dej domeny, dla której jest on bram±.
mailers_for=Poczta dla..
mailers_delivery=Dorêczanie
mailers_to=Wy¶lij do..
mailers_return=listy routingu wed³ug domen

mform_edit=Popraw routing
mform_create=Utwórz routing
mform_for=Poczta dla
mform_host=Komputer
mform_domain=Domena
mform_delivery=Dorêczanie
mform_to=Wy¶lij do
mform_ignore=Ignoruj MX przy dorêczaniu SMTP
mform_smtp=SMTP
mform_esmtp=Rozszerzony SMTP
mform_smtp8=8-bitowy SMTP
mform_relay=Komputer po¶rednicz±cy SMTP
mform_local=U¿ytkownik lokalny
mform_prog=Przeka¿ do programu
mform_uucp=UUCP
mform_usenet=Wy¶lij do USENET-u
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=B³±d
mform_ecannot=Nie masz uprawnieñ do modyfikacji routingu wed³ug domen

msave_ecannot=Nie masz uprawnieñ do modyfikacji routingu wed³ug domen
msave_err=Nie uda³o siê zachowaæ routingu wed³ug domen
msave_edomain='$1' nie jest prawid³ow± nazw± komputera ani domeny
msave_edup=Routing dla domeny '$1' jest ju¿ zdefiniowany

generics_title=Adresy wychodz±ce
generics_cannot=Nie masz uprawnieñ do modyfikacji adresów wychodz±cych
generics_econfig=Twój plik konfiguracyjny Sendmaila nie zawiera czê¶ci niezbêdnej dla podstawiania adresów wychodz±cych.
generics_efile=Plik tekstowy $1, na podstawie którego jest tworzona baza danych adresów wychodz±cych $2 nie istnieje. Byæ mo¿e musisz zmieniæ <a href='$3'>konfiguracjê modu³u</a> aby korzysta³ z&nbsp;prawid³owej ¶cie¿ki.
generics_desc1=Podstawianie adresów wychodz±cych pozwala na modyfikacjê adresu ¼ród³owego (<tt>From:</tt>) poczty wys³anej spoza twojego systemu lub przekazywanej poprzez przez inne komputery w&nbsp;twojej lokalnej sieci. Moze ono byæ u¿yteczne je¶li obs³ugujesz wiele domen w&nbsp;tym systemie i&nbsp;chcesz, aby poczta pochodz±ca od pewnych u¿ytkowników wygl±da³a jak pochodz±ca z&nbsp;innej domeny.
generics_desc2=Zauwa¿, ¿e musisz mieæ wpis w&nbsp;tabeli <a href='$1'>domen wychodz±cych</a> dla kazdej domeny, dla adresów z&nbsp;której chcesz dokonaæ podstawienia adresu wychodz±cego. Zauwa¿, ¿e podstawianie adresów wychodz±cych nie dzia³a dla poczty dorêczanej lokalnym u¿ytkownikom.
generics_from=Poczta z..
generics_to=Zmieñ na..
generics_return=listy podstawieñ adresów

gform_edit=Zmieñ podstawienie
gform_create=Nowe podstawienie
gform_from=Poczta z
gform_to=Zmieñ na
gform_ecannot=Nie masz uprawnieñ do zmiany tego adresu wychodz±cego

gsave_ecannot=Nie masz uprawnieñ do modyfikacji adresów wychodz±cych
gsave_ecannot2=Nie masz uprawnieñ do zmiany tego adresu wychodz±cego
gsave_err=Nie uda³o sie zachowaæ adresów wychodz±cych
gsave_efrom='$1' nie jest prawid³owym adresem ¼ród³owym
gsave_ematch=Adres ¿ród³owy nie pasuje do '$1'
gsave_eto='$1' nie jest prawid³owym nowym adresem

cgs_title=Domeny wychodz±ce
cgs_ecannot=Nie masz uprawnieñ do modyfikacji domen wychodz±cych
cgs_header=Adresy domen wychodz±cych
cgs_desc=Pomin±wszy pocztê wys³an± przez lokalnych u¿ytkowników, Sendmail bêdzie stosowa³ podstawianie <a href='$1'>adresów wychodz±cych</a> wy³±cznie do poczty pochodz±cej z komputerów lub domen wymienionych w okienku po prawej. Zatem, aby adres wychodz±cy dzia³a³, domena ¼ród³owa (<tt>From:</tt>) musi byæ wymieniona na tej li¶cie.
cgs_err=Nie uda³o sie zachowaæ domen wychodz±cych
cgs_ehost='$1' nie jest prawid³ow± nazw± komputera ani domeny
cgs_eip='$1' jest adresem IP, a&nbsp;nie nazw± domeny

domains_title=Podstawianie domen
domains_ecannot=Nie masz uprawnieñ do modyfikacji podstawiania domen
domains_econfig=Twój plik konfiguracyjny Sendmaila nie zawiera czê¶ci niezbêdnej dla podstawiania domen.
domains_efile=Plik tekstowy $1, na podstawie którego jest tworzona baza danych podstawiania adresów $2 nie istnieje. Byæ mo¿e musisz zmieniæ <a href='$3'>konfiguracjê modu³u</a> aby korzysta³ z&nbsp;prawid³owej ¶cie¿ki.
domains_desc=Podstawianie domen zmienia adres docelowy (<tt>To:</tt>) wiadomo¶ci wysy³anych, przekazywanych lub dorêczanych u¿ytkownikom twojego systemu. Zmieniany jest równie¿ adres ¿ród³owy (<tt>From:</tt>) wiadomo¶ci przekazywanych lub przeznaczonych dla u¿ytkowników lokalnych. Mo¿e to byæ u¿yteczne, je¿eli nazwa twojej domeny ulaga zmianie a&nbsp;ty chcesz zmieniæ star± nazwê domeny na now± we wszystkich miejscach, gdzie ona wystêpuje.
domains_from=Z domeny..
domains_to=Do domeny..
domains_return=listy podstawieñ domen

dform_edit=Zmieñ podstawienie
dform_create=Nowe podstawienie
dform_from=Z domeny
dform_to=Do domeny
dform_ecannot=Nie masz uprawnieñ do modyfikacji podstawiania domen

dsave_ecannot=Nie masz uprawnieñ do modyfikacji podstawiania domen
dsave_err=Nie uda³o siê zachowaæ podstawieñ domen
dsave_edomain='$1' nie jest prawid³ow± nazw± domeny

access_title=Kontrola spamu
access_ecannot=Nie masz uprawnieñ do konfigurowania kontroli spamu
access_econfig=Twój plik konfiguracyjny Sendmaila nie zawiera czê¶ci niezbêdnej dla kontroli spamu.
access_efile=Plik tekstowy $1, na podstawie którego jest tworzona baza danych kontroli spamu $2 nie istnieje. Byæ mo¿e musisz zmieniæ <a href='$3'>konfiguracjê modu³u</a> aby korzysta³ z&nbsp;prawid³owej ¶cie¿ki.
access_desc1=Wbudowane w&nbsp;Sendmaila funkcje kontroli spamu umo¿liwiaj± ci zapobie¿enie dorêczaniu spamu twoim u¿ytkownikom poprzez odrzucenie poczty pochodz±cej z&nbsp;pewnych adresów oraz uniemo¿liwienie spamerom korzystania z&nbsp;twojego systemu w&nbsp;celu rozsy³ania poczty. Domy¶lnie, Sendmail przyjmuje pocztê do u¿ytkowników lokalnych z&nbsp;dowolnego adresu ale uniemo¿liwia po¶redniczenie w&nbsp;przesy³aniu poczty pochodz±cej z&nbsp;dowolnej stacji klienckiej czy serwera pocztowego. W&nbsp;typowej konfiguracji powiniene¶ dodaæ regu³y kontroli spamu odrzucaj±ce pocztê od spamerów oraz regu³y pozwalaj±ce na przekazywanie poczty pochodz±cej z&nbsp;innych komputerów w&nbsp;twojej sieci.
access_desc2=Zauwa¿, ¿e domy¶lnie Sendmail pozwoli klientom poczty dzia³aj±cym bezpo¶rednio na twoim systemie na przesy³anie poczty przy u¿yciu protoko³u SMTP w&nbsp;dowolnym kierunku. Wobec tego nie ma potrzeby dodawaæ sieci lokalnej <tt>127.0.0</tt> do listy tych, od których poczta bêdzie przekazywana.
access_source=¬ród³o..
access_action=Akcja..
access_return=listy regu³ kontroli spamu

sform_edit=Popraw regu³ê
sform_create=Utwórz regu³ê
sform_source=¬ród³o poczty
sform_type0=Adres pocztowy
sform_type1=Sieæ
sform_type2=U¿ytkownik
sform_type3=Domena
sform_action=Akcja
sform_ok=Przyjmij
sform_relay=Zezwól na przekazywanie
sform_reject=Odrzuæ
sform_discard=Zignoruj milcz±co
sform_err=Kod b³êdu
sform_msg=Komunikat
sform_ecannot=Nie masz uprawnieñ do konfigurowania kontroli spamu

ssave_ecannot=Nie masz uprawnieñ do konfigurowania kontroli spamu
ssave_err=Nie uda³o siê zachowaæ regu³y kontroli spamu
ssave_etype0='$1' nie jest prawid³owym adresem
ssave_etype1='$1' nie jest prawid³owym adresem sieci
ssave_etype2='$1' nie jest prawid³ow± nazw± u¿ytkownika
ssave_etype3='$1' nie jest prawid³ow± nazw± domeny
ssave_ecode='$1' nie jest prawid³owym kodem b³êdu SMTP

relay_title=Przekazywanie poczty
relay_ecannot=Nie masz uprawnieñ do zmiany konfiguracji przekazywania poczty
relay_eversion=Jedynie Sendmail w&nbsp;wersji 8.9 i&nbsp;wy¿szej posiadaj± kontrolê przekazywania poczty
relay_domains=Przekazywanie poczty mo¿liwe do domen
relay_desc1=Je¶li nie pozwolisz inaczej w&nbsp;<a href='$1'>kontroli spamu</a>, Sendmail umo¿liwi przekazywanie poczty jedynie do domen wymienionych w&nbsp;okienku po lewej. Poczta przychodz±ca nie przeznaczona dla lokalnych u¿ytkowników ani do wymienionych domen bêdzie odrzucana.
relay_desc2=Je¶li twój system jest bramk± dla pewnych domen, które nie s± bezpo¶rednio dostêpne z&nbsp;sieci zewnêtrznej (przy u¿yciu <a href='$1'>routingu wed³ug domen</a>), wówczas wszystkie te domeny powinny byæ tu wymienione.
relay_err=Nie uda³o siê zachowaæ konfiguracji przekazywania poczty
relay_edomain='$1' nie jest prawid³ow± nazw± domeny

mailq_title=Kolejka poczty
mailq_ecannot=Nie masz uprawnieñ do przeghl±dania kolejki poczty
mailq_id=Nr ID wiadomo¶ci
mailq_sent=Wys³ana
mailq_from=Od
mailq_to=Do
mailq_size=Rozmiar
mailq_status=Status
mailq_unknown=Nieznany
mailq_sending=Wysy³anie
mailq_dmsg=Aby obejrzeæ wiadomo¶æ z&nbsp;kolejki, naci¶nij na jej nr ID na li¶cie powy¿ej
mailq_force=Aby wymusiæ natychmiastowe dorêczenie wiadomo¶ci z&nbsp;kolejki, <a href='$1'>naci¶nij tutaj</a>.
mailq_none=Brak wiadomo¶ci w&nbsp;kolejce
mailq_delete=Kasuj wybrane wiadomo¶ci
mailq_return=kolejki poczty

flushq_title=Opró¿nij kolejkê
flushq_desc=Wymuszenie próby dorêczenia poczty poleceniem $1 ..

delq_err=Nie uda³o sie skasowaæ wiadomo¶ci
delq_ecannot=Nie masz uprawnieñ do usuwania wiadomo¶ci z&nbsp;kolejki
delq_locked=Plik jest obecnie zablokowany ze wzglêdu na wysy³anie
delq_enone=Nie wybrano wiadomo¶ci do skasowania
delq_title=Kasowanie wiadomo¶ci
delq_file=Kasowanie pliku poczty $1 ..
delq_efile=niew³a¶ciwa nazwa pliku!
delq_egone=ju¿ skasowane lub dorêczone
delq_elocked=zablokowane ze wzglêdu na wysy³anie
delq_ok=skasowane pomy¶lnie

boxes_title=Skrzynki pocztowe
boxes_user=U¿ytkownik
boxes_size=Rozmiar skrzynki
boxes_none=Brak poczty
boxes_return=listy skrzynek pocztowych
boxes_sent=Poczta wys³ana
boxes_ecannot=Nie masz uprawnieñ do czytania poczty

mail_title=Poczta u¿ytkownika
mail_from=Od
mail_date=Wys³ano
mail_subject=Temat
mail_to=Do
mail_cc=DW
mail_bcc=UDW
mail_pri=Priorytet
mail_highest=Najwy¿szy
mail_high=Wysoki
mail_normal=Zwyk³y
mail_low=Niski
mail_lowest=Najni¿szy
mail_for=W $1
mail_for2=Dla u¿ytkownika $1
mail_sent=Na li¶cie poczty wys³anej
mail_size=Rozmiar
mail_delete=Skasuj wybrane wiadomo¶ci
mail_compose=Utwórz now± wiadomo¶æ
mail_return=skrzynki u¿ytkownika
mail_pos=Wiadomo¶ci od $1 do $2 z $3
mail_none=Brak wiadomo¶ci w&nbsp;tej skrzynce
mail_ecannot=Nie masz uprawnieñ do czytania poczty tego u¿ytkownika
mail_all=Wybierz wszystko
mail_invert=Odwróæ zaznaczenia
mail_search=Znajd¼ wiadomo¶ci, w&nbsp;których
mail_body=Tre¶æ
mail_match=zawiera
mail_ok=Szukaj
mail_nonefrom=Brak
mail_mark=Zaznacz wybrane jako:
mail_mark0=Nie przeczytane
mail_mark1=Przeczytane
mail_mark2=Specjalne

view_title=Czytaj pocztê
view_desc=Wiadomo¶æ $1 w&nbsp;$2
view_desc2=Wiadomo¶æ $1 dla u¿ytkownika $2
view_desc3=Wiadomo¶æ $1
view_sent=Wiadomo¶æ $1 na li¶cie poczty wys³anej
view_qdesc=Wiadomo¶æ w&nbsp;kolejce $1
view_headers=Nag³ówki wiadomo¶ci
view_attach=Za³±czniki
view_reply=Odpowiedz
view_reply2=Odpowiedz wszystkim
view_enew=Edytuj jako now±
view_forward=Przeka¿ dalej
view_delete=Skasuj
view_strip=Usuñ za³±czniki
view_ecannot=Nie masz uprawnieñ do czytania poczty tego u¿ytkownika
view_mark=Zaznacz wiadomo¶æ jako:
view_mark0=Nie przeczytan±
view_mark1=Przeczytan±
view_mark2=Specjaln±
view_return=pierwotnego adresu e-mail

compose_title=Utwórz wiadomo¶æ
reply_title=Odpowiedz na wiadomo¶æ
forward_title=Przeka¿ dalej
reply_headers=Nag³ówki wiadomo¶ci
reply_attach=Przekazywane za³±czniki
reply_attach2=Za³±czniki
reply_send=Wy¶lij
reply_ecannot=Nie masz uprawnieñ do czytania poczty jako ten u¿ytkownik

send_err=Nie uda³o siê wys³aæ wiadomo¶ci
send_eto=Brak adresu docelowego
send_efrom=Brak adresu ¼ród³owego
send_title=Wiadomo¶æ wys³ana
send_ok=Wiadomo¶æ pomy¶lnie wys³ana do $1
send_ecannot=Nie masz uprawnieñ do wysy³ania poczty jako ten u¿ytkownik
send_esmtp=Polecenie SMTP $1 zakoñczy³o sie b³êdem : $2
send_efile=Plik za³±cznika $1 nie istnieje
send_eattach=£±czny rozmiar za³±czników nie mo¿e przekraczaæ $1 kB.
send_eperms=U¿ytkownik $1 nie ma uprawnieñ do czytania $2
send_eperms2=Nie masz uprawnieñ do wys³ania pliku $1

delete_ecannot=Nie masz uprawnieñ do kasowania poczty tego u¿ytkownika
delete_enone=Nie wybrano wiadomo¶ci do skasowania
delete_emnone=Nie wybrano wiadomo¶ci do zaznaczenia

search_title=Wyniki poszukiwania
search_ecannot=Nie masz uprawnieñ do przeszukiwania poczty tego u¿ytkownika
search_ematch=Musisz wprowadziæ poszukiwany tekst
search_none=Nie znaleziono ¿adnej wiadomo¶ci
search_results=Wiadomo¶ci zawieraj±ce "$1" ..

file_title=Zmieñ plik Sendmaila
file_desc=U¿yj pola tekstowego poni¿ej do rêcznej zmiany pliku Sendmaila $1.
file_undo=Cofnij zmiany
file_edit=Modyfikuj rêcznie $1
file_ealiases=Plik aliasów mo¿esz zmieniaæ jedynie gdy masz dostêp do wszystkich aliasów.
file_evirtusers=Plik podstawiania adresów mo¿esz zmieniaæ jedynie gdy masz dostêp do do wszystkich podstawieñ adresów.
file_emailers=Nie masz uprawnieñ do modyfikacji pliku routingu wed³ug domen.
file_egenerics=Plik adresów wychodz±cych mo¿esz zmieniaæ jedynie gdy masz dostêp do wszystkich adresów wychodz±cych.
file_edomains=Nie masz uprawnieñ do modyfikacji pliku podstawiania domen.
file_eaccess=Nie masz uprawnieñ do modyfikacji pliku kontroli spamu.
file_emode=Nieznany tryb!
file_err=Nie uda³o siê zmodyfikowaæ pliku

acl_opts=Mo¿e zmieniaæ konfiguracjê modu³u?
acl_cws=Mo¿e zmieniaæ domeny lokalne?
acl_masq=Mo¿e konfiguowaæ maskowanie domen?
acl_trusts=Mo¿e zmieniaæ zaufanych u¿ytkowników?
acl_cgs=Mo¿e zmieniaæ domeny wychodz±ce?
acl_relay=Mo¿e zmieniaæ przekazywanie z/do domen?
acl_mailers=Mo¿e konfigurowaæ routing wed³ug domen?
acl_access=Mo¿e konfigurowaæ kontrolê spamu?
acl_domains=Mo¿e konfigurowaæ podstawianie domen?
acl_stop=Mo¿e zatrzymywaæ i uruchamiaæ Sendmaila?
acl_mailq=Mo¿e zarz±dzaæ kolejk± poczty?
acl_viewdel=Przegl±d i usuwanie
acl_view=Tylko przegl±danie
acl_virtusers=Podstawienia adresów, które ten u¿ytkownik mo¿e zmieniaæ
acl_none=¯adne
acl_same=U¿ytkownika o&nbsp;tej samej nazwie
acl_all=Wszystkie
acl_matching=Wg wzorca
acl_vtypes=Rodzaje podstawieñ adresów, które u¿ytkownik mo¿e zmieniaæ
acl_vtype0=Generacja b³êdu
acl_vtype1=Dla domeny
acl_vtype2=Dla adresu
acl_vmax=Maksymalna ilo¶æ podstawieñ adresów
acl_unlimited=Bez ograniczeñ
acl_aliases=Aliasy, które ten u¿ytkownik mo¿e zmieniaæ
acl_atypes=Typy aliasów, które ten u¿ytkownik mo¿e zmieniaæ
acl_atype1=Adres e-mail
acl_atype2=Adresy z pliku
acl_atype3=Zapisz do pliku
acl_atype4=Przekieruj do programu
acl_atype5=Automatyczna odpowied¼
acl_atype6=Plik filtru
acl_amax=Maksymalna liczba aliasów
acl_outgoing=Adresy wychodz±ce, które ten u¿ytkownik mo¿e zmieniaæ
acl_read=U¿ytkownicy, których poczta mo¿e byæ czytana
acl_users=Tylko u¿ytkownicy
acl_userse=Oprócz u¿ytkowników
acl_usersg=Cz³onkowie grupy 
acl_from=Dozwolone adresy ¼ród³owe
acl_any=Dowolny adres
acl_fdoms=Skrzynka @ domeny
acl_faddrs=Wymienione adresy
acl_fdom=Dowolny adres @ domena
acl_fromname=Rzeczywista nazwa dla adresu ¼ród³owego
acl_apath=Ograniczyæ pliki i&npsp;programy do umieszczonych w&npsp;katalogu
acl_attach=Maksymalny ³±czny rozmiar za³±czników
acl_sent=Przechowywaæ wys³an± pocztê w&nbsp;skrzynce
acl_canattach=Mo¿e do³±czaæ pliki z&nbsp;serwera?
acl_boxname=Poka¿ nazwê skrzynki pocztowej jako
acl_boxname0=Nazwê pliku
acl_boxname1=Rzeczywist± nazwê u¿ytkownika
acl_boxname2=Bez nazwy

log_opts=Zmieniono opcje Sendmaila
log_alias_create=Utworzono alias $1
log_alias_modify=Zmieniono alias $1
log_alias_delete=Usuniêto alias $1
log_alias_manual=Rêcznie zmodyfikowano plik aliasów $1
log_cws=Zmieniono domeny lokalne
log_masq=Zmieniono maskowanie domen
log_trusts=Zmieniono zaufanych u¿ytkowników
log_virtuser_create=Utworzono podstawienie dla adresu $1
log_virtuser_modify=Zmieniono podstawienie dla adresu $1
log_virtuser_delete=Usuniêto podstawienie dla adresu $1
log_virtuser_manual=Rêcznie zmodyfikowano plik podstawieñ adresów $1
log_mailer_create=Utworzono routing dla domeny $1
log_mailer_modify=Zmieniono routing dla domeny $1
log_mailer_delete=Usuniêto routing dla domeny $1
log_mailer_manual=Rêcznie zmodyfikowano plik routingu wg domen $1
log_generic_create=Utworzono adres wychodz±cy $1
log_generic_modify=Zmieniono adres wychodz±cy $1
log_generic_delete=Usuniêto adres wychodz±cy $1
log_generic_manual=Rêcznie zmodyfikowano plik adresów wychodz±cych $1
log_cgs=Zmieniono domeny wychodz±ce
log_domain_create=Utworzono podstawienie dla domeny $1
log_domain_modify=Zmieniono podstawienie dla domeny $1
log_domain_delete=Usuniêto podstawienie dla domeny $1
log_domain_manual=Rêcznie zmodyfikowano plik podstawieñ dla domen $1
log_access_create=Utworzono regu³ê kontroli spamu dla $1
log_access_modify=Zmieniono regu³ê kontroli spamu dla $1
log_access_delete=Usuniêto regu³ê kontroli spamu dla $1
log_access_manual=Rêcznie zmodyfikowano plik kontroli spamu $1
log_relay=Zmieniono przekazywanie poczty wg domen
log_flushq=Opró¿niono kolejkê poczty
log_delmailq=Usuniêto wiadomo¶æ $1 z&nbsp;kolejki
log_delmailqs=Usuniêto $1 wiadomo¶ci z&nbsp;kolejki
log_stop=Zatrzymano serwer Sendmaila
log_start=Uruchomiono serwer Sendmaila
log_delmail=Usuniêto $1 wiadomo¶ci z&nbsp;$2
log_send=Wys³ano wiadomo¶æ do $1

match_from=From: pasuje
match_subject=Subject: pasuje
match_to=To: pasuje
match_cc=Cc: pasuje
match_date=Date: pasuje
match_body=Tre¶æ pasuje
match_size=Rozmiar jest wiêkszy ni¿
 07070100028761000081a40000000000000002000000013d1fe2d3000051d2000000200000000000000000000000000000001700000003reloc/sendmail/lang/pt    index_title=Configuração do Sendmail
index_econfig=O ficheiro de configuração do sendmail $1 não existe. Talvez a <a href='$2'>configuração do módulo</a> esteja incorreta.
index_eversion=O ficheiro de configuração do sendmail não aparenta pertencer à ultima versão do sendmail. O Webmin apenas suporta a versão 8.8 ou superior.
index_return=configuração do sendmail
index_stop=Parar o Sendmail
index_stopmsg=Clique neste botão para parar o processo em curso do sendmail. Desta forma, não poderá ser distribuido correio de utilizadores locais para outros sistemas, além de impossibilitar o uso deste sistema como servidor de correio.
index_start=Iniciar o Sendmail
index_startmsg=Clique neste botão para iniciar o Sendmail com o comando $1. Até que isto seja feito, o correio não poderá ser distribuido de utilizadores locais para outros sistemas, além de não se poder usar este sistema como um servidor de correio.

opts_title=Opções do Sendmail
opts_ecannot=Você não está autorizado para editar as opções do sendmail
opts_ds=Enviar correio de saída via anfitrião
opts_direct=Distribuir directamente
opts_dr=Remeter nomes de utilizadores não qualificados para o anfitrião
opts_dh=Remeter correio para utilizadores locais para o anfitrião
opts_local=Entregar localmente
opts_queuela=Média de carga máxima para enviar
opts_refusela=Média de carga máxima para receber
opts_maxch=Número máximo de processos filhos
opts_throttle=Ligações máximas / segundo
opts_minqueueage=Tempo mínimo antes de voltar a tentar enviar
opts_runsize=Tamanho máximo da fila
opts_queuereturn=Tempo antes de desistir
opts_queuewarn=Tempo antes de enviar aviso
opts_queue=Directório de fila de correio
opts_postmaster=Enviar mensagens de erro para
opts_forward=Ficheiros de redirecionamento de utilizador
opts_minfree=Espaço mínimo livre em disco
opts_maxmessage=Tamanho máximo da mensagem
opts_loglevel=Nível de historial
opts_mimebounce=Colocar codificação-MIME nas mensagens?
opts_default=Predefinido
opts_save=Guardar e Aplicar
opts_err=Erro ao guardar opções
opts_ehost='$1' não é um anfitrião ou nome de domínio válido
opts_einvalid='$1' não é um valor válido para '$2'
opts_blocks=blocks
opts_bytes=bytes

aliases_title=Aliases de Correio
aliases_ecannot=Você não está autorizado para editar aliases
aliases_addr=Enderesso
aliases_to=Alias para..
aliases_type1=Endereço $1
aliases_type2=Endereços no ficheiro $1
aliases_type3=Ficheiro $1
aliases_type4=Programa $1
aliases_none=Nenhuma
aliases_return=lista de aliases

aform_type0=Nenhuma
aform_type1=Endereço de email
aform_type2=Endereços no ficheiro
aform_type3=Escrever para o ficheiro
aform_type4=Alimentar programa
aform_edit=Editar Alias
aform_create=Criar Alias
aform_name=Endereço
aform_enabled=Activado?
aform_val=Alias para

asave_err=Erro ao guardar alias
asave_ecannot2=Você não está autorizado para editar aliases
asave_ecannot=Você não está autorizado para editar esta alias
asave_emax=Você não está autorizado para criar mais do que $1 aliases
asave_eaddr='$1' não é um endereço válido
asave_ealready=Já existe uma alias para '$1'
asave_ematch=Você apenas está autorizado para criar aliases que coincidam com '$1'
asave_etype=Você não pode criar aliases deste tipo
asave_etype1='$1' não é um endereço de e-mail válido
asave_etype2=O ficheiro de endereços $1 não existe
asave_etype3='$1' não é um nome de ficheiro válido
asave_etype4='$1' não é um programa ou não existe
asave_etype4none=Não foi fornecido programa algum

cws_title=Domínios Locais
cws_ecannot=Você não está autorizado para editar domínios locais
cws_domains=Domínios manejados por este servidor
cws_desc1=Fora o correio para $1, o sendmail irá apenas aceitar para entrega local correio para os domínios e nomes de anfitriões listados na caixa de texto da esquerda. Se você desejar que o seu servidor de correio maneje multiplos domínios de email, eles terão de estar listados neste formulário.
cws_desc2=Note que o facto de apenas incluir um domínio na lista não é geralmente o suficiente. Terá de ter a certeza que um registo de DNS para o domínio exista, e esteja apontado para o seu sistema.
cws_err=Erro ao guardar domínios locais
cws_ehost='$1' não é um anfitrião ou nome de domínio válido
cws_eip='$1' é um endereço IP, não um domínio

masq_title=Domain Masquerading
masq_ecannot=You are not allowed to configure masquerading
masq_domain=Mascarar como domínio
masq_domains=Domínios para serem mascarados
masq_desc1=Se introduzir um domínio em cima, o sendmail irá alterar os endereços <tt>De (From)</tt> de forma a que todas as mensagens saídas aparentem vir desse domínio. Além disso, qualquer mensagem de email que passe pelo seu sistema de um dos anfitriões ou domínios listados à esquerda terão também os seus endereços <tt>De (From)</tt> modificados de igual forma. Note que qualquer máscara de domínio definida aqui pode ser ultrapassada para utilizadores específicos usando a página de <a href='$1'>Endereços de Saída</a>.
masq_desc2=Esta característica pode ser útil se você desejar que o email do seu sistema aparente vir do nome do seu domínio em vez do nome do seu anfitrião, ou se o seu sistema é o hub de correio para outros anfitriões correndo os seus servidores de correio.
masq_err=Failed to save domain masquerading
masq_edomain='$1' não é um domínio a mascarar válido
masq_ehost='$1' não é um anfitrião ou nome de domínio válido
masq_eip='$1' é um endereço IP, não um domínio

trusts_title=Utilizadores de Confiança
trusts_ecannot=Você não está autorizado para editar utilizadores de confiança
trusts_users=Utilizadores locais em que o sendmail confia
trusts_desc=Se um utilizador local tentar enviar email, o sendmail apenas permitirá que o utilizador ministre um endereço <tt>De: (From:)</tt> diferente se o utilizador estiver na lista da esquerda. Esta restrição existe para prevenir que utilizadores forgem o email com endereços <tt>De: (From:)</tt> falsos com origem no seu servidor.
trusts_err=Erro ao guardar utilizadores de confiança
trusts_euser='$1' não é um utilizador válido

virtusers_title=Mapeamento de Endereços
virtusers_ecannot=Você não está autorizado para editar mapeamento de endereços
virtusers_edirective=O ficheiro de configuração do sendmail não contém a directiva necessária para mapeamento de endereços.
virtusers_efile=O ficheiro de texto $1 do qual a base de dados de mapeamento de endereços $2 é construída não existe. Talvez você necessite de modificar a <a href='$3'>configuração do módulo</a> para usar o caminho correcto.
virtusers_desc1=Os mapeamentos de endereços são similares às <a href='$1'>aliases</a>, mas são mais adequados para um sistema que trabalha com domínios de correio multiplos. Os mapeamentos podem ser usados para redirecionar correio para um domínio completo a um só endereço, suportar utilizadores com o mesmo nome em diferentes domínio ou mapear todo o correio de um domínio para outro.
virtusers_desc2=Note que você tem que ter um entrada na tabela de <a href='$1'>domínios locais</a> para quaisquer domínios usados para mapeamento de endereços, e deve existir um registo MX (Mail eXchange) do DNS para cada domínio apontado para o seu sistema.
virtusers_for=Correio para..
virtusers_to=Enviar para..
virtusers_error=Erro $1
virtusers_domain=Domínio $1
virtusers_address=Endereço $1
virtusers_return=lista de mapeamento de endereços

vform_edit=Editar Mapeamento
vform_create=Criar Mapeamento
vform_for=Correio para
vform_address=Endereço
vform_domain=Domínio
vform_to=Enviar para
vform_error=Devolver erro
vform_ecannot=Você não está autorizado para editar este mapeamento de endereços

vsave_ecannot=Você não está autorizado para editar mapeamentos de endereços
vsave_ecannot2=Você não está autorizado para editar este mapeamento de endereços
vsave_emax=Você não está autorizado para criar mais do que $1 mapeamentos de endereços
vsave_err=Erro ao guardar mapeamento de endereços
vsave_efrom='$1' não é um endereço válido
vsave_efromdup=Já está definido um mapeamento de endereços para '$1'
vsave_edom='$1' não é um domínio válido
vsave_edomdup=Já está definido um mapeamento de endereços para '$1'
vsave_ematch=O endereço de origem não coincide com '$1'
vsave_ecannot3=Você não está autorizado para criar mapeamentos para endereços
vsave_eaddr='$1' não é um endereço válido
vsave_ecannot4=Você não está autorizado para criar mapeamentos para domínios
vsave_edomdom=Apenas um domínio pode ser mapeado para outro domínio
vsave_ecannot5=Você não está autorizado para criar mapeamentos que devolvam um erro

mailers_title=Routing de Domínios
mailers_cannot=Você não está autorizado para editar routing de domínios
mailers_edirective=O ficheiro de configuração do sendmail não contém a directiva necessária para routing de domínios.
mailers_efile=O ficheiro de texto $1 do qual a base de dados de routing de domínios $2 é construída não existe. Talvez você necessite de modificar a <a href='$3'>configuração do módulo</a> para usar o caminho correcto.
mailers_desc1=O routing de domínios proporciona a definição de um método de transferência especial de envio de correio para certos domínios.Isto pode ser útil se o seu sistema é um gateway para servidores que não são alcançados de fora da sua rede, ou se você quiser forçar que todo o correio para um domínio em particular seja expedido por outro servidor.
mailers_desc2=Você <b>não</b> deve ter uma entrada na lista de <a href='$1'>domínios locais</a> para quaisquer domínios em routing. De qualquer forma, você deverá ter um registo MX do DNS apontando para o seu sistema qualquer domínio que seja um gateway para ele.
mailers_for=Correio para..
mailers_delivery=Entrega
mailers_to=Enviar para..
mailers_return=lista de routing de domínios

mform_edit=Editar Routing
mform_create=Criar Routing
mform_for=Correio para
mform_host=Anfitrião
mform_domain=Domínio
mform_delivery=Entrega
mform_to=Enviar para
mform_ignore=Ignorar MX para entrega SMTP
mform_smtp=SMTP
mform_esmtp=SMTP extendido
mform_smtp8=SMTP de 8-bit
mform_relay=SMTP relay
mform_local=Utilizador local
mform_prog=Alimentar programa
mform_uucp=UUCp
mform_usenet=Correio para USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Erro
mform_ecannot=Você não está autorizado para editar routing de domínios

msave_ecannot=Você não está autorizado para guardar routing de domínios
msave_err=Erro ao guardar routing de domínios
msave_edomain='$1' não é um anfitrião ou domínio válido
msave_edup=Já está definido um routing de domínio para '$1'

generics_title=Endereços de Saída
generics_cannot=Você não está autorizado para editar endereços de saída
generics_econfig=O ficheiro de configuração do sendmail não contém a directiva necessária para endereços de saída.
generics_efile=O ficheiro de texto $1 do qual a base de dados de endereços de saída $2 é construída não existe. Talvez você necessite de modificar a <a href='$3'>configuração do módulo</a> para usar o caminho correcto.
generics_desc1=O mapeamento de endereços de saída permite-lhe modificar os endereços <tt>De: (From:)</tt> do correio que sai do seu sistema ou através do seu sistema por outros anfitriões na sua rede local. Isto pode ser útil se você está a alojar múltiplos domínios no seu sistema e que o correio de alguns utilizadores aparentem vir de um domínio diferente.
generics_desc2=Note que você tem que ter uma entrada na tabela de <a href='$1'>domínios de saída</a> para cada domínio em que há endereços que você queira mapear. Tenha em conta também que o mapeamento de endereços de saída não funciona para correio que seja entregue para utilizadores locais.
generics_from=Correio de..
generics_to=Alterar para..
generics_return=lista de mapeamento de endereços

gform_edit=Editar Mapeamento
gform_create=Criar Mapeamento
gform_from=Correio de
gform_to=Alterar para
gform_ecannot=Você não está autorizado para editar este endereço de saída

gsave_ecannot=Você não está autorizado para editar endereços de saída
gsave_ecannot2=Você não está autorizado para editar este endereço de saída
gsave_err=Erro ao guardar endereço de saída
gsave_efrom='$1' não é um endereço 'de' (from) válido
gsave_ematch=O endereço 'de' (from) não coincide com '$1'
gsave_eto='$1' não é um novo enedereço válido

cgs_title=Domínio de Saída
cgs_ecannot=Você não está autorizado para editar domínios de saída
cgs_header=Domínios de endereços de saída
cgs_desc=Fora o correio enviado por utilizadores locais, o sendmail apenas realizará o mapeamento de <a href='$1'>endereços de saída</a> para correio de anfitriões ou domínios listados na caixa de texto da direita. Assim, para que uma entrada de endereço de saída funcione, o domínio presente no endereço 'de' (from) tem de estar incluído nesta lista.
cgs_err=Erro ao guardar domínios de saída
cgs_ehost='$1' não é um nome de anfitrião ou de domínio válido
cgs_eip='$1' é um endereço IP, não um domínio

domains_title=Mapeamento de Domínio
domains_ecannot=Você não está autorizado para editar mapeamento de domínio
domains_econfig=O ficheiro de configuração do sendmail não contém a directiva necessária para mapeamento de domínio.
domains_efile=O ficheiro de texto $1 do qual a base de dados de mapeamento de endereços $2 é construída não existe. Talvez você necessite de modificar a <a href='$3'>configuração do módulo</a> para usar o caminho correcto.
domains_desc=O mapeamento de domínio modifica o endereço <tt>Para (To:)</tt> das mensagens enviadas de, passadas por relay ou entregues a utilizadores no seu sistema. Os endereços <tt>Para (From:)</tt> de mensagens passadas por relay ou para utilizadores locais também são mofificadas. Isto pode ser útil se o nome do seu domínio for alterado e quiser alterar todas as ocorrências do domínio antigo para o novo.
domains_from=Do domínio..
domains_to=Para o domínio..
domains_return=lista de mapeamento de domínios

dform_edit=Editar Mapeamento
dform_create=Criar Mapeamento
dform_from=Do domínio
dform_to=Para o domínio
dform_ecannot=Você não está autorizado para editar mapeamento de domínios

dsave_ecannot=Você não está autorizado para editar mapeamento de domínios
dsave_err=Erro ao guardar mapeamento de domínio
dsave_edomain='$1' não é um nome de domínio válido

access_title=Controle de Spam
access_ecannot=Você não está autorizado para configurar o controle de spam
access_econfig=O ficheiro de configuração do sendmail não contém a directiva necessária para controle de spam.
access_efile=O ficheiro de texto $1 do qual a base de dados de mapeamento de endereços $2 é construída não existe. Talvez você necessite de modificar a <a href='$3'>configuração do módulo</a> para usar o caminho correcto.
access_desc1=A característica de controle de spam do sendmail permite-lhe prevenir que o correio não desejado chegue aos seus utilizadores através da rejeição de correio de certos endereços e prevenir que spammers usem o seu sistema para enviar correio por relay. Por defeito, o sendmail aceitará correio de qualquer endereço para um utilizador local, mas previne que qualquer cliente ou servidor de correio envie correio por relay através do seu sistema. Em princípio você irá adicionar regras de controle de spam para rejeitar correio de spammers e regras para permitir que outras máquinas na sua rede que enviem correio por relay através do seu sistema.
access_desc2=Note que o sendmail permitirá, por defeito, que clientes de correio que correm no seu sistema enviem correio via SMTP para qualquer destino. Desta forma, não é necessário adicionar a rede local <tt>127.0.0</tt> à lista dos estão autorizados para enviar correio através do seu sistema.
access_source=Emissor..
access_action=Acção..
access_return=lista de controlo de spam

sform_edit=Editar Regra de Controlo de Spam
sform_create=Criar Regra de Controlo de Spam
sform_source=Fonte de correio
sform_type0=Endereço de Email
sform_type1=Rede
sform_type2=Utilizador
sform_type3=Domínio
sform_action=Acção
sform_ok=Aceitar
sform_relay=Permitir relaying
sform_reject=Rejeitar
sform_discard=Descartar silenciosamente
sform_err=Código de erro
sform_msg=Menssagem
sform_ecannot=Você não está autorizado para configurar o controlo de spam

ssave_ecannot=Você não está autorizado para configurar o controlo de spam
ssave_err=Erro ao guardar regra de controlo de spam
ssave_etype0='$1' não é um endereço válido
ssave_etype1='$1' não é um endereço de rede válido
ssave_etype2='$1' não é um nome de utilizador válido
ssave_etype3='$1' não é um domínio válido
ssave_ecode='$1' não é um código de erro SMTP válido

relay_title=Domínios de Relay
relay_ecannot=Você não está autorizado para editar domínios de relay
relay_eversion=Apenas as versões 8.9 ou superior do sendmail suportam a característica de domínios de relay.
relay_domains=Domínios autorizados a fazer relaying
relay_desc1=A não ser que seja permitido pelas regras do <a href='$1'>controlo de spam</a>, o sendmail permitirá apenas o relaying aos domínios listados na caixa de texto da esquerda. As mensagens de correio que chegam que não sejam para um utilizador local ou qualquer dos domínios listados, serão rejeitados.s
relay_desc2=If your system is serving as a gateway for several domains that are not directly accessible from outside your network (using the <a href='$1'>domain routing</a> feature), then all those domains should be listed here.
relay_domains=Domínios autorizados a fazer relaying
relay_err=Erro ao guardar domínios de relay
relay_edomain='$1' não é um nome de domínio válido

mailq_title=Lista de espera de correio
mailq_ecannot=Você não está autorizado para visualizar a lista de espera de correio
mailq_id=ID do Correio
mailq_sent=Enviado
mailq_from=De
mailq_to=Para
mailq_status=Estado
mailq_unknown=Desconhecido
mailq_sending=A Enviar
mailq_dmsg=Para ver uma mensagem da lista de correio, clique na sua ID na lista acima.
mailq_force=Para forçar a entrega imediato de correio em lista de espera, <a href='$1'>clique aqui</a>.
mailq_none=Não há mensagens de correio neste momento em lista de espera para entraga
mailq_return=lista de espera de correio

flushq_title=Limpar Lista de Espera de Correio
flushq_desc=A forçar a tentativa de entrega de correio com o comando $1 ..

delq_err=Erro ao remover mensagem
delq_ecannot=Você não está autorizado para retirar mensagens da lista de espera de correio
delq_locked=Neste momento está bloqueado para ser enviado

boxes_title=Caixas de Correio do Utilizador
boxes_user=Utilizador
boxes_size=Tamanho da caixa de correio
boxes_none=Sem correio
boxes_return=caixas de correio
boxes_ecannot=Você não está autorizado para ler email

mail_title=Email do Utilizador
mail_from=De
mail_date=Data
mail_subject=Assunto
mail_to=Para
mail_cc=Cc
mail_for=Em $1
mail_compose=Compor novo correio
mail_return=email do utilizador
mail_ecannot=Você não está autorizado para ler o correio deste utilizador

view_title=Ler Correio
view_desc=Mensagem $1 em $2
view_qdesc=Mensagem em lista de espera $1
view_headers=Cabaçalhos de correio
view_attach=Anexos
view_reply=Responder ao autor
view_reply2=Responder a todos
view_forward=Reenviar
view_delete=Apagar
view_ecannot=Você não está autorizado para ler o correio deste utilizador

compose_title=Compor Email
reply_title=Responder ao Email
forward_title=Reenviar Email
reply_headers=Cabeçalhos de Correio
reply_attach=Anexos Reenviados
reply_attach2=Anexos
reply_send=Enviar
reply_ecannot=Você não está autorizado para enviar correio como sendo este utilizador

send_err=Erro ao enviar correio
send_eto=Falta o endereço do destinatário
send_title=Correio enviado
send_ok=O correio foi enviado com sucesso para $1
send_ecannot=Você não está autorizado para enviar correio como sendo este utilizador

acl_opts=Pode editar opções de sendmail?
acl_cws=Pode editar domínios locais?
acl_masq=Pode configurar máscaras de domínios?
acl_trusts=Pode editar utilizadores de confiança?
acl_cgs=Pode editar domínios de saída?
acl_relay=Pode editar domínios de relay?
acl_mailers=Pode configurar routing de domínios?
acl_access=Pode configurar controlo de spam?
acl_domains=Pode configurar mapeamento de domínios?
acl_stop=Pode iniciar e parar o sendmail?
acl_mailq=Pode administrar lista de espera de correio?
acl_viewdel=Ver e apagar
acl_view=Ver apenas
acl_virtusers=Mapeamentos de endereços que este utilizador pode editar
acl_none=Nenhum
acl_all=Todos
acl_matching=Igual a
acl_vtypes=Tipos de mapeamentos de endereços que este utilizador pode editar
acl_vtype0=Devolver erro
acl_vtype1=Para o domínio
acl_vtype2=Para o endereço
acl_vmax=Numero máximo de mapeamentos de endereços
acl_unlimited=Ilimitado
acl_aliases=Aliases que este utilizador pode editar
acl_atypes=Tipos de aliases que este utilizador pode editar
acl_atype1=Endereço de email
acl_atype2=Endereços no ficheiro
acl_atype3=Escrever para o ficheiro
acl_atype4=Alimentar para o programa
acl_amax=Número máximo de aliases
acl_outgoing=Endereços de saída que este utilizador pode editar
acl_read=Utilizadores cujo correio pode ser lido
acl_users=Utilizadores
  07070100028763000081a40000000000000002000000013d1fe2d300004e37000000200000000000000000000000000000001a00000003reloc/sendmail/lang/ru_RU mform_smtp=SMTP
opts_minfree=Ìèí. ñâîáîäíîå äèñêîâîå ïðîñòðàíñòâî
access_return=ñïèñîê spam êîíòðîëÿ
vsave_edomdom=Òîëüêî äîìåí ìîæåò áûòü â ïîäñòàíîâêå äðóãîìó äîìåíó
cws_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà èëè äîìåíà
acl_unlimited=Íåîãðàíè÷åíî
mform_host=Õîñò
boxes_none=Íåò ïî÷òû
view_reply2=Îòâåòèòü âñåì
cws_title=Ëîêàëüíûå Äîìåíû
flushq_desc=Àêòèâèçàöèÿ ïîïûòêè äîñòàâêè ïî÷òû êîìàíäîé $1 ..
vform_domain=Äîìåí
domains_econfig=Âàø ôàéë êîíôèãóðàöèè sendmail íå èìååò íåîáõîäèìîé äèðåêòèâû äëÿ ïîäñòàíîâêè äîìåíîâ.
view_qdesc=Ñîîáùåíèå $1 â î÷åðåäè
mform_pop=POP3
mform_usenet=Ïîñëàòü â USENET
aliases_type1=Àäðåñó $1
aform_name=Àäðåñ
aliases_type2=Àäðåñàì â ôàéëå $1
aliases_type3=Ôàéëó $1
aliases_type4=Ïðîãðàììå $1
ssave_etype0='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
ssave_etype1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì ñåòè
ssave_etype2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ïîëüçîâàòåëÿ
ssave_etype3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì äîìåíîì
opts_direct=Ïðÿìàÿ äîñòàâêà
delq_locked=Çàáëîêèðîâàíî äëÿ îòñûëêè
mform_smtp8=8-áèò SMTP
acl_access=Ìîæåò ðåäàêòèðîâàòü spam êîíòðîëü?
dform_edit=Ðåäàêòèðîâàíèå Ïîäñòàíîâêè
mailq_sent=Ïîñëàòü
send_ecannot=Âàì íå ðàçðåøåíî îòñûëàòü ïî÷òó â êà÷åñòâå äàííîãî ïîëüçîâàòåëÿ
vsave_edomdup=Ïîäñòàíîâêà àäðåñà äëÿ '$1' óæå îïðåäåëåíà
sform_relay=Ðàçðåøèòü òðàíñëÿöèþ
mform_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ìàðøðóòèçàöèþ
acl_amax=Ìàêñèìàëüíîå ÷èñëî ïñåâäîíèìîâ
virtusers_to=Ïîñëàòü íà..
mailq_unknown=Íåèçâåñòíî
vsave_emax=Âàì íå ðàçðåøåíî ñîçäàâàòü áîëåå $1 àäðåñíûõ ïîäñòàíîâîê
cws_desc1=Êðîìå ïî÷òû äëÿ $1, sendmail äëÿ ëîêàëüíîé äîñòàâêè ïî÷òû áóäåò åø£ ïðèíèìàòü ñîîáùåíèÿ òîëüêî äëÿ äîìåíîâ è õîñòîâ ïåðå÷èñëåííûõ â òåêñòîâîì ïîëå ñëåâà. Åñëè âû õîòèòå, ÷òîáû âàø ïî÷òîâûé ñåðâåð îáðàáàòûâàë ìíîæåñòâî ïî÷òîâûõ äîìåíîâ, âñå îíè äîëæíû áûòü ïåðå÷èñëåíû â ýòîì ïîëå (÷/ç ïðîáåëû/ïåðåâîäû ñòðîêè).
cws_desc2=Çàìåòüòå, ÷òî ïðîñòîå óêàçàíèå äîìåíà â äàííîì ñïèñêå îáû÷íî íåäîñòàòî÷íî. Âû äîëæíû òàêæå áûòü óâåðåíû, ÷òî ñóùåñòâóåò DNS çàïèñü äëÿ äàííîãî äîìåíà  è îíà óêàçûâàåò íà âàøó ñèñòåìó.
opts_queuela=Ìàêñ. ñðåäíÿÿ çàãðóçêà äëÿ îòñûëêè
acl_read=Ïîëüçîâàòåëè, ÷üÿ ïî÷òà ìîæåò áûòü ïðî÷èòàíà
vform_address=Àäðåñ
mailq_title=Ïî÷òîâàÿ Î÷åðåäü
asave_err=Îøèáêà ñîõðàíåíèÿ ïñåâäîíèìà
mform_relay=SMTP òðàíñëÿòîð
opts_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
reply_send=Îòîñëàòü
sform_edit=Ðåäàêòèðîâàíèå Ïðàâèëà Spam Êîíòðîëÿ
reply_attach=Ïåðåñûëàåìûå âêëþ÷åíèÿ
msave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ìàðøðóòèçàöèþ
sform_action=Äåéñòâèå
mail_for=Â $1
cgs_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà èëè äîìåíà
trusts_users=Ëîêàëüíûå ïîëüçîâàòåëè,<br> êîòîðûì äîâåðÿåò sendmail
mailers_to=Ïîñëàòü íà..
mailq_id=ID ñîîáùåíèÿ
cgs_title=Èñõîäÿùèå Äîìåíû
send_ok=Ïî÷òà óñïåøíî îòïðàâëåíà äëÿ $1
access_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü spam êîíòðîëü
domains_return=ñïèñîê äîìåííûõ ïîäñòàíîâîê
generics_cannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü  èñõîäÿùèå  àäðåñà
delq_ecannot=Âàì íå ðàçðåøåíî óáèðàòü ñîîáùåíèÿ èç î÷åðåäè
domains_from=Èç äîìåíà..
msave_edup=Äîìåííàÿ ìàðøðóòèçàöèÿ äëÿ '$1' óæå îïðåäåëåíà
view_reply=Îòâåòèòü
trusts_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîâåðåííûõ ïîëüçîâàòåëåé
reply_headers=Ïî÷òîâûå çàãîëîâêè
ssave_err=Îøèáêà ïðè ñîõðàíåíèè ïðàâèëà spam êîíòðîëÿ
acl_vtype0=Âîçâðàò îøèáêè
acl_vtype1=Äëÿ äîìåíà
acl_vtype2=Äëÿ àäðåñà
acl_matching=Ñîâïàäàþùèå ñ
relay_title=Äîìåííàÿ Òðàíñëÿöèÿ
domains_desc=Äîìåííàÿ ïîäñòàíîâêà èçìåíÿåò <tt>To:</tt> àäðåñ ñîîáùåíèé îòñûëàåìûõ âîâíå, òðàíñëèðóåìûõ ÷åðåç èëè äîñòàâëÿåìûõ ïîëüçîâàòåëÿì âàøåé ñèñòåìû. <tt>From:</tt> àäðåñ òðàíñëèðóåìûõ ñîîáùåíèé èëè ñîîáùåíèé ëîêàëüíûì ïîëüçîâàòåëÿì òàêæå èçìåíÿåòñÿ. Ýòî ìîæåò áûòü ïîëåçíûì åñëè âàøå äîìåííîå èìÿ èçìåíèëîñü è âû õîòèòå èçìåíèòü âñå ïîïàäàþùèå ê âàì ñòàðûå èìåíà äîìåíà íà íîâûå.
mailq_to=Äëÿ
mform_delivery=Äîñòàâêà
acl_vtypes=Òèïû àäðåñíûõ ïîäñòàíîâîê, ðåäàêòèðóåìûå äàííûì ïîëüçîâàòåëåì
mform_local=Ëîêàëüíîãî ïîëüçîâàòåëÿ
generics_efile=Òåêñòîâûé ôàéë $1 èç êîòîðîãî ñòðîèòñÿ áàçà äàííûõ èñõîäÿùèõ àäðåñîâ $2 íå ñóùåñòâóåò. Âîçìîæíî âàì íåîáõîäèìî èçìåíèòü <a href='$3'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ óñòàíîâêè êîððåêòíîãî ïóòè.
index_stop=Îñòàíîâèòü Sendmail
mform_fax=HylaFAX
gform_edit=Ðåäàêòèðîâàíèå Ïîäñòàíîâîê
view_forward=Ïåðåñëàòü
sform_source=Ïî÷òîâûé èñòî÷íèê
relay_desc1=Åñëè íå ðàçðåøåíî â ïðàâèëàõ <a href='$1'>spam êîíòðîëÿ</a>, sendmail ïîçâîëèò îñóùåñòâëÿòü òðàíñëÿöèþ â äîìåíû ïåðå÷èñëåííûå â ïîëå ñëåâà. Âõîäÿùèå ïî÷òîâûå ñîîáùåíèÿ íå ïðåäíàçíà÷åííûå äëÿ ëîêàëüíîãî ïîëüçîâàòåëÿ èëè äëÿ îäíîãî èç ïåðå÷èñëåííûõ äîìåíîâ áóäóò îòáðîøåíû.
relay_desc2=Åñëè âàøà ñèñòåìà ôóíêöèîíèðóåò êàê øëþç äëÿ íåñêîëüêèõ äîìåíîâ, êîòîðûå íåäîñòóïíû íàïðÿìóþ èçâíå âàøåé ñåòè (èñïîëüçóÿ ôóíêöèþ <a href='$1'>äîìåííîé ìàðøðóòèçàöèè</a>), òîãäà âñå ýòè äîìåíû äîëæíû áûòü ïåðå÷èñëåíû çäåñü.
dsave_err=Îøèáêà ïðè ñîõðàíåíèè äîìåííîé ïîäñòàíîâêè
virtusers_efile=Òåêñòîâûé ôàéë $1 èç êîòîðîãî ñòðîèòñÿ áàçà äàííûõ ïîäñòàíîâêè àäðåñîâ $2 íå ñóùåñòâóåò. Âîçìîæíî âàì íåîáõîäèìî èçìåíèòü <a href='$3'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ óñòàíîâêè êîððåêòíîãî ïóòè.
mform_mail11=DECnet mail11
acl_view=Òîëüêî ïðîñìîòð
vform_to=Ïîñëàòü íà
domains_efile=Òåêñòîâûé ôàéë $1 èç êîòîðîãî ñòðîèòñÿ áàçà äàííûõ ïîäñòàíîâîê $2 íå ñóùåñòâóåò. Âîçìîæíî âàì íåîáõîäèìî èçìåíèòü <a href='$3'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ óñòàíîâêè êîððåêòíîãî ïóòè.
gsave_ecannot2=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ýòîò èñõîäÿùèé àäðåñ
opts_runsize=Ìàêñ. ðàçìåð î÷åðåäè
acl_all=Âñå
asave_etype=Âû íå ìîæåòå ñîçäàâàòü ïñåâäîíèìû äàííîãî òèïà
acl_masq=Ìîæåò êîíôèãóðèðîâàòü äîìåííóþ ìàñêèðîâêó?
ssave_ecode='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîäîì SMTP îøèáêè
acl_vmax=Ìàêñèìàëüíîå ÷èñëî àäðåñíûõ ïîäñòàíîâîê
access_efile=Òåêñòîâûé ôàéë $1 èç êîòîðîãî ñòðîèòñÿ áàçà äàííûõ äîñòóïà $2 íå ñóùåñòâóåò. Âîçìîæíî âàì íåîáõîäèìî èçìåíèòü <a href='$3'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ óñòàíîâêè êîððåêòíîãî ïóòè.
vsave_ematch=Àäðåñ èñòî÷íèêà íå ñîâïàäàåò ñ '$1'
acl_outgoing=Èñõîäÿùèå àäðåñà, ðåäàêòèðóåìûå äàííûì ïîëüçîâàòåëåì
vsave_ecannot2=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííóþ ïîäñòàíîâêó àäðåñîâ
vsave_ecannot3=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîäñòàíîâêè íà àäðåñà
vsave_ecannot4=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîäñòàíîâêè íà äîìåíû
vsave_ecannot5=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîäñòàíîâêè êîòîðûå âîçâðàùàþò îøèáêó
vform_edit=Ðåäàêòèðîâàíèå Ïîäñòàíîâêè
mailq_return=ïî÷òîâóþ î÷åðåäü
sform_ok=Ïðèíÿòü
send_err=Îøèáêà ïðè îòñûëêå ïî÷òû
asave_ealready=Ïñåâäîíèì äëÿ '$1' óæå ñóùåñòâóåò
send_eto=Îòñóòñòâóåò àäðåñ <tt>Äëÿ</tt>
mailers_efile=Òåêñòîâûé ôàéë $1 èç êîòîðîãî ñòðîèòñÿ áàçà äàííûõ äîìåííîé ìàðøðóòèçàöèè $2 íå ñóùåñòâóåò. Âîçìîæíî âàì íåîáõîäèìî èçìåíèòü <a href='$3'>êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ óñòàíîâêè êîððåêòíîãî ïóòè.
acl_virtusers=Àäðåñíûå ïîäñòàíîâêè, ðåäàêòèðóåìûå äàííûì ïîëüçîâàòåëåì
mform_for=Ïî÷òà äëÿ
aliases_return=ñïèñîê ïñåâäîíèìîâ
boxes_size=Ðàçìåð ÿùèêà
acl_mailq=Ìîæåò óïðàâëÿòü ïî÷òîâîé î÷åðåäüþ?
opts_default=Ïî óìîë÷àíèþ
vsave_err=Îøèáêà ïðè ñîõðàíåíèè ïîäñòàíîâêè àäðåñîâ
vform_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äàííóþ ïîäñòàíîâêó àäðåñîâ
access_econfig=Âàø ôàéë êîíôèãóðàöèè sendmail íå èìååò íåîáõîäèìîé äèðåêòèâû äëÿ spam êîíòðîëÿ.
acl_aliases=Ïñåâäîíèìû, ðåäàêòèðóåìûå äàííûì ïîëüçîâàòåëåì
relay_domains=Äîìåíû ñ ðàçðåøåííîé òðàíñëÿöèåé 
aform_create=Ñîçäàòü Ïñåâäîíèì
view_title=×òåíèå Ïî÷òû
boxes_user=Ïîëüçîâàòåëü
mform_esmtp=Ðàñøèðåííîå SMTP
view_ecannot=Âàì íå ðàçðåøåíî ÷èòàòü ïî÷òó äàííîãî ïîëüçîâàòåëÿ
cws_eip='$1' ÿâëÿåòñÿ IP àäðåñîì, íå èìåíåì äîìåíà
gform_create=Ñîçäàíèå Ïîäñòàíîâîê
acl_viewdel=Ïðîñìîòð è óäàëåíèå
sform_reject=Îòáðîñèòü
mform_create=Ñîçäàíèå Ìàðøðóòèçàöèè
mailq_from=Îò
opts_queuereturn=Âðåìÿ äî ëèêâèäàöèè íåîòîñëàííûõ ñîîáùåíèé
vsave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïîäñòàíîâêó àäðåñîâ
relay_edomain='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì äîìåíà
gsave_err=Îøèáêà ïðè ñîõðàíåíèè èñõîäÿùåãî àäðåñà
opts_loglevel=Óðîâåí æóðíàëèçàöèè ñîáûòèé
index_eversion=Âàø êîíôèãóðàöèîííûé ôàéë sendmail íå ñîîòâåòñòâóåò ïîñëåäíåé âåðñèè. Webmin ïîääåðæèâàåò òîëüêî âåðñèè 8.8 è âûøå.
boxes_ecannot=Âàì íå ðàçðåøåíî ÷èòàòü ïî÷òó
dsave_edomain='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì äîìåíà
generics_title=Èñõîäÿùèå Àäðåñà
cws_domains=Äîìåíû óïðàâëÿåìûå ýòèì ñåðâåðîì
opts_postmaster=Îòñûëàòü ñîîáùåíèÿ îá îøèáêàõ ê
sform_create=Ñîçäàíèå Ïðàâèëà Spam Êîíòðîëÿ
gsave_eto='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîâûì àäðåñîì
cgs_header=Èñõîäÿùèå àäðåñíûå äîìåíû
view_delete=Óäàëèòü
virtusers_title=Ïîäñòàíîâêà Àäðåñîâ
virtusers_edirective=Âàø ôàéë êîíôèãóðàöèè sendmail íå èìååò íåîáõîäèìîé äèðåêòèâû äëÿ ïîäñòàíîâêè àäðåñîâ.
vsave_efrom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
gform_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ýòîò èñõîäÿùèé àäðåñ
mform_domain=Äîìåí
domains_title=Äîìåííàÿ Ïîäñòàíîâêà
mailers_return=ñïèñîê äîìåííîé ìàðøðóòèçàöèè
sform_err=Êîä îøèáêè
cws_err=Îøèáêà ïðè ñîõðàíåíèè ëîêàëüíûõ äîìåíîâ
mform_ignore=Èãíîðèðîâàòü MX äëÿ SMTP äîñòàâêè
opts_bytes=áàéò
opts_forward=Ïîëüçîâàòåëüñêèå ôàéëû ïåðåíàïàâëåíèé
generics_desc1=Èñõîäÿùèå àäðåñíûå ïîäñòàíîâêè ïîçâîëÿþò âàì èçìåíÿòü àäðåñ <tt>From:</tt> äëÿ ïî÷òû îòñûëàåìîé èç âàøåé ñèñòåìû, èëè ÷åðåç âàøó ñèñòåìó äðóãèìè õîñòàìè âàøåé ëîêàëüíîé ñåòè. Ýòî ìîæåò áûòü ïîëåçíûì, åñëè âàøà ñèñòåìà èìååò íåñêîëüêî äîìåíîâ è âû õîòèòå, ÷òîáû ïî÷òà îò íåêîòîðûõ ïîëüçîâàòåëåé èñõîäèëà èç äðóãèõ äîìåíîâ.
generics_desc2=Çàìåòüòå, ÷òî âû äîëæíû èìåòü çàïèñü â òàáëèöå <a href='$1'>èñõîäÿùèõ äîìåíîâ</a> äëÿ êàæäîãî èç äîìåíîâ, äëÿ ÷üèõ àäðåñîâ âû õîòèòå ñäåëàòü èñõîäÿùèå ïîäñòàíîâêè. Òàêæå èìåéòå â âèäó, ÷òî ïîäñòàíîâêà èñõîäÿùèõ àäðåñîâ íå ðàáîòàåò äëÿ ïî÷òû äîñòàâëÿåìîé ëîêàëüíûì ïîëüçîâàòåëÿì.
opts_queue=Êàòàëîã ïî÷òîâîé î÷åðåäè
access_title=Spam Êîíòðîëü
mform_uucp=UUCP
opts_mimebounce=Îòñêàêèâàþùèå ñîîáùåíèÿ â MIME-êîäèðîâêå?
opts_maxmessage=Ìàêñ. ðàçìåð ñîîáøåíèÿ
opts_local=Ëîêàëüíàÿ äîñòàâêà
mform_to=Ïîñëàòü íà
virtusers_desc1=Ïîäñòàíîâêà àäðåñîâ î÷åíü ïîõîæà íà <a href='$1'>ïñåâäîíèìû</a>, íî áîëüøå ïîäõîäèò äëÿ ñèñòåì óïðàâëÿþùèõ ìíîæåñòâîì äîìåíîâ. Îíà ìîæåò áûòü èñïîëüçîâàíà äëÿ ïåðåíàïðàâëåíèÿ ïî÷òû âñåãî äîìåíà íà îäèí àäðåñ, îáðàáîòêîé ïîëüçîâàòåëåé ñ îäèíàêîâûì èìåíåì â ðàçíûõ äîìåíàõ, èëè ïîäñòàíîâêîé âñåé ïî÷òû îò îäíîãî äîìåíà äðóãîìó.
virtusers_desc2=Çàìåòüòå, ÷òî âû äîëæíû èìåòü çàïèñü â òàáëèöå <a href='$1'>ëîêàëüíûõ äîìåíîâ</a> äëÿ ëþáûõ äîìåíîâ èñïîëüçóþùèõ ïîäñòàíîâêó àäðåñîâ, è òàêæå äîëæíà áûòü â íàëè÷èè DNS çàïèñü MX äëÿ êàæäîãî äîìåíà, óêàçûâàþùàÿ íà âàøó ñèñòåìó.
masq_domains=Äîìåíû äëÿ ìàñêèðîâêè
gsave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü èñõîäÿùèå àäðåñà
acl_users=Ïîëüçîâàòåëè
access_action=Äåéñòâèå..
send_title=Ïî÷òà îòïðàâëåíà
virtusers_for=Ïî÷òà äëÿ..
gsave_efrom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì <tt>From:</tt> àäðåñîì
mailers_title=Äîìåííàÿ Ìàðøðóòèçàöèÿ
mform_procmail=Procmail
access_desc1=Ñïîñîáíîñòü Sendmailà ê êîíòðîëþ spamà (ïî÷òîâîãî ìóñîðà) ïîçâîëÿåò âàì ïðåäîòâðàòèòü ïîëó÷åíèå íåíóæíûõ ñîîáùåíèé ïóòåì îòáðàñûâàíèÿ ïî÷òû ïîëó÷àåìîé ñ îïðåäåëåííûõ àäðåñîâ è ïðåäîòâðàòèòü èñïîëüçîâàíèå âàøåé ñèñòåìû äëÿ òðàíñëÿöèè ïî÷òû çëîóìûøëåííèêîâ. Ïî óìîë÷àíèþ sendmail ïðèíèìàåò ïî÷òó äëÿ ëîêàëüíûõ ïîëüçîâàòåëåé ñ ëþáîãî àäðåñà, íî çàïðåùàåò òðàíñëèðîâàòü ïî÷òó ÷åðåç âàøó ñèñòåìó ëþáîìó ïîëüçîâàòåëþ èëè ïî÷òîâîìó ñåðâåðó. Îáû÷íî âû áóäåòå äîáàâëÿòü ïðàâèëà êîíòðîëÿ spamà äëÿ îòáðàñûâàíèÿ ïî÷òû çëîóìûøëåííèêîâ è ïðàâèëà ïîçâîëÿþùèå äðóãèì ïî÷òîâûì ìàøèíàì âàøåé ñåòè òàðíñëèðîâàòü ïî÷òó ÷åðåç âàøó ñèñòåìó.
access_desc2=Çàìåòüòå, ÷òî sendmail ïî óìîë÷àíèþ ïîçâîëèò ïî÷òîâûì êëèåíòàì âàøåé ñèñòåìû òðàíñëèðîâàòü ïî÷òó ïî SMTP íà ëþáîé àäðåñ íàçíà÷åíèÿ. Òàêèì îáðàçîì íåò íåîáõîäèòîñòè äîáàâëÿòü íîìåð ëîêàëüíîé ñåòè <tt>127.0.0</tt> â ñïèñîê ðàçðåøåííûõ äëÿ òðàíñëÿöèè.
index_return=ìåíþ êîíôèãóðàöèè
asave_emax=Âàì íå ðàçðåøåíî ñîçäàâàòü áîëåå $1 ïñåâäîíèìîâ
dform_from=Èç äîìåíà
masq_edomain='$1' íå ÿâëÿåòñÿ äîïóñòèìûì äîìåíîì äëÿ ìàñêèðîâêè êàê
opts_dh=Ïåðåñûëàòü ïî÷òó ëîêàëüíûõ ïîëüçîâàòåëåé íà õîñò
opts_dr=Ïåðåñûëàòü ïî÷òó íåèçâåñòíûõ ïîëüçîâàòåëåé íà õîñò
opts_ds=Îòñûëàòü èñõîäÿùóþ ïî÷òó ÷åðåç õîñò
delq_err=Îøèáêà óäàëåíèÿ ñîîáùåíèÿ
mailq_dmsg=Äëÿ ïðîñìîòðà ñîîáùåíèÿ èç ïî÷òîâîé î÷åðåäè íàæìèòå íå åãî ID â ñïèñêå íèæå.
index_stopmsg=Íàæìèòå íà ýòó êíîïêó, ÷òîáû îñòàíîâèòü ðàáîòàþùèé ïðîöåññ sendmail. Ýòî îñòàíîâèò äîñòàâêó ïî÷òû ëîêàëüíûì ïîëüçîâàòåëÿì è íå äàñò êëèåíòàì èñïîëüçóþùèì ýòó ñèñòåìó â êà÷åñòâå ïî÷òîâîãî ñåðâåðà îòñûëàòü ïî÷òó.
virtusers_address=Àäðåñ $1
aliases_addr=Àäðåñ
generics_from=Ïî÷òà îò..
sform_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü spam êîíòðîëü
mailers_desc1=Äîìåííàÿ ìàðøðóòèçàöèÿ îáåñïå÷èâàåò ñïîñîá îïðåäåëåíèÿ ñïåöèàëüíîãî ìåòîäà ïåðåäà÷è ïî÷òû â îïðåäåëåííûå äîìåíû. Ýòî ìîæåò áûòü ïîëåçíûì åñëè âàøà ñèñòåìà ÿâëÿåòñÿ øëþçîì äëÿ ïî÷òîâûõ ñåðâåðîâ, êîòîðûå íåäîñòóïíû èçâíå âàøåé ñåòè, èëè åñëè âû õîòèòå ïðèíóäèòåëüíî ìàðøðóòèçèðîâàòü ïî÷òó â îòäåëüíûé äîìåí ÷åðåç íåêèé äðóãîé ñåðâåð.
mailers_desc2=Ó âàñ <b>íå äîëæíî</b> áûòü çàïèñè â ñïèñêå <a href='$1'>ëîêàëüíûõ äîìåíîâ</a> äëÿ ëþáûõ ìàðøðóòèçèðóåìûõ äîìåíîâ. Îäíàêî âû äîëæíû èìåòü DNS çàïèñü MX óêàçûâàþùóþ íà âàøó ñèñòåìó äëÿ ëþáûõ äîìåíîâ, äëÿ êîòîðûõ âû ÿâëÿåòåñü øëþçîì.
mail_cc=Êîïèÿ
sform_msg=Ñîîáùåíèå
opts_queuewarn=Âðåìÿ äî ïðåäóïðåæäåíèÿ î íåîòîñëàííûõ ñîîáùåíèÿõ
forward_title=Ïåðåñûëêà Ñîîáùåíèÿ
aliases_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïñåâäîíèìû
trusts_err=Îøèáêà ïðè ñîõðàíåíèè äîâåðåííûõ ïîëüçîâàòåëåé
sform_type0=Ïî÷òîâûé Àäðåñ
sform_type1=Ñåòü
sform_type2=Ïîëüçîâàòåëü
sform_type3=Äîìåí
ssave_ecannot=Âàì íå ðàçðåøåíî íàñòðàèâàòü spam êîíòðîëü
asave_ecannot2=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïñåâäîíèìû
aliases_none=Íèêîìó
sform_discard=Îòáðîñèòü áåç óâåäîìëåíèÿ
mailq_force=Äëÿ íåìåäëåííîé äîñòàâêè ñîîáùåíèé èç î÷åðåäè <a href='$1'>æìèòå ñþäà</a>.
cgs_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü èñõîäÿùèå äîìåíû
mform_edit=Ðåäàêòèðîâàíèå Ìàðøðóòèçàöèè
opts_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïàðàìåòðû
mail_subject=Òåìà
trusts_desc=Åñëè ëîêàëüíûé ïîëüçîâàòåëü ïûòàåòñÿ ïîñëàòü ïî÷òó, sendmail ðàçðåøèò èçìåíÿòü àäðåñ <tt>From:</tt> òîëüêî ïîëüçîâàòåëþ èç ñïèñêà ñëåâà. Ýòî îãðàíè÷åíèå ñóùåñòâóåò äëÿ ïðåäîòâðàùåíèÿ îòïðàâêè ïîëüçîâàòåëÿìè ïî÷òû ñ ôàëüøèâûìè àäðåñàìè <tt>From:</tt> èç âàøåé ñèñòåìû.
access_source=Èñòî÷íèê..
virtusers_domain=Äîìåí $1
compose_title=Ñîçäàíèå Ñîîáùåíèÿ
gform_to=Èçìåíèòü íà
dform_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ïîäñòàíîâêó
vsave_efromdup=Ïîäñòàíîâêà àäðåñà äëÿ '$1' óæå îïðåäåëåíà
mailq_ecannot=Âàì íå ðàçðåøåíî ïðîñìàòðèâàòü ïî÷òîâóþ î÷åðåäü
mail_title=Ïî÷òà Ïîëüçîâàòåëÿ
opts_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà èëè äîìåíà
virtusers_return=ñïèñîê ïîäñòàíîâêè àäðåñîâ
acl_none=Íè÷åãî
asave_ematch=Âàì ðàçðåøåíî ñîçäàâàòü ïñåâäîíèìû ñîâïàäàþùèå òîëüêî ñ '$1'
opts_title=Ïàðàìåòðû Sendmail
masq_ehost='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà èëè äîìåíà
aform_val=Ïñåâäîíèì ê
opts_blocks=áëîêîâ
relay_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ òðàíñëÿöèþ
aform_type0=Íèêîìó
aform_type1=Ïî÷òîâîìó àäðåñó
aform_type2=Àäðåñàì â ôàéëå
aform_type3=Çàïèñè â ôàéë
aform_type4=Ïåðåñûëêå â ïðîãðàììó
mailers_cannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ìàðøðóòèçàöèþ
domains_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ïîäñòàíîâêó
view_desc=Ñîîáùåíèå $1 â $2 
dsave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü äîìåííóþ ïîäñòàíîâêó
gsave_ematch=Àäðåñ <tt>From:</tt> íå ñîâïàäàåò ñ '$1'
masq_title=Ìàñêèðîâêà Äîìåíîâ
mail_to=Äëÿ
aliases_title=Ïî÷òîâûå Ïñåâäîíèìû
vsave_edom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì äîìåíîì
acl_cgs=Ìîæåò ðåäàêòèðîâàòü èñõîäÿùèå äîìåíû?
trusts_euser='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîëüçîâàòåëåì
index_econfig=Êîíôèãóðàöèîííûé ôàéë sendmail $1 íå ñóùåñòâóåò. Âîçìîæíî, ÷òî <a href='$2'>êîíôèãóðàöèÿ ìîäóëÿ</a> íåâåðíà.
view_headers=Ïî÷òîâûå çàãîëîâêè
trusts_title=Äîâåðåííûå Ïîëüçîâàòåëè
dform_to=Â äîìåí
index_start=Çàïóñòèòü Sendmail
gform_from=Ïî÷òà îò
mailers_for=Ïî÷òà äëÿ..
cgs_eip='$1' ÿâëÿåòñÿ IP àäðåñîì, íå äîìåíîì
mailq_sending=Îòïðàâêà
cws_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ëîêàëüíûå äîìåíû
msave_edomain='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà èëè äîìåíà
vsave_eaddr='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
generics_econfig=Âàø ôàéë êîíôèãóðàöèè sendmail íå èìååò íåîáõîäèìîé äèðåêòèâû äëÿ èñõîäÿùèõ àäðåñíûõ ïîäñòàíîâîê.
index_title=Êîíôèãóðàöèÿ Sendmail
asave_etype4none=Ïðîãðàììà íå çàäàíà
masq_desc1=Åñëè âûøå óêàçàí äîìåí, sendmail áóäåò èçìåíÿòü àäðåñ <tt>From</tt> âñåõ èñõîäÿùèõ ñîîáùåíèé ïîäñòàíîâêîé äàííîãî èìåíè äîìåíà. Äîïîëíèòåëüíî, ëþáûå ïî÷òîâûå ñîîáùåíèÿ ïðîõîäÿùèå ÷åðåç âàøó ñèñòåìó îò îäíîãî èç õîñòîâ èëè äîìåíîâ ïåðå÷èñëåííûõ ñëåâà òàêæå áóäóò èìåòü èçìåíåííûé ïîäîáíûì îáðàçîì èõ <tt>From</tt> àäðåñ. Çàìåòüòå, ÷òî ëþáàþ ìàñêèðîâêà äîìåíà îïðåäåëåííàÿ çäåñü, ìîæåò áûòü ïåðåîïðåäåëåíà äëÿ îòäåëüíûõ ïîëüçîâàòåëåé íà ñòðàíèöå <a href='$1'>Èñõîäÿùèå Àäðåñà</a>.
masq_desc2=Ýòà îñîáåííîñòü ìîæåò áûòü ïîëåçíà, åñëè âû õîòèòå ÷òîáû ïî÷òà èäóùàÿ ñ âàøåé ìàøèíû ïðåäñòàâëÿëàñü êàê ïî÷òà èäóùàÿ ñ âàøåãî äîìåííîãî èìåíè, à íå ñ âàøåé ìàøèíû, èëè òàêæå ìîæåò áûòü ïîëåçíà, åñëè âàøà ñèñòåìà ðàáîòàåò êàê ïî÷òîâûé êîíöåíòðàòîð äëÿ äðóãèõ õîñòîâ èìåþùèõ ñâîè ïî÷òîâûå ñåðâåðû.
reply_title=Îòâåò íà Ñîîáùåíèå
view_attach=Âêëþ÷åíèÿ
opts_save=Ñîõðàíèòü è Àêòèâèçèðîâàòü
opts_maxch=Ìàêñ. ÷èñëî äî÷åðíèõ ïðîöåññîâ
aform_edit=Ðåäàêòèðîâàòü Ïñåâäîíèì
mail_return=ïî÷òó ïîëüçîâàòåëÿ
mailq_none=Î÷åðåäü íå ñîäåðæèò ïî÷òîâûõ ñîîáùåíèé äëÿ äîñòàâêè
msave_err=Îøèáêà ïðè ñîõðàíåíèè ìàðøðóòèçàöèè äîìåíîâ
acl_opts=Ìîæåò ðåäàêòèðîâàòü ïàðàìåòðû sendmail?
aliases_to=Ïñåâäîíèì ê..
acl_relay=Ìîæåò ðåäàêòèðîâàòü äîìåííóþ òðàíñëÿöèþ?
index_startmsg=Íàæìèòå íà ýòó êíîïêó, ÷òîáû çàïóñòèòü sendmail êîìàíäîé $1. Äî òåõ ïîð, ïîêà ýòî íå ñäåëàíî, ïî÷òà íå ìîæåò áûòü äîñòàâëåíà ëîêàëüíûì ïîëüçîâàòåëÿì è êëèåíòû íå ñìîãóò èñïîëüçîâàòü ýòó ñèñòåìó â êà÷åñòâå ïî÷òîâîãî ñåðâåðà.
reply_ecannot=Âàì íå ðàçðåøåíî îòñûëàòü ïî÷òó â êà÷åñòâå äàííîãî ïîëüçîâàòåëÿ
domains_to=Â äîìåí..
masq_eip='$1' ÿâëÿåòñÿ IP àäðåñîì, íå äîìåíîì
boxes_title=Ïî÷òîâûå ßùèêè
flushq_title=Ñáðîñ Î÷åðåäè
mail_ecannot=Âàì íå ðàçðåøåíî ÷èòàòü ïî÷òó äàííîãî ïîëüçîâàòåëÿ
reply_attach2=Âêëþ÷åíèÿ
opts_minqueueage=Ìèí. âðåìÿ ïåðåä ïîâòîðíîé îòñûëêîé
cgs_err=Îøèáêà ïðè ñîõðàíåíèè èñõîäÿùèõ äîìåíîâ
mailers_delivery=Äîñòàâêà
mailq_status=Ñòàòóñ
masq_ecannot=Âàì íå ðàçðåøåíî êîíôèãóðèðîâàòü ìàñêèðîâêó
acl_atype1=Ïî÷òîâûå àäðåñà
acl_atype2=Àäðåñà â ôàéëå
acl_atype3=Çàïèñü â ôàéë
acl_atype4=Ïåðåäà÷à â ïðîãðàììó
vform_error=Âîçâðàò îøèáêè
acl_atypes=Òèïû ïñåâäîíèìîâ, ðåäàêòèðóåìûå äàííûì ïîëüçîâàòåëåì
opts_einvalid='$1' íå ÿâëÿåòñÿ äîïóñòèìûì çíà÷åíèåì äëÿ '$2'
acl_cws=Ìîæåò ðåäàêòèðîâàòü ëîêàëüíûå äîìåíû?
acl_trusts=Ìîæåò ðåäàêòèðîâàòü äîâåðåííûõ ïîëüçîâàòåëåé?
generics_return=ñïèñîê àäðåñíûõ ïîäñòàíîâîê
asave_eaddr='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
dform_create=Ñîçäàíèå Ïîäñòàíîâêè
masq_err=Îøèáêà ïðè ñîõðàíåíèè äîìåííîé ìàñêèðîâêè
opts_refusela=Ìàêñ. ñðåäíÿÿ çàãðóçêà äëÿ ïðèåìà
mailers_edirective=Âàø ôàéë êîíôèãóðàöèè sendmail íå èìååò íåîáõîäèìîé äèðåêòèâû äëÿ äîìåííîé ìàðøðóòèçàöèè
vform_for=Ïî÷òà äëÿ
acl_mailers=Ìîæåò ðåäàêòèðîâàòü äîìåííóþ ìàðøðóòèçàöèþ?
virtusers_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ïîäñòàíîâêó àäðåñîâ
mform_error=Îøèáêà
boxes_return=ïî÷òîâûå ÿùèêè
masq_domain=Ìàñêèðîâàòü êàê äîìåí
generics_to=Èçìåíèòü íà..
relay_err=Îøèáêà ïðè ñîõðàíåíèè äîìåííîé òðàíñëÿöèè
acl_stop=Ìîæåò ñòàðòîâàòü è îñòàíàâëèâàòü sendmail?
mform_prog=Âõîä ïðîãðàììû
acl_domains=Ìîæåò êîíôèãóðèðîâàòü äîìåííóþ ïîäñòàíîâêó?
aform_enabled=Àêòèâåí?
mail_date=Äàòà
mail_compose=Ñîçäàòü íîâîå ñîîáùåíèå
cgs_desc=Íåçàâèñèìî îò ïî÷òû îòñûëàåìîé ëîêàëüíûìè ïîëüçîâàòåëÿìè, sendmail áóäåò òîëüêî îñóùåñòâëÿòü ïîäñòàíîâêó <a href='$1'>èñõîäÿùèõ àäðåñîâ</a> äëÿ ïî÷òû îò õîñòîâ èëè äîìåíîâ ïåðå÷èñëåííûõ â ïîëå ñëåâà. Òàêèì îáðàçîì äëÿ ðàáîòû èñõîäÿùåãî àäðåñà, äîìåí <tt>From:</tt> àäðåñà äîëæåí áûòü âêëþ÷åí â ýòîò ñïèñîê.
opts_throttle=Ìàêñ. ñîåäèíåíèé / ñåê.
vform_create=Ñîçäàíèå Ïîäñòàíîâêè
virtusers_error=Îøèáêà $1
relay_eversion=Òîëüêî sendmail âåðñèè 8.9 è âûøå ïîääåðæèâàåò äîìåííóþ òðàíñëÿöèþ
asave_etype1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïî÷òîâûì àäðåñîì
asave_etype2=Àäðåñíûé ôàéë '$1' íå ñóùåñòâóåò
asave_etype3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ôàéëà
asave_etype4='$1' íå ÿâëÿåòñÿ ïðîãðàììîé èëè íå ñóùåñòâóåò
asave_ecannot=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ýòîò ïñåâäîíèì
mail_from=Îò
 07070100028764000081a40000000000000002000000013d1fe2d300004e58000000200000000000000000000000000000001a00000003reloc/sendmail/lang/ru_SU index_title=ëÏÎÆÉÇÕÒÁÃÉÑ Sendmail
index_econfig=ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ sendmail $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ, ÞÔÏ <a href='$2'>ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ</a> ÎÅ×ÅÒÎÁ.
index_eversion=÷ÁÛ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ sendmail ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÐÏÓÌÅÄÎÅÊ ×ÅÒÓÉÉ. Webmin ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ×ÅÒÓÉÉ 8.8 É ×ÙÛÅ.
index_return=ÍÅÎÀ ËÏÎÆÉÇÕÒÁÃÉÉ
index_stop=ïÓÔÁÎÏ×ÉÔØ Sendmail
index_stopmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ, ÞÔÏÂÙ ÏÓÔÁÎÏ×ÉÔØ ÒÁÂÏÔÁÀÝÉÊ ÐÒÏÃÅÓÓ sendmail. üÔÏ ÏÓÔÁÎÏ×ÉÔ ÄÏÓÔÁ×ËÕ ÐÏÞÔÙ ÌÏËÁÌØÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ É ÎÅ ÄÁÓÔ ËÌÉÅÎÔÁÍ ÉÓÐÏÌØÚÕÀÝÉÍ ÜÔÕ ÓÉÓÔÅÍÕ × ËÁÞÅÓÔ×Å ÐÏÞÔÏ×ÏÇÏ ÓÅÒ×ÅÒÁ ÏÔÓÙÌÁÔØ ÐÏÞÔÕ.
index_start=úÁÐÕÓÔÉÔØ Sendmail
index_startmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ, ÞÔÏÂÙ ÚÁÐÕÓÔÉÔØ sendmail ËÏÍÁÎÄÏÊ $1. äÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÜÔÏ ÎÅ ÓÄÅÌÁÎÏ, ÐÏÞÔÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÄÏÓÔÁ×ÌÅÎÁ ÌÏËÁÌØÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ É ËÌÉÅÎÔÙ ÎÅ ÓÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÓÉÓÔÅÍÕ × ËÁÞÅÓÔ×Å ÐÏÞÔÏ×ÏÇÏ ÓÅÒ×ÅÒÁ.

opts_title=ðÁÒÁÍÅÔÒÙ Sendmail
opts_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ
opts_ds=ïÔÓÙÌÁÔØ ÉÓÈÏÄÑÝÕÀ ÐÏÞÔÕ ÞÅÒÅÚ ÈÏÓÔ
opts_direct=ðÒÑÍÁÑ ÄÏÓÔÁ×ËÁ
opts_dr=ðÅÒÅÓÙÌÁÔØ ÐÏÞÔÕ ÎÅÉÚ×ÅÓÔÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÈÏÓÔ
opts_dh=ðÅÒÅÓÙÌÁÔØ ÐÏÞÔÕ ÌÏËÁÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÈÏÓÔ
opts_local=ìÏËÁÌØÎÁÑ ÄÏÓÔÁ×ËÁ
opts_queuela=íÁËÓ. ÓÒÅÄÎÑÑ ÚÁÇÒÕÚËÁ ÄÌÑ ÏÔÓÙÌËÉ
opts_refusela=íÁËÓ. ÓÒÅÄÎÑÑ ÚÁÇÒÕÚËÁ ÄÌÑ ÐÒÉÅÍÁ
opts_maxch=íÁËÓ. ÞÉÓÌÏ ÄÏÞÅÒÎÉÈ ÐÒÏÃÅÓÓÏ×
opts_throttle=íÁËÓ. ÓÏÅÄÉÎÅÎÉÊ / ÓÅË.
opts_minqueueage=íÉÎ. ×ÒÅÍÑ ÐÅÒÅÄ ÐÏ×ÔÏÒÎÏÊ ÏÔÓÙÌËÏÊ
opts_runsize=íÁËÓ. ÒÁÚÍÅÒ ÏÞÅÒÅÄÉ
opts_queuereturn=÷ÒÅÍÑ ÄÏ ÌÉË×ÉÄÁÃÉÉ ÎÅÏÔÏÓÌÁÎÎÙÈ ÓÏÏÂÝÅÎÉÊ
opts_queuewarn=÷ÒÅÍÑ ÄÏ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ Ï ÎÅÏÔÏÓÌÁÎÎÙÈ ÓÏÏÂÝÅÎÉÑÈ
opts_queue=ëÁÔÁÌÏÇ ÐÏÞÔÏ×ÏÊ ÏÞÅÒÅÄÉ
opts_postmaster=ïÔÓÙÌÁÔØ ÓÏÏÂÝÅÎÉÑ ÏÂ ÏÛÉÂËÁÈ Ë
opts_forward=ðÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÆÁÊÌÙ ÐÅÒÅÎÁÐÁ×ÌÅÎÉÊ
opts_minfree=íÉÎ. Ó×ÏÂÏÄÎÏÅ ÄÉÓËÏ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï
opts_maxmessage=íÁËÓ. ÒÁÚÍÅÒ ÓÏÏÂÛÅÎÉÑ
opts_loglevel=õÒÏ×ÅÎ ÖÕÒÎÁÌÉÚÁÃÉÉ ÓÏÂÙÔÉÊ
opts_mimebounce=ïÔÓËÁËÉ×ÁÀÝÉÅ ÓÏÏÂÝÅÎÉÑ × MIME-ËÏÄÉÒÏ×ËÅ?
opts_default=ðÏ ÕÍÏÌÞÁÎÉÀ
opts_save=óÏÈÒÁÎÉÔØ É áËÔÉ×ÉÚÉÒÏ×ÁÔØ
opts_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
opts_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÄÏÍÅÎÁ
opts_einvalid='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÚÎÁÞÅÎÉÅÍ ÄÌÑ '$2'
opts_blocks=ÂÌÏËÏ×
opts_bytes=ÂÁÊÔ

aliases_title=ðÏÞÔÏ×ÙÅ ðÓÅ×ÄÏÎÉÍÙ
aliases_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÓÅ×ÄÏÎÉÍÙ
aliases_addr=áÄÒÅÓ
aliases_to=ðÓÅ×ÄÏÎÉÍ Ë..
aliases_type1=áÄÒÅÓÕ $1
aliases_type2=áÄÒÅÓÁÍ × ÆÁÊÌÅ $1
aliases_type3=æÁÊÌÕ $1
aliases_type4=ðÒÏÇÒÁÍÍÅ $1
aliases_none=îÉËÏÍÕ
aliases_return=ÓÐÉÓÏË ÐÓÅ×ÄÏÎÉÍÏ×

aform_type0=îÉËÏÍÕ
aform_type1=ðÏÞÔÏ×ÏÍÕ ÁÄÒÅÓÕ
aform_type2=áÄÒÅÓÁÍ × ÆÁÊÌÅ
aform_type3=úÁÐÉÓÉ × ÆÁÊÌ
aform_type4=ðÅÒÅÓÙÌËÅ × ÐÒÏÇÒÁÍÍÕ
aform_edit=òÅÄÁËÔÉÒÏ×ÁÔØ ðÓÅ×ÄÏÎÉÍ
aform_create=óÏÚÄÁÔØ ðÓÅ×ÄÏÎÉÍ
aform_name=áÄÒÅÓ
aform_enabled=áËÔÉ×ÅÎ?
aform_val=ðÓÅ×ÄÏÎÉÍ Ë

asave_err=ïÛÉÂËÁ ÓÏÈÒÁÎÅÎÉÑ ÐÓÅ×ÄÏÎÉÍÁ
asave_ecannot2=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÓÅ×ÄÏÎÉÍÙ
asave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÔ ÐÓÅ×ÄÏÎÉÍ
asave_emax=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÂÏÌÅÅ $1 ÐÓÅ×ÄÏÎÉÍÏ×
asave_eaddr='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
asave_ealready=ðÓÅ×ÄÏÎÉÍ ÄÌÑ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
asave_ematch=÷ÁÍ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÓÅ×ÄÏÎÉÍÙ ÓÏ×ÐÁÄÁÀÝÉÅ ÔÏÌØËÏ Ó '$1'
asave_etype=÷Ù ÎÅ ÍÏÖÅÔÅ ÓÏÚÄÁ×ÁÔØ ÐÓÅ×ÄÏÎÉÍÙ ÄÁÎÎÏÇÏ ÔÉÐÁ
asave_etype1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ
asave_etype2=áÄÒÅÓÎÙÊ ÆÁÊÌ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
asave_etype3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÆÁÊÌÁ
asave_etype4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÐÒÏÇÒÁÍÍÏÊ ÉÌÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
asave_etype4none=ðÒÏÇÒÁÍÍÁ ÎÅ ÚÁÄÁÎÁ

cws_title=ìÏËÁÌØÎÙÅ äÏÍÅÎÙ
cws_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÌÏËÁÌØÎÙÅ ÄÏÍÅÎÙ
cws_domains=äÏÍÅÎÙ ÕÐÒÁ×ÌÑÅÍÙÅ ÜÔÉÍ ÓÅÒ×ÅÒÏÍ
cws_desc1=ëÒÏÍÅ ÐÏÞÔÙ ÄÌÑ $1, sendmail ÄÌÑ ÌÏËÁÌØÎÏÊ ÄÏÓÔÁ×ËÉ ÐÏÞÔÙ ÂÕÄÅÔ ÅÛ£ ÐÒÉÎÉÍÁÔØ ÓÏÏÂÝÅÎÉÑ ÔÏÌØËÏ ÄÌÑ ÄÏÍÅÎÏ× É ÈÏÓÔÏ× ÐÅÒÅÞÉÓÌÅÎÎÙÈ × ÔÅËÓÔÏ×ÏÍ ÐÏÌÅ ÓÌÅ×Á. åÓÌÉ ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ×ÁÛ ÐÏÞÔÏ×ÙÊ ÓÅÒ×ÅÒ ÏÂÒÁÂÁÔÙ×ÁÌ ÍÎÏÖÅÓÔ×Ï ÐÏÞÔÏ×ÙÈ ÄÏÍÅÎÏ×, ×ÓÅ ÏÎÉ ÄÏÌÖÎÙ ÂÙÔØ ÐÅÒÅÞÉÓÌÅÎÙ × ÜÔÏÍ ÐÏÌÅ (Þ/Ú ÐÒÏÂÅÌÙ/ÐÅÒÅ×ÏÄÙ ÓÔÒÏËÉ).
cws_desc2=úÁÍÅÔØÔÅ, ÞÔÏ ÐÒÏÓÔÏÅ ÕËÁÚÁÎÉÅ ÄÏÍÅÎÁ × ÄÁÎÎÏÍ ÓÐÉÓËÅ ÏÂÙÞÎÏ ÎÅÄÏÓÔÁÔÏÞÎÏ. ÷Ù ÄÏÌÖÎÙ ÔÁËÖÅ ÂÙÔØ Õ×ÅÒÅÎÙ, ÞÔÏ ÓÕÝÅÓÔ×ÕÅÔ DNS ÚÁÐÉÓØ ÄÌÑ ÄÁÎÎÏÇÏ ÄÏÍÅÎÁ  É ÏÎÁ ÕËÁÚÙ×ÁÅÔ ÎÁ ×ÁÛÕ ÓÉÓÔÅÍÕ.
cws_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÌÏËÁÌØÎÙÈ ÄÏÍÅÎÏ×
cws_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÄÏÍÅÎÁ
cws_eip='$1' Ñ×ÌÑÅÔÓÑ IP ÁÄÒÅÓÏÍ, ÎÅ ÉÍÅÎÅÍ ÄÏÍÅÎÁ

masq_title=íÁÓËÉÒÏ×ËÁ äÏÍÅÎÏ×
masq_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÍÁÓËÉÒÏ×ËÕ
masq_domain=íÁÓËÉÒÏ×ÁÔØ ËÁË ÄÏÍÅÎ
masq_domains=äÏÍÅÎÙ ÄÌÑ ÍÁÓËÉÒÏ×ËÉ
masq_desc1=åÓÌÉ ×ÙÛÅ ÕËÁÚÁÎ ÄÏÍÅÎ, sendmail ÂÕÄÅÔ ÉÚÍÅÎÑÔØ ÁÄÒÅÓ <tt>From</tt> ×ÓÅÈ ÉÓÈÏÄÑÝÉÈ ÓÏÏÂÝÅÎÉÊ ÐÏÄÓÔÁÎÏ×ËÏÊ ÄÁÎÎÏÇÏ ÉÍÅÎÉ ÄÏÍÅÎÁ. äÏÐÏÌÎÉÔÅÌØÎÏ, ÌÀÂÙÅ ÐÏÞÔÏ×ÙÅ ÓÏÏÂÝÅÎÉÑ ÐÒÏÈÏÄÑÝÉÅ ÞÅÒÅÚ ×ÁÛÕ ÓÉÓÔÅÍÕ ÏÔ ÏÄÎÏÇÏ ÉÚ ÈÏÓÔÏ× ÉÌÉ ÄÏÍÅÎÏ× ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÓÌÅ×Á ÔÁËÖÅ ÂÕÄÕÔ ÉÍÅÔØ ÉÚÍÅÎÅÎÎÙÊ ÐÏÄÏÂÎÙÍ ÏÂÒÁÚÏÍ ÉÈ <tt>From</tt> ÁÄÒÅÓ. úÁÍÅÔØÔÅ, ÞÔÏ ÌÀÂÁÀ ÍÁÓËÉÒÏ×ËÁ ÄÏÍÅÎÁ ÏÐÒÅÄÅÌÅÎÎÁÑ ÚÄÅÓØ, ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÏÐÒÅÄÅÌÅÎÁ ÄÌÑ ÏÔÄÅÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁ ÓÔÒÁÎÉÃÅ <a href='$1'>éÓÈÏÄÑÝÉÅ áÄÒÅÓÁ</a>.
masq_desc2=üÔÁ ÏÓÏÂÅÎÎÏÓÔØ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÞÔÏÂÙ ÐÏÞÔÁ ÉÄÕÝÁÑ Ó ×ÁÛÅÊ ÍÁÛÉÎÙ ÐÒÅÄÓÔÁ×ÌÑÌÁÓØ ËÁË ÐÏÞÔÁ ÉÄÕÝÁÑ Ó ×ÁÛÅÇÏ ÄÏÍÅÎÎÏÇÏ ÉÍÅÎÉ, Á ÎÅ Ó ×ÁÛÅÊ ÍÁÛÉÎÙ, ÉÌÉ ÔÁËÖÅ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÒÁÂÏÔÁÅÔ ËÁË ÐÏÞÔÏ×ÙÊ ËÏÎÃÅÎÔÒÁÔÏÒ ÄÌÑ ÄÒÕÇÉÈ ÈÏÓÔÏ× ÉÍÅÀÝÉÈ Ó×ÏÉ ÐÏÞÔÏ×ÙÅ ÓÅÒ×ÅÒÙ.
masq_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÄÏÍÅÎÎÏÊ ÍÁÓËÉÒÏ×ËÉ
masq_edomain='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÏÍÅÎÏÍ ÄÌÑ ÍÁÓËÉÒÏ×ËÉ ËÁË
masq_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÄÏÍÅÎÁ
masq_eip='$1' Ñ×ÌÑÅÔÓÑ IP ÁÄÒÅÓÏÍ, ÎÅ ÄÏÍÅÎÏÍ

trusts_title=äÏ×ÅÒÅÎÎÙÅ ðÏÌØÚÏ×ÁÔÅÌÉ
trusts_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏ×ÅÒÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
trusts_users=ìÏËÁÌØÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ,<br> ËÏÔÏÒÙÍ ÄÏ×ÅÒÑÅÔ sendmail
trusts_desc=åÓÌÉ ÌÏËÁÌØÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ ÐÙÔÁÅÔÓÑ ÐÏÓÌÁÔØ ÐÏÞÔÕ, sendmail ÒÁÚÒÅÛÉÔ ÉÚÍÅÎÑÔØ ÁÄÒÅÓ <tt>From:</tt> ÔÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÀ ÉÚ ÓÐÉÓËÁ ÓÌÅ×Á. üÔÏ ÏÇÒÁÎÉÞÅÎÉÅ ÓÕÝÅÓÔ×ÕÅÔ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÏÔÐÒÁ×ËÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÐÏÞÔÙ Ó ÆÁÌØÛÉ×ÙÍÉ ÁÄÒÅÓÁÍÉ <tt>From:</tt> ÉÚ ×ÁÛÅÊ ÓÉÓÔÅÍÙ.
trusts_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÄÏ×ÅÒÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
trusts_euser='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ

virtusers_title=ðÏÄÓÔÁÎÏ×ËÁ áÄÒÅÓÏ×
virtusers_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÄÓÔÁÎÏ×ËÕ ÁÄÒÅÓÏ×
virtusers_edirective=÷ÁÛ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ sendmail ÎÅ ÉÍÅÅÔ ÎÅÏÂÈÏÄÉÍÏÊ ÄÉÒÅËÔÉ×Ù ÄÌÑ ÐÏÄÓÔÁÎÏ×ËÉ ÁÄÒÅÓÏ×.
virtusers_efile=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ $1 ÉÚ ËÏÔÏÒÏÇÏ ÓÔÒÏÉÔÓÑ ÂÁÚÁ ÄÁÎÎÙÈ ÐÏÄÓÔÁÎÏ×ËÉ ÁÄÒÅÓÏ× $2 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ <a href='$3'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÕÓÔÁÎÏ×ËÉ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ.
virtusers_desc1=ðÏÄÓÔÁÎÏ×ËÁ ÁÄÒÅÓÏ× ÏÞÅÎØ ÐÏÈÏÖÁ ÎÁ <a href='$1'>ÐÓÅ×ÄÏÎÉÍÙ</a>, ÎÏ ÂÏÌØÛÅ ÐÏÄÈÏÄÉÔ ÄÌÑ ÓÉÓÔÅÍ ÕÐÒÁ×ÌÑÀÝÉÈ ÍÎÏÖÅÓÔ×ÏÍ ÄÏÍÅÎÏ×. ïÎÁ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÐÏÞÔÙ ×ÓÅÇÏ ÄÏÍÅÎÁ ÎÁ ÏÄÉÎ ÁÄÒÅÓ, ÏÂÒÁÂÏÔËÏÊ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó ÏÄÉÎÁËÏ×ÙÍ ÉÍÅÎÅÍ × ÒÁÚÎÙÈ ÄÏÍÅÎÁÈ, ÉÌÉ ÐÏÄÓÔÁÎÏ×ËÏÊ ×ÓÅÊ ÐÏÞÔÙ ÏÔ ÏÄÎÏÇÏ ÄÏÍÅÎÁ ÄÒÕÇÏÍÕ.
virtusers_desc2=úÁÍÅÔØÔÅ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ÉÍÅÔØ ÚÁÐÉÓØ × ÔÁÂÌÉÃÅ <a href='$1'>ÌÏËÁÌØÎÙÈ ÄÏÍÅÎÏ×</a> ÄÌÑ ÌÀÂÙÈ ÄÏÍÅÎÏ× ÉÓÐÏÌØÚÕÀÝÉÈ ÐÏÄÓÔÁÎÏ×ËÕ ÁÄÒÅÓÏ×, É ÔÁËÖÅ ÄÏÌÖÎÁ ÂÙÔØ × ÎÁÌÉÞÉÉ DNS ÚÁÐÉÓØ MX ÄÌÑ ËÁÖÄÏÇÏ ÄÏÍÅÎÁ, ÕËÁÚÙ×ÁÀÝÁÑ ÎÁ ×ÁÛÕ ÓÉÓÔÅÍÕ.
virtusers_for=ðÏÞÔÁ ÄÌÑ..
virtusers_to=ðÏÓÌÁÔØ ÎÁ..
virtusers_error=ïÛÉÂËÁ $1
virtusers_domain=äÏÍÅÎ $1
virtusers_address=áÄÒÅÓ $1
virtusers_return=ÓÐÉÓÏË ÐÏÄÓÔÁÎÏ×ËÉ ÁÄÒÅÓÏ×

vform_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÄÓÔÁÎÏ×ËÉ
vform_create=óÏÚÄÁÎÉÅ ðÏÄÓÔÁÎÏ×ËÉ
vform_for=ðÏÞÔÁ ÄÌÑ
vform_address=áÄÒÅÓ
vform_domain=äÏÍÅÎ
vform_to=ðÏÓÌÁÔØ ÎÁ
vform_error=÷ÏÚ×ÒÁÔ ÏÛÉÂËÉ
vform_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ ÁÄÒÅÓÏ×

vsave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÏÄÓÔÁÎÏ×ËÕ ÁÄÒÅÓÏ×
vsave_ecannot2=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÁÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ ÁÄÒÅÓÏ×
vsave_emax=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÂÏÌÅÅ $1 ÁÄÒÅÓÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË
vsave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÄÓÔÁÎÏ×ËÉ ÁÄÒÅÓÏ×
vsave_efrom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
vsave_efromdup=ðÏÄÓÔÁÎÏ×ËÁ ÁÄÒÅÓÁ ÄÌÑ '$1' ÕÖÅ ÏÐÒÅÄÅÌÅÎÁ
vsave_edom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÏÍÅÎÏÍ
vsave_edomdup=ðÏÄÓÔÁÎÏ×ËÁ ÁÄÒÅÓÁ ÄÌÑ '$1' ÕÖÅ ÏÐÒÅÄÅÌÅÎÁ
vsave_ematch=áÄÒÅÓ ÉÓÔÏÞÎÉËÁ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó '$1'
vsave_ecannot3=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÄÓÔÁÎÏ×ËÉ ÎÁ ÁÄÒÅÓÁ
vsave_eaddr='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
vsave_ecannot4=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÄÓÔÁÎÏ×ËÉ ÎÁ ÄÏÍÅÎÙ
vsave_edomdom=ôÏÌØËÏ ÄÏÍÅÎ ÍÏÖÅÔ ÂÙÔØ × ÐÏÄÓÔÁÎÏ×ËÅ ÄÒÕÇÏÍÕ ÄÏÍÅÎÕ
vsave_ecannot5=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÄÓÔÁÎÏ×ËÉ ËÏÔÏÒÙÅ ×ÏÚ×ÒÁÝÁÀÔ ÏÛÉÂËÕ

mailers_title=äÏÍÅÎÎÁÑ íÁÒÛÒÕÔÉÚÁÃÉÑ
mailers_cannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÍÁÒÛÒÕÔÉÚÁÃÉÀ
mailers_edirective=÷ÁÛ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ sendmail ÎÅ ÉÍÅÅÔ ÎÅÏÂÈÏÄÉÍÏÊ ÄÉÒÅËÔÉ×Ù ÄÌÑ ÄÏÍÅÎÎÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ
mailers_efile=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ $1 ÉÚ ËÏÔÏÒÏÇÏ ÓÔÒÏÉÔÓÑ ÂÁÚÁ ÄÁÎÎÙÈ ÄÏÍÅÎÎÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ $2 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ <a href='$3'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÕÓÔÁÎÏ×ËÉ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ.
mailers_desc1=äÏÍÅÎÎÁÑ ÍÁÒÛÒÕÔÉÚÁÃÉÑ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÓÐÏÓÏÂ ÏÐÒÅÄÅÌÅÎÉÑ ÓÐÅÃÉÁÌØÎÏÇÏ ÍÅÔÏÄÁ ÐÅÒÅÄÁÞÉ ÐÏÞÔÙ × ÏÐÒÅÄÅÌÅÎÎÙÅ ÄÏÍÅÎÙ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÙÍ ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ Ñ×ÌÑÅÔÓÑ ÛÌÀÚÏÍ ÄÌÑ ÐÏÞÔÏ×ÙÈ ÓÅÒ×ÅÒÏ×, ËÏÔÏÒÙÅ ÎÅÄÏÓÔÕÐÎÙ ÉÚ×ÎÅ ×ÁÛÅÊ ÓÅÔÉ, ÉÌÉ ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÐÒÉÎÕÄÉÔÅÌØÎÏ ÍÁÒÛÒÕÔÉÚÉÒÏ×ÁÔØ ÐÏÞÔÕ × ÏÔÄÅÌØÎÙÊ ÄÏÍÅÎ ÞÅÒÅÚ ÎÅËÉÊ ÄÒÕÇÏÊ ÓÅÒ×ÅÒ.
mailers_desc2=õ ×ÁÓ <b>ÎÅ ÄÏÌÖÎÏ</b> ÂÙÔØ ÚÁÐÉÓÉ × ÓÐÉÓËÅ <a href='$1'>ÌÏËÁÌØÎÙÈ ÄÏÍÅÎÏ×</a> ÄÌÑ ÌÀÂÙÈ ÍÁÒÛÒÕÔÉÚÉÒÕÅÍÙÈ ÄÏÍÅÎÏ×. ïÄÎÁËÏ ×Ù ÄÏÌÖÎÙ ÉÍÅÔØ DNS ÚÁÐÉÓØ MX ÕËÁÚÙ×ÁÀÝÕÀ ÎÁ ×ÁÛÕ ÓÉÓÔÅÍÕ ÄÌÑ ÌÀÂÙÈ ÄÏÍÅÎÏ×, ÄÌÑ ËÏÔÏÒÙÈ ×Ù Ñ×ÌÑÅÔÅÓØ ÛÌÀÚÏÍ.
mailers_for=ðÏÞÔÁ ÄÌÑ..
mailers_delivery=äÏÓÔÁ×ËÁ
mailers_to=ðÏÓÌÁÔØ ÎÁ..
mailers_return=ÓÐÉÓÏË ÄÏÍÅÎÎÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ

mform_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ íÁÒÛÒÕÔÉÚÁÃÉÉ
mform_create=óÏÚÄÁÎÉÅ íÁÒÛÒÕÔÉÚÁÃÉÉ
mform_for=ðÏÞÔÁ ÄÌÑ
mform_host=èÏÓÔ
mform_domain=äÏÍÅÎ
mform_delivery=äÏÓÔÁ×ËÁ
mform_to=ðÏÓÌÁÔØ ÎÁ
mform_ignore=éÇÎÏÒÉÒÏ×ÁÔØ MX ÄÌÑ SMTP ÄÏÓÔÁ×ËÉ
mform_smtp=SMTP
mform_esmtp=òÁÓÛÉÒÅÎÎÏÅ SMTP
mform_smtp8=8-ÂÉÔ SMTP
mform_relay=SMTP ÔÒÁÎÓÌÑÔÏÒ
mform_local=ìÏËÁÌØÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
mform_prog=÷ÈÏÄ ÐÒÏÇÒÁÍÍÙ
mform_uucp=UUCP
mform_usenet=ðÏÓÌÁÔØ × USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÍÁÒÛÒÕÔÉÚÁÃÉÀ
mform_error=ïÛÉÂËÁ

msave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÍÁÒÛÒÕÔÉÚÁÃÉÀ
msave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÍÁÒÛÒÕÔÉÚÁÃÉÉ ÄÏÍÅÎÏ×
msave_edomain='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÄÏÍÅÎÁ
msave_edup=äÏÍÅÎÎÁÑ ÍÁÒÛÒÕÔÉÚÁÃÉÑ ÄÌÑ '$1' ÕÖÅ ÏÐÒÅÄÅÌÅÎÁ

generics_title=éÓÈÏÄÑÝÉÅ áÄÒÅÓÁ
generics_cannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ  ÉÓÈÏÄÑÝÉÅ  ÁÄÒÅÓÁ
generics_econfig=÷ÁÛ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ sendmail ÎÅ ÉÍÅÅÔ ÎÅÏÂÈÏÄÉÍÏÊ ÄÉÒÅËÔÉ×Ù ÄÌÑ ÉÓÈÏÄÑÝÉÈ ÁÄÒÅÓÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË.
generics_efile=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ $1 ÉÚ ËÏÔÏÒÏÇÏ ÓÔÒÏÉÔÓÑ ÂÁÚÁ ÄÁÎÎÙÈ ÉÓÈÏÄÑÝÉÈ ÁÄÒÅÓÏ× $2 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ <a href='$3'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÕÓÔÁÎÏ×ËÉ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ.
generics_desc1=éÓÈÏÄÑÝÉÅ ÁÄÒÅÓÎÙÅ ÐÏÄÓÔÁÎÏ×ËÉ ÐÏÚ×ÏÌÑÀÔ ×ÁÍ ÉÚÍÅÎÑÔØ ÁÄÒÅÓ <tt>From:</tt> ÄÌÑ ÐÏÞÔÙ ÏÔÓÙÌÁÅÍÏÊ ÉÚ ×ÁÛÅÊ ÓÉÓÔÅÍÙ, ÉÌÉ ÞÅÒÅÚ ×ÁÛÕ ÓÉÓÔÅÍÕ ÄÒÕÇÉÍÉ ÈÏÓÔÁÍÉ ×ÁÛÅÊ ÌÏËÁÌØÎÏÊ ÓÅÔÉ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÙÍ, ÅÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÉÍÅÅÔ ÎÅÓËÏÌØËÏ ÄÏÍÅÎÏ× É ×Ù ÈÏÔÉÔÅ, ÞÔÏÂÙ ÐÏÞÔÁ ÏÔ ÎÅËÏÔÏÒÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÉÓÈÏÄÉÌÁ ÉÚ ÄÒÕÇÉÈ ÄÏÍÅÎÏ×.
generics_desc2=úÁÍÅÔØÔÅ, ÞÔÏ ×Ù ÄÏÌÖÎÙ ÉÍÅÔØ ÚÁÐÉÓØ × ÔÁÂÌÉÃÅ <a href='$1'>ÉÓÈÏÄÑÝÉÈ ÄÏÍÅÎÏ×</a> ÄÌÑ ËÁÖÄÏÇÏ ÉÚ ÄÏÍÅÎÏ×, ÄÌÑ ÞØÉÈ ÁÄÒÅÓÏ× ×Ù ÈÏÔÉÔÅ ÓÄÅÌÁÔØ ÉÓÈÏÄÑÝÉÅ ÐÏÄÓÔÁÎÏ×ËÉ. ôÁËÖÅ ÉÍÅÊÔÅ × ×ÉÄÕ, ÞÔÏ ÐÏÄÓÔÁÎÏ×ËÁ ÉÓÈÏÄÑÝÉÈ ÁÄÒÅÓÏ× ÎÅ ÒÁÂÏÔÁÅÔ ÄÌÑ ÐÏÞÔÙ ÄÏÓÔÁ×ÌÑÅÍÏÊ ÌÏËÁÌØÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ.
generics_from=ðÏÞÔÁ ÏÔ..
generics_to=éÚÍÅÎÉÔØ ÎÁ..
generics_return=ÓÐÉÓÏË ÁÄÒÅÓÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË

gform_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÄÓÔÁÎÏ×ÏË
gform_create=óÏÚÄÁÎÉÅ ðÏÄÓÔÁÎÏ×ÏË
gform_from=ðÏÞÔÁ ÏÔ
gform_to=éÚÍÅÎÉÔØ ÎÁ
gform_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÔ ÉÓÈÏÄÑÝÉÊ ÁÄÒÅÓ

gsave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÉÓÈÏÄÑÝÉÅ ÁÄÒÅÓÁ
gsave_ecannot2=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÔ ÉÓÈÏÄÑÝÉÊ ÁÄÒÅÓ
gsave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÓÈÏÄÑÝÅÇÏ ÁÄÒÅÓÁ
gsave_efrom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ <tt>From:</tt> ÁÄÒÅÓÏÍ
gsave_ematch=áÄÒÅÓ <tt>From:</tt> ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó '$1'
gsave_eto='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏ×ÙÍ ÁÄÒÅÓÏÍ

cgs_title=éÓÈÏÄÑÝÉÅ äÏÍÅÎÙ
cgs_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÉÓÈÏÄÑÝÉÅ ÄÏÍÅÎÙ
cgs_header=éÓÈÏÄÑÝÉÅ ÁÄÒÅÓÎÙÅ ÄÏÍÅÎÙ
cgs_desc=îÅÚÁ×ÉÓÉÍÏ ÏÔ ÐÏÞÔÙ ÏÔÓÙÌÁÅÍÏÊ ÌÏËÁÌØÎÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ, sendmail ÂÕÄÅÔ ÔÏÌØËÏ ÏÓÕÝÅÓÔ×ÌÑÔØ ÐÏÄÓÔÁÎÏ×ËÕ <a href='$1'>ÉÓÈÏÄÑÝÉÈ ÁÄÒÅÓÏ×</a> ÄÌÑ ÐÏÞÔÙ ÏÔ ÈÏÓÔÏ× ÉÌÉ ÄÏÍÅÎÏ× ÐÅÒÅÞÉÓÌÅÎÎÙÈ × ÐÏÌÅ ÓÌÅ×Á. ôÁËÉÍ ÏÂÒÁÚÏÍ ÄÌÑ ÒÁÂÏÔÙ ÉÓÈÏÄÑÝÅÇÏ ÁÄÒÅÓÁ, ÄÏÍÅÎ <tt>From:</tt> ÁÄÒÅÓÁ ÄÏÌÖÅÎ ÂÙÔØ ×ËÌÀÞÅÎ × ÜÔÏÔ ÓÐÉÓÏË.
cgs_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÉÓÈÏÄÑÝÉÈ ÄÏÍÅÎÏ×
cgs_ehost='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÄÏÍÅÎÁ
cgs_eip='$1' Ñ×ÌÑÅÔÓÑ IP ÁÄÒÅÓÏÍ, ÎÅ ÄÏÍÅÎÏÍ

domains_title=äÏÍÅÎÎÁÑ ðÏÄÓÔÁÎÏ×ËÁ
domains_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ
domains_econfig=÷ÁÛ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ sendmail ÎÅ ÉÍÅÅÔ ÎÅÏÂÈÏÄÉÍÏÊ ÄÉÒÅËÔÉ×Ù ÄÌÑ ÐÏÄÓÔÁÎÏ×ËÉ ÄÏÍÅÎÏ×.
domains_efile=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ $1 ÉÚ ËÏÔÏÒÏÇÏ ÓÔÒÏÉÔÓÑ ÂÁÚÁ ÄÁÎÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË $2 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ <a href='$3'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÕÓÔÁÎÏ×ËÉ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ.
domains_desc=äÏÍÅÎÎÁÑ ÐÏÄÓÔÁÎÏ×ËÁ ÉÚÍÅÎÑÅÔ <tt>To:</tt> ÁÄÒÅÓ ÓÏÏÂÝÅÎÉÊ ÏÔÓÙÌÁÅÍÙÈ ×Ï×ÎÅ, ÔÒÁÎÓÌÉÒÕÅÍÙÈ ÞÅÒÅÚ ÉÌÉ ÄÏÓÔÁ×ÌÑÅÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. <tt>From:</tt> ÁÄÒÅÓ ÔÒÁÎÓÌÉÒÕÅÍÙÈ ÓÏÏÂÝÅÎÉÊ ÉÌÉ ÓÏÏÂÝÅÎÉÊ ÌÏËÁÌØÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÔÁËÖÅ ÉÚÍÅÎÑÅÔÓÑ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÙÍ ÅÓÌÉ ×ÁÛÅ ÄÏÍÅÎÎÏÅ ÉÍÑ ÉÚÍÅÎÉÌÏÓØ É ×Ù ÈÏÔÉÔÅ ÉÚÍÅÎÉÔØ ×ÓÅ ÐÏÐÁÄÁÀÝÉÅ Ë ×ÁÍ ÓÔÁÒÙÅ ÉÍÅÎÁ ÄÏÍÅÎÁ ÎÁ ÎÏ×ÙÅ.
domains_from=éÚ ÄÏÍÅÎÁ..
domains_to=÷ ÄÏÍÅÎ..
domains_return=ÓÐÉÓÏË ÄÏÍÅÎÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË

dform_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÄÓÔÁÎÏ×ËÉ
dform_create=óÏÚÄÁÎÉÅ ðÏÄÓÔÁÎÏ×ËÉ
dform_from=éÚ ÄÏÍÅÎÁ
dform_to=÷ ÄÏÍÅÎ
dform_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ

dsave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ
dsave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÄÏÍÅÎÎÏÊ ÐÏÄÓÔÁÎÏ×ËÉ
dsave_edomain='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÄÏÍÅÎÁ

access_title=Spam ëÏÎÔÒÏÌØ
access_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ spam ËÏÎÔÒÏÌØ
access_econfig=÷ÁÛ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ sendmail ÎÅ ÉÍÅÅÔ ÎÅÏÂÈÏÄÉÍÏÊ ÄÉÒÅËÔÉ×Ù ÄÌÑ spam ËÏÎÔÒÏÌÑ.
access_efile=ôÅËÓÔÏ×ÙÊ ÆÁÊÌ $1 ÉÚ ËÏÔÏÒÏÇÏ ÓÔÒÏÉÔÓÑ ÂÁÚÁ ÄÁÎÎÙÈ ÄÏÓÔÕÐÁ $2 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ. ÷ÏÚÍÏÖÎÏ ×ÁÍ ÎÅÏÂÈÏÄÉÍÏ ÉÚÍÅÎÉÔØ <a href='$3'>ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÕÓÔÁÎÏ×ËÉ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ.
access_desc1=óÐÏÓÏÂÎÏÓÔØ SendmailÁ Ë ËÏÎÔÒÏÌÀ spamÁ (ÐÏÞÔÏ×ÏÇÏ ÍÕÓÏÒÁ) ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÐÏÌÕÞÅÎÉÅ ÎÅÎÕÖÎÙÈ ÓÏÏÂÝÅÎÉÊ ÐÕÔÅÍ ÏÔÂÒÁÓÙ×ÁÎÉÑ ÐÏÞÔÙ ÐÏÌÕÞÁÅÍÏÊ Ó ÏÐÒÅÄÅÌÅÎÎÙÈ ÁÄÒÅÓÏ× É ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ÄÌÑ ÔÒÁÎÓÌÑÃÉÉ ÐÏÞÔÙ ÚÌÏÕÍÙÛÌÅÎÎÉËÏ×. ðÏ ÕÍÏÌÞÁÎÉÀ sendmail ÐÒÉÎÉÍÁÅÔ ÐÏÞÔÕ ÄÌÑ ÌÏËÁÌØÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó ÌÀÂÏÇÏ ÁÄÒÅÓÁ, ÎÏ ÚÁÐÒÅÝÁÅÔ ÔÒÁÎÓÌÉÒÏ×ÁÔØ ÐÏÞÔÕ ÞÅÒÅÚ ×ÁÛÕ ÓÉÓÔÅÍÕ ÌÀÂÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÉÌÉ ÐÏÞÔÏ×ÏÍÕ ÓÅÒ×ÅÒÕ. ïÂÙÞÎÏ ×Ù ÂÕÄÅÔÅ ÄÏÂÁ×ÌÑÔØ ÐÒÁ×ÉÌÁ ËÏÎÔÒÏÌÑ spamÁ ÄÌÑ ÏÔÂÒÁÓÙ×ÁÎÉÑ ÐÏÞÔÙ ÚÌÏÕÍÙÛÌÅÎÎÉËÏ× É ÐÒÁ×ÉÌÁ ÐÏÚ×ÏÌÑÀÝÉÅ ÄÒÕÇÉÍ ÐÏÞÔÏ×ÙÍ ÍÁÛÉÎÁÍ ×ÁÛÅÊ ÓÅÔÉ ÔÁÒÎÓÌÉÒÏ×ÁÔØ ÐÏÞÔÕ ÞÅÒÅÚ ×ÁÛÕ ÓÉÓÔÅÍÕ.
access_desc2=úÁÍÅÔØÔÅ, ÞÔÏ sendmail ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÏÚ×ÏÌÉÔ ÐÏÞÔÏ×ÙÍ ËÌÉÅÎÔÁÍ ×ÁÛÅÊ ÓÉÓÔÅÍÙ ÔÒÁÎÓÌÉÒÏ×ÁÔØ ÐÏÞÔÕ ÐÏ SMTP ÎÁ ÌÀÂÏÊ ÁÄÒÅÓ ÎÁÚÎÁÞÅÎÉÑ. ôÁËÉÍ ÏÂÒÁÚÏÍ ÎÅÔ ÎÅÏÂÈÏÄÉÔÏÓÔÉ ÄÏÂÁ×ÌÑÔØ ÎÏÍÅÒ ÌÏËÁÌØÎÏÊ ÓÅÔÉ <tt>127.0.0</tt> × ÓÐÉÓÏË ÒÁÚÒÅÛÅÎÎÙÈ ÄÌÑ ÔÒÁÎÓÌÑÃÉÉ.
access_source=éÓÔÏÞÎÉË..
access_action=äÅÊÓÔ×ÉÅ..
access_return=ÓÐÉÓÏË spam ËÏÎÔÒÏÌÑ

sform_edit=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÒÁ×ÉÌÁ Spam ëÏÎÔÒÏÌÑ
sform_create=óÏÚÄÁÎÉÅ ðÒÁ×ÉÌÁ Spam ëÏÎÔÒÏÌÑ
sform_source=ðÏÞÔÏ×ÙÊ ÉÓÔÏÞÎÉË
sform_type0=ðÏÞÔÏ×ÙÊ áÄÒÅÓ
sform_type1=óÅÔØ
sform_type2=ðÏÌØÚÏ×ÁÔÅÌØ
sform_type3=äÏÍÅÎ
sform_action=äÅÊÓÔ×ÉÅ
sform_ok=ðÒÉÎÑÔØ
sform_relay=òÁÚÒÅÛÉÔØ ÔÒÁÎÓÌÑÃÉÀ
sform_reject=ïÔÂÒÏÓÉÔØ
sform_discard=ïÔÂÒÏÓÉÔØ ÂÅÚ Õ×ÅÄÏÍÌÅÎÉÑ
sform_err=ëÏÄ ÏÛÉÂËÉ
sform_msg=óÏÏÂÝÅÎÉÅ
sform_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ spam ËÏÎÔÒÏÌØ

ssave_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÎÁÓÔÒÁÉ×ÁÔØ spam ËÏÎÔÒÏÌØ
ssave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÁ×ÉÌÁ spam ËÏÎÔÒÏÌÑ
ssave_etype0='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
ssave_etype1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ ÓÅÔÉ
ssave_etype2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÏÌØÚÏ×ÁÔÅÌÑ
ssave_etype3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÏÍÅÎÏÍ
ssave_ecode='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÄÏÍ SMTP ÏÛÉÂËÉ

relay_title=äÏÍÅÎÎÁÑ ôÒÁÎÓÌÑÃÉÑ
relay_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÔÒÁÎÓÌÑÃÉÀ
relay_eversion=ôÏÌØËÏ sendmail ×ÅÒÓÉÉ 8.9 É ×ÙÛÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÏÍÅÎÎÕÀ ÔÒÁÎÓÌÑÃÉÀ
relay_domains=äÏÍÅÎÙ Ó ÒÁÚÒÅÛÅÎÎÏÊ ÔÒÁÎÓÌÑÃÉÅÊ 
relay_desc1=åÓÌÉ ÎÅ ÒÁÚÒÅÛÅÎÏ × ÐÒÁ×ÉÌÁÈ <a href='$1'>spam ËÏÎÔÒÏÌÑ</a>, sendmail ÐÏÚ×ÏÌÉÔ ÏÓÕÝÅÓÔ×ÌÑÔØ ÔÒÁÎÓÌÑÃÉÀ × ÄÏÍÅÎÙ ÐÅÒÅÞÉÓÌÅÎÎÙÅ × ÐÏÌÅ ÓÌÅ×Á. ÷ÈÏÄÑÝÉÅ ÐÏÞÔÏ×ÙÅ ÓÏÏÂÝÅÎÉÑ ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÌÏËÁÌØÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ ÄÌÑ ÏÄÎÏÇÏ ÉÚ ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÄÏÍÅÎÏ× ÂÕÄÕÔ ÏÔÂÒÏÛÅÎÙ.
relay_desc2=åÓÌÉ ×ÁÛÁ ÓÉÓÔÅÍÁ ÆÕÎËÃÉÏÎÉÒÕÅÔ ËÁË ÛÌÀÚ ÄÌÑ ÎÅÓËÏÌØËÉÈ ÄÏÍÅÎÏ×, ËÏÔÏÒÙÅ ÎÅÄÏÓÔÕÐÎÙ ÎÁÐÒÑÍÕÀ ÉÚ×ÎÅ ×ÁÛÅÊ ÓÅÔÉ (ÉÓÐÏÌØÚÕÑ ÆÕÎËÃÉÀ <a href='$1'>ÄÏÍÅÎÎÏÊ ÍÁÒÛÒÕÔÉÚÁÃÉÉ</a>), ÔÏÇÄÁ ×ÓÅ ÜÔÉ ÄÏÍÅÎÙ ÄÏÌÖÎÙ ÂÙÔØ ÐÅÒÅÞÉÓÌÅÎÙ ÚÄÅÓØ.
relay_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÄÏÍÅÎÎÏÊ ÔÒÁÎÓÌÑÃÉÉ
relay_edomain='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÄÏÍÅÎÁ

mailq_title=ðÏÞÔÏ×ÁÑ ïÞÅÒÅÄØ
mailq_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÐÏÞÔÏ×ÕÀ ÏÞÅÒÅÄØ
mailq_id=ID ÓÏÏÂÝÅÎÉÑ
mailq_sent=ðÏÓÌÁÔØ
mailq_from=ïÔ
mailq_to=äÌÑ
mailq_status=óÔÁÔÕÓ
mailq_unknown=îÅÉÚ×ÅÓÔÎÏ
mailq_sending=ïÔÐÒÁ×ËÁ
mailq_dmsg=äÌÑ ÐÒÏÓÍÏÔÒÁ ÓÏÏÂÝÅÎÉÑ ÉÚ ÐÏÞÔÏ×ÏÊ ÏÞÅÒÅÄÉ ÎÁÖÍÉÔÅ ÎÅ ÅÇÏ ID × ÓÐÉÓËÅ ÎÉÖÅ.
mailq_force=äÌÑ ÎÅÍÅÄÌÅÎÎÏÊ ÄÏÓÔÁ×ËÉ ÓÏÏÂÝÅÎÉÊ ÉÚ ÏÞÅÒÅÄÉ <a href='$1'>ÖÍÉÔÅ ÓÀÄÁ</a>.
mailq_none=ïÞÅÒÅÄØ ÎÅ ÓÏÄÅÒÖÉÔ ÐÏÞÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÊ ÄÌÑ ÄÏÓÔÁ×ËÉ
mailq_return=ÐÏÞÔÏ×ÕÀ ÏÞÅÒÅÄØ

flushq_title=óÂÒÏÓ ïÞÅÒÅÄÉ
flushq_desc=áËÔÉ×ÉÚÁÃÉÑ ÐÏÐÙÔËÉ ÄÏÓÔÁ×ËÉ ÐÏÞÔÙ ËÏÍÁÎÄÏÊ $1 ..

delq_err=ïÛÉÂËÁ ÕÄÁÌÅÎÉÑ ÓÏÏÂÝÅÎÉÑ
delq_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÂÉÒÁÔØ ÓÏÏÂÝÅÎÉÑ ÉÚ ÏÞÅÒÅÄÉ
delq_locked=úÁÂÌÏËÉÒÏ×ÁÎÏ ÄÌÑ ÏÔÓÙÌËÉ

boxes_title=ðÏÞÔÏ×ÙÅ ñÝÉËÉ
boxes_user=ðÏÌØÚÏ×ÁÔÅÌØ
boxes_size=òÁÚÍÅÒ ÑÝÉËÁ
boxes_none=îÅÔ ÐÏÞÔÙ
boxes_return=ÐÏÞÔÏ×ÙÅ ÑÝÉËÉ
boxes_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÞÉÔÁÔØ ÐÏÞÔÕ

mail_title=ðÏÞÔÁ ðÏÌØÚÏ×ÁÔÅÌÑ
mail_from=ïÔ
mail_date=äÁÔÁ
mail_subject=ôÅÍÁ
mail_to=äÌÑ
mail_cc=ëÏÐÉÑ
mail_for=÷ $1
mail_compose=óÏÚÄÁÔØ ÎÏ×ÏÅ ÓÏÏÂÝÅÎÉÅ
mail_return=ÐÏÞÔÕ ÐÏÌØÚÏ×ÁÔÅÌÑ
mail_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÞÉÔÁÔØ ÐÏÞÔÕ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

view_title=þÔÅÎÉÅ ðÏÞÔÙ
view_desc=óÏÏÂÝÅÎÉÅ $1 × $2 
view_qdesc=óÏÏÂÝÅÎÉÅ $1 × ÏÞÅÒÅÄÉ
view_headers=ðÏÞÔÏ×ÙÅ ÚÁÇÏÌÏ×ËÉ
view_attach=÷ËÌÀÞÅÎÉÑ
view_reply=ïÔ×ÅÔÉÔØ
view_reply2=ïÔ×ÅÔÉÔØ ×ÓÅÍ
view_forward=ðÅÒÅÓÌÁÔØ
view_delete=õÄÁÌÉÔØ
view_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÞÉÔÁÔØ ÐÏÞÔÕ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

compose_title=óÏÚÄÁÎÉÅ óÏÏÂÝÅÎÉÑ
reply_title=ïÔ×ÅÔ ÎÁ óÏÏÂÝÅÎÉÅ
forward_title=ðÅÒÅÓÙÌËÁ óÏÏÂÝÅÎÉÑ
reply_headers=ðÏÞÔÏ×ÙÅ ÚÁÇÏÌÏ×ËÉ
reply_attach=ðÅÒÅÓÙÌÁÅÍÙÅ ×ËÌÀÞÅÎÉÑ
reply_attach2=÷ËÌÀÞÅÎÉÑ
reply_send=ïÔÏÓÌÁÔØ
reply_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÔÓÙÌÁÔØ ÐÏÞÔÕ × ËÁÞÅÓÔ×Å ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

send_err=ïÛÉÂËÁ ÐÒÉ ÏÔÓÙÌËÅ ÐÏÞÔÙ
send_eto=ïÔÓÕÔÓÔ×ÕÅÔ ÁÄÒÅÓ <tt>äÌÑ</tt>
send_title=ðÏÞÔÁ ÏÔÐÒÁ×ÌÅÎÁ
send_ok=ðÏÞÔÁ ÕÓÐÅÛÎÏ ÏÔÐÒÁ×ÌÅÎÁ ÄÌÑ $1
send_ecannot=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÏÔÓÙÌÁÔØ ÐÏÞÔÕ × ËÁÞÅÓÔ×Å ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

acl_opts=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ sendmail?
acl_cws=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÌÏËÁÌØÎÙÅ ÄÏÍÅÎÙ?
acl_masq=íÏÖÅÔ ËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÍÁÓËÉÒÏ×ËÕ?
acl_trusts=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏ×ÅÒÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ?
acl_cgs=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÉÓÈÏÄÑÝÉÅ ÄÏÍÅÎÙ?
acl_relay=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÔÒÁÎÓÌÑÃÉÀ?
acl_mailers=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÍÁÒÛÒÕÔÉÚÁÃÉÀ?
acl_access=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ spam ËÏÎÔÒÏÌØ?
acl_domains=íÏÖÅÔ ËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ ÄÏÍÅÎÎÕÀ ÐÏÄÓÔÁÎÏ×ËÕ?
acl_stop=íÏÖÅÔ ÓÔÁÒÔÏ×ÁÔØ É ÏÓÔÁÎÁ×ÌÉ×ÁÔØ sendmail?
acl_mailq=íÏÖÅÔ ÕÐÒÁ×ÌÑÔØ ÐÏÞÔÏ×ÏÊ ÏÞÅÒÅÄØÀ?
acl_viewdel=ðÒÏÓÍÏÔÒ É ÕÄÁÌÅÎÉÅ
acl_view=ôÏÌØËÏ ÐÒÏÓÍÏÔÒ
acl_virtusers=áÄÒÅÓÎÙÅ ÐÏÄÓÔÁÎÏ×ËÉ, ÒÅÄÁËÔÉÒÕÅÍÙÅ ÄÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
acl_none=îÉÞÅÇÏ
acl_all=÷ÓÅ
acl_matching=óÏ×ÐÁÄÁÀÝÉÅ Ó
acl_vtypes=ôÉÐÙ ÁÄÒÅÓÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË, ÒÅÄÁËÔÉÒÕÅÍÙÅ ÄÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
acl_vtype0=÷ÏÚ×ÒÁÔ ÏÛÉÂËÉ
acl_vtype1=äÌÑ ÄÏÍÅÎÁ
acl_vtype2=äÌÑ ÁÄÒÅÓÁ
acl_vmax=íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÁÄÒÅÓÎÙÈ ÐÏÄÓÔÁÎÏ×ÏË
acl_unlimited=îÅÏÇÒÁÎÉÞÅÎÏ
acl_aliases=ðÓÅ×ÄÏÎÉÍÙ, ÒÅÄÁËÔÉÒÕÅÍÙÅ ÄÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
acl_atypes=ôÉÐÙ ÐÓÅ×ÄÏÎÉÍÏ×, ÒÅÄÁËÔÉÒÕÅÍÙÅ ÄÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
acl_atype1=ðÏÞÔÏ×ÙÅ ÁÄÒÅÓÁ
acl_atype2=áÄÒÅÓÁ × ÆÁÊÌÅ
acl_atype3=úÁÐÉÓØ × ÆÁÊÌ
acl_atype4=ðÅÒÅÄÁÞÁ × ÐÒÏÇÒÁÍÍÕ
acl_amax=íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÐÓÅ×ÄÏÎÉÍÏ×
acl_outgoing=éÓÈÏÄÑÝÉÅ ÁÄÒÅÓÁ, ÒÅÄÁËÔÉÒÕÅÍÙÅ ÄÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ
acl_read=ðÏÌØÚÏ×ÁÔÅÌÉ, ÞØÑ ÐÏÞÔÁ ÍÏÖÅÔ ÂÙÔØ ÐÒÏÞÉÔÁÎÁ
acl_users=ðÏÌØÚÏ×ÁÔÅÌÉ
07070100028766000081a40000000000000002000000013d1fe2d300005d53000000200000000000000000000000000000001700000003reloc/sendmail/lang/sv    index_title=Inställningar för sendmail
index_econfig=Inställningsfilen $1 för sendmail finns inte. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga.
index_eversion=Din inställningsfil för sendmail verkar inte höra till den senaste sendmail-versionen. Webmin stödjer endast version 8.8 och högre.
index_epath=Den exekverbara sendmail-filen $1 finns inte på ditt system. Dina <a href='$2'>modulinställningar</a> kanske är felaktiga eller också har sendmail inte installerats.
index_return=inställningar för sendmail
index_stop=Stanna sendmail
index_stopmsg=Tryck på denna knapp för att stanna den körande sendmail-processen. Detta gör så att ingen e-post från andra system delas ut till lokala användare och hindrar klienter som använder detta system som e-postserver att skicka e-post.
index_start=Starta sendmail
index_startmsg=Tryck på denna knapp för att starta sendmail med kommando $1. Innan sendmail startats delas ingen e-post från andra system ut till lokala användare, och e-postklienter kan inte använda detta system som e-postserver.

opts_title=Inställningar för sendmail
opts_ecannot=Du får inte ändra sendmail-inställningarna
opts_ds=Skicka utgående e-post via dator
opts_direct=Dela ut direkt
opts_dr=Skicka e-post till okända användare vidare till dator
opts_dh=Skicka e-post till lokala användare vidare till dator
opts_local=Dela ut lokalt
opts_queuela=Maximal genomsnittlig last för sändning
opts_refusela=Maximal genomsnittlig last för mottagning
opts_maxch=Maximalt antal underprocesser
opts_throttle=Maximalt antal uppkopplingar/sekund
opts_minqueueage=Minsta väntetid före återutsändningsförsök
opts_runsize=Maximal köstorlek
opts_queuereturn=Tid tills servern ska sluta försöka
opts_queuewarn=Tid tills varning skickas
opts_queue=Katalog för e-postkö
opts_postmaster=Skicka felmeddelanden till
opts_forward=Användarnas forward-filer
opts_minfree=Nedre gräns för ledigt diskutrymme
opts_maxmessage=Maximal brevstorlek
opts_loglevel=Loggnivå
opts_mimebounce=MIME-koda studsade brev?
opts_default=Standard
opts_save=Spara och genomför
opts_err=Det gick inte att spara inställningarna
opts_ehost='$1' är inte ett giltigt dator- eller domännamn
opts_einvalid='$1' är inte ett giltigt värde för '$2'
opts_blame=Inställningar för filskydd
opts_selected=Valda ...
opts_blocks=blocks
opts_bytes=bytes
opts_dmode=Sändningsmod
opts_background=Bakgrunden
opts_queue-only=köa endast
opts_interactive=Interaktiva
opts_deferred=Försenade

aliases_title=E-postalias
aliases_ecannot=Du får inte ändra alias
aliases_addr=Adress
aliases_to=Alias för ...
aliases_type1=Adress $1
aliases_type2=Adresser i fil $1
aliases_type3=Fil $1
aliases_type4=Program $1
aliases_type5=Automatsvarsfil $1
aliases_none=Inga
aliases_return=aliaslista

aform_type0=Inget
aform_type1=E-postadress
aform_type2=Adresser i fil
aform_type3=Skriv till fil
aform_type4=Skicka till program
aform_type5=Automatsvar från fil
aform_edit=Ändra alias
aform_create=Skapa alias
aform_name=Adress
aform_enabled=Aktiverat?
aform_val=Alias för
aform_afile=Ändra ...
aform_return=alias

afile_title=Ändra adressfil
afile_desc=Använd inmatningsrutan nedan för att ändra adresserna i filen $1
afile_efile=Du får inte ändra $1
afile_undo=Ångra ändringar

rfile_title=Ändra filen för automatsvar
rfile_desc=Använd inmatningsrutan nedan för att ändra automatsvarsmeddelandet i $1. Meddelandet får innehålla följande makron: $SUBJECT, $FROM, $TO, $DATE och $BODY. Dessa kommer att expanderas då automatsvaret aktiveras.
rfile_efile=Du får inte ändra $1.
rfile_undo=Ångra ändringar

asave_err=Det gick inte att spara alias
asave_ecannot2=Du får inte ändra alias
asave_ecannot=Du får inte ändra detta alias
asave_emax=Du får inte skapa fler än $1 alias
asave_eaddr='$1' är inte en giltig adress
asave_ealready=Det finns redan ett alias för '$1'
asave_ematch=Du får bara skapa alias som stämmer överens med '$1'
asave_etype=Du får inte skapa alias av denna typ
asave_etype1='$1' är inte en giltig e-postadress
asave_etype2=Adressfilen '$1' är inte giltig eller finns inte
asave_etype3='$1' är inte ett giltigt filnamn
asave_etype4='$1' är inte ett giltigt program eller finns inte
asave_etype5=Automatsvarsfilen '$1' är inte giltig eller finns inte
asave_etype4none=Du har inte angivit något program

cws_title=Lokala domäner
cws_ecannot=Du får inte ändra lokala domäner
cws_domains=Domäner som administreras av denna server
cws_desc1=Bortsett från e-post till $1 accepterar sendmail för lokal utdelning endast e-post till datorer och domäner som räknats upp i textrutan till vänster. Om du vill att din e-postserver ska hantera flera e-postdomäner måste alla dessa räknas upp i denna ruta.
cws_desc2=Observera att det normalt inte räcker med att ta med en domän i listan. Du måste också skapa en DNS-post för domänen, som pekar på ditt system.
cws_err=Det gick inte att spara lokala domäner
cws_ehost='$1' är inte ett giltigt dator- eller domännamn
cws_eip='$1' är en IP-adress, inte en domän

masq_title=Maskering av domäner
masq_ecannot=Du får inte konfigurera maskeringen
masq_domain=Maskera som domän
masq_domains=Domäner som ska maskeras
masq_desc1=Om du har angivit en domän högst upp kommer sendmail att göra så att <tt>From</tt>-adressen för all utgående e-post ser ut att finnas i denna domän. Dessutom kommer alla e-postbrev som passerar ditt system från någon dator eller domän i listan till vänster också att få sina <tt>From</tt>-adresser ändrade på detta vis. Observera att användare kan gå runt domänmaskeringen som definieras här genom att använda <a href='$1'>Utgående adresser</a>-sidan.
masq_desc2=Detta tillval kan vara användbart om du vill att e-post från ditt system ska se ut att komma från domänen istället för från en enskild dator, eller om ditt system är e-postserver för datorer som kör sina egna e-postservrar.
masq_err=Det gick inte att spara maskering av domäner
masq_edomain='$1' är inte en giltig domän att maskera som
masq_ehost='$1' är inte ett giltigt dator- eller domännamn
masq_eip='$1' är en IP-adress, inte en domän

trusts_title=Betrodda användare
trusts_ecannot=Du får inte ändra betrodda användare
trusts_users=Lokala användare som sendmail litar på
trusts_desc=Om en lokal användare försöker skicka e-post, kommer sendmail endast att tillåta användaren att ändra <tt>From:</tt>-adressen om han/hon finns på listan till vänster. Denna restriktion finns för att förhindra att användare skickar e-post med falska avsändaradresser från ditt system.
trusts_err=Det gick inte att spara betrodda användare
trusts_euser='$1' är inte en giltig användare

virtusers_title=Adressomskrivningar
virtusers_ecannot=Du får inte ändra adressomskrivningar
virtusers_edirective=Din inställningsfil för sendmail innehåller inte nödvändigt direktiv för adressomskrivning.
virtusers_efile=Textfilen $1 som adressomskrivningsdatabasen $2 byggs upp från finns inte. Du kanske behöver ändra i <a href='$3'>modulinställningarna</a> så att rätt sökväg används.
virtusers_desc1=Adressomskrivningar liknar <a href='$1'>alias</a>, men är bättre anpassade till ett system som hanterar flera e-postdomäner. De kan användas för att dirigera om e-post för en hel domän till en adress, hantera användare med samma namn i skilda domäner och skicka vidare all e-post från en domän till en annan.
virtusers_desc2=Observera att du måste ha lagt till en post i tabellen över <a href='$1'>lokala domäner</a> för att domänen ska kunna användas för adressomskrivning. Dessutom måste det finnas en DNS-MX-post för varje domän som pekar på ditt system.
virtusers_for=E-post till ...
virtusers_to=Skicka till ...
virtusers_error=Fel $1
virtusers_domain=Domän $1
virtusers_address=Adress $1
virtusers_return=adressomskrivningslista

vform_edit=Ändra adressomskrivning
vform_create=Lägg till adressomskrivning
vform_for=E-post till
vform_address=Adress
vform_domain=Domän
vform_to=Skicka till
vform_msg=meddelande
vform_error=Skicka felmeddelande
vform_err_nouser=ingen användare
vform_err_nohost=ingen dator
vform_err_unav=otillgänglig
vform_err_temp=tillfälligt fel
vform_err_proto=protokoll
vform_end=Gå till slutet
vform_ecannot=Du får inte ändra denna adressomskrivning

vsave_ecannot=Du får inte ändra adressomskrivningar
vsave_ecannot2=Du får inte ändra denna adressomskrivning
vsave_emax=Du får inte lägga upp mer än $1 adressomskrivningar
vsave_err=Det gick inte att spara adressomskrivningen
vsave_efrom='$1' är inte en giltig adress
vsave_efromdup=Det finns redan en adressomskrivning för '$1'
vsave_edom='$1' är inte en giltig domän
vsave_edomdup=Det finns redan en adressomskrivning för '$1'
vsave_ematch=Ursprungsadressen stämmer inte med '$1'
vsave_ecannot3=Du får inte lägga upp omskrivningar till adresser
vsave_eaddr='$1' är inte en giltig adress
vsave_ecannot4=Du får inte lägga upp omskrivningar till domäner
vsave_edomdom=Du kan bara skriva om en domän till en annan domän
vsave_ecannot5=Du får inte lägga upp omskrivningar som ger fel

mailers_title=Domänrouting
mailers_cannot=Du får inte ändra domänroutingen
mailers_edirective=Din inställningsfil för sendmail innehåller inte nödvändigt direktiv för domänrouting.
mailers_efile=Textfilen $1 som domänroutingdatabasen $2 byggs upp från finns inte. Du kanske behöver ändra dina <a href='$3'>modulinställningar</a> så att rätt sökväg används.
mailers_desc1=Domänrouting är ett sätt att definiera en speciell överföringsmetod för e-post till vissa domäner. Detta är användbart om ditt system är gateway för e-postservrar som inte kan nås utifrån eller om du vill routa all e-post från en domän genom en annan server.
mailers_desc2=Det bör <b>inte</b> finnas någon post i listan över <a href='$1'>lokala domäner</a> för de routade domänerna. Däremot bör det finnas en DNS-MX-post som pekar på ditt system för varje domän som systemet agerar gateway för.
mailers_for=E-post till ...
mailers_delivery=Befordran
mailers_to=Skicka till ...
mailers_return=domänroutinglista

mform_edit=Ändra routing
mform_create=Lägg till routing
mform_for=E-post till
mform_host=Dator
mform_domain=Domän
mform_delivery=Befordran
mform_to=Skicka till
mform_ignore=Ignorera MX för SMTP-befordran
mform_smtp=SMTP
mform_esmtp=Utökad SMTP
mform_smtp8=8-bitars-SMTP
mform_relay=SMTP-relä
mform_local=Lokal användare
mform_prog=Skicka till program
mform_uucp=UUCp
mform_usenet=Posta till USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Fel
mform_ecannot=Du får inte ändra domänrouting

msave_ecannot=Du får inte ändra domänrouting
msave_err=Det gick inte att spara domänrouting
msave_edomain='$1' är inte en giltig dator eller domän
msave_edup=Det finns redan en domänrouting för '$1'

generics_title=Utgående adresser
generics_cannot=Du får inte ändra utgående adresser
generics_econfig=Din inställningsfil för sendmail innehåller inte nödvändigt direktiv för omskrivning av utgående adresser.
generics_efile=Textfilen $1 som databasen $2 för utgående adresser byggs upp från finns inte. Du kanske behöver ändra dina <a href='$3'>modulinställningar</a> så att rätt sökväg används.
generics_desc1=Omskrivning av utgående adresser gör att du kan ändra <tt>From:</tt>-adresser på e-postbrev som skickas från ditt system eller skickas via ditt system från andra datorer på det lokala nätverket. Detta är användbart om systemet hyser flera domäner och du vill att e-post från vissa användare ska se ut att komma från en annan domän.
generics_desc2=Observera att det måste finnas en post i tabellen för<a href='$1'>utgående domäner</a> för varje domän med adresser som du vill ha utgående adressomskrivning för. Observera också att adressomskrivningen inte fungerar för e-postbrev till lokala användare.
generics_from=E-post från ...
generics_to=Ändra till ...
generics_return=adressomskrivningslista

gform_edit=Ändra adressomskrivning
gform_create=Lägg till adressomskrivning
gform_from=E-post från
gform_to=Ändra till
gform_ecannot=Du får inte ändra denna utgående adress

gsave_ecannot=Du får inte ändra utgående adresser
gsave_ecannot2=Du får inte ändra denna utgående adress
gsave_err=Det gick inte att spara utgående adresser
gsave_efrom='$1' är inte en giltig avsändaradress
gsave_ematch=Avsändaradressen stämmer inte med '$1'
gsave_eto='$1' är inte en giltig ny adress

cgs_title=Utgående domäner
cgs_ecannot=Du får inte ändra utgående domäner
cgs_header=Utgående adressdomäner
cgs_desc=Bortsett från e-post som skickas av lokala användare kommer sendmail endast att utföra omskrivning av <a href='$1'>utgående adresser</a> för e-post från datorer och domäner som angivit i textrutan till höger. För att en omskrivning för en utgående adress ska fungera måste alltså domänen i avsändaradressen finnas i denna lista.
cgs_err=Det gick inte att spara utgående domäner
cgs_ehost='$1' är inte ett giltigt dator- eller domännamn
cgs_eip='$1' är en IP-adress, inte en domän

domains_title=Domänomskrivning
domains_ecannot=Du får inte ändra domänomskrivningar
domains_econfig=Din inställningsfil för sendmail innehåller inte nödvändigt direktiv för domänomskrivning.
domains_efile=Textfilen $1 som databasen $2 för domänomskrivningar byggs upp från finns inte. Du kanske behöver ändra dina <a href='$3'>modulinställningar</a> så att rätt sökväg används.
domains_desc=Domänomskrivningar ändrar <tt>To:</tt>-adressen för e-post skickad från, genom eller till ditt system.<tt>From:</tt>adressen för reläade e-postbrev och brev till lokala användare ändras också. Detta är användbart om du byter domännamn och vill ändra alla förekomster av det gamla namnet till det nya.
domains_from=Från domän ...
domains_to=Till domän ...
domains_return=domänomskrivningslista

dform_edit=Ändra omskrivning
dform_create=Lägg till omskrivning
dform_from=Från domän
dform_to=Till domän
dform_ecannot=Du får inte ändra domänomskrivningar

dsave_ecannot=Du får inte ändra domänomskrivningar
dsave_err=Det gick inte att spara domänomskrivningar
dsave_edomain='$1' är inte ett giltigt domännamn

access_title=Spam-kontroll
access_ecannot=Du får inte konfigurera spam-kontrollen
access_econfig=Din inställningsfil för sendmail innehåller inte nödvändigt direktiv för spam-kontroll.
access_efile=Textfilen $1 som databasen $2 för spam-kontroll byggs upp från finns inte. Du kanske behöver ändra dina <a href='$3'>modulinställningar</a> så att rätt sökväg används.
access_desc1=Sendmails spam-kontroll gör att dina användare kan slippa spam genom att e-post från vissa adresser kastas. Kontrollen kan också användas för att hindra spammare att använda ditt system för att skicka ut e-post. Standardinställningen är att sendmail accepterar e-post från alla adresser till lokala användare, men att den inte skickar vidare e-post från en annan e-postserver. Vanligtvis måste du alltså själv lägga till regler för att kasta e-post från spammare och för att tillåta andra e-postservrar att skicka e-post via ditt system.
access_desc2=Observera att sendmail som standard tillåter e-postklienter på ditt system att skicka vidare e-post via SMTP vart som helst. Detta innebär att du inte behöver lägga till det lokala nätverket <tt>127.0.0</tt> till listan över nätverk som får skicka post genom systemet.
access_source=Ursprung ...
access_action=Åtgärd ...
access_return=spam-kontrollista

sform_edit=Ändra spam-regel
sform_create=Lägg till spam-regel
sform_source=E-postursprung
sform_type0=E-postadress
sform_type1=Nätverk
sform_type2=Användare
sform_type3=Domän
sform_action=Åtgärd
sform_ok=Acceptera
sform_relay=Tillåt reläande
sform_reject=Kasta
sform_discard=Kasta utan felmeddelande
sform_err=Felkod
sform_msg=Meddelande
sform_ecannot=Du får inte ändra spam-kontrollen

ssave_ecannot=Du får inte ändra spam-kontrollen
ssave_err=Det gick inte att spara spam-regeln
ssave_etype0='$1' är inte en giltig adress
ssave_etype1='$1' är inte en giltig nätverksadress
ssave_etype2='$1' är inte ett giltigt användarnamn
ssave_etype3='$1' är inte en giltig domän
ssave_ecode='$1' är inte en giltig SMTP-felkod

relay_title=Reläa domäner
relay_ecannot=Du får inte ändra reläade domäner
relay_eversion=Endast sendmail version 8.9 och högre stödjer reläade domäner.
relay_domains=Domäner tillåtna att reläa till
relay_desc1=Sendmail reläar endast till domäner som tillåts via <a href='$1'>spam-reglerna</a> och domäner som angivits i textrutan till vänster. Inkommande e-post som inte ska till någon lokal användare eller någon här angiven domän kommer att kastas.
relay_desc2=Om ditt system agerar gateway för andra domäner som inte är direkt tillgängliga från utsidan av ditt nätverk (med hjälp av <a href='$1'>domänrouting</a>), måste alla dessa domäner anges här.
relay_err=Det gick inte att spara reläade domäner
relay_edomain='$1' är inte ett giltigt domännamn

mailq_title=E-postkö
mailq_ecannot=Du får inte titta på e-postkön
mailq_id=E-post-ID
mailq_sent=Sänt
mailq_from=Från
mailq_to=Till
mailq_size=Storlek
mailq_status=Status
mailq_unknown=Okänd
mailq_sending=Skickar
mailq_dmsg=Klicka på ett ID i ovanstående lista för att få upp brevet från e-postkön.
mailq_force=<a href='$1'>Tryck här</a> för att omedelbart skicka köad e-post.
mailq_none=E-postkön är tom.
mailq_return=e-postkö
mailq_delete=Ta bort de valda meddelandena

flushq_title=Skicka köade brev
flushq_desc=Försöker skicka köad e-post nu med kommando $1 ...

delq_err=Det gick inte att ta bort brevet
delq_ecannot=Du får inte ta bort brevet
delq_locked=Filen är för tillfället låst eftersom brev skickas
delq_enone=Du har inte valt något brev som ska tas bort
delq_title=Tar bort brev
delq_file=Tar bort brevfil file $1 ...
delq_efile=ogiltigt filnamn!
delq_egone=redan borttaget eller skickat
delq_elocked=låst eftersom brev skickas
delq_ok=klart

boxes_title=Användarnas brevlådor
boxes_user=Användare
boxes_size=Storlek på brevlåda
boxes_none=Inga brev
boxes_return=brevlådor
boxes_ecannot=Du får inte läsa e-post

mail_title=Användar-e-post
mail_from=Från
mail_date=Datum
mail_subject=Ärende
mail_to=Till
mail_cc=Kopia till
mail_bcc=Osynlig kopia till
mail_pri=Prioritet
mail_highest=Högsta
mail_high=Hög
mail_normal=Normal
mail_low=Låg
mail_lowest=Lägsta
mail_for=I $1
mail_size=Storlek
mail_delete=Radera angivna brev
mail_compose=Skriv nytt brev
mail_return=användarpost
mail_pos=Brev $1 till $2 i $3
mail_none=Denna brevlåda är tom
mail_ecannot=Du får inte läsa e-post till denna användare
mail_all=Välj allt
mail_invert=Välj allt utom redan valt
mail_search=Sök meddelanden där
mail_body=Brevkroppen
mail_match=innehåller
mail_ok=Sök
mail_nonefrom=Ingen

view_title=Läs e-post
view_desc=Brev $1 i $2
view_qdesc=Köad e-post $1
view_headers=Rubriker
view_attach=Bilagor
view_reply=Svara
view_reply2=Svara till alla
view_forward=Skicka vidare
view_delete=Radera
view_ecannot=Du får inte läsa e-post till denna användare

compose_title=Skriv brev
reply_title=Svara på brev
forward_title=Skicka vidare brev
reply_headers=Rubriker
reply_attach=Vidaresända bilagor
reply_attach2=Bilagor
reply_send=Skicka
reply_ecannot=Du får inte skicka e-post som denna användare

send_err=Det gick inte att skicka brevet
send_eto=Mottagaradress saknas
send_efrom=Avsändaradress saknas
send_title=Skickat brev
send_ok=Brevet skickat till $1
send_ecannot=Du får inte skicka e-post som denna användare
send_esmtp=SMTP-kommando $1 misslyckades: $2
send_efile=Den bifogade filen $1 finns inte
send_eattach=Den sammanlagda storleken på bilagorna får inte vara större än $1 kB
send_eperms=Användare $1 kan inte läsa $2
send_eperms2=Du får inte skicka filen $1

delete_ecannot=Du får inte radera e-post från denna användare
delete_enone=Du har inte angivit vilket meddelande som ska tas bort

search_title=Sökresultat
search_ecannot=Du får inte söka i denna användares e-post
search_ematch=Du måste ange en text som brevet ska innehålla
search_none=Inget brev passade in på angivna villkor
search_results=Brev som matchar $1 ...

file_title=Ändra Sendmail-filen
file_desc=Använd inmatningsrutan nedan för att manuellt ändra i Sendmail-filen $1
file_undo=Ångra ändringar
file_edit=Ändra $1 manuellt
file_ealiases=Du kan bara ändra en alias-fil om du har tillgång till alla alias.
file_evirtusers=Du kan bara ändra adressöversättningsfilen om du har tillgång till alla adressöversättningar. 
file_emailers=Du får inte ändra domänroutingsfilen.
file_egenerics=Du får bara ändra filen för utgående adresser om du har tillgång till alla utgående adresser.
file_edomains=Du får inte ändra domänöversättningsfilen. 
file_eaccess=Du får inte ändra spam-kontrollfilen. 
file_emode=Okänd mode!
file_err=Det gick inte att ändra filen

acl_opts=Kunna ändra sendmail-inställningar?
acl_cws=Kunna ändra lokala domäner?
acl_masq=Kunna konfigurera maskering av domäner?
acl_trusts=Kunna ändra betrodda användare?
acl_cgs=Kunna ändra utgående domäner?
acl_relay=Kunna ändra reläade domäner?
acl_mailers=Kunna konfigurera domänrouting?
acl_access=Kunna konfigurera spam-kontroll?
acl_domains=Kunna konfigurera domänomskrivning?
acl_stop=Kunna starta och stanna sendmail?
acl_mailq=Kunna göra ingrepp i e-postkön?
acl_viewdel=Granska och radera
acl_view=Endast granska
acl_virtusers=Adressomskrivningar som denna användare får ändra
acl_none=Inga
acl_same=Användare med samma namn
acl_all=Alla
acl_matching=Som stämmer med
acl_vtypes=Adressomskrivningstyper som denna användare får ändra
acl_vtype0=Ge fel
acl_vtype1=Till domän
acl_vtype2=Till adress
acl_vmax=Maximalt antal adressomskrivningar
acl_unlimited=Obegränsat
acl_aliases=Alias som denna användare får ändra
acl_atypes=Aliastyper som denna användare får ändra
acl_atype1=E-postadress
acl_atype2=Adresser i fil
acl_atype3=Skriv till fil
acl_atype4=Skicka till program
acl_atype5=Automatsvar
acl_amax=Maximalt antal alias
acl_outgoing=Utgående adresser som denna användare får ändra
acl_read=Användare vars e-post får läsas
acl_users=Endast användare
acl_userse=Alla utom användare
acl_usersg=Medlemmar i grupp
acl_from=Tillåtna avsändaradresser
acl_any=Alla
acl_fdoms=brevlåda@domäner
acl_faddrs=Angivna adresser
acl_fdom=valfri adress@domän
acl_apath=Begränsa filer och program till katalog
acl_attach=Maximal sammanlagd storlek på bilagor 

log_opts=Ändrade sendmail-inställningar
log_alias_create=Lade till alias $1
log_alias_modify=Modifierade alias $1
log_alias_delete=Tog bort alias $1
log_alias_manual=Ändrade aliasfilen $1 för hand
log_cws=Ändrade lokala domäner
log_masq=Ändrade domänmaskering
log_trusts=Ändrade betrodda användare
log_virtuser_create=Lade till adressomskrivning $1
log_virtuser_modify=Modifierade adressomskrivning $1
log_virtuser_delete=Tog bort adressomskrivning $1
log_virtuser_manual=Ändrade adressomskrivningsfilen $1 för hand
log_mailer_create=Lade till domänrouting $1
log_mailer_modify=Modifierade domänrouting $1
log_mailer_delete=Tog bort domänrouting $1
log_mailer_manual=Ändrade domänroutingfilen $1 för hand
log_generic_create=Lade till utgående adress $1
log_generic_modify=Modifierade utgående adress $1
log_generic_delete=Tog bort utgående adress $1
log_generic_manual=Ändrade filen $1 med utgående adresser för hand
log_cgs=Ändrade utgående domäner
log_domain_create=Lade till domänomskrivning $1
log_domain_modify=Modifierade domänomskrivning $1
log_domain_delete=Tog bort domänomskrivning $1
log_domain_manual=Ändrade domänomskrivningsfilen $1 för hand
log_access_create=Lade till spam-kontroll för $1
log_access_modify=Modifierade spam-kontroll för $1
log_access_delete=Tog bort spam-kontroll för $1
log_access_manual=Ändrade spam-kontrollfilen $1 för hand
log_relay=Ändrade reläade domäner
log_flushq=Skickade köade brev
log_delmailq=Tog bort brev från $1 från kön
log_delmailqs=Tog bort $1 brev från kön
log_stop=Stannade sendmail-demonen
log_start=Startade sendmail-demonen
log_delmail=Tog bort $1 brev från $2
log_send=Skickade e-post till $1

match_from=From: matchar
match_subject=Subject: matchar
match_to=To: matchar
match_cc=Cc: matchar
match_date=Date: matchar
match_body=Innehållet matchar
match_size=Storleken mer än
 07070100028767000081a40000000000000002000000013d1fe2d300005b92000000200000000000000000000000000000001700000003reloc/sendmail/lang/tr    index_title=Sendmail Yapýlandýrmasý
index_econfig=Sendmail yapýlandýrma dosyasý $1 mevcuut deðil.Sizin <a href='$2'>modül yapýlandýrmanýz</a> doðru olmayabilir
index_eversion=Sendmail yapýlandýrma dosyanýzýn versiyonu belirlenenden küçük.Webmin sadece Sendmail 8.8 ve üstünü destekler
index_epath=Sendmail çalýþtýrýlabilir dosyasý sisteminize kurulu deðil.Sizin<a href='$2'>modül yapýlandýrma</a> dosyanýz doðru olmayabilir ya da sisteminizde sendmail kurulu olmayabilir
index_return=sendmail yapýlandýrmasý
index_stop=Sendmail'i Durdur
index_stopmsg=Bu butonu týklayarak çalýþan sendmail iþlemini durdurabilirsiniz. Durduðunda diðer sistemlerden yerel kullanýcýlara gönderilen postalar duracak ve posta göndermek için posta sunucusu kullanan istemcilerin iþlemleri engellenecektir
index_start=Sendmail'i Çalýþtýr
index_startmsg=Bu butonu týklayarak sendmail'in çalýþmasýný saðlayabilirsiniz. Bu iþlem bitene kadar diðer sistemlerden yerel kullanýcýlara posta gelmeyecek ve posta göndermek için posta sunucusu olarak kullanan istemciler kullanamayacaktýr

opts_title=Sendmail Seçenekleri
opts_ecannot=Sendmail seçeneklerini deðiþtirmeye izininiz yoktur
opts_ds=Dýþ postalarý makineye gönder
opts_direct=Doðrudan gönder
opts_dr=Mutlak kullanýcý isimlerini makineye gönder
opts_dh=Yerel kullanýcýlar için postayý makineye döndür
opts_local=Yerel olarak daðýt
opts_queuela=Gönderme için en çok yükleme sýnýrý
opts_refusela=Almak için en çok yükleme sýnýrý
opts_maxch=En çok çocuk iþlem sayýsý
opts_throttle=En çok / saniye
opts_minqueueage=Göndermeden önceki en kýsa zaman
opts_runsize=En büyük kuyruk boyutu
opts_queuereturn=Vazgeçilmeden önceki süre
opts_queuewarn=Gönderme uyarýsýndan önceki süre
opts_queue=Posta kuyruk dizini
opts_postmaster=Hata mesajlarý gönder
opts_forward=Kullanýcý döndürme dosyalarý
opts_minfree=En az boþ disk alaný
opts_maxmessage=En büyük mesaj boyutu
opts_loglevel=Log seviyesi
opts_mimebounce=Sýçrama mesajlarýný MIME þifrele?
opts_default=Öntanýmlý
opts_save=Kaydet ve Uygula
opts_err=Seçeneklerin kaydedilmesinde hata oluþtu
opts_ehost='$1' geçerli bir makine ya da alan ismi deðil
opts_einvalid='$1', '$2' için geçerli bir deðer deðil
opts_blame=Dosya güvenlik seçenekleri
opts_selected=Seçili..
opts_blocks=blok
opts_bytes=byte
opts_dmode=Daðýtýcý modu
opts_background=Arka plan
opts_queue-only=Sadece kuyruk
opts_interactive=Etkileþimli
opts_deferred=Ertelendi

aliases_title=Posta Takma Adlarý
aliases_ecannot=Takma adlarý deðiþtirmenize izin verilmedi
aliases_addr=Adresler
aliases_to=Takma isim ..
aliases_type1=Adres $1
aliases_type2=$1 dosyasýndaki adresler
aliases_type3=$1 dosyasý
aliases_type4=$1 programý
aliases_type5=$1 dosyasýný geri gönder
aliases_none=Hiçbiri
aliases_return=takma isim listesi

aform_type0=Hiçbiri
aform_type1=E-posta adresi
aform_type2=Dosyadaki adresler
aform_type3=Dosyaya yaz
aform_type4=Programý besle 
aform_type5=Dosyadan geri gönder
aform_edit=Takma isimleri deðiþtir
aform_create=Takma isim oluþtur
aform_name=Adres
aform_enabled=Geçerli mi?
aform_val=Takma isim
aform_afile= Deðiþtir...
aform_return=takma isim

afile_title=Adres Dosyasýný Deðiþtir
afile_desc=$1 dosyasýndaki adresleri deðiþtirmek için düz metin yazýsý kutusunu kullanýnýz.
afile_efile=$1'i deðiþtirmek için izininiz yoktur.
afile_undo=Deðiþiklikleri Geri Al

rfile_title=Otomatik Geri Gönderilem Mesajý Deðiþtir
rfile_desc=$1'deki otomatik geri gönderilem mesajý deðiþtirmek için düz metin yazýsý alanýný kullanýnýz.Geri gönderme aktif hale getirildiðinde mesaj $SUBJECT, $FROM, $TO, $DATE ve $BODY makrolarý eklenerek geniþletilebilir.
rfile_efile=$1'i deðiþtirmek için izininiz yoktur
efile_undo=Deðiþiklikleri Geri Al

asave_err=Takma isimlerinin kaydedilmesinde hata oluþtu
asave_ecannot2=Takma isimleri deðiþtirmenize izin verilmedi
asave_ecannot=Bu takma isimi deðiþtirmenize izin verilmedi
asave_emax=$1'den daha çok takma isim deðiþtirmenize izin verilmedi
asave_eaddr='$1' geçerli bir adres deðil
asave_ealready=$1 için bir takma isim her zaman mevcut
asave_ematch=Sadece takma isimleri oluþtururken karþýlaþtýrmalarý yapmanýza izin verildi
asave_etype=Bu tipin takma isimlerini oluþturamazsýnýz
asave_etype1='$1' geçerli bir e-posta adresi deðil
asave_etype2=$1 adres dosyasý geçerli deðil ya da mevcut deðil
asave_etype3='$1' geçerli bir dosya ismi deðil
asave_etype4='$1' geçerli bir program deðil ya da mevcut deðil
asave_etype5=Geri döndürme dosyasý $1 geçerli deðil ya da mevcut deðil
asave_etype4none=Program girilmedi

cws_title=Yerel Alanlar
cws_ecannot=Yerel alanlarý deðiþtirmenize izin verilmedi
cws_domains=Alanlar bu sunucu tarafýndan tutulmaktadýr
cws_desc1=$1'e gelen posta hariç, sendmail sadece sol taraftaki yazý kutusundaki alan ve makine adlarý için yerel posta daðýtýcýlýðýný yapacaktýr. Eðer çoklu e-posta alanlarýný tutmak istiyorsanýz bu formda listelemelisiniz. 
cws_desc2=Listedeki bir alan genellikle tek baþýna yeterli deðildir.
cws_err=Yerel alanlanlarýn kaydedilmesinde hata oluþtu
cws_ehost='$1' geçerli bir alan ya da makine ismi deðil
cws_eip='$1' bir IP adresidir, alan adý deðildir

masq_title=Alan Maskeleme
masq_ecannot=Maskelemeyi yapýlandýrmanýza izininiz yoktur
masq_domain=Alaný maskele
masq_domains=Maskelenmiþ olan alanlar
masq_desc1=Eðer bir alan yukarý gidiyorsa, sendmail bu alandan gelen görünen bütün dýþ mesajlarýn <tt>From</tt> adres kýsmýný deðiþtirecektir.Ayrýca sisteminizden geçen soldaki listedeki alan ya da makine isimlerinden gelen postalarda da <tt>From</tt> kýsmý da ayný yolla deðiþtirilecektir.Tanýnlanan bu alan maskelemeleri önemli kullanýcýlarýn kullandýðý <a href='$1'>Dýþ Adresler</a> sayfasýndan önemli olmalýdýr
masq_desc2=Bu mesajý makine adýnýzdan göndermektense alanýnýzdaki sisteminizden  göndermek isterseniz, ya da sisteminizi diðer makinelerin çalýþan posta sunucularýnýn merkezi yapmak için  oldukça kullanýþlýdýr  
masq_err=Alan maskelemesinin kaydedilmesinde hata oluþtu
masq_edomain='$1' maskelenecek geçerli bir alan adý deðil
masq_ehost='$1' geçerli bir alan ya da makine adý deðil
masq_eip='$1' bir IP adresidir, alan adý deðildir

trusts_title=Doðrulanmýþ Kullanýcýlar
trusts_ecannot=Doðrulanmýþ kullanýcýlarý deðiþtirmek için izininiz yoktur
trusts_users=Sendmail ile doðrulanmýþ yerel kullanýcýlar
trusts_desc=Yerel kullanýcýlar e-posta göndermeyi denediðinde, eðer kullanýcý soldaki listede ise sendmail farklý bir <tt>From:</tt> kullanýcýsýna posta gönderilmesine izin verir.
trusts_err=Doðrulanmýþ kullanýcýlarýn kaydedilmesinde hata oluþtu
trusts_euser='$1' geçerli bir kullanýcý edý deðil

virtusers_title=Adres Haritalandýrma
virtusers_ecannot=Adres haritalandýrmasýný deðiþtirmek için izininiz yoktur
virtusers_edirective=Sendmail yapýlandýrma dosyanýz adres haritalandýrmasý için gerekli komutlarý içermiyor
virtusers_efile=Adres haritalandýrma veritabaný $2'nin inþasýnda kullanýlan $1 yazý dosyasý mevcut deðil.Belki doðru yolu bulmak için <a href='$3'>modül yapýlandýrmasý</a>yý deðiþtirmeye ihtiyacýnýz vardýr
virtusers_desc1=Adres haritalandýrmalarý <a href='$1'>takma adlar</a>a benzer. Fakat daha çok çoklu e-posta alanlarýný tutmak için kullanýlan bir sistemdir.Bir adresin bütün alanlarýna doðrudan posta göndermek için, farklý alanlardaki ayný kullanýcýlarýn hesaplarýný kontrol etmek için ya da bir alandan diðer birine gönderilen postalarý haritalandýrmak için kullanýlýr
virtusers_desc2=Adres haritalandýrma için kullanýlan herhangi alanlarý <a href='$1'>yerel alanlar</a> tablosuna girmelisiniz ve sisteminizdeki alanýn tanýmlanmasý için DNS MX kayýtlarýný girmelisiniz
virtusers_for=Posta..
virtusers_to=Gönder..
virtusers_error=$1 Hatasý
virtusers_domain=$1 Alaný
virtusers_address=$1 Adresi
virtusers_return=adres haritalandýrma listesi

vform_edit=Haritalandýrmayý Deðiþtir
vform_create=Haritalandýrma Oluþtur
vform_for=Posta
vform_address=Adres
vform_domain=Alan
vform_to=gönder
vform_msg=mesaj
vform_error=Oluþan hata
vform_err_nouser=kullanýcý yok
vform_err_nohost=makine yok
vform_err_unav=ulaþýlamaz
vform_err_temp=geçici hata
vform_err_proto=protokol
vform_end=Sona taþý
vform_ecannot=Bu adres haritalandýrmasýný deðiþtirmek için izininiz yoktur

vsave_ecannot=Adres haritalandýrmasýný deðiþtirmek için izininiz yoktur
vsave_ecannot2=Bu adres haritalandýrmasýný deðiþtirmek için izininiz yoktur
vsave_emax=$1'den fazla adres haritalandýrmasý oluþturmak için izininiz yoktur
vsave_err=Adres haritalandýrmasýnýn kaydedilmesinde hata oluþtu
vsave_efrom='$1' geçerli bir adres deðil
vsave_efromdup=$1 için adres haritasý her zaman tanýmlý
vsave_edom='$1' geçerli bir alan deðil
vsave_edomdup=$1 için adres haritasý her zaman tanýmlý
vsave_ematch=Kaynak adresi '$1'e benzemiyor
vsave_ecannot3=Adres haritalarýný oluþturmak için izininiz yoktur
vsave_eaddr='$1' geçerli bir adres deðil
vsave_ecannot4=Alan haritalarýný oluþturmak için izininiz yoktur
vsave_edomdom=Diðer alan için sadece bir alan haritalandýrýlabilir
vsave_ecannot5=Hata haritalarýný oluþturmak için izininiz yoktur

mailers_title=Alan Yönlendirme
mailers_cannot=Alan yönlendirmeleri deðiþtirmenize izin verilmemiþtir
mailers_edirective=Sendmail yapýlandýrma dosyanýz alan yöneldirme için gerekli komutlarý içermiyor
mailers_efile=Alan yönlendirme veri tabaný $2'nin inþasýnda kullanýlan $1 dosyasý mevcut deðil 
mailers_desc1=Alan yönlendirmeyi saðlamanýn bir yolu da belirli alanlara posta göndermek için özel transfer yöntemi tanýmlamaktýr. Sisteminiz posta sunucularý için bir að geçidi ise aðýnýza dýþarýdan ulaþýlamaz ya da isterseniz diðer sunucudan yönlendirilmiþ olan parçalý alan için  sistminizi güçlendirebilirsiniz.
mailers_desc2=Herhangi yönlendirilmiþ alanlar için <a href='$1'>yerel alanlar</a> listesine birþey girmemelisiniz.Bununla birlikte, herhangi alanda að geçidi olan sisteminiz için DNS MX kaydýna sahip olmalýsýnýz
mailers_for=Posta..
mailers_delivery=Daðýtýcý
mailers_to=Gönder..
mailers_return=alan yönlendirme listesi

mform_edit=Yönlendirmeyi Deðiþtir
mform_create=Yönlendirme Oluþtur
mform_for=Posta
mform_host=Makine Adý
mform_domain=Alan
mform_delivery=Daðýtýcý
mform_to=Gönder
mform_ignore=SMTP daðýtýcýlarý için MX'leri geç
mform_smtp=SMTP
mform_esmtp=Uzatýlmýþ SMTP
mform_smtp8=8-bit SMTP
mform_relay=SMTP iletimi
mform_local=Yerel kullanýcý
mform_prog=Programý besle
mform_uucp=UUCp
mform_usenet=USENET'e  gönder
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=Hata
mform_ecannot=Alan yönlendirmeyi deðiþtirmeye izininiz yoktur

msave_ecannot=Alan yönlendirmeyi deðiþtirmeye izininiz yoktur
msave_err=Alan yönlendirmenin kaydedilmesinde sorun oluþtu
msave_edomain='$1' geçerli bir makine ya da alan adý deðildir
msave_edup='$1' için alan yönlendirme her zaman mevcut

generics_title=Dýþa Giden Adresler
generics_cannot=Dýþa giden adresleri deðiþtirmeye hakkýnýz yoktur
generics_econfig=Sendmail yapýlandýrma dosyanýz dýþ adres haritalandýrmasý için gerekli komutlarý içermiyor
generics_efile=Dýþ adres veritabaný $2'nin inþasýnda kullanýlan $1 yazý
dosyasý mevcut deðildir.Doðru yolu bulmak için <a href='$3'>modül
yapýlandýrmasý</a>ný deðiþtirmeniz gerekmektedir 
generics_desc1=Dýþ adres haritalarý sisteminizden ya da yerel aðýnýzdaki diðer makinelerden gönderilen postalarýn <tt>From:</tt> adres kýsýmlarýnýn deðiþtirilmesine izin verir.
generics_desc2=<a href='$1'>Dýþa alanlar</a> tablosunda olmasýný istediðiniz dýþ haritalandýrma için her alaný girmeniz gerekmektedir.Bu dýþa adresleme haritalandýrmasý yerel kullanýcýlara gönderilmiþ olan postalar için çalýþmaz
generics_from=Posta..
generics_to=Deðiþtir...
generics_return=adres haritalandýrma listesi

gform_edit=Haritalandýrmayý Deðiþtir
gform_create=Haritalandýrma Oluþtur
gform_from=Posta
gform_to=Deðiþtir
gform_ecannot=Bu dýþ adresi deðiþtirmenize izin verilmemiþtir

gsave_ecannot=Dýþ adresleri deðiþtirmenize izin verilmemiþtir
gsave_ecannot2=Bu dýþ adresi deðiþtirmenize izin verilmemiþtir
gsave_err=Dýþ adresin kaydedilmesinde hata oluþtu
gsave_efrom='$1' geçerli bir gelen adresi deðil
gsave_ematch=From adresi '$1'e uymuyor
gsave_eto='$1' geçerli bir yeni adres deðil

cgs_title=Dýþa Giden Alanlar
cgs_ecannot=Dýþa giden alanlarý deðiþtirmeye hakkýnýz yoktur
cgs_header=Dýþ adres alanlarý
cgs_desc=Yerel kullanýcýlara gönderilen mesajlar haricinde, sendmail sadece saðdaki yazý kutusunda listelenmiþ makine ya da alanlardan gelen postalar için <a href='$1'>dýþ adres</a> haritalandýrmasýný yapar.Bu þekilde dýþ adres giriþleri listede bulunan adreslerdeki alanlarda çalýþýr
cgs_err=Dýþ alanýn kaydedilmesinde hata oluþtu
cgs_ehost='$1' geçerli bir alan ya da makine deðil
cgs_eip='$1' bir IP adresidir, alan deðildir.

domains_title=Alan Haritalandýrmasý
domains_ecannot=Alan haritalandýrmasýný deðiþtirmeye izininiz yoktur.
domains_econfig=Sendmail yapýlandýrma dosyanýz alan haritalandýrmasý için gerekli komutlarý içermiyor.
domains_efile=Adres haritalandýrma veritabaný $2'nin inþasýnda kullanýlan $1 yaz dosyasý mevcut deðil.Doðru yolu kullanabilmek için belki de <a href='$3'>modül yapýlandýrma</a>yý deðiþtirmeniz gerekmektedir.
domains_desc=Alan haritalandýrmasý sisteminizdeki kullanýcýlara iletilenden ya da gönderilen postalardaki <tt>To:</tt> adres kýsmýný deðiþtirir.
domains_from=Alandan..
domains_to=Alana..
domains_return=alan haritalandýrma listesi

dform_edit=Haritalandýrmayý deðiþtir
dform_create=Haritalandýrma Oluþtur
dform_from=Alandan
dform_to=Alana
dform_ecannot=Haritalandýrmayý deðiþtirmeye izininiz yoktur

dsave_ecannot=Alan haritalandýrmasýný deðiþtirmeye izininiz yoktur.
dsave_err=Alan haritalandýrmasýnýn kaydedilmesinde hata oluþtu
dsave_edomain='$1' geçerli bir alan adý deðildir

access_title=Spam Kontrolü
access_ecannot=Spam kontrol yapýlandýrmasýný deðiþtirmeye izininiz yoktur.
access_econfig=Sendmail yapýlandýrma dosyanýzda spam kontrol için gerekli komutlarý içermemektedir.
access_efile=Adres haritalandýrma veritabaný $2'nin inþasýnda kullanýlan $1 yazý dosyasý mevcut deðildir.Doðru yol tanýmlamalarýný bulmak için belki de  <a href='$3'>modül yapýlandýrmasý</a>ný deðiþtirmelisiniz.
access_desc1=Sendmail'in spam kontrol özelliði, belirli adreslerden  reddedilen postalar ile eriþilen kullanýcýlarýnýzdan yapýlan spam'i ve posta göndermek için sisteminizi kullanan reddedilen spammer'ý engellemenize izin verir. Öntanýmlý sendmail yapýlandýrmasý yerel kullanýcýya herhangi bir adresten gelen postalarý kabul eder, ama sisteminizden gönderilenler herhangi bir posta sunucusu ya da istemcisi tarafýndan reddedilir.
access_desc2=Sendmail sisteminizde posta istemcilerinin herhangi bir hedefe SMTP yoluyla göndermesine izin verir. Böylece gönderme izini listesine yerel <tt>127.0.0</tt> aðýný eklemenize ihtiyaç kalmayacaktýr
access_source=Kaynak..
access_action=Servis..
access_return=spam kontrol listesi

sform_edit=Spam Kontrol Kurallarýný Deðiþtir
sform_create=Spam Kontrol Kuralý Oluþtur
sform_source=Posta Kaynaðý
sform_type0=E-posta adresi
sform_type1=Að
sform_type2=Kullanýcý
sform_type3=Alan
sform_action=Servis
sform_ok=Kabul
sform_relay=Ýletime Ýzin Ver
sform_reject=Reddet
sform_discard=Sil
sform_err=Hata kodu
sform_msg=Mesaj
sform_ecannot=Spam kontrol yapýlandýrmasýný deðiþtirmeye izininiz yoktur.

ssave_ecannot=Spam kontrol yapýlandýrmasýný deðiþtirmeye izininiz yoktur.
ssave_err=Spam kontrol kurallarýnýn kaydedilmesinde hata oluþtu
ssave_etype0='$1' geçerli bir adres deðildir
ssave_etype1='$1' geçerli bir að maskesi deðildir
ssave_etype2='$1' geçerli bir kullanýcý adý deðildir
ssave_etype3='$1' geçerli bir alan deðildir
ssave_ecode='$1' geçerli bir SMTP hata kodu deðildir

relay_title=Ýletilen Alanlar
relay_ecannot=Ýletilen alanlarý deðiþtirmeye izininiz yoktur.
relay_eversion=Sendmail'in sadece 8.9 ve üzeri sürümleri iletilen alanlar özelliðini destekler
relay_domains=Alanlarýn iletilmesi kabul edildi
relay_desc1=<a href='$1'>Spam kontrol</a> kurallarý kabul edilmezse, sendmail sadece soldaki yazý kutusunda listelenmiþ alanlara gönderilmesine izin verir. Eðer gelen mesajlar yerel kullanýcý ya da listedeki kullanýcýlardan birine ait deðilse reddedilir.
relay_desc2=Eðer sisteminiz çeþitli alanlar için að geçidi hizmeti sunuyorsa aðýnýza listelenmiþ alanlar hariç dýþarýdan doðrudan eriþilemez (<a href='$1'>alan yönlendirme</a> özelliði kullanýlýr).
relay_err=Alan iletiliminin kaydedilmesinde hata oluþtu
relay_edomain='$1' geçerli bir lan adý deðildir

mailq_title=Posta Kuyruðu
mailq_ecannot=Posta kuyruðunu görmek için izininiz yoktur.
mailq_id=Posta ID
mailq_sent=Gönder
mailq_from=Nereden
mailq_to=Nereye
mailq_size=Boyut
mailq_status=Durum
mailq_unknown=Bilinmeyen
mailq_sending=Gönderilen
mailq_dmsg=E-posta kuyruðundaki mesajlarý görmek için listedeki numarasýný týklayýnýz
mailq_force=E-postanýn daðýtýcý komutu için <a href='$1'>burayý týklayýnýz</a>.
mailq_none=Daðýtým için kuyruða konulmuþ mesaj yok
mailq_return=posta kuyruðu

flushq_title=Kuyruðu Boþalt
flushq_desc=$1 komutu ile postanýn daðýtýmý deneniyor ..

delq_err=Mesajýn silinmesinde hata oluþtu
delq_ecannot=Mesajlarý kuyruktan çýkarmak için izininiz yoktur
delq_locked=Göndeme iþlemi kilitlendi

boxes_title=Kullanýcý Posta Kutularý
boxes_user=Kullanýcý
boxes_size=Posta kutusu boyutu
boxes_none=Postasý yok
boxes_return=posta kutularý
boxes_ecannot=E-posta'nýn okunmasýnda hata oluþtu

mail_title=Kullanýcý E-Posta
mail_from=Nereden
mail_date=Tarih
mail_subject=Konu
mail_to=Nereye
mail_cc=Cc
mail_bcc=Bcc
mail_pri=Öncelik
mail_highest=En yüksek
mail_high=Yüksek
mail_normal=Normal
mail_low=Düþük
mail_lowest=en düþük
mail_for=$1'de
mail_size=Boyut
mail_delete=Seçilen mesajlarý sil
mail_compose=Yeni posta oluþtur
mail_return=Kullanýcý e-posta
mail_pos=Mesaj $1 to $2 of $3
mail_none=Bu posta kutusu mesaj içermiyor
mail_ecannot=Bu kullanýcýnýn e-postasýný okumak için izininiz yoktur
mail_all=Hepsini seç
mail_invert=Seçimi ters çevir
mail_search=Mesajlarýn aranýlacaðý yer
mail_body=Mesaj içeriði
mail_match=matches
mail_ok=Ara

view_title=E-posta oku
view_desc=Mesaj $1, $2'de
view_qdesc=Kuyruða konulmuþ mesaj $1
view_headers=Posta baþlýklarý
view_attach=Ekler
view_reply=Geri gönder
view_reply2=Hepsine geri gönder
view_forward=Döndür
view_delete=Sil
view_ecannot=Bu kullanýcýnýn e-postasýný okumak için izininiz yoktur

compose_title=E-posta Gönder
reply_title=E-postayý Geri Gönder
forward_title=E-postayý Döndür
reply_headers=Posta baþlýklarý
reply_attach=Döndürülmüþ ekler
reply_attach2=Ekler
reply_send=Gönder
reply_ecannot=Bu kullanýcý olarak e-posta göndermek için izininiz yoktur

send_err=Postanýn gönderilmesinde hata oluþtu
send_eto=Nereye adresini girmelisiniz
send_efrom=Nereden adresini girmelisiniz
send_title=Posta Gönder
send_ok=Posta $1'e baþarýyla gönderildi
send_ecannot=Bu kullanýcý olarak e-posta göndermek için izininiz yoktur
send_esmtp=SMTP komutu $1'de hata oluþtu : $2
send_efile=Eklenen dosya $1 mevcut deðil
send_eattach=Ek dosyalarýn boyutu $1 KB'den daha büyük olmamalýdýrlar.
send_eperms=$1 kullanýcýsý $2'yi okuyamaz

delete_ecannot=Bu kullanýcý olarak e-posta silmek için izininiz yoktur
delete_enone=Silmek için posta silinmedi

search_title=Arama sonuçlarý
search_ecannot=Bu kullanýcý e-postalarýný aramak için izininiz yoktur
search_ematch=Takip eden kutuya bir yazý girmelisiniz
search_none=Mesaj bulunamadý.
search_results=Posta mesajlarý bakýlýyor $1 ..

file_title=Sendmail Dosyasýný Deðiþtir
file_desc=Sendmail dosyasý $1'u elle deðiþtirmek için düz metin yazýsý kutusunu kullanýnýz.
file_undo=Deðiþiklikleri Geri Al
file_edit=$1'i elle deðiþtir
file_ealiases=Eðer bütün takma isimler için izininiz varsa takma isim dosyasýný deðiþtirebilirsiniz.
file_evirtusers=Bütün adres haritalandýrmalarý için izininiz varsa adres haritalandýrma dosyasýný deðiþtirebilirsiniz
file_emailers=Alan yönlendirme dosyasýný deðiþtirmek için izininiz yoktur.
file_egenerics=Bütün dýþa giden adresle için izininiz varsa dýþa giden adres dosyasýný deðiþtiebilirsiniz.
file_edomins=Alan haritalandýrma dosyasýný deðiþtirmeye izininiz yoktur
file_eaccess=Spam kontrol dosyasýný deðiþtirmek için izininiz yoktur.
file_emode=Bilinmeyen mod!
file_err=Dosyanýn deðiþtirilmesinde hata oluþtu

acl_opts=Sendmail seçeneklerini deðiþtirebilsin?
acl_cws=Yerel alanlarý deðiþtirebilirsin?
acl_masq=Alan maskelemeyi yapýlandýrabilsin?
acl_trusts=Doðrulanmýþ kullanýcýlarý deðiþtirebilsin?
acl_cgs=Dýþa giden mesaj alanlarý deðiþtirebilsin?
acl_relay=Gönderilen alanlarý deðiþtirebilsin?
acl_mailers=Alan yönlendirmeyi deðiþtirebilsin?
acl_access=Spam kontrolünü deðiþtirebilsin?
acl_domains=Alan haritalandýrmayý yapýlandýrabilsin?
acl_stop=Sendmail'i durdurup baþlatabilsin?
acl_mailq=Posta kuyruðunu yönetebilsin?
acl_viewdel=Göster ve Sil
acl_view=Sadece Göster
acl_virtusers=Adres haritalandýrmayý bu kullanýcý deðiþtirebilir
acl_none=Hiçbiri
acl_all=Hepsi
acl_matching=Arama
acl_vtypes=Adres haritalandýrma tiplerini bu kullanýcý deðiþtirebilir
acl_vtype0=Hata döndü
acl_vtype1=Alana
acl_vtype2=Adrese
acl_vmax=Adres haritalandýrmanýn en çok sayýsý
acl_unlimited=Limitsiz
acl_aliases=Takma adlar bu kullanýcý tarafýndan deðiþtirilebilir
acl_atypes=Takma ad tipleri bu kullanýcý tarafýndan deðiþtirilebilir
acl_atype1=E-post adresi
acl_atype2=Dosyadaki adresler
acl_atype3=Dosyaya yaz
acl_atype4=Programý besle
acl_atype5=Otomatik geri döndür
acl_amax=En çok takma ad sayýsý
acl_outgoing=Dýþa giden mesajlar bu kullanýcý tarafýndan deðiþtirilebilir
acl_read=Kullanýcýlarýn okuyabilecekleri postalar
acl_users=Sadece kullanýcýlar
acl_userse=Kullanýcýlardan baþka herkes
acl_from=Ýzin verilebilir From: adresleri
acl_any=Herhangi bir adres
acl_fdoms=Posta kutusu @ alanlar
acl_faddrs=Listelenmiþ alanlar
acl_fdom=Herhangi adres @ alan
acl_apath=Dizin için program ve dosya limitleri
acl_attach=En çok toplam posta ek dosyalarý boyutu

log_opts=Sendmail seçenekleri deðiþtirildi
log_alias_create=Takma isim $1 oluþturuldu
log_alias_modify=Takma isim $1 deðiþtirildi
log_alias_delete=Takma isim $1 silindi
log_alias_manual=Takma isim dosyasý $1 elle deðiþtirildi
log_cws=Yerel alanlar deðiþtirildi
log_masq=Alan maskeleme deðiþtirildi
log_trusts=Doðrulanmýþ kullanýcýlar deðiþtirildi
log_virtuser_create=Adres haritalandýrmasý $1 oluþturuldu
log_virtuser_modify=Adres haritalandýrmasý $1 deðiþtirildi
log_virtuser_delete=Adres haritalandýrmasý $1 silindi
log_virtuser_manual=Adres haritalandýrmasý dosyasý $1 elle deðiþtirildi
log_mailer_create=Alan yönlendirme $1 oluþturuldu
log_mailer_modify=Alan yönlendirme $1 deðiþtirildi
log_mailer_delete=Alan yönlendirme $1 silindi
log_mailer_manual=Alan yönlendirme dosyasý $1 elle deðiþtirildi
log_generic_create=Dýþa giden adres $1 oluþturuldu
log_generic_modify=Dýþa giden adres $1 deðiþtirildi
log_generic_delete=Dýþa giden adres $1 silindi
log_generic_manual=Dýþa giden adres dosyasý $1 elle deðiþtirildi
log_cgs=Dýþa giden alanlar deðiþtirilid
log_domain_create=Alan haritalandýrmasý $1 oluþturuldu
log_domain_modify=Alan haritalandýrmasý $1 deðiþtirildi
log_domain_delete=Alan haritalandýrmasý $1 silindi
log_domain_manual=Alan haritalandýrma dosyasý $1 elle deðiþtirildi
log_access_create=$1 için spam kontrolü oluþturuldu
log_access_modify=$1 için spam kontrolü deðiþtirildi
log_access_delete=$1 için spam kontrolü silindi
log_access_manual=Spam kontrol dosyasý $1 elle deðiþtirildi
log_relay=Ýletilen alanlar deðiþtirildi
log_flushq=Posta kuyruðu boþaltýldý
log_delmailq=Kuyrukta $1'den posta silindi
log_stop=Sendmail durduruldu
log_start=Sendmail baþlatýldý
log_delmail=$2'den $1 mesajý silindi
log_send=$1'e posta gönderildi

  07070100028768000081a40000000000000002000000013d1fe2d300003d98000000200000000000000000000000000000001a00000003reloc/sendmail/lang/zh_CN index_title=Sendmail ÅäÖÃ
index_econfig=Sendmail ÅäÖÃÎÄ¼þ $1 ²»´æÔÚ¡£¿ÉÄÜ<a href='$2'>Ä£¿éÅäÖÃ</a>´íÎó¡£
index_eversion=Sendmail ÅäÖÃÎÄ¼þËÆºõ²»ÊÇÕë¶Ô×îÐÂµÄ Sendmail ³ÌÐò°æ±¾¡£Webmin ½öÖ§³Ö 8.8 »ò¸ü¸ß°æ±¾¡£
index_epath=Sendmail ¿ÉÖ´ÐÐÎÄ¼þ $1 Ã»ÓÐ°²×°ÔÚÏµÍ³ÖÐ¡£¿ÉÄÜ<a href='$2'>Ä£¿éÅäÖÃ</a> ´íÎó£¬»òÕß Sendmail ³ÌÐòÃ»ÓÐ°²×°¡£
index_return=Sendmail ÅäÖÃ
index_stop=Í£Ö¹ Sendmail
index_stopmsg=µ¥»÷´Ë°´Å¤Í£Ö¹ÔËÐÐ Sendmail ½ø³Ì¡£Õâ½«Í£Ö¹´ÓÆäËüÏµÍ³µÝËÍÓÊ¼þ¸ø±¾µØÓÃ»§£¬²¢×èÖ¹°Ñ±¾ÏµÍ³ÓÃ×÷ÓÊ¼þ·þÎñÆ÷µÄ¿Í»§·¢ËÍÓÊ¼þ¡£
index_start=Æô¶¯ Sendmail
index_startmsg=µ¥»÷´Ë°´Å¤ÒÔÓÃÃüÁî $1 Æô¶¯ Sendmail ¡£ÔÚ´ËÖ®Ç°£¬ÆäËüÏµÍ³µÄÓÊ¼þ²»»áµÝËÍ±¾µØÓÃ»§£¬¿Í»§Ò²²»ÄÜ°Ñ±¾ÏµÍ³µ±×öÓÊ¼þ·þÎñÆ÷¡£
opts_title=Sendmail Ñ¡Ïî
opts_ecannot=ÄúÎÞÈ¨±à¼­ Sendmail Ñ¡Ïî
opts_ds=¾­ÓÉÖ÷»ú·¢ËÍÓÊ¼þ
opts_direct=Ö±½ÓµÝËÍ
opts_dr=½«²»ºÏ¸ñÓÃ»§Ãû×ª·¢¸øÖ÷»ú
opts_dh=½«±¾µØÓÃ»§µÄÓÊ¼þ×ª·¢¸øÖ÷»ú
opts_local=±¾µØµÝËÍ
opts_queuela=×î´ó·¢ËÍ¸ºÔØ¾ùÖµ
opts_refusela=×î´ó½ÓÊÕ¸ºÔØ¾ùÖµ
opts_maxch=×î´ó×Ó½ø³ÌÊý
opts_throttle=×î´óÁ¬½ÓÊý/Ãë
opts_minqueueage=ÖØÊÔ·¢ËÍµÄ×îÐ¡Ê±¼ä¼ä¸ô
opts_runsize=¶ÓÁÐ×î´óÖµ
opts_queuereturn=·ÅÆúÖ®Ç°µÄÊ±¼ä
opts_queuewarn=·¢ËÍ¾¯¸æÖ®Ç°µÄÊ±¼ä
opts_queue=ÓÊ¼þ¶ÓÁÐÄ¿Â¼
opts_postmaster=·¢ËÍ´íÎóÏûÏ¢µ½
opts_forward=ÓÃ»§×ª·¢ÎÄ¼þ
opts_minfree=×îÐ¡´ÅÅÌ¿ÕÏÐ¿Õ¼ä
opts_maxmessage=×î´óÏûÏ¢´óÐ¡
opts_loglevel=ÈÕÖ¾¼¶±ð
opts_mimebounce=MIME ±àÂëÍË»ØÏûÏ¢£¿
opts_default=È±Ê¡
opts_save=±£´æ²¢Ó¦ÓÃ
opts_err=±£´æÑ¡ÏîÊ§°Ü
opts_ehost='$1' ²»ÊÇÓÐÐ§µÄÖ÷»ú»òÓòÃû
opts_einvalid='$1' ²»ÊÇ '$2' µÄÓÐÐ§Öµ
opts_blame=ÎÄ¼þ°²È«Ñ¡Ïî
opts_selected=ÒÑÑ¡Ôñ..
opts_blocks=¿é
opts_bytes=×Ö½Ú
opts_dmode=µÝËÍ·½Ê½
opts_background=±³¾°
opts_queue-only=½ö¶ÓÁÐ
opts_interactive=½»»¥
opts_deferred=ÑÓ³Ù
aliases_title=ÓÊ¼þ±ðÃû
aliases_ecannot=ÄúÎÞÈ¨±à¼­±ðÃû
aliases_addr=µØÖ·
aliases_to=¶¨Òå±ðÃûµ½..
aliases_type1=µØÖ· $1
aliases_type2=ÔÚÎÄ¼þ $1 ÖÐµÄµØÖ·
aliases_type3=ÎÄ¼þ $1
aliases_type4=³ÌÐò $1
aliases_type5=×Ô¶¯´ð¸´ÎÄ¼þ $1
aliases_none=ÎÞ
aliases_return=±ðÃûÁÐ±í
aform_type0=ÎÞ
aform_type1=ÓÊ¼þµØÖ·
aform_type2=ÎÄ¼þÖÐµÄµØÖ·
aform_type3=Ð´ÈëÎÄ¼þ
aform_type4=Ìá¹©µ½³ÌÐò
aform_type5=×Ô¶¯´ð¸´À´×ÔÎÄ¼þ
aform_edit=±à¼­±ðÃû
aform_create=´´½¨±ðÃû
aform_name=µØÖ·
aform_enabled=ÆôÓÃ£¿
aform_val=¶¨Òå±ðÃûµ½
aform_afile=±à¼­..
aform_return=±ðÃû
afile_title=±à¼­µØÖ·ÎÄ¼þ
afile_desc=Ê¹ÓÃÏÂÃæµÄÇøÓò±à¼­ÎÄ¼þ $1 ÖÐµÄµØÖ·¡£
afile_efile=ÄúÎÞÈ¨±à¼­ $1¡£
afile_undo=¸´Ô­¸Ä±ä
rfile_title=±à¼­×Ô¶¯´ð¸´ÎÄ¼þ
rfile_desc=Ê¹ÓÃÏÂÃæµÄÎÄ±¾Çø±à¼­ÎÄ¼þ $1 ÖÐµÄ×Ô¶¯´ð¸´ÏûÏ¢¡£¸ÃÏûÏ¢°üÀ¨ºê $SUBJECT¡¢$FROM¡¢$TO¡¢$DATE ºÍ $BODY£¬ÕâÐ©ºêÔÚ×Ô¶¯´ð¸´¼¤»îÊ±½«À©Õ¹¡£
rfile_efile=ÄúÎÞÈ¨±à¼­ $1¡£
rfile_undo=¸´Ô­¸Ä±ä
asave_err=±£´æ±ðÃûÊ§°Ü
asave_ecannot2=ÄúÎÞÈ¨±à¼­±ðÃû
asave_ecannot=ÄúÎÞÈ¨±à¼­´Ë±ðÃû
asave_emax=ÄúÎÞÈ¨´´½¨¶àÓà $1 ¸ö±ðÃû
asave_eaddr=´íÎóµØÖ·'$1'
asave_ealready=±ðÃû '$1' ÒÑ´æÔÚ
asave_ematch=ÄúÖ»ÄÜ´´½¨ºÍ'$1'Æ¥ÅäµÄ±ðÃû
asave_etype=Äú²»ÄÜ´´½¨ÕâÖÖÀàÐÍµÄ±ðÃû
asave_etype1=´íÎóµÄÓÊ¼þµØÖ·'$1'
asave_etype2=µØÖ·ÎÄ¼þ '$1' ÎÞÐ§»ò²»´æÔÚ
asave_etype3=´íÎóµÄÎÄ¼þÃû'$1'
asave_etype4='$1'²»ÊÇÓÐÐ§µÄ³ÌÐò»ò²»´æÔÚ
asave_etype5=×Ô¶¯´ð¸´ÎÄ¼þ '$1' ÎÞÐ§»ò²»´æÔÚ
asave_etype4none=Ã»ÓÐ¸ø³ö³ÌÐò
cws_title=±¾µØÓò
cws_ecannot=²»ÄÜ±à¼­±¾µØÓò
cws_domains=±¾·þÎñÆ÷´¦ÀíµÄÓò
cws_desc1=³ýÁË·¢ËÍ¸ø $1 µÄÓÊ¼þÍâ£¬ Sendmail ½ö½ÓÊÜÁÐÔÚ×ó±íÖÐµÄ±¾µØÓòºÍÖ÷»úÃûµÄ±¾µØµÝËÍÓÊ¼þ¡£Èç¹ûÒªÈÃÓÊ¼þ·þÎñÆ÷´¦Àí¶à¸öµç×ÓÓÊ¼þÓò£¬ÕâÐ©Óò±ØÐëÁÐÓÚ´ËÁÐ±íÖÐ¡£
cws_desc2=×¢Òâ£¬½ö½ö½«Ò»¸öÓòÁÐÔÚ±íÖÐ°üÀ¨ÊÇ²»¹»µÄ¡£»¹ÐèÈ·ÈÏ¸ÃÓòµÄDNS¼ÇÂ¼´æÔÚÇÒÖ¸ÏòÄúµÄÏµÍ³¡£
cws_err=±£´æ±¾µØÓòÊ§°Ü
cws_ehost=´íÎóµÄÖ÷»ú»òÓòÃû'$1'
cws_eip='$1'ÊÇIP µØÖ·²»ÊÇÓò
masq_title=ÓòÃûÎ±×°
masq_ecannot=ÄúÎÞÈ¨ÅäÖÃÎ±×°
masq_domain=Î±×°×÷ÓòÃû
masq_domains=ÒªÎ±×°µÄÓòÃû
masq_desc1=Èç¹ûÓòÃûÔÚÉÏÃæ¸ø³ö£¬Ôòsendmail½«°ÑËùÓÐÍâ·¢ÓÊ¼þµÄ<tt>À´×Ô</tt>µØÖ·¸ÄÎªºÃÏóÊÇ´Ó¸ÃÓò·¢³ö¡£´ËÍâ£¬ÈÎºÎ´Ó×ó±íÖÐÁÐ³öµÄÖ÷»úºÍÓò·¢³öÇÒ¾­¹ýÄúµÄÏµÍ³µÄµç×ÓÓÊ¼þÏûÏ¢£¬Æä<tt>À´×Ô</tt>µØÖ·Ò²»áÍ¬Ñù±»¸ü¸Ä¡£×¢Òâ£¬´Ë´¦¶¨ÒåµÄÈÎºÎÓòÎ±×°¾ù¿ÉÊ¹ÓÃÌØ¶¨ÓÃ»§µÄ<a hred='$1'>·¢ËÍµØÖ·</a>Ò³À´¸²¸Ç¡£
masq_desc2=Èç¹ûÏëÈÃÄúµÄÓÊ¼þ¿´À´À´×ÔÓò¶ø²»ÊÇÄúµÄÖ÷»úÃû£¬»òÕßÄúµÄÏµÍ³ÊÇÆäËüÐí¶à×ÔÐÐÔËÐÐÓÊ¼þ·þÎñÆ÷µÄÖ÷»úµÄÖÐ×ªÕ¾£¬ÕâÖÖ¹¦ÄÜºÜÓÐÓÃ¡£
masq_err=±£´æÓòÃûÎ±×°Ê§°Ü
masq_edomain=´íÎóµÄÎ±×°ÓòÃû'$1'
masq_ehost=´íÎóµÄÖ÷»ú»òÓòÃû'$1'
masq_eip='$1' ÊÇIPµØÖ·£¬²»ÊÇÓò
trusts_title=¿ÉÐÅÈÎÓÃ»§
trusts_ecannot=ÄúÎÞÈ¨±à¼­¿ÉÐÅÓÃ»§
trusts_users=sendmail ÐÅÈÎµÄ±¾µØÓÃ»§
trusts_desc=Èç¹û±¾µØÓÃ»§ÊÔÍ¼·¢ËÍÓÊ¼þ£¬sendmail ½öÔÊÐíÁÐÓÚ×ó±íÖÐµÄÓÃ»§Ö¸¶¨²»Í¬µÄ<tt>À´×Ô£º</tt> µØÖ·¡£Õâ¸öÏÞÖÆ¿ÉÒÔ·ÀÖ¹ËûÈËÀûÓÃ¼ÙÃ°µÄ<tt>À´×Ô£º</tt>µØÖ·Î±×°ÓÊ¼þÀ´×ÔÄúµÄÏµÍ³¡£
trusts_err=±£´æÐÅÈÎÓÃ»§Ê§°Ü
trusts_euser='$1' ÊÇ·Ç·¨ÓÃ»§
virtusers_title=µØÖ·Ó³Éä
virtusers_ecannot=ÄúÎÞÈ¨±à¼­µØÖ·Ó³Éä
virtusers_edirective=Sendmail ÅäÖÃÎÄ¼þÃ»ÓÐ±ØÐèµÄµØÖ·Ó³ÉäÖ¸Áî¡£
virtusers_efile=ÓÃÓÚ´´½¨µØÖ·Ó³ÉäÊý¾Ý¿â$2µÄÎÄ±¾ÎÄ¼þ$1²»´æÔÚ¡£¿ÉÄÜÐèÐÞ¸Ä<a href='$3'>Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·Â·¾¶¡£
virtusers_desc1=µØÖ·Ó³ÉäÀàËÆ<a href='$1'>±ðÃû</a>£¬¶øÇÒ¸üÊÊºÏÓÚ´¦ÖÃ¶à¸öÓÊ¼þÓòµÄÏµÍ³¡£µØÖ·Ó³ÉäÄÜ½«Õû¸öÓòµÄÓÊ¼þÖØ¶¨Ïòµ½Ò»¸öµØÖ·£¬´¦Àí²»Í¬µÄÓòÖÐµÄÍ¬ÃûÓÃ»§£¬»òÕß°ÑÒ»¸öÓòµÄËùÓÐÓÊ¼þÓ³Éäµ½ÁíÒ»¸öÓò¡£
virtusers_desc2=×¢Òâ£º¶ÔÓÃÓÚµØÖ·Ó³ÉäµÄÈÎºÎÓò£¬Äú±ØÐëÔÚ<a href='$1'>±¾µØÓò</a>±íÖÐÓÐÒ»¸öÌõÄ¿£¬¶øÇÒÃ¿¸öÖ¸ÏòÄúµÄÏµÍ³µÄÓò¶¼±ØÐëÓÐÒ»¸öDNS MX¼ÇÂ¼¡£
virtusers_for=ÓÊ¼þ¸ø..
virtusers_to=·¢ËÍ¸ø..
virtusers_error=´íÎó $1
virtusers_domain=Óò $1
virtusers_address=µØÖ· $1
virtusers_return=µØÖ·Ó³ÉäÁÐ±í
vform_edit=±à¼­Ó³Éä
vform_create=´´½¨Ó³Éä
vform_for=ÓÊ¼þ¸ø
vform_address=µØÖ·
vform_domain=Óò
vform_to=·¢ËÍ¸ø
vform_msg=ÏûÏ¢
vform_error=·µ»Ø´íÎó
vform_err_nouser=ÎÞÓÃ»§
vform_err_nohost=ÎÞÖ÷»ú
vform_err_unav=Ã»ÓÐ
vform_err_temp=ÔÝÊ±Ê§°Ü
vform_err_proto=Ð­Òé
vform_end=ÒÆ¶¯µ½×îºó
vform_ecannot=ÄúÎÞÈ¨±à¼­´ËµØÖ·Ó³Éä
vsave_ecannot=ÄúÎÞÈ¨±à¼­µØÖ·Ó³Éä
vsave_ecannot2=ÄúÎÞÈ¨±à¼­´ËµØÖ·Ó³Éä
vsave_emax=ÄúÎÞÈ¨´´½¨³¬¹ý $1¸öµØÖ·Ó³Éä
vsave_err=±£´æµØÖ·Ó³ÉäÊ§°Ü
vsave_efrom=´íÎóµØÖ·'$1'
vsave_efromdup='$1'µÄµØÖ·Ó³ÉäÒÑ¾­´æÔÚ
vsave_edom=´íÎóµÄÓò'$1'
vsave_edomdup='$1'µÄµØÖ·Ó³ÉäÒÑ¾­´æÔÚ
vsave_ematch=Ô´µØÖ·ºÍ'$1'²»Æ¥Åä
vsave_ecannot3=ÄúÎÞÈ¨´´½¨µØÖ·µÄÓ³Éä
vsave_eaddr=´íÎóµØÖ·'$1'
vsave_ecannot4=ÄúÎÞÈ¨½¨ÓòµÄÓ³Éä
vsave_edomdom=Ö»ÓÐÓò¿ÉÓ³Éäµ½ÁíÒ»¸öÓò
vsave_ecannot5=ÄúÎÞÈ¨´´½¨·µ»Ø´íÎóµÄÓ³Éä
mailers_title=ÓòÂ·ÓÉ
mailers_cannot=ÄúÎÞÈ¨±à¼­ÓòÂ·ÓÉ
mailers_edirective=Sendmail ÅäÖÃÎÄ¼þÃ»ÓÐÓòÂ·ÓÉ±ØÐèµÄÖ¸Áî¡£
mailers_efile=´´½¨ÓòÂ·ÓÉÊý¾Ý¿â$2ËùÐèµÄÎÄ±¾ÎÄ¼þ$1²»´æÔÚ¡£¿ÉÄÜÐèÐÞ¸Ä<a href='$3'>Ä£¿éÅäÖÃ</a>À´Ê¹ÓÃÕýÈ·µÄÂ·¾¶¡£
mailers_desc1=ÓòÂ·ÓÉÎª·¢ËÍÓÊ¼þµ½ÌØ¶¨µÄ¼¸¸öÓòÌá¹©ÁËÒ»ÖÖ·½·¨.¶ÔÓÚÏµÍ³ÊÇ²»ÄÜÓÃÓÚ´ÓÍâ²¿µ½´ïµÄÓÊ¼þ·þÎñÍø¹Ø»òÕßÇ¿ÖÆÌØ¶¨ÓòµÄËùÓÐµÄÓÊ¼þÍ¨¹ýÄ³Ð©·þÎñÆ÷¡£
mailers_desc2=¶ÔÈÎºÎÂ·ÓÉÓò£¬Äú<b>²»</b>Ó¦ÔÚÆä<a href='$1'>±¾µØÓò</a>ÁÐ±íÖÐÓÐÌõÄ¿¡£µ«ÊÇ£¬¶ÔÈÎºÎ×÷ÎªÍø¹ØµÄÓò£¬ÄúÓ¦ÓÐÒ»¸öÖ¸ÏòÄúµÄÏµÍ³µÄ DNS MX ¼ÇÂ¼¡£
mailers_for=ÓÊ¼þ¸ø..
mailers_delivery=µÝËÍ
mailers_to=·¢ËÍ¸ø..
mailers_return=ÓòÂ·ÓÉÁÐ±í
mform_edit=±à¼­Â·ÓÉ
mform_create=´´½¨Â·ÓÉ
mform_for=ÓÊ¼þ¸ø..
mform_host=Ö÷»ú
mform_domain=Óò
mform_delivery=µÝËÍ
mform_to=·¢ËÍ¸ø
mform_ignore=ºöÊÓSMTPµÝËÍµÄMX
mform_smtp=SMTP
mform_esmtp=À©Õ¹µÄ SMTP
mform_smtp8=8Î» SMTP
mform_relay=SMTP ×ªËÍ
mform_local=±¾µØÓÃ»§
mform_prog=ËÍÍù³ÌÐò
mform_uucp=UUCp
mform_usenet=ÕÅÌùµ½ USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=´íÎó
mform_ecannot=ÄúÎÞÈ¨±à¼­ÓòÂ·ÓÉ
msave_ecannot=ÄúÎÞÈ¨±à¼­ÓòÂ·ÓÉ
msave_err=±£´æÓòÂ·ÓÉÊ§°Ü
msave_edomain=´íÎóµÄÖ÷»ú»òÓò'$1'
msave_edup='$1' µÄÓòÂ·ÓÉÒÑ¶¨Òå
generics_title=Íâ·¢µØÖ·
generics_cannot=ÄúÎÞÈ¨Íâ·¢µØÖ·
generics_econfig=Sendmail ÅäÖÃÎÄ¼þÃ»ÓÐÄúÎÞÈ¨µØÖ·Ó³ÉäËù±ØÐèµÄÖ¸Áî¡£
generics_efile=´´½¨Íâ·¢ËÍµØÖ·Êý¾Ý¿â$2ËùÐèµÄÎÄ±¾ÎÄ¼þ$1²»´æÔÚ¡£¿ÉÄÜÐèÐÞ¸Ä<a href='$3'>Ä£¿éÅäÖÃ</a>À´Ê¹ÓÃÕýÈ·µÄÂ·¾¶¡£
generics_desc1=Íâ·¢µØÖ·Ó³ÉäÔÊÐíÐÞ¸Ä·¢×ÔÄúµÄÏµÍ³µÄÓÊ¼þµÄ<tt>À´×Ô£º</tt> µØÖ·¡¢»òÕßÐÞ¸Ä¾ÖÓòÍøÉÏÆäËüÖ÷»úÍ¨¹ý±¾ÏµÍ³·¢³öµÄÓÊ¼þµÄ<tt>À´×Ô£º</tt> µØÖ·¡£Èç¹ûÒ»¸öÏµÍ³ÉÏÓÐ¶à¸öÓò£¬»òÏ£ÍûÄ³Ð©ÓÃ»§µÄÓÊ¼þ¿´À´ºÃÏñÀ´×Ô²»Í¬µÄÓò£¬´ËµØÖ·Ó³ÉäÓÐÓÃ¡£
generics_desc2=×¢Òâ£º¶ÔÃ¿¸öÐèÒªÍâ·¢µØÖ·Ó³ÉäµÄÓò£¬ÄúÓ¦ÔÚÆä<a href='$1'>Íâ·¢Óò</a>±íÖÐÓÐÒ»¸öÌõÄ¿¡£ÁíÍâ£¬Íâ·¢µØÖ·Ó³Éä¶ÔµÝËÍµ½±¾µØÓÃ»§µÄÓÊ¼þÎÞÐ§¡£
generics_from=ÓÊ¼þÀ´×Ô..
generics_to=¸Ä±äµ½..
generics_return=µØÖ·Ó³ÉäÁÐ±í
gform_edit=±à¼­Ó³Éä
gform_create=´´½¨Ó³Éä
gform_from=ÓÊ¼þÀ´×Ô
gform_to=¸Ä±äµ½
gform_ecannot=ÄúÎÞÈ¨±à¼­Íâ·¢µØÖ·
gsave_ecannot=ÄúÎÞÈ¨±à¼­Íâ·¢µØÖ·
gsave_ecannot2=ÄúÎÞÈ¨±à¼­´ËÍâ·¢µØÖ·
gsave_err=±£´æÍâ·¢µØÖ·Ê§°Ü
gsave_efrom=´íÎóµØÖ·'$1'
gsave_ematch=À´Ô´µØÖ·ºÍ'$1'²»Æ¥Åä
gsave_eto=´íÎóµÄÐÂµØÖ·'$1'
cgs_title=Íâ·¢Óò
cgs_ecannot=ÄúÎÞÈ¨±à¼­Íâ·¢Óò
cgs_header=Íâ·¢µØÖ·Óò
cgs_desc=³ýÁË±¾µØÓÃ»§·¢ËÍµÄÓÊ¼þÍâ£¬SendmailÖ»¶ÔÁÐÓÚÓÒ¿òÖÐµÄÖ÷»úºÍÓòÖ´ÐÐ<a href='$1'>Íâ·¢µØÖ·</a>Ó³Éä¡£Òò´Ë£¬ÎªÊ¹Ò»¸öÍâ·¢µØÖ··¢Éú×÷ÓÃ£¬·¢ÐÅµØÖ·ËùÔÚµÄÓòÒ»¶¨Òª°üÀ¨ÔÚÕâ¸ö±íÖÐ¡£
cgs_err=±£´æÍâ·¢ÓòÊ§°Ü
cgs_ehost=´íÎóµÄÖ÷»ú»òÓòÃû'$1'
cgs_eip='$1' ÊÇIPµØÖ·,²»ÊÇÓò
domains_title=ÓòÓ³Éä
domains_ecannot=ÄúÎÞÈ¨±à¼­ÓòÓ³Éä
domains_econfig=Sendmail ÅäÖÃÎÄ¼þÃ»ÓÐÓòÓ³ÉäËù±ØÐèµÄÖ¸Áî¡£
domains_efile=´´½¨µØÖ·Ó³ÉäÊý¾Ý¿â$2ÐèÒªµÄÎÄ±¾ÎÄ¼þ $1 ²»´æÔÚ¡£¿ÉÄÜÐèÐÞ¸Ä<a href='$3'>Ä£¿éÅäÖÃ</a>À´Ê¹ÓÃÕýÈ·µÄÂ·¾¶¡£
domains_desc=ÓòÓ³ÉäÐÞ¸ÄÄúÏµÍ³µÄÓÃ»§·¢³öµÄ¡¢Í¨¹ýÄúÏµÍ³µÄÓÃ»§×ªËÍµÄ¡¢»òµÝËÍ¸øÄúÏµÍ³µÄÓÃ»§µÄÏûÏ¢µÄ<tt>·¢Íù£º</tt>µØÖ·¡£×ªËÍµÄÏûÏ¢»òËÍÍù±¾µØÓÃ»§µÄÏûÏ¢µÄ<tt>À´×Ô£º</tt>µØÖ·Ò²±»ÐÞ¸Ä¡£Èç¹ûÄúµÄÓòÃû¸ü¸Ä¶øÏë½«ËùÓÐ¾ÉÓò³öÏÖµÄµØ·½¶¼¸Ä³ÉÐÂÓòÓòÓ³ÉäÓÐÓÃ¡£
domains_from=À´×ÔÓò..
domains_to=·¢ÍùÓò..
domains_return=ÓòÓ³ÉäÁÐ±í
dform_edit=±à¼­Ó³Éä
dform_create=´´½¨Ó³Éä
dform_from=À´×ÔÓò
dform_to=·¢ÍùÓò
dform_ecannot=ÄúÎÞÈ¨±à¼­ÓòÓ³Éä
dsave_ecannot=ÄúÎÞÈ¨±à¼­ÓòÓ³Éä
dsave_err=±£´æÓòÓ³ÉäÊ§°Ü
dsave_edomain=´íÎóµÄÓòÃû'$1'
access_title=À¬»øÓÊ¼þ¿ØÖÆ
access_ecannot=ÄúÎÞÈ¨ÅäÖÃÀ¬»øÓÊ¼þ¿ØÖÆ
access_econfig=Sendmail ÅäÖÆÎÄ¼þÃ»ÓÐÀ¬»øÓÊ¼þ¿ØÖÆËù±ØÐëµÄÖ¸Áî¡£
access_efile=µØÖ·Ó³ÉäÊý¾Ý¿â$2ÐèÒªµÄÎÄ±¾ÎÄ¼þ$1²»´æÔÚ¡£¿ÉÄÜÐèÐÞ¸Ä<a href='$3'>Ä£¿éÅäÖÃ</a>À´Ê¹ÓÃÕýÈ·µÄÂ·¾¶¡£
access_desc1=Sendmail µÄÀ¬»øÓÊ¼þ¿ØÖÆ¹¦ÄÜÈÃÄú¾ÜÊÕÀ´×ÔÄ³Ð©µØÖ·µÄÓÊ¼þ¶ø×èÖ¹À¬»øÓÊ¼þµÖ´ïÄúµÄÓÃ»§£¬Ò²·ÀÖ¹À¬»øÓÊ¼þÖÆ×÷ÕßÊ¹ÓÃÄúµÄÏµÍ³×ª·¢ÓÊ¼þ¡£Sendmail µÄÈ±Ê¡ÉèÖÃÊÇ½ÓÊÕ±¾µØÓÃ»§µÄËùÓÐÓÊ¼þ£¬µ«ÊÇ½ûÖ¹ÈÎºÎ¿Í»§»òÓÊ¼þ·þÎñÆ÷Í¨¹ýÄúµÄÏµÍ³×ª·¢ÓÊ¼þ¡£µäÐÍÉèÖÃÊÇÌí¼Ó¾ÜÊÕÀ´×ÔÀ¬»øÓÊ¼þÖÆ×÷ÕßµÄÓÊ¼þµÄ¹æÔò£¬¼°ÔÊÐí±¾ÍøÂçÉÏµÄÆäËü¼ÆËã»úÍ¨¹ý±¾ÏµÍ³×ª·¢ÓÊ¼þµÄ¹æÔò¡£
access_desc2=×¢Òâ£ºsendmail È±Ê¡ÉèÖÃÔÊÐí±¾ÏµÍ³ÉÏÔËÐÐµÄÓÊ¼þ¿Í»§³ÌÐòÍ¨¹ý SMTP ×ª·¢ÓÊ¼þÖÁÈÎºÎÄ¿µÄµØ¡£Òò´ËÎÞÐèÔÚÔÊÐí×ª·¢µÄÁÐ±íÖÐÌí¼Ó±¾µØ <tt>127.0.0</tt> ÍøÂçµØÖ·¡£
access_source=Ô´..
access_action=¶¯×÷..
access_return=À¬»øÓÊ¼þÁÐ±í
sform_edit=±à¼­À¬»øÓÊ¼þ¿ØÖÆ¹æÔò
sform_create=´´½¨À¬»øÓÊ¼þ¿ØÖÆ¹æÔò
sform_source=ÓÊ¼þÀ´Ô´
sform_type0=ÓÊ¼þµØÖ·
sform_type1=ÍøÂç
sform_type2=ÓÃ»§
sform_type3=Óò
sform_action=¶¯×÷
sform_ok=½ÓÊÜ
sform_relay=ÔÊÐí×ª·¢
sform_reject=¾Ü¾ø
sform_discard=ÇÄÇÄÅ×Æú
sform_err=´íÎó´úÂë
sform_msg=ÏûÏ¢
sform_ecannot=ÄúÎÞÈ¨ÅäÖÃÀ¬»øÓÊ¼þ¿ØÖÆ
ssave_ecannot=ÄúÎÞÈ¨±à¼­À¬»øÓÊ¼þ¿ØÖÆ
ssave_err=±£´æÀ¬»øÓÊ¼þ¿ØÖÆ¹æÔòÊ§°Ü
ssave_etype0=´íÎóµØÖ·'$1'
ssave_etype1=´íÎóÍøÂçµØÖ·'$1'
ssave_etype2=´íÎóÓÃ»§Ãû'$1'
ssave_etype3=´íÎóµÄÓò'$1'
ssave_ecode=ÎÞÐ§µÄSMTP´íÎó´úÂë'$1'
relay_title=×ª·¢Óò
relay_ecannot=ÄúÎÞÈ¨±à¼­×ª·¢Óò
relay_eversion=Ö»ÓÐsendmail°æ±¾8.9ÒÔÉÏ²ÅÖ§³Ö×ª·¢ÓòÊôÐÔ¡£
relay_domains=ÔÊÐí×ª·¢µÄÓò
relay_desc1=³ý·ÇÓÉ<a href='$1'>À¬»øÓÊ¼þ¿ØÖÆ</a>¹æÔòÔÊÐí£¬·ñÔòsendmail½öÔÊÐíÁÐÔÚ×ó²àÎÄ±¾¿òÖÐµÄÓò×ª·¢ÓÊ¼þ¡£·¢ËÍ¸ø·Ç±¾µØÓÃ»§ºÍÎ´ÁÐÔÚ±íÖÐµÄÓòµÄÍâÀ´ÓÊ¼þ¶¼»á±»¾ÜÊÕ¡£
relay_desc2=¼ÙÈç±¾ÏµÍ³ÊÇ¼¸¸ö²»ÄÜ´ÓÍøÂçÍâ²¿Ö±½Ó·ÃÎÊµÄÓòµÄÍø¹Ø(Ê¹ÓÃ<a href='$1'>ÓòÂ·ÓÉ</a> ¹¦ÄÜ)£¬ÄÇÃ´ËùÓÐÕâÐ©Óò¶¼Ó¦ÁÐÔÚÕâÀï¡£
relay_err=±£´æ×ª·¢ÓòÊ§°Ü
relay_edomain=·Ç·¨ÓòÃû'$1'
mailq_title=ÓÊ¼þ¶ÓÁÐ
mailq_ecannot=ÄúÎÞÈ¨±à¼­ÓÊ¼þ¶ÓÁÐ
mailq_id=ÓÊ¼þ ID
mailq_sent=ÒÑ·¢ËÍ
mailq_from=À´×Ô
mailq_to=·¢Íù
mailq_size=´óÐ¡
mailq_status=×´Ì¬
mailq_unknown=Î´Öª
mailq_sending=·¢ËÍ
mailq_dmsg=Òª²é¿´ÓÊ¼þ¶ÓÁÐÖÐµÄÏûÏ¢£¬µ¥»÷ÉÏ±íÖÐµÄÓÊ¼þIDºÅ¡£
mailq_force=ÒªÇ¿ÐÐÁ¢¼´µÝËÍ¶ÓÁÐÖÐµÄÓÊ¼þ£¬<a href='$1'>µ¥»÷´Ë´¦</a>¡£
mailq_none=µ±Ç°¶ÓÁÐÖÐÃ»ÓÐÒªµÝËÍµÄÓÊ¼þ
mailq_return=ÓÊ¼þ¶ÓÁÐ
flushq_title=Ë¢ÐÂ¶ÓÁÐ
flushq_desc=ÓÃÃüÁî $1 Ç¿ÖÆµÝËÍÓÊ¼þ..
delq_err=É¾³ýÏûÏ¢Ê§°Ü
delq_ecannot=ÄúÎÞÈ¨´òÂÒ´Ó¶ÓÁÐ·¢ËÍÏûÏ¢
delq_locked=ÎÄ¼þµ±Ç°±»Ëø¶¨²»ÄÜ·¢ËÍ
boxes_title=ÓÃ»§ÓÊÏä
boxes_user=ÓÃ»§
boxes_size=ÓÊÏä´óÐ¡
boxes_none=Ã»ÓÐÓÊ¼þ
boxes_return=ÓÊÏä
boxes_ecannot=ÄúÎÞÈ¨¶ÁÓÊ¼þ
mail_title=ÓÃ»§ÓÊ¼þ
mail_from=À´×Ô
mail_date=ÈÕÆÚ
mail_subject=Ö÷Ìâ
mail_to=·¢Íù
mail_cc=×ªËÍ
mail_bcc=ÃÜËÍ
mail_pri=ÓÅÏÈ¼¶
mail_highest=×î¸ß
mail_high=¸ß
mail_normal=Ò»°ã
mail_low=µÍ
mail_lowest=×îµÍ
mail_for=ÔÚ $1
mail_size=´óÐ¡
mail_delete=É¾³ýÑ¡¶¨µÄÏûÏ¢
mail_compose=±àÐ´ÐÂÓÊ¼þ
mail_return=ÓÃ»§ÓÊ¼þ
mail_pos=·¢Íù $3 µÄ $2 µÄÏûÏ¢ $1
mail_none=ÓÊÏäÖÐÎÞÓÊ¼þ
mail_ecannot=ÄúÎÞÈ¨ÔÄ¶Á¸ÃÓÃ»§µÄÓÊ¼þ
mail_all=È«²¿Ñ¡¶¨
mail_invert=·´Ñ¡
mail_search=ÕÒµ½ÏûÏ¢³ö´¦
mail_body=ÕýÎÄ
mail_match=Æ¥Åä
mail_ok=ËÑË÷
mail_nonefrom=ÎÞ
view_title=¶ÁÓÊ¼þ
view_desc=$2ÖÐµÄÏûÏ¢$1
view_qdesc=½«ÏûÏ¢ $1 ÁÐÈë¶ÓÁÐ
view_headers=ÓÊ¼þÍ·
view_attach=¸½¼þ
view_reply=»Ø¸´
view_reply2=»Ø¸´¸øËùÓÐ
view_forward=×ª·¢
view_delete=É¾³ý
view_ecannot=ÄúÎÞÈ¨¶Á¸ÃÓÃ»§µÄÓÊ¼þ
compose_title=±àÐ´ÓÊ¼þ
reply_title=»Ø¸´ÓÊ¼þ
forward_title=×ª·¢ÓÊ¼þ
reply_headers=ÓÊ¼þÍ·
reply_attach=×ª·¢µÄ¸½¼þ
reply_attach2=¸½¼þ
reply_send=·¢ËÍ
reply_ecannot=ÄúÎÞÈ¨×÷ÎªÕâ¸öÓÃ»§·¢ËÍÓÊ¼þ
send_err=·¢ËÍÓÊ¼þÊ§°Ü
send_eto=¶ªÊ§¡°·¢Íù¡±µØÖ·
send_efrom=¶ªÊ§¡°À´×Ô¡±µØÖ·
send_title=ÒÑ·¢ËÍµÄÓÊ¼þ
send_ok=ÓÊ¼þ³É¹¦µÄ·¢ËÍµ½ $1
send_ecannot=ÄúÎÞÈ¨×÷ÎªÕâ¸öÓÃ»§·¢ËÍÓÊ¼þ
send_esmtp=SMTP ÃüÁî $1 Ê§°Ü£º$2
send_efile=¸½¼þ $1 ²»´æÔÚ
send_eattach=¸½¼þ´óÐ¡×ÜÁ¿²»ÄÜ³¬¹ý $1 kB¡£
send_eperms=ÓÃ»§ $1 ²»ÄÜÔÄ¶Á $2
delete_ecannot=ÄúÎÞÈ¨É¾³ýÕâ¸öÓÃ»§µÄÓÊ¼þ
delete_enone=Ã»Ñ¡ÔñÒªÉ¾³ýµÄÓÊ¼þ
search_title=ËÑË÷½á¹û
search_ecannot=ÄúÎÞÈ¨ËÑË÷¸ÃÓÃ»§µÄÓÊ¼þ
search_ematch=Äú±ØÐëÔÙ´ÎÊäÈëÆ¥ÅäµÄÎÄ±¾¡£
search_none=Ã»ÕÒµ½ÏûÏ¢¡£
search_results=Æ¥Åä $1.. µÄÓÊ¼þÏûÏ¢
file_title=±à¼­ Sendmail ÎÄ¼þ
file_desc=ÀûÓÃÏÂ±íÊÖ¹¤±à¼­ Sendmail ÎÄ¼þ $1¡£
file_undo=»Ö¸´¸Ä±ä
file_edit=ÊÖ¹¤±à¼­ $1
file_ealiases=Èç¹ûÄúÄÜ·ÃÎÊËùÓÐ±ðÃû£¬ÄúÖ»ÄÜ±à¼­±ðÃûÎÄ¼þ¡£
file_evirtusers=Èç¹ûÄúÄÜ·ÃÎÊËùÓÐµØÖ·Ó³Éä£¬ÄúÖ»ÄÜ±à¼­µØÖ·Ó³ÉäÎÄ¼þ¡£
file_emailers=ÄúÎÞÈ¨±à¼­ÓòÂ·ÓÉÎÄ¼þ¡£
file_egenerics=Èç¹ûÄúÄÜ·ÃÎÊËùÓÐÍâ·¢µØÖ·£¬ÄúÖ»ÄÜ±à¼­Íâ·¢µØÖ·ÎÄ¼þ¡£
file_edomains=ÄúÎÞÈ¨±à¼­ÓòÓ³ÉäÎÄ¼þ¡£
file_eaccess=ÄúÎÞÈ¨±à¼­À¬»øÓÊ¼þ¿ØÖÆÎÄ¼þ¡£
file_emode=Î´ÖªµÄÄ£Ê½£¡
file_err=±à¼­ÎÄ¼þÊ§°Ü
acl_opts=ÊÇ·ñ¿ÉÒÔ±à¼­ sendmail Ñ¡Ïî£¿
acl_cws=ÊÇ·ñ¿ÉÒÔ±à¼­±¾µØÓò£¿
acl_masq=ÊÇ·ñ¿ÉÒÔÅäÖÃÓòÎ±×°£¿
acl_trusts=ÊÇ·ñ¿ÉÒÔ±à¼­¿ÉÐÅÓÃ»§£¿
acl_cgs=ÊÇ·ñ¿ÉÒÔ±à¼­Íâ·¢Óò£¿
acl_relay=ÊÇ·ñ¿ÉÒÔ±à¼­×ª·¢Óò£¿
acl_mailers=ÊÇ·ñ¿ÉÒÔÅäÖÃÓòÂ·ÓÉ£¿
acl_access=ÊÇ·ñ¿ÉÒÔÅäÖÃÀ¬»øÓÊ¼þ¿ØÖÆ?
acl_domains=ÊÇ·ñ¿ÉÒÔÅäÖÃÓòÓ³Éä£¿
acl_stop=ÊÇ·ñ¿ÉÆô¶¯Í£Ö¹sendmail£¿
acl_mailq=ÊÇ·ñ¿É¹ÜÀíÓÊ¼þ¶ÓÁÐ£¿
acl_viewdel=²é¿´²¢É¾³ý
acl_view=½ö²é¿´
acl_virtusers=±¾ÓÃ»§¿ÉÒÔ±à¼­µÄµØÖ·Ó³Éä
acl_none=ÎÞ
acl_all=ËùÓÐ
acl_matching=Æ¥Åä
acl_vtypes=±¾ÓÃ»§¿ÉÒÔ±à¼­µÄµØÖ·Ó³Éä
acl_vtype0=·µ»Ø´íÎó
acl_vtype1=¡°·¢Íù¡±Óò
acl_vtype2=¡°·¢Íù¡±µØÖ·
acl_vmax=×î´óµØÖ·Ó³ÉäÊý
acl_unlimited=ÎÞÏÞ
acl_aliases=±¾ÓÃ»§¿É±à¼­µÄ±ðÃû
acl_atypes=±¾ÓÃ»§¿É±à¼­µÄ±ðÃûÀàÐÍ
acl_atype1=ÓÊ¼þµØÖ·
acl_atype2=ÎÄ¼þÖÐµÄµØÖ·
acl_atype3=Ð´ÈëÎÄ¼þ
acl_atype4=Ìá¹©¸ø³ÌÐò
acl_atype5=×Ô¶¯×ª·¢
acl_amax=×î´ó±ðÃûÊý
acl_outgoing=±¾ÓÃ»§¿ÉÒÔ±à¼­µÄÍâ·¢µØÖ·
acl_read=¿ÉÔÄ¶ÁÆäÓÊ¼þµÄÓÃ»§
acl_users=½öÓÃ»§
acl_userse=ËùÓÐÓÃ»§³ýÁË
acl_from=ÔÊÐí¡°À´×Ô¡±µØÖ·
acl_any=ÈÎºÎµØÖ·
acl_fdoms=ÓÊÏä @ Óò
acl_faddrs=ÁÐ³öµÄµØÖ·
acl_fdom=ÈÎºÎµØÖ· @ Óò
acl_apath=ÏÞÖÆÎÄ¼þºÍ³ÌÐòµ½Ä¿Â¼
acl_attach=×î´ó¸½¼þ×Ü´óÐ¡
log_opts=ÒÑ¸ü¸Ä sendmail Ñ¡Ïî
log_alias_create=ÒÑ´´½¨±ðÃû $1
log_alias_modify=ÒÑÐÞ¸Ä±ðÃû $1
log_alias_delete=ÒÑÉ¾³ý±ðÃû $1
log_alias_manual=ÒÑÊÖ¹¤±à¼­±ðÃûÎÄ¼þ $1
log_cws=ÒÑ¸Ä±ä±¾µØÓòÃû
log_masq=ÒÑ¸Ä±äÓòÃûÎ±×°
log_trusts=ÒÑ¸Ä±äÐÅÈÎµÄÓÃ»§
log_virtuser_create=ÒÑ´´½¨µØÖ·Ó³Éä $1
log_virtuser_modify=ÒÑÐÞ¸ÄµØÖ·Ó³Éä $1
log_virtuser_delete=ÒÑÉ¾³ýµØÖ·Ó³Éä $1
log_virtuser_manual=ÒÑÊÖ¹¤±à¼­µØÖ·Ó³ÉäÎÄ¼þ $1
log_mailer_create=ÒÑ´´½¨ÓòÃûÂ·ÓÉ $1
log_mailer_modify=ÒÑÐÞ¸Ä¸üÐÂÓòÃûÂ·ÓÉ $1
log_mailer_delete=ÒÑÉ¾³ýÓòÃûÂ·ÓÉ $1
log_mailer_manual=ÒÑÊÖ¹¤±à¼­ÓòÃûÂ·ÓÉÎÄ¼þ $1
log_generic_create=ÒÑ´´½¨Íâ·¢µØÖ· $1
log_generic_modify=ÒÑÐÞ¸ÄÍâ·¢µØÖ· $1
log_generic_delete=ÒÑÉ¾³ýÍâ·¢µØÖ· $1
log_generic_manual=ÒÑÊÖ¹¤±à¼­Íâ·¢µØÖ·ÎÄ¼þ $1
log_cgs=ÒÑ¸Ä±äÍâ·¢ÓòÃû
log_domain_create=ÒÑ´´½¨ÓòÃûÓ³Éä $1
log_domain_modify=ÒÑÐÞ¸ÄÓòÃûÓ³Éä $1
log_domain_delete=ÒÑÉ¾³ýÓòÃûÓ³Éä $1
log_domain_manual=ÒÑÊÖ¹¤±à¼­ÓòÃûÓ³ÉäÎÄ¼þ $1
log_access_create=ÒÑÎª $1 ´´½¨À¬»øÓÊ¼þ¿ØÖÆ
log_access_modify=ÒÑÎª $1 ¸üÐÂÀ¬»øÓÊ¼þ¿ØÖÆ
log_access_delete=ÒÑÎª $1 É¾³ýÀ¬»øÓÊ¼þ¿ØÖÆ
log_access_manual=ÒÑÊÖ¹¤±à¼­À¬»øÓÊ¼þ¿ØÖÆÎÄ¼þ $1
log_relay=ÒÑ¸Ä±ä×ª·¢Óò
log_flushq=ÒÑË¢ÐÂÓÊ¼þ¶ÓÁÐ
log_delmailq=ÒÑ´Ó¶ÓÁÐÉ¾³ýÀ´×Ô $1 µÄÓÊ¼þ
log_stop=ÒÑÍ£Ö¹ sendmail ÊØ»¤³ÌÐò
log_start=ÒÑÆô¶¯ sendmail ÊØ»¤³ÌÐò
log_delmail=ÒÑ´Ó $2 É¾³ý $1 ÌõÏûÏ¢
log_send=ÒÑ·¢ËÍÓÊ¼þµ½ $1
07070100028769000081a40000000000000002000000013d1fe2d3000039a4000000200000000000000000000000000000001f00000003reloc/sendmail/lang/zh_TW.Big5    index_title=Sendmail ²ÕºA
index_econfig=Sendmail ²ÕºAÀÉ®× $1 ¤£¦s¦b. ¥i¯à¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_eversion=±zªº Sendmail ²ÕºAÀÉ¦ü¥G¤£¬O³Ì·sª© Sendmail ©Ò¨Ï¥Îªº. Webmin ¥u¤ä´©²Ä 8.8 ªO»P¥H¤Wªº Sendmail.
index_epath=Sendmail °õ¦æÀÉ $1 ¨S¦³¦w¸Ë¦b±zªº¨t²Î¤W. ¥i¯à¬O±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¦³¿ù»~, ©ÎªÌ¬O Sendmail ©|¥¼³Q¦w¸Ë.
index_return=Sendmail ²ÕºA
index_stop=°±¤î Sendmail
index_stopmsg=«ö¤U³o­Ó«ö¶s¥H°±¤î Sendmail ªºµ{§Ç. ³o±N·|°±¤î»¼°e©Ò¦³µ¹¥»¦aºÝ¨Ï¥ÎªÌªº¶l¥ó, ¨Ã¥B¨¾¤î«È¤áºÝ§Q¥Î³o­Ó¶l¥ó¦øªA¾¹»¼°e¶l¥ó.
index_start=±Ò°Ê Sendmail
index_startmsg=«ö¤U³o­Ó«ö¶s¥H¸g¥Ñ«ü¥O $1 ±Ò°Ê Sendmail ªºµ{§Ç. °£«D§¹¦¨³o­Ó°Ê§@, ¶l¥ó±NµLªk»¼°eµ¹¥»¦aºÝªº¨Ï¥ÎªÌ, ¦Ó¥B«È¤áºÝ¤]¤£¯à¸g¥Ñ³o­Ó¶l¥ó¦øªA¾¹»¼°e¶l¥ó.

opts_title=Sendmail ¿ï¶µ
opts_ecannot=±z¤£³Q¤¹³\½s¿è Sendmail ¿ï¶µ
opts_ds=¸g¥Ñ¥D¾÷°e¥X¥~°eªº¶l¥ó
opts_direct=ª½±µ»¼°e
opts_dr=Âà°e¤£¦X®æªº¨Ï¥ÎªÌ¦WºÙ¨ì¥D¾÷
opts_dh=¬°¥»¦aºÝ¨Ï¥ÎªÌÂà°e¶l¥ó¨ì¥D¾÷
opts_local=¥»¦aºÝ»¼°e
opts_queuela=°e¥X¶l¥ó®É³Ì¤jªº¥­§¡­t¸ü­­¨î
opts_refusela=±µ¦¬¶l¥ó®É³Ì¤jªº¥­§¡­t¸ü­­¨î
opts_maxch=³Ì¤j¤lµ{§Ç¼Æ¥Ø
opts_throttle=¨C¬í¤¤³Ì¤j³sµ²¼Æ
opts_minqueueage=­«¸Õ»¼°eªº³Ì¤p¶¡¹j®É¶¡
opts_runsize=³Ì¤j¦î¦C¤j¤p
opts_queuereturn=©ñ±ó«eµ¥«Ý®É¶¡
opts_queuewarn=°e¥XÄµ§i«eµ¥«Ý®É¶¡
opts_queue=¶l¥ó¦î¦C¥Ø¿ý
opts_postmaster=°e¥X¿ù»~°T®§µ¹
opts_forward=¨Ï¥ÎªÌ¦Û°ÊÂà±H³]©wÀÉ
opts_minfree=³Ì¤p«O¯dºÏºÐªÅ¶¡
opts_maxmessage=³Ì¤j¶l¥ó¤j¤p
opts_loglevel=¬ö¿ýµ¥¯Å
opts_mimebounce=¬O§_¼u¦^ MIME ½s½X¶l¥ó?
opts_default=¹w³]­È
opts_save=Àx¦s¨Ã®M¥Î
opts_err=µLªkÀx¦s¿ï¶µ
opts_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷©Îºô°ì¦WºÙ
opts_einvalid='$1' ¤£¬O¤@­Ó¦³®Äªº¼Æ­Èµ¹ '$2'
opts_blame=ÀÉ®×¦w¥þ¿ï¶µ
opts_selected=¿ï¾Üªº...

aliases_title=¶l¥ó§O¦W
aliases_ecannot=±z¤£³Q¤¹³\½s¿è§O¦W
aliases_addr=¶l¥ó¦ì§}
aliases_to=§O¦W¬°...
aliases_type1=¶l¥ó¦ì§} $1
aliases_type2=¶l¥ó¦ì§}¦bÀÉ®× $1
aliases_type3=ÀÉ®× $1
aliases_type4=µ{¦¡ $1
aliases_type5=¦Û°Ê¦^ÂÐÀÉ®× $1
aliases_none=µL
aliases_return=§O¦W¦Cªí

aform_type0=µL
aform_type1=¹q¤l¶l¥ó¦ì§}
aform_type2=¶l¥ó¦ì§}¦bÀÉ®×
aform_type3=¼g¤JÀÉ®×
aform_type4=°eµ¹µ{¦¡
aform_type5=¦Û°Ê±qÀÉ®×¦^ÂÐ
aform_edit=½s¿è§O¦W
aform_create=«Ø¥ß§O¦W
aform_name=¶l¥ó¦ì§}
aform_enabled=¬O§_¨Ï¥Î?
aform_val=§O¦W¬°

asave_err=µLªkÀx¦s§O¦W
asave_ecannot2=±z¤£³Q¤¹³\½s¿è§O¦W
asave_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó§O¦W
asave_emax=±z¤£³Q¤¹³\«Ø¥ß¶W¹L $1 ­Ó§O¦W
asave_eaddr='$1' ¤£¬O¤@­Ó¦³®Äªº¶l¥ó¦ì§}
asave_ealready=§O¦W '$1' ¤w¸g¦s¦b
asave_ematch=±z¥u³Q¤¹³\«Ø¥ß§O¦W²Å¦X '$1'
asave_etype=±z¤£¯à«Ø¥ß³oºØÃþ§Oªº§O¦W
asave_etype1='$1' ¤£¬O¤@­Ó¦³®Äªº¹q¤l¶l¥ó¦ì§}
asave_etype2=¶l¥ó¦ì§} '$1' ¤£¦s¦b
asave_etype3='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ®×¦WºÙ
asave_etype4='$1' ¤£¬O¤@­Óµ{¦¡©Î¤£¦s¦b
asave_etype5=¦Û°Ê¦^ÂÐÀÉ®× '$1' ¤£¦s¦b
asave_etype4none=¨S¦³´£¨Ñµ{¦¡

cws_title=¥»¦aºÝºô°ì
cws_ecannot=±z¤£³Q¤¹³\½s¿è¥»¦aºÝºô°ì
cws_domains=¥Ñ³o­Ó¦øªA¾¹³B²zªººô°ì
cws_desc1=°£¤F»¼°eµ¹ $1 ªº¶l¥ó¤§¥~, Sendmail ¥u±µ¨ü¨Ó¦Û¥»¦aºÝªº©Î¬O¥ªÃä¤å¦r¤è¶ô¤¤¦C¥Xªº¥D¾÷»Pºô°ì¤§¶l¥ó»¼°e. ¦pªG±z§Æ±æ±zªº¶l¥ó¦øªA¾¹¯à³B²z¦h­Ó¹q¤l¶l¥óºô°ì, ±z¥²¶·±N¤§¦C¤J³o­Óªí³æ¤§¤¤.
cws_desc2=ª`·N: ¶È¦b³o­Ó¦Cªí¤¤¦C¥Xºô°ì³q±`¤£¨¬¥H¥¿½T³B²z¶l¥ó. ±z¥²¶·½T©w¸Óºô°ì¦³ DNS ¬ö¿ý¦s¦b, ¥B«ü¦V³o­Ó¨t²Î.
cws_err=µLªkÀx¦s¥»¦aºÝºô°ì
cws_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷©Îºô°ì¦WºÙ
cws_eip='$1' ¬O¤@­Ó IP ¦ì§}, ¤£¬Oºô°ì¦WºÙ

masq_title=ºô°ì°°¸Ë
masq_ecannot=±z¤£³Q¤¹³\²ÕºAºô°ì°°¸Ë
masq_domain=°°¸Ë¦¨ºô°ì
masq_domains=­n³Q°°¸Ëªººô°ì
masq_desc1=¦pªG¤W­±¦³µ¹©wºô°ì, Sendmail ±N·|ÅÜ§ó©Ò¦³¥~°e¶l¥óªº <tt>¨Ó·½ (From)</tt> Äæ¦ì, ¶l¥ó±N³Qµø¬°±q¸Óºô°ì°e¥X. ¦Ó¥B¥ô¦ó¨Ó¦Û¥ªÃä¦Cªíºô°ì¨Ã¸g¹L±zªº¨t²Îªº¶l¥ó¤]·|³Q¬Û¦Pªº³B²z. ª`·N: ºô°ì°°¸Ëªº©w¸q¥i¥H³Q¥ô¦ó¯S©w¨Ï¥ÎªÌ¨Ï¥Î<a href='$1'>¥~°e¶l¥ó¦ì§}</a>¥\¯à¦ÓÀ£¨î.
masq_desc2=·í±z§Æ±æ±zªº¹q¤l¶l¥ó¬Ý¨Ó¬O±q±zªººô°ìµo¥X¦Ó¤£¬O±q³o­Ó¥D¾÷µo¥X®É, ©ÎªÌ±zªº¨t²Î¬O§@¬°¦h­Ó¶l¥ó¥D¾÷ªº¶°´²¾¹¨Ï¥Î®É, ³o­Ó¥\¯à±N«D±`¦³¥Î.
masq_err=µLªkÀx¦sºô°ì°°¸Ë
masq_edomain='$1' ¤£¬O¤@­Ó¦³®Äªº­n³Q°°¸Ëºô°ì¦WºÙ
masq_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷©Îºô°ì¦WºÙ
masq_eip='$1' ¬O¤@­Ó IP ¦ì§}, ¤£¬Oºô°ì¦WºÙ

trusts_title=«H¥ôªº¨Ï¥ÎªÌ
trusts_ecannot=±z¤£³Q¤¹³\½s¿è«H¥ôªº¨Ï¥ÎªÌ
trusts_users=Sendmail «H¥ôªº¥»¦aºÝ¨Ï¥ÎªÌ
trusts_desc=·í¨Ï¥ÎªÌ¹Á¸Õ­n°e¥X¹q¤l¶l¥ó®É, Sendmail ¥u¤¹³\³o­Ó¦Cªí¤¤ªº¨Ï¥ÎªÌ¨Ï¥Î¤@­Ó¤£¦Pªº <tt>¨Ó·½ (From)</tt> Äæ¦ì. ³o±N¥i¥HÁ×§K¨Ï¥ÎªÌ§Q¥Î±zªº¨t²Îµo¥X§t¦³°°³y <tt>¨Ó·½ (From)</tt> Äæ¦ìªº°°³y¹q¤l¶l¥ó.
trusts_err=µLªkÀx¦s«H¥ôªº¨Ï¥ÎªÌ
trusts_euser='$1' ¤£¬O¤@­Ó¦³®Äªº¨Ï¥ÎªÌ

virtusers_title=¶l¥ó¦ì§}¹ïÀ³
virtusers_ecannot=±z¤£³Q¤¹³\½s¿è¶l¥ó¦ì§}¹ïÀ³
virtusers_edirective=±zªº Sendmail ²ÕºAÀÉ¨S¦³¥]§t¥²­nªº¶l¥ó¦ì§}¹ïÀ³©R¥O.
virtusers_efile=¤å¦rÀÉ®× $1 ¨Ó¦Û¶l¥ó¦ì§}¹ïÀ³¸ê®Æ®w $2 ¤£¦s¦b. ±z¥i¯à»Ý­nÅÜ§ó<a href='$3'>¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
virtusers_desc1=¶l¥ó¦ì§}¹ïÀ³¬Û¦ü©ó<a href='$1'>¶l¥ó§O¦W</a>, ¦ý§ó¯à°t¦X¦h­«¹q¤l¶l¥óºô°ìªº³B²z. ¥¦­Ì¥i¥H¥Î¦b±q³sÄòªººô°ì­«¾É¦V¶l¥ó¨ì¤@­Ó¶l¥ó¦ì§}, ³B²z¦b¤£¦Pºô°ì¤Wªº¬Û¦P¨Ï¥ÎªÌ¦WºÙ, ©Î¬O±N¥þ³¡ªº¶l¥ó¥Ñ¤@­Óºô°ì¹ïÀ³¨ä¥Lªº.
virtusers_desc2=ª`·N: ±z¦Ü¤Ö¥²¶·¿é¤J¤@­Ó<a href='$1'>¥»¦aºÝºô°ì</a>ªí®æµ¹¥ô¦ó¨Ï¥Î³o­Óºô°ì¹ïÀ³ªººô°ì, ¦Ó¥B¥²¶·­n±N¨C¤@­Óºô°ìªº DNS MX ¬ö¿ý«ü¦V±zªº¨t²Î.
virtusers_for=¶l»¼µ¹...
virtusers_to=°e¨ì...
virtusers_error=¿ù»~ $1
virtusers_domain=ºô°ì $1
virtusers_address=¶l¥ó¦ì§} $1
virtusers_return=¶l¥ó¦ì§}¹ïÀ³¦Cªí

vform_edit=½s¿è¶l¥ó¦ì§}¹ïÀ³
vform_create=«Ø¥ß¶l¥ó¦ì§}¹ïÀ³
vform_for=¶l»¼µ¹
vform_address=¦ì§}
vform_domain=ºô°ì¦WºÙ
vform_to=°e¨ì
vform_msg=°T®§
vform_error=¦^À³¿ù»~
vform_end=²¾¨ìµ²§À
vform_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó¶l¥ó¦ì§}¹ïÀ³

vsave_ecannot=±z¤£³Q¤¹§Ç½s¿è¶l¥ó¦ì§}¹ïÀ³
vsave_ecannot2=±z¤£³Q¤¹³\½s¿è³o­Ó¶l¥ó¦ì§}¹ïÀ³
vsave_emax=±z¤£³Q¤¹³\«Ø¥ß¶W¹L $1 ­Ó¶l¥ó¦ì§}¹ïÀ³
vsave_err=µLªkÀx¦s¶l¥ó¦ì§}¹ïÀ³
vsave_efrom='$1' ¤£¬O¤@­Ó¦³®Äªº¶l¥ó¦ì§}
vsave_efromdup=µ¹ '$1' ªº¶l¥ó¦ì§}¹ïÀ³¤w¸g³Q©w¸q
vsave_edom='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ
vsave_edomdup=µ¹ '$1' ªº¶l¥ó¦ì§}¹ïÀ³¤w¸g³Q©w¸q
vsave_ematch=¨Ó·½¶l¥ó¦ì§}¤£²Å¦X '$1'
vsave_ecannot3=±z¤£³Q¤¹³\«Ø¥ß¹ïÀ³¨ì¶l¥ó¦ì§}
vsave_eaddr='$1' ¤£¬O¤@­Ó¦³®Äªº¦ì§}
vsave_ecannot4=±z¤£³Q¤¹³\«Ø¥ß¹ïÀ³¨ìºô°ì
vsave_edomdom=¥u¦³ºô°ì¥i¥H³Q¹ïÀ³¨ì¥t¤@­Óºô°ì
vsave_ecannot5=±z¤£³Q¤¹³\«Ø¥ß¦^À³¿ù»~ªº¹ïÀ³

mailers_title=ºô°ì¸ô¥Ñ
mailers_cannot=±z¤£³Q¤¹³\½s¿èºô°ì¸ô¥Ñ
mailers_edirective=±zªº Sendmail ²ÕºAÀÉ¨S¦³¥]§t¥²­nªººô°ì¸ô¥Ñ©R¥O.
mailers_efile=¤å¦rÀÉ®× $1 ¨Ó¦Ûºô°ì¸ô¥Ñ¸ê®Æ®w $2 ¤£¦s¦b. ±z¥i¯à»Ý­nÅÜ§ó<a href='$3'>¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
mailers_desc1=ºô°ì¸ô¥Ñ´£¨Ñ¤@­Ó¤è¦¡¥H©w¸q¶l±H¨ì¬Y¨Çºô°ì®É©Ò¥Îªº¯S®í¶Ç¿é¤è¦¡. ¦pªG±zªº¨t²Î¬O¨ä¥L¤£¯à¦s¨ú¥~³¡ºô¸ôªº¦øªA¾¹ªº¹h¹D¾¹, ©Î¬O±z­n±j¨î©Ò¦³µ¹¯S©wºô°ìªº¶l¥ó¥²¶·­n¸g¹L¬Y¨Ç¦øªA¾¹®É, ³o­Ó¥\¯à±N«D±`¦³¥Î.
mailers_desc2=±z<b>¤£</b>À³¸Ó¦b<a href='$1'>¥»¦aºÝºô°ì</a>¤¤©w¸q­n³]©w¸ô¥Ñªººô°ì. µM¦Ó±zÀ³¸Ó­n±N§â±zªº¨t²Î·í§@¹h¹D¾¹ªº¨t²Îªº DNS MX ¬ö¿ý«ü¦V±zªº¨t²Î.
mailers_for=¶l»¼µ¹...
mailers_delivery=±H°e
mailers_to=°eµ¹...
mailers_return=ºô°ì¸ô¥Ñ¦Cªí

mform_edit=½s¿è¸ô¥Ñ
mform_create=«Ø¥ß¸ô¥Ñ
mform_for=¶l»¼µ¹
mform_host=¥D¾÷
mform_domain=ºô°ì¦WºÙ
mform_delivery=±H°e
mform_to=°eµ¹
mform_ignore=¹ï©ó SMTP ±H°e©¿²¤ MX ¬ö¿ý
mform_smtp=SMTP
mform_esmtp=©µ¦ùªº SMTP
mform_smtp8=8 ¦ì¤¸ SMTP
mform_relay=SMTP ¤¤Ä~
mform_local=¥»¦aºÝ¨Ï¥ÎªÌ
mform_prog=°eµ¹µ{¦¡
mform_uucp=UUCp
mform_usenet=±i¶K¨ì USENET
mform_fax=HylaFAX
mform_pop=POP3
mform_procmail=Procmail
mform_mail11=DECnet mail11
mform_error=¿ù»~
mform_ecannot=±z¤£³Q¤¹³\½s¿èºô°ì¸ô¥Ñ

msave_ecannot=±z¤£³Q¤¹³\½s¿èºô°ì¸ô¥Ñ
msave_err=µLªkÀx¦sºô°ì¸ô¥Ñ
msave_edomain='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷©Îºô°ì¦WºÙ
msave_edup=µ¹ '$1' ªººô°ì¸ô¥Ñ¤w¸g³Q©w¸q

generics_title=¥~°e¶l¥ó¦ì§}
generics_cannot=±z¤£³Q¤¹³\½s¿è¥~°e¶l¥ó¦ì§}
generics_econfig=±zªº Sendmail ²ÕºAÀÉ¨S¦³¥]§t¥²­nªº¥~°e¶l¥ó¦ì§}©R¥O.
generics_efile=¤å¦rÀÉ®× $1 ¨Ó¦Û¥~°e¶l¥ó¦ì§}¸ê®Æ®w $2 ¤£¦s¦b. ±z¥i¯à»Ý­nÅÜ§ó<a href='$3'>¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
generics_desc1=¥~°e¶l¥ó¦ì§}¹ïÀ³¤¹³\±zÅÜ§ó¥Ñ±zªº¨t²Î¥~°eªº¶l¥ó, ©Î¸g¥Ñ±z¨t²Îªº¶l¥óªºªº <tt>¨Ó·½ (From)</tt> Äæ¦ì. ·í±z¦b¤@­Ó¨t²Î¤W¨Ï¥Î¦h­Óºô°ì©Î§Æ±æ¬Y¨Ç¨Ï¥ÎªÌ¬Ý°_¨Ó¹³¬O¨Ï¥Î¤£¦Pºô°ì®É, ³o­Ó¥\¯à±N«D±`¦³¥Î.
generics_desc2=ª`·N: ±z¦Ü¤Ö¥²¶·¿é¤J¤@­Ó<a href='$1'>¥~°e¶l¥óºô°ì</a>ªí®æµ¹¥ô¦ó¨Ï¥Î³o­Ó¥~°e¶l¥ó¦ì§}ªººô°ì. ¦¹¥~, ¥~°e¶l¥ó¦ì§}±N¤£·|¼vÅT»¼°e¨ì¥»¦aºÝ¨Ï¥ÎªÌªº¶l¥ó.
generics_from=¶l»¼¦Û...
generics_to=§ïÅÜ¦¨...
generics_return=¶l¥ó¦ì§}¹ïÀ³¦Cªí

gform_edit=½s¿è¶l¥ó¦ì§}¹ïÀ³
gform_create=«Ø¥ß¶l¥ó¦ì§}¹ïÀ³
gform_from=¶l»¼¦Û
gform_to=§ïÅÜ¦¨
gform_ecannot=±z¤£³Q¤¹³\½s¿è³o­Ó¥~°e¶l¥ó¦ì§}

gsave_ecannot=±z¤£³Q¤¹³\½s¿è¥~°e¶l¥ó¦ì§}
gsave_ecannot2=±z¤£³Q¤¹³\½s¿è³o­Ó¥~°e¶l¥ó¦ì§}
gsave_err=µLªkÀx¦s¥~°e¶l¥ó¦ì§}
gsave_efrom='$1' ¤£¬O¤@­Ó¦³®Äªº¨Ó·½¶l¥ó¦ì§}
gsave_ematch=¨Ó·½¶l¥ó¦ì§}¤£²Å¦X '$1'
gsave_eto='$1' ¤£¬O¤@­Ó¦³®Äªº·s¶l¥ó¦ì§}

cgs_title=¥~°e¶l¥óºô°ì
cgs_ecannot=±z¤£³Q¤¹³\½s¿è¥~°e¶l¥óºô°ì
cgs_header=¥~°e¶l¥óºô°ì
cgs_desc=°£¤F¥Ñ¥»¦aºÝ¨Ï¥ÎªÌ©Ò»¼°eªº¶l¥ó¥~, Sendmail ¥u·|³B²z¥ªÃä¤å¦r¤è¶ô¤¤¦C¥Xªº¥D¾÷»Pºô°ì¤§<a href='$1'>¥~°e¶l¥ó¦ì§}</a>. ©Ò¥H­n¨Ï¥~°e¶l¥ó¦ì§}¯à¥¿±`¹B§@, ¸Óºô°ì¥²¶·¦C¦b³o­Óªí³æ¤§¤¤.
cgs_err=µLªkÀx¦s¥~°e¶l¥óºô°ì
cgs_ehost='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷©Îºô°ì¦WºÙ
cgs_eip='$1' ¬O¤@­Ó IP ¦ì§}, ¤£¬O¤@­Óºô°ì¦WºÙ

domains_title=ºô°ì¹ïÀ³
domains_ecannot=±z¤£³Q¤¹³\½s¿èºô°ì¹ïÀ³
domains_econfig=±zªº Sendmail ²ÕºAÀÉ¨S¦³¥]§t¥²­nªººô°ì¹ïÀ³©R¥O.
domains_efile=¤å¦rÀÉ®× $1 ¨Ó¦Ûºô°ì¹ïÀ³¸ê®Æ®w $2 ¤£¦s¦b. ±z¥i¯à»Ý­nÅÜ§ó<a href='$3'>¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
domains_desc=ºô­¶¹ïÀ³±NÅÜ§ó¥Ñ±zªº¨t²Î©Ò°e¥Xªº¶l¥ó, ¸g¥Ñ±zªº¨t²Î¤¤Ä~ªº¶l¥ó, ©Î°e¨ì±z¨tÀ´¤W¨Ï¥ÎªÌªº¶l¥ó¤§ <tt>¥Ø¼Ð (To)</tt> Äæ¦ì. ¹ï©ó¤¤Ä~¶l¥ó©Îµ¹¥»¦aºÝ¨Ï¥ÎªÌªº¶l¥ó¤§ <tt>¨Ó·½ (From)</tt> Äæ¬°¤]·|³QÅÜ§ó. ¦pªG±z­nÅÜ§óºô°ì, ¦Ó¥B¬O±N©Ò¦³ÂÂªººô°ì¦WºÙÅÜ§ó¦¨·sªººô°ì¦WºÙ®É, ³o­Ó¥\¯à±N«D±`¦³¥Î.
domains_from=¨Ó·½ºô°ì...
domains_to=¥Ø¼Ðºô°ì...
domains_return=ºô°ì¹ïÀ³¦Cªí

dform_edit=½s¿è¶l¥ó¦ì§}¹ïÀ³
dform_create=«Ø¥ß¶l¥ó¦ì§}¹ïÀ³
dform_from=¨Ó·½ºô°ì
dform_to=¥Ø¼Ðºô°ì
dform_ecannot=±z¤£³Q¤¹³\½s¿è¶l¥ó¦ì§}¹ïÀ³

dsave_ecannot=±z¤£³Q¤¹³\½s¿è¶l¥ó¦ì§}¹ïÀ³
dsave_err=µLªkÀx¦s¶l¥ó¦ì§}¹ïÀ³
dsave_edomain='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ

access_title=©U§£¶l¥ó±±¨î
access_ecannot=±z¤£³Q¤¹³\²ÕºA©U§£¶l¥ó±±¨î
access_econfig=±zªº Sendmail ²ÕºAÀÉ¨S¦³¥]§t¥²­nªº©U§£¶l¥ó±±¨î©R¥O.
access_efile=¤å¦rÀÉ®× $1 ¨Ó¦Û©U§£¶l¥ó±±¨î¸ê®Æ®w $2 ¤£¦s¦b. ±z¥i¯à»Ý­nÅÜ§ó<a href='$3'>¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
access_desc1=Sendmail ªº©U§£¶l¥ó±±¨î¥\¯à¤¹³\±z«OÅ@±zªº¨Ï¥ÎªÌ©Ú¦¬¯S©w¨Ó·½ªº¶l¥ó, ¨Ã¥B¨¾¤î¨ä¥L¤H§Q¥Î±zªº¨t²Î¤¤Ä~±Hµo©U§£¶l¥ó. ¹w³]ªºª¬ªp¬O¤¹³\¥ô¦ó¶l¥ó¨Ó·½, ¦ý¬O¨¾¤î¥ô¦ó¨Ï¥ÎºÝ©Î´£¥¦¶l¥ó¦øªA¾¹¤¤Ä~±H°e¶l¥ó. ¤@¯ë¦Ó¨¥, ±z¥i¥HÂÇ¥Ñ¼W¥[©U§£¶l¥ó±±¨î³W«h¥H©Úµ´¯S©wªº¶l¥ó¨Ó·½, ¨Ã¥B³]©w¥i¥H¨Ï¥Î±zªº¨t²Î¥H¤¤Ä~±H°e¶l¥óªº¨ä¥L¾÷¾¹¤§³W«h.
access_desc2=ª`·N: Sendmaill ¹w³]¤¹³\¦b±z¨t²Î¤W°õ¦æªº«È¤áºÝµ{¦¡¸g¥Ñ SMTP ¤¤Ä~±H¥X¶l¥ó¨ì¥ô¦ó¥Ø¼Ð. ©Ò¥H¨S¦³¥²­n¼W¥[ <tt>127.0.0</tt> ³o­Óºô¸ô¦ì§}¨ì±µ¨ü¤¤Ä~¶l¥ó±H°eªº¦Cªí¤¤.
access_source=¨Ó·½...
access_action=°Ê§@...
access_return=©U§£¶l¥ó±±¨î¦Cªí

sform_edit=½s¿è©U§£¶l¥ó±±¨î³W«h
sform_create=«Ø¥ß©U§£¶l¥ó±±¨î³W«h
sform_source=¶l¥ó¨Ó·½
sform_type0=¹q¤l¶l¥ó¦ì§}
sform_type1=ºô¸ô¦ì§}
sform_type2=¨Ï¥ÎªÌ¦WºÙ
sform_type3=ºô°ì¦WºÙ
sform_action=°Ê§@
sform_ok=±µ¨ü
sform_relay=¤¹³\¤¤Ä~¶l¥ó
sform_reject=©Úµ´
sform_discard=¦wÀR¦a¥á±ó
sform_err=¿ù»~½X
sform_msg=°T®§
sform_ecannot=±z¤£³Q¤¹³\²ÕºA©U§£¶l¥ó±±¨î

ssave_ecannot=±z¤£³Q¤¹³\²ÕºA©U§£¶l¥ó±±¨î
ssave_err=µLªkÀx¦s©U§£¶l¥ó±±¨î³W«h
ssave_etype0='$1' ¤£¬O¤@­Ó¦³®Äªº¶l¥ó¦ì§}
ssave_etype1='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¦ì§}
ssave_etype2='$1' ¤£¬O¤@­Ó¦³®Äªº¨Ï¥ÎªÌ¦WºÙ
ssave_etype3='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ
ssave_ecode='$1' ¤£¬O¤@­Ó¦³®Äªº SMTP ¿ù»~½X

relay_title=¤¤Ä~ºô°ì
relay_ecannot=±z¤£³Q¤¹³\½s¿è¤¤Ä~ºô°ì
relay_eversion=¥u¦³ Sendmail ª©¥» 8.9 »P¥H¤W¤ä´©¤¤Ä~ºô°ì¥\¯à.
relay_domains=¤¹³\¤¤Ä~±H°eªººô°ì
relay_desc1=°£«D¬O¥Ñ<a href='$1'>©U§£¶l¥ó±±¨î</a>³W«h©Ò¤¹³\ªºª¬ªp, Sendmail ¥u¤¹³\¦C¦b¥ªÃä¤å¦r¤è¶ô¤¤ªººô°ì¥i¥H¨Ï¥Î¤¤Ä~¶l¥ó. ©Ò¦³¤£¬Oµ¹¥»¦aºÝ¨Ï¥ÎªÌ©Î¬O¤£¦b¦Cªí¤¤ºô°ìªº¶l¥ó³£·|³Q©Úµ´.
relay_desc2=¦pªG±zªº¨t²Î¬O·í§@¦h­Ó¤£ª½±µ»P¥~¬Éºô¸ô³s±µªººô°ì¤§¹h¹D¾¹¨Ï¥Î (¨Ï¥Î¤F<a href='$1'>ºô°ì¸ô¥Ñ</a>¥\¯à), «h©Ò¦³¨º¨Çºô°ì³£À³¸Ó­n³Q¦C¦b³o¨à.
relay_err=µLªkÀx¦s¤¤Ä~ºô°ì
relay_edomain='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì¦WºÙ

mailq_title=¶l¥ó¦î¦C
mailq_ecannot=±z¤£³Q¤¹³\ÀËµø¶l¥ó¦î¦C
mailq_id=¶l¥ó½s¸¹
mailq_sent=¶l¥ó®É¶¡
mailq_from=¨Ó·½
mailq_to=¥Ø¼Ð
mailq_status=ª¬ºA
mailq_unknown=¥¼ª¾ªº
mailq_sending=»¼°e¤¤
mailq_dmsg=­n±q¶l¥ó¦î¦C¤¤ÀËµø¶l¥ó°T®§, ½Ð¦b¤W­±ªº¦Cªí¤¤«ö¤U¶l¥óªº½s¸¹.
mailq_force=­n±j¨î¥ß§Y°e¥X¦î¦C¤¤ªº¶l¥ó, ½Ð<a href='$1'>«ö¤U³o¨à</a>.
mailq_none=¨S¦³¦b¦î¦C¤¤µ¥«Ý±H°eªº¶l¥ó
mailq_return=¶l¥ó¦î¦C

flushq_title=²M²z¦î¦C
flushq_desc=¥H©R¥O $1 ±j¨î¹Á¸Õ»¼°e¶l¥ó¤¤...

delq_err=µLªk²¾°£°T®§
delq_ecannot=±z¤£³Q¤¹³\²M²z¶l¥ó¦î¦C
delq_locked=¥Ø«e¥¿¦b°e¥X¦]¦Ó³QÂê©w

boxes_title=¨Ï¥ÎªÌ«H½c
boxes_user=¨Ï¥ÎªÌ¦WºÙ
boxes_size=«H½c¤j¤p
boxes_none=¨S¦³¶l¥ó
boxes_return=«H½c
boxes_ecannot=±z¤£³Q¤¹³\Åª¨ú¹q¤l¶l¥ó

mail_title=¨Ï¥ÎªÌ¹q¤l¶l¥ó
mail_from=±H¥ó¤H
mail_date=¤é´Á
mail_subject=¥DÃD
mail_to=¦¬¥ó¤H
mail_cc=°Æ¥»§Û°e
mail_bcc=ÁôÂÃ°Æ¥»
mail_pri=Àu¥ý­È
mail_highest=³Ì°ª
mail_high=°ª
mail_normal=¤@¯ë
mail_low=§C
mail_lowest=³Ì§C
mail_for=¦b $1
mail_size=¤j¤p
mail_delete=§R°£¿ï¾Üªº¶l¥ó
mail_compose=¼g§@·s¶l¥ó
mail_return=¨Ï¥ÎªÌ¹q¤l¶l¥ó
mail_pos=¶l¥ó $1 ¨ì $2 ¦@ $3
mail_none=«H½c¤¤¨S¦³¶l¥ó
mail_ecannot=±z¤£³Q¤¹³\Åª¨ú³o­Ó¨Ï¥ÎªÌªº¶l¥ó
mail_all=¿ï¾Ü¥þ³¡
mail_invert=¤Ï¦V¿ï¨ú
mail_search=§ä´M¶l¥ó, ¨ä¤¤
mail_body=¥»Åé
mail_match=²Å¦X
mail_ok=·j´M

view_title=Åª¨ú¹q¤l¶l¥ó
view_desc=¶l¥ó $1 ¦b $2
view_qdesc=¦î¦C¤¤ªº¶l¥ó $1
view_headers=¶l¥ó¼ÐÀY
view_attach=ªþ¥ó§¨±a
view_reply=¦^ÂÐ
view_reply2=¦^ÂÐµ¹¥þ³¡
view_forward=Âà±H
view_delete=§R°£
view_ecannot=±z¤£³Q¤¹³\Åª¨ú³o­Ó¨Ï¥ÎªÌªº¶l¥ó

compose_title=¼g§@¹q¤l¶l¥ó
reply_title=¦^ÂÐ¨ì¹q¤l¶l¥ó
forward_title=Âà±H¨ì¹q¤l¶l¥ó
reply_headers=¶l¥ó¼ÐÀY
reply_attach=Âà±Hªþ¥ó§¨±a
reply_attach2=ªþ¥ó§¨±a
reply_send=°e¥X
reply_ecannot=±z¤£³Q¤¹³\¥H³o­Ó¨Ï¥ÎªÌ¦WºÙ°e¥X¶l¥ó

send_err=¶l¥ó°e¥X¥¢±Ñ
send_eto=¿ò¥¢¦¬¥ó¤H¶l¥ó¦ì§}
send_efrom=¿ò¥¢±H¥ó¤H¶l¥ó¦ì§}
send_title=°e¥X¶l¥ó
send_ok=¶l¥ó¦¨¥\ªº°eµ¹ $1
send_ecannot=±z¤£³Q¤¹³\¥H³o­Ó¨Ï¥ÎªÌ¦WºÙ°e¥X¶l¥ó
send_esmtp=SMTP ©R¥O $1 ¥¢±Ñ: $2

delete_ecannot=±z¤£³Q¤¹³\§R°£³o­Ó¨Ï¥ÎªÌªº¶l¥ó
delete_enone=¨S¦³¿ï¾Ü­n§R°£ªº¶l¥ó

search_title=·j´Mµ²ªG
search_ecannot=±z¤£³Q¤¹³\·j´M³o­Ó¨Ï¥ÎªÌªº¶l¥ó
search_ematch=±z¥²¶·¿é¤J·j´Mªº±ø¥ó
search_none=§ä¤£¨ì²Å¦Xªº¶l¥ó.
search_results=²Å¦X±ø¥ó '$1' ªº¶l¥ó...

acl_opts=¬O§_¥i¥H½s¿è Sendmail ¿ï¶µ?
acl_cws=¬O§_¥i¥H½s¿è¥»¦aºÝºô°ì?
acl_masq=¬O§_¥i¥H²ÕºAºô°ì°°¸Ë?
acl_trusts=¬O§_¥i¥H½s¿è«H¥ôªº¨Ï¥ÎªÌ?
acl_cgs=¬O§_¥i¥H½s¿è¥~°e¶l¥óºô°ì?
acl_relay=¬O§_¥i¥H½s¿è¤¤Ä~ºô°ì?
acl_mailers=¬O§_¥i¥H²ÕºAºô°ì¸ô¥Ñ?
acl_access=¬O§_¥i¥H²ÕºA©U§£¶l¥ó±±¨î?
acl_domains=¬O§_¥i¥H²ÕºAºô°ì¹ïÀ³?
acl_stop=¬O§_¥i¥H±Ò°Ê»P°±¤î Sendmail?
acl_mailq=¬O§_¥i¥HºÞ²z¶l¥ó¦î¦C?
acl_viewdel=ÀËµø»P§R°£
acl_view=¥u¦³ÀËµø
acl_virtusers=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªº¶l¥ó¦ì§}¹ïÀ³
acl_none=µL
acl_all=¥þ³¡
acl_matching=²Å¦X±Ô­z
acl_vtypes=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªº¶l¥ó¦ì§}¹ïÀ³ºØÃþ
acl_vtype0=¦^À³¿ù»~
acl_vtype1=¨ìºô°ì
acl_vtype2=¨ì¶l¥ó¦ì§}
acl_vmax=¶l¥ó¦ì§}¹ïÀ³ªº³Ì¤j¼Æ¥Ø
acl_unlimited=µL­­¨î
acl_aliases=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªº§O¦W
acl_atypes=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªº§O¦WºØÃþ
acl_atype1=¹q¤l¶l¥ó¦ì§}
acl_atype2=¶l¥ó¦ì§}¦bÀÉ®×¤¤
acl_atype3=¼g¤J¨ìÀÉ®×
acl_atype4=°eµ¹µ{¦¡
acl_atype5=¦Û°Ê¦^ÂÐ
acl_amax=§O¦Wªº³Ì¤j¼Æ¥Ø
acl_outgoing=³o­Ó¨Ï¥ÎªÌ¥i¥H½s¿èªº¥~°e¶l¥ó¦ì§}
acl_read=¥i¥HÅª¨ú­þ¨Ç¨Ï¥ÎªÌªº¶l¥ó
acl_users=¥u¦³¨Ï¥ÎªÌ
acl_userse=¥þ³¡, °£¤F¨Ï¥ÎªÌ
acl_from=¨Ì¾Ú¶l¥ó¦ì§}¤¹³\
acl_any=¥ô¦ó¶l¥ó¦ì§}
acl_fdoms=«H½c¦bºô°ì
acl_faddrs=¦C¥Xªº¶l¥ó¦ì§}
acl_fdom=¥ô¦ó¶l¥ó¦ì§}¦bºô°ì
07070100021504000081e40000000000000002000000013d1fe2d300000932000000200000000000000000000000000000001f00000003reloc/sendmail/list_access.cgi    #!/usr/local/bin/perl
# list_access.cgi
# Display a list of all domain and address mappings

require './sendmail-lib.pl';
require './access-lib.pl';
&ReadParse();
$access{'access'} || &error($text{'access_ecannot'});
&header($text{'access_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$afile = &access_file($conf);
($adbm, $adbmtype) = &access_dbm($conf);
if (!$adbm) {
	# No Kaccess directive in sendmail.cf
	print "<p><b>",&text('access_efeature', 'list_features.cgi'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!-r $afile) {
	# Text file not found
	print "<p><b>",&text('access_efile', "<tt>$afile</tt>",
	      "<tt>$adbm</tt>", "$gconfig{'webprefix'}/config.cgi?$module_name"),"</b> <p>\n";
	print "<b>",&text('virtusers_createfile',
		    	  'create_file.cgi?mode=access'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
@accs = &list_access($afile);

&access_form();

if ($in{'search'}) {
	# Restrict to search results
	@accs = grep { $_->{'from'} =~ /$in{'search'}/ } @accs;
	}
elsif ($config{'max_records'} && @accs > $config{'max_records'}) {
	# Show search form
	print $text{'access_toomany'},"<br>\n";
	print "<form action=list_access.cgi>\n";
	print "<input type=submit value='$text{'access_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@accs);
	}

if (@accs) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@accs = sort { $a->{'from'} cmp $b->{'from'} } @accs;
		}

	# render table of access rules
	$mid = int((@accs+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&accs_table(@accs[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @accs) { &accs_table(@accs[$mid..$#accs]); }
	print "</td></tr> </table><br>\n";
	}
print "<a href='edit_file.cgi?mode=access'>",
	&text('file_edit', "<tt>$afile</tt>"),"</a><p>\n";
print $text{'access_desc1'},"<p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub accs_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'access_source'}</b></td> ",
      "<td><b>$text{'access_action'}</b></td> </tr>\n";
foreach $m (@_) {
	print "<tr $cb> <td><a href=\"edit_access.cgi?num=$m->{'num'}\">",
	      &html_escape($m->{'from'}),"</a></td>\n";
	print "<td>",&html_escape($m->{'action'}),"</td> </tr>\n";
	}
print "</table>\n";
}

  07070100021505000081e40000000000000002000000013d1fe2d400000b8b000000200000000000000000000000000000002000000003reloc/sendmail/list_aliases.cgi   #!/usr/local/bin/perl
# list_aliases.cgi
# Displays a list of all aliases

require './sendmail-lib.pl';
require './aliases-lib.pl';
&ReadParse();
$access{'amode'} || &error($text{'aliases_ecannot'});
&header($text{'aliases_title'}, "", "aliases");
print "<hr>\n";

$conf = &get_sendmailcf();
@aliases = &list_aliases(&aliases_file($conf));
if ($access{'amode'} == 2) {
	@aliases = grep { $_->{'name'} =~ /$access{'aliases'}/ } @aliases;
	}
elsif ($access{'amode'} == 3) {
	@aliases = grep { $_->{'name'} eq $remote_user } @aliases;
	}
@aliases = grep { local $rv = 1;
		  foreach $v (@{$_->{'values'}}) {
			$rv = 0 if (!$access{"aedit_".&alias_type($v)});
			}
		  $rv;
		} @aliases;

&alias_form();

if ($in{'search'}) {
	# Restrict to search results
	@aliases = grep { $_->{'name'} =~ /$in{'search'}/ } @aliases;
	}
elsif ($config{'max_records'} && @aliases > $config{'max_records'}) {
	# Show search form
	print $text{'aliases_toomany'},"<br>\n";
	print "<form action=list_aliases.cgi>\n";
	print "<input type=submit value='$text{'aliases_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@aliases);
	}

if (@aliases) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@aliases = sort { lc($a->{'name'}) cmp lc($b->{'name'}) }
				@aliases;
		}

	# find a good place to split
	$lines = 0;
	for($i=0; $i<@aliases; $i++) {
		$aline[$i] = $lines;
		$al = scalar(@{$aliases[$i]->{'values'}});
		$lines += ($al ? $al : 1);
		}
	$midline = int(($lines+1) / 2);
	for($mid=0; $mid<@aliases && $aline[$mid] < $midline; $mid++) { }

	# render tables
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&aliases_table(@aliases[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @aliases) { &aliases_table(@aliases[$mid..$#aliases]); }
	print "</td></tr> </table><br>\n";
	}

if ($access{'amode'} == 1 && $access{'aedit_1'} && $access{'aedit_2'} &&
    $access{'aedit_3'} && $access{'aedit_4'} && $access{'aedit_5'} &&
    $access{'amax'} == 0 && $access{'apath'} eq '/') {
	$i = 0;
	foreach $f (@{&aliases_file($conf)}) {
		print "<a href='edit_file.cgi?mode=aliases&idx=$i'>",
			&text('file_edit', "<tt>$f</tt>"),
			"</a>&nbsp;&nbsp;\n";
		$i++;
		}
	print "<p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub aliases_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'aliases_addr'}</b></td> ",
      "<td><b>$text{'aliases_to'}</b></td> </tr>\n";
foreach $a (@_) {
	print "<tr $cb>\n";
	print "<td valign=top><a href=\"edit_alias.cgi?num=$a->{'num'}\">",
	      $a->{'enabled'} ? "" : "<i>",&html_escape($a->{'name'}),
	      $a->{'enabled'} ? "" : "</i>","</a></td>\n";
	print "<td>\n";
	foreach $v (@{$a->{'values'}}) {
		($anum, $astr) = &alias_type($v);
		print &text("aliases_type$anum",
			    "<tt>".&html_escape($astr)."</tt>"),"<br>\n";
		}
	if (!@{$a->{'values'}}) { print "<i>$text{'aliases_none'}</i>\n"; }
	print "</td> </tr>\n";
	}
print "</table>\n";
}

 07070100021506000081e40000000000000002000000013d1fe2d300000992000000200000000000000000000000000000001e00000003reloc/sendmail/list_boxes.cgi #!/usr/local/bin/perl
# list_boxes.cgi
# List the mailboxes of all local users

require './sendmail-lib.pl';
require './boxes-lib.pl';

if ($access{'mmode'} == 0) {
	&error($text{'boxes_ecannot'});
	}
elsif ($access{'mmode'} == 2) {
	if ($access{'musers'} =~ /^\S+$/) {
		&redirect("list_mail.cgi?user=$access{'musers'}");
		exit;
		}
	foreach $u (split(/\s+/, $access{'musers'})) {
		$ucan{$u}++;
		}
	}
elsif ($access{'mmode'} == 3) {
	foreach $u (split(/\s+/, $access{'musers'})) {
		$ucant{$u}++;
		}
	}
elsif ($access{'mmode'} == 4) {
	&redirect("list_mail.cgi?user=$remote_user");
	exit;
	}

&header($text{'boxes_title'}, "");
print "<hr>\n";

setpwent();
while(@u = getpwent()) {
	next if (!$ucan{$u[0]} && $access{'mmode'} == 2);
	next if ($ucant{$u[0]} && $access{'mmode'} == 3);
	next if ($u[0] ne $remote_user && $access{'mmode'} == 4);
	next if ($u[3] ne $access{'musers'} && $access{'mmode'} == 5);
	next if ($access{'mmode'} == 6 && $u[0] !~ /^$access{'musers'}$/);
	local $umf = &user_mail_file(@u);
	next if ($donefile{$umf}++);
	local @st = stat($umf);
	push(@users, [ $u[0], $st[7] ]);
	$done_sent++ if ($u[0] eq $access{'sent'});
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');
@users = sort { $b->[1] <=> $a->[1] } @users;
if ($access{'sent'} && !$done_sent) {
	local @st = stat(&user_mail_file($access{'sent'}));
	push(@users, [ $access{'sent'}, $st[7] ]);
	}

if ($config{'max_records'} && @users > $config{'max_records'}) {
	# Use input for jumping to one user
	print $text{'boxes_toomany'},"<br>\n";
	print "<form action=list_mail.cgi>\n";
	print "<input type=submit value='$text{'boxes_go'}'>\n";
	print &unix_user_input("user"),"</form>\n";
	}
else {
	# Show table of users
	print "<table width=100%><tr><td valign=top width=50%>\n";
	$mid = int((@users+1) / 2);
	&users_table(@users[0 .. $mid-1]);
	print "</td><td valign=top width=50%>\n";
	&users_table(@users[$mid .. $#users]);
	print "</td></tr></table><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub users_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'boxes_user'}</b></td> ",
      "<td><b>$text{'boxes_size'}</b></td> </tr>\n";
foreach $u (@_) {
	print "<tr $cb> <td><a href=\"list_mail.cgi?user=$u->[0]\">",
	      $u->[0] eq $access{'sent'} ? $text{'boxes_sent'} : $u->[0],
	      "</a></td>\n";
	print "<td>",defined($u->[1]) ? $u->[1]
				      : $text{'boxes_none'},"</td> </tr>\n";
	}
print "</table>\n";
}

  07070100021507000081e40000000000000002000000013d1fe2d4000004e7000000200000000000000000000000000000001c00000003reloc/sendmail/list_cgs.cgi   #!/usr/local/bin/perl
# list_cgs.cgi
# List domains for which outgoing address mapping is done

require './sendmail-lib.pl';
$access{'cgs'} || &error($text{'cgs_ecannot'});
&header($text{'cgs_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
foreach $f (&find_type("F", $conf)) {
	if ($f->{'value'} =~ /^G[^\/]*(\/\S+)/) { $cgfile = $1; }
	}
if ($cgfile) {
	# get domains listed in a separate file
	open(CG, $cgfile);
	while(<CG>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\S/) { push(@dlist, $_); }
		}
	close(CG);
	}

# Add domains from sendmail.cf
foreach $f (&find_type("C", $conf)) {
	if ($f->{'value'} =~ /^G\s*(.*)$/) {
		push(@dlist, split(/\s+/, $1));
		}
	}

print "<form method=post action=save_cgs.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=cgfile value=\"$cgfile\">\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'cgs_header'}</b><br>\n";
print "<textarea name=dlist rows=15 cols=65>",
	join("\n", @dlist),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print &text('cgs_desc', "list_generics.cgi"),"<p>\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100021508000081e40000000000000002000000013d1fe2d300000509000000200000000000000000000000000000001c00000003reloc/sendmail/list_cws.cgi   #!/usr/local/bin/perl
# list_cws.cgi
# List domains for which we accept mail

require './sendmail-lib.pl';
$access{'cws'} || &error($text{'cws_ecannot'});
&header($text{'cws_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
foreach $f (&find_type("F", $conf)) {
	if ($f->{'value'} =~ /^w[^\/]*(\/\S+)/) { $cwfile = $1; }
	}
if ($cwfile) {
	# get domains listed in a separate file
	open(CW, $cwfile);
	while(<CW>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\S/) { push(@dlist, $_); }
		}
	close(CW);
	}

# Add domains from sendmail.cf
foreach $f (&find_type("C", $conf)) {
	if ($f->{'value'} =~ /^w\s*(.*)$/) {
		push(@dlist, split(/\s+/, $1));
		}
	}

print "<form method=post action=save_cws.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=cwfile value=\"$cwfile\">\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'cws_domains'}</b><br>\n";
print "<textarea name=dlist rows=15 cols=65>",
	join("\n", @dlist),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print &text('cws_desc1', "<tt>".&get_system_hostname()."</tt>"),"<p>\n";
print $text{'cws_desc2'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   07070100021509000081e40000000000000002000000013d1fe2d30000077f000000200000000000000000000000000000002000000003reloc/sendmail/list_domains.cgi   #!/usr/local/bin/perl
# list_domains.cgi
# Display a list of all domain mappings

require './sendmail-lib.pl';
require './domain-lib.pl';
$access{'domains'} || &error($text{'domains_ecannot'});
&header($text{'domains_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$dfile = &domains_file($conf);
($ddbm, $ddbmtype) = &domains_dbm($conf);
if (!$ddbm) {
	# No Kdomain directive in sendmail.cf
	print "<p><b>",&text('domains_efeature', 'list_features.cgi'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!-r $dfile) {
	# Text file not found
	print "<p><b>",&text('domains_efile', "<tt>$dfile</tt>",
	      "<tt>$ddbm</tt>", "$gconfig{'webprefix'}/config.cgi?$module_name"),"</b> <p>\n";
	print "<b>",&text('virtusers_createfile',
		    	  'create_file.cgi?mode=domains'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
@doms = &list_domains($dfile);

&domain_form();
if (@doms) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@doms = sort { $a->{'from'} cmp $b->{'from'} } @doms;
		}

	# render table of domains
	$mid = int((@doms+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&doms_table(@doms[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @doms) { &doms_table(@doms[$mid..$#doms]); }
	print "</td></tr> </table><br>\n";
	}
print "<a href='edit_file.cgi?mode=domains'>",
	&text('file_edit', "<tt>$dfile</tt>"),"</a><p>\n";
print $text{'domains_desc'},"<p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub doms_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'domains_from'}</b></td> ",
      "<td><b>$text{'domains_to'}</b></td> </tr>\n";
foreach $m (@_) {
	print "<tr $cb> <td><a href=\"edit_domain.cgi?num=$m->{'num'}\">",
	      &html_escape($m->{'from'}),"</a></td>\n";
	print "<td>",&html_escape($m->{'to'}),"</td> </tr>\n";
	}
print "</table>\n";
}

 0707010002150a000081e40000000000000002000000013d1fe2d400000be8000000200000000000000000000000000000002100000003reloc/sendmail/list_features.cgi  #!/usr/local/bin/perl
# list_features.cgi
# Display a list of all sendmail features from the M4 file

require './sendmail-lib.pl';
require './features-lib.pl';

$features_access || &error($text{'features_ecannot'});
&header($text{'features_title'}, "");
print "<hr>\n";

@features = &list_features() if (-r $config{'sendmail_mc'} &&
				 -r "$config{'sendmail_features'}/feature");
if (@features) {
	# Show table of features
	print &text('features_desc', "<tt>$config{'sendmail_mc'}</tt>",
		    "<tt>$config{'sendmail_cf'}</tt>"),"<p>\n";
	print "<form action=edit_feature.cgi>\n";
	print "<input type=hidden name=new value=1>\n";
	print "<table cellpadding=0 cellspacing=0 width=100%>\n";
	print "<tr $tb> <td><b>$text{'features_type'}</b></td>\n";
	print "<td><b>$text{'features_value'}</b></td>\n";
	print "<td><b>$text{'features_move'}</b></td> </tr>\n";
	local $i = 0;
	foreach $f (@features) {
		print "<tr $cb>\n";
		print "<td><a href='edit_feature.cgi?idx=$f->{'index'}'>";
		print "<b>" if ($f->{'type'});
		print $text{"features_type".$f->{'type'}};
		print "</b>" if ($f->{'type'});
		print "</a></td>\n";
		print "<td><tt>",$f->{'text'} ? &html_escape($f->{'text'})
					      : "<br>","</tt></td>\n";
		print "</tt></td>\n";
		print "<td>";
		if ($i == @features-1) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='move.cgi?idx=$i&down=1'>",
			      "<img border=0 src=images/down.gif></a>";
			}
		if ($i == 0) {
			print "<img src=images/gap.gif>";
			}
		else {
			print "<a href='move.cgi?idx=$i&up=1'>",
			      "<img border=0 src=images/up.gif></a>";
			}
		print "</td>\n";
		print "</tr>\n";
		$i++;
		}
	print "</table>\n";
	print "<table width=100%><tr><td>\n";
	print "<input type=submit value='$text{'features_add'}'>\n";
	print "<select name=type>\n";
	foreach $i (0, 1, 2, 4, 5) {
		print "<option value=$i>",$text{'features_type'.$i},"\n";
		}
	print "</select></td>\n";
	print "<td align=right><input type=submit name=manual ",
	      "value='$text{'features_manual'}'></td>\n";
	print "</tr></table></form>\n";

	# Show button to rebuild sendmail.cf
	print "<hr>\n";
	print "<form action=build.cgi>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value='$text{'features_build'}'></td>\n";
	print "<td>",&text('features_buildmsg', "<tt>$config{'sendmail_cf'}</tt>"),
	      "</td>\n";
	print "</tr></table>\n";
	}
else {
	# Features file is not setup yet ..
	if (!$config{'sendmail_mc'} || !$config{'sendmail_features'}) {
		print "<p>",&text('features_econfig',
				  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		}
	elsif (!-r $config{'sendmail_mc'}) {
		print "<p>",&text('features_emc', "$gconfig{'webprefix'}/config.cgi?$module_name",
				  "<tt>$config{'sendmail_mc'}</tt>"),"<p>\n";
		}
	elsif (!-r "$config{'sendmail_features'}/feature") {
		print "<p>",&text('features_efeatures', "$gconfig{'webprefix'}/config.cgi?$module_name",
				  "<tt>$config{'sendmail_features'}</tt>"),"<p>\n";
		}
	}

print "<hr>\n";
&footer("", $text{'index_return'});

0707010002150b000081e40000000000000002000000013d1fe2d300000cd6000000200000000000000000000000000000002100000003reloc/sendmail/list_generics.cgi  #!/usr/local/bin/perl
# list_generics.cgi
# Display a list of addresses for outgoing address mapping

require './sendmail-lib.pl';
require './generics-lib.pl';
&ReadParse();
$access{'omode'} || &error($text{'generics_cannot'});
&header($text{'generics_title'}, "");
print "<hr>\n"; 

$conf = &get_sendmailcf();
$gfile = &generics_file($conf);
($gdbm, $gdbmtype) = &generics_dbm($conf);
if (!$gdbm) {
	# No Kgenerics directive in sendmail.cf
	print "<p><b>",&text('generics_efeature', 'list_features.cgi'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!-r $gfile) {
	# Text file not found
	print "<p><b>",&text('generics_efile', "<tt>$gfile</tt>",
	      "<tt>$gdbm</tt>", "$gconfig{'webprefix'}/config.cgi?$module_name"),"</b> <p>\n";
	print "<b>",&text('virtusers_createfile',
		    	  'create_file.cgi?mode=generics'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
@gens = &list_generics($gfile);
if ($access{'omode'} == 2) {
	@gens = grep { $_->{'from'} =~ /$access{'oaddrs'}/ } @gens;
	}

&generic_form();

if ($in{'search'}) {
	# Restrict to search results
	@gens = grep { $_->{'from'} =~ /$in{'search'}/ } @gens;
	}
elsif ($config{'max_records'} && @gens > $config{'max_records'}) {
	# Show search form
	print $text{'generics_toomany'},"<br>\n";
	print "<form action=list_generics.cgi>\n";
	print "<input type=submit value='$text{'generics_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@gens);
	}

if (@gens) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@gens = sort sort_by_domain @gens;
		}

	# render table of generics
	$mid = int((@gens+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&gens_table(@gens[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @gens) { &gens_table(@gens[$mid..$#gens]); }
	print "</td></tr> </table><br>\n";
	}
if ($access{'omode'} == 1) {
	print "<a href='edit_file.cgi?mode=generics'>",
		&text('file_edit', "<tt>$gfile</tt>"),"</a><p>\n";
	}

print $text{'generics_desc1'},"<p>\n";
print &text('generics_desc2', "list_cgs.cgi"),"<br>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub gens_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'generics_from'}</b></td> ",
      "<td><b>$text{'generics_to'}</b></td></tr>\n";
foreach $g (@_) {
	print "<tr $cb> <td><a href=\"edit_generic.cgi?num=$g->{'num'}\">",
	      "<tt>",&html_escape($g->{'from'}),"</tt></a></td>\n";
	print "<td>",&html_escape($g->{'to'}),"</td> </tr>\n";
	}
print "</table>\n";
}

# Notes - The G class lists domains for which outgoing-address translation
# is done. If a mapping for an address like 'foo' exists, it applied for
# from addresses like 'foo' or 'foo@anything'. However, a mapping for
# 'foo@foo.com' applies only for that exact address
# By default, the G class contains only the full local hostname 
# (like florissa.home). Sendmail automatically adds the full hostname
# to unqualified addresses sent locally or through smtp (so <foo> becomes
# <foo@florissa.home>
# The G class can be defined by CG statements in sendmail.cf, or by a
# FG/path line to use an external file..

# If there is a generics mapping from an unqualified name, then it will
# apply for all domains in the G class.

  0707010002150c000081e40000000000000002000000013d1fe2d300001c51000000200000000000000000000000000000001d00000003reloc/sendmail/list_mail.cgi  #!/usr/local/bin/perl
# list_mail.cgi
# List the mail messages for some user

require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
&can_read_mail($in{'user'}) || &error($text{'mail_ecannot'});

if ($config{'track_read'}) {
	dbmopen(%read, "$module_config_directory/$in{'user'}.read", 0600);
	}

$sentbox = $in{'user'} eq $access{'sent'};
&header($text{'mail_title'}, "");
@uinfo = getpwnam($in{'user'});
print "<center><font size=+2>",
      $sentbox ? $text{'mail_sent'} :
      $access{'boxname'} == 0 ?
        &text('mail_for', "<tt>".&user_mail_file($in{'user'})."</tt>") :
      $access{'boxname'} == 1 ?
	&text('mail_for2', $uinfo[6] ? $uinfo[6] : $in{'user'}) : "",
      "</font></center>\n";
print "<hr>\n";

if (!defined($in{'start'}) && $config{'order_mail'}) {
	# View mail from the oldest
	@mail = reverse(&list_mails($in{'user'}, 0, $config{'perpage'}-1));
	$in{'start'} = @mail-$config{'perpage'};
	$in{'start'} = 0 if ($in{'start'} < 0);
	}
else {
	# View mail from the most recent
	@mail = reverse(&list_mails($in{'user'},
			-$in{'start'}, -$in{'start'}-$config{'perpage'}+1));
	}
print "<center>\n";
if ($in{'start'}+$config{'perpage'} < @mail) {
	printf "<a href='list_mail.cgi?user=%s&start=%d'>%s</a>\n",
		$in{'user'}, $in{'start'}+$config{'perpage'},
		'<img src=/images/left.gif border=0 align=middle>';
	}

local $s = @mail-$in{'start'};
local $e = @mail-$in{'start'}-$config{'perpage'}+1;
if (@mail) {
	print "<font size=+1>",&text('mail_pos', $s, $e < 1 ? 1 : $e,
				     scalar(@mail)),"</font>\n";
	}

if ($in{'start'}) {
	printf "<a href='list_mail.cgi?user=%s&start=%d'>%s</a>\n",
		$in{'user'}, $in{'start'}-$config{'perpage'},
		'<img src=/images/right.gif border=0 align=middle>';
	}
print "</center>\n";

print "<form action=delete_mail.cgi>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";
if ($config{'top_buttons'}) {
	print "<table width=100%> <tr>\n";
	if (@mail) {
		print "<td>\n";
		print "<input type=submit name=delete value=\"$text{'mail_delete'}\">\n";
		print "</td>\n";
		}
	if ($config{'track_read'}) {
		print "<td>\n";
		print "<input type=submit name=mark value=\"$text{'mail_mark'}\">\n";
		print "<select name=mode>\n";
		print "<option value=1 checked>$text{'mail_mark1'}\n";
		print "<option value=0>$text{'mail_mark0'}\n";
		print "<option value=2>$text{'mail_mark2'}\n";
		print "</select></td>\n";
		}
	if (@mail) {
		print "<td><input type=submit name=forward value=\"$text{'mail_forward'}\"></td>\n";
		}
	if (!$sentbox && @mail) {
		print "<td align=right><input type=submit name=new ",
		      "value=\"$text{'mail_compose'}\"></td>\n";
		}
	print "</tr></table>\n";
	if (@mail) {
		print "<a href='' onClick='document.forms[0].d.checked = true; for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
		print "<a href='' onClick='document.forms[0].d.checked = !document.forms[0].d.checked; for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = !document.forms[0].d[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;\n";
		}
	}

if (!@mail) {
	print "<b>$text{'mail_none'}</b><p>\n";
	}
else {
	print "<table border width=100%>\n";
	print "<tr $tb> <td>&nbsp;</td> ",
	      $sentbox ? "<td><b>$text{'mail_to'}</b></td>"
		       : "<td><b>$text{'mail_from'}</b></td> ",
	      $config{'show_to'} ? $sentbox ? "<td><b>$text{'mail_from'}</b></td>"
					    : "<td><b>$text{'mail_to'}</b></td>"
				 : "",
	      "<td><b>$text{'mail_date'}</b></td> ",
	      "<td><b>$text{'mail_size'}</b></td> ",
	      "<td><b>$text{'mail_subject'}</b></td> </tr>\n";
	}

for($i=$in{'start'}; $i<@mail && $i<$in{'start'}+$config{'perpage'}; $i++) {
	local $idx = $mail[$i]->{'idx'};
	print "<tr $cb>\n";
	print "<td><input type=checkbox name=d value=$idx></td>\n";
	print "<td nowrap><a href='view_mail.cgi?user=$in{'user'}&idx=$idx'>",
              &simplify_from($mail[$i]->{'header'}->{$sentbox ? 'to' : 'from'}),
	      "</td>\n";
	if ($config{'show_to'}) {
		print "<td nowrap>",&simplify_from(
		   $mail[$i]->{'header'}->{$sentbox ? 'from' : 'to'}),"</td>\n";
		}
	print "<td nowrap>",&simplify_date($mail[$i]->{'header'}->{'date'}),
	      "</td>\n";
	print "<td nowrap>",int($mail[$i]->{'size'}/1000)+1," kB","</td>\n";
	print "<td><table border=0 cellpadding=0 cellspacing=0 width=100%>",
	      "<tr><td>",&simplify_subject($mail[$i]->{'header'}->{'subject'}),
	      "</td> <td align=right>";
	if ($mail[$i]->{'header'}->{'content-type'} =~ /multipart\/\S+/i) {
		print "<img src=images/attach.gif>";
		}
	local $p = int($mail[$i]->{'header'}->{'x-priority'});
	if ($p == 1) {
		print "&nbsp;<img src=images/p1.gif>";
		}
	elsif ($p == 2) {
		print "&nbsp;<img src=images/p2.gif>";
		}
	if ($read{$mail[$i]->{'header'}->{'message-id'}} == 2) {
		print "&nbsp;<img src=images/special.gif>";
		}
	elsif ($read{$mail[$i]->{'header'}->{'message-id'}} == 1) {
		print "&nbsp;<img src=images/read.gif>";
		}
	print "</td></tr></table></td> </tr>\n";
	}
if (@mail) {
	print "</table>\n";
	print "<a href='' onClick='document.forms[0].d.checked = true; for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
	print "<a href='' onClick='document.forms[0].d.checked = !document.forms[0].d.checked; for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = !document.forms[0].d[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;\n";
	}

print "<table width=100%> <tr>\n";
if (@mail) {
	print "<td>\n";
	print "<input type=submit name=delete value=\"$text{'mail_delete'}\">\n";
	print "</td>\n";
	}
if ($config{'track_read'}) {
	print "<td>\n";
	print "<input type=submit name=mark value=\"$text{'mail_mark'}\">\n";
	print "<select name=mode>\n";
	print "<option value=1 checked>$text{'mail_mark1'}\n";
	print "<option value=0>$text{'mail_mark0'}\n";
	print "<option value=2>$text{'mail_mark2'}\n";
	print "</select></td>\n";
	}
if (@mail) {
	print "<td><input type=submit name=forward value=\"$text{'mail_forward'}\"></td>\n";
	}
if (!$sentbox) {
	print "</form>\n";
	print "<form action=reply_mail.cgi>\n";
	print "<input type=hidden name=user value=\"$in{'user'}\">\n";
	print "<input type=hidden name=new value=1>\n";
	print "<td align=right><input type=submit ",
	      "value=\"$text{'mail_compose'}\"></td>\n";
	}
print "</form> </tr></table>\n";

if (@mail) {
	print "<hr>\n";
	print "<form action=mail_search.cgi>\n";
	print "<input type=hidden name=user value=\"$in{'user'}\">\n";
	print "<b>$text{'mail_search'}</b>\n";
	print "<select name=field>\n";
	foreach $f ('from', 'subject', 'to', 'cc', 'date', 'body', 'size',
	    '!from', '!subject', '!to', '!cc', '!date', '!body', '!size') {
		printf "<option value=%s>%s\n", $f, $text{"match_$f"};
		}
	print "</select>\n";
	print "<input name=match size=20>\n";
	print "&nbsp;<input type=submit value='$text{'mail_ok'}'\n";
	print "</form><p>\n";
	}

print "<hr>\n";
if ($access{'mmode'} == 2 && $access{'musers'} =~ /^\S+$/ ||
    $access{'mmode'} == 4) {
	&footer("", $text{'index_return'});
	}
else {
	&footer("list_boxes.cgi", $text{'boxes_return'},
		"", $text{'index_return'});
	}

   0707010002150d000081e40000000000000002000000013d1fe2d300000882000000200000000000000000000000000000002000000003reloc/sendmail/list_mailers.cgi   #!/usr/local/bin/perl
# list_mailers.cgi
# Display a list of mailertable domains

require './sendmail-lib.pl';
require './mailers-lib.pl';

$access{'mailers'} || &error($text{'mailers_cannot'});
&header($text{'mailers_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$mfile = &mailers_file($conf);
($mdbm, $mdbmtype) = &mailers_dbm($conf);
if (!$mdbm) {
	# No Kmailertable directive in sendmail.cf
	print "<p><b>",&text('mailers_efeature', 'list_features.cgi'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!-r $mfile) {
	# Text file not found
	print "<p><b>",&text('mailers_efile', "<tt>$mfile</tt>",
	      "<tt>$mdbm</tt>", "$gconfig{'webprefix'}/config.cgi?$module_name"),"</b> <p>\n";
	print "<b>",&text('virtusers_createfile',
		    	  'create_file.cgi?mode=mailers'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
@mailers = &list_mailers($mfile);

&mailer_form();
if (@mailers) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@mailers = sort { $a->{'domain'} cmp $b->{'domain'} } @mailers;
		}

	# render table of mailers
	$mid = int((@mailers+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&mailers_table(@mailers[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @mailers) { &mailers_table(@mailers[$mid..$#mailers]); }
	print "</td></tr> </table><br>\n";
	}
print "<a href='edit_file.cgi?mode=mailers'>",
	&text('file_edit', "<tt>$mfile</tt>"),"</a><p>\n";

print $text{'mailers_desc1'},"<p>\n";
print &text('mailers_desc2', 'list_cws.cgi'),"<br>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub mailers_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'mailers_for'}</b></td> ",
      "<td><b>$text{'mailers_delivery'}</b></td> ",
      "<td><b>$text{'mailers_to'}</b></td> </tr>\n";
foreach $m (@_) {
	print "<tr $cb>\n";
	print "<td><a href=\"edit_mailer.cgi?num=$m->{'num'}\">",
	      &html_escape($m->{'domain'}),"</a></td>\n";
	$md = $mailer_desc{$m->{'mailer'}};
	print "<td>",$md ? $md : $m->{'mailer'},"</td>\n";
	print "<td>",&html_escape($m->{'dest'}),"</td> </tr>\n";
	}
print "</table>\n";
}

  0707010002150e000081e40000000000000002000000013d1fe2d3000011d2000000200000000000000000000000000000001e00000003reloc/sendmail/list_mailq.cgi #!/usr/local/bin/perl
# list_mailq.cgi
# Display the current mail queue

require './sendmail-lib.pl';
$access{'mailq'} || &error($text{'mailq_ecannot'});
print "Refresh: $config{'mailq_refresh'}\r\n"
	if ($config{'mailq_refresh'});
&header($text{'mailq_title'}, "");
print "<hr><p>\n";

$conf = &get_sendmailcf();
foreach $mqueue (&mailq_dir($conf)) {
	opendir(QDIR, $mqueue);
	push(@qfiles, map { "$mqueue/$_" } grep { /^qf/ } readdir(QDIR));
	closedir(QDIR);
	}

map { @st = stat($_); $stamp{$_} = $st[9] } @qfiles;
@qfiles = sort { $stamp{$a} <=> $stamp{$b} } @qfiles;

if (@qfiles) {
	print "<form action=del_mailqs.cgi method=post>\n";
	if ($config{'top_buttons'}) {
		if ($access{'mailq'} == 2) {
			print "<input type=submit value='$text{'mailq_delete'}'><p>\n";
			}
		print "<a href='' onClick='document.forms[0].file.checked = true; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
		print "<a href='' onClick='document.forms[0].file.checked = !document.forms[0].file.checked; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = !document.forms[0].file[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;<br>\n";
		}
	print "<table border width=100%>\n";
	print "<tr $tb> ";
	if ($access{'mailq'} == 2) {
		print "<td><br></td> ";
		}
	foreach $s (split(/,/, $config{'mailq_show'})) {
		$show{$s}++;
		}
	print "<td><b>$text{'mailq_id'}</b></td>\n";
	print "<td><b>$text{'mailq_sent'}</b></td>\n" if ($show{'Date'});
	print "<td><b>$text{'mailq_from'}</b></td>\n" if ($show{'From'});
        print "<td><b>$text{'mailq_to'}</b></td>\n" if ($show{'To'});
        print "<td><b>$text{'mailq_cc'}</b></td>\n" if ($show{'Cc'});
        print "<td><b>$text{'mailq_subject'}</b></td>\n" if ($show{'Subject'});
        print "<td><b>$text{'mailq_size'}</b></td>\n" if ($show{'Size'});
	print "<td><b>$text{'mailq_status'}</b></td>\n" if ($show{'Status'});
	print "</tr>\n";
	foreach $f (@qfiles) {
		($n = $f) =~ s/^.*\///;
		$from = $to = $date = $subject = $text{'mailq_unknown'};
		$cc = "&nbsp;";
		$status = $text{'mailq_sending'};
		open(QFILE, $f) || next;
		while(<QFILE>) {
			if (/^[^\-]*To:\s+(.*)/) { $to = $1; }
			elsif (/^[^\-]*From:\s+(.*)/) { $from = $1; }
			elsif (/^[^\-]*Date:\s+(.*)/) { $date = $1; }
			elsif (/^[^\-]*Subject:\s+(.*)/) { $subject = $1; }
			elsif (/^[^\-]*Cc:\s+(.*)/) { $cc = $1; }
			elsif (/^M(.*)/) { $status = $1; }
			}
		close(QFILE);
		$from =~ s/</&lt;/g; $from =~ s/>/&gt;/g;
		$to =~ s/</&lt;/g; $to =~ s/>/&gt;/g;
		$date =~ s/\+.*//g;
		($d = $f) =~ s/\/qf/\/df/;
		@st = stat($d);
		if ($st[7] > 1000000) {
			$size = int($st[7] / 1000000)." MB";
			}
		elsif ($st[7] > 1000) {
			$size = int($st[7] / 1000)." kB";
			}
		else {
			$size = "$st[7] b";
			}
		print "<tr $cb>\n";
		if ($access{'mailq'} == 2) {
			print "<td><input type=checkbox name=file ",
			      "value=$f></td>\n";
			print "<td><a href=\"view_mailq.cgi?",
			      "file=$f\">$n</a></td>\n";
			}
		else {
			print "<td><font size=1>$n</font></td>\n";
			}
		print "<td><font size=1>$date</font></td>\n" if ($show{'Date'});
		print "<td><font size=1>$from</font></td>\n" if ($show{'From'});
		print "<td><font size=1>$to</font></td>\n" if ($show{'To'});
		print "<td><font size=1>$cc</font></td>\n" if ($show{'Cc'});
		print "<td><font size=1>$subject</font></td>\n" if ($show{'Subject'});
		print "<td><font size=1>$size</font></td>\n" if ($show{'Size'});
		print "<td><font size=1>$status</font></td>\n" if ($show{'Status'});
		print "</tr>\n";
		}
	print "</table>\n";
	print "<a href='' onClick='document.forms[0].file.checked = true; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
	print "<a href='' onClick='document.forms[0].file.checked = !document.forms[0].file.checked; for(i=0; i<document.forms[0].file.length; i++) { document.forms[0].file[i].checked = !document.forms[0].file[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;<p>\n";
	if ($access{'mailq'} == 2) {
		print "<input type=submit value='$text{'mailq_delete'}'><p>\n";
		}
	print "</form>\n";
	print "<hr>\n";
	print "<table width=100%><tr><form action=flushq.cgi>\n";
	print "<td><input type=submit value='$text{'mailq_flush'}'></td>\n";
	print "<td>$text{'mailq_flushdesc'}</td>\n";
	print "</form></tr></table>\n";
	}
else {
	print "<b>$text{'mailq_none'}</b> <p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010002150f000081e40000000000000002000000013d1fe2d3000005d9000000200000000000000000000000000000001d00000003reloc/sendmail/list_masq.cgi  #!/usr/local/bin/perl
# list_masq.cgi
# List domains for which masquerading is done

require './sendmail-lib.pl';
$access{'masq'} || &error($text{'masq_ecannot'});
&header($text{'masq_title'}, "");
print "<hr>\n";
$conf = &get_sendmailcf();

# Get the domain we masquerade as
foreach $d (&find_type("D", $conf)) {
	if ($d->{'value'} =~ /^M\s*(\S*)/) { $masq = $1; }
	}

# Get masq domains from a file
foreach $f (&find_type("F", $conf)) {
	if ($f->{'value'} =~ /^M[^\/]*(\S*)/) { $cmfile = $1; }
	} 
if ($cmfile) {
	open(CM, $cmfile);
	while(<CM>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\S/) { push(@mlist, $_); }
		}
	close(CM);
	}

# Add domains from sendmail.cf
foreach $m (&find_type("C", $conf)) {
	if ($m->{'value'} =~ /^M\s*(.*)$/) {
		push(@mlist, split(/\s+/, $1));
		}
	}
print "<form method=post action=save_masq.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=cmfile value=\"$cmfile\">\n";
print "<b>$text{'masq_domain'}</b>\n";
print "<input name=masq size=30 value=\"$masq\"><br>\n";

print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'masq_domains'}</b><br>\n";
print "<textarea name=mlist rows=15 cols=65>",
	join("\n", @mlist),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print &text('masq_desc1', 'list_generics.cgi'),"<p>\n";
print $text{'masq_desc2'},"\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100021510000081e40000000000000002000000013d1fe2d300001b97000000200000000000000000000000000000001d00000003reloc/sendmail/list_opts.cgi  #!/usr/local/bin/perl
# list_opts.cgi
# A form for editing options set with the 'O foo=bar' directive,
# and other things.

require './sendmail-lib.pl';
$access{'opts'} || &error($text{'opts_ecannot'});
&header($text{'opts_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$default = $text{'opts_default'};
print "<form action=save_opts.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'opts_title'}</b></td></tr>\n";
print "<tr $cb> <td><table width=100%>\n";

($dsstr, $ds) = &find_type2("D", "S", $conf);
print "<tr> <td>",&hlink("<b>$text{'opts_ds'}</b>","opt_DS"),
      "</td> <td colspan=3>\n";
printf "<input type=radio name=DS_def value=1 %s> $text{'opts_direct'}\n",
	$ds ? "" : "checked";
printf "<input type=radio name=DS_def value=0 %s>\n",
	$ds ? "checked" : "";
print "<input name=DS size=25 value=\"$ds\"></td> </tr>\n";

($drstr, $dr) = &find_type2("D", "R", $conf);
print "<tr> <td>",&hlink("<b>$text{'opts_dr'}</b>",
			 "opt_DR"),"</td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=DR_def value=1 %s> $text{'opts_local'}\n",
	$dr ? "" : "checked";
printf "<input type=radio name=DR_def value=0 %s>\n",
	$dr ? "checked" : "";
print "<input name=DR size=25 value=\"$dr\"></td> </tr>\n";

($dhstr, $dh) = &find_type2("D", "H", $conf);
print "<tr> <td>",&hlink("<b>$text{'opts_dh'}</b>",
			 "opt_DH"),"</td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=DH_def value=1 %s> $text{'opts_local'}\n",
	$dh ? "" : "checked";
printf "<input type=radio name=DH_def value=0 %s>\n",
	$dh ? "checked" : "";
print "<input name=DH size=25 value=\"$dh\"></td> </tr>\n";

($dmstr, $dm) = &find_option("DeliveryMode", $conf);
print "<tr> <td>",&hlink("<b>$text{'opts_dmode'}</b>","opt_dmode"),
      "</td> <td colspan=3>\n";
printf "<input type=radio name=DeliveryMode value='' %s> $text{'default'}\n",
	$dm ? '' : 'checked';
foreach $dmo ('background', 'queue-only', 'interactive', 'deferred') {
	local $dmoc = substr($dmo, 0, 1);
	printf "<input type=radio name=DeliveryMode value=%s %s> %s\n",
		$dmo, $dm =~ /^$dmoc/ ? 'checked' : '', $text{"opts_$dmo"};
	}
print "</td> </tr>\n";

$ver = &check_sendmail_version($conf);
if ($ver >= 9) {
	print "<tr>\n";
	&option_input($text{'opts_daemon'}, "DaemonPortOptions", $conf,
		      $default, 50);
	print "</tr>\n";
	}

print "<tr>\n";
&option_input($text{'opts_queuela'}, "QueueLA", $conf, $default, 6);
&option_input($text{'opts_refusela'}, "RefuseLA", $conf, $default,6);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_maxch'}, "MaxDaemonChildren",
	      $conf, $default, 6);
&option_input($text{'opts_throttle'}, "ConnectionRateThrottle",
	      $conf, $default, 6);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_minqueueage'}, "MinQueueAge",
	      $conf, $default, 6);
&option_input($text{'opts_runsize'}, "MaxQueueRunSize", $conf, $default, 8);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_queuereturn'}, "Timeout.queuereturn",
	      $conf, $default, 6);
&option_input($text{'opts_queuewarn'}, "Timeout.queuewarn",
	      $conf, $default, 6);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_queue'}, "QueueDirectory", $conf, $default, 35);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_postmaster'}, "PostMasterCopy",
	      $conf, "Postmaster", 35);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_forward'}, "ForwardPath", $conf, $default, 35);
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_minfree'}, "MinFreeBlocks",
	      $conf, $default, 8, $text{'opts_blocks'});
&option_input($text{'opts_maxmessage'}, "MaxMessageSize",
	      $conf, $default, 10, $text{'opts_bytes'});
print "</tr>\n";

print "<tr>\n";
&option_input($text{'opts_loglevel'}, "LogLevel", $conf, $default, 4);
($vstr, $v) = &find_option("SendMimeErrors", $conf);
print "<td>",&hlink("<b>$text{'opts_mimebounce'}</b>","opt_SendMimeErrors"),
      "</td> <td>\n";
printf "<input type=radio name=SendMimeErrors value=True %s> $text{'yes'}\n",
	$v eq "True" ? "checked" : "";
printf "<input type=radio name=SendMimeErrors value=False %s> $text{'no'}\n",
	$v eq "True" ? "" : "checked";
print "</td> </tr>\n";

print "<tr>\n";
($gstr, $g) = &find_option("MatchGECOS", $conf);
print "<td>",&hlink("<b>$text{'opts_gecos'}</b>","opt_MatchGECOS"),
      "</td> <td>\n";
printf "<input type=radio name=MatchGECOS value=True %s> $text{'yes'}\n",
	$g eq "True" ? "checked" : "";
printf "<input type=radio name=MatchGECOS value=False %s> $text{'no'}</td>\n",
	$g eq "True" ? "" : "checked";
&option_input($text{'opts_hops'}, "MaxHopCount", $conf, $default, 4);
print "</tr>\n";

print "<tr>\n";
($bstr, $b) = &find_option("DontBlameSendmail", $conf);
print "<td valign=top>",&hlink("<b>$text{'opts_blame'}</b>",
      "opt_DontBlameSendmail"),"</td> <td colspan=3>\n";
printf "<input type=radio name=DontBlameSendmail_def value=1 %s> %s\n",
	$b ? '' : 'checked', $text{'default'};
printf "<input type=radio name=DontBlameSendmail_def value=0 %s> %s<br>\n",
	$b ? 'checked' : '', $text{'opts_selected'};
map { $b{lc($_)} = 1 } split(/[\s,]+/, $b);
printf "<select name=DontBlameSendmail size=5 multiple>\n";
foreach $bo ('Safe', 'AssumeSafeChown', 'ClassFileInUnsafeDirPath',
	     'DontWarnForwardFileInUnsafeDirPath', 'ErrorHeaderInUnsafeDirPath',
	     'GroupWritableDirPathSafe', 'GroupWritableForwardFileSafe',
	     'GroupWritableIncludeFileSafe', 'GroupWritableAliasFile',
	     'HelpFileInUnsafeDirPath', 'WorldWritableAliasFile',
	     'ForwardFileInGroupWritableDirPath',
	     'IncludeFileInGroupWritableDirPath', 'ForwardFileInUnsafeDirPath',
	     'IncludeFileInUnsafeDirPath', 'ForwardFileInUnsafeDirPathSafe',
	     'IncludeFileInUnsafeDirPathSafe', 'MapInUnsafeDirPath',
	     'LinkedAliasFileInWritableDir', 'LinkedClassFileInWritableDir',
	     'LinkedForwardFileInWritableDir', 'LinkedIncludeFileInWritableDir',
	     'LinkedMapInWritableDir', 'LinkedServiceSwitchFileInWritableDir',
	     'FileDeliveryToHardLink', 'FileDeliveryToSymLink',
	     'RunProgramInUnsafeDirPath', 'RunWritableProgram',
	     'WriteMapToHardLink', 'WriteMapToSymLink', 'WriteStatsToHardLink',
	     'WriteStatsToSymLink', 'TrustStickyBit', 'NonRootSafeAddr') {
	printf "<option %s>%s\n", $b{lc($bo)} ? 'selected' : '', $bo;
	delete($b{lc($bo)});
	}
foreach $bo (keys %b) {
	print "<option selected>$bo\n";
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<input type=submit value=\"$text{'opts_save'}\"></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

# option_input(desc, name, &config, default, size, units)
sub option_input
{
local ($vstr, $v) = &find_option($_[1], $_[2]);
printf "<td>".&hlink("<b>$_[0]</b>","opt_".$_[1])."</td> <td %s nowrap>\n",
	$_[4] > 20 ? "colspan=3" : "";
printf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
	defined($v) ? "" : "checked";
printf "<input type=radio name=$_[1]_def value=0 %s>\n",
	defined($v) ? "checked" : "";
print "<input name=$_[1] size=$_[4] value=\"$v\"> $_[5]</td>\n";
}

 07070100021511000081e40000000000000002000000013d1fe2d40000063c000000200000000000000000000000000000001e00000003reloc/sendmail/list_relay.cgi #!/usr/local/bin/perl
# list_relay.cgi
# List domains to while relaying is allowed

require './sendmail-lib.pl';
$access{'relay'} || &error($text{'relay_ecannot'});
&header($text{'relay_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$ver = &find_type("V", $conf);
if ($ver->{'value'} !~ /^(\d+)/ || $1 < 8) {
	# Only sendmail 8.9 and above supports relay domains (I think)
	print "<p><b>",$text{'relay_eversion'},"</b> <p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

foreach $f (&find_type("F", $conf)) {
	if ($f->{'value'} =~ /^R[^\/]*(\/\S+)/) { $relayfile = $1; }
	}
if ($relayfile) {
	# get domains listed in a separate file
	open(RELAY, $relayfile);
	while(<RELAY>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\S/) { push(@dlist, $_); }
		}
	close(RELAY);
	}

# Add domains from sendmail.cf
foreach $f (&find_type("C", $conf)) {
	if ($f->{'value'} =~ /^R\s*(.*)$/) {
		push(@dlist, split(/\s+/, $1));
		}
	}

print "<form method=post action=save_relay.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=relayfile value=\"$relayfile\">\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'relay_domains'}</b><br>\n";
print "<textarea name=dlist rows=15 cols=65>",
	join("\n", @dlist),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print &text('relay_desc1', "list_access.cgi"),"<p>\n";
print &text('relay_desc2', "list_mailers.cgi"),"<br>\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


07070100021512000081e40000000000000002000000013d1fe2d300000511000000200000000000000000000000000000001f00000003reloc/sendmail/list_trusts.cgi    #!/usr/local/bin/perl
# list_trusts.cgi
# List users trusted by sendmail

require './sendmail-lib.pl';
$access{'trusts'} || &error($text{'trusts_ecannot'});
&header($text{'trusts_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
foreach $f (&find_type("F", $conf)) {
	if ($f->{'value'} =~ /^t[^\/]*(\/\S+)/) { $ctfile = $1; }
	}
if ($ctfile) {
	# get users listed in a separate file
	open(CT, $ctfile);
	while(<CT>) {
		s/\r|\n//g;
		s/#.*$//g;
		if (/\S/) { push(@tlist, $_); }
		}
	close(CT);
	}

# Add users from sendmail.cf
foreach $f (&find_type("T", $conf)) {
	push(@tlist, $f->{'value'});
	}
foreach $f (&find_type("C", $conf)) {
	if ($f->{'value'} =~ /^t\s*(.*)$/) {
		push(@tlist, split(/\s+/, $1));
		}
	}

print "<form method=post action=save_trusts.cgi enctype=multipart/form-data>\n";
print "<input type=hidden name=ctfile value=\"$ctfile\">\n";
print "<table cellpadding=5 width=100%><tr><td valign=top nowrap>\n";
print "<b>$text{'trusts_users'}</b><br>\n";
print "<textarea name=tlist rows=15 cols=30>",
	join("\n", @tlist),"</textarea><br>\n";
print "<input type=submit value=\"$text{'save'}\">\n";

print "</td><td valign=top>\n";
print $text{'trusts_desc'},"<p>\n";
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});


   07070100021513000081a40000000000000002000000013d1fe2d300000001000000200000000000000000000000000000001700000003reloc/sendmail/list_us    
   07070100021514000081e40000000000000002000000013d1fe2d300000c94000000200000000000000000000000000000002200000003reloc/sendmail/list_virtusers.cgi #!/usr/local/bin/perl
# list_virtusers.cgi
# Display a list of all domain and address mappings

require './sendmail-lib.pl';
require './virtusers-lib.pl';
&ReadParse();
$access{'vmode'} || &error($text{'virtusers_ecannot'});
&header($text{'virtusers_title'}, "");
print "<hr>\n";

$conf = &get_sendmailcf();
$vfile = &virtusers_file($conf);
($vdbm, $vdbmtype) = &virtusers_dbm($conf);
if (!$vdbm) {
	# No Kvirtuser directive in sendmail.cf
	print "<p><b>",&text('virtusers_efeature', 'list_features.cgi'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
if (!-r $vfile) {
	# Text file not found
	print "<p><b>",&text('virtusers_efile', "<tt>$vfile</tt>",
	      "<tt>$vdbm</tt>", "$gconfig{'webprefix'}/config.cgi?$module_name"),"</b><p>\n";
	print "<b>",&text('virtusers_createfile',
		    	  'create_file.cgi?mode=virtusers'),"</b><p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
@virts = &list_virtusers($vfile);
if ($access{'vmode'} == 2) {
	@virts = grep { $_->{'from'} =~ /$access{'vaddrs'}/ } @virts;
	}
elsif ($access{'vmode'} == 3) {
	@virts = grep { $_->{'from'} =~ /^$remote_user\@/ } @virts;
	}
@virts = grep { $access{"vedit_".&virt_type($_->{'to'})} } @virts; 

&virtuser_form();

if ($in{'search'}) {
	# Restrict to search results
	@virts = grep { $_->{'from'} =~ /$in{'search'}/ } @virts;
	}
elsif ($config{'max_records'} && @virts > $config{'max_records'}) {
	# Show search form
	print $text{'virtusers_toomany'},"<br>\n";
	print "<form action=list_virtusers.cgi>\n";
	print "<input type=submit value='$text{'virtusers_go'}'>\n";
	print "<input name=search size=20></form>\n";
	undef(@virts);
	}

if (@virts) {
	# sort if needed
	if ($config{'sort_mode'} == 1) {
		@virts = sort sort_by_domain @virts;
		}

	# render table of virtusers
	$mid = int((@virts+1)/2);
	print "<table width=100%> <tr><td width=50% valign=top>\n";
	&virts_table(@virts[0..$mid-1]);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @virts) { &virts_table(@virts[$mid..$#virts]); }
	print "</td></tr> </table><br>\n";
	}
if ($access{'vmode'} == 1 && $access{'vedit_0'} && $access{'vedit_1'} &&
    $access{'vedit_2'} && $access{'vmax'} == 0) {
	print "<a href='edit_file.cgi?mode=virtusers'>",
		&text('file_edit', "<tt>$vfile</tt>"),"</a><p>\n";
	}

print &text('virtusers_desc1', 'list_aliases.cgi'),"<p>\n"
	if ($access{'amode'});
print &text('virtusers_desc2', 'list_cws.cgi'),"<br>\n"
	if ($access{'cws'});

print "<hr>\n";
&footer("", $text{'index_return'});

sub virts_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'virtusers_for'}</b></td> ",
      "<td><b>$text{'virtusers_to'}</b></td> </tr>\n";
foreach $m (@_) {
	print "<tr $cb> <td><a href=\"edit_virtuser.cgi?num=$m->{'num'}\">",
	      "<tt>",&html_escape($m->{'from'}),"</tt></a></td> <td>\n";
	if ($m->{'to'} =~ /^error:(.*)$/) {
		print &text('virtusers_error',
			    "<tt>".&html_escape("$1")."</tt>");
		}
	elsif ($m->{'to'} =~ /^\%1\@(\S+)$/) {
		print &text('virtusers_domain',
			    "<tt>".&html_escape("$1")."</tt>");
		}
	else {
		print &text('virtusers_address',
			    "<tt>".&html_escape($m->{'to'})."</tt>");
		}
	print "</td> </tr>\n";
	}
print "</table>\n";
}

07070100021515000081a40000000000000002000000013d1fe2d400000553000000200000000000000000000000000000001d00000003reloc/sendmail/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'sendmail-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($type eq 'alias' || $type eq 'virtuser' || $type eq 'mailer' ||
    $type eq 'generic' || $type eq 'domain' || $type eq 'access') {
	return &text("log_${type}_${action}",
		     "<tt>".&html_escape($object)."</tt>");
	}
elsif ($type eq 'feature') {
	return &text("log_feature_${action}",
		     "<tt>".&html_escape($p->{'text'})."</tt>");
	}
elsif ($action eq 'delmailq') {
	if ($p->{'from'}) {
		return &text("log_delmailq",
			     &html_escape(extract_email($p->{'from'})));
		}
	else {
		return &text("log_delmailqs", $p->{'count'});
		}
	}
elsif ($action eq 'delmail') {
	local @d = split(/\0/, $p->{'d'});
	return &text("log_delmail", scalar(@d), "<tt>$p->{'user'}</tt>");
	}
elsif ($action eq 'send') {
	return &text('log_send', &html_escape(&extract_email($p->{'to'})));
	}
elsif ($text{"log_$action"}) {
	return $text{"log_$action"};
	}
else {
	return undef;
	}
}

sub extract_email
{
if ($_[0] =~ /([^<>"' \(\)]+\@[^<>"' \(\)]+)/) {
	return "<tt>$1</tt>";
	}
elsif ($_[0] =~ /<(\S+)>/) {
	return "<tt>$1</tt>";
	}
else {
	return $_[0];
	}
}

 07070100021516000081e40000000000000002000000013d1fe2d400000cd2000000200000000000000000000000000000001f00000003reloc/sendmail/mail_search.cgi    #!/usr/local/bin/perl
# mail_search.cgi
# Find mail messages matching some pattern

require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
&can_read_mail($in{'user'}) || &error($text{'search_ecannot'});
$in{'match'} || &error($text{'search_ematch'});

&header($text{'search_title'}, "");
print "<center><font size=+2>",
      &text('mail_for', "<tt>".&user_mail_file($in{'user'})."</tt>"),
      "</font></center>\n";
print "<hr>\n";

@rv = &search_mail($in{'user'}, $in{'field'}, $in{'match'});
print "<p><b>",&text($in{'field'} =~ /^\!/ ? 'search_results3' :
          'search_results2', scalar(@rv), "<tt>$in{'match'}</tt>"),"</b><p>\n";
if (@rv) {
	print "<form action=delete_mail.cgi>\n";
	print "<input type=hidden name=user value='$in{'user'}'>\n";
	if ($config{'top_buttons'}) {
		print "<input type=submit name=delete ",
		      "value=\"$text{'mail_delete'}\">&nbsp;&nbsp;\n";
		print "<input type=submit name=forward ",
		      "value=\"$text{'mail_forward'}\"><p>\n";
		print "<a href='' onClick='for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
		print "<a href='' onClick='for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = !document.forms[0].d[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;<br>\n";
		}
	print "<table border width=100%>\n";
	print "<tr $tb> <td>&nbsp;</td> ",
	      "<td><b>$text{'mail_from'}</b></td> ",
	      "<td><b>$text{'mail_date'}</b></td> ",
	      "<td><b>$text{'mail_size'}</b></td> ",
	      "<td><b>$text{'mail_subject'}</b></td> </tr>\n";
	}
foreach $m (@rv) {
	local $idx = $m->{'idx'};
	print "<tr $cb>\n";
	print "<td><input type=checkbox name=d value=$idx></td>\n";
	print "<td nowrap><a href='view_mail.cgi?user=$in{'user'}&idx=$idx'>",
	      &simplify_from($m->{'header'}->{'from'}),"</td>\n";
	print "<td nowrap>",&simplify_date($m->{'header'}->{'date'}),"</td>\n";
	print "<td nowrap>",int($m->{'size'}/1000)+1," kB","</td>\n";
	print "<td><table border=0 cellpadding=0 cellspacing=0 width=100%>",
	      "<tr><td>",&simplify_subject($m->{'header'}->{'subject'}),
	      "</td> <td align=right>";
	if ($m->{'header'}->{'content-type'} =~ /multipart\/\S+/i) {
		print "<img src=images/attach.gif>";
		}
	local $p = int($m->{'header'}->{'x-priority'});
	if ($p == 1) {
		print "&nbsp;<img src=images/p1.gif>";
		}
	elsif ($p == 2) {
		print "&nbsp;<img src=images/p2.gif>";
		}
	print "</td></tr></table></td> </tr>\n";
	}
if (@rv) {
	print "</table>\n";
	print "<a href='' onClick='for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = true; } return false'>$text{'mail_all'}</a>&nbsp;\n";
	print "<a href='' onClick='for(i=0; i<document.forms[0].d.length; i++) { document.forms[0].d[i].checked = !document.forms[0].d[i].checked; } return false'>$text{'mail_invert'}</a>&nbsp;<p>\n";
	print "<input type=submit name=delete ",
	      "value=\"$text{'mail_delete'}\">&nbsp;&nbsp;\n";
	print "<input type=submit name=forward value=\"$text{'mail_forward'}\">\n";
	print "</form><p>\n";
	}
else {
	print "<b>$text{'search_none'}</b> <p>\n";
	}

print "<hr>\n";
&footer("list_mail.cgi?user=$in{'user'}", $text{'mail_return'},
	"list_boxes.cgi", $text{'boxes_return'});

  07070100021517000081a40000000000000002000000013d1fe2d300001144000000200000000000000000000000000000001e00000003reloc/sendmail/mailers-lib.pl # mailers-lib.pl
# Functions for editing the mailertable database

# mailers_dbm(&config)
# Returns the filename of the mailertable database and type, or undef if none
sub mailers_dbm
{
foreach $f (&find_type("K", $_[0])) {
        if ($f->{'value'} =~ /^mailertable\s+(\S+)[^\/]+(\/\S+)$/) {
		return ($2, $1);
                }
	}
return undef;
}

# mailers_file(&config)
# Returns the filename of the text mailertable file, or undef if none
sub mailers_file
{
return &find_textfile($config{'mailers_file'}, &mailers_dbm($_[0]));
}

# list_mailers(textfile)
sub list_mailers
{
local($lnum, @rv);
$lnum = 0;
open(MAILER, $_[0]);
while(<MAILER>) {
	s/\r|\n//g;     # remove newlines
	s/#.*$//g;	# remove comments
	if (/^(\S+)\s+([^: ]+):(.*)/) {
		local(%virt);
		$virt{'domain'} = $1;
		$virt{'mailer'} = $2;
		$virt{'dest'} = $3;
		$virt{'line'} = $lnum;
		$virt{'num'} = scalar(@rv);
		push(@rv, \%virt);
		}
	$lnum++;
	}
close(MAILER);
return @rv;
}

# create_mailer(&details, textfile, dbmfile, dbmtype)
sub create_mailer
{
local(%mailer);
open(MAILER, ">> $_[1]");
print MAILER "$_[0]->{'domain'}\t$_[0]->{'mailer'}:$_[0]->{'dest'}\n";
close(MAILER);
if ($_[3] eq "dbm") {
	dbmopen(%mailer, $_[2], 0644);
	$mailer{$_[0]->{'domain'}} = "$_[0]->{'mailer'}:$_[0]->{'dest'}";
	dbmclose(%mailer);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# modify_mailer(&old, &details, textfile, dbmfile, dbmtype)
sub modify_mailer
{
local(@mailer, %mailer);
open(MAILER, $_[2]);
@mailer = <MAILER>;
close(MAILER);
splice(@mailer, $_[0]->{'line'}, 1,
       "$_[1]->{'domain'}\t$_[1]->{'mailer'}:$_[1]->{'dest'}\n");
open(MAILER, "> $_[2]");
print MAILER @mailer;
close(MAILER);
if ($_[3] eq "dbm") {
	dbmopen(%mailer, $_[3], 0644);
	delete($mailer{$_[0]->{'domain'}});
	$mailer{$_[1]->{'domain'}} = "$_[1]->{'mailer'}:$_[1]->{'dest'}";
	dbmclose(%mailer);
	}
else { &run_makemap($_[2], $_[3], $_[4]); }
}

# delete_mailer(&old, textfile, dbmfile, dbmtype)
sub delete_mailer
{
local(@mailer, %mailer);
open(MAILER, $_[1]);
@mailer = <MAILER>;
close(MAILER);
splice(@mailer, $_[0]->{'line'}, 1);
open(MAILER, "> $_[1]");
print MAILER @mailer;
close(MAILER);
if ($_[3] eq "dbm") {
	dbmopen(%mailer, $_[2], 0644);
	delete($mailer{$_[0]->{'domain'}});
	dbmclose(%mailer);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# mailer_form([&details])
sub mailer_form
{
local($m, $mode, $addr, $conf, $ml, $dest, $nomx);
$m = $_[0];
print "<form action=save_mailer.cgi>\n";
if ($_[0]) { print "<input type=hidden name=num value=$m->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$_[0] ? $text{'mform_edit'} : $text{'mform_create'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$dom = $m->{'domain'} =~ /^\.(\S+)$/;
print "<tr> <td><b>$text{'mform_for'}</b></td>\n";
printf "<td><input type=radio name=from_type value=0 %s> %s</td>\n",
	$dom ? "" : "checked", $text{'mform_host'};
printf "<td><input name=from_host size=20 value=\"%s\"></td> </tr>\n",
	$dom ? "" : $m->{'domain'};
print "<tr> <td></td>\n";
printf "<td nowrap><input type=radio name=from_type value=1 %s> %s</td>\n",
	$dom ? "checked" : "", $text{'mform_domain'};
printf "<td><input name=from_dom size=20 value=\"%s\"></td> </tr>\n",
	$dom ? $1 : "";

print "<tr> <td><b>$text{'mform_delivery'}</b></td> ",
      "<td colspan=2><select name=mailer>\n";
$conf = &get_sendmailcf();
foreach $ml ( { 'value' => 'error' }, &find_type("M", $conf)) {
	$ml->{'value'} =~ /^([^ ,]+)/;
	printf "<option value=$1 %s>%s\n",
	    $m->{'mailer'} eq $1 || !$_[0] && $1 eq "smtp" ? "selected" : "",
	    $text{"mform_$1"} ? $text{"mform_$1"} : $1;
	}
print "</select></td> </tr>\n";

if ($m->{'dest'} =~ /^\[(\S+)\]$/) { $dest = $1; $nomx = 1; }
else { $dest = $m->{'dest'}; }
print "<tr> <td valign=top><b>$text{'mform_to'}</b></td>\n";
print "<td colspan=2><input name=dest size=30 value=\"$dest\"><br>\n";
printf "<input type=checkbox name=nomx value=1 %s>\n",
	$nomx ? "checked" : "";
print $text{'mform_ignore'},"\n";
print "</td> </tr>\n";

print "<tr> <td colspan=3 align=right>\n";
if ($_[0]) {
        print "<input type=submit value=\"$text{'save'}\">\n";
        print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
        }
else { print "<input type=submit value=\"$text{'create'}\">\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

1;

07070100021518000081e40000000000000002000000013d1fe2d400000174000000200000000000000000000000000000002300000003reloc/sendmail/manual_features.cgi    #!/usr/local/bin/perl
# manual_features.cgi
# Save the manually edited M4 file

require './sendmail-lib.pl';
require './features-lib.pl';
&ReadParseMime();
$features_access || &error($text{'features_ecannot'});

$in{'data'} =~ s/\r//g;
$in{'data'} =~ s/\n*$/\n/;
open(FEAT, ">$config{'sendmail_mc'}");
print FEAT $in{'data'};
close(FEAT);
&redirect("list_features.cgi");

07070100021519000081a40000000000000002000000013d1fe2ea00000307000000200000000000000000000000000000001b00000003reloc/sendmail/module.info    desc_ru_SU=ëÏÎÆÉÇÕÒÁÃÉÑ Sendmail
risk=low medium high
desc_ko_KR.euc=Sendmail ±¸¼º
desc_zh_TW.Big5=Sendmail ²ÕºA
desc_pl=Konfiguracja Sendmaila
desc_de=Sendmail Konfiguration
name=Sendmail
desc_zh_CN=Sendmail ÅäÖÃ
desc_pt=Configuração do Sendmail
category=servers
desc_tr=Sendmail Yapýlandýrmasý
os_support=solaris slackware-linux redhat-linux mandrake-linux suse-linux debian-linux freebsd hpux irix macos open-linux openserver unixware turbo-linux openbsd corel-linux cobalt-linux aix netbsd msc-linux osf1 generic-linux
desc=Sendmail Configuration
desc_es=Configuración de Sendmail
desc_sv=Sendmail-inställningar
desc_fr=Configuration de Sendmail
desc_ja_JP.euc=Sendmail ¤ÎÀßÄê
depends=0.990
version=0.990
desc_ca=Configuració de Sendmail
desc_ru_RU=Êîíôèãóðàöèÿ Sendmail
 0707010002151a000081e40000000000000002000000013d1fe2d400000235000000200000000000000000000000000000001800000003reloc/sendmail/move.cgi   #!/usr/local/bin/perl
# move.cgi
# Move a feature up or down

require './sendmail-lib.pl';
require './features-lib.pl';
&ReadParse();
$features_access || &error($text{'features_ecannot'});
@features = &list_features();

&lock_file($config{'sendmail_mc'});
if ($in{'up'}) {
	&swap_features($features[$in{'idx'}-1], $features[$in{'idx'}]);
	}
elsif ($in{'down'}) {
	&swap_features($features[$in{'idx'}], $features[$in{'idx'}+1]);
	}
&unlock_file($config{'sendmail_mc'});
&webmin_log("move", "feature", undef, $features[$in{'idx'}]);

&redirect("list_features.cgi");

   0707010002151b000081e40000000000000002000000013d1fe2d4000003b2000000200000000000000000000000000000001b00000003reloc/sendmail/qdetach.cgi    #!/usr/local/bin/perl
# detach.cgi
# View one attachment from a message

require './sendmail-lib.pl';
require './boxes-lib.pl';

&ReadParse();
$access{'mailq'} || &error($text{'mailq_ecannot'});
$in{'file'} =~ /\.\./ && &error($text{'mailq_ecannot'});
$conf = &get_sendmailcf();
foreach $mqueue (&mailq_dir($conf)) {
	$ok++ if ($in{'file'} =~ /^$mqueue\//);
	}
$ok || &error($text{'mailq_ecannot'});

$qfile = $in{'file'};
($dfile = $qfile) =~ s/\/qf/\/df/;
$mail = &mail_from_queue($qfile, $dfile);
&parse_mail($mail);
@sub = split(/\0/, $in{'sub'});
foreach $s (@sub) {
	# We are looking at a mail within a mail ..
	local $amail = &extract_mail($mail->{'attach'}->[$s]->{'data'});
	&parse_mail($amail);
	$mail = $amail;
	}
$attach = $mail->{'attach'}->[$in{'attach'}];

print "Content-type: $attach->{'type'}\n\n";
if ($attach->{'type'} =~ /^text\/html/i) {
	print &filter_javascript($attach->{'data'});
	}
else {
	print $attach->{'data'};
	}

  0707010002151c000081e40000000000000002000000013d1fe2d300001fdb000000200000000000000000000000000000001e00000003reloc/sendmail/reply_mail.cgi #!/usr/local/bin/perl
# Display a form for replying to an email

require './sendmail-lib.pl';
require './boxes-lib.pl';

&ReadParse();
&can_read_mail($in{'user'}) || &error($text{'reply_ecannot'});
if ($in{'new'}) {
	# Composing a new email
	&header($text{'compose_title'}, "");
	}
else {
	# Replying or forwarding
	if ($in{'mailforward'} ne '') {
		@mailforward = split(/\0/, $in{'mailforward'});
		@mails = &list_mails($in{'user'},
				     $mailforward[0], $mailforward[@mailforward-1]);
		$mail = $mails[$mailforward[0]];
		}
	else {
		@mails = &list_mails($in{'user'}, $in{'idx'}, $in{'idx'});
		$mail = $mails[$in{'idx'}];
		}

	if ($in{'delete'}) {
		# Just delete the email
		$gconfig{'logfiles'} = 0;
		&lock_file(&user_mail_file($in{'user'}));
		&delete_mail($in{'user'}, $mail);
		&unlock_file(&user_mail_file($in{'user'}));
		&redirect("list_mail.cgi?user=$in{'user'}");
		exit;
		}
	elsif ($in{'mark1'} || $in{'mark2'}) {
		# Just mark the message
		dbmopen(%read, "$module_config_directory/$in{'user'}.read",
			0600);
		$mode = $in{'mark1'} ? $in{'mode1'} : $in{'mode2'};
		if ($mode) {
			$read{$mail->{'header'}->{'message-id'}} = $mode;
			}
		else {
			delete($read{$mail->{'header'}->{'message-id'}});
			}
		$s = int((@mails - $in{'idx'} - 1) / $config{'perpage'}) *
		     $config{'perpage'};
		&redirect("list_mail.cgi?user=$in{'user'}&start=$s");
		exit;
		}

	if (!@mailforward) {
		&parse_mail($mail);
		@attach = @{$mail->{'attach'}};
		}

	if ($in{'strip'}) {
		# Remove all non-body attachments
		local $newmail = { 'headers' => $mail->{'headers'},
				   'header' => $mail->{'header'},
				   'fromline' => $mail->{'fromline'} };
		foreach $a (@attach) {
			if ($a->{'type'} eq 'text/plain' ||
			    $a->{'type'} eq 'text') {
				$newmail->{'attach'} = [ $a ];
				last;
				}
			}
		$gconfig{'logfiles'} = 0;
		&lock_file(&user_mail_file($in{'user'}));
		&modify_mail($in{'user'}, $mail, $newmail);
		&unlock_file(&user_mail_file($in{'user'}));
		&redirect("list_mail.cgi?user=$in{'user'}");
		exit;
		}

	&header($in{'forward'} || @mailforward ? $text{'forward_title'} :
		$in{'enew'} ? $text{'compose_title'} :
			      $text{'reply_title'}, "");

	if ($in{'enew'}) {
		$to = $mail->{'header'}->{'to'};
		$from = $mail->{'header'}->{'from'};
		$cc = $mail->{'header'}->{'cc'};
		$ouser = $1 if ($from =~ /^(\S+)\@/);
		}
	else {
		if (!$in{'forward'} && !@mailforward) {
			$to = $mail->{'header'}->{'reply-to'};
			$to = $mail->{'header'}->{'from'} if (!$to);
			}
		if ($in{'rall'}) {
			$cc = $mail->{'header'}->{'to'};
			$cc .= ", ".$mail->{'header'}->{'cc'}
				if ($mail->{'header'}->{'cc'});
			}
		}
	$subject = $mail->{'header'}->{'subject'};
	$subject = "Re: ".$subject if ($subject !~ /^Re/i && !$in{'forward'} &&
				       !@mailforward && !$in{'enew'});
	$subject = "Fwd: ".$subject if ($subject !~ /^Fwd/i &&
					($in{'forward'} || @mailforward));

	foreach $a (@attach) {
		if ($a->{'type'} eq 'text/plain') {
			$body = $a;
			if ($in{'enew'}) {
				$quote = $body->{'data'};
				}
			else {
				foreach $l (&wrap_lines($body->{'data'}, 70)) {
					$quote .= "> $l\n";
					}
				}
			last;
			}
		}
	$quote = &decode_mimewords($mail->{'header'}->{'from'}).
		 " wrote ..\n".$quote if ($quote && !$in{'enew'});
	if ($in{'forward'} || $in{'enew'}) {
		@attach = grep { $_ ne $body } @attach;
		}
	else {
		undef(@attach);
		}
	}
print "<hr>\n";

print "<form action=send_mail.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";
print "<input type=hidden name=ouser value='$ouser'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";

print "<table width=100% border=1>\n";
print "<tr> <td $tb><b>$text{'reply_headers'}</b></td> </tr>\n";
print "<tr> <td $cb><table width=100%>\n";
print "<tr> <td><b>$text{'mail_from'}</b></td>\n";
if ($access{'fmode'} == 0) {
	$from = $in{'user'}.'@'.&from_hostname() if (!$from);
	print "<td><input name=from size=40 value='$from'></td>\n";
	}
elsif ($access{'fmode'} == 1) {
	local $u = $ouser ? $ouser : $in{'user'};
	print "<td><select name=from>\n";
	foreach $f (split(/\s+/, $access{'from'})) {
		printf "<option value=%s %s>%s\n",
		    "$u\@$f", $from eq "$u\@$f" ? 'selected' : '',
		    $access{'fromname'} ?
			"\"$access{'fromname'}\" &lt;$u\@$f&gt;" : "$u\@$f";
		}
	print "</select></td>\n";
	}
elsif ($access{'fmode'} == 2) {
	print "<td><select name=from>\n";
	foreach $f (split(/\s+/, $access{'from'})) {
		printf "<option value=%s %s>%s\n",
		    $f, $from eq $f ? 'selected' : '',
		    $access{'fromname'} ? "$access{'fromname'} &lt;$f&gt;" : $f;
		}
	print "</select></td>\n";
	}
elsif ($access{'fmode'} == 3) {
	print "<td><input name=from size=10>$ouser\@$access{'from'}</td>\n";
	}
$to =~ s/"/&quot;/g;
print "<td><b>$text{'mail_to'}</b></td> ",
      "<td><input name=to size=40 value=\"$to\"></td> </tr>\n";
$cc =~ s/"/&quot;/g;
print "<tr> <td><b>$text{'mail_cc'}</b></td> ",
      "<td><input name=cc size=40 value=\"$cc\"></td>\n";
print "<td><b>$text{'mail_bcc'}</b></td> ",
      "<td><input name=bcc size=40 value=''></td> </tr>\n";
$subject =~ s/"/&quot;/g;
print "<tr> <td><b>$text{'mail_subject'}</b></td> ",
      "<td><input name=subject size=40 value=\"$subject\"></td>\n";
print "<td><b>$text{'mail_pri'}</b></td> ",
      "<td><table cellpadding=0 cellspacing=0 width=100%>\n",
      "<tr><td align=left><select name=pri>\n",
      "<option value=1>$text{'mail_highest'}\n",
      "<option value=2>$text{'mail_high'}\n",
      "<option value='' selected>$text{'mail_normal'}\n",
      "<option value=4>$text{'mail_low'}\n",
      "<option value=5>$text{'mail_lowest'}\n",
      "</select></td>\n",
      "<td align=right><input type=submit value=\"$text{'reply_send'}\"></td>\n",
      "</tr></table></td></tr>\n";
print "</table></td></tr></table><p>\n";

print "<table width=100% border=1><tr><td $cb>",
      "<textarea rows=20 cols=80 name=body $config{'wrap_mode'}>",$quote,
      "</textarea></td></tr></table><p>\n";

# Display forwarded attachments
if (@attach) {
	print "<table width=100% border=1>\n";
	print "<tr> <td $tb><b>$text{'reply_attach'}</b></td> </tr>\n";
	print "<tr> <td $cb>\n";
	foreach $a (@attach) {
		push(@titles, "<input type=checkbox name=forward value=$a->{'idx'} checked> ".($a->{'filename'} ? $a->{'filename'} : $a->{'type'}));
		push(@links, "detach.cgi?user=$in{'user'}&idx=$in{'idx'}&attach=$a->{'idx'}");
		push(@icons, "images/boxes.gif");
		}
	&icons_table(\@links, \@titles, \@icons, 8);
	print "</td></tr></table><p>\n";
	}

# Display forwarded mails
if (@mailforward) {
	print "<table width=100% border=1>\n";
	print "<tr> <td $tb><b>$text{'reply_mailforward'}</b></td> </tr>\n";
	print "<tr> <td $cb>\n";
	foreach $f (@mailforward) {
		push(@titles, &simplify_subject($mails[$f]->{'header'}->{'subject'}));
		push(@links, "view_mail.cgi?user=$in{'user'}&idx=$f");
		push(@icons, "images/boxes.gif");
		print "<input type=hidden name=mailforward value=$f>\n";
		}
	&icons_table(\@links, \@titles, \@icons, 8);
	print "</td></tr></table><p>\n";
	}

# Add form for more attachments
print "<table width=100% border=1>\n";
print "<tr $tb> <td colspan=3><b>$text{'reply_attach2'}</b></td> </tr>\n";

print "<tr $cb> <td><input type=file size=20 name=attach0></td>\n";
print "<td><input type=file size=20 name=attach1></td>\n";
print "<td><input type=file size=20 name=attach2></td> </tr>\n";

print "<tr $cb> <td><input type=file size=20 name=attach3></td>\n";
print "<td><input type=file size=20 name=attach4></td>\n";
print "<td><input type=file size=20 name=attach5></td> </tr>\n";

if ($access{'canattach'}) {
	print "<tr $cb> <td><input name=file0 size=20> ",
		&file_chooser_button("file0"),"</td>\n";
	print "<td><input name=file1 size=20> ",
		&file_chooser_button("file1"),"</td>\n";
	print "<td><input name=file2 size=20> ",
		&file_chooser_button("file2"),"</td> </tr>\n";
	}

print "</table><p>\n";
print "<input type=submit value=\"$text{'reply_send'}\"></form>\n";

print "<hr>\n";
&footer("list_mail.cgi?user=$in{'user'}", $text{'mail_return'});

 0707010002151d000081e40000000000000002000000013d1fe2d30000070f000000200000000000000000000000000000001f00000003reloc/sendmail/save_access.cgi    #!/usr/local/bin/perl
# save_access.cgi
# Save, create or delete an access rule

require './sendmail-lib.pl';
require './access-lib.pl';
&ReadParse();
$access{'access'} || &error("You are not allowed to configure spam control");
$conf = &get_sendmailcf();
$afile = &access_file($conf);
&lock_file($afile);
($adbm, $adbmtype) = &access_dbm($conf);
@accs = &list_access($afile);
if (!$in{'new'}) { $a = $accs[$in{'num'}]; }

if ($in{'delete'}) {
	# delete some rule
	$loga = $a;
	&delete_access($a, $afile, $adbm, $adbmtype);
	}
else {
	# Saving or creating.. check inputs
	$whatfailed = "Failed to save spam control rule";
	$from = $in{'from'};
	$in{'from_type'} == 0 && $from !~ /^[^\@ ]+\@[A-z0-9\.\-]+$/ &&
		&error(&text('ssave_etype0', $from));
	$in{'from_type'} == 1 && $from !~ /^[0-9\.]+$/ &&
		&error(&text('ssave_etype1', $from));
	$in{'from_type'} == 2 && $from !~ /^[^\@ ]+$/ &&
		&error(&text('ssave_etype2', $from));
	$in{'from_type'} == 3 && $from !~ /^[A-z0-9\.\-]+$/ &&
		&error(&text('ssave_etype3', $from));
	$from .= '@' if ($in{'from_type'} == 2);

	if ($in{'new'} || uc($from) ne uc($a->{'from'})) {
		# Is this name taken?
		local ($same) = grep { uc($_->{'from'}) eq uc($from) } @accs;
		$same && &error(&text('ssave_ealready', $from));
		}

	if ($in{'action'}) { $action = $in{'action'}; }
	else {
		$in{'err'} =~ /^\d\d\d$/ ||
			&error(&text('ssave_ecode', $in{'err'}));
		$action = "$in{'err'} $in{'msg'}";
		}

	%newa = ( 'from', $from, 'action', $action );
	if ($in{'new'}) { &create_access(\%newa, $afile, $adbm, $adbmtype); }
	else { &modify_access($a, \%newa, $afile, $adbm, $adbmtype); }
	$loga = \%newa;
	}
&unlock_file($afile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "access", $loga->{'from'}, $loga);
&redirect("list_access.cgi");

 0707010002151e000081e40000000000000002000000013d1fe2d3000001b2000000200000000000000000000000000000001e00000003reloc/sendmail/save_afile.cgi #!/usr/local/bin/perl
# save_afile.cgi
# Save an addresses file

require './sendmail-lib.pl';
&ReadParseMime();
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('afile_efile', $in{'file'}));
	}

$in{'text'} =~ s/\r//g;
$in{'text'} =~ s/\n*$/\n/;
open(FILE, ">$in{'file'}") || &error(&text('afile_ewrite', $!));
print FILE $in{'text'};
close(FILE);
&redirect("edit_alias.cgi?num=$in{'num'}");

  0707010002151f000081e40000000000000002000000013d1fe2d400001035000000200000000000000000000000000000001e00000003reloc/sendmail/save_alias.cgi #!/usr/local/bin/perl
# save_alias.cgi
# Save or delete a new or existing alias

require './sendmail-lib.pl';
require './aliases-lib.pl';
&ReadParse();
&error_setup($text{'asave_err'});
$access{'amode'} > 0 || &error($text{'asave_ecannot2'});
$conf = &get_sendmailcf();
$afile = &aliases_file($conf);
&lock_alias_files($afile);
@aliases = &list_aliases($afile);
foreach $ex (@aliases) { $exists{lc($ex->{'name'})}++; }
if (!$in{'new'}) {
	$a = $aliases[$in{'num'}];
	foreach $v (@{$a->{'values'}}) {
		$access{"aedit_".&alias_type($v)} ||
			&error($text{'asave_ecannot'});
		}
	if ($access{'amode'} == 2) {
		$a->{'name'} =~ /$access{'aliases'}/ ||
			&error($text{'asave_ecannot'});
		}
	elsif ($access{'amode'} == 3) {
		$a->{'name'} eq $remote_user ||
			&error($text{'asave_ecannot'});
		}
	}
elsif ($access{'amax'}) {
	local @cliases = grep { local $rv = 1;
		  foreach $v (@{$_->{'values'}}) {
			$rv = 0 if (!$access{"aedit_".&alias_type($v)});
			}
		  $rv;
		} @aliases;
	if ($access{'amode'} == 2) {
		@cliases = grep { $_->{'name'} =~ /$access{'aliases'}/ }
				@aliases;
		}
	elsif ($access{'amode'} == 3) {
		@cliases = grep { $_->{'name'} eq $remote_user } @aliases;
		}
	&error(&text('asave_emax', $access{'amax'}))
		if (@caliases >= $access{'amax'});
	}

if ($in{'delete'}) {
	# delete some alias
	$loga = $a;
	&delete_alias($a, $afile);
	}
else {
	# saving or creating .. check inputs
	$in{'name'} =~ /^[^:@ ]+$/ ||
		&error(&text('asave_eaddr', $in{'name'}));
	if ($in{'new'} || uc($a->{'name'}) ne uc($in{'name'})) {
		# is this name taken?
		for($i=0; $i<@aliases; $i++) {
			if (uc($in{'name'}) eq uc($aliases[$i]->{'name'})) {
				&error(&text('asave_ealready', $in{'name'}));
				}
			}
		}
	if ($access{'amode'} == 2) {
		$in{'name'} =~ /$access{'aliases'}/ ||
			&error(&text('asave_ematch', $access{'aliases'}));
		}
	elsif ($access{'amode'} == 3) {
		$in{'name'} eq $remote_user || &error($text{'asave_esame'});
		}
	for($i=0; defined($t = $in{"type_$i"}); $i++) {
		!$t || $access{"aedit_$t"} ||
			&error($text{'asave_etype'});
		$v = $in{"val_$i"};
		if ($t == 1 && $v !~ /^(\S+)$/) {
			&error(&text('asave_etype1', $v));
			}
		elsif ($t == 2 && !&check_aliasfile($v, 1)) {
			&error(&text('asave_etype2', $v));
			}
		elsif ($t == 3 && $v !~ /^\/(\S+)$/) {
			&error(&text('asave_etype3', $v));
			}
		elsif ($t == 4) {
			$v =~ /^(\S+)/ || &error($text{'asave_etype4none'});
			(-x $1) && &check_aliasfile($1, 0) ||
				&error(&text('asave_etype4', $1));
			}
		elsif ($t == 5 && !&check_aliasfile($v, 1)) {
			&error(&text('asave_etype5', $v));
			}
		elsif ($t == 6 && !&check_aliasfile($v, 1)) {
			&error(&text('asave_etype6', $v));
			}
		if ($t == 1 || $t == 3) { push(@values, $v); }
		elsif ($t == 2) { push(@values, ":include:$v"); }
		elsif ($t == 4) { push(@values, "|$v"); }
		elsif ($t == 5) {
			# Setup autoreply script
			push(@values, "|$module_config_directory/autoreply.pl ".
				      "$v $in{'name'}");
			&system_logged("cp autoreply.pl $module_config_directory");
			&system_logged("chmod 755 $module_config_directory/config");
			if (-d $config{'smrsh_dir'}) {
				&system_logged("ln -s $module_config_directory/autoreply.pl $config{'smrsh_dir'}/autoreply.pl");
				}
			}
		elsif ($t == 6) {
			# Setup filter script
			push(@values, "|$module_config_directory/filter.pl ".
				      "$v $in{'name'}");
			&system_logged("cp filter.pl $module_config_directory");
			&system_logged("chmod 755 $module_config_directory/config");
			if (-d $config{'smrsh_dir'}) {
				&system_logged("ln -s $module_config_directory/filter.pl $config{'smrsh_dir'}/filter.pl");
				}
			}
		}

	$newa{'name'} = $in{'name'};
	$newa{'values'} = \@values;
	$newa{'enabled'} = $in{'enabled'};
	if ($in{'new'}) { &create_alias(\%newa, $afile); }
	else { &modify_alias($a, \%newa, $afile); }
	$loga = \%newa;
	}
&unlock_alias_files($afile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "alias", $loga->{'name'}, $loga);
&redirect("list_aliases.cgi");

sub check_aliasfile
{
return 0 if (!-r $_[0] && !$_[1]);
return substr($_[0], 0, length($access{'apath'})) eq $access{'apath'};
}

   07070100021520000081e40000000000000002000000013d1fe2d400000444000000200000000000000000000000000000001c00000003reloc/sendmail/save_cgs.cgi   #!/usr/local/bin/perl
# save_cgs.cgi
# Save sendmail.cg list

require './sendmail-lib.pl';
&ReadParseMime();
$access{'cgs'} || &error($text{'cgs_ecannot'});
&error_setup($text{'cgs_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();
@dlist = split(/\s+/, $in{'dlist'});
foreach $d (@dlist) {
	$d =~ /^[A-z0-9\-\.]+$/ ||
		&error(&text('cgs_ehost', $d));
	&check_ipaddress($d) &&
		&error(&text('cgs_eip', $d));
	}
@dlist = &unique(@dlist);

# get old cw directives
@old = grep { $_->{'value'} =~ /^G/ } &find_type("C", $conf);

if ($in{'cgfile'}) {
	# If there is a .cg file, write all domains to it and take any
	# out of sendmail.cf
	&lock_file($in{'cgfile'});
	open(CG, "> $in{'cgfile'}");
	foreach $d (@dlist) { print CG $d,"\n"; }
	close(CG);
	&unlock_file($in{'cgfile'});
	}
else {
	# Stick all domains in sendmail.cf
	foreach $d (@dlist) {
		push(@new, { 'type' => 'C',
			     'values' => [ "G$d" ] });
		}
	}
&save_directives($conf, \@old, \@new);
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("cgs");
&redirect("");

07070100021521000081e40000000000000002000000013d1fe2d400000470000000200000000000000000000000000000001c00000003reloc/sendmail/save_cws.cgi   #!/usr/local/bin/perl
# save_cws.cgi
# Save sendmail.cw list

require './sendmail-lib.pl';
&ReadParseMime();
$access{'cws'} || &error($text{'cws_ecannot'});
&error_setup($text{'cws_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();
@dlist = split(/\s+/, $in{'dlist'});
foreach $d (@dlist) {
	$d =~ /^[A-z0-9\-\.]+$/ ||
		&error(&text('cws_ehost', $d));
	#&check_ipaddress($d) &&
	#	&error(&text('cws_eip', $d));
	}
@dlist = &unique(@dlist);

# get old cw directives
@old = grep { $_->{'value'} =~ /^w/ } &find_type("C", $conf);

if ($in{'cwfile'}) {
	# If there is a .cw file, write all domains to it and take any
	# out of sendmail.cf
	&lock_file($in{'cwfile'});
	open(CW, "> $in{'cwfile'}");
	foreach $d (@dlist) { print CW $d,"\n"; }
	close(CW);
	&unlock_file($in{'cwfile'});
	}
else {
	# Stick all domains in sendmail.cf
	foreach $d (@dlist) {
		push(@new, { 'type' => 'C',
			     'values' => [ "w$d" ] });
		}
	}
&save_directives($conf, \@old, \@new);
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("cws");
&redirect("");
#&header("foo");
#print "<h1>bar</h1>\n";

07070100021522000081e40000000000000002000000013d1fe2d3000004a1000000200000000000000000000000000000001f00000003reloc/sendmail/save_domain.cgi    #!/usr/local/bin/perl
# save_domain.cgi
# Save, create or delete an address mapping

require './sendmail-lib.pl';
require './domain-lib.pl';
&ReadParse();
$access{'domains'} || &error($text{'dsave_ecannot'});
$conf = &get_sendmailcf();
$dfile = &domains_file($conf);
&lock_file($dfile);
($ddbm, $ddbmtype) = &domains_dbm($conf);
@doms = &list_domains($dfile);
if (!$in{'new'}) { $d = $doms[$in{'num'}]; }
foreach $du (@doms) { $already{$du->{'from'}}++; }

if ($in{'delete'}) {
	# delete some mapping
	$logd = $d;
	&delete_domain($d, $dfile, $ddbm, $ddbmtype);
	}
else {
	# Saving or creating.. check inputs
	&error_setup($text{'dsave_err'});
	$in{'from'} =~ /^[A-z0-9\.\-]+$/ ||
		&error(&text('dsave_edomain', $in{'from'}));
	$in{'to'} =~ /^[A-z0-9\.\-]+$/ ||
		&error(&text('dsave_edomain', $in{'to'}));
	$newd{'from'} = $in{'from'};
	$newd{'to'} = $in{'to'};
	if ($in{'new'}) { &create_domain(\%newd, $dfile, $ddbm, $ddbmtype); }
	else { &modify_domain($d, \%newd, $dfile, $ddbm, $ddbmtype); }
	$logd = \%newd;
	}
&unlock_file($dfile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "domain", $logd->{'from'}, $logd);
&redirect("list_domains.cgi");

   07070100021523000081e40000000000000002000000013d1fe2d400000944000000200000000000000000000000000000002000000003reloc/sendmail/save_feature.cgi   #!/usr/local/bin/perl
# save_feature.cgi
# Add a new line to the M4 file

require './sendmail-lib.pl';
require './features-lib.pl';
&ReadParse();
$features_access || &error($text{'features_ecannot'});
&error_setup($text{'feature_err'});

@features = &list_features();
if ($in{'new'}) {
	$feature = { 'type' => $in{'type'} };
	}
else {
	$feature = $features[$in{'idx'}];
	}

&lock_file($config{'sendmail_mc'});
if ($in{'delete'}) {
	# Just delete this entry
	&delete_feature($feature);
	}
else {
	# Validate and store inputs
	if ($feature->{'type'} == 0) {
		$feature->{'text'} = $in{'text'};
		}
	elsif ($feature->{'type'} == 1) {
		local ($same) = grep { $_->{'type'} == 1 &&
				       $_->{'name'} eq $in{'name'} } @features;
		$same && ($in{'new'} || $feature->{'name'} ne $in{'name'}) &&
			&error(&text('feature_efeat', "<tt>$in{'name'}</tt>"));
		$feature->{'name'} = $in{'name'};
		local @v;
		for($i=0; defined($in{"value_$i"}); $i++) {
			if ($in{"value_$i"} ne '') {
				push(@v, $in{"value_$i"});
				}
			}
		$feature->{'values'} = \@v;
		}
	elsif ($feature->{'type'} == 2 || $feature->{'type'} == 3) {
		local ($same) = grep { ($_->{'type'} == 2 || $_->{'type'} == 3) &&
				       $_->{'name'} eq $in{'name'} } @features;
		$same && ($in{'new'} || $feature->{'name'} ne $in{'name'}) &&
			&error(&text('feature_edef', "<tt>$in{'name'}</tt>"));
		$feature->{'name'} = $in{'name'};
		if ($in{'undef'}) {
			$feature->{'type'} = 3;
			}
		else {
			$feature->{'type'} = 2;
			$feature->{'value'} = $in{'value'};
			}
		}
	elsif ($feature->{'type'} == 4) {
		local ($same) = grep { $_->{'type'} == 4 &&
				       $_->{'mailer'} eq $in{'mailer'} } @features;
		$same && ($in{'new'} || $feature->{'mailer'} ne $in{'mailer'}) &&
			&error(&text('feature_emailer', "<tt>$in{'mailer'}</tt>"));
		$feature->{'mailer'} = $in{'mailer'};
		}
	elsif ($feature->{'type'} == 5) {
		local ($same) = grep { $_->{'type'} == 5 } @features;
		$same && $in{'new'} &&
			&error(&text('feature_eostype', "<tt>$in{'ostype'}</tt>"));
		$feature->{'ostype'} = $in{'ostype'};
		}

	# Save or create the entry
	if ($in{'new'}) {
		&create_feature($feature);
		}
	else {
		&modify_feature($feature);
		}
	}

&unlock_file($config{'sendmail_mc'});
&webmin_log($in{'new'} ? 'create' : $in{'delete'} ? 'delete' : 'modify',
	    "feature", undef, $feature);
&redirect("list_features.cgi");

07070100021524000081e40000000000000002000000013d1fe2d4000002cd000000200000000000000000000000000000001e00000003reloc/sendmail/save_ffile.cgi #!/usr/local/bin/perl
# save_afile.cgi
# Save a filter file

require './sendmail-lib.pl';
&ReadParseMime();
&error_setup($text{'ffile_err'});
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('ffile_efile', $in{'file'}));
	}

for($i=0; defined($in{"field_$i"}); $i++) {
	next if (!$in{"field_$i"});
	$in{"match_$i"} || &error($text{'ffile_ematch'});
	$in{"action_$i"} || &error($text{'ffile_eaction'});
	push(@filter, $in{"what_$i"}." ".$in{"action_$i"}." ".
		      $in{"field_$i"}." ".$in{"match_$i"}."\n");
	}
push(@filter, "2 ".$in{'other'}."\n") if ($in{'other'});

open(FILE, ">$in{'file'}");
print FILE @filter;
close(FILE);
&redirect("edit_alias.cgi?num=$in{'num'}");

   07070100021525000081e40000000000000002000000013d1fe2d4000009c5000000200000000000000000000000000000001d00000003reloc/sendmail/save_file.cgi  #!/usr/local/bin/perl
# save_file.cgi
# Save a manually edited file

require './sendmail-lib.pl';
&error_setup($text{'file_err'});
&ReadParseMime();
$conf = &get_sendmailcf();
if ($in{'mode'} eq 'aliases') {
	require './aliases-lib.pl';
	$file = &aliases_file($conf)->[$in{'idx'}];
	$return = "list_aliases.cgi";
	$post = "newaliases";
	$access{'amode'} == 1 && $access{'aedit_1'} && $access{'aedit_2'} &&
	    $access{'aedit_3'} && $access{'aedit_4'} && $access{'aedit_5'} &&
	    $access{'amax'} == 0 && $access{'apath'} eq '/' ||
	    &error($text{'file_ealiases'});
	$log = "alias";
	}
elsif ($in{'mode'} eq 'virtusers') {
	require './virtusers-lib.pl';
	$file = &virtusers_file($conf);
	($vdbm, $vdbmtype) = &virtusers_dbm($conf);
	$return = "list_virtusers.cgi";
	$post = "$config{'makemap_path'} $vdbmtype $vdbm <$file";
	$access{'vmode'} == 1 && $access{'vedit_0'} && $access{'vedit_1'} &&
	    $access{'vedit_2'} && $access{'vmax'} == 0 ||
	    &error($text{'file_evirtusers'});
	$log = "virtuser";
	}
elsif ($in{'mode'} eq 'mailers') {
	require './mailers-lib.pl';
	$file = &mailers_file($conf);
	($mdbm, $mdbmtype) = &mailers_dbm($conf);
	$return = "list_mailers.cgi";
	$post = "$config{'makemap_path'} $mdbmtype $mdbm <$file";
	$access{'mailers'} || &error($text{'file_emailers'});
	$log = "mailer";
	}
elsif ($in{'mode'} eq 'generics') {
	require './generics-lib.pl';
	$file = &generics_file($conf);
	($gdbm, $gdbmtype) = &generics_dbm($conf);
	$return = "list_generics.cgi";
	$post = "$config{'makemap_path'} $gdbmtype $gdbm <$file";
	$access{'omode'} == 1 || &error($text{'file_egenerics'});
	$log = "generic";
	}
elsif ($in{'mode'} eq 'domains') {
	require './domain-lib.pl';
	$file = &domains_file($conf);
	($ddbm, $ddbmtype) = &domains_dbm($conf);
	$return = "list_domains.cgi";
	$post = "$config{'makemap_path'} $ddbmtype $ddbm <$file";
	$access{'domains'} || &error($text{'file_edomains'});
	$log = "domain";
	}
elsif ($in{'mode'} eq 'access') {
	require './access-lib.pl';
	$file = &access_file($conf);
	($adbm, $adbmtype) = &access_dbm($conf);
	$return = "list_access.cgi";
	$post = "$config{'makemap_path'} $adbmtype $adbm <$file";
	$access{'access'} || &error($text{'file_eaccess'});
	$log = "access";
	}
else { &error($text{'file_emode'}); }

$in{'text'} =~ s/\r//g;
&lock_file($file);
open(FILE, ">$file");
print FILE $in{'text'};
close(FILE);
&unlock_file($file);
&webmin_log("manual", $log, $file);

&system_logged("$post >/dev/null 2>&1") if ($post);
&redirect($return);

   07070100021526000081e40000000000000002000000013d1fe2d300000545000000200000000000000000000000000000002000000003reloc/sendmail/save_generic.cgi   #!/usr/local/bin/perl
# save_generic.cgi
# Save, create or delete an outgoing address mapping

require './sendmail-lib.pl';
require './generics-lib.pl';
&ReadParse();
$access{'omode'} || &error($text{'gsave_ecannot'});
$conf = &get_sendmailcf();
$gfile = &generics_file($conf);
&lock_file($gfile);
($gdbm, $gdbmtype) = &generics_dbm($conf);
@gens = &list_generics($gfile);
if (!$in{'new'}) {
	$g = $gens[$in{'num'}];
	$access{'omode'} == 1 || $g->{'from'} =~ /$access{'oaddrs'}/ ||
		&error($text{'gsave_ecannot2'});
	}

if ($in{'delete'}) {
	# delete some mapping
	$logg = $g;
	&delete_generic($g, $gfile, $gdbm, $gdbmtype);
	}
else {
	# Saving or creating.. check inputs
	&error_setup($text{'gsave_err'});
	$in{'from'} =~ /^\S+$/ ||
		&error(&text('gsave_efrom', $in{'from'}));
	$access{'omode'} == 1 || $in{'from'} =~ /$access{'oaddrs'}/ ||
		&error(&text('gsave_ematch', $access{'oaddrs'}));
	$in{'to'} =~ /^\S+\@\S+$/ ||
		&error(&text('gsave_eto', $in{'to'}));
	$newg{'from'} = $in{'from'};
	$newg{'to'} = $in{'to'};
	if ($in{'new'}) { &create_generic(\%newg, $gfile, $gdbm, $gdbmtype); }
	else { &modify_generic($g, \%newg, $gfile, $gdbm, $gdbmtype); }
	$logg = \%newg;
	}
&unlock_file($gfile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "generic", $logg->{'from'}, $logg);
&redirect("list_generics.cgi");

   07070100021527000081e40000000000000002000000013d1fe2d3000005a0000000200000000000000000000000000000001f00000003reloc/sendmail/save_mailer.cgi    #!/usr/local/bin/perl
# save_mailer.cgi
# Save, create or delete a mailertable entry

require './sendmail-lib.pl';
require './mailers-lib.pl';
&ReadParse();
$access{'mailers'} || &error($text{'msave_ecannot'});
$conf = &get_sendmailcf();
$mfile = &mailers_file($conf);
&lock_file($mfile);
($mdbm,$mdbmtype) = &mailers_dbm($conf);
@mailers = &list_mailers($mfile);
foreach $ml (@mailers) { $already{$ml->{'domain'}}++; }
if (!$in{'new'}) { $m = $mailers[$in{'num'}]; }

if ($in{'delete'}) {
	# delete some mailer entry
	$logm = $m;
	&delete_mailer($m, $mfile, $mdbm, $mdbmtype);
	}
else {
	# Saving or creating.. check inputs
	&error_setup($text{'msave_err'});
	$domain = $in{'from_type'} ? ".$in{'from_dom'}" : $in{'from_host'};
	$domain =~ /^[A-z0-9\-\.]+$/ ||
		&error(&text('msave_edomain', $domain));
	if ($already{$domain} && ($in{'new'} || $m->{'domain'} ne $domain)) {
		&error(&text('msave_edup', $domain));
		}
	$mailer = $in{'mailer'};
	$dest = $in{'dest'};

	$newm{'domain'} = $domain;
	$newm{'mailer'} = $mailer;
	$newm{'dest'} = $in{'nomx'} && $mailer =~ /smtp|relay/ ? "[$dest]"
							       : $dest;
	if ($in{'new'}) { &create_mailer(\%newm, $mfile, $mdbm, $mdbmtype); }
	else { &modify_mailer($m, \%newm, $mfile, $mdbm, $mdbmtype); }
	$logm = \%newm;
	}
&unlock_file($mfile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "mailer", $logm->{'domain'}, $logm);
&redirect("list_mailers.cgi");

07070100021528000081e40000000000000002000000013d1fe2d300000582000000200000000000000000000000000000001d00000003reloc/sendmail/save_masq.cgi  #!/usr/local/bin/perl
# save_masq.cgi
# Save domain masquerading

require './sendmail-lib.pl';
&ReadParseMime();
$access{'masq'} || &error($text{'masq_ecannot'});
&error_setup($text{'masq_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();
$in{'masq'} =~ /^[A-z0-9\-\.]*$/ ||
	&error(&text('masq_edomain', $in{'masq'}));
@mlist = split(/\s+/, $in{'mlist'});
foreach $m (@mlist) {
	$m =~ /^[A-z0-9\-\.]+$/ ||
		&error(&text('masq_ehost', $m));
	&check_ipaddress($m) &&
		&error(&text('masq_eip', $m));
	}
@mlist = &unique(@mlist);

# Update the DM directive (if there is one)
foreach $d (&find_type("D", $conf)) {
	if ($d->{'value'} =~ /^M/) { push(@dmconf, $d); }
	}
&save_directives($conf, \@dmconf,
		 [ { 'type' => 'D', 'values' => [ "M$in{'masq'}" ] } ]);

# Get old CM directives
@old = grep { $_->{'value'} =~ /^M/ } &find_type("C", $conf);

if ($in{'cmfile'}) {
	# If there is a cm file, write all domains to it and take any
	# out of sendmail.cf
	&lock_file($in{'cmfile'});
	open(CM, "> $in{'cmfile'}");
	foreach $m (@mlist) { print CM $m,"\n"; }
	close(CM);
	&unlock_file($in{'cmfile'});
	}
else {
	# Put all domains in sendmail.cf
	foreach $m (@mlist) {
		push(@new, { 'type' => 'C',
			     'values' => [ "M$m" ] });
		}
	}
&save_directives($conf, \@old, \@new);
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("masq");
&redirect("");

  07070100021529000081e40000000000000002000000013d1fe2d300000aea000000200000000000000000000000000000001d00000003reloc/sendmail/save_opts.cgi  #!/usr/local/bin/perl
# save_opts.cgi
# Save various sendmail options

require './sendmail-lib.pl';
&ReadParse();
$access{'opts'} || &error($text{'opts_ecannot'});
&error_setup($text{'opts_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();

# Save directives
&save_doption("S", "DS", 1);
&save_doption("R", "DR", 1);
&save_doption("H", "DH", 1);

# Save other options
&save_option("QueueLA", '[\d\.]+', $text{'opts_queuela'});
&save_option("RefuseLA", '[\d\.]+', $text{'opts_refusela'});
&save_option("MaxDaemonChildren", '\d+', $text{'opts_maxch'});
&save_option("ConnectionRateThrottle", '\d+', $text{'opts_throttle'});
&save_option("MinQueueAge", '\d+\S', $text{'opts_minqueueage'});
&save_option("MaxQueueRunSize", '\d+', $text{'opts_runsize'});
&save_option("Timeout.queuereturn", '\d+[dmhwsy]', $text{'opts_queuereturn'});
&save_option("Timeout.queuewarn", '\d+[dmhwsy]', $text{'opts_queuewarn'});
&save_option("QueueDirectory", '\/\S+', $text{'opts_queue'});
&save_option("PostMasterCopy", '\S+', $text{'opts_postmaster'});
&save_option("ForwardPath", '\S+', $text{'opts_forward'});
&save_option("MinFreeBlocks", '\d+', $text{'opts_minfree'});
&save_option("MaxMessageSize", '\d+', $text{'opts_maxmessage'});
&save_option("LogLevel", '\d+', $text{'opts_loglevel'});
$in{'DontBlameSendmail'} =~ s/\0/ /g;
&save_option("DontBlameSendmail", '.*\S.*', $text{'opts_blame'});
&save_option("SendMimeErrors", '.*');
$in{'DeliveryMode_def'} = 1 if (!$in{'DeliveryMode'});
&save_option("DeliveryMode", '.*');
&save_option("MaxHopCount", '\d+', $text{'opts_hops'});
&save_option("MatchGECOS", '.*');
$ver = &check_sendmail_version($conf);
if ($ver >= 9) {
	&save_option("DaemonPortOptions", '.*\S.*', $text{'opts_daemon'});
	}
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("opts", undef, undef, \%in);
&redirect("");

# save_doption(type2, input, blank)
sub save_doption
{
local ($oldstr, $old) = &find_type2("D", $_[0], $conf);
@oldlist = $oldstr ? ( $oldstr ) : ( );
if ($in{"$_[1]_def"}) {
	@newlist = $_[2] && $oldstr ?
			( { 'type' => 'D', 'values' => [ $_[0] ] } ) : ( );
	}
elsif ($in{$_[1]} !~ /^\S+$/) {
	&error(&text('opts_ehost', $in{$_[1]}));
	}
else {
	@newlist = ( { 'type' => 'D', 'values' => [ $_[0].$in{$_[1]} ] } );
	}
&save_directives($conf, \@oldlist, \@newlist);
}

# save_option(name, regexp, what)
sub save_option
{
local ($oldstr, $old) = &find_option($_[0], $conf);
local @oldlist = $oldstr ? ( $oldstr ) : ( );
local (@newlist, $re); $re = $_[1];
if ($in{"$_[0]_def"}) { @newlist = (); }
elsif ($in{$_[0]} !~ /^$re$/) {
	&error(&text('opts_einvalid', $in{$_[0]}, $_[2]));
	}
else { @newlist = ( { 'type' => 'O', 'values' => [ " $_[0]=$in{$_[0]}" ] } ); }
&save_directives($conf, \@oldlist, \@newlist);
}

  0707010002152a000081e40000000000000002000000013d1fe2d300000432000000200000000000000000000000000000001e00000003reloc/sendmail/save_relay.cgi #!/usr/local/bin/perl
# save_relay.cgi
# Save relay domains list

require './sendmail-lib.pl';
&ReadParseMime();
$access{'relay'} || &error($text{'relay_ecannot'});
&error_setup($text{'relay_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();
@dlist = split(/\s+/, $in{'dlist'});
foreach $d (@dlist) {
	$d =~ /^[A-z0-9\-\.]+$/ ||
		&error(&text('relay_edomain', $d));
	}
@dlist = &unique(@dlist);

# get old CR directives
@old = grep { $_->{'value'} =~ /^R/ } &find_type("C", $conf);

if ($in{'relayfile'}) {
	# If there is a relay file, write all domains to it and take any
	# out of sendmail.cf
	&lock_file($in{'relayfile'});
	open(RELAY, "> $in{'relayfile'}");
	foreach $d (@dlist) { print RELAY $d,"\n"; }
	close(RELAY);
	&unlock_file($in{'relayfile'});
	}
else {
	# Stick all domains in sendmail.cf
	foreach $d (@dlist) {
		push(@new, { 'type' => 'C',
			     'values' => [ "R$d" ] });
		}
	}
&save_directives($conf, \@old, \@new);
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("relay");
&redirect("");

  0707010002152b000081e40000000000000002000000013d1fe2d300000172000000200000000000000000000000000000001e00000003reloc/sendmail/save_rfile.cgi #!/usr/local/bin/perl
# save_rfile.cgi
# Save an autoreply file

require './sendmail-lib.pl';
&ReadParseMime();
if (substr($in{'file'}, 0, length($access{'apath'})) ne $access{'apath'}) {
	&error(&text('rfile_efile', $in{'file'}));
	}

$in{'text'} =~ s/\r//g;
open(FILE, ">$in{'file'}");
print FILE $in{'text'};
close(FILE);
&redirect("edit_alias.cgi?num=$in{'num'}");

  0707010002152c000081e40000000000000002000000013d1fe2d300000462000000200000000000000000000000000000001f00000003reloc/sendmail/save_trusts.cgi    #!/usr/local/bin/perl
# save_trusts.cgi
# Save trusted users list

require './sendmail-lib.pl';
&ReadParseMime();
$access{'trusts'} || &error($text{'trusts_ecannot'});
&error_setup($text{'trusts_err'});
&lock_file($config{'sendmail_cf'});
$conf = &get_sendmailcf();
@tlist = split(/\s+/, $in{'tlist'});
foreach $u (@tlist) {
	@uinfo = getpwnam($u);
	@uinfo || &error(&text('trusts_euser', $u));
	}
@tlist = &unique(@tlist);

# get old T directives
@old = &find_type("T", $conf);
foreach $f (&find_type("C", $conf)) {
	if ($f->{'value'} =~ /^t\s*(.*)$/) {
		push(@old, $f);
		}
	}

if ($in{'ctfile'}) {
	# If there is a .ct file, write all users to it and take any
	# out of sendmail.cf
	&lock_file($in{'ctfile'});
	open(CT, "> $in{'ctfile'}");
	foreach $u (@tlist) { print CT $u,"\n"; }
	close(CT);
	&unlock_file($in{'ctfile'});
	}
else {
	# Stick all users in sendmail.cf
	foreach $u (@tlist) {
		push(@new, { 'type' => 'T',
			     'values' => [ $u ] });
		}
	}
&save_directives($conf, \@old, \@new);
&flush_file_lines();
&unlock_file($config{'sendmail_cf'});
&restart_sendmail();
&webmin_log("trusts");
&redirect("");

  0707010002152d000081e40000000000000002000000013d1fe2d300000b90000000200000000000000000000000000000002100000003reloc/sendmail/save_virtuser.cgi  #!/usr/local/bin/perl
# save_virtuser.cgi
# Save, create or delete an address mapping

require './sendmail-lib.pl';
require './virtusers-lib.pl';
&ReadParse();
$access{'vmode'} > 0 || &error($text{'vsave_ecannot'});
$conf = &get_sendmailcf();
$vfile = &virtusers_file($conf);
&lock_file($vfile);
($vdbm, $vdbmtype) = &virtusers_dbm($conf);
@virts = &list_virtusers($vfile);
foreach $vu (@virts) { $already{$vu->{'from'}}++; }
if (!$in{'new'}) {
	$v = $virts[$in{'num'}];
	$access{'vmode'} == 1 ||
	$access{'vmode'} == 2 && $v->{'from'} =~ /$access{'vaddrs'}/ ||
	$access{'vmode'} == 3 && $v->{'from'} =~ /^$remote_user\@/ ||
		&error($text{'vsave_ecannot2'});
	}
elsif ($access{'vmax'}) {
	local @cvirts =
		grep { $access{"vedit_".&virt_type($_->{'to'})} } @virts;
	if ($access{'vmode'} == 2) {
		@cvirts = grep { $_->{'from'} =~ /$access{'vaddrs'}/ } @cvirts;
		}
	elsif ($access{'vmode'} == 3) {
		@cvirts = grep { $_->{'from'} =~ /^$remote_user\@/ } @cvirts;
		}
	&error(&text('vsave_emax', $access{'vmax'}))
		if (@cvirts >= $access{'vmax'});
	}

if ($in{'delete'}) {
	# delete some mapping
	$logv = $v;
	&delete_virtuser($v, $vfile, $vdbm, $vdbmtype);
	}
else {
	# Saving or creating.. check inputs
	&error_setup($text{'vsave_err'});
	if ($in{'from_type'} == 0) {
		$in{'from_addr'} =~ /^(\S+)\@(\S+)$/ ||
			&error(&text('vsave_efrom', $in{'from_addr'}));
		$from = $in{'from_addr'};
		if ($already{$from} && ($in{'new'} || $v->{'from'} ne $from)) {
			&error(&text('vsave_efromdup', $in{'from_addr'}));
			}
		}
	else {
		$in{'from_dom'} =~ /^([^\@ ]+)$/ ||
			&error(&text('vsave_edom', $in{'from_dom'}));
		$from = "\@$in{'from_dom'}";
		if ($already{$from} && ($in{'new'} || $v->{'from'} ne $from)) {
			&error(&text('vsave_edomdup', $in{'from_dom'}));
			}
		}
	if ($access{'vmode'} == 2) {
		$from =~ /$access{'vaddrs'}/ ||
			&error(&text('vsave_ematch', $access{'vaddrs'}));
		}
	elsif ($access{'vmode'} == 3) {
		$from =~ /^$remote_user\@/ || &error($text{'vsave_esame'});
		}
	if ($in{'to_type'} == 2) {
		$access{"vedit_2"} ||
			&error($text{'vsave_ecannot3'});
		$in{'to_addr'} =~ /^([^\s,]+)$/ ||
			&error(&text('vsave_eaddr', $in{'to_addr'}));
		$to = $in{'to_addr'};
		}
	elsif ($in{'to_type'} == 1) {
		$access{"vedit_1"} ||
			&error($text{'vsave_ecannot4'});
		$in{'to_dom'} =~ /^([^\@ ]+)$/ ||
			&error(&text('vsave_edom', $in{'to_dom'}));
		$in{'from_type'} == 1 ||
			&error($text{'vsave_edomdom'});
		$to = "\%1\@$in{'to_dom'}";
		}
	else {
		$access{"vedit_0"} ||
			&error($text{'vsave_ecannot5'});
		$to = "error:$in{'to_code'} $in{'to_error'}";
		}

	$newv{'from'} = $from;
	$newv{'to'} = $to;
	if ($in{'new'}) { &create_virtuser(\%newv, $vfile, $vdbm, $vdbmtype); }
	else { &modify_virtuser($v, \%newv, $vfile, $vdbm, $vdbmtype); }
	$logv = \%newv;
	}
&unlock_file($vfile);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "virtuser", $logv->{'from'}, $logv);
&redirect("list_virtusers.cgi");

0707010002152e000081e40000000000000002000000013d1fe2d3000014ff000000200000000000000000000000000000001d00000003reloc/sendmail/send_mail.cgi  #!/usr/local/bin/perl
# send_mail.cgi
# Send off an email message

require './sendmail-lib.pl';
require './boxes-lib.pl';

# Check inputs
&ReadParseMime();
&can_read_mail($in{'user'}) || &error($text{'send_ecannot'});
&error_setup($text{'send_err'});
$in{'to'} || &error($text{'send_eto'});
if ($access{'fmode'} == 0) {
	$in{'from'} || &error($text{'send_efrom'});
	}
elsif ($access{'fmode'} == 1) {
	foreach $f (split(/\s+/, $access{'from'})) {
		$found++ if ("$in{'user'}\@$f" eq $in{'from'} ||
			     "$in{'ouser'}\@$f" eq $in{'from'});
		}
	&error($text{'send_efrom'}) if (!$found);
	}
elsif ($access{'fmode'} == 2) {
	foreach $f (split(/\s+/, $access{'from'})) {
		$found++ if ($f eq $in{'from'});
		}
	&error($text{'send_efrom'}) if (!$found);
	}
elsif ($access{'fmode'} == 3) {
	$in{'from'} .= "\@$access{'from'}";
	}
if ($in{'from'} =~ /^(\S+)\@(\S+)$/ && $access{'fromname'}) {
	$in{'from'} = "$access{'fromname'} <$in{'from'}>";
	}

# Construct the email
$mail->{'headers'} = [ [ 'From', $in{'from'} ],
		       [ 'Subject', $in{'subject'} ],
		       [ 'To', $in{'to'} ],
		       [ 'Cc', $in{'cc'} ],
		       [ 'Bcc', $in{'bcc'} ],
		       [ 'X-Originating-IP', $ENV{'REMOTE_ADDR'} ],
		       [ 'X-Mailer', "Webmin ".&get_webmin_version() ] ];
push(@{$mail->{'headers'}}, [ 'X-Priority', $in{'pri'} ]) if ($in{'pri'});
$in{'body'} =~ s/\r//g;
if ($in{'body'} =~ /\S/) {
	@attach = ( { 'headers' => [ [ 'Content-Type', 'text/plain' ],
				     [ 'Content-Transfer-Encoding', '7bit' ] ],
		      'data' => $in{'body'} } );
	}
foreach $i (0 .. 5) {
	# Add uploaded attachment
	next if (!$in{"attach$i"});
	local $filename = $in{"attach${i}_filename"};
	$filename =~ s/^.*(\\|\/)//;
	local $type = $in{"attach${i}_content_type"}."; name=\"".
		      $filenam3."\"";
	local $disp = "inline; filename=\"".$filename."\"";
	push(@attach, { 'data' => $in{"attach${i}"},
			'headers' => [ [ 'Content-type', $type ],
				       [ 'Content-Disposition', $disp ],
				       [ 'Content-Transfer-Encoding',
					 'base64' ] ] });
	$atotal += length($in{"attach${i}"});
	}
foreach $i (0 .. 2) {
	# Add server-side attachment
	next if (!$in{"file$i"} || !$access{'canattach'});
	-r $in{"file$i"} || &error(&text('send_efile', $in{"file$i"}));
	if ($in{'user'} ne 'root') {
		# Is this mailbox user allowed to read the attachment?
		pipe(CHr, CHw);
		if (!fork()) {
			close(CHr);
			@u = getpwnam($in{'user'});
			$( = $u[3]; $) = "$u[3] $u[3]";
			($>, $<) = ($u[2], $u[2]);
			if (!open(TEST, $in{"file$i"})) {
				print CHw "$!\n";
				}
			exit;
			}
		close(CHw);
		chop($resp = <CHr>);
		close(CHr);
		$resp && &error(&text('send_eperms',
				      $in{'user'}, $in{"file$i"}));
		%gaccess = &get_module_acl(undef, "");
		substr($in{"file$i"}, 0, length($gaccess{'root'})) eq
			$gaccess{'root'} || &error(&text('send_eperms2',
						   	 $in{"file$i"}));
		}
	local $data;
	open(DATA, $in{"file$i"}) || &error(&text('send_efile', $in{"file$i"}));
	while(<DATA>) {
		$data .= $_;
		}
	close(DATA);
	$in{"file$i"} =~ s/^.*\///;
	local $type = &guess_type($in{"file$i"})."; name=\"".$in{"file$i"}."\"";
	local $disp = "inline; filename=\"".$in{"file$i"}."\"";
	push(@attach, { 'data' => $data,
			'headers' => [ [ 'Content-type', $type ],
				       [ 'Content-Disposition', $disp ],
				       [ 'Content-Transfer-Encoding',
					 'base64' ] ] });
	$atotal += length($data);
	}
@fwd = split(/\0/, $in{'forward'});
if (@fwd) {
	# Add forwarded attachments
	@mail = &list_mails($in{'user'}, $in{'idx'}, $in{'idx'});
	$fwdmail = $mail[$in{'idx'}];
	&parse_mail($fwdmail);
	foreach $f (@fwd) {
		push(@attach, $fwdmail->{'attach'}->[$f]);
		$atotal += length($fwdmail->{'attach'}->[$f]->{'data'});
		}
	}
@mailfwd = split(/\0/, $in{'mailforward'});
if (@mailfwd) {
	# Add forwarded emails
	@mail = &list_mails($in{'user'}, $mailfwd[0], $mailfwd[@mailfwd-1]);
	foreach $f (@mailfwd) {
		$fwdmail = $mail[$f];
		local $headertext;
		foreach $h (@{$fwdmail->{'headers'}}) {
			$headertext .= $h->[0].": ".$h->[1]."\n";
			}
		push(@attach, { 'data' => $headertext."\n".$fwdmail->{'body'},
				'headers' => [ [ 'Content-type', 'message/rfc822' ],
					       [ 'Content-Description',
						  $fwdmail->{'header'}->{'subject'} ] ]
			      });
		}
	}
$mail->{'attach'} = \@attach;
if ($access{'attach'} >= 0 && $atotal > $access{'attach'}*1024) {
	&error(&text('send_eattach', $access{'attach'}));
	}

# Send it off
&send_mail($mail);
if ($access{'sent'}) {
	# Save a copy in the sent mailbox
	local $sfile = &user_mail_file($access{'sent'});
	&send_mail($mail, $sfile);
	&system_logged("chown $access{'sent'} $sfile 2>/dev/null");
	}
&webmin_log("send", undef, undef, { 'from' => $in{'from'}, 'to' => $in{'to'} });
&header($text{'send_title'}, "");
print "<hr>\n";

print "<p>",&text('send_ok', "<tt>".&html_escape($in{'to'})."</tt>"),"<p>\n";
print "<hr>\n";
local $nb = $access{'mmode'} == 2 && $access{'musers'} =~ /^\S+$/ ||
	    $access{'mmode'} == 4;
if ($in{'idx'} ne '') {
	&footer("view_mail.cgi?user=$in{'user'}&idx=$in{'idx'}",
		$text{'view_return'},
		"list_mail.cgi?user=$in{'user'}", $text{'mail_return'},
		$nb ? ( ) : ( "list_boxes.cgi", $text{'boxes_return'} ),
		"", $text{'index_return'});
	}
else {
	&footer("list_mail.cgi?user=$in{'user'}", $text{'mail_return'},
		$nb ? ( ) : ( "list_boxes.cgi", $text{'boxes_return'} ),
		"", $text{'index_return'});
	}

 0707010002152f000081a40000000000000002000000013d1fe2d400001562000000200000000000000000000000000000001f00000003reloc/sendmail/sendmail-lib.pl    # sendmail-lib.pl
# Functions for managing sendmail aliases, domains and mappings.
# Only sendmail versions 8.8 and above are supported

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();
$features_access = $access{'opts'} && $access{'cws'} && $access{'masq'} && $access{'trusts'} && $access{'vmode'} && $access{'amode'} && $access{'omode'} && $access{'cgs'} && $access{'relay'} && $access{'mailers'} && $access{'access'} && $access{'domains'};

# get_sendmailcf()
# Parses sendmail.cf and return a reference to an array of options.
# Each line is a single character directive, followed by a list of values?
sub get_sendmailcf
{
if (!@sendmailcf_cache) {
	local($lnum, $i);
	$lnum = 0; $i = 0;
	open(CF, $config{'sendmail_cf'});
	while(<CF>) {
		s/^#.*$//g;	# remove comments
		s/\r|\n//g;	# remove newlines
		if (/^(\S)(\s*(.*))$/) {
			local(%opt);
			$opt{'type'} = $1;
			$opt{'value'} = $3;
			$opt{'values'} = [ split(/\s+/, $2) ];
			$opt{'line'} = $lnum;
			$opt{'eline'} = $opt{'line'};
			$opt{'pos'} = $i++;
			push(@sendmailcf_cache, \%opt);
			}
		$lnum++;
		}
	close(CF);
	}
return \@sendmailcf_cache;
}

# check_sendmail_version(&config)
# Is the sendmail config file a usable version?
sub check_sendmail_version
{
local $ver = &find_type("V", $_[0]);
return $ver && $ver->{'value'} =~ /^(\d+)/ && $1 >= 7 ? $1 : undef;
}

# save_directives(&config, &oldvalues, &newvalues)
# Given 2 arrays of directive structures, this function will replace the
# old ones with the new. If the old list is empty, new directives are added
# to the end of the config file. If the new list is empty, all old directives
# are removed. If both exist, new ones replace old..
sub save_directives
{
local(@old) = @{$_[1]};
local(@new) = @{$_[2]};
$lref = &read_file_lines($config{'sendmail_cf'});
for($i=0; $i<@old || $i<@new; $i++) {
	if ($i >= @old) {
		# A new directive has been added.. put it at the end of the file
		$new[$i]->{'line'} = scalar(@$lref);
		$new[$i]->{'eline'} = $new[$i]->{'line'}+1;
		push(@$lref, &directive_line($new[$i]));
		push(@{$_[0]}, $new[$i]);
		}
	elsif ($i >= @new) {
		# A directive was deleted
		$ol = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		splice(@$lref, $old[$i]->{'line'}, $ol);
		&renumber($_[0], $old[$i]->{'eline'}, -$ol);
		splice(@{$_[0]}, &indexof($old[$i], @{$_[0]}), 1);
		}
	else {
		# A directive was changed
		$ol = $old[$i]->{'eline'} - $old[$i]->{'line'} + 1;
		splice(@$lref, $old[$i]->{'line'}, $ol,
		       &directive_line($new[$i]));
		$new[$i]->{'line'} = $new[$i]->{'eline'} = $old[$i]->{'line'};
		&renumber($_[0], $old[$i]->{'eline'}, 1-$ol);
		$_[0]->[&indexof($old[$i], @{$_[0]})] = $new[$i];
		}
	}
}

# directive_line(&details)
sub directive_line
{
return $_[0]->{'type'}.join(' ', @{$_[0]->{'values'}});
}

# renumber(config, line, offset)
sub renumber
{
foreach $d (@{$_[0]}) {
	if ($d->{'line'} > $_[1]) { $d->{'line'} += $_[2]; }
	if ($d->{'eline'} > $_[1]) { $d->{'eline'} += $_[2]; }
	}
}

# find_type(name, &config)
# Returns an array of config directives of some type
sub find_type
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'type'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_option(name, &config)
# Returns the structure and value of some option directive
sub find_option
{
local(@opts, $o);
@opts = &find_type("O", $_[1]);
foreach $o (@opts) {
	if ($o->{'value'} =~ /^\s*([^=]+)=(.*)$/ && $1 eq $_[0]) {
		# found it.. return
		return wantarray ? ($o, $2) : $2;
		}
	}
return undef;
}

# find_type2(type1, type2, &config)
# Returns the structure and value of some directive
sub find_type2
{
local @types = &find_type($_[0], $_[2]);
local $t;
foreach $t (@types) {
	if ($t->{'value'} =~ /^(\S)(.*)$/ && $1 eq $_[1]) {
		return ($t, $2);
		}
	}
return undef;
}

# restart_sendmail()
# Send a SIGHUP to sendmail
sub restart_sendmail
{
local($pid);
if (open(PID, $config{'sendmail_pid'})) {
	chop($pid = <PID>);
	close(PID);
	if ($pid) { &kill_logged('HUP', $pid); }
	}
else { &kill_logged('HUP', &find_byname("sendmail")); }
}

# run_makemap(textfile, dbmfile, type)
sub run_makemap
{
local($out);
$out = &backquote_logged("$config{'makemap_path'} $_[2] $_[1] <\"$_[0]\" 2>&1");
if ($?) { &error("makemap failed : <pre>$out</pre>"); }
}

# find_textfile(config, dbm)
sub find_textfile
{
local($conf, $dbm) = @_;
if ($conf) { return $conf; }
elsif (!$dbm) { return undef; }
elsif ($dbm =~ /^(.*)\.(db|dbm|pag|dir|hash)$/i && -r $1) {
	# Database is like /etc/virtusertable.db, text is /etc/virtusertable
	return $1;
	}
elsif ($dbm =~ /^(.*)\.(db|dbm|pag|dir|hash)$/i && -r "$1.txt") {
	# Database is like /etc/virtusertable.db, text is /etc/virtusertable.txt
	return "$1.txt";
	}
elsif (-r "$dbm.txt") {
	# Database is like /etc/virtusertable, text is /etc/virtusertable.txt
	return "$dbm.txt";
	}
else {
	# Text and database have same name
	return $dbm;
	}
}

# mailq_dir($conf)
sub mailq_dir
{
local ($opt, $mqueue) = &find_option("QueueDirectory", $_[0]);
if (!$mqueue) { return ( "/var/spool/mqueue" ); }
elsif ($mqueue =~ /\*|\?/) {
	return split(/\s+/, `echo $mqueue`);
	}
else {
	return ( $mqueue );
	}
}

sub sort_by_domain
{
local ($a1, $a2, $b1, $b2);
if ($a->{'from'} =~ /^(.*)\@(.*)$/ && (($a1, $a2) = ($1, $2)) &&
    $b->{'from'} =~ /^(.*)\@(.*)$/ && (($b1, $b2) = ($1, $2))) {
	return $a2 cmp $b2 ? $a2 cmp $b2 : $a1 cmp $b1;
	}
else {
	return $a->{'from'} cmp $b->{'from'};
	}
}

1;

  07070100021530000081e40000000000000002000000013d1fe2d4000001f9000000200000000000000000000000000000001900000003reloc/sendmail/start.cgi  #!/usr/local/bin/perl
# start.cgi
# Start sendmail

require './sendmail-lib.pl';
$access{'stop'} || &error("You are not allowed to start sendmail");
$whatfailed = "Failed to start sendmail";
if ($config{'sendmail_stop_command'}) {
	# Make sure any init script lock files are gone
	&backquote_logged("$config{'sendmail_stop_command'} </dev/null 2>&1");
	}
$out = &backquote_logged("$config{'sendmail_command'} </dev/null 2>&1");
if ($?) { &error("<pre>$out</pre>"); }
&webmin_log("start");
&redirect("");

   07070100021531000081e40000000000000002000000013d1fe2d3000001f3000000200000000000000000000000000000001800000003reloc/sendmail/stop.cgi   #!/usr/local/bin/perl
# stop.cgi
# Stop the running sendmail process

require './sendmail-lib.pl';
&ReadParse();
$access{'stop'} || &error("You are not allowed to stop sendmail");
$whatfailed = "Failed to stop sendmail";
if ($config{'sendmail_stop_command'}) {
	$out = &backquote_logged("$config{'sendmail_stop_command'} </dev/null 2>&1");
	if ($?) { &error("<pre>$out</pre>"); }
	}
else {
	&kill_logged('KILL', $in{'pid'});
	unlink($config{'sendmail_pid'});
	}
&webmin_log("stop");
&redirect("");

 07070100021532000081a40000000000000002000000013d1fe2d30000046b000000200000000000000000000000000000002300000003reloc/sendmail/useradmin_update.pl    
do 'sendmail-lib.pl';
do 'aliases-lib.pl';

# useradmin_create_user(&details)
sub useradmin_create_user
{
}

# useradmin_delete_user(&details)
# Delete this user's mail file and remove from any aliases
sub useradmin_delete_user
{
local $dir = $config{'mail_dir'};
if ($dir && -d $dir) {
	unlink("$dir/$_[0]->{'user'}");
	unlink("$dir/.$_[0]->{'user'}.pop");
	}
local $conf = &get_sendmailcf();
local $afile = &aliases_file($conf);
local @aliases = &list_aliases($afile);
foreach $a (@aliases) {
	return if ($a->{'name'} eq $_[0]->{'user'});
	}
foreach $a (@aliases) {
	local @nv = grep { $_ ne $_[0]->{'user'} } @{$a->{'values'}};
	if (scalar(@nv) != scalar(@{$a->{'values'}})) {
		$a->{'values'} = \@nv;
		&modify_alias($a, $a);
		}
	}
}

# useradmin_modify_user(&details)
sub useradmin_modify_user
{
local $dir = $config{'mail_dir'};
if ($dir && -d $dir) {
	local $mfile = "$dir/$_[0]->{'olduser'}";
	local @st = stat($mfile);
	if ($st[4] != $_[0]->{'uid'}) {
		chown($_[0]->{'uid'}, $st[5], $mfile);
		}
	if ($_[0]->{'olduser'} ne $_[0]->{'user'} && -r $mfile) {
		&rename_logged($mfile, "$dir/$_[0]->{'user'}");
		}
	}
}

1;

 07070100021533000081e40000000000000002000000013d1fe2d300001b07000000200000000000000000000000000000001d00000003reloc/sendmail/view_mail.cgi  #!/usr/local/bin/perl
# view_mail.cgi
# View a single email message 

require './sendmail-lib.pl';
require './boxes-lib.pl';

$force_charset = '';
&ReadParse();
&can_read_mail($in{'user'}) || &error($text{'view_ecannot'});

$sentbox = $in{'user'} eq $access{'sent'};
&header($text{'view_title'}, "");
@mail = &list_mails($in{'user'}, $in{'idx'}, $in{'idx'});
$mail = $mail[$in{'idx'}];
&parse_mail($mail);
@sub = split(/\0/, $in{'sub'});
$subs = join("", map { "&sub=$_" } @sub);
foreach $s (@sub) {
	# We are looking at a mail within a mail ..
	local $amail = &extract_mail($mail->{'attach'}->[$s]->{'data'});
	&parse_mail($amail);
	$mail = $amail;
	}

if ($config{'track_read'}) {
	dbmopen(%read, "$module_config_directory/$in{'user'}.read", 0600);
	$read{$mail->{'header'}->{'message-id'}} = 1
		if (!$read{$mail->{'header'}->{'message-id'}});
	}

print "<center>\n";
if (!@sub) {
	if ($in{'idx'}) {
		print "<a href='view_mail.cgi?user=$in{'user'}&idx=",
		      $in{'idx'}-1,"'><img src=/images/left.gif border=0 ",
		      "align=middle></a>\n";
		}
	@uinfo = getpwnam($in{'user'});
	print "<font size=+1>",
	      $sentbox ? &text('view_sent', $in{'idx'}+1) :
	      $access{'boxname'} == 0 ? &text('view_desc', $in{'idx'}+1,
			"<tt>".&user_mail_file($in{'user'})."</tt>") :
	      $access{'boxname'} == 1 ? &text('view_desc2', $in{'idx'}+1,
			$uinfo[6] ? $uinfo[6] : $in{'user'}) :
					&text('view_desc3', $in{'idx'}+1),
	      "</font>\n";
	if ($in{'idx'} < @mail-1) {
		print "<a href='view_mail.cgi?user=$in{'user'}&idx=",
		      $in{'idx'}+1,"'><img src=/images/right.gif border=0 ",
		      "align=middle></a>\n";
		}
	}
else {
	print "<font size=+1>$text{'view_sub'}</font>\n";
	}
print "</center>\n";
print "<hr>\n";

print "<form action=reply_mail.cgi>\n";
print "<input type=hidden name=user value='$in{'user'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

# Find body attachment
@attach = @{$mail->{'attach'}};
foreach $a (@attach) {
	if ($a->{'type'} eq 'text/plain' || $a->{'type'} eq 'text') {
		$body = $a;
		last;
		}
	}
@attach = grep { $_ ne $body } @attach;
@attach = grep { !$_->{'attach'} } @attach;

if ($config{'top_buttons'} == 2 && !@sub) {
	&show_buttons(1);
	print "<p>\n";
	}

print "<table width=100% border=1>\n";
print "<tr> <td $tb><table width=100% cellpadding=0 cellspacing=0><tr>",
      "<td><b>$text{'view_headers'}</b></td>\n";
if ($in{'headers'}) {
	print "<td align=right><a href='view_mail.cgi?user=$in{'user'}&idx=$in{'idx'}&headers=0$subs'>$text{'view_noheaders'}</a></td>\n";
	}
else {
	print "<td align=right><a href='view_mail.cgi?user=$in{'user'}&idx=$in{'idx'}&headers=1$subs'>$text{'view_allheaders'}</a></td>\n";
	}
print "</tr></table></td> </tr>\n";

print "<tr> <td $cb><table width=100%>\n";
if ($in{'headers'}) {
	# Show all the headers
	if ($mail->{'fromline'}) {
		print "<tr> <td><b>$text{'mail_rfc'}</b></td>",
		      "<td>",&eucconv(&html_escape($mail->{'fromline'})),
		      "</td> </tr>\n";
		}
	foreach $h (@{$mail->{'headers'}}) {
		print "<tr> <td><b>$h->[0]:</b></td> ",
		      "<td>",&eucconv(&html_escape(&decode_mimewords($h->[1]))),
		      "</td> </tr>\n";
		}
	}
else {
	# Just show the most useful headers
	print "<tr> <td><b>$text{'mail_from'}</b></td> ",
	      "<td>",&eucconv(&html_escape(&decode_mimewords(
			$mail->{'header'}->{'from'}))),"</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_to'}</b></td> ",
	      "<td>",&eucconv(&html_escape(&decode_mimewords(
			$mail->{'header'}->{'to'}))),"</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_cc'}</b></td> ",
	      "<td>",&eucconv(&html_escape(&decode_mimewords(
			$mail->{'header'}->{'cc'}))),"</td> </tr>\n"
		if ($mail->{'header'}->{'cc'});
	print "<tr> <td><b>$text{'mail_date'}</b></td> ",
	      "<td>",&eucconv(&html_escape($mail->{'header'}->{'date'})),
	      "</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_subject'}</b></td> ",
	      "<td>",&eucconv(&html_escape(&decode_mimewords(
			$mail->{'header'}->{'subject'}))),"</td> </tr>\n";
	}
print "</table></td></tr></table><p>\n";

# Show body attachment
if ($body) {
	print "<table width=100% border=1><tr><td $cb><pre>\n";
	foreach $l (&wrap_lines($body->{'data'}, $config{'wrap_width'})) {
		print &link_urls(&eucconv(&html_escape($l))),"\n";
		}
	print "</pre></td></tr></table><p>\n";
	}

# Display other attachments
if (@attach) {
	print "<table width=100% border=1>\n";
	print "<tr> <td $tb><b>$text{'view_attach'}</b></td> </tr>\n";
	print "<tr> <td $cb>\n";
	foreach $a (@attach) {
		local $fn;
		$size = (int(length($a->{'data'})/1000)+1)." Kb";
		if ($a->{'type'} eq 'message/rfc822') {
			push(@titles, "$text{'view_sub'}<br>$size");
			}
		elsif ($a->{'filename'}) {
			push(@titles, &decode_mimewords($a->{'filename'}).
				      "<br>$size");
			$fn = &decode_mimewords($a->{'filename'});
			}
		else {
			push(@titles, "$a->{'type'}<br>$size");
			$a->{'type'} =~ /\/(\S+)$/;
			$fn = "file.$1";
			}
		$fn =~ s/ /_/g;
		if ($a->{'type'} eq 'message/rfc822') {
			push(@links, "view_mail.cgi?user=$in{'user'}&idx=$in{'idx'}$subs&sub=$a->{'idx'}");
			}
		else {
			push(@links, "detach.cgi/$fn?user=$in{'user'}&idx=$in{'idx'}&attach=$a->{'idx'}$subs");
			}
		push(@icons, "images/boxes.gif");
		}
	&icons_table(\@links, \@titles, \@icons, 8);
	print "</td></tr></table><p>\n";
	}

&show_buttons(2) if (!@sub);
print "</form>\n";

if ($config{'track_read'}) {
	dbmclose(%read);
	}

print "<hr>\n";
local @sr = !@sub ? ( ) :
    ( "view_mail.cgi?user=$in{'user'}&idx=$in{'idx'}", $text{'view_return'} ),
$s = int((@mail - $in{'idx'} - 1) / $config{'perpage'}) * $config{'perpage'};
if ($access{'mmode'} == 2 && $access{'musers'} =~ /^\S+$/ ||
    $access{'mmode'} == 4) {
	&footer(@sr,
		"list_mail.cgi?user=$in{'user'}&start=$s", $text{'mail_return'},
		"", $text{'index_return'});
	}
else {
	&footer(@sr,
		"list_mail.cgi?user=$in{'user'}&start=$s", $text{'mail_return'},
		"list_boxes.cgi", $text{'boxes_return'},
		"", $text{'index_return'});
	}

# show_buttons(pos)
sub show_buttons
{
if ($sentbox) {
	print "<input type=submit value=\"$text{'view_enew'}\" name=enew>\n";
	}
else {
	print "<input type=submit value=\"$text{'view_reply'}\" name=reply>\n";
	print "<input type=submit value=\"$text{'view_reply2'}\" name=rall>\n";
	}
print "<input type=submit value=\"$text{'view_forward'}\" name=forward>\n";
if ($config{'track_read'}) {
	$m = $read{$mail->{'header'}->{'message-id'}};
	print "&nbsp;&nbsp;&nbsp;\n";
	print "<input name=mark$_[0] type=submit value=\"$text{'view_mark'}\">\n";
	print "<select name=mode$_[0]>\n";
	foreach $i (0 .. 2) {
		printf "<option value=%d %s>%s\n",
			$i, $m == $i ? 'selected' : '', $text{"view_mark$i"};
		}
	print "</select>\n";
	}
print "&nbsp;&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'view_delete'}\" name=delete>\n";
if (@attach) {
	print "<input type=submit value=\"$text{'view_strip'}\" name=strip>\n";
	}

}

 07070100021534000081e40000000000000002000000013d1fe2d3000010eb000000200000000000000000000000000000001e00000003reloc/sendmail/view_mailq.cgi #!/usr/local/bin/perl
# view_mailq.cgi
# Display some message from the mail queue

require './sendmail-lib.pl';
require './boxes-lib.pl';
&ReadParse();
$access{'mailq'} || &error($text{'mailq_ecannot'});
$in{'file'} =~ /\.\./ && &error($text{'mailq_ecannot'});
$conf = &get_sendmailcf();
foreach $mqueue (&mailq_dir($conf)) {
	$ok++ if ($in{'file'} =~ /^$mqueue\//);
	}
$ok || &error($text{'mailq_ecannot'});

$qfile = $in{'file'};
($dfile = $qfile) =~ s/\/qf/\/df/;
$mail = &mail_from_queue($qfile, $dfile);
&parse_mail($mail);
@sub = split(/\0/, $in{'sub'});
$subs = join("", map { "&sub=$_" } @sub);
foreach $s (@sub) {
        # We are looking at a mail within a mail ..
        local $amail = &extract_mail($mail->{'attach'}->[$s]->{'data'});
        &parse_mail($amail);
        $mail = $amail;
        }

&header($text{'view_title'}, "");
($name = $in{'file'}) =~ s/^.*\///;
if (!@sub) {
	print "<center><font size=+1>",&text('view_qdesc', "<tt>$name</tt>"),
	      "</font></center>\n";
	}
else {
	print "<center><font size=+1>$text{'view_sub'}</font></center>\n";
	}
print "<hr>\n";

print "<form action=del_mailq.cgi>\n";
print "<input type=submit value=\"$text{'view_delete'}\" name=delete><p>\n"
	if (!@sub && $config{'top_buttons'} == 2);
print "<input type=hidden name=file value='$in{'file'}'>\n";
print "<table width=100% border=1>\n";
print "<tr> <td $tb><table width=100% cellpadding=0 cellspacing=0><tr>",
      "<td><b>$text{'view_headers'}</b></td>\n";
if ($in{'headers'}) {
	print "<td align=right><a href='view_mailq.cgi?file=$in{'file'}&headers=0$subs'>$text{'view_noheaders'}</a></td>\n";
	}
else {
	print "<td align=right><a href='view_mailq.cgi?file=$in{'file'}&headers=1$subs'>$text{'view_allheaders'}</a></td>\n";
	}
print "</tr></table></td> </tr>\n";

print "<tr> <td $cb><table width=100%>\n";
if ($in{'headers'}) {
	# Show all the headers
	if ($mail->{'fromline'}) {
		print "<tr> <td><b>$text{'mail_rfc'}</b></td>",
		      "<td>",&html_escape($mail->{'fromline'}),"</td> </tr>\n";
		}
	foreach $h (@{$mail->{'headers'}}) {
		print "<tr> <td><b>$h->[0]:</b></td> ",
		      "<td>",&html_escape(&decode_mimewords($h->[1])),
		      "</td> </tr>\n";
		}
	}
else {
	# Just show the most useful headers
	print "<tr> <td><b>$text{'mail_from'}</b></td> ",
	      "<td>",&html_escape($mail->{'header'}->{'from'}),"</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_to'}</b></td> ",
	      "<td>",&html_escape($mail->{'header'}->{'to'}),"</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_cc'}</b></td> ",
	      "<td>",&html_escape($mail->{'header'}->{'cc'}),"</td> </tr>\n"
		if ($mail->{'header'}->{'cc'});
	print "<tr> <td><b>$text{'mail_date'}</b></td> ",
	      "<td>",&html_escape($mail->{'header'}->{'date'}),"</td> </tr>\n";
	print "<tr> <td><b>$text{'mail_subject'}</b></td> ",
	      "<td>",&html_escape(
			$mail->{'header'}->{'subject'}),"</td> </tr>\n";
	}
print "</table></td></tr></table><p>\n";

# Find body attachment
@attach = @{$mail->{'attach'}};
foreach $a (@attach) {
	if ($a->{'type'} eq 'text/plain') {
		$body = $a;
		last;
		}
	}
if ($body) {
	print "<table width=100% border=1><tr><td $cb><pre>\n";
	foreach $l (&wrap_lines($body->{'data'}, $config{'wrap_width'})) {
		print &link_urls(&html_escape($l)),"\n";
		}
	print "</pre></td></tr></table><p>\n";
	}

# Display other attachments
@attach = grep { $_ ne $body } @attach;
@attach = grep { !$_->{'attach'} } @attach;
if (@attach) {
	print "<table width=100% border=1>\n";
	print "<tr> <td $tb><b>$text{'view_attach'}</b></td> </tr>\n";
	print "<tr> <td $cb>\n";
	foreach $a (@attach) {
		if ($a->{'type'} eq 'message/rfc822') {
			push(@titles, $text{'view_sub'});
			push(@links, "view_mailq.cgi?file=$qfile$subs&sub=$a->{'idx'}");
			}
		else {
			push(@titles, $a->{'filename'} ?
			    &decode_mimewords($a->{'filename'}) : $a->{'type'});
			push(@links, "qdetach.cgi?file=$qfile&attach=$a->{'idx'}$subs");
			}
		push(@icons, "images/boxes.gif");
		}
	&icons_table(\@links, \@titles, \@icons, 8);
	print "</td></tr></table><p>\n";
	}

# Display buttons
print "<input type=submit value=\"$text{'view_delete'}\" name=delete>\n"
	if (!@sub);
print "</form>\n";

print "<hr>\n";
&footer(!@sub ? ( ) : ( "view_mailq.cgi?file=$qfile", $text{'view_return'} ),
	"list_mailq.cgi", $text{'mailq_return'},
	"", $text{'index_return'});

 07070100021535000081a40000000000000002000000013d1fe2d300001418000000200000000000000000000000000000002000000003reloc/sendmail/virtusers-lib.pl   # virtusers-lib.pl
# Functions for the virtusers table

# virtusers_dbm(&config)
# Returns the filename and type of the virtusers database, or undef if none
sub virtusers_dbm
{
foreach $f (&find_type("K", $_[0])) {
        if ($f->{'value'} =~ /^virtuser\s+(\S+)[^\/]+(\S+)$/) {
		return ($2, $1);
                }
	}
return undef;
}

# virtusers_file(&config)
# Returns the filename of the text virtusers file, or undef if none
sub virtusers_file
{
return &find_textfile($config{'virtusers_file'}, &virtusers_dbm($_[0]));
}

# list_virtusers(textfile)
sub list_virtusers
{
local($lnum, @rv);
$lnum = 0;
open(VIRT, $_[0]);
while(<VIRT>) {
	s/\r|\n//g;     # remove newlines
	s/#.*$//g;	# remove comments
	if (/^(\S+)\s+(.*)/) {
		local(%virt);
		$virt{'from'} = $1;
		$virt{'to'} = $2;
		$virt{'line'} = $lnum;
		$virt{'num'} = scalar(@rv);
		push(@rv, \%virt);
		}
	$lnum++;
	}
close(VIRT);
return @rv;
}

# create_virtuser(&details, textfile, dbmfile, dbmtype)
# Create a new virtuser mapping
sub create_virtuser
{
local(%virt);
open(VIRT, ">> $_[1]");
print VIRT "$_[0]->{'from'}\t$_[0]->{'to'}\n";
close(VIRT);
if ($_[3] eq "dbm") {
	dbmopen(%virt, $_[2], 0644);
	$virt{$_[0]->{'from'}} = $_[0]->{'to'};
	dbmclose(%virt);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# delete_virtuser(&details, textfile, dbmfile, dbmtype)
# Delete an existing virtuser mapping
sub delete_virtuser
{
local(@virt, %virt);
open(VIRT, $_[1]);
@virt = <VIRT>;
close(VIRT);
splice(@virt, $_[0]->{'line'}, 1);
open(VIRT, "> $_[1]");
print VIRT @virt;
close(VIRT);
if ($_[3] eq "dbm") {
	dbmopen(%virt, $_[2], 0644);
	delete($virt{$_[0]->{'from'}});
	dbmclose(%virt);
	}
else { &run_makemap($_[1], $_[2], $_[3]); }
}

# modify_virtuser(&old, &details, textfile, dbmfile, dbmtype)
# Change an existing virtuser
sub modify_virtuser
{
local(@virt, %virt);
open(VIRT, $_[2]);
@virt = <VIRT>;
close(VIRT);
splice(@virt, $_[0]->{'line'}, 1, "$_[1]->{'from'}\t$_[1]->{'to'}\n");
open(VIRT, "> $_[2]");
print VIRT @virt;
close(VIRT);
if ($_[4] eq "dbm") {
	dbmopen(%virt, $_[3], 0644);
	delete($virt{$_[0]->{'from'}});
	$virt{$_[1]->{'from'}} = $_[1]->{'to'};
	dbmclose(%virt);
	}
else { &run_makemap($_[2], $_[3], $_[4]); }
}

# virtuser_form([&details])
sub virtuser_form
{
local($v, $mode, $addr);
$v = $_[0];
print "<form action=save_virtuser.cgi>\n";
if ($_[0]) { print "<input type=hidden name=num value=$v->{'num'}>\n"; }
else { print "<input type=hidden name=new value=1>\n"; }
print "<table border>\n";
print "<tr $tb> <td><b>",$v ? $text{'vform_edit'} : $text{'vform_create'},
      "</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$addr = !$_[0] || $v->{'from'} =~ /^(\S+)\@(\S+)$/;
print "<tr> <td><b>$text{'vform_for'}</b></td>\n";
printf "<td><input type=radio name=from_type value=0 %s> %s</td>\n",
	$addr ? "checked" : "", $text{'vform_address'};
printf "<td><input name=from_addr size=20 value=\"%s\"></td> </tr>\n",
	$addr ? $v->{'from'} : "";
print "<tr> <td></td>\n";
printf "<td><input type=radio name=from_type value=1 %s> %s</td>\n",
	$addr ? "" : "checked", $text{'vform_domain'};
printf "<td><input name=from_dom size=15 value=\"%s\"></td> </tr>\n",
	$addr ? "" : substr($v->{'from'}, 1);

$mode = $v->{'to'} =~ /^error:(\S+)\s*(.*)$/ ? 0 :
	$v->{'to'} =~ /^\%1\@(\S+)$/ ? 1 :
	$v->{'to'} =~ /^(.*)$/ ? 2 : 2;
local $tt = "<b>$text{'vform_to'}</b>";
if ($access{'vedit_2'}) {
	print "<tr> <td>$tt</td>\n";
	printf "<td><input type=radio name=to_type value=2 %s> %s</td>\n",
		$mode == 2 ? "checked" : "", $text{'vform_address'};
	printf "<td><input name=to_addr size=20 value=\"%s\"></td> </tr>\n",
		$mode == 2 ? $1 : "";
	$tt = undef;
	}
if ($access{'vedit_1'}) {
	print "<tr> <td>$tt</td>\n";
	printf "<td><input type=radio name=to_type value=1 %s> %s</td>\n",
		$mode == 1 ? "checked" : "", $text{'vform_domain'};
	printf "<td><input name=to_dom size=15 value=\"%s\"></td> </tr>\n",
		$mode == 1 ? $1 : "";
	$tt = undef;
	}
if ($access{'vedit_0'}) {
	print "<tr> <td>$tt</td>\n";
	printf "<td><input type=radio name=to_type value=0 %s> %s</td>\n",
		$mode == 0 ? "checked" : "", $text{'vform_error'};
	print "<td><select name=to_code>\n";
	foreach $ecode ($text{'vform_err_nouser'}, $text{'vform_err_nohost'},
			$text{'vform_err_unav'}, $text{'vform_err_temp'},
			$text{'vform_err_proto'}) {
		printf "<option %s>$ecode\n", $1 eq $ecode ? "selected" : "";
		}
	print "</select> $text{'vform_msg'}\n";
	printf "<input name=to_error size=15 value=\"%s\"></td> </tr>\n",
		$mode == 0 ? $2 : "";
	$tt = undef;
	}

print "<tr> <td colspan=3 align=right>\n";
if ($_[0]) {
        print "<input type=submit value=\"$text{'save'}\">\n";
        print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
        }
else { print "<input type=submit value=\"$text{'create'}\">\n"; }
print "</td> </tr>\n";
print "</table></td></tr></table></form>\n";
}

# virt_type(string)
# Return the type and destination of some virtuser target
sub virt_type
{
local @rv;
if ($_[0] =~ /^error:(.*)$/) {
	@rv = (0, $1);
	}
elsif ($_[0] =~ /^\%1\@(\S+)$/) {
	@rv = (1, $1);
	}
else {
	@rv = (2, $_[0]);
	}
return wantarray ? @rv : $rv[0];
}

1;

07070100029e8e000041ed0000000000000001000000053d1ffb4b00000000000000200000000000000000000000000000000d00000003reloc/sentry  07070100029e8f000081a40000000000000002000000013d1fe2ea00000182000000200000000000000000000000000000001400000003reloc/sentry/config   portsentry=/usr/local/psionic/portsentry
portsentry_config=/usr/local/psionic/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=
portsentry_stop=
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/local/abacus/hostsentry/hostsentry.py
hostsentry_config=/usr/local/abacus/hostsentry/hostsentry.conf
hostsentry_start=
hostsentry_stop=
logcheck=/usr/local/etc/logcheck.sh
  07070100029e90000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000002100000003reloc/sentry/config-cobalt-linux  portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e91000081a40000000000000002000000013d1fe2ea000001d5000000200000000000000000000000000000002100000003reloc/sentry/config-debian-linux  portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/init.d/portsentry start
portsentry_stop=/etc/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
portsentry_ignore=/etc/portsentry/portsentry.ignore.static
hostsentry=/usr/local/abacus/hostsentry/hostsentry.py
hostsentry_config=/usr/local/abacus/hostsentry/hostsentry.conf
hostsentry_start=
hostsentry_stop=
logcheck=/usr/sbin/logcheck
   07070100029e92000081a40000000000000002000000013d1fe2ea000001a1000000200000000000000000000000000000002100000003reloc/sentry/config-gentoo-linux  portsentry=/usr/bin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/init.d/portsentry start
portsentry_stop=/etc/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/local/abacus/hostsentry/hostsentry.py
hostsentry_config=/usr/local/abacus/hostsentry/hostsentry.conf
hostsentry_start=
hostsentry_stop=
logcheck=/usr/local/etc/logcheck.sh
   07070100029e93000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000002300000003reloc/sentry/config-mandrake-linux    portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e94000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000001e00000003reloc/sentry/config-msc-linux portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e95000081a40000000000000002000000013d1fe2ea000001de000000200000000000000000000000000000001f00000003reloc/sentry/config-open-linux    portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
logcheck=/usr/libexec/logcheck/logcheck.sh
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
  07070100029e96000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000002100000003reloc/sentry/config-redhat-linux  portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e97000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000001f00000003reloc/sentry/config-suse-linux    portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e98000081a40000000000000002000000013d1fe2ea000001d1000000200000000000000000000000000000002000000003reloc/sentry/config-turbo-linux   portsentry=/usr/sbin/portsentry
portsentry_config=/etc/portsentry/portsentry.conf
portsentry_umode=udp
portsentry_start=/etc/rc.d/init.d/portsentry start
portsentry_stop=/etc/rc.d/init.d/portsentry stop
portsentry_pid=
portsentry_tmode=tcp
hostsentry=/usr/lib/hostsentry/hostsentry.py
hostsentry_config=/etc/hostsentry/hostsentry.conf
hostsentry_start=/etc/rc.d/init.d/hostsentry start
hostsentry_stop=/etc/rc.d/init.d/hostsentry stop
logcheck=/usr/bin/logcheck.sh
   07070100029e99000081a40000000000000002000000013d1fe2ea0000036b000000200000000000000000000000000000001900000003reloc/sentry/config.info  sec1=Portsentry Options,11
portsentry=Path to portsentry daemon,0
portsentry_config=Path to portsentry config file,0
portsentry_pid=Portsentry PID file,3,None
portsentry_ignore=Portsentry ignored hosts file,3,Find from config
portsentry_start=Command to start portsentry,3,Run daemons in modes below
portsentry_stop=Command to stop portsentry,3,Kill processes
portsentry_tmode=Portsentry TCP mode,1,tcp-Basic mode,stcp-Stealth mode,atcp-Advanced stealth mode
portsentry_umode=Portsentry UDP mode,1,udp-Basic mode,sudp-Stealth mode,audp-Advanced stealth mode

sec2=Hostsentry Options,11
hostsentry=Path to hostsentry.py python script,0
hostsentry_config=Path to hostsentry config file,0
hostsentry_start=Command to start hostsentry,3,Run python script
hostsentry_stop=Command to stop hostsentry,3,Kill processes

sec3=Logcheck Options,11
logcheck=Path to logcheck.sh script,0
 07070100029e9a000081a40000000000000002000000013d1fe2ea000003f1000000200000000000000000000000000000001c00000003reloc/sentry/config.info.ca   sec1=Opcions de portsentry,11
portsentry=Camí del dimoni portsentry,0
portsentry_config=Camí del fitxer de configuració de portsentry,0
portsentry_pid=Fitxer de PID de portsentry,3,None
portsentry_ignore=Fitxer de hosts ignorats per portsentry,3,Treu-lo de la configuració
portsentry_start=Ordre per iniciar portsentry,3,Executa els dimonis amb els modes de sota
portsentry_stop=Ordre per aturar portsentry,3,Mata els processeo
portsentry_tmode=Mode TCP de portsentry,1,tcp-Mode bàsic,stcp-Mode silenciós,atcp-Mode silenciós avançat
portsentry_umode=Mode UDP de portsentry,1,udp-Mode bàsic,sudp-Mode silenciós,audp-Mode silenciós avançat

sec2=Opcions de hostsentry,11
hostsentry=Camí del script python hostsentry.py,0
hostsentry_config=Camí del fitxer de configuració de hostsentry,0
hostsentry_start=Ordre per iniciar hostsentry,3,Executa el script python
hostsentry_stop=Ordre per aturar hostsentry,3,Mata els processos

sec3=Opcions dels registres de verificació,11
logcheck=Camí del script logcheck.sh,0
   07070100029e9b000081e40000000000000002000000013d1fe2ea00000f7a000000200000000000000000000000000000002100000003reloc/sentry/edit_hostsentry.cgi  #!/usr/local/bin/perl
# edit_hostsentry.cgi
# Display hostsentry options

require './sentry-lib.pl';
&header($text{'hostsentry_title'}, "", "hostsentry", 0, 0, undef,
	&help_search_link("hostsentry", "man", "doc"));
print "<hr>\n";

if (!-r $config{'hostsentry'}) {
	print "<p>",&text('hostsentry_ecommand',
			  "<tt>$config{'hostsentry'}</tt>", 
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# Show configuration form
$conf = &get_hostsentry_config();

print "<form action=save_hostsentry.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'hostsentry_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Show wtmp file
print "<tr> <td><b>$text{'hostsentry_wtmp'}</b></td>\n";
printf "<td colspan=3><input name=wtmp size=50 value='%s'> %s</td> </tr>\n",
	&find_value("WTMP_FILE", $conf),
	&file_chooser_button("wtmp");

# Show users to ignore
$ign = &find_value("IGNORE_FILE", $conf);
print "<tr> <td valign=top><b>$text{'hostsentry_ignore'}</b></td>\n";
print "<td colspan=3><textarea name=ignore rows=5 cols=40>";
open(IGN, $ign);
while(<IGN>) {
	s/#.*$//;
	s/\r|\n//g;
	print &html_escape($_),"\n" if (/\S/);
	}
close(IGN);
print "</textarea></td> </tr>\n";

# Show configured modules
$mods = &find_value("MODULE_FILE", $conf);
open(MODS, $mods);
while(<MODS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@mods, $_) if (/\S/);
	}
close(MODS);
@allmods = &list_hostsentry_modules($conf);
print "<tr> <td valign=top><b>$text{'hostsentry_mods'}</b></td>\n";
print "<td colspan=3>\n";
for($i=0; $i<@allmods || $i<@mods; $i++) {
	print $i+1,". ";
	print "<select name=mod_$i>\n";
	printf "<option value='' %s>%s\n",
		$mods[$i] ? "" : "selected", "&nbsp;";
	foreach $a (@allmods) {
		local $t = $text{'mod_'.$a};
		printf "<option value=%s %s>%s\n",
			$a, $mods[$i] eq $a ? "selected" : "",
			$t ? $t : $a;
		}
	print "<option selected>$mods[$i]\n"
		if ($mods[$i] && &indexof($mods[$i], @allmods) < 0);
	print "</select>\n";
	print "<br>\n" if ($i%2);
	print "&nbsp;&nbsp;" if (!($i%2));
	}
print "</td> </tr>\n";

# Show module-specific options
print "<tr>\n";
$basedir = &get_hostsentry_dir();
if (&indexof("moduleForeignDomain", @mods) >= 0) {
	print "<td valign=top colspan=2 width=50%><b>$text{'hostsentry_foreign'}</b><br>\n";
	print "<textarea name=foreign rows=5 cols=30>";
	open(FOREIGN, "$basedir/moduleForeignDomain.allow");
	while(<FOREIGN>) {
		s/\r|\n//g;
		s/#.*$//;
		print &html_escape($_),"\n" if (/\S/);
		}
	close(FOREIGN);
	print "</textarea></td>\n";
	}
if (&indexof("moduleMultipleLogins", @mods) >= 0) {
	print "<td valign=top colspan=2 width=50%><b>$text{'hostsentry_multiple'}</b><br>\n";
	print "<textarea name=multiple rows=5 cols=30>";
	open(MULTIPLE, "$basedir/moduleMultipleLogins.allow");
	while(<MULTIPLE>) {
		s/\r|\n//g;
		s/#.*$//;
		print &html_escape($_),"\n" if (/\S/);
		}
	close(MULTIPLE);
	print "</textarea></td>\n";
	}
print "</tr>\n";

print "</table></td></tr></table><br>\n";

$pid = &get_hostsentry_pid();
if ($pid) {
	print "<input type=submit name=apply value='$text{'hostsentry_save'}'></form>\n";
	}
else {
	print "<input type=submit value='$text{'save'}'></form>\n";
	}

# Show start/stop buttons
print "<hr>\n";
print "<table width=100%>\n";
$cmd = &hostsentry_start_cmd();
if ($pid) {
	# Running .. offer to stop
	print "<form action=stop_hostsentry.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value='$text{'hostsentry_stop'}'></td>\n";
	print "<td>$text{'hostsentry_stopdesc'}</td> </tr>\n";
	print "</form>\n";
	}
else {
	# Not running .. offer to start
	print "<form action=start_hostsentry.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value='$text{'hostsentry_start'}'></td>\n";
	print "<td>",&text('hostsentry_startdesc', "<tt>$cmd</tt>"),
	      "</td> </tr> </form>\n";
	}
print "</table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100029e9c000081e40000000000000002000000013d1fe2ea00000fcc000000200000000000000000000000000000001f00000003reloc/sentry/edit_logcheck.cgi    #!/usr/local/bin/perl
# edit_logcheck.cgi
# Display logcheck configuration menu

require './sentry-lib.pl';

if (!-x $config{'logcheck'}) {
	&header($text{'logcheck_title'}, "");
	print "<hr>\n";
	print "<p>",&text('logcheck_ecommand',
			  "<tt>$config{'logcheck'}</tt>", 
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

&header($text{'logcheck_title'}, "", "logcheck", 0, 0, undef,
	&help_search_link("logcheck", "man", "doc"));
print "<hr>\n";

# Show configuration form
$conf = &get_logcheck_config();

print "<form action=save_logcheck.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'logcheck_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$to = &find_value("SYSADMIN", $conf, 1);
print "<tr> <td><b>$text{'logcheck_to'}</b></td>\n";
printf "<td colspan=2><input name=to size=50 value='%s'></td> </tr>\n", $to;

$hacking = &find_value("HACKING_FILE", $conf, 1);
$hacking = &find_value("CRACKING_FILE", $conf, 1) if (!$hacking);
print "<tr> <td width=33% valign=top><b>$text{'logcheck_hacking'}</b><br>\n";
print "<textarea name=hacking rows=20 cols=20>";
open(HACKING, $hacking);
while(<HACKING>) {
	s/\r|\n//g;
	print &html_escape($_),"\n";
	}
close(HACKING);
print "</textarea></td>\n";

$violations = &find_value("VIOLATIONS_FILE", $conf, 1);
print "<td width=33% valign=top><b>$text{'logcheck_violations'}</b><br>\n";
print "<textarea name=violations rows=10 cols=20>";
open(VIOLATIONS, $violations);
while(<VIOLATIONS>) {
	s/\r|\n//g;
	print &html_escape($_),"\n";
	}
close(VIOLATIONS);
print "</textarea><br>\n";
$violations_ign = &find_value("VIOLATIONS_IGNORE_FILE", $conf, 1);
print "<b>$text{'logcheck_violations_ign'}</b><br>\n";
print "<textarea name=violations_ign rows=7 cols=20>";
open(IGNORE, $violations_ign);
while(<IGNORE>) {
	s/\r|\n//g;
	print &html_escape($_),"\n";
	}
close(IGNORE);
print "</textarea></td>\n";

$ignore = &find_value("IGNORE_FILE", $conf, 1);
print "<td width=33% valign=top><b>$text{'logcheck_ignore'}</b><br>\n";
print "<textarea name=ignore rows=20 cols=20>";
open(IGNORE, $ignore);
while(<IGNORE>) {
	s/\r|\n//g;
	print &html_escape($_),"\n";
	}
close(IGNORE);
print "</textarea></td> </tr>\n";

# Display files being monitored
open(CHECK, $config{'logcheck'});
while(<CHECK>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^\s*(\$LOGTAIL|\S*logtail)\s+(\S+)/) {
		push(@logfiles, $2);
		}
	}
close(CHECK);
if (@logfiles) {
	print "<tr> <td><b>$text{'logcheck_files'}</b></td>\n";
	print "<td colspan=2>",join("&nbsp;&nbsp;&nbsp;",
			map { "<tt>$_</tt>" } @logfiles),"</td> </tr>\n";
	}

# Display run times for logcheck
&foreign_require("cron", "cron-lib.pl");
@jobs = &cron::list_cron_jobs();
JOB: foreach $j (@jobs) {
	local $rpd;
	if ($j->{'command'} =~ /$config{'logcheck'}/) {
		$job = $j;
		last;
		}
	elsif ($rpd = &cron::is_run_parts($j->{'command'})) {
		local @exp = &cron::expand_run_parts($rpd);
		foreach $e (@exp) {
			if ($e =~ /logcheck/) {
				# Cannot change this :(
				$runparts = $e;
				last JOB;
				}
			}
		}
	}
if ($runparts) {
	print "<tr> <td colspan=3>",&text('logcheck_runparts',
				"<tt>$runparts</tt>"),"</td> </tr>\n";
	print "<input type=hidden name=runparts value='1'>\n";
	}
else {
	print "<input type=hidden name=job value='$job->{'index'}'>\n"
		if ($job);
	print "<tr> <td colspan=3>\n";
	$job = { 'mins' => 0,
		 'hours' => '*',
		 'days' => '*',
		 'months' => '*',
		 'weekdays' => '*' } if (!$job);
	printf "<input type=radio name=active value=0 %s> %s\n",
		$job->{'active'} ? "" : "checked", $text{'logcheck_disabled'};
	printf "<input type=radio name=active value=1 %s> %s<br>\n",
		$job->{'active'} ? "checked" : "", $text{'logcheck_enabled'};
	print "<table border width=100%>\n";
	&cron::show_times_input($job);
	print "</table></td> </tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value='$text{'logcheck_save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100029e9d000081e40000000000000002000000013d1fe2ea000015e6000000200000000000000000000000000000002100000003reloc/sentry/edit_portsentry.cgi  #!/usr/local/bin/perl
# edit_portsentry.cgi
# Display portsentry configuration menu

require './sentry-lib.pl';

$path = &has_command($config{'portsentry'});
if (!$path) {
	&header($text{'portsentry_title'}, "");
	print "<hr>\n";
	print "<p>",&text('portsentry_ecommand',
			  "<tt>$config{'portsentry'}</tt>", 
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

&read_file("$module_config_directory/portsentry", \%portsentry);
@st = stat($path);
if ($st[7] != $portsentry{'size'} || $st[9] != $portsentry{'mtime'}) {
	$out = `$config{'portsentry'} -v 2>&1`;
	if ($out !~ /Version:\s+(\S+)/) {
		&header($text{'portsentry_title'}, "");
		print "<hr>\n";
		print "<p>",&text('portsentry_eversion',
				  "<tt>$config{'portsentry'}</tt>", 
				  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}
	$portsentry{'version'} = $1;
	$portsentry{'size'} = $st[7];
	$portsentry{'mtime'} = $st[9];
	&write_file("$module_config_directory/portsentry", \%portsentry);
	}

&header($text{'portsentry_title'}, "", "portsentry", 0, 0, undef,
	&help_search_link("portsentry", "man", "doc"), undef, undef,
	&text('portsentry_version', $portsentry{'version'}));
print "<hr>\n";

if ($portsentry{'version'} > 2) {
	print "<p>",&text('portsentry_eversion2',
			  "<tt>$config{'portsentry'}</tt>",
			  $portsentry{'version'}),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# Show configuration form
$conf = &get_portsentry_config();

print "<form action=save_portsentry.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'portsentry_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$tcp_ports = &find_value("TCP_PORTS", $conf);
$udp_ports = &find_value("UDP_PORTS", $conf);
$tcp_adv = &find_value("ADVANCED_PORTS_TCP", $conf);
$udp_adv = &find_value("ADVANCED_PORTS_UDP", $conf);
$tcp_exc = &find_value("ADVANCED_EXCLUDE_TCP", $conf);
$udp_exc = &find_value("ADVANCED_EXCLUDE_UDP", $conf);

print "<tr> <td valign=top><b>$text{'portsentry_tmode'}</b></td> <td>\n";
printf "%s <input name=tports size=50 value='%s'><br>\n",
	$text{'portsentry_mode0'},
	join(" ", split(/,/, $tcp_ports));
$tcp_exc = join(" ", split(/,/, $tcp_exc));
print &text('portsentry_mode1',
	    "<input name=tadv size=8 value='$tcp_adv'>",
	    "<input name=texc size=20 value='$tcp_exc'>"),"</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'portsentry_umode'}</b></td> <td>\n";
printf "%s <input name=uports size=50 value='%s'><br>\n",
	$text{'portsentry_mode0'},
	join(" ", split(/,/, $udp_ports));
$udp_exc = join(" ", split(/,/, $udp_exc));
print &text('portsentry_mode1',
	    "<input name=uadv size=8 value='$udp_adv'>",
	    "<input name=uexc size=20 value='$udp_exc'>"),"</td> </tr>\n";

$tblock = &find_value("BLOCK_TCP", $conf);
print "<tr> <td><b>$text{'portsentry_tblock'}</b></td> <td>\n";
printf "<input type=radio name=tblock value=1 %s> $text{'yes'}\n",
	$tblock == 1 ? "checked" : "";
printf "<input type=radio name=tblock value=0 %s> $text{'no'}\n",
	$tblock == 0 ? "checked" : "";
printf "<input type=radio name=tblock value=2 %s> $text{'portsentry_kill'}\n",
	$tblock == 2 ? "checked" : "";
print "</td> </tr>\n";

$ublock = &find_value("BLOCK_UDP", $conf);
print "<tr> <td><b>$text{'portsentry_ublock'}</b></td> <td>\n";
printf "<input type=radio name=ublock value=1 %s> $text{'yes'}\n",
	$ublock == 1 ? "checked" : "";
printf "<input type=radio name=ublock value=0 %s> $text{'no'}\n",
	$ublock == 0 ? "checked" : "";
printf "<input type=radio name=ublock value=2 %s> $text{'portsentry_kill'}\n",
	$ublock == 2 ? "checked" : "";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'portsentry_banner'}</b></td>\n";
printf "<td><input name=banner size=50 value='%s'></td> </tr>\n",
	&find_value("PORT_BANNER", $conf);

print "<tr> <td><b>$text{'portsentry_trigger'}</b></td>\n";
printf "<td><input name=trigger size=6 value='%s'></td> </tr>\n",
	&find_value("SCAN_TRIGGER", $conf);

print "<tr> <td valign=top><b>$text{'portsentry_ignore'}</b></td>\n";
print "<td><textarea name=ignore rows=5 cols=50>\n";
if ($config{'portsentry_ignore'}) {
	$ign = $config{'portsentry_ignore'};
	}
else {
	$ign = &find_value("IGNORE_FILE", $conf);
	}
$lnum = 0;
open(IGN, $ign);
while(<IGN>) {
	if (/Do NOT edit below this/i) {
		$editbelow = $lnum-1;
		last;
		}
	s/#.*$//;
	print &html_escape($_) if (/\S/);
	$lnum++;
	}
close(IGN);
print "</textarea></td> </tr></table>\n";
print "<input type=hidden name=editbelow value='$editbelow'>\n"
	if (defined($editbelow));
print "</td></tr></table>\n";

@pids = &get_portsentry_pids();
if (@pids) {
	print "<input type=submit name=apply value='$text{'portsentry_save'}'></form>\n";
	}
else {
	print "<input type=submit value='$text{'save'}'></form>\n";
	}

# Show start/stop buttons
print "<hr>\n";
print "<table width=100%>\n";
$cmd = &portsentry_start_cmd();
if (@pids) {
	# Running .. offer to stop
	print "<form action=stop_portsentry.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value='$text{'portsentry_stop'}'></td>\n";
	print "<td>$text{'portsentry_stopdesc'}</td> </tr>\n";
	print "</form>\n";
	}
else {
	# Not running .. offer to start
	print "<form action=start_portsentry.cgi>\n";
	print "<tr> <td><input type=submit ",
	      "value='$text{'portsentry_start'}'></td>\n";
	print "<td>",&text('portsentry_startdesc', "<tt>$cmd</tt>"),
	      "</td> </tr> </form>\n";
	}
print "</table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010001e7fa000041ed0000000000000001000000023d1ffb4a00000000000000200000000000000000000000000000001200000003reloc/sentry/help 0707010001e7fb000081a40000000000000002000000013d1fe2ea0000071d000000200000000000000000000000000000002500000003reloc/sentry/help/hostsentry.ca.html  <header>Configuració de Hostsentry</header>

Hostsentry és una eina de detecció d'intrusions basada en el host
que executa deteccions d'anomalies en les entrades. Això vol dir que 
monitoritza els usuaris que entren i surten del servidor i enregistra
les conductes sospitoses, tal i com es defineixen amb les opcions
triades en aquesta pàgina. <p>

Les opcions disponibles són:
<ul>
<li><b>Fitxer de registre d'entrades</b><br>
   El fitxer del sistema que enregistra les entrades i les sortides.
   En general, aquesta opció no s'ha de canviar. <p>

<li><b>Usuaris l'entrada dels quals cal ignorar</b><br>
   Hostsentry no monitoritzarà les entrades dels usuaris llistats en
   aquest camp. <p>

<li><b>Mòduls de Hostsentry per ordre de processament</b><br>
   Hostsentry té un disseny modular, en el qual cada mòdul executa un
   tipus específic de detecció d'anomalies. Aquesta secció permet triar
   quins mòduls s'utilitzen, i l'ordre amb què s'executen a l'hora de 
   processar entrades i sortides. <p>

<li><b>Hosts que es consideren no forasters</b><br>
   Si el mòdul 'Detecta l'entrada des d'un domini foraster' està activat,
   tots els hosts excepte els que estiguin en aquest camp es consideraran
   forasters i, per tant, subjectes a registre. <p>

<li><b>Hosts les entrades múltiples dels quals són fiables</b><br>
   Si el mòdul 'Detecta entrades múltiples simultànies' està activat,
   dues o més entrades del mateix usuari al mateix temps des d'un host
   que no estigui a la llista, seran enregistrades. <p>
</ul>

Al peu de la pàgina, hi ha un botó per iniciar Hostsentry (si no s'està
executant) o bé aturar-lo (si s'està executant). Com que Hostsentry
s'executa com un procés en segon pla (o dimoni), si no s'està executant
no es farà cap monitorització de les entrades i les sortides. <p>

<hr>


   0707010001e802000081a40000000000000002000000013d1fe2ea00000672000000200000000000000000000000000000002200000003reloc/sentry/help/hostsentry.html <header>Hostsentry Configuration</header>

Hostsentry is a host based intrusion detection tool that performs login
anomaly detection. This means that it monitors users logging into and out
of your server and logs suspicious behaviour, as defined by the options
chosen on this page. <p>

The available options are :
<ul>
<li><b>Logins record file</b><br>
    The file on your system in which logins and logouts are recorded. Generally,
    this option should not be changed. <p>

<li><b>Users to ignore logins by</b><br>
    Any users listed in this field will not have their logins monitored by
    Hostsentry. <p>

<li><b>Hostsentry modules in processing order</b><br>
    Hostsentry has a modular design, in which each module performs a specific
    type of login anomaly detection. This section allows you to choose which
    modules are used, and the order in which they are run to process logins
    and logouts. <p>

<li><b>Hosts not to consider foreign</b><br>
    If the 'Detect login from foreign domain' module is enabled, all hosts
    except those in this field will be considered foreign and thus subject
    to reporting. <p>

<li><b>Hosts to trust multiple logins from</b><br>
    If the 'Detect multiple similtaneous logins' module is enabled, two or
    more logins by the same user at the same time from a host not in this
    list will be reported. <p>
</ul>

At the bottom of the page is a button for either starting Hostsentry (if it
is not running), or stopping it (if it is running). Because Hostsentry runs
as a background process (or daemon), if it is not running no monitoring of
logins and logouts will be done. <p>

<hr>

  0707010001e81c000081a40000000000000002000000013d1fe2ea0000016b000000200000000000000000000000000000002000000003reloc/sentry/help/intro.ca.html   <header>Sentinelles de Seguretat</header>

Aquest mòdul permet configurar el conjunt Trisentry de programes de 
seguretat de Psionic Technologies. Aquests tres programes (<tt>portsentry</tt>,
<tt>hostsentry</tt> i <tt>logcheck</tt>) es poden utilitzar per detectar
automàticament violacions de seguretat al sistema i notificar-les a 
l'administrador. <p>

<hr>


 0707010001e81d000081a40000000000000002000000013d1fe2ea00000164000000200000000000000000000000000000001d00000003reloc/sentry/help/intro.html  <header>Security Sentries</header>

This module allows you to configure the Trisentry suite of security programs
from Psionic Technologies. These three programs (<tt>portsentry</tt>,
<tt>hostsentry</tt> and <tt>logcheck</tt>) can be used to automatically
detect security violations on your system and notify the system administrator
about them. <p>

<hr>

0707010001e820000081a40000000000000002000000013d1fe2ea0000059c000000200000000000000000000000000000002300000003reloc/sentry/help/logcheck.ca.html    <header>Configuració de Logcheck</header>

Logcheck és un programa que monitoritza automàticament els fitxers de
registre del sistema de forma regular i notifica per correu les violacions
de seguretat. Busca els missatges generats per diversos programes
(incloent-hi Portsentry i Hostsentry) que indiquen intents de pirateig,
i genera un informe que s'envia per correu a l'adreça escollida. <p>

Les opcions d'aquesta pàgina són:
<ul>
<li><b>Envia els informes a<br>
   L'adreça de correu on s'envien els informes de violació de seguretat. <p>

<li><b>Missatges de registre de pirateig</b><br>
   Una llista de missatges que, trobats en algun dels fitxers de registres,
   indiquen un intent de pirateig. <p>

<li><b>Missatges de registre de violació</b><br>
   Una llista de missatges que indiquen una violació potencial de seguretat.
   Tots els missatges que estiguin en aquesta llista excepte els de la llista
   'Excepte' de sota seran ignorats. <p>

<li><b>Missatges de registre ignorats</b><br>
   Tots els missatges de registre d'aquest camp seran sempre ignorats,
   fins i tot si coincideixen amb una de les cadenes de missatges de 
   violació o pirateig. <p>
</ul>

Al peu de la pàgina, hi ha un formulari per triar exactament quan s'ha
d'executar Logcheck. De tota manera, si la instal·lació de Logcheck fa
servir un script cron que el força a executar-se cada hora o cada dia, 
aquest formulari no es mostrarà. <p>

<p>


0707010001e825000081a40000000000000002000000013d1fe2ea000004f1000000200000000000000000000000000000002000000003reloc/sentry/help/logcheck.html   <header>Logcheck Configuration</header>

Logcheck is a program that automatically monitors your system logfiles on
a regular basis and emails security violations to you. It looks for messages
generated by various programs (including Portsentry and Hostsentry) that
indicate a hacking attempt, and generates a report which is emailed to
the chosen address. <p>

The options on this page are :
<ul>
<li><b>Email reports to</b><br>
    The email address to which security violation reports and sent. <p>

<li><b>Hacking log messages</b><br>
    A list of messages which if found in one of the system log files indicate
    a hacking attempt. <p>

<li><b>Violation log messages</b><br>
    A list of messages that indicate a potential security violation. Any message
    that is on this list but also in the 'Except for' list below it will be
    ignored. <p>

<li><b>Ignored log messages</b><br>
    Any log message listed in this field will always be ignored, even if it
    matches one of the hacking or violation message strings. <p>
</ul>

At the bottom of the page is a form for choosing exactly when Logcheck
should be run. However, if your Logcheck install uses a Cron script that
forces it to be run hourly or daily, this form will not be displayed. <p>

<p>

   0707010001e827000081a40000000000000002000000013d1fe2ea0000099b000000200000000000000000000000000000002500000003reloc/sentry/help/portsentry.ca.html  <header>Configuració de Portsentry</header>

Portsentry és un programa dissenyat per detectar i respondre a l'escaneig 
de ports contra un host objectiu en temps real. Pot fer-ho de dues maneres 
- escoltant un conjunt de ports seleccionats (mode bàsic), o bé monitoritzant
tots els ports per sota d'un número triat. Quan es detecta una connexió en
un dels ports monitoritzats, Portsentry enregistra l'esdeveniment als
fitxers de registre i, opcionalment, pren una acció per bloquejar tot
tràfic futur des del host remot. <p>

Les opcions d'aquesta pàgina són:
<ul>
<li><b>Ports TCP a monitoritzar</b><br>
   En mode bàsic, Portsentry escoltarà tots els ports TCP llistats a la
   primera línia d'aquesta opció. En mode avançat, escoltarà tots els
   ports per sota del número introduït a la segona línia, excloent-ne
   els llistats al camp 'execepte'. <p>
  
<li><b>Ports UDP a monitoritzar</b><br>
   Com l'opció de ports TCP, però controla quins ports UDP es monitoritzen. <p>

<li><b>Bloqueja sondes TCP</b><br>
   Aquesta opció controla quina acció ha de prendre Portsentry quan detecta
   una connexió TCP a un dels ports monitoritzats. Les tries són Sí
   (bloqueja les connexions futures des del host), No (no fa res) o bé
   executa l'ordre 'kill' (executa una ordre especificada al fitxer de
   configuració). En tots els casos, la connexió s'enregistra als registres
   del sistema. <p>

<li><b>Bloqueja sondes UDP</b><br>
   Igual que l'opció de sondes TCP, però controla el que passa quan es
   detecta una connexió UDP. <p>

<li><b>Missatge per a les connexions bloquejades</b><br>
   Quan Portsentry està escoltant un port, totes les connexions rebudes
   rebran aquest missatge de tornada abans de tancar la connexió. <p>

<li><b>Nombre de connexions abans d'activar el bloqueig</b><br>
   El nombre de connexions 'de gràcia' que un host té permès de fer a un
   port monitoritzat abans que sigui bloquejat. Si es posa a zero, la
   primera connexió activarà el bloqueig. <p>

<li><b>Hosts el trànsit dels quals cal ignorar</b><br>
   Les adreces IP, noms de host o adreces IP/màscares dels hosts i xarxes
   el trànsit dels quals s'ignora. <p>

</ul>

Al peu de la pàgina, hi ha un botó per iniciar Portsentry (si no s'està
executant) o bé aturar-lo (si s'està executant). Com que Portsentry
s'executa com un parell de processos en segon pla (o dimonis), si no està
en execució no es farà cap monitorització d'escaneig de ports. <p>

<hr>


 0707010001e828000081a40000000000000002000000013d1fe2ea00000925000000200000000000000000000000000000002200000003reloc/sentry/help/portsentry.html <header>Portsentry Configuration</header>

Portsentry is a program designed to detect and repond to port scans against
a target host in real time. It can do this in two ways - by listening on
a set of selected ports (basic mode), or by monitoring all ports below
a choice number. When a connection on one of the monitored ports is
detected, Portsentry records the event in the logs and optionally
takes action to block all further traffic from the connecting host. <p>

The options on this page are :
<ul>
<li><b>TCP ports to monitor</b><br>
    When in basic mode, Portsentry will listen on all the TCP ports listed in
    the first line for this option. In advanced mode, it will listen on
    all ports below the number entered on the second line, excluding those
    listed in the 'except' field. <p>
    
<li><b>UDP ports to monitor</b><br>
    Like the TCP ports option, but controls which UDP ports are monitored. <p>

<li><b>Block TCP probes</b><br>
    This option controls what action Portsentry takes when it detects a
    TCP connection to one of the monitored ports. The choices are
    Yes (block future connections from the host), No (do nothing), or
    Run kill command (run a command specified in the config file). In all
    cases, the connection will be recorded in the system logs. <p>

<li><b>Block UDP probes</b><br>
    Like the Block TCP probes option, but controls what happens when a UDP
    connection is detected. <p>

<li><b>Message for blocked connections</b><br>
    When Portsentry is listening on a port, any connection received will
    have this message send back before the connection is closed. <p>

<li><b>Number of connections before triggering blocking</b><br>
    The number of 'grace' connections that a host is allowed to make to
    a monitored port before the host is blocked. If this is set to zero,
    the first connection will trigger blocking. <p>

<li><b>Hosts to ignore traffic from</b><br>
    The IP addresses, hostnames or IP address/netmasks of hosts and networks
    from which traffic is ignored. <p>

</ul>

At the bottom of the page is a button for either starting Portsentry (if it
is not running), or stopping it (if it is running). Because Portsentry runs
as a pair of background processes (or daemon), if it is not running no
monitoring of port scans will be done. <p>

<hr>

   0707010002b49b000041ed0000000000000001000000023d1ffb4a00000000000000200000000000000000000000000000001400000003reloc/sentry/images   0707010002b4b5000081a40000000000000002000000013d1fe2ea00000186000000200000000000000000000000000000002300000003reloc/sentry/images/hostsentry.gif    GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010002b4b6000081a40000000000000002000000013d1fe2ea00000446000000200000000000000000000000000000001d00000003reloc/sentry/images/icon.gif  GIF89a0 0 Æ  ¦y[‹­·¸”|Á¢§§§þýý«e¶’yÝÍÁóíé®…ik›ª qQñêåõðíæÚÑÛÉ½(((v¢°›»ÄÈ­›ŸnNeee»˜GGGVVVüúùwwwÖÁ³Ã¥‘øôòùöôÙÆ¹½œ†Îµ¥333›››÷òðèÜÕÈÖÚÅ¨•Ð¹©“““ÅËÊY’¤úøö©~aîæà<<<¾žˆ¼ÆÇªÂÉ´uêàÙÖØÖÌ²¡²Œr£uVûùøÚäæ¼›„íäÞâéëáÒÈÙÒË±Šp°‰näÖÍÒ¼­âÔÊ·ÍÓàÐÆ¡µºÊ¯ž¤vXìâÜ§|^Ç«˜ÐÜàãÕÌÄÃ¾×Ã¶Ô¾°éìì»ÐÖ¶¿¾N‹ŸÔËÃýüûË± éÞ×ä×Îº—äáÝµwëáÚÓ½®Í´£Ñº«­ÈÐ³tÐÎÊíïïßÝÚëïððèãÃÎÐåãßÐ¸¨éäßlK¤vW¢sS¼šƒ¯‡lÏ¸§÷óñßÏÄÏ·§»šƒïçâÀ ŠHˆÿÿÿ   ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“†~–—˜™–‡[ƒ[[Ÿ¢Ÿ¥‡š¨›£¬¥§©¨Ž¢¬ °~wš™µ{‡‚¬*:GJ·•–"½L	—‚„/<„[qÛq;É…—;š xÐ(q/…vqžƒÜqÓ¯Ê~qš7˜^qÔƒ#qp£O®8Ï0‘±…BâÔ©U«<oóÀYŠó ‡81 %ØqÛŠÈ”¡åÁ7B—âüÈ„d›B ât ÄgÛ¶^ŠÉðRƒmÌ
ÜÜ±È .Ü l•æÆ8å0åä¡JÅ¶0ƒ^Àk0”«ƒq*dº±­ŒÒþ=¸q‘›— ¦èq‚é·›‚pC0('·i£ÎêÝF$7€ÀC!Œ¼8TWzuLO¸‰TžƒA_.o»à@¨ ¢ÛŠ`ºOÌ Ü*œÄ¦Ì
¾¨ ÂµÒÎM1÷axN
ÙÊ«±ÞeLlà Tá²¢¨[µO¦qÂ{XÖÕæ×È¹¡¸¤ÞBu´ï¡*ž3yxs`òÀeòÆe#´÷Þqÿ„	—ñQM—Q Dqf¡¥ZÜtS—Ð!Á<u$`l–óÖª‘UHN8ƒJ¼°b|ªÍ7ÈB—A€xýÁ×à†l­"Ewð|Ñ^ŠU·¡j	ÒCªá”fNÉM0„8Á$7 | e—^n#d!^„ÏP…fš:’ À	N² ‹tnóÄi‡|€PàÇ*þÉc q¸•ˆ(/˜Y$ƒn8GtØ•áb™ªöE[ò7g¨ÜLTªŸŽ‰*<gj*¨¯N9G.qIk­iòpŸV‹9L×ê°Ä>^°”4ëì³ÐF›H  ;  0707010002b4bd000081a40000000000000002000000013d1fe2ea000001d6000000200000000000000000000000000000002100000003reloc/sentry/images/logcheck.gif  GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  0707010002b4be000081a40000000000000002000000013d1fe2ea0000016a000000200000000000000000000000000000002300000003reloc/sentry/images/portsentry.gif    GIF89a0 0 ã  ™™™ ˆÿÿÿ   ß½‹ú@ ÿÿfffû ÿá\ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù   ,    0 0  þðÉI«½8ëÍ»ÿ`(Ždižhª®lë¾( {€lx®ï|ïçµK@0,‰¿ä/x8ŸOaZ Ê!t@¬•À*¥Z±Ù-Î¦ˆÇÎìO°í¾ax\îS˜yz<GF…9tPvBz<Œ{9~^7„•Ž:ˆOvmn|oŒ;’w7Ÿ‡u¤a–H—¡:£ de‘˜©‰«´¶Q8¹±I“~SÅ‚JÈn®9Ì8§;hh«BIÔÀc×R@ ”…¯;Ò„:ØâäÉ·Ÿ=ìk6ïÁñ<ó«Mßør5øµ2÷`=OÿQ£¡Ã‡ë- AÅ‹3bÜ8abˆC‚”xpF&Sª\É²¥Ë—0cÊ¤ ;  07070100029e9e000081e40000000000000002000000013d1fe2ea0000043f000000200000000000000000000000000000001700000003reloc/sentry/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display icons for portsentry, hostsentry and logcheck options

require './sentry-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1);
print "<hr>\n";

# Find out which programs are installed
if (!&has_command($config{'portsentry'}) &&
    !&has_command($config{'hostsentry'}) &&
    !&has_command($config{'logcheck'})) {
	# None are ..
	print "<p>",&text('index_ecommands',
			  "<tt>$config{'portsentry'}</tt>",
			  "<tt>$config{'hostsentry'}</tt>",
			  "<tt>$config{'logcheck'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	}
else {
	# Show icons
	@links = ( "edit_portsentry.cgi", "edit_hostsentry.cgi",
		   "edit_logcheck.cgi" );
	@titles = ( "$text{'portsentry_title'}<br>$text{'portsentry_below'}",
		    "$text{'hostsentry_title'}<br>$text{'hostsentry_below'}",
		    "$text{'logcheck_title'}<br>$text{'logcheck_below'}" );
	@icons = ( "images/portsentry.gif", "images/hostsentry.gif",
		   "images/logcheck.gif" );
	&icons_table(\@links, \@titles, \@icons);
	}

print "<hr>\n";
&footer("/", $text{'index'});

 0707010002caed000041ed0000000000000001000000023d1ffb4a00000000000000200000000000000000000000000000001200000003reloc/sentry/lang 0707010002caee000081a40000000000000002000000013d1fe2ea00001a5a000000200000000000000000000000000000001500000003reloc/sentry/lang/ca  index_title=Sentinelles de Seguretat
index_ecommands=No s'ha trobat al sistema cap de les ordres de seguretat de <tt>sentry</tt> ($1, $2 or $3). Pot ser que no n'hi hagi cap d'instal·lada, o bé que la <a href='$4'>configuració del mòdul</a> sigui incorrecta.
index_return=al menú de mòduls

portsentry_title=Configuració de Portsentry
portsentry_below=(Detecció d'escaneig de ports)
portsentry_ecommand=No s'ha trobat al sistema el dimoni $1 de Portsentry. Pot ser que no estigui instal·Lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
portsentry_eversion=No sembla que el programa $1 sigui el dimoni de Portsentry. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
portsentry_eversion2=La versió de Portsentry instal·lada al sistema és la $2, però Webmin només suporta la versió 1.
portsentry_version=Versió $1 de Portsentry
portsentry_header=Opcions de la detecció d'escaneig de ports
portsentry_tmode=Ports TCP a monitoritzar
portsentry_mode0=Per al mode bàsic, els ports llistats
portsentry_mode1=Per al mode avançat, tots els ports per sota de $1 excepet $2
portsentry_umode=Ports UDP a monitoritzar
portsentry_ignore=Hosts el trànsit dels quals cal ignorar
portsentry_tblock=Bloqueja sondes TCP
portsentry_ublock=Bloqueja sondes UDP
portsentry_trigger=Nombre de connexions abans d'activar el bloqueig
portsentry_banner=Missatge per a les connexions bloquejades
portsentry_kill=Executa l'ordre <tt>kill</tt>
portsentry_err=No he pogut desar les opcions de Portsentry
portsentry_etports='$1' no és un port TCP de mode bàsic vàlid
portsentry_etadv=Hi falta el port TCP màxim per al mode avançat o bé és invàlid
portsentry_etexc='$1' no és un port TCP exclòs vàlid
portsentry_euports='$1' no és un port UDP de mode bàsic vàlid
portsentry_euadv=Hi falta el port UDP màxim per al mode avançat o bé és invàlid
portsentry_euexc='$1' no és port UDP exclòs vàlid
portsentry_etrigger=Hi falta el nombre de connexions o bé és invàlid
portsentry_eignore='$1' no és cap nom de host ni cap adreça IP vàlida 
portsentry_start=Inicia els Dimonis Portsentry
portsentry_startdesc=Fes clic sobre aquest botó per iniciar els dimonis de Portsentry amb l'ordre $1, fent servir les opcions de configuració superiors.
portsentry_stop=Atura els Dimonis Portsentry
portsentry_stopdesc=Fes clic sobre aquest botó per aturar els dimonis Portsentry en execució. Això aturarà immediatament tota detecció d'escaneig de ports.
portsentry_apply=Aplica la Configuració
portsentry_applydesc=Fes clic sobre aquest botó per aplicar la configuració actual aturant els dimonis de Portsentry i reengegant-los amb l'ordre $1.
portsentry_applyerr=No he pogut aplicar la configuració
portsentry_stoperr=No he pogut aturar portsentry
portsentry_ekill=No he pogut matar els processos $1: $2
portsentry_estopped=Ja no està en execució
portsentry_starterr=No he pogut iniciar portsentry
portsentry_save=Desa i Aplica

hostsentry_title=Configuració de Hostsentry
hostsentry_below=(Detecció d'entrades sospitoses)
hostsentry_ecommand=No s'ha trobat al sistema el script python $1 de portsentry. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
hostsentry_header=Opcions de detecció d'entrades sospitoses
hostsentry_wtmp=Fitxer de registre d'entrades
hostsentry_ignore=Usuaris l'entrada dels quals cal ignorar
hostsentry_mods=Mòduls de Hostsentry <br>per ordre de processament
hostsentry_start=Inicia el Dimoni Hostsentry
hostsentry_startdesc=Fes clic sobre aquest botó per iniciar el dimoni Hostsentry amb l'ordre $1, fent servir les opcions de configuració superiors.
hostsentry_stop=Atura el Dimoni Hostsentry
hostsentry_stopdesc=Fes clic sobre aquest botó per aturar el dimoni Hostsentry en execució. Això aturarà immediatament tota detecció d'entrades sospitoses.
hostsentry_apply=Aplica la Configuració
hostsentry_applydesc=Fes clic sobre aquest botó per aplicar la configuració actual aturant el dimoni Hostsentry i reiniciant-lo amb l'ordre $1.
hostsentry_foreign=Hosts que es consideren no forasters
hostsentry_multiple=Hosts les entrades múltiples dels quals són fiables
hostsentry_applyerr=No he pogut aplicar la configuració
hostsentry_stoperr=No he pogut aturar hostsentry
hostsentry_ekill=No he pogut matar els processos $1: $2
hostsentry_estopped=Ja no està en execució
hostsentry_starterr=No he pogut iniciar hostsentry
hostsentry_save=Desa i Aplica
hostsentry_err=No he pogut desar la configuració de hostsentry
hostsentry_eignore='$1' no és un usuari vàlid
hostsentry_emultiple='$1' no és un host vàlid a partir del qual ignorar les entrades

logcheck_title=Configuració dels Registres de Verificació
logcheck_ecommand=No s'ha trobat al sistema l'ordre de verificació de registres $1. Pot ser que no estigui instal·lada, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
logcheck_below=(Anàlisi de registres sospitosos)
logcheck_header=Opcions de comprovació del fitxer de registres
slogcheck_to=Envia els informes a
logcheck_hacking=Missatges de registre de pirateig
logcheck_violations=Missatges de registre de violació
logcheck_violations_ign=Excepte
logcheck_ignore=Missatges de registre ignorats
logcheck_disabled=Comprovació planificada de registres desactivada
logcheck_enabled=Comprova els registres a intervals seleccionats...
logcheck_save=Desa i Aplica
logcheck_eto=Hi falta l'adreça de correu o bé és invàlida
logcheck_runparts=La comprovació de registres s'executa des de cron amb el script $1
logcheck_files=Fitxers de registre que es monitoritzen

mod_moduleLoginLogout=Enregistra les entrades i les sortides
mod_moduleFirstLogin=Detecta la primera entrada d'un usuari
mod_moduleForeignDomain=Detecta l'entrada des d'un domini foraster
mod_moduleRhostsCheck=Detecta fitxers .rhosts insegurs
mod_moduleHistoryTruncated=Detecta el truncament dels fitxer d'historial
mod_moduleOddDirnames=Detecta directoris arrel estranys
mod_moduleMultipleLogins=Detecta entrades múltiples simultànies
mod_moduleOddLoginTime=Detecta hores d'entrada estranyes
mod_moduleInvalidUtmp=Detecta entrades utmp modificades
mod_moduleHistorySuspicious=Detecta ordres sospitoses als historials
mod_moduleNetworkDaemon=Detecta dimonis que s'han deixat en execució
mod_moduleFileExists=Detecta fitxers sospitosos als directoris arrel

log_hostsentry=He desat la configuració de hostsentry
log_portsentry=He desat la configuració de portsentry
log_logcheck=He desat la configuració de comprovació de registres
log_hostsentry_start=He iniciat el dimoni de hostsentry
log_hostsentry_stop=He aturat el dimoni de hostsentry
log_portsentry_start=He iniciat el dimoni de portsentry
log_portsentry_stop=He aturat el dimoni de portsentry


  0707010002caef000081a40000000000000002000000013d1fe2ea00001725000000200000000000000000000000000000001500000003reloc/sentry/lang/en  index_title=Security Sentries
index_ecommands=None of the security sentry commands ($1, $2 or $3) were found on your system. Maybe none are installed, or your <a href='$4'>module configuration</a> is incorrect.
index_return=module menu

portsentry_title=Portsentry Configuration
portsentry_below=(Port scan detection)
portsentry_ecommand=The Portsentry daemon $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
portsentry_eversion=The program $1 does not appear to be the Portsentry daemon. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
portsentry_eversion2=The version of Portsentry installed on your system is $2, but Webmin only supports version 1 in this release.
portsentry_version=Portsentry version $1
portsentry_header=Port scan detection options
portsentry_tmode=TCP ports to monitor
portsentry_mode0=For basic mode, listed ports
portsentry_mode1=For advanced mode, all ports below $1 except $2
portsentry_umode=UDP ports to monitor
portsentry_ignore=Hosts to ignore traffic from
portsentry_tblock=Block TCP probes
portsentry_ublock=Block UDP probes
portsentry_trigger=Number of connections before triggering blocking
portsentry_banner=Message for blocked connections
portsentry_kill=Run kill command
portsentry_err=Failed to save portsentry options
portsentry_etports='$1' is not a valid basic mode TCP port
portsentry_etadv=Missing or invalid maximum TCP port for advanced mode
portsentry_etexc='$1' is not a valid excluded TCP port
portsentry_euports='$1' is not a valid basic mode UDP port
portsentry_euadv=Missing or invalid maximum UDP port for advanced mode
portsentry_euexc='$1' is not a valid excluded UDP port
portsentry_etrigger=Missing or invalid number of connections before triggering
portsentry_eignore='$1' is not a valid hostname or IP addres to ignore
portsentry_start=Start Portsentry Daemons
portsentry_startdesc=Click this button to start the Portsentry daemons with the command $1, using the configuration options above.
portsentry_stop=Stop Portsentry Daemons
portsentry_stopdesc=Click this button to stop the running Portsentry daemons. This will immediately cease all port-scan detection.
portsentry_apply=Apply Configuration
portsentry_applydesc=Click this button to apply the current configuration by stopping the Portsentry daemons and re-starting them with the command $1.
portsentry_applyerr=Failed to apply configuration
portsentry_stoperr=Failed to stop portsentry
portsentry_ekill=Failed to kill processes $1 : $2
portsentry_estopped=No longer running
portsentry_starterr=Failed to start portsentry
portsentry_save=Save and Apply

hostsentry_title=Hostsentry Configuration
hostsentry_below=(Suspicious login detection)
hostsentry_ecommand=The hostsentry python script $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
hostsentry_header=Suspicious login detection options
hostsentry_wtmp=Logins record file
hostsentry_ignore=Users to ignore logins by
hostsentry_mods=Hostsentry modules<br>in processing order
hostsentry_start=Start Hostsentry Daemon
hostsentry_startdesc=Click this button to start the Hostsentry daemon with the command $1, using the configuration options above.
hostsentry_stop=Stop Hostsentry Daemon
hostsentry_stopdesc=Click this button to stop the running Hostsentry daemon. This will immediately cease all suspicious login detection.
hostsentry_apply=Apply Configuration
hostsentry_applydesc=Click this button to apply the current configuration by stopping the Hostsentry daemon and re-starting it with the command $1.
hostsentry_foreign=Hosts not to consider foreign
hostsentry_multiple=Hosts to trust multiple logins from
hostsentry_applyerr=Failed to apply configuration
hostsentry_stoperr=Failed to stop hostsentry
hostsentry_ekill=Failed to kill process $1 : $2
hostsentry_estopped=No longer running
hostsentry_starterr=Failed to start hostsentry
hostsentry_save=Save and Apply
hostsentry_err=Failed to save hostsentry configuration
hostsentry_eignore='$1' is not a valid user to ignore logins by
hostsentry_emultiple='$1' is not a valid host to ignore multiple logins from

logcheck_title=Logcheck Configuration
logcheck_ecommand=The logcheck command $1 was not found on your system. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.
logcheck_below=(Suspicious log analysis)
logcheck_header=Logfile checking options
logcheck_to=Email reports to
logcheck_hacking=Hacking log messages
logcheck_violations=Violation log messages
logcheck_violations_ign=Except for
logcheck_ignore=Ignored log messages
logcheck_disabled=Scheduled log checking disabled
logcheck_enabled=Check logs at selected times..
logcheck_save=Save and Apply
logcheck_eto=Missing or invalid email address
logcheck_runparts=Log checking is run from cron by script $1
logcheck_files=Log files being monitored

mod_moduleLoginLogout=Record logins and logouts
mod_moduleFirstLogin=Detect first login by user
mod_moduleForeignDomain=Detect login from foreign domain
mod_moduleRhostsCheck=Detect unsafe .rhosts file
mod_moduleHistoryTruncated=Detect history file truncation
mod_moduleOddDirnames=Detect odd home directory
mod_moduleMultipleLogins=Detect multiple simultaneous logins
mod_moduleOddLoginTime=Detect odd login time
mod_moduleInvalidUtmp=Detect modified utmp entry
mod_moduleHistorySuspicious=Detect suspicious commands in history
mod_moduleNetworkDaemon=Detect daemon left running
mod_moduleFileExists=Detect suspicious files in home directory

log_hostsentry=Saved hostsentry configuration
log_portsentry=Saved portsentry configuration
log_logcheck=Saved logcheck configuration
log_hostsentry_start=Started hostsentry daemon
log_hostsentry_stop=Stopped hostsentry daemon
log_portsentry_start=Started portsentry daemon
log_portsentry_stop=Stopped portsentry daemon

   07070100029ea0000081a40000000000000002000000013d1fe2ea00000075000000200000000000000000000000000000001900000003reloc/sentry/module.info  category=system
depends=cron 0.990
desc=Security Sentries
version=0.990
desc_ca=Sentinelles de Seguretat
name=Sentry
   07070100029e9f000081a40000000000000002000000013d1fe2ea000001b1000000200000000000000000000000000000001b00000003reloc/sentry/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'sentry-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'start' || $action eq 'stop') {
	return $text{"log_${type}_${action}"};
	}
else {
	return $text{"log_${action}"};
	}
}

   07070100029ea1000081e40000000000000002000000013d1fe2ea00000902000000200000000000000000000000000000002100000003reloc/sentry/save_hostsentry.cgi  #!/usr/local/bin/perl
# save_hostsentry.cgi
# Save hostsentry options

require './sentry-lib.pl';
&ReadParse();
&error_setup($text{'hostsentry_err'});

# Validate inputs
-r $in{'wtmp'} || &error($text{'hostsentry_ewtmp'});
@ignore = split(/\s+/, $in{'ignore'});
foreach $u (@ignore) {
	defined(getpwnam($u)) || &error(&text('hostsentry_eignore', $u));
	}
for($i=0; defined($in{"mod_$i"}); $i++) {
	push(@mods, $in{"mod_$i"}) if ($in{"mod_$i"});
	}
if (defined($in{'foreign'})) {
	@foreign = split(/\s+/, $in{'foreign'});
	}
if (defined($in{'multiple'})) {
	@multiple = split(/\s+/, $in{'multiple'});
	foreach $m (@multiple) {
		gethostbyname($m) || &check_ipaddress($m) ||
			&error(&text('hostsentry_emultiple', $m));
		}
	}

# Write to the appropriate files
$conf = &get_hostsentry_config();
&lock_config_files($conf);
&save_config($conf, "WTMP_FILE", $in{'wtmp'});
&flush_file_lines();
&unlock_config_files($conf);

$ign = &find_value("IGNORE_FILE", $conf);
&lock_file($ign);
open(IGN, ">$ign");
foreach $i (@ignore) {
	print IGN $i,"\n";
	}
close(IGN);
&unlock_file($ign);

$mods = &find_value("MODULE_FILE", $conf);
&lock_file($mods);
open(MODS, ">$mods");
foreach $m (@mods) {
	print MODS $m,"\n";
	}
close(MODS);
&unlock_file($mods);

$basedir = &get_hostsentry_dir();
if (defined(@foreign)) {
	&lock_file("$basedir/moduleForeignDomain.allow");
	open(FOREIGN, ">$basedir/moduleForeignDomain.allow");
	foreach $f (@foreign) {
		print FOREIGN $f,"\n";
		}
	close(FOREIGN);
	&unlock_file("$basedir/moduleForeignDomain.allow");
	}
if (defined(@multiple)) {
	&lock_file("$basedir/moduleMultipleLogins.allow");
	open(MULTIPLE, ">$basedir/moduleMultipleLogins.allow");
	foreach $m (@multiple) {
		print MULTIPLE $m,"\n";
		}
	close(MULTIPLE);
	&unlock_file("$basedir/moduleMultipleLogins.allow");
	}

if ($in{'apply'}) {
	# Attempt to restart
	if ($config{'hostsentry_stop'}) {
		&system_logged("$config{'hostsentry_stop'} >/dev/null 2>&1 </dev/null");
		}
	else {
		$pid = &get_hostsentry_pid();
		&kill_logged("TERM", $pid) if ($pid);
		}
	$cmd = &hostsentry_start_cmd();
	$temp = &tempname();
	&system_logged("$cmd >$temp 2>&1 </dev/null");
	open(TEMP, $temp);
	while(<TEMP>) { $out .= $_; }
	close(TEMP);
	unlink($temp);
	&error("<tt>$out</tt>") if ($?);
	}
&webmin_log("hostsentry");

&redirect("");

  07070100029ea2000081e40000000000000002000000013d1fe2ea000009b2000000200000000000000000000000000000001f00000003reloc/sentry/save_logcheck.cgi    #!/usr/local/bin/perl
# save_logcheck.cgi
# Save logcheck.sh options

require './sentry-lib.pl';
&ReadParse();
&error_setup($text{'logcheck_err'});

# Get the current cron job
&foreign_require("cron", "cron-lib.pl");
@jobs = &cron::list_cron_jobs();
foreach $j (@jobs) {
	$job = $j if ($j->{'command'} =~ /$config{'logcheck'}/);
	}

# Validate and save inputs
$conf = &get_logcheck_config();
&lock_config_files($conf);
$in{'to'} =~ /^\S+$/ || &error($text{'logcheck_eto'});
if ($in{'runparts'}) {
	# Being run from a script that we cannot change
	}
elsif (!$in{'active'} && !$job) {
	# Cron job is not setup yet, and doesn't need to be .. do nothing
	}
else {
	# Create or update the cron job
	if (!$job) {
		$job = { 'command' => $config{'logcheck'},
			 'user' => 'root' };
		$creating++;
		}
	$job->{'active'} = $in{'active'};
	&cron::parse_times_input($job, \%in);
	if ($creating) {
		local %cconfig = &foreign_config("cron");
		local $ctab = "$cconfig{'cron_dir'}/$job->{'user'}";
		&lock_file($ctab);
		&cron::create_cron_job($job);
		&unlock_file($ctab);
		}
	else {
		&lock_file($job->{'file'});
		&cron::change_cron_job($job);
		&unlock_file($job->{'file'});
		}
	}
$to = &find_value("SYSADMIN", $conf);
if ($to =~ /^\$(\S+)$/) {
	&save_config($conf, $1, $in{'to'});
	}
else {
	&save_config($conf, "SYSADMIN", $in{'to'});
	}
&flush_file_lines();
&unlock_config_files($conf);

$hacking = &find_value("HACKING_FILE", $conf, 1);
$hacking = &find_value("CRACKING_FILE", $conf, 1) if (!$hacking);
&lock_file($hacking);
$in{'hacking'} =~ s/\r//g;
$in{'hacking'} =~ s/\n*$/\n/;
open(HACKING, ">$hacking");
print HACKING $in{'hacking'};
close(HACKING);
&unlock_file($hacking);

$violations = &find_value("VIOLATIONS_FILE", $conf, 1);
&lock_file($violations);
$in{'violations'} =~ s/\r//g;
$in{'violations'} =~ s/\n*$/\n/;
open(VIOLATIONS, ">$violations");
print VIOLATIONS $in{'violations'};
close(VIOLATIONS);
&unlock_file($violations);

$violations_ign = &find_value("VIOLATIONS_IGNORE_FILE", $conf, 1);
&lock_file($violations_ign);
$in{'violations_ign'} =~ s/\r//g;
$in{'violations_ign'} =~ s/\n*$/\n/;
open(IGNORE, ">$violations_ign");
print IGNORE $in{'violations_ign'};
close(IGNORE);
&unlock_file($violations_ign);

$ignore = &find_value("IGNORE_FILE", $conf, 1);
&lock_file($ignore);
$in{'ignore'} =~ s/\r//g;
$in{'ignore'} =~ s/\n*$/\n/;
open(IGNORE, ">$ignore");
print IGNORE $in{'ignore'};
close(IGNORE);
&unlock_file($ignore);

&webmin_log("logcheck");
&redirect("");

  07070100029ea3000081e40000000000000002000000013d1fe2ea00000a79000000200000000000000000000000000000002100000003reloc/sentry/save_portsentry.cgi  #!/usr/local/bin/perl
# save_config.cgi
# Update the portsentry config file

require './sentry-lib.pl';
&ReadParse();
&error_setup($text{'portsentry_err'});
$conf = &get_portsentry_config();
&lock_config_files($conf);

# Validate and save inputs
@tports = split(/\s+/, $in{'tports'});
foreach $t (@tports) {
	$t > 0 && $t < 65535 || &error(&text('portsentry_etports', $t));
	}
&save_config($conf, "TCP_PORTS", join(",", @tports));
$in{'tadv'} > 0 && $in{'tadv'} < 65535 || &error($text{'portsentry_etadv'});
&save_config($conf, "ADVANCED_PORTS_TCP", $in{'tadv'});
@texc = split(/\s+/, $in{'texc'});
foreach $t (@texc) {
	$t > 0 && $t < 65535 || &error(&text('portsentry_etexc', $t));
	}
&save_config($conf, "ADVANCED_EXCLUDE_TCP", join(",", @texc));

@uports = split(/\s+/, $in{'uports'});
foreach $t (@uports) {
	$t > 0 && $t < 65535 || &error(&text('portsentry_euports', $t));
	}
&save_config($conf, "UDP_PORTS", join(",", @uports));
$in{'uadv'} > 0 && $in{'uadv'} < 65535 || &error($text{'portsentry_euadv'});
&save_config($conf, "ADVANCED_PORTS_UDP", $in{'uadv'});
@uexc = split(/\s+/, $in{'uexc'});
foreach $t (@uexc) {
	$t > 0 && $t < 65535 || &error(&text('portsentry_euexc', $t));
	}
&save_config($conf, "ADVANCED_EXCLUDE_UDP", join(",", @uexc));

&save_config($conf, "BLOCK_TCP", $in{'tblock'});
&save_config($conf, "BLOCK_UDP", $in{'ublock'});
&save_config($conf, "PORT_BANNER", $in{'banner'});

$in{'trigger'} =~ /^\d+$/ || &error($text{'portsentry_etrigger'});
&save_config($conf, "SCAN_TRIGGER", $in{'trigger'});

# Save list of ignored hosts
if ($config{'portsentry_ignore'}) {
	$ign = $config{'portsentry_ignore'};
	}
else {
	$ign = &find_value("IGNORE_FILE", $conf);
	}
&lock_file($ign);
$in{'ignore'} =~ s/\r//g;
$in{'ignore'} =~ s/\n*$/\n/;
foreach $h (split(/\s+/, $in{'ignore'})) {
	gethostbyname($h) || &check_ipaddress($h) ||
	  ($h =~ /^([0-9\.]+)\/(\d+)/ && &check_ipaddress($1)) ||
		&error(&text('portsentry_eignore', $h));
	}
if (defined($in{'editbelow'})) {
	open(IGNORE, $ign);
	@below = <IGNORE>;
	close(IGNORE);
	@below = @below[$in{'editbelow'} .. $#below];
	}
open(IGNORE, ">$ign");
print IGNORE $in{'ignore'};
print IGNORE @below;
close(IGNORE);
&unlock_file($ign);
&flush_file_lines();
&unlock_config_files($conf);

if ($in{'apply'}) {
	# Restart portsentry
	if ($config{'portsentry_stop'}) {
		&system_logged("$config{'portsentry_stop'} >/dev/null 2>&1 </dev/null");
		}
	else {
		@pids = &get_portsentry_pids();
		&kill_logged("TERM", @pids) if (@pids);
		}
	$cmd = &portsentry_start_cmd();
	$out = &backquote_logged("$cmd 2>&1 </dev/null");
	&error("<tt>$out</tt>") if ($out =~ /failed|error/i);
	}
&webmin_log("portsentry");

&redirect("");

   07070100029eaa000081a40000000000000002000000013d1fe2ea00000d00000000200000000000000000000000000000001b00000003reloc/sentry/sentry-lib.pl    # sentry-lib.pl
# Functions for configuring portsentry, hostsentry and logcheck

do '../web-lib.pl';
&init_config();

# get_portsentry_config()
# Parses the portsentry.conf file
sub get_portsentry_config
{
return &get_config($config{'portsentry_config'});
}

# get_hostsentry_config()
# Parses the hostsentry.conf file
sub get_hostsentry_config
{
return &get_config($config{'hostsentry_config'});
}

# get_logcheck_config()
# Parses the logcheck.sh program script
sub get_logcheck_config
{
return &get_config($config{'logcheck'});
}

# lock_config_files(&config)
sub lock_config_files
{
foreach $f (&unique(map { $_->{'file'} } @{$_[0]})) {
	&lock_file($f);
	}
}

# unlock_config_files(&config)
sub unlock_config_files
{
foreach $f (&unique(map { $_->{'file'} } @{$_[0]})) {
	&unlock_file($f);
	}
}

# get_config(file)
sub get_config
{
local (@rv, $lnum = 0);
open(CONF, $_[0]);
local @lines = <CONF>;
close(CONF);
foreach (@lines) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^([^=\s]+)\s*=\s*"(.*)"/ || /^([^=\s]+)\s*=\s*(\S+)/) {
		push(@rv, { 'name' => $1,
			    'value' => $2,
			    'file' => $_[0],
			    'line' => $lnum });
		}
	elsif (/^\.\s+(\S+)/) {
		# Included file!
		local $inc = &get_config("$1");
		push(@rv, @$inc);
		}
	$lnum++;
	}
return \@rv;
}

# save_config(&conf, name, value)
sub save_config
{
local $old = &find($_[1], $_[0]);
local $lref = &read_file_lines($old ? $old->{'file'} : $_[0]->[0]->{'file'});
local $nl = "$_[1]=\"$_[2]\"";
if ($old) {
	$lref->[$old->{'line'}] = $nl;
	}
else {
	push(@$lref, $nl);
	}
}

# find(name, &config)
sub find
{
foreach $c (@{$_[1]}) {
	if (lc($c->{'name'}) eq lc($_[0])) {
		return $c;
		}
	}
return undef;
}

# find_value(name, &config, subs)
sub find_value
{
local $rv = &find($_[0], $_[1]);
return undef if (!defined($rv));
local $str = $rv->{'value'};
if ($_[2]) {
	local %donevar;
	while($str =~ /\$([A-z0-9\_]+)/ && !$donevar{$1}) {
		$donevar{$1}++;
		local $val = &find_value($1, $_[1]);
		$str =~ s/\$([A-z0-9\_]+)/$val/;
		}
	}
return $str;
}

# get_portsentry_pids()
sub get_portsentry_pids
{
if ($config{'portsentry_pid'}) {
	# Get from pid file
	local $pid;
	if (open(PID, $config{'portsentry_pid'}) && chop($pid = <PID>) &&
	    kill(0, $pid)) {
		close(PID);
		return ( $pid );
		}
	else {
		return ();
		}
	}
else {
	# Just see if the process is running
	return grep { $_ != $$ } &find_byname("portsentry");
	}
}

# portsentry_start_cmd()
sub portsentry_start_cmd
{
return $config{'portsentry_start'} ? $config{'portsentry_start'} :
	"$config{'portsentry'} -$config{'portsentry_tmode'} && $config{'portsentry'} -$config{'portsentry_umode'}";
}

# list_hostsentry_modules($conf)
# Returns a list of all hostsentry python modules
sub list_hostsentry_modules
{
local $dir = &find_value("MODULE_PATH", $_[0]);
opendir(DIR, $dir);
local @rv = map { /^(\S+)\.py$/; $1 }
	        grep { /\.py$/ && !/^moduleExample/ } readdir(DIR);
closedir(DIR);
return @rv;
}

# hostsentry_start_cmd()
sub hostsentry_start_cmd
{
return $config{'hostsentry_start'} ? $config{'hostsentry_start'}
				   : "python $config{'hostsentry'}";
}

# get_hostsentry_pid()
sub get_hostsentry_pid
{
local ($pid) = grep { $_ != $$ } &find_byname("python.*hostsentry");
return $pid;
}

# get_hostsentry_dir()
sub get_hostsentry_dir
{
$config{'hostsentry_config'} =~ /^(\S+)\//;
return $1;
}

1;

07070100029eb6000081e40000000000000002000000013d1fe2ea000001c3000000200000000000000000000000000000002200000003reloc/sentry/start_hostsentry.cgi #!/usr/local/bin/perl
# start_hostsentry.cgi
# Start the hostsentry daemon

require './sentry-lib.pl';
&error_setup($text{'hostsentry_starterr'});

$cmd = &hostsentry_start_cmd();
$temp = &tempname();
&system_logged("$cmd >$temp 2>&1 </dev/null");
open(TEMP, $temp);
while(<TEMP>) { $out .= $_; }
close(TEMP);
unlink($temp);
&error("<tt>$out</tt>") if ($out =~ /failed|error/i);
&webmin_log("start", "hostsentry");

&redirect("edit_hostsentry.cgi");

 07070100029eb7000081e40000000000000002000000013d1fe2ea00000164000000200000000000000000000000000000002200000003reloc/sentry/start_portsentry.cgi #!/usr/local/bin/perl
# start_portsentry.cgi
# Start the portsentry daemon

require './sentry-lib.pl';
&error_setup($text{'portsentry_starterr'});

$cmd = &portsentry_start_cmd();
$out = &backquote_logged("$cmd 2>&1 </dev/null");
&error("<tt>$out</tt>") if ($out =~ /failed|error/i);
&webmin_log("start", "portsentry");

&redirect("edit_portsentry.cgi");

07070100029eb8000081e40000000000000002000000013d1fe2ea00000239000000200000000000000000000000000000002100000003reloc/sentry/stop_hostsentry.cgi  #!/usr/local/bin/perl
# stop_hostsentry.cgi
# Stop hostsentry daemon

require './sentry-lib.pl';
&error_setup($text{'hostsentry_stoperr'});

if ($config{'hostsentry_stop'}) {
	$out = &backquote_logged("($config{'hostsentry_stop'}) 2>&1 </dev/null");
	&error("<tt>$out</tt>") if ($out =~ /error|failed/i);
	}
else {
	$pid = &get_hostsentry_pid();
	if ($pid) {
		&kill_logged("TERM", $pid) ||
			&error(&text('hostsentry_ekill', $pid, $!));
		}
	else {
		&error($text{'hostsentry_estopped'});
		}
	}
&webmin_log("stop", "hostsentry");

&redirect("edit_hostsentry.cgi");

   07070100029eb9000081e40000000000000002000000013d1fe2ea00000249000000200000000000000000000000000000002100000003reloc/sentry/stop_portsentry.cgi  #!/usr/local/bin/perl
# stop_portsentry.cgi
# Stop portsentry daemon

require './sentry-lib.pl';
&error_setup($text{'portsentry_stoperr'});

if ($config{'portsentry_stop'}) {
	$out = &backquote_logged("($config{'portsentry_stop'}) 2>&1 </dev/null");
	&error("<tt>$out</tt>") if ($out =~ /error|failed/i);
	}
else {
	@pids = &get_portsentry_pids();
	if (@pids) {
		&kill_logged("TERM", @pids) ||
			&error(&text('portsentry_ekill', join(" ", @pids), $!));
		}
	else {
		&error($text{'portsentry_estopped'});
		}
	}
&webmin_log("stop", "portsentry");

&redirect("edit_portsentry.cgi");

   070701000310df000041ed0000000000000001000000043d1ffb4e00000000000000200000000000000000000000000000000e00000003reloc/servers 070701000310e0000081a40000000000000002000000013d1fe2d90000074d000000200000000000000000000000000000001e00000003reloc/servers/acl_security.pl 
require 'servers-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the servers module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_servers'}</b></td>\n";
print "<td colspan=3>\n";
printf "<input type=radio name=servers_def value=1 %s> %s\n",
        $_[0]->{'servers'} eq '*' ? 'checked' : '', $text{'acl_sall'};
printf "<input type=radio name=servers_def value=0 %s> %s<br>\n",
        $_[0]->{'servers'} eq '*' ? '' : 'checked', $text{'acl_ssel'};
print "<select name=servers multiple size=4 width=15>\n";
local @servers = sort { $a->{'host'} cmp $b->{'host'} } &list_servers();
local ($z, %zcan);
map { $zcan{$_}++ } split(/\s+/, $_[0]->{'servers'});
foreach $z (sort { $a->{'value'} cmp $b->{'value'} } @servers) {
        printf "<option value='%s' %s>%s\n",
                $z->{'host'},
                $zcan{$z->{'host'}} ? "selected" : "",
                $z->{'host'} ;
        }
print "</select></td></tr>\n";

print "<tr> <td><b>$text{'acl_edit'}</b></td> <td>\n";
printf "<input type=radio name=edit value=1 %s> $text{'yes'}\n",
        $_[0]->{'edit'} ? "checked" : "";
printf "<input type=radio name=edit value=0 %s> $text{'no'}</td>\n",
        $_[0]->{'edit'} ? "" : "checked";

print "<td><b>$text{'acl_find'}</b></td> <td>\n";
printf "<input type=radio name=find value=1 %s> $text{'yes'}\n",
        $_[0]->{'find'} ? "checked" : "";
printf "<input type=radio name=find value=0 %s> $text{'no'}</td> </tr>\n",
        $_[0]->{'find'} ? "" : "checked";


}

# acl_security_save(&options)
# Parse the form for security options for the servers module
sub acl_security_save
{
if ($in{'servers_def'}) {
        $_[0]->{'servers'} = "*";
        }
else {
        $_[0]->{'servers'} = join(" ", split(/\0/, $in{'servers'}));
        }
$_[0]->{'edit'} = $in{'edit'};
$_[0]->{'find'} = $in{'find'};
}

   070701000310e1000081a40000000000000002000000013d1fe2d900000050000000200000000000000000000000000000001500000003reloc/servers/config  resolve=1
scan_time=5
display_mode=0
sort_mode=0
groups_dir=/etc/cluster/groups
070701000310e2000081a40000000000000002000000013d1fe2d800000118000000200000000000000000000000000000001a00000003reloc/servers/config.info resolve=Resolve found server addresses,1,1-Yes,0-No
scan_time=Time to wait for scan responses,0
display_mode=Show servers as,1,1-Table,0-Icons
sort_mode=Sort servers by,1,4-IP Address,1-Hostname,2-Description,3-OS,5-Group,0-Order created
groups_dir=MSC cluster groups directory,0
070701000310e3000081a40000000000000002000000013d1fe2d90000011b000000200000000000000000000000000000001d00000003reloc/servers/config.info.ca  resolve=Resol les adreces de servidors trobades,1,1-Sí,0-No
scan_time=Temps d'espera per les respostes d'escaneig,0
display_mode=Mostra els servidors com a,1,1-Taula,0-Icones
sort_mode=Ordena els servidors per,1,4-Adreça IP,1-Nom de Host,2-Descripció,3-SO,5-Grup,0-Ordre de creació

 070701000310e4000081a40000000000000002000000013d1fe2d900000036000000200000000000000000000000000000001d00000003reloc/servers/config.info.cz  resolve=Pøelo¾it nalezené adresy serverù,1,1-Ano,0-Ne
  070701000310e5000081a40000000000000002000000013d1fe2d900000138000000200000000000000000000000000000001d00000003reloc/servers/config.info.de  resolve=L&ouml;se Adressen gefundener Server auf,1,1-Ja,0-Nein
scan_time=Zeit&#044 die beim Scan auf Antwort gewartet wird (Sekunden),0
display_mode=Zeige Server als,1,1-Tabelle,0-Icons
sort_mode=Sortiere Server nach,1,4-IP&#045Adresse,1-Hostname,2-Beschreibung,3-Betriebssystem,5-Gruppe,0-erstellter Reihenfolge070701000310e6000081a40000000000000002000000013d1fe2d900000079000000200000000000000000000000000000001d00000003reloc/servers/config.info.es  resolve=Resolver direcciones de servidor hallado,1,1-Sí,0-No
scan_time=Tiempo a esperar para respuestas de exploración,0
   070701000310e7000081a40000000000000002000000013d1fe2d90000008b000000200000000000000000000000000000001d00000003reloc/servers/config.info.hu  resolve=A fellelt szerverek címébõl visszakeressük a nevüket?,1,1-Igen,0-Nem
scan_time=Kereséskor mennyi ideig várjunk a válaszra? [sec],0
 070701000310e8000081a40000000000000002000000013d1fe2d90000006e000000200000000000000000000000000000001d00000003reloc/servers/config.info.pl  resolve=Rozwi±zywaæ znalezione adresy serwerów,1,1-Tak,0-Nie
scan_time=Czas oczekiwania na wynik skanowania,0
  070701000310e9000081a40000000000000002000000013d1fe2d900000060000000200000000000000000000000000000001d00000003reloc/servers/config.info.sv  resolve=Slå upp funna serveradresser,1,1-Ja,0-Nej
scan_time=Väntetid för att titta efter svar,0
070701000310ea000081a40000000000000002000000013d1fe2d90000006e000000200000000000000000000000000000001d00000003reloc/servers/config.info.tr  resolve=Bulunan sunucu adreslerini çözümle,1,1-Evet,0-Hayýr
scan_time=Yanýtlarý taramak için bekleme süresi,0
  070701000310eb000081a40000000000000002000000013d1fe2d900000040000000200000000000000000000000000000002000000003reloc/servers/config.info.zh_CN   resolve=½âÎöÖ÷»úµØÖ·,1,1-ÊÇ,0-·ñ
scan_time=µÈ´ýÉ¨ÃèÓ¦´ðµÄÊ±¼ä,0
070701000310ec000081a40000000000000002000000013d1fe2d90000002e000000200000000000000000000000000000002500000003reloc/servers/config.info.zh_TW.Big5  resolve=¬O§_¸ÑªR§ä¨ìªº¦øªA¾¹¦ì§}?,1,1-¬O,0-§_
  070701000310ed000081a40000000000000002000000013d1fe2d900000018000000200000000000000000000000000000001900000003reloc/servers/defaultacl  servers=*
edit=1
find=1
070701000310ee000081e40000000000000002000000013d1fe2d900000edb000000200000000000000000000000000000001c00000003reloc/servers/edit_serv.cgi   #!/usr/local/bin/perl
# edit_serv.cgi
# Edit or create a webmin server

require './servers-lib.pl';
&ReadParse();
$access{'edit'} || &error($text{'edit_ecannot'});

if ($in{'new'}) {
	&header($text{'create_title'}, "");
	}
else {
	&header($text{'edit_title'}, "");
	$s = &get_server($in{'id'});
	&can_use_server($s) || &error($text{'edit_ecannot'});
	}
print "<hr>\n";

print "<form action=save_serv.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=id value='$in{'id'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_host'}</b></td>\n";
print "<td><input name=host size=30 value='$s->{'host'}'></td>\n";

print "<td><b>$text{'edit_port'}</b></td>\n";
print "<td><input name=port size=5 value='$s->{'port'}'></td> </tr>\n";

print "<tr> <td><b>$text{'edit_type'}</b></td> <td><select name=type>\n";
foreach $t (@server_types) {
	printf "<option value='%s' %s>%s\n",
		$t->[0], $t->[0] eq $s->{'type'} ? 'selected' : '',
		$t->[1];
	}
print "</select></td>\n";

print "<td><b>$text{'edit_ssl'}</b></td> <td>\n";
printf "<input type=radio name=ssl value=1 %s> $text{'yes'}\n",
	$s->{'ssl'} ? 'checked' : '';
printf "<input type=radio name=ssl value=0 %s> $text{'no'}</td> </tr>\n",
	$s->{'ssl'} ? '' : 'checked';

$s->{'desc'} =~ s/"/&quot;/g;
print "<tr> <td><b>$text{'edit_desc'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=desc_def value=1 %s> %s\n",
	$s->{'desc'} ? '' : 'checked', $text{'edit_desc_def'};
printf "<input type=radio name=desc_def value=0 %s>\n",
	$s->{'desc'} ? 'checked' : '';
printf "<input name=desc size=40 value=\"%s\"></td> </tr>\n", $s->{'desc'};

@groups = &unique(grep { $_ ne '' } map { $_->{'group'} } &list_servers());
print "<tr> <td><b>$text{'edit_group'}</b></td> <td colspan=3>\n";
printf "<input name=group_def type=radio value=2 %s> %s\n",
	$s->{'group'} ? "" : "checked", $text{'edit_none'};
if (@groups) {
	printf "<input name=group_def type=radio value=1 %s> %s\n",
		&indexof($s->{'group'}, @groups) < 0 ? "" : "checked",
		$text{'edit_exists'};
	print "<select name=group>\n";
	foreach $g (@groups) {
		printf "<option %s>%s\n",
			$s->{'group'} eq $g ? "selected" : "", $g;
		}
	print "</select>\n";
	}
printf "<input name=group_def type=radio value=0> %s\n",
	$text{'edit_new'};
print "<input name=newgroup size=10></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'edit_link'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=mode value=0 %s> $text{'edit_mode0'}<br>\n",
	$s->{'user'} ? '' : 'checked';
printf "<input type=radio name=mode value=1 %s> $text{'edit_mode1'}\n",
	$s->{'user'} ? 'checked' : '';
print "$text{'edit_user'} <input name=user size=10 value='$s->{'user'}'>\n";
print "$text{'edit_pass'} <input type=password name=pass size=10 value='$s->{'pass'}'>\n";
print "</td> </tr>\n";

print "<tr> <td><b>$text{'edit_fast'}</b></td>\n";
if ($in{'new'}) {
	print "<td><input type=radio name=fast value=1> $text{'yes'}\n";
	print "<input type=radio name=fast value=2 checked> $text{'edit_auto'}\n";
	print "<input type=radio name=fast value=0> $text{'no'}</td> </tr>\n";
	}
else {
	printf "<td><input type=radio name=fast value=1 %s> %s\n",
		$s->{'fast'} ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=fast value=0 %s> %s</td> </tr>\n",
		$s->{'fast'} ? '' : 'checked', $text{'no'};
	}

print "</table></td></tr></table>\n";

print "<table width=100%><tr><td>\n";
print "<input type=submit value=\"$text{'save'}\"></td>";
if (!$in{'new'}) {
	print "<td align=right>\n";
	print "<input type=submit name=delete value=Delete></td>";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000310ef000081a40000000000000002000000013d1fe2d9000000cb000000200000000000000000000000000000002000000003reloc/servers/feedback_files.pl   
do 'servers-lib.pl';

sub feedback_files
{
opendir(DIR, $module_config_directory);
local @rv = map { "$module_config_directory/$_" }
		grep { /\.serv$/ } readdir(DIR);
closedir(DIR);
return @rv;
}

1;

 070701000310f0000081e40000000000000002000000013d1fe2d800000b7c000000200000000000000000000000000000001700000003reloc/servers/find.cgi    #!/usr/local/bin/perl
# find.cgi
# Broadcast to other webmin servers

require './servers-lib.pl';
&ReadParse();
$access{'find'} || &error($text{'find_ecannot'});
use Socket;

foreach $s (&list_servers()) {
	$server{gethostbyname($s->{'host'})}++;
	}

# create the broadcast socket
$port = $config{'listen'} ? $config{'listen'} : 10000;
socket(BROAD, PF_INET, SOCK_DGRAM, getprotobyname("udp")) ||
	&error("socket failed : $!");
setsockopt(BROAD, SOL_SOCKET, SO_BROADCAST, pack("l", 1));

if (defined($in{'scan'})) {
	# send to all addresses on the given network
	$in{'scan'} =~ /^(\d+\.\d+\.\d+)\.0$/ || &error($text{'find_escan'});
	for($i=0; $i<256; $i++) {
		push(@broad, "$1.$i");
		}
	$limit = $config{'scan_time'};
	$myip = &to_ipaddress(&get_system_hostname());
	if ($myip) {
		$myaddr{inet_aton($myip)}++;
		}
	}
else {
	# broadcast to some useful addresses
	$myip = &to_ipaddress(&get_system_hostname());
	if ($myip =~ /^(\d+\.\d+\.\d+)\.\d+$/) {
		push(@broad, "$1.255");
		$myaddr{inet_aton($myip)}++;
		}
	push(@broad, "255.255.255.255");
	$limit = 2;
	}

# Ignore our own IP addresses
if (&foreign_check("net")) {
	&foreign_require("net", "net-lib.pl");
	foreach $a (&foreign_call("net", "active_interfaces")) {
		push(@broad, $a->{'broadcast'})
			if ($a->{'broadcast'} && !defined($in{'scan'}));
		$myaddr{inet_aton($a->{'address'})}++
			if ($a->{'address'});
		}
	}

# send out the packets
foreach $b (&unique(@broad)) {
	send(BROAD, "webmin", 0, sockaddr_in($port, inet_aton($b)));
	}

# Get and display responses
$| = 1;
&header($text{'find_title'}, "");
print "<hr><p>\n";
$id = $tmstart = time();
while(time()-$tmstart < $limit) {
	local $rin;
	vec($rin, fileno(BROAD), 1) = 1;
	if (select($rin, undef, undef, 1)) {
		local $buf;
		local $from = recv(BROAD, $buf, 1024, 0);
		next if (!$from);
		local ($fromport, $fromaddr) = sockaddr_in($from);
		local $fromip = inet_ntoa($fromaddr);
		if ($fromip !~ /\.(255|0)$/ && !$already{$fromip}++) {
			local ($host, $port, $ssl) = split(/:/, $buf);
			if ($config{'resolve'}) {
				local $byname = gethostbyaddr($fromaddr,
							      AF_INET);
				$host = !$host && $byname ? $byname :
					!$host && !$byname ? $fromip :
							     $host;
				}
			else {
				$host = $fromip;
				}
			local $url = ($ssl ? 'https' : 'http').
				     "://$host:$port/";
			if ($server{$fromaddr}) {
				print &text('find_already',
					    "<tt>$url</tt>"),"<br>\n";
				}
			elsif ($myaddr{$fromaddr}) {
				print &text('find_me',
					    "<tt>$url</tt>"),"<br>\n";
				}
			else {
				print &text('find_new',
					    "<tt>$url</tt>"),"<br>\n";
				local $serv = {	'id' => $id++,
						'ssl' => $ssl,
						'type' => 'unknown',
						'port' => $port,
						'host' => $host };
				&save_server($serv);
				&webmin_log("find", "server", $host, $serv);
				}
			$found++;
			}
		}
	}
print "$text{'find_none'}<p>\n" if (!$found);

print "<p><hr>\n";
&footer("", $text{'index_return'});

07070100032880000041ed0000000000000001000000023d1ffb4d00000000000000200000000000000000000000000000001500000003reloc/servers/images  07070100032882000081a40000000000000002000000013d1fe2d900009211000000200000000000000000000000000000002200000003reloc/servers/images/cal_spin.gif GIF89a– 4 ‡       3  f  ™  Ì  ÿ3  3 33 f3 ™3 Ì3 ÿf  f 3f ff ™f Ìf ÿ™  ™ 3™ f™ ™™ Ì™ ÿÌ  Ì 3Ì fÌ ™Ì ÌÌ ÿÿ  ÿ 3ÿ fÿ ™ÿ Ìÿ ÿ 3  33 3f 3™ 3Ì 3ÿ33 33333f33™33Ì33ÿf3 f33f3ff3™f3Ìf3ÿ™3 ™33™3f™3™™3Ì™3ÿÌ3 Ì33Ì3fÌ3™Ì3ÌÌ3ÿÿ3 ÿ33ÿ3fÿ3™ÿ3Ìÿ3ÿ f  f3 ff f™ fÌ fÿ3f 3f33ff3f™3fÌ3fÿff ff3fffff™ffÌffÿ™f ™f3™ff™f™™fÌ™fÿÌf Ìf3ÌffÌf™ÌfÌÌfÿÿf ÿf3ÿffÿf™ÿfÌÿfÿ ™  ™3 ™f ™™ ™Ì ™ÿ3™ 3™33™f3™™3™Ì3™ÿf™ f™3f™ff™™f™Ìf™ÿ™™ ™™3™™f™™™™™Ì™™ÿÌ™ Ì™3Ì™fÌ™™Ì™ÌÌ™ÿÿ™ ÿ™3ÿ™fÿ™™ÿ™Ìÿ™ÿ Ì  Ì3 Ìf Ì™ ÌÌ Ìÿ3Ì 3Ì33Ìf3Ì™3ÌÌ3ÌÿfÌ fÌ3fÌffÌ™fÌÌfÌÿ™Ì ™Ì3™Ìf™Ì™™ÌÌ™ÌÿÌÌ ÌÌ3ÌÌfÌÌ™ÌÌÌÌÌÿÿÌ ÿÌ3ÿÌfÿÌ™ÿÌÌÿÌÿ ÿ  ÿ3 ÿf ÿ™ ÿÌ ÿÿ3ÿ 3ÿ33ÿf3ÿ™3ÿÌ3ÿÿfÿ fÿ3fÿffÿ™fÿÌfÿÿ™ÿ ™ÿ3™ÿf™ÿ™™ÿÌ™ÿÿÌÿ Ìÿ3ÌÿfÌÿ™ÌÿÌÌÿÿÿÿ ÿÿ3ÿÿfÿÿ™ÿÿÌÿÿÿ                                                                                                                        !ÿNETSCAPE2.0è ,    – 4 Gü Y­H0Ö@ƒ«L¸¡Ã†*ŒˆpbÄ‡
f„X±àÅ†Ï>82äHƒ'V;8rÕÊU-­R•ŠPªT¨^áÄYÈUªW9¡ºIhOœ¯lEU(•Ï@o"ú”©Ó›KU P¡ œºzýŠJ€³~ÄðóÆÙµ7©œ5@â¬
:ÿœ»õŸ½Ôä’XÁ¢Š•iˆa%¦ÈÊ
@ª¨ýYÁŠ&ªœ;s2jtèÕÏC}F}êª)æÒ …¦öYhÒ›>=ÇFºëUŸE§j†ŠsÔWˆOS¨ÊŠ ¬(gñ$ÆñçV j6Ú+jÓ®O®¼s¶çÚû6K÷¶M»üæß6uîÎ¬«jBgÉ¦*äZ-•Br¤úûmªüñ¥²E^¥Òß×	GqŽ­à˜O°ðGu	bg!pŠÁ²eW™Fßw?Õ”QéTgžå&P‹ì¤ˆSMxÔwŠhUw™µ(ÛUã%i?qöÓ4C¾ÒØqO8¦œtÙYW]u°¨â«H¶ÂLAbUbx#5#h°ýhŠM‰žkžáß[0¤b x¸–^kiÁ–V*ø_~lÙÕ•
TäGyT…Ÿx¢G’Ê½õÄ[P”ð–PœõÜ„Rö‡TµØé˜#v¹“¨ž†úi©¨üèû¨Žz*¨iJuÓ¤¤bÈ(€” z J‡OìQÇ'™|ò«ƒ{ða‡|ÜÁ‡²ÐòˆQ¨€åw¯¬XšÝ4šnME•Y±‰•—ÝîT&{ ž«Þ»4.%®™!z‹Y*ÓÀò
uNæûdcÑI—J†þZˆÄ=1“jŸŠØâ~Š[·JÝ¤ÚUâVlRx¾ÂßoâQÈŸ~øñß^Z‘ r|~úæ}†˜Zt®€XgUqä
°âó*ˆ¢¥\¨¢Ê“ž—&n´Å8TÅò®5z]zØ´nQ9½n§:‘wãŽ¿yêZ½… òÇÙ@f´”Ž%Vvû&V]ÒÛb•ˆ0ºšeyËX£†]1[ªÎ h Œ§Ò•tö	€Šë	 «¯àq9_*'œ!Ž·„W@–/5Ô)†ØëØMƒ÷x\†Ûº£Îæ]ìrZ¸íµ=àæ)¢y›m„¨`[¹»Õ†ãPÙ5#úÚÆ5zVV"÷Ü×å»J †U9ÙLK_<nØ¹«öT¯/äUé¡hTyÃ°b~Dù9rÊ;q##P!>F§-Ì'gy @Rö	KU“z¢ð:ì¡?ÈAŽ®d=/{óOgçEGç“gJ„ªwii>QóÑwÐÃ,N'ûÙ™†ô¨Ã¯àX(‡9´Nìò™? K¢‘OŽb#°æbÀ{ÍÓx‚“E<­=ßÚ	žfÔž•7:IËˆ\£¼ÄÌ'Óàö• (ÍÏá™Ñü%œá(ÇJHdÊSRèyÉÐU$d_—RHEž OûÙ‹[”÷
· å-*0"»B…*`+]ÁIÌœH§BLŒÓ‹
¸À@P7Q…AXˆ'<æh™ªÌ™Ò)q[_ÊÉ/Ódë)Ý1S©Æ“AR„(ÄV”-s.7¡dÌBT?*\'€8K ”³ìbÄ‘¢c'aŽÜÁ	ólS£¶üKi¦±"}ç<¬íL·abPr²±{ºæ(¨ygˆö8\UÁ8ÎqôÅ±s]“º‡NUÈ—<úPšzãKøeé„1\"!Ÿ¿p,\ÉÖnÔ“ŸÞxl/Þ‘Ušº&CxˆÓ0„¡bÀ‚$é•tcDSÅlè…ÍUvr".¢¢E@êÛàŽRF_Ö(kR^ÔÚR—· "?túŠÿô§Ê½"Œþ³‹èœ‘/^½ÍA„YÒ“Šú$àQv”±(à.Ú¾Ëü-ŠšQ©`YElÕÆª!
¬Ô¾Å%ô=åE½ÑÑgDã-|‰_ÃáÂ
ºYèI#¢8[r4¼û}I7-2Þül¤‡Áë3åQM¹”Š™yMKòË]y¬è´¬y)°?i†+p|¥â…QNs²§UØÕu±‹Å6WÀ<:b‡ešßf3’>¬C0ºªMÊ8Åï0NMÁW4¹¸’q%O Bf!ððÞ¡h+TÀo~W ¨› ‚+8èÐ€%(Äà,ƒÉà
 ‚lÁ¹¤X	ð„rZ7o!´™&.!¥Ÿoa·[ž)Egq“] Ì“ž%€*8$¶²&Íý¡)9EWÏ‚¨O,*{V˜Kp€LTê,u8Ëê ‡Ô‘ƒ%Öî@„;îÆïos^kòÖû¡•¢†n¹ØÞüHfYLV£ 	­ A
@xâ*H‚œS…:kÊ‘˜µ‡=\A9PH´ìp…ãˆ“rƒªåªà‡*l¡ÑªÚ‚ªþ hJ7úÑUˆô¤+ÍhGCš
’Nô¢/ýéPSzÔžÎ4¨7jLkZÔ–>(¥ó°…LËº
C0 š$(ÐP¨X W¸A!
ÇŽM ûJ«HMŒ&mibÚÕ®öµuBiw[¨t®Ñ¸ÊjO;ÜÒ†ÅµS9íi¿‚&è¶)¶çmno¿ÛÛìNeˆÄý“S:#J°ø7Da‹X ¼‘!ø¿Žð22ª„¯û*ãÔÛbKS–-ŽP³;yiòò¢·ú)¢€®¶PMlÞPÜ7;võW‰cˆÈÄnˆM"d* íF˜;ìŽfÃÄÙŽpîjZ ä3?ÖàèKéqæiÔž*,/Çu¾ƒ!îI†ØÄŽ›!æ6â	¯ØÐlÓ“RÎ6F	œ¹{&‰‘óyž¬ö8ª¿(ÏŠ·=WÌˆäŠQ¼˜BÂ,Áá¨$SBJlDÚózš1þ6LøÜã½vó")vˆ¤aÚe»â‡7ùA™^AÜ ÐRˆ?¸‚˜g±Ó^Þ”'H^e5F,þ7­4ˆ¤èäAÊÇ`gCß¢üêÃR«Ç(]•çÑ».ÖyÅFökÑŠp g²x’~Âo&%§Vfì‹N€nÒŸ]9Q
g8YiÄ-vã£	0uG8Ÿ ^·àÕ#>÷-\#$¬…'©‚oâL”tøÚW2ÿÃTPzñqRw²³ü¡Õ‘áP ±
¬]``ÍTù§r¡±5¼y¶s1+5¦¢B§lÁ©Âá1@ÐWû‘LVÁQA~„ðc2HÈƒ84›‚ ùâ¤ <>Äf`ÄFIÐÕ=ù÷T¶¤[B¢å•ƒ™'Lü„1áÕaÍgXú„T“õWITyü³•ÒC$¯%»r`–òœ•\»EÅ:1×‚ÀôƒI%z­¥-†Ež'RöG'G€ì48¶c[Ú%6¾ñe—õVpPžµ+¤ã<uÑMâuuÕ‚íÁ]ƒUX4ˆ¥R~óZÆãs]â0 üE:1#êµ}¶s_‘¤Ne<•u\iÍà$ª0]U°…Ôµ
ÝÓ=ŠAWwe5r Ñ5}45e$H¢Âv4]Q;;±ƒ&ã
‘SIèNáïCgszÇe2OHýÖ>Å2pð;¢sWHÃA{Ã;Õ÷]úÔE„…*Lt<KA.7Á_A8F(Æ´&üà²9o‚c©g"i6qIhYDÂ6påS+ c'sN’
‚ˆL•%ŒFdè³dCæQ/®"‰¥¤#É'ò1ŽTI'ù1ö…2[ñr¯à We3ÙFã:ŠGXòŠœPº¥ˆÝC1Øt†Ô5ÍWq?ñƒùÕ_ÕoÁ‹4ƒ'¹b¡<‚Ò5ZQ)†/Öa4s¶PJ’=Ûã/ÿnù20ÖuöNé5£â7¨Bt¸NLUK•'€Ëc>Ù•“2h•yˆÄ¡§³Ó¨ÚCvŠa4«@|ÑAÖ»a[Á³.¸ÉYÖ;%öa­uQŒtüLted²#ŒE.”C,9ãDNGQ@†x5–H_C÷¸rm)L¶…&P$@×„5˜BãEMñŽì±1ã%+bÒ5ÙáØ˜˜7ªÓ/B´ 0l’×‚7Xå±Dª:ùe³a½™–N„o‚%CúBëå%2%é•wÞrV×Özg³»bIò‚¸6Qò:‡04, x%Kié›WÕs—É©]ÜStè Æ¤Uîµ}êå8mÁ+c›bŒ0°)i¡½¸8TÀ_ýu\*p *ðz€kÊQosàvƒñÓ¦aÇGyAYKT46üKxÿCd$‡…å–jé
ƒbv!'*`ƒÂ$@92¦<Žt' °¤¬ç¨÷!	 Oðfoö+@v%0d$ð	IvG¶{°+ªˆ|&4j+çGÒwO1å._ó0KÚ‚Qo!V&Ó¸ÆäLûa9º:
râ[@
y€ °(  ©ßD©CVzpdÅ*) 0,Cƒ®T‚Å\r "W£„#À3b%1ì³t§çaMä(ÎT‚~ ®û®íú§ªBOÐz®„kž AÇuðJ“ÆÔb+PK¶‘ÂQ€° +Kâò"W“ R–5k§ä\Tªý$Ykˆöw‰Q}#Ž¶x/+é¥f†Ðf»òYt(ˆ¹½PxæQ ,wÐv°«,vp|æ«pc¢P6Á*… ›’Lû1EËH[ïÉ´Çå´©µKK´S{´U«´&ƒµFû´\+µ_»µQëµT{cH8
gÃŒÍ{ jYª2+³™°¬†bW°°ÌRËÂ,Q |°PÛd:Æa¸¬y‡«¸‰›¸ˆû¸Œ¹Ž¹”;¹–»¸—Û¸˜»¹ëSÎÑMq´Y€G®$º¦[ºÏ±…`°+ ,    < 2 Gü 	¥B•J ªB¹J•
áÀB_œÈâDˆ¨$Ôøp!A]LµdÇQ¨¥Ë@€¬Tá²¢ŠŠ??†ŒX0•F	ò*Ð+”QZh•S§-­ ªBõÏA)ü™ÕÈ G.TXñ!T±¬Y›uÍZ´k×YóÙ¨?yþà©â§§P‹)AR\ô—$FŽŸ®*õ´e•@TùAÈ«ÊT„/üˆRÃ±+UBtIš‹žTknùzQ(è£œÏblH´âl‡=‘þ½½eîÂ¾wÃæ)Pb!ãœÉþÙREÏ+[ôT‰ñ$ÆdÀ}…èæ‡û¾±D))˜‡ •24uª•š14oÌ8Ò£q]Q.œ1|*U«Èb€Ð¨ÕT-å•UPÁÐxgXN³QZœÁbMª5W{€äáGVaPf©x¦QaQÖ“Y&åÔ“Aª²Þ*€ˆ!RUEM€ég’V´ÑÆÝA°¹ÈO¾¡ôÇT\Ì$euOL6Ôl@•cP"U’X¿ÙFˆdR7™DáöŠ%¡’EÆi´âqŽô$€à‰' ÕQ_ar&ôeX—	'I1L.Hte2‰dBnn%Ô›¡äI³mÅ’*€¬bS8¢OL×vû¡–Ýeà¶ÙŠ¸J,«°ò+±0š'ƒTŒÒ@W=ˆ’GÑY–A¦¢á€¶M q-z—‚ZTOZRôênÎK[­\ó\rÑeÞ(yàñGƒ8	”T…­QÄì¦FË*±°r+¯PµdÚ^Þ+£¾*i'Ôe	9lB«¢J ‡²TTÌýXÅ¬ÉKŸOã!äÐ¶ÅåÝhé-ª²i>¢ö}"Óê©Œ‡èE´b*ðŒ§
dúeX«ÇvZdm'½LV¥ùñÇNCý‡VY¨W3y­i’È%A$oOó§nàÇ¥N²–µv*dÆCUû©_²}iÛHöÊ—(*Q:'ÝTd>AgwÏÛ¶`kßŒ&=IšK0äZZÙÝÞ%ô¦›‘µÑC/Mw-âÝÕßhë-¨Û#²#)9.J
‚—Ã`¸Cž§ÛßIyô‘Iéèèy6ÒcÆO”ÙÒFóÍ¹+­ø­:’Ú”Ž€lAøt)eF¤_Ã	äY±Å*+w¶*pTâô˜YqQC~ëä¥C úM,‚ÉžöBÀžÊX0»ÈÖˆ¹ï´HjF[d@XA€À‹ˆT7Ï8¤(¿9ÈN.”’XíË×à5Ø2—¸0åZ$*˜Oª—›ÔÍ«Mû·b!Aµ¬…Ô¢Ë*œñ4-¨/1Œ¨g·²…‹mÿñZdQ ¹<&ƒxÁVsµÖMBDÚ=Vˆ‡rLžŒ¸$ÖFFÙÔÈ‚ÓÀX‘Å}NITzÖ *èæwLœ”_ÎÖ£í!‹YŠ*QŠ¥`ÐG+xãa(å›|½dä[ B‹­ç<’I˜³9XAˆVocQnL’Fù*T Äå¨cÉûyëuÉÒT˜.y$”Î%qs‚¡8§'kXÊÉpø¦3ÒèÁ1~â‹ð®äE&ï*¼ËUºgª˜˜j:~BÚ’(ùóq‰+IƒÞEþ J105©r¸¡ÆC3üÌƒ`ÃÏ‘Y
"mRff–¢Š(Lqó¢BJB¥-´5 !ù    ,    < 2 ü 	¥B•J Á_"è*BB¯rˆj!EŠ'¢Z”Ê•FŒ‚D˜0¤È¯BTùÇO•ƒœ)q#Íš2S¦*ÔpaD¨"Î´ˆÐe•'U’V‰‘ÔOJŽ!ƒÞôØ°ãÎ¡ijµXueÁ¤L™*Uú‡fO‚8ÓV*“g*ESE[ñØ±Vªä±²ÅJÙ¹…tv$Ú(Qˆq¾2ÈöÏX¥\ªüá[ÐŒR.ºÍÍW+JÌJ²bC—yó*dÖþ–‰Ð­Ê«´	FœtqíÇ}“r4¼8 ‚ 	º•Éq¨UÛcöÌù5rê*yiß®cUºûËƒ:Œ*‘vTQ9~<–ûv‹3Ó4ìÙj|¹ƒ‡2$é˜¯ž-Úeç^ † r|
}Q!DY•ÐL»$UR®·]v )¢“`@á6S|å‰¦ŸCˆÅ7
€æ±…p•R ¤rP›±•Ùw¶ÙNf1èÚ‹ØÈ*«Ta$)‡t˜¡`àqFÒIZ¥"—sÚÇÊ5Ö\Ãå5U°¸
 cŽ‰â•5WWAÄB¾!ô ^z9+FRÙ‘ŽiH)—§Dé‘XZY!X^,^ÊÂ
 ~D5'™dRÊ*â6ÛMX†›Eq’†Ê*:äGKUhñûG‚é!–èÜ}@Jˆ¨@òÔ&TèEEI!)¬°™*jšCÓU	_`-'S¿VG~ [’¬»J“Ç)tyžz$ÕEû¡EßÑâñGì«í°rªSPË&æ&H)Ú÷G¯Ó®[lUd+Ë*ÐÄ’í˜ÒKÓ²[AéMp)‡Š´zù;
)¤Œp,Ï|ð¶€ŒÂæƒq%]BÖÑ¾zUûÇ(ª<³Š3UXc+Ö¬’óÀ¥È(%¢åÕôÓsâí7cÓæñG'¤<S5ÏT!KÁ7WÃŠÌMþ1´Ñ!›S×!E—Š½þÑ/)ÎÄbM55[3µÁ#¬
×;ûáJ—šBß
§KIÇ†±3Ï¨R³,Ïä|3’Yã„+ƒÕ[´[1…Ø«‹ýþ±ÆS<0±€h”2B›Hš!ê-ßJ§¾.°±ü1’ÚÝ–èwãyÕ™ƒA5ûyüZ-»F½.ìv ææíÉq~[n`hEmêÁ"~)ÈÌ—hôYYZòƒ‘Gˆ*¬)Ù¾K¦°†`Š0öhâN"rtuOÓ¼_²N~ b©«GRz™}µÒÃ>"± bK^ÂSlüð"@”"}”B˜¸Ês–Cg~³ŠG|´-u©N`Ò_ÏÆˆ&‘ËJ@cœBä¸ÚdNÖQŸ‘bQ™2éCûÈÃB"³ÐJ‡=JõŠI¢
‘YÁXŒdˆ¨z´ÕT0cžÛÄ$Šêik¸ƒDîd¨;ðó‘xÀ&˜Ù® a$È‹ôPœ<'¯q"w?ú´É$'ÒB@cöÄÈ=3×ƒÞr‘y™Œ p!ZT–Uáì%812Nw‚X¢3^Q4•ìMÑHRì(E5´ËâÅÁg ÒaüÞÇ¼äõ’Ø!kˆ£´$R7ïCI.±òÞgbìi'³…?ôè}Ÿ»ÍZòf4ñLI9©ÐB”$zò¢;ž“)E<BÇŒãRÊ]¤äÌ‹‡¹AQ)Y™(eB¢%\à"Ä­Q+‹9$îØRÆ3*¬9júr6˜Èï4çx¢SY%*ºÒ|*~µ^ƒX™G_ž’¢¹ªè|hCˆ€  !ù    ,    < 2 ü 	¥B•J ªBS¹*40Õ@„
!¾2ØPaÃƒrÕpaA‡	r<øª"ªEQM|h¤C†þ ÂcÊT/~|eS'JS–Tùq`L™\ )]s‹ÐšAWò¬HâB‘1~ùéÒ¯`«¬ðó‡(AE&
ÉPgÆSÍú“ti•*\îZùPÞ'UÊN}hVçAŽy"Œ»2åW+w#ßýãP!°["—…›rñÖ†9]h®R+ªìýªªª?8•öõ9hQÄ£­vŒ
ñg*¤yêª
d(©CVRu¨T*°y';d’gOÝ7;Ë\ZP Cû¤qÉãÝû*@‡ÎÏôò–Í¡Ê§8úðÀŸ—•*Ud*[ÛrËé××zTa™H÷…ÄàUƒõ4lýÝH ¬\£á5²¬‹*©”Ò\XyÁF}8%ÚMT¥RÜpã’á5ÖlXc×D#K,«(–&õ
B\‘4Gd×*­ÐxÍ,Ñôuá”8FÃ¡ˆ"¸ %ÚF†Ùv¤‹†8y+ø±Å\1áñÛ1R£Ž>.µ—bþ¤â‰C×„3âÇ„ªe&Ù]qâxHZêQäKXe4ÑŸõ¥¢E D¾’šdyAYLUd~Jé‘Ôˆb]hû}¾¥§K£mŠ—‚«}Uˆ¡^£\x~‘÷‡m[ÉU|¡4ZFY]U¼ÖA…T±
š†,ÅŽ6˜gAøVG©(HEãRÁì¸Zlvb¨¢‡L9±”]Ši±ˆÖAŒ‹Gä±ï¾UàQ…	$S_Õ*ujb!™¤Kª>ÔH[˜k.ýæÁ/Àx8ÕPýÆÞ¼Z%¤jÄ$§¢®æöërLûqnYÑ²Â,…áV‹hk¹þjüÇ(¤=J¿ SRjJ-*2ƒ\ôYK¢Õ2¿C«òÌ3Îâò¾Jw©àlu-PD©ªÒb]žduW“òL5Öû¬òÌô«Eƒ.ôÇz¥ÎÒP`ê„bDá3¿¤8‹5Õt±ÀƒTÙ~]TH=¤X¥)õÌ2¿ŒËÍµ×yÈLî ¨ÄøRuiÕÙ	!)±PûÓ(FÃ¬1¿”q³íe¢Ê¨H¨’}‰	”æ’Žõâï6`1UE{ÙR—Þ¢²ÜºMºÀUÔÄtIqq<Š­dQÄRöÛ]Ì
ÜoîTøqb*T@XÈóŽ”ÆsßƒBÔW(ˆ\«y‚ã@PÌ
Ö€Ž_XäŠGù†-ƒ±ÝMþ°%@ Æ
%üJY§õEAïb›æ®BçQÄûÉY * =l[Øò‹šA£µÏ-É“ÏMâÒ¹¸"CÖ`|ò°÷X!<¼‹ ø:Ôp©ôòEh÷
¥¬BC:b…*üÀ¦˜WØ;ã,t…¥´§=Ia¶§²µÀê9u„,6”¡‘%3\¸Ð5šD#þP(ˆ¿
“ýXÄ'<p3º44t#'á¨G‹"[pÞÓù%1„yt	O–ÒGJë;=âQ,WQU4ÇiJAP‰×´Ø&v
”Úe.—0ÿÜe,”‰‰* ±Šã„l/X«¢ÖK—@Ä`¤x
””C0ç8ß#Ù%û5(’
\lD§-¸Š?ç)Åw–ùÌÌ|‘AñËŽTªV¤ XK‚wò‹LZ³FèDÆcEŠÐÃä‘bAí7vŠ¢î’Ÿ°L¦m„Û£Ä4Ê Š°DSÙƒLöf£™Áø2!ÈúW¦Ò¶ÙáS!ÛÉfV@™k†1mkQ*û™ˆÌ¥£˜Ëo^ó‚q%ŸŸy5;j!Ýy©@	C<‚Ü8ÕHQ­Ýt¸¢‚¡³R:­š—lãS±^gOPéŒZ'™V¶Þ~oQéV !ù    ,    < 2 ü 	¥B•ªÁ¯*te0Õ+BL¥P!¡‡	¢*4°¡@ƒv$È`ÃB®2ª|rd!U†6RT¨¨`JT¯’Ì¸(ÕÄœqjÌYPcM©`®ZUj©Ó§ªT!õ‰pbC…2‘šÔØáLŽVRöÐª²O—Æb¥J¥À=‘™ª$ÑE:Uj*–/ ¿€ÿ>eµÊÚRXyibÉQaËº÷ª:èÐ_+UªP©âçOgÏ[¯’UxÕ3X¯nM8t#Q”TQ©$öP)@™3
kUïUªbµMå'U©XÐdUcUm§AÖ[jU9¹”mÜU ºvmwîûÖ¾_‹6Ë0,Š±–[³vèÂ8!º™ð"AËa±—ºf-ÿñ×œµÛ*Ý…×]4²ÄB‘5¬¬g{ÓÅÖFHq´n€tÇw»ÁðhñÇOTaEXÿAs*°TÃ`x€¼US]X©ÔQýa+à]ÃJž¥2âlQÅº…'4Â¹è  W¥FRC3Â—
^4ècŒ™[\äa`Vˆ(Fb [Õø`Í•UA·Ñn~€”›‘Vl¡™&fWG„äHƒá¥âd€èÔØE½WT¤oÈ\ b arQÊn¸YQ&DFhM+±„§b ûÅáD§CyíDN˜©ÿ±rˆúGˆhw×À@!.’WÝ„E;ªzÍnÔŠÍ!XýQÉµÙ_ ÎªšJ[Í$P,þ1ÈyÜA3áfá…ç_yU¼E}¥4«¢á­ÒggÚ_²°ÂEqT…†¨,ß±êA9aÔTGaôÄ«é‡fyl†‡f™6è”Úrï´pTcx½œ
,üu"ÈZäG<¼Ù_½êæzkW\ÝR\:˜™È<GýG~ðLEÙAHÔÇÒ^£"Íg%Qûâ"+IÅÈU	$ÏUk¦ÇÉAûR…šÃFÜh„§2—B²„÷4ÖRBŠ*£ 2
ÕXSÈb©dW¯›¬ÒHS”±5ÐXóô‘xŒhø3«8CÊÔ@RA…EÈÝëµ¢7*2-¤PÌ1Ë´+U”¸3òŒ‹Ï þöÈ-o”ìònÒ*IW!J’Ì6¤8“j5¦£~u~«T…!^—G^åSµ¾“kÊ§²4UÄp5Ï¢?óŒ3«²xÕ!ƒ_!óây^WÄU#¨bX¸Ùã€4
ÃbDôÛŒ4GØñGvÐ í‚’‘g/„Åî4£À©™H;›ÚÏªÀhkwâ9Ú£(ÔÁŸl¥ûÓCB²?¤ðmSÐjä°ÿð‡wÓ‰“¸Z3³õÌTøØ÷T¨³§æÍ*DÊ®±SM«8–£˜j £4®ˆ°?\ðXF–BiGSˆ õø‡;¬ˆ•’’“P¤7IÊz„›<™¤VÚ! „“Ì(pZ„êVFÛ¡¢RÍdÎr–Ìà]ÛR“†ÚBñÈŽ²BWDÒ¾‰ˆ1¨°Õ_¸ ñ”Â=`,¸Ul!+9ˆ-Ò¨ŽÌÒP¼ÚSÂMi8À²º†e…‘ë9T™Ø•âÅ±bâBÅù§/‘É=~ØÂTžA†ü‡Å¬‰”hä/=ú¤ðš+ á‡}ÉD˜ÒƒŸŽt³í¨ê€åa”«òB¶Ôø««Àêè£ç)D*Òf‘®:¦‡soBÚ=-R®D4¢¡ÙwÐ‰ˆ`[Ø(zXQûÅDê¬9íå,©B)à¥RÿPk¢Ä2P,P±
'æ*edMØ‚‚£Wâ¤0KPµÓ##hrÀ‘MàžKrE}EÉ]*Ì’ŸKå&ÖñMSƒ3W-Â0/’ÅXƒ#Ø`îUŽªZ¬Tù=!NØÂˆb &±bcÕX…P¨›Bª®²Ot`µCœ”/¢Í`äjápl61h¥Ž¢3Ùf%Å³f‰mZœÒ¶R­vÉâœò×î‘¤iKT“áF…”4ŒH±Ò·@úR™å+\¨3!Ä'Ð¹ËwÊ¯pÅ1¼^`XLFÉFå*éTEÊÞØ¸w"®|ïbØ[VT !ù    ,    < 2 ü 	¥B•ŠÐ+‚,tP!ÁB	º‚˜J!ET	
¨±¢+… 1¾Zxb¡Š_Qt…° ªUÏVaLHsáG„';¦šˆÑaH;9:,ôR•µY×¬]›¥T)+k²VÁB‰2cÃ’4±î¤¨ÈgÅ®cA»FöÚØ¤h›&µmVµU?M|ÅñâI¯T+ZÚ¥d	èi«¦P¡VÚàÍŠ674HÖ3²H—²
D¥J?BƒÞâ™
@l“B³V­êÃžw¶¤¸“jßk²È®
ôùÏâ“D2ô‡øÏ§­):U¢Gš‡Æf…öZ4@1ü¤­¢Šp@û¾ÿ§Ðñ*”[{Z1zN“U¢jø‘
õk´øAu<†wáá}g…x þ
iV¬¢ž5©huÓH±Í–Ò‡Pá[!yTC )øQEgžUqÚwWØrÉ›O=æ“IžYñÇiô‡1œW¢Â•—ŠŠO)GÕdôZC…<öÊÂÈIXÁEy\YbâaDÈ€
)—lvÕQC[šy7‘V"yXQ…œ%n!% yö”,­ôÞc8éÒGya”¥g”rˆ'ž¦ ÿù†‘wlY#ScÖ|ÐÍWè™òTZ«ˆà‰ÂåôGûéÉb*©P´RN/ÆYBAFRøˆY«[* wÞtœ‚¬´vÓLGÚ:]šTR²°B'ž(²JY¬w¢o„R…®²kOÌ2¡CJVT5Ñ”ê[üAÅ !´ª©*Dš‚ÐÈRÓA‹<Û´“íôLn«x‰#æÑÙ½ÚùA p‰ˆ«±¨B­³ñ¤P©(xMÃpv†Çxä‘GËxŒ¸*¦¦Šg²¬¦
N8Éˆnƒ¹jÍœ#VÁ²Ëyü‘´ËTH\ˆx^È_
ÊòL´í®KèÈïZÃÛqM»¬thJ'³… ~g*ówH5·h®›ûfí*4%†íGÒ£Ò÷£,=bÍ¾-F)Ÿí96Ï‘)%KiU¬Ì·*19"Ò1ƒG e©Tq‹lßåì|
-òÚr¥!GßÏ¼ûŒ*³<âÂòÝB£¦à§¹ÖµnKGá±IÿAÊ3±°fùØß Pž«7PK
5¶Õ³©WÅ
aç±7ë¯ûí}†T¤}ûLÞå,p!³vd}VF]©Ê[?Jß£„†ù5ŸôÑqéaMU¥—‘ä"F‰JêÆ¼±­lvæDá¦¦œ¨€„sŸú	XàvE.recYÙ^VBâb9y…gªñX¢%BùÈMš4”W(gû²Bg$¶4ÎŽf‹ˆXU|$IŒõÒX(ç:¦‘–šf!*ìG²à·$è/ªA.ŒIMLW›å(¬Ðƒw¸ ®ö¤"e¹Ó”‚éA+2Ž‰ÎÏÂDUT-»ñhBC5V+@AB‰gÖcX8$SÑÙT*ºRŽ¬¨,déÖÅ¶8ÇTüKz¸‹Î@
ö,’Õ'ØB¢uˆUÈÉ[òÎ¼4'õ8’t/<S­
õ•@
Rz¸K*·d…,U‰XvâŸpÔD)¨<Ã$Ï”Œ®‡@lA§9ÑŽÃF+ hKãúÎIQË"µ!sIˆ@¶†ŠÎhüG\\
!¶I67iÈDçsØ‚vÖKŒÐJ(ÄRa !•HsÂ™gˆÀI þü«-ÊÙ™ºf¨8Nµ‡,cq¥
šƒ(<•c†¹"å¤d'îpÇ9¥d?,!V…¨Mj.4¤Ä*f±Öè‘*AX§âwÃœŒ3!ÙˆC	ú(Ûêi#—Ä,ŠÂˆ6y…ÉŠZÁpÐBˆÂª!*XªfaŠrb1“’`o&ð)`)©òFå¤Õ/Ö!K4£WÜÅ– ù‰`™•°¡l/ý‹R¢¡Ät,<+ÉMÈ¸Äª¨Ô¢7‰E,·ŠXt–RéX,¨ÁÏt@É´r[‰s¢‰Ëõ¤wJŠmõò’«Ú¢D¶é„æk3@u:µ¢îv\‹@2ŒÑJGÂ(¨å®K(ÐÙ@ !ù    ,    < 2 ü 	¥B•ªÁTQ˜
á«…¨F4ˆáÀ…]5$(ð"ÃB	†Ìx‘à+‚Q–dˆRU!U£(¢:¨P!ÃŽ¨„¸Ð Mƒ'=ªäÈÐ*@†J
¤*PR@« ¹<8rÊWž$«É„¯:ºÂè ¦J:töìÒ¶JUqôšjì@…;æšµ"ª?Zª¬%u­!@z[ÌÅl[©()VÌ1áEºcº"è§Š`¦¥5-ô!à?TªÄx¢Úq ³,ƒV¶è—¥äƒ©¶x†º”­Ü‚×í¹Š•-ZbHŠ†ÝX(ã€BoT4xqÏûObä)Î%O[C\§Ëì9âäV«Þ¢|rAÏÇ{ŽA%Fª?×Yñ‡Y¯©T]waU›LYÂàW"˜u~çÇ‚UÁ…f)WÓJ‰„`D5Y… E&t[l½VÅ50…ŠFˆÔM˜­´ÜdY¦RG°<)K=sÍ5Ö\ÓÊ*.ýa…„Ž…8‰	1èHE4eCªX“$4Ö°ã˜1y¤,Ð&˜ÍY4–rE¢Ž_Z³Ê!žùqÈ*|Þ)Ø*f^Õ“š¥R|©è×rº—Š—²DõD ± ii’Ñ\ÃÊ!~ jM+€4†Ükî½)âGcDb—û^®¢¡§×DCæ!I“Q÷¤™¥Â]M’éÄ’VÉâe U°ò%+€láÇaj1Å
’³XãVŽeë&epêhÙ£ÇV±J’QUáÇçV…„	È…„j¡,4]s4-ÔI¥‹5‘Š‹$+1 [y¤†ÇÁU—ŠŽšÕ˜cÌÙÄœA‚kÍYÖÜÚð
W‘ä1²ÈZ¡k€L'–™ÉÖN]Bãª—Öx†Gj~äÑ³É$Ÿ¼°P‡…%Uy$Ô"uu°5\0²U‡ÉyWrÖSqadÙÂ6sCŠ0ÇhÒ¨›ó—ê*\rp¤ŒB
)Áûepd´c¥©
ÆDµ04U<]Å
_]ò(ª<³Š3q›üÇÂ”íkè	eSl"rR,`æ&+ž!Üpr;S5ÏÀÄõÁ¨6 ¥I‡–Ý”
«²T¡¶gNp5)Ïü[3´cíõ½{Ÿµe„¨äP‚Z)»vÇª!Œ0Ü¤8Ózä=Ã~“c7ÝJÏUNÓÓË"ajv“,wÜusMEÞ©„Hí`Y¼Ñtš1H,ª!&@Œî`	³ÛÛâW²ÔHæ?³ëÊ·tò-é¡‚U9×, 8‘QámA³›Õ¤ˆMÌ,2Cstr_d\Öx5À$!?˜naû&ëL×bÇ#ý¢Q¡H¿ðg1X@
1²¸†ûfCŸ%p{P…,¯Ù#Ñ‰Œäô?€ÎKêX˜¸ðÁ‚8%4gÕ»þÓ˜Ö&ppÊØ·\ñ¯hlŒžŠ†˜RS+¬"–ºF—\ó(ss¹Ú„H_ÕP›«ðÈ@j†¨+žäFéÄJ“tò
/ÙYQ[…ãXÑ§¨@%V³Ó€ÎÃÛhI ;9ÐH|¢Š]Ãf«¸Ã¡2‰\ÍÚ•YX’¢‚¬Ä‚;²VN‹X¼ÆFgá‚™’((ÒèA™õâ–¯y G:'µˆ%ˆU”ü‚I
±Îš:ÔHóË=–aPu¶à0Eˆ²‚<WƒÒüaV8![ò%Š€äC#Éb!ôsUÔÇ&¤	hc¾Ó°?TA[0ä23ã¹«¼‰:µ!Ž¡¥P@õÌ
Ôµ˜-óFùúÉ3§s *ù!e©TYBô;‡DÊl:§†ôêM	J!~Z…´"*Q1ºN3ÓâÌòš-sÓLÂÅË”„.þ{j¢ÖN¨¸5W®iJÑ!%9ê–+	
:É‘àœ-myÍ!HñškþñQ•î|d‘Û)–‚7Y)^ò’Tb†X 4ÂX”˜È‘~Ñ©R’
2!èDY”]öE™6µB¬R–Æ¶­ÙòÅ¡=Bi¾*rG=s=Zümp¤»á>è	 !ù    ,    < 2 ü 	¥B•J ªW¦rUˆ A†SØ0Õ«‰øŠàDE]¥ª8ÕFŠ;F¤XÒ¡ÁŠ~þüÑøP"A…:”h0"*‡*m
TyÐ¤ÇB2WÄ¨Â´
 *\òp‘IQ¤ÇErÌè0'I–
!ÆlÚ•*z¶XùceËŸ‰a+ª¬h”f¡‹@†,¹…,S.z¢r!kEO•™åmHoP½+EB$Øði[§QÛúã÷ož·Wvõ9rgÊ¡&KZ4	¨µëÖ€eªmº´J[Ð[MªÔ
ò¨iÕ©{þqèµmÛœÏvÞ˜.OŒ	¥™3bÇÝŒÿ¨ÚøÇg©ûLÏ&|8¥y‰Z£c$}µâWŸQAíløé–ñVèFìÙsaE«uTG7…ÞpUÈ*Ö\3+ORlyˆ†ž\ý‘4`{”ôœI^Ó`ƒ"^ák2×Ñ"Wa”^í-4Q$©Bbƒ«(HÊ‚
š¸Ê«l†•C‹ìURuYUÑK[É"¢59†H,?Æ’Ê=^£%+#¨N5…ÖÕNd£ˆÆ4%¶¹e‡h	 ®¶—BÿÅ'B,¥f£5PÚ5³4¨` ‡”Bâ5Ñ°’ãTIPozJG’‡?Ù©U*€ZH«\ãdUø±d*†„Šfkûog“J4*	IC:Ë§¡BYß1QQêb¢k[|TŸ(A§gM/U3è*U°(+Pâ+y`{­SÄAËžM.ËÕŒ¨Ø(‹5ZÃ
µOùêÇayø‘Ù2µŠ!¥rXd_u:Õ,€BÛiSØæ1¯Â
ÿo½¨$°«-à8 Ðpˆ¡Na[Ë$ÃxTA «²Ù·ÕÝÜ]W±85NVaÍ ¶iëðg¤ŒBÊ£”<o‚A.k³GCòŸs¡½ò§5:ç¬róÊ4Š*Ï<ãÌÐ«üãË Íh^,¡tQ’93m"B»½ûíL5P~]rÊ€”"¤MâêgRzõËÁÒFÃ¶tçAÊ3‡WãLÑ
ûú‡ËodŸ4))¸„¼¢.Õ¯ rÉBw­÷g$¯<±‹Êz˜çh˜r
hº²´‹5ÉŸ	-ôÉ
c}Èë=©:Ó©]% Ì©î) ÖD­ÊôÂkôÏïºˆL˜^JOÆƒ«•H8CjƒãíÞ°¼Ë›-ËV¡'u5]¸ÓÙ
1÷óçFcŸ¯Ù
½ò 2	©ÅjÎ¤Js¤”@YƒûSîô`+@<a3"£×µü° YbŸ‚¸BýØÌHÁ[4ÐÅ6©k0`R°Bk´¦XûFyMX2¯Œ‰9%y…óZ.0¨†¬ø”Üâ‡-jë¢ÂE‚xžPSèa óÔ•\iIK‹Ú X±%?ø§EùÛáiÆ•?iPŸÂªô£âÑI¬€…Ot¨›$‡Öa[á’‹Ã}±
¢Bbò®g{ú–‘`$Âþˆ„(°`P‰fñÅkLè5­Ñ
ûU<ÈêUò[XVŠUä«•k±BkÚ¢‡V%v:ŠsÚHI“§t*Ä_üË¨¨…-mtÓþø4?Ò¯" tÍY”ã”ù‡)­B‹Ücž§¥-y{”]4ÍÂ™Áà§3ùa^Q–—Åž¨®ç1ÉˆT¤¢‡æ0H_Sn¦q%k\¦ñJ%…Ù–‚3*è„!mÖ›,1ÁDë§MÀÓ)gÑƒrÎÂÄX1#3êS²ÂwË~þ¡/dá ¶°Ò•4ìÔf^Ôf¬¤QI]‰Axõ-ðÔd2)!³ –Š†v¥™2ÊÍ²Ø/‚ØŒsaÉâD×†6d)ÉŸi„?Á©Õdrµ_‘P˜,™©¬e«Y} !ù    ,    < 2 ü 	¥B•J ªE"(ÐUª‡¨
½b¨0!ÁˆS-*øJ`!‡*©ðÕ@ˆ!ªŒˆÊ$F‚[ül!D±âÉ“rYèäÇ‹>A¶Œè0âIƒ
ýT©òdiŒ*DøPÑÍ“EEŠdY±gN‚EQŠ\Z…K=[òüÉ˜’bBWã
-™ª¨ËŒM
œ¸5Õ«-V–®båÍ·GóZäxQdA›;‘"­ëeË[Ð>Ù¶gÝ›\AûlÉ(VÊ@Q"uˆ5 U€=”Ê7áN‹TiŠkô+åÇ7•2ˆ8 @–[‚­Êp¸£?ç=,ÜÅ
I¾9 ÌûÇ•j}¨ ?}‹nllúöhÇnMGŽ|Ù„ÿlQ¥êÐªCª’GyõÜl8TÚ@tÜk–-È„Ö\c!+«¬¢J*ª¬RÊ€@å@6)&’KÕW*ªX «\SáŒ2ZXá,öÛR†å—d‡¸^Íˆ‡Ðh+–2á!\M…­T³c[Ü„”U }tZoTAˆœ5SÊ²J Kåq+ljèÇr^34F=–‚WÕäã@‡<ˆ,ÖX³ŠURÍ,JÆÉJ,¢ÄX! @‘xEqåUJ6A¸J K–‹ŒÑ\3á¨6^ÓJ,ž×VŠûèRh”’¦š!ÇqŠfŒS²âkþiçŒÎí•Úc”*H‚¨¨ÈxFs«Œ«˜EˆwylH©tjàT¾16P±`ÝD+ŒÖ˜Y…£¬@õU°KEî˜J!é…ÓDx˜àWq±¶)4ÖÔŠ#Tx¸›à‘GJáQ…mÓõ6/P<9t[É·© Upº”K)üÇÂj)ox)RC}Yå–gçTœ5ÐÈR+4h*õ.Âjý1òÈÃû‡i‹aÚÐ¾%dU z,Ë5²T1à»@ÿAÊ(ªâ3ÉìæäËTµ7ñgn¤±ÇÇðîÁŒ2
)Ï<ãŒÖjû<l—Q¥PH¤‘Øç¦²@cEàé>ñ®[íL5²È=ÊÈ
S•_­ºXcsùhÙÆÖt,ãRk÷w,ÖT“uÝBë‰±^¶ÇÓD€øWMÍÓnx~Ô=ŠÜr“Ròº¸«Ä%*,¡hSV‹BJ œÖ°ÚŠœÇÛWû4[TŽÓF÷
¤h«¦R\ÍÖ ÷ô*í¢\÷Ï?s|F°:ŸIMv,rœŸK& j£,uî	CR¶r"–À,.Ûc¼RZe(Pc²Æ, !9v9l@Asü@´ko'š_BÄ÷	BãHÍ
‘Ö¯ƒ¥Ï9ªE ÐäEg"û\!HFVÆ"ØT£yV¨,X¡-À(CåQED6e¡óŒ3}Éaëú²CúÌîizxM˜=p!\8Sœ®¡Šj°‚
vJ±ò$’Ü´
B€àÔÀô£1ÚZ…Ò5X=/Tì Qbw™ÍM…ZE› ‹UÄâª`E¨u­?i{ÓMß~ô›¥‚<›£‘¨A…§¼(JcÌÐ€¤¶"ëð-A
œÓ¼V<­Bw¬Ô4„ÄerÙÉñâ²xe#4!aªþP…e¨MŠÅ3øƒÄ3Ï{Ã‰ì§@“("@´2OˆÈ)KC(}ü€¢ŒèÜ‹=dëäØrØÃYŽ‹V„Î™2äD‰í-bÜ«“Ä.’·Q¥£z}b·Ïæ °UÆr'N*¬‰E‘UÜ‚Ýe6
ˆ¤µ®"µ9žE‡u´½qE*'ùCa¬À´èahÑñ’c*Š4žlR(ôËÉòE–VË
[0Œ0uˆùéÐ#B)`—²Âo1Ó,„áüx8©(®Hlv:jö‡vÕgÁR IáW›Ýœ†#¥é	t@Â¥µÎæ.hm‰ÊdE9µšô‰’z"¸»g1ZÁNRC@xÒ“žR)¬V¥ˆŠ€  !ù    ,    < 2 ü 	¥BõJ`*W…Rz…*ÕÀ…:D8PbCˆ6\Ø°*SI\˜1$BTqcËT…þüèò#Ìš"5‚|HÓaÆ”+^¼èêaª?Uòp©¢'FU¶ÈD5´PQ¯Œ^eh2!G‡/Ò|b•¨VªXÙ’'íÙ·	/–$Øs.Ø”Zä	QÏ·o­ü¬¶ÊŸaƒ6<Y²hØƒqÁF+pËÛËh•FÝU¯d—µYt®Å¬W	t(Ð*k³J­ZµP @¸qÿùyÐ!WB+ŽíhÓ%!ÙÖ¬A»fysh¹mG¹$Jâ5¸8£ªjû¬’‹—mU @ÍgÍfe÷¨œ?ÃÇ(öaÁ‡UÅ²&Kü*@oIåÇæ+Ì]szC‰–buRV=‘„
,ÏôW,œe…k¯-x+±¬’Ê€è1Í,w¡ÔYf´×@±d¨\‡«Å’`s
ò¨ zªüqˆ‚
&¤×GŽUœgYV,Ðô·ÊY)6g+¶•H)­ùHž*ª¬‚åIfä OŽv”PÈ…rä™w–«”h¢L«ye!G‘q×%tÕC5öW4Éa¹Zx;9‹5«ø‘§‚€Tw]pE…„š¦½’ay«ñi\äÉãy¬¥¸Ü5û&ÞæXd„wuçÙ*äR âu˜g4WBÅUéw,Ç’©J=%É’‘i¤
yÕìž5¾û_|¸Å°¯6l¸½yDá¦¼é›¾&ZÅµ¬DõTT‡½UÔ‹HäBÈìDEÆ]~²d¸k5ˆÚæ.€õæ‘GRx8|o½-BÐG\Ý×›MI(T!Õ¼6%z²L)Þeãñ‡Êy¬üGTÀ¬æP/ýÄqv¸>Ó¡x
GÓ¡°0¿,´Lûñð°­!¬%©.¡QîL^ýÉB*÷:Ü2)£È(/-óÆôiÇ—I%½M,¬lH5ÉUaeOû4lô]?óŒ3¤¼ì0ÅÚijc¢tsW>*rƒzVãMŠ3p¯âÌ×y=l§âTUiC‘Í®ÉÞß51Ô³Ð¤T³_5Î€íp¾ÄvET‹g6µ,¸…guétÇyyïÝwËSQi!™‹˜íYÌŠ,ÕìœœÂ³0œ[/wÝ5Ñ-Ç<x|—>ÙO5²WÅkØò
©SXC>tË¿\/M;’ÅF™
KVQ+6d­¸½& zÜÃ\†¼•ív#›Q<ò¯ëì‡ºz4nsº´ÌË^{ØÃòU¡»P''hÓ”}l2k<o‚ ôp:.€_ûøÂ^5­@„m|I’uðCT@©dëSŽ5 aåŒHZ˜‰šR¢k âU\éØ]–Õè¥BüyÆ”BÄ;@¬âQ#ê¤¢óø(Hñ‚`ÇÐÖ)	6„%« 5–¢ÁíÊT=J‘¢* H=µKÌ	£¦Ýä ¯é›’Cž}ušÍ30iˆT È9ª8DäÒ´<+;$©KCj”œ)é!Dh<OV0 ·¡X
Z… ™c…žÐl4NrÑVrÁäÔ†}Jæ‚"•'d]#ÚùÓ}²C3jN$¥ãŽl3›Ù©FÐü ¤
¦4q)È}$Â›¼üb?JÄŽã‡5H-€`Ñsþ9‚þ2[Gœæx:QÑHãF´…ÜÜ7Fb‰dn’•’HF"ÏÚŽÆ
qö‰'9	bbtr³›œÆsÂÙ¢F,æ¤à …ftkdˆ-è)i·.åKÏ@È1ùkÑ	]]f)zXÊRÖ’¯ˆd|žÑÆ^ÂÎ»œ	50ŒeÜbÍ`†[y©J¹@ó˜‘H&IIò¥V- ­bæ1Ú‹F°ZŸèé®:¡LdoÈ1	æKX‚¿îØJVœ›H:ó‚•ÛIÄIæ²T[¶²Œˆ%ÎD/+VÍÎÊ„/©Õó*Z.	zB¾(M !ù    ,    < 2 ü 	¥BõJ ª¯
D¨p`ªT¢*äð ¡W_œ˜ÊÕ@‰…<r\È±c*‰2<(²¢ICªHm|ˆjâFjDyÓdC‡.mj4T( @F2f¡?5õxèÁE6MÎdÙÐÅ‹"=jtlY@¥åùãç¤Eš³Ú¤£@«@)tH, *¹ä1k¨ß¿~(nÄŠÐdÅJxÑ`ª²e«hÞL…-[¥MÑÒLÅ¥Û¸(slép¯Ø*Vø:d-Z¬U«b©hˆTÓÐUb@èê­O®Y?jMåúo UÖ E¿fÍuêÑ®]cë²ªÌûUþH}H•¦bš;{ºòû¼º{k²¬­
ÈZ+íÚ­G›öŸ?BP–-Ä*bµ'|óiöÄ[øáÙ°’ß,×¬òG!€(TˆT	”•G^‰HUL!U|+¢ÙªäfÝ5³Ø¶ÊI~‚Ÿ…ªlÅÓC?)7EG­+Ö¸XE Õ\gÝŒ3^ÓÊ*ªø±ÊŽªÜåQ\‹$W*;iUdtòiVuÐdH_ ¾Í÷$Ð¨R+¬ "Þ[=öQ‰z^¶
’²4²¬rHáv•~råu«ò‡A?Q†\Umt±@Ã`ÒeÈõÍòæuÛ=c%~û€Ì¤Õx%vu^U…b$4«T¡G|er$vk¢#uÞhT[ÝµšCÅý”§M›J—+î¹xetun1i\†<ƒŸ,lÙcÝežHAÊ(¨ÕYK+ŸJ(!UHÈQ5u¶5WKŠ4fÐ€:4'¾Yæµ¹²…(ˆæÁpgmm{ÐxÉYÖ¯bR	ŒŠ*ò­û‡{HYCgxZ4üGyø2½Y\ã%WÀ…ä†ë’ÑåêiUàqrÊ(ÿá³Ã¿Ü’e™BvFâ›dÕZßÓ~ôÜóZký·rˆ§Ó@]jl×i3‘k3 [ iM×@3Ï*c=
)£û 2ÊÉ*3L’³ËíÜG¯ 	`;óJ×Y¢Ê3Ï8CÊÏBWaÙ––^Ô•r.M,ë2)ËàÕ±RÅ
D«<÷3+®âŒÝ)w}—dÞ$;˜–ÅÂÊ38WW…,Ñ¬]…áMŠ3±XS3w£œ‡Ï"–Ët*äÊ¢yÏÄ7æºQŽÖ¤,ÞøãX3L)Å/¼å½bóh bˆV‘ÇCÏ=÷ÉBs‡³_e<™F‘
J ÃŠ\ÕFè¶=üaÍ_d²Œ¤&@‰ÈÆdQ=À:Öøë´¡Œ
)£`NFb¾¸E*pšµ¢c”_¢3û(\ÞVf5*4¤!a{Ó~Òa¬fœÒ âs£Dg€X„F4ùufƒÐWÁ´òxÈUD§
UZVxRê…§\«‰mqÙ\®â#¡¤f›;XuZ.¬";²`…‹"!7igªÀWL0%HBQÎ¦DvÆ2º'W›B”ð“¡Tdg;m!ÐWˆ—¤M²xÄ¯dá"=‚¸‰Q5n“
UÒ>1*ÍäfÀ¯	$fR%%1¹ŠPYcô	Îþ@ŸSQiÒƒÒ8¹°%²Ó >5É4½éTÚiE5V…ŸXäy$™¹Â²¼ü‡•UØ b¤ŠÛ,*7ª¨Ò!´Ó»&nHHÑÉ¬Vâ’½ØÊ=ÒI¦p<£¶ ÅB­°Ž,ú›ð¨Pv#2M¿rBG½ç:û¡…¤„*Q•"°BJ£4ó¸´‘Æi_@øÑMæg|!E_þƒÉ‰²‚¿ô[Æ
Q·± 0kJä*`ñŒÛL£¤(LŠ¶ RÂŽlQ'yâ¥üa3Áq!U±úŒE3úúÈÀº”Ë-tá‡Œ’”rA‰ÄwöÒ¬œ§<ÊQL-ò¼£¹$˜FñÍRÈÅÚiRþ3NóDâ*e¡D "¡æDžB”Z2‡9…ÈRPÊ—Õò:M¯%â:	åÆ¶-d£Ïââ‰¶šŠ‹m)O”"åË.5 «œGH§(oëÂ™ÍÎ¸Å%m@2¤e5  !ù d   ,    < 2 ü 	¥J…Š`!‚¯

,T° +ƒ¯6Dˆ
ÕA…©%$˜ñÇŒ5
¨± A©ZLÅáG‰«T­:ÈÑdA†‹BÖ¼Xs¢@•)¢òˆ
h*UªbY“e­iShÖfA“kàD‹C->LXh#Ë‚D=téåÑXÏ˜BuÊ¶é5kÐ®Íª¶Ê¦U’5¿b=9Q¥×UÕX-…¦T0 @
´êš¬k×âÎŠkåH ‹&
µúªìÈBteÉJûlU *Ub þÃÚŸ?TÇ‚ü²µ†.q5ùP"E‚ª.Íu•?†œÅZÕt•óå¨XS	9Úãh©6æ*”'w¬û“®bµ
Ú!@«UƒËÔ±µÚÖ¢Í‚»Š.¬ ÏºÆjç^ƒ*¹äÑ@«ÈÂÜ*ÅUsp9+ß|´í·J*~P÷Þ5€”Uvºù—Êh£‚Ú‚lxZT°¦Ekˆ	V5•Â
+T”µV}±ôP*ä‘·" ë	fÍŠ"SmÆôš„rEs*~lÑaVD¥THn<¹ÊrèUQàTÖ„ˆRðÙ–fL4V›!µ„ÑI@¡a¢6Þz« &á{MAH)ƒ.F›cÐ¨$+zøñowyè‘s”ê)˜,èq±4¦±˜ä—ÎQ¹ mâOu†Qû-(K)[TqÈz±èQMÉÂ
z<¦fm×,ç‡›úx—C¥c*”®‚žÖ§àZ}rÑØ{ÐD¨mu]èì¸¨nÈ&m„™§ SGŠ_´€X9g!³Ee¸™h¬V›íåy¼ÆÂJ5
yš›VñÚk-ºÆQ´¬™ä›]%K öYÅhí2Ø§‘}þá‹TäÁ"j%tj^Š|Ñ@-s”›LB*hMëB…ØR¬§Ex—Cç12U(ôr^y·,«”†Þž}Jh`N¡tCÿ‘Gm2[Ø´‘X ½ŒìIÎX+wžVS;ûGsÚÑ`çÍš×`Ý¢o×¤ê]	çj$¢÷ÔÆM¡œGÉDÿ1
)£ 2JØ_mÑF\¥ÒòH–ñêi€<#X½6Õ,Z{ÍÚ(ª<óŒ3¤¸þxÒ2S¼Q.ýâw¢¾ž,XG[Å%wÝ	)ÏðùÌåE·ˆÕî›ùÖòæ†?cE¬¤e3\ŒCsòã®“¢œ5ÕÐž7ùv	ô“U94¨=o10¦62…õc©Q!6k¤`ž3hg;¤®K›‘ßWRb¸XloLrkÊÎ & ñMr”«kðà5* è7@Y_d2š©Ý©jMIÏHf2¯ùAo_ûš?9-ðsûxIÅrve@(gÖp×5 ±‚Çñ‚Fë›Â"©†PÏ&kû—ÆHt°¥$*˜RÐdè5¢L":êRnè™/IuÌy p—5¾«8"cÑØPæ¨TÉQ®H•Ònâ—ŠäÆm›âTúÄœÇ Â
nY…ä…“4f?È²æd´¡¢mjDRJã®6â'.×èÔ‹þ ÓlÈª¸QÒv' 'ú~Ìú—¥–2µ¥ÜìVÌVšº¥
Ú¬\\ªa%5c§NL{TÞˆè1«€Z–“
h½E2Ág@È¥ä9Ö02‰Ëe2ó4+b¨ã«P¦ür?\¨#%ñ2='ŽS¨9„ƒ2Å 4
XÑXÅ°"ó–ú€+(B±X¤|ãªcZ+WíRL‚“1P¥"I‡š’*NÓM«l	!ïsÉÒBA1h-JÈVº? fû¥,†å++ÈÓCýb½˜0=”]ï±„!£kHI?±x+Žê~!ÄC]ÈÄ¢&2…i±kË[6,´¸TBûy‹*~ä‹ldž\
½ÒUÕÃ f€	52&“XPéø9ê{°Y=Œ1+ËÎ”­2­H5-"¥qˆ:`Æ‰]ÛæX–•%°Ø¥l¹Ì5F>ïr¬*Ôº£¯s\„KßñÜ]T’/TÀBOi‹S¶z¨›Áâ*yPÆØÈ1‚Ñ‰5T5X(g¸±˜ëk‘µ—À­*­»á\Aò…Ð˜¥V;`ÉnW.“,˜y!Á¼‰Ä"UÚÞ6’Œ	èî²¬Ó’«_¾—ˆÞ»úþ57 !ù    ,    < 2 ü 	¥BõJ ª¯
D¨p`ªT¢*äð ¡W_œ˜ÊÕ@‰…<r\È±c*‰2<(²¢ICªHm|ˆjâFjDyÓdC‡.mj4T( @F2f¡?5õxèÁE6MÎdÙÐÅ‹"=jtlY@¥åùãç¤Eš³Ú¤£@«@)tH, *¹ä1k¨ß¿~(nÄŠÐdÅJxÑ`ª²e«hÞL…-[¥MÑÒLÅ¥Û¸(slép¯Ø*Vø:d-Z¬U«b©hˆTÓÐUb@èê­O®Y?jMåúo UÖ E¿fÍuêÑ®]cë²ªÌûUþH}H•¦bš;{ºòû¼º{k²¬­
ÈZ+íÚ­G›öŸ?BP–-Ä*bµ'|óiöÄ[øáÙ°’ß,×¬òG!€(TˆT	”•G^‰HUL!U|+¢ÙªäfÝ5³Ø¶ÊI~‚Ÿ…ªlÅÓC?)7EG­+Ö¸XE Õ\gÝŒ3^ÓÊ*ªø±ÊŽªÜåQ\‹$W*;iUdtòiVuÐdH_ ¾Í÷$Ð¨R+¬ "Þ[=öQ‰z^¶
’²4²¬rHáv•~råu«ò‡A?Q†\Umt±@Ã`ÒeÈõÍòæuÛ=c%~û€Ì¤Õx%vu^U…b$4«T¡G|er$vk¢#uÞhT[ÝµšCÅý”§M›J—+î¹xetun1i\†<ƒŸ,lÙcÝežHAÊ(¨ÕYK+ŸJ(!UHÈQ5u¶5WKŠ4fÐ€:4'¾Yæµ¹²…(ˆæÁpgmm{ÐxÉYÖ¯bR	ŒŠ*ò­û‡{HYCgxZ4üGyø2½Y\ã%WÀ…ä†ë’ÑåêiUàqrÊ(ÿá³Ã¿Ü’e™BvFâ›dÕZßÓ~ôÜóZký·rˆ§Ó@]jl×i3‘k3 [ iM×@3Ï*c=
)£û 2ÊÉ*3L’³ËíÜG¯ 	`;óJ×Y¢Ê3Ï8CÊÏBWaÙ––^Ô•r.M,ë2)ËàÕ±RÅ
D«<÷3+®âŒÝ)w}—dÞ$;˜–ÅÂÊ38WW…,Ñ¬]…áMŠ3±XS3w£œ‡Ï"–Ët*äÊ¢yÏÄ7æºQŽÖ¤,ÞøãX3L)Å/¼å½bóh bˆV‘ÇCÏ=÷ÉBs‡³_e<™F‘
J ÃŠ\ÕFè¶=üaÍ_d²Œ¤&@‰ÈÆdQ=À:Öøë´¡Œ
)£`NFb¾¸E*pšµ¢c”_¢3û(\ÞVf5*4¤!a{Ó~Òa¬fœÒ âs£Dg€X„F4ùufƒÐWÁ´òxÈUD§
UZVxRê…§\«‰mqÙ\®â#¡¤f›;XuZ.¬";²`…‹"!7igªÀWL0%HBQÎ¦DvÆ2º'W›B”ð“¡Tdg;m!ÐWˆ—¤M²xÄ¯dá"=‚¸‰Q5n“
UÒ>1*ÍäfÀ¯	$fR%%1¹ŠPYcô	Îþ@ŸSQiÒƒÒ8¹°%²Ó >5É4½éTÚiE5V…ŸXäy$™¹Â²¼ü‡•UØ b¤ŠÛ,*7ª¨Ò!´Ó»&nHHÑÉ¬Vâ’½ØÊ=ÒI¦p<£¶ ÅB­°Ž,ú›ð¨Pv#2M¿rBG½ç:û¡…¤„*Q•"°BJ£4ó¸´‘Æi_@øÑMæg|!E_þƒÉ‰²‚¿ô[Æ
Q·± 0kJä*`ñŒÛL£¤(LŠ¶ RÂŽlQ'yâ¥üa3Áq!U±úŒE3úúÈÀº”Ë-tá‡Œ’”rA‰ÄwöÒ¬œ§<ÊQL-ò¼£¹$˜FñÍRÈÅÚiRþ3NóDâ*e¡D "¡æDžB”Z2‡9…ÈRPÊ—Õò:M¯%â:	åÆ¶-d£Ïââ‰¶šŠ‹m)O”"åË.5 «œGH§(oëÂ™ÍÎ¸Å%m@2¤e5  !ù    ,    < 2 ü 	¥BõJ`*W…Rz…*ÕÀ…:D8PbCˆ6\Ø°*SI\˜1$BTqcËT…þüèò#Ìš"5‚|HÓaÆ”+^¼èêaª?Uòp©¢'FU¶ÈD5´PQ¯Œ^eh2!G‡/Ò|b•¨VªXÙ’'íÙ·	/–$Øs.Ø”Zä	QÏ·o­ü¬¶ÊŸaƒ6<Y²hØƒqÁF+pËÛËh•FÝU¯d—µYt®Å¬W	t(Ð*k³J­ZµP @¸qÿùyÐ!WB+ŽíhÓ%!ÙÖ¬A»fysh¹mG¹$Jâ5¸8£ªjû¬’‹—mU @ÍgÍfe÷¨œ?ÃÇ(öaÁ‡UÅ²&Kü*@oIåÇæ+Ì]szC‰–buRV=‘„
,ÏôW,œe…k¯-x+±¬’Ê€è1Í,w¡ÔYf´×@±d¨\‡«Å’`s
ò¨ zªüqˆ‚
&¤×GŽUœgYV,Ðô·ÊY)6g+¶•H)­ùHž*ª¬‚åIfä OŽv”PÈ…rä™w–«”h¢L«ye!G‘q×%tÕC5öW4Éa¹Zx;9‹5«ø‘§‚€Tw]pE…„š¦½’ay«ñi\äÉãy¬¥¸Ü5û&ÞæXd„wuçÙ*äR âu˜g4WBÅUéw,Ç’©J=%É’‘i¤
yÕìž5¾û_|¸Å°¯6l¸½yDá¦¼é›¾&ZÅµ¬DõTT‡½UÔ‹HäBÈìDEÆ]~²d¸k5ˆÚæ.€õæ‘GRx8|o½-BÐG\Ý×›MI(T!Õ¼6%z²L)Þeãñ‡Êy¬üGTÀ¬æP/ýÄqv¸>Ó¡x
GÓ¡°0¿,´Lûñð°­!¬%©.¡QîL^ýÉB*÷:Ü2)£È(/-óÆôiÇ—I%½M,¬lH5ÉUaeOû4lô]?óŒ3¤¼ì0ÅÚijc¢tsW>*rƒzVãMŠ3p¯âÌ×y=l§âTUiC‘Í®ÉÞß51Ô³Ð¤T³_5Î€íp¾ÄvET‹g6µ,¸…guétÇyyïÝwËSQi!™‹˜íYÌŠ,ÕìœœÂ³0œ[/wÝ5Ñ-Ç<x|—>ÙO5²WÅkØò
©SXC>tË¿\/M;’ÅF™
KVQ+6d­¸½& zÜÃ\†¼•ív#›Q<ò¯ëì‡ºz4nsº´ÌË^{ØÃòU¡»P''hÓ”}l2k<o‚ ôp:.€_ûøÂ^5­@„m|I’uðCT@©dëSŽ5 aåŒHZ˜‰šR¢k âU\éØ]–Õè¥BüyÆ”BÄ;@¬âQ#ê¤¢óø(Hñ‚`ÇÐÖ)	6„%« 5–¢ÁíÊT=J‘¢* H=µKÌ	£¦Ýä ¯é›’Cž}ušÍ30iˆT È9ª8DäÒ´<+;$©KCj”œ)é!Dh<OV0 ·¡X
Z… ™c…žÐl4NrÑVrÁäÔ†}Jæ‚"•'d]#ÚùÓ}²C3jN$¥ãŽl3›Ù©FÐü ¤
¦4q)È}$Â›¼üb?JÄŽã‡5H-€`Ñsþ9‚þ2[Gœæx:QÑHãF´…ÜÜ7Fb‰dn’•’HF"ÏÚŽÆ
qö‰'9	bbtr³›œÆsÂÙ¢F,æ¤à …ftkdˆ-è)i·.åKÏ@È1ùkÑ	]]f)zXÊRÖ’¯ˆd|žÑÆ^ÂÎ»œ	50ŒeÜbÍ`†[y©J¹@ó˜‘H&IIò¥V- ­bæ1Ú‹F°ZŸèé®:¡LdoÈ1	æKX‚¿îØJVœ›H:ó‚•ÛIÄIæ²T[¶²Œˆ%ÎD/+VÍÎÊ„/©Õó*Z.	zB¾(M !ù    ,    < 2 ü 	¥B•J ªE"(ÐUª‡¨
½b¨0!ÁˆS-*øJ`!‡*©ðÕ@ˆ!ªŒˆÊ$F‚[ül!D±âÉ“rYèäÇ‹>A¶Œè0âIƒ
ýT©òdiŒ*DøPÑÍ“EEŠdY±gN‚EQŠ\Z…K=[òüÉ˜’bBWã
-™ª¨ËŒM
œ¸5Õ«-V–®båÍ·GóZäxQdA›;‘"­ëeË[Ð>Ù¶gÝ›\AûlÉ(VÊ@Q"uˆ5 U€=”Ê7áN‹TiŠkô+åÇ7•2ˆ8 @–[‚­Êp¸£?ç=,ÜÅ
I¾9 ÌûÇ•j}¨ ?}‹nllúöhÇnMGŽ|Ù„ÿlQ¥êÐªCª’GyõÜl8TÚ@tÜk–-È„Ö\c!+«¬¢J*ª¬RÊ€@å@6)&’KÕW*ªX «\SáŒ2ZXá,öÛR†å—d‡¸^Íˆ‡Ðh+–2á!\M…­T³c[Ü„”U }tZoTAˆœ5SÊ²J Kåq+ljèÇr^34F=–‚WÕäã@‡<ˆ,ÖX³ŠURÍ,JÆÉJ,¢ÄX! @‘xEqåUJ6A¸J K–‹ŒÑ\3á¨6^ÓJ,ž×VŠûèRh”’¦š!ÇqŠfŒS²âkþiçŒÎí•Úc”*H‚¨¨ÈxFs«Œ«˜EˆwylH©tjàT¾16P±`ÝD+ŒÖ˜Y…£¬@õU°KEî˜J!é…ÓDx˜àWq±¶)4ÖÔŠ#Tx¸›à‘GJáQ…mÓõ6/P<9t[É·© Upº”K)üÇÂj)ox)RC}Yå–gçTœ5ÐÈR+4h*õ.Âjý1òÈÃû‡i‹aÚÐ¾%dU z,Ë5²T1à»@ÿAÊ(ªâ3ÉìæäËTµ7ñgn¤±ÇÇðîÁŒ2
)Ï<ãŒÖjû<l—Q¥PH¤‘Øç¦²@cEàé>ñ®[íL5²È=ÊÈ
S•_­ºXcsùhÙÆÖt,ãRk÷w,ÖT“uÝBë‰±^¶ÇÓD€øWMÍÓnx~Ô=ŠÜr“Ròº¸«Ä%*,¡hSV‹BJ œÖ°ÚŠœÇÛWû4[TŽÓF÷
¤h«¦R\ÍÖ ÷ô*í¢\÷Ï?s|F°:ŸIMv,rœŸK& j£,uî	CR¶r"–À,.Ûc¼RZe(Pc²Æ, !9v9l@Asü@´ko'š_BÄ÷	BãHÍ
‘Ö¯ƒ¥Ï9ªE ÐäEg"û\!HFVÆ"ØT£yV¨,X¡-À(CåQED6e¡óŒ3}Éaëú²CúÌîizxM˜=p!\8Sœ®¡Šj°‚
vJ±ò$’Ü´
B€àÔÀô£1ÚZ…Ò5X=/Tì Qbw™ÍM…ZE› ‹UÄâª`E¨u­?i{ÓMß~ô›¥‚<›£‘¨A…§¼(JcÌÐ€¤¶"ëð-A
œÓ¼V<­Bw¬Ô4„ÄerÙÉñâ²xe#4!aªþP…e¨MŠÅ3øƒÄ3Ï{Ã‰ì§@“("@´2OˆÈ)KC(}ü€¢ŒèÜ‹=dëäØrØÃYŽ‹V„Î™2äD‰í-bÜ«“Ä.’·Q¥£z}b·Ïæ °UÆr'N*¬‰E‘UÜ‚Ýe6
ˆ¤µ®"µ9žE‡u´½qE*'ùCa¬À´èahÑñ’c*Š4žlR(ôËÉòE–VË
[0Œ0uˆùéÐ#B)`—²Âo1Ó,„áüx8©(®Hlv:jö‡vÕgÁR IáW›Ýœ†#¥é	t@Â¥µÎæ.hm‰ÊdE9µšô‰’z"¸»g1ZÁNRC@xÒ“žR)¬V¥ˆŠ€  !ù    ,    < 2 ü 	¥B•J ªW¦rUˆ A†SØ0Õ«‰øŠàDE]¥ª8ÕFŠ;F¤XÒ¡ÁŠ~þüÑøP"A…:”h0"*‡*m
TyÐ¤ÇB2WÄ¨Â´
 *\òp‘IQ¤ÇErÌè0'I–
!ÆlÚ•*z¶XùceËŸ‰a+ª¬h”f¡‹@†,¹…,S.z¢r!kEO•™åmHoP½+EB$Øði[§QÛúã÷ož·Wvõ9rgÊ¡&KZ4	¨µëÖ€eªmº´J[Ð[MªÔ
ò¨iÕ©{þqèµmÛœÏvÞ˜.OŒ	¥™3bÇÝŒÿ¨ÚøÇg©ûLÏ&|8¥y‰Z£c$}µâWŸQAíløé–ñVèFìÙsaE«uTG7…ÞpUÈ*Ö\3+ORlyˆ†ž\ý‘4`{”ôœI^Ó`ƒ"^ák2×Ñ"Wa”^í-4Q$©Bbƒ«(HÊ‚
š¸Ê«l†•C‹ìURuYUÑK[É"¢59†H,?Æ’Ê=^£%+#¨N5…ÖÕNd£ˆÆ4%¶¹e‡h	 ®¶—BÿÅ'B,¥f£5PÚ5³4¨` ‡”Bâ5Ñ°’ãTIPozJG’‡?Ù©U*€ZH«\ãdUø±d*†„Šfkûog“J4*	IC:Ë§¡BYß1QQêb¢k[|TŸ(A§gM/U3è*U°(+Pâ+y`{­SÄAËžM.ËÕŒ¨Ø(‹5ZÃ
µOùêÇayø‘Ù2µŠ!¥rXd_u:Õ,€BÛiSØæ1¯Â
ÿo½¨$°«-à8 Ðpˆ¡Na[Ë$ÃxTA «²Ù·ÕÝÜ]W±85NVaÍ ¶iëðg¤ŒBÊ£”<o‚A.k³GCòŸs¡½ò§5:ç¬róÊ4Š*Ï<ãÌÐ«üãË Íh^,¡tQ’93m"B»½ûíL5P~]rÊ€”"¤MâêgRzõËÁÒFÃ¶tçAÊ3‡WãLÑ
ûú‡ËodŸ4))¸„¼¢.Õ¯ rÉBw­÷g$¯<±‹Êz˜çh˜r
hº²´‹5ÉŸ	-ôÉ
c}Èë=©:Ó©]% Ì©î) ÖD­ÊôÂkôÏïºˆL˜^JOÆƒ«•H8CjƒãíÞ°¼Ë›-ËV¡'u5]¸ÓÙ
1÷óçFcŸ¯Ù
½ò 2	©ÅjÎ¤Js¤”@YƒûSîô`+@<a3"£×µü° YbŸ‚¸BýØÌHÁ[4ÐÅ6©k0`R°Bk´¦XûFyMX2¯Œ‰9%y…óZ.0¨†¬ø”Üâ‡-jë¢ÂE‚xžPSèa óÔ•\iIK‹Ú X±%?ø§EùÛáiÆ•?iPŸÂªô£âÑI¬€…Ot¨›$‡Öa[á’‹Ã}±
¢Bbò®g{ú–‘`$Âþˆ„(°`P‰fñÅkLè5­Ñ
ûU<ÈêUò[XVŠUä«•k±BkÚ¢‡V%v:ŠsÚHI“§t*Ä_üË¨¨…-mtÓþø4?Ò¯" tÍY”ã”ù‡)­B‹Ücž§¥-y{”]4ÍÂ™Áà§3ùa^Q–—Åž¨®ç1ÉˆT¤¢‡æ0H_Sn¦q%k\¦ñJ%…Ù–‚3*è„!mÖ›,1ÁDë§MÀÓ)gÑƒrÎÂÄX1#3êS²ÂwË~þ¡/dá ¶°Ò•4ìÔf^Ôf¬¤QI]‰Axõ-ðÔd2)!³ –Š†v¥™2ÊÍ²Ø/‚ØŒsaÉâD×†6d)ÉŸi„?Á©Õdrµ_‘P˜,™©¬e«Y} !ù    ,    < 2 ü 	¥B•ªÁTQ˜
á«…¨F4ˆáÀ…]5$(ð"ÃB	†Ìx‘à+‚Q–dˆRU!U£(¢:¨P!ÃŽ¨„¸Ð Mƒ'=ªäÈÐ*@†J
¤*PR@« ¹<8rÊWž$«É„¯:ºÂè ¦J:töìÒ¶JUqôšjì@…;æšµ"ª?Zª¬%u­!@z[ÌÅl[©()VÌ1áEºcº"è§Š`¦¥5-ô!à?TªÄx¢Úq ³,ƒV¶è—¥äƒ©¶x†º”­Ü‚×í¹Š•-ZbHŠ†ÝX(ã€BoT4xqÏûObä)Î%O[C\§Ëì9âäV«Þ¢|rAÏÇ{ŽA%Fª?×Yñ‡Y¯©T]waU›LYÂàW"˜u~çÇ‚UÁ…f)WÓJ‰„`D5Y… E&t[l½VÅ50…ŠFˆÔM˜­´ÜdY¦RG°<)K=sÍ5Ö\ÓÊ*.ýa…„Ž…8‰	1èHE4eCªX“$4Ö°ã˜1y¤,Ð&˜ÍY4–rE¢Ž_Z³Ê!žùqÈ*|Þ)Ø*f^Õ“š¥R|©è×rº—Š—²DõD ± ii’Ñ\ÃÊ!~ jM+€4†Ükî½)âGcDb—û^®¢¡§×DCæ!I“Q÷¤™¥Â]M’éÄ’VÉâe U°ò%+€láÇaj1Å
’³XãVŽeë&epêhÙ£ÇV±J’QUáÇçV…„	È…„j¡,4]s4-ÔI¥‹5‘Š‹$+1 [y¤†ÇÁU—ŠŽšÕ˜cÌÙÄœA‚kÍYÖÜÚð
W‘ä1²ÈZ¡k€L'–™ÉÖN]Bãª—Öx†Gj~äÑ³É$Ÿ¼°P‡…%Uy$Ô"uu°5\0²U‡ÉyWrÖSqadÙÂ6sCŠ0ÇhÒ¨›ó—ê*\rp¤ŒB
)Áûepd´c¥©
ÆDµ04U<]Å
_]ò(ª<³Š3q›üÇÂ”íkè	eSl"rR,`æ&+ž!Üpr;S5ÏÀÄõÁ¨6 ¥I‡–Ý”
«²T¡¶gNp5)Ïü[3´cíõ½{Ÿµe„¨äP‚Z)»vÇª!Œ0Ü¤8Ózä=Ã~“c7ÝJÏUNÓÓË"ajv“,wÜusMEÞ©„Hí`Y¼Ñtš1H,ª!&@Œî`	³ÛÛâW²ÔHæ?³ëÊ·tò-é¡‚U9×, 8‘QámA³›Õ¤ˆMÌ,2Cstr_d\Öx5À$!?˜naû&ëL×bÇ#ý¢Q¡H¿ðg1X@
1²¸†ûfCŸ%p{P…,¯Ù#Ñ‰Œäô?€ÎKêX˜¸ðÁ‚8%4gÕ»þÓ˜Ö&ppÊØ·\ñ¯hlŒžŠ†˜RS+¬"–ºF—\ó(ss¹Ú„H_ÕP›«ðÈ@j†¨+žäFéÄJ“tò
/ÙYQ[…ãXÑ§¨@%V³Ó€ÎÃÛhI ;9ÐH|¢Š]Ãf«¸Ã¡2‰\ÍÚ•YX’¢‚¬Ä‚;²VN‹X¼ÆFgá‚™’((ÒèA™õâ–¯y G:'µˆ%ˆU”ü‚I
±Îš:ÔHóË=–aPu¶à0Eˆ²‚<WƒÒüaV8![ò%Š€äC#Éb!ôsUÔÇ&¤	hc¾Ó°?TA[0ä23ã¹«¼‰:µ!Ž¡¥P@õÌ
Ôµ˜-óFùúÉ3§s *ù!e©TYBô;‡DÊl:§†ôêM	J!~Z…´"*Q1ºN3ÓâÌòš-sÓLÂÅË”„.þ{j¢ÖN¨¸5W®iJÑ!%9ê–+	
:É‘àœ-myÍ!HñškþñQ•î|d‘Û)–‚7Y)^ò’Tb†X 4ÂX”˜È‘~Ñ©R’
2!èDY”]öE™6µB¬R–Æ¶­ÙòÅ¡=Bi¾*rG=s=Zümp¤»á>è	 !ù    ,    < 2 ü 	¥B•ŠÐ+‚,tP!ÁB	º‚˜J!ET	
¨±¢+… 1¾Zxb¡Š_Qt…° ªUÏVaLHsáG„';¦šˆÑaH;9:,ôR•µY×¬]›¥T)+k²VÁB‰2cÃ’4±î¤¨ÈgÅ®cA»FöÚØ¤h›&µmVµU?M|ÅñâI¯T+ZÚ¥d	èi«¦P¡VÚàÍŠ674HÖ3²H—²
D¥J?BƒÞâ™
@l“B³V­êÃžw¶¤¸“jßk²È®
ôùÏâ“D2ô‡øÏ§­):U¢Gš‡Æf…öZ4@1ü¤­¢Šp@û¾ÿ§Ðñ*”[{Z1zN“U¢jø‘
õk´øAu<†wáá}g…x þ
iV¬¢ž5©huÓH±Í–Ò‡Pá[!yTC )øQEgžUqÚwWØrÉ›O=æ“IžYñÇiô‡1œW¢Â•—ŠŠO)GÕdôZC…<öÊÂÈIXÁEy\YbâaDÈ€
)—lvÕQC[šy7‘V"yXQ…œ%n!% yö”,­ôÞc8éÒGya”¥g”rˆ'ž¦ ÿù†‘wlY#ScÖ|ÐÍWè™òTZ«ˆà‰ÂåôGûéÉb*©P´RN/ÆYBAFRøˆY«[* wÞtœ‚¬´vÓLGÚ:]šTR²°B'ž(²JY¬w¢o„R…®²kOÌ2¡CJVT5Ñ”ê[üAÅ !´ª©*Dš‚ÐÈRÓA‹<Û´“íôLn«x‰#æÑÙ½ÚùA p‰ˆ«±¨B­³ñ¤P©(xMÃpv†Çxä‘GËxŒ¸*¦¦Šg²¬¦
N8Éˆnƒ¹jÍœ#VÁ²Ëyü‘´ËTH\ˆx^È_
ÊòL´í®KèÈïZÃÛqM»¬thJ'³… ~g*ówH5·h®›ûfí*4%†íGÒ£Ò÷£,=bÍ¾-F)Ÿí96Ï‘)%KiU¬Ì·*19"Ò1ƒG e©Tq‹lßåì|
-òÚr¥!GßÏ¼ûŒ*³<âÂòÝB£¦à§¹ÖµnKGá±IÿAÊ3±°fùØß Pž«7PK
5¶Õ³©WÅ
aç±7ë¯ûí}†T¤}ûLÞå,p!³vd}VF]©Ê[?Jß£„†ù5ŸôÑqéaMU¥—‘ä"F‰JêÆ¼±­lvæDá¦¦œ¨€„sŸú	XàvE.recYÙ^VBâb9y…gªñX¢%BùÈMš4”W(gû²Bg$¶4ÎŽf‹ˆXU|$IŒõÒX(ç:¦‘–šf!*ìG²à·$è/ªA.ŒIMLW›å(¬Ðƒw¸ ®ö¤"e¹Ó”‚éA+2Ž‰ÎÏÂDUT-»ñhBC5V+@AB‰gÖcX8$SÑÙT*ºRŽ¬¨,déÖÅ¶8ÇTüKz¸‹Î@
ö,’Õ'ØB¢uˆUÈÉ[òÎ¼4'õ8’t/<S­
õ•@
Rz¸K*·d…,U‰XvâŸpÔD)¨<Ã$Ï”Œ®‡@lA§9ÑŽÃF+ hKãúÎIQË"µ!sIˆ@¶†ŠÎhüG\\
!¶I67iÈDçsØ‚vÖKŒÐJ(ÄRa !•HsÂ™gˆÀI þü«-ÊÙ™ºf¨8Nµ‡,cq¥
šƒ(<•c†¹"å¤d'îpÇ9¥d?,!V…¨Mj.4¤Ä*f±Öè‘*AX§âwÃœŒ3!ÙˆC	ú(Ûêi#—Ä,ŠÂˆ6y…ÉŠZÁpÐBˆÂª!*XªfaŠrb1“’`o&ð)`)©òFå¤Õ/Ö!K4£WÜÅ– ù‰`™•°¡l/ý‹R¢¡Ät,<+ÉMÈ¸Äª¨Ô¢7‰E,·ŠXt–RéX,¨ÁÏt@É´r[‰s¢‰Ëõ¤wJŠmõò’«Ú¢D¶é„æk3@u:µ¢îv\‹@2ŒÑJGÂ(¨å®K(ÐÙ@ !ù    ,    < 2 ü 	¥B•ªÁ¯*te0Õ+BL¥P!¡‡	¢*4°¡@ƒv$È`ÃB®2ª|rd!U†6RT¨¨`JT¯’Ì¸(ÕÄœqjÌYPcM©`®ZUj©Ó§ªT!õ‰pbC…2‘šÔØáLŽVRöÐª²O—Æb¥J¥À=‘™ª$ÑE:Uj*–/ ¿€ÿ>eµÊÚRXyibÉQaËº÷ª:èÐ_+UªP©âçOgÏ[¯’UxÕ3X¯nM8t#Q”TQ©$öP)@™3
kUïUªbµMå'U©XÐdUcUm§AÖ[jU9¹”mÜU ºvmwîûÖ¾_‹6Ë0,Š±–[³vèÂ8!º™ð"AËa±—ºf-ÿñ×œµÛ*Ý…×]4²ÄB‘5¬¬g{ÓÅÖFHq´n€tÇw»ÁðhñÇOTaEXÿAs*°TÃ`x€¼US]X©ÔQýa+à]ÃJž¥2âlQÅº…'4Â¹è  W¥FRC3Â—
^4ècŒ™[\äa`Vˆ(Fb [Õø`Í•UA·Ñn~€”›‘Vl¡™&fWG„äHƒá¥âd€èÔØE½WT¤oÈ\ b arQÊn¸YQ&DFhM+±„§b ûÅáD§CyíDN˜©ÿ±rˆúGˆhw×À@!.’WÝ„E;ªzÍnÔŠÍ!XýQÉµÙ_ ÎªšJ[Í$P,þ1ÈyÜA3áfá…ç_yU¼E}¥4«¢á­ÒggÚ_²°ÂEqT…†¨,ß±êA9aÔTGaôÄ«é‡fyl†‡f™6è”Úrï´pTcx½œ
,üu"ÈZäG<¼Ù_½êæzkW\ÝR\:˜™È<GýG~ðLEÙAHÔÇÒ^£"Íg%Qûâ"+IÅÈU	$ÏUk¦ÇÉAûR…šÃFÜh„§2—B²„÷4ÖRBŠ*£ 2
ÕXSÈb©dW¯›¬ÒHS”±5ÐXóô‘xŒhø3«8CÊÔ@RA…EÈÝëµ¢7*2-¤PÌ1Ë´+U”¸3òŒ‹Ï þöÈ-o”ìònÒ*IW!J’Ì6¤8“j5¦£~u~«T…!^—G^åSµ¾“kÊ§²4UÄp5Ï¢?óŒ3«²xÕ!ƒ_!óây^WÄU#¨bX¸Ùã€4
ÃbDôÛŒ4GØñGvÐ í‚’‘g/„Åî4£À©™H;›ÚÏªÀhkwâ9Ú£(ÔÁŸl¥ûÓCB²?¤ðmSÐjä°ÿð‡wÓ‰“¸Z3³õÌTøØ÷T¨³§æÍ*DÊ®±SM«8–£˜j £4®ˆ°?\ðXF–BiGSˆ õø‡;¬ˆ•’’“P¤7IÊz„›<™¤VÚ! „“Ì(pZ„êVFÛ¡¢RÍdÎr–Ìà]ÛR“†ÚBñÈŽ²BWDÒ¾‰ˆ1¨°Õ_¸ ñ”Â=`,¸Ul!+9ˆ-Ò¨ŽÌÒP¼ÚSÂMi8À²º†e…‘ë9T™Ø•âÅ±bâBÅù§/‘É=~ØÂTžA†ü‡Å¬‰”hä/=ú¤ðš+ á‡}ÉD˜ÒƒŸŽt³í¨ê€åa”«òB¶Ôø««Àêè£ç)D*Òf‘®:¦‡soBÚ=-R®D4¢¡ÙwÐ‰ˆ`[Ø(zXQûÅDê¬9íå,©B)à¥RÿPk¢Ä2P,P±
'æ*edMØ‚‚£Wâ¤0KPµÓ##hrÀ‘MàžKrE}EÉ]*Ì’ŸKå&ÖñMSƒ3W-Â0/’ÅXƒ#Ø`îUŽªZ¬Tù=!NØÂˆb &±bcÕX…P¨›Bª®²Ot`µCœ”/¢Í`äjápl61h¥Ž¢3Ùf%Å³f‰mZœÒ¶R­vÉâœò×î‘¤iKT“áF…”4ŒH±Ò·@úR™å+\¨3!Ä'Ð¹ËwÊ¯pÅ1¼^`XLFÉFå*éTEÊÞØ¸w"®|ïbØ[VT !ù    ,    < 2 ü 	¥B•J ªBS¹*40Õ@„
!¾2ØPaÃƒrÕpaA‡	r<øª"ªEQM|h¤C†þ ÂcÊT/~|eS'JS–Tùq`L™\ )]s‹ÐšAWò¬HâB‘1~ùéÒ¯`«¬ðó‡(AE&
ÉPgÆSÍú“ti•*\îZùPÞ'UÊN}hVçAŽy"Œ»2åW+w#ßýãP!°["—…›rñÖ†9]h®R+ªìýªªª?8•öõ9hQÄ£­vŒ
ñg*¤yêª
d(©CVRu¨T*°y';d’gOÝ7;Ë\ZP Cû¤qÉãÝû*@‡ÎÏôò–Í¡Ê§8úðÀŸ—•*Ud*[ÛrËé××zTa™H÷…ÄàUƒõ4lýÝH ¬\£á5²¬‹*©”Ò\XyÁF}8%ÚMT¥RÜpã’á5ÖlXc×D#K,«(–&õ
B\‘4Gd×*­ÐxÍ,Ñôuá”8FÃ¡ˆ"¸ %ÚF†Ùv¤‹†8y+ø±Å\1áñÛ1R£Ž>.µ—bþ¤â‰C×„3âÇ„ªe&Ù]qâxHZêQäKXe4ÑŸõ¥¢E D¾’šdyAYLUd~Jé‘Ôˆb]hû}¾¥§K£mŠ—‚«}Uˆ¡^£\x~‘÷‡m[ÉU|¡4ZFY]U¼ÖA…T±
š†,ÅŽ6˜gAøVG©(HEãRÁì¸Zlvb¨¢‡L9±”]Ši±ˆÖAŒ‹Gä±ï¾UàQ…	$S_Õ*ujb!™¤Kª>ÔH[˜k.ýæÁ/Àx8ÕPýÆÞ¼Z%¤jÄ$§¢®æöërLûqnYÑ²Â,…áV‹hk¹þjüÇ(¤=J¿ SRjJ-*2ƒ\ôYK¢Õ2¿C«òÌ3Îâò¾Jw©àlu-PD©ªÒb]žduW“òL5Öû¬òÌô«Eƒ.ôÇz¥ÎÒP`ê„bDá3¿¤8‹5Õt±ÀƒTÙ~]TH=¤X¥)õÌ2¿ŒËÍµ×yÈLî ¨ÄøRuiÕÙ	!)±PûÓ(FÃ¬1¿”q³íe¢Ê¨H¨’}‰	”æ’Žõâï6`1UE{ÙR—Þ¢²ÜºMºÀUÔÄtIqq<Š­dQÄRöÛ]Ì
ÜoîTøqb*T@XÈóŽ”ÆsßƒBÔW(ˆ\«y‚ã@PÌ
Ö€Ž_XäŠGù†-ƒ±ÝMþ°%@ Æ
%üJY§õEAïb›æ®BçQÄûÉY * =l[Øò‹šA£µÏ-É“ÏMâÒ¹¸"CÖ`|ò°÷X!<¼‹ ø:Ôp©ôòEh÷
¥¬BC:b…*üÀ¦˜WØ;ã,t…¥´§=Ia¶§²µÀê9u„,6”¡‘%3\¸Ð5šD#þP(ˆ¿
“ýXÄ'<p3º44t#'á¨G‹"[pÞÓù%1„yt	O–ÒGJë;=âQ,WQU4ÇiJAP‰×´Ø&v
”Úe.—0ÿÜe,”‰‰* ±Šã„l/X«¢ÖK—@Ä`¤x
””C0ç8ß#Ù%û5(’
\lD§-¸Š?ç)Åw–ùÌÌ|‘AñËŽTªV¤ XK‚wò‹LZ³FèDÆcEŠÐÃä‘bAí7vŠ¢î’Ÿ°L¦m„Û£Ä4Ê Š°DSÙƒLöf£™Áø2!ÈúW¦Ò¶ÙáS!ÛÉfV@™k†1mkQ*û™ˆÌ¥£˜Ëo^ó‚q%ŸŸy5;j!Ýy©@	C<‚Ü8ÕHQ­Ýt¸¢‚¡³R:­š—lãS±^gOPéŒZ'™V¶Þ~oQéV !ù    ,    < 2 ü 	¥B•J Á_"è*BB¯rˆj!EŠ'¢Z”Ê•FŒ‚D˜0¤È¯BTùÇO•ƒœ)q#Íš2S¦*ÔpaD¨"Î´ˆÐe•'U’V‰‘ÔOJŽ!ƒÞôØ°ãÎ¡ijµXueÁ¤L™*Uú‡fO‚8ÓV*“g*ESE[ñØ±Vªä±²ÅJÙ¹…tv$Ú(Qˆq¾2ÈöÏX¥\ªüá[ÐŒR.ºÍÍW+JÌJ²bC—yó*dÖþ–‰Ð­Ê«´	FœtqíÇ}“r4¼8 ‚ 	º•Éq¨UÛcöÌù5rê*yiß®cUºûËƒ:Œ*‘vTQ9~<–ûv‹3Ó4ìÙj|¹ƒ‡2$é˜¯ž-Úeç^ † r|
}Q!DY•ÐL»$UR®·]v )¢“`@á6S|å‰¦ŸCˆÅ7
€æ±…p•R ¤rP›±•Ùw¶ÙNf1èÚ‹ØÈ*«Ta$)‡t˜¡`àqFÒIZ¥"—sÚÇÊ5Ö\Ãå5U°¸
 cŽ‰â•5WWAÄB¾!ô ^z9+FRÙ‘ŽiH)—§Dé‘XZY!X^,^ÊÂ
 ~D5'™dRÊ*â6ÛMX†›Eq’†Ê*:äGKUhñûG‚é!–èÜ}@Jˆ¨@òÔ&TèEEI!)¬°™*jšCÓU	_`-'S¿VG~ [’¬»J“Ç)tyžz$ÕEû¡EßÑâñGì«í°rªSPË&æ&H)Ú÷G¯Ó®[lUd+Ë*ÐÄ’í˜ÒKÓ²[AéMp)‡Š´zù;
)¤Œp,Ï|ð¶€ŒÂæƒq%]BÖÑ¾zUûÇ(ª<³Š3UXc+Ö¬’óÀ¥È(%¢åÕôÓsâí7cÓæñG'¤<S5ÏT!KÁ7WÃŠÌMþ1´Ñ!›S×!E—Š½þÑ/)ÎÄbM55[3µÁ#¬
×;ûáJ—šBß
§KIÇ†±3Ï¨R³,Ïä|3’Yã„+ƒÕ[´[1…Ø«‹ýþ±ÆS<0±€h”2B›Hš!ê-ßJ§¾.°±ü1’ÚÝ–èwãyÕ™ƒA5ûyüZ-»F½.ìv ææíÉq~[n`hEmêÁ"~)ÈÌ—hôYYZòƒ‘Gˆ*¬)Ù¾K¦°†`Š0öhâN"rtuOÓ¼_²N~ b©«GRz™}µÒÃ>"± bK^ÂSlüð"@”"}”B˜¸Ês–Cg~³ŠG|´-u©N`Ò_ÏÆˆ&‘ËJ@cœBä¸ÚdNÖQŸ‘bQ™2éCûÈÃB"³ÐJ‡=JõŠI¢
‘YÁXŒdˆ¨z´ÕT0cžÛÄ$Šêik¸ƒDîd¨;ðó‘xÀ&˜Ù® a$È‹ôPœ<'¯q"w?ú´É$'ÒB@cöÄÈ=3×ƒÞr‘y™Œ p!ZT–Uáì%812Nw‚X¢3^Q4•ìMÑHRì(E5´ËâÅÁg ÒaüÞÇ¼äõ’Ø!kˆ£´$R7ïCI.±òÞgbìi'³…?ôè}Ÿ»ÍZòf4ñLI9©ÐB”$zò¢;ž“)E<BÇŒãRÊ]¤äÌ‹‡¹AQ)Y™(eB¢%\à"Ä­Q+‹9$îØRÆ3*¬9júr6˜Èï4çx¢SY%*ºÒ|*~µ^ƒX™G_ž’¢¹ªè|hCˆ€  !ù    ,    < 2 ü 	¥B•J ªB¹J•
áÀB_œÈâDˆ¨$Ôøp!AAVL¥ñ`Æ„*dQ`Ë†VTèpfA™'JÄØpáÍ…q$T¥¨Ñ*1žø)$1cM‚Aõ‰J*L™®Z¬øê!Å£`aTù5¤V¯d*3ãÍ;?öLõgK=[¬lÑƒôIŒ¥[£FŒX3¨Wž¶½:‘ËÝ½U }BPQª¬&ÑnõH.Á’Lu¤ˆKéÓ€ü!”äç„>	uU¬µ¶Ì•_]øïß¾aä‰QTËÕÂ3·ê~x™!H#)
î; +U¸¬¨¢âOÄ”ûrÝ
Ôhøfâè*cw=øÛ:p°yÖZ|ª9gs“žÑSLÈ½oC@fkn=¤BVqdUMÍ™7×`£ˆ!¤ rH¤DF\0Pæe­¡t*™6•LŠ½)Ö]XŠ!’IfÅv.&ÛIy´U¸5ç’N*MtÈ„°hH)‡DV…]U<!Ð‚"Í'T(Ž´b$M§
 «²J «ø¦O åÇbPwåD‹Ü–Š%‘WR*C~iç€l!Ùj#Yu£ZÞ¤HfÞ$››bç*Œ†yÝžcœ¯Ý„&n+!´sN©Òè§Žú† ÞöCU¾‘PûX^tR[ž®Ë*¬<ÃJ,þqAET(¥¤€†×êUYÝ†Y*ž²²
4±Èb5Ö™UP‹Ç©×aaÆ‘N8-ä©³ÎBó,˜‘’ÇyìJE°mmzFë­
•lAe¶–*ÏBs5²\s Ö¤Ën~´KC–9$ÐÃ•h`šË½ª,Ï–ûo4\c] £°Ëî®q¤cƒÄ¦:§ñ{¿×ÌòoÇ`‚|p»UŒ—ØlÁi*~§®!¨Äò¬ÌÖD#p ÐZ÷LÈëR{¦bhZ9UC·uV*±øûlÌÖxì1˜Îüq3g6(ÐBËXU¬ºeb*°ûüÛÊ5J/ÝôŠ£äÇ¼z÷#ËZgv¬‰õ‚‡ì³ŒËb.ÓUXgöº~oQ²«óÊ=÷wºÆæ:Ë¸ué"œÎY•ŠesV©yVW©¿åv°o‘qqºßU¤}¯ÖåkcÖpbÕr,Ê"?k¨\èAí®Uümƒl^%oFÂ›¸¨Œ^h©ŽíŠ¨ˆnO\Äª¿ùªLŸ–Ò(î`&‡˜ŠUûIZÛÜ(Åµ
’«PÅ! ˜.£¬àwˆC	NE"TuæMQjÈ*¡Š@‚Š“¶4ìÁD#ƒI!ÎBÛX\*Ò )¿ëÅ.ÈYŒƒ^å*žµ+ûç1ˆ*Žä%MHIEáàbŠ”õ##	Äœs÷ø'T Ä†’Â@{µ¦G©Ô}„&·|AÄBÕéOiø²š*”(.¡YŒôx²DÌ}FSiÏ{Žâ„*`Å! ‘r'­i†_¤Î7´ËY‘PkÚP˜Ã²èÉS… ŽpWÆ3-Bû›š–3½¥1!€Ó¸0J@¨à(:ÖÚî¸˜nEãƒ£BòÊGñeŠ¿3^,+“¶tz]Á‰Lz“b:Æ/J¡W#™ÈLHVÊ‹ÏÑL!þ€£Ø…8òñ‘k2™¢ý@SšÁ_!ü`6rþœZXŽ.gž’,5(<À”Iý²%·WàQUÔkAUen1h.È²§ðÄRiZ•<éÆL6Ô€|¨4Q !þïThis GIF file was assembled with GIF Construction Set from:

Alchemy Mindworks Inc.
P.O. Box 500
Beeton, Ontario
L0G 1A0
CANADA.

This comment block will not appear in files created with a registered version of GIF Construction Set !ÿGIFCONnb1.0            CA_LOGO_big.GIF 
           
Clipboard            I:\cal4\calb012.gif            I:\cal4\calb024.gif   	         I:\cal4\calb036.GIF            I:\cal4\calb048.GIF            I:\cal4\calb060.GIF            I:\cal4\calb072.GIF            I:\cal4\calb084.GIF            I:\cal4\calb096.GIF            I:\cal4\calb108.GIF            I:\cal4\calb120.gif            I:\cal4\calb108.GIF            I:\cal4\calb096.GIF            I:\cal4\calb084.GIF            I:\cal4\calb072.GIF   !         I:\cal4\calb060.GIF   #         I:\cal4\calb048.GIF   %         I:\cal4\calb036.GIF   '         I:\cal4\calb024.gif   )         I:\cal4\calb012.gif 
  +         
Clipboard  ;   07070100032883000081a40000000000000002000000013d1fe2d900000ab4000000200000000000000000000000000000002100000003reloc/servers/images/caldera.gif  GIF89a0 0 ç  Vœ*‚ÄŒÂüŽ¤DLÂˆˆÆÅÄÒãô™#7–¦ÐÇt¤Ú¼dVÎ®ÄäóøìÃ«c„·Ð)g’Ãh¨ÞdLCi”ÔƒlêåëÒ’lÞCIÖ%7íÓËÞ( ³Ñ•Ú¶¤ƒ•¬¯ÄèËÕãóõöás]üãÑ°Õü¶¸´ØTTôýûv¸ô!w¹Ç"Ð48ÙÕØ¾ÄÅî…düÔÊÞ+B{³ö£„þ”t­„£ÎíÄàªµ×°-}‹©~›Æ*g¢÷u\ýìèí¤¶ž24î¶¡n„Äs”ÄÝ*¾Ìè­&‚­×I‚¼ûb]ïVVY{ªìº ÁzgýôòõDQªRdÈ-Ñ$é4Dý…•ûÛÔ­'2o¨ìíòýýûÚÝãì”¬ßãèœ¼êÎÜñˆœÇsœÍ²".Ó"ýÄ¬ä#7ûãòí¬Ž¤ÍNšÔNÌÂ¦ÄeŒÀè+Ã¹¹îZ`âÆ¬›­ÍîlM}²ú}fÒ…ŒíÝ×V…½¶+7 ´ìás|üäà»Åãá7ì´ÌýlpøLY›žÁ"JtÊF4.a’¿5DÎR4ÔtXËfY\p”â¢¤ã“ƒ`¢0xºæ²¬â2@ŸÃñälOª.L¥ã‡hþÅÑÉ\bÎ|x¤ÀÝôAƒÀ´lh·ãl®êèLOíœø­ºêœ¨æ*DÐ=Fåœ–³DBÖúüê=I×[Tn´å{`à|‡Á=ODq¤Ó,9ü½ÇVÎìü­ÌðëÍÚ¶^DÆ’|ÊÌÏ¬¼Û¶z”Ò–¤Ð¾ØâÆÜe}¢îÌ¶jžÔ–qŒ¸ßëúâ¬¡ÆTdÞl|ÖŽtþŒ„´½ÚÅETûËµÞ=<žËü¾Ôñ¹"½$1Þd€þÖø¢ >ŽÌ$VˆÓh^þËÔ~•Éûctþ|ˆþt‚ÉºÔþ„t¼ùµ¥»!þT`º+þ–¨þ]hüœzÞ†„7y´þ¥¯î,û¼©Ñ1õ5Lü¬“ürý³Ä§77ÂjdìÒäîÞøŽŽ´5hŸêûöø:T p­¶Jd«×þ›¬ò.FÔš€º¾ÄØÎÔè8!þMade with GIMP !ù
 Ç ,    0 0  þ 	H°`Áz*\È°¡Ã‡	þ(a%†²‹1¬LŒÈ‘`o‹T‘¨†ˆBµC(}ãGÇ‡0l¢U-’M$T©‚Aé’'ü¸|ið'´h©’S£vP£z#·ƒ'Ò
ÑÀ‹,!"£F;ä>Y{Æ+ÊÒ¥c·ˆ’±O^ºŒa¡
:íšRª!‡ÝÓµŽÈ\\LF†nˆ’WÊÐŸv>`À8Dã“ç¶Êbô‚Ó«×†14ùàÏV—‡Å°„ÇÓ
>"ñ<DŽ.©3oKP´CÜ´+{.œH`¢b<)YF'*9›a,ò&DH“½¬þN|Ïž_šÍ±å¡…BÆ-kÁ‚!nt–."Óëð”ðÃOüpÁ]lñ…qìÇ•àd³Ì0ÕBA;$PBÃÇÙ!Þp%øÄ#laÄ|Ñ/DXŠ$ds;7¥•Î%d‘ÅYt1‚f¡…Ol±E0¶ÜG3h$ÒÌB5`’'ŒÒN;täGƒvt!2|ˆ°…[t‘Š#¤0Âò|qKqtà0`ÄV¨HŽ:Ý|ÃÍ -#4GÈ4#‚-¶øxâštÑä-€‘¼Li7W¬cSh Ä3®bA[tpÃþtƒ"4c‹’”¢x@‹qÜ‚Æh cA{”s„=SLQ öHA6~˜q0  F>qä Â‚+…Á° äC×ìà•GÄh Š2( N8S|ÜÀÄ5×€G>“Ûnq€F4s@ ‘l°‘ˆY#‰(EŒ‘,82°Ð‚;ºÄÁÉ×Fÿò®,³Ì™"ÈÒ0aH@/·ôŠeŒÑ‡û(1Å7¨DˆÌÌÁº<€á/­·É!Übµ®ÞÀÆH “OAâ„ASts
 „³J/<ÌaC\Ìœh 2Èä€LþÕU‹|À5D°ÁÌL€ ¶3ôÖëÉ8`Š.ÀÌ‘ÜDÈËq$ y¶9,È¿×a.øÒŠáý ŽP ²DoxâŒ@¸AÄ,çyäÃï5hä±yhdù@â3ÌAéce@á	`ãhc®êžLÁ0<ô›€Ó	äó+<ðÂC&&,0Ã­ £ççÃ2D°„êx†f±ƒ
ÜXHÂÔ0	ð€À¸FÓØw®s!Á&0=’ ‰ØO .…¦ÀL!K1*BÌ@ 	œÃd1›!çbƒS„€þ² ‡9z $$Ç¨Ä3Àt ãJSˆÀ3@±^ÐCj Ç¸@	xQ‡ c8a"´‚¾è½0;#ÉØÆ pd¬÷!:± 56b‹3¸Ãï F	$aihZá$ô °Å@ÚóƒKtƒmƒ:Æ!ƒ1( @ð’ÀŒ4âÐÄüæ0&­˜ƒ&4ÑˆÌ@ bÒžcøácà€úÀÉ;ÃÈ  ÐTb¡æ˜ƒ"¯‘‰LÜ¡æÀ4îÁstÔàA\ð3$£[VÏŠ(høÁ"@+°@ˆÌ	œþà0Ð‚fÜ¡XA*î€{ä²žÈ™.ð}ˆ!ñÚ  €°àøÈ…<‚~ñ\ÛˆGÖ0‹<$A ©`#î¡,a]
U’Ì 1œBÏ†"0\¡¡øÁä!3Õ¯Ðƒ$À£Í  À
¦a,@¢ hr~ ŒRŒbã¨ÂÆŽìi#U8G(
PEp¡Éx lÀ
PÄ#­0e4AÀT þp-üqŒ=\ÂÎpF´áŠG¬cˆ ¤P…dx`ßˆÀÆ0†ÈÀÅxÅ.A_$w€PA )Á–˜˜þ„3Æ¡tCYÿPÀªà	)h¶ÀmÃm€‚U ÁÛ ‚ *	=Ä¬µÅ6°‡JXb “ l«€Í–ÐÙp…ÐIá*àÏ@Á9ôÀ…]Ì#’t.`¡)7ôb¯@Dl¡ YÝc68VÂ1°S€¨Qž \¸ÁÙ¤^@áÄãÖ¸Ä/0á®"è–.Ã8ö±S)´ 6¢BÖÑ+lbÉÂ™lÑ¼à¶øAH„+|#Yœ¥¨ 1à7¼A€‚œ¡)8ÑpHäœ 5vÁ€P<èà,P lh§P† Yx îàÊCd,Ø€°V …X!†+ˆAxÀD8ž¡gØà6Ð*@a…— Ägì	^à;DÃ ¸‚ðŽ_x@Ò¢p\¡
‰‰¾p€fdâ hBÎâÂo¤ã•0Q®.$ˆ80©wMìÔûØÈ&H@  ;07070100032884000081a40000000000000002000000013d1fe2d90000086b000000200000000000000000000000000000002000000003reloc/servers/images/debian.gif   GIF89a0 0 ç  ‚‚„ÂÂÄBBDÂ†œÊLââäªBdÖ¢´¶"\¶jŒêÂØÒ’¬ºLêÖäÊBtâ²Ìòòô¦2\ÊR„Öf”""$bbdÚ‚¬¢¢¤ÒTòâìòÊÜÆTöÒìâ’´ö²ÔÚrœê¢ÄÊ*d¾2dÒÒÔâF„ÞŠ´úêôúúüÆ:l².\ÊJ|ÊZ„’’”RRT¦VtöÆÜæÚÜ224rrtÎ
TÂTâš¼õºÔêªÄ¾L¶Túòô²²´üâôüÊäúÚìÞvœÚÂÌÆž´æºÔÒj”â‚¤ÖTÒ>túºÔÖŽ¬¾BtÂ"\Âr”òÂÜÖR„ÚÚÜîŠ´Ê:tÒN|îÚäîš¼úöõþÚì

ŠŠŒÊÊÌJJLÆŽ¬êêìâªÄÖB|**,jjlÚ†¬ÆTò¢ÄÎ2lúîô¾*d×^ŒššœZZ\::<zz|Ê\ó¾Ôò®ÌÇT¾Tºº¼þæôûÎäÞz¤Új”ÆŠ¤È
Tâ¢Äº"\Æb„êÆÔÚ–´¾TòÒä¶^|ªª¬Úš¼Î.lÒzœÂJ|¶2dî²ÔÂZ„âb”î’´ÞÒÔÎn”Æ6læŽ´þÂÜærœÎfŒÒ&dæš¼î®ÔÎLöæìöÎäÂ>lÎ^ŒêÞäÂ\æ¾ÌòžÄÚn”††„ÆÆÄFFDææä²&\ÎV„&&$ffdúÖìÖvœæ¦ÄÖÖÔþþüÊN|––”VVT664vvtÞž¼²T¶¶´ùÞìÖÆÌ¾&\ÒV„ÞÞÜŽŽŒÎÎÌNNLîîìÒF|..,nnlÂ.džžœ^^\>><~~|¾¾¼®®¬ªFlÊF|ÖNú¾ÜîŽ¼¾\â¦¼Ò–¬â–´ö¶ÔâJ„ÎT¾FtòÆÜÊ>tîÞäþÞìò¦ÄÎ6lòÖäÚž¼î¶ÔÆ†¤¾TöâôöÊäâŠ¬þêü¶.dúÆäêÚäÆ\îªÌÂTþòüâv¤êºÌæ‚¬ÖN„þöüÞ†¤Ê\þîüÞjœÒTÆ>töòôÎR„Þ‚¬ÊTþúüÎJ|!þMade with GIMP !ù
 þ ,    0 0  þ ý	H°àÀy>ÞT‚ÖíGr€Ø3H±¢E‚öê„ @lÇŽ3ò5û§‹_ŽTöÜÍ»ÈÒà¼TôV¸É“Ç>K5ò(@sÒ¾E œ[Ù’¥='ÁvÄ±äìˆ³øðÕ˜ê_vëä8Š’Î]ÑŠó€9“'ƒYKqDHy`êÓM+Êü©yÄR»Zv:ý:°9êZÊóçI7LWÌ¨äAÇ‰˜6òÜ,ÀÁ¯|çýX1¦l†v{–˜+7ÑeÆ*™tXÊ`7_º½-S­ ›gÝ§>0_œ×á'Éøò`»òõœ‰hjŒIñl–óè<bbÓ;º/:ÑF“ˆgÜžþõaD¾#5òÅØíÀÞ#¢ñÁ×%7$eó”t‘‡™pŽä!=¥ÕW•0‘G	‰ø‘]Aóp“ãÜq	töÐq7¹‰÷)yXó¹CÍy|±^ @JL3ÙImñø ž@ä¼±:ÜCŸEî¬r 3J8 Û¡„&Ä‡$:VäN7"äÁ„;
4O90˜àœ?¥Ís	ÝPO‘ÜbÑ<&D00@TÅˆC„JþÜâM±3I¦h¢´ 
0â3 (4à€n’dpÍ	ZÀtXä0X´ðCEÇ À€tÂôdAþá’ÇDXDG¼¼ÂME …*n¾‰AI”‘‡+Áä,´‘(it*€³ÐŠ2þôÚ‹(Í
"PP`?»ÀÒÆ,¨"šì"+jÌ2K/]ô À½ŠPŒ=³  Š0§ø«E¯³´p¯¯þ¨ /þhÁËÁ÷®Ç.  ÐëÁmü@}’ oi `Œ@Ã˜Úë)4`Ð+/]h ÐC¤À€0ØP È°²  ° þpÓiò0ÙF¯Å°ð†?/ÅÂm"ƒ@.ƒ1ÅÂ Ð‹@a pÌÃ$M
´°Kôt¯ÇÔŽ?a«A1þÃþ˜¡Å=ØFSÌ €-õk ¤DúîÂ8”WŒJ¯É ãÁ<@ÃBñ+ŒP¿¯|ÊÏ>‡@m˜]±/}’@0ž.,°¨!J¯¡ˆÈ-@CqÙn<Ï9ƒá‡=ª'n±Á=m€¾<¼KA½P‰7È€ P€òŠ?£ °&”øÀ)†­?­³s þøÀ
 ¯ta0ìñž4!¨À+"À
hq =p…
\  0¬ xŸâ¼w
( Ãf¼€GØ’A.dÏ
_ ôà²4ä |m(Å. luþè×1Êv0a0Ž
[2~!XÄ þl NQ`ÜA ø;D(î
P”­ÙËvRX`3Ø‚ Öð A¿˜*ÀQÀb §Hã(|A‹BÌáU¬B/Ø ‹0ìâ±è‚Ž±†÷eá<%Ö•~bWÐñÁˆÐ	‰¨ oðFœ‘m@â+óè’è 	ÏŒƒš|dQ¬9D%šx(tŽfLÒÚHÅ*g9ä¢ C<:5KQž€c°ŠÈ Ê^åšàÀ`òQP“"î(G3âP€8<Î|&„~‰vÔ€‘ÈF6µy$¬ >XÆINDS;hÇ8òQw¼ªÐ;9Á„?Â˜0>[2rt£KÀ¼p‚{ôMöÈ8Á.ô¡¡5Š@=HÉzd@  ; 07070100032885000081a40000000000000002000000013d1fe2d900000680000000200000000000000000000000000000002100000003reloc/servers/images/freebsd.gif  GIF89a0 0 ç  ÿÿÿ!!!)))cccsss”””œœœµµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞÖÎÎ÷ççskkÞÎÎïÞÞÎ½½ÞÆÆŒ{{½¥¥{kkµœœ­ŒŒÆœœsZZB11ZBBB)){JJŒJJ„{91s91œskZ1)”9)„9)R1){9)R91k9)½R1kB1œJ)çÖÎkZRµZ1ZJBkJ9”R1ŒR1„J)¥Z1­Z)sZJkRB„Z9œkB½s1µk)„kRkR9„cBœk9µ{B¥k1Î{)ïçÞÆ”Z„c9œk1µ{1Æ„1Œ{cœ„c”{ZÞµ{sZ9¥{BÆ„)Æ¥s¥„R”sBµ„9½„1Ö”1ÎŒ)Æ„!Þ”!µ¥Œµœs­”k­„BÆ”Bï­BÆŒ1ÆŒ)Ö”)Þ”ïœ¥œŒÞ¥BÆ”9Þœ)ç¥)çœçœïœ¿¿¿ÿ÷çœŒk­”cœ{9Ö¥Bç­9ç¥!½œRÎ¥JÖ¥9ïÖ”„sJÆµ{ÿÿ÷¥¥sï÷ïŒœ”œ­¥œµ­çïï­½½RZZÖïïµÎÎ)11„­µ­ÆÎ”­µ{”œ¥½Æ„œ¥k”¥c„”¥µ½s”¥Z{ŒkœµJ„¥ZŒ­Zs„Bc{1k”{œµZ„¥Js”1cŒ9s¥Zk{ÆÎÖRk„Bk”1Z„”œ¥1R{BZ{)Bc1JsJZ{ks„19J19R!)B)1R¥¥­„„Œss{BBJRRcJJcRRs191J1)9B1JÞÖÞµ­µsks„{„RJRJBJB9BcRcZJZJ9JB1B))1)R!BB)9R)B”„ŒRBJ9)1Z)B9)cRZB19c)BsZcc1BÆ­µ¥Œ”B)1k1BZ9BŒks„ckR19J)1B!)k)9B!µŒ”ŒckkBJR)1k9Bµ{„c19s9B„)œck”RZk19„9Bc)1”9B„19{)1k!)¥JRŒ19¥9Bœ19Œ)1”)1„!)Œ!)”!¥)1œ!)œ!¥!„ÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>l#±bÁ60è™+§LŠ#F±×îZµU!C¶hîÚ³)+ò À+:Ï”ÄtÈfœD|ø¼©ðAž¹Cv&ô‡ÏÞ*V—Š`Àpá[6zÏ¶¡QjÐÊ>{ònÚuÁÀ‚"|ÌËúƒkAxòÜá“VîÖ#IoŠy#oÙ¶j ÝþcQ®œ=sÒZ™z$ô¹uÚ˜UA0pÊ#ÌÊAÓv­•¥OoÞøùð™±m)²áªÍ¶jÚ*üãã§@¼vÚÊ1ƒÖv 2J™™s'^7
Ò}Ç¹\7y%Â´Ic-ä‚¿¤¹³§ž6÷âþj·íY7{öVÜ0÷,%Ž5´…ëæ®Ÿ>wÝº]÷¬Ú³kÌH3Þi}‡@Wô	åSÎ=ï¸ÄyâTsÌ_Û“ Dm #Ð©³ÍxÏhcÌxÕ,#7qs7Æ !jÄÆ5±Ðß3;.óÌ1ý“F_X‘%£ BK«ÁOdüS‡’eÅ#‚±Š,cü3.üTó„@c<ã×5ãõ&Ø@kÌÀÌ22þCC=û¼óŽ=îl³&A,ÔécÎu3Žsã´·ç@uTãŸŠöôSO9ýí·Õ¡±Í…ÚðÓžÚ<#Ž8zPZ™8ùÔcO7þñ¸š¢þsŒ8þã]ZyÕìÐê@<fµŒ…$I)?Ýtjæ2Ä.³Ú­ÿ”`O=üõGì3qÞZÃ²ÁòXì	È
tM9ã4»è6ÇÞªÌ5ÛÜòlyÏ¤0¦¸áDúÌ-ÖVÃ‚¯\iqÅ`£Ì¸û=3Ë?¿¨ÄNZ¨ÁÈ$œN0À(3Ë¾Šò(LÁc5)h3iDvü¡$“Tb‰+ ðÊ,Ìh£ò§âÄppð’kºÏ„Û0‚H%@âó$šlb…ãÅ2K ôK/P0q,O0Ã‡^ ¢H&›`ÂÉ)¢ˆÂ‰Ö§€4.½rP:ä@/CxL‘
-§˜bÊ*­"€ bÅN!>”Ä6>ñÌÞÀl_Ä`÷!¸òË/1äÆ iQihÁß2±È²¢ªÑ;Ý”«™ô2€fk#;T†á®×nû¡ ;07070100032886000081a40000000000000002000000013d1fe2d9000001b3000000200000000000000000000000000000001e00000003reloc/servers/images/hpux.gif GIF89a0 0 ã  ÿÿÿÿûðÔßÿÌÌÿÀÜÀªŸªU_ª*_ª*?ªÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þðÉI«½8ëÍ»ÿ`(Ždižhª®ìZH,Ï´ÀHqÓ|_’Bo d:‘Hx(—1@ˆ/hí¡EwÕ¯8`xÜ®Î(‰ß r7µN£p¸¹G?¿qkyb{4}ComE‚pP†<FTvW‚TCŽ4<_{:K˜2“£8R¦nXD¢Uwa§°³F¬g›9G1Ix²q¸Cb¥E–F^^F„­ÅƒÀx’°Ó|gšWÌŠ²ÁÎ—Û_ÖÖ½´èoÃ=Ü`6²Öá ‰ÚDÆÂŠn`qô–<Z!Ð+^µTŠ:±k×É€ŽÁÐ€„lÜ’E_šåyC`Â<OÊ*5Ò2)[I#úÊWž”*WŠ±ô®\h7]*sŒc@€]l´ä5%KN4·r&ÃƒNi	|Ö óKi4-²jÝÊµ«×¯`ÃŠ;" ; 07070100032887000081a40000000000000002000000013d1fe2d9000005f6000000200000000000000000000000000000001e00000003reloc/servers/images/icon.gif GIF89a0 0 ç  B’šÂ„ââä¢šÄFFDjêòä^¢<ÎÎÌþ’”""$‚‚„þæä®®¬ÞîÜž>
þÎÌ’’”òúôÚÚÜ²ºÜÆÆÄffdŠ¢„ööôêêìºÞâô†ÎÎü‚‚ô®®ü’’ôjr´îîì¢¢ü224¾Ò´Šºt®ÎœªÞÞüººüÂÂüzz|þòô†ŽÄššüZž4ææä†FDzòòôr®Tº²´úúüÞÞÜ’¢„êêüÖÖü::<J–$¢ÊŒ¢¢¤ZZ\rÖÖÔþ¢¤þîìžRºº¼vrtúöüîêìÂ*ææüŽÎÒì¶¶ü––ôîîüªªüÊÊüŠŠôòöüÞÞìF–ââìJJLnnªLÒÒÔþ–”..,ŽŽŒþêìª®ÔF
þÖÔžžœöúôÂÂÜjjlŽ¢„ööüêêô"ââüŠ††ô²²ü~~ôîîô¦¦ü664’¾t²Ò¤²¾¾üz²\–¦ŒÆÆü~~|žžü¶¶´þþü>><¦¦¤¾¾¼ŽŽôþöôÒÒü¦Ê”Æ¢ææìòòüÞÞä––üÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ 	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±ãCòÀ¡ÂB&q0ÁÁ!‡—0aöh¸Á„!7bDàcãPË†=þ\È#A$5 :D‘"„ÇÐ…-cZ£¤‘À§	7d ‚	HG¼`Àš°gƒ$e4RrhRÃ'‰è°øó5
6dr8›äW¶ÉÀgÇ;ìxØ‘÷à$9oX¨2‡·ŸLâeC2‘åhlCš2ZäHš`.JÀGP†˜yäÀÒ&pf‡x<y"¤O—zòàòÒ†6*Mšn<8Áê>UNfú¤Jþy¡ÅÅ@€Z¸0ïÂ
Axf°ä¢Å A'F9$çÎ}!8òÂ{àqÅ3âˆ!bE!Ü1C…ÜÁHWÜ±Ç… 2ÃŒlÁÈ/ŒPa!xð—Çˆ^± ŒdHÂV¸PÈwŒ0ÅÕÁÃÂY\<÷#%@RL2Y’?b]H!M)‘ñÐCL\:ô—/ ˜É54ÉðÐD‡œAFk=±Ú~<²Â¾1ÄA4äÀG=ÐðM91D ˆÑs.mà„q†Ç1´A
è€À5Œ!@˜1ÔÓÀ†‹TºÐ¥*GËqÄ‘*œ¬b
	˜aFž
ÉÜA·AuØ À¼&¤[™zâ„9ð­‡ÔÄìBÁjAØÉñÜv]tÑ&üˆq”°4IÜÑàaY%V¼0Hy/ÔqÂ{Œp‚ŽàñB#`QÐY„ E‡öYQ	WÔwß	x8BÐ[ÜA	3da…ˆ[lA‚#€HÂ	„'ˆ‰–0ÂÈ[\È3ˆ0CŠU'oBôóÏTmôÑH'­ôÒL7íôÓ ;  07070100032888000081a40000000000000002000000013d1fe2d9000002ce000000200000000000000000000000000000001e00000003reloc/servers/images/irix.gif GIF89a0 0 ¥  ÿÿÿÿþñþüãþûÔþùÃþø´ýö¥ýõ—ýó†ýòwüðhüïZüíHüì:ûê,ûéïïïæâ«á__ßßßÒ&&ÏÏÏ»»»ªªªšššŠŠŠ~}p}îvvvfff_ráUUUEEE=QÉ111!!!   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ? ,    0 0  þÀŸpH,È¤rÉl:ŸÐ¨tJ­ZÈr­~J%R—Ú‹ÆTL‚n?'’¹ÃB2"0	”É|H  r%uPr?Y`vy%Šs$}_`†O % DšB`#CeD`…RzC%Bš›C a¦—R„%l£fCzµ¨Q³§¹Ž`«#`ŠC§˜O¸ªv¤ƒ%#EÑT–`?$"ê¼Ý¶Q[CŒ±šìHÞQ%äµä¤Æ%">\&­‰3Va–ùûWb …§2X°Ç„Cž=y@¬Z”– X±‹¢n"‘‹?$¨\ôå‘0¸‘s†‚M!e0=ØIÀMÚ«\*%d(ÃÈ‚£Üü˜àçƒS"  f€©T…À*äêT*;ô›€gØž„5°aÁÎ`yþ»³Á\žò¨»÷Á‚*gïú`ÃÙ3 ë o\±‚Ùæ=›8±Ú°*O	|81åÊè2¨BÊáÏP_vàöÁ°MãEý9€ƒBœÅ0ÏÔ¿=ÿ¡`'Ø­ðn’·²óç`KŸN]º“æÐWß¾ýzöîJ@§¾Èøåå‡ŒOä9zöBÜÃGBz~’ÄöóëßÏ¿¿‘  ;  07070100032889000081a40000000000000002000000013d1fe2d9000007ec000000200000000000000000000000000000001f00000003reloc/servers/images/linux.gif    GIF89a0 0 ç  ’‚LæÂÂ„<BLàâäÏ¢",zUÂª|ª¤PÈ´4¨†bbfÀÄÄèôøå³
ó¶^F,‚jÞÖœ¾¶|&÷õêà¢
:&$$ž’\¢’\œlâºÈÒÈ×ÖÇNRVîâ¼¦¢”ùúùæÒL¢’4Ì–RBltx„†€ÞÂt[XPÝÛË²¢œëÂ)Ìª(B6ó¾r_à¬í½Ô”620pdDšv$êêéÙ¤»‚§­¬øò÷(òÂ	,"gjnÒÆ¤ì²	··¼””ˆMHOÙÚÜí¼Âº|òúô"™‰vVR8(çäÞ€^(Ò²Xñòô¼žh ¤¨þþüÔñÃhefòº$!òêÌˆ|\ë®Ùªþöô–š NNSÆ¸˜š‹_FJLóºZJ4ªšd¬rŽŽ÷öö,,2í¶
»¾ÁñöñØ¶ ®ŽÆÊÌm!¶”®|F.	¼ŒfNÒÆÄ¶¢dÖ¾d²ª„vnd£ž”¼š@Žf’rZRTV^dâÎ„:20¸Œ$æÎtD>4v^<Ò²d|V0¦ŠD¦šDÂž$¦~Â¾¬~|J>4ÞÚlÚ¾znL¶² jVD&*$vz|ÞÎ¼6æÖ”¶ª|ÈŠšrTH<<8,ïìëôÂ0ÌÄÀ~Z2:<Úª4—…aŒˆtœ–„rN ¼®˜¢†4˜”xÉš¼¸È¬œxÞº4EC@ÑÓÓcWGÞÝß§¥¤Ü5.,Þ²DÎ¾”V>UE)Êº´$$(ttxÖÕ×zuq¦Š$®~,Šv,²Ž<îäÜ®’$æ¦&âÚÉæ­®®¬¾º¬ÞºÎÎÀ¾¦trZ4B:8öîôŽ†d•–™jR$ŽŠŒ¢~4¶rÎž$ÖÖ´&$ZFLþòì¢jÚ–öÂžž¤¶~Þ¼hª‚<ÞÖÔÚÊ¤âæàafhà¦æ¾ÊÖÔ©¦Œúþù!þMade with GIMP !ù
 ð ,    0 0  þ á	H°`Á-ÁsöÃ Ã‡#
i " („ì‰È±#Á5ä,V¬sJ3(!–ÓâÆbË2Mðl8™²æ@"-žà1€+6kþÃ™SdK$Akê+ZÇ – ô%MfÊ'c*{£LE<¦z„„cÙ­R *ÊÆ­’E;b;†yÓ® þL¸ò÷BME¸q#†±tB‘™Aš¸è¥§À:Æ‚B›¤
àÐßÈ!YÆï?üÔ³´ÀcÐ‘`"!,7”äpdá3lƒpñŠcš0Y`§¦Å–ßBGhß:jdyÃ I8-z þÔ·™=zA‚ÂGm0X‘l¿¤”¿lI¸|ksŠÚB¸$t~`L,[sO6W¼2Ä(¼2‹E@W€ìÌ?ÏÞqG»¸D@C Íã$%ñÏJ!"„ÿxS†¹ÑD‘u¡†Ïü°‡{€(
R¼òC>ë< Ž• ”AÅâùÊŒwä3ŒÙPˆ5ÍâD\/dUÉ=¢°
3ÂyÇóH^¹–XHQF9 †(¨ˆpq1ÌŒá—k¯L5u„#Žˆ n!'„{d€‚›ÔÄÏ¢BLUŽ_‹¤"
–ÊyiˆaŒAþ”3<ÁÃB8Ä„ö*gžÀZGEØ$ÕK.80ä¦p¾'ŒqÂ™†-D¸Q- ˜Ò+ä8E‘nÂùœªŠ¨)
&0`­EpØ¤bØ1ç³wl)(ŒÏfpº°VÔnM@q£Ü‘´õž
!œšfD<øR6-‘L#Vôb°œ[l¹êÂw¸3.¸± `Ó8|äÑ@ÞÌ9„©¼Þñf¯[”@‰.Y¹†Í£¤´G>´„ Æ}„Ó‹¦n!#—"îI¼xö$*€âÑz$¢I7ÄÇ…°³ËÑ¾yi>õH°ƒu¸A#:¤ÐQ.õTÃþOˆqCØ2Ã|ÌìÃÔ£M1œ € @Äñ‹üQ-Úä‘GqqƒƒÐÔ# ¦‘Æ¦§ŽpI19|QÌûÄ¡
ÔC<ñ·O€®Ãò Á‚jäƒÂ?¨¦*¢Œ|AJ(‘G:Ñ
Ù@$M ðÕëð{ Êxbü‘‡ß±Å9X¬ Dïbƒ/öñ@ø~ÃÑ7qtˆ 
r%§<À'¨Âò âè€ ƒøP‡`.l7xBÀÀêg	 
2`:w\aÀp  %”fƒüÀRq;ƒÌA¨ˆó9ÄA»_ø0l1[<ƒx¸ ¬ñ‡}äÁsŸ[2Q0ˆøƒ«(F1€ <ƒ9XÁ,P‡aAÅ"Ö Á\È9%@ýø‡å"òƒ["Ñ !¸¨¬‚Xp6HÀ†B’$ÀEvp¬ &è‡Mþ‘‹\$" > C:Þ*x¢qF+Þ1€Ðc¹@QR¶àX<b`Â"²;(ÃàÅ:`S€aã9ùÇdàKu$  ;0707010003288a000081a40000000000000002000000013d1fe2d90000089b000000200000000000000000000000000000001d00000003reloc/servers/images/mac.gif  GIF89a0 / ç  ÿÿÿ!!!)))111999BBBJJJRRRcccsssŒŒŒœœœ­­­½½½ÎÎÎÞÞÞçççïïï÷÷÷÷ïï)!! µµ­ 191çïïÞçç„ŒŒkss{„„Îïÿç÷ÿÎÞç½ÖçµÞÿÞïÿ½ÎÞÎçÿçï÷ï÷ÿ!)1ÖÞçµÖÿ¥ÎÿÖçÿÆÞÿœÆÿ­ÎÿÆÖï¥µÎ„”­½Öÿ½ÆÖ9BR¥ÆÿŒµÿsœçk”ÞÎÞÿ½Îï­½Þ¥µÖBJZ„”µ­Æ÷cs””­ÞŒ¥Ö„œÎœ½ÿcŒÞÎÖçµ½Îs{Œ­Æÿœµï”­ç)1B”µÿs”Þsœ÷Z{ÆZ„ÞZ„ç9cÆ!1kÆÖÿµÆï­½çs„­k{¥Œ­ÿk„ÆZsµs”çkŒÞRk­sœÿk”ÿcŒ÷Z„ïR{çJsÞBkÎ)B„BkÖ)R)Rµ)R½½ÆÞœ¥½{„œ½ÎÿZc{œ­Þ„¥ÿ{œÿc„ÞkŒï!9Z{ÖZ{ÞRsÖZ„ÿBc½R{ïBcÆ9Z½)Z9œ)ŒÎÖï¥­Æ­½ïRZsµÆÿJRkŒœÎœ­çBJc„”Æ”¥Þ{ŒÆs”ÿkŒ÷c„ï1B{Z{çRsÞJkÖBcÎ9ZÆ1R½9¥­½÷¥µïŒœÖ„”Î”¥ç9BckŒÿRkÆ!B)9sRsçJkÞJkç1RÆÖÞÿµ½Þ­µÖ„Œ­ckŒ¥µ÷RZ{JRsŒœÞBZ½BZÆ!J1J­1Jµ)B¥1œ)”ÎÖÿ­µÞ¥µÿc{ïRkÞ9Jœ)9„)9Œ1¥¥­Þ”œÎœ¥Þ{„µs{­ks¥19k!)Z9J­1B¥)”!Œµ½÷œ¥çJZÆ!1œ)œ­µ÷¥­ï J R!œŒŒ” „ Œççïïï÷ÆÆÖ½½Ö­­Æ¥¥Æ!!)99Jcc„11BBBZ!))999RBBc1!9„Œ    {  „  Œ  œÆ½Æ   !þMade with GIMP !ù
 ó ,    0 /  þ ç	H° Aƒ<8È°¡Ã‡ ð°¢Åƒhp±ãÅ,ðHÒ!L(ÉÒ`ƒ4´œWÁB¹›nêÜÉó¦„°(Wh…£H“lB¦©IJ AR¦,É<C²fKH² x0¨Ó„ŽÙt`©Uû%X°!N
:¥GO*4bÔ8‘#ÇŒ*FÈPAxÆ|˜Ç‚
2€Ìè’Ã”P´¢JWð"4–öÔC…Ê4xðÐ[#†ë¶0è YÊwî8
J”¨<š9ÔÌR4¢õ6½„‡0Õ©yÔˆDàßb2^uÙ®{wï(‘‚þËõu©<rÑb–—^Â~	•G2xÈmîŽ¼ûŽ)O¥Eý¢&}\Zr¥QÑÃ]ê©ó,Ø·]·ÝÁÛ~‘X#E%Â¤Ã/˜dÑG–„¦Ç5»üA…ÊéAÅ‚“QæE#äá#Râ€Ãý²
 šdIyVX1>Ñˆ‘Ü=˜ò(àvG±ð,ŽôHI$ôá&›©	—XáÍ>¸èQbhe¼ó2ä¦[ÉhYD—üåA	%Iüà&œ‘˜é>¼ìa‰—ìqÆ?èÐ…#Ý92D>[:ÒçŸIŒfœ¸'ej¢‰ØÜƒ‹þöÆ3ÿ¬3C~Þ9’<êAKR2
%‚Ù‰œ™gš¡É0!(ç@8Ro½Ñbfý•*$·T‚Ž˜‰¸QÈ±É.›ª&|¹* c(Ûöæ›(üE¬°£„¤‡átRÈ¹n ÈÁd’	È™ü#ÏPhs/ø~
ê(êa"žx’Ë¹Ç"«,ÂkøñÏwˆBË½÷ççÅ‹ú¯@æ$bˆ!žrÍ¹¥ŠŒ,1mÔó;]Þ›¯Å”,jÌÅnlÈ'8ç|î5è¢âFƒh	É¥ù…rôË0c‰Æ4'â
Ô7Kr'Ç®RÌ?L±ÎíÀCÄ¯À›ÄþÒ+Ó´@:Pó	ÚQl8Û­¨òOÿ4Þ8<Âü¶oÒ1‹-nA5ó2øÍ…>0'ÇèÍèÐ½N(y€4ßLÏ<OÍŸhŽ¶ì9'­´Ñ+‚Äñ;P¨h‘Ä‰Ìäò¢ùÍ¼H3ÛÇzî9öü#	-~J!…(‘ÑLñê:ÔÈ¡yÎ¾ìÎ4Ò2HÁ£Rˆ¹¬Ðc}˜Ñ²3µÀCiüòæ¨¡<´Qcä>¾1lHc†à…'‡TüÍ¨ÅÔ!ÇýCÌ°FëÈ;ÎEßÀ‡8øÁBŠC*76 %þãDp†Buä¤fþ®0aÎÌÁ^Lcá >Æ±Ä~tcAÖa‹0@"
ÂøU”¶7R¸.pAäœÇf5ø]häE!¸ðu$
pìð”¶Œ¿½Îfi3„íG5øÂTš8Ü”·Ô¥nûà$¾È±´íQgl‹'P1I7l"ŽÖ'°!Ò‹˜kä#æ«¡‚’ðóYgá©|§?y+(‡CNŒÒTÈ*ÆË@”ìDH†òE¼< !³HÍ´P-|¬œˆd'v¹,Nã`Ö\ÃþQŠ-<ŒD2âDðá0ÌÀÎ*¸³U€'<ÝIÏ+hi¯k‚	öi‚ xáŸ_è(êPrÐAm‚"šÐ„(âe¨D'ªˆàB¡ 9V@ŽŽ’Ãèè^à™4dÿ €LjRhÉ,IðÄt&hœLnÊ ¦<-I À’€  ; 0707010003288b000081a40000000000000002000000013d1fe2d9000003e5000000200000000000000000000000000000002200000003reloc/servers/images/mandrake.gif GIF89a0 0 Æ  ÿÿÿÿÿ÷ÿÿïÿ÷çÿ÷Þÿ÷Öÿ÷Îÿ÷ÆÿïÆÿï½ÿïµÿï­ÿï¥ÿç¥ÿçœÿç”ÿçŒÿç„ÿÞ{ÿÞsÿÞkÿÖcÿÖZÿÖRÿÖJÿÖBÿÖ9÷ÿÿ÷÷ÿ÷÷÷÷Öc÷ÖR÷Î9÷Î1÷Î)÷Î!÷Æ÷Æ÷Æ÷Æ ÷½ ïï÷çï÷çç÷ççïÞçïÞÞïÖÞïÖÞçÖÖçÎÖçÎÎçÆÎÞÆÆÞ½ÆÞµ½Ö­µÖ­µÎ¥­Îœ¥Æ”¥Æ”œÆŒœ½Œ”½„”½„Œµ{Œµ{„µs„µs„­k{­c{­cs­cs¥Zs¥Zk¥ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š‹
›’( #(¥('«
&%&!±Š!´&$™)(%Æ&—)2Ž$´Æ(–;,‚¸… ÑÆ'–71ƒ
'(¾#ãÒ°”1>…'µ&L¸j'Ð˜ÁZ*ý°ahB±ƒ!úJ†(Á AŸÅÒÁ qC+1…@øÃÀC¡ 8	ñOdDìLŒ°° ¥ ORa„F¢µlÚ¨Óƒƒ <H°À€ I\(zðPéRWÈ8!#Ž$ØQ¨é5dÀþ&@˜ l#Â	àÕV¢Î‚<tpOP#yµê>|
ÐÀ'‡"ˆqo©	¤aNŒd["(6ê0ÄHZD’žüh‘$/9ìKK($!Id$ŠÝ¹³Á_‘z,¹‘ÈÛZ‹—@é†’ ˆ@kLÂCƒ­:S‡$#	’‡œ—(bÂø?<Ü3‘ R
#I~JÀ®„‡úƒ¬€M ‹”$=$aC„4‚{„¤`ƒ-òÑC&ÐI
E$‘„„|3H7Áà þs‚†Ü€Fø@CGƒ°`C@Ü Â!x€Â(”äà¡yCð CB2aÄ5za0M%2ì@~æ‘Ã¤%2@+Y’`²°A$ø–Ë™h¦©æšl¶é¦&  ;   0707010003288c000081a40000000000000002000000013d1fe2d9000007ed000000200000000000000000000000000000001d00000003reloc/servers/images/msc.gif  GIF89a0 0 ç  .6êöúRbÂæî"n‚ªªª‚ª²*†¢nšªbºÚ^²Ê.–¶R¶Ö
&*2¢ÂN²Î¦Úê
":FJªÆZbb
þþþ^n²¾Âz²Â:::–²ºNnz2¦ÆJZ&z’¾ÚâBªÆ~ÊÞ*>B222j¾ÚÊêò>J>n~6ªÊ"j~z¾Ö:‚–"**†ÊâFRfz:n~Zj:®ÎZºÖ.šºJ‚’*Š¦&FN*.âææ2:"r†

>JN*‚ž^¾ÖŽÒâ*Zj.’®:ªÎ¾âîf¾Ö2~–2ž¾"JV"FN*2F²ÒbvB²ÒvÆÞJ²ÒBNVfVºÖ&vŽ:š¶–Òæ^ºÖ&~–
"&.ŽªÒîöZjnNZ2FJ"6>N¶ÒV¶ÖZj6ªÎ>®Î

2>&.6¦Æ"fzb¾Ö¾æîB®Ò’Òæ
b¾Ú2¢Æ&rŠ>N"bvzÆÚ^¶ÒZfj†Îâ"2šº6¢Æ:B.:

*~šNZ
FV6¦Ê.Ž®Zn2žÂ
"2>>‚š
&&z–Rf^r^¾Úf¾Ú*6Vj>®ÒzÆÞ>Nbz&v’BR"f~Âæò
&."j‚.’²"n†"rŠ&~š
"*
N^ªª®N²Ò"6B
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ ×tò €ÁƒÕ\ÈP ”lJœ(ðÃ)„ª¢ÈðŽ ãd9dG‹“(S
t %¥Ë—kZ¬0rd(­è 9qUÍŒCðð”)eçÐ…~À(‚çB)Zœ®‘"g€)œ–Ð
ÂLoP9ùaMÙ†2× ACÖ¬[™2?V"©…ƒYÒÎ<8M¦?œŒ)P¦ÀÏ^ó ËIŠèÐ|fú¸PqÃ;ˆ%ê=E §„ €B•Hƒ8Ò¢‰*šð*-Ñ.”y(Ä„Q!ŠØ°±bk	ÎA%SgÏÿêýPVï™O˜œìXã¨#VZþI:ˆ…a‹ÎkŸÌA›b
›„š¯æ`†€qwvËÐHèÝ­ JEÂÊ«ƒYi§	&Pnµ@
"6ØÖ@Y|ðÈx%ÁßBr$ÖPzÙ¶F8Dá
'8àÅ#ôñE‚a’â`úQÄ„zí6	';\0 YN¤SUXa(¦hV9¡bZN ‚ÃNÔ°I#¨(ÖÂ!5¹[”•öEm%€Nì'“•óU§`-T·† ¢×txHHÓA§lw"Hì©À'xFu[hµÕ$ƒ~€æbR®¥L Ä¶\YÁÂ+mdKj
ÆžDþ PâYçÅ”ƒ ˆ¥„á›ûYIë Lðˆ»)Á?0bP §K›¤µ·Ð) öŸš(5áÃˆ €	BèEá~¥IjY™Ìá\F,qÄ,¡‰L²ÔÛè #8gÄÖ6ÄEU` ``°„§HàÉ@ÐÀÆT‘ƒ@¨bŠTðI˜L	@Å°Ä*H±F*H „# BÃ³¼°FÂ%ˆ1 s¬ÑñsÌqÄ ,Ï»PÂ‘‰ËKX!FÅF{†ô+.ä tÇTt|ôsP!†*œ¼†'d"†]Ì±DL™` GþÄ…Q2ÊR`€€cdvk¼¬…ÄˆÏ,Ük´lEÒs['Kß±†ÄDl5ô16`fÏ+ÆU¸<€¸¢ŒAˆÑÂË^}÷æC À' ÀÏaöy§®0Ìm«P4ZAÖ
`Ld$À^,D%~:D„ëóóu¿ò §Ro©ÜžßÐ(E¡¹nU/iùeùÉé¨©XzÐ	t¨iRðŸDÎ¢˜¤¥Q €þ" À…:‹‚ß¬x‚ƒ¬áBV0"?)Á(1ÑËX˜A­A9-pÂ"‰c"ÐˆææG˜«8%-—X+ÂUÖÊÒƒLb;Š`È˜?Xa0‡0ÑÞ‡.™ÔÀ ˆáˆVd½t‚!6²Dâ @Gª‰Ä4‰ÙÂ$"ÍýgXr€Á Å…Dâ°‚¤`@™$ñdÂÌ@AŽX
!áz0(pFŠiÅ–„˜L¹YÐ‚D©-dBÈ€VdeèØå(cRRì€J-H‚° ¿(vª"88Åbé Ç•ðI…ÙÄAFÁ¾šLÀ_™D+ ã€4˜Å•ÖH@  ;   0707010003288d000081a40000000000000002000000013d1fe2d900000680000000200000000000000000000000000000002100000003reloc/servers/images/openbsd.gif  GIF89a0 0 ç  ÿÿÿ!!!)))cccsss”””œœœµµµ½½½ÆÆÆÎÎÎÖÖÖÞÞÞÖÎÎ÷ççskkÞÎÎïÞÞÎ½½ÞÆÆŒ{{½¥¥{kkµœœ­ŒŒÆœœsZZB11ZBBB)){JJŒJJ„{91s91œskZ1)”9)„9)R1){9)R91k9)½R1kB1œJ)çÖÎkZRµZ1ZJBkJ9”R1ŒR1„J)¥Z1­Z)sZJkRB„Z9œkB½s1µk)„kRkR9„cBœk9µ{B¥k1Î{)ïçÞÆ”Z„c9œk1µ{1Æ„1Œ{cœ„c”{ZÞµ{sZ9¥{BÆ„)Æ¥s¥„R”sBµ„9½„1Ö”1ÎŒ)Æ„!Þ”!µ¥Œµœs­”k­„BÆ”Bï­BÆŒ1ÆŒ)Ö”)Þ”ïœ¥œŒÞ¥BÆ”9Þœ)ç¥)çœçœïœ¿¿¿ÿ÷çœŒk­”cœ{9Ö¥Bç­9ç¥!½œRÎ¥JÖ¥9ïÖ”„sJÆµ{ÿÿ÷¥¥sï÷ïŒœ”œ­¥œµ­çïï­½½RZZÖïïµÎÎ)11„­µ­ÆÎ”­µ{”œ¥½Æ„œ¥k”¥c„”¥µ½s”¥Z{ŒkœµJ„¥ZŒ­Zs„Bc{1k”{œµZ„¥Js”1cŒ9s¥Zk{ÆÎÖRk„Bk”1Z„”œ¥1R{BZ{)Bc1JsJZ{ks„19J19R!)B)1R¥¥­„„Œss{BBJRRcJJcRRs191J1)9B1JÞÖÞµ­µsks„{„RJRJBJB9BcRcZJZJ9JB1B))1)R!BB)9R)B”„ŒRBJ9)1Z)B9)cRZB19c)BsZcc1BÆ­µ¥Œ”B)1k1BZ9BŒks„ckR19J)1B!)k)9B!µŒ”ŒckkBJR)1k9Bµ{„c19s9B„)œck”RZk19„9Bc)1”9B„19{)1k!)¥JRŒ19¥9Bœ19Œ)1”)1„!)Œ!)”!¥)1œ!)œ!¥!„ÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#>l#±bÁ60è™+§LŠ#F±×îZµU!C¶hîÚ³)+ò À+:Ï”ÄtÈfœD|ø¼©ðAž¹Cv&ô‡ÏÞ*V—Š`Àpá[6zÏ¶¡QjÐÊ>{ònÚuÁÀ‚"|ÌËúƒkAxòÜá“VîÖ#IoŠy#oÙ¶j ÝþcQ®œ=sÒZ™z$ô¹uÚ˜UA0pÊ#ÌÊAÓv­•¥OoÞøùð™±m)²áªÍ¶jÚ*üãã§@¼vÚÊ1ƒÖv 2J™™s'^7
Ò}Ç¹\7y%Â´Ic-ä‚¿¤¹³§ž6÷âþj·íY7{öVÜ0÷,%Ž5´…ëæ®Ÿ>wÝº]÷¬Ú³kÌH3Þi}‡@Wô	åSÎ=ï¸ÄyâTsÌ_Û“ Dm #Ð©³ÍxÏhcÌxÕ,#7qs7Æ !jÄÆ5±Ðß3;.óÌ1ý“F_X‘%£ BK«ÁOdüS‡’eÅ#‚±Š,cü3.üTó„@c<ã×5ãõ&Ø@kÌÀÌ22þCC=û¼óŽ=îl³&A,ÔécÎu3Žsã´·ç@uTãŸŠöôSO9ýí·Õ¡±Í…ÚðÓžÚ<#Ž8zPZ™8ùÔcO7þñ¸š¢þsŒ8þã]ZyÕìÐê@<fµŒ…$I)?Ýtjæ2Ä.³Ú­ÿ”`O=üõGì3qÞZÃ²ÁòXì	È
tM9ã4»è6ÇÞªÌ5ÛÜòlyÏ¤0¦¸áDúÌ-ÖVÃ‚¯\iqÅ`£Ì¸û=3Ë?¿¨ÄNZ¨ÁÈ$œN0À(3Ë¾Šò(LÁc5)h3iDvü¡$“Tb‰+ ðÊ,Ìh£ò§âÄppð’kºÏ„Û0‚H%@âó$šlb…ãÅ2K ôK/P0q,O0Ã‡^ ¢H&›`ÂÉ)¢ˆÂ‰Ö§€4.½rP:ä@/CxL‘
-§˜bÊ*­"€ bÅN!>”Ä6>ñÌÞÀl_Ä`÷!¸òË/1äÆ iQihÁß2±È²¢ªÑ;Ý”«™ô2€fk#;T†á®×nû¡ ;0707010003288e000081a40000000000000002000000013d1fe2d900000569000000200000000000000000000000000000002000000003reloc/servers/images/redhat.gif   GIF89a0 0 Æ  ææäÆÆÄ¢¢¤††„rrtjjl‚‚„ššœÂÂÄââäÒÒÔ>><::<zz|®®¬BBD

664ºº¼**,ªª¬êêìffdRRTÊÊÌ..,2z’ŽvR*>
nšB

""$ZÂ"Âª‚j¶²²´ª¾²J
^†žº.¦¦¤NNL&fF
r224––”2
vvt¦6
ZZ\bÚÚÜŠÞÞÜJ®ŠŠŒnnl¢’~*FFDîîìþþü¾¾¼V"úúüòòôööôbbdÖÖÔŽŽŒÎÎÌÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ€‚ƒ„…ƒ 	†“”•„
œ–¤”žª«¥°«´µ°”µ¾´’¹ƒ« !"#$%&!' ()ª*Ã+«,--.ââ.æ/0102 3ª¹4Þª56æäãá-789:ZìX5!)hy¸‘¯>þrðpÑÃÁ– ©e¢Å‡ãô…9RœZ8T
RKˆCjä R¤ˆùH¶xq„JI|ÍèáB‡5”,ñBgÈq#j11”¡‰¯%áz|0á„hÉ‡#]œ¨µBA!&¿ž˜sqã)Øœþán¨…€Mœj”ˆ"Æ#3Nì	WßZ1jQ2è@§!<®Òàˆ¯‡ÉÁÉã(­©‚$äm*ÒEˆN2§à ùv­¸5j©D%a¶èáA•’*0¬ä~:¸…w´& øóuÓÁãdD‰­jFš]›ã1cJÏž®üÁâ	Q|åZ8ÉqM•â%=F1—¥øAþˆö4¢Gúô.ð0uœ”`ØCôùgN0ø“
«ôVXæà ‚×¤ zšWÎ4‘A*«Óº¹àÄ:Àbf`½ðI¾xðœnÂ×a|!ÉàÙb¿Ô Cn8òˆ v:þÐÉb¶µ”iÐ!è¡‡Oé0#„µ € \Ä ‡Ù)¥>Ç…@¶xñÅ`¬†	Â!9%¯õÖÉOäÑ¢‚šk&1
aˆ1Ñné‚c¨’_sµü°æd PF1D<`•<Tq'âIá@”Zê0@Å£kšq†'a Å<¼ Ã7ô€C[xJËý±€¬~‘K(Pl,­"ÄG(!ííÉ6HhûEX¬p†¶füPÀ¤q@0‘„PlP@/¾€&HÚBJŸõæû¨$þÊØ jè+ðÀü²!«œ¯X ¬RJ–Y…· a†ÂõZ 0ñ(¨JE‰²×€d<*^@ Ñ+¬€D
CH	—¬¯³4  d˜QFHÀLB :ë{'Ðòš !jPbtÓÚ"ÔS¯é…J°HA/×kRÑ
{ò6	d‹vHQ,Tl0¾%“ö¶
d 7!T(p1Úd aõà† ¡ ß—¡ÀâŒSB…â	@.vÜ
ä]y.	( úè5W ;   0707010003288f000081a40000000000000002000000013d1fe2d9000001f6000000200000000000000000000000000000001d00000003reloc/servers/images/sco.gif  GIF89a0 0 „  ÿÿÿÿìŸÿåÿÙ@ÿÌ îãˆêÒ	âÚ‘ÞÈÕÐšÑ¿ÈÇ¤Åµ$¼¾­¸¬-«¢6Ÿ²ÙŸ™?’I…†R™Ìy}[lsd`jmS`vFW@f³:Mˆ 3™ÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þà'Ždižhª®lë¾p,Ïtmßx®ï|ïÿ@Ñ`H,Èd20"8ŸÐ¨tJ¥
šÕ¬vK¸Š¸[#R¹\0ó$Âz?`ª!ráØïx¼%ò|Ç§b„f„‹‹}XNey•Ž_effi¢§¨N~„f—w˜¢‡l
p\–ÀÁ™ZŒcˆ„e¤ÊÈÑÅ€±ÁÚ¦m¬R¼°¨ä¨¦å¨ÔS‹ÊãäçÊŠ¸nÔ‚¿Úý–i¼³ö¬ Aeu. "5á 1O\E¸FŽºy‰åª¢à¶þBÚ˜€ÝÑbRF›`gÑ…ŠT.z¨ë“	v°T•œM(ðLØâó§w*p)j” H|ˆšü‰ó’½ž#jÝÊÒÎ†­„ŒI–,…Òª]Ë¶­Û·o!™K·®Ý»xóêÝË·ïŒ ;  07070100032890000081a40000000000000002000000013d1fe2d90000035a000000200000000000000000000000000000002100000003reloc/servers/images/solaris.gif  GIF89a0 0 Æ  ÿÿÿÿ÷÷ÿïïÿççÿÞÞÿÖÖÿÎÎÿÆÆÿ½½ÿµµÿ­­ÿ¥¥ÿœœÿ””ÿŒŒÿ„„ÿ{{ÿssÿkkÿccÿZZÿRRÿJJÿBBÿ99ÿ11ÿ))ÿ!!ÿÿÿÿ  ï÷÷÷ÿÿÞçïçï÷ï÷ÿÞç÷ÖÞïÎÖç½ÆÞÎÖïÆÎçŒœÎ{ŒÆs„½k{µZk­µ½Þ­µÖœ¥Îk{½csµZkµRc­­µÞ¥­ÖJZ¥JZ­BR¥9J¥œ¥Ö”œÎŒ”Æ{„½„ŒÆs{½ksµckµZc­RZ­JR¥ïï÷÷÷ÿçç÷ÞÞïÖÖïÎÎçÆÆç½½ÞµµÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›™œ“Ÿ’‰¥¢„‰©…ˆšˆ‡»šˆ¾…Á›†½…Ÿ¨‚„
¢„Ôä‚¬¢ƒï®ïÄ…	–÷‚Ð¼ý1pïPÿ,!¸·Ë™  8| Àí5G0HpXˆÀŠœðp¯Þ#>hh@àš½E¨Ý5I€.†$4JùÎ“%	ß5JðNV¦3™ÔÄ`ƒŽ¯Õj"‰U$X±‚°j)	8‚)bDÇŽ³g™ä‡¦0ž¨PÑ¤®7bÄ8±HEŒ5lÙ‘C‡Ž9Ž™ñãI‰$—’Èp¡ãˆ#˜3ÙaäO2†ì¸¬9³e"DùÈQº5¨,v´.½#êDHÏ6’ãsT%@ŠŒžÈÛFø²Ù²îÄA`„@>(É°,ˆ±Á›4|Ä0Á5jK˜¨€‡Œð}ÀEqÂ„êøóëßÏ¿¿ÿÿ î ;  07070100032891000081a40000000000000002000000013d1fe2d9000001f0000000200000000000000000000000000000001e00000003reloc/servers/images/suse.gif GIF89a0 0 ¥  óøñÐäÇE’Q™-\ ;h§I´e‹»s¢È­Ï¹Ö«ÅÝ¹ÜêÕt­W—ÂèñãÿÿÿïïïßßßÏÏÏ¿¿¿¯¯¯ŸŸŸppp```PPP@@@000      ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ? ,    0 0  ûÀŸpH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à08`˜ÏhsÑ]Òð¸à€-ÈïqïÇPo~ƒi
Kv„Œg|tH“lF“||œž~p
E¡¤ƒ	 ¢D­x™wD´h?· r›Ch£ƒ‚‰½ªË	G¡BfÀFÅŸ?gNf?e‘C	äáµGfëãÌâDÂµêGvÊ½ò´ëEêðµ»ÇnÉC–
þ[(©–3'ßÐüÀ@±¢Å‹3f4’Ð CŠI²dI1(Sª\É²¥Ë—0cÊœI³¦Í›8 ;070701000328ba000081a40000000000000002000000013d1fe2d9000008d0000000200000000000000000000000000000002100000003reloc/servers/images/unknown.gif  GIF89a0 0 ç  >>>zzz¾¾¾ÎÎÊÞÞÚêêæŠŠŠ’’’òòîRRPžžž...ööòbbbªªªúúö&&&
ÂÂÂ²²®ÚÚÖ"""jjjÆÆÂ¶¶²ææâúþþÖÖÒBBBnnn†††VVVºººRNN
ÖÎÊîîê~vrÊÊÆâÞÚNNN²¦¢


ÆÂº^VR®®®*‚‚‚º²ª¾º²¢––Â¾ºââÞvvrÂ¶²ÒÊÆ666’Š†&nfbÆ¾¶NFD¦¦¢âÚÚÒÒÒÖÒÎêæâFFFÎÆÂÂº²ÚÖÒ*&&^^\êââ²ª¦ÊÂ¾òîê‚zxîêæöòòÞÚÖº¶®æâÞ¾²®º®¬
úöö22.šššrrnÆ¾¾b^^²®ª***ÒÎÆÎÊÂº¶²ŽŽŽJJJÚÒÎ
ÞÖÖ¦žšfff:2.B>>*""rjbŠ‚~"
’ŽŒZRNÒÎÎjb^Âºº–––úúú¾ººº²²ÎÊÆÚÖÖ6.*ZNN¾¶²þúúžšš‚~|
âââ"~~~îîî¢¢¢^ZXÊ¾¾ÖÒÒ
.*&Æ¾ºÆÂÂêææÎÆÆZZZ&NJJÊÂÂ¾¶¶ÎÊÊööú
ÊÆÆâÞÞÂ¾¾¶²®ÊÆÂþþúrnn–ŽŠbZTÊ¾ºîææº²®ÚÚÚ¾¶®¶®ªÒÊÊæââ~zzzvvf^ZÆºº"ÞÚÚ¾º¶2.+&"njjŠ†‚.&!F>;ÎÂÂæÞÞêêêæææÖÎÎ


Âº¶

VRR‚vr:66š––¾²²îêêÂ¶¶
ÒÎÊÎÎÎÊÊÊÆÂ¾
–’ŽVNNrffª¦ž¢ššÚÒÒÞÞÞòòòöööòîîrrr"úúþ"

þþþÖÖÖ222¶®®
vvvf^^²²²’ŠŠ.**!þMade with GIMP !ù
 ú ,    0 0  þ õ	H° Áƒ*<h)Ñµ…#&\g(‘Ä‹%l£ÅìÆ„a¤k™G(.;åª‰7F§$YB—¤FÐP Svå	¢D&kJ´”Z•+côauš'@æLÒz+OQ$\ñ@Ô\ŒÎ 
&óäÀ©(-ibDs›NTÇ´@äÃ§OIæ™“ÄÌ\"‹ %˜dqL¢\3-ÈLN"¶ÚÑŠÑ”ËIj‰[®„± $	íY,Á^Á°ÂÂ’kŒçnAk!Ð\²ªeÑ.Ö¼]×Dg!A–,ŽÊ´{Àì"3W$è[©ƒÆ¬{í0fMæ˜þ-{KÜ¾YË<# qY³lÍõ±Ú±Ê„0`gA“7[¸ÒJ+²ø‚†"ÐƒA* Ñ9æ£„@Ë¬r7h ¦ÒŽ@\ì¢#¹dÄ“‡ ÐcVBÌ¬òúœs<èÃMŠm@Á¡Ë(uM>X1 ´¡Ê3,²ÓÍBË$áÆ.IrÆ+ñ€ÌF¼Ð#—Ü2OŒ(QG,q L²HˆBèÈ¶…ÜX³Nó¨É$ob*Ô¬(°‡@¤"ƒ=mrèBBè˜ãM&I3#åÔæMù¨HA:1L1Ž0w3„( pÂ&ÀNþ1
4é#I+WPx
4\Ø6jAXêc&& €@À" ©ÔpÐ20B›>Ì°ðK
5&ÁútðMP@1$û ¢Ž, ´ñ%Ð²hGAèDÉ`ËèâFú¬£‰)¯$%É?ØhÏä>´SÄ0FbH 4Š@3IbN7V„âÀ2· ’†N¬œâÆ!U0£É)zÌ!ÅþÄ°Iú˜3DpLË¨“ƒ&aë9ŒXcKžh…8
Z¸@³ƒ';è >mB†>`r'Ò:¢¤Ó(úT ((M)¤°(Ð€Žþc\@Ë5cH0†El‡P(‚NÒ ƒÆÐÆÀ3+:º?-ñK­ú|q·¡0aÀˆôãÄ7@qÂ1ˆÂ$Ñ à#¬äœÎÐÒÓÍ%µð÷@t\a	ˆW$‚Ž$> ^¨2
	qüÃÉ3©ðŠ©¡6´ €AÍ4aÖ¡Lu Ì€@í  ª ã:´Á$n	Ôå?"pƒA@"¦â€d Fº¸"^qhCß¨Ä$Œ°	(´U’ÐDRvàŽ	#pA¸‰.á	 »†5±]¤N †:òa6œ 1pÁnQ,Il`{þí Ä‡²"€b Ž¡	*š h¼BŽÈ;ž¡µ!Ø€:<'}¸@mê@ vÒo˜ÅÁ¨‘è K4Jumˆ0ø±¦ÐH#HE*0‚1&¤	J˜Ê.<‘‚e„¢aF `A)îÀB1˜„ ·À=2…(à_ÈÁƒìâxÜ¨ÀVˆù9@@¡áƒPNG°˜‚…´ÀwÒÇ5ž†u£2™(Ç-‚q1%¡ÁXfÀDÖ&•%è@	²Ä(D	¸x œè.®ËÌHD>1ˆ_xâ
žÐDJ®A„á½ÍŒ ¸ÂrfÌƒ­† ¡xdW°$JÂ§T|¡àˆ%Ìˆ3Ã¯@B0©2.xb–ú…t¦s˜Â¥†8Šü`ÀÒ2Ña@C)KÂ$b-°Ä)„áƒflt§	#|Ð…W0BwDêB,F˜BG•ªB,ñŠTA«YÆ ”Ö‹¤€e½ˆi ;070701000310f1000081e40000000000000002000000013d1fe2d800000d41000000200000000000000000000000000000001800000003reloc/servers/index.cgi   #!/usr/local/bin/perl
# Display a list of other webmin servers

require './servers-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";

@servers = grep { &can_use_server($_) }
	   sort { $a->{'host'} cmp $b->{'host'} } &list_servers();
if ($config{'sort_mode'} == 1) {
	@servers = sort { $a->{'host'} cmp $b->{'host'} } @servers;
	}
elsif ($config{'sort_mode'} == 2) {
	@servers = sort { lc($a->{'desc'} ? $a->{'desc'} : $a->{'host'}) cmp
		   lc($b->{'desc'} ? $b->{'desc'} : $b->{'host'}) } @servers;
	}
elsif ($config{'sort_mode'} == 3) {
	@servers = sort { $a->{'type'} cmp $b->{'type'} } @servers;
	}
elsif ($config{'sort_mode'} == 4) {
	@servers = sort { &to_ipaddress($a->{'host'}) cmp
			  &to_ipaddress($b->{'host'}) } @servers;
	}
elsif ($config{'sort_mode'} == 5) {
	@servers = sort { $a->{'group'} cmp $b->{'group'} } @servers;
	}
if (@servers && $config{'display_mode'}) {
	print "<a href='edit_serv.cgi?new=1'>$text{'index_add'}</a> <br>\n"
	    if $access{'edit'};
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_host'}</b></td>\n";
	print "<td><b>$text{'index_desc'}</b></td>\n";
	print "<td><b>$text{'index_group'}</b></td>\n";
	print "<td><b>$text{'index_os'}</b></td> </tr>\n";
	foreach $s (@servers) {
		print "<tr $cb>\n";
		print "<td><table cellpadding=0 cellspacing=0 width=100%><tr>\n";
		if ($s->{'user'}) {
			print "<td><a href='link.cgi/$s->{'id'}/'>\n";
			}
		else {
			print "<td><a href=".&make_url($s).">\n";
			}
		print "$s->{'host'}:$s->{'port'}</a></td>\n";
		if ($access{'edit'}) {
			print "<td align=right><a href='edit_serv.cgi?id=$s->{'id'}'>($text{'index_edit'})</a></td>\n";
			}
		print "</tr></table></td>\n";
		print "<td>$s->{'desc'}&nbsp;</td>\n";
		print "<td>",$s->{'group'} ? $s->{'group'} :
					     $text{'index_none'},"</td> <td>\n";
		foreach $t (@server_types) {
			if ($t->[0] eq $s->{'type'}) {
				print $t->[1];
				}
			}
		print "</td> </tr>\n";
		}
	print "</table>\n";
	}
elsif (@servers) {
	if ($access{'edit'}) {
		print "<a href='edit_serv.cgi?new=1'>$text{'index_add'}</a><br>\n";
		@titles = map { &make_iconname($_)."</a> <a href='edit_serv.cgi?id=$_->{'id'}'>(".$text{'index_edit'}.")" } @servers;
		}
	else {
		@titles = map { &make_iconname($_) } @servers;
		}
	@icons = map { "images/$_->{'type'}.gif" } @servers;
	@links = map { $_->{'user'} ? "link.cgi/$_->{'id'}/"
				    : &make_url($_) } @servers;
	&icons_table(\@links, \@titles, \@icons, undef, "target=_top");
	}
else {
	print "<b>$text{'index_noservers'}</b> <p>\n";
	}

print "<a href='edit_serv.cgi?new=1'>$text{'index_add'}</a> <p>\n"
    if $access{'edit'};

print "<hr>\n",
    "<table width=100%>\n",
    "<form action=find.cgi>\n",
    "<tr> <td><input type=submit value=\"$text{'index_broad'}\"></td>\n",
    "<td>$text{'index_findmsg'}</td> </tr>\n",
    "</form>\n",
    "<form action=find.cgi>\n",
    "<tr> <td><input type=submit value=\"$text{'index_scan'}\"></td>\n",
    "<td>",&text('index_scanmsg','<input name=scan size=15>'),"</td> </tr>\n",
    "</form>\n",
    "</table>\n"
    if $access{'find'};

print "<hr>\n";
&footer("/", $text{'index'});

sub make_url
{
return sprintf "http%s://%s:%d/",
	$_[0]->{'ssl'} ? 's' : '', $_[0]->{'host'}, $_[0]->{'port'};
}

sub make_iconname
{
if ($_[0]->{'desc'}) {
	return $_[0]->{'desc'};
	}
else {
	return "$_[0]->{'host'}:$_[0]->{'port'}";
	}
}

   0707010003580d000041ed0000000000000001000000023d1ffb4e00000000000000200000000000000000000000000000001300000003reloc/servers/lang    0707010003580e000081a40000000000000002000000013d1fe2d90000090e000000200000000000000000000000000000001600000003reloc/servers/lang/ca index_title=Servidors Webmin
index_edit=Edita
index_noservers=No s'ha registrat cap servidor.
index_add=Registra un servidor nou
index_broad=Busca servidors
index_findmsg=Fes clic al botó per trobar automàticament tots els servidors Webmin versió 0.75 o superior a la xarxa local.
index_scan=Escaneja servidors
index_scanmsg=Fes clic al botó per comprovar totes les adreces de la xarxa $1 a la recerca de servidors Webmin versió 0.75 o superior.
index_return=als servidors
index_host=Nom de host i port
index_desc=Descripció
index_os=Tipus de servidor
index_group=Grup
index_none=&lt;Cap&gt;

edit_title=Edició de Servidor
create_title=Registre de Servidors
edit_details=Detalls del servidor
edit_host=Nom del host
edit_port=Port
edit_type=Tipus de servidor
edit_ssl=Servidor SSL
edit_link=Tipus d'enllaç
edit_mode0=Enllaç normal al servidor
edit_mode1=Connexió a través de Webmin amb
edit_user=nom d'usuari
edit_pass=i contrasenya
edit_ecannot=No tens permís per editar servidors
edit_desc=Descripció
edit_desc_def=Des del nom de host i el port
edit_group=Membre del grup de servidors
edit_none=Cap
edit_exists=Grup existent
edit_new=Grup nou
edit_fast=Fes crides RPC ràpides
edit_auto=Decidex automàticament

save_err=No he pogut desar el servidor
save_ehost=Hi falta el nom del host o bé no és correcte
save_eport=Hi falta el port o bé no és correcte
save_euser=Hi falta el nom d'usuari
save_epass=Hi falta la contrasenya
save_egroup=Hi falta el nom del grup
save_elogin=Usuari o contrasenya invàlids

find_title=Recerca de Servidors
find_new=He trobat un servidor nou a $1
find_already=He trobat un servidor ja conegut a $1
find_me=He trobat aquest servidor a $1
find_escan=La xarxa a escanejar ha de ser una adreça de classe C.
find_none=Cap servidor ha respost a l'escaneig.
find_ecannot=No tens permís per buscar servidors

log_modify=He modificat el servidor $1
log_create=He registrat el servidor $1
log_delete=He suprimit el servidor $1
log_find=He trobat el servidor $1

link_elogin=No he pogut connectar a $1 com a $2
link_ecannot=No tens permís per utilitzar aquest servidor
link_essl=No tens instal·lada la llibreria Perl Net::SSLeay

lib_other=Altres

acl_edit=Pot editar servidors
acl_find=Pot buscar servidors
acl_servers=Pot utilitzar servidors
acl_sall=Tots els servidors
acl_ssel=Seleccionats...


  0707010003580f000081a40000000000000002000000013d1fe2d900000381000000200000000000000000000000000000001600000003reloc/servers/lang/cz index_title=Webmin Servers
index_none=Nejsou registrovány ¾ádné servery.
index_add=Registrovat server
index_find=Hledat servery
index_findmsg=Po kliknutí na toto tlaèítko budou automaticky vyhledány jiné verze 0.75 a vy¹¹í na serverech ve Va¹í lokální síti.
index_return=servery

edit_title=Editovat Server
create_title=Registrovat Server
edit_details=Detaily Serveru
edit_host=Jméno poèítaèe
edit_port=Port
edit_type=Typ Serveru
edit_ssl=SSL server?
edit_link=Typ linku
edit_mode0=Normální link no server
edit_mode1=Login pomocí Webminu
edit_user=jméno
edit_pass=heslo

save_err=Chyba pøi ukládání serveru
save_ehost=Chybìjící nebo nesprávné hostname
save_eport=Chybìjící nebo nesprávný port
save_euser=Chybìjící u¾ivatelské jméno
save_epass=Chybìjící heslo

find_title=Hledat servery
find_new=Nalezen nový server na $1
find_already=Nalezen známý server na $1
find_me=Nalezen tento server na $1

   07070100035810000081a40000000000000002000000013d1fe2d900000b9b000000200000000000000000000000000000001600000003reloc/servers/lang/de #        webmin-0.97     servers/lang/de
#
#        created: ??.??.????                 by:???
#        last modified: 29-may-2002          Rev.: 29-05-2002
#        last modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                     durch: ???
# letzte &Auml;nderung: 29.05.2002        Rev.: 29.05.2002
# zuletzt modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Webmin-Server

index_edit=bearbeiten
index_noservers=Es wurden keine Server registriert
index_add=Neuen Server registrieren
index_broad=Broadcast f&uuml;r Server
index_findmsg=Klicken Sie auf diese Schaltfl&auml;che, um automatisch alle Webmin Server (Versionen 0.75 und h&ouml;her) in Ihrem lokalen Netzwerk zu finden.
index_scan=Suche nach Servern
index_scanmsg=Klicken Sie auf diese Schaltfl&auml;che, um alle Adressen im Netzwerk $1 nach Webmin Servern zu durchsuchen (Version 0.75 oder h&ouml;her)
index_return=Server
index_host=Hostname und Port
index_desc=Beschreibung
index_os=Server-Typ
index_group=Gruppe
index_none=&lt;Keine&gt;

edit_title=Server bearbeiten
create_title=Server registrieren
edit_details=Server-Details
edit_host=Host-Name
edit_port=Port
edit_type=Server-Typ
edit_ssl=SSL Server?
edit_link=Verbindungsart
edit_mode0=Normale Verbindung zum Server
edit_mode1=Anmelden &uuml;ber Webmin mit
edit_user=Benutzername
edit_pass=Pa&szlig;wort
edit_ecannot=Sie sind nicht berechtigt, die Server zu bearbeiten!
edit_desc=Beschreibung
edit_desc_def=von Host-Name und Port
edit_group=Mitglied der Server-Gruppe
edit_none=keine
edit_exists=Bestehende Gruppe
edit_new=Neue Gruppe
edit_fast=Schnelle RPC-Aufrufe durchf&uuml;hren?
edit_auto=Entscheide automatisch

save_err=Fehler beim Speichern des Servers
save_ehost=Fehlender oder ung&uuml;ltiger Host-Name
save_eport=Fehlender oder ung&uuml;ltiger Port
save_euser=Fehlender Benutzername
save_epass=Fehlendes Pa&szlig;wort
save_egroup=Fehlender Gruppen-Name
save_elogin=Ung&uuml;ltiges Login oder Pa&szlig;wort f&uuml;r Host

find_title=Server suchen
find_new=Neuen Server bei $1 gefunden
find_already=Bekannten Server bei $1 gefunden
find_me=Diesen Server bei $1 gefunden
find_escan=Das Netzwerk, das gescannt werden soll mu&szlig; ein Klasse-C Netz sein.
find_none=Kein Server antwortete auf den Scan.
find_ecannot=Sie sind nicht berechtigt, Server zu suchen!

log_modify=Server $1 ver&auml;ndert
log_create=Server $1 eingetragen
log_delete=Server $1 gel&ouml;scht
log_find=Server $1 gefunden

link_elogin=Fehler beim Anmelden bei $1 als $2
link_ecannot=Sie sind nicht berechtigt, diesen Server zu benutzen!
link_essl=Sie haben die Perl 'Net::SSLeay'-Bibliothek nicht installiert!

lib_other=Andere

acl_edit=Kann Server bearbeiten
acl_find=Kann Server suchen
acl_servers=Kann Server benutzen
acl_sall=Alle Server
acl_ssel=Ausgew&auml;hlte... 07070100035811000081a40000000000000002000000013d1fe2d8000007fd000000200000000000000000000000000000001600000003reloc/servers/lang/en index_title=Webmin Servers
index_edit=edit
index_noservers=No servers have been registered.
index_add=Register a new server
index_broad=Broadcast for servers
index_findmsg=Click this button to automatically find any version 0.75 or above Webmin servers on your local network.
index_scan=Scan for servers
index_scanmsg=Click this button to check every address on the network $1 for Webmin servers of version 0.75 or above.
index_return=servers
index_host=Hostname and port
index_desc=Description
index_os=Server type
index_group=Group
index_none=&lt;None&gt;

edit_title=Edit Server
create_title=Register Server
edit_details=Server details
edit_host=Hostname
edit_port=Port
edit_type=Server type
edit_ssl=SSL server?
edit_link=Link type
edit_mode0=Normal link to server
edit_mode1=Login via Webmin with
edit_user=username
edit_pass=password
edit_ecannot=You are not allowed to edit servers
edit_desc=Description
edit_desc_def=From hostname and port
edit_group=Member of server group
edit_none=None
edit_exists=Existing group
edit_new=New group
edit_fast=Make fast RPC calls?
edit_auto=Decide automatically

save_err=Failed to save server
save_ehost=Missing or invalid hostname
save_eport=Missing or invalid port
save_euser=Missing username
save_epass=Missing password
save_egroup=Missing group name
save_elogin=Invalid login or password to host

find_title=Find Servers
find_new=Found new server at $1
find_already=Found known server at $1
find_me=Found this server at $1
find_escan=The network to scan must be a class C network address.
find_none=No servers responsed to the scan.
find_ecannot=You are not allowed to find servers

log_modify=Modified server $1
log_create=Registered server $1
log_delete=Deleted server $1
log_find=Found server $1

link_elogin=Failed to login to $1 as $2
link_ecannot=You are not allowed to use this server
link_essl=You do not have the perl Net::SSLeay library installed

lib_other=Other

acl_edit=Can edit servers
acl_find=Can find servers
acl_servers=Can use servers
acl_sall=All Servers
acl_ssel=Selected..

   07070100035812000081a40000000000000002000000013d1fe2d900000769000000200000000000000000000000000000001600000003reloc/servers/lang/es index_title=Servidores Webmin
index_edit=editar
index_none=No se han registrado servidores.
index_add=Registrar un nuevo servidor
index_broad=Retransmisión para Servidores
index_findmsg=Haz click en este botón para buscar automáticamente cualquier versión 0,75 o superior de servidores Webmin en tu red local
index_scan=Explorar por Servidores
index_scanmsg=Haz click en este botón para revisar cada dirección de la red $1 buscando servidores Webmin de la versión 0,75 o superior.
index_return=servidores

edit_title=Editar Servidor
create_title=Registrar Servidor
edit_details=Detalles de Servidor
edit_host=Máquina
edit_port=Puerto
edit_type=Tipo de Servidor
edit_ssl=¿Servidor SSL?
edit_link=Tipo de enlace
edit_mode0=Enlace normal a servidor
edit_mode1=Login via Webmin con
edit_user=nombre de usuario
edit_pass=clave de acceso
edit_ecannot=No estás autorizado a editar servidores

save_err=Error al salvar servidor
save_ehost=Nombre de Máquina inválido o sin poner
save_eport=Puerto inválido o sin poner
save_euser=Nombre de usuario sin poner
save_epass=Clave de acceso sin poner

find_title=Hallar Servidores
find_new=Encontrado nuevo servidor en $1
find_already=Encontrado servidor conocido en $1
find_me=Encontrado este servidor en $1
find_escan=La red a explorar debe de ser de una dirección red de clase C.
find_none=No han respondido servidores a la exploación.
find_ecannot=No estás autorizado a hallar servidores

log_modify=Modificado servidor $1
log_create=Registrado servidor $1
log_delete=Borrado servidor $1
log_find=Hallado servidor $1

link_elogin=No pude hacer login a $1 como $2
link_ecannot=No estás autorizado a usar este servidor
link_essl=No tienes la biblioteca de perl Net::SSLeay instalada

lib_other=Otro

acl_edit=Puede editar servidores
acl_find=Puede hallar servidores
acl_servers=Puede usar servidores
acl_sall=Todos los Servidores
acl_ssel=Los seleccionados...

   07070100035813000081a40000000000000002000000013d1fe2d90000082a000000200000000000000000000000000000001600000003reloc/servers/lang/fr index_title=Serveur(s) Webmin
index_edit=éditer
index_none=Aucun serveur n'a été enregistré.
index_add=Enregistrer un nouveau serveur
index_broad=Trouver les Serveurs
index_findmsg=Cliquer sur ce bouton pour trouver automatiquement tous les serveurs Webmin de version 0.75 ou supérieure sur ce réseau local.
index_scan=Trouver les Serveurs sur un autre réseau
index_scanmsg=Cliquer sur ce bouton pour trouver automatiquement tous les serveurs Webmin de version 0.75 ou supérieure sur le réseau $1 (préalablement indiqué).
index_return=liste des serveurs

edit_title=Éditer un Serveur
create_title=Enregistrer le Serveur
edit_details=Détails du serveur
edit_host=Nom d'hôte
edit_port=Port
edit_type=Type de serveur
edit_ssl=Serveur SSL?
edit_link=Type de lien
edit_mode0=Lien normal au serveur
edit_mode1=Ouverture de session via Webmin avec
edit_user=nom d'utilisateur
edit_pass=mot de passe
edit_ecannot=Vous n'avez pas l'autotisation d'éditer les serveurs
edit_desc=Description
edit_desc_def=Par nom d'hôte et port


save_err=Impossible d'enregistrer le serveur
save_ehost=Nom d'hôte invalide ou introuvable
save_eport=Port invalide ou introuvable
save_euser=Nom d'utilisateur introuvable
save_epass=Mot de passe introuvable

find_title=Trouver les Serveurs
find_new=Nouveau serveur trouvé à l'adresse $1
find_already=Serveur connu trouvé à l'adresse $1
find_me=Ce serveur a été trouvé à l'adresse $1
find_escan=Le réseau à examiner doit appartenir à une classe C d'adresses. 
find_none=Aucune serveur n'a répondu lors de l'examen du réseau.
find_ecannot=Vous n'êtes pas authorisé à rechercher les serveurs.

log_modify=Serveur $1 modifié
log_create=Serveur $1 enregistré
log_delete=Serveur $1 supprimé
log_find=Serveur $1 trouvé

link_elogin=Impossible de se connecter à $1 en tant que $2
link_ecannot=Vous n'avez pas la permission d'utiliser ce serveur
link_essl=La librairie Perl Net:SSLeay n'est pas installée

lib_other=Autre

acl_edit=Peut éditer les serveurs
acl_find=Peux rechercher les serveurs
acl_servers=Peux utiliser servers
acl_sall=Tous les serveurs
acl_ssel=Sélectionné.

  07070100035814000081a40000000000000002000000013d1fe2d9000005ec000000200000000000000000000000000000001600000003reloc/servers/lang/hu # webmin-0.82/servers/lang/hu
# Translated by <kissg@sztaki.hu>

index_title=Webmin szerverek
index_none=Nincs egy regisztrált szerver sem
index_add=Új szerver regisztrálása
index_broad=Keresés itt
index_findmsg=Ezt a gombot nyomd meg, ha fel akarod kutatni a helyi hálózaton mûködõ (legalább 0.75 verziójú) Webmin szervereket
index_scan=Keresés máshol
index_scanmsg=Ezt a gombot nyomd meg, ha a $1 hálózaton lévõ (legalább 0.75 verziójú) szervereket keresed
index_return=a szerverekhez

edit_title=Szerver adatainak változtatása
create_title=Új szerver regisztrálása
edit_details=A szerver adatai
edit_host=Gépnév
edit_port=Por&#116;
edit_type=Szerver típusa
edit_ssl=SSL szerver?
edit_link=Kapcsolat típusa
edit_mode0=Közvetlen kapcsolat a szerverhez
edit_mode1=Belépés <b>ezen</b> a szerveren keresztül az alábbi módon.<br>
edit_user=Azonosító:
edit_pass=Jelszó:

save_err=Nem sikerült elmenteni a konfigurációt
save_ehost=Hiányzik vagy hibás a gépnév
save_eport=Hiányzik vagy hibás a portszám
save_euser=Hiányzik a felhasználó azonosítója
save_epass=Hiányzik a jelszó

find_title=Szerverek keresése
find_new=Új szerver: $1
find_already=Már ismert szerver: $1
find_me=Saját gépünk: $1
find_escan=Csak C méretû hálózatot adhatsz meg
find_none=Egyetlen szerver sem válaszolt a felhívásunkra

log_modify=$1 szerver módosítva
log_create=$1 szerver regisztrálva
log_delete=$1 szerver törölve
log_find=Fellelt szerver: $1

link_elogin=Nem sikerült belépni $2-ként a $1 gépre
07070100035815000081a40000000000000002000000013d1fe2d9000006d2000000200000000000000000000000000000001d00000003reloc/servers/lang/ja_JP.euc  index_title=Webmin ¥µ¡¼¥Ð
index_edit=ÊÔ½¸
index_none=ÅÐÏ¿¤µ¤ì¤¿¥µ¡¼¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó¡£
index_add=¿·µ¬¤Î¥µ¡¼¥Ð¤òÅÐÏ¿
index_broad=¥µ¡¼¥Ð¤Î¥Ö¥í¡¼¥É¥­¥ã¥¹¥È
index_findmsg=¤´»ÈÍÑ¤Î¥í¡¼¥«¥ë ¥Í¥Ã¥È¥ï¡¼¥¯¤Î Webmin ¥µ¡¼¥Ð ¥Ð¡¼¥¸¥ç¥ó 0.75 °Ê¹ß¤ò¼«Æ°Åª¤Ë¸¡º÷¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_scan=¥µ¡¼¥Ð¤Î¥¹¥­¥ã¥ó
index_scanmsg=¥Í¥Ã¥È¥ï¡¼¥¯ $1 ¤Ç Webmin ¥µ¡¼¥Ð¤Î¥Ð¡¼¥¸¥ç¥ó 0.75 °Ê¹ß¤Î³Æ¥¢¥É¥ì¥¹¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_return=¥µ¡¼¥Ð

edit_title=¥µ¡¼¥Ð¤ÎÊÔ½¸
create_title=¥µ¡¼¥Ð¤ÎÅÐÏ¿
edit_details=¥µ¡¼¥Ð¤Î¾ÜºÙ
edit_host=¥Û¥¹¥ÈÌ¾
edit_port=¥Ý¡¼¥È
edit_type=¥µ¡¼¥Ð¤Î¼ïÎà
edit_ssl=SSL ¥µ¡¼¥Ð¤Ç¤¹¤«¡©
edit_link=¥ê¥ó¥¯¤Î¼ïÎà
edit_mode0=¥µ¡¼¥Ð¤Ø¤ÎÉ¸½à¥ê¥ó¥¯
edit_mode1=Webmin ·ÐÍ³¤Ç¥í¥°¥¤¥ó:
edit_user=¥æ¡¼¥¶Ì¾
edit_pass=¥Ñ¥¹¥ï¡¼¥É
edit_ecannot=¥µ¡¼¥Ð¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó

save_err=¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
save_eport=¥Ý¡¼¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
save_euser=¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
save_epass=¥Ñ¥¹¥ï¡¼¥É¤¬¤¢¤ê¤Þ¤»¤ó

find_title=¥µ¡¼¥Ð¤Î¸¡º÷
find_new=¿·µ¬¤Î¥µ¡¼¥Ð¤¬ $1 ¤Ë¸«¤Ä¤«¤ê¤Þ¤·¤¿
find_already=´ûÃÎ¤Î¥µ¡¼¥Ð¤¬ $1 ¤Ë¸«¤Ä¤«¤ê¤Þ¤·¤¿
find_me=¤³¤Î¥µ¡¼¥Ð¤¬ $1 ¤Ë¸«¤Ä¤«¤ê¤Þ¤·¤¿
find_escan=¥¹¥­¥ã¥ó¤¹¤ë¥Í¥Ã¥È¥ï¡¼¥¯¤Ï¥¯¥é¥¹ C ¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
find_none=¥¹¥­¥ã¥ó¤Ë±þÅú¤¹¤ë¥µ¡¼¥Ð¤¬¤¢¤ê¤Þ¤»¤ó¡£
find_ecannot=¥µ¡¼¥Ð¤ò¸¡º÷¤Ç¤­¤Þ¤»¤ó

log_modify=¥µ¡¼¥Ð $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=¥µ¡¼¥Ð $1 ¤òÅÐÏ¿¤·¤Þ¤·¤¿
log_delete=¥µ¡¼¥Ð $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_find=¥µ¡¼¥Ð $1 ¤ò¸«¤Ä¤±¤Þ¤·¤¿

link_elogin=$1 ¤Ë $2 ¤È¤·¤Æ¥í¥°¥¤¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
link_ecannot=¤³¤Î¥µ¡¼¥Ð¤Ï»ÈÍÑ¤Ç¤­¤Þ¤»¤ó
link_essl=perl Net::SSLeay ¥é¥¤¥Ö¥é¥ê¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

lib_other=¤½¤ÎÂ¾

acl_edit=¥µ¡¼¥Ð¤òÊÔ½¸²ÄÇ½
acl_find=¥µ¡¼¥Ð¤ò¸¡º÷²ÄÇ½
acl_servers=¥µ¡¼¥Ð¤ò»ÈÍÑ²ÄÇ½
acl_sall=¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð
acl_ssel=ÁªÂò..

  07070100035816000081a40000000000000002000000013d1fe2d900000628000000200000000000000000000000000000001d00000003reloc/servers/lang/ko_KR.euc  index_title=Webmin ¼­¹ö
index_edit=ÆíÁý
index_none=µî·ÏµÈ ¼­¹ö°¡ ¾ø½À´Ï´Ù.
index_add=»õ ¼­¹ö µî·Ï
index_broad=¼­¹ö ºê·ÎµåÄ³½ºÆ®
index_findmsg=·ÎÄÃ ³×Æ®¿öÅ©¿¡¼­ ¹öÀü 0.75 ÀÌ»óÀÇ Webmin ¼­¹ö¸¦ ÀÚµ¿À¸·Î Ã£À¸·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
index_scan=¼­¹ö °Ë»ö
index_scanmsg=³×Æ®¿öÅ© $1ÀÇ ¸ðµç ÁÖ¼Ò¸¦ °Ë»çÇÏ¿© ¹öÀü 0.75 ÀÌ»óÀÇ Webmin ¼­¹ö¸¦ Ã£À¸·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
index_return=¼­¹ö

edit_title=¼­¹ö ÆíÁý
create_title=¼­¹ö µî·Ï
edit_details=¼­¹ö ¼¼ºÎ Á¤º¸
edit_host=È£½ºÆ® ÀÌ¸§
edit_port=Æ÷Æ®
edit_type=¼­¹ö À¯Çü
edit_ssl=SSL ¼­¹öÀÔ´Ï±î?
edit_link=¸µÅ© À¯Çü
edit_mode0=¼­¹ö·ÎÀÇ ÀÏ¹Ý ¸µÅ©
edit_mode1=WebminÀ» ÅëÇØ ·Î±×ÀÎÇÒ ¶§ ÇÊ¿äÇÑ »çÇ×
edit_user=»ç¿ëÀÚ ÀÌ¸§
edit_pass=¾ÏÈ£
edit_ecannot=¼­¹ö¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

save_err=¼­¹ö¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
save_eport=¾ø°Å³ª Àß¸øµÈ Æ÷Æ®
save_euser=¾ø´Â »ç¿ëÀÚ ÀÌ¸§
save_epass=¾ø´Â ¾ÏÈ£

find_title=¼­¹ö Ã£±â
find_new=$1¿¡¼­ »õ ¼­¹ö¸¦ Ã£¾Ò½À´Ï´Ù
find_already=$1¿¡¼­ ¾Ë ¼ö ¾ø´Â ¼­¹ö¸¦ Ã£¾Ò½À´Ï´Ù
find_me=$1¿¡¼­ ÀÌ ¼­¹ö¸¦ Ã£¾Ò½À´Ï´Ù
find_escan=°Ë»öÇÒ ³×Æ®¿öÅ©´Â Å¬·¡½º C ³×Æ®¿öÅ© ÁÖ¼Ò¿©¾ß ÇÕ´Ï´Ù.
find_none=°Ë»ö¿¡ ÀÀ´äÇÑ ¼­¹ö°¡ ¾ø½À´Ï´Ù.
find_ecannot=¼­¹ö¸¦ Ã£À» ¼ö ¾ø½À´Ï´Ù

log_modify=¼­¹ö $1 ¼öÁ¤µÊ
log_create=¼­¹ö $1 µî·ÏµÊ
log_delete=¼­¹ö $1 »èÁ¦µÊ
log_find=¼­¹ö $1 °Ë»öµÊ

link_elogin=$2(À¸)·Î¼­ $1¿¡ ·Î±×ÀÎÇÏÁö ¸øÇß½À´Ï´Ù
link_ecannot=ÀÌ ¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù
link_essl=perl Net::SSLeay ¶óÀÌºê·¯¸®°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù

lib_other=±× ¿Ü

acl_edit=¼­¹ö¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù
acl_find=¼­¹ö¸¦ Ã£À» ¼ö ÀÖ½À´Ï´Ù
acl_servers=¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù
acl_sall=¸ðµç ¼­¹ö
acl_ssel=¼±ÅÃÇÑ ¼­¹ö..

07070100035817000081a40000000000000002000000013d1fe2d9000008d8000000200000000000000000000000000000001600000003reloc/servers/lang/pl index_title=Serwery Webmina
index_edit=zmieñ
index_noservers=Nie zarejestrowano ¿adnych serwerów.
index_add=Zarejestruj nowy serwer
index_broad=Rozg³o¶ zapytanie o serwery
index_findmsg=Naci¶nij ten przycisk, aby automatycznie znale¼æ wszystkie serwery Webmina w&nbsp;wersji 0.75 lub wy¿szej w&nbsp;sieci lokalnej.
index_scan=Szukaj serwerów skanuj±c
index_scanmsg=Naci¶nij ten przycisk, aby sprawdziæ wszystkie adresy w&nbsp;sieci $1 pod k±tem wystêpowania serwerów Webmina w&nbsp;wersji 0.75 lub wy¿szej.
index_return=serwerów
index_host=Nazwa hosta i&nbsp;port
index_desc=Opis
index_os=Rodzaj serwera
index_group=Grupa
index_none=&lt;Brak&gt;

edit_title=Zmieñ serwer
create_title=Zarejestruj serwer
edit_details=Dane serwera
edit_host=Nazwa hosta
edit_port=Port
edit_type=Rodzaj serwera
edit_ssl=Po³±czenie SSL?
edit_link=Rodzaj po³±czenia
edit_mode0=Zwyk³e po³±cznie z serwerem
edit_mode1=Logowanie poprzez Webmina jako
edit_user=u¿ytkownik
edit_pass=has³o
edit_ecannot=Nie masz uprawnieñ do zmian serwerów
edit_desc=Opis
edit_desc_def=Z&nbsp;hosta i&nbsp;portu
edit_group=Nale¿y do grupy serwerów
edit_none=¯adnej
edit_exists=Istniej±cej grupy
edit_new=Nowej grupy
edit_fast=Wykonywaæ szybkie wywo³ania RPC?

save_err=Nie uda³o siê zachowaæ serwera
save_ehost=Nie podana lub niepoprawna nazwa hosta.
save_eport=Nie podany lub niepoprawny port.
save_euser=Nie podano nazwy u¿ytkownika.
save_epass=Nie podano has³a.
save_egroup=Nie podano nazwy grupy

find_title=Szukaj serwerów
find_new=Znaleziono nowy serwer na $1
find_already=Znaleziono wcze¶niej znany serwer na $1
find_me=Znaleziono niniejszy serwer na $1
find_escan=Skanowana sieæ musi byæ sieci± o&nbsp;adresie klasy C.
find_none=¯aden serwer nie odpowiedzia³ na skanowanie.
find_ecannot=Nie masz uprawnieñ do poszukiwania serwerów

log_modify=Zmieniono serwer $1
log_create=Zarejestrowano serwer $1
log_delete=Usuniêto serwer $1
log_find=Znaleziono serwer $1

link_elogin=Nie uda³o siê zalogowaæ do $1 jako $2
link_ecannot=Nie masz uprawnieñ do korzystania z tego serwera
link_essl=Nie masz zainstalowanej biblioteki perla Net::SSLeay

lib_other=Inny

acl_edit=Mo¿e zmieniaæ serwery
acl_find=Mo¿e poszukiwaæ serwerów
acl_servers=Mo¿e korzystaæ z&nbsp;serwerów
acl_sall=Wszystkich
acl_ssel=Wybranych..
07070100035818000081a40000000000000002000000013d1fe2d8000003cc000000200000000000000000000000000000001600000003reloc/servers/lang/pt index_title=Servidores Webmin
index_none=Não foram registados nehuns servidores.
index_add=Registar novo servidor
index_find=Procurar servidores
index_findmsg=Clique neste botão para automáticamente encontrar qualquer Webmin versão 0.75 ou superior na sua rede local.
index_return=servidores

edit_title=Editar Servidor
create_title=Registar Servidor
edit_details=Detalhes do servidor
edit_host=Nome do Anfitrião
edit_port=Porta
edit_type=Tipo de servidor
edit_ssl=Servidor SSL?
edit_link=Tipo de ligação
edit_mode0=Ligação normal ao servidor
edit_mode1=Login via Webmin com
edit_user=username
edit_pass=password

save_err=Erro ao guardar servidor
save_ehost=Nome de anfitrião inválido ou em falta
save_eport=Porta inválida ou em falta
save_euser=Username em falta
save_epass=Password em falta

find_title=Procurar Servidores
find_new=Foi encontrado um novo servidor em $1
find_already=Foi encontrado um servidor conhecido em $1
find_me=Foi encontrado este servidor em $1
07070100035819000081a40000000000000002000000013d1fe2d9000003b4000000200000000000000000000000000000001900000003reloc/servers/lang/ru_RU  save_epass=Îòñóòñòâóåò ïàðîëü
save_err=Îøèáêà ïðè ñîõðàíåíèè ñåðâåðà
index_none=Íå çàðåãèñòðèðîâàíî íè îäíîãî ñåðâåðà.
create_title=Ðåãèñòðàöèÿ Ñåðâåðà
index_add=Çàðåãèñòðèðîâàòü íîâûé ñåðâåð
index_find=Èñêàòü Ñåðâåðû
edit_mode0=Íîðìàëüíîå ñîåäèíåíèå ñ ñåðâåðîì
edit_mode1=Âõîä ÷åðåç Webmin ñ
edit_type=Òèï ñåðâåðà
index_findmsg=Íàæìèòå íà ýòó êíîïêó, ÷òîáû àâòîìàòè÷åñêè íàéòè âñå ñåðâåðû Webmin âåðñèè 0.75 è âûøå â âàøåé ëîêàëüíîé ñåòè.
edit_host=Èìÿ õîñòà
edit_user=èìåíåì ïîëüçîâàòåëÿ
save_ehost=Îòñóòñòâóåò èëè íåâåðíîå èìÿ õîñòà
save_euser=Îòñóòñòâóåò èìÿ ïîëüçîâàòåëÿ
index_return=ñåðâåðû
edit_details=Ïàðàìåòðû ñåðâåðà
edit_port=Ïîðò
find_already=Íàéäåí èçâåñòíûé ñåðâåð íà $1
save_eport=Îòñóòñòâóåò èëè íåâåðíûé ïîðò
edit_title=Ðåäàêòèðîâàíèå Ñåðâåðà
edit_ssl=SSL ñåðâåð?
index_title=Ñåðâåðû Webmin
find_new=Íàéäåí íîâûé ñåðâåð íà $1
find_title=Ïîèñê Ñåðâåðîâ
find_me=Íàéäåí ñîáñòâåííûé ñåðâåð at $1
edit_link=Òèï ñâÿçè
edit_pass=ïàðîëåì
0707010003581a000081a40000000000000002000000013d1fe2d9000003b8000000200000000000000000000000000000001900000003reloc/servers/lang/ru_SU  index_title=óÅÒ×ÅÒÙ Webmin
index_none=îÅ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎÏ ÎÉ ÏÄÎÏÇÏ ÓÅÒ×ÅÒÁ.
index_add=úÁÒÅÇÉÓÔÒÉÒÏ×ÁÔØ ÎÏ×ÙÊ ÓÅÒ×ÅÒ
index_find=éÓËÁÔØ óÅÒ×ÅÒÙ
index_findmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ, ÞÔÏÂÙ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁÊÔÉ ×ÓÅ ÓÅÒ×ÅÒÙ Webmin ×ÅÒÓÉÉ 0.75 É ×ÙÛÅ × ×ÁÛÅÊ ÌÏËÁÌØÎÏÊ ÓÅÔÉ.
index_return=ÓÅÒ×ÅÒÙ

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ óÅÒ×ÅÒÁ
create_title=òÅÇÉÓÔÒÁÃÉÑ óÅÒ×ÅÒÁ
edit_details=ðÁÒÁÍÅÔÒÙ ÓÅÒ×ÅÒÁ
edit_host=éÍÑ ÈÏÓÔÁ
edit_port=ðÏÒÔ
edit_type=ôÉÐ ÓÅÒ×ÅÒÁ
edit_ssl=SSL ÓÅÒ×ÅÒ?
edit_link=ôÉÐ Ó×ÑÚÉ
edit_mode0=îÏÒÍÁÌØÎÏÅ ÓÏÅÄÉÎÅÎÉÅ Ó ÓÅÒ×ÅÒÏÍ
edit_mode1=÷ÈÏÄ ÞÅÒÅÚ Webmin Ó
edit_user=ÉÍÅÎÅÍ ÐÏÌØÚÏ×ÁÔÅÌÑ
edit_pass=ÐÁÒÏÌÅÍ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÓÅÒ×ÅÒÁ
save_ehost=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÈÏÓÔÁ
save_eport=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÙÊ ÐÏÒÔ
save_euser=ïÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ
save_epass=ïÔÓÕÔÓÔ×ÕÅÔ ÐÁÒÏÌØ

find_title=ðÏÉÓË óÅÒ×ÅÒÏ×
find_new=îÁÊÄÅÎ ÎÏ×ÙÊ ÓÅÒ×ÅÒ ÎÁ $1
find_already=îÁÊÄÅÎ ÉÚ×ÅÓÔÎÙÊ ÓÅÒ×ÅÒ ÎÁ $1
find_me=îÁÊÄÅÎ ÓÏÂÓÔ×ÅÎÎÙÊ ÓÅÒ×ÅÒ at $1

0707010003581b000081a40000000000000002000000013d1fe2d9000006c9000000200000000000000000000000000000001600000003reloc/servers/lang/sv index_title=Webmin-servrar
index_edit=ändra
index_none=Ingen server har registrerats.
index_add=Registrera en ny server
index_broad=Sök servrar via broadcast
index_findmsg=Tryck på denna knapp för att automatiskt söka efter Webmin-servrar av version 0.75 eller högre på ditt lokala nätverk.
index_scan=Sök servrar
index_scanmsg=Tryck på denna knapp för att söka på varje adress på nätverket $1 efter Webmin-servrar med version 0.75 eller högre. 
index_return=servrar

edit_title=Ändra server
create_title=Registrera server
edit_details=Uppgifter om server
edit_host=Datornamn
edit_port=Port
edit_type=Servertyp
edit_ssl=SSL-server?
edit_link=Länktyp
edit_mode0=Normal länkning till server
edit_mode1=Logga in via Webmin med
edit_user=användarnamn
edit_pass=lösenord
edit_ecannot=Du får inte ändra servrar

save_err=Det gick inte att spara servern
save_ehost=Datornamn saknas eller är felaktigt angivet
save_eport=Port saknas eller är felaktigt angiven
save_euser=Användarnamn saknas
save_epass=Lösenord saknas

find_title=Sök server
find_new=Ny server hittades på $1
find_already=Känd server hittades på $1
find_me=Denna server hittades på $1
find_escan=Nätverket som ska avsökas måste vara av klass C
find_none=Inga servrar svarade på sökningen.
find_ecannot=Du får inte söka efter servrar

log_modify=Modifierade server $1
log_create=Registrerade server $1
log_delete=Tog bort server $1
log_find=Hittade server $1

link_elogin=Det gick inte att logga in på $1 som $2
link_ecannot=Du får inte använda denna server
link_essl=Du har inte installerat Perl-biblioteket Net::SSLeay

lib_other=Övrigt

acl_edit=Kunna ändra servrar
acl_find=Kunna söka efter servrar
acl_servers=Kunna använda servrar
acl_sall=Alla servrar
acl_ssel=Angivna ...
   0707010003581c000081a40000000000000002000000013d1fe2d9000004b9000000200000000000000000000000000000001600000003reloc/servers/lang/tr index_title=Webmin Sunucularý
index_none=Kayýt edilen sunucu yok
index_add=Yeni sunucu kaydet
index_broad=Aðda Sunucu Ara
index_findmsg=Webmin sunucularýnýn bu sistemdeki 0.75 ve daha üstü sürümlerini aramak için týklayýnýz
index_scan=Sunucu Ara
index_scanmsg=Webmin sunucularýn 0.75 ve daha üstü versiyonlarý $1 aðýndaki her adresi kontrol etmesi için týklayýnýz
index_return=sunucular

edit_title=Sunucuyu Deðiþtir
create_title=Sunucu Kaydet
edit_details=Sunucu Ayrýntýlarý
edit_host=Makine Adý
edit_port=Port
edit_type=Sunucu Tipi
edit_ssl=SSL sunucusu?
edit_link=Link tipi
edit_mode0=Sunucuya normal link
edit_mode1=Webmin ile login
edit_user=kullanýcý adý
edit_pass=þifre

save_err=Sunucunun kaydedilmesinde hata oluþtu
save_ehost=Kayýp ya da yanlýþ makine adý
save_eport=Kayýp ya da yanlýþ port
save_euser=Kayýp kullanýcý adý
save_epass=Kayýp þifre

find_title=Sunucu Ara
find_new=$1'de yeni sunucu bul
find_already=$1'de bilinen sunucu bul
find_me=$1'de bu sunucuyu bul
find_escan=Tarama için að C, að adres sýnýfýnda olmalýdýr
find_none=Taramada yeni sunucu bulunamadý

log_modify=$1 sunucusu deðiþtirildi
log_create=$1 sunucusu kaydedildi
log_delete=$1 sunucusu silindi
log_find=$1 sunucusu bulundu

   0707010003581d000081a40000000000000002000000013d1fe2d8000004f9000000200000000000000000000000000000001900000003reloc/servers/lang/zh_CN  index_title=Webmin ·þÎñÆ÷
index_none=Ã»ÓÐ×¢²á·þÎñÆ÷
index_add=×¢²áÒ»¸öÐÂ·þÎñÆ÷
index_broad=¹ã²¥·þÎñÆ÷
index_findmsg=µã»÷´Ë°´Å¥¿É×Ô¶¯ÔÚÄúµÄ±¾µØÍøÂçËÑË÷0.75»ò¸ü¸ß°æ±¾µÄ Webmin ·þÎñÆ÷¡£
index_scan=É¨Ãè·þÎñÆ÷
index_scanmsg=µã»÷´Ë°´Å¥¿É¼ì²éÍøÂç $1 ÉÏµÄÃ¿Ò»¸öµØÖ·£¬ÒÔÕÒµ½0.75»ò¸ü¸ß°æ±¾µÄ Webmin ·þÎñÆ÷
index_return=·þÎñÆ÷
edit_title=±à¼­·þÎñÆ÷
create_title=×¢²á·þÎñÆ÷
edit_details=·þÎñÆ÷ÏêÇé
edit_host=¿Í»§»úÃû³Æ
edit_port=¶Ë¿Ú
edit_type=·þÎñÆ÷ÀàÐÍ
edit_ssl=SSL ·þÎñÆ÷£¿
edit_link=Á´½ÓÀàÐÍ
edit_mode0=µ½·þÎñÆ÷µÄÕý³£Á´½Ó
edit_mode1=¾­ÓÉ Webmin µÇÂ¼µ½
edit_user=ÓÃ»§Ãû
edit_pass=¿ÚÁî
edit_ecannot=ÄúÎÞÈ¨±à¼­·þÎñÆ÷
save_err=±£´æ·þÎñÆ÷Ê§°Ü
save_ehost=¶ªÊ§»òÎÞÐ§µÄÖ÷»úÃû
save_eport=¶ªÊ§»òÎÞÐ§µÄ¶Ë¿Ú
save_euser=¶ªÊ§µÄÓÃ»§Ãû
save_epass=¶ªÊ§µÄ¿ÚÁî
find_title=Ñ°ÕÒ·þÎñÆ÷
find_new=ÔÚ $1 ÕÒµ½ÐÂ·þÎñÆ÷
find_already=ÔÚ $1 ÕÒµ½ÒÑÖªµÄ·þÎñÆ÷
find_me=ÔÚ $1 ÕÒµ½´Ë·þÎñÆ÷
find_escan=ÒªÉ¨ÃèµÄÍøÂç±ØÐëÎª C ÀàÍøÖ·¡£
find_none=Ã»ÓÐ·þÎñÆ÷»ØÓ¦É¨Ãè¡£
find_ecannot=ÄúÎÞÈ¨ËÑË÷·þÎñÆ÷
log_modify=ÒÑÐÞ¸Ä·þÎñÆ÷ $1
log_create=ÒÑ×¢²á·þÎñÆ÷ $1
log_delete=ÒÑÉ¾³ý·þÎñÆ÷ $1
log_find=ÕÒµ½·þÎñÆ÷ $1
link_elogin=ÒÔ $2 µÇÂ¼ $1 Ê§°Ü
link_ecannot=ÄúÎÞÈ¨Ê¹ÓÃ´Ë·þÎñÆ÷
link_essl=ÄúÃ»ÓÐ°²×° perl µÄ Net::SSLeay ¿â
acl_edit=ÄÜ¹»±à¼­·þÎñÆ÷
acl_find=ÄÜ¹»Ñ°ÕÒ·þÎñÆ÷
acl_servers=ÄÜ¹»Ê¹ÓÃ·þÎñÆ÷
acl_sall=ËùÓÐ·þÎñÆ÷
acl_ssel=ÒÑÑ¡¶¨..
   0707010003581e000081a40000000000000002000000013d1fe2d8000002f4000000200000000000000000000000000000001e00000003reloc/servers/lang/zh_TW.Big5 index_title=Webmin ¦øªA¾¹¯Á¤Þ
index_none=¥Ø«e¨S¦³µù¥U¥ô¦ó¦øªA¾¹.
index_add=µù¥U¤@­Ó·sªº¦øªA¾¹
index_find=§ä´M¦øªA¾¹
index_findmsg=«ö¤U³o­Ó«ö¶s¥H¦b±zªº°Ï°ìºô¸ô¤W, ¦Û°Ê¤Æªº§ä´M¥ô¦óª©¥» 0.75 ©Î¥H¤Wªº Webmin ¦øªA¾¹.
index_return=¦øªA¾¹

edit_title=½s¿è¦øªA¾¹
create_title=µù¥U¦øªA¾¹
edit_details=¦øªA¾¹¸Ô²Ó¸ê®Æ
edit_host=¥D¾÷¦WºÙ
edit_port=³q°T°ð
edit_type=¦øªA¾¹Ãþ§O
edit_ssl=¬O§_¨Ï¥Î SSL ¾÷¨î?
edit_link=³sµ²Ãþ«¬
edit_mode0=¤@¯ë¨ì¦øªA¾¹ªº³sµ²
edit_mode1=µn¤J Webmin ¬°:
edit_user=¨Ï¥ÎªÌ¦WºÙ
edit_pass=±K½X

save_err=µLªkÀx¦s¦øªA¾¹
save_ehost=¿ò¥¢©Î¿ù»~ªº¥D¾÷¦WºÙ
save_eport=¿ò¥¢©Î¿ù»~ªº³q°T°ð
save_euser=¿ò¥¢¨Ï¥ÎªÌ¦WºÙ
save_epass=¿ò¥¢±K½X

find_title=§ä´M¦øªA¾¹
find_new=¦b $1 §ä¨ìªº·s¦øªA¾¹
find_already=¦b $1 §ä¨ì¤wª¾ªº¦øªA¾¹
find_me=¦b $1 §ä¨ì³o­Ó¦øªA¾¹

070701000310f2000081e40000000000000002000000013d1fe2d900000a5d000000200000000000000000000000000000001700000003reloc/servers/link.cgi    #!/usr/local/bin/perl
# link.cgi
# Forward the URL from path_info on to another webmin server

require './servers-lib.pl';
$ENV{'PATH_INFO'} =~ /^\/(\d+)(.*)$/ ||
	&error("Bad PATH_INFO : $ENV{'PATH_INFO'}");
$path = $2 ? $2 : '/';
if ($ENV{'QUERY_STRING'}) {
	$path .= '?'.$ENV{'QUERY_STRING'};
	}
elsif (@ARGV) {
	$path .= '?'.join('+', @ARGV);
	}
$s = &get_server($1);
&can_use_server($s) || &error($text{'link_ecannot'});
$url = "/$module_name/link.cgi/$s->{'id'}";
$| = 1;
$meth = $ENV{'REQUEST_METHOD'};

# Connect to the server
$con = &make_http_connection($s->{'host'}, $s->{'port'}, $s->{'ssl'},
			     $meth, $path);
&error($con) if (!ref($con));

# Send request headers
&write_http_connection($con, "Host: $s->{'host'}\r\n");
&write_http_connection($con, "User-agent: Webmin\r\n");
$auth = &encode_base64("$s->{'user'}:$s->{'pass'}");
$auth =~ s/\n//g;
&write_http_connection($con, "Authorization: basic $auth\r\n");
&write_http_connection($con, sprintf(
			"Webmin-servers: %s://%s:%d/$module_name/\n",
			$ENV{'HTTPS'} eq "ON" ? "https" : "http",
			$ENV{'SERVER_NAME'}, $ENV{'SERVER_PORT'}));
$cl = $ENV{'CONTENT_LENGTH'};
&write_http_connection($con, "Content-length: $cl\r\n") if ($cl);
&write_http_connection($con, "Content-type: $ENV{'CONTENT_TYPE'}\r\n")
	if ($ENV{'CONTENT_TYPE'});
&write_http_connection($con, "\r\n");
if ($cl) {
	read(STDIN, $post, $cl);
	&write_http_connection($con, $post);
	}

# read back the headers
$dummy = &read_http_connection($con);
while(1) {
	($headline = &read_http_connection($con)) =~ s/\r|\n//g;
	last if (!$headline);
	$headline =~ /^(\S+):\s+(.*)$/ || &error("Bad header");
	$header{lc($1)} = $2;
	$headers .= $headline."\n";
	}

if ($header{'location'} =~ /^(http|https):\/\/$s->{'host'}:$s->{'port'}(.*)$/) {
	# fix a redirect
	&redirect("$url$2");
	exit;
	}
elsif ($header{'www-authenticate'}) {
	# Invalid login
	&error(&text('link_elogin', $s->{'host'}, $s->{'user'}));
	}
else {
	# just output the headers
	print $headers,"\n";
	}

# read back the rest of the page
if ($header{'content-type'} =~ /text\/html/) {
	while($_ = &read_http_connection($con)) {
		s/src='(\/[^']*)'/src='$url$1'/gi;
		s/src="(\/[^"]*)"/src="$url$1"/gi;
		s/src=(\/[^ "'>]*)/src=$url$1/gi;
		s/href='(\/[^']*)'/href='$url$1'/gi;
		s/href="(\/[^"]*)"/href="$url$1"/gi;
		s/href=(\/[^ >"']*)/href=$url$1/gi;
		s/action='(\/[^']*)'/action='$url$1'/gi;
		s/action="(\/[^"]*)"/action="$url$1"/gi;
		s/action=(\/[^ "'>]*)/action=$url$1/gi;
		s/window.open\("(\/[^"]*)"/window.open\("$url$1"/gi;
		print;
		}
	}
else {
	while($buf = &read_http_connection($con, 1024)) {
		print $buf;
		}
	}
&close_http_connection($con);

   070701000310f3000081a40000000000000002000000013d1fe2d9000002a9000000200000000000000000000000000000001c00000003reloc/servers/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'servers-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
if ($action eq 'modify') {
	return &text('log_modify', "<tt>$object</tt>");
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>$object</tt>");
	}
elsif ($action eq 'find') {
	return &text('log_find', "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

   070701000310f4000081a40000000000000002000000013d1fe2ea00000226000000200000000000000000000000000000001a00000003reloc/servers/module.info desc_ru_SU=óÅÒ×ÅÒÙ Webmin
risk=high
desc_ko_KR.euc=Webmin ¼­¹ö ÀÎµ¦½º
desc_zh_TW.Big5=Webmin ¦øªA¾¹¯Á¤Þ
desc_pl=Lista serwerów Webmina
desc_de=Webmin Server Index
name=Servers
desc_zh_CN=²éÕÒWebmin·þÎñÆ÷
desc_pt=Índex de Servidores Webmin
category=webmin
desc_tr=Webmin Sunucularý Ýndeksi
desc=Webmin Servers Index
desc_es=Índice de Servidores Webmin
desc_sv=Webmin-serverindex
desc_fr=Serveurs Webmin
desc_ja_JP.euc=Webmin ¥µ¡¼¥Ð¤Îº÷°ú
depends=0.990
version=0.990
desc_hu=Webmin szerverek
desc_ca=Índex de Servidors Webmin
desc_ru_RU=Ñåðâåðû Webmin
  070701000310f5000081e40000000000000002000000013d1fe2d900000a77000000200000000000000000000000000000001c00000003reloc/servers/save_serv.cgi   #!/usr/local/bin/perl
# save_serv.cgi
# Save or delete a server

require './servers-lib.pl';
&ReadParse();
$access{'edit'} || &error($text{'edit_ecannot'});
&error_setup($text{'save_err'});

if ($in{'id'}) {
	$serv = &get_server($in{'id'});
	&can_use_server($serv) || &error($text{'edit_ecannot'});
	}

if ($in{'delete'}) {
	# delete the server
	&delete_server($in{'id'});
	&webmin_log("delete", "server", $serv->{'host'}, $serv); 
	}
else {
	# validate inputs
	$in{'host'} =~ /^\S+$/ || &error($text{'save_ehost'});
	$in{'port'} =~ /^\d+$/ || &error($text{'save_eport'});
	if ($in{'mode'}) {
		$in{'user'} =~ /\S/ || &error($text{'save_euser'});
		$in{'pass'} =~ /\S/ || &error($text{'save_epass'});
		}
	if ($in{'group_def'} == 0) {
		$in{'newgroup'} =~ /\S/ || &error($text{'save_egroup'});
		}
	if ($in{'fast'} == 2 && $in{'mode'}) {
		# Does the server have fastrpc.cgi ?
		local $con = &make_http_connection($in{'host'}, $in{'port'},
					   $in{'ssl'}, "GET", "/fastrpc.cgi");
		$in{'fast'} = 0;
		if (ref($con)) {
			&write_http_connection($con, "Host: $s->{'host'}\r\n");
			&write_http_connection($con, "User-agent: Webmin\r\n");
			$auth = &encode_base64("$in{'user'}:$in{'pass'}");
			$auth =~ s/\n//g;
			&write_http_connection($con,
					"Authorization: basic $auth\r\n");
			&write_http_connection($con, "\r\n");
			local $line = &read_http_connection($con);
			if ($line =~ /^HTTP\/1\..\s+401\s+/) {
				&error($text{'save_elogin'});
				}
			elsif ($line =~ /^HTTP\/1\..\s+200\s+/) {
				# It does .. tell the fastrpc.cgi process to die
				do {
					$line = &read_http_connection($con);
					$line =~ s/\r|\n//g;
					} while($line);
				$line = &read_http_connection($con);
				if ($line =~ /^1\s+(\S+)\s+(\S+)/) {
					local ($port = $1, $sid = $2, $error);
					&open_socket($in{'host'}, $port,
						     $sid, \$error);
					if (!$error) {
						close($sid);
						$in{'fast'} = 1;
						}
					}
				}
			&close_http_connection($con);
			}
		}
	elsif ($in{'fast'} == 2) {
		# No login provided, so assume no
		$in{'fast'} = 0;
		}

	# save the server
	%serv = ( 'host' => $in{'host'},
		  'port' => $in{'port'},
		  'type' => $in{'type'},
		  'ssl' => $in{'ssl'},
		  'desc' => $in{'desc_def'} ? undef : $in{'desc'},
		  'group' => $in{'group_def'} == 2 ? undef :
			     $in{'group_def'} == 1 ? $in{'group'} :
						     $in{'newgroup'},
		  'fast' => $in{'fast'} );
	if ($in{'mode'}) {
		$serv{'user'} = $in{'user'};
		$serv{'pass'} = $in{'pass'};
		}
	$serv{'id'} = $in{'new'} ? time() : $in{'id'};
	&save_server(\%serv);
	delete($serv{'pass'});
	&webmin_log($in{'new'} ? 'create' : 'modify', 'server',
		    $serv{'host'}, \%serv);
	}
&redirect("");

 070701000310f6000081a40000000000000002000000013d1fe2d800000b98000000200000000000000000000000000000001d00000003reloc/servers/servers-lib.pl  # servers-lib.pl
# Common functions for managing servers

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

sub list_servers
{
local ($f, @rv);
opendir(DIR, $module_config_directory);
while($f = readdir(DIR)) {
	if ($f =~ /^(\d+)\.serv$/) {
		push(@rv, &get_server($1));
		}
	}
closedir(DIR);
return @rv;
}

# get_server(id)
sub get_server
{
local $serv;
$serv->{'id'} = $_[0];
&read_file("$module_config_directory/$_[0].serv", $serv) || return undef;
return $serv;
}

# save_server(&server)
sub save_server
{
&lock_file("$module_config_directory/$_[0]->{'id'}.serv");
&write_file("$module_config_directory/$_[0]->{'id'}.serv", $_[0]);
chmod(0600, "$module_config_directory/$_[0]->{'id'}.serv");
&unlock_file("$module_config_directory/$_[0]->{'id'}.serv");
}

# delete_server(id)
sub delete_server
{
&lock_file("$module_config_directory/$_[0].serv");
unlink("$module_config_directory/$_[0].serv");
&unlock_file("$module_config_directory/$_[0].serv");
}

# can_use_server(&server)
sub can_use_server
{
return 1 if ($access{'servers'} eq '*');
foreach $s (split(/\s+/, $access{'servers'})) {
	return 1 if ($_[0]->{'host'} eq $s);
	}
return 0;
}

# list_all_groups([&servers])
# Returns a list of all webmin and MSC groups and their members
sub list_all_groups
{
local (@rv, %gmap, $s, $f);

# Add webmin servers groups
foreach $s ($_[0] ? @{$_[0]} : &list_servers()) {
	if ($s->{'group'}) {
		local $grp = $gmap{$s->{'group'}};
		if (!$grp) {
			$gmap{$s->{'group'}} = $grp = { 'name' => $s->{'group'},
							'type' => 0 };
			push(@rv, $grp);
			}
		push(@{$grp->{'members'}}, $s->{'host'});
		}
	}

# Add MSC cluster groups
opendir(DIR, $config{'groups_dir'});
foreach $f (readdir(DIR)) {
	next if ($f eq '.' || $f eq '..');
	local $grp = $gmap{$f};
	if (!$grp) {
		$gmap{$f} = $grp = { 'name' => $f, 'type' => 1 };
		push(@rv, $grp);
		}
	open(GROUP, "$config{'groups_dir'}/$f");
	while(<GROUP>) {
		s/\r|\n//g;
		s/#.*$//;
		if (/(\S*)\[(\d)-(\d+)\](\S*)/) {
			# Expands to multiple hosts
			push(@{$grp->{'members'}}, map { $1.$_.$4 } ($2 .. $3));
			}
		elsif (/(\S+)/) {
			push(@{$grp->{'members'}}, $1);
			}
		}
	close(GROUP);
	}
closedir(DIR);

# Fix up MSC groups that include other groups
while(1) {
	local ($grp, $any);
	foreach $grp (@rv) {
		local @mems;
		foreach $m (@{$grp->{'members'}}) {
			if ($m =~ /^:(.*)$/) {
				push(@mems, @{$gmap{$1}->{'members'}});
				$any++;
				}
			else {
				push(@mems, $m);
				}
			}
		$grp->{'members'} = \@mems;
		}
	last if (!$any);
	}

return @rv;
}

@server_types = ( [ 'caldera', 'OpenLinux' ],
		  [ 'redhat', 'Redhat Linux' ],
		  [ 'suse', 'SuSE Linux' ],
		  [ 'debian', 'Debian Linux' ],
		  [ 'mandrake', 'Mandrake Linux' ],
		  [ 'msc', 'MSC.Linux' ],
		  [ 'linux', 'Linux' ],
		  [ 'freebsd', 'FreeBSD' ],
		  [ 'solaris', 'Solaris' ],
		  [ 'hpux', 'HP/UX' ],
		  [ 'sco', 'SCO' ],
		  [ 'mac', 'Macintosh' ],
		  [ 'irix', 'IRIX' ],
		  [ 'unknown', $text{'lib_other'} ] );


1;

0707010003e286000081e40000000000000002000000013d1fe2b800000917000000200000000000000000000000000000001800000003reloc/session_login.cgi   #!/usr/local/bin/perl
# session_login.cgi
# Display the login form used in session login mode

$pragma_no_cache = 1;
require './web-lib.pl';
&init_config();
&ReadParse();
if ($gconfig{'loginbanner'} && $ENV{'HTTP_COOKIE'} !~ /banner=1/ &&
    !$in{'logout'} && !$in{'failed'} && !$in{'timed_out'}) {
	# Show pre-login HTML page
	print "Set-Cookie: banner=1; path=/\r\n";
	&PrintHeader();
	$url = $in{'page'};
	open(BANNER, $gconfig{'loginbanner'});
	while(<BANNER>) {
		s/LOGINURL/$url/g;
		print;
		}
	close(BANNER);
	return;
	}
print "Set-Cookie: banner=0; path=/\r\n" if ($gconfig{'loginbanner'});
print "Set-Cookie: user=x; path=/\r\n" if ($in{'logout'});
print "Set-Cookie: testing=1; path=/\r\n";
&header(undef, undef, undef, undef, 1, 1, undef, undef,
	"onLoad='document.forms[0].pass.value = \"\"; document.forms[0].user.focus()'");
print "<hr>\n";

print "<center>\n";
if (defined($in{'failed'})) {
	print "<h3>$text{'session_failed'}</h3><p>\n";
	}
elsif ($in{'logout'}) {
	print "<h3>$text{'session_logout'}</h3><p>\n";
	}
elsif ($in{'timed_out'}) {
	print "<h3>",&text('session_timed_out', int($in{'timed_out'}/60)),"</h3><p>\n";
	}
print "<form action=/session_login.cgi method=post>\n";
print "<input type=hidden name=page value='".&html_escape($in{'page'})."'>\n";
print "<table border width=40%>\n";
print "<tr $tb> <td><b>$text{'session_header'}</b></td> </tr>\n";
print "<tr $cb> <td align=center><table cellpadding=3>\n";
$host = $ENV{'HTTP_HOST'};
$host =~ s/:\d+//g;
print "<tr> <td colspan=2 align=center>",
      &text($gconfig{'nohostname'} ? 'session_mesg2' :
	    $gconfig{'usermin'} ? 'session_mesg3' : 'session_mesg',
	    "<tt>$host</tt>"),"</td> </tr>\n";
print "<tr> <td><b>$text{'session_user'}</b></td>\n";
print "<td><input name=user size=20 value='".&html_escape($in{'failed'})."'></td> </tr>\n";
print "<tr> <td><b>$text{'session_pass'}</b></td>\n";
print "<td><input name=pass size=20 type=password></td> </tr>\n";
print "<tr> <td colspan=2 align=center><input type=submit value='$text{'session_login'}'>\n";
print "<input type=reset value='$text{'session_clear'}'><br>\n";
if (!$gconfig{'noremember'}) {
	print "<input type=checkbox name=save value=1> $text{'session_save'}\n";
	}
print "</td> </tr>\n";
print "</table></td></tr></table><p><hr>\n";
print "</form></center>\n";
&footer();

 0707010003e287000081e40000000000000002000000013d1fe2b7000045e1000000200000000000000000000000000000000f00000003reloc/setup.sh    #!/bin/sh
# setup.sh
# This script should be run after the webmin archive is unpacked, in order
# to setup the various config files

# Find install directory
cd `dirname $0`
if [ -x /bin/pwd ]; then
	wadir=`/bin/pwd`
else
	wadir=`pwd`;
fi
ver=`cat "$wadir/version"`

echo "***********************************************************************"
echo "*            Welcome to the Webmin setup script, version $ver         *"
echo "***********************************************************************"
echo "Webmin is a web-based interface that allows Unix-like operating"
echo "systems and common Unix services to be easily administered."
echo ""

# Only root can run this
id | grep "uid=0(" >/dev/null
if [ $? != "0" ]; then
	uname -a | grep -i CYGWIN >/dev/null
	if [ $? != "0" ]; then
		echo "ERROR: The Webmin install script must be run as root";
		echo "";
		exit 1;
	fi
fi

# Display install directory
echo "Installing Webmin in $wadir ..."
allmods=`cd "$wadir"; echo */module.info | sed -e 's/\/module.info//g'`
if [ "$allmods" = "" ]; then
	echo "ERROR: Failed to get module list"
	echo ""
	exit 1
fi
echo ""

# Ask for webmin config directory
echo "***********************************************************************"
echo "Webmin uses separate directories for configuration files and log files."
echo "Unless you want to run multiple versions of Webmin at the same time"
echo "you can just accept the defaults."
echo ""
printf "Config file directory [/etc/webmin]: "
if [ "$config_dir" = "" ]; then
	read config_dir
fi
if [ "$config_dir" = "" ]; then
	config_dir=/etc/webmin
fi
abspath=`echo $config_dir | grep "^/"`
if [ "$abspath" = "" ]; then
	echo "Config directory must be an absolute path"
	echo ""
	exit 2
fi
if [ ! -d $config_dir ]; then
	mkdir $config_dir;
	if [ $? != 0 ]; then
		echo "ERROR: Failed to create directory $config_dir"
		echo ""
		exit 2
	fi
fi
if [ -r "$config_dir/config" ]; then
	echo "Found existing Webmin configuration in $config_dir"
	echo ""
	upgrading=1
fi

# Check if upgrading from an old version
if [ "$upgrading" = 1 ]; then
	# Get current var path
	var_dir=`cat $config_dir/var-path`

	# Get current perl path
	perl=`cat $config_dir/perl-path`

	# Create temp files directory
	$perl "$wadir/maketemp.pl"
	if [ "$?" != "0" ]; then
		echo "ERROR: Failed to create or check temp files directory /tmp/.webmin"
		echo ""
		exit 2
	fi

	# Stop old version
	$config_dir/stop >/dev/null 2>&1

	# Update ACLs
	$perl "$wadir/newmods.pl" $config_dir $allmods

	# Get old os name and version
	os_type=`grep "^os_type=" $config_dir/config | sed -e 's/os_type=//g'`
	os_version=`grep "^os_version=" $config_dir/config | sed -e 's/os_version=//g'`
	real_os_type=`grep "^real_os_type=" $config_dir/config | sed -e 's/real_os_type=//g'`
	real_os_version=`grep "^real_os_version=" $config_dir/config | sed -e 's/real_os_version=//g'`

	# Get old root, host, port, ssl and boot flag
	oldwadir=`grep "^root=" $config_dir/miniserv.conf | sed -e 's/root=//g'`
	host=`grep "^host=" $config_dir/miniserv.conf | sed -e 's/host=//g'`
	port=`grep "^port=" $config_dir/miniserv.conf | sed -e 's/port=//g'`
	ssl=`grep "^ssl=" $config_dir/miniserv.conf | sed -e 's/ssl=//g'`
	atboot=`grep "^atboot=" $config_dir/miniserv.conf | sed -e 's/atboot=//g'`

	# Update miniserv.conf with new root directory and mime types file
	grep -v "^root=" $config_dir/miniserv.conf | grep -v "^mimetypes=" >/tmp/.webmin/$$.miniserv.conf
	mv /tmp/.webmin/$$.miniserv.conf $config_dir/miniserv.conf
	echo "root=$wadir" >> $config_dir/miniserv.conf
	echo "mimetypes=$wadir/mime.types" >> $config_dir/miniserv.conf
	grep logout= $config_dir/miniserv.conf >/dev/null
	if [ $? != "0" ]; then
		echo "logout=$config_dir/logout-flag" >> $config_dir/miniserv.conf
	fi
	
	# Check for third-party modules in old version
	if [ "$wadir" != "$oldwadir" ]; then
		echo "Checking for third-party modules .."
		if [ "$webmin_upgrade" != "" ]; then
			autothird=1
		fi
		$perl "$wadir/thirdparty.pl" "$wadir" "$oldwadir" $autothird
		echo "..done"
		echo ""
	fi

	# Remove old cache of module infos
	rm -f $config_dir/module.infos.cache
else
	# Config directory exists .. make sure it is not in use
	ls $config_dir | grep -v rpmsave >/dev/null 2>&1
	if [ "$?" = "0" -a "$config_dir" != "/etc/webmin" ]; then
		echo "ERROR: Config directory $config_dir is not empty"
		echo ""
		exit 2
	fi

	# Ask for log directory
	printf "Log file directory [/var/webmin]: "
	if [ "$var_dir" = "" ]; then
		read var_dir
	fi
	if [ "$var_dir" = "" ]; then
		var_dir=/var/webmin
	fi
	abspath=`echo $var_dir | grep "^/"`
	if [ "$abspath" = "" ]; then
		echo "Log file directory must be an absolute path"
		echo ""
		exit 3
	fi
	if [ "$var_dir" = "/" ]; then
		echo "Log directory cannot be /"
		exit ""
		exit 3
	fi
	if [ ! -d $var_dir ]; then
		mkdir $var_dir
		if [ $? != 0 ]; then
			echo "ERROR: Failed to create directory $var_dir"
			echo ""
			exit 3
		fi
	fi
	echo ""

	# Ask where perl is installed
	echo "***********************************************************************"
	echo "Webmin is written entirely in Perl. Please enter the full path to the"
	echo "Perl 5 interpreter on your system."
	echo ""
	if [ -x /usr/bin/perl ]; then
		perldef=/usr/bin/perl
	elif [ -x /usr/local/bin/perl ]; then
		perldef=/usr/local/bin/perl
	else
		perldef=""
	fi
	if [ "$perl" = "" ]; then
		if [ "$perldef" = "" ]; then
			printf "Full path to perl: "
			read perl
			if [ "$perl" = "" ]; then
				echo "ERROR: No path entered!"
				echo ""
				exit 4
			fi
		else
			printf "Full path to perl (default $perldef): "
			read perl
			if [ "$perl" = "" ]; then
				perl=$perldef
			fi
		fi
	fi
	echo ""

	# Test perl 
	echo "Testing Perl ..."
	if [ ! -x $perl ]; then
		echo "ERROR: Failed to find perl at $perl"
		echo ""
		exit 5
	fi
	$perl -e 'print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
	if [ $? != "0" ]; then
		echo "ERROR: Failed to run test perl script. Maybe $perl is"
		echo "not the perl interpreter, or is not installed properly"
		echo ""
		exit 6
	fi
	$perl -e 'exit ($] < 5.002 ? 1 : 0)'
	if [ $? = "1" ]; then
		echo "ERROR: Detected old perl version. Webmin requires"
		echo "perl 5.002 or better to run"
		echo ""
		exit 7
	fi
	$perl -e 'use Socket; print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
	if [ $? != "0" ]; then
		echo "ERROR: Perl Socket module not installed. Maybe Perl has"
		echo "not been properly installed on your system"
		echo ""
		exit 8
	fi
	$perl -e '$c = crypt("xx", "yy"); exit($c ? 0 : 1)'
	if [ $? != "0" ]; then
		echo "ERROR: Perl crypt function does not work. Maybe Perl has"
		echo "not been properly installed on your system"
		echo ""
		exit 8
	fi
	echo "Perl seems to be installed ok"
	echo ""

	# Create temp files directory
	$perl "$wadir/maketemp.pl"
	if [ "$?" != "0" ]; then
		echo "ERROR: Failed to create or check temp files directory /tmp/.webmin"
		echo ""
		exit 2
	fi

	# Ask for operating system type
	echo "***********************************************************************"
	if [ "$os_type" = "" ]; then
		if [ "$autoos" = "" ]; then
			autoos=2
		fi
		$perl "$wadir/oschooser.pl" "$wadir/os_list.txt" /tmp/.webmin/$$.os $autoos
		if [ $? != 0 ]; then
			exit $?
		fi
		. /tmp/.webmin/$$.os
		rm -f /tmp/.webmin/$$.os
	fi
	echo "Operating system name:    $real_os_type"
	echo "Operating system version: $real_os_version"
	echo ""

	# Ask for web server port, name and password
	echo "***********************************************************************"
	echo "Webmin uses its own password protected web server to provide access"
	echo "to the administration programs. The setup script needs to know :"
	echo " - What port to run the web server on. There must not be another"
	echo "   web server already using this port."
	echo " - The login name required to access the web server."
	echo " - The password required to access the web server."
	echo " - The hostname of this system that the web server should use."
	echo " - If the webserver should use SSL (if your system supports it)."
	echo " - Whether to start webmin at boot time."
	echo ""
	printf "Web server port (default 10000): "
	if [ "$port" = "" ]; then
		read port
		if [ "$port" = "" ]; then
			port=10000
		fi
	fi
	if [ $port -lt 1 ]; then
		echo "ERROR: $port is not a valid port number"
		echo ""
		exit 11
	fi
	if [ $port -gt 65535 ]; then
		echo "ERROR: $port is not a valid port number. Port numbers cannot be"
		echo "       greater than 65535"
		echo ""
		exit 12
	fi
	$perl -e 'use Socket; socket(FOO, PF_INET, SOCK_STREAM, getprotobyname("tcp")); setsockopt(FOO, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); bind(FOO, sockaddr_in($ARGV[0], INADDR_ANY)) || exit(1); exit(0);' $port
	if [ $? != "0" ]; then
		echo "ERROR: TCP port $port is already in use by another program"
		echo ""
		exit 13
	fi
	printf "Login name (default admin): "
	if [ "$login" = "" ]; then
		read login
		if [ "$login" = "" ]; then
			login="admin"
		fi
	fi
	echo $login | grep : >/dev/null
	if [ "$?" = "0" ]; then
		echo "ERROR: Username contains a : character"
		echo ""
		exit 14
	fi
	echo $login | grep " " >/dev/null
	if [ "$?" = "0" ]; then
		echo "ERROR: Username contains a space"
		echo ""
		exit 14
	fi
	printf "Login password: "
	if [ "$password" = "" -a "$crypt" = "" ]; then
		stty -echo
		read password
		stty echo
		printf "\n"
		printf "Password again: "
		stty -echo
		read password2
		stty echo
		printf "\n"
		if [ "$password" != "$password2" ]; then
			echo "ERROR: Passwords don't match"
			echo ""
			exit 14
		fi
		echo $password | grep : >/dev/null
		if [ "$?" = "0" ]; then
			echo "ERROR: Password contains a : character"
			echo ""
			exit 14
		fi
	fi
	defhost=`hostname`
	printf "Web server host name (default $defhost): "
	if [ "$host" = "" ]; then
		read host
		if [ "$host" = "" ]; then
			host=$defhost
		fi
	fi
	if [ "$ssl" = "" ]; then
		ssl=0
		$perl -e 'use Net::SSLeay' >/dev/null 2>/dev/null
		if [ $? = "0" ]; then
			printf "Use SSL (y/n): "
			read sslyn
			if [ "$sslyn" = "y" -o "$sslyn" = "Y" ]; then
				ssl=1
			fi
		else
			echo "The Perl SSLeay library is not installed. SSL not available."
			rm -f core
		fi
	fi

	# Ask whether to run at boot time
	if [ "$atboot" = "" ]; then
		initsupp=`grep "^os_support=" "$wadir/init/module.info" | sed -e 's/os_support=//g' | grep $os_type`
		atboot=0
		if [ "$initsupp" != "" ]; then
			printf "Start Webmin at boot time (y/n): "
			read atbootyn
			if [ "$atbootyn" = "y" -o "$atbootyn" = "Y" ]; then
				atboot=1
			fi
		else
			echo "Webmin does not support being started at boot time on your system."
		fi
	fi
	makeboot=$atboot

	# Create webserver config file
	echo $perl > $config_dir/perl-path
	echo $var_dir > $config_dir/var-path
	echo "***********************************************************************"
	echo "Creating web server config files.."
	cfile=$config_dir/miniserv.conf
	echo "port=$port" >> $cfile
	echo "root=$wadir" >> $cfile
	echo "host=$host" >> $cfile
	echo "mimetypes=$wadir/mime.types" >> $cfile
	echo "addtype_cgi=internal/cgi" >> $cfile
	echo "realm=Webmin Server" >> $cfile
	echo "logfile=$var_dir/miniserv.log" >> $cfile
	echo "pidfile=$var_dir/miniserv.pid" >> $cfile
	echo "logtime=168" >> $cfile
	echo "ppath=$ppath" >> $cfile
	echo "ssl=$ssl" >> $cfile
	echo "env_WEBMIN_CONFIG=$config_dir" >> $cfile
	echo "env_WEBMIN_VAR=$var_dir" >> $cfile
	echo "atboot=$atboot" >> $cfile
	echo "logout=$config_dir/logout-flag" >> $cfile
	echo "listen=10000" >> $cfile
	echo "denyfile=\\.pl\$" >> $cfile
	echo "log=1" >> $cfile
	echo "blockhost_failures=5" >> $cfile
	echo "blockhost_time=60" >> $cfile
	echo "syslog=1" >> $cfile
	if [ "$allow" != "" ]; then
		echo "allow=$allow" >> $cfile
	fi
	if [ "$session" != "" ]; then
		echo "session=$session" >> $cfile
	else
		echo "session=1" >> $cfile
	fi

	ufile=$config_dir/miniserv.users
	if [ "$crypt" != "" ]; then
		echo "$login:$crypt:0" > $ufile
	else
		$perl -e 'print "$ARGV[0]:",crypt($ARGV[1], "XX"),":0\n"' "$login" "$password" > $ufile
	fi
	chmod 600 $ufile
	echo "userfile=$ufile" >> $cfile

	kfile=$config_dir/miniserv.pem
	cp "$wadir/miniserv.pem" $kfile
	chmod 600 $kfile
	echo "keyfile=$config_dir/miniserv.pem" >> $cfile

	chmod 600 $cfile
	echo "..done"
	echo ""

	echo "Creating access control file.."
	afile=$config_dir/webmin.acl
	rm -f $afile
	echo "$login: $allmods" >> $afile
	chmod 600 $afile
	echo "..done"
	echo ""

fi

if [ "$noperlpath" = "" ]; then
	echo "Inserting path to perl into scripts.."
	(find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl -
	echo "..done"
	echo ""
fi

echo "Creating start and stop scripts.."
rm -f $config_dir/stop $config_dir/start
echo "#!/bin/sh" >>$config_dir/start
echo "echo Starting Webmin server in $wadir" >>$config_dir/start
echo "trap '' 1" >>$config_dir/start
uname -a | grep -i 'HP/*UX' >/dev/null
if [ $? = "0" ]; then
	echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf &" >>$config_dir/start
else
	echo "exec '$wadir/miniserv.pl' $config_dir/miniserv.conf" >>$config_dir/start
fi

echo "#!/bin/sh" >>$config_dir/stop
echo "echo Stopping Webmin server in $wadir" >>$config_dir/stop
echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop
echo "kill \`cat \$pidfile\`" >>$config_dir/stop
chmod 755 $config_dir/start $config_dir/stop
echo "..done"
echo ""

if [ "$upgrading" = 1 ]; then
	echo "Updating config files.."
else
	echo "Copying config files.."
fi
$perl "$wadir/copyconfig.pl" "$os_type" "$os_version" "$wadir" $config_dir "" $allmods
if [ "$upgrading" != 1 ]; then
	# Store the OS and version
	echo "os_type=$os_type" >> $config_dir/config
	echo "os_version=$os_version" >> $config_dir/config
	echo "real_os_type=$real_os_type" >> $config_dir/config
	echo "real_os_version=$real_os_version" >> $config_dir/config
	if [ -r /etc/system.cnf ]; then
		# Found a caldera system config file .. get the language
		source /etc/system.cnf
		if [ "$CONF_LST_LANG" = "us" ]; then
			CONF_LST_LANG=en
		elif [ "$CONF_LST_LANG" = "uk" ]; then
			CONF_LST_LANG=en
		fi
		grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1
		if [ "$?" = 0 ]; then
			echo "lang=$CONF_LST_LANG" >> $config_dir/config
		fi
	fi
else
	# one-off hack to set log variable in config from miniserv.conf
	grep log= $config_dir/config >/dev/null
	if [ "$?" = "1" ]; then
		grep log= $config_dir/miniserv.conf >> $config_dir/config
		grep logtime= $config_dir/miniserv.conf >> $config_dir/config
		grep logclear= $config_dir/miniserv.conf >> $config_dir/config
	fi
fi
echo $ver > $config_dir/version
echo "..done"
echo ""

# Set passwd_ fields in miniserv.conf from global config
grep passwd_file= $config_dir/miniserv.conf >/dev/null
if [ "$?" != "0" ]; then
	grep passwd_file= $config_dir/config >> $config_dir/miniserv.conf
	grep passwd_uindex= $config_dir/config >> $config_dir/miniserv.conf
	grep passwd_pindex= $config_dir/config >> $config_dir/miniserv.conf
fi

if [ "$theme" = "" ]; then
	theme=`cat "$wadir/defaulttheme" 2>/dev/null`
fi
oldthemeline=`grep "^theme=" $config_dir/config`
oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
	# Set a special theme if none was set before
	echo "theme=$theme" >> $config_dir/config
	echo "preroot=$theme" >> $config_dir/miniserv.conf
fi

if [ "$makeboot" = "1" ]; then
	echo "Configuring Webmin to start at boot time.."
	(cd "$wadir/init" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/init/atboot.pl")
	echo "..done"
	echo ""
fi

if [ "$nouninstall" = "" ]; then
	echo "Creating uninstall script $config_dir/uninstall.sh .."
	cat >$config_dir/uninstall.sh <<EOF
#!/bin/sh
printf "Are you sure you want to uninstall Webmin? (y/n) : "
read answer
printf "\n"
if [ "\$answer" = "y" ]; then
	$config_dir/stop
	echo "Running uninstall scripts .."
	(cd "$wadir" ; WEBMIN_CONFIG=$config_dir WEBMIN_VAR=$var_dir "$wadir/run-uninstalls.pl");
	echo "Deleting $wadir .."
	rm -rf "$wadir"
	echo "Deleting $config_dir .."
	rm -rf "$config_dir"
	echo "Done!"
fi
EOF
	chmod +x $config_dir/uninstall.sh
	echo "..done"
	echo ""
fi

echo "Changing ownership and permissions .."
chown -R root:bin $config_dir
chmod -R og-rw $config_dir
chmod 755 $config_dir/sendmail/config >/dev/null 2>&1
chmod 755 $config_dir/sendmail/autoreply.pl >/dev/null 2>&1
if [ "$nochown" = "" ]; then
	chown -R root:bin "$wadir"
	#chmod -R og-rwx "$wadir"
fi
if [ $var_dir != "/var" ]; then
	chown -R root:bin $var_dir
	chmod -R og-rwx $var_dir
fi
echo "..done"
echo ""

if [ "$nostart" = "" ]; then
	echo "Attempting to start Webmin mini web server.."
	$config_dir/start
	if [ $? != "0" ]; then
		echo "ERROR: Failed to start web server!"
		echo ""
		exit 14
	fi
	echo "..done"
	echo ""

	echo "***********************************************************************"
	echo "Webmin has been installed and started successfully. Use your web"
	echo "browser to go to"
	echo ""
	if [ "$ssl" = "1" ]; then
		echo "  https://$host:$port/"
	else
		echo "  http://$host:$port/"
	fi
	echo ""
	echo "and login with the name and password you entered previously."
	echo ""
	if [ "$ssl" = "1" ]; then
		echo "Because Webmin uses SSL for encryption only, the certificate"
		echo "it uses is not signed by one of the recognized CAs such as"
		echo "Verisign. When you first connect to the Webmin server, your"
		echo "browser will ask you if you want to accept the certificate"
		echo "presented, as it does not recognize the CA. Say yes."
		echo ""
	fi
fi

if [ "$oldwadir" != "$wadir" -a "$upgrading" = 1 ]; then
	echo "The directory from the previous version of Webmin"
	echo "   $oldwadir"
	echo "Can now be safely deleted to free up disk space, assuming"
	echo "that all third-party modules have been copied to the new"
	echo "version."
	echo ""
fi

   07070100036dcf000041ed0000000000000001000000043d1ffb5000000000000000200000000000000000000000000000000c00000003reloc/shell   07070100036dd0000081a40000000000000002000000013d1fe2e3000002bb000000200000000000000000000000000000001c00000003reloc/shell/acl_security.pl   
do 'shell-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the shell module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_user'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$_[0]->{'user'} ? '' : 'checked', $text{'acl_user_def'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$_[0]->{'user'} ? 'checked' : '';
print "<input name=user size=8 value='$_[0]->{'user'}'> ",
      &user_chooser_button("user"),"</td> </tr>\n";
}

# acl_security_save(&options)
# Parse the form for security options for the shell module
sub acl_security_save
{
$_[0]->{'user'} = $in{'user_def'} ? undef : $in{'user'};
}

 07070100036dd1000081a40000000000000002000000013d1fe2e30000000a000000200000000000000000000000000000001700000003reloc/shell/defaultacl    user=root
  070701000383b7000041ed0000000000000001000000023d1ffb4f00000000000000200000000000000000000000000000001300000003reloc/shell/images    070701000383b8000081a40000000000000002000000013d1fe2e300000a76000000200000000000000000000000000000001c00000003reloc/shell/images/icon.gif   GIF89a0 0 ç  †‚dâ¾,ÞÞÜ–žŒ¶¾´ÚÂœÒž$¦®¤îîôæÒ¤ÆÊÄ®†,îÞÄÖÒÔÊ¾¤®ž„²¶¬âÖÌÂª|†Ž„ÆÆ¼ææä²®¤ª–\ž¦œòæÄÚÚÜÚ¶tæÞÔööüÒÒÌÖÆÄÂ–4Æ¾¼ª¦œîæìæÎ|öîäÎÊÌÚÒÜ¾¶´Ž–„ÂÆÄÖª\æÚÌ²®¬¢ž”¾¾´æÞäÎÂÄÞž¶–döêô¾¶¼®®¤îÚœº¶´ÆÂ¼²ª¤îêìÖÂŒÒÆ¬ÖÎÌªª¤ÎÎÌ––Œº²¬¾Â¼æâäÞÒÌöîôâÚäžž”ÖÊ¤òòô¶º¬êêìš–Œ¦¦œÒšÞÒÜ²²¬Ú¢,Æº¼ž~Dª²¬ÊÎÌ¶¦|âÒÜ’ŽtêæôîÖ|¢¢šÂ¾Ä¾º¼æÚ¼ÊÂÌîêôÖÎÜªª¬öòûæÆHââäÚÆ¬Æž<ª®¬òîüâÒ¼ÊÊÊ¾Š4ÖÖÔ¶¶°ÊÆÌêæëº®”îæÜÞÚßÂš<Ê¾ÁòæòêÒ€ÒÊÎÆ¶¤’šŒâÚÜÂ¾»êÞêÂšDæÊlÊ²„Ú²<‚Š|îâì¦š|ºždâºlÖ¢<®ŠHÎªlÎ¢L–’ŒâÆ„ÎÆÈÎš4Öž$ŽŽ„ÎÂ´žš„ÖÊÏÖÆœæÖ¬òâ¼¦šdÖº|ºš\Þ¦4ºª„âÖÞ²²¤ÖÖÜ¾º´¢‚DæÊ„ŠŠtÒ¢,®²ªºº¶–š‘ÞÖÔž¢—¦ª¢ÞÖÝÖ¦DöæÜŽ’„êÚ¬æÚÄâÆTšš”ÂšTâÞäšž”º¾¸ª®£òîôÊÆÄêÞÜ®¦¤’–‡ÊÂÃòêéÚÎÓ®ª£ÒÎÐÂÂ¾êâëæÚå¶²¯º¦„¦¢˜Âº¼êÚ´úòüÆš8ÒÆÌÚÆ”êÖ¤æÖäÚÒÔÎ¾¤¶®¤¢¦œúöüêÎ|¶®¬Â¶¼òêô®ª¬ÚÖÔòæÜæÚÜÚÖÜÂº´ÞÞä–ž”ÆÊÌ²¶´ÆÆÄææìÚÚäæÞÜÒÒÔÆ¾Äª¦¤îæôöîìÎÊÔæÚÔ¾¾¼æÞìÎÂÌ®®¬ÆÂÄÖÎÔÎÎÔ––”º²´æâìÞÒÔöîüÖÊ¬òòü¶º´¦¦¤²²´ÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#2¤CD $jü§Ô9Z ÞHû%ÀCˆ`jËQLXŽFp1£„c®0œôaãÎCÊ‚L„™	#äÝFŒäa†CÝ>PŠù1á¥›qL~Æ)†Œ;ÚüàÀ¦æ—##Œ¨â%²<êì§-¥bêÈÂ
dV®<`Ùë„-Œºœ#¾qÄ¡dˆ½a/Œ>9®åE FÌ°bG
«cæ.‡‚Œû€A‡­12	Q‡#L>îP¨Sƒ«ÏªwR±á†c•`!L4|ÁdD”a>z)!³ÃZo„ÈþÀèƒ¢p˜÷°àˆƒ@f?”¼ø¡#]aŸÔŒüêE.e¸LÑM/n¨E»£Æ8h6à²Š;ÃX³
{Úø”Ð~Ao„1Øô‚ƒ#ÀÜÁÌ1Œ0Æ/ÄÓ@{ê ³
o‚6~˜’}Ä€MØØÑMÝø‚M.Ç¬aÈ6(²Œ3¾ðPH'õô26Ã¼1ŒP„¿¸€P-²™2™á0Oø$¯Èp	+pÃ6@’Ìú4ÆÎÈÄXcå@#d4 ²Îu|ñ€. ãwDs…%Oà7\ÈÓ…þ…‘‡09õQJÜaO51Œl‹/~X°
(j¨óÂX¸ÜÓ%.pà ¬RK'`CLÈ@	±ƒG¸”I4þù’‡# à¢N#jÐ€#bà‚M3¬4Â	haG0Ž„0!>
Ô‹*òäcDÚœR‰/¯ q„0däóŒ;ñbJyJsDÃæÈ‹Ä²CQa¡½$ü0@”Ò #¤r†Ð	}èå2a`Ó(Ø(1c©†;pñ…/¨ÔÒ?ï„L^dÄS²‡h¢M>ç€b9òM xÍ>Âôˆ€OwAËþs"Ây„Q(½¤3Ì?l¼Q
9ÜMh˜À†^!hDúÐ€Ç5$=Äè¨¡-
˜‚¨€P€qñ†&˜P2#ó-`r‰/ÄK-&`ìË”°áH«á;çàb„0Á£o0oHÑþ¼ÑÈÄñ'PÔ®J/m‚ôÁxõÂÄQÒ‡0ØØƒ‚rîx¡Å>ùØÂOa„øE,˜ 0èp„. A o°…Ô€bØ0…-ô’ƒ\ÃÏÀ;pQŒÎ! oˆPÜ±AlÀA^€Á#FA‡Nàà\la6ð!30E)Èy¸þ”@ÄKÞÀ9äá…}ìÃ¦ø†â…RÜC¡XÃ*úñƒ`tíò`¢PŒdÁN`.láŽ}/ !¬5D¡sÝÈÃc
~@Hoh €ðB{?xƒ@‡8œc ³èÄ4ºp
"hàt  sebàÂ5z5  *àQÞ@t(†;‚0*‹DAF"¦Ñ‰Z˜B¸à> Œo¨ÃN0!¬gÁ˜9ðÂ{¤!è˜€ê‘{¸£ È†;z 
'üâ¥°áâ€!¤òH ‡®w¼ûþ0…8°A‹iŒc¹è‚,p@ÄÃLÉƒ8A‰L#ÇPø!º™BpA7ZÐ‡0ØâÄ9€
Â U|â]˜F)úQˆxC!8è‚<ŠÁ0Œáß˜405ál(Æî0C5ÐAL88ØP/¨â¥ˆÇ1äÁ`ØãÅ
âá A	H0ÃsTÐ0„áìø 8Â…4ˆÃcHEúÑˆt0Qh?ºá%¼€#ÆŠƒ{Ô‚¸Å8V‘~¼¡H˜+-"â8 £^°À8nAm@ (xà´‘
5Ü#äˆ‡*T‹7ÌãþÆ|‚x5C@*p`¸¶ØÇ8JÑ`ÓèÃ†!‰´€¸@mß€OÐÂº«H~ñw¨á ôàB*úaƒ\haq‡D@(7Ä!À°Æ8 à£88A1ÔXz¸"·èÆ¡p‡æFDlÀÁL¡ØÀ·ß¸Å0\`
( án0Å)NàÓÂ¸E$À@¿Óx|H"£PÂ)ù‘‚.ÄãPE*øQ
ôBÃ B'ìa7xÂ@È…L#)èÒàÏ{„¶Z/*&àÂ×HGœÐÝ>Ü"òxHüa…btCqˆChá4ÀóðA0ÆAïýƒÀ œpà†T¤9ð‚ñ¾q„ð'		Æ‹ƒCúÒ˜Î´¦7½€  ;  070701000383b9000081a40000000000000002000000013d1fe2e30000b44a000000200000000000000000000000000000001d00000003reloc/shell/images/shell.jpg  ÿØÿà JFIF  K K  ÿí6Photoshop 3.0 8BIMí      K     K    8BIMó             8BIM
       8BIM'     
        8BIMõ     H /ff  lff       /ff  ¡™š       2    Z         5    -        8BIMø     p  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿè  8BIM          @  @    8BIM	    Å      €   €  €  À   ©  ÿØÿà JFIF  H H  ÿþ 'File written by Adobe Photoshop¨ 4.0 ÿî Adobe d€   ÿÛ „ 			
ÿÀ  € €" ÿÝ  ÿÄ?          	
         	
 3 !1AQa"q2‘¡±B#$RÁb34r‚ÑC%’Sðáñcs5¢²ƒ&D“TdEÂ£t6ÒUâeò³„ÃÓuãóF'”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö7GWgw‡—§·Ç×ç÷ 5 !1AQaq"2‘¡±B#ÁRÑð3$bár‚’CScs4ñ%¢²ƒ&5ÂÒD“T£dEU6teâò³„ÃÓuãóF”¤…´•ÄÔäô¥µÅÕåõVfv†–¦¶ÆÖæö'7GWgw‡—§·ÇÿÚ   ? õ781¥îá “ðžãê‰ Œí£ôvÿ é5»™ýÿ ø·ÿ Ô•àm?£ižÉ“‘RÙ`ãêÿ ½úÝŸúM?þ8T?òÅ¿æ[ÿ ¤×Œ»'¦æ.~)¬hÒêÿ Îo÷¦û’ìŽ"û7þ8T?òÅ¿æ[ÿ ¤Ò_þ¨:‹?Ì³ÿ I¯ûN6Øõ«ÿ <z_iÇújÿ Ïo÷¢'.Êâ/´¯ßT	ÚLÿ 2Ïý&—üþú¡ÿ –Uÿ ›gþ“^.2qÿ ÓWþ{½/´c’O­_ùíÿ É'YìŽ)>Ñÿ ?~¨å•æ¿ÿ  Ÿþ~}Pÿ Ë:¾çÿ äŠzô¦¬ÿ m¿ù$þµüýç·ÿ $‘‘Å'Ú×Ïªž§Pù;ÿ  úùõ<ÿ Þ¥ô¿ò+Äßu‹kÿ =¿ù$1efÚÈðÞßïCˆöG»>áÿ ?>§ÿ å¥ô¿ò)Ç×¿ªŽ«GÞò+Ã…”ÿ ¦¬ü^ßïRõhákÿ 9¿Þ‘‘ìºËîMúëõQÜuL›£ò­ÕzwT¥×ôì†eU[Ío}f@xs™ým¯jðjÀÛ:x>+Ô?ÅH«™y×~J‚Q•šP$¿ÿÐôÜó9'Â§ÿ Ô•à5¼úuëØ/}êgoNÊ>Øè¹xdúUŸä…NŒy7¯‹¶´ýMéä€uÈäÿ j2Ié×ûû‚æÿ ÅÎŸS:wŸ®~ü‹×Lž6±Øy1ôªýÆÿ š?¹1¢Ÿôlÿ 4ršù,©Íd:Ë_«*`—ûßºÆ-è¥sGú6šßîQ8Øýê¯üÆÿ r©PÌÈmT6»1ëõªýÂqnÖÕ»wó¾–@¹˜¬ÈfM†Ç:­NÝ°÷1®ýÝ¿EèÒ-´q1O4Uþcò*'þãÕÿ m³ÿ "ƒŠË²*6Ù‘`~÷·ôpÖ€Ç:±¶²×þçç9	G"ª¯}Õ›«¡î`±…­qÛN·–þ÷æ%JlœÎ5?öÛ?ò)¿gôÿ û‹Gý´ÏüŠq˜Éæº‡;A¾6“ü›[º¿úHè%¬zoM<áÐëLÿ È&ý“ÒœàƒŒë5ÿ ä¤íúCâ’Ÿ½ÃíWùZÿ ú¢½+üUÿ ânïü;ýñyŽCÚ.?ðÿ ªrôïñUÿ ‰«OŽmÿ •ª8îÅÿÑô¾©ÿ &eÿ ÄYÿ Påóýn>q©Ú%{÷W1ÒsO†=¿õ^Q†V;BŽ{†<bÿ ‚>¦ôÏêØ~û®]"ç?Åïþ#z_o?}–­Ì¬ÊqYºÃ«´cÒqãO¿é»Ø¤£dY¹î¡¯n=~µµ7}£³âøúOÛô)o½è8›«ê//³Öû]M¹¶Úv9•ó¶­¯¥ìj'KÜÜwã\ ¾—|ws½þ¬Ÿ¥ê5Ê™±˜[=Cµ¸7†Ïý×Èý?í»éÿ ÖQW‹nöÚA§èäã¾³æXZöÿ Ð²Ô-Ûº%:Ú'â×Öÿ R—UËe`dMíl»˜°:‡ÿ ®¬÷æ¹½.°çoÄÉu2 ÐO§ÿ Gj|qÎUQ>ƒóc"R €t½vâÙØéÿ Ñ¾6[ÿ Ÿ,T~–ÿ rrÜ~-¹ÿ ùî¥£ét¼›Þ\=íˆ:ÿ £ûßI+yé8÷Òü‡~n®öhÓÿ bGÅ“½*9±Ê€˜$‹«õUðlëeØÚ±,sÆæÍ"A }þR©vN§Æœ—÷ËO½€Fæ¹®þsÞí´ÿ „GÍ-¶Ú1cÃžÞû+ý+¿é6¶m6õfiÿ b¯ø¦Ëjÿ ?ßwýu1—«f»mm²·ncµ)·éBœ†¥ulkx »†›Ç¹Íoü/¢æ:Ïüí^¤§Á­Öûd„ýQ^£þ*ÇýŒ<øædÕåÎÖë®ÿ ÊW©ÿ ŠïüKŸü7‘ÿ VTqÝŠÿÒôž³ÿ $gá{ê¾¬C+ó{ÿ [1Ñ³ÏýÖ»ÿ =½|ý\‘_}Ž{†<›‡Ú?Åøÿ °Î’?àý]ŠýWã_Ô2i±»ÛsLs‡µÍþµ,ýïvÿ wø_ÒÜu›õÏCê/Nº7ñœý¾0ëmn­•Õ‘`Ùaß‰šßkYcÏ«èYÍÔçÿ 2ÿ úçü\Œ„¥·%Ý:ÏRÒ^ìpÚ­q?OÇn6[ÏýÖ³ôYÿ Œ±«QfNmO¨N.}Æ}ÃX6ØÎþNÌ†3þÝP}îêáíô£?Î¯+éêãØ2)þ‘¿¤oü7¥ÿ ´0©mÝ áVýÎ¥¡µÚytn&OöÛéYÿ ê)@¼B4ŒeòËþõ„ÞBb	ÇXŸTåê‡÷Fh†Ûþ¯UêRÊê´òCÀõ"{ÔnÔGWS°z–Ö‚×ØløïeWÒGéö6ì{™ÒïQ­<í¸zå¿Ø¹÷Õÿ [U1I=?-‡‘ŽÉø°[Œïý¶M2'szþl‘ŒbJÓú¾Øc*ýÌ›oqocîµÈx½:Ú"è×Šqëð9îÿ ¢kSaßÑ`††Û¶ßÑðœßO#%æeÖ¼Ÿä°ú#þ…)EÑ#¦‰1Œ«ˆ	UEê:¸½Eù5æåØâ\ëÜÌRß¤ÆØ=|ËýJšÏí­œ‹N=¦ Óð+¢± ÜtõªÚ7Ùÿ ƒÓ«õ^ì‹«d {Yi7ÿ Ûmv>?ýjÅšæÛ•Õíw¨}7ƒv§¾Ëìk¿2Î¡m_g©ÿ è*ºäëè"@òãáÿ ºX/»”£9V¾¯o‹‹ô¿w‹†êÛÔcãZÍ÷Ý?;cŸþÍ}|çÿ l¿Ðþ_éÐ«}:ÇÛ…E¯$¹Ì]¡ãó¿”©zÃ<´bÌ: ×d€,·aöØö7ú-?ÍSý/#þÓT­t²Ãa©ÅôúôœIq#óÝ¼ý-öïzc(|BÉÙ¾ïÊW«‹U‡žVOþ|p^Tò=['»ÝæW«‹üJ³ÿ äÿ ç×¨ã¹YÿÓô~ºc¢uÿ unÿ Ïo_?Ôñ±‡¼ïßX?ä¥ÿ …/ÿ Ïo_?Ö!µŸ £ÈÇ“£ìßT›güÂéí¨aÄö†òdºvÿ )Y±Õãá½ìŒÎ–öQ¬€ZÈú[=­©ÿ æSÿ …¬ý%Ëê7þ$:GþgñW¯éÅ¤Ù†}7A¯¯ú78=¬ÿ Š±–cÿ Áþz‘”‡žé­·ÔåR~ÔHôðî»#¢_’ŸRÇÙú¿úOGÐÿ ¶¨ºš²©ÈÇpvhšÞ8‡ûëYngþ¿ýÌþ….£Ò;]jÁd°îsrp=Ïôrªsw×S,ôìÿ ´¶¢cþ’·á›c2¿Mpö´Údz­à¾×î«*¯ûO›êÜºS¤nDøþp1Ãþwé:tERÊµ®-ør?íÇg*µ¶õ
¿àm?¯ÿ »JVä‹iÁê|:»9 “éY»÷v»Ôÿ ·“eKª^Þ×bÛøwþzbú2¦àÎ‹„óôf·ŸƒrþzEÈwÙ:5U<KœÆVæŽLRñý¶6ÕLý'¥ã¦iø9¥ßô/r»—=_ó1Úr,ûÿ Gÿ Iµ¤T¶]ŽÃÁ¯IÈ¾C¶}"çÙ¯ùo¶ÏJŸøKkY½FŠŸ…n%—7‹z®S~´?Ñ³Òoü~“?µNÌ³~M™­~Á­xÏ »c}7å†„±Ï¥‰Wø|›vU..µ‚¶Nºƒ†=F,Øó3nÇî¯7©oþrû¿SÅ·þådïJ2 ‚:[0$N Ž¢c™]Øõ4Ôül=…Øø ÞúÛþæŸe4~©èÿ ã~šÙé•ð˜\ßMöZæI;Kåûw;Üí¿¼³úgF~ÊÎK\ÊÁXÇ8¹öØ=ÁùO?¤¿kýß¦ÿ ­ãc­·pïü‰½Bè½>÷cÏ‹ÝùJõŸñeÿ ‰Jÿ ðÆOþ~±yî'÷ùW®ÿ ‹/üISÿ “ÿ Ÿ¬QCr¶/ÿÔôn¿ÿ !uü+þ{zðF6Eg÷¯¬:R<~©þ{zðZumÊ'F<µ}Gö#Ò?ð­kr'Ô‘ÿ b=#ÿ 
WùÚ‘•¥ÕÙQÆkß´9¶1­{¢ç5Ž'üš}ë/3	øîqtúO;½A$ðãúÿ ö£óìþsúEuÜý~¨Ðì'0ë½õ´	‰%íÓø?øÏÌU,ÀÌ£pÆ!ì35Z=®ÿ ¶¿Gý¿J«¿áÑAjTß´·'Ú¢Ç¨†å±»·¾ßÖªk2Yÿ z•÷—tÌÈƒ‘M¬xðs©{ÜÏûr¤Fæk®Ê\Ès¨¹õ–ÕÝS›íÉÇ¦ÏÏgø/ÐÝüâ) ÖÍ¢Ì¦ÞÁÌ3'Ô®Úÿ ±–ûØ’Ô˜-õ/é5séczÇæÖ±¿ô•[òËªÉ¹Ž‹:•®ª§[IôŸk¯ô+þ_¦‰sªfEívÇ³‡ß_¯cÏòicÙ}Ÿðl@ÇÇ¥ÎeùÆQ´W…ˆÆ¹×º–µ»Óg½Ó²×„³þ-"¦xØwe¸2±éÓXhcXÏê³Ùÿ n…¿"Å«Óq)¢Ü‚ÆêÇ6°\=ÐÖ5ßØk·ýÍ·¨½­f6-xu·Aë=¾ É¢ŸR¶nÄ^–×œ_ZÇYãcÉê0{ZÆûkk?1Á´™ÃÚïêŸÈT¡3þƒ¿ª"KŸ -ÝØîv¿2½süYˆú§Oü~Oþµyp:;9ß”¯\ÿ ø‘Çÿ ŽÉÿ Ïö¦«ÿÕô?¬†>¯u2?î%ÿ ùíëÁé˜aW¼}dÿ ÄïSÿ Â—ÿ ç·¯
¯pž ]ÂÉîûWÔ±Tº?þ§þ¥m.êÿ ×ÿ «½3¡ôþŸ’ûø¸õÕnÊË›¹­v×Ï¹hãŸõW÷úÑþõ'{…Üqîõã×‘QªÐK èd{š…û?ÁóÝÞ£äù“½sŸøçýTÿ Iý´ä¿ñÎú¤Ã]ÿ l¹!Ý\qî‹ögO$ŽÇ¬¸n3ã.U¯è¢ÜK}8Ï¦æîkL²ÏÑê×3ßS³è,qþ3~©/·þÚrqþ2þ©ÿ §·þÙ÷#jã‡pê7¡Ãr­ßP%ÆšÁk\NÖþ¹Ïs¿G]umÿ Gÿ bµû/9Ï`}o|ns,x&4oç~k}«ÿ Ÿª÷"Áÿ Z÷)ãõOþå<|j÷$OŠ¸¡Ü;‡§‚ÂÁ‘x;ÞÎ‡é4ÿ ÑD}Øø¬c,x­±'Á¡sÿ øãýQæ8ÖŸÿ ‘QwøÇúšáîÌ$yÒóÿ |CˆwWx=³ñ[S..;,ú$5Äÿ i­Ïí)‹e.{& ò<xÍ7ücýI`!™›A$)'¿ÐRÿ ÇêsšZÜèÜ~ŠÁÈþ¢6®8þð|——:?xÄ¯\ÿ ø‘Çÿ ŽÉÿ Ï÷/"õçA™qÔqÎ‹×¿ÅŸþ$1§Ÿ['ÿ ?Üš7YÿÖô/¬óÿ 7:¦Ù'ì—@Oónà	^æXÀ7WkDDš¬ñbú$Ù@K{Aˆ/Î…â8|Xÿ üŠ‰±ŸÊ?ÙwþE}’g³åo ~q60ˆ“þk¿ò)½Fi3ók´ÿ ¢¾Iˆ¥GîüãöŠš œüŠÊ£ó¬ËUôŠIôhw~oûf>Ÿ¥zq™Î7ÏUôzHÚ½±ÝùÁÙt-oÆB²)ÿ Jß‘_I¤—
½¡Ýù£×¯X°O#òÊ#/¯½­ðáýëé"Öž@*>•_¸ß¸#Â¯lw~tõ¨ EÌ3Ï¹¿ù%ìŸâÈƒõ;ƒ Û’Aÿ ‡¹tþ?¸ß¸)5­h†€ ì4H
]ð¿ÿÙ 8BIM        ÿþ 'File written by Adobe Photoshop¨ 4.0 ÿî !Adobe d                 ÿÛ „ 






""ÿÂ ôô ÿÄ                            !10A2"@P#%5B$6p34&€'7 
  !1AQ"aq2B‘Rbr‚’#3 ¡±Ñ¢²ÂÒCScsƒ“0ðÁ£³Ó$45áÃDTdtPñâò”Ô@ã„´ä%Ä6p€        0@!P1"2BRbðr`p€‚#3C’Âs£¢²Sƒâò³ãÿÚ    ìÀ                                                               9¯‘ À˜` 1 ¾ÕãìBé€ÆH dÀ`           V3ŽŽ0HÐ‘•Ò‰+±,a€íˆá’PsJQ$®£ è”%W’•#‘, DÖVÄ‰=XÌ°±“‰'¢û/ª½O¯£uÐ  *9Ç	ÏB¨ÔGéÛ¢ŽÙ„¾” YJ”I	P†% +¡‰ %H¥–‘
 h‘¬¨™‘è²X²®¾­×p  ¨c*póA`ˆ-PÒVÄAL‚¡ÊÑ]®˜C·ÎÖ 
ÂÂ`yJTaµ×š‰!ØI3ÑZ+$éõV»  C8á9á$ÒR0µDiË+#*V ¤ÐH%c„
‘±*"2!¬
§*ÑSUc†€HÒvÈ”‘³Òôúžö  
v1Â§ykyÍl ¤
 ±Œ¡’!	XuŒ;‘‰EJóPDìRÇVD‘ F$ŒÌe‚Œú^ŸS^  LÆ8Vx¡½ß_ :uÇ@à  (…@¡P @""B B„!,Æ›9ãÙáŒ0I]}I®À JÆ8^8ÄŠº±k§~ëÖc€ Ä À@ ‚     
 PÅZNÏ†=5Lú]ýG®  GÇ>žqˆÓ’Ç¾½ÿ ¯Y 0   @ P( @
p(‡3†c†0Äž÷_Qk°  Qùóás’•#,[ëô^²À `  ( * ¢
@ ˆ ”'çÇÆ&}®þ¤×`  £sçÃ³Î‰bß_ :õ˜À
`   „c.¯Èö­Ž¦·7Å&l´ÊI€(‚ˆ (‚ˆšNž8¨ì$÷Öþ£½€ ‰ÏŸœÐ¡%“§^ÿ ¾³¦0  x¯‰å\<*ÓÒIj\‰wV|«CbÉeÑëc   (+Øœ3q‚åLäë§Ôšì  |ø„ç(‚+lÛßéÚC  @c®‹)&¾¶nõ­­Èl_jÛmŸ2«[7 Æ3õu™›YI³¬ÚÇH RŠî'Çp¹Œ™wQï°  P9râSH‹?^½÷}d0 @bË[‹&¦Ek³½6s¿Ý®bZúUyß{vÝ&|Ê­LÞ»8ßoUžy°tÖc:¼°%Ýé’ŒˆˆB+yœCŸJ$LækQk°  PqËˆã…NKOnÝë}$8)€Àywa»`Ôœ˜mW1,-sšÕ¸U[öMÇKšÌMuè›Zß<Ùzk!”`ÍÖq‹vÞÃ ¢ [Äá˜ãáIÎeßÔì  sâæ$ [on½ç}$1€AAG‹…n~šœKfÞÉŽµ^kGEoÓÒJJ¯={Y¹érÙEo7g¤šÑsÍ›£Õ"ºÉ­>1ínÚ²ìõ „V±8n8ø#¡œ½kêÜ  9þ9ñsD`-Ýº÷ôÀ`o‘æXuj¼å«­É™òZŸ;fë+|Öž‰¥Wž¦›Î—.eU_{¶¸rXt’y-o›q»*ªrÎËWyYv¥ ŠÎ'Ç°Lë¯§õØ  9ï>|Bspà«o^½ß}& <.ÇS2ÚŸ5›¢½Í¿ës¦bµ¼\ýgSYºÏTªòÔ¬Þt¹lÄ«âØv¯áµÕÙ2ëªç<Øú]kes ÃoY–0"³Îpüqð©gcuôÞ»  :Ç>+œþÝ{¶úHpRU›‰m‚ä]DÖq²Ö°Çb5szÌáMgêm4¥q²ÔÞï[cjµŒÙúZÖ=Ü¦Q…5¥ÎwÛµžrËÓY3(¬æÙ5= B+ÏÇ/$©–µôÍì  çŸ>/0¤ˆ½»®·*
W1qªÓ·¬˜­UùËGEoVÒ4™µÎs»¨ÊÝÕEòéêX7wq¥Îª¸çvëº—<\:k6È®ƒ,êÃ‰Û¸²iâµœ]ý™– "¯Œðìòò³ÑbÎÊëé›Ø  9Ç>\^e.]»w]nC‚ hqcX²o÷¬æbµüÜ›.æÝÖæ¯†êŸ/ÑjïÎ³ðý÷OÓ|Úwä>·¯·–g—OÙ|úïåýºoF­oÅLbéèlnqí®âX·k|å¦²&Q€ÝWž,»›«bpüñòIƒ;=oé{Ø  9¿>\[8ˆP\úöîºÜ†D¯ó¾ûks7ÚÖ2Ñ´Ó\ÕG–rí‡­³¶q¾wjoæ¾¿õ*©áôÝþ÷†ŸóûyuÎôÞ{¹Vþ«]Ï®û|«_è\¿[ò2ýÜôº|âÉ½`iãmgÞîVðÚi¼²@U±žž^`‚mu¿¥ïP  æ¼ùqy…‘síÛºÝºf,º‰,W±¬­gY›¾ÝÌMt´Ÿ-µx{Ö1õ.Ÿ­ùÞÞtüËv§×ÖWùë
fÇÓYláË]ÌõÎñ>wkgÐâ¹Ú‡ÄölAàÕ¥·­ÌHš¶°qœÍk[&Ê™µ°*¼çœ|© ›{¿¥¯P  æœùq‰†BF·^½»¦öÀÃ—C•£rVç,=-kœ°ïYXT?õ³~Ç?·Írú\slÔMbLøåhé49Ö¿9²tÖ[8‘­zØurSÍºwå>­Ÿî|ú×£ï<ÛŸkÖ=«Ö¾‰ÌË6Vç8‹„${­}#{  6çËŒ2¦a+/{wíˆ¬âês›7Mmì×Íj³FfÓÃè±ûyéþgmÔóm5lû’5Íé¹ä«?I¤ÆµyÍ›®²¦u15ÓEŸi¦<µ.SÛäû½~/[7ìþo–šy}™×æî÷sntYÖ,ÍŸ@ªâq)ËÅ9æº}!z€ 4çË3	"8»õíÜ·¹òèäœš¨¶tÖJR97é[üWÚº~Ëãeúù×0ØÔ¬ÛVUþrUhé4ØÖŸ9´uÖTÎƒ3c­h³-;ºüçO•“\ÿ F4œ7_éÊÇÒù.÷SW›¯"Ñ¨Ê®'œ¼¡&÷Zú>ö  aÏ—™‚(]ºvî{Û1%¦sÍ·¥ÔfcE¯¦°ùj«ù¦}¯§éqÙÖºéŸ(³mŒÕgœ•Z·5ÖµvÖTÍskÓzlfÍ²+˜™K:ÚV/—¥'òŸSuû‘†–þ—4ØE|,²jå%Wœâ3•o5¿¤€ —råÇfbˆ’Ýúõî{ØV1rìÑã6Žš®óÎ·\õ¬ü¾ùßkÉ³tBZÖ–~+j¼®Unwœ\ê¹ŒÛ»k*f·™—t“s¤Jß9ÍºÍFmwãú’Ú¾Ï“ÞÊß3­æî²6µ–•Ns‰N>)+	7ºßÑ×°  rÞ|¸þb‘$–ïß¯qÖÑWÆ·»ag5Îy±õÕÃ«?ÃúVoÕ|Êæg¡dÛÔ­s±KG¢×1¤™úÇ¤ÝS¹öÖLÍoÎÛÙ4ºfUbÕµ|OZÎù½‡ÜòV±Œ‹l/µ¾y¶îûÙSå8Œãâ6Y½Ö¾½€ •såÈæab‰Ëzï×·]…C›×Möµ…œÒybÁó¾…aÏ¦ý7œºyŸBÇ«ƒ.§3ÖÍî®ªoOœç\çëTþRíÛY35¬¼‹FÓ4˜‘`ÝÈ5ë¥Æ|×Ë¥åz6cÃsí¼	t<óä\ú\„©ã<G<¼ÄÈX5~½À •såÈ¦UÊ•É~ïßµ·æT³=ä‚ïºn¯Ï:Îý}ÿ è¾G‹7nš¬áÏ´Š¿4ì²îà7 ç2nvû´®+Ç{’ÍcŽ€¬ó-,J¯4RË½S¸±ÿ 9õ.©ùz¸Ós›]!m“SÐ©sÏœ¼la%ƒWèÛÜ  9O>\ƒ0¹¿nÕwåéwvh312ÚÎš/—èóúÞ,¶·›ZÇ9Ÿ¦ÿ Vµ‡‰iÛªß6EÎóv‰Æ_;kÝšÎ,îl»°)ü¦ãMÖî«-&çvIXæ·ã­^ãÊËV¯)­‚¡Ï<Rrñ°‘ÉbÖ¾‹×p  äÜùòà±ÒÍèûv›¤Vq},ÝêèñšÏíkéÒ>Ï6!®Îo}n§2Ù»‡•OXîê¼™6Z%û½†s¢ÍÏÖwzºlÍ%Ó® µ>Yô­þíKžm}zR¾?¦ŽVowç9ë«nÝÏ@§ã<Fr„ŠœÍŽïèÍv  GË%H¢I/Eíß´]HÃŠÖY6g]j¾o¦·ßÍqö]W<ËL|fñ×Tîsy¶âÚ—6]›Îšªr³¹²îóî÷{…œi3mõVç"–žšÑå ç›]UyfÉÛuNY‡žXÖ_«—¾®QgÜ¢›Ï<IËÅ%#Kéônº€ åÇ”¢"Ìã£wôvk©AXòè2…˜Þ.Ûg:Þ9ØúôÒcíµ°¢ÙÖÖù¼’Í»[Æõóþ—žñ—þúÔsÆ
Ûº‹Ç6N—c«Lå6š˜ñ³Þë±³Þ«\5ºÇOoO5·n{Ð(¦óÏœ¼Òh%’ôú/]@ rãÊYY,Þß¿fµ«®]ŸK¶6[µžX°ôÞŸô«~Ô¾+—gœµ<KÏ[ªš¨qÅÿ µçÜWÞúÒóÇ…ZõuÒT1›ï]è²ÐãýkÆÝ>&^˜™:\ºl=8°é—a
^3Ä³ËÎÉH%’ôú3]@ óåËŒ±ËÒ;wì×R  1Êþn"dÛ¢ÆwûÖ§afYŠZ¶çüW~Ïèœ3Ðý
ï¶´\ò%›¥¬âB,}-–wZc.H‚z/»[½6VNœ ¥¾yâs—•ŽDY®þŒ×P  ä<ùrÙ˜IkÒ;÷ì—R ‡Hj³kéêºìço½kq,{•..Ý[çrµ6zÝÏ.¾ŒÓ9jíÚÖùgc©½Õ£r–N¬,Ý.q›o‚ùÂD¶=ëm©é „S9ç‰N~R;–MoèÍu  EÏ—/™ó’	(èýûö+¹P0 ŒXÖ<afgnøfllfÊÚþ%§®©œV¹­rÕÓ½¥ðÅÏ±”^Y¾vÝ†v:+|¤œ»}ë-J Q™ÊqYËÌIlú×ÑZì  ‡Ÿ[2$bGEíß±ëlpP +Ø¹»˜yÖf{®ÃSKÎ^»(¼Fª|®ÇXÑãVþ¶‹ÃÑkœó^h¹ã/Z„dÛ¿Ý÷­fe‡f €T*¦qœRsóIBfÉ½}®  Èyqåì¤‰)z7ný‡ZP*8m4ÚÖ·7M–2(Ï¬ÍMO5ŸµÐó×­Æ¯:ßthyæïÖÑyfÉ×TÎ9Ë¯UÏ¶ÁÑê¾&¯9°j°¤1@)¼§Ï8QfÉ»ô6º€ !çÇ–²@Ò;vì7n€€€Ðbèg=ÖI«^ç|{#&ïl8õ»Â˜ÅšÎÒ6}Ú/,åêéñ3­Þjï:Fës,Z@@¡¾S‰ç•Å›wè]u  =Ë0f7$³ŽÛ¿aÖØAM Fƒ×¤ÕóyIÜnêñpÌ¶v›j0±tÝgž=.¦gë>Æ´®sÎË[³mµÒ)¤ÄÅ—Y%¿¦³€ˆ T’™ÆqIŸ8bbÓ»ô&º€ çÃ–² zKÒzöëÚÜ@ADºŒÜ{3–êó4üæ~¦]ÖŸ2ÉÖû¦ªü¦CZù.}³Wç0áÛpéps4X‘6Z¢â‰Ž Q Š_)Äç?9ÚwÓè]t  5Ë‡2ÖI$9z_~ýu¶8(‘YÅÝne<×Åu9cg9úºœLýAuñé.Zö©bF­h0ØiºÕ™%FÉÐà¢ P(¥rœK9óF‘œí}:}®€ Æ¹pæzÌdJ^›Û¿ZiŽ€¢ÅÕV\:$Z<ão¶NÒf¨ïMafejÌõ=lô0¤ÝêçŒ T@ Iå8¦q”žw½ôú]  ‹ráÍµ…(ê=½=fÙ(‚ÀT<ÏA¢`5²×ðòY"Ë»œˆ‰äAZDò—2Ïj  ¤8@*¤ñÏœáIlÖ¾ƒß@  â¼¸sk–Œyu/G§¬M0
`!Š€‚€)ò"³OA€  Q Å‘Ôc*Ü"HÍÕ"‘Ë<O<ÔƒRKFïÐ{è  [Ÿmrä•Ôûzz²°•€   
Â¢ 

 
 CÄªŸ,‡¡ºÝÔå‹&ãWiºŽ3Šgœd’«›Võôº  åÃœÜˆê}½=U¦ŽRˆNAUÅ@       <ÆcI“B€’TR9N)œFF±¼í[éô¶  [Ÿqs	$“—©÷ôõ5c     PP   @ä  €)Ž9âxÊ@ŒÍ»¦¾ß@  âÜüüâàA¶Þ›ÜhÖTáŒY%cYJå•9ºDÕ‘&Œz$­$ :CFš²#‰P²—C‡0¸R5LÛºkèô  /ÏÏÎn)
!j‰AÍFÓT®nPìvŠ•ˆÄÈÉ¨Ç"Æ"%V%J–6ˆÉŽY…‚Ê–îšú{  )ËÏÏ/8ŠEHPéHh¥ ‘ÚY	©JåJÚ–w$ž‰c4¡R‡R°DËB§$@qDD¨±R™d³‰Í&%k”¹áÓ@ï   q^~®q„$ÊXÐµ””K4•Ý6¦ª"@ªC‘™•Fæb€,j³bAg¢²"Håö„ž”,YipëÓèt  %ËÏAÖ<ä1‘¨Â)©(®PS^­FT‚¥%•‘QedYHìåJ¬k*¥T‚”…zCI’©KäÌªåÓ§ÖÀ ™&”¾Iåd@)(Y"t "+DP«Ìb‰R2#ÄH€€€‰ÎTFªœˆC-VõÍh                                                                                                                              ÿÚ   ÿ  Q
!D(…È(…¢¢TBˆQ
****8D(…"¢¢¢¢£ü…ÛC,0‚‚€PPPPÆ

A  ã¬   ´A¡qˆ\BâÅAAAA €ÀiÛe8œ!ŸL±ô÷D(g†Î2ïÛ„p¡Hæ*AC8Ã ÄbÎä=á 3Ã À F0ôŸ„pŠ





Š\W¸•Åq+‰\JàQjâW¸•Ä®%q+‰\Jâ¡’


…Å   ¡„£;×Ã{ÿ #üâœ Àz/Ø£Œ¼J?ÊŸ°ôß•›å‡ò‡ì6†#<Í°Žþ\ý†AžfVÉD åÉD®J?ÁÌÙ»`Ï3lŒõâ¢‰QMúž†$ q¯3åLFùŸ•ž´IPN	{`~gí‰L@£ T`õfl2®i™eú‘PŽ%0è™‰ÞfØ”Á¢?6[!éÌØm€ô¶I~£¢P1ÈÍÓ~l¼Í±vÃd7È¾”Í†Aû’ý"å¡£2©«©›bí†É™
hˆÙGÑ™òMûd—è’WœŽÅø›©›bì³F˜¼ 0hŠ„9æl6ôŸº/Ð1(`í0~™4nÏÅéûbì¶MÜž€ÂQÍ3a¶#;ÆH&gq‚L)Â!¦#¥í3`èà÷ó 'TbS·ÈÌ©Æ9fl6Çã™ø„T¼îM8ÁlS1q)›¼hÄTÇ´)“X^ÕSwQÖ1Åæ ' 28æ™°ÛŽgå—–(¹ ¦Gb	ƒÂtÖ0:ç,š—‰_Y5Ïiå)í„Úû4‹†«¬›-Ô÷)¤º¡­l©­˜†.Ô­Î% I,Ï”dæ~YyIŠ„L	L8Å0ë3iÕ²¥*yþàº2-’	÷É•j$Ê—Å³-òI™G(¶U¦4ª´—™4ë¤Î"$>ï-E18À0i‹ŒP:Ç$Í€ÓŽg¨cÌ…7dáC´86ke©õFt‰‡Z¸6d–½p4jŸ³¶À€˜æ5ÖÙQ“/ƒj_Å”÷WI{\×q&¡8À4"8ÌØl£è¿„S2ÓŽÇt 
šâS9î›misi¨eÊ#†ó'ììNÍÙØÔH÷ú9’2oÓÊ¤ªlà0êPÔàÜfmo™ã+C€1Àˆ¦”áU\ÙN–îm6Æ½òÇí1©;c‹¶› ›;Ü­ís¦7dã£Dµ#Lè&ã3a¶?ÏG pfF§bíù„1áÎ4’ÜÆ'è¨#ó;týŽ/Úo0Ln[JÀò`%T6`n¥Î‚h€DÁ4!ŒÍ½7àqf%Š"¦MpkdÖ:U#eÌ"tf'æ~Û`Í°zq€h€U|½ºYîdÆ¸qf¸ (¸•Æa3o†#<ÃÂ)˜îHŠŒbˆ‚VNlÃ&ÝÂp1ÄhvvOÙ;lOÌíš 0ÝÇSƒ—Ñ5“)«½É (­×Ì¡ä0™°åŒÛºsb""¦a–Ëw6ÎÑ´8?E3l±Õ­ÙÛ|pÿ Sò7fbå9Í£·–Ì%,yDŒ&l2|s?|ùp"$;6*07î6ß.DECNV°Ä"uk6;ðŸ› À˜&ìÑS7Ú—n¨sÜÖÇàÕ¨ÂfÃ ÎýðŽÙTTaƒÚ¥OsªKDì¡v‡¡n‡){†,CW`u#W`u'R§ áHÇ²xNpãÆ(ï„Í”qß¹A²;5¨CD÷´6’ˆÊ˜ÓðšbŠ4è¡:9>fhŽÍß	{3lÑ¢8Àl ‚s šØ©d ÉÜÚ("ôÜfl27;·8¶„lhŒ›y&K›ÓI9läáL[ù›ó&nŽÛ5»'$Ä´D“,.ƒ”ºÕ$¸åÅfl2|s;r¾83l Å\˜}ºqÅÑOj¨4Ã&˜„‰ê?©3tý¶Ô·Rœ` ¶_1N|UD¦™t“yKEÐC$Í²7;¾lb™¶0[-
­˜ùl b1NGõ˜§Ó¡néûGTÍÓö;àJh€DÄ´' ‰ä€{iíJÔ 2ÌÛ'Ç3¾hänÙHSØ\Æ"
 ‚WÊŽ‹u S„@:¢Á›§n5rqÒ8À œä<”CPi*aý4Œã+u³6PÇã™Û £ƒ6ÌQ[¨ÅZ´ h‚zaÁÊ(­‚fèüÌÁÛ·R‰‰¤4#(À@º„T3ÌÛ#sŸ›#6ôÂ0DqFPWÊSÓB~:¯‹6D¦ˆ˜Gê$—"T`€@z3vÈÜîÜãÍ½hŽ‹e²"*)á0èá,àýÚtfè ‚& `ãB:¢p_FnÙœüÄ"0‚fÞ‹”!€ÑWÊPÑÉé‡Fn†LO:74zSvQÅ¹ÝóbS6ôNˆ8E¡áÃ0-ÔÍ¥ìÍÝ³F©æ$h78 ›éMÛ#s“ú±)ž“‘! BæˆÄò¹ãFlý¥¦'ìÅÍKÎäŠh‡¥7lÎï›`ÏIúƒª,D‚[!ÓÍ	R“ÄÍž`é €†…ÅJnÙœüÃvô\PZ¨¢ÐQiMz-@¨À¿B™»7™¼ÕÎ1M@"ð2WWí„=9Û`0ns¾Á»z'|¥±B!PÃ ù™¾îs >PÖ¢@P%²Ž#_NvÈâ3Ÿ››òú.
*À·\WhQ‚8üÍ
XQ‰¨(kª‰\—%È';AéÍÛ Î~h¢¢Šæ§HŒ `¡’



¤ÝŠŽ-Î~lJnßÃÃÕä0D.KÆvÙœüÙßÉ51M!Dã£†3¶ÈÜçæQQÁ»zðþë€Žr·98Á7lÐôáü="§#„0fÙÍ“‘›—7.nAî\Ü¹¹s+™^ã—¸äf9{…{®^á^é^é^ë—¼W¼WºWºW¼W¼W¼W¼W¼WºW¸Wº½Õî¯u{«Þ^ê÷B÷—ºº¼½åî…ïî…ï÷‡a4LÛ1ù‘Â(úÐG  †0ô †'43Ãm›ýDeøaQÍHP@a@@(æG,pnõC)ÉF%°ÃTs…ÑÎTp‡ Üÿ ê*8F8‚
***8œ ˆ§<
ŒÆ#˜œ[ž
ÁAAC40€P@(  €P
@(Ä((.!qˆ\Bâ¸…Ä.!qˆ\Bââ¸®qˆ\W¸Åþ ÿÚ   ÿ  \‚ä ¹È(…¢TBŠŠŠŠˆQQQþZý½2¡˜€¨åŽ0ÄáaéÅEE cžfØE@!œzQÊ1Ž0QC SsÌÛ$}”b}§¢q¡MÏ3d}zC†P‚†!CD1Š‚†##s¿(&²+Û^Úö×í®Û\Áp\ÅAq\T
‚‚‚‚†PPPPPPP\WÅq\JâWÄ®%q+‰\
àQÓšsÌÛ#7þS¢SŽŠ3¿+7þZvÄ¡žfVoü´ìqŠny™[¿òÓ¶Á¹æenÿ ÁAh¢ŠE´Pþí‘£<Ì­ß×‚‚Šà°ø`?Á²7<Ì¬ßÕŒJ†r;|0	«Tb TT=S²(àÍ³LÊÏPÅåðÈÝ‚;œcê;lÏ30g¨SvÀ/ˆ_—Àâv78…}'m‘¹æeg¥²Š	¨àAÎ_‹¶A5QPô]±EžfVz'DPA|N;däp+àqvÅ|¶;m@ElŽwm‘¹æbpg¡`†Øâvìp;|.ÁÛbÝ9EÛŒÏ3+3„˜ŒØÐ@'lF˜AÓ‘Ä& †¤ú.ÛŠfwïˆLÏðfÇ Žáñø¦¡¿WWú‘?¨âã¢:  0	ÈåvØ”Ìó7Ä&æÐ`tG ŽÀ¢†i(R:`å:K¶u9Tß÷'/Œ¹m*u3I%ŽiÅØnN!s;c87|Ó7†!3)Ñ5MÄ®Ù’ÜäöÁH:´Ž%À:eXp'VÔ=‰³ÞÒf’Lž§T5âCbgAL(¦êSF˜â€G+¶PGg~øÁ7 Äˆ€QG ›)Ï-gÎÕMMtµA×ÁZW" ¨qN1,?KÌ§#—d2»lŒÏ3tqf@† £¦L¼‚ªÀkæT9Ê8„w_q	Û`ÇAKšÒÆ·›¦È2Üp ·D †Ø;lß4ÍÑÅ™	‚ÝoˆNRå— Dâ&''ÅØ|À Žø>jW´:{âŠF `pÙ7l±Gç™º†-Ä/‰QÅá0žkÈ&)Ø;»d08‚øâÕ¹.0	Í!nPÓÄí‘¹æoˆ)¸…¹l£ÝSä·Ú™=ÜÀ/Š	Èì†‚»hÁ ¥ïì‡07ˆn¨ã²8;c‘»æ™€EÜJ†l-!:yàÒ†'s€NàA
ø°;œ‚¤¾\êx0á¾%±ÈÝó? MÊBŠÝId]U, Š8”pì6 ŽmˆC þ&}G,7Éœ¶Fs?un.;(*Yœ\ÏÕ€C†-À Žwbv:ˆA1¼Tžê:œ¶Fï™ûàpn.ÕEºsb¦K’DP8r|P_ˆA;àwøàu'UZj&5ÌDÃ¾Û#wÌýÑQA7 Žð[ `šb§O.–Í‚0(àÜîGäa°Ø@E \¡Â(mƒ¶ÈÝó;tp	¹Â
—¹PÐ×¹©¥É¸"Žáp‘G©ß "‚¤pçPÓîaqvÙùŸó(éƒqŒTÅ¡óaîæ b¶Ä`0	ÛEvÀ­Ê&l7 "T˜‡Oicà‰†Wís?|BnH­Ô‰eî"(Ä bˆ‚"(#îØìEqŠ¸ELT ˜è>{Ãž€Êý²óLß#sE0ÀÁDD1P‚9N? †åwEC` ‰‚h‚&+e¦f»“à£•Ûdæ~çƒ}¢ˆ‚­–ÙB †çŠ+â(&„LTa†èîÛ ß3÷Gú1P[#¢ÜfîÜ¯ˆÂ(# tLVØCÒvØùŸ¾!7Ò†€¨-‘GˆEÀb*àÓ;|qæ™¼QÀ&ú[è0#”#€E|A2ˆÛÑ;`B(o™ûäo¤vß¢PÈÙq% £ ¡ŒPÛÑ9wÌýñ	ž˜1PÂ8”qø œ¾8ŽÙ CoDìFÝó?tp	¾@éÅj00À' Š ¶Æ*%AIÛbSwÌÿ ›™éÜ` £”"‚8JEEEAAq
úGlÎÿ ››én1ŠŠ‚„èàG €QP*


Líƒ°nwüØ„ÏR


è 0rº‚‚ÕEGt>™GŠfwüØ„ßáPDNH¨¨¨¨ú‡lJnùŸ¾Fíü,T€ŽÊvÀ"›¾güÙ·òXà0øbQ
Ìó7G †ßËN%7Ìýð(!·òÓ¦ï™ÿ 1Äfîîî•îî•î•î”&•î•îîîÌ®k’ä¹.J+’ä¢¢¹.K’æ¹®kš÷¸½Äf/q{‹š\×5Ís\—%£‰Mß4ÍÑÌC`2‚€G rü¡ ¨¨áÀœ„¡¾gïüÀ(áÍq†f1GƒwÌýã„3ÃÐ¬2CÐ8GŒQÄàS3¿x#‰Ï"‚‚!˜zà¡é!‹sÁC(((((c      ¡„0†P\B‚â  ¸…Ä.!…Ä.!qˆ\W ¸®+Šâ¸ !ÿ ÀÿÚ   ÿ  5•Ô”2võÕû»­£ÛºØMí½qÇ÷o[åûŸ¯/Üýu~æëË÷'_‡îN¾¿ruõû“¯Ç÷__¹:òýÇ××î>¾¿qõõû‹¯¡Ø,.?vµ#Ø,-#°X\~ëk_u¶/»Z×ÝíKî–Å÷Kbû•¹}ÆÞ¾º‰}meU3ÏÕSGê©Ÿ ˜…üOãî¸W5æç\Üî!•z7;ŒMÖºëp+îµè].¥À#u¯ƒ®µè]. ›­Ä·î•Ðûµz{p»WÁ·jônõðûÍr7šå÷ŠøÅpBó\æ½}ê¼¡z®_z­'ïU¡¿z­ƒ¯Uœ…ê®z«FùVÞªI7º•÷ºò¥íJ=¢æ{5Á?²×’îÉXâ{`C³UóýË\ûš³‹{McGîªä;ExCµÜBgo¹Ëpî÷¨~÷¼†¿ºöÕ¼çÏõZ wÃ$DBt!¸sµøêa‡2TP  G"	 @¨#Æ$’Œ
§8Cš1Ø"I‰ (ˆ4ÀÅÜ8j æáZG‹Iw"× íAŠkBŒ )Ú>é›É1ûÀîgb5q¹E•5sCWêGDx”ÞQ#Š“¹ ­ÝÐÖWÆ$¢LN«R]bC„@‰ ‚iS°*Cˆ‡¶cCYÉaÉ£AÈ!¡äò¢×&’<@Ñ8ëAþo7’,Ï‰{¶#SÄˆ' ·A˜‰„DCQÑÆb sN  ‰#X˜æ j&*6 ˆ44„5pñ€|
:"¸ÿ ƒYAÅÁ -åÁœH!®­rk Š·ïÙ¼—þÎý`˜FJ³ë¾ÅÛ@u›µÇìý±}§´öÎÎÛ{:ûwd[»"ƒ±/ ì(Ñv¾Šþ	¤¾ÄÒÞàd^¡ì]Âöî pºÀ¶æ¿¸€][ÈÎ«^õ@¦h­p­5
ùa¦ã!ŒÆG/¸SÄÜéËMÆIB¾DÂHBáLÂ:¾œŸ¸S÷x}Â˜\)œá]N¯¥WH(Ë|£ÈcmlîÞM Yœá˜øA^9‹¼€Àa P@®%AÊ@¨ T
âT
â¸®+Šâ¸À/l/m°öØŒ¦/fZö%¯§’¾šJúZuôtËèéJ4‹íôDm
ûeû]½M´¯³Û²ÚQ±Ú
61Në–YëÅvkŠ’Ëq1­âØbèq´€;o(,¥Í»S¡oÍãˆŸ 3aéAA¦rCš

Jîý¿qhúÍ‹N¦*Óv<ÞRÿ 4q„6 ¯ý»z°ÈT=m=`Wqÿ Üx
ÝšO(+3£ÙóyOüF±Ô(ú‚ñœOY¶hzGãàŠîQý¿p«–¿¥Yäù¼¥µ„èÀê"Añ–¾@fÀúÅE ¦WJ£±ÒKy¾Î"Žÿ "|Ó]$2¯°SHšoîR{%.á,¦LcÄTq¨Wtÿ ×éWÊ,ˆ!XÁ£7•	ú‘ TI>1òv¡*e\†'\iÂ›tc>ý2¤ZiÝy§¥¥§¥—<~‹µ$ª¾Áz¥¹Q[¬ÔÔôÔÚ©ò$ÏeM’D“i¿O“U.c]U!¥•R^Azgé×ëÌ+	äDI6~ëÍåwDØ#F¾0×¿7l¡QU.H©¼MŸRË=îx¼Yê$Ûì¶‹M]5L¦ðêÎ„–|³¾Jÿ ÓØ{V–{ýµYuúI–÷ÚîòÄ^eNe¾èÃ÷JªOr—1Œ˜Ç…@¢»¹®×˜V"\Ò{^o+â4A®$ª€Åƒÿ |nÙNZÊ±!¡õzª*:j:rl¡0u¸PTÓbŒ»¤¿–oÉvý7®Ú?³Ðí'mqw	=Q„Z'hÊÁïö
vkÄB£¯Ñ9Î««µÍ§«lÄ=»Ñÿ ×+>¨˜'Dž"=|Û3y[ÿ OmñFåâ{ÛvQÎJ›9’ÛØë+*[a*m¶Q‹U`ˆ³bý;VRÿ K³ËÕ“Gé½þ›—p$Yé@Ø&{vÛ¯nßPt¡„ûý;aU|\ÚáEs¦ž&³9Ew˜~Ý­#ëHÖ=u±íÙ¼°Ø·g	ÃÄæ=å»ó&6[nÝ‚žŒmö½Ò­2¨äõ·™.Jª¦¡ßMÙŸ¬ªŸévY'ô¿VöÆ§¸öŠl·iwUµœiê×ÌHjyƒkg6T»5¾]]¬WTZ"èÉ­•Q.b1]ëþ=]­Š×‘ÔuÀpÍå˜}aÃà›¡ñ ?¾¶gÌks¹Ítév´ÝzºjšÐùsA£ìÔ¦!Ogeo´¥¸>Eóúw	:1ÿ /fÑÝ¾"ÍMƒ¶íDzVñ—vœ%Òõ¹%–©bN0obšM5†É•W1¬e®ÓEpŸ3ëmb’¬M»á·«aõš/é«‚{žo,ô¿ Š;ø“þjÝ²ÎšÙL­¹TÔTÚ­èL¸²÷-ôU4Ó:Gj”ùtôSö„ñöZs:×c¨®ÔÐ(éÜ-Ûvˆ	}Àÿ f§Ý8éØ¿]s4ggœ[n “íÉnÊ¡Éãêû¿ÒÎÇU0I £—M!’ÀmUì¦Šµ³›®ùÛÕ„¿ƒ \íPiýí›Ë’É¦#ãØÇÄ&=Ñ»·ªŸbOZ–%[šb"+éÛ1Z¡ÌeÖ˜O¥êÕí°lí«¥‡·¦ÍþÛÛE¢Ïu“QG1ð—Û«æ²—·VÍûl×bÙÕ²¥ªÚºjžÅ%_¿¯WNÝB*¥à¶×O]Å”1¸^dK*	Ð„¶uÒLÁ2^%wßøýoþ[Nº â
éú÷ŒÞ\?ÒgÈbŽí.ˆþêÝ†BWd«ÿ k×'M‘&CâØª¹qDÛ¯s)vri/¬tZN—9³W^œé7ÎÅ$N¶ôù®™i™¬ŽâÇš.àÇÌ±[`¶e{•(÷»k
y•ó&vª)ì˜Ôó§b¨2­öªaOIØ«¾–ŠÑAôtŒl§¼Ø*%Ju½Ñ•‰]øŸÛõ‘‰(‘›ú»Æo.%É¡7S¹ðð¹7e&Ml¶Ýû-»=ê¦ße:‚®’s\Æòmò‹êhìß]kì5m¶^ikæÎ2É—& ™	]Šº3(:éöZ*kûHW³M©¨i.é1ÍVYm7š£
{D©³/Vöh§TKj¸Ÿ«¼Ó.iû•þD¼	€ªš ('öZ.2gJ8•ß¿ÀVÇêZ½°wLï¼½ÿ h!>5Ü†ÇþâÝ°sƒEÊ¾¦mD›=%=š{­µõ’QO×ê&S¾S¹5Wñ–-”—îïBjm6jæÏ§¢)wFòeleU0”Vg1÷ö;s*‡²MœË-®^¯Ò]Ñœ—Ut¹ónÓ„©V–¹Æ¤1Æ¹Î]MójîZÖRQõÊ7Ë¢`€SßÞçÍ©›"šU-âk©.ÛÀ{Øö½¨®þ@°VCêš9"éQýó›ËæÉ.d"£<2ïí…sËduÖ²uQh#°ZßQ&ÇrmÂ‹°È}EC&ËˆW9EÂó&lŠÉ…µ–«_ôßowé¬–ÎÍo›6Ûn‰¶Yid7±µ Øßí7ÿ ðÔàFU4“GL k({dù’mv
iŒ£¦hlº§ñ•x­p•Õ(¢ûPk.Ô35‰ÆãY.šG[£˜æÝn¨éìVÙ¯™y¶¾}-šµ•Q^@ÖÁTÐj@AÑq&=*½fòö­Ý@€l
ðÆ½µ»apâdØªYOZÇòlùaìªåf»TK—S"Õ_öÉ´5&aª—Î]âÏj£Þ¢œ'Òöz
I²ÚñÜ)Äú~±8Î±ÓÆWov±ý¢òck¦Âé0J·õ™~Ý“µr–T‰nhh¸éÕJ|û…DÆQÑÙ©Ý:®†W §¿ˆ«åw»Ls$I×ß.2%6kƒ[ÖtW~‰±TƒõDF DtFŸß™¼¹ÿ lëƒ4^ÿ –·d÷¶ëWp¨MHÙ´¶[¤ºÙ«•ª©~¹òWt£›K6ÛpæKp™*åHÒ¬Rj(û/h`¤, ‚4©lZþœÊ¡íöQ·jll÷R~×L0ì³8Y-²ý«]À}EúPƒU\¶L—j·ûý›´Ö5¦ÏJ¥·‹j'ûbïtö),6ÑAGz©p¬·ÑJ§’`òíôÍêAÿ lEwïðu#ýÁãÕ Boþÿ ›ËÎƒcÅ9Ä"à]ËÃòÖì«	ú{oÝ¯VÙìœéþÙ ¬“WNðÞÕ.¦MLŠš{Í¢Ú]GSoŸÉ³$2aì’ÝN®r›_hë5f¦Êª‚ >Çe¾F]cvìñû={¹[éŽÁäZC}º{púŽÈÝWJ¡KIÖé=©´nº_è)ÃSœÚê¸«u½^î‚ßKaµº–H«¼›|‹U¶l·Ú'6–©®wâ–¨F ”P tùöo0Õ°;n‚ð¨ºÛ²®žÙl‘_QWs·\iî÷Z9–ºŠ*¦Zj½ör¤lÉvI‚Õ_Ü)*id”Ï¥*çFÚª^±RéöÎ²M-ÁT·JèÉ¿vÐæÛvFò´ÔžTÀ"»Oõ'Ô;‹:›ÑWg˜é­¼U2ÝjëÖ÷QÛx€«¦ð—sŸ6tÊY4¶7_dû´ùLmÎá"‚–×A:¢}mÒª¾¦ªÍ"ÒÚFRïÚYj¢g·U¤<}¯~ÍæE®P „Ð¼*ö¦ìJ½Ÿ«¨ºYEJ•UQ"¦†áMq¥®£•j›nºTQÜ©*Q+²Z§v*±w³u¹Ó)gTÖ‡6Œýe­?CÚ†ÕôöaÂOag¿g¶M3­Ý€k/åMLŽ×rfö[Ìÿ f‹«È2¬Éæ“
îÏrþã|hE^ÂGY’kt?|¯·Ò6Dºª©²)ØûµC§Vö	Ô”t´ýüäÛÚC
ïÿ áª‰úˆ A$¯C÷öo/¼{À´" ´‹`…?äíØíXx^¥ÌWkC+ÄŠšª:ÇL¤¼[G:Tî½rt_*UTºl·»ô·ÑÏ¦šÉÒH]žY¦j–gÙég²¢DÑö)å·ª°u‰žå†ø·±Ü¤S#³¿­Ü;\Ò-ô’D‰*²s$Hë Ê¶uY&~}šúê®Ç^-Vû¥²e\k›O,\[ôõ=„±’¤K=¬kn’.WêF …ä4øûÐÑ¥jOŽõòo0Ãß†ŽßŒ@ÑxLG°„vì”Òë&H¹TÛ§K˜¯‰wu—+…¢¢¡Ô]ŠÕ>á=µVçÈ™Gv·Ê®£³T>®‹¬O};•ÚŒVÐÙ&›…‹§Ïçgv­®”&3¯?Ý±tçƒf¼hiH2éŠvÖãîöK°5©b]²£¾üçS[(©eÒR«¥tª:k,—H§´Ò>ëWS>]?`«Ÿto\¶}Õ„µ¸Ü©¨dMmUÐI­—Qy£ÿ Ç+È?áêIúˆ  ‰ÓÇýÿ ›Ì${à(ÄB$»Â0ûØÚ{øJ™C2ëxúâÕÊªÀù2æËî–:š×Z.BÎÊëU5Éu«¼ºJÅöK­µ·—6’ª[ÃÚá@>ƒ±Z?ÚvO…P±j«¨±—AÊŽßú•6îÛ¯Ÿru~£µ*´ŠÞÏFß¹vq´Ç¶âç]n÷¥u<–I—Þ.³¥L´Ú…ÀJÊywkÜº2G³SObŸX÷»ê/²YÂY^Aÿ Q¨""&ûÿ 7˜	ú÷hHçàñýà*±—†ö
ªZj¹©«¬l”]BÊÅ{;=‚©’:µÁ–©=’ÖÙNë—UÉ©§•Q"ÖÒÅÕªßôË´°ÓOºÌm-àmVÐ¤g³u²x¸ÒÚµ™K´×³«8?Tôå5Íc-µa”}Z‰ÔÖ•|¹6‚‰“–Ñaµ[åå¶é»»†6E›eŸ:åo¦Ÿ:eº‚Ó&¿³û‹ªI˜ê Šò'øzûà€ðñÄ?!fóÿ u÷ C„«¼t=¡Í­¡¬§¬µvzjÉ<¢«ìseNƒg]l—©5ÒïöO«o^»¶skiª,w+m|‹…g¥™%µ2©.1z/¯·T¿î}JÛXÚÚ
±¥Èû7Ë\%vÚák#¿ÝR•xì[-ð¤ëJOµbŽ¦°ÒÙëiZé- 	³S4]o6™.»Ý+ëdPRÐÐÏ¿Ö5»ö[pµXj+ëknÖûD¹“îwºšË%;E¶LŠò)Ï5ßÖ0€€Q^4ý^BÍæG5ÕÂn¿O?÷…Âó¥KlëlªYSY"†éMXëõ•©æN«UÖM|®ÇeT5’/´;„ë5Ñílª.+¬\[k*šH¦¼t¹§íu,ìí,ÇqíÕb4ö}}*ís=»ñÎ“Ö¨ä‰Çkû…möÀÓ_}Ùv;™£¢u4É4ôò)è)*QØîlšy7‹á­4bL‰Õýž©õVî½>x¸ö*e5’ÝT÷1kQ^Gÿ 8ÿ T„bQ‰>3òo1ÿ ”Ø; àÆÂ¸cQG.x­µTSTšš›êkozù”ö«Õ-e=ÂÙ[jºË¯•yµÌ¶ÔÖI—| ê·¬¥í4“*ÝU*šú5™¦–¶ÌE'f˜"ÎË+¯Ý&áP#"ÀÀ.t¢¹?û]ÚQŸuhÑÑS+ÛÏ¬Ð:†Í9ü[SW.®éÖ(^Y}¯¨¸UÒÒÒÛ(®w:›ÄúZJ‹¼û¥öçMIh±Ï|«¥Õ–Ûtš‰ô´âL¼
ò?ø™Ä§TãÕä<Þc‡Üƒuv£†ƒçð_þ`Æ	òÚáp³H¨“6eÒß*ÙI"T¹u7jjêË5M²é&ã&}<Û}wû:ªz‰´µS)®¹—
Ý¯µÓÖò©Ýµò„Ùrfj›¬®¿þZ™v—s¬¤UÜú»èmL¢H]’æêZ:[k*ªo÷o¡§µ[åÚ©+«*o•O¨ °I¤¶ÖÝ¦V\ç¹–ùvÚ
–Û«nSi(ý‘H^IíÁ3 AŒ5ò&o1}Ò.%ÃRØ¦ÇÜð\MXÆ8ª)%ÎU¶‰Ò*Q&®{+9¾¾ßWe©¦ª¥¼PÓ=öŠ»$÷Ún=¦‘âGW¬dš³¨»R:žeSk(ªÛ­Dd[	å'¯îôÛ]Ü&öŽ¨Ó:­v¹†¢£­KwiïàÊû‹g×[e2ÅgµSÍ6²¦¦÷W>ºE®K(¨íÊ¶tÚ©‚ß[\Ê4šy2å1‚
òC‹m3=Àô	'qã|‰›Ì7>-!â(-±>
îØC`æ…žLù!’äÌ3gÛE]4ë%DÖRÞh$µõ´öK¸ÐÔJ›e¹HšÉÒ»e?·QÓç—Ú*Ùt’EU¾hlëí…Ú›j¹±ì}:HeŒè.UÍ7.½Bê?f¸¾ž–Ão—U\÷õÂº®¢íU6¶)Û.ˆSÊœn6ë4šyr¤Ë”!”¢¼Ž@µÎ¼4…¹ •âý<‹›Ëßä¢
t Ð
cG?ë@;M}$©Îö=·P°5¶§Ü¨Íl¹7 ÉšˆTRu
Ðê[í¬µu
˜WT¶úÏnïÖÏ®õöÿ w§UÔq•j§4¶Û•Shèhé_Q6kø²ã]2¾á>SåI¨˜f“.]="ŽØ­’ù\Z r¼Œ	¶Íi÷àQ«ÅÄŸ"æòðæ]  Ø›Á@‰£$2ÙêÙOIoµškUE,êi“©Ý)ÔÕ¶ªéo©²Ïm4Ø;¯ßc(}«±Ígealî âl}}¿Þÿ n\¦{öÑªîãIÕ¤{õžâéR-Å´rXÉô­s™O.ŽˆÒ[ƒ]Tš:~½JöSŒÐÀ¯#Gí³D&@€¤âæ“ä\Þ^Ü¿RÐ‡8Ø—x'YƒÐ+µLYn¿[ªKš×Š«{¥º¦™Ì}LªVŠy”Ó®rþñhê×ª·÷:7
š–Ö[ûS!oêÿ gco÷«´ÿ bÍh‘Îí°í5…÷j:iv›LÙ»\Q2dÖ³Úe¤MTô’¤0—¹TR±ÔÝ^a™màŠò'øù±÷DŒO4þCÍåâ~áó(—:ŒàŸ˜mœ®É"žm5ÎÏp¥•o¹Ñ²Ÿ³Kcê(Ù<\i§Köê¤P\fSOxûû±Òš‹WN©çoìR½ËWN˜¬lãwí³u™bmÚcØÆXäºç}íw6ÃÛÚED¹–«#%Êd¶Ëo\ö´VV6Tž«*d«hô
ò7øù‡ú„ @%Úx¬öo0î1	Û„Ò9x'T=»,™“héié.VyÝmô³&ÝnÌ¢w°©.47v×YÌ‚ùÓ¥Éôr¸VÛ¬œ­½–¶P›+¤¿ýÝ»vgÄôé<m]¢±”ö«P‹&ÍtË}Æ+]šE$¡ ¦Ï•%•=®€8Ììõêëe5öùPnrŠò4>‚`ƒÈ€Ð"L<PäÞ_?Üb
Ž¤@ˆà¡ C9Wª©%õú
É7
¦#ÅÊ·¯PÔ:¾Ûu”m=“E}¡Ì,>MDº¹T××)ôÓfLdÉ}q¾Çcµîý²qúËu(£ ¼ò¼ßûÖÕÙ­“+j)håÓŠÎÑmêŽÏwª›+¯Þ«ß/ª<uZEo·È¥½Ëhk}¼‹ÿ 1Ð˜	€'‘1>(ý^BÍåÈ¨Œ#5ßÁCúCÐ+²ÓN›*Š¾ž²ž!rÜ;TÚ`«¬ôµFš}u”V[äWÈ˜Æ2m;…·­Ï|ËM0{…£KœÙ?]ÚîÕí  ù–»]–Í2±Õ5VëÖ_¯Æ“¨Q5´ôôþ¤îÌ!óx2Í%ÕFÞ^Fÿ Ày!â‘¯‰‰>AÍåóý×D6åÄ5ÜO‚ài‡ Bì*æÊ¤}¥ÙWŠ—`.ì‘ûõK×¦Ì?¶%Á6ØÖÖu+h¦eÂ¦ÛRð(;k}®ÓhÝZO¿s»TJºÝ%>³°ÕÉ¶\)e¾×v5íûôÓ.ít”aC°¾I¦ÖÕì6º›º[X` †ÊW’@û{€8ˆ¢^&ãù7–‰û°lÀŒ<?Ø=±®K"-cZ kJhP

	Í–™SÙ[b®m=|»ÜúºgÝiÝo—¦´ÑupdRÛY,„e°¯bP ¦réQ}¾Q&Þí!ï§§l–ú%y Â…ú¿R!Ï^'äÞ[Þ6[†’µjðOøÁücJu%;—ÐÓE´²ƒ@ †bq¥ª+dSRÓÜ©j'’Ÿx·µ¼Hd†^(]QW’(žâfrˆÐÖññ0ÿ ìÞ[ÖïÄ•ÆÇ7Á#ûPþFSÅcíµµókfZnt”ê’¤\(e[$¹æË2U¢é%¾ÀØ¯$ƒôS\Ó¤KÛú|L?û7–ÝýÞ1l.Ò'‚¿ÄˆÍÑôcê:L§.…e4ÉícÆ™rËKQcIEy?Fó©:»rí|Lèù7–ÁûÀ´Åâßéfr\‚ä¹¢¢¢¢W ¢¢¹¢‰
***!rQQQQQQQ@¨¨¨¨…¢£„TQ+É&N-Pt—‰!ûÿ 7–ÿ ËžPoÌÈ¨;Ûê}ŠoW >Sº‚<§v_”îá*]—åK¤*Üâ<©t(yVâ‡•®PW¹!å{Mò­Ä¯Ê·~V®ò­hCÊu…~S¬ yJ²ÊU…(Õ!å*°¿(Õ |¡Rß)T9~Q¨òŒÒ”&„<žô<œcù5Á£É¢?“BüšØ&°/Éò—äù1N”Gå	1P§(yBž?”©£ùF–#Éôkò}CÉ”evžÓ"ù!Ïw>`’ïÔH-ñ?fòÐy€)Í|¤5lˆ:u.ÕÒ\ø! `i°qqpâ„  i€ˆñjý!Ä ´€sBtHå(¢ã]Æ—Q‹@!8¸Dþ ¹ªõÀâ£2-3‚/šTDY¹lˆÛÿ ¿fò¼ÎW¡8†ƒ£È?ª(ÅGS©‹@EÈAAÄ¸¶
 ­ À`^Ð	(¸„ç hý<¿Kˆ$tý@‰Bî1?+Ç]aq.ŒËCKKÉ	§Š$8p$ÇuP+Ä?óÜÞU‡ÞÈ*+ê1D@‘@ƒÑ@ÆÃ]PDF¤DF
¢P«˜q/¤žD¶.Õ4i/(üÄþ¨€D ø@˜N1DL"Hå œŽ%
:&Ä'·NÀ1Ü„¾ ÅÇUâû›Ê_ç" ~ÿ ê$q-\	%Päâ×¹âIÉ\\P–W'Jràþ-p.cƒÃL· ×¯m˜À4´¹;’ ®1oA±DØ`e€=¢¸E…¦AÎÐ¹…£CŠöˆ\\SPˆAÂ.(ˆ8ˆ/kß³voY{-Èø#ª#àn®,(ø
Ö¿ Ð¯À±üJ€)—ÿ Ÿé×à
uÿ çúuÿ çùÿ Ïò—à	+ð¥øZü(/À-ààÀ_€&/ÀS¼PWàK‚>¼¯À×Õø'°ƒø'²#àžÊ¿ö`‚ûLOƒ{Q?ƒ;RüÛðol_ƒû`_ƒûxÁÝ¼/ÁÝÅ;ÁÝÑ~îñü!Ý—áî¿	÷†{è?†ûðCÃÞ@ñQñà<Iä âo"’<OäPù?Š|Œºj²vúÿ ÿÚ ? õë­köƒ¦8´ë˜…¯A‹ØŸè”øâ¹˜‹Ln"úDE«\á¬…ô]Úi"Ýí„âSfðØXµ¸´6f&¼D‘!“OâAê¢Ÿyk§ñhçâObõ‹`UÜþEž•H5U–¥î¢»^Näv*ª”Ë^d*«c2zNyB´Fƒš¿íÑãa9Ùelµu j«'ÃäYS¶×™SKlÐž‘•2qWãX••§-T­£šÅ“,/ï&jŽZUUvþZä-¡™5"š b% Œë5?.¤È£Mc?o÷P4œÔ¦•àöBâÜ²´		ë*ª[ar¾{`Ï–¥–¯¹¸ƒo,>­;ý¿4÷‚q#'Bõjý´ë5{´ðs¦Ý@ÈD‚Ç¥
†Ý4p,Ác#_
pœEÑËõrl!PÚî~uµ½˜DJeuœ°-½DÎlEÁÄtÀÔxWÄ«c¸s›öÿ ×)"%iUñpœÅÊayq•Šª‘Á°ª¬î}¿ÔƒrÅ—šq/•4Ÿw±õ?Ê²§Üú^:âçutÞ|tJyþ×e[qx‚žq`éâÈÐ~â5WÁ•Ów>ïçˆñÂ˜É²v¿óí÷;_ª¾'wþ(±Md"P‘¤rœ£W*¨TwþjéMåŒ]8û•~ÒÁ4<HDDˆˆ”dx²ne<T¡†å_28ï,o)Æê$îªªÞíýŸ}2xåˆ(uH`'&Nª¢ë1BªxöÖÂ÷‚¨H9ÍT.¼Ñx„l@•<ÀJÕ>8ê¾2ÂlµR©æËh4H˜DE‘1Ë&çÝ@ð©ÍRÅ0XßsQ#…„y 
""Qbü©Êa¨Jzþij{½¬%qåˆ1bY4ŽQòÕý*‘½ÿ gÌÐLbÅ2tÐ1÷¥x2x<¦	‚Åb›A²Çu?X<HÄ˜ùSð¦	‚ÃDt§©Âtó˜ˆå	‚a¢Ü.”é¬D^˜&ñ·éMø"ò	1ƒh¼VcœÀ˜¶Áb°‘ Ð(¡g¯Fb°ƒó'ƒ#æ‹h_˜1Mª´/Ž‹mrjƒ•æB®Š˜<uGA¢[Ñ&ˆÒøîØO…ÇmPÕKRÔµ-KRÕ&¥©jZ¡©jZ–¥©jZ–¥©jö:ÕìÿÚ ? þÇÐ±§Ç§ÃO&m“6ƒD5Ü[ãÑ¢ß×§º‹ƒèñqkq+Þ«HöXÀfÐbÏ=Ž1)ŠÙvcTq@èb$kÈ´h4Ï  Á7ªXÃ2ðÁ¤7‘lò5#5IŠ~hãdácµ7“Ó½ÄY4^ )à¸’!Œt8JÉÓðÃææÕ,ekA8²pœE×Jn¬.ÍbÖqc„tÁËÀ²ðñÞKÁå{séLepk£H)@Û r¿ñ§áƒ§º<YÂáŒÃZÉIØíþyØX:tÈE€¸cMWÛ¡<udÐ/Ôµ,'UÙì&´,}`×F°måSÚ	ýÛM ‹¾‰šæÒ‚7–Sh.yd{‘1ò§M <µ#U ¹»¬%{ƒE¦dM »1³6ŽšÛ‹Ó\Ù0¸‹Î{ƒ&	…È^ÞàÜK˜¾5»J-ÆT£Gaq«Ï©Œ4¯EŽŸ:|û;ÿ ÿÚ ? ÿ ø¿vèe@+V8a¿·ØWÅßÑØWÅŠïý×Å‰àÜøf=”Æ_â-NrÄãÇ(þbÇŽ#ù•¿Þ'ÛæVÿ xŸn'üJÚ_ZŸn?™Úýò>43µûä|h—ñ;Yêé›øÑüÎ×ï›øÑüÒÓïÛøÑüÒÓïÛøÑüÒÓïÛøñüÒÓïÛøñüÒÓïÛøðçhTL€¶I'ÃßXûÔ|h)Vó´P‚ûsÇ€”ï;BM ·2|xýõ½GÆßûÔ|hýõ½GÆßmþõ?|cïñ£÷Æ>ñ?{gïíÇïLýâ}¸ýá¯>Ü~ðßŽŸn$‡£¨(Ëé‘1ˆÌ=¸óÈñ‡· Y‡þ,ýs
‘p¹$‘£ x¢—i§µ#Fœ±Â?yT´r}¨?´*~ýˆýáSâÔyõjÁ:»Ø}RÐ)«Šß5‘œ€ü‘Gx¹jï¢™¨OƒDL¼xvGµtÐK1HÆÝ54Ù¸ ’îžÔ	E]‘Ó0"}$¥€Ê#Î
 $àNÈ8A%À©kH‘WJ“LÄÄ£\K2e*œ£N¨© ”bYÑ-',ð€f$
ï+.ÌsÕNxžÆ©eìé‰ù9ŠŒ=xMÏLl†å¨§Of
z6ôKgúcÜøºô6ß‹Ø‰Ú é èÆ	6"ZK¢hr5„‚ËBz@ã€[i ¡P 	P"±9&˜m+Û€RM9JâÆ
r$J“Ì©õ£“B•¦6ÑZ™s3€z4‚I®eK¹Š¥2ÆŠPõ£’'<BÕ‡f2„PJ@-XU‚¢™NZôõâ“¦QÏn&sSAuÌG^9™8òç>ÌUçÀþÐî¼9Pfûàÿ ™v~ÌYÛ"öå¤¼òê’û…Ys eNÖÏuêØ tF±Ñ¼kØ…Y©^É‰ÎrÑÇÆ¸D± cª	tÄÏ¬4Ä…'R5Ò *Õ uÀŸæx8 	€IÃ®+ðÁà$ãU8ÿ ÍÕ¦¡?ÄÀ2œ§\œtDÁÇ9DÁ ­)Hg¦¸!D’$ÃÖŽû	qÄL¿¤F½p'S:b*šË\UYOg†+XŠñÁ$TÏŽ&À0´âb˜þX©Òx è×´àáŽÚ§)=ˆ4"”„Ëù iÑF³‘ƒ)Hd4˜˜',ëCŽ¨ž h×8*3c."X&³?Ó ‚deëA*˜[#\éŸbXp@•f•xtÊH-8ÿ ß°7þ‘®Þ_Þ“ú7¡Gº>Í"XŒ"°0ž˜™©ÀÎ&p‰èüiBUÇT„é œ#LÏ³8=r}˜3¤êˆ”±Ñ*¡×ÇR§|¥'¦ 	¦³¢
e‰ÃgD‘±ÞÄ±¬äp‰Ê†„ðA”µ€4Ž¼uLž@xë"#)4‘§¯Õ«àÇQ‰<pà„œ@œ„á$ê"„Hk©¬qË‚$Î1N°õ é™N˜ c>ŒL
(RCT&uöL¢@WFq!Ê™ƒ„Æ¯	 €N¥rìpáð Ö‡Á:F ‰ÒpDŽYÌž0p<${š		vbgMÑZ@Jœ‰A9r™ü°
q˜ìF³<uÆéþÒÑüã~®Ük¹£v3¥Uã Ð)áÙ€ šFÉ&S9¥Å$™qs j8&s8‰R_±YEEÇ­™ÆbQëF
ÊBše4=ˆœ°ìDðÈ.&„ë¤'X3žÅNÉ©<1× öààFŠŠpNrÆ5+«Qƒ‰èÂ*tã KÇD´ÖG(C®thŠãIŽ8¦ªˆ‘\{19WG§:“8 	Q2
¥@zñÀX@&r—\Äô~H Ð`uE*“9	S\r[
BR3©ÀÏŽ)Q:ƒ9N M†™˜<x‰c8Ó/÷Dé-39Î¦gT
l‰¬µvct>–×é›õvßæSú7!C™Æ°4˜ÇLK,†‰G¡Y[››…Ï"
–¢z%=ìî+“¬ô.)ñD¿]<:~,$º¦AÚhíbÀîø$Ãß'üì™ÿ w{ÿ IvMgäø‘ü’îcèø'¹.éTù´xg¹n«¤°ðþ®%üèc^ì|HŸð{¬Ú	aê|ˆ$î{™Ëæ^ø‘üžâU,»ð Ot\ðù'~$	n«öNüH’·UÏs6Ü¦žÒ%ü*â“‘èÜÆsí"GvÜKPmÏÊˆ nÛŽ"Úðñ#ùkóÓ4/âÀÃßÖ…iðc÷ÌêIJ±ÓÍ‰.ÅâhIÊ©Hq¦ígÃÍŠÛ¸¾¾šDËH	qÒ@©LNdDÃ*ÇX"CD"°d&A ZR¼!É*R:F1>‰@*'X 6©36N ,×L¢yW=s[P‘™”°RP©0‰„«ÖŽJ¦e< !9JP$p‰É\3$sœ1D3O5)£³	:°e¦:7¤/,òœFl€DHÖ}ˆ¨ž<q¹ÔLÿ kdÓëšõvÓþð?Fä`IâŽµ%Å éþˆ¥™×XÝæ; 4JÝØÄÆ&1=˜ÄöcÙŒOf11‰ŒOf1=˜ÄÆ&1Œcú¼#ØÉ‘ØÈO`G!>(ö£Í£ÅÔy´x£Ú4>Ôy–üDûQæ[ñíG˜kÄOµ6íK¼Oµ¶hýš}¨ýÕŸ»GÅÝYû´|X­›ì‘ñc÷6%õHø±û•¿Ý#âÅlmÌþ…+»íŒñò-üXÚÝ–‡†þ,Lî«2uú;_.®-÷m«/6Pël6•¤ÌU*Js&*¢°4+Å,+8"Ráü°™	Ç\nYíl~™¿Wm,}#ú· ËY2àáS×H551^¼X“S'¿öÎÿ ³¯;Ñìˆpè§°"Ÿ‰SÆ+XÜ³ÇÒØý;~®Î“òÇÞœñ$Ï¯5HÇñ”)±ž!/ÏOögÙ×z6E|!Jº¸¥ O`á8¡™Õ“†öß²_j~®ÓëÏèÕp`KE¸­GäìÅž—ÿ ö®Àÿ fÝË'ßtÐpèÂÓYDç\ 	é©1¹%9zm¼¾ý¿Wg/žW¼0g‡©Å¢¬Ì	™ë‹3ÜÜOWîÎÿ à¦L£*6Õ¨FBú:IË£nn®z²¶M¥ò’yâÙRõà²—3<‘50´–Ý^E„æðc4ëÚé‚ÊÞJÃ¢H..g¶KaY|8£7„p¶\½ˆÈ«„%xdx•ùÌ3‚™ÔA‰¤‚‘ÿ ‚»–Ÿ|!Ý5üLôi­eÃ qDû’7 e7¶ã°û~®ÄhéW1àˆÒ¬bBµìA˜¬a)ÿ º-u„\Oþ™ÏÃí,“¢€ÁV\©õ”öL,X4»â€J–'n™uÊöUÞ³Ó9	ºÞ/)L©KO ²KmŠR$ê‡–“›mY>Žv­!„D¶Ÿbnæ®&PRæU$”­$)M¬m!Pó‰ÞJ)BdB]3ç“ïÐÞxi6í¥ ¤¥J)ÅJ"jRÕÊZ•ÝF&
m.§S‰ê
÷s«±sµlæd÷öÎfoÅÈ¸U³à5t•©´‘>…âŠ+¡*çý
ü¤c%i$V=˜¢Äâcð×^¾è–¸á*˜‘õàû3Ž_ßm¿N×«°îžÂS W¯>8}}84Z-Iù»Ž·ìî~µQÁ#U­£k»ºO.Ý’Q<=%õy6|/+ôQšâñ«1ElØu@v¥û|†Ñ·¼ïKÍ ­>U(NÎÒöPŽÓ41vû’êÒ
•pµ<&>Åt_›Ž"H*R( Ô™EËZZ¹XJJñº†7Z°™tËQqÅ#ëÃ\O°:†	?Œ¡ô>€ãO<µy‰J’¡´…§˜´ò [¦®”Ý¥] ZÁOIá¦-š7ÈiW¥²‹f€’IÕÒ<VæÊc3ý7Ñ]6’>õœŽ& Þ®Ð|÷·?läþÙ@Y’ª¥h9’GZ&“1øK¢u£ßp+{'†*EOb8Lä"´Än0?¾ZÏïÛõ{¿^g¬Ül¦gØ–˜Æ¦|D¸O	THÊPÉÀ®?B¿ÂHUÅrD-¦-Ù6¢›«Ô-k«kUsrüµÏ3Í5bÕ¤´Êy(N*W9kW9kÛê-µr
Ä¡•PXYÛ·Z®±”½ÏSy³£;kHñÒ¯ƒn¥}"ÄôW£1sÅ/fïSìu:³ÍJ`·'ŒÇ¯Ô³oÂï­{§`D»"í©UÂª]¶9A?HÁòx™û¸J7HmG*/Û4N„Ü þì¥}ÏwUEêÐx¿sÆ|!ÎøƒIÒ8`:)Ã¦Q¸Rt^Záõè>®Ç¾wÞ¢Ä„§/b+¤a«‚%Î‰O_fÏîåOÁ’µH]•™(º}µ8ãƒämÓ²·;÷äîó¯äâÑl¤!¾ !4	Ë²¤
PÆò¶Ðµ‘ö€:}ÒœŽ´>™Ñæ'.©&ÝŠÔùãL\eÇþhH$[«x½!¥Ë®“ÈÔ‹×e0Ëhm'…J*WèÑê• ¤(II AÐ aÍÞ‰ú XnÕÂgÑ<FoE'æÕý›î~n'ÎPáüÌûfýð‡di˜]xãÓ¢‘J÷Æ4ö£qVCÓ-gY¼Wcß;ïS@		Ž8	–S€ëR=xGV²·|«gð%K2N»Ñ%Ã•¤€TãŠíZm;jW{M†ì›WË]+¥rZÓlÂ²}åÇ~Ô8€¥<óõ¸¹rYÜPSš[)B9-4&Ü]ØªŠ¶x”áÍ©øù½E›¸&á¥4£¢hWþwRÅzBÛì¤Àƒ¼ÿ ‰ ø‹‹¯úb]C+(Gu¥
Ÿb	Ô'—?=p©q {î©0·UÉ@*<@NI*¤­Á9*§:
T9.6­¦×Ì\%ÉE2ÙEùEÑ£¦#fÝþÝØù¨
LœI®fÔ=h’MuiüÅ'´ß¾ø”ÉQ—­12€t“u¬úæ7ûm·é‘êìA§Y)#¤˜À™Rq…gIðDåÇ^¼9¦Vïû	€*QÃv¶Íô×Ì[°L’ å?p¡æØoŸ÷míÃÉ¹Y¹¼¹LŸ¼U>RRÀþÎËKÚm¤}¦x^ï»ýòÐåQí“Íq=ôÁ¯ïZSgVtyD{×z¦-.ÄÁaôæ=ÊÁoßd€¡P f±»À%ô‚x"PbÅZ®Së¡Èzjœôšc?PÃ_;pÚ{œø `CÎ,©$E¼Ä”à.+d¬ú„Û#—t´´ÚsÜBˆ B‰äµª\1s~¦z$-y-úY–O8ï‘(Ne/ci?'#î*ëw§¢<³=ÕÆ]—Yútí·ò›¢
ˆ˜PÁCXõoÏ·oßvTŒ ÈQ8Q<gØ¤WŽ|Q¸åSé¶Óûáê÷yÍY½±:&¶¥ÜÅ‘Â•‰OOf¯Yà11‡ä‡L­Ÿ”üVV¬ˆô+&ý"øŒÝ$4ÊUÉzíÁÈOhÚ|³ÜÈ[Î(¿{q#st¡"¹rP„ü“ü“?ÖuÞÌŠ°B.F¶”d€¨JÐf• ¤žÞ¶<¥£‰t‰ÊB²øYrÂVƒ™
IPÒ’&“Ô1t€& ‚´yDûØaÐg4Zî·P©ñ`(i‘ìÁ‹eSrÙõ–!Î{S±žÙõ/¬„åþ¶:d\’0Ó}¢žÀ—TÃmš·fÞewîWÞ%¿¼‰˜E£ö‹¥Ûza«vÆÃi	OXc×Œ­Ò¥î’s8Êf¥[|ãû§nÏö’ò{‘˜+0aCAõOOíûèvXfÃLWXƒ!!3!ZLá8J²<q¸«_JkW«ÝîsR.uÍA£ð i 	Á¡ž˜4¨‰c¦Pù²¾gÆ[õkpÕ6·H×C.§î’..8­ÇGHT®÷6D@ƒmÄæBÁJÇ0þîxÍë5”LéAªá'*ü8y©O:Hx¦A;våL(}YØüÊ›ê©¡@¤õé¶46î)¹@Ê.Š©$$'€†
A$¶Šø"3J ”ì¾Ñ3Ÿnð¢ÝRO–SaXó²¦ž4ÀLã(`iÁµ´¬l%Åå4$•7¯¼êXZb}9‡  Î'Õ$™'I:¸¸¿P’®œ*H:Ì&H”=zjÍ¯‘b}º†Ò‡zê®É­›gÒn,Ó¡
J€¹aÂ3¶êô°•>¥ï¬oßC³Ÿ(Î0Ÿ	ñÆœnIÿ ykßz½Ü’vJnI”ÇAíÄø+`OF8âäêµ{ß7êÞKC¤uÔú;­Ç|šŸ?…\«5Í€KEGžØ[sÜå‰u'×¢\~Îÿ -«ÅÌŸ8¿²4mÐ›††¢6U/iñ DáA'/1¼-”NÙKÉ'ºPúe<Í™³R¹]
–´ìÇZ6RƒÌS ê'îcw„%KVvI LÑM•@¨”u ™ÂA[¤ñ)å|F¨m²ÑjÊœ‘¥U$
ý¬`Ru¡‡‚yo……Í•~o<4Ô¥‘"|x˜Z“2ã›¤bI¥!«sU¤MÕ.+iÅxÜžã«(Ýî©Rq7¬¥¡¤ô¹­œO{‘ÿ yj>¥Ùiq¿}p¬èá‰N|S3£E`	Ö¦\1¸ôŸIkÙ>¯wN»TûˆJiX—¯ œ@ÄðÄÌÇ])è¯u¶Ú¤©F@A7(M º±Ü6ŸæûuÂ7¥éI{)ô;tœÈa+RÊ¾VéÄì¸çÉù¦¡îØ%-œ—IN%¥r©ÜòþÎ¤R PÀƒ¤u‡Z¹flêZvÐ|hiÅrå•cR“C¾õ)Í™e‡N %c.ÑTíF…†0ÓéT¶z5¦X£(2ÁI ö# FËhZ€HÀ	“hžI÷Â,xHöSU#­FQqt7
B	Ñ$‰…	<šFô¹qASm´qšFu/à@ê“#…bÎÌUû£eê!«{Ò+Qt™4=óž#¤àÖ@cWˆ9[e9wnnOJÚ’óN«¿y´x—@)C”RE6±E²àæ¸Ò¶ê\¤ü£tð¡íyŒ»2‚+#Ö1N.ÌTÔFãùvý“ê÷u'±p?CTÚë@‘5˜iD† ÇFÀ@ ÅÕkèoNŸHÇ¨$Ð
˜nÎÉ!w·º®ym>véù|“y“õ®­¶aÁçß|~Õrèo$BåÉkš†QäÛD+t<ODvì–­(8¢}²9?óÂÐ¡4¬zðîé|ù[3ä{¦Tveõ|žó$¡ZŒ„]X’Ùâ.÷,xÙ¡å¶&´ ë}òv‡º†Mzd%rÓQÔ<PËØeT‰Ñ_ùb]Ž¼^43%L<©i
˜Ž´<ëišÒRE	¤ÆêSBªu”ª„ì©hJ½Ì'f]˜<PkÙ‹µ æ(uMª’‘J”“{€Rƒ¬™ñ±5W†	ƒX¾¾QÎÑ_BÌô%½šúx™dI—¸º%çgˆÍÈO‚ÞX—RPÖê¶>Zê®‘ÌfrQûNGÞB-ÚB„¡µîÐ¼.T¶¦¼3¹ó.¡Ú;O;eh[O³.žÕÊ-ä­'’ãJæ:&¸
I˜8u\áq±î¡ÓÝ-1´i¦%£°Â5ãÇ’t%öåÙW«°=ÅÅ>ê$4{qµ9AÇËD´PEï›Ôû[Pe‰¤o+åm-o›F•©«_%w×~’÷‡Ff[¦In®ìs{×90•š:6]F”¬Q@ÃÙ”•*ØÉäŒTÑåˆJÛVfÖ¡¤1Óéw¬'3Œ;•z<šñŸx¤û¸$j"ºŒ-£ÊmdpÖ¢ 19N.
Dƒa.iÈZT}Ì0IžvÓ3ÂSÍÎ†ÝÖ´«ß"$"ä€0O¬¤ÆîúÖGº@Š‘‚\EIŒ+\LÍçV²µæÑßEÓÍ‚T„Jµ‹d½´øi*¥)¯(+V^úfHå””¶­J#*}Ô0ÙªÒ™­X’£¤˜¶Ý¨TÐ&ýÊGhœ{õeO‡@e:S«ªãî™6ØÌ©bu%=ÒÕ²˜sz]ÚnŽ`4%%)îRˆ[î™%"œ&¼nÁô»žJU‹mÜ­|¥øµ’w¨+µpÒf[L9Û0ÿ !hûN\6ãs>„º„«ÌU
î“É_Uc[­Ó¯jÌLøg&c`è:Ñ„µ´nYaÓ£áz»¤5pGÇAãŒh8qœKVŽ':Kè‹ã9þÆñüõ·¨Æ ÌÞ»6Ûw
¹BI¯GwûYñuÔ}ßÎ@0uÂo“K;²ºN„¹ÍsÃ÷ðAÚBÅxA‡·KÆn²JìÒyÌ“/…«/xãP£2­0eˆ…¤éœ¸)•â¤uÂlÐ™µtÒ”Ù¢â2û¾›îà)Ó%v¢°aæ£¨SgÂ0ÎnZ&“ìÂu=jà#º
icÞ¯©tu"}‚n¯côÀê]9†F\>äÅ¾µ$¨õÌ7j1ºuSµ|(¤qé‰á•!›`A*9òÄð N\ PEÕûŠ
vå`å¤òã©ÏÍÀêBwz'è–¤9t¡_5¿	BGX’°‡ZªL¤àã‰<®ñµ{¸á‚L"\ýÐMg².—UC[­û0é2QëJ)Ja”È8Æ'5¤ni|è÷Žz»!ôOž“ŽÆœN`2öbµ´á‹âe5XºiþbÜ|©QÀVží	;Áä©h.U4”Xí–£Ñ3ô±é%mïke©o©ÒK‹s’ïMÛgäeí<—i`dq'+ÍP±ÊIøGu3iÑ•COî“ÊL;º¯—ûE±’i³ÈZaôÂs»h©¸œ3´FU·á#àCn2°¶ÝJVÚ´¨fJ b	"|úšm¯f}²v”'µç}¤ZoVÓµhòV¹bQ9©>3¦(f4c_PúÑ¼m¾¥$j
%I÷+Ln·t,¸Ù=ón}—©yõJÏõìpü¢ u/ÅHÈ<%Åº0“iö'¶ßæÊßPïA—»R:¥*öbîöyÙ·O£´­3ç÷}'¸†m¹;p¬¨Nš	Âr‰J‚ ŠTê‚ëC3Î„kpá>ó–¸öŸsmåœJk	ÝŠË=«§G1•ásSÝÂi9l¡:€ŠÂ[i=%ÓÇ-»ZÏn¹|šyÑd\—HRâœúÂë…ÏÎfê«ëQìÃ‰ÐTFSÇ"g±¢&e)Hqãž¼ùã>c¾®ÌV]þÂbdOIö`€*=˜F˜J$0×Ãü›¦_omÕ\µ~XÞÅÏ<}$™ÈæYw=/KÅ·zgtûCCå›<w	ß›´fm@ÛqŠ“®_:Žl6ó*iÄ…!CH1#oK`C–Fe#žßÊƒÛeå&	LœC­™¨Šø°«9H6fÚGkªgPœ´"Ûx66íµôkÙ_Á‡R$BÛÌžÆaªWœm=õæhôuð2+¨bå³ApÊ\ëÑÿ U²à|ÛSâ+JUîU‹ÙcÐ¯ØÆ5Ü3=\´ÀêÆ.¾Ò:Ó*0„v©°"éìSnÒ[IÔV­¡î:¯\’AXãgÝB¿8ìÜQ8ÍQs~¦¬ÓÐ6;¥Ue
br‘Ó0@Ç	Bî%šÂÒhdâç=Ïg¼m&Á]Ë§#ŒJ:sÝ<sÜ9ŒÕÚ'¸o’%ˆÎêöZdr–®Ôw=º¡[Ëxœ÷ÏTO5	uc0Wlêž@Y¸R#ªy$08u&DÇJ‰ˆvXf2=xëbbS®˜'¢7?ðõvœ:}ˆÆ‚“=uuiƒ ë"þBCÐ]§þ¢ÛªQB¥8ï]Ôà[Vú?B£/HIWJëƒèÑÉ·sŸËä@}ƒNJÐh¤(b…ŽÚ½-žÍÃ;ûaP'òèî~râ›sÞ«2¡§OÀ_Ê}ä$UaRœ Ú„[¬ù$è<˜Fô²IYiiSˆH™Sf‹m=Ò“îòCot‰IT3&QÁ°©IäpLŠ.ùÖ	iÀqšiÓv(È!ÁpÐîW²¿t”õ)¦7uÄä¥9)?
 L²´¬q¤æö	Ž¼^l¯Þ˜ÜSÒû~ù0:›®Ø|¥Îb8 ×·gåîàleêÛØ í]ºGp¥BÈ¦Dd@á”„2‡–Xé^×{Dx<˜¤1”v”Bß.!'d˜JBB2pãâ÷u–Í›gB0éHí•Í€!W$Q)R”y(@í•|o@:eVÝ’f–ÑˆÇñ\*ÃtîŠ=rgÑ¶;¥{Ôò×—Í¬®é/%«»…âãoù<¹y¨CÝF˜ÊLò™uºƒëQp(Ÿ^&tÁ±Ã£tK·Ç
tNú»TèîžÏü±\Ù<&¸Dðžœ#dñð¢ àâÁ9‡Å¯VÚÁSèïîOJ~a´.æáùÔ1èÿ m	º²)·Þ‰6 $…¤`Ë©ÎÓ´‡.íÚè·‹[7öÈ8‘ÎO{ÊmÄþŽû

m[*J±Iç6â;hU»É*Üw¤§ pó{Ï›ñ#ø]âÊ²$‰˜q‘€
ç-òÆT‡¶9.32­Jüva*|Ià
hò’¬8¹Ýò­Ž{s­•™åTç¸q¾¡snhÕêÃ}ýCžé+‹©É»ÔªÙÍS#2	ð‘Õ·¹°úÖVÇÂ‡ˆÀ *-5.0Ò‰á(I1v•ÏÅ1¸Òâeëõw[:—=!ç',¨1k1%-"¸ÖJýïPÃ‹Å½ÞØHÕ{jøi»†ÓþÑr4eDŽSß¯¢oÃŠéÇ¨·A’P
–u$	•x0æö¸FFŠ@”B¥²
"Ñµ…<Ï	Ÿ’ð½ä)j‚}õ„2ØÌµ Gñmáä¬Ÿ¢°¬ ùÅ÷jÿ ‚Í¢•mº›9^¹–ÒÈæ3øänoj€Ûi¬´“¥kW=j‹[aË¸ºi"ZdÜ-_š÷p¥hRº‰úä~Xv´Ìi× Gb‰a KžOæ]õvé8&ÙÅvIø°&¥QÀxbzSS®sŒqÆ}ˆ¤Ïo*c]>ÞÛ«º”Lvå=²˜ZÓîZrá/²¾‚ý‘ä.g£s¶oÞC4×GzÜ“¼,p |«]×9…äí½Ê
dqáIÇQ	ÜWåEësÓî›Ñ²r¥Bm•sVžOþ[PæÊÐdâNƒÿ 1	¼V7ç£ºÔ—y®xqo¾XªÙ^Y#œÒ¶\$!Ä+2’­`‰¤õ-7’(m]gèÝ’?IÑÂ/«¶«CíK”‡ïa§Û3mÔ¥i<
„ºHÅ(+iÚ€¡ÎgØb{VòxŠS.òK÷¦?Óé©=$úÀ(üC¤[ÛÊŠŒ“U< €5ÎÊy-%-§‰'QÇ\9[m%k:’‘™FÞ‰9tµ¼°t	æ”]ïgÝã…-“óM”øîtŠñ:­nvO!wg@lUžÿ –¯øá‹ó\\Ý»CL%kX¨ë')FUÑ»yy7%©œç.™Äœ¹ûÏ™ûÈJÜÛq¶|“i%+~TÑÉgºû¸KM$!´	!	H€¥­A)Hš”L€I†	Q·¶aÕ¶ò„’µ©HmE°{Tó¡Ôf½Dýr?,;<sO`Öº kÐ8"FƒG Ò{¥Sì]õvÿ å—3á5•O0%]C¯¦¼%¯WÂˆõ£y¨ãè„v_g«en”íû]’v„òœZ~­ž•Ïg½è	“ÜÅêv‹îú‰qµt7Íy‹êÜíšW¸Ž•–Ô—š^mã»Ç<—¦cºË¶…'ÎB/¬VR3¥cð§¶æ¸ˆBØ$_Z”›Ûm.6ªg²“Ë†\aaÆ–€¤¸9ÀŽT:Ãœ—§¤T¬wŠ‡·]êO¥ÚM—F3N_{ð2Cû¡óå-äg¥•[Gí•ƒ¨RAÔHÙW‚­¨,8<²R¦]–4&Ý^rÉÅÛ(j9šüÃA…¶pZJ{"QÑ[ÎÜ 7?2û­Ÿ?õøÖÚýéôè±÷Ž@êog@óAO‰)øÑº­1I{¥WstþŠP['Î]¸–SÄvÜ÷	Éö‘oºíí,"XÌò•ð¡«f„›e		ê8û§É¶œÄkíR;è{zß>üÜY<ÔóP!{âèlªh³AÁ(*wÃä&	Ô(!mtá‹ ©Þ»¤¶ÓiWkÛÂíô;šÜ…ZÚAtG^6¯Î}\¦€	 €‚×œ‘U-]£iç*ÖóW¢îÔÍÚÏ•.JžíÕî"ÀZ0¤Ù†î”©Õ$öÛPŽ.¢>¹>Á‡)=£!×ŒzÑ3ˆÃ©º{ãú}[ü*§ã*4VƒF11‰ÑÁµ–:*#¾ˆÞÇü:köÉê)Z…¶—•nl-Ðã&²záNg*O9='íÂÿ Ô,„‡6Z¸Å§8R©lª—	¹Üêä:6–Èþ±®çîûHK¬-¥ŒÈZLÁÄ7¼¬U–þÙ[â&TYsúµÇ¤„d¶JJ¯mÀ™I”ÜË.R½ü1¿wYJ¯nlÕ¶¡55>vdù¨Ê9ln×ä‚©Ð¾NÓ*Ÿ%+ó¿YÔg}²TI»´ŽsdåJÕæñ>®-7óm"H¸#œÂùJ§iç>Ê˜8áê_YàÕÄ®Y&¯8‡ÊËîP›–†‰ ä_„¤:ºê¼í†	x­#€×áFñ·'tU.ý#âCÃZìÿ O¦tg°Û]ís¡wKH<	R“ða×'4Ú[”ñ)Å%Ü¥î­»­Ø7Ò¯VuÉ^÷¢‡5cv¢I::UÍ#ÅÛWU½Þ“û5©Ükæ#ìóxýä7¹íÌ­š’ï“)$S£ç/Ÿp”¥!! ¤	  H„XÙ­!çk…«’ËbªRû·æÑáÃk[y¬W"†”(¡ÊJ–"œ£ŒI~ùÏ7nœdyî‘ÈG¿„Üoo·Ã”bÑ±0‰à„¤rø¹ç}¨.UE’“OÖ‘ç{Ï7ßÃ¹ èw{)·m"@t®ž•À™v¥´øp”ê v:ˆúäûÓ´}s ÂxÄÍDªMtE*tÆéÓ´¹}ËÞ­ªÙDøË‰“Jv H‰kŠŠ
Lö`N••#{ëôt~—¨¾#ÍË—kjè>Ë2üÜ)‹–Ã­+«Ùª¡a)VðÜ¦}#*Úy¤ÿ Xˆþ#¹•é{­ÃšâÒuA8­®Ñ~áp°•çjyIÀ¤ÈM*IäªºÝ¹K¢J-²òDÊšŸ5]ª¡½ÞòK6JQ¢­ßYÌãýÖ­žÒÞ¦l;KöÓ¢x]#úï¼íáVw+Í{l×ó­6ÿ Às»…²êB›q%+IÒ]ÿ §/LË@›ežs*ªOn×—Ýêèk¥¿‘Wƒæ¼¥†õOÈ;Ð»NcŸñFéÞ<Å9Ð:tepæ|"½x0êp,%RáHËýTov{bÛ²ñ“å^ÁÄ)ÅÑ¹
Ž¦:sòÎ)Âxö¾o+Ó‹¯†Ò­ii3÷ï/¨T£$¤MG€cÏ~9E\-E²{QDCn8<½Ù7žÿ Í¹ÉÔqú‰%¤sŠ¢ð•ÜAus^ð»3Ö¥8³?|¨6ÕÓ§¤¸^µê90Ø¼za†Î\§\ú&àÝ]Mv…ÂàS˜Ü»ó«ÿ žoÎw‘5%¦îÝÒ]Ñ­ÓVÙL¹NszNÕ¿guž‘õÛ7³µ ó’Ùå-}ï¸…¸ÎDßºtŒÊ×™gŽâ
7yJÁwÏ‰68ZAÚ_|¨aç”\zéK»uÃŠºU4¥}‡AÕnFD¾ž'R³N¼PãXÖÑ8Ã†7PÑ7)öz¶x,Õ.T¸C'¯\	õ¸µA¤ˆ™žŠÅ%×ÆB7Â¾…±«Pƒ¤JwhâY»B: \Nf]k7Hw.Úr¯2ë{mç^Âáµ]6«œRÛt‚Ú–ÒÔÃ©iþB¼«kÙ^EÇ*ûr¨1vjí±£/kÙù7Üîâ«=âÑ#xîÅS=&•¥=ÏãäàÛ®Ju t“´“ŠsUí¢3]„åy·Ú¥OÉªî¹Vy¤‹gÏ@vîÏåÚOÞ"vÓ’W`£-bê»U'ÍÃWl&êg#ˆ"‹Bû¶Õ°¨g|ÚÚ,glÉó€ý_/¼é"Ç~2b¾HbãP;
WtÛK›AÊq£ïÆÓ~í1Ò7mÀ$iÌÙø±ovŸm.26½ÔR7kæyÚQâ)Pý"âí?=l]
àÖ“ìFèN€—e¯’z—oN]*|!
0ÙÃ+JWgf-TFÓÁOŸ¶QwÞ©=Gò™:ô™nXæpåÓþŸE:rÀ¤xýÚV”÷ñA!¨hƒ*#Ð7tÔâ±
wâr!{ÕÁû%±-Ù$àV(·¼OÖý\)÷jD r”£ÉmÒ¡ËËÃ;0©8S@áI¥«?ášùUüªà%2J@’R( 9dÂ@Äúkv3’lóÕÛ*êÿ gÝ …-£«,¶×òm%^á6¬ )à<•›2Ù4ŽépP ¹Z+Ñ$”Ú³õ«ùW=Ü5bòý*þð¸²$†m“ûÓ7Ý'öf\^ßJîÇ›r’  F®«d‰ùtû
…ËŸf»ppžƒÃâ)³ÃNw½[H–Òm3ODŠÝë:	ö B1Ÿ˜‘5ŒÇFšFøÒzH¾¨È&¤™®µ]¿ñÐµ¸âí²‚ûEÕ)çTÚµ5Ò­kÉûÃ|Î–w¸.Sy`p³ud,PÃÊòŒ-?0÷¸…´35tØòÖ®Œ®£Áç§éØ¼í€Mût¦aYHä®\¤ÂJ–úe¼ÍÓDÐëf	H-\5³qn£´…|$+˜¸^ò³I=ËMÑD¤æ,K’û\¥|ä.ÊðIJR¢âd3|ÕÛÖo8žßcŸY^œ¬º°—Èä%jÙfñDÿ !ïü¸)P…$ÔhAãþ™~y2—÷z‰©AË›¶O#À†úcûU¹,\íºOí‘Ï)ŒoMÔhÍÀô†í]š–‘Þ¯¤GÙÂìÕÊ²}Æe©3é÷+ê0øù„*|

oß)bç5ûwd_z}ˆÝ©®Ê”ø)Ô¼=ºßÞ-|8jÝqä!¤Û9É÷K†™MhJ@ïF^¦îÝó›lÎéîPß½v7†ôPòlÊÖÛÖ[ÊOƒÐ£¨¥7[‡Enn+>QQm¸­T}2ìçºw%<§_uýd!¤ Û"CPJF˜,¶¥7»Ø£«)Iù4Ÿïóþe¨K-%-²Úr¡"‰JDz5š•èj%
q¿8ú¹=¸ù¾Ù|þò?‰ïe†ÒGCfƒ$7M®“ç÷†­¬¿d³ÊIx‰­f¡-Û5ÎsgiqÓ_[°³™LNwÏpï)¾óÎw«mÞÈx³$¥–dJ”r¡²´òq|ÔíÂŸ¾P^ð¸Êo‰„ 'ÍÛ3Ú´×»s¤vR$ êµÂúqïU
:fFÆ)SŒ h&5–7YÑåi¦–ïz´
~â?HôHk‘>Ô92âƒ†G©™'Š7Ö ÛýÏQZ+B†0«Ë7}ñRÎà™z\Û¶vzO­NGÑóÝžõdÙï4ÏÑœJ¥˜Ž}…ØËŸêå{v¡±uûUŠÓ!x‘%¼Û¦»¯nÈRTº‚&•ic’¨mn.W)˜µ½–ÃÉù›ÛvÞâ		-\4@yƒŠN±Û6®bá;Ówy6Bó¬ Hejå/(þÊÿ %ôs ][¤æJ™&s˜›–ëíâ|£+ðûxôW”Uqn š¨¥ l¤«éóNÃ;ÚØ~Õ»•Òb¦OÃ†Þf–;é°´j f—†ž‘¿¹êníê‘FÜôw»Ç*‰ý¦ÏÚÅý°£wm¦á¾ƒ‘gÄq¸1wJ¡¾q¶C¿?Ó×@Ì)]BÓØ‹Š„·që))ê4ÏÏÜ´‰qfwú¸Üö¤:•¸;–†o|Ž¤†&7ÖúÄOÑ­N´ dÙï²çûH¶eÏ<¤ô¯}c§¤_¾Šbp‡ïÝ3°Ý`¥­KtòÕá-9>­¸s{Ýn¯¤Q1T³òiûO9	ÜÛ¸íš¾ç5)O)jîüã°–Ùe°T·jO)Ç]Wl®t4©VÎr[Jž‘óŽŸ’³OçcÒï]¨dJÀÂ!h×+áÅ³6ì©M´°}
“h ùÛÇ†ÊÝù»tÀ½¼q/o\™ gZA3Énß37=~îõâÿ †î°
–œÒZ’*¥<çkî!›–è­'øsJZÔDëÉææOîÍ«Í·å¾RyÆª<>¡)ùtûÕBÇ	áÓ`L	f3¼o‡Õ]»	ÄtÆœïú´ÌbOéŠŒkÖU®i32&uÑYVf4KL°õõl{÷½IJ„ÁÄ[Jm.°ª©•‰‰ŽIOtžbùhŽM«znäòÛUnÛHí½¡õYoôÓ¡vï,­ûœ­)r’ú>u­Ïƒõ¨‡mÜDå³sjèÊâvžoÑºˆiÖÝ%	2µ½"xÿ f¼˜¾ÛŸßÂÁHCèÙ¹¶Ur“¢¼¶—ÍT!ûpU»Þ9Iä‚sz2•îíû8kîòÃ„„Š	«c:»T;æ®;G29	ulºžIÒÊ¯x¨ºÜáD9j¡{»Ó”à÷/ŽÒá›´P<œÅ#š¡²â<3&.mG)h9¥§mÆLn=æi%ú%Æ¿)ä2«í×‰Ôq³‚ÁIâP”n—ˆÛµ»m
ž´¡P®#ÂX7së8Ž¦è¶ùÇÔ²;Ä¥?ÖBÕŠm-ÔAÑ7GRêä-)këäÛ÷jÍ—r¤l¸¡st;„ùOÑ¢'
Ú= c™\ï;Qo¸Û­­°ïwÑÏéä¾õpa%wwM–‘Ê®ÈËøìCŽ\-&éß)vþ	 ¢OÈ³ÍñàYY£öq%¹„‘:?uô_3mËvÃ_´ow–áË?¤}Ï‘gæÚƒ|êš¶ ùb28¤c’Ý
ýÚßé<ãÖìÿ K[§¢Í•Û™I´$K¤-ÏÎ¸¤üªáå0ƒ½wÃ’ä ¡¼ƒe/Ü+É5ÊÍó£0•o7CÁ$),›df’öo)t¤ý/’ú(*^ÓŠÄêõ,¥ñz¨^‘-¸Dôâ´b«·Gž§»Þ­ý#óDˆÄìhŒ&'§‡D é4ŠD«2gª±¾¾®Þ~;Þ®dIz1…]Ú8m.×Ê}3NË›tÇ%ß¬ØéyÒ/Ý{älÛ\¶¬Í»Ü°ò¶_Gmiqåa[¯|4„¼è)A”Ø¸OÑæä¹Û[¯oæávË&Ý;<ªäû5ß9l/äÞæBÐëtPèîmÔf¤(‰ÊcÇiÔòá{¶øô¶W ôn+$ì’¯ys÷Ð­Òú¢¿·béÖ(ZWvžO‰o[qûM+U'™“ç‘àyß¼íâãwä—g^j¨ó~º›Ów·³•BòÐË“›jêá‹¤Q7¡Ð5gHT¼1¼šÓiv^ët©‰#Ù†ÆÕÈüòz›½œzïR•ú¸Þ×¸‡KHâ@*W¿GSwî¤š>ïL÷¢}òãxoNb%io¨•Ç%àô)ƒï%œÖÖfÑ"¹Þœ–´öÛ{(ï;¸ròøKË\’jVFÃ#êÓ³ã®¿7tn…Ð4Ñ³>J–Ÿ¸ô+J["JZ”6xt~‚ßŸçºÁ]ÂÕ'n%jpâó×™bs¾'q|áÎÆîG•Q_nçÏ½ô‹ò-@Fö*š¤ZÜ¶›n‘ÍUÚ¹‰úÌˆ„°ùô[M¾ÍD?ÄÝ§*×Ý6ÎD}$!”¡,°ŽC ”2¤ 8=U¿×z¨rbSQb|˜­q2‰KGbQ=Û”nÝvcŠÙÑêÒ?Â"rÇÎ;uLaíÄåCYþ<è#âö{›o|ÿ à$¡0qãe´ºÊÆÛIâ„î«ò§÷uÖÍšÞ%Kiä¿ES§oi´©ÛG¼ç“uœþf[Á^“»2¦íC2“òwƒž×Óýä&úÐæ±T€Q3J«Ñ:yöêù~GßÊdVhT¶Út8ˆ^é»=ñµ Û;<‘äÖ…|Ú“î ¦á9nÙ%›¶N…ŠÈÈØ$nõôöàL•Z¯Î7à'2|Cˆ!HX
J†ƒWÂ€•Z¼x
Ûþ²:ªÑ×3Õ>™¿rîO©¾-ô>Ê]ã9r|¶t‡B§ÆcDÒÛÞ»ÝMâùÂÖÙ)‡(>ùpÓ’’®\uã×Ql{–º›×y(ù;Fý“Ã/(G»‹f{/Hÿ Ö8zW<U+'*•ÕÉèX– ž[¿dÎtp„‘-Ýº¤Lù+~SO‚×/Ä‚êÿ ”Ù*I·Ñ£Ÿ÷9wÙÑ&JyÒ(ùjþ¥®.º72
Ô©ôŽƒ´áÁÅ©Îj>qÿ ³b
l—ï@èÞÞ*i½lÙ£åø½ŒË‹iE®žúðn™],ôÊýß¤Êâ¼1¨ÊÛa¦Ôf *¥\Î,í)]üI	 iü¼ÿ ¼z¨r}¹¦œ`H*«Iâƒ„Èf$HÑÁHÝ Oºÿ ²½êÁÿ Œ1óŽÁ˜?Ñœx"@La3¯†&I!=hßdPe¶¦ëÁ\†ö]ÉÓ°¾ÕæLÊ¼ZB¡«†Æ{[–Ðèl×aÔ‡ îU
]«~“º—>šÏ”¦å–®[]½·ÝÂoìWÒîw¤gÑÌÉ8ó3r>oÍ.¾²#Ó™WnœKGàwpÞþ·(êÀÇ ùl¿9oú8kyÛÉnZŒä¦¹ØX›’ý$.Àªj´ µ=,9´Éð6šû¸¹engk¿G”GŒ¤ä‹†§³tÊ.«2F¿î:Û­&q»ô”°” tî[s×}$4Æÿ »Ÿ-â„ž OÅ‹KcÊe–Ð®ø$g÷pýÒ¹,¶¥ø¢qº÷jê»—Míï
PzUx+VDxqÂao°’á*ô]ÞŒ3(™-c¿_;æáôÖïsÊçÞ7C@U]_~â¼Ú~®Ü{¤!´€ë•)B•Û~yÈVéÝR@Íyv³$ŽÝ×Üî»O-çîÈ¸NÍÅÎ¢é»ZvŒ§mp•) %"HBD’‘Ú¡<ÔÆò\¦v–ÁÖ–Yi9|÷à­„§åÄçÞ*SIÖ©?+M|b$+ E5VºcwêòÞµ«Þ®zEª%÷ŽFc²íÀ×ý*%SÖ‚N¹&7ç¯¾¹üÃ¤Ð´£”T©Dl wKVD¦,¬]!NZÛ´ÂÔ*
›B[WºLgFFƒ]X -~÷be•É¥ ”?î€û
.îGÌ3*·ryr8ÖLÛ;^nôdf¶zI¿lU$MÀ¥ñþr?…,çµq%ÝÜ³PZ>vØýNm¢„ãèÍ9­;CºU³¿£‰ƒ= Œ!±ƒmÜ–µ ÍÈÌ6N¥‹Ý«ªløi¤6ƒòn¾Ž°yÂŸr¨¹­dË¾}ØS‡$¨ø#4Y[ãz3p¥KH3ðsÁ:ëö ÉWo$(}~UÏuÑ§Ã‹Ýè¡±1kmÞ·ç;åÂmV[‹© Š[yÏa=Úãø¢Qjý—s[éQ;\x\Žóë îÛ5·½Ñé/®qŸ)J=ª9-§ãÂ÷vïs"[ýâ¡9Åç_%¦‘m–ÊYIÌ„.§?ÏÜ|õÇiòlÆeí(Ô“RL:ò’VBœZSŒ’²=Ì0]!O,*áõ’û™{œîäGqø+icÓŠy*…ÌÓ1&S­e(”ªtÆÍ88"¢@˜°8åLèýÙÑù}\çOEGé2¯c‚4õÄK9è‰ðÌÏ^1¿ÕiìÝ~	/¸•)–/-|$f=iJÙçvÑ‘»„4¶£‘`êÈ¸’…5.±]i‡.­[A–jä¼œ»WûNÞÎ~›t]›WW‹j4UÆoàn²²˜¿º.Uòn&½ýçvÌ&õ¶òÞÚt¬S³uj®û”³\¬Î[IG6DÙ_‹°®ò¸@«í–ÁúFNÇÃ†.Rfm+ŸŽ—æ]mÎÂ²Ÿ}üÕã€q);ðâøêlË¯½wHe@xC,n{~m¥ºî8Jz4û»„«¨°¥Y´–›LþÕ<Š¶R‚E»syÂišYÞYð³CŽ¸¢Ë#;Ë4,Ù#Þºÿ ¿r»e‘é/'¡ÜÖf–Ë¦dþ>R°´wl™ï=ã)œÇä›ííòPÛhAnÕ£6›î¹Î¬óÞ_m bH¢uÃÍ‘<èZO„’#w¸LÊìØ$ðôhŸà­uôó"¡J!J4Ç áÅë@M 	ÓOYWÝëþÎ¿Vde+fætùÅF£¦$ç#]3ø°1®ˆP
˜ªÑ(ß¤ÿ „önÿ úó.2°ì¨rÈÌˆµNýµô}àã-©ÇVŒ…JRBºA.ß•&å¿éí…E³þQITó£ÁZ 1½™6aÒ+i•yŸiæˆ˜)¨W\C®s¶í/¬åçóìÿ ‰oó°ÜûÙÒ´‡·eøÅA<·c’ê9èƒvü´”Ûïv†	P¥½êGiÛýÔÂ\°¸šÚŒÝOþ™Ï/õ+vRDÝ`‡‘ÆÙš‡‰š´&fÕÕ%3ùµùf¥Üå^O/~iJñ<§Ààn2ïÞ7/ê£xÖr	œtÂš¾ãMõŠ†hÞ©i[#‚SqcôP¥¬É	J:’ÔaWn&ÊóÀüã…^†×Ù§Ê}”M@åUÂSR©Ÿ!llòö»ÈU³ƒ¥Äªü ÕûŸìû½£Îjßå~Ñ}¤)„ûÒäyr€
XošÃï%y9PŽJxyÊ=Ú¹ËŒ©5Wƒ¨ãª2CiRÔuŒÄÆïmÄåq§QèÓOÁZR~^¾"¡tL«Ãx?¦Æˆ™Ãpj‹O«z]fêÏ»U?X¨*â¦Ài.*E(%ŒâSÊøÊýßà®P‰ærÝÄ¢XÌ¥@EšÔÚ]·zÝ¥¥ )´Ò¼˜.n‹—,—9ôd•´O{ËL÷å€~ÛrÎÚe­}¯„”A{ý9v—˜5^ítìý˜å6¯«‚ÊÒmï‘<öîQÄËœƒòˆîÓ •&ÕÕt€£žÑrÇj¯oå Ý)wÖ©èï˜NÛ+åí¾q¯˜Vê.ºÂEÎê¸5Î×Éƒ>Ó÷w¼:<£IÄ+£d%]Ò|ÒûÈrÁ|—Ð¦‚µ­‰¼ÇlãŠ‡Ä8’ƒá±t'UÛ[(ñ ¸Ù÷ñ½€´‰uÖ¨ÝÌÎ…å8G~ Ü‘%]ºãÓÂiŸFßæÐ˜u$È¼2ó”ï¸ƒtúj»=:ÛÒVàËnÇ‚ßFz§N²µ[º®JN[Á_FÂ|¯o-$¢áH•¸UK+—rèç^Ýr½ÇÉÂD‰•jfI5*Yí•Ô+uiBJ”BGdÁnÌ.õÜ e;3úÕlx™âiX6pŸ”\¸s|Ã/o'®\»'§IT’›dng—ç³&Õ_ôP\"Y¹#D‡à­&eåþ¡rÚ8qÿ ÃX˜ÇÖ%9pE¶$õ>ÈúµWv‡eÃ Î^ÜâzéÑ£†)Yþ&7á–›Aë]ŸÁ)ÇTÛ	SŽ¨àcm¼TÛù
ÔƒE'¤ZÞCj³hq(TWÊùDH‚“ëAu(èÄ>ÆÂ§®IØ\%Nz†êÝÃ{(–
îüBmw¡g"/%•%Zºoû;ß›\«I%ÔrtÐ¤w‹ç&6þIÀµ?`dïö‹5ýéäåE¾÷dØo%t‚$[|ªj³'oéÝÅ¾÷a3q…!fZTÑÌ‘öÌô«¸nóg3jhV´¨fAñaö0ÂÙÜ§/¸îu<‘îg¥ÎÕºòð)õ›ý[Û
[J%ÂaÚ«f{’0AÌàûEägï Ú¡DZÛ‰¼¤T€|™èûg^ýÚÕ?Yå¶:ÔU%Mù¦Û[ÙþzçÊFem,œÊQ×®ÛW§1%$íï6˜èY(¶QÁ–nñ¹ñ`=pÞSˆrõeÅq†ÙDy[×IÔÈK@qr•3·'Óñbü2B·jkYT‰>E~·4Œ —à­>¿Ox¨p\ÄHaS¢+YkŒ(F0)M\Z¢ØýÇó>­á§¡d+Iö%s–‚ g³´ÀßfRšíxðºüò7Ò”­—ú@¥—}lM[>Y)˜jå’KO 8Ù"D¥c6Òyªíº•³ØÑ‚¥¢NÈ¤¸‘´Aæ¯çßÀeô®ëu
¤:ÀïyN0ž×äù‹†p ÓíÔÔ…&¶¼m/¤ÝÐÃ£¸,Ý¤sRç›s»èâãu^ÒöÓÈ»Ã*²ðî\Lz+¾~ÁÅÛ8¤œÍû…dû8l|÷L™ëÌÂ_÷ÉðtúH„i’&€â
ÆŽŽÝ9ŸÚ;–¹Q ±>Øáñ¡WJ[Û|(tóº3æQáféV®ï¸€3ÂIS·)$¸¤”ô­w©WGkó6þ_ÏÜÂsŒˆHÈÃ(å¬D6Ÿ|¯&°-ìÎ)E-ô™|­Êÿ 7Òž]À$Ÿ$×ˆÞÚ¾ò:6m„ö­¤{Qå(äA[€%	­G I‡oV$»ç} ƒB–€a?r„~Ò²=?ÀT*}±öbF¢'*zIƒ3S£(·::'B}[‰ÐYf¾LRGO kO	uàž8ß&s%Ëo{q/Á<Ý»—\l¡—ˆÌ¢%šPÕ«ˆe„%¶Ï¥¸@JFQOEé³OÞ¸Ñ†l†T$*[n<¾û#Eò*ºí›+÷üÜfNðK¤ó.-“—¬m•n¿t¸ÊíòYDè›6r¨ŽÔ»r«Í¥¸*rçx8N9®ÝHñR¤¥1#é*s]:O%q”Y¤’R\YQš.Ú-SnUÉ}™çJ±'i=Â¢ÖãyÈ^µû=ÃÈ5wlHºÑþón¬™ØW”û(
»ofå1‡NÐÎŸ½f7[ÇžàHãZcâÆöV®ëÖBDoâ¡D³Ý,úCþ/“‚ÃŠtîÙ;|á2J•ÌcíÊú/¬‹‹¶æÛ+*a7$­3ƒžŒË×/r3ù–âBg¼.ši8%imä5éÛRýÜ÷.Ù»w¦å•' í[è]ÈŸº‰®á‹\¼”²‚øWtâžeOÑ¶Ÿ¶€›½ÞêŠFÓÖªC­¨)o:nS›´èà&ÞÎå×ô¶Z,å²Ü¹è›J|(•õ£¶È<—FWOjM¹Z®ýKªu”öî²êÇ™h‹ÑgxÓ®-¬©JT3Ä&‰åB’0H	Pü –/x¨Q–ðÌNQ)Hˆ¬„è1„õc<a‰WÉ=_²õwUœ›f˜ö±1)G	”¸Ì2"œ0T0Äu£{o°%Ä‡%	F'Ñ‰ñD€ pu*'âõ"‡Z
ãK[+’{0›k;Å°ÛKK¬3pž™©2z&—ÛG7&x±|Ù°³hòRÚ|§0J‚ò†Üogï"õCw«—Tãg¦n@(eN~öƒM[Ú<µ-nÜ­Õ<IqY•&ÛC\–òµËæG£Ý¸»æJË‹eI°¥“›;­§Ï)9v:UÂzI€ 	% `‘Þõ*ã@BDñ Š&SÕjQÄÐJs.)'\«"Ô“4©H@ð(Ä™5'ðv„à4ð
2¦c†˜Ê'QI×¨"BB$‰ž=B˜‘½?ºõw'¸gàÁ˜ž­S”V£Dã I¬¸é	`eÅXÞßæ÷‹ÿ ÂÔN&P"y=s@ŸSS/VûÅrnØ©/*Gd M~,.íõda´gRŽ J~4*Ý¥MÔ!­2Á.r'Ýw=K‡Ã%ªº7ˆ¬–~M=ºù¹S:¤8ñÊÝ¾P^*¤ô`ìäùLÊòqèåÂ—g!
JTMFGèÕãõlÏÓx¨Pf>Ì^Zc9zã*œ²ƒM|PÉ”¼‹ä}ß«¸3)c‘†:8àœAëÅ5×ŒBˆ®Y‰áêj'rß¬Ùÿ bpEòzD%]8ÒÚB
–JÞèÖ3æåmllC-\¡-n×YqD(©)Fd¥§¹½+»ySN*îõn)a(;Å¡µÏå9YQð	y3l:$í'Â—*.n‹,ZÜ)HB ”™eÌOœ…t™W}"½!ö’ÒZ»ëÃ¤åå[ŽôŽöù<¦ÄYÙ l*á”'½kÊUÕ³–—¼0º
’OgâÁ¥"&4áÖƒ#YcíC\;?»õoHdÀŠL~^8¨"mP'µ¥dgÇ(ÞŸæ‘ú?ö(Ìr¨,SœÂ»è”„±”¡- „6µyuŠ/$ª”wNr3ö”€‘@ À%#)œÄ¨gX å3OÂ *	Ðz¶rùÕ{Ã
äÌÓ	V&­@N ¸­uc„á®]ìtTõoª’ÈÌÎœ#Q'\«àŒÁÆxB”j$M8Aç<})¢ìë2äê½á…ká¦5HT{QÁŒ ðÃzO@éžÏWqÀ† Ï‚C]"³'õ«¤«¬Â“Cš`j™å­åº”úÃ·h+’òä	G#c,	]Y™ý¾<~õg-¢WÇƒ7ìéO6¬gßÇž²ûµ…é,ÎŽB¾4.ÌÜ«ãEdHÄIS÷Ð?t Œ$©ûèVu¥3{pIEœ†¢¯n‘fuMJõãÍÙã#´¨˜fÐ;J‰ô6š1Z©lÚ÷j€zJ‰‘ÒBÐ“/•1[{\e.”ë”	ÚÚZô§D~ím¤Ñã5¥°&¾y^Ô~ém=]1ö ŸC·2Ð3ö"–Vÿ ~}¨Ú±`&L}¨ýÅŸ¾>Ô~äÉ_/Év‰‰ùïè€Š'õ¿ðÄÎîäÇŠô
ýhö£ù}~´{POðóLdêOä‰ÿ WÞ¦÷r«ô©ƒÿ ×.˜ÉÄÄÿ †¹Â:D@u½Yü¢"Cv¼N‘Ò"‘#»|ãq!ºî'ß·Ýw;qü¶âÒ õ·îÛü¶ç Öi‹W™S++Vr“0AE2Â¸ÕC×¬LÖu4`:Ñ¬kÿ .éÂ\Äú·‰íXàÕÄiü¢¬ôö0,p˜œTLŠã†& "œpzÆU‰ž°Š}xÕ-8ATøkèÀ‘ö…c,…(–&°f$'Â1TÌ'08V$eZqÁ2RR–ˆ4¬´Ršc)HL§JKÖí }h Š÷R$P'CÁLÒFÐ3ü{¨_Ð?áš(`MMbdÂ†cŽ3#ÃÃ=‚ …v!)TŒª8á,qT™ÈÖš)ÂbJÒ$D’ã3ëÓ::ó¬íTx%
I'ŒLÓT	¬NUª¾f™™:'IDÉ•†8ˆ2$ð“®%33A\8#H	ò¸uÎÖH–‚p—˜ñæ0Y¥Mxë fP ™ÈŸn$2&ZF;S‰Èe::ñ]—­1Ârãœ ÿ ‡wŸWt™K£6éãØJþTö5üÆ_î‰`N… ËŠ¼hÕ® á.3Ó¦'€2¤àŸÆXD¸àLË†8˜Ê(5h¥"“ÃòÆb0™‰‘Ã=11)N]xÙ Ì=ˆààœ©’2¬¸"s	Æ¼M)Zv"†g­Hõâ`åLê+3JÚ×\"r¤À<QŒÄ„õñÀÌ&)L+dH™™ŸÉ ÎdÐõ h8Åp™õ 6dgf&1¦H!GŠpdi(5V¼`æf\F	‡tÅb³¡ìj‰HLÐÊ\1SÇ¨ðAÂ´ @Âxn$¦1W­qÖ ‰j8Îs„‘É¥"`×GQ N˜Ÿb()¯%/uëèÑ×èîãÞ§ÕßwÌÍ" ÄÎ…5ñÀ‚CŒÁÒt	Ep ‰êŠT`gzµþ8DŽ‰™(ëG[ÃgñÂ5PáHÐDR`ñéø°p'	§·( 	‘£Š
g>«€Á4Ä0Šøá 8…1‰ŠÊ³–ˆŒ€¤´ãFs4‘#³f©åëÀ La! ÄÕYWQ*a2„¢DÎ•$E 2&é¤ž?‹	:A'Œv°1ž2Ÿ¯i)ÿ ºœÔ4ž8­2™Ë\p4 ü°F8pñÆÈ3Ò=Î.¾"¼3€D:¤àVi4:xb£„¤0 ‰šû®fD{P0Dé€‚@œŒÄ´éŒDŒ»19Öz;,VD	a¨ÁÚ¨ðc\ªU×‰:R’ë{¨‘Ó¦ùw©Ä”W|N•°&HÌ·®(AŸ*¢	˜:äD¢„V‚¢åµRgYD¦4é1)h‰c è‰4Ò*+Q9Ë‚	ÇX Ö_Ñ<Q†HhBR+Ù‰Ãþø¥	œ¸kAŸf2ÔÈÒt®:bJYˆN‘!ˆ‚ñà”L‰ÎSÄÁI2™8ˆ 9Ž 
 "\S×8ÍÃ*VBNÍN5Ÿ™ŒÄ:ûAÀŸZT–9Ò%ª0¨™Ë«F1:ÓU×Tëu¢¦yŒÀìAÖpãÕ´Æ˜‰FÕxxàŒ´3ª¿,(:èà¬qTHªC²'ª‘b*5x1)NTÓJÁ˜ÐtOLLH‰¨¨5èƒJHÚ€8væ€@žƒš'I&tq.¹ž‰D¤;˜i*OØê!_åöê×¼/ï/ZÀ+m-Œ©Ks	[.+›ÛE/¯Ç†Ïý¼Rþüxlþ¢)¼îÇY¿‹ßìÑñ£ùÓßpŸÖGó·%«ÑÇë£ùãŸôãõñMúàÿ Ó×Çóç?éÇëãùëŸôãõÑüõÏúqúøþ|çý8ý|S+þ”ÜGóç?é‡ëãùòÿ é‡ýÄ?_ý0ÿ ¸Šoåõíÿ ò"ÇÕ=~Š?î"ÿ  _ì¿ü˜2ÿ P‘?ðŸü¨ÿ P™”ÿ åE?Ô'‡öCÿ uþÁÅû'ÿ *?ý‚|vÇþæ?ž£‡È/õÑMö×Ý¯ãE7ÓE7½¼†sÚæößø±Míkùß‰ ïl úï‹þ+k>7WÍ­|g¿WÍ­+^ý\6´ñžý\SzÚc>SßªŠok_ì~ê$7¥¤´í½ú˜9w¥Ÿw¿QÌì«ŽÛß¨Šo8\|øÑ?âXyWÿ í¢›ÂÆz|«ÿ öÑ/M±#<÷ý¼H^Y«¦wõ>’×ïêàÖ´ÃËåÅo¯ÏjÅ½'^™:zÑæ­þùö#ÌÛŸ¶n&YdŸ®kT~îÎ‘çšÓ6Ì“žk?³3¯Ï5íÇñMîËm1Ð8‚¤¸…¨­YB6[*æ§ÿ èÿÙ  07070100036e55000081e40000000000000002000000013d1fe2e300000911000000200000000000000000000000000000001600000003reloc/shell/index.cgi #!/usr/local/bin/perl
# index.cgi
# Show the shell user interface

require './shell-lib.pl';
%access = &get_module_acl();
&ReadParse();
&header($text{'index_title'}, "", undef, 0, 1, undef, undef, undef,
	"onLoad='window.scroll(0, 10000); document.forms[0].cmd.focus()'");
print "<hr>\n";

@pprevious = @previous = split(/\0/, $in{'previous'});
$cmd = $in{'doprev'} ? $in{'pcmd'} : $in{'cmd'};

$pwd = $in{'pwd'} ? $in{'pwd'} : "/";
if (!$in{'clear'}) {
	$history = &un_urlize($in{'history'});
	if ($cmd) {
		# Execute the latest command
		chdir($pwd);
		$history .= "<b>&gt; ".&html_escape($cmd)."</b>\n";
		if ($cmd =~ /^cd\s+(.*)$/) {
			if (!chdir($1)) {
				$history .= &html_escape("$1: $!\n");
				}
			else {
				chop($pwd = `pwd`);
				}
			}
		else {
			local $user = $access{'user'} ? $access{'user'}
						      : $remote_user;
			if ($user eq 'root') {
				$out = `($cmd) 2>&1`;
				}
			else {
				$cmd =~ s/\\/\\\\/g;
				$cmd =~ s/"/\\"/g;
				$cmd =~ s/`/\\`/g;
				$out = `su "$user" -c '$cmd' 2>&1`;
				}
			$out = &html_escape($out);
			$history .= $out;
			}
		@previous = &unique(@previous, $cmd);
		}
	}

# Show the history and command input
if ($history) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_history'}</b></td> </tr>\n";
	print "<tr $cb> <td><pre>";
	print $history;
	print "</pre></td></tr> </table><p>\n";
	print "<hr>\n";
	}

print "$text{'index_desc'}<br>\n";
print "<form action=index.cgi method=post>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'index_ok'}'></td>\n";
print "<td><input name=cmd size=50></td>\n";
print "<td align=right><input type=submit name=clear ",
      "value='$text{'index_clear'}'></td>\n";
print "</tr>\n";
print "<input type=hidden name=pwd value='$pwd'>\n";
print "<input type=hidden name=history value='",&urlize($history),"'>\n";
foreach $p (@previous) {
	print "<input type=hidden name=previous value='",
	      &html_escape($p),"'>\n";
	}

if (@previous) {
	print "<tr> <td><input name=doprev type=submit value='$text{'index_pok'}'></td>\n";
	print "<td><select name=pcmd>\n";
	foreach $p (reverse(@previous)) {
		printf "<option>%s\n", &html_escape($p);
		}
	print "</select></td> </tr>\n";
	}
print "</table>\n";
print "</form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

   07070100039a4d000041ed0000000000000001000000023d1ffb5000000000000000200000000000000000000000000000001100000003reloc/shell/lang  07070100039a4e000081a40000000000000002000000013d1fe2e300000185000000200000000000000000000000000000001400000003reloc/shell/lang/ca   index_title=Shell
index_ok=Executa l&#039;ordre:
index_history=Historial d'ordres
index_clear=Neteja l&#039;historial
index_desc=Introdueix una ordre Unix a executar en el camp de sota. L'ordre <tt>cd</tt> es pot utilitzar per a canviar el directori per a ordres subsegüents.
index_pok=Executa l'ordre anterior

acl_user=Executa les ordres com a usuari
acl_user_def=Usuari Webmin actual


   07070100039a4f000081a40000000000000002000000013d1fe2e3000003d9000000200000000000000000000000000000001400000003reloc/shell/lang/de   #        webmin-0.97     shell/lang/de
#
#        created: ??.??.????                by: ???
#        last modified: 05-may-2002          Rev.: 29-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 05.05.2002        Rev.: 29.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Befehls-Shell

index_ok=F&uuml;hre Befehl aus:
index_history=Befehlshistorie
index_clear=L&ouml;sche Verlauf
index_desc=Geben Sie einen 'Unix-shell'-Befehl zur Ausf&uuml;hrung in das untenstehende Textfeld ein. Der <tt>cd</tt>-Befehl kann benutzt werden, um das Verzeichnis f&uuml;r nachfolgende Befehle zu &auml;ndern.
index_pok=F&uuml;hre vorherigen Befehl aus

acl_user=F&uuml;hre Befehl aus als Benutzer
acl_user_def=Aktueller Webmin-Benutzer   07070100039a50000081a40000000000000002000000013d1fe2e30000016e000000200000000000000000000000000000001400000003reloc/shell/lang/en   index_title=Command Shell
index_ok=Execute command:
index_history=Command history
index_clear=Clear history
index_desc=Enter a Unix shell command to execute in the text field below. The <tt>cd</tt> command may be used to change directory for subsequent commands.
index_pok=Execute previous command

acl_user=Execute commands as user
acl_user_def=Current Webmin user
  07070100039a51000081a40000000000000002000000013d1fe2e30000015e000000200000000000000000000000000000001400000003reloc/shell/lang/es   index_title=Interfaz de Comandos Shell
index_ok=Ejecutar comando:
index_history=Historial de comandos
index_clear=Limpiar historial
index_desc=Digita un comando de shell de Unix a ejecutar en la caja de texto inferior. El comando <tt>cd</tt> se puede usar para cambiar de directorio a los siguientes comandos.

acl_user=Ejecutar comando como usuario
  07070100039a52000081a40000000000000002000000013d1fe2e300000177000000200000000000000000000000000000001400000003reloc/shell/lang/fr   index_title=Commande shell
index_ok=Exécuter la commande:
index_history=Historique des commandes
index_clear=Effacer l'historique
index_desc=Entrer une commande shell Unix à exécuter dans le champ de texte ci-dessous. La commande <tt>cd</tt> peut être utilisée pour changer le répertoire pour les commandes suivantes.

acl_user=Exécuter les commandes en tant qu'utilisateur

 07070100039a53000081a40000000000000002000000013d1fe2e3000001cf000000200000000000000000000000000000001400000003reloc/shell/lang/hu   # webmin-0.90shell/lang/hu
# translated by Gabor Keve <gabor.keve@it-worx.hu>
#
index_title=Parancshéj
index_ok=Futtatandó parancs:
index_history=Parancsok története
index_clear=Történetek törlése
index_desc=Adjon meg a szövegmezõbe egy Unix parancshéjat amit futtatni szeretne. A <tt>cd</tt> parancsot a könyvtár váltásra lehet használni.
index_pok=Elõzõ parancs futtatása

acl_user=A parancs futtatása mint felhasználó
acl_user_def=Jelenlegi Webmin felhasználó
 07070100039a54000081a40000000000000002000000013d1fe2e300000144000000200000000000000000000000000000001b00000003reloc/shell/lang/ja_JP.euc    index_title=¥³¥Þ¥ó¥É ¥·¥§¥ë
index_ok=¥³¥Þ¥ó¥É¤Î¼Â¹Ô:
index_history=¥³¥Þ¥ó¥É¤Î¥Ò¥¹¥È¥ê¡¼
index_clear=¥Ò¥¹¥È¥ê¡¼¤ò¥¯¥ê¥¢
index_desc=¼Â¹Ô¤¹¤ë Unix ¥·¥§¥ë ¥³¥Þ¥ó¥É¤ò²¼¤Î¥Æ¥­¥¹¥È ¥Õ¥£¡¼¥ë¥É¤ËÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£¸åÂ³¤Î¥³¥Þ¥ó¥É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÊÑ¹¹¤¹¤ë¤Ë¤Ï<tt>cd</tt> ¥³¥Þ¥ó¥É¤ò»ÈÍÑ¤Ç¤­¤Þ¤¹¡£

acl_user=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô
07070100039a81000081a40000000000000002000000013d1fe2e300000107000000200000000000000000000000000000001b00000003reloc/shell/lang/ko_KR.euc    index_title=¸í·É ½©
index_ok=¸í·É ½ÇÇà:
index_history=¸í·É ³»¿ª
index_clear=³»¿ª Áö¿ì±â
index_desc=¾Æ·¡ÀÇ ÅØ½ºÆ® ÇÊµå¿¡ ½ÇÇàÇÒ À¯´Ð½º ½© ¸í·ÉÀ» ÀÔ·ÂÇÏ½Ê½Ã¿À. <tt>cd</tt> ¸í·ÉÀº ÈÄ¼Ó ¸í·ÉÀÇ µð·ºÅä¸®¸¦ º¯°æÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

acl_user=»ç¿ëÀÚ·Î¼­ ¸í·É ½ÇÇà
 07070100039a83000081a40000000000000002000000013d1fe2e30000019d000000200000000000000000000000000000001400000003reloc/shell/lang/pl   index_title=Linia poleceñ
index_ok=Wykonaj polecenie:
index_history=Historia poleceñ
index_clear=Wyczy¶æ historiê
index_desc=Podaj w&nbsp;polu tekstowym poni¿ej polecenie pow³oki Uniksa, które ma byæ wykonanae. Za pomoc± polecenia <tt>cd</tt> mo¿na zmieniæ katalog dla nastêpnych poleceñ.
index_pok=Uruchom poprzednie polecenie

acl_user=Wykonaæ polecenie jako u¿ytkownik
acl_user_def=Aktualny u¿ytkownik Webmina
   07070100039a84000081a40000000000000002000000013d1fe2e300000105000000200000000000000000000000000000001c00000003reloc/shell/lang/zh_TW.Big5   index_title=«ü¥Oshell
index_ok=°õ¦æ«ü¥O:
index_history=«ü¥O¾ú¥v
index_clear=²M°£¾ú¥v
index_desc=¿é¤JUnix«ü¥O¡A°õ¦æµ²ªG·|Åã¥Ü¦b¤U¤è¤å¦r°Ï¡C ¨Ò¦p <tt>cd</tt> «ü¥O·|§ïÅÜ¥Ø«eªº¥Ø¿ý¡C
index_pok=°õ¦æ¤W¤@­Ó«ü¥O

acl_user=°õ¦æ©R¥Oªº¨Ï¥ÎªÌ
acl_user_def=¥Ø«eWebmin¨Ï¥ÎªÌ
   07070100036e56000081a40000000000000002000000013d1fe2ea000000d0000000200000000000000000000000000000001800000003reloc/shell/module.info   risk=high
desc_ko_KR.euc=¸í·É ½©
desc=Command Shell
desc_pl=Linia poleceñ
desc_de=Kommandozeile
name=Shell
desc_ja_JP.euc=¥³¥Þ¥ó¥É ¥·¥§¥ë
depends=0.990
version=0.990
desc_hu=Parancshéj
desc_ca=Línia d'Ordres
07070100036e57000081a40000000000000002000000013d1fe2e300000039000000200000000000000000000000000000001900000003reloc/shell/shell-lib.pl  # shell-lib.pl

do '../web-lib.pl';
&init_config();

1;

   0707010003b21c000041ed0000000000000001000000053d1ffb5e00000000000000200000000000000000000000000000000f00000003reloc/software    0707010003b21d000081a40000000000000002000000013d1fe2cf000049cf000000200000000000000000000000000000001a00000003reloc/software/aix-lib.pl # aix-lib.pl
# Functions for aix package management

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
	local($_, $list, $i, $file, %fileset);
	$i = 0;
	$list = join(' ', @_);
	open(LSLPP, "lslpp -L -c $list 2>&1 | grep -v '#' |");
	while($file = <LSLPP>) {
                %fileset = &fileset_info($file); 
		if ($fileset{"type"} eq "R") {
                        $packages{$i,'name'} = join("-", $fileset{"package_name"}, $fileset{"level"});
	                $packages{$i,'class'} = $fileset{"package_name"};
	                $packages{$i,'desc'} = $fileset{"description"};
                }
 		else {
	                $packages{$i,'name'} = $fileset{"fileset"};
	                $packages{$i,'class'} = $fileset{"class"};
	                $packages{$i,'desc'} = $fileset{"description"};
	 	}
		$i++;
	}
	close(LSLPP);
	return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
	local(@rv, @tmp, $d, $out, $archout, %fileset);

	$out = `lslpp -L -c $_[0] 2>&1 | grep -v '#'`;
	%fileset = &fileset_info($out);
	if ($out =~ /^lslpp:/) {
		open(RPM, "rpm -q $_[0] --queryformat \"%{NAME}-%{VERSION}\\n%{GROUP}\\n%{ARCH}\\n%{VERSION}\\n%{VENDOR}\\n%{INSTALLTIME}\\n\" 2>/dev/null |");
		@tmp = <RPM>;
		chop(@tmp);
		if (!@tmp) { return (); }
		close(RPM);
		open(RPM, "rpm -q $_[0] --queryformat \"%{DESCRIPTION}\" |");
		while(<RPM>) { $d .= $_; }
		close(RPM);
		return ($tmp[0], $tmp[1], $d, $tmp[2], $tmp[3], $tmp[4], &make_date($tmp[5]));
     	}
	else {
		$archout = `uname -s`; 
		push(@rv, $_[0]);
		push(@rv, $fileset{"class"});
		push(@rv, $fileset{"description"});
		push(@rv, $archout);   
		push(@rv, $fileset{"level"});
		push(@rv, $text{'aix_unknown'});
		push(@rv, $text{'aix_unknown'});
		return @rv;
     	}
}

# is_package(file)
# Tests if some file is a valid package file
sub is_package
{
	local($out, $name, $filetype);
	$out = `file $_[0] 2>&1`;
	($name, $filetype) = split(/:/, $out);
	if ($filetype =~ /backup\/restore format file/) { 
	 	$fileset{"filetype"} = "AIX";
		return 1;	
  	}
        elsif ($filetype =~ /RPM v3 bin PowerPC/) {
		$fileset{"filetype"} = "RPM";
		return 1;
        }
        else {  return 0; }
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
        local($_, $line, $i, $j, $file, $out, $continue, @token, $firstline);
	local(@rv, @output, $description, @vrmf, @field, $k, $l, $stub);
        if (&is_package($_[0])) {
                @token = split(/\//, $_[0]);
                $i = @token;
                $file = $token[$i - 1];
		if ($fileset{"filetype"} eq "RPM") {
			$fileset{"fileset_name"} = "R:$file";
			if (-d $_[0]) {
		       		local @rv;
			        open(RPM, "cd $_[0] ; rpm -q -p *.rpm --queryformat \"%{NAME}-%{VERSION} %{SUMMARY}\\n\" 2>&1 |");
			        while(<RPM>) {
			                chop;
		        	        push(@rv, $_) if (!/does not appear|query of.*failed/);
		                }
			        close(RPM);
			        return @rv;
		        }
			else {
			        local($out);
		        	$out = `rpm -q -p $_[0] --queryformat "%{NAME}-%{VERSION} %{SUMMARY}" 2>&1`;
			        return ($out);
		        }
		}
		elsif ($fileset{"filetype"} eq "AIX") {
			open(FILE, $_[0]);
			$line = <FILE>;
			$continue = 1;
        	       	while ($continue) {
				if ($line =~ /^\}/) { $continue = 0; }
	                	elsif (($line =~ /lpp_name/) && ($line =~ / \{/)) { 
					$firstline = $line; 
        	       	        	$line = <FILE>;
               			    	$out = $out . $line;
	       	        	}
	                        elsif ($line =~ /^\]/) {
        	       	               	$line = <FILE>;
					if ($line =~ /^\}/) { $continue = 0; }
					else { $out = $out . $line; }
		               	}	
				$line = <FILE>; 
       			}
			close(FILE);
			@field = split(/\s/, $firstline);
			$j = @field;
			for ($i = 0; $i < $j; $i++) {
				if ($field[$i] =~ /\{/) {
					$fileset{"fileset_name"} = $field[$i - 1] =~ /\>|\s+/ ? $file : 
                       	                	                   $field[$i - 1];
				}
			}
			@output = split(/\n/, $out);
		        $j = @output;
			for ($i = 0; $i < $j; $i++) {
				if ($output[$i] !~ /\{|\}|\*/) {
					@field = split(/\s/, $output[$i]);
                                        $out = undef;
                                        $out = "$fileset{fileset_name}  ";
					$description = undef;
					@vrmf = split(/\./, $field[1]);
					$vrmf[0] =~ s/^0+//;
					$vrmf[1] =~ s/^0+//; if ($vrmf[1] == "") { $vrmf[1] = "0"; }
					$vrmf[2] =~ s/^0+//; if ($vrmf[2] == "") { $vrmf[2] = "0"; } 
					$vrmf[3] =~ s/^0+//; if ($vrmf[3] == "") { $vrmf[3] = "0"; }
					if ($vrmf[0] != "") {
						$k = @field;
						for ($l = 6; $l <= $k; $l++) {
							$description = $description . " " . $field[$l];
						}
						$out = $out . "$field[0], $vrmf[0].$vrmf[1].$vrmf[2].$vrmf[3], $description";
					}	
				}
                                push(@rv, $out);
			}
			return @rv;
		}
	}
	else {  return undef; }
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
        local(@token, $command, $i, $j, $file, $directory);
        @token = split(/\//, $_[0]);
        $i = @token;
        for ( $j = 1; $j < $i - 1; $j++) {
                $directory = join("/", $directory, $token[$j]);
        }

	$file = $token[$i-1];

	print "<script language=\"JavaScript\">\n";
	print "   function changeRadio(formName, radiobutton, disable) {\n";
        print "      for( var i=0; i<formName.elements.length; i++) {\n";
        print "         if (formName.elements[i].name == radiobutton) {\n";
        print "            formName.elements[i].checked = disable;\n";
        print "         }\n";
        print "      }\n";
        print "   }\n";
	print "</script>\n";

        print "<tr>\n";
        print "<td>", &hlink("<b>$text{'aix_device'}</b>", "aix_device"), "</td>\n";
        print "<td>$directory</td>\n";
        print "</tr>\n";

        print "<tr>\n";
        print "<td>", &hlink("<b>$text{'aix_software'}</b>", "aix_software"), "</td>\n";
        print "<td>$file</td>\n";
        print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_preview'}</b>", "aix_preview"), "</td>\n";
	print "<td><input type=radio name=preview value=1> $text{'yes'}\n";
	print "<input type=radio name=preview value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_commit'}</b>", "aix_commit"), "</td>\n";
	print "<td><input type=radio name=commit value=1 checked> $text{'yes'}\n"; 
	print "<input type=radio name=commit value=0 \n";
	print "     onClick=\"changeRadio(this.form, 'save', true)\"> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_save'}</b>", "aix_save"), "</td>\n";
	print "<td><input type=radio name=save value=1> $text{'yes'}\n";
	print "<input type=radio name=save value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_auto'}</b>", "aix_auto"), "</td>\n";
	print "<td><input type=radio name=auto value=1 \n";
	print "     onClick=\"changeRadio(this.form, 'overwrite', false)\" checked> $text{'yes'}\n";
	print "<input type=radio name=auto value=0> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_extend'}</b>", "aix_extend"), "</td>\n";
	print "<td><input type=radio name=extend value=1 checked> $text{'yes'}\n";
	print "<input type=radio name=extend value=0> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_overwrite'}</b>", "aix_overwrite"), "</td>\n";
	print "<td><input type=radio name=overwrite value=1 \n";
	print "     onClick=\"changeRadio(this.form, 'auto', false)\"> $text{'yes'}\n";
	print "<input type=radio name=overwrite value=0 checked > $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_verify'}</b>", "aix_verify"), "</td>\n";
	print "<td><input type=radio name=verify value=1> $text{'yes'}\n";
	print "<input type=radio name=verify value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

#        print "<tr>\n";
#        print "<td>", &hlink("<b>$text{'aix_include'}</b>", "aix_include"), "</td>\n";
#        print "<td><input type=radio name=include value=1> $text{'yes'}\n";
#        print "<input type=radio name=include value=0 checked> $text{'no'}</td>\n";
#        print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_detail'}</b>", "aix_detail"), "</td>\n";
	print "<td><input type=radio name=detail value=1> $text{'yes'}\n";
	print "<input type=radio name=detail value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_process'}</b>", "aix_process"), "</td>\n";
	print "<td><input type=radio name=process value=1 checked> $text{'yes'}\n";
	print "<input type=radio name=process value=0> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_accept'}</b>", "aix_accept"), "</td>\n";
	print "<td><input type=radio name=accept value=1> $text{'yes'}\n";
	print "<input type=radio name=accept value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

	print "<tr>\n";
	print "<td>", &hlink("<b>$text{'aix_license'}</b>", "aix_license"), "</td>\n";
	print "<td><input type=radio name=license value=1> $text{'yes'}\n";
	print "<input type=radio name=license value=0 checked> $text{'no'}</td>\n";
	print "</tr>\n";

        print "<tr>\n";
        print "<td>", &hlink("<b>$text{'aix_clean'}</b>", "aix_clean"), "</td>\n";
        print "<td><input type=radio name=clean value=1 \n";
	print "     onClick=\"changeRadio(this.form, 'preview', false),\n";
	print "		      changeRadio(this.form, 'commit', false),\n";
	print "               changeRadio(this.form, 'save', false),\n";
	print "               changeRadio(this.form, 'auto', false),\n";
	print "               changeRadio(this.form, 'extend', false),\n";
	print "               changeRadio(this.form, 'overwrite', false),\n";
	print "               changeRadio(this.form, 'verify', false),\n";
#	print "               changeRadio(this.form, 'include', false),\n";
	print "               changeRadio(this.form, 'detail', false),\n";
	print "               changeRadio(this.form, 'process', false),\n";
	print "               changeRadio(this.form, 'accept', false),\n";
	print "               changeRadio(this.form, 'license', false)\"> $text{'yes'}\n";
        print "<input type=radio name=clean value=0\n";
	print "     onClick=\"reset()\" checked> $text{'no'}</td>\n";
        print "</tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
	local(@token, $command, $directory, $out);
	@token = split(/\//, $_[0]);
	$i = @token;
	for ( $j = 1; $j < $i - 1; $j++) {
		$directory = join("/", $directory, $token[$j]);
	}

	local $args = ($in{"preview"}   ? "p"  : "")   .
        	      ($in{"commit"}    ? "c"  : "")   .
 	              ($in{"save"}      ? ""   : "N")  .
		      ($in{"auto"}      ? "g"  : "")   .
		      ($in{"extend"}    ? "X"  : "")   .
        	      ($in{"overwrite"} ? "F"  : "")   .
	              ($in{"verify"}    ? "v"  : "")   .
#        	      ($in{"include"}   ? "G"  : "")   .
	              ($in{"detail"}    ? "V2" : "")   .
	              ($in{"process"}   ? ""   : "S")  .
	              ($in{"accept"}    ? "Y"  : "")   .
	              ($in{"license"}   ? "E"  : "");

	$command = "geninstall -I \"-a$args\" -d '$directory' '$fileset{fileset_name}' 2>&1";
	if ($in{"clean"}) {
		$args = "-C";
		$command = "installp $args 2>&1";
	}

	local $out = &backquote_logged($command);
        	if (($?) || ($in{"preview"}) || ($in{"clean"})) { 
        		return "<pre>$command<br>$out</pre>";
        }
	return undef;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are path type user group mode size error link
sub check_files
{
	local($_, $list, $i, $_, @w, %errs, %myfile, $epath, $path, $fileset, $file);
	$i = 0;
	$list = join(' ', @_);
	open(LSLPP, "lslpp -f -c $_[0] 2>&1 | grep -v '#' |");
	$out = <LSLPP>;
	if ($out =~ /lslpp:/) { 
		open(RPM, "rpm -V $_[0] |");
		while(<RPM>) {
       			/^(.{8}) (.) (.*)$/;
	        	if ($1 eq "missing ") { $errs{$3} = "Missing"; }
        		else {
                		$epath = $3;
	                	@w = grep { $_ ne "." } split(//, $1);
        	        	$errs{$epath} =
                	        	join("\n", map { "Failed $etype{$_} check" } @w);
	             	}
        	}
		close(RPM);
		open(RPM, "rpm -q $_[0] -l --dump |");
		while(<RPM>) {
        		chop;
                	if ($_ =~ /(contains no files)/) { return $i; }
	        	@w = split(/ /);
       			$files{$i,'path'} = $w[0];
        		if ($w[10] ne "X") { $files{$i,'link'} = $w[10]; }
        		$files{$i,'type'} = $w[10] ne "X" ? 3 :
					    (-d $w[0])    ? 1 :
	                	            $w[7]         ? 5 : 0;
	        	$files{$i,'user'} = $w[5];
        		$files{$i,'group'} = $w[6];
        		$files{$i,'size'} = $w[1];
	       		$files{$i,'error'} = $w[7]        ? "" : $errs{$w[0]};
        		$i++;
       		}
		close(RPM);
	}
	else {
		while($fileinfo = <LSLPP>) {
			chop($fileinfo);
			#Path:Fileset:File
			($path, $fileset, $file) = split(/:/, $fileinfo);
			%myfile = &file_info($file);
                	$files{$i,'path'}  = $myfile{"path"};
	                $files{$i,'type'}  = $myfile{"type"}; 
	                $files{$i,'user'}  = $myfile{"uid"}; 
        	        $files{$i,'group'} = $myfile{"gid"};
                	$files{$i,'mode'}  = $myfile{"mode"}; 
	                $files{$i,'size'}  = $myfile{"size"}; 
			$files{$i,'link'}  = $myfile{"link"};
	                $files{$i,'error'} = $myfile{"err"};
	                $i++;
	        }
	}
	close(LSLPP);
	return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
	local(%myfile);
	$out = `lslpp -wc $_[0] 2>&1 | grep -v '#'`;
	if ($?) {
		local($pkg, @w, $_);
		undef(%file);
		$pkg = `rpm -q -f $_[0] --queryformat "%{NAME}-%{VERSION}\\n" 2>&1`;

		if ($pkg =~ /not owned/ || $?) { return 0; }
		@pkgs = split(/\n/, $pkg);
		open(RPM, "rpm -q $pkgs[0] -l --dump |");
		while(<RPM>) {
		        chop;
	        	@w = split(/ /);
	        	if ($w[0] eq $_[0]) {
	                	$file{'packages'} = join(' ', @pkgs);
        	        	$file{'path'} = $w[0];
                		if ($w[10] ne "X") { $files{$i,'link'} = $w[10]; }
             			$file{'type'} = $w[10] ne "X" ? 3 :
                        	        	(-d $w[0])    ? 1 :
                                		$w[7]         ? 5 : 0;
                		$file{'user'} = $w[5];
                		$file{'group'}= $w[6];
                		$file{'mode'} = substr($w[4], -4);
                		$file{'size'} = $w[1];
                		last;
                	}
        	}
		close(RPM);
	}
	else {
		%myfile = &file_info($_[0]);
		$file{'path'}     = $myfile{"path"};
		$file{'type'}     = $myfile{"type"};
		$file{'user'}     = $myfile{"uid"};
		$file{'group'}    = $myfile{"gid"};
		$file{'mode'}     = $myfile{"mode"};
		$file{'size'}     = $myfile{"size"};
		$file{'link'}     = $myfile{"link"};
		$file{'packages'} = $myfile{"package"};
	}
	return 1;
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
        local(%fileset, $file, $out, $rv);
	local $temp = &tempname();

	$file = `lslpp -L -c $_[0] 2>&1 | grep -v '#'`;
	%fileset = &fileset_info($file);

	$rv = &system_logged("geninstall -u $_[0] >$temp 2>&1");
	local $out = `cat $temp`;
	$out = `cat $temp`;
	unlink($temp);
	
	if ($rv) { return "<pre>$out</pre>"; }
	return undef; 
}

sub fileset_info
{
	local($_, $out, %fileset, $package_name, $fileset, $level, $state, $ptf_id, 
	      $fix_state, $type, $description, $destination_dir, $uninstaller, 
	      $msg_cat, $msg_set, $msg_num, $parent, $class);
	%fileset = ();
	($package_name, $fileset, $level, $state, $ptf_id, $fix_state,
	 $type, $description, $destination_dir, $uninstaller, $msg_cat,
	 $msg_set, $msg_num, $parent) = split(/:/, $_[0]);
	($class, $stub)             = split(/\./, $package_name);
	$fileset{"class"}           = $class;
	$fileset{"package_name"}    = $package_name;
	$fileset{"fileset"}         = $fileset;
	$fileset{"level"}           = $level;
	$fileset{"state"}           = $state;
	$fileset{"ptf_id"}          = $ptf_id;
	$fileset{"fix_state"}       = $fix_state;
	$fileset{"type"}            = $type;
	$fileset{"description"}     = $description;
	$fileset{"destination_dir"} = $destination_dir;
	$fileset{"uninstaller"}     = $uninstaller;
	$fileset{"msg_cat"}         = $msg_cat;
        $fileset{"msg_set"}         = $msg_set;
	$fileset{"msg_num"}         = $msg_num;
	$fileset{"parent"}          = $parent;
	return(%fileset);
}

sub file_info
{
	local($_, %file, @out, $filename, $fileset, $type,  
	      $dev, $ino, $mode, $nlink, $uid, $gid, @args, $rdev,
	      $size, $atime, $mtime, $ctime, $blksize, $blocks);
  	%file = ();	
	
        if ($_[0] =~ /->/) {
		($filename, $symlink) = split(/->/, $_[0]);
		chop($filename);
                ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
                 $atime, $mtime, $ctime, $blksize, $blocks) = lstat $filename;
	}
	else {
		$filename = $_[0];
                ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
                 $atime, $mtime, $ctime, $blksize, $blocks) = stat $filename;
	}
	
	@out = `lslpp -wc $filename 2>&1`;
	($stub, $fileset, $type) = split(/:/, $out[1]);

        $file{"path"}    = $filename;	
	$file{"dev"}     = sprintf "%d,%d", $dev/256, $dev%256;
	$file{"ino"}     = $ino;
	$file{"mode"}    = sprintf "%o", $mode & 07777;
	$file{"nlink"}   = $nlink;
	$file{"uid"}     = getpwuid($uid);
	$file{"gid"}     = getgrgid($gid);
	$file{"rdev"}    = readlink($rdev);
	$file{"size"}    = $size        ? $size : 0;
	$file{"atime"}   = scalar(localtime($atime));
	$file{"mtime"}   = scalar(localtime($mtime));
	$file{"ctime"}   = scalar(localtime($ctime));
	$file{"blksize"} = $blksize;
	$file{"blocks"}  = $blocks;
	$file{"link"}    = readlink($filename);
	$file{"package"} = $fileset;
	$file{"err"}     = -e $filename  ? 0 : "Error";
	$file{"type"}    = -l $filename ? 3 :
                           -d $filename ? 1 :
			   0;
	return(%file);
}

sub package_system
{
	return $text{'aix_manager'}; 
}

sub package_help
{
        return "installp lslpp";
}

1;

 0707010003b21e000081a40000000000000002000000013d1fe2cf000008cf000000200000000000000000000000000000001a00000003reloc/software/apt-lib.pl # apt-lib.pl
# Functions for installing packages from debian APT

# update_system_input()
# Returns HTML for entering a package to install
sub update_system_input
{
return "$text{'apt_input'} <input name=update size=20> <input type=button onClick='window.ifield = document.forms[2].update; chooser = window.open(\"apt_find.cgi\", \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=600,height=500\")' value=\"$text{'apt_find'}\">";
}

# update_system_install()
# Install some package with apt
sub update_system_install
{
local (@rv, @newpacks);
print "<b>",&text('apt_install', "<tt>apt-get -y -f install $in{'update'}</tt>"),"</b><p>\n";
print "<pre>";
&additional_log('exec', undef, "apt-get -y -f install \"$in{'update'}\"");
open(CMD, "apt-get -y -f install \"$in{'update'}\" 2>&1 </dev/null |");
while(<CMD>) {
	if (/setting\s+up\s+(\S+)/i) {
		push(@rv, $1);
		}
	elsif (/packages\s+will\s+be\s+upgraded/i ||
	       /new\s+packages\s+will\s+be\s+installed/i) {
		print;
		$line = $_ = <CMD>;
		$line =~ s/^\s+//; $line =~ s/\s+$//;
		push(@newpacks, split(/\s+/, $line));
		}
	print;
	}
close(CMD);
if (!@rv && $config{'package_system'} ne 'debian' && !$?) {
	# Other systems don't list the packages installed!
	@rv = @newpacks;
	}
print "</pre>\n";
if ($?) { print "<b>$text{'apt_failed'}</b><p>\n"; }
else { print "<b>$text{'apt_ok'}</b><p>\n"; }
return @rv;
}

# update_system_form()
# Shows a form for updating all packages on the system
sub update_system_form
{
print "<h3>$text{'apt_form'}</h3>\n";
print "<form action=apt_upgrade.cgi>\n";
print "<table>\n";

print "<tr> <td><b>$text{'apt_update'}</b></td>\n";
print "<td><input type=radio name=update value=1 checked> $text{'yes'}\n";
print "<input type=radio name=update value=0> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'apt_dist'}</b></td>\n";
print "<td><input type=radio name=dist value=1> $text{'yes'}\n";
print "<input type=radio name=dist value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'apt_sim'}</b></td>\n";
print "<td><input type=radio name=sim value=1> $text{'yes'}\n";
print "<input type=radio name=sim value=0 checked> $text{'no'}</td> </tr>\n";

print "</table>\n";
print "<input type=submit value='$text{'apt_apply'}'></form>\n";
}

 0707010003b21f000081e40000000000000002000000013d1fe2cf00000708000000200000000000000000000000000000001c00000003reloc/software/apt_find.cgi   #!/usr/local/bin/perl
# apt_find.cgi
# Show a list of all packages from APT

require './software-lib.pl';
&ReadParse();

&header();
print <<EOF;
<script>
function sel(m)
{
window.opener.ifield.value = m;
window.close();
return false;
}
</script>
EOF

print "<form action=apt_find.cgi>\n";
print "<input type=submit value='$text{'apt_search'}'>\n";
print "<input name=search size=20 value='$in{'search'}'>\n";
print "</form><hr>\n";

# Build the list of all packages
open(PKG, "apt-cache search \"$in{'search'}\" |");
while(<PKG>) {
	if (/^(\S+)\s*-\s*(.*)/) {
		push(@list, [ $1, $2 ]);
		}
	}
close(PKG);
@list = sort { $a->[0] cmp $b->[0] } @list;

print "<table width=100% cellpadding=1 cellspacing=1>\n";
if ($in{'search'}) {
	# Show list of matching packages
	foreach $p (@list) {
		print "<tr> <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
		print "<td><a href='' onClick='sel(\"$p->[0]\")'>",
		      "$p->[0]</td>\n";
		print "<td>$p->[1]</td> </tr>\n";
		}
	}
else {
	# Show packages in categories
	foreach $o (split(/\0/, $in{'open'})) {
		if ($in{'close'} ne $o) {
			$open{$o}++;
			$open .= "&open=$o";
			}
		}
	foreach $p (@list) {
		local $l = uc(substr($p->[0], 0, 1));
		$l = "[0-9]" if ($l !~ /[A-Z]/);
		if ($l ne $letter) {
			print "<tr> <td nowrap colspan=3>\n";
			if ($open{$l}) {
				print "<a href='apt_find.cgi?close=$l$open'><img border=0 src=images/close.gif></a>\n";
				}
			else {
				print "<a href='apt_find.cgi?open=$l$open'><img border=0 src=images/open.gif></a>\n";
				}
			print "$l</td> </tr>\n";
			$letter = $l;
			}
		if ($open{$l}) {
			print "<tr> <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
			print "<td><a href='' onClick='sel(\"$p->[0]\")'>",
			      "$p->[0]</td>\n";
			print "<td>$p->[1]</td> </tr>\n";
			}
		}
	}
print "</table>\n";

&footer();

0707010003b220000081e40000000000000002000000013d1fe2cf000006ec000000200000000000000000000000000000001f00000003reloc/software/apt_upgrade.cgi    #!/usr/local/bin/perl
# apt_upgrade.cgi
# Upgrade a debian system

require './software-lib.pl';
&ReadParse();

$| = 1;
$theme_no_table = 1;
&header($text{'apt_upgrade'}, "");

if ($in{'update'}) {
	print "<hr>\n";
	print "<b>",&text('apt_updatedesc',
			  "<tt>apt-get update</tt>"),"</b><p>\n";
	print "<pre>";
	&additional_log("exec", undef, "apt-get update");
	open(CMD, "apt-get update 2>&1 </dev/null |");
	while(<CMD>) {
		print;
		}
	close(CMD);
	print "</pre>\n";
	if ($?) {
		print "<b>$text{'apt_updatefailed'}</b><p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}
	else { print "<b>$text{'apt_updateok'}</b><p>\n"; }
	}

print "<hr>\n";
$opts = $in{'sim'} ? "-s -y -f" : "-y -f";
$cmd = $in{'dist'} ? "dist-upgrade" : "upgrade";
print "<b>",&text($in{'sim'} ? 'apt_upgradedescsim' : 'apt_upgradedesc', "<tt>apt-get $opts $cmd</tt>"),"</b><p>\n";
print "<pre>";
&additional_log("exec", undef, "apt-get $opts $cmd");
open(CMD, "apt-get $opts $cmd 2>&1 </dev/null |");
while(<CMD>) {
	if (/setting\s+up\s+(\S+)/i) {
		push(@packs, $1);
		}
	elsif (/packages\s+will\s+be\s+upgraded/i ||
	       /new\s+packages\s+will\s+be\s+installed/i) {
		print;
		$line = $_ = <CMD>;
		$line =~ s/^\s+//; $line =~ s/\s+$//;
		push(@newpacks, split(/\s+/, $line));
		}
	print;
	}
close(CMD);
if (!@rv && $config{'package_system'} ne 'debian' && !$?) {
	# Other systems don't list the packages installed!
	@packs = @newpacks;
	}
print "</pre>\n";
if ($?) { print "<b>$text{'apt_upgradefailed'}</b><p>\n"; }
else { print "<b>$text{'apt_upgradeok'}</b><p>\n"; }

foreach $p (@packs) {
	local @pinfo = &show_package_info($p);
	}
&webmin_log("apt", "check", undef, { 'packages' => \@packs }) if (@packs);

print "<hr>\n";
&footer("", $text{'index_return'});

0707010003b227000081e40000000000000002000000013d1fe2cf00000178000000200000000000000000000000000000001900000003reloc/software/close.cgi  #!/usr/local/bin/perl
# close.cgi
# Remove some class from the open list

require './software-lib.pl';
&ReadParse();
open(HEIROPEN, "$module_config_directory/heiropen");
@heiropen = <HEIROPEN>;
close(HEIROPEN);
open(HEIROPEN, "> $module_config_directory/heiropen");
print HEIROPEN grep { $_ ne "$in{'what'}\n" } @heiropen;
close(HEIROPEN);
&redirect("tree.cgi#$in{'what'}");

0707010003b228000081e40000000000000002000000013d1fe2cf0000009e000000200000000000000000000000000000001c00000003reloc/software/closeall.cgi   #!/usr/local/bin/perl
# closeall.cgi
# Empty the open list

require './software-lib.pl';
unlink("$module_config_directory/heiropen");
&redirect("tree.cgi");

  0707010003b229000081a40000000000000002000000013d1fe2cf00000013000000200000000000000000000000000000001a00000003reloc/software/config-aix package_system=aix
 0707010003b233000081a40000000000000002000000013d1fe2cf00000013000000200000000000000000000000000000002300000003reloc/software/config-cobalt-linux    package_system=rpm
 0707010003b258000081a40000000000000002000000013d1fe2cd00000016000000200000000000000000000000000000002200000003reloc/software/config-corel-linux package_system=debian
  0707010003b259000081a40000000000000002000000013d1fe2ce00000016000000200000000000000000000000000000002300000003reloc/software/config-debian-linux    package_system=debian
  0707010003b261000081a40000000000000002000000013d1fe2cd00000017000000200000000000000000000000000000001e00000003reloc/software/config-freebsd package_system=freebsd
 0707010003b262000081a40000000000000002000000013d1fe2cf00000016000000200000000000000000000000000000002300000003reloc/software/config-gentoo-linux    package_system=emerge
  0707010003b263000081a40000000000000002000000013d1fe2cd00000014000000200000000000000000000000000000001b00000003reloc/software/config-hpux    package_system=hpux
0707010003b264000081a40000000000000002000000013d1fe2cf00000013000000200000000000000000000000000000002500000003reloc/software/config-mandrake-linux  package_system=rpm
 0707010003b265000081a40000000000000002000000013d1fe2cf00000013000000200000000000000000000000000000002000000003reloc/software/config-msc-linux   package_system=rpm
 0707010003b279000081a40000000000000002000000013d1fe2cf00000017000000200000000000000000000000000000001d00000003reloc/software/config-netbsd  package_system=freebsd
 0707010003b27a000081a40000000000000002000000013d1fe2cd00000013000000200000000000000000000000000000002100000003reloc/software/config-open-linux  package_system=rpm
 0707010003b27b000081a40000000000000002000000013d1fe2cd00000017000000200000000000000000000000000000001e00000003reloc/software/config-openbsd package_system=openbsd
 0707010003b27c000081a40000000000000002000000013d1fe2cf00000016000000200000000000000000000000000000002100000003reloc/software/config-openserver  package_system=pkgadd
  0707010003f705000041ed0000000000000001000000023d1ffb5c00000000000000200000000000000000000000000000001400000003reloc/software/help   0707010003f708000081a40000000000000002000000013d1fe2cf000000d8000000200000000000000000000000000000002700000003reloc/software/help/aix_accept.ca.html    <header>ACCEPTA els nous acords de llicència</header>

Selecciona Sí per acceptar l'acord de llicència i instal·lar el programari.
Selecciona No per rebutjar l'acord de llicència i cancel·lar la instal·lació.

<hr>

0707010003f709000081a40000000000000002000000013d1fe2cf000000c4000000200000000000000000000000000000002400000003reloc/software/help/aix_accept.html   <header>ACCEPT new license agreements?</header>
Select Yes to accept the license agreement and install the software. 
Select No to reject the license agreement and cancel the 
installation.

<hr>
0707010003f70a000081a40000000000000002000000013d1fe2cf000004b8000000200000000000000000000000000000002500000003reloc/software/help/aix_auto.ca.html  <header>Instal·la AUTOMÀTICAMENT el programari necessari</header>

Indica si vols instal·lar automàticament el programari necessari.
El programari necessari és aquell programari que un altre producte 
necessita per funcionar.
<br><br>
SÍ li diu al sistema que instal·li automàticament qualsevol programari
que sigui necessari per a productes de programari que vulguis instal·lar.
Per a actualitzacions seleccionades, SÍ també li diu al sistema 
que instal·li qualsevol actualització corresponent que trobi al
mitjà d'instal·lació.
<br><br>
Si estableixes l'opció "REESCRIU les versions iguals o més noves" a SÍ,
has de posar l'opció Instal·la AUTOMÀTICAMENT el programari necessari a NO.
<br><br>
Per veure una llista dels productes i requisits de programari que
s'instal·laran, estableix l'opció "Només VISTA PRÈVIA" a SÍ.
<br><br>
NO li diu al sistema que NO instal·li els programari necessari per als
produxtes de programari que seleccionis per instal·lar. Si tries NO
i el sistema es troba a faltar programari durant la instal·lació d'un
producte, es cancel·larà la instal·lació d'aquest producte. El sistema 
llista el programari necessari, i llavors continua instal·lant la resta
de productes.
<hr>



0707010003f70b000081a40000000000000002000000013d1fe2cf0000048f000000200000000000000000000000000000002200000003reloc/software/help/aix_auto.html <header>AUTOMATICALLY install requisite software?</header>

Indicates whether you want to automatically install requisite
software. Requisite software is software that is required for another
software product to function.
<br><br>
YES instructs the system to automatically install any software that
is a requisite for the software products you select for installation.
For selected updates, choosing YES also instructs the system to 
install any superseding software updates found on the installation 
media. 
<br><br>
If you set the option "OVERWRITE same or newer versions" to YES, you 
must set the option "Automatically install REQUISITE software" to NO. 
<br><br>
To see a list of software products and requisites that will be
installed, set the option "PREVIEW the installation" to YES. 
<br><br>
NO instructs the system NOT to install software that is a requisite
for the software products you select for installation. If you choose
NO and the system encounters a missing requisite during the 
installation of a product, the installation of that product is
cancelled. The system lists the missing requisite and then continues
installing other software.
<hr>


 0707010003f70c000081a40000000000000002000000013d1fe2cf00000216000000200000000000000000000000000000002600000003reloc/software/help/aix_clean.ca.html <header>Fes neteja després d'una fallada</header>

Fa neteja després d'una instal·lació interrompuda i intenta esborrar totes
les peces incompletes de la instal·lació prèvia. La neteja s'hauria 
d'executar sempre que qualsevol producte o actualització de programari 
queda en un estat bé d'aplicació bé d'execució i es pot executar manualment
segons calgui. Per compatibilitat amb versions anteriors, es poden acceptar
altres banderes i paràmetres amb installp -C, però s'ignoren, ja que 
s'intenta tota la neteja necessària.

<hr>


  0707010003f70d000081a40000000000000002000000013d1fe2cf000001d4000000200000000000000000000000000000002300000003reloc/software/help/aix_clean.html    <header>Cleanup install failure?</header>

Cleans up after an interrupted installation and attempts to remove all
incomplete pieces of the previous installation. Cleanup should be performed
whenever any software product or update is in a state of either applying or
committing and can be run manually as needed. For backwards compatibility other
flags and parameters can be accepted with installp -C, but are ignored because
all necessary cleanup is attempted.

<hr>

0707010003f741000081a40000000000000002000000013d1fe2cf00000c78000000200000000000000000000000000000002700000003reloc/software/help/aix_commit.ca.html    <header>FORÇA les actualitzacions de programari</header>

Indica si vols forçar les actualitzacions de programari que estàs
instal·lant. Quan les forces l'actualització, estàs forçant que les
versions anteriors d'aquest producte NO són necessàries en absolut.
TOTES LES VERSIONS ANTERIORS A LA QUE ESTÀS FORÇANT S'ESBORREN.
Forçar el programari té dos efectes. Allibera espai al disc ocupat per
versions anteriors del programari. Elimina la possibilitat de poder rebutjar
l'actualització i tornar a la versió anterior.
<br><br>
SÍ diu al sistema que forci les actualitzacions del programari que 
estàs instal·lant. Totes les versions anteriors a la que estàs forçant
s'esborren. En general, no és recomanable forçar actualitzacions de
programari que estàs instal·lant per primer cop. Per exemple, després
de fer servir una nova versió, pots decidir que prefereixes fer servir
una versió anterior del programari. Un cop has forçat l'actualització 
del programari que estàs instal·lant, no tindràs cap manera de recuperar
les versins anteriors. Has de reinstal·lar les versions anteriors per
poder-les fer servir.
<br><br> 
NO diu al sistema que no forci les actualitzacions del programari que
estàs instal·lant. S'aplicarà el programari que estàs instal·lant.
Quan s'aplica  programari al sistema, esdevé la versió activa del
programari. Si està substituint una versió anterior del programari,
la versió anterior es desa en un directori especial del disc.
Es pot, si cal, recuperar la versió anterior, rebutjant la versió 
actual. Un cop estiguis satisfet amb les actualitzacions, les hauries
de forçar per alliberar l'espai del disc utilitzat pels fitxers desats.
<br><br>
Si tries NO per a "FORÇA les actualitzacions de programari", llavors has
de triar SÍ a "DESA els fitxers substituïts".
<br><br>
Si és desitjable que forcis les actualitzacions de programari o no,
depèn de les circumstàncies. Hauries de considerar el següent a l'hora
de prendre una decisió:
<br><br>
O Si estàs instal·lant actualitzacions individuals per arranjar un
problema informat, es recomana que contestis NO. Llavors pots verificar
que el pedaç corregeix el problema i no en causa cap més abans de
forçar-la.
<br><br>
o Si tens un espai de disc molt limitat. pot ser necessari contestar SÍ
a forçar el programari o bé fer servir un directori alternatiu de desat
en un sistema de fitxers muntat per NFS.
<br><br>
o Triant NO en actualitzar tots els productes a un nou nivell de manteniment
pot utilitzar una quantitat significativa d'espai al disc i fer que la
instal·lació trigui més. Has de sospesar aquest factors juntament amb si
necessites poder desfer els canvis si tens problemes amb el nou nivell.
<br><br>
o Si estàs fent una instal·lació nova d'un producte i les seves actualitzacions,
no hi ha cap mena d'avantatge triant NO.
<br><br>
Aquesta no és l'única oportunitat de forçar el programari. Després d'haver
instal·lat el programari i haver-lo fet servir durant un temps, llavors el
pots forçar. Vés al menú d'Instal·lació de Programari i Manteniment del
SMIT, selecciona Manteniment del Programari Instal·lat i llavors selecciona
Força el Programari Instal·lat (Esborra els Fitxers Desats).
<hr>



0707010003f743000081a40000000000000002000000013d1fe2cf00000bbc000000200000000000000000000000000000002400000003reloc/software/help/aix_commit.html   <header>COMMIT software updates?</header>

Indicates whether you want to commit the software updates you are
installing. When you commit software, you are making a commitment 
that previous versions of this product are NOT needed. ALL VERSIONS
PRIOR TO THE ONE YOU ARE COMMITTING ARE DELETED. Committing software
has two effects. It frees up disk space that was used to store older
versions of that software. It eliminates the possibility of being
able to reject the update and go back to the previous version.
<br><br>
YES instructs the system to commit the software updates you are
installing. All versions prior to the one you are committing are
deleted. In general, it is not recommended to commit software updates
you are installing for the first time. For example, after using a new
version, you may decide you prefer to use an earlier version of the
software. Once you commit the software updates you are installing,
you will have no way to retrieve previous versions. You must 
reinstall previous versions in order to use them.
<br><br> 
NO instructs the system not to commit the software updates you are 
installing. The software you are installing will be applied. When 
software is applied to the system, it becomes the active version of 
the software. If it is replacing a previous version of the software,
the previous version is saved in a special directory on the disk. The
previous version can be retrieved, if necessary, by rejecting the
current version. Once you are satisfied with the updates, you should 
commit them to free up disk space used by the saved files. 
<br><br>
If you choose NO for "COMMIT software updates", then you must choose 
YES to "SAVE replaced files". 
<br><br>
Whether it is desirable for you to commit software updates or not
depends on the circumstances. You should consider the following in
making your decision. 
<br><br>
o If you are installing individual updates to fix a reported problem,
it is recommended that you answer NO. You can then verify that the 
fix corrects your problem and does not cause other problems before
committing to it. 
<br><br>
o If you have very limited hard disk space, it may be necessary to
answer YES to commit software or to use an alternate save directory
with an NFS mounted file system.
<br><br>
o Choosing NO when updating all your products to a new maintenance 
level can use a significant amount of disk space and will cause the 
installation to take longer. You must weigh these factors with 
whether you need the ability to back out the changes if you have 
problems with the new level. 
<br><br>
o If you are doing a new install of a product and its updates, there
may be no advantage to you in choosing NO.
<br><br>
This is NOT your only opportunity to commit software. After you have
installed the software and used it for awhile, you can commit it. Go
to the Software Installation & Maintenance menu on SMIT, select
Maintain Installed Software and then select Commit Applied Software
(Remove Saved Files).
<hr>

0707010003f744000081a40000000000000002000000013d1fe2cf0000009c000000200000000000000000000000000000002700000003reloc/software/help/aix_detail.ca.html    <header>Sortida DETALLADA</header>

Indica si vols un registre detallat dels missatges d'instal·lació .
El valor per defecte d'aquesta opció és NO.

<hr>


0707010003f745000081a40000000000000002000000013d1fe2cf0000009d000000200000000000000000000000000000002400000003reloc/software/help/aix_detail.html   <header>DETAILED output?</header>

Indicates whether you want a detailed log of the installation 
messages. The default setting for this option is NO.
<hr>

   0707010003f746000081a40000000000000002000000013d1fe2cf0000010f000000200000000000000000000000000000002700000003reloc/software/help/aix_device.ca.html    <header>Dispositiu d'ENTRADA / directori de programari</header>

Especifica el dispositiu d'entrada o directori font del programari
que estàs instal·lant. El dispositiu d'entrada pot ser una cinta,
un sistema de fitxers, un CD-ROM, una disquetera o un directori.

<hr>


 0707010003f747000081a40000000000000002000000013d1fe2cf000000f5000000200000000000000000000000000000002400000003reloc/software/help/aix_device.html   <header>INPUT device / directory for software</header>

Specifies the input device or directory that is the source of the 
software you are installing. The input device can be a tape, file
system, CD-ROM, diskette drive, or a directory.
 
<hr>

   0707010003f748000081a40000000000000002000000013d1fe2cf0000044c000000200000000000000000000000000000002700000003reloc/software/help/aix_extend.ca.html    <header>EXPANDEIX els sistemes de fitxers si cal més espai</header>

Indica si vols que el sistema expandeixi els sistemes de fitxers 
si cal més espai durant el procés.
<br><br>
SÍ diu al sistema que expandeixi els sistemes de fitxers en la mesura
que calgui. Un cop s'ha expandit un sistema de fitxers, no es pot reduir.
Has d'esborrar tot el sistema de fitxers. Si tens molt espai al disc,
tria SÍ. Per veure prèviament la quantitat estimada d'espai necessari,
posa l'opció "Només VISTA PRÈVIA" a SÍ.
<br><br>
NO diu al sistema que NO expandeixi els sistemes de fitxers. Si tens
un espai limitat de disc dur, tria NO. Si tries NO i el sistema es queda
sense espai al disc durant el procés, es mostra un missatge del sistema.
El missatge indica quant espai de disc fa falta, i quins sistemes de
fitxers el necessiten. El sistema no instal·la el producte que requereix
quest espai addicional, però continua el procés d'instal·lació per als
altres productes- EN alguns casos, una actualizació pot quedar marcada
com a TRENCADA si no hi ha prou espai i el procés de neteja no es pot
completar.
<hr>


0707010003f792000081a40000000000000002000000013d1fe2cf0000040b000000200000000000000000000000000000002400000003reloc/software/help/aix_extend.html   <header>EXTEND file systems if space needed?</header>

Indicates whether you want the system to extend file systems if more 
space is needed during processing. 
<br><br>
YES instructs the system to extend file systems as necessary. Once 
file system size is extended, it cannot be reduced. You must remove 
the entire file system. If you have plenty of hard disk space, choose
YES. To preview the estimated amount of space needed, set the option
"PREVIEW only?" to YES. 
<br><br>
NO instructs the system NOT to extend file systems. If you have
limited hard disk space, choose NO. If you choose NO and the system
runs out of disk space during processing, a system message displays.
The message indicates how much disk space is required and which file
systems require the space. The system does not install the product 
requiring additional space but continues the installation process for
other products. In some cases, an update may be marked as BROKEN if 
there is not enough space and the cleanup process cannot be 
completed.
<hr>

 0707010003f793000081a40000000000000002000000013d1fe2cf000001e9000000200000000000000000000000000000002800000003reloc/software/help/aix_include.ca.html   <header>Inclou els conjunts de fitxers d'IDIOMA corresponents</header>

Diu al sistema que inclogui tots el conjunts de fitxers de missatges
dels paquets de fitxers que estàs instal·lant actualment o que hagis
instal·lat prèviament. Es fa servir l'idioma utilitzat durant la 
instal·lació del sistema operatiu base.
<br><br>
Es recomana que deixis aquesta opció a SÍ si el teu idioma primari no és
l'anglès. Aquesta opció s'ignora si la variable LANG del teu sistema és
C (LANG=C).
<hr>


   0707010003f794000081a40000000000000002000000013d1fe2cf000001c3000000200000000000000000000000000000002500000003reloc/software/help/aix_include.html  <header>Include corresponding LANGUAGE filesets?</header>

Instructs the system to include all message filesets for filesets
that you are currently installing or have previously installed. The
language used during installation of the base operating system is
used.
<br><br>
It is recommended that you leave this option set to YES if your
primary language is not English. This option is ignored if the LANG
variable on your system is C (LANG=C).
<hr>

 0707010003f795000081a40000000000000002000000013d1fe2cf00000182000000200000000000000000000000000000002800000003reloc/software/help/aix_license.ca.html   <header>VISTA PRÈVIA dels nous acords de LLICÈNCIA</header>

Dóna una vista prèvia dels requeriments d'instal·lació del programari
seleccionat. Selecciona SÍ per mostrar la llista del programari que
s'instal·larà, les prerequisits, la informació sobre les necessitats
d'espai, i els resultats de la comprovació de la preinstal·lació.
Selecciona NO per començar la instal·lació.

<hr>


  0707010003f796000081a40000000000000002000000013d1fe2cf0000013b000000200000000000000000000000000000002500000003reloc/software/help/aix_license.html  <header>PREVIEW new LICENSE agreements?</header>

Previews the installation requirements of the selected software.
Select Yes to display the list of software that will installed,
prerequisites, information on space requirements, and results of the
pre-installation check. Select No to begin the installation.
<hr>

 0707010003f797000081a40000000000000002000000013d1fe2cf00000226000000200000000000000000000000000000002a00000003reloc/software/help/aix_overwrite.ca.html <header>REESCRIU les versions iguals o més noves</header>

Posa-ho a SÍ si vols reinstal·lar la mateixa versió del programari que
hi ha al sistema o una d'anterior. Tingues en compte que una resposta 
SÍ no és vàlida per a les actualitzacions; una reescriptura només es pot
fer obre conjunts de fitxers base. L'opció per defecte és NO.
<br><br>
Nota: No cal que posis aquesta opció a SÍ si estàs aplicant una versió
més nova.
<br><br>
SI poses aquesta opció a SÍ, has de posar l'opció "Instal·la AUTOMÀTICAMENT
el programari necessari" a NO.
<hr>



  0707010003f798000081a40000000000000002000000013d1fe2cf000001fc000000200000000000000000000000000000002700000003reloc/software/help/aix_overwrite.html    <header>OVERWRITE same or newer versions?</header>

Set to YES if you want to reinstall the same or older version of
software as the version existing on your system. Note that a YES 
answer is not valid for updates; an overwrite can only be done on
base filesets. The default option is NO.
<br><br>
Note: You do not need to set this option to YES if you are applying a
later version. 
<br><br>
If you set this option to YES, you must set the "AUTOMATICALLY 
install requisite software?" option to NO.
<hr>


0707010003f799000081a40000000000000002000000013d1fe2cf00000394000000200000000000000000000000000000002800000003reloc/software/help/aix_preview.ca.html   <header>Només VISTA PRÈVIA (NO s'efectuarà l'operació d'instal·lació)</header>

Indica si vols veure prèviament la instal·lació dels productes i
actualitzacions de programari seleccionats. Una previsualització identifica
els requeriments per tal que la instal·lació del programari tingui èxit.
<br><br>
SÍ diu al sistema que mostri la informació sobre les necessitats d'espai,
si el programari ha passat la comprovació de preinstal·lació, i una llista
dels productes i instal·lacions de programari que s'instal·laran.
Aquesta informació pot contenir també una llista dels productes i
actualitzacions de programari que no es poden instal·lar per falta de
requisits. El valor per defecte d'aquesta opció és NO.
<br><br>
Seleccionant també SÍ a l'opció "Sortida DETALLADA", es mostrarà el
llistat de programari i actualitzacions en l'ordre d'instal·lació.
<br><br>
NO diu al sistema que executi la instal·lació.
<hr>


0707010003f79a000081a40000000000000002000000013d1fe2cf00000341000000200000000000000000000000000000002500000003reloc/software/help/aix_preview.html  <header>PREVIEW only? (install operation will NOT occur)</header>

Indicates whether you want to preview the installation of the 
selected software products and updates. A preview identifies 
requirements for the software installation to be successful.
<br><br>
YES instructs the system to display information on space 
requirements, whether the software passed a preinstallation check,
and a list of software products and updates that will be installed.
This information may also contain a listing of software products and
updates that cannot be installed because of requisite problems. The 
default for this option is NO.
<br><br>
By also selecting YES to the "DETAILED output?" option, the listing
of the software and updates will be displayed in install order.
<br><br>
NO instructs the system to perform the installation.
<hr>

   0707010003f79b000081a40000000000000002000000013d1fe2cf000001f9000000200000000000000000000000000000002800000003reloc/software/help/aix_process.ca.html   <header>Processa volums múltiples</header>

Tria aquesta opció si vols activar el processament de CDs multivolum.
Per defecte és "SÍ".
<br><br>
El processament de programari des de CD-ROM pot requerir conjunts de fitxers
emmagatzemats en altres CDs. Posar aquesta opció a "SÍ", permet que els
conjunts de fitxers d'altres CDs es processin en la mateixa sessió.
Si la poses a "NO", fins i tot els CDs multivolum es veuen com un únic
CD, i els conjunts de fitxers en altres CDs no es poden accedir.

<hr>


   0707010003f79c000081a40000000000000002000000013d1fe2cf000001e8000000200000000000000000000000000000002500000003reloc/software/help/aix_process.html  <header>Process multiple volumes?</header>

Choose this option if you want to enable the processing of
multi-volume CDs. The default is "Yes".
<br><br>
Processing software from CD-ROM source may require filesets stored on
other CD volumes. Setting this option to "Yes" allows filesets on 
other CD volumes to be processed during the same session. If you set
it to "No", even multi-volume CDs are seen as a single standalone CD,
and filesets on other CD volumes cannot be accessed.

<hr>

0707010003f79d000081a40000000000000002000000013d1fe2cf0000038b000000200000000000000000000000000000002500000003reloc/software/help/aix_save.ca.html  <header>DESA els fitxers substituïts</header>

Indica si vols desar els fitxers de programari que se substitueixen
durant la instal·lació.
<br><br>
SÍ diu al sistema que desi les versions anteriors del programari que
s'està substituint. En cas d'una instal·lació fallida, triar SÍ permet
que el procés de neteja restauri la versió anterior del programari.
Si tries NO per "FORÇA la instal·lació", llavors has de triar SÍ a
"DESA els fitxers substituïts". Triant SÍ caldrà més espai addicional
per desar els fitxers substituïts. Triant SÍ també requereix més temps
d'instal·lació a causa del processament extra per desar els fitxers.
<br><br>
NO diu al sistema que NO desi les versions anteriors de programari 
mentre se substitueix. En cas d'una instal·lació fallida, la versió
anterior del programari NO es pot restaurar i es marca coma TRENCADA.
Si això succeeix, has de reinstal·lar el programari.
<hr>

 0707010003f79e000081a40000000000000002000000013d1fe2cf00000385000000200000000000000000000000000000002200000003reloc/software/help/aix_save.html <header>SAVE replaced files?</header>

Indicates whether you want to save software files that are being 
replaced during installation. 
<br><br>
YES instructs the system to save previous versions of software that 
is being replaced. In case of a failed installation, choosing YES 
allows the cleanup procedure to restore the previous version of the
software. If you chose NO for "COMMIT software?", then you must 
choose YES to "SAVE replaced files?". Choosing YES will require some
additional space to save replaced files. Choosing YES also requires
more installation time because of the extra processing for saving 
files. 
<br><br>
NO instructs the system NOT to save previous versions of software
while it is being replaced. In case of a failed installation, the
previous version of the software CANNOT be restored and is marked
BROKEN. You must reinstall the software update if this occurs.
<hr>
   0707010003f79f000081a40000000000000002000000013d1fe2cf0000010c000000200000000000000000000000000000002900000003reloc/software/help/aix_software.ca.html  <header>PROGRAMARI per instal·lar</header>

Especifica els productes de programari que vols instal·lar.
<br><br>
Nota: no cal que tinguis una clau de llicència per instal·lar 
un producte, però pot ser que el programari no funcioni un cop instal·lat
sense una.
<hr>


0707010003f7a0000081a40000000000000002000000013d1fe2cf000000f5000000200000000000000000000000000000002600000003reloc/software/help/aix_software.html <header>SOFTWARE to install</header>

Specifies the software products you want to install. 
<br><br>
Note: You do not need to have a license password to install a 
product, but the software may not run after it is installed without 
one. 
<hr>

   0707010003f7a1000081a40000000000000002000000013d1fe2cf00000283000000200000000000000000000000000000002700000003reloc/software/help/aix_verify.ca.html    <header>VERIFICA la instal·lació i comprova les mides dels fitxers</header>

Indica si vols que el sistema executi algunes comprovacions sobre el
programari que has instal·lat.
<br><br>
SÍ diu al sistema que executi un <i>checksum</i> per confirmar que els
fitxers de programari tenen la longitud correcta, contenen el nombre 
correcte de dígits i caràcters, i per verificar els requisits de tot
el programari al sistema.
<br><br>
NO diu al sistema que NO comprovi la instal·lació. El procés de verificació
pot afegir un increment de temps significatiu al procés d'instal·lació.
Si vols un procediment d'instal·lació més ràpid, tria NO.
<hr>

 0707010003f7a2000081a40000000000000002000000013d1fe2cf00000253000000200000000000000000000000000000002400000003reloc/software/help/aix_verify.html   <header>VERIFY install and check file sizes?</header>

Indicates whether you want the system to perform some checks on the 
software you installed. 
<br><br>
YES instructs the system to perform a checksum to confirm that your 
software files are the correct length, contain the correct number of
digits and characters, and to verify requisites for all software on
the system. 
<br><br>
NO instructs the system NOT to check your installation. The 
verification process can add a significant amount of time to the
installation process. If you want a faster installation procedure,
choose NO.
<hr>
 0707010003f7a3000081a40000000000000002000000013d1fe2cf0000010d000000200000000000000000000000000000002300000003reloc/software/help/delete.ca.html    <header>Supressió de Paquet</header>

Aquesta pàgina permet confirmar la supressió d'un paquet instal·lat.
Com que alguns fitxers d'aquest paquet poden estar compartits per
altres paquets, la quantitat d'espai en disc necessària pot ser
inferior a la mostrada.

<hr>


   0707010003f7a4000081a40000000000000002000000013d1fe2ce0000011f000000200000000000000000000000000000002300000003reloc/software/help/delete.es.html    <header>Borrar Paquete</header>

Esta página te permite confirmar la anulación de un paquete instalado.
A causa de que algunos archivos del paquete pueden estar siendo compartidos
por otros, la cantidad de espacio en disco que se reclame puede ser
inferior a la cantidad mostrada.
<hr>

 0707010003f7a5000081a40000000000000002000000013d1fe2ce0000010b000000200000000000000000000000000000002300000003reloc/software/help/delete.fr.html    <header>Suprimer un composant</header>

Cette page vous permet de confirmer la supprimer d'un composant
installé. Comme plusieurs des fichiers de ce composant peuvent
être partagés avec d'autre, l'espace disque récupéré peut être
moindre que ce qui est affiché.
<hr>
 0707010003f7a6000081a40000000000000002000000013d1fe2ce000000f8000000200000000000000000000000000000002000000003reloc/software/help/delete.html   <header>Delete Package</header>

This page allows you to confirm the deletion of an installed package.
Because some of the files in this package may be shared with others,
the amount of disk space reclaimed may be less that the amount shown.
<hr>

0707010003f7a7000081a40000000000000002000000013d1fe2cf000000fb000000200000000000000000000000000000002300000003reloc/software/help/delete.hu.html    <header>Csomag törlése</header>

Ezen az oldalon telepített csomagot törölhet. Mivel a csomagban lévõ
fájlok között akadhat olyan, melyek más csomagokkal vannak megosztva,
ezért a visszanyert lemezterület mennyisége kevesebb lehet a mutatottnál.
<hr>
 0707010003f7a8000081a40000000000000002000000013d1fe2cf00000111000000200000000000000000000000000000002300000003reloc/software/help/delete.pl.html    <header>Usuñ pakiet</header>

Ta strona pozwala Ci potwierdziæ usuniêcie zainstalowanego pakietu.
Ze wzglêdu na to, ¿e niektóre pliki w&nbsp;pakiecie mog± byæ wspó³dzielone
z&nbsp;innymi pakietami, ilo¶æ odzyskiwanego miejsca na dysku mo¿e byæ
mniejsza ni¿ pokazano.
<hr>

   0707010003f7a9000081a40000000000000002000000013d1fe2ce000000e3000000200000000000000000000000000000002300000003reloc/software/help/delete.sv.html    <header>Ta bort paket</header>

Här kan man bekräfta att man vill ta bort ett installerat paket. Eftersom
en del filer kan vara gemensamma med andra paket kan det diskutrymme som
frigörs vara mindre än det som anges här.
<hr>

 0707010003f7aa000081a40000000000000002000000013d1fe2ce000000ad000000200000000000000000000000000000002b00000003reloc/software/help/delete.zh_TW.Big5.html    <header>§R°£®M¥ó</header>

³o¤@­¶­n¨D±z½T»{¬O§_­n§R°£¤@­Ó¤w¸g¦w¸Ëªº®M¥ó. ¦]¬°¬Y¨Ç¸Ó®M¥ó©Ò¨Ï¥ÎªºÀÉ®×¥i¯à»P¨ä¥Lªº®M¥ó©Ò¦@¨É, ©Ò¥H¹ê»Ú¦û¥ÎªººÏºÐªÅ¶¡¥i¯à·|¤ñ©ÒÅã¥Üªº²¤¤p.
<hr>

   0707010003f7ab000081a40000000000000002000000013d1fe2cf00000118000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.ca.html <header>Edició de Paquet</header>

Aquesta pàgina mostra informació sobre un paquet instal·lat. El botó
<tt>Llista els Fitxers</tt> mostra una llista de tots els fitxers
que constitueixen el paquet, mentre que el botó <tt>Desinstal·la</tt>
comença el procés de supressió.

<hr>


0707010003f7b8000081a40000000000000002000000013d1fe2ce0000011e000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.es.html <header>Editar Paquete</header>

Esta página muestra información acerca de un paquete instalado. El botón
de <tt>Listar Archivos</tt> muestra una lista de todos los archivos que
conforman este paquete, mientras que el botón de <tt>Desinstalar</tt>
inicia el proceso de anulación.
<hr>

  0707010003f7b9000081a40000000000000002000000013d1fe2ce00000124000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.fr.html <header>Éditer un composant</header>

Cette page affiche des informations sur un composant installé.
Le bouton <tt>liste des fichiers</tt> affiche tous les fichiers
contenus dans le composant, tandis que le bouton <tt>Désinstaller</tt>
démarre le processus de suppression du composant.
<hr>

0707010003f7ba000081a40000000000000002000000013d1fe2ce000000fb000000200000000000000000000000000000002300000003reloc/software/help/edit_pack.html    <header>Edit Package</header>

This page displays information about an installed package. The <tt>List
Files</tt> button shows a list of all files that make up this package,
while the <tt>Uninstall</tt> button begins the process of deleting it.
<hr>

 0707010003f7bb000081a40000000000000002000000013d1fe2cf00000105000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.hu.html <header>Csomag szerkesztése</header>

Ez az oldal információkat jelenít meg egy telepített csomagról. A
<tt>Fájlok listázása</tt> nyomógomb egy listát mutat meg a csomag 
által létrehozott fájlok, míg a <tt>Törlés</tt> gomb a törlés
folyamatát kezdi meg.
<hr>

   0707010003f7bc000081a40000000000000002000000013d1fe2cf00000106000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.pl.html <header>Zmieñ pakiet</header>

Ta strona podaje informacje o&nbsp;zainstalowanym pakiecie. Przycisk
<tt>Poka¿ pliki</tt> pokazuje listê wszystkich plików, które tworz± ten
pakiet, podczas gdy przycisk <tt>Odinstaluj</tt>rozpoczyna proces usuwania
pakietu.
<hr>

  0707010003f7bd000081a40000000000000002000000013d1fe2ce000000e6000000200000000000000000000000000000002600000003reloc/software/help/edit_pack.sv.html <header>Ändra paket</header>

På denna sida visas information om ett installerat paket. Knappen <tt>Lista
filer</tt> visar en lista över alla filer i paketet och <tt>Avinstallera</tt>
påbörjar processen att ta bort paketet.
<hr>

  0707010003f7be000081a40000000000000002000000013d1fe2ce000000a3000000200000000000000000000000000000002e00000003reloc/software/help/edit_pack.zh_TW.Big5.html <header>½s¿è®M¥ó</header>

³o¤@­¶Åã¥Ü¥XÃö©ó¤@­Ó¤w¦w¸Ë®M¥óªº¬ÛÃö¸ê°T. <tt>¦C¥XÀÉ®×</tt>«ö¶s¥i¥H¦C¥X©Ò¦³³o­Ó®M¥óªºÀÉ®×, <tt>¸Ñ°£¦w¸Ë</tt>«ö¶s¥i¥H§R°£³o­Ó®M¥ó.
<hr>

 0707010003f7bf000081a40000000000000002000000013d1fe2cf000000a2000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.ca.html   <header>Instal·la la documentació</header>

Si tries aquest opció, s'instal·larà tota la documentació que vingui amb
el paquet juntament amb el programa.

<hr>


  0707010003f7c0000081a40000000000000002000000013d1fe2ce000000ae000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.es.html   <header>¿Instalar documentación?</header>

Si se selecciona esta opción, cualquier documentación que venga con el
paquete será instalada así como el programa en curso.
<hr>

  0707010003f7c1000081a40000000000000002000000013d1fe2ce000000ac000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.fr.html   <header>Installer la documentation?</header>

Si cette option est choisie, toute documentation qui accompagne le
composant sera installée avec le reste du programme.
<hr>

0707010003f7c2000081a40000000000000002000000013d1fe2ce000000a8000000200000000000000000000000000000002500000003reloc/software/help/excludedocs.html  <header>Install documentation?</header>

If this option is chosen, any documentation that comes with the package
will be installed along with the actual program.
<hr>

0707010003f7c3000081a40000000000000002000000013d1fe2cf0000008d000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.hu.html   <header>Dokumentáció telepítése</header>

Ha ezt az opciót bekapcsolja, akkor minden - a csomaggal járó - dokumentációt
is feltelepít.
<hr>

   0707010003f7c4000081a40000000000000002000000013d1fe2cf000000b8000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.pl.html   <header>Instalowaæ dokumentacjê?</header>

Je¶li ta opcja zostanie wybrana, wraz z&nbsp;bie¿±cym programem zostanie
zainstalowana ca³a przychodz±ca z&nbsp;pakietem dokumentacja.
<hr>

0707010003f7c5000081a40000000000000002000000013d1fe2ce000000a0000000200000000000000000000000000000002800000003reloc/software/help/excludedocs.sv.html   <header>Installera dokumentation?</header>

Om man väljer detta kommer dokumentationen som följer med paketet att
installeras tillsammans med programmet.
<hr>

0707010003f7c6000081a40000000000000002000000013d1fe2ce0000005e000000200000000000000000000000000000003000000003reloc/software/help/excludedocs.zh_TW.Big5.html   <header>¬O§_¦w¸Ë¤å¥ó?</header>

¦pªG¿ï¾Ü¤F³o­Ó¿ï¶µ, ©Ò¦³³o­Ó®M¥ó¤¤ªº»¡©ú¤å¥ó³£·|³Q¦w¸Ë.
<hr>

  0707010003f85d000081a40000000000000002000000013d1fe2ce000007e6000000200000000000000000000000000000001f00000003reloc/software/help/intro.html    <header>Software Packages</header>

<h3>Introduction to Packages</h3>
A software package is a collection of files that make up a program. These
files may all be combined into one package file for distribution or
downloading, to be extracted and placed in their correct locations when
the package is installed. <p>

A package management system automates most of the work in installing and
deleting programs. Because packages are usually pre-compiled, you do not
have to worry about <tt>Makefiles</tt> and <tt>configure</tt> scripts when
installing. Because the package management system keeps track of all
packages, it can remove all trace of a program when uninstalling. <p>

<h3>Installed Packages</h3>
Packages are organised into classes and subclasses, like <tt>System</tt>
or <tt>X11/Utilities</tt>. At the top of the main page is a tree of folders
and packages, in which each folder represents a class. To open a folder, simply
click on it. To view more information about a package, click on its name. <p>

Below the package tree is a form for searching the package database. This
will search for packages whose name or description matches whatever text
you enter. <p>

<h3>Install a New Package</h3>
Below the package search button is a form for installing a new package.
You may install either from a file on your system, a file on the computer
on which you are running your web browser, or from an FTP or HTTP URL.
In the last case, Webmin will contact the FTP server or web site and download
the package file. If your system is behind a firewall, make sure you have
the proxy servers configured correctly in the <i>Webmin Configuration</i>
module. <p>

<h3>Identify a File</h3>
At the bottom of the main page is a form for identifying some file on
your system. You may enter either an absolute path like
<tt>/etc/inetd.conf</tt>, or a command like <tt>elm</tt>. Webmin will attempt
to find the file in the package management system, and display information
about the file and the packages that use it. <p>

<hr>

  0707010003f7c7000081a40000000000000002000000013d1fe2cf0000010f000000200000000000000000000000000000002600000003reloc/software/help/file_info.ca.html <header>Informació de Fitxer</header>

Aquesta pàgina mostra tota la informació disponible sobre algun fitxer
del sistema de gestió de paquets, així com una llista dels paquets 
dels quals el fitxer és membre. Fes clic sobre el nom d'un paquet 
per saber-ne més.

<hr>


 0707010003f7c8000081a40000000000000002000000013d1fe2ce00000123000000200000000000000000000000000000002600000003reloc/software/help/file_info.es.html <header>Información de Archivo</header>

Esta página muestra toda la información disponible acerca de algún archivo
del sistema de gestión de paquetes, así como una lista de los paquetes de
que es miembro el archivo. Haz click en un nombre de paquete para averiguar
más acerca de él.

<hr>

 0707010003f7c9000081a40000000000000002000000013d1fe2ce0000010c000000200000000000000000000000000000002600000003reloc/software/help/file_info.fr.html <header>Information des fichiers</header>

Cette page affiche toutes les informations disponibles sur certains
fichiers du système de gestion des composants, ainsi qu'une liste des
composants dont le fichier fait partie. Cliquez sur ue nom pour en savoir plus.

<hr>

0707010003f7ca000081a40000000000000002000000013d1fe2ce000000fa000000200000000000000000000000000000002300000003reloc/software/help/file_info.html    <header>File Information</header>

This page displays all available information about some file from the
packages management system, as well as a list of package that the file
is a member of. Click on a package name to find out more about it.

<hr>

  0707010003f7cb000081a40000000000000002000000013d1fe2cf00000115000000200000000000000000000000000000002600000003reloc/software/help/file_info.pl.html <header>Informacje o&nbsp;pliku</header>

Ta strona pokazuje wszelkie dostêpne informacje dotycz±ce pewnego pliku
w&nbsp;systemie zarz±dzania pakietami, jak te¿ listê pakietów, do których
dany plik nale¿y. Naci¶nij na nazwê pakietu, aby dowiedzieæ siê o&nbsp;nim
wiêcej.
<hr>

   0707010003f7cc000081a40000000000000002000000013d1fe2ce000000e2000000200000000000000000000000000000002600000003reloc/software/help/file_info.sv.html <header>Filinformation</header>

Här visas all tillgänglig information om en vald fil i pakethanteringssystemet
och en lista över de paket som filen ingår i. Klicka på ett pakets namn för
att få mer information om det.

<hr>

  0707010003f7cd000081a40000000000000002000000013d1fe2ce0000008e000000200000000000000000000000000000002e00000003reloc/software/help/file_info.zh_TW.Big5.html <header>ÀÉ®×¸ê°T</header>

³o¤@­¶Åã¥Ü¥X©Ò¦³¨Ó¦ÛÀÉ®×ºÞ²z¨t²ÎªºÀÉ®×¬ÛÃö¸ê°T, ¦P®É¤]¦C¥X³o­ÓÀÉ®×©ÒÄÝªº®M¥ó. «ö¤U®M¥ó¦WºÙ¥H§ä¨ì§ó¦hªº¸ê°T.

<hr>

  0707010003f853000081a40000000000000002000000013d1fe2cf000000bd000000200000000000000000000000000000002400000003reloc/software/help/install.ca.html   <header>Instal·lació de Paquet</header>

Aquesta pàgina permet seleccionar el paquet a instal·lar del fitxer de
paquet triat, i quines opcions cal utilitzar durant la instal·lació.

<hr>


   0707010003f854000081a40000000000000002000000013d1fe2ce000000b7000000200000000000000000000000000000002400000003reloc/software/help/install.es.html   <header>Instalar Paquete</header>

Esta página te permite seleccionar qué paquete instalar del archivo de
paquetes seleccionado y qué opciones utilizar durante la instalación.

<hr>

 0707010003f855000081a40000000000000002000000013d1fe2ce000000c1000000200000000000000000000000000000002400000003reloc/software/help/install.fr.html   <header>Installer un composant</header>

Cette page vous permet de choisir quel composant installer à partir
de quel fichier et quelles options seront utilisées durant son installation.

<hr>

   0707010003f856000081a40000000000000002000000013d1fe2ce000000ad000000200000000000000000000000000000002100000003reloc/software/help/install.html  <header>Install Package</header>

This page allows you to select which package to install from the chosen
package file, and which options to use during installation.

<hr>

   0707010003f857000081a40000000000000002000000013d1fe2cf0000009d000000200000000000000000000000000000002400000003reloc/software/help/install.pl.html   <header>Zainstaluj pakiet</header>

Ta strona umo¿liwia ci wybranie pakietu do zainstalowania z&nbsp;wybranego
pliku oraz ustawienie opcji instalacji.
<hr>

   0707010003f858000081a40000000000000002000000013d1fe2ce0000009a000000200000000000000000000000000000002400000003reloc/software/help/install.sv.html   <header>Installera paket</header>

Här kan man välja det paket man vill installera och göra de inställningar
som ska användas under installationen.
<hr>

  0707010003f859000081a40000000000000002000000013d1fe2ce0000005a000000200000000000000000000000000000002c00000003reloc/software/help/install.zh_TW.Big5.html   <header>¦w¸Ë®M¥ó</header>

³o¤@­¶¥i¥HÅý±z¿ï¾Ü­n¦w¸Ëªº®M¥ó»P³]©w¦w¸Ë®É­n¨Ï¥Îªº¿ï¶µ.

<hr>

  0707010003f85a000081a40000000000000002000000013d1fe2cf0000087c000000200000000000000000000000000000002200000003reloc/software/help/intro.ca.html <header>Paquets de Programari</header>

<h3>Introducció als Paquets</h3>
Un paquet de programari és una col·lecció de fitxers que constitueixen
un programa. Aquest fitxers es poden combinar en un fitxer de paquet
per a la seva distribució o descàrrega, per extreure'ls i col·locar-los
on toca quan s'instal·La el paquet.
<p>

Un sistema gestor de paquets automatitza la major part de la feina
d'instal·lar i suprimir programes. Com que els paquets normalment venen
precompilats, no t'has de preocupar de fitxers <tt>Makefile</tt>  scripts
<tt>configure</tt> per instal·lar-los. Com que el sistema de gestió de
paquets pren nota de tots els paquets, pot esborrar tota petja d'un
programa en desinstal·lar-lo.

<h3>Paquets Instal·lats</h3>
Els paquets s'organitzen en classes i subclasses, com ara <tt>Sistema</tt>
o <tt>X11/Utilitats</tt>. A la part de dalt de la pàgina principal hi ha
un arbre de carpetes i paquets, en el qual cada carpeta representa una 
classe. Per obrir una carpeta, fes.hi simplement clic. Per veure més
informació sobre un paquet, fes clic sobre el seu nom.
<p>

Sota l'arbre de paquets hi ha un formulari per buscar a la base de dades
de paquets. Aquest busca paquets els nom dels quals coincideixi amb 
aquell text que introdueixis.
<p>

<h3>Instal·la un Instal·la un Nou Paquet</h3>
Sota el botó de recreca de paquets, hi ha un formulari per instal·lar
un paquet nou. Pots instal·lar-lo a partir d'un fitxer del sistema,
un fitxer de l'ordinador sobre el qual tens obert el teu fullejador,
o bé des d'un URL FTP o HTTP. En aquest darrer cas, el Webmin contactarà
el servidor FTP o lloc Web i descarregarà el fitxer del paquet. Si
el teu sistema està darrere d'un tallafocs, assegura't que tens els
servidors proxy configurats correctament al mòdul <i>Configuració de Webmin</i>.
<p>

<h3>Identifica un Fitxer</h3>
Al peu de la pàgina principal hi ha un formulari per identificar un fitxer
del sistema. Pots introduir-hi un campí complet com <tt>/etc/inetd.conf</tt>,
o bé una ordre com <tt>elm</tt>. Webmin povarà de trobar el fitxer al sistema
gestor de paquets, i mostrarà la informació del fitxer i els paquets que
el fan servir.
<p>

<hr>


0707010003f85b000081a40000000000000002000000013d1fe2ce00000912000000200000000000000000000000000000002200000003reloc/software/help/intro.es.html <header>Paquetes de Software</header>

<h3>Introducción a Paquetes</h3>
Un paquete de software es una colección de archivos que conforman un programa.
Estos archivos pueden ser combinados en un archivo de paquete para su
distribución o descarga, para ser extraídos y colocados en sus correctas
localizaciones cuando el paquete es instalado. <p>

Un sistema de gestión de paquetes automatiza la mayoría del trabajo durante
la instalación y anulación de programas. A causa de que los paquetes están
normalmente pre-compilados, no te has de preocupar acerca de guiones de
<tt>Makefile</tt> y <tt>configure</tt> durante la instalación. A causa de
que el sistema de gestión de paquetes hace un seguimiento de todos los
paquetes, puede anular todo rastro de un programa en la desinstalación.<p>

<h3>Paquetes Instalados</h3>
Los paquetes se organizan dentro de clases y subclases, como <tt>Sistema</tt>
o <tt>X11/Utilities</tt>. Al principio de la página principal hay un árbol
de carpetas y paquetes en los cuales cada carpeta representa una clase.
Para abrir una carpeta, símplemente haz click en ella. Para ver más
información acerca de un paquete, haz click en su nombre. <p>

Bajo el árbol de paquetes hay un formulario para poder buscar en la base
de datos del paquete. Esto buscará aquellos paquetes cuyos nombres o
descripciones coincidan con cualquier texto que digites. <p>

<h3>Instalar un Nuevo Paquete</h3>
Bajo el botón de búsqueda de paquetes hay un formulario para instalar un
nuevo paquete. Puedes instalar desde un archivo de tu sistema, desde un
archivo del ordenador donde estás ejecutando tu navegador web o desde una
dirección URL FTP o HTTP. En este último caso, Webmin contactará con el
servidor FTP o sitio web y descargará el archivo de paquete. Si tu sistema
está tras un cortafuegos, asegúrate de tener configurados los servidores
proxy corréctamente en el módulo de <i>Configuración de Webmin</i>.<p>

<h3>Identificar un Archivo</h3>
En la parte inferior de la página principal hay un formulario para
identificar algún archivo de tu sistema. Puedes digitar una trayectoria
absoluta como <tt>/etc/inetd.conf</tt> o un comando como <tt>elm</tt>.
Webmin intentará encontrar el archivo en el sistema de gestión de paquetes
y mostrará información acerca del archivo y paquetes que lo utilizan.<p>

<hr>

  0707010003f85c000081a40000000000000002000000013d1fe2ce00000950000000200000000000000000000000000000002200000003reloc/software/help/intro.fr.html <header>Composants Logiciel</header>

<h3>Introduction aux composants</h3>
Un composant logiciel est un ensemble de fichiers qui forment un programme.
Ces fichiers peuvent être combinés dans un seul paquet pour être distribués ou
téléchargés puis d'être décompressés et placés au bon endroit lors de
l'installation du composant. <p>

Un système de gestion de composant automatise la majorité du travail
d'installation et de suppression des programmes. Parceque les composants
sont généralement pré-compilés, vous n'avez pas à vous préoccuper des
<tt>Makefiles</tt> et <tt>configure</tt> durant l'installation. Comme
le système de gestion garde toutes les informations des composants installés,
il peut supprimer toutes les traces d'un programme lors de la
désinstallation. <p>

<h3>Composants installés</h3>
Les composants sont organisés en catégories et sous-catégories, comme
<tt>System</tt> ou <tt>X11/Utilities</tt>. En haut de la page principale
se trouve une arborescence de dossiers et composants, dans laquelle chaque
dossier représente une catégorie. Pour ouvrir un dossier, cliquez simplement
dessus. Pour voir plus d'informations sur un composant, cliquez sur son nom. <p>

Sous l'arborescence se trouve un formulaire pour rechercher dans la base de
données des composants. Ceci cherchera des composants dont le nom ou la
description correspond au texte que vous aurez saisi. <p>

<h3>Installer un nouveau composant</h3>
Sous la recherche de composant se trouve un autre formulaire pour installer
un nouveau composant. Vous pouvez l'installer soit à partir d'un fichier
présent sur le système, d'un fichier présnt sur l'ordinateur où vous exécutez
votre navigateur web ou encore d'une adresse FTP ou HTTP. Dans le dernier cas,
Webmin contactera le serveur FTP ou Web et téléchargera le fichier. Si votre
système se trouve derrière un firewall, assurez-vous que vous avez correctement
configuré le serveur proxy dans le module de <i>Configuration de Webmin</i>. <p>

<h3>Identifier un Fichier</h3>
Au bas de la page se trouve un formulaire pour identifier des fichiers de votre
système. Vous pouvez saisir n'importe quel chemin absolu comme
<tt>/etc/inetd.conf</tt>, ou un commande comme <tt>elm</tt>. Webmin va tenter
de trouver le fichier dans le système de gestion des composants et affichera
des informations sur ce fichier et les composants qui l'utilisent. <p>

<hr>

0707010003f85e000081a40000000000000002000000013d1fe2cf00000901000000200000000000000000000000000000002200000003reloc/software/help/intro.pl.html <header>Pakiety oprogramowania</header>

<h3>Wprowadzenie do pakietów</h3>
Pakiet oprogramowania jest zbiorem plików, które tworz± program. Pliki te
mog± byæ po³±czone w&nbsp;jeden plik pakietu w&nbsp;celu dystrybucji lub
pobierania. S± one wydzielane i&nbsp;umieszczane w&nbsp;swoich prawid³owych
lokalizacjach podczas instalacji pakietu. <p>

System zarz±dzania pakietami automatyzuje wiêkszo¶æ pracy podczas instalacji
i&nbsp;kasowania programów. Ze wzglêdu na to, ¿e pakiety zazwyczaj zawieraj±
skompilowane progrzmy, nie musisz siê prsejmowaæ plikami <tt>Makefile</tt>
i&nbsp;skryptami <tt>configure</tt> podczas instalacji. A jako ¿e system
zarz±dzania pakietami ¶ledzi wszystkie pakiety, mo¿e on usun±æ wszelkie ¶lady
programu podczas jego odinstalowywania. <p>

<h3>Zainstalowane pakiety</h3>
Pakiety s± zorganizowane w&nbsp;klasy i&nbsp;podklasy takie, jak
<tt>System</tt> lub <tt>X11/Utilities</tt>. W&nbsp;górnej czê¶ci g³ównej
strony znajduje siê drzewo folderów i&nbsp;pakietów, w którym ka¿dy folder
reprezentuje klasê. Aby otworzyæ folder, wystarczy klikn±æ na nim. Aby
zobaczyæ informacje o&nbsp;pakiecie, kliknij na jego nazwie. <p>

Poni¿ej drzewa pakietów znajduje siê formularz s³u¿±cy do przeszukiwania
bazy pakietów. Umo¿liwia on poszukiwanie pakietów, których nazwa lub opis
pasuj± do tego co wprowadzono. <p>

<h3>Zainstaluj nowy pakiet</h3>
Poni¿ej przycisku poszukiwania pakietów znajduje siê formularz do instalacji
nowych pakietów. Instalacjê mo¿na przeprowadziæ zarówno z&nbsp;pliku
w&nbsp;systemie, pliku na komputerze, na którym dzia³a przegl±darka, jak te¿
z&nbsp;zadanego URL-a FTP lub HTTP. W&nbsp;tym ostatnim przypadku, Webmin
skomunikuje siê z&nbsp;serwerem FTP lub witryn± i&nbsp;pobierze plik pakietu.
Je¶li system znajduje siê za firewallem, musisz siê upewniæ, ¿e s±
prawid³owo skonfigurowane w&nbsp;module <i>Konfiguracja Webmina</i> serwery
proxy. <p>

<h3>Zidentyfikuj plik</h3>
Na samym dole strony g³ównej znajduje siê formularz do identyfikacji
wybranego pliku w&nbsp;systemie. Mo¿esz tu podaæ bezwzglêdn± ¶cie¿kê, np.
<tt>/etc/inetd.conf</tt> lub polecenie typu <tt>elm</tt>. Webmin podejmie
próbê znalezienia pliku w&nbsp;systemie zarz±dzania pakietami,
a&nbsp;nastêpnie wy¶wietli informacje o&nbsp;tym pliku i&nbsp;pakietach, do
których nale¿y. <p>
<hr>

   0707010003f85f000081a40000000000000002000000013d1fe2ce000007e4000000200000000000000000000000000000002200000003reloc/software/help/intro.sv.html <header>Programpaket</header>

<h3>Introduktion till paket</h3>
Ett programpaket är en samling filer som tillsammans utgör ett program. Dessa
filer kan samlas ihop till en paketfil som kan distribueras och laddas ned
och sedan packas upp, så att filerna kan placeras på rätt ställen när paketet
installeras.

<p>Ett pakethanteringssystem automatiserar mycket av installation och
radering av program. Programmen i paketen är oftast färdigkompilerade, vilket
gör att man inte behöver bry sig om några <tt>Makefiler</tt> eller
<tt>konfigureringsscript</tt> när man installerar paketet.
Pakethanteringssystemet håller reda på paketen och kan därför ta bort allt
som hör till ett visst paket när det ska avinstalleras.

<h3>Installerade paket</h3>
Paketen är ordnade i klasser och underklasser, t ex <tt>System</tt> och
<tt>X11/Utilities</tt>. Högst upp på startsidan finns ett träd med mappar
och paket, där varje mapp representerar en klass. Klicka på en mapp för
att öppna den och klicka på ett paketnamn för att få mer information om
paketet.

<p>Nedanför paketträdet finns ett sökformulär, där man kan skriva in text
och sedan söka i paketdatabasen efter paket vars namn eller beskrivning
matchar texten.

<h3>Installera ett nytt paket</h3>
Nedanför Sök-knappen finns ett formulär för att installera ett nytt paket.
Man kan installera från en fil på systemet, en fil på datorn man kör
webbrowsern på eller från en FTP- eller HTTP-url. I det senare fallet
kommer Webmin att kontakta FTP- eller webservern och ladda ned paketfilen.
Om systemet finns bakom en brandvägg är det viktigt att först kontrollera
i modulen <i>Webmin-inställningar</i> att proxyservern är korrekt inställd.

<h3>Identifiera en fil</h3>
Längst ned på startsidan finns ett formulär för att identifiera en fil i
systemet. Fyll i en absolut sökväg, t ex <tt>/etc/inetd.conf</tt>, eller ett
kommando, t ex <tt>elm</tt>. Webmin kommer att leta efter filen i
pakethanteringssystemet och visa information om filen och om de paket som
använder den.

<hr>

0707010003f860000081a40000000000000002000000013d1fe2ce00000544000000200000000000000000000000000000002a00000003reloc/software/help/intro.zh_TW.Big5.html <header>³nÅé®M¥ó</header>

<h3>®M¥óªºÂ²¤¶</h3>
¤@­Ó³nÅé®M¥ó¬O¤@¨Ç¯S©wµ{¦¡ªºÀÉ®×¶°¦X. ³o¨ÇÀÉ®×³Q¾ã¦X©ó¤@­Ó®M¥óÀÉ®×¤§¤¤¾Ö¥H´²§G©Î¤U¸ü, ¦Ó¦b³nÅé¦w¸Ë®É, ³o¨ÇÀÉ®×·|³Q¸Ñ¶}¨Ã©ñ¦b¥¿½Tªº¦ì¸m. <p>

¤@­Ó³nÅé®M¥óºÞ²z¨t²Î·|¦Û°Ê¦w¸Ë©Î§R°£µ{¦¡. ¦]¬°®M¥óªºµ{¦¡³q±`³£¬O¹w¥ý½sÄ¶§¹²¦ªº¤G¶i¦ìÀÉ®×, ©Ò¥H¦b¦w¸Ë¹Lµ{¤¤±z¤£»Ý­n¾á¤ß <tt>Makefiles</tt> »P <tt>configure</tt> ©R¥O½Z. ¦Ó¥B®M¥óºÞ²z¨t²Î·|°lÂÜ©Ò¦³ªº®M¥ó, ©Ò¥H¤]¥i¥H¦w¥þªº²¾°£¥ô¦ó¤@­Óµ{¦¡. <p>

<h3>¤w¸g¦w¸Ëªº®M¥ó</h3>
©Ò¦³ªº³nÅé®M¥ó³£·|¨Ì¾Ú¨äÃþ§O»P¤lÃþ§O¥[¥H¾ã²z, ¨Ò¦p <tt>System</tt> ©Î <tt>X11/Utilities</tt> µ¥µ¥. ¦b¥D­¶ªº³»ºÝ¬O©Ò¦³®M¥óªº¼Æª¬¦Cªí, ¨ä¤¤¨C¤@­Ó¸ê®Æ§¨ªí¥Ü¤@­ÓÃþ§O. ­n¶}±Ò¤@­Ó¸ê®Æ§¨, ¥u­nÂI¿ï§Y¥i; ­nÀËµø¤@­Ó®M¥óªº¬ÛÃö¸ê°T, ¥u­nÂI¿ï®M¥óªº¦WºÙ§Y¥i. <p>

¦b®M¥ó¦Cªíªº¤U­±¬O¤@­Ó·j´M®M¥ó¸ê®Æ®wªºªí³æ. ³o·|§ä´M¥ô¦ó¦WºÙ©Î»¡©ú²Å¦X±z«ü©w¤å¦rªº®M¥ó. <p>

<h3>¦w¸Ë¤@­Ó·sªº®M¥ó</h3>
¦b®M¥ó·j´M«ö¶s¤U­±ªºªí³æ¨Ï¥Î¤w¦w¸Ë¤@­Ó·s®M¥ó. ±z¥i¥H±q±z¥»¦aºÝÀÉ®×¨t²Î¤WªºÀÉ®×, ±z°õ¦æºô­¶ÂsÄý¾¹¤§¨t²Î¤WªºÀÉ®×©Î FTP/HTTP URL ¦w¸Ë¤§. ¦b³Ì«á­±ªºª¬ªp, Webmin ±N·|³s½u¨ì©Ò«ü©wªº FTP/HTTP ¦øªA¾¹¥H¨ú±o©Ò«ü©wªºÀÉ®×. ¦pªG±zªº¨t²Î©ñ¸m¦b¨¾¤õÀð«á¤è, ½Ð½T©w±z¦³¦b <i>Webmin ²ÕºA</i>¤¤¥¿½Tªº³]©w¥N²z¦øªA¾¹¸ê°T. <p>

<h3>«ü»{ÀÉ®×</h3>
¦b¥D­¶©³ºÝªºªí³æ¥i¥H¥Î©ó«ü»{±z¨t²Î¤Wªº¯S©wÀÉ®×. ±z¥²¶·¿é¤J¤@­Óµ´¹ï¸ô®|¨Ò¦p <tt>/etc/inetd.conf</tt> ©Î¬O¤@­Ó«ü¥O¨Ò¦p <tt>elm</tt>. Webmin ·|¹Á¸Õ±q®M¥óºÞ²z¨t²Î¤¤§ä´M¸ÓÀÉ®×, ¨Ã¦C¥X¨Ï¥Î¥¦ªº®M¥ó. <p>

<hr>

0707010003f861000081a40000000000000002000000013d1fe2cf00000375000000200000000000000000000000000000002600000003reloc/software/help/list_pack.ca.html <header>Fitxers de Paquet</header>

Aquesta pantalla llista tots els fitxers continguts en un paquet.
Per cada fitxer, es mostra la informació següent:

<dl>
<dt><b>Camí</b></dt>
   <dd>El camí absolut d'aquest fitxer del paquet. Si és un enllaç simbòlic,
       el camí inclourà l'objectiu de l'enllaç. Fes clic sobre el camí
       per veure més informació d'aquest fitxer.
   <dt><b>Usuari</b></dt>
   <dd>L'usuari Unix propietari del fitxer.
   <dt><b>Grup</b></dt>
   <dd>Grup Unix propietari del fitxer.
   <dt><b>Tipus</b></dt>
   <dd>EL tipus de fitxer o directori que és.
   <dt><b>Mida</b></dt>
   <dd>La mida del fitxer.
   <dt><b>Estat</b></dt>
   <dd>A menys que se suposi que el fitxer és editable, aquesta columna
       mostrarà qualsevol discrepància entre la mida correcta, l'usuari
       i la suma de verificació del fitxer i els seus valors actuals.
</dl>

<hr>


   0707010003f862000081a40000000000000002000000013d1fe2ce000003ce000000200000000000000000000000000000002600000003reloc/software/help/list_pack.es.html <header>Archivos de Paquete</header>

Esta ventana lista todos los archivos contenidos en algún paquete. Para cada
archivo se muestra la siguiente información:
<dl>
<dt><b>Trayectoria</b></dt>
<dd>El nombre absoluto de trayectorua para este archivo de paquete. Si es un
    enlace simbólico, la trayectoria incluirá el destino del enlace. Haz click
    sobre la trayectoria para ver más información acerca de este archivo.
<dt><b>Propietario</b></dt>
<dd>El usuario Unix que debería de ser el propietario de este archivo.
<dt><b>Grupo</b></dt>
<dd>El grupo Unix que debería de ser el propietario de este archivo.
<dt><b>Tipo</b></dt>
<dd>Qué tipo de archivo o directorio es.
<dt><b>Medida</b></dt>
<dd>El tamaño que debería de tener este archivo.
<dt><b>Status</b></dt>
<dd>A menos que este archivo se pueda editar, esta columna mostrará cualquier
    discrepancia entre la medida correcta, propietario y suma de chequeo del
    archivo y sus valores actuales.
</dl>

<hr>

  0707010003f863000081a40000000000000002000000013d1fe2ce000003a0000000200000000000000000000000000000002600000003reloc/software/help/list_pack.fr.html <header>Fichiers des composants</header>

Cette page liste tous les fichiers contenus dans un composant.
 Pour chaque fichier les informations suivantes sont affichées :
<dl>
<dt><b>Chemin</b></dt>
<dd>Le chemin absolu de ce fichier. Si c'est un lien symbolique,
    la cible de ce lien va être incluse au chemin. Cliquez sur le chemin
    d'accès pour avoir plus d'informations sur le fichier.
<dt><b>Propriétaire</b></dt>
<dd>L'utilisateur Unix qui devrait possèder ce fichier.
<dt><b>Groupe</b></dt>
<dd>Le groupe Unix qui devrait possèder ce fichier.
<dt><b>Type</b></dt>
<dd>Le type de fichier ou de répertoire dont il s'agit.
<dt><b>Taille</b></dt>
<dd>La taille que le fichier devrait avoir.
<dt><b>État</b></dt>
<dd>A moins que le fichier soit censé être modifiable, cette colonne affiche
    toutes les anomalies entre la taille, le propriétaire et le 'checksum'
    du fichier et leurs valeurs courantes.
</dl>

<hr>

0707010003f864000081a40000000000000002000000013d1fe2ce0000033c000000200000000000000000000000000000002300000003reloc/software/help/list_pack.html    <header>Package Files</header>

This screen lists all files contained in some package. For each file, the
following information is displayed :
<dl>
<dt><b>Path</b></dt>
<dd>The absolute pathname to this package file. If this is a symbolic link,
    the path will include the link target. Click on the path to view more
    information about this file.
<dt><b>Owner</b></dt>
<dd>The Unix user who should own this file.
<dt><b>Group</b></dt>
<dd>This Unix group who should own this file.
<dt><b>Type</b></dt>
<dd>What type of file or directory this is.
<dt><b>Size</b></dt>
<dd>The size this file should be.
<dt><b>Status</b></dt>
<dd>Unless the file is supposed to be editable, this column will display any
    discrepancies between the correct size, ownership and checksum of the file
    and their current values.
</dl>

<hr>

0707010003f865000081a40000000000000002000000013d1fe2cf000003c6000000200000000000000000000000000000002600000003reloc/software/help/list_pack.pl.html <header>Pliki pakietu</header>

Na tem ekranie pokazano wszystkie pliki zawarte w&nbsp;pewnym pakiecie.
Przy ka¿dym pliku znajduj± siê nastêpuj±ce informacje&nbsp;:
<dl>
<dt><b>¦cie¿ka</b></dt>
<dd>Bezwzglêdna ¶cie¿ka do tego pliku. W&nbsp;przypadku dowi±zañ
    symbolicznych, ¶cie¿ka bêdzie zawiera³a cel dowi±zania. Naci¶nij na
    ¶cie¿kê aby zobaczyæ wiêcej informacji o&nbsp;tym pliku.
<dt><b>W³a¶ciciel</b></dt>
<dd>U¿ytkownik Uniksa, który powinien byæ w³a¶cicielem tego pliku.
<dt><b>Grupa</b></dt>
<dd>Grupa Unisa, do której plik powinien nale¿eæ.
<dt><b>Rodzaj</b></dt>
<dd>Jaki jest to rodzaj pliku lub katalogu.
<dt><b>Rozmiar</b></dt>
<dd>Rozmiar, jaki ten plik powinien mieæ.
<dt><b>Stan</b></dt>
<dd>Je¿li plik nie jest zaznaczony jako konfiguracyjny, w&nbsp;tej kolumnie
    zostan± pokazane wszelkie rozbie¿no¶ci pomiêdzy w³a¶ciwymi
    i&nbsp;bie¿±cymi warto¶ciami rozmiaru, praw w³asno¶ci i&nbsp;sumy
    kontrolnej dla tego pliku. 
</dl>

<hr>

  0707010003f866000081a40000000000000002000000013d1fe2ce000002ee000000200000000000000000000000000000002600000003reloc/software/help/list_pack.sv.html <header>Paketfiler</header>

Här listas alla filer som ingår i något paket. För varje fil visas följande
information:
<dl>
<dt><b>Sökväg</b></dt>
<dd>Absolut sökväg till denna paketfil. Om sökvägen är en symbolisk länk
    kommer länkmålet också att visas. Klicka på sökvägen för att få mer
    information om filen.
<dt><b>Ägare</b></dt>
<dd>Den Unix-användare som borde äga filen.
<dt><b>Grupp</b></dt>
<dd>Den Unix-grupp som borde äga filen.
<dt><b>Typ</b></dt>
<dd>Fil- eller katalogtyp.
<dt><b>Storlek</b></dt>
<dd>Den storlek som filen borde ha.
<dt><b>Status</b></dt>
<dd>Om filen inte ska kunna ändras kommer alla skillnader mellan korrekta
    och nuvarande värden på storlek, ägare och checksummor för filen att visas
    här.
</dl>

<hr>

  0707010003f867000081a40000000000000002000000013d1fe2ce0000025f000000200000000000000000000000000000002e00000003reloc/software/help/list_pack.zh_TW.Big5.html <header>®M¥óÀÉ®×</header>

³o­Óµe­±¦C¥X©Ò¦³®M¥ó¤¤©Ò¥]§tªºÀÉ®×. ¹ï©ó¨C¤@­ÓÀÉ®×, ·|Åã¥Ü¥X¤U¦Cªº¸ê°T:
<dl>
<dt><b>¸ô®|</b></dt>
<dd>³o­Ó®M¥óÀÉ®×ªºµ´¹ï¸ô®|. ¦pªG³o¬O¤@­Ó²Å¸¹³sµ², ¸ô®|±N·|¥]§t³sµ²ªº¥Ø¼Ð. «ö¤U¦¹¸ô®|¥HÀËµø§ó¦hÃö©ó³o­ÓÀÉ®×ªº¸Ô²Ó¸ê®Æ.
<dt><b>¾Ö¦³ªÌ</b></dt>
<dd>À³¸Ó¾Ö¦³³o­ÓÀÉ®×ªº Unix ¨Ï¥ÎªÌ.
<dt><b>¸s²Õ</b></dt>
<dd>À³¸Ó¾Ö¦³³o­ÓÀÉ®×ªº Unix ¸s²Õ.
<dt><b>Ãþ§O</b></dt>
<dd>³oªºÀÉ®×©Î¥Ø¿ýªºÃþ§O.
<dt><b>¤j¤p</b></dt>
<dd>®M¥ó¤¤³o­ÓÀÉ®×ªº­ì©l¤j¤p.
<dt><b>ª¬ºA</b></dt>
<dd>°£«D³o­ÓÀÉ®×¹w´Á¬°¥i½s¿è, ³o­ÓÄæ¦ì±N·|Åã¥Ü¥X¥ô¦ó¯u¹ê¨t²Î»P¬ö¿ý¤£¦Pªºª¬ªp, ¨Ò¦pÀÉ®×¤j¤p, ¾Ö¦³Åv, ÀÉ®×ªºÀË¬d­Èµ¥µ¥.
</dl>

<hr>

 0707010003f868000081a40000000000000002000000013d1fe2cf000000b1000000200000000000000000000000000000002300000003reloc/software/help/nodeps.ca.html    <header>Ignora les dependències</header>

A menys que triïs aquesta opció, no podràs instal·lar un paquet que
depèn d'altres paquets que no tens actualment instal·lats.

<hr>


   0707010003f869000081a40000000000000002000000013d1fe2cf000000b6000000200000000000000000000000000000002300000003reloc/software/help/nodeps.es.html    <header>¿Ignorar dependencias?</header>

A menos que se seleccione esta opción, no podrás instalar un paquete que
depende de otros paquetes que no han sido todavía instalados.
<hr>

  0707010003f86a000081a40000000000000002000000013d1fe2ce000000c9000000200000000000000000000000000000002300000003reloc/software/help/nodeps.fr.html    <header>Ignorer les dépendances?</header>

Tant que cette option n'est pas choisie, vous serez incapable
d'installer un composant qui dépend d'un autre composant qui n'est
pas déjà installé. <p>
<hr>

   0707010003f86b000081a40000000000000002000000013d1fe2ce000000be000000200000000000000000000000000000002000000003reloc/software/help/nodeps.html   <header>Ignore dependencies?</header>

Unless this option is chosen, you will not be able to install a package
that depends on other packages that you do not currently have installed.
<hr>

  0707010003f86c000081a40000000000000002000000013d1fe2cf000000d1000000200000000000000000000000000000002300000003reloc/software/help/nodeps.pl.html    <header>Ignorowaæ zale¿no¶ci?</header>

Je¶li nie zaznaczono tej opcji, nie bêdziesz mieæ mo¿liwo¶ci zainstalowania
pakietu wymagaj±cego innych pakietów, które z&nbsp;kolei nie s± obecnie
zainstalowane.
<hr>

   0707010003f86d000081a40000000000000002000000013d1fe2ce000000af000000200000000000000000000000000000002300000003reloc/software/help/nodeps.sv.html    <header>Strunta i beroenden?</header>

Om man väljer Nej här kommer man inte att kunna installera paket som
beror på något annat paket som inte redan finns installerat.
<hr>

 0707010003f86e000081a40000000000000002000000013d1fe2ce00000076000000200000000000000000000000000000002b00000003reloc/software/help/nodeps.zh_TW.Big5.html    <header>¬O§_©¿²¤¨Ì¦s©Ê?</header>

°£«D±z¦³¿ï¨ú³o­Ó¿ï¶µ, ±z±N¤£¯à¦w¸Ë¤@­Ó®M¥ó¨ä©Ò¨Ì¦sªº®M¥ó¨Ã¥¼¦w¸Ë©ó±zªº¨t²Î¤W.
<hr>

  0707010003f86f000081a40000000000000002000000013d1fe2cf000000d0000000200000000000000000000000000000002600000003reloc/software/help/noscripts.ca.html <header>Executa els scripts d'instal·lació</header>

Quan triïs aquesta opció, s'executaran tots els scripts pre o
post-instal·lació del fitxer de paquets quan calgui durant el procés
d'instal·lació.

<hr>


0707010003f870000081a40000000000000002000000013d1fe2cf000000dd000000200000000000000000000000000000002600000003reloc/software/help/noscripts.es.html <header>¿Ejecuto guiones de instalación?</header>

Cuando se selecciona esta opción, cualquier guión de pre o post instalación
del archivo de paquete será ejecutado necesariamente durante el proceso de
instalación.
<hr>

   0707010003f871000081a40000000000000002000000013d1fe2ce000000c8000000200000000000000000000000000000002600000003reloc/software/help/noscripts.fr.html <header>Exécuter les scripts d'installation?</header>

Quand cette option est choisie, tout script pre- et post-installation
sera exécuté comme prévu par le processus d'installation normal.<p>

<hr>

0707010003f872000081a40000000000000002000000013d1fe2ce000000c1000000200000000000000000000000000000002300000003reloc/software/help/noscripts.html    <header>Execute install scripts?</header>

When this option is chosen, any pre- or post-installation scripts in the
package file will be executed as necessary during the install process.
<hr>

   0707010003f873000081a40000000000000002000000013d1fe2cf000000c0000000200000000000000000000000000000002600000003reloc/software/help/noscripts.pl.html <header>Uruchomiæ skrypty instalacyjne?</header>

Je¶li zaznaczono tê opcjê, wszelkie przed- i&nbsp;poinstalacyjne skrypty
zostan± uruchomione jako niezbêdne podczas procesu instalacji.
<hr>

0707010003f874000081a40000000000000002000000013d1fe2ce000000ca000000200000000000000000000000000000002600000003reloc/software/help/noscripts.sv.html <header>Utföra installationsscript?</header>

Om man valt detta kommer alla installationsscript (inklusive för- och
efterscript) i paketfilen att anses nödvändiga att utföra under installationen.
<hr>

  0707010003f875000081a40000000000000002000000013d1fe2ce00000078000000200000000000000000000000000000002e00000003reloc/software/help/noscripts.zh_TW.Big5.html <header>¬O§_°õ¦æ©R¥O´ß«ü¥O½Z?</header>

·í¿ï¾Ü³o­Ó¿ï¶µ«á, ¥ô¦ó®M¥ó¤¤ªº«e¸m©Î«á¸m¦w®N«ü¥O½Z³£·|¦b¦w¸Ëµ{§Ç¤¤³Q°õ¦æ.
<hr>

0707010003f876000081a40000000000000002000000013d1fe2cf000000fd000000200000000000000000000000000000002700000003reloc/software/help/oldpackage.ca.html    <header>Reemplaça la versió nova per la vella</header>

A menys que triïs aquesta opció, intentar actualitzar un paquet 
instal·lat amb un de <b>més vell</b>, fallarà. Aquesta opció només
funciona quan tries també <tt>Actualitza el paquet</tt>.

<hr>


   0707010003f877000081a40000000000000002000000013d1fe2ce0000011d000000200000000000000000000000000000002700000003reloc/software/help/oldpackage.es.html    <header>¿Sustituyo nueva versión por la vieja?</header>

A menos que se seleccione esta opción, el intento de actualizar cualquier
paquete ya instalado a una versión <b>más vieja</b> fallará. Esta opción
sólo funcionar cuando también se selecciona <tt>¿Actualizar paquete?</tt>.
<hr>

   0707010003f878000081a40000000000000002000000013d1fe2ce00000140000000200000000000000000000000000000002700000003reloc/software/help/oldpackage.fr.html    <header>Remplacer la version courante par une ancienne?</header>

A moins de choisr cette option, toute tentative de mise à jour d'un
composant déjà installé vers une version plus <b>ancienne</b> échouera.
Cette option ne fonctionne que si l'option <tt>Mettre à jour le
composant?</tt> est elle-aussi activée. <p>
<hr>

0707010003f879000081a40000000000000002000000013d1fe2ce000000f5000000200000000000000000000000000000002400000003reloc/software/help/oldpackage.html   <header>Replace new version with old?</header>

Unless this option is chosen, attempting to ugrade an already installed
package to an <b>older</b> version will fail. This option only works when
<tt>Upgrade package?</tt> is chosen as well.
<hr>

   0707010003f87a000081a40000000000000002000000013d1fe2cf0000011a000000200000000000000000000000000000002700000003reloc/software/help/oldpackage.pl.html    <header>Zast±piæ nowsz± wersjê przez starsz±?</header>

Je¶li nie zaznaczono tej opcji, próba aktualizacji ju¿ zainstalowanego
pakietu przez <b>starsz±</b> wersjê nie powiedzie siê. Ta opcja dzia³a
jedynie, gdy zostanie równie¿ zaznaczona opcja <tt>Aktualizowaæ pakiet?</tt> 
<hr>

  0707010003f87b000081a40000000000000002000000013d1fe2ce000000fe000000200000000000000000000000000000002700000003reloc/software/help/oldpackage.sv.html    <header>Byta ut en ny version mot en äldre?</header>

Om man inte väljer detta kommer det inte att gå att uppgradera ett
installerat paket till en <b>äldre</b> version. Denna inställning fungerar
bara om <tt>Uppgradera paket?</tt> också har valts.
<hr>

  0707010003f87c000081a40000000000000002000000013d1fe2ce000000bc000000200000000000000000000000000000002f00000003reloc/software/help/oldpackage.zh_TW.Big5.html    <header>¬O§_¥Î¸ûÂÂªºÀÉ®×¨ú¥N¸û·sªº?</header>

°£«D¿ï¾Ü³o­Ó¿ï¶µ, ¥ô¦ó¸ÕµÛ±N²{¦sªº®M¥ó¤É¯Å¨ì¤@­Ó<b>¸ûÂÂªº</b>ª©¥»³£·|¥¢±Ñ. ³o­Ó¿ï¶µ¥u¦³¦b¿ï¾Ü¤F<tt>¬O§_­nª@¯Å®M¥ó?</tt> ¿ï¶µ«á¤~·|¦³®Ä.
<hr>

0707010003f87d000081a40000000000000002000000013d1fe2cf000000ff000000200000000000000000000000000000002900000003reloc/software/help/replacefiles.ca.html  <header>Sobrescriu els fitxers</header>

Si selecciones aquesta opció, el paquet s'instal·larà encara que contingui
fitxers que entren en conflicte amb un paquet ja instal·lat. Durant la
instal·lació, els fitxers nous sobrescriuran els existents.

<hr>


 0707010003f87e000081a40000000000000002000000013d1fe2ce0000010f000000200000000000000000000000000000002900000003reloc/software/help/replacefiles.es.html  <header>¿Sobreescribo archivos?</header>

Si se selecciona esta opción, el paquete será instalado incluso si contiene
archivos que están en conflicto con un paquete ya instalado. Los archivos
ya existentes serán sobreescritos por los nuevos durante la instalación.
<hr>

 0707010003f87f000081a40000000000000002000000013d1fe2ce0000010f000000200000000000000000000000000000002900000003reloc/software/help/replacefiles.fr.html  <header>Écraser les fichiers?</header>

Si cette option est choisie, le composant sera installé même s'il contient
des fichiers entrant en conflit avec ceux d'un composant déjà installé. Les
fichiers existants seront écrasés par les nouveaux durant l'installation.
<hr>

 0707010003f880000081a40000000000000002000000013d1fe2ce000000f5000000200000000000000000000000000000002600000003reloc/software/help/replacefiles.html <header>Overwrite files?</header>

If this option is selected, the package will be installed even if it
contains files that conflict with an already installed package. The existing
files will be overwritten by the new during installation.
<hr>

   0707010003f881000081a40000000000000002000000013d1fe2cf000000f3000000200000000000000000000000000000002900000003reloc/software/help/replacefiles.pl.html  <header>Nadpisywaæ pliki?</header>

Je¶li zaznaczono tê opcjê, pakiet zostanie zainstalowany nawet wtedy, gdy
zawiera pliki koliduj±ce z&nbsp;ju¿ zainstalowanym pakietem. Istniejêce pliki
zostan± nadpisane przez nowe podczas instalacji.
<hr>

 0707010003f882000081a40000000000000002000000013d1fe2ce000000f2000000200000000000000000000000000000002900000003reloc/software/help/replacefiles.sv.html  <header>Skriva över filer?</header>

Om man väljer detta kommer paketet att installeras även om det innehåller
filer som redan finns i ett annat installerat paket. Filerna ifråga kommer
att skrivas över med de nya under installationen.
<hr>

  0707010003f884000081a40000000000000002000000013d1fe2cf0000008b000000200000000000000000000000000000002800000003reloc/software/help/replacepkgs.ca.html   <header>Sobrescriu el paquet</header>

Si tries aquesta opció, es reinstal·larà el paquet encara que aquest ja
estigui instal·lat.

<hr>


 0707010003f883000081a40000000000000002000000013d1fe2ce0000009c000000200000000000000000000000000000003100000003reloc/software/help/replacefiles.zh_TW.Big5.html  <header>¬O§_­n»\¼gÀÉ®×?</header>

¦pªG¦³¿ï¨ú³o­Ó¿ï¶µ, §Y¨Ï®M¥ó©Ò¥]§tªºÀÉ®×»P¤w¸g¦w¸Ëªº®M¥óÀÉ®×¬Û½Ä¬ð, ³o­Ó®M¥ó¤]·|³Q¦w¸Ë; ¦Ó¥BÀÉ®×·|³Q·sªº¦w¸Ë©Ò»\¼g.
<hr>

0707010003f885000081a40000000000000002000000013d1fe2ce0000008e000000200000000000000000000000000000002800000003reloc/software/help/replacepkgs.es.html   <header>¿Sobreescribir paquete?</header>

Si se selecciona esta opción, el paquete será reinstalado incluso si ya
existe en tu sistema.
<hr>

  0707010003f886000081a40000000000000002000000013d1fe2cf00000090000000200000000000000000000000000000002800000003reloc/software/help/replacepkgs.fr.html   <header>Écraser le composant?</header>

Si cette option est choisie, le composant sera installé même
s'il l'était déjà sur votre système.
<hr>

0707010003f887000081a40000000000000002000000013d1fe2ce00000090000000200000000000000000000000000000002500000003reloc/software/help/replacepkgs.html  <header>Overwrite package?</header>

If this option is chosen, the package will be re-installed even if it
already exists on your system.
<hr>

0707010003f888000081a40000000000000002000000013d1fe2cf00000097000000200000000000000000000000000000002800000003reloc/software/help/replacepkgs.pl.html   <header>Nadpisaæ pakiet?</header>

Je¶li zaznaczono tê opcjê, pakiet zostanie przeinstalowany nawet wtedy, gdy
ju¿ znajduje siê w&nbsp;systemie.
<hr>

 0707010003f889000081a40000000000000002000000013d1fe2ce00000088000000200000000000000000000000000000002800000003reloc/software/help/replacepkgs.sv.html   <header>Skriva över paket?</header>

Om man väljer detta kommer paketet att installeras igen även om det redan
finns på systemet.
<hr>

0707010003f88a000081a40000000000000002000000013d1fe2ce00000076000000200000000000000000000000000000003000000003reloc/software/help/replacepkgs.zh_TW.Big5.html   <header>¬O§_­n»\¼g®M¥ó?</header>

¦pªG¿ï¾Ü¤F³o­Ó¿ï¶µ, ³o­Ó®M¥ó±N·|³Q­«·s¦w¸Ë, §Y¨Ï³o­Ó®M¥ó¤w¸g¦w¸Ë©ó±zªº¨t²Î¤W.
<hr>

  0707010003f88b000081a40000000000000002000000013d1fe2cf0000009f000000200000000000000000000000000000002100000003reloc/software/help/root.ca.html  <header>Directori arrel</header>

Executa tota la instal·lació de forma relativa a aquest directori.
No ho modifiquis a menys que sàpigues el que fas.

<hr>


 0707010003f88c000081a40000000000000002000000013d1fe2ce000000a2000000200000000000000000000000000000002100000003reloc/software/help/root.es.html  <header>Direcotorio Raíz</header>

Realiza toda la instalación relatívamente a este directorio. No modifiques
éste a menos que sepas lo que estás haciendo.
<hr>

  0707010003f88d000081a40000000000000002000000013d1fe2ce000000a3000000200000000000000000000000000000002100000003reloc/software/help/root.fr.html  <headerRépertoire racine</header>

Exécute l'installation avec ce répertoire comme racine. Ne modifiez
pas ce choix à moins de savoir ce que vous faites.<p>
<hr>

 0707010003f88e000081a40000000000000002000000013d1fe2ce00000093000000200000000000000000000000000000001e00000003reloc/software/help/root.html <header>Root Directory</header>

Perform all installation relative to this directory. Do not modify this
unless you know what you are doing.
<hr>

 0707010003f88f000081a40000000000000002000000013d1fe2cf00000092000000200000000000000000000000000000002100000003reloc/software/help/root.pl.html  <header>Katalog g³ówny</header>

Ca³a instalacja zostanie przeprowadzona wzglêdem tego katalogu. Nie zmieniaj
go, chyba ¿e wiesz co robisz.
<hr>

  0707010003f890000081a40000000000000002000000013d1fe2cf0000009b000000200000000000000000000000000000002100000003reloc/software/help/root.sv.html  <header>Rotkatalog</header>

All installation görs relativt denna katalog. Rör inte denna inställning
om du inte verkligen vet vad du håller på med.
<hr>

 0707010003f891000081a40000000000000002000000013d1fe2ce0000006c000000200000000000000000000000000000002900000003reloc/software/help/root.zh_TW.Big5.html  <header>®Ú¥Ø¿ý</header>

©Ò¦³ªº¦w¸Ë³£·|±N¹ï©ó³o­Ó¥Ø¿ý. <b>¤£­n</b>ÅÜ§ó³o­Ó³]©w, °£«D±zª¾¹D±z¦b§@¤°»ò.
<hr>

0707010003f892000081a40000000000000002000000013d1fe2cf000000c4000000200000000000000000000000000000002300000003reloc/software/help/search.ca.html    <header>Cerca de Paquet</header>

Mostra una llista de tots els paquets que han coincidit amb la recerca
de la pàgina principal. Fes clic sobre el nom d'un paquet per veure'n
els detalls.

<hr>


0707010003f893000081a40000000000000002000000013d1fe2cf000000db000000200000000000000000000000000000002300000003reloc/software/help/search.es.html    <header>Búsqueda de Paquete</header>

Muestra una lista de todos los paquetes que coinciden con una búsqueda
realizada desde la página principal. Haz click en un nombre de paquete para
ver sus detalles completos.
<hr>

 0707010003f894000081a40000000000000002000000013d1fe2ce000000d3000000200000000000000000000000000000002300000003reloc/software/help/search.fr.html    <header>Recherche de composants</header>

Affiche la liste de tout les composants qui correspondent à une recherche
depuis la page principale. Cliquez sur le nom d'un composant pour avoir
plus de détails.
<hr>

 0707010003f895000081a40000000000000002000000013d1fe2ce000000a3000000200000000000000000000000000000002000000003reloc/software/help/search.html   <header>Package Search</header>

Displays a list of all packages that matched a search from the main page.
Click on a package name to view its full details.
<hr>

 0707010003f896000081a40000000000000002000000013d1fe2cf000000c6000000200000000000000000000000000000002300000003reloc/software/help/search.pl.html    <header>Szukanie pakietu</header>

Pokazuje listê wszystkich pakietów, które pasuj± do wzorca podanego na
stronie g³ównej. Naci¶nij na nazwê pakietu, aby obejrzeæ pe³n± informacjê
o&nbsp;nim.
<hr>

  0707010003f897000081a40000000000000002000000013d1fe2cf000000a9000000200000000000000000000000000000002300000003reloc/software/help/search.sv.html    <header>Paketsökning</header>

Här visas en lista över alla paket från sökningen på startsidan. Klicka på
ett paketnamn för att få reda på information om paketet.
<hr>

   0707010003f898000081a40000000000000002000000013d1fe2ce00000065000000200000000000000000000000000000002b00000003reloc/software/help/search.zh_TW.Big5.html    <header>®M¥ó·j´M</header>

Åã¥Ü²Å¦X¨Ó¦Û¥Dµe­±·j´M±ø¥óªº®M¥ó¦Cªí. «ö¤U®M¥ó¦WºÙ¥HÀËµø§¹¾ãªº²Ó¸`.
<hr>

   0707010003f899000081a40000000000000002000000013d1fe2cf000000ca000000200000000000000000000000000000002400000003reloc/software/help/upgrade.ca.html   <header>Actualitza el paquet</header>

Per instal·lar una versió nova d'un paquet que ja està instal·lat, has
de triar aquesta opció, La versió antiga s'esborrarà i se substituirà 
per la nova.

<hr>


  0707010003f89a000081a40000000000000002000000013d1fe2ce000000de000000200000000000000000000000000000002400000003reloc/software/help/upgrade.es.html   <header>¿Actualizar paquete?</header>

Cuando se instala una nueva versión de un paquete que ya existe en tu
sistema, puedes seleccionar esta opción. La versión vieja será entonces
borrada y sustituída por la nueva.
<hr>

  0707010003f89b000081a40000000000000002000000013d1fe2ce000000eb000000200000000000000000000000000000002400000003reloc/software/help/upgrade.fr.html   <header>Mettre le composant à jour?</header>

En installant une version plus récente d'un composant déjà présent sur
votre système, vous devez choisir cette option. L'ancienne version
sera supprimée et remplacée par la nouvelle.
<hr>

 0707010003f89c000081a40000000000000002000000013d1fe2ce000000cb000000200000000000000000000000000000002100000003reloc/software/help/upgrade.html  <header>Upgrade package?</header>

When installing a newer version of a package already on your system, you
must choose this option. The old version will then be deleted and replaced
with the new.
<hr>

 0707010003f89d000081a40000000000000002000000013d1fe2cf000000d5000000200000000000000000000000000000002400000003reloc/software/help/upgrade.pl.html   <header>Aktualizowaæ pakiet?</header>

Musisz zaznaczyæ tê opcjê podczas instalacji nowszej wersji pakietu ju¿
zainstalowanego w&nbsp;systemie. Stara wersja zostanie wówczas usuniêta
i&nbsp;zast±piona now±.
<hr>

   0707010003f89e000081a40000000000000002000000013d1fe2ce000000bd000000200000000000000000000000000000002400000003reloc/software/help/upgrade.sv.html   <header>Uppgradera paket?</header>

När en ny version av ett redan installerat paket ska installeras måste
denna inställning göras. Den nya versionen ersätter den gamla, som raderas.
<hr>

   0707010003f89f000081a40000000000000002000000013d1fe2ce0000008c000000200000000000000000000000000000002c00000003reloc/software/help/upgrade.zh_TW.Big5.html   <header>¬O§_­nª@¯Å®M¥ó?</header>

·í¦w¸Ë¤@­Ó¤w¸g¦b±z¨t²Î¤W®M¥óªº¸û·sª©¥», ±z¥²¶·¿ï¾Ü³o­Ó¿ï¶µ. ¸ûÂÂªºª©¥»±N·|³Q§R°£, ¨Ã³Q·sªºª©¥»¨ú¥N.
<hr>

0707010003b27d000081a40000000000000002000000013d1fe2cf00000013000000200000000000000000000000000000002300000003reloc/software/config-redhat-linux    package_system=rpm
 0707010003b27e000081a40000000000000002000000013d1fe2cf00000019000000200000000000000000000000000000002600000003reloc/software/config-slackware-linux package_system=slackware
   0707010003b27f000081a40000000000000002000000013d1fe2cd00000016000000200000000000000000000000000000001e00000003reloc/software/config-solaris package_system=pkgadd
  0707010003b280000081a40000000000000002000000013d1fe2cd00000013000000200000000000000000000000000000002100000003reloc/software/config-suse-linux  package_system=rpm
 0707010003b281000081a40000000000000002000000013d1fe2cd00000013000000200000000000000000000000000000002200000003reloc/software/config-turbo-linux package_system=rpm
 0707010003b282000081a40000000000000002000000013d1fe2cf00000016000000200000000000000000000000000000001f00000003reloc/software/config-unixware    package_system=pkgadd
  0707010003b283000081a40000000000000002000000013d1fe2cf00000094000000200000000000000000000000000000001b00000003reloc/software/config.info    package_system=Package management system,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian,aix-AIX,emerge-Gentoo
0707010003b284000081a40000000000000002000000013d1fe2cf0000008b000000200000000000000000000000000000001e00000003reloc/software/config.info.ca package_system=Sistema de gestió de paquets,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian,aix-AIX


 0707010003b285000081a40000000000000002000000013d1fe2ce0000007c000000200000000000000000000000000000001e00000003reloc/software/config.info.de package_system=Paket Management System,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
0707010003b286000081a40000000000000002000000013d1fe2cd00000083000000200000000000000000000000000000001e00000003reloc/software/config.info.es package_system=Sistema de gestión de Paquetes,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
 0707010003b287000081a40000000000000002000000013d1fe2cf00000085000000200000000000000000000000000000001e00000003reloc/software/config.info.fr package_system=Système de gestion des composants,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian   0707010003b288000081a40000000000000002000000013d1fe2cf00000081000000200000000000000000000000000000001e00000003reloc/software/config.info.pl package_system=System zarz±dzania pakietami,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
   0707010003b289000081a40000000000000002000000013d1fe2cf00000080000000200000000000000000000000000000002100000003reloc/software/config.info.ru_RU  package_system=Ñèñòåìà óïðàâëåíèÿ ïàêåòàìè,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
0707010003b28a000081a40000000000000002000000013d1fe2cd00000080000000200000000000000000000000000000002100000003reloc/software/config.info.ru_SU  package_system=óÉÓÔÅÍÁ ÕÐÒÁ×ÌÅÎÉÑ ÐÁËÅÔÁÍÉ,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
0707010003b28b000081a40000000000000002000000013d1fe2ce000000e0000000200000000000000000000000000000001e00000003reloc/software/config.info.sv package_system=Pakethanteringssystem,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
update_system=Automatiskt installationssystem,1,apt-Debian APT,rhn-Redhat Network,cup-Caldera CUPDATE
0707010003b28c000081a40000000000000002000000013d1fe2cf0000007a000000200000000000000000000000000000001e00000003reloc/software/config.info.tr package_system=Paket yönetim sistemi,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
  0707010003b28d000081a40000000000000002000000013d1fe2cd00000073000000200000000000000000000000000000002100000003reloc/software/config.info.zh_CN  package_system=Èí¼þ°ü¹ÜÀíÏµÍ³,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
 0707010003b28e000081a40000000000000002000000013d1fe2cd00000075000000200000000000000000000000000000002600000003reloc/software/config.info.zh_TW.Big5 package_system=®M¥óºÞ²z¨t²ÎÃþ§O,1,rpm-RPM,pkgadd-Solaris,hpux-HPUX,freebsd-FreeBSD,slackware-Slackware,debian-Debian
   0707010003b28f000081a40000000000000002000000013d1fe2cd000013b9000000200000000000000000000000000000001d00000003reloc/software/debian-lib.pl  # debian-lib.pl
# Functions for debian DPKG package management

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
local $i = 0;
local $arg = @_ ? join(" ", @_) : "";
open(PKGINFO, "COLUMNS=200 dpkg --list $arg |");
while(<PKGINFO>) {
	next if (/^\|/ || /^\+/);
	if (/^ii..(\S+)\s+(\S+)\s+(.*)/) {
		$packages{$i,'name'} = $1;
		$packages{$i,'class'} = &alphabet_name($1);
		$packages{$i,'desc'} = $3;
		$i++;
		}
	}
close(PKGINFO);
return $i;
}

sub alphabet_name
{
return lc($_[0]) =~ /^[a-e]/ ? "A-E" :
       lc($_[0]) =~ /^[f-j]/ ? "F-J" :
       lc($_[0]) =~ /^[k-o]/ ? "K-O" :
       lc($_[0]) =~ /^[p-t]/ ? "P-T" :
       lc($_[0]) =~ /^[u-z]/ ? "U-Z" : "Other";
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local $out = `dpkg --print-avail $_[0] 2>&1`;
return () if ($? || $out =~ /Package .* is not available/i);
local @rv = ( $_[0], &alphabet_name($_[0]) );
push(@rv, $out =~ /Description:\s+([\0-\177]*\S)/i ? $1
						   : $text{'debian_unknown'});
push(@rv, $out =~ /Architecture:\s+(\S+)/i ? $1 : $text{'debian_unknown'});
push(@rv, $out =~ /Version:\s+(\S+)/i ? $1 : $text{'debian_unknown'});
push(@rv, $out =~ /Maintainer:\s+(.*)/i ? &html_escape($1)
					 : $text{'debian_unknown'});
push(@rv, $text{'debian_unknown'});
return @rv;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group mode size error
sub check_files
{
local $i = 0;
local $file;
open(PKGINFO, "dpkg --listfiles $_[0] |");
while($file = <PKGINFO>) {
	$file =~ s/\r|\n//g;
	next if ($file !~ /^\/[^\.]/);
	local @st = stat($file);
	$files{$i,'path'} = $file;
	$files{$i,'type'} = -l $file ? 3 :
			    -d $file ? 1 : 0;
	$files{$i,'user'} = getpwuid($st[4]);
	$files{$i,'group'} = getgrgid($st[5]);
	$files{$i,'mode'} = sprintf "%o", $st[2] & 07777;
	$files{$i,'size'} = $st[7];
	$files{$i,'link'} = readlink($file);
	$i++;
	}
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local $out = `dpkg --search $_[0] 2>&1`;
return 0 if ($out =~ /not found/i);
$out =~ s/:\s+\S+\n$//;
local @pkgin = split(/[\s,]+/, $out);
local @st = stat($_[0]);
$file{'path'} = $_[0];
$file{'type'} = -l $_[0] ? 3 :
		-d $_[0] ? 1 : 0;
$file{'user'} = getpwuid($st[4]);
$file{'group'} = getgrgid($st[5]);
$file{'mode'} = sprintf "%o", $st[2] & 07777;
$file{'size'} = $st[7];
$file{'link'} = readlink($_[0]);
$file{'packages'} = join(" ", @pkgin);
return 1;
}

# is_package(file)
sub is_package
{
local $out = `dpkg --info $_[0] 2>&1`;
return $? || $out !~ /Package:/ ? 0 : 1;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local $out = `dpkg --info $_[0] 2>&1`;
local $name;
if ($out =~ /Package:\s+(\S+)/i && ($name=$1) &&
    $out =~ /Description:\s+(.*)/i) {
	return ( "$name $1" );
	}
return ();
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
print "<tr> <td><b>$text{'debian_depends'}</b></td>\n";
print "<td><input type=radio name=depends value=1> $text{'yes'}\n";
print "<input type=radio name=depends value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'debian_conflicts'}</b></td>\n";
print "<td><input type=radio name=conflicts value=1> $text{'yes'}\n";
print "<input type=radio name=conflicts value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'debian_overwrite'}</b></td>\n";
print "<td><input type=radio name=overwrite value=1> $text{'yes'}\n";
print "<input type=radio name=overwrite value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'debian_downgrade'}</b></td>\n";
print "<td><input type=radio name=downgrade value=1> $text{'yes'}\n";
print "<input type=radio name=downgrade value=0 checked> $text{'no'}</td> </tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
local $in = $_[2] ? $_[2] : \%in;
local $args = ($in->{'depends'} ? " --force-depends" : "").
	      ($in->{'conflicts'} ? " --force-conflicts" : "").
	      ($in->{'overwrite'} ? " --force-overwrite" : "").
	      ($in->{'downgrade'} ? " --force-downgrade" : "");
local $out = &backquote_logged("dpkg --install $args $_[0] 2>&1 </dev/null");
if ($?) {
	return "<pre>$out</pre>";
	}
return undef;
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
local $out = &backquote_logged("dpkg --remove $_[0] 2>&1 </dev/null");
if ($? || $out =~ /which isn.t installed/i) {
	return "<pre>$out</pre>";
	}
return undef;
}

sub package_system
{
return $text{'debian_manager'};
}

sub package_help
{
return "dpkg";
}

1;

   0707010003b38b000081a40000000000000002000000013d1fe2cf000027bb000000200000000000000000000000000000001b00000003reloc/software/hpux-lib.pl    # hpux-lib.pl
# Functions for HP-UX package management

# list_packages([package]*)
# Fills the array %packages with all or listed packages
sub list_packages
{
local($i, $name, $class, @contents, $products, $title_flag);
$i = 0;
$products = join(' ', @_);
$name = "";

open(SW, "swlist -v -a title -a contents |");
while(<SW>) {
	s/#.*$//g;
# bundles and unbundled products
	if (/^  (\S*)/) {
		$name = $1;
		$packages{$i,'name'} = $1;
		$packages{$i,'class'} = $1;
		}
        if (/^bundle/ || /^product/) {
                $title_flag = 1;
                }
	if (/^title\s+(.*)/ && $title_flag) {
		$packages{$i,'desc'} = $1;
		if ($products eq "" || (index $products,$name) ne -1) {
			$i++;
			}
                $title_flag = "";
		}
# bundeled products
	if (/^contents\s+(.*)/) {
		@contents = split(/\./, $1);
		$packages{$i,'name'} = "$name.$contents[0]";
		$packages{$i,'class'} = $name;
		if (($products eq "" ||
		     (index $products,"$contents[0]") ne -1) &&
		    $packages{$i,'name'} ne $packages{$i - 1,'name'} ) {
			$i++;
			}
		}
	}
close(SW);

return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local(@name, $level, $name, $class, $desc, $arch, $version, $vendor, $date);

$name = $_[0];
@name = split(/\./, $name);
$class = $name[0];

open(SW, "swlist -l product -v -a vendor.title -a title -a revision -a architecture -a date $name | ");
while(<SW>) {
	s/#.*$//g;
	if (/^date\s+(.*)/ &&
	    ($name[1] eq "" && $date eq "" || $name[1] ne "")) {
		$date = $1;
		}
	if (/^architecture\s+(.*)/ &&
	    ($name[1] eq "" && $arch eq "" || $name[1] ne "")) {
		$arch = $1;
		}
	if (/^revision\s+(.*)/ &&
	    ($name[1] eq "" && $version eq "" || $name[1] ne "")) {
		$version = $1;
		}
	if (/^vendor\.title\s+(.*)/ &&
	    ($name[1] eq "" && $vendor eq "" || $name[1] ne "")) {
		$vendor = $1;
		}
	if (/^title\s+(.*)/ &&
	    ($name[1] eq "" && $desc eq "" || $name[1] ne "")) {
		$desc = $1;
		}
	}
close(SW);

return ($name, $class, $desc, $arch, $version, $vendor, $date);
}

# is_package(file)
# Check if some file is a package file
sub is_package
{
local($out);
$out = `swlist -s $_[0] 2>&1`;
return $out !~ /ERROR:   /;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local(@list);
open(SW, "swlist -s $_[0] |");
while(<SW>) {
	s/#.*$//g;
	if (/^  (\S*)\s+(\S*)/) {
		push (@list, "$1 $2");
		}
	}
close(SW);

return @list;
}

# install_options(file, package)
# Outputs HTML for choosing install options for some package
sub install_options
{
print "<tr> <td align=right><b>Create target path?</b></td>\n";
print "<td>\n";
print "<input type=radio name=create_target_path value=1 checked> Yes\n";
print "<input type=radio name=create_target_path value=0> No\n";
print "</td>\n";

print "<td align=right><b>Mount all filesystems?</b></td>\n";
print "<td>\n";
print "<input type=radio name=mount_all_filesystems value=1 checked> Yes\n";
print "<input type=radio name=mount_all_filesystems value=0> No\n";
print "</td></tr>\n";

print "<tr> <td align=right><b>Reinstall?</b></td>\n";
print "<td>\n";
print "<input type=radio name=reinstall value=1> Yes\n";
print "<input type=radio name=reinstall value=0 checked> No\n";
print "</td>\n";

print "<td align=right><b>Reinstall files?</b></td>\n";
print "<td>\n";
print "<input type=radio name=reinstall_files value=1 checked> Yes\n";
print "<input type=radio name=reinstall_files value=0> No\n";
print "</td></tr>\n";

print "<tr><td align=right><b>Reinstall files use checksum?</b></td>\n";
print "<td>\n";
print "<input type=radio name=reinstall_files_use_cksum value=1 checked> Yes\n";
print "<input type=radio name=reinstall_files_use_cksum value=0> No\n";
print "</td>\n";

print "<td align=right><b>Allow multiple versions?</b></td>\n";
print "<td>\n";
print "<input type=radio name=allow_multiple_versions value=1> Yes\n";
print "<input type=radio name=allow_multiple_versions value=0 checked> No\n";
print "</td></tr>\n";

print "<tr> <td align=right><b>Defer configure?</b></td>\n";
print "<td>\n";
print "<input type=radio name=defer_configure value=1> Yes\n";
print "<input type=radio name=defer_configure value=0 checked> No\n";
print "</td>\n";

print "<td align=right><b>Autorecover product?</b></td>\n";
print "<td>\n";
print "<input type=radio name=autorecover_product value=1> Yes\n";
print "<input type=radio name=autorecover_product value=0 checked> No\n";
print "</td></tr>\n";

print "<tr> <td align=right><b>Allow downdate?</b></td>\n";
print "<td>\n";
print "<input type=radio name=allow_downdate value=1> Yes\n";
print "<input type=radio name=allow_downdate value=0 checked> No\n";
print "</td>\n";

print "<td align=right><b>Allow incompatible?</b></td>\n";
print "<td>\n";
print "<input type=radio name=allow_incompatible value=1> Yes\n";
print "<input type=radio name=allow_incompatible value=0 checked> No\n";
print "</td></tr>\n";

print "<tr> <td align=right><b>Autoselect dependencies?</b></td>\n";
print "<td>\n";
print "<input type=radio name=autoselect_dependencies value=1 checked> Yes\n";
print "<input type=radio name=autoselect_dependencies value=0> No\n";
print "</td>\n";

print "<td align=right><b>Enforce dependencies?</b></td>\n";
print "<td>\n";
print "<input type=radio name=enforce_dependencies value=1 checked> Yes\n";
print "<input type=radio name=enforce_dependencies value=0> No\n";
print "</td></tr>\n";

print "<tr> <td align=right><b>Enforce scripts?</b></td>\n";
print "<td>\n";
print "<input type=radio name=enforce_scripts value=1 checked> Yes\n";
print "<input type=radio name=enforce_scripts value=0> No\n";
print "</td>\n";

print "<td align=right><b>Enforce disk space analysis?</b></td>\n";
print "<td>\n";
print "<input type=radio name=enforce_dsa value=1 checked> Yes\n";
print "<input type=radio name=enforce_dsa value=0> No\n";
print "</td></tr>\n";

print "<td></td> <td></td> </tr>\n";

print "<tr> <td align=right><b>Root directory</b></td>\n";
print "<td colspan=3><input name=root size=40 value=\"/\">\n";
print &file_chooser_button("root", 1); print "</td> </tr>\n";
}

# install_package(file, package)
# Install the given package from the given file, using options from %in
sub install_package
{
local $in = $_[2] ? $_[2] : \%in;
foreach $o ('create_target_path',
	    'mount_all_filesystems',
	    'reinstall',
	    'reinstall_files',
	    'reinstall_files_use_cksum',
	    'allow_multiple_versions',
	    'defer_configure',
	    'autorecover_product',
	    'allow_downdate',
	    'allow_incompatible',
	    'autoselect_dependencies',
	    'enforce_dependencies',
	    'enforce_scripts',
	    'enforce_dsa') {
	if ($in->{$o}) { $opts .= " -x $o=true"; }
	else { $opts .= " -x $o=false"; }
	}
if ($in->{'root'} =~ /^\/.+/) {
	if (!(-d $in->{'root'})) {
		return "Root directory '$in->{'root'}' does not exist";
		}
	$opts .= " -r $in->{'root'}";
	}
$out = &backquote_logged("swinstall -s $_[0] $opts $_[1] 2>&1");
if ($?) { return "<pre>$out</pre>"; }
return undef;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package.
sub check_files
{
local($i, $path); $i = -1;
open(SW, "swlist -l file -v -a path -a owner -a group -a type -a link_source -a size $_[0] | ");
while(<SW>) {
	s/#.*$//g;
	if (/^path\s+(.*)/) {
		$i++;
		$files{$i,'path'} = $1;
		$files{$i,'size'} = "-";
		$files{$i,'user'} = "-";
		$files{$i,'group'} = "-";
		$files{$i,'link'} = "";
		$path = $1;
		}
	if (/^owner\s+(.*)/ && $path ne "") {
		$files{$i,'user'} = $1;
		}
	if (/^group\s+(.*)/ && $path ne "") {
		$files{$i,'group'} = $1;
		}
	if (/^type\s+(.*)/ && $path ne "") {
                $files{$i,'type'} = $1 eq "f" ? 0 :
                                    $1 eq "d" ? 1 :
                                    $1 eq "s" ? 3 :
                                    $1 eq "h" ? 4 :
                                    -1;
		}
	if (/^link_source\s+(.*)/ && $path ne "") {
		$files{$i,'link'} = $1;
		}
	if (/^size\s+(.*)/ && $path ne "") {
		$files{$i,'size'} = $1;
		$path = "";
		}
	$files{$i,'error'} = "\n";
	}
close(SW);
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
sub installed_file
{
local($path, $search, @tmp, $product, $product_flag, $path_flag);
$search = $_[0];

open(SW, "swlist -l file -v -a path -a owner -a group -a type -a link_source -a mode -a size | ");
while(<SW>) {
#	s/#.*$//g;
        if (/^product/) {
                $product_flag = 1;
                }
	if (/^# (\S*)/ && $product_flag) {
		@tmp = split(/\./, $1);
		$product = $tmp[0];
                $product_flag = "";
		}
	if (/^path\s+(.*)/) {
		if ($1 eq $search) {
			$file{'path'} = $1;
			$file{'size'} = "-";
			$file{'user'} = "-";
			$file{'mode'} = "-";	
			$file{'group'} = "-";
			if ((index $file{'packages'},$product) eq -1) {
				$file{'packages'} = join(' ', $product, $file{'packages'});
				}
			$path_flag = 1;
			}
		else {
			$path_flag = "";
			}
		}
	if (/^owner\s+(.*)/ && $path_flag) {
		$file{'user'} = $1;
		}
	if (/^group\s+(.*)/ && $path_flag) {
		$file{'group'} = $1;
		}
	if (/^type\s+(.*)/ && $path_flag) {
                $file{'type'} = $1 eq "f" ? 0 :
                                $1 eq "d" ? 1 :
                                $1 eq "s" ? 3 :
                                $1 eq "h" ? 4 :
                                -1;
		}
	if (/^link_source\s+(.*)/ && $path_flag) {
		$file{'link'} = $1;
		}
	if (/^mode\s+(.*)/ && $path_flag) {
		$file{'mode'} = $1;
		}
	if (/^size\s+(.*)/ && $path_flag) {
		$file{'size'} = $1;
		}
	$file{'error'} = "\n";
	}
close(SW);

if ($file{'packages'} ne "") { return 1; }
else { undef(%file); return 0; }
}

# delete_package(package)
# Attempt to remove some package
sub delete_package
{
$out = &backquote_logged("swremove $_[0] 2>&1");
if ($out) { return "<pre>$out</pre>"; }
return undef;
}

sub package_system
{
return "HP-UX SW";
}

sub package_help
{
return "swinstall swlist swremove";
}

1;

 0707010003b290000081e40000000000000002000000013d1fe2cd000000f5000000200000000000000000000000000000001f00000003reloc/software/delete_file.cgi    #!/usr/local/bin/perl
# delete_file.cgi
# Delete a downloaded package that is no longer needed

require './software-lib.pl';
&ReadParse();
$in{'file'} =~ /^\/tmp\/.webmin\// || &error($text{'delete_efile'});
unlink($in{'file'});
&redirect("");

   0707010003b291000081e40000000000000002000000013d1fe2cf00000574000000200000000000000000000000000000001f00000003reloc/software/delete_pack.cgi    #!/usr/local/bin/perl
# delete_pack.cgi
# Ask if the user wants to delete a package, and if so do it

require './software-lib.pl';
&ReadParse();
$p = $in{'package'};
&error_setup(&text('delete_err', $p));
(@pinfo = &package_info($p)) ||
	&error(&text('delete_epack', $p));

if ($in{'sure'}) {
	# do the deletion
	&list_packages($in{'package'});
	if ($error = &delete_package($in{'package'}, \%in)) {
		&error($error);
		}
	&webmin_log("delete", "package", $p, { 'desc' => $packages{0,'desc'} });
	if ($in{'search'}) {
		&redirect("search.cgi?search=$in{'search'}");
		}
	else {
		&redirect("");
		}
	}
else {
	# Ask if the user is sure..
	&header($text{'delete_title'}, "", "delete");
	print "<hr>\n";

	$n = &check_files($p);
	$sz = 0;
	for($i=0; $i<$n; $i++) {
		if ($files{$i,'type'} == 0) { $sz += $files{$i,'size'}; }
		}
	print "<center>\n";
	print &text('delete_rusure', "<b>$p</b>", $n, $sz),"<br>\n";
	print "<form action=delete_pack.cgi>\n";
	print "<input type=hidden name=package value=\"$p\">\n";
	print "<input type=hidden name=sure value=1>\n";
	print "<input type=hidden name=search value=\"$in{'search'}\">\n";
	print "<input type=submit value=\"$text{'delete_ok'}\"><p>\n";
	if (defined(&delete_options)) {
		&delete_options($p);
		}
	print "</center></form>\n";

	print "<hr>\n";
	&footer("edit_pack.cgi?search=$in{'search'}&package=".&urlize($p),
		$text{'edit_return'});
	}

0707010003b292000081e40000000000000002000000013d1fe2cd00000682000000200000000000000000000000000000001e00000003reloc/software/do_install.cgi #!/usr/local/bin/perl
# do_install.cgi
# Do the actual installation of a package from a file

require './software-lib.pl';
&ReadParse();
&error_setup(&text('do_err', $in{'package'}));

if ($show_install_progress) {
	$| = 1;
	$theme_no_table = 1;
	}
&header($text{'do_title'}, "");

foreach $p (&file_packages($in{'file'})) {
	# attempt to install
	print "<hr>\n";
	($package, $desc) = split(/\s+/, $p, 2);
	if ($show_install_progress) {
		print "<pre>\n";
		$error = &install_package($in{'file'}, &html_escape($package),
					  \%in, 1);
		print "</pre>\n";
		}
	else {
		$error = &install_package($in{'file'}, &html_escape($package));
		}
	if ($error) {
		print "<h3>",&text('do_efailed', $error),"</h3>\n";
		print $text{'do_efailedmsg1'},"<p>\n";
		if ($in{'need_unlink'}) {
			print &text('do_efailedmsg2',
				"delete_file.cgi?file=".
				&urlize($in{'file'})),"<p>\n";
			}
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}
	if ($in{'need_unlink'}) { unlink($in{'file'}); }

	# display information
	@pinfo = &show_package_info($package);
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'do_files'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	$n = &check_files($package);
	for($i=0; $i<$n; $i++) {
		if ($i%2 == 0) { print "<tr>\n"; }
		print "<td width=50%>",
			&html_escape($files{$i,'path'}),"</td>\n";
		if ($i%2 == 1) { print "</tr>\n"; }
		}
	print "</table></td></tr></table><p>\n";
	&list_packages($package);
	&webmin_log('install', 'package', $package,
		    { 'desc' => $packages{0,'desc'},
		      'class' => $packages{0,'class'} });
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003b293000081e40000000000000002000000013d1fe2cd00000838000000200000000000000000000000000000001d00000003reloc/software/edit_pack.cgi  #!/usr/local/bin/perl
# edit_pack.cgi
# Displays the details of an existing package, with links to uninstall and
# other options

require './software-lib.pl';
&ReadParse();
@pinfo = &package_info($in{'package'});
$pinfo[0] || &error($text{'edit_egone'});
&header($text{'edit_title'}, "", "edit_pack");
print "<hr>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top width=20%><b>$text{'edit_desc'}</b></td>\n";
print "<td colspan=3 align=left><pre>",&html_escape($pinfo[2]),"</pre></td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_pack'}</b></td> <td>",
	&html_escape($pinfo[0]),"</td>\n";
print "<td width=20%><b>$text{'edit_class'}</b></td> <td>",
      $pinfo[1] ? &html_escape($pinfo[1]) : $text{'edit_none'},"</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_ver'}</b></td> <td>",
	&html_escape($pinfo[4]),"</td>\n";
print "<td width=20%><b>$text{'edit_vend'}</b></td> <td>",
	&html_escape($pinfo[5]),"</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'edit_arch'}</b></td> <td>",
	&html_escape($pinfo[3]),"</td>\n";
print "<td width=20%><b>$text{'edit_inst'}</b></td> <td>",
	&html_escape($pinfo[6]),"</td> </tr>\n";
print "</table></td></tr></table><p>\n";

print "<table width=100%> <tr>\n";
print "<form action=list_pack.cgi>\n";
print "<input type=hidden name=package value=\"$pinfo[0]\">\n";
print "<input type=hidden name=search value=\"$in{'search'}\">\n";
print "<td align=left><input type=submit value=\"$text{'edit_list'}\"></td>\n";
print "</form>\n";
print "<form action=delete_pack.cgi>\n";
print "<input type=hidden name=package value=\"$pinfo[0]\">\n";
print "<input type=hidden name=search value=\"$in{'search'}\">\n";
print "<td align=right>\n";
print "<input type=submit value=\"$text{'edit_uninst'}\"></td>\n";
print "</form>\n";
print "</tr> </table><p>\n";

print "<hr>\n";
if ($in{'search'}) {
	&footer("search.cgi?search=$in{'search'}", $text{'search_return'});
	}
else {
	&footer("tree.cgi#$pinfo[1]", $text{'index_treturn'});
	}


0707010003b294000081a40000000000000002000000013d1fe2cf000018d3000000200000000000000000000000000000001d00000003reloc/software/emerge-lib.pl  # emerge-lib.pl
# Functions for gentoo package management

chop($system_arch = `uname -m`);
$pkg_dir = "/var/db/pkg";
$portage_bin = "/usr/lib/portage/bin";

# list_packages([package]*)
# Fills the array %packages with all or listed packages
sub list_packages
{
local $i = 0;
open(LIST, "$portage_bin/pkglist |");
while(<LIST>) {
	if (/^([^\/]+)\/([^0-9]+)-(\d\S+)$/ &&
	    !@_ || &indexof($2, @_) >= 0) {
		$packages{$i,'name'} = $2;
		$packages{$i,'class'} = $1;
		$packages{$i,'version'} = $3;
		open(BUILD, "$pkg_dir/$1/$2-$3/$2-$3.ebuild");
		while(<BUILD>) {
			if (/DESCRIPTION="([^"]+)"/ || /DESCRIPTION='([^']+)'/) {
				$packages{$i,'desc'} = $1;
				last;
				}
			}
		close(BUILD);
		$i++;
		}
	}
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local %packages;
local $n = &list_packages($_[0]);
$n || return ();
local @st = stat("$pkg_dir/$packages{0,'class'}/$packages{0,'name'}-$packages{0,'version'}");
return ( $packages{0,'name'}, $packages{0,'class'}, $packages{0,'desc'},
	 $system_arch, $packages{0,'version'}, "Gentoo", &make_date($st[9]) );
}

# is_package(file)
# Check if some file is a package file
sub is_package
{
local $out = `emerge --pretend '$_[0]' 2>&1`;
return $? ? 0 : 1;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local @rv;
open(EMERGE, "emerge --pretend '$_[0]' |");
while(<EMERGE>) {
	s/\r|\n//g;
	s/\033[^m]+m//g;
	if (/\s+N\s+\]\s+([^\/]+)\/([^0-9]+)\-(\d\S+)/) {
		push(@rv, $2);
		}
	}
close(EMERGE);
return @rv;
}

$wide_install_options = 0;

# install_options(file, package)
# Outputs HTML for choosing install options for some package
sub install_options
{
print "<tr> <td><b>$text{'emerge_noreplace'}</b></td>\n";
print "<td><input type=radio name=noreplace value=0 checked> $text{'yes'}\n";
print "<input type=radio name=noreplace value=1> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'emerge_onlydeps'}</b></td>\n";
print "<td><input type=radio name=onlydeps value=1> $text{'yes'}\n";
print "<input type=radio name=onlydeps value=0 checked> $text{'no'}</td> </tr>\n";
}

$show_install_progress = 1;

# install_package(file, package, [&inputs], [show])
# Install the given package from the given file, using options from %in
sub install_package
{
local $file = $_[0];
local $in = $_[2] ? $_[2] : \%in;
local $cmd = "emerge";
$cmd .= " --noreplace" if ($in{'noreplace'});
$cmd .= " --onlydeps" if ($in{'onlydeps'});
$cmd .= " '$_[1]'";
if ($_[3]) {
	open(OUT, "$cmd 2>&1 |");
	while(<OUT>) {
		print &html_escape($_);
		}
	close(OUT);
	return $? ? "Emerge error" : undef;
	}
else {
	local $out;
	open(OUT, "$cmd 2>&1 | tail -10 |");
	while(<OUT>) {
		$out .= $_;
		}
	close(OUT);
	return $? ? "<pre>$out</pre>" : undef;
	}
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group size error
sub check_files
{
local $i = 0;
local (@files, %filesmap);
local %packages;
&list_packages($_[0]);
open(CONTENTS, "$pkg_dir/$packages{0,'class'}/$packages{0,'name'}-$packages{0,'version'}/CONTENTS");
while(<CONTENTS>) {
	s/\r|\n//g;
	local @l = split(/\s+/);
	$files{$i,'path'} = $l[1];
	$files{$i,'type'} = $l[0] eq 'dir' ? 1 :
			    $l[0] eq 'sym' ? 3 : 0;
	local @st = stat($l[1]);
	$files{$i,'user'} = getpwuid($st[4]);
	$files{$i,'group'} = getgrgid($st[5]);
	$files{$i,'size'} = $st[7];
	if (!-e $l[1]) {
		$files{$i,'error'} = "Does not exist";
		}
	elsif ($l[0] eq 'sym') {
		$files{$i,'link'} = $l[3];
		local $lnk = readlink($l[1]);
		$files{$i,'error'} = "Incorrect link" if ($l[3] ne $lnk);
		}
	elsif ($l[0] eq 'obj') {
		push(@files, $l[1]);
		$filesmap{$l[1]} = $i;
		$files{$i,'md5'} = $l[2];
		}
	$i++;
	}
close(CONTENTS);
if (&has_command("md5sum")) {
	open(MD5, "md5sum ".join(" ", @files)." |");
	while(<MD5>) {
		local ($md, $fn) = split(/\s+/);
		local $n = $filesmap{$fn};
		if ($md ne $files{$n,'md5'}) {
			$files{$n,'error'} = "Checksum failed";
			}
		}
	close(MD5);
	}
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local ($cf, $type, @packs);
while($cf = <$pkg_dir/*/*/CONTENTS>) {
	open(FILE, $cf);
	while(<FILE>) {
		local @l = split(/\s+/);
		if ($l[1] eq $_[0]) {
			# Found it!
			$cf =~ /\/([^0-9\/]+)-(\d[^\s\/]+)\/CONTENTS$/;
			push(@packs, $1);
			$type = $l[0] if (!$type);
			}
		}
	close(FILE);
	}
return 0 if (!@packs);

local @st = stat($_[0]);
$file{'packages'} = join(' ', @packs);
$file{'path'} = $_[0];
$file{'user'} = getpwuid($st[4]);
$file{'group'} = getgrgid($st[5]);
$file{'mode'} = sprintf "%o", $st[2] & 07777;
$file{'size'} = $st[7];
$file{'link'} = readlink($_[0]);
$file{'type'} = $type eq 'dir' ? 1 :
		$type eq 'sym' ? 3 : 0;
return 1;
}



# delete_package(package, [&options])
# Attempt to remove some package
sub delete_package
{
local $out = &backquote_logged("emerge unmerge $_[0] 2>&1");
return $? ? "<pre>$out</pre>" : undef;
}

sub package_system
{
return "Gentoo Ebuild";
}

sub package_help
{
return "emerge";
}

$has_update_system = 1;

# update_system_input()
# Returns HTML for entering a package to install
sub update_system_input
{
return "$text{'emerge_input'} <input name=emerge size=20> <input type=button onClick='window.ifield = document.forms[2].emerge; chooser = window.open(\"emerge_find.cgi\", \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=600,height=500\")' value=\"$text{'emerge_find'}\">";
}

# update_system_install()
# Install some package with emerge
sub update_system_install
{
local $cmd = "emerge '$in{'emerge'}'";
local @rv;
print "<b>",&text('emerge_install', "<tt>$cmd</tt>"),"</b><p>\n";
print "<pre>\n";
&additional_log('exec', undef, $cmd);
open(CMD, "$cmd 2>&1 </dev/null |");
while(<CMD>) {
	print &html_escape($_);
	if (/^\>\>\>\s+([^\/]+)\/([^0-9]+)-(\d\S+)\s+merged\./i) {
		push(@rv, $2);
		}
	}
close(CMD);
print "</pre>\n";
if ($?) { print "<b>$text{'emerge_failed'}</b><p>\n"; }
else { print "<b>$text{'emerge_ok'}</b><p>\n"; }
return @rv;
}



1;

 0707010003b295000081e40000000000000002000000013d1fe2cf000005ff000000200000000000000000000000000000001f00000003reloc/software/emerge_find.cgi    #!/usr/local/bin/perl
# emerge_find.cgi
# Show a search form for emerge

require './software-lib.pl';
&ReadParse();

&header();
print <<EOF;
<script>
function sel(m)
{
window.opener.ifield.value = m;
window.close();
return false;
}
</script>
EOF

print "<form action=emerge_find.cgi>\n";
print "<input type=submit value='$text{'emerge_search'}'>\n";
print "<input name=search size=20 value='$in{'search'}'>\n";
print "</form><hr>\n";

if ($in{'search'}) {
	open(SEARCH, "emerge search '$in{'search'}' |");
	while(<SEARCH>) {
		s/\r|\n//g;
		s/\033[^m]+m//g;
		if (/^\*\s+([^\/]+)\/(\S+)/) {
			$match = { 'class' => $1,
				   'name' => $2 };
			push(@rv, $match);
			}
		elsif (/version\s+Available:\s+(\S+)/i) {
			$match->{'version'} = $1;
			}
		elsif (/\s+Description:\s*(.*)/i) {
			$match->{'desc'} = $1;
			local $nl = <SEARCH>;
			chop($nl);
			if ($nl =~ /\S/) {
				$match->{'desc'} .= " " if ($match->{'desc'});
				$match->{'desc'} .= $nl;
				}
			}
		}
	close(SEARCH);
	if (@rv) {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'emerge_pack'}</b></td> ",
		      "<td><b>$text{'emerge_version'}</b></td> ",
		      "<td><b>$text{'emerge_desc'}</b></td> </tr>\n";
		foreach $p (@rv) {
			print "<tr $cb>\n";
			print "<td><a href='' onClick='sel(\"$p->{'name'}\")'>",
			      "$p->{'name'}</td>\n";
			print "<td>$p->{'version'}</td>\n";
			print "<td>$p->{'desc'}</td>\n";
			print "</tr>\n";
			}
		print "</table>\n";
		}
	else {
		print "<b>$text{'emerge_none'}</b><p>\n";
		}
	}

&footer();

 0707010003b296000081e40000000000000002000000013d1fe2cd000008c5000000200000000000000000000000000000001d00000003reloc/software/file_info.cgi  #!/usr/local/bin/perl
# file_info.cgi
# Display information about a file owned by the package management system

require './software-lib.pl';
&ReadParse();
$f = $in{'file'};
&header($text{'file_title'}, "", "file_info");
print "<hr>\n";

$f =~ s/\/$//;
if ($f !~ /^\//) {
	# if the filename is not absolute, look for it
	foreach $p (split(/:/, $ENV{'PATH'})) {
		last if (&installed_file("$p/$f"));
		}
	}
else {
	# absolute path.. must exist in DB
	&installed_file($f);
	}

if (!%file) {
	print "<h3>",&text('file_notfound', "<i>$f</i>"),"</h3>\n";
	}
else {
	# display file info
	$nc = "width=10% nowrap";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'file_title'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td $nc><b>$text{'file_path'}</b></td>\n";
	print "<td colspan=3><font size=+1>$file{'path'}</font></td> </tr>\n";

	print "<tr> <td $nc><b>$text{'file_type'}</b></td>\n";
	print "<td>$type_map[$file{'type'}]</td>\n";

	if ($file{'type'} != 3 && $file{'type'} != 4) {
		print "<td $nc><b>$text{'file_perms'}</b></td>\n";
		print "<td>$file{'mode'}</td> </tr>\n";

		print "<tr> <td $nc><b>$text{'file_owner'}</b></td>\n";
		print "<td>$file{'user'}</td>\n";
		print "<td $nc><b>$text{'file_group'}</b></td>\n";
		print "<td>$file{'group'}</td> </tr>\n";

		if ($file{'type'} == 0) {
			print "<tr> <td $nc><b>$text{'file_size'}</b></td>\n";
			print "<td>$file{'size'}</td> </tr>\n";
			}
		}
	else {
		print "<td $nc><b>$text{'file_link'}</b></td>\n";
		print "<td>$file{'link'}</td> </tr>\n";
		}
	print "</table></tr> </tr></table><p>\n";

	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'file_pack'}</b></td> ",
	      "<td><b>$text{'file_class'}</b></td> ",
	      "<td><b>$text{'file_desc'}</b></td> </tr>\n";
	$n = &list_packages(split(/\s+/, $file{'packages'}));
	for($i=0; $i<$n; $i++) {
		print "<tr $cb> <td><a href=\"edit_pack.cgi?package=",
		      &urlize($packages{$i,'name'}),
		      "\">$packages{$i,'name'}</a></td>\n";
		$c = $packages{$i,'class'};
		print "<td>",$c ? $c : $text{'file_none'},"</td>\n";
		print "<td>$packages{$i,'desc'}</td> </tr>\n";
		}
	print "</table><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010003b38a000081a40000000000000002000000013d1fe2cf0000120e000000200000000000000000000000000000001e00000003reloc/software/freebsd-lib.pl # bsd-lib.pl
# Functions for FreeBSD package management

use POSIX;
chop($system_arch = `uname -m`);
$package_dir = "/var/db/pkg";

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
local $i = 0;
local $arg = @_ ? join(" ", @_) : "-a";
open(PKGINFO, "pkg_info -I $arg |");
while(<PKGINFO>) {
	if (/^(\S+)\s+(.*)/) {
		$packages{$i,'name'} = $1;
		$packages{$i,'class'} = "";
		$packages{$i,'desc'} = $2;
		$i++;
		}
	}
close(PKGINFO);
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local $out = `pkg_info $_[0] 2>&1`;
return () if ($?);
local @rv = ( $_[0] );
push(@rv, "");
push(@rv, $out =~ /Description:\n([\0-\177]*\S)/i ? $1 : $text{'bsd_unknown'});
push(@rv, $system_arch);
push(@rv, $_[0] =~ /-([^\-]+)$/ ? $1 : $text{'bsd_unknown'});
push(@rv, "FreeBSD");
local @st = stat("$package_dir/$_[0]");
push(@rv, @st ? ctime($st[9]) : $text{'bsd_unknown'});
return @rv;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group mode size error
sub check_files
{
local $i = 0;
local $file;
open(PKGINFO, "pkg_info -L $_[0] |");
while($file = <PKGINFO>) {
	$file =~ s/\r|\n//g;
	next if ($file !~ /^\//);
	local @st = stat($file);
	$files{$i,'path'} = $file;
	$files{$i,'type'} = -l $file ? 3 :
			    -d $file ? 1 : 0;
	$files{$i,'user'} = getpwuid($st[4]);
	$files{$i,'group'} = getgrgid($st[5]);
	$files{$i,'mode'} = sprintf "%o", $st[2] & 07777;
	$files{$i,'size'} = $st[7];
	$files{$i,'link'} = readlink($file);
	$i++;
	}
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local (%packages, $file, $i, @pkgin);
local $n = &list_packages();
for($i=0; $i<$n; $i++) {
	open(PKGINFO, "pkg_info -L $packages{$i,'name'} |");
	while($file = <PKGINFO>) {
		$file =~ s/\r|\n//g;
		if ($file eq $_[0]) {
			# found it
			push(@pkgin, $packages{$i,'name'});
			}
		}
	close(PKGINFO);
	}
if (@pkgin) {
	local @st = stat($_[0]);
	$file{'path'} = $_[0];
	$file{'type'} = -l $_[0] ? 3 :
			-d $_[0] ? 1 : 0;
	$file{'user'} = getpwuid($st[4]);
	$file{'group'} = getgrgid($st[5]);
	$file{'mode'} = sprintf "%o", $st[2] & 07777;
	$file{'size'} = $st[7];
	$file{'link'} = readlink($_[0]);
	$file{'packages'} = join(" ", @pkgin);
	return 1;
	}
else {
	return 0;
	}
}

# is_package(file)
sub is_package
{
local ($desc, $contents);
open(TAR, "gunzip -c $_[0] | tar tf - |");
while(<TAR>) {
	$desc++ if (/^\+DESC/);
	$contents++ if (/^\+CONTENTS/);
	}
close(TAR);
return $desc && $contents;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local $temp = &tempname();
mkdir($temp, 0700);
system("cd $temp ; gunzip -c $_[0] | tar xf - +CONTENTS +COMMENT >/dev/null 2>&1");
local ($comment, $name);
open(COMMENT, "$temp/+COMMENT");
($comment = <COMMENT>) =~ s/\r|\n//g;
close(COMMENT);
open(CONTENTS, "$temp/+CONTENTS");
while(<CONTENTS>) {
	$name = $1 if (/^\@name\s+(\S+)/);
	}
close(CONTENTS);
unlink("$temp/+COMMENT", "$temp/+CONTENTS");
rmdir($temp);
return ( "$name $comment" );
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
print "<tr> <td><b>$text{'bsd_scripts'}</b></td>\n";
print "<td><input type=radio name=scripts value=0 checked> $text{'yes'}\n";
print "<input type=radio name=scripts value=1> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'bsd_force'}</b></td>\n";
print "<td><input type=radio name=force value=1> $text{'yes'}\n";
print "<input type=radio name=force value=0 checked> $text{'no'}</td> </tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
local $in = $_[2] ? $_[2] : \%in;
local $args = ($in->{"scripts"} ? " -I" : "").
	      ($in->{"force"} ? " -f" : "");
local $out = &backquote_logged("pkg_add $args $_[0] 2>&1");
if ($?) {
	return "<pre>$out</pre>";
	}
return undef;
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
local $out = &backquote_logged("pkg_delete $_[0] 2>&1");
if ($?) { return "<pre>$out</pre>"; }
return undef;
}

sub package_system
{
return &text('bsd_manager', "FreeBSD");
}

sub package_help
{
return "pkg_add pkg_info pkg_delete";
}

1;
  07070100040cad000041ed0000000000000001000000023d1ffb5c00000000000000200000000000000000000000000000001600000003reloc/software/images 07070100040f07000081a40000000000000002000000013d1fe2cd00000070000000200000000000000000000000000000002000000003reloc/software/images/close.gif   GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       A„©qí„œb¼k"•»† phÛyZâ:V
SƒûÆñÐ™všï0žñ¡€5¡¬g<–’²%“ã|v¸ªõŠõh ;07070100040f08000081a40000000000000002000000013d1fe2cd00000129000000200000000000000000000000000000001f00000003reloc/software/images/icon.gif    GIF89a0 0 ¡  ÿÿÿ   ÌÌÌfff!ù    ,    0 0  ú„©Ëíã
TØ‹³TNlâÖy	ŽªUšº®­Vñ8»ð-ææÎ±ñ4¾0”fŠŒ£PyaN„@(+àq&­Á,õi•*´Q0TJfq¸eã7Yc›¨:Ü¬DÛÓlýþ¾%çöW–w6gð÷¦ˆˆ°xå˜—XY7Év‰™D94ãùyXyBjˆ'j©Hª¹)	Û×ŠúkÛ‰[ëÊ#v‰¹ÙõÀË%|kW¬¼ûýƒ9@]m}½'Imw]­ýÇ]ç=^G³=Ð]N3LaÏnçîJ®~ïÝŽ¾¾®O_oO¼ åð«÷n`Á}îò´Æ¡Ä‰  ;   07070100040f09000081a40000000000000002000000013d1fe2cd0000006b000000200000000000000000000000000000001f00000003reloc/software/images/open.gif    GIF89a  ¡  ÿÿÿÌÌÌ™™™fff!ù    ,       <„©qí„œb¼k"•»† phÛyvÊRªÙ¢oÜÎ´\Þx¦§yïú9Â¡mX)U•ó	B=ÔG ; 07070100040f0a000081a40000000000000002000000013d1fe2cd0000007b000000200000000000000000000000000000001f00000003reloc/software/images/pack.gif    GIF89a  ¡  ÿÿÿ   ÌÌÌfff!ù    ,       L„¢Ëj”½(S­7ÎMuÐZXV:'™
â¡µî·/*ÏÂ÷~O†Ä¢/8D“Àrð46=Ï(ñèBµRr»Üziá.R  ; 0707010003b38c000081e40000000000000002000000013d1fe2cf000007a9000000200000000000000000000000000000001900000003reloc/software/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Lists all installed packages

require './software-lib.pl';
&header($text{'index_title'}, "", "intro", 0, 1, 0,
	&help_search_link(&package_help(), "man", "doc"));
print "<hr>\n";

print "<h3>$text{'index_installed'}</h3>\n";
print "<table width=100%><tr><form action=search.cgi>\n";
print "<td><input type=submit value=\"$text{'index_search'}\">\n";
print "<input name=search size=30></td>\n";
print "</form>\n";

print "<form action=tree.cgi>\n";
print "<td align=right><input type=submit value='$text{'index_tree'}'></td>\n";
print "</form></tr></table>\n";

print "<hr>\n";
print "<h3>$text{'index_install'}</h3>\n";
print &text('index_installmsg', &package_system()),"<p>\n";
print "<form action=install_pack.cgi method=post ",
      "enctype=multipart/form-data>\n";
print "<input type=radio name=source value=0 checked> $text{'index_local'}\n";
print "<input name=local size=50>\n";
print &file_chooser_button("local", 0, 2); print "<br>\n";
print "<input type=radio name=source value=1> $text{'index_uploaded'}\n";
print "<input type=file name=upload size=20><br>\n";
print "<input type=radio name=source value=2> $text{'index_ftp'}\n";
print "<input name=url size=50>\n";
print &search_system_input() if ($has_search_system);
print "<br>\n";
if ($has_update_system) {
	print "<input type=radio name=source value=3>\n";
	print &update_system_input(),"<br>\n";
	}
print "<input type=submit value=\"$text{'index_installok'}\">\n";
print "</form>\n";

print "<hr>\n";
print "<h3>$text{'index_ident'}</h3>\n";
print &text('index_identmsg', &package_system()),"<br>\n";
print "<form action=file_info.cgi>\n";
print "<input type=submit value=\"$text{'index_identok'}\">\n";
print "<input name=file size=30>\n";
print &file_chooser_button("file", 0, 3);
print "</form>\n";

if ($has_update_system && defined(&update_system_form)) {
	print "<hr>\n";
	&update_system_form();
	}

print "<hr>\n";
&footer("/", $text{'index'});


   0707010003b38d000081e40000000000000002000000013d1fe2cf00000e84000000200000000000000000000000000000002000000003reloc/software/install_pack.cgi   #!/usr/local/bin/perl
# install_pack.cgi
# Install a package from some source

require './software-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }
&error_setup($text{'install_err'});

$| = 1;
$theme_no_table = 1 if ($in{source} >= 2);
&header($text{'install_title'}, "", "install");
print "<hr>\n";

if ($in{source} == 0) {
	# installing from local file (or maybe directory)
	if (!$in{'local'})
		{ &install_error($text{'install_elocal'}); }
	if (!-r $in{'local'})
		{ &install_error(&text('install_elocal2', $in{'local'})); }
	$source = $in{'local'};
	$pfile = $in{'local'};
	$need_unlink = 0;
	}
elsif ($in{source} == 1) {
	# installing from upload .. store file in temp location
	if ($no_upload) {
		&install_error($text{'install_eupload'});
		}
	$in{'upload_filename'} =~ /([^\/\\]+$)/;
	$pfile = &tempname("$1");
	open(PFILE, "> $pfile");
	print PFILE $in{'upload'};
	close(PFILE);
	$source = $in{'upload_filename'};
	$need_unlink = 1;
	}
elsif ($in{source} == 2) {
	# installing from URL.. store downloaded file in temp location
	$in{'url'} =~ /\/([^\/]+)\/*$/;
	$pfile = &tempname("$1");
	local $error;
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		# Make a HTTP request
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $pfile, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?(\/.*)$/) {
		$host = $1; $file = $3;
		&ftp_download($host, $file, $pfile, \$error,
			      \&progress_callback);
		}
	else {
		&install_error(&text('install_eurl', $in{'url'}));
		}
	&install_error($error) if ($error);
	$source = $in{'url'};
	$need_unlink = 1;
	}
elsif ($in{'source'} == 3) {
	# installing from some update system
	@packs = &update_system_install();

	print "<hr>\n" if (@packs);
	foreach $p (@packs) {
		local @pinfo = &show_package_info($p);
		}
	&webmin_log($config{'update_system'}, "install", undef,
		    { 'packages' => \@packs } ) if (@packs);

	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# Check validity
if (!&is_package($pfile)) {
	if (-d $pfile) {
		&install_error(&text('install_edir', &package_system()));
		}
	else {
		# attempt to uncompress
		local $unc = &uncompress_if_needed($pfile, $need_unlink);
		if ($unc ne $pfile) {
			# uncompressed ok..
			if (!&is_package($unc)) {
				unlink($unc);
				&install_error(&text('install_ezip',
					     &package_system()));
				}
			$pfile = $unc;
			}
		else {
			# uncompress failed.. give up
			#unlink($pfile) if ($need_unlink);
			&install_error(&text('install_efile', &package_system()));
			}
		}
	}

# ask for package to install and install options
@rv = &file_packages($pfile);

print "<form action=do_install.cgi>\n";
print "<input type=hidden name=file value=\"$pfile\">\n";
print "<input type=hidden name=need_unlink value=\"$need_unlink\">\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'install_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td valign=top><b>$text{'install_packs'}</b></td>\n";
print $wide_install_options ? "<td colspan=3>\n" : "<td>\n";
foreach (@rv) {
	($p, $d) = split(/\s+/, $_, 2);
	if ($d) {
		print &html_escape($d)," (",&html_escape($p),")<br>\n";
		}
	else {
		print &html_escape($p),"<br>\n";
		}
	}
&install_options($pfile, $p);
print "</table></td></tr>\n";
print "</table><p><input type=submit value=\"$text{'install_ok'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

sub install_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}


070701000425be000041ed0000000000000001000000023d1ffb5d00000000000000200000000000000000000000000000001400000003reloc/software/lang   070701000425bf000081a40000000000000002000000013d1fe2cd0000211e000000200000000000000000000000000000001700000003reloc/software/lang/ca    index_title=Paquets de Programari
index_installed=Paquets Instal·lats
index_close=Tanca-ho Tot
index_open=Obre-ho Tot
index_search=Busca el Paquet:
index_install=Instal·la un Nou Paquet
index_installmsg=Selecciona la ubicació	des d'on cal instal·lar el nou paquet del $1...
index_local=Des d'un fitxer local
index_uploaded=Des d'un fitxer pujat
index_ftp=Des d'un URL FTP o HTTP
index_installok=Instal·la
index_ident=Identifica un Fitxer
index_identmsg=Introdueix una ordre o el camí d'un fitxer per buscar-lo a la base de dades del $1.
index_identok=Busca:
index_all=Tots els paquets
index_return=a l'índex de mòduls
index_treturn=a l'arbre de paquets
index_tree=a l'Arbre de Paquets

search_title=Cerca de Paquet
search_nomatch=No hi ha cap paquet que coincideixi amb '$1'
search_none=Cap
search_desc=Descripció
search_class=Classe
search_pack=Paquet
search_match=Paquets que coincideixen amb '$1'
search_return=als resultats de la recerca

edit_title=Edició de Paquet
edit_details=Detalls del Paquet
edit_desc=Descripció
edit_pack=Paquet
edit_class=Classe
edit_none=Cap
edit_ver=Versió
edit_vend=Distribuïdor
edit_arch=Arquitectura
edit_inst=Instal·lat
edit_list=Llista els Fitxers
edit_uninst=Desinstal·la
edit_return=al detall dels paquets
edit_egone=El paquet ja no està instal·lat

list_title=Fitxers de Paquet
list_files=Fitxers del Paquet $1
list_path=Camí
list_owner=Usuari
list_group=Grup
list_type=Tipus
list_size=Mida
list_status=Estat
list_ok=Bé
list_view=(Vista)
list_eview=No he pogut obrir $1: $2

delete_title=Supressió de Paquet
delete_err=No he pogut suprimir el paquet $1
delete_epack=El paquet $1 no existeix
delete_rusure=Segur que vols suprimir el paquet $1? S'esborraran definitivament un total de $2 fitxers ($3 bytes).
delete_ok=Suprimeix
delete_nodeps=Ignora les dependències

file_title=Informació de Fitxer
file_notfound=No hi ha cap informació disponible sobre $1
file_path=Camí
file_type=Tipus
file_perms=Permisos
file_owner=Usuari
file_group=Grup
file_size=Mida
file_link=Enllaç a
file_pack=Paquet
file_class=Classe
file_desc=Descripció
file_none=Cap

install_title=Instal·lació de Paquet
install_err=No he pogut instal·lar el paquet
install_elocal=No has donat cap fitxer local
install_elocal2='$1' no existeix
install_eupload=El teu navegador no suporta puges de fitxers
install_eurl=URL '$1' incomprensible
install_edir=No és un directori vàlid del $1
install_ezip=No és un fitxer comprimit o gzip vàlid del $1
install_efile=No és un fitxer vàlid del $1
install_header=Instal·lació de paquet
install_packs=Paquet(s) a instal·lar
install_ok=Instal·la

do_title=Instal·lació de Paquet
do_err=No he pogut instal·lar el paquet $1
do_efailed=La instal·lació ha fallat: $1
do_efailedmsg1=Pots provar d'instal·lar-lo un altre cop tornant a la pàgina anterior i seleccionant opcions d'instal·lació diferents.
do_efailedmsg2=Altrament, <a href='$1'>fes clic aquí per suprimir el fitxer temporal del paquet</a> per tal d'alliberar espai al disc.
do_success=El paquet $1 s'ha instal·lat amb èxit
do_details=Detalls del Paquet
do_desc=Descripció
do_class=Classe
do_pack=Paquet
do_ver=Versió
do_vend=Distribuïdor
do_arch=Arquitectura
do_inst=Instal·lat
do_none=Cap
do_files=Fitxers del Paquet

pkgadd_root=Directori arrel
pkgadd_eroot=El directori arrel '$1' no existeix
pkgadd_unknown=Desconegut
pkgadd_manager=Gestor de Paquets System V

rpm_upgrade=Actualitza el paquet
rpm_replacepkgs=Sobreescriu el paquet
rpm_nodeps=Ignora les dependències
rpm_oldpackage=Reemplaça la versió nova per la vella
rpm_noscripts=Executa els scripts d'instal·lació
rpm_excludedocs=Instal·la la documentació
rpm_replacefiles=Sobreescriu els fitxers
rpm_notriggers=Executa els scripts d'inicialització
rpm_ignoresize=Comprova les mides dels sistemes de fitxers
rpm_root=Directori arrel
rpm_eroot=El directori arrel '$1' no existeix
rpm_search=Busca a rpmfind.net:
rpm_none=No s'ha trobat cap paquet que coincideixi amb la teva recerca.
rpm_find=Busca a rpmfind.net...

bsd_unknown=Desconegut
bsd_scripts=Executa els scripts pre i post instal·lació
bsd_force=Força la instal·lació si falten prerequisits
bsd_manager=Gestor de Paquets $1

slack_unclass=Altres
slack_unknown=Desconegut
slack_missing=Hi falta
slack_root=Directori arrel
slack_eroot=Hi falta el directori arrel o bé és invàlid
slack_manager=Gestor de Paquets Slackware

debian_unknown=Desconegut
debian_depends=Ignora problemes de dependència
debian_conflicts=Ignora conflictes de paquets
debian_overwrite=Sobreescriu els fitxers d'altres paquets
debian_downgrade=Reemplaça el paquet nou pel vell
debian_manager=DPKG de Debian

log_install_package=He instal·lat el paquet $1
log_install_apt_l=He instal·lat el(s) paquet(s) $1 des d'APT
log_install_apt=He instal·lat $2 paquet(s) des d'APT
log_check_apt_l=He actualitzat el(s) paquet(s) $1 des d'APT
log_check_apt=He actualitzat $2 paquet(s) des d'APT
log_delete=He desinstal·lat el paquet $1

rhn_input=Paquet de Redhat Network
rhn_find=Busca a RHN...
rhn_install=Instal·lant paquet(s) amb l'ordre $1...
rhn_ok=...instal·lació completa.
rhn_failed=...la instal·lació ha fallat!
rhn_title=Selecció de paquet RHN
rhn_pack=Paquets
rhn_version=Versió
rhn_form=Opcions de Redhat Network
rhn_auto=Comprova actualitzacions automàticament
rhn_interval=Interval de comprovació
rhn_secs=segons
rhn_apply=Desa i Aplica
rhn_now=Desa i Comprova-ho Ara
rhn_err=No he pogut desar les opcions RHN
rhn_einterval=Hi falta l'interval o bé no és vàlid
rhn_einterval2=L'interval de comprovació ha de ser almenys de 120 segons
rhn_check=Comprovant Actualitzacions
rhn_checkdesc=Comprovant actualitzacions a Redhat Network amb l'ordre $1...
rhn_nocheck=...no hi ha cap actualització de paquet.
rhn_proxy=URL del servidor proxy per a descàrregues
rhn_none=Desactivat
rhn_eproxy=Hi falta el servidor proxy o bé no és vàlid
rhn_skip=Omet els paquets que coincideixin amb
rhn_nonefound=no hi ha cap paquet disponible per actualitzar

apt_input=Paquet d'APT
apt_install=Instal·lant paquets(s) amb l'ordre $1...
apt_ok=...instal·lació completa.
apt_failed=...la instal·lació ha fallat!
apt_form=Actualitza Tots els Paquets
apt_update=Resincronitza la llista de paquets (<tt>update</tt>)
apt_dist=Executa l'actualització de la distribució (<tt>upgrade-dist</tt>)
apt_sim=Mostra només els paquets que seran actualitzats
apt_apply=Actualitza Ara
apt_upgrade=Actualitza Tots els Paquets
apt_updatedesc=Resincronitzant la llista de paquets amb l'ordre $1...
apt_updatefailed=...la resincronització ha fallat!
apt_updateok=.. resincronització completa.
apt_upgradedesc=Actualitzant tots els paquets amb l'ordre...
apt_upgradedescsim=Simulant l'actualització de tots els paquets amb l'ordre $1...
apt_upgradefailed=...l'actualització ha fallat!
apt_upgradeok=...actualització completa.
apt_search=Busca els paquets que coincideixin amb:
apt_find=Busca a APT...

rpm_missing=Hi falta
rpm_checkfail=Ha fallat la comprovació $1
rpm_md5=MD5
rpm_fsize=mida del fitxer
rpm_sym=enllaç simbòlic
rpm_mtime=hora de modificació
rpm_dev=dispositiu
rpm_user=usuari
rpm_perm=permisos
rpm_group=grup
rpm_erpm=No he trobat el RPM $1: $2

soft_reg=Fitxer Regular
soft_dir=Directori
soft_spec=Fitxer Especial
soft_sym=Enllaç Simbòlic
soft_hard=Enllaç Real
soft_edit=Fitxer Editable
soft_efunc=No he pogut carregar les funcions del sistema de paquets $1.
soft_euncompress=El fitxer està comprimit, però no s'ha trobat l'ordre <tt>uncompress</tt> al sistema.
soft_euncmsg=No he pogut descomprimir el fitxer: $1
soft_egzip=El fitxer està comprimit amb gzip, però no s'ha trobat l'ordre <tt>gzip</tt> al sistema.
soft_egzmsg=No he pogut descomprimir el fitxer amb gzip: $1

aix_unknown=Desconegut
aix_device=Dispositiu d'ENTRADA / directori de programari
aix_software=PROGRAMARI per instal·lar
aix_preview=Només VISTA PRÈVIA (NO s'efectuarà l'operació d'instal·lació)
aix_commit=FORÇA les actualitzacions de programari
aix_save=DESA els fitxers substituïts
aix_auto=Instal·la AUTOMÀTICAMENT el programari necessari
aix_extend=EXPANDEIX els sistemes de fitxers si cal més espai
aix_overwrite=REESCRIU les versions iguals o més noves
aix_verify=VERIFICA la instal·lació i comprova les mides dels fitxers
aix_include=Inclou els conjunts de fitxers d'IDIOMA corresponents
aix_detail=Sortida DETALLADA
aix_process=Processa volums mútiples
aix_accept=ACCEPTA els nous acords de llicència
aix_license=Mostra prèviament els nous acords de LLICÈNCIA
aix_clean=Fes neteja després d'una fallada
aix_manager=Gestor de Paquets AIX


  070701000425c0000081a40000000000000002000000013d1fe2cd00000e3a000000200000000000000000000000000000001700000003reloc/software/lang/cz    index_title=Softwarove balicky
index_installed=Nainstalovane balicky
index_close=Zavrit vsechny
index_open=Otevrit vsechny
index_search=Hledat balicek:
index_install=Nainstalovat novy balicek
index_installmsg=Vyberte, odkud instalovat novy balicek $1 ..
index_local=Z lokalniho souboru
index_uploaded=Z uploadovaneho souboru
index_ftp=Z ftp nebo http
index_installok=Instalovat
index_ident=Identifikovat soubor
index_identmsg=Vlozit prikaz nebo cestu souboru hledaneho v $1 databasi.
index_identok=Vyhledat:
index_return=seznam balicku

search_title=Vyhledavani balicku
search_nomatch=Nebyl vybran zadny balicek $1
search_none=Nenaleyeno
search_desc=Popis
search_class=Trida
search_pack=Balicek
search_match=Vybrane balicky $1

edit_title=Editovani balicku
edit_details=Detail balicku
edit_desc=Popis
edit_pack=Balicek
edit_class=Trida
edit_none=Nic
edit_ver=Verze
edit_vend=Vendor
edit_arch=Architekura
edit_inst=Nainstalovano
edit_list=Seznam balicku
edit_uninst=Odinstalovat
edit_return=Detaily balicku

list_title=Balicky souboru
list_files=Soubory v balicku $1
list_path=Cesta
list_owner=Vlastnik
list_group=Skupina
list_type=Typ
list_size=Velikost
list_status=Stav

delete_err=Nepodarilo se smazat balicek $1
delete_epack=Balicek $1 neexistuje
delete_title=Smazat balicek
delete_rusure=Jste si jisty, ze chcete smazat balicek $1 ? $2 Souboru ($3 bytu) bude smazano na vzdy!!
delete_ok=Smazat!

file_title=Informace o souboru
file_notfound=Informace o $1 nejsou k dispozici :-(
file_path=Cesta
file_type=Typ
file_perms=Povoleni
file_owner=Vlastnik
file_group=Skupina
file_size=Velikost
file_link=Link na
file_pack=Balicek
file_class=Trida
file_desc=Popis
file_none=Nic

install_err=Nepodarilo se nainstalovat balicek
install_elocal=Nebyl zadan zadny lokalni soubor
install_elocal2='$1' neexistuje
install_eupload=Vas browser nepodporuje uploady souboru
install_eurl=Incomprehensible URL '$1'
install_edir=$1 neni platny adresar
install_ezip=Not a valid compressed or gzipped $1 file
install_efile=Not a valid $1 file
install_title=Nainstalovat balicek
install_header=Instalovat balicek
install_packs=Balicek(y) k instalaci
install_ok=Instalovat

do_err=Nepodarilo se nainstalovat balicek $1
do_title=Instalovat balicek
do_efailed=Chyba pri instalaci : $1
do_efailedmsg1=Muzete se pokusit o novou instalaci. Vratte se na predchozi stranku a vyberte jinou instalacni moznost.
do_efailedmsg2=Otherwise, <a href='$1'>click here to delete the temporary package file</a> in order to save disk space.
do_success=Balicek $1 byl uspesne nainstalovan
do_details=Detaily balicku
do_desc=Popis
do_class=Trida
do_pack=Balicek
do_ver=Verze
do_vend=Prodejce
do_arch=Architektura
do_inst=Instalovano
do_none=Nic
do_files=Soubory balicku

pkgadd_root=Korenovy adresar
pkgadd_eroot=Korenovy adresar '$1' neexistuje!
pkgadd_unknown=Neznamy

rpm_upgrade=Upgradovat balicek?
rpm_replacepkgs=Prepsat balicek?
rpm_nodeps=Ignorovat zavislosti?
rpm_oldpackage=Prepsat novou verzi starou?
rpm_noscripts=Spustit instalacni skripty?
rpm_excludedocs=Instalovat dokumentaci?
rpm_replacefiles=Prepsat soubory?
rpm_root=Korenovy adresar
rpm_eroot=Korenovy adresar '$1' neexistuje

bsd_unknown=Neznamy
bsd_scripts=Spustit pred a po instalacni skripty?
bsd_force=Force install if missing prerequisites?

slack_unclass=Ruzne
slack_unknown=Neznamy
slack_missing=Chybejici
slack_root=Korenovy adresar
slack_eroot=Korenovy adresar chybi nebo je nespravny

debian_unknown=Neznamy
debian_depends=Ignorovat problemy v zavislostech?
debian_conflicts=Ignorovat konflikty balicku?
debian_overwrite=Prepsat soubory z jinich balicku?
debian_downgrade=Zmenit novejsi balicek starym?

  070701000425e5000081a40000000000000002000000013d1fe2cd00001002000000200000000000000000000000000000001700000003reloc/software/lang/de    index_title=Software-Pakete
index_installed=Installierte Pakete
index_close=Alle schlie&szlig;en
index_open=Alle &ouml;ffnen
index_search=Suche nach Paket:
index_install=Neues Paket installieren
index_installmsg=W&auml;hlen Sie den Ort, von dem das neue $1 Paket installiert werden soll..
index_local=Von lokaler Datei
index_uploaded=Von heraufgeladener Datei
index_ftp=Von FTP- oder HTTP-URL
index_installok=Installieren
index_ident=Datei identifizieren
index_identmsg=Geben Sie einen Befehl oder den Pfadnamen einer Datei ein, nach dem die $1 Datenbank durchsucht werden soll.
index_identok=Suche nach:
index_return=Paketliste
search_title=Paketsuche
search_nomatch=Keine Pakete gefunden f&uuml;r $1
search_none=Keiner
search_desc=Beschreibung
search_class=Klasse
search_pack=Paket
search_match=Pakete, die mit $1 &uuml;bereinstimmen
edit_title=Paket bearbeiten
edit_details=Paketdetails
edit_desc=Beschreibung
edit_pack=Paket
edit_class=Klasse
edit_none=Keiner
edit_ver=Version
edit_vend=Hersteller
edit_arch=Architektur
edit_inst=Installiert
edit_list=Dateien auflisten
edit_uninst=Deinstallieren
edit_return=Paketdetails
list_title=Paketdateien
list_files=Dateien f&uuml;r Paket $1
list_path=Pfad
list_owner=Besitzer
list_group=Gruppe
list_type=Typ
list_size=Gr&ouml;&szlig;e
list_status=Status
delete_err=Fehler beim L&ouml;schen des Pakets $1
delete_epack=Das Paket $1 existiert nicht
delete_title=Paket l&ouml;schen
delete_rusure=Sind Sie sicher, das sie das Paket $1 l&ouml;schen wollen? Bis zu $2 Dateien ($3 Bytes) werden unwiderruflich gel&ouml;scht werden.
delete_ok=L&ouml;schen
file_title=Dateiinformationen
file_notfound=Es sind keine Informationen zu $1 verf&uuml;gbar
file_path=Pfad
file_type=Typ
file_perms=Rechte
file_owner=Besitzer
file_group=Gruppe
file_size=Gr&ouml;&szlig;e
file_link=Link mit
file_pack=Paket
file_class=Klasse
file_desc=Beschreibung
file_none=Keiner
install_err=Fehler beim Installieren des Pakets
install_elocal=Keine lokale Datei angegeben
install_elocal2='$1' existiert nicht
install_eupload=Ihr Browser unterst&uuml;tzt keine Datei-Uploads
install_eurl=Unverst&auml;ndliche URL '$1'
install_edir=Kein g&uuml;ltiges $1 Verzeichnis
install_ezip=Keine g&uuml;ltige komprimierte oder gzippte $1 Datei
install_efile=Kein g&uuml;ltige $1 Datei
install_title=Paket installieren
install_header=Paket installieren
install_packs=Zu installierende(s) Paket(e)
install_ok=Installieren
do_err=Fehler beim Installieren von Paket $1
do_title=Paket installieren
do_efailed=Installation schlug fehl: $1
do_efailedmsg1=Sie k&ouml;nnen versuchen, das Paket erneut zu installieren, indem Sie zur&uuml;ckgehen und andere Installationseinstellungen w&auml;hlen. 
do_efailedmsg2=Anderenfalls <a href='$1'>klicken Sie hier, um die tempor&auml;re Paketdatei zu l&ouml;schen</a>, um Speicherplatz zu sparen.
do_success=Das Paket $1 wurde erfolgreich installiert
do_details=Paketdetails
do_desc=Beschreibung
do_class=Klasse
do_pack=Paket
do_ver=Version
do_vend=Hersteller
do_arch=Architektur
do_inst=Installiert
do_none=Keiner
do_files=Paketdateien
pkgadd_root=Root-Verzeichnis
pkgadd_eroot=Root-Verzeichnis '$1' existiert nicht
pkgadd_unknown=Unbekannt
rpm_upgrade=Paket aktualisieren?
rpm_replacepkgs=Paket &uuml;berschreiben?
rpm_nodeps=Abh&auml;ngigkeiten ignorieren?
rpm_oldpackage=Ersetze neue Version mit alter?
rpm_noscripts=F&uuml;hre Installations-Skripts aus?
rpm_excludedocs=Dokumentation installieren?
rpm_replacefiles=Dateien &uuml;berschreiben?
rpm_root=Root-Verzeichnis
rpm_eroot=Root-Verzeichnis '$1' existiert nicht
bsd_unknown=Unbekannt
bsd_scripts=Vor- und Nach-Installationsskripts ausf&uuml;hren?
bsd_force=Installation erzwingen, wenn ben&ouml;tigte Pakete fehlen?
slack_unclass=Andere
slack_unknown=Unbekannt
slack_missing=Fehlt
slack_root=Root-Verzeichnis
slack_eroot=Fehlendes oder ung&uuml;ltiges Root-Verzeichnis
debian_unknown=Unbekannt
debian_depends=Abh&auml;ngigkeitsprobleme ignorieren?
debian_conflicts=Paketkonflikte ignorieren?
debian_overwrite=Dateien aus anderen Paketen &uuml;berschreiben?
debian_downgrade=Neueres Paket mit altem ersetzen?
  070701000425e6000081a40000000000000002000000013d1fe2cd00001f37000000200000000000000000000000000000001700000003reloc/software/lang/en    index_title=Software Packages
index_installed=Installed Packages
index_close=Close All
index_open=Open All
index_search=Search For Package:
index_install=Install a New Package
index_installmsg=Select the location to install a new $1 package from..
index_local=From local file
index_uploaded=From uploaded file
index_ftp=From ftp or http URL
index_installok=Install
index_ident=Identify a File
index_identmsg=Enter a command or the pathname of a file to search the $1 database for.
index_identok=Search For:
index_all=All Packages
index_return=module index
index_treturn=package tree
index_tree=Package Tree

search_title=Package Search
search_nomatch=No packages matched $1
search_none=None
search_desc=Description
search_class=Class
search_pack=Package
search_match=Packages matching $1
search_return=search results

edit_title=Edit Package
edit_details=Package Details
edit_desc=Description
edit_pack=Package
edit_class=Class
edit_none=None
edit_ver=Version
edit_vend=Vendor
edit_arch=Architecture
edit_inst=Installed
edit_list=List Files
edit_uninst=Uninstall
edit_return=package details
edit_egone=Package is no longer installed

list_title=Package Files
list_files=Files for Package $1
list_path=Path
list_owner=Owner
list_group=Group
list_type=Type
list_size=Size
list_status=Status
list_ok=OK
list_view=(View)
list_eview=Failed to open $1 : $2

delete_err=Failed to delete package $1
delete_epack=The package $1 does not exist
delete_title=Delete Package
delete_rusure=Are you sure you want to delete the package $1 ? Up to $2 files ($3 bytes) will be deleted forever.
delete_ok=Delete
delete_nodeps=Ignore dependencies?
delete_efile=Invalid temp file to delete

file_title=File Information
file_notfound=No information about $1 is available
file_path=Path
file_type=Type
file_perms=Permissions
file_owner=Owner
file_group=Group
file_size=Size
file_link=Link To
file_pack=Package
file_class=Class
file_desc=Description
file_none=None

install_err=Failed to install package
install_elocal=No local file given
install_elocal2='$1' does not exist
install_eupload=Your browser does not support file uploads
install_eurl=Incomprehensible URL '$1'
install_edir=Not a valid $1 directory
install_ezip=Not a valid compressed or gzipped $1 file
install_efile=Not a valid $1 file
install_title=Install Package
install_header=Install package
install_packs=Package(s) to be installed
install_ok=Install

do_err=Failed to install package $1
do_title=Install Package
do_efailed=Install failed : $1
do_efailedmsg1=You may attempt to install again by going back to the previous page and selecting different install options.
do_efailedmsg2=Otherwise, <a href='$1'>click here to delete the temporary package file</a> in order to save disk space.
do_success=Package $1 was installed successfully
do_details=Package Details
do_desc=Description
do_class=Class
do_pack=Package
do_ver=Version
do_vend=Vendor
do_arch=Architecture
do_inst=Installed
do_none=None
do_files=Package Files

pkgadd_root=Root directory
pkgadd_eroot=Root directory '$1' does not exist
pkgadd_unknown=Unknown
pkgadd_manager=System V Package Manager

rpm_upgrade=Upgrade package?
rpm_replacepkgs=Overwrite package?
rpm_nodeps=Ignore dependencies?
rpm_oldpackage=Replace new version with old?
rpm_noscripts=Execute install scripts?
rpm_excludedocs=Install documentation?
rpm_replacefiles=Overwrite files?
rpm_notriggers=Run triggered scripts?
rpm_ignoresize=Check filesystem sizes?
rpm_root=Root directory
rpm_eroot=Root directory '$1' does not exist
rpm_search=Search rpmfind.net for:
rpm_none=No packages matching your search were found.
rpm_find=Search rpmfind.net ..

bsd_unknown=Unknown
bsd_scripts=Execute pre and post install scripts?
bsd_force=Force install if missing prerequisites?
bsd_manager=$1 Package Manager  

slack_unclass=Other
slack_unknown=Unknown
slack_missing=Missing
slack_root=Root directory
slack_eroot=Missing or invalid root directory
slack_manager=Slackware Package Manager

debian_unknown=Unknown
debian_depends=Ignore dependancy problems?
debian_conflicts=Ignore package conflicts?
debian_overwrite=Overwrite files from other packages?
debian_downgrade=Replace newer package with old?
debian_manager=Debian DPKG

log_install_package=Installed package $1
log_install_apt_l=Installed package(s) $1 from APT
log_install_apt=Installed $2 package(s) from APT
log_check_apt_l=Upgraded package(s) $1 from APT
log_check_apt=Upgraded $2 package(s) from APT
log_delete=Uninstalled package $1

rhn_input=Package from Redhat Network
rhn_find=Search RHN ..
rhn_install=Installing package(s) with command $1 ..
rhn_ok=.. install complete.
rhn_failed=.. install failed!
rhn_title=Select RHN package
rhn_pack=Package
rhn_version=Version
rhn_form=Redhat Network Options
rhn_auto=Automatically check for updates?
rhn_interval=Checking interval
rhn_secs=seconds
rhn_apply=Save and Apply
rhn_now=Save and Check Now
rhn_err=Failed to save RHN options
rhn_einterval=Missing or invalid interval
rhn_einterval2=Checking interval must be at least 120 seconds
rhn_check=Checking For Updates
rhn_checkdesc=Checking for updated packages from the Redhat Network with command $1 ..
rhn_nocheck=.. no packages updated.
rhn_proxy=Proxy server URL for downloading
rhn_none=Disabled
rhn_eproxy=Missing or invalid proxy server
rhn_skip=Skip packages matching
rhn_nonefound=No packages available for update.

apt_input=Package from APT
apt_install=Installing package(s) with command $1 ..
apt_ok=.. install complete.
apt_failed=.. install failed!
apt_form=Upgrade All Packages
apt_update=Resynchronize package list (<tt>update</tt>)
apt_dist=Perform distribution upgrade (<tt>upgrade-dist</tt>)
apt_sim=Only show which packages would be upgraded
apt_apply=Upgrade Now
apt_upgrade=Upgrade All Packages
apt_updatedesc=Resynchronizing package list with command $1 ..
apt_updatefailed=.. resynchronization failed!
apt_updateok=.. resynchronization complete.
apt_upgradedesc=Upgrading all packages with command $1 ..
apt_upgradedescsim=Simulating upgrade of all packages with command $1 ..
apt_upgradefailed=.. upgrade failed!
apt_upgradeok=.. upgrade complete.
apt_search=Find packages matching :
apt_find=Search APT ..

rpm_missing=Missing
rpm_checkfail=Failed $1 check
rpm_md5=MD5
rpm_fsize=file size
rpm_sym=symlink
rpm_mtime=modification time
rpm_dev=device
rpm_user=user ownership
rpm_perm=permissions
rpm_group=group ownership
rpm_erpm=RPM $1 not found : $2

soft_reg=Regular File
soft_dir=Directory
soft_spec=Special File
soft_sym=Symbolic Link
soft_hard=Hard Link
soft_edit=Editable File
soft_efunc=Failed to load functions for $1 package system.
soft_euncompress=File is compressed, but the <tt>uncompress</tt> command was not found on your system.
soft_euncmsg=Failed to uncompress file : $1
soft_egzip=File is gzipped, but the gzip command was not found on your system.
soft_egzmsg=Failed to gunzip file : $1

aix_unknown=Unknown
aix_device=INPUT device / directory for software
aix_software=SOFTWARE to install
aix_preview=PREVIEW only? (install operation will NOT occur)
aix_commit=COMMIT software updates?
aix_save=SAVE replaced files?
aix_auto=AUTOMATICALLY install requisite software?
aix_extend=EXTEND file systems if space needed?
aix_overwrite=OVERWRITE same or newer versions?
aix_verify=VERIFY install and check file sizes?
aix_include=Include corresponding LANGUAGE filesets?
aix_detail=DETAILED output?
aix_process=Process multiple volumes?
aix_accept=ACCEPT new license agreements?
aix_license=Preview new LICENSE agreements?
aix_clean=Cleanup install failure?
aix_manager=AIX Package Manager

emerge_input=From portage repository
emerge_find=Search ..
emerge_install=Installing package with command $1 ..
emerge_failed=.. install failed!
emerge_ok=.. install complete.
emerge_search=Search for package:
emerge_pack=Package
emerge_class=Class
emerge_version=Version
emerge_desc=Description
emerge_none=No packages matched your search.
emerge_noreplace=Replace existing packages?
emerge_onlydeps=Only install dependencies?

 070701000425e7000081a40000000000000002000000013d1fe2cd00001bd2000000200000000000000000000000000000001700000003reloc/software/lang/es    index_title=Paquetes de Software
index_installed=Paquetes Instalados
index_close=Cerrar Todos
index_open=Abrir Todos
index_search=Buscar Paquete:
index_install=Instalar Nuevo Paquete
index_installmsg=Selecciona la localización desde donde instalar el paquete $1 ...
index_local=Desde archivo local
index_uploaded=Desde archivo cargado
index_ftp=Desde dirección URL ftp o http
index_installok=Instalar
index_ident=Identificar un Archivo
index_identmsg=Digite un comando o la trayectoria de un archivo donde buscar la base de datos $1.
index_identok=Buscar:
index_return=lista de paquetes
index_all=Todos los paquetes

search_title=Búsqueda de paquetes
search_nomatch=No hay paquetes que coincidan con $1
search_none=Ninguno
search_desc=Descripción
search_class=Clase
search_pack=Paquete
search_match=Paquetes que coinciden con $1
search_return=resultados de la búsqueda

edit_title=Editar Paquete
edit_details=Detalles del Paquete
edit_desc=Descripción
edit_pack=Paquete
edit_class=Clase
edit_none=Ninguno
edit_ver=Versión
edit_vend=Vendedor
edit_arch=Arquitectura
edit_inst=Instalado
edit_list=Listar Archivos
edit_uninst=Desinstalar
edit_return=detalles del paquete

list_title=Archivos del Paquete
list_files=Archivos para el paquete $1
list_path=Trayectoria
list_owner=Propietario
list_group=Grupo
list_type=Tipo
list_size=Medida
list_status=Estado
list_ok=Ok

delete_err=Error en borrado del paquete $1
delete_epack=El paquete $1 no existe
delete_title=Borrar Paquete
delete_rusure=¿Estás seguro de querer borrar el paquete $1? Tantos como $2 archivos ($3 bytes) serán borrados para siempre jamás.
delete_ok=Borrar

file_title=Información de Archivo
file_notfound=No hay información disponible para $1
file_path=Trayectoria
file_type=Tipo
file_perms=Permisos
file_owner=Propietario
file_group=Grupo
file_size=Medida
file_link=Enlaza Con
file_pack=Paquete
file_class=Clase
file_desc=Descripción
file_none=Ninguna

install_err=Error al instalar paquete
install_elocal=No se ha suministrado el archivo local
install_elocal2='$1' no existe
install_eupload=Tu navegador no soporta carga de archivos
install_eurl=Dirección URL '$1' incompresible
install_edir=No hay un directorio $1 válido
install_ezip=No hay un archivo comprimido .Z o -gz $1
install_efile=No hay archivo $1 válido
install_title=Instalar Paquete
install_header=Instalar paquete
install_packs=Paquete(s) a instalar
install_ok=Instalar

do_err=Error al instalar paquete $1
do_title=Instalar Paquete
do_efailed=Instalación fallida: $1
do_efailedmsg1=Puedes intentar instalar de nuevo yendo a la página previa y seleccionando diferentes opciones de instalación.
do_efailedmsg2=En caso contrario, <a href='$1'>haz click aquí para borrar el archivo temporal del paquete</a> con el fin de ahorrar espacio en disco.
do_success=El Paquete $1 se instaló con éxito
do_details=Detalles del Paquete
do_desc=Descripción
do_class=Clase
do_pack=Paquete
do_ver=Versión
do_vend=Vendedor
do_arch=Arquitectura
do_inst=Instalado
do_none=Ninguno
do_files=Archivos del Paquete

pkgadd_root=Directorio Raiz
pkgadd_eroot=El directorio raiz '$1' no existe
pkgadd_unknown=Desconocido
pkgadd_manager=Gestor de Paquetes System V

rpm_upgrade=¿Actualizo el paquete?
rpm_replacepkgs=¿Sobreescribo el paquete?
rpm_nodeps=¿Ignoro las dependencias?
rpm_oldpackage=¿Reemplazo la nueva versión con la anterior?
rpm_noscripts=¿Ejecuto guiones de instalación?
rpm_excludedocs=¿Instalo la documentación?
rpm_replacefiles=¿Sobreescribo los archivos?
rpm_root=Directorio Raiz
rpm_eroot=El directorio raiz '$1' no existe

bsd_unknown=Desconocido
bsd_scripts=¿Ejecuto los guiones de pre y post instalación?
bsd_force=¿Fuerzo la instalación si hay prerequistos que no están?
bsd_manager=Gestor de Paquetes $1

slack_unclass=Otro
slack_unknown=Desconocido
slack_missing=Perdido
slack_root=Directorio raiz
slack_eroot=Directorio Raiz perdido o inválido
slack_manager=Gestor de Paquetes de Slackware

debian_unknown=Desconocido
debian_depends=¿Ignoro problemas de dependencias?
debian_conflicts=¿Ignoro conflictos de paquetes?
debian_overwrite=¿Sobreescribo archivos de otros paquetes?
debian_downgrade=¿Reemplazo el paquete más reciente con el anterior?
debian_manager=DPKG de Debian

log_install_package=Instalado paquete $1
log_install_apt_l=Instalado(s) paquete(s) $1 desde APT
log_install_apt=Instalado(s) $2 paquete(s) desde APT
log_check_apt_l=Mejorado(s) paquete(s) $1 desde APT
log_check_apt=Mejorado(s) $2 paquete(s) desde APT
log_delete=Desinstalado paquete $1

rhn_input=Paquetes desde Red de Redhat
rhn_install=Instalando paquete(s) mediante comando $1...
rhn_ok=... instalación completa.
rhn_failed=... ¡instalación falló!
rhn_title=Selecciona paquete RHN
rhn_pack=Paquete
rhn_version=Versión
rhn_form=Opciones de Red Redhat
rhn_auto=¿Reviso automáticamente por actualizaciónes?
rhn_interval=Intervalo de Chequeo
rhn_secs=segundos
rhn_apply=Salvar y Aplicar
rhn_now=Salvar y Revisar Ahora
rhn_err=No pude salvar opciones RHN
rhn_einterval=Intervalo falta o es inválido
rhn_einterval2=Intervalo de chequeo debe de ser al menos de 120 segundos
rhn_check=Revisando por Actualizaciones
rhn_checkdesc=Revisando por paquetes actualizados desde la Red Redhat mediante comando $1...
rhn_nocheck=... no se han actualizado paquetes.
rhn_proxy=URL de servidor proxy para descarga
rhn_none=Desactivado
rhn_eproxy=Servidor proxy falta o es inválido
rhn_skip=Saltar paquetes que coincidan

apt_input=Paquete desde APT
apt_install=Instalando paquete(s) mediante comando $1...
apt_ok=... instalación completa.
apt_failed=... ¡instalación failló!
apt_form=Mejorar Todos los Paquetes
apt_update=Resincronizar lista de paquetes (<tt>actualizar</tt>)
apt_dist=Realizar mejora de distribución (<tt>upgrade-dist</tt>)
apt_sim=Sólo mostrar qué paquetes debería de ser mejorados
apt_apply=Mejorar Ahora
apt_upgrade=Mejorar Todos los Paquetes
apt_updatedesc=Resincronizando lista de paquetes mediante el comando $1...
apt_updatefailed=... ¡falló la resincronización!
apt_updateok=... resincronización completa.
apt_upgradedesc=Mejorando todos los paquetes mediante el comando $1...
apt_upgradedescsim=Simulando mejora de todos los paquetes mediante el comando $1...
apt_upgradefailed=... ¡falló la mejora!
apt_upgradeok=... mejora completa.
apt_search=Hallar paquetes que coincidan con:

rpm_missing=Falta
rpm_checkfail=Falló chequeo $1
rpm_md5=MD5
rpm_fsize=medida de archivo
rpm_sym=enlace simbólico
rpm_mtime=tiempo de modificación
rpm_dev=dispositivo
rpm_user=pertenencia a usuario
rpm_perm=permisos
rpm_group=pertenencia a grupo
rpm_erpm=RPM $1 no hallado: $2

soft_reg=Archiv Regular
soft_dir=Directorio
soft_spec=Archivo Especial
soft_sym=Enlace Simbólico
soft_hard=Enlace por Hard
soft_edit=Archivo Editable
soft_efunc=No pude cargar funciones para sistema de paquete $1.
soft_euncompress=El archivo está comprimido pero el comando <tt>uncompress</tt> no ha sido hallado en tu sistema.
soft_euncmsg=No pude descomprimir el archivo: $1
soft_egzip=El archivo está comprimido mediante gzip per el comando gzip no ha sido hallado en tu sistema.
soft_egzmsg=No pude descomprimir mediante gunzip el archivo: $1

  070701000425e8000081a40000000000000002000000013d1fe2cd00001d84000000200000000000000000000000000000001700000003reloc/software/lang/fr    index_title=Composants logiciels
index_installed=Composants installés
index_close=Tout fermer
index_open=Tout ouvrir
index_search=Chercher un composant
index_install=Installer un nouveau composant
index_installmsg=Choisissez d'où installer un nouveau composant $1
index_local=Un fichier local
index_uploaded=Un fichier téléchargé
index_ftp=Une adresse FTP ou HTTP
index_installok=Installer
index_ident=Identifier un fichier
index_identmsg=Entrer une commande ou le chemin d'accès d'un fichier à rechercher dans la base de donnée des composants $1
index_identok=Rechercher:
index_all=Tous les composants
index_return=composants installés

search_title=Chercher un composant
search_nomatch=Aucun composant $1 correspondant
search_none=Aucun
search_desc=Description
search_class=Classe
search_pack=Composant
search_match=Composant correspondant à $1
search_return=résultats de la recherche

edit_title=Éditer un composant
edit_details=Détail du composant
edit_desc=Description
edit_pack=Composant
edit_class=Classe
edit_none=Aucun
edit_ver=Version
edit_vend=Fournisseur
edit_arch=Architecture
edit_inst=Installé le
edit_list=Liste des fichiers
edit_uninst=Désinstaller
edit_return=détails du composant

list_title=Fichiers du composant
list_files=Fichiers du composant $1
list_path=Chemin
list_owner=Propriétaire
list_group=Groupe
list_type=Type
list_size=Taille
list_status=État
list_ok=OK
list_view=(Voir)
list_eview=Echec de l'ouverture de $1 : $2

delete_err=Impossible de supprimer le composant $1
delete_epack=Le composant $1 n'existe pas
delete_title=Supprimer un composant
delete_rusure=Êtes-vous sur de vouloir supprimer le composant $1 contenant $2 fichiers ($3 octets) définitivement?
delete_ok=Supprimer

file_title=Informations sur un fichier
file_notfound=Aucune information disponible pour $1
file_path=Chemin
file_type=Type
file_perms=Permissions
file_owner=Propriétaire
file_group=Groupe
file_size=Taille
file_link=Lier à
file_pack=Composant
file_class=Classe
file_desc=Description
file_none=Aucun

install_err=Impossible d'installer le composant
install_elocal=Aucun nom de fichier local spécifié
install_elocal2='$1' n'existe pas
install_eupload=Votre navigateur ne supporte pas l'envoi de fichiers
install_eurl=Lien '$1' incompréhensible
install_edir=$1 n'est pas un répertoire valide
install_ezip=$1 n'est pas un fichier compressé ou gzippé valide
install_efile=Fichier $1 invalide
install_title=Installer un composant
install_header=Installer un composant
install_packs=Composants à installer
install_ok=Installer

do_err=Impossible d'installer le composant $1
do_title=Installer un composant
do_efailed=Installation impossible : $1
do_efailedmsg1=Vous pouvez réessayer d'installer le composant de nouveau en retournant à la page précédente et en choisissant des options d'installation différentes
do_efailedmsg2=Sinon, <a href='$1'>cliquez ici pour supprimer le fichier temporaire du composant</a> pour récupérer de l'espace disque.
do_success=Le composant $1 a été installé correctement
do_details=Détails du composant
do_desc=Description
do_class=Classe
do_pack=Composant
do_ver=Version
do_vend=Fournisseur
do_arch=Architecture
do_inst=Installé le
do_none=Aucun
do_files=Fichiers du composant

pkgadd_root=Répertoire racine
pkgadd_eroot=Le répertoire racine '$1' n'existe pas
pkgadd_unknown=Inconnu
pkgadd_manager=Gestionnaire de composants System V

rpm_upgrade=Mettre le composant à jour?
rpm_replacepkgs=Écraser le composant?
rpm_nodeps=Ignorer les dépendances?
rpm_oldpackage=Remplacer la version courante par une plus ancienne?
rpm_noscripts=Exécuter les scripts d'installation?
rpm_excludedocs=Installer la documentation?
rpm_replacefiles=Écraser les fichiers?
rpm_root=Répertoire racine
rpm_eroot=Le répertoire racine '$1' est introuvable

bsd_unknown=Inconnu
bsd_scripts=Exécuter les script pre/post-installation?
bsd_force=Forcer l'installation même s'il manque des prérequis?
bsd_manager=Gestionnaire de composants $1

slack_unclass=Autre
slack_unknown=Inconnu
slack_missing=Manquant
slack_root=Répertoire racine
slack_eroot=Répertoire racine introuvable
slack_manager=Gestionnaire de composants Slackware

debian_unknown=Inconnu
debian_depends=Ignorer les problèmes de dépendances?
debian_conflicts=Ignorer les conflits entre composants?
debian_overwrite=Écraser les fichiers des autres composants?
debian_downgrade=Remplacer un nouveau composant par un plus ancien?
debian_manager=Debian DPKG

log_install_package=Composant $1 installé
log_install_apt_l=Composant(s) $1 installé(s) depuis APT
log_install_apt=$2 composant(s) installé(s) depuis APT
log_check_apt_l=Composant(s) $1 mis à jour depuis APT
log_check_apt=$2 composant(s) mis à jour depuis APT
log_delete=Composant $1 désinstallé

rhn_input=Composant de Redhat Network
rhn_install=Installation le(s) composant(s) avec la commande $1 ...
rhn_ok=... installation effectuée.
rhn_failed=... installation échouée !
rhn_title=Selectionner le composant RHN
rhn_pack=Composant
rhn_version=Version
rhn_form=Options de Redhat Network
rhn_auto=Vérifier automatiquement pour les mises à jour ?
rhn_interval=Intervalle de vérification
rhn_secs=secondes
rhn_apply=Sauver et appliquer
rhn_now=Sauver et Vérifier maintenant
rhn_err=Echec de la sauvegarde des options RHN
rhn_einterval=Intervalle manquant ou invalide
rhn_einterval2=L'intervalle de vérification doit être au moins de 120 secondes
rhn_check=Vérification des mises à jours
rhn_checkdesc=Vérification pour les composants mis à jour du Redhat Network avec la commande $1 ...
rhn_nocheck=... aucun composant mis à jour.
rhn_proxy=URL du serveur proxy pour le téléchargement
rhn_none=Désactivé
rhn_eproxy=Serveur proxy manquant ou invalide
rhn_skip=Sauter les composants qui correspondent

apt_input=Composant d'APT
apt_install=Installation le(s) composant(s) avec la commande $1 ...
apt_ok=... installation effectuée.
apt_failed=... installation échouée
apt_form=Mettre à jour tous les composants
apt_update=Resynchroniser la liste des composants (<tt>update</tt>)
apt_dist=Effectuer une mise à jour de la distribution (<tt>upgrade-dist</tt>)
apt_sim=Montrer seulement quels composants seraient mis à jour
apt_apply=Mettre à jour maintenant
apt_upgrade=Mettre à jour tous les composants
apt_updatedesc=Resynchronisation de la liste des composants avec la commande $1 ...
apt_updatefailed=... resynchronisation échouée !
apt_updateok=... resynchronisation effectuée.
apt_upgradedesc=Mise à jour de tous les composants avec la commande $1 ...
apt_upgradedescsim=Simulation de la mise à jour de tous les composants avec la commande $1 ...
apt_upgradefailed=... mise à jour échouée !
apt_upgradeok=... mise à jour effectuée.
apt_search=Trouver les composants ressemblant à :

rpm_missing=Manquant
rpm_checkfail=Vérification $1 échouée
rpm_md5=MD5
rpm_fsize=taille de fichier
rpm_sym=lien symbolique
rpm_mtime=date de modification
rpm_dev=périphérique
rpm_user=utilisateur propriétaire
rpm_perm=permissions
rpm_group=groupe propriétaire
rpm_erpm=RPM $1 non trouvé : $2

soft_reg=Fichier régulier
soft_dir=Répertoire
soft_spec=Fichier spécial
soft_sym=Lien symbolique
soft_hard=lien physique
soft_edit=Fichier éditable
soft_efunc=Impossible de charger les fonctions pour le système de composants $1
soft_euncompress=Le fichier est compressé, mais la commande <tt>uncompress</tt> n'a pas été trouvée sur votre système
soft_euncmsg=Echec de la décompression de fichier : $1
soft_egzip=Le fichier est gzippé, mais la commande gzip n'a pas été trouvée sur votre système.
soft_egzmsg=Echec de la decompression avec gunzip : $1

070701000425e9000081a40000000000000002000000013d1fe2cd00000f2c000000200000000000000000000000000000001700000003reloc/software/lang/hu    index_title=Szoftver csomagok
index_installed=Telepített csomagok
index_close=Összes bezárása
index_open=Összes megnyitása
index_search=Csomag keresése:
index_install=Új csomag telepítése
index_installmsg=Válassza ki a helyet, ahonnan az új $1 csomagot telepíti...
index_local=Helyi fájlból
index_uploaded=Feltöltött fájlból
index_ftp=Ftp vagy http URL-rõl
index_installok=Telepít
index_ident=Fájl azonosítása
index_identmsg=Adja meg a parancs nevét vagy a fájl elérési útvonalát a(z) $1 adatbázisban való kereséshez.
index_identok=Keresés:
index_return=a csomagok listájához

search_title=Csomag keresése
search_nomatch=Nincs $1 karakterláncot tartalmazó csomag
search_none=Nincs
search_desc=Leírás
search_class=Osztály
search_pack=Csomag
search_match=A(z) $1 karakterláncot tartalmazó csomagok

edit_title=Csomag szerkesztése
edit_details=Csomag részletei
edit_desc=Leírás
edit_pack=Csomag
edit_class=Oszály
edit_none=Nincs
edit_ver=Verzió
edit_vend=Terjesztõ
edit_arch=Architektúra
edit_inst=Telepített
edit_list=Fájlok listázása
edit_uninst=Törlés
edit_return=a csomag részleteihez

list_title=Csomag fájljai
list_files=A(z) $1 csomag fájljai
list_path=Útvonal
list_owner=Tulajdonos
list_group=Csoport
list_type=Típus
list_size=Méret
list_status=Állapot

delete_err=A(z) $1 csomag törlése nem sikerült
delete_epack=A(z) $1 csomag nem létezik
delete_title=Csomag törlése
delete_rusure=Biztosan törölni akarja a(z) $1 csomagot? $2 darab fájl ($3 bájt) örökre le lesz törölve.
delete_ok=Töröl

file_title=Fájl információk
file_notfound=A(z) $1 fájlról információ nem érhetõ el
file_path=Útvonal
file_type=Típus
file_perms=Jogosultságok
file_owner=Tulajdonos
file_group=Csoport
file_size=Méret
file_link=Link
file_pack=Csomag
file_class=Osztály
file_desc=Leírás
file_none=Nincs

install_err=A csomag telepítése nem sikerült
install_elocal=Helyi fájl megadása nem történt meg
install_elocal2=A(z) '$1' nem létezik
install_eupload=Az Ön böngészõje nem támogatja a fájlok feltöltését
install_eurl=A(z) '$1' URL értelmezhetetlen
install_edir=A(z) $1 könyvtár érvénytelen
install_ezip=A(z) $1 érvénytelen tömörített vagy gzipelt fájl.
install_efile=A(z) $1 érvénytelen fájl
install_title=Csomag telepítése
install_header=Csomag telepítése
install_packs=A csomag(ok) telepítése megtörtént
install_ok=Telepít

do_err=A(z) $1 csomag telepítése nem sikerült
do_title=Csomag telepítése
do_efailed=A telepítés nem sikerült : $1
do_efailedmsg1=Ön az elõzõ oldalra visszamenve különbözõ telepítési módozatokat választhat ki, majd újra megkísérelheti a telepítést
do_efailedmsg2=Máskülönben <a href='$1'>kattintson ide az ideiglenes csomagfájlok törléséhez</a>, mellyel lemezterületet szabadíthat fel.
do_success=A(z) $1 csomag telepítése sikerült
do_details=Csomag részletei
do_desc=Leírás
do_class=Osztály
do_pack=Csomag
do_ver=Verzió
do_vend=Terjesztõ
do_arch=Architektúra
do_inst=Telepített
do_none=Nincs
do_files=Csomag fájljai

pkgadd_root=Gyökérkönyvtár
pkgadd_eroot=A(z) '$1' gyökérkönyvtár nem létezik
pkgadd_unknown=Ismeretlen

rpm_upgrade=Csomag frissítése?
rpm_replacepkgs=Csomag felülírása?
rpm_nodeps=Depedenciák mellõzése?
rpm_oldpackage=Az új változat kicserélése a régire?
rpm_noscripts=A telepítõszkriptek végrehajtása?
rpm_excludedocs=Dokumentáció telepítése?
rpm_replacefiles=Fájlok felülírása?
rpm_root=Gyökérkönyvtár
rpm_eroot=A(z) '$1' gyökérkönyvtár nem létezik

bsd_unknown=Ismeretlen
bsd_scripts=Az 'elõ' és 'utó' telepítõszkriptek végrehajtása?
bsd_force=Telepítés hiányzó elõfeltételek esetén is?

slack_unclass=Egyéb
slack_unknown=Ismeretlen
slack_missing=Hiányzó
slack_root=Gyökérkönyvtár
slack_eroot=Hiányzó vagy érvénytelen gyökérkönyvtár

debian_unknown=Hiányzó
debian_depends=A függõségi problémák mellõzése?
debian_conflicts=A csomagütközések mellõzése?
debian_overwrite=Más csomagok fájljainak felülírása?
debian_downgrade=Az újabb csomag kicserélése a régire?

070701000425ea000081a40000000000000002000000013d1fe2cd00001bac000000200000000000000000000000000000001e00000003reloc/software/lang/ja_JP.euc index_title=¥½¥Õ¥È¥¦¥§¥¢ ¥Ñ¥Ã¥±¡¼¥¸
index_installed=¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß¤Î¥Ñ¥Ã¥±¡¼¥¸
index_close=¤¹¤Ù¤ÆÊÄ¤¸¤ë
index_open=¤¹¤Ù¤Æ³«¤¯
index_search=¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷:
index_install=¿·µ¬¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë
index_installmsg=¿·µ¬ $1 ¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¾ì½ê¤òÁªÂò..
index_local=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤«¤é
index_uploaded=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é
index_ftp=FTP ¤Þ¤¿¤Ïhttp URL ¤«¤é
index_installok=¥¤¥ó¥¹¥È¡¼¥ë
index_ident=¥Õ¥¡¥¤¥ë¤Î¼±ÊÌ
index_identmsg=$1 ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¸¡º÷¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹Ì¾¤òÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤¡£
index_identok=¸¡º÷ÂÐ¾Ý:
index_all=¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸
index_return=¥Ñ¥Ã¥±¡¼¥¸ ¥ê¥¹¥È

search_title=¥Ñ¥Ã¥±¡¼¥¸¤Î¸¡º÷
search_nomatch=$1 ¤Ë°ìÃ×¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó
search_none=¤Ê¤·
search_desc=ÀâÌÀ
search_class=¥¯¥é¥¹
search_pack=¥Ñ¥Ã¥±¡¼¥¸
search_match=$1 ¤Ë°ìÃ×¤·¤¿¥Ñ¥Ã¥±¡¼¥¸
search_return=¸¡º÷·ë²Ì

edit_title=¥Ñ¥Ã¥±¡¼¥¸¤ÎÊÔ½¸
edit_details=¥Ñ¥Ã¥±¡¼¥¸¤Î¾ÜºÙ
edit_desc=ÀâÌÀ
edit_pack=¥Ñ¥Ã¥±¡¼¥¸
edit_class=¥¯¥é¥¹
edit_none=¤Ê¤·
edit_ver=¥Ð¡¼¥¸¥ç¥ó
edit_vend=¥Ù¥ó¥À
edit_arch=¥¢¡¼¥­¥Æ¥¯¥Á¥ã
edit_inst=¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß
edit_list=¥Õ¥¡¥¤¥ë¤Î¥ê¥¹¥È
edit_uninst=¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
edit_return=¥Ñ¥Ã¥±¡¼¥¸¤Î¾ÜºÙ

list_title=¥Ñ¥Ã¥±¡¼¥¸ ¥Õ¥¡¥¤¥ë
list_files=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤Î¥Õ¥¡¥¤¥ë
list_path=¥Ñ¥¹
list_owner=½êÍ­¼Ô
list_group=¥°¥ë¡¼¥×
list_type=¼ïÎà
list_size=¥µ¥¤¥º
list_status=¥¹¥Æ¡¼¥¿¥¹
list_ok=OK

delete_err=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
delete_epack=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
delete_title=¥Ñ¥Ã¥±¡¼¥¸¤Îºï½ü
delete_rusure=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«? $2 ¥Õ¥¡¥¤¥ë ($3 ¥Ð¥¤¥È) ¤Þ¤Ç±Êµ×¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£
delete_ok=ºï½ü

file_title=¥Õ¥¡¥¤¥ë¤Î¾ðÊó
file_notfound=$1 ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¤¢¤ê¤Þ¤»¤ó
file_path=¥Ñ¥¹
file_type=¼ïÎà
file_perms=µö²Ä
file_owner=½êÍ­¼Ô
file_group=¥°¥ë¡¼¥×
file_size=¥µ¥¤¥º
file_link=¥ê¥ó¥¯Àè
file_pack=¥Ñ¥Ã¥±¡¼¥¸
file_class=¥¯¥é¥¹
file_desc=ÀâÌÀ
file_none=¤Ê¤·

install_err=¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
install_elocal=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
install_elocal2='$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
install_eupload=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
install_eurl=URL '$1' ¤ÏÍý²ò¤Ç¤­¤Þ¤»¤ó
install_edir=$1 ¥Ç¥£¥ì¥¯¥È¥ê¤ÏÌµ¸ú¤Ç¤¹
install_ezip=$1 ¥Õ¥¡¥¤¥ë¤ÏÌµ¸ú¤Ê°µ½Ì¤Þ¤¿¤Ïgzip ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤Ç¤¹
install_efile=$1 ¥Õ¥¡¥¤¥ë¤ÏÌµ¸ú¤Ç¤¹
install_title=¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë
install_header=¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë
install_packs=¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ñ¥Ã¥±¡¼¥¸
install_ok=¥¤¥ó¥¹¥È¡¼¥ë

do_err=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
do_title=¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó¥¹¥È¡¼¥ë
do_efailed=¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: $1
do_efailedmsg1=Á°¤Î¥Ú¡¼¥¸¤ËÌá¤Ã¤ÆÊÌ¤Î¥¤¥ó¥¹¥È¡¼¥ë ¥ª¥×¥·¥ç¥ó¤òÁªÂò¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤òºÆ»î¹Ô¤Ç¤­¤Þ¤¹¡£
do_efailedmsg2=Otherwise, <a href='$1'>¥Ç¥£¥¹¥¯ÎÎ°è¤ò¶õ¤±¤ë¤¿¤á¤Ë°ì»þ¥Ñ¥Ã¥±¡¼¥¸ ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤Ë¤Ï</a> ¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
do_success=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿
do_details=¥Ñ¥Ã¥±¡¼¥¸¤Î¾ÜºÙ
do_desc=ÀâÌÀ
do_class=¥¯¥é¥¹
do_pack=¥Ñ¥Ã¥±¡¼¥¸
do_ver=¥Ð¡¼¥¸¥ç¥ó
do_vend=¥Ù¥ó¥À
do_arch=¥¢¡¼¥­¥Æ¥¯¥Á¥ã
do_inst=¥¤¥ó¥¹¥È¡¼¥ëºÑ¤ß
do_none=¤Ê¤·
do_files=¥Ñ¥Ã¥±¡¼¥¸ ¥Õ¥¡¥¤¥ë

pkgadd_root=¥ë¡¼¥È ¥Ç¥£¥ì¥¯¥È¥ê
pkgadd_eroot=root ¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
pkgadd_unknown=ÉÔÌÀ
pkgadd_manager=¥·¥¹¥Æ¥à ¥Ð¡¼¥¸¥ç¥ó ¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Í¡¼¥¸¥ã

rpm_upgrade=¥Ñ¥Ã¥±¡¼¥¸¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Þ¤¹¤«¡©
rpm_replacepkgs=¥Ñ¥Ã¥±¡¼¥¸¤ò¾å½ñ¤­¤·¤Þ¤¹¤«¡©
rpm_nodeps=°ÍÂ¸À­¤òÌµ»ë¤·¤Þ¤¹¤«¡©
rpm_oldpackage=¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ò¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ÈÃÖ¤­´¹¤¨¤Þ¤¹¤«¡©
rpm_noscripts=¥¤¥ó¥¹¥È¡¼¥ë ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Þ¤¹¤«¡©
rpm_excludedocs=¥Þ¥Ë¥å¥¢¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¤«¡©
rpm_replacefiles=¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¤«¡©
rpm_root=root ¥Ç¥£¥ì¥¯¥È¥ê
rpm_eroot=root ¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó

bsd_unknown=ÉÔÌÀ
bsd_scripts=¥×¥ê ¥¤¥ó¥¹¥È¡¼¥ë¤ª¤è¤Ó¥Ý¥¹¥È ¥¤¥ó¥¹¥È¡¼¥ë ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Þ¤¹¤«¡©
bsd_force=Á°Äó¾ò·ï¤¬¤Ê¤¤¾ì¹ç¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤ò¶¯À©¤·¤Þ¤¹¤«¡©
bsd_manager=$1 ¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Í¡¼¥¸¥ã  

slack_unclass=¤½¤ÎÂ¾
slack_unknown=ÉÔÌÀ
slack_missing=¼¡¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó
slack_root=root ¥Ç¥£¥ì¥¯¥È¥ê
slack_eroot=root ¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
slack_manager=Slackware ¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Í¡¼¥¸¥ã

debian_unknown=ÉÔÌÀ
debian_depends=°ÍÂ¸À­¤ÎÌäÂê¤òÌµ»ë¤·¤Þ¤¹¤«¡©
debian_conflicts=¥Ñ¥Ã¥±¡¼¥¸¤Î¶¥¹ç¤òÌµ»ë¤·¤Þ¤¹¤«¡©
debian_overwrite=Â¾¤Î¥Ñ¥Ã¥±¡¼¥¸¤«¤é¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¤«¡©
debian_downgrade=¸Å¤¤¥Ñ¥Ã¥±¡¼¥¸¤ò¿·¤·¤¤¥Ñ¥Ã¥±¡¼¥¸¤ÇÃÖ¤­´¹¤¨¤Þ¤¹¤«¡©
debian_manager=Debian DPKG

log_install_package=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿
log_install_apt_l=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ò APT ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿
log_install_apt=$2 ¥Ñ¥Ã¥±¡¼¥¸¤ò APT ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿
log_check_apt_l=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ò APT ¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Þ¤·¤¿
log_check_apt=$2 ¥Ñ¥Ã¥±¡¼¥¸¤ò APT ¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Þ¤·¤¿
log_delete=¥Ñ¥Ã¥±¡¼¥¸ $1 ¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿

rhn_input=Redhat Network ¤«¤é¤Î¥Ñ¥Ã¥±¡¼¥¸
rhn_install=¥Ñ¥Ã¥±¡¼¥¸¤ò¥³¥Þ¥ó¥É $1 ¤Ç¥¤¥ó¥¹¥È¡¼¥ëÃæ..
rhn_ok=.. ¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿¡£
rhn_failed=.. ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£
rhn_title=RHN ¥Ñ¥Ã¥±¡¼¥¸¤ÎÁªÂò
rhn_pack=¥Ñ¥Ã¥±¡¼¥¸
rhn_version=¥Ð¡¼¥¸¥ç¥ó
rhn_form=Redhat Network ¥ª¥×¥·¥ç¥ó
rhn_auto=¼«Æ°Åª¤Ë¥¢¥Ã¥×¥Ç¡¼¥È¤òÄ´¤Ù¤Þ¤¹¤«¡©
rhn_interval=¥Á¥§¥Ã¥¯¤Î´Ö³Ö
rhn_secs=ÉÃ
rhn_apply=ÊÝÂ¸¤·¤ÆÅ¬ÍÑ
rhn_now=º£¤¹¤°ÊÝÂ¸¤·¤Æ¥Á¥§¥Ã¥¯
rhn_err=RHN ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
rhn_einterval=´Ö³Ö¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
rhn_einterval2=¥Á¥§¥Ã¥¯¤Î´Ö³Ö¤Ï¾¯¤Ê¤¯¤È¤â 120 ÉÃ°Ê¾åÉ¬Í×¤Ç¤¹
rhn_check=¥¢¥Ã¥×¥Ç¡¼¥È¤Î¥Á¥§¥Ã¥¯
rhn_checkdesc=¥³¥Þ¥ó¥É $1 ¤ò»È¤Ã¤Æ¡¢Redhat Network ¤«¤é¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¤¤Þ¤¹..
rhn_nocheck=.. ¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¥Ñ¥Ã¥±¡¼¥¸¤Ï¤¢¤ê¤Þ¤»¤ó¡£
rhn_proxy=¥À¥¦¥ó¥í¡¼¥ÉÍÑ¤Î¥×¥í¥­¥· ¥µ¡¼¥Ð URL
rhn_none=Ìµ¸ú
rhn_eproxy=¥×¥í¥­¥· ¥µ¡¼¥Ð¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
rhn_skip=°ìÃ×¤·¤¿¥Ñ¥Ã¥±¡¼¥¸¤ò¥¹¥­¥Ã¥×

apt_input=APT ¤«¤é¤Î¥Ñ¥Ã¥±¡¼¥¸
apt_install=¥Ñ¥Ã¥±¡¼¥¸¤ò¥³¥Þ¥ó¥É $1 ¤Ç¥¤¥ó¥¹¥È¡¼¥ëÃæ..
apt_ok=.. ¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¤Þ¤·¤¿¡£
apt_failed=.. ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£
apt_form=¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É
apt_update=¥Ñ¥Ã¥±¡¼¥¸ ¥ê¥¹¥È¤ÎºÆÆ±´ü (<tt>update</tt>)
apt_dist=ÇÛÉÛ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò¼Â¹Ô (<tt>upgrade-dist</tt>)
apt_sim=¥¢¥Ã¥×¥°¥ì¡¼¥É¤µ¤ì¤ë¥Ñ¥Ã¥±¡¼¥¸¤Î¤ß¤òÉ½¼¨
apt_apply=º£¤¹¤°¥¢¥Ã¥×¥°¥ì¡¼¥É
apt_upgrade=¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥¢¥Ã¥×¥°¥ì¡¼¥É
apt_updatedesc=¥³¥Þ¥ó¥É $1 ¤ò»È¤Ã¤Æ¥Ñ¥Ã¥±¡¼¥¸ ¥ê¥¹¥È¤òºÆÆ±´ü..
apt_updatefailed=.. ºÆÆ±´ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
apt_updateok=.. ºÆÆ±´ü¤ò´°Î»¤·¤Þ¤·¤¿¡£
apt_upgradedesc=¥¢¥Ã¥×¥°¥ì¡¼¥ÉÃæ..
apt_upgradedescsim=¤¹¤Ù¤Æ¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥³¥Þ¥ó¥É $1 ¤ò»È¤Ã¤Æ¥·¥ß¥å¥ì¡¼¥ÈÃæ ..
apt_upgradefailed=.. ¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£
apt_upgradeok=.. ¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò´°Î»¤·¤Þ¤·¤¿¡£

rpm_missing=¼¡¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó
rpm_checkfail=$1 ¥Á¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤Þ¤·¤¿
rpm_md5=MD5
rpm_fsize=¥Õ¥¡¥¤¥ë ¥µ¥¤¥º
rpm_sym=symlink
rpm_mtime=¹¹¿·Æü»þ
rpm_dev=¥Ç¥Ð¥¤¥¹
rpm_user=¥æ¡¼¥¶½êÍ­¸¢
rpm_perm=µö²Ä
rpm_group=¥°¥ë¡¼¥×½êÍ­¸¢
rpm_erpm=RPM $1 ¤¬¤¢¤ê¤Þ¤»¤ó: $2

soft_reg=É¸½à¥Õ¥¡¥¤¥ë
soft_dir=¥Ç¥£¥ì¥¯¥È¥ê
soft_spec=ÆÃ¼ì¥Õ¥¡¥¤¥ë
soft_sym=¥·¥ó¥Ü¥ê¥Ã¥¯ ¥ê¥ó¥¯
soft_hard=Hard LinkHard ¥ê¥ó¥¯
soft_edit=ÊÔ½¸²ÄÇ½¤Ê¥Õ¥¡¥¤¥ë
soft_efunc=$1 ¥Ñ¥Ã¥±¡¼¥¸ ¥·¥¹¥Æ¥à¤Îµ¡Ç½¤ò¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
soft_euncompress=¥Õ¥¡¥¤¥ë¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬<tt>uncompress</tt> ¥³¥Þ¥ó¥É¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
soft_euncmsg=¥Õ¥¡¥¤¥ë¤ò²òÅà¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
soft_egzip=¥Õ¥¡¥¤¥ë¤Ï gzip ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à¤Ë gzip ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
soft_egzmsg=¥Õ¥¡¥¤¥ë¤ò gunzip ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $

070701000425eb000081a40000000000000002000000013d1fe2cd0000182c000000200000000000000000000000000000001e00000003reloc/software/lang/ko_KR.euc index_title=¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö
index_installed=¼³Ä¡µÈ ÆÐÅ°Áö
index_close=¸ðµÎ ´Ý±â
index_open=¸ðµÎ ¿­±â
index_search=ÆÐÅ°Áö °Ë»ö:
index_install=»õ ÆÐÅ°Áö ¼³Ä¡
index_installmsg=»õ $1 ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÒ À§Ä¡ ¼±ÅÃ..
index_local=·ÎÄÃ ÆÄÀÏ·ÎºÎÅÍ
index_uploaded=¾÷·ÎµåµÈ ÆÄÀÏ·ÎºÎÅÍ
index_ftp=ftp ¶Ç´Â http URL·ÎºÎÅÍ
index_installok=¼³Ä¡
index_ident=ÆÄÀÏ È®ÀÎ
index_identmsg=$1 µ¥ÀÌÅÍº£ÀÌ½º¸¦ °Ë»öÇÒ ¸í·ÉÀÌ³ª ÆÄÀÏÀÇ °æ·Î ÀÌ¸§À» ÀÔ·ÂÇÏ½Ê½Ã¿À.
index_identok=°Ë»ö ´ë»ó:
index_all=¸ðµç ÆÐÅ°Áö
index_return=ÆÐÅ°Áö ¸ñ·Ï

search_title=ÆÐÅ°Áö °Ë»ö
search_nomatch=$1°ú(¿Í) ÀÏÄ¡ÇÏ´Â ÆÐÅ°Áö°¡ ¾ø½À´Ï´Ù
search_none=¾øÀ½
search_desc=¼³¸í
search_class=Å¬·¡½º
search_pack=ÆÐÅ°Áö
search_match=$1°ú(¿Í) ÀÏÄ¡ÇÏ´Â ÆÐÅ°Áö
search_return=°Ë»ö °á°ú

edit_title=ÆÐÅ°Áö ÆíÁý
edit_details=ÆÐÅ°Áö ¼¼ºÎ Á¤º¸
edit_desc=¼³¸í
edit_pack=ÆÐÅ°Áö
edit_class=Å¬·¡½º
edit_none=¾øÀ½
edit_ver=¹öÀü
edit_vend=°ø±Þ¾÷Ã¼
edit_arch=¾ÆÅ°ÅØÃ³
edit_inst=¼³Ä¡ÇÑ ³¯Â¥
edit_list=ÆÄÀÏ ³ª¿­
edit_uninst=¼³Ä¡ Á¦°Å
edit_return=ÆÐÅ°Áö ¼¼ºÎ Á¤º¸

list_title=ÆÐÅ°Áö ÆÄÀÏ
list_files=ÆÐÅ°Áö $1ÀÇ ÆÄÀÏ
list_path=°æ·Î
list_owner=¼ÒÀ¯ÀÚ
list_group=±×·ì
list_type=À¯Çü
list_size=Å©±â
list_status=»óÅÂ
list_ok=È®ÀÎ

delete_err=ÆÐÅ°Áö $1À»(¸¦) »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
delete_epack=ÆÐÅ°Áö $1ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
delete_title=ÆÐÅ°Áö »èÁ¦
delete_rusure=ÆÐÅ°Áö $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? ÃÖ´ë $2°³ÀÇ ÆÄÀÏ($3¹ÙÀÌÆ®)ÀÌ ¿µ±¸ÀûÀ¸·Î »èÁ¦µË´Ï´Ù.
delete_ok=»èÁ¦

file_title=ÆÄÀÏ Á¤º¸
file_notfound=$1¿¡ ´ëÇÑ Á¤º¸°¡ ¾ø½À´Ï´Ù
file_path=°æ·Î
file_type=À¯Çü
file_perms=»ç¿ë ±ÇÇÑ
file_owner=¼ÒÀ¯ÀÚ
file_group=±×·ì
file_size=Å©±â
file_link=¸µÅ© ´ë»ó:
file_pack=ÆÐÅ°Áö
file_class=Å¬·¡½º
file_desc=¼³¸í
file_none=¾øÀ½

install_err=ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
install_elocal=·ÎÄÃ ÆÄÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê¾Ò½À´Ï´Ù
install_elocal2='$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
install_eupload=ºê¶ó¿ìÀú¿¡¼­ ÆÄÀÏ ¾÷·Îµå ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
install_eurl=ÀÎ½ÄÇÒ ¼ö ¾ø´Â URL '$1'
install_edir=À¯È¿ÇÑ $1 µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
install_ezip=À¯È¿ÇÑ $1 ¾ÐÃà ÆÄÀÏ ¶Ç´Â gzip Çü½ÄÀÇ ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
install_efile=À¯È¿ÇÑ $1 ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
install_title=ÆÐÅ°Áö ¼³Ä¡
install_header=ÆÐÅ°Áö ¼³Ä¡
install_packs=¼³Ä¡ÇÒ ÆÐÅ°Áö
install_ok=¼³Ä¡

do_err=ÆÐÅ°Áö $1À»(¸¦) ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
do_title=ÆÐÅ°Áö ¼³Ä¡
do_efailed=¼³Ä¡ ½ÇÆÐ: $1
do_efailedmsg1=ÀÌÀü ÆäÀÌÁö·Î µ¹¾Æ°¡¼­ ´Ù¸¥ ¼³Ä¡ ¿É¼ÇÀ» ¼±ÅÃÇÏ¿© ¼³Ä¡¸¦ ´Ù½Ã ½ÃµµÇÒ ¼ö ÀÖ½À´Ï´Ù.
do_efailedmsg2=±×·¸Áö ¾ÊÀ¸¸é <a href='$1'>¿©±â</a>¸¦ ´­·¯ ÀÓ½Ã ÆÐÅ°Áö ÆÄÀÏÀ» »èÁ¦ÇÏ¿© µð½ºÅ© ¿©À¯ °ø°£À» ´Ã¸®½Ê½Ã¿À.
do_success=ÆÐÅ°Áö $1ÀÌ(°¡) ¼º°øÀûÀ¸·Î ¼³Ä¡µÇ¾ú½À´Ï´Ù
do_details=ÆÐÅ°Áö Á¤º¸
do_desc=¼³¸í
do_class=Å¬·¡½º
do_pack=ÆÐÅ°Áö
do_ver=¹öÀü
do_vend=°ø±Þ¾÷Ã¼
do_arch=¾ÆÅ°ÅØÃ³
do_inst=¼³Ä¡ÇÑ ³¯Â¥
do_none=¾øÀ½
do_files=ÆÐÅ°Áö ÆÄÀÏ

pkgadd_root=·çÆ® µð·ºÅä¸®
pkgadd_eroot=·çÆ® µð·ºÅä¸® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
pkgadd_unknown=¾Ë ¼ö ¾øÀ½
pkgadd_manager=½Ã½ºÅÛ V ÆÐÅ°Áö °ü¸®ÀÚ

rpm_upgrade=ÆÐÅ°Áö¸¦ ¾÷±×·¹ÀÌµåÇÕ´Ï±î?
rpm_replacepkgs=ÆÐÅ°Áö¸¦ µ¤¾î¾¹´Ï±î?
rpm_nodeps=Á¾¼Ó¼ºÀ» ¹«½ÃÇÕ´Ï±î?
rpm_oldpackage=±âÁ¸ ¹öÀüÀ» »õ ¹öÀüÀ¸·Î ±³Ã¼ÇÕ´Ï±î?
rpm_noscripts=¼³Ä¡ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÕ´Ï±î?
rpm_excludedocs=¹®¼­¸¦ ¼³Ä¡ÇÕ´Ï±î?
rpm_replacefiles=ÆÄÀÏÀ» µ¤¾î¾¹´Ï±î?
rpm_root=·çÆ® µð·ºÅä¸®
rpm_eroot=·çÆ® µð·ºÅä¸® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù

bsd_unknown=¾Ë ¼ö ¾øÀ½
bsd_scripts=»çÀü ¹× »çÈÄ ¼³Ä¡ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÕ´Ï±î?
bsd_force=ÀüÁ¦ Á¶°ÇÀÌ ¾øÀ» °æ¿ì °­Á¦·Î ¼³Ä¡ÇÕ´Ï±î?
bsd_manager=$1 ÆÐÅ°Áö °ü¸®ÀÚ

slack_unclass=±× ¿Ü
slack_unknown=¾Ë ¼ö ¾øÀ½
slack_missing=¾øÀ½
slack_root=·çÆ® µð·ºÅä¸®
slack_eroot=¾ø°Å³ª Àß¸øµÈ ·çÆ® µð·ºÅä¸®
slack_manager=Slackware ÆÐÅ°Áö °ü¸®ÀÚ

debian_unknown=¾Ë ¼ö ¾øÀ½
debian_depends=Á¾¼Ó¼º ¹®Á¦¸¦ ¹«½ÃÇÕ´Ï±î?
debian_conflicts=ÆÐÅ°Áö Ãæµ¹À» ¹«½ÃÇÕ´Ï±î?
debian_overwrite=´Ù¸¥ ÆÐÅ°ÁöÀÇ ÆÄÀÏÀ» µ¤¾î¾¹´Ï±î?
debian_downgrade=±âÁ¸ ÆÐÅ°Áö¸¦ »õ ÆÐÅ°Áö·Î ±³Ã¼ÇÕ´Ï±î?
debian_manager=Debian DPKG

log_install_package=ÆÐÅ°Áö $1 ¼³Ä¡µÊ
log_install_apt_l=APT·ÎºÎÅÍ ÆÐÅ°Áö $1 ¼³Ä¡µÊ
log_install_apt=APT·ÎºÎÅÍ ÆÐÅ°Áö $2 ¼³Ä¡µÊ
log_check_apt_l=APT·ÎºÎÅÍ ÆÐÅ°Áö $1 ¾÷±×·¹ÀÌµåµÊ
log_check_apt=APT·ÎºÎÅÍ ÆÐÅ°Áö $2 ¾÷±×·¹ÀÌµåµÊ
log_delete=ÆÐÅ°Áö $1 Á¦°ÅµÊ

rhn_input=Redhat ³×Æ®¿öÅ©ÀÇ ÆÐÅ°Áö
rhn_install=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© ÆÐÅ°Áö ¼³Ä¡ Áß..
rhn_ok=.. ¼³Ä¡°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù.
rhn_failed=.. ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù!
rhn_title=RHN ÆÐÅ°Áö ¼±ÅÃ
rhn_pack=ÆÐÅ°Áö
rhn_version=¹öÀü
rhn_form=Redhat ³×Æ®¿öÅ© ¿É¼Ç
rhn_auto=¾÷µ¥ÀÌÆ® °Ë»ç¸¦ ÀÚµ¿À¸·Î ¼öÇàÇÕ´Ï±î?
rhn_interval=°Ë»ç °£°Ý
rhn_secs=ÃÊ
rhn_apply=ÀúÀå ¹× Àû¿ë
rhn_now=Áö±Ý ÀúÀå ¹× °Ë»ç
rhn_err=RHN ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
rhn_einterval=¾ø°Å³ª Àß¸øµÈ °£°Ý
rhn_einterval2=°Ë»ç °£°ÝÀº 120ÃÊ ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù
rhn_check=¾÷µ¥ÀÌÆ® °Ë»ç
rhn_checkdesc=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© Redhat ³×Æ®¿öÅ©·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®µÈ ÆÐÅ°Áö°¡ ÀÖ´ÂÁö °Ë»ç Áß..
rhn_nocheck=.. ¾÷µ¥ÀÌÆ®µÈ ÆÐÅ°Áö°¡ ¾ø½À´Ï´Ù.
rhn_proxy=´Ù¿î·Îµå¿ë ÇÁ·Ï½Ã ¼­¹ö URL
rhn_none=»ç¿ë ºÒ´É
rhn_eproxy=¾ø°Å³ª Àß¸øµÈ ÇÁ·Ï½Ã ¼­¹ö
rhn_skip=ÀÏÄ¡ÇÏ´Â ÆÐÅ°Áö °Ç³Ê¶Ü

apt_input=APTÀÇ ÆÐÅ°Áö
apt_install=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© ÆÐÅ°Áö ¼³Ä¡ Áß..
apt_ok=.. ¼³Ä¡°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù.
apt_failed=.. ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù!
apt_form=¸ðµç ÆÐÅ°Áö ¾÷±×·¹ÀÌµå
apt_update=ÆÐÅ°Áö ¸ñ·Ï ´Ù½Ã µ¿±âÈ­(<tt>¾÷µ¥ÀÌÆ®</tt>)
apt_dist=¹èÆ÷ ¾÷±×·¹ÀÌµå ¼öÇà(<tt>¾÷±×·¡ÀÌµå ¹èÆ÷</tt>)
apt_sim=¾÷±×·¹ÀÌµåÇÒ ÆÐÅ°Áö¸¸ Ç¥½Ã
apt_apply=Áö±Ý ¾÷±×·¹ÀÌµå
apt_upgrade=¸ðµç ÆÐÅ°Áö ¾÷±×·¹ÀÌµå
apt_updatedesc=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© ÆÐÅ°Áö ¸ñ·Ï ´Ù½Ã µ¿±âÈ­ Áß..
apt_updatefailed=.. Àçµ¿±âÈ­ÇÏÁö ¸øÇß½À´Ï´Ù!
apt_updateok=.. Àçµ¿±âÈ­°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù.
apt_upgradedesc=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© ¸ðµç ÆÐÅ°Áö ¾÷±×·¹ÀÌµå Áß..
apt_upgradedescsim=$1 ¸í·ÉÀ» »ç¿ëÇÏ¿© ¸ðµç ÆÐÅ°Áö ¸ñ·ÏÀÇ ¾÷±×·¹ÀÌµå ½Ã¹Ä·¹ÀÌ¼Ç Áß..
apt_upgradefailed=.. ¾÷±×·¹ÀÌµåÇÏÁö ¸øÇß½À´Ï´Ù!
apt_upgradeok=.. ¾÷±×·¹ÀÌµå°¡ ¿Ï·áµÇ¾ú½À´Ï´Ù.

rpm_missing=¾øÀ½
rpm_checkfail=$1À»(¸¦) °Ë»çÇÏÁö ¸øÇß½À´Ï´Ù
rpm_md5=MD5
rpm_fsize=ÆÄÀÏ Å©±â
rpm_sym=½Éº¼¸¯ ¸µÅ©
rpm_mtime=¼öÁ¤ ½Ã°£
rpm_dev=ÀåÄ¡
rpm_user=»ç¿ëÀÚ ¼ÒÀ¯±Ç
rpm_perm=»ç¿ë ±ÇÇÑ
rpm_group=±×·ì ¼ÒÀ¯±Ç
rpm_erpm=RPM $1ÀÌ(°¡) ¾ø½À´Ï´Ù: $2

soft_reg=ÀÏ¹Ý ÆÄÀÏ
soft_dir=µð·ºÅä¸®
soft_spec=Æ¯¼ö ÆÄÀÏ
soft_sym=½Éº¼¸¯ ¸µÅ©
soft_hard=ÇÏµå LinkHard ¸µÅ©
soft_edit=ÆíÁý °¡´ÉÇÑ ÆÄÀÏ
soft_efunc=$1 ÆÐÅ°Áö ½Ã½ºÅÛÀÇ ±â´ÉÀ» ·ÎµåÇÏÁö ¸øÇß½À´Ï´Ù.
soft_euncompress=ÆÄÀÏÀÌ ¾ÐÃàµÇ¾úÁö¸¸ ½Ã½ºÅÛ¿¡ <tt>uncompress</tt> ¸í·ÉÀÌ ¾ø½À´Ï´Ù.
soft_euncmsg=ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
soft_egzip=ÆÄÀÏÀÌ gzip Çü½ÄÀ¸·Î ¾ÐÃàµÇ¾úÁö¸¸ ½Ã½ºÅÛ¿¡ gzip ¸í·ÉÀÌ ¾ø½À´Ï´Ù.
soft_egzmsg=gzip ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $

070701000425ec000081a40000000000000002000000013d1fe2cd00001ba5000000200000000000000000000000000000001700000003reloc/software/lang/pl    index_title=Pakiety oprogramowania
index_installed=Zainstalowane pakiety
index_close=Zamknij wszystkie
index_open=Otwórz wszystkie
index_search=Szukaj pakietu:
index_install=Zainstaluj nowy pakiet
index_installmsg=Podaj lokalizacjê z&nbsp;jakiej bêdzie instalowany nowy pakiet $1..
index_local=Z&nbsp;pliku lokalnego
index_uploaded=Z&nbsp;pliku przes³anego
index_ftp=Z&nbsp;serwera ftp lub http, URL
index_installok=Zainstaluj
index_ident=Zidentyfikuj plik
index_identmsg=Podaj polecenie lub ¶cie¿kê do pliku, aby go poszukaæ w&nbsp;bazie $1.
index_identok=Szukaj:
index_all=Wszystkie pakiety
index_return=listy pakietów

search_title=Szukanie pakietu
search_nomatch=Nie znaleziono pakietu dla $1
search_none=Brak
search_desc=Opis
search_class=Klasa
search_pack=Pakiet
search_match=Pakiety dla $1
search_return=wyników poszukiwania

edit_title=Zmieñ pakiet
edit_details=Informacje o&nbsp;pakiecie
edit_desc=Opis
edit_pack=Pakiet
edit_class=Klasa
edit_none=Brak
edit_ver=Wersja
edit_vend=Dystrybutor
edit_arch=Architektura
edit_inst=Zainstalowany
edit_list=Lista plików
edit_uninst=Odinstaluj
edit_return=informacji o&nbsp;pakiecie

list_title=Pliki pakietu
list_files=Pliki w&nbsp;pakiecie $1
list_path=¦cie¿ka
list_owner=W³a¶ciciel
list_group=Grupa
list_type=Rodzaj
list_size=Rozmiar
list_status=Stan
list_ok=OK
list_view=(Obejrzyj)
list_eview=Nie uda³o siê otworzyæ&nbsp;: $2

delete_err=Nie uda³o siê usun±æ pakietu $1
delete_epack=Pakiet $1 nie istnieje
delete_title=Usuñ pakiet
delete_rusure=Czy na pewno chcesz usun±æ pakiet $1? $2 plików ($3 bajtów) zostanie nieodwracalnie skasowanych.
delete_ok=Usuñ

file_title=Informacje o pliku
file_notfound=Brak dostêpnych informacji o&nbsp;pliku $1
file_path=¦cie¿ka
file_type=Rodzaj
file_perms=Uprawnienia
file_owner=W³a¶ciciel
file_group=Grupa
file_size=Rozmiar
file_link=Dowi±zanie do
file_pack=Pakiet
file_class=Klasa
file_desc=Opis
file_none=Brak

install_err=Nie uda³o siê zainstalowaæ pakietu
install_elocal=Nie podano pliku lokalnego
install_elocal2='$1' nie istnieje
install_eupload=Twoja przegl±darka nie obs³uguje przesy³ania plików
install_eurl=Niezrozumia³y URL '$1'
install_edir=Niew³a¶ciwy katalog $1
install_ezip=Niew³a¶ciwy spakowany plik $1
install_efile=Niew³a¶ciwy plik $1
install_title=Zainstaluj pakiet
install_header=Zainstaluj pakiet
install_packs=Pakiet(-y) do zainstalowania
install_ok=Instaluj

do_err=Nie uda³o siê zainstalowaæ pakietu $1
do_title=Instalalacja pakietu
do_efailed=Instalacja siê nie powiod³a&nbsp;: $1
do_efailedmsg1=Mo¿esz spróbowaæ zainstalowaæ ponownie wracaj±c do poprzedniej strony i&nbsp;wybieraj±c inne opcje instalacyjne.
do_efailedmsg2=W&nbsp;przeciwnym przypadku <a href='$1'>naci¶nij tutaj, aby usun±æ pliki tymczasowe pakietu</a> dla zaoszczêdzenia miejsca na dysku.
do_success=Pakiet $1 zosta³ pomy¶lnie zainstalowany
do_details=Informacje o&nbsp;pakiecie
do_desc=Opis
do_class=Klasa
do_pack=Pakiet
do_ver=Wersja
do_vend=Dystrybutor
do_arch=Architektura
do_inst=Zainstalowany
do_none=Brak
do_files=Pliki w&nbsp;pakiecie

pkgadd_root=Katalog g³ówny
pkgadd_eroot=Katalog g³ówny '$1' nie istnieje
pkgadd_unknown=Nieznany
pkgadd_manager=zarz±dcy pakietów Systemu V

rpm_upgrade=Aktualizowaæ pakiet?
rpm_replacepkgs=Nadpisaæ pakiet?
rpm_nodeps=Ignorowaæ zale¿no¶ci?
rpm_oldpackage=Zast±piæ nowsz± wersjê przez starsz±?
rpm_noscripts=Uruchomiæ skrypty instalacyjne?
rpm_excludedocs=Instalowaæ dokumentacjê?
rpm_replacefiles=Nadpisywaæ pliki?
rpm_root=Katalog g³ówny
rpm_eroot=Katalog g³ówny '$1' nie istnieje

bsd_unknown=Nieznany
bsd_scripts=Uruchomiæ skrypty przed- i&nbsp;poinstalacyjne?
bsd_force=Wymusiæ instalacjê przy braku wymaganych?
bsd_manager=zarz±dcy pakietów $1

slack_unclass=Inny
slack_unknown=Nieznany
slack_missing=Brak
slack_root=Katalog g³ówny
slack_eroot=Brak lub niew³a¶ciwy katalog g³ówny
slack_manager=zarz±dcy pakietów Slackware

debian_unknown=Nieznany
debian_depends=Ignorowaæ problemy z&nbsp;zale¿no¶ciami?
debian_conflicts=Ignorowaæ konflikty pakietów?
debian_overwrite=Nadpisywaæ pliki z&nbsp;innych pakietów?
debian_downgrade=Zast±piæ nowszy pakiet przez starszy?
debian_manager=DPKG Debiana

log_install_package=Zainstalowano pakiet $1
log_install_apt_l=Zainstalowano pakiet(-y) $1 z APT
log_install_apt=Zainstalowano $2 pakiet(-ów) z APT
log_check_apt_l=Zaktualizowano pakiet(-y) $1 z APT
log_check_apt=Zaktualizowano $2 pakiet(-ów) z APT
log_delete=Odinstalowano pakiet $1

rhn_input=Pakiet z&nbsp;Sieci Redhat (RHN)
rhn_install=Instalacja pakietu(-ów) za pomoc± polecenia $1 ..
rhn_ok=.. zakoñczona.
rhn_failed=.. instalacja siê nie powiod³a!
rhn_title=Wybierz pakiet RHN
rhn_pack=Pakiet
rhn_version=Wersja
rhn_form=Opcje Sieci Redhat
rhn_auto=Automatycznie sprawdzaæ czy s± aktualizacje?
rhn_interval=Okres pomiêdzy sprawdzeniami
rhn_secs=sekund
rhn_apply=Zachowaj i zastosuj
rhn_now=Zachowaj i sprawd¼ teraz
rhn_err=Nie uda³o siê zachowaæ opcji RHN
rhn_einterval=Nie podany lub niepoprawny okres
rhn_einterval2=Okres pomiêdzy sprawdzeniami musi wynisiæ co najmniej 120 sekund
rhn_check=Sprawdzanie aktualizacji
rhn_checkdesc=Sprawdzanie czy s± aktualizacje pakietów w&nbsp;Sieci Redhat za pomoc± polecenia $1 ..
rhn_nocheck=.. nie zaktualizowano ¿adnego pakietu.
rhn_proxy=URL serwera proxy dla pobierania
rhn_none=Wy³±czone
rhn_eproxy=Nie podany lub niepoprawny serwer proxy
rhn_skip=Pomiñ pakiety wg wzorca

apt_input=Pakiet z&nbsp;APT
apt_install=Instalacja pakietu(-ów) za pomoc± polecania $1 ..
apt_ok=.. zakoñczona.
apt_failed=.. instalacja siê nie powiod³a!
apt_form=Aktualizuj wszystkie pakiety
apt_update=Resynchronizuj listê pakietów (<tt>update</tt>)
apt_dist=Wykonaj aktualizacjê dystrybucji (<tt>upgrade-dist</tt>)
apt_sim=Pokazuj tylko, które pakiety by³yby aktualizowane
apt_apply=Aktualizuj
apt_upgrade=Aktualizacja wszystkich pakiety
apt_updatedesc=Resynchronizacja listy pakietów za pomoc± polecenia $1 ..
apt_updatefailed=.. resynchronizacja siê nie powiod³a!
apt_updateok=.. zakoñczona.
apt_upgradedesc=Aktualizacja wszystkich pakietów za pomoc± polecenia $1 ..
apt_upgradedescsim=Symulacja aktualizacji wszystkich pakietów za pomoc± polecenia $1 ..
apt_upgradefailed=.. aktualizacja siê nie powiod³±!
apt_upgradeok=.. zakoñczona.
apt_search=Znajd¼ pakiety wg wzorca&nbsp;:

rpm_missing=Brak
rpm_checkfail=Niezgodno¶æ $1
rpm_md5=sumy kontrolnej MD5
rpm_fsize=rozmiaru pliku
rpm_sym=dowi±zania symbolicznego
rpm_mtime=czasu modyfikacji
rpm_dev=pliku urz±dzenia
rpm_user=u¿ytkownika
rpm_perm=uprawnieñ
rpm_group=grupy
rpm_erpm=Nie znaleziono RPM-a $1&nbsp;: $2 

soft_reg=Zwyk³y plik
soft_dir=Katalog
soft_spec=Plik specjalny
soft_sym=Dowi±zanie symboliczne
soft_hard=Dowi±zanie twarde
soft_edit=Plik konfiguracyjny
soft_efunc=Nie uda³o sie za³adowaæ funkcji obs³uguj±cych system pakietów $1.
soft_euncompress=Plik jest spakowany, a&nbsp;nie znaleziono w&nbsp;systemie polecenia <tt>uncompress</tt>.
soft_euncmsg=Nie uda³o siê rozpakowaæ&nbsp;: $1
soft_egzip=Plik jest spakowany gzipem, a&nbsp;nie znaleziono w&nbsp;systemie polecenia <tt>gzip</tt>.
soft_egzmsg=Nie uda³o siê rozpakowaæ pliku spakowanego gzipem&nbsp;: $1

   070701000425ed000081a40000000000000002000000013d1fe2cd00000f22000000200000000000000000000000000000001700000003reloc/software/lang/pt    index_title=Pacotes de Software
index_installed=Pacotes Instalados
index_close=Fechar Todos
index_open=Abrir Todos
index_search=Procurar Pacote:
index_install=Instalar Novo Pacote
index_installmsg=Seleccione a localização de onde quer instalar o novo pacote $1 ..
index_local=De ficheiro local
index_uploaded=De um ficheiro carregado
index_ftp=De um URL ftp ou http
index_installok=Instalar
index_ident=Identificar um Ficheiro
index_identmsg=Introduza um comando ou um caminho do ficheiro para procurar na base de dados $1.
index_identok=Procurar Por:
index_return=lista de pacotes

search_title=Procura de Pacotes
search_nomatch=Não há pacotes que coincidam com $1
search_none=Nenhum
search_desc=Descrição
search_class=Classe
search_pack=Pacote
search_match=Pacotes que coincidem com $1

edit_title=Editar Pacote
edit_details=Detalhes do Pacote
edit_desc=Descrição
edit_pack=Pacote
edit_class=Classe
edit_none=Nenhum
edit_ver=Versão
edit_vend=Vendedor
edit_arch=Arquitectura
edit_inst=Instalado
edit_list=Listar Ficheiros
edit_uninst=Desinstalar
edit_return=detalhes do pacote

list_title=Ficheiros do Pacote
list_files=Ficheiros para o Pacote $1
list_path=Caminho
list_owner=Proprietário
list_group=Grupo
list_type=Tipo
list_size=Tamanho
list_status=Estado

delete_err=Erro ao apagar o pacote $1
delete_epack=O pacote $1 não existe
delete_title=Apagar Pacote
delete_rusure=Tem a certeza que quer apagar o pacote $1 ? Todos os $2 ficheiros ($3 bytes) serão apagados para sempre.
delete_ok=Apagar

file_title=Informação do Ficheiro
file_notfound=Não está disponível a informação acerca de $1
file_path=Caminho
file_type=Tipo
file_perms=Permissões
file_owner=Proprietário
file_group=Grupo
file_size=Tamanho
file_link=Enlaçar Com
file_pack=Pacote
file_class=Classe
file_desc=Descrição
file_none=Nenhum

install_err=Erro ao instalar pacote
install_elocal=Não foi dado nenhum ficheiro local
install_elocal2='$1' não existe
install_eupload=O seu navegador não suporta carregamento de ficheiros
install_eurl=O URL '$1' é imcompreensível
install_edir=Não é um directório $1 válido
install_ezip=Não é um ficheiro comprimido ou do gzip $1 válido
install_efile=Não é um ficheiro $1 válido
install_title=Instalar Pacote
install_header=Instalar Pacote
install_packs=Pacote(s) a instalar
install_ok=Instalar

do_err=Erro ao instalar pacote $1
do_title=Instalar Pacote
do_efailed=Erro na instalação : $1
do_efailedmsg1=Vovê pode tentar instalar de novo voltando atrás à página anterior seleccionando diferentes opções de instalação.
do_efailedmsg2=Caso contrário, <a href='$1'>clique aqui para apagar o pacote temporário</a> com o fim de ganhar espaço em disco.
do_success=O pacote $1 foi instalado com sucesso
do_details=Detalhes do Pacote
do_desc=Descrição
do_class=Classe
do_pack=Pacote
do_ver=Versão
do_vend=Vendedor
do_arch=Arquitectura
do_inst=Instalado
do_none=Nenhum
do_files=Ficheiros do Pacote

pkgadd_root=Directório raíz
pkgadd_eroot=o directório raíz '$1' não existe
pkgadd_unknown=Desconhecido

rpm_upgrade=Actualizar pacote?
rpm_replacepkgs=Sobreposicionar pacote?
rpm_nodeps=Ignorar dependências?
rpm_oldpackage=Substituir a nova versão pela a antiga?
rpm_noscripts=Executar guiões de instalação?
rpm_excludedocs=Instalar documentação?
rpm_replacefiles=Sobreposicionar ficheiros?
rpm_root=Directório raíz
rpm_eroot=O directório raíz '$1' não existe

bsd_unknown=Desconhecido
bsd_scripts=Executar guiões de pré e pós instalação?
bsd_force=Forçar a instalação se faltarem os pré-requesitos?

slack_unclass=Outro
slack_unknown=Desconhecido
slack_missing=Em falta
slack_root=Directório raíz
slack_eroot=Directório raíz inválido ou em falta

debian_unknown=Desconhecido
debian_depends=Ignorar problemas de dependência?
debian_conflicts=Ignorar conflito de pacotes?
debian_overwrite=Sobrepôr ficheiros de outros pacotes?
debian_downgrade=Substituir a nova versão pela a antiga?
  070701000425ee000081a40000000000000002000000013d1fe2cd00000e41000000200000000000000000000000000000001a00000003reloc/software/lang/ru_RU edit_list=Ïðîñìîòð Ôàéëîâ
edit_inst=Óñòàíîâëåí
index_open=Ðàçâåðíóòü Âñå
edit_class=Êëàññ
install_efile=Íåâåðíûé ôàéë $1
index_identmsg=Ââåäèòå êîìàíäó èëè ïóòåâîå èìÿ ôàéëà äëÿ åãî ïîèñêà â áàçå äàííûõ $1.
file_title=Èíôîðìàöèÿ î Ôàéëå
install_err=Îøèáêà ïðè óñòàíîâêå ïàêåòà
debian_overwrite=Ïåðåïèñûâàòü ôàéëû èç äðóãèõ ïàêåòîâ?
edit_none=Íåò
do_vend=Ïîñòàâùèê
list_owner=Âëàäåëåö
do_class=Êëàññ
pkgadd_root=Êîðíåâîé êàòàëîã
index_ident=Èäåíòèôèöèðîâàòü Ôàéë
bsd_scripts=Âûïîëíÿòü äî è ïîñëå-èíñòàëëÿöèîííûå ñöåíàðèè?
install_ezip=Íåâåðíûé compress èëè gzip ôàéë $1
slack_unknown=Íåèçâåñòåí
rpm_oldpackage=Çàìåíèòü íîâóþ âåðñèþ ñòàðîé?
do_files=Ôàéëû Ïàêåòà
slack_root=Êîðíåâîé êàòàëîã
do_err=Îøèáêà ïðè óñòàíîâêå ïàêåòà $1
do_desc=Îïèñàíèå
rpm_noscripts=Èñïîëíèòü èíñòàëëÿöèîííûå ñöåíàðèè?
debian_depends=Èãíîðèðîâàòü ïðîáëåìû ñ çàâèñèìîñòÿìè?
do_arch=Àðõèòåêòóðà
install_title=Óñòàíîâêà Ïàêåòà
search_title=Ïîèñê Ïàêåòîâ
search_match=Ïàêåòû ñîâïàäàþùèå ñ $1
install_ok=Óñòàíîâèòü
pkgadd_unknown=Íåèçâåñòåí
install_header=Óñòàíîâêà ïàêåòà
file_type=Òèï
install_edir=Íåâåðíûé êàòàëîã $1
rpm_replacefiles=Ïåðåïèñàòü ôàéëû?
do_pack=Ïàêåò
file_perms=Ïðàâà
list_type=Òèï
file_size=Ðàçìåð
debian_unknown=Íåèçâåñòåí
rpm_upgrade=Îáíîâèòü ïàêåò?
delete_err=Îøèáêà ïðè óäàëåíèè ïàêåòà $1
file_class=Êëàññ
bsd_force=Ôîðñèðîâàòü óñòàíîâêó, äàæå åñëè íåò íåîáõîäèìûõ óñëîâèé?
index_install=Óñòàíîâêà Íîâîãî Ïàêåòà
list_group=Ãðóïïà
search_desc=Îïèñàíèå
index_uploaded=Çàãðóæåííîãî ôàéëà
list_size=Ðàçìåð
search_nomatch=Íåò ïàêåòîâ ñîâïàäàþùèõ ñ $1
install_packs=Ïàêåòû äëÿ óñòàíîâêè
index_installed=Óñòàíîâëåííûå Ïàêåòû
rpm_replacepkgs=Ïåðåïèñàòü ïàêåò?
do_efailedmsg1=Âû ìîæåòå ïîïûòàòüñÿ ïðîâåñòè óñòàíîâêó ñíîâà, âåðíóâøèñü íà ïðåäûäóùóþ ñòðàíèöó âûáðàâ äðêãèå óñòàíîâî÷íûå ïàðàìåòðû.
do_efailedmsg2=Èíà÷å <a href='$1'>íàæìèòå ñþäà äëÿ óäàëåíèÿ âðåìåííîãî ôàéëà ïàêåòà</a>, ÷òîáû îí íå çàíèìàë ìåñòà íà äèñêå.
delete_title=Óäàëåíèå Ïàêåòà
search_pack=Ïàêåò
slack_eroot=Íå ââåäåí èëè íåâåðíûé êîðíåâîé êàòàëîã
do_inst=Óñòàíîâëåí
edit_ver=Âåðñèÿ
rpm_nodeps=Èãíîðèðîâàòü çàâèñèìîñòè?
index_search=Ïîèñê Ïàêåòà:
debian_conflicts=Èãíîðèðîâàòü êîíôëèêòû ïàêåòîâ?
index_installok=Óñòàíîâèòü
search_class=Êëàññ
slack_missing=Ïîòåðÿí
index_return=ñïèñîê ïàêåòîâ
do_none=Íåò
bsd_unknown=Íåèçâåñòåí
list_title=Ôàéëû Ïàêåòà
delete_ok=Óäàëèòü
index_local=Ëîêàëüíîãî ôàéëà
file_owner=Âëàäåëåö
file_notfound=Íåò èíôîðìàöèè î $1
edit_vend=Ïîñòàâùèê
file_desc=Îïèñàíèå
do_ver=Âåðñèÿ
slack_unclass=Äðóãîé
edit_details=Ïàðàìåòðû Ïàêåòà
index_ftp=ftp èëè http URL
do_details=Ïàðàìåòðû Ïàêåòà
debian_downgrade=Çàìåíèòü íîâûé ïàêåò áîëåå ñòàðûì?
list_status=Ñîñòîÿíèå
file_pack=Ïàêåò
rpm_eroot=Êîðíåâîé êàòàëîã '$1' íå ñóùåñòâóåò
edit_title=Ðåäàêòèðîâàíèå Ïàêåòà
edit_desc=Îïèñàíèå
edit_arch=Àðõèòåêòóðà
search_none=Íåò
do_success=Ïàêåò $1 óñòàíîâëåí óñïåøíî
delete_epack=Ïàêåò $1 íå ñóùåñòâóåò
index_title=Ïðîãðàììíûå Ïàêåòû
do_title=Óñòàíîâêà Ïàêåòà
index_close=Ñâåðíóòü Âñå
edit_pack=Ïàêåò
do_efailed=Îøèáêà ïðè óñòàíîâêå : $1 
file_link=Ññûëêà íà
edit_return=ïàðàìåòðû ïàêåòà
file_path=Ïóòü
file_group=Ãðóïïà
pkgadd_eroot=Êîðíåâîé êàòàëîã '$1' íå ñóùåñòâóåò
index_installmsg=Âûáåðèòå ìåñòî äëÿ óñòàíîâêè íîâîãî ïàêåòà $1 èç..
edit_uninst=Óäàëåíèå
install_eurl=Íåèñ÷åðïûâàþùèé URL '$1'
list_path=Ïóòü
delete_rusure=Âû óâåðåíû, ÷òî âû õîòèòå óäàëèòü ïàêåò $1 ? $2 ôàéëîâ ($3 áàéò) áóäóò óäàëåíû áåçâîçâðàòíî.
rpm_excludedocs=Óñòàíîâèòü äîêóìåíòàöèþ?
install_elocal=Íå äàí ëîêàëüíûé ôàéë
rpm_root=Êîðíåâîé êàòàëîã
list_files=Ôàéëû äëÿ Ïàêåòà $1
index_identok=Èñêàòü:
install_eupload=Âàø áðàóçåð íå ïîääåðæèâàíò çàãðóçêó ôàéëîâ
file_none=Íåò
install_elocal2='$1' íå ñóùåñòâóåò
   070701000425ef000081a40000000000000002000000013d1fe2cd00000e4e000000200000000000000000000000000000001a00000003reloc/software/lang/ru_SU index_title=ðÒÏÇÒÁÍÍÎÙÅ ðÁËÅÔÙ
index_installed=õÓÔÁÎÏ×ÌÅÎÎÙÅ ðÁËÅÔÙ
index_close=ó×ÅÒÎÕÔØ ÷ÓÅ
index_open=òÁÚ×ÅÒÎÕÔØ ÷ÓÅ
index_search=ðÏÉÓË ðÁËÅÔÁ:
index_install=õÓÔÁÎÏ×ËÁ îÏ×ÏÇÏ ðÁËÅÔÁ
index_installmsg=÷ÙÂÅÒÉÔÅ ÍÅÓÔÏ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÎÏ×ÏÇÏ ÐÁËÅÔÁ $1 ÉÚ..
index_local=ìÏËÁÌØÎÏÇÏ ÆÁÊÌÁ
index_uploaded=úÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ
index_ftp=ftp ÉÌÉ http URL
index_installok=õÓÔÁÎÏ×ÉÔØ
index_ident=éÄÅÎÔÉÆÉÃÉÒÏ×ÁÔØ æÁÊÌ
index_identmsg=÷×ÅÄÉÔÅ ËÏÍÁÎÄÕ ÉÌÉ ÐÕÔÅ×ÏÅ ÉÍÑ ÆÁÊÌÁ ÄÌÑ ÅÇÏ ÐÏÉÓËÁ × ÂÁÚÅ ÄÁÎÎÙÈ $1.
index_identok=éÓËÁÔØ:
index_return=ÓÐÉÓÏË ÐÁËÅÔÏ×

search_title=ðÏÉÓË ðÁËÅÔÏ×
search_nomatch=îÅÔ ÐÁËÅÔÏ× ÓÏ×ÐÁÄÁÀÝÉÈ Ó $1
search_none=îÅÔ
search_desc=ïÐÉÓÁÎÉÅ
search_class=ëÌÁÓÓ
search_pack=ðÁËÅÔ
search_match=ðÁËÅÔÙ ÓÏ×ÐÁÄÁÀÝÉÅ Ó $1

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÁËÅÔÁ
edit_details=ðÁÒÁÍÅÔÒÙ ðÁËÅÔÁ
edit_desc=ïÐÉÓÁÎÉÅ
edit_pack=ðÁËÅÔ
edit_class=ëÌÁÓÓ
edit_none=îÅÔ
edit_ver=÷ÅÒÓÉÑ
edit_vend=ðÏÓÔÁ×ÝÉË
edit_arch=áÒÈÉÔÅËÔÕÒÁ
edit_inst=õÓÔÁÎÏ×ÌÅÎ
edit_list=ðÒÏÓÍÏÔÒ æÁÊÌÏ×
edit_uninst=õÄÁÌÅÎÉÅ
edit_return=ÐÁÒÁÍÅÔÒÙ ÐÁËÅÔÁ

list_title=æÁÊÌÙ ðÁËÅÔÁ
list_files=æÁÊÌÙ ÄÌÑ ðÁËÅÔÁ $1
list_path=ðÕÔØ
list_owner=÷ÌÁÄÅÌÅÃ
list_group=çÒÕÐÐÁ
list_type=ôÉÐ
list_size=òÁÚÍÅÒ
list_status=óÏÓÔÏÑÎÉÅ

delete_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÐÁËÅÔÁ $1
delete_epack=ðÁËÅÔ $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
delete_title=õÄÁÌÅÎÉÅ ðÁËÅÔÁ
delete_rusure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÐÁËÅÔ $1 ? $2 ÆÁÊÌÏ× ($3 ÂÁÊÔ) ÂÕÄÕÔ ÕÄÁÌÅÎÙ ÂÅÚ×ÏÚ×ÒÁÔÎÏ.
delete_ok=õÄÁÌÉÔØ

file_title=éÎÆÏÒÍÁÃÉÑ Ï æÁÊÌÅ
file_notfound=îÅÔ ÉÎÆÏÒÍÁÃÉÉ Ï $1
file_path=ðÕÔØ
file_type=ôÉÐ
file_perms=ðÒÁ×Á
file_owner=÷ÌÁÄÅÌÅÃ
file_group=çÒÕÐÐÁ
file_size=òÁÚÍÅÒ
file_link=óÓÙÌËÁ ÎÁ
file_pack=ðÁËÅÔ
file_class=ëÌÁÓÓ
file_desc=ïÐÉÓÁÎÉÅ
file_none=îÅÔ

install_err=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÐÁËÅÔÁ
install_elocal=îÅ ÄÁÎ ÌÏËÁÌØÎÙÊ ÆÁÊÌ
install_elocal2='$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
install_eupload=÷ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÎÔ ÚÁÇÒÕÚËÕ ÆÁÊÌÏ×
install_eurl=îÅÉÓÞÅÒÐÙ×ÁÀÝÉÊ URL '$1'
install_edir=îÅ×ÅÒÎÙÊ ËÁÔÁÌÏÇ $1
install_ezip=îÅ×ÅÒÎÙÊ compress ÉÌÉ gzip ÆÁÊÌ $1
install_efile=îÅ×ÅÒÎÙÊ ÆÁÊÌ $1
install_title=õÓÔÁÎÏ×ËÁ ðÁËÅÔÁ
install_header=õÓÔÁÎÏ×ËÁ ÐÁËÅÔÁ
install_packs=ðÁËÅÔÙ ÄÌÑ ÕÓÔÁÎÏ×ËÉ
install_ok=õÓÔÁÎÏ×ÉÔØ

do_err=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ ÐÁËÅÔÁ $1
do_title=õÓÔÁÎÏ×ËÁ ðÁËÅÔÁ
do_efailed=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ : $1 
do_efailedmsg1=÷Ù ÍÏÖÅÔÅ ÐÏÐÙÔÁÔØÓÑ ÐÒÏ×ÅÓÔÉ ÕÓÔÁÎÏ×ËÕ ÓÎÏ×Á, ×ÅÒÎÕ×ÛÉÓØ ÎÁ ÐÒÅÄÙÄÕÝÕÀ ÓÔÒÁÎÉÃÕ ×ÙÂÒÁ× ÄÒËÇÉÅ ÕÓÔÁÎÏ×ÏÞÎÙÅ ÐÁÒÁÍÅÔÒÙ.
do_efailedmsg2=éÎÁÞÅ <a href='$1'>ÎÁÖÍÉÔÅ ÓÀÄÁ ÄÌÑ ÕÄÁÌÅÎÉÑ ×ÒÅÍÅÎÎÏÇÏ ÆÁÊÌÁ ÐÁËÅÔÁ</a>, ÞÔÏÂÙ ÏÎ ÎÅ ÚÁÎÉÍÁÌ ÍÅÓÔÁ ÎÁ ÄÉÓËÅ.
do_success=ðÁËÅÔ $1 ÕÓÔÁÎÏ×ÌÅÎ ÕÓÐÅÛÎÏ
do_details=ðÁÒÁÍÅÔÒÙ ðÁËÅÔÁ
do_class=ëÌÁÓÓ
do_desc=ïÐÉÓÁÎÉÅ
do_pack=ðÁËÅÔ
do_ver=÷ÅÒÓÉÑ
do_vend=ðÏÓÔÁ×ÝÉË
do_arch=áÒÈÉÔÅËÔÕÒÁ
do_inst=õÓÔÁÎÏ×ÌÅÎ
do_none=îÅÔ
do_files=æÁÊÌÙ ðÁËÅÔÁ

pkgadd_unknown=îÅÉÚ×ÅÓÔÅÎ
pkgadd_root=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ
pkgadd_eroot=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

rpm_upgrade=ïÂÎÏ×ÉÔØ ÐÁËÅÔ?
rpm_replacepkgs=ðÅÒÅÐÉÓÁÔØ ÐÁËÅÔ?
rpm_nodeps=éÇÎÏÒÉÒÏ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ?
rpm_oldpackage=úÁÍÅÎÉÔØ ÎÏ×ÕÀ ×ÅÒÓÉÀ ÓÔÁÒÏÊ?
rpm_noscripts=éÓÐÏÌÎÉÔØ ÉÎÓÔÁÌÌÑÃÉÏÎÎÙÅ ÓÃÅÎÁÒÉÉ?
rpm_excludedocs=õÓÔÁÎÏ×ÉÔØ ÄÏËÕÍÅÎÔÁÃÉÀ?
rpm_replacefiles=ðÅÒÅÐÉÓÁÔØ ÆÁÊÌÙ?
rpm_root=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ
rpm_eroot=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ

bsd_unknown=îÅÉÚ×ÅÓÔÅÎ
bsd_scripts=÷ÙÐÏÌÎÑÔØ ÄÏ É ÐÏÓÌÅ-ÉÎÓÔÁÌÌÑÃÉÏÎÎÙÅ ÓÃÅÎÁÒÉÉ?
bsd_force=æÏÒÓÉÒÏ×ÁÔØ ÕÓÔÁÎÏ×ËÕ, ÄÁÖÅ ÅÓÌÉ ÎÅÔ ÎÅÏÂÈÏÄÉÍÙÈ ÕÓÌÏ×ÉÊ?

slack_unclass=äÒÕÇÏÊ
slack_unknown=îÅÉÚ×ÅÓÔÅÎ
slack_missing=ðÏÔÅÒÑÎ
slack_root=ëÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ
slack_eroot=îÅ ××ÅÄÅÎ ÉÌÉ ÎÅ×ÅÒÎÙÊ ËÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ

debian_unknown=îÅÉÚ×ÅÓÔÅÎ
debian_depends=éÇÎÏÒÉÒÏ×ÁÔØ ÐÒÏÂÌÅÍÙ Ó ÚÁ×ÉÓÉÍÏÓÔÑÍÉ?
debian_conflicts=éÇÎÏÒÉÒÏ×ÁÔØ ËÏÎÆÌÉËÔÙ ÐÁËÅÔÏ×?
debian_overwrite=ðÅÒÅÐÉÓÙ×ÁÔØ ÆÁÊÌÙ ÉÚ ÄÒÕÇÉÈ ÐÁËÅÔÏ×?
debian_downgrade=úÁÍÅÎÉÔØ ÎÏ×ÙÊ ÐÁËÅÔ ÂÏÌÅÅ ÓÔÁÒÙÍ?

  070701000425f0000081a40000000000000002000000013d1fe2cd0000169d000000200000000000000000000000000000001700000003reloc/software/lang/sv    index_title=Programpaket
index_installed=Installerade paket
index_close=Stäng allt
index_open=Öppna allt
index_search=Sök efter paket:
index_install=Installera ett nytt paket
index_installmsg=Välj varifrån du vill installera det nya paketet <tt>$1</tt>:
index_local=Från lokal fil
index_uploaded=Från nedladdad fil
index_ftp=Från ftp eller http, URL
index_installok=Installera
index_ident=Identifiera en fil
index_identmsg=Ange kommando eller sökvägen till en fil som systemet ska söka efter i databasen <tt>$1</tt>.
index_identok=Sök efter:
index_return=paketlista

search_title=Paketsökning
search_nomatch=Inget paket stämde med $1
search_none=Inget
search_desc=Beskrivning
search_class=Klass
search_pack=Paket
search_match=Paket som stämmer med $1
search_return=sökresultat

edit_title=Ändra paket
edit_details=Uppgifter om paket
edit_desc=Beskrivning
edit_pack=Paket
edit_class=Klass
edit_none=Ingen
edit_ver=Version
edit_vend=Leverantör
edit_arch=Arkitektur
edit_inst=Installerat
edit_list=Lista filer
edit_uninst=Avinstallera
edit_return=uppgifter om paket

list_title=Paketfiler
list_files=Filer tillhörande paket $1
list_path=Sökväg
list_owner=Ägare
list_group=Grupp
list_type=Typ
list_size=Storlek
list_status=Status

delete_err=Det gick inte att ta bort paket $1
delete_epack=Paket $1 finns inte
delete_title=Ta bort paket
delete_rusure=Vill du verkligen ta bort paket $1? Upp till $2 filer ($3 bytes) kommer att raderas permanent.
delete_ok=Ta bort

file_title=Filinformation
file_notfound=Det finns ingen tillgänglig information om $1
file_path=Sökväg
file_type=Typ
file_perms=Rättigheter
file_owner=Ägare
file_group=Grupp
file_size=Storlek
file_link=Länk till
file_pack=Paket
file_class=Klass
file_desc=Beskrivning
file_none=Ingen

install_err=Det gick inte att installera paketet
install_elocal=Du har inte angivit någon lokal fil
install_elocal2='$1' finns inte
install_eupload=Din browser stödjer inte nedladdning av filer
install_eurl=URL:en '$1' är obegriplig
install_edir=Inte en giltig $1-katalog
install_ezip=Inte en giltig komprimerad eller gzippad $1-fil
install_efile=Inte en giltig $1-fil
install_title=Installera paket
install_header=Installera paket
install_packs=Paket som ska installeras
install_ok=Installera

do_err=Det gick inte att installera paket $1
do_title=Installera paket
do_efailed=Installationen misslyckades: $1
do_efailedmsg1=Du kan försöka att göra om installationen genom att gå tillbaka till föregående sida och ändra installationsinställningarna.
do_efailedmsg2=Annars kan du <a href='$1'>klicka här</a> för att radera den temporära paketfilen för att spara diskutrymme.
do_success=Paket $1 har installerats
do_details=Uppgifter om paket
do_desc=Beskrivning
do_class=Klass
do_pack=Paket
do_ver=Version
do_vend=Leverantör
do_arch=Arkitektur
do_inst=Installerat
do_none=Inget
do_files=Paketfiler

pkgadd_root=Rotkatalog
pkgadd_eroot=Rotkatalog '$1' finns inte
pkgadd_unknown=Okänd

rpm_upgrade=Uppgradera paket?
rpm_replacepkgs=Skriva över paket?
rpm_nodeps=Strunta i beroenden?
rpm_oldpackage=Byta ut en ny version mot en äldre?
rpm_noscripts=Utföra installationsscript?
rpm_excludedocs=Installera dokumentation?
rpm_replacefiles=Skriva över filer?
rpm_root=Rotkatalog
rpm_eroot=Rotkatalog '$1' finns inte

bsd_unknown=Okänd
bsd_scripts=Utföra pre- och postinstallationsscript?
bsd_force=Driva igenom installation även om nödvändiga förutsättningar ej är uppfyllda?

slack_unclass=Övrig
slack_unknown=Okänd
slack_missing=Saknas
slack_root=Rotkatalog
slack_eroot=Rotkatalog saknas eller är felaktigt angiven

debian_unknown=Okänd
debian_depends=Strunta i beroendeproblem?
debian_conflicts=Strunta i paketkonflikter?
debian_overwrite=Skriva över filer från andra paket?
debian_downgrade=Byta ut nyare paket mot äldre?

log_install_package=Installerade paket $1
log_install_apt_l=Installerade paket $1 från APT
log_install_apt=Installerade $2 paket från APT
log_check_apt_l=Uppgraderade paket $1 från APT
log_check_apt=Uppgraderade $2 paket från APT
log_delete=Avinstallerade paket $1

rhn_input=Paket från Redhat Network
rhn_install=Installerar paket med kommando $1 ...
rhn_ok=... installationen klar.
rhn_failed=... installationen misslyckades!
rhn_title=Ange RHN-paket
rhn_pack=Paket
rhn_version=Version
rhn_form=inställningar för Redhat Network
rhn_auto=Kontrollera automatiskt om uppgraderingar finns?
rhn_interval=Kontrollintervall
rhn_secs=sekunder
rhn_apply=Spara och ta i drift
rhn_now=Spara och kontrollera nu
rhn_err=Det gick inte att spara RHN-inställningarna
rhn_einterval=Intervallet saknas eller är felaktigt
rhn_einterval2=Kontrollintervallet måste vara minst 120 sekunder
rhn_check=Kontrollerar om det finns uppdateringar
rhn_checkdesc=Kontrollerar om det finns uppdaterade paket från Redhat Network med hjälp av kommandot $1 ...
rhn_nocheck=... inga paket uppdaterades.
rhn_proxy=Proxyserver-URL för nedladdning
rhn_none=Avslagen
rhn_eproxy=Proxyserver saknas eller är felaktigt angiven
rhn_skip=Hoppa över paket som matchar

apt_input=Paket från Debian APT
apt_install=Installerar paket med kommandot $1 ...
apt_ok=... installationen klar.
apt_failed=... installationen misslyckades!
apt_form=Uppgradera alla paket
apt_update=Synkronisera paketlistan (<tt>update</tt>)
apt_dist=Utför distributionsuppgradering (<tt>upgrade-dist</tt>)
apt_sim=Visa endast vilka paket som borde uppgraderas
apt_apply=Uppgradera nu
apt_upgrade=Uppgradera alla paket
apt_updatedesc=Synkroniserar paketlistan med kommandot $1 ...
apt_updatefailed=... synkroniseringen misslyckades!
apt_updateok=... synkroniseringen klar.
apt_upgradedesc=Uppgraderar alla paket med kommandot $1 ...
apt_upgradedescsim=Simulerar uppgradering av alla paket med kommandot $1 ...
apt_upgradefailed=... uppgraderingen mislyckades!
apt_upgradeok=... uppgraderingen klar.
   070701000425f1000081a40000000000000002000000013d1fe2cd00000e58000000200000000000000000000000000000001700000003reloc/software/lang/tr    index_title=Yazýlým Paketleri
index_installed=Kurulu Paketler
index_close=Hepsini Kapa
index_open=Hepsini Aç
index_search=Paketleri Ara:
index_install=Yeni bir paket kur
index_installmsg=Yeni bir $1 paketi kurmak için bir yer seçiniz..
index_local=Yerel dosyadan
index_uploaded=Yüklenen dosyadan
index_ftp=Ftp ya da http adresinden..
index_installok=Kur
index_ident=Bir dosyayý tanýmla
index_identmsg=$1 veritabaný arama için bir dosya ya da komut yolu giriniz..
index_identok=Ara:
index_return=paket listesi

search_title=Paket Ara
search_nomatch=Eþlenilen paket yok $1
search_none=Hiçbiri
search_desc=Açýklama
search_class=Sýnýf
search_pack=Paket
search_match=Paketler karþýlaþtýrýlýyor $1
search_return=arama sonuçlarý

edit_title=Paketi Deðiþtir
edit_details=Paket Ayrýntýlarý
edit_desc=Açýklama
edit_pack=Paket
edit_class=Sýnýf
edit_none=Hiçbiri
edit_ver=Sürüm
edit_vend=Kurum
edit_arch=Mimari
edit_inst=Tarih
edit_list=Paketteki dosyalarý listele
edit_uninst=Kaldýr
edit_return=paket ayrýntýlarý

list_title=Paket Dosyalarý
list_files=$1 Paketi için Dosyalar
list_path=Yol
list_owner=Sahibi
list_group=Grup
list_type=Tip
list_size=Boyut
list_status=Durum

delete_err=$1 paketinin silinmesinde hata oluþtu
delete_epack=$1 paketi mevcut deðil
delete_title=Paketi Sil
delete_rusure=$1 paketini silmek istediðinizden eminmisiniz? $2 dosyalarý($3 byte) silinecektir.
delete_ok=Sil

file_title=Dosya Bilgisi
file_notfound=$1 hakkýnda ulaþýlabilir bilgi mevcut deðil
file_path=Yol
file_type=Tip
file_perms=Ýzinler
file_owner=Sahibi
file_group=Grubu
file_size=Boyut
file_link=Link 
file_pack=Paket
file_class=Sýnýf
file_desc=Açýklama
file_none=Hiçbiri

install_err=Paket kurulumunda hata oluþtu
install_elocal=Alýnan yerel dosya yok
install_elocal2='$1' mevcut deðil
install_eupload=Tarayýcýnýz dosya yüklemeleri kabul etmemektedir
install_eurl=Anlaþýlmayan URL '$1'
install_edir=Geçerli bir $1 dizini deðil
install_ezip=Geçerli bir sýkýþtýrýlmýþ ya da gziplenmiþ dosya deðil
install_efile=Geçerli bir $1 dosyasý deðil
install_title=Paketi Kur
install_header=Paketi kur
install_packs=Paket(ler) kurulumuþ olmalýdýr
install_ok=Kur

do_err=$1 paketinin kurulmasýnda hata oluþtu
do_title=Paketi Kur
do_efailed=Kurulum hatasý: $1
do_efailedmsg1=Tekrar kurulum için bir önceki sayfaya geri dönüp farkl kurulum seçenekleri seçmelisiniz.
do_efailedmsg2=Olmazsa, disk alaný açmak için <a href='$1'>geçici paket dosyalarýný silmek için burayý týklayýnýz</a>
do_success=$1 paketi baþarýyla kuruldu
do_details=Pakey Ayrýntýlarý
do_desc=Açýklama
do_class=Sýnýf
do_pack=Paket
do_ver=Sürüm
do_vend=Kurum
do_arch=Mimari
do_inst=Kuruldu
do_none=Hiçbiri
do_files=Paket dosyalarý

pkgadd_root=Kök dizini
pkgadd_eroot=Root dizini '$1' mevcut deðil
pkgadd_unknown=Bilinmeyen

rpm_upgrade=Paketleri güncelle?
rpm_replacepkgs=Paketleri üstüne yaz?
rpm_nodeps=Gereklileri yoksay?
rpm_oldpackage=Yni sürümünü eskisiyle deðiþtir?
rpm_noscripts=Kurulum programcýklarýný çalýþtýr?
rpm_excludedocs=Dökümantasyon kurulsun?
rpm_replacefiles=Dosyalarý üzerine yaz?
rpm_root=Root dizini
rpm_eroot=Root dizini $1 mevcut deðil

bsd_unknown=Bilinmeyen
bsd_scripts=Ön ve arka kurulum programcýklarýný çalýþtýr?
bsd_force=Önceden gerekli olan dosyalar yok ise yine de kurulsun?

slack_unclass=Diðeri
slack_unknown=Bilinmeyen
slack_missing=Kayýp
slack_root=Root dizini
slack_eroot=Kayýp ya da yanlýþ root dizini

debian_unknown=Bilinmeyen
debian_depends=Baðýmlýlýk sorunlarýný yoksay?
debian_conflicts=Paket çakýþmalarýný yoksay?
debian_overwrite=Diðer paketlerin dosyalarýný üzerine yaz?
debian_downgrade=Eskisini daha yenisiyle deðiþtir?

log_install_package=$1 paketi kuruldu
log_delete=$1 paketi kaldýrýldý

070701000425f2000081a40000000000000002000000013d1fe2cd00000b00000000200000000000000000000000000000001a00000003reloc/software/lang/zh_CN index_title=Èí¼þ°ü
index_installed=°²×°µÄÈí¼þ°ü
index_close=È«²¿¹Ø±Õ
index_open=È«²¿´ò¿ª
index_search=ËÑË÷Èí¼þ°ü£º
index_install=°²×°ÐÂÈí¼þ°ü
index_installmsg=Ñ¡Ôñ°²×°ÐÂÈí¼þ°ü $1 µÄÎ»ÖÃ..
index_local=´Ó±¾µØÎÄ¼þ
index_uploaded=´ÓÉÏÔØµÄÎÄ¼þ
index_ftp=´Óftp »ò http µÄ URL
index_installok=°²×°
index_ident=±êÊ¶Ò»¸öÎÄ¼þ
index_identmsg=ÊäÈëÃüÁî»òÎÄ¼þµÄÂ·¾¶ÒÔÎªÆäËÑË÷ $1 Êý¾Ý¿â¡£
index_identok=ËÑË÷£º
index_return=Èí¼þ°üÁÐ±í
search_title=Èí¼þ°üËÑË÷
search_nomatch=Ã»ÓÐÈí¼þ°üÆ¥Åä $1
search_none=Ã»ÓÐ
search_desc=ÃèÊö
search_class=Àà
search_pack=Èí¼þ°ü
search_match=Æ¥Åä $1 µÄÈí¼þ°ü
search_return=ËÑË÷½á¹û
edit_title=±à¼­Èí¼þ°ü
edit_details=Èí¼þ°üÏêÇé
edit_desc=ÃèÊö
edit_pack=Èí¼þ°ü
edit_class=Àà
edit_none=ÎÞ
edit_ver=°æ±¾
edit_vend=³§ÉÌ
edit_arch=ÌåÏµ½á¹¹
edit_inst=ÒÑ°²×°
edit_list=±í³öÎÄ¼þ
edit_uninst=Ð¶³ý°²×°
edit_return=Èí¼þ°üÏêÇé
list_title=Èí¼þ°üÎÄ¼þ
list_files=Èí¼þ°ü $1 µÄÎÄ¼þ
list_path=Â·¾¶
list_owner=ËùÓÐÕß
list_group=Ð¡×é
list_type=ÀàÐÍ
list_size=´óÐ¡
list_status=×´Ì¬
delete_err=É¾³ýÈí¼þ°ü $1 Ê§°Ü
delete_epack=Èí¼þ°ü $1 ²»´æÔÚ
delete_title=É¾³ýÈí¼þ°ü
delete_rusure=È·ÊµÒªÉ¾³ýÈí¼þ°ü $1? ´ï $2 ¸öÎÄ¼þ ($3 ×Ö½Ú) ½«ÓÀ¾ÃÉ¾³ý¡£
delete_ok=É¾³ý
file_title=ÎÄ¼þÐÅÏ¢
file_notfound=Ã»ÓÐÓÐ¹Ø $1 µÄÐÅÏ¢
file_path=Â·¾¶
file_type=ÀàÐÍ
file_perms=Ðí¿É
file_owner=ËùÓÐÕß
file_group=Ð¡×é
file_size=´óÐ¡
file_link=Á´½Óµ½
file_pack=Èí¼þ°ü
file_class=Àà
file_desc=ÃèÊö
file_none=ÎÞ
install_err=°²×°Èí¼þ°üÊ§°Ü
install_elocal=Ã»ÓÐ¸ø³ö±¾µØÎÄ¼þ
install_elocal2='$1' ²»´æÔÚ
install_eupload=ä¯ÀÀÆ÷²»Ö§³ÖÎÄ¼þÉÏÔØ¹¦ÄÜ
install_eurl=´íÎóµÄ URL '$1'
install_edir=·Ç·¨Ä¿Â¼ $1
install_ezip=´íÎóµÄÑ¹ËõÎÄ¼þ$1
install_efile=·Ç·¨ÎÄ¼þ $1
install_title=°²×°Èí¼þ°ü
install_header=°²×°Èí¼þ°ü
install_packs=¼´½«°²×°µÄÈí½¨°ü
install_ok=°²×°
do_err=°²×°Èí¼þ°ü $1 Ê§°Ü
do_title=°²×°Èí¼þ°ü
do_efailed=°²×°Ê§°Ü : $1
do_efailedmsg1=¿ÉÒÔ·µ»ØÇ°Ò³Ñ¡Ôñ²»Í¬Ñ¡ÏîÖØÐÂ°²×°
do_efailedmsg2=·ñÔò, <a href='$1'>µã»÷ÕâÀïÉ¾³ýÁÙÊ±ÎÄ¼þ</a>½ÚÊ¡´ÅÅÌ¿Õ¼ä
do_success=Èí¼þ°ü $1 °²×°³É¹¦
do_details=Èí¼þ°üÃ÷Ï¸
do_desc=ÃèÊö
do_class=Àà
do_pack=Èí¼þ°ü
do_ver=°æ±¾
do_vend=³§ÉÌ
do_arch=ÌåÏµ½á¹¹
do_inst=ÒÑ°²×°
do_none=ÎÞ
do_files=Èí¼þ°üÎÄ¼þ
pkgadd_root=¸ùÄ¿Â¼
pkgadd_eroot=¸ùÄ¿Â¼ '$1' ²»´æÔÚ
pkgadd_unknown=Î´Öª
rpm_upgrade=¸üÐÂÈí¼þ°ü£¿
rpm_replacepkgs=¸²¸ÇÈí¼þ°ü£¿
rpm_nodeps=ºöÂÔÒÀÀµÐÔ£¿
rpm_oldpackage=ÓÃ¾É°æ±¾Ìæ»»ÐÂ°æ±¾£¿
rpm_noscripts=Ö´ÐÐ°²×°½Å±¾£¿
rpm_excludedocs=°²×°ÎÄµ²£¿
rpm_replacefiles=¸²¸ÇÎÄ¼þ£¿
rpm_root=¸ùÄ¿Â¼
rpm_eroot=¸ùÄ¿Â¼'$1' ²»´æÔÚ
bsd_unknown=Î´Öª
bsd_scripts=Ö´ÐÐ°²×°Ç°ºÍ°²×°ºó½Å±¾£¿
bsd_force=Èç¹û¶ªÊ§Ç°Ìá£¬Ç¿ÐÐ°²×°£¿
slack_unclass=ÆäËü
slack_unknown=Î´Öª
slack_missing=¶ªÊ§
slack_root=¸ùÄ¿Â¼
slack_eroot=Ã»ÓÐ»ò·Ç·¨µÄ¸ùÄ¿Â¼
debian_unknown=Î´Öª
debian_depends=ºöÂÔÒÀÀµÐÔÎÊÌâ£¿
debian_conflicts=ºöÂÔÈí¼þ°ü³åÍ»£¿
debian_overwrite=¸²¸ÇÆäËüÈí¼þ°üµÄÎÄ¼þ£¿
debian_downgrade=ÓÃ¾ÉÈí¼þ°üÌæ»»ÐÂÈí¼þ°ü£¿
log_install_package=ÒÑ°²×°Èí¼þ°ü $1
log_delete=ÒÑÉ¾³ýÈí¼þ°ü $1
070701000425f3000081a40000000000000002000000013d1fe2cd00000b49000000200000000000000000000000000000001f00000003reloc/software/lang/zh_TW.Big5    index_title=³nÅé®M¥ó
index_installed=¤w¸g¦w¸Ëªº®M¥ó
index_close=Ãö³¬¥þ³¡
index_open=¶}±Ò¥þ³¡
index_search=·j´M®M¥ó:
index_install=¦w¸Ë¤@­Ó·s®M¥ó
index_installmsg=¿ï¾Ü¦w¸Ë·sªº $1 ®M¥óªº­ì©l¦ì¸m...
index_local=±q¥»¦aºÝÀÉ®×
index_uploaded=±q¤W¶ÇªºÀÉ®×
index_ftp=±q FTP ©Î HTTP URL
index_installok=¦w¸Ë
index_ident=«ü»{ÀÉ®×
index_identmsg=¿é¤J¤@­Ó©R¥O©ÎÀÉ®×ªº¸ô®|¥H·j´M $1 ¸ê®Æ®w.
index_identok=§ä´M¥Ø¼Ð:
index_return=®M¥ó¦Cªí

search_title=®M¥ó·j´M
search_nomatch=¨S¦³®M¥ó²Å¦X '$1'
search_none=µL
search_desc=´y­z
search_class=¤ÀÃþ
search_pack=®M¥ó
search_match=®M¥ó²Å¦X '$1'

edit_title=½s¿è®M¥ó
edit_details=½s¿è¸Ô²Ó¸ê®Æ
edit_desc=´y­z
edit_pack=®M¥ó
edit_class=¤ÀÃþ
edit_none=µL
edit_ver=ª©¥»
edit_vend=¼t°Ó
edit_arch=¾Þ§@¥­¥x
edit_inst=¤w¦w¸Ë
edit_list=¦C¥XÀÉ®×
edit_uninst=¸Ñ°£¦w¸Ë
edit_return=®M¥ó¸Ô²Ó¸ê®Æ

list_title=®M¥óÀÉ®×
list_files=®M¥ó $1 ªºÀÉ®×
list_path=¸ô®|
list_owner=¾Ö¦³ªÌ
list_group=¸s²Õ
list_type=Ãþ§O
list_size=¤j¤p
list_status=ª¬ºA

delete_err=µLªk§R°£®M¥ó $1
delete_epack=®M¥ó $1 ¤£¦s¦b
delete_title=§R°£®M¥ó
delete_rusure=±z½T©w­n§R°£®M¥ó $1 ¶Ü? Á`¦@¦³ $2 ­ÓÀÉ®× ($3 ¦ì¤¸²Õ) ±N·|³Q¥Ã»·§R°£.
delete_ok=½T©w§R°£

file_title=ÀÉ®×¸ê°T
file_notfound=¨S¦³Ãö©ó $1 ªºÀÉ®×¸ê°T¦s¦b
file_path=¸ô®|
file_type=Ãþ§O
file_perms=Åv­­
file_owner=¾Ö¦³ªÌ
file_group=¸s²Õ
file_size=¤j¤p
file_link=³sµ²¨ì
file_pack=®M¥ó
file_class=¤ÀÃþ
file_desc=´y­z
file_none=µL

install_err=µLªk¦w¸Ë®M¥ó
install_elocal=¨S¦³´£¨Ñ¥»¦aºÝÀÉ®×
install_elocal2='$1' ¤£¦s¦b
install_eupload=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
install_eurl=µLªk²z¸Ñªº URL '$1'
install_edir=¤£¬O¤@­Ó¦³®Äªº $1 ¥Ø¿ý
install_ezip=¤£¬O¤@­Ó¦³®ÄªºÀ£ÁYÀÉ©Î gzip $1 ÀÉ®×
install_efile=¤£¬O¤@­Ó¦³®Äªº $1 ÀÉ®×
install_title=¦w¸Ë®M¥ó
install_header=¦w¸Ë®M¥ó
install_packs=­n³Q¦w¸Ëªº®M¥ó
install_ok=¦w¸Ë

do_err=µLªk¦w¸Ë®M¥ó $1
do_title=¦w¸Ë®M¥ó
do_efailed=¦w¸Ë¥¢±Ñ: $1
do_efailedmsg1=±z¥i¥H¸ÕµÛ¦^¨ì«e¤@­¶¨Ã¿ï¾Ü¤£¦Pªº¦w¸Ë¿ï¶µ¥H­«·s¦w¸Ë¤@¦¸.
do_efailedmsg2=¤£µMªº¸Ü, <a href='$1'>«ö¤U³o¨à¥H§R°£¼È¦sªº®M¥óÀÉ®×</a>¥H¸`¬ÙºÏºÐªÅ¶¡.
do_success=®M¥ó $1 ¦¨¥\ªº³Q¦w¸Ë
do_details=®M¥ó¸Ô²Ó¸ê®Æ
do_desc=´y­z
do_class=¤ÀÃþ
do_pack=®M¥ó
do_ver=ª©¥»
do_vend=¼t°Ó
do_arch=¾Þ§@¥­¥x
do_inst=¤w¦w¸Ë
do_none=µL
do_files=®M¥óÀÉ®×

pkgadd_root=®Ú¥Ø¿ý
pkgadd_eroot=®Ú¥Ø¿ý '$1' ¤£¦s¦b
pkgadd_unknown=¥¼ª¾

rpm_upgrade=¬O§_­nª@¯Å®M¥ó?
rpm_replacepkgs=¬O§_­n»\¼g®M¥ó?
rpm_nodeps=¬O§_©¿²¤¨Ì¦s©Ê?
rpm_oldpackage=¬O§_¥Î¸ûÂÂªºÀÉ®×¨ú¥N¸û·sªº?
rpm_noscripts=¬O§_°õ¦æ©R¥O´ß«ü¥O½Z?
rpm_excludedocs=¬O§_¦w¸Ë¤å¥ó?
rpm_replacefiles=¬O§_»\¼gÀÉ®×?
rpm_root=®Ú¥Ø¿ý
rpm_eroot=®Ú¥Ø¿ý '$1' ¤£¦s¦b

bsd_unknown=¥¼ª¾
bsd_scripts=¬O§_°õ¦æ ¹w¥ý/«á¸m ªº¦w¸Ë©R¥O½Z?
bsd_force=¦pªG¿ò¥¢¤F«e¸mªº­n¨D, ¬O§_±j¨î¦w¸Ë?

slack_unclass=¨ä¥L
slack_unknown=¥¼ª¾
slack_missing=¿ò¥¢
slack_root=®Ú¥Ø¿ý
slack_eroot=¿ò¥¢©Î¿ù»~ªº®Ú¥Ø¿ý

debian_unknown=¥¼ª¾
debian_depends=¬O§_©¿²¤¨Ì¦s©Ê°ÝÃD?
debian_conflicts=¬O§_©¿²¤®M¥ó½Ä¬ð?
debian_overwrite=¬O§_»\¼g¨Ó¦Û¨ä¥L®M¥óªºÀÉ®×?
debian_downgrade=¬O§_¥Î¸û·sªº®M¥ó¨ú¥N¸ûÂÂªº?

   0707010003b38e000081e40000000000000002000000013d1fe2cf00000886000000200000000000000000000000000000001d00000003reloc/software/list_pack.cgi  #!/usr/local/bin/perl
# list_pack.cgi
# List all the files in some package

require './software-lib.pl';
&ReadParse();
&header($text{'list_title'}, "", "list_pack");
print "<hr>\n";

print "<h3>",&text('list_files', "<tt>$in{'package'}</tt>"),"</h3>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'list_path'}</b></td> ",
      "<td><b>$text{'list_owner'}</b></td> ",
      "<td><b>$text{'list_group'}</b></td> ",
      "<td><b>$text{'list_type'}</b></td> ",
      "<td><b>$text{'list_size'}</b></td> ",
      "<td><b>$text{'list_status'}</b></td> </tr>\n";
$n = &check_files($in{'package'});
for($i=0; $i<$n; $i++) {
	$sz = $files{$i,'size'};
	$ty = $files{$i,'type'};
	print "<tr $cb>\n";
	$ls = "<a href=\"file_info.cgi?file=".&urlize($files{$i,'path'})."\">";
	$le = "</a>";
	if ($ty == 3 || $ty == 4) {
		print "<td valign=top>$ls",&html_escape($files{$i,'path'}),
		      " -> ",&html_escape($files{$i,'link'}),"$le</td>\n";
		print "<td><br></td> <td><br></td>\n";
		}
	else {
		print "<td valign=top><table width=100% cellpadding=0 ",
		      "cellspacing=0><tr><td>$ls",
		      &html_escape($files{$i,'path'}),
		      "$le</td> <td align=right>\n";
		if ($ty == 0 || $ty == 5) {
			print "<a href='view.cgi",
				&html_escape($files{$i,'path'}),
				"'>$text{'list_view'}</a>";
			}
		print "</td></tr>","</table></td>\n";
		print "<td valign=top>",
			&html_escape($files{$i,'user'}),"</td>\n";
		print "<td valign=top>",
			&html_escape($files{$i,'group'}),"</td>\n";
		}
	print "<td valign=top>$type_map[$ty]</td>\n";
	if ($ty != 0) { $sz = "<br>"; }
	elsif ($sz > 1000000) { $sz = sprintf "%d MB", $sz/1000000; }
	elsif ($sz > 1000) { $sz = sprintf "%d kB", $sz/1000; }
	else { $sz .= " B"; }
	print "<td valign=top>$sz</td>\n";
	$err = $files{$i,'error'};
	if ($err) {
		$err =~ s/</&lt;/g;
		$err =~ s/>/&gt;/g;
		$err =~ s/\n/<br>/g;
		print "<td valign=top><font color=#ff0000>$err</font></td>\n";
		}
	else { print "<td valign=top>$text{'list_ok'}</td>\n"; }
	print "</tr>\n";
	}
print "</table><p>\n";

print "<hr>\n";
&footer("edit_pack.cgi?package=".&urlize($in{'package'}), $text{'edit_return'},
	"tree.cgi", $text{'index_treturn'});

  0707010003b38f000081a40000000000000002000000013d1fe2cf00000376000000200000000000000000000000000000001d00000003reloc/software/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'software-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'install') {
	return &text("log_install_package", "<tt>$object</tt>");
	}
elsif ($action eq 'apt') {
	local @p = split(/\0/, $p->{'packages'});
	return &text($long || @p < 2 ? "log_${type}_apt_l" : "log_${type}_apt",
		     "<tt>".join(" ",@p)."</tt>", scalar(@p));
	}
elsif ($action eq 'rhn') {
	local @p = @{$p->{'packages'}};
	return &text($long || @p < 2 ? "log_${type}_rhn_l" : "log_${type}_rhn",
		     "<tt>".join(" ",@p)."</tt>", scalar(@p));
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
else {
	return undef;
	}
}

  0707010003b390000081a40000000000000002000000013d1fe2ea0000040b000000200000000000000000000000000000001b00000003reloc/software/module.info    desc_ru_SU=íÅÎÅÄÖÅÒ ðï
risk=high
desc_ko_KR.euc=¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö
desc_zh_TW.Big5=³nÅé®M¥ó
desc_pl=Pakiety oprogramowania
desc_de=Softwarepakete
name=PackageAdmin
desc_zh_CN=Èí¼þ°ü
desc_pt=Pacotes de Software
category=system
desc_tr=Yazýlým Paketleri
os_support=solaris redhat-linux mandrake-linux suse-linux hpux open-linux openserver unixware freebsd/3.0 freebsd/3.1 freebsd/3.2 freebsd/3.3 freebsd/3.4 freebsd/3.5 freebsd/4.0 freebsd/4.1 freebsd/4.2 freebsd/4.3 freebsd/4.4 freebsd/4.5 freebsd/4.6 slackware-linux/4.0 slackware-linux/7.0 slackware-linux/7.1 slackware-linux/8.0 slackware-linux/8.1 debian-linux/2.0 debian-linux/2.1 debian-linux/2.2 debian-linux/3.0 turbo-linux openbsd corel-linux cobalt-linux freebsd/5.0 netbsd msc-linux aix gentoo-linux
desc=Software Packages
desc_es=Paquetes de Software
desc_sv=Programpaket
desc_fr=Composants Logiciels
desc_cz=Softwarove balicky
desc_ja_JP.euc=¥½¥Õ¥È¥¦¥§¥¢ ¥Ñ¥Ã¥±¡¼¥¸
depends=0.990
version=0.990
desc_hu=Szoftver csomagok
desc_ca=Paquets de Programari
desc_ru_RU=Ìåíåäæåð ÏÎ
 0707010003b391000081e40000000000000002000000013d1fe2cf000000fc000000200000000000000000000000000000001800000003reloc/software/open.cgi   #!/usr/local/bin/perl
# open.cgi
# Add some class to the open list

require './software-lib.pl';
&ReadParse();
open(HEIROPEN, ">> $module_config_directory/heiropen");
print HEIROPEN "$in{'what'}\n";
close(HEIROPEN);
&redirect("tree.cgi#$in{'what'}");

0707010003b392000081e40000000000000002000000013d1fe2cf000001ab000000200000000000000000000000000000001b00000003reloc/software/openall.cgi    #!/usr/local/bin/perl
# openall.cgi
# Add all classes to the open list

require './software-lib.pl';
open(HEIROPEN, "> $module_config_directory/heiropen");
$n = &list_packages();
for($i=0; $i<$n; $i++) {
	@w = split(/\//, $packages{$i,'class'});
	for($j=0; $j<@w; $j++) {
		push(@list, join('/', @w[0..$j]));
		}
	}
@list = &unique(@list);
foreach $c (@list) { print HEIROPEN "$c\n"; }
close(HEIROPEN);
&redirect("tree.cgi");

 0707010003b393000081a40000000000000002000000013d1fe2cd00001207000000200000000000000000000000000000001e00000003reloc/software/openbsd-lib.pl # openbsd-lib.pl
# Functions for OpenBSD package management

use POSIX;
chop($system_arch = `uname -m`);
$package_dir = "/var/db/pkg";

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
local $i = 0;
local $arg = @_ ? join(" ", @_) : "-a";
open(PKGINFO, "pkg_info -I $arg |");
while(<PKGINFO>) {
	if (/^(\S+)\s+(.*)/) {
		$packages{$i,'name'} = $1;
		$packages{$i,'class'} = "";
		$packages{$i,'desc'} = $2;
		$i++;
		}
	}
close(PKGINFO);
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local $out = `pkg_info $_[0] 2>&1`;
return () if ($?);
local @rv = ( $_[0] );
push(@rv, "");
push(@rv, $out =~ /Description:\n([\0-\177]*\S)/i ? $1 : $text{'bsd_unknown'});
push(@rv, $system_arch);
push(@rv, $_[0] =~ /-([^\-]+)$/ ? $1 : $text{'bsd_unknown'});
push(@rv, "OpenBSD");
local @st = stat("$package_dir/$_[0]");
push(@rv, @st ? ctime($st[9]) : $text{'bsd_unknown'});
return @rv;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group mode size error
sub check_files
{
local $i = 0;
local $file;
open(PKGINFO, "pkg_info -L $_[0] |");
while($file = <PKGINFO>) {
	$file =~ s/\r|\n//g;
	next if ($file !~ /^\//);
	local @st = stat($file);
	$files{$i,'path'} = $file;
	$files{$i,'type'} = -l $file ? 3 :
			    -d $file ? 1 : 0;
	$files{$i,'user'} = getpwuid($st[4]);
	$files{$i,'group'} = getgrgid($st[5]);
	$files{$i,'mode'} = sprintf "%o", $st[2] & 07777;
	$files{$i,'size'} = $st[7];
	$files{$i,'link'} = readlink($file);
	$i++;
	}
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local (%packages, $file, $i, @pkgin);
local $n = &list_packages();
for($i=0; $i<$n; $i++) {
	open(PKGINFO, "pkg_info -L $packages{$i,'name'} |");
	while($file = <PKGINFO>) {
		$file =~ s/\r|\n//g;
		if ($file eq $_[0]) {
			# found it
			push(@pkgin, $packages{$i,'name'});
			}
		}
	close(PKGINFO);
	}
if (@pkgin) {
	local @st = stat($_[0]);
	$file{'path'} = $_[0];
	$file{'type'} = -l $_[0] ? 3 :
			-d $_[0] ? 1 : 0;
	$file{'user'} = getpwuid($st[4]);
	$file{'group'} = getgrgid($st[5]);
	$file{'mode'} = sprintf "%o", $st[2] & 07777;
	$file{'size'} = $st[7];
	$file{'link'} = readlink($_[0]);
	$file{'packages'} = join(" ", @pkgin);
	return 1;
	}
else {
	return 0;
	}
}

# is_package(file)
sub is_package
{
local ($desc, $contents);
open(TAR, "gunzip -c $_[0] | tar tf - |");
while(<TAR>) {
	$desc++ if (/^\+DESC/);
	$contents++ if (/^\+CONTENTS/);
	}
close(TAR);
return $desc && $contents;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local $temp = &tempname();
mkdir($temp, 0700);
system("cd $temp ; gunzip -c $_[0] | tar xf - +CONTENTS +COMMENT >/dev/null 2>&1");
local ($comment, $name);
open(COMMENT, "$temp/+COMMENT");
($comment = <COMMENT>) =~ s/\r|\n//g;
close(COMMENT);
open(CONTENTS, "$temp/+CONTENTS");
while(<CONTENTS>) {
	$name = $1 if (/^\@name\s+(\S+)/);
	}
close(CONTENTS);
unlink("$temp/+COMMENT", "$temp/+CONTENTS");
rmdir($temp);
return ( "$name $comment" );
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
print "<tr> <td><b>$text{'bsd_scripts'}</b></td>\n";
print "<td><input type=radio name=scripts value=0 checked> $text{'yes'}\n";
print "<input type=radio name=scripts value=1> $text{'no'}</td>\n";

print "<td><b>$text{'bsd_force'}</b></td>\n";
print "<td><input type=radio name=force value=1> $text{'yes'}\n";
print "<input type=radio name=force value=0 checked> $text{'no'}</td> </tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
local $in = $_[2] ? $_[2] : \%in;
local $args = ($in->{"scripts"} ? " -I" : "").
	      ($in->{"force"} ? " -f" : "");
local $out = &backquote_logged("pkg_add $args $_[0] 2>&1");
if ($?) {
	return "<pre>$out</pre>";
	}
return undef;
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
local $out = &backquote_logged("pkg_delete $_[0] 2>&1");
if ($?) { return "<pre>$out</pre>"; }
return undef;
}

sub package_system
{
return &text('bsd_manager', "OpenBSD");
}

sub package_help
{
return "pkg_add pkg_info pkg_delete";
}

1;
 0707010003b394000081a40000000000000002000000013d1fe2cd0000198d000000200000000000000000000000000000001d00000003reloc/software/pkgadd-lib.pl  # pkgadd-lib.pl
# Functions for solaris package management

&foreign_require("proc", "proc-lib.pl");

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
local($_, $list, $i); $i = 0;
$list = join(' ', @_);
open(PKGINFO, "pkginfo $list |");
while(<PKGINFO>) {
	last if (/The following software/i);
	if (/^(\S+)\s+(\S+)\s+(.*)$/) {
		$packages{$i,'name'} = $2;
		$packages{$i,'class'} = $1;
		$packages{$i,'desc'} = $3;
		$i++;
		}
	}
close(PKGINFO);
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local($out, @rv);
$out = `pkginfo -l $_[0] 2>&1`;
if ($out =~ /^ERROR:/) { return (); }
push(@rv, $_[0]);
push(@rv, $out =~ /CATEGORY:\s+(.*)\n/ ? $1 : "");
push(@rv, $out =~ /DESC:\s+(.*)\n/ ? $1 :
	  $out =~ /NAME:\s+(.*)\n/ ? $1 : $_[0]);
push(@rv, $out =~ /ARCH:\s+(.*)\n/ ? $1 : $text{'pkgadd_unknown'});
push(@rv, $out =~ /VERSION:\s+(.*)\n/ ? $1 : $text{'pkgadd_unknown'});
push(@rv, $out =~ /VENDOR:\s+(.*)\n/ ? $1 : $text{'pkgadd_unknown'});
push(@rv, $out =~ /INSTDATE:\s+(.*)\n/ ? $1 : $text{'pkgadd_unknown'});
return @rv;
}

# is_package(file)
# Tests if some file is a valid package file
sub is_package
{
local ($ph, $ppid) = &foreign_call("proc", "pty_process_exec",
				   "pkgadd -d $_[0]");
$rv = &wait_for($ph, 'ERROR', 'Select package|more choices');
close($ph);
return $rv;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
local ($ph, $ppid) = &foreign_call("proc", "pty_process_exec",
				   "pkgadd -d $_[0]");
&wait_for($ph, 'available:');
while($rv = &wait_for($ph, 'Select package',
			   '\r?\n\s+(\d+)\s+(\S+)\s+(.*)\r?\n',
			   'more choices.*:')) {
        if ($rv == 1) { push(@rv, "$matches[2] $matches[3]"); }
        else { &sysprint($ph, "\n"); }
	}
close($ph);
return @rv;
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
print "<tr> <td>",&hlink("<b>$text{'pkgadd_root'}</b>","root"),"</td>\n";
print "<td colspan=3><input name=root size=30 value=/>\n";
print &file_chooser_button("root", 1); print "</td> </tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
local(@opts, %seen, $wf, $rv, $old_input);
local $in = $_[2] ? $_[2] : \%in;
if ($in->{'root'} =~ /^\/.+/) {
	if (!(-d $in->{'root'})) { &error(&text('pkgadd_eroot', $in->{'root'})); }
	@opts = ("-R", $in->{'root'});
	}
local ($ph, $ppid) = &foreign_call("proc", "pty_process_exec_logged",
				   "pkgadd -d $_[0] ".join(" ",@opts)." $_[1]");
while(1) {
	$wf = &wait_for($ph, '(.*) \[\S+\]',
			     'Installation of .* failed',
			     'Installation of .* was successful',
			     'No changes were made to the system');
	if ($wf == 0) {
		# some question which should not have appeared before
		if ($seen{$matches[1]}++) {
			$rv = "<pre>$old_input$wait_for_input</pre>";
			last;
			}
		&sysprint($ph, "y\n");
		}
	elsif ($wf == 1 || $wf == 3 || $wf == -1) {
		# failed for some reason.. give up
		$rv = "<pre>$old_input$wait_for_input</pre>";
		last;
		}
	elsif ($wf == 2) {
		# done ok!
		$rv = undef;
		last;
		}
	$old_input = $wait_for_input;
	}
close($ph);
return $rv;
}


# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group mode size error
sub check_files
{
local($i, %errs, $curr, $line, %file);
undef(%files);
$chk = `pkgchk -n $_[0] 2>&1`;
while($chk =~ /^(\S+): (\S+)\n((\s+.*\n)+)([\0-\177]*)$/) {
	if ($1 eq "ERROR") { $errs{$2} = $3; }
	$chk = $5;
	}

open(CHK, "pkgchk -l $_[0] 2>&1 |");
FILES: for($i=0; 1; $i++) {
	# read one package
	$curr = "";
	while(1) {
		if (!($line = <CHK>)) { last FILES; }
		if ($line =~ /Current status/) { $line = <CHK>; last; }
		$curr .= $line;
		}

	# extract information
	&parse_pkgchk($curr);
	foreach $k (keys %file) { $files{$i,$k} = $file{$k}; }
	$files{$i,'error'} = $errs{$files{$i,'path'}};
	}
close(CHK);
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
$temp = &tempname();
open(TEMP, "> $temp");
print TEMP "$_[0]\n";
close(TEMP);

$out = `pkgchk -l -i $temp 2>&1`;
unlink($temp);
if ($out =~ /\S/) {
	&parse_pkgchk($out);
	return 1;
	}
else { return 0; }
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
local($ph, $pth, $ppid, $wf, %seen, $old_input);
local ($ph, $ppid) = &foreign_call("proc", "pty_process_exec_logged",
				   "pkgrm $_[0]");
if (&wait_for($ph, 'remove this package', 'ERROR')) {
	return "package does not exist";
	}
&sysprint($ph, "y\n");
while(1) {
	$wf = &wait_for($ph, '(.*) \[\S+\]',
			     'Removal of \S+ failed',
			     'Removal of \S+ was successful');
	if ($wf == 0) {
		# some question which should not have appeared before
		if ($seen{$matches[1]}++) {
			$rv = "<pre>$old_input$wait_for_input</pre>";
			last;
			}
		&sysprint($ph, "y\n");
		}
	elsif ($wf == 1) {
		# failed for some reason.. give up
		$rv = "<pre>$old_input$wait_for_input</pre>";
		last;
		}
	elsif ($wf == 2) {
		# done ok!
		$rv = undef;
		last;
		}
	$old_input = $wait_for_input;
	}
close($ph);
return $rv;
}

# parse_pkgchk(output)
# Parse output about one file from pkgchk into the array %file
sub parse_pkgchk
{
undef(%file);
if ($_[0] =~ /Pathname:\s+(.*)/) { $file{'path'} = $1; }
if ($_[0] =~ /Type:\s+(.*)/) {
	$file{'type'} = $1 eq "regular file" ? 0 :
			$1 eq "directory" ? 1 :
			$1 eq "special file" ? 2 :
			$1 eq "symbolic link" ? 3 :
			$1 eq "linked file" ? 4 :
			$1 eq "volatile file" ? 5 :
			$1 eq "editted file" ? 5 :
			$1 eq "edited file" ? 5 :
			-1;
	}
if ($_[0] =~ /Source of link:\s+(\S+)/) { $file{'link'} = $1; }
if ($_[0] =~ /Expected owner:\s+(\S+)/) { $file{'user'} = $1; }
if ($_[0] =~ /Expected group:\s+(\S+)/) { $file{'group'} = $1; }
if ($_[0] =~ /Expected mode:\s+(\S+)/) { $file{'mode'} = $1; }
if ($_[0] =~ /size \(bytes\):\s+(\d+)/) { $file{'size'} = $1; }
if ($_[0] =~ /following packages:\n(((\s+.*\n)|\n)+)/)
	{ $file{'packages'} = join(' ', split(/\s+/, $1)); }
}


sub package_system
{
return $text{'pkgadd_manager'};
}

sub package_help
{
return "pkgadd pkginfo pkgchk pkgrm";
}

1;

   0707010003b3ef000081a40000000000000002000000013d1fe2cf00000cb4000000200000000000000000000000000000001a00000003reloc/software/rhn-lib.pl # rhn-lib.pl
# Functions for installing packages from the redhat network

$up2date_config = "/etc/sysconfig/rhn/up2date";
$rhn_sysconfig = "/etc/sysconfig/rhn/rhnsd";

# update_system_input()
# Returns HTML for entering a package to install
sub update_system_input
{
return "$text{'rhn_input'} <input name=update size=20> <input type=button onClick='window.ifield = document.forms[2].update; chooser = window.open(\"rhn.cgi\", \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=500,height=500\")' value=\"$text{'rhn_find'}\">";
}

# update_system_install()
# Install some package with up2date
sub update_system_install
{
local @rv;
print "<b>",&text('rhn_install', "<tt>up2date $in{'update'}</tt>"),"</b><p>\n";
print "<pre>";
&additional_log('exec', undef, "up2date \"$in{'update'}\"");
open(CMD, "up2date \"$in{'update'}\" 2>&1 |");
while(<CMD>) {
	while(s/^[^\015]+\015([^\012])/$1/) { }
	if (/installing.*\/([^\/\s]+)\-([^\-]+)\-([^\-]+)\.rpm/i) {
		push(@rv, $1);
		}
	print;
	}
close(CMD);
print "</pre>\n";
if ($?) {
	print "<b>$text{'rhn_failed'}</b><p>\n";
	@rv = ( );
	}
else {
	print "<b>$text{'rhn_ok'}</b><p>\n";
	}
return @rv;
}

# update_system_form()
# Show a form for configuring the redhat update agent
sub update_system_form
{
print "<h3>$text{'rhn_form'}</h3>\n";
print "<form action=rhn_check.cgi>\n";
print "<table>\n";

local $auto = &check_on_boot("rhnsd");
print "<tr> <td><b>$text{'rhn_auto'}</b></td>\n";
printf "<td><input type=radio name=auto value=1 %s> %s\n",
	$auto ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=auto value=0 %s> %s</td> </tr>\n",
	$auto ? '' : 'checked', $text{'no'};

local %rhnsd;
&read_env_file($rhn_sysconfig, \%rhnsd);
print "<tr> <td><b>$text{'rhn_interval'}</b></td>\n";
print "<td><input name=interval size=5 value='$rhnsd{'INTERVAL'}'> ",
      "$text{'rhn_secs'}</td> </tr>\n";

local $conf = &read_up2date_config();
print "<tr> <td><b>$text{'rhn_proxy'}</b></td>\n";
printf "<td><input type=radio name=proxy_on value=0 %s> %s\n",
	$conf->{'enableProxy'}->{'value'} ? '' : 'checked', $text{'rhn_none'};
printf "<input type=radio name=proxy_on value=1 %s> %s\n",
	$conf->{'enableProxy'}->{'value'} ? 'checked' : '';
local $prx = $conf->{'pkgProxy'} ? $conf->{'pkgProxy'}->{'value'}
				 : $conf->{'httpProxy'}->{'value'};
printf "<input name=proxy size=40 value='%s'></td> </tr>\n", $prx;

print "<tr> <td valign=top><b>$text{'rhn_skip'}</b></td>\n";
print "<td><textarea name=skip rows=3 cols=40>",
      join("\n", split(/;/, $conf->{'pkgSkipList'}->{'value'})),
      "</textarea></td> </tr>\n";

print "</table>\n";
print "<input type=submit value='$text{'rhn_apply'}'>\n";
print "<input type=submit name=now value='$text{'rhn_now'}'></form>\n";
}

# read_up2date_config()
sub read_up2date_config
{
local %conf;
local $lnum = 0;
open(CONF, $up2date_config);
while(<CONF>) {
	s/\r|\n//g; s/#.*$//;
	if (/^([^=\s]+)=(.*)$/) {
		$conf{$1} = { 'name' => $1,
			      'value' => $2,
			      'line' => $lnum };
		}
	$lnum++;
	}
close(CONF);
return \%conf;
}

# save_up2date_config(&config, name, value)
sub save_up2date_config
{
local $lref = &read_file_lines($up2date_config);
local $old = $_[0]->{$_[1]};
if ($old) {
	$lref->[$old->{'line'}] = "$_[1]=$_[2]";
	}
}

1;

0707010003b3f0000081e40000000000000002000000013d1fe2cf000004f1000000200000000000000000000000000000001700000003reloc/software/rhn.cgi    #!/usr/local/bin/perl
# rhn.cgi
# Display a list of packages available for download from RHN

require './software-lib.pl';
$bgcolor = defined($gconfig{'cs_page'}) ? $gconfig{'cs_page'} : "ffffff";
$link = defined($gconfig{'cs_link'}) ? $gconfig{'cs_link'} : "0000ee";
$text = defined($gconfig{'cs_text'}) ? $gconfig{'cs_text'} : "000000";
&PrintHeader();
print <<EOF;
<html>
<head><title>$text{'rhn_title'}</title>
<script>
function sel(p)
{
window.opener.ifield.value = p;
window.close();
return false;
}
</script>
</head><body bgcolor=#$bgcolor link=#$link vlink=#$link text=#$text>
EOF

$out = `up2date -l 2>&1`;
if ($out =~ /Error Message:/i) {
	print "<pre>$out</pre>\n";
	}
else {
	print "<table width=100%>\n";
	foreach (split(/\n/, $out)) {
		if ($dashes && /^(\S+)\s+(\S+)\s+(\S+)\s*$/) {
			if (!$count++) {
				print "<tr> <td><b>$text{'rhn_pack'}</b></td> ",
				      "<td align=right><b>",
				      "$text{'rhn_version'}</b></td> </tr>\n";
				}
			print "<tr>\n";
			print "<td><a href='' onClick='sel(\"$1\")'>$1</a></td>\n";
			print "<td align=right>$2 - $3</td>\n";
			print "</tr>\n";
			}
		elsif (/^----/) { $dashes++; }
		}
	print "</table>\n";
	if (!$count) {
		print "<b>$text{'rhn_nonefound'}</b><p>\n";
		}
	}
print "</body></html>\n";

   0707010003b3f1000081e40000000000000002000000013d1fe2cf00000738000000200000000000000000000000000000001d00000003reloc/software/rhn_check.cgi  #!/usr/local/bin/perl
# rhn_check.cgi
# Save redhat network checking options

require './software-lib.pl';
&ReadParse();
&error_setup($text{'rhn_err'});
$conf = &read_up2date_config();

# Validate inputs
$in{'interval'} =~ /^\d+$/ || &error($text{'rhn_einterval'});
$in{'interval'} >= 120 || &error($text{'rhn_einterval2'});
!$in{'proxy_on'} && $in{'proxy'} eq '' ||
	$in{'proxy'} =~ /^http:\/\/\S+$/ || &error($text{'rhn_eproxy'});
@skip = split(/\s+/, $in{'skip'});

# Save and apply
&save_up2date_config($conf, "enableProxy", $in{'proxy_on'});
&save_up2date_config($conf, $conf->{'pkgProxy[comment]'} ? "pkgProxy" : "httpProxy", $in{'proxy'});
&save_up2date_config($conf, "pkgSkipList", join(";", @skip).";");
&flush_file_lines();
&read_env_file($rhn_sysconfig, \%rhnsd);
$rhnsd{'INTERVAL'} = $in{'interval'};
&write_env_file($rhn_sysconfig, \%rhnsd);
if ($in{'auto'}) {
	&enable_on_boot("rhnsd");
	}
else {
	&disable_on_boot("rhnsd");
	}
local $init = &init_script("rhnsd");
&system_logged("$init stop >/dev/null 2>&1");
if ($in{'auto'}) {
	&system_logged("$init start >/dev/null 2>&1");
	}

if ($in{'now'}) {
	# Run rhn_check now ..
	$| = 1;
	$theme_no_table++;
	&header($text{'rhn_check'}, "");
	print "<hr>\n";
	print "<b>",&text('rhn_checkdesc', "<tt>up2date -u</tt>"),"</b><p>\n";
	print "<pre>";
	&additional_log('exec', undef, "rhn_check");
	open(CMD, "up2date -u 2>&1 |");
	while(<CMD>) {
		while(s/^[^\015]+\015([^\012])/$1/) { }
		if (/\/([^\/\s]+)\-([^\-]+)\-([^\-]+)\.rpm/i) {
			push(@packs, $1);
			}
		print;
		}
	close(CMD);
	print "</pre>\n";

	@packs || print "<b>$text{'rhn_nocheck'}</b><p>\n";
	foreach $p (@packs) {
		local @pinfo = &show_package_info($p);
		}
	&webmin_log("rhn", "check", undef, { 'packages' => \@packs })
		if (@packs);
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	&redirect("");
	}

0707010003b3f2000081a40000000000000002000000013d1fe2cd00001db8000000200000000000000000000000000000001a00000003reloc/software/rpm-lib.pl # rpm-lib.pl
# Functions for redhat linux package management

# list_packages([package]*)
# Fills the array %packages with all or listed packages
sub list_packages
{
local($i, $list); $i = 0;
$list = @_ ? join(' ', @_) : "-a";
open(RPM, "rpm -q $list --queryformat \"%{NAME}\\n%{VERSION}-%{RELEASE}\\n%{GROUP}\\n%{SUMMARY}\\n\\n\" |");
while($packages{$i,'name'} = <RPM>) {
	chop($packages{$i,'name'});
	chop($packages{$i,'version'} = <RPM>);
	chop($packages{$i,'class'} = <RPM>);
	while(<RPM>) {
		s/\r|\n/ /g;
		last if (!/\S/);
		$packages{$i,'desc'} .= $_;
		}
	$i++;
	}
close(RPM);
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local(@rv, @tmp, $d);
open(RPM, "rpm -q $_[0] --queryformat \"%{NAME}\\n%{GROUP}\\n%{ARCH}\\n%{VERSION}-%{RELEASE}\\n%{VENDOR}\\n%{INSTALLTIME}\\n\" 2>/dev/null |");
@tmp = <RPM>;
chop(@tmp);
if (!@tmp) { return (); }
close(RPM);
open(RPM, "rpm -q $_[0] --queryformat \"%{DESCRIPTION}\" |");
while(<RPM>) { $d .= $_; }
close(RPM);
return ($tmp[0], $tmp[1], $d, $tmp[2], $tmp[3], $tmp[4], &make_date($tmp[5]));
}

# is_package(file)
# Check if some file is a package file
sub is_package
{
local($out);
if (-d $_[0]) {
	# a directory .. see if it contains any .rpm files
	opendir(DIR, $_[0]);
	local @list = grep { /\.rpm$/ } readdir(DIR);
	closedir(DIR);
	return @list ? 1 : 0;
	}
else {
	# just a normal file .. check if it is an RPM and not an SRPM
	$out = `rpm -q -p $_[0] 2>&1`;
	if ($out =~ /does not appear|No such file|with major numbers/i) {
		return 0;
		}
	open(OUT, "rpm -q -p -l $_[0] 2>&1 |");
	while(<OUT>) {
		return 0 if (/^([^\/\s]+)\.spec$/);
		}
	close(OUT);
	return 1;
	}
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
if (-d $_[0]) {
	local @rv;
	open(RPM, "cd $_[0] ; rpm -q -p *.rpm --queryformat \"%{NAME} %{SUMMARY}\\n\" 2>&1 |");
	while(<RPM>) {
		chop;
		push(@rv, $_) if (!/does not appear|query of.*failed/);
		}
	close(RPM);
	return @rv;
	}
else {
	local($out);
	$out = `rpm -q -p $_[0] --queryformat "%{NAME} %{SUMMARY}" 2>&1`;
	return ($out);
	}
}

$wide_install_options = 1;

# install_options(file, package)
# Outputs HTML for choosing install options for some package
sub install_options
{
print "<tr>\n";
print &yesno_input($text{'rpm_upgrade'}, "upgrade", 1, 0, 1);
print &yesno_input($text{'rpm_replacepkgs'}, "replacepkgs", 1, 0);
print "</tr>\n";

print "<tr>\n";
print &yesno_input($text{'rpm_nodeps'}, "nodeps", 1, 0);
print &yesno_input($text{'rpm_oldpackage'}, "oldpackage", 1, 0);
print "</tr>\n";

print "<tr>\n";
print &yesno_input($text{'rpm_noscripts'}, "noscripts", 0, 1);
print &yesno_input($text{'rpm_excludedocs'}, "excludedocs", 0, 1);
print "</tr>\n";

print "<tr>\n";
print &yesno_input($text{'rpm_notriggers'}, "notriggers", 0, 1);
print &yesno_input($text{'rpm_ignoresize'}, "ignoresize", 0, 1);
print "</tr>\n";

print "<tr>\n";
print &yesno_input($text{'rpm_replacefiles'}, "replacefiles", 1, 0);
print "<td align=right>",&hlink("<b>$text{'rpm_root'}</b>","root"),"</td>\n";
print "<td><input name=root size=25 value=\"/\">\n";
print &file_chooser_button("root", 1),"</td> </tr>\n";
}

sub yesno_input
{
local $cy = $_[2] ^ $_[4] ? "" : "checked";
local $cn = $_[3] ^ $_[4] ? "" : "checked";
return  "<td align=right>".&hlink("<b>$_[0]</b>", $_[1])."</td> <td>\n".
	"<input type=radio name=$_[1] value=$_[2] $cy> $text{'yes'}\n".
	"<input type=radio name=$_[1] value=$_[3] $cn> $text{'no'}</td>\n";
}

# install_package(file, package, [&inputs])
# Install the given package from the given file, using options from %in
sub install_package
{
local $file = $_[0];
local $in = $_[2] ? $_[2] : \%in;
foreach $o ('oldpackage', 'replacefiles', 'replacepkgs', 'noscripts',
	    'excludedocs', 'nodeps', 'upgrade', 'notriggers', 'ignoresize') {
	if ($in->{$o}) { $opts .= " --$o"; }
	}
if ($in->{'root'} =~ /^\/.+/) {
	if (!(-d $in{'root'})) {
		return &text('rpm_eroot', $in->{'root'});
		}
	$opts .= " --root $in->{'root'}";
	}
if (-d $file) {
	# Find the package in the directory
	local ($f, $out);
	opendir(DIR, $file);
	while($f = readdir(DIR)) {
		next if ($f !~ /\.rpm$/);
		($out = `rpm -q -p $file/$f --queryformat '%{NAME}' 2>&1`) =~ s/\r|\n//g;
		if ($out eq $_[1]) {
			$file = "$file/$f";
			last;
			}
		}
	closedir(DIR);
	&error(&text('rpm_erpm', $_[1], $out)) if ($file eq $_[0]);
	}
local $temp = &tempname();
local $rv = &system_logged("rpm -i $opts $file >$temp 2>&1");
local $out = `cat $temp`;
unlink($temp);
if ($rv) {
	return "<pre>$out</pre>";
	}
return undef;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group size error
sub check_files
{
local($i, $_, @w, %errs, $epath); $i = 0;
open(RPM, "rpm -V $_[0] |");
while(<RPM>) {
	/^(.{8}) (.) (.*)$/;
	if ($1 eq "missing ") {
		$errs{$3} = $text{'rpm_missing'};
		}
	else {
		$epath = $3;
		@w = grep { $_ ne "." } split(//, $1);
		$errs{$epath} =
			join("\n", map { &text('rpm_checkfail', $etype{$_}) } @w);
		}
	}
close(RPM);
open(RPM, "rpm -q $_[0] -l --dump |");
while(<RPM>) {
	chop;
	@w = split(/ /);
	$files{$i,'path'} = $w[0];
	if ($w[10] ne "X") { $files{$i,'link'} = $w[10]; }
	$files{$i,'type'} = $w[10] ne "X" ? 3 :
			    (-d $w[0]) ? 1 :
			    $w[7] ? 5 : 0;
	$files{$i,'user'} = $w[5];
	$files{$i,'group'} = $w[6];
	$files{$i,'size'} = $w[1];
	$files{$i,'error'} = $w[7] ? "" : $errs{$w[0]};
	$i++;
	}
close(RPM);
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local($pkg, @w, $_);
undef(%file);
$pkg = `rpm -q -f $_[0] --queryformat "%{NAME}\\n" 2>&1`;
if ($pkg =~ /not owned/ || $?) { return 0; }
@pkgs = split(/\n/, $pkg);
open(RPM, "rpm -q $pkgs[0] -l --dump |");
while(<RPM>) {
	chop;
	@w = split(/ /);
	if ($w[0] eq $_[0]) {
		$file{'packages'} = join(' ', @pkgs);
		$file{'path'} = $w[0];
		if ($w[10] ne "X") { $files{$i,'link'} = $w[10]; }
		$file{'type'} = $w[10] ne "X" ? 3 :
				(-d $w[0]) ? 1 :
				$w[7] ? 5 : 0;
		$file{'user'} = $w[5];
		$file{'group'} = $w[6];
		$file{'mode'} = substr($w[4], -4);
		$file{'size'} = $w[1];
		last;
		}
	}
close(RPM);
return 1;
}

# delete_options(package)
# Outputs HTML for package uninstall options
sub delete_options
{
print "<b>$text{'delete_nodeps'}</b>\n";
print "<input type=radio name=nodeps value=1> $text{'yes'}\n";
print "<input type=radio name=nodeps value=0 checked> $text{'no'}<br>\n";
}

# delete_package(package, [&options])
# Attempt to remove some package
sub delete_package
{
local $opts = $_[1]->{'nodeps'} ? " --nodeps" : "";
$out = &backquote_logged("rpm -e $opts $_[0] 2>&1");
if ($out) { return "<pre>$out</pre>"; }
return undef;
}

sub package_system
{
return "RPM";
}

sub package_help
{
return "rpm";
}

%etype = (	"5", $text{'rpm_md5'},	"S", $text{'rpm_fsize'},
		"L", $text{'rpm_sym'},	"T", $text{'rpm_mtime'},
		"D", $text{'rpm_dev'},	"U", $text{'rpm_user'},
		"M", $text{'rpm_perm'},	"G", $text{'rpm_group'} );

$has_search_system = &has_command("rpmfind");

sub search_system_input
{
print "<input type=button onClick='window.ifield = document.forms[2].url; chooser = window.open(\"rpmfind.cgi\", \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=600,height=500\")' value=\"$text{'rpm_find'}\">";
}

1;

0707010003b3f3000081e40000000000000002000000013d1fe2cf000009ce000000200000000000000000000000000000001b00000003reloc/software/rpmfind.cgi    #!/usr/local/bin/perl
# rpmfind.cgi
# Display a search window for rpmfind.net

require './software-lib.pl';
&ReadParse();

&header();
print <<EOF;
<script>
function sel(m)
{
window.opener.ifield.value = m;
window.close();
return false;
}
</script>
EOF

print "<form action=rpmfind.cgi>\n";
print "<input type=submit value='$text{'rpm_search'}'>\n";
print "<input name=search size=20 value='$in{'search'}'><br>\n";
print "</form><hr>\n";

if ($in{'search'}) {
	# Show the results from the rpmfind command
	local @rv;
	open(SEARCH, "rpmfind --apropos '$in{'search'}' 2>/dev/null |");
	while(<SEARCH>) {
		if (/^(\d+):\s+((ftp:|http:|https:)\S+)/) {
			local $pkg = { 'url' => $2 };
			$pkg->{'source'}++ if ($pkg->{'url'} =~ /\.src\.rpm$/ ||
					       $pkg->{'url'} =~ /\.srpm$/);
			if ($pkg->{'url'} =~ /\/(([^\/]+)-([^\-\/]+)-([^-\/]+).([^-\/]+)\.rpm)$/) {
				$pkg->{'file'} = $1;
				$pkg->{'prefix'} = $2;
				$pkg->{'version'} = $3;
				$pkg->{'release'} = $4;
				$pkg->{'arch'} = $5;
				if ($pkg->{'version'} =~ /^(\d+)\.([0-9\.]+)$/){
					local ($v1 = $1, $v2 = $2);
					$v2 =~ s/\.//g;
					$pkg->{'version'} = "$v1.$v2";
					}
				}
			elsif ($pkg->{'file'} =~ /\/([^\/]+)$/) {
				$pkg->{'file'} = $1;
				}
			if ($pkg->{'url'} =~ /redhat\/[^\/]+\/([^\/]+)/) {
				$pkg->{'dist'} = "Redhat $1";
				}
			elsif ($pkg->{'url'} =~ /pld.org.pl\/([^\/]+)/) {
				$pkg->{'dist'} = "PLD $1";
				}
			elsif ($pkg->{'url'} =~ /mandrake\/([^\/]+)/) {
				$pkg->{'dist'} = "Mandrake $1";
				}
			elsif ($pkg->{'url'} =~ /mandrake-devel/) {
				$pkg->{'dist'} = "Mandrake Cooker";
				}
			elsif ($pkg->{'url'} =~ /yellowdog(\/old_releases)?\/([^\/]+)/) {
				$pkg->{'dist'} = "YellowDog $2";
				}
			elsif ($pkg->{'url'} =~ /turbolinux/) {
				$pkg->{'dist'} = "TurboLinux";
				}
			$_ = <SEARCH>;
			if (/^\s+(\S+)\s*:\s*(.*)/) {
				$pkg->{'name'} = $1;
				$pkg->{'desc'} = $2;
				push(@rv, $pkg);
				}
			}
		}
	close(SEARCH);

	@rv = grep { !$_->{'source'} } @rv;
	@rv = sort { local $vc = $b->{'version'} <=> $a->{'version'};
		     local $rc = $b->{'version'} <=> $a->{'version'};
		     return $vc ? $vc : $rc } @rv;
	if (@rv) {
		print "<table width=100%>\n";
		foreach $r (@rv) {
			print "<tr>\n";
			print "<td><a href='' onClick='sel(\"$r->{'url'}\")'>",
			      "$r->{'file'}</a></td>\n";
			print "<td>$r->{'dist'}</td>\n";
			print "<td>$r->{'desc'}</td>\n";
			print "</tr>\n";
			}
		print "</table>\n";
		}
	else {
		print "<b>$text{'rpm_none'}</b> <p>\n";
		}
	}

&footer();

  0707010003b3f4000081e40000000000000002000000013d1fe2cd000005d2000000200000000000000000000000000000001a00000003reloc/software/search.cgi #!/usr/local/bin/perl
# search.cgi
# Display a list of packages where the name or description matches some string

require './software-lib.pl';
&ReadParse();

$n = &list_packages();
$s = $in{'search'};
for($i=0; $i<$n; $i++) {
	if ($packages{$i,'name'} =~ /\Q$s\E/i ||
	    $packages{$i,'desc'} =~ /\Q$s\E/i) {
		push(@match, $i);
		}
	}
if (@match == 1) {
	$p = $packages{$match[0],'name'};
	&redirect("edit_pack.cgi?package=".&urlize($p));
	exit;
	}

&header($text{'search_title'}, "", "search");
print "<hr>\n";
if (@match) {
	@match = sort { lc($packages{$a,'name'}) cmp lc($packages{$b,'name'}) }
		      @match;
	print "<h3>",&text('search_match', "<tt>$s</tt>"),"</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'search_pack'}</b></td> ",
	      "<td><b>$text{'search_class'}</b></td> ",
	      "<td><b>$text{'search_desc'}</b></td> </tr>\n";
	foreach $i (@match) {
		print "<tr $cb>\n";
		print "<td><a href=\"edit_pack.cgi?search=$s&package=",
		      &urlize($packages{$i,'name'}),"\">",&html_escape(
			$packages{$i,'name'}.($packages{$i,'version'} ?
			   " $packages{$i,'version'}" : "")),"</a></td>\n";
		$c = $packages{$i,'class'};
		print "<td>",$c ? &html_escape($c)
				: $text{'search_none'},"</td>\n";
		print "<td>",&html_escape($packages{$i,'desc'}),"</td>\n";
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<h3>",&text('search_nomatch', "<tt>$s</tt>"),"</h3>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010003b3f5000081a40000000000000002000000013d1fe2cd000016a3000000200000000000000000000000000000002000000003reloc/software/slackware-lib.pl   # slackware-lib.pl
# Functions for slackware package management

$package_dir = "/var/log/packages";
%class_map = (	'a',	'Base Linux system',
		'ap',	'Applications',
		'd',	'Program development',
		'des',	'Crypt library',
		'e',	'GNU Emacs',
		'f',	'FAQs and documentation',
		'gtk',	'GTK+ and GNOME programs',
		'k',	'Linux kernel source',
		'kde',	'KDE desktop and programs',
		'n',	'Networking',
		't',	'TeX',
		'tcl',	'TcL/Tk',
		'xap',	'X applications',
		'xd',	'X server development',
		'xv',	'XView programs',
		'y',	'Games' );
use POSIX;
chop($system_arch = `uname -m`);

# list_packages([package]*)
# Fills the array %packages with a list of all packages
sub list_packages
{
local ($i, $f, @list);
opendir(DIR, $package_dir);
local @list = @_ ? @_ : grep { !/^\./ } readdir(DIR);
$i = 0;
foreach $f (@list) {
	$packages{$i,'name'} = $f;
	$packages{$i,'class'} = $text{'slack_unclass'};
	open(PKG, "$package_dir/$f");
	while(<PKG>) {
		if (/^PACKAGE LOCATION:\s+disk([a-z]+)\d+/i) {
			$packages{$i,'class'} = $class_map{$1};
			}
		elsif (/^PACKAGE DESCRIPTION:/i) {
			local $desc = <PKG>;
			$desc =~ s/^\S+:\s+//;
			$desc =~ s/\n//;
			$packages{$i,'desc'} = $desc;
			}
		}
	close(PKG);
	$i++;
	}
closedir(DIR);
return $i;
}

# package_info(package)
# Returns an array of package information in the order
#  name, class, description, arch, version, vendor, installtime
sub package_info
{
local @rv = ( $_[0], $text{'slack_unclass'}, $text{'slack_unknown'},
	      $system_arch, $text{'slack_unknown'}, "Slackware" );
local @st = stat("$package_dir/$_[0]");
$rv[6] = ctime($st[9]);
open(PKG, "$package_dir/$_[0]");
while(<PKG>) {
	if (/^PACKAGE LOCATION:\s+disk([a-z]+)\d+/i) {
		$rv[1] = $class_map{$1};
		}
	elsif (/^PACKAGE DESCRIPTION:/i) {
		$rv[2] = "";
		while(<PKG>) {
			last if (/^FILE LIST/i);
			s/^\S+: *//;
			if (!$rv[2] && /([0-9][0-9\.]*)/) {
				$rv[4] = $1;
				}
			$rv[2] .= $_;
			}
		$rv[2] =~ s/\s+$//;
		}
	}
close(PKG);
return @rv;
}

# check_files(package)
# Fills in the %files array with information about the files belonging
# to some package. Values in %files are  path type user group mode size error
sub check_files
{
local $i = 0;
local $file;
open(PKG, "$package_dir/$_[0]");
while(<PKG>) {
	last if (/^FILE LIST:/i);
	}
while($file = <PKG>) {
	$file =~ s/\r|\n//g;
	next if ($file eq "./");
	$file = '/'.$file;
	$files{$i,'path'} = $file;
	local @st = stat($file);
	if (@st) {
		$files{$i,'type'} = -l $file ? 3 :
				    -d $file ? 1 : 0;
		$files{$i,'user'} = getpwuid($st[4]);
		$files{$i,'group'} = getgrgid($st[5]);
		$files{$i,'mode'} = sprintf "%o", $st[2] & 07777;
		$files{$i,'size'} = $st[7];
		$files{$i,'link'} = readlink($file);
		}
	else {
		$files{$i,'type'} = $file =~ /\// ? 1 : 0;
		$files{$i,'user'} = $files{$i,'group'} =
		 $files{$i,'mode'} = $files{$i,'size'} = $text{'slack_unknown'};
		$files{$i,'error'} = $text{'slack_missing'};
		}
	$i++;
	}
return $i;
}

# installed_file(file)
# Given a filename, fills %file with details of the given file and returns 1.
# If the file is not known to the package system, returns 0
# Usable values in %file are  path type user group mode size packages
sub installed_file
{
local ($f, $file, @pkgin);
opendir(DIR, $package_dir);
while($f = readdir(DIR)) {
	next if ($f =~ /^\./);
	open(PKG, "$package_dir/$f");
	while(<PKG>) {
		last if (/^FILE LIST:/);
		}
	while($file = <PKG>) {
		next if ($file eq "./");
		$file =~ s/[\/\r\n]+$//;
		$file = '/'.$file;
		if ($_[0] eq $file) {
			# found it!
			push(@pkgin, $f);
			last;
			}
		}
	close(PKG);
	}
closedir(DIR);
if (@pkgin) {
	local @st = stat($_[0]);
	$file{'path'} = $_[0];
	$file{'type'} = -l $_[0] ? 3 :
			-d $_[0] ? 1 : 0;
	$file{'user'} = getpwuid($st[4]);
	$file{'group'} = getgrgid($st[5]);
	$file{'mode'} = sprintf "%o", $st[2] & 07777;
	$file{'size'} = $st[7];
	$file{'link'} = readlink($_[0]);
	$file{'packages'} = join(" ", @pkgin);
	return 1;
	}
else {
	return 0;
	}
}

# is_package(file)
sub is_package
{
local $count;
open(TAR, "gunzip -c $_[0] | tar tf - 2>&1 |");
while(<TAR>) {
	$count++ if (/^[^\/\s]\S+/);
	}
close(TAR);
return $count < 2 ? 0 : 1;
}

# file_packages(file)
# Returns a list of all packages in the given file, in the form
#  package description
sub file_packages
{
if ($_[0] !~ /^(.*)\/(([^\/]+)(\.tgz|\.tar\.gz))$/) {
	return "$_[0] $text{'slack_unknown'}";
	}
local ($dir, $file, $base) = ($1, $2, $3);
local $diskfile;
opendir(DIR, $dir);
while($f = readdir(DIR)) {
	if ($f =~ /^disk\S+\d+$/ || $f eq 'package_descriptions') {
		# found the slackware disk file
		$diskfile = "$dir/$f";
		last;
		}
	}
closedir(DIR);
return "$base $text{'slack_unknown'}" if (!$diskfile);

# read the disk file
local $desc;
open(DISK, $diskfile);
while(<DISK>) {
	if (/^$base:\s*(.*)/) {
		$desc = $1;
		last;
		}
	}
close(DISK);
return $desc ? "$base $desc" : "$base $text{'slack_unknown'}";
}

# install_options(file, package)
# Outputs HTML for choosing install options
sub install_options
{
print "<tr> <td><b>$text{'slack_root'}</b></td>\n";
print "<td colspan=3><input name=root size=30 value='/'> ",
	&file_chooser_button("root", 1),"</td> </tr>\n";
}

# install_package(file, package)
# Installs the package in the given file, with options from %in
sub install_package
{
local $in = $_[2] ? $_[2] : \%in;
return $text{'slack_eroot'} if (!-d $in->{'root'});
$ENV{'ROOT'} = $in->{'root'};
local $out = &backquote_logged("installpkg $_[0] 2>&1");
if ($?) {
	return "<pre>$out</pre>";
	}
return undef;
}

# delete_package(package)
# Totally remove some package
sub delete_package
{
local $out = &backquote_logged("removepkg $_[0] 2>&1");
if ($?) { return "<pre>$out</pre>"; }
return undef;
}

sub package_system
{
return $text{'slack_manager'};
}

sub package_help
{
return "installpkg removepkg";
}

1;

 0707010003b3f6000081a40000000000000002000000013d1fe2cf000012dc000000200000000000000000000000000000001f00000003reloc/software/software-lib.pl    # software-lib.pl
# A generalized system for package management on solaris, linux, etc..

do '../web-lib.pl';
&init_config();

# Use the appropriate function set for whatever package management system
# we are using.
do "$config{package_system}-lib.pl";

# Guess which update system we are using
if (&has_command("apt-get")) {
	do "apt-lib.pl";
	$has_update_system = 1;
	}
elsif (&has_command("up2date") && &has_command("rhn_check")) {
	do "rhn-lib.pl";
	$has_update_system = 1;
	}
elsif (&has_command("cupdate")) {
	# not done yet!
	}

# uncompress_if_needed(file, disposable)
# If some file needs to be uncompressed or ungzipped, do it and return the
# new temp file path. Otherwise, return the original path.
sub uncompress_if_needed
{
open(PFILE, $_[0]);
read(PFILE, $two, 2);
close(PFILE);
if ($two eq "\037\235") {
	if (!&has_command("uncompress")) {
		unlink($_[0]) if ($_[1]);
		&error($text{'soft_euncompress'});
		}
	local $temp = $_[0] =~ /\/([^\/]+)\.Z/i ? &tempname("$1")
						: &tempname();
	local $out = `uncompress -c $_[0] 2>&1 >$temp`;
	unlink($_[0]) if ($_[1]);
	if ($?) {
		unlink($temp);
		&error(&text('soft_euncmsg', $out));
		}
	return $temp;
	}
elsif ($two eq "\037\213") {
	if (!&has_command("gunzip")) {
		unlink($_[0]) if ($_[1]);
		&error($text{'soft_egzip'});
		}
	local $temp = $_[0] =~ /\/([^\/]+)\.gz/i ? &tempname("$1")
						 : &tempname();
	local $out = `gunzip -c $_[0] 2>&1 >$temp`;
	unlink($_[0]) if ($_[1]);
	if ($?) {
		unlink($temp);
		&error(&text('soft_egzmsg', $out));
		}
	return $temp;
	}
return $_[0];
}

# check_on_boot(action)
# Returns 1 if some action is run at boot, 0 otherwise
sub check_on_boot
{
&foreign_require("init", "init-lib.pl");
local %iconfig = &foreign_config("init");
local @boot = &foreign_call("init", "get_inittab_runlevel");
local $boot = 0;
foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
	local ($l, $p) = split(/\s+/, $s);
	$boot = 1 if (&indexof($l, @boot) >= 0);
	}
local %daemon;
if ($boot && $iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$boot = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
	}
return $boot;
}

# enable_on_boot(action)
# Make some action run at boot time
sub enable_on_boot
{
&foreign_require("init", "init-lib.pl");
local %iconfig = &foreign_config("init");
local @boot = &foreign_call("init", "get_inittab_runlevel");
local $boot = 0;
foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
	local ($l, $p) = split(/\s+/, $s);
	$boot = 1 if (&indexof($l, @boot) >= 0);
	}
&foreign_call("init", "add_rl_action", $_[0], $boot[0], "S",
	      "9" x $iconfig{'order_digits'}) if (!$boot);
local %daemon;
if ($iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$daemon{'ONBOOT'} = 'yes';
	&write_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon);
	}
}

# disable_on_boot(action)
# Make some action not run at boot time
sub disable_on_boot
{
&foreign_require("init", "init-lib.pl");
local %iconfig = &foreign_config("init");
if ($iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon)) {
	$daemon{'ONBOOT'} = 'no';
	&write_env_file("$iconfig{'daemons_dir'}/$_[0]", \%daemon);
	}
else {
	foreach $s (&foreign_call("init", "action_levels", "S", $_[0])) {
		local @s = split(/\s+/, $s);
		&foreign_call("init", "delete_rl_action", $_[0], $s[0], "S");
		}
	}
}

# init_script(action)
# Returns the full path to some init script
sub init_script
{
local %iconfig = &foreign_config("init");
return "$iconfig{'init_dir'}/$_[0]";
}

# show_package_info(package)
sub show_package_info
{
@pinfo = &package_info($_[0]);
return () if (!@pinfo);
print "<h3>",&text('do_success', $_[0]),"</h3>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'do_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top width=20%><b>$text{'do_desc'}</b></td>\n";
print "<td colspan=3><pre>",&html_escape($pinfo[2]),"</pre></td> </tr>\n";

print "<tr> <td width=20%><b>$text{'do_pack'}</b></td> <td>",
	&html_escape($pinfo[0]),"</td>\n";
print "<td width=20%><b>$text{'do_class'}</b></td> <td>",
	$pinfo[1] ? &html_escape($pinfo[1]) : $text{'do_none'},"</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'do_ver'}</b></td> <td>",
	&html_escape($pinfo[4]),"</td>\n";
print "<td width=20%><b>$text{'do_vend'}</b></td> <td>",
	&html_escape($pinfo[5]),"</td> </tr>\n";

print "<tr> <td width=20%><b>$text{'do_arch'}</b></td> <td>",
	&html_escape($pinfo[3]),"</td>\n";
print "<td width=20%><b>$text{'do_inst'}</b></td> <td>",
	&html_escape($pinfo[6]),"</td> </tr>\n";
print "</table></td></tr></table><p>\n";
return @pinfo;
}

@type_map = (	$text{'soft_reg'},	$text{'soft_dir'},	$text{'soft_spec'},
		$text{'soft_sym'},	$text{'soft_hard'},	$text{'soft_edit'} );

0707010003b3f7000081e40000000000000002000000013d1fe2cf00000870000000200000000000000000000000000000001800000003reloc/software/tree.cgi   #!/usr/local/bin/perl
# tree.cgi
# Display the package tree

require './software-lib.pl';
&header($text{'index_tree'}, "");
print "<hr>\n";

$spacer = "&nbsp;"x3;

# work out the package heirarchy..
$n = &list_packages();
for($i=0; $i<$n; $i++) {
	push(@pack, $packages{$i,'name'});
	push(@vers, $packages{$i,'version'});
	push(@class, $packages{$i,'class'});
	push(@desc, $packages{$i,'desc'});
	}
@order = sort { lc($pack[$a]) cmp lc($pack[$b]) } (0 .. $n-1);
$heir{""} = "";
foreach $c (sort { $a cmp $b } &unique(@class)) {
	if (!$c) { next; }
	@w = split(/\//, $c);
	$p = join('/', @w[0..$#w-1]);
	if (!defined($heir{$p})) {
		$pp = join('/', @w[0..$#w-2]);
		$heir{$pp} .= "$p\0";
		}
	$heir{$p} .= "$c\0";
	$hasclasses++;
	}

# get the current open list
open(HEIROPEN, "$module_config_directory/heiropen");
while(<HEIROPEN>) {
	chop;
	$heiropen{$_}++;
	}
close(HEIROPEN);
$heiropen{""}++;

# traverse the heirarchy
print "<table width=100%>\n";
&traverse("", 0);
print "</table>\n";
if ($hasclasses) {
	print "<a href=closeall.cgi>$text{'index_close'}</a> $spacer\n";
	print "<a href=openall.cgi>$text{'index_open'}</a><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub traverse
{
local($s, $act, $i);
print "<tr> <td>", $spacer x $_[1];
if ($_[0]) {
	print "<a name=\"$_[0]\"></a>\n";
	$act = $heiropen{$_[0]} ? "close" : "open";
	print "<a href=\"$act.cgi?what=",&urlize($_[0]),"\">";
	$_[0] =~ /([^\/]+)$/;
	print "<img border=0 src=images/$act.gif></a>&nbsp; $1</td>\n",
	}
else { print "<img src=images/close.gif> <i>$text{'index_all'}</i></td>\n"; }
print "<td><br></td> </tr>\n";
if ($heiropen{$_[0]}) {
	# print sub-folders followed by packages
	foreach $i (@order) {
		if ($class[$i] eq $_[0]) {
			print "<tr> <td>", $spacer x ($_[1]+1);
			print "<img border=0 src=images/pack.gif></a>&nbsp;\n";
			print "<a href=\"edit_pack.cgi?package=",
			      &urlize($pack[$i]),"\">",&html_escape($pack[$i].
			      ($vers[$i] ? " $vers[$i]" : "")),"</a></td>\n";
			print "<td>",&html_escape($desc[$i]),"</td>\n";
			print "</tr>\n";
			}
		}
	foreach $s (&unique(split(/\0+/, $heir{$_[0]}))) {
		&traverse($s, $_[1]+1);
		}
	}
}

0707010003b3f8000081e40000000000000002000000013d1fe2cf00000389000000200000000000000000000000000000001800000003reloc/software/view.cgi   #!/usr/local/bin/perl
# view.cgi
# Output the contents of a file

require './software-lib.pl';
$p = $ENV{'PATH_INFO'};

# Try to guess type from filename
if ($p =~ /\.([^\.\/]+)$/) {
	$ext = lc($1);
	&get_miniserv_config(\%miniserv);
	open(MIME, $miniserv{'mimetypes'});
	while(<MIME>) {
		s/#.*//g;
		if (/(\S+)\s+(.*)/) {
			foreach $e (split(/\s+/, $2)) {
				if ($ext eq $e) {
					$type = $1;
					last;
					}
				}
			}
		}
	close(MIME);
	}
if (!$type) {
	# No idea .. use the 'file' command
	if (`file "$p"` =~ /text|script/) {
		$type = "text/plain";
		}
	else {
		$type = "application/octet-stream";
		}
	}

# Dump the file
if (!open(FILE, "<$p")) {
	print "Content-type: text/plain\n\n";
	print &text('list_eview', $p, $!),"\n";
	}
else {
	@st = stat($p);
	print "Content-length: $st[7]\n";
	print "Content-type: $type\n\n";
	while(read(FILE, $buf, 1024)) {
		print $buf;
		}
	close(FILE);
	}

   07070100046bfe000041ed0000000000000001000000053d1ffb6700000000000000200000000000000000000000000000000c00000003reloc/squid   07070100046bff000081e40000000000000002000000013d1fe2d4000024eb000000200000000000000000000000000000001400000003reloc/squid/acl.cgi   #!/usr/local/bin/perl
# acl.cgi
# Display a form for editing or creating a new ACL

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
$conf = &get_config();

if ($in{'type'}) {
	&header($text{'acl_header1'}, "", undef, 0, 0, 0, &restart_button());
	$type = $in{'type'};
	}
else {
	&header($text{'acl_header2'}, "", undef, 0, 0, 0, &restart_button());
	@acl = @{$conf->[$in{'index'}]->{'values'}};
	$type = $acl[1];
	if ($acl[2] =~ /^"(.*)"$/) {
		# read from file
		open(FILE, $1);
		chop(@vals = <FILE>);
		close(FILE);
		$file = $1;
		}
	else { @vals = @acl[2..$#acl]; }
	if ($type =~ /^(src|dst|srcdomain|dstdomain|user|myip)$/) {
		@vals = sort { $a cmp $b } @vals;
		}
	elsif ($type eq "port") {
		@vals = sort { $a <=> $b } @vals;
		}
	@deny = grep { $_->{'values'}->[1] eq $acl[0] }
			&find_config("deny_info", $conf);
	}
print "<hr>\n";

print "<form action=acl_save.cgi method=post enctype=multipart/form-data>\n";
if (@acl) {
	print "<input type=hidden name=index value=$in{'index'}>\n";
	print "<input type=hidden name=file value=$file>\n";
	}
if (@deny) {
	print "<input type=hidden name=dindex value=$deny[0]->{'index'}>\n";
	}
print "<input type=hidden name=type value=$type>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$acl_types{$type} ACL</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td nowrap><b>$text{'acl_name'}</b></td>\n";
print "<td><input name=name size=20 value=\"$acl[0]\"></td>\n";

if ($type eq "src") {
	print "<tr> <td colspan=2><table>\n";
	print "<tr> <td><b>$text{'acl_fromip'}</b></td> ",
		"<td><b>$text{'acl_toip'}</b></td>\n";
	print "     <td><b>$text{'acl_nmask'}</b></td> </tr>\n";
	for($i=0; $i<=@vals; $i++) {
		if ($vals[$i] =~ /^([\d\.]+)-([\d\.]+)\/([\d\.]+)$/) {
			$from = $1; $to = $2; $mask = $3;
			}
		elsif ($vals[$i] =~ /^([\d\.]+)\/([\d\.]+)$/) {
			$from = $1; $to = ""; $mask = $2;
			}
		else { $from = $to = $mask = ""; }
		print "<tr>\n";
		print "<td><input name=from_$i size=15 value=\"$from\"></td>\n";
		print "<td><input name=to_$i size=15 value=\"$to\"></td>\n";
		print "<td><input name=mask_$i size=15 value=\"$mask\"></td>\n";
		print "</tr>\n";
		}
	print "</table></td> </tr>\n";
	}
elsif ($type eq "dst" || $type eq "myip") {
	print "<tr> <td colspan=2><table>\n";
	print "<tr> <td><b>$text{'acl_ipaddr'}</b></td> ",
		"<td><b>$text{'acl_nmask'}</b></td> </tr>\n";
	for($i=0; $i<=@vals; $i++) {
		if ($vals[$i] =~ /^([\d\.]+)\/([\d\.]+)$/) {
			$ip = $1; $mask = $2;
			}
		else { $ip = $mask = ""; }
		print "<tr>\n";
		print "<td><input name=ip_$i size=15 value=\"$ip\"></td>\n";
		print "<td><input name=mask_$i size=15 value=\"$mask\"></td>\n";
		print "</tr>\n";
		}
	print "</table></td> </tr>\n";
	}
elsif ($type eq "srcdomain") {
	print "<tr> <td valign=top><b>$text{'acl_domains'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}
elsif ($type eq "dstdomain") {
	print "<tr> <td valign=top><b>$text{'acl_domains'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}
elsif ($type eq "time") {
	local $vals = join(' ', @vals);
	if ($vals =~ /[A-Z]+/) {
		foreach $d (split(//, $vals)) {
			$day{$d}++;
			}
		}
	if ($vals =~ /(\d+):(\d+)-(\d+):(\d+)/) {
		$h1 = $1; $m1 = $2;
		$h2 = $3; $m2 = $4;
		$hour++;
		}
	print "<tr> <td valign=top><b>$text{'acl_dofw'}</b></td> <td>\n";
	printf "<input type=radio name=day_def value=1 %s> $text{'acl_all'}\n",
		%day ? "" : "checked";
	printf "<input type=radio name=day_def value=0 %s> $text{'acl_sel'}<br>\n",
		%day ? "checked" : "";
	%day_name = ( 'S', $text{'acl_dsun'}, 
                      'M', $text{'acl_dmon'}, 
                      'T', $text{'acl_dtue'},
		      'W', $text{'acl_dwed'}, 
                      'H', $text{'acl_dthu'}, 
                      'F', $text{'acl_dfri'},
		      'A', $text{'acl_dsat'} );
	print "<select name=day multiple size=7>\n";
	foreach $d ('S', 'M', 'T', 'W', 'H', 'F', 'A') {
		printf "<option value=$d %s> $day_name{$d}\n",
			$day{$d} ? "selected" : "";
		}
	print "</select></td> </tr>\n";

	print "<tr> <td valign=top><b>$text{'acl_hofd'}</b></td> <td>\n";
	printf "<input type=radio name=hour_def value=1 %s> $text{'acl_all'}\n",
		$hour ? "" : "checked";
	printf "&nbsp;<input type=radio name=hour_def value=0 %s>\n",
		$hour ? "checked" : "";
	print "<input name=h1 size=2 value=\"$h1\">:";
	print "<input name=m1 size=2 value=\"$m1\"> $text{'acl_to'} ";
	print "<input name=h2 size=2 value=\"$h2\">:";
	print "<input name=m2 size=2 value=\"$m2\"></td> </tr>\n";
	}
elsif ($type eq "url_regex") {
	print "<tr> <td valign=top><b>$text{'acl_regexp'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}
elsif ($type eq "urlpath_regex") {
	print "<tr> <td valign=top><b>$text{'acl_regexp'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}
elsif ($type eq "port") {
	print "<tr> <td valign=top><b>$text{'acl_tcpports'}</b></td>\n";
	printf "<td><input name=vals size=30 value=\"%s\"></td> </tr>\n",
		join(" ", @vals);
	}
elsif ($type eq "proto") {
	print "<tr> <td valign=top><b>$text{'acl_urlproto'}</b></td> <td>\n";
	foreach $p (@vals) { $proto{$p}++; }
	foreach $p ('http', 'ftp', 'gopher', 'wais', 'cache_object') {
		printf "<input type=checkbox name=vals value=$p %s> $p\n",
			$proto{$p} ? "checked" : "";
		}
	print "</td> </tr>\n";
	}
elsif ($type eq "method") {
	print "<tr> <td valign=top><b>$text{'acl_reqmethods'}</b></td> <td>\n";
	foreach $m (@vals) { $meth{$m}++; }
	foreach $m ('GET', 'POST', 'HEAD', 'CONNECT', 'PUT', 'DELETE') {
		printf "<input type=checkbox name=vals value=$m %s> $m\n",
			$meth{$m} ? "checked" : "";
		}
	print "</td> </tr>\n";
	}
elsif ($type eq "browser") {
	print "<tr> <td valign=top><b>$text{'acl_bregexp'}</b></td>\n";
	printf "<td><input name=vals size=30 value=\"%s\"></td> </tr>\n",
		join(' ', @vals);
	}
elsif ($type eq "user") {
	print "<tr> <td valign=top><b>$text{'acl_pusers'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20 wrap>",
		join("\n", @vals),"</textarea></td> </tr>\n";
	}
elsif ($type eq "src_as" || $type eq "dst_as") {
	print "<tr> <td valign=top><b>$text{'acl_asnum'}</b></td>\n";
	printf "<td><input name=vals size=20 value=\"%s\"></td> </tr>\n",
		join(' ', @vals);
	}
elsif ($type eq "proxy_auth" && $squid_version < 2.3) {
	print "<tr> <td valign=top><b>$text{'acl_rtime'}</b></td>\n";
	print "<td><input name=vals size=8 value=\"$vals[0]\"></td> </tr>\n";
	}
elsif ($type eq "proxy_auth" && $squid_version >= 2.3) {
	print "<tr> <td valign=top><b>$text{'acl_eusers'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20 wrap>",
		join("\n", @vals),"</textarea></td> </tr>\n";
	}
elsif ($type eq "proxy_auth_regex") {
	print "<tr> <td valign=top><b>$text{'acl_eusers'}</b></td>\n";
	local $caseless;
	if ($vals[0] eq '-i') {
		$caseless++;
		shift(@vals);
		}
	printf "<td><input type=checkbox name=caseless value=1 %s> %s<br>\n",
		$caseless ? 'checked' : '', $text{'acl_case'};
	print "<textarea name=vals rows=6 cols=20 wrap>",
		join("\n", @vals),"</textarea></td> </tr>\n";
	}
elsif ($type eq "srcdom_regex" || $type eq "dstdom_regex") {
	print "<tr> <td valign=top><b>$text{'acl_regexp'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}
elsif ($type eq "ident") {
	print "<tr> <td valign=top><b>$text{'acl_rfcusers'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20 wrap>",
		join(' ', @vals),"</textarea></td> </tr>\n";
	}
elsif ($type eq "ident_regex") {
	print "<tr> <td valign=top><b>$text{'acl_rfcusersr'}</b></td>\n";
	local $caseless;
	if ($vals[0] eq '-i') {
		$caseless++;
		shift(@vals);
		}
	printf "<td><input type=checkbox name=caseless value=1 %s> %s<br>\n",
		$caseless ? 'checked' : '', $text{'acl_case'};
	print "<textarea name=vals rows=6 cols=20 wrap>",
		join("\n", @vals),"</textarea></td> </tr>\n";
	}
elsif ($type eq "maxconn") {
	print "<tr> <td valign=top><b>$text{'acl_mcr'}</b></td>\n";
	print "<td><input name=vals size=8 value=\"$vals[0]\"></td> </tr>\n";
	}
elsif ($type eq "myport") {
	print "<tr> <td valign=top><b>$text{'acl_psp'}</b></td>\n";
	print "<td><input name=vals size=8 value=\"$vals[0]\"></td> </tr>\n";
	}
elsif ($type eq "snmp_community") {
	print "<tr> <td valign=top><b>$text{'acl_scs'}</b></td>\n";
	print "<td><input name=vals size=15 value=\"$vals[0]\"></td> </tr>\n";
	}
elsif ($type eq "req_mime_type") {
	print "<tr> <td valign=top><b>$text{'acl_rmt'}</b></td>\n";
	print "<td><input name=vals size=15 value=\"$vals[0]\"></td> </tr>\n";
	}
elsif ($type eq "arp") {
	print "<tr> <td valign=top><b>$text{'acl_arp'}</b></td>\n";
	print "<td><textarea name=vals rows=6 cols=20>",join("\n", @vals),
	      "</textarea></td> </tr>\n";
	}

print "<tr> <td><b>$text{'acl_failurl'}</b></td>\n";
printf "<td><input name=deny size=25 value=\"%s\"></td> </tr>\n",
	@deny ? $deny[0]->{'values'}->[0] : "";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'acl_buttsave'}>\n";
if (!$in{'type'}) { print "<input type=submit value=$text{'acl_buttdel'} name=delete>\n"; }
print "</form>\n";

print "<hr>\n";
&footer("edit_acl.cgi", $text{'acl_return'},
	"", $text{'index_return'});

 07070100046c00000081e40000000000000002000000013d1fe2d400001a48000000200000000000000000000000000000001900000003reloc/squid/acl_save.cgi  #!/usr/local/bin/perl
# acl_save.cgi
# Save or delete an ACL

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParseMime();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'aclsave_failsave'};

@acls = &find_config("acl", $conf);
@denys = &find_config("deny_info", $conf);
if (defined($in{'index'})) {
	$acl = $conf->[$in{'index'}];
	}
if (defined($in{'dindex'})) {
	$deny = $conf->[$in{'dindex'}];
	}
if ($in{'delete'}) {
	# Is there more than one ACL with this name?
	$name = $acl->{'values'}->[0];
	foreach $a (&find_config("acl", $conf)) {
		$count++ if ($a->{'values'}->[0] eq $name);
		}

	# Is this ACL in use?
	$whatfailed = $text{'aclsave_faildel'};
	if ($count == 1) {
		foreach $h (&find_config("http_access", $conf)) {
			@v = @{$h->{'values'}};
			for($i=1; $i<@v;  $i++) {
				if ($v[$i] eq $name || $v[$i] eq "!$name") {
					&error($text{'aclsave_epr'});
					}
				}
			}
		foreach $h (&find_config("icp_access", $conf)) {
			@v = @{$h->{'values'}};
			for($i=1; $i<@v;  $i++) {
				if ($v[$i] eq $in{'name'} ||
				    $v[$i] eq "!$in{'name'}") {
					&error($text{'aclsave_eicpr'});
					}
				}
			}
		}
	splice(@acls, &indexof($acl, @acls), 1);
	if ($deny) { splice(@denys, &indexof($deny, @denys), 1); }
	$logacl = $acl;
	}
else {
	# Check ACL details
	$in{'name'} =~ /^\S+$/ || &error($text{'aclsave_ename'});
	$changed++ if ($acl && $in{'name'} ne $acl->{'values'}->[0]);
	for($i=0; $i<@acls; $i++) {
		if ($changed && $acls[$i]->{'values'}->[0] eq $in{'name'}) {
			&error(&text('aclsave_eexists',$in{'name'}));
			}
		}

	if ($in{'type'} eq "src") {
		for($i=0; defined($from = $in{"from_$i"}); $i++) {
			$to = $in{"to_$i"}; $mask = $in{"mask_$i"};
			next if (!$from && !$to && !$mask);
			&check_ipaddress($from) ||
			       &error(&text('aclsave_efrom',$from));
			!$to || &check_ipaddress($to) ||
			       &error(&text('aclsave_eto',$to));
			$mask =~ /^\d+$/ || &check_ipaddress($mask) ||
			       &error(&text('aclsave_enmask',$mask));
			if ($to) { push(@vals, "$from-$to/$mask"); }
			else { push(@vals, "$from/$mask"); }
			}
		}
	elsif ($in{'type'} eq "dst" || $in{'type'} eq "myip") {
		for($i=0; defined($ip = $in{"ip_$i"}); $i++) {
			$mask = $in{"mask_$i"};
			next if (!$mask || !$ip);
			&check_ipaddress($ip) ||
				&error(&text('aclsave_eip',$ip));
			$mask =~ /^\d+$/ || &check_ipaddress($mask) ||
			       &error(&text('aclsave_enmask',$mask));
			push(@vals, "$ip/$mask");
			}
		}
	elsif ($in{'type'} eq "srcdomain") {
		push(@vals, split(/\s+/, $in{'vals'}));
		if (!@vals) { &error($text{'aclsave_ecdom'}); }
		}
	elsif ($in{'type'} eq "dstdomain") {
		push(@vals, split(/\s+/, $in{'vals'}));
		if (!@vals) { &error($text{'aclsave_esdom'}); }
		}
	elsif ($in{'type'} eq "time") {
		if (!$in{'day_def'}) {
			push(@vals, join('', split(/\0/, $in{'day'})));
			}
		if (!$in{'hour_def'}) {
			$in{'h1'} =~ /^\d+$/ || &error($text{'aclsave_eshour'});
			$in{'h2'} =~ /^\d+$/ || &error($text{'aclsave_eehour'});
			$in{'m1'} =~ /^\d+$/ || &error($text{'aclsave_esmin'});
			$in{'m2'} =~ /^\d+$/ || &error($text{'aclsave_eemin'});
			push(@vals, "$in{'h1'}:$in{'m1'}-$in{'h2'}:$in{'m2'}");
			}
		}
	elsif ($in{'type'} eq "url_regex") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "urlpath_regex") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "port") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "proto") {
		push(@vals, split(/\0/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "method") {
		push(@vals, split(/\0/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "browser" || $in{'type'} eq "snmp_community") {
		push(@vals, $in{'vals'});
		}
	elsif ($in{'type'} eq "user" || $in{'type'} eq "ident") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "src_as" || $in{'type'} eq "dst_as") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "proxy_auth" && $squid_version < 2.3) {
		push(@vals, $in{'vals'}) if ($in{'vals'});
		}
	elsif ($in{'type'} eq "proxy_auth" && $squid_version >= 2.3) {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "proxy_auth_regex" ||
	       $in{'type'} eq "ident_regex") {
		push(@vals, "-i") if ($in{'caseless'});
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "srcdom_regex" || $in{'type'} eq "dstdom_regex") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}
	elsif ($in{'type'} eq "myport") {
		$in{'vals'} =~ /^\d+$/ ||
			&error("'$in{'vals'}' is not a valid port number");
		push(@vals, $in{'vals'});
		}
	elsif ($in{'type'} eq "maxconn") {
		$in{'vals'} =~ /^\d+$/ ||
		    &error("'$in{'vals'}' is not a valid number of requests");
		push(@vals, $in{'vals'});
		}
	elsif ($in{'type'} eq "arp") {
		push(@vals, split(/\s+/, $in{'vals'}));
		}

	if ($in{'file'}) {
		&can_access($in{'file'}) ||
			&error(&text('aclsave_efile', $in{'file'}));
		&lock_file($in{'file'});
		open(FILE, ">$in{'file'}");
		foreach $v (@vals) {
			print FILE $v,"\n";
			}
		close(FILE);
		&unlock_file($in{'file'});
		@vals = ( $in{'name'}, $in{'type'}, "\"$in{'file'}\"" );
		}
	else {
		if ($vals[0] =~ /^"(.*)"$/) {
			local $f = $1;
			&can_access($f) ||
				&error(&text('aclsave_efile', $f));
			if ($f !~ /^\// && $access{'root'} ne '/') {
				$vals[0] = "\"$access{'root'}/$f\"";
				}
			
			}
		@vals = ( $in{'name'}, $in{'type'}, @vals );
		}
	$logacl = $newacl = { 'name' => 'acl', 'values' => \@vals };
	if ($acl) { splice(@acls, &indexof($acl, @acls), 1, $newacl); }
	else { push(@acls, $newacl); }

	$newdeny = { 'name' => 'deny_info',
		     'values' => [ $in{'deny'}, $vals[0] ] };
	$didx = &indexof($deny, @denys);
	if ($deny && $in{'deny'}) { $denys[$didx] = $newdeny; }
	elsif ($deny) { splice(@denys, $didx, 1); }
	elsif ($in{'deny'}) { push(@denys, $newdeny); }

	# Update http_access and icp_access directives if the ACL was renamed
	if ($changed) {
		@https = &find_config("http_access", $conf);
		@icps = &find_config("icp_access", $conf);
		$on = $acl->{'values'}->[0];
		foreach $c (@https, @icps) {
			for($j=1; $j<@{$c->{'values'}}; $j++) {
				if ($c->{'values'}->[$j] eq $on) {
					$c->{'values'}->[$j] = $in{'name'};
					}
				elsif ($c->{'values'}->[$j] eq "!$on") {
					$c->{'values'}->[$j] = "!$in{'name'}";
					}
				}
			}
		&save_directive($conf, "http_access", \@https);
		&save_directive($conf, "icp_access", \@icps);
		}
	}
&save_directive($conf, "acl", \@acls);
&save_directive($conf, "deny_info", \@denys);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $acl ? 'modify' : 'create',
	    'acl', $logacl->{'values'}->[0], \%in);
&redirect("edit_acl.cgi");

07070100046c01000081e40000000000000002000000013d1fe2d4000005b9000000200000000000000000000000000000001c00000003reloc/squid/acl_security.pl   
require 'squid-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the squid module
sub acl_security_form
{
print "<tr> <td valign=top><b>$text{'acl_sections'}</b></td>\n";
print "<td colspan=3><select name=sections multiple size=6>\n";
foreach $s ('portsnets', 'othercaches', 'musage', 'logging', 'copts',
	    'hprogs', 'actrl', 'admopts', 'proxyauth', 'miscopt', 'cms',
	    'rebuild', 'calamaris') {
	printf "<option value=%s %s>%s\n",
		$s, $_[0]->{$s} ? 'selected' : '', $text{"index_${s}"};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'acl_root'}</b></td>\n";
printf "<td colspan=3><input name=root size=40 value='%s'> %s</td> </tr>\n",
	$_[0]->{'root'}, &file_chooser_button("root", 1);

print "<tr> <td><b>$text{'acl_start'}</b></td>\n";
printf "<td><input type=radio name=start value=1 %s> %s\n",
	$_[0]->{'start'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=start value=0 %s> %s</td> </tr>\n",
	$_[0]->{'start'} ? '' : 'checked', $text{'no'};
}

# acl_security_save(&options)
# Parse the form for security options for the squid module
sub acl_security_save
{
$_[0]->{'root'} = $in{'root'};
map { $sections{$_} = 1 } split(/\0/, $in{'sections'});
foreach $s ('portsnets', 'othercaches', 'musage', 'logging', 'copts',
	    'hprogs', 'actrl', 'admopts', 'proxyauth', 'miscopt', 'cms',
	    'rebuild', 'calamaris') {
	$_[0]->{$s} = $sections{$s};
	}
$_[0]->{'start'} = $in{'start'};
}

   07070100046c02000081e40000000000000002000000013d1fe2d4000007e5000000200000000000000000000000000000001700000003reloc/squid/always.cgi    #!/usr/local/bin/perl
# always.cgi
# A form for editing or creating http_access directives

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
$conf = &get_config();

if (!defined($in{'index'})) {
	&header($text{'always_create'}, "",
		undef, 0, 0, 0, &restart_button());
	}
else {
	&header($text{'always_edit'}, "",
		undef, 0, 0, 0, &restart_button());
	@always = @{$conf->[$in{'index'}]->{'values'}};
	}
print "<hr>\n";

print "<form action=always_save.cgi>\n";
if (@always) {
	print "<input type=hidden name=index value=$in{'index'}>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'always_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'ahttp_a'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=action value=allow %s> $text{'ahttp_a1'}\n",
	$always[0] eq "allow" ? "checked" : "";
printf "<input type=radio name=action value=deny %s> $text{'ahttp_d'}</td> </tr>\n",
	$always[0] eq "allow" ? "" : "checked";

for($i=1; $i<@always; $i++) { $match{$always[$i]}++; }
@acls = grep { !$done{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
$r = @acls; $r = 10 if ($r > 10);

print "<tr> <td valign=top><b>$text{'ahttp_ma'}</b></td>\n";
print "<td valign=top><select name=yes multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{$a->{'values'}->[0]} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'ahttp_dma'}</b></td>\n";
print "<td valign=top><select name=no multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{"!$a->{'values'}->[0]"} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}>\n";
if (@always) { print "<input type=submit value=$text{'buttdel'} name=delete>\n"; }
print "</form>\n";

print "<hr>\n";
&footer("edit_acl.cgi", $text{'ahttp_return'});

   07070100046c03000081e40000000000000002000000013d1fe2d400000410000000200000000000000000000000000000001c00000003reloc/squid/always_save.cgi   #!/usr/local/bin/perl
# always_save.cgi
# Save or delete an always_direct directive

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();

@always = &find_config("always_direct", $conf);
if (defined($in{'index'})) {
	$always = $conf->[$in{'index'}];
	}
if ($in{'delete'}) {
	# delete this restriction
	splice(@always, &indexof($always, @always), 1);
	}
else {
	# update or create
	@vals = ( $in{'action'} );
	foreach $y (split(/\0/, $in{'yes'})) { push(@vals, $y); }
	foreach $n (split(/\0/, $in{'no'})) { push(@vals, "!$n"); }
	$newalways = { 'name' => 'always_direct', 'values' => \@vals };
	if ($always) { splice(@always, &indexof($always, @always),
			      1, $newalways); }
	else { push(@always, $newalways); }
	}
&save_directive($conf, "always_direct", \@always);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $always ? 'modify' : 'create', "always");
&redirect("edit_icp.cgi");

07070100046c04000081e40000000000000002000000013d1fe2d4000001e3000000200000000000000000000000000000001900000003reloc/squid/cachemgr.cgi  #!/usr/local/bin/perl
# cachemgr.cgi
# Run the squid cachemgr.cgi program

require './squid-lib.pl';
$access{'cms'} || &error($text{'cach_ecannot'});
$mgr = $config{'cachemgr_path'};
if (&has_command($mgr)) {
	$| = 1;
	open(MGR, "$mgr ".join(" ", @ARGV)." |");
	while(<MGR>) {
		print;
		}
	close(MGR);
	}
else {
	&header($text{'cach_err'}, "");
	print "<hr>\n";
	print &text('cach_nfound',$mgr,$module_name);
	print "\n<p>\n";
	}
print "<hr>\n";
&footer("", $text{'cach_return'});

 07070100046c05000081e40000000000000002000000013d1fe2d400000933000000200000000000000000000000000000001a00000003reloc/squid/calamaris.cgi #!/usr/local/bin/perl
# calamaris.cgi
# Run calamaris on the squid logfile(s)

require './squid-lib.pl';
$access{'calamaris'} || &error($text{'calamaris_ecannot'});
&header($text{'calamaris_title'}, "");
print "<hr>\n";

# is calamaris installed?
if (!&has_command($config{'calamaris'})) {
	print "<p>",&text('calamaris_eprog', "<tt>$config{'calamaris'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p><hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# are there any logfiles to analyse?
$ld = $config{'log_dir'};
opendir(DIR, $ld);
while($f = readdir(DIR)) {
	local @st = stat("$ld/$f");
	if ($f =~ /^access.log.*gz$/) {
		push(@files, [ "gunzip -c $ld/$f |", $st[9] ]);
		}
	elsif ($f =~ /^access.log.*Z$/) {
		push(@files, [ "uncompress -c $ld/$f |", $st[9] ]);
		}
	elsif ($f =~ /^access.log/) {
		push(@files, [ "$ld/$f", $st[9] ]);
		}
	}
closedir(DIR);
if (!@files) {
	print "<p>",&text('calamaris_elogs', "<tt>$ld</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p><hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# run calamaris, parsing newest files and records first
$temp = &tempname();
open(CAL, "| $config{'calamaris'} $config{'cal_args'} >$temp 2>/dev/null");
if ($config{'cal_max'}) {
	# read only the last N lines
	print &text('calamaris_last', $config{'cal_max'}),"<p>\n";
	@files = sort { $b->[1] <=> $a->[1] } @files;
	$lnum = 0;
	foreach $f (@files) {
		$left = $config{'cal_max'} - $lnum;
		last if ($left <= 0);
		if ($f->[0] =~ /\|$/) {
			open(LOG, "$f->[0] tail -$left |");
			}
		else {
			open(LOG, "tail -$left $f->[0] |");
			}
		while(<LOG>) {
			print CAL $_;
			$lnum++;
			}
		close(LOG);
		}
	}
else {
	# read all the log files
	foreach $f (@files) {
		open(LOG, $f->[0]);
		while(read(LOG, $buf, 1024) > 0) {
			print CAL $buf;
			}
		close(LOG);
		}
	}
close(CAL);

# Put the calamaris output into a nice webmin like table.
$date = localtime(time());
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('calamaris_gen', $date),"</b></td> </tr>\n";
print "<tr $cb> <td>\n";

open(OUT, $temp);
while(<OUT>) {
	if (/<\s*\/head/i || /<\s*body/i) { $inbody = 1; }
	elsif (/<\s*\/body/i) { $inbody = 0; }
	elsif ($inbody) { print; }
	}
close(OUT);
unlink($temp);

# Close it.
print "</td></tr></table><p>";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100046c06000081e40000000000000002000000013d1fe2d4000005b6000000200000000000000000000000000000001600000003reloc/squid/chown.cgi #!/usr/local/bin/perl
# chown.cgi
# Change permissions on cache/log/pid files after a user change

require './squid-lib.pl';
$access{'admopts'} || &error($text{'eadm_ecannot'});
$| = 1;
&header($text{'chown_header'}, "");
print "<hr>\n";
$conf = &get_config();

# Stop squid
if ($pidstruct = &find_config("pid_filename", $conf)) {
	$pidfile = $pidstruct->{'values'}->[0];
	}
else { $pidfile = $config{'pid_file'}; }
if (open(PID, $pidfile)) {
	<PID> =~ /(\d+)/; $pid = $1;
	close(PID);
	}
if ($pid && kill(0, $pid)) {
	print "<p>$text{'chown_stop'}<br>\n";
	system("$config{'squid_path'} -f $config{'squid_conf'} ".
	       "-k shutdown >/dev/null 2>&1");
	for($i=0; $i<40; $i++) {
		if (!kill(0, $pid)) { last; }
		sleep(1);
		}
	print "$text{'chown_done'}<br>\n";
	$stopped++;
	}

# Change ownership
print "<p>$text{'chown_chown'}<br>\n";
($user, $group) = &get_squid_user($conf);
&chown_files($user, $group, $conf);
print "$text{'chown_done'}<br>\n";

# Re-start Squid
if ($stopped) {
	print "<p>$text{'chown_restart'}<br>\n";
	$temp = &tempname();
	system("$config{'squid_path'} -sY -f $config{'squid_conf'} >$temp 2>&1 </dev/null &");
	sleep(3);
	$errs = `cat $temp`;
	unlink($temp);
	if ($errs) {
		system("$config{'squid_path'} -k shutdown -f $config{'squid_conf'} >/dev/null 2>&1");
		print "$text{'chown_failrestart'}<br>\n";
		print "<pre>$errs</pre>\n";
		}
	print "$text{'chown_done'}<br>\n";
	}

print "<hr>\n";
&footer("", $text{'chown_return'});

  07070100046c09000081e40000000000000002000000013d1fe2d400000a41000000200000000000000000000000000000001600000003reloc/squid/clear.cgi #!/usr/local/bin/perl
# clear.cgi
# Delete the cache, chown the directory to the correct user and re-run squid -z

require './squid-lib.pl';
$access{'rebuild'} || &error($text{'clear_ecannot'});
&ReadParse();
$| = 1;
$theme_no_table = 1;
$config{'cache_dir'} =~ /^\/\S+/ || &error("Cache directory not set");
&header($text{'clear_header'}, "");
print "<hr>\n";
$conf = &get_config();

if (!$in{'confirm'}) {
	print "<p>";
	print $text{'clear_msgclear'},"<br>\n";
	print $text{'clear_msgclear2'},"<br>\n";
	print "<form action=clear.cgi>\n";
	print "<center><input type=submit name=confirm ",
	      "value=\"$text{'clear_buttclear'}\"></center></form>\n";
	print "<hr>\n";
	&footer("", $text{'clear_return'});
	exit;
	}

# Stop squid
if ($pidstruct = &find_config("pid_filename", $conf)) {
	$pidfile = $pidstruct->{'values'}->[0];
	}
else { $pidfile = $config{'pid_file'}; }
if (open(PID, $pidfile)) {
	<PID> =~ /(\d+)/; $pid = $1;
	close(PID);
	}
if ($pid && kill(0, $pid)) {
	print "<p>$text{'clear_stop'}<br>\n";
	&system_logged("$config{'squid_path'} -f $config{'squid_conf'} ".
	               "-k shutdown >/dev/null 2>&1");
	for($i=0; $i<40; $i++) {
		if (!kill(0, $pid)) { last; }
		sleep(1);
		}
	print "$text{'clear_done'}<br>\n";
	$stopped++;
	}

# Get list of cache dirs
if (@cachestruct = &find_config("cache_dir", $conf)) {
	if ($squid_version >= 2.3) {
		@caches = map { $_->{'values'}->[1] } @cachestruct;
		}
	else {
		@caches = map { $_->{'values'}->[0] } @cachestruct;
		}
	}
else { @caches = ( $config{'cache_dir'} ); }

# Delete old cache files and re-create with same permissions!
print "<p>$text{'clear_del'}<br>\n";
foreach $c (@caches) {
	@st = stat($c);
	if (@st) {
		&system_logged("rm -rf $c >/dev/null 2>&1");
		mkdir($c, 0755);
		chown($st[4], $st[5], $c);
		chmod($st[2], $c);
		}
	}
print "$text{'clear_done'}<br>\n";

$cmd = "$config{'squid_path'} -f $config{'squid_conf'} -z";
print "<p>".&text('clear_init',$cmd)."<br>\n";
print "<pre>\n";
&additional_log('exec', undef, $cmd);
open(INIT, "$cmd 2>&1 |");
while(<INIT>) {
	print &html_escape($_);
	}
close(INIT);
print "</pre>\n";
print "$text{'clear_done'}<br>\n";

# Try to re-start squid
if ($stopped) {
	$temp = &tempname();
	&system_logged("$config{'squid_path'} -sY -f $config{'squid_conf'} >$temp 2>&1 </dev/null &");
	sleep(3);
	$errs = `cat $temp`;
	unlink($temp);
	if ($errs) {
		&system_logged("$config{'squid_path'} -k shutdown -f $config{'squid_conf'} >/dev/null 2>&1");
		print "$text{'clear_failrestart'}<br>\n";
		print "<pre>$errs</pre>\n";
		}
	}

&webmin_log("clear");
print "<hr>\n";
&footer("", $text{'clear_return'});

   07070100046c0c000081a40000000000000002000000013d1fe2d400000125000000200000000000000000000000000000001700000003reloc/squid/config-aix    log_dir=/var/squid/logs
squid_path=/usr/local/bin/squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid/squid.conf
pid_file=/var/squid/logs/squid.pid
cachemgr_path=/usr/local/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c0d000081a40000000000000002000000013d1fe2d400000124000000200000000000000000000000000000002000000003reloc/squid/config-cobalt-linux   log_dir=/home/squid/logs
squid_path=/home/squid/bin/squid
cache_dir=/home/squid/cache
squid_conf=/etc/squid/squid.conf
pid_file=/etc/squid/squid.pid
cachemgr_path=/home/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
07070100046c13000081a40000000000000002000000013d1fe2d40000010a000000200000000000000000000000000000001f00000003reloc/squid/config-corel-linux    log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c14000081a40000000000000002000000013d1fe2d40000010a000000200000000000000000000000000000002000000003reloc/squid/config-debian-linux   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c15000081a40000000000000002000000013d1fe2d400000143000000200000000000000000000000000000001b00000003reloc/squid/config-freebsd    log_dir=/usr/local/squid/logs
squid_path=/usr/local/sbin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/etc/squid/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
 07070100046c16000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000002100000003reloc/squid/config-generic-linux  log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c17000081a40000000000000002000000013d1fe2d400000154000000200000000000000000000000000000002000000003reloc/squid/config-gentoo-linux   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
07070100046c18000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001800000003reloc/squid/config-hpux   log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c1d000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001800000003reloc/squid/config-irix   log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c20000081a40000000000000002000000013d1fe2d40000012e000000200000000000000000000000000000001d00000003reloc/squid/config-lfs-linux  log_dir=/usr/squid/logs
cache_dir=/usr/squid/cache
squid_path=/usr/squid/bin/squid
squid_conf=/usr/squid/etc/squid.conf
pid_file=/usr/squid/logs/squid.pid
cachemgr_path=/usr/apache/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c21000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001900000003reloc/squid/config-macos  log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c22000081a40000000000000002000000013d1fe2d400000163000000200000000000000000000000000000002200000003reloc/squid/config-mandrake-linux log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
 07070100046c24000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002600000003reloc/squid/config-mandrake-linux-8.0 log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c26000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002600000003reloc/squid/config-mandrake-linux-8.1 log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c27000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002600000003reloc/squid/config-mandrake-linux-8.2 log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c28000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000001d00000003reloc/squid/config-msc-linux  log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/share/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c29000081a40000000000000002000000013d1fe2d400000120000000200000000000000000000000000000001a00000003reloc/squid/config-netbsd log_dir=/var/squid/logs
squid_path=/usr/pkg/sbin/squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid.conf
pid_file=/var/squid/logs/squid.pid
cachemgr_path=/usr/pkg/libexec/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
07070100046c2a000081a40000000000000002000000013d1fe2d400000165000000200000000000000000000000000000001e00000003reloc/squid/config-open-linux log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.d/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c2b000081a40000000000000002000000013d1fe2d400000167000000200000000000000000000000000000002300000003reloc/squid/config-open-linux-3.1e    log_dir=/var/log/squid.d
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.d/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
 07070100046c2c000081a40000000000000002000000013d1fe2d400000143000000200000000000000000000000000000001b00000003reloc/squid/config-openbsd    log_dir=/usr/local/squid/logs
squid_path=/usr/local/sbin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/etc/squid/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
 07070100046c2d000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001e00000003reloc/squid/config-openserver log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c2e000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001800000003reloc/squid/config-osf1   log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c2f000081a40000000000000002000000013d1fe2d40000010d000000200000000000000000000000000000002000000003reloc/squid/config-redhat-linux   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c30000081a40000000000000002000000013d1fe2d400000163000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-6.0   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
 07070100046c31000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-6.1   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c32000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-6.2   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c33000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-7.0   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c34000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-7.1   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c35000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-7.2   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c36000081a40000000000000002000000013d1fe2d40000015e000000200000000000000000000000000000002400000003reloc/squid/config-redhat-linux-7.3   log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
  07070100046c37000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000002300000003reloc/squid/config-slackware-linux    log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c38000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001b00000003reloc/squid/config-solaris    log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c39000081a40000000000000002000000013d1fe2d400000104000000200000000000000000000000000000001e00000003reloc/squid/config-suse-linux log_dir=/var/squid/logs
squid_path=squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
07070100046c3a000081a40000000000000002000000013d1fe2d40000010d000000200000000000000000000000000000001f00000003reloc/squid/config-turbo-linux    log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c3b000081a40000000000000002000000013d1fe2d40000014d000000200000000000000000000000000000001c00000003reloc/squid/config-unixware   log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
   07070100046c3c000081a40000000000000002000000013d1fe2d4000002f2000000200000000000000000000000000000001800000003reloc/squid/config.info   squid_conf=Full path to squid config file,0
squid_start=Command to start squid,3,Automatic
squid_stop=Command to stop squid,3,Automatic
squid_path=Squid executable,0
pid_file=Full path to PID file,0
cache_dir=Full path to squid cache directory,0
cachemgr_path=Squid cachemgr.cgi executable,0
log_dir=Full path to squid log directory,0
calamaris=Path to calamaris log analysis program,3,Not installed
cal_args=Arguments to calamaris command,0
cal_max=Maximum log lines to pass to calamaris,3,Unlimited
crypt_conf=Encryption method for proxy passwords,1,0-crypt,1-md5base64
sort_conf=Sort proxy users,1,1-Yes,0-No
sync_create=Create proxy users when creating system users,1,1-Yes,0-No
sync_delete=Delete proxy users when creating system users,1,1-Yes,0-No
  07070100046c3e000081a40000000000000002000000013d1fe2d400000383000000200000000000000000000000000000001b00000003reloc/squid/config.info.ca    squid_conf=Camí complet del fitxer de configuració de squid,0
squid_start=Ordre d'inici de squid,3,Automàtica
squid_stop=Ordre per aturar squid,3,Automàtica
squid_path=Executable squid,0
pid_file=Camí complet del fitxer de PID,0
cache_dir=Camí complet del directori cau de squid,0
cachemgr_path=Executable cachemgr.cgi de squid,0
log_dir=Camí complet del directori de registres de squid,0
calamaris=Camí del programa analitzador de registres calamaris,3,No instal·lat
cal_args=Arguments de l'ordre calamaris,0
cal_max=Nombre màxim de línies de registre per passar a calamaris,3,Il·limitat
crypt_conf=Mètode de xifratge per a les contrasenyes de proxy,1,0-crypt,1-md5base64
sort_conf=Ordena els usuaris de la proxy,1,1-Sí,0-No
sync_create=Crea els usuaris de la proxy en crear usuaris del sistema,1,1-Sí,0-No
sync_delete=Suprimeix els usuaris de la proxy en suprimir usuaris del sistema,1,1-Sí,0-No

 07070100046c3f000081a40000000000000002000000013d1fe2d400000222000000200000000000000000000000000000001b00000003reloc/squid/config.info.de    squid_conf=Absoluter Pfad zur Squid Konfigurationsdatei,0
squid_start=Kommando zum Starten von Squid,3,Automatisch
squid_stop=Kommando zum Stoppen von Squid,3,Automatisch
squid_path=Ausf&uuml;hrbare Datei von Squid,0
pid_file=Absoluter Pfad zu PID Datei,0
cache_dir=Absoluter Pfad zum Squid Cache Verzeichnis,0
cachemgr_path=Ausf&uuml;hrbare Datei zum Squid cachemgr.cgi,0
log_dir=Absoluter Pfad zum Squid Log Verzeichnis,0
crypt_conf=Verschlüsselungsart für Proxy Passwörter,1,0-crypt,1-md5base64
sort_conf=Sortiere Proxy Benutzer,1,1-Ja,0-Nein
  07070100046c40000081a40000000000000002000000013d1fe2d40000027b000000200000000000000000000000000000001b00000003reloc/squid/config.info.es    squid_conf=Trayectoria completa a archivo de configuración de squid,0
squid_start=Comando para arrancar squid,3,Automático
squid_stop=Comando para parar squid,3.Automático
squid_path=Ejecutable Squid,0
pid_file=Trayectoria completa a archivo PID,0
cache_dir=Trayectoria completa a directorio de caché de squid,0
cachemgr_path=Ejecutable cachemgr.cgi de Squid,0
log_dir=Trayectoria completa a directorio de historial de squid,0
calamaris=Trayectoria a programa de análisis de historial de calamaris,3,No instalado
cal_args=Argumentos para comando calamaris,0
cal_max=Número máximo de líneas de historial a pasar a calamaris,3,Ilimitado
 07070100046c41000081a40000000000000002000000013d1fe2d40000023d000000200000000000000000000000000000001b00000003reloc/squid/config.info.fr    squid_conf=Chemin du fichier de configuration de squid,0
squid_path=Exécutable de squid,0
pid_file=Chemin du fichier de numéro de processus,0
cache_dir=Répertoire cache de squid,0
cachemgr_path=Chemin de l'exécutable 'cachemgr.cgi',0
log_dir=Répertoire d'audit de squid,0
squid_start=Commande de démarrage de squid,3,Automatique
squid_stop=Commande d'arrêt de squid,3,Automatique
calamaris=Chemin vers le programme d'analyse de log calamaris,3,Non installé
cal_args=Arguments de la commande calamaris,0
cal_max=Nb maximum de lignes de log à passer à calamaris,3,Non limité
   07070100046c42000081a40000000000000002000000013d1fe2d400000264000000200000000000000000000000000000001b00000003reloc/squid/config.info.it    squid_conf=Full path to squid config file,0
squid_start=Command to start squid,3,Automatic
squid_stop=Command to stop squid,3,Automatic
squid_path=Squid executable,0
pid_file=Full path to PID file,0
cache_dir=Full path to squid cache directory,0
cachemgr_path=Squid cachemgr.cgi executable,0
log_dir=Full path to squid log directory,0
calamaris=Path to calamaris log analysis program,3,Not installed
cal_args=Arguments to calamaris command,0
cal_max=Maximum log lines to pass to calamaris,3,Unlimited
crypt_conf=Encryption method for proxy passwords,1,0-crypt,1-md5base64
sort_conf=Sort proxy users,1,1-Yes,0-No
07070100046c43000081a40000000000000002000000013d1fe2d400000300000000200000000000000000000000000000001b00000003reloc/squid/config.info.pl    squid_conf=Pe³na ¶cie¿ka do pliku konfiguracyjnego Squida,0
squid_start=Polecenie uruchamiaj±ce Squida,3,Automatycznie
squid_stop=Polecenie zatrzymuj±ce Squida,3,Automatycznie
squid_path=Program Squid,0
pid_file=Pe³na ¶cie¿ka do pliku z&nbsp;numerem PID Squida,0
cache_dir=Pe³na ¶cie¿ka do katalogu cache Squida,0
cachemgr_path=Program <tt>cachemgr.cgi</tt> Squida,0
log_dir=Pe³na ¶cie¿ka do katalogu logów Squida,0
calamaris=¦cie¿ka do programu analizy logów <tt>calamaris</tt>,3,Nie zainstalowano
cal_args=Argumenty dla polecenia <tt>calamaris</tt>,0
cal_max=Maksymalna liczba linii logu przekazywanych do <tt>calamaris</tt>,3,Nieograniczona
crypt_conf=Metoda szyfrowania hase³ dla proxy,1,0-crypt,1-md5base64
sort_conf=Uporz±dkowaæ u¿ytkowników proxy,1,1-Tak,0-Nie
07070100046c44000081a40000000000000002000000013d1fe2d40000011a000000200000000000000000000000000000001e00000003reloc/squid/config.info.ru_RU log_dir=Ïîëíûé ïóòü ê êàòàëîãó æóðíàëîâ squid,0
cache_dir=Ïîëíûé ïóòü ê êýø êàòàëîãó squid,0
squid_path=Èñïîëíÿåìûé ìîäóëü squid,0
squid_conf=Ïîëíûé ïóòü ê ôàéëó êîíôèãóðàöèè squid,0
pid_file=Ïîëíûé ïóòü ê PID ôàéëó squid,0
cachemgr_path=Èñïîëíÿåìûé ìîäóëü cachemgr.cgi äëÿ squid,0
  07070100046c45000081a40000000000000002000000013d1fe2d40000011a000000200000000000000000000000000000001e00000003reloc/squid/config.info.ru_SU squid_conf=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ËÏÎÆÉÇÕÒÁÃÉÉ squid,0
squid_path=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ squid,0
pid_file=ðÏÌÎÙÊ ÐÕÔØ Ë PID ÆÁÊÌÕ squid,0
cache_dir=ðÏÌÎÙÊ ÐÕÔØ Ë ËÜÛ ËÁÔÁÌÏÇÕ squid,0
cachemgr_path=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ cachemgr.cgi ÄÌÑ squid,0
log_dir=ðÏÌÎÙÊ ÐÕÔØ Ë ËÁÔÁÌÏÇÕ ÖÕÒÎÁÌÏ× squid,0
  07070100046c46000081a40000000000000002000000013d1fe2d400000250000000200000000000000000000000000000001b00000003reloc/squid/config.info.sv    squid_conf=Fullständig sökväg till inställningsfil för squid,0
squid_start=Kommando för att starta squid,3,Automatiskt
squid_stop=Kommando för att stanna squid,3,Automatiskt
squid_path=Squid-körfil,0
pid_file=Fullständig sökväg till PID-fil,0
cache_dir=Fullständig sökväg till squid-cache-katalog,0
cachemgr_path=Squid-cachemgr.cgi-körfil,0
log_dir=Fullständig sökväg till squid-loggkatalog,0
calamaris=Sökväg till logganalyseringsprogrammet calamaris,3,Inte installerat
cal_args=Argument till calamaris-kommando,0
cal_max=Maximalt antal loggrader som ska skickas till calamaris,3,Obegränsat
07070100046c47000081a40000000000000002000000013d1fe2d40000015f000000200000000000000000000000000000001b00000003reloc/squid/config.info.tr    squid_conf=Squid yapýlandýrma dosyasýnýn tam yolu,0
squid_start=Squid'i baþlatma komutu,3,Otomatik
squid_stop=Squid'i durdurma komutu,3,Otomatik
squid_path=Squid çalýþtýrýlabiliri,0
pid_file=PID dosyasýnýn tam yeri,0
cache_dir=Squid cache dizinin tam yeri,0
cachemgr_path=Squid cachemgr.cgi çalýþtýrýlabilir,0
log_dir=Squid kayýt dizininin tam yeri,0
 07070100046c48000081a40000000000000002000000013d1fe2d400000175000000200000000000000000000000000000001e00000003reloc/squid/config.info.zh_CN squid_conf=squid ÅäÖÃÎÄ¼þµÄÈ«Â·¾¶,0
squid_start=Æô¶¯ squidµÄÃüÁî,3,×Ô¶¯
squid_stop=Í£Ö¹ stop squid µÄÃüÁî,3,×Ô¶¯
squid_path=Squid ¿ÉÖ´ÐÐ,0
pid_file=PID ÎÄ¼þµÄÈ«Â·¾¶,0
cache_dir=squid»º³åÄ¿Â¼µÄÈ«Â·¾¶,0
cachemgr_path=Squid cachemgr.cgi ¿ÉÖ´ÐÐ,0
log_dir=ÈÕÖ¾Ä¿Â¼µÄÈ«Â·¾¶,0
calamaris=µ½´ï calamaris ÈÕÖ¾·ÖÎö³ÌÐòµÄÂ·¾¶,3,Ã»ÓÐ°²×°
cal_max=´«µÝ¸ø  calamaris µÄ×î´óÈÕÖ¾ÐÐÊý,3,ÎÞÏÞ
   070701000482e2000041ed0000000000000001000000023d1ffb6300000000000000200000000000000000000000000000001100000003reloc/squid/help  070701000482e3000081a40000000000000002000000013d1fe2d4000006a9000000200000000000000000000000000000002200000003reloc/squid/help/edit_acl.ca.html <header>Control d'Accés</header>

<b>Llistes de control d'accés</b>: Les ACLs són llistes de termes amb patrons
de coincidència per utilitzar amb expressions literals o expressions regulars.
Una ACL també pot ser un fitxer que conté un element o expressió regular
per línia. La caixa d'ACL d'aquesta pàgina té diversos camps que es poden
editar. També es poden crear noves ACLs.

<p>
Els camps presents són:
<p>
<em>Nom</em> és el nom amb què identifiquem l'ACL.  En crear una
<b>Restricció de proxy</b>, aquest és el nom que es fa servir per definir
allò que es restringeix.
<p>
<em>Tipus</em> és el tipus d'informació amb la qual es compara l'ACL. 
<p>
<em>Coincidint amb...</em> és l'adreça port, URL, usuari, etc amb la qual
es compararà l'ACL.
<p>
<b>Restriccions de proxy</b>: Les restriccions de proxy són regles que o bé
permeten o bé deneguen una petició donada en base a si l'ACL coincideix
amb els detalls de la petició. Hi ha tres camps en aquesta caixa:
<p>
<em>Acció</em> és o bé <em>permet</em> o bé <em>denega</em>.
<p>
<em>ACLs</em> són les ACLs amb les quals es compararan les peticions per
decidir si s'ha de permetre o denegar. Si es precedeix amb un signe
d'exclamació, es negarà l'ACL; dir d'una altra manera, es permetrà o
rebutjarà tot <em>excepte</em> els membres d'aquesta ACL.
<p>
<em>Mou</em> permet l'ordenació de les restriccions de la llista.
L'ordre en què apareixen és important, ja que Squid només llegeix la llista
quins que troba la primera coincidència.
<p>
<b>Restriccions ICP</b>: Aquesta caixa és per restringir peticions ICP.
Les peticions ICP són peticions d'altres memòries cau veïnes. Aquesta
secció funciona igual que les <b>Restriccions de proxy</b>.

<hr>


   070701000482e4000081a40000000000000002000000013d1fe2d4000006db000000200000000000000000000000000000002200000003reloc/squid/help/edit_acl.es.html <header>Control de Acceso</header>

<b>Listas de control de acceso</b>: ACLs son listas de términos con los que hay que coincidir mediante el uso de expresiones regulares o literales. Un ACL puede también ser un archivo que contenga un elemento o expresión regular por línea. La rejilla ACL de esta página tiene varios campos que pueden ser editados. También se pueden crear nuevas ACLs.
<p>
Los campos presentes son:
<p>
<em>Nombre</em> es el nombre por el cual se puede identificar a la ACL. Al crear una <b>Restricción Proxy</b> este es el nombre usado para definir lo que se está restringiendo.
<p>
<em>Tipo</em> es el tipo de información que debe de coincidir con la ACL.
<p>
<em>Que coincida con...</em> es la dirección, puerto, dirección (URL), usuario, etc... que debe de coincidir con la ACL.
<p>
<b>Restricciones Proxy</b>: Son las reglas que permiten o deniegan un requerimiento dado basándose en si su ACL coincide con el requerimiento específico. Hay tres campos en esta rejilla.
<p>
<em>Acción</em> puede ser o <em>permitir</em> o <em>denegar</em>.
<p>
<em>ACLs</em> son las ACLs que han de coincidir para decidir si el requerimiento se permite o se deniega. Si van precedidas de un signo de cierre de exclamación la ACL será negada, en otras palabras todo <em>excepto</em> los miembros de esa ACL serán autorizados o denegados.
<p>
<em>Mover</em> permite mover el orden de restricciones de la lista. El orden en que aparecen es importante porque Squid sólo lee la lista hasta que encuentra la primera coincidencia.
<p>
<b>Restricciones ICP</b>: Esta rejilla es para restricciones de requerimientos ICP.  Los requerminentos ICP son requeridos desde otras cachés vecinas. Esta sección funciona igual que las <b>Restricciones Proxy</b>.

<hr>
 070701000482e5000081a40000000000000002000000013d1fe2d400000644000000200000000000000000000000000000001f00000003reloc/squid/help/edit_acl.html    <header>Access Control</header>

<b>Access control lists</b>: ACLs are lists of terms to be matched using regulard expressions of literal expressions.  An ACL may also be a file that contains one item or regular expression per line. The ACL box on this page has several fields which may be edited.  New ACLs may also be created.
<p>
The fields present are:
<p>
<em>Name</em> is the name by which the ACL can be identified.  When creating a <b>Proxy Restriction</b> this is the name used to define what is being restricted.
<p>
<em>Type</em> is the type of information that the ACL is to be matched against. 
<p>
<em>Matching..</em> is the address, port, URL, user, etc. that the ACL will be matching to.
<p>
<b>Proxy restrictions</b>: Proxy restrictions are rules that either allow or deny a given request based on whether its ACL matches the specifics of the reuqest.  There are three fields in this box.
<p>
<em>Action</em> is either <em>allow</em> or <em>deny</em>.
<p>
<em>ACLs</em> are the ACLs that will be matched against to decide whether the request is allowed or denied.  If prepended by an exclamation point the ACL will be negated, in other words everything <em>except</em> members of that ACL will be allowed or denied. 
<p>
<em>Move</em> allows the order of restrictions in the list.  The order in which they appear is important, because Squid only reads the list until it has found the first match.
<p>
<b>ICP restrictions</b>: This box is for restricting ICP requests.  ICP requests are requests from other neighbor caches.  This section work the same as <b>Proxy restrictions</b>.

<hr>
070701000482e6000081a40000000000000002000000013d1fe2d400000644000000200000000000000000000000000000002200000003reloc/squid/help/edit_acl.it.html <header>Access Control</header>

<b>Access control lists</b>: ACLs are lists of terms to be matched using regulard expressions of literal expressions.  An ACL may also be a file that contains one item or regular expression per line. The ACL box on this page has several fields which may be edited.  New ACLs may also be created.
<p>
The fields present are:
<p>
<em>Name</em> is the name by which the ACL can be identified.  When creating a <b>Proxy Restriction</b> this is the name used to define what is being restricted.
<p>
<em>Type</em> is the type of information that the ACL is to be matched against. 
<p>
<em>Matching..</em> is the address, port, URL, user, etc. that the ACL will be matching to.
<p>
<b>Proxy restrictions</b>: Proxy restrictions are rules that either allow or deny a given request based on whether its ACL matches the specifics of the reuqest.  There are three fields in this box.
<p>
<em>Action</em> is either <em>allow</em> or <em>deny</em>.
<p>
<em>ACLs</em> are the ACLs that will be matched against to decide whether the request is allowed or denied.  If prepended by an exclamation point the ACL will be negated, in other words everything <em>except</em> members of that ACL will be allowed or denied. 
<p>
<em>Move</em> allows the order of restrictions in the list.  The order in which they appear is important, because Squid only reads the list until it has found the first match.
<p>
<b>ICP restrictions</b>: This box is for restricting ICP requests.  ICP requests are requests from other neighbor caches.  This section work the same as <b>Proxy restrictions</b>.

<hr>
070701000482e7000081a40000000000000002000000013d1fe2d400000686000000200000000000000000000000000000002200000003reloc/squid/help/edit_acl.pl.html <header>Kontrola dostêpu</header>

<b>Listy kontroli dostêpu</b>: ACL s± to listy terminów, do których
dopasowywane s± wyra¿enia regularne lub znakowe. ACL mo¿e równie¿ byæ
plikiem zawieraj±cym jedn± pozycjê lub wyra¿enie regularne w&nbsp;linii.
Ramka ACL na tej stronie zawira kilka pól, które mog± byc zmieniane. Mo¿na
równie¿ utworzyæ now± ACL. <p>

Obecne s± pola:
<p>

<em>Nazwa</em> jest nazw±, po której ACL jest identyfikowana. Podczas
tworzenia <b>Ograniczenia proxy</b> nazwa ta s³u¿y do okre¶lenia, co jest
ograniczane. <p>

<em>Typ</em> jest rodzajem informacji, z&nbsp;któr± ACL ma byc porównywana.
<p>

<em>Wzorzec..</em> jest adresem, portem, URL-em, u¿ytkownikiem, itd., który
jako ACL ma byæ porównywany. <p>

<b>Ograniczenia proxy</b>: Ograniczenia proxy s± regu³ami, które albo
dopuszczaj± albo blokuj± okre¶lone zapytania na podsatawie tego, czy jego
ACL pasuje do elementów zapytania. S± trzy pola w&nbsp;tej ramce. <p>

<em>Dzia³anie</em> jest albo <em>pozwól</em> albo <em>zabroñ</em>. <p>

<em>ACL</em> s± ACL-ami, z&nbsp;którymi bêd± wykonywane porównania, aby
okre¶liæ, czy zapytanie zostanie dopuszczone czy zablokowane. Poprzedzenie
ACL wykrzyknikiem oznacza jej negacjê, innymi s³owy wszystko <em>oprócz</em>
cz³onków ACL zostanie dopuszczone albo zablokowane. <p>

<em>Przesuñ</em> zmienia kolejno¶æ ograniczeñ na li¶cie. Kolejno¶æ,
w&nbsp;jakiej siê one pojawiaj±, jest wa¿na, gdy¿ Squid czyta listê jedynie
do pierwszego spe³nionego trafienia. <p>

<b>Ograniczenia ICP</b>: Ta ramka s³u¿y do ograniczania zapytañ ICP.
Zapytania ICP s± zapytaniami od innych, s±siednich proxy. Ta czê¶æ dzia³a
tak samo jak <b>Ograniczenia proxy</b>.

<hr>
  070701000482e8000081a40000000000000002000000013d1fe2d400000641000000200000000000000000000000000000002200000003reloc/squid/help/edit_acl.sv.html <header>Åtkomstkontroll</header>

<b>Listor för åtkomstkontroll</b>: Åtkomstlistor (ACL:er) är listor med
villkor som ska matchas av reguljära uttryck. En åtkomstlista kan också vara
en fil där varje rad innehåller ett reguljärt uttryck eller en post. Rutan för
åtkomstlistor på denna sida har flera ändringsbara fält, och det går också att
lägga till åtkomstlistorr.

<p>Följande fält finns:

<p><em>Namn</em> är åtkomstlistans identitet. När man skapar en
<b>proxy-begränsning</b> är det detta namn som definierar vad som begränsas.

<p><em>Typ</em> är den informationstyp som åtkomstlistan ska matchas mot.

<p><em>Matchar ...</em> är den adress, port, URL, användare, etc som
åtkomstlistan ska matcha.

<p><b>Proxy-begränsningar</b>: Proxy-begränsningar är regler som släpper
igenom eller spärrar en förfrågning baserat på om dess åtkomstlista matchar
förfrågningen. Det finns tre fält i denna ruta:

<p><em>Åtgärd</em> är antingen <em>tillåt</em> eller <em>spärra</em>.

<p><em>Listor</em> är de åtkomstlistor som förfrågningen matchas mot för att se om den ska tillåtas eller spärras. Om ACL:en föregås av ett utropstecken kommer den att negeras, dvs allt <em>utom</em> poster i denna ACL kommer att tillåtas eller spärras.

<p><em>Flytta</em> gör att du kan ändra ordningen på listans begränsningar. Ordningen är viktig, eftersom Squid bara läser i listan tills den hittar något som matchar.

<p><b>ICP-begränsningar</b>: Denna ruta används för att begränsa ICP-förfrågningar.  ICP-förfrågningar är signaler från andra cacher. Fälten fungerar likadant som för <b>Proxy-begränsningar</b>.

<hr>
   070701000482e9000081a40000000000000002000000013d1fe2d40000041a000000200000000000000000000000000000002a00000003reloc/squid/help/edit_acl.zh_TW.Big5.html <header>¦s¨ú±±¨î</header>

<b>¦s¨ú±±¨î¦Cªí (ACL)</b>: ACL ¬O¤@­Ó¨Ï¥Î¥¿³Wªí¥Ü¦¡©Î¤å¦r´y­zªº²Å¦X¶µ¥Ø¦Cªí. ¤@­Ó ACL ¤]¥i¥H¬O¤@­Ó¨C¤@¦æ¥]¬A¤F¶µ¥Ø©Î¬O¥¿³Wªí¥Ü¦¡ªºÀÉ®×. ³o¤@­¶ªº ACL ªí³æ¥]§t¤F¼Æ­Ó¥i¥H½s¿èªºÄæ¬°, ¦Ó¥B¤]¥i¥H¦b¦¹«Ø¥ß·sªº ACL.
<p>
¥]§tªºÄæÄÞÄÞ:
<p>
<em>¦WºÙ</em> ¬O³o­Ó ACL ³QÃÑ§Oªº¦WºÙ. ·í«Ø¥ß¤@­Ó<b>¥N²z¦øªA¾¹­­¨î</b>®É, ³o­Ó¦WºÙ¥i¥H¥Î©ó©w¸q­­¨î.
<p>
<em>Ãþ§O</em> ¬O³o­Ó ACL ­n²Å¦XªºÃþ§O. 
<p>
<em>²Å¦X</em> ¥i¥H¬O¤@­Ó¦ì§}, ³q°T°ð, URL, ¨Ï¥ÎªÌµ¥µ¥, ¬O ACL ­n²Å¦Xªº¹ï¶H
<p>
<b>¥N²z¦øªA¾¹­­¨î</b>: ³o¬O¨Ì¾Ú²Å¦X ACL ±ø¥ó®É­n¤¹³\©Î©Úµ´ªº³W«h. ³oÃä¦@¦³¤T­ÓÄæ¦ì:
<p>
<em>°Ê§@</em> ¥i¥H¬O <em>¤¹³\</em> ©Î <em>©Úµ´</em>.
<p>
<em>¦s¨ú±±¨î¦Cªí</em> ¬O¨M©w­n¤¹³\©Î©Úµ´®Éªº§PÂ_±ø¥ó. ³o¥u·|¼vÅT²Å¦X ACL ±Ô­zªº¹ï¶H, ¤]´N¬O»¡<em>°£¤F</em> ACL ¤¤ªº¦¨­û¤§¥~, ¨ä¥Lªº¹ï¶H±N­n³Q¤¹³\©Î©Úµ´. 
<p>
<em>²¾°Ê</em> ¤¹³\±z±Æ¦C¦Cªí¤¤ªº­­¨î¶¶§Ç. ³o­Ó±Æ¦C¶¶§Ç¬O«D±`­«­nªº, ¦]¬° Squid ·|¨Ì§Ç¤ñ¹ï¨C¤@­Ó±Ô­zª½¨ì²Å¦Xªºµo²{«á, «K·|°±¤î¤ñ¹ï¨Ã°õ¦æ­­¨î.
<p>
<b>ICP ­­¨î</b>: ¥Î¥H­­¨î ICP ­n¨D. ICP ­n¨D¬O±q¨ä¥L¦P¯Å§Ö¨ú¨Óªº­n¨D. ³oÃäªº¤u§@¤è¦¡»P<b>¥N²z¦øªA¾¹­­¨î</b>¬Û¦P.

<hr>
  070701000482ea000081a40000000000000002000000013d1fe2d4000007bb000000200000000000000000000000000000002400000003reloc/squid/help/edit_admin.ca.html   <header>Opcions Administratives</header>

<b>Executa com a usuari Unix</b>: Per defecte, és 'nobody' o 'squid', depenent
del sistema.  Si el cau s'executa com a root, canviara el seu ID efectiu/real
a aquest valor.
<p>
<b>Executa com a grup Unix</b>: Per defecte, és 'nogroup' o 'squid', depenent
del sistema.  Si el cau s'executa com a root, canviara el seu ID de grup
efectiu/real a aquest valor.
<p>
<b>Reialme d'autenticació de proxy</b>: Especifica  el nom de reialme que
es fa servir per informar el client per a l'autenticació de proxy
(part del text que l'usuari veurà quan se li demani l'usuari i la contrasenya).
<p>
<b>Adreça de correu de l'administrador del cau</b>: Per defecte, és 'webmaster'
o 'root', depenent del sistema. L'adreça de correu de l'administrador local
que rebrà correu si es mor el cau.
<p>
<b>Nom de host visible</b>: Si vols presentar un nom de host especial en 
missatges d'error, etc., llavors defineix això.  Altrament, es farà servir
el valor de retorn de gethostname(). Si tens múltiples caus en un clúster
i tens errors amb el redireccionat IP, has de posar que tinguin noms
individuals.
<p>
<b>Nom de host únic</b>: Si vols tenir múltiples màquines amb el mateix
<b>nom de host visible</b>, llavors has de donar a cada màquina un 
<b>nom de host únic</b> per tal que es puguin detectar els redireccionaments.
<p>
<b>Host d'anunci de cau</b>: Nom del host on s'enviaran els missatges 
d'anunci. Busca més informació sobre les jerarquies dels caus a 
<a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html" target="Reference">The Squid FAQ</a>. El defecte és 'tracker.ircache.net', quan s'ha activat l'anunci
amb un cert període.
<p>
<b>Port d'anunci de cau</b>: Port del host on s'enviaran els missatges 
d'anunci. Per defecte, és el 3131 quan l'anunci està activat.
<p>
<b>Període d'anunci</b>: Freqüència dels anuncis. Activa els anuncis
a una jerarquia de caus establint-ho a '1 dia'. Per defecte, és '0',
que desactiva l'anunci.

<hr>

 070701000482eb000081a40000000000000002000000013d1fe2d400000861000000200000000000000000000000000000002400000003reloc/squid/help/edit_admin.es.html   <header>Opciones Administrativas</header>

<b>Ejecutar como usuario Unix</b>: Por defecto es 'nobody' o 'squid' dependiendo del sistema. Si la caché es ejecutada como root, cambiará su ID efectiva/real a este valor.
<p>
<b>Ejecutar como grupo Unix</b>: Por defecto es 'nogroup' o 'squid' dependiendo del sistema. Si la caché es ejecutada como root, cambiará su ID de grupo efectiva/real a este valor.
<p>
<b>Campo de autenticación Proxy</b>: Especifica el nombre de esfera de influencia que es reportado al cliente para autenticación proxy (parte del texto que el usuario verá al ser solicitado por su nombre y clave de acceso).
<p>
<b>Dirección de correo del gestor de caché</b>: Por defecto es 'webmaster' o 'root' dependiendo del sistema. Dirección de correo del gestor local de caché que recibirá correo si la caché finaliza.
<p>
<b>Nombre de máquina visible</b>: Si quieres presentar un nombre especial de máquina en los mensajes de error, etc... entonces define éste. De otro modo, el valor devuelto de gethostname() será utilizado. Si tienes múltiples cachés en un grupo y hay errores acerca de reenvío-IP tienes que hacer que tengan nombres individuales con este valor.
<p>
<b>Nombre único de máquina</b>: Si quieres tener múltiples máquinas con el mismo <b>nombre visible de máquina</b>, entonces tienes que dar a cada máquina un <b>nombre único de máquina</b> de tal manera que se puedan detectar los bucles de reenvío.
<p>
<b>Máquina de anuncio de caché</b>: Nombre de máquina donde los mensajes de anuncio serán enviados. Para saber más sobre las jerarquías de caché mira en <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html" target="Reference">Las PRF (FAQ) de Squid</a>.  Por defecto es 'tracker.ircache.net' si el anuncio está activado mediante un período de anunciación.
<p>
<b>Puerto de anuncio de caché</b>: Puerto de máquina a donde se envían los mensajes de anunciación. Por defecto 3131 al activar la anunciación.
<p>
<b>Período de anunciación</b>: Frecuencia de anunciaciones.  Activa anunciaciones a una jerarquía de caché mediante el valor de '1 día'. Por defecto es '0', el cual desactiva las anunciaciones.

<hr>

   070701000482ec000081a40000000000000002000000013d1fe2d400000778000000200000000000000000000000000000002100000003reloc/squid/help/edit_admin.html  <header>Administrative Options</header>

<b>Run as Unix user</b>: Default is 'nobody' or 'squid' dependent on system.  If the cache is run as root, it will change its effective/real ID to this value.
<p>
<b>Run as Unix group</b>: Default is 'nogroup' or 'squid' dependent on system.  If the cache is run as root, it will change its effective/real group ID to this value.
<p>
<b>Proxy authentication realm</b>: Specifies the realm name which is to be reported to the client for proxy authentication (part of the text the user will see when prompted their username and password).
<p>
<b>Cache manager email address</b>: Default is 'webmaster' or 'root' dependent on system.  Email-address of local cache manager who will receive mail if the cache dies.
<p>
<b>Visible hostname</b>: If you want to present a special hostname in error messages, etc, then define this.  Otherwise, the return value of gethostname() will be used. If you have multiple caches in a cluster and get errors about IP-forwarding you must set them to have individual names with this setting.
<p>
<b>Unique hostname</b>: If you want to have multiple machines with the same <b>Visible hostname</b> then you must give each machine a different <b>Unique hostname</b> so that forwarding loops can be detected.
<p>
<b>Cache announce host</b>: Hostname where announcement messages will be sent.  Find out more about cache hierarchies from <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html" target="Reference">The Squid FAQ</a>.  Defaults to 'tracker.ircache.net' when announcement is enabled by setting an announce period.
<p>
<b>Cache announce port</b>: Host port where announcement messages will be sent.  Defaults to 3131 when announcement is enabled. 
<p>
<b>Announcement period</b>: Frequency of announcements.  Enable announcements to a cache heirarchy by setting this to '1 day'.  The default is '0' which turns off announcement.

<hr>

070701000482ed000081a40000000000000002000000013d1fe2d400000778000000200000000000000000000000000000002400000003reloc/squid/help/edit_admin.it.html   <header>Administrative Options</header>

<b>Run as Unix user</b>: Default is 'nobody' or 'squid' dependent on system.  If the cache is run as root, it will change its effective/real ID to this value.
<p>
<b>Run as Unix group</b>: Default is 'nogroup' or 'squid' dependent on system.  If the cache is run as root, it will change its effective/real group ID to this value.
<p>
<b>Proxy authentication realm</b>: Specifies the realm name which is to be reported to the client for proxy authentication (part of the text the user will see when prompted their username and password).
<p>
<b>Cache manager email address</b>: Default is 'webmaster' or 'root' dependent on system.  Email-address of local cache manager who will receive mail if the cache dies.
<p>
<b>Visible hostname</b>: If you want to present a special hostname in error messages, etc, then define this.  Otherwise, the return value of gethostname() will be used. If you have multiple caches in a cluster and get errors about IP-forwarding you must set them to have individual names with this setting.
<p>
<b>Unique hostname</b>: If you want to have multiple machines with the same <b>Visible hostname</b> then you must give each machine a different <b>Unique hostname</b> so that forwarding loops can be detected.
<p>
<b>Cache announce host</b>: Hostname where announcement messages will be sent.  Find out more about cache hierarchies from <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html" target="Reference">The Squid FAQ</a>.  Defaults to 'tracker.ircache.net' when announcement is enabled by setting an announce period.
<p>
<b>Cache announce port</b>: Host port where announcement messages will be sent.  Defaults to 3131 when announcement is enabled. 
<p>
<b>Announcement period</b>: Frequency of announcements.  Enable announcements to a cache heirarchy by setting this to '1 day'.  The default is '0' which turns off announcement.

<hr>

070701000482ee000081a40000000000000002000000013d1fe2d400000895000000200000000000000000000000000000002400000003reloc/squid/help/edit_admin.pl.html   <header>Opcje administracyjne</header>

<b>Uruchom jako u¿ytkownik Uniksa</b>: Domy¶lnie jest 'nobody' lub 'squid'
w&nbsp;zale¿no¶ci od systemu. Je¶li proxy jest uruchomione jako root, zmieni
ono swój efektywny/rzeczywisty UID na tê warto¶æ. <p>

<b>Uruchom jako grupa Uniksa</b>: Domy¶lnie jest 'nogroup' lub 'squid'
w&nbsp;zale¿no¶ci od systemu. Je¶li proxy jest uruchomione jako root, zmieni
ono swój efektywny/rzeczywisty ID grupy na tê warto¶æ. <p>

<b>Dziedzina autoryzacji proxy</b>: Okre¶la nazwê dziedziny, która bêdzie
zakomunikowana klientowi dla autoryzacji proxy (czê¶æ tekstu, któr±
u¿ytkownik zobaczy, gdy zostanie poproszony o&nbsp;nazwê u¿ytkownika
i&nbsp;has³o). <p>

<b>Adres e-mail zarz±dcy proxy</b>: Domy¶lnie jest 'webmaster' or 'root'
w&nbsp;zale¿no¶ci od systemu. Adres e-mail lokalnego zarz±dcy proxy, który
bêdzie otrzymywa³ wiadomo¶æ w&nbsp;padu proxy. <p>

<b>Widoczna nazwa hosta</b>: Je¶li chcesz przedstawiæ okre¶lon± nazwê hosta
w&nbsp;komunikatach o&nbsp;b³êdach itp., to podaj j± tu. W przeciwnym razie
bêdzie u¿yta warto¶æ zwracana przez gethostname(). Je¶li posiadasz wiele
proxy w&nbsp;klastrze i&nbsp;otrzymujesz b³êdy dotycz±ce przekazywania IP,
musisz nadaæ im indywidualne nazwy za pomoc± tego ustawienia. <p>

<b>Unikalna nazwa hosta</b>: Je¶li chcesz mieæ wiele maszyn z&nbsp;t± sam±
<b>Widoczn± nazw± hosta</b> to musisz nadaæ ka¿dej z&nbsp;nich inn±
<b>Unikaln± nazwê hosta</b> tak, aby zapêtlanie podczas przekazywania mog³o
zostaæ wykryte. <p>

<b>Host rozg³aszania cache</b>: Nazwa hosta, do którego bêd± wysy³ane
komunikaty rozg³oszeniowe. Wiêcej na temat hierarchii proxy znajdziesz
w&nbsp;<a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html"
target="Reference">FAQ-u Squida</a>. Domy¶lnie jest to
'tracker.ircache.net', je¶li rozg³aszanie zosta³o w³±czone poprzez podanie
okresu rozg³aszania. <p>

<b>Port rozg³aszania cache</b>: Port hosta, na który komunikaty
rozg³oszeniowe bêd± wysy³ane. Domy¶lnie jest to 3131, gdy rozg³aszanie jest
w³±czone. <p>

<b>Czêstotliwo¶æ rozg³aszania</b>: Czêstotliwo¶æ rozg³oszeñ. W³±cz
rozg³aszanie do hierarchii proxy poprzez ustawienia jej na '1 dzieñ'.
Domy¶lnie jest '0', co wy³±cza rozg³aszanie.

<hr>

   070701000482ef000081a40000000000000002000000013d1fe2d400000807000000200000000000000000000000000000002400000003reloc/squid/help/edit_admin.sv.html   <header>Administrativa inställningar</header>

<b>Kör som Unix-användare</b>: Standardinställningen är 'nobody' eller
'squid', beroende på systemet. Om cache körs som root, kommer det att
byta ID till det du anger här.

<p><b>Kör som Unix-grupp</b>: Standardinställningen är 'nogroup' eller
'squid', beroende på systemet. Om cache körs som root, kommer det att
byta grupp-ID till det du anger här.

<p><b>Proxy-autentiseringsområde</b>: Anger det områdesnamn som ska
skickas till klienten för proxy-autentisering (en del av den text som
användaren får se när han tillfrågas om användarnamn och lösenord).

<p><b>Cache-administratörens e-postadress</b>: Standardinställningen
är 'webmaster' eller 'root', beroende på systemet. E-postadressen för
den lokala cache-administratören som ska få ett meddelande om cachen
dör.

<p><b>Synligt datornamn</b>: Om du vill att ett särskilt datornamn ska
visas i felmeddelanden och liknande, kan du ange detta namn här. Om
inget namn anges här kommer resultatet av gethostname() att
användas. Om du har satt upp flera cacher i ett kluster och får
felmeddelanden om IP-sändningar måste du ge cacherna individuella namn
här.

<p><b>Unikt datornamn</b>: Om du vill att flera maskiner ska ha samma
<b>synliga datornamn</b> måste du också ange olika <b>unika
datornamn</b> för dem här, så att rundgångar kan upptäckas.

<p><b>Dator för cache-meddelanden</b>: Dator som ska ta emot
annonseringsmeddelanden. Du kan läsa mer om cache-hierarkier på <a
href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html"
target="Reference">The Squid FAQ</a>. Standardrouten går till
'tracker.ircache.net' när Annonsering aktiverats genom att ett
annonseringsintervall satts.

<p><b>Port för cache-meddelanden</b>: Datorport som ska ta emot
annonseringsmeddelanden. Standardinställningen är 3131 när Annonsering
aktiverats.

<p><b>Annonseringsintervall</b>: Frekvens för
annonseringsmeddelanden. Aktivera annonsering till en cache-hierarki
genom att sätta detta värde till '1 dag'. Standardvärdet är '0',
vilket deaktiverar annonseringen.

<hr>
 070701000482f0000081a40000000000000002000000013d1fe2d400000527000000200000000000000000000000000000002c00000003reloc/squid/help/edit_admin.zh_TW.Big5.html   <header>ºÞ²z¿ï¶µ</header>

<b>¥H Unix ¨Ï¥ÎªÌ°õ¦æ</b>: ¨Ì¾Ú±z¨t²Îªº¤£¦P, ¹w³]­È¬° 'nobody' ©Î 'squid'. ¦pªG§Ö¨ú¬O¥H root ¨­¤À°õ¦æ, ¥¦·|§â¦³®Äªº (¯u¹êªº) ¨­¤À¤Á´«¦¨³o­Ó¼Æ­È.
<p>
<b>¥H Unix ¸s²Õ°õ¦æ</b>: ¨Ì¾Ú±z¨t²Îªº¤£¦P, ¹w³]­È¬° 'nobody' ©Î 'squid'. ¦pªG§Ö¨ú¬O¥H root ¨­¤À°õ¦æ, ¥¦·|§â¦³®Äªº (¯u¹êªº) ¨­¤À¤Á´«¦¨³o­Ó¼Æ­È.
<p>
<b>¥N²z¦øªA¾¹»{ÃÒ½d³ò</b>: «ü©w­n«È¤áºÝ¶i¦æ¥N²z¦øªA¾¹»{ÃÒªº½d³ò. ¨Ï¥ÎªÌ±N·|³Q´£¥Ü¨Ï¥ÎªÌ¦WºÙ»P±K½X.
<p>
<b>§Ö¨úºÞ²zªÌ¹q¤l¶l¥ó¦ì§}</b>: ¨Ì¾Ú±z¨t²Îªº¤£¦P, ¹w³]­È¬° 'webmaster' ©Î 'root'. ¦pªG§Ö¨ú¦º±¼®É, ³o­Ó¶l¥ó¦ì§}±N·|¦¬¨ì¹q¤l¶l¥óªº³qª¾.
<p>
<b>¥i¨£ªº¥D¾÷¦WºÙ</b>: ¦pªG±z·Q­n¦b¿ù»~°T®§¤¤¦³«ü©wªº¥D¾÷¦WºÙ, ½Ð©w¸q³o¤@¶µ. §_«hªº¸Ü¿ù»~°T®§±N·|¨Ï¥Î gethostname() ©Ò¶Ç¦^ªº¦WºÙ§@¬°Åã¥Ü¦WºÙ. ¦pªG±z¦³¦h­Ó§Ö¨ú¥HÂO¶°ªº¤è¦¡°õ¦æ¨Ã¥H IP Âà°eªº¤è¦¡¨ú±o¿ù»~°T®§, ±z¥²¶·¥H³o­Ó³]©w«ü©w¿W¥ßªº¦WºÙ.
<p>
<b>°ß¤@ªº¥D¾÷¦WºÙ</b>: ¦pªG±z§Æ±æ¦h­Ó¥D¾÷¨Ï¥Î¬Û¦Pªº<b>¥i¨£ªº¥D¾÷¦WºÙ</b>, «h±z¥²¶·µ¹¤©¨C¤@­Ó¾÷¾¹¤£¦Pªº<b>°ß¤@ªº¥D¾÷¦WºÙ</b>, ¦p¦¹¤è¯à°»´ú¨ìÂà°e°j°é.
<p>
<b>§Ö¨ú¤½§i¥D¾÷</b>: ¤½§i°T®§­n°e¨ìªº¥D¾÷¦WºÙ. §ó¦hªº¸ê°T½Ð¨ì <a href="http://www.squid-cache.org/Doc/FAQ/FAQ-4.html" target="Reference">The Squid FAQ</a> ¬d¸ß. ¹w³]­È¬°¤½§i¨ì 'tracker.ircache.net'.
<p>
<b>§Ö¨ú¤½§i³q°T°ð</b>: ¤½§i°T®§­n°e¨ì¥D¾÷ªº³q°T°ð. ¹w³]­È¬° 3131. 
<p>
<b>¤½§i®É¶¡</b>: ¤½§iªºÀW²v. ³]©w¬° '1 ¤Ñ' ¥i¥H±Ò°Ê¤½§i. ¹w³]­È '0' ±NÃö³¬¤½§i.

<hr>

 070701000482f1000081a40000000000000002000000013d1fe2d400001489000000200000000000000000000000000000002400000003reloc/squid/help/edit_cache.ca.html   <header>Opcions del Cau</header>

<b>Directoris del cau</b>: Pots especificar múltiples línies de directori cau
per escampar el cau per diferents particions del disc.<p>

<em>Directori</em> és un directori principal on s'emmagatzemaran
els fitxers d'intercanvi del cau. Si vols fer servir un disc complet pel cau,
llavors això pot ser el directori de muntatge. El directori ha d'existir i
el procés Squid ha de poder-hi escriure. Squid NO crearà aquest directori
per tu.
<p>
<em>Mida</em> és la quantitat d'espai al disc (Mb) per utilitzar sota aquest
directori. Per defecte, és 100 Mb. Canvia-ho d'acord amb la teva configuració.
<p>
<em>Dirs de 1ª nivell</em> és el nombre de subdirectoris de primer nivell
que es crearan sota <em>Directori</em>. Per defecte, és 16.
<p>
<em>Dirs de 2ª nivell</em> és el nombre de subdirectoris de segon nivell
que es crearan sota cadascun dels directoris de primer nivell.
Per defecte, és 256.
<P>
<b>Mida mitjana d'objecte</em>: Per defecte, 13 Kb. Es fa servir per 
estimar el nombre d'objectes que el cau pot gestionar.
<p>
<b>Objectes per cubell</b>: Per defecte, 50. Número objectiu d'objectes per
cubell a la taula hash. Abaixant aquest valor s'incrementa el nombre total
de cubells i també el ritme de manteniment de l'emmagatzematge.
<p>
<b>No posis al cau les URLs de les ACLs</b>: Per defecte, cap. Selecciona 
aquelles ACLs per a les quals no vols que Squid emmagatzemi dades al cau.
Útil per definir un servidor web intern que no ha d'estar al cau.
<p>
<b>Temps màxim al cau</b>: Per defecte, 1 any. Aquest paràmetre defineix
l'edat màxima d'un URL. Per exemple, posant-ho a '1 setmana', farà que
els objectes s'esborrin si no han estat accedits en una setmana o més.
<p>
<b>Temps cau de petició errònia</b> Per defecte, 5 minuts. Alguns tipus
d'errors (com ara "connexió rebutjada" i "404 No Trobat") es posen al cau
en negatiu per un cert període de temps. Tingues en compte que això és
diferent del cau negatiu de les consultes DNS.
<p>
<b>Temps cau de consulta de DNS</b>: Per defecte, 6 hores (360 minuts).
Temps de vida (Time-to-live, TTL) del cau positiu de les consultes DNS
reeixides. Si vols minimitzar l'ús de ipcache de Squid, posa-ho a 1, no a 0.
<p>
<b>Temps cau de DNS erroni</b>: Per defecte, 5 minuts. Temps de vida (TTL)
del cau negatiu de les consultes DNS fallides.
<p>
<b>Temps límit de connexió</b>: Per defecte, 120 segons.
No es pot confiar que alguns sistemes (sobretot Linux) cancel·lin degudament
les peticions connect(2). Així doncs, el procés Squid força el seu propi
temps límit en les connexions del servidor. Aquest paràmetre especifica 
quan ha d'esperar per completar la connexió.
<p>
<b>Temps límit de lectura</b>: Per defecte, 15 minuts. El temps límit de
lectura s'aplica en connexions de la part del servidor. Després de cada 
read() reeixit, el temps límit s'ampliarà amb aquesta quantitat. Si no es
llegeix cap dada altre cop després d'aquest interval de temps, la petició
s'avorta i s'enregsitra amb ERR_READ_TIMEOUT.
<p>
<b>Temps màxim de selecció del lloc</b>: Per defecte, 4 segons. Per a
selecció d'URN a URL d'URLs múltiples.
<p>
<b>Temps límit de petició d'usuari</b>: Per defecte, 15 minuts.
El temps límit de lectura s'aplica en connexions de la part del servidor.
Després de cada read() reeixit, el temps límit s'ampliarà amb aquesta
quantitat. Si no es llegeix cap dada altre cop després d'aquest interval
de temps, la petició s'avorta i s'enregsitra amb ERR_READ_TIMEOUT.
<p>
<b>Temps màxim de connexió del client</b>: Per defecte, 1 dia.
El temps màxim que un client (fullejador) té permès de romandre connectat
al procés cau. Això protegeix el cau de tenir molts sòcols (i per tant
descriptors de fitxers) clavats en un estat CLOSE_WAIT des de clients remots
que marxen sense tancar de forma adient (bé a causa d'un error de xarxa,
bé a causa d'una mala implementació del client).
<p>
<b>Temps màxim de tancament</b>: Per defecte, 30 segons.
Quan es rep SIGTERM o SIGHUP, el cau es posa en mode "pendent de tancament"
fins que es tanquen tots els sòcols actius. Aquest valor és el temps de
vida del tots els descriptors oberts en el moment del tancament. Tots els
clients actius passat aquest temps rebran un missatge de temps límit.
<p>
<b>Clients mig tancats</b>:  Per defecte, 'Activat'. Pot ser que alguns
clients tanquin la part emissora de les seves connexions TCP, alhora que
deixen les seves parts receptores obertes. De vegades, Squid no pot distingir
entre una connexió TCP mig tancada i una de completament tancada. Per defecte,
les connexions mig tancades es mantenen obertes fins que un read(2) o un
write(2) sobre el sòcol retornen un error. Si canvies aquesta opció a
'Desactivat', Squid tancarà immediatament totes les connexions de clients
quan read(2) retorni "no hi ha més dades per llegir".
<p>
<b>Temps límit de persistència</b>: Per defecte, 120 segons.
Temps límit d'inactivitat pe connexions persistents de clients, servidors
i altres proxys. Les connexions persistents es desactivaran si aquest
valor és menor de 10 segons.
<p>
<b>Repetidor WAIS</b>: Per defecte, cap. Nom del host o adreça per
reenviar-hi les peticions WAIS.
<p>
<b>Port repetidor WAIS</b>: Per defecte, cap.  Port  per reenviar-hi les
peticions WAIS.

<hr>
 


   070701000482f2000081a40000000000000002000000013d1fe2d40000162f000000200000000000000000000000000000002400000003reloc/squid/help/edit_cache.es.html   <header>Opciones de Caché</header>

<b>Directorios de Caché</b>: Puedes especificar múltiples líneas de directorios de caché para ampliar la caché entre diferentes particiones de disco.<p>

<em>Directorio</em> es un directorio de nivel superior donde se almacenan los archivos de intercambio de caché. Si deseas utilizar todo un disco para hacer caché, entonces aquí puedes poner el directorio de anclaje. El directorio debe de existir y ser escribible por el proceso de Squid. Squid NO creará el directorio si no existe.
<p>
<em>Medida</em> es la cantidad de espacio en disco (MB) a usar bajo este directorio. Por defecto son 100MB. Cambia esto para adaptarlo a tu configuración.
<p>
<em>Directorios de primer nivel</em> es el número de subdirectorios de primer nivel que se crearán bajo <em>Directorio</em>.  Por defecto son 16.
<p>
<em>Directorios de segundo nivel</em> es el número de subdirectorios de segundo nivel que se crearán bajo cada directorio de primer nivel. Por defecto son 256.
<P>
<b>Media de la Medida del Objeto</b>: Por defecto son 13 KB. Se usa para estimar el número de objectos que tu caché puede mantener.
<p>
<b>Objectos por cubo</b>: Por defecto son 50. Número de objetivos de objetos por cubo en la tabla hash de almacenamiento. Bajar este valor incrementa el número total de cubos y también el porcentaje de mantenimiento de almacenamiento.
<p>
<b>No hacer Caché de URLs para las ACLs</b>: Por defecto ninguna. Selecciona cualquier ACL para las que no deseas que Squid lleve caché de sus datos. Es útil para definir un servidor web interno del que no se debe de llevar caché.
<p>
<b>Tiempo máximo de caché</b>: Por defecto 1 año. Este parámetro define la edad máxima de LRU (Unidad menos leída). Por ejemplo, poner '1 semana' hará que los objetos sean quitados si no han sido accedidos durante una semana o más.
<p>
<b>Tiempo para fallo de requerimiento de caché</b> Por defecto 5 minutos. Tiempo-a-Vivir (TTL) para requerimientos fallidos. Ciertos tipos de fallos (como "conexión rechazada y "404 No Hallado") son negatívamente puestos en caché por una cantidad de tiempo configurable. Ten en cuenta que esto es diferente del caché negativo de las búsquedas DNS.
<p>
<b>Tiempo de caché de búsqueda DNS</b>: Por defecto 6 horas (360 minutos).  Timempo-a-Vivir (TTL) para caché positivo de búsquedas exitosas en DNS. Si quieres minimizar el uso de ipcaché de Squid, pon esto a 1 y no a 0.
<p>
<b>Tiempo fallido de caché de DNS</b>: Por defecto 5 minutos.  Tiempo-a-Vivir (TTL) para caché negativo de búsquedas fallidas de DNS.
<p>
<b>Tiempo de espera para Conectar</b>: Por defecto 120 segundos. Algunos sistemas (notáblemente Linux) no pueden realizar adecuádamente el agotamiento de requerimientos de tiempo de conexión. Por ello, el proceso Squid fuerza su propio control de tiempo en las conexiones de servidores. Este parámetro especifica cuánto tiempo esperar para que la conexión se complete.
<p>
<b>Tiempo de espera para Leer</b>: Por defecto 15 minutos. El tiempo máximo de lectura que se aplica en conexiones del lado servidor. Tras cada lectura [read()] con éxito, el tiempo será extendido en esta cantidad. Si no se lee dato alguno de nuevo tras esta cantidad de tiempo, el requerimiento es abortado y puesto en el historial con ERR_READ_TIMEOUT.
<p>
<b>Tiempo de espera para selección de Sitio</b>: Por defecto 4 segundos. Para URN a múltiples URLs.
<p>
<b>Tiempo de espera para requerimiento de Cliente</b>: Por defecto 15 minutos. El tiempo de espera de lectura se aplica a conexiones del lado del servidor. Tras cada lectura [read()] con éxito, el tiempo de espera se extiende en esta cantidad. Si no se lee dato alguno tras esta cantidad de tiempo, el requerimiento es abortado y puesto en el historial con ERR_READ_TIMEOUT.
<p>
<b>Tiempo máximo para conexión de cliente</b>: Por defecto 1 día. La máxima cantidad de tiempo que un cliente (navegador) está autorizado a permanecer conectado al proceso de caché. Esto protege la Caché de tener un montón de sockets (y por ello descriptores de archivo) arrancados en estado CLOSE_WAIT desde clientes remotos que se marchan sin cerrar adecuádamente (o por fallo de red o debido a una pobre implementación).
<p>
<b>Tiempo máximo de apagado</b>: Por defecto 30 segundos. Al recibir SIGTERM o SIGHUP, la caché es puesta en modo "apagado pendiente" hasta que todos los sockets activos son cerrados. Este valor es el tiempo de vida a poner para todos los descriptores abiertos durante el modo de apagado. Cualquier cliente activo tras esta cantidad de segundos recibirá un mensaje de 'tiempo agotado'.
<p>
<b>Clientes medio-cerrados</b>:  Por defecto 'activado'.  Algunos clientes pueden cerrar la parte que envía de sus conexiones TCP mientras dejan sus partes receptoras abiertas. Algunas veces, Squid no puede saber la diferencia entre una conexión TCP medio cerrada y otra complétamente cerrada. Por defecto, las conexiones medio cerradas de clientes se mantienen abiertas hasta que una lectura [read()] o escritura [write()] en el socket devuelva un error. Cambia esta opción a 'desactivada' y Squid cerrará inmediátamente las conexiones de cliente cuando una lectura [read()] devuelva "no hay más datos que leer".
<p>
<b>Tiempo máximo persitente</b>: Por defecto es 120 segundos. Tiempo máximo para conexiones ociosas persistentes a clientes, servidores y otros proxys. Las conexiones persistentes son desactivadas si este valor es inferior a 10 segundos.
<p>
<b>Máquina relé de WAIS</b>: Por defecto ninguna. Nombre de máquina o dirección donde enviar requerimientos de WAIS.
<p>
<b>Puerto relé de WAIS</b>: Por defecto ninguno. Puerto donde dirigir los requerimientos de WAIS.

<hr>
 
 070701000482f3000081a40000000000000002000000013d1fe2d400001331000000200000000000000000000000000000002100000003reloc/squid/help/edit_cache.html  <header>Cache Options</header>

<b>Cache Directories</b>: You can specify multiple cache directory lines to spread the cache among different disk partitions.<p>

<em>Directory</em> is a top-level directory where cache swap files will be stored.  If you want to use an entire disk for caching, then this can be the mount-point directory. The directory must exist and be writable by the Squid process.  Squid will NOT create this directory for you.
<p>
<em>Size</em> is the amount of disk space (MB) to use under this directory.  The default is 100 MB.  Change this to suit your configuration.
<p>
<em>1st level dirs</em> is the number of first-level subdirectories which will be created under the <em>Directoryi</em>.  The default is 16.
<p>
<em>2nd level dirs</em> is the number of second-level subdirectories which will be created under each first-level directory.  The default is 256.
<P>
<b>Average Object Size</em>: Defaults to 13 kB. Average object size, used to estimate number of objects your cache can hold.
<p>
<b>Objects per bucket</b>: Defaults to 50.  Target number of objects per bucket in the store hash table. Lowering this value increases the total number of buckets and also the storage maintenance rate.
<p>
<b>Don't Cache URLs for ACLs</b>: Defaults to none.  Select any ACLs for which you do not want Squid to cache data.  Helpful for defining an internal web server that should not be cached.
<p>
<b>Maximum cache time</b>: Defaults to 1 year.  This parameter defines the maximum LRU age.  For example, setting this to '1 week' will cause objects to be removed if they have not been accessed for a week or more.
<p>
<b>Failed request cache time</b> Defaults to 5 minutes.  Time-to-Live (TTL) for failed requests.  Certain types of failures (such as "connection refused" and "404 Not Found") are negatively-cached for a configurable amount of time.  Note that this is different from negative caching of DNS lookups.
<p>
<b>DNS lookup cache time</b>: Defaults to 6 hours (360 minutes).  Time-to-Live (TTL) for positive caching of successful DNS lookups.  If you want to minimize the use of Squid's ipcache, set this to 1, not 0.
<p>
<b>Failed DNS cache time</b>: Defaults to 5 minutes.  Time-to-Live (TTL) for negative caching of failed DNS lookups.
<p>
<b>Connect Timeout</b>: Default is 120 seconds.  Some systems (notably Linux) can not be relied upon to properly time out connect(2) requests.  Therefore the Squid process enforces its own timeout on server connections.  This parameter specifies how long to wait for the connect to complete.
<p>
<b>Read timeout</b>: Default is 15 minutes.  The read_timeout is applied on server-side connections.  After each successful read(), the timeout will be extended by this amount.  If no data is read again after this amount of time, the request is aborted and logged with ERR_READ_TIMEOUT.
<p>
<b>Site selection timeout</b>: Default is 4 seconds.  For URN to multiple URL's URL selection.
<p>
<b>Client request timeout</b>: Default is 15 minutes.  The read_timeout is applied on server-side connections.  After each successful read(), the timeout will be extended by this amount.  If no data is read again after this amount of time, the request is aborted and logged with ERR_READ_TIMEOUT.
<p>
<b>Max client connect time</b>: Default is 1 day.  The maximum amount of time that a client (browser) is allowed to remain connected to the cache process.  This protects the Cache from having a lot of sockets (and hence file descriptors) tied up in a CLOSE_WAIT state from remote clients that go away without properly shutting down (either because of a network failure or because of a poor client implementation).
<p>
<b>Max shutdown time</b>: Defaults to 30 seconds.  When SIGTERM or SIGHUP is received, the cache is put into "shutdown pending" mode until all active sockets are closed. This value is the lifetime to set for all open descriptors during shutdown mode.  Any active clients after this many seconds will receive a 'timeout' message.
<p>
<b>Half-closed clients</b>:  Defaults to 'on'.  Some clients may shutdown the sending side of their TCP connections, while leaving their receiving sides open.  Sometimes, Squid can not tell the difference between a half-closed and a fully-closed TCP connection.  By default, half-closed client connections are kept open until a read(2) or write(2) on the socket returns an error.  Change this option to 'off' and Squid will immediately close client connections when read(2) returns "no more data to read".
<p>
<b>Persistant timeout</b>: Defaults to 120 seconds.  Timeout for idle persistent connections to clients, servers and other proxies.  Persistent connections will be disabled if this is less than 10 seconds.
<p>
<b>WAIS relay host</b>: Default is none.  Hostname or address to relay WAIS requests to.
<p>
<b>WAIS relay port</b>: Default is none.  Port to direct relay WAIS requests to.

<hr>
 
   070701000482f4000081a40000000000000002000000013d1fe2d400001331000000200000000000000000000000000000002400000003reloc/squid/help/edit_cache.it.html   <header>Cache Options</header>

<b>Cache Directories</b>: You can specify multiple cache directory lines to spread the cache among different disk partitions.<p>

<em>Directory</em> is a top-level directory where cache swap files will be stored.  If you want to use an entire disk for caching, then this can be the mount-point directory. The directory must exist and be writable by the Squid process.  Squid will NOT create this directory for you.
<p>
<em>Size</em> is the amount of disk space (MB) to use under this directory.  The default is 100 MB.  Change this to suit your configuration.
<p>
<em>1st level dirs</em> is the number of first-level subdirectories which will be created under the <em>Directoryi</em>.  The default is 16.
<p>
<em>2nd level dirs</em> is the number of second-level subdirectories which will be created under each first-level directory.  The default is 256.
<P>
<b>Average Object Size</em>: Defaults to 13 kB. Average object size, used to estimate number of objects your cache can hold.
<p>
<b>Objects per bucket</b>: Defaults to 50.  Target number of objects per bucket in the store hash table. Lowering this value increases the total number of buckets and also the storage maintenance rate.
<p>
<b>Don't Cache URLs for ACLs</b>: Defaults to none.  Select any ACLs for which you do not want Squid to cache data.  Helpful for defining an internal web server that should not be cached.
<p>
<b>Maximum cache time</b>: Defaults to 1 year.  This parameter defines the maximum LRU age.  For example, setting this to '1 week' will cause objects to be removed if they have not been accessed for a week or more.
<p>
<b>Failed request cache time</b> Defaults to 5 minutes.  Time-to-Live (TTL) for failed requests.  Certain types of failures (such as "connection refused" and "404 Not Found") are negatively-cached for a configurable amount of time.  Note that this is different from negative caching of DNS lookups.
<p>
<b>DNS lookup cache time</b>: Defaults to 6 hours (360 minutes).  Time-to-Live (TTL) for positive caching of successful DNS lookups.  If you want to minimize the use of Squid's ipcache, set this to 1, not 0.
<p>
<b>Failed DNS cache time</b>: Defaults to 5 minutes.  Time-to-Live (TTL) for negative caching of failed DNS lookups.
<p>
<b>Connect Timeout</b>: Default is 120 seconds.  Some systems (notably Linux) can not be relied upon to properly time out connect(2) requests.  Therefore the Squid process enforces its own timeout on server connections.  This parameter specifies how long to wait for the connect to complete.
<p>
<b>Read timeout</b>: Default is 15 minutes.  The read_timeout is applied on server-side connections.  After each successful read(), the timeout will be extended by this amount.  If no data is read again after this amount of time, the request is aborted and logged with ERR_READ_TIMEOUT.
<p>
<b>Site selection timeout</b>: Default is 4 seconds.  For URN to multiple URL's URL selection.
<p>
<b>Client request timeout</b>: Default is 15 minutes.  The read_timeout is applied on server-side connections.  After each successful read(), the timeout will be extended by this amount.  If no data is read again after this amount of time, the request is aborted and logged with ERR_READ_TIMEOUT.
<p>
<b>Max client connect time</b>: Default is 1 day.  The maximum amount of time that a client (browser) is allowed to remain connected to the cache process.  This protects the Cache from having a lot of sockets (and hence file descriptors) tied up in a CLOSE_WAIT state from remote clients that go away without properly shutting down (either because of a network failure or because of a poor client implementation).
<p>
<b>Max shutdown time</b>: Defaults to 30 seconds.  When SIGTERM or SIGHUP is received, the cache is put into "shutdown pending" mode until all active sockets are closed. This value is the lifetime to set for all open descriptors during shutdown mode.  Any active clients after this many seconds will receive a 'timeout' message.
<p>
<b>Half-closed clients</b>:  Defaults to 'on'.  Some clients may shutdown the sending side of their TCP connections, while leaving their receiving sides open.  Sometimes, Squid can not tell the difference between a half-closed and a fully-closed TCP connection.  By default, half-closed client connections are kept open until a read(2) or write(2) on the socket returns an error.  Change this option to 'off' and Squid will immediately close client connections when read(2) returns "no more data to read".
<p>
<b>Persistant timeout</b>: Defaults to 120 seconds.  Timeout for idle persistent connections to clients, servers and other proxies.  Persistent connections will be disabled if this is less than 10 seconds.
<p>
<b>WAIS relay host</b>: Default is none.  Hostname or address to relay WAIS requests to.
<p>
<b>WAIS relay port</b>: Default is none.  Port to direct relay WAIS requests to.

<hr>
 
   070701000482f5000081a40000000000000002000000013d1fe2d400001619000000200000000000000000000000000000002400000003reloc/squid/help/edit_cache.pl.html   <header>Opcje buforowania</header>

<b>Katalogi buforów</b>: Mo¿esz podaæ kilka katalogów buforów cache, po
jednym w&nbsp;linii, aby rozdzieliæ bufory pomiêdzy ró¿ne partycje dysków.
<p>

<em>Katalog</em> jest katalogiem najwy¿szego poziomu, w&nbsp;którym bêd±
przechowywane pliki wymiany proxy. Je¶li ca³y dysk ma byæ wykorzystany na
bufory, nale¿y tu podaæ miejsce jego zamontowania. Katalog musi istnieæ
i&nbsp;proces Squida musi mieæ prawo zapisu w&nbsp;nim. Squid NIE utworzy
tego katalogu za ciebie. <p> 

<em>Rozmiar</em> jest ilo¶ci± przestrzeni dyskowej (w&nbsp;MB), która mo¿e
byæ wykorzystana w&nbsp;tym katalogu. Domy¶lnie jest to 100&nbsp;MB. Dobierz
warto¶æ do swojej konfiguracji. <p>
 
<em>Kat. 1. poziomu</em> jest liczb± katalogów pierwszego poziomu, które
zostan± utworzone w&nbsp;<em>Katalogu</em>. Domy¶lnie 16. <p>

<em>Kat. 2. poziomu</em> jest liczb± katalogów drugiego poziomu, które
zostan± utworzone w&nbsp;ka¿dym z&nbsp;katalogów pierwszego poziomu.
Domy¶lnie 256. <p>  

<b>¦redni rozmiar obiektu</em>: Domy¶lnie 13&nbsp;kB. ¦redni rozmiar obiektu
u¿ywany do oszacowania liczby obiektów, jaka mo¿e byæ przechowywana
w&nbsp;buforach cache. <p>
 
<b>Obiektów w&nbsp;porcji</b>: Domy¶lnie 50. docelowa liczba obiektów
w&nbsp;porcji w&nbsp;przechowywanej tablicy haszy. Obni¿enie tej warto¶ci
powoduje zwiêkszenie ogólnej liczby porcji, jak równie¿ szybko¶ci
zarz±dzania buforami cache. <p>
 
<b>Nie buforuj URL-i dla ACL</b>: Domy¶lnie ¿aden. Wybierz dowoln± ACL, dla
której nie chcesz, aby Squid buforowa³ dane. Pomaga zdefiniowaæ wewnêtrzny
serwer WWW, do którego dostêp nie powinien byæ buforowany. <p>

<b>Maksymalny czas buforowania</b>: Domy¶lnie 1 rok. Ten parametr okre¶la
maksymalny wiek LRU. Na przyk³ad, ustawienie na '1 tydzieñ' spowoduje, ¿e
obiekty, do których nie by³o dostêpu prez tydzieñ lub d³u¿ej zostan±
usuniête. <p>

<b>Czas buforowania b³êdnych zapytañ</b> Domy¶lnie 5 minut. Czas ¿ycia (TTL)
b³êdnych zapytañ. Pewne rodzaje zapytañ (takie jak "odmowa po³±czenia" lub
"404 nie znaleziono") s± buforowane negatywnie przez okre¶lony okres czasu.
Zauwa¿, ¿e nie jest to to samo, co negatywne buforowanie wyników
przeszukiwania DNS. <p>

<b>Czas buforowania przeszukiwañ DNS</b>: Domy¶lnie 6 godzin (360 minut).
Czas ¿ycia dla pozytywnego buforowania wyników przeszukiwania DNS. Je¿eli
chcesz zminimalizowaæ korzystanie z&nbsp;buforów IP Squida, ustaw to na 1,
nie na 0. <p>

<b>Czas buforowania b³êdow DNS</b>: Domy¶lnie 5 minut. Czas ¿ycia (TTL) dla
negatywnego buforowania b³êdnych wyników przeszukiwania DNS. <p>

<b>Czas przeterminowania po³±czenia</b>: Domy¶lnie 120 sekund. Na niektórych
systemach (w&nbsp;szczególno¶ci na Linuksie) nie mo¿na polegaæ
w&nbsp;kwestii prawid³owego przeterminowywania zapytañ connect(2).
W&nbsp;zwi±zku z&nbsp;tym proces Squida wymusza swój w³asny czas
przeterminowania dla po³±czeñ z&nbsp;serwerami. <p>
 
<b>Czas przeterminowania odczytu</b>: Domy¶lnie 15 minut. Stosuje siê go
przy po³±czeniach od strony serwera. Po ka¿dym pomy¶lnie zakoñczonym read(),
czas przeterminowania bêdzie przed³u¿any do tej warto¶ci. Je¶li w&nbsp;ci±gu
tego czasu nie zostan± ponownie przeczytane ¿adne dane, zapytanie jest
anulowane i&nbsp;logowane z&nbsp;b³êdem ERR_READ_TIMEOUT. <p>

<b>Czas przeterminowania wyboru miejsca</b>: Domy¶lnie 4 sekundy. Dla URN do
wieloURL-owego wyboru. <p>

<b>Czas przeterminowania zapytania klienta</b>: Domy¶lnie 15 minut. Stosuje
siê goStosuje siê go przy po³±czeniach od strony serwera. Po ka¿dym
pomy¶lnie zakoñczonym read(), czas przeterminowania bêdzie przed³u¿any do
tej warto¶ci. Je¶li w&nbsp;ci±gu tego czasu nie zostan± ponownie przeczytane
¿adne dane, zapytanie jest anulowane i&nbsp;logowane z&nbsp;b³êdem
ERR_READ_TIMEOUT. <p>

<b>Maks. czas po³±czenia z&nbsp;klientem</b>: Domy¶lnie 1 dzieñ. Maksymalny
okres czasu, przez który klient (przegl±darka) mo¿e byæ po³±czona
z&nbsp;procesem proxy. Zapobiega to posiadaniu przez proxy wielu gniazd
(i&nbsp;w&nbsp;zwi±zku z&nbsp;tym deskryptorów plików) przywi±zanych
w&nbsp;stanie CLOSE_WAIT do zdalnych klientów, którzy siê roz³±czyli bez
poprawnego zamkniêcia po³±czenia (z&nbsp;powodu nieprawid³owej pracy sieci
lub z&nbsp;powodu kiepskiej implementacji klienta). <p>

<b>Maks. czas wy³±czania</b>: Domy¶lnie 30 sekund. Gdy proxy otrzy ma sygna³
SIGTERM lub SIGTERM jest on wprowadzany w&nbsp;stan "zawieszonego
zamkniêcia" a¿ wszystkie aktywne gniazda zostan± zamkniête. Warto¶æ ta jest
czasem ¿ycia ustawianym dla wszystkich otwartych deskryptorów w&nbsp;trybie
zamykania. Wszyscy aktywni klienci po tej ilo¶ci sekund otrzymaj± komunikat
o&nbsp;przeterminowaniu po³±czenia ('timeout'). <p>

<b>Klienci pó³zamkniêci</b>:  Domy¶lnie 'w³±czone'. Niektórzy klienci mog±
zamykaæ wysy³aj±c± stronê swoich po³±czeñ TCP, pozostawiaj±c otwart± stronê
odbieraj±c±. Niekiedy SquidSquid ma problemy z&nbsp;odró¿nieniem po³±czeñ
TCP pó³zamkniêtych od ca³kowicie zamkniêtych. Domy¶lnie, po³±czenia
pó³zamkniête s± utrzymywane a¿ read(2) lub write(2) dla gniazda zwróci b³±d.
Je¶li zmienisz tê opcjê na 'wy³±czone', Squid bêdzie zamyka³ po³±czenie
klienta natychmiast po zwróceniu przez read(2) "nie ma wiêcej danych do
odczytu". <p>

<b>Sta³y czas przeterminowania</b>: Domy¶lnie 120 sekund. Czas
przeterminowania dla trwa³ych ja³owych po³±czeñ z&nbsp;klientami, serwerami
i&nbsp;innymi proxy. Trwa³e po³±czenia bêd± niemo¿liwe, je¶li warto¶æ ta
bêdzie mniejsza ni¿ 10 sekund. <p>

<b>Host przekazywania WAIS</b>: Domy¶lnie ¿aden. Nazwa lub adres hosta, do
którego bêd± przekazywane zapytania WAIS. <p>

<b>Port przekazywania WAIS</b>: Domy¶lnie ¿aden. Port, na który bêd±
przekazywane zapytania WAIS.

<hr>
 
   070701000482f6000081a40000000000000002000000013d1fe2d400001416000000200000000000000000000000000000002400000003reloc/squid/help/edit_cache.sv.html   <header>Cache-inställningar</header>

<b>Cache-kataloger</b>: Du kan ange flera cache-kataloger för att
sprida cachen över flera diskpartitioner.

<p><em>Katalog</em> är en toppnivåkatalog där cachernas swapfiler
läggs. Om du vill använda en hel disk för cachning kan du ange
monteringspunktens katalog här. Katalogen måste finnas och vara
skrivbar för Squid-processen. Squid kommer INTE att skapa katalogen åt
dig.

<p><em>Storlek</em> är det diskutrymme (MB) som ska användas under
denna katalog. Standardvärdet är 100 MB. Ställ in detta så att det
passar dina inställningar.

<p><em>Förstanivåkataloger</em> är antalet underkataloger på första
nivån som ska skapas under <em>Katalog</em>. Standardvärdet är 16.

<p><em>Andranivåkataloger</em> är antalet underkataloger på andra
nivån, som ska skapas under varje förstanivåkatalog. Standardvärdet är
256.

<P><b>Medelstorlek på objekt</em>: Standardvärdet är 13
kB. Medelstorlek för de filer som ska cachas; används för att
uppskatta antalet filer som cachen kan ta emot.

<p><b>Antal objekt per katalog</b>: Standardvärdet är 50. Antal objekt
per katalog i lagringshashtabellen. Om detta värde minskas ökas
antalet kataloger samt underhållsbehovet för dessa.

<p><b>Cacha inte URL:er för åtkomstlistor</b>: Standardinställningen
är Ingen.  Ange de åtkomstlistor som Squid inte ska cacha data
för. Detta är användbart om du vill sätta upp en intern webserver som
inte ska cachas.

<p><b>Maximal cachetid</b>: Standardvärdet är 1 år. Parametern anger
maximal LRU-ålder. Om du exempelvis sätter denna till '1 vecka' kommer
alla objekt tas bort som inte har rörts på minst en vecka.

<p><b>Cachetid för misslyckad förfrågning</b> Standardvärdet är 5
minuter. Time-to-Live (TTL) för misslyckade förfrågningar. Vissa
sorters fel (t ex "connection refused" and "404 Not Found") cachas
negativt under en viss tid som går att ställa in. Observera att detta
inte är samma sak som negativ cachning av DNS-uppslagningar.

<p><b>Cachetid för DNS-uppslagning</b>: Standardvärdet är 6 timmar
(360 minuter). Time-to-Live (TTL) för positiv cachning av lyckade
DNS-uppslagningar. För att minimera användningen av Squids ipcache ska
denna parameter sättas till 1, <b>inte 0</b>.

<p><b>Cachetid för misslyckad DNS-uppslagning</b>: Standardvärdet är 5
minuter. Time-to-Live (TTL) för negativ cachning av misslyckade
DNS-uppslagningar.

<p><b>Tidsgräns för uppkoppling</b>: Standardvärdet är 120
sekunder. Vissa system (särskilt Linux) har ingen funktionalitet för
att strypa connect(2)-förfrågningar. Därför lägger Squid-processen på
en egen tidsgräns på serveruppkopplingar. Denna parameter anger hur
länge processen ska vänta på att uppkopplingen ska fullbordas.

<p><b>Tidsgräns för läsning</b>: Standardvärdet är 15
minuter. Variabeln read_timeout används vid serveruppkopplingar. Efter
varje lyckad read() ökas tidsgränsen med detta värde. Om inga data
lästs under denna tid avbryts förfrågningen och loggas med
ERR_READ_TIMEOUT.

<p><b>Tidsgräns för siteval</b>: Standardvärdet är 4 sekunder. Detta
används för URL-val vid URN för flera URL:er.

<p><b>Tidsgräns för klientförfrågning</b>:  Standardvärdet är 15
minuter. read_timeout används på serverns sida av uppkopplingen. Efter
varje lyckad read() kommer tidsgränsen att förlängas med detta
värde. Om en klient inte har sänt någon förfrågning under denna tid,
bryts förbindelsen.

<p><b>Maximal uppkopplingstid för klient</b>: Standardvärdet är 1
dag. Den längsta tid en klient (browser) får vara uppkopplad mot
cacheprocessen. Detta hindrar att cachen får en massa sockets (och
därmed också fildeskriptorer) fastlåsta i CLOSE_WAIT-läge för att
klienter försvinner utan att avsluta förbindelsen ordentligt (på grund
av nätverkstrassel eller dålig klientimplementation).

<p><b>Maximal avstängningstid</b>: Standardvärdet är 30 sekunder. När
processen tar emot SIGTERM eller SIGHUP går cachen in i "väntar på
stopp"-läge tills alla sockets har stängts. Denna parameter anger den
livslängd som alla öppna deskriptorer ges i avstängningsläget. Om det
finns några aktiva klienter kvar efter denna tid får de ett
'timeout'-meddelande.

<p><b>Halvstängda klienter</b>: Standardvärdet är "på". En del
klienter slår av sändningssidan av sina TCP-förbindelser, men lämnar
mottagningssidan öppen.  Ibland kan Squid inte känna skillnad på en
halvstängd och en helt avslutad TCP-förbindelse. Det vanliga beteendet
är att halvstängda klientförbindelser hålls öppna tills en read(2)
eller write(2) på denna socket ger ett felmeddelande. Om inställningen
ändras till "av" kommer Squid omedelbart att stänga klientförbindelser
då read(2) returnerar "no more data to read".

<p><b>Kvardröjande tidsgräns</b>: Standardvärdet är 120
sekunder. Tidsgräns för väntande kvardröjande uppkopplingar till
klienter, servrar och andra maskiner.  Kvardröjande uppkopplingar
kommer att slås av om denna gräns är mindre än 10 sekunder.

<p><b>Dator för WAIS-relä</b>: Standardinställningen är
ingen. Datornamn eller -adress som WAIS-förfrågningar ska skickas
till.

<p><b>Port för WAIS-relä</b>: Standardinställningen är ingen. Port som
WAIS-förfrågningar ska skickas till.

<hr>
  070701000482f7000081a40000000000000002000000013d1fe2d400000cc9000000200000000000000000000000000000002c00000003reloc/squid/help/edit_cache.zh_TW.Big5.html   <header>§Ö¨ú¿ï¶µ</header>

<b>§Ö¨ú¥Ø¿ý</b>: ±z¥i¥H«ü©w¦h­Ó§Ö¨ú¥Ø¿ý¦æ¥H±N§Ö¨ú¤º®e¤À´²¨ì¦h­Ó¤£¦PªººÏºÐ¤À³Î°Ï¤§¤¤.<p>

<em>¥Ø¿ý</em> ¬O¥æ´«ÀÉ®×±NÀx¦sªº³»ºÝ¥Ø¿ý. ¦pªG±z¦èºô¨Ï¥Î¤@¾ã­ÓºÏºÐ§@¬°§Ö¨ú, ³o¥i¥H¬O¸Ó¥Ø¿ýªº±¾¸üÂI. ³o­Ó¥Ø¿ý¥²¶·¦s¦b¥B¥i¥H³Q Squid µ{§Ç©Ò¼g¤J. Squid ±N¤£·|¬°±z«Ø¥ß³o­Ó¥Ø¿ý.
<p>
<em>¤j¤p</em> ¬O­n³o­Ó¥Ø¿ý­n¨Ï¥ÎªººÏºÐªÅ¶¡¤j¤p. ¹w³]­È¬° 100 MB. §ïÅÜ³o­Ó¿ï¶µ¥H²Å¦X±zªº»Ý­n.
<p>
<em>²Ä¤@¼h¥Ø¿ý¼Æ¶q</em> ¬O¦b<em>¥Ø¿ý</em>­n«Ø¥ßªº²Ä¤@¼h¥Ø¿ý¼Æ¶q, ¹w³]­È¬° 16.
<p>
<em>²Ä¤G¼h¥Ø¿ý¼Æ¶q</em> ¬O­n¦b¨C¤@­Ó<em>²Ä¤@¼h¥Ø¿ý</em>¤U­±«Ø¥ßªº¥Ø¿ý¼Æ¶q, ¹w³]­È¬° 256.
<P>
<b>¥­§¡ª«¥ó¤j¤p</em>: ¹w³]­È¬° 13 KB. ³o¬O¥Î©ó¹w¦ô±zªº§Ö¨ú©Ò¯àÀx¦sª«¥óªº¼Æ¶q.
<p>
<b>¨C­Ó°Ï°ì¤¤ªºª«¥ó¼Æ¥Ø</b>: ¹w³]­È¬° 50. ¨C­Ó°Ï°ì¤¤ªºª«¥ó¼Æ¥Ø¬O³QÀx¦s©ó¤@­ÓÂø´êªí¤§¤¤. ­°§C³o­Ó¼Æ­È±N·|¼W¥[°Ï°ìªº¼Æ¥Ø»PÀx¦sÅéºûÅ@ªº¦¸¼Æ.
<p>
<b>¤£­n§Ö¨ú URL ªº¤º®e</b>: ¹w³]­È¬° 'µL;. ¿ï¾Ü¥ô¦ó±z¤£§Æ±æ Squid §Ö¨úªº ACL. ©w¸q¤@­Ó¤º³¡ªººô¯¸¥HÁ×§K§Ö¨ú¬O¦³À°§Uªº.
<p>
<b>³Ì¤j§Ö¨ú®É¶¡</b>: ¹w³]­È¬° 1 ¦~. ³o­Ó°Ñ¼Æ©w¸q³Ì¤jªº LRU ®É¶¡. Á|¨Ò¦Ó¨¥, ³]©w¦¨ '1 ©P' ±N·|²¾¦Û°Ê²¾°£©Ò¦³¶W¹L¤@©P¨S¦³¦s¨úªºÀÉ®×.
<p>
<b>¥¢±Ñªº­n¨D§Ö¨ú®É¶¡/b> ¹w³]­È¬° 5 ¤ÀÄÁ. ³o¬O­n¨D¥¢±Ñªº¦s¬¡®É¶¡ (TTL) ­È. ³o¤@Ãþªº¥¢±Ñ (¨Ò¦p "³s½u³Q©Ú" ©Î "404 §ä¤£¨ì" ·|Àx¦s©ó§Ö¨ú¤¤, ¦Ó³o­Ó§Ö¨ú±N¦b«ü©wªº®É¶¡¥¢®Ä. ª`·N: ³o»P¥¢±Ñªº DNS ¬d¸ß¤£¦P.
<p>
<b>DNS ¬d¸ß§Ö¨ú®É¶¡</b>: ¹w³]­È¬° 6 ¤p®É. ³o¬O¦¨¥\ªº DNS ¬d¸ßªº¦s¬¡®É¶¡ (TTL) ­È. ¹w³]­È¬° 6 ¤p®É (360 ¤ÀÄÁ). ¦pªG±z§Æ±æ Squid ªº IP §Ö¨ú¯àÁY¨ì³Ì¤p, ½Ð³]©w¬° 1 ¦Ó¤£¬O0.
<p>
<b>¥¢±Ñªº DNS §Ö¨ú®É¶¡</b>: ¹w³]­È¬° 5 ¤ÀÄÁ. ³o¬O DNS ¬d¸ß¥¢±Ñªº§Ö¨ú¦s¬¡®É¶¡ (TTL) ­È.
<p>
<b>³s±µ¹O®É</b>: ¹w³]­È¬° 120 ¬í. ¬Y¨Ç¨t²Î (¯S§O¬O Linux) µLªk¥¿½Tªº³B²z³oÃþ­n¨D. ©Ò¥H Squid µ{§Ç±j¨î¨Ï¥Î¦Û¤vªº³s±µ¹O®É­È. ³o­Ó¿ï¶µ¥i¥H«ü©w¦b³s½u§¹¦¨«e©Ò­nµ¥«Ýªº®É¶¡.
<p>
<b>Åª¨ú¹O®É</b>: ¹w³]­È¬° 15 ¤ÀÄÁ. Åª¨ú¹O®É¬O®M¥Î©ó¦øªA¾¹ºÝªº³s½u. ¦b¨C¤@­Ó¦¨¥\ªº read() ¤§«á, ¹O®É­È·|¼W¥[³o­Ó¼Æ¶q. ¦pªG¦b®É¶¡¹L«á¸ê®Æ¨S¦³¦A¤@¦¸ªºÅª¨ú, ³o­Ó­n¨D·|³Q©ñ±ó¨Ã¥H ERR_READ_TIMEOUT ¬ö¿ý.
<p>
<b>ºÝÂI¿ï¾Ü¹O®É</b>: ¹w³]­È¬° 4 ¬í. ¹ï©ó URN ¨ì¦h­«ªº URL ªº URL ¿ï¾Ü.
<p>
<b>«È¤áºÝ­n¨D¹O®É</b>: ¹w³]­È¬° 15 ¤ÀÄÁ. ³o­ÓÅª¨ú¹O®ÉÀ³¥Î¦b¦øªA¾¹ºÝªº³s½u. ¦b¨C¤@­Ó¦¨¥\ªº read() ¤§«á, ¹O®É­È·|¼W¥[³o­Ó¼Æ¶q. ¦pªG¦b®É¶¡¹L«á¸ê®Æ¨S¦³¦A¤@¦¸ªºÅª¨ú, ³o­Ó­n¨D·|³Q©ñ±ó¨Ã¥H ERR_READ_TIMEOUT ¬ö¿ý.
<p>
<b>³Ì¤j«È¤áºÝ³s±µ®É¶¡</b>: ¹w³]­È¬° 1 ¤Ñ. ³o¬O¨C¤@­Ó«È¤áºÝ (ÂsÄý¾¹) ¥i¥H«ùÄò³s½uªº³Ì¤j®É¶¡­­¨î. ³o¥i¥HÁ×§K§Ö¨ú¦³¤Ó¦hªº´¡®y³B©óµ¥«ÝÃö³¬ªºª¬ºA, ¦Ó»·ºÝªº¨Ï¥ÎªÌ¥i¯à¤w¸gÂ÷¶}®É¨S¦³Ãö³¬³s½u (¥i¯à¬O¦]¬°ºô¸ô¤¤Â_©Î«È¤áºÝªº²ßºD).
<p>
<b>³Ì¤jÃö³¬®É¶¡</b>: ¹w³]­È¬° 30 ¬í. ·í¦¬¨ì SIGTERM ©Î SIGHUG ±±¨î°T®§«á, §Ö¨ú·|¶i¤Jµ¥«ÝÃö§Ìªºª¬ºAª½¨ì©Ò¦³¤¹§@¤¤ªº´¡®yÃö³¬. ³o­Ó¼Æ­È¬O¦b³o­Ó¼Ò¦¡¤U©Ò¦³¶}±Ò¤¤³s½uªº¥Í©R´Á¶¡. ¥ô¦ó¹B§@¤¤ªº«È¤áºÝ¦b¹L¤F³o¬q®É¶¡«á, ³£·|¦¬¨ì '¹O®É' °T®§.
<p>
<b>¥bÃö³¬«È¤áºÝ</b>:  ¹w³]­È¬° '¶}'. ¦³¨Ç«È¤áºÝ¥i¯à·|Ãö³¬¨ä°e¥Xªº TCP ³s½u, ¦Ó¯d¤U¨ä±µ¦¬ªº TCP ³s½u. ¦b¬Y¨Çª¬ªp¤U, Squid µLªk¤À¿ë¥bÃö³¬»P¥þÃö³¬ªº TCP ³s½u. ¦b¹w³]ªºª¬ªp¤U, ³o­Ó¥bÃö³¬ªº³s½u·|³Q«O«ù¶}±Ò, ª½¨ì¦³¥ô¦ó¤@­Ó read() ©Î write() ¿ù»~µo¥Í¦b´¡®y¤W. §ïÅÜ³o­Ó¿ï¶µ¬° 'Ãö', Squid ±N·|¦b¦¬¨ì read() ¶Ç¦^ "¨S¦³§ó¦hªº¸ê®Æ­nÅª¨ú" «á¥ß¨èÃö³¬³o­Ó³s½u.
<p>
<b>«ùÄò¹O®É</b>: ¹w³]­È¬° 120 ¬í. ³o¬O¹ï©ó¶¢¸m¤¤»P«È¤áºÝ, ¦øªA¾¹©Î¨ä¥L¥N²z¦øªA¾¹ªº«ùÄò³s½uªº±±¨î. «ùÄò³s¥ó±N·|³QÃö³¬¦pªG³o­Ó¼Æ­È¤p©ó 10 ¬í.
<p>
<b>WAIS ¤¤Ä~¥D¾÷</b>: ¹w³]­È¬°µL. ³o¬O WAIS ªº¤¤Ä~¥D¾÷©Î IP ¦ì§}.
<p>
<b>WAIS ¤¤Ä~³q°T°ð</b>: ¹w³]­È¬°µL. ³o¬O­n­«¾É¦V WAIS ­n¨D®É©Ò¨Ï¥Îªº³q°T°ð.

<hr>
 
   070701000482f8000081a40000000000000002000000013d1fe2d400000753000000200000000000000000000000000000002200000003reloc/squid/help/edit_icp.ca.html <header>Altres Caus</header>

<b>Altres servidors de cau proxy</b>: Això llista els caus sibling, pare i
multicast actualment configurats. Fes clic sobre el nom de host o l'adreça
per editar-ne o veure la configuració sencera.
<p>
<b>Ves a buscar directament les URLs que contenen</b>: Per defecte, ".cgi"
i "?". Et permet forçar Squid a anar a buscar certs tipus de continguts
directament al servidor origen. Normalment, això no necessita cap modificació,
ja que la majoria de coses les gestiona Squid sense ajuda.
<p>
<b>Temps límit de petició ICP</b>: Per defecte, un valor 'òptim'.
Si vols ignorar el valor determinat per Squid, posa-ho a un valor no nul.
El valor per defecte en versions anteriors de Squid era 2000.
<p>
<b>Temps límit d'ICP multicast</b>: Per defecte, 2000mseg o 2 segons.
Per a <i>peers</i> multicast, Squid envia regularment "sondes" ICP per comptar
quants altres <i>peers</i> estan escoltant l'adreça multicast donada.
Aquest valor especifica quant de temps Squid ha d'esperar per comptar totes
les respostes.
<p>
<b>Temps límit de <i>peer</i> mort</b>: Per defecte, 10 segons. Això controla 
quan t de temps espera Squid per declarar un cau <i>peer</i> com a "mort". 
SI no es reben respostes ICP en aquest interval de temps, Squid declararà
el <i>peer</i> mort i no esperarà rebre'n més respostes ICP. De tota manera,
continua enviant peticions ICP, i marcarà el <i>peer</i> com a viuen el moment 
que en rebi la primera resposta ICP. <p>

Aquest temps límit també afecta quan Squid espera rebre respostes ICP dels
<i>peers</i>. Si han passat més de '<i>peer_mort</i>' segons des que s'ha
rebut la darrera resposta ICP, Squid no esperarà rebre cap resposta ICP
en la pròxima petició. Així, si el temps entre peticions és més gran que
aquest temps límit, veuràs una pila de peticions enviades directament a
l'origen en lloc dels pares. 
<p>

<hr>

 070701000482f9000081a40000000000000002000000013d1fe2d4000007be000000200000000000000000000000000000002200000003reloc/squid/help/edit_icp.es.html <header>Otras Cachés</header>

<b>Otros servidores proxy de caché</b>: Esto lista todas las cachés hermanas, padres y multidifusión configuradas. Haz click en el nombre de máquina o en la dirección para editar o ver la configuración completa. <p>

<b>Diréctamente recoger URLs conteniendo</b>: Por defecto ".cgi" y "?". Permite forzar a Squid a siempre recoger ciertos tipos de contenido diréctamente desde el servidor origen. Normálmente esto no necesita modificación alguna ya que la mayoría de las cosas se manejan automáticamente desde Squid sin tocar nada. <p>

<b>Tiempo de espera de consulta ICP</b>: Por defecto un valor 'óptimo'. Si deseas pasar por alto el valor determinado por Squid, pon esto a no cero. El valor por defecto en versiones antiguas de Squid era 2000. <p>

<b>Tiempo de espera de multienlace ICP</b>: Por defecto 2000 mseg o 2 segundos. Para pares multidifusión, Squid envía regulármente "indagaciones" ICP para contar cuántos otros pares están escuchando en las direcciones multidifusión dadas. Este valor especifica por cuánto tiempo debería de esperar Squid para contar todas las respuestas.<p>

<b>Tiempo de espera de par muerto</b>: Por defecto 10 segundos. Controla por cuánto tiempo Squid espera para declarar una caché de par como "muerta". Si no hay respuestas ICP recibidas en esta cantidad de tiempo, Squid declarará el par como muerto y no esperará recibir respuestas ICP posteriores. Sin embargo, continúa enviando consultas ICP y marcará el par como vivo al recibir la primera respuesta ICP. <p>

Este tiempo de espera también afecta si Squid espera recibir respuestas ICP desde los pares. Si transcurren más de 'par_muerto' segundos desde que la última respuesta ICP fue recibida, Squid no esperará recibir una respuesta ICP en la siguiente consulta. Así, si tu tiempo entre requerimientos es mayor que este tiempo de espera, verás un montón de requerimientos enviados DIRÉCTAMENTE a los servidores origen en vez de a tus padres. <p>

<hr>

  070701000482fa000081a40000000000000002000000013d1fe2d4000006e7000000200000000000000000000000000000001f00000003reloc/squid/help/edit_icp.html    <header>Other Caches</header>

<b>Other proxy cache servers</b>: This lists all currently configured sibling, parent, and multicast, caches.  Click on the hostname or address to edit or see it complete configuration. <p>

<b>Directly fetch URLs containing</b>: Defaults to ".cgi" and "?".  Allows you to force Squid to always fetch certain content types directly from the origin server.  Ordinarily this needs no modification, as most things are handled automatically by Squid without help. <p>

<b>ICP query timeout</b>: Defaults to an 'optimal' value.  If you want to override the value determined by Squid, set this to a non-zero value.  The default in old versions of Squid was 2000. <p>

<b>Multicast ICP timeout</b>: Defaults to 2000msec or 2 seconds.  For Multicast peers, Squid regularly sends out ICP "probes" to count how many other peers are listening on the given multicast address.  This value specifies how long Squid should wait to count all the replies.<p>

<b>Dead peer timeout</b>: Defaults to 10 seconds.  This controls how long Squid waits to declare a peer cache as "dead."  If there are no ICP replies received in this amount of time, Squid will declare the peer dead and not expect to receive any further ICP replies.  However, it continues to send ICP queries, and will mark the peer as alive upon receipt of the first subsequent ICP reply. <p>

This timeout also affects when Squid expects to receive ICP replies from peers.  If more than 'dead_peer' seconds have passed since the last ICP reply was received, Squid will not expect to receive an ICP reply on the next query.  Thus, if your time between requests is greater than this timeout, you will see a lot of requests sent DIRECT to origin servers instead of to your parents. <p>

<hr>

 070701000482fb000081a40000000000000002000000013d1fe2d4000006e7000000200000000000000000000000000000002200000003reloc/squid/help/edit_icp.it.html <header>Other Caches</header>

<b>Other proxy cache servers</b>: This lists all currently configured sibling, parent, and multicast, caches.  Click on the hostname or address to edit or see it complete configuration. <p>

<b>Directly fetch URLs containing</b>: Defaults to ".cgi" and "?".  Allows you to force Squid to always fetch certain content types directly from the origin server.  Ordinarily this needs no modification, as most things are handled automatically by Squid without help. <p>

<b>ICP query timeout</b>: Defaults to an 'optimal' value.  If you want to override the value determined by Squid, set this to a non-zero value.  The default in old versions of Squid was 2000. <p>

<b>Multicast ICP timeout</b>: Defaults to 2000msec or 2 seconds.  For Multicast peers, Squid regularly sends out ICP "probes" to count how many other peers are listening on the given multicast address.  This value specifies how long Squid should wait to count all the replies.<p>

<b>Dead peer timeout</b>: Defaults to 10 seconds.  This controls how long Squid waits to declare a peer cache as "dead."  If there are no ICP replies received in this amount of time, Squid will declare the peer dead and not expect to receive any further ICP replies.  However, it continues to send ICP queries, and will mark the peer as alive upon receipt of the first subsequent ICP reply. <p>

This timeout also affects when Squid expects to receive ICP replies from peers.  If more than 'dead_peer' seconds have passed since the last ICP reply was received, Squid will not expect to receive an ICP reply on the next query.  Thus, if your time between requests is greater than this timeout, you will see a lot of requests sent DIRECT to origin servers instead of to your parents. <p>

<hr>

 070701000482fc000081a40000000000000002000000013d1fe2d400000863000000200000000000000000000000000000002200000003reloc/squid/help/edit_icp.pl.html <header>Inne proxy</header>

<b>Inne buforuj±ce serwery proxy</b>: Pokazane s± wszystkie (równoprawne,
macierzyste i multicastowe) aktualnie skonfigurowane serwery proxy. Naci¶nij
na nazwê hosta lub adres wybranego serwera, aby zmieniæ lub obejrzeæ jego
aktualn± konfiguracjê. <p>

<b>Sprowadzaæ bezpo¶rednio URL-e zawieraj±ce</b>: Domy¶lnie ".cgi"
i&nbsp;"?". Pozwala zmusiæ Squida, aby zawsze sprowadza³ strony pewnego
rodzaju bezpo¶rednio z&npsp;¼ród³owego serwera. Zazwyczaj opcja ta nie
wymaga zmiany jak wiêkszo¶æ rzeczy, które s± obs³ugiwane przez Squida
automatycznie. <p>

<b>Czas przeterminowania zapytania ICP</b>: Domy¶lnie ma warto¶æ
'optymaln±'. Je¶li chcesz nadpisaæ warto¶æ ustalon± przez Squida, podaj
warto¶æ niezerow±. W&nbsp;starych wersjach Squida warto¶ci± domy¶ln± by³o
2000. <p>

<b>Czas przeterminowania multicastu ICP</b>: Domy¶lnie 2000&nbsp;ms, czyli
2&nbsp;sekundy. Do uczestników wymiany multicastowej Squid regularnie
wysy³a "sondê" ICP, aby policzyæ ilu innych uczestników s³ucha na zadanym
adresie multicastowym. Ta warto¶æ okre¶la, jak d³ugo Squid powinien czekaæ
na odpowiedzi, aby wszystkie policzyæ. <p>

<b>Czas uznania partnera za nieczynnego</b>: Domy¶lnie 10 sekund. Ta opcja
decyduje, jak d³ugo Squid bêdzie czeka³ przed uznaniem partnera proxy za
nieczynnego. Je¶li w&nbsp;ci±gu tego czasu nie nadejdzie odpowied¼ ICP,
Squid uzna, ¿e partner nie dzia³a i&nbsp;nie bêdzie oczekiwa³ od niego
¿adnych dalszych odpowiedzi ICP. Jednak¿e, bêdzie on nadal wysy³a³ zapytania
ICP i&nbsp;zaznaczy sobie, ¿e partner dzia³a po otrzymaniu od niego
pierwszej odpowiedzi ICP. <p>

Ten okres przeterminowania ma równie¿ znaczenie, gdy Squid oczekuje na
odpowied¼ ICP od innych proxy. Je¶li od chwili otrzymania ostatniej
odpowiedzi ICP up³ynê³o wiêcej sekund, ni¿ podano w powy¿szej opcji, Squid
nie bêdzie oczekiwa³ odpowiedzi ICP na swoje nastêpne zapytanie. Wobec tego,
je¶li ustawiony przez Ciebie czas pomiêdzy wysy³anymi zapytaniami ICP jest
wiêkszy od tego czasu przeterminowania, bêdziesz obserwowa³ mnóstwo zapytañ
wysy³anych BEZPO¦REDNIO do ¼ród³owych serwerów zamiast do Twoich
macierzystych proxy. <p>

<hr>
 070701000482fd000081a40000000000000002000000013d1fe2d400000796000000200000000000000000000000000000002200000003reloc/squid/help/edit_icp.sv.html <header>Övriga cachar</header>

<b>Övriga proxy-cache-servrar</b>: Här listas alla likställda, överordnade och
multicast-cachar som för närvarande konfigurerats. Klicka på datornamnet
eller adressen för att ändra eller inspektera alla dess inställningar.

<p><b>Omedelbart hämta URL:er som innehåller</b>: Standardinställningen är
".cgi" och "?".  Detta kan användas för att tvinga Squid att alltid hämta
vissa typer direkt från ursprungsservern. Vanligtvis behöver detta inte ändras,
eftersom det mesta hanteras automatiskt av Squid utan annan inblandning.

<p><b>Tidsgräns för ICP-uppslagning</b>: Standardinställningen är ett
"optimalt" värde. För att ett annat värde än det som Squid har bestämt ska
användas, ska denna parameter ges ett värde skilt från noll. Standardvärdet
i äldre versioner av Squid var 2000.

<p><b>Tidsgräns för multicast-ICP</b>: Standardvärdet är 2000 ms, dvs 2
sekunder. Squid skickar regelbundet ut ICP-"prober" till multicast-motparter
för att se hur många motparter som lyssnar på den angivna multicast-adressen.
Denna parameter anger hur lång tid Squid ska vänta innan den räknar svaren.

<p><b>Tidsgräns för död motpart</b>: Standardvärdet är 10 sekunder.
Denna parameter anger hur länge Squid ska vänta innan en motpart anses "död".
Om Squid inte tar emot några ICP-svar inom denna tid anser den att motparten
är död och förväntar sig inte några fler ICP-svar. Squid fortsätter dock att
skicka ICP-uppslagningar och kommer att betrakta motparten som levande så fort
den skickar ett ICP-svar igen.

<p>Denna tidsgräns påverkar också om Squid förväntar sig ICP-svar från sina
motparter. Om mer än 'dead_peer' sekunder har gått sedan det senaste
ICP-svaret, kommer Squid inte att förvänta sig något ICP-svar på nästa
uppslagning. Om tiden mellan två uppslagningar är längre än denna tidsgräns
kommer alltså många uppslagningar att skickas direkt till ursprungsservern
istället för till den överordnade.

<hr>

  070701000482fe000081a40000000000000002000000013d1fe2d4000004bf000000200000000000000000000000000000002a00000003reloc/squid/help/edit_icp.zh_TW.Big5.html <header>¨ä¥L§Ö¨ú</header>

<b>¨ä¥L¥N²z¦øªA§Ö¨ú¦øªA¾¹</b>: ³o­Ó¦Cªí¦C¥X©Ò¦³¤w¸g²ÕºAªº¥­¦æ, ¤W´å»P¦hÂI¶Ç°e§Ö¨ú. «ö¤U¨ä¥D¾÷¦WºÙ©Î IP ¦ì§}¥H½s¿è©Î³]©w¸Ó¥D¾÷ªº¨ä¥L¿ï¶µ. <p>

<b>ª½±µ¨ú¦^ URL ¤º®e</b>: ¹w³]­È¬° ".cgi" »P "?". ³o¤¹³\±zª½±µ±q­ì©l¦øªA¾¹¨ú±o©Ò«ü©wªº¤º®eÃþ§O. ¤@¯ë¦Ó¨¥, ³o¤£»Ý­n§ïÅÜ, ¦]¬°¤j¦h¼Æªº¨Æ°È³£·|³Q Squid ¦Û°Ê³B²z. <p>

<b>ICP ¬d¸ß¹O®É</b>: ¹w³]¬° '³Ì¨Î¤Æ' ¼Æ­È. ¦pªG±z§Æ±æ¨Ï¥Ñ Squid ¦Û°Ê¨M©wªº¼Æ­ÈµL®Ä, ³]©w³o­Ó¬°¤@­Ó«D 0 ªº¼Æ­È. ¸ûÂÂª©¥»ªº Squid ±N¦¹¼Æ­È¹w³]¬° 2000. <p>

<b>¦hÂI¶Ç¿é ICP ¹O®É</b>: ¹w³]¬° 2000 ·L¬í (2 ¬í). ¹ï©ó¦hÂI¶Ç°eªº¥­¦æ¥D¾÷, Squid ¤@¯ë·|°e¥X ICP °»´ú¥H­pºâ¦³¦h¤Öªº¥­¦æªº¥D¾÷¦bºÊÅ¥³o­Ó¦hÂI¶Ç¿é¦ì¸m. ³o­Ó¼Æ­È©w¸q Squid ­nµ¥«Ý¦^À³ªº®É¶¡.<p>

<b>¦º¤`¥­¦æ¥D¾÷¹O®É</b>: ¹w³]­È¬° 10 ¬í. ³o­Ó¼Æ­È¨M©w Squid ¦b»{©w¤@­Ó¥­¦æ§Ö¨ú¥H¦º¤`«eªºµ¥«Ý®É¶¡. ¥u­n¦b«ü©wªº®É¶¡¤¤³£¨S¦³¦¬¨ì¸Ó¥D¾÷ªº ICP ¦^À³, Squid ±N·|»{©w³o­Ó¥­¦æ¥D¾÷¤w¸g¦º¤`, ¨Ã¤£¦b¹w´Á·|¦¬¨ì§ó¶i¤@¨Bªº ICP ¦^À³. µM¦Ó, ¥¦¤´·|«ùÄò°e¥X ICP ¬d¸ß, ¦Ó¦b¦¬¨ì¤F¦^À³«á­«·sªí¥Ü¸Ó¥D¾÷ªº¦s¦b. <p>

³o­Ó¹O®É­È¤]·|¼vÅT Squid ¹w´Á±q¥­¦æ¥D¾÷¦¬¨ì ICP. ¦pªG»P¤W¦¸¦¬¨ì ICP ¦^À³ªº®É¶¡¥H¸g¹L¤F³o­Ó³]©w, Squid ±N¤£·|»P¨ä¦¬¨ì¤U¤@­Ó ICP ¬d¸ßªº¦^À³. ¤]´N¬O»¡, ¦pªG±z¬d¸ßªº¶¡¹j®É¶¡¤j©ó³o­Ó¼Æ­È, ±z±N·|¬Ý¨ì¤@¨Ç¬d¸ß<b>ª½±µ</b>°eµ¹­ì©l¥D¾÷¦Ó¤£¬O¤W´å. <p>

<hr>

 070701000482ff000081a40000000000000002000000013d1fe2d400001356000000200000000000000000000000000000002300000003reloc/squid/help/edit_logs.ca.html    <header>Registres</header>

<b>Fitxer de registre d'accessos</b>: El valor per defecte depèn del sistema,
normalment és algun lloc de <tt>/var</tt>. Registra l'activitat de la 
petició del client. Conté una entrada per cada petició HTTP I ICP rebuda.
<p>

<b>Fitxer de registre de depuració</b>: El valor per defecte depèn del sistema.
Fitxer de registre del cau. Aquest és on va a parar la informació general
sobre el comportament del cau. Pots incrementar la quantitat de dades
registrades amb les opcions <b>Opcions de depuració</b>.
<p>

<b>Fitxer de registre d'emmagatzematge</b>: El valor per defecte depèn del
sistema. Mostra quins objectes s'expulsen del cau i quins objectes s'hi desen
(i per quant temps). Per desactivar-lo, introdueix "cap". De fet, no hi ha
cap utilitat per analitzar les dades, així que si el desactives no passa res.
<p>

<b>Fitxer de metadades del cau</b>: Per defecte, <tt>swap.log</tt> a cada
directori del cau. Aquest fitxer de registre guarda les metadades dels
objectes desats al disc. És útil per reconstruir el cau en engegar.
Normalment, aquest fitxer resideix a cada directori del cau, però pots
especificar-hi un camí alternatiu. Tingues en compte que has de donar un
nom complet, no només un directori. Donat que aquest és l'índex de tota 
la llista d'objectes, NO el pots rotar periòdicament!
<p>
Si es pot fer servir %s en el nom del fitxer, llavors, se substituirà amb una
representació del nom del directori cau, on cada '/' se substitueix amb
'.'. Això és necessari per permetre l'addició/supressió de línies de 
directori cau quan es fa servir un intercanvi de cau alternatiu.
<p>
Si hi ha més d'un directori cau i no es fa servir %s en el nom, llavors 
aquests registres d'intercanvi tindran noms com ara:
<p>
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>
L'extensió numerada (que s'afegeix automàticament) correspon a l'ordre de
les línies del directori cau a la configuració. Si canvies l'ordre del
les línies del directori cau d'aquest fitxer, llavors aquests fitxers de
registre NO correspondran a l'entrada correcta del directori cau (si no és
que en canvies el nom manualment). Recomanem que NO facis servir aquesta
opció. És millor mantenir aquests fitxers de registre a cada directori cau.
<p>

<b>Fes servir el format de registre HTTPD</b>: Per defecte, no. El cau pot
emular el format de fitxer de registres que molts programes 'http' fan 
servir. Per des/activar aquesta emulació, posa aquest valor a 'sí' o 'no'.
Per defecte, es fa servir el format natiu de registre,ja que inclou 
informació útil utilitzada pels analitzadors de registres específics de Squid.
<p>

<b>Registra les capçaleres MIME</b>: Per defecte, no. El cau pot registrar
tant les capçaleres MIME de petició com de resposta per a cada transacció
HTTP. Les capçaleres es codifiquen de forma segura i apareixeran com dos
camps tancats entre claus al final del registre d'accés (tant com pel format
natiu com pel format HTTP emulat). Per activar aquest registre, posa-ho a 
activat.
<p>

<b>Fitxer de registre d'agents d'usuari</b>: Per defecte, cap. Si es
configura amb l'opció "--enable-useragent-log", Squid escriurà el camp
User-Agent de les peticions HTTP al nom de fitxer especificat.
<p>

<b>Fitxer de PID</b>: El valor per defecte depèn del sistema. Un nom de fitxer
per escriure-hi l'id del procés. Per desactivar-lo, posa-hi "cap".
<p>
<b>Executa consultes d'identificació RFC931 per les ACLs</b>: Per defecte, cap.
Executa consultes d'identificació per trobar el nom d'usuari dels clients
qualsevol cosa d'aquestes ACLS.
<p>
<b>Temps límit d'identificació RFC931</b>: Per defecte, 30 segons. Temps màxim
d'espera de les peticions IDENT. Si és massa alt i has activat consultes
d'identificació, pots patir una denegació de servei per culpa de tenir 
moltes consultes d'identificació entrant a la vegada.
<p>
<b>Registra noms de host complets</b>: Per defecte, no. Registra el nom de
host complet dels clients. 
<p>
<b>Màscara de subxarxa de registre</b>: Per defecte, 255.255.255.255. Una
màscara de subxarxa per les adreces client dels fitxers de registre i la
sortida del gestor del cau. Canvia-ho per protegir la privacitat dels
clients del cau. Una màscara 255.255.255.0 registrarà totes les IPs 
d'aquest rang amb el darrer dígit posat a '0'.
<p>
<b>Opcions de depuració</b>: Per defecte "ALL,1".
Les opcions de registre s'estableixen com secció,nivell on s'assigna una
secció única a cada fitxer font. El resultat de la depuració Completa (nivell 9)en els nivells inferiors pot produir un fitxer de registre molt gran, així
que ves amb compte. la paraula màgica "ALL" estableix els nivells de 
depuració per a tots els nivells. Normalment, recomanem posar-hi "ALL,1".
<p>
<b>Taula de capçaleres MIME</b>: Camí de la taula MIME de Squid. Normalment,
no hi ha necessitat de canviar-ho, però si ho fas, el fitxer per defecte conté
exemples i informació de formatat.

<hr>


  07070100048300000081a40000000000000002000000013d1fe2d4000014ef000000200000000000000000000000000000002300000003reloc/squid/help/edit_logs.es.html    <header>Historial</header>

<b>Archivo de acceso de historial</b>: Por defecto depende del sistema, normálmente en algún sitio de <tt>/var</tt>. Lleva historial de la actividad de requerimientos de cliente. Contiene una entrada por cada requerimiento HTTP e ICP recibidos. <p>

<b>Depurar archivo de historial</b>: Por defecto depende del sistema. Archivo de historial de caché. Es donde va la información general sobre el comportamiento de tu caché. Puedes incrementar la cantidad de datos almacenados en este archivo mediante <b>Opciones de depuración</b>. <p>

<b>Archivo de almacenamiento de historial</b>: Por defecto depende del sistema. Lleva historial de las actividades del gestor de almacenaje. Muestra qué objectos son rechazados de la caché y qué objetos son salvados y por cuánto tiempo. Para desactivarlo, digita "ninguno (none)". No hay utilidades para analizar estos datos, por ello lo puedes desactivar tranquílamente. <p>

<b>Archivo de metadatos de caché</b>: Por defecto es 'swap.log' en cada directorio de caché. Este archivo de historial mantiene los metadatos de los objetos salvados en disco. Es usado para reconstruir la caché durante el arranque. Normálmente este archivo reside en cada directorio de caché, pero puedes especificar aquí un nombre alternativo de trayectoria. Date cuenta de que tienes que poner el nombre completo de archivo, no sólo su directorio. Ya que esto es el índice para toda la lista del objeto ¡NO PUEDES rotarlo periódicamente!. <p>

Si se usa %s en el nombre del archivo, será reemplazado con una representación del nombre de directorio de caché donde cada / se reemplaza por '.'. Esto es necesario para permitir añadir/quitar líneas de directorio de caché si se usa un historial de intercambio alternativo. <p>

Si tiene más de un directorio de caché y %s no se usa en el nombre, entonces estos historiales de intercambio tendrán nombres como: <p>
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>
La extensión numerada (que es añadida automáticamente) se corresponde con el orden de las líneas del directorio de caché en la configuración. Si cambias el orden de las líneas de la entrada del directorio de caché en este archivo, entonces estos archivos de historial NO se corresponderán con la entrada correcta de directorio de caché (a menos que manuálmente los renombres). Recomendamos que NO uses esta opción. Es mejor mantener estos archivos de historial en cada directorio de caché. <p>

<b>Usar formato de historial HTTPD</b>: Por defecto es no. La caché puede emular el formato de archivo de historia que muchos programas 'httpd' utilizan. Para desactivar/activar esta emulación, activa o desactiva este valor. Por defecto se utiliza el formato de historial nativo ya que incluye información útil que utiliza el analizador de historial específico de Squid.
<p>
<b>Llevar historial de cabeceras MIME</b>: Por defecto es no. La caché puede grabar ambas cabeceras MIME de requerimiento y de respuesta para cada transacción HTTP. Las cabeceras son codificadas de forma segura y aparecerán como dos campos encerrados entre corchetes al final del historial de acceso (para ambos formatos httpd emulado y nativo). Para activar este historial activa este valor.
<p>
<b>Archivo de historial de agente de usuario</b>: Por defecto ninguno. Si configurado con la opción de configuración de "--enable-useragent-log", Squid escribirá el campo de Agente-de-Usuario de requerimientos HTTP en el nombre de archivo especificado aquí.
<p>
<b>Archivo de PID</b>: Por defecto depende del sistema. Un nombre de archivo donde escribir la id de proceso. Para desactivarlo, pon ninguno 'none'.
<p>
<b>Realizar búsquedas de indentidad para ACLs</b>: Por defecto ninguna. Realiza búsqueda de identidad para hallar el nombre de usuario de clientes que acceden a cualquiera de estas ACLs.
<p>
<b>Tiempo de espera de identificación RFC931</b>: Por defecto es 30 segundos. Tiempo máximo a esperar por requermientos IDENT. Si este valor es demasiado grande y activaste cualquier búsqueda de identidad, entonces podías ser susceptible de ser denegado el servicio al tener muchos requerimientos de identidad de forma inmediata.
<p>
<b>Llevar historial de nombres completos de máquina</b>: Por defecto es no. Llevar el nombre completo de máquina de los clientes.
<p>
<b>Máscara de red de historial</b>: Por defecto es 255.255.255.255.  Una máscara de red para direcciones de cliente en archivos de historial y salida de cachemgr. Cambia esto para proteger la privacidad de tus clientes de caché. Una máscara de red de 255.255.255.0 hará que se lleve historial de todas las IPs en ese rango con el último dígito a cero.
<p>
<b>Opciones de depuración</b>: Por defecto es "ALL,1 (TODO,1)". Las opciones de historial son puestas como sección, nivel donde cada archivo emisor es asignado una única sección. Niveles inferiores dan como resultado una menor depuración completa. El nivel 9 puede resultar en un archivo de historial enorme, por ello ten cuidado. La palabra mágica "ALL (TODOS)" pone niveles de depuración para todas las secciones. Recomendamos ejecutar normálmente con "ALL,1 (TODO)"
<p>
<b>Tabla de cabeceras MIME</b>: Trayectoria a tabla MIME de Squid. No deberías necesitar cambiar esto, pero el archivo por defecto contiene ejemplos e información de formato por si deseas cambiarlo.

<hr>
 07070100048301000081a40000000000000002000000013d1fe2d4000010eb000000200000000000000000000000000000002000000003reloc/squid/help/edit_logs.html   <header>Logging</header>

<b>Access log file</b>: Default is system dependent, usually somewhere in <tt>/var</tt>.  Logs the client request activity.  Contains an entry for every HTTP and ICP request received. <p>

<b>Debug log file</b>: Default is system dependent.  Cache logging file. This is where general information about your cache's behaviour goes. You can increase the amount of data logged to this file with the <b>Debug options</b>. <p>

<b>Storage log file</b>: Default is system dependent.  Logs the activities of the storage manager.  Shows which objects are ejected from the cache, and which objects are saved and for how long.  To disable, enter "none". There are not really utilities to analyse this data, so you can safely disable it.<p>

<b>Cache metadata file</b>: Default is swap.log in each cache directory.  This log file holds the metadata of objects saved on disk.  It is used to rebuild the cache during startup.  Normally this file resides in each cache directory, but you may specify an alternate pathname here.  Note you must give a full filename, not just a directory. Since this is the index for the whole object list you CANNOT periodically rotate it! <p>

If %s can be used in the file name then it will be replaced with a representation of the cache directory name where each / is replaced with '.'. This is needed to allow adding/removing cache directory lines when an alternate cache swap log is being used. <p>

If have more than one cache directory, and %s is not used in the name then these swap logs will have names such as: <p>
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>
The numbered extension (which is added automatically) corresponds to the order of the cache directory lines in the configuration.  If you change the order of the cache directory lines in this file, then these log files will NOT correspond to the correct cache directory entry (unless you manually rename them).  We recommend that you do NOT use this option.  It is better to keep these log files in each cache directory. <p>

<b>Use HTTPD log format</b>: Defaults to no.  The Cache can emulate the log file format which many 'httpd' programs use.  To disable/enable this emulation, set this value to off or on.  The default is to use the native log format since it includes useful information that Squid-specific log analysers use.
<p>
<b>Log MIME headers</b>: Defaults to no.  The Cache can record both the request and the response MIME headers for each HTTP transaction.  The headers are encoded safely and will appear as two bracketed fields at the end of the access log (for either the native or httpd-emulated log formats).  To enable this logging set this to on.
<p>
<b>User agent log file</b>: Default is none.  If configured with the "--enable-useragent-log" configure  option, Squid will write the User-Agent field from HTTP requests to the filename specified here.
<p>
<b>PID file</b>: Default is system dependent.  A filename to write the process-id to.  To disable, enter "none".
<p>
<b>Perform RFC931 ident lookups for ACLs</b>: Default is none.  Perform ident lookups to find the username of clients accessing anything in these ACLs.
<p>
<b>RFC931 ident timeout</b>: Default is 30 seconds. Maximum time to wait for IDENT requests.  If this is too high, and you enabled any ident lookups, then you might be susceptible to denial-of-service by having many ident requests going at once.
<p>
<b>Log full hostnames</b>: Default is no.  Logs the full hostname of clients. 
<p>
<b>Logging netmask</b>: Default is 255.255.255.255.  A netmask for client addresses in logfiles and cachemgr output. Change this to protect the privacy of your cache clients. A netmask of 255.255.255.0 will log all IP's in that range with the last digit set to '0'.
<p>
<b>Debug options</b>: Default is "ALL,1".  Logging options are set as section,level where each source file is assigned a unique section.  Lower levels result in less Full debugging (level 9) can result in a very large log file, so be careful.  The magic word "ALL" sets debugging levels for all sections.  We recommend normally running with "ALL,1".
<p>
<b>MIME headers table</b>: Pathname to Squid's MIME table. You shouldn't need to change, but the default file contains examples and formatting information if you do.

<hr>
 07070100048302000081a40000000000000002000000013d1fe2d4000010eb000000200000000000000000000000000000002300000003reloc/squid/help/edit_logs.it.html    <header>Logging</header>

<b>Access log file</b>: Default is system dependent, usually somewhere in <tt>/var</tt>.  Logs the client request activity.  Contains an entry for every HTTP and ICP request received. <p>

<b>Debug log file</b>: Default is system dependent.  Cache logging file. This is where general information about your cache's behaviour goes. You can increase the amount of data logged to this file with the <b>Debug options</b>. <p>

<b>Storage log file</b>: Default is system dependent.  Logs the activities of the storage manager.  Shows which objects are ejected from the cache, and which objects are saved and for how long.  To disable, enter "none". There are not really utilities to analyse this data, so you can safely disable it.<p>

<b>Cache metadata file</b>: Default is swap.log in each cache directory.  This log file holds the metadata of objects saved on disk.  It is used to rebuild the cache during startup.  Normally this file resides in each cache directory, but you may specify an alternate pathname here.  Note you must give a full filename, not just a directory. Since this is the index for the whole object list you CANNOT periodically rotate it! <p>

If %s can be used in the file name then it will be replaced with a representation of the cache directory name where each / is replaced with '.'. This is needed to allow adding/removing cache directory lines when an alternate cache swap log is being used. <p>

If have more than one cache directory, and %s is not used in the name then these swap logs will have names such as: <p>
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>
The numbered extension (which is added automatically) corresponds to the order of the cache directory lines in the configuration.  If you change the order of the cache directory lines in this file, then these log files will NOT correspond to the correct cache directory entry (unless you manually rename them).  We recommend that you do NOT use this option.  It is better to keep these log files in each cache directory. <p>

<b>Use HTTPD log format</b>: Defaults to no.  The Cache can emulate the log file format which many 'httpd' programs use.  To disable/enable this emulation, set this value to off or on.  The default is to use the native log format since it includes useful information that Squid-specific log analysers use.
<p>
<b>Log MIME headers</b>: Defaults to no.  The Cache can record both the request and the response MIME headers for each HTTP transaction.  The headers are encoded safely and will appear as two bracketed fields at the end of the access log (for either the native or httpd-emulated log formats).  To enable this logging set this to on.
<p>
<b>User agent log file</b>: Default is none.  If configured with the "--enable-useragent-log" configure  option, Squid will write the User-Agent field from HTTP requests to the filename specified here.
<p>
<b>PID file</b>: Default is system dependent.  A filename to write the process-id to.  To disable, enter "none".
<p>
<b>Perform RFC931 ident lookups for ACLs</b>: Default is none.  Perform ident lookups to find the username of clients accessing anything in these ACLs.
<p>
<b>RFC931 ident timeout</b>: Default is 30 seconds. Maximum time to wait for IDENT requests.  If this is too high, and you enabled any ident lookups, then you might be susceptible to denial-of-service by having many ident requests going at once.
<p>
<b>Log full hostnames</b>: Default is no.  Logs the full hostname of clients. 
<p>
<b>Logging netmask</b>: Default is 255.255.255.255.  A netmask for client addresses in logfiles and cachemgr output. Change this to protect the privacy of your cache clients. A netmask of 255.255.255.0 will log all IP's in that range with the last digit set to '0'.
<p>
<b>Debug options</b>: Default is "ALL,1".  Logging options are set as section,level where each source file is assigned a unique section.  Lower levels result in less Full debugging (level 9) can result in a very large log file, so be careful.  The magic word "ALL" sets debugging levels for all sections.  We recommend normally running with "ALL,1".
<p>
<b>MIME headers table</b>: Pathname to Squid's MIME table. You shouldn't need to change, but the default file contains examples and formatting information if you do.

<hr>
 07070100048303000081a40000000000000002000000013d1fe2d400001333000000200000000000000000000000000000002300000003reloc/squid/help/edit_logs.pl.html    <header>Logowanie</header>

<b>Log dostêpu</b>: Domy¶lny zale¿y od systemu, zazwyczaj gdzie¶
w&nbsp;<tt>/var</tt>. Loguje aktywno¶æ zapytañ klientów. Zawiera zapisy
o&nbsp;ka¿dym otrzymanym zapytaniu HTTP i&nbsp;ICP. <p>

<b>Log pracy proxy</b>: Domy¶lny zale¿y od systemu. Plik logowania proxy.
Jest to miejsce, do którego trafiaj± informacje o&nbsp;zachowaniu Twojego
proxy. Mo¿esz zwiêkszyæ ilo¶æ logowanej w&nbsp;tym pliku informacji za
pomoc± <b>Opcji ¶ledzenia</b>. <p>

<b>Log buforów</b>: Domy¶lny zale¿y od systemu. Loguje aktywno¶æ zarz±dcy
buforów cache. Pokazuje, które obiekty s± wyrzucane z&buforów, a&nbsp;które
s± zachowywane i&nbsp;jak d³ugo. Aby wy³±czyæ to logowanie, wisz "none".
Naprawdê nie ma narzêdzi do analizy tych danych, wiêc mo¿esz to spokojnie
wy³±czyæ. <p>

<b>Plik metadanych dla buforów</b>: Domy¶lnie <tt>swap.log</tt>
w&nbsp;ka¿dym katalogu buforów. Ten log zawiera metadane obiektów zapisanych
na dysku. Jest u¿ywany do przybudowywania buforów podczas startu. Plik ten
znajduje siê normalnie w&nbsp;ka¿dym katalogu buforów, ale mo¿esz podaæ tu
inn± ¶cie¿kê. Zauwa¿, ¿e musisz podaæ pe³n± nazwê pliku, a&nbsp;nie jedynie
katalag. Jako ¿e jest to plik indeksowy dla ca³ej listy obiektów, NIE WOLNO
Ci go okresowo czy¶ciæ! <p>

Je¶li '%s' zostanie u¿yte w&nbsp;nazwie pliku, zostanie zast±pione przez
nazwê pliku logu, w&nbsp;której ka¿dy znak '/' zast±piono przez '.'. Jest to
potrzebne, aby umo¿liwiæ dodawanie/usuwanie linii z&nbsp;nazwami katalogów
gdy kolejny log buforów cache jest w&nbsp;u¿yciu. <p>

Je¶li masz wiêcej ni¿ jeden katalog buforów a&nbsp;nie u¿ywasz '%s'
w&nbsp;nazwie, wówczas poszczególne logi bêd± mia³y nazwy takie, jak: <p>

<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>

Numery w&nbsp;koñcówkach nazw (dodawane automatycznie) odpowiadaj±
kolejno¶ci linii katalogów buforów cache w&nbsp;konfiguracji.  Je¶li
zmienisz podan± kolejno¶æ katalogów, wówczas te logi NIE bêd± odpowiada³y
prawid³owym wpisom z&nbsp;nazwami katalogów buforów (chyba, ¿e zmienisz ich
nazwy rêcznie). Zaleca siê NIE u¿ywanie tej opcji. Lepiej trzymaæ pliki
logów w&nbsp;odpowiednich katalogach buforów cache. <p>

<b>U¿ywaæ formatu logów HTTPD</b>: Domy¶lnie nie. Proxy mo¿e emulowaæ format
logów u¿ywany przez wiele programów 'httpd'. Aby emulacjê wy³±czyæ/w³±czyæ
ustaw tê warto¶æ odpowiednio na Nie lub Tak. Domy¶lne jest u¿ywanie
wewnêtrznego formatu logów, poniewa¿ zawiera on u¿yteczne informacje
wykorzystywane przez zorientowane na Squida analizatory logów. <p>

<b>Logowaæ nag³ówki MIME</b>: Domy¶lnie nie. Proxy mo¿e zapisywaæ nag³ówki
MIME zarówno dla zapytañ, jak i&nbsp;dla odpowiedzi dla ka¿dej operacji
HTTP. Nag³ówki s± bezpiecznie zakodowane i&nbsp;pojawiaj± siê jako dwa ujête
w&nbsp;nawiasy pola na koñcu wpisu do logu dostêpu (zarówno dla wewnêtrznego
formatu Squida, jak i&nbsp;dla emulacji httpd). Aby w³±czyæ to logowanie
ust±w opcjê na Tak. <p>

<b>Log programów u¿ytkownika</b>: Domy¶lnie brak. Je¶li podczas konfiguracji
przed kompilacj± w³±czono opcjê "--enable-useragent-log", Squid bêdzie
zapisywa³ pole "User-Agent" zapytañ HTTP (zawieraj±ce zazwyczaj dane
okre¶laj±ce uzywan± przegl±darkê) do okre¶lonego tu pliku. <p>

<b>Plik z&nbsp;numerem PID</b>: Domy¶lny zale¿y od systemu. Nazwa pliku, do
którego jest zapisywany numer procesu (PID). Aby go nie u¿ywaæ wpisz "none".
<p>

<b>Wykonywaæ identyfikacjê RFC931 dla ACL</b>: Domy¶lnie dla ¿adnych.
Wykonywanie zapytañ identyfikacyjnych, aby okre¶liæ nazwy u¿ytkowników
uzyskuj±cych dostêp do czegokolwiek podpadaj±cego pod te ACL. <p>

<b>Czas przeterminowania identyfikacji wg RFC931</b>: Domy¶lnie 30 sekund.
Maksymalny czas oczekiwania na wyniki zapytañ IDENT. Je¶li jest zbyt du¿y
i&nbsp;w³±czy³e¶ zapytania identa, mo¿esz doprowadziæ do zablokowania us³ugi
(DoS) poprzez zbyt wiele jednocze¶nie wykonywanych zapytañ ident. <p>

<b>Logowaæ pe³ne nazwy hostów</b>: Domy¶lnie nie. Logowanie pe³nej (FQDN)
nazwy hostów klientów. <p>

<b>Maska logowania</b>: Domy¶ln± jest 255.255.255.255. Maska dla adresów
klientów w&nbsp;logach oraz wyniku cachemgr. Zmieñ j±, je¶li chcesz choniæ
prywatno¶æ swoich klientów. Przy masce 255.255.255.0 wszystkie IP bêd±
logowane z&nbsp;ostatni± cyfr± ustawion± na '0'. <p>

<b>Opcje ¶ledzenia</b>: Domy¶lnie "ALL,1".  S± to opcje logowania ustawiana
jako "sekcja,poziom", gdzie ka¿dy plik kodu ¼ród³owego jest przypisany do
unikalnej sekcji. Ustawienie ni¿szego poziomu powoduje logowanie mniejszej
ilo¶ci informacji, ni¿ pe³ne ¶ledzenie (poziom 9), przy którym mo¿e powstaæ
bardzo du¿y log, wiêc b±d¼ ostro¿ny. Magiczne s³owo "ALL" ustawia poziomy
¶ledzenia dla wszystkich sekcji. Zazwyczaj zaleca siê uruchamianie
z&nbsp;"ALL,1". <p>

<b>Tablica nag³ówków MIME</b>: ¦cie¿ka do tablicy MIME Squida. Nie powinno
byæ potrzeby zmiany tej opcji, ale standardowy plik zawiera przyk³ady
i&nbsp;opis sk³adni, gdyby takowa wyst±pi³a.

<hr>
 07070100048304000081a40000000000000002000000013d1fe2d40000125c000000200000000000000000000000000000002300000003reloc/squid/help/edit_logs.sv.html    <header>Loggning</header>

<b>Loggfil för åtkomst</b>: Standardinställningen är systemberoende, men
vanligen någonstans i <tt>/var</tt>. Loggar klientförfrågningar. Innehåller
en post för varje HTTP- och ICP-uppslagning som mottagits.

<p><b>Loggfil för debuggning</b>: Standardinställningen är systemberoende.
Cache-loggfil. Det är här som allmän information om cachens uppförande hamnar.
Det går att öka den datamängd som loggas till denna fil i
<b>Debuggningsinställningarna</b>.

<p><b>Loggfil för lagring</b>: Standardinställningen är systemberoende.
Loggar lagringshanterarens aktivitet. Visar de objekt som kastas ut från
cachen och de som sparas, samt hur länge de sparas. Välj "ingen" för att slå
av detta. Det finns egentligen inga verktyg för att analysera denna logg, så
det gör inget om man slår av den.

<p><b>Fil för cache-metadata</b>: Standardinställningen är swap.log i varje
cache-katalog. Denna loggfil innehåller metadata om de objekt som sparats på
disk och används för att bygga upp cachen igen vid start. Vanligtvis ligger
denna fil i varje cache-katalog, men det går också att ange en annan sökväg
här. Observera att ett fullständigt filnamn måste anges, inte bara en
katalog. Eftersom detta är index för hela objektlistan går det INTE att
rotera den regelbundet!

<p>Om det går att använda % i filnamnet kommer det att ersättas med en
representation av cache-katalogens namn, där alla '/' ersätts med '.'. Detta
behövs för att tillåta att cache-kataloger läggs till och tas bort när en
annan cache-swap-logg används.

<p>Om det finns mer än en cache-katalog och det inte går att använda % i
filnamnen, kommer dessa swap-loggar ha namn i stil med:
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>

<p>Numren på slutet (som läggs till automatiskt) motsvarar ordningen på
cache-katalogernas rader i inställningarna. Om man ändrar ordning på
raderna kommmer loggfilerna INTE att motsvara rätt cache-katalog, om man inte
döper om dem för hand. Vi rekommenderar att denna inställning INTE används.
Det är bättre att hålla dessa loggfiler i varsin cache-katalog.

<p><b>Använda HTTPD-loggformat</b>: Standardinställningen är nej. Cachen kan
generera det loggfilformat som många 'httpd'-program använder. Sätt denna
parameters värde till av eller på för att slå av eller på genereringen.
Standardformatet är att använda det inbyggda loggformatet, eftersom det
innehåller användbar information som Squid-specifika analysprogram använder.

<p><b>Logga MIME-huvuden</b>: Standardinställningen är nej. Cachen kan läsa
både uppslagnings- och svars-MIME-huvudena för varje HTTP-transaktion.
Huvudena är säkert kodade och kommer att lagras som två fält inom
hakparenteser i slutet på åtkomstloggen (för inbyggt eller httpd-genererande
loggformat). Välj på för att slå på denna loggning.

<p><b>Loggfil för användarprogram</b>: Standardinställnignen är ingen.
Om Squid konfigureras med inställningen "--enable-useragent-log", kommer den
att logga User-Agent-fältet i HTTP-förfrågningen till den fil som anges här.

<p><b>PID-fil</b>: Standardinställningen är systemberoende. Ange ett filnamn
dit process-id ska skrivas. Ange "ingen" för att slå av detta.

<p><b>Utföra RFC931-identitetsuppslagningar för åtkomstlistor</b>:
Standardinställningen är ingen. Slår upp identiteterna för att hitta
datornamnen på de klienter som försöker komma åt något i dessa åtkomstlistor.

<p><b>Tidsgräns för RFC931-identitet</b>: Standardvärdet är 30 sekunder. Detta
är den längsta tid som Squid ska vänta på IDENT-uppslagningar. Om detta värde
är för högt och alla identitetsuppslagningar ska utföras, kan man råka ut för
en denial-of-service genom att man har för många uppslagningar på gång
samtidigt.

<p><b>Logga fullständiga datornamn</b>: Standardinställningen är nej. Loggar
fullständigt datornamn för klienterna.

<p><b>Loggningsnätmask</b>: Standardvärdet är 255.255.255.255. Nätmask för
klientadresser i loggfiler och cachemgr-utmatningar. Ändra denna för att
skydda cache-klienternas integritet. Nätmasken 255.255.255.0 gör att alla
IP-adresser x.x.x.0-255 loggas.

<p><b>Debuggningsinställningar</b>: Standardinställningen är "ALL,1".
Loggningsinställningarna sätts som sektion,nivå där varje källfil får en
egen sektion. Lägre nivåer gör att färre saker loggas. Fullständig debuggning
(nivå 9) kan ge en väldigt stor loggfil, så var försiktig med detta. Det
magiska ordet "ALL" sätter debuggningsnivån för samtliga sektioner. Vi
rekommenderar att man vanligtvis kör med "ALL,1".

<p><b>Tabell över MIME-huvuden</b>: Sökväg till Squids MIME-tabell. Denna ska
inte behöva ändras, men om du gör det innehåller standardfilen exempel och
formateringsupplysningar.

<hr>
07070100048306000081a40000000000000002000000013d1fe2d400000b4d000000200000000000000000000000000000002200000003reloc/squid/help/edit_mem.ca.html <header>Ús de la Memòria</header>

<b>Límit d'ús de la memòria</b>: Per defecte, 8 Mb.  <p>
NOTA: Aquest paràmetre no especifica la mida màxima del procés.
Estableix un límit sobre un aspecte de l'ús de la memòria per part
de Squid. Squid també fa servir memòria per altres coses. El teu procés
segurament serà dues o tres vegades més gran del que hi posis aquí.
<p>
Especifica la quantitat ideal de memòria a utilitzar per:
for:
<ul>
<li>Objectes en trànsit
<li>Objectes calents
<li>Objectes amb cau negatiu
</ul>
<p>
Les dades d'aquests objectes s'emmagatzemen en blocs de 4 Kb.
Aquest paràmetre especifica el límit superior ideal de la mida 
total dels blocs de 4 Kb allotjats. El objectes en trànsit tenen
la prioritat més alta.
<p>
El objectes en trànsit tenen prioritat sobre els altres. Quan cal
espai addicional per a les dades entrants, s'alliberaran els
objectes calents i els objectes amb cau negatiu. En altres paraules,
els objectes calents i els objectes amb cau negatiu emplenaran 
aquell espai que els objectes en trànsit no necessitin.
<p>
Aquest límit serà superat si les circumstàncies ho exigeixen.
En concret, si el ritme de peticions entrants necessita més 
memòria per gestionar els objectes en trànsit, Squid excedirà 
aquest límit per satisfer les noves peticions. Quan la càrrega baixi,
s'alliberaran blocs fins que s'arribi al nivell alt. A partir d'aquí,
es faran servir blocs per allotjar els objectes calents.
<p>

<b>Mida del cau FQDN</b>: Per defecte, 1024. Nombre màxim de entrades del cau
de Nom de Domini Completament Qualificat (FQDN).
<p>
<b>Nivell alt de la memòria</b>: Per defecte, 95%. Quan s'arriba aquest nivell,
els objectes calents i els objectes en trànsit es deixen anar per alliberar 
memòria.
<p>
<b>Nivell baix de la memòria</b>: Per defecte, 90%. Quan s'ha arribat a 
aquest nivell, Squid alliberarà memòria fins que l'ús hagi baixat per sota
d'aquesta marca.
<p>
<b>Nivell alt del disc</b>: Per defecte, 95%. Quan s'arriba a aquest nivell,
Squid començara a buidar els buffers del disc de forma agressiva.
<p>
<b>Nivell baix del disc</b>: Per defecte, 90%. Quan s'ha arribat a aquest
nivell, Squid seguirà buidant els buffers del disc fins que l'ús caigui per
sota d'aquesta marca.
<p>
<b>Mida màxima d'objecte al cau</b>: Per defecte, 4096 Kb. Aquest valor limita
la mida dels objectes que es desen al cau. Qualsevol cosa per damunt d'aquesta
mida no es desarà mai al cau i s'haurà de carregar sempre des del servidor
original.
<p>
<b>Mida del cau de l'adreça IP</b>: Per defecte, 1024. Nombre d'entrades a
desar al cau IP.
<p>
<b>Nivell alt del cau IP</b>: Per defecte, 95%. El punt en què Squid comença
a buidar entrades IP del cau.
<p>
<b>Nivell baix del cau IP</b>: Per defecte, 90%. Després que hagi començat
el buidat del cau IP, seguirà fins que el nombre d'entrades del cau IP
hagi baixat per sota d'aquest percentatge.
<p>

<hr>


   07070100048305000081a40000000000000002000000013d1fe2d400000b6d000000200000000000000000000000000000002b00000003reloc/squid/help/edit_logs.zh_TW.Big5.html    <header>¬ö¿ý</header>

<b>¦s¨ú¬ö¿ýÀÉ</b>: ¹w³]­È¨Ì¨t²Î¦ÓÅÜ, ¤@¯ë³£·|¦b <tt>/var</tt>. ³o°O¿ý¤F«È¤áºÝ­n¨Dªºª¬ªp, ¥]§t¤F©Ò¦³ªº HTTP »P ICP ­n¨D. <p>

<b>°£¿ù¬ö¿ýÀÉ</b>: ¹w³]­È¨Ì¨t²Î¦ÓÅÜ. ³o¬O¤@­ÓÃö©ó±zªº§Ö¨ú¦æ¬°ÅÜ¤Æªº¤@¯ë©Ê¸ê°T. ±z¥i¥H§ïÅÜ<b>°£¿ù¿ï¶µ</b>¤¤ªº³]©w¥H¼W´î¬ö¿ýªº½d³ò. <p>

<b>Àx¦s¬ö¿ýÀÉ</b>: ¹w³]­È¨Ì¨t²Î¦ÓÅÜ. ¬ö¿ý©Ò¦³Àx¦sÅé¤¤ªº¬¡°Ê, Åã¥Ü­þ¨Çª«¥ó³Q§Ö¨ú©Ò©Úµ´, ¦Ó­þ¨Çª«¥ó³QÀx¦s¤F¦h¤[µ¥. ­nÃö³¬³o­Ó¥\¯à¥H¿é¤J "none". ¥Ñ©ó¨Ã¨S¦³¥ô¦ó¤u¨ã¥i¥H¥Î©ó¤ÀªR³o¨Ç¸ê®Æ, ©Ò¥H±z¥i¥H¦w¥þªºÃö³¬¤§.<p>

<b>§Ö¨ú¤¤¤¶¸ê®ÆÀÉ</b>: ¹w³]¬°¦b¨C¤@­Ó§Ö¨ú¥Ø¿ý¤¤ªº swap.log ÀÉ®×. ³o­Ó¬ö¿ýÀÉ«O¦s¤FÀx¦s¦bºÏºÐ¤Wª«¥óªº¤¤¤¶¸ê®Æ. ³o³Q¥Î©ó¦b±Ò°Ê®É­«·s«Ø¥ß§Ö¨ú. ¤@¯ë¦Ó¨¥, ³o­ÓÀÉ®×¦s¦b©ó¨C¤@­Ó§Ö¨ú¥Ø¿ý, ¦ý±z¤]¥i¥H¦A³oÃä«ü©w¥t¤@­Ó¸ô®|. ª`·N: ±z¥²¶·µ¹¤©§¹¾ãªºÀÉ®×¦WºÙ¦Ó¤£¬O¥u¦³¥Ø¿ý. ¥Ñ©ó³o­ÓÀÉ®×¬O©Ò¦³ª«¥óªº¯Á¤Þ, ©Ò¥H±z¤£¯à§ïÅÜ¥¦! <p>

¦pªG %s ¨Ï¥Î©óÀÉ®×¦WºÙ, «h¥¦·|³Q§Ö¨ú¥Ø¿ý¦WºÙ©Òªí²{. ¹ï©ó¤¹³\¼W¥[/²¾°£§Ö¨ú¥Ø¿ý¦æ»P¥æ´«ÀÉ®É³o¬O¥²­nªº. <p>

¦pªG±z¦³¦h©ó¤@­Ó§Ö¨ú¥Ø¿ý, ¦Ó %s ¨S¦³¥Î©óÀÉ®×¦WºÙ, «h¥æ´«¬ö¿ýÀÉ·|³Q©R¦W¦¨¹³¤U¦Cªº¼Ë¦¡:: <p>
<ul>
<li>cache_swap_log.00
<li>cache_swap_log.01
<li>cache_swap_log.02
</ul>
<p>
½s¸¹ªº©µ¦ùÀÉ¦W (¦Û°Ê¼W¥[ªº) ¹ïÀ³©ó¦b²ÕºAÀÉ¤¤§Ö¨ú¥Ø¿ýªº¶¶§Ç. ¦pªG±z§ïÅÜ¤F§Ö¨ú¥Ø¿ýªº¶¶§Ç, «h³o¨ÇÀÉ®×<b>¤£·|</b>¹ïÀ³¨ì¥¿½Tªº¥Ø¿ý (°£«D±z¤â°Êªº§ïÅÜ¤§). §Ú­Ì«ØÄ³±z<b>¤£­n</b>¨Ï¥Î³o­Ó¿ï¶µ, «O«ù³o­Ó¬ö¿ýÀÉ¦b¨C­Ó§Ö¨ú¥Ø¿ý¤¤¸û¦n. <p>

<b>¨Ï¥Î HTTPD ¬ö¿ýÀÉ®æ¦¡</b>: ¹w³]­È¬° '§_'. Squid ¥i¥H¼ÒÀÀ¥X³\¦h¤£¦P 'httpd' µ{¦¡©Ò¨Ï¥Îªº¬ö¿ýÀÉ. ­nÃö³¬/±Ò°Ê³o­Ó¼ÒÀÀ, ±N³o­Ó¼Æ­È³]©w¬°§_/¬O. ¹w³]­È¬O¨Ï¥Î Squid ¦Û¤vªº¬ö¿ýÀÉ®æ¦¡, ¦]¬°¥¦¥]§t¤F³\¦h Squid ³\¦h¨ä¬ö¿ý¤ÀªR¾¹©Ò¯à´£¨Ñªº¸ê°T.
<p>
<b>¬ö¿ý MIME ¼ÐÀY</b>: ¹w³]­È¬° '§_'. Squid ¥i¥H°O¿ý¹ï¨C¤@­Ó HTTP ¶Ç¿é®É©Ò­n¨D©Î¦^À³ªº MIME ¼ÐÀY. ³o¨Ç¼ÐÀY·|¦w¥þªº½s½X¨Ã¥B¥X²{¦b¦s¨ú¬ö¿ýÀÉªºÄæ¦ì¤§¤¤ (¹ï©ó­ì¥Íªº©Î¼ÒÀÀªº¬ö¿ýÀÉ§¡¥i). ­n±Ò°Ê³o­Ó¥\¯à½Ð±N¦¹¿ï¶µ³]©w¬° '¬O'.
<p>
<b>¨Ï¥ÎªÌ¥N²z¤H¬ö¿ýÀÉ</b>: ¹w³]­È¬° 'µL'. ¦pªG¦b½sÄ¶®É¦³¨Ï¥Î "--enable-useragent_log" ¿ï¶µ, Squid ¥i¥H±N HTTP ­n¨D¼ÐÀY¤¤ªº User-Agent Äæ¦ì¬ö¿ý¨ì«ü©wªº³oÃäÀÉ®×¤¤.
<p>
<b>PID ÀÉ®×</b>: ¹w³]­È¨Ì¨t²Î¦Ó«K. ³o¬O¤@­Ó¬ö¿ýµ{§Ç½s¸¹ªºÀÉ®×. ­nÃö³¬³o­Ó¥\¯à, ¿é¤J "none".
<p>
<b>¦s¨ú±±¨î¦Cªí­n¨D RFC931 ¨­¤À¬d¸ß</b>: ¹w³]­È¬° 'µL'. ³o¥i¥H­n¨D·í«È¤áºÝ¦s¨ú¥ô¦ó¸ê°T®É, ¥H RFC931 ¶i¦æ¨­¤À¬d¸ß.
<p>
<b>RFC931 ¨­¤À¬d¸ß¹O®É</b>: ¹w³]­È¬° 30 ¬í. ³o¬O¹ï©ó¬d¸ß­n¨Dªº³Ì¤jµ¥«Ý®É¶¡. ¦pªG³o­Ó¼Æ­È³]ªº¤Ó°ª, ¦Ó¥B±z¤S±Ò°Ê¥ô¦ó¨­¤À¬d¸ßªº¸Ü, ±z¥i¯à·|¾D¨ü¦P®É¤j¶q­n¨Dªº©Úµ´ªA°È§ðÀ».
<p>
<b>¬ö¿ý§¹¾ã¥D¾÷¦WºÙ</b>: ¹w³]­È¬° '§_'. ³o¥i¥H°O¿ý«È¤áºÝªº§¹¾ã¥D¾÷¦WºÙ. 
<p>
<b>¤lºô¸ô¾B¸n¬ö¿ý</b>: ¹w³]­È¬° '255.255.255.255'. ³o¬O¹ï©ó¬ö¿ýÀÉ»P§Ö¨úºÞ²zªÌ¿é¥X©Ò¨Ï¥Îªº«È¤áºÝ¾B¸n. §ïÅÜ³o­Ó¼Æ­È¥i¥H«OÅ@±z§Ö¨ú«È¤áºÝªºÁô¨pÅv. ¤@­Ó 255.255.255.0 ªº¾B¸n·|°O¿ý©Ò¦³¦b³o­Ó½d³ò¤¤ªº IP.
<p>
<b>°£¿ù¿ï¶µ</b>: ¹w³]­È¬° "ALL,1". ¬ö¿ýªº¿ï¶µ¬O¨Ì¾Ú°Ï°ì³]©wªº, µ¥¯Å¬O¨C¤@­Ó¨Ó·½ÀÉ®×³Q«ü©wªº°ß¤@°Ï°ì. ¸û°ªªºµ¥¯Å (9) ¥i¥H²£¥Í¤@­Ó«D±`¤jªºÀÉ®×, ½Ð¤p¤ß. ¦Ó "ALL" ³]©w¬ö¿ý¨C¤@­Ó°Ï°ì. §Ú­Ì«ØÄ³¤@¯ëª¬ªp¤U, ¨Ï¥Î "ALL,1".
<p>
<b>MIME ¼ÐÀYªí</b>: ¨ì Squid ªº MIME ªí®æªº¸ô®|. ±z¤£À³¸Ó§ïÅÜ³o­Ó³]©w, ¦ý¹w³]ªºÀÉ®×¥]§t¤F½d¨Ò»P®æ¦¡ªº¸ê°T.

<hr>
   07070100048307000081a40000000000000002000000013d1fe2d400000bc3000000200000000000000000000000000000002200000003reloc/squid/help/edit_mem.es.html <header>Uso de Memoria</header>

<b>Límite de uso de memoria</b>: Por defecto 8 MB.  <p>
NOTA: Este parámetro no especifica la medida máxima por
proceso. Coloca un límite en un aspecto del uso de
memoria de Squid. Squid usa la memoria para otras cosas
también. Tu proceso puede llegar a ser dos o tres veces
mayor que el valor que pongas aquí.
<p>
Especifica la cantidad ideal de memoria a usar para:
<ul>
<li>Objetos En-Tránsito
<li>Objetos Calientes
<li>Objetos de Caché-Negativa
</ul>
<p>
Los datos para estos objetos se almacenan en bloques de 4 KB.
Este parámetro especifica el límite superior ideal de la
medida total de bloques de 4 KB reservados. Los objetos
En-Tránsito se llevan la prioridad mayor.
<p>
Los objetos En-tránsito tienen prioridad sobre los demás. Si
se necesita espacio adicional para los datos que llegan, se
liberan los objetos calientes y los de caché negativa. En
otras palabras, los objetos calientes y de caché negativa
llenan el espacio no usado que no haga falta para otros
objetos en-tránsito.
<p>
Si las circustancias lo requieren, este límite puede ser
excedido. Específicamente, si tu porcentaje de requerimientos
entrantes requiere más de esta cantidad de memoria para
mantener los objetos en-tránsito, Squid excederá este límite
para satisfacer los nuevos requerimientos. Cuando la carga
se decremente, se liberarán los bloques hasta que se alcance
el nivel de pleamar. De ahí en adelante, se usarán los
bloques para almacenar objetos calientes.
<p>

<b>Medida de caché NDCC (FQDN)</b>: Por defecto es 1024. Número máximo de entradas de caché de Nombre de Dominio Complétamente Calificado. <p>

<b>Marca de pleamar de Memoria</b>: Por defecto es 95%. Al alcanzar esta marca de pleamar, los objetos calientes y los en tránsito se liberan de memoria. <p>

<b>Marca de bajamar de Memoria</b>: Por defecto es 90%. Tras alcanzar la marca de pleamar, Squid liberará memoria hasta que el uso baje por debajo de la marca de bajamar. <p>

<b>Marca de pleamar de disco</b>: Por defecto es 95%. Al alcanzar esta marca de pleamar, Squid empezará a limpiar el disco agresívamente. <p>

<b>Marca de bajamar de disco</b>: Por defecto es 90%.  Tras alcanzar la marca de pleamar, Squid continuará limpiando el disco hasta llegar por debajo de esta marca de bajamar. <p>

<b>Medida máxima de objeto de caché</b>: Por defecto 4096 KB. Este valor limita la medida de los objetos que se almacenarán en la caché. Cualquier cosa por encima de esta medida nunca será puesta en caché y debe de ser cargada desde el servidor original cada vez. <p>

<b>Medida de caché de la dirección IP</b>: Por defecto es 1024. Número de entradas a almacenar en la caché de IP. <p>

<b>Marca de pleamar de caché IP</b>: Por defecto es 95%. El punto en el cual Squid limpia las entradas de caché de IP. <p>

<b>Marca de bajamar de caché IP</b>: Por defecto es 90%.  Tras empezar el vaciado de caché IP, este continuará hasta que el número de entradas en la caché IP caiga por debajo de este porcentaje. <p>

<hr>


 07070100048308000081a40000000000000002000000013d1fe2d400000a6a000000200000000000000000000000000000001f00000003reloc/squid/help/edit_mem.html    <header>Memory Usage</header>

<b>Memory usage limit</b>: Defaults to 8MB.  <p>
NOTE: This parameter does not specify the maximum process
size.  It places a limit on one aspect of Squid's memory
usage.  Squid uses memory for other things as well.
Your process will probably become twice or three times
as big as the value you put here. 
<p>
It specifies the ideal amount of memory to be used
for:
<ul>
<li>In-Transit objects
<li>Hot Objects
<li>Negative-Cached objects
</ul>
<p>
Data for these objects are stored in 4 kB blocks.  This
parameter specifies the ideal upper limit on the total size of
4 kB blocks allocated.  In-Transit objects take the highest
priority.
<p>
In-transit objects have priority over the others.  When
additional space is needed for incoming data, negative-cached
and hot objects will be released.  In other words, the
negative-cached and hot objects will fill up any unused space
not needed for in-transit objects.
<p>
If circumstances require, this limit will be exceeded.
Specifically, if your incoming request rate requires more than
this amount of memory to hold in-transit objects, Squid will
exceed this limit to satisfy the new requests.  When the load
decreases, blocks will be freed until the high-water mark is
reached.  Thereafter, blocks will be used to store hot
objects.
<p>

<b>FQDN cache size</b>: Defaults to 1024.  Maximum number of Fully Qualified Domain Name cache entries. <p>

<b>Memory high-water mark</b>: Defaults to 95%.  When this high mark is reached, hot objects and in transit objects will be released to free memory. <p>

<b>Memory low-water mark</b>: Defaults to 90%.  After the high water mark is reached, Squid will free memory until usage has dropped below this mark. <p>

<b>Disk high-water mark</b>: Defaults to 95%.  When this high mark is reached, Squid will begin aggressively flushing the disk. <p>

<b>Disk low-water mark</b>: Defaults to 90%.  After the high water mark is reached, Squid will continue to flush the disk until usage drops below this mark. <p>

<b>Maximum cached object size</b>: Defaults to 4096 kB.  This setting limits the size of objects that will be stored by the cache.  Anything over this size will never be cached and must be loaded from the origin server everytime. <p>

<b>IP address cache size</b>: Defaults to 1024.  Number of entries to be stored in the IP cache. <p>

<b>IP cache high-water mark</b>: Defaults to 95%.  The point at which Squid begins to flush IP cache entries. <p>

<b>IP cache low-water mark</b>: Defaults to 90%.  After IP cache flushing begins, it will continue until the number of entries in the IP cache drops below this percentage. <p>

<hr>


  07070100048312000081a40000000000000002000000013d1fe2d400000a6a000000200000000000000000000000000000002200000003reloc/squid/help/edit_mem.it.html <header>Memory Usage</header>

<b>Memory usage limit</b>: Defaults to 8MB.  <p>
NOTE: This parameter does not specify the maximum process
size.  It places a limit on one aspect of Squid's memory
usage.  Squid uses memory for other things as well.
Your process will probably become twice or three times
as big as the value you put here. 
<p>
It specifies the ideal amount of memory to be used
for:
<ul>
<li>In-Transit objects
<li>Hot Objects
<li>Negative-Cached objects
</ul>
<p>
Data for these objects are stored in 4 kB blocks.  This
parameter specifies the ideal upper limit on the total size of
4 kB blocks allocated.  In-Transit objects take the highest
priority.
<p>
In-transit objects have priority over the others.  When
additional space is needed for incoming data, negative-cached
and hot objects will be released.  In other words, the
negative-cached and hot objects will fill up any unused space
not needed for in-transit objects.
<p>
If circumstances require, this limit will be exceeded.
Specifically, if your incoming request rate requires more than
this amount of memory to hold in-transit objects, Squid will
exceed this limit to satisfy the new requests.  When the load
decreases, blocks will be freed until the high-water mark is
reached.  Thereafter, blocks will be used to store hot
objects.
<p>

<b>FQDN cache size</b>: Defaults to 1024.  Maximum number of Fully Qualified Domain Name cache entries. <p>

<b>Memory high-water mark</b>: Defaults to 95%.  When this high mark is reached, hot objects and in transit objects will be released to free memory. <p>

<b>Memory low-water mark</b>: Defaults to 90%.  After the high water mark is reached, Squid will free memory until usage has dropped below this mark. <p>

<b>Disk high-water mark</b>: Defaults to 95%.  When this high mark is reached, Squid will begin aggressively flushing the disk. <p>

<b>Disk low-water mark</b>: Defaults to 90%.  After the high water mark is reached, Squid will continue to flush the disk until usage drops below this mark. <p>

<b>Maximum cached object size</b>: Defaults to 4096 kB.  This setting limits the size of objects that will be stored by the cache.  Anything over this size will never be cached and must be loaded from the origin server everytime. <p>

<b>IP address cache size</b>: Defaults to 1024.  Number of entries to be stored in the IP cache. <p>

<b>IP cache high-water mark</b>: Defaults to 95%.  The point at which Squid begins to flush IP cache entries. <p>

<b>IP cache low-water mark</b>: Defaults to 90%.  After IP cache flushing begins, it will continue until the number of entries in the IP cache drops below this percentage. <p>

<hr>


  07070100048313000081a40000000000000002000000013d1fe2d400000b7d000000200000000000000000000000000000002200000003reloc/squid/help/edit_mem.pl.html <header>Zu¿ycie pamiêci</header>

<b>Limit zu¿ycia pamiêci</b>: Domy¶lnie 8&nbsp;MB. <p>

UWAGA: Ten parametr nie okre¶la maksymalnego rozmiaru procesu. Ustawia on
ograniczenie tylko na jeden aspekt zu¿ycia pamiêci przez Squida. Squid u¿ywa
pamiêæ równie¿ do innych celów. Twój process zajmie prawdopodobnie dwa lub
trzy razy tyle pamiêci, ile ustawisz w&nbsp;tej opcji. <p>

Okre¶la ona idealn± ilo¶æ pamiêci zu¿ywanej na:
<ul>
<li>Obiekty "w&nbsp;drodze"
<li>Obiekty "gor±ce:
<li>Obiekty negatywnie buforowane
</ul>
<p>

Dane dla tych obiektów s± przechowywane w&nbsp;4&nbsp;kB blokach. Parametr
ten okre¶la idealn± górn± granicê dla ca³kowitego rozmiaru przydzielonych
4&nbsp;kB bloków. Obiekty "w&nbsp;drodze" maj± najwy¿szy priorytet. <p>

Obiekty "w drodze" maj± priorytet wy¿szy ni¿ inne. Gdy potrzebne jest
miejsce na przychodz±ce dane, zwalniane s± obiekty buforowane negatywnie
oraz "gor±ce". Innymi s³owy, buforowane negatywnie oraz "gor±ce" obiekty
zape³ni± ca³± nieu¿ywan± przestrzeñ niepotrzebn± dla obiektów
"w&nbsp;drodze". <p>

Je¶li okoliczno¶ci tego wymagaj±, granica ta zostanie przekroczona.
W&nbsp;szczególno¶ci, je¿eli ilo¶æ przychodz±cych zapytañ bêdzie wymaga³a
wiêcej ni¿ podano pamiêci na przechowanie obiektów "w&nbsp;drodze", Squid
przekroczy tê granicê aby zrealizowaæ nowe zapytania. Gdy obci±zenie siê
zmniejszy, bloki bêd± zwalniane a¿ do osi±gniêcia górnego progu.
Dalsze wolne bloki bêd± wykorzystywane do przechowywania "gor±cych"
obiektów. <p>

<b>Rozmiar bufora nazw hostów (FQDN)</b>: Domy¶lnie 1024. Maksymalna liczba
wpisów zawieraj±cych w&nbsp;pe³ni kwalifikowane nazwy hostów (FQDN). <p>

<b>Górny próg dla pamiêci</b>: Domy¶lnie 95%. Gdy ten znacznik
zostanie osi±gniêty, obiekty "gor±ce" oraz obiekty "w&nbsp;drodze" bêd±
zwalniane aby zwolniæ pamiêæ. <p>

<b>Dolny próg dla pamiêci</b>: Domy¶lnie 90%. Po osi±gniêciu górnego
progu Squid bêdzie zwalnia³ pamiêæ a¿ jej zu¿ycie spadnie poni¿ej
tego znacznika. <p>

<b>Górny próg dla dysku</b>: Domy¶lnie 95%. Gdy ten znacznik zostanie
osi±gniêty, Squid bêdzie agresywnie opró¿nia³ dysk. <p>

<b>Dolny próg dla dysku</b>: Domy¶lnie 90%. Po osi±gniêciu górnego
progu Squid bêdzie kontynuowa³ opró¿nianie dysku a¿ jego zu¿ycie
spadnie poni¿ej tego znacznika. <p>

<b>Maksymalny rozmiar buforowanego obiektu</b>: Domy¶lnie 4096&nbsp;kB. To
ustawienie ogranicza rozmiar obiektów, które bêd± przechowywane w buforach
cache. Nic, co przekracza ten rozmiar nie bêdzie buforowane i&nbsp;musi byæ
za ka¿dym razem za³adowane ze ¼ród³owego serwera. <p>

<b>Rozmiar bufora adresów IP</b>: Domy¶lnie 1024. Liczba wpisów
przechowywanych w&nbsp;buforze IP. <p>

<b>Górny próg dla bufora IP</b>: Domy¶lnie 95%. Punkt, przy którym
Squid zaczyna usuwaæ wpisy IP z&nbsp;bufora. <p>

<b>Dolny próg dla bufora IP</b>: Domy¶lnie 90%. Po rozpoczêciu
opró¿niania bufora IP, bêdzie ono kontynuowane a¿ liczba wpisów
w&nbsp;buforze IP spadnie poni¿ej tego odsetka. <p>

<hr>
   07070100048314000081a40000000000000002000000013d1fe2d400000ba3000000200000000000000000000000000000002200000003reloc/squid/help/edit_mem.sv.html <header>Minnesutnyttjande</header>

<b>Minnesbegränsning</b>: Standardvärdet är 8 MB.

<p>OBS: Denna parameter sätter ingen begränsning för processtorleken, utan
begränsar endast Squids minnesutnyttjande i ett avseende. Squid använder
minnet även till andra saker. Processen kommer antagligen att bli två eller
tre gånger så stor som det värde du anger här.

<p>Parametern anger den ideala minnesåtgången för:
<ul>
<li>Objekt som håller på att överföras
<li>Nyligen använda objekt
<li>Objekt som cachats negativt
</ul>

<p>Data för dessa objekt lagras i 4 kB-block. Denna parameter anger den
ideala övre begränsningen på det totala antalet allokerade 4 kB-block.
Objekt som håller på att överföras har högst prioritet.

<p>Objekt som håller på att överföras har högre prioritet än övriga. Om
ytterligare utrymme krävs för inkommande data kastas objekt som cachats
negativt och som nyligen använts. De negativt cachade objekten samt de
nyligen använda objekten tar alltså upp allt utrymme som inte behövs till
objekt som håller på att överföras.

<p>Om omständigheterna kräver detta kommer denna begränsning att överskridas.
Särskilt om takten för inkommande förfrågningar kräver mer än detta
minnesutrymme för att hantera objekt som ska överföras, kommer Squid att
överskrida gränsen, för att kunna ta hand om nya förfrågningar. När
belastningen minskar kommer block att frigöras tills högvattenmärket nåtts
och därefter kommer blocken att användas för nyligen använda objekt.

<p><b>FD(FQDN)-cachestorlek</b>: Standardvärdet är 1024. Det maximala antalet
cacheposter med Fullständiga Domännamn.

<p><b>"Högvattenmärke" för minne</b>: Standardvärdet är 95 %. När denna gräns
nås kommer nyligen använda objekt och objekt som håller på att överföras att
kastas bort för att frigöra minne.

<p><b>"Lågvattenmärke" för minne</b>: Standardvärdet är 90 %. När
högvattenmärket nåtts kommer Squid att fortsätta att frigöra minne tills
minnesutnyttjande gått nedanför denna gräns.

<p><b>"Högvattenmärke" för disk</b>: Standardvärdet är 95 %. När denna gräns
nås kommer Squid att börja rensa disk-cachen från de äldsta objekten.

<p><b>"Lågvattenmärke" för disk</b>: Standardvärdet är 90 %. När
högvattenmärket nåtts kommer Squid att fortsätta att rensa disk-cachen tills
det upptagna utrymmet gått nedanför denna gräns.

<p><b>Maximal storlek för cachade objekt</b>: Standardvärdet är 4096 kB. Denna
variabel begränsar storleken på de objekt som lagras i cachen. Större objekt
kommer aldrig att cachas utan måste hämtas från ursprungsservern varje gång.

<p><b>Storlek för IP-adress-cache</b>: Standardvärdet är 1024. Antalet poster
som får lagras i IP-cachen.

<p><b>"Högvattenmärke" för IP-cache</b>: Standardvärdet är 95 %. När denna
gräns nås kommer Squid att börja rensa ut IP-poster ur cachen.

<p><b>"Lågvattenmärke" för IP-cache</b>: Standardvärdet är 90 %. När Squid har
börjat att rensa i IP-cachen kommer den att fortsätta tills posternas antal
går under denna andel.

<hr>


 07070100048315000081a40000000000000002000000013d1fe2d4000006a6000000200000000000000000000000000000002a00000003reloc/squid/help/edit_mem.zh_TW.Big5.html <header>°O¾ÐÅé¨Ï¥Î¶q</header>

<b>°O¾ÐÅé¨Ï¥Î¶q¤W­­</b>: ¹w³]­È¬° 8MB.  <p>
µù: ³o­Ó°Ñ¼Æ¨S¦³«ü©w³Ì¤jªºµ{§Ç¤j¤p. ³o¬O¤@­Ó¥H Squid Æ[ÂI©Ò§@ªº­­¨î, ¥B Squid ¤]¨Ï¥Î°O¾ÐÅé´N¦p¦P¨ä¥Lªºµ{¦¡¤@¯ë. ±zªºµ{§Ç¥i¯à·|¬O³o­Ó¼Æ­Èªº 2 ¨ì 3 ­¿¤j. 
<p>
¥¦«ü©w¤F²z·Q¤Wªº°O¾ÐÅé¨Ï¥Î¶qµ¹:
<ul>
<li>¶Ç¿é¤¤ª«¥ó
<li>¨Ï¥Î¤¤ª«¥ó
<li>§Ö¨úªºª«¥ó
</ul>
<p>
³o¨Çª«¥ó¬O¥H 4 KB ªº°Ï¶ôÀx¦s. ³o­Ó°Ñ¼Æ«ü©w¤F¨ú±o 4 KB °Ï¶ôªº²z·Q¤W­­. ¶Ç¿é¤¤ªºª«¥ó¦³³Ì°ªªºÀu¥ýÅv.
<p>
¶Ç¿é¤¤ªºª«¥óÀu¥ýÅv°ª©ó¨ä¥Lªº. ·í¶i¤Jªºª«¥ó»Ý­n§ó¦hªºªÅ¶¡®É, §Ö¨úªº»P¨Ï¥Î¤¤ªºª«¥ó·|³QÄÀ©ñ. ¤]´N¬O»¡§Ö¨úªº»P¨Ï¥Î¤¤ªºª«¥ó¥u·|¶ñº¡¥¼³Q¶Ç¿é¤¤ª«¥ó¨Ï¥ÎªºªÅ¶¡.
<p>
¦pªG¹ê»Úªºª¬ªp¦³»Ý­n, ³o­Ó­­¨î¥i¥H³Q¶W¹L. ¨Ò¦p·í±z¶i¤Jªº­n¨D³t«×°ª©ó¥i¥Î©óÀx¦sª«¥óªº°O¾ÐÅé®É, Squid ±N·|¶W¹L³o­Ó­­¨î¥Hº¡¨¬·sªº­n¨D. ·í­t¸ü­°§C®É, °Ï¶ô·|³QÄÀ©ñª½¨ì¨ì¹F°ª¥Î¶q¼Ð°O. ¤]´N¬O»¡°Ï¶ô·|¥Î¥HÀx¦s¨Ï¥Î¤¤ªºª«¥ó.
<p>

<b>FQDN §Ö¨ú¤j¤p</b>: ¹w³]­È¬° 1024. ¹ï©óºô»P¦WºÙ§Ö¨úªº¬ö¿ý¼Æ¥Ø. <p>

<b>°O¾ÐÅé°ª¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 95%. ·í¨ì¹F°ª¥Î¶q¼Ð°O®É, ¨Ï¥Î¤¤»P¶Ç¿é¤¤ª«¥ó·|³QÄÀ©ñ¥H©ñ¥X°O¾ÐÅé. <p>

<b>°O¾ÐÅé§C¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 90%. ·í¨ì¹F°ª¥Î¶q¼Ð°O«á, Squid ·|ÄÀ©ñ°O¾ÐÅéª½¨ì§C©ó§C¥Î¶q¼Ð°O. <p>

<b>ºÏºÐ°ª¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 95%. ·í¨ì¹F°ª¥Î¶q¼Ð°O®É, Squid ·|¶}©l²M°£ºÏºÐ. <p>

<b>ºÏºÐ§C¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 90%. ¹w³]­È¬° 90%. ·í¨ì¹F°ª¥Î¶q¼Ð°O«á, Squid ·|Ä~Äò²M°£ºÏºÐª½¨ì§C©ó§C¥Î¶q¼Ð°O.

<b>³Ì¤j§Ö¨úª«¥ó¤j¤p</b>: ¹w³]­È¬° 4096 KB. ³o­Ó³]©w­­¨î¤F³Q§Ö¨úÀx¦sªºª«¥ó¤j¤p. ¥ô¦ó¤ñ³o­Ó¼Æ­È¤jªºª«¥ó³£¤£·|³Q§Ö¨ú, ¦Ó¥B¥²¶·ª½±µ±q­ì©l¥D¾÷¤U¸ü. <p>

<b>IP ¦ì§}§Ö¨ú¤j¤p</b>: ¹w³]­È¬° 1024. Àx¦s©ó IP §Ö¨ú¤¤ªº¶µ¥Ø¼Æ¥Ø. <p>

<b>IP §Ö¨ú°ª¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 95%. ¨ì¹F³o­ÓÂI®É, Squid ·|¶}©l²M°£ IP §Ö¨ú¶µ¥Ø. <p>

<b>IP §Ö¨ú§C¥Î¶q¼Ð°O</b>: ¹w³]­È¬° 90%. ·í¶}©l²M°£ IP §Ö¨ú¶µ¥Ø«á, ¥¦±N·|«ùÄò¨ì IP §Ö¨úªº¶µ¥Ø§C©ó³o­Ó¦Ê¤À¤ñ. <p>

<hr>


  07070100048316000081a40000000000000002000000013d1fe2d4000014bb000000200000000000000000000000000000002300000003reloc/squid/help/edit_misc.ca.html    <header>Opcions Miscel·lànies</header>

<b>Adreces inicials de prova de DNS</b>: Servidors DNS que Squid consultarà
per saber si les consultes DNS funcionen correctament.
<p>
<b>Rotacions del fitxer de registre SIGUSR1</b>: Per defecte, 10 o 0,
depenent del sistema. Especifica el nombre de rotacions de fitxers de
registre a efectuar quan introdueixes 'squid -k rotate'. Per defecte és 10,
que rotarà amb les extensions 0 a 9. Establint logfile_rotate a 0, es
desactiva la rotació, però els fitxers de registres es tanquen i es reobren.
Això permetrà de renomenar el fitxer abans d'enviar el senyal de rotació.
<p>
Tingues en compte que l'ordre 'squid -k rotate' normalment envia un senyal
USR1 al procés squid en execució. En certes situacions (p. ex., Linux amb
E/S asíncrona), USR1 es fa servir per altres propòsits, de manera que -k
utilitza un altre senyal, És millor acostumar-se a fer servir 'squid -k rotate'
en lloc de 'kill -USR1 <pid>'.
<p>
<b>Text dels missatges d'error</b>: Text HTML per incloure als missatges
d'error. En fa un "mailto" a la teva adreça d'administració, o potser tant
sols un enllaç a la pàgina Web de la teva organització.
<p>
Per incloure això en els teus missatges d'error, has de reescriure els
fitxers de plantilles d'error  (que es troben al directori "errors").
Quan vulguis que aparegui la línia 'err_html_text', insereix l'etiqueta
%L al fitxer de plantilla d'error.
<p>
<b>Estadístiques per client</b>: Si vols desactivar la recopilació 
d'estadístiques per client, llavors desactiva aquí client_db.
<p>
<b>Capçalera X-Forwarded-For</b>: Per defecte, 'activat'. Si està posat,
Squid inclourà el nom o l'adreça IP del sistema en les peticions HTTP que
reenviï. Per defecte, es veu així:
<p>
<center>X-Forwarded-For: 192.1.2.3</center>
<p>
Si ho desactives, apareixerà com:
<p>
<center>X-Forwarded-For: unknown</center>
<p>
<b>Registra les peticions ICP</b>: Per defecte, 'Activat'. Si està activat,
les peticions ICP es registren sobre access.log. Pots desactivar-ho si la
càrrega ICP és MOLT alta per accelerar-ho tot plegat o bé si vols simplificar
les anàlisis dels registres.
<p>
<b>Salts directes mínims</b>: Per defecte, 4. Si fas servir els patracols
de <i>ping</i> ICMP, fes recerques directes pels llocs que no estan més
lluny d'aquest nombre mínim de salts.
<p>
<b>Conserva memòria per a un ús futur</b>: Per defecte, 'Sí'. Si està posat,
Squid mantindrà memòria de reserva allotjada (però no usada) disponible
per a un ús futur. Si la memòria és preciosa al teu sistema i et sembla 
que la llibreria malloc supera en rendiment a les rutines de Squid,
desactiva-ho.
<p>
<b>Quantitat de memòria a conservar</b>: Per defecte, 'Il·limitada'.
Si s'estableix a un valor diferent de zero, Squid mantindrà, com a molt,
el límit especificat de reserves de memòria allotjada (però no usada).
Totes les peticions free() que excedeixin aquest límit seran gestionades
per la llibreria malloc. Squid no preallotja memòria, només aquells
objectes a desar que d'una altra manera serien alliberats per free().
Així, no hi ha problema en establir memory_pools_limit a un valor
raonablement alt encara que la teva configuració faci servir menys memòria.
<p>
Si no està establert (defecte) o està posat a zero, Squid retindrà tota la
memòria que pugui. Això és, no hi haurà cap límit de memòria de desat.
<p>
<b>Capçaleres que no s'han de filtrar</b>: Per defecte, 'Totes'. Aquesta
opció substitueix la vella opció 'http_anonymizer' amb una cosa molt més
configurable. Ara pots especificar amb exactitud quines capçaleres es
permeten, i quines es treuen de les peticions sortints.
<p>
Hi ha dos mètodes per fer servir l'opció. Pots permetre capçaleres
específiques (negant així totes les altres), o pots negar capçaleres
específiques (permetent així totes les altres).
<p>
<b>Simula Agent d'Usuari</b>: Per defecte, 'Cap'. Si filtres la capçalera
'User-Agent' amb l'opció <b>Capçaleres que no s'han de filtrar</b>,
pot provocar que alguns servidors Web rebutgin la teva petició. 
Fes servir això per simular-ne un.
<p>
<b>Host Accelerat HTTP</b>: Per defecte, 'Cap'. Si vols executar Squid com
un accelerador httpd, estableix-ho a l'adreça del servidor HTTP real.
<p>
<b>Port Accelerat HTTP</b>: Per defecte, 'Cap'.  In addition to setting the <b>HTTP Accel Host</b> you must set the real servers port, here, if you are using Squid as an accelerator.
<p>
<b>Acceleració HTTP Amb Proxy</b>: Per defecte, 'Desactivat'. Activa-ho si
vols que Squid funcioni com una proxy tradicional, tot i oferint acceleració
HTTP. Aquesta opció també hauria d'estar activada si fas servir proxy
transparent.
<p>
<b>L'accelerador HTTP Fa Servir la Capçalera del Host</b>: Per defecte,
'Desactivat'. Les peticions HTTP/1.1 inclouen una capçalera Host: que és,
bàsicament, el nom del host de l'URL. Veient, aquesta capçalera, Squid no
pot actuar d'accelerador per a diferents servidors HTTP. No obstant, Squid 
NO comprova el valor de la capçalera Host, de manera que això obre un gran
forat de seguretat. Recomanem mantenir aquesta opció desactivada a menys
que estiguis segur/a del que fas.
<p>
No obstant, hauràs d'activar aquesta opció si executes Squid com a proxy
transparent. Altrament, els servidors virtuals que requereixen la
capçalera Host: no es posaran al cau adequadament.

<hr>


 07070100048317000081a40000000000000002000000013d1fe2d400001587000000200000000000000000000000000000002300000003reloc/squid/help/edit_misc.es.html    <header>Opciones Varias</header>

<b>Iniciar direcciones de prueba de DNS</b>: Servidores de DNS consultados por Squid para probar si las búsquedas DNS funcionan corréctamente.
<p>
<b>Rotaciones de archivo de historial SIGUSR1</b>: Por defecto es 10 o 0, dependiendo del sistema. Especifica el número de rotaciones de archivo de historial a realizar al digitar 'squid -k rotate'.  Por defecto es 10, lo cual rotará con extensiones 0 a 9. Ponerlo a 0 desactivará la rotación, pero los archivos de historial aún se reabren y cierran. Esto te permitirá renombrar los archivos de historial por tí mismo justo antes de enviar la señal de rotación.
<p>
Nota: el comando 'squid -k rotate' normálmente envía la señal USR1 al proceso Squid en ejecución. Bajo ciertas situaciones (p.ej. en Linux con E/S Asíncrona), USR1 se usa para otros propósitos, por ello '-k rotate' usa otra señal.  Es mejor acostumbrarse a usar 'squid -k rotate' en vez de 'kill -USR1 <pid>'.
<p>
<b>Texto de mensajes de error</b>: Texto HTML a incluir en mensajes de error. Haz que esto sea una URL donde "mailto (enviar correo a)" a tu dirección de admin o quizás sólo un enlace a la página Web de tu organización.
<p>
Para incluir esto en tus mensajes de error, debes de reescribir tus archivos de plantilla de error (hallados en el directorio "errors"). Donde desees que la línea 'err_html_text' aparezca, inserta un marca %L en el archivo de plantillas de error.
<p>
<b>Estadísticas por cliente</b>: Si deseas desactivar la recolección de estadísticas por cliente, desactiva la client_db aquí.
<p>
<b>Cabecera de X-Reenviado-Para</b>: Por defecto está activa. Si se pone, Squid inlcuirá tu dirección IP de sistema o tu nombre de sistema en los requerimientos IP que envíe. Por defecto, se asemeja a los requerimientos HTTP que envía. Por defecto se asemeja a:
<p>
<center>X-Forwarded-For: 192.1.2.3</center>
<p>
Si desactivas esto, aparecerá como:
<p>
<center>X-Forwarded-For: desconocido</center>
<p>
<b>Llevar historial de consultas ICP</b>: Por defecto activo. Si se pone, las consultas ICP son puestas en 'access.log'. Puedes querer desactivar esto si tu carga ICP es MUY alta par así acelerar las cosas o para simplificar el análisis del historial.
<p>
<b>Saltos directos mínimos</b>: Por defecto son 4. Si utilizas el ping de ICMP, haz recogidas directas para los sitios que no estén más lejos de estos saltos.
<p>
<b>Mantén la memoria para uso futuro</b>: Por defecto es 'sí'. Si se pone, Squid mantendrá bloques de memoria reservada (pero no usada) para uso futuro. Si la memoria es primordial en tu sistema y crees que la biblioteca malloc es mejor que las rutinas de Squid, deasactiva esto.
<p>
<b>Cantidad de memoria a mantener</b>: Por defecto es 'Ilimitada'. Si se pone a un valor que no sea cero, Squid mantendrá como mucho el límite especificado de memoria reservada (pero no usada) en bloques de memoria. Todos los requerimientos de liberación [free()] que excedan este límite serán manejados por tu biblioteca  malloc. Squid no prereserva ninguna memoria, sólo mantiene de forma segura objetos que de otra forma serían liberados. Por ello, es más seguro poner límites a bloques de memoria (memory_pools_limit) a un valor razonáblemente alto incluso si tu configuración usará así menos memoria.
<p>
Si no se pone (por defecto) o se pone a cero, Squid mantendrá toda la memoria que pueda. Es decir que no habrá límite en la cantidad total de memoria usada para mantener-segura.
<p>
<b>Cabeceras a pasar diréctamente</b>: Por defecto es 'Todas las cabeceras'. Esta opción reemplaza la vieja 'http_anonymizer' por algo que es mucho más configurable. Ahora puedes especificar exáctamente qué cabeceras están autorizadas o cual van a ser quitadas de los requerimientos de salida.
<p>
Hay dos maneras de usar esta opción. Puedes permitir cabeceras específicas (denegando así las otras) o puedes denegar cabeceras específicas (autorizando así las otras).
<p>
<b>Usuario-Agente Falso</b>: Por defecto es 'ninguno'. Si filtras la cabecera de Usuario-Agente con la opción <b>Cabeceras a pasar diréctamente</b> puede causar que algunos servidores Web rechacen tu requerimiento. Usa esto para falsearlo.
<p>
<b>Máquina Aceleradora HTTP</b>: Por defecto es 'ninguna'. Si deseas ejecutar Squid como un acelerador httpd, pon esta dirección del servidor HTTP real.
<p>
<b>Puerto Acelerador HTTP</b>: Por defecto es 'ninguno'. Además de poner la <b>Máquina Aceleradora HTTP</b> debes de poner el puerto real de servidores, aquí, si estás usando Squid como un acelerador.
<p>
<b>Acelerador HTTP Con Proxy</b>: Por defecto está desactivado. Actívalo si deseas que tu Squid actue como un proxy tradicional mientras suministra también aceleración HTTP. Esta opción debería de activarse si se usa un proxy transparente.
<p>
<b>Acelerador HTTP Usa Cabecera de Máquina</b>: Por defecto está desactivado. Los requerimientos HTTP/1.1 incluyen una cabecera de 'Máquina:' que es básicamente el nombre de máquina del URL. Squid puede ser un acelerador para diferentes servidores HTTP sólo con mirar a esta cabecera. Sin embargo, Squid NO revisa el valor de la cabecera de Máquina, por ello esto abre un gran agujero de seguridad. Recomendamos que esta opción permanezca desactivada a menos que estés seguro de lo que estás haciendo.
<p>
Sin embargo, necesitará activar esta opción si ejecutas Squid como un proxy transparente, De otra manera, los servidores virtuales que requieran la cabecera 'Máquina:' no será puestos en caché de forma adecuada.

<hr>
 07070100048318000081a40000000000000002000000013d1fe2d40000130b000000200000000000000000000000000000002000000003reloc/squid/help/edit_misc.html   <header>Miscellaneous Options</header>

<b>Startup DNS test addresses</b>: DNS servers that Squid will query to test whether DNS lookups are working correctly.
<p>
<b>SIGUSR1 logfile rotations</b>: Defaults to 10 or 0, dependent on system.  Specifies the number of logfile rotations to make when you type 'squid -k rotate'.  The default is 10, which will rotate with extensions 0 through 9.  Setting logfile_rotate to 0 will disable the rotation, but the logfiles are still closed and re-opened.  This will enable you to rename the logfiles yourself just before sending the rotate signal.
<p>
Note, the 'squid -k rotate' command normally sends a USR1 signal to the running squid process.  In certain situations (e.g. on Linux with Async I/O), USR1 is used for other purposes, so -k rotate uses another signal.  It is best to get in the habit of using 'squid -k rotate' instead of 'kill -USR1 <pid>'.
<p>
<b>Error messages text</b>: HTML text to include in error messages.  Make this a "mailto" URL to your admin address, or maybe just a link to your organizations Web page.
<p>
To include this in your error messages, you must rewrite the error template files (found in the "errors" directory).  Wherever you want the 'err_html_text' line to appear, insert a %L tag in the error template file.
<p>
<b>Per-client statistics</b>: If you want to disable collecting per-client statistics, then turn off client_db here.
<p>
<b>X-Forwarded-For header</b>: Default is 'on'.  If set, Squid will include your system's IP address or name in the HTTP requests it forwards.  By default it looks like in the HTTP requests it forwards.  By default it looks like this:
<p>
<center>X-Forwarded-For: 192.1.2.3</center>
<p>
If you disable this, it will appear as:
<p>
<center>X-Forwarded-For: unknown</center>
<p>
<b>Log ICP queries</b>: Default is 'on'. If set, ICP queries are logged to access.log. You may wish do disable this if your ICP load is VERY high to speed things up or to simplify log analysis.
<p>
<b>Minimum direct hops</b>: Default is 4.  If using the ICMP pinging stuff, do direct fetches for sites which are no more than this many hops away.
<p>
<b>Keep memory for future use</b>: Default is 'yes'.  If set, Squid will keep pools of allocated (but unused) memory available for future use.  If memory is a premium on your system and you believe your malloc library outperforms Squid routines, disable this.
<p>
<b>Amount of memory to keep</b>: Default is 'Unlimited'.  If set to a non-zero value, Squid will keep at most the specified limit of allocated (but unused) memory in memory pools. All free() requests that exceed this limit will be handled by your malloc library. Squid does not pre-allocate any memory, just safe-keeps objects that otherwise would be free()d. Thus, it is safe to set memory_pools_limit to a reasonably high value even if your configuration will use less memory.
<p>
If not set (default) or set to zero, Squid will keep all memory it can. That is, there will be no limit on the total amount of memory used for safe-keeping.
<p>
<b>Headers to pass through</b>: Default is 'All headers'.  This option replaces the old 'http_anonymizer' option with something that is much more configurable.  You may now specify exactly which headers are to be allowed, or which are to be removed from outgoing requests.
<p>
There are two methods of using this option.  You may either allow specific headers (thus denying all others), or you may deny specific headers (thus allowing all others). 
<p>
<b>Fake User-Agent</b>: Default is 'none'.  If you filter the User-Agent header with the <b>Headers to pass through</b> option it may cause some Web servers to refuse your request.  Use this to fake one up.
<p>
<b>HTTP Accel Host</b>: Default is 'none'.  If you want to run Squid as an httpd accelerator, set this to the address of the real HTTP server.
<p>
<b>HTTP Accel Port</b>: Default is 'none'.  In addition to setting the <b>HTTP Accel Host</b> you must set the real servers port, here, if you are using Squid as an accelerator.
<p>
<b>HTTP Accel With Proxy</b>: Default is 'off'.  Enable this if you would like for your Squid to act as a traditional proxy while also providing HTTP acceleration.  This option should also be enabled when using transparent proxying.
<p>
<b>HTTP Accel Uses Host Header</b>: Default is off.  HTTP/1.1 requests include a Host: header which is basically the hostname from the URL.  Squid can be an accelerator for different HTTP servers by looking at this header.  However, Squid does NOT check the value of the Host header, so it opens a big security hole.  We recommend that this option remain disabled unless you are sure of what you are doing.
<p>
However, you will need to enable this option if you run Squid as a transparent proxy.  Otherwise, virtual servers which require the Host: header will not be properly cached.

<hr>
 07070100048319000081a40000000000000002000000013d1fe2d40000130b000000200000000000000000000000000000002300000003reloc/squid/help/edit_misc.it.html    <header>Miscellaneous Options</header>

<b>Startup DNS test addresses</b>: DNS servers that Squid will query to test whether DNS lookups are working correctly.
<p>
<b>SIGUSR1 logfile rotations</b>: Defaults to 10 or 0, dependent on system.  Specifies the number of logfile rotations to make when you type 'squid -k rotate'.  The default is 10, which will rotate with extensions 0 through 9.  Setting logfile_rotate to 0 will disable the rotation, but the logfiles are still closed and re-opened.  This will enable you to rename the logfiles yourself just before sending the rotate signal.
<p>
Note, the 'squid -k rotate' command normally sends a USR1 signal to the running squid process.  In certain situations (e.g. on Linux with Async I/O), USR1 is used for other purposes, so -k rotate uses another signal.  It is best to get in the habit of using 'squid -k rotate' instead of 'kill -USR1 <pid>'.
<p>
<b>Error messages text</b>: HTML text to include in error messages.  Make this a "mailto" URL to your admin address, or maybe just a link to your organizations Web page.
<p>
To include this in your error messages, you must rewrite the error template files (found in the "errors" directory).  Wherever you want the 'err_html_text' line to appear, insert a %L tag in the error template file.
<p>
<b>Per-client statistics</b>: If you want to disable collecting per-client statistics, then turn off client_db here.
<p>
<b>X-Forwarded-For header</b>: Default is 'on'.  If set, Squid will include your system's IP address or name in the HTTP requests it forwards.  By default it looks like in the HTTP requests it forwards.  By default it looks like this:
<p>
<center>X-Forwarded-For: 192.1.2.3</center>
<p>
If you disable this, it will appear as:
<p>
<center>X-Forwarded-For: unknown</center>
<p>
<b>Log ICP queries</b>: Default is 'on'. If set, ICP queries are logged to access.log. You may wish do disable this if your ICP load is VERY high to speed things up or to simplify log analysis.
<p>
<b>Minimum direct hops</b>: Default is 4.  If using the ICMP pinging stuff, do direct fetches for sites which are no more than this many hops away.
<p>
<b>Keep memory for future use</b>: Default is 'yes'.  If set, Squid will keep pools of allocated (but unused) memory available for future use.  If memory is a premium on your system and you believe your malloc library outperforms Squid routines, disable this.
<p>
<b>Amount of memory to keep</b>: Default is 'Unlimited'.  If set to a non-zero value, Squid will keep at most the specified limit of allocated (but unused) memory in memory pools. All free() requests that exceed this limit will be handled by your malloc library. Squid does not pre-allocate any memory, just safe-keeps objects that otherwise would be free()d. Thus, it is safe to set memory_pools_limit to a reasonably high value even if your configuration will use less memory.
<p>
If not set (default) or set to zero, Squid will keep all memory it can. That is, there will be no limit on the total amount of memory used for safe-keeping.
<p>
<b>Headers to pass through</b>: Default is 'All headers'.  This option replaces the old 'http_anonymizer' option with something that is much more configurable.  You may now specify exactly which headers are to be allowed, or which are to be removed from outgoing requests.
<p>
There are two methods of using this option.  You may either allow specific headers (thus denying all others), or you may deny specific headers (thus allowing all others). 
<p>
<b>Fake User-Agent</b>: Default is 'none'.  If you filter the User-Agent header with the <b>Headers to pass through</b> option it may cause some Web servers to refuse your request.  Use this to fake one up.
<p>
<b>HTTP Accel Host</b>: Default is 'none'.  If you want to run Squid as an httpd accelerator, set this to the address of the real HTTP server.
<p>
<b>HTTP Accel Port</b>: Default is 'none'.  In addition to setting the <b>HTTP Accel Host</b> you must set the real servers port, here, if you are using Squid as an accelerator.
<p>
<b>HTTP Accel With Proxy</b>: Default is 'off'.  Enable this if you would like for your Squid to act as a traditional proxy while also providing HTTP acceleration.  This option should also be enabled when using transparent proxying.
<p>
<b>HTTP Accel Uses Host Header</b>: Default is off.  HTTP/1.1 requests include a Host: header which is basically the hostname from the URL.  Squid can be an accelerator for different HTTP servers by looking at this header.  However, Squid does NOT check the value of the Host header, so it opens a big security hole.  We recommend that this option remain disabled unless you are sure of what you are doing.
<p>
However, you will need to enable this option if you run Squid as a transparent proxy.  Otherwise, virtual servers which require the Host: header will not be properly cached.

<hr>
 0707010004831a000081a40000000000000002000000013d1fe2d4000015ef000000200000000000000000000000000000002300000003reloc/squid/help/edit_misc.pl.html    <header>Opcje ró¿ne</header>

<b>Pocz±tkowe kontrolne adresy DNS</b>: Serwery DNS, do których Squid wy¶le
zapytania, aby sprawdziæ czy przeszukiwania DNS dzia³±j± prawid³owo. <p>

<b>Rotacja logu po SIGUSR1</b>: Domy¶lnie 10 lub 0, w zale¿no¶ci od systemu.
Okre¶la liczbê rotacji logu, które bêd± wykonane, gdy wpiszesz 'squid -k
rotate'. Warto¶ci± domy¶ln± jest 10, co spowoduje rotacjê
z&nbsp;rozszerzeniami od 0 do 9. Ustawienie tego parametru na 0 wy³±czy
rotacjê, ale logi bêd± nadal zamykane i&nbsp;otwierane powtórnie. Umo¿liwi
ci to samodzieln± zmianê nazw logów chwilê przed wys³±niem sygra³u rotacji.
<p>   

Zauwa¿, ¿e polecenie 'squid -k rotate' zazwyczaj wysy³a sygna³ USR1 do
dzia³aj±cego procesu Squida. W&nbsp;pewnych sytuacjach (np. na Linuksie
z&nbsp;asynchroniczn± obs³ug± wej¶cia/wyj¶cia) USR1 jest wykorzystywany do
innych celów, wiêc rotacja -k korzysta z&nbsp;innego sygna³u. Lepiej mieæ
nawyk u¿ywania 'squid -k rotate' zamiast 'kill -USR1 <pid>'. <p>

<b>Tekst w&nbsp;komunikatach b³êdów</b>: Tekst HTML umieszczany
w&nbsp;komunikatach b³êdów. Wpisz tu URL "mailto" na adres twojego
administratora lub, byæ mo¿e, przekierowanie do strony WWW twojej
organizacji. <p>  

Aby umie¶ciæ to w&nbsp;twoich komunikatach o&nbsp;b³êdach, musisz
zmodyfikowaæ wzorcowe pliki komunikatów o&nbsp;b³êdach (znajduj±ce siê
w&nbsp;katalogu "errors"). Gdziekolwiek chcesz, aby powy¿sza linia siê
pojawi³a, wstaw w&nbsp;pliku znacznik '%L'. <p>

<b>Statystyka wg klientów</b>: Je¶li chcesz wy³±czyæ tworzenie statystyk
dla ka¿dego klienta, wy³±cz tê opcjê. <p>

<b>Nag³ówek X-Forwarded-For</b>: Domy¶lnie w³±czony. Je¶li opcja ta jest
w³±czona, Squid bêdzie do³±cza³ nazwê lub adres IP Twojego systemu do
zapytañ, które przekazuje. Domy¶lnie wygl±da on jak w&nbsp;przekazywanym
zapytaniu HTTP, czyli jak: <p>

<center>X-Forwarded-For: 192.1.2.3</center> 
<p>

Je¶li wy³±czysz tê opcjê, bêdzie wygl±daæ jak:
<p>

<center>X-Forwarded-For: unknown</center> <p>

<b>Logowaæ zapytania ICP</b>: Domy¶lnie w³±czone. Je¶li opcja ta jest
w³±czona, zapytania ICP s± logowane do access.log. Je¶li obci±¿enie ICP
Twojego Squida jest BARDZO du¿e, mo¿esz chcieæ to
wy³±czyæ, aby przyspieszyæ dzia³anie i&nbsp;upro¶ciæ analizê logu. <p>

<b>Minimalna liczba bezpo¶rednich skoków</b>: Domy¶lnie 4. Je¶li
wykorzystywane jest pingowanie ICMP, dla miejsc, które s± nie dalej ni¿
podana liczba przeskoków bêdzie wykonywane pobieranie bezpo¶rednie
pobieranie. <p>

<b>Zachowaæ pamiêæ na przysz³o¶æ</b>: Domy¶lnie 'Tak'. Je¶li ta opcja jest
w³±czona, Squid bêdzie utrzymywa³ przydzielone (ale nieu¿ywane) obszary
pamiêci dla przysz³ego wykorzystania. Je¶li pamiêæ jest cenna w&twoim
systemie i&nbsp;s±dzisz, ¿e twoja biblioteka zarz±dzania pamiêci± jest
wydajniejsza ni¿ procedury Squida, wy³±cz j±.

<b>Zachowywana ilo¶æ pamiêci</b>: Domy¶lnie 'Nieograniczona'. Je¶li podano
warto¶æ niezerow±, Squid bêdzie utrzymywa³ co najmniej podan± ilo¶æ
przydzielonej (ale nieu¿ywanej) pamiêci. Wszystkie wywo³ania free(), które
przekrocz± tê granicê bêd± obs³ugiwane przez twoj± bibliotekê zarz±dzania
pamiêci±. Squid nie przydziela wstêpnie ¿adnej pamiêci lecz, po prostu,
przechowuje obiekty, które w&nbsp;przeciwnym przypadku by³yby zwolnione.
Wobec tego, mo¿na bezpiecznie ustawiæ stosunkowo wysok± warto¶æ tej opcji
nawet, je¶li twoja konfiguracja bêdzie wykorzystywa³a mniej pamiêci. <p>

Je¶li warto¶æ tego parametru nie jest ustawiona (domy¶lnie) lub ustawiona na
zero, Squid bêdzie utrzymywa³ tyle pamiêci ile zdo³a. Oznacza to, ¿e nie
bêdzie ¿adnego ograniczenia na ³±czn± ilo¶æ pamiêci wykorzystywan± do
przechowywania. <p>

<b>Przepuszczanie nag³ówków</b>: Domy¶lnie 'Wszystkie nag³ówki'. Opcja ta
zastêpuje stary parametr 'Ukrywanie to¿samo¶ci' czym¶, co jest du¿o lepiej
konfigurowalne. Mo¿na obecnie podaæ, które dok³adnie nag³ówki powinny,
a&nbsp;które nie powinny byæ usuniête z&nbsp;wychodz±cych zapytañ. <p>

S± dwie metody wykorzystania tej opcji. Mo¿na albo przepuszczaæ okre¶lone
nag³ówki (blokuj±c wszystkie inne), albo blokowaæ okre¶lone nag³ówki
(przepuszczaj±c wszystkie inne). <p>

<b>Fa³szywy program u¿ytkownika</b>: Domy¶lnie 'brak'. Je¶li nag³ówek
'User-Agent' jest odfiltrowywany w&nbsp;opcji <b>Przepuszczanie
nag³ówków</b>, mo¿e to powodowaæ odrzucanie zapytañ przez niektóre serwery
WWW. U¿ycie tej opcji pozwala go podrobiæ. <p> 

<b>Host akceleracji HTTP</b>: Domy¶lnie 'brak'. Je¶li Squid ma dzia³aæ jako
akcelerator httpd, nale¿y podaæ tu adres rzeczywistego serwera HTTP. <p>

<b>Port akceleracji HTTP</b>: Domy¶lnie 'brak'. Dodatkowo podaj±c <b>Host
akceleracji HTTP</b>, trzeba tu podaæ port rzeczywistego serwera, o&nbsp;ile
Squid ma dzia³aæ jako akcelerator. <p>

<b>Akceleracja HTTP i&nbsp;proxy</b>: Domy¶lnie wy³±czone. Opcjê tê nale¿y
w³±czyæ, je¶li Squid ma dzia³aæ jako tradycyjne proxy a&nbsp;jednocze¶nie
stanowiæ akcelerator HTTP. Opcja ta powinna byæ w³±czona dla przezroczystego
proxy. <p> 

<b>Akceleracja HTTP korzysta z&nbsp;nag³ówka Host</b>: Domy¶lnie wy³±czone.
Zapytania HTTP/1.1 zawieraj± nag³ówek 'Host:', który zasadniczo zawiera
nazwê hosta z&nbsp;URL-a. Squid mo¿e stanowiæ akcelerator dla ró¿nych
serwerów HTTP spogl±daj±c na ten nag³ówek. Jednak¿e, Squid NIE sprawdza
zawarto¶ci nag³ówka 'Host:', wiêc otwiera siê tu du¿a dziura
w&nbsp;bezpieczeñstwie. Zaleca siê pozostawienie tej opcji wy³±czonej, chyba
¿e jeste¶ pewien, i¿ wiesz co robisz. <p>

Jednak¿e, trzeba bêdzie w³±czyæ tê opcjê, je¶li Squid ma dzia³aæ jako
przezroczyste proxy. W&nbsp;przeciwnym przypadku, zapytania do serwerów
wirtualnych wymagaj±cych nag³ówka 'Host:', nie bêd± prawid³owo buforowane.

<hr>
 0707010004831b000081a40000000000000002000000013d1fe2d400001462000000200000000000000000000000000000002300000003reloc/squid/help/edit_misc.sv.html    <header>Blandade inställningar</header>

<b>DNS-testadresser vid start</b>: DNS-servrar som Squid ska skicka
förfrågningar till för att testa att DNS-uppslagningarna fungerar.

<p><b>SIGUSR1-loggfilsrotationer</b>: Standardvärdet är 10 eller 0 beroende på
systemet. Parametern anger det antal loggfilsrotationer som utförs när man
skriver 'squid -k rotate'. Värdet 10 roterar alla filer med ändelser 0 till
och med 9. Om variabeln logfile_rotate sätts till 0 kommer rotationen att
slås av, men filerna kommer fortfarande att stängas och öppnas igen. Detta
gör att man kan döpa om loggfilerna själv innan man skickar rotate-kommandot.

<p>Observera att kommandot 'squid -k rotate' vanligtvis skickar en USR1-signal
till den squid-process som körs. I vissa situationer (t ex på Linux med Async
I/O) används USR1 till andra saker, så -k rotate skickar en annan signal. Det
är bäst att du vänjer dig vid att skriva 'squid -k rotate' istället för
'kill 'USR1 <pid>'.

<p><b>Felmeddelandetext</b>: HTML-text som ska skickas med felmeddelanden.
Ange gärna en "mailto"-URL till admin-adressen eller kanske bara en länk till
företagets websida.

<p>För att denna text ska skrivas in i felmeddelandena måste man skriva om
felfilsmallarna (finns i katalogen "errors"). Där texten i 'err_html_text'
ska stå sätter man in taggen %L i mallfilen.

<p><b>Statistik per klient</b> Om man vill slå av funktionen att samla in
statistik per klient slår man av client_db här.

<p><b>X-Forwarded-For-rubrik</b>: Standardinställningen är 'på'. Squid
skickar med systemets IP-adress eller namn i de HTTP-förfrågningar den skickar
vidare om parametern är påslagen. Detta är standardutseendet:

<p><center>X-Forwarded-For: 192.1.2.3</center>

<p>Om inställningen är avslagen ser det ut så här:

<p><center>X-Forwarded-For: unknown</center>

<p><b>Logga ICP-uppslagningar</b>: Standardinställningen är 'på'. 
IP-uppslagningar loggas till access.log om parametern är påslagen. Om ens
ICP-trafik är mycket hög är det bra att slå av denna för att snabba upp
systemet eller för att förenkla logganalyser.

<p><b>Minimalt antal direkta hops</b>: Standardvärdet är 4. Om man använder
ICMP-ping bör man utföra direkta hämtningar för siter som är närmre än detta
antal hops bort.

<p><b>Spara minne för framtida bruk</b>: Standardinställningen är 'ja'.
Om detta är påslaget kommer Squid att hålla en del allokerat, men outnyttjat,
minne tillgängligt för framtida bruk. Om du har ont om minne och tror att ditt
malloc-bibliotek presterar bättre än Squid-rutinerna bör du slå av denna
inställning.

<p><b>Sparad minnesmängd</b>: Standardinställningen är 'Obegränsad'. Om värdet
sätts till något tal skilt från noll kommer Squid spara högst så mycket
allokerat, outnyttjat minne i minnesbankar. Alla free()-förfrågningar som
överstiger denna gräns kommer att hanteras av malloc-biblioteket. Squid
allokerar inte minne i förväg utan sparar endast objekt som annars skulle
kastas av free(). Det är alltså ofarligt att sätta en ganska hög gräns, även
om systemet använder mindre minne.

<p>Om inget värde (standard) eller värdet noll angivits, kommer Squid att
spara så mycket minne som möjligt så att det alltså inte finns någon
begränsning för den minnesmängd som används för att spara objekt.

<p><b>Huvuden som släpps igenom</b>: Standardinställningen är 'Alla'. Denna
inställning ersätter den gamla 'http_anonymizer'-variabeln med en som går att
konfigurera i större utsträckning. Nu går det att ange precis de huvuden som
är eller inte är tillåtna och vilka som ska tas bort från utgående
förfrågningar.

<p>Det finns två sätt att använda denna inställning; antingen släppa igenom
vissa, angivna huvuden (och därmed spärra alla andra) eller spärra vissa,
angivna huvuden (och därmed släppa igenom alla andra).

<p><b>Förfalska användarprogram</b>: Standardinställningen är 'inget'. Om
User-Agent-huvudet filtreras med inställningen <b>Huvuden som släpps igenom</b>
kommer det att medföra att en del webservrar inte svarar på förfrågningar.
Denna inställning används för att förfalska ett huvud.

<p><b>HTTP Accel-dator</b>: Standardinställningen är 'ingen'. Om man vill
köra Squid som en httpd-accelerator ska adressen till HTTP-servern anges här.

<p><b>HTTP Accel-port</b>: Standardinställningen är 'ingen'. Om inställningen
<b>HTTP Accel-dator</b> används måste också HTTP-serverns port anges här.

<p><b>HTTP Accel med proxy</b>: Standardinställningen är 'av'. Slå på denna
om Squid ska användas som en vanlig proxy samtidigt som den ska agera
HTTP-accelerator. Den bör också slås på om transparent proxying används.

<p><b>HTTP Accel använder Host-huvud</b>: Standardinställningen är 'av'.
HTTP/1.1-förfrågningar innehåller ett Host:-huvud, som i grund och botten är
datornamnet i URL:en. Squid kan agera accelerator för flera HTTP-servrar
genom att titta på detta huvud. Squid kontrollerar dock INTE värdet för detta
Host-huvud, vilket utgör ett enormt säkerhetshål. Vi rekommenderar att denna
inställning förblir avslagen om man inte verkligen vet vad man håller på med.

<p>Det är dock nödvändigt att slå på den om Squid körs som en transparent
proxy, annars kommer inte virtuella servrar, som behöver Host-huvudet, att
cachas ordentligt.

<hr>
  0707010004831c000081a40000000000000002000000013d1fe2d400000d9d000000200000000000000000000000000000002b00000003reloc/squid/help/edit_misc.zh_TW.Big5.html    <header>¨ä¥L¿ï¶µ</header>

<b>°_©l DNS ´ú¸Õ¦ì§}</b>: Squid ¥Î¥H´ú¸Õ DNS ¬d¸ß¬O§_¥¿±`¹B§@ªº DNS ¦øªA¾¹.
<p>
<b>SIGUSR1 ¬ö¿ýÀÉ½üÂà</b>: ¨Ì¾Ú¨t²Î¤£¦P, ¹w³]­È¬° 10 ©Î 0. «ü©w·í±z¨Ï¥Î 'squid -k rotate' ®É¬ö¿ýÀÉ½üÂàªº¼Æ¥Ø. ¹w³]­È¬° 10, ³o·|±N¬ö¿ýÀÉ¼W¥[±q 0 ¨ì 9 ªº½s¸¹. ±N³o­Ó¼Æ­È³]©w¬° 0 ·|Ãö³¬¬ö¿ýÀÉ½üÂàªº¥\¯à, ¦ý¬ö¿ýÀÉ¤´·|Ãö³¬¨Ã­«·s¶}±Ò; ³o±N¥i¥HÅý±z¦b°e¥X½üÂà«H¸¹«e¦Û¦æÅÜ§ó¬ö¿ýÀÉªº¦WºÙ.
<p>
ª`·N: 'squid -k rotate' ©R¥O³q±`·|°e¥X USR1 «H¸¹µ¹°õ¦æ¤¤ªº squid µ{§Ç. ¦b¬Y¨Çª¬ªp¤U (¨Ò¦p¨Ï¥Î«D¦P¨B I/O ªº Linux), USR1 «H¸¹·|¥Î©ó¨ä¥Lªº¥\¯à, ©Ò¥H '-k rotate' ·|¨Ï¥Î¨ä¥Lªº«H¸¹. ±z³Ì¦n¨Ï¥Î 'squid -k rotate' ¦Ó¤£­n¨Ï¥Î 'kill -USR1 <pid>'.
<p>
<b>¿ù»~°T®§¤å¦r</b>: ¥]§t¿ù»~°T®§ªº HTML ¤å¦r. ±z¥i¥H¨Ï¥Î "mailto" URL µ¹±zªººÞ²z¦ì§}, ©Î³sµ²¨ì±z²ÕÂ´ªººô­¶.
<p>
­n¤Þ¤J±zªº¿ù»~°T®§, ±z¥²¶·­«¼g¿ù»~°T®§ªº½d¥»ÀÉ (¥i¥H¦b "error" ¥Ø¿ý¤¤§ä¨ì). ¥ô¦ó±z§Æ±æ¥X²{ 'err_html_txt' ¥X²{ªº¦a¤è, ´¡¤J¤@­Ó %L ¨ì½d¥»ÀÉ¤¤.
<p>
<b>¹ï¨C­Ó«È¤áºÝ§@²Î­p</b>: ¦pªG±z§Æ±æÃö³¬¹ï¨C¤@­Ó­Ó§Oªº«È¤áºÝ¶i¦æ²Î­p, ½Ð¦b¦¹³]©w "Ãö".
<p>
<b>¨Ï¥Î X-Âà°e-µ¹ ¼ÐÀY</b>: ¹w³]­È¬° '¶}'. ¦pªG¦³³]©w, Squid ±N·|§â±z¨t²Îªº IP ¦ì¸m©Î¦WºÙ©ñ¦b HTTP ­n¨DÂà°e. ¹w³]ªºª¬ªp¤U, ¥¦¬Ý°_­¦¹³¬O HTTP ­n¨DªºÂà°e, ¨Ò¦p:
<p>
<center>X-Forwarded-For: 192.1.2.3</center>
<p>
¦pªGÃö³¬³o­Ó¥\¯à, ¥¦±NÅÜ¦¨:
<p>
<center>X-Forwarded-For: unknown</center>
<p>
<b>¬ö¿ý ICP ¬d¸ß</b>: ¹w³]­È¬° '§_'. ¦pªG³]©w¤F, ICP ¬d¸ß±N·|³Q¬ö¿ý¨ì access.log ¤¤. ¦pªG±zªº ICP ­t¸ü¬Û·í°ª, ±z¥i¯à·|§Æ±æÃö³¬³o­Ó¥\¯à¥H¥[³t³B²z, ¨Ã¨Ï±o¬ö¿ýÀÉ¸ûÂ²³æ¦Ó©ö©ó¤ÀªR.
<p>
<b>³Ì¤pª½±µ¸õÅD¼Æ</b>: ¹w³]­È¬° 4. ¦pªG¦³¨Ï¥Î ICMP ¥â¥\¯à, ¥u­n¸õÅD¼Æ¤p©ó³o­Ó¼Æ­È, «K¶i¦æª½±µÅª¨ú.
<p>
<b>«O¦s°O¾ÐÅé¥H¨Ñ¥¼¨Ó¨Ï¥Î</b>: ¹w³]­È¬° '¬O'. ¦pªG³]©w¤F, Squid ±N·|«O«ù¤@¨Ç¤w°t¸m (©|¥¼¨Ï¥Î) ªº°O¾ÐÅé¥H¨Ñ¥¼¨Ó¨Ï¥Î. ¦pªG±z¨t²Î¤Wªº°O¾ÐÅé¬O¦³­­ªº, ¦Ó¥B±z¬Û«H±zªº malloc ¨ç¦¡®w®Ä¯à¸û Squid ¨ç¦¡¦n, Ãö³¬³o­Ó¥\¯à.
<p>
<b>«O¯dªº°O¾ÐÅé¼Æ¶q</b>: ¹w³]­È¬° 'µL­­¨î'. ¦pªG³]©w¬°¤@­Ó«D 0 ªº¼Æ­È, Squiud ±N·|«O¯d©Ò«ü©wªº°O¾ÐÅé¼Æ¶q©ó¤w°t¸m (©|¥¼¨Ï¥Î) ªº°O¾ÐÅé. ©Ò¦³¶W¹L³o­Ó­­¨îªº free() ­n¨D·|¥Ñ±zªº malloc ¨ç¦¡®w³B²z. Squid ¤£·|¹w¥ý°t¸m¥ô¦óªº°O¾ÐÅé, ¥u¬O¦w¥þªº«O¦s¤£À³³QÄÀ©ñªº°O¾ÐÅé. ©Ò¥H±N³o­Ó¼Æ­È³]ªº¸û°ª¬O¦w¥þªº, Áa¨Ï±zªº²ÕºA±N¨Ï¥Î¸û¤Öªº°O¾ÐÅé.
<p>
¦pªG¨S¦³³]©w (¹w³]­È) ©Î³]©w¦¨ 0, Squid ±N·|ºÉ¥i¯àªº«O¦s°O¾ÐÅé. ¤]´N¬O»¡¹ï©ó¥Î¦b¦w¥þ«O¯dªº°O¾ÐÅé¼Æ¶q±N¤£·|¦³­­¨î.
<p>
<b>ª½±µ¬ï¶Vªº¼ÐÀY</b>: ¹w³]¬° '¥þ³¡ªº¼ÐÀY'. ³o­Ó¿ï¶µ¨ú¥NÂÂªº 'http_anonumizer' ¿ï¶µ¨Ã¥i¥H³]©w§ó¦hªF¦è. ±z²{¦b¥i¥H«ü©w¤¹³\¯S©wªº¼ÐÀY, ©Î¬O²¾°£¯S©wªº¼ÐÀY.
<p>
¦³¤G­Ó¤è¦¡¥i¥H¨Ï¥Î³o­Ó¿ï¶µ. ±z¥i¥H¤¹³\«ü©wªº¼ÐÀY (©Úµ´¨ä¥Lªº); ©Î©Úµ´¯S©wªº¼ÐÀY (¤¹³\¨ä¥Lªº). 
<p>
<b>°²ªº¨Ï¥ÎªÌ¥N²z</b>: ¹w³]­È¬° 'µL'. ¦pªG±z¨Ï¥Î<b>ª½±µ¬ï¹Lªº¼ÐÀY</b>¹LÂo¨Ï¥ÎªÌ¥N²z¾¹ªº¼ÐÀY, ³o¥i¯à¨Ïªº¬Y¨Çºô­¶¦øªA¾¹©Úµ´±zªº­n¨D; ¦¹®É«K»Ý­n¨Ï¥Î°²ªº¨Ï¥ÎªÌ¥N²z¼ÐÀY.
<p>
<b>HTTPD ¥[³t¥D¾÷</b>: ¹w³]¬° 'µL'. ¦pªG±z§Æ±æ±N Squid °õ¦æ¦¨ HTTPD ¥[³t¾¹, ³]©w³o­Ó¿ï¶µ¨ì¹ê»Úªº HTTP ¦øªA¾¹.
<p>
<b>HTTPD ¥[³t³q°T°ð</b>: ¹w³]¬° 'µL'. <b>HTTPD ¥[³t¥D¾÷ªº©µ¦ù³]©w</b>, ·í±z±N Squid °õ¦æ¦¨ HTTPD ¥[³t¾¹®É, ±z¥²¶·¦b¦¹³]©w¯u¹ê¦øªA¾¹ªº³q°T°ð.
<p>
<b>HTTPD ¥[³t»P¥N²z¦øªA¾¹</b>: ¹w³]­È¬° 'Ãö'. ¦pªG±z§Æ±æ Squid ¯à¦b¦³¶Ç²Î¥N²z¦øªA¾¹¬Û¦Pªº¤ÏÀ³¨Ã¦P®É´£¨Ñ HTTPD ¥[³t®É, ³]©w³o­Ó¿ï¶µ. ·í¦P®É¨Ï¥Î¶Ç¿é¥N²z¦øªA¾¹®É, ³o­Ó¿ï¶µÀ³¸Ó­n±Ò°Ê.
<p>
<b>HTTPD ¥[³t¨Ï¥Î¥D¾÷¼ÐÀY</b>: ¹w³]­È¬° 'Ãö'. HTTP/1.1 ªº­n¨D¥]§t¤F¤@­Ó¥D¾÷ªº¼ÐÀY, ³o¬O¤@­Ó URL ¥D¾÷¦WºÙªº°ò¥». Squid ¥i¥H¸g¥Ñ¬d°T³o­Ó¼ÐÀY¦Ó§@¬°¤£¦P HTTP ¦øªA¾¹ªº¥[³t¾¹. µM¦Ó, Squid <b>¤£·|</b> ÀË¬d¥D¾÷¼ÐÀYªº¼Æ­È, ©Ò¥H·|¬O¤@­ÓÄY­«ªº¦w¥þº|¬}. §Ú­Ì«ØÄ³Ãö³¬³o­Ó¿ï¶µ°£«D±z½T©w±zªº¥Øªº.
<p>
µM¦Ó, ·í±z±N Squid §@¬°¶Ç¿é¥N²z¦øªA¾¹®É, ±z·|»Ý­n±Ò°Ê³o­Ó¿ï¶µ. §_«hªº¸Ü, µêÀÀ¥D¾÷­n¨Dªº¥D¾÷¼ÐÀY±N¤£·|³Q¥¿±`ªº§Ö¨ú.

<hr>
   0707010004831d000081a40000000000000002000000013d1fe2d400000431000000200000000000000000000000000000002400000003reloc/squid/help/edit_ports.ca.html   <header>Ports i Xarxa</header>

<b>Port de proxy</b>: Per defecte, 3128. Aquest valor estableix el port que
escoltarà Squid en espera de peticions HTTP. Els fullejadors client hauran
d'estar configurats a aquest port per poder connectar amb la proxy, o bé
caldrà configurar també la proxy transparent.
<p>
<b>Port ICP</b>: El número de port on Squid rep i envia peticions dels caus
veïns. Per defecte, és 3130. Per desactivar-lo, posa-hi "0". Es pot ignorar
amb -u a la línia d'ordres.
<p>
<b>Adreça TCP entrant</b>: Per defecte, cap. Defineix el sòcol HTTP que 
accepta les connexions des dels clients i altres caus.
<p>
<b>Adreça TCP sortint</b>: Per defecte, cap. Defineix el sòcol HTTP per les
connexions que es fan a servidors remots i altres caus.
<p>
<b>Adreça UDP entrant</b>: Per defecte, cap.  Defineix el sòcol ICP que rep
paquets d'altres caus.
<p>
<b>Adreça UDP sortint</b>: Per defecte, cap.  Defineix el sòcol ICP que envia
paquets a altres caus.
<p>
<b>Buffer de recepció TCP</b>: Mida del buffer TCP.  Per defecte, el buffer
de recepció del SO.
<p>

<hr>

   0707010004831e000081a40000000000000002000000013d1fe2d4000004a8000000200000000000000000000000000000002400000003reloc/squid/help/edit_ports.es.html   <header>Puertos y Trabajo en Red</header>

<b>Puerto Proxy</b>: Por defecto es 3128. Este valor dice en qué puerto escuchará tu servidor Squid por requerimientos http. Los navegadores cliente necesitarán ser configurados para conectarse al proxy en este puerto o la transparencia deberá también de ser configurada. <p>

<b>Puerto ICP</b>: El número de puerto donde Squid envía y recibe requerimientos ICP hacia y desde cachés vecinas. Por defecto es 3130. Para desactivarlo usa el "0". Puede ser ignorado mediante la línea de comando -u. <p>

<b>Direcciones TCP de Entrada</b>: Por defecto ninguna. Define el socket HTTP que acepta conexiones desde clientes y otras cachés. <p>

<b>Direcciones TCP de Salida</b>: Por defecto es ninguna. Define el socket HTTP para conexiones realizadas a servidores remotos y a otras cachés. <p>

<b>Direcciones UDP de Salida</b>: Por defecto es ninguna. Define el socket ICP que recibe paquetes de otras cachés. <p>

<b>Direcciones UDP de Entrada</b>: Por defecto es ninguna. Define el socket para los paquetes ICP que se envían a otras cachés. <p>

<b>Búfer de recepción TCP</b>: Medida del búfer TCP. Por defecto es el búfer de recepción del SO. <p>

<hr>
0707010004831f000081a40000000000000002000000013d1fe2d40000043a000000200000000000000000000000000000002100000003reloc/squid/help/edit_ports.html  <header>Ports and Networking</header>

<b>Proxy port</b>: Defaults to 3128.  This value sets what port your Squid server will listen on for http requests.  Client browsers will need to be configured to connect to a proxy on this port, or transparency will need to be setup, also. <p>

<b>ICP port</b>: The port number where Squid sends and receives ICP requests to and from neighbor caches.  Default is 3130.  To disable use "0".  May be overridden with -u on the command line. <p>

<b>Incoming TCP Address</b>: Defaults to none.  Defines the HTTP socket which accepts connections from clients and other caches. <p>

<b>Outgoing TCP Address</b>: Defaults to none.  Defines the HTTP socket for connections made to remote servers and other caches. <p>

<b>Outgoing UDP Address</b>: Defaults to none.  Defines the ICP socket receiving packets from other caches. <p>

<b>Incoming UDP Address</b>: Defaults to none.  Defines the socket for ICP packets being sent out to other caches. <p>

<b>TCP receive buffer</b>: Size of the TCP buffer.  Defaults to the OS receive buffer. <p>

<hr>

  07070100048326000081a40000000000000002000000013d1fe2d400000cb0000000200000000000000000000000000000002100000003reloc/squid/help/edit_progs.html  <header>Helper Programs</header>

<b>FTP column width</b>: Default is 32.  Sets the width of ftp listings. This should be set to fit in the width of a standard browser. Setting this too small can cut off long filenames when browsing ftp sites.
<p>
<b>Anon FTP login</b>: Default is 'Squid@'.  If you want the anonymous login password to be more informative (and enable the use of picky ftp servers), set this to something resonable for your domain, like wwwuser@somewhere.net.<p>
 The reason why this is domainless by default is that the request can be made on the behalf of a user in any domain, depending on how the cache is used. Some ftp server also validate that the email address is valid (for example perl.com).
<p>
<b>Squid DNS program</b>: Default is dnsserver.  Specify the location of the executable for dnslookup process.  The default is a non-blocking caching nameserver that is installed with Squid by default.
<p>
<b>Number of DNS programs</b>: Default is 5.  The number of processes spawned to service DNS name lookups. For heavily loaded caches on large servers, you should probably increase this value to at least 10.  The maximum is 32.
<p>
<b>Append domain to requests</b>: Default is off.  Normally the 'dnsserver' disables the RES_DEFNAMES resolver option (see res_init(3)).  This prevents caches in a hierarchy from interpreting single-component hostnames locally.  To allow dnsserver to handle single-component names, enable this option.
<p>
<b>DNS server addresses</b>: Default is to use the resolv.conf file.  Use this if you want to specify a list of DNS name servers (IP addresses) to use instead of those given in your /etc/resolv.conf file.
<p>
<b>Cache clearing program</b>: Default is 'unlinkd'.  Specify the location of the executable for file deletion process. This may not be needed if you are using async-io since it's handled by a thread in some versions.
<p>
<b>Squid ping program</b>: Defaults to 'pinger'.  Specify the location of the executable for the pinger process. This is only useful if you configured Squid (during compliation) with the '--enable-icmp' option.
<p>
<b>Custom redirect program</b>: Defaults to none.  Specify the location of the executable for the URL redirector. Since they can perform almost any function there isn't one included. See the Release-Notes for information on how to write one.
<p>
<b>Number of redirect programs</b>: Defaults to 5 if a redirector is configured.  The number of redirector processes to spawn. If you start too few Squid will have to wait for them to process a backlog of URLs, slowing it down. If you start too many they will use RAM and other system resources.
<p>
<b>Custom Authentication program</b>: Defaults to none.  Specify the command for the external authenticator.  Such a program reads a line containing "username password" and replies "OK" or "ERR" in an endless loop.  If you use an authenticator, make sure you have 1 acl of type proxy_auth.<p>
If you want to use the traditional proxy authentication, set this line to something like /usr/bin/ncsa_auth /usr/etc/passwd.  Assuming ncsa_auth has been compiled and installed on your system.
<p>
<b>Number of authentication programs</b>: Defaults to 5 if an authenticator has been enabled.

<hr>
07070100048320000081a40000000000000002000000013d1fe2d40000043a000000200000000000000000000000000000002400000003reloc/squid/help/edit_ports.it.html   <header>Ports and Networking</header>

<b>Proxy port</b>: Defaults to 3128.  This value sets what port your Squid server will listen on for http requests.  Client browsers will need to be configured to connect to a proxy on this port, or transparency will need to be setup, also. <p>

<b>ICP port</b>: The port number where Squid sends and receives ICP requests to and from neighbor caches.  Default is 3130.  To disable use "0".  May be overridden with -u on the command line. <p>

<b>Incoming TCP Address</b>: Defaults to none.  Defines the HTTP socket which accepts connections from clients and other caches. <p>

<b>Outgoing TCP Address</b>: Defaults to none.  Defines the HTTP socket for connections made to remote servers and other caches. <p>

<b>Outgoing UDP Address</b>: Defaults to none.  Defines the ICP socket receiving packets from other caches. <p>

<b>Incoming UDP Address</b>: Defaults to none.  Defines the socket for ICP packets being sent out to other caches. <p>

<b>TCP receive buffer</b>: Size of the TCP buffer.  Defaults to the OS receive buffer. <p>

<hr>

  07070100048321000081a40000000000000002000000013d1fe2d400000475000000200000000000000000000000000000002400000003reloc/squid/help/edit_ports.pl.html   <header>Porty i&nbsp;sieæ</header>

<b>Port proxy</b>: Domy¶lnie 3128. Ta warto¶æ okra¶la, na którym porcie
serwer Squid bêdzie nas³uchiwa³ zapytañ http. Nale¿y skonfigurowaæ
przegl±darki tak, aby ³±czy³y siê z&nbsp;proxy na tym porcie lub trzeba
bêdzie równie¿ ustawiæ przezroczyste proxy. <p>

<b>Port ICP</b>: Domy¶lnie 3130. Numer portu z&nbsp;którego Squid wysy³a
zapytania ICP do s±siednich proxy i&nbsp;na którym odbiera takie zapytania
od nich. Aby wy³±czyæ wpisz "0". Ustawienie mo¿e byæ zast±pione przez opcjê
-u linii poleceñ. <p>

<b>Przychodz±cy adres TCP</b>: Domy¶lnie ¿aden. Definiuje gniazdo HTTP,
które przyjmuje po³±czenia od klientów i&nbsp;innych proxy. <p>

<b>Wychodz±cy adres TCP</b>: Domy¶lnie ¿aden. Definiuje gniazdo HTTP, dla
po³±czeñ ze zdalnymi serwerami i&nbsp;innymi proxy. <p>

<b>Wychodz±cy adres UDP</b>: Domy¶lnie ¿aden. Definiuje gniazdo ICP
odbieraj±ce pakiety od innych proxy. <p>

<b>Przychodz±cy adres UDP</b>: Domy¶lnie ¿aden. Definiuje gniazdo dla
pakietów ICP wysy³anych do innych proxy. <p>

<b>Bufor odbiorczy TCP</b>: Rozmiar buforu TCP. Domy¶lnie okre¶lony przez OS
bufor odbiorczy. <p>

<hr>
   07070100048322000081a40000000000000002000000013d1fe2d400000481000000200000000000000000000000000000002400000003reloc/squid/help/edit_ports.sv.html   <header>Portar och nätverk</header>

<b>Proxy-port</b>: Standardvärdet är 3128. Här anges den port som Squid-servern
ska lyssna efter http-förfrågningar på. Klientbrowsers måste ställas in att
koppla upp sig mot en proxy på denna port, och/eller så måste Squid köras
transparent.

<p><b>ICP-port</b>: Det portnummer som Squid skickar och tar emot
ICP-uppslagningar från närliggande cacher på. Standardport är 3130. För att
slå av detta anges "0". Variabeln kan också slås ut av -u på kommandoraden.

<p><b>Utgående TCP-adress</b>: Standardinställningen är ingen. Anger den
HTTP-socket som gör uppkopplingar mot andra servrar och cacher.

<p><b>Inkommande TCP-adress</b>: Standardinställningen är ingen. Anger den
HTTP-socket som tar emot uppkopplingar från klienter och andra cacher.

<p><b>Utgående UDP-adress</b>: Standardinställningen är ingen. Anger den
ICP-socket som tar emot paket från andra cacher.

<p><b>Inkommande UDP-adress</b>: Standardinställningen är ingen. Anger den
socket som skickar ICP-paket till andra cacher.

<p><b>TCP-mottagningsbuffer</b>: Storleken på TCP-buffern. Standardvärdet är
operativsystemets mottagningsbuffer.

<hr>

   07070100048323000081a40000000000000002000000013d1fe2d4000002d7000000200000000000000000000000000000002c00000003reloc/squid/help/edit_ports.zh_TW.Big5.html   <header>³q°T°ð»Pºô¸ô¿ï¶µ</header>

<b>¥N²z¦øªA¾¹³q°T°ð</b>: ¹w³]­È¬° 3128. ³o­Ó¼Æ­È¬O±zªº Squid ­nºÊÅ¥ªº³q°T°ð. «È¤áºÝªºÂsÄý¾¹¥²¶·­n²ÕºAµ{¦¡¥Î³o­Ó³q°T°ð. <p>

<b>ICP ³q°T°ð</b>: ¹w³]­È¬° 3130. ³o¬O Squid ±µ¦¬©Î°e¥X ICP ­n¨Dµ¹¾Fªñªº§Ö¨ú®É©Ò¨Ï¥Îªº³q°T°ð. ³]©w¬° 0 ±N·|Ãö³¬³o­Ó¥\¯à. ¦Ó¥B¥i¥H³Q©R¥O¦C¿ï¶µ -u ©Ò§í¨î. <p>

<b>¶i¤Jªº TCP ¦ì§}</b>: ¹w³]­È¬° 'µL'. ©w¸q±µ¨ü«È¤áºÝ©Î¨ä¥L§Ö¨ú HTTP ´¡®y¨Ó·½. <p>

<b>¥¼°eªº TCP ¦ì§}</b>: ¹w³]­È¬° 'µL'. ©w¸q­n³s±µªº»·ºÝ¦øªA¾¹©Î¨ä¥L§Ö¨úªº HTTP ´¡®y¥Ø¼Ð. <p>

<b>¶i¤Jªº UDP ¦ì§}</b>: ¹w³]­È¬° 'µL'. ©w¸q±q¨ä¥L§Ö¨ú±µ¨ü ICP ¨Ó·½. <p>

<b>¥~°eªº UDP ¦ì§}</b>: ¹w³]­È¬° 'µL'. ©w¸q­n¥~°eµ¹¨ä¥L§Ö¨úªº ICP ¥Ø¼Ð. <p>

<b>TCP ±µ¦¬½w½Ä°Ï</b>: TCP ½w½Ä°Ïªº¤j¤p. ¹w³]­È¬°§@·~¨t²Îªº±µ¦¬½w½Ä°Ï. <p>

<hr>

 07070100048324000081a40000000000000002000000013d1fe2d400000d30000000200000000000000000000000000000002400000003reloc/squid/help/edit_progs.ca.html   <header>Programes Auxiliars</header>

<b>Amplada de columna FTP</b>: Per defecte, 32. Estableix l'amplada dels 
llistats FTP. Això s'hauria de posar de tal manera que hi càpiga en la mida
d'un fullejador estàndard. Posant-hi un valor massa baix, els noms llargs
poden quedar tallats.
<p>
<b>Usuari FTP anònim</b>: Per defecte, 'Squid@'. SI vols que la contrasenya 
de l'usuari FTP anònim sigui més explicativa (i activar l'ús de servidors
FTP "picky"), estableix-ho a quelcom raonable pel teu domini, com ara
wwwusuari@algunlloc.net.
<p>
La raó que això no tingui domini és que la petició es pugui fer per compte
d'un usuari de qualsevol domini, depenent de com s'utilitzi el cau.
Alguns servidors FTP també validen l'adreça de correu electrònic
(per exemple, perl.com).
<p>
<b>Programa DNS de Squid</b>: Per defecte, dnsserver. Especifica la ubicació
de l'executable pel procés dnslookup. El valor per defecte és un servidor de
noms cau no blocant que s'instal·la per defecte amb Squid.
<p>
<b>Nombre de programes DNS</b>: Per defecte, 5. El nombre de processos 
creats per a consultes de noms DNS. per caus amb una gran càrrega en 
servidors grans, segurament hauràs d'incrementar aquest valor al menys 
fins a 10. El màxim és 32.
<p>
<b>Afegeix el domini a les peticions</b>: Per defecte, desactivat.
Normalment, dnsserver desactiva l'opció de resolució RES_DEFNAMES
(mira res_init(3)). Això evita que els caus d'una jerarquia interpretin
localment els components dels noms de host. Per permetre que dnsserver
interpreti components de noms, activa aquesta opció.
<p>
<b>Adreces del servidor DNS</b>: Per defecte, fa servir el fitxer resolv.conf.
Fes-ho servir si vols especificar una llista de servidors de noms DNS
(adreces IP) en lloc dels que hi ha al fitxer /etc/resolv.conf.
<p>
<b>Programa de neteja del cau</b>: Per defecte, 'unlinkd'. Especifica la
ubicació del procés executable d'esborrat de fitxers. Això pot ser innecessari
si fas servir E/S asíncrona, ja que en algunes versions es gestiona mitjançant
un fil.
<p>
<b>Programa de <i>ping</i> de Squid</b>: Per defecte, 'pinger'. Especifica 
la ubicació del procés executable de <i>ping</i>. Això només és útil si
has configurat Squid  amb l'opció '--enable-icmp' durant la compilació.
<p>
<b>Programa de redirecció personalitzat</b>: Per defecte, cap. Especifica la
ubicació de l'executable de redirecció d'URLs. Com que pot executar gairebé
qualsevol funció, no n'hi ha cap d'inclòs. Mira les <i>Release Notes</i>
per més informació sobre com escriure'n un.
<p>
<b>Nombre de programes de redirecció</b>: Per defecte 5, si hi ha un redirector
configurat. És el nombre de processos redirectors a crear. Si en crees massa
pocs, Squid haurà d'esperar que processin un registre d'URLs, cosa que 
l'alenteix. Si en crees massa, consumiran RAM i altres recursos del sistema.
<p>
<b>Programa d'autenticació personalitzat</b>: Per defecte, cap. Especifica
l'ordre de l'autenticador extern. Aquest programa ha de llegir una línia
que conté "nom_usuari contrasenya" i respon "OK" o "ERR" en en bucle infinit.
Si vols fer servir autenticació de proxy tradicional, estableix aquest valor
a alguna cosa com ara /usr/bin/ncsa_auth /usr/etc/passwd. Assumint, és clar,
que tens ncsa_auth compilat i instal·lat al sistema.
<p>
<b>Nombre de programes d'autenticació</b>: Per defecte 5, si hi ha un 
autenticador activat.

<hr>


07070100048325000081a40000000000000002000000013d1fe2d400000e4d000000200000000000000000000000000000002400000003reloc/squid/help/edit_progs.es.html   <header>Programas de Ayuda</header>

<b>Ancho de columna FTP</b>: Por defecto es 32. Pone el ancho de los listados ftp. Se debe poner para adaptarse al ancho del navegador estándar. Ponerlo muy pequeño puede cortar nombres largos de archivo al navegar por sitios ftp.
<p>
<b>Login anónimo FTP</b>: Por defecto es 'Squid@'. Si deseas que la clave de acceso anónima sea más informativa (y activar el uso de servidores ftp de recogida), pon esto a algo razonable para tu dominio, como wwwusuario@enalgúnlugar.red.<p>
 La razón de que esto no tenga por defecto dominio es que el requerimiento puede realizarse en nombre de un usuario de cualquier dominio, dependiendo de cómo se use la caché. Algún servidor ftp también valida que la dirección de correo sea válida (por ejemplo perl.com).
<p>
<b>Programa DNS de Squid</b>: Por defecto es dnsserver. Especifica la localización del ejecutable para el proceso dnslookup. El valor por defecto es un servidor de nombres de caché no-por-bloques que está instalado con Squid por defecto.
<p>
<b>Número de programas DNS</b>: Por defecto es 5. El número de procesos lanzados para el servicio de búsqueda de nombre de DNS. Para cachés muy cargadas en grandes servidores, deberías probáblemente incrementar este valor a, al menos, 10. El máximo es 32.
<p>
<b>Añadir dominio a requerimientos</b>: Por defecto está desactivado. Normálmente el 'dnsserver' desactiva la opción del resolutor RES_DEFNAMES (ve res_init(3)). Esto previene que las cachés dentro de una jerarquía interpreten nombres de máquina de componentes simples locálmente. Para permitir que dnsserver maneje nombre de componentes simples, activa esta opción.
<p>
<b>Direcciones de servidor DNS</b>: Por defecto se utiliza el archivo 'resolv.conf'. Utiliza esto si deseas especificar una lista de servidores de nombre DNS (direcciones IP) para utilizar en vez de los datos en tu archivo '/etc/resolv.conf'.
<p>
<b>Programa de limpieza de caché</b>: Por defecto es 'unlinkd'. Especifica la localización del ejecutable para el proceso de borrado de archivo. Esto puede no ser necesario si utilizas e/s asíncrona ya que es manejado por un hilo en algunas versiones.
<p>
<b>Program de sonido (ping) de Squid</b>: Por defecto es 'pinger'. Especifica la localización del ejecutable para proceso de sonido de ping. Esto es sólo útil si has configurado Squid (durante la compilación) con la opción '--enable-icmp'.
<p>
<b>programa de redireccionamiento de Cliente</b>: Por defecto ninguno. Especifica la localización del ejecutable para el redireccionador de URL. Ya que se puede realizar casi cualquier función no hay ninguna incluída. Mira las Notas-de-Versión para información sobre cómo escribir uno.
<p>
<b>Número de programas de redireccionamiento</b>: Por defecto es 5 si se configura un redireccionador. El número de proceso de redireccionamiento a lanzar. Si arrancas demasiados pocos, Squid tendrá que esperar para que ellos procesen un montón de URLs, ralentizando el sistema. Si arrancas demasiados, utilizarán RAM y otros recursos del sistema.
<p>
<b>Programa de Autenticación de Cliente</b>: Por defecto ninguno. Especifica el comando para autenticadores externos. Un programa así, lee una línea que contenga "nombre de usuario clave de acceso" y replica "OK" o "ERR" en un bucle sin fin. Si usas un autenticador, asegúrate de tener 1 acl del tipo proxy_auth.<p>
Si deseas usar la autenticación tradicional de proxy, pon esta línea a algo como /usr/bin/ncsa_auth /usr/etc/passwd. Asumiendo que ncsa_auth ha sido compilado e instalado en tu sistema.
<p>
<b>Número de programas de autenticación</b>: Por defecto es 5 si se ha activado la autenticación.

<hr>
   07070100048327000081a40000000000000002000000013d1fe2d400000cb0000000200000000000000000000000000000002400000003reloc/squid/help/edit_progs.it.html   <header>Helper Programs</header>

<b>FTP column width</b>: Default is 32.  Sets the width of ftp listings. This should be set to fit in the width of a standard browser. Setting this too small can cut off long filenames when browsing ftp sites.
<p>
<b>Anon FTP login</b>: Default is 'Squid@'.  If you want the anonymous login password to be more informative (and enable the use of picky ftp servers), set this to something resonable for your domain, like wwwuser@somewhere.net.<p>
 The reason why this is domainless by default is that the request can be made on the behalf of a user in any domain, depending on how the cache is used. Some ftp server also validate that the email address is valid (for example perl.com).
<p>
<b>Squid DNS program</b>: Default is dnsserver.  Specify the location of the executable for dnslookup process.  The default is a non-blocking caching nameserver that is installed with Squid by default.
<p>
<b>Number of DNS programs</b>: Default is 5.  The number of processes spawned to service DNS name lookups. For heavily loaded caches on large servers, you should probably increase this value to at least 10.  The maximum is 32.
<p>
<b>Append domain to requests</b>: Default is off.  Normally the 'dnsserver' disables the RES_DEFNAMES resolver option (see res_init(3)).  This prevents caches in a hierarchy from interpreting single-component hostnames locally.  To allow dnsserver to handle single-component names, enable this option.
<p>
<b>DNS server addresses</b>: Default is to use the resolv.conf file.  Use this if you want to specify a list of DNS name servers (IP addresses) to use instead of those given in your /etc/resolv.conf file.
<p>
<b>Cache clearing program</b>: Default is 'unlinkd'.  Specify the location of the executable for file deletion process. This may not be needed if you are using async-io since it's handled by a thread in some versions.
<p>
<b>Squid ping program</b>: Defaults to 'pinger'.  Specify the location of the executable for the pinger process. This is only useful if you configured Squid (during compliation) with the '--enable-icmp' option.
<p>
<b>Custom redirect program</b>: Defaults to none.  Specify the location of the executable for the URL redirector. Since they can perform almost any function there isn't one included. See the Release-Notes for information on how to write one.
<p>
<b>Number of redirect programs</b>: Defaults to 5 if a redirector is configured.  The number of redirector processes to spawn. If you start too few Squid will have to wait for them to process a backlog of URLs, slowing it down. If you start too many they will use RAM and other system resources.
<p>
<b>Custom Authentication program</b>: Defaults to none.  Specify the command for the external authenticator.  Such a program reads a line containing "username password" and replies "OK" or "ERR" in an endless loop.  If you use an authenticator, make sure you have 1 acl of type proxy_auth.<p>
If you want to use the traditional proxy authentication, set this line to something like /usr/bin/ncsa_auth /usr/etc/passwd.  Assuming ncsa_auth has been compiled and installed on your system.
<p>
<b>Number of authentication programs</b>: Defaults to 5 if an authenticator has been enabled.

<hr>
07070100048328000081a40000000000000002000000013d1fe2d400000e14000000200000000000000000000000000000002400000003reloc/squid/help/edit_progs.pl.html   <header>Programy pomocnicze</header>

<b>Szeroko¶æ kolumny FTP</b>: Domy¶lnie 32 znaki. Okre¶la szeroko¶æ
listowania FTP. To ustawienie powinno odpowiadaæ szeroko¶ci standardowej
przegl±darki. Ustawienie zbyt ma³ej warto¶ci mo¿e spowodowaæ obciêcie
d³ugich nazw podczas przegl±dania serwerów ftp. <p> 

<b>Anonimowy login FTP</b>: Domy¶lnie 'Squid@'. Je¶li chcesz, aby has³o przy
logowaniu siê Squida jako u¿ytkownik 'anonymous' nios³o wiêcej informacji
(i&nbsp;umo¿liwi³o korzystanie ze szczególnie wybrednych serwerów ftp),
ustaw tu co¶ odpowiedniego dla twojej domeny, jak wwwuser@somewhere.net. <p>

Powodem, dla którego jest to domy¶lnie pozbawione domeny jest, ¿eby
zapytania mog³y byæ wykonywane w&nbsp;imieniu u¿ytkownika z&nbsp;dowolnej
domeny, u¿ytkownik z&nbsp;której korzysta z&nbsp;proxy. Niektóre serwery ftp
sprawdzaj± równie¿ poprawno¶æ adresu pocztowego (na przyk³ad perl.com). <p>

<b>Program DNS Squida</b>: Domy¶lnie 'dnsserver'. Okre¶la po³o¿enie programu
odpytuj±cego DNS. Program domy¶lny jest buforuj±cym serwerem DNS
instalowanym domy¶lnie wraz ze Squidem. <p>

<b>Liczba programów DNS</b>: Domy¶lnie 5. Liczba procesów potomnych
obs³uguj±cych przeszukiwania DNS. Dla silnie obci±¿onych proxy na du¿ych
serwerach prawdopodobnie powiniene¶ zwiêkszyæ tê warto¶æ do co najmniej 10.
Warto¶ci± maksymaln± jest 32. <p>

<b>Dodawaæ domenê do zapytañ</b>: Domy¶lnie nie. Normalnie 'dnsserver'
wy³±cza opcjê RES_DEFNAMES resolvera (patrz res_init(3)). Zapobiega to
interpretacji jednosk³adnikowych nazw hostów lokalnie, przez proxy
w&nbsp;hierarchii. W³±czenie tej opcji umo¿liwia dnsserverowi obs³ugiwaæ
jednosk³adnikowe nazwy. <p>  

<b>Adresy serwerów DNS</b>: Domy¶lne jest korzystanie z&nbsp;pliku
resolv.conf. Opcja ta umo¿liwia okre¶lenie listy serwerów DNS (ich adresów
IP), które bêd± wykorzystywane zamiast wymienionych w&nbsp;pliku
/etc/resolv.conf. <p>

<b>Program opró¿niaj±cy bufory cache</b>: Domy¶lnie 'unlinkd'. Okre¶la
po³o¿enie programu kasuj±cego pliki. Opcja ta mo¿e nie byæ potrzebna, je¿eli
korzystasz z&nbsp;asynchronicznego wej¶cia/wyj¶cia, gdy¿ w&nbsp;niektórych
wersjach jest to obs³ugiwane przez w±tek Squida. <p>

<b>Program ping Squida</b>: Domy¶lnie 'pinger'. Okre¶la po³o¿enie programu
pinguj±cego. Jest u¿yteczna jedynie, gdy Squid zosta³ skonfigurowany
(podczas kompilacji) z&nbsp;opcj± '--enable-icmp'. <p>

<b>Wybrany program przekierowuj±cy</b>: Domy¶lnie ¿aden. Okre¶la po³o¿enie
programu przekierowuj±cego URL-e. Nie za³±czono ¿adnego, gdy¿ taki program
mo¿e spe³niaæ prawie dowoln± funkcjê. Po informacje, jak taki program
napisaæ, zajrzyj do 'Release-Notes'. <p>

<b>Liczba programów przekierowuj±cych</b>: Domy¶lnie 5, je¶li jakis program
przekierowuj±cy podano. Liczba potomnych programów przekierowuj±cych. Je¶li
uruchomisz ich zbyt ma³o Squid bêdzie musia³ czekaæ na wstêpne przetworzenie
przez nie URL-i, co go spowolni. Je¶li uruchomisz ich za du¿o, zu¿yj± zbyt
du¿o RAM-u i&nbsp;innych zasobów systemowych. <p>

<b>Wybrany program autoryzuj±cy</b>: Domy¶lnie ¿aden. Okre¶la zewnêtrzne
polecenie autoryzuj±ce. Taki program czyta liniê postaci "nazwa_u¿ytkownika
has³o" i&nbsp;odpowiada w&nbsp;nieskoñczono¶æ "OK" lub "ERR". Je¶li u¿ywasz
programu autoryzuj±cego, upewnij siê, ¿e masz jedn± ACL typu proxy_auth. <p>

Jesli chcesz u¿ywaæ tradycyjnej autoryzacji proxy, wpisz w&nbsp;tej linii
co¶, w&nbsp;rodzaju /usr/bin/ncsa_auth /usr/etc/passwd. Zak³adaj±c, ¿e
ncsa_auth zosta³ skompilowany i&nbsp;zainstalowany w&nbsp;Twoim systemie.
<p>

<b>Liczba programów autoryzuj±cych</b>: Domy¶lnie 5, je¶li jakis program,
autoryzuj±cy podano.

<hr>
07070100048329000081a40000000000000002000000013d1fe2d400000d86000000200000000000000000000000000000002400000003reloc/squid/help/edit_progs.sv.html   <header>Hjälpprogram</header>

<b>FTP-kolumnbredd</b>: Standardvärdet är 32. Anger bredden på ftp-listningar.
Värdet bör sättas så att det passar bredden på en vanlig browser. Om värdet
sätts för lågt kan långa filnamn klippas när ftp-siter listas.

<p><b>Anonym FTP-inloggning</b>: Standardinställningen är 'Squid@'. Om man vill
att lösenordet för anonym inloggning ska vara mer informativt (och möjliggöra
användning av petiga ftp-servrar) kan detta sättas till något som verkar
rimligt för domänen, t ex wwwperson@någonstans.net.

<p>Anledningen till att standardvärdet inte har någon domän är att
förfrågningen kan göras för en användare under vilken domän som helst, beroende
på hur cachen används. En del ftp-servrar kontrollerar också att e-postadressen
finns (exempelvis perl.com).

<p><b>Squid DNS-program</b>: Standardinställningen är dnsserver. Ange var
det körbara programmet finns för dnslookup-processen. Standarden är en
icke-blockerande, cachande namnserver som installerats med Squid.

<p><b>Antal DNS-program</b>: Standardvärdet är 5. Antalet processer som
startas för att betjäna DNS-namnuppslagningar. För tungt belastade cacher på
stora servrar bör detta nog ökas till minst 10. Maximum är 32.

<p><b>Öppna domän för förfrågningar</b>: Standardinställningen är 'av'.
Vanligtvis slår 'dnsserver' av inställningen RES_DEFNAMES-uppslagning (se
res_init(3)). Detta gör att hierarkiska cacher inte kan tolka enkomponentsnamn
lokalt. Slå på denna inställning för att dnsserver ska kunna hantera
enkomponentsnamn.

<p><b>DNS-serveradresser</b>: Standardinställningen är att använda filen
resolv.conf . Använd denna inställning för att ange en lista över
DNS-namnservrar (IP-adresser) som ska användas istället för dem som angivits
i filen /etc/resolv.conf .

<p><b>Cache-rensingsprogram</b>: Standardinställningen är 'unlinkd'. Ange
var det körbara programmet för filraderingsprocessen finns. Detta kanske
inte behövs om async-io används eftersom det använder trådar i en del
versioner.

<p><b>Squid ping-program</b>: Standardinställningen är 'pinger'. Ange var
det körbara programmet för pinger-processen finns. Detta kan endast användas
om Squid kompilerades med flaggan '--enable-icmp' .

<p><b>Eget omdirigeringsprogram</b>: Standardinställningen är inget. Ange
var det körbara programmet för URL-omdirigering finns. Eftersom detta kan
inbegripa ungefär vilken funktion som helst finns det inget i detta paket.
Se release-anteckningarna för mer information om hur man skriver ett.

<p><b>Antal omdirigeringsprogram</b>: Standardvärdet är 5 om ett
omdirigeringsprogram angivits. Detta anger antalet omdirigeringsprocesser som
kan startas. Om för få startas kommer Squid att få vänta tills de har kommit
igenom en massa URL:er, vilket slöar ned det. Om för många startas kommer de
att i onödan ta upp RAM och andra systemresurser.

<p><b>Eget autentiseringsprogram</b>: Standardinställningen är inget. Ange
ett kommando för extern autentiserare. Ett sådant program läser en rad som
innehåller "användarnamn lösenord" och svarar "OK" eller "ERR" i en loop utan
slut. Se till att ha en åtkomstlista av typen proxy_auth om en autentiserare
ska användas.

<p>Om vanlig proxy-autentisering ska användas ska man ange något i stil med
/usr/bin/ncsa_auth /usr/etc/passwd här, under förutsättning att ncsa_auth
har kompilerats och installerats på systemet.

<p><b>Antal autentiseringsprogram</b>: Standardvärdet är 5 om en autentiserare
slagits på.

<hr>
  0707010004832a000081a40000000000000002000000013d1fe2d400000837000000200000000000000000000000000000002c00000003reloc/squid/help/edit_progs.zh_TW.Big5.html   <header>»²§Uµ{¦¡</header>

<b>FTP Äæ¦ì¼e«×</b>: ¹w³]­È¬° 32. ³]©w FTP ºÊÅ¥ªº¼e«×. ³oÀ³¸Ó­n»P¼Ð·ÇªºÂsÄý¾¹³]©w¬Û¦P. ³]©wªº¤Ó¤p±N·|¨ÏÂsÄý FTP ®ÉÀÉ¦W³QµôÂ_.
<p>
<b>°Î¦W FTP µn¤J</b>: ¹w³]­È¬° 'Squid@'. ¦pªG±z§Æ±æ°Î¦WªÌµn¤J±K½X§ó¥[ªº¥¿³W (¨Ã¨Ï¥Î¬D­ç¨Ï¥ÎªÌ±K½Xªºªº FTP ¦øªA¾¹), ±N³o­Ó³]©w¦¨¤ÏÀ³¥X±zªººô°ì, ¨Ò¦p wwwuser@somewhere.net.<p>
 
¹w³]¨Ï¥ÎµLºô°ìªº­ì¦]¬O¦p¦¹¥i¥H¤ÏÀ³¥X¥ô¦óªººô°ì, ¨Ì¾Ú¦p¦ó¨Ï¥Î³o­Ó§Ö¨ú. ¦³¨Ç FTP ¦øªA¾¹­n¨D¹q¤l¶l¥ó¦ì§}¬O¦³®Äªº (¨Ò¦p perl.com).
<p>
<b>Squid DNS µ{¦¡</b>: ¹w³]¬° dnsserver. ±z¥i¥H¦b³oÃä«ü©w¨ä¥L DNS ¬d¸ßµ{§Çªº°õ¦æÀÉ. ¹w³]­È¬O¤£¦û¥Î§Ö¨ú¦WºÙ¦øªA¾¹ªº, ¦Ó¥B»P³]»P Squid ¤@°_¦w¸Ëªº.
<p>
<b>DNS µ{¦¡¼Æ¶q</b>: ¹w³]­È¬° 5. ³o¨Ï­l¥Í¥X DNS ¦WºÙ¬d¸ßªA°Èµ{§Çªº¼Æ¶q. ¹ï©ó¦b¤j«¬¦øªA¾¹¤W°ª­t¸üªº§Ö¨ú¦Ó¨¥, ±zÀ³¸Ó­n¼W¥[³o­Ó¼Æ­È¨ì¦Ü¤Ö 10. ³Ì¤j­È¬° 32.
<p>
<b>¼W¥[ºô°ì¨ì­n¨D</b>: ¹w³]­È¬° 'Ãö'. ¤@¯ëª¬ªp¤U, dnsserver ·|Ãö³¬ RES_DEFNAMES ¸ÑªR¾¹¿ï¶µ (°Ñ¦Ò res_init(3)). ³o¨¾¤î¤F§Ö¨ú¤@­Ó¥»¦aºÝªº³æ¤@¥D¾÷¦WºÙ. ­n¤¹³\ dnsserver ³B²z³æ¤@­Ó¥D¾÷¦WºÙ, ±Ò°Ê³o­Ó¿ï¶µ.
<p>
<b>DNS ¦øªA¾¹¦ì§}</b>: ¹w³]¨Ï¥Î resolv.conf ªº³]©w. ¦pªG±z·Q­n«ü©w¤@­Ó DNS ¦WºÙ¦øªA°_ªº¦Cªí (IP ¦ì§}), ¦Ó¤£¨Ï¥Î resolv.conf ªº³]©w®É¤~»Ý­n³]©w.
<p>
<b>²M°£§Ö¨úµ{¦¡</b>: ¹w³]­È¬° 'unlinkd'. «ü©wµ¹¤@­ÓÀÉ®×§R°£µ{§Çªº°õ¦æÀÉ. ·í±z¨Ï¥Î«D¦P¨B I/O ®É³o±N¤£³Q»Ý­n, ¦]¬°¥¦­Ì¬O³Q¨ä¥Lµ{¦¡©Ò³B²z.
<p>
<b>Squid ping µ{¦¡</b>: ¹w³]­È¬° 'pinger'. «ü©w¤@­Ó ping µ{§Çªº°õ¦æÀÉ. ³o¥u·|¦b±z½sÄ¶ Squid êÉ«ü©w '--enable-icmp' ®É¤~·|¦³§@¥Î.
<p>
<b>¦Û­q­«¾É¦Vµ{¦¡</b>: ¹w³]­È¬° 'µL'. «ü©w¤@­Ó URL ­«¾É¦V¾¹ªº°õ¦æÀÉ. ³o¥i¥H²£¥Í´X¥G©Ò¦³¥¼¥]§tªº¥\¯à, ÀËµø Release-Notes ¥H¨ú±o¦p¦ó¼g§@ªº¸ê°T.
<p>
<b>­«¾É¦Vµ{¦¡¼Æ¶q</b>: ¹w³]­È¬° 5. ³o¬O­n­l¥Í¥Xªº­«¾É¦Vµ{§Ç¼Æ¶q. ¦pªG±z³]©wªº¤Ó¤Ö, «h±z¥²¶·­nµ¥«Ý´N¦³ªº°õ¦æ§¹²¦, ©Ò¥H·|­°§C³t«×; ¦Ó¦pªG±z±Ò°Êªº¤Ó¦h, ³o±N·|¦û¥Î°O¾ÐÅé»P¨ä¥L¨t²Î¸ê·½.
<p>
<b>¦Û­q»{ÃÒµ{¦¡</b>: ¹w³]­È¬° 'µL'. «ü©w¥~³¡»{ÃÒµ{¦¡ªº«ü¥O. ³o¼Ëªºµ{¦¡¬O¥Î¥HÅª¨ú¤@­Ó¥]§t ¦WºÙ/±K½X ªºÀÉ®×, ¨Ã¦^À³ ¥¿½T/¿ù»~. ¦pªG¨Ï¥Î»{ÃÒµ{¦¡, ½Ð¥ý½T©w±z¦³ porxy_auth Ãþ§Oªº ACL.<p>
¦pªG±z­n¨Ï¥Î¶Ç²Îªº¥N²z¦øªA¾¹»{ÃÒ, ±N³o¦æ³]©w¦¨¹³¬O /usr/bin/ncsa_auth /usr/etc/passwd ªº³]©w. (°²³]±z¦³¦w¸Ë ncsa_auth ¦b±zªº¨t²Î¤W).
<p>
<b>»{ÃÒµ{¦¡¼Æ¶q</b>: ¹w³]­È¬° 5, ¦pªG¦³±Ò°Ê»{ÃÒ¥\¯à.

<hr>
 0707010004832b000081a40000000000000002000000013d1fe2d4000004d3000000200000000000000000000000000000001f00000003reloc/squid/help/intro.ca.html    <header>Configuració de Squid</header>

<h3>Introducció a Squid</h3>
Squid es un dimoni servidor de proxy web complet. Squid permet que el teu
servidor emmagatzemi còpies locals d'objectes web distants. Quan aquests 
objectes són accedits altre cop per algú a la xarxa local, els objectes 
es carregaran més ràpidament i no consumiran més amplada de banda anant
a buscar l'objecte un altre cop al servidor original. Això pot pal·liar
l'esforç de les xarxes carregades i oferir un entorn global de xarxa amb
un nivell més alt de resposta.
<p>

<h3>El mòdul Squid</h3>
La pàgina principal d'aquest mòdul mostra una taula d'icones, cadascuna 
per configurar aspectes específics de Squid. En configurar Squid per primer
cop, tots els valors s'establiran per defecte. Per veure quins són els
valors per defecte, mira la pàgina d'ajuda de cada pàgina de configuració.
<p>
La majoria de pàgines d'ajuda d'aquest mòdul s'han extret del fitxer
<tt>squid.conf</tt> per defecte que s'inclou amb cada instal·lació de Squid.
Pots trobar més informació a <a href="http://www.squid-cache.org" target="Reference">La Pàgina Arrel de Squid</a>.
<p>

<hr>
Informeu de qualsevol correcció a <a href="mailto:joe@swelltech.com">Joe Cooper</a>, si us plau.

 0707010004832c000081a40000000000000002000000013d1fe2d400000621000000200000000000000000000000000000001f00000003reloc/squid/help/intro.es.html    <header>Configuración de Squid</header>

<h3>Introducción a Squid</h3>
Squid es un demonio servidor proxy de caché de web complétamente caracterizado. Squid permite que tu servidor salve copias locales de distantes objetos web. Cuando estos objetos son accedidos de nuevo por alguien de la red local, los objetos se cargarán más rápido y no consumirán más ancho de banda recogiendo el objeto otra vez del servidor original. Esto puede producir alivio en redes muy concurridas y proveer de un entorno de red más responsable, sobre todo. <p>

Otro beneficio de usar Squid es del de los controles de acceso. Squid provee de capacidades extensivas para acceso por bloques a ciertos sitios, usuarios, redes, contenido de tipos de datos, etc... Squid puede operar en modo transparente, modo proxy tradicional y proxy inverso (acelerador httpd). <p>

<h3>El Módulo Squid</h3>
La página principal de este módulo muestra una tabla de iconos, cada uno para configurar aspectos de Squid. Al ser configurado Squid por primera vez, todos los valores serán puestos a sus valores por defecto. Para ver cual son, símplemente refiérete a la página de ayuda para cada página de configuración.
<p>
La mayoría de las página de ayuda para este módulo fueron estraídas del archivo de configuración por defecto 'squid.conf' incluído en cada instalación de Squid. Se puede hallar más información en <a href="http://www.squid-cache.org" target="Reference">La Página Hogar de Squid</a>.
<p>
<hr>
Por favor, informa de cualquier incorrección a <a href="mailto:joe@swelltech.com">Joe Cooper</a>.

   0707010004832d000081a40000000000000002000000013d1fe2d400000597000000200000000000000000000000000000001c00000003reloc/squid/help/intro.html   <header>Squid Configuration</header>

<h3>Introduction to Squid</h3>
Squid is a full featured web caching proxy server daemon.  Squid allows your server to save local copies of distant web objects.  When these objects are accessed again by anyone on the local network, the objects will load faster and will not consume more bandwidth fetching the object again from the origin server.  This can relieve strain on crowded networks and provide a more responsive network environment overall. <p>

Another benefit of using Squid, is that of access controls.  Squid provides extensive capabilities for blocking access to certain sites, users, networks, types of data content, etc.  Squid can operate in transparent mode, traditional proxy mode, and reverse proxy (httpd accelerator) mode. <p>

<h3>The Squid Module</h3>
The main page of this module displays a table of icons, each for configuring specific aspects of Squid.  When first configuring Squid, all values will be set to their defaults.  To see what those defaults are, simply refer to the help page for each configuration page.
<p>
The majority of the help pages for this module were extracted from the default squid.conf file included in every installation of Squid.  More information can be found at <a href="http://www.squid-cache.org" target="Reference">The Squid Homepage</a>.
<p>
<hr>
Please report any corrections to <a href="mailto:joe@swelltech.com">Joe Cooper</a>.

 0707010004832e000081a40000000000000002000000013d1fe2d400000597000000200000000000000000000000000000001f00000003reloc/squid/help/intro.it.html    <header>Squid Configuration</header>

<h3>Introduction to Squid</h3>
Squid is a full featured web caching proxy server daemon.  Squid allows your server to save local copies of distant web objects.  When these objects are accessed again by anyone on the local network, the objects will load faster and will not consume more bandwidth fetching the object again from the origin server.  This can relieve strain on crowded networks and provide a more responsive network environment overall. <p>

Another benefit of using Squid, is that of access controls.  Squid provides extensive capabilities for blocking access to certain sites, users, networks, types of data content, etc.  Squid can operate in transparent mode, traditional proxy mode, and reverse proxy (httpd accelerator) mode. <p>

<h3>The Squid Module</h3>
The main page of this module displays a table of icons, each for configuring specific aspects of Squid.  When first configuring Squid, all values will be set to their defaults.  To see what those defaults are, simply refer to the help page for each configuration page.
<p>
The majority of the help pages for this module were extracted from the default squid.conf file included in every installation of Squid.  More information can be found at <a href="http://www.squid-cache.org" target="Reference">The Squid Homepage</a>.
<p>
<hr>
Please report any corrections to <a href="mailto:joe@swelltech.com">Joe Cooper</a>.

 0707010004832f000081a40000000000000002000000013d1fe2d400000643000000200000000000000000000000000000001f00000003reloc/squid/help/intro.pl.html    <header>Konfiguracja Squida</header>

<h3>Wprowadzenie do Squida</h3>
Squid jest buforuj±cym serwerem proxy WWW o&nbsp;pe³nych mo¿liwo¶ciach.
Squid umo¿liowia przechowywanie na Twoim serwerze lokalnych kopii odleg³ych
obiektów WWW. Podczas ponownego dostêpu do tych obiektów przez kogokolwiek
w&nbsp;lokalnej sieci zostan± one za³adowane szybciej i&nbsp;nie spowoduje
zu¿ycia pasma na ponowne sprowadzenie obiektu z&nbsp;pierwotnego serwera.
Mo¿e to odci±¿yæ zat³oczone sieci i&nbsp;zapewniæ skrócenie czasu odpowiedzi 
ogó³u ¶rodowiska sieciowego. <p>

Inn± korzy¶ci± z&nbsp;u¿ywania Squida jest kontrola dostêpu. Squid zapewnia
szerokie mo¿liwo¶ci blokowania dostêpu do pewnych miejsc, dla pewnych
u¿ytkowników, sieci, rodzajów transmitowanych danych, itd. Squid mo¿e
pracowaæ w&nbsp;trybach: przezroczystym, jako tradycyjne proxy oraz jako
odwrotne proxy (akcelerator httpd). <p>

<h3>Modu³ Squida</h3> 
G³ówna strona tego modu³u ukazuje tablicê ikon, ka¿da s³u¿±ca do
konfiguracji okre¶lonego ustawienia Squida. Podczas pierwszej konfiguracji
Squida wszystkim parametrom zostan± nadane warto¶ci domy¶lne. Aby zobaczyæ,
jakie s± te warto¶ci domy¶lne, po prostu odwo³aj siê do strony pomocy
odowiedniej dla danej strony konfiguracji. <p>

Wiêkszo¶æ stron pomocy dla tego modu³u zosta³a zaczerpniêta
z&nbsp;domy¶lnego pliku squid.conf, zawartego w&nbsp;ka¿dej instalacji
Squida. Wiêcej informacji mo¿na znale¼æ na
<a href="http://www.squid-cache.org" target="Reference">stronie domowej
Squida</a>. <p>
<hr>

Proszê sygnalizowaæ wszystkie poprawki do
<a href="mailto:joe@swelltech.com">Joe Coopera</a>.
 07070100048330000081a40000000000000002000000013d1fe2d400000636000000200000000000000000000000000000001f00000003reloc/squid/help/intro.sv.html    <header>Squid-inställningar</header>

<h3>Introduktion till Squid</h3>
Squid är en cachande proxy-webserverdemon med alla funktioner. Med Squid kan
servern spara lokala kopior på web-objekt som hämtats från andra servrar.
Nästa gång någon på det lokala nätverket vill hämta ett sådant objekt hämtas
det från cachen, vilket gör att det går mycket fortare att ladda ned och
kommer inte att ta upp så mycket bandbredd för att hämta samma objekt igen
från ursprungsservern. Detta kan lätta belastningen för nätverk med många
användare och överlag ge snabbare svarstider.

<p>En annan fördel med att använda Squid är att det möjliggör åtkomstkontroll.
Squid medger omfattande möjligheter att blockera åtkomst för vissa siter,
användare, nätverk, typ av datainnehåll osv. Squid kan köras i transparent mod,
traditionell proxy-mod och omvänd proxy mod (httpd-accelerator).

<h3>Squid-modulen</h3>
Huvudsidan för denna modul innehåller en mängd ikoner som var och en hör till
inställningar för en viss del av Squid. Första gången som inställningar för
Squid görs kommer alla variabler att ha sina standardvärden. Gå till respektive
hjälpsida för att få se dessa standardvärden.

<p>De flesta hjälpsidor för denna modul är utdrag ur standardfilen squid.conf
som finns med varje Squid-installation. Mer information finns på
<a href="http://www.squid-cache.org" target="Reference">Squids hemsida</a>.

<hr>
Eventuella buggrapporter skickas till <a href="mailto:joe@swelltech.com">Joe Cooper</a>.
Felrapporter för de svenska sidorna skickas till <a href="mailto:lisa@cendio.se">Lisa Hallingström</a>.

  07070100048331000081a40000000000000002000000013d1fe2d4000003f9000000200000000000000000000000000000002700000003reloc/squid/help/intro.zh_TW.Big5.html    <header>Squid ²ÕºA</header>

<h3>Squid Â²¤¶</h3>
Squid ¬O¤@­Ó¥þ¥\¯àªººô­¶§Ö¨ú¥N²z¦øªA¾¹¦uÅ@µ{¦¡. Squid ¥i¥HÅý±zªº¦øªA¾¹±N»·ºÝªººô­¶ª«¥óÀx¦s©ó¥»¦aºÝ; ¥ô¦ó¥»¦aºÝºô¸ôªº¨Ï¥ÎªÌ­n¦s¨ú¬Û¦Pª«¥ó®É, ³o¨Çª«¥ó¥i¥Hª½±µ¥Ñ¥»¦aºÝ´£¨Ñ, ¦Ó¤£»Ý­n¦A¤@¦¸ªº®ö¶OÀW¼e±q­ì©l¥D¾÷¤U¸ü. ³o¥i¥HºÙ®aºô¸ôÀô¹Òªº®Ä¯à. <p>

¥t¤@­Ó¨Ï¥Î Squid ªº¯q³B¦b©ó¦s¨ú±±¨î. Squid ´£¨Ñ¤F¤@­Ó¦³®Äªº±±¨î¯à¤O¥H­­¨î¦s¨ú¯S©wªº¯¸¥x, ¨Ï¥ÎªÌ, ºô¸ô, ¸ê®Æ¤º®eÃþ§Oµ¥µ¥. Squid ¤]¥i¥H°õ¦æ¦b¶Ç¿é¼Ò¦¡, ¶Ç²Î¥N²z¦øªA¼Ò¦¡»P HTTPD ¥[³t¾¹¼Ò¦¡. <p>

<h3>Squid ¼Ò²Õ</h3>
³o­Ó¼Ò²Õªº¥D­nµe­±Åã¥Ü¤F¤@¨t¦Cªº¹Ï¥Ü, ¨C¤@­Ó³£¯à³]©w¯S©wªº Squid ³¡¤À. ²Ä¤@¦¸²ÕºA Squid ®É, ©Ò¦³ªº¼Æ­È³£·|³Q³]¦¨¹w³]­È. ­nÀËµø¿ï¶µªº¹w³]­È, ¥u­n°Ñ¦Ò¨C¤@­Ó²ÕºA­¶ªº»¡©ú§Y¥i.
<p>
³o­Ó¼Ò²Õªº¥D­n»¡©ú­¶¬O¨Ó¦Û¹w³]ªº squid.conf ÀÉ®×, ¥]§t©ó¨C­Ó Squid ®M¥ó¤§¤¤. §ó¦hªº¸ê°T¥i¥H¦b <a href="http://www.squid-cache.org" target="Reference">The Squid Homepage</a> §ä¨ì.
<p>
<hr>
½Ð¦^³ø¥ô¦óªº¿ù»~µ¹ <a href="mailto:joe@swelltech.com">Joe Cooper</a>; ¹ï©óÂ½Ä¶ªº¿ù»~½Ð¦^³øµ¹ <a href="mailto:shyue@sonoma.com.tw">Jing-Jong Shyue</a>.

   07070100046c49000081a40000000000000002000000013d1fe2d400000128000000200000000000000000000000000000002300000003reloc/squid/config.info.zh_TW.Big5    squid_conf=¨ì Squid ²ÕºAÀÉªº§¹¾ã¸ô®|,0
squid_start=±Ò°Ê Squid ªº©R¥O,3,¦Û°Ê
squid_stop=°±¤î Squid ªº©R¥O,3,¦Û°Ê
squid_path=Squid °õ¦æÀÉ,0
pid_file=¨ì PID ÀÉ®×ªºªº§¹¾ã¸ô®|,0
cache_dir=¨ì Squid §Ö¨ú¥Ø¿ýªº§¹¾ã¸ô®|,0
cachemgr_path=Squid ªº cachemgr.cgi °õ¦æÀÉ,0
log_dir=¨ì Squid ¬ö¿ý¥Ø¿ýªº§¹¾ã¸ô®|,0
07070100046c4a000081a40000000000000002000000013d1fe2d400000091000000200000000000000000000000000000001700000003reloc/squid/defaultacl    root=/
portsnets=1
othercaches=1
musage=1
logging=1
copts=1
hprogs=1
actrl=1
admopts=1
proxyauth=1
miscopt=1
cms=1
rebuild=1
calamaris=1
start=1
   07070100046c4b000081e40000000000000002000000013d1fe2d400000eea000000200000000000000000000000000000001900000003reloc/squid/edit_acl.cgi  #!/usr/local/bin/perl
# edit_acl.cgi
# Display a list of all ACLs and restrictions using them

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&header($text{'eacl_header'}, "", "edit_acl", 0, 0, 0, &restart_button());
$conf = &get_config();

print "<hr><p>\n";
print "<table border cellpadding=5 width=100%><tr>\n";
print "<td rowspan=2 valign=top width=50%>\n";
@acl = &find_config("acl", $conf);
if (@acl) {
	# List all defined access control directives
	print "<h3>$text{'eacl_acls'}</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'eacl_name'}</b></td>\n"; 
	print "<td><b>$text{'eacl_type'}</b></td>\n";
	print "<td><b>$text{'eacl_match'}</b></td> </tr>\n";
	foreach $a (@acl) {
		@v = @{$a->{'values'}};
		print "<tr $cb>\n";
		print "<td><a href=\"acl.cgi?index=$a->{'index'}\">",
		      &html_escape($v[0]),"</a></td>\n";
		print "<td nowrap>$acl_types{$v[1]}</td>\n";
		print "<td>",&html_escape(join(' ', @v[2..$#v])),"</td>\n";
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'eacl_noacls'}</b><br>\n";
	}
print "<form action=acl.cgi>\n";
print "<input type=submit value=\"$text{'eacl_buttcreate'}\">\n";
print "<select name=type>\n";
foreach $t (sort { $acl_types{$a} cmp $acl_types{$b} } keys %acl_types) {
	print "<option value=$t>$acl_types{$t}\n";
	}
print "</select></form>\n";

print "</td><td valign=top width=50%>\n";
@http = &find_config("http_access", $conf);
if (@http) {
	print "<h3>$text{'eacl_pr'}</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb><td width=10%><b>$text{'eacl_act'}</b></td>\n";
	print "<td><b>$text{'eacl_acls1'}</b></td>\n";
	print "<td width=10%><b>$text{'eacl_move'}</b></td> </tr>\n";
	$hc = 0;
	foreach $h (@http) {
		@v = @{$h->{'values'}};
		if ($v[0] eq "allow") {
			$v[0] = $text{'eacl_allow'};
		} else {
			$v[0] = $text{'eacl_deny'};
		}
		print "<tr $cb>\n";
		print "<td><a href=\"http_access.cgi?index=$h->{'index'}\">",
		      "$v[0]</a></td>\n";
		print "<td>",&html_escape(join(' ', @v[1..$#v])),"</td>\n";
		print "<td>\n";
		if ($hc != @http-1) {
			print "<a href=\"move_http.cgi?$hc+1\">",
			      "<img src=images/down.gif border=0></a>";
			}
		else { print "<img src=images/gap.gif>"; }
		if ($hc != 0) {
			print "<a href=\"move_http.cgi?$hc+-1\">",
			      "<img src=images/up.gif border=0></a>";
			}
		print "</td></tr>\n";
		$hc++;
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'eacl_nopr'}</b><br>\n";
	}
print "<a href=http_access.cgi?new=1>$text{'eacl_addpr'}</a>\n";
print "</td></tr><tr><td valign=top width=50%>\n";

@icp = &find_config("icp_access", $conf);
if (@icp) {
	print "<h3>$text{'eacl_icpr'}</h3>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td width=10%><b>$text{'eacl_act'}</b></td>\n"; 
	print "<td><b>$text{'eacl_acls1'}</b></td>\n";
	print "<td width=10%><b>$text{'eacl_move'}</b></td> </tr>\n";
	$ic = 0;
	foreach $i (@icp) {
		@v = @{$i->{'values'}};
		if ($v[0] eq "allow") {
			$v[0] = $text{'eacl_allow'};
		} else {
			$v[0] = $text{'eacl_deny'};
		}
		print "<tr $cb>\n";
		print "<td><a href=\"icp_access.cgi?index=$i->{'index'}\">",
		      "$v[0]</a></td>\n";
		print "<td>",&html_escape(join(' ', @v[1..$#v])),"</td>\n";
		print "<td>\n";
		if ($ic != @icp-1) {
			print "<a href=\"move_icp.cgi?$ic+1\">",
			      "<img src=images/down.gif border=0></a>";
			}
		else { print "<img src=images/gap.gif>"; }
		if ($ic != 0) {
			print "<a href=\"move_icp.cgi?$ic+-1\">",
			      "<img src=images/up.gif border=0></a>";
			}
		print "</td></tr>\n";
		$ic++;
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'eacl_noicpr'}</b><br>\n";
	}
print "<a href=icp_access.cgi?new=1>$text{'eacl_addicpr'}</a>\n";

print "</td></tr></table><p>\n";

print "<hr>\n";
&footer("", $text{'eacl_return'});

  07070100046c4d000081e40000000000000002000000013d1fe2d400000c64000000200000000000000000000000000000001b00000003reloc/squid/edit_admin.cgi    #!/usr/local/bin/perl
# edit_admin.cgi
# A form for editing admin options

require './squid-lib.pl';
$access{'admopts'} || &error($text{'eadm_ecannot'});
&header($text{'eadm_header'}, "", "edit_admin", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_admin.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eadm_aao'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	$v = &find_config("cache_effective_user", $conf);
	print "<td><b>$text{'eadm_runasuu'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=effective_def value=1 %s> $text{'eadm_nochange'}\n",
		$v ? "" : "checked";
	printf "&nbsp;<input type=radio name=effective_def value=0 %s>\n",
		$v ? "checked" : "";
	print $text{'eadm_user'} ,&unix_user_input("effective_u",
				       $v->{'values'}->[0]),"\n";
	print $text{'eadm_group'} ,&unix_group_input("effective_g",
					 $v->{'values'}->[1]),"\n";
	print "</td> </tr>\n";
	}
else {
	print "<tr>\n";
	print &opt_input($text{'eadm_runasuu'}, "cache_effective_user", $conf,
			 $text{'eadm_nochange'}, 8,
			 &user_chooser_button("cache_effective_user", 0));
	print &opt_input($text{'eadm_runasug'}, "cache_effective_group", $conf,
			 $text{'eadm_nochange'}, 8,
			 &group_chooser_button("cache_effective_group", 0));
	print "</tr>\n";
	}

if ($squid_version >= 2) { 
        print "<tr>\n";
        print &opt_input($text{'eadm_par'}, "proxy_auth_realm",
                         $conf, $text{'eadm_default'}, 40); 
        print "</tr>\n";      
        }               

print "<tr>\n";
print &opt_input($text{'eadm_cmemail'}, "cache_mgr",
		 $conf, $text{'eadm_default'}, 35);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eadm_vhost'}, "visible_hostname",
		 $conf, $text{'eadm_auto'}, 35);
print "</tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &opt_input($text{'eadm_annto'}, "announce_to",
			 $conf, $text{'eadm_default'}, 40);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eadm_every'}, "cache_announce", $conf,
			 $text{'eadm_never'}, 6, "hours");
	print "</tr>\n";
	}
else {
	print "<tr>\n";
	print &opt_input($text{'eadm_uniq'}, "unique_hostname",
			 $conf, $text{'eadm_auto'}, 35);
	print "</tr>\n";

	if ($squid_version >= 2.4) {
		print "<tr>\n";
		print &opt_input($text{'eadm_haliases'}, "hostname_aliases",
				 $conf, $text{'eadm_none'}, 35);
		print "</tr>\n";
		}

	print "<tr>\n";
	print &opt_input($text{'eadm_cah'}, "announce_host", $conf,
			 $text{'eadm_default'}, 20);
	print &opt_input($text{'eadm_cap'}, "announce_port", $conf,
			 $text{'eadm_default'}, 6);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eadm_caf'}, "announce_file", $conf,
			 $text{'eadm_none'}, 35, &file_chooser_button("announce_file"));
	print "</tr>\n";

	print "<tr>\n";
	print &opt_time_input($text{'eadm_annp'}, "announce_period", $conf,
			      $text{'eadm_default'}, 4);
	print "</tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'eadm_buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'eadm_return'});

07070100046c4e000081e40000000000000002000000013d1fe2d40000090c000000200000000000000000000000000000001a00000003reloc/squid/edit_auth.cgi #!/usr/local/bin/perl
# edit_auth.cgi
# Display authentication options and list of proxy users

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&header($text{'eauth_header'}, "", undef, 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_auth.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eauth_aopt'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$v = &find_config("proxy_auth", $conf);
$authfile = $v->{'values'}->[0];
$authdom = $v->{'values'}->[1];
print "<tr> <td><b>$text{'eauth_puf'}</b></td> <td>\n";
printf "<input type=radio name=authfile_def value=1 %s> $text{'eauth_none'}&nbsp;\n",
	$authfile ? "" : "checked";
printf "<input type=radio name=authfile_def value=0 %s>\n",
	$authfile ? "checked" : "";
printf "<input name=authfile size=30 value=\"%s\">\n",
	$authfile ? $authfile : "";
print &file_chooser_button("authfile"),"</td> </tr>\n";

print "<tr>\n";
print "<td><b>$text{'eauth_nologin'}</b></td> <td>\n";
printf "<input type=radio name=authdom_def value=1 %s> $text{'eauth_none'}&nbsp;\n",
	$authdom ? "" : "checked";
printf "<input type=radio name=authdom_def value=0 %s>\n",
	$authdom ? "checked" : "";
printf "<input name=authdom size=20 value=\"%s\"></td>\n",
	$authdom ? $authdom : "";
print "</tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'eauth_buttsave'}></form>\n";

if ($authfile) {
	print "<hr>\n";
	print $text{'eauth_msgaccess'};
	print "\n<p>\n";
	@users = &list_auth_users($authfile);
	if (@users) {
		print "<a href=\"edit_user.cgi?new=1\">$text{'eauth_addpuser'}</a><br>\n";
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'eauth_pusers'}</b></td> </tr>\n";
		print "<tr $cb> <td><table width=100%>\n";
		for($i=0; $i<@users; $i++) {
			print "<tr>\n" if ($i%4 == 0);
			print "<td width=25%><a href=\"edit_user.cgi?",
			      "index=$i\">$users[$i]->{'user'}</a></td>\n";
			print "</tr>\n" if ($i%4 == 3);
			}
		while($i++%4) { print "<td width=25%></td>\n"; }
		print "</table></td></tr></table>\n";
		}
	else {
		print "<b>$text{'eauth_nopusers'}</b> <p>\n";
		}
	print "<a href=\"edit_user.cgi?new=1\">$text{'eauth_addpuser'}</a><p>\n";
	}

print "<hr>\n";
&footer("", $text{'eauth_return'});

07070100046c4f000081e40000000000000002000000013d1fe2d400002165000000200000000000000000000000000000001b00000003reloc/squid/edit_cache.cgi    #!/usr/local/bin/perl
# edit_cache.cgi
# A form for editing cache options

require './squid-lib.pl';
$access{'copts'} || &error($text{'ec_ecannot'});
&header($text{'ec_header'}, "", "edit_cache", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_cache.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ec_cro'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
@dirs = &find_config("cache_dir", $conf);
print "<td valign=top><b>$text{'ec_cdirs'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=cache_dir_def value=1 %s>$text{'ec_default'}\n",
	@dirs ? "" : "checked";
printf "<input type=radio name=cache_dir_def value=0 %s>$text{'ec_listed'}<br>\n",
	@dirs ? "checked" : "";
print "<table border>\n";
if ($squid_version >= 2) {
	print "<tr $tb> <td><b>$text{'ec_directory'}</b></td>\n";
	if ($squid_version >= 2.3) {
		print "<td><b>$text{'ec_type'}</b></td>\n";
		}
	print "<td><b>$text{'ec_size'}</b></td>\n";
	print "<td><b>$text{'ec_1dirs'}</b></td>\n";
	print "<td><b>$text{'ec_2dirs'}</b></td>\n";
	if ($squid_version >= 2.4) {
		print "<td><b>$text{'ec_opts'}</b></td>\n";
		}
	print "</tr>\n";
	}
for($i=0; $i<=@dirs; $i++) {
	@dv = $i<@dirs ? @{$dirs[$i]->{'values'}} : ();
	print "<tr $cb>\n";
	if ($squid_version >= 2.4) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><select name=cache_type_$i>\n";
		printf "<option value=ufs %s>$text{'ec_u'}\n",
			$dv[0] eq 'ufs' ? 'selected' : '';
		printf "<option value=diskd %s>$text{'ec_diskd'}\n",
			$dv[0] eq 'diskd' ? 'selected' : '';
		printf "<option value=aufs %s>$text{'ec_ua'}\n",
			$dv[0] eq 'aufs' ? 'selected' : '';
		print "</select></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[4]\"></td>\n";
		print "<td><input name=cache_opts_$i size=10 ",
		      "value=\"",join(" ",@dv[5..$#dv]),"\"></td>\n";
		}
	elsif ($squid_version >= 2.3) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><select name=cache_type_$i>\n";
		printf "<option value=ufs %s>$text{'ec_u'}\n",
			$dv[0] eq 'ufs' ? 'selected' : '';
		printf "<option value=asyncufs %s>$text{'ec_ua'}\n",
			$dv[0] eq 'asyncufs' ? 'selected' : '';
		print "</select></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[4]\"></td>\n";
		}
	elsif ($squid_version >= 2) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[0]\"></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		}
	else {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[0]\"></td>\n";
		}
	print "</tr>\n";
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &opt_input($text{'ec_1dirs1'}, "swap_level1_dirs", $conf,
			 $text{'ec_default'}, 6);
	print &opt_input($text{'ec_2dirs2'}, "swap_level2_dirs", $conf,
			 $text{'ec_default'}, 6);
	print "</tr>\n";
	}

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'ec_aos'}, "store_avg_object_size", $conf,
			 $text{'ec_default'}, 6, $text{'ec_kb'});
	}
else {
	print &opt_bytes_input($text{'ec_aos'}, "store_avg_object_size",
			       $conf, $text{'ec_default'}, 6);
	}
print &opt_input($text{'ec_opb'}, "store_objects_per_bucket", $conf,
		 $text{'ec_default'}, 6);
print "</tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &list_input($text{'ec_ncuc'}, "cache_stoplist",
			  $conf, 1, $text{'ec_default'});
	print "</tr>\n";

	print "<tr>\n";
	print &list_input($text{'ec_ncum'}, "cache_stoplist_pattern",
			  $conf, 1, $text{'ec_default'});
	print "</tr>\n";
	}
print "<tr> <td valign=top><b>$text{'ec_ncua'}</b></td> <td>\n";
@acls = grep { !$acldone{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
@v = &find_config("no_cache", $conf);
foreach $v (@v) {
	foreach $ncv (@{$v->{'values'}}) {
		$noca{$ncv}++;
		}
	}
foreach $acl (@acls) {
	$aclv = $acl->{'values'}->[0];
	printf "<input type=checkbox name=no_cache value=$aclv %s>$aclv\n",
		$noca{$aclv} ? "checked" : "";
	}
print "</td>\n";
print &opt_time_input($text{'ec_mct'}, "reference_age", $conf,
		      $text{'default'}, 6);
print "</tr>\n";

print "<tr>\n";
if ($squid_version >= 2) {
	if ($squid_version >= 2.3) {
		print &opt_bytes_input($text{'ec_mrbs'},
			"request_body_max_size", $conf, $text{'default'}, 6);
		print &opt_bytes_input($text{'ec_mrhs'},
			"request_header_max_size", $conf, $text{'default'}, 6);
		print "</tr>\n";

		print "<tr>\n";
		print &opt_bytes_input($text{'ec_mrbs1'},
			"reply_body_max_size", $conf, $text{'default'}, 6);
		}
	else {
		print &opt_bytes_input($text{'ec_mrs'}, "request_size",
				       $conf, $text{'default'}, 6);
		}
	print &opt_time_input($text{'ec_frct'},
			      "negative_ttl", $conf, $text{'default'}, 4);
	}
else {
	print &opt_input($text{'ec_mrs'}, "request_size", $conf,
			 $text{'default'}, 8, $text{'ec_kb'});
	print &opt_input($text{'ec_frct'}, "negative_ttl", $conf,
			 $text{'default'}, 4, $text{'ec_mins'});
	}
print "</tr>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'ec_dlct'}, "positive_dns_ttl", $conf,
			 $text{'default'}, 4, $text{'ec_mins'});
	print &opt_input($text{'ec_fdct'}, "negative_dns_ttl", $conf,
			 $text{'default'}, 4, $text{'ec_mins'});
	}
else {
	print &opt_time_input($text{'ec_dlct'}, "positive_dns_ttl",
			      $conf, $text{'default'}, 4);
	print &opt_time_input($text{'ec_fdct'}, "negative_dns_ttl",
			      $conf, $text{'default'}, 4);
	}
print "</tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &opt_input($text{'ec_ct'}, "connect_timeout", $conf,
			 $text{'default'}, 4, $text{'ec_secs'});
	print &opt_input($text{'ec_rt'}, "read_timeout", $conf,
			 $text{'default'}, 4, $text{'ec_secs'});
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'ec_mcct'}, "client_lifetime", $conf,
			 $text{'default'}, 4, $text{'ec_mins'});
	print &opt_input($text{'ec_mst'}, "shutdown_lifetime", $conf,
			 $text{'default'}, 4, $text{'ec_mins'});
	print "</tr>\n";
	}
else {
	print "<tr>\n";
	print &opt_time_input($text{'ec_ct'}, "connect_timeout", $conf,
			      $text{'default'}, 4);
	print &opt_time_input($text{'ec_rt'}, "read_timeout", $conf,
			      $text{'default'}, 4);
	print "<tr>\n";

	print "</tr>\n";
	print &opt_time_input($text{'ec_sst'}, "siteselect_timeout",
			      $conf, $text{'default'}, 4);
	print &opt_time_input($text{'ec_crt'}, "request_timeout",
			      $conf, $text{'default'}, 4);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_time_input($text{'ec_mcct'}, "client_lifetime",
			      $conf, $text{'default'}, 4);
	print &opt_time_input($text{'ec_mst'}, "shutdown_lifetime",
			      $conf, $text{'default'}, 4);
	print "</tr>\n";

	print "<tr>\n";
	print &choice_input($text{'ec_hcc'}, "half_closed_clients",
			    $conf, "on", $text{'on'}, "on", $text{'off'}, "off");
	print &opt_time_input($text{'ec_pt'}, "pconn_timeout",
			      $conf, $text{'default'}, 4);
	print "</tr>\n";
	}

if ($squid_version < 2) {
	print "<tr> <td><b>$text{'ec_wr'}</b></td> <td colspan=3>\n";
	$v = &find_config("wais_relay", $conf);
	printf "<input type=radio name=wais_relay_def value=1 %s> $text{'none'}\n",
		$v ? "" : "checked";
	printf "<input type=radio name=wais_relay_def value=0 %s> $text{'ec_host'}\n",
		$v ? "checked" : "";
	@wrv = $v ? @{$v->{'values'}} : ();
	print "<input size=20 name=wais_relay1 value=\"$wrv[0]\">&nbsp;$text{'ec_port'}\n";
	print "<input size=6 name=wais_relay2 value=\"$wrv[1]\"></td>\n";
	print "</tr>\n";
	}
else {
	print "<tr>\n";
	print &opt_input($text{'ec_wrh'}, "wais_relay_host",
			 $conf, $text{'none'}, 20);
	print &opt_input($text{'ec_wrp'}, "wais_relay_port",
			 $conf, $text{'default'}, 6);
	print "</tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'ec_return'});

   07070100046c50000081e40000000000000002000000013d1fe2d400001ba5000000200000000000000000000000000000002000000003reloc/squid/edit_cache_host.cgi   #!/usr/local/bin/perl
# edit_cache_host.cgi
# Display a form for editing or creating a cache_host line

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
$conf = &get_config();
$cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";
if ($in{'new'}) {
	&header($text{'ech_header'}, "", undef, 0, 0, 0, &restart_button());
	}
else {
	&header($text{'ech_header1'}, "", undef, 0, 0, 0, &restart_button());
	@chl = &find_config($cache_host, $conf);
	@ch = @{$chl[$in{'num'}]->{'values'}};
	for($i=4; $i<@ch; $i++) {
		if ($ch[$i] =~ /^(\S+)=(\S+)$/) { $opts{$1} = $2; }
		else { $opts{$ch[$i]} = 1; }
		}
	}
print "<hr>\n";

print "<form action=save_cache_host.cgi>\n";
if ($in{'new'}) { print "<input type=hidden name=new value=1>\n"; }
else { print "<input type=hidden name=num value=$in{'num'}>\n"; }
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'ech_cho'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'ech_h'}</b></td>\n";
print "<td><input name=host size=20 value=\"$ch[0]\"></td>\n";

%ts = (	"parent"=> $text{"ech_parent"},
	"sibling"=>$text{"ech_sibling"},
	"multicast"=>$text{"ech_multicast"} );
print "<td><b>$text{'ech_t'}</b></td>\n";
print "<td><select name=type>\n";
foreach $t (keys %ts) {
	printf "<option value=$t %s>$ts{$t}\n", $t eq $ch[1] ? "selected" : "";
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'ech_pp'}</b></td>\n";
print "<td><input name=proxy size=6 value=\"$ch[2]\"></td>\n";

print "<td><b>$text{'ech_ip'}</b></td>\n";
print "<td><input name=icp size=6 value=\"$ch[3]\"></td> </tr>\n";

print "<tr> <td><b>$text{'ech_po'}</b></td>\n";
printf "<td><input type=radio name=proxy-only value=1 %s> $text{'ech_y'}\n",
	$opts{'proxy-only'} ? "checked" : "";
printf "<input type=radio name=proxy-only value=0 %s> $text{'ech_n'}</td>\n",
	$opts{'proxy-only'} ? "" : "checked";

print "<td><b>$text{'ech_siq'}</b></td>\n";
printf "<td><input type=radio name=no-query value=0 %s> $text{'ech_y'}\n",
	$opts{'no-query'} ? "" : "checked";
printf "<input type=radio name=no-query value=1 %s> $text{'ech_n'}</td> </tr>\n",
	$opts{'no-query'} ? "checked" : "";

print "<tr> <td><b>$text{'ech_dc'}</b></td>\n";
printf "<td><input type=radio name=default value=1 %s> $text{'ech_y'}\n",
	$opts{'default'} ? "checked" : "";
printf "<input type=radio name=default value=0 %s> $text{'ech_n'}</td>\n",
	$opts{'default'} ? "" : "checked";

print "<td><b>$text{'ech_rrc'}</b></td>\n";
printf "<td><input type=radio name=round-robin value=1 %s> $text{'ech_y'}\n",
	$opts{'round-robin'} ? "checked" : "";
printf "<input type=radio name=round-robin value=0 %s> $text{'ech_n'}</td> </tr>\n",
	$opts{'round-robin'} ? "" : "checked";

print "<tr> <td><b>$text{'ech_ittl'}</b></td>\n";
printf "<td><input type=radio name=ttl_def value=1 %s> $text{'ech_d'}\n",
	$opts{'ttl'} ? "" : "checked";
printf "<input type=radio name=ttl_def value=0 %s>\n",
	$opts{'ttl'} ? "checked" : "";
print "<input name=ttl size=6 value=\"$opts{'ttl'}\"></td>\n";

print "<td><b>$text{'ech_cw'}</b></td>\n";
printf "<td><input type=radio name=weight_def value=1 %s> $text{'ech_d'}\n",
	$opts{'weight'} ? "" : "checked";
printf "<input type=radio name=weight_def value=0 %s>\n",
	$opts{'weight'} ? "checked" : "";
print "<input name=weight size=6 value=\"$opts{'weight'}\"></td> </tr>\n";

if ($squid_version >= 2) {
	print "<tr> <td><b>$text{'ech_co'}</b></td>\n";
	printf "<td><input type=radio name=closest-only value=1 %s> $text{'ech_y'}\n",
		$opts{'closest-only'} ? "checked" : "";
	printf "<input type=radio name=closest-only value=0 %s> $text{'ech_n'}</td>\n",
		$opts{'closest-only'} ? "" : "checked";

	print "<td><b>$text{'ech_nd'}</b></td>\n";
	printf "<td><input type=radio name=no-digest value=1 %s> $text{'ech_y'}\n",
		$opts{'no-digest'} ? "checked" : "";
	printf "<input type=radio name=no-digest value=0 %s> $text{'ech_n'}</td> </tr>\n",
		$opts{'no-digest'} ? "" : "checked";

	print "<tr> <td><b>$text{'ech_nne'}</b></td>\n";
	printf "<td><input type=radio name=no-netdb-exchange value=1 %s> $text{'ech_y'}\n",
		$opts{'no-netdb-exchange'} ? "checked" : "";
	printf "<input type=radio name=no-netdb-exchange value=0 %s> $text{'ech_n'}</td>\n",
		$opts{'no-netdb-exchange'} ? "" : "checked";

	print "<td><b>$text{'ech_nd1'}</b></td>\n";
	printf "<td><input type=radio name=no-delay value=1 %s> $text{'ech_y'}\n",
		$opts{'no-delay'} ? "checked" : "";
	printf "<input type=radio name=no-delay value=0 %s> $text{'ech_n'}</td> </tr>\n",
		$opts{'no-delay'} ? "" : "checked";

	if ($squid_version >= 2.1) {
		local $mode = $opts{'login'} eq 'PASS' ? 2 :
			      $opts{'login'} =~ /^\*:\S+$/ ? 3 :
			      $opts{'login'} ? 1 : 0;
		local @up = split(/:/, $opts{'login'});
		print "<tr> <td valign=top><b>$text{'ech_ltp'}</b></td>\n";
		print "<td colspan=3>\n";
		printf "<input type=radio name=login value=0 %s> $text{'ech_nl'}<br>\n",
			$mode == 0 ? "checked" : "";
		printf "<input type=radio name=login value=1 %s>\n",
			$mode == 1 ? "checked" : "";
		printf "$text{'ech_u'} <input name=login_user size=15 value=\"%s\">\n", $mode == 1 ? $up[0] : "";
			
		printf "$text{'ech_p'} <input name=login_pass size=15 value=\"%s\"><br>\n", $mode == 1 ? $up[1] : "";
		if ($squid_version >= 2.5 || $mode > 1) {
			printf "<input type=radio name=login value=2 %s> %s<br>\n",
				$mode == 2 ? "checked" : "",
				$text{'ech_pass'};
			printf "<input type=radio name=login value=3 %s> %s\n",
				$mode == 3 ? "checked" : "",
				$text{'ech_upass'};
			printf "<input name=login_pass2 size=15 value=\"%s\">\n",
				$mode == 3 ? $up[1] : "";
			}
		print "</td> </tr>\n";
		}
	}

print "<tr> <td><b>$text{'ech_mr'}</b></td>\n";
printf "<td><input type=radio name=multicast-responder value=1 %s> $text{'ech_y'}\n",
	$opts{'multicast-responder'} ? "checked" : "";
printf "<input type=radio name=multicast-responder value=0 %s> $text{'ech_n'}</td>\n",
	$opts{'multicast-responder'} ? "" : "checked";
print "</tr>\n";


if (!$in{'new'}) {
	@chd = &find_config($cache_host."_domain", $conf);
	foreach $chd (@chd) {
		@chdv = @{$chd->{'values'}};
		if ($chdv[0] eq $ch[0]) {
			# found a record for this host..
			for($i=1; $i<@chdv; $i++) {
				if ($chdv[$i] =~ /^\!(\S+)$/) {
					push(@dontq, $1);
					}
				else { push(@doq, $chdv[$i]); }
				}
			}
		}
	}
print "<tr> <td valign=top><b>$text{'ech_qhfd'}</b></td>\n";
print "<td><textarea name=doq rows=6 cols=25>",join("\n", @doq),
      "</textarea></td>\n";
print "<td valign=top><b>$text{'ech_dqfd'}</b></td>\n";
print "<td><textarea name=dontq rows=6 cols=25>",join("\n", @dontq),
      "</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value=$text{'ech_buttsave'}></td> <td align=right>\n";
if (!$in{'new'}) { print "<input type=submit value=$text{'ech_buttdel'} name=delete>\n"; }
print "</td></tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("edit_icp.cgi", $text{'ech_return'},
	"", $text{'index_return'});

   07070100046c51000081e40000000000000002000000013d1fe2d400001646000000200000000000000000000000000000001900000003reloc/squid/edit_icp.cgi  #!/usr/local/bin/perl
# edit_icp.cgi
# A form for editing options for communication with other caches

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&header($text{'eicp_header'}, "", "edit_icp", 0, 0, 0, &restart_button());
$conf = &get_config();
$cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";

print "<hr><p>\n";
@ch = &find_config($cache_host, $conf);
if (@ch) {
	print "<h3>$text{'eicp_opcs'}</h3>\n";
	$mid = int((@ch+1)/2);
	print "<table width=100%><tr> <td width=50% valign=top>\n";
	&cache_table(0, $mid-1);
	print "</td><td width=50% valign=top>\n";
	if ($mid < @ch) { &cache_table($mid, $#ch); }
	print "</td> </tr></table>\n";
	}
else { print "<b>$text{'eicp_nocd'}</b>.<p>\n"; }
print "<a href=\"edit_cache_host.cgi?new=1\">$text{'eicp_aac'}</a><p>\n";

print "<hr>\n";
print "<form action=save_icp.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eicp_cso'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &list_input($text{'eicp_fdfd'}, "local_domain", $conf);
	print &address_input($text{'eicp_fdfi'}, "local_ip", $conf);
	print "</tr>\n";

	print "<tr>\n";
	print &list_input($text{'eicp_dif'}, "inside_firewall", $conf);
	print &address_input($text{'eicp_iif'}, "firewall_ip", $conf);
	print "</tr>\n";
	}

print "<tr>\n";
print &list_input($text{'eicp_dfuc'}, "hierarchy_stoplist",
		  $conf, 1, $text{'default'});
print "</tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &choice_input($text{'eicp_bpfsp'},
			    "single_parent_bypass",
			    $conf, "off", $text{'yes'}, "on", $text{'no'}, "off");
	print &choice_input($text{'eicp_ssip'}, "source_ping", $conf, "off",
			    $text{'yes'}, "on", $text{'no'}, "off");
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eicp_crt'}, "neighbor_timeout", $conf,
			 $text{'default'}, 4, $text{'eicp_secs'});
	print "</tr>\n";
	}
else {
	print "<tr>\n";
	print &opt_input($text{'eicp_iqt'}, "icp_query_timeout", $conf,
			 $text{'default'}, 8, "ms");
	print &opt_input($text{'eicp_mit'}, "mcast_icp_query_timeout",
			 $conf, $text{'default'}, 8, "ms");
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eicp_dpt'}, "dead_peer_timeout", $conf,
			 $text{'default'}, 8, $text{'eicp_secs'});
	print "</tr>\n";
	}

if ($squid_version >= 2.3) {
	# Display always/never_direct options
	print "<tr> <td colspan=4><hr></td> </tr>\n";

	print "<tr> <td colspan=2 valign=top width=50%>\n";
	@always = &find_config("always_direct", $conf);
	if (@always) {
		print "<b>$text{'eicp_always'}</b><p>\n";
		print "<table border>\n";
		print "<tr $tb><td width=10%><b>$text{'eacl_act'}</b></td>\n";
		print "<td><b>$text{'eacl_acls1'}</b></td>\n";
		print "<td width=10%><b>$text{'eacl_move'}</b></td> </tr>\n";
		$hc = 0;
		foreach $h (@always) {
			@v = @{$h->{'values'}};
			if ($v[0] eq "allow") {
				$v[0] = $text{'eacl_allow'};
			} else {
				$v[0] = $text{'eacl_deny'};
			}
			print "<tr $cb>\n";
			print "<td><a href=\"always.cgi?index=$h->{'index'}\">",
			      "$v[0]</a></td>\n";
			print "<td>",&html_escape(join(' ', @v[1..$#v])),
			      "</td>\n";
			print "<td>\n";
			if ($hc != @always-1) {
				print "<a href=\"move_always.cgi?$hc+1\">",
				      "<img src=images/down.gif border=0></a>";
				}
			else { print "<img src=images/gap.gif>"; }
			if ($hc != 0) {
				print "<a href=\"move_always.cgi?$hc+-1\">",
				      "<img src=images/up.gif border=0></a>";
				}
			print "</td></tr>\n";
			$hc++;
			}
		print "</table>\n";
		}
	else {
		print "<b>$text{'eicp_noalways'}</b><p>\n";
		}
	print "<a href=always.cgi?new=1>$text{'eicp_addalways'}</a>\n";

	print "</td> <td colspan=2 valign=top width=50%>\n";
	@never = &find_config("never_direct", $conf);
	if (@never) {
		print "<b>$text{'eicp_never'}</b><p>\n";
		print "<table border>\n";
		print "<tr $tb><td width=10%><b>$text{'eacl_act'}</b></td>\n";
		print "<td><b>$text{'eacl_acls1'}</b></td>\n";
		print "<td width=10%><b>$text{'eacl_move'}</b></td> </tr>\n";
		$hc = 0;
		foreach $h (@never) {
			@v = @{$h->{'values'}};
			if ($v[0] eq "allow") {
				$v[0] = $text{'eacl_allow'};
			} else {
				$v[0] = $text{'eacl_deny'};
			}
			print "<tr $cb>\n";
			print "<td><a href=\"never.cgi?index=$h->{'index'}\">",
			      "$v[0]</a></td>\n";
			print "<td>",&html_escape(join(' ', @v[1..$#v])),
			      "</td>\n";
			print "<td>\n";
			if ($hc != @never-1) {
				print "<a href=\"move_never.cgi?$hc+1\">",
				      "<img src=images/down.gif border=0></a>";
				}
			else { print "<img src=images/gap.gif>"; }
			if ($hc != 0) {
				print "<a href=\"move_never.cgi?$hc+-1\">",
				      "<img src=images/up.gif border=0></a>";
				}
			print "</td></tr>\n";
			$hc++;
			}
		print "</table>\n";
		}
	else {
		print "<b>$text{'eicp_nonever'}</b><p>\n";
		}
	print "<a href=never.cgi?new=1>$text{'eicp_addnever'}</a>\n";
	print "</td> </tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'eicp_return'});

# cache_table(start, end)
sub cache_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>Hostname</b></td> <td><b>Type</b></td>\n";
print "<td><b>Proxy port</b></td> <td><b>ICP port</b></td> </tr>\n";
for($i=$_[0]; $i<=$_[1]; $i++) {
	@chv = @{$ch[$i]->{'values'}};
	print "<tr $cb>\n";
	print "<td><a href=\"edit_cache_host.cgi?num=$i\">",
	      &html_escape($chv[0]),"</a></td>\n";
	print "<td>",&html_escape($chv[1]),"</td>\n";
	print "<td>",&html_escape($chv[2]),"</td>\n";
	print "<td>",&html_escape($chv[3]),"</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
}

  07070100046c52000081e40000000000000002000000013d1fe2d400000b76000000200000000000000000000000000000001a00000003reloc/squid/edit_logs.cgi #!/usr/local/bin/perl
# edit_logs.cgi
# A form for editing logging options

require './squid-lib.pl';
$access{'logging'} || &error($text{'elogs_ecannot'});
&header($text{'elogs_header'}, "", "edit_logs", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_logs.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'elogs_lalo'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &opt_input($text{'elogs_alf'}, "cache_access_log", $conf, $text{'default'}, 20);
print &opt_input($text{'elogs_dlf'}, "cache_log", $conf, $text{'default'}, 20);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'elogs_slf'}, "cache_store_log", $conf, $text{'default'}, 20);
print &opt_input($text{'elogs_cmf'}, "cache_swap_log", $conf, $text{'default'}, 20);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'elogs_uhlf'}, "emulate_httpd_log", $conf,
		    "off", $text{'yes'}, "on", $text{'no'}, "off");
print &choice_input($text{'elogs_lmh'}, "log_mime_hdrs", $conf,
		    "off", $text{'yes'}, "on", $text{'no'}, "off");
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'elogs_ualf'}, "useragent_log", $conf, $text{'none'}, 20);
print &opt_input($text{'elogs_pf'}, "pid_filename", $conf, $text{'default'}, 20);
print "</tr>\n";

if ($squid_version >= 2.2) {
	@ident = &find_config("ident_lookup_access", $conf);
	foreach $i (@ident) {
		local @v = @{$i->{'values'}};
		if ($v[0] eq "allow") { map { $ila{$_}++ } @v[1..$#v]; }
		elsif ($v[0] eq "deny" && $v[1] ne "all") { $bad_ident++; }
		}
	if (!$bad_ident) {
		print "<tr><td valign=top><b>$text{'elogs_prilfa'}</b></td> <td colspan=3>\n";
		@acls = &find_config("acl", $conf);
		foreach $acl (@acls) {
			$aclv = $acl->{'values'}->[0];
			printf "<input type=checkbox name=ident_lookup_access ".
			       "value=$aclv %s>$aclv\n",
				$ila{$aclv} ? "checked" : "";
			}
		print "</td> </tr>\n";
		}
	else { print "<input type=hidden name=complex_ident value=1>\n"; }
	print "<tr>\n";
	print &opt_time_input($text{'elogs_rit'}, "ident_timeout",
			      $conf, $text{'default'}, 6);
	}
else {
	print "<tr>\n";
	print &choice_input($text{'elogs_dril'}, "ident_lookup", $conf,
			    "off", $text{'yes'}, "on", $text{'no'}, "off");
	}
print &choice_input($text{'elogs_lfh'}, "log_fqdn", $conf,
		    "off", $text{'yes'}, "on", $text{'no'}, "off");
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'elogs_ln'}, "client_netmask", $conf, $text{'default'}, 15);
print &opt_input($text{'elogs_do'}, "debug_options", $conf, $text{'default'}, 15);
print "</tr>\n";

if ($squid_version >= 2) {
	print "<tr>\n";
	print &opt_input($text{'elogs_mht'}, "mime_table",
			 $conf, $text{'default'}, 20);
	print "</tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'elogs_return'});

  07070100046c56000081e40000000000000002000000013d1fe2d400000a79000000200000000000000000000000000000001900000003reloc/squid/edit_mem.cgi  #!/usr/local/bin/perl
# edit_mem.cgi
# A form for editing memory usage options

require './squid-lib.pl';
$access{'musage'} || &error($text{'emem_ecannot'});
&header($text{'emem_header'}, "", "edit_mem", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_mem.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'emem_maduo'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'emem_mul'}, "cache_mem", $conf,
			 $text{'default'}, 6, $text{'emem_mb'});
	print &opt_input($text{'emem_dul'}, "cache_swap",
			 $conf, $text{'default'}, 6, $text{'emem_mb'});
	}
else {
	print &opt_bytes_input($text{'emem_mul'}, "cache_mem", $conf,
			       $text{'default'}, 6);
	print &opt_input($text{'emem_fcs'}, "fqdncache_size", $conf,
			 $text{'default'}, 8);
	}
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'emem_mhwm'}, "cache_mem_high", $conf,
		 $text{'default'}, 4, "%");
print &opt_input($text{'emem_mlwm'}, "cache_mem_low", $conf,
		 $text{'default'}, 4, "%");
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'emem_dhwm'}, "cache_swap_high", $conf,
		 $text{'default'}, 4, "%");
print &opt_input($text{'emem_dlwm'}, "cache_swap_low", $conf,
		 $text{'default'}, 4, "%");
print "</tr>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'emem_mcos'}, "maximum_object_size",
			 $conf, $text{'default'}, 8, $text{'emem_kb'});
	}
else {
	print &opt_bytes_input($text{'emem_mcos'},
			       "maximum_object_size", $conf, $text{'default'}, 6);
	}
print &opt_input($text{'emem_iacs'}, "ipcache_size", $conf,
		 $text{'default'}, 6, $text{'emem_e'});
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'emem_ichwm'}, "ipcache_high", $conf,
		 $text{'default'}, 4, "%");
print &opt_input($text{'emem_iclwm'}, "ipcache_low", $conf,
		 $text{'default'}, 4, "%");
print "</tr>\n";

if ($squid_version >= 2.4) {
	print "<tr>\n";
	print &select_input($text{'emem_crp'}, "cache_replacement_policy", $conf, '',
			    $text{'default'}, '', $text{'emem_lru'}, 'lru',
			    $text{'emem_gdsf'}, 'heap GDSF', $text{'emem_lfuda'}, 'heap LFUDA',
			    $text{'emem_hlru'}, 'heap LRU');
	print &select_input($text{'emem_mrp'}, "memory_replacement_policy", $conf, '',
			    $text{'default'}, '', $text{'emem_lru'}, 'lru',
			    $text{'emem_gdsf'}, 'heap GDSF', $text{'emem_lfuda'}, 'heap LFUDA',
			    $text{'emem_hlru'}, 'heap LRU');
	print "</tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'emem_return'});

   07070100046c57000081e40000000000000002000000013d1fe2d400001116000000200000000000000000000000000000001a00000003reloc/squid/edit_misc.cgi #!/usr/local/bin/perl
# edit_misc.cgi
# A form for edit misc options

require './squid-lib.pl';
$access{'miscopt'} || &error($text{'emisc_ecannot'});
&header($text{'emisc_header'}, "", "edit_misc", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_misc.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'emisc_mo'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
print &opt_input($text{'emisc_sdta'}, "dns_testnames", $conf,
		 $text{'default'}, 40);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'emisc_slr'}, "logfile_rotate", $conf,
		 $text{'default'}, 6);
print &opt_input($text{'emisc_dd'}, "append_domain", $conf, $text{'none'}, 10);
print "</tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &opt_input($text{'emisc_sp'}, "ssl_proxy", $conf, $text{'none'}, 15);
	print &opt_input($text{'emisc_nghp'}, "passthrough_proxy",
			 $conf, $text{'none'}, 15);
	print "</tr>\n";
	}

print "<tr>\n";
print &opt_input($text{'emisc_emt'}, "err_html_text", $conf, $text{'none'}, 40);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'emisc_pcs'}, "client_db", $conf,
		    "on", $text{'yes'}, "on", $text{'no'}, "off");
print &choice_input($text{'emisc_xffh'}, "forwarded_for", $conf,
		    "on", $text{'yes'}, "on", $text{'no'}, "off");
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'emisc_liq'}, "log_icp_queries", $conf,
		    "on", $text{'yes'}, "on", $text{'no'}, "off");
print &opt_input($text{'emisc_mdh'}, "minimum_direct_hops", $conf,
		 $text{'default'}, 6);
print "</tr>\n";

print "<tr>\n";
print &choice_input($text{'emisc_kmffu'}, "memory_pools", $conf,
		    "on", $text{'yes'}, "on", $text{'no'}, "off");
if ($squid_version >= 2) {
	print &opt_bytes_input($text{'emisc_aomtk'}, "memory_pools_limit",
			       $conf, $text{'emisc_u'}, 6);
	}
print "</tr>\n";

print "<tr>\n";
if ($squid_version >= 2.2) {
	foreach $a (&find_config("anonymize_headers", $conf)) {
		@ap = @{$a->{'values'}};
		$anon = shift(@ap);
		push(@anon, @ap);
		}
	print "<td valign=top><b>$text{'emisc_htpt'}</b></td> ",
	      "<td colspan=3>\n";
	printf "<input type=radio name=anon_mode value=0 %s> $text{'emisc_ah'}<br>\n",
		$anon ? "" : "checked";
	printf "<input type=radio name=anon_mode value=1 %s> $text{'emisc_oh'}\n",
		$anon eq "allow" ? "checked" : "";
	printf "<input name=anon_allow size=50 value='%s'><br>\n",
		$anon eq "allow" ? join(" ", @anon) : "";
	printf "<input type=radio name=anon_mode value=2 %s> $text{'emisc_ae'}\n",
		$anon eq "deny" ? "checked" : "";
	printf "<input name=anon_deny size=50 value='%s'>\n",
		$anon eq "deny" ? join(" ", @anon) : "";
	print "</td> </tr> <tr>\n";
	}
else {
	print &choice_input($text{'emisc_a'}, "http_anonymizer", $conf,
			    "off", $text{'emisc_off'}, "off", 
				$text{'emisc_std'}, "standard",
			    $text{'emisc_par'}, "paranoid");
	}
print &opt_input($text{'emisc_fua'}, "fake_user_agent", $conf, $text{'none'}, 15);

print "</tr><tr>\n";
print &opt_input($text{'emisc_hah'}, "httpd_accel_host", $conf,
                 $text{'default'}, 50);
print "</tr><tr>\n";
print &opt_input($text{'emisc_hap'}, "httpd_accel_port", $conf,
                 $text{'default'}, 10);
if ($squid_version >= 2.5) {
	print &choice_input($text{'emisc_hash'}, "httpd_accel_single_host", 
			  $conf, "off", $text{'yes'}, "on", $text{'no'}, "off");
	}
print "</tr><tr>\n";
print &choice_input($text{'emisc_hawp'}, "httpd_accel_with_proxy",
                  $conf, "off", $text{'on'}, "on", $text{'off'}, "off");
print &choice_input($text{'emisc_hauhh'}, "httpd_accel_uses_host_header", 
                  $conf, "off", $text{'yes'}, "on", $text{'no'}, "off");
print "</tr><tr>\n";

if ( $squid_version >= 2.3) {
        print &opt_input($text{'emisc_wccprtr'}, "wccp_router", $conf,
                         $text{'default'}, 35);
        print "</tr><tr>\n";
        print &opt_input($text{'emisc_wccpin'}, "wccp_incoming_address",
			 $conf, $text{'default'}, 35);
        print "</tr><tr>\n";
        print &opt_input($text{'emisc_wccpout'}, "wccp_outgoing_address",
			 $conf, $text{'default'}, 35);
        print "</tr><tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";
print "<hr>\n";
&footer("", $text{'emisc_return'});

  07070100046c58000081e40000000000000002000000013d1fe2d400000589000000200000000000000000000000000000001b00000003reloc/squid/edit_nauth.cgi    #!/usr/local/bin/perl
# edit_nauth.cgi
# Display a list of proxy users

require './squid-lib.pl';
if ($config{'crypt_conf'} == 1) {
	eval "use MD5";
	if ($@) {
        	&error(&text('eauth_nomd5', $module_name));
		}
	}

$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&header($text{'eauth_header'}, "", undef, 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

$authprog = &find_value("authenticate_program", $conf);
if ($authprog =~ /(\S+)\s+(\/\S+)$/) {
	$authfile = $2;
	}

print &text('eauth_nmsgaccess', "<tt>$authfile</tt>"),"<p>\n";
@users = &list_auth_users($authfile);
if (@users) {
	print "<a href=\"edit_nuser.cgi?new=1\">$text{'eauth_addpuser'}</a><br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'eauth_pusers'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	for($i=0; $i<@users; $i++) {
		local ($it, $unit) = $users[$i]->{'enabled'} ? ('', '') :
					('<i>', '</i>');
		print "<tr>\n" if ($i%4 == 0);
		print "<td width=25%><a href=\"edit_nuser.cgi?",
		      "index=$i\">$it$users[$i]->{'user'}$unit</a></td>\n";
		print "</tr>\n" if ($i%4 == 3);
		}
	while($i++%4) { print "<td width=25%></td>\n"; }
	print "</table></td></tr></table>\n";
	}
else {
	print "<b>$text{'eauth_nopusers'}</b> <p>\n";
	}
print "<a href=\"edit_nuser.cgi?new=1\">$text{'eauth_addpuser'}</a><p>\n";

print "<hr>\n";
&footer("", $text{'eauth_return'});

   07070100046c59000081e40000000000000002000000013d1fe2d40000076d000000200000000000000000000000000000001b00000003reloc/squid/edit_nuser.cgi    #!/usr/local/bin/perl
# edit_user.cgi
# A form for adding or editing a squid user

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
if ($in{'new'}) {
	&header($text{'euser_header'}, "");
	}
else {
	&header($text{'euser_header1'}, "");
	$conf = &get_config();
	$authprog = &find_value("authenticate_program", $conf);
	if ($authprog =~ /(\S+)\s+(\/\S+)$/) {
		@users = &list_auth_users($2);
		%user = %{$users[$in{'index'}]};
		}
	}
print "<hr>\n";

print "<form action=save_nuser.cgi>\n";
print "<input type=hidden name=index value=$in{'index'}>\n";
print "<input type=hidden name=new value=$in{'new'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'euser_pud'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'euser_u'}</b></td>\n";
print "<td><input name=user size=25 value=\"$user{'user'}\"></td> </tr>\n";

print "<tr> <td><b>$text{'euser_p'}</b></td> <td>\n";
if (%user) {
	print "<input type=radio name=pass_def value=1 checked> $text{'euser_u1'}\n";
	print "<input type=radio name=pass_def value=0>\n";
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}
else {
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}

print "<tr> <td><b>$text{'euser_e'}</b></td>\n";
printf "<td><input type=radio name=enabled value=1 %s> %s\n",
	$user{'enabled'} || !%user ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=enabled value=0 %s> %s</td> </tr>\n",
	$user{'enabled'} || !%user ? '' : 'checked', $text{'no'};

print "</table></td></tr></table>\n";
if (%user) {
	print "<input type=submit value=\"$text{'save'}\">\n";
	print "<input type=submit name=delete value=\"$text{'delete'}\">\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\">\n";
	}
print "</form>\n";

print "<hr>\n";
&footer("edit_nauth.cgi", $text{'euser_return'},
	"", $text{'index_return'});

   07070100046c5a000081e40000000000000002000000013d1fe2d40000097e000000200000000000000000000000000000001b00000003reloc/squid/edit_ports.cgi    #!/usr/local/bin/perl
# edit_ports.cgi
# A form for editing ports and other networking options

require './squid-lib.pl';
$access{'portsnets'} || &error($text{'eports_ecannot'});
&header($text{'eports_header'}, "", "edit_ports", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_ports.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eports_pano'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
if ($squid_version >= 2.3) {
	print "<td valign=top><b>$text{'eports_paap'}</b></td>\n";
	print "<td colspan=3><table border>\n";
	print "<tr $tb> <td><b>$text{'eports_p'}</b></td>\n",
	      "<td><b>$text{'eports_hia'}</b></td> </tr>\n";
	foreach $p (&find_config('http_port', $conf)) {
		push(@ports, @{$p->{'values'}});
		}
	$i = 0;
	foreach $p (@ports, '') {
		print "<tr $cb>\n";
		printf "<td><input name=port_$i size=6 value='%s'></td> <td>\n",
			$p =~ /(\d+)$/ ? $1 : '';
		printf "<input type=radio name=addr_def_$i value=1 %s> All\n",
			$p =~ /:/ ? '' : 'checked';
		printf "<input type=radio name=addr_def_$i value=0 %s>\n",
			$p =~ /:/ ? 'checked' : '';
		printf "<input name=addr_$i size=20 value='%s'></td>\n",
			$p =~ /^(\S+):/ ? $1 : '';
		print "</tr>\n";
		$i++;
		}

	print "</table></td></tr>\n";
	print "<tr>\n";
	print &opt_input($text{'eports_ip'}, "icp_port", 
				$conf, $text{'default'}, 6);
	}
else {
	print &opt_input($text{'eports_pp'}, "http_port", 
				$conf, $text{'default'}, 6);
	print &opt_input($text{'eports_ip'}, "icp_port", 
				$conf, $text{'default'}, 6);
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eports_ita'}, "tcp_incoming_address",
			 $conf, $text{'eports_a'}, 15);
	}

print &opt_input($text{'eports_ota'}, "tcp_outgoing_address",
		 $conf, $text{'eports_a'}, 15);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eports_oua'}, "udp_outgoing_address",
		 $conf, $text{'eports_a'}, 15);
print &opt_input($text{'eports_iua'}, "udp_incoming_address",
		 $conf, $text{'eports_a'}, 15);
print "</tr>\n";

print "<tr>\n";
print &address_input($text{'eports_mg'}, "mcast_groups", $conf, 0);
print &opt_input($text{'eports_trb'}, "tcp_recv_bufsize", $conf,
		 $text{'eports_od'}, 6);
print "</tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'eports_return'});

  07070100046c5b000081e40000000000000002000000013d1fe2d400000c6f000000200000000000000000000000000000001b00000003reloc/squid/edit_progs.cgi    #!/usr/local/bin/perl
# edit_progs.cgi
# A form for editing helper program options

require './squid-lib.pl';
$access{'hprogs'} || &error($text{'eprogs_ecannot'});
&header($text{'eprogs_header'}, "", "edit_progs", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_progs.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eprogs_chpo'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'eprogs_sfp'}, "ftpget_program", $conf,
			 $text{'default'}, 40, &file_chooser_button("ftpget_program"));
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eprogs_fo'}, "ftpget_options", $conf, $text{'default'}, 15);
	}
else {
	print &opt_input($text{'eprogs_fcv'}, "ftp_list_width", $conf,
			 $text{'default'}, 6, $text{'eprogs_c'});
	}
print &opt_input($text{'eprogs_afl'}, "ftp_user", $conf, $text{'default'}, 15);
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eprogs_sdp'}, "cache_dns_program", $conf, $text{'default'}, 40,
		 &file_chooser_button("cache_dns_program"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eprogs_nodp'}, "dns_children", $conf, $text{'default'}, 5);
print &choice_input($text{'eprogs_adtr'}, "dns_defnames", $conf, "off",
		    $text{'yes'}, "on", $text{'no'}, "off");
print "</tr>\n";

if ($squid_version >= 2) {
	print "<tr>\n";
	print &opt_input($text{'eprogs_dsa'}, "dns_nameservers", $conf,
			 $text{'eprogs_fr'}, 35);
	print "</tr>\n";
	}

print "<tr>\n";
print &opt_input($text{'eprogs_ccp'}, "unlinkd_program", $conf,
		 $text{'default'}, 40, &file_chooser_button("unlinkd_program"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eprogs_spp'}, "pinger_program", $conf,
		 $text{'default'}, 40, &file_chooser_button("pinger_program"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eprogs_crp'}, "redirect_program", $conf,
		 $text{'none'}, 40, &file_chooser_button("redirect_program"));
print "</tr>\n";

print "<tr>\n";
print &opt_input($text{'eprogs_norp'}, "redirect_children", $conf,
		 $text{'default'}, 6);
print "</tr>\n";

if ($squid_version >= 2) {
	print "<tr>\n";
	local $v = &find_config("authenticate_program", $conf);
	print "<td valign=top><b>$text{'eprogs_cap'}</b></td>\n";
	print "<td nowrap colspan=3>\n";
	local $m = !$v ? 0 :
		   $v->{'value'} =~ /^(\S+)/ && $1 eq $auth_program ? 2 : 1;
	printf "<input type=radio name=auth_mode value=0 %s> %s\n",
		$m == 0 ? "checked" : "", $text{'none'};
	printf "<input type=radio name=auth_mode value=2 %s> %s\n",
		$m == 2 ? "checked" : "", $text{'eprogs_capweb'};
	printf "<input type=radio name=auth_mode value=1 %s>\n",
		$m == 1 ? "checked" : "";
	printf "<input name=auth size=40 value='%s'> %s</td>\n",
		$m == 1 ? $v->{'value'} : "", &file_chooser_button("auth");
	print "</tr>\n";

	print "<tr>\n";
	print &opt_input($text{'eprogs_noap'},
			 "authenticate_children", $conf, $text{'default'}, 6);
	print "</tr>\n";
	}

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'eprogs_return'});

 07070100046c5c000081e40000000000000002000000013d1fe2d400001398000000200000000000000000000000000000001a00000003reloc/squid/edit_smem.cgi #!/usr/local/bin/perl
# edit_smem.cgi
# A form for editing simple memory and disk usage options

require './squid-lib.pl';
$access{'musage'} || &error($text{'emem_ecannot'});
&header($text{'emem_dheader'}, "", "", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_smem.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'emem_maduo'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'emem_mul'}, "cache_mem", $conf,
			 $text{'default'}, 6, $text{'emem_mb'});
	print &opt_input($text{'emem_dul'}, "cache_swap",
			 $conf, $text{'default'}, 6, $text{'emem_mb'});
	}
else {
	print &opt_bytes_input($text{'emem_mul'}, "cache_mem", $conf,
			       $text{'default'}, 6);
	print &opt_input($text{'emem_fcs'}, "fqdncache_size", $conf,
			 $text{'default'}, 8);
	}
print "</tr>\n";

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'emem_mcos'}, "maximum_object_size",
			 $conf, $text{'default'}, 8, $text{'emem_kb'});
	}
else {
	print &opt_bytes_input($text{'emem_mcos'},
			       "maximum_object_size", $conf, $text{'default'}, 6);
	}
print &opt_input($text{'emem_iacs'}, "ipcache_size", $conf,
		 $text{'default'}, 6, $text{'emem_e'});
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr>\n";
@dirs = &find_config("cache_dir", $conf);
print "<td valign=top><b>$text{'ec_cdirs'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=cache_dir_def value=1 %s>$text{'ec_default'}\n",
	@dirs ? "" : "checked";
printf "<input type=radio name=cache_dir_def value=0 %s>$text{'ec_listed'}<br>\n",
	@dirs ? "checked" : "";
print "<table border>\n";
if ($squid_version >= 2) {
	print "<tr $tb> <td><b>$text{'ec_directory'}</b></td>\n";
	if ($squid_version >= 2.3) {
		print "<td><b>$text{'ec_type'}</b></td>\n";
		}
	print "<td><b>$text{'ec_size'}</b></td>\n";
	print "<td><b>$text{'ec_1dirs'}</b></td>\n";
	print "<td><b>$text{'ec_2dirs'}</b></td>\n";
	if ($squid_version >= 2.4) {
		print "<td><b>$text{'ec_opts'}</b></td>\n";
		}
	print "</tr>\n";
	}
for($i=0; $i<=@dirs; $i++) {
	@dv = $i<@dirs ? @{$dirs[$i]->{'values'}} : ();
	print "<tr $cb>\n";
	if ($squid_version >= 2.4) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><select name=cache_type_$i>\n";
		printf "<option value=ufs %s>$text{'ec_u'}\n",
			$dv[0] eq 'ufs' ? 'selected' : '';
		printf "<option value=diskd %s>$text{'ec_diskd'}\n",
			$dv[0] eq 'diskd' ? 'selected' : '';
		printf "<option value=aufs %s>$text{'ec_ua'}\n",
			$dv[0] eq 'aufs' ? 'selected' : '';
		print "</select></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[4]\"></td>\n";
		print "<td><input name=cache_opts_$i size=10 ",
		      "value=\"",join(" ",@dv[5..$#dv]),"\"></td>\n";
		}
	elsif ($squid_version >= 2.3) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><select name=cache_type_$i>\n";
		printf "<option value=ufs %s>$text{'ec_u'}\n",
			$dv[0] eq 'ufs' ? 'selected' : '';
		printf "<option value=asyncufs %s>$text{'ec_ua'}\n",
			$dv[0] eq 'asyncufs' ? 'selected' : '';
		print "</select></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[4]\"></td>\n";
		}
	elsif ($squid_version >= 2) {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[0]\"></td>\n";
		print "<td><input name=cache_size_$i size=8 ",
		      "value=\"$dv[1]\"></td>\n";
		print "<td><input name=cache_lv1_$i size=8 ",
		      "value=\"$dv[2]\"></td>\n";
		print "<td><input name=cache_lv2_$i size=8 ",
		      "value=\"$dv[3]\"></td>\n";
		}
	else {
		print "<td><input name=cache_dir_$i size=30 ",
		      "value=\"$dv[0]\"></td>\n";
		}
	print "</tr>\n";
	}
print "</table></td> </tr>\n";

if ($squid_version < 2) {
	print "<tr>\n";
	print &opt_input($text{'ec_1dirs1'}, "swap_level1_dirs", $conf,
			 $text{'ec_default'}, 6);
	print &opt_input($text{'ec_2dirs2'}, "swap_level2_dirs", $conf,
			 $text{'ec_default'}, 6);
	print "</tr>\n";
	}

print "<tr>\n";
if ($squid_version < 2) {
	print &opt_input($text{'ec_aos'}, "store_avg_object_size", $conf,
			 $text{'ec_default'}, 6, $text{'ec_kb'});
	}
else {
	print &opt_bytes_input($text{'ec_aos'}, "store_avg_object_size",
			       $conf, $text{'ec_default'}, 6);
	}
print &opt_input($text{'ec_opb'}, "store_objects_per_bucket", $conf,
		 $text{'ec_default'}, 6);
print "</tr>\n";



print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'emem_return'});

07070100046c5d000081e40000000000000002000000013d1fe2d40000097a000000200000000000000000000000000000001c00000003reloc/squid/edit_sports.cgi   #!/usr/local/bin/perl
# edit_sports.cgi
# A form for editing simple networking options

require './squid-lib.pl';
$access{'portsnets'} || &error($text{'eports_ecannot'});
&header($text{'eports_header'}, "", "", 0, 0, 0, &restart_button());
print "<hr>\n";
$conf = &get_config();

print "<form action=save_sports.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'eports_pano'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr>\n";
if ($squid_version >= 2.3) {
	print "<td valign=top><b>$text{'eports_paap'}</b></td>\n";
	print "<td colspan=3><table border>\n";
	print "<tr $tb> <td><b>$text{'eports_p'}</b></td>\n",
	      "<td><b>$text{'eports_hia'}</b></td> </tr>\n";
	foreach $p (&find_config('http_port', $conf)) {
		push(@ports, @{$p->{'values'}});
		}
	$i = 0;
	foreach $p (@ports, '') {
		print "<tr $cb>\n";
		printf "<td><input name=port_$i size=6 value='%s'></td> <td>\n",
			$p =~ /(\d+)$/ ? $1 : '';
		printf "<input type=radio name=addr_def_$i value=1 %s> All\n",
			$p =~ /:/ ? '' : 'checked';
		printf "<input type=radio name=addr_def_$i value=0 %s>\n",
			$p =~ /:/ ? 'checked' : '';
		printf "<input name=addr_$i size=20 value='%s'></td>\n",
			$p =~ /^(\S+):/ ? $1 : '';
		print "</tr>\n";
		$i++;
		}

	print "</table></td></tr>\n";
	}
else {
	print &opt_input($text{'eports_pp'}, "http_port", 
				$conf, $text{'default'}, 6);
	print &opt_input($text{'eports_ita'}, "tcp_incoming_address",
			 $conf, $text{'eports_a'}, 15);
	print "</tr>\n";
	}

print "<tr>\n";
print &opt_input($text{'emisc_sdta'}, "dns_testnames", $conf,
		 $text{'default'}, 40);
print "</tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "</tr><tr>\n";
print &opt_input($text{'emisc_hah'}, "httpd_accel_host", $conf,
                 $text{'default'}, 50);
print "</tr><tr>\n";
print &opt_input($text{'emisc_hap'}, "httpd_accel_port", $conf,
                 $text{'default'}, 10);
print "</tr><tr>\n";
print &choice_input($text{'emisc_hawp'}, "httpd_accel_with_proxy",
                  $conf, "off", $text{'on'}, "on", $text{'off'}, "off");
print &choice_input($text{'emisc_hauhh'}, "httpd_accel_uses_host_header", 
                  $conf, "off", $text{'yes'}, "on", $text{'no'}, "off");
print "</tr><tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}></form>\n";

print "<hr>\n";
&footer("", $text{'eports_return'});

  07070100046c5e000081e40000000000000002000000013d1fe2d40000060d000000200000000000000000000000000000001a00000003reloc/squid/edit_user.cgi #!/usr/local/bin/perl
# edit_user.cgi
# A form for adding or editing a squid user

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
if ($in{'new'}) {
	&header($text{'euser_header'}, "");
	}
else {
	&header($text{'euser_header1'}, "");
	$conf = &get_config();
	@users = &list_auth_users(
			&find_config("proxy_auth", $conf)->{'values'}->[0]);
	%user = %{$users[$in{'index'}]};
	}
print "<hr>\n";

print "<form action=save_user.cgi>\n";
print "<input type=hidden name=index value=$in{'index'}>\n";
print "<input type=hidden name=new value=$in{'new'}>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'euser_pud'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'euser_u'}</b></td>\n";
print "<td><input name=user size=25 value=\"$user{'user'}\"></td> </tr>\n";

print "<tr> <td><b>$text{'euser_p'}</b></td> <td>\n";
if (%user) {
	print "<input type=radio name=pass_def value=1 checked> $text{'euser_u1'}\n";
	print "<input type=radio name=pass_def value=0>\n";
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}
else {
	print "<input name=pass size=20 type=password></td> </tr>\n";
	}
print "</table></td></tr></table>\n";
if (%user) {
	print "<input type=submit value=$text{'buttsave'}>\n";
	print "<input type=submit name=delete value=$text{'buttdel'}>\n";
	}
else {
	print "<input type=submit value=$text{'euser_buttcreat'}>\n";
	}
print "</form>\n";

print "<hr>\n";
&footer("edit_auth.cgi", $text{'euser_return'},
	"", $text{'index_return'});

   07070100046c5f000081e40000000000000002000000013d1fe2d4000007f7000000200000000000000000000000000000001c00000003reloc/squid/http_access.cgi   #!/usr/local/bin/perl
# http_access.cgi
# A form for editing or creating a proxy access restriction

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
$conf = &get_config();

if (!defined($in{'index'})) {
	&header($text{'ahttp_header'}, "",
		undef, 0, 0, 0, &restart_button());
	}
else {
	&header($text{'ahttp_header1'}, "",
		undef, 0, 0, 0, &restart_button());
	@http = @{$conf->[$in{'index'}]->{'values'}};
	}
print "<hr>\n";

print "<form action=http_access_save.cgi>\n";
if (@http) {
	print "<input type=hidden name=index value=$in{'index'}>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'ahttp_pr'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'ahttp_a'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=action value=allow %s> $text{'ahttp_a1'}\n",
	$http[0] eq "allow" ? "checked" : "";
printf "<input type=radio name=action value=deny %s> $text{'ahttp_d'}</td> </tr>\n",
	$http[0] eq "allow" ? "" : "checked";

for($i=1; $i<@http; $i++) { $match{$http[$i]}++; }
@acls = grep { !$done{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
$r = @acls; $r = 10 if ($r > 10);

print "<tr> <td valign=top><b>$text{'ahttp_ma'}</b></td>\n";
print "<td valign=top><select name=yes multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{$a->{'values'}->[0]} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'ahttp_dma'}</b></td>\n";
print "<td valign=top><select name=no multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{"!$a->{'values'}->[0]"} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}>\n";
if (@http) { print "<input type=submit value=$text{'buttdel'} name=delete>\n"; }
print "</form>\n";

print "<hr>\n";
&footer("edit_acl.cgi", $text{'ahttp_return'},
	"", $text{'index_return'});

 07070100046c60000081e40000000000000002000000013d1fe2d400000405000000200000000000000000000000000000002100000003reloc/squid/http_access_save.cgi  #!/usr/local/bin/perl
# http_access_save.cgi
# Save or delete a proxy restriction

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sahttp_ftspr'};

@https = &find_config("http_access", $conf);
if (defined($in{'index'})) {
	$http = $conf->[$in{'index'}];
	}
if ($in{'delete'}) {
	# delete this restriction
	splice(@https, &indexof($http, @https), 1);
	}
else {
	# update or create
	@vals = ( $in{'action'} );
	foreach $y (split(/\0/, $in{'yes'})) { push(@vals, $y); }
	foreach $n (split(/\0/, $in{'no'})) { push(@vals, "!$n"); }
	$newhttp = { 'name' => 'http_access', 'values' => \@vals };
	if ($http) { splice(@https, &indexof($http, @https), 1, $newhttp); }
	else { push(@https, $newhttp); }
	}
&save_directive($conf, "http_access", \@https);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $http ? 'modify' : 'create', "http");
&redirect("edit_acl.cgi");

   0707010004dd60000041ed0000000000000001000000023d1ffb6400000000000000200000000000000000000000000000001300000003reloc/squid/images    0707010004dd61000081a40000000000000002000000013d1fe2d400000113000000200000000000000000000000000000001b00000003reloc/squid/images/acl.gif    GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 0707010004dd62000081a40000000000000002000000013d1fe2d4000000c8000000200000000000000000000000000000001d00000003reloc/squid/images/admin.gif  GIF89a0 0 ¡  ÿÿÿÌÌÌfff   !ù    ,    0 0  ™„©Ëí£”Ê©Ø\àŸ[Â ØŒæ…2êšyŽ0ÀñCÛO›ÖzÃsù~‹à"GtÉŽÃ¤âõl:IP@gšêlƒ–Á¼_	¹9£gÕµréÎÂãÇ6¡¾ãíz+_Ÿ×ç7'8XHE(Ø·øG'ò¸&Ò%ùEiYèiyÉQy¸e¸™ÙèÖ)u—zÈZè*Šth :kQ  ;0707010004dd64000081a40000000000000002000000013d1fe2d400000186000000200000000000000000000000000000001c00000003reloc/squid/images/auth.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010004dd65000081a40000000000000002000000013d1fe2d40000010a000000200000000000000000000000000000001d00000003reloc/squid/images/cache.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ÏºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR[Ãx¾ó=ˆîºKÄñÈ&—L…“NUæuE©F‚xL./wÑ
j­‰gIÛˆ@€Ç³ºý9¯_ârtƒ„ƒ1[5x…Œ‡€a}{T’€Šz–w•>—af£o‚~i ¨šª¬9'_A¯hG´ll²¸HŸ¦“X©¹˜¾ˆ4Ç…À®Ï† Ë@ÓÂ\Ä¿œÁ›|ßžÞÙ¤¤Ü­‹§êÉQ	 ;  0707010004dd67000081a40000000000000002000000013d1fe2d400000100000000200000000000000000000000000000002000000003reloc/squid/images/cachemgr.gif   GIF89a0 0 Â  ÿÿÿ   ™™™ÌÌÌfff         !ù    ,    0 0  ÅºÜþ0¶@]xWe	7È^ÕG†&ª¢šÊZ
~4lŸeKË¸½ÜÀšðã#¬£rÉžÍ(GàTP¡Uì“j…r½Uç6kg¿cs÷êe£Û\©|N?nïø¼~ÏÇ×ÿ€‚ƒ„…†}‰ŠKqƒ+”•–—˜™–‡œž€Š¡{Œ†‘Nšª«—Ÿ®¯°¢³w¤…¦/#%“¬½š±ÀÁŸ´Ä¶„¸DV¾Ì­ÂÏuÍ–iÒ•Gº(Ö”ØÚÐâãäL	 ;0707010004dd68000081a40000000000000002000000013d1fe2d40000042d000000200000000000000000000000000000002100000003reloc/squid/images/calamaris.gif  GIF89a0 0 Æ  CFçü	ü ÿ	ýú>@éú þ ÿ7:ë;>êü þù58ìüøDGç"ô47í79ì>Aé@Cèþ.1î69ìþ<?ê#&ò-0ïýð**ñ''^`Þ,/ï36í),ðñ((÷í22í44âTTøøöþð))	ûãOOÿ  ü
û9<ëþ  äMMý?Bé	ûãPPøë88õùùâRRó  åKKê<<ï--]_Þ÷*-ðî//õÞ^^$'òúý!ôß[[æHH%)òøôúé@@=?êù
üçCCèBBöö	üøó""ê;;13î7:ì÷+.ðõ!ôø $óáVVì44âSSî..î00ýñ&&BEèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽŠ ’’šƒ		 ¢¡£
›‹®•³®	±ª‡•¡¿¶±³³À»ƒ
¦£ˆ¾¤»•¤Ž¦	›¡®ª¡¦„ ‹!„"¥¡#$®%‚Lœ@Ñ(…	ƒ Èê×HT¥‚X´ØäâÅ ,ÂJãŸ2TÍ9ˆÆ/ˆˆj¼‚EÈÆM8lÊk]»C:fé´ƒGG>~z
¢_2„H""E„$ŠfÄÐ‘u	4J¢¤ëGLÖ5hbß1G¥œJêI#(þQâFÑ$åW¡)bk4¢EÐ’*V]•à¦ )£Q)„åÑ¯,„"”R\H‹cPE£Lh‹ãP™½²ÅyÇ¯BÿÙ¼WP?'ðBh ¶¤­}Ùô)j…ëJÿ£iÕS&çæ R´MI—@/£Å„6Êð	>‰9Û¨®mC£T“G4Jm!¢¬W4&ü ²k±!ð8H†" (à€ º S!0PW•!9…Rˆ›ŒTÈ;¡uH¶í×IHHHoì$ÂÑ dôÇ¡#3(ˆI¶¡„Èø”Ñ‰¸Ðœ f”Â_"g€ÐhLäˆ»	Â}$4zƒ)i¢k|•H_°1¤$°“’øl@ÈB1CD¸ñF˜p‡ øx×ˆ„ÁÒ€6pS,à¨R†2¡0ãLÑ€2ÍY5À(>Yò)ÊŽg±²Ò£bE*çqºÌ7ÈY$j¢Y`i"‘H"ª¨|jê©¨ ;   0707010004dd69000081a40000000000000002000000013d1fe2d4000000ef000000200000000000000000000000000000001d00000003reloc/squid/images/clear.gif  GIF89a0 0 €     ÿÿÿ!ù   ,    0 0  ÆŒ©Ëí€œZG³·ÇV^2å˜džŠ~SëJ#Ó#8öæº½ØùN&™ï ê•C‘i<Ú˜PÎ1fýe«W Jmy¹äÜ¸ìj†SÑuçÌ¶º-ðø7:{’Œs^_Ñó·$h—¶¢÷ˆwƒ˜È·èy¡¸Yy('	ØH×¦YõÙ¹ÕW'ªµGèX¹VjZ¨ú&ÉÔêºù˜ªzÉUk;ØË«qu[¼+–ü‹Œj\”÷Ú<¹½l2L»=mÒ=~Q  ; 0707010004dd6c000081a40000000000000002000000013d1fe2d40000006c000000200000000000000000000000000000001c00000003reloc/squid/images/down.gif   GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       +œ©›@"IíÁU³Ùiœ÷eJƒbAúÓƒI‡m.±­ËdN‚  ;0707010004dd6d000081a40000000000000002000000013d1fe2d400000049000000200000000000000000000000000000001b00000003reloc/squid/images/gap.gif    GIF89a  €  ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,       „©Ëí£œ´Ú‹³> ;   0707010004dd6e000081a40000000000000002000000013d1fe2d400000154000000200000000000000000000000000000001c00000003reloc/squid/images/icon.gif   GIF89a0 0 Â  ÿÿÿ™™™fffÌÌÌÿ           !ù    ,    0 0  þºÜþ0Æðè
Ø‚,¥V“áöu–ž• ²èõ©é¾1D›µàû½Ü:n•£°H,m/àD4ÍŒÒ)S¶ðí¾°éîÉ€·ÚÕŠ¦)ÓUûM®Ã‹:è&·ßÛco‚lwz<{ˆ)H$}J†Zy|?^.’bk‰xŽ„“~V6¡Kƒž2Žn|y¬´®…š±ºf´·i‘”v¼¾#Á¨š°~˜¬#“#•ÐÑc9o–ª ØÙa§’àÙ¨a›æÑè5›ßáNÙ§ðñÚ–?ó÷ø‹+÷êý+n ‡€' L˜$\†/BlM`Bc ,^¬¨Ñ S#üÈ°/¤H}M6@©2FÇ–0µ$  ;0707010004dd78000081a40000000000000002000000013d1fe2d400000103000000200000000000000000000000000000001b00000003reloc/squid/images/icp.gif    GIF89a0 0 ¡  ÿÿÿÌÌÌ™™™fff!ù    ,    0 0  Ô„©Ëí£œ+Ø{Ý)ˆ~G€c]&šŠ¬d½¨:Ci±°Ê1v‡“'¬t`±`²¨0†€O1h·Úªáê€Ã-2elv Óì£q¿-qÝi¿SWiÈUƒ7ô¥·Çg¨q„hõÖ3527¹Ø¨TIˆ)õØ!¨çij)Ór(Zás`šw—…*‘Åµ5[ËÕ¦;ºû°ÖË\(<L5éa†æ§Y5fdàülÅØÔ¶“=u­½Êæâ®{CŽ=ØªK‹küV  ; 0707010004dd79000081a40000000000000002000000013d1fe2d4000001d6000000200000000000000000000000000000001c00000003reloc/squid/images/logs.gif   GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  0707010004dd7a000081a40000000000000002000000013d1fe2d4000000fb000000200000000000000000000000000000001b00000003reloc/squid/images/mem.gif    GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  Ì„©Ëí£œ´Ú‹³Naë v^–£T¦âÉ¨.«¸¥`Â€¬Ò!‹»‚:{?Ðp4æ”ÇMRi„¾4Ïa‘XÃ ‚dÏ—µlÏo.LWÍÑ@SËõ~­è´¡²Jëõ~¶“±ÕE7Ç×w¸—òVáÇÈö(×(CiGhö—¹÷ç9g˜GÊF¸xi·ÉÉ–çd)‹*@+;ŠKÅÚÊ;†Të3zÇéÈ{ ìel£PXõ'ÍÚ{½¹Ñìí ŽMn~Žž~R  ; 0707010004dd7b000081a40000000000000002000000013d1fe2d4000001cc000000200000000000000000000000000000001c00000003reloc/squid/images/misc.gif   GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;0707010004dd7c000081a40000000000000002000000013d1fe2d400000186000000200000000000000000000000000000001d00000003reloc/squid/images/nauth.gif  GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010004dd88000081a40000000000000002000000013d1fe2d4000001de000000200000000000000000000000000000001d00000003reloc/squid/images/ports.gif  GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  0707010004dd89000081a40000000000000002000000013d1fe2d400000127000000200000000000000000000000000000001d00000003reloc/squid/images/progs.gif  GIF89a0 0 €  ÿÿÿ™™™!ù    ,    0 0  þ„©Ëíc
Õu©Ü÷Õ¼C}¦˜•ji¨(:*`*Ö6øÖ³×Þ=Ì¹b²_OwŽ–Íê{±`&hÈÒèh¯bKCåŠÇär|,æÌØîÁ[f9¡UéìŒæwRäÍºå÷á#hä÷—‡¤8èÓx¸Å´øU%§õ6…iÃé ÇÆ*:JÊ†ÖÙF‚cƒö™Jâ©¦w‚77§Sû•ôW˜û»÷ëØÄg|H¬\kD8¸KI…û•ùd93åVzõºíý=z
·´JÖ†.Û¤+¤'¤›+øÜyÜwn?ùö#×¬M¯¤FžnYzSÉ A3çÀ¥s1by§$6k¸/B ; 0707010004dd8a000081a40000000000000002000000013d1fe2d4000000fb000000200000000000000000000000000000001c00000003reloc/squid/images/smem.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  Ì„©Ëí£œ´Ú‹³Naë v^–£T¦âÉ¨.«¸¥`Â€¬Ò!‹»‚:{?Ðp4æ”ÇMRi„¾4Ïa‘XÃ ‚dÏ—µlÏo.LWÍÑ@SËõ~­è´¡²Jëõ~¶“±ÕE7Ç×w¸—òVáÇÈö(×(CiGhö—¹÷ç9g˜GÊF¸xi·ÉÉ–çd)‹*@+;ŠKÅÚÊ;†Të3zÇéÈ{ ìel£PXõ'ÍÚ{½¹Ñìí ŽMn~Žž~R  ; 0707010004dd8b000081a40000000000000002000000013d1fe2d4000001de000000200000000000000000000000000000001e00000003reloc/squid/images/sports.gif GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  0707010004dd8c000081a40000000000000002000000013d1fe2d400000067000000200000000000000000000000000000001a00000003reloc/squid/images/up.gif GIF89a  ¡  ÄÄÄrrr   ÿÿÿ!þMade with GIMP !ù
  ,       &œ©°
‚|'ÊùìÅIoÎ|b%”Âe–Á‚RGë°;Sõs³f ; 07070100046c61000081e40000000000000002000000013d1fe2d4000007a7000000200000000000000000000000000000001b00000003reloc/squid/icp_access.cgi    #!/usr/local/bin/perl
# icp_access.cgi
# A form for editing or creating an ICP access restriction

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
$conf = &get_config();

if (!defined($in{'index'})) {
	&header($text{'aicp_header'}, "",
		undef, 0, 0, 0, &restart_button());
	}
else {
	&header($text{'aicp_header1'}, "",
		undef, 0, 0, 0, &restart_button());
	@icp = @{$conf->[$in{'index'}]->{'values'}};
	}
print "<hr>\n";

print "<form action=icp_access_save.cgi>\n";
if (@icp) {
	print "<input type=hidden name=index value=$in{'index'}>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'aicp_ir'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'aicp_a'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=action value=allow %s> $text{'aicp_a1'}\n",
	$icp[0] eq "allow" ? "checked" : "";
printf "<input type=radio name=action value=deny %s> $text{'aicp_d'}</td> </tr>\n",
	$icp[0] eq "allow" ? "" : "checked";

for($i=1; $i<@icp; $i++) { $match{$icp[$i]}++; }
@acls = &find_config("acl", $conf);
$r = @acls; $r = 10 if ($r > 10);

print "<tr> <td valign=top><b>$text{'aicp_ma'}</b></td>\n";
print "<td><select name=yes multiple rows=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{$a->{'values'}->[0]} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'aicp_dma'}</b></td>\n";
print "<td><select name=no multiple rows=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{"!$a->{'values'}->[0]"} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}>\n";
if (@icp) { print "<input type=submit value=$text{'buttdel'} name=delete>\n"; }
print "</form>\n";

print "<hr>\n";
&footer("edit_acl.cgi", $text{'aicp_return'},
	"", $text{'index_return'});

 07070100046c62000081e40000000000000002000000013d1fe2d4000003f0000000200000000000000000000000000000002000000003reloc/squid/icp_access_save.cgi   #!/usr/local/bin/perl
# icp_access_save.cgi
# Save or delete a proxy restriction

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'saicp_ftsir'};

@icps = &find_config("icp_access", $conf);
if (defined($in{'index'})) {
	$icp = $conf->[$in{'index'}];
	}
if ($in{'delete'}) {
	# delete this restriction
	splice(@icps, &indexof($icp, @icps), 1);
	}
else {
	# update or create
	@vals = ( $in{'action'} );
	foreach $y (split(/\0/, $in{'yes'})) { push(@vals, $y); }
	foreach $n (split(/\0/, $in{'no'})) { push(@vals, "!$n"); }
	$newicp = { 'name' => 'icp_access', 'values' => \@vals };
	if ($icp) { splice(@icps, &indexof($icp, @icps), 1, $newicp); }
	else { push(@icps, $newicp); }
	}
&save_directive($conf, "icp_access", \@icps);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $icp ? 'modify' : 'create', "icp");
&redirect("edit_acl.cgi");

07070100046c63000081e40000000000000002000000013d1fe2d4000013e4000000200000000000000000000000000000001600000003reloc/squid/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display a menu of different kinds of options

require './squid-lib.pl';

# Check for squid config file
if (!-r $config{'squid_conf'}) {
	&header($text{'index_header'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>";
	print &text('index_msgnoconfig',$config{'squid_conf'},
		$module_name);
	print "\n<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

# Check for the squid executable
if (!&has_command($config{'squid_path'})) {
	&header($text{'index_header'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>";
	print &text('index_msgnoexe',$config{'squid_path'},
		$module_name);
	print "\n<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

# Check the version number
$ver = `$config{'squid_path'} -v 2>&1`;
if ($ver =~ /(1\.1)\.\d+/ || $ver =~ /(1)\.NOVM/ ||
    $ver =~ /(2\.0)\./ || $ver =~ /(2\.1)\./ || $ver =~ /(2\.2)\./ ||
    $ver =~ /(2\.3)\./ || $ver =~ /(2\.4)\./ || $ver =~ /(2\.5)\./) {
	# Save version number
	open(VERSION, ">$module_config_directory/version");
	print VERSION $1,"\n";
	close(VERSION);
	$squid_version = $1;
	}
else {
	&header($text{'index_header'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>";
	print &text('index_msgnosupported2', "<tt>1.1</tt>", "<tt>2.5</tt>"),
	      "<p>\n";
	print &text('index_squidver', "$config{'squid_path'} -v"),"\n";
	print "<pre>$ver</pre>\n";
	print "<hr>\n";
	&footer("/", $text{'index_return'});
	exit;
	}

# Check for the cache directory
$conf = &get_config();
if (@cachestruct = &find_config("cache_dir", $conf)) {
	if ($squid_version >= 2.3) {
		@caches = map { $_->{'values'}->[1] } @cachestruct;
		}
	else {
		@caches = map { $_->{'values'}->[0] } @cachestruct;
		}
	}
else { @caches = ( $config{'cache_dir'} ); }
foreach $c (@caches) {
	if (!-d $c || !-d "$c/00") { $not_init++; }
	}
if ($not_init) {
	&header($text{'index_header'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p><center>\n";
	if (@caches > 1) {
		print &text('index_msgnodir1', join(", ", @caches));
		}
	else {
		print &text('index_msgnodir2', $cache);
		}
	print $text{'index_msgnodir3'},"<br>\n";
	print "<form action=init_cache.cgi>\n";
	print "<input type=submit value=\"$text{'index_buttinit'}\">\n";
	if (!&find_config("cache_effective_user", $conf)) {
		print $text{'index_asuser'}," ",&unix_user_input("user"),
			"<p>\n";
		}
	else {
		print "<input type=hidden name=nouser value=1>\n";
		}
	print "<input type=hidden name=caches value=\"",
		join(" ",@caches),"\">\n";
	print "</form></center>\n";
	print "<hr>\n";
	}
else {
	&header($text{'index_header'}, "", "intro",
		1, 1, 0, &restart_button()."<br>".
			 &help_search_link("squid", "doc", "google"),
		undef, undef, &text('index_version', $squid_version));
	print "<hr>\n";
	}

$authprog = &find_value("authenticate_program", $conf);
if ($authprog =~ /(\S+)\s+(\/\S+)$/) {
	open(AUTH, $2);
	local $line = <AUTH>;
	close(AUTH);
	if (!$line || $line =~ /^(\S+):(\S+)/) {
		$auth = 2;
		}
	}
elsif ($squid_version < 2) {
	$auth = 1;
	}
$calamaris = &has_command($config{'calamaris'});
if ($access{'simple'} == 2) {
	# Display only the most basic option icons
	@otitles = ( 'portsnets', 'mdusage', 'actrl',
		     ($auth ? ( 'proxyauth' ) : ( ) ),
		     'rebuild', $calamaris ? ( 'calamaris' ) : ( ) );
	@olinks = ( "edit_sports.cgi", "edit_smem.cgi", "edit_acl.cgi",
		     ($auth == 1 ? ( "edit_auth.cgi" ) :
		      $auth == 2 ? ( "edit_nauth.cgi" ) : ( ) ),
		    "clear.cgi",
		    $calamaris ? ( "calamaris.cgi" ) : ( ) );
	}
elsif ($access{'simple'} == 1) {
	# Display most option icons
	@otitles = ( 'portsnets', 'musage', 'logging', 'copts', 
		     'actrl', 'admopts',
		     ($auth ? ( 'proxyauth' ) : ( ) ),
		     'miscopt', 'rebuild',
		     $calamaris ? ( 'calamaris' ) : ( ) );
	@olinks =  ( "edit_ports.cgi", "edit_mem.cgi",
		     "edit_logs.cgi", "edit_cache.cgi",
		     "edit_acl.cgi", "edit_admin.cgi",
		     ($auth == 1 ? ( "edit_auth.cgi" ) :
		      $auth == 2 ? ( "edit_nauth.cgi" ) : ( ) ),
		     "edit_misc.cgi", "clear.cgi",
		     $calamaris ? ( "calamaris.cgi" ) : ( ) );
	}
else {
	# Display all option icons
	@otitles = ( 'portsnets', 'othercaches', 'musage', 'logging',
		     'copts', 'hprogs', 'actrl', 'admopts',
		     ($auth ? ( 'proxyauth' ) : ( ) ),
		     'miscopt', 'cms',
		     'rebuild', $calamaris ? ( 'calamaris' ) : ( ) );
	@olinks =  ( "edit_ports.cgi", "edit_icp.cgi", "edit_mem.cgi",
		     "edit_logs.cgi", "edit_cache.cgi", "edit_progs.cgi",
		     "edit_acl.cgi", "edit_admin.cgi",
		     ($auth == 1 ? ( "edit_auth.cgi" ) :
		      $auth == 2 ? ( "edit_nauth.cgi" ) : ( ) ),
		     "edit_misc.cgi", "cachemgr.cgi", "clear.cgi",
		     $calamaris ? ( "calamaris.cgi" ) : ( ) );
	}
for($i=0; $i<@otitles; $i++) {
	if (!$access{$otitles[$i]}) {
		splice(@otitles, $i, 1);
		splice(@olinks, $i, 1);
		$i--;
		}
	else {
		$otitles[$i] = $text{'index_'.$otitles[$i]};
		}
	}
@oicons =  map { $t=$_; $t=~s/cgi/gif/; $t=~s/edit_//; "images/$t" } @olinks;
&icons_table(\@olinks, \@otitles, \@oicons);

print "<hr>\n";
&footer("/", $text{'index_return'});

07070100046c64000081e40000000000000002000000013d1fe2d40000061d000000200000000000000000000000000000001b00000003reloc/squid/init_cache.cgi    #!/usr/local/bin/perl
# init_cache.cgi
# Initialize the cache by running squid with the -z option

require './squid-lib.pl';
$access{'rebuild'} || &error($text{'icache_ecannot'});
&ReadParse();
$whatfailed = $text{'icache_ftic'};

# set user to run squid as..
&lock_file($config{'squid_conf'});
$conf = &get_config();
if (!$in{'nouser'}) {
	$in{'user'} || &error($text{'icache_ymcautrsa'});
	@uinfo = getpwnam($in{'user'});
	@ginfo = getgrgid($uinfo[3]);
	if ($squid_version < 2) {
		$dir = { 'name' => 'cache_effective_user',
			 'values' => [ $in{'user'}, $ginfo[0] ] };
		&save_directive($conf, "cache_effective_user", [ $dir ]);
		}
	else {
		$dir = { 'name' => 'cache_effective_user',
			 'values' => [ $in{'user'} ] };
		&save_directive($conf, "cache_effective_user", [ $dir ]);
		$dir = { 'name' => 'cache_effective_group',
			 'values' => [ $ginfo[0] ] };
		&save_directive($conf, "cache_effective_group", [ $dir ]);
		}
	&flush_file_lines();
	}
&unlock_file($config{'squid_conf'});

# Initialize the cache
$| = 1;
($user, $group) = &get_squid_user($conf);
if ($user) {
	foreach $c (split(/\s+/, $in{'caches'})) {
		mkdir($c, 0755);
		}
	}
&chown_files($user, $group, $conf);
&header($text{'icache_title'}, "");
print "<hr>\n";
$cmd = "$config{'squid_path'} -f $config{'squid_conf'} -z";
print "<p>", &text('icache_itscwtc',$cmd), "<br>\n";
print "<pre>\n";
&additional_log('exec', undef, $cmd);
open(INIT, "$cmd 2>&1 |");
while(<INIT>) {
	print;
	}
close(INIT);
print "</pre>\n";
&webmin_log("init");

print "<hr>\n";
&footer("", $text{'icache_return'});

   070701000498f5000041ed0000000000000001000000023d1ffb6500000000000000200000000000000000000000000000001100000003reloc/squid/lang  070701000498f6000081a40000000000000002000000013d1fe2d400005b39000000200000000000000000000000000000001400000003reloc/squid/lang/ca   index_header=Servidor Proxy Squid
index_msgnoconfig=El fitxer de configuració de Squid <tt>$1</tt> no existeix. Si tens Squid instal·lat, corregeix la <a href=/config.cgi?$2>configuració del mòdul</a> per fer servir els camins correctes.
index_msgnoexe=L'executable Squid <tt>$1</tt> no existeix. Si tens Squid instal·lat, corregeix la <a href=/config.cgi?$2>configuració del mòdul</a> per fer servir els camins correctes.
index_msgnosupported2=La teva versió de Squid no està suportada per Webmin. Aquest mòdul només suporta les versions $1 a la $2.
index_version=Versió Squid $1
index_msgnodir1=No s'han inicialitzat els directoris cau <tt>$1</tt>.
index_msgnodir2=El directori cau <tt>$1</tt> de Squid no s'ha inicialitzat.
index_msgnodir3=Això s'ha de fer abans que es pugui executar Squid.
index_buttinit=Inicialitza el cau
index_asuser=com a usuari Unix
index_portsnets=Ports i Xarxa
index_othercaches=Altres Caus
index_musage=Ús de la Memòria
index_mdusage=Ús de la Memòria i el Disc
index_logging=Registres
index_copts=Opcions del Cau
index_hprogs=Programes Auxiliars
index_actrl=Control d'Accés
index_admopts=Opcions Administratives
index_proxyauth=Autenticació Proxy
index_miscopt=Opcions Miscel·lànies
index_cms=Estadístiques del Gestor del Cau
index_rebuild=Neteja i Reconstrucció del Cau
index_calamaris=Anàlisi de Registres Calamaris
index_return=a l'índex
index_squidver=L'ordre <tt>$1</tt> ha retornat:

buttsave=Desa
buttdel=Suprimeix
buttcreat=Crea
yes=Sí
no=No
default=Defecte
none=Cap
on=Activat
off=Desactivat

acl_header1=Creació d'ACL
acl_header2=Edició d'ACL
acl_name=Nom d'ACL
acl_fromip=Des de la IP
acl_toip=A la IP
acl_nmask=Màscara de subxarxa
acl_ipaddr=Adreça IP
acl_domains=Dominis
acl_dofw=Dies de la setmana
acl_sel=Seleccionats...
acl_all=Tot
acl_dsun=Diumenge
acl_dmon=Dilluns
acl_dtue=Dimarts
acl_dwed=Dimecres
acl_dthu=Dijous
acl_dfri=Divendres
acl_dsat=Dissabte
acl_hofd=Hores del Dia
acl_to=a
acl_regexp=Expressions Regulars
acl_tcpports=Ports TCP
acl_urlproto=Protocols URL
acl_reqmethods=Mètodes de Petició
acl_bregexp=Expressió Regular del Fullejador
acl_pusers=Usuaris Proxy
acl_eusers=Usuaris Auth Externs
acl_case=Ignora la caixa
acl_eusersre=Expressions Regulars dels Usuaris Auth Externs
acl_asnum=Números AS
acl_rtime=Temps de Refresc
acl_rfcusers=Usuaris RFC931
acl_rfcusersr=Expressions regulars d'Usuaris RFC931
acl_mcr=Nombre Màxim de Peticions Simultànies
acl_psp=Port de Servidor Proxy
acl_scs=Cadena de Comunitat SNMP
acl_rmt=Tipus MIME de Petició
acl_arp=Adreces Ethernet client
acl_failurl=URL d'error
acl_buttsave=Desa
acl_buttdel=Suprimeix
acl_return=a la llista d'ACLs

aclsave_failsave=No he pogut desar l'ACL
aclsave_faildel=No he pogut suprimir l'ACL
aclsave_epr=Aquesta ACL està en ús per una redirecció proxy
aclsave_eicpr=Aquesta ACL està en ús per una restricció ICP
aclsave_ename=Nom d'ACL invàlid
aclsave_eexists=Ja existeix una ACL anomenada '$1'
aclsave_efrom='$1' no és una adreça de procedència IP vàlida
aclsave_eto='$1' no és una adreça de destinació IP vàlida
aclsave_enmask='$1' no és una màscara de subxarxa vàlida
aclsave_eip='$1' no és una adreça IP vàlida
aclsave_ecdom=No has donat cap domini client
aclsave_esdom=No has donat cap domini servidor
aclsave_eshour=Hora inicial invàlida
aclsave_eehour=Hora final invàlida
aclsave_esmin=Minut inicial invàlida
aclsave_eemin=Minut final invàlid
aclsave_efile=No tens permís per escriure al fitxer d'ACL '$1'

cach_ecannot=No tens permís per accedir a les estadístiques de gestió del cau
cach_err=Error
cach_nfound=No s'ha trobat al sistema el programa <tt>$1</tt> de gestió del cau de Squid. Pot ser que la <a href=/config.cgi?$2 >configuració del mòdul</a> sigui incorrecta.
cach_return=a l'índex de squid

chown_header=Canvi de Propietari
chown_stop=Aturant squid...
chown_done=... Fet
chown_chown=Canviant de propietari...
chown_restart=Reiniciant Squid...
chown_failrestart=No he pogut reiniciar Squid...
chown_return=a l'índex de squid

clear_ecannot=No tens permís per esborrar i reconstruir el cau
clear_header=Neteja i Reconstrucció del Cau
clear_msgclear=Segur que vols netejar i reconstruir el cau de Squid? Això Thiborrarà <b>tots</b> els fitxers que hi ha al cau i reiniciarà el servidor Squid.
clear_msgclear2=T'hauríes d'assegurar que no estàs fent servir aquest cau per comunicar-te amb aquest servidor Webmin, altrament quedaràs desconnectat quan es desactivi el cau.
clear_buttclear=Neteja i reconstrueix el cau
clear_stop=Aturant Squid...
clear_done=...Fet
clear_del=Esborrant els fitxers vells del cau...
clear_init=Inicialitzant el cau Squid amb l'ordre <tt>$1</tt>...
clear_failrestart=No he pogut reiniciar Squid...
clear_return=a l'índex de squid

eacl_ecannot=No tens permís per editar el control d'accés
eacl_header=Control d'Accés
eacl_acls=Llistes de control d'accés
eacl_name=Nom
eacl_type=Tipus
eacl_match=Coincidint...
eacl_noacls=No hi ha cap ACL definida
eacl_buttcreate=Crea nova ACL
eacl_pr=Restriccions de proxy
eacl_act=Acció
eacl_acls1=ACLs
eacl_move=Desplaça
eacl_nopr=No hi ha cap restricció de proxy definida
eacl_addpr=Afegeix restricció de proxy
eacl_icpr=Restriccions ICP
eacl_noicpr=No hi ha cap restricció ICP definida
eacl_addicpr=Afegeix restricció ICP
eacl_return=a l'índex de squid
eacl_allow=Permet
eacl_deny=Denega

eadm_ecannot=No tens permís per editar les opcions administratives
eadm_header=Opcions Administratives
eadm_aao=Opcions Administratives i d'Anunci
eadm_runasuu=Executa com a usuari Unix
eadm_nochange=No ho canviïs
eadm_user=Usuari
eadm_group=Grup
eadm_runasug=Executa com a grup Unix
eadm_par=Reialme d'autenticació de proxy
eadm_default=Defecte
eadm_cmemail=Adreça de correu de l'administrador del cau
eadm_vhost=Nom de host visible
eadm_uniq=Nom de host únic
eadm_haliases=Altres noms de DNS del cau
eadm_none=Cap
eadm_auto=Automàtic
eadm_annto=Anuncia el cau a
eadm_annevery=Anuncia el cau cada
eadm_never=Mai
eadm_uniqhn=Nom de host únic
eadm_cah=Host d'anunci del cau
eadm_cap=Port d'anunci del cau
eadm_caf=Fitxer d'anunci del cau
eadm_annp=Període d'anunci
eadm_buttsave=Desa
eadm_return=a l'índex de squid

eauth_ecannot=No tens permís per editar l'autenticació de proxy
eauth_header=Autenticació de Proxy
eauth_aopt=Opcions d'Autenticació
eauth_puf=Fitxer d'usuaris de la proxy
eauth_none=Cap
eauth_nologin=No cal identificar-se per al domini
eauth_buttsave=Desa
eauth_msgaccess=L'accés al servidor proxy està limitat als usuaris llistats a sota. Després d'afegir, modificar o suprimir un usuari, cal aturar i iniciar de nou Squid per tal que els canvis tinguin efecte.
eauth_nmsgaccess=L'accés al servidor proxy està limitat als usuaris llistats a sota, presos del fitxer $1.
eauth_pusers=Usuaris de Proxy
eauth_nopusers=Actualment no hi ha cap usuari de proxy definit.
eauth_addpuser=Afegeix un nou usuari de proxy
eauth_return=a l'índex de squid

ec_ecannot=No tens permís per editar les opcions del cau
ec_header=Opcions del Cau
ec_cro=Opcions del cau i Peticions
ec_cdirs=Directoris del cau
ec_default=Defecte
ec_listed=Llistats...
ec_directory=Directori
ec_type=Tipus
ec_opts=Opcions
ec_size=Mida (Mb)
ec_1dirs=Dirs de 1º nivell
ec_2dirs=Dirs de 2º nivell
ec_u=UFS
ec_ua=UFS Asíncron
ec_diskd=DISKD
ec_1dirs1=Directoris de primer nivell
ec_2dirs2=Directoris de primer nivell
ec_aos=Mida mitjana d'objecte
ec_kb=Kb
ec_mins=minuts
ec_secs=segons
ec_opb=Objectes per galleda
ec_ncuc=No posis al cau les URLs que contenen
ec_ncum=No posis al cau les URLs que coincideixen amb
ec_ncua=No posis al cau les URLs de les ACLs
ec_mct=Temps màxim al cau
ec_mrbs=Mida màxima del cos de la petició
ec_mrhs=Mida màxima de les capçaleres de la petició
ec_mrbs1=Mida màxima del cos de la resposta
ec_mrs=Mida màxima de la petició
ec_frct=Temps cau de petició errònia
ec_dlct=Temps cau de consulta de DNS
ec_fdct=Temps cau de DNS erroni
ec_ct=Temps límit de connexió
ec_rt=Temps límit de lectura
ec_mcct=Temps màxim de connexió del client
ec_mst=Temps màxim de tancament
ec_sst=Temps màxim de selecció del lloc
ec_crt=Temps màxim de petició client
ec_hcc=Clients mig tancats
ec_pt=Temps límit persistent
ec_wr=Repetidor WAIS
ec_none=Cap
ec_host=Host
ec_port=Port
ec_wrh=Host repetidor WAIS
ec_wrp=Port repetidor WAIS
ec_buttsave=Desa
ec_return=a l'índex de squid

ech_header=Creació de Host Cau
ech_header1=Edició de Host Cau
ech_cho=Opcions de Host Cau
ech_h=Nom de Host
ech_parent=pare
ech_sibling=sibling
ech_multicast=multicast
ech_t=Tipus
ech_pp=Port de proxy
ech_ip=Port ICP
ech_po=Només proxy
ech_y=Sí
ech_n=No
ech_siq=Envia peticions ICP
ech_dc=Cau per Defecte
ech_rrc=Cau per torn rotatiu
ech_ittl=Temps de vida ICP
ech_d=Defecte
ech_cw=Pesatge del Cau
ech_co=Només el més proper
ech_nd=Sense resum
ech_nne=Sense intercanvi NetDB
ech_nd1=Sense retard
ech_ltp=Identifica't a la proxy
ech_nl=Sense identificació
ech_u=Usuari:
ech_p=Contrasenya:
ech_pass=Passa l'autenticació del client a aquest cau
ech_upass=Passa l'entrada del client amb contrasenya:
ech_mr=Responedor multiadreça
ech_qhfd=Demana els dominis al host
ech_dqfd=No demanis dominis
ech_buttsave=Desa
ech_buttdel=Suprimeix
ech_return=a la llista del cau

eicp_ecannot=No tens permís per editar els altres caus
eicp_header=Altres Caus
eicp_opcs=Altres servidors de cau proxy
eicp_nocd=No hi ha cap altre cau definit
eicp_aac=Afegeix un altre cau
eicp_cso=Opcions de Selecció de Cau
eicp_fdfd=Pren-les directament dels dominis
eicp_fdfi=Pren-les directament de les IPs
eicp_dif=Dominis dins del tallafocs
eicp_iif=IPs dins del tallafocs
eicp_dfuc=Ves a buscar directament les URLs que contenen
eicp_d=Defecte
eicp_bpfsp=Omet el <i>ping</i> per a un sol pare
eicp_y=Sí
eicp_n=No
eicp_secs=segons
eicp_ssip=Envia la font en el <i>ping</i>
eicp_crt=Temps límit de resposta del cau
eicp_iqt=Temps límit de petició ICP
eicp_mit=Temps límit d'ICP multicast
eicp_dpt=Temps límit de peer mort
eicp_h=Nom de host
eicp_t=Tipus
eicp_pp=Port de proxy
eicp_ip=Port ICP
eicp_return=a l'índex de squid
eicp_always=ACLs que s'han d'anar a buscar directament
eicp_noalways=No hi ha cap ACL per anar a buscar directament
eicp_addalways=Afegeix ACLs per anar a buscar directament
eicp_never=ACLs que no s'han d'anar a buscar mai directament
eicp_nonever=No hi ha cap ACL que no s'hagi d'anar a buscar mai directament
eicp_addnever=Afegeix ACLs que no s'han d'anar a buscar mai directament

elogs_ecannot=No tens permís per editar els registres
elogs_header=Registres
elogs_lalo=Registres i Opcions de Fitxers de Registre
elogs_alf=Fitxer de registre d'accessos
elogs_dlf=Fitxer de registre de depuració
elogs_slf=Fitxer de registre d'emmagatzematge
elogs_cmf=Fitxer de metadades del cau
elogs_uhlf=Fes servir el format de registre HTTPD
elogs_lmh=Registra les capçaleres MIME
elogs_ualf=Fitxer de registre d'agents d'usuari
elogs_pf=Fitxer de PID
elogs_prilfa=Executa consultes d'identificació RFC931 per les ACLs
elogs_rit=Temps límit d'identificació RFC931
elogs_dril=Fes consultes d'identificació RFC931
elogs_lfh=Registra noms de host complets
elogs_ln=Màscara de subxarxa de registre
elogs_do=Opcions de depuració
elogs_mht=Taula de capçaleres MIME
elogs_return=a l'índex de squid

emem_ecannot=No tens permís per editar l'ús de la memòria
emem_header=Ús de la Memòria
emem_dheader=Ús de la Memòria i el Disc
emem_maduo=Opcions de l'Ús de la Memòria i el Disc
emem_mul=Límit d'ús de memòria
emem_dul=Límit d'ús del disc
emem_fcs=Mida del cau FQDN
emem_mb=Mb
emem_kb=Kb
emem_mhwm=Nivell alt de la memòria
emem_mlwm=Nivell baix de la memòria
emem_dhwm=Nivell alt del disc
emem_dlwm=Nivell baix del disc
emem_mcos=Mida màxima d'objecte al cau
emem_iacs=Mida del cau de l'adreça IP
emem_e=entrades
emem_ichwm=Nivell alt del cau IP
emem_iclwm=Nivell baix del cau IP
emem_crp=Política de substitució al disc
emem_lru=Menys recentment usat
emem_gdsf=Freqüència de mida dual-avariciosa
emem_lfuda=Menys recentment usat dinàmica
emem_hlru=Menys recentment usada de pila
emem_return=a l'índex de squid
emem_mrp=Política de substitució a la memòria

emisc_ecannot=No tens permís per editar les opcions miscel·lànies
emisc_header=Opcions Miscel.lànies
emisc_mo=Opcions Miscel.lànies
emisc_sdta=Adreces inicials de prova de DNS
emisc_slr=Rotacions del fitxer de registre SIGUSR1
emisc_dd=Domini per defecte
emisc_sp=Proxy SSL
emisc_nghp=Proxy HTTP no GET
emisc_emt=Text dels missatges d'error
emisc_pcs=Estadístiques per client
emisc_xffh=Capçalera X-Forwarded-For
emisc_liq=Registra les peticions ICP
emisc_mdh=Salts directes mínims
emisc_kmffu=Conserva memòria per a un ús futur
emisc_aomtk=Quantitat de memòria a conservar
emisc_u=Il·limitada
emisc_htpt=Capçaleres que no s'han de filtrar
emisc_ah=Totes 
emisc_oh=Només les capçaleres
emisc_ae=Totes excepte les capçaleres
emisc_a=Anonimitzar
emisc_off=Desactivat
emisc_std=Estàndard
emisc_par=Paranoic
emisc_fua=Simula Agent d'Usuari
emisc_return=a l'índex de squid
emisc_hauhh=L'accelerador HTTP Fa Servir la Capçalera del Host
emisc_hash=Tenir únicament un servidor HTTP accelerat
emisc_hah=Host Accelerat HTTP
emisc_hap=Port Accelerat HTTP
emisc_hawp=Acceleració HTTP Amb Proxy
emisc_wccprtr=Adreça del Router WCCP 
emisc_wccpin=Adreça WCCP d'entrada
emisc_wccpout=Adreça WCCP de sortida

eports_ecannot=No tens permís per editar els ports i la xarxa
eports_header=Ports i Xarxa
eports_pano=Opcions de Ports i Xarxa
eports_paap=Ports i adreces de proxy
eports_p=Port
eports_hia=Nom de host/Adreça IP
eports_pp=Port de proxy
eports_ip=Port ICP
eports_ota=Adreça TCP sortint
eports_ita=Adreça TCP entrant
eports_a=Qualsevol
eports_oua=Adreça UDP sortint
eports_iua=Adreça UDP entrant
eports_mg=Grups multicast
eports_trb=Buffer de recepció TCP
eports_od=Defecte del SO
eports_return=a l'índex de squid

eprogs_ecannot=No tens permís per editar els programes auxiliars
eprogs_header=Programes Auxiliars
eprogs_chpo=Opcions de Programes Auxiliars del Cau
eprogs_sfp=Programa FTP de Squid
eprogs_fo=Opcions FTP
eprogs_fcv=Amplada de columna FTP
eprogs_c=caràcters
eprogs_afl=Usuari FTP anònim
eprogs_sdp=Programa DNS de Squid
eprogs_nodp=Nombre de programes DNS
eprogs_adtr=Afegeix el domini a les peticions
eprogs_dsa=Adreces del servidor DNS
eprogs_fr=De resolv.conf
eprogs_ccp=Programa de neteja del cau
eprogs_spp=Programa de <i>ping</i> de Squid
eprogs_crp=Programa de redirecció personalitzat
eprogs_norp=Nombre de programes de redirecció
eprogs_cap=Programa d'autenticació personalitzat
eprogs_noap=Nombre de programes d'autenticació
eprogs_return=a l'índex de squid

euser_header=Creació d'Usuari de Proxy
euser_header1=Edició d'Usuari de Proxy
euser_pud=Detalls d'Usuari de Proxy
euser_u=Usuari
euser_p=Contrasenya
euser_u1=Sense canvis
euser_e=Activat
euser_return=a la llista d'usuaris

ahttp_header=Creació de Restricció de Proxy
ahttp_header1=Edició de Restricció de Proxy
ahttp_pr=Restricció de Proxy
ahttp_a=Acció
ahttp_a1=Permet
ahttp_d=Denega
ahttp_ma=Fes coincidir les ACLs
ahttp_dma=No facis coincidir les ACLs
ahttp_return=a la llista d'ACLs

sahttp_ftspr=No he pogut desar la restricció de proxy

aicp_header=Creació de Restricció ICP
aicp_header1=Edició de Restricció ICP
aicp_ir=Restricció ICP
aicp_a=Acció
aicp_a1=Permet
aicp_d=Denega
aicp_ma=Fes coincidir les ACLs
aicp_dma=No facis coincidir les ACLs
aicp_return=a la llista d'ACLs

saicp_ftsir=No he pogut desar la restricció ICP

icache_ecannot=No tens permís per inicialitzar el cau
icache_title=Inicialització del Cau
icache_ftic=No he pogut inicialitzar el cau
icache_ymcautrsa=Has de triar un usuari sota el qual s'executa Squid
icache_itscwtc=Inicialitzant el cau de Squid amb l'ordre <tt>$1</tt>...
icache_return=a l'índex de squid

restart_ftrs=No he pogut reconfigurar Squid

sadmin_header=Canvi de Propietat
sadmin_ftsao=No he pogut desar les opcions administratives
sadmin_msg1=Has canviat l'usuari o el grup sota el qual s'executa Squid. Per tal que això tingui efecte, cal actualitzar la propietat de tots els fitxers de registre i del cau, i reiniciar Squid.
sadmin_buttco=Canvia el Propietari
sadmin_return=a l'índex de squid
sadmin_inavea='$1' no és una adreça de correu vàlida
sadmin_inavh='$1' no és un nom de host vàlid
sadmin_inavap='$1' no és un període d'anunci vàlid
sadmin_inavp='$1' no és un port vàlid

sauth_ftsao=No he pogut desar les opcions d'autenticació
sauth_iomuf=Hi falta el nom del fitxer d'usuaris o bé no és vàlid
sauth_iomd=Hi falta el domini o bé no és vàlid
sauth_msg1=La teva versió de Squid no s'ha compilat amb suport per autenticació de proxy

scache_ftsco=No he pogut desar les opcions del cau
scache_emsg0=Has d'introduir almenys un directori cau
scache_emsg1=El directori cau '$1' no existeix
scache_emsg2='$1' no és una mida de petició vàlida
scache_emsg3='$1' no és un temps de petició fallida de cau vàlid
scache_emsg4='$1' no és un temps de cau DNS vàlid
scache_emsg5='$1' no és un temps límit vàlid
scache_emsg6='$1' no és un temps vàlid
scache_emsg7='$1' no és un nombre de directoris vàlid
scache_emsg8=El nombre de directoris ha de ser >= 1
scache_emsg9=El nombre de directoris ha de ser <= 256
scache_emsg10='$1' no és una mida d'objecte vàlida
scache_emsg11='$1' no és un nombre d'objectes vàlid
scache_emsg12='$1' no és una mida de directori vàlida
scache_emsg13='$1' no és un host vàlid
scache_emsg14='$1' no és port vàlid

schost_ftsc=No he pogut desar el cau
schost_emsg1='$1' no és un nom de host cau vàlid
schost_emsg2='$1' no és un port de proxy vàlid
schost_emsg3='$1' no és un port ICP vàlid
schost_emsg4='$1' no és temps de vida vàlid
schost_emsg5='$1' no és un pesatge vàlid

sicp_ftsco=No he pogut desar les opcions del cau
sicp_emsg1='$1' no és un temps límit vàlid

slogs_ftslo=No he pogut desar les opcions de registre
slogs_emsg1='$1' no és un nom de fitxer absolut
slogs_emsg2='$1' no és un nom de fitxer vàlid
slogs_emsg3=El directori '$1' no existeix
slogs_emsg4='$1' no és una màscara de subxarxa vàlid
slogs_emsg5='$1' no és una llista d'opcions de depuració vàlida

smem_ftsmo=No he pogut desar les opcions de memòria
smem_emsg1='$1' no és una mida del cau vàlida
smem_emsg2='$1' no és una marca d'aigües alta vàlida
smem_emsg3='$1' no és una marca d'aigües baixa vàlida
smem_emsg4='$1' no és una mida d'objecte vàlida

smisc_ftso=No he pogut desar les opcions
smisc_emsg1='$1' no és un nombre de rotacions vàlid
smisc_emsg2='$1' no és un domini vàlid
smisc_emsg3='$1' no és una proxy vàlida
smisc_emsg4='$1' no és un nombre de salts vàlid

sport_ftspo=No he pogut desar les opcions del port
sport_emsg1='$1' no és un número de port vàlid
sport_emsg2='$1' no és una adreça vàlida
sport_emsg3='$1' no és una mida de buffer vàlida

sprog_ftshpo=No he pogut desar les opcions dels programes auxiliars
sprog_emsg1=Hi falten opcions FTP
sprog_emsg2='$1' no és un programa vàlid
sprog_emsg3='$1' no és un programa executable
sprog_emsg4='$1' no és una connexió FTP vàlida
sprog_emsg5='$1' no és un nombre de programes vàlid
sprog_emsg6='$1' no és una amplada de columna vàlida
sprog_emsg7=No has introduït cap servidor DNS
sprog_emsg8='$1' no és una adreça IP vàlida

suser_ftsu=No he pogut desar l'usuari
suser_emsg1=Hi falta el nom d'usuari o bé no és vàlid
suser_etaken=El nom d'usuari ja està en ús

start_ftsq=No he pogut iniciar Squid
start_ecannot=No tens permís per iniciar Squid
stop_ftsq=No he pogut aturar Squid
stop_ecannot=No tens permís per aturar Squid

calamaris_ecannot=No tens permís per accedir a l'anàlisi de registres Calamaris
calamaris_title=Anàlisi de Registres Calamaris
calamaris_last=Limitant l'anàlisi a les darreres $1 línies dels registres...
calamaris_eprog=No s'ha trobat l'executable calamaris $1. Potser no està instal·lat, o pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
calamaris_elogs=El directori de registre $1 no conté cap fitxer <tt>access.log</tt>. Pot ser que Squid encara no s'hagi executat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
calamaris_gen=Informe generat el $1

lib_emsg1='$1' no és una adreça IP vàlida
lib_seconds=segons
lib_minutes=minuts
lib_hours=hores
lib_days=dies
lib_weeks=setmanes
lib_fortnights=quinzenes
lib_months=mesos
lib_years=anys
lib_decades=dècades
lib_emsg2='$1' no és un nombre vàlid de $2
lib_kb=Kb
lib_mb=Mb
lib_gb=Gb
lib_emsg3='$1' no és un nombre vàlid de $2
lib_aclca=Adreces Client
lib_aclwsa=Adreça del Servidor Web
lib_aclch=Nom de Host Client
lib_aclwsh=Nom de Host Servidor Web
lib_acldat=Data i Hora
lib_aclur=Expressió Regular de l'URL
lib_aclupr=Expressió Regular del Camí de l'URL
lib_aclup=Port de l'URL
lib_aclup1=Protocol de l'URL
lib_aclrm=Mètode de Petició
lib_aclbr=Expressió Regular del Fullejador
lib_aclpl=Identificació Proxy
lib_aclsan=Número AS Origen
lib_acldan=Número AS Destí
lib_aclea=Autenticació Externa
lib_aclcr=Expressió Regular del Client
lib_aclwsr=Expressió Regular del Servidor Web
lib_aclru=Usuari RFC931
lib_aclpia=Adreça IP de la Proxy
lib_aclmc=Connexions Màximes
lib_aclpp=Port de la Proxy
lib_aclsc=Comunitat SNMP
lib_aclrmt=Tipus MIME de la Petició
lib_aclarp=Adreça Ethernet
lib_aclear=Expressió Regular de l'Autenticació Externa
lib_buttac=Aplica els Canvis
lib_buttss=Atura Squid
lib_buttss1=Inicia Squid

log_ports=He canviat les opcions de ports i xarxa
log_icp=He canviat les altre opcions del cau
log_mem=He canviat les opcions d'ús de memòria
log_logs=He canviat les opcions de registre
log_cache=He canviat les opcions del cau
lib_aclrur=Expressió regular d'Usuari RFC931
log_progs=He canviat les opcions dels programes auxiliars
log_admin=He canviat les opcions administratives
log_misc=He canviat les opcions miscel·lànies
log_clear=He netejat reconstruït el cau
log_acl_create=He creat l'ACL $1
log_acl_modify=He modificat l'ACL $1
log_acl_delete=He suprimit l'ACL $1
log_http_create=He creat la restricció de proxy
log_http_modify=He modificat la restricció de proxy
log_http_delete=He suprimit la restricció de proxy
log_http_move=He desplaçat la restricció de proxy
log_icp_create=He creat la restricció ICP
log_icp_modify=He modificat la restricció ICP
log_icp_delete=He suprimit la restricció ICP
log_icp_move=He desplaçat la restricció ICP
log_stop=He aturat el servidor proxy
log_start=He iniciat el servidor proxy
log_apply=He aplicat els canvis
log_host_create=He creat el host cau $1
log_host_modify=He modificat el host cau $1
log_host_delete=He suprimit el host cau $1
log_init=He inicialitzat el cau
log_user_create=He creat l'usuari de proxy $1
log_user_delete=He suprimit l'usuari de proxy $1
log_user_modify=He modificat l'usuari de proxy $1
log_always_create=He creat les ACLs d'accés directe
log_always_modify=He modificat les ACLs d'accés directe
log_always_delete=He suprimit les ACLs d'accés directe
log_always_move=He desplaçat les ACLs d'accés directe
log_never_create=He creat les ACLs d'accés indirecte
log_never_modify=He modificat les ACLs d'accés indirecte
log_never_delete=He suprimit les ACLs d'accés indirecte
log_never_move=He desplaçat les ACLs d'accés indirecte

acl_root=Directori arrel dels fitxers ACL
acl_sections=Pàgines de configuració permeses
acl_start=Pot iniciar i aturar squid

always_create=Crea Accés Directe
always_edit=Edita Accés Directe
always_header=Accedeix directament a les peticions que coincideixen amb les ACLs

never_create=Crea Accés Indirecte
never_edit=Edita Accés Indirecte
never_header=No accedeixis mai directament a les peticions que coincideixen amb les ACLs



   070701000498f7000081a40000000000000002000000013d1fe2d400004d73000000200000000000000000000000000000001400000003reloc/squid/lang/de   index_header=Squid Proxyserver
index_msgnoconfig=Die Squid-Konfigurationsdatei <tt>$1</tt> existiert nicht. Falls Squid installiert ist, passen Sie Ihre <a href=/config.cgi?$2 >Modulkonfiguration</a> an, um die korrekten Pfade zu benutzen 
index_msgnoexe=Die ausf&uuml;hrbare Squid-Datei mit Namen <tt>$1</tt> existiert nicht. Falls Squid installiert ist, passen Sie Ihre <a href=/config.cgi?$2 >Modulkonfiguration</a> an, um die korrekten Pfade zu benutzen.
index_msgnosupported=Ihre Version von Squid wird von Webmin nicht unterst&uuml;tzt. Lediglich die Versionen <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> und <tt>2.3</tt> werden von diesem Modul unterst&uuml;tzt. 
index_msgnodir1=Ihre Squid-Cache-Verzeichnisse <tt>$1</tt> wurden noch nicht initialisiert.
index_msgnodir2=Ihr Squid-Cache-Verzeichnis <tt>$1</tt> wurde noch nicht initialisiert.
index_msgnodir3=Dies muss erledigt werden, bevor Squid gestartet werden kann.
index_buttinit=Initialisiere Cache
index_asuser=als Unix-Benutzer
index_portsnets=Anschl&uuml;sse und Netzwerk
index_othercaches=Andere Caches
index_musage=Speichernutzung
index_logging=Protokollierung
index_copts=Cache-Einstellungen
index_hprogs=Hilfsprogramme
index_actrl=Zugriffskontrolle
index_admopts=Administrative Einstellungen
index_proxyauth=Proxy-Authentifizierung
index_miscopt=Verschiedene Einstellungen
index_cms=Cache-Manager-Statistiken
index_rebuild=Leere Cache und baue neu auf
index_return=Index
buttsave=Speichern
buttdel=L&ouml;schen
buttcreat=Erstellen
yes=Ja
no=Nein
default=Standard
none=Keines
on=An
off=Aus
acl_header1=ACL erstellen
acl_header2=ACL bearbeiten
acl_name=ACL-Name
acl_fromip=Von IP
acl_toip=zu IP
acl_nmask=Netzmaske
acl_ipaddr=IP-Adresse
acl_domains=Dom&auml;nen
acl_dofw=Tage der Woche
acl_sel=Ausgew&auml;hlte..
acl_all=Alle
acl_dsun=Sonntag
acl_dmon=Montag
acl_dtue=Dienstag
acl_dwed=Mittwoch
acl_dthu=Donnerstag
acl_dfri=Freitag
acl_dsat=Samstag
acl_hofd=Stunden des Tages
acl_to=zu
acl_regexp=Regul&auml;rer Ausdruck
acl_tcpports=TCP-Anschl&uuml;sse
acl_urlproto=URL-Protokolle
acl_reqmethods=Anfragemethoden
acl_bregexp=Browser-Regexp
acl_pusers=Proxy-Benutzer
acl_asnum=ALS Zahlen
acl_rtime=Aktualisiere Zeit
acl_rfcusers=RFC931-Benutzer
acl_mcr=Maximale Anzahl gleichzeitiger Anfragen
acl_psp=Proxy-Server-Anschluss
acl_scs=SNMP-Community-String
acl_failurl=Fehler-URL
acl_buttsave=Speichern
acl_buttdel=L&ouml;schen
acl_return=ACL-Liste
aclsave_failsave=Fehler beim Speichern der ACL
aclsave_faildel=Fehler beim L&ouml;schen der ACL
aclsave_epr=Diese ACL wird von einer Proxy-Regel benutzt
aclsave_eicpr=Diese ACL wird von einer ICP-Regel benutzt
aclsave_ename=Ung&uuml;ltiger ACL-Name
aclsave_eexists=Eine ACL mit dem Namen '$1' existiert bereits
aclsave_efrom='$1' ist keine g&uuml;ltige Von-IP-Adresse
aclsave_eto='$1' ist keine g&uuml;ltige Zu-IP-Adresse
aclsave_enmask='$1' ist keine g&uuml;ltige Netzmaske
aclsave_eip='$1' ist keine g&uuml;ltige IP-Adresse
aclsave_ecdom=Keine Client-Dom&auml;nen angegeben
aclsave_esdom=Keine Server-Dom&auml;nen angegeben
aclsave_eshour=Ung&uuml;ltige Stunde f&uuml;r Beginn
aclsave_eehour=Ung&uuml;ltige Stunde f&uuml;r Ende
aclsave_esmin=Ung&uuml;ltige Minute f&uuml;r Beginn
aclsave_eemin=Ung&uuml;ltige Minute f&uuml;r Ende
cach_err=Fehler
cach_nfound=Das Squid-Cache-Manager-Programm <tt>$1</tt> konnte auf Ihrem System nicht gefunden werden. Vielleicht ist Ihre <a href=/config.cgi?$2 >Modulkonfiguration</a> fehlerhaft.
cach_return=Squid-Index
chown_header=&Auml;ndere Besitzer
chown_stop=Stoppe Squid ...
chown_done=.. Fertig
chown_chown=&Auml;ndere Besitzer ...
chown_restart=Starte Squid neu ...
chown_failrestart=Fehler beim Neustart von Squid ..
clear_header=Leere Cache und baue neu auf
clear_msgclear=Sind Sie sicher, dass Sie den Cache leeren und neu erstellen wollen? Dies wird <b>alle</b> Dateien, die sich im Cache befinden l&ouml;schen und den Squid Server neu starten. 
clear_msgclear2=Sie sollten sicherstellen, dass Sie diesen Cache nicht nutzen, um mit dem Webmin-Server zu kommunizieren. Ansonsten wird die Verbindung getrennt werden, wenn Sie diesen Cache abschalten.
clear_buttclear=Leere Cache und baue neu auf
clear_stop=Stoppe Squid ...
clear_done=.. Fertig
clear_del=L&ouml;sche alte Cache-Dateien ..
clear_init=Initialisiere den Squid-Cache mit dem Befehl <tt>$1</tt> ..
clear_failrestart=Fehler beim Neustart von Squid ..
clear_return=Squid-Index
eacl_header=Zugriffskontrolle
eacl_acls=Zugriffskontrolllisten
eacl_name=Name
eacl_type=Typ
eacl_match=&Uuml;bereinstimmung..
eacl_noacls=Keine ACLs definiert
eacl_buttcreate=Erstelle neue ACL
eacl_pr=Proxy-Beschr&auml;nkungen
eacl_act=Aktion
eacl_acls1=ACLs
eacl_move=Verschieben
eacl_nopr=Keine Proxy-Beschr&auml;nkungen definiert
eacl_addpr=F&uuml;ge Proxy-Beschr&auml;nkung hinzu
eacl_icpr=ICP-Beschr&auml;nkungen
eacl_noicpr=Keine ICP-Beschr&auml;nkungen definiert
eacl_addicpr=F&uuml;ge ICP-Beschr&auml;nkung hinzu
eacl_return=Squid-Index
eadm_header=Administrative Einstellungen
eadm_aao=Administrative und Ank&uuml;ndigungseinstellungen
eadm_runasuu=F&uuml;hre aus als Unix-Benutzer
eadm_nochange=Keine &Auml;nderung
eadm_user=Benutzer
eadm_group=Gruppe
eadm_runasug=F&uuml;hre aus als Unix-Gruppe
eadm_par=Proxy-Authentifizierungs-Umgebung
eadm_default=Standard
eadm_cmemail=Cache-Manager-E-Mail-Adresse
eadm_vhost=Angezeigter Host-Name
eadm_uniq=Eindeutiger Host-Name
eadm_auto=Automatisch
eadm_annto=Gebe Cache bekannt an
eadm_annevery=Gebe Cache bekannt alle
eadm_never=Niemals
eadm_uniqhn=Eindeutiger Host-Name
eadm_cah=Cache-Bekanntmachungs-Host
eadm_cap=Cache-Bekanntmachungs-Anschluss
eadm_caf=Cache-Bekanntmachungs-Datei
eadm_none=Keines
eadm_annp=Bekanntmachungs-Intervall
eadm_buttsave=Speichern
eadm_return=Squid-Index
eauth_header=Proxy-Authentifizierung
eauth_aopt=Authentifizierungs-Einstellungen
eauth_puf=Proxy-Benutzer-Datei
eauth_none=Keines
eauth_nologin=Keine Anmeldung ben&ouml;tigt f&uuml;r Dom&auml;ne
eauth_buttsave=Speichern
eauth_msgaccess=Der Zugriff auf Ihren Proxy Server ist beschr&auml;nkt auf die Benutzer, die unten angegeben sind. Nach dem Hinzuf&uuml;gen oder L&ouml;schen eines Benutzers muss Squid neu gestartet werden, damit die &Auml;nderungen aktiv werden. 
eauth_pusers=Proxy-Benutzer
eauth_nopusers=Derzeit sind keine Proxy-Benutzer definiert.
eauth_addpuser=Einen neuen Proxy-Benutzer hinzuf&uuml;gen
eauth_return=Squid-Index
ec_header=Cache-Einstellungen
ec_cro=Cache- und Anfrageeinstellungen
ec_cdirs=Cache-Verzeichnisse
ec_default=Standard
ec_listed=Aufgelistete..
ec_directory=Verzeichnis
ec_type=Typ
ec_size=Gr&ouml;&szlig;e (MB)
ec_1dirs=Verz. der ersten Ebene
ec_2dirs=Verz. der zweiten Ebene
ec_u=UFS
ec_ua=Async UFS
ec_1dirs1=Verz. der ersten Ebene
ec_2dirs2=Verz. der zweiten Ebene
ec_aos=Durchschnittliche Objektgr&ouml;&szlig;e
ec_kb=kB
ec_mins=Minuten
ec_secs=Sek.
ec_opb=Objekte pro Verzeichnis
ec_ncuc=URLs, die folgendes enthalten, nicht zwischenspeichern
ec_ncum=URLs, die mit Folgendem &uuml;bereinstimmen, nicht zwischenspeichern
ec_ncua=URLs f&uuml;r folgende ACLs nicht zwischenspeichern
ec_mct=Maximale Cache-Zeit
ec_mrbs=Maximale Anfragedateigr&ouml;&szlig;e
ec_mrhs=Maximale Anfrage-Header-Gr&ouml;&szlig;e
ec_mrbs1=Maximale Antwortdateigr&ouml;&szlig;e
ec_mrs=Maximale Anfragegr&ouml;&szlig;e
ec_frct=Verweildauer von Fehlerantworten im Cache
ec_dlct=DNS-Lookup-Cache-Dauer
ec_fdct=Fehlgeschlagene DNS-Lookup-Cache-Dauer
ec_ct=Verbindungs-Timeout
ec_rt=Lese-Timeout
ec_mcct=Maximale Verbindungszeit f&uuml;r Clients
ec_mst=Maximale Shutdown-Zeit
ec_sst=Seitenauswahl-Timeout
ec_crt=Client-Anfrage-Timeout
ec_hcc=Halb-geschlossene Clients?
ec_pt=St&auml;ndiger Timeout
ec_wr=WAIS-Relay
ec_none=Keines
ec_host=Host
ec_port=Anschluss
ec_wrh=WAIS-Relay-Host
ec_wrp=WAIS-Relay-Anschluss
ec_buttsave=Speichern
ec_return=Squid-Index
ech_header=Cache-Host erstellen
ech_header1=Cache-Host bearbeiten
ech_cho=Cache-Host-Einstellungen
ech_h=Host-Name
ech_parent=&uuml;bergeordneter
ech_sibling=untergeordneter
ech_multicast=multicast
ech_t=Typ
ech_pp=Proxy-Anschluss
ech_ip=ICP-Anschluss
ech_po=Nur Proxy?
ech_y=Ja
ech_n=Nein
ech_siq=Sende ICP-Anfragen?
ech_dc=Standard-Cache?
ech_rrc=Round-Robin-Cache?
ech_ittl=ICP-Time-To-Live
ech_d=Standard
ech_cw=Cache-Gewichtung
ech_co=Nur n&auml;chsten?
ech_nd=Keine Auswahl?
ech_nne=Kein NetDB-Austausch?
ech_nd1=Keine Verz&ouml;gerung?
ech_ltp=Anmeldung auf Proxy
ech_nl=Keine Anmeldung
ech_u=Benutzer:
ech_p=Kennwort:
ech_mr=Multicast-Responder?
ech_qhfd=Frage bei Host an f&uuml;r Dom&auml;nen
ech_dqfd=Frage nicht an f&uuml;r Dom&auml;nen
ech_buttsave=Speichern
ech_buttdel=L&ouml;schen
ech_return=Cache-Liste
eicp_header=Andere Caches
eicp_opcs=Andere Proxy-Cacheserver
eicp_nocd=Keine anderen Caches definiert
eicp_aac=Einen anderen Cache hinzuf&uuml;gen
eicp_cso=Cache-Auswahleinstellungen
eicp_fdfd=Hole direkt von Dom&auml;nen
eicp_fdfi=Hole direkt von IPs
eicp_dif=Dom&auml;nen innerhalb einer Firewall
eicp_iif=IPs innerhalb einer Firewall
eicp_dfuc=Hole URLs direkt, die Folgendes enthalten
eicp_d=Standard
eicp_bpfsp=Umgehe Ping f&uuml;r einfachen &Uuml;bergeordneten?
eicp_y=Ja
eicp_n=Nein
eicp_ssip=Sende Quelle in Ping?
eicp_crt=Cache-Antwort-Timeout
eicp_iqt=ICP-Anfrage-Timeout
eicp_mit=Multicase-ICP-Timeout
eicp_dpt=Timeout f&uuml;r abgebrochenen Kontakt
eicp_h=Host-Name
eicp_t=Typ
eicp_pp=Proxy-Anschluss
eicp_ip=ICP-Anschluss
eicp_return=Squid-Index
eicp_always=ACLs f&uuml;r Direktabholung 
eicp_noalways=Keine ACLs f&uuml;r Direktabholung definiert
eicp_addalways=ACLs f&uuml;r Direktabholung hinzuf&uuml;gen
eicp_never=ACLs, die indirekt abholen
eicp_nonever=Keine ACLs definiert, die indirekt abholen
eicp_addnever=ACLs hinzuf&uuml;gen, die indirekt abholen
elogs_header=Protokollierung
elogs_lalo=Protokollierung und Protokolldateieinstellungen
elogs_alf=Zugriffsprotokolldatei
elogs_dlf=Debug-Protokolldatei
elogs_slf=Speicherprotokolldatei
elogs_cmf=Cache-Metadata-Datei
elogs_uhlf=Benutze HTTPD-Protokollformat?
elogs_lmh=MIME-Header protokollieren?
elogs_ualf=Benutzeragentprotokolldatei
elogs_pf=PID-Datei
elogs_prilfa=F&uuml;hre RFC931-Ident-Lookups f&uuml;r ACLs aus
elogs_rit=RFC931-Ident-Timeout
elogs_dril=F&uuml;hre RFC931-Ident-Lookups aus?
elogs_lfh=Vollen Host-Namen protokollieren?
elogs_ln=Protokollierung der Netzmaske
elogs_do=Debug-Einstellungen
elogs_mht=MIME-Header-Tabelle
elogs_return=Squid-Index
emem_header=Speichernutzung
emem_maduo=Speicher- und Plattennutzungseinstellungen
emem_mul=Speichernutzungsgrenzwert
emem_dul=Plattennutzungsgrenzwert
emem_fcs=FQDN-Cache-Gr&ouml;&szlig;e
emem_mb=MB
emem_kb=kB
emem_mhwm=Oberer Schwellenwert f&uuml;r Speicher
emem_mlwm=Unterer Schwellenwert f&uuml;r Speicher
emem_dhwm=Oberer Schwellenwert f&uuml;r Festplatte
emem_dlwm=Unterer Schwellenwert f&uuml;r Festplatte
emem_mcos=Maximale Gr&ouml;&szlig;e zwischengespeicherter Objekte
emem_iacs=IP-Adressen-Cache-Gr&ouml;&szlig;e
emem_e=Eintr&auml;ge
emem_ichwm=Oberer Schwellenwert f&uuml;r IP-Cache
emem_iclwm=Unterer Schwellenwert f&uuml;r IP-Cache
emem_return=Squid-Index
emisc_header=Verschiedene Einstellungen
emisc_mo=Verschiedene Einstellungen
emisc_sdta=Startup-DNS-Testadressen
emisc_slr=SIGUSR1-Protokolldateirotationen
emisc_dd=Standarddom&auml;ne
emisc_sp=SSL-Proxy
emisc_nghp=Nicht-GET-HTTP-Proxy
emisc_emt=Fehlermeldungstext
emisc_pcs=Statistiken pro Client?
emisc_xffh=X-Forwarded-For Header?
emisc_liq=ICP-Anfragen protokollieren?
emisc_mdh=Minimale direkte Hops
emisc_kmffu=Reserviere Speicher f&uuml;r zuk&uuml;nftige Nutzung?
emisc_aomtk=Gr&ouml;&szlig;e des zu reservierenden Speichers
emisc_u=Unbegrenzt
emisc_htpt=Header, die durchgehen
emisc_ah=Alle Header
emisc_oh=Nur folgende Header
emisc_ae=Alle au&szlig;er
emisc_a=Anonymizer?
emisc_off=Aus
emisc_std=Standard
emisc_par=Paranoid
emisc_fua=Falscher Benutzeragent
emisc_return=Squid-Index
emisc_hauhh=HTTP-Accel benutzt Host-Header
emisc_hah=HTTP-Accel-Host
emisc_hap=HTTP-Accel-Anschluss
emisc_hawp=HTTP-Accel mit Proxy
eports_header=Anschl&uuml;sse und Netzwerk
eports_pano=Anschluss- und Netzwerkeinstellungen
eports_paap=Proxy-Adressen und -Anschl&uuml;sse
eports_p=Anschluss
eports_hia=Host-Name/IP-Adresse
eports_pp=Proxy-Anschluss
eports_ip=ICP-Anschluss
eports_ota=Ausgehende TCP-Adresse
eports_ita=Eingehende TCP-Adresse
eports_a=Beliebig
eports_oua=Ausgehende UDP-Adresse
eports_iua=Eingehende UDP-Adresse
eports_mg=Multicast-Gruppen
eports_trb=TCP-Empfangspuffer
eports_od=OS-Standard
eports_return=Squid-Index
eprogs_header=Hilfsprogramme
eprogs_chpo=Einstellungen f&uuml;r Cache-Hilfsprogramme
eprogs_sfp=Squid FTP-Programm
eprogs_fo=FTP-Einstellungen
eprogs_fcv=FTP-Spaltenbreite
eprogs_c=Zeichen
eprogs_afl=Anon. FTP-Anmeldung
eprogs_sdp=Squid DNS-Programm
eprogs_nodp=Anzahl von DNS-Programmen
eprogs_adtr=H&auml;nge Dom&auml;ne an Anfragen an
eprogs_dsa=DNS-Server-Adressen
eprogs_fr=Aus resolv.conf
eprogs_ccp=Cache-Reinigungsprogramm
eprogs_spp=Squid-Ping-Programm
eprogs_crp=Eigenes Weiterleitungsprogramm
eprogs_norp=Anzahl von Weiterleitungsprogrammen
eprogs_cap=Eigenes Authentifizierungsprogramm
eprogs_noap=Anzahl von Authentifizierungsprogrammen
eprogs_return=Squid-Index
euser_header=Proxy-Benutzer erstellen
euser_header1=Proxy-Benutzer bearbeiten
euser_pud=Proxy-Benutzerdetails
euser_u=Benutzername
euser_p=Kennwort
euser_u1=Unver&auml;ndert
euser_return=Benutzerliste
ahttp_header=Proxy-Regel erstellen
ahttp_header1=Proxy-Regel bearbeiten
ahttp_pr=Proxy-Regel
ahttp_a=Aktion
ahttp_a1=Gestatten
ahttp_d=Verweigern
ahttp_ma=&Uuml;bereinstimmende ACLs
ahttp_dma=Nicht &uuml;bereinstimmende ACLs
ahttp_return=ACL-Liste
sahttp_ftspr=Fehler beim Speichern der Proxy-Regel
aicp_header=ICP-Regel erstellen
aicp_header1=ICP-Regel bearbeiten
aicp_ir=ICP-Regel
aicp_a=Aktion
aicp_a1=Gestatten
aicp_d=Verweigern
aicp_ma=&Uuml;bereinstimmende ACLs
aicp_dma=Nicht &uuml;bereinstimmende ACLs
aicp_return=ACL-Liste
saicp_ftsir=Fehler beim Speichern der ICP-Regel
icache_ftic=Fehler beim initialisieren des Caches
icache_ymcautrsa=Sie m&uuml;ssen einen Benutzer definieren, als der Squid ausgef&uuml;hrt werden soll
icache_header=Initialisiere Cache
icache_itscwtc=Initialisiere den Squid-Cache mit dem Befehl <tt>$1</tt> ..
icache_return=Squid-Index
restart_ftrs=Fehler bei der Neukonfiguration von Squid
sadmin_ftsao=Fehler beim Speichern der adminstrativen Einstellungen
sadmin_header=&Auml;ndere Besitzer
sadmin_msg1=Sie haben den Benutzer oder die Gruppe ge&auml;ndert, als der Squid ausgef&uuml;hrt wird. Damit dies richtig funktioniert, sollten die Besitzrechte aller Cache- und Protokolldateien aktualisiert und Squid neu gestartet werden. 
sadmin_buttco=&Auml;ndere Besitzer
sadmin_return=Squid-Index
sadmin_inavea='$1' ist keine g&uuml;ltige E-Mail-Adresse
sadmin_inavh='$1' ist kein g&uuml;ltiger Host-Name
sadmin_inavap='$1' ist keine g&uuml;ltiges Bekanntgabeintervall
sadmin_inavp='$1' ist kein g&uuml;ltiger Anschluss
sauth_ftsao=Fehler beim Speichern der Authentifizierungseinstellungen
sauth_iomuf=Fehlender oder ung&uuml;ltiger Benutzerdateiname
sauth_iomd=Fehlende oder ung&uuml;ltige Dom&auml;ne
sauth_msg1=Ihre Version von Squid wurde nicht mit der Unterst&uuml;tzung f&uuml;r Proxy-Authentifizierung kompiliert.
scache_ftsco=Fehler beim Speichern der Cache-Einstellungen
scache_emsg0=Sie m&uuml;ssen mindestens ein Cache-Verzeichnis angeben
scache_emsg1=Das Cache-Verzeichnis '$1' existiert nicht
scache_emsg2='$1' ist keine g&uuml;ltige Anfragegr&ouml;&szlig;e
scache_emsg3='$1' ist keine g&uuml;ltige Cache-Dauer f&uuml;r fehlgeschlagene Anfragen
scache_emsg4='$1' ist keine g&uuml;ltige DNS-Cache-Dauer
scache_emsg5='$1' ist kein g&uuml;ltiger Timeout
scache_emsg6='$1' ist keine g&uuml;ltige Zeit
scache_emsg7='$1' ist keine g&uuml;ltige Anzahl von Verzeichnissen
scache_emsg8=Anzahl von Verzeichnissen muss >= 1 sein
scache_emsg9=Anzahl von Verzeichnissen muss <= 256 sein
scache_emsg10='$1' ist keine g&uuml;ltige Objektgr&ouml;&szlig;e
scache_emsg11='$1' ist keine g&uuml;ltige Anzahl von Objekten
scache_emsg12='$1' ist keine g&uuml;ltige Verzeichnisgr&ouml;&szlig;e
scache_emsg13='$1' ist kein g&uuml;ltiger Host
scache_emsg14='$1' ist kein g&uuml;ltiger Anschluss
schost_ftsc=Fehler beim Speichern des Caches
schost_emsg1='$1' ist kein g&uuml;ltiger Cache-Host-Name
schost_emsg2='$1' ist kein g&uuml;ltiger Proxy-Anschluss
schost_emsg3='$1' ist kein g&uuml;ltiger ICP-Anschluss
schost_emsg4='$1' ist keine g&uuml;ltige Time-To-Live
schost_emsg5='$1' ist keine g&uuml;ltige Gewichtung
sicp_ftsco=Fehler beim Speichern der Cache-Einstellungen
sicp_emsg1='$1' ist kein g&uuml;ltiger Timeout
slogs_ftslo=Fehler beim Speichern der Protokollierungseinstellungen
slogs_emsg1='$1' ist kein absoluter Dateiname
slogs_emsg2='$1' ist kein g&uuml;ltiger Dateiname
slogs_emsg3=Das Verzeichnis '$1' existiert nicht
slogs_emsg4='$1' ist keine g&uuml;ltige Netzmaske
slogs_emsg5='$1' ist keine g&uuml;ltige Debug-Einstellungsliste
smem_ftsmo=Fehler beim Speichern der Speichereinstellungen
smem_emsg1='$1' ist keine g&uuml;ltige Cache-Gr&ouml;&szlig;e
smem_emsg2='$1' ist kein g&uuml;ltiger oberer Schwellenwert
smem_emsg3='$1' ist kein g&uuml;ltiger unterer Schwellenwert
smem_emsg4='$1' ist keine g&uuml;ltige Objektgr&ouml;&szlig;e
smisc_ftso=Fehler beim Speichern der Einstellungen
smisc_emsg1='$1' ist keine g&uuml;ltige Anzahl von Rotationen
smisc_emsg2='$1' ist keine g&uuml;ltige Dom&auml;ne
smisc_emsg3='$1' ist kein g&uuml;ltiger Proxy
smisc_emsg4='$1' ist keine g&uuml;ltige Anzahl an Hops
sport_ftspo=Fehler beim Speichern der Anschlusseinstellungen
sport_emsg1='$1' ist keine g&uuml;ltige Anschlussnummer
sport_emsg2='$1' ist keine g&uuml;ltige Adresse
sport_emsg3='$1' ist keine g&uuml;ltige Puffergr&ouml;&szlig;e
sprog_ftshpo=Fehler beim Speichern der Einstellungen f&uuml;r Hilfsprogramme
sprog_emsg1=Fehlende FTP-Einstellungen
sprog_emsg2='$1' ist kein g&uuml;ltiges Programm
sprog_emsg3='$1' ist kein ausf&uuml;hrbares Programm
sprog_emsg4='$1' ist keine g&uuml;ltige FTP-Anmeldung
sprog_emsg5='$1' ist keine g&uuml;ltige Anzahl von Programmen
sprog_emsg6='$1' ist keine g&uuml;ltige Spaltenbreite
sprog_emsg7=Es wurden keine DNS-Server angegeben
sprog_emsg8='$1' ist keine g&uuml;ltige IP-Adresse
suser_ftsu=Fehler beim Speichern des Benutzers
suser_emsg1=Fehlender oder ung&uuml;ltiger Benutzername
start_ftsq=Fehler beim Starten von Squid
stop_ftsq=Fehler beim Stoppen von Squid
lib_emsg1='$1' ist keine g&uuml;ltige IP-Adresse
lib_seconds=Sekunden
lib_minutes=Minuten
lib_hours=Stunden
lib_days=Tage
lib_weeks=Wochen
lib_fortnights=Zwei Wochen
lib_months=Monate
lib_years=Jahre
lib_decades=Jahrzehnte
lib_emsg2='$1' ist keine g&uuml;ltige Anzahl von $2
lib_kb=kBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' ist keine g&uuml;ltige Anzahl von $2
lib_aclca=Client-Adresse
lib_aclwsa=Webserver-Adresse
lib_aclch=Client-Host-Name
lib_aclwsh=Webserver-Host-Name
lib_acldat=Datum und Zeit
lib_aclur=URL-Regexp
lib_aclupr=URL-Pfad-Regexp
lib_aclup=URL-Anschluss
lib_aclup1=URL-Protokoll
lib_aclrm=Anfragemethode
lib_aclbr=Browser-Regexp
lib_aclpl=Proxy-Anmeldung
lib_aclsan=Quelle ALS Nummer
lib_acldan=Ziel ALS Nummer
lib_aclea=Externe Auth.
lib_aclcr=Client-Regexp
lib_aclwsr=Web-Server-Regexp
lib_aclru=RFC931-Benutzer
lib_aclpia=Proxy-IP-Adresse
lib_aclmc=Maximale Anzahl von Verbindungen
lib_aclpp=Proxy-Anschluss
lib_aclsc=SNMP-Community
lib_buttac=&Auml;nderungen anwenden
lib_buttss=Stoppe Squid
lib_buttss1=Starte Squid

acl_root=Root-Verzeichnis f&uuml;r ACL-Dateien
acl_sections=Zugelassene Konfigurationsseiten
acl_start=Starten und Beenden von Squid f&uuml;r diese ACL erlaubt?

always_create=Erzeuge Direktabholung
always_edit=Bearbeite Direktabholung
always_header=Hole Anfragen dieser ACLs direkt ab:

never_create=Erzeuge indirekte Abholung
never_edit=Bearbeite indirekte Abholung
never_header=Hole Anfragen dieser ACLs indirekt ab:
 070701000498f8000081a40000000000000002000000013d1fe2d4000050ad000000200000000000000000000000000000001400000003reloc/squid/lang/en   index_header=Squid Proxy Server
index_msgnoconfig=The Squid config file <tt>$1</tt> does not exist. If you have Squid installed, adjust your <a href=/config.cgi?$2 >module configuration</a> to use the correct paths.
index_msgnoexe=The Squid executable <tt>$1</tt> does not exist. If you have Squid installed, adjust your <a href=/config.cgi?$2 >module configuration</a> to use the correct path.
index_msgnosupported2=Your version of Squid is not supported by Webmin. Only versions from $1 to $2 are supported by this module.
index_msgnodir1=Your Squid cache directories <tt>$1</tt> have not been initialized.
index_msgnodir2=Your Squid cache directory <tt>$1</tt> has not been initialized.
index_msgnodir3=This must be done before Squid can be run.
index_buttinit=Initialize Cache
index_asuser=as Unix user
index_portsnets=Ports and Networking
index_othercaches=Other Caches
index_musage=Memory Usage
index_mdusage=Memory and Disk Usage
index_logging=Logging
index_copts=Cache Options
index_hprogs=Helper Programs
index_actrl=Access Control
index_admopts=Administrative Options
index_proxyauth=Proxy Authentication
index_miscopt=Miscellaneous Options
index_cms=Cache Manager Statistics
index_rebuild=Clear and Rebuild Cache
index_calamaris=Calamaris Log Analysis
index_return=index
index_squidver=The command <tt>$1</tt> returned :
index_version=Squid version $1

buttsave=Save
buttdel=Delete
buttcreat=Create
yes=Yes
no=No
default=Default
none=None
on=On
off=Off

acl_header1=Create ACL
acl_header2=Edit ACL
acl_name=ACL Name
acl_fromip=From IP
acl_toip=To IP
acl_nmask=Netmask
acl_ipaddr=IP Address
acl_domains=Domains
acl_dofw=Days of the Week
acl_sel=Selected..
acl_all=All
acl_dsun=Sunday
acl_dmon=Monday
acl_dtue=Tuesday
acl_dwed=Wednesday
acl_dthu=Thursday
acl_dfri=Friday
acl_dsat=Saturday
acl_hofd=Hours of the Day
acl_to=to
acl_regexp=Regular Expressions
acl_tcpports=TCP Ports
acl_urlproto=URL Protocols
acl_reqmethods=Request Methods
acl_bregexp=Browser Regexp
acl_pusers=Proxy Users
acl_eusers=External Auth Users
acl_case=Ignore case?
acl_eusersre=External Auth User Regexps
acl_asnum=AS Numbers
acl_rtime=Refresh Time
acl_rfcusers=RFC931 Users
acl_rfcusersr=RFC931 Users Regexps
acl_mcr=Maximum Concurrent Requests
acl_psp=Proxy Server Port
acl_scs=SNMP Community String
acl_rmt=Request MIME Type
acl_arp=Client ethernet addresses
acl_failurl=Failure URL
acl_buttsave=Save
acl_buttdel=Delete
acl_return=ACL list

aclsave_failsave=Failed to save ACL
aclsave_faildel=Failed to delete ACL
aclsave_epr=This ACL is being used by a proxy restriction
aclsave_eicpr=This ACL is being used by an ICP restriction
aclsave_ename=Invalid ACL name
aclsave_eexists=An ACL called '$1' already exists
aclsave_efrom='$1' is not a valid From IP address
aclsave_eto='$1' is not a valid To IP address
aclsave_enmask='$1' is not a valid netmask
aclsave_eip='$1' is not a valid IP address
aclsave_ecdom=No client domains given
aclsave_esdom=No server domains given
aclsave_eshour=Invalid starting hour
aclsave_eehour=Invalid ending hour
aclsave_esmin=Invalid starting min
aclsave_eemin=Invalid ending min
aclsave_efile=You are not allowed to write to the ACL file '$1'

cach_ecannot=You are not allowed to access cache manager statistics
cach_err=Error
cach_nfound=The Squid cache manager program <tt>$1</tt> was not found on your system. Maybe your <a href=/config.cgi?$2 >module configuration</a> is incorrect.
cach_return=squid index

chown_header=Change Ownership
chown_stop=Stopping squid ...
chown_done=.. Done
chown_chown=Changing ownership ...
chown_restart=Re-starting Squid ...
chown_failrestart=Failed to re-start Squid ..
chown_return=squid index

clear_ecannot=You are not allowed to clear and rebuild the cache
clear_header=Clear and Rebuild Cache
clear_msgclear=Are you sure you want to clear and rebuild your Squid cache? This will delete <b>all</b> the files you have cached and re-start your Squid server.
clear_msgclear2=You should make sure you are not using this cache to communicate with this Webmin server, or you will be disconnected when the cache is shut down.
clear_buttclear=Clear and Rebuild Cache
clear_stop=Stopping squid ...
clear_done=.. Done
clear_del=Deleting old cache files ..
clear_init=Initializing the Squid cache with the command <tt>$1</tt> ..
clear_failrestart=Failed to re-start Squid ..
clear_return=squid index

eacl_ecannot=You are not allowed to edit access control
eacl_header=Access Control
eacl_acls=Access control lists
eacl_name=Name
eacl_type=Type
eacl_match=Matching..
eacl_noacls=No ACLs defined
eacl_buttcreate=Create new ACL
eacl_pr=Proxy restrictions
eacl_act=Action
eacl_acls1=ACLs
eacl_move=Move
eacl_nopr=No proxy restrictions defined
eacl_addpr=Add proxy restriction
eacl_icpr=ICP restrictions
eacl_noicpr=No ICP restrictions defined
eacl_addicpr=Add ICP restriction
eacl_return=squid index
eacl_allow=Allow
eacl_deny=Deny

eadm_ecannot=You are not allowed to edit administrative options
eadm_header=Administrative Options
eadm_aao=Administrative and Announce Options
eadm_runasuu=Run as Unix user
eadm_nochange=No change
eadm_user=User
eadm_group=Group
eadm_runasug=Run as Unix group
eadm_par=Proxy authentication realm
eadm_default=Default
eadm_cmemail=Cache manager email address
eadm_vhost=Visible hostname
eadm_uniq=Unique hostname
eadm_haliases=Other cache DNS names
eadm_none=None
eadm_auto=Automatic
eadm_annto=Announce cache to
eadm_annevery=Announce cache every
eadm_never=Never
eadm_uniqhn=Unique hostname
eadm_cah=Cache announce host
eadm_cap=Cache announce port
eadm_caf=Cache announce file
eadm_annp=Announcement period
eadm_buttsave=Save
eadm_return=squid index

eauth_ecannot=You are not allowed to edit proxy authentication
eauth_header=Proxy Authentication
eauth_aopt=Authentication Options
eauth_puf=Proxy users file
eauth_none=None
eauth_nologin=No login needed for domain
eauth_buttsave=Save
eauth_msgaccess=Access to your proxy server is limited to the users listed below. After adding, deleting or removing a user Squid must be stopped and started again for the changes to take effect.
eauth_nmsgaccess=Access to your proxy server is limited to the users listed below, taken from the file $1.
eauth_pusers=Proxy Users
eauth_nopusers=No proxy users are currently defined.
eauth_addpuser=Add a new proxy user
eauth_return=squid index

ec_ecannot=You are not allowed to edit cache options
ec_header=Cache Options
ec_cro=Caching and Request Options
ec_cdirs=Cache directories
ec_default=Default
ec_listed=Listed..
ec_directory=Directory
ec_type=Type
ec_opts=Options
ec_size=Size (MB)
ec_1dirs=1st level dirs
ec_2dirs=2nd level dirs
ec_u=UFS
ec_ua=Async UFS
ec_diskd=DISKD
ec_1dirs1=First level directories
ec_2dirs2=Second level directories
ec_aos=Average object size
ec_kb=kB
ec_mins=mins
ec_secs=secs
ec_opb=Objects per bucket
ec_ncuc=Don't cache URLs containing
ec_ncum=Don't cache URLs matching
ec_ncua=Don't cache URLs for ACLs
ec_mct=Maximum cache time
ec_mrbs=Maximum request body size
ec_mrhs=Maximum request headers size
ec_mrbs1=Maximum reply body size
ec_mrs=Maximum request size
ec_frct=Failed request cache time
ec_dlct=DNS lookup cache time
ec_fdct=Failed DNS cache time
ec_ct=Connect timeout
ec_rt=Read timeout
ec_mcct=Max client connect time
ec_mst=Max shutdown time
ec_sst=Site selection timeout
ec_crt=Client request timeout
ec_hcc=Half-closed clients?
ec_pt=Persistant timeout
ec_wr=WAIS relay
ec_none=None
ec_host=Host
ec_port=Port
ec_wrh=WAIS relay host
ec_wrp=WAIS relay port
ec_buttsave=Save
ec_return=squid index

ech_header=Create Cache Host
ech_header1=Edit Cache Host
ech_cho=Cache Host Options
ech_h=Hostname
ech_parent=parent
ech_sibling=sibling
ech_multicast=multicast
ech_t=Type
ech_pp=Proxy port
ech_ip=ICP port
ech_po=Proxy only?
ech_y=Yes
ech_n=No
ech_siq=Send ICP queries?
ech_dc=Default cache?
ech_rrc=Round-robin cache?
ech_ittl=ICP time-to-live
ech_d=Default
ech_cw=Cache weighting
ech_co=Closest only?
ech_nd=No digest?
ech_nne=No NetDB exchange?
ech_nd1=No delay?
ech_ltp=Login to proxy
ech_nl=No login
ech_u=User:
ech_p=Pass:
ech_pass=Pass on client authentication to this cache
ech_upass=Pass on client login with password:
ech_mr=Multicast responder?
ech_qhfd=Query host for domains
ech_dqfd=Don't query for domains
ech_buttsave=Save
ech_buttdel=Delete
ech_return=cache list

eicp_ecannot=You are not allowed to edit other caches
eicp_header=Other Caches
eicp_opcs=Other proxy cache servers
eicp_nocd=No other caches defined
eicp_aac=Add another cache
eicp_cso=Cache Selection Options
eicp_fdfd=Fetch directly from domains
eicp_fdfi=Fetch directly from IPs
eicp_dif=Domains inside firewall
eicp_iif=IPs inside firewall
eicp_dfuc=Directly fetch URLs containing
eicp_d=Default
eicp_bpfsp=Bypass ping for single parent?
eicp_y=Yes
eicp_n=No
eicp_secs=secs
eicp_ssip=Send source in ping?
eicp_crt=Cache reply timeout
eicp_iqt=ICP query timeout
eicp_mit=Multicase ICP timeout
eicp_dpt=Dead peer timeout
eicp_h=Hostname
eicp_t=Type
eicp_pp=Proxy port
eicp_ip=ICP port
eicp_return=squid index
eicp_always=ACLs to fetch directly
eicp_noalways=No direct fetch ACLs defined
eicp_addalways=Add ACLs to fetch directly
eicp_never=ACLs never to fetch directly
eicp_nonever=No never direct fetch ACLs defined
eicp_addnever=Add ACLs never to fetch directly

elogs_ecannot=You are not allowed to edit logging
elogs_header=Logging
elogs_lalo=Logging and Logfile Options
elogs_alf=Access log file
elogs_dlf=Debug log file
elogs_slf=Storage log file
elogs_cmf=Cache metadata file
elogs_uhlf=Use HTTPD log format?
elogs_lmh=Log MIME headers?
elogs_ualf=User agent log file
elogs_pf=PID file
elogs_prilfa=Perform RFC931 ident lookups for ACLs
elogs_rit=RFC931 ident timeout
elogs_dril=Do RFC931 ident lookups?
elogs_lfh=Log full hostnames?
elogs_ln=Logging netmask
elogs_do=Debug options
elogs_mht=MIME headers table
elogs_return=squid index

emem_ecannot=You are not allowed to edit memory usage
emem_dheader=Memory and Disk Usage
emem_header=Memory Usage
emem_maduo=Memory and Disk Usage Options
emem_mul=Memory usage limit
emem_dul=Disk usage limit
emem_fcs=FQDN cache size
emem_mb=MB
emem_kb=kB
emem_mhwm=Memory high-water mark
emem_mlwm=Memory low-water mark
emem_dhwm=Disk high-water mark
emem_dlwm=Disk low-water mark
emem_mcos=Maximum cached object size
emem_iacs=IP address cache size
emem_e=entries
emem_ichwm=IP cache high-water mark
emem_iclwm=IP cache low-water mark
emem_crp=Disk replacement policy
emem_lru=Least recently used
emem_gdsf=Greedy-dual size frequency
emem_lfuda=Dynamic least frequently used
emem_hlru=Heap least frequently used
emem_return=squid index
emem_mrp=Memory replacement policy

emisc_ecannot=You are not allowed to edit miscellaneous options
emisc_header=Miscellaneous Options
emisc_mo=Miscellaneous Options
emisc_sdta=Startup DNS test addresses
emisc_slr=SIGUSR1 logfile rotations
emisc_dd=Default domain
emisc_sp=SSL proxy
emisc_nghp=Non-GET HTTP proxy
emisc_emt=Error messages text
emisc_pcs=Per-client statistics?
emisc_xffh=X-Forwarded-For header?
emisc_liq=Log ICP queries?
emisc_mdh=Minimum direct hops
emisc_kmffu=Keep memory for future use?
emisc_aomtk=Amount of memory to keep
emisc_u=Unlimited
emisc_htpt=Headers to pass through
emisc_ah=All headers
emisc_oh=Only headers
emisc_ae=All except
emisc_a=Anonymizer?
emisc_off=Off
emisc_std=Standard
emisc_par=Paranoid
emisc_fua=Fake User-Agent
emisc_return=squid index
emisc_hauhh=HTTP Accel Uses Host Header
emisc_hash=Only have single HTTP Accel server?
emisc_hah=HTTP Accel Host
emisc_hap=HTTP Accel Port
emisc_hawp=HTTP Accel With Proxy
emisc_wccprtr=WCCP Router Address
emisc_wccpin=WCCP Incoming Address
emisc_wccpout=WCCP Outgoing Address

eports_ecannot=You are not allowed to edit ports and networking
eports_header=Ports and Networking
eports_pano=Ports and Networking Options
eports_paap=Proxy addresses and ports
eports_p=Port
eports_hia=Hostname/IP address
eports_pp=Proxy port
eports_ip=ICP port
eports_ota=Outgoing TCP address
eports_ita=Incoming TCP address
eports_a=Any
eports_oua=Outgoing UDP address
eports_iua=Incoming UDP address
eports_mg=Multicast groups
eports_trb=TCP receive buffer
eports_od=OS default
eports_return=squid index

eprogs_ecannot=You are not allowed to edit helper programs
eprogs_header=Helper Programs
eprogs_chpo=Cache Helper Program Options
eprogs_sfp=Squid FTP program
eprogs_fo=FTP options
eprogs_fcv=FTP column width
eprogs_c=chars
eprogs_afl=Anon FTP login
eprogs_sdp=Squid DNS program
eprogs_nodp=Number of DNS programs
eprogs_adtr=Append domain to requests
eprogs_dsa=DNS server addresses
eprogs_fr=From resolv.conf
eprogs_ccp=Cache clearing program
eprogs_spp=Squid ping program
eprogs_crp=Custom redirect program
eprogs_norp=Number of redirect programs
eprogs_cap=Authentication program
eprogs_capweb=Webmin default
eprogs_noap=Number of authentication programs
eprogs_return=squid index

euser_header=Create Proxy User
euser_header1=Edit Proxy User
euser_pud=Proxy User Details
euser_u=Username
euser_p=Password
euser_u1=Unchanged
euser_e=Enabled?
euser_return=users list

ahttp_header=Create Proxy Restriction
ahttp_header1=Edit Proxy Restriction
ahttp_pr=Proxy Restriction
ahttp_a=Action
ahttp_a1=Allow
ahttp_d=Deny
ahttp_ma=Match ACLs
ahttp_dma=Don't match ACLs
ahttp_return=ACL list

sahttp_ftspr=Failed to save proxy restriction

aicp_header=Create ICP Restriction
aicp_header1=Edit ICP Restriction
aicp_ir=ICP Restriction
aicp_a=Action
aicp_a1=Allow
aicp_d=Deny
aicp_ma=Match ACLs
aicp_dma=Don't match ACLs
aicp_return=ACL list

saicp_ftsir=Failed to save ICP restriction

icache_ecannot=You are not allowed to initialize the cache
icache_ftic=Failed to initialize cache
icache_ymcautrsa=You must choose a user to run Squid as
icache_itscwtc=Initializing the Squid cache with the command <tt>$1</tt> ..
icache_return=squid index
icache_title=Initialize Cache

restart_ftrs=Failed to reconfigure squid

sadmin_ftsao=Failed to save administrative options
sadmin_header=Change Ownership
sadmin_msg1=You have changed the user or group that Squid runs as. For this to take effect properly, the ownership of all cache and log files should be updated and Squid re-started.
sadmin_buttco=Change Ownership
sadmin_return=squid index
sadmin_inavea='$1' is not a valid email address
sadmin_inavh='$1' is not a valid hostname
sadmin_inavap='$1' is not a valid announcement period
sadmin_inavp='$1' is not a valid port

sauth_ftsao=Failed to save authentication options
sauth_iomuf=Invalid or missing users filename
sauth_iomd=Invalid or missing domain
sauth_msg1=Your version of Squid has not been compiled with support for proxy authentication

scache_ftsco=Failed to save cache options
scache_emsg0=You must enter at least one cache directory
scache_emsg1=The cache directory '$1' does not exist
scache_emsg2='$1' is not a valid request size
scache_emsg3='$1' is not a valid failed request cache time
scache_emsg4='$1' is not a valid DNS cache time
scache_emsg5='$1' is not a valid timeout
scache_emsg6='$1' is not a valid time
scache_emsg7='$1' is not a valid number of directories
scache_emsg8=Number of directories must be >= 1
scache_emsg9=Number of directories must be <= 256
scache_emsg10='$1' is not a valid object size
scache_emsg11='$1' is not a valid number of objects
scache_emsg12='$1' is not a valid directory size
scache_emsg13='$1' is not a valid host
scache_emsg14='$1' is not a valid port

schost_ftsc=Failed to save cache
schost_emsg1='$1' is not a valid cache hostname
schost_emsg2='$1' is not a valid proxy port
schost_emsg3='$1' is not a valid ICP port
schost_emsg4='$1' is not a valid time-to-live
schost_emsg5='$1' is not a valid weighting

sicp_ftsco=Failed to save cache options
sicp_emsg1='$1' is not a valid timeout

slogs_ftslo=Failed to save logging options
slogs_emsg1='$1' is not an absolute filename
slogs_emsg2='$1' is not a valid filename
slogs_emsg3=The directory '$1' does not exist
slogs_emsg4='$1' is not a valid netmask
slogs_emsg5='$1' is not a valid debug options list

smem_ftsmo=Failed to save memory options
smem_emsg1='$1' is not a valid cache size
smem_emsg2='$1' is not a valid high-water mark
smem_emsg3='$1' is not a valid low-water mark
smem_emsg4='$1' is not a valid object size

smisc_ftso=Failed to save options
smisc_emsg1='$1' is not a valid number of rotations
smisc_emsg2='$1' is not a valid domain
smisc_emsg3='$1' is not a valid proxy
smisc_emsg4='$1' is not a valid number of hops

sport_ftspo=Failed to save port options
sport_emsg1='$1' is not a valid port number
sport_emsg2='$1' is not a valid address
sport_emsg3='$1' is not a valid buffer size

sprog_ftshpo=Failed to save helper program options
sprog_emsg1=Missing FTP options
sprog_emsg2='$1' is not a valid program
sprog_emsg3='$1' is not an executable program
sprog_emsg4='$1' is not a valid FTP login
sprog_emsg5='$1' is not a valid number of programs
sprog_emsg6='$1' is not a valid column width
sprog_emsg7=No DNS servers entered
sprog_emsg8='$1' is not a valid IP address

suser_ftsu=Failed to save user
suser_emsg1=Invalid or missing username
suser_etaken=Username is already in use

start_ftsq=Failed to start Squid
start_ecannot=You are not allowed to start Squid
stop_ftsq=Failed to stop Squid
stop_ecannot=You are not allowed to stop Squid

calamaris_ecannot=You are not allowed to access Calamaris log analysis
calamaris_title=Calamaris Log Analysis
calamaris_last=Limiting analysis to last $1 lines of logs ..
calamaris_eprog=The calamaris executable $1 was not found. Maybe it is not installed on your system, or your <a href='$2'>module configuration</a> is incorrect.
calamaris_elogs=The log directory $1 does not contain any <tt>access.log</tt> files. Maybe squid has not been run yet, or your <a href='$2'>module configuration</a> is incorrect.
calamaris_gen=Report generated on $1

lib_emsg1='$1' is not a valid IP address
lib_seconds=seconds
lib_minutes=minutes
lib_hours=hours
lib_days=days
lib_weeks=weeks
lib_fortnights=fortnights
lib_months=months
lib_years=years
lib_decades=decades
lib_emsg2='$1' is not a valid number of $2
lib_kb=kBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' is not a valid number of $2
lib_aclca=Client Address
lib_aclwsa=Web Server Address
lib_aclch=Client Hostname
lib_aclwsh=Web Server Hostname
lib_acldat=Date and  Time
lib_aclur=URL Regexp
lib_aclupr=URL Path Regexp
lib_aclup=URL Port
lib_aclup1=URL Protocol
lib_aclrm=Request Method
lib_aclbr=Browser Regexp
lib_aclpl=Proxy Login
lib_aclsan=Source AS Number
lib_acldan=Dest AS Number
lib_aclea=External Auth
lib_aclcr=Client Regexp
lib_aclwsr=Web Server Regexp
lib_aclru=RFC931 User
lib_aclpia=Proxy IP Address
lib_aclmc=Maximum Connections
lib_aclpp=Proxy Port
lib_aclsc=SNMP Community
lib_aclrmt=Request MIME Type
lib_aclarp=Ethernet Address
lib_aclear=External Auth Rexexp
lib_aclrur=RFC931 User Regexp
lib_buttac=Apply Changes
lib_buttss=Stop Squid
lib_buttss1=Start Squid

log_ports=Changed ports and networking options
log_icp=Changed other cache options
log_mem=Changed memory usage options
log_logs=Changed logging options
log_cache=Changed cache options
log_progs=Changed helper program options
log_admin=Changed administrative options
log_misc=Changed miscellaneous options
log_clear=Cleared and rebuilt cache
log_acl_create=Created ACL $1
log_acl_modify=Modified ACL $1
log_acl_delete=Deleted ACL $1
log_http_create=Created proxy restriction
log_http_modify=Modified proxy restriction
log_http_delete=Deleted proxy restriction
log_http_move=Moved proxy restriction
log_icp_create=Created ICP restriction
log_icp_modify=Modified ICP restriction
log_icp_delete=Deleted ICP restriction
log_icp_move=Moved ICP restriction
log_stop=Stopped proxy server
log_start=Started proxy server
log_apply=Applied changes
log_host_create=Created cache host $1
log_host_modify=Modified cache host $1
log_host_delete=Deleted cache host $1
log_init=Initialized cache
log_user_create=Created proxy user $1
log_user_delete=Deleted proxy user $1
log_user_modify=Modified proxy user $1
log_always_create=Created direct fetch ACLs
log_always_modify=Modified direct fetch ACLs
log_always_delete=Deleted direct fetch ACLs
log_always_move=Moved direct fetch ACLs
log_never_create=Created never direct fetch ACLs
log_never_modify=Modified never direct fetch ACLs
log_never_delete=Deleted never direct fetch ACLs
log_never_move=Moved never direct fetch ACLs

acl_root=Root directory for ACL files
acl_sections=Allowed configuration pages
acl_start=Can start and stop squid?

always_create=Create Direct Fetch
always_edit=Edit Direct Fetch
always_header=Directly fetch requests matching ACLs

never_create=Create Indirect Fetch
never_edit=Edit Indirect Fetch
never_header=Never directly fetch requests matching ACLs

   070701000498f9000081a40000000000000002000000013d1fe2d400005bc1000000200000000000000000000000000000001400000003reloc/squid/lang/es   index_header=Servidor Proxy Squid
index_msgnoconfig=El archivo de configuración de Squid <tt>$1</tt> no existe. Si tienes instalado Squid, ajusta tu <a href=/config.cgi?$2 >configuración del módulo</a> para que utilice trayectorias correctas.
index_msgnoexe=El ejecutable Squid <tt>$1</tt> no existe.  Si tienes instalado Squid, ajusta tu <a href=/config.cgi?$2 >configuración del módulo</a> para que utilice trayectorias correctas.
index_msgnosupported=Tu versión de Squid no está soportada por Webmin. Sólo las versiones <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2.3</tt> y <tt>2.4</tt> están soportadas por este módulo.
index_msgnodir1=Tus directorios de caché de Squid <tt>$1</tt> no han sido inicializados.
index_msgnodir2=Tu directorio de caché de Squid <tt>$1</tt> no ha sido inicializado.
index_msgnodir3=Esto tiene que realizarse antes de que Squid se ejecute.
index_buttinit=Inicializar Caché
index_asuser=como usuario Unix
index_portsnets=Puertos y Trabajo en Red
index_othercaches=Otras Cachés
index_musage=Uso de Memoria
index_mdusage=Uso de Memoria y de Disco
index_logging=Historial
index_copts=Opciones de Caché
index_hprogs=Programas de Ayuda
index_actrl=Control de Acceso
index_admopts=Opciones Administrativas
index_proxyauth=Autentificación Proxy
index_miscopt=Opciones Varias
index_cms=Estadísticas de Gestor de Caché
index_rebuild=Limpiar y Reconstruir Caché
index_calamaris=Análisis de historial de Calamaris
index_return=índice

buttsave=Salvar
buttdel=Borrar
buttcreat=Crear
yes=Sí
no=No
default=Por defecto
none=Ninguno
on=Activado
off=Desactivado

acl_header1=Crear ACL
acl_header2=Editar ACL
acl_name=Nombre ACL
acl_fromip=Desde IP
acl_toip=A IP
acl_nmask=Máscara de Red
acl_ipaddr=Dirección IP
acl_domains=Dominios
acl_dofw=Días de la Semana
acl_sel=Seleccionado...
acl_all=Todos
acl_dsun=Domingo
acl_dmon=Lunes
acl_dtue=Martes
acl_dwed=Miércoles
acl_dthu=Jueves
acl_dfri=Viernes
acl_dsat=Sábado
acl_hofd=Horas del Día
acl_to=a
acl_regexp=Expresiones Regulares
acl_tcpports=Puertos TCP
acl_urlproto=Protocolos URL
acl_reqmethods=Métodos de Requerimiento
acl_bregexp=Expresiones de Navegador
acl_pusers=Usuarios Proxy
acl_eusers=Usuarios Externos Autorizados
acl_case=¿Ignoro mayúsculas?
acl_eusersre=RegExp de Usuarios Externos Autorizados
acl_asnum=Números AS
acl_rtime=Tiempo de Refresco
acl_rfcusers=Usuarios RFC931
acl_mcr=Máximo número de Requerimientos Concurrentes
acl_psp=Puerto del Servidor Proxy
acl_scs=Candena de Comunidad SNMP
acl_rmt=Tipo de Requerimiento MIME
acl_arp=Direcciones de cliente ethernet
acl_failurl=URL de Fallo
acl_buttsave=Salvar
acl_buttdel=Borrar
acl_return=Lista ACL

aclsave_failsave=No pude salvar ACL
aclsave_faildel=No pude borrar ACL
aclsave_epr=Esta ACL está siendo usada por una restricción proxy
aclsave_eicpr=Esta ACL está siendo usada por una restricción ICP
aclsave_ename=Nombre de ACL inválida
aclsave_eexists=Ya existe una ACL llamada '$1'
aclsave_efrom='$1' no es una dirección IP 'Desde' válida
aclsave_eto='$1' no es una dirección IP 'A' válida
aclsave_enmask='$1' no es una máscara de red válida
aclsave_eip='$1' no es una dirección IP válida
aclsave_ecdom=No se han suministrado dominios de cliente
aclsave_esdom=No se han suministrado dominios de servidor
aclsave_eshour=Hora de inicio inválida
aclsave_eehour=Hora de finalización inválida
aclsave_esmin=Minuto de inicio inválido
aclsave_eemin=Minuto de finalización inválido
aclsave_efile=No estás autorizado a escribir en en archivo de ACL '$1'

cach_ecannot=No estás autorizado a acceder a las estadísticas del gestor de caché
cach_err=Error
cach_nfound=El programa gestor de caché de Squid <tt>$1</tt> no ha sido hallado en tu sistema. Quizá tu <a href=/config.cgi?$2 >configuración de módulo</a> es incorrecta.
cach_return=índice de squid

chown_header=Cambiar Propietario
chown_stop=Parando squid...
chown_done=... Hecho
chown_chown=Cambiando propietario...
chown_restart=Rearrancando Squid...
chown_failrestart=No pude rearrancar Squid...
chown_return=índice de squid

clear_ecannot=No estás autorizado a limpiar y reconstruir la caché
clear_header=Limpiar y Reconstruir Caché
clear_msgclear=¿Estás seguro de querer limpiar y reconstruir tu caché de Squid? Esto borrará <b>todos</b> los archivos que tengan caché y rearrancará tu servidor Squid.
clear_msgclear2=Deberías de asegurarte que no estás usando esta caché para comunicarte con este servidor Webmin o serás desconectado cuando la caché se desconecte.
clear_buttclear=Limpiar y Reconstruir Caché
clear_stop=Parando Squid...
clear_done=... Hecho
clear_del=Borrando archivos de caché viejos...
clear_init=Inicializando la caché de Squid con el comando <tt>$1</tt> ...
clear_failrestart=No pude rearrancar Squid...
clear_return=índice de squid

eacl_ecannot=No estás autorizado a editar el control de acceso
eacl_header=Control de Acceso
eacl_acls=Listas de control de Acceso
eacl_name=Nombre
eacl_type=Tipo
eacl_match=Coincidiendo con...
eacl_noacls=No se han definido ACLs
eacl_buttcreate=Crear nueva ACL
eacl_pr=Restricciones Proxy
eacl_act=Acción
eacl_acls1=ACLs
eacl_move=Mover
eacl_nopr=No se han definido restrictiones proxy
eacl_addpr=Añadir restricción proxy
eacl_icpr=Restricciones ICP
eacl_noicpr=No se han definido restricciones ICP
eacl_addicpr=Añadir restricción ICP
eacl_return=índice squid
eacl_allow=Permitir
eacl_deny=Denegar

eadm_ecannot=No estás autorizado a editar las opciones administrativas
eadm_header=Opciones Administrativas
eadm_aao=Opciones Administrativas y de Anuncio
eadm_runasuu=Ejecutar como usuario Unix
eadm_nochange=Sin cambios
eadm_user=Usuario
eadm_group=Grupo
eadm_runasug=Ejecutar como grupo Unix
eadm_par=Campo de autentificación del proxy
eadm_default=Por defecto
eadm_cmemail=Dirección e-mail del gestor de caché
eadm_vhost=Nombre de máquina visible
eadm_uniq=Nombre de máquina única
eadm_haliases=Otros nombres de caché DNS
eadm_none=Ninguno
eadm_auto=Automático
eadm_annto=Anunciar caché a
eadm_annevery=Anunciar caché cada
eadm_never=Nunca
eadm_uniqhn=Nombre de máquina única
eadm_cah=Máquina de anuncio de caché
eadm_cap=Puerto de anuncio de caché
eadm_caf=Archivo de anuncio de caché
eadm_annp=Período de Anunciación
eadm_buttsave=Salvar
eadm_return=índice de squid

eauth_ecannot=No estás autorizado a editar la autenticación proxy
eauth_header=Autentificación de Proxy
eauth_aopt=Opciones de Autentificación
eauth_puf=Archivo de usuarios de Proxy
eauth_none=Ninguno
eauth_nologin=No se necesita login para el dominio
eauth_buttsave=Salvar
eauth_msgaccess=El acceso a tu servidor proxy está limitado a los usuarios listados debajo. Tras añadir, borrar o quitar un usuario, Squid tiene que ser parado y arrancado de nuevo para que los cambios surtan efecto.
eauth_nmsgaccess=El acceso a tu servidor proxy está limitado a los usuarios listados debajo, cogidos del archivo $1.
eauth_pusers=Usuarios Proxy
eauth_nopusers=No se han definido usuarios de proxy en este momento.
eauth_addpuser=Añadir un nuevo usuario de proxy
eauth_return=índice de squid

ec_ecannot=No estás autorizado a editar las opciones de caché
ec_header=Opciones de Caché
ec_cro=Opcions de Caché y de Requerimiento
ec_cdirs=Directorios de Caché
ec_default=Por defecto
ec_listed=Relación...
ec_directory=Directorio
ec_type=Tipo
ec_mos=Medida Obj. (KB)
ec_size=Medida (MB)
ec_1dirs=Directorios de Primer nivel
ec_2dirs=Directorios de Segundo nivel
ec_u=UFS
ec_ua=UFS asíncrono
ec_diskd=DISKD
ec_1dirs1=Directorios de primer nivel
ec_2dirs2=Directorios de segundo nivel
ec_aos=Media de la medida del objeto
ec_kb=kB
ec_mins=mínutos
ec_secs=segundos
ec_opb=Objetos por cubo
ec_ncuc=No hacer caché de URLs que contengan
ec_ncum=No hacer caché de URLs que coincidan
ec_ncua=No hacer caché de URLs para las ACLs
ec_mct=Tiempo máximo de caché
ec_mrbs=Máximo requerimiento de medida de cuerpo
ec_mrhs=Máximo requerimiento de medida de cabeceras
ec_mrbs1=Máxima medida de cuerpo de réplica
ec_mrs=Máxima medida de requerimiento
ec_frct=Falló el requerimiento de tiempo de caché
ec_dlct=Tiempo de caché de búsqueda de DNS
ec_fdct=Falló el tiempo de caché de DNS
ec_ct=Tiempo de espera para conectar
ec_rt=Tiempo de espera para leer
ec_mcct=Tiempo máximo de conexión de cliente
ec_mst=Tiempo máximo de apagado
ec_sst=Tiempo de espera de selección de sitio
ec_crt=Tiempo de espera de requerimiento de cliente
ec_hcc=¿Clientes medio-cerrados?
ec_pt=Tiempo de espera persistente
ec_wr=Relé WAIS
ec_none=Ninguno
ec_host=Máquina
ec_port=Puerto
ec_wrh=Máquina de relé WAIS
ec_wrp=Puerto de relé WAIS
ec_buttsave=Salvar
ec_return=índice de squid

ech_header=Crear Máquina de Caché
ech_header1=Editar Máquina de Caché
ech_cho=Opciones de Máquina de Caché
ech_h=Nombre de Máquina
ech_parent=padre
ech_sibling=hermano
ech_multicast=multidifusión
ech_t=Tipo
ech_pp=Puerto Proxy
ech_ip=Puerto ICP
ech_po=¿Sólo Proxy?
ech_y=Sí
ech_n=No
ech_siq=¿Envío consultas ICP?
ech_dc=¿Caché por defecto?
ech_rrc=¿Caché propuesta?
ech_ittl=Tiempo-que-está-vivo ICP
ech_d=Por defecto
ech_cw=Peso de la Caché
ech_co=¿Sólo la más cercana?
ech_nd=¿Sin resumen?
ech_nne=¿Sin intercambio NetDB?
ech_nd1=¿Sin retardo?
ech_ltp=Login a proxy
ech_nl=Sin login
ech_u=Usuario:
ech_p=Clave de Acceso:
ech_mr=¿Contestador Multidifusión?
ech_qhfd=Consultar máquina para dominios
ech_dqfd=No consultar para dominios
ech_buttsave=Salvar
ech_buttdel=Borrar
ech_return=lista de caché

eicp_ecannot=No estás autorizado a editar otras cachés
eicp_header=Otras Cachés
eicp_opcs=Otros servidores de caché proxy
eicp_nocd=No se han definido otras cachés
eicp_aac=Añadir otra caché
eicp_cso=Opciones de Selección de Caché
eicp_fdfd=Recoger diréctamente de los dominios
eicp_fdfi=Recoger diréctamente de las IPs
eicp_dif=Dominios dentro del cortafuegos
eicp_iif=IPs dentro del cortafuegos
eicp_dfuc=Diréctamente recoger URLs que contengan
eicp_d=Por defecto
eicp_bpfsp=¿Pasar por alto sonido (ping) para padre soltero?
eicp_y=Sí
eicp_n=No
eicp_secs=segs
eicp_ssip=¿Enviar fuente dentro de sonido (ping)?
eicp_crt=Tiempo de espera de réplica de caché
eicp_iqt=Tiempo de espera de consulta ICP
eicp_mit=Tiempo de espera de ICP multidifusión
eicp_dpt=Tiempo de espera de par muerto
eicp_h=Nombre de máquina
eicp_t=Tipo
eicp_pp=Puerto Proxy
eicp_ip=Puerto ICP
eicp_return=índice de squid
eicp_always=ACLs a recoger diréctamente
eicp_noalways=No se han definido ACL de recogida directa
eicp_addalways=Añadir ACLs a recoger diréctamente
eicp_never=ACLs a nunca recoger diréctamente
eicp_nonever=No se hand definido ACLs de nunca recoger diréctamente
eicp_addnever=Añadir ACLs de donde nunca recoger diréctamente

elogs_ecannot=No estás autorizado a editar el historial
elogs_header=Historial
elogs_lalo=Opciones de Historial y de archivo de Historial
elogs_alf=Archivo de acceso a historial
elogs_dlf=Depurar archivo de historial
elogs_slf=Almacenaje de archivo de historial
elogs_cmf=Archivo de metadatos de Caché
elogs_uhlf=¿Usar formato de historial HTTPD?
elogs_lmh=¿Llevar historial de cabeceras MIME?
elogs_ualf=Archivo de historial de agente de usuario
elogs_pf=Archivo PID
elogs_prilfa=Realizar búsquedas de identidad RFC931 para las ACLs
elogs_rit=Tiempo de espera de identificación RFC931
elogs_dril=¿Hacer búsquedas de identificación RFC931?
elogs_lfh=¿Llevar historial de nombres de máquina completos?
elogs_ln=Máscara de red de historial
elogs_do=Opciones de depuración
elogs_mht=Tabla de cabeceras MIME
elogs_return=índice de squid

emem_ecannot=No estás autorizado a editar el uso de memoria
emem_dheader=Uso de Memoria y Disco
emem_header=Uso de Memoria
emem_maduo=Opciones de Uso de Memoria y de Disco
emem_mul=Límite de uso de memoria
emem_dul=Límite de uso de disco
emem_fcs=Medida de caché FQDN
emem_mb=MB
emem_kb=kB
emem_mhwm=Marca de Pleamar de Memoria
emem_mlwm=Marca de Bajamar de Memoria
emem_dhwm=Marca de Pleamar de Disco
emem_dlwm=Marca de Bajamar de Disco
emem_mcos=Medida máxima de objeto de caché
emem_iacs=Medida de caché de dirección IP
emem_e=entradas
emem_ichwm=Marca de Pleamar de caché IP
emem_iclwm=Marca de Bajamar de caché IP
emem_crp=Política de reemplazamiento de disco
emem_lru=Menos usado reciéntemente
emem_gdsf=Frecuencia de medida dual Greedy
emem_lfuda=Dinámicamente menos usado frecuéntemente
emem_hlru=Pila menos usada frecuéntemente
emem_return=índice de squid
emem_mrp=Política de reemplazamiento de Memoria

emisc_ecannot=No estás autorizado a editar las opciones varias
emisc_header=Opciones Varias
emisc_mo=Opciones de Opciones Varias
emisc_sdta=Iniciar direcciones de prueba de DNS
emisc_slr=Rotaciones de archivo de historial SIGUSR1
emisc_dd=Dominio por defecto
emisc_sp=Proxy SSL
emisc_nghp=Proxy HTTP No-GET
emisc_emt=Texto de mensajes de error
emisc_pcs=¿Estadísticas por cliente?
emisc_xffh=¿Cabecera de X-Reenviado-Para (X-Forwarded-For)?
emisc_liq=¿Llevo historial de consultas ICP?
emisc_mdh=Número mímino de saltos directos
emisc_kmffu=¿Mantener la memoria para uso futuro?
emisc_aomtk=Cantidad de memoria a mantener
emisc_u=Ilimitada
emisc_htpt=Cabeceras a pasar directamente
emisc_ah=Todas las cabeceras
emisc_oh=Sólo las cabeceras
emisc_ae=Todas excepto
emisc_a=¿Hacer anónimas?
emisc_off=Desactivado
emisc_std=Estándar
emisc_par=Paranoico
emisc_fua=Usuario-Agente Falso
emisc_return=índice de squid
emisc_hauhh=Acelerador HTTP Usa Cabecera de Máquina
emisc_hah=Máquina Aceleradora HTTP
emisc_hap=Puerto Acelerador HTTP
emisc_hawp=Acelerador HTTP con Proxy

eports_ecannot=No estás autorizado a editar los puertos el trabajo en red
eports_header=Puertos y Trabajo en Red
eports_pano=Opciones de Puertos y Trabajo en Red
eports_paap=Direcciones Proxy y puertos
eports_p=Puerto
eports_hia=Nombre de máquina/Dirección IP
eports_pp=Puerto Proxy
eports_ip=Puerto ICP
eports_ota=Dirección TCP de salida
eports_ita=Dirección TCP de entrada
eports_a=Cualquiera
eports_oua=Dirección UDP de salida
eports_iua=Dirección UDP de entrada
eports_mg=Grupos de multidifusión
eports_trb=Búfer de recepción TCP
eports_od=el de por defecto del SO
eports_return=índice de squid

eprogs_ecannot=No estás autorizado a editar los programas de ayuda
eprogs_header=Programas de Ayuda
eprogs_chpo=Opciones de Programas de Ayuda de Caché
eprogs_sfp=Programa FTP de Squid
eprogs_fo=Opciones de FTP
eprogs_fcv=Ancho de columna FTP
eprogs_c=caracteres
eprogs_afl=Login anónimo FTP
eprogs_sdp=Programa DNS de Squid
eprogs_nodp=Número de programas de DNS
eprogs_adtr=Añadir dominio a requerimientos
eprogs_dsa=Direcciones de servidor DNS
eprogs_fr=De resolv.conf
eprogs_ccp=Programa de limpieza de Caché
eprogs_spp=Programa de sonido (ping) de Squid
eprogs_crp=Programa de redireccionamiento de Cliente
eprogs_norp=Número de programas de redireccionamiento
eprogs_cap=Programa de Autentificación de Cliente
eprogs_noap=Número de programas de autentificación
eprogs_return=índice de squid

euser_header=Crear Usuario de Proxy
euser_header1=Editar Usuario de Proxy
euser_pud=Detalles de Usuario de Proxy
euser_u=Nombre de Usuario
euser_p=Clave de Acceso
euser_u1=Sin cambios
euser_return=lista de usuarios

ahttp_header=Crear Restricciones de Proxy
ahttp_header1=Editar Restricciones de Proxy
ahttp_pr=Restricción de Proxy
ahttp_a=Acción
ahttp_a1=Permitir
ahttp_d=Denegar
ahttp_ma=Coincidir con ACLs
ahttp_dma=No coincidir con ACLs
ahttp_return=Lista de ACL

sahttp_ftspr=No pude salvar restricción proxy

aicp_header=Crear Restricción ICP
aicp_header1=Editar Restricción ICP
aicp_ir=Restricción ICP
aicp_a=Acción
aicp_a1=Permitir
aicp_d=Denegar
aicp_ma=Coincidir con ACLs
aicp_dma=No coincidir con ACLs
aicp_return=Lista de ACL

saicp_ftsir=No pude salvar restricción ICP

icache_ecannot=No estás autorizado a inicializar la caché
icache_ftic=No pude inicializar caché
icache_ymcautrsa=Debes de seleccionar un usuario para que ejecute Squid
icache_header=Inicializar Caché
icache_itscwtc=Inicializando la caché de Squid con el comando <tt>$1</tt>...
icache_return=índice de squid

restart_ftrs=No pude reconfigurar squid

sadmin_ftsao=No pude salvar opciones administrativas
sadmin_header=Cambiar Propiedad
sadmin_msg1=Has cambiado el usuario o grupo bajo el cual se ejecuta Squid. Para que tenga efecto debídamente, la propiedad de todos los archivos de historial y de caché debería de ser actualizada y Squid rearrancado.
sadmin_buttco=Cambiar Propiedad
sadmin_return=índice
sadmin_inavea='$1' no es una dirección válida de correo
sadmin_inavh='$1' no es un nombre válido de máquina
sadmin_inavap='$1' no es un período de anunciación válido
sadmin_inavp='$1' no es un puerto válido

sauth_ftsao=No pude salvar opciones de autentificación
sauth_iomuf=Nombre de archivo de usuarios inválido o sin poner
sauth_iomd=dominio inválido o sin poner
sauth_msg1=Tu versión de Squid no ha sido compilada con soporte para autentificación proxy

scache_ftsco=No pude salvar opciones de caché
scache_emsg0=Debes de digitar al menos un directorio de caché
scache_emsg1=El directorio de caché '$1' no existe
scache_emsg2='$1' no es una medida de requerimiento válida
scache_emsg3='$1' no es un tiempo de requerimiento de caché válido
scache_emsg4='$1' no es un tiempo de caché de DNS válido
scache_emsg5='$1' no es un tiempo de espera válido
scache_emsg6='$1' no es un tiempo válido
scache_emsg7='$1' no es un número válido de directorios
scache_emsg8=El número de directorios debe de ser >= 1
scache_emsg9=El número de directorios debe de ser <= 256
scache_emsg10='$1' no es una medida de objeto válida
scache_emsg11='$1' no es un número válido de objetos
scache_emsg12='$1' no es una medida válida de directorio
scache_emsg13='$1' no es una máquina válida
scache_emsg14='$1' no es un puerto válido

schost_ftsc=No pude salvar caché
schost_emsg1='$1' no es un nombre de máquina de caché válido
schost_emsg2='$1' no es un puerto proxy válido
schost_emsg3='$1' no es un puerto ICP válido
schost_emsg4='$1' no es un tiempo-que-está-vivo válido
schost_emsg5='$1' no es un peso válido

sicp_ftsco=No puede salvar opciones de caché
sicp_emsg1='$1' no es un tiempo de espera válido

slogs_ftslo=No pude salvar opciones de historial
slogs_emsg1='$1' no es un nombre de archivo absoluto
slogs_emsg2='$1' no es un nombre de archivo válido
slogs_emsg3=El directorio '$1' no existe
slogs_emsg4='$1' no es una máscara de red válida
slogs_emsg5='$1' no es una lista válida de opciones de depuración

smem_ftsmo=No pude salvar opciones de memoria
smem_emsg1='$1' no es una medida de caché válida
smem_emsg2='$1' no es una marca de pleamar válida
smem_emsg3='$1' no es una marca de bajamar válida
smem_emsg4='$1' no es una medida de obeto válida

smisc_ftso=No pude salvar las opciones
smisc_emsg1='$1' no es un número válido de rotaciones
smisc_emsg2='$1' no es un dominio válido
smisc_emsg3='$1' no es un proxy válido
smisc_emsg4='$1' no es un número válido de saltos

sport_ftspo=No pude salvar opciones de puerto
sport_emsg1='$1' no es un número de puerto válido
sport_emsg2='$1' no es una dirección válida
sport_emsg3='$1' no es una medida válida de búfer

sprog_ftshpo=No pude salvar opciones de programa de ayuda
sprog_emsg1=Opciones FTP sin poner
sprog_emsg2='$1' no es un programa válido
sprog_emsg3='$1' no es un programa ejecutable
sprog_emsg4='$1' no es un login FTP válido
sprog_emsg5='$1' no es un número de programas válido
sprog_emsg6='$1' no es un ancho de columna válido
sprog_emsg7=No se han digitado servidores DNS
sprog_emsg8='$1' no es una dirección IP válida

suser_ftsu=No pude salvar usuario
suser_emsg1=Nombre de usuario inválido o sin poner
suser_etaken=El nombre de usuario ya está en uso

start_ftsq=No pude arrancar squid
start_ecannot=No estás autorizado a arrancar Squid
stop_ftsq=No pude parar squid
stop_ecannot=No estás autorizado a para Squid

calamaris_ecannot=No estás autorizado a acceder al análisis de historial de Calamaris
calamaris_title=Análisis de Historial de Calamaris
calamaris_last=Limitando análisis a las $1 últimas líneas de historiales...
calamaris_eprog=No se ha encontrado el ejecutable '$1' de calamaris. Quizás no está instalado en tu sistema o tu <a href='$2'>configuración del módulo</a> es incorrecta.
calamaris_elogs=El archivo de historial $1 no contiene archivos <tt>access.log</tt>. Quizás aún no se ha ejecutado squid o tu <a href='$2'>configuración del módulo</a> es incorrecta.
calamaris_gen=Informe generado en $1

lib_emsg1='$1' no es una dirección IP válida
lib_seconds=segundos
lib_minutes=minutos
lib_hours=horas
lib_days=días
lib_weeks=semanas
lib_fortnights=quincenas
lib_months=meses
lib_years=años
lib_decades=décadas
lib_emsg2='$1' no es un número válido de $2
lib_kb=kBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' no es un número válido de $2
lib_aclca=Dirección de Cliente
lib_aclwsa=Dirección de Servidor Web
lib_aclch=Nombre de Máquina de Cliente
lib_aclwsh=Nombre de Máquina de Servidor Web
lib_acldat=Fecha y Hora
lib_aclur=Expresión URL
lib_aclupr=Expresión de Trayectoria URL
lib_aclup=Puerto URL
lib_aclup1=Protocolo URL
lib_aclrm=Método de Requerimiento
lib_aclbr=Expresión de Navegador
lib_aclpl=Login en Proxy
lib_aclsan=Número de fuente AS
lib_acldan=Número de destino AS
lib_aclea=Autentificación Externa
lib_aclcr=Expresión de Cliente
lib_aclwsr=Expresión de Servidor Web
lib_aclru=Usuario RFC931
lib_aclpia=Dirección IP de Proxy
lib_aclmc=Máximas Conexiones
lib_aclpp=Puerto Proxy
lib_aclsc=Comunidad SNMP
lib_aclrmt=Requerir Tipo MIME
lib_aclarp=Dirección Ethernet
lib_aclear=Regexp de Autorización Externa
lib_buttac=Aplicar Cambios
lib_buttss=Parar Squid
lib_buttss1=Arrancar Squid

log_ports=Cambiadas opciones de puertos y de red
log_icp=Cambiadas otras opciones de caché
log_mem=Cambiadas opciones de uso de memoria
log_logs=Cambiadas opciones de historial
log_cache=Cambiadas opciones de caché
log_progs=Cambiadas opciones de programa ayudante
log_admin=Cambiadas opciones administrativas
log_misc=Cambiadas opciones varias
log_clear=Caché limpiada y reconstruída
log_acl_create=Creada ACL $1
log_acl_modify=Modificada ACL $1
log_acl_delete=Borrada ACL $1
log_http_create=Creada restricción proxy
log_http_modify=Modificada restricción proxy
log_http_delete=Borrada restricción proxy
log_http_move=Movida restricción proxy
log_icp_create=Creada restricción ICP
log_icp_modify=Modificada restricción ICP
log_icp_delete=Borrada restricción ICP
log_icp_move=Movida restricción ICP
log_stop=Parado servidor proxy
log_start=Arrancado servidor proxy
log_apply=Cambios aplicados
log_host_create=Creada máquina de caché $1
log_host_modify=Modificada máquina de caché $1
log_host_delete=Borrada máquina de caché $1
log_init=Caché inicializado
log_user_create=Creado usuario de proxy $1
log_user_delete=Borrado usuario de proxy $1
log_user_modify=Modificado usuario de proxy $1
log_always_create=Creada recogida directar ACLs
log_always_modify=Modificada recogida directa ACLs
log_always_delete=Borrada recogida directa ACLs
log_always_move=Movida recogida directar ACLs
log_never_create=Creada nunca recoger diréctamente ACLs
log_never_modify=Modificada nunca recoger diréctamente ACLs
log_never_delete=Borrada nunca recoger diréctamente ACLs
log_never_move=Movida nunca recoger diréctamente ACLs

acl_root=Directorio raíz para los archivos ACL
acl_sections=Páginas de configuración autorizadas
acl_start=¿Puede arrancar y para Squid?

always_create=Crear Recogida Directa
always_edit=Editar Recogida Directa
always_header=Diréctamente recoger requerimientos que coincidan con ACLs

never_create=Crear Recogida Indirecta
never_edit=Editar Recogida Indirecta
never_header=Nunca recoger diréctamente requerimientos que coincidan con ACLs

   070701000498fa000081a40000000000000002000000013d1fe2d400005a71000000200000000000000000000000000000001400000003reloc/squid/lang/fr   index_header=Serveur proxy Squid
index_msgnoconfig=Le fichier de configuration <tt>$1</tt> de squid n'existe pas. Si Squid est installé, modifiez la <a href=/config.cgi?$2 >configuration du module</a> pour avoir le bon chemin d'accès.
index_msgnoexe=Le fichier executable <tt>$1</tt> n'existe pas. Si Squid est installé sur votre système, modifiez la <a href=/config.cgi?$2 >configuration du modul</a> pour avoir le bon chemin d'accès.
index_msgnosupported=Votre version de Squid n'est pas supportée par webmin. Seules les versions <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> et <tt>2.3</tt> sont supportées par ce module.
index_msgnodir1=Les répertoires de cache de Squid <tt>$1</tt> n'ont pas été initialisés.
index_msgnodir2=Le répertoire de cache de Squid <tt>$1</tt> n'a pas été initialisé.
index_msgnodir3=Ceci doit être fait avant le démarrage de Squid.
index_buttinit=Initialisation du cache
index_asuser=comme utilisateur Unix
index_portsnets=Ports et options de réseau
index_othercaches=Ajouter un cache
index_musage=Utilisation de la mémoire
index_mdusage=Utilisation de la mémoire et du disque
index_logging=Fichiers logs
index_copts=Options du cache
index_hprogs=Programmes utiles
index_actrl=Listes d'accès
index_admopts=Administraiton de la mémoire-cache
index_proxyauth=Authentication du proxy
index_miscopt=Options diverses
index_cms=Suivie du cache
index_rebuild=Vider et ré-initialiser la mémoire-cache
index_calamaris=Calamaris Log Analysis
index_return=l'index de squid

buttsave=Sauver
buttdel=Détruire
buttcreat=Créer
yes=Oui
no=Non
default=Défaut
none=Aucun
on=Marche
off=Arrêt

acl_header1=Créer ACL
acl_header2=Editer ACL
acl_name=Nom ACL
acl_fromip=de l'IP
acl_toip=à l'IP
acl_nmask=Masque de réseau
acl_ipaddr=Adresse IP
acl_domains=Domaines
acl_dofw=Jours de la semaine
acl_sel=Selectioné..
acl_all=Tous
acl_dsun=Dimanche
acl_dmon=Lundi
acl_dtue=Mardi
acl_dwed=Mercredi
acl_dthu=Jeudi
acl_dfri=Vendredi
acl_dsat=Samedi
acl_hofd=Heures de la journées
acl_to=à
acl_regexp=Expressions rationnelles
acl_tcpports=Ports TCP
acl_urlproto=Protocols URL
acl_reqmethods=Methodes de la demande
acl_bregexp=Browser Regexp
acl_pusers=Utilisateurs Proxy
acl_eusers=Utilisateurs externes autorisés
acl_case=Ignorer casse?
acl_eusersre=Expression rationnelle pour utilisateurs autorisés
acl_asnum=AS Numbers
acl_rtime=Temps de refraichissement
acl_rfcusers=Utilisateurs RFC931
acl_mcr=Maximum Concurrent Requests
acl_psp=Port du serveur proxy
acl_scs=SNMP Community String
acl_rmt=Request MIME Type
acl_arp=Client ethernet addresses
acl_failurl=Failure URL
acl_buttsave=Sauver
acl_buttdel=Supprimer
acl_return=Liste ACL

aclsave_failsave=Ne peut sauver l'ACL
aclsave_faildel=Ne peut supprimer l'ACL
aclsave_epr=Cette ACL est appliquée à une autorisation d'accès du proxy
aclsave_eicpr=Cette ACL est appliquée aux demandes ICP
aclsave_ename=Nom ACL invalide
aclsave_eexists=l'ACL '$1' existe déjà
aclsave_efrom='$1' n'est pas valide pour le champ "de l'IP"
aclsave_eto='$1' n'est pas valide pour le champ "à l'IP"
aclsave_enmask='$1' n'est pas un masque de réseau correct
aclsave_eip='$1' n'est pas une adresse IP correcte
aclsave_ecdom=Le domaine pour le client n'est pas spécifié
aclsave_esdom=Le domaine pour le serveur n'est pas spécifié
aclsave_eshour=Heure de départ invalide
aclsave_eehour=Heure de fin invalide
aclsave_esmin=Minute de départ invalide
aclsave_eemin=Minute de fin invalide
aclsave_efile=Vous n'etes pas autoriez à écrire dans le fichhier ACL '$1'

cach_err=Erreur
cach_nfound=Le programme gérant le cache Squid <tt>$1</tt> n'a pas été trouvé sur ce serveur. Votre fichier <a href=/config.cgi?$2 >de configuration du module</a> est peut-être incorrect.
cach_return=l'index de squid

chown_header=Changer de propriétaire
chown_stop=Arrêter squid ...
chown_done=.. fait
chown_chown=Changer de propriétaire ...
chown_restart=Re-démarrer Squid ...
chown_failrestart=Erreur lors du re-démarrage de Squid ..
chown_return=l'index de squid

clear_header=Vider et reconstruire le cache
clear_msgclear=Etes-vous sûr de vouloir vider et reconstruire le cache de Squid ? Ceci détruira <b>tous</b> les fichiers présents dans le cache.
clear_msgclear2=Vous devez etre sûr de ne pas utiliser ce cache pour communiquer avec le serveur webmin, auquel cas vous seriez déconnecté lors de la désactivation du cache.
clear_buttclear=Vider et reconstruire le cache
clear_stop=Arrêt de Squid ...
clear_done=.. Fait
clear_del=Suppression des anciens fichiers du cache ..
clear_init=Initialisation du cache squid avec le commande <tt>$1</tt> ..
clear_failrestart=Erreur lors du re-démarrage de Squid ..
clear_return=l'index de squid

eacl_header=Control d'accès
eacl_acls=Listes des contrôles d'accès
eacl_name=Nom
eacl_type=Type
eacl_match=Correspond..
eacl_noacls=Pas de fichiers ACL définis
eacl_buttcreate=Créer une nouvelle ACL
eacl_pr=Restrictions du proxy
eacl_act=Action
eacl_acls1=ACL
eacl_move=Déplacer
eacl_nopr=Aucune restriction proxy définie
eacl_addpr=Ajouter une restriction au proxy
eacl_icpr=Restriction ICP
eacl_noicpr=Pas de restriction ICP définie
eacl_addicpr=Ajouter une restriction ICP
eacl_return=l'index de squid
eacl_allow=Autoriser
eacl_deny=Interdit

eadm_header=Options administratives
eadm_aao=Options administratives et Annonces
eadm_runasuu=Démarrer avec l'utilisateur Unix
eadm_nochange=Aucun changement
eadm_user=Utilisateur
eadm_group=Groupe
eadm_runasug=Démarrer avec le groupe Unix
eadm_par=Proxy authentication realm
eadm_default=Défaut
eadm_cmemail=Adresse email de l'administrateur de la mémoire cache
eadm_vhost=Nom d'hôte non visible
eadm_uniq=Nom d'hôte unique
eadm_haliases=Autres cache DNS
eadm_none=Aucun
eadm_auto=Automatique
eadm_annto=Déclarer la mémoire cache à
eadm_annevery=Déclarer la mémoire cache toute
eadm_never=Jamais
eadm_uniqhn=Nom d'hôte unique
eadm_cah=Cache announce host
eadm_cap=Cache announce port
eadm_caf=Cache announce file
eadm_none=None
eadm_annp=Interval entre annonces
eadm_buttsave=Sauver
eadm_return=l'index de squid

eauth_header=Authentication du proxy
eauth_aopt=Options d'authentication
eauth_puf=Fichier des utilisateurs du proxy
eauth_none=Aucun
eauth_nologin=Pas d'authentification pour le domaine
eauth_buttsave=Sauver
eauth_msgaccess=L'accès au serveur proxy est limité aux utilisateurs cités ci-dessous. Après l'ajout ou la suppression d'un utilisateur, squid doit être re-démarré pour que les modifications soient prises en compte.
eauth_nmsgaccess=L'accès au serveur proxy est limité aux utilisateurs cités ci-dessous. Ces utilisateurs sont énumérés dans le fichier $1.
eauth_pusers=Utilisateurs
eauth_nopusers=Aucun utilisateur proxy n'est actuellement créé.
eauth_addpuser=Ajouter un utilisateur proxy
eauth_return=l'index de squid

ec_header=Options du cache
ec_cro=Options de requêtes et de cache
ec_cdirs=Répertoire de cache
ec_default=Defaut
ec_listed=Enumération..
ec_directory=Répertoire
ec_type=Type
ec_mos=Taille obj. (kB)
ec_size=Taille (MB)
ec_1dirs=Répertoires de niveau 1
ec_2dirs=Répertoires de niveau 2
ec_u=UFS
ec_ua=Async UFS
ec_diskd=DISKD
ec_1dirs1=Répertoires de niveau 1
ec_2dirs2=Répertoires de niveau 2
ec_aos=taille moyenne
ec_kb=kB
ec_mins=mins
ec_secs=secs
ec_opb=Objets par bucket
ec_ncuc=Ne pas cacher les URLs contenants
ec_ncum=Ne pas cacher les URLs correspondants
ec_ncua=Ne pas cacher les URLs pour les ACLs
ec_mct=Temps maximum de cache
ec_mrbs=Taille maximale des requêtes
ec_mrhs=Taille maximale des en-têtes de requêtes
ec_mrbs1=Taille maximale du corps de retour
ec_mrs=Taille maximale de la requête
ec_frct=Failed request cache time
ec_dlct=DNS lookup cache time
ec_fdct=Failed DNS cache time
ec_ct=Temps de connection dépassé
ec_rt=Temps mort pour lecture de fichier
ec_mcct=Durée maximale d'une connection d'un client
ec_mst=Temps maximale pour arrêt du serveur
ec_sst=Temps maximale pour selectionner une site
ec_crt=Temps maximale d'attente de la demande d'un client
ec_hcc=Permettre au clients de fermer la coté de la transmission? 
ec_pt=Temps maximale pour la connexion TCP persistante
ec_wr=Le nom hôte et port de WAIS
ec_none=None
ec_host=Hôte
ec_port=Port
ec_wrh=Le nom hôte de WAIS
ec_wrp=Le port de WAIS
ec_buttsave=Sauver
ec_return=l'index de squid

ech_header=Créer un lien avec un proxy
ech_header1=Editer un lien
ech_cho=Paramètres d'un lien
ech_h=Hôte
ech_parent=parent
ech_sibling=sibling
ech_multicast=multicast
ech_t=Type
ech_pp=Port proxy
ech_ip=Port ICP
ech_po=Proxy seul?
ech_y=Oui
ech_n=Non
ech_siq=Envoyer une requête ICP?
ech_dc=Cache par défaut?
ech_rrc=Circulaire des démandes?
ech_ittl=Temp maximal pour la demande ICP
ech_d=Défaut
ech_cw=Coefficient de ponderation du cache
ech_co=Les plus proches?
ech_nd=Pas de synthèse?
ech_nne=Pas d'échange de NetDB?
ech_nd1=Pas de retard?
ech_ltp=Connection au proxy
ech_nl=pas de login
ech_u=User:
ech_p=Pass:
ech_mr=Membre du group 'multicast'?
ech_qhfd=Demander l'hôte pour les domaines
ech_dqfd=Ne pas demander l'hôte pour les domaines
ech_buttsave=Sauver
ech_buttdel=Supprimer
ech_return=cache list

eicp_header=Autres caches
eicp_opcs=Autre serveur de cache proxy
eicp_nocd=Pas d'autre cache défini
eicp_aac=Ajouter un nouveau cache
eicp_cso=Cache Selection Options
eicp_fdfd=Récupérer directement dans les domaines
eicp_fdfi=Récupérer directement dans les IPs
eicp_dif=Domaines à l'intérieur d'un 'firewall'
eicp_iif=IPs  à l'intérieur d'un firewall
eicp_dfuc=Rechercher les URL contenant
eicp_d=Défaut
eicp_bpfsp=Bypass ping for single parent?
eicp_y=Oui
eicp_n=Non
eicp_secs=secs
eicp_ssip=Envoyé une requête ping?
eicp_crt=Temp maximal pour la reponse du cache
eicp_iqt=Temp maximal pour une demande ICP
eicp_mit=Temp maximal pour une demande ICP 'multicast'
eicp_dpt=Temp maximal pour declarer un cache mort
eicp_h=Nom d'hôte
eicp_t=Type
eicp_pp=Port proxy
eicp_ip=Port ICP
eicp_return=l'index de squid
eicp_always=Les listes d'acèss pour récupérer directement
eicp_noalways=Les listes d'acèss pour récupérer directement ne sont pas définies
eicp_addalways=Ajouter listes d'acèss pour récupérer directement
eicp_never=Les listes d'acèss pour ne pas récupérer directement
eicp_nonever=Les listes d'acèss pour ne pas récupérer directement ne sont pas définies
eicp_addnever=Les listes d'acèss pour ne récupérer jamais directement

elogs_header=Enregistrement 
elogs_lalo=Options d'enregistrement et des fichiers logs
elogs_alf=Fichier d'enregistrement l'Acèss
elogs_dlf=Fichier d'enregistrement Déboguer
elogs_slf=Fichier d'enregistrement Stockage
elogs_cmf=Cache metadata file
elogs_uhlf=Utiliser le format d'enregistrement HTTPD?
elogs_lmh=Enregistrer les en-têtes MIME?
elogs_ualf=User agent log file
elogs_pf=Fichier PID
elogs_prilfa=Perform RFC931 ident lookups for ACLs
elogs_rit=RFC931 ident timeout
elogs_dril=Do RFC931 ident lookups?
elogs_lfh=Enregistrer nom d'hôte complet?
elogs_ln=Logging netmask
elogs_do=Les options de déboguer
elogs_mht=Les en-têtes MIME
elogs_return=l'index de squid

emem_dheader=Utilisation de la mémoire et des disques
emem_header=Utilisation de la mémoire
emem_maduo=Options d'utilisation de la mémoire et des disques
emem_mul=Limite d'utilisation de la mémoire
emem_dul=Limite d'utilisation des disques
emem_fcs=FQDN cache size
emem_mb=Moctetes
emem_kb=koctetes
emem_mhwm=Memory: niveau haut de remplissage
emem_mlwm=Memory: niveau bas de remplissage
emem_dhwm=Disque: niveau haut de remplissage
emem_dlwm=Disque: niveau bas de remplissage
emem_mcos=La taille maximal d'objet
emem_iacs=La taille maximal de la mémoire pour les adresses IP
emem_e=entrées
emem_ichwm=cache IP: niveau haut de remplissage
emem_iclwm=cache IP: niveau bas de remplissage
emem_crp=Algorithme de remplacement sur disque
emem_lru=Utilisé le plus récement
emem_gdsf=Greedy-dual size frequency
emem_lfuda=Dynamic least frequently used
emem_hlru=Heap least frequently used
emem_return=l'index de squid
emem_mrp=Algorithme de remplacement dans la mémoire

emisc_header=Options diverses
emisc_mo=Options diverses
emisc_sdta=Startup DNS test addresses
emisc_slr=SIGUSR1 logfile rotations
emisc_dd=Domaine par défaut
emisc_sp=proxy SSL
emisc_nghp=Non-GET HTTP proxy
emisc_emt=Error messages text
emisc_pcs=La statistic pour les clients?
emisc_xffh=l'en-tête X-Forwarded-For?
emisc_liq=Enregistrer les demandes ICP?
emisc_mdh=Minimum direct hops
emisc_kmffu=Keep memory for future use?
emisc_aomtk=Amount of memory to keep
emisc_u=Unlimited
emisc_htpt=Headers to pass through
emisc_ah=Tous les en-têtes
emisc_oh=Que des en-têtes
emisc_ae=Tous à l'exception de
emisc_a=Anonymizer?
emisc_off=Off
emisc_std=Standard
emisc_par=Paranoid
emisc_fua=Fake User-Agent
emisc_return=squid index
emisc_hauhh=L'en-tête HTTP Accel Uses Host
emisc_hah=HTTP Accel Host
emisc_hap=HTTP Accel Port
emisc_hawp=HTTP Accel With Proxy

eports_header=Ports et réseau
eports_pano=Options des ports et de réseau
eports_paap=Adresse proxy et port
eports_p=Port
eports_hia=Adresse de nom d'hôte/IP
eports_pp=Port proxy
eports_ip=Port ICP
eports_ota=Adresse TCP sortante
eports_ita=Adresse TCP entrante
eports_a=Tous
eports_oua=Adresse UDP sortante
eports_iua=Adresse UDP entrante
eports_mg=Groupe multicast
eports_trb=Mémoire de la réception pour TCP
eports_od=OS par défaut
eports_return=index de squid

eprogs_header=Programmes d'aide
eprogs_chpo=Les options pour le programm d'aide de cache
eprogs_sfp=Le programm Squid FTP
eprogs_fo=Options FTP
eprogs_fcv=Largeur des colonnes FTP
eprogs_c=chars
eprogs_afl=Le nom d'utilisateur FTP 'anonymous'
eprogs_sdp=Le programme squid DNS
eprogs_nodp=Nombre de programme DNS
eprogs_adtr=Ajouter la domaine pour la demande
eprogs_dsa=Adresse du serveur DSN
eprogs_fr=de resolv.conf
eprogs_ccp=Programme d'initialisation du cache
eprogs_spp=Le programme squid 'ping'
eprogs_crp=Le programme de la redirection controlée
eprogs_norp=Nombre des processus de la redirection
eprogs_cap=Le programme d'Authentification controlé
eprogs_noap=Nombre de programme d'authentification
eprogs_return=index de squid

euser_header=Créer un utilisateur proxy
euser_header1=Editer un utilisateur proxy
euser_pud=Details d'un utilsateurs proxy
euser_u=Nom de connection
euser_p=Mot de passe
euser_u1=Non modifié
euser_return=liste des utilisateurs

ahttp_header=Créer une restrcition du proxy
ahttp_header1=Editer une restriction du proxy
ahttp_pr=Restriction du proxy
ahttp_a=Action
ahttp_a1=Autorisé
ahttp_d=Interdit
ahttp_ma=Conforme ACLs
ahttp_dma=Non conforme ACLs
ahttp_return=Liste ACL

sahttp_ftspr=Impossible de sauvegarder la restriction du proxy

aicp_header=Créer une restriction ICP
aicp_header1=Editer une restriction ICP
aicp_ir=Restriction ICP
aicp_a=Actiom
aicp_a1=Autorisé
aicp_d=Interdit
aicp_ma=Conforme ACLs
aicp_dma=Non conforme ACLs
aicp_return=Liste ACL

saicp_ftsir=Impossible de sauver la restriction ICP

icache_ftic=Erreur lors de l'initialisation du cache
icache_ymcautrsa=Vous devez selectionner un utilisateur pour démarrer Squid comme
icache_itscwtc=Initialisation du cache de Squid à l'aide de la commande <tt>$1</tt> ..
icache_return=index de squid
icache_title=Cache initializé

restart_ftrs=Impossible de reconfiguré squid

sadmin_ftsao=Impossible de sauver les options d'administration
sadmin_header=Changer le propriétaire
sadmin_msg1=Vous avez changé les noms d'utilisateur et de groupe de squid. Pour que les changements soient effectifs, l'appartenance de tous les fichiers de cache et des fichiers de logs doivent être mis à jour, et Squid doit être redémarré

sadmin_buttco=Changer de propriétaire
sadmin_return=index de squid
sadmin_inavea='$1' n'est pas une adresse email valide
sadmin_inavh='$1' n'est pas un nom d'hôte valide
sadmin_inavap='$1' n'est pas une période d'annonce valide
sadmin_inavp='$1' n'est pas un port valide

sauth_ftsao=Impossible de sauver les options d'authentification
sauth_iomuf=Fichier utilisateur invalide ou manquant
sauth_iomd=Domaine invalide ou manquant
sauth_msg1=Cette version de Squid à été compilée avec le support des authentifications proxy

scache_ftsco=Impossible de sauver les options du cache
scache_emsg0=Vous devez entrer au moins un répertoire de cache
scache_emsg1=Le répertoire de cache '$1' n'existe pas
scache_emsg2='$1' n'est pas la taille valide
scache_emsg3='$1' is not a valid failed request cache time
scache_emsg4='$1' n'est pas un temps de cache DNS valide
scache_emsg5='$1' n'est pas un délais valide
scache_emsg6='$1' n'est pas une heure valide
scache_emsg7='$1' n'est pas un nombre de répertoire valide
scache_emsg8=Le nombre de répertoire doit être >= 1
scache_emsg9=Le nombre de répertoire doit être <= 256
scache_emsg10='$1' n'est pas une taille d'objet valide
scache_emsg11='$1' n'est pas un nombre d'objet valide
scache_emsg12='$1' n'est pas une taille de répertoire valide
scache_emsg13='$1' n'est pas un nom d'hôte valide
scache_emsg14='$1' n'est pas un port valide

schost_ftsc=Impossible de sauver le cache
schost_emsg1='$1' n'est pas un nom de cache valide
schost_emsg2='$1' n'est pas un port proxy valide
schost_emsg3='$1' n'est pas un port ICP valide
schost_emsg4='$1' n'est pas un temps de vie valide
schost_emsg5='$1' n'est pas un coefficient de ponderation du cache
sicp_ftsco=Impossible de sauver les options de cache
sicp_emsg1='$1' n'est pas un délais valide

slogs_ftslo=Impossible de sauver les options de connections
slogs_emsg1='$1' n'est pas un nom absolu de fichier
slogs_emsg2='$1' n'est pas un nom de fichier valide
slogs_emsg3=Le répertoire '$1' n'existe pas
slogs_emsg4='$1' n'est pas un masque de réseau valide
slogs_emsg5='$1' n'est pas une liste d'options de déboguage valide

smem_ftsmo=Imposssible de sauver les options de mémoire
smem_emsg1='$1' n'est pas une taille de cache valide
smem_emsg2='$1' n'est pas un niveau haut de remplissage
smem_emsg3='$1' n'est pas un niveau bas de remplissage
smem_emsg4='$1' n'est pas une taille d'objet valide

smisc_ftso=Impossible de sauver les options
smisc_emsg1='$1' n'est pas un nom de rotation valide
smisc_emsg2='$1' n'est pas un domaine valide
smisc_emsg3='$1' n'est pas un proxy valide
smisc_emsg4='$1' is not a valid number of hops

sport_ftspo=Impossible de sauver les options de port
sport_emsg1='$1' n'est pas un numéro de port valide
sport_emsg2='$1' n'est pas une adresse valide
sport_emsg3='$1' n'est pas une taille de buffer valide

sprog_ftshpo=Impossible de sauver les options des programmes d'aide
sprog_emsg1=Options FTP manquantes
sprog_emsg2='$1' n'est pas un programme valide
sprog_emsg3='$1' n'est pas un programme exécutable
sprog_emsg4='$1' n'est pas un nom de connection FTP valide
sprog_emsg5='$1' n'est pas un nombre de programme valide
sprog_emsg6='$1' n'est pas une largeur de colonne valide
sprog_emsg7=Vous n'avez pas spécifié de serveur DNS
sprog_emsg8='$1' n'est pas une adresse IP valdie

suser_ftsu=Impossible de sauver l'utilisateur
suser_emsg1=Nom d'utilisateur invalide ou manquant

start_ftsq=Impossible de démarrer Squid
stop_ftsq=Impossible d'arréter Squid

calamaris_title=Analyse des enregistrement Calamaris
calamaris_last=Limiter les analyses de logs sur les $1 dernières lignes des fichiers de trace ..
calamaris_eprog=L'executable calamaris $1 ne pas trouvé. Peut-être Calamaris n'est pas installé sur votre system ou votre <a href='$2'>module configuration</a> n'est pas corect.
calamaris_elogs=Le repertoire de log $1 ne contient pas de fichier <tt>access.log</tt>. Squid n'a peut-être pas été démarré, ou votre <a href='$2'>configuration du module</a> n'est pas correcte.
calamaris_gen=Rapport généré dans $1

lib_emsg1='$1' n'est pas une adresse IP valide
lib_seconds=secondes
lib_minutes=minutes
lib_hours=heures
lib_days=jours
lib_weeks=semaines
lib_fortnights=fortnights
lib_months=mois
lib_years=années
lib_decades=decades
lib_emsg2='$1' n'est pas un nombre valide de $2
lib_kb=kBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' n'est pas un nombre valide de $2
lib_aclca=Adresse cliente
lib_aclwsa=Adresse du serveur WEB
lib_aclch=Hôte client
lib_aclwsh=Nom d'hôte du serveur WEB
lib_acldat=Date et Heure
lib_aclur=L'expression rationelle pour URL
lib_aclupr=L'expression rationelle pour le chemin de URL
lib_aclup=Port URL
lib_aclup1=Protocol URL
lib_aclrm=Méthode de résolution
lib_aclbr=L'expression rationelle pour navigateur
lib_aclpl=nom de connexion au proxy
lib_aclsan=Le nombre du system autonome source
lib_acldan=Le nombre du system autonome de destination
lib_aclea=Authentification extérieur
lib_aclcr=L'expression rationelle pour client
lib_aclwsr=L'expression rationelle pour serveur Web
lib_aclru=Utilisateur RFC931
lib_aclpia=Adresse IP du proxy
lib_aclmc=Nombre maximal de connection
lib_aclpp=Numéro de port du Proxy
lib_aclsc=Communauté SNMP
lib_aclrmt=Request MIME Type
lib_aclarp=Adresse Ethernet
lib_aclear=L'expression rationelle pour l'authentification extérieur
lib_buttac=Appliquer les changements
lib_buttss=Arreter Squid
lib_buttss1=Démarrer Squid

log_ports=Changer les options de port et de réseau
log_icp=Changer d'autres options du cache
log_mem=Changer des options de l'utilisation de la mémoire
log_logs=Changer des options de connection
log_cache=Changer des options du cache
log_progs=Changer des options des programmes d'aide
log_admin=Changer des options d'administration
log_misc=Changer des options divers
log_clear=Nettoyer et reconstruire le cache
log_acl_create=Créer ACL $1
log_acl_modify=Modifier ACL $1
log_acl_delete=Effacer ACL $1
log_http_create=Créer une restriction du proxy
log_http_modify=Modifier une restriction du proxy
log_http_delete=Effacer une restriction du proxy
log_http_move=Déplacer une restriction du proxy
log_icp_create=Créer une resctriction ICP
log_icp_modify=Modifier une restriction ICP
log_icp_delete=Effacer une restriction ICP
log_icp_move=Déplacer une restriction ICP
log_stop=Arret du serveur proxy
log_start=Mise ne route du serveur proxy
log_apply=Appliquer les changements
lien avec un proxy
log_host_create=Le lien avec un proxy $1 est créé
log_host_modify=Le lien avec un proxy $1 est modifié
log_host_delete=Le lien avec un proxy $1 est supprimé
log_init=Initialiser le cache
log_user_create=Créer un utilisateur proxy $1
log_user_delete=Effacer un utilisateur proxy $1
log_user_modify=Modifier un utilisateur proxy $1
log_always_create=La liste d'acèss pour récupérer directement est créée
log_always_modify=La liste d'acèss pour récupérer directement est modifiée
log_always_delete=La liste d'acèss pour récupérer directement est effacée
log_always_move=La liste d'acèss pour récupérer directement est replacée
log_never_create=La liste d'acèss pour ne pas récupérer directement est créée.
log_never_modify=La liste d'acèss pour ne pas récupérer directement est modifiée
log_never_delete=La liste d'acèss pour ne pas récupérer directement est effacée
log_never_move=La liste d'acèss pour ne pas récupérer directement est remplacée

acl_root=Répertoire racine des fichiers ACL

always_create=Créer la liste d'acèss pour récupérer directement
always_edit=Editer la liste d'acèss pour récupérer directement
always_header=La liste d'acèss pour l'en-tête des demandes pour récupérer directement.

never_create=Create Indirect Fetch
never_edit=Edit Indirect Fetch
never_header=Never directly fetch requests matching ACLs

   070701000498fb000081a40000000000000002000000013d1fe2d400004f72000000200000000000000000000000000000001400000003reloc/squid/lang/it   index_header=Squid Proxy Server
index_msgnoconfig=The Squid config file <tt>$1</tt> does not exist. If you have Squid installed, adjust your <a href=/config.cgi?$2 >module configuration</a> to use the correct paths.
index_msgnoexe=The Squid executable <tt>$1</tt> does not exist. If you have Squid installed, adjust your <a href=/config.cgi?$2 >module configuration</a> to use the correct path.
index_msgnosupported=Your version of Squid is not supported by Webmin. Only versions <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2.3</tt> and <tt>2.4</tt> are supported by this module.
index_msgnodir1=Your Squid cache directories <tt>$1</tt> have not been initialized.
index_msgnodir2=Your Squid cache directory <tt>$1</tt> has not been initialized.
index_msgnodir3=This must be done before Squid can be run.
index_buttinit=Initialize Cache
index_asuser=as Unix user
index_portsnets=Ports and Networking
index_othercaches=Other Caches
index_musage=Memory Usage
index_mdusage=Memory and Disk Usage
index_logging=Logging
index_copts=Cache Options
index_hprogs=Helper Programs
index_actrl=Access Control
index_admopts=Administrative Options
index_proxyauth=Proxy Authentication
index_miscopt=Miscellaneous Options
index_cms=Cache Manager Statistics
index_rebuild=Clear and Rebuild Cache
index_calamaris=Calamaris Log Analysis
index_return=index
index_squidver=The command <tt>$1</tt> returned :

buttsave=Save
buttdel=Delete
buttcreat=Create
yes=Yes
no=No
default=Default
none=None
on=On
off=Off

acl_header1=Create ACL
acl_header2=Edit ACL
acl_name=ACL Name
acl_fromip=From IP
acl_toip=To IP
acl_nmask=Netmask
acl_ipaddr=IP Address
acl_domains=Domains
acl_dofw=Days of the Week
acl_sel=Selected..
acl_all=All
acl_dsun=Sunday
acl_dmon=Monday
acl_dtue=Tuesday
acl_dwed=Wednesday
acl_dthu=Thursday
acl_dfri=Friday
acl_dsat=Saturday
acl_hofd=Hours of the Day
acl_to=to
acl_regexp=Regular Expressions
acl_tcpports=TCP Ports
acl_urlproto=URL Protocols
acl_reqmethods=Request Methods
acl_bregexp=Browser Regexp
acl_pusers=Proxy Users
acl_eusers=External Auth Users
acl_case=Ignore case?
acl_eusersre=External Auth User Regexps
acl_asnum=AS Numbers
acl_rtime=Refresh Time
acl_rfcusers=RFC931 Users
acl_mcr=Maximum Concurrent Requests
acl_psp=Proxy Server Port
acl_scs=SNMP Community String
acl_rmt=Request MIME Type
acl_arp=Client ethernet addresses
acl_failurl=Failure URL
acl_buttsave=Save
acl_buttdel=Delete
acl_return=ACL list

aclsave_failsave=Failed to save ACL
aclsave_faildel=Failed to delete ACL
aclsave_epr=This ACL is being used by a proxy restriction
aclsave_eicpr=This ACL is being used by an ICP restriction
aclsave_ename=Invalid ACL name
aclsave_eexists=An ACL called '$1' already exists
aclsave_efrom='$1' is not a valid From IP address
aclsave_eto='$1' is not a valid To IP address
aclsave_enmask='$1' is not a valid netmask
aclsave_eip='$1' is not a valid IP address
aclsave_ecdom=No client domains given
aclsave_esdom=No server domains given
aclsave_eshour=Invalid starting hour
aclsave_eehour=Invalid ending hour
aclsave_esmin=Invalid starting min
aclsave_eemin=Invalid ending min
aclsave_efile=You are not allowed to write to the ACL file '$1'

cach_ecannot=You are not allowed to access cache manager statistics
cach_err=Error
cach_nfound=The Squid cache manager program <tt>$1</tt> was not found on your system. Maybe your <a href=/config.cgi?$2 >module configuration</a> is incorrect.
cach_return=squid index

chown_header=Change Ownership
chown_stop=Stopping squid ...
chown_done=.. Done
chown_chown=Changing ownership ...
chown_restart=Re-starting Squid ...
chown_failrestart=Failed to re-start Squid ..
chown_return=squid index

clear_ecannot=You are not allowed to clear and rebuild the cache
clear_header=Clear and Rebuild Cache
clear_msgclear=Are you sure you want to clear and rebuild your Squid cache? This will delete <b>all</b> the files you have cached and re-start your Squid server.
clear_msgclear2=You should make sure you are not using this cache to communicate with this Webmin server, or you will be disconnected when the cache is shut down.
clear_buttclear=Clear and Rebuild Cache
clear_stop=Stopping squid ...
clear_done=.. Done
clear_del=Deleting old cache files ..
clear_init=Initializing the Squid cache with the command <tt>$1</tt> ..
clear_failrestart=Failed to re-start Squid ..
clear_return=squid index

eacl_ecannot=You are not allowed to edit access control
eacl_header=Access Control
eacl_acls=Access control lists
eacl_name=Name
eacl_type=Type
eacl_match=Matching..
eacl_noacls=No ACLs defined
eacl_buttcreate=Create new ACL
eacl_pr=Proxy restrictions
eacl_act=Action
eacl_acls1=ACLs
eacl_move=Move
eacl_nopr=No proxy restrictions defined
eacl_addpr=Add proxy restriction
eacl_icpr=ICP restrictions
eacl_noicpr=No ICP restrictions defined
eacl_addicpr=Add ICP restriction
eacl_return=squid index
eacl_allow=Allow
eacl_deny=Deny

eadm_ecannot=You are not allowed to edit administrative options
eadm_header=Administrative Options
eadm_aao=Administrative and Announce Options
eadm_runasuu=Run as Unix user
eadm_nochange=No change
eadm_user=User
eadm_group=Group
eadm_runasug=Run as Unix group
eadm_par=Proxy authentication realm
eadm_default=Default
eadm_cmemail=Cache manager email address
eadm_vhost=Visible hostname
eadm_uniq=Unique hostname
eadm_haliases=Other cache DNS names
eadm_none=None
eadm_auto=Automatic
eadm_annto=Announce cache to
eadm_annevery=Announce cache every
eadm_never=Never
eadm_uniqhn=Unique hostname
eadm_cah=Cache announce host
eadm_cap=Cache announce port
eadm_caf=Cache announce file
eadm_annp=Announcement period
eadm_buttsave=Save
eadm_return=squid index

eauth_ecannot=You are not allowed to edit proxy authentication
eauth_header=Proxy Authentication
eauth_aopt=Authentication Options
eauth_puf=Proxy users file
eauth_none=None
eauth_nologin=No login needed for domain
eauth_buttsave=Save
eauth_msgaccess=Access to your proxy server is limited to the users listed below. After adding, deleting or removing a user Squid must be stopped and started again for the changes to take effect.
eauth_nmsgaccess=Access to your proxy server is limited to the users listed below, taken from the file $1.
eauth_pusers=Proxy Users
eauth_nopusers=No proxy users are currently defined.
eauth_addpuser=Add a new proxy user
eauth_return=squid index

ec_ecannot=You are not allowed to edit cache options
ec_header=Cache Options
ec_cro=Caching and Request Options
ec_cdirs=Cache directories
ec_default=Default
ec_listed=Listed..
ec_directory=Directory
ec_type=Type
ec_opts=Options
ec_size=Size (MB)
ec_1dirs=1st level dirs
ec_2dirs=2nd level dirs
ec_u=UFS
ec_ua=Async UFS
ec_diskd=DISKD
ec_1dirs1=First level directories
ec_2dirs2=Second level directories
ec_aos=Average object size
ec_kb=kB
ec_mins=mins
ec_secs=secs
ec_opb=Objects per bucket
ec_ncuc=Don't cache URLs containing
ec_ncum=Don't cache URLs matching
ec_ncua=Don't cache URLs for ACLs
ec_mct=Maximum cache time
ec_mrbs=Maximum request body size
ec_mrhs=Maximum request headers size
ec_mrbs1=Maximum reply body size
ec_mrs=Maximum request size
ec_frct=Failed request cache time
ec_dlct=DNS lookup cache time
ec_fdct=Failed DNS cache time
ec_ct=Connect timeout
ec_rt=Read timeout
ec_mcct=Max client connect time
ec_mst=Max shutdown time
ec_sst=Site selection timeout
ec_crt=Client request timeout
ec_hcc=Half-closed clients?
ec_pt=Persistant timeout
ec_wr=WAIS relay
ec_none=None
ec_host=Host
ec_port=Port
ec_wrh=WAIS relay host
ec_wrp=WAIS relay port
ec_buttsave=Save
ec_return=squid index

ech_header=Create Cache Host
ech_header1=Edit Cache Host
ech_cho=Cache Host Options
ech_h=Hostname
ech_parent=parent
ech_sibling=sibling
ech_multicast=multicast
ech_t=Type
ech_pp=Proxy port
ech_ip=ICP port
ech_po=Proxy only?
ech_y=Yes
ech_n=No
ech_siq=Send ICP queries?
ech_dc=Default cache?
ech_rrc=Round-robin cache?
ech_ittl=ICP time-to-live
ech_d=Default
ech_cw=Cache weighting
ech_co=Closest only?
ech_nd=No digest?
ech_nne=No NetDB exchange?
ech_nd1=No delay?
ech_ltp=Login to proxy
ech_nl=No login
ech_u=User:
ech_p=Pass:
ech_mr=Multicast responder?
ech_qhfd=Query host for domains
ech_dqfd=Don't query for domains
ech_buttsave=Save
ech_buttdel=Delete
ech_return=cache list

eicp_ecannot=You are not allowed to edit other caches
eicp_header=Other Caches
eicp_opcs=Other proxy cache servers
eicp_nocd=No other caches defined
eicp_aac=Add another cache
eicp_cso=Cache Selection Options
eicp_fdfd=Fetch directly from domains
eicp_fdfi=Fetch directly from IPs
eicp_dif=Domains inside firewall
eicp_iif=IPs inside firewall
eicp_dfuc=Directly fetch URLs containing
eicp_d=Default
eicp_bpfsp=Bypass ping for single parent?
eicp_y=Yes
eicp_n=No
eicp_secs=secs
eicp_ssip=Send source in ping?
eicp_crt=Cache reply timeout
eicp_iqt=ICP query timeout
eicp_mit=Multicase ICP timeout
eicp_dpt=Dead peer timeout
eicp_h=Hostname
eicp_t=Type
eicp_pp=Proxy port
eicp_ip=ICP port
eicp_return=squid index
eicp_always=ACLs to fetch directly
eicp_noalways=No direct fetch ACLs defined
eicp_addalways=Add ACLs to fetch directly
eicp_never=ACLs never to fetch directly
eicp_nonever=No never direct fetch ACLs defined
eicp_addnever=Add ACLs never to fetch directly

elogs_ecannot=You are not allowed to edit logging
elogs_header=Logging
elogs_lalo=Logging and Logfile Options
elogs_alf=Access log file
elogs_dlf=Debug log file
elogs_slf=Storage log file
elogs_cmf=Cache metadata file
elogs_uhlf=Use HTTPD log format?
elogs_lmh=Log MIME headers?
elogs_ualf=User agent log file
elogs_pf=PID file
elogs_prilfa=Perform RFC931 ident lookups for ACLs
elogs_rit=RFC931 ident timeout
elogs_dril=Do RFC931 ident lookups?
elogs_lfh=Log full hostnames?
elogs_ln=Logging netmask
elogs_do=Debug options
elogs_mht=MIME headers table
elogs_return=squid index

emem_ecannot=You are not allowed to edit memory usage
emem_dheader=Memory and Disk Usage
emem_header=Memory Usage
emem_maduo=Memory and Disk Usage Options
emem_mul=Memory usage limit
emem_dul=Disk usage limit
emem_fcs=FQDN cache size
emem_mb=MB
emem_kb=kB
emem_mhwm=Memory high-water mark
emem_mlwm=Memory low-water mark
emem_dhwm=Disk high-water mark
emem_dlwm=Disk low-water mark
emem_mcos=Maximum cached object size
emem_iacs=IP address cache size
emem_e=entries
emem_ichwm=IP cache high-water mark
emem_iclwm=IP cache low-water mark
emem_crp=Disk replacement policy
emem_lru=Least recently used
emem_gdsf=Greedy-dual size frequency
emem_lfuda=Dynamic least frequently used
emem_hlru=Heap least frequently used
emem_return=squid index
emem_mrp=Memory replacement policy

emisc_ecannot=You are not allowed to edit miscellaneous options
emisc_header=Miscellaneous Options
emisc_mo=Miscellaneous Options
emisc_sdta=Startup DNS test addresses
emisc_slr=SIGUSR1 logfile rotations
emisc_dd=Default domain
emisc_sp=SSL proxy
emisc_nghp=Non-GET HTTP proxy
emisc_emt=Error messages text
emisc_pcs=Per-client statistics?
emisc_xffh=X-Forwarded-For header?
emisc_liq=Log ICP queries?
emisc_mdh=Minimum direct hops
emisc_kmffu=Keep memory for future use?
emisc_aomtk=Amount of memory to keep
emisc_u=Unlimited
emisc_htpt=Headers to pass through
emisc_ah=All headers
emisc_oh=Only headers
emisc_ae=All except
emisc_a=Anonymizer?
emisc_off=Off
emisc_std=Standard
emisc_par=Paranoid
emisc_fua=Fake User-Agent
emisc_return=squid index
emisc_hauhh=HTTP Accel Uses Host Header
emisc_hah=HTTP Accel Host
emisc_hap=HTTP Accel Port
emisc_hawp=HTTP Accel With Proxy

eports_ecannot=You are not allowed to edit ports and networking
eports_header=Ports and Networking
eports_pano=Ports and Networking Options
eports_paap=Proxy addresses and ports
eports_p=Port
eports_hia=Hostname/IP address
eports_pp=Proxy port
eports_ip=ICP port
eports_ota=Outgoing TCP address
eports_ita=Incoming TCP address
eports_a=Any
eports_oua=Outgoing UDP address
eports_iua=Incoming UDP address
eports_mg=Multicast groups
eports_trb=TCP receive buffer
eports_od=OS default
eports_return=squid index

eprogs_ecannot=You are not allowed to edit helper programs
eprogs_header=Helper Programs
eprogs_chpo=Cache Helper Program Options
eprogs_sfp=Squid FTP program
eprogs_fo=FTP options
eprogs_fcv=FTP column width
eprogs_c=chars
eprogs_afl=Anon FTP login
eprogs_sdp=Squid DNS program
eprogs_nodp=Number of DNS programs
eprogs_adtr=Append domain to requests
eprogs_dsa=DNS server addresses
eprogs_fr=From resolv.conf
eprogs_ccp=Cache clearing program
eprogs_spp=Squid ping program
eprogs_crp=Custom redirect program
eprogs_norp=Number of redirect programs
eprogs_cap=Custom Authentication program
eprogs_noap=Number of authentication programs
eprogs_return=squid index

euser_header=Create Proxy User
euser_header1=Edit Proxy User
euser_pud=Proxy User Details
euser_u=Username
euser_p=Password
euser_u1=Unchanged
euser_return=users list

ahttp_header=Create Proxy Restriction
ahttp_header1=Edit Proxy Restriction
ahttp_pr=Proxy Restriction
ahttp_a=Action
ahttp_a1=Allow
ahttp_d=Deny
ahttp_ma=Match ACLs
ahttp_dma=Don't match ACLs
ahttp_return=ACL list

sahttp_ftspr=Failed to save proxy restriction

aicp_header=Create ICP Restriction
aicp_header1=Edit ICP Restriction
aicp_ir=ICP Restriction
aicp_a=Action
aicp_a1=Allow
aicp_d=Deny
aicp_ma=Match ACLs
aicp_dma=Don't match ACLs
aicp_return=ACL list

saicp_ftsir=Failed to save ICP restriction

icache_ecannot=You are not allowed to initialize the cache
icache_ftic=Failed to initialize cache
icache_ymcautrsa=You must choose a user to run Squid as
icache_itscwtc=Initializing the Squid cache with the command <tt>$1</tt> ..
icache_return=squid index
icache_title=Initialize Cache

restart_ftrs=Failed to reconfigure squid

sadmin_ftsao=Failed to save administrative options
sadmin_header=Change Ownership
sadmin_msg1=You have changed the user or group that Squid runs as. For this to take effect properly, the ownership of all cache and log files should be updated and Squid re-started.
sadmin_buttco=Change Ownership
sadmin_return=squid index
sadmin_inavea='$1' is not a valid email address
sadmin_inavh='$1' is not a valid hostname
sadmin_inavap='$1' is not a valid announcement period
sadmin_inavp='$1' is not a valid port

sauth_ftsao=Failed to save authentication options
sauth_iomuf=Invalid or missing users filename
sauth_iomd=Invalid or missing domain
sauth_msg1=Your version of Squid has not been compiled with support for proxy authentication

scache_ftsco=Failed to save cache options
scache_emsg0=You must enter at least one cache directory
scache_emsg1=The cache directory '$1' does not exist
scache_emsg2='$1' is not a valid request size
scache_emsg3='$1' is not a valid failed request cache time
scache_emsg4='$1' is not a valid DNS cache time
scache_emsg5='$1' is not a valid timeout
scache_emsg6='$1' is not a valid time
scache_emsg7='$1' is not a valid number of directories
scache_emsg8=Number of directories must be >= 1
scache_emsg9=Number of directories must be <= 256
scache_emsg10='$1' is not a valid object size
scache_emsg11='$1' is not a valid number of objects
scache_emsg12='$1' is not a valid directory size
scache_emsg13='$1' is not a valid host
scache_emsg14='$1' is not a valid port

schost_ftsc=Failed to save cache
schost_emsg1='$1' is not a valid cache hostname
schost_emsg2='$1' is not a valid proxy port
schost_emsg3='$1' is not a valid ICP port
schost_emsg4='$1' is not a valid time-to-live
schost_emsg5='$1' is not a valid weighting

sicp_ftsco=Failed to save cache options
sicp_emsg1='$1' is not a valid timeout

slogs_ftslo=Failed to save logging options
slogs_emsg1='$1' is not an absolute filename
slogs_emsg2='$1' is not a valid filename
slogs_emsg3=The directory '$1' does not exist
slogs_emsg4='$1' is not a valid netmask
slogs_emsg5='$1' is not a valid debug options list

smem_ftsmo=Failed to save memory options
smem_emsg1='$1' is not a valid cache size
smem_emsg2='$1' is not a valid high-water mark
smem_emsg3='$1' is not a valid low-water mark
smem_emsg4='$1' is not a valid object size

smisc_ftso=Failed to save options
smisc_emsg1='$1' is not a valid number of rotations
smisc_emsg2='$1' is not a valid domain
smisc_emsg3='$1' is not a valid proxy
smisc_emsg4='$1' is not a valid number of hops

sport_ftspo=Failed to save port options
sport_emsg1='$1' is not a valid port number
sport_emsg2='$1' is not a valid address
sport_emsg3='$1' is not a valid buffer size

sprog_ftshpo=Failed to save helper program options
sprog_emsg1=Missing FTP options
sprog_emsg2='$1' is not a valid program
sprog_emsg3='$1' is not an executable program
sprog_emsg4='$1' is not a valid FTP login
sprog_emsg5='$1' is not a valid number of programs
sprog_emsg6='$1' is not a valid column width
sprog_emsg7=No DNS servers entered
sprog_emsg8='$1' is not a valid IP address

suser_ftsu=Failed to save user
suser_emsg1=Invalid or missing username
suser_etaken=Username is already in use

start_ftsq=Failed to start Squid
start_ecannot=You are not allowed to start Squid
stop_ftsq=Failed to stop Squid
stop_ecannot=You are not allowed to stop Squid

calamaris_ecannot=You are not allowed to access Calamaris log analysis
calamaris_title=Calamaris Log Analysis
calamaris_last=Limiting analysis to last $1 lines of logs ..
calamaris_eprog=The calamaris executable $1 was not found. Maybe it is not installed on your system, or your <a href='$2'>module configuration</a> is incorrect.
calamaris_elogs=The log directory $1 does not contain any <tt>access.log</tt> files. Maybe squid has not been run yet, or your <a href='$2'>module configuration</a> is incorrect.
calamaris_gen=Report generated on $1

lib_emsg1='$1' is not a valid IP address
lib_seconds=seconds
lib_minutes=minutes
lib_hours=hours
lib_days=days
lib_weeks=weeks
lib_fortnights=fortnights
lib_months=months
lib_years=years
lib_decades=decades
lib_emsg2='$1' is not a valid number of $2
lib_kb=kBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' is not a valid number of $2
lib_aclca=Client Address
lib_aclwsa=Web Server Address
lib_aclch=Client Hostname
lib_aclwsh=Web Server Hostname
lib_acldat=Date and  Time
lib_aclur=URL Regexp
lib_aclupr=URL Path Regexp
lib_aclup=URL Port
lib_aclup1=URL Protocol
lib_aclrm=Request Method
lib_aclbr=Browser Regexp
lib_aclpl=Proxy Login
lib_aclsan=Source AS Number
lib_acldan=Dest AS Number
lib_aclea=External Auth
lib_aclcr=Client Regexp
lib_aclwsr=Web Server Regexp
lib_aclru=RFC931 User
lib_aclpia=Proxy IP Address
lib_aclmc=Maximum Connections
lib_aclpp=Proxy Port
lib_aclsc=SNMP Community
lib_aclrmt=Request MIME Type
lib_aclarp=Ethernet Address
lib_aclear=External Auth Rexexp
lib_buttac=Apply Changes
lib_buttss=Stop Squid
lib_buttss1=Start Squid

log_ports=Changed ports and networking options
log_icp=Changed other cache options
log_mem=Changed memory usage options
log_logs=Changed logging options
log_cache=Changed cache options
log_progs=Changed helper program options
log_admin=Changed administrative options
log_misc=Changed miscellaneous options
log_clear=Cleared and rebuilt cache
log_acl_create=Created ACL $1
log_acl_modify=Modified ACL $1
log_acl_delete=Deleted ACL $1
log_http_create=Created proxy restriction
log_http_modify=Modified proxy restriction
log_http_delete=Deleted proxy restriction
log_http_move=Moved proxy restriction
log_icp_create=Created ICP restriction
log_icp_modify=Modified ICP restriction
log_icp_delete=Deleted ICP restriction
log_icp_move=Moved ICP restriction
log_stop=Stopped proxy server
log_start=Started proxy server
log_apply=Applied changes
log_host_create=Created cache host $1
log_host_modify=Modified cache host $1
log_host_delete=Deleted cache host $1
log_init=Initialized cache
log_user_create=Created proxy user $1
log_user_delete=Deleted proxy user $1
log_user_modify=Modified proxy user $1
log_always_create=Created direct fetch ACLs
log_always_modify=Modified direct fetch ACLs
log_always_delete=Deleted direct fetch ACLs
log_always_move=Moved direct fetch ACLs
log_never_create=Created never direct fetch ACLs
log_never_modify=Modified never direct fetch ACLs
log_never_delete=Deleted never direct fetch ACLs
log_never_move=Moved never direct fetch ACLs

acl_root=Root directory for ACL files
acl_sections=Allowed configuration pages
acl_start=Can start and stop squid?

always_create=Create Direct Fetch
always_edit=Edit Direct Fetch
always_header=Directly fetch requests matching ACLs

never_create=Create Indirect Fetch
never_edit=Edit Indirect Fetch
never_header=Never directly fetch requests matching ACLs

  070701000498fc000081a40000000000000002000000013d1fe2d40000508e000000200000000000000000000000000000001b00000003reloc/squid/lang/ja_JP.euc    index_header=Squid ¥×¥í¥­¥· ¥µ¡¼¥Ð
index_msgnoconfig=Squid ÀßÄê¥Õ¥¡¥¤¥ë <tt>$1</tt> ¤¬¤¢¤ê¤Þ¤»¤ó¡£Squid ¤ò¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï<a href=/config.cgi?$2 >¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÄ´À°¤·¤ÆÀµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£
index_msgnoexe=Squid ¼Â¹Ô¥Õ¥¡¥¤¥ë <tt>$1</tt> ¤¬¤¢¤ê¤Þ¤»¤ó¡£Squid ¤ò¤¹¤Ç¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï<a href=/config.cgi?$2 >¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤òÊÑ¹¹¤·¤ÆÀµ¤·¤¤¥Ñ¥¹¤ò»ÈÍÑ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
index_msgnosupported=Webmin ¤Ï¡¢¤´»ÈÍÑ¤Î Squid ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£¥Ð¡¼¥¸¥ç¥ó<tt>1.1</tt>¡¢<tt>2.0</tt>¡¢<tt>2.1</tt>¡¢<tt>2.2</tt> ¤ª¤è¤Ó<tt>2.3</tt> ¤¬¤³¤Î¥â¥¸¥å¡¼¥ë¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
index_msgnodir1=Squid ¤Î¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê<tt>$1</tt> ¤¬½é´ü²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_msgnodir2=Squid ¤Î¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê<tt>$1</tt> ¤¬½é´ü²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
index_msgnodir3=Squid ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢»öÁ°¤Ë½é´ü²½¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
index_buttinit=¥­¥ã¥Ã¥·¥å¤ò½é´ü²½
index_asuser=Unix ¥æ¡¼¥¶¤È¤·¤Æ
index_portsnets=¥Ý¡¼¥È¤È¥Í¥Ã¥È¥ï¡¼¥¯
index_othercaches=Â¾¤Î¥­¥ã¥Ã¥·¥å
index_musage=¥á¥â¥ê»ÈÍÑÎ¨
index_mdusage=¥á¥â¥ê¤È¥Ç¥£¥¹¥¯¤Î»ÈÍÑÎ¨
index_logging=¥í¥°
index_copts=¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó
index_hprogs=¥Ø¥ë¥Ñ¡¼ ¥×¥í¥°¥é¥à
index_actrl=¥¢¥¯¥»¥¹À©¸æ
index_admopts=´ÉÍý¥ª¥×¥·¥ç¥ó
index_proxyauth=¥×¥í¥­¥·Ç§¾Ú
index_miscopt=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
index_cms=¥­¥ã¥Ã¥·¥å ¥Þ¥Í¡¼¥¸¥ãÅý·×
index_rebuild=¥­¥ã¥Ã¥·¥å¤Î¥¯¥ê¥¢¤ª¤è¤Ó¥ê¥Ó¥ë¥É
index_calamaris=Calamaris ¥í¥°Ê¬ÀÏ
index_return=¥¤¥ó¥Ç¥Ã¥¯¥¹

buttsave=ÊÝÂ¸
buttdel=ºï½ü
buttcreat=ºîÀ®
yes=¤Ï¤¤
no=¤¤¤¤¤¨
default=¥Ç¥Õ¥©¥ë¥È
none=¤Ê¤·
on=¥ª¥ó
off=¥ª¥Õ

acl_header1=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È) ¤ÎºîÀ®
acl_header2=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È) ¤ÎÊÔ½¸
acl_name=ACL Ì¾
acl_fromip=È¯¿®¸µ IP ¥¢¥É¥ì¥¹
acl_toip=¼õ¿®Àè IP ¥¢¥É¥ì¥¹
acl_nmask=¥Í¥Ã¥È¥Þ¥¹¥¯
acl_ipaddr=IP ¥¢¥É¥ì¥¹
acl_domains=¥É¥á¥¤¥ó
acl_dofw=ÍËÆü
acl_sel=ÁªÂò..
acl_all=¤¹¤Ù¤Æ
acl_dsun=ÆüÍË
acl_dmon=·îÍË
acl_dtue=²ÐÍË
acl_dwed=¿åÍË
acl_dthu=ÌÚÍË
acl_dfri=¶âÍË
acl_dsat=ÅÚÍË
acl_hofd=»þ´Ö
acl_to=¼¡¤Þ¤Ç
acl_regexp=Àµµ¬É½¸½
acl_tcpports=TCP ¥Ý¡¼¥È
acl_urlproto=URL ¥×¥í¥È¥³¥ë
acl_reqmethods=Í×ÀÁÊýË¡
acl_bregexp=¥Ö¥é¥¦¥¶¤ÎÀµµ¬É½¸½
acl_pusers=¥×¥í¥­¥· ¥æ¡¼¥¶
acl_eusers=³°ÉôÇ§¾Ú¥æ¡¼¥¶
acl_case=ÂçÊ¸»ú/¾®Ê¸»ú¤Î¶èÊÌ¤òÌµ»ë¤·¤Þ¤¹¤«¡©
acl_eusersre=³°ÉôÇ§¾Ú¥æ¡¼¥¶Àµµ¬É½¸½
acl_asnum=AS (¼«Î§¥·¥¹¥Æ¥à) ÈÖ¹æ
acl_rtime=¥ê¥Õ¥ì¥Ã¥·¥å»þ´Ö
acl_rfcusers=RFC931 ¥æ¡¼¥¶
acl_mcr=Æ±»þÍ×ÀÁ¤ÎºÇÂç¿ô
acl_psp=¥×¥í¥­¥· ¥µ¡¼¥Ð ¥Ý¡¼¥È
acl_scs=SNMP ¥³¥ß¥å¥Ë¥Æ¥£Ê¸»úÎó
acl_rmt=MIME ¥¿¥¤¥×¤ÎÍ×ÀÁ
acl_arp=¥¯¥é¥¤¥¢¥ó¥È ¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹
acl_failurl=¼ºÇÔ¤·¤¿ URL
acl_buttsave=ÊÝÂ¸
acl_buttdel=ºï½ü
acl_return=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È)

aclsave_failsave=ACL ¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
aclsave_faildel=ACL ¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿:
aclsave_epr=¤³¤Î ACL ¤Ï¥×¥í¥­¥·À©¸Â¤Ç»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
aclsave_eicpr=¤³¤Î ACL ¤Ï ICP À©¸Â¤Ç»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
aclsave_ename=Ìµ¸ú¤Ê ACL Ì¾
aclsave_eexists='$1' ¤È¤¤¤¦ ACL ¤Ï¤¹¤Ç¤ËÂ¸ºß¤·¤Æ¤¤¤Þ¤¹
aclsave_efrom='$1' ¤ÏÌµ¸ú¤ÊÈ¯¿®¸µ¤Î IP ¥¢¥É¥ì¥¹¤Ç¤¹
aclsave_eto='$1' ¤ÏÌµ¸ú¤Ê¼õ¿®Àè IP ¥¢¥É¥ì¥¹¤Ç¤¹
aclsave_enmask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
aclsave_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
aclsave_ecdom=¥¯¥é¥¤¥¢¥ó¥È ¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
aclsave_esdom=¥µ¡¼¥Ð ¥É¥á¥¤¥ó¤¬»ØÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
aclsave_eshour=³«»Ï»þ´Ö¤¬Ìµ¸ú¤Ç¤¹
aclsave_eehour=½ªÎ»»þ´Ö¤¬Ìµ¸ú¤Ç¤¹
aclsave_esmin=³«»Ï¤ÎÊ¬¤¬Ìµ¸ú¤Ç¤¹
aclsave_eemin=½ªÎ»¤ÎÊ¬¤¬Ìµ¸ú¤Ç¤¹
aclsave_efile=ACL ¥Õ¥¡¥¤¥ë '$1' ¤Ø¤Î½ñ¹þ¤ß¤Ï¤Ç¤­¤Þ¤»¤ó

cach_err=¥¨¥é¡¼
cach_nfound=Squid ¥­¥ã¥Ã¥·¥å ¥Þ¥Í¡¼¥¸¥ã ¥×¥í¥°¥é¥à <tt>$1</tt> ¤¬¥·¥¹¥Æ¥à¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤´»ÈÍÑ¤Î<a href=/config.cgi?$2 >¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
cach_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

chown_header=½êÍ­¸¢¤ÎÊÑ¹¹
chown_stop=Squid ¤òÄä»ß...
chown_done=.. ´°Î»
chown_chown=½êÍ­¸¢¤òÊÑ¹¹Ãæ...
chown_restart=Squid ¤ÎºÆµ¯Æ°...
chown_failrestart=Squid ¤òºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿..
chown_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

clear_header=¥­¥ã¥Ã¥·¥å¤Î¥¯¥ê¥¢¤È¥ê¥Ó¥ë¥É
clear_msgclear=Squid ¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢¤·¤Æ¥ê¥Ó¥ë¥É¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«¡©¤³¤ì¤Ï¥­¥ã¥Ã¥·¥å¤ËÆþ¤ì¤¿ <b>¤¹¤Ù¤Æ</b> ¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ Squid ¥µ¡¼¥Ð¤òºÆµ¯Æ°¤·¤Þ¤¹¡£
clear_msgclear2=¤³¤Î¥­¥ã¥Ã¥·¥å¤ò Webmin ¥µ¡¼¥Ð¤È¤ÎÄÌ¿®¤Ë»ÈÍÑ¤·¤Æ¤¤¤Ê¤¤¤³¤È¤òÉ¬¤º³ÎÇ§¤·¤Ê¤¤¤È¡¢¥­¥ã¥Ã¥·¥å¤¬¥·¥ã¥Ã¥È¥À¥¦¥ó¤µ¤ì¤¿¤È¤­¤ËÀÚÃÇ¤µ¤ì¤Þ¤¹¡£
clear_buttclear=¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢¤·¤Æ¥ê¥Ó¥ë¥É
clear_stop=Squid ¤òÄä»ßÃæ...
clear_done=.. ´°Î»
clear_del=¸Å¤¤¥­¥ã¥Ã¥·¥å ¥Õ¥¡¥¤¥ë¤òºï½üÃæ ..
clear_init=¥³¥Þ¥ó¥É<tt>$1</tt>¤Ç Squid ¥­¥ã¥Ã¥·¥å¤ò½é´ü²½Ãæ..
clear_failrestart=Squid ¤òºÆµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿..
clear_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

eacl_header=¥¢¥¯¥»¥¹À©¸æ
eacl_acls=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È)
eacl_name=¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥ÈÌ¾
eacl_type=¼ïÎà
eacl_match=°ìÃ×..
eacl_noacls=ACL ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
eacl_buttcreate=¿·µ¬¤Î ACL ¤òºîÀ®
eacl_pr=¥×¥í¥­¥·À©¸Â
eacl_act=¥¢¥¯¥·¥ç¥ó
eacl_acls1=ACL
eacl_move=°ÜÆ°
eacl_nopr=¥×¥í¥­¥·À©¸Â¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
eacl_addpr=¥×¥í¥­¥·À©¸Â¤òÄÉ²Ã
eacl_icpr=ICP À©¸Â
eacl_noicpr=ICP À©¸Â¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
eacl_addicpr=ICP À©¸Â¤òÄÉ²Ã
eacl_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
eacl_allow=µö²Ä
eacl_deny=µñÈÝ

eadm_header=´ÉÍý¥ª¥×¥·¥ç¥ó
eadm_aao=´ÉÍý¤È¥¢¥Ê¥¦¥ó¥¹ ¥ª¥×¥·¥ç¥ó
eadm_runasuu=Unix ¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
eadm_nochange=ÊÑ¹¹¤Ê¤·
eadm_user=¥æ¡¼¥¶
eadm_group=¥°¥ë¡¼¥×
eadm_runasug=Unix ¥°¥ë¡¼¥×¤È¤·¤Æ¼Â¹Ô
eadm_par=¥×¥í¥­¥·Ç§¾ÚÎÎ°è
eadm_default=¥Ç¥Õ¥©¥ë¥È
eadm_cmemail=¥­¥ã¥Ã¥·¥å ¥Þ¥Í¡¼¥¸¥ã E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
eadm_vhost=É½¼¨¤¹¤ë¥Û¥¹¥ÈÌ¾
eadm_uniq=¸ÇÍ­¤Î¥Û¥¹¥ÈÌ¾
eadm_haliases=Â¾¤Î¥­¥ã¥Ã¥·¥å DNS Ì¾
eadm_none=¤Ê¤·
eadm_auto=¼«Æ°
eadm_annto=¥­¥ã¥Ã¥·¥å ¥¢¥Ê¥¦¥ó¥¹Àè
eadm_annevery=¥­¥ã¥Ã¥·¥å ¥¢¥Ê¥¦¥ó¥¹¤ò¹Ô¤¦Ã±°Ì
eadm_never=¤Ê¤·
eadm_uniqhn=¸ÇÍ­¤Î¥Û¥¹¥ÈÌ¾
eadm_cah=¥­¥ã¥Ã¥·¥å ¥¢¥Ê¥¦¥ó¥¹¤Î¥Û¥¹¥È
eadm_cap=¥­¥ã¥Ã¥·¥å ¥¢¥Ê¥¦¥ó¥¹¤Î¥Ý¡¼¥È
eadm_caf=¥­¥ã¥Ã¥·¥å ¥¢¥Ê¥¦¥ó¥¹¤Î¥Õ¥¡¥¤¥ë
eadm_none=¤Ê¤·
eadm_annp=¥¢¥Ê¥¦¥ó¥¹´ü´Ö
eadm_buttsave=ÊÝÂ¸
eadm_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

eauth_header=¥×¥í¥­¥·Ç§¾Ú
eauth_aopt=Ç§¾Ú¥ª¥×¥·¥ç¥ó
eauth_puf=¥×¥í¥­¥· ¥æ¡¼¥¶ ¥Õ¥¡¥¤¥ë
eauth_none=¤Ê¤·
eauth_nologin=¥É¥á¥¤¥ó¤Ø¤Î¥í¥°¥¤¥ó¤ÏÉ¬Í×¤¢¤ê¤Þ¤»¤ó
eauth_buttsave=ÊÝÂ¸
eauth_msgaccess=¤´»ÈÍÑ¤Î¥×¥í¥­¥· ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¡¢²¼¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤Ë¸ÂÄê¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤òÄÉ²Ã¡¢ºï½ü¤Þ¤¿¤Ï½üµî¤·¤¿¸å¤Ë¤½¤ÎÊÑ¹¹¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢Squid ¤òÄä»ß¤·ºÆµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£
eauth_nmsgaccess=¤´»ÈÍÑ¤Î¥×¥í¥­¥· ¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¡¢¥Õ¥¡¥¤¥ë $1 ¤«¤é¼è¤ê½Ð¤·¤¿¡¢²¼¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¤Ë¸ÂÄê¤µ¤ì¤Þ¤¹¡£
eauth_pusers=¥×¥í¥­¥· ¥æ¡¼¥¶
eauth_nopusers=¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥×¥í¥­¥· ¥æ¡¼¥¶¤Ï¤¢¤ê¤Þ¤»¤ó¡£
eauth_addpuser=¿·µ¬¥×¥í¥­¥· ¥æ¡¼¥¶¤òÄÉ²Ã
eauth_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

ec_header=¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó
ec_cro=¥­¥ã¥Ã¥·¥å¤ÈÍ×ÀÁ¥ª¥×¥·¥ç¥ó
ec_cdirs=¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê
ec_default=¥Ç¥Õ¥©¥ë¥È
ec_listed=¥ê¥¹¥È..
ec_directory=¥Ç¥£¥ì¥¯¥È¥ê
ec_type=¼ïÎà
ec_mos=¥ª¥Ö¥¸¥§¥¯¥È ¥µ¥¤¥º (KB)
ec_size=¥µ¥¤¥º (MB)
ec_1dirs=ºÇ½é¤Î¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê
ec_2dirs=2 ÈÖÌÜ¤Î¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê
ec_u=UFS
ec_ua=Async (ÈóÆ±´ü) UFS
ec_diskd=DISKD
ec_1dirs1=ºÇ½é¤Î¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê
ec_2dirs2=2 ÈÖÌÜ¤Î¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê
ec_aos=Ê¿¶Ñ¥ª¥Ö¥¸¥§¥¯¥È ¥µ¥¤¥º
ec_kb=KB
ec_mins=Ê¬
ec_secs=ÉÃ
ec_opb=¥Ð¥±¥Ã¥È¤´¤È¤Î¥ª¥Ö¥¸¥§¥¯¥È
ec_ncuc=¼¡¤ò´Þ¤à URL ¤ò¥­¥ã¥Ã¥·¥å¤ËÆþ¤ì¤Ê¤¤
ec_ncum=¼¡¤È°ìÃ×¤¹¤ë URL ¤ò¥­¥ã¥Ã¥·¥å¤ËÆþ¤ì¤Ê¤¤
ec_ncua=ACL ¤Î URL ¤ò¥­¥ã¥Ã¥·¥å¤ËÆþ¤ì¤Ê¤¤
ec_mct=ºÇÂç¥­¥ã¥Ã¥·¥å»þ´Ö
ec_mrbs=Í×ÀÁËÜÊ¸¥µ¥¤¥º¤ÎºÇÂçÃÍ
ec_mrhs=Í×ÀÁ¥Ø¥Ã¥À ¥µ¥¤¥º¤ÎºÇÂçÃÍ
ec_mrbs1=ÊÖ¿®ËÜÊ¸¥µ¥¤¥º¤ÎºÇÂçÃÍ
ec_mrs=ºÇÂçÍ×ÀÁ¥µ¥¤¥º
ec_frct=Í×ÀÁ¥­¥ã¥Ã¥·¥å»þ´Ö¤¬¼ºÇÔ¤·¤Þ¤·¤¿
ec_dlct=DNS ¥­¥ã¥Ã¥·¥å»þ´Ö¤Î¸¡º÷
ec_fdct=DNS ¥­¥ã¥Ã¥·¥å»þ´Ö¤¬¼ºÇÔ¤·¤Þ¤·¤¿
ec_ct=ÀÜÂ³¥¿¥¤¥à¥¢¥¦¥È
ec_rt=ÆÉ¹þ¤ß¥¿¥¤¥à¥¢¥¦¥È
ec_mcct=¥¯¥é¥¤¥¢¥ó¥ÈÀÜÂ³»þ´Ö¤ÎºÇÂçÃÍ
ec_mst=¥·¥ã¥Ã¥È¥À¥¦¥ó»þ´Ö¤ÎºÇÂçÃÍ
ec_sst=¥µ¥¤¥È¤ÎÁªÂò¥¿¥¤¥à¥¢¥¦¥È
ec_crt=¥¯¥é¥¤¥¢¥ó¥ÈÍ×ÀÁ¥¿¥¤¥à¥¢¥¦¥È
ec_hcc=È¾Ê¬ÊÄ¤¸¤¿¥¯¥é¥¤¥¢¥ó¥È¤Ç¤¹¤«¡©
ec_pt=»ýÂ³¥¿¥¤¥à¥¢¥¦¥È
ec_wr=WAIS ¥ê¥ì¡¼
ec_none=¤Ê¤·
ec_host=¥Û¥¹¥È
ec_port=¥Ý¡¼¥È
ec_wrh=WAIS ¥ê¥ì¡¼ ¥Û¥¹¥È
ec_wrp=WAIS  ¥ê¥ì¡¼ ¥Ý¡¼¥È
ec_buttsave=ÊÝÂ¸
ec_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

ech_header=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È¤ÎºîÀ®
ech_header1=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È¤ÎÊÔ½¸
ech_cho=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È¤Î¥ª¥×¥·¥ç¥ó
ech_h=¥Û¥¹¥ÈÌ¾
ech_parent=¿Æ
ech_sibling=·»Äï
ech_multicast=¥Þ¥ë¥Á¥­¥ã¥¹¥È
ech_t=¼ïÎà
ech_pp=¥×¥í¥­¥· ¥Ý¡¼¥È
ech_ip=ICP ¥Ý¡¼¥È
ech_po=¥×¥í¥­¥·¤Î¤ß¤Ç¤¹¤«¡©
ech_y=¤Ï¤¤
ech_n=¤¤¤¤¤¨
ech_siq=ICP ¥¯¥¨¥ê¡¼¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
ech_dc=¥Ç¥Õ¥©¥ë¥È ¥­¥ã¥Ã¥·¥å¤Ç¤¹¤«¡©
ech_rrc=¥é¥¦¥ó¥É¥í¥Ó¥ó ¥­¥ã¥Ã¥·¥å¤Ç¤¹¤«¡©
ech_ittl=ICP Â¸Â³»þ´Ö
ech_d=¥Ç¥Õ¥©¥ë¥È
ech_cw=¥­¥ã¥Ã¥·¥å¤Î½Å¤ß
ech_co=°ìÈÖ¶á¤¤¤â¤Î¤Î¤ß¤Ë¤·¤Þ¤¹¤«¡©
ech_nd=¥À¥¤¥¸¥§¥¹¥È¤Ê¤·¤Ç¤¹¤«¡©
ech_nne=NetDB ¸ò´¹¤Ê¤·¤Ç¤¹¤«¡©
ech_nd1=ÃÙ±ä¤Ê¤·¤Ç¤¹¤«¡©
ech_ltp=¥×¥í¥­¥·¤Ë¥í¥°¥¤¥ó
ech_nl=¥í¥°¥¤¥ó¤·¤Ê¤¤
ech_u=¥æ¡¼¥¶:
ech_p=¥Ñ¥¹:
ech_mr=¥Þ¥ë¥Á¥­¥ã¥¹¥È±þÅúÂ¦¤Ç¤¹¤«¡©
ech_qhfd=¥É¥á¥¤¥ó¤Î¥¯¥¨¥ê¡¼ ¥Û¥¹¥È
ech_dqfd=¥É¥á¥¤¥ó¤ò¥¯¥¨¥ê¡¼¤·¤Ê¤¤
ech_buttsave=ÊÝÂ¸
ech_buttdel=ºï½ü
ech_return=¥­¥ã¥Ã¥·¥å ¥ê¥¹¥È

eicp_header=¤½¤ÎÂ¾¤Î¥­¥ã¥Ã¥·¥å
eicp_opcs=¤½¤ÎÂ¾¤Î¥­¥ã¥Ã¥·¥å ¥×¥í¥­¥· ¥µ¡¼¥Ð
eicp_nocd=ÄêµÁ¤µ¤ì¤¿Â¾¤Î¥­¥ã¥Ã¥·¥å¤Ï¤¢¤ê¤Þ¤»¤ó
eicp_aac=ÊÌ¤Î¥­¥ã¥Ã¥·¥å¤òÄÉ²Ã
eicp_cso=¥­¥ã¥Ã¥·¥å¤ÎÁªÂò¥ª¥×¥·¥ç¥ó
eicp_fdfd=¥É¥á¥¤¥ó¤«¤éÄ¾ÀÜ¼è¤ê½Ð¤¹
eicp_fdfi=IP ¤«¤éÄ¾ÀÜ¼è¤ê½Ð¤¹
eicp_dif=¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ëÆâ¤Î¥É¥á¥¤¥ó
eicp_iif=¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ëÆâ¤Î IP 
eicp_dfuc=¼¡¤ò´Þ¤à URL ¤òÄ¾ÀÜ¼è¤ê½Ð¤¹
eicp_d=¥Ç¥Õ¥©¥ë¥È
eicp_bpfsp=Ã±°ì¤Î¿Æ¤ËÂÐ¤·¤Æ¤Ï Ping ¤ò¥Ð¥¤¥Ñ¥¹¤·¤Þ¤¹¤«¡©
eicp_y=¤Ï¤¤
eicp_n=¤¤¤¤¤¨
eicp_secs=ÉÃ
eicp_ssip=Ping ¤Ë¥½¡¼¥¹¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
eicp_crt=¥­¥ã¥Ã¥·¥å±þÅú¤Î¥¿¥¤¥à¥¢¥¦¥È
eicp_iqt=ICP ¥¯¥¨¥ê¡¼¤Î¥¿¥¤¥à¥¢¥¦¥È
eicp_mit=Multicase ICP ¥¿¥¤¥à¥¢¥¦¥È
eicp_dpt=Dead peer ¥¿¥¤¥à¥¢¥¦¥È
eicp_h=¥Û¥¹¥ÈÌ¾
eicp_t=¼ïÎà
eicp_pp=¥×¥í¥­¥· ¥Ý¡¼¥È
eicp_ip=ICP ¥Ý¡¼¥È
eicp_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
eicp_always=Ä¾ÀÜ¼è½Ð¤·¤Î ACL
eicp_noalways=Ä¾ÀÜ¼è½Ð¤·¤Î ACL ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
eicp_addalways=Ä¾ÀÜ¼è½Ð¤·¤Î ACL ¤òÄÉ²Ã
eicp_never=´ÖÀÜ¼è½Ð¤·¤Î ACL 
eicp_nonever=´ÖÀÜ¼è½Ð¤·¤Î ACL ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
eicp_addnever=´ÖÀÜ¼è½Ð¤·¤Î ACL ¤òÄÉ²Ã

elogs_header=¥í¥°
elogs_lalo=¥í¥°¤È¥í¥° ¥Õ¥¡¥¤¥ë¤Î¥ª¥×¥·¥ç¥ó
elogs_alf=¥¢¥¯¥»¥¹ ¥í¥° ¥Õ¥¡¥¤¥ë
elogs_dlf=¥Ç¥Ð¥Ã¥° ¥í¥° ¥Õ¥¡¥¤¥ë
elogs_slf=¥¹¥È¥ì¡¼¥¸ ¥í¥° ¥Õ¥¡¥¤¥ë
elogs_cmf=¥­¥ã¥Ã¥·¥å ¥á¥¿¥Ç¡¼¥¿ ¥Õ¥¡¥¤¥ë
elogs_uhlf=HTTPD ¥í¥°·Á¼°¤ò»ÈÍÑ¤·¤Þ¤¹¤«¡©
elogs_lmh=MIME ¥Ø¥Ã¥À¤ò¥í¥°¤·¤Þ¤¹¤«¡©
elogs_ualf=¥æ¡¼¥¶ ¥¨¡¼¥¸¥§¥ó¥È ¥í¥° ¥Õ¥¡¥¤¥ë
elogs_pf=PID ¥Õ¥¡¥¤¥ë
elogs_prilfa=RFC931 ¥¤¥ó¥Ç¥ó¥È¸¡º÷¤ò ACL ¤Ç¼Â¹Ô¤·¤Þ¤¹¤«¡©
elogs_rit=RFC931 ¥¤¥ó¥Ç¥ó¥È ¥¿¥¤¥à¥¢¥¦¥È
elogs_dril=RFC931 ¥¤¥ó¥Ç¥ó¥È¸¡º÷¤ò¼Â¹Ô¤·¤Þ¤¹¤«¡©
elogs_lfh=´°Á´¤Ê¥Û¥¹¥ÈÌ¾¤ò¥í¥°¤·¤Þ¤¹¤«¡©
elogs_ln=¥í¥° ¥Í¥Ã¥È¥Þ¥¹¥¯
elogs_do=¥Ç¥Ð¥Ã¥° ¥ª¥×¥·¥ç¥ó
elogs_mht=MIME ¥Ø¥Ã¥À ¥Æ¡¼¥Ö¥ë
elogs_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

emem_dheader=¥á¥â¥ê¤È¥Ç¥£¥¹¥¯¤Î»ÈÍÑÎ¨
emem_header=¥á¥â¥ê»ÈÍÑÎ¨
emem_maduo=¥á¥â¥ê¤È¥Ç¥£¥¹¥¯¤Î»ÈÍÑÎ¨¤Î¥ª¥×¥·¥ç¥ó
emem_mul=¥á¥â¥ê»ÈÍÑÎ¨¤ÎÀ©¸Â
emem_dul=¥Ç¥£¥¹¥¯¤Î»ÈÍÑÎ¨¤ÎÀ©¸Â
emem_fcs=FQDN ¥­¥ã¥Ã¥·¥å ¥µ¥¤¥º
emem_mb=MB
emem_kb=KB
emem_mhwm=¥á¥â¥ê ¥Ï¥¤ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_mlwm=¥á¥â¥ê ¥í¡¼ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_dhwm=¥Ç¥£¥¹¥¯ ¥Ï¥¤ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_dlwm=¥Ç¥£¥¹¥¯ ¥í¡¼ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_mcos=¥­¥ã¥Ã¥·¥å¤ËÆþ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤ÎºÇÂç¥µ¥¤¥º
emem_iacs=IP ¥¢¥É¥ì¥¹ ¥­¥ã¥Ã¥·¥å ¥µ¥¤¥º
emem_e=¥¨¥ó¥È¥ê
emem_ichwm=IP ¥¢¥É¥ì¥¹ ¥Ï¥¤ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_iclwm=IP ¥¢¥É¥ì¥¹ ¥í¡¼ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯
emem_crp=¥Ç¥£¥¹¥¯¤ÎÃÖ´¹¤¨¥Ý¥ê¥·¡¼
emem_lru=LRU (ºÇ¶áºÇ¤â»È¤ï¤ì¤Æ¤¤¤Ê¤¤)
emem_gdsf=GDSF
emem_lfuda=LFUDA
emem_hlru=HLFU
emem_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
emem_mrp=¥á¥â¥ê¤ÎÃÖ´¹¤¨¥Ý¥ê¥·¡¼

emisc_header=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
emisc_mo=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
emisc_sdta=µ¯Æ° DNS ¥Æ¥¹¥È ¥¢¥É¥ì¥¹
emisc_slr=SIGUSR1 ¥í¥°¥Õ¥¡¥¤¥ë ¥í¡¼¥Æ¡¼¥·¥ç¥ó
emisc_dd=¥Ç¥Õ¥©¥ë¥È ¥É¥á¥¤¥ó
emisc_sp=SSL ¥×¥í¥­¥·
emisc_nghp=Non-GET HTTP ¥×¥í¥­¥·
emisc_emt=¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Æ¥­¥¹¥È
emisc_pcs=¥¯¥é¥¤¥¢¥ó¥È¤´¤È¤ÎÅý·×¤Ç¤¹¤«¡©
emisc_xffh=X-Forwarded-For ¥Ø¥Ã¥À¤Ç¤¹¤«¡©
emisc_liq=Log ICP ¥¯¥¨¥ê¡¼¤Ç¤¹¤«¡©
emisc_mdh=ºÇ¾®¥À¥¤¥ì¥¯¥È ¥Û¥Ã¥×
emisc_kmffu=¾­Íè¤Î»ÈÍÑ¤Î¤¿¤á¤Ë¥á¥â¥ê¤òÊÝ»ý¤·¤Þ¤¹¤«¡©
emisc_aomtk=ÊÝ»ý¤¹¤ë¥á¥â¥ê¤ÎÎÌ
emisc_u=ÌµÀ©¸Â
emisc_htpt=ÅÏ¤¹¥Ø¥Ã¥À
emisc_ah=¤¹¤Ù¤Æ¤Î¥Ø¥Ã¥À
emisc_oh=¼¡¤Î¥Ø¥Ã¥À¤Î¤ß
emisc_ae=¼¡°Ê³°¤¹¤Ù¤Æ
emisc_a=Anonymizer ¤Ç¤¹¤«¡©
emisc_off=¥ª¥Õ
emisc_std=É¸½à
emisc_par=ÈóÉ¸½à
emisc_fua=µ¶¤Î¥æ¡¼¥¶ ¥¨¡¼¥¸¥§¥ó¥È
emisc_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
emisc_hauhh=HTTP Accel ¥Û¥¹¥È¥Ø¥Ã¥À»ÈÍÑ
emisc_hah=HTTP Accel ¥Û¥¹¥È
emisc_hap=HTTP Accel ¥Ý¡¼¥È
emisc_hawp=HTTP Accel ¥×¥í¥­¥·

eports_header=¥Ý¡¼¥È¤È¥Í¥Ã¥È¥ï¡¼¥¯
eports_pano=¥Ý¡¼¥È¤È¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó
eports_paap=¥×¥í¥­¥· ¥¢¥É¥ì¥¹¤È¥Ý¡¼¥È
eports_p=¥Ý¡¼¥È
eports_hia=¥Û¥¹¥ÈÌ¾/IP ¥¢¥É¥ì¥¹
eports_pp=¥×¥í¥­¥· ¥Ý¡¼¥È
eports_ip=ICP ¥Ý¡¼¥È
eports_ota=Á÷¿® TCP ¥¢¥É¥ì¥¹
eports_ita=¼õ¿® TCP ¥¢¥É¥ì¥¹
eports_a=Ç¤°Õ
eports_oua=Á÷¿® UDP ¥¢¥É¥ì¥¹
eports_iua=¼õ¿® UDP ¥¢¥É¥ì¥¹
eports_mg=¥Þ¥ë¥Á¥­¥ã¥¹¥È ¥°¥ë¡¼¥×
eports_trb=TCP ¼õ¿®¥Ð¥Ã¥Õ¥¡
eports_od=OS ¥Ç¥Õ¥©¥ë¥È
eports_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

eprogs_header=¥Ø¥ë¥Ñ¡¼ ¥×¥í¥°¥é¥à
eprogs_chpo=¥­¥ã¥Ã¥·¥å ¥Ø¥ë¥Ñ¡¼ ¥×¥í¥°¥é¥à ¥ª¥×¥·¥ç¥ó
eprogs_sfp=Squid FTP ¥×¥í¥°¥é¥à
eprogs_fo=FTP ¥ª¥×¥·¥ç¥ó
eprogs_fcv=FTP ¥³¥é¥àÉý
eprogs_c=chars (Ê¸»ú)
eprogs_afl=Anon FTP ¥í¥°¥¤¥ó
eprogs_sdp=Squid DNS ¥×¥í¥°¥é¥à
eprogs_nodp=DNS ¥×¥í¥°¥é¥àÈÖ¹æ
eprogs_adtr=Í×ÀÁ¤Ë¥É¥á¥¤¥ó¤òÉÕ²Ã
eprogs_dsa=DNS ¥µ¡¼¥Ð ¥¢¥É¥ì¥¹
eprogs_fr=resolv.conf ¤«¤é
eprogs_ccp=¥­¥ã¥Ã¥·¥å¤Î¥¯¥ê¥¢ ¥×¥í¥°¥é¥à
eprogs_spp=Squid Ping ¥×¥í¥°¥é¥à
eprogs_crp=¥«¥¹¥¿¥à ¥ê¥À¥¤¥ì¥¯¥È ¥×¥í¥°¥é¥à
eprogs_norp=¥ê¥À¥¤¥ì¥¯¥È ¥×¥í¥°¥é¥àÈÖ¹æ
eprogs_cap=¥«¥¹¥¿¥àÇ§¾Ú¥×¥í¥°¥é¥à
eprogs_noap=Ç§¾Ú¥×¥í¥°¥é¥àÈÖ¹æ
eprogs_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹

euser_header=¥×¥í¥­¥· ¥æ¡¼¥¶¤ÎºîÀ®
euser_header1=¥×¥í¥­¥· ¥æ¡¼¥¶¤ÎÊÔ½¸
euser_pud=¥×¥í¥­¥· ¥æ¡¼¥¶¤Î¾ÜºÙ
euser_u=¥æ¡¼¥¶Ì¾
euser_p=¥Ñ¥¹¥ï¡¼¥É
euser_u1=ÊÑ¹¹¤Ê¤·
euser_return=¥æ¡¼¥¶ ¥ê¥¹¥È

ahttp_header=¥×¥í¥­¥·À©¸Â¤ÎºîÀ®
ahttp_header1=¥×¥í¥­¥·À©¸Â¤ÎÊÔ½¸
ahttp_pr=¥×¥í¥­¥·À©¸Â
ahttp_a=¥¢¥¯¥·¥ç¥ó
ahttp_a1=µö²Ä
ahttp_d=µñÈÝ
ahttp_ma=ACL ¤Ë°ìÃ×
ahttp_dma=ACL ¤Ë°ìÃ×¤·¤Ê¤¤
ahttp_return=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È)

sahttp_ftspr=¥×¥í¥­¥·À©¸Â¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

aicp_header=ICP À©¸Â¤ÎºîÀ®
aicp_header1=ICP À©¸Â¤ÎÊÔ½¸
aicp_ir=ICP À©¸Â
aicp_a=¥¢¥¯¥·¥ç¥ó
aicp_a1=µö²Ä
aicp_d=µñÈÝ
aicp_ma=ACL ¤Ë°ìÃ×
aicp_dma=ACL ¤Ë°ìÃ×¤·¤Ê¤¤
aicp_return=ACL (¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È)

saicp_ftsir=ICP À©¸Â¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

icache_ftic=¥­¥ã¥Ã¥·¥å¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
icache_ymcautrsa=Squid ¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
icache_itscwtc=¥³¥Þ¥ó¥É<tt>$1</tt>¤Ç Squid ¥­¥ã¥Ã¥·¥å¤ò½é´ü²½Ãæ..
icache_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
icache_title=¥­¥ã¥Ã¥·¥å¤ò½é´ü²½

restart_ftrs=Squid ¤òºÆÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

sadmin_ftsao=´ÉÍý¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sadmin_header=½êÍ­¸¢¤ÎÊÑ¹¹
sadmin_msg1=Squid ¤ò¼Â¹Ô¤¹¤ë¥æ¡¼¥¶¤Þ¤¿¤Ï¥°¥ë¡¼¥×¤òÊÑ¹¹¤·¤Þ¤·¤¿¡£¤³¤ÎÊÑ¹¹¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢¤¹¤Ù¤Æ¤Î¥­¥ã¥Ã¥·¥å¤È¥í¥°¥Õ¥¡¥¤¥ë¤Î½êÍ­¸¢¤ò¹¹¿·¤· Squid ¤òºÆµ¯Æ°¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
sadmin_buttco=½êÍ­¸¢¤ÎÊÑ¹¹
sadmin_return=Squid ¥¤¥ó¥Ç¥Ã¥¯¥¹
sadmin_inavea='$1' ¤ÏÌµ¸ú¤Ê E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤Ç¤¹
sadmin_inavh='$1' ¤ÏÌµ¸ú¤Ê¥Û¥¹¥ÈÌ¾¤Ç¤¹
sadmin_inavap='$1' ¤ÏÌµ¸ú¤Ê¥¢¥Ê¥¦¥ó¥¹´ü´Ö¤Ç¤¹
sadmin_inavp='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥È¤Ç¤¹

sauth_ftsao=Ç§¾Ú¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sauth_iomuf=¥æ¡¼¥¶ ¥Õ¥¡¥¤¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
sauth_iomd=¥É¥á¥¤¥ó¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
sauth_msg1=¤´»ÈÍÑ¤Î Squid ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¥×¥í¥­¥·Ç§¾Ú¤Î¥µ¥Ý¡¼¥È¤Ä¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£

scache_ftsco=¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
scache_emsg0=¾¯¤Ê¤¯¤È¤â 1 ¤Ä¤Î¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
scache_emsg1=¥­¥ã¥Ã¥·¥å ¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
scache_emsg2='$1' ¤ÏÌµ¸ú¤ÊÍ×ÀÁ¥µ¥¤¥º¤Ç¤¹
scache_emsg3='$1' ¤ÏÌµ¸ú¤Ê¼ºÇÔ¤·¤¿Í×ÀÁ¤Î¥­¥ã¥Ã¥·¥å»þ´Ö¤Ç¤¹
scache_emsg4='$1' ¤ÏÌµ¸ú¤Ê DNS ¥­¥ã¥Ã¥·¥å»þ´Ö¤Ç¤¹
scache_emsg5='$1' ¤ÏÌµ¸ú¤Ê¥¿¥¤¥à¥¢¥¦¥È¤Ç¤¹
scache_emsg6='$1' ¤ÏÌµ¸ú¤Ê»þ´Ö¤Ç¤¹
scache_emsg7='$1'¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê¿ô¤Ç¤¹
scache_emsg8=¥Ç¥£¥ì¥¯¥È¥ê¿ô¤Ï 1 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
scache_emsg9=¥Ç¥£¥ì¥¯¥È¥ê¿ô¤Ï 256 °Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
scache_emsg10='$1' ¤ÏÌµ¸ú¤Ê¥ª¥Ö¥¸¥§¥¯¥È ¥µ¥¤¥º¤Ç¤¹
scache_emsg11='$1'¤ÏÌµ¸ú¤Ê¥ª¥Ö¥¸¥§¥¯¥È¿ô¤Ç¤¹
scache_emsg12='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê ¥µ¥¤¥º¤Ç¤¹
scache_emsg13='$1' ¤ÏÍ­¸ú¤Ê¥Û¥¹¥È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
scache_emsg14='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥È¤Ç¤¹

schost_ftsc=¥­¥ã¥Ã¥·¥å¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
schost_emsg1='$1' ¤ÏÌµ¸ú¤Ê¥­¥ã¥Ã¥·¥å ¥Û¥¹¥ÈÌ¾¤Ç¤¹
schost_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥­¥· ¥Ý¡¼¥È¤Ç¤¹
schost_emsg3='$1' ¤ÏÌµ¸ú¤Ê ICP ¥Ý¡¼¥È¤Ç¤¹
schost_emsg4='$1' ¤ÏÌµ¸ú¤ÊTTL»þ´Ö¤Ç¤¹
schost_emsg5='$1' ¤ÏÌµ¸ú¤Ê½Å¤ß¤Ç¤¹

sicp_ftsco=¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sicp_emsg1='$1' ¤ÏÌµ¸ú¤Ê¥¿¥¤¥à¥¢¥¦¥È¤Ç¤¹

slogs_ftslo=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
slogs_emsg1='$1' ¤ÏÌµ¸ú¤ÊÀäÂÐ¥Õ¥¡¥¤¥ëÌ¾¤Ç¤¹
slogs_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥¡¥¤¥ëÌ¾¤Ç¤¹
slogs_emsg3=¥Ç¥£¥ì¥¯¥È¥ê '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
slogs_emsg4='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
slogs_emsg5='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥Ð¥Ã¥° ¥ª¥×¥·¥ç¥ó ¥ê¥¹¥È¤Ç¤¹

smem_ftsmo=¥á¥â¥ê ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
smem_emsg1='$1' ¤ÏÌµ¸ú¤Ê¥­¥ã¥Ã¥·¥å ¥µ¥¤¥º¤Ç¤¹
smem_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥Ï¥¤ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯¤Ç¤¹
smem_emsg3='$1' ¤ÏÌµ¸ú¤Ê¥í¡¼ ¥¦¥©¡¼¥¿¡¼¥Þ¡¼¥¯¤Ç¤¹
smem_emsg4='$1' ¤ÏÌµ¸ú¤Ê¥ª¥Ö¥¸¥§¥¯¥È ¥µ¥¤¥º¤Ç¤¹

smisc_ftso=¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
smisc_emsg1='$1'¤ÏÌµ¸ú¤Ê¥í¡¼¥Æ¡¼¥·¥ç¥ó¿ô¤Ç¤¹
smisc_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥É¥á¥¤¥ó¤Ç¤¹
smisc_emsg3='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥­¥·¤Ç¤¹
smisc_emsg4='$1'¤ÏÌµ¸ú¤Ê¥Û¥Ã¥×¿ô¤Ç¤¹

sport_ftspo=¥Ý¡¼¥È ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sport_emsg1='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹
sport_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
sport_emsg3='$1' ¤ÏÌµ¸ú¤Ê¥Ð¥Ã¥Õ¥¡ ¥µ¥¤¥º¤Ç¤¹

sprog_ftshpo=¥Ø¥ë¥Ñ¡¼ ¥×¥í¥°¥é¥à ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sprog_emsg1=FTP ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤»¤ó
sprog_emsg2='$1' ¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥à¤Ç¤¹
sprog_emsg3='$1' ¤Ï¼Â¹Ô²ÄÇ½¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
sprog_emsg4='$1' ¤ÏÌµ¸ú¤Ê FTP ¥í¥°¥¤¥ó¤Ç¤¹
sprog_emsg5='$1'¤ÏÌµ¸ú¤Ê¥×¥í¥°¥é¥àÈÖ¹æ¤Ç¤¹
sprog_emsg6='$1' ¤ÏÌµ¸ú¤Ê¥«¥é¥àÉý¤Ç¤¹
sprog_emsg7=DNS ¥µ¡¼¥Ð¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
sprog_emsg8='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹

suser_ftsu=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
suser_emsg1=¥æ¡¼¥¶Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

start_ftsq=Squid ¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
stop_ftsq=Squid ¤òÄä»ß¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

calamaris_title=Calamaris ¥í¥°Ê¬ÀÏ
calamaris_last=Ê¬ÀÏ¤ò¥í¥°¤ÎºÇ¸å¤Î $1 ¹Ô¤ËÀ©¸ÂÃæ..
calamaris_eprog=Calamaris ¼Â¹Ô¥Õ¥¡¥¤¥ë $1 ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£¥·¥¹¥Æ¥à¤ËCalamaris ¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤« <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
calamaris_elogs=¥í¥° ¥Ç¥£¥ì¥¯¥È¥ê $1 ¤Ï <tt>access.log</tt> ¥Õ¥¡¥¤¥ë¤ò´Þ¤ó¤Ç¤¤¤Þ¤»¤ó¡£Squid ¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
calamaris_gen=$1 ¤Ç¥ì¥Ý¡¼¥È¤òºîÀ®¤·¤Þ¤·¤¿

lib_emsg1='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
lib_seconds=ÉÃ
lib_minutes=Ê¬
lib_hours=»þ´Ö
lib_days=Æü
lib_weeks=½µ
lib_fortnights=2½µ´Ö
lib_months=·î
lib_years=Ç¯
lib_decades=10Ç¯´Ö
lib_emsg2='$1'¤Ï $2 ¤ÎÌµ¸ú¤Ê¿ô¤Ç¤¹
lib_kb=KB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1'¤Ï $2 ¤ÎÌµ¸ú¤Ê¿ô¤Ç¤¹
lib_aclca=¥¯¥é¥¤¥¢¥ó¥È ¥¢¥É¥ì¥¹
lib_aclwsa=Web ¥µ¡¼¥Ð ¥¢¥É¥ì¥¹
lib_aclch=¥¯¥é¥¤¥¢¥ó¥È ¥Û¥¹¥ÈÌ¾
lib_aclwsh=Web ¥µ¡¼¥Ð ¥Û¥¹¥ÈÌ¾
lib_acldat=Æü»þ
lib_aclur=URL Àµµ¬É½¸½
lib_aclupr=URL ¥Ñ¥¹ Àµµ¬É½¸½
lib_aclup=URL ¥Ý¡¼¥È
lib_aclup1=URL ¥×¥í¥È¥³¥ë
lib_aclrm=Í×ÀÁÊýË¡
lib_aclbr=¥Ö¥é¥¦¥¶¤ÎÀµµ¬É½¸½
lib_aclpl=¥×¥í¥­¥· ¥í¥°¥¤¥ó
lib_aclsan=È¯¿®¸µ AS (¼«Î§¥·¥¹¥Æ¥à) ÈÖ¹æ
lib_acldan=°¸Àè AS (¼«Î§¥·¥¹¥Æ¥à) ÈÖ¹æ
lib_aclea=³°ÉôÇ§¾Ú
lib_aclcr=¥¯¥é¥¤¥¢¥ó¥ÈÀµµ¬É½¸½
lib_aclwsr=Web ¥µ¡¼¥ÐÀµµ¬É½¸½
lib_aclru=RFC931 ¥æ¡¼¥¶
lib_aclpia=¥×¥í¥­¥· IP ¥¢¥É¥ì¥¹
lib_aclmc=ºÇÂçÀÜÂ³¿ô
lib_aclpp=¥×¥í¥­¥· ¥Ý¡¼¥È
lib_aclsc=SNMP ¥³¥ß¥å¥Ë¥Æ¥£
lib_aclrmt=MIME ¥¿¥¤¥×¤ÎÍ×ÀÁ
lib_aclarp=¥¤¡¼¥µ¥Í¥Ã¥È ¥¢¥É¥ì¥¹
lib_aclear=³°ÉôÇ§¾Ú¤ÎÀµµ¬É½¸½
lib_buttac=ÊÑ¹¹¤òÅ¬ÍÑ
lib_buttss=Squid ¤òÄä»ß
lib_buttss1=Squid ¤òµ¯Æ°

log_ports=¥Ý¡¼¥È¤È¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_icp=¤½¤ÎÂ¾¤Î¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_mem=¥á¥â¥ê»ÈÍÑÎ¨¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_logs=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_cache=¥­¥ã¥Ã¥·¥å ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_progs=¥Ø¥ë¥Ñ¡¼ ¥×¥í¥°¥é¥à ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_admin=´ÉÍý¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_clear=¥­¥ã¥Ã¥·¥å¤ò¥¯¥ê¥¢¤·¤Æ¥ê¥Ó¥ë¥É¤·¤Þ¤·¤¿
log_acl_create=ACL $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_acl_modify=ACL $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_acl_delete=ACL $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_http_create=¥×¥í¥­¥·À©¸Â¤òºîÀ®¤·¤Þ¤·¤¿
log_http_modify=¥×¥í¥­¥·À©¸Â¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_http_delete=¥×¥í¥­¥·À©¸Â¤òºï½ü¤·¤Þ¤·¤¿
log_http_move=¥×¥í¥­¥·À©¸Â¤ò°ÜÆ°¤·¤Þ¤·¤¿
log_icp_create=ICP À©¸Â¤òºîÀ®¤·¤Þ¤·¤¿
log_icp_modify=ICP À©¸Â¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_icp_delete=ICP À©¸Â¤òºï½ü¤·¤Þ¤·¤¿
log_icp_move=ICP À©¸Â¤ò°ÜÆ°¤·¤Þ¤·¤¿
log_stop=¥×¥í¥­¥· ¥µ¡¼¥Ð¤òÄä»ß¤·¤Þ¤·¤¿
log_start=¥×¥í¥­¥· ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_host_create=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_host_modify=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_host_delete=¥­¥ã¥Ã¥·¥å ¥Û¥¹¥È $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_init=¥­¥ã¥Ã¥·¥å¤ò½é´ü²½¤·¤Þ¤·¤¿
log_user_create=¥×¥í¥­¥· ¥æ¡¼¥¶ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_user_delete=¥×¥í¥­¥· ¥æ¡¼¥¶ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_user_modify=¥×¥í¥­¥· ¥æ¡¼¥¶ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_always_create=Ä¾ÀÜ¼è½Ð¤· ACL ¤òºîÀ®¤·¤Þ¤·¤¿
log_always_modify=Ä¾ÀÜ¼è½Ð¤· ACL ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_always_delete=Ä¾ÀÜ¼è½Ð¤· ACL ¤òºï½ü¤·¤Þ¤·¤¿
log_always_move=Ä¾ÀÜ¼è½Ð¤· ACL ¤ò°ÜÆ°¤·¤Þ¤·¤¿
log_never_create=Never Ä¾ÀÜ¼è½Ð¤· ACL ¤òºîÀ®¤·¤Þ¤·¤¿
log_never_modify=Never Ä¾ÀÜ¼è½Ð¤· ACL ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_never_delete=Never Ä¾ÀÜ¼è½Ð¤· ACL ¤òºï½ü¤·¤Þ¤·¤¿
log_never_move=Never Ä¾ÀÜ¼è½Ð¤· ACL ¤ò°ÜÆ°¤·¤Þ¤·¤¿

acl_root=ACL ¥Õ¥¡¥¤¥ë¤Î root ¥Ç¥£¥ì¥¯¥È¥ê

always_create=Ä¾ÀÜ¼è½Ð¤·¤òºîÀ®
always_edit=Ä¾ÀÜ¼è½Ð¤·¤òÊÔ½¸
always_header=ACL ¤È°ìÃ×¤·¤¿Ä¾ÀÜ¼è½Ð¤·Í×ÀÁ

never_create=´ÖÀÜ¼è½Ð¤·¤òºîÀ®
never_edit=´ÖÀÜ¼è½Ð¤·¤òÊÔ½¸
never_header=ACL ¤È°ìÃ×¤·¤¿´ÖÀÜ¼è½Ð¤·Í×ÀÁ

  070701000498fd000081a40000000000000002000000013d1fe2d40000508e000000200000000000000000000000000000001b00000003reloc/squid/lang/ja_JP.jis    index_header=Squid ƒvƒƒLƒV ƒT[ƒo
index_msgnoconfig=Squid Ý’èƒtƒ@ƒCƒ‹ <tt>$1</tt> ‚ª‚ ‚è‚Ü‚¹‚ñBSquid ‚ð‚·‚Å‚ÉƒCƒ“ƒXƒg[ƒ‹‚µ‚½ê‡‚Í<a href=/config.cgi?$2 >ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð’²®‚µ‚Ä³‚µ‚¢ƒpƒX‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
index_msgnoexe=Squid ŽÀsƒtƒ@ƒCƒ‹ <tt>$1</tt> ‚ª‚ ‚è‚Ü‚¹‚ñBSquid ‚ð‚·‚Å‚ÉƒCƒ“ƒXƒg[ƒ‹‚µ‚½ê‡‚Í<a href=/config.cgi?$2 >ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ð•ÏX‚µ‚Ä³‚µ‚¢ƒpƒX‚ðŽg—p‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
index_msgnosupported=Webmin ‚ÍA‚²Žg—p‚Ì Squid ‚Ìƒo[ƒWƒ‡ƒ“‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñBƒo[ƒWƒ‡ƒ“<tt>1.1</tt>A<tt>2.0</tt>A<tt>2.1</tt>A<tt>2.2</tt> ‚¨‚æ‚Ñ<tt>2.3</tt> ‚ª‚±‚Ìƒ‚ƒWƒ…[ƒ‹‚ÅƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B
index_msgnodir1=Squid ‚ÌƒLƒƒƒbƒVƒ… ƒfƒBƒŒƒNƒgƒŠ<tt>$1</tt> ‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
index_msgnodir2=Squid ‚ÌƒLƒƒƒbƒVƒ… ƒfƒBƒŒƒNƒgƒŠ<tt>$1</tt> ‚ª‰Šú‰»‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
index_msgnodir3=Squid ‚ðŽÀs‚·‚é‚É‚ÍAŽ–‘O‚É‰Šú‰»‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
index_buttinit=ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»
index_asuser=Unix ƒ†[ƒU‚Æ‚µ‚Ä
index_portsnets=ƒ|[ƒg‚Æƒlƒbƒgƒ[ƒN
index_othercaches=‘¼‚ÌƒLƒƒƒbƒVƒ…
index_musage=ƒƒ‚ƒŠŽg—p—¦
index_mdusage=ƒƒ‚ƒŠ‚ÆƒfƒBƒXƒN‚ÌŽg—p—¦
index_logging=ƒƒO
index_copts=ƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“
index_hprogs=ƒwƒ‹ƒp[ ƒvƒƒOƒ‰ƒ€
index_actrl=ƒAƒNƒZƒX§Œä
index_admopts=ŠÇ—ƒIƒvƒVƒ‡ƒ“
index_proxyauth=ƒvƒƒLƒV”FØ
index_miscopt=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
index_cms=ƒLƒƒƒbƒVƒ… ƒ}ƒl[ƒWƒƒ“Œv
index_rebuild=ƒLƒƒƒbƒVƒ…‚ÌƒNƒŠƒA‚¨‚æ‚ÑƒŠƒrƒ‹ƒh
index_calamaris=Calamaris ƒƒO•ªÍ
index_return=ƒCƒ“ƒfƒbƒNƒX

buttsave=•Û‘¶
buttdel=íœ
buttcreat=ì¬
yes=‚Í‚¢
no=‚¢‚¢‚¦
default=ƒfƒtƒHƒ‹ƒg
none=‚È‚µ
on=ƒIƒ“
off=ƒIƒt

acl_header1=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg) ‚Ìì¬
acl_header2=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg) ‚Ì•ÒW
acl_name=ACL –¼
acl_fromip=”­MŒ³ IP ƒAƒhƒŒƒX
acl_toip=ŽóMæ IP ƒAƒhƒŒƒX
acl_nmask=ƒlƒbƒgƒ}ƒXƒN
acl_ipaddr=IP ƒAƒhƒŒƒX
acl_domains=ƒhƒƒCƒ“
acl_dofw=—j“ú
acl_sel=‘I‘ð..
acl_all=‚·‚×‚Ä
acl_dsun=“ú—j
acl_dmon=ŒŽ—j
acl_dtue=‰Î—j
acl_dwed=…—j
acl_dthu=–Ø—j
acl_dfri=‹à—j
acl_dsat=“y—j
acl_hofd=ŽžŠÔ
acl_to=ŽŸ‚Ü‚Å
acl_regexp=³‹K•\Œ»
acl_tcpports=TCP ƒ|[ƒg
acl_urlproto=URL ƒvƒƒgƒRƒ‹
acl_reqmethods=—v¿•û–@
acl_bregexp=ƒuƒ‰ƒEƒU‚Ì³‹K•\Œ»
acl_pusers=ƒvƒƒLƒV ƒ†[ƒU
acl_eusers=ŠO•””FØƒ†[ƒU
acl_case=‘å•¶Žš/¬•¶Žš‚Ì‹æ•Ê‚ð–³Ž‹‚µ‚Ü‚·‚©H
acl_eusersre=ŠO•””FØƒ†[ƒU³‹K•\Œ»
acl_asnum=AS (Ž©—¥ƒVƒXƒeƒ€) ”Ô†
acl_rtime=ƒŠƒtƒŒƒbƒVƒ…ŽžŠÔ
acl_rfcusers=RFC931 ƒ†[ƒU
acl_mcr=“¯Žž—v¿‚ÌÅ‘å”
acl_psp=ƒvƒƒLƒV ƒT[ƒo ƒ|[ƒg
acl_scs=SNMP ƒRƒ~ƒ…ƒjƒeƒB•¶Žš—ñ
acl_rmt=MIME ƒ^ƒCƒv‚Ì—v¿
acl_arp=ƒNƒ‰ƒCƒAƒ“ƒg ƒC[ƒTƒlƒbƒg ƒAƒhƒŒƒX
acl_failurl=Ž¸”s‚µ‚½ URL
acl_buttsave=•Û‘¶
acl_buttdel=íœ
acl_return=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg)

aclsave_failsave=ACL ‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
aclsave_faildel=ACL ‚ðíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½:
aclsave_epr=‚±‚Ì ACL ‚ÍƒvƒƒLƒV§ŒÀ‚ÅŽg—p‚³‚ê‚Ä‚¢‚Ü‚·
aclsave_eicpr=‚±‚Ì ACL ‚Í ICP §ŒÀ‚ÅŽg—p‚³‚ê‚Ä‚¢‚Ü‚·
aclsave_ename=–³Œø‚È ACL –¼
aclsave_eexists='$1' ‚Æ‚¢‚¤ ACL ‚Í‚·‚Å‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·
aclsave_efrom='$1' ‚Í–³Œø‚È”­MŒ³‚Ì IP ƒAƒhƒŒƒX‚Å‚·
aclsave_eto='$1' ‚Í–³Œø‚ÈŽóMæ IP ƒAƒhƒŒƒX‚Å‚·
aclsave_enmask='$1' ‚Í–³Œø‚Èƒlƒbƒgƒ}ƒXƒN‚Å‚·
aclsave_eip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
aclsave_ecdom=ƒNƒ‰ƒCƒAƒ“ƒg ƒhƒƒCƒ“‚ªŽw’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
aclsave_esdom=ƒT[ƒo ƒhƒƒCƒ“‚ªŽw’è‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
aclsave_eshour=ŠJŽnŽžŠÔ‚ª–³Œø‚Å‚·
aclsave_eehour=I—¹ŽžŠÔ‚ª–³Œø‚Å‚·
aclsave_esmin=ŠJŽn‚Ì•ª‚ª–³Œø‚Å‚·
aclsave_eemin=I—¹‚Ì•ª‚ª–³Œø‚Å‚·
aclsave_efile=ACL ƒtƒ@ƒCƒ‹ '$1' ‚Ö‚Ì‘ž‚Ý‚Í‚Å‚«‚Ü‚¹‚ñ

cach_err=ƒGƒ‰[
cach_nfound=Squid ƒLƒƒƒbƒVƒ… ƒ}ƒl[ƒWƒƒ ƒvƒƒOƒ‰ƒ€ <tt>$1</tt> ‚ªƒVƒXƒeƒ€‚ÉŒ©‚Â‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B‚²Žg—p‚Ì<a href=/config.cgi?$2 >ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
cach_return=Squid ƒCƒ“ƒfƒbƒNƒX

chown_header=Š—LŒ ‚Ì•ÏX
chown_stop=Squid ‚ð’âŽ~...
chown_done=.. Š®—¹
chown_chown=Š—LŒ ‚ð•ÏX’†...
chown_restart=Squid ‚ÌÄ‹N“®...
chown_failrestart=Squid ‚ðÄ‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½..
chown_return=Squid ƒCƒ“ƒfƒbƒNƒX

clear_header=ƒLƒƒƒbƒVƒ…‚ÌƒNƒŠƒA‚ÆƒŠƒrƒ‹ƒh
clear_msgclear=Squid ƒLƒƒƒbƒVƒ…‚ðƒNƒŠƒA‚µ‚ÄƒŠƒrƒ‹ƒh‚µ‚Ä‚à‚æ‚ë‚µ‚¢‚Å‚·‚©H‚±‚ê‚ÍƒLƒƒƒbƒVƒ…‚É“ü‚ê‚½ <b>‚·‚×‚Ä</b> ‚Ìƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä Squid ƒT[ƒo‚ðÄ‹N“®‚µ‚Ü‚·B
clear_msgclear2=‚±‚ÌƒLƒƒƒbƒVƒ…‚ð Webmin ƒT[ƒo‚Æ‚Ì’ÊM‚ÉŽg—p‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ð•K‚¸Šm”F‚µ‚È‚¢‚ÆAƒLƒƒƒbƒVƒ…‚ªƒVƒƒƒbƒgƒ_ƒEƒ“‚³‚ê‚½‚Æ‚«‚ÉØ’f‚³‚ê‚Ü‚·B
clear_buttclear=ƒLƒƒƒbƒVƒ…‚ðƒNƒŠƒA‚µ‚ÄƒŠƒrƒ‹ƒh
clear_stop=Squid ‚ð’âŽ~’†...
clear_done=.. Š®—¹
clear_del=ŒÃ‚¢ƒLƒƒƒbƒVƒ… ƒtƒ@ƒCƒ‹‚ðíœ’† ..
clear_init=ƒRƒ}ƒ“ƒh<tt>$1</tt>‚Å Squid ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»’†..
clear_failrestart=Squid ‚ðÄ‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½..
clear_return=Squid ƒCƒ“ƒfƒbƒNƒX

eacl_header=ƒAƒNƒZƒX§Œä
eacl_acls=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg)
eacl_name=ƒAƒNƒZƒX§ŒäƒŠƒXƒg–¼
eacl_type=Ží—Þ
eacl_match=ˆê’v..
eacl_noacls=ACL ‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
eacl_buttcreate=V‹K‚Ì ACL ‚ðì¬
eacl_pr=ƒvƒƒLƒV§ŒÀ
eacl_act=ƒAƒNƒVƒ‡ƒ“
eacl_acls1=ACL
eacl_move=ˆÚ“®
eacl_nopr=ƒvƒƒLƒV§ŒÀ‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
eacl_addpr=ƒvƒƒLƒV§ŒÀ‚ð’Ç‰Á
eacl_icpr=ICP §ŒÀ
eacl_noicpr=ICP §ŒÀ‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
eacl_addicpr=ICP §ŒÀ‚ð’Ç‰Á
eacl_return=Squid ƒCƒ“ƒfƒbƒNƒX
eacl_allow=‹–‰Â
eacl_deny=‹‘”Û

eadm_header=ŠÇ—ƒIƒvƒVƒ‡ƒ“
eadm_aao=ŠÇ—‚ÆƒAƒiƒEƒ“ƒX ƒIƒvƒVƒ‡ƒ“
eadm_runasuu=Unix ƒ†[ƒU‚Æ‚µ‚ÄŽÀs
eadm_nochange=•ÏX‚È‚µ
eadm_user=ƒ†[ƒU
eadm_group=ƒOƒ‹[ƒv
eadm_runasug=Unix ƒOƒ‹[ƒv‚Æ‚µ‚ÄŽÀs
eadm_par=ƒvƒƒLƒV”FØ—Ìˆæ
eadm_default=ƒfƒtƒHƒ‹ƒg
eadm_cmemail=ƒLƒƒƒbƒVƒ… ƒ}ƒl[ƒWƒƒ E ƒ[ƒ‹ ƒAƒhƒŒƒX
eadm_vhost=•\Ž¦‚·‚éƒzƒXƒg–¼
eadm_uniq=ŒÅ—L‚ÌƒzƒXƒg–¼
eadm_haliases=‘¼‚ÌƒLƒƒƒbƒVƒ… DNS –¼
eadm_none=‚È‚µ
eadm_auto=Ž©“®
eadm_annto=ƒLƒƒƒbƒVƒ… ƒAƒiƒEƒ“ƒXæ
eadm_annevery=ƒLƒƒƒbƒVƒ… ƒAƒiƒEƒ“ƒX‚ðs‚¤’PˆÊ
eadm_never=‚È‚µ
eadm_uniqhn=ŒÅ—L‚ÌƒzƒXƒg–¼
eadm_cah=ƒLƒƒƒbƒVƒ… ƒAƒiƒEƒ“ƒX‚ÌƒzƒXƒg
eadm_cap=ƒLƒƒƒbƒVƒ… ƒAƒiƒEƒ“ƒX‚Ìƒ|[ƒg
eadm_caf=ƒLƒƒƒbƒVƒ… ƒAƒiƒEƒ“ƒX‚Ìƒtƒ@ƒCƒ‹
eadm_none=‚È‚µ
eadm_annp=ƒAƒiƒEƒ“ƒXŠúŠÔ
eadm_buttsave=•Û‘¶
eadm_return=Squid ƒCƒ“ƒfƒbƒNƒX

eauth_header=ƒvƒƒLƒV”FØ
eauth_aopt=”FØƒIƒvƒVƒ‡ƒ“
eauth_puf=ƒvƒƒLƒV ƒ†[ƒU ƒtƒ@ƒCƒ‹
eauth_none=‚È‚µ
eauth_nologin=ƒhƒƒCƒ“‚Ö‚ÌƒƒOƒCƒ“‚Í•K—v‚ ‚è‚Ü‚¹‚ñ
eauth_buttsave=•Û‘¶
eauth_msgaccess=‚²Žg—p‚ÌƒvƒƒLƒV ƒT[ƒo‚Ö‚ÌƒAƒNƒZƒX‚ÍA‰º‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚éƒ†[ƒU‚ÉŒÀ’è‚³‚ê‚Ü‚·Bƒ†[ƒU‚ð’Ç‰ÁAíœ‚Ü‚½‚Íœ‹Ž‚µ‚½Œã‚É‚»‚Ì•ÏX‚ð—LŒø‚É‚·‚é‚É‚ÍASquid ‚ð’âŽ~‚µÄ‹N“®‚µ‚Ä‚­‚¾‚³‚¢B
eauth_nmsgaccess=‚²Žg—p‚ÌƒvƒƒLƒV ƒT[ƒo‚Ö‚ÌƒAƒNƒZƒX‚ÍAƒtƒ@ƒCƒ‹ $1 ‚©‚çŽæ‚èo‚µ‚½A‰º‚ÉƒŠƒXƒg‚³‚ê‚Ä‚¢‚éƒ†[ƒU‚ÉŒÀ’è‚³‚ê‚Ü‚·B
eauth_pusers=ƒvƒƒLƒV ƒ†[ƒU
eauth_nopusers=Œ»Ý’è‹`‚³‚ê‚Ä‚¢‚éƒvƒƒLƒV ƒ†[ƒU‚Í‚ ‚è‚Ü‚¹‚ñB
eauth_addpuser=V‹KƒvƒƒLƒV ƒ†[ƒU‚ð’Ç‰Á
eauth_return=Squid ƒCƒ“ƒfƒbƒNƒX

ec_header=ƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“
ec_cro=ƒLƒƒƒbƒVƒ…‚Æ—v¿ƒIƒvƒVƒ‡ƒ“
ec_cdirs=ƒLƒƒƒbƒVƒ… ƒfƒBƒŒƒNƒgƒŠ
ec_default=ƒfƒtƒHƒ‹ƒg
ec_listed=ƒŠƒXƒg..
ec_directory=ƒfƒBƒŒƒNƒgƒŠ
ec_type=Ží—Þ
ec_mos=ƒIƒuƒWƒFƒNƒg ƒTƒCƒY (KB)
ec_size=ƒTƒCƒY (MB)
ec_1dirs=Å‰‚ÌƒŒƒxƒ‹‚ÌƒfƒBƒŒƒNƒgƒŠ
ec_2dirs=2 ”Ô–Ú‚ÌƒŒƒxƒ‹‚ÌƒfƒBƒŒƒNƒgƒŠ
ec_u=UFS
ec_ua=Async (”ñ“¯Šú) UFS
ec_diskd=DISKD
ec_1dirs1=Å‰‚ÌƒŒƒxƒ‹‚ÌƒfƒBƒŒƒNƒgƒŠ
ec_2dirs2=2 ”Ô–Ú‚ÌƒŒƒxƒ‹‚ÌƒfƒBƒŒƒNƒgƒŠ
ec_aos=•½‹ÏƒIƒuƒWƒFƒNƒg ƒTƒCƒY
ec_kb=KB
ec_mins=•ª
ec_secs=•b
ec_opb=ƒoƒPƒbƒg‚²‚Æ‚ÌƒIƒuƒWƒFƒNƒg
ec_ncuc=ŽŸ‚ðŠÜ‚Þ URL ‚ðƒLƒƒƒbƒVƒ…‚É“ü‚ê‚È‚¢
ec_ncum=ŽŸ‚Æˆê’v‚·‚é URL ‚ðƒLƒƒƒbƒVƒ…‚É“ü‚ê‚È‚¢
ec_ncua=ACL ‚Ì URL ‚ðƒLƒƒƒbƒVƒ…‚É“ü‚ê‚È‚¢
ec_mct=Å‘åƒLƒƒƒbƒVƒ…ŽžŠÔ
ec_mrbs=—v¿–{•¶ƒTƒCƒY‚ÌÅ‘å’l
ec_mrhs=—v¿ƒwƒbƒ_ ƒTƒCƒY‚ÌÅ‘å’l
ec_mrbs1=•ÔM–{•¶ƒTƒCƒY‚ÌÅ‘å’l
ec_mrs=Å‘å—v¿ƒTƒCƒY
ec_frct=—v¿ƒLƒƒƒbƒVƒ…ŽžŠÔ‚ªŽ¸”s‚µ‚Ü‚µ‚½
ec_dlct=DNS ƒLƒƒƒbƒVƒ…ŽžŠÔ‚ÌŒŸõ
ec_fdct=DNS ƒLƒƒƒbƒVƒ…ŽžŠÔ‚ªŽ¸”s‚µ‚Ü‚µ‚½
ec_ct=Ú‘±ƒ^ƒCƒ€ƒAƒEƒg
ec_rt=“Çž‚Ýƒ^ƒCƒ€ƒAƒEƒg
ec_mcct=ƒNƒ‰ƒCƒAƒ“ƒgÚ‘±ŽžŠÔ‚ÌÅ‘å’l
ec_mst=ƒVƒƒƒbƒgƒ_ƒEƒ“ŽžŠÔ‚ÌÅ‘å’l
ec_sst=ƒTƒCƒg‚Ì‘I‘ðƒ^ƒCƒ€ƒAƒEƒg
ec_crt=ƒNƒ‰ƒCƒAƒ“ƒg—v¿ƒ^ƒCƒ€ƒAƒEƒg
ec_hcc=”¼•ª•Â‚¶‚½ƒNƒ‰ƒCƒAƒ“ƒg‚Å‚·‚©H
ec_pt=Ž‘±ƒ^ƒCƒ€ƒAƒEƒg
ec_wr=WAIS ƒŠƒŒ[
ec_none=‚È‚µ
ec_host=ƒzƒXƒg
ec_port=ƒ|[ƒg
ec_wrh=WAIS ƒŠƒŒ[ ƒzƒXƒg
ec_wrp=WAIS  ƒŠƒŒ[ ƒ|[ƒg
ec_buttsave=•Û‘¶
ec_return=Squid ƒCƒ“ƒfƒbƒNƒX

ech_header=ƒLƒƒƒbƒVƒ… ƒzƒXƒg‚Ìì¬
ech_header1=ƒLƒƒƒbƒVƒ… ƒzƒXƒg‚Ì•ÒW
ech_cho=ƒLƒƒƒbƒVƒ… ƒzƒXƒg‚ÌƒIƒvƒVƒ‡ƒ“
ech_h=ƒzƒXƒg–¼
ech_parent=e
ech_sibling=ŒZ’í
ech_multicast=ƒ}ƒ‹ƒ`ƒLƒƒƒXƒg
ech_t=Ží—Þ
ech_pp=ƒvƒƒLƒV ƒ|[ƒg
ech_ip=ICP ƒ|[ƒg
ech_po=ƒvƒƒLƒV‚Ì‚Ý‚Å‚·‚©H
ech_y=‚Í‚¢
ech_n=‚¢‚¢‚¦
ech_siq=ICP ƒNƒGƒŠ[‚ð‘—M‚µ‚Ü‚·‚©H
ech_dc=ƒfƒtƒHƒ‹ƒg ƒLƒƒƒbƒVƒ…‚Å‚·‚©H
ech_rrc=ƒ‰ƒEƒ“ƒhƒƒrƒ“ ƒLƒƒƒbƒVƒ…‚Å‚·‚©H
ech_ittl=ICP ‘¶‘±ŽžŠÔ
ech_d=ƒfƒtƒHƒ‹ƒg
ech_cw=ƒLƒƒƒbƒVƒ…‚Ìd‚Ý
ech_co=ˆê”Ô‹ß‚¢‚à‚Ì‚Ì‚Ý‚É‚µ‚Ü‚·‚©H
ech_nd=ƒ_ƒCƒWƒFƒXƒg‚È‚µ‚Å‚·‚©H
ech_nne=NetDB ŒðŠ·‚È‚µ‚Å‚·‚©H
ech_nd1=’x‰„‚È‚µ‚Å‚·‚©H
ech_ltp=ƒvƒƒLƒV‚ÉƒƒOƒCƒ“
ech_nl=ƒƒOƒCƒ“‚µ‚È‚¢
ech_u=ƒ†[ƒU:
ech_p=ƒpƒX:
ech_mr=ƒ}ƒ‹ƒ`ƒLƒƒƒXƒg‰ž“š‘¤‚Å‚·‚©H
ech_qhfd=ƒhƒƒCƒ“‚ÌƒNƒGƒŠ[ ƒzƒXƒg
ech_dqfd=ƒhƒƒCƒ“‚ðƒNƒGƒŠ[‚µ‚È‚¢
ech_buttsave=•Û‘¶
ech_buttdel=íœ
ech_return=ƒLƒƒƒbƒVƒ… ƒŠƒXƒg

eicp_header=‚»‚Ì‘¼‚ÌƒLƒƒƒbƒVƒ…
eicp_opcs=‚»‚Ì‘¼‚ÌƒLƒƒƒbƒVƒ… ƒvƒƒLƒV ƒT[ƒo
eicp_nocd=’è‹`‚³‚ê‚½‘¼‚ÌƒLƒƒƒbƒVƒ…‚Í‚ ‚è‚Ü‚¹‚ñ
eicp_aac=•Ê‚ÌƒLƒƒƒbƒVƒ…‚ð’Ç‰Á
eicp_cso=ƒLƒƒƒbƒVƒ…‚Ì‘I‘ðƒIƒvƒVƒ‡ƒ“
eicp_fdfd=ƒhƒƒCƒ“‚©‚ç’¼ÚŽæ‚èo‚·
eicp_fdfi=IP ‚©‚ç’¼ÚŽæ‚èo‚·
eicp_dif=ƒtƒ@ƒCƒAƒEƒH[ƒ‹“à‚ÌƒhƒƒCƒ“
eicp_iif=ƒtƒ@ƒCƒAƒEƒH[ƒ‹“à‚Ì IP 
eicp_dfuc=ŽŸ‚ðŠÜ‚Þ URL ‚ð’¼ÚŽæ‚èo‚·
eicp_d=ƒfƒtƒHƒ‹ƒg
eicp_bpfsp=’Pˆê‚Ìe‚É‘Î‚µ‚Ä‚Í Ping ‚ðƒoƒCƒpƒX‚µ‚Ü‚·‚©H
eicp_y=‚Í‚¢
eicp_n=‚¢‚¢‚¦
eicp_secs=•b
eicp_ssip=Ping ‚Éƒ\[ƒX‚ð‘—M‚µ‚Ü‚·‚©H
eicp_crt=ƒLƒƒƒbƒVƒ…‰ž“š‚Ìƒ^ƒCƒ€ƒAƒEƒg
eicp_iqt=ICP ƒNƒGƒŠ[‚Ìƒ^ƒCƒ€ƒAƒEƒg
eicp_mit=Multicase ICP ƒ^ƒCƒ€ƒAƒEƒg
eicp_dpt=Dead peer ƒ^ƒCƒ€ƒAƒEƒg
eicp_h=ƒzƒXƒg–¼
eicp_t=Ží—Þ
eicp_pp=ƒvƒƒLƒV ƒ|[ƒg
eicp_ip=ICP ƒ|[ƒg
eicp_return=Squid ƒCƒ“ƒfƒbƒNƒX
eicp_always=’¼ÚŽæo‚µ‚Ì ACL
eicp_noalways=’¼ÚŽæo‚µ‚Ì ACL ‚Í’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
eicp_addalways=’¼ÚŽæo‚µ‚Ì ACL ‚ð’Ç‰Á
eicp_never=ŠÔÚŽæo‚µ‚Ì ACL 
eicp_nonever=ŠÔÚŽæo‚µ‚Ì ACL ‚Í’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
eicp_addnever=ŠÔÚŽæo‚µ‚Ì ACL ‚ð’Ç‰Á

elogs_header=ƒƒO
elogs_lalo=ƒƒO‚ÆƒƒO ƒtƒ@ƒCƒ‹‚ÌƒIƒvƒVƒ‡ƒ“
elogs_alf=ƒAƒNƒZƒX ƒƒO ƒtƒ@ƒCƒ‹
elogs_dlf=ƒfƒoƒbƒO ƒƒO ƒtƒ@ƒCƒ‹
elogs_slf=ƒXƒgƒŒ[ƒW ƒƒO ƒtƒ@ƒCƒ‹
elogs_cmf=ƒLƒƒƒbƒVƒ… ƒƒ^ƒf[ƒ^ ƒtƒ@ƒCƒ‹
elogs_uhlf=HTTPD ƒƒOŒ`Ž®‚ðŽg—p‚µ‚Ü‚·‚©H
elogs_lmh=MIME ƒwƒbƒ_‚ðƒƒO‚µ‚Ü‚·‚©H
elogs_ualf=ƒ†[ƒU ƒG[ƒWƒFƒ“ƒg ƒƒO ƒtƒ@ƒCƒ‹
elogs_pf=PID ƒtƒ@ƒCƒ‹
elogs_prilfa=RFC931 ƒCƒ“ƒfƒ“ƒgŒŸõ‚ð ACL ‚ÅŽÀs‚µ‚Ü‚·‚©H
elogs_rit=RFC931 ƒCƒ“ƒfƒ“ƒg ƒ^ƒCƒ€ƒAƒEƒg
elogs_dril=RFC931 ƒCƒ“ƒfƒ“ƒgŒŸõ‚ðŽÀs‚µ‚Ü‚·‚©H
elogs_lfh=Š®‘S‚ÈƒzƒXƒg–¼‚ðƒƒO‚µ‚Ü‚·‚©H
elogs_ln=ƒƒO ƒlƒbƒgƒ}ƒXƒN
elogs_do=ƒfƒoƒbƒO ƒIƒvƒVƒ‡ƒ“
elogs_mht=MIME ƒwƒbƒ_ ƒe[ƒuƒ‹
elogs_return=Squid ƒCƒ“ƒfƒbƒNƒX

emem_dheader=ƒƒ‚ƒŠ‚ÆƒfƒBƒXƒN‚ÌŽg—p—¦
emem_header=ƒƒ‚ƒŠŽg—p—¦
emem_maduo=ƒƒ‚ƒŠ‚ÆƒfƒBƒXƒN‚ÌŽg—p—¦‚ÌƒIƒvƒVƒ‡ƒ“
emem_mul=ƒƒ‚ƒŠŽg—p—¦‚Ì§ŒÀ
emem_dul=ƒfƒBƒXƒN‚ÌŽg—p—¦‚Ì§ŒÀ
emem_fcs=FQDN ƒLƒƒƒbƒVƒ… ƒTƒCƒY
emem_mb=MB
emem_kb=KB
emem_mhwm=ƒƒ‚ƒŠ ƒnƒC ƒEƒH[ƒ^[ƒ}[ƒN
emem_mlwm=ƒƒ‚ƒŠ ƒ[ ƒEƒH[ƒ^[ƒ}[ƒN
emem_dhwm=ƒfƒBƒXƒN ƒnƒC ƒEƒH[ƒ^[ƒ}[ƒN
emem_dlwm=ƒfƒBƒXƒN ƒ[ ƒEƒH[ƒ^[ƒ}[ƒN
emem_mcos=ƒLƒƒƒbƒVƒ…‚É“ü‚ê‚½ƒIƒuƒWƒFƒNƒg‚ÌÅ‘åƒTƒCƒY
emem_iacs=IP ƒAƒhƒŒƒX ƒLƒƒƒbƒVƒ… ƒTƒCƒY
emem_e=ƒGƒ“ƒgƒŠ
emem_ichwm=IP ƒAƒhƒŒƒX ƒnƒC ƒEƒH[ƒ^[ƒ}[ƒN
emem_iclwm=IP ƒAƒhƒŒƒX ƒ[ ƒEƒH[ƒ^[ƒ}[ƒN
emem_crp=ƒfƒBƒXƒN‚Ì’uŠ·‚¦ƒ|ƒŠƒV[
emem_lru=LRU (Å‹ßÅ‚àŽg‚í‚ê‚Ä‚¢‚È‚¢)
emem_gdsf=GDSF
emem_lfuda=LFUDA
emem_hlru=HLFU
emem_return=Squid ƒCƒ“ƒfƒbƒNƒX
emem_mrp=ƒƒ‚ƒŠ‚Ì’uŠ·‚¦ƒ|ƒŠƒV[

emisc_header=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
emisc_mo=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
emisc_sdta=‹N“® DNS ƒeƒXƒg ƒAƒhƒŒƒX
emisc_slr=SIGUSR1 ƒƒOƒtƒ@ƒCƒ‹ ƒ[ƒe[ƒVƒ‡ƒ“
emisc_dd=ƒfƒtƒHƒ‹ƒg ƒhƒƒCƒ“
emisc_sp=SSL ƒvƒƒLƒV
emisc_nghp=Non-GET HTTP ƒvƒƒLƒV
emisc_emt=ƒGƒ‰[ ƒƒbƒZ[ƒW ƒeƒLƒXƒg
emisc_pcs=ƒNƒ‰ƒCƒAƒ“ƒg‚²‚Æ‚Ì“Œv‚Å‚·‚©H
emisc_xffh=X-Forwarded-For ƒwƒbƒ_‚Å‚·‚©H
emisc_liq=Log ICP ƒNƒGƒŠ[‚Å‚·‚©H
emisc_mdh=Å¬ƒ_ƒCƒŒƒNƒg ƒzƒbƒv
emisc_kmffu=«—ˆ‚ÌŽg—p‚Ì‚½‚ß‚Éƒƒ‚ƒŠ‚ð•ÛŽ‚µ‚Ü‚·‚©H
emisc_aomtk=•ÛŽ‚·‚éƒƒ‚ƒŠ‚Ì—Ê
emisc_u=–³§ŒÀ
emisc_htpt=“n‚·ƒwƒbƒ_
emisc_ah=‚·‚×‚Ä‚Ìƒwƒbƒ_
emisc_oh=ŽŸ‚Ìƒwƒbƒ_‚Ì‚Ý
emisc_ae=ŽŸˆÈŠO‚·‚×‚Ä
emisc_a=Anonymizer ‚Å‚·‚©H
emisc_off=ƒIƒt
emisc_std=•W€
emisc_par=”ñ•W€
emisc_fua=‹U‚Ìƒ†[ƒU ƒG[ƒWƒFƒ“ƒg
emisc_return=Squid ƒCƒ“ƒfƒbƒNƒX
emisc_hauhh=HTTP Accel ƒzƒXƒgƒwƒbƒ_Žg—p
emisc_hah=HTTP Accel ƒzƒXƒg
emisc_hap=HTTP Accel ƒ|[ƒg
emisc_hawp=HTTP Accel ƒvƒƒLƒV

eports_header=ƒ|[ƒg‚Æƒlƒbƒgƒ[ƒN
eports_pano=ƒ|[ƒg‚Æƒlƒbƒgƒ[ƒN ƒIƒvƒVƒ‡ƒ“
eports_paap=ƒvƒƒLƒV ƒAƒhƒŒƒX‚Æƒ|[ƒg
eports_p=ƒ|[ƒg
eports_hia=ƒzƒXƒg–¼/IP ƒAƒhƒŒƒX
eports_pp=ƒvƒƒLƒV ƒ|[ƒg
eports_ip=ICP ƒ|[ƒg
eports_ota=‘—M TCP ƒAƒhƒŒƒX
eports_ita=ŽóM TCP ƒAƒhƒŒƒX
eports_a=”CˆÓ
eports_oua=‘—M UDP ƒAƒhƒŒƒX
eports_iua=ŽóM UDP ƒAƒhƒŒƒX
eports_mg=ƒ}ƒ‹ƒ`ƒLƒƒƒXƒg ƒOƒ‹[ƒv
eports_trb=TCP ŽóMƒoƒbƒtƒ@
eports_od=OS ƒfƒtƒHƒ‹ƒg
eports_return=Squid ƒCƒ“ƒfƒbƒNƒX

eprogs_header=ƒwƒ‹ƒp[ ƒvƒƒOƒ‰ƒ€
eprogs_chpo=ƒLƒƒƒbƒVƒ… ƒwƒ‹ƒp[ ƒvƒƒOƒ‰ƒ€ ƒIƒvƒVƒ‡ƒ“
eprogs_sfp=Squid FTP ƒvƒƒOƒ‰ƒ€
eprogs_fo=FTP ƒIƒvƒVƒ‡ƒ“
eprogs_fcv=FTP ƒRƒ‰ƒ€•
eprogs_c=chars (•¶Žš)
eprogs_afl=Anon FTP ƒƒOƒCƒ“
eprogs_sdp=Squid DNS ƒvƒƒOƒ‰ƒ€
eprogs_nodp=DNS ƒvƒƒOƒ‰ƒ€”Ô†
eprogs_adtr=—v¿‚ÉƒhƒƒCƒ“‚ð•t‰Á
eprogs_dsa=DNS ƒT[ƒo ƒAƒhƒŒƒX
eprogs_fr=resolv.conf ‚©‚ç
eprogs_ccp=ƒLƒƒƒbƒVƒ…‚ÌƒNƒŠƒA ƒvƒƒOƒ‰ƒ€
eprogs_spp=Squid Ping ƒvƒƒOƒ‰ƒ€
eprogs_crp=ƒJƒXƒ^ƒ€ ƒŠƒ_ƒCƒŒƒNƒg ƒvƒƒOƒ‰ƒ€
eprogs_norp=ƒŠƒ_ƒCƒŒƒNƒg ƒvƒƒOƒ‰ƒ€”Ô†
eprogs_cap=ƒJƒXƒ^ƒ€”FØƒvƒƒOƒ‰ƒ€
eprogs_noap=”FØƒvƒƒOƒ‰ƒ€”Ô†
eprogs_return=Squid ƒCƒ“ƒfƒbƒNƒX

euser_header=ƒvƒƒLƒV ƒ†[ƒU‚Ìì¬
euser_header1=ƒvƒƒLƒV ƒ†[ƒU‚Ì•ÒW
euser_pud=ƒvƒƒLƒV ƒ†[ƒU‚ÌÚ×
euser_u=ƒ†[ƒU–¼
euser_p=ƒpƒXƒ[ƒh
euser_u1=•ÏX‚È‚µ
euser_return=ƒ†[ƒU ƒŠƒXƒg

ahttp_header=ƒvƒƒLƒV§ŒÀ‚Ìì¬
ahttp_header1=ƒvƒƒLƒV§ŒÀ‚Ì•ÒW
ahttp_pr=ƒvƒƒLƒV§ŒÀ
ahttp_a=ƒAƒNƒVƒ‡ƒ“
ahttp_a1=‹–‰Â
ahttp_d=‹‘”Û
ahttp_ma=ACL ‚Éˆê’v
ahttp_dma=ACL ‚Éˆê’v‚µ‚È‚¢
ahttp_return=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg)

sahttp_ftspr=ƒvƒƒLƒV§ŒÀ‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

aicp_header=ICP §ŒÀ‚Ìì¬
aicp_header1=ICP §ŒÀ‚Ì•ÒW
aicp_ir=ICP §ŒÀ
aicp_a=ƒAƒNƒVƒ‡ƒ“
aicp_a1=‹–‰Â
aicp_d=‹‘”Û
aicp_ma=ACL ‚Éˆê’v
aicp_dma=ACL ‚Éˆê’v‚µ‚È‚¢
aicp_return=ACL (ƒAƒNƒZƒX§ŒäƒŠƒXƒg)

saicp_ftsir=ICP §ŒÀ‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

icache_ftic=ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
icache_ymcautrsa=Squid ‚ðŽÀs‚·‚éƒ†[ƒU‚ð‘I‘ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·
icache_itscwtc=ƒRƒ}ƒ“ƒh<tt>$1</tt>‚Å Squid ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»’†..
icache_return=Squid ƒCƒ“ƒfƒbƒNƒX
icache_title=ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»

restart_ftrs=Squid ‚ðÄÝ’è‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

sadmin_ftsao=ŠÇ—ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sadmin_header=Š—LŒ ‚Ì•ÏX
sadmin_msg1=Squid ‚ðŽÀs‚·‚éƒ†[ƒU‚Ü‚½‚ÍƒOƒ‹[ƒv‚ð•ÏX‚µ‚Ü‚µ‚½B‚±‚Ì•ÏX‚ð—LŒø‚É‚·‚é‚É‚ÍA‚·‚×‚Ä‚ÌƒLƒƒƒbƒVƒ…‚ÆƒƒOƒtƒ@ƒCƒ‹‚ÌŠ—LŒ ‚ðXV‚µ Squid ‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
sadmin_buttco=Š—LŒ ‚Ì•ÏX
sadmin_return=Squid ƒCƒ“ƒfƒbƒNƒX
sadmin_inavea='$1' ‚Í–³Œø‚È E ƒ[ƒ‹ ƒAƒhƒŒƒX‚Å‚·
sadmin_inavh='$1' ‚Í–³Œø‚ÈƒzƒXƒg–¼‚Å‚·
sadmin_inavap='$1' ‚Í–³Œø‚ÈƒAƒiƒEƒ“ƒXŠúŠÔ‚Å‚·
sadmin_inavp='$1' ‚Í–³Œø‚Èƒ|[ƒg‚Å‚·

sauth_ftsao=”FØƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sauth_iomuf=ƒ†[ƒU ƒtƒ@ƒCƒ‹–¼‚ª‚È‚¢‚©–³Œø‚Å‚·
sauth_iomd=ƒhƒƒCƒ“‚ª‚È‚¢‚©–³Œø‚Å‚·
sauth_msg1=‚²Žg—p‚Ì Squid ‚Ìƒo[ƒWƒ‡ƒ“‚ÍƒvƒƒLƒV”FØ‚ÌƒTƒ|[ƒg‚Â‚«‚ÅƒRƒ“ƒpƒCƒ‹‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB

scache_ftsco=ƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
scache_emsg0=­‚È‚­‚Æ‚à 1 ‚Â‚ÌƒLƒƒƒbƒVƒ… ƒfƒBƒŒƒNƒgƒŠ‚ð“ü—Í‚·‚é•K—v‚ª‚ ‚è‚Ü‚·
scache_emsg1=ƒLƒƒƒbƒVƒ… ƒfƒBƒŒƒNƒgƒŠ '$1' ‚Í‘¶Ý‚µ‚Ü‚¹‚ñ
scache_emsg2='$1' ‚Í–³Œø‚È—v¿ƒTƒCƒY‚Å‚·
scache_emsg3='$1' ‚Í–³Œø‚ÈŽ¸”s‚µ‚½—v¿‚ÌƒLƒƒƒbƒVƒ…ŽžŠÔ‚Å‚·
scache_emsg4='$1' ‚Í–³Œø‚È DNS ƒLƒƒƒbƒVƒ…ŽžŠÔ‚Å‚·
scache_emsg5='$1' ‚Í–³Œø‚Èƒ^ƒCƒ€ƒAƒEƒg‚Å‚·
scache_emsg6='$1' ‚Í–³Œø‚ÈŽžŠÔ‚Å‚·
scache_emsg7='$1'‚Í–³Œø‚ÈƒfƒBƒŒƒNƒgƒŠ”‚Å‚·
scache_emsg8=ƒfƒBƒŒƒNƒgƒŠ”‚Í 1 ˆÈã‚Å‚È‚¯‚ê‚Î‚È‚è‚Ü‚¹‚ñ
scache_emsg9=ƒfƒBƒŒƒNƒgƒŠ”‚Í 256 ˆÈ‰º‚Å‚È‚¯‚ê‚Î‚È‚è‚Ü‚¹‚ñ
scache_emsg10='$1' ‚Í–³Œø‚ÈƒIƒuƒWƒFƒNƒg ƒTƒCƒY‚Å‚·
scache_emsg11='$1'‚Í–³Œø‚ÈƒIƒuƒWƒFƒNƒg”‚Å‚·
scache_emsg12='$1' ‚Í–³Œø‚ÈƒfƒBƒŒƒNƒgƒŠ ƒTƒCƒY‚Å‚·
scache_emsg13='$1' ‚Í—LŒø‚ÈƒzƒXƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
scache_emsg14='$1' ‚Í–³Œø‚Èƒ|[ƒg‚Å‚·

schost_ftsc=ƒLƒƒƒbƒVƒ…‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
schost_emsg1='$1' ‚Í–³Œø‚ÈƒLƒƒƒbƒVƒ… ƒzƒXƒg–¼‚Å‚·
schost_emsg2='$1' ‚Í–³Œø‚ÈƒvƒƒLƒV ƒ|[ƒg‚Å‚·
schost_emsg3='$1' ‚Í–³Œø‚È ICP ƒ|[ƒg‚Å‚·
schost_emsg4='$1' ‚Í–³Œø‚ÈTTLŽžŠÔ‚Å‚·
schost_emsg5='$1' ‚Í–³Œø‚Èd‚Ý‚Å‚·

sicp_ftsco=ƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sicp_emsg1='$1' ‚Í–³Œø‚Èƒ^ƒCƒ€ƒAƒEƒg‚Å‚·

slogs_ftslo=ƒƒO ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
slogs_emsg1='$1' ‚Í–³Œø‚Èâ‘Îƒtƒ@ƒCƒ‹–¼‚Å‚·
slogs_emsg2='$1' ‚Í–³Œø‚Èƒtƒ@ƒCƒ‹–¼‚Å‚·
slogs_emsg3=ƒfƒBƒŒƒNƒgƒŠ '$1' ‚Í‘¶Ý‚µ‚Ü‚¹‚ñ
slogs_emsg4='$1' ‚Í–³Œø‚Èƒlƒbƒgƒ}ƒXƒN‚Å‚·
slogs_emsg5='$1' ‚Í–³Œø‚ÈƒfƒoƒbƒO ƒIƒvƒVƒ‡ƒ“ ƒŠƒXƒg‚Å‚·

smem_ftsmo=ƒƒ‚ƒŠ ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
smem_emsg1='$1' ‚Í–³Œø‚ÈƒLƒƒƒbƒVƒ… ƒTƒCƒY‚Å‚·
smem_emsg2='$1' ‚Í–³Œø‚ÈƒnƒC ƒEƒH[ƒ^[ƒ}[ƒN‚Å‚·
smem_emsg3='$1' ‚Í–³Œø‚Èƒ[ ƒEƒH[ƒ^[ƒ}[ƒN‚Å‚·
smem_emsg4='$1' ‚Í–³Œø‚ÈƒIƒuƒWƒFƒNƒg ƒTƒCƒY‚Å‚·

smisc_ftso=ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
smisc_emsg1='$1'‚Í–³Œø‚Èƒ[ƒe[ƒVƒ‡ƒ“”‚Å‚·
smisc_emsg2='$1' ‚Í–³Œø‚ÈƒhƒƒCƒ“‚Å‚·
smisc_emsg3='$1' ‚Í–³Œø‚ÈƒvƒƒLƒV‚Å‚·
smisc_emsg4='$1'‚Í–³Œø‚Èƒzƒbƒv”‚Å‚·

sport_ftspo=ƒ|[ƒg ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sport_emsg1='$1' ‚Í–³Œø‚Èƒ|[ƒg”Ô†‚Å‚·
sport_emsg2='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
sport_emsg3='$1' ‚Í–³Œø‚Èƒoƒbƒtƒ@ ƒTƒCƒY‚Å‚·

sprog_ftshpo=ƒwƒ‹ƒp[ ƒvƒƒOƒ‰ƒ€ ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
sprog_emsg1=FTP ƒIƒvƒVƒ‡ƒ“‚ª‚ ‚è‚Ü‚¹‚ñ
sprog_emsg2='$1' ‚Í–³Œø‚ÈƒvƒƒOƒ‰ƒ€‚Å‚·
sprog_emsg3='$1' ‚ÍŽÀs‰Â”\‚ÈƒvƒƒOƒ‰ƒ€‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
sprog_emsg4='$1' ‚Í–³Œø‚È FTP ƒƒOƒCƒ“‚Å‚·
sprog_emsg5='$1'‚Í–³Œø‚ÈƒvƒƒOƒ‰ƒ€”Ô†‚Å‚·
sprog_emsg6='$1' ‚Í–³Œø‚ÈƒJƒ‰ƒ€•‚Å‚·
sprog_emsg7=DNS ƒT[ƒo‚ª“ü—Í‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
sprog_emsg8='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·

suser_ftsu=ƒ†[ƒU‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
suser_emsg1=ƒ†[ƒU–¼‚ª‚È‚¢‚©–³Œø‚Å‚·

start_ftsq=Squid ‚ð‹N“®‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
stop_ftsq=Squid ‚ð’âŽ~‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

calamaris_title=Calamaris ƒƒO•ªÍ
calamaris_last=•ªÍ‚ðƒƒO‚ÌÅŒã‚Ì $1 s‚É§ŒÀ’†..
calamaris_eprog=Calamaris ŽÀsƒtƒ@ƒCƒ‹ $1 ‚ªŒ©‚Â‚©‚è‚Ü‚¹‚ñBƒVƒXƒeƒ€‚ÉCalamaris ŽÀsƒtƒ@ƒCƒ‹‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚© <a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
calamaris_elogs=ƒƒO ƒfƒBƒŒƒNƒgƒŠ $1 ‚Í <tt>access.log</tt> ƒtƒ@ƒCƒ‹‚ðŠÜ‚ñ‚Å‚¢‚Ü‚¹‚ñBSquid ‚ªŽÀs‚³‚ê‚Ä‚¢‚È‚¢‚©A <a href='$2'>ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
calamaris_gen=$1 ‚ÅƒŒƒ|[ƒg‚ðì¬‚µ‚Ü‚µ‚½

lib_emsg1='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
lib_seconds=•b
lib_minutes=•ª
lib_hours=ŽžŠÔ
lib_days=“ú
lib_weeks=T
lib_fortnights=2TŠÔ
lib_months=ŒŽ
lib_years=”N
lib_decades=10”NŠÔ
lib_emsg2='$1'‚Í $2 ‚Ì–³Œø‚È”‚Å‚·
lib_kb=KB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1'‚Í $2 ‚Ì–³Œø‚È”‚Å‚·
lib_aclca=ƒNƒ‰ƒCƒAƒ“ƒg ƒAƒhƒŒƒX
lib_aclwsa=Web ƒT[ƒo ƒAƒhƒŒƒX
lib_aclch=ƒNƒ‰ƒCƒAƒ“ƒg ƒzƒXƒg–¼
lib_aclwsh=Web ƒT[ƒo ƒzƒXƒg–¼
lib_acldat=“úŽž
lib_aclur=URL ³‹K•\Œ»
lib_aclupr=URL ƒpƒX ³‹K•\Œ»
lib_aclup=URL ƒ|[ƒg
lib_aclup1=URL ƒvƒƒgƒRƒ‹
lib_aclrm=—v¿•û–@
lib_aclbr=ƒuƒ‰ƒEƒU‚Ì³‹K•\Œ»
lib_aclpl=ƒvƒƒLƒV ƒƒOƒCƒ“
lib_aclsan=”­MŒ³ AS (Ž©—¥ƒVƒXƒeƒ€) ”Ô†
lib_acldan=ˆ¶æ AS (Ž©—¥ƒVƒXƒeƒ€) ”Ô†
lib_aclea=ŠO•””FØ
lib_aclcr=ƒNƒ‰ƒCƒAƒ“ƒg³‹K•\Œ»
lib_aclwsr=Web ƒT[ƒo³‹K•\Œ»
lib_aclru=RFC931 ƒ†[ƒU
lib_aclpia=ƒvƒƒLƒV IP ƒAƒhƒŒƒX
lib_aclmc=Å‘åÚ‘±”
lib_aclpp=ƒvƒƒLƒV ƒ|[ƒg
lib_aclsc=SNMP ƒRƒ~ƒ…ƒjƒeƒB
lib_aclrmt=MIME ƒ^ƒCƒv‚Ì—v¿
lib_aclarp=ƒC[ƒTƒlƒbƒg ƒAƒhƒŒƒX
lib_aclear=ŠO•””FØ‚Ì³‹K•\Œ»
lib_buttac=•ÏX‚ð“K—p
lib_buttss=Squid ‚ð’âŽ~
lib_buttss1=Squid ‚ð‹N“®

log_ports=ƒ|[ƒg‚Æƒlƒbƒgƒ[ƒN ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_icp=‚»‚Ì‘¼‚ÌƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_mem=ƒƒ‚ƒŠŽg—p—¦ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_logs=ƒƒO ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_cache=ƒLƒƒƒbƒVƒ… ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_progs=ƒwƒ‹ƒp[ ƒvƒƒOƒ‰ƒ€ ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_admin=ŠÇ—ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_misc=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_clear=ƒLƒƒƒbƒVƒ…‚ðƒNƒŠƒA‚µ‚ÄƒŠƒrƒ‹ƒh‚µ‚Ü‚µ‚½
log_acl_create=ACL $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_acl_modify=ACL $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_acl_delete=ACL $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_http_create=ƒvƒƒLƒV§ŒÀ‚ðì¬‚µ‚Ü‚µ‚½
log_http_modify=ƒvƒƒLƒV§ŒÀ‚ð•ÏX‚µ‚Ü‚µ‚½
log_http_delete=ƒvƒƒLƒV§ŒÀ‚ðíœ‚µ‚Ü‚µ‚½
log_http_move=ƒvƒƒLƒV§ŒÀ‚ðˆÚ“®‚µ‚Ü‚µ‚½
log_icp_create=ICP §ŒÀ‚ðì¬‚µ‚Ü‚µ‚½
log_icp_modify=ICP §ŒÀ‚ð•ÏX‚µ‚Ü‚µ‚½
log_icp_delete=ICP §ŒÀ‚ðíœ‚µ‚Ü‚µ‚½
log_icp_move=ICP §ŒÀ‚ðˆÚ“®‚µ‚Ü‚µ‚½
log_stop=ƒvƒƒLƒV ƒT[ƒo‚ð’âŽ~‚µ‚Ü‚µ‚½
log_start=ƒvƒƒLƒV ƒT[ƒo‚ð‹N“®‚µ‚Ü‚µ‚½
log_apply=•ÏX‚ð“K—p‚µ‚Ü‚µ‚½
log_host_create=ƒLƒƒƒbƒVƒ… ƒzƒXƒg $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_host_modify=ƒLƒƒƒbƒVƒ… ƒzƒXƒg $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_host_delete=ƒLƒƒƒbƒVƒ… ƒzƒXƒg $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_init=ƒLƒƒƒbƒVƒ…‚ð‰Šú‰»‚µ‚Ü‚µ‚½
log_user_create=ƒvƒƒLƒV ƒ†[ƒU $1 ‚ðì¬‚µ‚Ü‚µ‚½
log_user_delete=ƒvƒƒLƒV ƒ†[ƒU $1 ‚ðíœ‚µ‚Ü‚µ‚½
log_user_modify=ƒvƒƒLƒV ƒ†[ƒU $1 ‚ð•ÏX‚µ‚Ü‚µ‚½
log_always_create=’¼ÚŽæo‚µ ACL ‚ðì¬‚µ‚Ü‚µ‚½
log_always_modify=’¼ÚŽæo‚µ ACL ‚ð•ÏX‚µ‚Ü‚µ‚½
log_always_delete=’¼ÚŽæo‚µ ACL ‚ðíœ‚µ‚Ü‚µ‚½
log_always_move=’¼ÚŽæo‚µ ACL ‚ðˆÚ“®‚µ‚Ü‚µ‚½
log_never_create=Never ’¼ÚŽæo‚µ ACL ‚ðì¬‚µ‚Ü‚µ‚½
log_never_modify=Never ’¼ÚŽæo‚µ ACL ‚ð•ÏX‚µ‚Ü‚µ‚½
log_never_delete=Never ’¼ÚŽæo‚µ ACL ‚ðíœ‚µ‚Ü‚µ‚½
log_never_move=Never ’¼ÚŽæo‚µ ACL ‚ðˆÚ“®‚µ‚Ü‚µ‚½

acl_root=ACL ƒtƒ@ƒCƒ‹‚Ì root ƒfƒBƒŒƒNƒgƒŠ

always_create=’¼ÚŽæo‚µ‚ðì¬
always_edit=’¼ÚŽæo‚µ‚ð•ÒW
always_header=ACL ‚Æˆê’v‚µ‚½’¼ÚŽæo‚µ—v¿

never_create=ŠÔÚŽæo‚µ‚ðì¬
never_edit=ŠÔÚŽæo‚µ‚ð•ÒW
never_header=ACL ‚Æˆê’v‚µ‚½ŠÔÚŽæo‚µ—v¿

  070701000498fe000081a40000000000000002000000013d1fe2d400004832000000200000000000000000000000000000001b00000003reloc/squid/lang/ko_KR.euc    index_header=squid ÇÁ·Ï½Ã ¼­¹ö
index_msgnoconfig=squid ±¸¼º ÆÄÀÏ <tt>$1</tt>ÀÌ(°¡) ¾ø½À´Ï´Ù. squid°¡ ¼³Ä¡µÇ¾î ÀÖÀ¸¸é ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô <a href=/config.cgi?$2 >¸ðµâ ±¸¼º</a>À» Á¶Á¤ÇÏ½Ê½Ã¿À.
index_msgnoexe=squid ½ÇÇà ÆÄÀÏ <tt>$1</tt>ÀÌ(°¡) ¾ø½À´Ï´Ù. squid°¡ ¼³Ä¡µÇ¾î ÀÖÀ¸¸é ¿Ã¹Ù¸¥ °æ·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô <a href=/config.cgi?$2 >¸ðµâ ±¸¼º</a>À» Á¶Á¤ÇÏ½Ê½Ã¿À.
index_msgnosupported=Webmin¿¡¼­ Áö¿øÇÏÁö ¾Ê´Â squid ¹öÀüÀÔ´Ï´Ù. ÀÌ ¸ðµâ¿¡¼­´Â <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> ¹×<tt>2.3</tt> ¹öÀü¸¸ Áö¿øÇÕ´Ï´Ù.
index_msgnodir1=squid Ä³½Ã µð·ºÅä¸®<tt>$1</tt>ÀÌ(°¡) ÃÊ±âÈ­µÇÁö ¾Ê¾Ò½À´Ï´Ù.
index_msgnodir2=squid Ä³½Ã µð·ºÅä¸®<tt>$1</tt>ÀÌ(°¡) ÃÊ±âÈ­µÇÁö ¾Ê¾Ò½À´Ï´Ù.
index_msgnodir3=ÃÊ±âÈ­¸¦ ¿Ï·áÇØ¾ß squid¸¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_buttinit=Ä³½Ã ÃÊ±âÈ­
index_asuser=À¯´Ð½º »ç¿ëÀÚ·Î¼­
index_portsnets=Æ÷Æ® ¹× ³×Æ®¿öÅ·
index_othercaches=´Ù¸¥ Ä³½Ã
index_musage=¸Þ¸ð¸® »ç¿ë·®
index_mdusage=¸Þ¸ð¸® ¹× µð½ºÅ© »ç¿ë·®
index_logging=·Î±×
index_copts=Ä³½Ã ¿É¼Ç
index_hprogs=µµ¿ì¹Ì ÇÁ·Î±×·¥
index_actrl=Á¢±Ù Á¦¾î
index_admopts=°ü¸® ¿É¼Ç
index_proxyauth=ÇÁ·Ï½Ã ÀÎÁõ
index_miscopt=±âÅ¸ ¿É¼Ç
index_cms=Ä³½Ã °ü¸®ÀÚ Åë°è
index_rebuild=Ä³½Ã ºñ¿ì±â ¹× ´Ù½Ã ÀÛ¼º
index_calamaris=Calamaris ·Î±× ºÐ¼®
index_return=ÀÎµ¦½º

buttsave=ÀúÀå
buttdel=»èÁ¦
buttcreat=ÀÛ¼º
yes=¿¹
no=¾Æ´Ï¿À
default=±âº»°ª
none=¾øÀ½
on=¼³Á¤
off=ÇØÁ¦

acl_header1=ACL ÀÛ¼º
acl_header2=ACL ÆíÁý
acl_name=ACL ÀÌ¸§
acl_fromip=¹ß½ÅÀÚ IP
acl_toip=¼ö½ÅÀÚ IP
acl_nmask=³Ý¸¶½ºÅ©
acl_ipaddr=IP ÁÖ¼Ò
acl_domains=µµ¸ÞÀÎ
acl_dofw=¿äÀÏ
acl_sel=¼±ÅÃÇÑ Ç×¸ñ..
acl_all=¸ðµÎ
acl_dsun=ÀÏ¿äÀÏ
acl_dmon=¿ù¿äÀÏ
acl_dtue=È­¿äÀÏ
acl_dwed=¼ö¿äÀÏ
acl_dthu=¸ñ¿äÀÏ
acl_dfri=±Ý¿äÀÏ
acl_dsat=Åä¿äÀÏ
acl_hofd=ÇÏ·ç Áß ½Ã°£
acl_to=´ë»ó
acl_regexp=Á¤±Ô½Ä
acl_tcpports=TCP Æ÷Æ®
acl_urlproto=URL ÇÁ·ÎÅäÄÝ
acl_reqmethods=¿äÃ» ¹æ¹ý
acl_bregexp=ºê¶ó¿ìÀú Á¤±Ô½Ä
acl_pusers=ÇÁ·Ï½Ã »ç¿ëÀÚ
acl_eusers=¿ÜºÎ ÀÎÁõ »ç¿ëÀÚ
acl_case=´ë¼Ò¹®ÀÚ¸¦ ¹«½ÃÇÕ´Ï±î?
acl_eusersre=¿ÜºÎ ÀÎÁõ »ç¿ëÀÚ Á¤±Ô½Ä
acl_asnum=AS ¹øÈ£
acl_rtime=»õ·Î °íÄ§ ½Ã°£
acl_rfcusers=RFC931 »ç¿ëÀÚ
acl_mcr=ÃÖ´ë µ¿½Ã ¿äÃ» ¼ö
acl_psp=ÇÁ·Ï½Ã ¼­¹ö Æ÷Æ®
acl_scs=SNMP Ä¿¹Â´ÏÆ¼ ¹®ÀÚ¿­
acl_rmt=MIME À¯Çü ¿äÃ»
acl_arp=Å¬¶óÀÌ¾ðÆ® ÀÌ´õ³Ý ÁÖ¼Ò
acl_failurl=Àß¸øµÈ URL
acl_buttsave=ÀúÀå
acl_buttdel=»èÁ¦
acl_return=ACL ¸ñ·Ï

aclsave_failsave=ACLÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
aclsave_faildel=ACLÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
aclsave_epr=ÇÁ·Ï½Ã Á¦ÇÑ¿¡¼­ ÀÌ ACLÀ» »ç¿ë ÁßÀÔ´Ï´Ù
aclsave_eicpr=ICP Á¦ÇÑ¿¡¼­ ÀÌ ACLÀ» »ç¿ë ÁßÀÔ´Ï´Ù
aclsave_ename=Àß¸øµÈ ACL ÀÌ¸§
aclsave_eexists='$1'(ÀÌ)¶ó´Â ACLÀÌ ÀÌ¹Ì ÀÖ½À´Ï´Ù
aclsave_efrom='$1'Àº(´Â) À¯È¿ÇÑ ¹ß½ÅÀÚ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
aclsave_eto='$1'Àº(´Â) À¯È¿ÇÑ ¼ö½ÅÀÚ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
aclsave_enmask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
aclsave_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
aclsave_ecdom=ÁöÁ¤µÈ Å¬¶óÀÌ¾ðÆ® µµ¸ÞÀÎÀÌ ¾ø½À´Ï´Ù
aclsave_esdom=ÁöÁ¤µÈ ¼­¹ö µµ¸ÞÀÎÀÌ ¾ø½À´Ï´Ù
aclsave_eshour=Àß¸øµÈ ½ÃÀÛ ½Ã°£(½Ã)
aclsave_eehour=Àß¸øµÈ Á¾·á ½Ã°£(½Ã)
aclsave_esmin=Àß¸øµÈ ½ÃÀÛ ½Ã°£(ºÐ)
aclsave_eemin=Àß¸øµÈ Á¾·á ½Ã°£(ºÐ)
aclsave_efile=ACL ÆÄÀÏ '$1'¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù

cach_err=¿À·ù
cach_nfound=½Ã½ºÅÛ¿¡ squid Ä³½Ã °ü¸®ÀÚ ÇÁ·Î±×·¥ <tt>$1</tt>ÀÌ(°¡) ¾ø½À´Ï´Ù. <a href=/config.cgi?$2 >¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
cach_return=squid ÀÎµ¦½º

chown_header=¼ÒÀ¯±Ç º¯°æ
chown_stop=squid ÁßÁö Áß...
chown_done=.. ¿Ï·á
chown_chown=¼ÒÀ¯±Ç º¯°æ Áß...
chown_restart=squid ´Ù½Ã ½ÃÀÛ Áß...
chown_failrestart=squid¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù..
chown_return=squid ÀÎµ¦½º

clear_header=Ä³½Ã ºñ¿ì°í ÀçÀÛ¼º
clear_msgclear=squid Ä³½Ã¸¦ ºñ¿ì°í ´Ù½Ã ÀÛ¼ºÇÏ½Ã°Ú½À´Ï±î? ±×·² °æ¿ì, Ä³½ÃµÈ <b>¸ðµç</b> ÆÄÀÏÀÌ »èÁ¦µÇ°í squid ¼­¹ö°¡ ´Ù½Ã ½ÃÀÛµË´Ï´Ù.
clear_msgclear2=ÀÌ Ä³½Ã¸¦ »ç¿ëÇÏ¿© Webmin ¼­¹ö¿Í Åë½ÅÇÏ°í ÀÖÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é Ä³½Ã°¡ Á¾·áµÇ¸é¼­ ¿¬°áÀÌ ²÷±é´Ï´Ù.
clear_buttclear=Ä³½Ã ºñ¿ì±â ¹× ÀçÀÛ¼º
clear_stop=squid ÁßÁö Áß...
clear_done=.. ¿Ï·á
clear_del=±âÁ¸ Ä³½Ã ÆÄÀÏ »èÁ¦ Áß..
clear_init=<tt>$1</tt> ¸í·ÉÀ¸·Î squid Ä³½Ã¸¦ ÃÊ±âÈ­ÇÏ´Â Áß..
clear_failrestart=squid¸¦ ´Ù½Ã ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù..
clear_return=squid ÀÎµ¦½º

eacl_header=Á¢±Ù Á¦¾î
eacl_acls=Á¢±Ù Á¦¾î ¸ñ·Ï
eacl_name=ÀÌ¸§
eacl_type=À¯Çü
eacl_match=ÀÏÄ¡ Áß..
eacl_noacls=Á¤ÀÇµÈ ACLÀÌ ¾ø½À´Ï´Ù
eacl_buttcreate=»õ ACL ÀÛ¼º
eacl_pr=ÇÁ·Ï½Ã Á¦ÇÑ
eacl_act=µ¿ÀÛ
eacl_acls1=ACL
eacl_move=ÀÌµ¿
eacl_nopr=Á¤ÀÇµÈ ÇÁ·Ï½Ã Á¦ÇÑÀÌ ¾ø½À´Ï´Ù
eacl_addpr=ÇÁ·Ï½Ã Á¦ÇÑ Ãß°¡
eacl_icpr=ICP Á¦ÇÑ
eacl_noicpr=Á¤ÀÇµÈ ICP Á¦ÇÑÀÌ ¾ø½À´Ï´Ù
eacl_addicpr=ICP Á¦ÇÑ Ãß°¡
eacl_return=squid ÀÎµ¦½º
eacl_allow=Çã¿ë
eacl_deny=°ÅºÎ

eadm_header=°ü¸® ¿É¼Ç
eadm_aao=°ü¸® ¹× ¾Ë¸² ¿É¼Ç
eadm_runasuu=À¯´Ð½º »ç¿ëÀÚ·Î¼­ ½ÇÇà
eadm_nochange=º¯°æ ¾ÈÇÔ
eadm_user=»ç¿ëÀÚ
eadm_group=±×·ì
eadm_runasug=À¯´Ð½º ±×·ìÀ¸·Î ½ÇÇà
eadm_par=ÇÁ·Ï½Ã ÀÎÁõ ¿µ¿ª
eadm_default=±âº»°ª
eadm_cmemail=Ä³½Ã °ü¸®ÀÚ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
eadm_vhost=Ç¥½ÃµÇ´Â È£½ºÆ® ÀÌ¸§
eadm_uniq=°íÀ¯ÀÇ È£½ºÆ® ÀÌ¸§
eadm_haliases=´Ù¸¥ Ä³½Ã DNS ÀÌ¸§
eadm_none=¾øÀ½
eadm_auto=ÀÚµ¿
eadm_annto=Ä³½Ã ¾Ë¸² ´ë»ó
eadm_annevery=¸ðµÎ¿¡°Ô Ä³½Ã ¾Ë¸²
eadm_never=¾øÀ½
eadm_uniqhn=°íÀ¯ÀÇ È£½ºÆ® ÀÌ¸§
eadm_cah=Ä³½Ã ¾Ë¸² È£½ºÆ®
eadm_cap=Ä³½Ã ¾Ë¸² Æ÷Æ®
eadm_caf=Ä³½Ã ¾Ë¸² ÆÄÀÏ
eadm_none=¾øÀ½
eadm_annp=¾Ë¸² ±â°£
eadm_buttsave=ÀúÀå
eadm_return=squid ÀÎµ¦½º

eauth_header=ÇÁ·Ï½Ã ÀÎÁõ
eauth_aopt=ÀÎÁõ ¿É¼Ç
eauth_puf=ÇÁ·Ï½Ã »ç¿ëÀÚ ÆÄÀÏ
eauth_none=¾øÀ½
eauth_nologin=µµ¸ÞÀÎ¿ë ·Î±×ÀÎÀÌ ÇÊ¿ä ¾ø½À´Ï´Ù
eauth_buttsave=ÀúÀå
eauth_msgaccess=ÇÁ·Ï½Ã ¼­¹ö¿¡´Â ¾Æ·¡ÀÇ ¸ñ·Ï¿¡ ³ª¿­µÈ »ç¿ëÀÚ¸¸ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ¸¦ Ãß°¡, »èÁ¦ ¶Ç´Â Á¦°ÅÇÑ ÈÄ ÇØ´ç º¯°æ ³»¿ëÀ» Àû¿ëÇÏ·Á¸é squid¸¦ Á¾·áÇß´Ù°¡ ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù.
eauth_nmsgaccess=ÇÁ·Ï½Ã ¼­¹ö¿¡´Â ÆÄÀÏ $1¿¡¼­ ¹ßÃéµÇ¾î ¾Æ·¡ÀÇ ¸ñ·Ï¿¡ ³ª¿­µÈ »ç¿ëÀÚ¸¸ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù.
eauth_pusers=ÇÁ·Ï½Ã »ç¿ëÀÚ
eauth_nopusers=ÇöÀç Á¤ÀÇµÈ ÇÁ·Ï½Ã »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù.
eauth_addpuser=»õ ÇÁ·Ï½Ã »ç¿ëÀÚ Ãß°¡
eauth_return=squid ÀÎµ¦½º

ec_header=Ä³½Ã ¿É¼Ç
ec_cro=Ä³½Ì ¹× ¿äÃ» ¿É¼Ç
ec_cdirs=Ä³½Ã µð·ºÅä¸®
ec_default=±âº»°ª
ec_listed=³ª¿­µÈ Ç×¸ñ..
ec_directory=µð·ºÅä¸®
ec_type=À¯Çü
ec_mos=°³Ã¼ Å©±â(KB)
ec_size=Å©±â(MB)
ec_1dirs=1Â÷ µð·ºÅä¸®
ec_2dirs=2Â÷ µð·ºÅä¸®
ec_u=UFS
ec_ua=ºñµ¿±â UFS
ec_diskd=DISKD
ec_1dirs1=1Â÷ µð·ºÅä¸®
ec_2dirs2=2Â÷ µð·ºÅä¸®
ec_aos=Æò±Õ °³Ã¼ Å©±â
ec_kb=KB
ec_mins=ºÐ
ec_secs=ÃÊ
ec_opb=¹öÅ¶ ´ç °³Ã¼ ¼ö
ec_ncuc=Æ÷ÇÔÇÏ´Â URL Ä³½Ã ¾ÈÇÔ
ec_ncum=ÀÏÄ¡ÇÏ´Â URL Ä³½Ã ¾ÈÇÔ
ec_ncua=ACL¿ë URL Ä³½Ã ¾ÈÇÔ
ec_mct=ÃÖ´ë Ä³½Ã ½Ã°£
ec_mrbs=ÃÖ´ë ¿äÃ» º»¹® Å©±â
ec_mrhs=ÃÖ´ë ¿äÃ» Çì´õ Å©±â
ec_mrbs1=ÃÖ´ë È¸½Å º»¹® Å©±â
ec_mrs=ÃÖ´ë ¿äÃ» Å©±â
ec_frct=½ÇÆÐÇÑ ¿äÃ» Ä³½Ã ½Ã°£
ec_dlct=DNS Á¶È¸ Ä³½Ã ½Ã°£
ec_fdct=½ÇÆÐ DNS Ä³½Ã ½Ã°£
ec_ct=¿¬°á ½Ã°£ ÃÊ°ú
ec_rt=ÀÐ±â ½Ã°£ ÃÊ°ú
ec_mcct=ÃÖ´ë Å¬¶óÀÌ¾ðÆ® ¿¬°á ½Ã°£
ec_mst=ÃÖ´ë Á¾·á ½Ã°£
ec_sst=»çÀÌÆ® ¼±ÅÃ ½Ã°£ ÃÊ°ú
ec_crt=Å¬¶óÀÌ¾ðÆ® ¿äÃ» ½Ã°£ ÃÊ°ú
ec_hcc=Àý¹ÝÀÌ ´ÝÈù Å¬¶óÀÌ¾ðÆ®ÀÔ´Ï±î?
ec_pt=¿µ±¸ ½Ã°£ ÃÊ°ú
ec_wr=WAIS ¸±·¹ÀÌ
ec_none=¾øÀ½
ec_host=È£½ºÆ®
ec_port=Æ÷Æ®
ec_wrh=WAIS ¸±·¹ÀÌ È£½ºÆ®
ec_wrp=WAIS ¸±·¹ÀÌ Æ÷Æ®
ec_buttsave=ÀúÀå
ec_return=squid ÀÎµ¦½º

ech_header=Ä³½Ã È£½ºÆ® ÀÛ¼º
ech_header1=Ä³½Ã È£½ºÆ® ÆíÁý
ech_cho=Ä³½Ã È£½ºÆ® ¿É¼Ç
ech_h=È£½ºÆ® ÀÌ¸§
ech_parent=»óÀ§
ech_sibling=µ¿±Þ
ech_multicast=¸ÖÆ¼Ä³½ºÆ®
ech_t=À¯Çü
ech_pp=ÇÁ·Ï½Ã Æ÷Æ®
ech_ip=ICP Æ÷Æ®
ech_po=ÇÁ·Ï½Ã Àü¿ëÀÔ´Ï±î?
ech_y=¿¹
ech_n=¾Æ´Ï¿À
ech_siq=ICP Äõ¸®¸¦ º¸³À´Ï±î?
ech_dc=±âº» Ä³½ÃÀÔ´Ï±î?
ech_rrc=¶ó¿îµå ·Îºó Ä³½ÃÀÔ´Ï±î?
ech_ittl=ICP TTL
ech_d=±âº»°ª
ech_cw=Ä³½Ã °¡ÁßÄ¡
ech_co=°¡Àå °¡±î¿î °Í¸¸ Àû¿ëÇÕ´Ï±î?
ech_nd=´ÙÀÌÁ¦½ºÆ®°¡ ¾ø½À´Ï±î?
ech_nne=NetDB ±³È¯ÀÌ ¾ø½À´Ï±î?
ech_nd1=Áö¿¬ÀÌ ¾ø½À´Ï±î?
ech_ltp=ÇÁ·Ï½Ã ·Î±×ÀÎ
ech_nl=·Î±×ÀÎ ¾øÀ½
ech_u=»ç¿ëÀÚ:
ech_p=Åë°ú:
ech_mr=¸ÖÆ¼Ä³½ºÆ® ÀÀ´äÀÚÀÔ´Ï±î?
ech_qhfd=È£½ºÆ®¿¡ ÀÖ´Â µµ¸ÞÀÎ Äõ¸®
ech_dqfd=µµ¸ÞÀÎ Äõ¸® ¾ÈÇÔ
ech_buttsave=ÀúÀå
ech_buttdel=»èÁ¦
ech_return=Ä³½Ã ¸ñ·Ï

eicp_header=´Ù¸¥ Ä³½Ã
eicp_opcs=´Ù¸¥ ÇÁ·Ï½Ã Ä³½Ã ¼­¹ö
eicp_nocd=Á¤ÀÇµÈ ´Ù¸¥ Ä³½Ã°¡ ¾ø½À´Ï´Ù
eicp_aac=´Ù¸¥ Ä³½Ã Ãß°¡
eicp_cso=Ä³½Ã ¼±ÅÃ ¿É¼Ç
eicp_fdfd=µµ¸ÞÀÎ¿¡¼­ Á÷Á¢ ¹ÝÀÔ
eicp_fdfi=IP¿¡¼­ Á÷Á¢ ¹ÝÀÔ
eicp_dif=¹æÈ­º® ³»ºÎ µµ¸ÞÀÎ
eicp_iif=¹æÈ­º® ³»ºÎ IP
eicp_dfuc=Æ÷ÇÔÇÏ´Â URL Á÷Á¢ ¹ÝÀÔ
eicp_d=±âº»°ª
eicp_bpfsp=´ÜÀÏ »óÀ§¿¡ ´ëÇÑ PingÀ» ¹«½ÃÇÕ´Ï±î?
eicp_y=¿¹
eicp_n=¾Æ´Ï¿À
eicp_secs=ÃÊ
eicp_ssip=PingÇÒ ¶§ ¼Ò½º¸¦ ÇÔ²² º¸³À´Ï±î?
eicp_crt=Ä³½Ã ÀÀ´ä ½Ã°£ ÃÊ°ú
eicp_iqt=ICP Äõ¸® ½Ã°£ ÃÊ°ú
eicp_mit=¸ÖÆ¼Ä³½ºÆ® ICP ½Ã°£ ÃÊ°ú
eicp_dpt=¹«ÀÀ´ä ÇÇ¾î(Dead peer) ½Ã°£ ÃÊ°ú
eicp_h=È£½ºÆ® ÀÌ¸§
eicp_t=À¯Çü
eicp_pp=ÇÁ·Ï½Ã Æ÷Æ®
eicp_ip=ICP Æ÷Æ®
eicp_return=squid ÀÎµ¦½º
eicp_always=Á÷Á¢ ¹ÝÀÔÇÒ ACL
eicp_noalways=Á¤ÀÇµÈ Á÷Á¢ ¹ÝÀÔ ACLÀÌ ¾ø½À´Ï´Ù
eicp_addalways=Á÷Á¢ ¹ÝÀÔÇÒ ACL Ãß°¡
eicp_never=°£Á¢ ¹ÝÀÔÇÒ ACL
eicp_nonever=Á¤ÀÇµÈ °£Á¢ ¹ÝÀÔ ACLÀÌ ¾ø½À´Ï´Ù
eicp_addnever=°£Á¢ ¹ÝÀÔÇÒ ACL Ãß°¡

elogs_header=·Î±×
elogs_lalo=·Î±× ¹× ·Î±× ÆÄÀÏ ¿É¼Ç
elogs_alf=Á¢±Ù ·Î±× ÆÄÀÏ
elogs_dlf=µð¹ö±× ·Î±× ÆÄÀÏ
elogs_slf=ÀúÀå ·Î±× ÆÄÀÏ
elogs_cmf=Ä³½Ã ¸ÞÅ¸µ¥ÀÌÅÍ ÆÄÀÏ
elogs_uhlf=HTTPD ·Î±× Çü½ÄÀ» »ç¿ëÇÕ´Ï±î?
elogs_lmh=MIME Çì´õ¸¦ ·Î±×ÇÕ´Ï±î?
elogs_ualf=»ç¿ëÀÚ ¿¡ÀÌÀüÆ® ·Î±× ÆÄÀÏ
elogs_pf=PID ÆÄÀÏ
elogs_prilfa=ACL¿¡ RFC931 ident°¡ ÀÖ´ÂÁö Á¶È¸
elogs_rit=RFC931 ident ½Ã°£ ÃÊ°ú
elogs_dril=RFC931 ident¸¦ Á¶È¸ÇÕ´Ï±î?
elogs_lfh=ÀüÃ¼ È£½ºÆ® ÀÌ¸§À» ·Î±×ÇÕ´Ï±î?
elogs_ln=³Ý¸¶½ºÅ© ·Î±×
elogs_do=µð¹ö±× ¿É¼Ç
elogs_mht=MIME Çì´õ Å×ÀÌºí
elogs_return=squid ÀÎµ¦½º

emem_dheader=¸Þ¸ð¸® ¹× µð½ºÅ© »ç¿ë·®
emem_header=¸Þ¸ð¸® »ç¿ë·®
emem_maduo=¸Þ¸ð¸® ¹× µð½ºÅ© »ç¿ë ¿É¼Ç
emem_mul=¸Þ¸ð¸® »ç¿ë Á¦ÇÑ
emem_dul=µð½ºÅ© »ç¿ë Á¦ÇÑ
emem_fcs=FQDN Ä³½Ã Å©±â
emem_mb=MB
emem_kb=KB
emem_mhwm=¸Þ¸ð¸® »óÇÑÄ¡
emem_mlwm=¸Þ¸ð¸® ÇÏÇÑÄ¡
emem_dhwm=µð½ºÅ© »óÇÑÄ¡
emem_dlwm=µð½ºÅ© ÇÏÇÑÄ¡
emem_mcos=ÃÖ´ë Ä³½Ã °³Ã¼ Å©±â
emem_iacs=IP ÁÖ¼Ò Ä³½Ã Å©±â
emem_e=ÀÔ·Â Ç×¸ñ
emem_ichwm=IP Ä³½Ã »óÇÑÄ¡
emem_iclwm=IP Ä³½Ã ÇÏÇÑÄ¡
emem_crp=µð½ºÅ© ±³Ã¼ Á¤Ã¥
emem_lru=ÃÖ±Ù »ç¿ë ºóµµ°¡ °¡Àå ³·À½
emem_gdsf=Greedy-dual Å©±â ºóµµ
emem_lfuda=»ç¿ë ºóµµ°¡ °¡Àå ³·Àº µ¿Àû
emem_hlru=»ç¿ë ºóµµ°¡ °¡Àå ³·Àº Èü
emem_return=squid ÀÎµ¦½º
emem_mrp=¸Þ¸ð¸® ±³Ã¼ Á¤Ã¥

emisc_header=±âÅ¸ ¿É¼Ç
emisc_mo=±âÅ¸ ¿É¼Ç
emisc_sdta=DNS Å×½ºÆ® ½ÃÀÛ ÁÖ¼Ò
emisc_slr=SIGUSR1 ·Î±× ÆÄÀÏ È¸Àü
emisc_dd=±âº» µµ¸ÞÀÎ
emisc_sp=SSL ÇÁ·Ï½Ã
emisc_nghp=ºñGET HTTP ÇÁ·Ï½Ã
emisc_emt=¿À·ù ¸Þ½ÃÁö ÅØ½ºÆ®
emisc_pcs=Å¬¶óÀÌ¾ðÆ® ´ÜÀ§ Åë°èÀÔ´Ï±î?
emisc_xffh=X-Forwarded-For header?
emisc_liq=ICP Äõ¸®¸¦ ·Î±×ÇÕ´Ï±î?
emisc_mdh=ÃÖ¼Ò Á÷Á¢ È©(hop) ¼ö
emisc_kmffu=³ªÁß¿¡ »ç¿ëÇÒ ¼ö ÀÖ°Ô ¸Þ¸ð¸®¸¦ º¸Á¸ÇÕ´Ï±î?
emisc_aomtk=º¸Á¸ÇÒ ¸Þ¸ð¸® ¾ç
emisc_u=Á¦ÇÑ ¾øÀ½
emisc_htpt=Åë°úÇÒ Çì´õ
emisc_ah=¸ðµç Çì´õ
emisc_oh=Çì´õ¸¸
emisc_ae=´ÙÀ½À» Á¦¿ÜÇÑ ¸ðµÎ
emisc_a=Anonymizer?
emisc_off=ÇØÁ¦
emisc_std=Ç¥ÁØ
emisc_par=ÆÄ¶ó³ëÀÌµå
emisc_fua=°ÅÁþ »ç¿ëÀÚ ¿¡ÀÌÀüÆ®
emisc_return=squid ÀÎµ¦½º
emisc_hauhh=HTTP Accel¿¡¼­ È£½ºÆ® Çì´õ¸¦ »ç¿ëÇÕ´Ï´Ù
emisc_hah=HTTP Accel È£½ºÆ®
emisc_hap=HTTP Accel Æ÷Æ®
emisc_hawp=ÇÁ·Ï½Ã°¡ ÀÖ´Â HTTP Accel

eports_header=Æ÷Æ® ¹× ³×Æ®¿öÅ·
eports_pano=Æ÷Æ® ¹× ³×Æ®¿öÅ· ¿É¼Ç
eports_paap=ÇÁ·Ï½Ã ÁÖ¼Ò ¹× Æ÷Æ®
eports_p=Æ÷Æ®
eports_hia=È£½ºÆ® ÀÌ¸§/IP ÁÖ¼Ò
eports_pp=ÇÁ·Ï½Ã Æ÷Æ®
eports_ip=ICP Æ÷Æ®
eports_ota=¹ß½Å TCP ÁÖ¼Ò
eports_ita=¼ö½Å TCP ÁÖ¼Ò
eports_a=ÀÓÀÇ
eports_oua=¹ß½Å UDP ÁÖ¼Ò
eports_iua=¼ö½Å UDP ÁÖ¼Ò
eports_mg=¸ÖÆ¼Ä³½ºÆ® ±×·ì
eports_trb=TCP ¼ö½Å ¹öÆÛ
eports_od=¿î¿µ Ã¼Á¦ ±âº»°ª
eports_return=squid ÀÎµ¦½º

eprogs_header=µµ¿ì¹Ì ÇÁ·Î±×·¥
eprogs_chpo=Ä³½Ã µµ¿ì¹Ì ÇÁ·Î±×·¥ ¿É¼Ç
eprogs_sfp=squid FTP ÇÁ·Î±×·¥
eprogs_fo=FTP ¿É¼Ç
eprogs_fcv=FTP ¿­ ³Êºñ
eprogs_c=¹®ÀÚ
eprogs_afl=ÀÍ¸í FTP ·Î±×ÀÎ
eprogs_sdp=squid DNS ÇÁ·Î±×·¥
eprogs_nodp=DNS ÇÁ·Î±×·¥ ¼ö
eprogs_adtr=¿äÃ»¿¡ µµ¸ÞÀÎ Ãß°¡
eprogs_dsa=DNS ¼­¹ö ÁÖ¼Ò
eprogs_fr=resolv.conf·ÎºÎÅÍ
eprogs_ccp=Ä³½Ã ºñ¿ì±â ÇÁ·Î±×·¥
eprogs_spp=squid Ping ÇÁ·Î±×·¥
eprogs_crp=»ç¿ëÀÚ Á¤ÀÇ ¸®µð·º¼Ç ÇÁ·Î±×·¥
eprogs_norp=¸®µð·º¼Ç ÇÁ·Î±×·¥ ¼ö
eprogs_cap=»ç¿ëÀÚ Á¤ÀÇ ÀÎÁõ ÇÁ·Î±×·¥
eprogs_noap=ÀÎÁõ ÇÁ·Î±×·¥ ¼ö
eprogs_return=squid ÀÎµ¦½º

euser_header=ÇÁ·Ï½Ã »ç¿ëÀÚ ÀÛ¼º
euser_header1=ÇÁ·Ï½Ã »ç¿ëÀÚ ÆíÁý
euser_pud=ÇÁ·Ï½Ã »ç¿ëÀÚ Á¤º¸
euser_u=»ç¿ëÀÚ ÀÌ¸§
euser_p=¾ÏÈ£
euser_u1=º¯°æ ¾ÈµÊ
euser_return=»ç¿ëÀÚ ¸ñ·Ï

ahttp_header=ÇÁ·Ï½Ã Á¦ÇÑ ÀÛ¼º
ahttp_header1=ÇÁ·Ï½Ã Á¦ÇÑ ÆíÁý
ahttp_pr=ÇÁ·Ï½Ã Á¦ÇÑ
ahttp_a=µ¿ÀÛ
ahttp_a1=Çã¿ë
ahttp_d=°ÅºÎ
ahttp_ma=ACL ÀÏÄ¡
ahttp_dma=ACL ÀÏÄ¡ ¾ÈÇÔ
ahttp_return=ACL ¸ñ·Ï

sahttp_ftspr=ÇÁ·Ï½Ã Á¦ÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

aicp_header=ICP Á¦ÇÑ ÀÛ¼º
aicp_header1=ICP Á¦ÇÑ ÆíÁý
aicp_ir=ICP Á¦ÇÑ
aicp_a=µ¿ÀÛ
aicp_a1=Çã¿ë
aicp_d=°ÅºÎ
aicp_ma=ACL ÀÏÄ¡
aicp_dma=ACL ÀÏÄ¡ ¾ÈÇÔ
aicp_return=ACL ¸ñ·Ï

saicp_ftsir=ICP Á¦ÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

icache_ftic=Ä³½Ã¸¦ ÃÊ±âÈ­ÇÏÁö ¸øÇß½À´Ï´Ù
icache_ymcautrsa=squid¸¦ ½ÇÇàÇÒ »ç¿ëÀÚ¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
icache_itscwtc=<tt>$1</tt> ¸í·ÉÀ¸·Î squid Ä³½Ã¸¦ ÃÊ±âÈ­ÇÏ´Â Áß  ..
icache_return=squid ÀÎµ¦½º
icache_title=Ä³½Ã ÃÊ±âÈ­

restart_ftrs=squid¸¦ Àç±¸¼ºÇÏÁö ¸øÇß½À´Ï´Ù

sadmin_ftsao=°ü¸® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sadmin_header=¼ÒÀ¯±Ç º¯°æ
sadmin_msg1=squid¸¦ ½ÇÇàÇÒ »ç¿ëÀÚ³ª ±×·ìÀÌ º¯°æµÇ¾ú½À´Ï´Ù. º¯°æ ³»¿ëÀ» ¿Ã¹Ù¸£°Ô Àû¿ëÇÏ·Á¸é ¸ðµç Ä³½Ã¿Í ·Î±× ÆÄÀÏÀÇ ¼ÒÀ¯±ÇÀ» ¾÷µ¥ÀÌÆ®ÇÏ°í squid¸¦ ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù.
sadmin_buttco=¼ÒÀ¯±Ç º¯°æ
sadmin_return=squid ÀÎµ¦½º
sadmin_inavea='$1'Àº(´Â) À¯È¿ÇÑ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
sadmin_inavh='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
sadmin_inavap='$1'Àº(´Â) À¯È¿ÇÑ ¾Ë¸² ±â°£ÀÌ ¾Æ´Õ´Ï´Ù
sadmin_inavp='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù

sauth_ftsao=ÀÎÁõ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sauth_iomuf=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÆÄÀÏ ÀÌ¸§
sauth_iomd=¾ø°Å³ª Àß¸øµÈ µµ¸ÞÀÎ
sauth_msg1=squid ¹öÀüÀÌ ÇÁ·Ï½Ã ÀÎÁõ¿¡ ¸Â°Ô ÄÄÆÄÀÏµÇÁö ¾Ê¾Ò½À´Ï´Ù

scache_ftsco=Ä³½Ã ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
scache_emsg0=Ä³½Ã µð·ºÅä¸®¸¦ ÇÏ³ª ÀÌ»ó ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù
scache_emsg1=Ä³½Ã µð·ºÅä¸® '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
scache_emsg2='$1'Àº(´Â) À¯È¿ÇÑ ¿äÃ» Å©±â°¡ ¾Æ´Õ´Ï´Ù
scache_emsg3='$1'Àº(´Â) À¯È¿ÇÑ ½ÇÆÐÇÑ ¿äÃ» Ä³½Ã ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
scache_emsg4='$1'Àº(´Â) À¯È¿ÇÑ DNS Ä³½Ã ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
scache_emsg5='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ ÃÊ°ú°¡ ¾Æ´Õ´Ï´Ù
scache_emsg6='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ÀÌ ¾Æ´Õ´Ï´Ù
scache_emsg7='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸® ¼ö°¡ ¾Æ´Õ´Ï´Ù
scache_emsg8=µð·ºÅä¸® ¼ö´Â 1°³ ÀÌ»óÀÌ¾î¾ß ÇÕ´Ï´Ù
scache_emsg9=µð·ºÅä¸® ¼ö´Â 256°³ ÀÌÇÏ¿©¾ß ÇÕ´Ï´Ù
scache_emsg10='$1'Àº(´Â) À¯È¿ÇÑ °³Ã¼ Å©±â°¡ ¾Æ´Õ´Ï´Ù
scache_emsg11='$1'Àº(´Â) À¯È¿ÇÑ °³Ã¼ ¼ö°¡ ¾Æ´Õ´Ï´Ù
scache_emsg12='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸® Å©±â°¡ ¾Æ´Õ´Ï´Ù
scache_emsg13='$1'Àº(´Â) À¯È¿ÇÑ È£½ºÆ®°¡ ¾Æ´Õ´Ï´Ù
scache_emsg14='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù

schost_ftsc=Ä³½Ã¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
schost_emsg1='$1'Àº(´Â) À¯È¿ÇÑ Ä³½Ã È£½ºÆ® ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
schost_emsg2='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Ï½Ã Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù
schost_emsg3='$1'Àº(´Â) À¯È¿ÇÑ ICP Æ÷Æ®°¡ ¾Æ´Õ´Ï´Ù
schost_emsg4='$1'Àº(´Â) À¯È¿ÇÑ TTLÀÌ ¾Æ´Õ´Ï´Ù
schost_emsg5='$1'Àº(´Â) À¯È¿ÇÑ °¡ÁßÄ¡°¡ ¾Æ´Õ´Ï´Ù

sicp_ftsco=Ä³½Ã ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sicp_emsg1='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ ÃÊ°ú°¡ ¾Æ´Õ´Ï´Ù

slogs_ftslo=·Î±× ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
slogs_emsg1='$1'Àº(´Â) Àý´ë ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
slogs_emsg2='$1'Àº(´Â) À¯È¿ÇÑ ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
slogs_emsg3=µð·ºÅä¸® '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
slogs_emsg4='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
slogs_emsg5='$1'Àº(´Â) À¯È¿ÇÑ µð¹ö±× ¿É¼Ç ¸ñ·ÏÀÌ ¾Æ´Õ´Ï´Ù

smem_ftsmo=¸Þ¸ð¸® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
smem_emsg1='$1'Àº(´Â) À¯È¿ÇÑ Ä³½Ã Å©±â°¡ ¾Æ´Õ´Ï´Ù
smem_emsg2='$1'Àº(´Â) À¯È¿ÇÑ »óÇÑ ¿öÅÍ¸¶Å©°¡ ¾Æ´Õ´Ï´Ù
smem_emsg3='$1'Àº(´Â) À¯È¿ÇÑ ÇÏÇÑ ¿öÅÍ¸¶Å©°¡ ¾Æ´Õ´Ï´Ù
smem_emsg4='$1'Àº(´Â) À¯È¿ÇÑ °³Ã¼ Å©±â°¡ ¾Æ´Õ´Ï´Ù

smisc_ftso=¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
smisc_emsg1='$1'Àº(´Â) À¯È¿ÇÑ È¸Àü ¼ö°¡ ¾Æ´Õ´Ï´Ù
smisc_emsg2='$1'Àº(´Â) À¯È¿ÇÑ µµ¸ÞÀÎÀÌ ¾Æ´Õ´Ï´Ù
smisc_emsg3='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Ï½Ã°¡ ¾Æ´Õ´Ï´Ù
smisc_emsg4='$1'Àº(´Â) À¯È¿ÇÑ È© ¼ö°¡ ¾Æ´Õ´Ï´Ù

sport_ftspo=Æ÷Æ® ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sport_emsg1='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ® ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
sport_emsg2='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
sport_emsg3='$1'Àº(´Â) À¯È¿ÇÑ ¹öÆÛ Å©±â°¡ ¾Æ´Õ´Ï´Ù

sprog_ftshpo=µµ¿ì¹Ì ÇÁ·Î±×·¥ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sprog_emsg1=¾ø´Â FTP ¿É¼Ç
sprog_emsg2='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Î±×·¥ÀÌ ¾Æ´Õ´Ï´Ù
sprog_emsg3='$1'Àº(´Â) ½ÇÇà °¡´ÉÇÑ ÇÁ·Î±×·¥ÀÌ ¾Æ´Õ´Ï´Ù
sprog_emsg4='$1'Àº(´Â) À¯È¿ÇÑ FTP ·Î±×ÀÎÀÌ ¾Æ´Õ´Ï´Ù
sprog_emsg5='$1'Àº(´Â) À¯È¿ÇÑ ÇÁ·Î±×·¥ ¼ö°¡ ¾Æ´Õ´Ï´Ù
sprog_emsg6='$1'Àº(´Â) À¯È¿ÇÑ ¿­ ³Êºñ°¡ ¾Æ´Õ´Ï´Ù
sprog_emsg7=ÀÔ·ÂµÈ DNS ¼­¹ö°¡ ¾ø½À´Ï´Ù
sprog_emsg8='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù

suser_ftsu=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
suser_emsg1=¾ø°Å³ª Àß¸øµÈ »ç¿ëÀÚ ÀÌ¸§

start_ftsq=squid¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
stop_ftsq=squid¸¦ ÁßÁöÇÏÁö ¸øÇß½À´Ï´Ù

calamaris_title=calamaris ·Î±× ºÐ¼®
calamaris_last=·Î±×ÀÇ ¸¶Áö¸· $1°³ Çà¸¸ ºÐ¼®ÇÏµµ·Ï Á¦ÇÑ Áß..
calamaris_eprog=calamaris ½ÇÇà ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ½Ã½ºÅÛ¿¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
calamaris_elogs=·Î±× µð·ºÅä¸® $1¿¡ <tt>access.log</tt> ÆÄÀÏÀÌ ¾ø½À´Ï´Ù. squid°¡ ¾ÆÁ÷ ½ÇÇàµÇÁö ¾Ê¾Ò°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
calamaris_gen=$1¿¡ »ý¼ºµÈ º¸°í¼­

lib_emsg1='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
lib_seconds=ÃÊ
lib_minutes=ºÐ
lib_hours=½Ã
lib_days=ÀÏ
lib_weeks=ÁÖ
lib_fortnights=2ÁÖ
lib_months=¿ù
lib_years=³â
lib_decades=10³â
lib_emsg2='$1'Àº(´Â) À¯È¿ÇÑ $2 ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
lib_kb=KB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1'Àº(´Â) À¯È¿ÇÑ $2 ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù
lib_aclca=Å¬¶óÀÌ¾ðÆ® ÁÖ¼Ò
lib_aclwsa=À¥ ¼­¹ö ÁÖ¼Ò
lib_aclch=Å¬¶óÀÌ¾ðÆ® È£½ºÆ® ÀÌ¸§
lib_aclwsh=À¥ ¼­¹ö È£½ºÆ® ÀÌ¸§
lib_acldat=³¯Â¥ ¹× ½Ã°£
lib_aclur=URL Á¤±Ô½Ä
lib_aclupr=URL °æ·Î Á¤±Ô½Ä
lib_aclup=URL Æ÷Æ®
lib_aclup1=URL ÇÁ·ÎÅäÄÝ
lib_aclrm=¿äÃ» ¹æ¹ý
lib_aclbr=ºê¶ó¿ìÀú Á¤±Ô½Ä
lib_aclpl=ÇÁ·Ï½Ã ·Î±×ÀÎ
lib_aclsan=¼Ò½º AS ¹øÈ£
lib_acldan=´ë»ó AS ¹øÈ£
lib_aclea=¿ÜºÎ ÀÎÁõ
lib_aclcr=Å¬¶óÀÌ¾ðÆ® Á¤±Ô½Ä
lib_aclwsr=À¥ ¼­¹ö Á¤±Ô½Ä
lib_aclru=RFC931 »ç¿ëÀÚ
lib_aclpia=ÇÁ·Ï½Ã IP ÁÖ¼Ò
lib_aclmc=ÃÖ´ë ¿¬°á ¼ö
lib_aclpp=ÇÁ·Ï½Ã Æ÷Æ®
lib_aclsc=SNMP Ä¿¹Â´ÏÆ¼
lib_aclrmt=MIME À¯Çü ¿äÃ»
lib_aclarp=ÀÌ´õ³Ý ÁÖ¼Ò
lib_aclear=¿ÜºÎ ÀÎÁõ Á¤±Ô½Ä
lib_buttac=º¯°æ ³»¿ë Àû¿ë
lib_buttss=squid ÁßÁö
lib_buttss1=squid ½ÃÀÛ

log_ports=Æ÷Æ® ¹× ³×Æ®¿öÅ© ¿É¼Ç º¯°æµÊ
log_icp=´Ù¸¥ Ä³½Ã ¿É¼Ç º¯°æµÊ
log_mem=¸Þ¸ð¸® »ç¿ë ¿É¼Ç º¯°æµÊ
log_logs=·Î±× ¿É¼Ç º¯°æµÊ
log_cache=Ä³½Ã ¿É¼Ç º¯°æµÊ
log_progs=µµ¿ì¹Ì ÇÁ·Î±×·¥ ¿É¼Ç º¯°æµÊ
log_admin=°ü¸® ¿É¼Ç º¯°æµÊ
log_misc=±âÅ¸ ¿É¼Ç º¯°æµÊ
log_clear=Ä³½Ã ºñ¿î ÈÄ ´Ù½Ã ÀÛ¼ºµÊ
log_acl_create=ACL $1 ÀÛ¼ºµÊ
log_acl_modify=ACL $1 ¼öÁ¤µÊ
log_acl_delete=ACL $1 »èÁ¦µÊ
log_http_create=ÇÁ·Ï½Ã Á¦ÇÑ ÀÛ¼ºµÊ
log_http_modify=ÇÁ·Ï½Ã Á¦ÇÑ ¼öÁ¤µÊ
log_http_delete=ÇÁ·Ï½Ã Á¦ÇÑ »èÁ¦µÊ
log_http_move=ÇÁ·Ï½Ã Á¦ÇÑ ÀÌµ¿µÊ
log_icp_create=ICP Á¦ÇÑ ÀÛ¼ºµÊ
log_icp_modify=ICP Á¦ÇÑ ¼öÁ¤µÊ
log_icp_delete=ICP Á¦ÇÑ »èÁ¦µÊ
log_icp_move=ICP Á¦ÇÑ ÀÌµ¿µÊ
log_stop=ÇÁ·Ï½Ã ¼­¹ö ÁßÁöµÊ
log_start=ÇÁ·Ï½Ã ¼­¹ö ½ÃÀÛµÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
log_host_create=Ä³½Ã È£½ºÆ® $1 ÀÛ¼ºµÊ
log_host_modify=Ä³½Ã È£½ºÆ® $1 ¼öÁ¤µÊ
log_host_delete=Ä³½Ã È£½ºÆ® $1 »èÁ¦µÊ
log_init=Ä³½Ã ÃÊ±âÈ­µÊ
log_user_create=ÇÁ·Ï½Ã »ç¿ëÀÚ $1 ÀÛ¼ºµÊ
log_user_delete=ÇÁ·Ï½Ã »ç¿ëÀÚ $1 »èÁ¦µÊ
log_user_modify=ÇÁ·Ï½Ã »ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_always_create=Á÷Á¢ ¹ÝÀÔ ACL ÀÛ¼ºµÊ
log_always_modify=Á÷Á¢ ¹ÝÀÔ ACL ¼öÁ¤µÊ
log_always_delete=Á÷Á¢ ¹ÝÀÔ ACL »èÁ¦µÊ
log_always_move=Á÷Á¢ ¹ÝÀÔ ACL ÀÌµ¿µÊ
log_never_create=°£Á¢ ¹ÝÀÔ ACL ÀÛ¼ºµÊ
log_never_modify=°£Á¢ ¹ÝÀÔ ACL ¼öÁ¤µÊ
log_never_delete=°£Á¢ ¹ÝÀÔ ACL »èÁ¦µÊ
log_never_move=°£Á¢ ¹ÝÀÔ ACL ÀÌµ¿µÊ

acl_root=ACL ÆÄÀÏÀÇ ·çÆ® µð·ºÅä¸®

always_create=Á÷Á¢ ¹ÝÀÔ ÀÛ¼º
always_edit=Á÷Á¢ ¹ÝÀÔ ÆíÁý
always_header=¿äÃ»°ú ÀÏÄ¡ÇÏ´Â ACL Á÷Á¢ ¹ÝÀÔ

never_create=°£Á¢ ¹ÝÀÔ ÀÛ¼º
never_edit=°£Á¢ ¹ÝÀÔ ÆíÁý
never_header=¿äÃ»°ú ÀÏÄ¡ÇÏ´Â ACL Ç×»ó °£Á¢ ¹ÝÀÔ ÇÕ´Ï´Ù.

  070701000498ff000081a40000000000000002000000013d1fe2d400005a6e000000200000000000000000000000000000001400000003reloc/squid/lang/pl   index_header=Serwer proxy Squid
index_msgnoconfig=Plik konfiguracyjny Squida <tt>$1</tt> nie istnieje. Je¶li Squid jest zainstalowany, dostosuj swoj± <a href=/config.cgi?$2 >konfiguracjê modu³u</a>, aby korzysta³a z&nbsp;prawid³owych ¶cie¿ek.
index_msgnoexe=Program Squida <tt>$1</tt> nie istnieje. Je¶li Squid jest zainstalowany, dostosuj swoj± <a href=/config.cgi?$2 >konfiguracjê modu³u</a>, aby korzysta³a z&nbsp;prawid³owej ¶cie¿ki.
index_msgnosupported=Webmin nie obs³uguje Twojej wersji Squida. Jedynie wersje <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2.3</tt> i&nbsp;<tt>2.4</tt> s± obs³ugiwane przez ten modu³.
index_msgnodir1=Twoje katalogi buforów Squida <tt>$1</tt> nie zosta³y zainicjalizowane. 
index_msgnodir2=Twój katalog buforów Squida <tt>$1</tt> nie zosta³ zainicjalizowany. 
index_msgnodir3=Dopiero jak to uczynisz, bêdzie mo¿na uruchomiæ Squida.
index_buttinit=Inicjalizuj bufory cache
index_asuser=jako u¿ytkownik Uniksa
index_portsnets=Porty i&nbsp;sieæ
index_othercaches=Inne proxy
index_musage=Wykorzystanie pamiêci
index_mdusage=Wykorzystanie pamiêci i&nbsp;dysku
index_logging=Logowanie
index_copts=Opcje buforowania
index_hprogs=Programy pomocnicze
index_actrl=Kontrola dostêpu
index_admopts=Opcje administracyjne
index_proxyauth=Autoryzacja proxy
index_miscopt=Opcje ró¿ne
index_cms=Statystyki zarz±dcy buforów cache
index_rebuild=Wyczy¶æ i&nbsp;przebuduj bufory cache
index_calamaris=Analizator logów Calamaris
index_return=indeksu
index_squidver=Polecenie <tt>$1</tt> zwróci³o&nbsp;:

buttsave=Zachowaj
buttdel=Usuñ
buttcreat=Utwórz
yes=Tak
no=Nie
default=Domy¶lne
none=Brak
on=W³±czone
off=Wy³±czone

acl_header1=Utwórz ACL
acl_header2=Zmieñ ACL
acl_name=Nazwa ACL
acl_fromip=Z&nbsp;IP
acl_toip=Do IP
acl_nmask=Maska sieci
acl_ipaddr=Adresy IP
acl_domains=Domeny
acl_dofw=Dni tygodnia
acl_sel=Wybrane..
acl_all=Wszystkie
acl_dsun=Niedziela
acl_dmon=Poniedzia³ek
acl_dtue=Wtorek
acl_dwed=¦roda
acl_dthu=Czwartek
acl_dfri=Pi±tek
acl_dsat=Sobota
acl_hofd=Godziny dnia
acl_to=do
acl_regexp=Wyra¿enia regularne
acl_tcpports=Porty TCP
acl_urlproto=Protoko³y URL-i
acl_reqmethods=Metody zapytañ
acl_bregexp=Wyra¿enie regularne dla przegl±darki
acl_pusers=U¿ytkownicy proxy
acl_eusers=Zewnêtrzni autoryzowani u¿ytkownicy
acl_case=Uto¿samiaæ wielkie i&nbsp;ma³e litery?
acl_eusersre=Wyra¿enie regularne dla zewnêtrznych autoryzowanych u¿ytkowników
acl_asnum=Numery AS
acl_rtime=Czas od¶wie¿ania
acl_rfcusers=U¿ytkownicy RFC931
acl_mcr=Maksymalna liczba konkurencyjnych zapytañ
acl_psp=Port serwera proxy
acl_scs=£añcuch wspólnoty SNMP
acl_rmt=Typ MIME ¿±dania
acl_arp=Edres ethernetowy klienta
acl_failurl=URL b³êdu
acl_buttsave=Zachowaj
acl_buttdel=Usuñ
acl_return=listy ACL

aclsave_failsave=Nie uda³o siê zachowaæ ACL
aclsave_faildel=Nie uda³o siê usun±æ ACL
aclsave_epr=Ta ACL jest u¿ywana przez ograniczenie proxy
aclsave_eicpr=Ta ACL jest u¿ywana przez ograniczenie ICP
aclsave_ename=Niepoprawna nazwa ACL
aclsave_eexists=ACL o&nbsp;nazwie '$1' ju¿ istnieje
aclsave_efrom='$1' nie jest poprawnym ¼ród³owym (<tt>From</tt>) adresem IP
aclsave_eto='$1' nie jest poprawnym docelowym (<tt>To</tt>) adresem IP
aclsave_enmask='$1' nie jest poprawn± mask± sieci
aclsave_eip='$1' nie jest poprawnym adresem IP
aclsave_ecdom=Nie podano domeny klientów
aclsave_esdom=Nie podano domeny serwera
aclsave_eshour=Niepoprawna godzina rozpoczêcia
aclsave_eehour=Niepoprawna godzina zakoñczenia
aclsave_esmin=Niepoprawna minuta rozpoczêcia
aclsave_eemin=Niepoprawna minuta zakoñczenia
aclsave_efile=Nie masz praw zapisu do pliku ACL '$1'

cach_ecannot=Nie masz praw dostêpu do statystyk zarz±dcy cache
cach_err=B³±d
cach_nfound=Nie znaleziono programu zarz±dcy buforów cache Squida <tt>$1</tt> w&nbsp;Twoim systemie. Byæ mo¿e Twoja <a href=/config.cgi?$2 >konfiguracja modu³u</a> jest nieprawid³owa.
cach_return=indeksu squida

chown_header=Zmieñ w³a¶ciciela
chown_stop=Zatrzymywanie Squida ...
chown_done=.. Zakoñczone
chown_chown=Zmiana w³a¶ciciela ...
chown_restart=Restart Squida ...
chown_failrestart=Nie uda³o sie zrestartowaæ Squida ..
chown_return=indeksu squida

clear_ecannot=Nie masz uprawnieñ do czyszczenia i&nbsp;przebudowywania cache
clear_header=Wyczy¶æ i przebuduj cache
clear_msgclear=Czy jeste¶ pewien, ¿e chcesz wyczy¶ciæ i&nbsp;przebudowaæ bufory cache Twojego Squida? Spowoduje to usuniêcie <b>wszystkich</b> plików, z&nbsp;buforów cache oraz restart serwera Squid.
clear_msgclear2=Powiniene¶ siê upewniæ, ¿e nie u¿ywasz tego proxy do komunikacji z&nbsp;serwerem Webmina lub zostaniesz roz³±czony w&nbsp;chwili wy³±czenia proxy.
clear_buttclear=Wyczy¶æ i&nbsp;przebuduj bufory cache
clear_stop=Zatrzymywanie Squida ...
clear_done=.. Zakoñczone
clear_del=Usuwanie starych plików z&nbsp;buforów ..
clear_init=Inicjalizacja buforów Squida poleceniem <tt>$1</tt> ..
clear_failrestart=Nie uda³o siê zrestartowaæ Squida ..
clear_return=indeksu squida

eacl_ecannot=Nie masz uprawnieñ do zmainy kontroli dostêpu
eacl_header=Kontrola dostêpu
eacl_acls=Listy kontroli dostêpu (ACL)
eacl_name=Nazwa
eacl_type=Typ
eacl_match=Wzorzec..
eacl_noacls=Nie zdefiniowano ACL
eacl_buttcreate=Utwórz now± ACL
eacl_pr=Ograniczenia proxy
eacl_act=Dzia³anie
eacl_acls1=ACL
eacl_move=Przesuñ
eacl_nopr=Nie zdefiniowano ograniczeñ proxy
eacl_addpr=Dodaj ograniczenie proxy
eacl_icpr=Ograniczenia ICP
eacl_noicpr=Nie zdefiniowano ograniczeñ ICP
eacl_addicpr=Dodaj ograniczenie ICP
eacl_return=indeksu squida
eacl_allow=pozwól
eacl_deny=zabroñ

eadm_ecannot=Nie masz uprawnieñ do zmiany opcji administracyjnych
eadm_header=Opcje administracyjne
eadm_aao=Opcje administracyjne i&nbsp;rozg³oszeniowe
eadm_runasuu=Uruchom jako u¿ytkownik Uniksa
eadm_nochange=Bez zmian
eadm_user=U¿ytkownik
eadm_group=Grupa
eadm_runasug=Uruchom jako grupa Uniksa
eadm_par=Dziedzina autoryzacji proxy
eadm_default=Domy¶lne
eadm_cmemail=Adres e-mail zarz±dcy proxy       
eadm_vhost=Widoczna nazwa hosta
eadm_uniq=Unikalna nazwa hosta
eadm_haliases=Inne zbuforowane nazwy DNS
eadm_none=Brak
eadm_auto=Automatycznie
eadm_annto=Rozg³aszaj proxy do
eadm_annevery=Rozg³aszaj proxy co
eadm_never=Nigdy
eadm_uniqhn=Unikalna nazwa komputera
eadm_cah=Host rozg³aszania cache
eadm_cap=Port rozg³aszania cache
eadm_caf=Plik rozg³aszania cache
eadm_annp=Czêstotliwo¶æ rozg³aszania
eadm_buttsave=Zachowaj
eadm_return=indeksu squida

eauth_ecannot=Nie masz uprawnieñ do zmiany autoryzacji proxy
eauth_header=Autoryzacja proxy
eauth_aopt=Opcje autoryzacji
eauth_puf=Plik u¿ytkowników proxy
eauth_none=Brak
eauth_nologin=Nie wymagane logowanie dla domeny
eauth_buttsave=Zachowaj
eauth_msgaccess=Dostêp do Twojego serwera proxy jest ograniczony do poni¿ej wymienionych u¿ytkowników. Po dodaniu, usuniêciu lub skasowaniu uzytkownika trzeba zatrzymaæ i&nbsp;ponownie uruchomiæ Squida, aby zmiany zosta³y zastosowane.
eauth_nmsgaccess=Dostêp do Twojego serwera proxy jest ograniczony do poni¿ej wymienionych u¿ytkowników, pobranych z&nbsp;pliku $1.
eauth_pusers=U¿ytkownicy proxy
eauth_nopusers=Nie jest obecnie zdefiniowany ¿aden u¿ytkownik proxy.
eauth_addpuser=Dodaj nowy serwer proxy
eauth_return=indeksu squida

ec_ecannot=Nie masz uprawnieñ do zmiany opcji buforowania
ec_header=Opcje buforowania
ec_cro=Opcje buforowania i&nbsp;zapytañ
ec_cdirs=Katalogi buforów
ec_default=Domy¶lne
ec_listed=Wymienione..
ec_directory=Katalog
ec_type=Typ
ec_opts=Opcje
ec_size=Rozmiar (MB)
ec_1dirs=Kat. 1. poziomu
ec_2dirs=Kat. 2. poziomu
ec_u=UFS
ec_ua=UFS asynchr.
ec_diskd=DISKD
ec_1dirs1=Katalogi pierwszego poziomu
ec_2dirs2=Katalogi drugiego poziomu
ec_aos=¦redni rozmiar obiektu
ec_kb=kB
ec_mins=min.
ec_secs=sek.
ec_opb=Obiektów w&nbsp;porcji
ec_ncuc=Nie buforuj URL-i zawieraj±cych
ec_ncum=Nie buforuj URL-i wg wzorca
ec_ncua=Nie buforuj URL-i dla ACL
ec_mct=Maksymalny czas buforowania
ec_mrbs=Maksymalny rozmiar tre¶ci zapytania
ec_mrhs=Maksymalny rozmiar nag³ówków zapytania
ec_mrbs1=Maksymalny rozmiar tre¶ci odpowiedzi
ec_mrs=Maksymalny rozmiar zapytania
ec_frct=Czas buforowania b³êdnych zapytañ
ec_dlct=Czas buforowania przeszukiwañ DNS
ec_fdct=Czas buforowania b³êdow DNS
ec_ct=Czas przeterminowania po³±czenia
ec_rt=Czas przeterminowania odczytu
ec_mcct=Maks. czas po³±czenia z&nbsp;klientem
ec_mst=Maks. czas wy³±czania
ec_sst=Czas przeterminowania wyboru miejsca
ec_crt=Czas przeterminowania zapytania klienta
ec_hcc=Klienci pó³zamkniêci?
ec_pt=Sta³y czas przeterminowania
ec_wr=Przekazywanie WAIS
ec_none=Brak
ec_host=Host
ec_port=Port
ec_wrh=Host przekazywania WAIS
ec_wrp=Port przekazywania WAIS
ec_buttsave=Zachowaj
ec_return=indeksu squida

ech_header=Nowy host proxy
ech_header1=Zmieñ host proxy
ech_cho=Opcje hosta proxy
ech_h=Nazwa hosta
ech_parent=macierzysty
ech_sibling=równoprawny
ech_multicast=multicast
ech_t=Typ
ech_pp=Port proxy
ech_ip=Port ICP
ech_po=Tylko proxy?
ech_y=Tak
ech_n=Nie
ech_siq=Wysy³aæ zapytania ICP?
ech_dc=Jest domy¶lnym proxy?
ech_rrc=Proxy cykliczny?
ech_ittl=Czas ¿ycia ICP
ech_d=Domy¶lne
ech_cw=Ró¿nicowanie proxy
ech_co=Tylko najbli¿szy?
ech_nd=Bez streszczenia?
ech_nne=Bez wymiany NetDB?
ech_nd1=Bez opó¼nienia?
ech_ltp=Logowanie do proxy
ech_nl=Bez logowania
ech_u=U¿ytkownik:
ech_p=Has³o:
ech_mr=Odpowiadanie na multicasty?
ech_qhfd=Odpytaæ ten host dla domen
ech_dqfd=Nie pytaæ dla domen
ech_buttsave=Zachowaj
ech_buttdel=Usuñ
ech_return=listy proxy

eicp_ecannot=Nie masz uprawnieñ do zmiany innych proxy
eicp_header=Inne proxy
eicp_opcs=Inne buforuj±ce serwery proxy
eicp_nocd=Nie zdefiniowano innych proxy
eicp_aac=Dodaj nowy proxy
eicp_cso=Opcje wyboru proxy
eicp_fdfd=Sprowadzaæ bezpo¶rednio z&nbsp;domen
eicp_fdfi=Sprowadzaæ bezpo¶rednio z&nbsp;IP
eicp_dif=Domeny za firewallem
eicp_iif=IP za firewallem
eicp_dfuc=Sprowadzaæ bezpo¶rednio URL-e zawieraj±ce
eicp_d=Domy¶lne
eicp_bpfsp=Pomijaæ pinga dla pojedyñczego macierzystego?
eicp_y=Tak
eicp_n=Nie
eicp_secs=sek.
eicp_ssip=Wyzy³aæ ¼ród³o w&nbsp;pingu?
eicp_crt=Czas przeterminowania odpowiedzi proxy
eicp_iqt=Czas przeterminowania zapytania ICP
eicp_mit=Czas przeterminowania multicastu ICP
eicp_dpt=Czas uznania partnera za nieczynnego
eicp_h=Nazwa hosta
eicp_t=Typ
eicp_pp=Port proxy
eicp_ip=Port ICP
eicp_return=indeksu squida
eicp_always=ACL-e dla sprowadzania bezpo¶redniego
eicp_noalways=Brak ACL-i dla sprowadzania bezpo¶redniego
eicp_addalways=Dodaj ACL-e dla sprowadzania bezpo¶redniego
eicp_never=ACL-e dla niesprowadzania bezpo¶redniego
eicp_nonever=Brak ACL-i dla niesprowadzania bezpo¶redniego
eicp_addnever=Dodaj ACL-e dla niesprowadzania bezpo¶redniego

elogs_ecannot=Nie masz uprawnieñ do zmiany logowania
elogs_header=Logowanie
elogs_lalo=Logowanie i&nbsp;opcje logów
elogs_alf=Log dostêpu
elogs_dlf=Log pracy proxy
elogs_slf=Log buforów
elogs_cmf=Plik metadanych dla buforów
elogs_uhlf=U¿ywaæ formatu logów HTTPD?
elogs_lmh=Logowaæ nag³ówki MIME?
elogs_ualf=Log programów u¿ytkownika
elogs_pf=Plik z&nbsp;numerem PID
elogs_prilfa=Wykonywaæ identyfikacjê RFC931 dla ACL
elogs_rit=Czas przeterminowania identyfikacji wg RFC931
elogs_dril=Wykonywaæ identyfikacjê wg RFC931?
elogs_lfh=Logowaæ pe³ne nazwy hostów?
elogs_ln=Maska logowania
elogs_do=Opcje ¶ledzenia
elogs_mht=Tablica nag³ówków MIME
elogs_return=indeksu squida

emem_ecannot=Nie masz uprawnieñ do zmiany wykorzystania pamiêci
emem_dheader=Wykorzystanie pamiêci i dysku
emem_header=Wykorzystanie pamiêci
emem_maduo=Opcje wykorzystania pamiêci i&nbsp;dysku
emem_mul=Limit wykorzystania pamiêci
emem_dul=Limit wykorzystania dysku
emem_fcs=Rozmiar bufora nazw hostów (FQDN)
emem_mb=MB
emem_kb=kB
emem_mhwm=Górny próg dla pamiêci
emem_mlwm=Dolny próg dla pamiêci
emem_dhwm=Górny próg dla dysku
emem_dlwm=Dolny próg dla dysku
emem_mcos=Maksymalny rozmiar buforowanego obiektu
emem_iacs=Rozmiar bufora adresów IP
emem_e=wpisów
emem_ichwm=Górny próg dla bufora IP
emem_iclwm=Dolny próg dla bufora IP
emem_crp=Taktyka zastêpowania dysku
emem_lru=Najdawniej u¿ywane
emem_gdsf=Czêstotliwo¶æ podwajania rozmiaru
emem_lfuda=Dynamika najrzadziej u¿ywanych
emem_hlru=Gromadziæ najrzadziej u¿ywanych
emem_return=indeksu squida
emem_mrp=Taktyka zastêpowania pamiêci

emisc_ecannot=Nie masz uprawnieñ do zmiany opcji ró¿nych
emisc_header=Opcje ró¿ne
emisc_mo=Opcje ró¿ne
emisc_sdta=Pocz±tkowe kontrolne adresy DNS
emisc_slr=Rotacja logu po SIGUSR1
emisc_dd=Domy¶lna domena
emisc_sp=Proxy dla SSL
emisc_nghp=Buforowaæ zapytania HTTP nie-GET
emisc_emt=Tekst w&nbsp;komunikatach b³êdów
emisc_pcs=Statystyka wg klientów?
emisc_xffh=Nag³ówek X-Forwarded-For?
emisc_liq=Logowaæ zapytania ICP?
emisc_mdh=Minimalna liczba bezpo¶rednich skoków
emisc_kmffu=Zachowaæ pamiêæ na przysz³o¶æ?
emisc_aomtk=Zachowywana ilo¶æ pamiêci
emisc_u=Nieograniczona
emisc_htpt=Przepuszczanie nag³ówków
emisc_ah=Wszystkie nag³ówki
emisc_oh=Tylko nag³ówki
emisc_ae=Wszystkie oprócz
emisc_a=Ukrywanie to¿samo¶ci?
emisc_off=Wy³±czone
emisc_std=Standardowe
emisc_par=Dok³adne
emisc_fua=Fa³szywy program u¿ytkownika
emisc_return=indeksu squida
emisc_hauhh=Akceleracja HTTP korzysta z&nbsp;nag³ówka Host
emisc_hah=Host akceleracji HTTP
emisc_hap=Port akceleracji HTTP
emisc_hawp=Akceleracja HTTP i&nbsp;proxy

eports_ecannot=Nie masz uprawnieñ do zmiany portów i&nbsp;sieci
eports_header=Porty i sieæ
eports_pano=Opcje portów i&nbsp;sieci
eports_paap=Adresy i&nbsp;porty proxy
eports_p=Port
eports_hia=Nazwa hosta/Adres IP
eports_pp=Port proxy
eports_ip=Port ICP
eports_ota=Wychodz±cy adres TCP
eports_ita=Przychodz±cy adres TCP
eports_a=Dowolny
eports_oua=Wychodz±cy adres UDP
eports_iua=Przychodz±cy adres UDP
eports_mg=Grupa multicastowa
eports_trb=Bufor odbiorczy TCP
eports_od=Domy¶lny OS
eports_return=indeksu squida

eprogs_ecannot=Nie masz uprawnieñ do zmiany programów pomocniczych
eprogs_header=Programy pomocnicze
eprogs_chpo=Opcje programu obs³ugi cache
eprogs_sfp=Program FTP Squida
eprogs_fo=Opcje FTP
eprogs_fcv=Szeroko¶æ kolumny FTP
eprogs_c=znaków
eprogs_afl=Anonimowy login FTP
eprogs_sdp=Program DNS Squida
eprogs_nodp=Liczba programów DNS
eprogs_adtr=Dodawaæ domenê do zapytañ
eprogs_dsa=Adresy serwerów DNS
eprogs_fr=Z&nbsp;resolv.conf
eprogs_ccp=Program opró¿niaj±cy bufory cache
eprogs_spp=Program ping Squida
eprogs_crp=Wybrany program przekierowuj±cy
eprogs_norp=Liczba programów przekierowuj±cych
eprogs_cap=Wybrany program autoryzuj±cy
eprogs_noap=Liczba programów autoryzuj±cych
eprogs_return=indeksu squida

euser_header=Utwórz u¿ytkownika proxy
euser_header1=Zmieñ u¿ytkownika proxy
euser_pud=Dane u¿ytkownika proxy
euser_u=Nazwa u¿ytkownika
euser_p=Has³o
euser_u1=Nie zmienione
euser_return=listy u¿ytkowników

ahttp_header=Utwórz ograniczenie proxy
ahttp_header1=Zmieñ ograniczenie proxy
ahttp_pr=Ograniczenie proxy
ahttp_a=Dzia³anie
ahttp_a1=Pozwól
ahttp_d=Zabroñ
ahttp_ma=Dopasuj do ACL
ahttp_dma=Nie dopasowuj do ACL
ahttp_return=listy ACL

sahttp_ftspr=Nie uda³o siê zachowaæ ograniczenia proxy

aicp_header=Utwórz ograniczenie ICP
aicp_header1=Zmieñ ograniczenie ICP
aicp_ir=Ograniczenie ICP
aicp_a=Dzia³anie
aicp_a1=Pozwól
aicp_d=Zabroñ
aicp_ma=Dopasuj do ACL
aicp_dma=Nie dopasowuj do ACL
aicp_return=listy ACL

saicp_ftsir=Nie uda³o siê zachowaæ ograniczenia ICP

icache_ecannot=Nie masz uprawnieñ do inicjalizacji buforów cache
icache_ftic=Nie uda³o siê zainicjalizowaæ buforów cache
icache_ymcautrsa=Musisz wybraæ u¿ytkownika, z&nbsp;uprawnieniami który Squid bêdzie dzia³aæ
icache_itscwtc=Inicjalizacja buforów cache Squida poleceniem <tt>$1</tt> ..
icache_return=indeksu squida
icache_title=Zanicjalizuj bufory cache

restart_ftrs=Nie uda³o siê przekonfigurowaæ Squida

sadmin_ftsao=Nie uda³o siê zachowaæ opcji administracyjnych
sadmin_header=Zmieñ w³a¶ciciela
sadmin_msg1=Zmieni³e¶ u¿ytkownika lub grupê, z&nbsp;uprawnieniami której Squid dzia³a. Aby zmiana odnios³a skutek, musz± zostaæ zmienione prawa do logów oraz wykonany restart Squida.
sadmin_buttco=Zmieñ w³a¶ciciela
sadmin_return=indeksu squida
sadmin_inavea='$1' nie jest poprawnym adresem e-mail
sadmin_inavh='$1' nie jest poprawn± nazw± hosta
sadmin_inavap='$1' nie jest poprawnym okresem rozg³oszenia
sadmin_inavp='$1' nie jest poprawnym portem

sauth_ftsao=Nie uda³o sie zachowac opcji autoryzacji
sauth_iomuf=Niepoprawny lub brakuj±cy plik u¿ytkowników
sauth_iomd=Niepoprawna lub brakuj±ca domena
sauth_msg1=Twoja wersja Squida zosta³a skompilowana bez obs³ugi autoryzacji proxy

scache_ftsco=Nie uda³o sie zachowaæ opcji buforowania
scache_emsg0=Musisz podaæ co najmniej jeden katalog buforów cache
scache_emsg1=Katalog buforów '$1' nie istnieje
scache_emsg2='$1' nie jest poprawnym rozmiarem zapytania
scache_emsg3='$1' nie jest poprawnym czasem buforowania b³êdnych zapytañ
scache_emsg4='$1' nie jest poprawnym czasem buforowania DNS
scache_emsg5='$1' nie jest poprawnym czasem przeterminowania
scache_emsg6='$1' nie jest poprawnym czasem
scache_emsg7='$1' nie jest poprawn± liczb± katalogów
scache_emsg8=Liczba katalogów musi byæ >=&nbsp;1
scache_emsg9=Liczba katalogów musi byæ <= 256
scache_emsg10='$1' nie jest poprawnym rozmiarem obiektu
scache_emsg11='$1' nie jest poprawn± liczb± obiektów
scache_emsg12='$1' nie jest poprawnym rozmiarem katalogu
scache_emsg13='$1' nie jest poprawnym hostem
scache_emsg14='$1' nie jest poprawnym portem

schost_ftsc=Nie uda³o sie zachowaæ proxy
schost_emsg1='$1' nie jest poprawn± nazw± hosta proxy
schost_emsg2='$1' nie jest poprawnym portem proxy
schost_emsg3='$1' nie jest poprawnym portem ICP
schost_emsg4='$1' nie jest poprawnym czasem ¿ycia
schost_emsg5='$1' nie jest poprawn± wag±

sicp_ftsco=Nie uda³o sie zachowaæ opcji buforów cache
sicp_emsg1='$1' nie jest poprawnym czasem przeterminowania

slogs_ftslo=Nie uda³o sie zachowaæ opcji logowania
slogs_emsg1='$1' nie jest poprawn± bezwzglêdn± nazw± pliku
slogs_emsg2='$1' nie jest poprawn± nazw± pliku
slogs_emsg3=Katalog '$1' nie istnieje
slogs_emsg4='$1' nie jest poprawn± mask± sieci
slogs_emsg5='$1' nie jest poprawn± list± opcji ¶ledzenia

smem_ftsmo=Nie uda³o sie zachowaæ opcji pamiêci
smem_emsg1='$1' nie jest poprawnym rozmiarem buforów
smem_emsg2='$1' nie jest poprawnym górnym progiem
smem_emsg3='$1' nie jest poprawnym dolnym progiem
smem_emsg4='$1' nie jest poprawnym rozmiarem obiektu

smisc_ftso=Nie uda³o sie zachowaæ opcji
smisc_emsg1='$1' nie jest poprawn± liczb± rotacji
smisc_emsg2='$1' nie jest poprawn± domen±
smisc_emsg3='$1' nie jest poprawnym proxy
smisc_emsg4='$1' nie jest poprawn± liczb± przeskoków

sport_ftspo=Nie uda³o sie zachowaæ opcji portu
sport_emsg1='$1' nie jest poprawnym numerem portu
sport_emsg2='$1' nie jest poprawnym adresem
sport_emsg3='$1' nie jest poprawnym rozmiarem buforu

sprog_ftshpo=Nie uda³o siê zachowaæ opcji programów pomocniczych
sprog_emsg1=Brak opcji FTP
sprog_emsg2='$1' nie jest poprawnym programem
sprog_emsg3='$1' nie jest programem
sprog_emsg4='$1' nie jest poprawn± nazw± logowania FTP
sprog_emsg5='$1' nie jest poprawn± liczb± programów
sprog_emsg6='$1' nie jest poprawn± liczb± kolumn
sprog_emsg7=Nie podano serwerów DNS
sprog_emsg8='$1' nie jest poprawnym adresem IP

suser_ftsu=Nie uda³o sie zachowaæ u¿ytkownika
suser_emsg1=Niepoprawna lub brakuj±ca nazwa u¿ytkownika
suser_etaken=Ta nazwa u¿ytkownika ju¿ jest u¿ywana

start_ftsq=Nie uda³o siê uruchomiæ Squida
start_ecannot=Nie masz uprawnieñ do uruchamiania Squida
stop_ftsq=Nie uda³o siê zatrzymaæ Squida
stop_ecannot=Nie masz uprawnieñ do zatrzymywania Squida

calamaris_ecannot=Nie masz prawa dostêpu do analizy logów przez Calamarisa
calamaris_title=Analizator logów Calamaris
calamaris_last=Ogranieczenie analizy do ostatnich $1 linii logów ..
calamaris_eprog=Nie znaleziono programu Calamaris $1. Byæ mo¿e nie zosta³ on zainstalowany lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
calamaris_elogs=Katalog logów $1 nie zawiera plików <tt>access.log</tt>. Byæ mo¿e nie uruchamiano jeszcze Squida lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
calamaris_gen=Raport wygenerowany $1

lib_emsg1='$1' nie jest poprawnym adresem IP
lib_seconds=sekund
lib_minutes=minut
lib_hours=godzin
lib_days=dni
lib_weeks=tygodni
lib_fortnights=dwutygodni
lib_months=miesiêcy
lib_years=lat
lib_decades=dekad
lib_emsg2='$1' nie jest poprawn± liczb± $2
lib_kb=kB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1' nie jest poprawn± liczb± $2
lib_aclca=Adres klienta
lib_aclwsa=Adres serwera WWW
lib_aclch=Nazwa hosta klienta
lib_aclwsh=Nazwa hosta serwera WWW
lib_acldat=Data i&nbsp;czas
lib_aclur=Wyra¿enie regularne dla URL-a
lib_aclupr=Wyra¿enie regularne dla ¶cie¿ki URL-a
lib_aclup=Port URL-a
lib_aclup1=Protokó³ URL-a
lib_aclrm=Metoda zapytañ
lib_aclbr=Wyra¿enie regularne dla przegl±darki
lib_aclpl=Login proxy
lib_aclsan=¬ród³owy numer AS
lib_acldan=Docelowy numer AS
lib_aclea=Zewnêtrzna autoryzacja
lib_aclcr=Wyra¿enie regularne dla klienta
lib_aclwsr=Wyra¿enie regularne dla serwera WWW
lib_aclru=U¿ytkownik RFC931
lib_aclpia=Adres IP proxy
lib_aclmc=Maksymalna liczba po³±czeñ
lib_aclpp=Port proxy
lib_aclsc=Wspólnota SNMP
lib_aclrmt=Typ MIME ¿±dania
lib_aclarp=Adres ethernetowy
lib_aclear=Wyr. regularne dla zewnêtrznej autoryzacji
lib_buttac=Zastosuj zmiany
lib_buttss=Zatrzymaj Squida
lib_buttss1=Uruchom Squida

log_ports=Zmieniono opcje portów i&nbsp sieci
log_icp=Zmieniono opcje innych proxy
log_mem=Zmieniono opcje zu¿ycia pamiêci
log_logs=Zmieniono opcje logowania
log_cache=Zmieniono pcje buforowania
log_progs=Zmieniono opcje programów pomocniczych
log_admin=Zmieniono opcje administracyjne
log_misc=Zmieniono opcje ró¿ne
log_clear=Opró¿niono i&nbsp;przebudowano bufory cache
log_acl_create=Utworzono ACL $1
log_acl_modify=Zmieniono ACL $1
log_acl_delete=Usuniêto ACL $1
log_http_create=Utworzono ograniczenie proxy
log_http_modify=Zmieniono ograniczenie proxy
log_http_delete=Usuniêto ograniczenie proxy
log_http_move=Przesuniêto ograniczenie proxy
log_icp_create=Utworzono ograniczenie ICP
log_icp_modify=Zmieniono ograniczenie ICP
log_icp_delete=Usuniêto ograniczenie ICP
log_icp_move=Przeniesiono ograniczenie ICP
log_stop=Zatrzymano serwer proxy
log_start=Uruchomiono serwer proxy
log_apply=Zastosowano zmiany
log_host_create=Utworzono host proxy $1
log_host_modify=Zmieniono host proxy $1
log_host_delete=Usuniêto host proxy $1
log_init=Inicjalizowano bufory cache
log_user_create=Utworzono u¿ytkownika proxy $1
log_user_delete=Usuniêto u¿ytkownika proxy $1
log_user_modify=Zmieniono u¿ytkownika proxy $1
log_always_create=Utworzono ACL-e bezpo¶redniego pobierania
log_always_modify=Zmieniono ACL-e bezpo¶redniego pobierania
log_always_delete=Usuniêto ACL-e bezpo¶redniego pobierania
log_always_move=Przeniesiono ACL-e bezpo¶redniego pobierania
log_never_create=Utworzono ACL-e niebezpo¶redniego pobierania
log_never_modify=Zmieniono ACL-e niebezpo¶redniego pobierania
log_never_delete=Usuniêto ACL-e niebezpo¶redniego pobierania
log_never_move=Przeniesiono ACL-e niebezpo¶redniego pobierania

acl_root=Katalog g³ówny dla plików z&nbsp;ACL
acl_sections=Dozwolone strony konfiguracji
acl_start=Mo¿e uruchamiaæ i&nbsp;zatrzymywaæ Squida?

always_create=Utwórz pobieranie bezpo¶rednie
always_edit=Zmieñ pobieranie bezpo¶rednie
always_header=Pobieraæ bezpo¶rednio dla zapytañ pasuj±cych do ACL

never_create=Utwórz pobieranie niebezpo¶rednie
never_edit=Zmieñ pobieranie niebezpo¶rednie
never_header=Nigdy nie pobieraæ bezpo¶rednio dla zapytañ pasuj±cych do ACL
  07070100049900000081a40000000000000002000000013d1fe2d4000042e5000000200000000000000000000000000000001700000003reloc/squid/lang/ru_RU    index_asuser=êàê ïîëüçîâàòåëü Unix
eauth_nopusers=Ïîëüçîâàòåëè ïðîêñè íå îïðåäåëåíû.
yes=Äà
emisc_pcs=Ïî-êëèåíòñêàÿ ñòàòèñòèêà?
acl_scs=Ñòðîêà SNMP Ñîîáùåñòâà
lib_kb=Êá
eadm_auto=Àâòîìàòè÷åñêè
ech_header=Ñîçäàíèå Êýø Õîñòà
eports_paap=Ïðîêñè àäðåñà è ïîðòû
index_logging=Æóðíàëèçàöèÿ
ec_opb=Îáúåêòîâ íà óçåë
eacl_act=Äåéñòâèå
clear_buttclear=Î÷èñòèòü è Ïåðåñòðîèòü Êýø
acl_name=Èìÿ ACL
acl_sel=Âûáðàííûå..
emisc_header=Ïðî÷èå Ïàðàìåòðû
aclsave_enmask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ìàñêîé ñåòè
lib_mb=Ìá
emisc_aomtk=Êîëè÷åñòâî ñîõðàíÿåìîé ïàìÿòè
buttdel=Óäàëèòü
ec_secs=ñåê.
acl_fromip=Ñ IP
sadmin_header=Èçìåíåíèå Ïðàâîîáëàäàíèÿ
eprogs_fo=Ïàðàìåòðû FTP
eprogs_fr=Èç resolv.conf
acl_hofd=×àñû Äíÿ
emisc_sdta=Íà÷àëüíàÿ DNS ïðîâåðêà àäðåñîâ
eacl_icpr=Îãðàíè÷åíèÿ ICP
euser_header=Ñîçäàíèå Ïðîêñè Ïîëüçîâàòåëÿ
ec_hcc=Ïîëó-çàêðûòûå êëèåíòû?
eadm_par=Ñôåðà ïðîêñè àóòåíòèôèêàöèè
eprogs_spp=Ïðîãðàììà ping äëÿ Squid
ec_mrbs1=Ìàêñèìàëüíûé ðàçìåð òåëà îòâåòà
acl_pusers=Ïîëüçîâàòåëè Ïðîêñè
acl_dwed=Ñðåäà
eadm_aao=Ïàðàìåòðû Àäìèíèñòðàòèâíûå è Îïîâåùåíèÿ
restart_ftrs=Îøèáêà ïðè ðåêîíôèãóðàöèè squid
slogs_emsg1='$1' íå ÿâëÿåòñÿ àáñîëþòíûì èìåíåì ôàéëà
sauth_iomuf=Íåâåðåí èëè óòåðÿí ôàéë ïîëüçîâàòåëåé
slogs_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ôàéëà
slogs_emsg3=Êàòàëîã '$1' íå ñóùåñòâóåò
slogs_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ìàñêîé ñåòè
slogs_emsg5='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ñïèñêîì ïàðàìåòðîâ îòëàäêè
slogs_ftslo=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ æóðíàëèðîâàíèÿ
emisc_ah=Âñå çàãîëîâêè
buttsave=Ñîõðàíèòü
eprogs_dsa=Àäðåñà DNS ñåðâåðîâ
elogs_rit=RFC931 ident òàéìàóò
eprogs_noap=Êîë-âî ïðîãðàìì àóòåíòèôèêàöèè
eadm_annp=Ïåðèîä óâåäîìëåíèÿ
eacl_nopr=Ïðîêñè îãðàíè÷åíèÿ íå îïðåäåëåíû
emisc_dd=Äîìåí ïî óìîë÷àíèþ
ec_sst=Òàéìàóò âûáîðà ñàéòà
emem_return=ìåíþ squid
aclsave_eehour=Íåäîïóñòèìûé ÷àñ îêîí÷àíèÿ
lib_buttss1=Ñòàðòîâàòü Squid
sadmin_inavap='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïåðèîäîì îïîâåùåíèÿ
ech_siq=Ïîñûëàòü ICP çàïðîñû?
ec_directory=Êàòàëîã
eacl_header=Óïðàâëåíèå Äîñòóïîì
eports_pano=Ïàðàìåòðû Ñåòè è Ïîðòîâ
eprogs_return=ìåíþ squid
eprogs_nodp=Êîë-âî ïðîãðàìì DNS
lib_days=äí.
ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÐÏÐÒÁ×ÔÅ <a href=/config.cgi?$2 >êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ èñïîëüçîâàíèÿ êîððåêòíîãî ïóòè ê ôàéëó.
acl_nmask=Ìàñêà ñåòè
index_actrl=Óïðàâëåíèå Äîñòóïîì
emem_dul=Ëèìèò èñïîëüçîâàíèÿ äèñêà
acl_dsun=Âîñêðåñåíèå
elogs_cmf=Ôàéë ìåòàäàííûõ êýøà
scache_emsg10='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì îáúåêòà
scache_emsg11='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì îáúåêòîâ
scache_emsg12='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì êàòàëîãà
scache_emsg13='$1' íå ÿâëÿåòñÿ äîïóñòèìûì õîñòîì
scache_emsg14='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîðòîì
sadmin_inavea='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïî÷òîâûì àäðåñîì
eacl_addpr=Äîáàâèòü ïðîêñè îãðàíè÷åíèå
aclsave_faildel=Îøèáêà ïðè óäàëåíèè
schost_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà êýøà
schost_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïðîêñè ïîðòîì
schost_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ICP ïîðòîì
schost_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì æèçíè
schost_emsg5='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âåñîì
emisc_emt=Òåêñò ñîîáùåíèé îá îøèáêàõ
ec_wrh=Õîñò WAIS øëþçà
lib_minutes=ìèí.
eports_return=ìåíþ squid
ec_wrp=Ïîðò WAIS øëþçà
euser_u1=Íå ìåíÿåòñÿ
eicp_crt=Òàéìàóò îòâåòà êýøà
aclsave_failsave=Îøèáêà ïðè ñîõðàíåíèè
aicp_dma=Íå ñîâïàä. ñ ACL
emisc_a=Àíîíèìàéçåð?
eacl_pr=Îãðàíè÷åíèÿ ïðîêñè
sadmin_ftsao=Îøèáêà ïðè ñîõðàíåíèè àäìèíèñòðàòèâíûõ ïàðàìåòðîâ
emisc_u=Íå îãðàíè÷åíî
eicp_cso=Ïàðàìåòðû Âûáîðà Êýøà
emisc_mo=Ïðî÷èå Ïàðàìåòðû
clear_header=Î÷èñòêà è Ïåðåñòðîåíèå Êýøà
acl_urlproto=URL Ïðîòîêîëû
eadm_runasug=Ðàáîòàòü ïîä Ãðóïïîé Unix
eadm_runasuu=Ðàáîòàòü ïîä Ïîëüçîâàòåëåì Unix
eprogs_afl=Àíîíèìí. FTP ðåãèñòðàöèÿ
emisc_oe=Âñå êðîìå
emisc_oh=Òîëüêî çàãîëîâêè
eports_ip=Ïîðò ICP
ec_buttsave=Ñîõðàíèòü
eadm_return=ìåíþ squid
clear_init=Èíèöèàëèçàöèÿ Squid êýøà êîìàíäîé <tt>$1</tt> ..
emem_iacs=Ðàçìåð êýøà IP àäðåñîâ
ec_return=ìåíþ squid
ech_qhfd=Çàïðàøèâàòü äîìåíû ó õîñòîâ
index_musage=Èñïîëüçîâàíèå Ïàìÿòè
emisc_mdh=Ìèíèìóì ïðÿìûõ ïåðåõîäîâ
ec_1dirs=êàòàëîãè 1ãî óðîâíÿ
eicp_bpfsp=Îáõîäèòü ping äëÿ îäèíî÷íîãî ðîäèòåëÿ?
chown_failrestart=Îøèáêà ïðè ïåðåçàïóñêå Squid ..
icache_ftic=Îøèáêà ïðè èíèöèàëèçàöèè êýøà
smisc_ftso=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ
clear_failrestart=Îøèáêà ïðè ïåðåçàïóñêå Squid ..
ec_type=Òèï
eports_mg=Øèðîêîâåùàòåëüíûå (Multicast) ãðóïïû
emisc_sp=SSL ïðîêñè
eauth_return=ìåíþ squid
eprogs_norp=Êîë-âî ïðîãðàìì ïåðåíàïðàâëåíèÿ
lib_buttac=Ïðèíÿòü Èçìåíåíèÿ
elogs_header=Æóðíàëèçàöèÿ
eadm_group=Ãðóïïà
sadmin_buttco=Èçìåíèòü Ïðàâà
eports_od=Ïî óìîë÷àíèþ äëÿ ÎÑ
ec_u=UFS
eauth_puf=Ôàéë ïðîêñè ïîëüçîâàòåëåé
eports_pp=Ïîðò ïðîêñè
lib_decades=äåêàä
aclsave_ename=Íåâåðíîå èìÿ ACL
aicp_a1=Ðàçðåøèòü
lib_weeks=íåä.
eprogs_adtr=Äîáàâëÿòü äîìåí ê çàïðîñàì?
aicp_a=Äåéñòâèå
aicp_d=Çàïðåòèòü
icache_header=Èíèöèàëèçàöèÿ Êýøà
eauth_nologin=Íåò íóæäû, ðåãèñòðàöèè â äîìåíå
ec_size=Ðàçìåð (Ìá)
aclsave_eexists=ACL ïî èìåíè '$1' óæå ñóùåñòâóåò
aclsave_esmin=Íåäîïóñòèìàÿ íà÷àëüíàÿ ìèíóòà
acl_buttsave=Ñîõðàíèòü
sprog_ftshpo=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ïðîãðìì - ïîìîøíèêîâ
acl_all=Âñå
ec_aos=Ñðåäíèé ðàçìåð îáúåêòà
smem_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì êýøà
ec_dlct=Âðåìÿ êýøèðîâàíèÿ DNS ïðîâåðêè
smem_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìîé âåðõíåé âàòåðëèíèåé
smem_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìîé íèæíåé âàòåðëèíèåé
smem_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì îáúåêòà
saicp_ftsir=Îøèáêà ïðè ñîõðàíåíèè ICP îãðàíè÷åíèÿ
acl_dthu=×åòâåðã
eauth_addpuser=Äîáàâèòü íîâîãî ïîëüçîâàòåëÿ ïðîêñè
smem_ftsmo=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ïàìÿòè
ec_1dirs1=Êàòàëîãè ïåðâîãî óðîâíÿ
aicp_return=ñïèñîê ACL
emem_e=âõîæäåíèé
ec_host=Õîñò
lib_aclup1=Ïðîòîêîë URL
emem_mhwm=Âåðõíÿÿ âàòåðëèíèÿ ïàìÿòè
lib_fortnights=2 íåä.
ech_ittl=Âðåìÿ æèçíè ICP
buttcreat=Ñîçäàòü
clear_msgclear=Âû óâåðåíû â òîì, ÷òî âû õîòèòå î÷èñòèòü è ïåðåñòðîèòü êýø? Ïðè ýòîì áóäóò óäàëåíû <b>âñå</b> êýøèðîâàííûå ôàéëû è Squid áóäåò ðåñòàðòîâàí.
lib_years=ëåò
acl_ipaddr=IP Àäðåñ
acl_reqmethods=Ìåòîäû Çàïðîñîâ
ahttp_dma=Íå ñîâïàä. ñ ACL
acl_asnum=ÊÀÊ ×èñëà
emisc_xffh=X-Forwarded-For çàãîëîâîê?
lib_aclupr=Ðåã.âûð. ïóòè URL
acl_psp=Ïîðò Ïðîêñè Ñåðâåðà
aicp_ir=ICP Îãðàíè÷åíèå
ech_ltp=Ðåãèñòðàöèÿ íà ïðîêñè
lib_hours=÷àñ.
off=Âûêë.
ech_buttsave=Ñîõðàíèòü
ec_ct=Òàéìàóò ñîåäèíåíèÿ
acl_toip=Íà IP
emem_dhwm=Âåðõíÿÿ âàòåðëèíèÿ äèñêà
eacl_name=Èìÿ
eacl_match=Ñîâïàäàåò..
eicp_dif=Äîìåíû çà ñåòåâûìè ýêðàíàìè
ahttp_a=Äåéñòâèå
ahttp_d=Çàïðåòèòü
aicp_ma=Ñîâïàä. ñ ACL
sadmin_msg1=Âû èçìåíèëè ïîëüçîâàòåëÿ èëè ãðóïïó ïîä êîòîðîé ðàáîòàåò Squid. Äëÿ ïðàâèëüíîé àêòèâèçàöèè ýòèõ èçìåíåíèé, ïðàâîîáëàäàíèå âñåõ êýø è æóðíàëüíûõ ôàéëîâ äîëæíî áûòü èçìåíåíî è Squid äîëæåí áûòü ðåñòàðòîâàí.
index_msgnoexe=Èñïîëíÿåìûé ìîäóëü Squid <tt>$1</tt> íå íàéäåí. Åñëè Squid
eacl_move=Ïåðåìåñòèòü
elogs_slf=Æóðíàë õðàíèëèùà
emem_mlwm=Íèæíÿÿ âàòåðëèíèÿ ïàìÿòè
ec_mct=Ìàêñèìàëüíîå âðåìÿ êýøèðîâàíèÿ
ahttp_a1=Ðàçðåøèòü
lib_buttss=Îñòàíîâèòü Squid
acl_bregexp=Ðåã.âûð. Áðàóçåðà
emem_header=Èñïîëüçîâàíèå Ïàìÿòè
elogs_dlf=Æóðíàë îòëàäêè
acl_dtue=Âòîðíèê
lib_months=ìåñ.
eacl_type=Òèï
ech_sibling=ðàâíîïðàâíûé
eprogs_header=Ïðîãðàììû - Ïîìîøíèêè
acl_regexp=Ðåã. âûðàæåíèÿ
acl_mcr=Ìàêñèìóì Ïàðàëëåëüíûõ Çàïðîñîâ
ec_kb=Êá
emem_maduo=Ïàðàìåòðû Èñïîëüçîâàíèÿ Ïàìÿòè è Äèñêà
eauth_aopt=Ïàðàìåòðû Àóòåíòèôèêàöèè
emem_dlwm=Íèæíÿÿ âàòåðëèíèÿ äèñêà
eadm_nochange=Íå ìåíÿòü
chown_restart=Ïåðåçàïóñê Squid ...
eadm_none=Íåò
sprog_emsg1=Íåò ïàðàìåòðîâ FTP
sprog_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ïðîãðàììîé
elogs_uhlf=Èñïîëüçîâàòü æóðíàëüíûé ôîðìàò HTTPD?
eicp_dpt=Òàéìàóò ìåðòâîãî ñîñåäà
sprog_emsg3='$1' íå ÿâëÿåòñÿ âûïîëíÿåìîé ïðîãðàììîé
sprog_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîëüçîâàòåëåì FTP
sprog_emsg5='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì ïðîãðàìì
sprog_emsg6='$1' íå ÿâëÿåòñÿ äîïóñòèìîé øèðèíîé êîëîíêè
sprog_emsg7=Íå ââåäåíû DNS ñåðâåðû
sprog_emsg8='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
cach_nfound=Ïðîãðàììà - ìåíåäæåð êýøà Squid <tt>$1</tt> íå íàéäåíà. Âîçìîæíî <a href=/config.cgi?$2 >êîíôèãóðàöèÿ ìîäóëÿ</a> íå êîððåêòíà.
index_copts=Ïàðàìåòðû Êýøà
eicp_d=Ïî óìîë÷àíèþ
eicp_h=Èìÿ õîñòà
eicp_n=Íåò
eicp_t=Òèï
ec_frct=Îøèáî÷íîå âðåìÿ çàïðîñà
eicp_y=Äà
default=Ïî óìîë÷àíèþ
emem_kb=Êá
eports_header=Ñåòü è Ïîðòû
index_buttinit=Èíèöèàëèçèðîâàòü
eauth_none=Íåò
ec_pt=Óñòîé÷èâûé òàéìàóò
aclsave_eemin=Íåäîïóñòèìàÿ ìèíóòà îêîí÷àíèÿ
emem_mb=Ìá
eacl_noacls=ACLè íå îïðåäåëåíû
eacl_buttcreate=Ñîçäàòü íîâûé ACL
eadm_vhost=Âèäèìîå èìÿ õîñòà
cach_err=Îøèáêà
ec_rt=Òàéìàóò ÷òåíèÿ
elogs_lfh=Æóðíàëèðîâàòü ïîëíîå èìÿ õîñòà?
index_miscopt=Ïðî÷èå Ïàðàìåòðû
clear_del=Óäàëåíèå ñòàðûõ ôàéëîâ êýøà ..
eadm_header=Íàñòðîéêè Àäìèíèñòðàòîðà
emisc_fua=Ïîääåëûâàòü Àãåíòà-Ïîëüçîâàòåëÿ
ec_header=Ïàðàìåòðû Êýøà
ec_ua=Àñèíõð. UFS
acl_dmon=Ïîíåäåëüíèê
index_msgnosupported=Webmin íå ïîääåðæèâàåò âàøó âåðñèþ Squid. Äàííûé ìîäóëü ïîääåðæèâàåò òîëüêî âåðñèè <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2.3</tt>.
ec_port=Ïîðò
ahttp_ma=Ñîâïàä. ñ ACL
eicp_aac=Äîáàâèòü äðóãîé êýø
eprogs_fcv=Øèðèíà êîëîíêè FTP
eicp_fdfd=Âûáèðàòü ïðÿìî èç äîìåíîâ
eicp_fdfi=Âûáèðàòü ïðÿìî èç IP
ec_mrs=Ìàêñèìàëüíûé ðàçìåð çàïðîñà
ec_wr=WAIS øëþç
sadmin_inavh='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì õîñòà
sport_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì ïîðòà
sport_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
sport_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì áóôåðà
sadmin_inavp='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîðòîì
ec_mst=Ìàêñ. âðåìÿ çàêðûòèÿ
eauth_header=Ïðîêñè Àóòåíòèôèêàöèÿ
eports_ota=Èñõîäÿùèé àäðåñ TCP
eacl_acls1=ACLè
none=Íåò
emem_fcs=Ðàçìåð êýøà FQDN
eports_oua=Èñõîäÿùèé àäðåñ UDP
ahttp_pr=Ïðîêñè Îãðàíè÷åíèå
emem_mul=Ëèìèò èñïîëüçîâàíèÿ ïàìÿòè
eicp_ip=Ïîðò ICP
elogs_lmh=Æóðíàëèðîâàòü çàãîëîâêè MIME?
scache_ftsco=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ êýøà
eadm_cmemail=E-mail àäðåñ êýø ìåíåäæåðà
eadm_uniq=Óíèêàëüíîå èìÿ õîñòà
aclsave_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
schost_ftsc=Îøèáêà ïðè ñîõðàíåíèè êýøà
ech_dqfd=Íå çàïðàøèâàòü äîìåíû
ec_mins=ìèí.
sport_ftspo=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ïîðòà
elogs_do=Ïàðàìåòðû îòëàäêè
aclsave_eshour=Íåäîïóñòèìûé íà÷àëüíûé ÷àñ
ahttp_return=ñïèñîê ACL
suser_emsg1=Íåâåðíî èëè ïðîïóùåíî èìÿ ïîëüçîâàòåëÿ
acl_tcpports=TCP Ïîðòû
index_rebuild=Î÷èñòèòü è Ïåðåñòðîèòü Êýø
elogs_ualf=Æóðíàë ïîëüçîâàòåëüñêèõ àãåíòîâ
aclsave_ecdom=Íå çàäàíû äîìåíû êëèåíòà
sauth_iomd=Íåâåðåí èëè óòåðÿí äîìåí
eports_hia=Èìÿ õîñòà/IP àäðåñ
lib_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
lib_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì $2
lib_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì $2
eicp_ssip=Îòñûëàòü èñòî÷íèê â pingå?
clear_stop=Îñòàíîâêà squid ...
index_return=ãëàâíîå ìåíþ
chown_chown=Èçìåíåíèå Ïðàâîîáëàäàíèÿ ...
eicp_pp=Ïîðò ïðîêñè
aicp_header=Ñîçäàíèå ICP Îãðàíè÷åíèÿ
eicp_nocd=Äðóãèå êýøè íå îïðåäåëåíû
aclsave_epr=Äàííûé ACL èñïîëüçóåòñÿ â ïðîêñè îãðàíè÷åíèè
start_ftsq=Îøèáêà ïðè ñòàðòå squid
elogs_alf=Æóðíàë äîñòóïà
eprogs_c=ñèìâ.
eadm_caf=Ôàéë óâåäîìëåíèÿ êýøà
elogs_lalo=Ïàðàìåòðû Æóðíàëèçàöèè è Æóðíàëüíûõ ôàéëîâ
scache_emsg0=Âû äîëæíû ââåñòè êàê ìèíèìóì îäèí êýø êàòàëîã
eadm_cah=Õîñò óâåäîìëåíèÿ êýøà
scache_emsg1=Êýø êàòàëîã '$1' íå ñóùåñòâóåò
scache_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì çàïðîñà
scache_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì êýøèðîâàíèÿ îøèáî÷íîãî çàïðîñà
scache_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì êýøèðîâàíèÿ DNS
scache_emsg5='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òàéìàóòîì
scache_emsg6='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåíåì
scache_emsg7='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì êàòàëîãîâ
scache_emsg8=Êîë-âî êàòàëîãîâ äîëæíî áûòü >= 1
eadm_cap=Ïîðò óâåäîìëåíèÿ êýøà
scache_emsg9=Êîë-âî êàòàëîãîâ äîëæíî áûòü <= 256
index_admopts=Íàñòðîéêè Àäìèíèñòðàòîðà
aclsave_efrom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì From
eadm_default=Ïî óìîë÷àíèþ
acl_rfcusers=Ïîëüçîâàòåëè RFC931
acl_failurl=URL Îòêàçà
eicp_dfuc=Íàïðÿìóþ âûáèðàòü URL ñîäåðæàùèå
elogs_ln=Æóðíàëèðóåìàÿ ìàñêà ñåòè
eicp_return=ìåíþ squid
acl_buttdel=Óäàëèòü
ech_co=Òîëüêî áëèæàéøèé?
aclsave_eto='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì To
ech_cw=Âåñîâ. êîýô. êýøà
ech_dc=Êýø ïî óìîë÷àíèþ?
eauth_pusers=Ïîëüçîâàòåëè Ïðîêñè
eports_a=Ëþáîé
eports_p=Ïîðò
clear_done=.. Ãîòîâî
eicp_opcs=Äðóãèå êýøèðóþùèå ïðîêñè ñåðâåðû
aicp_header1=Ðåäàêòèðîâàíèå ICP Îãðàíè÷åíèÿ
eadm_never=Íèêîãäà
elogs_pf=PID ôàéë
acl_header1=Ñîçäàíèå ACL
acl_header2=Ðåäàêòèðîâàíèå ACL
acl_dfri=Ïÿòíèöà
sauth_msg1=Âàøà âåðñèÿ Squid íå áûëà ñêîìïèëèðîâàíà ñ ïîääåðæêîé ïðîêñè àâòîðèçàöèè
stop_ftsq=Îøèáêà ïðè îñòàíîâêå squid
acl_return=Ñïèñîê ACL
ech_ip=Ïîðò ICP
smisc_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì ðîòàöèé
smisc_emsg2='$1' íå ÿâëÿåòñÿ äîïóñòèìûì äîìåíîì
smisc_emsg3='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïðîêñè
smisc_emsg4='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ÷èñëîì ïåðåõîäîâ
eacl_noicpr=ICP îãðàíè÷åíèÿ íå îïðåäåëåíû
ech_buttdel=Óäàëèòü
eadm_buttsave=Ñîõðàíèòü
lib_aclsan=Èñòî÷íèê ÊÀÊ Íîìåð
eadm_annto=Óâåäîìëåíèÿ êýøà äëÿ
eprogs_cap=Îòäåëüíàÿ ïðîãðàììà àóòåíòèôèêàöèè
eicp_iif=IP àäðåñà çà ñåòåâûìè ýêðàíàìè
lib_acldan=Ïðèåìíèê ÊÀÊ Íîìåð
ech_parent=ðîäèòåëüñêèé
lib_acldat=Äàòà è Âðåìÿ
lib_seconds=ñåê.
acl_to=äî
eprogs_ccp=Ïðîãðàììà î÷èñòêè êýøà
ech_mr=Øèðîêîâåùàòåëüíûé îòâåò÷èê?
suser_ftsu=Îøèáêà ïðè ñîõðàíåíèè ïîëüçîâàòåëÿ
ech_d=Ïî óìîë÷àíèþ
ech_h=Èìÿ õîñòà
ech_n=Íåò
ech_p=Ïàðîëü:
ech_nd=Áåç äàéäæåñòîâ?
ech_t=Òèï
ech_u=Ïîëüç:
eauth_buttsave=Ñîõðàíèòü
ech_y=Äà
ec_fdct=Îøèáî÷íîå âðåìÿ êýøèðîâàíèÿ
ech_nl=Áåç ðåãèñòðàöèè
ech_header1=Ðåäàêòèðîâàíèå Êýø Õîñòà
ech_po=Òîëüêî ïðîêñè?
ech_return=ñïèñîê êýøåé
ech_pp=Ïîðò ïðîêñè
ech_nd1=Áåç çàäåðæêè?
chown_header=Èçìåíåíèå Ïðàâîîáëàäàíèÿ
emisc_return=ìåíþ squid
ec_2dirs=êàòàëîãè 2ãî óðîâíÿ
ec_default=Ïî óìîë÷àíèþ
acl_rtime=Âðåìÿ Îáíîâëåíèÿ
sicp_ftsco=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ êýøà
sadmin_return=ãëàâíîå ìåíþ
elogs_mht=Òàáëèöà MIME çàãîëîâêîâ
chown_stop=Îñòàíîâêà squid ...
index_portsnets=Ñåòü è Ïîðòû
eicp_mit=Ìíîãîâàðèàíòíûé ICP òàéìàóò
emisc_off=Âûêë.
eicp_iqt=Òàéìàóò çàïðîñà ICP
emisc_htpt=Ïðîõîäèìûå çàãîëîâêè
euser_return=ñïèñîê ïîëüçîâàòåëåé
ec_ncua=Íå êýøèðîâàòü URLè äëÿ ñëåäóþùèõ ACL
ec_ncuc=Íå êýøèðîâàòü URLè ñîäåðæàùèå
ec_ncum=Íå êýøèðîâàòü URLè ñîâïàäàþùèå ñ
elogs_prilfa=Îñóùåñòâëÿòü RFC931 ident ïðîâåðêè äëÿ ACL
ec_cdirs=Êàòàëîãè Êýøà
sauth_ftsao=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ àóòåíòèôèêàöèè
index_hprogs=Ïðîãðàììû Ïîìîøíèêè
index_cms=Ñòàòèñòèêà Êýø Ìåíåäæåðà
chown_done=.. Ãîòîâî
lib_aclbr=Ðåã.âûð. Áðàóçåðà
icache_itscwtc=Èíèöèàëèçàöèÿ Squid êýøà êîìàíäîé <tt>$1</tt> ..
emisc_kmffu=Ñîõðàíÿòü ïàìÿòü äëÿ äàëüíåéøåãî èñïîëüçîâàíèÿ?
lib_aclca=Àäðåñ Êëèåíòà
sicp_emsg1='$1' íå ÿâëÿåòñÿ äîïóñòèìûì òàéìàóòîì
index_proxyauth=Àâòîðèçàöèÿ Ïðîêñè
ech_nne=Áåç NetDB îáìåíà?
lib_aclch=Èìÿ õîñòà Êëèåíòà
eprogs_crp=Îòäåëüíàÿ ïðîãðàììà ïåðåíàïðàâëåíèÿ
eacl_acls=Ñïèñêè óïðàâëåíèÿ äîñòóïîì
lib_aclcr=Ðåã.âûð. Êëèåíòà
eports_trb=Áóôåð ïðèåìà TCP
eacl_return=ìåíþ squid
eadm_user=Ïîëüçîâàòåëü
ahttp_header=Ñîçäàíèå Ïðîêñè Îãðàíè÷åíèÿ
lib_aclea=Âíåøíÿÿ Àóòåíò-èÿ
ec_mrbs=Ìàêñèìàëüíûé ðàçìåð òåëà çàïðîñà
ec_2dirs2=Êàòàëîãè âòîðîãî óðîâíÿ
ec_cro=Ïàðàìåòðû Êýøèðîâàíèÿ è Çàïðîñîâ
ec_crt=Òàéìàóò çàïðîñà êëèåíòà
eprogs_chpo=Ïàðàìåòðû ïðîãðàìì-ïîìîøíèêîâ êýøà
ech_cho=Ïàðàìåòðû Êýø Õîñòà
ec_mcct=Ìàêñ. âðåìÿ ñîåäèíåíèÿ êëèåíòîâ
index_header=Ïðîêñè Ñåðâåð Squid
emisc_slr=Ðîòàöèÿ æóðíàëüíûõ ôàéëîâ ïî SIGUSR1
eauth_msgaccess=Äîñòóï ê âàøåìó ïðîêñè ñåðâåðó îãðàíè÷åí ïîëüçîâàòåëÿìè ïåðå÷èñëåííûìè íèæå. Ïîñëå äîáàâëåíèÿ, óäàëåíèÿ ïîëüçîâàòåëÿ, Squid äîëæåí áûòü ðåñòàðòîâàí äëÿ àêòèâèçàöèè âíåñåííûõ èçìåíåíèé.
emisc_nghp=Íå-GET HTTP ïðîêñè
index_othercaches=Äðóãèå Êýøè
lib_aclwsa=Àäðåñ Âåá Ñåðâåðà
ec_mrhs=Ìàêñèìàëüíûé ðàçìåð çàãîëîâêà çàïðîñà
lib_aclwsr=Ðåã.âûð. Âåá Ñåðâåðà
index_msgnoconfig=Êîíôèãóðàöèîííûé ôàéë Squid <tt>$1</tt> íå íàéäåí. Åñëè Squid èíñòàëëèðîâàí, ïîïðàâòå <a href=/config.cgi?$2 >êîíôèãóðàöèþ ìîäóëÿ</a> äëÿ èñïîëüçîâàíèÿ êîððåêòíîãî ïóòè ê ôàéëó.
clear_return=ìåíþ squid
eicp_header=Äðóãèå Êýøè
euser_header1=Ðåäàêòèðîâàíèå Ïðîêñè Ïîëüçîâàòåëÿ
no=Íåò
elogs_dril=Äåëàòü RFC931 ident ïðîâåðêè?
ec_none=Íåò
emem_ichwm=Âåðõíÿÿ âàòåðëèíèÿ IP êýøà
on=Âêë.
eacl_addicpr=Äîáàâèòü ICP îãðàíè÷åíèå
ech_rrc=Ðàâíîìåðíûé êýø?
ahttp_header1=Ðåäàêòèðîâàíèå Ïðîêñè Îãðàíè÷åíèÿ
eports_ita=Âõîäÿùèé àäðåñ TCP
emem_mcos=Ìàêñèìàëüíûé ðàçìåð êýøèðóåìîãî îáúåêòà
eports_iua=Âõîäÿùèé àäðåñ UDP
lib_aclpl=Ðåãèñòðàöèÿ Ïðîêñè
ech_multicast=øèðîêîâåùàò.
icache_ymcautrsa=Âû äîëæíû âûáðàòü ïîëüçîâàòåëÿ, ïîä êîòîðûì âûïîëíÿåòñÿ Squid
emisc_std=Ñòàíäàðò
aclsave_esdom=Íå çàäàíû äîìåíû ñåðâåðà
eadm_annevery=Óâåäîìëÿòü êýø êàæäûå
lib_aclpia=IP Àäðåñ Ïðîêñè
lib_aclrm=Ìåòîä Çàïðîñà
eadm_uniqhn=Óíèêàëüíîå èìÿ õîñòà
ec_listed=Ïåðå÷èñëåííûå..
lib_aclru=RFC931 Ïîëüçîâàòåëü
aclsave_eicpr=Äàííûé ACL èñïîëüçóåòñÿ â ICP îãðàíè÷åíèè
acl_dofw=Äíè Íåäåëè
index_msgnodir1=Êàòàëîã ñ êýøåì Squid <tt>$1</tt> íå èíèöèàëèçèðîâàí.
index_msgnodir2=Êàòàëîã ñ êýøåì Squid <tt>$1</tt> íå áûë èíèöèàëèçèðîâàí.
index_msgnodir3=Ýòî íåîáõîäèìî ñäåëàòü äî òîãî, êàê ìîæíî áóäåò èñïîëüçîâàòü Squid.
cach_return=ìåíþ squid
elogs_return=ìåíþ squid
acl_domains=Äîìåíû
euser_p=Ïàðîëü
eprogs_sdp=Ïðîãðàììà DNS äëÿ Squid
euser_u=Èìÿ
sahttp_ftspr=Îøèáêà ïðè ñîõðàíåíèè ïðîêñè îãðàíè÷åíèÿ
lib_aclup=Ïîðò URL
lib_aclur=Ðåã.âûð. URL
acl_dsat=Ñóááîòà
lib_gb=Ãá
emem_iclwm=Íèæíÿÿ âàòåðëèíèÿ IP êýøà
euser_pud=Ïàðàìåòðû Ïðîêñè Ïîëüçîâàòåëÿ
eprogs_sfp=Ïðîãðàììà FTP äëÿ Squid
emisc_par=Ïàðàíîèê
emisc_liq=Æóðíàëèðîâàòü ICP çàïðîñû?
icache_return=ìåíþ squid
   07070100049901000081a40000000000000002000000013d1fe2d40000430b000000200000000000000000000000000000001700000003reloc/squid/lang/ru_SU    index_header=ðÒÏËÓÉ óÅÒ×ÅÒ Squid
index_msgnoconfig=ëÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ Squid <tt>$1</tt> ÎÅ ÎÁÊÄÅÎ. åÓÌÉ Squid ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÐÏÐÒÁ×ÔÅ <a href=/config.cgi?$2 >ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ Ë ÆÁÊÌÕ.
index_msgnoexe=éÓÐÏÌÎÑÅÍÙÊ ÍÏÄÕÌØ Squid <tt>$1</tt> ÎÅ ÎÁÊÄÅÎ. åÓÌÉ Squid
ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÐÏÐÒÁ×ÔÅ <a href=/config.cgi?$2 >ËÏÎÆÉÇÕÒÁÃÉÀ ÍÏÄÕÌÑ</a> ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ËÏÒÒÅËÔÎÏÇÏ ÐÕÔÉ Ë ÆÁÊÌÕ.
index_msgnosupported=Webmin ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÁÛÕ ×ÅÒÓÉÀ Squid. äÁÎÎÙÊ ÍÏÄÕÌØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ×ÅÒÓÉÉ <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt>, <tt>2.3</tt>.
index_msgnodir1=ëÁÔÁÌÏÇ Ó ËÜÛÅÍ Squid <tt>$1</tt> ÎÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ.
index_msgnodir2=ëÁÔÁÌÏÇ Ó ËÜÛÅÍ Squid <tt>$1</tt> ÎÅ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ.
index_msgnodir3=üÔÏ ÎÅÏÂÈÏÄÉÍÏ ÓÄÅÌÁÔØ ÄÏ ÔÏÇÏ, ËÁË ÍÏÖÎÏ ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ Squid.
index_buttinit=éÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ
index_asuser=ËÁË ÐÏÌØÚÏ×ÁÔÅÌØ Unix
index_portsnets=óÅÔØ É ðÏÒÔÙ
index_othercaches=äÒÕÇÉÅ ëÜÛÉ
index_musage=éÓÐÏÌØÚÏ×ÁÎÉÅ ðÁÍÑÔÉ
index_logging=öÕÒÎÁÌÉÚÁÃÉÑ
index_copts=ðÁÒÁÍÅÔÒÙ ëÜÛÁ
index_hprogs=ðÒÏÇÒÁÍÍÙ ðÏÍÏÛÎÉËÉ
index_actrl=õÐÒÁ×ÌÅÎÉÅ äÏÓÔÕÐÏÍ
index_admopts=îÁÓÔÒÏÊËÉ áÄÍÉÎÉÓÔÒÁÔÏÒÁ
index_proxyauth=á×ÔÏÒÉÚÁÃÉÑ ðÒÏËÓÉ
index_miscopt=ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ
index_cms=óÔÁÔÉÓÔÉËÁ ëÜÛ íÅÎÅÄÖÅÒÁ
index_rebuild=ïÞÉÓÔÉÔØ É ðÅÒÅÓÔÒÏÉÔØ ëÜÛ
index_return=ÇÌÁ×ÎÏÅ ÍÅÎÀ

buttsave=óÏÈÒÁÎÉÔØ
buttdel=õÄÁÌÉÔØ
buttcreat=óÏÚÄÁÔØ
yes=äÁ
no=îÅÔ
default=ðÏ ÕÍÏÌÞÁÎÉÀ
none=îÅÔ
on=÷ËÌ.
off=÷ÙËÌ.

acl_header1=óÏÚÄÁÎÉÅ ACL
acl_header2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ACL
acl_name=éÍÑ ACL
acl_fromip=ó IP
acl_toip=îÁ IP
acl_nmask=íÁÓËÁ ÓÅÔÉ
acl_ipaddr=IP áÄÒÅÓ
acl_domains=äÏÍÅÎÙ
acl_dofw=äÎÉ îÅÄÅÌÉ
acl_sel=÷ÙÂÒÁÎÎÙÅ..
acl_all=÷ÓÅ
acl_dsun=÷ÏÓËÒÅÓÅÎÉÅ
acl_dmon=ðÏÎÅÄÅÌØÎÉË
acl_dtue=÷ÔÏÒÎÉË
acl_dwed=óÒÅÄÁ
acl_dthu=þÅÔ×ÅÒÇ
acl_dfri=ðÑÔÎÉÃÁ
acl_dsat=óÕÂÂÏÔÁ
acl_hofd=þÁÓÙ äÎÑ
acl_to=ÄÏ
acl_regexp=òÅÇ. ×ÙÒÁÖÅÎÉÑ
acl_tcpports=TCP ðÏÒÔÙ
acl_urlproto=URL ðÒÏÔÏËÏÌÙ
acl_reqmethods=íÅÔÏÄÙ úÁÐÒÏÓÏ×
acl_bregexp=òÅÇ.×ÙÒ. âÒÁÕÚÅÒÁ
acl_pusers=ðÏÌØÚÏ×ÁÔÅÌÉ ðÒÏËÓÉ
acl_asnum=ëáë þÉÓÌÁ
acl_rtime=÷ÒÅÍÑ ïÂÎÏ×ÌÅÎÉÑ
acl_rfcusers=ðÏÌØÚÏ×ÁÔÅÌÉ RFC931
acl_mcr=íÁËÓÉÍÕÍ ðÁÒÁÌÌÅÌØÎÙÈ úÁÐÒÏÓÏ×
acl_psp=ðÏÒÔ ðÒÏËÓÉ óÅÒ×ÅÒÁ
acl_scs=óÔÒÏËÁ SNMP óÏÏÂÝÅÓÔ×Á
acl_failurl=URL ïÔËÁÚÁ
acl_buttsave=óÏÈÒÁÎÉÔØ
acl_buttdel=õÄÁÌÉÔØ
acl_return=óÐÉÓÏË ACL

aclsave_failsave=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ
aclsave_faildel=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ
aclsave_epr=äÁÎÎÙÊ ACL ÉÓÐÏÌØÚÕÅÔÓÑ × ÐÒÏËÓÉ ÏÇÒÁÎÉÞÅÎÉÉ
aclsave_eicpr=äÁÎÎÙÊ ACL ÉÓÐÏÌØÚÕÅÔÓÑ × ICP ÏÇÒÁÎÉÞÅÎÉÉ
aclsave_ename=îÅ×ÅÒÎÏÅ ÉÍÑ ACL
aclsave_eexists=ACL ÐÏ ÉÍÅÎÉ '$1' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ
aclsave_efrom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ From
aclsave_eto='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ To
aclsave_enmask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÍÁÓËÏÊ ÓÅÔÉ
aclsave_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
aclsave_ecdom=îÅ ÚÁÄÁÎÙ ÄÏÍÅÎÙ ËÌÉÅÎÔÁ
aclsave_esdom=îÅ ÚÁÄÁÎÙ ÄÏÍÅÎÙ ÓÅÒ×ÅÒÁ
aclsave_eshour=îÅÄÏÐÕÓÔÉÍÙÊ ÎÁÞÁÌØÎÙÊ ÞÁÓ
aclsave_eehour=îÅÄÏÐÕÓÔÉÍÙÊ ÞÁÓ ÏËÏÎÞÁÎÉÑ
aclsave_esmin=îÅÄÏÐÕÓÔÉÍÁÑ ÎÁÞÁÌØÎÁÑ ÍÉÎÕÔÁ
aclsave_eemin=îÅÄÏÐÕÓÔÉÍÁÑ ÍÉÎÕÔÁ ÏËÏÎÞÁÎÉÑ

cach_err=ïÛÉÂËÁ
cach_nfound=ðÒÏÇÒÁÍÍÁ - ÍÅÎÅÄÖÅÒ ËÜÛÁ Squid <tt>$1</tt> ÎÅ ÎÁÊÄÅÎÁ. ÷ÏÚÍÏÖÎÏ <a href=/config.cgi?$2 >ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ</a> ÎÅ ËÏÒÒÅËÔÎÁ.
cach_return=ÍÅÎÀ squid

chown_header=éÚÍÅÎÅÎÉÅ ðÒÁ×ÏÏÂÌÁÄÁÎÉÑ
chown_stop=ïÓÔÁÎÏ×ËÁ squid ...
chown_done=.. çÏÔÏ×Ï
chown_chown=éÚÍÅÎÅÎÉÅ ðÒÁ×ÏÏÂÌÁÄÁÎÉÑ ...
chown_restart=ðÅÒÅÚÁÐÕÓË Squid ...
chown_failrestart=ïÛÉÂËÁ ÐÒÉ ÐÅÒÅÚÁÐÕÓËÅ Squid ..

clear_header=ïÞÉÓÔËÁ É ðÅÒÅÓÔÒÏÅÎÉÅ ëÜÛÁ
clear_msgclear=÷Ù Õ×ÅÒÅÎÙ × ÔÏÍ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÏÞÉÓÔÉÔØ É ÐÅÒÅÓÔÒÏÉÔØ ËÜÛ? ðÒÉ ÜÔÏÍ ÂÕÄÕÔ ÕÄÁÌÅÎÙ <b>×ÓÅ</b> ËÜÛÉÒÏ×ÁÎÎÙÅ ÆÁÊÌÙ É Squid ÂÕÄÅÔ ÒÅÓÔÁÒÔÏ×ÁÎ.
clear_buttclear=ïÞÉÓÔÉÔØ É ðÅÒÅÓÔÒÏÉÔØ ëÜÛ
clear_stop=ïÓÔÁÎÏ×ËÁ squid ...
clear_done=.. çÏÔÏ×Ï
clear_del=õÄÁÌÅÎÉÅ ÓÔÁÒÙÈ ÆÁÊÌÏ× ËÜÛÁ ..
clear_init=éÎÉÃÉÁÌÉÚÁÃÉÑ Squid ËÜÛÁ ËÏÍÁÎÄÏÊ <tt>$1</tt> ..
clear_failrestart=ïÛÉÂËÁ ÐÒÉ ÐÅÒÅÚÁÐÕÓËÅ Squid ..
clear_return=ÍÅÎÀ squid

eacl_header=õÐÒÁ×ÌÅÎÉÅ äÏÓÔÕÐÏÍ
eacl_acls=óÐÉÓËÉ ÕÐÒÁ×ÌÅÎÉÑ ÄÏÓÔÕÐÏÍ
eacl_name=éÍÑ
eacl_type=ôÉÐ
eacl_match=óÏ×ÐÁÄÁÅÔ..
eacl_noacls=ACLÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ
eacl_buttcreate=óÏÚÄÁÔØ ÎÏ×ÙÊ ACL
eacl_pr=ïÇÒÁÎÉÞÅÎÉÑ ÐÒÏËÓÉ
eacl_act=äÅÊÓÔ×ÉÅ
eacl_acls1=ACLÉ
eacl_move=ðÅÒÅÍÅÓÔÉÔØ
eacl_nopr=ðÒÏËÓÉ ÏÇÒÁÎÉÞÅÎÉÑ ÎÅ ÏÐÒÅÄÅÌÅÎÙ
eacl_addpr=äÏÂÁ×ÉÔØ ÐÒÏËÓÉ ÏÇÒÁÎÉÞÅÎÉÅ
eacl_icpr=ïÇÒÁÎÉÞÅÎÉÑ ICP
eacl_noicpr=ICP ÏÇÒÁÎÉÞÅÎÉÑ ÎÅ ÏÐÒÅÄÅÌÅÎÙ
eacl_addicpr=äÏÂÁ×ÉÔØ ICP ÏÇÒÁÎÉÞÅÎÉÅ
eacl_return=ÍÅÎÀ squid

eadm_header=îÁÓÔÒÏÊËÉ áÄÍÉÎÉÓÔÒÁÔÏÒÁ
eadm_aao=ðÁÒÁÍÅÔÒÙ áÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÅ É ïÐÏ×ÅÝÅÎÉÑ
eadm_runasuu=òÁÂÏÔÁÔØ ÐÏÄ ðÏÌØÚÏ×ÁÔÅÌÅÍ Unix
eadm_nochange=îÅ ÍÅÎÑÔØ
eadm_user=ðÏÌØÚÏ×ÁÔÅÌØ
eadm_group=çÒÕÐÐÁ
eadm_runasug=òÁÂÏÔÁÔØ ÐÏÄ çÒÕÐÐÏÊ Unix
eadm_par=óÆÅÒÁ ÐÒÏËÓÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
eadm_default=ðÏ ÕÍÏÌÞÁÎÉÀ
eadm_cmemail=E-mail ÁÄÒÅÓ ËÜÛ ÍÅÎÅÄÖÅÒÁ
eadm_vhost=÷ÉÄÉÍÏÅ ÉÍÑ ÈÏÓÔÁ
eadm_uniq=õÎÉËÁÌØÎÏÅ ÉÍÑ ÈÏÓÔÁ
eadm_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
eadm_annto=õ×ÅÄÏÍÌÅÎÉÑ ËÜÛÁ ÄÌÑ
eadm_annevery=õ×ÅÄÏÍÌÑÔØ ËÜÛ ËÁÖÄÙÅ
eadm_never=îÉËÏÇÄÁ
eadm_uniqhn=õÎÉËÁÌØÎÏÅ ÉÍÑ ÈÏÓÔÁ
eadm_cah=èÏÓÔ Õ×ÅÄÏÍÌÅÎÉÑ ËÜÛÁ
eadm_cap=ðÏÒÔ Õ×ÅÄÏÍÌÅÎÉÑ ËÜÛÁ
eadm_caf=æÁÊÌ Õ×ÅÄÏÍÌÅÎÉÑ ËÜÛÁ
eadm_none=îÅÔ
eadm_annp=ðÅÒÉÏÄ Õ×ÅÄÏÍÌÅÎÉÑ
eadm_buttsave=óÏÈÒÁÎÉÔØ
eadm_return=ÍÅÎÀ squid

eauth_header=ðÒÏËÓÉ áÕÔÅÎÔÉÆÉËÁÃÉÑ
eauth_aopt=ðÁÒÁÍÅÔÒÙ áÕÔÅÎÔÉÆÉËÁÃÉÉ
eauth_puf=æÁÊÌ ÐÒÏËÓÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
eauth_none=îÅÔ
eauth_nologin=îÅÔ ÎÕÖÄÙ, ÒÅÇÉÓÔÒÁÃÉÉ × ÄÏÍÅÎÅ
eauth_buttsave=óÏÈÒÁÎÉÔØ
eauth_msgaccess=äÏÓÔÕÐ Ë ×ÁÛÅÍÕ ÐÒÏËÓÉ ÓÅÒ×ÅÒÕ ÏÇÒÁÎÉÞÅÎ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ÐÅÒÅÞÉÓÌÅÎÎÙÍÉ ÎÉÖÅ. ðÏÓÌÅ ÄÏÂÁ×ÌÅÎÉÑ, ÕÄÁÌÅÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ, Squid ÄÏÌÖÅÎ ÂÙÔØ ÒÅÓÔÁÒÔÏ×ÁÎ ÄÌÑ ÁËÔÉ×ÉÚÁÃÉÉ ×ÎÅÓÅÎÎÙÈ ÉÚÍÅÎÅÎÉÊ.
eauth_pusers=ðÏÌØÚÏ×ÁÔÅÌÉ ðÒÏËÓÉ
eauth_nopusers=ðÏÌØÚÏ×ÁÔÅÌÉ ÐÒÏËÓÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ.
eauth_addpuser=äÏÂÁ×ÉÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÐÒÏËÓÉ
eauth_return=ÍÅÎÀ squid

ec_header=ðÁÒÁÍÅÔÒÙ ëÜÛÁ
ec_cro=ðÁÒÁÍÅÔÒÙ ëÜÛÉÒÏ×ÁÎÉÑ É úÁÐÒÏÓÏ×
ec_cdirs=ëÁÔÁÌÏÇÉ ëÜÛÁ
ec_default=ðÏ ÕÍÏÌÞÁÎÉÀ
ec_listed=ðÅÒÅÞÉÓÌÅÎÎÙÅ..
ec_directory=ëÁÔÁÌÏÇ
ec_type=ôÉÐ
ec_size=òÁÚÍÅÒ (íÂ)
ec_1dirs=ËÁÔÁÌÏÇÉ 1ÇÏ ÕÒÏ×ÎÑ
ec_2dirs=ËÁÔÁÌÏÇÉ 2ÇÏ ÕÒÏ×ÎÑ
ec_u=UFS
ec_ua=áÓÉÎÈÒ. UFS
ec_1dirs1=ëÁÔÁÌÏÇÉ ÐÅÒ×ÏÇÏ ÕÒÏ×ÎÑ
ec_2dirs2=ëÁÔÁÌÏÇÉ ×ÔÏÒÏÇÏ ÕÒÏ×ÎÑ
ec_aos=óÒÅÄÎÉÊ ÒÁÚÍÅÒ ÏÂßÅËÔÁ
ec_kb=ëÂ
ec_mins=ÍÉÎ.
ec_secs=ÓÅË.
ec_opb=ïÂßÅËÔÏ× ÎÁ ÕÚÅÌ
ec_ncuc=îÅ ËÜÛÉÒÏ×ÁÔØ URLÉ ÓÏÄÅÒÖÁÝÉÅ
ec_ncum=îÅ ËÜÛÉÒÏ×ÁÔØ URLÉ ÓÏ×ÐÁÄÁÀÝÉÅ Ó
ec_ncua=îÅ ËÜÛÉÒÏ×ÁÔØ URLÉ ÄÌÑ ÓÌÅÄÕÀÝÉÈ ACL
ec_mct=íÁËÓÉÍÁÌØÎÏÅ ×ÒÅÍÑ ËÜÛÉÒÏ×ÁÎÉÑ
ec_mrbs=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÅÌÁ ÚÁÐÒÏÓÁ
ec_mrhs=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ
ec_mrbs1=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÅÌÁ ÏÔ×ÅÔÁ
ec_mrs=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÚÁÐÒÏÓÁ
ec_frct=ïÛÉÂÏÞÎÏÅ ×ÒÅÍÑ ÚÁÐÒÏÓÁ
ec_dlct=÷ÒÅÍÑ ËÜÛÉÒÏ×ÁÎÉÑ DNS ÐÒÏ×ÅÒËÉ
ec_fdct=ïÛÉÂÏÞÎÏÅ ×ÒÅÍÑ ËÜÛÉÒÏ×ÁÎÉÑ
ec_ct=ôÁÊÍÁÕÔ ÓÏÅÄÉÎÅÎÉÑ
ec_rt=ôÁÊÍÁÕÔ ÞÔÅÎÉÑ
ec_mcct=íÁËÓ. ×ÒÅÍÑ ÓÏÅÄÉÎÅÎÉÑ ËÌÉÅÎÔÏ×
ec_mst=íÁËÓ. ×ÒÅÍÑ ÚÁËÒÙÔÉÑ
ec_sst=ôÁÊÍÁÕÔ ×ÙÂÏÒÁ ÓÁÊÔÁ
ec_crt=ôÁÊÍÁÕÔ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ
ec_hcc=ðÏÌÕ-ÚÁËÒÙÔÙÅ ËÌÉÅÎÔÙ?
ec_pt=õÓÔÏÊÞÉ×ÙÊ ÔÁÊÍÁÕÔ
ec_wr=WAIS ÛÌÀÚ
ec_none=îÅÔ
ec_host=èÏÓÔ
ec_port=ðÏÒÔ
ec_wrh=èÏÓÔ WAIS ÛÌÀÚÁ
ec_wrp=ðÏÒÔ WAIS ÛÌÀÚÁ
ec_buttsave=óÏÈÒÁÎÉÔØ
ec_return=ÍÅÎÀ squid

ech_header=óÏÚÄÁÎÉÅ ëÜÛ èÏÓÔÁ
ech_header1=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ëÜÛ èÏÓÔÁ
ech_cho=ðÁÒÁÍÅÔÒÙ ëÜÛ èÏÓÔÁ
ech_h=éÍÑ ÈÏÓÔÁ
ech_parent=ÒÏÄÉÔÅÌØÓËÉÊ
ech_sibling=ÒÁ×ÎÏÐÒÁ×ÎÙÊ
ech_multicast=ÛÉÒÏËÏ×ÅÝÁÔ.
ech_t=ôÉÐ
ech_pp=ðÏÒÔ ÐÒÏËÓÉ
ech_ip=ðÏÒÔ ICP
ech_po=ôÏÌØËÏ ÐÒÏËÓÉ?
ech_y=äÁ
ech_n=îÅÔ
ech_siq=ðÏÓÙÌÁÔØ ICP ÚÁÐÒÏÓÙ?
ech_dc=ëÜÛ ÐÏ ÕÍÏÌÞÁÎÉÀ?
ech_rrc=òÁ×ÎÏÍÅÒÎÙÊ ËÜÛ?
ech_ittl=÷ÒÅÍÑ ÖÉÚÎÉ ICP
ech_d=ðÏ ÕÍÏÌÞÁÎÉÀ
ech_cw=÷ÅÓÏ×. ËÏÜÆ. ËÜÛÁ
ech_co=ôÏÌØËÏ ÂÌÉÖÁÊÛÉÊ?
ech_nd=âÅÚ ÄÁÊÄÖÅÓÔÏ×?
ech_nne=âÅÚ NetDB ÏÂÍÅÎÁ?
ech_nd1=âÅÚ ÚÁÄÅÒÖËÉ?
ech_ltp=òÅÇÉÓÔÒÁÃÉÑ ÎÁ ÐÒÏËÓÉ
ech_nl=âÅÚ ÒÅÇÉÓÔÒÁÃÉÉ
ech_u=ðÏÌØÚ:
ech_p=ðÁÒÏÌØ:
ech_mr=ûÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÊ ÏÔ×ÅÔÞÉË?
ech_qhfd=úÁÐÒÁÛÉ×ÁÔØ ÄÏÍÅÎÙ Õ ÈÏÓÔÏ×
ech_dqfd=îÅ ÚÁÐÒÁÛÉ×ÁÔØ ÄÏÍÅÎÙ
ech_buttsave=óÏÈÒÁÎÉÔØ
ech_buttdel=õÄÁÌÉÔØ
ech_return=ÓÐÉÓÏË ËÜÛÅÊ

eicp_header=äÒÕÇÉÅ ëÜÛÉ
eicp_opcs=äÒÕÇÉÅ ËÜÛÉÒÕÀÝÉÅ ÐÒÏËÓÉ ÓÅÒ×ÅÒÙ
eicp_nocd=äÒÕÇÉÅ ËÜÛÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ
eicp_aac=äÏÂÁ×ÉÔØ ÄÒÕÇÏÊ ËÜÛ
eicp_cso=ðÁÒÁÍÅÔÒÙ ÷ÙÂÏÒÁ ëÜÛÁ
eicp_fdfd=÷ÙÂÉÒÁÔØ ÐÒÑÍÏ ÉÚ ÄÏÍÅÎÏ×
eicp_fdfi=÷ÙÂÉÒÁÔØ ÐÒÑÍÏ ÉÚ IP
eicp_dif=äÏÍÅÎÙ ÚÁ ÓÅÔÅ×ÙÍÉ ÜËÒÁÎÁÍÉ
eicp_iif=IP ÁÄÒÅÓÁ ÚÁ ÓÅÔÅ×ÙÍÉ ÜËÒÁÎÁÍÉ
eicp_dfuc=îÁÐÒÑÍÕÀ ×ÙÂÉÒÁÔØ URL ÓÏÄÅÒÖÁÝÉÅ
eicp_d=ðÏ ÕÍÏÌÞÁÎÉÀ
eicp_bpfsp=ïÂÈÏÄÉÔØ ping ÄÌÑ ÏÄÉÎÏÞÎÏÇÏ ÒÏÄÉÔÅÌÑ?
eicp_y=äÁ
eicp_n=îÅÔ
eicp_ssip=ïÔÓÙÌÁÔØ ÉÓÔÏÞÎÉË × pingÅ?
eicp_crt=ôÁÊÍÁÕÔ ÏÔ×ÅÔÁ ËÜÛÁ
eicp_iqt=ôÁÊÍÁÕÔ ÚÁÐÒÏÓÁ ICP
eicp_mit=íÎÏÇÏ×ÁÒÉÁÎÔÎÙÊ ICP ÔÁÊÍÁÕÔ
eicp_dpt=ôÁÊÍÁÕÔ ÍÅÒÔ×ÏÇÏ ÓÏÓÅÄÁ
eicp_h=éÍÑ ÈÏÓÔÁ
eicp_t=ôÉÐ
eicp_pp=ðÏÒÔ ÐÒÏËÓÉ
eicp_ip=ðÏÒÔ ICP
eicp_return=ÍÅÎÀ squid

elogs_header=öÕÒÎÁÌÉÚÁÃÉÑ
elogs_lalo=ðÁÒÁÍÅÔÒÙ öÕÒÎÁÌÉÚÁÃÉÉ É öÕÒÎÁÌØÎÙÈ ÆÁÊÌÏ×
elogs_alf=öÕÒÎÁÌ ÄÏÓÔÕÐÁ
elogs_dlf=öÕÒÎÁÌ ÏÔÌÁÄËÉ
elogs_slf=öÕÒÎÁÌ ÈÒÁÎÉÌÉÝÁ
elogs_cmf=æÁÊÌ ÍÅÔÁÄÁÎÎÙÈ ËÜÛÁ
elogs_uhlf=éÓÐÏÌØÚÏ×ÁÔØ ÖÕÒÎÁÌØÎÙÊ ÆÏÒÍÁÔ HTTPD?
elogs_lmh=öÕÒÎÁÌÉÒÏ×ÁÔØ ÚÁÇÏÌÏ×ËÉ MIME?
elogs_ualf=öÕÒÎÁÌ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÈ ÁÇÅÎÔÏ×
elogs_pf=PID ÆÁÊÌ
elogs_prilfa=ïÓÕÝÅÓÔ×ÌÑÔØ RFC931 ident ÐÒÏ×ÅÒËÉ ÄÌÑ ACL
elogs_rit=RFC931 ident ÔÁÊÍÁÕÔ
elogs_dril=äÅÌÁÔØ RFC931 ident ÐÒÏ×ÅÒËÉ?
elogs_lfh=öÕÒÎÁÌÉÒÏ×ÁÔØ ÐÏÌÎÏÅ ÉÍÑ ÈÏÓÔÁ?
elogs_ln=öÕÒÎÁÌÉÒÕÅÍÁÑ ÍÁÓËÁ ÓÅÔÉ
elogs_do=ðÁÒÁÍÅÔÒÙ ÏÔÌÁÄËÉ
elogs_mht=ôÁÂÌÉÃÁ MIME ÚÁÇÏÌÏ×ËÏ×
elogs_return=ÍÅÎÀ squid

emem_header=éÓÐÏÌØÚÏ×ÁÎÉÅ ðÁÍÑÔÉ
emem_maduo=ðÁÒÁÍÅÔÒÙ éÓÐÏÌØÚÏ×ÁÎÉÑ ðÁÍÑÔÉ É äÉÓËÁ
emem_mul=ìÉÍÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÍÑÔÉ
emem_dul=ìÉÍÉÔ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÄÉÓËÁ
emem_fcs=òÁÚÍÅÒ ËÜÛÁ FQDN
emem_mb=íÂ
emem_kb=ëÂ
emem_mhwm=÷ÅÒÈÎÑÑ ×ÁÔÅÒÌÉÎÉÑ ÐÁÍÑÔÉ
emem_mlwm=îÉÖÎÑÑ ×ÁÔÅÒÌÉÎÉÑ ÐÁÍÑÔÉ
emem_dhwm=÷ÅÒÈÎÑÑ ×ÁÔÅÒÌÉÎÉÑ ÄÉÓËÁ
emem_dlwm=îÉÖÎÑÑ ×ÁÔÅÒÌÉÎÉÑ ÄÉÓËÁ
emem_mcos=íÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ËÜÛÉÒÕÅÍÏÇÏ ÏÂßÅËÔÁ
emem_iacs=òÁÚÍÅÒ ËÜÛÁ IP ÁÄÒÅÓÏ×
emem_e=×ÈÏÖÄÅÎÉÊ
emem_ichwm=÷ÅÒÈÎÑÑ ×ÁÔÅÒÌÉÎÉÑ IP ËÜÛÁ
emem_iclwm=îÉÖÎÑÑ ×ÁÔÅÒÌÉÎÉÑ IP ËÜÛÁ
emem_return=ÍÅÎÀ squid

emisc_header=ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ
emisc_mo=ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ
emisc_sdta=îÁÞÁÌØÎÁÑ DNS ÐÒÏ×ÅÒËÁ ÁÄÒÅÓÏ×
emisc_slr=òÏÔÁÃÉÑ ÖÕÒÎÁÌØÎÙÈ ÆÁÊÌÏ× ÐÏ SIGUSR1
emisc_dd=äÏÍÅÎ ÐÏ ÕÍÏÌÞÁÎÉÀ
emisc_sp=SSL ÐÒÏËÓÉ
emisc_nghp=îÅ-GET HTTP ÐÒÏËÓÉ
emisc_emt=ôÅËÓÔ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ
emisc_pcs=ðÏ-ËÌÉÅÎÔÓËÁÑ ÓÔÁÔÉÓÔÉËÁ?
emisc_xffh=X-Forwarded-For ÚÁÇÏÌÏ×ÏË?
emisc_liq=öÕÒÎÁÌÉÒÏ×ÁÔØ ICP ÚÁÐÒÏÓÙ?
emisc_mdh=íÉÎÉÍÕÍ ÐÒÑÍÙÈ ÐÅÒÅÈÏÄÏ×
emisc_kmffu=óÏÈÒÁÎÑÔØ ÐÁÍÑÔØ ÄÌÑ ÄÁÌØÎÅÊÛÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ?
emisc_aomtk=ëÏÌÉÞÅÓÔ×Ï ÓÏÈÒÁÎÑÅÍÏÊ ÐÁÍÑÔÉ
emisc_u=îÅ ÏÇÒÁÎÉÞÅÎÏ
emisc_htpt=ðÒÏÈÏÄÉÍÙÅ ÚÁÇÏÌÏ×ËÉ
emisc_ah=÷ÓÅ ÚÁÇÏÌÏ×ËÉ
emisc_oh=ôÏÌØËÏ ÚÁÇÏÌÏ×ËÉ
emisc_oe=÷ÓÅ ËÒÏÍÅ
emisc_a=áÎÏÎÉÍÁÊÚÅÒ?
emisc_off=÷ÙËÌ.
emisc_std=óÔÁÎÄÁÒÔ
emisc_par=ðÁÒÁÎÏÉË
emisc_fua=ðÏÄÄÅÌÙ×ÁÔØ áÇÅÎÔÁ-ðÏÌØÚÏ×ÁÔÅÌÑ
emisc_return=ÍÅÎÀ squid

eports_header=óÅÔØ É ðÏÒÔÙ
eports_pano=ðÁÒÁÍÅÔÒÙ óÅÔÉ É ðÏÒÔÏ×
eports_paap=ðÒÏËÓÉ ÁÄÒÅÓÁ É ÐÏÒÔÙ
eports_p=ðÏÒÔ
eports_hia=éÍÑ ÈÏÓÔÁ/IP ÁÄÒÅÓ
eports_pp=ðÏÒÔ ÐÒÏËÓÉ
eports_ip=ðÏÒÔ ICP
eports_ota=éÓÈÏÄÑÝÉÊ ÁÄÒÅÓ TCP
eports_ita=÷ÈÏÄÑÝÉÊ ÁÄÒÅÓ TCP
eports_a=ìÀÂÏÊ
eports_oua=éÓÈÏÄÑÝÉÊ ÁÄÒÅÓ UDP
eports_iua=÷ÈÏÄÑÝÉÊ ÁÄÒÅÓ UDP
eports_mg=ûÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÅ (Multicast) ÇÒÕÐÐÙ
eports_trb=âÕÆÅÒ ÐÒÉÅÍÁ TCP
eports_od=ðÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ïó
eports_return=ÍÅÎÀ squid

eprogs_header=ðÒÏÇÒÁÍÍÙ - ðÏÍÏÛÎÉËÉ
eprogs_chpo=ðÁÒÁÍÅÔÒÙ ÐÒÏÇÒÁÍÍ-ÐÏÍÏÛÎÉËÏ× ËÜÛÁ
eprogs_sfp=ðÒÏÇÒÁÍÍÁ FTP ÄÌÑ Squid
eprogs_fo=ðÁÒÁÍÅÔÒÙ FTP
eprogs_fcv=ûÉÒÉÎÁ ËÏÌÏÎËÉ FTP
eprogs_c=ÓÉÍ×.
eprogs_afl=áÎÏÎÉÍÎ. FTP ÒÅÇÉÓÔÒÁÃÉÑ
eprogs_sdp=ðÒÏÇÒÁÍÍÁ DNS ÄÌÑ Squid
eprogs_nodp=ëÏÌ-×Ï ÐÒÏÇÒÁÍÍ DNS
eprogs_adtr=äÏÂÁ×ÌÑÔØ ÄÏÍÅÎ Ë ÚÁÐÒÏÓÁÍ?
eprogs_dsa=áÄÒÅÓÁ DNS ÓÅÒ×ÅÒÏ×
eprogs_fr=éÚ resolv.conf
eprogs_ccp=ðÒÏÇÒÁÍÍÁ ÏÞÉÓÔËÉ ËÜÛÁ
eprogs_spp=ðÒÏÇÒÁÍÍÁ ping ÄÌÑ Squid
eprogs_crp=ïÔÄÅÌØÎÁÑ ÐÒÏÇÒÁÍÍÁ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ
eprogs_norp=ëÏÌ-×Ï ÐÒÏÇÒÁÍÍ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ
eprogs_cap=ïÔÄÅÌØÎÁÑ ÐÒÏÇÒÁÍÍÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
eprogs_noap=ëÏÌ-×Ï ÐÒÏÇÒÁÍÍ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
eprogs_return=ÍÅÎÀ squid

euser_header=óÏÚÄÁÎÉÅ ðÒÏËÓÉ ðÏÌØÚÏ×ÁÔÅÌÑ
euser_header1=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÒÏËÓÉ ðÏÌØÚÏ×ÁÔÅÌÑ
euser_pud=ðÁÒÁÍÅÔÒÙ ðÒÏËÓÉ ðÏÌØÚÏ×ÁÔÅÌÑ
euser_u=éÍÑ
euser_p=ðÁÒÏÌØ
euser_u1=îÅ ÍÅÎÑÅÔÓÑ
euser_return=ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ

ahttp_header=óÏÚÄÁÎÉÅ ðÒÏËÓÉ ïÇÒÁÎÉÞÅÎÉÑ
ahttp_header1=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÒÏËÓÉ ïÇÒÁÎÉÞÅÎÉÑ
ahttp_pr=ðÒÏËÓÉ ïÇÒÁÎÉÞÅÎÉÅ
ahttp_a=äÅÊÓÔ×ÉÅ
ahttp_a1=òÁÚÒÅÛÉÔØ
ahttp_d=úÁÐÒÅÔÉÔØ
ahttp_ma=óÏ×ÐÁÄ. Ó ACL
ahttp_dma=îÅ ÓÏ×ÐÁÄ. Ó ACL
ahttp_return=ÓÐÉÓÏË ACL

sahttp_ftspr=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÏËÓÉ ÏÇÒÁÎÉÞÅÎÉÑ

aicp_header=óÏÚÄÁÎÉÅ ICP ïÇÒÁÎÉÞÅÎÉÑ
aicp_header1=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ICP ïÇÒÁÎÉÞÅÎÉÑ
aicp_ir=ICP ïÇÒÁÎÉÞÅÎÉÅ
aicp_a=äÅÊÓÔ×ÉÅ
aicp_a1=òÁÚÒÅÛÉÔØ
aicp_d=úÁÐÒÅÔÉÔØ
aicp_ma=óÏ×ÐÁÄ. Ó ACL
aicp_dma=îÅ ÓÏ×ÐÁÄ. Ó ACL
aicp_return=ÓÐÉÓÏË ACL

saicp_ftsir=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ICP ÏÇÒÁÎÉÞÅÎÉÑ

icache_ftic=ïÛÉÂËÁ ÐÒÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ËÜÛÁ
icache_ymcautrsa=÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÐÏÄ ËÏÔÏÒÙÍ ×ÙÐÏÌÎÑÅÔÓÑ Squid
icache_header=éÎÉÃÉÁÌÉÚÁÃÉÑ ëÜÛÁ
icache_itscwtc=éÎÉÃÉÁÌÉÚÁÃÉÑ Squid ËÜÛÁ ËÏÍÁÎÄÏÊ <tt>$1</tt> ..
icache_return=ÍÅÎÀ squid

restart_ftrs=ïÛÉÂËÁ ÐÒÉ ÒÅËÏÎÆÉÇÕÒÁÃÉÉ squid

sadmin_ftsao=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÈ ÐÁÒÁÍÅÔÒÏ×
sadmin_header=éÚÍÅÎÅÎÉÅ ðÒÁ×ÏÏÂÌÁÄÁÎÉÑ
sadmin_msg1=÷Ù ÉÚÍÅÎÉÌÉ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ ÇÒÕÐÐÕ ÐÏÄ ËÏÔÏÒÏÊ ÒÁÂÏÔÁÅÔ Squid. äÌÑ ÐÒÁ×ÉÌØÎÏÊ ÁËÔÉ×ÉÚÁÃÉÉ ÜÔÉÈ ÉÚÍÅÎÅÎÉÊ, ÐÒÁ×ÏÏÂÌÁÄÁÎÉÅ ×ÓÅÈ ËÜÛ É ÖÕÒÎÁÌØÎÙÈ ÆÁÊÌÏ× ÄÏÌÖÎÏ ÂÙÔØ ÉÚÍÅÎÅÎÏ É Squid ÄÏÌÖÅÎ ÂÙÔØ ÒÅÓÔÁÒÔÏ×ÁÎ.
sadmin_buttco=éÚÍÅÎÉÔØ ðÒÁ×Á
sadmin_return=ÇÌÁ×ÎÏÅ ÍÅÎÀ
sadmin_inavea='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ
sadmin_inavh='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ
sadmin_inavap='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÅÒÉÏÄÏÍ ÏÐÏ×ÅÝÅÎÉÑ
sadmin_inavp='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÒÔÏÍ

sauth_ftsao=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
sauth_iomuf=îÅ×ÅÒÅÎ ÉÌÉ ÕÔÅÒÑÎ ÆÁÊÌ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
sauth_iomd=îÅ×ÅÒÅÎ ÉÌÉ ÕÔÅÒÑÎ ÄÏÍÅÎ
sauth_msg1=÷ÁÛÁ ×ÅÒÓÉÑ Squid ÎÅ ÂÙÌÁ ÓËÏÍÐÉÌÉÒÏ×ÁÎÁ Ó ÐÏÄÄÅÒÖËÏÊ ÐÒÏËÓÉ Á×ÔÏÒÉÚÁÃÉÉ

scache_ftsco=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ËÜÛÁ
scache_emsg0=÷Ù ÄÏÌÖÎÙ ××ÅÓÔÉ ËÁË ÍÉÎÉÍÕÍ ÏÄÉÎ ËÜÛ ËÁÔÁÌÏÇ
scache_emsg1=ëÜÛ ËÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
scache_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÚÁÐÒÏÓÁ
scache_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ËÜÛÉÒÏ×ÁÎÉÑ ÏÛÉÂÏÞÎÏÇÏ ÚÁÐÒÏÓÁ
scache_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ËÜÛÉÒÏ×ÁÎÉÑ DNS
scache_emsg5='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÁÊÍÁÕÔÏÍ
scache_emsg6='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ
scache_emsg7='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ ËÁÔÁÌÏÇÏ×
scache_emsg8=ëÏÌ-×Ï ËÁÔÁÌÏÇÏ× ÄÏÌÖÎÏ ÂÙÔØ >= 1
scache_emsg9=ëÏÌ-×Ï ËÁÔÁÌÏÇÏ× ÄÏÌÖÎÏ ÂÙÔØ <= 256
scache_emsg10='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÏÂßÅËÔÁ
scache_emsg11='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ ÏÂßÅËÔÏ×
scache_emsg12='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ËÁÔÁÌÏÇÁ
scache_emsg13='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÈÏÓÔÏÍ
scache_emsg14='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÒÔÏÍ

schost_ftsc=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ËÜÛÁ
schost_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÈÏÓÔÁ ËÜÛÁ
schost_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÒÏËÓÉ ÐÏÒÔÏÍ
schost_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ICP ÐÏÒÔÏÍ
schost_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÅÍ ÖÉÚÎÉ
schost_emsg5='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÅÓÏÍ

sicp_ftsco=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ËÜÛÁ
sicp_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÔÁÊÍÁÕÔÏÍ

slogs_ftslo=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
slogs_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÁÂÓÏÌÀÔÎÙÍ ÉÍÅÎÅÍ ÆÁÊÌÁ
slogs_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÆÁÊÌÁ
slogs_emsg3=ëÁÔÁÌÏÇ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
slogs_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÍÁÓËÏÊ ÓÅÔÉ
slogs_emsg5='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÓÐÉÓËÏÍ ÐÁÒÁÍÅÔÒÏ× ÏÔÌÁÄËÉ

smem_ftsmo=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÐÁÍÑÔÉ
smem_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ËÜÛÁ
smem_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ×ÅÒÈÎÅÊ ×ÁÔÅÒÌÉÎÉÅÊ
smem_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÎÉÖÎÅÊ ×ÁÔÅÒÌÉÎÉÅÊ
smem_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÏÂßÅËÔÁ

smisc_ftso=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ×
smisc_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ÒÏÔÁÃÉÊ
smisc_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÏÍÅÎÏÍ
smisc_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÒÏËÓÉ
smisc_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÞÉÓÌÏÍ ÐÅÒÅÈÏÄÏ×

sport_ftspo=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÐÏÒÔÁ
sport_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ ÐÏÒÔÁ
sport_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
sport_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÂÕÆÅÒÁ

sprog_ftshpo=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÐÒÏÇÒÍÍ - ÐÏÍÏÛÎÉËÏ×
sprog_emsg1=îÅÔ ÐÁÒÁÍÅÔÒÏ× FTP
sprog_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÐÒÏÇÒÁÍÍÏÊ
sprog_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ×ÙÐÏÌÎÑÅÍÏÊ ÐÒÏÇÒÁÍÍÏÊ
sprog_emsg4='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ FTP
sprog_emsg5='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ÐÒÏÇÒÁÍÍ
sprog_emsg6='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÛÉÒÉÎÏÊ ËÏÌÏÎËÉ
sprog_emsg7=îÅ ××ÅÄÅÎÙ DNS ÓÅÒ×ÅÒÙ
sprog_emsg8='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ

suser_ftsu=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
suser_emsg1=îÅ×ÅÒÎÏ ÉÌÉ ÐÒÏÐÕÝÅÎÏ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ

start_ftsq=ïÛÉÂËÁ ÐÒÉ ÓÔÁÒÔÅ squid
stop_ftsq=ïÛÉÂËÁ ÐÒÉ ÏÓÔÁÎÏ×ËÅ squid

lib_emsg1='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
lib_seconds=ÓÅË.
lib_minutes=ÍÉÎ.
lib_hours=ÞÁÓ.
lib_days=ÄÎ.
lib_weeks=ÎÅÄ.
lib_fortnights=2 ÎÅÄ.
lib_months=ÍÅÓ.
lib_years=ÌÅÔ
lib_decades=ÄÅËÁÄ
lib_emsg2='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ $2
lib_kb=ëÂ
lib_mb=íÂ
lib_gb=çÂ
lib_emsg3='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ $2
lib_aclca=áÄÒÅÓ ëÌÉÅÎÔÁ
lib_aclwsa=áÄÒÅÓ ÷ÅÂ óÅÒ×ÅÒÁ
lib_aclch=éÍÑ ÈÏÓÔÁ ëÌÉÅÎÔÁ
lib_acldat=äÁÔÁ É ÷ÒÅÍÑ
lib_aclur=òÅÇ.×ÙÒ. URL
lib_aclupr=òÅÇ.×ÙÒ. ÐÕÔÉ URL
lib_aclup=ðÏÒÔ URL
lib_aclup1=ðÒÏÔÏËÏÌ URL
lib_aclrm=íÅÔÏÄ úÁÐÒÏÓÁ
lib_aclbr=òÅÇ.×ÙÒ. âÒÁÕÚÅÒÁ
lib_aclpl=òÅÇÉÓÔÒÁÃÉÑ ðÒÏËÓÉ
lib_aclsan=éÓÔÏÞÎÉË ëáë îÏÍÅÒ
lib_acldan=ðÒÉÅÍÎÉË ëáë îÏÍÅÒ
lib_aclea=÷ÎÅÛÎÑÑ áÕÔÅÎÔ-ÉÑ
lib_aclcr=òÅÇ.×ÙÒ. ëÌÉÅÎÔÁ
lib_aclwsr=òÅÇ.×ÙÒ. ÷ÅÂ óÅÒ×ÅÒÁ
lib_aclru=RFC931 ðÏÌØÚÏ×ÁÔÅÌØ
lib_aclpia=IP áÄÒÅÓ ðÒÏËÓÉ
lib_buttac=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
lib_buttss=ïÓÔÁÎÏ×ÉÔØ Squid
lib_buttss1=óÔÁÒÔÏ×ÁÔØ Squid

 07070100049902000081a40000000000000002000000013d1fe2d400005292000000200000000000000000000000000000001400000003reloc/squid/lang/sv   index_header=Squid proxyserver
index_msgnoconfig=Inställningsfilen <tt>$1</tt> för Squid finns inte. Om Squid är installerat måste du ändra <a href=/config.cgi?$2 >modulinställningarna</a> så att rätt sökväg används.
index_msgnoexe=Squid-körfilen <tt>$1</tt> finns inte. Om Squid är installerat måste du ändra <a href=/config.cgi?$2 >modulinställningarna</a> så att rätt sökväg används.
index_msgnosupported=Denna version av Squid stöds inte av Webmin. Endast versionerna <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> och <tt>2.3</tt> stöds av denna modul.
index_msgnodir1=Dina Squid-cache-kataloger <tt>$1</tt> har inte initialiserats.
index_msgnodir2=Din Squid-cache-katalog <tt>$1</tt> har inte initialiserats.
index_msgnodir3=Detta måste utföras innan Squid kan startas.
index_buttinit=Initialisera cache
index_asuser=som Unix-användare
index_portsnets=Portar och nätverk
index_othercaches=övriga cachar
index_musage=Minnesutnyttjande
index_mdusage=Minnes- och diskutnyttjande
index_logging=Loggning
index_copts=Inställningar för cache
index_hprogs=Hjälpprogram
index_actrl=Åtkomstkontroll
index_admopts=Administrativa inställningar
index_proxyauth=Proxy-autentisering
index_miscopt=Blandade inställningar
index_cms=Statistik för cache-hanteringen
index_rebuild=Töm och bygg upp cachen igen
index_calamaris=Calamaris logganalysering
index_return=index

buttsave=Spara
buttdel=Ta bort
buttcreat=Skapa
yes=Ja
no=Nej
default=Standard
none=Ingen
on=På
off=Av

acl_header1=Skapa åtkomstlista
acl_header2=Ändra åtkomstlista
acl_name=Namn på åtkomstlista
acl_fromip=Från IP
acl_toip=Till IP
acl_nmask=Nätmask
acl_ipaddr=IP-adress
acl_domains=Domäner
acl_dofw=Veckodagar
acl_sel=Angivna ...
acl_all=Alla
acl_dsun=söndag
acl_dmon=måndag
acl_dtue=tisdag
acl_dwed=onsdag
acl_dthu=torsdag
acl_dfri=fredag
acl_dsat=lördag
acl_hofd=Klockslag
acl_to=till
acl_regexp=Reguljära uttryck
acl_tcpports=TCP-portar
acl_urlproto=URL-protokoll
acl_reqmethods=Förfrågningsmetoder
acl_bregexp=Browser-regexp
acl_pusers=Proxy-användare
acl_eusers=Externa Auth-användare
acl_case=Likställa versaler och gemener?
acl_eusersre=Reguljära uttryck för externa Auth-användare
acl_asnum=som tal
acl_rtime=Uppdateringstid
acl_rfcusers=RFC931-användare
acl_mcr=Maximalt antal samtidiga förfrågningar
acl_psp=Proxy-serverport
acl_scs=SNMP Community-sträng
acl_rmt=Fråga efter MIME-typ
acl_arp=Klientens ethernet-adresser
acl_failurl=URL vid fel
acl_buttsave=Spara
acl_buttdel=Ta bort
acl_return=åtkomstlista

aclsave_failsave=Det gick inte att spara åtkomstlista
aclsave_faildel=Det gick inte att ta bort åtkomstlista
aclsave_epr=Denna åtkomstlista används av en proxy-begränsning
aclsave_eicpr=Denna åtkomstlista används av en ICP-begränsning
aclsave_ename=Felaktigt namn på åtkomstlista
aclsave_eexists=Det finns redan en åtkomstlista som heter '$1'
aclsave_efrom='$1' är inte en giltig avsändar-IP-adress
aclsave_eto='$1' är inte en giltig mottagar-IP-adress
aclsave_enmask='$1' är inte en giltig nätmask
aclsave_eip='$1' är inte en giltig IP-adress
aclsave_ecdom=Du har inte angivit någon klientdomän
aclsave_esdom=Du har inte angivit någon serverdomän
aclsave_eshour=Felaktigt startklockslag (timmar)
aclsave_eehour=Felaktigt slutklockslag (timmar)
aclsave_esmin=Felaktigt startklockslag (minuter)
aclsave_eemin=Felaktigt slutklockslag (minuter)
aclsave_efile=Du får inte skriva i ACL-filen '$1'

cach_err=Fel
cach_nfound=Squids cache-hanteringsprogram <tt>$1</tt> finns inte på ditt system. Dina <a href=/config.cgi?$2 >modulinställningar</a> kanske är felaktiga.
cach_return=squid-index

chown_header=Ändra ägare
chown_stop=Stannar Squid ...
chown_done=... klart
chown_chown=Ändrar ägare ...
chown_restart=Startar Squid igen ...
chown_failrestart=Det gick inte att starta Squid igen ...
chown_return=squid-index

clear_header=Töm och bygg upp cachen igen
clear_msgclear=Vill du verkligen tömma och bygga upp Squid-cachen igen? <b>Alla</b> filer i cachen kommer att tas bort och Squid-servern startas om.
clear_msgclear2=Försäkra dig om att cachen inte används för att kommunicera med denna Webmin-server. Om den gör det kommer du att kopplas ned när cachen töms.
clear_buttclear=Töm och bygg upp cachen igen
clear_stop=Stannar Squid ...
clear_done=... klart
clear_del=Tar bort gamla cache-filer ...
clear_init=Initialiserar Squid-cachen med kommando <tt>$1</tt> ...
clear_failrestart=Det gick inte att starta om Squid ...
clear_return=squid-index

eacl_header=Åtkomstkontroll
eacl_acls=Listor för åtkomstkontroll (ACL)
eacl_name=Namn
eacl_type=Typ
eacl_match=Matchar ...
eacl_noacls=Du har inte definierat någon lista
eacl_buttcreate=Skapa ny lista
eacl_pr=Proxy-begränsningar
eacl_act=Åtgärd
eacl_acls1=Listor
eacl_move=Flytta
eacl_nopr=Du har inte definierat någon proxy-begränsning
eacl_addpr=Lägg till proxy-begränsning
eacl_icpr=ICP-begränsningar
eacl_noicpr=Du har inte definierat någon ICP-begränsning
eacl_addicpr=Lägg till ICP-begränsning
eacl_return=squid-index
eacl_allow=Tillåt
eacl_deny=Spärra

eadm_header=Administrativa inställningar
eadm_aao=Administrativa och annonseringsinställningar
eadm_runasuu=Kör som Unix-användare
eadm_nochange=Inga ändringar
eadm_user=Användare
eadm_group=Grupp
eadm_runasug=Kör som Unix-grupp
eadm_par=Proxy-autentiseringsområde
eadm_default=Standard
eadm_cmemail=Cache-administratörens e-postadress
eadm_vhost=Synligt datornamn
eadm_uniq=Unikt datornamn
eadm_haliases=Andra cache-DNS-namn
eadm_auto=Automatiskt
eadm_annto=Annonsera cachen till
eadm_annevery=Annonsera cachen varje
eadm_never=Aldrig
eadm_uniqhn=Unikt datornamn
eadm_cah=Dator för cache-meddelanden
eadm_cap=Port för cache-meddelanden
eadm_caf=Cache-annonseringsfil
eadm_none=Ingen
eadm_annp=Annonseringsintervall
eadm_buttsave=Spara
eadm_return=squid-index

eauth_header=Proxy-autentisering
eauth_aopt=Autentiseringsinställningar
eauth_puf=Proxy-användarfil
eauth_none=Ingen
eauth_nologin=Inloggning behövs inte för domän
eauth_buttsave=Spara
eauth_msgaccess=Din proxyserver är tillgänglig endast för nedan angivna användare. Om du ändrar i denna lista måste Squid stannas och startas om för att ändringarna ska slå igenom.
eauth_nmsgaccess=Din proxyserver är tillgänglig endast för nedan angivna användare. Lista är tagen från filen $1.
eauth_pusers=Proxy-användare
eauth_nopusers=Du har inte definierat någon proxy-användare.
eauth_addpuser=Lägg till proxy-användare
eauth_return=squid-index

ec_header=Cache-inställningar
ec_cro=Inställningar för cachning och förfrågningar
ec_cdirs=Cache-kataloger
ec_default=Standard
ec_listed=Angivna ...
ec_directory=Katalog
ec_type=Typ
ec_mos=Objektstorlek (kB)
ec_size=Storlek (MB)
ec_1dirs=1-nivåkat.
ec_2dirs=2-nivåkat.
ec_u=UFS
ec_ua=Async UFS
ec_diskd=DISKD
ec_1dirs1=Förstanivåkataloger
ec_2dirs2=Andranivåkataloger
ec_aos=Medelstorlek på objekt
ec_kb=kB
ec_mins=minuter
ec_secs=sekunder
ec_opb=Antal objekt per katalog
ec_ncuc=Cacha inte URL:er som innehåller
ec_ncum=Cacha inte URL:er som stämmer med
ec_ncua=Cacha inte URL:er för åtkomstlistor
ec_mct=Maximal cachetid
ec_mrbs=Maximal kropp för förfrågning
ec_mrhs=Maximal rubrik för förfrågning
ec_mrbs1=Maximal kropp för svar
ec_mrs=Maximal storlek för förfrågning
ec_frct=Cachetid för misslyckad förfrågning
ec_dlct=Cachetid för DNS-uppslagning
ec_fdct=Cachetid för misslyckad DNS-uppslagning
ec_ct=Tidsgräns för uppkoppling
ec_rt=Tidsgräns för läsning
ec_mcct=Maximal uppkopplingstid för klient
ec_mst=Maximal avstängningstid
ec_sst=Tidsgräns för siteval
ec_crt=Tidsgräns för klientförfrågning
ec_hcc=Halvstängda klienter?
ec_pt=Kvardröjande tidsgräns
ec_wr=WAIS-relä
ec_none=Inget
ec_host=Dator
ec_port=Port
ec_wrh=Dator för WAIS-relä
ec_wrp=Port för WAIS-relä
ec_buttsave=Spara
ec_return=squid-index

ech_header=Lägg till cache-dator
ech_header1=Ändra cache-dator
ech_cho=Inställningar för cache-dator
ech_h=Datornamn
ech_parent=överordnad
ech_sibling=likställd
ech_multicast=multicast
ech_t=Typ
ech_pp=Proxy-port
ech_ip=ICP-port
ech_po=Endast proxy?
ech_y=Ja
ech_n=Nej
ech_siq=Skicka ICP-förfrågningar?
ech_dc=Standard-cache?
ech_rrc=Round-robin-cache?
ech_ittl=ICP-livstid
ech_d=Standard
ech_cw=Cache-viktning
ech_co=Endast närmaste?
ech_nd=Inget urval?
ech_nne=Inget NetDB-utbyte?
ech_nd1=Ingen fördröjning?
ech_ltp=Inloggning till proxy
ech_nl=Ingen inloggning
ech_u=Användare:
ech_p=Lösenord:
ech_mr=Multicast-svar?
ech_qhfd=Slå upp domäner hos datorn
ech_dqfd=Slå inte upp domäner
ech_buttsave=Spara
ech_buttdel=Ta bort
ech_return=cache-lista

eicp_header=Övriga cachar
eicp_opcs=Övriga proxy-cache-servrar
eicp_nocd=Du har inte definierat någon annan cache
eicp_aac=Lägg till cache
eicp_cso=Inställningar för cacheval
eicp_fdfd=Hämta direkt från domän(er)
eicp_fdfi=Hämta direkt från IP
eicp_dif=Domäner på insidan av brandväggen
eicp_iif=IP-nummer på insidan av brandväggen
eicp_dfuc=Omedelbart hämta URL:er som innehåller
eicp_d=Standard
eicp_bpfsp=Gå runt ping för ensam överordnad?
eicp_y=Ja
eicp_n=Nej
eicp_secs=sekunder
eicp_ssip=Skicka ursprungsdator i ping?
eicp_crt=Tidsgräns för cache-svar
eicp_iqt=Tidsgräns för ICP-uppslagning
eicp_mit=Tidsgräns för multicast-ICP
eicp_dpt=Tidsgräns för död motpart
eicp_h=Datornamn
eicp_t=Typ
eicp_pp=Proxy-port
eicp_ip=ICP-port
eicp_return=squid-index
eicp_always=ACL:er som ska hämtas direkt
eicp_noalways=Du har inte angivit någon ACL som ska hämtas direkt
eicp_addalways=Lägg till ACL:er som ska hämtas direkt
eicp_never=ACL:er som aldrig ska hämtas direkt
eicp_nonever=Du har inte angivit någon ACL som aldrig ska hämtas direkt
eicp_addnever=Lägg till ACL:er som aldrig ska hämtas direkt

elogs_header=Loggning
elogs_lalo=Inställningar för loggning
elogs_alf=Loggfil för åtkomst
elogs_dlf=Loggfil för debuggning
elogs_slf=Loggfil för lagring
elogs_cmf=Fil för cache-metadata
elogs_uhlf=Använda HTTPD-loggformat?
elogs_lmh=Logga MIME-huvuden?
elogs_ualf=Loggfil för användarprogram
elogs_pf=PID-fil
elogs_prilfa=Utföra RFC931-identitetsuppslagningar för åtkomstlistor
elogs_rit=Tidsgräns för RFC931-identitet
elogs_dril=Göra RFC931-uppslagningar?
elogs_lfh=Logga fullständiga datornamn?
elogs_ln=Loggar nätmask
elogs_do=Debuggningsinställningar
elogs_mht=Tabell över MIME-huvuden
elogs_return=squid-index

emem_dheader=Minnes- och diskutnyttjande
emem_header=Minnesutnyttjande
emem_maduo=Inställningar för minnes- och diskutnyttjande
emem_mul=Minnesbegränsning
emem_dul=Diskbegränsning
emem_fcs=FD(FQDN)-cachestorlek
emem_mb=MB
emem_kb=kB
emem_mhwm="Högvattenmärke" för minne
emem_mlwm="Lågvattenmärke" för minne
emem_dhwm="Högvattenmärke" för disk
emem_dlwm="Lågvattenmärke" för disk
emem_mcos=Maximal storlek för cachade objekt
emem_iacs=Storlek för IP-adress-cache
emem_e=poster
emem_ichwm="Högvattenmärke" för IP-cache
emem_iclwm="Lågvattenmärke" för IP-cache
emem_crp=Diskutbytespolicy
emem_lru=Oanvänd längst tid
emem_gdsf=Greedy-dual size frequency
emem_lfuda=Dynamiskt minst använd
emem_hlru=Totalt minst använd
emem_return=squid-index
emem_mrp=Minnesutbytespolicy

emisc_header=Blandade inställningar
emisc_mo=Blandade inställningar
emisc_sdta=DNS-testadresser vid start
emisc_slr=SIGUSR1-loggfilsrotationer
emisc_dd=Standarddomän
emisc_sp=SSL-proxy
emisc_nghp=Ingen GET HTTP-proxy
emisc_emt=Felmeddelandetext
emisc_pcs=Statistik per klient?
emisc_xffh=X-Forwarded-For-rubrik?
emisc_liq=Logga ICP-uppslagningar?
emisc_mdh=Minimalt antal direkta hops
emisc_kmffu=Spara minne för framtida bruk?
emisc_aomtk=Sparad minnesmängd
emisc_u=Obegränsad
emisc_htpt=Huvuden som släpps igenom
emisc_ah=Alla
emisc_oh=Endast
emisc_ae=Alla utom
emisc_a=Anonymisering?
emisc_off=Av
emisc_std=Standard
emisc_par=Paranoid
emisc_fua=Förfalska användarprogram
emisc_return=squid-index
emisc_hauhh=HTTP Accel använder Host-huvud
emisc_hah=HTTP Accel-dator
emisc_hap=HTTP Accel-port
emisc_hawp=HTTP Accel med proxy

eports_header=Portar och nätverk
eports_pano=Inställningar för portar och nätverk
eports_paap=Proxy-adresser och -portar
eports_p=Port
eports_hia=Datornamn/IP-adress
eports_pp=Proxy-port
eports_ip=ICP-port
eports_ota=Utgående TCP-adress
eports_ita=Inkommande TCP-adress
eports_a=Alla
eports_oua=Utgående UDP-adress
eports_iua=Inkommande UDP-adress
eports_mg=Multicast-grupper
eports_trb=TCP-mottagningsbuffer
eports_od=Standard-OS
eports_return=squid-index

eprogs_header=Hjälpprogram
eprogs_chpo=Inställningar för cache-hjälpprogram
eprogs_sfp=Squid FTP-program
eprogs_fo=FTP-inställningar
eprogs_fcv=FTP-kolumnbredd
eprogs_c=tecken
eprogs_afl=Anonym FTP-inloggning
eprogs_sdp=Squid DNS-program
eprogs_nodp=Antal DNS-program
eprogs_adtr=Öppna domän för förfrågningar
eprogs_dsa=DNS-serveradresser
eprogs_fr=Från resolv.conf
eprogs_ccp=Cache-rensningsprogram
eprogs_spp=Squid ping-program
eprogs_crp=Eget omdirigeringsprogram
eprogs_norp=Antal omdirigeringsprogram
eprogs_cap=Eget autentiseringsprogram
eprogs_noap=Antal autentiseringsprogram
eprogs_return=squid-index

euser_header=Skapa proxy-användare
euser_header1=Ändra proxy-användare
euser_pud=Uppgifter om proxy-användare
euser_u=Användarnamn
euser_p=Lösenord
euser_u1=Oförändrat
euser_return=användarlista

ahttp_header=Ny proxy-begränsning
ahttp_header1=Ändra proxy-begränsning
ahttp_pr=Proxy-begränsning
ahttp_a=Åtgärd
ahttp_a1=Tillåt
ahttp_d=Spärra
ahttp_ma=Matcha åtkomstlistor
ahttp_dma=Matcha inte åtkomstlistor
ahttp_return=Åtkomstlista

sahttp_ftspr=Det gick inte att spara proxy-begränsning

aicp_header=Ny ICP-begränsning
aicp_header1=Ändra ICP-begränsning
aicp_ir=ICP-begränsning
aicp_a=Åtgärd
aicp_a1=Tillåt
aicp_d=Förbjud
aicp_ma=Matcha åtkomstlistor
aicp_dma=Matcha inte åtkomstlistor
aicp_return=Åtkomstlista

saicp_ftsir=Det gick inte att spara ICP-begränsning

icache_ftic=Det gick inte att initialisera cache
icache_ymcautrsa=Du måste ange vilken användare du vill köra Squid som
icache_itscwtc=Initialiserar Squid-cachen med kommando <tt>$1</tt> ...
icache_return=squid-index
icache_title=Initialisera cache

restart_ftrs=Det gick inte att ändra inställningar för Squid

sadmin_ftsao=Det gick inte att spara administrativa inställningar
sadmin_header=Ändra ägare
sadmin_msg1=Du har ändrat användare eller grupp som Squid ska köra som. För att detta ska slå igenom måste du uppdatera ägare för alla cache- och loggfiler och starta om Squid.
sadmin_buttco=Ändra ägare
sadmin_return=squid-index
sadmin_inavea='$1' är inte en giltig e-postadress
sadmin_inavh='$1' är inte ett giltigt datornamn
sadmin_inavap='$1' är inte ett giltigt annonseringsintervall
sadmin_inavp='$1' är inte en giltig port

sauth_ftsao=Det gick inte att spara autentiseringsinställningar
sauth_iomuf=Användarfilnamn saknas eller är felaktigt angivet
sauth_iomd=Domän saknas eller är felaktigt angiven
sauth_msg1=Din version av Squid är inte kompilerad med proxy-autentiseringsstöd.

scache_ftsco=Det gick inte att spara cache-inställningar
scache_emsg0=Du måste ange minst en cache-katalog
scache_emsg1=Cache-katalog '$1' finns inte
scache_emsg2='$1' är inte en giltig storlek på förfrågning
scache_emsg3='$1' är inte en giltig cachetid för misslyckad förfrågning
scache_emsg4='$1' är inte en giltig cachetid för DNS
scache_emsg5='$1' är inte en giltig tidsgräns
scache_emsg6='$1' är inte en giltig tid
scache_emsg7='$1' är inte ett giltigt katalogantal
scache_emsg8=Katalogantalet måste vara >= 1
scache_emsg9=Katalogantalet måste vara <= 256
scache_emsg10='$1' är inte en giltig objektstorlek
scache_emsg11='$1' är inte et giltigt objektantal
scache_emsg12='$1' är inte en giltig katalogstorlek
scache_emsg13='$1' är inte en giltig dator
scache_emsg14='$1' är inte en giltig port

schost_ftsc=Det gick inte att spara cache
schost_emsg1='$1' är inte ett giltigt cache-datornamn
schost_emsg2='$1' är inte en giltig proxy-port
schost_emsg3='$1' är inte en giltig ICP-port
schost_emsg4='$1' är inte en giltig livstid
schost_emsg5='$1' är inte en giltig viktning

sicp_ftsco=Det gick inte att spara cache-inställningar
sicp_emsg1='$1' är inte en giltig tidsgräns

slogs_ftslo=Det gick inte att spara logginställningar
slogs_emsg1='$1' är inte ett absolut filnamn
slogs_emsg2='$1' är inte ett giltigt filenamn
slogs_emsg3=Katalogen '$1' finns inte
slogs_emsg4='$1' är inte en giltig nätmask
slogs_emsg5='$1' är inte giltiga debuggningsinställningar

smem_ftsmo=Det gick inte att spara minnesinställningar
smem_emsg1='$1' är inte en giltig cache-storlek
smem_emsg2='$1' är inte ett giltigt högvattenmärke
smem_emsg3='$1' är inte ett giltigt lågvattenmärke
smem_emsg4='$1' är inte en giltig objektstorlek

smisc_ftso=Det gick inte att spara inställningar
smisc_emsg1='$1' är inte ett giltigt rotationsantal
smisc_emsg2='$1' är inte en giltig domän
smisc_emsg3='$1' är inte en giltig proxy
smisc_emsg4='$1' är inte ett giltigt hops-antal

sport_ftspo=Det gick inte att spara port-inställningar
sport_emsg1='$1' är inte ett giltigt portnummer
sport_emsg2='$1' är inte en giltig adress
sport_emsg3='$1' är inte en giltig bufferstorlek

sprog_ftshpo=Det gick inte att spara inställningar för hjälpprogram
sprog_emsg1=FTP-inställningar saknas
sprog_emsg2='$1' är inte ett giltigt program
sprog_emsg3='$1' är inte ett körbart program
sprog_emsg4='$1' är inte ett giltigt FTP-inloggningsnamn
sprog_emsg5='$1' är inte ett giltigt programantal
sprog_emsg6='$1' är inte en giltig kolumnbredd
sprog_emsg7=Du har inte angivit någon DNS-server
sprog_emsg8='$1' är inte en giltig IP-adress

suser_ftsu=Det gick inte att spara användare
suser_emsg1=Användarnamn saknas eller är felaktigt angivet

start_ftsq=Det gick inte att starta Squid
stop_ftsq=Det gick inte att stanna Squid

calamaris_title=Calamaris logganalysering
calamaris_last=Begränsar analysen till de senaste $1 loggraderna ...
calamaris_eprog=Den körbara Calamaris-filen $1 kunde inte hittas. Den kanske inte har installerats på systemet, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.
calamaris_elogs=Loggkatalogen $1 innehåller inte några <tt>access.log</tt>-filer. squid kanske inte har körts än, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.
calamaris_gen=Rapport genererad $1

lib_emsg1='$1' är inte en giltig IP-adress
lib_seconds=sekunder
lib_minutes=minuter
lib_hours=timmar
lib_days=dagar
lib_weeks=veckor
lib_fortnights=tvåveckorsperioder
lib_months=månader
lib_years=år
lib_decades=decennier
lib_emsg2='$1' är inte ett giltigt antal $2
lib_kb=kB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1' är inte ett giltigt antal $2
lib_aclca=Klientadress
lib_aclwsa=Webserveradress
lib_aclch=Klientdatornamn
lib_aclwsh=Webservernamn
lib_acldat=Datum och tid
lib_aclur=URL regexp
lib_aclupr=URL sökväg, regexp
lib_aclup=URL-port
lib_aclup1=URL-protokoll
lib_aclrm=Förfrågningsmetod
lib_aclbr=Browser regexp
lib_aclpl=Proxy-inloggning
lib_aclsan=Ursprung som nummer
lib_acldan=Destination som nummer
lib_aclea=Extern autentisering
lib_aclcr=Klient regexp
lib_aclwsr=Webserver regexp
lib_aclru=RFC931-användare
lib_aclpia=Proxy-IP-adress
lib_aclmc=Maximalt antal uppkopplingar
lib_aclpp=Proxy-port
lib_aclsc=SNMP Community
lib_aclrmt=Fråga efter MIME-typ
lib_aclarp=Ethernet-adress
lib_aclear=Externt reguljärt Auth-uttryck
lib_buttac=Genomför ändringar
lib_buttss=Stanna Squid
lib_buttss1=Starta Squid

log_ports=Ändrade port- och nätverksinställningar
log_icp=Ändrade övriga cache-inställningar
log_mem=Ändrade inställningar för minnesutnyttjande
log_logs=Ändrade loggningsinställningar
log_cache=Ändrade cache-inställningar
log_progs=Ändrade inställningar för hjälpprogram
log_admin=Ändrade administrativa inställningar
log_misc=Ändrade blandade inställningar
log_clear=Rensade och återuppbyggde cachen
log_acl_create=Lade till ACL $1
log_acl_modify=Modifierade ACL $1
log_acl_delete=Tog bort ACL $1
log_http_create=Lade till proxy-begränsning
log_http_modify=Modifierade proxy-begränsning
log_http_delete=Tog bort proxy-begränsning
log_http_move=Flyttade proxy-begränsning
log_icp_create=Lade till ICP-begränsning
log_icp_modify=Modifierade ICP-begränsning
log_icp_delete=Tog bort ICP-begränsning
log_icp_move=Flyttade ICP-begränsning
log_stop=Stannade proxy-server
log_start=Startade proxy-server
log_apply=Tog ändringar i drift
log_host_create=Lade till cache-dator $1
log_host_modify=Modifierade cache-dator $1
log_host_delete=Tog bort cache-dator $1
log_init=Initialiserade cache
log_user_create=Lade till proxy-användare $1
log_user_delete=Tog bort proxy-användare $1
log_user_modify=Modifierade proxy-användare $1
log_always_create=Lade till ACL:er som ska hämtas direkt
log_always_modify=Modifierade ACL:er som ska hämtas direkt
log_always_delete=Tog bort ACL:er som ska hämtas direkt
log_always_move=Flyttade ACL:er som ska hämtas direkt
log_never_create=Lade till ACL:er som aldrig ska hämtas direkt
log_never_modify=Modifierade ACL:er som aldrig ska hämtas direkt
log_never_delete=Tog bort ACL:er som aldrig ska hämtas direkt
log_never_move=Flyttade ACL:er som aldrig ska hämtas direkt

acl_root=Rotkatalog för ACL-filer

always_create=Lägg till lista att hämta direkt
always_edit=Ändra lista att hämta direkt
always_header=Hämta förfrågningar direkt, som matchar ACL:erna

never_create=Lägg till lista som inte ska hämtas direkt
never_edit=Ändra lista som inte ska hämtas direkt
never_header=Hämta aldrig förfrågningar direkt, som matchar ACL:erna
  07070100049903000081a40000000000000002000000013d1fe2d400004a0f000000200000000000000000000000000000001400000003reloc/squid/lang/tr   index_header=Squid Proxy Sunucusu
index_msgnoconfig=Squid yapýlandýrma dosyasý <tt>$1</tt> mevcut deðil. Squid kurulu ise doðru yolu kullanabilmek için <a href=/config.cgi?$2>modül yapýlandýrmasý</a>ný yeniden yapmalýsýnýz
index_msgnoexe=Squid çalýþtýrýlabiliri <tt>$1</tt> mevcut deðil.Squid kurulu ise soðru yolu kullanabilmek için <a href=/config.cgi?$2>Modül yapýlandýrmasý</a>ný tekrar yapmalýsýnýz
index_msgnosupported=Squid'inizin sürümü Linux tarafýndan desteklenmemektedir.Sadece <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> ve <tt>2.3</tt> sürümleri desteklenmektedir
index_msgnodir1=Squid cache dizininiz <tt>$1</tt> ilklendirilmedi.
index_msgnodir2=Squid cache dizininiz <tt>$1</tt> ilklendirilmedi.
index_msgnodir3=Squid çalýþtýrýlabilir olmadan önce bu bitmiþ olmalýdýr.
index_buttinit=Cache Ýlklendir
index_asuser=Unix kullanýcýsý olarak
index_portsnets=Portlar ve Aðlar
index_othercaches=Diðer Cache'ler
index_musage=Bellek kullanýmý
index_logging=Kayýt
index_copts=Cache Seçenekleri
index_hprogs=Yardým Programlarý
index_actrl=Giriþ Kontrol
index_admopts=Yönetim Seçenekleri
index_proxyauth=Proxy Onaylama
index_miscopt=Çeþitli Seçenekler
index_cms=Cache Yönetim Ýstatistikleri
index_rebuild=Cache'yi Temizle ve Tekrar Oluþtur
index_return=indeks

buttsave=Kaydet
buttdel=Sil
buttcreat=Oluþtur
yes=Evet
no=Hayýr
default=Öntanýmlý
none=Hiçbiri
on=Açýk
off=Kapalý

acl_header1=ACL Oluþtur
acl_header2=ACL Deðiþtir
acl_name=ACL Ýsmi
acl_fromip=IP'den
acl_toip=IP'ye
acl_nmask=Að Maskesi
acl_ipaddr=IP Adresi
acl_domains=Alanlar
acl_dofw=Haftanýn Günleri
acl_sel=Seçili..
acl_all=Hepsi
acl_dsun=Pazar
acl_dmon=Pazartesi
acl_dtue=Salý
acl_dwed=Çarþamba
acl_dthu=Perþembe
acl_dfri=Cuma
acl_dsat=Cumartesi
acl_hofd=Günün Saatleri
acl_to='e
acl_regexp=Düzenleme Ýfadeleri
acl_tcpports=TCP Portlarý
acl_urlproto=URL Protokollarý
acl_reqmethods=Gerekli Metodlar
acl_bregexp=Tarayýcý Kayýt Ýfadeleri
acl_pusers=Proxy Kullanýcýlarý
acl_asnum=AS Numaralarý
acl_rtime=Yenileme Zamaný
acl_rfcusers=RFC931 Kullanýcýlarý
acl_mcr=Ayný zamandaki en çok istek sayýsý
acl_psp=Proxy Sunucusu Portu
acl_scs=SNMP Topluluk Sýrasý
acl_failurl=URL Hatasý
acl_buttsave=Kaydet
acl_buttdel=Sil
acl_return=ACL listesi

aclsave_failsave=ACL'nin kaydedilmesinde hata oluþtu
aclsave_faildel=ACL'nin silinmesinde hata oluþtu
aclsave_epr=Bu ACL proxy sýralanmasý ile kullanýlmýþ oldu
aclsave_eicpr=Bu ACL ICP sýralanmasý ile kullanýlmýþ oldu 
aclsave_ename=Yanlýþ ACL ismi
aclsave_eexists='$1' ACL isimi her zaman mevcut
aclsave_efrom='$1' geçerli bir From IP adresi deðil
aclsave_eto='$1' geçerli bir To IP adresi deðil
aclsave_enmask='$1' geçerli bir að maskesi deðil
aclsave_eip='$1' geçerli bir IP adresi deðil
aclsave_ecdom=Ýstemci alanlarý verilmedi
aclsave_esdom=Sunucu alanlarý verilmedi
aclsave_eshour=Yanlýþ baþlama saati
aclsave_eehour=Yanlýþ bitiþ saati
aclsave_esmin=Yanlýþ baþlama dakikasý
aclsave_eemin=Yanlýþ bitiþ dakikasý
aclsave_efile=ACL dosyasý '$1'e yazmak için izininiz yoktur

cach_err=Hata
cach_nfound=Squid cache yönetim programý <tt>$1</tt> sisteminizde bulunamadý.<a href=/config.cgi?$2>modül yapýlandýrmanýz</a> doðru olmayabilir
cach_return=squid indeksi

chown_header=Sahibini Deðiþtir
chown_stop=Squid durduruluyoe ...
chown_done=.. Bitti
chown_chown=Sahibi deðiþtiriliyor ...
chown_restart=Squid Tekrar Baþlatlýyor ...
chown_failrestart=Squid'in tekrar baþlatýlmasýnda hata oluþtu ..
chown_return=squid indeksi

clear_header=Cache'i Temizle ve Tekrar Oluþtur
clear_msgclear=Squid cache'sini silmek ve tekrar oluþturmak istediðinizden emin misiniz?Bunu yaptýðýnýzda Squid'in cache'sindeki <tt>bütün</tt> dosyalar silinecek ve Squid yeniden baþlatýlacaktýr. Baðlantýnýz geçici olarak kesilebilir.
clear_msgclear2=
clear_buttclear=Squid Kayýtlarýný Temizle ve Tekrar Oluþtur
clear_stop=Squid durduruluyor ...
clear_done=.. Bitti
clear_del=Eski cache dosyalarýný siliniyor ..
clear_init=Squid cache'si <tt>$1</tt> komutu ile ilklendiriliyor..
clear_failrestart=Squid'in yeniden baþlatýlmasýnda hata oluþtu ..
clear_return=squid indeksi

eacl_header=Giriþ Kontrol
eacl_acls=giriþ kontrol listesi
eacl_name=Ýsimk
eacl_type=Tip
eacl_match=Aranýyor..
eacl_noacls=Tanýmlanan ACL'ler yok 
eacl_buttcreate=Yeni ACL oluþtur
eacl_pr=Proxy Sýnýrlamalarý
eacl_act=Ýþlem
eacl_acls1=ACL'ler
eacl_move=Taþý
eacl_nopr=Proxy sýnýrlamalarý tanýmlanmadý
eacl_addpr=Proxy sýnýrlamasý ekle
eacl_icpr=ICP sýnýrlamalarý
eacl_noicpr=ICP sýnýrlamalalarý tanýmlanmadý
eacl_addicpr=ICP sýnýrlamasý ekle
eacl_return=squid indeksi
eacl_allow=Ýzin verildi
eacl_deny=Ýzin veilmedi

eadm_header=Yönetim Seçenekleri
eadm_aao=Yönetim ve Bildirim Seçenekleri
eadm_runasuu=Unix kullanýcýsý olarak çalýþtýr
eadm_nochange=Deðiþtirme
eadm_user=Kullanýcý
eadm_group=Grup
eadm_runasug=Unix grubu olarak çalýþtýr
eadm_par=Proxy onaylama alaný
eadm_default=Öntanýmlý
eadm_cmemail=Cache yöneticisi e-posta adresi
eadm_vhost=Görünen makine adý
eadm_uniq=Tek makine adý
eadm_auto=Otomatik
eadm_annto=Cache bildir
eadm_annevery=Cache bildir her
eadm_never=Asla
eadm_uniqhn=Tek makine adý
eadm_cah=Cache bildirim makinesi
eadm_cap=Cache bildirim portu
eadm_caf=Cache bildirim dosyasý
eadm_none=Hiçbiri
eadm_annp=Bildirim Periyodu
eadm_buttsave=Kaydet
eadm_return=squid indeksi

eauth_header=Proxy Onaylama
eauth_aopt=Onaylama Seçenekleri
eauth_puf=Proxy kullanýcý dosyasý
eauth_none=Hiçbiri
eauth_nologin=Alan için login'e ihtiyaç yoktur
eauth_buttsave=Kaydet
eauth_msgaccess=Proxy sunucunuza giriþler takip eden listedeki kullanýcýlar ile sýnýrlandýrýlmýþtýr.Bir kullanýcý ekleme ve silme þlemlerini yaptýktan sonra deðiþikliklerin aktif hale gelmesi için Squid durdurulup tekrar baþlatýlmalýdýr 
eauth_pusers=Proxy Kullanýcýlarý
eauth_nopusers=Mevcut, tanýmlanmýþ proxy kullanýcýsý yoktur
eauth_addpuser=Yeni bir proxy kullanýcýsý ekle
eauth_return=squid indeksi

ec_header=Cache Seçenekleri
ec_cro=Caching ve Ýstek Seçenekleri
ec_cdirs=Cache dizinleri
ec_default=Öntanýmlý
ec_listed=Listelenmiþ..
ec_directory=Dizin
ec_type=Tip
ec_size=Boyut (Mb)
ec_1dirs=Birinci seviye dizinleri
ec_2dirs=Ýkinci seviye dizinleri
ec_u=UFS
ec_ua=Async UFS
ec_1dirs1=Birinci seviye dizinleri
ec_2dirs2=Ýkinci seviye dizinleri
ec_aos=Obje boyut sýnýrý
ec_kb=Kb
ec_mins=dakika
ec_secs=saniye
ec_opb=Kova baþýna obje
ec_ncuc=URL içeriklerini depolama
ec_ncum=URL aramalarýný depolama
ec_ncua=ACL için URL'leri depolama
ec_mct=En çok cache süresi
ec_mrbs=En çok istek içerik sýnýrý
ec_mrhs=En çok istek baþlýðý boyutu
ec_mrbs1=En çok geri döndürülen içerik boyutu
ec_mrs=En çok istek sýnýrý
ec_frct=Cache süresi isteðinde hata oluþtu
ec_dlct=DNS arama cache süresi
ec_fdct=DNS arama cache'inde hata oluþtu
ec_ct=Baðlantý kopma süresi
ec_rt=Kopma süresini oku
ec_mcct=En çok istemci baðlantý süresi
ec_mst=En çok kapanýþ süresi
ec_sst=Site seçim kopma süresi
ec_crt=Ýstemci istek kopma süresi
ec_hcc=Yarý kapalý istemciler?
ec_pt=Sürekli kopma süresi
ec_wr=WAIS aktarýmý
ec_none=Hiçbiri
ec_host=Makine
ec_port=Port
ec_wrh=WAIS altarým makinesi
ec_wrp=WAIS relay portu
ec_buttsave=Kaydet
ec_return=squid indeksi

ech_header=Cache Host'u Oluþtur
ech_header1=Cache Host'unu Deðiþtir
ech_cho=Cache Host Seçenekleri
ech_h=Makine Adý
ech_parent=ana
ech_sibling=kardeþ
ech_multicast=multicast
ech_t=Tip
ech_pp=Proxy portu
ech_ip=ICP portu
ech_po=Sadece proxy?
ech_y=Evet
ech_n=Hayýr
ech_siq=ICP kuyruklarýný gönder?
ech_dc=Öntanýmlý cache?
ech_rrc=Round-robin cache?
ech_ittl=ICP yaþama süresi
ech_d=Öntanýmlý
ech_cw=Cache etkisi?
ech_co=Sadece en yakýn?
ech_nd=Özümsenmesin?
ech_nne=NetDB deðiþimi yapýlmasýn?
ech_nd1=Bekleme yapýlmasýn?
ech_ltp=Proxy'ye giriþ
ech_nl=Giriþ yok
ech_u=Kullanýcý:
ech_p=Þifre:
ech_mr=Multicast yanýtlasýn?
ech_qhfd=Alanlar için sorgulama ismi
ech_dqfd=Alanlar için sorgulama yapma
ech_buttsave=Kaydet
ech_buttdel=Sil
ech_return=cache listesi

eicp_header=Diðer Cache'ler
eicp_opcs=Diðer proxy cache sunucularý
eicp_nocd=Diðer cache'ler tanýmlanmadý
eicp_aac=Baþka cache ekle
eicp_cso=Cache Seçim Seçenekleri
eicp_fdfd=Alanlardan doðrudan getir
eicp_fdfi=IP'lerden doðrudan getir
eicp_dif=Alanlar firewall içeriyor
eicp_iif=IP'ler firewall içeriyor
eicp_dfuc=URL içeriklerini doðrudan al
eicp_d=Öntanýmlý
eicp_bpfsp=Tek kaynak için ping'i geç?
eicp_y=Evet
eicp_n=Hayýr
eicp_secs=saniye
eicp_ssip=Ping'te kaynak gönder?
eicp_crt=Cache geri gönderim bekleme süresi
eicp_iqt=ICP sorgulama çýkýþ süresi
eicp_mit=Multicase ICP çýkýþ süresi
eicp_dpt=Benzer çýkýþ süresi
eicp_h=Makine Adý
eicp_t=Tip
eicp_pp=Proxy portu
eicp_ip=ICP portu
eicp_return=squid indeksi

elogs_header=Kayýt
elogs_lalo=Kayýt ve Kayýt Dosyasý Seçenekleri
elogs_alf=Giriþ kayýt dosyasý
elogs_dlf=Hata kayýt dosyasý
elogs_slf=Depo kayýt dosyasý
elogs_cmf=Cache deðiþen bilgi dosyasý
elogs_uhlf=HTTPD kayýt þeklini kullan 
elogs_lmh=MIME baþlýklarýnýn kayýtlarýný tut?
elogs_ualf=Kullanýcý baðlantý kayýt dosyasý
elogs_pf=PID dosyasý
elogs_prilfa=ACL'ler için RFC931 taným aramalarýný yap
elogs_rit=RFC931 taným çýkýþ süresi
elogs_dril=RFC931 taným aramalarý yapýlsýn?
elogs_lfh=Makine adlarýnýn tamamý kaydedilsin?
elogs_ln=Að maskesi kayýtlarý
elogs_do=Hatasýzlaþtýrmak seçenekleri
elogs_mht=MIME baþlýk tablosu
elogs_return=squid indeksi

emem_header=Bellek Kullanýmý
emem_maduo=Bellek ve Disk Kullaným Seçenekleri
emem_mul=Bellek kullaným limiti
emem_dul=Disk kullaným limiti
emem_fcs=FQDN cache boyutu
emem_mb=Mb
emem_kb=Kb
emem_mhwm=Bellek en yüksek akýþ yüzdesi
emem_mlwm=Bellek en düþük akýþ yüzdesi
emem_dhwm=Disk en yüksek akýþ yüzdesi
emem_dlwm=Disk en düþük akýþ yüzdesi
emem_mcos=Cache'lenmiþ objenin en büyük boyutu
emem_iacs=IP adresi cache boyutu
emem_e=giriþler
emem_ichwm=IP cache en yüksek akýþ yüzdesi
emem_iclwm=IP cache en düþük akýþ yüzdesi
emem_return=squid indeksi

emisc_header=Çeþitli Seçenekler
emisc_mo=Çeþitli Seçenekler
emisc_sdta=Baþlangýç DNS test adresi
emisc_slr=SIGUSR1 kayýt dosyasý döndürülmeleri
emisc_dd=Öntanýmlý alan
emisc_sp=SSL proxy
emisc_nghp=GET olmayan HTTP proxy
emisc_emt=Hata mesaj yazýsý
emisc_pcs=Ýstemci baþýna istatistik tutulsun?
emisc_xffh=X-Forwarded-For baþlýðý?
emisc_liq=ICP sorgulama kayýtlarýný tut?
emisc_mdh=En küçük doðrudan sýçrama
emisc_kmffu=Gelecek kullaným için belleði tut?
emisc_aomtk=Tutmak için bellek miktarý
emisc_u=Limitsiz
emisc_htpt=Ýçinden geçen baþlýklar 
emisc_ah=Bütün baþlýklar
emisc_oh=Sadece baþlýklar
emisc_ae=Hepsinden baþka
emisc_a=Ortak isim?
emisc_off=Kapalý
emisc_std=Standart
emisc_par=Delice
emisc_fua=Sahte Kullanýcý Temsilcisi
emisc_return=squid indeksi
emisc_hauhh=HTTP Hýzlandýrýcý Makine Adý Baþlýklarýný Kullansýn
emisc_hah=HTTP Hýzlandýrýcý Makine Adý
emisc_hap=HTTP Hýzlandýrýcý Portu
emisc_hawp=Proxy ile HTTP Hýzlandýr

eports_header=Portlar ve Að
eports_pano=Portlar ve Að Seçenekleri
eports_paap=Proxy adresleri ve portlar
eports_p=Port
eports_hia=Makine Adý/IP Adresi
eports_pp=Proxy portu
eports_ip=ICP portu
eports_ota=Giden TCP adresi
eports_ita=Gelen TCP adresi
eports_a=Herhangi
eports_oua=Giden UDP adresi
eports_iua=Gelen UDP adresi
eports_mg=Multicast gruplarý
eports_trb=TCP alým tamponu
eports_od=Öntanýmlý OS
eports_return=squid indeksi

eprogs_header=Yardým Programlarý
eprogs_chpo=Cache Yardým Program Seçenekleri
eprogs_sfp=Squid FTP programý
eprogs_fo=FTP seçenekleri
eprogs_fcv=FTP kolon uzunluðu
eprogs_c=karakter
eprogs_afl=Ortak FTP giriþi(Anonymous)
eprogs_sdp=Squid DNS programý
eprogs_nodp=DNS programlarýnýn sayýsý
eprogs_adtr=Ýsteklere alan ekle
eprogs_dsa=DNS sunucu adresleri
eprogs_fr=resolv.conf'tan
eprogs_ccp=Cache temizleme programý
eprogs_spp=Squid ping programý
eprogs_crp=Özel yönlendirme programý
eprogs_norp=Yönlendirme programlarýnýn Sayýsý
eprogs_cap=Özel onaylama programý
eprogs_noap=Özel onaylama programlarýnýn sayýsý
eprogs_return=squid indeksi

euser_header=Proxy Kullanýcýsý Oluþtur
euser_header1=Proxy Kullanýcýsý Deðiþtir
euser_pud=Proxy Kullanýcýsý ayrýntýlarý
euser_u=Kullanýcý Adý
euser_p=Þifre
euser_u1=Deðiþtirilmedi
euser_return=kullanýcý listesi

ahttp_header=Proxy Sýnýrlamasý Oluþtur
ahttp_header1=Proxy Sýnýrlamasýný Deðiþtir
ahttp_pr=Proxy Sýnýrlamasý
ahttp_a=Ýþlem
ahttp_a1=Ýzin verildi
ahttp_d=Ýzin verilmedi
ahttp_ma=ACL'leri karþýlaþtýr
ahttp_dma=ACL'leri karþýlaþtýrma
ahttp_return=ACL listesi

sahttp_ftspr=Proxy sýnýrlandýrýlmasýnýn kaydedilmesinde hata oluþtu

aicp_header=ICP Sýnýrlamasý Oluþtur
aicp_header1=ICP Sýnýrlamasýný Deðiþtir
aicp_ir=ICP Sýnýrlamasý
aicp_a=Ýþlem
aicp_a1=Ýzin verildi
aicp_d=Ýzin verilmedi
aicp_ma=ACL'leri karþýlaþtýr
aicp_dma=ACL'leri karþýlaþtýrma
aicp_return=ACL listesi

saicp_ftsir=ICP sýnýrlandýrýlmasýnýn kaydedilmesinde hata oluþtu

icache_ftic=Cache'nin ilklendirilmesinde hata oluþtu
icache_ymcautrsa=Squid'i çalýþtýrmak için bir kullanýcý seçmelisiniz
icache_header=Cache'yi Ýlklendir
icache_itscwtc=Squid cache <tt>$1</tt> komutu ile ilklendiriliyor ..
icache_return=squid indeksi

restart_ftrs=Squid'in yeniden yapýlandýrýlmasýnda hata oluþtu

sadmin_ftsao=Yönetim Seçeneklerinin kaydedilmesinde hata oluþtu
sadmin_header=Sahibini Deðiþtir
sadmin_msg1=Squid'i çalýþtýrmak için kullanýcý ya da grubu deðiþtirmelisiniz.Bu iþlemi yaptýðýnýzda bütün cache ve kayýt dosyalarýnýn sahibi deðiþecek ve Squid yeniden baþltýlacaktýr.
sadmin_buttco=Sahibini Deðiþtir
sadmin_return=indeks
sadmin_inavea='$1' geçerli bir e-posta adresi deðildir
sadmin_inavh='$1' geçerli bir makine adý deðildir
sadmin_inavap='$1' geçerli bir duyuru periyodu deðildir
sadmin_inavp='$1' geçerli bir port deðildir

sauth_ftsao=Onaylama seçeneklerinin deðiþtirilmesinde hata oluþtu
sauth_iomuf=Kayýp ya da yanlýþ kullanýcý dosyalarý
sauth_iomd=Kayýp ya da yanlýþ alan
sauth_msg1=Kullandýðýnýz Squid sürümü proxy onaylama seçeneði ile kurulmamýþ.

scache_ftsco=Cache seçeneklerinin kaydedilmesinde hata oluþtu
scache_emsg0=Cache dizinlerinden en az birini girmelisiniz
scache_emsg1='$1' cache dizini mevcut deðil
scache_emsg2='$1' geçerli bir istek boyutu deðil
scache_emsg3='$1' geçerli bir yanlýþ istek cache süresi deðil
scache_emsg4='$1' geçerli bir DNS cache süresi deðil
scache_emsg5='$1' geçerli bir bekleme süresi deðil
scache_emsg6='$1' geçerli bir süre deðil
scache_emsg7='$1' geçerli bir dizin sayýsý deðil
scache_emsg8=Dizinlerin sayýsý >= 1 olmalýdýr
scache_emsg9=Dizinlerin sayýsý <= 256 olmalýdýr
scache_emsg10='$1' geçerli bir obje boyutu deðildir
scache_emsg11='$1' geçerli bir obje sayýsý seðildir
scache_emsg12='$1' geçerli bir dizin boyutu deðildir
scache_emsg13='$1' geçerli bir makine deðildir
scache_emsg14='$1' geçerli bir port deðildir

schost_ftsc=Cache'in kaydedilmesinde hata oluþtu
schost_emsg1='$1' geçerli bir cache makine adý deðildir
schost_emsg2='$1' geçerli bir proxy portu deðildir
schost_emsg3='$1' geçerli bir ICP portu deðildir
schost_emsg4='$1' geçerli bir yaþama süresi deðildir
schost_emsg5='$1' geçerli bir yükleme deðildir

sicp_ftsco=Cache seçeneklerinin kaydedilmesinde hata oluþtu
sicp_emsg1='$1' geçerli bir bekleme süresi deðildir

slogs_ftslo=Kayýt seçeneklerinin kaydedilmesinde hata oluþtu
slogs_emsg1='$1' geçerli bir mutlak dosya adý deðildir
slogs_emsg2='$1' geçerli bir dosya adý deðildir
slogs_emsg3='$1' dizini mevcut deðildir
slogs_emsg4='$1' geçerli bir að maskesi deðildir
slogs_emsg5='$1' geçerli bir hatasýzlaþtýrma seçenek listesi deðildir

smem_ftsmo=Bellek seçeneklerinin kaydedilmesinde hata oluþtu
smem_emsg1='$1' geçerli bir cache boyutu deðildir
smem_emsg2='$1' geçerli bir en yüksek akýþ yüzdesi deðildir
smem_emsg3='$1' geçerli bir en düþük akýþ yüzdesi deðildir
smem_emsg4='$1' geçerli bir obje boyutu deðildir

smisc_ftso=Seçeneklerin kaydedilmesinde hata oluþtu
smisc_emsg1='$1' geçerli bir döndürme sayýsý deðildir
smisc_emsg2='$1' geçerli bir alan deðildir
smisc_emsg3='$1' geçerli bir proxy deðildir
smisc_emsg4='$1' geçerli bir sýçrama sayýsý seðildir

sport_ftspo=Port seçeneklerinin kaydedilmesinde hata oluþtu
sport_emsg1='$1' geçerli bir port numarasý deðildir
sport_emsg2='$1' geçerli bir adres deðildir
sport_emsg3='$1' geçerli bir tampon boyutu deðildir

sprog_ftshpo=Yardým program seçeneklerinin kaydedilmesinde hata oluþtu
sprog_emsg1=Kayýp FTP Seçenekleri
sprog_emsg2='$1' geçerli bir program deðildir
sprog_emsg3='$1' geçerli bir çalýþtýrýlabilir program deðildir
sprog_emsg4='$1' geçerli bir FTP giriþi deðildir
sprog_emsg5='$1' geçerli bir sayýsý deðildir
sprog_emsg6='$1' geçerli bir kolon geniþliði deðildir
sprog_emsg7=DNS Sunucu girilmedi
sprog_emsg8='$1' geçerli bir IP adresi deðildir

suser_ftsu=Kullanýcýnýn kaydedilmesinde hata oluþtu
suser_emsg1=Kayýp ya da yanlýþ kullanýcý adý

start_ftsq=Squid'in baþlatýlmasýnda hata oluþtu
stop_ftsq=Squid'in bitirilmesinde hata oluþtu

lib_emsg1='$1' geçerli bir IP adresi deðildir
lib_seconds=saniye
lib_minutes=dakika
lib_hours=saat
lib_days=gün
lib_weeks=hafta
lib_fortnights=Ýki Hafta
lib_months=ay
lib_years=yýl
lib_decades=on sene
lib_emsg2='$1' geçerli bir '$2' sayýsý deðildir
lib_kb=KB
lib_mb=MB
lib_gb=GB
lib_emsg3='$1' geçerli bir '$2' sayýsý deðildir
lib_aclca=Ýstemci Adresi
lib_aclwsa=Web Sunucusu Adresi
lib_aclch=Ýstemci Adý
lib_aclwsh=Web Sunucusu Adý
lib_acldat=Zaman ve Süre
lib_aclur=URL kayýt düzenleme ifadesi
lib_aclupr=URL kayýt düzenleme ifadesi yolu
lib_aclup=URL Portu
lib_aclup1=URL Protokolü
lib_aclrm=Ýstek Yöntemi
lib_aclbr=Tarayýcý düzenleme ifadesi
lib_aclpl=Proxy Giriþi
lib_aclsan=Kaynak AS Numarasý
lib_acldan=Hedef AS Numarasý
lib_aclea=Dýþ Onay
lib_aclcr=Ýstemci düzenleme ifadesi
lib_aclwsr=Web Sunucusu düzenleme ifadesi
lib_aclru=RFC931 Kullanýcýsý
lib_aclpia=Proxy IP Adresi
lib_aclmc=En çok baðlantý
lib_aclpp=Proxy Portu
lib_aclsc=SNMP Birliði
lib_buttac=Deðiþiklikleri Uygula
lib_buttss=Squid'i Durdur
lib_buttss1=Squid'i Baþlat

log_ports=Portlar ve Að seçenekleri deðiþtirildi
log_icp=Diðer cache seçenekleri deðiþtirildi
log_mem=Bellek kullaným seçenekleri deðiþtirildi
log_logs=Kayýt seçenekleri deðiþtirildi
log_cache=Cache seçenekleri deðiþtirildi
log_progs=Yardým program seçenekleri deðiþtirildi
log_admin=Yönetim seçenekleri deðiþtirildi
log_misc=Çeþitli seçenekler deðiþtirildi
log_clear=Cache temizlendi ve yeniden oluþturuldu
log_acl_create=ACL $1 oluþturuldu
log_acl_modify=ACL $1 deðiþtirildi
log_acl_delete=ACL $1 silindi
log_http_create=Proxy kýsýtlamalarý oluþturuldu
log_http_modify=Proxy kýsýtlamalarý deðiþtirildi
log_http_delete=Proxy kýsýtlamalarý silindi 
log_http_move=Proxy kýsýtlamalarý taþýndý
log_icp_create=ICP kýsýtlamalarý oluþturuldu
log_icp_modify=ICP kýsýtlamalarý deðiþtirildi
log_icp_delete=ICP kýsýtlamalarý silind,
log_icp_move=ICP kýsýtlamalarý taþýndý
log_stop=Proxy sunucusu durduruldu
log_start=Proxy sunucusu baþlatýldý
log_apply=Deðiþiklikler uygulandý
log_host_create=Makine $1 cache'si oluþturuldu
log_host_modify=Makine $1 cache'si deðiþtirildi
log_host_delete=Makine $1 cache'si silindi
log_init=Cache ilklendirildi
log_user_create=Proxy kullanýcýsý $1 oluþturuldu
log_user_delete=Proxy kullanýcýsý $1 silindi
log_user_modify=Proxy kullanýcýsý $1 deðiþtirildi

acl_root=ACL dosyalarý için kök dizini

 07070100049904000081a40000000000000002000000013d1fe2d400003a9f000000200000000000000000000000000000001700000003reloc/squid/lang/zh_CN    index_header=Squid´úÀí·þÎñÆ÷
index_msgnoconfig=SquidÅäÖÃÎÄ¼þ<tt>$1</tt>²»´æÔÚ.Èç¹ûÒÑ¾­°²×°ÁËSquid, µ÷Õû<a href=/config.cgi?$2 >Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·µÄÂ·¾¶¡£
index_msgnoexe=Squid ¿ÉÖ´ÐÐÎÄ¼þ<tt>$1</tt>²»´æÔÚ.Èç¹ûÒÑ¾­°²×°ÁËSquid, µ÷Õû<a href=/config.cgi?$2 >Ä£¿éÅäÖÃ</a>ÒÔÊ¹ÓÃÕýÈ·µÄÂ·¾¶¡£
index_msgnosupported=Webmin ²»Ö§³Öµ±Ç°µÄSquid°æ±¾. ±¾Ä£¿é½öÖ§³Ö°æ±¾<tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> ºÍ<tt>2.3</tt>¡£
index_msgnodir1=Squid¸ßËÙ»º´æÄ¿Â¼<tt>$1</tt>Ã»ÓÐ³õÊ¼»¯¡£
index_msgnodir2=Squid¸ßËÙ»º´æÄ¿Â¼<tt>$1</tt>Ã»ÓÐ³õÊ¼»¯¡£
index_msgnodir3=±ØÐëÏÈÍê³É´Ë²Ù×÷£¬È»ºó²ÅÄÜÔËÐÐSquid¡£
index_buttinit=³õÊ¼»¯¸ßËÙ»º´æ
index_asuser=×÷ÎªUnixÓÃ»§
index_portsnets=¶Ë¿ÚºÍÁªÍø
index_othercaches=ÆäËû¸ßËÙ»º´æ
index_musage=ÄÚ´æÊ¹ÓÃ
index_mdusage=ÄÚ´æºÍ´ÅÅÌµÄÊ¹ÓÃ
index_logging=µÇÂ¼
index_copts=¸ßËÙ»º´æÑ¡Ïî
index_hprogs=°ïÖú³ÌÐò
index_actrl=²Ù×÷¿ØÖÆ
index_admopts=¹ÜÀíÑ¡Ïî
index_proxyauth=´úÀíÈÏÖ¤
index_miscopt=ÔÓÀàÑ¡Ïî
index_cms=¸ßËÙ»º´æ¹ÜÀíÆ÷Í³¼Æ
index_rebuild=Çå³ýºÍÖØ½¨¸ßËÙ»º´æ
index_calamaris=Calamaris ÈÕÖ¾·ÖÎö
index_return=Ë÷Òý
buttsave=±£´æ
buttdel=É¾³ý
buttcreat=´´½¨
yes=ÊÇ
no=·ñ
default=È±Ê¡
none=ÎÞ
on=¿ª
off=¹Ø
acl_header1=´´½¨ ACL
acl_header2=±à¼­ ACL
acl_name=ACL Ãû
acl_fromip=À´×ÔIP
acl_toip=µ½ IP
acl_nmask=ÍøÂçÑÚÂë
acl_ipaddr=IP µØÖ·
acl_domains=Óò
acl_dofw=ÐÇÆÚ¼¸
acl_sel=Ñ¡Ôñ..
acl_all=ËùÓÐ
acl_dsun=ÐÇÆÚÌì
acl_dmon=ÐÇÆÚÒ»
acl_dtue=ÐÇÆÚ¶þ
acl_dwed=ÐÇÆÚÈý
acl_dthu=ÐÇÆÚËÄ
acl_dfri=ÐÇÆÚÎå
acl_dsat=ÐÇÆÚÁù
acl_hofd=Ê±¼ä
acl_to=µ½
acl_regexp=ÕýÔò±í´ïÊ½
acl_tcpports=TCP ¶Ë¿Ú
acl_urlproto=URL Ð­Òé
acl_reqmethods=ÇëÇó·½·¨
acl_bregexp=ä¯ÀÀÕýÔò±í´ïÊ½
acl_pusers=´úÀíÓÃ»§
acl_eusers=Íâ²¿ºÏ·¨ÓÃ»§
acl_case=ºöÂÔ´óÐ¡Ð´£¿
acl_eusersre=Íâ²¿ºÏ·¨ÓÃ»§ÕýÔòÊ½
acl_asnum=µ±×öÊý×Ö
acl_rtime=Ë¢ÐÂÊ±¼ä
acl_rfcusers=RFC931 ÓÃ»§
acl_mcr=×î´ó²¢ÐÐÇëÇóÊý
acl_psp=´úÀí·þÎñÆ÷¶Ë¿Ú
acl_scs=SNMP Í¨Ñ¶´®
acl_rmt=ÇëÇó MIME ÀàÐÍ
acl_arp=¿Í»§ Ethernet µØÖ·
acl_failurl=Ê§°ÜµÄ URL
acl_buttsave=±£´æ
acl_buttdel=É¾³ý
acl_return=ACL ÁÐ±í
aclsave_failsave=±£´æACLÊ§°Ü
aclsave_faildel=É¾³ýACLÊ§°Ü
aclsave_epr=´úÀíÔ¼ÊøÕýÔÚÊ¹ÓÃ´ËACL
aclsave_eicpr=ICPÔ¼ÊøÕýÔÚÊ¹ÓÃ´ËACL
aclsave_ename=´íÎóµÄ ACL Ãû³Æ
aclsave_eexists=½Ð×ö'$1'µÄACLÒÑ¾­´æÔÚ
aclsave_efrom=´íÎóµÄÔ´IPµØÖ·'$1'
aclsave_eto=´íÎóÄ¿µÄIPµØÖ·'$1'
aclsave_enmask=´íÎóµÄÍøÂçÑÚÂë'$1'
aclsave_eip=´íÎóµÄIPµØÖ·'$1'
aclsave_ecdom=Ã»ÓÐ¸ø³ö¿Í»§Óò
aclsave_esdom=Ã»ÓÐ¸ø³ö·þÎñÆ÷Óò
aclsave_eshour=´íÎóµÄ¿ªÊ¼Ð¡Ê±
aclsave_eehour=´íÎóµÄ½áÊøÐ¡Ê±
aclsave_esmin=´íÎóµÄ¿ªÊ¼·ÖÖÓ
aclsave_eemin=´íÎóµÄ½áÊø·ÖÖÓ
aclsave_efile=ÄúÎÞÈ¨Ð´Èë ACL ÎÄ¼þ'$1'
cach_err=´íÎó
cach_nfound=Ã»ÓÐÔÚÏµÍ³ÖÐÕÒµ½Squid¸ßËÙ»º´æ¹ÜÀí³ÌÐò<tt>$1</tt>.<a href=/config.cgi?$2 >Ä£¿éÅäÖÃ</a>¿ÉÄÜÓÐ´íÎó¡£
cach_return=squidË÷Òý
chown_header=¸ü¸ÄËùÓÐÕß
chown_stop=Í£Ö¹squid ...
chown_done=.. Íê³É
chown_chown=¸Ä±äËùÓÐÕß ...
chown_restart=ÖØÐÂÆô¶¯Squid...
chown_failrestart=ÖØÐÂÆô¶¯SquidÊ§°Ü ..
chown_return=squid Ë÷Òý
clear_header=Çå³ýºÍÖØ½¨¸ßËÙ»º´æ
clear_msgclear=ÊÇ·ñÈ·¶¨Çå³ýºÍÖØ½¨SquidµÄ¸ßËÙ»º´æ? Õâ½«É¾³ý<b>ËùÓÐµÄ</b>¸ßËÙ»º´æÎÄ¼þ²¢ÖØÐÂÆô¶¯Squid·þÎñÆ÷¡£
clear_msgclear2=ÄúÓ¦¸ÃÈ·¶¨Ä¿Ç°Î´Ê¹ÓÃÕâ¸ö»º´æÀ´Óë Webmin ·þÎñÆ÷Í¨Ñ¶£¬·ñÔòµ±¸Ã»º´æ¹Ø±ÕÊ±Äú½«±»ÖÐ¶ÏÍ¨Ñ¶¡£
clear_buttclear=Çå³ýºÍÖØ½¨¸ßËÙ»º´æ
clear_stop=Í£Ö¹squid ...
clear_done=.. Íê³É
clear_del=É¾³ý¾ÉµÄ¸ßËÙ»º´æÎÄ¼þ ..
clear_init=Ê¹ÓÃÃüÁî<tt>$1</tt>³õÊ¼»¯Squid¸ßËÙ»º´æ
clear_failrestart=ÖØÆôSquidÊ§°Ü ..
clear_return=squid Ë÷Òý
eacl_header=·ÃÎÊ¿ØÖÆ
eacl_acls=·ÃÎÊ¿ØÖÆÁÐ±í
eacl_name=Ãû³Æ
eacl_type=ÀàÐÍ
eacl_match=Æ¥Åä..
eacl_noacls=Ã»ÓÐACL
eacl_buttcreate=´´½¨ÐÂµÄACL
eacl_pr=´úÀíÔ¼Êø
eacl_act=¶¯×÷
eacl_acls1=ACL
eacl_move=ÒÆ¶¯
eacl_nopr=Ã»ÓÐ¶¨Òå´úÀíÔ¼Êø¹æÔò
eacl_addpr=Ìí¼Ó´úÀíÔ¼Êø¹æÔò
eacl_icpr=ICP Ô¼Êø
eacl_noicpr=Ã»ÓÐ¶¨Òå ICP Ô¼Êø
eacl_addicpr=Ìí¼Ó ICP Ô¼Êø
eacl_return=squid Ë÷Òý
eacl_allow=ÔÊÐí
eacl_deny=¾Ü¾ø
eadm_header=¹ÜÀíÑ¡Ïî
eadm_aao=¹ÜÀíºÍÍ¨±¨Ñ¡Ïî
eadm_runasuu=µ±×öUnixÓÃ»§ÔËÐÐ
eadm_nochange=Ã»ÓÐ¸Ä±ä
eadm_user=ÓÃ»§
eadm_group=×é
eadm_runasug=µ±×öUnix×éÔËÐÐ
eadm_par=´úÀíÈÏÖ¤·¶Î§
eadm_default=È±Ê¡
eadm_cmemail=¸ßËÙ»º´æ¹ÜÀíÆ÷µç×ÓÓÊ¼þµØÖ·
eadm_vhost=¿É¼ûÖ÷»úÃû
eadm_uniq=¶ÀÌØÖ÷»úÃû
eadm_haliases=ÆäËü»º´æµÄ DNS Ãû³Æ
eadm_none=Ã»ÓÐ
eadm_auto=×Ô¶¯
eadm_annto=Í¨±¨¸ßËÙ»º´æµ½
eadm_annevery=Í¨±¨¸ßËÙ»º´æÃ¿
eadm_never=´ÓÀ´Ã»ÓÐ
eadm_uniqhn=¶ÀÌØÖ÷»úÃû
eadm_cah=¸ßËÙ»º´æÍ¨±¨Ö÷»ú
eadm_cap=¸ßËÙ»º´æÍ¨±¨¶Ë¿Ú
eadm_caf=¸ßËÙ»º´æÍ¨±¨ÎÄ¼þ
eadm_none=Ã»ÓÐ
eadm_annp=Í¨±¨ÖÜÆÚ
eadm_buttsave=±£´æ
eadm_return=squidË÷Òý
eauth_header=Proxy ÈÏÖ¤
eauth_aopt=ÈÏÖ¤Ñ¡Ïî
eauth_puf=´úÀíÓÃ»§ÎÄ¼þ
eauth_none=ÎÞ
eauth_nologin=²»ÐèÎªÓò½øÐÐµÇÂ¼
eauth_buttsave=±£´æ
eauth_msgaccess=Ö»ÓÐÁÐÓÚÏÂ±íÖÐµÄÓÃ»§²Å¿ÉÒÔ·ÃÎÊÄúµÄ´úÀí·þÎñÆ÷¡£Ìí¼Ó¡¢É¾³ý¡¢¸Ä±äÓÃ»§Ö®ºóÐèÒªÍ£Ö¹²¢ÖØÆô SquidÒÔÊ¹¸ü¸ÄÉúÐ§¡£
eauth_nmsgaccess=Ö»ÓÐÁÐÓÚÏÂ±íÖÐµÄÓÃ»§²Å¿ÉÒÔ·ÃÎÊÄúµÄ´úÀí·þÎñÆ÷¡£¸Ã±íµÃ×ÔÎÄ¼þ $1¡£
eauth_pusers=´úÀíÓÃ»§
eauth_nopusers=µ±Ç°Ã»ÓÐ¶¨Òå´úÀíÓÃ»§¡£
eauth_addpuser=Ìí¼ÓÐÂµÄ´úÀíÓÃ»§
eauth_return=squid Ë÷Òý
ec_header=¸ßËÙ»º´æÑ¡Ïî
ec_cro=¸ßËÙ»º´æºÍÇëÇóÑ¡Ïî
ec_cdirs=¸ßËÙ»º´æÄ¿Â¼
ec_default=È±Ê¡
ec_listed=ÁÐ±í..
ec_directory=Ä¿Â¼
ec_type=ÀàÐÍ
ec_mos=Obj. ´óÐ¡ (Kb)
ec_size=´óÐ¡ (MB)
ec_1dirs=Ò»¼¶Ä¿Â¼
ec_2dirs=¶þ¼¶Ä¿Â¼
ec_u=UFS
ec_ua=Í¬²½ UFS
ec_diskd=DISKD
ec_1dirs1=µÚÒ»¼¶Ä¿Â¼
ec_2dirs2=µÚ¶þ¼¶Ä¿Â¼
ec_aos=Æ½¾ùÄ¿±ê´óÐ¡
ec_kb=kB
ec_mins=·Ö
ec_secs=Ãë
ec_opb=Ã¿Í°Ä¿±êÊý
ec_ncuc=²»¸ßËÙ»º´æURL ÆäÄÚÈÝÎª
ec_ncum=²»¸ßËÙ»º´æURL Æ¥Åä
ec_ncua=²»¸ßËÙ»º´æACLµÄURL
ec_mct=×î´ó¸ßËÙ»º´æÊ±¼ä
ec_mrbs=×î´óÇëÇóÌå´óÐ¡
ec_mrhs=×î´óÇëÇóÍ·
ec_mrbs1=×î´ó»ØÓ¦Ìå´óÐ¡
ec_mrs=×î´óÇëÇó´óÐ¡
ec_frct=ÇëÇó¸ßËÙ»º´æÊ±¼äÊ§°Ü
ec_dlct=DNS ²éÕÒ¸ßËÙ»º´æÊ±¼ä
ec_fdct=DNS ¸ßËÙ»º´æÊ±¼äÊ§°Ü
ec_ct=Á¬½Ó³¬Ê±
ec_rt=¶ÁÈ¡³¬Ê±
ec_mcct=×î´ó¿Í»§Á¬½ÓÊ±¼ä
ec_mst=×î´ó¹Ø±ÕÊ±¼ä
ec_sst=Õ¾µãÑ¡Ôñ³¬Ê±
ec_crt=¿Í»§ÇëÇó³¬Ê±
ec_hcc=°ë¹Ø±ÕµÄ¿Í»§£¿
ec_pt=³ÖÐø³¬Ê±
ec_wr=WAIS ×ª·¢
ec_none=ÎÞ
ec_host=Ö÷»ú
ec_port=¶Ë¿Ú
ec_wrh=WAIS ×ª·¢Ö÷»ú
ec_wrp=WAIS ×ª·¢¶Ë¿Ú
ec_buttsave=±£´æ
ec_return=squid Ë÷Òý
ech_header=´´½¨¸ßËÙ»º´æÖ÷»ú
ech_header1=±à¼­¸ßËÙ»º´æÖ÷»ú
ech_cho=¸ßËÙ»º´æÖ÷»úÑ¡Ïî
ech_h=Ö÷»úÃû
ech_parent=¸¸
ech_sibling=Í¬×å
ech_multicast=¶à²¥
ech_t=ÀàÐÍ
ech_pp=´úÀí¶Ë¿Ú
ech_ip=ICP ¶Ë¿Ú
ech_po=ÊÇ·ñ½ö½ö´úÀí£¿
ech_y=ÊÇ
ech_n=·ñ
ech_siq=·¢ËÍICPÇëÇó£¿
ech_dc=È±Ê¡¸ßËÙ»º´æ£¿
ech_rrc=Round-robin ¸ßËÙ»º´æ£¿
ech_ittl=ICP Éú´æÊ±¼ä
ech_d=È±Ê¡
ech_cw=¸ßËÙ»º´æÆ½ºâ
ech_co=½ö½ö×î½üµÄ£¿
ech_nd=Ã»ÓÐ¸ÅÒª£¿
ech_nne=Ã»ÓÐNetDB½»»»£¿
ech_nd1=ÎÞÑÓ³Ù£¿
ech_ltp=µÇÂ¼µ½´úÀí
ech_nl=Ã»ÓÐµÇÂ¼
ech_u=ÓÃ»§£º
ech_p=ÃÜÂë£º
ech_mr=¶à²¥»ØÓ¦Õß£¿
ech_qhfd=Ñ¯ÎÊÖ÷»ú²éÕÒÓò
ech_dqfd=²»Ñ¯ÎÊÓò
ech_buttsave=±£´æ
ech_buttdel=É¾³ý
ech_return=¸ßËÙ»º´æÁÐ±í
eicp_header=ÆäËü¸ßËÙ»º´æ
eicp_opcs=ÆäËü´úÀí¸ßËÙ»º´æ·þÎñÆ÷
eicp_nocd=Ã»ÓÐ¶¨ÒåÆäËü¸ßËÙ»º´æ
eicp_aac=Ìí¼ÓÁíÒ»¸ßËÙ»º´æ
eicp_cso=¸ßËÙ»º´æÑ¡Ïî
eicp_fdfd=Ö±½Ó´ÓÓò»ñÈ¡
eicp_fdfi=Ö±½Ó´ÓIPs»ñÈ¡
eicp_dif=·À»ðÇ½ÄÚµÄÓò
eicp_iif=·À»ðÇ½ÄÚµÄÓò
eicp_dfuc=¼ä½Ó»ñÈ¡URLÆä°üº¬
eicp_d=È±Ê¡
eicp_bpfsp=¶ÔÓÚÒ»¸ö¸¸³ÌÌø¹ýping£¿
eicp_y=ÊÇ
eicp_n=·ñ
eicp_secs=Ãë
eicp_ssip=ÔÚpingÖÐ·¢ËÍÔ´£¿
eicp_crt=¸ßËÙ»º´æ×ª·¢³¬Ê±
eicp_iqt=ICP ²éÑ¯³¬Ê±
eicp_mit=¶à²¥ ICP ³¬Ê±
eicp_dpt=Dead peer ³¬Ê±
eicp_h=Ö÷»úÃû
eicp_t=ÀàÐÍ
eicp_pp=´úÀí¶Ë¿Ú
eicp_ip=ICP ¶Ë¿Ú
eicp_return=squid Ë÷Òý
eicp_always=Ö±½Ó»ñÈ¡µÄ ACL
eicp_noalways=Î´¶¨ÒåÖ±½Ó»ñÈ¡µÄ ACL
eicp_addalways=Ôö¼ÓÖ±½Ó»ñÈ¡µÄ ACL
eicp_never=ÓÀÔ¶²»Ö±½Ó»ñÈ¡µÄ ACL
eicp_nonever=Î´¶¨ÒåÓÀÔ¶Ö±½Ó»ñÈ¡µÄ ACL
eicp_addnever=Ôö¼ÓÓÀÔ¶Ö±½Ó»ñÈ¡µÄ ACL
elogs_header=µÇÂ¼
elogs_lalo=µÇÂ¼ºÍµÇÂ¼ÎÄ¼þÑ¡Ïî
elogs_alf=·ÃÎÊµÇÂ¼ÎÄ¼þ
elogs_dlf=µ÷ÊÔµÇÂ¼ÎÄ¼þ
elogs_slf=´¢´æµÇÂ¼ÎÄ¼þ
elogs_cmf=¸ßËÙ»º´æÔ­ÎÄ¼þ
elogs_uhlf=Ê¹ÓÃHTTPDµÇÂ¼¸ñÊ½£¿
elogs_lmh=µÇÂ¼MIMEÍ·£¿
elogs_ualf=ÓÃ»§´úÀíµÇÂ¼ÎÄ¼þ
elogs_pf=PID ÎÄ¼þ
elogs_prilfa=Ö´ÐÐACLµÄRFC931Éí·Ý²éÕÒ
elogs_rit=RFC931 Éí·Ý²éÕÒ³¬Ê±
elogs_dril=ÊÇ·ñRFC931Éí·Ý²éÕÒ£¿
elogs_lfh=µÇÂ¼ÍêÈ«Ö÷»úÃû£¿
elogs_ln=µÇÂ¼ÍøÂçÑÚÂë
elogs_do=µ÷ÊÔÑ¡Ïî
elogs_mht=MIME Í·±í
elogs_return=squid Ë÷Òý
emem_dheader=ÄÚ´æºÍ´ÅÅÌµÄÊ¹ÓÃ
emem_header=ÄÚ´æÊ¹ÓÃ
emem_maduo=ÄÚ´æºÍ´ÅÅÌÊ¹ÓÃÑ¡Ïî
emem_mul=ÄÚ´æÊ¹ÓÃÏÞÖÆ
emem_dul=´ÅÅÌÊ¹ÓÃÏÞÖÆ
emem_fcs=FQDN ¸ßËÙ»º´æ´óÐ¡
emem_mb=MB
emem_kb=kB
emem_mhwm=ÄÚ´æ¸ßË®Ó¡
emem_mlwm=ÄÚ´æµÍË®Ó¡
emem_dhwm=´ÅÅÌ¸ßË®Ó¡
emem_dlwm=´ÅÅÌµÍË®Ó¡
emem_mcos=×î´ó¸ßËÙ»º´æÄ¿±ê´óÐ¡
emem_iacs=IP µØÖ·¸ßËÙ»º´æ´óÐ¡
emem_e=Èë¿Ú
emem_ichwm=IP¸ßËÙ»º´æ¸ßË®Ó¡
emem_iclwm=IP¸ßËÙ»º´æµÍË®Ó¡
emem_crp=´ÅÅÌÌæ»»²ßÂÔ
emem_lru=½üÆÚ×îÉÙÊ¹ÓÃµÄ
emem_gdsf=Ë«±¶Æµ
emem_lfuda=¶¯Ì¬×îÉÙÊ¹ÓÃµÄ
emem_hlru=ÀÛ»ý×îÉÙÊ¹ÓÃ
emem_return=squid Ë÷Òý
emem_mrp=ÄÚ´æÌæ»»²ßÂÔ
emisc_header=ÔÓÀàÑ¡Ïî
emisc_mo=ÔÓÀàÑ¡Ïî
emisc_sdta=Æô¶¯ DNS ²âÊÔµØÖ·
emisc_slr=SIGUSR1 µÇÂ¼ÎÄ¼þÑ­»·
emisc_dd=È±Ê¡Óò
emisc_sp=SSL ´úÀí
emisc_nghp=·Ç GET HTTP ´úÀí
emisc_emt=´íÎóÏûÏ¢ÎÄ±¾
emisc_pcs=°´¿Í»§Í³¼Æ£¿
emisc_xffh=X-Forwarded-For Í·£¿
emisc_liq=µÇÂ¼ ICP ²éÑ¯£¿
emisc_mdh=×îÉÙÖ±½ÓÌø×ªÊý
emisc_kmffu=Îª½«À´µÄÊ¹ÓÃ±£ÁôÄÚ´æ£¿
emisc_aomtk=±£ÁôÄÚ´æÁ¿
emisc_u=ÎÞÏÞ
emisc_htpt=Í¨¹ýµÄÍ·
emisc_ah=ËùÓÐÍ·
emisc_oh=½ö½öÍ·
emisc_ae=ËùÓÐ³ýÁË
emisc_a=ÄäÃûÆ÷£¿
emisc_off=¹Ø±Õ
emisc_std=±ê×¼
emisc_par=Æ«Ö´
emisc_fua=¼ÙÓÃ»§´úÀí
emisc_return=squid Ë÷Òý
emisc_hauhh=HTTP ¼ÓËÙÊ¹ÓÃÖ÷»úÍ·
emisc_hah=HTTP ¼ÓËÙÖ÷»ú
emisc_hap=HTTP ¼ÓËÙ¶Ë¿Ú
emisc_hawp=HTTP ´ø´úÀí¼ÓËÙ
eports_header=¶Ë¿ÚºÍÁªÍø
eports_pano=¶Ë¿ÚºÍÁªÍøÑ¡Ïî
eports_paap=´úÀíµØÖ·ºÍ¶Ë¿Ú
eports_p=¶Ë¿Ú
eports_hia=Ö÷»úÃû/IP µØÖ·
eports_pp=´úÀí¶Ë¿Ú
eports_ip=ICP ¶Ë¿Ú
eports_ota=Íâ·¢ TCP µØÖ·
eports_ita=½øÈë TCP µØÖ·
eports_a=ÈÎºÎ
eports_oua=Íâ·¢UDPµØÖ·
eports_iua=½øÈëUDPµØÖ·
eports_mg=¶à²¥×é
eports_trb=TCP½ÓÊÕ»º³åÇø
eports_od=OS È±Ê¡
eports_return=squid Ë÷Òý
eprogs_header=°ïÖú³ÌÐò
eprogs_chpo=¸ßËÙ»º´æ¸¨Öú³ÌÐòÑ¡Ïî
eprogs_sfp=Squid FTP ³ÌÐò
eprogs_fo=FTP Ñ¡Ïî
eprogs_fcv=FTP ÁÐ¿í
eprogs_c=×Ö·û
eprogs_afl=ÄäÃû FTP µÇÂ¼
eprogs_sdp=Squid DNS ³ÌÐò
eprogs_nodp=DNS³ÌÐòµÄÊýÄ¿
eprogs_adtr=×·¼ÓÓòÖÁÇëÇó
eprogs_dsa=DNS ·þÎñÆ÷µØÖ·
eprogs_fr=À´×Ô resolv.conf
eprogs_ccp=¸ßËÙ»º´æÇå³ý³ÌÐò
eprogs_spp=Squid ping ³ÌÐò
eprogs_crp=¿Í»§ÖØ¶¨Ïò³ÌÐò
eprogs_norp=ÖØ¶¨Ïò³ÌÐòÊýÄ¿
eprogs_cap=¿Í»§ÈÏÖ¤³ÌÐò
eprogs_noap=¿Í»§ÈÏÖ¤³ÌÐòÊýÄ¿
eprogs_return=squid Ë÷Òý
euser_header=´´½¨´úÀíÓÃ»§
euser_header1=±à¼­´úÀíÓÃ»§
euser_pud=´úÀíÓÃ»§ÏêÏ¸
euser_u=ÓÃ»§Ãû
euser_p=ÃÜÂë
euser_u1=Î´±ä
euser_return=ÓÃ»§ÁÐ±í
ahttp_header=´´½¨´úÀíÔ¼Êø
ahttp_header1=±à¼­´úÀíÔ¼Êø
ahttp_pr=´úÀíÔ¼Êø
ahttp_a=¶¯×÷
ahttp_a1=ÔÊÐí
ahttp_d=¾Ü¾ø
ahttp_ma=Æ¥Åä ACL
ahttp_dma=²»Æ¥Åä ACL
ahttp_return=ACL ÁÐ±í
sahttp_ftspr=±£´æ´úÀíÔ¼ÊøÊ§°Ü
aicp_header=´´½¨ ICP Ô¼Êø
aicp_header1=±à¼­ ICP Ô¼Êø
aicp_ir=ICP Ô¼Êø
aicp_a=¶¯×÷
aicp_a1=ÔÊÐí
aicp_d=½ûÖ¹
aicp_ma=Æ¥Åä ACL
aicp_dma=²»Æ¥ÅäACL
aicp_return=ACL ÁÐ±í
saicp_ftsir=±£´æICPÔ¼ÊøÊ§°Ü
icache_ftic=³õÊ¼»¯¸ßËÙ»º´æÊ§°Ü
icache_ymcautrsa=Ò»¶¨ÒªÑ¡ÔñÓÃ»§ÔËÐÐSquid
icache_itscwtc=Ê¹ÓÃÃüÁî<tt>$1</tt>³õÊ¼»¯Squid¸ßËÙ»º´æ
icache_return=squid Ë÷Òý
icache_title=³õÊ¼»¯ Cache
restart_ftrs=ÖØÐÂÅäÖÃsquidÊ§°Ü
sadmin_ftsao=±£´æ¹ÜÀíÑ¡ÏîÊ§°Ü
sadmin_header=¸Ä±äËùÓÐÕß
sadmin_msg1=¸Ä±äÁËsquidÔËÐÐµÄÓÃ»§ºÍ×é.ÎªÊ¹Ö®ÕýÈ·ÉúÐ§, ËùÓÐ¸ßËÙ»º´æºÍµÇÂ¼ÎÄ¼þµÄËùÓÐÕßÓ¦¸üÐÂ£¬squidÓ¦ÖØÐÂÆô¶¯¡£
sadmin_buttco=¸Ä±äËùÓÐÕß
sadmin_return=Ë÷Òý
sadmin_inavea=´íÎóµÄEmailµØÖ·'$1'
sadmin_inavh=´íÎóµÄÖ÷»úÃû'$1'
sadmin_inavap=´íÎóµÄÍ¨±¨Ê±ÆÚ'$1'
sadmin_inavp=´íÎóµÄ¶Ë¿ÚºÅ'$1'
sauth_ftsao=±£´æÈÏÖ¤Ñ¡ÏîÊ§°Ü
sauth_iomuf=´íÎó»ò¶ªÊ§ÓÃ»§ÎÄ¼þÃû
sauth_iomd=´íÎó»ò¶ªÊ§ÓòÃû
sauth_msg1=Squid°æ±¾Ã»ÓÐ±à¼­ÎªÖ§³Ö´úÀíÈÏÖ¤
scache_ftsco=±£´æ¸ßËÙ»º´æÑ¡ÏîÊ§°Ü
scache_emsg0=ÖÁÉÙÒªÊäÈëÒ»¸ö¸ßËÙ»º´æÄ¿Â¼
scache_emsg1=¸ßËÙ»º´æÄ¿Â¼'$1'²»´æÔÚ
scache_emsg2=´íÎóµÄÇëÇó´óÐ¡'$1'
scache_emsg3=´íÎóµÄÇëÇó¸ßËÙ»º´æÊ±¼ä'$1'
scache_emsg4=´íÎóµÄDNS¸ßËÙ»º´æÊ±¼ä'$1'
scache_emsg5=´íÎóµÄ³¬Ê±'$1'
scache_emsg6=´íÎóÊ±¼ä'$1'
scache_emsg7=´íÎóµÄÄ¿Â¼Êý'$1'
scache_emsg8=Ä¿Â¼Êý±ØÐë´óÓÚµÈÓÚ1
scache_emsg9=Ä¿Â¼Êý±ØÐëÐ¡ÓÚµÈÓÚ256
scache_emsg10=´íÎóµÄÄ¿±ê´óÐ¡'$1'
scache_emsg11=´íÎóµÄÄ¿±êÊý'$1'
scache_emsg12=´íÎóµÄÄ¿Â¼´óÐ¡'$1'
scache_emsg13=´íÎóµÄÖ÷»ú'$1'
scache_emsg14=´íÎó¶Ë¿Ú'$1'
schost_ftsc=±£´æ¸ßËÙ»º´æÊ§°Ü
schost_emsg1=´íÎóµÄ¸ßËÙ»º´æÖ÷»úÃû'$1'
schost_emsg2=´íÎóµÄ´úÀí¶Ë¿Ú'$1'
schost_emsg3=´íÎóµÄICP¶Ë¿Ú'$1'
schost_emsg4=´íÎóµÄÉú´æÊ±¼ä'$1'
schost_emsg5=´íÎóµÄ¾ùºâ'$1'
sicp_ftsco=±£´æ¸ßËÙ»º´æÑ¡ÏîÊ§°Ü
sicp_emsg1=´íÎóµÄ³¬Ê±'$1'
slogs_ftslo=±£´æÈÕÖ¾Ñ¡ÏîÊ§°Ü
slogs_emsg1=²»ÊÇ¾ø¶ÔÎÄ¼þÃû'$1'
slogs_emsg2=´íÎóÎÄ¼þÃû'$1'
slogs_emsg3=Ä¿Â¼'$1'²»´æÔÚ
slogs_emsg4=´íÎóµÄÍøÂçÑÚÂë'$1'
slogs_emsg5=´íÎóµÄµ÷ÊÔÑ¡ÏîÁÐ±í'$1'
smem_ftsmo=±£´æÄÚ´æÑ¡ÏîÊ§°Ü
smem_emsg1=´íÎóµÄ¸ßËÙ»º´æ´óÐ¡'$1'
smem_emsg2=´íÎóµÄ¸ßË®Ó¡'$1'
smem_emsg3=´íÎóµÄµÍË®Ó¡'$1'
smem_emsg4=´íÎóµÄÄ¿±ê´óÐ¡'$1'
smisc_ftso=±£´æÑ¡ÏîÊ§°Ü
smisc_emsg1=´íÎóµÄÐý×ªÊý'$1'
smisc_emsg2=´íÎóµÄÓò'$1'
smisc_emsg3=´íÎóµÄ´úÀí'$1'
smisc_emsg4=´íÎóµÄÌø×ªÊý'$1'
sport_ftspo=±£´æ¶Ë¿ÚÑ¡ÏîÊ§°Ü
sport_emsg1=´íÎóµÄµÄ¶Ë¿ÚÊý'$1'
sport_emsg2=´íÎóµÄµØÖ·'$1'
sport_emsg3=´íÎóµÄ¸ßËÙ»º´æ´óÐ¡'$1'
sprog_ftshpo=±£´æ°ïÖú³ÌÐòÑ¡ÏîÊ§°Ü
sprog_emsg1=¶ªÊ§ FTP Ñ¡Ïî
sprog_emsg2=´íÎóµÄ³ÌÐò'$1'
sprog_emsg3='$1'²»ÊÇ¿ÉÖ´ÐÐ³ÌÐò
sprog_emsg4='$1' ·Ç·¨FTPµÇÂ¼
sprog_emsg5=´íÎóµÄ³ÌÐòÊý'$1'
sprog_emsg6=´íÎóµÄÁÐ¿í'$1'
sprog_emsg7=Ã»ÓÐÊäÈëDNS·þÎñÆ÷
sprog_emsg8=´íÎóIPµØÖ·'$1'
suser_ftsu=±£´æÓÃ»§Ê§°Ü
suser_emsg1=´íÎó»ò¶ªÊ§ÓÃ»§Ãû
start_ftsq=Æô¶¯squidÊ§°Ü
stop_ftsq=±£´æsquidÊ§°Ü
calamaris_title=Calamaris ÈÕÖ¾·ÖÎö
calamaris_last=ÏÞÖÆ·ÖÎöµ½ÈÕÖ¾µÄ×îºó $1 ÐÐ..
calamaris_eprog=Î´ÕÒµ½¿ÉÖ´ÐÐµÄ Calamaris¡£¿ÉÄÜÄúµÄÏµÍ³ÖÐÃ»ÓÐ°²×°£¬»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a> ²»ÕýÈ·¡£
calamaris_elogs=ÈÕÖ¾Ä¿Â¼ $1 ÖÐ²»°üÀ¨ÈÎºÎ<tt>access.log</tt>ÎÄ¼þ¡£¿ÉÄÜ»¹Ã»ÓÐÔËÐÐ squid£¬»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·¡£
calamaris_gen=ÔÚ $1 ÉÏÉú³ÉµÄ±¨¸æ
lib_emsg1=´íÎóµÄIPµØÖ·'$1'
lib_seconds=Ãë
lib_minutes=·Ö
lib_hours=Ð¡Ê±
lib_days=Ìì
lib_weeks=ÐÇÆÚ
lib_fortnights=Á½ÖÜ
lib_months=ÔÂ
lib_years=Äê
lib_decades=¼¸Ê®Äê
lib_emsg2='$2'ÖÐ´íÎóµÄÊý×Ö'$1'
lib_kb=kB
lib_mb=MB
lib_gb=GB
lib_emsg3='$2' ´íÎóµÄÊý×Ö'$1'
lib_aclca=¿Í»§µØÖ·
lib_aclwsa=Web ·þÎñÆ÷µØÖ·
lib_aclch=¿Í»§Ö÷»úÃû
lib_aclwsh=Web ·þÎñÆ÷Ö÷»úÃû
lib_acldat=ÈÕÆÚºÍÊ±¼ä
lib_aclur=URL ÕýÔò±í´ïÊ½
lib_aclupr=URL Â·¾¶ÕýÔò±í´ïÊ½
lib_aclup=URL ¶Ë¿Ú
lib_aclup1=URL Ð­Òé
lib_aclrm=ÇëÇó·½·¨
lib_aclbr=ä¯ÀÀÆ÷ÕýÔò±í´ïÊ½
lib_aclpl=´úÀíµÇÂ¼
lib_aclsan=ÒÔÊý×Ö±íÊ¾Ô´
lib_acldan=ÒÔÊý×Ö±íÊ¾Ä¿±ê
lib_aclea=Íâ²¿ÈÏÖ¤
lib_aclcr=¿Í»§ÕýÔò±í´ïÊ½
lib_aclwsr=Web ·þÎñÆ÷ÕýÔò±í´ïÊ½
lib_aclru=RFC931 ÓÃ»§
lib_aclpia=´úÀíIPµØÖ·
lib_aclmc=×î´óÁ¬½ÓÊý
lib_aclpp=´úÀí¶Ë¿Ú
lib_aclsc=SNMP Í¨Ñ¶
lib_aclrmt=ÇëÇó MIME ÀàÐÍ
lib_aclarp=Ethernet µØÖ·
lib_aclear=Íâ²¿ÈÏÖ¤ÕýÔò±í´ïÊ½
lib_buttac=±ä¶¯ÉúÐ§
lib_buttss=Í£Ö¹ Squid
lib_buttss1=Æô¶¯ Squid
log_ports=¸Ä±ä¶Ë¿ÚºÍÁªÍøÑ¡Ïî
log_icp=¸Ä±äÆäËü¸ßËÙ»º´æÑ¡Ïî
log_mem=¸Ä±äÄÚ´æÊ¹ÓÃÑ¡Ïî
log_logs=¸Ä±äÈÕÖ¾Ñ¡Ïî
log_cache=¸Ä±ä¸ßËÙ»º´æÑ¡Ïî
log_progs=¸Ä±ä°ïÖú³ÌÐòÑ¡Ïî
log_admin=¸Ä±ä¹ÜÀíÑ¡Ïî
log_misc=¸Ä±äÔÓÀàÑ¡Ïî
log_clear=ÇåÀíºÍÖØ½¨¸ßËÙ»º´æ
log_acl_create=´´½¨ ACL $1
log_acl_modify=¸üÐÂ ACL $1
log_acl_delete=É¾³ý ACL $1
log_http_create=´´½¨´úÀíÔ¼Êø
log_http_modify=¸üÐÂ´úÀíÔ¼Êø
log_http_delete=É¾³ý´úÀíÔ¼Êø
log_http_move=ÒÆ¶¯´úÀíÔ¼Êø
log_icp_create=´´½¨ ICP Ô¼Êø
log_icp_modify=¸üÐÂ ICP Ô¼Êø
log_icp_delete=É¾³ý ICP Ô¼Êø
log_icp_move=ÒÆ¶¯ ICP Ô¼Êø
log_stop=Í£Ö¹´úÀí·þÎñÆ÷
log_start=Æô¶¯´úÀí·þÎñÆ÷
log_apply=Ó¦ÓÃ¸Ä±äÖµ
log_host_create=´´½¨¸ßËÙ»º´æÖ÷»ú $1
log_host_modify=¸üÐÂ¸ßËÙ»º´æÖ÷»ú $1
log_host_delete=É¾³ý¸ßËÙ»º´æÖ÷»ú $1
log_init=³õÊ¼»¯¸ßËÙ»º´æ
log_user_create=´´½¨´úÀíÓÃ»§ $1
log_user_delete=É¾³ý´úÀíÓÃ»§ $1
log_user_modify=¸ü¸Ä´úÀíÓÃ»§ $1
log_always_create=´´½¨¿ÉÖ±½ÓµÃµ½µÄ ACL
log_always_modify=¸ü¸Ä¿ÉÖ±½ÓµÃµ½µÄ ACL
log_always_delete=É¾³ý¿ÉÖ±½ÓµÃµ½µÄ ACL
log_always_move=ÒÆ¶¯¿ÉÖ±½ÓµÃµ½µÄ ACL
log_never_create=´´½¨ÓÀÔ¶²»ÄÜÖ±½ÓµÃµ½µÄ ACL
log_never_modify=¸ü¸ÄÓÀÔ¶²»ÄÜÖ±½ÓµÃµ½µÄ ACL
log_never_delete=É¾³ýÓÀÔ¶²»ÄÜÖ±½ÓµÃµ½µÄ ACL
log_never_move=ÒÆ¶¯ÓÀÔ¶²»ÄÜÖ±½ÓµÃµ½µÄ ACL
acl_root=ACL ÎÄ¼þµÄ Root Ä¿Â¼
always_create=´´½¨Ö±½Ó»ñÈ¡
always_edit=±à¼­Ö±½Ó»ñÈ¡
always_header=Æ¥Åä ACL µÄÖ±½Ó»ñÈ¡ÇëÇó
never_create=´´½¨¼ä½Ó»ñÈ¡
never_edit=±à¼­¼ä½Ó»ñÈ¡
never_header=Æ¥Åä ACL µÄ¼ä½Ó»ñÈ¡ÇëÇó
 07070100049905000081a40000000000000002000000013d1fe2d400003584000000200000000000000000000000000000001c00000003reloc/squid/lang/zh_TW.Big5   index_header=Squid ¥N²z¦øªA¾¹
index_msgnoconfig=Squid ²ÕºAÀÉ®× <tt>$1</tt> ¤£¦s¦b. ¦pªG±z¤w¸g¦w¸Ë Squid, ½Ð½Õ¾ã±zªº<a href=/config.cgi?$2 >¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
index_msgnoexe=Squid °õ¦æÀÉ <tt>$1</tt> ¤£¦s¦b. ¦pªG±z¤w¸g¦w¸Ë Squid, ½Ð½Õ¾ã±zªº<a href=/config.cgi?$2 >¼Ò²Õ²ÕºA</a>¨Ã¨Ï¥Î¥¿½Tªº¸ô®|.
index_msgnosupported=±zªº Squid ª©¥»¨Ã¤£³Q Webmin ¤ä´©. ³o­Ó¼Ò²Õ¶È¤ä´©ª©¥» <tt>1.1</tt>, <tt>2.0</tt>, <tt>2.1</tt>, <tt>2.2</tt> »P <tt>2.3</tt>.
index_msgnodir1=±zªº Squid §Ö¨ú¥Ø¿ý <tt>$1</tt> ©|¥¼ªì©l¤Æ.
index_msgnodir2=±zªº Squid §Ö¨ú¥Ø¿ý <tt>$1</tt> ©|¥¼ªì©l¤Æ.
index_msgnodir3=¦b Squid ¥i¥H°õ¦æ¤§«e, ³o¥²¶·¥ý³Q§¹¦¨.
index_buttinit=ªì©l¤Æ§Ö¨ú
index_asuser=¥H Unix ¨Ï¥ÎªÌ
index_portsnets=³q°T°ð»Pºô¸ô
index_othercaches=¨ä¥L§Ö¨ú
index_musage=°O¾ÐÅé¨Ï¥Î¶q
index_logging=¬ö¿ý
index_copts=§Ö¨ú¿ï¶µ
index_hprogs=»²§Uµ{¦¡
index_actrl=¦s¨ú±±¨î
index_admopts=ºÞ²z¿ï¶µ
index_proxyauth=¥N²z¦øªA¾¹»{ÃÒ
index_miscopt=¨ä¥L¿ï¶µ
index_cms=§Ö¨úºÞ²zªÌ²Î­p
index_rebuild=²M°£¨Ã­«·s«Ø¥ß§Ö¨ú
index_return=¯Á¤Þ

buttsave=Àx¦s
buttdel=§R°£
buttcreat=«Ø¥ß
yes=¬O
no=§_
default=¹w³]
none=µL
on=¶}
off=Ãö

acl_header1=«Ø¥ß¦s¨ú±±¨î¦Cªí
acl_header2=½s¿è¦s¨ú±±¨î¦Cªí
acl_name=¦s¨ú±±¨î¦Cªí¦WºÙ
acl_fromip=±q IP
acl_toip=¨ì IP
acl_nmask=¤lºô¸ô¾B¸n
acl_ipaddr=IP ¦ì§}
acl_domains=ºô°ì
acl_dofw=¬P´Á¤¤ªº¤é¤l
acl_sel=¿ï¾Üªº...
acl_all=¥þ³¡
acl_dsun=¬P´Á¤é
acl_dmon=¬P´Á¤@
acl_dtue=¬P´Á¤G
acl_dwed=¬P´Á¤T
acl_dthu=¬P´Á¥|
acl_dfri=¬P´Á¤­
acl_dsat=¬P´Á¤»
acl_hofd=¤@¤é¤¤ªº®É
acl_to=¨ì
acl_regexp=¥¿³Wªí¥Ü±Ô­z
acl_tcpports=TCP ³q°T°ð
acl_urlproto=URL ³q°T¨ó©w
acl_reqmethods=­n¨Dªº¤è¦¡
acl_bregexp=ÂsÄý¾¹ªº¥¿³Wªí¥Üªk
acl_pusers=¥N²z¦øªA¾¹¨Ï¥ÎªÌ
acl_asnum=AS ½s¸¹
acl_rtime=§ó·s®É¶¡
acl_rfcusers=RFC931 ¨Ï¥ÎªÌ
acl_mcr=³Ì¤j¦P®É³s½u¨Ï¥ÎªÌ¼Æ
acl_psp=¥N²z¦øªA¾¹¦øªA¾¹³q°T°ð
acl_scs=SNMP ³q°T¦r¦ê
acl_failurl=¿ù»~ªº URL
acl_buttsave=Àx¦s
acl_buttdel=§R°£
acl_return=¦s¨ú±±¨î¦Cªí

aclsave_failsave=µLªkÀx¦s¦s¨ú±±¨î¦Cªí
aclsave_faildel=µLªk§R°£¦s¨ú±±¨î¦Cªí
aclsave_epr=³o­Ó¦s¨ú±±¨î¦Cªí¤w¸g³Q¥N²z¦øªA¾¹­­¨î©Ò¨Ï¥Î
aclsave_eicpr=³o­Ó¦s¨ú±±¨î¦Cªí¤w¸g³Q ICP ­­¨î©Ò¨Ï¥Î
aclsave_ename=¿ù»~ªº¦s¨ú±±¨î¦Cªí¦WºÙ
aclsave_eexists=¥s°µ '$1' ªº¦s¨ú±±¨î¦Cªí¤w¸g¦s¦b
aclsave_efrom='$1' ¤£¬O¤@­Ó¦³®Äªº '±q' IP ¦ì§}
aclsave_eto='$1' ¤£¬O¤@­Ó¦³®Äªº '¨ì' IP ¦ì§}
aclsave_enmask='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
aclsave_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
aclsave_ecdom=¨S¦³´£¨Ñ«È¤áºÝºô°ì¦WºÙ
aclsave_esdom=¨S¦³´£¨Ñ¦øªAºÝºô°ì¦WºÙ
aclsave_eshour=¿ù»~ªº¶}©l®É
aclsave_eehour=¿ù»~ªºµ²§ô®É
aclsave_esmin=¿ù»~ªº¶}©l¤À
aclsave_eemin=¿ù»~ªºµ²§ô¤À

cach_err=¿ù»~
cach_nfound=Squid §Ö¨úºÞ²zµ{¦¡ <tt>$1</tt> ¦b±zªº¨t²Î¤W§ä¤£¨ì. ¥i¯à¬O±zªº<a href=/config.cgi?$2 >¼Ò²Õ²ÕºA</a>¦³¿ù»~.
cach_return=Squid ¯Á¤Þ

chown_header=ÅÜ§ó¾Ö¦³Åv
chown_stop=°±¤î Squid ¤¤...
chown_done=...§¹¦¨
chown_chown=ÅÜ§ó¾Ö¦³Åv¤¤...
chown_restart=­«·s±Ò°Ê Squid ¤¤...
chown_failrestart=µLªk­«·s±Ò°Ê Squid...

clear_header=²M°£¨Ã­«·s«Ø¥ß§Ö¨ú
clear_msgclear=±z¬O§_½T©w­n²M°£¨Ã­«·s«Ø¥ß±zªº Squid §Ö¨ú? ªÌ±N·|§R°£±z§Ö¨ú¨ìªº<b>¥þ³¡</b>ÀÉ®×¨Ã­«·s±Ò°Ê±zªº Squid ¦øªA¾¹.
clear_msgclear2=±zÀ³¸Ó­n½T©w±z¨S¦³¨Ï¥ÎªÌ­Ó§Ö¨ú¥H©M Webmin ³q°T, §_«h±z±N·|¦b§Ö¨ú°±¤î®É»P Webmin ¤¤Â_³s½u.
clear_buttclear=²M°£¨Ã­«·s«Ø¥ß§Ö¨ú
clear_stop=°±¤î Squid ¤¤...
clear_done=...§¹¦¨
clear_del=§R°£ÂÂªº§Ö¨úÀÉ®×¤¤...
clear_init=¥H©R¥O <tt>$1</tt> ªì©l¤Æ Squid §Ö¨ú¤¤...
clear_failrestart=µLªk­«·s±Ò°Ê Squid...
clear_return=squid ¯Á¤Þ

eacl_header=¦s¨ú±±¨î
eacl_acls=¦s¨ú±±¨î¦Cªí
eacl_name=¦WºÙ
eacl_type=Ãþ§O
eacl_match=²Å¦X±ø¥ó...
eacl_noacls=¨S¦³©w¸q¦s¨ú±±¨î¦Cªí
eacl_buttcreate=«Ø¥ß·sªº¦s¨ú±±¨î¦Cªí
eacl_pr=¥N²z¦øªA¾¹­­¨î
eacl_act=°Ê§@
eacl_acls1=¦s¨ú±±¨î¦Cªí
eacl_move=²¾°Ê
eacl_nopr=¨S¦³©w¸q¥N²z¦øªA¾¹­­¨î
eacl_addpr=¼W¥[¥N²z¦øªA¾¹­­¨î
eacl_icpr=ICP ­­¨î
eacl_noicpr=¨S¦³©w¸q ICP ­­¨î
eacl_addicpr=¼W¥[ ICP ­­¨î
eacl_return=squid ¯Á¤Þ

eadm_header=ºÞ²z¿ï¶µ
eadm_aao=ºÞ²z»P¤½§i¿ï¶µ
eadm_runasuu=¥H Unix ¨Ï¥ÎªÌ°õ¦æ
eadm_nochange=¤£§ïÅÜ
eadm_user=¨Ï¥ÎªÌ
eadm_group=¸s²Õ
eadm_runasug=¥H Unix ¸s²Õ°õ¦æ
eadm_par=¥N²z¦øªA¾¹»{ÃÒ½d³ò
eadm_default=¹w³]
eadm_cmemail=§Ö¨úºÞ²zªÌ¹q¤l¶l¥ó¦ì§}
eadm_vhost=¥i¨£ªº¥D¾÷¦WºÙ
eadm_uniq=°ß¤@ªº¥D¾÷¦WºÙ
eadm_auto=¦Û°Ê
eadm_annto=¤½§i§Ö¨ú¨ì
eadm_annevery=¤½§i§Ö¨ú, ¨C
eadm_never=¥Ã¤£
eadm_uniqhn=°ß¤@ªº¥D¾÷¦WºÙ
eadm_cah=§Ö¨ú¤½§i¥D¾÷
eadm_cap=§Ö¨ú¤½§i³q°T°ð
eadm_caf=§Ö¨ú¤½§iÀÉ®×
eadm_none=µL
eadm_annp=¤½§i®É¶¡
eadm_buttsave=Àx¦s
eadm_return=squid ¯Á¤Þ

eauth_header=¥N²z¦øªA¾¹»{ÃÒ
eauth_aopt=»{ÃÒ¿ï¶µ
eauth_puf=¥N²z¦øªA¾¹¨Ï¥ÎªÌÀÉ®×
eauth_none=µL
eauth_nologin=¤£»Ý­nµn¤Jªººô°ì
eauth_buttsave=Àx¦s
eauth_msgaccess=­­¨î¥u¦³¦b¤U­±¦Cªí¤¤ªº¨Ï¥ÎªÌ¥i¥H¦s¨ú±zªº¥N²z¦øªA¾¹. ¦b¼W¥[, §R°£©Î²¾°£¨Ï¥ÎªÌ¤§«á, ±z¥²¶·­«·s±Ò°Ê Squid ¤~¯àÅý³]©w¥Í®Ä.
eauth_pusers=¥N²z¦øªA¾¹¨Ï¥ÎªÌ
eauth_nopusers=¥Ø«e¨S¦³©w¸q¥ô¦ó¥N²z¦øªA¾¹¨Ï¥ÎªÌ.
eauth_addpuser=¼W¥[·sªº¥N²z¦øªA¾¹¨Ï¥ÎªÌ
eauth_return=squid ¯Á¤Þ

ec_header=§Ö¨ú¿ï¶µ
ec_cro=§Ö¨ú»P­n¨D¿ï¶µ
ec_cdirs=§Ö¨ú¥Ø¿ý
ec_default=¹w³]
ec_listed=¦C¥Xªº...
ec_directory=¥Ø¿ý
ec_type=Ãþ§O
ec_size=¤j¤p (Mb)
ec_1dirs=²Ä¤@¼h¥Ø¿ý¼Æ¶q
ec_2dirs=²Ä¤G¼h¥Ø¿ý¼Æ¶q
ec_u=UFS
ec_ua=«D¦P¨B UFS
ec_1dirs1=²Ä¤@¼h¥Ø¿ý¼Æ¶q
ec_2dirs2=²Ä¤G¼h¥Ø¿ý¼Æ¶q
ec_aos=¥­§¡ª«¥ó¤j¤p
ec_kb=Kb
ec_mins=¤À
ec_secs=¬í
ec_opb=¨C­Ó°Ï°ì¤¤ªºª«¥ó¼Æ¥Ø
ec_ncuc=¤£­n§Ö¨ú URL ªº¤º®e
ec_ncum=¤£­n§Ö¨ú URL ²Å¦X
ec_ncua=¤£­n§Ö¨ú URL µ¹¦s¨ú±±¨î¦Cªí
ec_mct=³Ì¤j§Ö¨ú®É¶¡
ec_mrbs=³Ì¤j­n¨D¥»Åé¤j¤p
ec_mrhs=³Ì¤j­n¨D¼ÐÀY¤j¤p
ec_mrbs1=³Ì¤j¦^À³¥»Åé¤j¤p
ec_mrs=³Ì¤j­n¨D¤j¤p
ec_frct=¥¢±Ñªº­n¨D§Ö¨ú®É¶¡
ec_dlct=DNS ¬d¸ß§Ö¨ú®É¶¡
ec_fdct=¥¢±Ñªº DNS §Ö¨ú®É¶¡
ec_ct=³s±µ¹O®É
ec_rt=Åª¨ú¹O®É
ec_mcct=³Ì¤j«È¤áºÝ³s±µ®É¶¡
ec_mst=³Ì¤jÃö³¬®É¶¡
ec_sst=ºÝÂI¿ï¾Ü¹O®É
ec_crt=«È¤áºÝ­n¨D¹O®É
ec_hcc=¬O§_¥bÃö³¬«È¤áºÝ?
ec_pt=«ùÄò¹O®É
ec_wr=WAIS ¤¤Ä~
ec_none=µL
ec_host=¥D¾÷
ec_port=³q°T°ð
ec_wrh=WAIS ¤¤Ä~¥D¾÷
ec_wrp=WAIS ¤¤Ä~³q°T°ð
ec_buttsave=Àx¦s
ec_return=squid ¯Á¤Þ

ech_header=«Ø¥ß§Ö¨ú¥D¾÷
ech_header1=½s¿è§Ö¨ú¥D¾÷
ech_cho=§Ö¨ú¥D¾÷¿ï¶µ
ech_h=¥D¾÷¦WºÙ
ech_parent=¤W´å
ech_sibling=¥­¦æ
ech_multicast=¦hÂI¶Ç¿é
ech_t=Ãþ§O
ech_pp=¥N²z³q°T°ð
ech_ip=ICP ³q°T°ð
ech_po=¨Ï§_¥u°µ¥N²z?
ech_y=¬O
ech_n=§_
ech_siq=¬O§_°e¥X ICP ¬d¸ß?
ech_dc=¬O§_¹w³]§Ö¨ú?
ech_rrc=¬O§_´`Àô§Ö¨ú?
ech_ittl=ICP ¦s¬¡®É¶¡
ech_d=¹w³]
ech_cw=§Ö¨ú°¾¦n«×
ech_co=¬O§_¥u¥Î³Ì±µªñªº?
ech_nd=¬O§_¤£§l¦¬?
ech_nne=¬O§_µL NetDB ¥æ´«?
ech_nd1=¬O§_¤£©µ¿ð?
ech_ltp=µn¤J¨ì¥N²z¦øªA¾¹
ech_nl=¤£µn¤J
ech_u=¨Ï¥ÎªÌ:
ech_p=±K½X:
ech_mr=¬O§_¦hÂI¶Ç¿é¦^À³?
ech_qhfd=¬d¸ß¥D¾÷¦bºô°ì
ech_dqfd=¤£­n¬d¸ß¦bºô°ì
ech_buttsave=Àx¦s
ech_buttdel=§R°£
ech_return=§Ö¨ú¦Cªí

eicp_header=¨ä¥L§Ö¨ú
eicp_opcs=¨ä¥L¥N²z¦øªA§Ö¨ú¦øªA¾¹
eicp_nocd=¨S¦³©w¸q¨ä¥Lªº§Ö¨ú
eicp_aac=¼W¥[¨ä¥Lªº§Ö¨ú
eicp_cso=§Ö¨ú¿ï¾Ü¿ï¶µ
eicp_fdfd=ª½±µ¥Ñºô°ì¨ú¦^
eicp_fdfi=ª½±µ¥Ñ IP ¨ú¦^
eicp_dif=ºô°ì¦b¨¾¤õÀð¤º
eicp_iif=IP ¦b¨¾¤õÀð¤º
eicp_dfuc=ª½±µ¨ú¦^ URL ¤º®e
eicp_d=¹w³]
eicp_bpfsp=¬O§_¸õ¹L ping ¤W´å?
eicp_y=¬O
eicp_n=§_
eicp_ssip=¬O§_¥H ping °e¥X¨Ó·½?
eicp_crt=§Ö¨ú¦^À³¹O®É
eicp_iqt=ICP ¬d¸ß¹O®É
eicp_mit=¦hÂI¶Ç¿é ICP ¹O®É
eicp_dpt=¦º¤`¥­¦æ¥D¾÷¹O®É
eicp_h=¥D¾÷¦WºÙ
eicp_t=Ãþ§O
eicp_pp=¥N²z³q°T°ð
eicp_ip=ICP ³q°T°ð
eicp_return=squid ¯Á¤Þ

elogs_header=¬ö¿ý
elogs_lalo=¬ö¿ý»P¬ö¿ýÀÉ®×¿ï¶µ
elogs_alf=¦s¨ú¬ö¿ýÀÉ
elogs_dlf=°£¿ù¬ö¿ýÀÉ
elogs_slf=Àx¦s¬ö¿ýÀÉ
elogs_cmf=§Ö¨ú¤¤¤¶¸ê®ÆÀÉ
elogs_uhlf=¬O§_¨Ï¥Î HTTPD ¬ö¿ýÀÉ®æ¦¡?
elogs_lmh=¬O§_¬ö¿ý MIME ¼ÐÀY?
elogs_ualf=¨Ï¥ÎªÌ¥N²z¤H¬ö¿ýÀÉ
elogs_pf=PID ÀÉ®×
elogs_prilfa=¦s¨ú±±¨î¦Cªí­n¨D RFC931 ¨­¤À¬d¸ß
elogs_rit=RFC931 ¨­¤À¬d¸ß¹O®É
elogs_dril=¬O§_¶i¦æ RFC931 ¨­¤À¬d¸ß?
elogs_lfh=¬O§_¬ö¿ý§¹¾ã¥D¾÷¦WºÙ?
elogs_ln=¬O§_¨Ï¥Î¤lºô¸ô¾B¸n¬ö¿ý
elogs_do=°£¿ù¿ï¶µ
elogs_mht=MIME ¼ÐÀYªí
elogs_return=squid ¯Á¤Þ

emem_header=°O¾ÐÅé¨Ï¥Î¶q
emem_maduo=°O¾ÐÅé»PºÏºÐ¨Ï¥Î¶q¿ï¶µ
emem_mul=°O¾ÐÅé¨Ï¥Î¶q¤W­­
emem_dul=ºÏºÐ¨Ï¥Î¶q¤W­­
emem_fcs=FQDN §Ö¨ú¤j¤p
emem_mb=Mb
emem_kb=Kb
emem_mhwm=°O¾ÐÅé°ª¥Î¶q¼Ð°O
emem_mlwm=°O¾ÐÅé§C¥Î¶q¼Ð°O
emem_dhwm=ºÏºÐ°ª¥Î¶q¼Ð°O
emem_dlwm=ºÏºÐ§C¥Î¶q¼Ð°O
emem_mcos=³Ì¤j§Ö¨úª«¥ó¤j¤p
emem_iacs=IP ¦ì§}§Ö¨ú¤j¤p
emem_e=¶µ¥Ø¼Æ
emem_ichwm=IP §Ö¨ú°ª¥Î¶q¼Ð°O
emem_iclwm=IP §Ö¨ú§C¥Î¶q¼Ð°O
emem_return=squid ¯Á¤Þ

emisc_header=¨ä¥L¿ï¶µ
emisc_mo=¨ä¥L¿ï¶µ
emisc_sdta=°_©l DNS ´ú¸Õ¦ì§}
emisc_slr=SIGUSR1 ¬ö¿ýÀÉ½üÂà
emisc_dd=¹w³]ºô°ì
emisc_sp=SSL ¥N²z¦øªA¾¹
emisc_nghp=¤£¥i¨ú±o HTTP ¥N²z¦øªA¾¹
emisc_emt=¿ù»~°T®§¤å¦r
emisc_pcs=¬O§_¹ï¨C­Ó«È¤áºÝ§@²Î­p?
emisc_xffh=¬O§_¨Ï¥Î X-Âà°e-µ¹ ¼ÐÀY?
emisc_liq=¬O§_¬ö¿ý ICP ¬d¸ß?
emisc_mdh=³Ì¤pª½±µ¸õÅD¼Æ
emisc_kmffu=¬O§_«O¦s°O¾ÐÅé¥H¨Ñ¥¼¨Ó¨Ï¥Î?
emisc_aomtk=«O¯dªº°O¾ÐÅé¼Æ¶q
emisc_u=µL­­¨î
emisc_htpt=ª½±µ¬ï¶Vªº¼ÐÀY
emisc_ah=¥þ³¡ªº¼ÐÀY
emisc_oh=¥u¦³¼ÐÀY
emisc_ae=¥þ³¡, °£¤F
emisc_a=¬O§_°Î¦W¤Æ?
emisc_off=Ãö
emisc_std=¼Ð·Ç
emisc_par=¦hºÃ
emisc_fua=°²ªº¨Ï¥ÎªÌ¥N²z
emisc_return=squid ¯Á¤Þ
emisc_hauhh=HTTP ¥[³t¨Ï¥Î¥D¾÷¼ÐÀY
emisc_hah=HTTP ¥[³t¥D¾÷
emisc_hap=HTTP ¥[³t³q°T°ð
emisc_hawp=HTTP ¥[³t»P¥N²z¦øªA¾¹

eports_header=³q°T°ð»Pºô¸ô
eports_pano=³q°T°ð»Pºô¸ô¿ï¶µ
eports_paap=¥N²z¦øªA¾¹¦ì§}»P³q°T°ð
eports_p=³q°T°ð
eports_hia=¥D¾÷¦WºÙ/IP ¦ì§}
eports_pp=¥N²z³q°T°ð
eports_ip=ICP ³q°T°ð
eports_ota=¥~°eªº TCP ¦ì§}
eports_ita=¶i¤Jªº TCP ¦ì§}
eports_a=¥ô·N
eports_oua=¥~°eªº UDP ¦ì§}
eports_iua=¶i¤Jªº UDP ¦ì§}
eports_mg=¦hÂI¶Ç¿é¸s²Õ
eports_trb=TCP ±µ¦¬½w½Ä°Ï
eports_od=¹w³]§@·~¨t²Î
eports_return=squid ¯Á¤Þ

eprogs_header=»²§Uµ{¦¡
eprogs_chpo=§Ö¨ú»²§Uµ{¦¡¿ï¶µ
eprogs_sfp=Squid FTP µ{¦¡
eprogs_fo=FTP ¿ï¶µ
eprogs_fcv=FTP Äæ¦ì¼e«×
eprogs_c=¦r¤¸
eprogs_afl=°Î¦W FTP µn¤J
eprogs_sdp=Squid DNS µ{¦¡
eprogs_nodp=DNS µ{¦¡¼Æ¶q
eprogs_adtr=¼W¥[ºô°ì¨ì­n¨D
eprogs_dsa=DNS ¦øªA¾¹¦ì§}
eprogs_fr=±q resolv.conf
eprogs_ccp=§Ö¨ú²M°£µ{¦¡
eprogs_spp=Squid ping µ{¦¡
eprogs_crp=¦Û­q­«¾É¦Vµ{¦¡
eprogs_norp=­«¾É¦Vµ{¦¡¼Æ¶q
eprogs_cap=¦Û­q»{ÃÒµ{¦¡
eprogs_noap=»{ÃÒµ{¦¡¼Æ¶q
eprogs_return=squid ¯Á¤Þ

euser_header=«Ø¥ß¥N²z¦øªA¾¹¨Ï¥ÎªÌ
euser_header1=½s¿è¥N²z¦øªA¾¹¨Ï¥ÎªÌ
euser_pud=¥N²z¦øªA¾¹¨Ï¥ÎªÌ¸Ô²Ó¸ê®Æ
euser_u=¨Ï¥ÎªÌ¦WºÙ
euser_p=±K½X
euser_u1=¤£§ïÅÜ
euser_return=¨Ï¥ÎªÌ¦Cªí

ahttp_header=«Ø¥ß¥N²z¦øªA¾¹­­¨î
ahttp_header1=½s¿è¥N²z¦øªA¾¹­­¨î
ahttp_pr=¥N²z¦øªA¾¹­­¨î
ahttp_a=°Ê§@
ahttp_a1=¤¹³\
ahttp_d=©Úµ´
ahttp_ma=²Å¦X¦s¨ú±±¨î¦Cªí
ahttp_dma=¤£­n²Å¦X¦s¨ú±±¨î¦Cªí
ahttp_return=¦s¨ú±±¨î¦Cªí

sahttp_ftspr=µLªkÀx¦s¥N²z¦øªA¾¹­­¨î

aicp_header=«Ø¥ß ICP ­­¨î
aicp_header1=½s¿è ICP ­­¨î
aicp_ir=ICP ­­¨î
aicp_a=°Ê§@
aicp_a1=¤¹³\
aicp_d=©Úµ´
aicp_ma=²Å¦X¦s¨ú±±¨î¦Cªí
aicp_dma=¤£­n²Å¦X¦s¨ú±±¨î¦Cªí
aicp_return=¦s¨ú±±¨î¦CªíACL list

saicp_ftsir=µLªkÀx¦s ICP ­­¨î

icache_ftic=µLªkªì©l¤Æ§Ö¨ú
icache_ymcautrsa=±z¥²¶·¿ï¾Ü¤@­Ó Squid ªº°õ¦æ¨Ï¥ÎªÌ
icache_header=ªì©l¤Æ§Ö¨ú
icache_itscwtc=¥H©R¥O <tt>$1</tt> ªì©l¤Æ Squid §Ö¨ú¤¤...
icache_return=squid ¯Á¤Þ

restart_ftrs=µLªk­«·s²ÕºA Squid

sadmin_ftsao=µLªkÀx¦sºÞ²z¿ï¶µ
sadmin_header=ÅÜ§ó¾Ö¦³Åv
sadmin_msg1=±zÅÜ§ó¤F Squid ªº¹B§@¨Ï¥ÎªÌ©Î¸s²Õ. ¬°¤F½T«O¯à¥¿½Tªº§@¥Î, ©Ò¦³§Ö¨ú»P¬ö¿ýÀÉ®×ªº¾Ö¦³Åv­­¥²¶·³Q§ó·s, ¦Ó¥B Squid ¥²¶·­«·s±Ò°Ê.
sadmin_buttco=ÅÜ§ó¾Ö¦³Åv
sadmin_return=¯Á¤Þ
sadmin_inavea='$1' ¤£¬O¤@­Ó¦³®Äªº¹q¤l¶l¥ó¦ì§}
sadmin_inavh='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷¦WºÙ
sadmin_inavap='$1' ¤£¬O¤@­Ó¦³®Äªº¤½§i®É¶¡
sadmin_inavp='$1' ¤£¬O¤@­Ó¦³®Äªº³q°T°ð

sauth_ftsao=µLªkÀx¦s»{ÃÒ¿ï¶µ
sauth_iomuf=¿ù»~©Î¿ò¥¢¨Ï¥ÎªÌÀÉ®×¦WºÙ
sauth_iomd=¿ù»~©Î¿ò¥¢ºô°ì
sauth_msg1=±zªº Squid ª©¥»¨S¦³±N¥N²z¦øªA¾¹»{ÃÒ¥\¯à½sÄ¶¶i¥h

scache_ftsco=µLªkÀx¦s§Ö¨ú¿ï¶µ
scache_emsg0=±z¥²¶·¿é¤J¦Ü¤Ö¤@­Ó§Ö¨ú¥Ø¿ý
scache_emsg1=§Ö¨ú¥Ø¿ý '$1' ¤£¦s¦b
scache_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªº­n¨D¤j¤p
scache_emsg3='$1' ¤£¬O¤@­Ó¦³®Äªº¥¢±Ñ­n¨D§Ö¨ú®É¶¡
scache_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªº DNS §Ö¨ú®É¶¡
scache_emsg5='$1' ¤£¬O¤@­Ó¦³®Äªº¹O®É
scache_emsg6='$1' ¤£¬O¤@­Ó¦³®Äªº®É¶¡
scache_emsg7='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý¼Æ¥Ø
scache_emsg8=¥Ø¿ýªº¼Æ¥Ø¥²¶· >= 1
scache_emsg9=¥Ø¿ýªº¼Æ¥Ø¥²¶· <= 256
scache_emsg10='$1' ¤£¬O¤@­Ó¦³®Äªºª«¥ó¤j¤p
scache_emsg11='$1' ¤£¬O¤@­Ó¦³®Äªºª«¥ó¼Æ¥Ø
scache_emsg12='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý¤j¤p
scache_emsg13='$1' ¤£¬O¤@­Ó¦³®Äªº¥D¾÷
scache_emsg14='$1' ¤£¬O¤@­Ó¦³®Äªº³q°T°ð

schost_ftsc=µLªkÀx¦s§Ö¨ú
schost_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº§Ö¨ú¥D¾÷¦WºÙ
schost_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªº¥N²z¦øªA³q°T°ð
schost_emsg3='$1' ¤£¬O¤@­Ó¦³®Äªº ICP ³q°T°ð
schost_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªº¦s¬¡®É¶¡
schost_emsg5='$1' ¤£¬O¤@­Ó¦³®Äªº°¾¦n«×

sicp_ftsco=µLªkÀx¦s§Ö¨ú¿ï¶µ
sicp_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº¹O®É

slogs_ftslo=µLªkÀx¦s¬ö¿ý¿ï¶µ
slogs_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªºµ´¹ïÀÉ¦W
slogs_emsg2='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ¦W
slogs_emsg3=¥Ø¿ý '$1' ¤£¦s¦b
slogs_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªº¤lºô¸ô¾B¸n
slogs_emsg5='$1' ¤£¬O¤@­Ó¦³®Äªº°£¿ù¿ï¶µ¦Cªí

smem_ftsmo=µLªkÀx¦s°O¾ÐÅé¿ï¶µ
smem_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº§Ö¨ú¤j¤p
smem_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªº°ª¥Î¶q¼Ð°O
smem_emsg3='$1' ¤£¬O¤@­Ó¦³®Äªº§C¥Î¶q¼Ð°O
smem_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªºª«¥ó¤j¤p

smisc_ftso=µLªkÀx¦s¿ï¶µ
smisc_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº¬ö¿ýÀÉ½üÂà
smisc_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªººô°ì
smisc_emsg3='$1' ¤£¬O¤@­Ó¦³®Äªº¥N²z¦øªA¾¹
smisc_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªº¸õÅD¼Æ¥Ø

sport_ftspo=µLªkÀx¦s³q°T°ð¿ï¶µ
sport_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº³q°T°ð½s¸¹
sport_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªº¦ì§}
sport_emsg3='$1' ¤£¬O¤@­Ó¦³®Äªº½w½Ä°Ï¤j¤p

sprog_ftshpo=µLªkÀx¦s»²§Uµ{¦¡¿ï¶µ
sprog_emsg1=¿ò¥¢ FTP ¿ï¶µ
sprog_emsg2='$1' ¤£¬O¤@­Ó¦³®Äªºµ{¦¡
sprog_emsg3='$1' ¤£¬O¤@­Ó¥i°õ¦æªºµ{¦¡
sprog_emsg4='$1' ¤£¬O¤@­Ó¦³®Äªº FTP µn¤J
sprog_emsg5='$1' ¤£¬O¤@­Ó¦³®Äªºµ{¦¡¼Æ¥Ø
sprog_emsg6='$1' ¤£¬O¤@­Ó¦³®ÄªºÄæ¦ì¼e«×
sprog_emsg7=¨S¦³¿é¤J DNS ¦øªA¾¹
sprog_emsg8='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}

suser_ftsu=µLªkÀx¦s¨Ï¥ÎªÌ
suser_emsg1=¿ù»~©Î¿ò¥¢¨Ï¥ÎªÌ¦WºÙ

start_ftsq=µLªk±Ò°Ê Squid
stop_ftsq=µLªk°±¤î Squid

lib_emsg1='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
lib_seconds=¬í
lib_minutes=¤À
lib_hours=®É
lib_days=¤é
lib_weeks=¶g
lib_fortnights=¤G¶g
lib_months=¤ë
lib_years=¦~
lib_decades=¤Q¦~
lib_emsg2='$1' ¤£¬O¤@­Óµ¹ $2 ªº¦³®Ä¼Æ¥Ø
lib_kb=KBs
lib_mb=MBs
lib_gb=GBs
lib_emsg3='$1' ¤£¬O¤@­Óµ¹ $2 ªº¦³®Ä¼Æ¥Ø
lib_aclca=«È¤áºÝ¦ì§}
lib_aclwsa=ºô­¶¦øªA¾¹¦ì§}
lib_aclch=«È¤áºÝ¥D¾÷¦WºÙ
lib_aclwsh=ºô­¶¦øªA¾¹¥D¾÷¦WºÙ
lib_acldat=¤é´Á»P®É¶¡
lib_aclur=URL ¥¿³Wªí¥Ü¦¡
lib_aclupr=URL ¸ô®|¥¿³Wªí¥Ü¦¡p
lib_aclup=URL ³q°T°ð
lib_aclup1=URL ³q°T¨ó©w
lib_aclrm=­n¨D¤è¦¡
lib_aclbr=ÂsÄý¾¹¥¿³Wªí¥Ü¦¡
lib_aclpl=¥N²z¦øªA¾¹µn¤J
lib_aclsan=¨Ó·½ AS ½s¸¹
lib_acldan=¥Ø¼Ð AS ½s¸¹
lib_aclea=¥~³¡ªº»{ÃÒ
lib_aclcr=«È¤áºÝ¥¿³Wªí¥Ü¦¡
lib_aclwsr=ºô­¶¦øªA¾¹¥¿³Wªí¥Ü¦¡
lib_aclru=RFC931 ¨Ï¥ÎªÌ
lib_aclpia=¥N²z¦øªA¾¹ IP ¦ì§}
lib_aclmc=³Ì¤j³sµ²¼Æ¥Ø
lib_aclpp=¥N²z³q°T°ð
lib_aclsc=SNMP ³q°T¦r¦ê
lib_buttac=®M¥ÎÅÜ§ó
lib_buttss=°±¤î Squid
lib_buttss1=±Ò°Ê Squid

07070100046c65000081a40000000000000002000000013d1fe2d400000324000000200000000000000000000000000000001a00000003reloc/squid/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'squid-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
if ($type eq 'acl') {
	return &text("log_acl_$action", "<tt>$object</tt>");
	}
elsif ($type eq 'host') {
	return &text("log_host_$action", "<tt>$object</tt>");
	}
elsif ($type eq 'http' || $type eq 'icp' ||
       $type eq 'always' || $type eq 'never') {
	return $text{"log_${type}_${action}"};
	}
elsif ($type eq 'user') {
	return &text("log_user_$action", "<tt>$object</tt>");
	}
elsif ($text{"log_$action"}) {
	return $text{"log_$action"};
	}
else {
	return undef;
	}
}

07070100046c66000081a40000000000000002000000013d1fe2d40000000b000000200000000000000000000000000000001500000003reloc/squid/low.risk  noconfig=1
 07070100046c67000081a40000000000000002000000013d1fe2d400000009000000200000000000000000000000000000001600000003reloc/squid/low.skill simple=2
   07070100046c68000081a40000000000000002000000013d1fe2d40000000b000000200000000000000000000000000000001800000003reloc/squid/medium.risk   noconfig=1
 07070100046c69000081a40000000000000002000000013d1fe2d400000009000000200000000000000000000000000000001900000003reloc/squid/medium.skill  simple=1
   07070100046c6a000081a40000000000000002000000013d1fe2ea00000300000000200000000000000000000000000000001800000003reloc/squid/module.info   desc_ru_SU=ðÒÏËÓÉ óÅÒ×ÅÒ Squid
risk=low medium high
desc_ko_KR.euc=Squid ÇÁ·Ï½Ã ¼­¹ö
desc_zh_TW.Big5=Squid ¥N²z¦øªA¾¹
desc_pl=Serwer proxy Squid
desc_de=Squid Proxy Server
name=Squid
desc_zh_CN=Squid ´úÀí·þÎñÆ÷
desc_pt=Servidor Proxy Squid
category=servers
desc_tr=Squid Proxy Sunucusu
os_support=solaris hpux redhat-linux mandrake-linux debian-linux suse-linux slackware-linux freebsd osf1 irix aix open-linux openserver unixware turbo-linux openbsd corel-linux cobalt-linux lfs-linux macos netbsd msc-linux generic-linux gentoo-linux
desc=Squid Proxy Server
desc_es=Servidor Proxy Squid
desc_sv=Squid-proxyserver
desc_fr=Serveur Proxy Squid
desc_ja_JP.euc=Squid ¥×¥í¥­¥· ¥µ¡¼¥Ð
depends=0.990
version=0.990
desc_ca=Servidor Proxy Squid
desc_ru_RU=Ïðîêñè Ñåðâåð Squid
07070100046c6b000081e40000000000000002000000013d1fe2d40000026d000000200000000000000000000000000000001c00000003reloc/squid/move_always.cgi   #!/usr/local/bin/perl
# move_always.cgi
# Move an always_direct directive up or down

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&lock_file($config{'squid_conf'});
$conf = &get_config();
($pos, $move) = @ARGV;

@always = &find_config("always_direct", $conf);
$newpos = $pos + $move;
$oldv = $always[$pos]->{'values'};
$always[$pos]->{'values'} = $always[$newpos]->{'values'};
$always[$newpos]->{'values'} = $oldv;
&save_directive($conf, "always_direct", \@always);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("move", "always");
&redirect("edit_icp.cgi");
   07070100046c6f000081e40000000000000002000000013d1fe2d400000256000000200000000000000000000000000000001a00000003reloc/squid/move_http.cgi #!/usr/local/bin/perl
# move_http.cgi
# Move a http_access directive up or down

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&lock_file($config{'squid_conf'});
$conf = &get_config();
($pos, $move) = @ARGV;

@https = &find_config("http_access", $conf);
$newpos = $pos + $move;
$oldv = $https[$pos]->{'values'};
$https[$pos]->{'values'} = $https[$newpos]->{'values'};
$https[$newpos]->{'values'} = $oldv;
&save_directive($conf, "http_access", \@https);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("move", "http");
&redirect("edit_acl.cgi");
  07070100046c72000081e40000000000000002000000013d1fe2d40000024b000000200000000000000000000000000000001900000003reloc/squid/move_icp.cgi  #!/usr/local/bin/perl
# move_icp.cgi
# Move a icp_access directive up or down

require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&lock_file($config{'squid_conf'});
$conf = &get_config();
($pos, $move) = @ARGV;

@icps = &find_config("icp_access", $conf);
$newpos = $pos + $move;
$oldv = $icps[$pos]->{'values'};
$icps[$pos]->{'values'} = $icps[$newpos]->{'values'};
$icps[$newpos]->{'values'} = $oldv;
&save_directive($conf, "icp_access", \@icps);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("move", "icp");
&redirect("edit_acl.cgi");
 07070100046c73000081e40000000000000002000000013d1fe2d400000262000000200000000000000000000000000000001b00000003reloc/squid/move_never.cgi    #!/usr/local/bin/perl
# move_never.cgi
# Move an never_direct directive up or down

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&lock_file($config{'squid_conf'});
$conf = &get_config();
($pos, $move) = @ARGV;

@never = &find_config("never_direct", $conf);
$newpos = $pos + $move;
$oldv = $never[$pos]->{'values'};
$never[$pos]->{'values'} = $never[$newpos]->{'values'};
$never[$newpos]->{'values'} = $oldv;
&save_directive($conf, "never_direct", \@never);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("move", "never");
&redirect("edit_icp.cgi");
  07070100046c77000081e40000000000000002000000013d1fe2d4000007d9000000200000000000000000000000000000001600000003reloc/squid/never.cgi #!/usr/local/bin/perl
# never.cgi
# A form for editing or creating http_access directives

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
$conf = &get_config();

if (!defined($in{'index'})) {
	&header($text{'never_create'}, "",
		undef, 0, 0, 0, &restart_button());
	}
else {
	&header($text{'never_edit'}, "",
		undef, 0, 0, 0, &restart_button());
	@never = @{$conf->[$in{'index'}]->{'values'}};
	}
print "<hr>\n";

print "<form action=never_save.cgi>\n";
if (@never) {
	print "<input type=hidden name=index value=$in{'index'}>\n";
	}
print "<table border>\n";
print "<tr $tb> <td><b>$text{'never_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'ahttp_a'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=action value=allow %s> $text{'ahttp_a1'}\n",
	$never[0] eq "allow" ? "checked" : "";
printf "<input type=radio name=action value=deny %s> $text{'ahttp_d'}</td> </tr>\n",
	$never[0] eq "allow" ? "" : "checked";

for($i=1; $i<@never; $i++) { $match{$never[$i]}++; }
@acls = grep { !$done{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
$r = @acls; $r = 10 if ($r > 10);

print "<tr> <td valign=top><b>$text{'ahttp_ma'}</b></td>\n";
print "<td valign=top><select name=yes multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{$a->{'values'}->[0]} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'ahttp_dma'}</b></td>\n";
print "<td valign=top><select name=no multiple size=$r width=100>\n";
foreach $a (@acls) {
	printf "<option %s>%s\n",
		$match{"!$a->{'values'}->[0]"} ? "selected" : "",
		$a->{'values'}->[0];
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=$text{'buttsave'}>\n";
if (@never) { print "<input type=submit value=$text{'buttdel'} name=delete>\n"; }
print "</form>\n";

print "<hr>\n";
&footer("edit_acl.cgi", $text{'ahttp_return'});

   07070100046c7b000081e40000000000000002000000013d1fe2d4000003fb000000200000000000000000000000000000001b00000003reloc/squid/never_save.cgi    #!/usr/local/bin/perl
# never_save.cgi
# Save or delete an never_direct directive

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();

@never = &find_config("never_direct", $conf);
if (defined($in{'index'})) {
	$never = $conf->[$in{'index'}];
	}
if ($in{'delete'}) {
	# delete this restriction
	splice(@never, &indexof($never, @never), 1);
	}
else {
	# update or create
	@vals = ( $in{'action'} );
	foreach $y (split(/\0/, $in{'yes'})) { push(@vals, $y); }
	foreach $n (split(/\0/, $in{'no'})) { push(@vals, "!$n"); }
	$newnever = { 'name' => 'never_direct', 'values' => \@vals };
	if ($never) { splice(@never, &indexof($never, @never),
			      1, $newnever); }
	else { push(@never, $newnever); }
	}
&save_directive($conf, "never_direct", \@never);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $never ? 'modify' : 'create', "never");
&redirect("edit_icp.cgi");

 07070100046c7e000081a40000000000000002000000013d1fe2d400000ca0000000200000000000000000000000000000001a00000003reloc/squid/parser-lib.pl # parser-lib.pl
# Functions for reading and writing the squid config file

# get_config()
# Parses squid.conf into an array of data structures
sub get_config
{
local($lnum, $_);
if (!@get_config_cache) {
	open(CONF, $config{'squid_conf'});
	$lnum = 0;
	while(<CONF>) {
		s/\r|\n//g;	# strip newlines and comments
		s/#.*$//g;
		if (/^\s*(\S+)\s*(.*)$/) {
			local(%dir);
			$dir{'name'} = $1;
			$dir{'value'} = $2;
			$dir{'values'} = [ split(/\s+/, $2) ];
			$dir{'line'} = $lnum;
			$dir{'index'} = scalar(@get_config_cache);
			push(@get_config_cache, \%dir);
			}
		$lnum++;
		}
	close(CONF);
	}
return \@get_config_cache;
}

# find_config(name, &config)
# Returns the structure(s) with some name
sub find_config
{
local($c, @rv);
foreach $c (@{$_[1]}) {
	if ($c->{'name'} eq $_[0]) {
		push(@rv, $c);
		}
	}
return @rv ? wantarray ? @rv : $rv[0]
           : wantarray ? () : undef;
}

# find_value(name, &config)
# Returns the value of some directive
sub find_value
{
local $rv = &find_config(@_);
return $rv ? $rv->{'value'} : undef;
}

# find_values(name, &config)
# Returns the value of some directive
sub find_values
{
local $rv = &find_config(@_);
return $rv ? $rv->{'values'} : undef;
}

# save_value(&config, name, value*)
sub save_value
{
local @v = map { { 'name' => $_[1],
		   'values' => [ $_ ] } } @_[2..@_-1];
&save_directive($_[0], $_[1], \@v);
}

# save_directive(&config, name, &values)
# Given a structure containing a directive name, type, values and members
# add, update or remove that directive in config structure and data files.
sub save_directive
{
local(@oldv, @newv, $i, $o, $n, $lref, $nl, $change);
@oldv = &find_config($_[1], $_[0]);
@newv = @{$_[2]};
$lref = &read_file_lines($config{'squid_conf'});
for($i=0; $i<@oldv || $i<@newv; $i++) {
	if ($i >= @oldv) {
		# a new directive is being added.. put it at the end of the file
		$nl = &directive_line($newv[$i]);
		if ($change) {
			# put it after any directives of the same type
			$newv[$i]->{'line'} = $change->{'line'}+1;
			splice(@$lref, $newv[$i]->{'line'}, 0, $nl);
			&renumber($_[0], $newv[$i]->{'line'}, 1);
			splice(@{$_[0]}, &indexof($change, @{$_[0]}),
			       0, $newv[$i]);
			$change = $newv[$i];
			}
		else {
			# put it at the end of the file
			$newv[$i]->{'line'} = scalar(@$lref);
			push(@$lref, $nl);
			push(@{$_[0]}, $newv[$i]);
			}
		}
	elsif ($i >= @newv) {
		# a directive was deleted
		splice(@$lref, $oldv[$i]->{'line'}, 1);
		&renumber($_[0], $oldv[$i]->{'line'}, -1);
		splice(@{$_[0]}, &indexof($oldv[$i], @{$_[0]}), 1);
		}
	else {
		# updating some directive
		$nl = &directive_line($newv[$i]);
		splice(@$lref, $oldv[$i]->{'line'}, 1, $nl);
		$newv[$i]->{'line'} = $oldv[$i]->{'line'};
		$_[0]->[&indexof($oldv[$i], @{$_[0]})] = $newv[$i];
		$change = $newv[$i];
		}
	}
}

# directive_line(&details)
sub directive_line
{
local(@v) = @{$_[0]->{'values'}};
return $_[0]->{'name'}.(@v ? " ".join(' ',@v) : "");
}

# renumber(&directives, line, count)
# Runs through the given array of directives and increases the line numbers
# of all those greater than some line by the given count
sub renumber
{
local($d);
foreach $d (@{$_[0]}) {
	if ($d->{'line'} > $_[1]) {
		$d->{'line'} += $_[2];
		}
	}
}




1;

07070100046c7f000081e40000000000000002000000013d1fe2d40000014f000000200000000000000000000000000000001800000003reloc/squid/restart.cgi   #!/usr/local/bin/perl
# restart.cgi
# Restart the running squid process

require './squid-lib.pl';
&ReadParse();
$whatfailed = $text{'restart_ftrs'};
$out = &backquote_logged("$config{'squid_path'} -f $config{'squid_conf'} -k reconfigure 2>&1");
if ($out) { &error("<pre>$out</pre>"); }
&webmin_log("apply");
&redirect($in{'redir'});

 07070100046c81000081e40000000000000002000000013d1fe2d4000008da000000200000000000000000000000000000001b00000003reloc/squid/save_admin.cgi    #!/usr/local/bin/perl
# save_admin.cgi
# Save admin options

require './squid-lib.pl';
$access{'admopts'} || &error($text{'eadm_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sadmin_ftsao'};

($olduser, $oldgroup) = &get_squid_user($conf);
if ($squid_version < 2) {
	if ($in{'effective_def'}) {
		&save_directive($conf, "cache_effective_user", [ ]);
		}
	else {
		%dir = ( 'name', 'cache_effective_user',
			 'values', [ $in{'effective_u'}, $in{'effective_g'} ] );
		&save_directive($conf, "cache_effective_user", [ \%dir ]);
		}
	}
else {
	&save_opt("cache_effective_user", undef, $conf);
	&save_opt("cache_effective_group", undef, $conf);
        &save_opt("proxy_auth_realm", undef, $conf);
        }
&save_opt("cache_mgr", \&check_email, $conf);
&save_opt("visible_hostname", \&check_hostname, $conf);
if ($squid_version < 2) {
	&save_opt("announce_to", undef, $conf);
	&save_opt("cache_announce", \&check_announce, $conf);
	}
else {
	&save_opt("unique_hostname", \&check_hostname, $conf);
	if ($squid_version >= 2.4) {
		&save_opt("hostname_aliases", undef, $conf);
		}
	&save_opt("announce_host", \&check_hostname, $conf);
	&save_opt("announce_port", \&check_port, $conf);
	&save_opt("announce_file", undef, $conf);
	&save_opt_time("announce_period", $conf);
	}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("admin", undef, undef, \%in);

($user, $group) = &get_squid_user($conf);
if (($olduser ne $user || $oldgroup ne $group) && $user && $group) {
	# User/group has changed! Ask user if he wants to chown log/cache/pid
	&header($text{'sadmin_header'}, "");
	print "<hr><p>\n";
	print $text{'sadmin_msg1'},"\n"; 
	print "<center><form action=chown.cgi>\n";
	print "<input type=submit value=\"$text{'sadmin_buttco'}\">\n";
	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'sadmin_return'});
	}
else { &redirect(""); }

sub check_email
{
return $_[0] =~ /^\S+$/ ? undef : &text('sadmin_inavea',$_[0]);
}

sub check_hostname
{
return $_[0] =~ /^\S+$/ ? undef : &text('sadmin_inavh',$_[0]);
}

sub check_announce
{
return $_[0] =~ /^\d+$/ ? undef : &text('sadmin_inavap',$_[0]);
}

sub check_port
{
return $_[0] =~ /^\d+$/ ? undef : &text('sadmin_inavp',$_[0]);
}

  07070100046c84000081e40000000000000002000000013d1fe2d400000509000000200000000000000000000000000000001a00000003reloc/squid/save_auth.cgi #!/usr/local/bin/perl
# save_auth.cgi
# Save authentication options

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sauth_ftsao'};

if ($in{'authfile_def'}) {
	&save_directive($conf, "proxy_auth", [ ]);
	}
else {
	$in{'authfile'} =~ /^\// || &error($text{'sauth_iomuf'});
	if (!-r $in{'authfile'}) {
		open(AUTH, ">$in{'authfile'}");
		close(AUTH);
		($user, $group) = &get_squid_user($conf);
		if ($user) {
			@uinfo = getpwnam($user);
			@ginfo = getgrnam($group);
			chown($uinfo[2], $ginfo[2], $in{'authfile'});
			chmod(0644, $in{'authfile'});
			}
		}
	push(@vals, $in{'authfile'});
	if (!$in{'authdom_def'}) {
		$in{'authdom'}=~/^\S+$/ || &error($text{'sauth_iomd'});
		push(@vals, $in{'authdom'});
		}
	&save_directive($conf, "proxy_auth",
			[ { 'name' => 'proxy_auth',
			    'values' => \@vals } ]);
	}
&flush_file_lines();

# check if the proxy_auth directive is supported
$out = `$config{'squid_path'} -f $config{'squid_conf'} -k check 2>&1`;
if ($out =~ /proxy_auth/) {
	# it isn't .. roll back
	&save_directive($conf, "proxy_auth", [ ]);
	&flush_file_lines();
	&error($text{'sauth_msg1'});
	}
&unlock_file($config{'squid_conf'});
&redirect("");

   07070100046c88000081e40000000000000002000000013d1fe2d400001608000000200000000000000000000000000000001b00000003reloc/squid/save_cache.cgi    #!/usr/local/bin/perl
# save_cache.cgi
# Save cache and request options

require './squid-lib.pl';
$access{'copts'} || &error($text{'ec_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'scache_ftsco'};

if ($in{'cache_dir_def'}) {
	&save_directive($conf, "cache_dir", [ ]);
	}
else {
	for($i=0; defined($dir = $in{"cache_dir_$i"}); $i++) {
		if ($squid_version >= 2.4) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			$type = $in{"cache_type_$i"};
			$opts = $in{"cache_opts_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $type, $dir, $size,
						   $lv1, $lv2, $opts ] });
			}
		elsif ($squid_version >= 2.3) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			$type = $in{"cache_type_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $type, $dir, $size,
						   $lv1, $lv2 ] });
			}
		elsif ($squid_version >= 2) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $dir, $size, $lv1, $lv2 ] });
			}
		else {
			next if (!$dir);
			&check_error(\&check_dir, $dir);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $dir ] });
			}
		}
	if (!@chd) {
		&error($text{'scache_emsg0'});
		}
	&save_directive($conf, "cache_dir", \@chd);
	}
if ($squid_version < 2) {
	&save_opt("swap_level1_dirs", \&check_dircount, $conf);
	&save_opt("swap_level2_dirs", \&check_dircount, $conf);
	&save_opt("store_avg_object_size", \&check_objsize, $conf);
	}
else {
	&save_opt_bytes("store_avg_object_size", $conf);
	}
&save_opt("store_objects_per_bucket", \&check_bucket, $conf);
if ($squid_version < 2) {
	&save_list("cache_stoplist", undef, $conf);
	&save_list("cache_stoplist_pattern", undef, $conf);
	}
@noch = split(/\0/, $in{'no_cache'});
if (@noch) {
	$nc[0] = { 'name' => 'no_cache',
		   'values' => [ "deny", @noch ] };
	}
&save_directive($conf, "no_cache", \@nc);
&save_opt_time("reference_age", $conf);
if ($squid_version < 2) {
	&save_opt("request_size", \&check_size, $conf);
	&save_opt("negative_ttl", \&check_ttl, $conf);
	&save_opt("positive_dns_ttl", \&check_dns_ttl, $conf);
	&save_opt("negative_dns_ttl", \&check_dns_ttl, $conf);
	}
else {
	if ($squid_version >= 2.3) {
		&save_opt_bytes("request_body_max_size", $conf);
		&save_opt_bytes("request_header_max_size", $conf);
		&save_opt_bytes("reply_body_max_size", $conf);
		}
	else {
		&save_opt_bytes("request_size", $conf);
		}
	&save_opt_time("negative_ttl", $conf);
	&save_opt_time("positive_dns_ttl", $conf);
	&save_opt_time("negative_dns_ttl", $conf);
	}
if ($squid_version < 2) {
	&save_opt("connect_timeout", \&check_timeout, $conf);
	&save_opt("read_timeout", \&check_timeout, $conf);
	&save_opt("client_lifetime", \&check_lifetime, $conf);
	&save_opt("shutdown_lifetime", \&check_lifetime, $conf);
	}
else {
	&save_opt_time("connect_timeout", $conf);
	&save_opt_time("read_timeout", $conf);
	&save_opt_time("siteselect_timeout", $conf);
	&save_opt_time("request_timeout", $conf);
	&save_opt_time("client_lifetime", $conf);
	&save_opt_time("shutdown_lifetime", $conf);
	&save_choice("half_closed_clients", "on", $conf);
	&save_opt_time("pconn_timeout", $conf);
	}
if ($squid_version < 2) {
	if (!$in{'wais_relay_def'}) {
		&check_error(\&check_host, $in{'wais_relay1'});
		&check_error(\&check_port, $in{'wais_relay2'});
		$wr[0] = { 'name' => 'wais_relay',
			   'values' =>  [ $in{'wais_relay1'}, $in{'wais_relay2'} ] };
		}
	&save_directive($conf, "wais_relay", \@wr);
	}
else {
	&save_opt("wais_relay_host", \&check_host, $conf);
	&save_opt("wais_relay_port", \&check_port, $conf);
	}

&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("cache", undef, undef, \%in);
&redirect("");

sub check_dir
{
return (-d $_[0]) ? undef : &text('scache_emsg1',$_[0]);
}

sub check_size
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg2',$_[0]);
}

sub check_ttl
{
return $_[0] =~ /^\d+$/ ? undef
			: &text('scache_emsg3',$_[0]);
}

sub check_dns_ttl
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg4',$_[0]);
}

sub check_timeout
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg5',$_[0]);
}

sub check_lifetime
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg6',$_[0]);
}

sub check_dircount
{
return $_[0] !~ /^\d+$/ ? &text('scache_emsg7',$_[0]) : 
       $_[0] < 1 ? $text{'scache_emsg8'} :
       $_[0] > 256 ? $text{'scache_emsg9'} : undef;
    
}

sub check_objsize
{
return $_[0] =~ /^\d+/ ? undef : &text('scache_emsg10',$_[0]);
}

sub check_bucket
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg11',$_[0]);
}

sub check_dirsize
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg12',$_[0]);
}

sub check_host
{
return gethostbyname($_[0]) || &check_ipaddress($_[0]) ? undef
		: &text('scache_emsg13',$_[0]);
}

sub check_port
{
return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg14',$_[0]);
}

07070100046c89000081e40000000000000002000000013d1fe2d400000c6c000000200000000000000000000000000000002000000003reloc/squid/save_cache_host.cgi   #!/usr/local/bin/perl
# save_cache_host.cgi
# Save, create or delete a cache_host directive

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";
@ch = &find_config($cache_host, $conf);
@chd = &find_config($cache_host."_domain", $conf);

$dom = $ch[$in{'num'}]->{'values'}->[0];
if ($in{'delete'}) {
	# delete some directive
	$dir = $ch[$in{'num'}];
	splice(@ch, $in{'num'}, 1);

	# delete any cache_host directives as well
	for($i=0; $i<@chd; $i++) {
		if ($chd[$i]->{'values'}->[0] eq $dom) {
			splice(@chd, $i--, 1);
			}
		}
	}
else {
	# validate inputs
	$whatfailed = $text{'schost_ftsc'};
	gethostbyname($in{'host'}) || &check_ipaddress($in{'host'}) ||
		&error(&text('schost_emsg1',$in{'host'}));
	$in{'proxy'} =~ /^\d+$/ ||
		&error(&text('schost_emsg2',$in{'proxy'}));
	$in{'icp'} =~ /^\d+$/ ||
		&error(&text('schost_emsg3',$in{'icp'}));
	$in{'ttl'} =~ /^\d*$/ ||
		&error(&text('schost_emsg4',$in{'ttl'}));
	$in{'weight'} =~ /^\d*$/ ||
		&error(&text('schost_emsg5',$in{'weight'}));

	@vals = ($in{'host'}, $in{'type'}, $in{'proxy'}, $in{'icp'});
	@optlist = ("proxy-only", "weight", "ttl", "no-query", "default",
                    "round-robin", "multicast-responder");
	push(@optlist, "closest-only", "no-digest",
		       "no-netdb-exchange", "no-delay");
	foreach $o (@optlist) {
		$def = $in{$o."_def"};
		if (defined($def)) {
			if (!$def) { push(@vals, "$o=$in{$o}"); }
			}
		elsif ($in{$o}) { push(@vals, $o); }
		}
	if ($in{'login'} == 1) {
		push(@vals, "login=".$in{'login_user'}.":".$in{'login_pass'});
		}
	elsif ($in{'login'} == 2) {
		push(@vals, "login=PASS");
		}
	elsif ($in{'login'} == 3) {
		push(@vals, "login=*:".$in{'login_pass2'});
		}

	$dir = { 'name' => $cache_host, 'values' => \@vals };
	@chdl = split(/\s+/, $in{'doq'});
	foreach $dontq (split(/\s+/, $in{'dontq'})) { push(@chdl, "!$dontq"); }
	if ($in{'new'}) {
		# adding a new cache_host and domains
		push(@ch, $dir);
		if (@chdl) {
			push(@chd, { 'name' => $cache_host."_domain",
				     'values' => [ $vals[0], @chdl ] });
			}
		}
	else {
		# updating existing cache_host and domains
		$ch[$in{'num'}] = $dir;
		if (@chdl) {
			# replace the first cache_host_domain directive
			# for this host and remove the rest
			$newv = { 'name' => $cache_host."_domain",
				  'values' => [ $vals[0], @chdl ] };
			for($i=0; $i<@chd; $i++) {
				if ($chd[$i]->{'values'}->[0] eq $dom) {
					if ($already) {
						splice(@chd, $i--, 1);
						}
					else {
						$chd[$i] = $newv;
						$already++;
						}
					}
				}
			if (!$already) { push(@chd, $newv); }
			}
		elsif (@chd) {
			# remove all the old cache_host_domain directives
			# for this host
			@chd = grep { $_->{'values'}->[0] ne $dom } @chd;
			}
		}
	}
&save_directive($conf, $cache_host, \@ch);
&save_directive($conf, $cache_host."_domain", \@chd);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    "host", $dir->{'values'}->[0], \%in);
&redirect("edit_icp.cgi");

07070100046c8b000081e40000000000000002000000013d1fe2d400000420000000200000000000000000000000000000001900000003reloc/squid/save_icp.cgi  #!/usr/local/bin/perl
# save_icp.cgi
# Save cache options

require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sicp_ftsco'};

if ($squid_version < 2) {
	&save_list("local_domain", undef, $conf);
	&save_address("local_ip", $conf);
	&save_list("inside_firewall", undef, $conf);
	&save_address("firewall_ip", $conf);
	}
&save_list("hierarchy_stoplist", undef, $conf);
if ($squid_version < 2) {
	&save_choice("single_parent_bypass", "off", $conf);
	&save_choice("source_ping", "off", $conf);
	&save_opt("neighbor_timeout", \&check_timeout, $conf);
	}
else {
	&save_opt("icp_query_timeout", \&check_timeout, $conf);
	&save_opt("mcast_icp_query_timeout", \&check_timeout, $conf);
	&save_opt("dead_peer_timeout", \&check_timeout, $conf);
	}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("icp", undef, undef, \%in);
&redirect("");

sub check_timeout
{
return $_[0] =~ /^\d+$/ ? undef : &text('sicp_emsg1',$_[0]);
}

07070100046c8c000081e40000000000000002000000013d1fe2d4000006bf000000200000000000000000000000000000001a00000003reloc/squid/save_logs.cgi #!/usr/local/bin/perl
# save_logs.cgi
# Save logging options

require './squid-lib.pl';
$access{'logging'} || &error($text{'elogs_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'slogs_ftslo'};

&save_opt("cache_access_log", \&check_file, $conf);
&save_opt("cache_log", \&check_file, $conf);
&save_opt("cache_store_log", \&check_file, $conf);
&save_opt("cache_swap_log", \&check_file, $conf);
&save_choice("emulate_httpd_log", "off", $conf);
&save_choice("log_mime_hdrs", "off", $conf);
&save_opt("useragent_log", \&check_file, $conf);
&save_opt("pid_filename", \&check_file, $conf);
if ($squid_version >= 2.2) {
	if (!$in{'complex_ident'}) {
		local @ila = split(/\0/, $in{'ident_lookup_access'});
		&save_directive($conf, "ident_lookup_access", !@ila ? [ ] :
				[ { 'name' => 'ident_lookup_access',
				    'values' => [ 'allow', @ila ] } ]);
		}
	&save_opt_time("ident_timeout", $conf);
	}
else {
	&save_choice("ident_lookup", "off", $conf);
	}
&save_choice("log_fqdn", "off", $conf);
&save_opt("client_netmask", \&check_netmask, $conf);
&save_opt("debug_options", \&check_debug, $conf);
if ($squid_version >= 2) {
	&save_opt("mime_table", \&check_file, $conf);
	}

&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("logs", undef, undef, \%in);
&redirect("");

sub check_file
{
$_[0] =~ /^\// || return &text('slogs_emsg1',$_[0]);
$_[0] =~ /^(\S*\/)([^\/\s]+)$/ || return &text('slogs_emsg2',$_[0]);
(-d $1) || return &text('slogs_emsg3',$1);
return undef;
}

sub check_netmask
{
&check_ipaddress($_[0]) || return &text('slogs_emsg4',$_[0]);
return undef;
}

sub check_debug
{
$_[0] =~ /\S+/ || return &text('slogs_emsg5',$_[0]);
return undef;
}

 07070100046c8d000081e40000000000000002000000013d1fe2d400000644000000200000000000000000000000000000001900000003reloc/squid/save_mem.cgi  #!/usr/local/bin/perl
# save_mem.cgi
# Save memory usage options

require './squid-lib.pl';
$access{'musage'} || &error($text{'emem_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'smem_ftsmo'};

if ($squid_version < 2) {
	&save_opt("cache_mem", \&check_size, $conf);
	&save_opt("cache_swap", \&check_size, $conf);
	}
else {
	&save_opt_bytes("cache_mem", $conf);
	&save_opt("fqdncache_size", \&check_size, $conf);
	}
&save_opt("cache_mem_high", \&check_high, $conf);
&save_opt("cache_mem_low", \&check_low, $conf);
&save_opt("cache_swap_high", \&check_high, $conf);
&save_opt("cache_swap_low", \&check_low, $conf);
if ($squid_version < 2) {
	&save_opt("maximum_object_size", \&check_obj_size, $conf);
	}
else {
	&save_opt_bytes("maximum_object_size", $conf);
	}
&save_opt("ipcache_size", \&check_size, $conf);
&save_opt("ipcache_high", \&check_high, $conf);
&save_opt("ipcache_low", \&check_low, $conf);
if ($squid_version >= 2.4) {
	&save_choice("cache_replacement_policy", '', $conf);
	&save_choice("memory_replacement_policy", '', $conf);
	}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("mem", undef, undef, \%in);
&redirect("");

sub check_size
{
return $_[0] =~ /^\d+$/ ? undef : &text('smem_emsg1',$_[0]);
}

sub check_high
{
return $_[0] =~ /^\d+$/ && $_[0] > 0 && $_[0] <= 100
		? undef : &text('smem_emsg2',$_[0]);
}

sub check_low
{
return $_[0] =~ /^\d+$/ && $_[0] > 0 && $_[0] <= 100
		? undef : &text('smem_emsg3',$_[0]);
}

sub check_obj_size
{
return $_[0] =~ /^\d+$/ ? undef : &text('smem_emsg4',$_[0]);
}

07070100046c8e000081e40000000000000002000000013d1fe2d4000008db000000200000000000000000000000000000001a00000003reloc/squid/save_misc.cgi #!/usr/local/bin/perl
# save_misc.cgi
# Save miscellaneous options

require './squid-lib.pl';
$access{'miscopt'} || &error($text{'emisc_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'smisc_ftso'};

&save_opt("dns_testnames", undef, $conf);
&save_opt("logfile_rotate", \&check_rotate, $conf);
&save_opt("append_domain", \&check_domain, $conf);
if ($squid_version < 2) {
	&save_opt("ssl_proxy", \&check_proxy, $conf);
	&save_opt("passthrough_proxy", \&check_proxy, $conf);
	}
&save_opt("err_html_text", undef, $conf);
&save_choice("client_db", "on", $conf);
&save_choice("forwarded_for", "on", $conf);
&save_choice("log_icp_queries", "on", $conf);
&save_opt("minimum_direct_hops", \&check_hops, $conf);
if ($squid_version >= 2.2) {
	$m = $in{'anon_mode'};
	if ($m == 0) {
		&save_directive($conf, "anonymize_headers", [ ]);
		}
	else {
		&save_directive($conf, "anonymize_headers",
			[ { 'name' => 'anonymize_headers',
			    'values' => [ $m==1 ? "allow" : "deny",
					  $m==1 ? $in{'anon_allow'}
						: $in{'anon_deny'} ] } ]);
		}
	}
else {
	&save_choice("http_anonymizer", "off", $conf);
	}
&save_opt("fake_user_agent", undef, $conf);
&save_choice("memory_pools", "on", $conf);
&save_opt("httpd_accel_host", undef, $conf);
&save_opt("httpd_accel_port", undef, $conf);
&save_choice("httpd_accel_with_proxy", undef, $conf);
&save_choice("httpd_accel_uses_host_header", undef, $conf);
if ($squid_version >= 2.5) {
	&save_choice("httpd_accel_single_host", undef, $conf);
	}
if ($squid_version >= 2) {
	&save_opt_bytes("memory_pools_limit", $conf);
	}
if ($squid_version >= 2.3) {
        &save_opt("wccp_router", undef, $conf);
        &save_opt("wccp_incoming_address", undef, $conf);
        &save_opt("wccp_outgoing_address", undef, $conf);
	}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("misc", undef, undef, \%in);
&redirect("");

sub check_rotate
{
return $_[0] =~ /^\d+$/ ? undef : &text('smisc_emsg1',$_[0]);
}

sub check_domain
{
return $_[0] =~ /^[A-z0-9\.\-]+$/ ? undef : &text('smisc_emsg2',$_[0]); 
}

sub check_proxy
{
return $_[0] =~ /^\S+$/ ? undef : &text('smisc_emsg3',$_[0]); 
}

sub check_hops
{
return $_[0] =~ /^\d+$/ ? undef : &text('smisc_emsg4',$_[0]); 
}

 07070100046c8f000081e40000000000000002000000013d1fe2d4000006f5000000200000000000000000000000000000001b00000003reloc/squid/save_nuser.cgi    #!/usr/local/bin/perl
# save_nuser.cgi
# Save, create or delete a proxy user

require './squid-lib.pl';
if ($config{'crypt_conf'} == 1) {
	eval "use MD5";
	if ($@) {
        	&error(&text('eauth_nomd5', $module_name));
		}
	}

$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
$conf = &get_config();
$authprog = &find_value("authenticate_program", $conf);
if ($authprog =~ /(\S+)\s+(\/\S+)$/) {
	$file = $2;
	}
&lock_file($file);
@users = &list_auth_users($file);

$user = $users[$in{'index'}];
if ($in{'delete'}) {
	&replace_file_line($file, $user->{'line'});
	}
else {
	$whatfailed = $text{'suser_ftsu'};
	$in{'user'} =~ /^[^:\s]+$/ || &error($text{'suser_emsg1'});
	local ($same) = grep { $_->{'user'} eq $in{'user'} } @users;
	local $cmt = $in{'enabled'} ? "" : "#";
	if ($in{'new'}) {
		!$same || &error($text{'suser_etaken'});
		$pass = &encryptpwd($in{'pass'}, $salt);
		open(FILE,">>$file");
		print FILE "$cmt$in{'user'}:$pass\n";
		close(FILE);
		}
	else {
		!$same || $same->{'user'} eq $user->{'user'} ||
			 &error($text{'suser_etaken'});
		$pass = $in{'pass_def'} ? $user->{'pass'}
					: &encryptpwd($in{'pass'}, $salt);
		&replace_file_line($file, $user->{'line'},
				   "$cmt$in{'user'}:$pass\n");
		}
	}
&unlock_file($file);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'user', $in{'user'} ? $in{'user'} : $user->{'user'});
&redirect("edit_nauth.cgi");

sub encryptpwd {
  if ($config{'crypt_conf'}) {
    my $pwd = $_[0];
    my $encryptpwd = new MD5;
    $encryptpwd->add($pwd);
    $pwd = encode_base64($encryptpwd->hexdigest());
    chomp($pwd);
    $pwd = "\$$pwd\$";
    return $pwd;
    }
    else {
      $salt = substr(time(), -2);
      my $pwd = crypt($_[0], $_[1]);
      return $pwd;
      }
  }
   07070100046c90000081e40000000000000002000000013d1fe2d40000075c000000200000000000000000000000000000001b00000003reloc/squid/save_ports.cgi    #!/usr/local/bin/perl
# save_ports.cgi
# Save ports and other networking options

require './squid-lib.pl';
$access{'portsnets'} || &error($text{'eports_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sport_ftspo'};

if ($squid_version >= 2.3) {
	for($i=0; defined($port = $in{"port_$i"}); $i++) {
		next if (!$port);
		$port =~ /^\d+$/ || &error("'$port' is not a valid port");
		if ($in{"addr_def_$i"}) {
			push(@ports, { 'name' => 'http_port',
				       'values' => [ $port ] } );
			}
		else {
			$addr = $in{"addr_$i"};
			gethostbyname($addr) || &check_ipaddress($addr) ||
				&error("'$addr' is not a valid proxy address");
			push(@ports, { 'name' => 'http_port',
				       'values' => [ "$addr:$port" ] } );
			}
		}
	&save_directive($conf, 'http_port', \@ports);
	}
else {
	&save_opt("http_port", \&check_port, $conf);
	&save_opt("tcp_incoming_address", \&check_address, $conf);
	}
&save_opt("icp_port", \&check_port, $conf);
&save_opt("tcp_outgoing_address", \&check_address, $conf);
&save_opt("udp_outgoing_address", \&check_address, $conf);
&save_opt("udp_incoming_address", \&check_address, $conf);
if (!$in{'udp_outgoing_address_def'} && !$in{'udp_incoming_address_def'} &&
     $in{'udp_outgoing_address'} eq $in{'udp_incoming_address'}) {
	&error("The outgoing and incoming UDP addresses cannot be the same");
	}
&save_address("mcast_groups", $conf);
&save_opt("tcp_recv_bufsize", \&check_bufsize, $conf);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("ports", undef, undef, \%in);
&redirect("");

sub check_port
{
return $_[0] =~ /^\d+$/ ? undef : &text('sport_emsg1',$_[0]);
}

sub check_address
{
return &check_ipaddress($_[0]) || gethostbyname($_[0]) ? undef :
	&text('sport_emsg2',$_[0]);

}

sub check_bufsize
{
return $_[0] =~ /^\d+$/ ? undef : &text('sport_emsg3',$_[0]);
}

07070100046c91000081e40000000000000002000000013d1fe2d40000094c000000200000000000000000000000000000001b00000003reloc/squid/save_progs.cgi    #!/usr/local/bin/perl
# save_progs.cgi
# Save helper program options

require './squid-lib.pl';
$access{'hprogs'} || &error($text{'eprogs_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sprog_ftshpo'};

if ($squid_version < 2) {
	&save_opt("ftpget_program", \&check_prog, $conf);
	&save_opt("ftpget_options", \&check_opts, $conf);
	}
else {
	&save_opt("ftp_list_width", \&check_width, $conf);
	}
&save_opt("ftp_user", \&check_ftpuser, $conf);
&save_opt("cache_dns_program", \&check_prog, $conf);
&save_opt("dns_children", \&check_children, $conf);
&save_choice("dns_defnames", "off", $conf);
if ($squid_version >= 2) {
	&save_opt("dns_nameservers", \&check_dnsservers, $conf);
	}
&save_opt("unlinkd_program", \&check_prog, $conf);
&save_opt("pinger_program", \&check_prog, $conf);
&save_opt("redirect_program", \&check_prog, $conf);
&save_opt("redirect_children", \&check_children, $conf);
if ($squid_version >= 2) {
	if ($in{'auth_mode'} == 0) {
		&save_directive($conf, "authenticate_program", [ ]);
		}
	elsif ($in{'auth_mode'} == 2) {
		&system_logged("cp $module_root_directory/squid-auth.pl $module_config_directory");
		&save_directive($conf, "authenticate_program",
			[ { 'name' => 'authenticate_program',
			    'values' => [ "$auth_program $auth_database" ] } ]);
		}
	else {
		&check_error(\&check_prog, $in{'auth'});
		&save_directive($conf, "authenticate_program",
				[ { 'name' => 'authenticate_program',
				    'values' => [ $in{'auth'} ] } ]);
		}
	&save_opt("authenticate_children", \&check_children, $conf);
	}

&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("progs", undef, undef, \%in);
&redirect("");

sub check_opts
{
return $_[0] =~ /\S/ ? undef : $text{'sprog_emsg1'};
}

sub check_prog
{
$_[0] =~ /^(\/\S+)/ || return &text('sprog_emsg2', $_[0]);
return -x $1 ? undef : &text('sprog_emsg3',$_[0]); 
}

sub check_ftpuser
{
return $_[0] =~ /^\S+@\S*$/ ? undef : &text('sprog_emsg4',$_[0]);
}

sub check_children
{
return $_[0] =~ /^\d+$/ ? undef : &text('sprog_emsg5',$_[0]);
}

sub check_width
{
return $_[0] =~ /^\d+$/ ? undef : &text('sprog_emsg6',$_[0]);
}

sub check_dnsservers
{
local $dns;
local @dns = split(/\s+/, $_[0]);
return $text{'sprog_emsg7'} if (!@dns);
foreach $dns (@dns) {
	&check_ipaddress($dns) || return &text('sprog_emsg8',$dns);
	}
return undef;
}

07070100046c92000081e40000000000000002000000013d1fe2d400000cf1000000200000000000000000000000000000001a00000003reloc/squid/save_smem.cgi #!/usr/local/bin/perl
# save_smem.cgi
# Save simple memory usage options

require './squid-lib.pl';
$access{'musage'} || &error($text{'emem_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'smem_ftsmo'};

if ($squid_version < 2) {
	&save_opt("cache_mem", \&check_size, $conf);
	&save_opt("cache_swap", \&check_size, $conf);
	}
else {
	&save_opt_bytes("cache_mem", $conf);
	&save_opt("fqdncache_size", \&check_size, $conf);
	}
if ($squid_version < 2) {
	&save_opt("maximum_object_size", \&check_obj_size, $conf);
	}
else {
	&save_opt_bytes("maximum_object_size", $conf);
	}
&save_opt("ipcache_size", \&check_size, $conf);

if ($in{'cache_dir_def'}) {
	&save_directive($conf, "cache_dir", [ ]);
	}
else {
	for($i=0; defined($dir = $in{"cache_dir_$i"}); $i++) {
		if ($squid_version >= 2.4) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			$type = $in{"cache_type_$i"};
			$opts = $in{"cache_opts_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $type, $dir, $size,
						   $lv1, $lv2, $opts ] });
			}
		elsif ($squid_version >= 2.3) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			$type = $in{"cache_type_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $type, $dir, $size,
						   $lv1, $lv2 ] });
			}
		elsif ($squid_version >= 2) {
			$lv1 = $in{"cache_lv1_$i"}; $lv2 = $in{"cache_lv2_$i"};
			$size = $in{"cache_size_$i"};
			next if (!$dir && !$lv1 && !$lv2 && !$size);
			&check_error(\&check_dir, $dir);
			&check_error(\&check_dirsize, $size);
			&check_error(\&check_dircount, $lv1);
			&check_error(\&check_dircount, $lv2);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $dir, $size, $lv1, $lv2 ] });
			}
		else {
			next if (!$dir);
			&check_error(\&check_dir, $dir);
			push(@chd, { 'name' => 'cache_dir',
				     'values' => [ $dir ] });
			}
		}
	if (!@chd) {
		&error($text{'scache_emsg0'});
		}
	&save_directive($conf, "cache_dir", \@chd);
	}
if ($squid_version < 2) {
	&save_opt("swap_level1_dirs", \&check_dircount, $conf);
	&save_opt("swap_level2_dirs", \&check_dircount, $conf);
	&save_opt("store_avg_object_size", \&check_objsize, $conf);
	}
else {
	&save_opt_bytes("store_avg_object_size", $conf);
	}
&save_opt("store_objects_per_bucket", \&check_bucket, $conf);

&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("mem", undef, undef, \%in);
&redirect("");

sub check_size
{
return $_[0] =~ /^\d+$/ ? undef : &text('smem_emsg1',$_[0]);
}

sub check_high
{
return $_[0] =~ /^\d+$/ && $_[0] > 0 && $_[0] <= 100
		? undef : &text('smem_emsg2',$_[0]);
}

sub check_low
{
return $_[0] =~ /^\d+$/ && $_[0] > 0 && $_[0] <= 100
		? undef : &text('smem_emsg3',$_[0]);
}

sub check_obj_size
{
return $_[0] =~ /^\d+$/ ? undef : &text('smem_emsg4',$_[0]);
}

   07070100046c93000081e40000000000000002000000013d1fe2d400000649000000200000000000000000000000000000001c00000003reloc/squid/save_sports.cgi   #!/usr/local/bin/perl
# save_sports.cgi
# Save simple ports and other networking options

require './squid-lib.pl';
$access{'portsnets'} || &error($text{'eports_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
$conf = &get_config();
$whatfailed = $text{'sport_ftspo'};

if ($squid_version >= 2.3) {
	for($i=0; defined($port = $in{"port_$i"}); $i++) {
		next if (!$port);
		$port =~ /^\d+$/ || &error("'$port' is not a valid port");
		if ($in{"addr_def_$i"}) {
			push(@ports, { 'name' => 'http_port',
				       'values' => [ $port ] } );
			}
		else {
			$addr = $in{"addr_$i"};
			gethostbyname($addr) || &check_ipaddress($addr) ||
				&error("'$addr' is not a valid proxy address");
			push(@ports, { 'name' => 'http_port',
				       'values' => [ "$addr:$port" ] } );
			}
		}
	&save_directive($conf, 'http_port', \@ports);
	}
else {
	&save_opt("http_port", \&check_port, $conf);
	&save_opt("tcp_incoming_address", \&check_address, $conf);
	}

&save_opt("dns_testnames", undef, $conf);
&save_opt("httpd_accel_host", undef, $conf);
&save_opt("httpd_accel_port", undef, $conf);
&save_choice("httpd_accel_with_proxy", undef, $conf);
&save_choice("httpd_accel_uses_host_header", undef, $conf);

&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("ports", undef, undef, \%in);
&redirect("");

sub check_port
{
return $_[0] =~ /^\d+$/ ? undef : &text('sport_emsg1',$_[0]);
}

sub check_address
{
return &check_ipaddress($_[0]) || gethostbyname($_[0]) ? undef :
	&text('sport_emsg2',$_[0]);

}

sub check_bufsize
{
return $_[0] =~ /^\d+$/ ? undef : &text('sport_emsg3',$_[0]);
}

   07070100046c94000081e40000000000000002000000013d1fe2d4000004b7000000200000000000000000000000000000001a00000003reloc/squid/save_user.cgi #!/usr/local/bin/perl
# save_user.cgi
# Save, create or delete a proxy user

require './squid-lib.pl';
$access{'proxyauth'} || &error($text{'eauth_ecannot'});
&ReadParse();
$conf = &get_config();
$file = &find_config("proxy_auth", $conf)->{'values'}->[0];
&lock_file($file);
@users = &list_auth_users($file);

$user = $users[$in{'index'}];
if ($in{'delete'}) {
	&replace_file_line($file, $user->{'line'});
	}
else {
	$whatfailed = $text{'suser_ftsu'};
	$in{'user'} =~ /^[^:\s]+$/ || &error($text{'suser_emsg1'});
	$salt = substr(time(), -2);
	local ($same) = grep { $_->{'user'} eq $in{'user'} } @users;
	if ($in{'new'}) {
		!$same || &error($text{'suser_etaken'});
		open(FILE, ">>$file");
		print FILE $in{'user'},":",crypt($in{'pass'}, $salt),"\n";
		close(FILE);
		}
	else {
		!$same || $same->{'user'} eq $user->{'user'} ||
			 &error($text{'suser_etaken'});
		$pass = $in{'pass_def'} ? $user->{'pass'}
					: crypt($in{'pass'}, $salt);
		&replace_file_line($file, $user->{'line'},
				   "$in{'user'}:$pass\n");
		}
	}
&unlock_file($file);
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'user', $in{'user'} ? $in{'user'} : $user->{'user'});
&redirect("edit_auth.cgi");

 07070100046c95000081e40000000000000002000000013d1fe2d400000159000000200000000000000000000000000000001a00000003reloc/squid/squid-auth.pl #!/usr/local/bin/perl
# squid-auth.pl
# A basic squid authentication program

open(AUTH, $ARGV[1]);
while(<AUTH>) {
	s/\r|\n//g;
	s/#.*$//;
	if (/^(\S+):(\S+)/) {
		$auth{$1} = $2;
		}
	}
close(AUTH);

$| = 1;
while(<STDIN>) {
	s/\r|\n//g;
	local ($u, $p) = split(/\s+/, $_);
	print $auth->{$u} eq crypt($p, $auth->{$u}) ? "OK\n" : "ERR\n";
	}

   07070100046c96000081a40000000000000002000000013d1fe2d400002fde000000200000000000000000000000000000001900000003reloc/squid/squid-lib.pl  # squid-lib.pl
# Functions for configuring squid.conf

do '../web-lib.pl';
&init_config();
do 'parser-lib.pl';
%access = &get_module_acl();
$auth_program = "$module_config_directory/squid-auth.pl";
$auth_database = "$module_config_directory/users";

# Get the squid version
if (open(VERSION, "$module_config_directory/version")) {
	chop($squid_version = <VERSION>);
	close(VERSION);
	}

# icons_table(&links, &titles, &icons)
sub icons_table
{
local($i);
print "<table width=100% cellpadding=5> <tr>\n";
for($i=0; $i<@{$_[0]}; $i++) {
	if ($i%4 == 0) { print "<tr>\n"; }
	print "<td width=25% align=center valign=top>\n";
	&generate_icon($_[2]->[$i], $_[1]->[$i], $_[0]->[$i]);
	print "</td>\n";
        if ($i%4 == 3) { print "</tr>\n"; }
        }
while($i++%4) { print "<td width=25%></td>\n"; }
print "</table><p>\n";
}


# choice_input(text, name, &config, default, [display, option]+)
# Display a number of radio buttons for selecting some option
sub choice_input
{
local($v, $vv, $rv, $i);
$v = &find_config($_[1], $_[2]);
$vv = $v ? $v->{'value'} : $_[3];
$rv = "<td><b>$_[0]</b></td> <td valign=top>";
for($i=4; $i<@_; $i+=2) {
	$rv .= "<input type=radio name=$_[1] value=\"".$_[$i+1]."\" ".
		($vv eq $_[$i+1] ? "checked" : "")."> $_[$i]\n";
	}
return $rv."</td>\n";
}

# select_input(text, name, &config, default, [display, option]+)
# Like choice_input, but uses a drop-down select field
sub select_input
{
local($v, $vv, $rv, $i);
$v = &find_config($_[1], $_[2]);
$vv = $v ? $v->{'value'} : $_[3];
$rv = "<td><b>$_[0]</b></td> <td valign=top><select name=$_[1]>";
for($i=4; $i<@_; $i+=2) {
	$rv .= "<option value=\"".$_[$i+1]."\" ".
		($vv eq $_[$i+1] ? "selected" : "")."> $_[$i]\n";
	}
return $rv."</select></td>\n";
}

# save_choice(name, default, &config)
# Save a selection from choice_input()
sub save_choice
{
if ($in{$_[0]} eq $_[1]) { &save_directive($_[2], $_[0], [ ]); }
else { &save_directive($_[2], $_[0], [{ 'name' => $_[0],
					'values' => [ $in{$_[0]} ] }]); }
}

# list_input(text, name, &config, type, [default])
# Display a list of values
sub list_input
{
local($v, $rv, @av);
foreach $v (&find_config($_[1], $_[2])) {
	push(@av, @{$v->{'values'}});
	}
if ($_[4]) {
	$opt = sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[4]\n",
		@av ? "" : "checked";
	$opt .= sprintf "<input type=radio name=$_[1]_def value=0 %s>\n",
		@av ? "checked" : "";
	}
if ($_[3] == 0) {
	# text area
	$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top>";
	if ($opt) { $rv .= "$opt Listed..<br>\n"; }
	$rv .= "<textarea name=$_[1] rows=3 cols=15>".
		join("\n", @av)."</textarea></td>\n";
	}
else {
	# one long text field
	$rv = "<td valign=top><b>$_[0]</b></td> <td colspan=3 valign=top>$opt";
	$rv .= "<input name=$_[1] size=50 value=\"".join(' ',@av)."\"></td>\n";
	}
return $rv;
}

# save_list(name, &checkfunc, &config)
sub save_list
{
local($v, @vals, $err);
if (!$in{"$_[0]_def"}) {
	@vals = split(/\s+/, $in{$_[0]});
	if ($_[1]) {
		foreach $v (@vals) {
			&check_error($_[1], $v);
			}
		}
	}
if (@vals) { &save_directive($_[2], $_[0],
		[{ 'name' => $_[0], values => \@vals }]); }
else { &save_directive($_[2], $_[0], [ ]); }
}

# check_error(&function, value)
sub check_error
{
return if (!$_[0]);
local $err = &{$_[0]}($_[1]);
if ($err) { &error($err); }
}

# address_input(text, name, &config, type)
# Display a text area for entering 0 or more addresses
sub address_input
{
local($v, $rv, @av);
foreach $v (&find_config($_[1], $_[2])) {
	push(@av, @{$v->{'values'}});
	}
if ($_[3] == 0) {
	# text area
	$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top>";
	$rv .= "<textarea name=$_[1] rows=3 cols=15>".
		join("\n", @av)."</textarea></td>\n";
	}
else {
	# one long text field
	$rv = "<td valign=top><b>$_[0]</b></td> <td colspan=3 valign=top>";
	$rv .= "<input name=$_[1] size=50 value=\"".join(' ',@av)."\"></td>\n";
	}
return $rv;
}

# save_address(name, config)
sub save_address
{
local($addr, @vals);
foreach $addr (split(/\s+/, $in{$_[0]})) {
	&check_ipaddress($addr) || &error(&text('lib_emsg1',$addr));
	push(@vals, $addr);
	}
if (@vals) { &save_directive($_[1], $_[0],
		[{ 'name' => $_[0], values => \@vals }]); }
else { &save_directive($_[1], $_[0], [ ]); }
}

# opt_input(text, name, &config, default, size, units)
# Display an optional field for entering something
sub opt_input
{
local($v, $rv);
$v = &find_config($_[1], $_[2]);
$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top nowrap";
$rv .= $_[4] > 30 ? " colspan=3>\n" : ">\n";
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\"> %s</td>\n",
	$v ? $v->{'value'} : "", $_[5];
return $rv;
}

# save_opt(name, &function, &config)
# Save an input from opt_input()
sub save_opt
{
if ($in{"$_[0]_def"}) { &save_directive($_[2], $_[0], [ ]); }
else {
	&check_error($_[1], $in{$_[0]});
	local $dir = { 'name' => $_[0], 'values' => [ $in{$_[0]} ] };
	&save_directive($_[2], $_[0], [ $dir ]);
	}
}

# opt_time_input(text, name, &config, default, size)
sub opt_time_input
{
local($v, $rv, $u, %ts );
%ts = (	"second"=>	$text{"lib_seconds"},
	"minute"=>	$text{"lib_minutes"},
	"hour"=>	$text{"lib_hours"},
	"day"=>		$text{"lib_days"},
	"week"=>	$text{"lib_weeks"},
	"fortnight"=>	$text{"lib_fortnights"},
	"month"=>	$text{"lib_months"},
	"year"=>	$text{"lib_years"},
	"decade"=>	$text{"lib_decades"} );
$v = &find_config($_[1], $_[2]);
$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top nowrap>\n";
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\">\n",
	$v ? $v->{'values'}->[0] : "";
$rv .= "<select name=$_[1]_u>\n";
foreach $u (keys %ts) {
	$rv .= sprintf "<option value=$u %s>$ts{$u}\n",
		$v && $v->{'values'}->[1] =~ /^$u/ ? "selected" : "";
	}
$rv .= "</select></td>\n";
return $rv;
}

# save_opt_time(name, &config)
sub save_opt_time
{
local %ts = ( "second"=>      $text{"lib_seconds"},
        "minute"=>      $text{"lib_minutes"},
        "hour"=>        $text{"lib_hours"},
        "day"=>         $text{"lib_days"},
        "week"=>        $text{"lib_weeks"},
        "fortnight"=>   $text{"lib_fortnights"},
        "month"=>       $text{"lib_months"},
        "year"=>        $text{"lib_years"},
        "decade"=>      $text{"lib_decades"} );

if ($in{"$_[0]_def"}) { &save_directive($_[1], $_[0], [ ]); }
elsif ($in{$_[0]} !~ /^[0-9\.]+$/) {
	&error(&text('lib_emsg2', $in{$_[0]}, $ts{$in{"$_[0]_u"}}) );
	}
else {
	local $dir = { 'name' => $_[0],
		       'values' => [ $in{$_[0]}, $in{"$_[0]_u"} ] };
	&save_directive($_[1], $_[0], [ $dir ]);
	}
}

# opt_bytes_input(text, name, &config, default, size)
sub opt_bytes_input
{
local($v, $rv, $u, %ss);
%ss = (	"KB"=>	$text{'lib_kb'},
	"MB"=>	$text{'lib_mb'},
	"GB"=>	$text{'lib_gb'} );
$v = &find_config($_[1], $_[2]);
$rv = "<td valign=top><b>$_[0]</b></td> <td valign=top nowrap>\n";
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
	$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
	$v ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\">\n",
	$v ? $v->{'values'}->[0] : "";
$rv .= "<select name=$_[1]_u>\n";
foreach $u (keys %ss) {
	$rv .= sprintf "<option value=$u %s>$ss{$u}\n",
		$v && $v->{'values'}->[1] eq $u ? "selected" : "";
	}
$rv .= "</select></td>\n";
return $rv;
}

# save_opt_bytes(name, &config)
sub save_opt_bytes
{
local %ss = ( "KB"=>  $text{'lib_kb'},
        "MB"=>  $text{'lib_mb'},
        "GB"=>  $text{'lib_gb'} );

if ($in{"$_[0]_def"}) { &save_directive($_[1], $_[0], [ ]); }
elsif ($in{$_[0]} !~ /^[0-9\.]+$/) {
	&error(&text('lib_emsg3', $in{$_[0]}, $ss{$in{"$_[0]_u"}}) );
	}
else {
	local $dir = { 'name' => $_[0],
		       'values' => [ $in{$_[0]}, $in{"$_[0]_u"} ] };
	&save_directive($_[1], $_[0], [ $dir ]);
	}
}

%acl_types = ("src", $text{'lib_aclca'},
	      "dst", $text{'lib_aclwsa'},
	      "srcdomain", $text{'lib_aclch'},
	      "dstdomain", $text{'lib_aclwsh'},
	      "time", $text{'lib_acldat'},
	      "url_regex", $text{'lib_aclur'},
	      "urlpath_regex", $text{'lib_aclupr'},
	      "port", $text{'lib_aclup'},
	      "proto", $text{'lib_aclup1'},
	      "method", $text{'lib_aclrm'},
	      "browser", $text{'lib_aclbr'},
	      "user", $text{'lib_aclpl'},
	      "arp", $text{'lib_aclarp'} );
if ($squid_version >= 2.0) {
	$acl_types{'src_as'} = $text{'lib_aclsan'};
	$acl_types{'dst_as'} = $text{'lib_acldan'};
	$acl_types{'proxy_auth'} = $text{'lib_aclea'};
	$acl_types{'srcdom_regex'} = $text{'lib_aclcr'};
	$acl_types{'dstdom_regex'} = $text{'lib_aclwsr'};
	}
if ($squid_version >= 2.2) {
	$acl_types{'ident'} = $text{'lib_aclru'};
	$acl_types{'myip'} = $text{'lib_aclpia'};
	delete($acl_types{'user'});
	}
if ($squid_version >= 2.3) {
	$acl_types{'maxconn'} = $text{'lib_aclmc'};
	$acl_types{'myport'} = $text{'lib_aclpp'};
	$acl_types{'snmp_community'} = $text{'lib_aclsc'};
	}
if ($squid_version >= 2.4) {
	$acl_types{'req_mime_type'} = $text{'lib_aclrmt'};
	$acl_types{'proxy_auth_regex'} = $text{'lib_aclear'};
	}
if ($squid_version >= 2.5) {
	$acl_types{'ident_regex'} = $text{'lib_aclrur'};
	}

# restart_button()
# Returns HTML for a link to put in the top-right corner of every page
sub restart_button
{
local($conf, $pidstruct, $pidfile, $pid, $args);
$conf = &get_config();
if ($pidstruct = &find_config("pid_filename", $conf)) {
	$pidfile = $pidstruct->{'values'}->[0];
	}
else { $pidfile = $config{'pid_file'}; }
if (open(PID, $pidfile)) {
	<PID> =~ /(\d+)/; $pid = $1;
	close(PID);
	}
$args = "redir=".&urlize(&this_url())."&pid=$pid";
if ($pid && kill(0, $pid)) {
	return "<a href=\"restart.cgi?$args\">$text{'lib_buttac'}</a><br>\n".
	       ($access{'start'} ? "<a href=\"stop.cgi?$args\">$text{'lib_buttss'}</a>\n" : "");
	}
else {
	return $access{'start'} ? "<a href=\"start.cgi?$args\">$text{'lib_buttss1'}</a><br>\n" : "";
	}
close(PID);
}

# this_url()
# Returns the URL in the apache directory of the current script
sub this_url
{
local($url);
$url = $ENV{'SCRIPT_NAME'};
if (defined($ENV{'QUERY_STRING'})) { $url .= "?$ENV{'QUERY_STRING'}"; }
return $url;
}

# list_auth_users(file)
sub list_auth_users
{
local(@rv, $lnum); $lnum = 0;
open(USERS, $_[0]);
while(<USERS>) {
	if (/^(#*)([^:]+):(\S+)/) {
		push(@rv, { 'user' => $2, 'pass' => $3,
			    'enabled' => !$1, 'line' => $lnum });
		}
	$lnum++;
	}
close(USERS);
return @rv;
}

# get_squid_user(&config)
# Returns the effective user and group (if any)
sub get_squid_user
{
if ($squid_version < 2) {
	local $ceu = &find_config("cache_effective_user", $_[0]);
	if ($ceu) { return ($ceu->{'values'}->[0], $ceu->{'values'}->[1]); }
	return (undef, undef);
	}
else {
	local $ceu = &find_config("cache_effective_user", $_[0]);
	local $ceg = &find_config("cache_effective_group", $_[0]);
	return ($ceu->{'values'}->[0], $ceg ? $ceg->{'values'}->[0]
					    : $ceu->{'values'}->[1]);
	}
}

# chown_files(user, group, config)
# Change ownership of all squid log and cache directories
sub chown_files
{
local(@list, $pidstruct, $pidfile);
@list = ( $config{'log_dir'} );

# add pidfile
if ($str = &find_config("pid_filename", $_[2])) {
	$pidfile = $str->{'values'}->[0];
	}
else { $pidfile = $config{'pid_file'}; }
push(@list, $pidfile);

# add other log directories
foreach $d ("cache_access_log","cache_log","cache_store_log","cache_swap_log") {
	if (($str = &find_config($d, $_[2])) &&
	    $str->{'values'}->[0] =~ /^(\S+)\/[^\/]+$/) {
		push(@list, $1);
		}
	}

# add cache directories
if (@str = &find_config("cache_dir", $_[2])) {
	foreach $str (@str) {
		push(@list, $str->{'values'}->[0]);
		}
	}
else { push(@list, $config{'cache_dir'}); }
system("chown -Rf $_[0]:$_[1] ".join(" ",@list)." >/dev/null 2>&1");
}

# can_access(file)
sub can_access
{
local @f = grep { $_ ne '' } split(/\//, $_[0]);
return 1 if ($access{'root'} eq '/');
local @a = grep { $_ ne '' } split(/\//, $access{'root'});
local $i;
for($i=0; $i<@a; $i++) {
	return 0 if ($a[$i] ne $f[$i]);
	}
return 1;
}

1;

  07070100046c97000081e40000000000000002000000013d1fe2d4000003e0000000200000000000000000000000000000001600000003reloc/squid/start.cgi #!/usr/local/bin/perl
# start.cgi
# Start squid

require './squid-lib.pl';
$access{'start'} || &error($text{'start_ecannot'});
use POSIX;
&ReadParse();
$whatfailed = $text{'start_ftsq'};
$temp = &tempname();
&clean_environment();
if ($config{'squid_start'}) {
	# Use a start script
	$rv = &system_logged("$config{'squid_start'} >$temp 2>&1 </dev/null");
	sleep(3);
	$errs = `cat $temp`;
	unlink($temp);
	&reset_environment();
	if ($errs && $errs =~ /\d+\/\d+\/\d+/) {
		&system_logged("$config{'squid_stop'} >/dev/null 2>&1 </dev/null");
		&error("<pre>$errs</pre>");
		}
	}
else {
	# Run the squid executable directly
	&system_logged("cd / ; $config{'squid_path'} -sY -f $config{'squid_conf'} >$temp 2>&1 </dev/null &");
	sleep(3);
	$errs = `cat $temp`;
	unlink($temp);
	&reset_environment();
	if ($errs) {
		&backquote_logged("$config{'squid_path'} -k shutdown -f $config{'squid_conf'} 2>&1 </dev/null");
		&error("<pre>$errs</pre>");
		}
	}
&webmin_log("start");
&redirect($in{'redir'});

07070100046c98000081e40000000000000002000000013d1fe2d4000002a9000000200000000000000000000000000000001500000003reloc/squid/stop.cgi  #!/usr/local/bin/perl
# stop.cgi
# Stop the running squid process

require './squid-lib.pl';
$access{'start'} || &error($text{'stop_ecannot'});
&ReadParse();
$whatfailed = $text{'stop_ftsq'};
if ($config{'squid_stop'}) {
	# Use a stop script
	$out = &backquote_logged("$config{'squid_stop'} 2>&1");
	if ($out && $out =~ /\d+\/\d+\/\d+/) {
		&error("<pre>$out</pre>");
		}
	}
else {
	# Run the squid executable directly
	$out = &backquote_logged("$config{'squid_path'} -f $config{'squid_conf'} -k shutdown 2>&1");
	if ($out) { &error("<pre>$out</pre>"); }
	}
for($i=0; $i<40; $i++) {
	if (!kill(0, $in{'pid'})) { last; }
	sleep(1);
	}
&webmin_log("stop");
&redirect($in{'redir'});

   07070100046c99000081a40000000000000002000000013d1fe2d400000b60000000200000000000000000000000000000002000000003reloc/squid/useradmin_update.pl   do 'squid-lib.pl';

# useradmin_create_user(&details)
# Create a new Squid user in the group

sub useradmin_create_user
{
return if (!$config{'sync_create'});
if ($config{'crypt_conf'} == 1) {
        eval "use MD5";
	return if ($@);
        }
return if ($_[0]->{'passmode'} != 3);

local $user = $_[0]->{'user'};
local $pass = $_[0]->{'plainpass'};

local $conf = &get_config();
local $authprog = &find_value("authenticate_program", $conf);
unless ( $authprog ) { return; }
$authprog =~ /(\S+)\s+(\/\S+)$/ || return;
$file = $2;

&lock_file($file);
local @users = &list_auth_users($file);

local ($same) = grep { $_->{'user'} eq $user } @users;
return if ($same);
$pass = &encryptpwd($pass, $salt);
open(FILE,">>$file");
print FILE "$user:$pass\n";
close(FILE);
&unlock_file($file);

&restart_squid();
}

# useradmin_delete_user(&details)
# Delete this Squid user if in sync
sub useradmin_delete_user
{
local $conf = &get_config();
return if (!$config{'sync_delete'});

local $name = $_[0]->{'user'};

local $authprog = &find_value("authenticate_program", $conf);
unless ( $authprog ) { return; }
$authprog =~ /(\S+)\s+(\/\S+)$/ || return;
$file = $2;

&lock_file($file);
local @users = &list_auth_users($file);
local $user;
foreach $u (@users) {
	if ($u->{'user'} eq $name) {
		$user = $u;
		last;
		}
	}
# In the passwd file?
return if (!$user);

&replace_file_line($file, $user->{'line'});
&unlock_file($file);

&restart_squid();
}

# useradmin_modify_user(&details)
# Update this users password if in sync
sub useradmin_modify_user
{
if ($config{'crypt_conf'} == 1) {
        eval "use MD5";
	return if ($@);
        }
local $conf = &get_config();

local $name = $_[0]->{'user'};
local $oldname = $_[1]->{'user'};
local $pass = $_[0]->{'plainpass'};
return if ($name eq $oldname && $_[0]->{'passmode'} == 4);

local $authprog = &find_value("authenticate_program", $conf);
unless ( $authprog ) { return; }
$authprog =~ /(\S+)\s+(\/\S+)$/ || return;
$file = $2;

&lock_file($file);
local @users = &list_auth_users($file);
local $user;
foreach $u (@users) {
        if ($u->{'user'} eq $oldname) {
		$user = $u;
		last;
		}
        }
# In the passwd file?
return if (!$user);

local $cmt = $user->{'enabled'} ? "" : "#";
$pass = $_[0]->{'passmode'} == 3 ? &encryptpwd($pass, $salt)
				 : $user->{'pass'};
&replace_file_line($file, $user->{'line'},
		   "$cmt$name:$pass\n");
&unlock_file($file);

&restart_squid();
}

sub encryptpwd {
  if ($config{'crypt_conf'}) {
    my $pwd = $_[0];
    my $encryptpwd = new MD5;
    $encryptpwd->add($pwd);
    $pwd = encode_base64($encryptpwd->hexdigest());
    chomp($pwd);
    $pwd = "\$$pwd\$";
    return $pwd;
    }
    else {
      $salt = substr(time(), -2);
      my $pwd = crypt($_[0], $_[1]);
      return $pwd;
      }
  }

sub restart_squid
{
&system_logged("$config{'squid_path'} -f $config{'squid_conf'} -k reconfigure >/dev/null 2>&1 </dev/null");
}

1;

0707010004f49a000041ed0000000000000001000000053d1ffb6b00000000000000200000000000000000000000000000000b00000003reloc/sshd    0707010004f49b000081e40000000000000002000000013d1fe2e5000000bf000000200000000000000000000000000000001500000003reloc/sshd/apply.cgi  #!/usr/local/bin/perl
# apply.cgi
# Apply config file changes with a HUP signal

require './sshd-lib.pl';
&ReadParse();
&kill_logged('HUP', $in{'pid'});
&webmin_log("apply");
&redirect("");

 0707010004f49c000081a40000000000000002000000013d1fe2e5000000ca000000200000000000000000000000000000001200000003reloc/sshd/config sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
  0707010004f49d000081a40000000000000002000000013d1fe2e5000000ea000000200000000000000000000000000000002300000003reloc/sshd/config-debian-linux-2.2    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/ssh start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
  0707010004f49e000081a40000000000000002000000013d1fe2e5000000ea000000200000000000000000000000000000002300000003reloc/sshd/config-debian-linux-3.0    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/ssh start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
  0707010004f49f000081a40000000000000002000000013d1fe2e5000000c2000000200000000000000000000000000000001c00000003reloc/sshd/config-macos-1.3   sshd_path=/usr/sbin/sshd
sshd_config=/etc/sshd_config
client_config=/etc/ssh_config
pid_file=/var/run/sshd.pid
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
  0707010004f4a0000081a40000000000000002000000013d1fe2e5000000c2000000200000000000000000000000000000001c00000003reloc/sshd/config-macos-1.4   sshd_path=/usr/sbin/sshd
sshd_config=/etc/sshd_config
client_config=/etc/ssh_config
pid_file=/var/run/sshd.pid
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
  0707010004f4a1000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002500000003reloc/sshd/config-mandrake-linux-7.1  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a2000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002500000003reloc/sshd/config-mandrake-linux-7.2  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a3000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002500000003reloc/sshd/config-mandrake-linux-8.0  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a4000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002500000003reloc/sshd/config-mandrake-linux-8.1  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a5000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002500000003reloc/sshd/config-mandrake-linux-8.2  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a6000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002100000003reloc/sshd/config-open-linux-3.1  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a7000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002300000003reloc/sshd/config-redhat-linux-7.0    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a8000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002300000003reloc/sshd/config-redhat-linux-7.1    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4a9000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002300000003reloc/sshd/config-redhat-linux-7.2    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4b2000081a40000000000000002000000013d1fe2e50000010c000000200000000000000000000000000000001700000003reloc/sshd/config.info    sshd_path=Full path to sshd program,0
sshd_config=Full path to sshd config file,0
client_config=Full path to ssh client config file,0
pid_file=Full path to sshd PID file,0
start_cmd=Command to start sshd,3,Just run server
keygen_path=Full path to ssh-keygen program,0
0707010004f4aa000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002300000003reloc/sshd/config-redhat-linux-7.3    sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4ab000081a40000000000000002000000013d1fe2e5000000ec000000200000000000000000000000000000002600000003reloc/sshd/config-slackware-linux-8.0 sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/rc.sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4ac000081a40000000000000002000000013d1fe2e5000000ec000000200000000000000000000000000000002600000003reloc/sshd/config-slackware-linux-8.1 sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/rc.sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4ad000081a40000000000000002000000013d1fe2e5000000eb000000200000000000000000000000000000002100000003reloc/sshd/config-suse-linux-7.1  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
 0707010004f4ae000081a40000000000000002000000013d1fe2e5000000eb000000200000000000000000000000000000002100000003reloc/sshd/config-suse-linux-7.2  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
 0707010004f4af000081a40000000000000002000000013d1fe2e5000000eb000000200000000000000000000000000000002100000003reloc/sshd/config-suse-linux-7.3  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
 0707010004f4b0000081a40000000000000002000000013d1fe2e5000000eb000000200000000000000000000000000000002100000003reloc/sshd/config-suse-linux-8.0  sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
 0707010004f4b1000081a40000000000000002000000013d1fe2e5000000f0000000200000000000000000000000000000002200000003reloc/sshd/config-turbo-linux-7.0 sshd_path=/usr/sbin/sshd
sshd_config=/etc/ssh/sshd_config
client_config=/etc/ssh/ssh_config
pid_file=/var/run/sshd.pid
start_cmd=/etc/rc.d/init.d/sshd start
keygen_path=/usr/bin/ssh-keygen
sync_create=0
sync_auth=1
sync_pass=0
sync_gnupg=0
0707010004f4b3000081a40000000000000002000000013d1fe2e500000152000000200000000000000000000000000000001a00000003reloc/sshd/config.info.ca sshd_path=Camí complet del programa sshd,0
sshd_config=Camí complet del fitxer de configuració de sshd,0
client_config=Camí complet del fitxer de confifuració del client ssh,0
pid_file=Camí complet del fitxer de PID de sshd,0
start_cmd=Ordre per iniciar sshd,3,Executa només el servidor
keygen_path=Camí complet del programa ssh-keygen,0
  0707010004f4d9000081a40000000000000002000000013d1fe2e500000137000000200000000000000000000000000000001a00000003reloc/sshd/config.info.de sshd_path=Vollst&auml;ndiger Pfad zum sshd Programm,0
sshd_config=Vollst&auml;ndiger Pfad zur sshd Konfigurationsdatei,0
client_config=Vollst&auml;ndiger Pfad zur ssh Client Konfigurationsdatei,0
pid_file=Vollst&auml;ndiger Pfad zur sshd PID Datei,0
start_cmd=Kommando zum Starten des sshd,3,Nur Server starten
 0707010004f4da000081a40000000000000002000000013d1fe2e500000131000000200000000000000000000000000000001a00000003reloc/sshd/config.info.pl sshd_path=Pe³na ¶cie¿ka do programu <tt>sshd</tt>,0
sshd_config=Pe³na ¶cie¿ka do pliku konfiguracyjnego sshd,0
client_config=Pe³na ¶cie¿ka do pliku konfiguracyjnego klienta ssh,0
pid_file=Pe³na ¶cie¿ka do pliku z&nbsp;numerem PID sshd,0
start_cmd=Polecenie uruchamiaj±ce sshd,3,Po prostu uruchomiæ serwer
   0707010004f4db000081e40000000000000002000000013d1fe2e500000e42000000200000000000000000000000000000001b00000003reloc/sshd/edit_access.cgi    #!/usr/local/bin/perl
# edit_access.cgi
# Display access control SSHd options

require './sshd-lib.pl';
&header($text{'access_title'}, "", "access");
print "<hr>\n";
$conf = &get_sshd_config();

print "<form action=save_access.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($version{'type'} eq 'ssh') {
	&scmd(1);
	@allowh = &find_value("AllowHosts", $conf);
	print "<td><b>$text{'access_allowh'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=allowh_def value=1 %s> %s\n",
		@allowh ? "" : "checked", $text{'access_all'};
	printf "<input type=radio name=allowh_def value=0 %s>\n",
		@allowh ? "checked" : "";
	printf "<input name=allowh size=50 value='%s'></td>\n",
		join(" ", @allowh);
	&ecmd();

	&scmd(1);
	@denyh = &find_value("DenyHosts", $conf);
	print "<td><b>$text{'access_denyh'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=denyh_def value=1 %s> %s\n",
		@denyh ? "" : "checked", $text{'access_none'};
	printf "<input type=radio name=denyh_def value=0 %s>\n",
		@denyh ? "checked" : "";
	printf "<input name=denyh size=50 value='%s'></td>\n",
		join(" ", @denyh);
	&ecmd();

	&scmd(1);
	print "<td colspan=4><hr></td>\n";
	&ecmd();
	}

&scmd(1);
@allowu = &find_value("AllowUsers", $conf);
print "<td><b>$text{'access_allowu'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=allowu_def value=1 %s> %s\n",
	@allowu ? "" : "checked", $text{'access_all'};
printf "<input type=radio name=allowu_def value=0 %s>\n",
	@allowu ? "checked" : "";
printf "<input name=allowu size=50 value='%s'> %s</td>\n",
	join(" ", @allowu), &user_chooser_button("allowu", 1);
&ecmd();

&scmd(1);
@allowg = &find_value("AllowGroups", $conf);
print "<td><b>$text{'access_allowg'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=allowg_def value=1 %s> %s\n",
	@allowg ? "" : "checked", $text{'access_none'};
printf "<input type=radio name=allowg_def value=0 %s>\n",
	@allowg ? "checked" : "";
printf "<input name=allowg size=50 value='%s'> %s</td>\n",
	join(" ", @allowg), &group_chooser_button("allowg", 1);
&ecmd();

&scmd(1);
@denyu = &find_value("DenyUsers", $conf);
print "<td><b>$text{'access_denyu'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=denyu_def value=1 %s> %s\n",
	@denyu ? "" : "checked", $text{'access_none'};
printf "<input type=radio name=denyu_def value=0 %s>\n",
	@denyu ? "checked" : "";
printf "<input name=denyu size=50 value='%s'> %s</td>\n",
	join(" ", @denyu), &user_chooser_button("denyu", 1);
&ecmd();

&scmd(1);
@denyg = &find_value("DenyGroups", $conf);
print "<td><b>$text{'access_denyg'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=denyg_def value=1 %s> %s\n",
	@denyg ? "" : "checked", $text{'access_all'};
printf "<input type=radio name=denyg_def value=0 %s>\n",
	@denyg ? "checked" : "";
printf "<input name=denyg size=50 value='%s'> %s</td>\n",
	join(" ", @denyg), &group_chooser_button("denyg", 1);
&ecmd();

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd(1);
	print "<td colspan=4><hr></td>\n";
	&ecmd();

	&scmd();
	$silent = &find_value("SilentDeny", $conf);
	print "<td><b>$text{'access_silent'}</b></td> <td>\n";
	printf "<input type=radio name=silent value=1 %s> %s\n",
		lc($silent) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=silent value=0 %s> %s</td>\n",
		lc($silent) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();
	}

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010004f4dc000081e40000000000000002000000013d1fe2e500002990000000200000000000000000000000000000001900000003reloc/sshd/edit_host.cgi  #!/usr/local/bin/perl
# edit_host.cgi
# Display options for a new or existing host config

require './sshd-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'host_create'}, "", "chost");
	}
else {
	&header($text{'host_edit'}, "", "ehost");
	$hconf = &get_client_config();
	$host = $hconf->[$in{'idx'}];
	$conf = $host->{'members'};
	}
print "<hr>\n";

print "<form action=save_host.cgi>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&scmd(1);
print "<td><b>$text{'host_name'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=name_def value=1 %s> %s\n",
	$host->{'values'}->[0] eq '*' ? 'checked' : '', $text{'hosts_all'};
printf "<input type=radio name=name_def value=0 %s>\n",
	$host->{'values'}->[0] eq '*' ? '' : 'checked'; 
printf "<input name=name size=40 value='%s'></td>\n",
	$host->{'values'}->[0] eq '*' ? '' : $host->{'values'}->[0];
&ecmd();

&scmd();
$user = &find_value("User", $conf);
print "<td><b>$text{'host_user'}</b></td> <td nowrap>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$user ? "" : "checked", $text{'host_user_def'};
printf "<input type=radio name=user_def value=0 %s>\n",
	$user ? "checked" : "";
print "<input name=user size=13 value='$user'></td>\n";
&ecmd();

&scmd();
$keep = &find_value("KeepAlive", $conf);
print "<td><b>$text{'host_keep'}</b></td> <td>\n";
printf "<input type=radio name=keep value=1 %s> %s\n",
	lc($keep) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=keep value=0 %s> %s\n",
	lc($keep) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=keep value=2 %s> %s</td>\n",
	!$keep ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$hostname = &find_value("HostName", $conf);
print "<td><b>$text{'host_hostname'}</b></td> <td nowrap>\n";
printf "<input type=radio name=hostname_def value=1 %s> %s\n",
	$hostname ? "" : "checked", $text{'host_hostname_def'};
printf "<input type=radio name=hostname_def value=0 %s>\n",
	$hostname ? "checked" : "";
print "<input name=hostname size=20 value='$hostname'></td>\n";
&ecmd();

&scmd();
$batch = &find_value("BatchMode", $conf);
print "<td><b>$text{'host_batch'}</b></td> <td>\n";
printf "<input type=radio name=batch value=0 %s> %s\n",
	lc($batch) eq 'no' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=batch value=1 %s> %s\n",
	lc($batch) eq 'yes' ? "checked" : "", $text{'no'};
printf "<input type=radio name=batch value=2 %s> %s</td>\n",
	!$batch ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$port = &find_value("Port", $conf);
print "<td><b>$text{'host_port'}</b></td> <td nowrap>\n";
printf "<input type=radio name=port_def value=1 %s> %s\n",
	$port ? "" : "checked", $text{'default'};
printf "<input type=radio name=port_def value=0 %s>\n",
	$port ? "checked" : "";
print "<input name=port size=6 value='$port'></td>\n";
&ecmd();

&scmd();
$comp = &find_value("Compression", $conf);
print "<td><b>$text{'host_comp'}</b></td> <td>\n";
printf "<input type=radio name=comp value=1 %s> %s\n",
	lc($comp) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=comp value=0 %s> %s\n",
	lc($comp) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=comp value=2 %s> %s</td>\n",
	!$comp ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$escape = &find_value("EscapeChar", $conf);
print "<td><b>$text{'host_escape'}</b></td> <td nowrap>\n";
printf "<input type=radio name=escape_def value=1 %s> %s\n",
	$escape eq "" ? "checked" : "", $text{'default'};
printf "<input type=radio name=escape_def value=2 %s> %s\n",
	$escape eq "none" ? "checked" : "", $text{'host_escape_none'};
printf "<input type=radio name=escape_def value=0 %s>\n",
	$escape eq "" || $escape eq "none" ? "" : "checked";
printf "<input name=escape size=2 value='%s'></td>\n",
	$escape eq "" || $escape eq "none" ? "" : $escape;
&ecmd();

&scmd();
$clevel = &find_value("CompressionLevel", $conf);
print "<td><b>$text{'host_clevel'}</b></td> <td nowrap>\n";
printf "<input type=radio name=clevel_def value=1 %s> %s\n",
	$clevel ? "" : "checked", $text{'default'};
printf "<input type=radio name=clevel_def value=0 %s>\n",
	$clevel ? "checked" : "";
print "<select name=clevel>\n";
foreach $l (1 .. 9) {
	printf "<option %s value=%s>%s %s\n", $clevel == $l ? 'selected' : '',
		$l, $l, $text{"host_clevel_$l"};
	}
print "</select></td>\n";
&ecmd();

&scmd();
$attempts = &find_value("ConnectionAttempts", $conf);
print "<td><b>$text{'host_attempts'}</b></td> <td nowrap>\n";
printf "<input type=radio name=attempts_def value=1 %s> %s\n",
	$attempts ? "" : "checked", $text{'default'};
printf "<input type=radio name=attempts_def value=0 %s>\n",
	$attempts ? "checked" : "";
print "<input name=attempts size=2 value='$attempts'></td>\n";
&ecmd();

&scmd();
$priv = &find_value("UsePrivilegedPort", $conf);
print "<td><b>$text{'host_priv'}</b></td> <td>\n";
printf "<input type=radio name=priv value=1 %s> %s\n",
	lc($priv) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=priv value=0 %s> %s\n",
	lc($priv) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=priv value=2 %s> %s</td>\n",
	!$priv ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$rsh = &find_value("FallBackToRsh", $conf);
print "<td><b>$text{'host_rsh'}</b></td> <td>\n";
printf "<input type=radio name=rsh value=1 %s> %s\n",
	lc($rsh) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=rsh value=0 %s> %s\n",
	lc($rsh) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=rsh value=2 %s> %s</td>\n",
	!$rsh ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$usersh = &find_value("UseRsh", $conf);
print "<td><b>$text{'host_usersh'}</b></td> <td>\n";
printf "<input type=radio name=usersh value=1 %s> %s\n",
	lc($usersh) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=usersh value=0 %s> %s\n",
	lc($usersh) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=usersh value=2 %s> %s</td>\n",
	!$usersh ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$agent = &find_value("ForwardAgent", $conf);
print "<td><b>$text{'host_agent'}</b></td> <td>\n";
printf "<input type=radio name=agent value=1 %s> %s\n",
	lc($agent) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=agent value=0 %s> %s\n",
	lc($agent) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=agent value=2 %s> %s</td>\n",
	!$agent ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$x11 = &find_value("ForwardX11", $conf);
print "<td><b>$text{'host_x11'}</b></td> <td>\n";
printf "<input type=radio name=x11 value=1 %s> %s\n",
	lc($x11) eq 'yes' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=x11 value=0 %s> %s\n",
	lc($x11) eq 'no' ? "checked" : "", $text{'no'};
printf "<input type=radio name=x11 value=2 %s> %s</td>\n",
	!$x11 ? "checked" : "", $text{'default'};
&ecmd();

&scmd();
$strict = &find_value("StrictHostKeyChecking", $conf);
print "<td><b>$text{'host_strict'}</b></td> <td>\n";
printf "<input type=radio name=strict value=0 %s> %s\n",
	lc($strict) eq 'no' ? "checked" : "", $text{'yes'};
printf "<input type=radio name=strict value=1 %s> %s\n",
	lc($strict) eq 'yes' ? "checked" : "", $text{'no'};
printf "<input type=radio name=strict value=3 %s> %s\n",
	lc($strict) eq 'ask' ? "checked" : "", $text{'host_ask'};
printf "<input type=radio name=strict value=2 %s> %s</td>\n",
	!$strict ? "checked" : "", $text{'default'};
&ecmd();

if ($version{'type'} eq 'openssh') {
	&scmd();
	$checkip = &find_value("CheckHostIP", $conf);
	print "<td><b>$text{'host_checkip'}</b></td> <td>\n";
	printf "<input type=radio name=checkip value=1 %s> %s\n",
		lc($checkip) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=checkip value=0 %s> %s\n",
		lc($checkip) eq 'no' ? "checked" : "", $text{'no'};
	printf "<input type=radio name=checkip value=2 %s> %s</td>\n",
		!$checkip ? "checked" : "", $text{'default'};
	&ecmd();

	&scmd(1);
	$prots = &find_value("Protocol", $conf);
	@prots = split(/,/, $prots);
	print "<td><b>$text{'host_prots'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=prots_def value=1 %s> %s\n",
		$prots ? '' : 'checked', $text{'default'};
	printf "<input type=radio name=prots_def value=0 %s> %s\n",
		$prots ? 'checked' : '', $text{'host_prots_sel'};
	foreach $p (1, 2) {
		printf "<input type=checkbox name=prots value=%s %s> %s\n",
			$p, &indexof($p, @prots) >= 0 ? "checked" : "",
			$text{"net_prots_$p"};
		}
	print "</td>\n";
	&ecmd();
	}

&scmd(1);
print "<td colspan=4><hr></td>\n";
&ecmd();

&scmd(1);
print "<td valign=top><b>$text{'host_lforward'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'host_llport'}</b></td> ",
      "<td><b>$text{'host_lrhost'}</b></td> ",
      "<td><b>$text{'host_lrport'}</b></td> </tr>\n";
@lforward = &find("LocalForward", $conf);
$i = 0;
foreach $l (@lforward, { }) {
	local ($lp, $rh, $rp) = ( $l->{'values'}->[0],
				  split(/:/, $l->{'values'}->[1]) );
	print "<tr>\n";
	print "<td><input name=llport_$i size=8 value='$lp'></td>\n";
	print "<td><input name=lrhost_$i size=40 value='$rh'></td>\n";
	print "<td><input name=lrport_$i size=8 value='$rp'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td>\n";
&ecmd();

&scmd(1);
print "<td colspan=4><hr></td>\n";
&ecmd();

&scmd(1);
print "<td valign=top><b>$text{'host_rforward'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'host_rrport'}</b></td> ",
      "<td><b>$text{'host_rlhost'}</b></td> ",
      "<td><b>$text{'host_rlport'}</b></td> </tr>\n";
@rforward = &find("RemoteForward", $conf);
$i = 0;
foreach $r (@rforward, { }) {
	local ($rp, $lh, $lp) = ( $r->{'values'}->[0],
				  split(/:/, $r->{'values'}->[1]) );
	print "<tr>\n";
	print "<td><input name=rrport_$i size=8 value='$rp'></td>\n";
	print "<td><input name=rlhost_$i size=40 value='$lh'></td>\n";
	print "<td><input name=rlport_$i size=8 value='$lp'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td>\n";
&ecmd();

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
print "<td align=right><input type=submit name=delete ",
      "value='$text{'delete'}'></td>\n";
print "</tr></table>\n";

print "<hr>\n";
&footer("list_hosts.cgi", $text{'hosts_return'},
	"", $text{'index_return'});

0707010004f4dd000081e40000000000000002000000013d1fe2e50000168c000000200000000000000000000000000000001900000003reloc/sshd/edit_misc.cgi  #!/usr/local/bin/perl
# edit_misc.cgi
# Display all other SSHd options

require './sshd-lib.pl';
&header($text{'misc_title'}, "", "misc");
print "<hr>\n";
$conf = &get_sshd_config();

print "<form action=save_misc.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'misc_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&scmd();
$x11 = &find_value("X11Forwarding", $conf);
print "<td><b>$text{'misc_x11'}</b></td> <td>\n";
if ($version{'type'} eq 'ssh') {
	printf "<input type=radio name=x11 value=1 %s> %s\n",
		lc($x11) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=x11 value=0 %s> %s</td>\n",
		lc($x11) eq 'no' ? "checked" : "", $text{'no'};
	}
else {
	printf "<input type=radio name=x11 value=1 %s> %s\n",
		lc($x11) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=x11 value=0 %s> %s</td>\n",
		lc($x11) eq 'yes' ? "" : "checked", $text{'no'};
	}
&ecmd();

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	&scmd();
	$xoff = &find_value("X11DisplayOffset", $conf);
	print "<td><b>$text{'misc_xoff'}</b></td> <td>\n";
	printf "<input type=radio name=xoff_def value=1 %s> %s\n",
		$xoff ? "" : "checked", $text{'default'};
	printf "<input type=radio name=xoff_def value=0 %s>\n",
		$xoff ? "checked" : "";
	print "<input name=xoff size=4 value='$xoff'></td>\n";
	&ecmd();

	if ($version{'type'} eq 'ssh' || $version{'number'} >= 2) {
		&scmd(1);
		$xauth = &find_value("XAuthLocation", $conf);
		print "<td><b>$text{'misc_xauth'}</b></td> <td colspan=3>\n";
		printf "<input type=radio name=xauth_def value=1 %s> %s\n",
			$xauth ? "" : "checked", $text{'default'};
		printf "<input type=radio name=xauth_def value=0 %s>\n",
			$xauth ? "checked" : "";
		print "<input name=xauth size=50 value='$xauth'></td>\n";
		&ecmd();
		}
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd();
	$umask = &find_value("Umask", $conf);
	print "<td><b>$text{'misc_umask'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=umask_def value=1 %s> %s\n",
		$umask ? "" : "checked", $text{'misc_umask_def'};
	printf "<input type=radio name=umask_def value=0 %s>\n",
		$umask ? "checked" : "";
	print "<input name=umask size=4 value='$umask'></td>\n";
	&ecmd();
	}

&scmd();
$syslog = &find_value("SyslogFacility", $conf);
print "<td><b>$text{'misc_syslog'}</b></td> <td>\n";
printf "<input type=radio name=syslog_def value=1 %s> %s\n",
	$syslog ? "" : "checked", $text{'default'};
printf "<input type=radio name=syslog_def value=0 %s>\n",
	$syslog ? "checked" : "";
print "<select name=syslog>\n";
foreach $s (DAEMON, USER, AUTH, LOCAL0,  LOCAL1,  LOCAL2,  LOCAL3,
            LOCAL4,  LOCAL5,  LOCAL6,  LOCAL7) {
	printf "<option %s>%s\n",
		lc($s) eq lc($syslog) ? 'selected' : '', $s;
	}
print "</select></td>\n";
&ecmd();

if ($version{'type'} eq 'openssh') {
	&scmd();
	$loglevel = &find_value("LogLevel", $conf);
	print "<td><b>$text{'misc_loglevel'}</b></td> <td>\n";
	printf "<input type=radio name=loglevel_def value=1 %s> %s\n",
		$loglevel ? "" : "checked", $text{'default'};
	printf "<input type=radio name=loglevel_def value=0 %s>\n",
		$loglevel ? "checked" : "";
	print "<select name=loglevel>\n";
	foreach $s (QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG) {
		printf "<option %s>%s\n",
			lc($s) eq lc($loglevel) ? 'selected' : '', $s;
		}
	print "</select></td>\n";
	&ecmd();
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	&scmd();
	$bits = &find_value("ServerKeyBits", $conf);
	print "<td><b>$text{'misc_bits'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=bits_def value=1 %s> %s\n",
		$bits ? "" : "checked", $text{'default'};
	printf "<input type=radio name=bits_def value=0 %s>\n",
		$bits ? "checked" : "";
	print "<input name=bits size=4 value='$bits'> $text{'bits'}</td>\n";
	&ecmd();
	}

if ($version{'type'} eq 'ssh') {
	&scmd();
	$quiet = &find_value("QuietMode", $conf);
	print "<td><b>$text{'misc_quiet'}</b></td> <td>\n";
	printf "<input type=radio name=quiet value=1 %s> %s\n",
		lc($quiet) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=quiet value=0 %s> %s</td>\n",
		lc($quiet) eq 'no' ? "checked" : "", $text{'no'};
	&ecmd();
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	&scmd();
	$regen = &find_value("KeyRegenerationInterval", $conf);
	print "<td><b>$text{'misc_regen'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=regen_def value=1 %s> %s\n",
		$regen ? "" : "checked", $text{'misc_regen_def'};
	printf "<input type=radio name=regen_def value=0 %s>\n",
		$regen ? "checked" : "";
	print "<input name=regen size=6 value='$regen'> $text{'secs'}</td>\n";
	&ecmd();
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd();
	$fascist = &find_value("FascistLogging", $conf);
	print "<td><b>$text{'misc_fascist'}</b></td> <td>\n";
	printf "<input type=radio name=fascist value=1 %s> %s\n",
		lc($fascist) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=fascist value=0 %s> %s</td>\n",
		lc($fascist) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	if ($version{'type'} eq 'ssh' || $version{'number'} >= 2) {
		&scmd(1);
		$pid = &find_value("PidFile", $conf);
		print "<td><b>$text{'misc_pid'}</b></td> <td colspan=3>\n";
		printf "<input type=radio name=pid_def value=1 %s> %s\n",
			$pid ? "" : "checked", $text{'default'};
		printf "<input type=radio name=pid_def value=0 %s>\n",
			$pid ? "checked" : "";
		print "<input name=pid size=50 value='$pid'></td>\n";
		&ecmd();
		}
	}

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010004f4de000081e40000000000000002000000013d1fe2e5000010f4000000200000000000000000000000000000001800000003reloc/sshd/edit_net.cgi   #!/usr/local/bin/perl
# edit_net.cgi
# Display networking related SSHd options

require './sshd-lib.pl';
&header($text{'net_title'}, "", "net");
print "<hr>\n";
$conf = &get_sshd_config();

print "<form action=save_net.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'net_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&scmd();
$listen = &find_value("ListenAddress", $conf);
print "<td><b>$text{'net_listen'}</b></td> <td>\n";
printf "<input type=radio name=listen_def value=1 %s> %s\n",
	$listen ? "" : "checked", $text{'net_listen_def'};
printf "<input type=radio name=listen_def value=0 %s>\n",
	$listen ? "checked" : "";
print "<input name=listen size=15 value='$listen'></td>\n";
&ecmd();

&scmd();
$port = &find_value("Port", $conf);
print "<td><b>$text{'net_port'}</b></td> <td>\n";
printf "<input type=radio name=port_def value=1 %s> %s (22)\n",
	$port ? "" : "checked", $text{'default'};
printf "<input type=radio name=port_def value=0 %s>\n",
	$port ? "checked" : "";
print "<input name=port size=6 value='$port'></td>\n";
&ecmd();

if ($version{'type'} eq 'openssh' && $version{'number'} >= 2) {
	&scmd();
	$prots = &find_value("Protocol", $conf);
	@prots = $prots ? split(/,/, $prots) :
		 $version{'number'} >= 2.9 ? (1, 2) : (1);
	print "<td><b>$text{'net_prots'}</b></td> <td>\n";
	foreach $p (1, 2) {
		printf "<input type=checkbox name=prots value=%s %s> %s\n",
			$p, &indexof($p, @prots) >= 0 ? "checked" : "",
			$text{"net_prots_$p"};
		}
	print "</td>\n";
	&ecmd();
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd();
	$idle = &find_value("IdleTimeout", $conf);
	if ($idle =~ /^(\d+)([smhdw])$/i) {
		$idle = $1; $units = $2;
		}
	print "<td><b>$text{'net_idle'}</b></td> <td>\n";
	printf "<input type=radio name=idle_def value=1 %s> %s\n",
		$idle ? "" : "checked", $text{'default'};
	printf "<input type=radio name=idle_def value=0 %s>\n",
		$idle ? "checked" : "";
	print "<input name=idle size=6 value='$idle'>\n";
	print "<select name=idle_units>\n";
	foreach $u ('s', 'm', 'h', 'd', 'w') {
		printf "<option value=%s %s>%s\n",
			$u, $units eq $u ? 'selected' : '',
			$text{"net_idle_$u"};
		}
	print "</select></td>\n";
	&ecmd();
	}

&scmd();
$keep = &find_value("KeepAlive", $conf);
print "<td><b>$text{'net_keep'}</b></td> <td>\n";
printf "<input type=radio name=keep value=1 %s> %s\n",
	lc($keep) eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=keep value=0 %s> %s</td>\n",
	lc($keep) eq 'no' ? "checked" : "", $text{'no'};
&ecmd();

&scmd();
$grace = &find_value("LoginGraceTime", $conf);
print "<td><b>$text{'net_grace'}</b></td> <td>\n";
printf "<input type=radio name=grace_def value=1 %s> %s\n",
	$grace ? "" : "checked", $text{'net_grace_def'};
printf "<input type=radio name=grace_def value=0 %s>\n",
	$grace ? "checked" : "";
print "<input name=grace size=6 value='$grace'> $text{'net_grace_s'}</td>\n";
&ecmd();

if ($version{'type'} ne 'openssh' || $version{'number'} >= 2) {
	&scmd();
	$tcp = &find_value("AllowTcpForwarding", $conf);
	print "<td><b>$text{'net_tcp'}</b></td> <td>\n";
	printf "<input type=radio name=tcp value=1 %s> %s\n",
		lc($tcp) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=tcp value=0 %s> %s</td>\n",
		lc($tcp) eq 'no' ? "checked" : "", $text{'no'};
	&ecmd();
	}

if ($version{'type'} eq 'openssh' && $version{'number'} >= 2) {
	&scmd();
	$gateway = &find_value("GatewayPorts", $conf);
	print "<td><b>$text{'net_gateway'}</b></td> <td>\n";
	printf "<input type=radio name=gateway value=1 %s> %s\n",
		lc($gateway) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=gateway value=0 %s> %s</td>\n",
		lc($gateway) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();

	if ($version{'number'} > 2.3) {
		&scmd();
		$reverse = &find_value("ReverseMappingCheck", $conf);
		print "<td><b>$text{'net_reverse'}</b></td> <td>\n";
		printf "<input type=radio name=reverse value=1 %s> %s\n",
			lc($reverse) eq 'yes' ? "checked" : "", $text{'yes'};
		printf "<input type=radio name=reverse value=0 %s> %s</td>\n",
			lc($reverse) eq 'yes' ? "" : "checked", $text{'no'};
		&ecmd();
		}
	}

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010004f4df000081e40000000000000002000000013d1fe2e50000038a000000200000000000000000000000000000001900000003reloc/sshd/edit_sync.cgi  #!/usr/local/bin/perl
# edit_sync.cgi
# Display options for the automatic setting up of SSH for new users

require './sshd-lib.pl';
&header($text{'sync_title'}, "");
print "<hr>\n";

print "<form action=save_sync.cgi>\n";
print "$text{'sync_desc'}<p>\n";

printf "<input type=checkbox name=create value=1 %s> %s<br>\n",
	$config{'sync_create'} ? 'checked' : '', $text{'sync_create'};
printf "%s <input type=checkbox name=auth value=1 %s> %s<br>\n",
	("&nbsp;" x 5), $config{'sync_auth'} ? 'checked' : '', $text{'sync_auth'};
printf "%s <input type=checkbox name=pass value=1 %s> %s<p>\n",
	("&nbsp;" x 5), $config{'sync_pass'} ? 'checked' : '', $text{'sync_pass'};

#printf "<input type=checkbox name=gnupg value=1 %s> %s<p>\n",
#	$config{'sync_gnupg'} ? 'checked' : '', $text{'sync_gnupg'};

print "<input type=submit value='$text{'save'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010004f4e0000081e40000000000000002000000013d1fe2e5000023a6000000200000000000000000000000000000001a00000003reloc/sshd/edit_users.cgi #!/usr/local/bin/perl
# edit_users.cgi
# Display user and group related SSHd options

require './sshd-lib.pl';
&header($text{'users_title'}, "", "users");
print "<hr>\n";
$conf = &get_sshd_config();

print "<form action=save_users.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'users_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd();
	$expire = &find_value("AccountExpireWarningDays", $conf);
	print "<td><b>$text{'users_expire'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=expire_def value=1 %s> %s\n",
		$expire ? "" : "checked", $text{'users_expire_def'};
	printf "<input type=radio name=expire_def value=0 %s>\n",
		$expire ? "checked" : "";
	print "<input name=expire size=3 value='$expire'></td>\n";
	&ecmd();
	}

$mail = &find_value("CheckMail", $conf);
print "<td><b>$text{'users_mail'}</b></td> <td>\n";
if ($version{'type'} eq 'ssh') {
	&scmd();
	printf "<input type=radio name=mail value=1 %s> %s\n",
		lc($mail) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=mail value=0 %s> %s</td>\n",
		lc($mail) eq 'no' ? "checked" : "", $text{'no'};
	&ecmd();
	}
elsif ($version{'number'} < 3.1) {
	&scmd();
	printf "<input type=radio name=mail value=1 %s> %s\n",
		lc($mail) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=mail value=0 %s> %s</td>\n",
		lc($mail) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();
	}

# XXX are these supported?
#$empty = &find_value("ForcedEmptyPasswdChange", $conf);
#print "<tr> <td><b>$text{'users_empty'}</b></td> <td>\n";
#printf "<input type=radio name=empty value=1 %s> %s\n",
#	lc($empty) eq 'yes' ? "checked" : "", $text{'yes'};
#printf "<input type=radio name=empty value=0 %s> %s</td>\n",
#	lc($empty) eq 'yes' ? "" : "checked", $text{'no'};

#$passwd = &find_value("ForcedPasswdChange", $conf);
#print "<td><b>$text{'users_passwd'}</b></td> <td>\n";
#printf "<input type=radio name=passwd value=1 %s> %s\n",
#	lc($passwd) eq 'no' ? "" : "checked", $text{'yes'};
#printf "<input type=radio name=passwd value=0 %s> %s</td> </tr>\n",
#	lc($passwd) eq 'no' ? "checked" : "", $text{'no'};

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&scmd();
	$pexpire = &find_value("PasswordExpireWarningDays", $conf);
	print "<td><b>$text{'users_pexpire'}</b></td> <td nowrap>\n";
	printf "<input type=radio name=pexpire_def value=1 %s> %s\n",
		$pexpire ? "" : "checked", $text{'users_pexpire_def'};
	printf "<input type=radio name=pexpire_def value=0 %s>\n",
		$pexpire ? "checked" : "";
	print "<input name=pexpire size=3 value='$pexpire'></td>\n";
	&ecmd();
	}

&scmd();
$auth = &find_value("PasswordAuthentication", $conf);
print "<td><b>$text{'users_auth'}</b></td> <td>\n";
printf "<input type=radio name=auth value=1 %s> %s\n",
	lc($auth) eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=auth value=0 %s> %s</td>\n",
	lc($auth) eq 'no' ? "checked" : "", $text{'no'};
&ecmd();

&scmd();
$pempty = &find_value("PermitEmptyPasswords", $conf);
print "<td><b>$text{'users_pempty'}</b></td> <td>\n";
if ($version{'type'} eq 'ssh') {
	printf "<input type=radio name=pempty value=1 %s> %s\n",
		lc($pempty) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=pempty value=0 %s> %s</td>\n",
		lc($pempty) eq 'no' ? "checked" : "", $text{'no'};
	}
else {
	printf "<input type=radio name=pempty value=1 %s> %s\n",
		lc($pempty) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=pempty value=0 %s> %s</td>\n",
		lc($pempty) eq 'yes' ? "" : "checked", $text{'no'};
	}
&ecmd();

&scmd();
$root = &find_value("PermitRootLogin", $conf);
print "<td><b>$text{'users_root'}</b></td> <td><select name=root>\n";
printf "<option value=yes %s> %s\n",
	lc($root) eq 'yes' || !$root ? "selected" : "", $text{'yes'};
printf "<option value=no %s> %s\n",
	lc($root) eq 'no' ? "selected" : "", $text{'no'};
if ($version{'type'} eq 'ssh') {
	printf "<option value=nopwd %s> %s\n",
		lc($root) eq 'nopwd' ? "selected" : "", $text{'users_nopwd'};
	}
else {
	printf "<option value=without-password %s> %s\n",
		lc($root) eq 'without-password' ? "selected" : "",
		$text{'users_nopwd'};
	if ($version{'number'} >= 2) {
		printf "<option value=forced-commands-only %s> %s\n",
			lc($root) eq 'forced-commands-only' ? "selected" : "",
			$text{'users_fcmd'};
		}
	}
print "</select></td>\n";
&ecmd();

&scmd();
$rsa = &find_value("RSAAuthentication", $conf);
print "<td><b>$text{'users_rsa'}</b></td> <td>\n";
printf "<input type=radio name=rsa value=1 %s> %s\n",
	lc($rsa) eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=rsa value=0 %s> %s</td>\n",
	lc($rsa) eq 'no' ? "checked" : "", $text{'no'};
&ecmd();

&scmd();
$strict = &find_value("StrictModes", $conf);
print "<td><b>$text{'users_strict'}</b></td> <td>\n";
printf "<input type=radio name=strict value=1 %s> %s\n",
	lc($strict) eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=strict value=0 %s> %s</td>\n",
	lc($strict) eq 'no' ? "checked" : "", $text{'no'};
&ecmd();

&scmd();
$motd = &find_value("PrintMotd", $conf);
print "<td><b>$text{'users_motd'}</b></td> <td>\n";
printf "<input type=radio name=motd value=1 %s> %s\n",
	lc($motd) eq 'no' ? "" : "checked", $text{'yes'};
printf "<input type=radio name=motd value=0 %s> %s</td>\n",
	lc($motd) eq 'no' ? "checked" : "", $text{'no'};
&ecmd();

if ($version{'type'} eq 'openssh') {
	&scmd();
	$known = &find_value("IgnoreUserKnownHosts", $conf);
	print "<td><b>$text{'users_known'}</b></td> <td>\n";
	printf "<input type=radio name=known value=1 %s> %s\n",
		lc($known) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=known value=0 %s> %s</td>\n",
		lc($known) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();

	if ($version{'number'} > 2.3) {
		&scmd(1);
		$banner = &find_value("Banner", $conf);
		print "<td><b>$text{'users_banner'}</b></td> <td colspan=3>\n";
		printf "<input type=radio name=banner_def value=1 %s> %s\n",
			$banner ? "" : "checked", $text{'users_banner_def'};
		printf "<input type=radio name=banner_def value=0 %s>\n",
			$banner ? "checked" : "";
		print "<input name=banner size=40 value='$banner'></td>\n";
		&ecmd();
		}
	}
elsif ($version{'type'} eq 'ssh' && $version{'number'} >= 2) {
	&scmd(1);
	$banner = &find_value("BannerMessageFile", $conf);
	print "<td><b>$text{'users_banner'}</b></td> <td colspan=3>\n";
	printf "<input type=radio name=banner_def value=1 %s> %s\n",
		$banner ? "" : "checked", $text{'users_banner_def'};
	printf "<input type=radio name=banner_def value=0 %s>\n",
		$banner ? "checked" : "";
	print "<input name=banner size=40 value='$banner'></td>\n";
	&ecmd();
	}

&scmd(1);
print "<td colspan=4><hr></td>\n";
&ecmd();

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	&scmd();
	$rhostsauth = &find_value("RhostsAuthentication", $conf);
	print "<td><b>$text{'users_rhostsauth'}</b></td> <td>\n";
	printf "<input type=radio name=rhostsauth value=1 %s> %s\n",
		lc($rhostsauth) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=rhostsauth value=0 %s> %s</td>\n",
		lc($rhostsauth) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();

	&scmd();
	$rhostsrsa = &find_value("RhostsRSAAuthentication", $conf);
	print "<td><b>$text{'users_rhostsrsa'}</b></td> <td>\n";
	if ($version{'type'} eq 'ssh') {
		printf "<input type=radio name=rhostsrsa value=1 %s> %s\n",
			lc($rhostsrsa) eq 'no' ? "" : "checked", $text{'yes'};
		printf "<input type=radio name=rhostsrsa value=0 %s> %s</td>\n",
			lc($rhostsrsa) eq 'no' ? "checked" : "", $text{'no'};
		}
	else {
		printf "<input type=radio name=rhostsrsa value=1 %s> %s\n",
			lc($rhostsrsa) eq 'yes' ? "checked" : "", $text{'yes'};
		printf "<input type=radio name=rhostsrsa value=0 %s> %s</td>\n",
			lc($rhostsrsa) eq 'yes' ? "" : "checked", $text{'no'};
		}
	&ecmd();
	}

&scmd();
$rhosts = &find_value("IgnoreRhosts", $conf);
print "<td><b>$text{'users_rhosts'}</b></td> <td>\n";
if ($version{'type'} eq 'ssh') {
	printf "<input type=radio name=rhosts value=1 %s> %s\n",
		lc($rhosts) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=rhosts value=0 %s> %s</td>\n",
		lc($rhosts) eq 'yes' ? "" : "checked", $text{'no'};
	}
else {
	printf "<input type=radio name=rhosts value=1 %s> %s\n",
		lc($rhosts) eq 'no' ? "" : "checked", $text{'yes'};
	printf "<input type=radio name=rhosts value=0 %s> %s</td>\n",
		lc($rhosts) eq 'no' ? "checked" : "", $text{'no'};
	}
&ecmd();

if ($version{'type'} eq 'ssh') {
	&scmd();
	$rrhosts = &find_value("IgnoreRootRhosts", $conf);
	print "<td><b>$text{'users_rrhosts'}</b></td> <td>\n";
	printf "<input type=radio name=rrhosts value=1 %s> %s\n",
		lc($rrhosts) eq 'yes' ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=rrhosts value=0 %s> %s</td>\n",
		lc($rrhosts) eq 'yes' ? "" : "checked", $text{'no'};
	&ecmd();
	}

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100050b80000041ed0000000000000001000000023d1ffb6900000000000000200000000000000000000000000000001000000003reloc/sshd/help   07070100050b81000081a40000000000000002000000013d1fe2e500000320000000200000000000000000000000000000001f00000003reloc/sshd/help/access.ca.html    <header>Control d'Accés</header>

En aquesta pàgina podràs configurar una o dues menes de control d'accés,
depenent de la versió de SSH que facis servir.
<p>

Per un control d'accés basat en host, pots permetre o denegar hosts
introduint una llista de noms de host (com <tt>www*.foo.com</tt>), adreces IP
o patrons (com <tt>*.foo.com</tt>). Aquesta mena de control d'accés, però,
no està suportada per totes les versions de servidors SSH.
<p>

Per un control basat en usuaris o grups, els noms d'usuaris poden ser comptes
locals (com <tt>jcameron</tt>), patrons (com <tt>jcam*</tt>) o una combinació
del nom d'usuari i el nom de host (com <tt>jcameron@www.foo.com</tt>). 
Els grups permesos o denegats també poden ser noms de grups simples o patrons,
però no poden incloure noms de host.
<p>

<hr>


07070100050b82000081a40000000000000002000000013d1fe2e500000304000000200000000000000000000000000000001c00000003reloc/sshd/help/access.html   <header>Access Control</header>

Depending on the version of SSH that you are using, one or two kinds
of access control can be setup on this page. <p>

For host based access control, you can allow or deny hosts by entering
a list of hostnames (like <tt>www.foo.com</tt>), IP addresses or hostname
patterns (like <tt>*.foo.com</tt>). This kind of access control is not
supported by all SSH server versions though. <p>

For user or group based access control, user names can be either local
login accounts (like <tt>jcameron</tt>), account patterns (like <tt>jcam*</tt>)
or a combination of login and client hostname (like
<tt>jcameron@www.foo.com</tt>). Allowed or denied groups can also be
plain group names or group name patterns, but cannot include hostnames. <p>
<hr>

07070100050b83000081a40000000000000002000000013d1fe2e50000036e000000200000000000000000000000000000001f00000003reloc/sshd/help/access.pl.html    <header>Kontrola dostêpu</header>

W&nbsp;zale¿no¶ci od u¿ywanej wersji SSH, mo¿na na tej stronie ustawiæ jeden
lub dwa rodzaje kontroli dostêpu. <p>

Dla kontroli dostêpu opartej na hostach, mo¿na zezwoliæ lub zabroniæ dostêpu
z&nbsp;hostów poprzez wprowadzenie listy nazw hostów
(np. <tt>www.foo.com</tt>), adresów IP lub wzorców nazw hostów
(np. <tt>*.foo.com</tt>). Ten rodzaj kontroli dostêpu nie jest jednak¿e
obs³ugiwany przez wszystkie wersje serwerów SSH. <p>

Dla kontroli dostêpu opartej na u¿ytkownikach i&nbsp;grupach, nazwami
u¿ytkowników mog± byæ zarówno lokalne konta (np. <tt>jcameron</tt>), jak te¿
wzorce kont (np. <tt>jcam*</tt>), czy kombinacje loginu i&nbsp;nazwy hosta
klienta (np. <tt>jcameron@www.foo.com</tt>). Dozwolone i&nbsp;zabronione
grupy mog± równie¿ byæ czystymi nazwami grup lub wzorcami dla grup, ale nie
mog± zawieraæ nazw hostów. <p>
<hr>

  07070100050b84000081a40000000000000002000000013d1fe2e500000044000000200000000000000000000000000000001e00000003reloc/sshd/help/chost.ca.html <header>Opcions de Creació de Host</header>

<include host>

<hr>


07070100050b85000081a40000000000000002000000013d1fe2e50000003b000000200000000000000000000000000000001b00000003reloc/sshd/help/chost.html    <header>Create Host Options</header>

<include host>
<hr>

 07070100050b86000081a40000000000000002000000013d1fe2e50000003e000000200000000000000000000000000000001e00000003reloc/sshd/help/chost.pl.html <header>Utwórz opcje dla hosta</header>

<include host>
<hr>

  07070100050b87000081a40000000000000002000000013d1fe2e500000042000000200000000000000000000000000000001e00000003reloc/sshd/help/ehost.ca.html <header>Edició d'Opcions de Host</header>

<include host>

<hr>


  07070100050b88000081a40000000000000002000000013d1fe2e500000039000000200000000000000000000000000000001b00000003reloc/sshd/help/ehost.html    <header>Edit Host Options</header>

<include host>
<hr>

   07070100050b89000081a40000000000000002000000013d1fe2e50000003d000000200000000000000000000000000000001e00000003reloc/sshd/help/ehost.pl.html <header>Zmieñ opcje dla hosta</header>

<include host>
<hr>

   07070100050b8a000081a40000000000000002000000013d1fe2e500000646000000200000000000000000000000000000001d00000003reloc/sshd/help/host.ca.html  Aquesta pàgina mostra les opcions per a un sol host, per als hosts que
coincideixen amb algun patró, o per a tots els hosts. Algunes de les 
opcions menys evidents són:

<dl>
   <dt><b>Entra com usuari</b>
   <dd>Normalment, si no s'ha donat cap nom d'usuari a la línia d'ordres
       <tt>ssh</tt>, es fa servir el nom de l'usuari actual per entrar al
       servidor SSH remot. No obstant, aquesta opció es pot fer servir 
       per especificar un nom d'usuari per defecte diferent per a un host
       o hosts particulars.
       <p>
   <dt><b>Caràcter d'escap</b>
   <dd>En establir una entrada SSH interactiva, el caràcter d'escap es pot
       fer servir tallar la connexió i tancar-la i suspendre-la.
       <p>
   <dt><b>Comprimeix el trànsit SSH</b>
   <dd>Si aquesta opció està activada, el client SSH comprimirà les dades
       enviades a aquest host amb l'algoritme <tt>gzip</tt>. Això pot ser
       útil si està copiant fitxers grans amb <tt>scp</tt> sobre un enllaç
       lent.
       <p>
   <dt><b>Ports locals per reenviar al servidor</b>
   <dd>En aquesta taula pots introduir número de port locals que seran
       reenviats a algun host i port per part del servidor SSH. Això pot
       ser útil si el teu únic accés a la xarxa és a través de SSH a una
       màquina en aquesta xarxa, i vols accedir altres serveis com servidors
       web o POP3.
       <p>
   <dt><b>Ports del servidor per reenviar a local</b>
   <dd>En aquesta taula pots introduir els números de port del servidor
       que es reenviaran a algun host i port de la xarxa de la màquina client.
       <p>
</dl>

  07070100050b8b000081a40000000000000002000000013d1fe2e50000057b000000200000000000000000000000000000001a00000003reloc/sshd/help/host.html This page displays options for either a single host, hosts whose names
match some pattern, or all hosts. Some of the less obvious options are :

<dl>
<dt><b>Login as user</b>
<dd>Normally if no username is given on the <tt>ssh</tt> command line, the
    name of the current user is used to login to the remote SSH server.
    However, this option can be used to specify a different default username
    for a particular host or hosts. <p>

<dt><b>Escape character</b>
<dd>When making an interactive SSH login, the escape character can be used
    to break out of the connection and close or suspend it. <p>

<dt><b>Compress SSH traffic?</b>
<dd>If this option is enabled, the SSH client will compress all data
    sent to this host with the <tt>gzip</tt> algorithm. This can be useful
    if you are copying large files with <tt>scp</tt> over a slow link. <p>

<dt><b>Local ports to forward to server</b>
<dd>In this table you can enter local port numbers which will be forwarded
    to some host and port by the SSH server. This can be useful if your
    only access to some network is via SSH login to one machine on that
    network, and you want to access other services like web or POP servers. <p>

<dt><b>Server ports to forward to local</b>
<dd>In this table you can enter port numbers on the server which will be
    forwarded to some host and port on the client machine's network. <p>

</dl>

 07070100050b8c000081a40000000000000002000000013d1fe2e5000005f7000000200000000000000000000000000000001d00000003reloc/sshd/help/host.pl.html  Ta strona opisuje opcje zarówno dla pojedynczego hosta, dla hostów
o&nbsp;nazwach pasuj±cych do pewnego wzorca, jak i dla wszystkich hostów.
Pewnymi mniej oczywistymi opcjami s±&nbsp;:

<dl>
<dt><b>Logowaæ jako u¿ytkownik</b>
<dd>Normalnie, gdy w linii polecenia <tt>ssh</tt> nie poda siê nazwy
    u¿ytkownika, do logowania na zdalnym serwerze SSH wykorzystywana jest
    nazwa aktualnego u¿ytkownika. Jednak¿e, za pomoc± tej opcji mo¿na podaæ
    inn± domy¶ln± nazwê u¿ytkownika dla wybranego hosta lub hostów. <p> 

<dt><b>Znak ucieczki</b>
<dd>Znak ucieczki s³u¿y do przerwania interaktywnego po³±czenia SSH
    w&nbsp;celu jego zamkniecia lub wstrzymania. <p>

<dt><b>Kompresja ruchu SSH?</b>
<dd>Je¶li ta opcja zostanie w³±czona, klient SSH bêdzie kompresowa³ wszelkie
    dane przesy³ane do danego hosta za pomoc± algorytmu <tt>gzip</tt>. Mo¿e to
    byæ przydatne, gdy siê kopiuje du¿e pliki za pomoc± <tt>scp</tt> poprzez
    wolne ³±cze. <p>

<dt><b>Przekazywane do serwera porty lokalne</b>
<dd>Do tej tablicy mo¿na wprowadziæ numery portów lokalnych, które bêd±
    przekazywane do pewnego hosta i&nbsp;port obs³uguj±cego je serwera SSH.
    Mo¿e to byæ przydatne, gdy masz jedynie dostêp do pewnej sieci loguj±c
    siê przez SSH, a&nbsp;chcesz uzyskaæ dostêp do innych us³ug, jak serwery
    WWW czy POP. <p>

<dt><b>Porty serwera przekazywane lokalnie</b>
<dd>Do tej tablicy mo¿na wprowadziæ numery portów na serwerze, które bêd±
    przekazywane do pewnego hosta oraz port sieci maszyny klienckiej. <p>

</dl>

 07070100050b8d000081a40000000000000002000000013d1fe2e5000002b5000000200000000000000000000000000000001e00000003reloc/sshd/help/hosts.ca.html <header>Opcions de Host Client</header>

Aquesta pàgina mostra els hosts i els patrons de host pels quals s'han
definit les opcions de client SSH. Aquestes es fan servir quan el programa
client SSH s'executa en el teu sistema per accedir a un altre host SSH,
de manera que el conjunt d'opcions que s'aplica ve determinat pel nom
de host especificat a l'ordre <tt>ssh</tt>
<p>

Normalment, per defecte, les úniques opcions definides seran aquelles
que s'apliquen a tots els hosts clients. No obstant, pots crear conjunts
addicionals d'opcions per tal de controlar com accedeixen els usuaris a
altres servidor específics o servidors els noms dels quals coincideixen
amb algun patró.
<p>

<hr>


   07070100050b8e000081a40000000000000002000000013d1fe2e500000253000000200000000000000000000000000000001b00000003reloc/sshd/help/hosts.html    <header>Client Host Options</header>

This page displays hosts and host patterns for which SSH client options
have been defined. These are used when the SSH client program is run
on your system to login to another SSH server, with the set of options
that apply being determined by the hostname specified in the <tt>ssh</tt>
command. <p>

Normally by default the only options defined will be those that apply
to all client hosts. However, you can create additional sets of options
in order to control how users login to other specific servers or servers
whose names match some pattern. <p>

<hr>
 07070100050b8f000081a40000000000000002000000013d1fe2e500000253000000200000000000000000000000000000001e00000003reloc/sshd/help/hosts.pl.html <header>Client Host Options</header>

This page displays hosts and host patterns for which SSH client options
have been defined. These are used when the SSH client program is run
on your system to login to another SSH server, with the set of options
that apply being determined by the hostname specified in the <tt>ssh</tt>
command. <p>

Normally by default the only options defined will be those that apply
to all client hosts. However, you can create additional sets of options
in order to control how users login to other specific servers or servers
whose names match some pattern. <p>

<hr>
 07070100050b90000081a40000000000000002000000013d1fe2e50000044a000000200000000000000000000000000000001e00000003reloc/sshd/help/intro.ca.html <header>Servidor SSH</header>

SSH és un protocol que permet els usuaris d'entrar a la teva màquina
a través d'una xarxa, com ara telnet. No obstant, totes les connexions
SSH són xifrades autenticades als dos extrems, per evitar que els 
atacants capturin contrasenyes o redireccionin entrades SSH a un altre
servidor.
<p>

Com que SSH es pot configurar per fer servir claus RSA per autenticació
en lloc del nom d'usuari i contrasenya normals utilitzats per telnet,
els usuaris poden entrar en un servidor remot sense necessitat d'introduir
cada cop la contrasenya. Això ofereix una conducta similar a RSH, però
sense els problemes de seguretat deguts a l'autenticació d'usuaris
basada només en la seva adreça IP.
<p>

Aquest mòdul permet configurar diverses opcions del servidor SSH instal·lat
al sistema, així com les opcions utilitzades quan un client estableix una
connexió a un altre servidor des del teu sistema. Després de fer qualsevol
canvi de les opcions del servidor, has de fer clic sobre el botó Aplica
els Canvis al peu de la pàgina per tal que els canvis tinguin efecte.
<p>

<hr>


  07070100050b91000081a40000000000000002000000013d1fe2e5000003e4000000200000000000000000000000000000001b00000003reloc/sshd/help/intro.html    <header>SSH Server</header>

SSH is a protocol which allows a users to login to your machine over
a network, much like telnet. However, all SSH connections are encrypted
and authenticated at both ends to prevent the attackers from capturing
passwords or redirecting an SSH login to another server. <p>

Because SSH can be setup to use RSA keys for authentication instead
of the normal username and password used by telnet, users can login to
a remote server without having to enter a password each time. This provides
similar behaviour to RSH, but without the security problems that come from
authenticating users based on their IP address alone. <p>

This module allows you to configure various options for the SSH server
installed on your system, as well as option used when an SSH client makes
a connection from your machine to another server. After making any server
option changes, you must click the Apply Changes button at the bottom of
the page for the changes to take effect. <p>

<hr>

07070100050b92000081a40000000000000002000000013d1fe2e500000454000000200000000000000000000000000000001e00000003reloc/sshd/help/intro.pl.html <header>Serwer SSH</header>

SSH jest protoko³em pozwalaj±cym u¿ytkownikom na logoanie siê na Twojej
maszynie poprzez sieæ, w zasadzie podobnie jak przez telnet. Jednak¿e,
wszystkie po³±czenia SSH s± szyfrowane i&nbsp;autoryzowane na obu koñcach,
aby zapobiec przechwyceniu hase³ przez napastników, czy przekierowaniu
logowania SSH do innego serwera. <p>

Ze wzglêdu na to, ¿e SSH mo¿na skonfigurowaæ na u¿ywanie do autoryzacji kluczy
RSA zamiast zwyk³ej nazwy u¿ytkownika i&nbsp;has³a u¿ywanych przez telnet,
u¿ytkownicy mog± logowaæ siê na zdalnym serwerze bez konieczno¶ci podawania 
za ka¿dym razem has³a. Zapewnia to zachowanie podobne do RSH, ale bez
problemów z&nbsp;bezpieczeñstwem zwi±zanych z&nbsp;autoryzacj± u¿ytkowników
na podstawie samego adresu IP. <p>

Ten modu³ pozwala ustawiæ ró¿ne opcje dla zainstalowanego w&nbsp;systemie
serwera SSH, jak te¿ opcje u¿ywane gdy klient SSH nawi±zuje po³±czenie do
innego serwera z&nbsp;Twojej maszyny. Po zmianie jakiejkolwiek opcji serwera,
aby zmiana zaczê³a obowi±zywaæ, musisz nacisn±æ przycisk Zastosuj zmiany
w&nbsp;dolnej czê¶ci strony. <p>

<hr>

07070100050b93000081a40000000000000002000000013d1fe2e50000042e000000200000000000000000000000000000001d00000003reloc/sshd/help/misc.ca.html  <header>Opcions Miscel·lànies</header>

Aquesta pàgina conté opcions que no encaixen a cap de les altres categories.
Algunes de les opcions menys òbvies -però útils- són:

<dl>
   <dt><b>Permet el reenviament del la connexió X11</b>
   <dd>Si és Sí, els usuaris que fan una entrada SSH des d'una màquina
       Unix podran executar aplicacions X al servidor i tenir la connexió
       X retornada a les seves pantalles locals a través de la connexió SSH.
       <p>
   <dt><b>Utilitat d'enregistrament del sistema</b>
   <dd>La utilitat <tt>syslog</tt> que es fa servir per enregistrar els
       error i missatges informatius del servidor SSH. Això es pot fer servir
       juntament amb el mòdul de Registres del Sistema per controlar quins
       missatges SSH s'escriuen i quins no.
       <p>
   <dt><b>Interval de regeneració de les claus del servidor</b>
   <dd>Com de sovint regenera el servidor SSH les claus utilitzades per
       xifrar les connexions. Si ets una mica paranoic respecte la 
       seguretat, posa-hi un número petit.
       <p>
</dl>

<hr>


  07070100050b94000081a40000000000000002000000013d1fe2e500000393000000200000000000000000000000000000001a00000003reloc/sshd/help/misc.html <header>Miscellaneous Options</header>

This page contains options that don't fit into any of the other categories.
Some of the less obvious options but useful are :

<dl>
<dt><b>Allow X11 connection forwarding?</b>
<dd>If set to Yes, users that make an SSH login from a Unix machine will be
    able to run X applications on the server and have the X connection
    tunnelled back through the SSH connection to their local display. <p>

<dt><b>System log facility</b>
<dd>The <tt>syslog</tt> facility that is used to log error and information
    messages from the SSH server. This can be used in conjunction with the
    System Logs module to control which file SSH messages get written to. <p>

<dt><b>Server key regeneration interval</b>
<dd>How often the SSH server re-generated the key used for encrypting
    connections. If you are paranoid about security, set this to a lower
    number. <p>

</dl>

<hr>

 07070100050b95000081a40000000000000002000000013d1fe2e500000407000000200000000000000000000000000000001d00000003reloc/sshd/help/misc.pl.html  <header>Opcje ró¿ne</header>

Ta strona zawiera opcje, które nie nale¿± do ¿adnej z&nbsp;pozosta³ych
kategorii. Niektórymi mniej oczywistymi, ale przydatnymi opcjami&nbsp;:

<dl>
<dt><b>Zezwalaæ na przekazywanie po³±czeñ X11?</b>
<dd>Gdy ustawiona na Tak, u¿ytkownicy nawi±zuj±cy po³±czenie z&nbsp;maszyny
    uniksowej bêd± mogli uruchamiaæ aplikacje X na serwerze, a po³±czenie X
    bêdzie tunelowane poprzez po³±czenie SSH z&nbsp;powrotem na ich lokalny
    ekran. <p>

<dt><b>Rodzaj logowania systemowego</b>
<dd>Kategoria u¿ywana przez <tt>syslog</tt>a do logowania b³êdów
    i&nbsp;komuniakatów informacyjnych od serwera SSH. Mo¿na tego u¿ywaæ
    w&nbsp;po³±czeniu z&nbsp;modu³em Logi systemowe do okre¶lenia,
    w&nbsp;jakim pliku bêd± zapisywane komunikaty SSH. <p>

<dt><b>Okres pomiêdzy generacjami klucza serwera</b>
<dd>Okre¶la, jak czêsto serwer SSH generuje ponownie klucz wykorzystywany do
    szyfrowania po³±czeñ. Je¶li masz paranojê na punkcie bezpieczeñstwa, ustaw
    tu mniejsz± warto¶æ. <p>

</dl>

<hr>

 07070100050b96000081a40000000000000002000000013d1fe2e500000377000000200000000000000000000000000000001c00000003reloc/sshd/help/net.ca.html   <header>Xarxa</header>

Aquesta pàgina és per a configurar les opcions de xarxa del servidor SSH.
Algunes de les opcions menys òbvies són:

<dl>
   <dt><b>Temps límit d'inacció</b>
   <dd>Si està establert i el client no ha enviat res durant aquest període,
       el client és desconnectat.
       <p>
   <dt><b>Desconnecta si el client ha caigut</b>
   <dd>Si és Sí, el servidor SSH comprovarà periòdicament si el client
       encara hi és. Si no (per culpa d'un error de xarxa o de caiguda de
       la màquina del client), serà desconnectat.
       <p>
   <dt><b>Permet el reenviament TCP</b>
   <dd>Si aquesta opció està establerta, els usuaris poden establir 
       connexions TCP des de les màquines client a les màquines de la xarxa
       del servidor, i també permetre connexions de tornada del servidor a 
       les màquines de la xarxa del client.
       <p>
<dl>

<hr>


 07070100050b97000081a40000000000000002000000013d1fe2e500000322000000200000000000000000000000000000001900000003reloc/sshd/help/net.html  <header>Networking</header>

This page is for configuring networking options for the SSH server. Some
of the less obvious options are :

<dl>
<dt><b>Idle timeout</b>
<dd>If this is set and there has been nothing sent by the client or server
    during the period set, the client will be disconnected. <p>

<dt><b>Disconnect if client has crashed?</b>
<dd>If set to Yes, the SSH server will periodically check to see if the
    client is still alive. If not (because of a network error or client machine
    crash) it will be disconnected. <p>

<dt><b>Allow TCP forwarding?</b>
<dd>If this option is set, users can tunnel TCP connections from client
    machines to machines on the server's network, and also allow connections
    back from the server to machines on the client network. <p>

<dl>
<hr>

  07070100050b98000081a40000000000000002000000013d1fe2e500000360000000200000000000000000000000000000001c00000003reloc/sshd/help/net.pl.html   <header>Sieæ</header>

Ta strona s³u¿y do ustawiania opcji sieciowych serwera SSH. Niektóre mniej
oczywiste opcje, to&nbsp;:

<dl>
<dt><b>Czas przeterminowania przy bezczynno¶ci</b>
<dd>Je¶li ta opcja jest ustawiona, a&nbsp;nic nie zosta³o przes³ane przez
    klienta ani przez serwer w&nbsp;ci±gu ustawionego okresu czasu, klient
    zostanie roz³±czony. <p>

<dt><b>Roz³±czaæ po padzie klienta?</b>
<dd>Je¶li ustawiona na Tak, serwer SSH bêdzie okresowo sprawdza³, czy klient
    wci±¿ funkcjonuje. Je¶li nie (ze wzglêdu na b³±d sieci lub za³amanie
    maszyny klienta) zostanie roz³±czony. <p>

<dt><b>Zezwalaæ na przekazywanie TCP?</b>
<dd>Je¶li ta opcja jest ustawiona, u¿ytkownicy mog± tunelowaæ po³±czenia TCP
    z&nbsp;maszyn klienckich do sieci serwera, jak te¿ zezwala na po³±czenia
    zwrotne z&nbsp;serwera do maszyn w sieci klienta. <p>

<dl>
<hr>

07070100050b99000081a40000000000000002000000013d1fe2e500000465000000200000000000000000000000000000001e00000003reloc/sshd/help/users.ca.html <header>Autenticació</header>

Aquesta pàgina és per configurar les opcions relacionades amb 
l'autenticació del servidor SSH. Algunes de les opcions menys òbvies són:

<dl>
   <dt><b>Permet l'autenticació amb contrasenya</b>
   <dd>Si és No, els usuaris hauran de tenir els seus directoris <tt>.ssh</tt>
       configurats amb una clau pública abans de poder connectar. Si és Sí,
       l'usuari tindrà permès d'introduir una contrasenya per autenticar-se
       si la validació no es fa amb una clau pública.
       <p>
   <dt><b>Permet autenticació RSA</b>
   <dd>Si és No, els usuaris sempre hauran d'introduir la seva contrasenya
       encara que tinguin configurada la seva clau pública.
       <p>
   <dt><b>Comprova els permisos dels fitxers de claus</b>
   <dd>Si és Sí, el servidor SSH comprovarà el directori <tt>.ssh</tt> de
       cada usuari, i qualsevol directori pare, per assegurar que no
       són modificables per grup; i el fitxer <tt>.ssh/identity</tt> per
       assegurar que no es llegible per ningú més. Si és No, no es fa la
       comprovació dels permisos dels fitxers.
       <p>
</dl>

<hr>


   07070100050b9a000081a40000000000000002000000013d1fe2e5000003f3000000200000000000000000000000000000001b00000003reloc/sshd/help/users.html    <header>Authentication</header>

This page is for configuring authentication-related options for your
SSH server. Some of the less obvious options are :

<dl>
<dt><b>Allow authentication by password</b>
<dd>If this is set to No, users will need to have their <tt>.ssh</tt> directory
    setup with a public key before being able to login. If set to Yes, the
    user will be allowed to enter a password for authentication if validation
    cannot be done using a public key. <p>

<dt><b>Allow RSA authentication?</b>
<dd>If this is set to No, users will always need to enter their password
    even if their public key has been set up. <p>

<dt><b>Check permissions on key files?</b>
<dd>If set to Yes, the SSH server will check each user's <tt>.ssh</tt>
    directory and any parent directories to make sure they are not group
    writable, and the <tt>.ssh/identity</tt> file to make sure it is not
    readable by anyone else. If set to No, no checking of file permissions
    will be done. <p>

</dl>
<hr>

 07070100050b9b000081a40000000000000002000000013d1fe2e5000004c7000000200000000000000000000000000000001e00000003reloc/sshd/help/users.pl.html <header>Autoryzacja</header>

Ta strona s³u¿y do ustawiania opcji zwi±zanych z&nbsp;autoryzacj± dla serwera
SSH. Niektórymi mniej oczywistymi opcjami s±&nbsp;:

<dl>
<dt><b>Zezwalaæ na autoryzacjê has³em</b>
<dd>Je¶li jest ona ustawiona na Nie, u¿ytkownicy bêd± musieli mieæ
    ustawione klucze publiczne w swoich katalogach <tt>.ssh</tt>, zanim
    uzyskaj± mo¿liwo¶æ zalogowania siê. Je¶li ustawione na Tak, u¿ytkownik
    bêdzie mia³ mo¿liwo¶æ podania has³a dla autoryzacji w&nbsp;wprzypadku
    niemo¿liwo¶ci weryfikacji za pomoc± klucza publicznego. <p>

<dt><b>Zezwalaæ na autoryzacjê RSA?</b>
<dd>Je¶li jest ona ustawiona na Nie, u¿ytkownicy bêd± zawsze musieli podawaæ
    swoje has³a, nawet gdy zostan± ustawione ich klucze publiczne. <p> 

<dt><b>Sprawdzaæ prawa dostêpu do plików z&nbsp;kluczami?</b>
<dd>Je¶li ustawione na Tak, serwer SSH bêdzie sprawdza³ katalogi <tt>.ssh</tt>
    u¿ytkowników i&nbsp;ich katalogi nadrzêdne, aby siê upewniæ, ¿e nie maj±
    one praw zapisu dla grupy, oraz czy plik <tt>.ssh/identity</tt>, aby siê
    upewniæ, ¿e nie ma on praw odczytu dla kogokolwiek innego. Je¶li ustawione
    na Nie, ¿adna kontrola praw dostêpu do plików nie bêdzie przeprowadzana.
    <p>

</dl>
<hr>

 070701000521ff000041ed0000000000000001000000023d1ffb6900000000000000200000000000000000000000000000001200000003reloc/sshd/images 07070100052200000081a40000000000000002000000013d1fe2e500000113000000200000000000000000000000000000001d00000003reloc/sshd/images/access.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100052201000081a40000000000000002000000013d1fe2e500000100000000200000000000000000000000000000001b00000003reloc/sshd/images/host.gif    GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ñ„©Ëíc´Ú‹³•Fûq %”æ‰¦*%’ê›,çÆ6:KõÍçSÀ
|F|«@ÈŒ%ËèiÚ¨ZKX†vÛ]|­aÅ8ZNœ™iÄúØ>¼…ñt›ªîø«“Æ×Çõ§(¨7„hØ·(ˆCø2éQHyYÑ!²IÃéIõª‡‰9òT:¹I1Ðúê;[A‹šªZH»+ÛÛÊÚk‰KùÃkì[4\ªä:ð=M]]ýk›Õœê`ýî-^nN-š®¾ÎÞî.Z  ;07070100052202000081a40000000000000002000000013d1fe2e5000000fb000000200000000000000000000000000000001c00000003reloc/sshd/images/hosts.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌ   ™™™!ù    ,    0 0  Ì„©Ëí£œ†‹³u†¢ÈuÑ7¦`i>¨:²móÂ¡</µ-ày²³ù~‡ lHUHâ²·‰^rÏgŒ*ä‘¨Ò‹ö–Ô}Wa…uË•¦ºQO`ðŽÃƒg°DŽ‡¯Ç½;üGÇ×t1pˆx(8Fè±Ç˜¤Y†PGFY´Æ¦aõøÕ¨“·Ú1Jª
è9éö–(«8ˆ™ùúãZê4ZëÄê…Û2ª'Üi˜hÙg«´ÉÉL¡
ÝÌìŒmHŒ‡Üg«í-<;;5n[  ; 07070100052203000081a40000000000000002000000013d1fe2e500000113000000200000000000000000000000000000001b00000003reloc/sshd/images/icon.gif    GIF87a0 0 ¡  ÿÿÿÌÌÌ™™™   ,    0 0  ì„©ËíS˜tÆ«¸« 0 Gãr–X*…êµÅîûÄÛL7Û0h³ 
‡ÄbPÃãU€Á„	„Ó©ÑYIö(Ìé×tÃÄÝ–+¾ª×f_ZËåíå{ŽÏŸmßð ñÇ¨§ÅgçG˜˜dˆæw ¨8²Öy©W)€É)§Ù	šôùøš÷‰Ú9šPjúj ë0§ºŠÙ
(;K
ëj{‡{©ûÈ›t¬wK¬h,ë;È[ë9(mJý[Ú»Ìó¬ùFj.Œ¨~ÎÞŽ§I9O?DVO™³Ïßïÿ0 À<ˆP` ; 07070100052204000081a40000000000000002000000013d1fe2e5000001cc000000200000000000000000000000000000001b00000003reloc/sshd/images/misc.gif    GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100052205000081a40000000000000002000000013d1fe2e5000001de000000200000000000000000000000000000001a00000003reloc/sshd/images/net.gif GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100052206000081a40000000000000002000000013d1fe2e5000000c8000000200000000000000000000000000000001b00000003reloc/sshd/images/sync.gif    GIF89a0 0 ¡  ÿÿÿÌÌÌfff   !ù    ,    0 0  ™„©Ëí£”Ê©Ø\àŸ[Â ØŒæ…2êšyŽ0ÀñCÛO›ÖzÃsù~‹à"GtÉŽÃ¤âõl:IP@gšêlƒ–Á¼_	¹9£gÕµréÎÂãÇ6¡¾ãíz+_Ÿ×ç7'8XHE(Ø·øG'ò¸&Ò%ùEiYèiyÉQy¸e¸™ÙèÖ)u—zÈZè*Šth :kQ  ;07070100052207000081a40000000000000002000000013d1fe2e500000186000000200000000000000000000000000000001c00000003reloc/sshd/images/users.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  0707010004f4e1000081e40000000000000002000000013d1fe2e500000d06000000200000000000000000000000000000001500000003reloc/sshd/index.cgi  #!/usr/local/bin/perl
# index.cgi
# Display sshd option categories

require './sshd-lib.pl';

# Check if config file exists
if (!-r $config{'sshd_config'}) {
	&header($text{'index_title'}, "", "intro", 1, 1);
	print "<hr>\n";
	print &text('index_econfig', "<tt>$config{'sshd_config'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if sshd exists
if (!&has_command($config{'sshd_path'})) {
	&header($text{'index_title'}, "", "intro", 1, 1);
	print "<hr>\n";
	print &text('index_esshd', "<tt>$config{'sshd_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if sshd is the right version
$out = `$config{'sshd_path'} -h 2>&1`;
if ($out =~ /(sshd\s+version\s+([0-9\.]+))/i ||
    $out =~ /(ssh\s+secure\s+shell\s+([0-9\.]+))/i) {
	# Classic SSH - only versions 1 and 2 are supported
	if ($2 >= 3) {
		&header($text{'index_title'}, "", "intro", 1, 1);
		print "<hr>\n";
		print &text('index_eversion2',
			    "<tt>$config{'sshd_path'}</tt>", $2),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{"index"});
		exit;
		}
	$version{'type'} = 'ssh';
	$version{'number'} = $2;
	$version{'full'} = $1;
	}
elsif ($out =~ /(OpenSSH.([0-9\.]+))/i) {
	# OpenSSH .. assume all versions are supported
	$version{'type'} = 'openssh';
	$version{'number'} = $2;
	$version{'full'} = $1;
	}
else {
	# Unknown version
	&header($text{'index_title'}, "", "intro", 1, 1);
	print "<hr>\n";
	print &text('index_eversion', "<tt>$config{'sshd_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}
&write_file("$module_config_directory/version", \%version);

&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("ssh", "man", "doc", "google"), undef, undef,
	&text('index_version', $version{'full'}));
print "<hr>\n";

# Display icons for options
foreach $i ('users', 'net', 'access', 'misc') {
	push(@links, "edit_$i.cgi");
	push(@titles, $text{$i.'_title'});
	push(@icons, "images/$i.gif");
	}
if (-r $config{'client_config'}) {
	push(@links, "list_hosts.cgi");
	push(@titles, $text{'hosts_title'});
	push(@icons, "images/hosts.gif");
	}
push(@links, "edit_sync.cgi");
push(@titles, $text{'sync_title'});
push(@icons, "images/sync.gif");
&icons_table(\@links, \@titles, \@icons, scalar(@links));

# Check if sshd is running
$conf = &get_sshd_config();
$pidfile = &find_value("PidFile", $conf);
$pidfile = $config{'pid_file'} if (!$pidfile);
if (open(PID, $pidfile) && ($pid = int(<PID>)) && kill(0, $pid)) {
	# Running .. offer to apply changes
	print "<hr>\n";
	print "<form action=apply.cgi>\n";
	print "<input name=pid type=hidden value='$pid'>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_apply'}\"></td>\n";
	print "<td>$text{'index_applymsg'}</td>\n";
	print "</tr></table></form>\n";
	}
else {
	# Not running .. offer to start
	print "<hr>\n";
	print "<form action=start.cgi>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_start'}\"></td>\n";
	print "<td>$text{'index_startmsg'}</td>\n";
	print "</tr></table></form>\n";
	}
close(PID);

print "<hr>\n";
&footer("/", $text{"index"});

  0707010005674a000041ed0000000000000001000000023d1ffb6a00000000000000200000000000000000000000000000001000000003reloc/sshd/lang   0707010005674b000081a40000000000000002000000013d1fe2e500002152000000200000000000000000000000000000001300000003reloc/sshd/lang/ca    index_title=Servidor SSH
index_econfig=No es troba al sistema el fitxer de configuració $1 del servidor SSH. Pot ser que SSHD no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_esshd=No s'ha trobat al sistema el programa servidor SSH $1. Pot ser que SSHD no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_eversion=No he pogut obtenir un número de versió del programa servidor SSH $1. Pot ser que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_eversion2=El programa servidor SSH $1 és de la versió $2, però Webmin només suporta SSH versió 1.
index_return=a l'índex del mòdul
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplicar la configuració actual enviant un senyal SIGHUP al procés SSHd en execució.
index_start=Inicia el Servidor
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor SSH. Fins que no s'iniciï, cap usuari es podrà connectar a través de SSH.
index_version=$1

bits=bits
secs=segons

users_title=Autenticació
users_header=Opcions de connexió i autenticació
users_expire=Dies d'avís abans de l'expiració del compte
users_expire_def=Mai
users_mail=Avisa l'usuari si té correu nou
users_empty=Demana contrasenya nova si està en blanc
users_passwd=Demana una contrasenya nova si aquesta ha expirat
users_pexpire=Dies d'avís abans de l'expiració de la contrasenya
users_pexpire_def=Mai
users_auth=Permet l'autenticació amb contrasenya
users_pempty=Permet les connexions amb contrasenya buida
users_root=Permet la connexió de root
users_nopwd=Només amb autenticació RSA
users_fcmd=Només per ordres
users_rsa=Permet autenticació RSA
users_strict=Comprova els permisos dels fitxers de claus
users_rhosts=Ignora els fitxers <tt>.rhosts</tt>
users_rrhosts=Ignora els fitxers <tt>.rhosts</tt> per a l'usuari root
users_rhostsauth=Permet la connexió només amb <tt>hosts.equiv</tt> i <tt>.rhosts</tt>
users_rhostsrsa=Comprova <tt>hosts.equiv</tt> i <tt>.rhosts</tt> per a l'autenticació RSA
users_motd=Mostra <tt>/etc/motd</tt> en connectar
users_banner=Fitxer de missatge previ a la connexió
users_banner_def=Cap
users_known=Ignora els fitxers <tt>known_hosts</tt> dels usuaris
users_err=No he pogut desar els usuaris i els grups
users_eexpire=Hi falten els dies d'avís d'expiració o bé són invàlids
users_ebanner=Hi falta el fitxer de missatge previ o bé és invàlid

net_title=Xarxa
net_header=Opcions de Xarxa
net_port=Escolta el port
net_prots=Accepta els protocols
net_prots_1=SSH v1
net_prots_2=SSH v2
net_idle=Temps límit d'inacció
net_idle_s=segons
net_idle_m=minuts
net_idle_h=hores
net_idle_d=dies
net_idle_w=setmanes
net_keep=Desconnecta si el client ha caigut
net_listen=Escolta l'adreça
net_listen_def=Totes les adreces
net_grace=Temps d'espera per a la connexió
net_grace_def=Indefinit
net_grace_s=segons
net_tcp=Permet el reenviament TCP
net_gateway=Permet la connexió a ports reenviats
net_reverse=Fes validació inversa de les adreces IP clients
net_err=No he pogut desar la xarxa
net_elisten=Hi falta l'adreça IP per escoltar o bé és invàlida.
net_eport=Hi falta el número de port per escoltar  o bé és invàlid.
net_eidle=Hi falta el temps límit d'inacció  o bé és invàlid.
net_egrace=Hi falta el temps d'espera de connexió o bé és invàlid.
net_eprots=Has de seleccionar al menys un protocol

access_title=Control d'Accés
access_header=Opcions de control d'accés de connexió i xarxa
access_allowu=Permet només els usuaris
access_allowg=Permet només els membres dels grups
access_all=Tots
access_denyu=Denega els usuaris
access_denyg=Denega els membres dels grups
access_none=Cap
access_allowh=Permet només hosts clients
access_denyh=Denega els hosts clients
access_silent=Desconnecta els clients no permesos sense dir res
access_eallowu=No has introduït cap usuari permès
access_edenyu=No has introduït cap usuari denegat
access_eallowg=No has introduït cap grup permès
access_edenyg=No has introduït cap grup denegat
access_eallowh=No has introduït cap host permès
access_edenyh=No has introduït cap host denegat

misc_title=Opcions Miscel·lànies
misc_header=Altres opcions miscel·lànies del servidor SSH
misc_x11=Permet el reenviament de connexions X11
misc_xoff=<i>Offset</i> de la pantalla X11
misc_xauth=Camí complet del programa <tt>xauth</tt>
misc_umask=Umask del servidor SSH
misc_umask_def=Deixa-ho tal com està
misc_syslog=Utilitat de registres del sistema
misc_loglevel=Nivell d'enregistrament
misc_bits=Mida de clau del servidor
misc_quiet=Fes un enregistrament mínim
misc_regen=Interval de regeneració de les claus del servidor
misc_regen_def=Mai
misc_fascist=Fes un enregistrament exhaustiu
misc_pid=Fitxer de PID
misc_err=No he pogut desar les opcions miscel·lànies
misc_exoff=Hi falta l'<i>offset</i> de la pantalla X11o bé és invàlid.
misc_exauth=Hi falta el camí de <tt>xauth</tt>o bé és invàlid.
misc_eumask=Hi falta l'umask octal de 4 dígits bé és invàlid.
misc_ebits=Hi falta la mida de la clau del servidor bé és invàlida.
misc_eregen=Hi falta l'interval de regeneració de claus bé és invàlid.
misc_epid=Hi falta el camí del fitxer de PID o bé és invàlid.

start_err=No he pogut iniciar el servidor SSH

hosts_title=Opcions de Host Client
hosts_header=Hosts Client SSH
hosts_none=No s'ha definit cap opció de host client. Totes les connexions de clients SSH faran servir els valors per defecte.
hosts_all=Tots els Hosts
hosts_add=Afegeix opcions pel host client.
hosts_return=a la llista de hosts clients

host_create=Addició d'Opcions de Host
host_edit=Edició d'Opcions de Host
host_header=Opcions de client del host SSH
host_name=Opcions del host
host_user=Connecta't com a usuari
host_user_def=Connexió actual actual
host_keep=Desconnecta si el servidor ha caigut
host_hostname=Nom de host real a connectar
host_hostname_def=Igual que el de sobre
host_batch=Demana la contrasenya si cal
host_port=Port a connectar
host_comp=Comprimeix el trànsit SSH
host_escape=Caràcter d'escap
host_escape_none=cap
host_clevel=Nivell de compressió
host_clevel_1=(Pitjor)
host_clevel_9=(Millor)
host_attempts=Nombre d'intents de connexió
host_usersh=Estableix només connexions RSH
host_rsh=Prova RSH si SSH falla
host_agent=Reenvia l'agent d'autenticació
host_x11=Reenvia les connexions X11
host_priv=Fes servir un port origen privilegiat
host_strict=Afegeix el host al fitxer <tt>known_hosts</tt>
host_ask=Pregunta a l'usuari
host_lforward=Ports locals per reenviar al servidor
host_llport=Port local
host_lrhost=Host remot
host_lrport=Port remot
host_rforward=Ports del servidor per reenviar a local
host_rrport=Port remot
host_rlhost=Host local
host_rlport=Port local
host_checkip=Comprova les adreces IP del fitxer <tt>known_hosts</tt>
host_prots=Prova els protocols SSH
host_prots_sel=Selecciona...
host_err=No he pogut desar les opcions del host
host_ename=Hi falta el nom de host o bé és invàlid.
host_euser=Hi falta el nom d'usuari o bé és invàlid.
host_ehostname=Hi falta el nom de host real o bé és invàlid.
host_eport=Hi falta el número de port o bé és invàlid.
host_eescape=Hi falta el caràcter d'escap o bé és invàlid.
host_eattempts=Hi falta el nombre d'intents de connexió o bé és invàlid.
host_elport=Hi falta el número de port local o bé és invàlid.
host_erhost=Hi falta el nom de host remot o bé és invàlid.
host_erport=Hi falta el número de port remot o bé és invàlid.
host_elhost=Hi falta el nom de host local o bé és invàlid.
host_eprots=Has de seleccionar al menys un protocol

log_users=He canviat les opcions d'autenticació
log_net=He canviat les opcions de xarxa
log_access=He canviat el control d'accés
log_misc=He canviat les opcions miscel·lànies
log_create_host=He creat opcions pel(s) host(s) $1
log_update_host=He actualitzat les opcions del(s) host(s) $1
log_delete_host=He suprimit les opcions del(s) host(s) $1
log_create_all=He creat les opcions per a tots els hosts
log_update_all=He actualitzat les opcions de tots els hosts
log_delete_all=He suprimit les opcions de tots els hosts

sync_title=Configuració de la Clau SSH de l'Usuari
sync_desc=Aquesta pàgina permet configurar la configuració automàtica de SSH dels nous usuaris Unix creats al sistema. Si està configurada, els nous usuaris no hauran d'executar <tt>ssh-keygen</tt> abans de fer servir SSH.
sync_create=Configura la clau SSH dels nous usuaris Unix
sync_auth=Copia el nou <tt>identify.pub</tt> a <tt>authorized_keys</tt>
sync_pass=Fes servir la contrasenya com a frase de pas
sync_gnupg=Configura la clau GNUPG dels nous usuaris Unix


  0707010005674c000081a40000000000000002000000013d1fe2e50000215b000000200000000000000000000000000000001300000003reloc/sshd/lang/de    index_title=SSH Server
index_econfig=Die SSH Server Konfigurationsdatei $1 wurde auf dem Systen nicht gefunden. Vielleicht ist SSHD nicht installiert, oder die <a href='$2'>Module Konfiguation</a> ist fehlerhaft.
index_esshd=Das SSH Server Programm $1 wurde auf dem Systen nicht gefunden. Vielleicht ist SSHD nicht installiert, oder die <a href='$2'>Module Konfiguation</a> ist fehlerhaft.
index_eversion=Die Versions Nummer des SSH Server Programms $1 konnte nicht ermittelt werden. Eventuell ist die <a href='$2'>Modul Konfiguation</a> fehlerhaft.
index_eversion2=Der SSH Server $1 ist Version $2, aber Webmin unterst&uuml;tzt nur SSH version 1.
index_return=Modul Index
index_apply=&Auml;nderungen anwenden
index_applymsg=Durch Anklicken des Knopfes wird die gegenw&auml;rtige Konfiguration durch das Senden des SIGHUP Signals an den laufenden SSHD Prozess angewendet
index_start=Starte Server
index_startmsg=Klicken Sie diesen Knopf, um den SSH Server zu starten. Bis er gestartet ist, k&ouml;nnen sich keine Benutzer via SSH anmelden.

bits=Bits
secs=Sekunden

users_title=Echtheitsbest&auml;tigung
users_header=Optionen f&uuml;r Anmelden und Echtheitsbest&auml;tigung
users_expire=Warne Benutzer dass das Konto in x Tagen abl&auml;ft
users_expire_def=Nie
users_mail=Benachrichtigung wenn neue Mails vorhanden sind?
users_empty=Eingabe eines neuen Passwortes wenn es leer ist?
users_passwd=Eingabe eines neuen Passwortes wenn es ung&uuml;tig ist?
users_pexpire=Warne Benutzer Tage bevor das Passwort abl&auml;uft
users_pexpire_def=Nie
users_auth=Erlaube Echtheitsbest&auml;tigung durch Passwort
users_pempty=Erlaube das Anmelden mit leerem Passwort?
users_root=Erlaube Anmeldung als root?
users_nopwd=Nur mit RSA Echtheitsbest&auml;tigung
users_fcmd=Nur f&uuml;r Kommandos
users_rsa=Erlaube RSA Echtheitsbest&auml;tigung?
users_strict=Pr&uuml;fe Berechtigungen auf Dateien der Schl&uuml;ssel?
users_rhosts=Ignoriere <tt>.rhosts</tt> Datei?
users_rrhosts=Ignoriere <tt>.rhosts</tt> Datei f&uuml;r Benutzer root?
users_rhostsauth=Erlaube das Anmelden nur durch <tt>hosts.equiv</tt> und <tt>.rhosts</tt>?
users_rhostsrsa=Pr&uuml;fe <tt>hosts.equiv</tt> und <tt>.rhosts</tt> f&uuml;r RSA Echtheitsbest&auml;tigung?
users_motd=Anzeigen von <tt>/etc/motd</tt> beim Anmelden?
users_banner=Meldungs Datei vor dem Anmelden
users_banner_def=Keiner
users_known=Ignoriere Datei <tt>known_hosts</tt> des Benutzers?
users_err=Benutzer und Gruppen konnten nicht gespeichert werden
users_eexpire=fehlende oder ung&uuml;ltige Warnung f&uuml;r ung&uuml;ltiges Passwort
users_ebanner=fehlende oder ung&uuml;ltige Datei f&uuml;r Meldung vor dem Anmelden

net_title=Netzwerk
net_header=Netzwerk Optionen
net_port=Verbindungen annehmen auf Port
net_prots=Akzeptiere Protokolle
net_prots_1=SSH v1
net_prots_2=SSH v2
net_idle=Idle timeout
net_idle_s=Sekunden
net_idle_m=Minuten
net_idle_h=Stunden
net_idle_d=Tage
net_idle_w=Wochen
net_keep=Verbindung trennen wenn Client abgest&uuml;rzt ist?
net_listen=Verbindungen annehmen auf Addresse
net_listen_def=Alle Addressen
net_grace=Wartezeit f&uuml;r Anmeldung
net_grace_def=Unbegrenzt
net_grace_s=Sekunden
net_tcp=TCP Weiterleitung erlauben?
net_gateway=Verbindung auf weitergeleiteten Ports erlauben?
net_reverse=Reverse-validate client IP addresses?
net_err=Netzwerkeinstellungen konnten nicht gespeichert werden
net_elisten=Fehlende oder ung&uuml;ltige IP Addresse f&uuml;r Verbindungen
net_eport=Fehlende oder ung&uuml;ltige Port Nummer
net_eidle=Missing or invalid idle timeout
net_egrace=Fehlende oder ung&uuml;ltige Waretzeit f&uuml;r Anmelden
net_eprots=Sie m&uuml;ssen mindestens ein Protokoll ausw&auml;hlen

access_title=Zugriffssteuerung
access_header=Zugriffssteuerungsoptionen f&uuml;r Netzwerk und Anmelden
access_allowu=Erlaube nur Benutzern
access_allowg=Erlaube nur Mitgliedern der Gruppe
access_all=Alle
access_denyu=Verbiete Benutzern
access_denyg=Verbiete Mitgliedern der Gruppen
access_none=Keine
access_allowh=Erlaune nur Client Rechnern
access_denyh=Verbiete Client Rechnern
access_silent=Verbotene Rechner ohne Warnung trennen?
access_eallowu=Keine erlaubten Benutzern eingegeben
access_edenyu=Keine verbotenen Benutzer eingegeben
access_eallowg=Keine erlaubten Gruppen eingegeben
access_edenyg=Keine verbotenen Gruppen eingegeben
access_eallowh=Keine erlaubten Rechner eingegeben
access_edenyh=Keine verbotenen Rechner eingegeben

misc_title=Sonstige Optionen
misc_header=Sonstige Optionen f&uuml; SSH Server
misc_x11=Erlaube Weiterleitung von X11 Verbindungen?
misc_xoff=X11 display offset
misc_xauth=Vollst&auml;ndiger Pfad zum <tt>xauth</tt> Programm
misc_umask=Umask f&uuml;r SSH Server
misc_umask_def=unver&auml;ndert lassen
misc_syslog=Syslog M&ouml;glichkeiten
misc_loglevel=Protokoll Level
misc_bits=Schl&uuml;ssell&auml;nge Server 
misc_quiet=Nur minimales Protokoll ausf&uuml;hren?
misc_regen=Erneuerungsinterval f&uuml;r Serverschl&uuml;ssel
misc_regen_def=Nie
misc_fascist=Protokollierung anzeigen?
misc_pid=PID Datei
misc_err=Sonstige Optionen konnten nicht gespeichert werden
misc_exoff=Fehlendes oder ung&uuml;ltiges X11 display offset
misc_exauth=Fehlender oder ung&uuml;ltiger Pfad zu <tt>xauth</tt>
misc_eumask=Fehlendes oder ung&uuml;ltiges 4-Ziffern Octal umask
misc_ebits=Fehlende oder ung&uuml;ltige Gr&ouml;sse f&uuml;r Serverschl&uuml;ssel
misc_eregen=Fehlendes oder ung&uuml;ltiges Zeitinterval f&uuml;r Erneuerung des Serverschl&uuml;ssels 
misc_epid=Fehlender Pfad zur PID Datei

start_err=Der SSH Server konnte nicht gestartet werden

hosts_title=Optionen f&uuml; Client Rechner
hosts_header=SSH Client Rechner
hosts_none=Keine Client Rechner Optionen wurden festgelegt. Alle SSH Client Anmeldungen werden die Standardeinstellungen verwenden.
hosts_all=Alle Rechner
hosts_add=Optionen f&uuml;r Client Rechner hinzuf&uuml;gen.
hosts_return=Kiste der Client Rechner

host_create=Host Optionen hinzuf&uuml;gen
host_edit=Host Optionen bearbeiten
host_header=Client Optionen f&uuml;r SSH Host
host_name=Optionen f&uuml;r Host
host_user=Anmelden als Benutzer
host_user_def=derzeitiges Login
host_keep=Verbindung trennen wenn Server abgest&uuml;rzt ist?
host_hostname=echter Hostname zu dem verbunden werden soll
host_hostname_def=gleicher Name wie oben
host_batch=Frage nach einem Passwort falls ben&ouml;tigt?
host_port=Port zu dem verbunden werden soll
host_comp=SSH Verkehr komprimmieren?
host_escape=Escape Zeichen
host_escape_none=Keines
host_clevel=Grad der Kompression
host_clevel_1=(Schlechtester)
host_clevel_9=(Bester)
host_attempts=Anzahl Versuche eine Verbindung herzustelle
host_usersh=Nur RSH Verbindungen herstellen?
host_rsh=Versuche RSH falls SSH fehlschl&auml;gt?
host_agent=Forward authentication agent?
host_x11=X11 Verbindungen weiterleiten?
host_priv=Benutze privilegierten Quell Port?
host_strict=Host zur <tt>known_hosts</tt> Datei hinzuf&uuml;gen?
host_ask=frage Benutzer
host_lforward=Lokale Ports, die an den Server weitergeleitet werden
host_llport=Lokaler Port
host_lrhost=Entfernter Host
host_lrport=Entfernter Port
host_rforward=Server Ports die nach lokal weitergeleitet werden
host_rrport=Entfernter Port
host_rlhost=Lokaler Host
host_rlport=Lokaler Port
host_checkip=Pr&uuml;fe IP Adressen in <tt>known_hosts</tt> Datei?
host_prots=Versuche SSH Protokolle
host_prots_sel=Ausgew&auml;hlte...
host_err=Host Optionen konnten nicht gespeichert werden
host_ename=Fehlender oder ung&uuml;ltiger Host Name
host_euser=Fehlender oder ung&uuml;ltiger Benutzername
host_ehostname=Fehlender oder ung&uuml;ltiger echter Hostname
host_eport=Fehlende oder ung&uuml;ltige Port Nummer
host_eescape=Fehlendes Escape Zeichen
host_eattempts=Fehlende oder ung&uuml;ltige Anzahl von Verbindungsversuchen
host_elport=Fehlende oder ung&uuml;ltige lokale Port Nummer
host_erhost=Fehlender oder ung&uuml;ltiger entfernter Hostname
host_erport=Fehlende oder ung&uuml;ltige entfernte Port Nummer
host_elhost=Fehlender oder ung&uuml;ltiger lokaler Hostname
host_eprots=Sie m&uuml;ssen mindestens ein Protokoll ausw&auml;hlen

log_users=Optionen f&uuml;r Echtheitsbest&auml;tigung ge&auml;ndert
log_net=Netzwerk Optionen ge&auml;ndert
log_access=ZUgriffssteuerung ge&auml;ndert
log_misc=Sonstige Optionen ge&auml;ndert
log_create_host=Optionen f&uuml;r Host(s) $1 erstellt
log_update_host=Optionen f&uuml;r Host(s) $1 aktualisiert
log_delete_host=Optionen f&uuml;r Host(s) $1 gel&ouml;scht
log_create_all=Optionen f&uuml;r alle Hosts erstellt
log_update_all=Optionen f&uuml;r alle Hosts aktualisiert
log_delete_all=Optionen f&uuml;r alle Hosts gel&ouml;scht

 0707010005674d000081a40000000000000002000000013d1fe2e500001c8d000000200000000000000000000000000000001300000003reloc/sshd/lang/en    index_title=SSH Server
index_econfig=The SSH server config file $1 was not found on your system. Maybe SSHD is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_esshd=The SSH server program $1 was not found on your system. Maybe SSHD is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Failed to get a version number from the SSH server program $1. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_eversion2=The SSH server program $1 is version $2, but Webmin only supports SSH version 1.
index_return=module index
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running SSHd process.
index_start=Start Server
index_startmsg=Click this button to start the SSH server. Until it is started, no users will be able to login via SSH.
index_version=$1

bits=bits
secs=seconds

users_title=Authentication
users_header=Login and authentication options
users_expire=Days before account expiry to warn user
users_expire_def=Never
users_mail=Notify user of new mail?
users_empty=Prompt for new password if blank?
users_passwd=Prompt for new password if expired?
users_pexpire=Days before password expiry to warn user
users_pexpire_def=Never
users_auth=Allow authentication by password
users_pempty=Permit logins with empty passwords?
users_root=Allow login by root?
users_nopwd=Only with RSA auth
users_fcmd=Only for commands
users_rsa=Allow RSA authentication?
users_strict=Check permissions on key files?
users_rhosts=Ignore <tt>.rhosts</tt> files?
users_rrhosts=Ignore <tt>.rhosts</tt> files for root user?
users_rhostsauth=Allow login just by <tt>hosts.equiv</tt> and <tt>.rhosts</tt>?
users_rhostsrsa=Check <tt>hosts.equiv</tt> and <tt>.rhosts</tt> for RSA authentication?
users_motd=Display <tt>/etc/motd</tt> at login?
users_banner=Pre-login message file
users_banner_def=None
users_known=Ignore users' <tt>known_hosts</tt> files?
users_err=Failed to save users and groups
users_eexpire=Missing or invalid expiry warning days
users_ebanner=Missing or invalid pre-login message file

net_title=Networking
net_header=Networking options
net_port=Listen on port
net_prots=Accept protocols
net_prots_1=SSH v1
net_prots_2=SSH v2
net_idle=Idle timeout
net_idle_s=seconds
net_idle_m=minutes
net_idle_h=hours
net_idle_d=days
net_idle_w=weeks
net_keep=Disconnect if client has crashed?
net_listen=Listen on address
net_listen_def=All addresses
net_grace=Time to wait for login
net_grace_def=Forever
net_grace_s=seconds
net_tcp=Allow TCP forwarding?
net_gateway=Allow connection to forwarded ports?
net_reverse=Reverse-validate client IP addresses?
net_err=Failed to save networking
net_elisten=Missing or invalid IP address to listen on
net_eport=Missing or invalid port number
net_eidle=Missing or invalid idle timeout
net_egrace=Missing or invalid time to wait for login
net_eprots=You must select at least one protocol

access_title=Access Control
access_header=Network and login access control options
access_allowu=Only allow users
access_allowg=Only allow members of groups
access_all=All
access_denyu=Deny users
access_denyg=Deny members of groups
access_none=None
access_allowh=Only allow client hosts
access_denyh=Deny client hosts
access_silent=Silently diconnect disallowed clients?
access_eallowu=No users to allow entered
access_edenyu=No users to deny entered
access_eallowg=No groups to allow entered
access_edenyg=No groups to deny entered
access_eallowh=No hosts to allow entered
access_edenyh=No hosts to deny entered

misc_title=Miscellaneous Options
misc_header=Other miscellaneous SSH server options
misc_x11=Allow X11 connection forwarding?
misc_xoff=X11 display offset
misc_xauth=Full path to <tt>xauth</tt> program
misc_umask=Umask for SSH server
misc_umask_def=Leave unchanged
misc_syslog=System log facility
misc_loglevel=Logging level
misc_bits=Server key size
misc_quiet=Do minimal logging?
misc_regen=Server key regeneration interval
misc_regen_def=Never
misc_fascist=Do verbose logging?
misc_pid=PID file
misc_err=Failed to save miscellaneous options
misc_exoff=Missing or invalid X11 display offset
misc_exauth=Missing or invalid path to <tt>xauth</tt>
misc_eumask=Missing or invalid 4-digit octal umask
misc_ebits=Missing or invalid server key size
misc_eregen=Missing or invalid key regeneration interval
misc_epid=Missing PID file path

start_err=Failed to start SSH server

hosts_title=Client Host Options
hosts_header=SSH Client Hosts
hosts_none=No client host options have been defined. All SSH client logins will use the default settings.
hosts_all=All Hosts
hosts_add=Add options for client host.
hosts_return=client hosts list

host_create=Add Host Options
host_edit=Edit Host Options
host_header=Client options for SSH host
host_name=Options for host
host_user=Login as user
host_user_def=Current login
host_keep=Disconnect if server has crashed?
host_hostname=Real hostname to connect to
host_hostname_def=Same as above
host_batch=Ask for password if needed?
host_port=Port to connect to
host_comp=Compress SSH traffic?
host_escape=Escape character
host_escape_none=None
host_clevel=Compression level
host_clevel_1=(Worst)
host_clevel_9=(Best)
host_attempts=Number of connection attempts
host_usersh=Only make RSH connection?
host_rsh=Try RSH if SSH fails?
host_agent=Forward authentication agent?
host_x11=Forward X11 connections?
host_priv=Use privileged source port?
host_strict=Add host to <tt>known_hosts</tt> file?
host_ask=Ask user
host_lforward=Local ports to forward to server
host_llport=Local port
host_lrhost=Remote host
host_lrport=Remote port
host_rforward=Server ports to forward to local
host_rrport=Remote port
host_rlhost=Local host
host_rlport=Local port
host_checkip=Check IP addresses in <tt>known_hosts</tt> file?
host_prots=Try SSH protocols
host_prots_sel=Selected..
host_err=Failed to save host options
host_ename=Missing or invalid host name
host_euser=Missing or invalid username
host_ehostname=Missing or invalid real hostname
host_eport=Missing or invalid port number
host_eescape=Missing single escape character
host_eattempts=Missing or invalid number of connection attempts
host_elport=Missing or invalid local port number
host_erhost=Missing or invalid remote hostname
host_erport=Missing or invalid remote port number
host_elhost=Missing or invalid local hostname
host_eprots=You must select at least one protocol

log_users=Changed authentication options
log_net=Changed networking options
log_access=Changed access control
log_misc=Changed miscellaneous options
log_create_host=Created options for host(s) $1
log_update_host=Updated options for host(s) $1
log_delete_host=Deleted options for host(s) $1
log_create_all=Created options for all hosts
log_update_all=Updated options for all hosts
log_delete_all=Deleted options for all hosts

sync_title=User SSH Key Setup
sync_desc=This page allows you to configure the automatic setup of SSH for new Unix users created on your system. If configured, new users will not have to run <tt>ssh-keygen</tt> before using SSH.
sync_create=Setup SSH key for new Unix users.
sync_auth=Copy new <tt>identify.pub</tt> to <tt>authorized_keys</tt>.
sync_pass=Use password as key passphrase.
sync_gnupg=Setup GNUPG key for new Unix users.

   0707010005674e000081a40000000000000002000000013d1fe2e500001c7c000000200000000000000000000000000000001300000003reloc/sshd/lang/it    index_title=SSH Server
index_econfig=The SSH server config file $1 was not found on your system. Maybe SSHD is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_esshd=The SSH server program $1 was not found on your system. Maybe SSHD is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_eversion=Failed to get a version number from the SSH server program $1. Maybe your <a href='$2'>module configuration</a> is incorrect.
index_eversion2=The SSH server program $1 is version $2, but Webmin only supports SSH version 1.
index_return=module index
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running SSHd process.
index_start=Start Server
index_startmsg=Click this button to start the SSH server. Until it is started, no users will be able to login via SSH.

bits=bits
secs=seconds

users_title=Authentication
users_header=Login and authentication options
users_expire=Days before account expiry to warn user
users_expire_def=Never
users_mail=Notify user of new mail?
users_empty=Prompt for new password if blank?
users_passwd=Prompt for new password if expired?
users_pexpire=Days before password expiry to warn user
users_pexpire_def=Never
users_auth=Allow authentication by password
users_pempty=Permit logins with empty passwords?
users_root=Allow login by root?
users_nopwd=Only with RSA auth
users_fcmd=Only for commands
users_rsa=Allow RSA authentication?
users_strict=Check permissions on key files?
users_rhosts=Ignore <tt>.rhosts</tt> files?
users_rrhosts=Ignore <tt>.rhosts</tt> files for root user?
users_rhostsauth=Allow login just by <tt>hosts.equiv</tt> and <tt>.rhosts</tt>?
users_rhostsrsa=Check <tt>hosts.equiv</tt> and <tt>.rhosts</tt> for RSA authentication?
users_motd=Display <tt>/etc/motd</tt> at login?
users_banner=Pre-login message file
users_banner_def=None
users_known=Ignore users' <tt>known_hosts</tt> files?
users_err=Failed to save users and groups
users_eexpire=Missing or invalid expiry warning days
users_ebanner=Missing or invalid pre-login message file

net_title=Networking
net_header=Networking options
net_port=Listen on port
net_prots=Accept protocols
net_prots_1=SSH v1
net_prots_2=SSH v2
net_idle=Idle timeout
net_idle_s=seconds
net_idle_m=minutes
net_idle_h=hours
net_idle_d=days
net_idle_w=weeks
net_keep=Disconnect if client has crashed?
net_listen=Listen on address
net_listen_def=All addresses
net_grace=Time to wait for login
net_grace_def=Forever
net_grace_s=seconds
net_tcp=Allow TCP forwarding?
net_gateway=Allow connection to forwarded ports?
net_reverse=Reverse-validate client IP addresses?
net_err=Failed to save networking
net_elisten=Missing or invalid IP address to listen on
net_eport=Missing or invalid port number
net_eidle=Missing or invalid idle timeout
net_egrace=Missing or invalid time to wait for login
net_eprots=You must select at least one protocol

access_title=Access Control
access_header=Network and login access control options
access_allowu=Only allow users
access_allowg=Only allow members of groups
access_all=All
access_denyu=Deny users
access_denyg=Deny members of groups
access_none=None
access_allowh=Only allow client hosts
access_denyh=Deny client hosts
access_silent=Silently diconnect disallowed clients?
access_eallowu=No users to allow entered
access_edenyu=No users to deny entered
access_eallowg=No groups to allow entered
access_edenyg=No groups to deny entered
access_eallowh=No hosts to allow entered
access_edenyh=No hosts to deny entered

misc_title=Miscellaneous Options
misc_header=Other miscellaneous SSH server options
misc_x11=Allow X11 connection forwarding?
misc_xoff=X11 display offset
misc_xauth=Full path to <tt>xauth</tt> program
misc_umask=Umask for SSH server
misc_umask_def=Leave unchanged
misc_syslog=System log facility
misc_loglevel=Logging level
misc_bits=Server key size
misc_quiet=Do minimal logging?
misc_regen=Server key regeneration interval
misc_regen_def=Never
misc_fascist=Do verbose logging?
misc_pid=PID file
misc_err=Failed to save miscellaneous options
misc_exoff=Missing or invalid X11 display offset
misc_exauth=Missing or invalid path to <tt>xauth</tt>
misc_eumask=Missing or invalid 4-digit octal umask
misc_ebits=Missing or invalid server key size
misc_eregen=Missing or invalid key regeneration interval
misc_epid=Missing PID file path

start_err=Failed to start SSH server

hosts_title=Client Host Options
hosts_header=SSH Client Hosts
hosts_none=No client host options have been defined. All SSH client logins will use the default settings.
hosts_all=All Hosts
hosts_add=Add options for client host.
hosts_return=client hosts list

host_create=Add Host Options
host_edit=Edit Host Options
host_header=Client options for SSH host
host_name=Options for host
host_user=Login as user
host_user_def=Current login
host_keep=Disconnect if server has crashed?
host_hostname=Real hostname to connect to
host_hostname_def=Same as above
host_batch=Ask for password if needed?
host_port=Port to connect to
host_comp=Compress SSH traffic?
host_escape=Escape character
host_escape_none=None
host_clevel=Compression level
host_clevel_1=(Worst)
host_clevel_9=(Best)
host_attempts=Number of connection attempts
host_usersh=Only make RSH connection?
host_rsh=Try RSH if SSH fails?
host_agent=Forward authentication agent?
host_x11=Forward X11 connections?
host_priv=Use privileged source port?
host_strict=Add host to <tt>known_hosts</tt> file?
host_ask=Ask user
host_lforward=Local ports to forward to server
host_llport=Local port
host_lrhost=Remote host
host_lrport=Remote port
host_rforward=Server ports to forward to local
host_rrport=Remote port
host_rlhost=Local host
host_rlport=Local port
host_checkip=Check IP addresses in <tt>known_hosts</tt> file?
host_prots=Try SSH protocols
host_prots_sel=Selected..
host_err=Failed to save host options
host_ename=Missing or invalid host name
host_euser=Missing or invalid username
host_ehostname=Missing or invalid real hostname
host_eport=Missing or invalid port number
host_eescape=Missing single escape character
host_eattempts=Missing or invalid number of connection attempts
host_elport=Missing or invalid local port number
host_erhost=Missing or invalid remote hostname
host_erport=Missing or invalid remote port number
host_elhost=Missing or invalid local hostname
host_eprots=You must select at least one protocol

log_users=Changed authentication options
log_net=Changed networking options
log_access=Changed access control
log_misc=Changed miscellaneous options
log_create_host=Created options for host(s) $1
log_update_host=Updated options for host(s) $1
log_delete_host=Deleted options for host(s) $1
log_create_all=Created options for all hosts
log_update_all=Updated options for all hosts
log_delete_all=Deleted options for all hosts

sync_title=User SSH Key Setup
sync_desc=This page allows you to configure the automatic setup of SSH for new Unix users created on your system. If configured, new users will not have to run <tt>ssh-keygen</tt> before using SSH.
sync_create=Setup SSH key for new Unix users.
sync_auth=Copy new <tt>identify.pub</tt> to <tt>authorized_keys</tt>.
sync_pass=Use password as key passphrase.
sync_gnupg=Setup GNUPG key for new Unix users.

0707010005674f000081a40000000000000002000000013d1fe2e500001f0c000000200000000000000000000000000000001300000003reloc/sshd/lang/pl    index_title=Serwer SSH
index_econfig=Nie znaleziono w&nbsp;systemie pliku konfiguracyjnego serwera SSH $1. Mo¿liwe, ¿e SSHD nie zosta³ zainstalowany lub <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_esshd=Nie znaleziono w&nbsp;systemie programu serwera SSH $1. Mo¿liwe, ¿e SSHD nie zosta³ zainstalowany lub <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eversion=Nie uda³o siê okre¶liæ numeru wersji serwera SSH $1. Mo¿liwe, ¿e <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.
index_eversion2=Program serwera SSH $1 jest w&nbsp;wersji $2, a&nbsp;Webmin obs³uguje jedynie wersjê 1 SSH.
index_return=indeksu modu³u
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê poprzez wys³anie dzia³aj±cemu procesowi SSHd sygna³u SIGHUP.
index_start=Uruchom serwer
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer SSH. Dopóki nie zostanie to zrobione, ¿aden u¿ytkownik nie bêdzie móg³ siê zalogowaæ poprzez SSH.

bits=bitów
secs=sekund

users_title=Autoryzacja
users_header=Opcje autoryzacji logowania
users_expire=Liczba dni dla ostrzegania u¿ytkownika o&nbsp;up³ywie wa¿no¶ci konta
users_expire_def=Nigdy
users_mail=Zawiadamiaæ u¿ytkownika o&nbsp;nowej poczcie?
users_empty=Pytaæ o&nbsp;nowe has³o, gdy puste?
users_passwd=Pytaæ o&nbsp;nowe has³o, gdy przeterminowane?
users_pexpire=Liczba dni dla ostrzegania u¿ytkownika o&nbsp;up³ywie wa¿no¶ci has³a
users_pexpire_def=Nigdy
users_auth=Zezwalaæ na autoryzacjê has³em
users_pempty=Zezwalaæ na logowanie z&nbsp;pustym has³em?
users_root=Zezwalaæ na logowanie jako root?
users_nopwd=Tylko przy autor. RSA
users_fcmd=Tylko dla poleceñ
users_rsa=Zezwalaæ na autoryzacjê RSA?
users_strict=Sprawdzaæ prawa dostêpu do plików z&nbsp;kluczami?
users_rhosts=Ignorowaæ pliki <tt>.rhosts</tt>?
users_rrhosts=Ignorowaæ plik <tt>.rhosts</tt> dla roota?
users_rhostsauth=Zezwalaæ na logowanie przez <tt>hosts.equiv</tt> i&nbsp;<tt>.rhosts</tt>?
users_rhostsrsa=Sprawdzaæ <tt>hosts.equiv</tt> i&nbsp;<tt>.rhosts</tt> dla autoryzacji RSA?
users_motd=Wy¶wietlaæ <tt>/etc/motd</tt> po zalogowaniu?
users_banner=Plik komunikatu przed logowaniem
users_banner_def=Brak
users_known=Ignorowaæ pliki <tt>known_hosts</tt> u¿ytkowników?
users_err=Nie uda³o siê zachowaæ u¿ytkowników i&nbsp;grup
users_eexpire=Nie podana lub niepoprawna liczba dni ostrze¿enia o&nbsp;przeterminowaniu
users_ebanner=Nie podany lub niepoprawny plik komunikatu przed logowaniem

net_title=Sieæ
net_header=Opcje sieciowe
net_port=S³uchaæ na porcie
net_prots=Akceptowaæ protoko³y
net_prots_1=SSH v1
net_prots_2=SSH v2
net_idle=Czas przeterminowania przy bezczynno¶ci
net_idle_s=sekund
net_idle_m=minut
net_idle_h=godzin
net_idle_d=dni
net_idle_w=tygodni
net_keep=Roz³±czaæ po padzie klienta?
net_listen=Nas³uchiwaæ na adresie
net_listen_def=Na wszystkich adresach
net_grace=Czas oczekiwania na logowanie
net_grace_def=Zawsze
net_grace_s=sekund
net_tcp=Zezwalaæ na przekazywanie TCP?
net_gateway=Zezwalaæ na po³±czenia na przekazywane porty?
net_reverse=Sprawdzaæ w&nbsp;odwrotnym DNS adresy IP klienta?
net_err=Nie uda³o siê zachowaæ opcji sieciowych
net_elisten=Nie podany lub niepoprawny adres IP dla nas³uchiwania
net_eport=Nie podany lub niepoprawny numer portu
net_eidle=Nie podany lub niepoprawny czas przeterminowania przy bezczynno¶ci
net_egrace=Nie podany lub niepoprawny czas oczekiwania na logowanie
net_eprots=Musisz wybraæ co najmniej jeden protokó³

access_title=Kontrola dostêpu
access_header=Opcje kontroli dostêpu dla sieci i&nbsp;logowania
access_allowu=Wpuszczaæ tylko u¿ytkowników
access_allowg=Wpuszczaæ tylko cz³onków grup
access_all=Wszystkich
access_denyu=Zabroniæ u¿ytkownikom
access_denyg=Zabroniæ cz³onkom grup
access_none=Brak
access_allowh=Wpuszczaæ tylko z&nbsp;hostów klienckich
access_denyh=Zabroniæ hostom klienckim
access_silent=Roz³±czaæ nie dopuszczonych klientów po cichu?
access_eallowu=Nie podano dozwolonych u¿ytkowników
access_edenyu=Nie podano zabronionych u¿ytkowników
access_eallowg=Nie podano dozwolonych grup
access_edenyg=Nie podano zabronionych grup
access_eallowh=Nie podano dozwolonych hostów
access_edenyh=Nie podano zabronionych hostów

misc_title=Opcje ró¿ne
misc_header=Ró¿ne inne opcje serwera SSH
misc_x11=Zezwalaæ na przekazywanie po³±czeñ X11?
misc_xoff=Przesuniêcie numeru ekranu X11
misc_xauth=Pe³na ¶cie¿ka do programu <tt>xauth</tt>
misc_umask=Umaska dla serwera SSH
misc_umask_def=Pozostaw niezmienion±
misc_syslog=Kategoria logowania systemowego
misc_loglevel=Poziom logowania
misc_bits=D³ugo¶æ klucza serwera
misc_quiet=Tylko minimalne logowanie?
misc_regen=Okres pomiêdzy generacjami klucza serwera
misc_regen_def=Nigdy
misc_fascist=Rozwlek³e logowanie?
misc_pid=Plik z&nbsp;numerem PID
misc_err=Nie uda³o siê zachowaæ opcji ró¿nych
misc_exoff=Nie podane lub niepoprawne przesuniêcie numeru ekranu X11
misc_exauth=Nie podana lub niepoprawna ¶cie¿ka do <tt>xauth</tt>
misc_eumask=Nie podana lub niepoprawna 4-cyfrowa ósemkowa umaska
misc_ebits=Nie podana lub niepoprawna d³ugo¶æ klucza serwera
misc_eregen=Nie podany lub niepoprawny okres regeneracji klucza
misc_epid=Nie podana ¶cie¿ka do pliku z&nbsp;numerem PID

start_err=Nie uda³o siê uruchomiæ serwera SSH

hosts_title=Opcje hostów klienckich
hosts_header=Hosty klienckie SSH
hosts_none=Nie zdefiniowano opcji dla hostów klienckich. Wszystkie logowania klientów SSH bêd± korzystaæ z&nbsp;ustawieñ domy¶lnych
hosts_all=Wszystkie hosty
hosts_add=Dodaj opcje dla hosta klienckiego.
hosts_return=listy hostów klienckich

host_create=Dodaj opcje dla hosta
host_edit=Zmieñ opcje dla hosta
host_header=Opcje klienckie dla hosta SSH
host_name=Opcje dla hosta
host_user=Logowaæ jako u¿ytkownik
host_user_def=Aktualny login
host_keep=Roz³±czaæ w&nbsp;razie padu serwera?
host_hostname=£±czyæ z&nbsp;hostem o&nbsp;rzeczywistej nazwie
host_hostname_def=Jak wy¿ej
host_batch=Pytaæ o&nbsp;has³o, gdy potrzeba?
host_port=£±czyæ z&nbsp;portem
host_comp=Kompresja ruchu SSH?
host_escape=Znak ucieczki
host_escape_none=Brak
host_clevel=Poziom kompresji
host_clevel_1=(Najgorszy)
host_clevel_9=(Najlepszy)
host_attempts=Liczba prób po³±czenia
host_usersh=Wykonywaæ jedynie po³±czenia RSH?
host_rsh=Próbowaæ RSH, gdy SSH zawiedzie?
host_agent=Przekazywaæ agenta autoryzacji?
host_x11=Przekazywaæ po³±czenia X11?
host_priv=U¿ywaæ uprzywilejowanego portu ¼ród³owego?
host_strict=Dodawaæ hosta do pliku <tt>known_hosts</tt>?
host_ask=Pytaæ u¿ytkownika
host_lforward=Przekazywane do serwera porty lokalne
host_llport=Port lokalny
host_lrhost=Host zdalny
host_lrport=Port zdalny
host_rforward=Porty serwera przekazywane lokalnie
host_rrport=Port zdalny
host_rlhost=Host lokalny
host_rlport=Port lokalny
host_checkip=Sprawdzaæ adresy IP w&nbsp; pliku <tt>known_hosts</tt>?
host_prots=Próbowaæ protoko³ów SSH
host_prots_sel=Wybranych..
host_err=Nie uda³o siê zachowaæ opcji hosta
host_ename=Nie podana lub niepoprawna nazwa hosta
host_euser=Nie podana lub niepoprawna nazwa u¿ytkownika
host_ehostname=Nie podana lub niepoprawna rzeczywista nazwa hosta
host_eport=Nie podany lub niepoprawny numer portu
host_eescape=Nie podany pojedynczy znak ucieczki
host_eattempts=Nie podana lub niepoprawna liczba prób po³±czenia
host_elport=Nie podany lub niepoprawny numer portu lokalnego
host_erhost=Nie podana lub niepoprawna zdalna nazwa hosta
host_erport=Nie podany lub niepoprawny numer portu zdalnego
host_elhost=Nie podana lub niepoprawna lokalna nazwa hosta
host_eprots=Musisz wybraæ co najmniej jeden protokó³

log_users=Zmieniono opcje autoryzacji
log_net=Zmieniono opcje sieciowe
log_access=Zmieniono kontrolê dostêpu
log_misc=Zmieniono opcje ró¿ne
log_create_host=Utworzono opcje dla hosta(ów) $1
log_update_host=Zaktualizowano opcje dla hosta(ów) $1
log_delete_host=Usuniêto opcje dla hosta(ów) $1
log_create_all=Utworzono opcje dla wszystkich hostów
log_update_all=Zaktualizowano opcje dla wszystkich hostów
log_delete_all=Usuniêto opcje dla wszystkich hostów

0707010004f4e2000081e40000000000000002000000013d1fe2e50000030e000000200000000000000000000000000000001a00000003reloc/sshd/list_hosts.cgi #!/usr/local/bin/perl
# Display client host sections

require './sshd-lib.pl';
&header($text{'hosts_title'}, "", "hosts");
print "<hr>\n";

$hconf = &get_client_config();
$i = 0;
foreach $h (@$hconf) {
	if (lc($h->{'name'}) eq 'host') {
		push(@links, "edit_host.cgi?idx=$i");
		push(@icons, "images/host.gif");
		push(@titles, $h->{'values'}->[0] eq '*' ? "<i>$text{'hosts_all'}</i>" : &html_escape($h->{'values'}->[0]));
		}
	$i++;
	}
print "<h3>$text{'hosts_header'}</h3>\n";
if (@links) {
	print "<a href='edit_host.cgi?new=1'>$text{'hosts_add'}</a> <br>\n";
	&icons_table(\@links, \@titles, \@icons);
	}
else {
	print "<b>$text{'hosts_none'}</b><p>\n";
	}
print "<a href='edit_host.cgi?new=1'>$text{'hosts_add'}</a> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

  0707010004f4e3000081a40000000000000002000000013d1fe2e50000020f000000200000000000000000000000000000001900000003reloc/sshd/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'sshd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq "host") {
	if ($object eq "*") {
		return $text{"log_${action}_all"};
		}
	else {
		return &text("log_${action}_host",
			     "<tt>".&html_escape($object)."</tt>");
		}
	}
else {
	return $text{"log_${action}"};
	}
}

 0707010004f4e4000081a40000000000000002000000013d1fe2ea0000006f000000200000000000000000000000000000001700000003reloc/sshd/module.info    category=servers
depends=0.990
desc_pl=Serwer SSH
desc=SSH Server
version=0.990
desc_ca=Servidor SSH
name=SSHD
 0707010004f4e5000081e40000000000000002000000013d1fe2e500000660000000200000000000000000000000000000001b00000003reloc/sshd/save_access.cgi    #!/usr/local/bin/perl
# save_users.cgi
# save user and group related sshd options

require './sshd-lib.pl';
&ReadParse();
&error_setup($text{'access_err'});
&lock_file($config{'sshd_config'});
$conf = &get_sshd_config();

if ($version{'type'} eq 'ssh') {
	if ($in{'allowh_def'}) {
		&save_directive("AllowHosts", $conf);
		}
	else {
		$in{'allowh'} =~ /\S/ || &error($text{'access_eallowh'});
		&save_directive("AllowHosts", $conf, $in{'allowh'});
		}

	if ($in{'denyh_def'}) {
		&save_directive("DenyHosts", $conf);
		}
	else {
		$in{'denyh'} =~ /\S/ || &error($text{'access_edenyh'});
		&save_directive("DenyHosts", $conf, $in{'denyh'});
		}
	}

if ($in{'allowu_def'}) {
	&save_directive("AllowUsers", $conf);
	}
else {
	$in{'allowu'} =~ /\S/ || &error($text{'access_eallowu'});
	&save_directive("AllowUsers", $conf, $in{'allowu'});
	}
if ($in{'denyu_def'}) {
	&save_directive("DenyUsers", $conf);
	}
else {
	$in{'denyu'} =~ /\S/ || &error($text{'access_edenyu'});
	&save_directive("DenyUsers", $conf, $in{'denyu'});
	}

if ($in{'allowg_def'}) {
	&save_directive("AllowGroups", $conf);
	}
else {
	$in{'allowg'} =~ /\S/ || &error($text{'access_eallowg'});
	&save_directive("AllowGroups", $conf, $in{'allowg'});
	}
if ($in{'denyg_def'}) {
	&save_directive("DenyGroups", $conf);
	}
else {
	$in{'denyg'} =~ /\S/ || &error($text{'access_edenyg'});
	&save_directive("DenyGroups", $conf, $in{'denyg'});
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&save_directive("SilentDeny", $conf, $in{'silent'} ? 'yes' : 'no');
	}

&flush_file_lines();
&unlock_file($config{'sshd_config'});
&webmin_log("access");
&redirect("");

0707010004f4e6000081e40000000000000002000000013d1fe2e50000119b000000200000000000000000000000000000001900000003reloc/sshd/save_host.cgi  #!/usr/local/bin/perl
# save_host.cgi
# Create, update or delete a client host

require './sshd-lib.pl';
&ReadParse();
&lock_file($config{'client_config'});
$hconf = &get_client_config();
&error_setup($text{'host_err'});

if ($in{'delete'}) {
	# Just delete the host
	$host = $hconf->[$in{'idx'}];
	&delete_host($host);
	}
else {
	# Saving or creating a host
	$host = $hconf->[$in{'idx'}] if (!$in{'new'});
	if ($in{'name_def'}) {
		$host->{'values'} = [ '*' ];
		}
	else {
		$in{'name'} =~ /^\S+$/ || &error($text{'host_ename'});
		$host->{'values'} = [ $in{'name'} ];
		}
	if ($in{'new'}) {
		# Create empty host structure
		&create_host($host);
		}
	else {
		&modify_host($host);
		}
	$conf = $host->{'members'};

	# Validate and store host options
	if ($in{'user_def'}) {
		&save_directive("User", $conf);
		}
	else {
		$in{'user'} =~ /^\S+$/ || &error($text{'host_euser'});
		&save_directive("User", $conf, $in{'user'});
		}

	&save_directive("KeepAlive", $conf,
		$in{'keep'} == 2 ? undef : $in{'keep'} ? 'yes' : 'no');

	if ($in{'hostname_def'}) {
		&save_directive("HostName", $conf);
		}
	else {
		&check_ipaddress($in{'hostname'}) ||
			gethostbyname($in{'hostname'}) ||
			&error($text{'host_ehostname'});
		&save_directive("HostName", $conf, $in{'hostname'});
		}

	&save_directive("BatchMode", $conf,
		$in{'batch'} == 2 ? undef : $in{'batch'} ? 'yes' : 'no');

	if ($in{'port_def'}) {
		&save_directive("Port", $conf);
		}
	else {
		$in{'port'} =~ /^\d+$/ || &error($text{'host_eport'});
		&save_directive("Port", $conf, $in{'port'});
		}

	&save_directive("Compression", $conf,
		$in{'comp'} == 2 ? undef : $in{'comp'} ? 'yes' : 'no');

	if ($in{'escape_def'} == 1) {
		&save_directive("EscapeChar", $conf);
		}
	elsif ($in{'escape_def'} == 2) {
		&save_directive("EscapeChar", $conf, "none");
		}
	else {
		$in{'escape'} =~ /^\S$/ || $in{'escape'} =~ /^\^\S$/ ||
			 &error($text{'host_eescape'});
		&save_directive("EscapeChar", $conf, $in{'escape'});
		}

	if ($in{'clevel_def'}) {
		&save_directive("CompressionLevel", $conf);
		}
	else {
		&save_directive("CompressionLevel", $conf, $in{'clevel'});
		}

	if ($in{'attempts_def'}) {
		&save_directive("ConnectionAttempts", $conf);
		}
	else {
		$in{'attempts'} =~ /^\d+$/ || &error($text{'host_eattempts'});
		&save_directive("ConnectionAttempts", $conf, $in{'attempts'});
		}

	&save_directive("UsePrivilegedPort", $conf,
		$in{'priv'} == 2 ? undef : $in{'priv'} ? 'yes' : 'no');

	&save_directive("FallBackToRsh", $conf,
		$in{'rsh'} == 2 ? undef : $in{'rsh'} ? 'yes' : 'no');

	&save_directive("UseRsh", $conf,
		$in{'usersh'} == 2 ? undef : $in{'usersh'} ? 'yes' : 'no');

	&save_directive("ForwardAgent", $conf,
		$in{'agent'} == 2 ? undef : $in{'agent'} ? 'yes' : 'no');

	&save_directive("ForwardX11", $conf,
		$in{'x11'} == 2 ? undef : $in{'x11'} ? 'yes' : 'no');

	&save_directive("StrictHostKeyChecking", $conf,
		$in{'strict'} == 2 ? undef : $in{'strict'} == 1 ? 'yes' :
		$in{'strict'} == 0 ? 'no' : 'ask');

	if ($version{'type'} eq 'openssh') {
		&save_directive("CheckHostIP", $conf,
		  $in{'checkip'} == 2 ? undef : $in{'checkip'} ? 'yes' : 'no');

		if ($in{'prots_def'}) {
			&save_directive("Protocol", $conf);
			}
		else {
			@prots = split(/\0/, $in{'prots'});
			@prots || &error($text{'host_prots'});
			&save_directive("Protocol", $conf, join(",", @prots));
			}
		}

	for($i=0; defined($in{"llport_$i"}); $i++) {
		next if (!$in{"llport_$i"} && !$in{"lrhost_$i"} &&
			 !$in{"lrport_$i"});
		$in{"llport_$i"} =~ /^\d+$/ || &error($text{'host_elport'});
		$in{"lrhost_$i"} =~ /^\S+$/ || &error($text{'host_erhost'});
		$in{"lrport_$i"} =~ /^\d+$/ || &error($text{'host_erport'});
		push(@lforward, sprintf("%d %s:%d", $in{"llport_$i"},
				 	$in{"lrhost_$i"}, $in{"lrport_$i"}));
		}
	&save_directive("LocalForward", $conf, @lforward);

	for($i=0; defined($in{"rrport_$i"}); $i++) {
		next if (!$in{"rrport_$i"} && !$in{"rlhost_$i"} &&
			 !$in{"rlport_$i"});
		$in{"rrport_$i"} =~ /^\d+$/ || &error($text{'host_erport'});
		$in{"rlhost_$i"} =~ /^\S+$/ || &error($text{'host_elhost'});
		$in{"rlport_$i"} =~ /^\d+$/ || &error($text{'host_elport'});
		push(@rforward, sprintf("%d %s:%d", $in{"rrport_$i"},
				 	$in{"rlhost_$i"}, $in{"rlport_$i"}));
		}
	&save_directive("RemoteForward", $conf, @rforward);
	}

&flush_file_lines();
&unlock_file($config{'client_config'});
&webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "update",
	    "host", $host->{'values'}->[0]);
&redirect("list_hosts.cgi");

 0707010004f4e7000081e40000000000000002000000013d1fe2e5000009ad000000200000000000000000000000000000001900000003reloc/sshd/save_misc.cgi  #!/usr/local/bin/perl
# save_misc.cgi
# save miscellaneous options

require './sshd-lib.pl';
&ReadParse();
&error_setup($text{'misc_err'});
&lock_file($config{'sshd_config'});
$conf = &get_sshd_config();

&save_directive("X11Forwarding", $conf, $in{'x11'} ? 'yes' : 'no');

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	if ($in{'xoff_def'}) {
		&save_directive("X11DisplayOffset", $conf);
		}
	else {
		$in{'xoff'} =~ /^\d+$/ || &error($text{'misc_exoff'});
		&save_directive("X11DisplayOffset", $conf, $in{'xoff'});
		}

	if ($version{'type'} eq 'ssh' || $version{'number'} >= 2) {
		if ($in{'xauth_def'}) {
			&save_directive("XAuthLocation", $conf);
			}
		else {
			-x $in{'xauth'} || &error($text{'misc_exauth'});
			&save_directive("XAuthLocation", $conf, $in{'xauth'});
			}
		}
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	if ($in{'umask_def'}) {
		&save_directive("Umask", $conf);
		}
	else {
		$in{'umask'} =~ /^0[0-7][0-7][0-7]$/ ||
			&error($text{'misc_eumask'});
		&save_directive("Umask", $conf, $in{'umask'});
		}
	}

&save_directive("SyslogFacility", $conf,
		$in{'syslog_def'} ? undef : $in{'syslog'});

if ($version{'type'} eq 'openssh') {
	&save_directive("LogLevel", $conf,
			$in{'loglevel_def'} ? undef : $in{'loglevel'});
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	if ($in{'bits_def'}) {
		&save_directive("ServerKeyBits", $conf);
		}
	else {
		$in{'bits'} =~ /^\d+$/ || &error($text{'misc_ebits'});
		&save_directive("ServerKeyBits", $conf, $in{'bits'});
		}
	}

if ($version{'type'} eq 'ssh') {
	&save_directive("QuietMode", $conf, $in{'quite'} ? 'yes' : 'no');
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	if ($in{'regen_def'}) {
		&save_directive("KeyRegenerationInterval", $conf);
		}
	else {
		$in{'regen'} =~ /^\d+$/ || &error($text{'misc_eregen'});
		&save_directive("KeyRegenerationInterval", $conf, $in{'regen'});
		}
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	&save_directive("FascistLogging", $conf, $in{'fascist'} ? 'yes' : 'no');
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	if ($version{'type'} eq 'ssh' || $version{'number'} >= 2) {
		if ($in{'pid_def'}) {
			&save_directive("PidFile", $conf);
			}
		else {
			$in{'pid'} =~ /^\S+$/ || &error($text{'misc_epid'});
			&save_directive("PidFile", $conf, $in{'pid'});
			}
		}
	}

&flush_file_lines();
&unlock_file($config{'sshd_config'});
&webmin_log("misc");
&redirect("");

   0707010004f4e8000081e40000000000000002000000013d1fe2e500000719000000200000000000000000000000000000001800000003reloc/sshd/save_net.cgi   #!/usr/local/bin/perl
# save_net.cgi
# save networking sshd options

require './sshd-lib.pl';
&ReadParse();
&error_setup($text{'net_err'});
&lock_file($config{'sshd_config'});
$conf = &get_sshd_config();

if ($in{'listen_def'}) {
	&save_directive("ListenAddress", $conf);
	}
else {
	&check_ipaddress($in{'listen'}) || &error($text{'net_elisten'});
	&save_directive("ListenAddress", $conf, $in{'listen'});
	}

if ($in{'port_def'}) {
	&save_directive("Port", $conf);
	}
else {
	$in{'port'} =~ /^\d+$/ || &error($text{'net_eport'});
	&save_directive("Port", $conf, $in{'port'});
	}

if ($version{'type'} eq 'openssh' && $version{'number'} >= 2) {
	@prots = split(/\0/, $in{'prots'});
	@prots || &error($text{'net_eprots'});
	&save_directive("Protocol", $conf, join(",", @prots));
	}

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	if ($in{'idle_def'}) {
		&save_directive("IdleTimeout", $conf);
		}
	else {
		$in{'idle'} =~ /^\d+$/ || &error($text{'net_eidle'});
		&save_directive("IdleTimeout", $conf,
				$in{'idle'}.$in{'idle_units'});
		}
	}

&save_directive("KeepAlive", $conf, $in{'keep'} ? 'yes' : 'no');

if ($in{'grace_def'}) {
	&save_directive("LoginGraceTime", $conf);
	}
else {
	$in{'grace'} =~ /^\d+$/ || &error($text{'net_egrace'});
	&save_directive("LoginGraceTime", $conf, $in{'grace'});
	}

if ($version{'type'} ne 'openssh' || $version{'number'} >= 2) {
	&save_directive("AllowTcpForwarding", $conf, $in{'tcp'} ? 'yes' : 'no');
	}

if ($version{'type'} eq 'openssh' && $version{'number'} >= 2) {
	&save_directive("GatewayPorts", $conf, $in{'gateway'} ? 'yes' : 'no');

	if ($version{'number'} > 2.3) {
		&save_directive("ReverseMappingCheck", $conf,
				$in{'reverse'} ? 'yes' : 'no');
		}
	}

&flush_file_lines();
&unlock_file($config{'sshd_config'});
&webmin_log("net");
&redirect("");

   0707010004f4e9000081e40000000000000002000000013d1fe2e5000001cf000000200000000000000000000000000000001900000003reloc/sshd/save_sync.cgi  #!/usr/local/bin/perl
# save_sync.cgi
# Save options for the automatic setting up of SSH for new users

require './sshd-lib.pl';
&ReadParse();
&lock_file("$module_config_directory/config");
$config{'sync_create'} = $in{'create'};
$config{'sync_auth'} = $in{'auth'};
$config{'sync_pass'} = $in{'pass'};
#$config{'sync_gnupg'} = $in{'gnupg'};
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&redirect("");
 0707010004f4ea000081e40000000000000002000000013d1fe2e500000a6d000000200000000000000000000000000000001a00000003reloc/sshd/save_users.cgi #!/usr/local/bin/perl
# save_users.cgi
# save user and group related sshd options

require './sshd-lib.pl';
&ReadParse();
&error_setup($text{'users_err'});
&lock_file($config{'sshd_config'});
$conf = &get_sshd_config();

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	if ($in{'expire_def'}) {
		&save_directive("AccountExpireWarningDays", $conf);
		}
	else {
		$in{'expire'} =~ /^\d+$/ || &error($text{'users_eexpire'});
		&save_directive("AccountExpireWarningDays", $conf,
				$in{'expire'});
		}
	}

if ($version{'type'} eq 'ssh' || $version{'number'} < 3.1) {
	&save_directive("CheckMail", $conf, $in{'mail'} ? 'yes' : 'no');
	}

#&save_directive("ForcedEmptyPasswdChange", $conf, $in{'empty'} ? 'yes' : 'no');
#
#&save_directive("ForcedPasswdChange", $conf, $in{'passwd'} ? 'yes' : 'no');

if ($version{'type'} eq 'ssh' && $version{'number'} < 2) {
	if ($in{'pexpire_def'}) {
		&save_directive("PasswdExpireWarningDays", $conf);
		}
	else {
		$in{'pexpire'} =~ /^\d+$/ || &error($text{'users_eexpire'});
		&save_directive("PasswdExpireWarningDays", $conf,
				$in{'pexpire'});
		}
	}

&save_directive("PasswordAuthentication", $conf, $in{'auth'} ? 'yes' : 'no');

&save_directive("PermitEmptyPasswords", $conf, $in{'pempty'} ? 'yes' : 'no');

&save_directive("PermitRootLogin", $conf, $in{'root'});

&save_directive("RSAAuthentication", $conf, $in{'rsa'} ? 'yes' : 'no');

&save_directive("StrictModes", $conf, $in{'strict'} ? 'yes' : 'no');

&save_directive("PrintMotd", $conf, $in{'motd'} ? 'yes' : 'no');

if ($version{'type'} eq 'openssh') {
	&save_directive("IgnoreUserKnownHosts", $conf,
			$in{'known'} ? 'yes' : 'no');

	if ($version{'number'} > 2.3) {
		if ($in{'banner_def'}) {
			&save_directive("Banner", $conf);
			}
		else {
			-r $in{'banner'} || &error($text{'users_ebanner'});
			&save_directive("Banner", $conf, $in{'banner'});
			}
		}
	}
elsif ($version{'type'} eq 'ssh' && $version{'number'} >= 2) {
	if ($in{'banner_def'}) {
		&save_directive("BannerMessageFile", $conf);
		}
	else {
		-r $in{'banner'} || &error($text{'users_ebanner'});
		&save_directive("BannerMessageFile", $conf, $in{'banner'});
		}
	}

if ($version{'type'} ne 'ssh' || $version{'number'} < 2) {
	&save_directive("RhostsAuthentication", $conf,
			$in{'rhostsauth'} ? 'yes' : 'no');

	&save_directive("RhostsRSAAuthentication", $conf,
			$in{'rhostsrsa'} ? 'yes' : 'no');
	}

&save_directive("IgnoreRhosts", $conf, $in{'rhosts'} ? 'yes' : 'no');

if ($version{'type'} eq 'ssh') {
	&save_directive("IgnoreRootRhosts", $conf,
			$in{'rrhosts'} ? 'yes' : 'no');
	}

&flush_file_lines();
&unlock_file($config{'sshd_config'});
&webmin_log("users");
&redirect("");

   0707010004f4eb000081a40000000000000002000000013d1fe2e500000f1d000000200000000000000000000000000000001700000003reloc/sshd/sshd-lib.pl    #!/usr/local/bin/perl
# sshd-lib.pl
# Common functions for the ssh daemon config file

do '../web-lib.pl';
&init_config();

# Get version information
&read_file("$module_config_directory/version", \%version);

# get_sshd_config()
# Returns a reference to an array of SSHD config file options
sub get_sshd_config
{
local @rv = ( { 'dummy' => 1,
		'indent' => 0,
		'file' => $config{'sshd_config'},
		'line' => -1,
		'eline' => -1 } );
local $lnum = 0;
open(CONF, $config{'sshd_config'});
while(<CONF>) {
	s/\r|\n//g;
	s/^\s*#.*$//g;
	local ($name, @values) = split(/\s+/, $_);
	if ($name) {
		local $dir = { 'name' => $name,
			       'values' => \@values,
			       'file' => $config{'sshd_config'},
			       'line' => $lnum };
		push(@rv, $dir);
		}
	$lnum++;
	}
close(CONF);
return \@rv;
}

# find_value(name, &config)
sub find_value
{
foreach $c (@{$_[1]}) {
	if (lc($c->{'name'}) eq lc($_[0])) {
		return wantarray ? @{$c->{'values'}} : $c->{'values'}->[0];
		}
	}
return wantarray ? ( ) : undef;
}

# find(value, &config)
sub find
{
local @rv;
foreach $c (@{$_[1]}) {
	if (lc($c->{'name'}) eq lc($_[0])) {
		push(@rv, $c);
		}
	}
return wantarray ? @rv : $rv[0];
}

# save_directive(name, &config, [value*])
sub save_directive
{
local @o = &find($_[0], $_[1]);
local @n = grep { defined($_) } @_[2..@_-1];
local $lref = &read_file_lines($_[1]->[0]->{'file'});
local $id = ("\t" x $_[1]->[0]->{'indent'});
local $i;
for($i=0; $i<@o || $i<@n; $i++) {
	if ($o[$i] && $n[$i]) {
		# Replacing a line
		$lref->[$o[$i]->{'line'}] = "$id$_[0] $n[$i]";
		}
	elsif ($o[$i]) {
		# Removing a line
		splice(@$lref, $o[$i]->{'line'}, 1);
		foreach $c (@{$_[1]}) {
			if ($c->{'line'} > $o[$i]->{'line'}) {
				$c->{'line'}--;
				}
			}
		}
	elsif ($n[$i]) {
		# Adding a line
		local $ll = $_[1]->[@{$_[1]}-1]->{'line'};
		splice(@$lref, $ll+1, 0, "$id$_[0] $n[$i]");
		}
	}
}

# scmd(double)
sub scmd
{
if ($cmd_count % 2 == 0) {
	print "<tr>\n";
	}
elsif ($_[0]) {
	print "<td colspan=2></td> </tr>\n";
	print "<tr>\n";
	$cmd_count = 0;
	}
$cmd_count += ($_[0] ? 2 : 1);
}

# ecmd()
sub ecmd
{
if ($cmd_count % 2 == 0) {
	print "</tr>\n";
	}
}

# get_client_config()
# Returns a list of structures, one for each host
sub get_client_config
{
local @rv = ( { 'dummy' => 1,
		'indent' => 0,
		'file' => $config{'client_config'},
		'line' => -1,
		'eline' => -1 } );
local $host;
local $lnum = 0;
open(CLIENT, $config{'client_config'});
while(<CLIENT>) {
	s/\r|\n//g;
	s/^\s*#.*$//g;
	s/^\s*//g;
	local ($name, @values) = split(/\s+/, $_);
	if (lc($name) eq 'host') {
		# Start of new host
		$host = { 'name' => $name,
			  'values' => \@values,
			  'file' => $config{'client_config'},
			  'line' => $lnum,
			  'eline' => $lnum,
			  'members' => [ { 'dummy' => 1,
					   'indent' => 1,
					   'file' => $config{'client_config'},
					   'line' => $lnum } ] };
		push(@rv, $host);
		}
	elsif ($name) {
		# A directive inside a host
		local $dir = { 'name' => $name,
			       'values' => \@values,
			       'file' => $config{'client_config'},
			       'line' => $lnum };
		push(@{$host->{'members'}}, $dir);
		$host->{'eline'} = $lnum;
		}
	$lnum++;
	}
close(CLIENT);
return \@rv;
}

# create_host(&host)
sub create_host
{
local $lref = &read_file_lines($config{'client_config'});
$_[0]->{'line'} = $_[0]->{'eline'} = scalar(@$lref);
push(@$lref, "Host ".join(" ", @{$_[0]->{'values'}}));
$_[0]->{'members'} = [ { 'dummy' => 1,
			 'indent' => 1,
			 'file' => $config{'client_config'},
			 'line' => $_[0]->{'line'} } ];
}

# modify_host(&host)
sub modify_host
{
local $lref = &read_file_lines($config{'client_config'});
$lref->[$_[0]->{'line'}] = "Host ".join(" ", @{$_[0]->{'values'}});
}

# delete_host(&host)
sub delete_host
{
local $lref = &read_file_lines($config{'client_config'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
}

1;

   0707010004f4ec000081e40000000000000002000000013d1fe2e50000018e000000200000000000000000000000000000001500000003reloc/sshd/start.cgi  #!/usr/local/bin/perl
# start.cgi
# Start the ssh daemon

require './sshd-lib.pl';
&ReadParse();
&error_setup($text{'start_err'});
if ($config{'start_cmd'}) {
	$out = &backquote_logged("$config{'start_cmd'} 2>&1 </dev/null");
	if ($?) { &error($out); }
	}
else {
	$out = &backquote_logged("$config{'sshd_path'} 2>&1 </dev/null");
	if ($?) { &error($out); }
	}
&webmin_log("start");
&redirect("");

  0707010004f4ed000081a40000000000000002000000013d1fe2e500000369000000200000000000000000000000000000001f00000003reloc/sshd/useradmin_update.pl    
do 'sshd-lib.pl';

# useradmin_create_user(&details)
# Setup SSH and GNUPG for new users
sub useradmin_create_user
{
if ($config{'sync_create'} && &has_command($config{'keygen_path'}) &&
    -d $_[0]->{'home'} && !-d "$_[0]->{'home'}/.ssh") {
	local $cmd;
	if ($config{'sync_pass'} && $_[0]->{'passmode'} == 3) {
		$cmd = "$config{'keygen_path'} -P \"$_[0]->{'plainpass'}\"";
		}
	else {
		$cmd = "$config{'keygen_path'} -P \"\"";
		}
	&system_logged("echo '' | su $_[0]->{'user'} -c '$cmd' >/dev/null 2>&1");
	if ($config{'sync_auth'}) {
		&system_logged("cp $_[0]->{'home'}/.ssh/identity.pub $_[0]->{'home'}/.ssh/authorized_keys");
		&system_logged("chown $_[0]->{'uid'}:$_[0]->{'gid'} $_[0]->{'home'}/.ssh/authorized_keys");
		}
	}
}

# useradmin_delete_user(&details)
sub useradmin_delete_user
{
}

# useradmin_modify_user(&details)
sub useradmin_modify_user
{
}

1;

   07070100057dab000041ed0000000000000001000000053d1ffb6e00000000000000200000000000000000000000000000000d00000003reloc/status  07070100057dac000081a40000000000000002000000013d1fe2de0000034f000000200000000000000000000000000000001d00000003reloc/status/acl_security.pl  
do 'status-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the status module
sub acl_security_form
{
print "<tr> <td><b>$text{'acl_edit'}</b></td> <td>\n";
printf "<input type=radio name=edit value=1 %s> $text{'yes'}\n",
	$_[0]->{'edit'} ? 'checked' : '';
printf "<input type=radio name=edit value=0 %s> $text{'no'}</td>\n",
	$_[0]->{'edit'} ? '' : 'checked';

print "<td><b>$text{'acl_sched'}</b></td> <td>\n";
printf "<input type=radio name=sched value=1 %s> $text{'yes'}\n",
	$_[0]->{'sched'} ? 'checked' : '';
printf "<input type=radio name=sched value=0 %s> $text{'no'}</td> </tr>\n",
	$_[0]->{'sched'} ? '' : 'checked';
}

# acl_security_save(&options)
# Parse the form for security options for the acl module
sub acl_security_save
{
$_[0]->{'edit'} = $in{'edit'};
$_[0]->{'sched'} = $in{'sched'};
}

 07070100057dad000081a40000000000000002000000013d1fe2de0000035a000000200000000000000000000000000000001f00000003reloc/status/apache-monitor.pl    # apache-monitor.pl
# Monitor the apache server on this host

# Check the PID file to see if apache is running
sub get_apache_status
{
&foreign_require($_[1], "apache-lib.pl");
return { 'up' => -1 } if (!&foreign_check($_[1]));
local %aconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-x $aconfig{'httpd_path'});
local $conf = &foreign_call($_[1], "get_config");
local $str = &foreign_call($_[1], "find_directive_struct", "PidFile", $conf);
local $file = $str ? $str->{'words'}->[0] : "logs/httpd.pid";
$file = &foreign_call($_[1], "server_root", $file, $conf);
if (open(PID, $file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($file);
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_apache_dialog
{
&depends_check($_[0], "apache");
}

1;

  07070100057dae000081a40000000000000002000000013d1fe2de0000042f000000200000000000000000000000000000001e00000003reloc/status/bind8-monitor.pl # bind8-monitor.pl
# Monitor the BIND DNS server on this host

# Check the PID file to see if apache is running
sub get_bind8_status
{
&foreign_require($_[1], "bind8-lib.pl");
local %bconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $bconfig{'chroot'}.$bconfig{'named_conf'});
local $conf = &foreign_call($_[1], "get_config");
local $opts = &foreign_call($_[1], "find", "options", $conf);
local $pidopt = &foreign_call($_[1], "find", "pid-file", $opts->{'members'});
local $file = $pidopt ? $pidopt->{'value'} :
	      $bconfig{'pid_file'} ? $bconfig{'pid_file'} :
	      "/var/run/named.pid";
if ($file !~ /^\//) {
	local $dir = &foreign_call($_[1], "find", "directory",
				   $opts->{'members'});
	$file = $dir->{'value'}."/".$file;
	}
$file = $bconfig{'chroot'}.$file;

if (open(PID, $file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($file);
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_bind8_dialog
{
&depends_check($_[0], "bind8");
}

1;

 07070100057daf000081a40000000000000002000000013d1fe2de000001a4000000200000000000000000000000000000002100000003reloc/status/cfengine-monitor.pl  # cfengine-monitor.pl
# Monitor the cfengine daemon on this host

# Check the PID file to see if cfd is running
sub get_cfengine_status
{
local %cconfig = &foreign_config("cfengine");
&has_command($cconfig{'cfd'}) || return { 'up' => -1 };
local @pids = &find_byname("cfd");
if (@pids) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_cfengine_dialog
{
&depends_check($_[0], "cfengine");
}

1;

07070100057db0000081a40000000000000002000000013d1fe2de000002dd000000200000000000000000000000000000001f00000003reloc/status/change-monitor.pl    # change-monitor.pl
# Check if some file has changed

sub get_change_status
{
local %change;
&read_file("$module_config_directory/change", \%change);
local $t = $change{$_[0]->{'file'}};
local @st = stat($_[0]->{'file'});
local $rv;
if ($t && $st[9] != $t) {
	$rv = { 'up' => 0 };
	}
elsif (!$t) {
	$rv = { 'up' => -1 };
	}
else {
	$rv = { 'up' => 1 };
	}
$change{$_[0]->{'file'}} = $st[9];
&write_file("$module_config_directory/change", \%change);
return $rv;
}

sub show_change_dialog
{
print "<tr> <td><b>$text{'change_file'}</b></td>\n";
printf "<td colspan=3><input name=file size=30 value='%s'> %s</td> </tr>\n",
	$_[0]->{'file'}, &file_chooser_button("file", 0);
}

sub parse_change_dialog
{
$_[0]->{'file'} = $in{'file'};
}

   07070100057db1000081a40000000000000002000000013d1fe2de0000001b000000200000000000000000000000000000001400000003reloc/status/config   index_status=1
sort_mode=0
 07070100057db2000081a40000000000000002000000013d1fe2de0000002e000000200000000000000000000000000000002000000003reloc/status/config-corel-linux   index_status=1
ping_cmd=ping -c 1
sort_mode=0
  07070100057db3000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002100000003reloc/status/config-debian-linux  index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057db4000081a40000000000000002000000013d1fe2de0000002e000000200000000000000000000000000000001c00000003reloc/status/config-freebsd   index_status=1
ping_cmd=ping -c 1
sort_mode=0
  07070100057db5000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002200000003reloc/status/config-generic-linux index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057db6000081a40000000000000002000000013d1fe2de00000029000000200000000000000000000000000000001900000003reloc/status/config-hpux  index_status=1
ping_cmd=ping
sort_mode=0
   07070100057db7000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002300000003reloc/status/config-mandrake-linux    index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057db8000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000001e00000003reloc/status/config-msc-linux index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057dbc000081a40000000000000002000000013d1fe2de0000002e000000200000000000000000000000000000001b00000003reloc/status/config-netbsd    index_status=1
ping_cmd=ping -c 1
sort_mode=0
  07070100057de2000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000001f00000003reloc/status/config-open-linux    index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057de3000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002100000003reloc/status/config-redhat-linux  index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057de4000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002400000003reloc/status/config-slackware-linux   index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057de5000081a40000000000000002000000013d1fe2de00000029000000200000000000000000000000000000001c00000003reloc/status/config-solaris   index_status=1
ping_cmd=ping
sort_mode=0
   07070100057de6000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000001f00000003reloc/status/config-suse-linux    index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057de7000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002000000003reloc/status/config-turbo-linux   index_status=1
ping_cmd=ping -c 1
pager_cmd=yaps
sort_mode=0
   07070100057e0c000081a40000000000000002000000013d1fe2de00000135000000200000000000000000000000000000001900000003reloc/status/config.info  index_status=Status to display in list,1,1-Current status,0-From last scheduled check
ping_cmd=Command to ping a host,3,None
pager_cmd=Command to send message to a pager,3,None
refresh=Seconds between page refreshes,3,Don't refresh
sort_mode=Display monitors sorted by,1,0-Order created,1-Description,2-Host

   07070100057e0d000081a40000000000000002000000013d1fe2de00000116000000200000000000000000000000000000001c00000003reloc/status/config.info.ca   index_status=Estat a mostrar a la llista,1,1-Estat actual,0-A partir de la darrera verificació programada
ping_cmd=Ordre per fer ping sobre un host,3,Cap
pager_cmd=Ordre per enviar el missatge a un buscapersones,3,Cap
refresh=Segons entre el refresc de pàgines,3,No refresquis

  07070100057e0f000081a40000000000000002000000013d1fe2de000000bf000000200000000000000000000000000000001c00000003reloc/status/config.info.de   index_status=In der Liste anzuzeigender Status,1,1-Aktueller Status,0-Vom letzten Überwachungszeitpunkt
ping_cmd=Befehl zum ping an einen Host,3,None
pager_cmd=Befehl für Pager Senden,3,None
 07070100057e10000081a40000000000000002000000013d1fe2de00000092000000200000000000000000000000000000001c00000003reloc/status/config.info.es   index_status=Estado a mostrar en la lista,1,1-Estado actual,0-Del último chequeo planificado
ping_cmd=Comando para hecer ping a máquina,3,Ninguno
  07070100057e11000081a40000000000000002000000013d1fe2de0000007d000000200000000000000000000000000000001c00000003reloc/status/config.info.nl   index_status=Status to display in list,1,1-Current status,0-From last scheduled check
ping_cmd=Command to ping a host,3,None
   07070100057e12000081a40000000000000002000000013d1fe2de00000092000000200000000000000000000000000000001c00000003reloc/status/config.info.pl   index_status=Stan pokazywany na li¶cie,1,1-Stan bie¿±cy,0-Z&nbsp;ostatniego regularnrgo sprawdzenia
ping_cmd=Polecenie do pingowania hosta,3,Brak
  07070100057e13000081a40000000000000002000000013d1fe2de00000093000000200000000000000000000000000000001c00000003reloc/status/config.info.sv   index_status=Status som ska visas i listan,1,1-Aktuell status,0-Från senaste schemalagda kontroll
ping_cmd=Kommando för att pinga en dator,3,Inget
 07070100057e14000081a40000000000000002000000013d1fe2de0000007d000000200000000000000000000000000000001f00000003reloc/status/config.info.zh_CN    index_status=Status to display in list,1,1-Current status,0-From last scheduled check
ping_cmd=Command to ping a host,3,None
   07070100057e15000081a40000000000000002000000013d1fe2de0000000f000000200000000000000000000000000000001800000003reloc/status/defaultacl   edit=1
sched=1
 07070100057e16000081a40000000000000002000000013d1fe2de00000244000000200000000000000000000000000000001e00000003reloc/status/dhcpd-monitor.pl # dhcpd-monitor.pl
# Monitor the DHCP server on this host

# Check the PID file to see if DHCPd is running
sub get_dhcpd_status
{
&foreign_require($_[1], "dhcpd-lib.pl");
local %dconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $dconfig{'dhcpd_conf'});
if (open(PID, $dconfig{'pid_file'}) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($dconfig{'pid_file'});
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_dhcpd_dialog
{
&depends_check($_[0], "dhcpd");
}

1;

07070100057e17000081a40000000000000002000000013d1fe2de00000264000000200000000000000000000000000000002100000003reloc/status/dnsadmin-monitor.pl  # dnsadmin-monitor.pl
# Monitor the BIND 4 DNS server on this host

# Check the PID file to see if BIND is running
sub get_dnsadmin_status
{
&foreign_require($_[1], "dns-lib.pl");
local %dconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $dconfig{'named_boot_file'});
if (open(PID, $dconfig{'named_pid_file'}) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($dconfig{'named_pid_file'});
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_dnsadmin_dialog
{
&depends_check($_[0], "dnsadmin");
}

1;

07070100057e18000081e40000000000000002000000013d1fe2de00000eb9000000200000000000000000000000000000001a00000003reloc/status/edit_mon.cgi #!/usr/local/bin/perl
# edit_mon.cgi
# Display a form for editing or creating a monitor

require './status-lib.pl';
$access{'edit'} || &error($text{'mon_ecannot'});
&foreign_require("servers", "servers-lib.pl");
&ReadParse();
if ($in{'type'}) {
	&header($text{'mon_create'}, "");
	$type = $in{'type'};
	}
else {
	&header($text{'mon_edit'}, "");
	$serv = &get_service($in{'id'});
	$type = $serv->{'type'};
	}
print "<center><font size=+1>",$text{"type_$type"},"</font></center><hr>\n";

print "<form action=save_mon.cgi>\n";
print "<input type=hidden name=type value='$in{'type'}'>\n";
print "<input type=hidden name=id value='$in{'id'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'mon_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if (-d "../$type") {
	local @st = stat("../$type");
	opendir(DIR, "..");
	foreach $m (readdir(DIR)) {
		local @lst = stat("../$m");
		if (-l "../$m" && $st[1] == $lst[1]) {
			# found a clone
			push(@clones, $m);
			}
		}
	}

print "<tr> <td><b>$text{'mon_desc'}</b></td>\n";
printf "<td><input name=desc size=30 value='%s'></td>\n",
	$in{'type'} ? $text{"type_$type"} : $serv->{'desc'};

if (!$in{'type'}) {
	print "<td><b>$text{'mon_status'}</b></td>\n";
	$stat = &service_status($serv);
	print "<td>",($stat->{'desc'} ? &html_escape($stat->{'desc'}) :
		     $stat->{'up'} == 1 ? $text{'mon_up'} :
		     $stat->{'up'} == -1 ? $text{'mon_not'} :
		     $stat->{'up'} == -2 ? $text{'mon_webmin'} :
		 "<font color=#ff0000>$text{'mon_down'}</font>"),"</td>\n";
	}
print "</tr>\n";

print "<tr> <td><b>$text{'mon_remote'}</b></td>\n";
@servs = grep { $_->{'user'} } &foreign_call("servers", "list_servers");
if (@servs) {
	printf "<td><input type=radio name=remote_def value=1 %s> %s\n",
		$serv->{'remote'} ? '' : 'checked', $text{'mon_local'};
	printf "<input type=radio name=remote_def value=0 %s>\n",
		$serv->{'remote'} ? 'checked' : '';
	print "<select name=remote>\n";
	foreach $s (@servs) {
		printf "<option %s>%s\n",
			$s->{'host'} eq $serv->{'remote'} ? 'selected' : '',
			$s->{'host'};
		}
	print "</select></td>\n";
	}
else {
	print "<td>$text{'mon_local'} ($text{'mon_none'})</td>\n";
	print "<input type=hidden name=remote_def value=1>\n";
	}

print "<td><b>$text{'mon_nosched'}</b></td>\n";
printf "<td><input type=radio name=nosched value=0 %s> %s\n",
	$serv->{'nosched'} ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=nosched value=1 %s> %s</td> </tr>\n",
	$serv->{'nosched'} ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'mon_ondown'}</b></td>\n";
print "<td><input name=ondown size=30 value='$serv->{'ondown'}'></td>\n";

print "<td><b>$text{'mon_onup'}</b></td>\n";
print "<td><input name=onup size=30 value='$serv->{'onup'}'></td> </tr>\n";

if (@clones) {
	print "<tr> <td><b>$text{'mon_clone'}</b></td>\n";
	print "<td><select name=clone>\n";
	local %minfo = &get_module_info($type);
	printf "<option value='' %s> %s\n",
		$serv->{'clone'} ? '' : 'checked', $minfo{'desc'};
	foreach $c (@clones) {
		%minfo = &get_module_info($c);
		printf "<option value=%s %s>%s\n",
			$c, $serv->{'clone'} eq $c ? 'selected' : '',
			$minfo{'desc'};
		}
	print "</select></td> </tr>\n";
	}

do "./${type}-monitor.pl";
$func = "show_${type}_dialog";
if (defined(&$func)) {
	print "<tr> <td colspan=4><hr></td> </tr>\n";
	&$func($serv);
	}

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'type'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form><hr>\n";
&footer("", $text{'index_return'});

   07070100057e19000081e40000000000000002000000013d1fe2de00001030000000200000000000000000000000000000001c00000003reloc/status/edit_sched.cgi   #!/usr/local/bin/perl
# edit_sched.cgi
# Configure scheduled checking of services

require './status-lib.pl';
$access{'sched'} || &error($text{'sched_ecannot'});
&header($text{'sched_title'}, "");
print "<hr>\n";

print "<form action=save_sched.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'sched_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'sched_mode'}</b></td>\n";
printf "<td><input type=radio name=mode value=1 %s> %s\n",
	$config{'sched_mode'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=mode value=0 %s> %s</td>\n",
	$config{'sched_mode'} ? '' : 'checked', $text{'no'};

print "<td><b>$text{'sched_single'}</b></td>\n";
printf "<td><input type=radio name=single value=1 %s> %s\n",
	$config{'sched_single'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=single value=0 %s> %s</td> </tr>\n",
	$config{'sched_single'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'sched_int'}</b></td>\n";
printf "<td colspan=3><input name=int size=5 value='%s'>\n",
	$config{'sched_int'} ? $config{'sched_int'} : 5;
print "<select name=period>\n";
for($i=0; $i<4; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, $config{'sched_period'} == $i ? 'selected' : '',
		$text{"sched_period_$i"};
	}
print "</select> $text{'sched_offset'}\n";
printf "<input name=offset size=5 value='%d'></td> </tr>\n",
	$config{'sched_offset'};

map { $hours{$_}++ } split(/\s+/, $config{'sched_hours'});
print "<tr> <td valign=top><b>$text{'sched_hours'}</b></td> <td>\n";
for($j=0; $j<24; $j+=6) {
	print "<select name=hours size=6 multiple>\n";
	for($i=$j; $i<$j+6; $i++) {
		printf "<option value=%s %s>%2.2d:00\n",
			$i, !%hours || $hours{$i} ? 'selected' : '', $i;
		}
	print "</select>\n";
	}
print "</td>\n";

map { $days{$_}++ } split(/\s+/, $config{'sched_days'});
print "<td valign=top><b>$text{'sched_days'}</b></td>\n";
print "<td><select name=days size=7 multiple>\n";
for($i=0; $i<7; $i++) {
	printf "<option value=%s %s>%s\n",
		$i, !%days || $days{$i} ? 'selected' : '', $text{"day_$i"};
	}
print "</select></td> </tr>\n";



print "<tr> <td><b>$text{'sched_warn'}</b></td>\n";
printf "<td colspan=3><input type=radio name=warn value=1 %s> %s\n",
	$config{'sched_warn'} ? 'checked' : '', $text{'sched_warn1'};
printf "<input type=radio name=warn value=0 %s> %s</td> </tr>\n",
	$config{'sched_warn'} ? '' : 'checked', $text{'sched_warn0'};

print "<tr> <td><b>$text{'sched_email'}</b></td>\n";
printf "<td colspan=3><input type=radio name=email_def value=1 %s> %s\n",
	$config{'sched_email'} ? '' : 'checked', $text{'sched_none'};
printf "<input type=radio name=email_def value=0 %s>\n",
	$config{'sched_email'} ? 'checked' : "";
printf "<input name=email size=30 value='%s'></td> </tr>\n",
	$config{'sched_email'};

print "<tr> <td><b>$text{'sched_from'}</b></td>\n";
printf "<td colspan=3><input name=from_def type=radio value=1 %s> %s (%s)\n",
	$config{'sched_from'} ? '' : 'checked', $text{'default'}, 'webmin';
printf "<input name=from_def type=radio value=0 %s>\n",
	$config{'sched_from'} ? 'checked' : '';
printf "<input name=from size=30 value='%s'></td> </tr>\n",
	$config{'sched_from'};

print "<tr> <td><b>$text{'sched_smtp'}</b></td>\n";
printf "<td colspan=3><input name=smtp_def type=radio value=1 %s> %s\n",
	$config{'sched_smtp'} ? '' : 'checked', $text{'sched_smtp_prog'};
printf "<input name=smtp_def type=radio value=0 %s> %s\n",
	$config{'sched_smtp'} ? 'checked' : '', $text{'sched_smtp_server'};
printf "<input name=smtp size=30 value='%s'></td> </tr>\n",
	$config{'sched_smtp'};

print "<tr> <td><b>$text{'sched_pager'}</b></td>\n";
printf "<td colspan=3><input type=radio name=pager_def value=1 %s> %s\n",
	$config{'sched_pager'} ? '' : 'checked', $text{'sched_none'};
printf "<input type=radio name=pager_def value=0 %s>\n",
	$config{'sched_pager'} ? 'checked' : "";
printf "<input name=pager size=30 value='%s'></td> </tr>\n",
	$config{'sched_pager'};

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

07070100057e1a000081a40000000000000002000000013d1fe2de000001b4000000200000000000000000000000000000001d00000003reloc/status/exec-monitor.pl  # exec-monitor.pl
# Check if some command exits with non-zero status

sub get_exec_status
{
system("($_[0]->{'cmd'}) >/dev/null 2>&1 </dev/null");
return { 'up' => $?==0 ? 1 : 0 };
}

sub show_exec_dialog
{
print "<tr> <td><b>$text{'exec_cmd'}</b></td>\n";
print "<td colspan=3><input name=cmd size=50 value='$_[0]->{'cmd'}'></td>\n";
}

sub parse_exec_dialog
{
$in{'cmd'} || &error($text{'exec_ecmd'});
$_[0]->{'cmd'} = $in{'cmd'};
}

07070100057e1b000081a40000000000000002000000013d1fe2de000000af000000200000000000000000000000000000001f00000003reloc/status/feedback_files.pl    
do 'status-lib.pl';

sub feedback_files
{
opendir(DIR, $services_dir);
local @rv = map { "$services_dir/$_" } grep { !/^\./ } readdir(DIR);
closedir(DIR);
return @rv;
}

1;

 07070100057e1c000081a40000000000000002000000013d1fe2de00000658000000200000000000000000000000000000001d00000003reloc/status/file-monitor.pl  # file-monitor.pl
# Check the status of some file

sub get_file_status
{
local @st = stat($_[0]->{'file'});
if ($_[0]->{'test'} == 0) {
	$up = @st ? 1 : 0;
	}
elsif ($_[0]->{'test'} == 1) {
	$up = @st ? 0 : 1;
	}
elsif ($_[0]->{'test'} == 2) {
	$up = $st[7] > $_[0]->{'greater'} ? 1 : 0;
	}
elsif ($_[0]->{'test'} == 3) {
	$up = $st[7] < $_[0]->{'lesser'} ? 1 : 0;
	}
return { 'up' => $up };
}

sub show_file_dialog
{
print "<tr> <td><b>$text{'file_file'}</b></td>\n";
print "<td colspan=3><input name=file size=50 ",
      "value='$_[0]->{'file'}'></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'file_test'}</b></td>\n";
printf "<td><input type=radio name=test value=0 %s> %s<br>\n",
	$_[0]->{'test'} == 0 ? 'checked' : '', $text{'file_test_0'};
printf "<input type=radio name=test value=1 %s> %s<br>\n",
	$_[0]->{'test'} == 1 ? 'checked' : '', $text{'file_test_1'};
printf "<input type=radio name=test value=2 %s> %s\n",
	$_[0]->{'test'} == 2 ? 'checked' : '', $text{'file_test_2'};
printf "<input name=greater size=8 value='%s'> %s<br>\n",
	$_[0]->{'greater'}, $text{'file_bytes'};
printf "<input type=radio name=test value=3 %s> %s\n",
	$_[0]->{'test'} == 3 ? 'checked' : '', $text{'file_test_3'};
printf "<input name=lesser size=8 value='%s'> %s<br>\n",
	$_[0]->{'lesser'}, $text{'file_bytes'};
print "</td> </tr>\n";
}

sub parse_file_dialog
{
$in{'file'} || &error($text{'file_efile'});
$_[0]->{'file'} = $in{'file'};
$_[0]->{'test'} = $in{'test'};
$in{'greater'} =~ /^\d*$/ && $in{'lesser'} =~ /^\d*$/ ||
	&error($text{'file_esize'});
$_[0]->{'greater'} = $in{'greater'};
$_[0]->{'lesser'} = $in{'lesser'};
}

07070100057e1d000081a40000000000000002000000013d1fe2de000001d3000000200000000000000000000000000000002300000003reloc/status/hostsentry-monitor.pl    # hostsentry-monitor.pl
# Monitor the hostsentry daemon

# Check the PID file to see if hostsentry is running
sub get_hostsentry_status
{
local %sconfig = &foreign_config("sentry");
-r $sconfig{'hostsentry'} || return { 'up' => -1 };
&foreign_require("sentry", "sentry-lib.pl");
local $pid = &sentry::get_hostsentry_pid();
if ($pid) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_hostsentry_dialog
{
&depends_check($_[0], "sentry");
}

1;

 07070100057e1e000081a40000000000000002000000013d1fe2de00000c44000000200000000000000000000000000000001d00000003reloc/status/http-monitor.pl  # http-monitor.pl
# Monitor a remote HTTP server

sub get_http_status
{
  # Connect to the server
  local $up=0;
  eval {
    local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
    alarm($_[0]->{'alarm'} ? $_[0]->{'alarm'} : 10);
    
    socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname("tcp")) ||
      return { 'up' => -1 };
    local $addr = inet_aton($_[0]->{'host'});
    return { 'up' => -1 } if (!$addr);
    local $st = time();
    connect(SOCK, sockaddr_in($_[0]->{'port'}, $addr)) ||
      return { 'up' => 0 };
    select(SOCK); $| = 1; select(STDOUT);
    
    # Request a page
    print SOCK "HEAD $_[0]->{'page'} HTTP/1.0\r\n";
    print SOCK "Host: $_[0]->{'host'}\r\n";
    print SOCK "User-agent: Webmin\r\n";
    if ($_[0]->{'user'}) {
	local $auth = &encode_base64("$_[0]->{'user'}:$_[0]->{'pass'}");
	$auth =~ s/\n//g;
	print SOCK "Authorization: basic $auth\r\n";
	}
    print SOCK "\r\n";
    local $line = <SOCK>;
    $up = $line =~ /^HTTP\/1\..\s+200\s+/ ? 1 : 0;
    close(SOCK);
    alarm(0);
  };

  if ($@) {
    die unless $@ eq "alarm\n";   # propagate unexpected errors
    return { 'up' => 0};
  }
  else { 
    return { 'up' => $up,'time' => time() - $st};
  }
}

sub show_http_dialog
{
print "<tr> <td><b>$text{'http_url'}</b></td>\n";
printf "<td><input name=url size=40 value='%s'></td>\n",
 $_[0]->{'host'} ? "http://$_[0]->{'host'}:$_[0]->{'port'}$_[0]->{'page'}"
		 : "http://";

print "<td><b>$text{'http_alarm'}</b></td>\n";
printf "<td><input type=radio name=alarm_def value=1 %s> %s\n",
	$_[0]->{'alarm'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=alarm_def value=0 %s>\n",
	$_[0]->{'alarm'} ? 'checked' : '';
print "<input name=alarm size=5 value='$_[0]->{'alarm'}'></td> </tr>\n";

print "<tr> <td><b>$text{'http_login'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=user_def value=1 %s> %s\n",
	$_[0]->{'user'} ? "" : "checked", $text{'http_none'};
printf "<input type=radio name=user_def value=0 %s> %s\n",
	$_[0]->{'user'} ? "checked" : "", $text{'http_user'};
printf "<input name=user size=15 value='%s'> %s\n",
	$_[0]->{'user'}, $text{'http_pass'};
printf "<input name=pass size=15 value='%s'></td> </tr>\n",
	$_[0]->{'pass'};
}

sub parse_http_dialog
{
if ($in{'url'} =~ /^http:\/\/([^:]+):(\d+)(\/.*)$/) {
	$_[0]->{'host'} = $1;
	$_[0]->{'port'} = $2;
	$_[0]->{'page'} = $3;
	}
elsif ($in{'url'} =~ /http:\/\/([^\/]+)(\/.*)$/) {
	$_[0]->{'host'} = $1;
	$_[0]->{'port'} = 80;
	$_[0]->{'page'} = $2;
	}
elsif ($in{'url'} =~ /^http:\/\/([^:]+):(\d+)$/) {
	$_[0]->{'host'} = $1;
	$_[0]->{'port'} = $2;
	$_[0]->{'page'} = "/";
	}
elsif ($in{'url'} =~ /http:\/\/([^\/]+)$/) {
	$_[0]->{'host'} = $1;
	$_[0]->{'port'} = 80;
	$_[0]->{'page'} = "/";
	}
else {
	&error($text{'http_eurl'});
	}

if ($in{'alarm_def'}) {
	delete($_[0]->{'alarm'});
	}
else {
	$in{'alarm'} =~ /^\d+$/ || &error($text{'http_ealarm'});
	$_[0]->{'alarm'} = $in{'alarm'};
	}

if ($in{'user_def'}) {
	delete($_[0]->{'user'});
	delete($_[0]->{'pass'});
	}
else {
	$in{'user'} || &error($text{'http_euser'});
	$_[0]->{'user'} = $in{'user'};
	$_[0]->{'pass'} = $in{'pass'};
	}
}

07070100059325000041ed0000000000000001000000023d1ffb6c00000000000000200000000000000000000000000000001400000003reloc/status/images   07070100059326000081a40000000000000002000000013d1fe2de0000005b000000200000000000000000000000000000001d00000003reloc/status/images/down.gif  GIF89a  ¡  ÿÿÿÿ  ÿÿÿÿÿÿ!þMade with GIMP !ù    ,       „‘°¶˜’ð9:c«8Å^]%Nž^[S  ; 07070100059327000081a40000000000000002000000013d1fe2de0000081b000000200000000000000000000000000000001d00000003reloc/status/images/icon.gif  GIF89a0 0 ç  >>Dž¢œnrlÒÒÌŠŠ„ZZ\ºº´êêäNNL––Œ®®¤z~|ÂÆÄÚÞÜFFDffdööôŽ’Œ²¶´ÎÎÌzztšžœÊÆÌææÜ¦ª¤VVT††„vrt’ŽŒNJLnnlúþüFBDÚÚÔŠŽŒbbd¾Â¼®²¬ââÜ¦¦œb^dòòìVR\šš”‚~„ÆÊÄJJLþúüBBDrvtÖÖÌ^^\RRTÆÆÌjjlúúô–’”¶¶¼¢žœÊÊÄŽŽ”¢¢œrrl¾¾¼îîìRNTš–œ®®´~~|ÆÆ¼ÞÞÔJFLjfl’’Œ¶¶¬žžœææìªª¤ZV\Š†ŒvvtrntŽŽ„ÂÂ¼²²¬æâäÎÊÌB>DÒÒÔŠŠŒ^Zdºº¼êêìNNT––”®®¬FFLfflööüzz|ææäVV\††ŒNJTnntþþüFBLÚÚÜââä¦¦¤òòôššœ‚‚„JJTBBLÖÖÔ^^dúúüÊÊÌ¢¢¤rrt~~„ÆÆÄÞÞÜ’’”¶¶´žž¤ªª¬vv|ŽŽŒÂÂÄ²²´ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ ÓH° Áƒ*\È°¡Ã‡#2¬‚Ä‹ë°Á2å;_ô`ÙcãÂŠ{&|Y‚‡'gÊx€ÇuL¬ãfÀ–>èÐ Ó%ƒ4ä¡c	S8vnèLSg@">€pàŽ2@nÜxqÂ {¨h ðgNÎ‹¶H3#cú”LXÇÄ„ú¸‘è¦”2`â¸1Â‡·
?@˜SdI 6!üˆ1oüÐBŠ–py(Ž
9rfLHCZ`Nurßøb ¨,qË0­ Ê¬øÂÍš-Kø !2Ÿ?[€¬ù@¦" ¨þèèQ¥·Â	xŽ ¸¢çiSFÐ2ÂÆ6Ê¨¹Òåè!ÕTm–Ð=  a¼Ð=¸@¤ÀÆ$¤P®W†_ü&‚^xð ;(x"t KÄeäa€@ cÜ¡Ám ¡ H"ƒzÀñÆh<`F)tÃ„H‡rdð‡ƒðF€q… ÀVÆ9Ì€$’G<`CZŒ€Ä^è™o¸ð& 081G
,àÃ"º \â›d0‚(¨Æ	ôA(Šd{ÔÑ†z‰–Š$¢ž"	†”1BþH°Uc¼‰¨?ÔñšÚê©¢Ž^‘* q Ð…
#°Ü@lt°( Gàñ‚ øŠ(~þy¯ Øà°Â®zxü@Ð ÏÊ_È1£°oÂÃ¤ª‚¢#ì‡§‡åÄM¸hÆŸ#„qÇ£º;HßzjC½Â2áŸyÆm`&¨P€0¸ ÂÎ:ã©HÚàÁÉ³1ÆÉoÞ¥Áo‘ È¢BÌ F ;à¯¶ /#iG/ÒiÂ.<ðE•iìñ’adFT  ° \ê	¼‰E7„CˆˆÂ  4C¸ Ãœáƒ°A*þpÐpê°?T€*¹í©HÂ †Ì1Ð?´AE.Ä C
ð¦Tëõ| ‘ÅŒ607…‡öz™Ú¶	i¤Ä0™HÒÐ‡ G¾‰Àu\0¢9”Px&¸Í,YŒ±6X´Bâ"TdÇ bÑT<H‡d‡A0,ñ€¢fì){nìÁÀx0 x€dS@`^N)ÁäÐ=<Æo ƒîp3$ÁE| f 6Ø!yWx@Ö^@7¡B3XŽB€˜a#ðTÜ‡² ‚8 ¾`Ì 8 dð†¼Áò@ÐÃ–Ð(£Á¬¢›ô†?Ä€@,È ˜ÂÄà.L@!Ðƒh0£ý iÉÉjã2d0AÞ0èa
}H„d€ëñ u’  ¡
2èCø0¸À9øÂƒÔ°‡©0ä =PÖ ™oÁà–ŒL
È’| À ò0ÈP¤¤©Ãî@F$±€|®Dˆdöƒ%,áeXZ™Kª¸A4s„jPL†¼€	~‚¾°Äfî¤+(À&k"äs¾@o.„‹n09×ÉÎvæ2  ; 07070100059328000081a40000000000000002000000013d1fe2de00000057000000200000000000000000000000000000001c00000003reloc/status/images/not.gif   GIF89a  €     ÿÿÿ!þMade with GIMP !ù
  ,       Œ	wÉn C‘ÎµêÍºñŽ|6Q™qRX*_ ; 0707010005932d000081a40000000000000002000000013d1fe2de0000004f000000200000000000000000000000000000001e00000003reloc/status/images/quest.gif GIF89a  €     ÿÿÿ!þMade with GIMP !ù
  ,       ŒÀ ë b†¾ŸÕùúl¨ ; 0707010005932e000081a40000000000000002000000013d1fe2de00000056000000200000000000000000000000000000001b00000003reloc/status/images/up.gif    GIF89a  ¡  ÿÿÿ ÿ ÿÿÿÿÿÿ!þMade with GIMP !ù    ,       „©{íts…š®ÒÒ^Œ|3: ;  07070100057e1f000081e40000000000000002000000013d1fe2de00000bae000000200000000000000000000000000000001700000003reloc/status/index.cgi    #!/usr/local/bin/perl
# index.cgi
# List all services currently being monitored

require './status-lib.pl';
print "Refresh: $config{'refresh'}\r\n"
	if ($config{'refresh'});
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";

@serv = &list_services();
$mid = int((@serv-1) / 2);
$oldstatus = &read_file("$module_config_directory/oldstatus", \%oldstatus);

if (@serv) {
	if ($config{'sort_mode'} == 1) {
		@serv = sort { $a->{'desc'} cmp $b->{'desc'} } @serv;
		}
	elsif ($config{'sort_mode'} == 2) {
		@serv = sort { $a->{'remote'} cmp $b->{'remote'} } @serv;
		}
	if (!$config{'index_status'} && $oldstatus) {
		local @st = stat("$module_config_directory/oldstatus");
		local $t = localtime($st[9]);
		print &text('index_oldtime', $t),"<br>\n";
		}
	print "<table width=100%><tr>\n";
	&show_button();
	print "</tr></table>\n";

	print "<table width=100%><tr>\n";
	print "<td width=50% valign=top>\n";
	&service_table(@serv[0 .. $mid]);
	print "</td> <td width=50% valign=top>\n";
	&service_table(@serv[$mid+1 .. $#serv]) if (@serv > 1);
	print "</td></tr></table>\n";
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}

print "<table width=100%><tr>\n";
&show_button();

if ($access{'sched'}) {
	print "<form action=edit_sched.cgi>\n";
	print "<td align=right><input type=submit ",
	      "value='$text{'index_sched'}'></td></form>\n";
	}
else {
	print "<td></td>\n";
	}
print "</tr></table>\n";

&remote_finished();
print "<hr>\n";
&footer("/", $text{'index'});

sub service_table
{
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_desc'}</b></td>\n";
print "<td><b>$text{'index_host'}</b></td>\n";
if ($oldstatus) {
	print "<td><b>$text{'index_last'}</b></td> ";
	}
elsif ($config{'index_status'}) {
	print "<td><b>$text{'index_up'}</b></td> ";
	}
print "</tr>\n";
foreach $s (@_) {
	print "<tr $cb>\n";
	if ($access{'edit'}) {
		print "<td><a href='edit_mon.cgi?id=$s->{'id'}'>",
		      &html_escape($s->{'desc'}),"</a></td>\n";
		}
	else {
		print "<td>",&html_escape($s->{'desc'}),"</td>\n";
		}
	print "<td>",$s->{'remote'} ? &html_escape($s->{'remote'})
				    : $text{'index_local'},"</td>\n";
	if ($config{'index_status'}) {
		$stat = &service_status($s);
		print "<td><img src=images/",
		      $stat->{'up'} == 1 ? "up.gif" :
		      $stat->{'up'} == -1 ? "not.gif" : "down.gif","></td>\n";
		}
	elsif ($oldstatus) {
		$o = $oldstatus{$s->{'id'}};
		print "<td><img src=images/",
		      $o eq '' ? "quest.gif" :
		      $o == 1 ? "up.gif" :
		      $o == -1 ? "not.gif" : "down.gif","></td>\n";
		}
	print "</tr>\n";
	}
print "</table>\n";
}

sub show_button
{
if ($access{'edit'}) {
	print "<form action=edit_mon.cgi>\n";
	print "<td><input type=submit value='$text{'index_add'}'> ",
	      "<select name=type>\n";
	foreach $h (sort { $text{"type_$a"} cmp $text{"type_$b"} }
		    &list_handlers()) {
		printf "<option value=%s>%s\n", $h, $text{"type_$h"};
		}
	print "</select></td></form>\n";
	}
else {
	print "<td></td>\n";
	}
}

  07070100057e20000081a40000000000000002000000013d1fe2de0000015b000000200000000000000000000000000000001e00000003reloc/status/inetd-monitor.pl # inetd-monitor.pl
# Monitor inetd on this host

sub get_inetd_status
{
&foreign_require("proc", "proc-lib.pl");
local %iconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $iconfig{'inetd_conf_file'});
return { 'up' => &find_named_process('inetd$') ? 1 : 0 };
}

sub parse_inetd_dialog
{
&depends_check($_[0], "inetd", "proc");
}

1;

 07070100057e21000081a40000000000000002000000013d1fe2de0000025a000000200000000000000000000000000000001f00000003reloc/status/jabber-monitor.pl    # jabber-monitor.pl
# Monitor the jabber server on this host

# Check the PID file to see if mon is running
sub get_jabber_status
{
local %jconfig = &foreign_config("jabber");
-r $jconfig{'jabber_config'} || return { 'up' => -1 };
&foreign_require($_[1], "jabber-lib.pl");
local $pidfile = &jabber::jabber_pid_file();
if (open(PID, $pidfile) && ($pid = int(<PID>)) && kill(0, $pid)) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_jabber_dialog
{
&depends_check($_[0], "jabber");
eval "use XML::Parser";
&error(&text('jabber_eparser', "<tt>XML::Parser</tt>")) if ($@);
}

1;

  0707010005abc4000041ed0000000000000001000000023d1ffb6d00000000000000200000000000000000000000000000001200000003reloc/status/lang 0707010005abc5000081a40000000000000002000000013d1fe2de0000173a000000200000000000000000000000000000001500000003reloc/status/lang/ca  index_title=Estat del Sistema i Servidors
index_name=Nom del servei
index_host=al host
index_desc=Monitorització
index_up=Estat
index_last=Darrera comprovació
index_local=Local
index_add=Afegeix monitor del tipus:
index_sched=Monitorització Planificada
index_return=a la llista de serveis
index_none=Actualment, no hi ha cap monitor definit.

type_apache=Servidor Web Apache
type_inetd=Servidor d'Internet i RPC
type_xinetd=Servidor d'Internet Ampliat
type_squid=Servidor de Proxy Squid
type_bind8=Servidor DNS BIND
type_dnsadmin=Servidor DNS BIND 4
type_dhcpd=Servidor DHCP
type_tcp=Servidor de TCP Remot
type_http=Servidor d'HTTP Remot
type_sendmail=Servidor Sendmail
type_postfix=Servidor Postfix
type_ping=Ping Remot
type_proc=Verificació de Processos
type_mysql=Servidor de BD MySQL
type_postgresql=Servidor de BD PostgreSQL
type_samba=Servidors Samba
type_nfs=Servidor NFS
type_exec=Execució d'Ordres
type_file=Verificació de Fitxer
type_traffic=Trànsit de Xarxa
type_space=Espai al Disc
type_load=Càrrega Mitjana
type_change=Canvi del Fitxer
type_qmailadmin=Servidor QMail

mon_create=Crea Monitor
mon_edit=Edita Monitor
mon_header=Detalls del Monitor
mon_desc=Descripció
mon_remote=Execució al host
mon_local=Local
mon_none=No hi ha cap servidor remot definit
mon_nosched=Verificar segons planificació
mon_status=Estat actual
mon_up=Actiu
mon_down=Inactiu
mon_webmin=Webmin Inactiu
mon_not=No instal·lat
mon_ondown=Si el monitor s'atura, executa l'ordre
mon_onup=Si el monitor s'engega, executa l'ordre
mon_clone=Mòdul a monitoritzar
mon_err=No he pogut desar el monitor
mon_edesc=Falta la descripció
mon_elogin=Connexió invàlida de RPC al servidor Webmin $1
mon_eremote=El servidor Webmin $1 no suporta RPC
mon_estatus=El servidor Webmin $1 no té el mòdul d'Estat del Sistema i Servidors
mon_ecannot=No tens permís per editar monitors
mon_ertype=Aquest tipus de monitor no està disponible a $1

sched_title=Monitorització Planificada
sched_header=Opcions de segon pla de monitorització planificada
sched_mode=Activa verificació planificada
sched_email=Enviar informe d'estat per e-mail a
sched_pager=Pàgina d'informe d'estat a numerar
sched_none=Ningú
sched_from=From: adreça de correu
sched_int=Verifica cada
sched_period_0=minuts
sched_period_1=hores
sched_period_2=dies
sched_period_3=mesos
sched_period_4=setmanes
sched_offset=amb interval
sched_warn=Envia e-mail
sched_warn1=Quan un servei canvia d'estat
sched_warn0=Quan un servei s'atura
sched_single=Envia un correu per servei
sched_hours=Executa el monitor les hores
sched_days=Executa el monitor els dies
sched_err=No he pogut desar la monitorització planificada
sched_eemail=Falta l'adreça de correu
sched_eint=No hi ha cap interval o bé és invàlid
sched_eoffset=No hi ha cap interval o bé és invàlid
sched_ehours=No s'han seleccionat hores d'execució
sched_edays=No s'han seleccionat dies d'execució
sched_ecannot=No tens permís per editar la monitorització planificada
sched_smtp=Envia el correu via
sched_smtp_prog=Executable sendmail local
sched_smtp_server=servidor SMTP
sched_esmtp=Hi falta el servidor SMTP o bé és invàlid
sched_esmtpcmd=L'ordre $1 de SMTP ha fallat: $2

up_since=Actiu des de $1
depends_mod=El mòdul $1 no està instal·lat al sistema
depends_os=El mòdul $1 no està suportat pel sistema
depends_remote=El mòdul $1 no està suportat pel servidor $2

tcp_host=Host a connectar
tcp_port=Port a connectar
tcp_alarm=Temps màxim d'espera
tcp_ehost=Falta nom de host o bé és invàlid
tcp_eport=Falta número de port o bé és invàlid
tcp_ealarm=Falta temps màxim d'espera o bé és invàlid

http_url=URL a demanar
http_alarm=Temps màxim d'espera
http_eurl=Falta URL o bé és invàlid
http_ealarm=Falta temps màxim d'espera o bé és invàlid

ping_host=Fes ping al host
ping_ehost=Falta nom de host o bé és invàlid
ping_wait=Temps d'espera per la resposta
ping_ewait=Hi falta el temps d'espera o bé és invàlid
ping_econfig=No s'ha configurat cap ordre ping a la Configuració del Mòdul

proc_pid=Executant amb PID $1
proc_cmd=Ordre a verificar
proc_ecmd=Falta l'ordre

exec_cmd=Ordre a verificar
exec_ecmd=Falta l'ordre

file_file=Fitxer a verificar
file_test=Test a executar
file_test_0=El fitxer ha d'existir
file_test_1=El fitxer no ha d'existir
file_test_2=El fitxer ha de ser més gran de 
file_test_3=El fitxer ha de ser més petit de
file_bytes=bytes
file_efile=Falta el nom del fitxer a verificar
file_esize=Mida de fitxer invàlida

traffic_iface=Interfície a monitoritzar
traffic_bytes=Nombre màxim de bytes/segon
traffic_dir=Direcció a monitoritzar
traffic_dir0=Entrada i sortida
traffic_dir1=Només entrada
traffic_dir2=Només sortida
traffic_desc=Aquest monitor pren nota del trànsit de xarxa en una interfície seleccionada, i mostra el monitor com a desactivat si el trànsit excedeix el nombre de bytes per segon introduïts aquí sota. Això només funciona bé de debò si la monitorització planificada està activa i establerta a un interval curt, com ara cada 5 minuts.
traffic_eifaces=El sistema operatiu no té cap fitxer /proc/net/dev
traffic_ebytes=Hi falta el nombre de bytes/segon o bé no és vàlid

space_fs=Sistema de fitxers a verificar
space_min=Espai lliure mínim (en Kb)
space_desc=$1 Kb lliures
space_nofs=Sistema de fitxers no muntat
space_other=Altres...
space_emin=Hi falta l'espai lliure o bé no és vàlid
space_eother=Hi falta el sistema de fitxers o bé no és vàlid

load_time=Comprovació de la càrrega mitjana
load_1=1 minut
load_5=5 minuts
load_15=15 minuts
load_max=Càrrega mitjana màxima
load_emax=Missing or invalid maximum load average
load_ecmd=No s'ha trobat l'ordre <tt>uptime</tt>
load_efmt=No s'ha pogut analitzar el resultat de l'ordre <tt>uptime</tt>

log_create=He creat el monitor $1
log_modify=He modificat el monitor $1
log_delete=He suprimit el monitor $1
log_sched=He canviat la monitorització planificada

acl_edit=Pot editar i crear monitors
acl_sched=Pot canviar la monitorització planificada

change_file=Fitxer a monitoritzar


  0707010005abc6000081a40000000000000002000000013d1fe2de000017b5000000200000000000000000000000000000001500000003reloc/status/lang/de  index_title=System- und Server-Status
index_name=Dienstname
index_host=Auf Rechner
index_desc=&Uuml;berwache
index_up=Status
index_local=Lokal
index_add=F&uuml;ge &Uuml;berwachung hinzu:
index_sched=Zeitgesteuerte &Uuml;berwachung
index_return=Dienstliste

type_apache=Apache Webserver
type_inetd=Internet und RPC-Server (inetd)
type_xinetd=Erweiterter Internet-Server (xinetd)
type_squid=Squid Proxy-Server
type_bind8=BIND-DNS-Server
type_dnsadmin=BIND 4 DNS-Server
type_dhcpd=DHCP-Server
type_tcp=Remote TCP-Dienst
type_http=Remote HTTP-Dienst
type_sendmail=Sendmail-Server
type_postfix=Postfix-Server
type_ping=Remote Ping
type_proc=Prozess &uuml;berpr&uuml;fen
type_mysql=MySQL-Server
type_postgresql=PostgreSQL-Server
type_samba=Samba-Server
type_nfs=NFS-Server
type_exec=Befehl ausf&uuml;hren
type_file=Datei &uuml;berpr&uuml;fen
type_traffic=Netzwerkbenutzung
type_space=Plattenspeicher
type_load=Durchschnittl. Systemauslastung

mon_create=Überwachung erstellen
mon_edit=Überwachung bearbeiten
mon_header=&Uuml;berwachungsdetails
mon_desc=Beschreibung
mon_remote=Starte auf Rechner
mon_local=Lokal
mon_none=Keine Remote-Server definiert
mon_nosched=Regelm&auml;ssig &uuml;berpr&uuml;fen?
mon_status=Aktueller Status
mon_up=Bereit
mon_down=Nicht bereit
mon_not=Nicht installiert
mon_ondown=Wenn der &uuml;berwachte Prozess beendet wird, starte
mon_onup=Wenn der &uuml;berwachte Prozess gestartet wird, starte
mon_clone=Zu &uuml;berwachendes Modul
mon_err=Fehler beim Speichern der Einstellungen f&uuml;r die &Uuml;berwachung
mon_edesc=Fehlende Beschreibung
mon_elogin=Ung&uuml;ltiges RPC-Login f&uuml;r Webmin-Server $1
mon_eremote=Webmin-Server $1 unterst&uuml;tzt kein RPC
mon_estatus=Webmin-Server $1 hat kein System- und Server-Status-Modul
mon_ecannot=Sie haben keine Berechtigung, &Uuml;berwachungen zu erstellen
mon_ertype=Diese Art von &Uuml;berwachung ist auf $1 nicht verf&uuml;gbar.

sched_title=Zeitgesteuerte Überwachung
sched_header=Einstellungen f&uuml;r die zeitgesteuerte &Uuml;berwachung im Hintergrund
sched_mode=Zeitgesteuerte &Uuml;berpr&uuml;fung aktiviert?
sched_email=Statusbericht mailen an:
sched_pager=Status an Pager Nr.:
sched_none=Niemand
sched_from=Absenderadresse f&uuml;r E-Mail
sched_int=&Uuml;berpr&uuml;fen alle:
sched_period_0=Minuten
sched_period_1=Stunden
sched_period_2=Tage
sched_period_3=Monate
sched_period_4=Wochen
sched_offset=Versetzt
sched_warn=E-Mail senden:
sched_warn1=Wenn sich ein Dienst-Status &auml;ndert
sched_warn0=Wenn ein Dienst beendet wird
sched_single=Eine Mail pro Dienst senden?
sched_hours=&Uuml;berpr&uuml;fung st&uuml;ndlich:
sched_days=&Uuml;berpr&uuml;fung t&auml;glich
sched_err=Fehler beim Speichern der zeitgesteuerten &Uuml;berpr&uuml;fung
sched_eemail=Fehlende Email-Adresse
sched_eint=Fehlendes oder ung&uuml;ltiges Intervall
sched_eoffset=Fehlendes oder ung&uuml;ltiges Offset
sched_ehours=Keine Stunden ausgew&auml;hlt
sched_edays=Keine Tage ausgew&auml;hlt
sched_ecannot=Sie sind nicht berechtigt, die zeitgesteuerte &Uuml;berwachung zu bearbeiten.

up_since=L&auml;uft seit $1
depends_mod=Das Modul $1 ist nicht auf Ihrem System installiert.
depends_os=Das Modul $1 wird auf Ihrem System nicht unterst&uuml;tzt.
depends_remote=Das Modul $1 wird nicht auf Rechner $2 unterst&uuml;tzt.

tcp_host=Verbindung zu Rechner
tcp_port=Verbindung zu Port
tcp_alarm=Verbindungs-Timeout
tcp_ehost=Fehlender oder ung&uuml;ltiger Rechnername
tcp_eport=Fehlender oder ung&uuml;ltiger Port
tcp_ealarm=Fehlender oder ung&uuml;ltiger Verbindungs-Timeout

http_url=Anzufordernde URL
http_alarm=Verbindungs-Timeout
http_eurl=Fehlende oder ung&uuml;ltige URL
http_ealarm=Fehlender oder ung&uuml;ltiger Verbindungs-Timeout

ping_host=Anzupingender Rechner
ping_wait=Verbindungs-Timeout
ping_ehost=Fehlender oder ung&uuml;ltiger Rechnername
ping_ewait=Fehlender oder ung&uuml;ltiger Verbindungs-Timeout
ping_econfig=In der Modulkonfiguration wurde noch kein ping-Befehl eingetragen.

proc_pid=Laufend mit PID $1
proc_cmd=Zu testender Befehl
proc_ecmd=Fehlender Befehl

exec_cmd=Befehl, dessen R&uuml;ckgabewaert getestet wird
exec_ecmd=Fehlender Befehl

file_file=Zu &uuml;berpr&uuml;fende Datei
file_test=Durchzuf&uuml;hrender Test
file_test_0=Datei muss existieren
file_test_1=Datei darf nicht existieren
file_test_2=Datei muss gr&ouml;sser sein als
file_test_3=Datei muss kleiner sein als
file_bytes=Bytes
file_efile=Fehlender Dateiname
file_esize=Ung&uuml;ltige Dateigr&ouml;sse

traffic_iface=Zu &uuml;berwachende Schnittstelle
traffic_bytes=Maximale Bytes pro Sekunde
traffic_dir=Zu &uuml;berwachende Richtung
traffic_dir0=Ein- und ausgehend
traffic_dir1=Nur eingehend
traffic_dir2=Nur ausgehend
traffic_desc=Diese &Uuml;berwachung pr&uuml;ft die Nertzwerklast auf der gew&auml;hlten Schnittstelle und zeigt den Dienst als beendet an, wenn die Last den unten einzugebenden Grenzwert &uuml;bersteigt. Dies ist nur sinnvoll, wenn die zeitgesteuerte &Uuml;berwachung aktiviert ist und sie auf ein keines Intervall eingestellt ist.
traffic_eifaces=Ihr Betriebssystem hat keine /proc/net/dev Datei.
traffic_ebytes=Fehlende oder ung&uuml;ltige Anzahl von Bytes/Sekunde

space_fs=Zu &uuml;berpr&uuml;fendes Dateisystem
space_min=Minimaler freier Platz (in kB)
space_desc=$1 kB frei
space_nofs=Dateisystem nicht gemounted
space_other=Andere..
space_emin=Fehlender oder ung&uuml;ltiger freier Platz
space_eother=Fehlendes oder ung&uuml;ltiges Dateisystem

load_time=Durchnittliche Systemlast
load_5=5 Minuten
load_10=10 Minuten
load_15=15 Minuten
load_max=Maximale durchschnittliche Systemlast
load_emax=Fehlende oder ung&uuml;ltige durchschnittliche Systemlast
load_ecmd=Der Befehl <tt>uptime</tt> wurde nicht gefunden.
load_efmt=Die Ausgabe des <tt>uptime</tt>-Befehls konnte nicht verarbeitet werden.

log_create=&Uuml;berwachung $1 erstellt
log_modify=&Uuml;berwachung $1 ge&auml;ndert
log_delete=&Uuml;berwachung $1 gel&ouml;scht
log_sched=Zeitgesteurte &Uuml;berwachung ge&auml;ndert

acl_edit=Kann &Uuml;berwachungen erstellen und &auml;ndern?
acl_sched=Kann zeitgesteurte &Uuml;berwachungen erstellen?

   0707010005abc7000081a40000000000000002000000013d1fe2de000016e5000000200000000000000000000000000000001500000003reloc/status/lang/en  index_title=System and Server Status
index_name=Service name
index_host=On host
index_desc=Monitoring
index_up=Status
index_last=Last check
index_local=Local
index_add=Add monitor of type:
index_sched=Scheduled Monitoring
index_return=service list
index_none=No monitors are currently defined.
index_oldtime=Status from last scheduled check at $1

type_apache=Apache Webserver
type_inetd=Internet and RPC Server
type_xinetd=Extended Internet Server
type_squid=Squid Proxy Server
type_bind8=BIND DNS Server
type_dnsadmin=BIND 4 DNS Server
type_dhcpd=DHCP Server
type_tcp=Remote TCP Service
type_http=Remote HTTP Service
type_sendmail=Sendmail Server
type_postfix=Postfix Server
type_ping=Remote Ping
type_proc=Check Process
type_mysql=MySQL Database Server
type_postgresql=PostgreSQL Database Server
type_samba=Samba Servers
type_nfs=NFS Server
type_exec=Execute Command
type_file=Check File
type_traffic=Network Traffic
type_space=Disk Space
type_load=Load Average
type_change=File Change
type_qmailadmin=QMail Server
type_mon=MON Service Monitor
type_jabber=Jabber IM Server
type_usermin=Usermin Webserver
type_portsentry=Portsentry Daemon
type_hostsentry=Hostsentry Daemon
type_webmin=Webmin Webserver
type_cfengine=Configuration Engine Daemon

mon_create=Create Monitor
mon_edit=Edit Monitor
mon_header=Monitor details
mon_desc=Description
mon_remote=Run on host
mon_local=Local
mon_none=No remote servers defined
mon_nosched=Check on schedule?
mon_status=Current status
mon_up=Up
mon_down=Down
mon_webmin=Webmin Down
mon_not=Not installed
mon_ondown=If monitor goes down, run command
mon_onup=If monitor comes up, run command
mon_clone=Module to monitor
mon_err=Failed to save monitor
mon_edesc=Missing description
mon_elogin=Invalid login for RPC on Webmin server $1
mon_eremote=Webmin server $1 does not support RPC
mon_estatus=Webmin server $1 does not have the System and Server Status module
mon_ecannot=You are not allowed to edit monitors
mon_ertype=This monitor type is not available on $1

sched_title=Scheduled Monitoring
sched_header=Scheduled background monitoring options
sched_mode=Scheduled checking enabled?
sched_email=Email status report to
sched_pager=Page status report to number
sched_none=Nobody
sched_from=From: address for email
sched_int=Check every
sched_period_0=minutes
sched_period_1=hours
sched_period_2=days
sched_period_3=months
sched_period_4=weeks
sched_offset=with offset
sched_warn=Send email when
sched_warn1=When a service changes status
sched_warn0=When a service goes down
sched_single=Send one email per service?
sched_hours=Run monitor during hours
sched_days=Run monitor on days
sched_err=Failed to save scheduled monitoring
sched_eemail=Missing email address
sched_eint=Missing or invalid interval
sched_eoffset=Missing or invalid offset
sched_ehours=No hours to run during selected
sched_edays=No days to run on selected
sched_ecannot=You are not allowed to edit scheduled monitoring
sched_smtp=Send mail via
sched_smtp_prog=Local sendmail executable
sched_smtp_server=SMTP server
sched_esmtp=Missing or invalid SMTP server
sched_esmtpcmd=SMTP command $1 failed : $2

up_since=Up since $1
depends_mod=The module $1 is not installed on your system
depends_os=The module $1 is not supported on your system
depends_remote=The module $1 is not supported on server $2

tcp_host=Host to connect to
tcp_port=Port to connect to
tcp_alarm=Connection timeout
tcp_ehost=Missing or invalid hostname
tcp_eport=Missing or invalid port number
tcp_ealarm=Missing or invalid connection timeout

http_url=URL to request
http_alarm=Connection timeout
http_eurl=Missing or invalid URL
http_ealarm=Missing or invalid connection timeout
http_login=Login as
http_none=Don't authenticate
http_user=Username
http_pass=password
http_euser=Missing username

ping_host=Host to ping
ping_wait=Time to wait for response
ping_ehost=Missing or invalid hostname
ping_ewait=Missing or invalid wait time
ping_econfig=No ping command has been set in Module Config

proc_pid=Running with PID $1
proc_cmd=Command to check for
proc_ecmd=Missing command

exec_cmd=Command to check exit status of
exec_ecmd=Missing command

file_file=File to check
file_test=Test to perform
file_test_0=File must exist
file_test_1=File must not exist
file_test_2=File must be bigger than
file_test_3=File must be smaller than
file_bytes=bytes
file_efile=Missing filename to check
file_esize=Invalid file size

traffic_iface=Interface to monitor
traffic_bytes=Maximum bytes/second
traffic_dir=Direction to monitor
traffic_dir0=Incoming and outgoing
traffic_dir1=Incoming only
traffic_dir2=Outgoing only
traffic_desc=This monitor keeps track of network traffic on a selected interface, and displays the monitor as down if the traffic exceeds the number of bytes per second entered below. This only really works well if scheduled monitoring is enabled at set to a short interval, like every 5 minutes.
traffic_eifaces=Your operating system does not have a /proc/net/dev file
traffic_ebytes=Missing or invalid number of bytes/second

space_fs=Filesystem to check
space_min=Minimum free space (in kB)
space_desc=$1 kB free
space_nofs=Filesystem not mounted
space_other=Other..
space_emin=Missing or invalid free space
space_eother=Missing or invalid filesystem

load_time=Load average to check
load_1=1 minute
load_5=5 minute
load_15=15 minute
load_max=Maximum load average
load_emax=Missing or invalid maximum load average
load_ecmd=The <tt>uptime</tt> command was not found on your system
load_efmt=The output of the <tt>uptime</tt> command could not be parsed

log_create=Created monitor $1
log_modify=Modified monitor $1
log_delete=Deleted monitor $1
log_sched=Changed scheduled monitoring

acl_edit=Can edit and create monitors?
acl_sched=Can change scheduled monitoring?

change_file=File to monitor

jabber_eparser=The Perl module $1 is not installed on your system.

   0707010005abc8000081a40000000000000002000000013d1fe2de000012c4000000200000000000000000000000000000001500000003reloc/status/lang/es  index_title=Estado de Sistema y de Servidor
index_name=Nombre de Servicio
index_host=En máquina
index_desc=Monitorizando
index_up=Estado
index_local=Local
index_add=Añadir monitor de tipo:
index_sched=Monitorización Planificada
index_return=lista de servicio

type_apache=Servidor Web de Apache
type_inetd=Servidor de Internet y RPC
type_xinetd=Servidor de Internet Extendido
type_squid=Servidor Proxy Squid
type_bind8=Servidor DNS BIND
type_dnsadmin=Servidor DNS BIND 4
type_dhcpd=Servidor DHCP
type_tcp=Servicio Remoto de TCP
type_http=Servicio remoto de HTTP
type_sendmail=Servidor Sendmail
type_postfix=Servidor Postfix
type_ping=Ping remoto
type_proc=Proceso de Revisión
type_mysql=Servidor de Base de Datos MySQL
type_postgresql=Servidor de Base de Datos PostgreSQL
type_samba=Servidores Samba
type_nfs=Servidor NFS
type_exec=Ejecutar Comando
type_file=Revisar Archivo
type_traffic=Tráfico de Red

mon_create=Crear Monitor
mon_edit=Editar Monitor
mon_header=Detalles de Monitor
mon_desc=Descripción
mon_remote=Ejecutar en máquina
mon_local=Local
mon_none=No se han definido servidores remotos
mon_nosched=¿Reviso en planificación?
mon_status=Estado actual
mon_up=Activo
mon_down=Desactivado
mon_not=No instalado
mon_ondown=Si el monitor se cae, ejecutar comando
mon_onup=Si el monitor se levanta, ejecutar comando
mon_clone=Module a monitorizar
mon_err=No pude salvar monitor
mon_edesc=Descripción sin poner
mon_elogin=Login inválido para RPC en servidor Webmin $1
mon_eremote=El servidor Webmin $1 no soporta RPC
mon_estatus=El servidor Webmin $1 no tiene el módulo de Estado de Sistema y Servidor
mon_ecannot=No estás autorizado a editar monitores

sched_title=Monitorización Planificada
sched_header=Opciones de monitorización planificada en segundo plano
sched_mode=¿Revisión planificada activada?
sched_email=Estado de Email informa a
sched_none=Nadie
sched_from=De: dirección para correo
sched_int=Revisa cada
sched_period_0=minutos
sched_period_1=horas
sched_period_2=días
sched_period_3=meses
sched_period_4=semanas
sched_offset=con desplazamiento
sched_warn=Enviar correo cuando
sched_warn1=Cuando un servicio cambia su estado
sched_warn0=Cuando un servicio se desactiva
sched_single=¿Enviar un correo por servicio?
sched_hours=Ejecutar monitor durante las horas
sched_days=Ejecutar monitor en los días
sched_err=No pude salvar monitorización planificada
sched_eemail=Dirección de correo sin poner
sched_eint=Intervalo inválido o sin poner
sched_eoffset=Desplazamiento inválido o sin poner
sched_ehours=No hay horas en que ejecutar durante las seleccionadas
sched_edays=No hay días en que ejecutar durante los seleccionados
sched_ecannot=No estás autorizado a editar la monitorización planificada

up_since=Activo desde $1
depends_mod=El módulo $1 no está instalado en tu sistema
depends_os=El módulo $1 no está soportado en tu sistema
depends_remote=El módulo $1 no está soportado en servidor $2

tcp_host=Máquina a conectar a
tcp_port=Puerto a conectar a
tcp_alarm=Tiempo final de conexión
tcp_ehost=Nombre de máquina inválido o sin poner
tcp_eport=Número de puerto inválido o sin poner
tcp_ealarm=Tiempo de conexión inválido o sin poner

http_url=URL a requerir
http_alarm=Tiempo de conexión agotado
http_eurl=URL inválida o sin poner
http_ealarm=Tiempo máximo de conexión inválido o sin poner

ping_host=Máquina a hacer ping
ping_ehost=Nombre de máquina inválido o sin poner
ping_econfig=No se ha configurado comando de ping en la Configuración del módulo

proc_pid=Ejecutando con PID $1
proc_cmd=Comando a revisar
proc_ecmd=Comando sin poner

exec_cmd=Comando a revisar su estado de salida
exec_ecmd=Comando sin poner

file_file=Archivo a revisar
file_test=Prueba a realizar
file_test_0=El archivo existe
file_test_1=El archivo no existe
file_test_2=El archivo es mayor que
file_test_3=El archivo es menor que
file_bytes=bytes
file_efile=Falta nombre de archivo a revisar
file_esize=Medida de archivo inválida

traffic_iface=Interfaz a monitorizar
traffic_bytes=Máximos bytes/segundo
traffic_dir=Dirección a monitorizar
traffic_dir0=Entrante y saliente
traffic_dir1=Entrante sólo
traffic_dir2=Saliente sólo
traffic_desc=Este monitor mantiene la pista del tráfico de red en una interfaz seleccionada y muestra el monitor como caído si el tráfico excede el número de bytes por segundo digitados debajo. Esto sólo funciona bién si el tráfico planificado está activado como un intervalo corto, como por ejemplo cada 5 minutos.
traffic_eifaces=Tu sistema operativo no tiene un archivo /proc/net/dev
traffic_ebytes=El número de bytes/segundo falta o es inválido

log_create=Creado monitor $1
log_modify=Modificado monitor $1
log_delete=Borrado monitor $1
log_sched=Cambiado el monitor planificado

acl_edit=¿Puede editar y crear monitores?
acl_sched=¿Puede cambiar el monitor planificado?

0707010005abc9000081a40000000000000002000000013d1fe2de000016ba000000200000000000000000000000000000001500000003reloc/status/lang/fr  index_title=Statut système et serveur
index_name=Nom du service
index_host=Sur la machine
index_desc=Observant
index_up=Statut
index_local=Locale
index_add=Ajouter un moniteur de type:
index_sched=Surveillance programmée
index_return=liste de services

type_apache=Serveur web Apache
type_inetd=Serveur Internet et appels procédures distantes
type_xinetd=Serveur Internet étendu (xinetd)
type_squid=Serveur mandataire Squid
type_bind8=Serveur DNS BIND
type_dnsadmin=Serveur DNS BIND 4
type_dhcpd=Serveur DHCP
type_tcp=Service TCP distant
type_http=Service HTTP distant
type_sendmail=Serveur Sendmail
type_postfix=Serveur Postfix
type_ping=Ping distant
type_proc=Vérifier le processus
type_mysql=Serveur de bases de données MySQL
type_postgresql=Serveur de bases de données PostgreSQL
type_samba=Serveurs Samba
type_nfs=Serveur NFS
type_exec=Exécuter la commande
type_file=Vérifier le fichier
type_traffic=Trafic réseau
type_space=Espace disque
type_load=Charge moyenne

mon_create=Créer un moniteur
mon_edit=Editer un moniteur
mon_header=Détails sur le moniteur
mon_desc=Description
mon_remote=Tourne sur la machine
mon_local=Locale
mon_none=Aucun serveur distant défini
mon_nosched=Vérifier suivant programme ?
mon_status=Statut actuel
mon_up=Ok
mon_down=Arrêté
mon_not=Non installé
mon_ondown=Si le moniteur s'arrête, lancer la commande
mon_onup=Si le moniteur démarre, lancer la commande
mon_clone=Module à surveiller
mon_err=Echec de la sauvegarde du moniteur
mon_edesc=Description manquante
mon_elogin=Login invalide pour appels de procédures distantes sur le serveur Webmin $1
mon_eremote=Le serveur Webmin $1 ne supporte pas les appels de procédures distantes
mon_estatus=Le serveur Webmin $1 n'a pas le module Statut système et serveur
mon_ecannot=Vous n'êtes pas autorisés à éditer les moniteurs
mon_ertype=Ce type de moniteur n'est pas disponible sur $1

sched_title=Surveillance programmée
sched_header=Options de surveillance d'arrière-plan périodique
sched_mode=Vérification périodique activée ?
sched_email=Rapport de statut à envoyer à
sched_pager=Rapport de statut à numero
sched_none=Personne
sched_from=Adresse d'expéditeur (From:) pour le courrier
sched_int=Vérifier toutes les
sched_period_0=minutes
sched_period_1=heures
sched_period_2=jours
sched_period_3=mois
sched_period_4=semaines
sched_offset=avec le décalage
sched_warn=Envoyer un courrier quand
sched_warn1=Un service change de statut
sched_warn0=Un service s'arrête
sched_single=Envoyer un courrier par service ?
sched_hours=Lancer le moniteur pendant les heures
sched_days=Lancer le moniteur les jours
sched_err=Echec de la sauvegarde de la surveillance périodique
sched_eemail=Adresse électronique manquante
sched_eint=Intervalle manquant ou invalide
sched_eoffset=Décalage manquant ou invalide
sched_ehours=Aucune heure pendant laquelle tourner sélectionnée
sched_edays=Aucun jour sélectionné
sched_ecannot=Vous n'êtes pas autorisé à éditer la surveillance périodique

up_since=Lancé depuis $1
depends_mod=Le modules $1 n'est pas installé sur votre système
depends_os=Le module $1 n'est pas supporté par votre système
depends_remote=Le module $1 n'est pas supporté sur le serveur $2

tcp_host=Machine à laquelle se connecter
tcp_port=Port sur lequel se connecter
tcp_alarm=Délai d'erreur de connection
tcp_ehost=Nom de de machine invalide ou manquant
tcp_eport=Numéro de port invalide ou manquant
tcp_ealarm=Délai d'erreur de connection invalide ou manquant

http_url=URL à demander
http_alarm=Délai d'erreur de connection
http_eurl=URL invalide ou manquant
http_ealarm=Délai d'erreur de connection invalide ou manquant

ping_host=Machine à pinger
ping_wait=Temps à attendre une réponse
ping_ehost=Nom de machine invalide ou manquant
ping_ewait=Temps d'attente manquant ou invalide
ping_econfig=Aucune commande ping n'a été positionnée dans la configuration du module

proc_pid=Tournant avec le PID $1
proc_cmd=Commande à vérifier
proc_ecmd=Commande manquante

exec_cmd=Commande dont il faut vérifier le code de retour
exec_ecmd=Commande manquante

file_file=Fichier à vérifier
file_test=Test à effectuer
file_test_0=Le fichier existe
file_test_1=Le fichier n'existe pas
file_test_2=Le fichier est plus gros que
file_test_3=Le fichier est plus petit que
file_bytes=octets
file_efile=Nom de fichier à vérifier manquant
file_esize=Taille de fichier invalide

traffic_iface=Interface à surveiller
traffic_bytes=octets/seconde maximum
traffic_dir=Direction à surveiller
traffic_dir0=Réception et émission
traffic_dir1=Réception seulement
traffic_dir2=Emission seulement
traffic_desc=Ce moniteur surveille le trafic réseau sur une interface choisie, et affiche le moniteur comme étant stoppé si le trafic excède le nombre d'octets par seconde entré ci-dessous. Ceci ne fonctionne bien que si la surveillance périodique est activée avec un intervalle court, comme 5 minutes.
traffic_eifaces=Votre système d'exploitation n'a pas de fichier /proc/net/dev
traffic_ebytes=Nombre d'octets/seconde manquant ou invalide

space_fs=Système de fichier à vérifier
space_min=Espace libre minimum (en Ko)
space_desc=$1 Ko libres
space_nofs=Système de fichier non monté
space_other=Autre ...
space_emin=Espace libre manquant ou invalide
space_eother=Système de fichiers manquant ou invalide

load_time=Charge moyenne à vérifier
load_5=5 minutes
load_10=10 minutes
load_15=15 minutes
load_max=Charge moyenne maximum
load_emax=Charge moyenne maximum manquante ou invalide
load_ecmd=La commande <tt>uptime</tt> n'a pas été trouvée sur votre système
load_efmt=La sortie de la commande <tt>uptime</tt> n'a pas pu être parsée

log_create=Moniteur $1 créé
log_modify=Moniteur $1 modifié
log_delete=Moniteur $1 supprimé
log_sched=Surveillance périodique modifiée

acl_edit=Peut éditer et créer des moniteurs ?
acl_sched=Peut changer la surveillance périodique ?

  0707010005abca000081a40000000000000002000000013d1fe2de00000dde000000200000000000000000000000000000001c00000003reloc/status/lang/ja_JP.euc   index_title=¥·¥¹¥Æ¥à¤È¥µ¡¼¥Ó¥¹¤Î¥¹¥Æ¡¼¥¿¥¹
index_name=¥µ¡¼¥Ó¥¹Ì¾
index_host=¥Û¥¹¥È
index_desc=¥â¥Ë¥¿Ãæ
index_up=¥¹¥Æ¡¼¥¿¥¹
index_local=¥í¡¼¥«¥ë
index_add=¥â¥Ë¥¿¤Î¼ïÎà¤òÄÉ²Ã:
index_sched=¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤¿¥â¥Ë¥¿
index_return=¥µ¡¼¥Ó¥¹ ¥ê¥¹¥È

type_apache=Apache Webserver
type_inetd=¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤È RPC ¥µ¡¼¥Ð
type_xinetd=³ÈÄ¥¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ð
type_squid=Squid ¥×¥í¥­¥· ¥µ¡¼¥Ð
type_bind8=BIND DNS ¥µ¡¼¥Ð
type_dnsadmin=BIND 4 DNS ¥µ¡¼¥Ð
type_dhcpd=DHCP ¥µ¡¼¥Ð
type_tcp=¥ê¥â¡¼¥È TCP ¥µ¡¼¥Ó¥¹
type_http=¥ê¥â¡¼¥ÈHTTP ¥µ¡¼¥Ó¥¹
type_sendmail=sendmail ¥µ¡¼¥Ð
type_postfix=Postfix ¥µ¡¼¥Ð
type_ping=¥ê¥â¡¼¥È Ping
type_proc=¥×¥í¥»¥¹¤ò¸¡ºº
type_mysql=MySQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
type_postgresql=PostgreSQL ¥Ç¡¼¥¿¥Ù¡¼¥¹ ¥µ¡¼¥Ð
type_samba=Samba ¥µ¡¼¥Ð
type_nfs=NFS ¥µ¡¼¥Ð
type_exec=¥³¥Þ¥ó¥É¤ò¼Â¹Ô
type_file=¥Õ¥¡¥¤¥ë¤ò¸¡ºº

mon_create=¥â¥Ë¥¿¤òºîÀ®
mon_edit=¥â¥Ë¥¿¤òÊÔ½¸
mon_header=¥â¥Ë¥¿¤Î¾ÜºÙ
mon_desc=ÀâÌÀ
mon_remote=¥Û¥¹¥È¤Ç¼Â¹Ô
mon_local=¥í¡¼¥«¥ë
mon_none=ÄêµÁ¤µ¤ì¤¿¥ê¥â¡¼¥È ¥µ¡¼¥Ð¤¬¤¢¤ê¤Þ¤»¤ó
mon_nosched=¥¹¥±¥¸¥å¡¼¥ë¤òÄ´¤Ù¤Þ¤¹¤«¡©
mon_status=¸½ºß¤Î¥¹¥Æ¡¼¥¿¥¹
mon_up=Æ°ºîÃæ
mon_down=¥À¥¦¥ó
mon_not=¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
mon_ondown=¥â¥Ë¥¿¤¬¥À¥¦¥ó¤·¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô
mon_onup=¥â¥Ë¥¿¤¬Æ°ºî¤ò³«»Ï¤·¤¿¾ì¹ç¡¢¥³¥Þ¥ó¥É¤ò¼Â¹Ô
mon_clone=¥â¥Ë¥¿¤¹¤ë¥â¥¸¥å¡¼¥ë
mon_err=¥â¥Ë¥¿¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
mon_edesc=ÀâÌÀ¤¬¤¢¤ê¤Þ¤»¤ó
mon_elogin=Webmin ¥µ¡¼¥Ð $1 ¤Ç RPC ¤Ø¤Î¥í¥°¥¤¥ó¤¬Ìµ¸ú¤Ç¤¹
mon_eremote=Webmin ¥µ¡¼¥Ð $1 ¤Ï RPC ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó
mon_estatus=Webmin ¥µ¡¼¥Ð $1 ¤Ë¤Ï¥·¥¹¥Æ¥à¤È¥µ¡¼¥Ð¤Î¥¹¥Æ¡¼¥¿¥¹ ¥â¥¸¥å¡¼¥ë¤¬¤¢¤ê¤Þ¤»¤ó

sched_title=¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤¿¥â¥Ë¥¿
sched_header=¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É ¥â¥Ë¥¿¥ê¥ó¥° ¥ª¥×¥·¥ç¥ó¤Î¥¹¥±¥¸¥å¡¼¥ë
sched_mode=¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤¿¸¡ºº¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
sched_email=E ¥á¡¼¥ë ¥¹¥Æ¡¼¥¿¥¹ ¥ì¥Ý¡¼¥ÈÀè
sched_none=Á´°÷µñÈÝ
sched_from=¼¡¤Î E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤«¤é:E ¥á¡¼¥ë¤Î¥¢¥É¥ì¥¹
sched_int=¸¡ºº¤ÎÃ±°Ì
sched_period_0=Ê¬
sched_period_1=»þ´Ö
sched_period_2=Æü
sched_period_3=·î
sched_period_4=½µ
sched_offset=¥ª¥Õ¥»¥Ã¥È
sched_warn=·Ù¹ð E ¥á¡¼¥ë¤òÁ÷¿®
sched_warn1=¥µ¡¼¥Ó¥¹¤¬¥¹¥Æ¡¼¥¿¥¹¤òÊÑ¹¹¤·¤¿¾ì¹ç
sched_warn0=¥µ¡¼¥Ó¥¹¤¬¥À¥¦¥ó¤·¤¿¾ì¹ç
sched_single=³Æ¥µ¡¼¥Ó¥¹¤´¤È¤Ë 1 ÄÌ¤Î E ¥á¡¼¥ë¤òÁ÷¿®¤·¤Þ¤¹¤«¡©
sched_hours=¥â¥Ë¥¿¤ò¼Â¹Ô¤¹¤ë»þ´Ö
sched_days=¥â¥Ë¥¿¤ò¼Â¹Ô¤¹¤ëÆü
sched_err=¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤¿¥â¥Ë¥¿¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
sched_eemail=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤¢¤ê¤Þ¤»¤ó
sched_eint=´Ö³Ö¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
sched_eoffset=¥ª¥Õ¥»¥Ã¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
sched_ehours=ÁªÂò¤·¤¿´ü´Ö¤Ë¤Ï¼Â¹Ô¤¹¤ë»þ´Ö¤¬¤¢¤ê¤Þ¤»¤ó
sched_edays=ÁªÂò¤·¤¿´ü´Ö¤Ë¤Ï¼Â¹Ô¤¹¤ëÆü¤¬¤¢¤ê¤Þ¤»¤ó

up_since=$1 ¤«¤é¤º¤Ã¤ÈÆ°ºîÃæ
depends_mod=¥â¥¸¥å¡¼¥ë $1 ¤¬¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
depends_os=¥â¥¸¥å¡¼¥ë $1 ¤¬¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
depends_remote=¥â¥¸¥å¡¼¥ë $1¤Ï¥µ¡¼¥Ð $2 ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

tcp_host=ÀÜÂ³¤¹¤ë¥Û¥¹¥È
tcp_port=ÀÜÂ³¤¹¤ë¥Ý¡¼¥È
tcp_alarm=ÀÜÂ³¥¿¥¤¥à¥¢¥¦¥È
tcp_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
tcp_eport=¥Ý¡¼¥ÈÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
tcp_ealarm=ÀÜÂ³¥¿¥¤¥à¥¢¥¦¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

http_url=Í×ÀÁ¤¹¤ë URL
http_alarm=ÀÜÂ³¥¿¥¤¥à¥¢¥¦¥È
http_eurl=URL ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
http_ealarm=ÀÜÂ³¥¿¥¤¥à¥¢¥¦¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

ping_host=ping ¤¹¤ë¥Û¥¹¥È
ping_ehost=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
ping_econfig=¥â¥¸¥å¡¼¥ëÀßÄê¤Ç ping ¥³¥Þ¥ó¥É¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

proc_pid=PID $1 ¤Ç¼Â¹ÔÃæ
proc_cmd=¸¡ºº¤¹¤ë¥³¥Þ¥ó¥É
proc_ecmd=¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó

exec_cmd=Â¸ºß¥¹¥Æ¡¼¥¿¥¹¤òÄ´¤Ù¤ë¥³¥Þ¥ó¥É
exec_ecmd=¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó

file_file=¸¡ºº¤¹¤ë¥Õ¥¡¥¤¥ë
file_test=Æ°ºî¤ò¥Æ¥¹¥È
file_test_0=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹
file_test_1=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
file_test_2=¥Õ¥¡¥¤¥ë¤Ï¼¡¤è¤êÂç¤­¤¤¤Ç¤¹
file_test_3=¥Õ¥¡¥¤¥ë¤Ï¼¡¤è¤ê¾®¤µ¤¤¤Ç¤¹
file_bytes=¥Ð¥¤¥È
file_efile=Ä´¤Ù¤ë¥Õ¥¡¥¤¥ëÌ¾¤¬¤¢¤ê¤Þ¤»¤ó
file_esize=Ìµ¸ú¤Ê¥Õ¥¡¥¤¥ë ¥µ¥¤¥º
  0707010005abcb000081a40000000000000002000000013d1fe2de00000c56000000200000000000000000000000000000001c00000003reloc/status/lang/ko_KR.euc   index_title=½Ã½ºÅÛ ¹× ¼­¹ö »óÅÂ
index_name=¼­ºñ½º ÀÌ¸§
index_host=È£½ºÆ®¿¡¼­
index_desc=¸ð´ÏÅÍ¸µ
index_up=»óÅÂ
index_local=·ÎÄÃ
index_add=Ãß°¡ÇÒ ¸ð´ÏÅÍ À¯Çü:
index_sched=¿¹¾àµÈ ¸ð´ÏÅÍ¸µ
index_return=¼­ºñ½º ¸ñ·Ï

type_apache=Apache À¥ ¼­¹ö
type_inetd=ÀÎÅÍ³Ý ¹× RPC ¼­¹ö
type_xinetd=È®Àå ÀÎÅÍ³Ý ¼­¹ö
type_squid=Squid ÇÁ·Ï½Ã ¼­¹ö
type_bind8=BIND DNS ¼­¹ö
type_dnsadmin=BIND 4 DNS ¼­¹ö
type_dhcpd=DHCP ¼­¹ö
type_tcp=¿ø°Ý TCP ¼­ºñ½º
type_http=¿ø°Ý HTTP ¼­ºñ½º
type_sendmail=Sendmail ¼­¹ö
type_postfix=Postfix ¼­¹ö
type_ping=¿ø°Ý Ping
type_proc=°Ë»ç ÇÁ·Î¼¼½º
type_mysql=MySQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
type_postgresql=PostgreSQL µ¥ÀÌÅÍº£ÀÌ½º ¼­¹ö
type_samba=Samba ¼­¹ö
type_nfs=NFS ¼­¹ö
type_exec=¸í·É ½ÇÇà
type_file=ÆÄÀÏ °Ë»ç

mon_create=¸ð´ÏÅÍ ÀÛ¼º
mon_edit=¸ð´ÏÅÍ ÆíÁý
mon_header=¸ð´ÏÅÍ ¼¼ºÎ Á¤º¸
mon_desc=¼³¸í
mon_remote=È£½ºÆ®¿¡¼­ ½ÇÇà
mon_local=·ÎÄÃ
mon_none=Á¤ÀÇµÈ ¿ø°Ý ¼­¹ö°¡ ¾ø½À´Ï´Ù
mon_nosched=¿¹¾àÇÑ ´ë·Î °Ë»çÇÕ´Ï±î?
mon_status=ÇöÀç »óÅÂ
mon_up=ÀÛµ¿
mon_down=´Ù¿î
mon_not=¼³Ä¡ ¾ÈµÊ
mon_ondown=¸ð´ÏÅÍ°¡ ´Ù¿îµÇ¸é ¸í·ÉÀ» ½ÇÇàÇÏ½Ê½Ã¿À
mon_onup=¸ð´ÏÅÍ°¡ ÀÛµ¿ÇÏ¸é ¸í·ÉÀ» ½ÇÇàÇÏ½Ê½Ã¿À
mon_clone=¸ð´ÏÅÍÇÒ ¸ðµâ
mon_err=¸ð´ÏÅÍ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
mon_edesc=¼³¸í ¾øÀ½
mon_elogin=Webmin ¼­¹ö $1ÀÇ RPC¿¡ ´ëÇÑ ·Î±×ÀÎÀÌ Àß¸øµÇ¾ú½À´Ï´Ù
mon_eremote=Webmin ¼­¹ö $1ÀÌ(°¡) RPC¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
mon_estatus=Webmin ¼­¹ö $1¿¡ ½Ã½ºÅÛ ¹× ¼­¹ö »óÅÂ ¸ðµâÀÌ ¾ø½À´Ï´Ù

sched_title=¿¹¾àµÈ ¸ð´ÏÅÍ¸µ
sched_header=¿¹¾àµÈ ¹é±×¶ó¿îµå ¸ð´ÏÅÍ¸µ ¿É¼Ç
sched_mode=¿¹¾àµÈ °Ë»ç¸¦ »ç¿ë °¡´ÉÇÏ°Ô ÇÕ´Ï±î?
sched_email=»óÅÂ º¸°í¼­¸¦ ÀüÀÚ ¸ÞÀÏ·Î ¹ÞÀ» ´ë»ó
sched_none=¾øÀ½
sched_from=¹ß½ÅÀÚ: ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
sched_int=¸ðµÎ ¼±ÅÃ
sched_period_0=ºÐ
sched_period_1=½Ã
sched_period_2=ÀÏ
sched_period_3=¿ù
sched_period_4=ÁÖ
sched_offset=¿ÀÇÁ¼Â ÀÖÀ½
sched_warn=ÀüÀÚ ¸ÞÀÏÀ» º¸³¾ ½Ã±â
sched_warn1=¼­ºñ½º »óÅÂ º¯°æ ½Ã
sched_warn0=¼­ºñ½º ´Ù¿î ½Ã
sched_single=°¢ ¼­ºñ½º¸¶´Ù ÇÏ³ªÀÇ ÀüÀÚ ¸ÞÀÏÀ» º¸³À´Ï±î?
sched_hours=¸ð´ÏÅÍ ½ÇÇà ±â°£(½Ã)
sched_days=¸ð´ÏÅÍ ½ÇÇà ±â°£(ÀÏ)
sched_err=¿¹¾àµÈ ¸ð´ÏÅÍ¸µÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
sched_eemail=¾ø´Â ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
sched_eint=¾ø°Å³ª Àß¸øµÈ °£°Ý
sched_eoffset=¾ø°Å³ª Àß¸øµÈ ¿ÀÇÁ¼Â
sched_ehours=¼±ÅÃÇÑ ½ÇÇà ±â°£(½Ã)ÀÌ ¾ø½À´Ï´Ù
sched_edays=½ÇÇà ±â°£(ÀÏ)À» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù

up_since=$1 ÀÌÈÄ ÀÛµ¿
depends_mod=½Ã½ºÅÛ¿¡ ¸ðµâ $1ÀÌ(°¡) ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù
depends_os=½Ã½ºÅÛ¿¡¼­ ¸ðµâ $1ÀÌ(°¡) Áö¿øµÇÁö ¾Ê½À´Ï´Ù
depends_remote=¼­¹ö $2¿¡¼­ ¸ðµâ $1ÀÌ(°¡) Áö¿øµÇÁö ¾Ê½À´Ï´Ù

tcp_host=¿¬°áÇÒ È£½ºÆ®
tcp_port=¿¬°áÇÒ Æ÷Æ®
tcp_alarm=¿¬°á ½Ã°£ ÃÊ°ú
tcp_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
tcp_eport=¾ø°Å³ª Àß¸øµÈ Æ÷Æ® ¹øÈ£
tcp_ealarm=¾ø°Å³ª Àß¸øµÈ ¿¬°á ½Ã°£ ÃÊ°ú

http_url=¿äÃ»ÇÒ URL
http_alarm=¿¬°á ½Ã°£ ÃÊ°ú
http_eurl=¾ø°Å³ª Àß¸øµÈ URL
http_ealarm=¾ø°Å³ª Àß¸øµÈ ¿¬°á ½Ã°£ ÃÊ°ú

ping_host=PingÇÒ È£½ºÆ®
ping_ehost=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
ping_econfig=¸ðµâ ±¸¼º¿¡ ¼³Á¤µÈ Ping ¸í·ÉÀÌ ¾ø½À´Ï´Ù

proc_pid=PID $1À»(¸¦) »ç¿ëÇÏ¿© ½ÇÇà Áß
proc_cmd=°Ë»çÇÒ ¸í·É
proc_ecmd=¾ø´Â ¸í·É

exec_cmd=Á¾·á »óÅÂ¸¦ °Ë»çÇÒ ¸í·É
exec_ecmd=¾ø´Â ¸í·É

file_file=°Ë»çÇÒ ÆÄÀÏ
file_test=¼öÇàÇÒ Å×½ºÆ®
file_test_0=ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù
file_test_1=ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
file_test_2=ÆÄÀÏÀÌ ´ÙÀ½º¸´Ù Å®´Ï´Ù
file_test_3=ÆÄÀÏÀÌ ´ÙÀ½º¸´Ù ÀÛ½À´Ï´Ù
file_bytes=¹ÙÀÌÆ®
file_efile=°Ë»çÇÒ ÆÄÀÏ ÀÌ¸§ÀÌ ¾ø½À´Ï´Ù
file_esize=ÆÄÀÏ Å©±â°¡ Àß¸øµÇ¾ú½À´Ï´Ù
  0707010005abcc000081a40000000000000002000000013d1fe2de00000b8e000000200000000000000000000000000000001500000003reloc/status/lang/nl  index_title=Systeem en Server Status
index_name=Dienstnaam
index_host=Op host
index_desc=Monitoren
index_up=Status
index_local=Lokaal
index_add=Voeg monitor toe van type :
index_sched=Gepland Monitoren
index_return=diensten lijst

type_apache=Apache Webserver
type_inetd=Internet en RPC Server
type_xinetd=Uitgebreide Internet Server
type_squid=Squid Proxy Server
type_bind8=BIND DNS Server
type_dnsadmin=BIND 4 DNS Server
type_dhcpd=DHCP Server
type_tcp=Externe TCP Dienst
type_http=Externe HTTP Dienst
type_sendmail=Sendmail Server
type_postfix=Postfix Server
type_ping=Externe Ping
type_proc=Controleer Proces
type_mysql=MySQL Database Server
type_postgresql=PostgreSQL Database Server
type_samba=Samba Servers
type_nfs=NFS Server
type_exec=Voer Commando Uit

mon_create=Voeg Monitor Toe
mon_edit=Bewerk Monitor
mon_header=Monitor details
mon_desc=Omschrijving
mon_remote=Voer uit op host
mon_local=Lokaal
mon_none=geen externe servers gedefinieerd
mon_nosched=Controleren op vaste tijden?
mon_status=Huidige status
mon_up=Actief
mon_down=Inactief
mon_not=Niet geinstalled
mon_err=Fout bij het opslaan van monitor
mon_edesc=Ontbrekende omschrijving
mon_elogin=Ongeldige login voor RPC op Webmin server $1
mon_eremote=Webmin server $1 ondersteund geen RPC
mon_estatus=Webmin server $1 heeft geen System en Server Status module

sched_title=Geplande Monitoring
sched_header=Plan achtergrond monitoring opties
sched_mode=Geplande controle ingeschakeld?
sched_email=Email status rapporteren aan
sched_from=Van: adres voor email
sched_int=Controleer iedere
sched_period_0=minuten
sched_period_1=uur
sched_period_2=dagen
sched_period_3=maanden
sched_period_4=weken
sched_offset=met offset
sched_warn=Stuur email als
sched_warn1=Een diens van status wijzigd
sched_warn0=Een dienst inactief wordt
sched_single=Stuur een email per dienst?
sched_err=Fout bij het opslaan van gepland monitoren
sched_eemail=Ontbrekend email adres
sched_eint=Ontbrekende of ongeldige intervan
sched_eoffset=Ontbrekende of ongeldige offset

up_since=Actief sinds $1
depends_mod=De module $1 is niet geinstalleerd op uw systeem
depends_os=De module $1 wordt niet ondersteund door uw systeem
depends_remote=De module $1 wordt niet ondersteund op server $2

tcp_host=Host om naar te verbinden
tcp_port=Poort om naar te verbinden
tcp_alarm=Verbinding timeout
tcp_ehost=Ontbrekende of ongeldige hostnaam
tcp_eport=Ontbrekend of ongeldig poort nummer
tcp_ealarm=Ontbrekende of ongeldige verbindings timeout

http_url=URL om aan te vragen
http_alarm=Verbinding timeout
http_eurl=Ontbrekende of ongeldige URL
http_ealarm=Ontbrekende of ongeldige verbindings timeout

ping_host=Host om te ping
ping_ehost=Ontbrekende of ongeldige hostnaam
ping_econfig=Er is geen ping commando ingesteld in de Module Configuratie

proc_pid=Draaiend met PID $1
proc_cmd=Commando on te controleren op
proc_ecmd=Ontbrekend command

exec_cmd=Commando om exit status te controleren van
exec_ecmd=Ontbrekend command

  0707010005abcd000081a40000000000000002000000013d1fe2de000015f7000000200000000000000000000000000000001500000003reloc/status/lang/pl  index_title=Stan systemu i serwerów
index_name=Nazwa us³ugi
index_host=Na ho¶cie
index_desc=Monitorowanie
index_up=Stan
index_local=Lokalnym
index_add=Dodaj monitorowanie:
index_sched=Monitorowanie okresowe
index_return=listy us³ug

type_apache=Serwera WWW Apache
type_inetd=Serwera internetowego i RPC
type_xinetd=Rozszerzonego serwera internetowego
type_squid=Serwera proxy Squid
type_bind8=Serwera DNS BIND
type_dnsadmin=Serwera DNS BIND 4
type_dhcpd=Serwera DHCP
type_tcp=Zdalnej us³ugi TCP
type_http=Zdalnej us³ugi HTTP
type_sendmail=Serwera Sendmail
type_postfix=Serwera Postfix
type_ping=Zdalny ping
type_proc=Sprawdzenie procesu
type_mysql=Serwera baz danych MySQL
type_postgresql=Serwera baz danych PostgreSQL
type_samba=Serwerów Samby
type_nfs=Serwera NFS
type_exec=Uruchomienie polecenia
type_file=Sprawdzenie pliku
type_traffic=Obci±¿enie sieci
type_space=Miejsce na dysku
type_load=¦rednie obci±¿enie systemu

mon_create=Utwórz monitorowanie
mon_edit=Zmieñ monitorowanie
mon_header=Dane monitorowania
mon_desc=Opis
mon_remote=Uruchom na ho¶cie
mon_local=Lokalnym
mon_none=nie zdefiniowano zdalnych serwerów
mon_nosched=Sprawdzaæ okresowo?
mon_status=Stan bie¿±cy
mon_up=Podniesiony
mon_down=Wy³±czony
mon_not=Nie zainstalowany
mon_ondown=Koñcz±c monitorowanie uruchom polecenie
mon_onup=Zaczynaj±c monitorowanie uruchom polecenie
mon_clone=Monitorowany modu³
mon_err=Nie uda³o siê zachowaæ monitorowania
mon_edesc=Nie podano opisu
mon_elogin=Nieprawid³owy login dla RPC na serwerze Webmina $1
mon_eremote=Serwer Webmina $1 nie obs³uguje RPC
mon_estatus=Serwer Webmina $1 nie posiada modu³u <tt>Stan systemu i&nbsp;serwerów</tt>
mon_ecannot=Nie masz uprawnieñ do zmiany monitorowañ
mon_ertype=Ten rodzaj monitorowania jest niedostêpny na $1

sched_title=Monitorowanie okresowe
sched_header=Opcje okresowego monitorowania w&nbsp;tle
sched_mode=W³±czone sprawdzanie okresowe?
sched_email=Przes³aæ poczt± raport o&nbsp;stanie do
sched_none=Nikogo
sched_from=Adres From: dla poczty
sched_int=Sprawdzaæ co
sched_period_0=minut
sched_period_1=godzin
sched_period_2=dni
sched_period_3=miesiêcy
sched_period_4=tygodni
sched_offset=z&nbsp;przesuniêciem
sched_warn=Przesy³aæ wiadomo¶æ
sched_warn1=Gdy zmieni siê stan us³ugi
sched_warn0=Gdy us³uga zostanie wy³±czona
sched_single=Wysy³aæ osobn± wiadomo¶æ dla ka¿dej us³ugi?
sched_hours=Monitoruj w&nbsp;godzinach
sched_days=Monitoruj w&nbsp;dni
sched_err=Nie uda³o siê zachowaæ monotorowania okresowego
sched_eemail=Brak adresu e-mail
sched_eint=Brakuj±cy lub niepoprawny okres
sched_eoffset=Brakuj±ce lub niepoprawne przesuniêcie
sched_ehours=Nie wybrano godzin monitorowania
sched_edays=Nie wybrano dni monitorowania
sched_ecannot=Nie masz uprawnieñ do zmiany monitorowania okresowego

up_since=Dzia³a od $1
depends_mod=W&nbsp;systemie nie jest zainstalowany modu³ $1
depends_os=Twój system nie obs³uguje modu³u $1
depends_remote=Serwer $2 nie obs³uguje modu³u $1

tcp_host=Po³±czenie z&nbsp;hostem
tcp_port=Po³±czenie z&nbsp;portem
tcp_alarm=Czas przeterminowania po³±czenia
tcp_ehost=Nie podana lub niepoprawna nazwa hosta
tcp_eport=Nie podany lub niepoprawny numer portu
tcp_ealarm=Nie podany lub niepoprawny czas przeterminowania

http_url=¯±dany URL
http_alarm=Czas przeterminowania po³±czenia
http_eurl=Nie podany lub niepoprawny URL
http_ealarm=Nie podany lub niepoprawny czas przeterminowania

ping_host=Pingowany host
ping_wait=Czas oczekiwania na odpowied¼
ping_ehost=Nie podana lub niepoprawna nazwa hosta
ping_ewait=Nie podany lub niepoprawny czas oczekiwania
ping_econfig=Nie podano polecenia pinguj±cego w&nbsp;konfiguracji modu³u

proc_pid=Dzia³a z&nbsp;numerem PID $1
proc_cmd=Sprawdzane polecenie
proc_ecmd=Nie podano polecenia

exec_cmd=Polecenie, którego kod zakoñczenia sprawdzaæ
exec_ecmd=Nie podano polecenia

file_file=Sprawdzany plik
file_test=Wykonywany test
file_test_0=Plik musi istnieæ
file_test_1=Plik nie mo¿e istnieæ
file_test_2=Plik musi byæ wiêkszy ni¿
file_test_3=Plik musi byæ mniejszy ni¿
file_bytes=bajtów
file_efile=Nie podano nazwy sprawdzanego pliku
file_esize=Niew³a¶ciwy rozmiar pliku

traffic_iface=Monitorowany interfejs
traffic_bytes=Maksymalna liczba bajtów/sekundê
traffic_dir=Monitorowany kierunek
traffic_dir0=Przychodz±cy i&nbsp;wychodz±cy
traffic_dir1=Tylko przychodz±cy
traffic_dir2=Tylko wychodz±cy
traffic_desc=To monitorowanie ¶ledzi ruch w&nbsp;sieci na wybranym interfejsie oraz pokazuje monitorowanie jako wy³±czone, gdy ruch przekracza zadan± warto¶æ podan± poni¿ej. Dzia³a to poprawnie jedynie, gdy monitorowanie okresowe jest w³±czone i&nbsp;ustawione na krótki okres czasu, jak np. 5 minut.
traffic_eifaces=W&nbsp;systemie nie ma pliku /proc/net/dev
traffic_ebytes=Nie podana lub nieporawna liczba bajtów/sekundê

space_fs=Sprawdzany system plików
space_min=Minimalna ilo¶æ wolnego miejsca (w&nbsp;kB)
space_desc=Wolne $1&nbsp;kB
space_nofs=System plików nie zamontowany
space_other=Inne..
space_emin=Nie podana lub niepoprawna ilo¶æ wolnego miejsca
space_eother=Nie podany lub niepoprawny system plików

load_time=Sprawdzaæ ¶rednie obci±¿enie z&nbsp;okresu
load_1=1 minuta
load_5=5 minut
load_15=15 minut
load_max=Maksymalne ¶rednie obci±¿enie
load_emax=Nie podane lub nie poprawne maksymalne ¶rednie obci±¿enie
load_ecmd=W&nbsp;systemie nie znaleziono polecenia <tt>uptime</tt>
load_efmt=Nie uda³o siê przetworzyæ wyniku polecenia <tt>uptime</tt>

log_create=Utworzono monitorowanie $1
log_modify=Zmieniono monitorowanie $1
log_delete=Usuniêto monitorowanie $1
log_sched=Zmieniono monitorowanie okresowe

acl_edit=Mo¿e zmieniaæ i&nbsp;tworzyæ monitorowania?
acl_sched=Mo¿e zmieniaæ monitorowania okresowe?
 0707010005abce000081a40000000000000002000000013d1fe2de00000c71000000200000000000000000000000000000001500000003reloc/status/lang/sv  index_title=System- och serverstatus
index_name=Tjänstenamn
index_host=På dator
index_desc=Övervakar
index_up=Status
index_local=Lokal
index_add=Lägg till övervakning av typen
index_sched=Schemalagd övervakning
index_return=tjänstelista

type_apache=Apache Webbserver
type_inetd=Internet- och RPC-server
type_xinetd=Utökad Internet-server
type_squid=Squid Proxyserver
type_bind8=BIND DNS-server
type_dnsadmin=BIND 4 DNS-server
type_dhcpd=DHCP-server
type_tcp=TCP-tjänst på annan dator
type_http=HTTP-tjänst på annan dator
type_sendmail=Sendmailserver
type_postfix=Postfix-server
type_ping=Ping på annan dator
type_proc=Kontrollera process
type_mysql=MySQL-databasserver
type_postgresql=PostgreSQL-databasserver
type_samba=Samba-servrar
type_nfs=NFS-server
type_exec=Utför kommando

mon_create=Lägg till övervakning
mon_edit=Ändra övervakning
mon_header=Uppgifter om övervakning
mon_desc=Beskrivning
mon_remote=Kör på dator
mon_local=Lokal
mon_none=Du har inte angivit några andra servrar
mon_nosched=Kontrollera enligt schema?
mon_status=Aktuell status
mon_up=Uppe
mon_down=Nere
mon_not=Ej installerad
mon_ondown=Om övervakningen går ner, kör kommandot
mon_onup=Om övervakningen startas, kör kommandot
mon_err=Det gick inte att spara övervakningen
mon_edesc=Det finns ingen beskrivning
mon_elogin=Ogiltig RPC-inloggning på Webmin-server $1
mon_eremote=Webmin-server $1 stöder inte RPC
mon_estatus=Webmin-server $1 har inte modulen System- och serverstatus

sched_title=Schemalagd övervakning
sched_header=Inställningar för schemalagd övervakning i bakgrunden
sched_mode=Schemalagd kontroll aktiv?
sched_email=Skicka statusrapport med e-post till
sched_from=Avsändaradress för rapporterna
sched_int=Kontrollera var
sched_period_0=minut
sched_period_1=timme
sched_period_2=dag
sched_period_3=månad
sched_period_4=vecka
sched_offset=med offset
sched_warn=Skicka e-post
sched_warn1=om en tjänst ändrar status
sched_warn0=om en tjänst går ner
sched_single=Skicka ett e-postbrev per tjänst?
sched_err=Det gick inte att spara schemalagd övervakning
sched_eemail=Du har inte angivit någon e-postadress
sched_eint=Kontrollintervall saknas eller är felaktigt angivet
sched_eoffset=Offset saknas eller är felaktigt angivet

up_since=Uppe sedan $1
depends_mod=Modulen $1 har inte installerats på systemet
depends_os=Modulen $1 stöds inte av systemet
depends_remote=Modulen $1 stöds inte av server $2

tcp_host=Dator att koppla upp mot
tcp_port=Port att koppla upp mot
tcp_alarm=Tidsgräns för uppkoppling
tcp_ehost=Datornamn saknas eller är felaktigt angivet
tcp_eport=Portnummer saknas eller är felaktigt angivet
tcp_ealarm=Tidsgräns saknas eller är felaktigt angiven

http_url=URL att hämta
http_alarm=Tidsgräns för uppkoppling
http_eurl=URL saknas eller är felaktigt angiven
http_ealarm=Tidsgräns saknas eller är felaktigt angiven

ping_host=Dator att pinga
ping_ehost=Datornamn saknas eller är felaktigt angivet
ping_econfig=Du har inte angivit något ping-kommando i modulinställningarna

proc_pid=Kör med PID $1
proc_cmd=Kommando att titta efter
proc_ecmd=Du har inte angivit något kommando

exec_cmd=Kommando som exit-status ska kontrolleras för
exec_ecmd=Du har inte angivit något kommando

   0707010005abcf000081a40000000000000002000000013d1fe2de00000820000000200000000000000000000000000000001800000003reloc/status/lang/zh_CN   index_title=ÏµÍ³ºÍ·þÎñÆ÷µÄ×´Ì¬
index_name=·þÎñÃû³Æ
index_host=ÔÚÖ÷»ú
index_desc=¼àÊÓ
index_up=×´Ì¬
index_local=±¾µØ
index_add=Ôö¼Ó¼àÊÓµÄÀàÐÍ£º
index_sched=¶¨Ê±¼àÊÓ
index_return=·þÎñÁÐ±í
type_apache=Apache Web ·þÎñÆ÷
type_inetd=Internet ºÍ RPC ·þÎñÆ÷
type_xinetd=À©Õ¹ Internet ·þÎñÆ÷
type_squid=Squid ´úÀí·þÎñÆ÷
type_bind8=BIND DNS ·þÎñÆ÷
type_dnsadmin=BIND 4 DNS ·þÎñÆ÷
type_dhcpd=DHCP ·þÎñÆ÷
type_tcp=Ô¶³Ì TCP ·þÎñÆ÷
type_http=Ô¶³Ì HTTP ·þÎñ
type_sendmail=Sendmail ·þÎñÆ÷
type_ping=Ô¶³Ì Ping 
type_proc=¼ì²é½ø³Ì
type_mysql=MySQL Êý¾Ý¿â·þÎñÆ÷
type_postgresql=PostgreSQL Êý¾Ý¿â·þÎñÆ÷
type_samba=Samba ·þÎñÆ÷
type_nfs=NFS ·þÎñÆ÷
type_exec=Ö´ÐÐÃüÁî
mon_create=´´½¨¼àÊÓ
mon_edit=±à¼­¼àÊÓ
mon_header=¼àÊÓÏêÊö
mon_desc=ÃèÊö
mon_remote=ÔÚÖ÷»úÉÏÔËÐÐ
mon_local=±¾µØ
mon_none=Ã»¶¨ÒåÔ¶³Ì·þÎñÆ÷
mon_nosched=¶¨Ê±¼ì²é£¿
mon_status=µ±Ç°×´Ì¬
mon_up=ÏòÉÏ
mon_down=ÏòÏÂ
mon_not=Ã»ÓÐ°²×°
mon_err=±£´æ¼àÊÓÊ§°Ü
mon_edesc=¶ªÊ§ÃèÊö
mon_elogin=ÔÚ Webmin ·þÎñÆ÷ $1 ÉÏÎÞÐ§µÄ RPC µÇÂ¼
mon_eremote=Webmin ·þÎñÆ÷ $1 ²»Ö§³Ö RPC
mon_estatus=Webmin ·þÎñÆ÷ $1 Ã»ÓÐÏµÍ³ºÍ·þÎñÆ÷×´Ì¬Ä£¿é
sched_title=¶¨Ê±µÄ¼àÊÓ
sched_header=¶¨Ê±ºóÌ¨¼àÊÓÑ¡Ïî
sched_mode=ÆôÓÃÁË¶¨Ê±¼àÊÓ£¿
sched_email=Email ×´Ì¬»ã±¨µ½
sched_int=¼ì²éÃ¿Ò»¸ö
sched_period_0=·ÖÖÓ
sched_period_1=Ð¡Ê±
sched_period_2=Ìì
sched_period_3=ÔÂ
sched_period_4=ÐÇÆÚ
sched_offset=´øÆ«ÒÆ
sched_warn=ºÎÊ±·¢ËÍ 
sched_warn1=µ±·þÎñ×´Ì¬¸Ä±äÊ±
sched_warn0=µ±·þÎñ½áÊøÊ±
sched_err=±£´æ¶¨Ê±¼àÊÓÊ§°Ü
sched_eemail=¶ªÊ§ Email µØÖ·
sched_eint=¶ªÊ§»òÎÞÐ§µÄ¼ä¸ô
sched_eoffset=¶ªÊ§»òÎÞÐ§µÄÆ«ÒÆÁ¿
up_since=×Ô $1 ÆðÏòÉÏ
depends_mod=ÄúµÄÏµÍ³Ã»ÓÐ°²×°Ä£¿é$1
depends_os=ÄúµÄÏµÍ³²»Ö§³ÖÄ£¿é $1
depends_remote=·þÎñÆ÷ $2 ²»Ö§³ÖÄ£¿é $1
tcp_host=Á¬½ÓµÄÖ÷»ú
tcp_port=Á¬½ÓµÄ¶Ë¿Ú
tcp_alarm=Á¬½Ó³¬Ê±
tcp_ehost=¶ªÊ§»òÎÞÐ§µÄÖ÷»úÃû
tcp_eport=¶ªÊ§»òÎÞÐ§µÄ¶Ë¿ÚºÅ
tcp_ealarm=¶ªÊ§»òÎÞÐ§µÄÁ¬½Ó³¬Ê±
http_url=ÐèÒªµÄ URL
http_alarm=Á¬½Ó³¬Ê±
http_eurl=¶ªÊ§»òÎÞÐ§µÄ URL
http_ealarm=¶ªÊ§»òÎÞÐ§µÄÁ¬½Ó³¬Ê±
ping_host=Òª Ping Ö÷»ú
ping_ehost=¶ªÊ§»òÎÞÐ§µÄÖ÷»úÃû
ping_econfig=ÔÚÄ£¿éÅäÖÃÖÐÃ»ÓÐÉèÖÃ Ping ÃüÁî
proc_pid=ÒÔ PID $1 ÔËÐÐ
proc_cmd=Òª¼ì²éµÄÃüÁî
proc_ecmd=¶ªÊ§ÃüÁî
exec_cmd=Òª¼ì²éÍË³ö×´Ì¬µÄÃüÁî
exec_ecmd=¶ªÊ§ÃüÁî
07070100057e22000081a40000000000000002000000013d1fe2de000004e5000000200000000000000000000000000000001d00000003reloc/status/load-monitor.pl  # load-monitor.pl
# Check if the system load exceeds some level

sub get_load_status
{
local @u = &uptime_output();
if (!@u) {
	return { 'up' => -1 }
	}
elsif ($u[$_[0]->{'time'}] >= $_[0]->{'max'}) {
	return { 'up' => 0 }
	}
else {
	return { 'up' => 1,
		 'desc' => "Load is $u[$_[0]->{'time'}]" };
	}
}

sub show_load_dialog
{
print "<tr> <td><b>$text{'load_time'}</b></td> <td>\n";
printf "<input type=radio name=time value=0 %s> $text{'load_1'}\n",
	$_[0]->{'time'} == 0 ? "checked" : "";
printf "<input type=radio name=time value=1 %s> $text{'load_5'}\n",
	$_[0]->{'time'} == 1 ? "checked" : "";
printf "<input type=radio name=time value=2 %s> $text{'load_15'}\n",
	$_[0]->{'time'} == 2 ? "checked" : "";
print "</td>\n";

print "<td><b>$text{'load_max'}</b></td>\n";
print "<td><input name=max size=6 value='$_[0]->{'max'}'></td> </tr>\n";
}

sub parse_load_dialog
{
&has_command("uptime") || &error($text{'load_ecmd'});
scalar(&uptime_output()) || &error($text{'load_efmt'});
$in{'max'} =~ /^[0-9\.]+$/ || &error($text{'load_emax'});
$_[0]->{'time'} = $in{'time'};
$_[0]->{'max'} = $in{'max'};
}

sub uptime_output
{
local $out = `uptime 2>&1`;
return $out =~ /average(s)?:\s+([0-9\.]+),\s+([0-9\.]+),\s+([0-9\.]+)/i ?
		( $2, $3, $4 ) : ( );
}

   07070100057e23000081a40000000000000002000000013d1fe2de00000175000000200000000000000000000000000000001b00000003reloc/status/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'status-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
return &text("log_${action}", "<i>".&html_escape($p->{'desc'})."</i>");
}

   07070100057e24000081a40000000000000002000000013d1fe2ea000001ab000000200000000000000000000000000000001900000003reloc/status/module.info  desc_nl=Systeem en Server Status
risk=low medium high
desc_ko_KR.euc=½Ã½ºÅÛ ¹× ¼­¹ö »óÅÂ
desc=System and Server Status
desc_pl=Stan systemu i&nbsp;serwerów
desc_de=System- und Server-Status
desc_sv=System- och serverstatus
desc_es=Estado de Sistema y de Servidor
name=Status
desc_ja_JP.euc=¥·¥¹¥Æ¥à¤ª¤è¤Ó¥µ¡¼¥Ð¤Î¥¹¥Æ¡¼¥¿¥¹
depends=servers 0.990
version=0.990
desc_zh_CN=ÏµÍ³ºÍ·þÎñÆ÷µÄ×´Ì¬
desc_ca=Estat del Sistema i Servidors
 07070100057e25000081a40000000000000002000000013d1fe2de000001ab000000200000000000000000000000000000001c00000003reloc/status/mon-monitor.pl   # mon-monitor.pl
# Monitor the mon daemon on this host

# Check the PID file to see if mon is running
sub get_mon_status
{
local %mconfig = &foreign_config("mon");
-d $mconfig{'cfbasedir'} || return { 'up' => -1 };
local $pid;
if (open(PID, $mconfig{'pid_file'}) && chop($pid = <PID>) && kill(0, $pid)) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_mon_dialog
{
&depends_check($_[0], "mon");
}

1;

 07070100057e26000081e40000000000000002000000013d1fe2de000010f5000000200000000000000000000000000000001800000003reloc/status/monitor.pl   #!/usr/local/bin/perl
# monitor.pl
# Check all the monitors and send email if something is down

$no_acl_check++;
delete($ENV{'FOREIGN_MODULE_NAME'});
delete($ENV{'SCRIPT_NAME'});
delete($ENV{'SERVER_ROOT'});
require './status-lib.pl';

# Check if the monitor should be run now
@tm = localtime(time());
@hours = split(/\s+/, $config{'sched_hours'});
!@hours || &indexof($tm[2], @hours) >= 0 || exit;
@days = split(/\s+/, $config{'sched_days'});
!@days || &indexof($tm[6], @days) >= 0 || exit;

# Check for services that are down
&lock_file("$module_config_directory/oldstatus");
&read_file("$module_config_directory/oldstatus", \%oldstatus);
$now = localtime(time());
$host = &get_system_hostname();
@services = &list_services();
foreach $serv (@services) {
	if ($serv->{'nosched'}) {
		delete($oldstatus{$serv->{'id'}});
		next;
		}
	$stat = &service_status($serv);
	$o = $oldstatus{$serv->{'id'}};
	if ($config{'sched_warn'} == 0 && $stat->{'up'} == 0 && $o) {
		# Service has just gone down
		$email .= "Monitor on $host for '$serv->{'desc'}'\n".
		 "has detected that the service is down at $now\n\n";
		$subj = "$serv->{'desc'} down on $host";
		$pager_msg .= "$host: \"$serv->{'desc'}\" is down $now! ";
		if ($serv->{'ondown'}) {
			system("($serv->{'ondown'}) >/dev/null 2>&1");
			}
		}
	elsif ($config{'sched_warn'} == 1 && $stat->{'up'} != $o &&
	       (defined($o) || $stat->{'up'} == 0)) {
		# Service has changed status
		if ($stat->{'up'} == 0) {
			$email .= "Monitor on $host for '$serv->{'desc'}'\n".
			 "has detected that the service is down at $now\n\n";
			$subj = "$serv->{'desc'} down on $host";
		        $pager_msg .= "$host: \"$serv->{'desc'}\" is down $now! ";
			if ($serv->{'ondown'}) {
				system("($serv->{'ondown'}) >/dev/null 2>&1");
				}
			}
		elsif ($stat->{'up'} == 1) {
			$email .= "Monitor on $host for '$serv->{'desc'}'\n".
			 "has detected that the service is back up at $now\n\n";
			$subj = "$serv->{'desc'} back up on $host";
		        $pager_msg .= "$host: \"$serv->{'desc'}\" is back up $now! ";
			if ($serv->{'onup'}) {
				system("($serv->{'onup'}) >/dev/null 2>&1");
				}
			}
		}
	$oldstatus{$serv->{'id'}} = $stat->{'up'};
	if ($config{'sched_single'} && $email) {
		# Force the sending of one email per report
		&send_status_email($email, $subj);
		undef($email);
		}
	}
&write_file("$module_config_directory/oldstatus", \%oldstatus);
&unlock_file("$module_config_directory/oldstatus");

# Send the email if necessary
if ($email) {
	&send_status_email($email, 'Service monitor');
	&send_status_pager($pager_msg);
	}

# send_status_email(text, subject)
sub send_status_email
{
return if (!$config{'sched_email'});
if ($config{'sched_smtp'}) {
	# Connect to SMTP server
	local $from = $config{'sched_from'} ? $config{'sched_from'}
					    : "webmin\@".&get_system_hostname();
	&open_socket($config{'sched_smtp'}, 25, MAIL);
	&smtp_command(MAIL);
	&smtp_command(MAIL, "helo ".&get_system_hostname()."\n");
	&smtp_command(MAIL, "mail from: $from\n");
	&smtp_command(MAIL, "rcpt to: $config{'sched_email'}\n");
	&smtp_command(MAIL, "data\n");
	print MAIL "From: $from\n";
	print MAIL "To: $config{'sched_email'}\n";
	print MAIL "Subject: $_[1]\n";
	print MAIL "\n";
	print MAIL $_[0];
	print MAIL "\n";
	&smtp_command(MAIL, ".\n");
	&smtp_command(MAIL, "quit\n");
	close(MAIL);
	}
else {
	# Run sendmail executable
	local %sconfig = &foreign_config("sendmail");
	if ($config{'sched_from'}) {
		open(MAIL, "|$sconfig{'sendmail_path'} -t -f$config{'sched_from'} >/dev/null 2>&1");
		print MAIL "From: $config{'sched_from'}\n";
		}
	else {
		open(MAIL, "|$sconfig{'sendmail_path'} -t >/dev/null 2>&1");
		print MAIL "From: webmin\n";
		}
	print MAIL "To: $config{'sched_email'}\n";
	print MAIL "Subject: $_[1]\n";
	print MAIL "\n";
	print MAIL $_[0];
	print MAIL "\n";
	close(MAIL);
	}
}

# send_status_pager(text)
sub send_status_pager
{
  return if (!$config{'sched_pager'});
  return if (!&has_command($config{'pager_cmd'}));
  local $msg = $_[0];
  $msg =~ s/\\/\\\\/g;
  $msg =~ s/\'/\\\'/g;
  system("$config{'pager_cmd'} $config{'sched_pager'} '$msg'  >/dev/null 2>&1 </dev/null");
}

# smtp_command(handle, command)
sub smtp_command
{
local ($m, $c) = @_;
print $m $c;
local $r = <$m>;
if ($r !~ /^[23]\d+/) {
	&error(&text('sched_esmtpcmd', "<tt>$c</tt>", "<tt>$r</tt>"));
	}
}


   07070100057e27000081a40000000000000002000000013d1fe2de0000018a000000200000000000000000000000000000001e00000003reloc/status/mysql-monitor.pl # mysql-monitor.pl
# Monitor the MySQL server on this host

# Check if mysql is running
sub get_mysql_status
{
&foreign_require($_[1], "mysql-lib.pl");
local %mconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-x $mconfig{'mysqladmin'});
local $r = &foreign_call($_[1], "is_mysql_running");
return { 'up' => $r ? 1 : 0 };
}

sub parse_mysql_dialog
{
&depends_check($_[0], "mysql");
}
  07070100057e28000081a40000000000000002000000013d1fe2de00000156000000200000000000000000000000000000001c00000003reloc/status/nfs-monitor.pl   # nfs-monitor.pl
# Monitor the NFS server process

sub get_nfs_status
{
&foreign_require("proc", "proc-lib.pl");
if (&foreign_check("exports") || &foreign_check("dfsadmin") ||
    &foreign_check("bsdexports") || &foreign_check("hpuxexports")) {
	return { 'up' => &find_named_process('nfsd') ? 1 : 0 };
	}
else {
	return { 'up' => -1 };
	}
}

  07070100057e29000081a40000000000000002000000013d1fe2de000004e0000000200000000000000000000000000000001d00000003reloc/status/ping-monitor.pl  # ping-monitor.pl
# Ping some host

sub get_ping_status
{
# fork the ping process and wait for it to exit
$ping_exited = 0;
local $pid = fork();
if (!$pid) {
	exec("$config{'ping_cmd'} $_[0]->{'host'} >/dev/null 2>&1 </dev/null");
	exit 1;
	}
$SIG{'CHLD'} = "ping_reaper";
sleep(defined($_[0]->{'wait'}) ? $_[0]->{'wait'} : 5);
if ($ping_exited) {
	local $rv = waitpid($pid, WNOHANG);
	if ($?) {
		# ping exited with failure
		return { 'up' => 0 };
		}
	else {
		# ping sucessful
		return { 'up' => 1 };
		}
	}
else {
	# ping never finished!
	kill('KILL', $pid);
	return { 'up' => 0 };
	}
}

sub ping_reaper
{
$ping_exited++;
}


sub show_ping_dialog
{
print "<tr> <td><b>$text{'ping_host'}</b></td>\n";
print "<td colspan=3><input name=host size=45 value='$_[0]->{'host'}'></td> </tr>\n";

print "<tr> <td><b>$text{'ping_wait'}</b></td>\n";
printf "<td><input name=wait size=6 value='%s'></td> </tr>\n",
	defined($_[0]->{'wait'}) ? $_[0]->{'wait'} : 5;
}

sub parse_ping_dialog
{
$config{'ping_cmd'} || &error($text{'ping_econfig'});
&check_ipaddress($in{'host'}) || gethostbyname($in{'host'}) ||
	&error($text{'ping_ehost'});
$in{'wait'} =~ /^\d+$/ || &error($text{'ping_ewait'});
$_[0]->{'host'} = $in{'host'};
$_[0]->{'wait'} = $in{'wait'};
}

07070100057e2a000081a40000000000000002000000013d1fe2de000001e1000000200000000000000000000000000000002300000003reloc/status/portsentry-monitor.pl    # portsentry-monitor.pl
# Monitor the portsentry daemon

# Check the PID file to see if portsentry is running
sub get_portsentry_status
{
local %sconfig = &foreign_config("sentry");
&has_command($sconfig{'portsentry'}) || return { 'up' => -1 };
&foreign_require("sentry", "sentry-lib.pl");
local @pids = &sentry::get_portsentry_pids();
if (@pids) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_portsentry_dialog
{
&depends_check($_[0], "sentry");
}

1;

   07070100057e2b000081a40000000000000002000000013d1fe2de000001c5000000200000000000000000000000000000002000000003reloc/status/postfix-monitor.pl   # postfix-monitor.pl
# Monitor the postfix server on this host

# Check to see if postfix is running
sub get_postfix_status
{
&foreign_require($_[1], "postfix-lib.pl");
local %pconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $pconfig{'postfix_control_command'});
if (&foreign_call($_[1], "is_postfix_running")) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_postfix_dialog
{
&depends_check($_[0], "postfix");
}
   07070100057e2c000081a40000000000000002000000013d1fe2de000001ad000000200000000000000000000000000000002300000003reloc/status/postgresql-monitor.pl    # postgresql-monitor.pl
# Monitor the PostgreSQL server on this host

# Check if postgresql is running
sub get_postgresql_status
{
&foreign_require($_[1], "postgresql-lib.pl");
local %pconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-x $pconfig{'psql'});
local $r = &foreign_call($_[1], "is_postgresql_running");
return { 'up' => $r ? 1 : 0 };
}

sub parse_postgresql_dialog
{
&depends_check($_[0], "postgresql");
}

   07070100057e2d000081a40000000000000002000000013d1fe2de0000024d000000200000000000000000000000000000001d00000003reloc/status/proc-monitor.pl  # proc-monitor.pl
# Check if some process is running

sub get_proc_status
{
&foreign_require("proc", "proc-lib.pl");
foreach $p (&foreign_call("proc", "list_processes")) {
	if ($p->{'args'} =~ /$_[0]->{'cmd'}/i) {
		return { 'up' => 1,
			 'desc' => &text('proc_pid', $p->{'pid'}) };
		}
	}
return { 'up' => 0 };
}

sub show_proc_dialog
{
print "<tr> <td><b>$text{'proc_cmd'}</b></td>\n";
print "<td><input name=cmd size=20 value='$_[0]->{'cmd'}'></td>\n";
}

sub parse_proc_dialog
{
&depends_check($_[0], "proc");
$in{'cmd'} || &error($text{'proc_ecmd'});
$_[0]->{'cmd'} = $in{'cmd'};
}

   07070100057e2e000081a40000000000000002000000013d1fe2de000001af000000200000000000000000000000000000002300000003reloc/status/qmailadmin-monitor.pl    # qmailadmin-monitor.pl
# Monitor the qmail server on this host

# Check the PID file to see if qmail is running
sub get_qmailadmin_status
{
local %qconfig = &foreign_config("qmailadmin");
-d $qconfig{'qmail_dir'} || return { 'up' => -1 };
local ($pid) = &find_byname("qmail-send");
if ($pid) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_qmailadmin_dialog
{
&depends_check($_[0], "qmailadmin");
}

1;

 07070100057e2f000081a40000000000000002000000013d1fe2de0000018e000000200000000000000000000000000000001e00000003reloc/status/samba-monitor.pl # samba-monitor.pl
# Monitor the samba servers on this host

# Check if samba is running
sub get_samba_status
{
&foreign_require($_[1], "samba-lib.pl");
local %sconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-x $sconfig{'samba_server'});
local $r = &foreign_call($_[1], "is_samba_running");
return { 'up' => $r ? 1 : 0 };
}

sub parse_samba_dialog
{
&depends_check($_[0], "samba");
}

  07070100057e30000081e40000000000000002000000013d1fe2de000007af000000200000000000000000000000000000001a00000003reloc/status/save_mon.cgi #!/usr/local/bin/perl
# save_mon.cgi
# Create, update or delete a monitor

require './status-lib.pl';
$access{'edit'} || &error($text{'mon_ecannot'});
&ReadParse();
if ($in{'type'}) {
	$serv->{'type'} = $in{'type'};
	$serv->{'id'} = time();
	}
else {
	$serv = &get_service($in{'id'});
	$serv->{'oldremote'} = $serv->{'remote'};
	}

if ($in{'delete'}) {
	# Delete the monitor
	&delete_service($serv);
	&webmin_log("delete", undef, $serv->{'id'}, $serv);
	}
else {
	# Parse and validate inputs
	&error_setup($text{'mon_err'});
	$in{'desc'} || &error($text{'mon_edesc'});
	$serv->{'desc'} = $in{'desc'};
	if ($in{'remote_def'}) {
		delete($serv->{'remote'});
		}
	else {
		if ($in{'type'} || $serv->{'remote'} ne $in{'remote'}) {
			# Only need to check for new monitors
			eval { $ch = &remote_foreign_check($in{'remote'},
							   'status') };
			&error(&text('mon_elogin', $in{'remote'}))
			    if ($@ =~ /invalid.*login/i || $@ =~ /HTTP.*401/i);
			&error(&text('mon_eremote', $in{'remote'})) if ($@);
			$ch || &error(&text('mon_estatus', $in{'remote'}));
			&remote_foreign_require($in{'remote'}, 'status',
						'status-lib.pl');
			#$handlers = &remote_eval($in{'remote'}, 'status',
			#			 '[ &list_handlers() ]');
			#&indexof($serv->{'type'}, @$handlers) == -1 &&
			#	&error(&text('mon_ertype', $in{'remote'}));
			$ok = &remote_eval($in{'remote'}, 'status',
			   "-r \"\$root_directory/status/$serv->{'type'}-monitor.pl\"");
			$ok || &error(&text('mon_ertype', $in{'remote'}));
			}
		$serv->{'remote'} = $in{'remote'};
		}
	$serv->{'nosched'} = $in{'nosched'};
	$serv->{'ondown'} = $in{'ondown'};
	$serv->{'onup'} = $in{'onup'};
	$serv->{'clone'} = $in{'clone'};
	$type = $serv->{'type'};
	do "./${type}-monitor.pl";
	$func = "parse_${type}_dialog";
	if (defined(&$func)) {
		&$func($serv);
		}

	# Save or create the monitor
	&save_service($serv);
	&webmin_log($in{'type'} ? "create" : "modify", undef,
		    $serv->{'id'}, $serv);
	}
&redirect("");

 07070100057e31000081e40000000000000002000000013d1fe2de00000d56000000200000000000000000000000000000001c00000003reloc/status/save_sched.cgi   #!/usr/local/bin/perl
# save_sched.cgi
# Save scheduled monitoring options

require './status-lib.pl';
$access{'sched'} || &error($text{'sched_ecannot'});
&ReadParse();
&error_setup($text{'sched_err'});

# Parse and save inputs
$in{'email_def'} || $in{'email'} =~ /\S/ || &error($text{'sched_eemail'});
$config{'sched_email'} = $in{'email_def'} ? '' : $in{'email'};
$config{'sched_pager'} = $in{'pager_def'} ? '' : $in{'pager'};
if ($in{'from_def'}) {
	delete($config{'sched_from'});
	}
else {
	$in{'from'} =~ /^\S+$/ || &error($text{'sched_efrom'});
	$config{'sched_from'} = $in{'from'};
	}
if ($in{'smtp_def'}) {
	delete($config{'sched_smtp'});
	}
else {
	gethostbyname($in{'smtp'}) || &check_ipaddress($in{'smtp'}) ||
		&error($text{'sched_esmtp'});
	$config{'sched_smtp'} = $in{'smtp'};
	}
$config{'sched_mode'} = $in{'mode'};
$in{'int'} =~ /^\d+$/ || &error($text{'sched_eint'});
$config{'sched_int'} = $in{'int'};
$config{'sched_period'} = $in{'period'};
$in{'offset'} =~ /^\d+$/ || &error($text{'sched_eoffset'});
$config{'sched_offset'} = $in{'offset'};
$config{'sched_warn'} = $in{'warn'};
$config{'sched_single'} = $in{'single'};
@hours = split(/\0/, $in{'hours'});
@hours || &error($text{'sched_ehours'});
$config{'sched_hours'} = @hours == 24 ? '' : join(" ", @hours);
@days = split(/\0/, $in{'days'});
@days || &error($text{'sched_edays'});
$config{'sched_days'} = @days == 7 ? '' : join(" ", @days);
&lock_file("$module_config_directory/config");
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");

# Setup or remove the cron job
$cron_cmd = "$module_config_directory/monitor.pl";
&lock_file($cron_cmd);
&foreign_require("cron", "cron-lib.pl");
foreach $j (&foreign_call("cron", "list_cron_jobs")) {
	$job = $j if ($j->{'user'} eq 'root' && $j->{'command'} eq $cron_cmd);
	}
if ($job) {
	&foreign_call("cron", "delete_cron_job", $job);
	unlink($cron_cmd);
	}
if ($config{'sched_mode'}) {
	# Create the program that cron calls
	open(PERL, "$config_directory/perl-path");
	chop($perl_path = <PERL>);
	close(PERL);
	open(CMD, ">$cron_cmd");
	print CMD <<EOF;
#!$perl_path
open(CONF, "$config_directory/miniserv.conf");
while(<CONF>) {
	\$root = \$1 if (/^root=(.*)/);
	}
close(CONF);
\$ENV{'WEBMIN_CONFIG'} = "$ENV{'WEBMIN_CONFIG'}";
\$ENV{'WEBMIN_VAR'} = "$ENV{'WEBMIN_VAR'}";
chdir("\$root/$module_name");
exec("\$root/$module_name/monitor.pl");
EOF
	close(CMD);
	chmod(0755, $cron_cmd);

	# Setup the actual cron job
	$njob = { 'user' => 'root', 'active' => 1,
		  'hours' => '*', 'days' => '*',
		  'months' => '*', 'weekdays' => '*',
		  'command' => $cron_cmd };
	if ($config{'sched_period'} == 0) {
		$njob->{'mins'} = &make_interval(60);
		}
	elsif ($config{'sched_period'} == 1) {
		$njob->{'hours'} = &make_interval(24);
		$njob->{'mins'} = 0;
		}
	elsif ($config{'sched_period'} == 2) {
		$njob->{'days'} = &make_interval(31, 1);
		$njob->{'hours'} = $njob->{'mins'} = 0;
		}
	elsif ($config{'sched_period'} == 3) {
		$njob->{'months'} = &make_interval(12, 1);
		$njob->{'days'} = 1;
		$njob->{'hours'} = $njob->{'mins'} = 0;
		}
	&foreign_call("cron", "create_cron_job", $njob);
	}
&unlock_file($cron_cmd);
&webmin_log("sched");
&redirect("");

# make_interval(length, offset2)
sub make_interval
{
local (@rv, $i);
for($i=$config{'sched_offset'}+$_[1]; $i<$_[0]; $i+=$config{'sched_int'}) {
	push(@rv,$i);
	}
return join(",", @rv);
}

  07070100057e32000081a40000000000000002000000013d1fe2de00000263000000200000000000000000000000000000002100000003reloc/status/sendmail-monitor.pl  # sendmail-monitor.pl
# Monitor the sendmail server on this host

# Check the PID file to see if sendmail is running
sub get_sendmail_status
{
&foreign_require($_[1], "sendmail-lib.pl");
local %sconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $sconfig{'sendmail_cf'});
if (open(PID, $sconfig{'sendmail_pid'}) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($sconfig{'sendmail_pid'});
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_sendmail_dialog
{
&depends_check($_[0], "sendmail");
}

1;

 0707010005f2bf000041ed0000000000000001000000023d1ffb6e00000000000000200000000000000000000000000000001600000003reloc/status/services 0707010005f2c0000081a40000000000000002000000013d1fe2de00000045000000200000000000000000000000000000002200000003reloc/status/services/apache.serv id=apache
type=apache
desc=Apache Webserver
depends=apache
nosched=0
   0707010005f2c1000081a40000000000000002000000013d1fe2de00000037000000200000000000000000000000000000002100000003reloc/status/services/bind8.serv  id=bind8
type=bind8
desc=BIND DNS Server
depends=bind8
 0707010005f2c2000081a40000000000000002000000013d1fe2de00000033000000200000000000000000000000000000002100000003reloc/status/services/dhcpd.serv  id=dhcpd
type=dhcpd
desc=DHCP Server
depends=dhcpd
 0707010005f2c3000081a40000000000000002000000013d1fe2de00000042000000200000000000000000000000000000002400000003reloc/status/services/dnsadmin.serv   id=dnsadmin
type=dnsadmin
desc=BIND 4 DNS Server
depends=dnsadmin
  0707010005f2c4000081a40000000000000002000000013d1fe2de00000044000000200000000000000000000000000000002100000003reloc/status/services/inetd.serv  id=inetd
type=inetd
desc=Internet and RPC Server
depends=inetd proc
0707010005f2c5000081a40000000000000002000000013d1fe2de0000003d000000200000000000000000000000000000002100000003reloc/status/services/mysql.serv  id=mysql
type=mysql
desc=MySQL Database Server
depends=mysql
   0707010005f2c6000081a40000000000000002000000013d1fe2de0000002d000000200000000000000000000000000000001f00000003reloc/status/services/nfs.serv    id=nfs
type=nfs
desc=NFS Server
depends=proc
   0707010005f2c7000081a40000000000000002000000013d1fe2de0000003c000000200000000000000000000000000000002300000003reloc/status/services/postfix.serv    id=postfix
type=postfix
desc=Postfix Server
depends=postfix
0707010005f2c8000081a40000000000000002000000013d1fe2de0000005b000000200000000000000000000000000000002600000003reloc/status/services/postgresql.serv id=postgresql
type=postgresql
desc=PostgreSQL Database Server
depends=postgresql
nosched=0
 0707010005f2c9000081a40000000000000002000000013d1fe2de00000043000000200000000000000000000000000000002600000003reloc/status/services/qmailadmin.serv id=qmailadmin
type=qmailadmin
desc=QMail Server
depends=qmailadmin
 0707010005f2ca000081a40000000000000002000000013d1fe2de00000035000000200000000000000000000000000000002100000003reloc/status/services/samba.serv  id=samba
type=samba
desc=Samba Servers
depends=samba
   0707010005f2cb000081a40000000000000002000000013d1fe2de00000040000000200000000000000000000000000000002400000003reloc/status/services/sendmail.serv   id=sendmail
type=sendmail
desc=Sendmail Server
depends=sendmail
0707010005f2cc000081a40000000000000002000000013d1fe2de0000003a000000200000000000000000000000000000002100000003reloc/status/services/squid.serv  id=squid
type=squid
desc=Squid Proxy Server
depends=squid
  0707010005f2cd000081a40000000000000002000000013d1fe2de00000043000000200000000000000000000000000000002200000003reloc/status/services/xinetd.serv id=xinetd
type=xinetd
desc=Extended Internet Server
depends=xinetd
 07070100057e33000081a40000000000000002000000013d1fe2de000005fd000000200000000000000000000000000000001e00000003reloc/status/space-monitor.pl # space-monitor.pl
# Check the free space on some filesystem

sub get_space_status
{
&foreign_require("mount", "mount-lib.pl");
local $m;
foreach $f (&foreign_call("mount", "list_mounted")) {
	$m = $f if ($f->[0] eq $_[0]->{'fs'});
	}
if ($m) {
	local @sp = &foreign_call("mount", "disk_space", $m->[2], $m->[0]);
	if ($sp[1] < $_[0]->{'min'}) {
		return { 'up' => 0 };
		}
	else {
		return { 'up' => 1,
			 'desc' => &text('space_desc', $sp[1]) };
		}
	}
else {
	return { 'up' => -1,
		 'desc' => $text{'space_nofs'} };
	}
}

sub show_space_dialog
{
local $found;
&foreign_require("mount", "mount-lib.pl");
print "<tr> <td><b>$text{'space_fs'}</b></td>\n";
print "<td><select name=fs>\n";
foreach $f (&foreign_call("mount", "list_mounted")) {
	if ($f->[2] !~ /swap|proc|auto/) {
		printf "<option %s>%s\n",
			$_[0]->{'fs'} eq $f->[0] ? 'selected' : '', $f->[0];
		$found++ if ($_[0]->{'fs'} eq $f->[0]);
		}
	}
printf "<option value='' %s>%s\n",
	$_[0]->{'fs'} && !$found ? 'selected' : '', $text{'space_other'};
print "</select>\n";
printf "<input name=other size=15 value='%s'></td>\n",
	$found ? '' : $_[0]->{'fs'};

print "<td><b>$text{'space_min'}</b></td>\n";
print "<td><input name=min size=8 value='$_[0]->{'min'}'></td> </tr>\n";
}

sub parse_space_dialog
{
&depends_check($_[0], "mount");
$in{'min'} =~ /^\d+$/ || &error($text{'space_emin'});
$_[0]->{'min'} = $in{'min'};
if ($in{'fs'}) {
	$_[0]->{'fs'} = $in{'fs'};
	}
else {
	$in{'other'} =~ /^\// || &error($text{'space_eother'});
	$_[0]->{'fs'} = $in{'other'};
	}
}

   07070100057e34000081a40000000000000002000000013d1fe2de0000033a000000200000000000000000000000000000001e00000003reloc/status/squid-monitor.pl # squid-monitor.pl
# Monitor the squid server on this host

# Check the PID file to see if squid is running
sub get_squid_status
{
&foreign_require($_[1], "squid-lib.pl");
return { 'up' => -1 } if (!&foreign_check($_[1]));
local %sconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $sconfig{'squid_conf'});
local $conf = &foreign_call($_[1], "get_config");
local $str = &foreign_call($_[1], "find_config", "pid_filename", $conf);
local $file;
if ($str) {
	$file = $str->{'values'}->[0];
	}
else {
	$file = $sconfig{'pid_file'};
	}
if (open(PID, $file) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($file);
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_squid_dialog
{
&depends_check($_[0], "squid");
}

1;

  07070100057e35000081a40000000000000002000000013d1fe2de00000e4f000000200000000000000000000000000000001b00000003reloc/status/status-lib.pl    # status-lib.pl
# Functions for getting the status of services

do '../web-lib.pl';
&init_config();
%access = &get_module_acl();

$services_dir = "$module_config_directory/services";

# list_services()
# Returns a list of all services this module knows how to get status on.
# If this is the first time the function is called a default set of services
# will be setup.
sub list_services
{
my (%mod, @rv);
if (!-d $services_dir) {
	# setup initial services
	mkdir($module_config_directory, 0700);
	mkdir($services_dir, 0700);
	system("cp services/* $services_dir");
	}
map { $mod{$_}++ } &list_modules();
opendir(DIR, $services_dir);
while($f = readdir(DIR)) {
	next if ($f !~ /^(.*)\.serv$/);
	local $serv = &get_service($1);
	next if (!$serv || !$serv->{'type'} || !$serv->{'id'});
	if ($serv->{'depends'}) {
		local $d;
		map { $d++ if (!$mod{$_}) } split(/\s+/, $serv->{'depends'});
		push(@rv, $serv) if (!$d);
		}
	else {
		push(@rv, $serv);
		}
	}
closedir(DIR);
return @rv;
}

# get_service(id)
sub get_service
{
local %serv;
&read_file("$services_dir/$_[0].serv", \%serv);
return $_[0] ne $serv{'id'} ? undef : \%serv;
}

# save_service(&serv)
sub save_service
{
&lock_file("$services_dir/$_[0]->{'id'}.serv");
&write_file("$services_dir/$_[0]->{'id'}.serv", $_[0]);
&unlock_file("$services_dir/$_[0]->{'id'}.serv");
}

# delete_service(serv)
sub delete_service
{
&lock_file("$services_dir/$_[0]->{'id'}.serv");
unlink("$services_dir/$_[0]->{'id'}.serv");
&unlock_file("$services_dir/$_[0]->{'id'}.serv");
}

# service_status(&service)
# Gets the status of a service, possibly on another server
sub service_status
{
local $t = $_[0]->{'type'};
if ($_[0]->{'remote'}) {
	# Make a remote call to another webmin server
	&remote_error_setup(\&remote_error);
	$remote_error_msg = undef;
	&remote_foreign_require($_[0]->{'remote'}, 'status', 'status-lib.pl')
		if (!$done_remote_status{$_[0]->{'remote'}}++);
	if ($remote_error_msg) {
		return { 'up' => -2 };
		}
	local %s = %{$_[0]};
	delete($s{'remote'});
	return &remote_foreign_call($_[0]->{'remote'}, 'status',
				    'service_status', \%s);
	}
else {
	# Just include and use the local monitor library
	do "${t}-monitor.pl" if (!$done_monitor{$t}++);
	local $func = "get_${t}_status";
	return &$func($_[0], $_[0]->{'clone'} ? $_[0]->{'clone'} : $t);
	}
}

sub remote_error
{
$remote_error_msg = join("", @_);
}

# list_modules()
# Returns a list of all modules available on this system
sub list_modules
{
return map { $_->{'dir'} } grep { &check_os_support($_) }
	&get_all_module_infos();
}

# list_handlers()
# Returns a list of the module's type handlers
sub list_handlers
{
local ($f, @rv);
opendir(DIR, ".");
while($f = readdir(DIR)) {
	push(@rv, $1) if ($f =~ /^(\S+)-monitor\.pl$/);
	}
closedir(DIR);
return @rv;
}

# depends_check(&service, [module]+)
sub depends_check
{
return if ($_[0]->{'id'});	# only check for new services
if ($_[0]->{'remote'}) {
	# Check on the remote server
	foreach $m (@_[1..$#_]) {
		&remote_foreign_check($_[0]->{'remote'}, $m) ||
			&error(&text('depends_remote', "<tt>$m</tt>",
				     "<tt>$_[0]->{'remote'}</tt>"));
		}
	}
else {
	# Check on this server
	foreach $m (@_[1..$#_]) {
		local %minfo = &get_module_info($m);
		%minfo || &error(&text('depends_mod', "<tt>$m</tt>"));
		&check_os_support(\%minfo) ||
			&error(&text('depends_os', "<tt>$minfo{'desc'}</tt>"));
		}
	$_[0]->{'depends'} = join(" ", @_[1..$#_]);
	}
}

# find_named_process(regexp)
sub find_named_process
{
foreach $p (&foreign_call("proc", "list_processes")) {
	$p->{'args'} =~ s/\s.*$//; $p->{'args'} =~ s/[\[\]]//g;
	if ($p->{'args'} =~ /$_[0]/) {
		return $p;
		}
	}
return undef;
}

1;

 07070100057e48000081a40000000000000002000000013d1fe2de000005ff000000200000000000000000000000000000001c00000003reloc/status/tcp-monitor.pl   # tcp-monitor.pl
# Monitor a remote TCP server

sub get_tcp_status
{
# Connect to the server
socket(SOCK, PF_INET, SOCK_STREAM, getprotobyname("tcp")) ||
	return { 'up' => -1 };
local $addr = inet_aton($_[0]->{'host'});
return { 'up' => -1 } if (!$addr);
local $st = time();
$SIG{'ALRM'} = "tcp_connect_timeout";
alarm($_[0]->{'alarm'} ? $_[0]->{'alarm'} : 10);
connect(SOCK, sockaddr_in($_[0]->{'port'}, $addr)) ||
	return { 'up' => 0 };
close(SOCK);
alarm(0);
return { 'up' => 1,
	 'time' => time() - $st };
}

sub tcp_connect_timeout
{
}

sub show_tcp_dialog
{
print "<tr> <td><b>$text{'tcp_host'}</b></td>\n";
print "<td><input name=host size=25 value='$_[0]->{'host'}'></td>\n";

print "<td><b>$text{'tcp_port'}</b></td>\n";
print "<td><input name=port size=5 value='$_[0]->{'port'}'></td> </tr>\n";

print "<tr> <td><b>$text{'tcp_alarm'}</b></td>\n";
printf "<td><input type=radio name=alarm_def value=1 %s> %s\n",
	$_[0]->{'alarm'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=alarm_def value=0 %s>\n",
	$_[0]->{'alarm'} ? 'checked' : '';
print "<input name=alarm size=5 value='$_[0]->{'alarm'}'></td> </tr>\n";
}

sub parse_tcp_dialog
{
&check_ipaddress($in{'host'}) || gethostbyname($in{'host'}) ||
	&error($text{'tcp_ehost'});
$_[0]->{'host'} = $in{'host'};

$in{'port'} =~ /^\d+$/ || &error($text{'tcp_eport'});
$_[0]->{'port'} = $in{'port'};

if ($in{'alarm_def'}) {
	delete($_[0]->{'alarm'});
	}
else {
	$in{'alarm'} =~ /^\d+$/ || &error($text{'tcp_ealarm'});
	$_[0]->{'alarm'} = $in{'alarm'};
	}
}

 07070100057e49000081a40000000000000002000000013d1fe2de00000931000000200000000000000000000000000000002000000003reloc/status/traffic-monitor.pl   # traffic-monitor.pl
# Check if network traffic is too high

sub get_traffic_status
{
local %traffic;
&read_file("$module_config_directory/traffic", \%traffic);
local $ifaces = &get_traffic_list();
local @i = @{$ifaces->{$_[0]->{'iface'}}};
if (@i) {
	local @l = split(/\s+/, $traffic{$_[0]->{'iface'}.'-'.$_[0]->{'dir'}});
	local $now = time();
	local $diff;
	if ($_[0]->{'dir'} == 0) {
		$diff = ($i[0]+$i[2]) - ($l[0]+$l[2]);
		}
	elsif ($_[0]->{'dir'} == 1) {
		$diff = $i[0] - $l[0];
		}
	else {
		$diff = $i[2] - $l[2];
		}
	if ($now <= $l[4]) {
		return { 'up' => 1 };
		}
	local $up = $diff / ($now - $l[4]) > $_[0]->{'bytes'} ? 0 : 1;
	@l = ( $i[0], $i[1], $i[2], $i[3], $now );
	$traffic{$_[0]->{'iface'}.'-'.$_[0]->{'dir'}} = join(" ", @l);
	&write_file("$module_config_directory/traffic", \%traffic);
	return { 'up' => $up };
	}
else {
	# Interface is gone!
	return { 'up' => -1 };
	}
}

sub show_traffic_dialog
{
print "<tr> <td colspan=4>$text{'traffic_desc'}</td> </tr>\n";

print "<tr> <td><b>$text{'traffic_iface'}</b></td>\n";
print "<td><select name=iface>\n";
local $ifaces = &get_traffic_list();
foreach $i (sort { $a cmp $b } keys %$ifaces) {
	printf "<option %s>%s\n",
		$_[0]->{'iface'} eq $i ? 'selected' : '', $i;
	}
print "</select></td>\n";

print "<td><b>$text{'traffic_bytes'}</b></td>\n";
print "<td><input name=bytes size=6 value='$_[0]->{'bytes'}'></td> </tr>\n";

print "<tr> <td><b>$text{'traffic_dir'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=dir value=0 %s> %s\n",
	$_[0]->{'dir'} == 0 ? 'checked' : '', $text{'traffic_dir0'};
printf "<input type=radio name=dir value=1 %s> %s\n",
	$_[0]->{'dir'} == 1 ? 'checked' : '', $text{'traffic_dir1'};
printf "<input type=radio name=dir value=2 %s> %s</td> </tr>\n",
	$_[0]->{'dir'} == 2 ? 'checked' : '', $text{'traffic_dir2'};
}

sub parse_traffic_dialog
{
local $ifaces = &get_traffic_list();
(keys %$ifaces) || &error($text{'traffic_eifaces'});
$in{'bytes'} =~ /^\d+$/ || &error($text{'traffic_ebytes'});
$_[0]->{'iface'} = $in{'iface'};
$_[0]->{'bytes'} = $in{'bytes'};
$_[0]->{'dir'} = $in{'dir'};
}

sub get_traffic_list
{
local %rv;
open(TR, "/proc/net/dev");
while(<TR>) {
	if (/^\s*([a-z0-9]+):\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) {
		$rv{$1} = [ $2, $3, $10, $11 ];
		}
	}
close(TR);
return \%rv;
}

   07070100057e4a000081a40000000000000002000000013d1fe2de000001c1000000200000000000000000000000000000001a00000003reloc/status/uninstall.pl # uninstall.pl
# Called when webmin is uninstalled

require 'status-lib.pl';

sub module_uninstall
{
if ($config{'sched_mode'}) {
	# Scheduled checking is enabled .. remove the cron job
	&foreign_require("cron", "cron-lib.pl");
	$cron_cmd = "$module_config_directory/monitor.pl";
	foreach $j (&cron::list_cron_jobs()) {
		if ($j->{'user'} eq 'root' &&
		    $j->{'command'} eq $cron_cmd) {
			&cron::delete_cron_job($j);
			last;
			}
		}
	}
}

1;

   07070100057e4b000081a40000000000000002000000013d1fe2de000001f0000000200000000000000000000000000000002000000003reloc/status/usermin-monitor.pl   # usermin-monitor.pl
# Monitor the usermin server on this host

# Check the PID file to see if usermin is running
sub get_usermin_status
{
local %uconfig = &foreign_config("usermin");
local %miniserv;
&read_file("$uconfig{'usermin_dir'}/miniserv.conf", \%miniserv) ||
	return { 'up' => -1 };
if (open(PID, $miniserv{'pidfile'}) && chop($pid = <PID>) && kill(0, $pid)) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_mon_dialog
{
&depends_check($_[0], "usermin");
}

1;

07070100057e4c000081a40000000000000002000000013d1fe2de00000164000000200000000000000000000000000000001f00000003reloc/status/webmin-monitor.pl    # webmin-monitor.pl
# Monitor the webmin server on this host

# Check the PID file to see if webmin is running
sub get_webmin_status
{
local %miniserv;
&get_miniserv_config(\%miniserv);
if (open(PID, $miniserv{'pidfile'}) && chop($pid = <PID>) && kill(0, $pid)) {
	return { 'up' => 1 };
	}
else {
	return { 'up' => 0 };
	}
}

sub parse_mon_dialog
{
}

1;

07070100057e4d000081a40000000000000002000000013d1fe2de000001dc000000200000000000000000000000000000001f00000003reloc/status/xinetd-monitor.pl    # xinetd-monitor.pl
# Monitor xinetd on this host

sub get_xinetd_status
{
local %xconfig = &foreign_config($_[1]);
return { 'up' => -1 } if (!-r $xconfig{'xinetd_conf'});
if (open(PID, $xconfig{'pid_file'}) && <PID> =~ /(\d+)/ && kill(0, $1)) {
	close(PID);
	local @st = stat($xconfig{'pid_file'});
	return { 'up' => 1,
		 'desc' => &text('up_since', scalar(localtime($st[9]))) };
	}
return { 'up' => 0 };
}

sub parse_xinetd_dialog
{
&depends_check($_[0], "xinetd");
}

1;

07070100061f67000041ed0000000000000001000000043d1ffb7000000000000000200000000000000000000000000000000e00000003reloc/stunnel 07070100061f68000081e40000000000000002000000013d1fe2e8000001b2000000200000000000000000000000000000001800000003reloc/stunnel/apply.cgi   #!/usr/local/bin/perl
# apply.cgi
# Restart inetd and xinetd if used

require './stunnel-lib.pl';

if ($has_inetd) {
	%iconfig = &foreign_config("inetd");
	&system_logged("$iconfig{'restart_command'} >/dev/null 2>&1 </dev/null");
	}
if ($has_xinetd) {
	%xconfig = &foreign_config("xinetd");
	if (open(PID, $xconfig{'pid_file'})) {
		chop($pid = <PID>);
		close(PID);
		kill('USR2', $pid);
		}
	}
&webmin_log("apply");
&redirect("");

  07070100061f69000081a40000000000000002000000013d1fe2e800000025000000200000000000000000000000000000001500000003reloc/stunnel/config  stunnel_path=/usr/local/sbin/stunnel
   07070100061f6a000081a40000000000000002000000013d1fe2e80000001f000000200000000000000000000000000000002200000003reloc/stunnel/config-gentoo-linux stunnel_path=/usr/sbin/stunnel
 07070100061f6b000081a40000000000000002000000013d1fe2e80000001f000000200000000000000000000000000000002400000003reloc/stunnel/config-mandrake-linux   stunnel_path=/usr/sbin/stunnel
 07070100061f6c000081a40000000000000002000000013d1fe2e80000001f000000200000000000000000000000000000002200000003reloc/stunnel/config-redhat-linux stunnel_path=/usr/sbin/stunnel
 07070100061f6d000081a40000000000000002000000013d1fe2e80000005b000000200000000000000000000000000000001a00000003reloc/stunnel/config.info stunnel_path=Path to stunnel executable,0
pem_path=Path to default stunnel PEM file,3,None
 07070100061f6e000081a40000000000000002000000013d1fe2e800000078000000200000000000000000000000000000001d00000003reloc/stunnel/config.info.ca  stunnel_path=Camí de l'executable <tt>stunnel</tt>,0
pem_path=Camí del fitxer PEM per defecte de <tt>stunnel</tt>,3,Cap
07070100061f6f000081e40000000000000002000000013d1fe2e80000176d000000200000000000000000000000000000001f00000003reloc/stunnel/edit_stunnel.cgi    #!/usr/local/bin/perl
# edit_stunnel.cgi
# Edit or create an SSL tunnel run from inetd

require './stunnel-lib.pl';
&ReadParse();

if ($in{'new'}) {
	&header($text{'create_title'}, "");
	$st = { 'active' => 1 };
	}
else {
	&header($text{'edit_title'}, "");
	@stunnels = &list_stunnels();
	$st = $stunnels[$in{'idx'}];
	}
print "<hr>\n";

print "<form action=save_stunnel.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_name'}</b></td>\n";
printf "<td><input name=name size=15 value='%s'></td>\n",
	$st->{'name'};

print "<td><b>$text{'edit_port'}</b></td>\n";
printf "<td><input name=port size=6 value='%s'></td> </tr>\n",
	$st->{'port'};

print "<tr> <td><b>$text{'edit_active'}</b></td>\n";
printf "<td><input type=radio name=active value=1 %s> %s\n",
	$st->{'active'} ? "checked" : "", $text{'yes'};
printf "<input type=radio name=active value=0 %s> %s</td>\n",
	$st->{'active'} ? "" : "checked", $text{'no'};

if (!$in{'new'}) {
	print "<td><b>$text{'edit_type'}</b></td>\n";
	print "<td><tt>$st->{'type'}</tt></td>\n";
	}
elsif ($has_inetd && $has_xinetd) {
	print "<td><b>$text{'edit_type'}</b></td>\n";
	print "<td><select name=type>\n";
	print "<option selected>xinetd\n";
	print "<option>inetd\n";
	print "</select></td>\n";
	}
print "</tr>\n";

print "</table></td></tr></table><br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

if ($in{'new'}) {
	$ptymode = 'l';
	}
else {
	# Parse stunnel parameters
	if ($st->{'args'} =~ s/\s*-([lL])\s+(\S+)\s+--\s+(.*)// ||
	    $st->{'args'} =~ s/\s*-([lL])\s+(\S+)//) {
		$ptymode = $1;
		$cmd = $2;
		$args = $3;
		}
	if ($st->{'args'} =~ s/\s*-r\s+((\S+):)?(\d+)//) {
		$rhost = $2;
		$rport = $3;
		}
	if ($st->{'args'} =~ s/\s*-p\s+(\S+)//) {
		$pem = $1;
		}
	if ($st->{'args'} =~ s/\s*-c//) {
		$cmode = 1;
		}
	if ($st->{'args'} =~ s/\s*-N\s+(\S+)//) {
		$tcpw = $1;
		}
	if ($st->{'args'} =~ s/\s*-I\s+(\S+)//) {
		$iface = $1;
		}
	}

printf "<tr> <td><input type=radio name=mode value=0 %s> %s</td>\n",
	$ptymode eq 'l' ? 'checked' : '', $text{'edit_mode0'};
printf "<td nowrap><b>%s</b> <input name=cmd0 size=15 value='%s'>\n",
	$text{'edit_cmd'}, $ptymode eq 'l' ? $cmd : '';
printf "<b>%s</b> <input name=args0 size=20 value='%s'></td> </tr>\n",
	$text{'edit_args'}, $ptymode eq 'l' ? $args : '';

printf "<tr> <td><input type=radio name=mode value=1 %s> %s</td>\n",
	$ptymode eq 'L' ? 'checked' : '', $text{'edit_mode1'};
printf "<td nowrap><b>%s</b> <input name=cmd1 size=15 value='%s'>\n",
	$text{'edit_cmd'}, $ptymode eq 'L' ? $cmd : '';
printf "<b>%s</b> <input name=args1 size=20 value='%s'></td> </tr>\n",
	$text{'edit_args'}, $ptymode eq 'L' ? $args : '';

printf "<tr> <td><input type=radio name=mode value=2 %s> %s</td>\n",
	$rport ? 'checked' : '', $text{'edit_mode2'};
printf "<td nowrap><b>%s</b> <input name=rhost size=20 value='%s'>\n",
	$text{'edit_rhost'}, !$rport ? '' : $rhost ? $rhost : 'localhost';
printf "<b>%s</b> <input name=rport size=6 value='%s'></td> </tr>\n",
	$text{'edit_rport'}, $rport;

print "</table></td></tr></table><br>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header3'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_pem'}</b></td> <td nowrap>\n";
$haspem = $config{'pem_path'} && -r $config{'pem_path'};
if ($in{'new'}) {
	printf "<input type=radio name=pmode value=0 %s> %s\n",
		"", $text{'edit_pem0'};
	printf "<input type=radio name=pmode value=1 %s> %s\n",
		$haspem ? "" : "checked", $text{'edit_pem1'};
	printf "<input type=radio name=pmode value=2 %s> %s\n",
		$haspem ? "checked" : "", $text{'edit_pem2'};
	printf "<input name=pem size=25 value='%s'> %s</td> </tr>\n",
		$haspem ? $config{'pem_path'} : "", &file_chooser_button("pem");
	}
else {
	local $pmode = $pem eq $webmin_pem ? 1 :
		       $pem ? 2 : 0;
	printf "<input type=radio name=pmode value=0 %s> %s\n",
		$pmode == 0 ? "checked" : "", $text{'edit_pem0'};
	printf "<input type=radio name=pmode value=1 %s> %s\n",
		$pmode == 1 ? "checked" : "", $text{'edit_pem1'};
	printf "<input type=radio name=pmode value=2 %s> %s\n",
		$pmode == 2 ? "checked" : "", $text{'edit_pem2'};
	printf "<input name=pem size=25 value='%s'> %s</td> </tr>\n",
		$pmode == 2 ? $pem : "", &file_chooser_button("pem");
	}

print "<tr> <td><b>$text{'edit_tcpw'}</b></td> <td>\n";
printf "<input type=radio name=tcpw_def value=1 %s> %s\n",
	$tcpw ? "" : "checked", $text{'edit_auto'};
printf "<input type=radio name=tcpw_def value=0 %s>\n",
	$tcpw ? "checked" : "";
printf "<input name=tcpw size=15 value='%s'></td> </tr>\n", $tcpw;

print "<tr> <td><b>$text{'edit_cmode'}</b></td> <td>\n";
printf "<input type=radio name=cmode value=0 %s> %s\n",
	$cmode ? "" : "checked", $text{'edit_cmode0'};
printf "<input type=radio name=cmode value=1 %s> %s</td> </tr>\n",
	$cmode ? "checked" : "", $text{'edit_cmode1'};

print "<tr> <td><b>$text{'edit_iface'}</b></td> <td>\n";
printf "<input type=radio name=iface_def value=1 %s> %s\n",
	$iface ? "" : "checked", $text{'edit_auto'};
printf "<input type=radio name=iface_def value=0 %s>\n",
	$iface ? "checked" : "";
printf "<input name=iface size=25 value='%s'></td> </tr>\n", $iface;

print "</table></td></tr></table>\n";
print "<input type=hidden name=args value='$st->{'args'}'>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100061f70000081a40000000000000002000000013d1fe2e8000000cd000000200000000000000000000000000000002000000003reloc/stunnel/feedback_files.pl   
do 'stunnel-lib.pl';

sub feedback_files
{
local %iconfig = &foreign_config("inetd");
local %xconfig = &foreign_config("xinetd");
return ( $iconfig{'inetd_conf_file'},
	 $xconfig{'xinetd_conf'} );
}

1;

   070701000636e2000041ed0000000000000001000000023d1ffb7000000000000000200000000000000000000000000000001500000003reloc/stunnel/images  070701000636e3000081a40000000000000002000000013d1fe2e800000534000000200000000000000000000000000000001e00000003reloc/stunnel/images/icon.gif GIF89a0 0 ç  ÿÿÿûûûhhhTTTVVVþþþÝÝÝÓÓÓ555   999¼¼¼ÆÆÆÖÖÖÃÃÃáááCCCIIIHHHçççÇÇÇ™——~||sqq~~”’’•““—••‘ŽŽEEE888›™™ÁÀÀÜÛÛÓÒÒrqq^\\gff‰‡‡››®¬¬µ´´a__qoo111WO#ýýý”„5¢Ž=€p'H?ÝÅ„cW:3ÿöÚRI>7ùùùrd%aULC82.(2.---???ussMLLedd\[[***¾½½˜––zxxjhhÔÓÓÖÕÕõõõÑÐÐ«©©¡ŸŸœššwuucaaljjtrr===óóóäããaaa|||¿¾¾ãââàßß©¨¨¤¢¢‹‰‰ÉÈÈÏÎÎ²±±Œ‹‹222ÒÑÑÕÔÔIHHãããøøøèèèÞÞÞÔÔÔÙÙÙîîîâââ¶µµ^^^«««½¼¼ÎÍÍÝÜÜÅÄÄÃÂÂ’‘‘mkk


“’’ÂÁÁnmm”““Ÿžž­¬¬¹¸¸®­­¥¤¤¨§§°¯¯ª©©rpp•””kjjhffkii&&&€€‘ŽŽ‹ŠŠ‰ˆˆzyyŠ‰‰ÍÍÍ\ZZYYYbbbpooWVV_^^a``dccwvvsrrqppgeeiggš˜˜±°°TSSRQQGGGfee```[ZZLKK³²²…„„VUUåååÀÀÀˆ‡‡ŒŒ¼»»„ƒƒßÞÞÚÚÚ¶¶¶ ŸŸgggÍÌÌµ³³ƒfdd×ÖÖÂÀÀŸKJJÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,    0 0  þ H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈ±£G Pà#C  €€`˜H`ƒ@ˆ ! (È(@ä€T°pC†P5làÐƒ‡ Bˆ€D	¤¡ŠÕÄ	±(¤P±‚E°3¡„êâÅ3ˆ‘@†Á±ygÐ¨a#¯Â7pä0œ‡Ž<z”d<ÐG@‚B$ïÑ"Tð`ä’$J>9º¤õÐ"˜phâÄÅP D‘2¥·L*U¬T¸‚%‹–-E¸tÙèÅ‹À/ÐÁ„3†L3g<T@“FÍ6x1þ¶iã†wï7à ˆ#g:uìH¹S‘<õè _Ï>}øqÀ H È‚BÈE…DhH„…‚H"e”¡È"ŒdXF#Ž<B$kDr‘ƒH2	%•X²Ç%&`‚G&“h²É&œtâ‰ŸèÁ(CQŠ({ŒBJ)¦œ@¨¤¢Ê*–°ÒJ)PâÊ¯ $EPÁrD,²õÁ,´ÔbË-O…ËPä¢Ë.[V” /Jt
/¸ðRP/¾üŒ-qR† CK Œ%à‹0Ãdh^@1sLÈP€ “Œ2+,ÃLzT„ˆÍ8óŒ¨Ð”ÚT„ôrŠX	L¦©A~Ýªë®¼öêë¯À+ìA ;070701000636e4000081a40000000000000002000000013d1fe2e8000026e2000000200000000000000000000000000000002000000003reloc/stunnel/images/tunnel.jpg   ÿØÿà JFIF   ` `  ÿþ LEAD Technologies Inc. V1.01 ÿÛ „ 4"@.0&4LCPOKCIHT_yfTYr[HIijr}‡‰‡Qe•Ÿ“„žy…‡‚>"">‚WIW‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚ÿÄ¢          	
       	
   } !1AQa"q2‘¡#B±ÁRÑð$3br‚	
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùú  w !1AQaq"2B‘¡±Á	#3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÀ , á ÿÚ   ? åBZN1NàM
d2ûR HˆÉ*N;Pð‹÷"bùzÐr6žiŒtx-‚p ¤—¯8 	0+ùP‚ãNÞ”\ ¦IÇ4€‹§S¤n 
¶)$q†\duü©0UQš@:!Œ(&UƒzS3ƒÐØš#‚©Ï ã`¥ˆãÞ˜Æ˜Éa…ÿ 
I·÷gŒb¤€ÞÜš¢¬YX•W°¥qØi R€:t¦2(åSÚ*+~®ã‰ùìJ  ,JŽÞ€bg$•Æ(¸
mÚ>µ6ÛFE0!“nüãÒ˜^zÐ2x‰?wÆùã$â“:@ŒC)ÇµCd‘É†gJ«Y#U”ƒÆ:{S¸™Î8 Ó8 -ÁííI& |ãRñ")ùóòÐW(Ëç b˜†3f&Ý€Gj*GûŽr¦ÀVPÐœÇAHccÙ’GQ@„Þ…<zûSñÄ€ýÚ.ZRb6F>aÏ C\zp0!É¦"T:R`Xßð5E„‘á¸_ZVK»ïdu¤ˆz7NÔ†V¹·ËÎáÖ´ˆÊ²ä¿$Õ "$ãÀ~Ø¤£À e¸ÀÚŠxã5,Ð…e`8cÎ+6€L¸´sEÄÐÇ·,¨ãNà‘ÒaYqŽþ”ù‚ÃLK´ô¦L`¼éNâ%PŒL[zw¥pª¡Ze‡PÀ­r®a@àõQ¨ä&Üsë@
’eV<€[®hEQFG\RlˆÒLà`‘Öš`<íTÀê½E!Œ#ze Ý”`@¦"9Œ
`3‰£ÜÇ­ Ä×ÐÒ;	<±–ç ¦Ð7„Q’è}êFH8-Ôg§¤4HêA={ÍŸ:PÁ´C KÞ¬ûP¦w€:æ—&ýÜ­“Œt¥ƒ-[JØBã¨-KrOLŠžPdkpwáT~”ì°³ew04¬1±¨‘88ôö ,F_æ)Œã¨ª&Ã'>d¬í€=‡Z,+H$ˆd{´ìV’Qîôª°‰l`:?,–ó8Ç4€bP¡Ç§šM'œ…
}½)$cƒÍÉFÚ€ P£'u*qT"6?†)€›½éäÑã¥ &ÂôÎqRã·eÌ,Ç§µK›``}ö|{Ð€U3ˆö{ÖÀ·cm/˜Ÿ;‡†®—6 Œöô¥{Å(W‚¹ô­bî20ŒOCšzµi—W*p9æ“°ÉÝF¬ËÈê*U†ÆÂÈrGÆzv@‡´EÙC)©#u^q@üíÐ™Çô¤˜…†M«¸#µ!>gÊ~OSLMŠ°¼r-ñ¼}©ÜDSË„(¸,=;P„Rbf|Ç5Hª”›f{ãŠãÓ+)*îhÍQ–å8Í$„1/• AÚ€d²H€~èµ|qÔÓ°»dÓ” ~4b<J–ÅU“œuô¬Ø‰>Xa^Ô-@p¸J»³ÓØÑÈÀl«¼«F¬	Í iè‘…¹Ps¼Õ¢‹WïeŠ ¦@2­KW6hæ¬8Áã…+òˆ!©¤î2NAíAKQ2+9wJi1¡"	÷'û¸§¨1²nîs@1GHàt ß4ïÁÀÏ Ši &0Nåu¡°
ß1âÅf8©\iÉ•p0	«@S{'à*ŸrOZ¤	aù½Ø e
ûòÒ€¸÷±·,IèJ”hŒ"6òðš`ÊÛùÚ˜Æ°üiJ- 'h [gP•Šåw”€xœ"ŒIßò¢À‚< ~^O ¦µ’FÀb°íYØD–n°]ï3'¡<óZÅ”‰.Íº3#’Guãñ©nÀWšw–Rd-#wcÔÕn40Æ@ëSb®46ìöÇJ,!Ç+†^Þ´¬fFÎF2:S°ò©nFXPR9m›BŒt44!ÁœlR=±Ò„èËÉPÂÃJ)_v=G¥ÿ .ý¾”@“H	ùºÐD‚iOF€™cyx”þìúTÉˆÆÁD˜Ç­EØ†²)Ú3¸ÐÕ¦e!@Ü™ïŽÔîr`5‰Ò˜ â€€-.áÀ8¨á˜Rzw *})\	esìQ€€÷nùwv0'…€Gb¤²Ÿ”Z¸¡¢iùÞ9Æ@¨jàS&áO;Mi²O,™1ê£=iŒÍ“!™(É’Y>^Oûô¬;Œ°9ã?íS°\G¸vPÇ½	Ž7v~C142Ñ¶Ý²Ô´™ØõW?…	 ¹ØØØÂ„#ÜnPñE€H®Ëâ"yô¦ ÓîÀôö 	Ë*…ÚTž™¥ ±ûüÜ¹ÇãR¬$kÀÏj’JÎÌ§üûU¤±ÇJ`#ã×4ÀgJ :P@NJã T$#ÏJ ˜¨ån½½)0,ˆy»±¨e.GÍÜÓ°™kMC=æÌc?¥kŸ7cpBŽ?
ÍÜC¶+fG¢Ð˜ÑYƒ3üã V¥9 Š5UÛ À $æíØPX’1À 5'qaŒ|à¼â¦@:E )ÁéD@¬c;KuÅ0fxÇZ Ž(NÙ•„Ó5´.FìP®2žWPÛ¸â¥”W»”y„hHDh€Ä|«M€ÉËšHD;y#Ò¨CJàŒPhOP~2¿íÍHSh\ ã½ "NNìö†2Ä`0½ñPÊðªŒ	0Ö„ÉeÍ”Ý;ô‡5ª`…ŒÙÅ$—36C€©ØñK@e!q.÷i>PÇ§¥MÄ>R<­û²§‚j#+”Wß8%
Ðc¾Ð£Ùü(‚T;±ŽÔ ÐÑI á2”0€%„­¹§@ èi0¼{ Ü0i ÅtÁ]ãÞ˜
² 8Ü?: tRAöW¹èM 9.Ðüª mÌÉ°¶‘À 
³YùÄÈ„jW ()ùpy¡…ÄeXAÉÏÒ’ÊÊ¸”ÕuÄJFäü¨®1Æ)ŒCÅ % ZTÊôæ¢àHWî–àtÅ+6Ì8xÈàR¸ÆyËnëNÀXÞÒã€½4t¸sã¦åÛŠ¤R(1Xåx[¨ô©°†Œl .:R½„M~è¹¦‘HlÑ(|á«H£*;Ð0©•~P=±@] °~TP€ÐŸºü<úÐÄ9Äc
àdzR@5c?t~TÆÀŒ
… Š ¯lŠ#`Fpiˆš(]Û 	¤·ˆtÅ+…Ê¬p6m*£ß¦i\›ƒ°U >xÇ4„A&YçŽõHd@0`@8¦'fÂíáH=jEr›J¡<Ps@‘€àóíQadM+"Œ‚9¥aòTtþ¡;$kŽK|¾Ô¯¤°Ü?ª½ê‘HËÕr×Žðÿ Êr(YÉ”*_Æ¢HE‡$²ªàzUDh†ù6É÷ÉÀéš±‘Â
ž(ÓÎ‘Ìà1ïš d·‘·ü´'‚€Ñ²…Ü2=hIº.åÆ(TÜb8îi ª£ytë@Év¼°8Å U·OõÄöjb,B¨€ 	eåÑ· pqR)wÝúšDØ¯ ýÐRyÐ„‹….ÇÛÖ†0’@ü£@\k²ô(@Åb r(ÆR9¦(L•<E eˆe(E2¢N¤–Æ0GCJà1Ã”îü*I$Oºî© /i÷ h`ÁgàU¡ ¹ÌóÉó“×¡5›`ÊñDÛ±*ò½öÔ¶!n~Y£9ÎxÅ]1¢™4»Ï|ZÐe¸vÈè(  PðÜÉ å}Jc4íeIâ*œ¤‘“/8V ¶#Fp	Ça@­Nc“¶Z˜òã=©jÍØäÏ<Ò„¨<üçÄAò©nîÔ™$NP°,0>”!¥SZ •`™P0Á¥`,(9á~”ÀªBñŽ½éŒnÅþèü¨¸
Gbm«ÎÚ`L&Eäóý) Á)‘×98¢Ã, PA|±¤„ièvþlÂa€¨sV†ŠSÜí¼•GÎsŒÔJ ÈÄ—r–$Ú¥DD—%C+c4éw™¥fè	éZ
 (P (Hehœ2œ@Í¨eYc¢É.ßl@óÍ AdsŸV¦‡®1Ú-6‹Ix¤mÆƒŽý©ˆ§.W§åH’.ŒóÇåLE¨`bF	ëÏj›€Ç‰™¹Â†íš`5£u#zzP¤å½:ÓÍÇÖ‹ »ˆ9E€@IàŸÂ˜Â€œøT°-B¼áx#œT°	bËœÚ€7t8ÀqøUô(ÈžØ­Ô›˜nÝÉ,D‘yrO›=¬œDSÔŽÏ”wõ­¢36¨L(P@ :P3OHoh˜ðÂ†4^Ôð" Ô†A`qmÓ<šqž™âËv£0H Ç4Fe\w…)ÝÊAˆ!¢„È"ÚÇò¦zÕ2IÔ² É¸óÈ=H‰%ZkŸcÒ˜fvØýjc ,p0Ï¥ Hô;…+*ÅÎ;´®¨À IþT€ì_›­ <ÛòÇøÐA wc¯¡F%ÜöùÀŒ7ï[ ÷©hV4¬ì­æ¶/q&ÙNzRC±…¨ÿ ¬E"¨L¥LA@Â€
 (  A@Ëzs»B(cF¥÷0zC"°â×ñ40,cÓÉ¢míØ±'¥ *’³ËÛG÷¨Zìn›c6ò{Ó%›y1žÔ\‘Û°BÊçn1Å"GGqI„{Ó¼¬Ž„ý)Œ®ÌXæ˜ *I<Š€%@¤Œö dñÆ?J A´N1E€”K!Tuÿ 9 gO¢.,ÇÄj€Ï
¿lsÔ™?Ih­$¯æ°ÏNÔÐ32ÿ ‰Jh–R¦  
 (  zoü~GÇzLhÒ¾|ÄÃÀ c4ÿ øõüh`‹àâÊ×[Ž_øs…ôÚ™Fª£ý®ôX.0(`$ó9^H=¨d1fœÆkÊëB$ª>eò­0Få‚ òÜœS€@Ë”øTØ	#}üJÀ#È`ŸåLe}Ù<š«fÊ|§µ :ý#‹$1Þ}—LFNÿ :”R&¼±xGšHÚÇ¥0f6¢¸ð¦‰f}1 š+#/U#ê((  bP!hsMé óÅh½vß¸nÔ†]ðÄ0]†e'jnÆqÞ“S•‚¹ù¸Ð2›ÌN}éNÀ!*ËüCÓq±ï?p}ÚF_án[·<P††>@t ‡|ñÅ 5‰ü¨Ú`&½>´"ºí 0zÒPy™,y¤&{E–\ä~´\.V\Ž*Š:Ý6éQ#W|(Nƒ¹¥a”¨™¹ÍeíBx¥7ÝøPÀÂ¿RÖ»¿ºÔ"Y™LEûXâi˜…Æìg˜Ñ+H²Äûzô`ËÈ´ 3¦O.VLç¦HÊ P#CK ;1ô¡”‰¯åQ	Lò{R^ðÝäVò;2’Æ28üÿ ¥)!£:i7±Êã©¦2¸BùãíLCÓûzRçŒ(Þ_`<+’W$+ž2=08#qô¦ÀBIàR@5•”àö¦€Lq×ð¡ˆoá@Ä dÑápíÓÒ‡I†“÷cò¤,	c ;ÝiX,=ôùHóqœUsCF0B'Ê0EŽsI™ö	 ò	ž¼t¡NUó •1ü9¦„Ìjdšzw—%»$¸Ú­¸Œòxÿ õÒcBíËn)‘òÞ„35Ø»–'$Ó m
 UÔ±_.Äcq¤R+]|Ò‘ïM.ij“Ï(ÜÀM)²±Û	…qSqu†<¢Éœ}ìS\”Jb!Áv¥bI<¬òãŽ‚‹ˆd€ û¸¦€‹$wÅ1'&„2hÊ…Æ2{ÐÀ^=¿:B+¨ÏlÐPøíäáE):A*`ÛŽô›SB;xÞ1;ÔÜ¤‹âÐµ‹;°PÅc"I4Ž˜«DŠ`‰þùÁ)2„c³¶þª )Ÿ8â‹…Œ[˜LSºc…?¥UÉ±§ µ«cqÎ(Fâž‚°»N7cZ4 RN ¤ˆwŠzÅÉò¡S¢¨©Ca¹™Õƒ¨úš`«4ù`HVÇåY²âp¶= ¤2)b‚Ã"n#ø©‰™ÓH& GqUrÆÑc<Ú•ÄX¢,6:zTØ,U–]ëŽ˜«8æ˜ãéLxâ	“þE 93ò±_¡§a¢å¬ê^GÀì*KLÒ[«)kd}EJË0Ï *ñªþ9¡ L–d„A ¯@(C#…•Ò­\µ‰QŒ¸9nµ,¢c‰2A±íH6ñ0ÿ P0:ñL.;ìÑ ˆô¤/kjS|v*)j=ûÄ‚¤$0·ÊW
­CBÊiúsc'>æ§P±ÞŸÝ…ŒÆ…Š½½¹Ûqj«ÿ MªÌ›£N*!ßþÐ¥f;¸·‚UÚ–³œ÷Ð™J;›„s ;¦{‘)£ À¥`&UÝ–yY˜”šŽè?å–à:îíNÂeˆ'1F¯ž P"9ž3ÏB:b•…b	]Z=¬¼çŒUX
îP 	æ¨B‘òæ€í×Ú	š=c'€,Gjí÷i_‹NcÉ<Õ7‹)ÿ Ô3~\R5Õ¤ÓÆ¼Œw<SnÞ‘¢±åF)h*c¸+íš@!Ú72E!ŽYÁ¶Jw†4ãwú¿Â•Ê°Ýä‚]0=Žh¸µHÖ[Ï\
Ö7[â;sÇ^ôØ"ÐmÜúÔØ«Éo¼þ4î3¦ˆÚ“,2löÍUÉ±%¾¹—æ,Ýh±<Æ¢ê¶`¯•íE€ŽMrß ynß¢Â&­g2“å”'¨ÅU€Í’[f$|ÃÓXEq éNÀ#HBà`PlIÿ 
 @¡¸ÆÖ“¡” 9àœ
³€¹Z o4§!Çô©,»GN)[Ž3ž¸ì ,Å
ãý_OåNÂ¹0„‡Ú€=èB‹ž_aô¦Ê¦w©Éøi Á ØvÌQO¨¤1Ic9ë@Þ	‹gyj
!;ÂÀäv¤2+†_,ñ‚zP\-Ô°?#ØÕ’‡â^7ºâ“@ÙÀÀðã~õ;ŠÄ„pOäsUrlBÈ)…†Èx8 ‰A<ñ@è28 äþT &˜ œcô BGlcµ *Œz©õ¤ÀŒƒB›qï@†þ˜í@	@1…*.Ç±z08 jÑä&|²Fr­0%[¸ÝÄG(ÃÌ):¾ÀTÎ;Ò¸ìe‚³a} éJã±Nv®~R=è¸ì=eÊð«ÉãÞ•Çb#sÔ)Ø¹äÑqrŒkÇðª
ç9Í(<Æc»iÆ3H#xƒ'Ýü1L‡{˜¥IW‚¦­\GRCŽOÒ†Q.ù@ã‚EHµº|¢3ýÑ@™V{eNDr¯±I“b“ÄGQJ´Åb‡8€óBp}¨Xž7áŽÃH,=Ô¯NG­0±lc¯jb Ø psÖ†í@â€@ í„kÅ–ÎG8©,¸¦1Æ¸ ÞÆx½)€øÔžHeˆÙp#mÞàT5÷yw€r:P2T,£vì” …TÏ‘Žy¤2!>aQè(ˆªÀ.>oJqÉÕ²˜ ã L°Î:ÓŒ»È÷«¯Oj¨’È,&&6ˆ‚HéŠ¦$hA"Ë’Ë÷†j
,®µ!¡¦°´Ñp±ZìÃ8W·S¸¬C-¹uÀÄ~Ôs
ÅS`³¿óª¹6)Í¨ÉÈ"˜®@‡~”ÂãÄ ñŒS<QÆÿ z@1ÛÖ€Â=Ä"€ìã #¯ô B3dcÇ¥ 7ó¤#QdÖ•‹¹b'„®C/JM"rÙS
Ô”>9FâÒÇ±ÇB´X1cÏøP2a#¬|FÓ•©-¤ÉÝ$n~´Q+Xº¥ FáÃmUO§4nÇŒÃý(ðÂÊY‰9Èâ˜Ç„~t€Î¼Ýæ£ }â:Õ!3)ÛÝäœŒÕ_¹WVYb‘ÍJ.Hg›2uB¨4ÉNÃEÊ‚òf‹
är\3 <É<ž•Vk‰]ƒ\°é“Ò•…r3,ŒrÒíE‚ã’0IÅPˆ˜q€:P(Cé@Wc¥Ž˜æ€É>¾Ô cŒ’µ &}©¢†•ÆO=:g¥&ËH²žcmFfE'¦*J%eòüÁž
Ð„·_½ì# ¤1D‰1Ü¤ÿ *LÊÄ)ä÷Î:PbÊ~b>öy m»UqÆ94†GµÐ2D¿'v@lEÁçÞ˜…(¤ò?ìÒ€¥8*6ýiŒÅ¿FáŽxã%³Š´C-Ø¸¸µòÛœqCV);Ž0Å×¨è)\™"&³#ŽELÿ *wŠÒÁƒ€zvÁWòÊž˜ CHÏ|På7õ¦"2? k`€c Ì@	@…V€¥[©Å!ŠñÈé@àÐ#^—ø u¤¢Â)LlÆÂ~íIEó¶7Ä]qÓ8Å!¢æ3ž„sHc²£k)-øq@ì*¶ìa	ïŠa`˜BÙîG­ %B¨~P_ßµ11fJ³>©¬±Æ>c‚Ùé@® ¿øS*§OœŽÙ n òðÿ À‡J Åºˆ¸8MÞ•HL¯¦ÏåOŒà7L˜îiËòH%§QRi-‹i¡]£$ã¥!ÝŽ1Çj Hó8÷JWeEÈ,ÿ º8 
—d0Ç–@ÿ všbe^ÛZ­2#sÂæ˜DÃ° 1£*qŒP|¿”@ú
B’²p†?íû¢‹¡.ÛqÅIEèárœïšEu°LŠ@ã†JY–4 eµ "\psÜHw$% Q’Þêi…ÁÝû¸ã¿Ð™"´;07ö˜b›É>fuWÇËŽÕ%•SŽ3ƒØô ‡¹€öé@†“LØöæ€4lŸ»·¯42®ãùˆlç¦RØINÜ€­žæÝ¼‚{pjY²Øu¬Œ”Ûÿ µéRAckBÃ´z£Ð0h€¤O­+…ˆÖÎäßç°>ô\,ZùÆ º=:Ñp+ÜÚ5ÎÖk…zcŒS¸¬UþÌB~{¨ÛG0¬Fö)Âù®}UÂÃÝ˜€­;’W–ÒM¤ÀÇ¡¢àE&è¢Q´ŠW+ŽI¦!¹¹n§ \zPYb	"‘”ðA©åT¬#$~”2‹J¡ÂïQÇ@8¤2G<áaÇq@‡)HÈòØòˆS´ç¶vžÔ†#?ÙÎ~î:|¹Í <IçÚNÃbòq'™ž3ŒÔÀ‘Û ŽãÒ˜…de\,køŠ „Ç»ïÇÏSŠÅ•¹a_ûçÿ ¯@XË¼Ir¸è 5h†O¥ËŒÆheD·(d1Ó%X²^lÙËI:¶Ì9ÿ j¥‚¢^9š1Wrï	,xàP"LL¼yp“@e¸aÊÂ¿Ò‹€ÓÞV	pô¢àWkyw1.£¦	$‰8œvB*ÌLˆ~MŠiSqŽ¦¨D8ö FºJvà-þÍIe¸+‡ãëR2ÁÃaÁ	ÔÒc$ãÜBÆÍž~”†*)’UfR‘Ÿ¼AçÐ1n"/t<§-ôI‚!*¢pJÁ ¢u*WsaP³È Ía–ˆ):Rag/†c8ëŠd	;ÛžÔ ÇŠ.G›ƒï@…Š-¢MÞù¦*Mî3d(ÎìÐ1äµ•òK§Ëžj±2('0€@ïL“_‰¢àã#ƒRiq¶É áŸ,§Ž)‹ÒªeTqÔR@Ç#$ª7ÆêG¥õ6²œH² ½Éâci”Û4‡0hYm¦l·z,")ç¶	æ9aE€©(T¼óÀíUa[…ÜWsž‚‹ˆdÛcùDDëLEIX0û€ãÓµ1|ŸÜ¦"ôe—¦9ö¨,µ,S9b;ŒÒù¢“#åÄBÉ¡t¶ýÞéB¥ Hq¼"¡EÇÑaÜxóâP:êß{ð .GæË!*ä÷†"$ÒJ~1úÐ+“	&FNW±Àef-óÈpi¡2U‘±ÎßÆ–R1( 
9
ØïœQp"šwKo%NGÖ˜7I+ÆcgvplU!2‹îˆÿ ²-6mðì=V¥šE’Í”‘][´‡"ÈóÀíÖ¦ÀM	 ÆNNOÌ\ý%Ú‰òƒ€Ù î¶@rzâ²ÊL/—œúwÙôðü!Èô&‹Ç•6A¼ÒÈ×Ê‘71ûP"+†‰[æ“Üš¡é…¦"-ÇÚc'x‘H¢xŠ`ª.Ò{æË*Êˆv¹9çi<šC†UóÃª·@Åq>xœ(ìÃ4\v {”ó”¾àúqô ,.O““Ô)â€¸ðí¯–Ýws@ˆ.®°/Üv¦™_\€y=ÊÕØ@n¥-’Ø#¶)Xwvç²þTX.!»cô£”¦¸c`ª
õŠ(¤D¡’bÀ·@95D]¢ÆÊ³2sÚš)|©Á=0‹61Rj2±¾	cžÀô¤"t¹Nwt‹r]Âx– G¥Ç¥Í°ù|“E‚ãÒ{@Iò˜,Íf[v×‹Æm³‘æE‚änÖì1µø¢Â¹’B„ý)ØW+¼‰ÙqŽÔì+‘o_îÑ`¹dUÛH@Øù|‰HþözR(’0Ø<â‘B·ï$cF e”2oäúH.	åoÁÜG§¥Ü$»@Ž94XW&ƒ©-Ò¾ôî+Õ­§4[ðqÏQ@ÀITUQèM1XWiŒyg¨š	3µI‰â€6×Â<(=Àé@O§4ˆB†Qé@\§$*bFÀõÆSž(Lm ÞãžôÉe@p}*„kÚËæB=G,Ö,mÄ_0em¦‘,½…ãäãµ&4Bt,Púâ‹ˆHàb <œu¢à9¢Fã)
÷i\v+¤‰#€’}A^iÜV&x‰]Ñ`ã¨4\L…?ˆIò‘ÐŠ@ˆ¶ÈA`Õ®ä†û¹õ˜…Çû4\1• )Lš	Ý€x©rÁ7²Ÿ~iŒ}»K„+ØÐ1|Ô2Û‚;R«Ä¤n v?ýjrLH_yT wÏ4•&UB?»ÞÈŒÇyýØ=Gzb”Läþ”Ä/;€Ö€÷Ë’­ 	ÏÎæúâ‰å &x Q¹ûDŽÄ¦Tt Ó2Hg“–Ç°&˜™Y¡ÚÃU[°—kììi2Ó.H¡Z”SkæFXoÈì(b/´åÑC|¬}ºT€Ýûy$j ’9“¹ÿ ëQp±& »Ë½qNâ°ªc'Š@ÙÒ6>I#P;NÀ™J6e#|Š@ì¢˜†M4YÆ1ù‘Ña
8ÛÐ}i_É»#½!–b˜ãßI€ŒòoûÛ>¨C½ã“bŽçŽi…ÇùÝçH,(•‘Ã(È¦±N£p'¾M0ÊWï‘Žõ6ˆ¬$„£¦­;
àî0Ê²ÑaÜi¸í’3E‡qÐÜ²ªÅ}($E”lœ“@ÜNŠ˜Èö¦3>WA.æ$‘ÐSMØ»–=MR%ŠŒUéŠ#Q$ Š“B)£mÈqšÇÚÜI(<r(bD²LT®S’`{j,{â ²h°\’	ÑÐ8>”X.;|dcqúQa\‰„g€ Ç`('Ž3ü#Šb#Ø¾ß•#ŒžÇŠ,«3ÁúÒ"ŸÝœqÍ‚wØÐ†XfèÔˆdP’8‹C­µºqLDJÙ•— ö¦;3'ŒÐIi¼u¦!ˆ É·œP1?ˆŒPŠqŠ B ŒÐRÄ†#‘Ò€)]D¡Ç^iˆ­"…8Ð1”0EËV;ô¤R/1œÐ2£?)Å&J&i^Ln” cÃ–C“@Ä¢Lîý(®J1Pp)ˆEbs@‡olg8 c7±ïLA¹¿¼iÿÙ  07070100061f71000081e40000000000000002000000013d1fe2e800000b66000000200000000000000000000000000000001800000003reloc/stunnel/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display all existing SSL tunnels

require './stunnel-lib.pl';

# Check if stunnel is installed
if (!-x $config{'stunnel_path'}) {
	&header($text{'index_title'}, "", "intro", 1, 1);
	print "<hr>\n";
	print &text('index_estunnel', "<tt>$config{'stunnel_path'}</tt>",
		    "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Check if inetd or xinetd is installed
if (!$has_inetd && !$has_xinetd) {
	&header($text{'index_title'}, "", "intro", 1, 1);
	print "<hr>\n";
	print "$text{'index_einetd'}<p>\n";
	print "<hr>\n";
	&footer("/", $text{"index"});
	exit;
	}

# Get the version
$out = `$config{'stunnel_path'} -V 2>&1`;
$out =~ /stunnel\s+(\S+)/; $ver = $1;
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("stunnel", "man", "doc"), undef, undef,
	&text('index_version', $ver));
print "<hr>\n";

# List all tunnels currently setup in inetd
@tunnels = &list_stunnels();
if (@tunnels) {
	print "<a href='edit_stunnel.cgi?new=1'>$text{'index_add'}</a> <br>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
	      "<td><b>$text{'index_port'}</b></td> ",
	      "<td><b>$text{'index_active'}</b></td> ",
	      "<td><b>$text{'index_action'}</b></td> </tr>\n";
	foreach $t (@tunnels) {
		print "<tr $cb>\n";
		print "<td><a href='edit_stunnel.cgi?idx=$t->{'index'}'>",
		      &html_escape($t->{'name'}),"</a></td>\n";
		print "<td>",&html_escape($t->{'port'}),"</td>\n";
		if ($t->{'active'}) {
			print "<td>$text{'yes'}</td>\n";
			}
		else {
			print "<td><font color=#ff0000>$text{'no'}",
			      "</font></td>\n";
			}
		if ($t->{'args'} =~ /\s*-([lL])\s+(\S+)\s+--\s+(.*)/ ||
		    $t->{'args'} =~ /\s*-([lL])\s+(\S+)/) {
			print "<td>",&text('index_cmd',
			    $3 ? "<tt>".&html_escape($3)."</tt>"
			       : "<tt>".&html_escape($2)."</tt>"),"</td>\n";
			}
		elsif ($t->{'args'} =~ /-r\s+(\S+):(\d+)/) {
			print "<td>",&text('index_remote',
			    "<tt>".&html_escape("$1:$2")."</tt>"),"</td>\n";
			}
		elsif ($t->{'args'} =~ /-r\s+(\d+)/) {
			print "<td>",&text('index_rport',
			    "<tt>".&html_escape($1)."</tt>"),"</td>\n";
			}
		else {
			print "<td><tt>",&html_escape($t->{'args'}),
			      "</tt></td>\n";
			}
		print "</tr>\n";
		}
	print "</table>\n";
	}
else {
	print "<b>$text{'index_none'}</b><p>\n";
	}
print "<a href='edit_stunnel.cgi?new=1'>$text{'index_add'}</a> <p>\n";

print "<hr>\n";
print "<table width=100%><tr>\n";
print "<form action=apply.cgi>\n";
print "<td><input type=submit value='$text{'index_apply'}'></td>\n";
if ($has_inetd && $has_xinetd) {
	print "<td>$text{'index_applymsg1'}</td>\n";
	}
elsif ($has_inetd) {
	print "<td>$text{'index_applymsg2'}</td>\n";
	}
else {
	print "<td>$text{'index_applymsg3'}</td>\n";
	}
print "</form></tr></table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

  0707010001e82a000041ed0000000000000001000000023d1ffb7000000000000000200000000000000000000000000000001300000003reloc/stunnel/lang    0707010001e82b000081a40000000000000002000000013d1fe2e800000b4e000000200000000000000000000000000000001600000003reloc/stunnel/lang/ca index_title=Túnels SSL
index_name=Nom del servei
index_port=Port TCP
index_active=Actiu
index_command=Ordre STunnel
index_add=Afegeix un nou túnel SSL
index_none=Actualment no hi ha cap túnel SSL configurat per executar des d'<tt>inetd</tt> o <tt>xinetd</tt>.
index_estunnel=No s'ha trobat al sistema l'ordre $1 de STunnel. Pot ser que STunnel no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_apply=Aplica els Canvis
index_applymsg1=Fes clic sobre aquest botó per activar la configuració actual de túnel SSL enviant senyals HUP als processos <tt>inetd</tt> i <tt>xinetd</tt> en execució.
index_applymsg2=Fes clic sobre aquest botó per activar la configuració actual de túnel SSL enviant senyals HUP al procés <tt>inetd</tt> en execució.
index_applymsg3=Fes clic sobre aquest botó per activar la configuració actual de túnel SSL enviant senyals HUP al procés <tt>xinetd</tt> en execució.
index_return=a la llista de túnels SSL
index_action=Destinació del túnel
index_cmd=Executa l'ordre $1
index_remote=Connecta't al host $1
index_rport=Connecta't al port $1
index_version=Versió STunnel $1

edit_title=Edició de Túnel SSL
create_title=Creació de Túnel SSL
edit_header1=Opcions del recurs de túnel
edit_name=Nom del servei
edit_port=Port TCP
edit_active=Actiu
edit_header2=Opcions de destinació del túnel
edit_mode0=Executa un programa estil <tt>inetd</tt>
edit_mode1=Executa un programa a PTY
edit_mode2=Connecta't al host remot
edit_cmd=Camí del programa
edit_args=amb els arguments
edit_rhost=Nom del host remot
edit_rport=Port remot
edit_header3=Altres opcions
edit_pem=Certificat SSL i fitxer de claus
edit_pem0=Valor compilat per defecte
edit_pem1=Fes cervir la certificació Webmin
edit_pem2=Fes servir la certificació al fitxer
edit_cmode=Mode de túnel
edit_cmode0=Accepta SSL i connecta normalment
edit_cmode1=Accepta normal i connecta amb SSL
edit_tcpw=Nom dels embolcalls TCP
edit_auto=Automàtic
edit_iface=Adreça origen de sortida
edit_type=Executa des de

save_err=No he pogut desar el túnel SSL
save_enclash=El nom de servei $2 ja està en ús al port $1.
save_einetd=Ja hi ha un servei inetd anomenat $1.
save_ename=Hi falta el nom del servei o bé és invàlid
save_eport=Hi falta el número del port o bé és invàlid
save_ecmd=Hi falta el programa a executar o bé és invàlid
save_erhost=Nom de host remot invàlid
save_eport=Port remot invàlid
save_epclash=El port $1 ja està en ús pel servei $2.
save_epem=El fitxer de certificat SSL $1 no existeix
save_etcpw=Hi falta el nom de l'embolcall TCP o bé és invàlid
save_eiface=Hi falta l'adreça origen de sortida o bé és invàlida
save_exinetd=Ja hi ha un servei xinetd anomenat $1
save_export=El port $1 ja està en ús pel servei xinetd $2

log_apply=He aplicat els canvis
log_create=He creat el túnel SSL $1
log_delete=He suprimit el túnel SSL $1
log_modify=He modificat el túnel SSL $1



  0707010001e82e000081a40000000000000002000000013d1fe2e800000a67000000200000000000000000000000000000001600000003reloc/stunnel/lang/en index_title=SSL Tunnels
index_name=Service name
index_port=TCP port
index_active=Active?
index_command=STunnel command
index_add=Add new SSL tunnel.
index_none=No SSL tunnels are currently setup to run from <tt>inetd</tt> or <tt>xinetd</tt>.
index_estunnel=The STunnel command $1 was not found on your system. Maybe STunnel is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_apply=Apply Changes
index_applymsg1=Click this button to make your current SSL tunnel configuration active by sending HUP signals to the running <tt>inetd</tt> and <tt>xinetd</tt> processes.
index_applymsg2=Click this button to make your current SSL tunnel configuration active by sending HUP signals to the running <tt>inetd</tt> process.
index_applymsg3=Click this button to make your current SSL tunnel configuration active by sending HUP signals to the running <tt>xinetd</tt> process.
index_return=SSL tunnel listing
index_action=Tunnel destination
index_cmd=Run command $1
index_remote=Connect to host $1
index_rport=Connect to port $1
index_version=STunnel version $1

edit_title=Edit SSL Tunnel
create_title=Create SSL Tunnel
edit_header1=Tunnel source options
edit_name=Service name
edit_port=TCP port
edit_active=Active?
edit_header2=Tunnel destination options
edit_mode0=Run <tt>inetd</tt> style program
edit_mode1=Run program in PTY
edit_mode2=Connect to remote host
edit_cmd=Path to program
edit_args=with arguments
edit_rhost=Remote hostname
edit_rport=Remote port
edit_header3=Other options
edit_pem=SSL certificate and key file
edit_pem0=Compiled-in default
edit_pem1=Use Webmin's cert
edit_pem2=Use cert in file
edit_cmode=Tunnel mode
edit_cmode0=Accept SSL and connect normally
edit_cmode1=Accept normal and connect with SSL
edit_tcpw=TCP-wrappers name
edit_auto=Automatic
edit_iface=Outgoing source address
edit_type=Run from

save_err=Failed to save SSL tunnel
save_enclash=The service name $2 is already used on port $1.
save_einetd=There is already an inetd service called $1.
save_ename=Missing or invalid service name
save_eport=Missing or invalid port number
save_ecmd=Missing or invalid program to run
save_erhost=Invalid remote host name
save_eport=Invalid remote port
save_epclash=The port $1 is already used by the service $2.
save_epem=SSL certificate file $1 does not exist
save_etcpw=Missing or invalid TCP-wrappers name
save_eiface=Missing or invalid outgoing source address
save_exinetd=There is already an xinetd service called $1
save_export=The port $1 is already used by xinetd service $2

log_apply=Applied Changes
log_create=Created SSL tunnel $1
log_delete=Deleted SSL tunnel $1
log_modify=Modified SSL tunnel $1

 07070100061f72000081a40000000000000002000000013d1fe2e8000001c5000000200000000000000000000000000000001c00000003reloc/stunnel/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'stunnel-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($type eq 'stunnel') {
	return &text("log_$action", "<tt>".&html_escape($object)."</tt>");
	}
else {
	return $text{"log_$action"};
	}
return undef;
}

   07070100061f73000081a40000000000000002000000013d1fe2ea0000005e000000200000000000000000000000000000001a00000003reloc/stunnel/module.info category=servers
depends=0.990
desc=SSL Tunnels
version=0.990
desc_ca=Túnels SSL
name=STunnel
  07070100061f7c000081e40000000000000002000000013d1fe2e80000096f000000200000000000000000000000000000001f00000003reloc/stunnel/save_stunnel.cgi    #!/usr/local/bin/perl
# save_stunnel.cgi
# Save, create or delete an SSL tunnel

require './stunnel-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});

if ($in{'idx'} ne '') {
	@stunnels = &list_stunnels();
	$st = $stunnels[$in{'idx'}];
	%old = %$st;
	}

if ($in{'delete'}) {
	# Just delete from inetd.conf and xinetd.conf
	&lock_file($st->{'file'});
	&delete_stunnel($st);
	}
else {
	# Validate and store inputs
	if ($in{'new'}) {
		$st = { 'args' => $stunnel_shortname,
			'command' => $config{'stunnel_path'},
			'type' => $in{'type'} };
		}
	else {
		$st->{'args'} = $in{'args'};
		}
	$in{'name'} =~ /^[A-z][A-z0-9\_\-]+$/ || &error($text{'save_ename'});
	$st->{'name'} = $in{'name'};
	$in{'port'} =~ /^\d+$/ || &error($text{'save_eport'});
	$st->{'port'} = $in{'port'};
	$st->{'active'} = $in{'active'};
	if ($in{'pmode'} == 1) {
		$st->{'args'} .= " -p $webmin_pem";
		}
	elsif ($in{'pmode'} == 2) {
		-r $in{'pem'} || &error(&text('save_epem', $in{'pem'}));
		$st->{'args'} .= " -p $in{'pem'}";
		}
	if ($in{'cmode'}) {
		$st->{'args'} .= " -c";
		}
	if (!$in{'tcpw_def'}) {
		$in{'tcpw'} =~ /^\S+$/ || &error($text{'save_etcpw'});
		$st->{'args'} .= " -N $in{'tcpw'}";
		}
	if (!$in{'iface_def'}) {
		gethostbyname($in{'iface'}) || &check_ipaddress($in{'iface'}) ||
			&error($text{'save_eiface'});
		$st->{'args'} .= " -I $in{'iface'}";
		}
	if ($in{'mode'} == 0 || $in{'mode'} == 1) {
		# Running a command
		local $cmd = $in{'mode'} == 0 ? $in{'cmd0'} : $in{'cmd1'};
		local $args = $in{'mode'} == 0 ? $in{'args0'} : $in{'args1'};
		&has_command($cmd) || &error($text{'save_ecmd'});
		if ($in{'mode'} == 0) {
			$st->{'args'} .= " -l $cmd";
			}
		else {
			$st->{'args'} .= " -L $cmd";
			}
		if ($args) {
			$st->{'args'} .= " -- $args";
			}
		}
	else {
		# Connecting to remote host and port
		gethostbyname($in{'rhost'}) || &check_ipaddress($in{'rhost'}) ||
			&error($text{'save_erhost'});
		$in{'rport'} =~ /^\d+$/ || &error($text{'save_eport'});
		if ($in{'rhost'} eq 'localhost') {
			$st->{'args'} .= " -r $in{'rport'}";
			}
		else {
			$st->{'args'} .= " -r $in{'rhost'}:$in{'rport'}";
			}
		}

	if ($in{'new'}) {
		&lock_create_file();
		&create_stunnel($st);
		}
	else {
		&lock_file($old{'file'});
		&modify_stunnel(\%old, $st);
		}
	}
&unlock_all_files();
&webmin_log($in{'delete'} ? "delete" : $in{'new'} ? "create" : "modify",
	    "stunnel", $st->{'name'}, $st);
&redirect("");

 07070100061f7d000081a40000000000000002000000013d1fe2e800002140000000200000000000000000000000000000001d00000003reloc/stunnel/stunnel-lib.pl  # stunnel-lib.pl
# Common functions for accessing inetd or xinetd

# XXX - running from tcpd

do '../web-lib.pl';
&init_config();

if ($config{'stunnel_path'} =~ /([^\/]+)$/) {
	$stunnel_shortname = $1;
	}
$webmin_pem = "$config_directory/miniserv.pem";

if (&foreign_check("inetd")) {
	&foreign_require("inetd", "inetd-lib.pl");
	$has_inetd = 1;
	}
if (&foreign_check("xinetd")) {
	&foreign_require("xinetd", "xinetd-lib.pl");
	$has_xinetd = 1;
	}

# list_stunnels()
# Search the inetd and xinetd configurations for stunnel lines
sub list_stunnels
{
local @rv;
if ($has_inetd) {
	# List tunnels from inetd.conf
	local %portmap;
	foreach $s (&foreign_call("inetd", "list_services")) {
		$portmap{$s->[1]} = $s;
		foreach $a (split(/\s+/, $s->[4])) {
			$portmap{$a} = $s;
			}
		}
	foreach $i (&foreign_call("inetd", "list_inets")) {
		if ($i->[8] eq $config{'stunnel_path'} ||
		    $i->[8] eq $stunnel_shortname) {
			push(@rv, { 'type' => 'inetd',
				    'name' => $i->[3],
				    'port' => $portmap{$i->[3]}->[2],
				    'user' => $i->[7],
				    'active' => $i->[1],
				    'command' => $i->[8],
				    'args' => $i->[9],
				    'index' => scalar(@rv),
				    'file' => $i->[10],
				    'line' => $i->[0] });
			}
		}
	}
if ($has_xinetd) {
	# List tunnels from xinetd.conf
	foreach $x (&foreign_call("xinetd", "get_xinetd_config")) {
		next if ($x->{'name'} ne 'service');
		local $q = $x->{'quick'};
		if ($q->{'server'}->[0] eq $config{'stunnel_path'} ||
		    $q->{'server'}->[0] eq $stunnel_shortname) {
			push(@rv, { 'type' => 'xinetd',
				    'name' => $x->{'value'},
				    'port' => &xinet_port($x),
				    'active' => $q->{'disable'}->[0] ne 'yes',
				    'command' => $q->{'server'}->[0],
				    'args' => join(" ", $q->{'server'}->[0],
						@{$q->{'server_args'}}),
				    'index' => scalar(@rv),
				    'file' => $x->{'file'},
				    'xindex' => $x->{'index'} } );
			}
		}
	}
return @rv;
}

# create_tunnel(&tunnel)
sub create_stunnel
{
local ($pclash, $nclash);
if ($has_xinetd) {
	# Check for xinet clash
	foreach $x (&foreign_call("xinetd", "get_xinetd_config")) {
		next if ($x->{'name'} ne 'service');
		local $q = $x->{'quick'};
		&error(&text('save_exinetd', $_[0]->{'name'}))
			if ($x->{'value'} eq $_[0]->{'name'});
		&error(&text('save_export', $_[0]->{'port'}, $x->{'value'}))
			if (&xinet_port($x) == $_[0]->{'port'});
		}
	}
if ($has_inetd) {
	# Check if there is already a service for the port or with the name
	($pclash, $nclash) = &find_clashes($_[0]->{'name'}, $_[0]->{'port'});
	if (!$pclash && $nclash) {
		# The name is taken, but on a different port
		&error(&text('save_enclash', $nclash->[2], $nclash->[1]));
		}
	local $iname = $pclash ? $pclash->[1] : $_[0]->{'name'};

	# Check if there is an inetd entry on the name
	foreach $i (&foreign_call("inetd", "list_inets")) {
		&error(&text('save_einetd', $iname))
			if ($i->[3] eq $iname);
		}
	}

local $addto = $_[0]->{'type'} ? $_[0]->{'type'} :
	       $has_xinetd ? "xinetd" : "inetd";
if ($addto eq 'xinetd') {
	# Just add to xinetd.conf with a custom name and port
	local $xinet = { 'name' => 'service',
			 'values' => [ $_[0]->{'name'} ] };
	&foreign_call("xinetd", "set_member_value", $xinet, "port",
		      $_[0]->{'port'});
	&foreign_call("xinetd", "set_member_value", $xinet, "socket_type",
		      "stream");
	&foreign_call("xinetd", "set_member_value", $xinet, "protocol",
		      "tcp");
	&foreign_call("xinetd", "set_member_value", $xinet, "user",
		      "root");
	&foreign_call("xinetd", "set_member_value", $xinet, "wait",
		      "no");
	&foreign_call("xinetd", "set_member_value", $xinet, "disable",
		      $_[0]->{'active'} ? "no" : "yes");
	&foreign_call("xinetd", "set_member_value", $xinet, "type",
		      "UNLISTED");
	&foreign_call("xinetd", "set_member_value", $xinet, "server",
		      $_[0]->{'command'});
	local $args = $_[0]->{'args'};
	$args =~ s/^\S+\s+//;
	&foreign_call("xinetd", "set_member_value", $xinet, "server_args",
		      $args);
	&foreign_call("xinetd", "create_xinet", $xinet);
	}
elsif ($addto eq 'inetd') {
	if ($pclash) {
		# Use existing /etc/services entry
		$_[0]->{'name'} = $pclash->[1];
		}
	else {
		# Create /etc/services entry
		&foreign_call("inetd", "create_service", $_[0]->{'name'},
			      $_[0]->{'port'}, "tcp", undef);
		}
	# Create inetd.conf entry
	&foreign_call("inetd", "create_inet", $_[0]->{'active'},
		      $_[0]->{'name'}, "stream", "tcp", "nowait", "root",
		      $_[0]->{'command'}, $_[0]->{'args'});
	}
}

# delete_stunnel(&tunnel)
sub delete_stunnel
{
if ($_[0]->{'type'} eq 'inetd') {
	# Delete from inetd.conf
	&foreign_call("inetd", "delete_inet", $_[0]->{'line'}, $_[0]->{'file'});
	if ($_[0]->{'port'} >= 1024) {
		# Delete the /etc/services entry as well
		local ($oserv) = &find_clashes($_[0]->{'name'},
					       $_[0]->{'port'});
		&foreign_call("inetd", "delete_service", $oserv->[0]);
		}
	}
elsif ($_[0]->{'type'} eq 'xinetd') {
	# Delete from xinetd
	local @xinets = &foreign_call("xinetd", "get_xinetd_config");
	local $xinet = $xinets[$_[0]->{'xindex'}];
	&foreign_call("xinetd", "delete_xinet", $xinet);
	}
}

# modify_stunnel(&oldtunnel, &newtunnel)
sub modify_stunnel
{
if ($_[0]->{'type'} eq 'inetd') {
	# Check if the name or port has changed
	local ($pclash, $nclash) =
		&find_clashes($_[1]->{'name'}, $_[1]->{'port'});
	local ($oserv) = &find_clashes($_[0]->{'name'}, $_[0]->{'port'});
	if ($_[0]->{'name'} ne $_[1]->{'name'}) {
		# The name has changed
		if ($nclash) {
			&error(&text('save_enclash', $nclash->[2],
						     $_[1]->{'name'}));
			}
		}
	if ($_[0]->{'port'} != $_[1]->{'port'}) {
		# The port has changed ..
		if ($pclash) {
			&error(&text('save_epclash', $_[1]->{'port'},
						     $pclash->[1]));
			}
		}
	&foreign_call("inetd", "modify_service", $oserv->[0],
		      $_[1]->{'name'}, $_[1]->{'port'}, $oserv->[3],
		      $oserv->[4]);

	# Update inetd.conf
	local @inets = &foreign_call("inetd", "list_inets");
	local ($oi) = grep { $_->[0] eq $_[0]->{'line'} &&
			     $_->[10] eq $_[0]->{'file'} } @inets;
	&foreign_call("inetd", "modify_inet", $oi->[0],
		      $_[1]->{'active'}, $_[1]->{'name'}, $oi->[4],
		      $oi->[5], $oi->[6], $oi->[7], $oi->[8],
		      $_[1]->{'args'}, $oi->[10]);
	}
elsif ($_[0]->{'type'} eq 'xinetd') {
	# Get the old xinetd config
	local @xinets = &foreign_call("xinetd", "get_xinetd_config");
	local $xinet = $xinets[$_[0]->{'xindex'}];

	# Check for name clash
	if ($_[0]->{'name'} ne $_[1]->{'name'}) {
		foreach $x (@xinets) {
			next if ($x->{'name'} ne 'service');
			&error(&text('save_exinetd', $_[1]->{'name'}))
				if ($x->{'value'} eq $_[1]->{'name'});
			}
		}

	# Check for port clash
	 if ($_[0]->{'port'} != $_[1]->{'port'}) {
		foreach $x (@xinets) {
			next if ($x->{'name'} ne 'service');
			&error(&text('save_export', $_[1]->{'port'},
						    $x->{'value'}))
				if (&xinet_port($x) == $_[1]->{'port'});
			}
		}

	# If name or port has changed, convert to an UNLISTED service
	if ($_[0]->{'name'} ne $_[1]->{'name'} ||
	    $_[0]->{'port'} != $_[1]->{'port'}) {
		$xinet->{'values'} = [ $_[1]->{'name'} ];
		&foreign_call("xinetd", "set_member_value", $xinet, "port",
			      $_[1]->{'port'});
		&foreign_call("xinetd", "set_member_value", $xinet, "type",
			      "UNLISTED");
		}

	&foreign_call("xinetd", "set_member_value", $xinet, "disable",
		      $_[1]->{'active'} ? "no" : "yes");
	&foreign_call("xinetd", "set_member_value", $xinet, "server",
		      $_[1]->{'command'});
	local $args = $_[1]->{'args'};
	$args =~ s/^\S+\s+//;
	&foreign_call("xinetd", "set_member_value", $xinet, "server_args",
		      $args);
	&foreign_call("xinetd", "modify_xinet", $xinet);
	}
}

# find_clashes(name, port)
sub find_clashes
{
local ($pclash, $nclash);
foreach $s (&foreign_call("inetd", "list_services")) {
	local @aliases = split(/\s+/, $s->[4]);
	$pclash = $s if ($s->[2] == $_[1]);
	$nclash = $s if ($s->[1] eq $_[0] || &indexof($_[0], @aliases) >= 0);
	}
return ($pclash, $nclash);
}

# xinet_port(&xinet)
sub xinet_port
{
local $q = $_[0]->{'quick'};
local $p = $q->{'port'};
return $p->[0] if ($p);
local @s = getservbyname($_[0]->{'value'}, $q->{'protocol'}->[0]);
return $s[2];
}

# lock_create_file()
# Lock the file to which new tunnels will be added
sub lock_create_file
{
if ($has_xinetd) {
	local %iconfig = &foreign_config("xinetd");
	&lock_file($iconfig{'xinetd_conf'});
	}
elsif ($has_inetd) {
	local %iconfig = &foreign_config("inetd");
	&lock_file($iconfig{'inetd_conf_file'});
	}
}

1;

0707010003e288000081e40000000000000002000000013d1fe2b800000116000000200000000000000000000000000000001700000003reloc/switch_skill.cgi    #!/usr/local/bin/perl
# switch_skill.cgi
# Change the skill level of the current user

require './web-lib.pl';
&init_config();
&ReadParse();
$gconfig{'skill_'.$base_remote_user} = $in{'skill'};
&write_file("$config_directory/config", \%gconfig);
&redirect("/?cat=$in{'cat'}");

  0707010003e289000081e40000000000000002000000013d1fe2b700000163000000200000000000000000000000000000001600000003reloc/switch_user.cgi #!/usr/local/bin/perl
# switch_user.cgi
# Force the webserver to re-authenticate

require './web-lib.pl';
&init_config();
&get_miniserv_config(\%miniserv);
$id = $$.time();
open(LOGOUT, ">$miniserv{'logout'}$id");
printf LOGOUT "%d\n",
	$ENV{'HTTP_USER_AGENT'} =~ /(MSIE\s+4\.)|(Netscape6)/ ? 2 : 1;
close(LOGOUT);
&redirect("/?miniserv_logout_id=$id");

 07070100064d45000041ed0000000000000001000000043d1ffb7400000000000000200000000000000000000000000000000d00000003reloc/syslog  07070100064d46000081a40000000000000002000000013d1fe2db0000011a000000200000000000000000000000000000001800000003reloc/syslog/config-aix   pri_dir=0
pri_all=0
pid_file=/etc/syslog.pid
m4_path=/usr/ccs/bin/m4
sync=0
facilities=user kern mail daemon auth lpr news uucp cron mark local0 local1 local2 local3 local4 local5 local6 local7
syslogd=/usr/sbin/syslogd
pipe=0
m4_conf=1
syslog_conf=/etc/syslog.conf
tags=0
lines=20
  07070100064d47000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002100000003reloc/syslog/config-cobalt-linux  pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d48000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002000000003reloc/syslog/config-corel-linux   pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d49000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002100000003reloc/syslog/config-debian-linux  pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d4a000081a40000000000000002000000013d1fe2db00000127000000200000000000000000000000000000001c00000003reloc/syslog/config-freebsd   pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=2
pid_file=/var/run/syslog.pid
facilities=auth authpriv cron daemon ftp kern lpr mail mark news ntp syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=0
pipe=0
tags=1
lines=20
 07070100064d4b000081a40000000000000002000000013d1fe2db00000120000000200000000000000000000000000000002200000003reloc/syslog/config-generic-linux pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d4c000081a40000000000000002000000013d1fe2db00000120000000200000000000000000000000000000002100000003reloc/syslog/config-gentoo-linux  pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d4d000081a40000000000000002000000013d1fe2db00000106000000200000000000000000000000000000001900000003reloc/syslog/config-hpux  pri_dir=0
pri_all=0
pid_file=/var/run/syslog.pid
sync=0
facilities=user kern mail daemon auth lpr news uucp cron mark local0 local1 local2 local3 local4 local5 local6 local7
syslogd=/usr/sbin/syslogd
pipe=0
m4_conf=0
syslog_conf=/etc/syslog.conf
tags=0
lines=20
  07070100064d4e000081a40000000000000002000000013d1fe2db000000fb000000200000000000000000000000000000001900000003reloc/syslog/config-irix  pri_all=0
syslogd=/usr/etc/syslogd
syslog_conf=/etc/syslog.conf
m4_conf=0
pri_dir=0
lines=20
pid_file=
m4_path=
sync=0
facilities=user kern mail daemon auth lpr news uucp cron mark local0 local1 local2 local3 local4 local5 local6 local7
pipe=2
tags=0
 07070100064d4f000081a40000000000000002000000013d1fe2db00000138000000200000000000000000000000000000001a00000003reloc/syslog/config-macos pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=0
pid_file=/var/run/syslog.pid
facilities=auth authpriv cron daemon kern lpr mail mark named netinfo news remoteauto syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=0
pipe=0
tags=0
lines=20
07070100064d50000081a40000000000000002000000013d1fe2db00000227000000200000000000000000000000000000002300000003reloc/syslog/config-mandrake-linux    pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
file_/var/log/messages=desc_sysmesg
file_/var/log/secure=desc_auth
file_/var/log/maillog=desc_mail
file_/var/log/spooler=desc_uucp
file_/var/log/boot.log=desc_boot
file_/var/log/news.crit=desc_news
file_/var/log/news.err=desc_news
file_/var/log/news.notice=desc_news
 07070100064d51000081a40000000000000002000000013d1fe2db0000022b000000200000000000000000000000000000001e00000003reloc/syslog/config-msc-linux pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
file_/var/log/messages=desc_sysmesg
file_/var/log/secure=desc_auth
file_/var/log/maillog=desc_mail
file_/var/log/spooler=desc_uucp
file_/var/log/boot.log=desc_boot
file_/var/log/news.crit=desc_news
file_/var/log/news.err=desc_news
file_/var/log/news.notice=desc_news
 07070100064d52000081a40000000000000002000000013d1fe2db0000010a000000200000000000000000000000000000001b00000003reloc/syslog/config-netbsd    pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=2
facilities=auth authpriv cron daemon ftp kern lpr mail mark news ntp syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=0
pipe=2
tags=1
lines=20
  07070100064d53000081a40000000000000002000000013d1fe2db000001fd000000200000000000000000000000000000001f00000003reloc/syslog/config-open-linux    pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
file_/var/log/messages=desc_sysmesg
file_/var/log/secure=desc_auth
file_/var/log/news.all=desc_news
file_/var/log/spooler=desc_uucp
file_/var/log/debug=desc_debug
file_/var/log/mail=desc_mail
file_/var/log/cron=desc_cron
   07070100064d54000081a40000000000000002000000013d1fe2db00000127000000200000000000000000000000000000001c00000003reloc/syslog/config-openbsd   pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=2
pid_file=/var/run/syslog.pid
facilities=auth authpriv cron daemon ftp kern lpr mail mark news ntp syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=0
pipe=2
tags=1
lines=20
 07070100064d55000081a40000000000000002000000013d1fe2db0000010d000000200000000000000000000000000000001f00000003reloc/syslog/config-openserver    pri_dir=0
pri_all=0
pid_file=/etc/syslog.pid
sync=0
facilities=auth authpriv cron daemon kern local0 local1 local2 local3 local4 local5 local6 local7 lpr mail mark news syslog user uccp
syslogd=/etc/syslogd
pipe=0
m4_conf=0
syslog_conf=/etc/syslog.conf
tags=0
lines=20
   07070100064d56000081a40000000000000002000000013d1fe2db00000227000000200000000000000000000000000000002100000003reloc/syslog/config-redhat-linux  pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
file_/var/log/messages=desc_sysmesg
file_/var/log/secure=desc_auth
file_/var/log/maillog=desc_mail
file_/var/log/spooler=desc_uucp
file_/var/log/boot.log=desc_boot
file_/var/log/news.crit=desc_news
file_/var/log/news.err=desc_news
file_/var/log/news.notice=desc_news
 07070100064d57000081a40000000000000002000000013d1fe2db00000120000000200000000000000000000000000000002400000003reloc/syslog/config-slackware-linux   pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d8a000081a40000000000000002000000013d1fe2db0000017d000000200000000000000000000000000000001c00000003reloc/syslog/config-solaris   pri_dir=0
pri_all=0
pid_file=/etc/syslog.pid
m4_path=/usr/ccs/bin/m4
sync=0
facilities=user kern mail daemon auth lpr news uucp cron mark local0 local1 local2 local3 local4 local5 local6 local7
syslogd=/usr/sbin/syslogd
pipe=0
m4_conf=1
syslog_conf=/etc/syslog.conf
tags=0
lines=20
file_/var/adm/messages=desc_sysmesg
file_/var/log/syslog=desc_mail
file_/var/log/authlog=desc_auth
   07070100064d8b000081a40000000000000002000000013d1fe2db00000120000000200000000000000000000000000000001f00000003reloc/syslog/config-suse-linux    pri_all=1
syslogd=/usr/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d8c000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002300000003reloc/syslog/config-suse-linux-7.2    pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d8d000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002300000003reloc/syslog/config-suse-linux-7.3    pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d8e000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002300000003reloc/syslog/config-suse-linux-8.0    pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d8f000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000002000000003reloc/syslog/config-turbo-linux   pri_all=1
syslogd=/sbin/syslogd
m4_conf=0
syslog_conf=/etc/syslog.conf
pri_dir=1
pid_file=/var/run/syslogd.pid
facilities=auth authpriv cron daemon kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7
m4_path=
sync=1
pipe=1
tags=0
lines=20
07070100064d90000081a40000000000000002000000013d1fe2db0000011a000000200000000000000000000000000000001d00000003reloc/syslog/config-unixware  pri_dir=0
pri_all=0
pid_file=/etc/syslog.pid
m4_path=/usr/ccs/bin/m4
sync=0
facilities=user kern mail daemon auth lpr news uucp cron mark local0 local1 local2 local3 local4 local5 local6 local7
syslogd=/usr/sbin/syslogd
pipe=0
m4_conf=1
syslog_conf=/etc/syslog.conf
tags=0
lines=20
  07070100064d91000081a40000000000000002000000013d1fe2db00000238000000200000000000000000000000000000001900000003reloc/syslog/config.info  syslog_conf=Path to syslog config file,0
m4_conf=Syslog config is processed though m4?,1,1-Yes,0-No
m4_path=Path to m4,0
sync=Sync after each message can be disabled?,1,1-Yes,0-No
pipe=Logging to pipes supported?,1,2-To commands,1-To named pipes,0-No
pri_dir=Advanced priority selection supported?,1,2-FreeBSD style,1-Linux style,0-No
pri_all=All priorities supported?,1,1-Yes,0-No
tags=Tagged sections supported?,1,1-Yes,0-No
pid_file=Syslog PID file,3,None
syslogd=Path to syslog server,0
facilities=Supported facilities,0
lines=Default number of lines to display,0
07070100064d92000081a40000000000000002000000013d1fe2db00000281000000200000000000000000000000000000001c00000003reloc/syslog/config.info.ca   syslog_conf=Camí del fitxer de registre de syslog,0
m4_conf=La configuració de syslog es processa amb m4,1,1-Sí,0-No
m4_path=Camí de m4,0
sync=Es pot desactivar el sync després de cada missatge,1,1-Sí,0-No
pipe=Suport de registre sobre <i>pipes</i>,1,2-sobre ordres,1-Sobre <i>pipes</i> amb nom,0-No
pri_dir=Suport de selecció de prioritat avançada,1,2-Estil FreeBSD,1-Estil Linux,0-No
pri_all=Suport de totes les prioritats,1,1-Sí,0-No
tags=Suport de seccions etiquetades,1,1-Sí,0-No
pid_file=Fitxer de PID de syslog,3,Cap
syslogd=Camí del servidor syslog,0
facilities=Utilitats de suport,0
lines=Nombre de línies a mostrar per defecte,0


   07070100064d93000081a40000000000000002000000013d1fe2db0000029d000000200000000000000000000000000000001c00000003reloc/syslog/config.info.de   syslog_conf=Pfad zur Syslog Konfigurationsdatei,0
m4_conf=Syslog Konfiguration wird durch m4 verarbeitet?,1,1-Ja,0-Nein
m4_path=Pfad zu m4,0
sync=Sync nach jeder gemeldeten Nachricht kann abgebrochen werden?,1,1-Ja,0-Nein
pipe=Logging zu pipes unterst&uuml;tzt?,1,2-Zu Kommandos,1-Zu named pipes,0-Nein
pri_dir=Erweiterte Priorit&auml;tsauswahl unterst&uuml;tzt?,1,2-FreeBSD Stil,1-Linux Stil,0-Nein
pri_all=Alle Priorit&auml;ten unterst&uuml;tzt?,1,1-Ja,0-Nein
tags=Vermerkte Sektionen unterst&uuml;tzt?,1,1-Ja,0-Nein
pid_file=Syslog PID Datei,3,None
syslogd=Pfad zum Syslog-Server,0
facilities=Unterst&uuml;tzte Einrichtungen,0
lines=Anzahl der anzuzeigenden Zeilen,0   07070100064d94000081a40000000000000002000000013d1fe2db000002b2000000200000000000000000000000000000001c00000003reloc/syslog/config.info.es   syslog_conf=Trayectoria a archivo de configuración de syslog,0
m4_conf=¿La configuración de Syslog es procesada a través de m4?,1,1-Sí,0-No
m4_path=Trayectoria a m4,0
sync=¿Hago sync tras cada mensaje soportado?,1,1-Sí,0-No
pipe=¿Es soportado hacer login a tuberías (pipes)?,1,2-A los comandos,1-A tuberías de named,0-No
pri_dir=¿Es soportada la selección de prioridad avanzada?,1,2-Estilo FreeBSD,1-Estilo Linux,0-No
pri_all=¿Se soportan todas las prioridades?,1,1-Sí,0-No
tags=¿Se soportan las secciones marcadas?,1,1-Sí,0-No
pid_file=Archivo de PID de syslog,0
syslogd=Trayectoria al servidor de syslog,0
facilities=Facilidades soportadas,0
lines=Número de línea por defecto a mostrar,0
  07070100064d95000081a40000000000000002000000013d1fe2db00000285000000200000000000000000000000000000001c00000003reloc/syslog/config.info.fr   syslog_conf=Chemin d'accès au fichier de configuration des logs,0
m4_conf=Traiter le fichier de config de Syslog par m4?,1,1-Oui,0-Non
m4_path=Chemin d'accès à m4,0
sync=Sync after each message can be disabled?,1,1-Oui,0-Non
pipe=Logging to pipes supported?,1,2-To commands,1-To named pipes,0-No
pri_dir=Advanced priority selection supported?,1,2-FreeBSD style,1-Linux style,0-No
pri_all=Toutes les priorités supportées?,1,1-Oui,0-Non
tags=Tagged sections supported?,1,1-Oui,0-Non
pid_file=Fichier du PID de Syslog,3,None
syslogd=Chemin d'accès au serveur syslog,0
facilities=Supported facilities,0
lines=Nombre de ligne par défaut à afficher,0
   07070100064d96000081a40000000000000002000000013d1fe2db0000032e000000200000000000000000000000000000001c00000003reloc/syslog/config.info.hu   syslog_conf=A syslog konfigurációs file-jának teljes elérési útja,0
m4_conf=A syslog konfigurációját elõfeldolgozza az <tt>m4</tt>?,1,1-Igen,0-Nem
m4_path=Az <tt>m4</tt> teljes elérési útja,0
sync=Letiltható a minden üzenet utáni lemezre írás?,1,1-Igen,0-Nem
pipe=Tud a démon csõvezetékbe írni?,1,2-Program bemenetére,1-Nevesített csõvezetékbe,0-Nem
pri_dir=A démon képes rafináltan szétválogatni az üzeneteket prioritás szerint?,1,2-FreeBSD stílusban,1-Linux stílusban,0-Nem
pri_all=A démon képes kezelni minden prioritási szintet?,1,1-Igen,0-Nem
tags=Lehet a naplóbejegyzéseket a küldõ program szerint szétválogatni?,1,1-Igen,0-Nem
pid_file=A démonhoz tartozó PID file,3,Nincs
syslogd=A syslog démon teljes elérési útja,0
facilities=A naplóbejegyzések lehetséges kategóriái,0
lines=A megjelenített sorok száma,0
  07070100064d97000081a40000000000000002000000013d1fe2db00000297000000200000000000000000000000000000001c00000003reloc/syslog/config.info.pl   syslog_conf=¦cie¿ka do pliku konfiguracyjnego sysloga,0
m4_conf=Czy konfiguracja sysloga tworzona poprzez m4?,1,1-Tak,0-Nie
m4_path=¦cie¿ka do m4,0
sync=Mo¿na wy³±czyæ zrzucanie buforów po ka¿dym komunikacie?,1,1-Tak,0-Nie
pipe=Potrafi logowaæ do FIFO?,1,2-Do poleceñ,1-Do nazwanych FIFO,0-Nie
pri_dir=Obs³uguje zaawansowany wybór priorytetów?,1,2-Stylu FreeBSD,1-Stylu Linuksa,0-Nie
pri_all=Obs³uguje wszystkie priorytety?,1,1-Tak,0-Nie
tags=Tagged sections supported?,1,1-Tak,0-Nie
pid_file=Plik z&nbsp;numerem PID sysloga,3,Brak
syslogd=¦cie¿ka do programu serwera syslog,0
facilities=Obs³ugiwane kana³y logowania,0
lines=Domy¶lna liczba wy¶wietlanych linii,0
 07070100064d98000081a40000000000000002000000013d1fe2db00000286000000200000000000000000000000000000001f00000003reloc/syslog/config.info.ru_RU    pri_all=Âñå ëè ïðèîðèòåòû ïîääåðæèâàþòñÿ?,1,1-Äà,0-Íåò
syslogd=Ïóòü ê syslog ñåðâåðó,0
m4_conf=Îáðàáàòûâàåòñÿ ëè syslog êîíôèãóðàöèÿ ïðåïðîöåññîðîì m4?,1,1-Äà,0-Íåò
syslog_conf=Ïóòü ê ôàéëó êîíôèãóðàöèè syslog,0
pri_dir=Ïîääåðæèâàåòñÿ ëè óëó÷øåííûé âûáîð ïðèîðèòåòîâ?,1,2-Â ñòèëå FreeBSD,1-Â ñòèëå Linux,0-Íåò
pid_file=Syslog PID ôàéë,3,None
facilities=Ïîääåðæèâàåìûå ñðåäñòâà (facilities),0
m4_path=Ïóòü ê ïðåïðîöåññîðó m4,0
sync=Ïîääåðæèâàåòñÿ ëè ñáðîñ áóôåðà ïîñëå êàæäîãî ñîîáùåíèÿ?,1,1-Äà,0-Íåò
pipe=Ïîääåðæèâàåòñÿ ëè æóðíàëèçàöèÿ â êàíàëû?,1,2-Â êîìàíäû,1-Â èìåíîâàííûå êàíàëû,0-Íåò
tags=Ïîääåðæèâàþòñÿ ëè òýãèðîâàííûå ñåêöèè?,1,1-Äà,0-Íåò
  07070100064d99000081a40000000000000002000000013d1fe2db00000286000000200000000000000000000000000000001f00000003reloc/syslog/config.info.ru_SU    syslog_conf=ðÕÔØ Ë ÆÁÊÌÕ ËÏÎÆÉÇÕÒÁÃÉÉ syslog,0
m4_conf=ïÂÒÁÂÁÔÙ×ÁÅÔÓÑ ÌÉ syslog ËÏÎÆÉÇÕÒÁÃÉÑ ÐÒÅÐÒÏÃÅÓÓÏÒÏÍ m4?,1,1-äÁ,0-îÅÔ
m4_path=ðÕÔØ Ë ÐÒÅÐÒÏÃÅÓÓÏÒÕ m4,0
sync=ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÌÉ ÓÂÒÏÓ ÂÕÆÅÒÁ ÐÏÓÌÅ ËÁÖÄÏÇÏ ÓÏÏÂÝÅÎÉÑ?,1,1-äÁ,0-îÅÔ
pipe=ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÌÉ ÖÕÒÎÁÌÉÚÁÃÉÑ × ËÁÎÁÌÙ?,1,2-÷ ËÏÍÁÎÄÙ,1-÷ ÉÍÅÎÏ×ÁÎÎÙÅ ËÁÎÁÌÙ,0-îÅÔ
pri_dir=ðÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÌÉ ÕÌÕÞÛÅÎÎÙÊ ×ÙÂÏÒ ÐÒÉÏÒÉÔÅÔÏ×?,1,2-÷ ÓÔÉÌÅ FreeBSD,1-÷ ÓÔÉÌÅ Linux,0-îÅÔ
pri_all=÷ÓÅ ÌÉ ÐÒÉÏÒÉÔÅÔÙ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ?,1,1-äÁ,0-îÅÔ
tags=ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÌÉ ÔÜÇÉÒÏ×ÁÎÎÙÅ ÓÅËÃÉÉ?,1,1-äÁ,0-îÅÔ
pid_file=Syslog PID ÆÁÊÌ,3,None
syslogd=ðÕÔØ Ë syslog ÓÅÒ×ÅÒÕ,0
facilities=ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÓÒÅÄÓÔ×Á (facilities),0
  07070100064d9a000081a40000000000000002000000013d1fe2db0000024f000000200000000000000000000000000000001c00000003reloc/syslog/config.info.sv   syslog_conf=Sökväg till syslog-inställningsfil,0
m4_conf=Syslog-inställningar tolkas med m4?,1,1-Ja,0-Nej
m4_path=Sökväg till m4,0
sync=Kunna slå av synkning efter varje meddelande?,1,1-Ja,0-Nej
pipe=Stöd för loggning till pipor?,1,2-Till kommandon,1-Till namngivna pipor,0-Nej
pri_dir=Stöd för avancerat prioritetsval?,1,2-FreeBSD-typ,1-Linux-typ,0-Ingen
pri_all=Stöd för alla prioriteter?,1,1-Ja,0-Nej
tags=Stöd för taggade sektioner?,1,1-Ja,0-Nej
pid_file=Syslog-PID-fil,3,Ingen
syslogd=Sökväg till syslogserver,0
facilities=Resurser som stöds,0
lines=Standardantal rader som ska visas,0
 07070100064d9b000081a40000000000000002000000013d1fe2db000002a3000000200000000000000000000000000000001c00000003reloc/syslog/config.info.tr   syslog_conf=Syslog yapýlandýrma dosyasýnýn yeri,0
m4_conf=Syslog yapýlandýrmasý m4'e raðmen çalýþtýrýlsýn mý?,1,1-Evet,0-Hayýr
m4_path=m4'ün yolu,0
sync=Her mesajdan sonra uyumlu hale getirilme desteklensin mi?,1,1-Evet,0-Hayýr
pipe=Pipe'lerin kayýt tutulmasý desteklensin mi?,1,2-Komutlarla,1-Ýsimlendirilmiþ pipe'lerle,0-Hayýr
pri_dir=Geliþmiþ öncelik seçimi desteklensin mi?,1,2-FreeBSD style,1-Linux style,0-No
pri_all=Bütün öncelikler desteklensin mi?,1,1-Evet,0-Hayýr
tags=Etiketlenmiþ bölümler desteklensin mi?,1,1-Evet,0-Hayýr
pid_file=Syslog PID dosyasý,0
syslogd=Syslog sunucusu yolu,0
facilities=Desteklenen olanaklar,0
lines=Görüntülenen öntanýmlý satýr sayýsý,0
 07070100064d9c000081a40000000000000002000000013d1fe2db000001b8000000200000000000000000000000000000001f00000003reloc/syslog/config.info.zh_CN    syslog_conf=ÏµÍ³ÈÕÖ¾ÅäÖÃÎÄ¼þÂ·¾¶,0
m4_conf=ÏµÍ³ÈÕÖ¾Í¨¹ýÊÇ·ñm4´¦Àí?,1,1-ÊÇ,0-·ñ
m4_path=m4µÄÂ·¾¶,0
sync=ÊÇ·ñÔÚÃ¿¸öÐÅÏ¢Éú³ÉºóÍ¬²½?,1,1-ÊÇ,0-·ñ
pipe=Ö§³ÖµÇÂ¼µ½¹ÜµÀÂð?,1,2-µ½ÃüÁî,1-µ½ÃüÃû¹ÜµÀ,0-·ñ
pri_dir=ÊÇ·ñ¸ßÓÅÏÈ¼¶Ö§³Ö?,1,2-FreeBSD ·ç¸ñ,1-Linux ·ç¸ñ,0-·ñ
pri_all=ÊÇ·ñÖ§³ÖËùÓÐµÄÓÅÏÈ¼¶?,1,1-ÊÇ,0-·ñ
tags=ÊÇ·ñÖ§³ÖTaggedÑ¡Ôñ?,1,1-ÊÇ,0-·ñ
pid_file=ÏµÍ³ÈÕÖ¾PID ÎÄ¼þ,3,None
syslogd=ÏµÍ³ÈÕÖ¾·þÎñµÄÂ·¾¶,0
facilities=Éè±¸Ö§³Ö,0
lines=Ä¬ÈÏµÄÏÔÊ¾ÐÐÊý,0
07070100067afe000041ed0000000000000001000000023d1ffb7200000000000000200000000000000000000000000000001400000003reloc/syslog/images   07070100067aff000081a40000000000000002000000013d1fe2db000001d6000000200000000000000000000000000000001d00000003reloc/syslog/images/icon.gif  GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100064d9d000081a40000000000000002000000013d1fe2db000001de000000200000000000000000000000000000002400000003reloc/syslog/config.info.zh_TW.Big5   syslog_conf=¨ì¨t²Î¬ö¿ý²ÕºAÀÉªº§¹¾ã¸ô®|,0
m4_conf=¨t²Î¬ö¿ý²ÕºAÀÉ¬O§_¸g¹L m4 ³B²z?,1,1-¬O,0-§_
m4_path=¨ì m4 ªº§¹¾ã¸ô®|,0
sync=¬O§_¦b¨C­Ó°T®§¤ä´©«á¶i¦æ¦P¨B?,1,1-¬O,0-§_
pipe=¬O§_¤ä´©¬ö¨ìºÞ½u?,1,2-¨ì©R¥O,1-¨ì©R¦WªººÞ½u,0-§_
pri_dir=¬O§_¤ä´©¶i¶¥ªºÀu¥ýÅv¿ï¾Ü?,1,2-FreeBSD ¼Ò¦¡,1-Linux ¼Ò¦¡,0-§_
pri_all=¬O§_¤ä´©Àu¥ýÅv?,1,1-¬O,0-§_
tags=¬O§_¤ä´©¼Ð°Oªº°Ï¬q?,1,1-¬O,0-§_
pid_file=¨t²Î¬ö¿ýªº PID ÀÉ®×,0
syslogd=¨ì¨t²Î¬ö¿ý¦øªA¾¹ªº§¹¾ã¸ô®|,0
facilities=¤ä´©ªº³]¬I,0
lines=¹w³]ªºÅã¥Ü¦æ¼Æ,0
  07070100064dac000081e40000000000000002000000013d1fe2db00001a88000000200000000000000000000000000000001a00000003reloc/syslog/edit_log.cgi #!/usr/local/bin/perl
# edit_log.cgi
# Display a form for editing or creating a new log destination

require './syslog-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'new'}) {
	&header($text{'create_title'}, "");
	$log = { 'active' => '1',
		 'sync' => 1,
		 'file' => -d '/var/log' ? '/var/log/' :
			   -d '/var/adm' ? '/var/adm/' : undef };
	}
else {
	&header($text{'edit_title'}, "");
	$log = $conf->[$in{'idx'}];
	}
print "<hr>\n";

# Log destination section
print "<form action=save_log.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'edit_logto'}</b></td>\n";
printf "<td><input type=radio name=mode value=0 %s> %s</td>\n",
	$log->{'file'} ? 'checked' : '', $text{'edit_file'};
printf "<td><input name=file size=40 value='%s'> %s\n",
	$log->{'file'}, &file_chooser_button("file");
if ($config{'sync'}) {
	printf "<input type=checkbox name=sync value=1 %s> %s\n",
		$log->{'sync'} ? 'checked' : '', $text{'edit_sync'};
	}
print "</td> </tr>\n";

if ($config{'pipe'} == 1) {
	print "<tr> <td></td>\n";
	printf "<td><input type=radio name=mode value=1 %s> %s</td>\n",
		$log->{'pipe'} ? 'checked' : '', $text{'edit_pipe'};
	printf "<td><input name=pipe size=40 value='%s'> %s</td> </tr>\n",
		$log->{'pipe'}, &file_chooser_button("pipe");
	}
elsif ($config{'pipe'} == 2) {
	print "<tr> <td></td>\n";
	printf "<td><input type=radio name=mode value=1 %s> %s</td>\n",
		$log->{'pipe'} ? 'checked' : '', $text{'edit_pipe2'};
	printf "<td><input name=pipe size=40 value='%s'></td> </tr>\n",
		$log->{'pipe'};
	}

print "<tr> <td></td>\n";
printf "<td><input type=radio name=mode value=2 %s> %s</td>\n",
	$log->{'host'} ? 'checked' : '', $text{'edit_host'};
printf "<td><input name=host size=20 value='%s'></td> </tr>\n",
	$log->{'host'};

print "<tr> <td></td>\n";
printf "<td><input type=radio name=mode value=3 %s> %s</td>\n",
	$log->{'users'} ? 'checked' : '', $text{'edit_users'};
printf "<td><input name=users size=40 value='%s'> %s</td> </tr>\n",
	join(" ", @{$log->{'users'}}), &user_chooser_button("users", 1);

print "<tr> <td></td>\n";
printf "<td colspan=2><input type=radio name=mode value=4 %s> %s</td> </tr>\n",
	$log->{'all'} ? 'checked' : '', $text{'edit_allusers'};

print "<tr> <td><b>$text{'edit_active'}</b></td> <td colspan=2>\n";
printf "<input type=radio name=active value=1 %s> %s\n",
	$log->{'active'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=active value=0 %s> %s</td> </tr>\n",
	$log->{'active'} ? '' : 'checked', $text{'no'};

if ($config{'tags'}) {
	print "<tr> <td><b>$text{'edit_tag'}</b></td> <td colspan=2>\n";
	print "<select name=tag>\n";
	foreach $t (grep { $_->{'tag'} } @$conf) {
		printf "<option %s value=%s>%s\n",
			$log->{'section'} eq $t ? 'selected' : '',
			$t->{'index'},
			$t->{'tag'} eq '*' ? $text{'all'} : $t->{'tag'};
		}
	print "</select></td> </tr>\n";
	}

print "</table></td></tr></table><p>\n";

# Log selection section
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'edit_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@facil = split(/\s+/, $config{'facilities'});
print "<tr> <td><b>$text{'edit_facil'}</b></td> ",
      "<td><b>$text{'edit_pri'}</b></td> </tr>\n";
$i = 0;
foreach $s (@{$log->{'sel'}}, ".none") {
	($f, $p) = split(/\./, $s);
	$p =~ s/warn$/warning/;
	$p =~ s/panic$/emerg/;
	$p =~ s/error$/err/;

	print "<tr> <td>\n";
	printf "<input type=radio name=fmode_$i value=0 %s>\n",
		$f =~ /,/ ? '' : 'checked';
	print "<select name=facil_$i>\n";
	printf "<option %s>\n", $f ? '' : 'selected';
	printf "<option value='*' %s>%s\n",
		$f eq '*' ? 'selected' : '', $text{'edit_all'};
	local $ffound = ($f eq '*');
	foreach $fc (@facil) {
		printf "<option %s>%s\n",
			$fc eq $f ? 'selected' : '', $fc;
		$ffound++ if ($fc eq $f);
		}
	print "<option selected>$f\n" if (!$ffound && $f !~ /,/);
	print "</select>&nbsp;\n";
	printf "<input type=radio name=fmode_$i value=1 %s> %s\n",
		$f =~ /,/ ? 'checked' : '', $text{'edit_many'};
	printf "<input name=facils_$i size=25 value='%s'></td>\n",
		$f =~ /,/ ? join(" ", split(/,/, $f)) : '';

	print "<td>\n";
	printf "<input type=radio name=pmode_$i value=0 %s> %s&nbsp;\n",
		$p eq 'none' ? 'checked' : '', $text{'edit_none'};
	if ($config{'pri_all'}) {
		printf "<input type=radio name=pmode_$i value=1 %s> %s&nbsp;\n",
			$p eq '*' ? 'checked' : '', $text{'edit_all'};
		}
	printf "<input type=radio name=pmode_$i value=2 %s>\n",
		$p eq 'none' || $p eq '*' ? '' : 'checked';

	if ($config{'pri_dir'} == 1) {
		print "<select name=pdir_$i>\n";
		printf "<option value='' selected>\n"
			if ($p eq '*' || $p eq 'none');
		printf "<option value='' %s>%s\n",
			$p =~ /\!|=/ ? '' : 'selected', $text{'edit_pdir0'};
		printf "<option value='=' %s>%s\n",
			$p =~ /^=/ ? 'selected' : '', $text{'edit_pdir1'};
		printf "<option value='!' %s>%s\n",
			$p =~ /^![^=]/ ? 'selected' : '', $text{'edit_pdir2'};
		printf "<option value='!=' %s>%s\n",
			$p =~ /^!=/ ? 'selected' : '', $text{'edit_pdir3'};
		print "</select>\n";
		}
	elsif ($config{'pri_dir'} == 2) {
		print "<select name=pdir_$i>\n";
		printf "<option value='' selected>\n"
			if ($p eq '*' || $p eq 'none');
		local $pfx = $p =~ /^([<=>]+)/ ? $1 : undef;
		printf "<option value='' %s>&gt;=\n",
			$pfx eq '>=' || $pfx eq '=>' || !$pfx ? 'selected' : '';
		printf "<option value='>' %s>&gt;\n",
			$pfx eq '>' ? 'selected' : '';
		printf "<option value='<=' %s>&lt;=\n",
			$pfx eq '<=' || $pfx eq '=<' ? 'selected' : '';
		printf "<option value='<' %s>&lt;\n",
			$pfx eq '<' ? 'selected' : '';
		printf "<option value='<>' %s>&lt;&gt;\n",
			$pfx eq '<>' || $pfx eq '><' ? 'selected' : '';
		print "</select>\n";
		}
	else {
		print $text{'edit_pdir0'};
		}

	local $pfound = ($p eq '*' || $p eq 'none');
	print "<select name=pri_$i>\n";
	print "<option selected>\n" if ($p eq '*' || $p eq 'none');
	foreach $pr (&list_priorities()) {
		printf "<option %s>%s\n",
			$p =~ /$pr/ ? 'selected' : '', $pr;
		}
	print "<option selected>$p\n" if (!$pfound);
	print "</select></td></tr>\n";
	$i++;
	}
print "</table></td></tr></table>\n";

print "<table width=100%><tr>\n";
print "<td><input type=submit value='$text{'save'}'></td>\n";
if (!$in{'new'}) {
	if ($log->{'file'} && -f $log->{'file'}) {
		print "<td align=center><input type=submit name=view ",
		      "value='$text{'edit_view'}'></td>\n";
		}
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100064dad000081e40000000000000002000000013d1fe2db0000139c000000200000000000000000000000000000001700000003reloc/syslog/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display syslog rules

require './syslog-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("syslog", "man", "doc"));
print "<hr>\n";

if ($config{'m4_conf'}) {
	# Does the config file need to be passed through m4?
	$oldslash = $/;
	$/ = undef;
	open(CONF, $config{'syslog_conf'});
	$conf1 = <CONF>;
	close(CONF);
	open(CONF, "$config{'m4_path'} $config{'syslog_conf'} |");
	$conf2 = <CONF>;
	close(CONF);
	$/ = $oldslash;
	if ($conf1 ne $conf2) {
		# syslog.conf has m4 directives .. ask the user if he wants
		# to filter the file
		print "<p>",&text('index_m4msg',
				  "<tt>$config{'syslog_conf'}</tt>"),"\n";
		print "<center><form action=m4.cgi>\n";
		print "<input type=submit value='$text{'index_m4'}'>\n";
		print "</form></center>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}
	}

$conf = &get_config();
%access = &get_module_acl();
if ($access{'icons'}) {
	# Display log files and maybe contents
	&ReadParse();
	&foreign_require("proc", "proc-lib.pl");
	foreach $c (@$conf) {
		next if ($c->{'tag'} || !$c->{'active'});
		if ($c->{'file'} && -f $c->{'file'}) {
			local $t = $text{$config{"file_$c->{'file'}"}};
			push(@icons, "images/icon.gif");
			push(@links, "index.cgi?idx=$c->{'index'}&".
				     "lines=$in{'lines'}");
			push(@titles, $t ? "$c->{'file'}<br>($t)"
					 : $c->{'file'});
			}
		}
	&icons_table(\@links, \@titles, \@icons, 5);

	if (defined($in{'idx'})) {
		$log = $conf->[$in{'idx'}];
		print "<hr>\n";
		print "<form action=index.cgi>\n";
		print "<input type=hidden name=idx value='$in{'idx'}'>\n";
		$lines = $in{'lines'} ? $in{'lines'} : $config{'lines'};

		$| = 1;
		print "<pre>";
		$got = &foreign_call("proc", "safe_process_exec",
			      	     "tail -$lines $log->{'file'}", 0, 0,
				     STDOUT, undef, 1);
		print "<i>$text{'view_empty'}</i>\n" if (!$got);
		print "</pre>\n";
		print &text('view_header',
			    "<input name=lines size=3 value='$lines'>",
			    "<tt>$log->{'file'}</tt>"),"\n";
		print "&nbsp;&nbsp;\n";
		print "<input type=submit value='$text{'view_refresh'}'><br>\n";

		print "</form>\n";
		}
	}
else {
	# Display syslog rules
	print "<a href='edit_log.cgi?new=1'>$text{'index_add'}</a><br>\n"
		if (!$access{'noedit'});
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'index_to'}</b></td> ",
	      $config{'tags'} ? "<td><b>$text{'index_tag'}</b></td>" : "",
	      "<td><b>$text{'index_active'}</b></td> ",
	      "<td colspan=2><b>$text{'index_rule'}</b></td> </tr>\n";
	foreach $c (@$conf) {
		next if ($c->{'tag'});
		print "<tr $cb> <td>\n";
		print "<a href='edit_log.cgi?idx=$c->{'index'}'>"
			if (!$access{'noedit'});
		if ($c->{'file'}) {
			print &text('index_file',
				"<tt>".&html_escape($c->{'file'})."</tt>");
			}
		elsif ($c->{'pipe'} && $config{'pipe'} == 1) {
			print &text('index_pipe',
				"<tt>".&html_escape($c->{'pipe'})."</tt>");
			}
		elsif ($c->{'pipe'} && $config{'pipe'} == 2) {
			print &text('index_pipe2',
				"<tt>".&html_escape($c->{'pipe'})."</tt>");
			}
		elsif ($c->{'host'}) {
			print &text('index_host',
				"<tt>".&html_escape($c->{'host'})."</tt>");
			}
		elsif ($c->{'all'}) {
			print $text{'index_all'};
			}
		else {
			print &text('index_users',
				"<tt>".join(" ", map { &html_escape($_) }
						 @{$c->{'users'}})."</tt>");
			}
		print "</a>\n" if (!$access{'noedit'});
		print "</td>\n";
		if ($config{'tags'}) {
			printf "<td>%s</td>\n",
				$c->{'section'}->{'tag'} eq '*'
				? $text{'all'} : $c->{'section'}->{'tag'};
			}
		print "<td>",$c->{'active'} ? $text{'yes'}
					    : "<font color=#ff0000>$text{'no'}</font>",
		      "</td> <td>\n";
		print join("&nbsp;;&nbsp;",
			   map { &html_escape($_) } @{$c->{'sel'}});
		print "</td> <td width=10>\n";
		if ($c->{'file'} && -f $c->{'file'}) {
			print "<a href='save_log.cgi?idx=$c->{'index'}&",
			      "view=1'>$text{'index_view'}</a>\n";
			}
		else { print "<br>\n"; }
		print "</td> </tr>\n";
		}
	print "</table>\n";
	print "<a href='edit_log.cgi?new=1'>$text{'index_add'}</a>\n"
		if (!$access{'noedit'});
	print "<p>\n";
	}

if (!$access{'icons'} && !$access{'noedit'}) {
	print "<hr>\n";
	if ($config{'pid_file'}) {
		if (open(PID, $config{'pid_file'}) &&
		    <PID> =~ /^(\d+)$/ && kill(0, $1)) {
			$pid = $1;
			}
		}
	else {
		($pid) = &find_byname("syslogd");
		}
	if ($pid) {
		print "<form action=restart.cgi>\n";
		print "<table width=100%><tr>\n";
		print "<input type=hidden name=pid value='$pid'>\n";
		print "<td><input type=submit value='$text{'index_restart'}'></td>\n";
		print "<td>$text{'index_restartmsg'}</td>\n";
		print "</tr></table></form>\n";
		}
	else {
		print "<form action=start.cgi>\n";
		print "<table width=100%><tr>\n";
		print "<td><input type=submit value='$text{'index_start'}'></td>\n";
		print "<td>",&text('index_startmsg', "<tt>$config{'syslogd'}</tt>"),
		      "</td>\n";
		print "</tr></table></form>\n";
		}
	close(PID);
	}

print "<hr>\n";
&footer("/", $text{'index'});

07070100069130000041ed0000000000000001000000023d1ffb7300000000000000200000000000000000000000000000001200000003reloc/syslog/lang 07070100069131000081a40000000000000002000000013d1fe2db00000b69000000200000000000000000000000000000001500000003reloc/syslog/lang/ca  index_title=Registres del Sistema
index_m4msg=Sembla que el fitxer de configuració de registres del sistema $1 conté directives <tt>m4</tt>. Abans de poder-lo editar, Webmin necessita processar el fitxer amb <tt>m4</tt> per treure aquestes directives sense problemes.
index_m4=Treu les directives m4 del fitxer de configuració
index_active=Actiu
index_tag=Programa
index_to=Destinació del registre
index_rule=Missatges seleccionats
index_file=Fitxer $1
index_pipe=<i>Pipe</i> amb nom $1
index_pipe2=<i>Pipe</i> contra l'ordre $1
index_host=Servidor syslog a $1
index_all=Tots els usuaris
index_users=Usuaris $1
index_add=Afegeix un nou registre del sistema
index_return=als registres del sistema
index_restart=Aplica els Canvis
index_restartmsg=Fes clic en aquest botó per fer activa la configuració actual, bo i matant el procés <tt>syslog</tt> en execució i reiniciant-lo.
index_start=Inicia el Servidor Syslog
index_startmsg=Fes clic en aquest botó per iniciar el servidor syslog $1. Fins que no s'hagi iniciat, no es podrà fer cap acció de registre.
all=Tots
index_view=Visualitza...

restart_ekill=No he pogut enviar el senyal al procés syslog $1: $2

edit_title=Edició de Registre
create_title=Addició de Registre
edit_header1=Destinació del registre
edit_logto=Registra a
edit_file=Fitxer
edit_sync=Fes sync després de cada missatge
edit_pipe=<i>Pipe</i> amb nom
edit_pipe2=<i>Pipe</i> contra l'ordre
edit_host=Servidor syslog a
edit_users=Usuaris locals
edit_allusers=Tots els usuaris connectats
edit_active=Registre actiu
edit_header2=Tipus de missatges a registrar
edit_facil=Utilitats
edit_pri=Prioritats
edit_all=Totes
edit_one=Un
edit_many=Molts
edit_pdir0=Per damunt de...
edit_pdir1=Exactament...
edit_pdir2=Per sota de...
edit_pdir3=Tots excepte...
edit_none=Cap
edit_view=Visualitza el fitxer de registre
edit_tag=Només pel programa
edit_return=als detalls del registre

view_title=Visualització de Registre
view_header=Darreres $1 línies de $2
view_empty=El fitxer de registre està buit
view_refresh=Refresca

save_err=No he pogut desar el registre
save_efile='$1' no és un nom de fitxer vàlid: $2
save_epipe='$1' no és un <i>pipe</i> amb nom vàlid
save_epipe2=Hi falta l'ordre contra la qual cal enviar el <i>pipe</i>
save_ehost=El host syslog '$1' no existeix
save_enousers=No has introduït cap usuari local
save_euser=L'usuari '$1' no existeix
save_efacils=No has introduït cap utilitat
save_esel=No ha cap tipus de missatge per registrar
save_epri=No hi ha cap prioritat seleccionada

log_modify=He modificat el registre a $1
log_create=He afegit el registre a $1
log_delete=He suprimit el registre a $1
log_apply=He aplicat els canvis

desc_sysmesg=Missatges del Sistema
desc_mail=Registre de Correu
desc_auth=Registre d'Autenticació
desc_boot=Missatges d'engegada
desc_news=Registre de Notícies NNTP
desc_uucp=Registre UUCP
desc_debug=Missatges de Depuració
desc_cron=Registre de treballs Cron



   07070100069132000081a40000000000000002000000013d1fe2db00000dc2000000200000000000000000000000000000001500000003reloc/syslog/lang/de  #        webmin-0.97     syslog/lang/de
#
#        created: ??-???-????                by: ???
#        last modified: 02-jun-2002          Rev.: 05-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 02.06.2002        Rev.: 05.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Systemprotokolle

index_m4msg=Ihre Systemprotokollkonfigurationsdatei $1 scheint <tt>m4</tt>-Direktiven zu enthalten. Bevor die Datei bearbeitet werden kann, muss Webmin sie durch <tt>m4</tt> schicken, um diese Direktiven sicher zu entfernen.
index_m4=m4-Direktiven aus Konfigurationsdatei entfernen
index_active=Aktiviert?
index_tag=Programm
index_to=Protokollziel
index_rule=Ausgew&auml;hlte Nachrichten
index_file=Datei $1
index_pipe=Named-Pipe $1
index_pipe2=An Befehl $1 leiten
index_host=Syslogserver auf $1
index_all=Alle Benutzer
index_users=Benutzer $1
index_add=Neues Systemprotokoll hinzuf&uuml;gen
index_return=Systemprotokolle
index_restart=&Auml;nderungen zuweisen
index_restartmsg=Klicken Sie auf diese Schaltfl&auml;che, um die aktuelle Konfiguration zu aktivieren, indem der <tt>Syslog</tt>-Prozess abgebrochen und neu gestartet wird.
index_start=Syslogserver starten
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den Syslogserver $1 zu starten. Bevor er gestartet ist, kann nichts protokolliert werden.
index_view=Betrachten...

all=Alle

restart_ekill=Fehler beim Signalisieren des Syslog-Prozesses $1 : $2

create_title=Systemprotokoll hinzuf&uuml;gen

edit_title=Systemprotokoll bearbeiten
edit_header1=Protokollziel
edit_logto=Protokollieren in
edit_file=Datei
edit_sync=Synchronisation nach jeder Meldung?
edit_pipe=Named-Pipe
edit_pipe2=An Befehl leiten
edit_host=Syslogserver auf
edit_users=Lokale Benutzer
edit_allusers=Alle angemeldeten Benutzer
edit_active=Protokollierung aktiviert?
edit_header2=Zu protokollierende Nachrichtentypen
edit_facil=Einrichtungen
edit_pri=Priorit&auml;ten
edit_all=Alle
edit_one=Eine
edit_many=Mehrere
edit_pdir0=Gleich oder gr&ouml;&szlig;er...
edit_pdir1=Genau...
edit_pdir2=Unter...
edit_pdir3=Alle au&szlig;er...
edit_none=Keine
edit_view=Protokolldatei einsehen
edit_tag=Nur f&uuml;r Programm
edit_return=Aufzeichnung Einzelheiten

view_title=Protokolldatei einsehen
view_header=Die letzten $1 Zeilen von $2
view_empty=Protokolldatei ist leer
view_refresh=Aktualisieren

save_err=Fehler beim Speichern der Protokolldatei
save_efile='$1' ist kein g&uuml;ltiger Dateiname : $2
save_epipe='$1' ist keine g&uuml;ltige Named-Pipe
save_epipe2=Kein Befehl angegeben, an den gesendet werden soll
save_ehost=Sysloghost '$1' existiert nicht
save_enousers=Keine lokalen Benutzer angegeben
save_euser=Benutzer '$1' existiert nicht
save_efacils=Keine Einrichtungen angegeben
save_esel=Keine zu protokollierende Nachrichtentypen
save_epri=Keine Priorit&auml;ten gew&auml;hlt

log_modify=Aufzeichnung zu $1 ge&auml;ndert
log_create=Aufzeichnung zu $1 hinzugef&uuml;gt
log_delete=Aufzeichnung zu $1 gel&ouml;scht
log_apply=angewandte &Auml;nderungen

desc_sysmesg=System-Nachrichten
desc_mail=Mail-Aufzeichnungen
desc_auth=Authentifizierungs-Aufzeichnungen
desc_boot=Systemstart-Nachrichten
desc_news=NNTP-News Aufzeichnungen
desc_uucp=UUCP-Aufzeichnungen
desc_debug=Debugging Nachrichten
desc_cron=Cron-Job Aufzeichnungen  07070100069133000081a40000000000000002000000013d1fe2db00000936000000200000000000000000000000000000001500000003reloc/syslog/lang/en  index_title=System Logs
index_m4msg=Your system log configuration file $1 appears to contain <tt>m4</tt> directives. Before it can be edited, Webmin needs to pass the file through <tt>m4</tt> to safely remove these directives.
index_m4=Remove m4 directives from config file
index_active=Active?
index_tag=Program
index_to=Log destination
index_rule=Messages selected
index_file=File $1
index_pipe=Named pipe $1
index_pipe2=Pipe to command $1
index_host=Syslog server on $1
index_all=All users
index_users=Users $1
index_add=Add a new system log
index_return=system logs
index_restart=Apply Changes
index_restartmsg=Click this button to make the current configuration active by killing the running <tt>syslog</tt> process and restarting it.
index_start=Start Syslog Server
index_startmsg=Click this button to start the syslog server $1. Until it is started, no logging can be done.
all=All
index_view=View..

restart_ekill=Failed to signal syslog process $1 : $2

edit_title=Edit System Log
create_title=Add System Log
edit_header1=Log destination
edit_logto=Log to
edit_file=File
edit_sync=Sync after each message?
edit_pipe=Named pipe
edit_pipe2=Pipe to command
edit_host=Syslog server on
edit_users=Local users
edit_allusers=All logged-in users
edit_active=Logging active?
edit_header2=Message types to log
edit_facil=Facilities
edit_pri=Priorities
edit_all=All
edit_one=One
edit_many=Many
edit_pdir0=At or above..
edit_pdir1=Exactly..
edit_pdir2=Below..
edit_pdir3=All except..
edit_none=None
edit_view=View logfile
edit_tag=Only for program
edit_return=log details

view_title=View Logfile
view_header=Last $1 lines of $2
view_empty=Log file is empty
view_refresh=Refresh

save_err=Failed to save log
save_efile='$1' is not a valid filename : $2
save_epipe='$1' is not a valid named pipe
save_epipe2=Missing command to pipe to
save_ehost=Syslog host '$1' does not exist
save_enousers=No local users entered
save_euser=User '$1' does not exist
save_efacils=No facilities entered
save_esel=No message types to log
save_epri=No priority selected

log_modify=Modified log to $1
log_create=Added log to $1
log_delete=Deleted log to $1
log_apply=Applied changes

desc_sysmesg=System Messages
desc_mail=Mail Log
desc_auth=Authentication Log
desc_boot=Boot Messages
desc_news=NNTP News Log
desc_uucp=UUCP Log
desc_debug=Debugging Messages
desc_cron=Cron Job Log
  07070100069235000081a40000000000000002000000013d1fe2db00000b65000000200000000000000000000000000000001500000003reloc/syslog/lang/es  index_title=Historiales del Sistema
index_m4msg=Tu archivo de configuración de historial de sistema $1 parece contener directivas <tt>m4</tt>. Antes de que pueda ser editado, Webmin necesita pasar el archivo a través de <tt>m4</tt> para quitar estas directivas con seguridad.
index_m4=Quitar directivas m4 del archivo de configuración
index_active=¿Activo?
index_tag=Programa
index_to=Destino de historial
index_rule=Mensajes seleccionados
index_file=Archivo $1
index_pipe=Tubería named $1
index_pipe2=Tubería a comando $1
index_host=Servidor de Syslog en $1
index_all=Todos los usuarios
index_users=Los usuarios $1
index_add=Añadir un nuevo historial de sistema
index_return=historiales de sistema
index_restart=Aplicar Cambios
index_restartmsg=Haz click en este botón para hacer activa la configuración en curso mediante el asesinato del proceso de <tt>syslog</tt> en ejecución y su rearranque.
index_start=Arrancar Servidor de Syslog
index_startmsg=Haz click en este botón para arrancar el servidor de syslog $1. Hasta que se arranque, no se pueden llevar historiales.
all=Todos
index_view=Ver...

restart_ekill=No pude enviar señal a proceso de syslog $1 : $2

edit_title=Editar Historial de Sistema
create_title=Añadir Historial de Sistema
edit_header1=Destino de historial
edit_logto=Lleva historial en
edit_file=Archivo
edit_sync=¿Se sincroniza tras cada mensaje?
edit_pipe=Tubería named
edit_pipe2=Tubería a comando
edit_host=Servidor de syslog en
edit_users=Usuarios locales
edit_allusers=Todos los usuarios que han hecho login
edit_active=¿Historial activo?
edit_header2=Tipos de mensaje de los que llevar historial
edit_facil=Facilidades
edit_pri=Prioridades
edit_all=Todos
edit_one=Uno
edit_many=Muchos
edit_pdir0=En o superior...
edit_pdir1=Exáctamente...
edit_pdir2=Por debajo...
edit_pdir3=Todos excepto...
edit_none=Ninguno
edit_view=Ver archivo de historial
edit_tag=Sólo para el programa

view_title=Ver archivo de historial
view_header=Última $1 línea de $2
view_empty=El archivo de historial está vacío
view_refresh=Refrescar

save_err=No pude salvar historial
save_efile='$1' no es un nombre válido de archivo: $2
save_epipe='$1' no es nu nombre válido de tubería named
save_epipe2=Comando con el que hacer tubería perdido
save_ehost=Máquina de Syslog '$1' no existe
save_enousers=No se han digitado usuarios locales
save_euser=El usuario '$1' no existe
save_efacils=No se han digitado facilidades
save_esel=No hay tipos de mensaje de los que llevar historial
save_epri=No se ha seleccionado prioridad

log_modify=Modificado historial a $1
log_create=Añadido historial a $1
log_delete=Borrado historial a $1
log_apply=Aplicados cambios

desc_sysmesg=Mensajess de Sistema
desc_mail=Historial de Correo
desc_auth=Historial de Autenticación
desc_boot=Mensajes de Arranque
desc_news=Historia de Noticias NNTP
desc_uucp=Historial UUCP
desc_debug=Depurar Mensajes
desc_cron=Historial de Tareas de Cron
   07070100069236000081a40000000000000002000000013d1fe2db0000094d000000200000000000000000000000000000001500000003reloc/syslog/lang/fr  index_title=Analyse des Logs
index_m4msg=Votre fichier de configuration des logs $1 semble contenir des directives <tt>m4</tt>. Avant de pouvoir l'éditer, Webmin à a besoin de lancer <tt>m4</tt> sur le fichier pour supprimer ces directives.
index_m4=Suppression des directives m4 du fichier de configuration
index_active=Actif?
index_tag=Programme
index_to=destination des logs
index_rule=Messages selectionnés
index_file=Fichier $1
index_pipe=Named pipe $1
index_pipe2=Pipe to command $1
index_host=Syslog server on $1
index_all=All users
index_users=Users $1
index_add=Add a new system log
index_return=system logs
index_restart=Apply Changes
index_restartmsg=Click this button to make the current configuration active by killing the running <tt>syslog</tt> process and restarting it.
index_start=Start Syslog Server
index_startmsg=Click this button to start the syslog server $1. Until it is started, no logging can be done.
all=All
index_view=View..

restart_ekill=Failed to signal syslog process $1 : $2

edit_title=Edit System Log
create_title=Add System Log
edit_header1=Log destination
edit_logto=Log to
edit_file=File
edit_sync=Sync after each message?
edit_pipe=Named pipe
edit_pipe2=Pipe to command
edit_host=Syslog server on
edit_users=Local users
edit_allusers=All logged-in users
edit_active=Logging active?
edit_header2=Message types to log
edit_facil=Facilities
edit_pri=Priorities
edit_all=All
edit_one=One
edit_many=Many
edit_pdir0=At or above..
edit_pdir1=Exactly..
edit_pdir2=Below..
edit_pdir3=All except..
edit_none=None
edit_view=View logfile
edit_tag=Only for program

view_title=View Logfile
view_header=Last $1 lines of $2
view_empty=Log file is empty
view_refresh=Refresh

save_err=Failed to save log
save_efile='$1' is not a valid filename : $2
save_epipe='$1' is not a valid named pipe
save_epipe2=Missing command to pipe to
save_ehost=Syslog host '$1' does not exist
save_enousers=No local users entered
save_euser=User '$1' does not exist
save_efacils=No facilities entered
save_esel=No message types to log
save_epri=No priority selected

log_modify=Modified log to $1
log_create=Added log to $1
log_delete=Deleted log to $1
log_apply=Applied changes

desc_sysmesg=System Messages
desc_mail=Mail Log
desc_auth=Authentication Log
desc_boot=Boot Messages
desc_news=NNTP News Log
desc_uucp=UUCP Log
desc_debug=Debugging Messages
desc_cron=Cron Job Log
   07070100069237000081a40000000000000002000000013d1fe2db00000a57000000200000000000000000000000000000001500000003reloc/syslog/lang/hu  # webmin-0.81/syslog/lang/hu
# Translated by <kissg@sztaki.hu>

index_title=Rendszernapló
index_m4msg=A $1 file szemmel láthatóan <tt>m4</tt> direktívákat tartalmaz. Ahhoz, hogy modósítani lehessen a file-t, elõbb át kellene engedni az <tt>m4</tt>-en, korrektül eltávolítva ezáltal a szóban forgó direktívákat.
index_m4=m4 direktívák törlése a konfigurációs file-ból
index_active=Aktív?
index_tag=Küldõ program
index_to=A naplóadatok rendeltetési helye
index_rule=A naplózandó események
index_file=A $1 file
index_pipe=A $1 csõvezeték
index_pipe2=A $1 program bemenete
index_host=A $1 számítógép
index_all=Minden felhasználó
index_users=$1 felhasználó(k)
index_add=Új napló létrehozása
index_return=a rendszernaplókhoz
index_restart=A változások életbe léptetése
index_restartmsg=Ha megnyomod ezt a gombot, életbe lép a fenti konfiguráció, az éppen futó <tt>syslogd</tt> processz újraindítása révén.
index_start=A <tt>syslogd</tt> indítása
index_startmsg=Nyomd meg ezt a gombot, hogy elinduljon a $1 syslog szerver! Amíg a démon nem fut, addig nem történik semmilyen naplózás.
all=Bármelyik

restart_ekill=Nem sikerült jelzést küldeni a $1 processznek: $2

edit_title=Rendszernapló módosítása
create_title=Új rendszernapló
edit_header1=A naplóadatok rendeltetési helye
edit_logto=Naplózás helye
edit_file=Fil&#101
edit_sync=Diszkre mentés minden új üzenet után
edit_pipe=Nevesített csõvezeték
edit_pipe2=Program bemenete
edit_host=Másik számítógép
edit_users=A megadott felhasználók terminálja
edit_allusers=Minden aktív felhasználó terminálja
edit_active=Naplózás bekapcsolva?
edit_header2=A naplózandó üzenetek
edit_facil=Kategória
edit_pri=Prioritás
edit_all=Mind
edit_one=Csak egy
edit_many=A következõk
edit_pdir0=Legalább...
edit_pdir1=Pontosan...
edit_pdir2=Kisebb, mint...
edit_pdir3=Minden, kivéve...
edit_none=Egyik sem
edit_view=A logfile megtekintése
edit_tag=Mely programtól származó naplóadatok kerülnek ide?

view_title=Egy logfile megtekintése
view_header=A $2 file utolsó $1 sora
view_empty=A logfile üres
view_refresh=Frissítés

save_err=Nem sikerült elmenteni
save_efile=A '$1' file nem nyitható meg: $2
save_epipe=A '$1' csõvezeték nem írható
save_epipe2=Nincs megadva a parancs
save_ehost=A '$1' nevû gép nem létezik
save_enousers=A felhasználók listája üres
save_euser=Nincs '$1' azonosítójú felhasználó
save_efacils=A kategória nem volt megadva
save_esel=Nincsenek megadva a naplózandó üzenetfajták
save_epri=Nincs megadva a prioritás

log_modify=$1 felé irányuló naplózás módosítása
log_create=$1 felé irányuló naplózás elindítása
log_delete=$1 felé irányuló naplózás megszüntetése
log_apply=A változások életbe léptetése

 07070100069238000081a40000000000000002000000013d1fe2db000009ed000000200000000000000000000000000000001c00000003reloc/syslog/lang/ja_JP.euc   index_title=¥·¥¹¥Æ¥à ¥í¥°
index_m4msg=¥·¥¹¥Æ¥à ¥í¥°ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤Ï<tt>m4</tt> ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£¤½¤ì¤òÊÔ½¸²ÄÇ½¤Ë¤¹¤ë¤Ë¤Ï¡¢¤½¤ì¤é¤Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò°ÂÁ´¤Ë½üµî¤¹¤ë¤¿¤á¤Ë Webmin ¤¬¤½¤Î¥Õ¥¡¥¤¥ë¤ò<tt>m4</tt> ¤ËÅÏ¤¹É¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
index_m4=m4 ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÀßÄê¥Õ¥¡¥¤¥ë¤«¤é½üµî
index_active=¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¤«¡©
index_tag=¥×¥í¥°¥é¥à
index_to=¥í¥°¤Îµ­Ï¿Àè
index_rule=ÁªÂò¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸
index_file=¥Õ¥¡¥¤¥ë $1
index_pipe=¥Ñ¥¤¥× $1 ¤ÎÌ¾Á°
index_pipe2=¥³¥Þ¥ó¥É $1 ¤Î¥Ñ¥¤¥×
index_host=$1 ¤Î Syslog ¥µ¡¼¥Ð
index_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
index_users=¥æ¡¼¥¶ $1
index_add=¿·µ¬¤Î¥·¥¹¥Æ¥à ¥í¥°¤òÄÉ²Ã
index_return=¥·¥¹¥Æ¥à ¥í¥°
index_restart=ÊÑ¹¹¤òÅ¬ÍÑ
index_restartmsg=¼Â¹ÔÃæ¤Î<tt>syslog</tt> ¥×¥í¥»¥¹¤ò kill ¤·¤Æ¸½ºß¤ÎÀßÄê¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_start=Syslog ¥µ¡¼¥Ð¤òµ¯Æ°
index_startmsg=syslog ¥µ¡¼¥Ð $1 ¤òµ¯Æ°¤¹¤ë¤Ë¤Ï¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤Î¥µ¡¼¥Ð¤¬µ¯Æ°¤¹¤ë¤Þ¤Ç¥í¥°¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
all=¤¹¤Ù¤Æ
index_view=É½¼¨..

restart_ekill=syslog ¥×¥í¥»¥¹ $1 ¤Ë¿®¹æ¤òÁ÷¤ì¤Þ¤»¤ó¤Ç¤·¤¿: $2

edit_title=¥·¥¹¥Æ¥à ¥í¥°¤ÎÊÔ½¸
create_title=¥·¥¹¥Æ¥à ¥í¥°¤ÎÄÉ²Ã
edit_header1=¥í¥°¤Îµ­Ï¿Àè
edit_logto=¥í¥°Àè
edit_file=¥Õ¥¡¥¤¥ë
edit_sync=³Æ¥á¥Ã¥»¡¼¥¸¤Î¸å¤ÇÆ±´ü¤·¤Þ¤¹¤«¡©
edit_pipe=Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×
edit_pipe2=¥³¥Þ¥ó¥É¤Î¥Ñ¥¤¥×
edit_host=Syslog ¥µ¡¼¥Ð¤Î¥Û¥¹¥È
edit_users=¥í¡¼¥«¥ë ¥æ¡¼¥¶
edit_allusers=¤¹¤Ù¤Æ¤Î¥í¥°¥¤¥ó ¥æ¡¼¥¶
edit_active=¥í¥°¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤Þ¤¹¤«¡©
edit_header2=¥í¥°¤Ëµ­Ï¿¤¹¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà
edit_facil=µ¡Ç½
edit_pri=Í¥ÀèÅÙ
edit_all=¤¹¤Ù¤Æ
edit_one=1¤Ä
edit_many=Ê£¿ô
edit_pdir0=°Ê¾å..
edit_pdir1=Àµ³Î¤Ë..
edit_pdir2=¾¯¤Ê¤¤..
edit_pdir3=¼¡°Ê³°¤¹¤Ù¤Æ..
edit_none=¤Ê¤·
edit_view=¥í¥°¥Õ¥¡¥¤¥ë¤ÎÉ½¼¨
edit_tag=¥×¥í¥°¥é¥à¤Î¤ß

view_title=¥í¥°¥Õ¥¡¥¤¥ë¤ÎÉ½¼¨
view_header=$2¤ÎºÇ½ª $1 ¹Ô
view_empty=¥í¥° ¥Õ¥¡¥¤¥ë¤Ï¶õ¤Ç¤¹
view_refresh=¹¹¿·

save_err=¥í¥°¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
save_efile='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥¡¥¤¥ëÌ¾¤Ç¤¹: $2
save_epipe='$1' ¤ÏÌµ¸ú¤ÊÌ¾Á°ÉÕ¤­¥Ñ¥¤¥×¤Ç¤¹
save_epipe2=¥Ñ¥¤¥×¤Ø¤Î¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
save_ehost=Syslog ¥Û¥¹¥È '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_enousers=¥í¡¼¥«¥ë ¥æ¡¼¥¶¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_euser=¥æ¡¼¥¶ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
save_efacils=µ¡Ç½¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
save_esel=¥í¥°¤Î¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤¬¤¢¤ê¤Þ¤»¤ó
save_epri=Í¥ÀèÅÙ¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

log_modify=$1 ¤Ø¤Î¥í¥°¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_create=$1 ¤Ë¥í¥°¤òÄÉ²Ã¤·¤Þ¤·¤¿
log_delete=$1 ¤Ø¤Î¥í¥°¤òºï½ü¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿

desc_sysmesg=¥·¥¹¥Æ¥à ¥á¥Ã¥»¡¼¥¸
desc_mail=¥á¡¼¥ë ¥í¥°
desc_auth=Ç§¾Ú¥í¥°
desc_boot=µ¯Æ° ¥á¥Ã¥»¡¼¥¸
desc_news=NNTP ¥Ë¥å¡¼¥¹¤Î¥í¥°
desc_uucp=UUCP ¥í¥°
desc_debug=¥á¥Ã¥»¡¼¥¸¤Î¥Ç¥Ð¥Ã¥°
desc_cron=Cron ¥¸¥ç¥Ö¤Î¥í¥°
   07070100069239000081a40000000000000002000000013d1fe2db00000947000000200000000000000000000000000000001c00000003reloc/syslog/lang/ko_KR.euc   index_title=½Ã½ºÅÛ ·Î±×
index_m4msg=½Ã½ºÅÛ ·Î±× ±¸¼º ÆÄÀÏ $1¿¡ <tt>m4</tt> Áö½Ã¾î°¡ µé¾î ÀÖ½À´Ï´Ù. WebminÀÌ <tt>m4</tt>¸¦ ÅëÇØ ÆÄÀÏÀ» Àü´ÞÇÏ¿© ÀÌ Áö½Ã¾î¸¦ ¾ÈÀüÇÏ°Ô Á¦°ÅÇØ¾ß¸¸ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù.
index_m4=±¸¼º ÆÄÀÏ¿¡¼­ m4 Áö½Ã¾î Á¦°Å
index_active=È°¼º »óÅÂÀÔ´Ï±î?
index_tag=ÇÁ·Î±×·¥
index_to=·Î±× ¸ñÀûÁö
index_rule=¼±ÅÃÇÑ ¸Þ½ÃÁö
index_file=ÆÄÀÏ $1
index_pipe=¸í¸íµÈ ÆÄÀÌÇÁ $1
index_pipe2=¸í·É $1¿¡ ´ëÇÑ ÆÄÀÌÇÁ
index_host=$1ÀÇ Syslog ¼­¹ö
index_all=¸ðµç »ç¿ëÀÚ
index_users=»ç¿ëÀÚ $1
index_add=»õ ½Ã½ºÅÛ ·Î±× Ãß°¡
index_return=½Ã½ºÅÛ ·Î±×
index_restart=º¯°æ ³»¿ë Àû¿ë
index_restartmsg=½ÇÇà ÁßÀÎ <tt>syslog</tt> ÇÁ·Î¼¼½º¸¦ Áß´ÜÇß´Ù°¡ ´Ù½Ã ½ÃÀÛÇÏ¿© ÇöÀç ±¸¼ºÀ» È°¼ºÈ­ÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À.
index_start=Syslog ¼­¹ö ½ÃÀÛ
index_startmsg=syslog ¼­¹ö $1À»(¸¦) ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ÀÌ ¼­¹ö¸¦ ½ÃÀÛÇÒ ¶§±îÁö´Â ·Î±×°¡ ¼öÇàµÇÁö ¾Ê½À´Ï´Ù.
all=¸ðµÎ
index_view=º¸±â..

restart_ekill=syslog ÇÁ·Î¼¼½º $1¿¡ ½ÅÈ£¸¦ º¸³»Áö ¸øÇß½À´Ï´Ù: $2

edit_title=½Ã½ºÅÛ ·Î±× ÆíÁý
create_title=½Ã½ºÅÛ ·Î±× Ãß°¡
edit_header1=·Î±× ¸ñÀûÁö
edit_logto=·Î±× À§Ä¡
edit_file=ÆÄÀÏ
edit_sync=°¢ ¸Þ½ÃÁö ÈÄ µ¿±âÈ­ÇÕ´Ï±î?
edit_pipe=¸í¸íµÈ ÆÄÀÌÇÁ
edit_pipe2=¸í·É¿¡ ÆÄÀÌÇÁ
edit_host=Syslog ¼­¹ö À§Ä¡
edit_users=·ÎÄÃ »ç¿ëÀÚ
edit_allusers=·Î±×ÀÎÇÑ ¸ðµç »ç¿ëÀÚ
edit_active=·Î±×°¡ È°¼º »óÅÂÀÔ´Ï±î?
edit_header2=·Î±×ÇÒ ¸Þ½ÃÁö À¯Çü
edit_facil=±â´É
edit_pri=¿ì¼± ¼øÀ§
edit_all=¸ðµÎ
edit_one=ÇÏ³ª
edit_many=¸¹À½
edit_pdir0=ÀÌ»ó..
edit_pdir1=Á¤È®È÷..
edit_pdir2=¹Ì¸¸..
edit_pdir3=´ÙÀ½À» Á¦¿ÜÇÑ ¸ðµÎ..
edit_none=¾øÀ½
edit_view=·Î±× ÆÄÀÏ º¸±â
edit_tag=ÇÁ·Î±×·¥ Àü¿ë

view_title=·Î±× ÆÄÀÏ º¸±â
view_header=$2ÀÇ ¸¶Áö¸· $1Çà
view_empty=·Î±× ÆÄÀÏÀÌ ºñ¾î ÀÖ½À´Ï´Ù
view_refresh=»õ·Î °íÄ§

save_err=·Î±×¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
save_efile='$1'Àº(´Â) À¯È¿ÇÑ ÆÄÀÏ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù: $2
save_epipe='$1'Àº(´Â) À¯È¿ÇÑ ¸í¸íµÈ ÆÄÀÌÇÁ°¡ ¾Æ´Õ´Ï´Ù
save_epipe2=ÆÄÀÌÇÁÇÒ ¸í·ÉÀÌ ¾ø½À´Ï´Ù
save_ehost=Syslog È£½ºÆ® '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_enousers=ÀÔ·ÂµÈ ·ÎÄÃ »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù
save_euser=»ç¿ëÀÚ '$1'ÀÌ(°¡) Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
save_efacils=ÀÔ·ÂµÈ ±â´ÉÀÌ ¾ø½À´Ï´Ù
save_esel=·Î±×ÇÒ ¸Þ½ÃÁö À¯ÇüÀÌ ¾ø½À´Ï´Ù
save_epri=¼±ÅÃµÈ ¿ì¼± ¼øÀ§°¡ ¾ø½À´Ï´Ù

log_modify=$1¿¡ ·Î±× ¼öÁ¤µÊ
log_create=$1¿¡ ·Î±× Ãß°¡µÊ
log_delete=$1ÀÇ ·Î±× »èÁ¦µÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ

desc_sysmesg=½Ã½ºÅÛ ¸Þ½ÃÁö
desc_mail=¸ÞÀÏ ·Î±×
desc_auth=ÀÎÁõ ·Î±×
desc_boot=ºÎÆ® ¸Þ½ÃÁö
desc_news=NNTP ´º½º ·Î±×
desc_uucp=UUCP ·Î±×
desc_debug=µð¹ö±ë ¸Þ½ÃÁö
desc_cron=cron ÀÛ¾÷ ·Î±×
 07070100069244000081a40000000000000002000000013d1fe2db00000a87000000200000000000000000000000000000001500000003reloc/syslog/lang/pl  index_title=Logi Systemowe
index_m4msg=Twój plik konfiguracyjny systemu logowania $1 wygl±da jakby zawiera³ dyrektywy <tt>m4</tt>. Webmin, zanim bêdzie móg³ go modyfikowaæ, wymaga, aby przetworzyæ ten plik przez <tt>m4</tt> w&nbsp;celu bezpiecznego usuniêcia tych dyrektyw.
index_m4=Usuñ dyrektywy m4 z pliku konfiguracyjnego
index_active=Aktywny?
index_tag=Program
index_to=Miejsce logowania
index_rule=Wybrane komunikaty
index_file=Plik $1
index_pipe=Nazwanego FIFO $1
index_pipe2=Przekierowanie do programu $1
index_host=Serwer syslog na $1
index_all=Wszystkich u¿ytkowników
index_users=U¿ytkownicy $1
index_add=Dodaj nowy log systemowy
index_return=logów systemowych
index_restart=Zastosuj Zmiany
index_restartmsg=Naci¶nij ten przycisk, aby zastosowac aktualn± konfiguracjê poprzez zabicie dzia³aj±cego procesu <tt>sysloga</tt> i&nbsp;zrestartowanie go.
index_start=Uruchom Serwer Syslog
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer syslog $1. Do czasu jego startu logowanie nie bêdzie mo¿liwe.
all=Wszystkie
index_view=Obejrzyj..

restart_ekill=Nie uda³o siê zawiadomic procesu sysloga $1 : $2

edit_title=Zmieñ Log Systemowy
create_title=Dodaj Log Systemowy
edit_header1=Miejsce logowania
edit_logto=Logowanie do
edit_file=Pliku
edit_sync=Zrzucaæ bufory?
edit_pipe=Nazwane FIFO
edit_pipe2=Przekierowanie do programu
edit_host=Serwera syslog na
edit_users=Lokalnych u¿ytkowników
edit_allusers=Wszystkich zalogowanych u¿ytkowników
edit_active=Logowanie aktywne?
edit_header2=Rodzaje logowanych wiadomo¶ci
edit_facil=Kana³y
edit_pri=Priorytety
edit_all=Wszystkie
edit_one=Jeden
edit_many=Wiele
edit_pdir0=Ten lub wy¿szy..
edit_pdir1=Dok³adnie..
edit_pdir2=Poni¿ej..
edit_pdir3=Wszystkie oprócz..
edit_none=¯aden
edit_view=Obejrzyj plik logu
edit_tag=Tylko dla programu

view_title=Obejrzyj Plik Logu
view_header=Ostatnie $1 linii $2
view_empty=Plik logu jest pusty
view_refresh=Od¶wie¿

save_err=Nie ud³o sie zapisaæ logu
save_efile='$1' nie jest poprawn± nazw± pliku$nbsp;: $2
save_epipe='$1' nie jest poprawn± nazw± FIFO
save_epipe2=Brak polecenia, do którego przekierowywaæ
save_ehost=Komputer z syslogiem '$1' nie istnieje
save_enousers=Nie podano lokalnych u¿ytkowników
save_euser=U¿ytkownik '$1' nie istnieje
save_efacils=Nie podano kana³ów logowania
save_esel=Nie podano rodzajów wiadomo¶ci
save_epri=Nie wybrano priorytetu

log_modify=Zmieniono logowanie do $1
log_create=Dodano logowanie do $1
log_delete=Usuniêto logowanie do $1
log_apply=Zastosowano zmiany

desc_sysmesg=Komunikaty systemu
desc_mail=Log poczty
desc_auth=Log autoryzacji
desc_boot=Komunikaty startowe
desc_news=Log NNTP
desc_uucp=Log UUCP
desc_debug=Komunikaty uruchamiania
desc_cron=Log zadañ crona

 07070100069245000081a40000000000000002000000013d1fe2db0000093a000000200000000000000000000000000000001800000003reloc/syslog/lang/ru_RU   save_err=Îøèáêà ïðè ñîõðàíåíèè æóðíàëà
edit_pri=Ïðèîðèòåòû
index_pipe=Èìåíîâàííûé êàíàë $1
edit_header1=Ôàéë æóðíàëà
edit_header2=Òèïû ñîîáùåíèé äëÿ æóðíàëèðîâàíèÿ
edit_pipe=Èìåíîâàííûé êàíàë
edit_users=Ëîêàëüíûå ïîëüçîâàòåëè
save_epipe='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíîâàííûì êàíàëîì
edit_allusers=Âñå ðàáîòàþùèå â ñèñòåìå ïîëüçîâàòåëè
edit_none=Íåò
save_efacils=Íå ââåäåíû ñðåäñòâà
index_users=Ïîëçîâàòåëè Users $1
create_title=Äîáàâëåíèå Ñèñòåìíîãî Æóðíàëà
index_active=Àêòèâåí?
index_add=Äîáàâèòü íîâûé ñèñòåìíûé æóðíàë
index_tag=Ïðîãðàììà
index_file=Ôàéë $1
view_refresh=Îáíîâèòü
index_all=Âñå ïîëüçîâàòåëè
index_m4msg=Âàø ôàéë êîíôãóðàöèè ñèñòåìíûõ æóðíàëîâ $1 ïîõîæå ñîäåæèò äèðåêòèâû ïðåïðîöåññîðà <tt>m4</tt>. Ïåðåä åãî ðåäàêòèðîâàíèåì, Webmin äîëæåí îáðàáîòàòü ôàéë ñ ïîìîùüþ <tt>m4</tt>, ÷òîáû êîððåêòíî óäàëèòü ýòè äèðåêòèâû.
index_m4=Óäàëåíèå äèðåêòèâ m4 èç êîíôèãóðàöèîííîãî ôàéëà
edit_file=Ôàéë
save_efile='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ôàéëà : $2
index_restartmsg=Íàæìèòå íà ýòó êíîïêó äëÿ àêòèâèçàöèè òåêóùåé êîíôèãóðàöèè ïóòåì ðåñòàðòà ïðîöåññà <tt>syslog</tt>.
save_epipe2=Îòñóòñòâóåò êîìàíäà äëÿ ïåðåíàïðàâëåíèÿ èíôîðìàöèè â íåå
save_esel=Îòñóòñòâóþò òèïû ñîîáùåíèé äëÿ æóðíàëèðîâàíèÿ
index_to=Ôàéë æóðíàëà
view_title=Ïðîñìîòð Æóðíàëà
index_host=Syslog ñåðâåð íà $1
edit_active=Æóðíàëèçàöèÿ àêòèâèçèðîâàíà?
edit_pipe2=Ïåðåíàïðàâëåíèå â êîìàíäó
edit_host=Syslog ñåðâåð íà
save_ehost=Syslog õîñò '$1' íå ñóùåñòâóåò
save_euser=Ïîëüçîâàòåëü '$1' íå ñóùåñòâóåò
save_enousers=Íå ââåäåíû ëîêàëüíûå ïîëüçîâàòåëè
view_empty=Æóðíàë ïóñò
index_pipe2=Ïåðåíàïðàâëåíèå â êîìàíäó $1
edit_facil=Ñðåäñòâà
index_return=ñèñòåìíûå æóðíàëû
edit_many=Ìíîãî
edit_view=Ïðîñìîòð Æóðíàëà
edit_sync=Ñáðàñûâàòü áóôåð ïîñëå êàæäîãî ñîîáùåíèÿ
save_epri=Íå âûáðàí ïðèîðèòåò
all=Âñå
edit_sel=Âûáðàííûå..
edit_one=Îäèí
index_rule=Âûáðàííûå ñîîáùåíèÿ
edit_title=Ðåäàêòèðîâàíèå Ñèñòåìíîãî Æóðíàëà
edit_logto=Æóðíàëèðîâàòü â
view_header=Ïîñëåäíèå $1 ëèíèé èç $2
index_restart=Ïðèíÿòü Èçìåíåíèÿ
index_start=Ñòàðòîâàòü Syslog Ñåðâåð
index_title=Ñèñòåìíûå Æóðíàëû
index_startmsg=Íàæìèòå íà ýòó êíîïêó äëÿ ñòàðòà syslog ñåðâåðà $1. Ïîêà îí íå ñòàðòîâàí, æóðíàëèðîâàíèå íåâîçìîæíî.
edit_pdir0=Òî÷íî èëè áîëåå..
edit_pdir1=Òî÷íî..
edit_pdir2=Ìåíåå..
edit_pdir3=Âñå êðîìå..
edit_tag=Òîëêî äëÿ ïðãðàììû
restart_ekill=Îøèáêà ïðè ïåðåäà÷å ñèãíàëà ïðîöåññó syslog $1 : $2
edit_all=Âñå
  07070100069246000081a40000000000000002000000013d1fe2db0000093f000000200000000000000000000000000000001800000003reloc/syslog/lang/ru_SU   index_title=óÉÓÔÅÍÎÙÅ öÕÒÎÁÌÙ
index_m4msg=÷ÁÛ ÆÁÊÌ ËÏÎÆÇÕÒÁÃÉÉ ÓÉÓÔÅÍÎÙÈ ÖÕÒÎÁÌÏ× $1 ÐÏÈÏÖÅ ÓÏÄÅÖÉÔ ÄÉÒÅËÔÉ×Ù ÐÒÅÐÒÏÃÅÓÓÏÒÁ <tt>m4</tt>. ðÅÒÅÄ ÅÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÅÍ, Webmin ÄÏÌÖÅÎ ÏÂÒÁÂÏÔÁÔØ ÆÁÊÌ Ó ÐÏÍÏÝØÀ <tt>m4</tt>, ÞÔÏÂÙ ËÏÒÒÅËÔÎÏ ÕÄÁÌÉÔØ ÜÔÉ ÄÉÒÅËÔÉ×Ù.
index_m4=õÄÁÌÅÎÉÅ ÄÉÒÅËÔÉ× m4 ÉÚ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ
index_active=áËÔÉ×ÅÎ?
index_tag=ðÒÏÇÒÁÍÍÁ
index_to=æÁÊÌ ÖÕÒÎÁÌÁ
index_rule=÷ÙÂÒÁÎÎÙÅ ÓÏÏÂÝÅÎÉÑ
index_file=æÁÊÌ $1
index_pipe=éÍÅÎÏ×ÁÎÎÙÊ ËÁÎÁÌ $1
index_pipe2=ðÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ × ËÏÍÁÎÄÕ $1
index_host=Syslog ÓÅÒ×ÅÒ ÎÁ $1
index_all=÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
index_users=ðÏÌÚÏ×ÁÔÅÌÉ Users $1
index_add=äÏÂÁ×ÉÔØ ÎÏ×ÙÊ ÓÉÓÔÅÍÎÙÊ ÖÕÒÎÁÌ
index_return=ÓÉÓÔÅÍÎÙÅ ÖÕÒÎÁÌÙ
index_restart=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_restartmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÁËÔÉ×ÉÚÁÃÉÉ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÐÕÔÅÍ ÒÅÓÔÁÒÔÁ ÐÒÏÃÅÓÓÁ <tt>syslog</tt>.
index_start=óÔÁÒÔÏ×ÁÔØ Syslog óÅÒ×ÅÒ
index_startmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÓÔÁÒÔÁ syslog ÓÅÒ×ÅÒÁ $1. ðÏËÁ ÏÎ ÎÅ ÓÔÁÒÔÏ×ÁÎ, ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ ÎÅ×ÏÚÍÏÖÎÏ.
all=÷ÓÅ

restart_ekill=ïÛÉÂËÁ ÐÒÉ ÐÅÒÅÄÁÞÅ ÓÉÇÎÁÌÁ ÐÒÏÃÅÓÓÕ syslog $1 : $2

edit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ óÉÓÔÅÍÎÏÇÏ öÕÒÎÁÌÁ
create_title=äÏÂÁ×ÌÅÎÉÅ óÉÓÔÅÍÎÏÇÏ öÕÒÎÁÌÁ
edit_header1=æÁÊÌ ÖÕÒÎÁÌÁ
edit_logto=öÕÒÎÁÌÉÒÏ×ÁÔØ ×
edit_file=æÁÊÌ
edit_sync=óÂÒÁÓÙ×ÁÔØ ÂÕÆÅÒ ÐÏÓÌÅ ËÁÖÄÏÇÏ ÓÏÏÂÝÅÎÉÑ
edit_pipe=éÍÅÎÏ×ÁÎÎÙÊ ËÁÎÁÌ
edit_pipe2=ðÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ × ËÏÍÁÎÄÕ
edit_host=Syslog ÓÅÒ×ÅÒ ÎÁ
edit_users=ìÏËÁÌØÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
edit_allusers=÷ÓÅ ÒÁÂÏÔÁÀÝÉÅ × ÓÉÓÔÅÍÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
edit_active=öÕÒÎÁÌÉÚÁÃÉÑ ÁËÔÉ×ÉÚÉÒÏ×ÁÎÁ?
edit_header2=ôÉÐÙ ÓÏÏÂÝÅÎÉÊ ÄÌÑ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
edit_facil=óÒÅÄÓÔ×Á
edit_pri=ðÒÉÏÒÉÔÅÔÙ
edit_all=÷ÓÅ
edit_one=ïÄÉÎ
edit_many=íÎÏÇÏ
edit_pdir0=ôÏÞÎÏ ÉÌÉ ÂÏÌÅÅ..
edit_pdir1=ôÏÞÎÏ..
edit_pdir2=íÅÎÅÅ..
edit_pdir3=÷ÓÅ ËÒÏÍÅ..
edit_none=îÅÔ
edit_sel=÷ÙÂÒÁÎÎÙÅ..
edit_view=ðÒÏÓÍÏÔÒ öÕÒÎÁÌÁ
edit_tag=ôÏÌËÏ ÄÌÑ ÐÒÇÒÁÍÍÙ

view_title=ðÒÏÓÍÏÔÒ öÕÒÎÁÌÁ
view_header=ðÏÓÌÅÄÎÉÅ $1 ÌÉÎÉÊ ÉÚ $2
view_empty=öÕÒÎÁÌ ÐÕÓÔ
view_refresh=ïÂÎÏ×ÉÔØ

save_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÖÕÒÎÁÌÁ
save_efile='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÆÁÊÌÁ : $2
save_epipe='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÏ×ÁÎÎÙÍ ËÁÎÁÌÏÍ
save_epipe2=ïÔÓÕÔÓÔ×ÕÅÔ ËÏÍÁÎÄÁ ÄÌÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ × ÎÅÅ
save_ehost=Syslog ÈÏÓÔ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_enousers=îÅ ××ÅÄÅÎÙ ÌÏËÁÌØÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
save_euser=ðÏÌØÚÏ×ÁÔÅÌØ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
save_efacils=îÅ ××ÅÄÅÎÙ ÓÒÅÄÓÔ×Á
save_esel=ïÔÓÕÔÓÔ×ÕÀÔ ÔÉÐÙ ÓÏÏÂÝÅÎÉÊ ÄÌÑ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ
save_epri=îÅ ×ÙÂÒÁÎ ÐÒÉÏÒÉÔÅÔ

 07070100069294000081a40000000000000002000000013d1fe2db00000a41000000200000000000000000000000000000001500000003reloc/syslog/lang/sv  index_title=Systemloggar
index_m4msg=Inställningsfilen $1 för systemloggning verkar innehålla <tt>m4</tt>-direktiv. Innan du kan ändra filen måste Webmin köra den genom <tt>m4</tt> för att dessa direktiv ska tas bort på ett säkert sätt.
index_m4=Ta bort m4-direktiv från inställningsfil
index_active=Aktiv?
index_tag=Program
index_to=Loggdestination
index_rule=Valda meddelanden
index_file=Fil $1
index_pipe=Namngiven pipa $1
index_pipe2=Pipa till kommando $1
index_host=Syslogserver på $1
index_all=Alla användare
index_users=Användare $1
index_add=Lägg till en systemlogg
index_return=systemloggar
index_restart=Genomför ändringar
index_restartmsg=Om du trycker på denna knapp aktiveras dessa inställningar genom att den nu körande <tt>syslog</tt>-processen slås ihjäl och en ny startas.
index_start=Starta syslogserver
index_startmsg=Tryck på denna knapp för att starta syslogserver $1. Innan den är startad loggas ingenting.
all=Alla
index_view=Visa ...

restart_ekill=Det gick inte att skicka signal till syslogprocess $1: $2

edit_title=Ändra systemlogg
create_title=Lägg till systemlogg
edit_header1=Loggdestination
edit_logto=Logga till
edit_file=Fil
edit_sync=Synka efter varje meddelande?
edit_pipe=Namngiven pipa
edit_pipe2=Pipa till kommando
edit_host=Syslogserver på
edit_users=Lokala användare
edit_allusers=Alla inloggade användare
edit_active=Loggning aktiv?
edit_header2=Meddelandetyper att logga
edit_facil=Resurser
edit_pri=Prioriteter
edit_all=Alla
edit_one=En
edit_many=Många
edit_pdir0=Denna eller över ...
edit_pdir1=Exakt ...
edit_pdir2=Under ...
edit_pdir3=Alla utom ...
edit_none=Ingen
edit_view=Visa loggfil
edit_tag=Endast för program

view_title=Visa loggfil
view_header=Senaste $1 raderna i $2
view_empty=Loggfilen är tom
view_refresh=Uppdatera

save_err=Det gick inte att spara loggen
save_efile='$1' är inte en giltig fil: $2
save_epipe='$1' är inte en giltig namngiven pipa
save_epipe2=Du har inte angivit något kommando att pipa till
save_ehost=Syslogdator '$1' finns inte
save_enousers=Du har inte angivit någon lokal användare
save_euser=Användare '$1' finns inte
save_efacils=Du har inte angivit någon resurs
save_esel=Du har inte angivit någon meddelandetyp som ska loggas
save_epri=Du har inte angivit någon prioritet

log_modify=Modifierade loggning till $1
log_create=Lade till loggning till $1
log_delete=Tog bort loggning till $1
log_apply=Tog ändringar i drift

desc_sysmesg=Systemmeddelanden
desc_mail=E-postlogg
desc_auth=Autentiseringslogg
desc_boot=Startmeddelanden
desc_news=Logg för NNTP News
desc_uucp=UUCP-logg
desc_debug=Debuggningsmeddelanden
desc_cron=Logg för cronjobb
   07070100069295000081a40000000000000002000000013d1fe2db00000938000000200000000000000000000000000000001500000003reloc/syslog/lang/tr  index_title=System Kayýtlarý
index_m4msg=Sisteminizin kayýt dosyasý $1 <tt>m4</tt> komutlarýný içeriyor.Deðiþtirmeden önce Webmin bu <tt>m4</tt> komutlarýný silmenize ihtiyaç duymaktadýr.
index_m4=Ayar dosyasýnda m4 komutlarýný sil
index_active=Aktif mi?
index_tag=Program
index_to=Kayýt dosyasý hedefi
index_rule=Seçilen mesajlar
index_file=$1 dosyasý
index_pipe=Ýsimlendirilmiþ boru $1
index_pipe2=$1 komutu borusu
index_host=$1'deki sistem kayýt sunucusu
index_all=Bütün kullanýcýlar
index_users=$1 Kullanýcýlarý
index_add=Yeni sistem kayýdý ekle
index_return=sistem kayýtlarý
index_restart=Deðiþiklikleri Uygula
index_restartmsg=Bu butonu týklayarak mevcut yapýlandýrmayý aktif hale getirmek için çalýþan <tt>syslog</tt> iþlemini durdurup tekrar baþlatabilirsiniz
index_start=Sistem Kayýt Sunucusunu Baþlat
index_startmsg=Bu butonu týklayarak $1 sistem kayýt sunucusunu baþlatabilirsiniz.Baþlamadan kayýt iþlemi yapýlmayacaktýr
all=Hepsi

restart_ekill=$1 sistem kayýt iþleminde iþaret hatasý oluþtu : $2

edit_title=Sistem Kaydýný Deðiþtir
create_title=Sistem Kaydý Ekle
edit_header1=Kayýt hedefi
edit_logto=Kayýt tut
edit_file=Dosya
edit_sync=Her mesajdan sonra düzenlensin?
edit_pipe=Named pipe
edit_pipe2=Komut borusu
edit_host=Sistem kayýt sunucusu
edit_users=Yerel kullanýcýlar
edit_allusers=Bütün kayýtlarý tutulan kullanýcýlar
edit_active=Kayýt tutma aktif?
edit_header2=Kayýt mesaj tipleri
edit_facil=Ýmkanlar
edit_pri=Öncelikler
edit_all=Hepsi
edit_one=Biri
edit_many=Çoðu
edit_pdir0=Eþit veya daha yüksek..
edit_pdir1=Eþit..
edit_pdir2=Altýnda..
edit_pdir3=Hepsinin Altýnda..
edit_none=Hiçbiri
edit_sel=Seçili..
edit_view=Kayýt dosyasýný göster
edit_tag=Sadece program için

view_title=Kayýt dosyasýný göster
view_header=$2'nin son $1 satýrý
view_empty=Kayýt dosyasý boþ
view_refresh=Yenile

save_err=FKayýt dosyasýnýn kaydedilmesinde hata oluþtu
save_efile='$1' geçerli bir dosya ismi deðil : $2
save_epipe='$1' geçerli bir isimlendirilmiþ boru deðil
save_epipe2=Boru için kayýp komut
save_ehost=Sistem kayýt makinesi '$1' mevcut deðil
save_enousers=Yerel kullanýcýlar girmedi
save_euser='$1' kullanýcýsý mevcut deðil 
save_efacils=Ýmkanlar girilmedi
save_esel=Kayýt için mesaj tipi yok
save_epri=Öncelik seçilmedi

log_modify=$1 kaydý deðiþtirildi
log_create=$1 kaydý oluþturuldu
log_delete=$1 kaydý silindi
log_apply=Deðiþiklikler uygulandý

07070100069296000081a40000000000000002000000013d1fe2db0000079c000000200000000000000000000000000000001800000003reloc/syslog/lang/zh_CN   index_title=ÏµÍ³ÈÕÖ¾
index_m4msg=ÏµÍ³ÈÕÖ¾ÅäÖÃÎÄ¼þ $1 °üº¬ <tt>m4</tt> Ö¸Áî£¬WebminÐèÒª½«´ËÎÄ¼þÌø¹ý<tt>m4</tt>£¬ÒÔ°²È«µØÒÆ³ýÕâÐ©Ö¸Áî£¬È»ºó²ÅÄÜ¶ÔÆä½øÐÐ±à¼­¡£
index_m4=´ÓÅäÖÃÎÄ¼þÖÐÒÆ³ý m4 Ö¸Áî
index_active=»î¶¯?
index_tag=³ÌÐò
index_to=ÈÕÖ¾Ä¿±ê
index_rule=Ñ¡¶¨µÄÏûÏ¢
index_file=ÎÄ¼þ $1
index_pipe=ÃüÃû¹ÜµÀ $1
index_pipe2=¾­¹ÜµÀ´«µÝµ½ÃüÁî $1
index_host=ÏµÍ³ÈÕÖ¾·þÎñÆ÷Î»ÓÚ $1
index_all=ËùÓÐÓÃ»§
index_users=ÓÃ»§ $1
index_add=ÐÂÔöÏµÍ³ÈÕÖ¾
index_return=ÏµÍ³ÈÕÖ¾
index_restart=Ó¦ÓÃ¸ü¸Ä
index_restartmsg=µ¥»÷´Ë°´Å¥ÒÔÖÕÖ¹ÕýÔÚÔËÐÐµÄ<tt>ÏµÍ³ÈÕÖ¾</tt>½ø³Ì²¢ÖØÐÂÆô¶¯Ö®£¬´Ó¶øÆôÓÃµ±Ç°ÅäÖÃ¡£
index_start=Æô¶¯ÏµÍ³ÈÕÖ¾·þÎñÆ÷
index_startmsg=µ¥»÷´Ë°´Å¤Æô¶¯ÈÕÖ¾·þÎñÆ÷ $1£¬Æô¶¯Ö®Ç°²»»áÓÐÈÕÖ¾Ð´Èë¡£
all=ËùÓÐ
index_view=ÊÓÍ¼..
restart_ekill=¸øÈÕÖ¾½ø³Ì $1 : $2 ·¢ËÍÐÅºÅÊ§°Ü
edit_title=±à¼­ÏµÍ³ÈÕÖ¾
create_title=ÔöÌíÏµÍ³ÈÕÖ¾
edit_header1=ÈÕÖ¾Ä¿±ê
edit_logto=Ð´ÈëÈÕÖ¾µ½
edit_file=ÎÄ¼þ
edit_sync=ÊÇ·ñÔÚÃ¿ÌõÏûÏ¢Ö®ºóÍ¬²½?
edit_pipe=ÃüÃû¹ÜµÀ
edit_pipe2=¾­¹ÜµÀ´«µÝµ½ÃüÁî
edit_host=ÏµÍ³ÈÕÖ¾·þÎñÆ÷Î»ÓÚ
edit_users=±¾µØÓÃ»§
edit_allusers=ËùÓÐµÇÂ¼µÄÓÃ»§
edit_active=ÆôÓÃÈÕÖ¾?
edit_header2=¼ÇÈëÈÕÖ¾µÄÏûÏ¢ÀàÐÍ
edit_facil=Éè±¸
edit_pri=ÓÅÏÈ¼¶
edit_all=ËùÓÐ
edit_one=Ò»¸ö
edit_many=¶à¸ö
edit_pdir0=µÈÓÚ»ò¸ßÓÚ..
edit_pdir1=¾«È·..
edit_pdir2=µÍÓÚ..
edit_pdir3=ËùÓÐµÄ³ýÁË..
edit_none=Ã»ÓÐ
edit_view=²é¿´ÈÕÖ¾ÎÄ¼þ
edit_tag=½öÊÊÓÃÓÚ³ÌÐò
view_title=²é¿´ÈÕÖ¾ÎÄ¼þ
view_header=$2ÐÐÖÐµÄ×îºó $1 ÐÐ
view_empty=ÈÕÖ¾ÎÄ¼þ¿Õ
view_refresh=Ë¢ÐÂ
save_err=±£´æÈÕÖ¾Ê§°Ü
save_efile='$1' ²»ÊÇÓÐÐ§µÄÎÄ¼þÃû : $2
save_epipe='$1' ²»ÊÇÓÐÐ§µÄ¹ÜµÀÃû
save_epipe2=¾­¹ÜµÀ´«µÝµÄÃüÁî¶ªÊ§
save_ehost=ÏµÍ³ÈÕÖ¾Ö÷»ú'$1'²»´æÔÚ
save_enousers=Î´ÊäÈë±¾µØÓÃ»§
save_euser=ÓÃ»§ '$1' ²»´æÔÚ
save_efacils=Î´ÊäÈëÉè±¸
save_esel=Ã»ÓÐ¼ÇÈëÈÕÖ¾µÄÏûÏ¢ÀàÐÍ
save_epri=Î´Ñ¡ÔñÓÅÏÈ¼¶
log_modify=ÐÞ¸ÄÈÕÖ¾Îª $1
log_create=ÒÑÔöÌíÈÕÖ¾ÖÁ $1
log_delete=ÒÑÉ¾³ýÈÕÖ¾ÖÁ $1
log_apply=ÒÑÓ¦ÓÃ¸ü¸Ä
desc_sysmesg=ÏµÍ³ÏûÏ¢
desc_mail=ÓÊ¼þÈÕÖ¾
desc_auth=ÈÏÖ¤ÈÕÖ¾
desc_boot=Òýµ¼ÏûÏ¢
desc_news=NNTP ÐÂÎÅÈÕÖ¾
desc_uucp=UUCP ÈÕÖ¾
desc_debug=µ÷ÊÔÏûÏ¢
desc_cron=Cron ÈÎÎñÈÕÖ¾
07070100069297000081a40000000000000002000000013d1fe2db000006ba000000200000000000000000000000000000001d00000003reloc/syslog/lang/zh_TW.Big5  index_title=¨t²Î¬ö¿ý
index_m4msg=±zªº¨t²Î¬ö¿ý²ÕºAÀÉ $1 ¦ü¥G¥]§t¤F <tt>m4</tt> ©R¥O. ¦b¥¦¥i¥H³Q½s¿è«e, Webmin ¥²¶·±N³o­ÓÀÉ®×¥Î <tt>m4</tt> ³B²z, ¥H¦w¥þªº²¾°£³o¨Ç©R¥O.
index_m4=±q²ÕºAÀÉ¤¤²¾°£ m4 ©R¥O
index_active=¬O§_±Ò°Ê?
index_tag=µ{¦¡
index_to=¬ö¿ý¥Ø¼Ð
index_rule=¿ï¾Üªº°T®§
index_file=ÀÉ®× $1
index_pipe=©R¦WªººÞ½u $1
index_pipe2=ºÞ½u¨ì«ü¥O $1
index_host=¨t²Î¬ö¿ý¦øªA¾¹¦b $1
index_all=©Ò¦³¨Ï¥ÎªÌ
index_users=¨Ï¥ÎªÌ $1
index_add=¼W¥[¤@­Ó·sªº¨t²Î¬ö¿ý
index_return=¨t²Î¬ö¿ý
index_restart=®M¥ÎÅÜ§ó
index_restartmsg=«ö¤U³o­Ó«ö¶s¥H­«·s±Ò°Ê <tt>syslog</tt> µ{§Ç, ¨Ã½T©w©Ò¦³ªºÅÜ§ó¯à¥Í®Ä.
index_start=±Ò°Ê¨t²Î¬ö¿ý¦øªA¾¹
index_startmsg=«ö¤U³o­Ó«ö¶s¥H±Ò°Ê¨t²Î¬ö¿ý¦øªA¾¹ $1. ¦b¥¦³Q±Ò°Ê«e, ¤£·|°O¿ý¥ô¦ó¨Æ¥ó.
all=¥þ³¡

restart_ekill=µLªk°e¥X±±¨î°T¸¹µ¹¨t²Î¬ö¿ýµ{§Ç $1: $2

edit_title=½s¿è¨t²Î¬ö¿ý
create_title=¼W¥[¨t²Î¬ö¿ý
edit_header1=¬ö¿ý¥Ø¼Ð
edit_logto=¬ö¿ý¨ì
edit_file=ÀÉ®×
edit_sync=¬ö¿ý°T®§¤§«á¦P¨B
edit_pipe=©R¦WªººÞ½u
edit_pipe2=ºÞ½u¨ì«ü¥O
edit_host=¨t²Î¬ö¿ý¦øªA¾¹¦b
edit_users=¥»¦aºÝ¨Ï¥ÎªÌ
edit_allusers=©Ò¦³µn¤Jªº¨Ï¥ÎªÌ
edit_active=¬O§_±Ò°Ê¬ö¿ý?
edit_header2=­n¬ö¿ýªº°T®§Ãþ§O
edit_facil=³]³Æ
edit_pri=Àu¥ý­È
edit_all=¥þ³¡
edit_one=¤@­Ó
edit_many=¦h­Ó
edit_pdir0=¦b...©Î¤§¤W
edit_pdir1=«ê¦n¬O...
edit_pdir2=§C©ó...
edit_pdir3=¥þ³¡, °£¤F...
edit_none=µL
edit_sel=¿ï¾Üªº...
edit_view=ÀËµø¬ö¿ýÀÉ
edit_tag=¥uµ¹µ{¦¡

view_title=ÀËµø¬ö¿ýÀÉ
view_header=³Ì«á $1 ¦æ, ¦b $2
view_empty=¬ö¿ýÀÉ¬OªÅªº
view_refresh=­«·sÅª¨ú

save_err=µLªkÀx¦s¬ö¿ý
save_efile='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ¦W: $2
save_epipe='$1' ¤£¬O­Ó¦³®Äªº©R¦WªººÞ½u
save_epipe2=¿ò¥¢ºÞ½u¨ìªº«ü¥O
save_ehost=¨t²Î¬ö¿ý¥D¾÷ '$1' ¤£¦s¦b
save_enousers=¨S¦³¿é¤J¥»¦aºÝªº¨Ï¥ÎªÌ
save_euser=¨Ï¥ÎªÌ '$1' ¤£¦s¦b
save_efacils=¨S¦³¿é¤J³]³Æ
save_esel=¨S¦³­n¬ö¿ýªº°T®§Ãþ§O
save_epri=¨S¦³¿ï¾ÜÀu¥ý­È

  07070100064dae000081a40000000000000002000000013d1fe2db00000296000000200000000000000000000000000000001b00000003reloc/syslog/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'syslog-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
$object = &html_escape($object);
if ($action eq 'modify') {
	return &text('log_modify', "<tt>$object</tt>");
	}
elsif ($action eq 'create') {
	return &text('log_create', "<tt>$object</tt>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<tt>$object</tt>");
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
else {
	return undef;
	}
}

  07070100064daf000081a40000000000000002000000013d1fe2db00000014000000200000000000000000000000000000001600000003reloc/syslog/low.risk noconfig=1
noedit=1
07070100064db0000081a40000000000000002000000013d1fe2db00000008000000200000000000000000000000000000001700000003reloc/syslog/low.skill    icons=1
07070100064db1000081e40000000000000002000000013d1fe2db00000300000000200000000000000000000000000000001400000003reloc/syslog/m4.cgi   #!/usr/local/bin/perl
# m4.cgi
# Pass the syslog config file though m4

require './syslog-lib.pl';
use Socket;

# is this loghost? Find out by sending a UDP packet to it
socket(UDP, PF_INET, SOCK_DGRAM, getprotobyname("udp"));
setsockopt(UDP, SOL_SOCKET, SO_BROADCAST, pack("l", 1));
$port = 45678;
while(!bind(UDP, sockaddr_in($port, INADDR_ANY))) {
	$port++;
	}
send(UDP, "foo", 0, sockaddr_in($port, inet_aton("loghost")));
vec($rin, fileno(UDP), 1) = 1;
if (select($rin, undef, undef, 1)) {
	$args .= " -DLOGHOST";
	}
close(UDP);

# Run m4
$oldslash = $/;
$/ = undef;
open(CONF, "$config{'m4_path'} $args $config{'syslog_conf'} |");
$conf = <CONF>;
close(CONF);
open(CONF, ">$config{'syslog_conf'}");
print CONF $conf;
close(CONF);
$/ = $oldslash;
&redirect("");

07070100064db2000081a40000000000000002000000013d1fe2db0000000b000000200000000000000000000000000000001900000003reloc/syslog/medium.risk  noconfig=1
 07070100064db3000081a40000000000000002000000013d1fe2ea000002d1000000200000000000000000000000000000001900000003reloc/syslog/module.info  desc_ru_SU=óÉÓÔÅÍÎÙÅ öÕÒÎÁÌÙ
risk=low medium high
desc_ko_KR.euc=½Ã½ºÅÛ ·Î±×
desc_zh_TW.Big5=¨t²Î¬ö¿ý
desc_pl=Logi systemowe
desc_de=Systemprotokolle
name=Syslog
desc_zh_CN=ÏµÍ³ÈÕÖ¾
desc_pt=Historiais do Sistema
category=system
desc_tr=Sistem Kayýtlarý
os_support=solaris open-linux redhat-linux mandrake-linux debian-linux suse-linux slackware-linux freebsd openbsd turbo-linux corel-linux macos hpux cobalt-linux irix unixware aix netbsd msc-linux generic-linux openserver gentoo-linux
desc=System Logs
desc_es=Historiales del Sistema
desc_sv=Systemloggar
desc_fr=Analyse des Logs
desc_ja_JP.euc=¥·¥¹¥Æ¥à ¥í¥°
depends=0.990
version=0.990
desc_hu=Rendszernapló
desc_ca=Registres del Sistema
desc_ru_RU=Ñèñòåìíûå Æóðíàëû
   07070100064db4000081e40000000000000002000000013d1fe2db0000014a000000200000000000000000000000000000001900000003reloc/syslog/restart.cgi  #!/usr/local/bin/perl
# restart.cgi
# Kill and restart the syslog process

require './syslog-lib.pl';
&ReadParse();
&kill_logged('TERM', $in{'pid'}) ||
	&error(&text('restart_ekill', $in{'pid'}, $!));
sleep(2);
&system_logged("cd / ; $config{'syslogd'} >/dev/null 2>/dev/null </dev/null &");
&webmin_log("apply");
&redirect("");

  07070100064db5000081e40000000000000002000000013d1fe2db00000cc9000000200000000000000000000000000000001a00000003reloc/syslog/save_log.cgi #!/usr/local/bin/perl
# save_log.cgi
# Save, create, delete or view a log

require './syslog-lib.pl';
&ReadParse();
&foreign_require("proc", "proc-lib.pl");
&lock_file($config{'syslog_conf'});
$conf = &get_config();

if ($in{'delete'}) {
	# Deleting a log 
	$log = $conf->[$in{'idx'}];
	&delete_log($log);
	&redirect("");
	}
elsif ($in{'view'}) {
	# Viewing a log file
	$log = $conf->[$in{'idx'}];
	&header($text{'view_title'}, "");
	print "<hr>\n";

	print "<form action=save_log.cgi>\n";
	print "<input type=hidden name=idx value='$in{'idx'}'>\n";
	print "<input type=hidden name=view value=1>\n";
	$lines = $in{'lines'} ? $in{'lines'} : $config{'lines'};

	$| = 1;
	print "<pre>";
	$got = &foreign_call("proc", "safe_process_exec",
		      "tail -$lines $log->{'file'}", 0, 0, STDOUT, undef, 1);
	print "<i>$text{'view_empty'}</i>\n" if (!$got);
	print "</pre>\n";
	print &text('view_header', "<input name=lines size=3 value='$lines'>",
		    "<tt>".&html_escape($log->{'file'})."</tt>"),"\n";
	print "&nbsp;&nbsp;\n";
	print "<input type=submit value='$text{'view_refresh'}'><br>\n";

	print "</form><hr>\n";
	&footer("edit_log.cgi?idx=$in{'idx'}", $text{'edit_return'},
		"", $text{'index_return'});
	exit;
	}
else {
	# saving or updating a log
	&error_setup($text{'save_err'});

	# Validate destination section
	if ($in{'mode'} == 0) {
		open(FILE, ">>$in{'file'}") ||
			&error(&text('save_efile', $in{'file'}, $!));
		close(FILE);
		system("chmod go-wx $in{'file'}");
		$log->{'file'} = $in{'file'};
		$log->{'sync'} = $in{'sync'};
		}
	elsif ($in{'mode'} == 1 && $config{'pipe'} == 1) {
		-w $in{'pipe'} || &error(&text('save_epipe', $in{'pipe'}));
		$log->{'pipe'} = $in{'pipe'};
		}
	elsif ($in{'mode'} == 1 && $config{'pipe'} == 2) {
		$in{'pipe'} || &error($text{'save_epipe2'});
		$log->{'pipe'} = $in{'pipe'};
		}
	elsif ($in{'mode'} == 2) {
		gethostbyname($in{'host'}) ||
			&error(&text('save_ehost', $in{'host'}));
		$log->{'host'} = $in{'host'};
		}
	elsif ($in{'mode'} == 3) {
		@users = split(/\s+/, $in{'users'});
		@users || &error($text{'save_enousers'});
		foreach $u (@users) {
			defined(getpwnam($u)) ||
				&error(&text('save_euser', $u));
			}
		$log->{'users'} = \@users;
		}
	else {
		$log->{'all'} = 1;
		}
	$log->{'active'} = $in{'active'};
	if ($config{'tags'} && $in{'tag'} ne '') {
		$log->{'section'} = $conf->[$in{'tag'}];
		}

	# Parse message types section
	for($i=0; defined($in{"fmode_$i"}); $i++) {
		local ($f, $p);
		if ($in{"fmode_$i"} == 0) {
			next if (!$in{"facil_$i"});
			$f = $in{"facil_$i"};
			}
		else {
			@facils = split(/\s+/, $in{"facils_$i"});
			@facils || &error($text{'save_efacils'});
			$f = join(",", @facils);
			}
		if ($in{"pmode_$i"} == 0) {
			$p = 'none';
			}
		elsif ($in{"pmode_$i"} == 1) {
			$p = '*';
			}
		else {
			$p = $in{"pdir_$i"}.$in{"pri_$i"};
			$in{"pri_$i"} || &error($text{'save_epri'});
			}
		push(@sel, "$f.$p");
		}
	@sel || &error($text{'save_esel'});
	$log->{'sel'} = \@sel;
	if ($in{'new'}) {
		&create_log($log);
		}
	else {
		$old = $conf->[$in{'idx'}];
		&update_log($old, $log);
		}
	&redirect("");
	}
&unlock_file($config{'syslog_conf'});
&log_line($log) =~ /(\S+)$/;
&webmin_log($in{'delete'} ? "delete" :
	    $in{'new'} ? "create" : "modify", "log", "$1", $log);

   07070100064db6000081e40000000000000002000000013d1fe2db000000b2000000200000000000000000000000000000001700000003reloc/syslog/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the syslog process

require './syslog-lib.pl';
system("cd / ; $config{'syslogd'} >/dev/null 2>/dev/null </dev/null &");
&redirect("");

  07070100064dd2000081a40000000000000002000000013d1fe2db00000cdd000000200000000000000000000000000000001b00000003reloc/syslog/syslog-lib.pl    # syslog-lib.pl
# Functions for the syslog module

do '../web-lib.pl';
&init_config();

# get_config()
sub get_config
{
local $lnum = 0;
local ($line, $cont, @rv);
local $tag = { 'tag' => '*',
	       'index' => 0,
	       'line' => 0 };
push(@rv, $tag);
open(CONF, $config{'syslog_conf'});
while($line = <CONF>) {
	local $slnum = $lnum;
	$line =~ s/\r|\n//g;
	if ($line =~ /\\$/) {
		# continuation .. get the next lines
		$line =~ s/\\$//;
		while($cont = <CONF>) {
			$lnum++;
			$cont =~ s/^[#\s]+//;
			$cont =~ s/\r|\n//g;
			$line .= $cont;
			last if ($line !~ s/\\$//);
			}
		}
	if ($line =~ /^(#*)\s*([^#\s]+\.\S+)\s+(\S+)$/ ||
	    $line =~ /^(#*)\s*([^#\s]+\.\S+)\s+(\|.*)$/) {
		local $act = $3;
		local $log = { 'active' => !$1,
			       'sel' => [ split(/;/, $2) ],
			       'line' => $slnum,
			       'eline' => $lnum };
		if ($act =~ /^\-(\/\S+)$/) {
			$log->{'file'} = $1;
			$log->{'sync'} = 0;
			}
		elsif ($act =~ /^\|(.*)$/) {
			$log->{'pipe'} = $1;
			}
		elsif ($act =~ /^(\/\S+)$/) {
			$log->{'file'} = $1;
			$log->{'sync'} = 1;
			}
		elsif ($act =~ /^\@(\S+)$/) {
			$log->{'host'} = $1;
			}
		elsif ($act eq '*') {
			$log->{'all'} = 1;
			}
		else {
			$log->{'users'} = [ split(/,/, $act) ];
			}
		$log->{'index'} = scalar(@rv);
		$log->{'section'} = $tag;
		$tag->{'eline'} = $lnum;
		push(@rv, $log);
		}
	elsif ($line =~ /^(#?)!(\S+)$/) {
		push(@rv, { 'tag' => $2,
			    'index' => scalar(@rv),
			    'line' => $lnum,
			    'eline' => $lnum });
		$tag = $rv[@rv-1];
		}
	$lnum++;
	}
close(CONF);
return \@rv;
}

# create_log(&log)
sub create_log
{
local $lref = &read_file_lines($config{'syslog_conf'});
if ($config{'tags'}) {
	splice(@$lref, $_[0]->{'section'}->{'eline'}+1, 0, &log_line($_[0]));
	}
else {
	push(@$lref, &log_line($_[0]));
	}
&flush_file_lines();
}

# update_log(&old, &log)
sub update_log
{
local $lref = &read_file_lines($config{'syslog_conf'});
if ($config{'tags'} && $_[0]->{'section'} ne $_[1]->{'section'}) {
	if ($_[0]->{'section'}->{'line'} < $_[1]->{'section'}->{'line'}) {
		splice(@$lref, $_[1]->{'section'}->{'eline'}+1, 0,
		       &log_line($_[1]));
		splice(@$lref, $_[0]->{'line'},
		       $_[0]->{'eline'} - $_[0]->{'line'} + 1);
		}
	else {
		splice(@$lref, $_[0]->{'line'},
		       $_[0]->{'eline'} - $_[0]->{'line'} + 1);
		splice(@$lref, $_[1]->{'section'}->{'eline'}+1, 0,
		       &log_line($_[1]));
		}
	}
else {
	splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
	       &log_line($_[1]));
	}
&flush_file_lines();
}

# delete_log(&log)
sub delete_log
{
local $lref = &read_file_lines($config{'syslog_conf'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

sub log_line
{
local $d;
if ($_[0]->{'file'}) {
	$d = ($_[0]->{'sync'} || !$config{'sync'} ? "" : "-").$_[0]->{'file'};
	}
elsif ($_[0]->{'pipe'}) {
	$d = '|'.$_[0]->{'pipe'};
	}
elsif ($_[0]->{'host'}) {
	$d = '@'.$_[0]->{'host'};
	}
elsif ($_[0]->{'users'}) {
	$d = join(",", @{$_[0]->{'users'}});
	}
else {
	$d = '*';
	}
return ($_[0]->{'active'} ? "" : "#").join(";", @{$_[0]->{'sel'}})."\t".$d;
}

# list_priorities()
# Returns a list of all priorities
sub list_priorities
{
return ( 'debug', 'info', 'notice', 'warning',
	 'err', 'crit', 'alert', 'emerg' );
}


1;

   0707010006a93e000041ed0000000000000001000000043d1ffb7600000000000000200000000000000000000000000000000d00000003reloc/telnet  0707010006a93f000081a40000000000000002000000013d1fe2d800000025000000200000000000000000000000000000001400000003reloc/telnet/config   mode=0
sizemode=0
detach=0
no_test=0
   0707010006a940000081a40000000000000002000000013d1fe2d800000025000000200000000000000000000000000000001e00000003reloc/telnet/config-macos-1.3 mode=1
sizemode=0
detach=0
no_test=0
   0707010006a941000081a40000000000000002000000013d1fe2d800000025000000200000000000000000000000000000001e00000003reloc/telnet/config-macos-1.4 mode=1
sizemode=0
detach=0
no_test=0
   0707010006a942000081a40000000000000002000000013d1fe2d800000025000000200000000000000000000000000000002400000003reloc/telnet/config-open-linux-3.1e   mode=1
sizemode=0
detach=0
no_test=0
   0707010006a943000081a40000000000000002000000013d1fe2d800000192000000200000000000000000000000000000001900000003reloc/telnet/config.info  host=Hostname to connect to,3,Automatic
port=Port to connect to,3,Default
mode=Connection type,1,0-Telnet,1-Secure Shell (recommended)
script=Login script,3,None
sizemode=Applet size,1,0-80x24 characters (in default font),1-Maximum,2-Custom size
size=Custom width x height,0
fontsize=Font size in points,3,Default
detach=Separate window mode,1,1-Yes,0-No
no_test=Test telnet or SSH server,1,0-Yes,1-No
  0707010006a944000081a40000000000000002000000013d1fe2d800000162000000200000000000000000000000000000001c00000003reloc/telnet/config.info.ca   host=Nom del host a connectar,3,Automàtic
port=Port de connexió,3,Defecte
mode=Tipus de connexió,1,0-Telnet,1-Secure Shell (recomanada)
script=Script d'entrada,3,Cap
sizemode=Mida de l'applet,1,0-80x24 caràcters (tipus de lletra per defecte),1-Màxima,2-Personalitzada
size=Amplada x alçada personalitzada,0
fontsize=Mida de la lletra en punts,3,Defecte

  0707010006a945000081a40000000000000002000000013d1fe2d800000174000000200000000000000000000000000000001c00000003reloc/telnet/config.info.de   host=Verbinden mit Host,3,Automatisch
port=Verbinden mit Port,3,Default
mode=Verbindungs-Typ,1,0-Telnet,1-Secure Shell (empfohlen)
script=Login-Script,3,kein
sizemode=Fenster-Gr&ouml;&szlig;e,1,0-80x24 Zeichen (in Standard-Schrift),1-Maximal,2-Angepa&szlig;te Gr&ouml;&szlig;e
size=Angepa&szlig;te Breite x H&ouml;he,0
fontsize=Schriftgr&ouml;&szlig;e in Punkten,3,Default0707010006a946000081a40000000000000002000000013d1fe2d8000000e2000000200000000000000000000000000000001c00000003reloc/telnet/config.info.es   host=Máquina a la que conectar,3,Automática
port=Puerto donde conectar,0
mode=Tipo de conexión,1,0-Telnet,1-Shelll seguro (recomendado)
script=Guión de login,3,Ninguno
sizemode=Medida de applet,1,0-80x24 caracteres,1-Dinámico
  0707010006a947000081a40000000000000002000000013d1fe2d800000049000000200000000000000000000000000000001c00000003reloc/telnet/config.info.fr   host=Hôte à se connecter,3,Automatique
port=Port à se connecter,3,Défaut
   0707010006a948000081a40000000000000002000000013d1fe2d80000011e000000200000000000000000000000000000001c00000003reloc/telnet/config.info.pl   host=Nazwa hosta&#44; z&nbsp;którym ³±czyæ,3,Automatycznie
port=Port&#44; na który ³±czyæ,3,Domy¶lny
mode=Rodzaj po³±czenia,1,0-Telnet,1-SSH (zalecane)
script=Skrypt logowania,3,Brak
sizemode=Rozmiar apletu,1,0-80x24 znaki,1-Dynamiczny
fontsize=Rozmiar fontu w&nbsp;punktach,3,Domy¶lny
  0707010006a949000081a40000000000000002000000013d1fe2d800000053000000200000000000000000000000000000001f00000003reloc/telnet/config.info.ru_RU    port=Ïîðò äëÿ ïîäêëþ÷åíèÿ,3,Default
host=Èìÿ õîñòà äëÿ ïîäêëþ÷åíèÿ,3,Àâòîìàòè÷åñêè
 0707010006a94a000081a40000000000000002000000013d1fe2d800000053000000200000000000000000000000000000001f00000003reloc/telnet/config.info.ru_SU    host=éÍÑ ÈÏÓÔÁ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ,3,á×ÔÏÍÁÔÉÞÅÓËÉ
port=ðÏÒÔ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ,3,Default
 0707010006a94b000081a40000000000000002000000013d1fe2d8000000b4000000200000000000000000000000000000001c00000003reloc/telnet/config.info.sv   host=Dator att koppla upp mot,3,Automatiskt
port=Port att koppla upp mot,3,Standard
mode=Uppkopplingstyp,1,0-Telnet,1-Secure Shell (rekommenderas)
script=Inloggningsskript,3,Inget
0707010006a94c000081a40000000000000002000000013d1fe2d80000003e000000200000000000000000000000000000001c00000003reloc/telnet/config.info.tr   host=Baðlanýlacak makine adý,3,Otomatik
port=Baðlantý portu,0
  0707010006a94d000081a40000000000000002000000013d1fe2d800000068000000200000000000000000000000000000001f00000003reloc/telnet/config.info.zh_CN    host=ÒªÁ¬½ÓµÄÖ÷»úÃû,3,×Ô¶¯
port=ÒªÁ¬½ÓµÄ¶Ë¿Ú,3,È±Ê¡
mode=Á¬½ÓÀàÐÍ,1,0-Telnet,1-SSH
script=µÇÂ½½Å±¾,3,ÎÞ
0707010006a94e000081a40000000000000002000000013d1fe2d800000033000000200000000000000000000000000000002400000003reloc/telnet/config.info.zh_TW.Big5   host=­n³s±µªº¥D¾÷¦WºÙ,3,¦Û°Ê
port=­n³s±µªº³q°T°ð,0
 0707010006d8c7000041ed0000000000000001000000023d1ffb7500000000000000200000000000000000000000000000001400000003reloc/telnet/images   0707010006d8c8000081a40000000000000002000000013d1fe2d8000000eb000000200000000000000000000000000000001d00000003reloc/telnet/images/icon.gif  GIF87a0 0 ¡  ÿÿÿ™™™ÌÌÌ   ,    0 0  Ä„©Ëí£œ´Ú‹³Þ¼û~ÁH–æ‰¦j`‚0q)“r½¦ðËÊ|ˆÝ¹Ìk—Ì“r J§Ôª•*]·Ün60@„¡â®9ú=«Íéy‡¦ãté¼^¿ããm0¶w¥'¨Ö'æVæ§È`EXÈÖ£¥ •ðö·08	¹vèÆØ¨I*šh×ù	ºZ™ˆiy‹µÊzê;*ûZ‰f{ëåÊ+<i\û”¼õÕô¼¤=­b}­½ÍÝíýîQ  ; 0707010006a94f000081e40000000000000002000000013d1fe2d80000096a000000200000000000000000000000000000001700000003reloc/telnet/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display the telnet applet

require '../web-lib.pl';
use Socket;
&init_config();
$theme_no_table = 1 if ($config{'sizemode'} == 1);
&header($text{'index_title'}, "", undef, 1, 1);
print "<hr>\n";

if ($ENV{'HTTPS'} eq 'ON' && !$config{'mode'}) {
	print "<center><font color=#ff0000>$text{'index_warn'}",
	      "</font></center><br>\n";
	}

if ($config{'no_test'}) {
	# Just assume that the telnet server is running
	$rv = 1;
	}
else {
	# Check if the telnet server is running
	$addr = $config{'host'} ? $config{'host'} :
		$ENV{'SERVER_NAME'} ? $ENV{'SERVER_NAME'} :
				      &to_ipaddress(&get_system_hostname());
	socket(STEST, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
	$SIG{ALRM} = "connect_timeout";
	alarm(10);
	$port = $config{'port'} ? $config{'port'} :
		$config{'mode'} ? 22 : 23;
	$rv = connect(STEST, sockaddr_in($port, inet_aton($addr)));
	close(STEST);
	}
if (!$rv) {
	print "<p>",&text($config{'mode'} ? 'index_esocket2' : 'index_esocket',
		  	  $addr, $port),"<p>\n";
	}
else {
	print "<center>\n";
	if ($config{'detach'}) {
		$w = 100; $h = 50;
		}
	elsif ($config{'sizemode'} == 2 &&
	    $config{'size'} =~ /^(\d+)\s*x\s*(\d+)$/) {
		$w = $1; $h = $2;
		}
	elsif ($config{'sizemode'} == 1) {
		$w = "100%"; $h = "80%";
		}
	else {
		$w = 590; $h = 360;
		}
	print "<applet archive=\"jta20.jar\" code=de.mud.jta.Applet ",
	      "width=$w height=$h>\n";
	printf "<param name=config value=%s>\n",
		$config{'mode'} ? "ssh.conf" : "telnet.conf";
	if ($config{'port'}) {
		print "<param name=Socket.port value=$config{'port'}>\n";
		}
	if ($config{'host'}) {
		print "<param name=Socket.host value=$config{'host'}>\n";
		}
	if ($config{'script'}) {
		print "<param name=Script.script value='$config{'script'}'>\n";
		}
	if ($config{'sizemode'}) {
		print "<param name=Terminal.resize value='screen'>\n";
		}
	if ($config{'fontsize'}) {
		print "<param name=Terminal.fontSize value='$config{'fontsize'}'>\n";
		}
	if ($config{'detach'}) {
		print "<param name=Applet.detach value='true'>\n";
		}
	print "$text{'index_nojava'} <p>\n";
	print "</applet><br>\n";

	print &text('index_credits',
		    "http://www.mud.de/se/jta/"),"<br>\n";
	if ($config{'mode'}) {
		print &text('index_sshcredits',
			    "http://www.systemics.com/docs/cryptix/"),"<br>\n";
		}
	print "</center>\n";
	}
print "<hr>\n";
&footer("/", $text{'index'});

sub connect_timeout
{
}

  0707010006a950000081a40000000000000002000000013d1fe2d800033d51000000200000000000000000000000000000001700000003reloc/telnet/jta20.jar    PK   ¸€•)            	  META-INF/þÊ   PK           PK   ¸€•)               META-INF/MANIFEST.MFÌ1Â0 À=Rþà©‚!MÊ€ÔŒtCÍÊn5ŒÚ ÅÎÀkù
e½á¾“¨»Q~—C¬IÈÅM+ŠDÈä·–ýKÑÿÙš©*ewùDH¨úd˜{¸¶­ÐíV—&ˆ¿…*–#ãxv§öÚšPKÄ-p   t   PK
     ¸€•)               Created-20001221-1605PK   ’¦u)               README}UMo7=/‘SÒÝ@º©Û:¨Ó6qô8ÚÕ2æ’[~h# è_í_Ér¥µl£:I"gæ½™7÷ë7t oÒø­¾gë8éëi²¦¥d¼SßÿÿG©?,Sd=Òë˜ë£Ï:0uš\§³ë8Ää}§*u¾Í#»TrãJºõ#G5›4à·‰:ú>Íx£ïŸðçÉ’qQÓÎçT2Ž>–#°NÁï,Q³k}v‰W­G‰3®÷a¬ÉÖ Ë¤¾:Õ×ÀÒúCÉ±;nôG£qûK”…-í#Ú—d¨:FµTíŒ”Š¨;p™<.¹Ñ?û Iÿ“Mû c¢pH¡HLKä«åì•îLà6ùp,Gü9éJn£Ô5¨&Yš à¬Ñ¤LÐ\þœØO–uKÎùtIãð4ßÒÂ6¡r£3±Í1®„õÂ}¡%sáÐ²êLøCi4 u]`¤é"D&U¹ï|J~Ô¾/¿zcBÝŸGC@„Æ`¢Lq¹vž¸h²3£Þ!2ÄWJ5CJÓÕv;ÏófÌÝ¦ãmäí§DÛšýÔMÃ•ŒŽ'å¬íóÌ.	-§r zo­ŸE D†ºïn®º»QÍß"X	ØcY’³ *Ïw7Ý¾¿ýý­j^Ÿ$Kxƒgô9´¼ ˆ(kÒÄ	ÈÍñõ`¤+ªqyÜqBî‘ŽÒŒ¹ÏVÆ×D#d`ÚaÉ8ÐUÓäö ©·UÝ–P>O%î.z½Q¯½~ûËÍ{ÕÜŸ(¬«FÖ–ÛE.UI”?JAÕ‰ÚTSs®Ü6jgÜöQbÌ”*gÈ¦HŒ¬ØNdAöF„a¤S¥<d=Qû@{ÖŽF>ƒX]æ61«F@‹¢“¶ð½Ä7*žúÒšµÜ6u#‹fÜF}¢€Ø‹…,†YZ† ISùº&²»ll‘‚USÇ4`ÄÌ³M'M.ËfbÎ°Ûp,%Õœ} œˆÛ[¿¢‡´ýŒœßÕQu¦ï¹¬<7‰¢Ñ€e‹ç©ê—ô¹G}ä“·=‰+oØãHDXž	\¨úÅÄú¢ËžÙV†òköÙv òPúx‚æ‹ÍdP
±DÈt…1Fx¤+&5Á^Z
XÙLÐKÐ¹@ OÁàLŠ,î(áE‰»£ _ÜT»"cÏ.'¶„ÑP;ä-9WÆ»Vî®)-ûªG)$KÒå©‡ÐÀ?³øƒ/ö°˜¹¬q]îdÖ¼ËûK—qš¤vœ`á‚hoQŽgîS‰7'¹<o½€Ç±‰\R=SÊuð£‰Eéh·<-ãíYÚ¶¾$ý±LÝ­náñäÍƒ¯ÈŠAÊÄœ /€\- Ð…|^¥ÕTsžÆoý&ïÙ~·Eß±ùÏqPêupõÂe½|¾<jÖ‘èËÏ—Ëù¼ôÎü‹à­Ü|á¨oÕWPKïÖ+{R  ˆ	  PK   ‘p-'               license/COPYING\]sÛ8²}Ç¯@ù%ö-Å3ÉÞÝ?É¶k×–<’œŒß–!‰ŠÔ%H+ú÷÷t7 ‚’ì™ªÚD$Fžþ@¾Œžõ—Áh0é?è§çë‡áÆƒÑt ÔWSÙ¬,ôçžþWSýé×_?)uSn÷U¶Z×úüæ¿ýó×?Ñw•1zZ.ë]R}W6EšÔø¾§‡ÅâRë_þñwõ˜X«û¯¦§o’Í¼ÊÒþøØ×?þô7¬ó<í+5x5Õ¾Ä~™Õ[Sm²º6©®K½ÀÎ:)Rf¶®²ySwçØeC3cU¹ÔõæÙÂÖè´\4SÔ=×õb«¬Xé¬¦Õ‹²ÖIž—;“^*õTÐ”¥fkã°zYVzSÚZ[4ú/56[BW|Ç»d¯÷eSé%ø–<QvÍïƒdÞGª/õõÄu•XPUc«/$S˜*ÉõS3ÇÎúÁ‘"³¢6EjR…VMR%ø»9ÜIíDÏÉ?â•‘i›Ê(Ú4œ[ð»tN0$ZÝXˆþRÏˆ“oP–l·91œ&î0ãÍ›JðÁFü+˜mI±×%¾©ô¶*WU²Q»uI+7õº¬,˜´ìéÍÆŠÌ.õù´Ü÷Õ[[©øh‹1Í÷ÕÙ¼Jªý›,/lm’ôòB¿”Z$u¯…æ»£×B|e	Íù¶6…Þ§[“|'Nt˜ß£GDNe–¦ªè(XÈÉ®ÇJ¸­°ù¥7•:M•=Rº Mœ+©‰.½N^ŸÒ­M²‰LE,äˆ<}î´¦Z‰°ý@^±µÎ–´´Úev}Ñk·ªÌÂd¯´HS-héR©4qkej6/þPï ®økû)sÔéhGñ9ÔNƒÆ…PI‹º0;¡×3ýJôË)Úà{Qîx'Z7-iMK+ƒÍ¢™•ôamµˆŽ=—e‘&âdeˆOÒ+´‚ó,%-%_cNMÁî¶•ˆlÒeû]•$“Š¶âãÉ[dJøFuw)Û<©û6SÕ	Ž‹7¶x˜Í³<«3ç~heÇÏVžª•gÌÇQä^Þ”i¶$Í#îð³ù‘l¶9^9Z,RÛ,Ö:ñì§Ö†Í«3:¯bO¡—ñ.Ì•9ÝƒfdXª kÈ›´<èêé%[z ÉøbÏ†ÕZi–5(Ý¥îCö~)»†2à•W„r<¼¨¨
þ”y5 Ó5§ôCï²z­ë¤Y›­ýMŸºàð#¯ËoRÇóÏ=0o§ QÚ­30”øcùanV0ol–Ã«‹l½X¶Xó'Ž;,Àx?ÐÜÏ-˜CR0	ÉŠý%¬;­I4á8¢èlƒ^Ñ½¢±jRX[ã3¤ ´(ñ}EQgßz‡Ž¹ÔÃåQHaÊ3q¼>›61¹ç¿
À#‚ž<D©¨uÒ-;¯âá\à¦KÈ#+’¼'2Æk0W> Œo8tVeÚ,„Ž$Z¨%- wœ“ÜIÑZ>þ| =Û¦æBšrGó}ãVì‘ˆ zð€8Û‰‘5BŸÝñdKÉ|3ìMÙk¼–YÊ›§ä+9Â•W
ƒ0É¤»@eEš½fiC4érÎ2•=té‘ÿ4ÐÊžuX†Ø„¸cjÄBø'ò“PÒH˜ÃÜÞ$)Á½ÈMRû­ØêæF¹-SÑJ§Uœ¢[ÇÏÄóð^ÂÈëR°Ö–$Ì•ÃQ‰ã‰›¤É>@~d"^ÉEÏø—%9Zt0yœêþèVßŒG·ÃÙp<šê»ñ}zŽ¾ôôíp:›¯Ÿé¿ø8¾ÞoúôƒR?;ðs€v<lñ’ i‚EveõÝY:a;ç ã{µÍ“EAZ7².s
6Ù;Hº„œ›È¤b˜ü3'àÛÓ0ãŒ>{òÎ zÒä¨'¯¢#ñâÆ}Æ'™'bŸ¼±_Mo–6Ÿ8z¢(`]Pš½BÐ^EhoÏ›'»ßDƒ2¦Ç¶ü®r\ó:úÔR‡PTV,oÆ=O@@þtü¤bU`-"‚lJÞ€Î/ËapM²ÇÎïáé`ÛK0¸§üû´ƒïEÞ |óeC
LêA.ú,ÞüØq Ïì­‚]V’¦ˆí¬úVŸ!œ‘'‡·~•8_:®:úKÚÎˆlÊA\ÅúÕêì•¸L†VMm36cC¬îô$Y0l¯šâïÊùXWLÚs¨‹ƒ[„e—›Ž¨"°]„——ìÔI°ìÒÙ/f5‘ùI-ÓçplfK ª`êà„ˆ¸¹1…b_„cž øŽÕ• aUC™Ö²´‹#Êo•–†û'Æ"l|!ÃôxË-ÂyM€#*±xLêšlxõp
v·mÒc¶Ù¢)›óî
Þ†}3Ô¿lÉÄ0pŽ÷ŽH½™ø^‡XäI¶O@´âWú»1[²’¿Çhò™õˆe¶Ð'| ¤môv2·¦À.›p¶viz‡¡`›ÜEQ½œàùŸÈQ¼Kûä%d+¬}‚
R’\…!¨Ã$ˆ!ë½…eä^«Ù}¾•8„•x°ˆU‡øÊ­s.tæ u",EAô‡Ïª=ô9Ÿ[½q8×“3U§ÕE;WÙuiàJÃn#Ä¾i=µ”}z×:Ï~BhÏ©;Ú'H²¤jÌ‘Vª JkDEäÖDù7¥´Öÿ£“a!EÒXIþ[f¹ÄÍXË|Å!É¶½ÆYr§ÅŠÓ‘Q0¿ÅãÈÞÿ¤¤ïNñä­KGÉüˆVNâAX7bøãLËe§Y!Dì˜ù1CªªnC:ýf%ÎÑÑ] .¾ñÇ?,—”ÎP`oÑ¡Ù&!Nx•¦ Å™U)/C^é„c£ñ,X\ Œwà}õb°¤šJu…á>Õ—ª„9d{Žp²Q~'ü$FoÐ*Š©Þ“]pâ­F¸O–r‘RêDUŠ`[‘Óà4jäé+’¸¶¢(8ªÜ¹Tä/x¾ ½ÞÎed­sB«ÈJz„=qAbr_\„ºƒ”ÇÈð§L¤UÂn…Ö1JMžûFëÉRœ¿–ú53»7Ü# ËàÇÂ°Óú‚l'×ÖäKÇôŽh¹üIãzÐa¾¤ü]¶³ìUoGë€þ¯É*)§È’«]^0Ò§²‰¼º‘
WÖ\P	ËÛµ&Bù¥ÎàqBZk\	…yC"áðÐ[æéœ'(›S%&±eÕ¸Kè¨bˆØbzÙ!im`oÀãWÊ®j²•X6²¡,6ÒÕ£¸ÆÜ“
œ|6%r¶]ýÙÐá»[_êë¦ïë}³É¦]•0{-NÅÉHf’Ù÷c{×rºx-k¸TÏuÒ‘w ¶ÕÉß	8ŒâÕ´½àI²•ÛÆãÌ†c†Ô7ð§”âX+³JªwÇGzG±Zª\3|Ø‹ªû´<Ðë@ªã‡$BGQ!±ª\ |ÕªtÉ]E}ˆÂ+É=Þ»Ò×‹·’ôÆü0¥µ*ÔÀ¤ÔCE‰ü³ãŠ©É©>áÓ)«NIg”\dÒjÙ«KV+â’_Öç<|âÊISæªƒÄ]bõžÒ\ÐßýZæÍF¢2BCY!±RâÑÛó	 n}Ð¼òî/¢®sœ§x¡©6Ìýí}´~x€CÚ)‚ñ&Êc Ïd×åü¿T&ñ…lÈnÑÔäl–½ƒ¡¬þDÕ:ýY Ô	|ÏH
ž€J`J¡ç@T¼%ü õè—~ËÇ¹JjÃ	qüÅ0ê#År¦R’q×tˆž³yoµïÔº‡a†~v¡–OÄvÒ[`¹r“T ñõž¶îGñF0Ù¸ØkqÙñá’`QŒ¼{ú5É3Y|Ëážk®ª½7Ie{P•mzÑ¢¤}Ïs£
êII=¹ð œ[T²ˆO(þ™ÊÃn—ÆÅ:ÛãìpÈrÏk¢E¥…ÿ‚;Ø[’ø‹BUþL‹·Ô,+ˆâ1¢–‘ªóÒ’ Õ¥ìÔi¼ql@.¢%9ˆ)Ä¯ñ_¹ãÊUYlÉÕÁ‚ )¹L$qG•_Rèc-ÞÿÄùÄï8Í£\©¤Ê#ËL›¹sƒ0–×²õ0RŠ¸Ï'rÙxåà—¸—Ì•Øƒ\<¦öæg1ÑR›Jo.;‚›ª>EòìÑPê”µ)R½¼±l?‰µå"ó¥1B’šeVp,‘´Ë½/¹Ê¶ÒNãHFÄe®dFej b÷~8Ä‡]ê{Hÿ•øÎÏnKÜxPÛ‹z<Š›7í(|¸Ê„›}¡ì°müÙ9ÔÃÕ£À¢¹$"$¥‹Ö6É9øn ÑRÏå€Dñwè±É{ìð-yô@«ŠóXm÷¶„ã‚yàîñ)c²‚Àp&låà;+#™(œ»ÌC´_Á†huÂZ‘P#ÆÕÌX×¹¼°XðÖ¥bßÅ(9q­eV.Wºm¿"ÔÍÀØ/ Î\XGù<ìfTÊ‹áAÃpßÑ~ º=jIÂ(›Õº›GõÎÍÉS4-ÒØ*"f€wÿÛbYˆjBR»AÈ•tA±1véb
QSœD™[*èråB¾÷éq¶Ö'KCœÛà+:;ît¸žŸ:ÞýÍ±.uŒ#s+i(ÔÍ‘Œ„Øéež¢*Ø g.áhî÷xçêÚËÌß4gÑ’>^²m«ù)„¬
¨–06¥8ä†=H	©……ÿ-›\œJž%H!·¿‹Ü¼ÄÙ&)ã¶>HBlFÅÉ0AßÈà„"'ÎN°˜u›ú’+Jò¥zÛíÍºÚÞ‘TTTõ¡”ï ûá{þT”†DÅÁjÍ³ZºAy²óó>Q<>/ƒˆRR«yîKDv`”Vèë‹_'»Ôv¨‹¸
#Û'RÙíd¶ÄÐH}g®¯¸9¡?mØ©…¡£}¢Í#v„Ó!÷_.¹¢ëlc\äêŸ:¯jÏ[ÇÓ	]ËñZOÉ›aðc¾1ìòWø8ìØ·gëÐ³fT‡Áîâu9ÖõJ¢+].›Ê•Ð£±w®¶¬þ!dšÞ¡:Ãg•'ÖÜà:´!7g Ë=[€’KkyÒ±Œ]°k	DUÇPuÆ…r*¤À4Cg€Ü~Uëÿ6éŠy‚J¢ÄTšÈ KŠ1Æ¿´tÂôýªÔèsio27èÐ°ÓÆØ‹žŠ0s‘µ€çÜO±Ì÷Ž*À=Æ È”ýÆ*øçA2¦©¾[Õ=¸×&VŒÈ° b)í”èío¹¼å˜¸|õK•¸NiY¨–Í6M5Ò+’þÇÊÁÈ~™ÍµØ+7ig HÆÑg.ÖÉpie4›ÒiáH_N%³0Ì&à&#ª*÷ÈöyB ²ëøM 3©Š—<NS†öš›ùL4oÁ%ûð7dŒ"pwB¶fJ$Ü¬&©¨òÜƒGˆ®Ç6~mÎ^®¸¢@ê@,âä«¨B³<lút*QøãÚä„Â%¦I¸BÒ0ª±òhâ¢É¸Ø¬Z4ËîZœÛ<ÉïDÔ.ïgH9br1’€züRÔ‘8ù>•HXƒâm©{:ìÔÚ¶MÅÞëD±’iœRñßÄæ£a«Â8•÷¡©{W6ã:µóE:æUVï}/ˆÑ„¼y¥:›¯—ÀÐé"
}Ï#:ôªr+ÖnŒ²&íˆX@~¯-¬f¤úäG$´oe,Ãi¿Úrž¦ùÀ¦ÄëÑ€ÍŠÆ9`ÔârÜ.!õÞQ'¢â$âò1Eœ
W2Ã$]
Âã„Î•—…Ô¹-{\gYDZøèÊO›mèõò8ÔOiYÿSž”C96*»f•!üçF[;ÌÑêékýº#’ýS;)áœ ‚â…×eÆ0pv`4±–òlJ»PQŸÇ•v.'œƒæUÞ„'ê T	4°õ‘oVêŸ—¾£vX“øÉM¬x«ÌFc$7q§8	ª(ŒºLt4Ÿ³Ñ}ÛËŠSrqÏ-
9š"Èi–íÐq"pÛ;¥x@ÙxY¯½¾]sï¼sÄhÔMZpÎ	‡£Ðàb)u>íLîKé¦àð¿)axFˆÛh¬Û€Æð‡…³äDÂjD>P}	ã¥®ˆ5¢&ô%EiÔ¨y™÷Ï”úUÆ_Þšg6ù¡‹Ê¼fÜ±yÓ4ò«\‹ãoÌ‘Kè'äJ†„ÿ¿ÔS:Xg	Îšæð28	9un·Y•yÄHÅ$KqÔ}!×ˆ@@MªÇáƒÔ@½rJèÝŒo† ¥¯%ä)FÆÓn1US©´Hâƒ|œ™Äìß(šÍÜTÁüxm–œ”¼z4Í!2šŸsöŒÂfU~…³^wŠ=f´åò¨hÝ…Ð¾¸ã™'ª¬|xèlåÅÛNå‘2¨Êpxô¶!<ØŸâÀASpæVJìý'”ˆž&&h¦ŠˆQêÓÏ/ú)ÒÈ,¨Íœðà›8ÝÎ$½»oÑ±Ü-ZÆí`²-Ó
~òêÏmÒ,h0xþ"cïö'=Øí-K½âKåÆyYŽ*ÔmWæ‹·˜çÎæ4”=mI¡aïU™älÖluÕ«×8w†§idß·Ù>ÿäoãt/¹ðJå¦ƒnép+ã‚Gød%Ž$ßCÎ£±þÖŸLú£Ù„þéR_núÏÓžÝôÓdüeÒÔÃ©¿¬u«ï&ƒßé›ûþäË GïMôF´Àªh¼5æÌ£™~L‡³V»~Ñý§',Þ¿~è‡þ7dâÜžfúÛý`¤Æ´ú·!È™Îúôþp¤¿M†³áè¯Gc¶“á—û™¾?Ü&<‹ûÓx¢ùCýÔŸÌ†ƒ©_‡·Ý3õ§ úLÎîÇÏ³–vœ­?zÑÿŽn{z0ä…<MS_aíá#àáptóð|Ëc¾×Xa4žM8èœ™3þ]¿:ˆÁúêq0ûF³þõðaˆ-i.øn8ažîå7Ï}âyò4ž.…Xìž§ÿÖ8ÀlÌlþý¹Öo±ÄctÃb:#V¿ŒŸ#pê‡Ûø9³i owƒ›Ùð+d‹±Ëôùqà¸=1{ôhpjû“=L¾o˜“ÁSæOÔÍx2¡UÆ#ò%Ÿ/IpPÁWÿóèN:üþŒÃœPM<øE#FF2Wß†Øš¤s(ø‚­à_ BcýØ‘‘ë§
;ú™ì®F€Ÿ­bö¯ÇÄkÐ3d²@±ƒÄsÛìL{*( oí®7öôôip3¤?à9Ôr~Ð<úý™DˆÜ"ºYÒÑH¼ÈüHÏF^?°÷¡Iž·{ëžzOIÑ°É¬¯™büÿõ€ÞžFà›Rÿææy³¢7èP3}†¡G":/òprëm‰ù¬ïúÃ‡çÉ‘‚Î1XHK²¢(÷Æô¢Ç: ‡wØêæÞIOw,öEßC×¼Ö¿ý:$§#û(ØÁtèx2v+8>äÉ‹'fò•º—§>'™R0q|Ç/äUGÀ2O>`)úRÄÍ¼ÜÒœ—@v¾'ºtæÐ¾‹†+¾¡ŒÌBê^Fò5—FÓKT!àòòš42ÖÁ™FVwÝ½’(îÓÐ”Q§XÝÌŒ§ÂËÈ55_^­ëÄuZØ¦s=(”Ê‚–äÛ&K"™ `øxãßåI=îÑ×%¡Öžö77å†ˆŒÿ!ü¿éé0$·u'|y)^Ã®¹4Â˜-jÛ}¢ý’»ÂåmKÎkxª†§òøœ´ø¾!…mp<!>ò§¾éý0µ—¤ºEÓa‰L%,x™ì>¼©¼ßkùŠb8—SFy:R½
;²‹t@…v§ç3ß»ÚËcZï¿Ði/=È•lå6xˆZVçÝ‘æ‹cÜ{y|à¸ˆàæ4×4yS;Vz´cœzŠò›Éøø|®H¸×`sžçóCÕÀC‡!dÿy„ÕS#-—wnJË5m¾$Kéuóâ±‚¶C±÷d¢·|»¢\
ûLU‡à{t^ÿùxwÁõx,ƒ
Yâ,¹—/IqM‰Ueºår 8¼T–Kå±3$Ñ™	í_æît$Ä®*LÒæÙwçùx*ï±3±r¥¡3]
C0¿)õ¥ Ú}˜íUõë„%büå¢$4Ï\ï_OÇ /1Ž½bi;A«zuý_ýÜ}€²Ìœ¯>¸„íƒç$&§M×s»–í.-¹[’m:t¥£}TD»Å¶Þo)Éâ–R;^í	ãýý×^-ý}Õx¢Yur¸·îy—ÜÇp­‡v;îÎºRÏÜ(ênqÓ9'öÑ5£“”¹[CRgKÆ*›K~\€€ï\OØ˜¢¯ÌÆ~üH.—³XÛdÒ?÷ã»&Ècpt…—_1ðåŸû‹âaè×}½1Õ…–ËÏ•²”;çÒZ(dnœ:ºta­­‡µ÷]ÎÚk!dKUÐÍrË×ïÝDxBS
Ûžž‡”øÒLºÝðRîËt_o¾¯æû°‹Üo»+6ŠÃÎ‹z›ûO¤ÚÔ¹ËƒáY¹kuRk?bb/|‹®sý‹(Ñ÷Éâ»©ÀL™Ð ‹ÒPŽÙVE¾åÀS•åü/q¨ðëHÉüª¯tQ½÷¯9„ª†”í¢š)M,T®&ÄwGC9Á&ªØÝ$Ô­Jêÿ’Cáy!TD”½æËä¼%ÊpO à‹«ñ†QõÚ†¹åwq;?ƒé¯@§@XþŠÊÛÿ„j+ŽüoA×ÿPKW¨XX,  7E  PK   ‘p-'               license/COPYING.LIB•][w¹‘~Ç¯ÀêÅÒZ3v’ÉÎø‰–i›‰,)”dÇgÏž³M$;nvsú"™ûë·¾ªhRòdN’Én P¨ËW ®îíåôíl<ûj?L®&³ñ¥½¹{9½ ¯/&W·c>»ºÉ«Ò¾Ù¿u¥³¯~ýõ•1Õn_çëMkO/Îø;û¾vÎÞV«ö1«}_uå2kéÍ‘–‹sóË_ÿb?eMcÇnd/²í¼Î—kúóÓØþüúÕŸ~ÙûÛ±™<¸z_Ñ<ycw®Þæmë–¶­ì‚f´Y¹´Ë¼ië|ÞµÎÒ³sšc‹s×˜jeÛ½XäW6Î.«E·ue;²ô¸]l²r—k›·½¬Z›Eõè–çÆü÷^¤ÿ´gWyÝ´¶v…ËšýAYÀÃ;}^gõÞ~¸¹<·vŠÁŒ-»íÜÕôðk;w‹¬£Ùišuåû˜·›0Æk?JU/óÒó?ÆÜÔŽxR8cîx^AcWUm·QÓxÎâ¿K×äëRÓfßèËÇlo÷UWÛmÃ²ÚÒ/¦ÙðóÄ3^:(:·o÷Ä­²­³†ØB>|p¥«³ÂÞtsšÙ^úÙé}“—­+—2×ºËêŒ>»á\ö`.üˆ~ù’ÈÙ‚Ð¦£Ç0mXñœŸÅJi?ˆÈÆûêæ¬èwS¨½ôÌ?JñÈf»]A¢À$U[šfç9»7Â³âô”¨¢F¼#+÷¶¢ykÝuHÙã¦¢ÝÍºvSÕmÅ"_:<+{~n¿V]d¥~æu1·Â´’ª¢Õ}Ù¸Ò>2Ù7ÈEÂ³~}µ[¹º†àÒ$Êò‹ï®¦eŸÛë®6Ïì`"-ñ&d-³›ìA¶DÇ6ôX¤d¢[äÙSÝìz-{ÇšGûö@SÛ|…¡ÍcÞlÎFýTµ[¸üƒtõC/¡Ì­µkY1ùEûHRFûWžQÑJÄ‡^£‰Æ…P‰AJ[ºG¡wWWë:Û6odKi8ƒ	¾•Õ#Ï„q—Æl02±™¯Â‹­[´²wlëÞ’ÒEœ¬ø´€ð4B+±bž/!8°b$öKW²jê2È†x5ßä§
{RCÏj^ž<unïðŽIg!l
’c¶Š®n3Z.=±£óy^äm®v#+?ûý4ý~FÆl‚ôÙmµÌW{ˆ²1ïék÷=Ûî
’Çƒ±ìc=në1¾Íy­DŽÉìÊÑ(<EGm«Ü‘Tä4NIlè×/%ž¯!¢ô"+—á·‚L/íY¯FAÈ"Á‰	2wn§"ŸE^~³™—±ÔÉJ±ôÈô|Q´ôjþ/HÇ*/ØÚ˜ÁBšª§‹É o‚Éèó±y²UKü¢5‘üs¶a±¿üÒD m2»±s;¦ïÍ†dš'`Q34äV)!"Xâé¯ÜK3m/Y»¥½ª–ØC•xŒ	=Ù"å‘$´u»æ7{úêŒ±¸Ðô« jN_ŸÑXd±Tæ#wü¸ÉÞö†,Üš,{ù†#±#b£1bÈBñƒÈí7DÝe4rx«ª_4a5@ $BlQ¼Úzµasà<äè ~MK36aóÄA•½_Ãõí{[ÇæÅ‰Šx—˜äœŒÅ|Ï¾S¸¢/¹#(D?ÅÄÁñEDÌÐ-ƒYbk­ðEpDN †ø¨cD¾‹˜@˜bÛÀ‹×Õ²[9ìÒ€LHÝ0¹˜ÒŒ=ˆÇT'÷‚Øu-ûHˆÍ{üXð†ï++ ŠAš‰€ØÙ{ášì~†uûâØC°%|¨ò%O¾„ð×²{VÂÄ„½…t¦Ž« õ-sRÐt‘nòîÊ<KÁ™tœƒ#ù¤Õ²%¥íÜ²oÝ„U€YlÿÉ¿º»éç"ƒŒHb L$¼{¼%ÛlÉî~A ±`”ÖÏyÀuKZ¼*Kðcô56$<—1H%žVëñA^.Šn	âêDø‚¶aQ=0ïpóêþ	°0R}Ìš2€Nb:y•}p¥pK„y\Êþl¦
ƒ²@¾¬ýù{—“% m"³n®êj›®Š¸øÆÌ½C¨H^³¥"UWbš–Uù‚ØÙ4„b—ç$*`O‘mÉXR’I”¢sè4ES•aÿ3Â>;BÇDèNÖí ¦$©F›yÑ‰Ó‡ŒÓž2}„8ˆ4³Åš»öÑ\;’——K……™ñˆ…699©=àÝÄ%¹ü=puYä²ésÕµ&I‰{Ê™¨yMÉ©'£ùI82²Õºêx·ë®,eú(ñ" Áßúõ¹ýHaÉ/dœÖÖºïmsDc‹ÓhzÉƒ[%ñqßÝ‚LY;P›ÁtÌsHðcU#²HÔêü¦2X¥f.!>Õ–£¢lZ˜¸"CbÒt‹ÉÄ[û|Šm…F»:ŠöÄæ2’š^`–daÄrÑ
æá–\\oƒÑð#—ÄÈ¢ÚÁÞûQºÆE›Æ*÷Ð†í‰[zØErW“C&Ë*ÈsË?L+³A2	hÂžu¥¬¬Ö"zÄ–²*_&˜œö¦+ˆCŽ­bAŽü$G”ž¤o€çÄ¬UY qäšºE¤,Ô¸â!Ø”ç-”ˆyíJþÁD<ºý"8À6˜Œi§ÇDŠ©Œ™3È(‹1!AÉxQ “«f‹ÃòEUïªšm§X*Ò›Ó/jŽ°ÍcB2‹Mî˜ÇÐ uV/›€5i„ÙL¢‡­dL‚m“——*ðú®ÞôÉ¬¤«®ÔHE÷C™~~†h†èÙ¹ÈþåŠB
lÄ·ÁÌÚóÉ›yöÒ*x°If˜ËÑh/«P`IÖ‡<ÁƒÍÄè˜U…,Ð¹½É©Û·pÚ‚HÕ2‹ëYô†8³'°,vž	Ž‹Ñß	OâŸà•vkbCyÂ±ÈÜºš32äŽNÄRÁ÷z!+ÈIxJ2˜b³–¨ËG¦ÊWPX¦C¼Ü®"ÀSÉI—aÐjçîiä JcJC¸¼VÊ+HHÖn›5™}ºµã«wöâúêÝônz}ukß_ÏèãÍ×éÕ‡‘}7½½›MßÞã'~ðÓõ»éûéÅ_ósP_™r¼&y`Ùˆ °h0…~E‚h{3CzüÄ®ÈýûpfSÐâŠd} çÿç€Økr\M¶§j¶$.s…*K	 xD‘Iï
ž7;æ4£8†‚Ä¢ 1NÚh¥'gçv‚ÐF±„ø¶å’Œ
ƒÃÆžU9A(dO‚ðm]VŠ,
‰€ØÈxÞô
ª±Õ2k _hÐ¦öñ¢PÔE<Rì½£äpè´{*Ü†1d¨P­ŒXñdFžîŒu„?òÛ^¯O”]'pd¤™#É€õ›ky°Ó´Ö6¡bV‚ƒ¤¦G·ÇŠŸh±ß.e¤q¹
xŸ}„Ö%¤àQd‚^šŠìñ7U;ŽçHxcÈ³*“Ä#“zÖ~×SB¶»ªoBlÅÂf†ôí$ý:ˆÏÄª%m!6YÉ²m
²Þ]¶¦ æô#)<)9’£0(`¨¨@!"qœ¼¢þ,fÌ´'19'çgÆœÜö)—55¼vP‰¸8¹)ÆÖ{~ˆ3ß’IJK ¦}›®QŸ˜‰s‹ª	’T2ñ/>ÛLCwÈà rS+1"ëÐ5¼Á+TdÈÄÅÒ*Wd5È<¯hßxýê+ùyŽu¾“üµ-vV’6™÷?ä¼	²úEš=ƒ.áI¯êmëófœð…óW+n¼IV‹òF²œ9íÚ&ç •6îÄ%ev¹=f÷Qq]/û$‡d<ÚMï:Åh¬¬Y”0Þ½°ëÊW<=øÄIÎä-'~ì“šiN)Üw; 5ÁŠˆƒƒäÞîÇ:oÅv“Uý")J´³î(Ç˜fó	—0Ö¥¬.üâ×ü»>O{ùJêp ‚5XÀ‹&ˆu"¼Y“dÓa#°TØ­[æÝväÓ•Ë(NœÝå‹ŽB²BÈ Î)oDðIÍkçdšR?ezË¦nTW³(²|+PÖ§ÉÞØoÎí 5'ŸÖ•×á:«¾ ¬È·káOgó†!°?­­*§…ØÞÛêHEE»r­—A¿Â†Hñ‚óÒšÖ£]ÝìÒ¥Âë$‰´ #3‰”ƒ©%ÓAµSmÆªB¶°ÏBrâé»¯Ž±ñ¢y‰œ×½ˆh–“Ç“5ÕÇ%Ã{ ÔSNpùŒÖ3
4R¸|(Ð×½õžõº¹Õ¥½¢½ªP×=”;Æ6[çDd‹ úoÆXkÿÓf„¬©x
äÍÈB¸b<’øýs}{~&LÄó‡K!¶=	‹L#¡s^Âx¨Dr	WcñO¨WÉn-£±|†`‰D
¦<å)Y¥ä‘¥Kü› ¬8ÑWV^$	+0!¢7y-èbð4Äô¹)&by†„4IX¶„‹æ²+¼EÐ*À4.å'ThÆˆBrÓ1èfô,bÓGFò”ŒbŸ†(.kÍezŸD]”Y¨od¼|¨¾ÁÍ´x$>8C–ÙuUŽÈ ðnEZÀù~âŠ/<^á±$‰;X [yŽ±HÅš1_˜!£Ãe‘ !ŒEš€$££PÆ†}r#¼¢¬„u¿7:Ní¶¡ ±®º‚`YR}‹ö‡ýZ´ÁI ´Ç#5¿w\5®*­Ýd~¦ EÜÖ0ú®(^2ža„ûT¯	.æ#™
éçÛŽì³ô•©ß;Ôg(Ê½JpÿòË 8Àä¡JøY³æ2’Ø×¬ø a@×Á¾åÚÜ1C÷+[6MÙ—pøõN
¶²°­Ô'ytõO©©bN³šs1(ég,Ï(ŸT]‘\ã7ªÄû©•F\0ÒÍ4÷o ¸Õƒ=ãÌ¯ÏAKN@óB’­1±¹Ðt-ªM°&#TÂ¹/¦_&ä&ÿ¨j{_.8"šL}nß"äÕ4}ž3ìaT„›^/”ƒÅq"÷'æ“æsÄé­¯¹è[Gí%R*œgEHIi„¤Q7iÌw¤ýÆ‹þÈ4>i,™n†Nø‚k;¼,#é2r<;½DHù.°ßÑ‹£¨#	Ãs²¤z%ƒ¢hE-Œ› Æ×Ì+„kôN•½²ÏX¼Ñ„Í(ž*â¿»5©eKy·aŽ0;€™É7h8Lø‘]£5OK®\HF|‹k¶^ƒK~XPeàÊ±Ù%û´ª}]ãI¡9ÃçÌ>TE·NF ª)6È„Äë,Ý›–yr÷=u½?æÊošéýñŸzxG&Œ=­hW*“i‰î©TGdJ‡X—ý7*ëe„…{ž£l¹ Ý÷44C
q€ÍíÓØ|”v5DÏ€y?$~Ô7ÁÁ÷Ig97§]J÷(Ii \x¦‰î`ÖPHa¸Û9$·"à ³ÊiJî* 5ùÁ=eQÓù™}'†QFh
ó}u¥¢Zå!:+¸ð²ü3–ˆËd§¼îç5ªÊuŸ•Õú7=a¤ƒãÈG’¥}mà¢ï âÚ"Ép?M[)aê}tVß|§QMÎ9B%½I÷•{–7o¿%›ºFâRQÏR|è{0#(ÿçç£å¡²G™²:±E+  ºéc”×gà½¶íøÎ³¨jÈ	¨Cxmn½ó{Åä¼–Pç0Ò¡€QÚ€>ú°3ð‹ª–.-®ÙnQS)ÝKªyú(¾÷…xïÀr˜æX6$íœÚ°Tm³:çš­dÛLß‰ÔVbHù†f>fš—ct‘ ÔåHs±€wóÂÀ’”Åµ}N·«ò…·€«²‚¡K:@›¶k™ Œ7ð`ôg›7«\«*H³iûâ`¬Ú} ®U·Þb«>u¶Ý9NÆ!¨Ï*ð.D¬!ÞýåDÈCé‚»´=ß`C”›¼I7Å§’Ø…¹3%ÃwW'‰zÎ5F‹ÇKR>ß}N~á½'KySÚÄíµÕ“ÞCÚ5B–(â£¢hBª1ö“f·†òqšž#öî;BDi"µö¦&³‡ Á–D-ÛaÃto´ÝˆQRñú#E¾ž#&Ê›¤Ðñ"˜¬_8-á³ÒU“Ô´†ÂmÅ?`³¥±k”éDaã°g›‰{‚»c›àsg’²‘ºX6t3>ÚTÓ¼½[ÈÒ
{|––¨r¡­ÛBC8YU¶>0”ú
‡M±. v‘,ƒ[^MxSH¦©wI¼èhkPì{ÿ$¢ä€V£ÕèU!‰§i[‹ìQ,ª¤ÁË¸kTö€³à%aÑš“Ž¡¶ä-jÄbH¹Ðnw‹¶«)²=ÔHR·l/«ZóÍ–KÙ¢®šè‹¼¤ÕÇÕ·Sûèyu<pDBJNxÝJ›¶æ]¢TzL0@@ÔÚ1:ˆld³ÐpŸ2ÍC98·§“^^MRàˆäŠë*^‡JËmÀÃÈ˜ÔÛÿ‚ þôN‘Þåx£Ÿ±
IŠ£¦ég%þ™Äè/hÑÝÇ
š.8¤%Å2 å—¾™Z;}ùÆ¨d/Éí-Pž=°‡"Ì$ ‚mîûÂíâ¾† 4}ëW.iq)Þ£éÿ÷ì±ôP¢çô°æižØÕÑ!äó,R.{sÈ»ØTùâ íÜï„tð¤²aÑ‹à#‡¶áêQNnH·5 9âý5) –CÍy·æ.9Öë$]îë¡Ã}˜kFõ5–$'<¨:™\k‰ÒŸèO0$lö&ú¯Ò“¥9²ãeßÉ,-;j,¿h–¡­!üµoì°–¾d¬øwP3ò<ôo+	«·#¤‘’”\Ç—\ ÷Ñ7wM© ë
R,a¥/<C‘/z¯CíANyDu‡q@îaáøÝ>ß5÷:¨0'êºuC6Ø7P="â÷9¤–™ŽÓ„O ÿ3.’ÁìõyÜ`ûÊ8ì‰Áb¢ˆ‡t¸<gxGc»)M
ÌJ2²ÁðßQÓ,íì§üy
­”ô–&de£Eš-†UrIzŒÿè1 R’ºg36®¯Zs&Ì74R)ò‹CŸ+^â´R#À#Õ*ïp½ÄYní4L–M—ç‹aO‰tò‚‡,E`¹ Z*<¶Œwtö½Ëj>¯ÖŸÖáLtt(†Ôž/&‰Õ~ÉFºñ1RúÔBEEÛJÊ3¥ò´a¼©¥d„üFå¶#k,ï$\U
íaÌ*õÜçcU	¸¼¢xÎ	_£:ÝgzÊç ‚¨qÒª€Ží}™™lØ±0ƒHê>!m›:@ãO+ÈØ™OðpMlFq,¶ä<§å&1úÜè
UàÓsz¬ v¢´ª•qÐÆC“O
Ù#ø¶Â€cF©‚Ø@òI=h[Dš´û÷ù§zË(5~í4/}Ï—ŽLÄÎ%õ–œõ¦q›ý‹óÞ[rl	NU‰âo®.]1âŒ[t05	>ì›Öm¥ßf¾M¢Eôà4Hc1Âæ³Jaªª,ú32éÛ<ZFs¤?K/ay“dKä0ð’½]µ­3>sHVžñ¡˜AS²–ŽK³Ä…5YsÈ5ôóKÎ[šŸõ­êóJØ½ÕwBÏ+·¿ØaØŸVžˆ!íó‹’EòET-ãÆÖÏ6 !›ñr¾)T·ÑU¸¨*wãÆGˆ“É9>Ø pã¦Bë›G¿&ØP‹{Ò.­¨pó–œc{’â\›ÒVõ'ôµÞ}]òÁHø¬ÇêG¸k¸0ï°b”Ì4Y@or¡x7þà!‡¸ãõhgqRiþaKï0pŠšP><ù®QÇ[¡Ûˆ5\ÐLhøa”‹ßIšÞ<ò‘E4×æå2ªá{Nã™ˆ?±‰¼¥åüW¯(’E¥BàØU…pö‹A–Çé”4ï ¾ØkØp¢½ËrzEdÅs8ðè½$¹ÚîZÓK›ºÜŸ8œÂ9Cáƒ±¬Cb¼Eò59È3Ür ö…}¶Ò'Ùëw-&Çg¿½è‡uª€ýyü¼î¯„±/á´ž<òé ñ'ÞµçYÉXãWÙNŸàž†ðÞê|9Â® $¸±‚3Ñ&qÊ(ÓrxˆS­k4¼‰íNŽôzÿ´x ×6e)=ýŽF<Qµš5k“Ïó6¤×|™Î7.®&éY™ïÓtÉ±Ò˜¦Sm°{º,&Î.‚ÀÈô™4-ša…v‰;)DöüE?<»b
ÃAè#mãRÊ¤rwÁ«Ÿõü@›oöŒ>WO;¶`Ó/XÐ¡žP¨ŽŠ}ÃÉS=ÂÖÓ”ƒvÚP!wOzG*Ü¯3!‘Ô#É68•#ÜKW¾åÆ'>§ÜÕìR`Sî¿]Þ,ª`ñ&¦l¸U>Ñ'n_ÐÚ­+é¾,#Z¨î=*7Ô½Í«WÈ¾(ØE—×nµ–¾ ØuËµ‹âÒ}Ô5!GM^®å8ÿÐJ7¶ÒÕó©ÕS9d¼Íõv=¦LJÛ¹ælŸúã
!³‘%Btês’ó½RUÕKFéá`ùÁpŸÙP
¤ç£g?ÅAS'9E¥),X bÞ PO¿ë¯vðø1ÆOþ`‹”Q:Øvi«“žhéâ%²ÖÆ×C»/º[î=v´“ìç£×4~°‡ûH,™å€¿ä°·Þº‘Ž²ë¹I¾FÎ(ÖÕ>+Ú½œLŒtü°¸È]›ÜòQñ•Uh#×P†Y.Ã§vSs©†–U
äü™Ü=Q ª<wÚMHZF<âçšðXÕðZ¡I‰·øùÞ
I9å vµIÑŸW !©`/E#ôò¶Êá|bÑÙÛ¼^tÛ†m·ºyV¨!WH†Ïˆr/yñS}3àÑ¸E(ž·‘-êó›GZÁhk:•*þ$J/œ‘ûL8Å†¨Íáôš$b¹‹Ì_Aã[È˜YÕµ4ÍØBž|c’Éù>»‹„ÂèúüŒE¯k‘1.²J¡é ÙcƒC×N—³?Ÿ¨7» ü²Ÿx½®¢Ç£kÖhŽÁÙs69:I¸Oå1[ÍM9ä¤	âø¥Öº$©¤—KÎQd¢”&Ì†-nœ¢óžòÒEðÝ.œià…?-«RØ¯×G‘’³Ÿ4Í†%`Pö'Liõôõv]‰dûú½T/(V˜K&¾½ç	©æ6'ŠYÐqÊ—Z<jÖdNlàãÀRÍÌÀU‰GmÚÛLîu¨/1ý¤79Ïð4Ñù"l‚¿:‚¬6Í™¹wF*ùœ°Ù÷¥‡øøV3J!ÉÁÙO˜DN$I®cÎ€+eË¥4@pã›C¢k·ájn²ÄèØ¹4-ˆKA\¢øäÕä.<97%Mú\:é!f£kt\l7-U“3ñ«ùÑ	rŸú	âö‹UHkUb^-ËE´§’2ù“·ªqºEÕî!çã²á¸¦Kïß½ûƒCú€g¡RôoM%%Cñ0s¾§"‡yÇí»œ–ãõÏå—mkÎ»KÑ—¾ôÂÒ‘œ@›zâ–§ð7êhû-I#×üe‡ÂF;ü2½ýaÝÑÚ±ßþ	¹.0èBH+i
Þ#}ô ãSleÔï§®öŽç?CïäÉ(½æ-T²ròÝìchÚ'B½YW!ÖÞO$SùmîVC(Ì¡.=êà×¦Ì>ŽÐÁp¢¯R“)óàÞÏ/‡,Ž$ÓDDðþ9 FßÐécõƒÎnf³›Ü¡7&ª;Ò%çaZ|VˆÛÐë\ntƒ¢‰“ðÄÀ÷µ Ãþò#ï2cc÷Þ§³=©·oønÂjë d\ß2ïMè…áûÙñpƒ4D~Ù“‚ôßºB1„”<ºÃã‚è
€Ó>À_ù»&£K09Siä.?¿‘DJ÷êKÂ+k1'ß‡pm¿Œg³ñÕÝW¿œÛ·“‹ñýíÄÞ}œ„Q§·þÔwöýl2±×ïíÅÇñìÃd„çf<„+L4 =uÍNþy7¹º³7“Ù§éÝöö«ßÜÐàã·—ôøøEéÿ¼˜ÜÜÙ/'Wæ£™9·wc<?½²_fÓ»éÕ×&Ì¦>ÞÙ×—ï&3¾[á§ë™åíÍxv7Üš›Ùõçé»tM'ã[¢úÄ~™Þ}¼¾¿ëi§µ¯¾Ú¿O¯ÞìdÊMþy3›ÜÒò=ýDOèÇéÕÅåý;¾¶á-pu}G£ÓÂˆÎ»kæŒÖNÄÐøæÓdFì»º¿^NiJÜóð~zwESðmc¡üâþrL‹¸ŸÝ\ßNÎ…4±{6½ý»¥Ü]3›ÿq?ãoiˆOã«Þ¦Á6bµöëõ=y
Zõå»øwfÓÄ¾›¼Ÿ\ÜM?ÓÞÒƒ4Ëíý§‰rûöŽÙsyi¯&D-F½Ì>O/˜³ÉÍxJÌŸ™‹ëÙ£\_Á²ürŽ#™|Æöß_]b¥³É?îi1G„À‚HÐÀÈhÏÍ—)MÝnüˆ_¡úÿJ"tm?¿Ê_U4ÍèïØH%‚øÙæøí58ð?3YDØíy7þ4þ0¹™  <µÞ<²·7“‹)þ ßIìhŸ/-ßñA
ô{l!}¡ƒØ1í%–Ôý‚úAÎ®¼|ÐÜC•<íç>”=sy}A£IîÆ–)¦¿àéÙäŠøÅª4¾¸¸Ÿ‘Zá	¼AÔÜÞ“¢M¯dS°^Väéì×%æ³}?ž^ÞÏŒè¼&bH´°!æöúýéÀälÄ2`§ïiª‹º{6ÑØ¯ö#mÅÛ	=6~÷y
£#óÒƒÛ©òäZGP>x\ÉƒGîXážZXù1Çœ’M½c/O_~…U½"DsîK2ê	õö9„‘ÞŽ]Îªð_ãZºoÛp·Œéšàb$€ãËò¸Åa‹ÃTr¹_‘›ØváRF
aL’´ìïî¯ÚåÌ* “1î çCÞð´BÆ
g`ÊL®Ô=UîùÁ8grcl8×ã§¡ˆ‘i]·[á¤Mr¿ç¹^%Ýd+°Î?¼¼õÏ’›”Ê÷iyZv+¹':º!Ìðõ-{­SDào±NNÒËP<F³áÔŒ4ôÝ Îœtqb¹§Tî7ÚUVq{ºÔ°ÎNê|0`ñ”øƒ½äWã^’"ÜsP¢ø$Ù5Ì¤¡T.,’«Ò+ÇÑ˜bå-`Lá¾è9&‚õ&œûIäIp3º’ÂÅ·O‰ÁÓ—†*Î2>?€%èÚœk
‰PÂX§ég‡¨ûüpáq2C{øâ-”Gir¨gdýxL ûåqÁ›Ð9­íÚœæC¼áŠÂaC×NdÿØ³Û[ç<[Í‚>®ð]ÖÊ|—e,°ÇÛdþÐžÅEô||ƒ˜y ÎŸ¿ç~dŸºèÞ$Ýëíµœ?È‘œÜjþ(ÜØÆ=krÿ4Éáhe]•Ä¹?vÇçEÊ
îÜÅ•Ç,2ŽöªÚÓƒ§þ^ípRYƒ–­«Ï¬ÞPnDT…¤œK¾N™Ë~8LÐ§Iúû>NBcQäÊøÖ62hõúÜµå]A(Gñ
T½ _«}µÜ—Î³vd¾³Èí=ýìlp·™hfû¿ï).AÊÒ×øA.1„ÉýVVóæÌ'4p)Îß0¿/«­ý˜-¾ñ†Òý…H|îöö¢ÂÆ¾"Zçþ~6áÛ¢#÷7Ð|&Y‚fí‹pá,žCóÿ0ÿPK_³*ž¿"  la  PK   Õn5'               de/mud/ssh/license.txtMMNÃ0…×DÊfIM+ÚUHˆ¶R[,§ö¸6I<‘eÃ}¸%N%²,yì7ïó›£&xÅÂÁkÀ¾o)@kYAË<Ë³ŠûÑ™³ðw‹ÅT$ðÌÑÎ³›[B¿,Ëa
Ñ»E›òK%»ûÒ³
:*?eî½.g0µMeª•ÃÄšwhR3w³	zÔÆCïøì°ƒt\ïëÖ»=T»Í¦ÞW/«7XmŸ`»ÛÎÿ]½ê"Ï>8‚@Êµ#t,!¤œ‚%“ÿ$ñšc+Aó@r`¬h£¤¤K<ñÚrHÃH¯€vGÒøàÌ)Ã6Å@+!=ACÔOºÀQhLÐW&Æ ÙJ{rPDò„¢¹~ãwý PKñ<-o  „  PK   q€•)            ,   de/mud/jta/event/ConfigurationListener.classmŽ1
Â@Dç'1«±±U¬EÝX
VÁ~M¾aCÜ@²›ÃYx %&ˆ h1Ão†¹?®7øXb(ÐD„QÍvSš³Î\¥¬.a:S–—ÊÜ*¹/\¦ÍY/Ž„èPº*á­.˜0ùêÆº¶l¸ZåªQ„ÙÇ7l¬üK·':^ÊdrwÊ9±„ñÏ…7^+ „ ½.!lÝƒxPKwQ”¥    ç   PK   r€•)            +   de/mud/jta/event/ConfigurationRequest.class’[/AÇÿ³­.ÛÒ*–ªë½…%‰‰§uI‰÷évZÓ¬]öâ»ø$Dx^}(q¶-¡hd2gæœ9ç7ÿ¹¼¾=>!†,hH`r˜R‘KRlZE^ÅŒŠY†„å:ÙdÈ™uaœ…u£pãÐ›ÒÙi/mRÒ–td°Í0Sü3«tÂßqë‚!mJGì‡g5áóšM‘¬éZÜ>ážŒün0œJŸ¡ð).…dèñ@ºNU\„ÂHÆhCz¢³éžð}Þ$ˆñ‹"Súp„·Y2[ü’6wšÆA­%¬ˆ¢œÛù>UÚ‘z–Ø•‘ÌÜojV#p
æRÄÃrÿC|ÀS˜G’aé_GfÈôêg˜ú!üó.bÅè2¾¾Ñ°HoŸ ƒJ‘\²
Í5$É¦ÈÛ%_¡Q+ßƒ•+wPnÚ9ÃdGèÇ ÄQ¤Êù€ÞÉF =‹¨ŒÚ(²]fµËÔ+/ˆ]!SyF¬|åqÚüº‡¿FêÖ1Ž/|ý“¯cŒÖ"þD»NPK:,¨Fˆ  Þ  PK   t€•)            (   de/mud/jta/event/LocalEchoListener.class;õo×>f]nvvNv.FžâÔŸüäÄ×äŒ|F(Í0F®àüÒ¢äT·ÌœTF1¸¼OfqIj^j‘^VbY"#ƒRJª~niŠ~VI¢~jYj^‰>†JFZýœÄ¼t}ÿ¤¬ÔäFI$}9¥é™y0ålŒŒL@ÌÌÀÀÀÈt+ˆÅÀ$™ØPKß«ÿ
˜   Ã   PK   u€•)            '   de/mud/jta/event/LocalEchoRequest.class…R[/Aþf·º´‹*V©[5¡—°x­xž–J‰oÛv´Ó¬-{iüÿ‚„Â«%În«‚læÌœË÷ïìÌÛûÓ3d¬"C©!`ZÁLœbi³
æÌ3\ñZ³ÍÀN¢[ÂÞ6C$wš?¡m§]ç£†°ù^åÎ±Yµ(’4Ú5Ó:1ø½`Äk
—!kÔ¹~î×õ–gê¼ÃmO«w©M…_úÜõJTÜí:v&~hùaïs×5Ä£ç¾2t“†p=ns§”7ZfÇÔ-Ónèåj‹×2éÂbHÿbˆµ}§Æ÷D tò» µ€TE*1Ä°ôûŸ¤*gÈü;-Câ»f†Ô±ýùå\ðïU—{}&dèö¢`PhE‰ $:Ç'«’W&_¢}´ð Vï!ÒdnÃÂa²IËd³_Ár´ ­£/„§1ÊÓƒ Äx¼Ò#×Š¯¯‘(¾@.ÜAzD„TÜô{ŒÐãÖIæ&°ù…_ëók”™ùµ7õPKêª‹  ©  PK   w€•)            #   de/mud/jta/event/OnlineStatus.class}QM/Q=oZÚR-Šõ5RFX‰ÕP	±°{m_ë5Ó™ÿÅ/°%!ÂBØúQâ¾)MCÒÅÜ{Ï{÷œ{ÞÜÏ¯×7Ä°‰å$tÌŒ Y…U˜Ó1¯cAG‰!á:¶t»$°/0ÄË—ë”Ý]e,ê8	;5áóšM'9Ë­sû‚{RáŸÃxp%}†’Õf'l˜í€›âF8Yfœ<ý=†lSzâÔ[Ò9¾Ï[D6Ëý´î¥%ý@8ÂÛ[·Úü†›6wZfµÖõ€T´k›¡8€Å<sC¯.Ž¤²—íw±¥ÓHa1$Œ¦5U31–°È0?Á0þ×3ÃÌ?³½÷ÇÊê‡ën³©4hB‚VÇ0L_\9 QBšâ(¡#Âådå¬R|‚öõŒQ£%«Ä4ˆ»†¡|·ãÈQ¥TiïÈaâGSRV]ÆÆb·(U¡Ý"³ñŽØâwHwë!âÝ÷Æå1Dq‹›„·QÀV°Û7Öè50‰©hl>âOPKoì-’  ­  PK   w€•)            +   de/mud/jta/event/OnlineStatusListener.classmŒÁ
‚@„çWsË:tí‚:Ô¾E§À@è¾é¯¬Ø
ºëÃuèz¨h-‚†a†oæñ¼Ýb‡…ÀL ˜âÖ4Ú0!ÜlÏÑ–å''Yëºœºña•¾©Ì*ëú£î-îöµa]°¼ºBÖVIØXù&,G\6ÊT2½Ôœ[û3=5®Òæ‹ÇBà"B„	à=Ý÷bì1}PKÖ ø%   Ô   PK   x€•)            %   de/mud/jta/event/SocketListener.classUŽÏJÃ@‡ÓÄl­ÿZÁƒx­Ýðl±Ph!è=n†°iœ•dS}6>€%nƒ¤z†ùæ›á÷õýñ‰78U8R8V8!(ãDØxÂùtQf›LW™:õµ•ân~ýDÝ¿~õÖI£0V˜”Û¦?Œ¦•º¶6<³ÎRgÖì¶ñ,\ßn®rÖ/m®KŸiÞ°xý_#Œw	–Ïe÷ýâÏÑªj+;ý²Ó…½~”µ¸7ypïÓ†ÝÞ:=_ö4!¡" ƒ˜c/LI˜’À†ícôËâÐ‡¡¶6 PK2l|çá   D  PK   y€•)            $   de/mud/jta/event/SocketRequest.class}“MoÓ@†ßÝ¸qiRÚZÚ´|4%FB 8 *¥€HT‰£ã,É¦©ìMá_pæp‰‚ÊÁ…?
1ë„`hi¤Œwvfžyg×þñóóh¸†ë&LäSHaM™u—f ã²2W\5±‚¢’2ƒÞõCÉ­÷œÇî;^ÇnÈ@xÅ~@1¶ÍÜžw´Bq—"÷ý6gH×…Ç÷[<h:­>Wßuú»N ”?ÞÔeW„ùz›ÛûÃ¶Ý“ŽÍ¸'í†ïîqù”¿òPRÇ…ÂqÛªaæ¹ø“þ°#¼†N‡°v!ë"”ÜãA­=nõ¸«ð‰AŸaé”*–Àó±Ú¯\>Â÷(f6üaàò‡"šô/íUaaÎX8‹4ÃêþÝÏÂ&rÝZ†aî„ž*l]9ýèfÿ—añØœ“£3\ßó¢$³-Â‰ÓÐìþËÑõ¥t²!w¯8.Ç½X&f Ô¸P?š˜¬Fût
d³ämQ£§YúVb‡H¼'/¹(_#»AïexEœ‹XQ6æ±@OEÊIÏ¨Jå§#R™H¥åChpYÎS§ãL¡Bx;BæGec¤Z)Á,Z)ÉJà"ÎÛ¼¦l•_-ƒþvéß‘+…®–ô×Ž0¥á-,µw„$£õôÎæGL³w¡ŠšcQ${“ü[Ôì6ÖQ£èÜÀ½˜¸êD\•*–ˆRÁ–q1·¸úPKLÀzí=  â  PK   z€•)            +   de/mud/jta/event/TerminalTypeListener.classm1‚@Eÿ ‚b¡…0ÑB÷ öV$šÀV˜l–Àjp!ñjÀC—ÂHa1?¿xïÏëýxÂÇÓã“1a¦ØfÜÔÚÈ*»_™°Xo’RvRTÒ(‘ÚFµ'Äé¥mr>èÊ1Ë¡’è›eÃÍ®·«‚EÝ¢´RpÇÆŠ0aþ{r<—œ[7;POU«´ùâ!à¹óP@0êB—¢PKÂÄE:¡   Ü   PK   |€•)            *   de/mud/jta/event/TerminalTypeRequest.classR]/Q=ÓK•RßŸ!AZÅþ€Š‰§õï·íX·ÙnÙ½+ñSüž„áÅƒ%fÛ’/söÎì9÷ÌÌ}{|B›XÌ ISƒH`ÚÂŒ…Ys„¾mík³CHŠ§„Ôn«Î„œ£}>ˆšU*ªêI&ï´jÊ;UŽÏÝdÊœë°æÔÙnFu»a”ÍWì»ÂASûÊ«\_ð1_Fš2aôL|äE®ö÷9•+v¡—Ý)::4ìsP.:u¥lOù®}Xmp-VI\x„¹?XÒLÀ&öü;sÒŠ‚ïé¸é_|nÅ¤,,ôVÿlìóÂ,æ±@XùÏ#ßM‰½|'ç²é•!Œz§rbí»e,#%–}²aŠíK“-H‚éõ{Ð]»œ‘Ø×N.cPb¶óƒà a¹.¹&˜œ)½ qƒ±Ò3Hö7^‘Þ¸¥Û/Á¼8 Šró:FQÂ”<»X|©#Ð¿F¤.A,ä1Öv;ÞV™ø PKÉë  ¯  PK   }€•)            )   de/mud/jta/event/WindowSizeListener.classe±
‚P…Ï¯¦eMEsKu 5š„‡æ›þÈ½‚^z´† ‡Š4ˆ‚†s8Ã÷qÏÛ66{zyð	“„ÍYé¸hCueÂlµRÙH![#ö*g]©Bï~XÔeÄ•uÔü«ª2¬¹Üöa³ÈëX¤F
nXñ¦ï‹LêD/)G†°øOY(ýÁ]Áêb ‡à`Ð/¸][ð^PKÌ-¤   Ø   PK   €€•)            (   de/mud/jta/event/WindowSizeRequest.class…RËNA¬öƒ%Æ0áD¼$lL˜0Ê%§… ‘óØî8c­gaw$þ„¿ §(\8ðQ(½kC"ˆÈ¥k¦{ª¦zznï..‘Ç;¼-¡ˆi3#ÈaÖÃœ‡y„¡-c{OÈWk„Â‡°Í„1ßXÞMzMŽ¾èf ™Š¶tp #“îÉ‚ûnbÂªßfÕKÚªë´âc¶N}5¶žì›SþÌG	Ç®A˜øf"Þ’Ž±;Çº#
ªú7·_ôMìØrÔ¨ù]}¬U mG}jv¹•ªäÂÂ3,i%b—:þ»´&Q‹·Mjú‰ËÍ”R†‡aÂÊ3MÝ_VÆk¼!,ÿ¿Âøc;„Ù']<<Ìh‡ÝñZ¼†>qê£é±MhXBA&+sd²”Z—øBvJ‹ë?A?²rIâP–\ÂˆÄrÿ€à¨ á%Æä–`^p®~Ü&ëWÈýBž°³qƒâÆ9?VÄ°&7W1fPÏÄûñt5.uùb¡‚ÉÌí«Leê7PKþžõŠ  §  PK   €•)            "   de/mud/jta/event/FocusStatus.class}RÛnÓ@=k;1INR…–ÒBÄµEH¤Q%s‘Zñ¸I–àÈµ+_ÊGð|¼€DAð€à•o_@ÌÚ%D"K3;ã™sÎÎì·ŸŸ>CÅe¬–QÂB	GpFšEgËXÂò4œ“æ¼Žt\d(îùéÀfÝ¾pvÓ¾3L¸ó(K®1Ä¾†ywÈ÷¹ÃŸ'N–q6Â^·å‘ªŠ·½ÀKî0\iL@™ÒÚÜaÐî†}Á`º^ ¤»]mó®O™šö¸¿Ã#OÆ‡I-yæÅ‹ã<c°[	OÒ˜$UŸz‘ÈÜqÌÔëLPçzq"­5s™>ÎÃîPôäÅ”=_Þýÿ]å­0zbÃ“ê*c"V%ž—ÌÀ0pÇV¦éþ«£a 	Ë€–A+m1,Lk$æ¿Õ3Ìý#{4	µ!'_-fýñv;_ta ’Í{YÅ&Uä¯£Ãi7ýŒ¡>iÇÎÌ‹Ý0N²R,Óë+F…^Í  Oc ¯PÞD…l•¢'«äMë˜e@±ZPßf…5²5jd›i„YÊ,åm8Ž@v’4,;I"ISÇÉCš+ä;öWh/±n½ƒú…×²óFÆõ;ùÓä·ì/Ð¨Hùˆ¢‚W¨ü‰uB~3’WGìUè¸F"¯ã&}mÜÊ$ÖsÊ‘ÄæpŠ1ICÿæPK®¹AW  ¹  PK   €•)            *   de/mud/jta/event/FocusStatusListener.classmÎ=
Â@à7FAmD{-t`¯M@A°_“A6Ädws8à¡ÄÄ´<>s»_®¨cŽ®¶ÀG‡08§î¨ôZ*Íñ*‹œ!§aÌâäb‘X)¶O°œí	½3cß4Øe.x¥R&ŒžåÎJëL¨ŒeÍù"‘…$L¾¹`mÅKèWZ¤RÅæpd	ãŸW>¼I ÔÊ«¨y Ìf•eïW=ZPKZþ˜­   ø   PK   ‚€•)            %   de/mud/jta/event/AppletListener.class;õo×>f]nvvNv.FÎâÔÇ‚‚œÔFqŸ¬Ä²DýD0_"l­ÆÈÀœ_Z”œê–™“ÊÈ ‘ðÉ,.IÍK-ÒéadOIÕÏ-MÑÏ*IÔO-KÍƒé‡)cd ž“˜—®ïŸ”•š´QIS@NizfL9##33000²02°0°‚Xl@’‰ PK@–†ž   Í   PK   ƒ€•)            $   de/mud/jta/event/AppletRequest.class}’ÙJÃ@…Ï¤±±iÔZ5u¯^Ùâ¥"ˆàU\Pñ~ÚŽuJLk–¾‹o¡ ˆ^ˆÞúPâŸ¤wBfæ_Î7g2y}{|B
ËXÐ‘F!ƒLj˜ÊRnZÃŒ†YsiÞé8"`·[¼Ë­$´¶ãiƒê›Ò•ÁC¡ô[Cù”AÝi7Ãˆ-]±^Ô„wÂkeòv»ÎSîÉ(î%Õà\úvCXaÃjÜ]á~ Äe(ühëÑ3é‰C'lJwOø>o’Ú*}Ö%E[úp…·QN:ÜmZµ–¨G¥ã0Ìü£bÐÛ¡W»26ýÅÆJD4 cÞÀ 2Å?là‘e˜ÿÿt¹ïV&xì;UŠ>tÆA‚Á"]g½jä€BkYŠv)VhÖ+÷`•ê”›¸gˆÆaú	€%R–HY¦0“nŒ Ä«ˆÊèE¾Ç<ê1ÍêRWÈUŸ‘ªÜBy€J›_ã¯’»5ŒcýßìóMŒQ-âOÄ:óPKiæÌ3€  ±  PK   …€•)            *   de/mud/jta/event/EndOfRecordListener.classmË±‚0àû)R…ÅQw´O¡“	F÷J	–çàøPFLîrÃwïÏó‰©ÄL"&$;g²Û‰óº1±Z_ñ¹n›œ÷eÅ„ÅÊ‡gÇÍÖêNRÃêÞe½VÜ±óê%Ì­*í
•]-çž°=U[”îÇ#!è# PH1¢¾È/PKQã	z“   Å   PK   †€•)            )   de/mud/jta/event/EndOfRecordRequest.class’ÍNÂ@…Ï”Ÿ*TþT@Y4Qç0nŒ®*4ìpHiµ?¼‹o¡+££[Êx[Iˆ›{:wæ|=í¯ï·wÄpŒJ
	l©ØNCAQEIEYÅCòTÚÒ?cˆÕê]†ø¹c
†¬.mÑ
Æ=áÞ=‹:ÝéV×pe¸ž5ãþôtSðq`ò‘op1¶Ï/l³=èˆ¾ãšñÏo2äÒ×V0”ö•ð<cH^[4O7uéùÂn³®Œ‰Á-Ãòvo$ú!E¹·*+\©'pûâR†!KËYNB¬kû«²ÿ25ì†g«ÿøN†ÜßÐå¥´ó^@`qšM 9±0!ÕuZqRFš8|{Ž¶ST“Q³Š4Umz€tƒ”!ƒìÌÜ"UHO(ÐP^#âÓœ”¡{4è•GÈÑ	‰Å©kFŸrÈGA
‘oóPKKG[  `  PK   ‡€•)            *   de/mud/jta/event/ReturnFocusListener.classmË±‚0àû©Ââ¨»ƒÚ·`2Ñhâ^Ë©%)-çàøPFŒw¹á»çëþ@Œ-r©ÀL #äŽ}p¶huèñzs!dç68ÍEm˜°8}Á¾î<[v»FõŠ°*YÞB)¯$÷l½üc	óQK£l%×†µ',žGªÚ~xJ DCb ”LÆ…tèâPK|c¸“   Å   PK   ˆ€•)            )   de/mud/jta/event/ReturnFocusRequest.class’ÍNÂ@…Ï”Ÿ*TþT@Y%‰Ì`Ü˜°ªhÐ°`Ä!¥Õþð.¾…®Œ.Œn}(ãmA4’7÷tîÌùzÚ;Ÿ/¯ˆá•ØÒ±††¢Ž’Ž²Ž†ä±²•Â«Õ{ñSg(²¦²e'˜ô¥{%úu
¦3VO¸*\Ï›qÿFyUs(ù$ò±/¸œJÛç]é®Ýv×•wôüCþZ¹òÂ
FÊ>“ž'F„àµßæÙ¦©<_ÚÒmÕÍ±˜
n	{ÄÏûc9)Ú­ÅPYábH]:;m†,-gi†X:ÖVeÿfØÏîÿã;rC3”—Ò.~@ÚýA`qšM 9±0!ÕuZqRFš8|{Œ¶ST“Q³Š4Ucv€tƒ”!ƒìÜÜ!ÕHwh÷0oÐž#âÃ‚”¡{º):šÈÑëBbqæšÃ§òQBäÛüPKZ§[  `  PK   ‰€•)            #   de/mud/jta/event/SoundRequest.class}‘ËNÂ@†ÿ)H¥ €—zÝ(BtŒ[Võ¼ì:âR°Å·ÐDctatëCO^b&Î9gþïü3óöþôŒÖ±d ©$†0­c&E¹Ys:æu,0$Eh«vÙQ†Q«).weÀOªÖ6CbG¹*ØeÈ¾—ÖNâå¶-2–rå~ØªIïXÔÊŒYíºpN…§¢¸ŸŒçÊgÈ[¶ä­ÐæÍ@py)Ý€µC×®Ê‹PúõÌ)O:aC¹{Ò÷EƒÄ¼0(ë-åÒ•ÞöZÏš#Ü?¨5e=¢h‡aîƒA½º¬¨È^nÐÅFLÃÀbÃH2,þmú–F)†…Æýé“aú—Á¯3Ç
Ñ%';Ž¸êb°L/˜ ƒN_<ò@£µÍiŠ*kô7Š`ÅÒ=´ÛîžšGéÝR®’²@1`öv#ƒ,Ð]ETF#‡±>³Úgš¥WÄ®‘-½ V¼ƒöˆ85¿ùÁçänØà›_|ãT‹ø“]ùPKÚ×œŠ  ¤  PK   ‰€•)            $   de/mud/jta/event/SoundListener.classUŒ1
Â@Dç'1kb£v6ÖZèÀÞjAQ´_“OHXW‰›€W³ð JL‚3Ì›y½OøX` ÐˆbBt5ú¾¿T6%ŒfªÐµ––<ìÔj~$ÄMW&¼ÎÆ¨ò›cËå²…	Ó”å¹Jeá´äš­“aØm3¹9œ8Âäg³5U–Û/^# „ ½6!lÜƒø PKø¡Màœ   Å   PK   Š€•)            ,   de/mud/jta/event/TelnetCommandListener.classmŽÝ
Q…×f8þ#W<€¸à¼QJQäþ˜ÙéL3gdÎÈ³¹ð J~ÊÅjï¯¾Uëv¿\‘ÇŠ@U Fh¥l‚G†í$‰ce‚×¶„ÊôìóÁêÄ¤uÇë$;ú<Óº?…N->ŽBuR„^À2ÎZ%ùÄÆÊ¿6¡ùôe¤Ì^.w!û–Ðùê®¢l¯ÍGo¿tÈùò½­H ä\ò ÈsëQpTtä¹+\JîÏ¡ü PKÑ!5"¶      PK   ‹€•)            +   de/mud/jta/event/TelnetCommandRequest.classTÛRA=“`6,«Üˆ— B¸,!J5UV¡$E•Ãfƒ{‰›]Ôðü_ÕÒPj•¥¯~”eo6`¸åÃvO÷tŸéÓ=³¿ÿ|û(&±¦¢Ã­hÇˆ‚TùF¤[1†Œ‚q
†ã˜ôd ¦¡«˜ÆŒŠYÌ)¸£`^ÁCÔ°J,Ï[’¶ô–ZÒù±mR+NI0´¤-žúÖŽp‹|Ç$OWÁ1¸¹Í]Øg‹·'«£…’Ð-¿¤ï{\Âöô¢0má­8–ÅíÒ3ñÒU/Ç ¡‡¡sWºbÓôËÒ^Õ*/œžn
7²ê	[¸¹±Â>?àºÉí²¾±³/Œ /R1/È¢é0ô†ÉÒÑŸl¬¾6DÅ“ŽM›ê–ã»†X“›óŠž
5ô «¡Ý©‹¹¬á.zºÏ9WÁ=‹ ãÿ(my®´ËywW¸=ÒIŠ£ø¤Áýòž·¨a	÷±¬á*x¤!5¬"Ë0ò_c`è8ÝI†þ3-<žJ4\ŒÎª°K'àNàl½!Ú×mn÷&±òˆ›àññJE™éÂiê'ÜÜÜ©ðÆð/{Nè¡F¦ÏÆåšÆÒTÝÎJ`™68¯¾í£¼º·¸ç:¯ÂgÐ^	Q¸ñ¢èrC`ˆÞh¨iô!¸6$#´îA/ÉYËdGH«™C°ÌàD>ÖcúHÆêY)ô“L„QÀU ¾$4z»¸†ë¬·ô'ˆ’ÎŽÿBôfÆ"šùŒÈW´DðCëŸûåù!â]­5¨5´Õ Õp™VWØ‚Q¨´>\j 0EÞi²g1ƒ9Ìc¡^P2<ê¸ ,nà&!ô‘Nñ€æ­:•ÛPKÞ“ŸY’  ¹  PK   €•)               de/mud/jta/Plugin.class…S[OQþN[Øí²ÒÒRðnQÑí¶°ÊÅw‹¢Õ"$IÜÒC]ÒnÉ^Œþ"ž5²$šøèƒ?Ê8§Û ¶M|ØÙ3ßÎ7óÍÌÙß¾ÿD(+Hc<Žî	s_¸š‚ty„™ˆc†„
âæ¡Œ)Óâ¨Ë˜‘1«àKx"á)C´â»#å*7~Õ8ôLc³î×,»è»ó«Ê*šM£nÚ5cËs,»F_ú,Ûò–òZor7)·Ã[mV9C¢lÙü­ß¨pgÛ¬Ô¹(ÒÜ7ë;¦c	¿Æ¼ÉKwW }ÜqšCFë]*Úpk”Â6”IÙjúÎ>_³DÚ0Ç¤ ©¸Œ9ÃÈ¨Á¨Šy,HXT±„e	+*ž¡¨bÏ%¼P±†—4­ÎrEÿà€;*^¡ÄÀ4zr éÍe%¼VñY†¡®’ç™6*‡|ß#ÕšÐ.×¸·Z7]Ñ¼–»Ð_¤æQ¼f¨†aøÊÙÊ’M‚¸^É®òO4+­”£â®_qÛ‚þ—ë³ëñ)§}!Œ¶šÆ&…zDàfCÜóèˆÛt›
½ÖÕ…#%^ºG:éHxucô#¤D;¤SL¬±…0Zí²WÉÛ%?Jï„~
¦çOÑ'ˆ~i^#›""0Evš~•b×	É†4ÜÀM ueXë$
‰2·(*,sL|¿§ˆè[/’“úcïHë_!ÿ@|÷J!À€þÑ_k#)µÑ+u‰L€Ácô¥ÂO’É‡X€¡NÑ‹é¶f°ŒwX¹ zïLôÍi”$ÊØÆí¶è;­,wÿPKzeÚ8r  ^  PK   €•)               de/mud/jta/plugin/Script.class•UßsUþ6¿¶M[Ji[
Š’l€´E)ThhµZ)Z¬¶õÛdI·¦›º»éü­€3úà‹O<0¢Ž¼8(jÛAgFuðMÿõ»w·i(-ŽÉdïÝ{ÏùÎwÏùÎÍ­¿¸0öâƒ8îÅµ|ŒÄÑ‚Q1SñbQ¼’Ài*Æã¨ANìäh…)\ÎˆY!Ž:L¨°ÄÞ¤xyUE1Ž)Øb¥$§Åì51sÄCº¸âá©(«˜Q1« š7ÇËJ¿‚Ù’íz†íÅ²?
®1cæ‡rŽ5í)h˜4fŒLÙ³Š™a3ç•œ.1·Tvr¦‚­y33UÎg&=#Óg=Ó9Y,,›F5S†—›8Yr…}€•k
Bc=
"ù’Me”‡-Ûòº¤“Õˆ>VOÙíòY»òË.t¥†‰-å‰P7`Ùæ‰òÔ¸éœ2Æ‹¦`]ÊÅaÃ±Ä{°ñ&,’ÙVaZFÈø§%éðx™&Mk“ o+_II5rpMÏOÀP›–äºÉÜc~hÒrLƒ¨ÑäXOŠ5QÆùãr¼w.gN{+¤bŽû³Žå™ý£XžV°9yg…$>íúÅD(švÁcâ‹žgJe›#É”(CÌ°ÝYÓáºc“9H
·¸‘Ë™®»«½½]Á¾äúIK­¥Ð½j‡æmoÂô¬Ü
\‡€ËÜníÓ„æ:ª)u*8úÿ0Ö"÷KÅÒ0¯	ßwŸ°ÓÐƒ¬†ûp¿†=Ø«AGšÂY/Þ.rcãhý¶m:Ù¢áº¦+çUœÕð:Þ¸›o§°|SÃ.< áº4$q\ÃQÓðÞVP¿š¹†Ý‚Ø;bsÓØbTñ®†÷Ð/RžÂ€†Ñ¦á	±ö>Îi8
¶¬ÇIÁÆ;ô¯ y5“„¤`•2ýƒÑ*h½›fXÒÆµzŒ½ç˜Ë­ ˆ¹-ä¹}«ayWþ·ªVßÑ\Q^AÉT•Áàø$óL}hg,Çõz‹æ”i{Ë…¨ÂàW0½žyÏ$ï:Çœ*Í˜õ1Oô—ì?Õr{§¦½yÙX£ØÉ›¹…ji…ŠmØŽ6Îwðâq'$$ÇyD¨A®±nrÜ-×C¢¢r¤ 9&èK}ò¹o³üwxJOïYBX, ’þÑ}	±ëPCà[ÍˆÎÍZùzMBeøl¢+p1|BÐÇ°•ZIÂF;Wwø è@§øƒàl?0¤˜=„‡‰ à 	Htó=Ä1¦§_‰—«óŒsV¢6ùVÔå‘yA‰àžÀz‰‘Eìfý{ÄÓ×‘áHË%Ôêé–%h-_UÀï‘fçHý<6ãBíæJ€f&aö94´žÝ2Ó
«ˆv‚fƒ$‚ ªóäŸâCŽU"Q	’‚¬@‡ÄUä¦HJÂ>©§qÏMÔ- ^g˜úEl¼‰†pç"6- ‘åÚ¬‡Y¼Õõ¹DüË”Ìg”Éç”ÄU’I)EŠåxp¨/9Â±/Ü}Ó­ûµ‘¿¦ýŸb§>ÂIäôèšÄòËhÐÉ¡y[®@lÎ…îD.¢¦µåò??¯ðÚNWÉîk4â[FþŽ,¨Š«èÅ’ä§û‘+üú¸“’úéã·M¦;‹Ç9ß–7ÞVAÞ>ò–]ÉUDäj@¼‡±Õ_ßv­ë¤ó
jüvøfõŸP_°¿2¥¿QÎ¿³€·¨…?ªR›¨×SøOJê!q©äÈ‚gÉšVKåO¦æ/‰¥ùVVžÆ‰ 8){ Jî¡‚1¹ØQåÅ t>)óXƒgðl qh¥ë– \[c¹ã+7$u²Œv
Ïh]A¾U=MQ¬CÉ‡S+pêmp!Ëçóx™cgQ $?ÿPK¥|ÉU~    PK   €•)                de/mud/jta/plugin/Script$1.class}RQOAþæZzözZ‚‚€  Å@‰,<£$ÚHbr‘‡š¾o¯lsì‘»=–‰FÂ?€eœ½ž`Ê^fng2ß÷ÍÎîÍŸ«kÔðo4°ÔÄ–¼ÀŠs«>^úxåcÐ°§:ïì–£‘gÅHŒ­çIq¢èÇ™>·û„fÿ»±§Êê˜ïµÑö€°º9²5 Ô{éHÚ‘6êkq6TÙ79L83¥±L2Ó.®’u×„ð‹1*ë%2ÏgV¦ªtö¸µFj Ô6¨ŸOâ ŸY¬µcoM;cy!C´0âš>ÖC¼Æ›lð¦fT$Òœˆ£áXÅ–°q§^](cÅQÙKßJ[ä‘Î­âƒ§ñr“2ŽUÎ°ËW°óÐ@£R¿°:VO³ý[ôžC‹Ðÿƒ·XãGÑàyûlsnüàV­…ãÇ¼;€ÇtƒºÛ¿àýàÈÃöôÐf¿0©Â,ž–,AÅIx†ùŠë×8D»ûž³KÔ.Q¿%J’¼ÿT’†“òŠ”XäÕv³Ýïæó U@ÏK¿È'u"Äg/×_PK,I³¶  )  PK   €•)                de/mud/jta/plugin/Script$2.classUßsUþn²ùÑe¥!(õW¬“6éV”‚k ¦¤i5%m”Íæ&ÙºÙÍl6:úìøàøæŒ:ƒO‘PeäGÇWùsÔsw+mi¢f&wïs¾óÝïœ=ûÛŸ?=@YX2žÆÙ!Œâœ^àÎÊ˜Åù(ÞŒbNÆ[ÈÉ8ŒQ\”‘ÇÛbq)‚Ëây%‚wdÄ„G…(æÅóªp/
 aSÃbK¼Á{”Âš9nÔâÅumCSMÍj¨e×1¬Æ,ÃPyÓr›Ü5t²t›Fg|ša´Xãj«[S×]Mm›Ý†a©eÝ1Ú.y„Ï–áÎ1¨©ÁfC¥+RÞ®q†á¢añR·UåÎ²V5¹ fëšYÑC¬w6%A‡JÁ²¸“7µN‡ÓÎ3ãŽŸ&‚±wó¶U7]GsÛ"}T—<ßÄãÖ½9ÃÉfŒ"KmÍpŽ^ï'eÐ6IeV ™Q»Í —í®£óË†¸Ì!Ÿà”ðS0†eI¼ àY<GŒ=´®k˜j…ë®íDpMA+DÍ÷£IÇ›D°ª`ï+¸ŽD8W'ø¤e»I£Õ6y‹[.¯%79ÞTð>TpÚ?!öVPåüø“û»õ:wÔ@¬™¬ ²mÂP°Žš)\[c]«¥¹z“â	Y:I»žôI&¹Ï„œª}¤«ëts†S{ìùa¨ûRY4:.§Z S"s#ƒàI~M×y‡êyš"åþ³V÷¨?›>¸Åpb@iPnÜ]rì6wÜM†ùÔÁâø?;é~5Ö›šsn#¥
é<Ã‘$BÜqlR$Ñ'°Ð(bX5~{±îƒPyuºÕŽwNùO
ý#kí6·¨ 3ý`lùeC~Q×.ï`KõEÞMµš©ILß4ÈZ­vÉ/¯'®ì—wå¸UAœ÷»½y£ÔŒ©- €¸xiþ<Ä/.ÞÊÇ« ýÇð"­Çi¶@ë =‡'îMLÞE`"sÁï=Ã—h“!PÀ)“¾)^Æ„5¼,f"`€æ“ÈøÐìòÓÙ£‰¸iíBÛ¯LÆ#´ŒG{ZÈ<Äv&ØƒËÝ",ã‡zPX)0#ebŸôðÔLh«Ù_0ú‡KÙ`&!I·¡†Ë[P³Ò}ÄùÈîvñøQz8V€ÛHd{8ÎJ‰‡){81J„¾þë»ìCLíéad ÄÖÃ“ÄpW¡*Fhœ'®’øEÒ¤Dú,âU”qËÈá}ö*¸‚:]¥F·†Ôé>ÆM|JÝì3j?ŸCÃWd÷t|Kmê8~¥.õ;5©?`zêÏùj>Vÿ}€§¼„ÿÕSÿî`¯P–ÎÒib Qô/ñÍBÞ¹à<ƒ4=eòõpð7PKC»Ý?  Ï  PK   ‘€•)               de/mud/jta/plugin/Shell$1.classR]oÓ0=n»¦ÍÂº…26 @Wú±5 âë¡¨ƒIE“xLS/u•:UâVÚ/â‰Ä<ð£×iµ­ŒJDŠ}¯}|Ï9×þõûû¤±ƒG&LÜÉ#»z¸—C9‡-ÜÏ£ŠZuÛv²7(‹ƒÝ¸×	\é;	é?cÈwŽ¥ês%<Bª¾ˆË»ëíw†ãž3P®3
Æ¾N§Ïƒ€dŸ)ÔK†fu!ê"Qí!Ó
{œ¡Ð’¿»<úàv®……žº‘Ðùl1£Å0€Áz#%ZÇœV6Ñ–÷HÞjÌU+”GÂG®¡dØœzœ˜BYiïÈÿËò†j8b0;á8òøk¡Õ™	cSû´°†¦…V-X¸Ä°”ì1^8º²gÀ±°‹=,<ÔÃé’è¸O´½•³.¾ï¸§*çà|Â¥ræ¼¶E¬8õŠ$WµµâOË>WQ8â‘:fx[½xcÿ³Rû×‹*.°Dë¹5í
JôtMºÞe¤`ëÎQ¼ýÙº™§YŠþ5Zc¸LÑ>åišõo`õÆ	Rõí¤?'À+4f	<ÆUKS(®a=)U˜Ö‘&LQ|³Ò#d|¥agê_¶—¾"ûqÿ'V(K‹ñ	–íÅgŒ6žÈ§ØÄláÕ9öÊ){…vo&¶Š¸•°§p;©RÂušu3ò	 PKƒõK&!  ë  PK   ‘€•)               de/mud/jta/plugin/Shell$2.classTkOA=Ó–®]VŠ•òÐ¢my,â,¢RcÄ–G,BðÛt;i·»¤»%ñ§èð³	JâðGï,µ4–ª›ôvæÌsÎÌ½»?~~ûŽ fð\E’\FJ†´‚)!$ULcF†Ù]bs
î¨P1ß»¸§à¾‚
2(ÜJë.C¾$ôj½¤ïy\ß´êeÓ^©»†Há½íU„ga¯bº‰9†¡Öì}?[/T„eÑ†ð’i›Þ2Ã|²cÖÅb©m†PÖ)	†hÞ´Åz½Zµ-^´‰åƒ[Û¼fÊyIC`ÐVm[Ô²w]AÈp'éÄ<YT‡²ŽÌïñ®[Ü.ë¯fÚåÌªï£â¸žTm[¦µ}§Fkl•A-™n“,˜”;Õ‚S¯â…)ª¾è¬$ÑÇ¤†«èÓÐ‹+#í_r»d‰ÚæÖ®‚‹x¤!ƒ%1¡aOF[v‰a{ú†mÑe<îÕ])òTÁ3+ÈR:ÞCïùÉ6Š{þÆÚ¸ŽñNxyÓõ]/Ã@B:)7áRwÌ÷Îÿ•¾íÔ™Ôß—[e¨;Ëü“Hse^Ö©V	eèr=.‹¿ !RTèPò­,nßEK/I±æð’ÁeËÌ&Û»{,ó² W^zãôòöPG@LvcOL6Ks¤_ý4 ÑeK$š>KO!ž>Bð3ARS"PÀÅñ³T\Ã¨OmË‘Ðø:ÆÔè‹!óséCNÚ=F×	Â;rzEþâÒD>b&ÁS¨»¡ct…ÀÎ'ÄƒÁ&xn«]’š„×pëXÀ&^áu‹Í\ÓfŽ	ßf7([ÚL`²aslÊµ‘v9i‘IËçº=>÷ÝåcÛ×ÓÎö7ô¸åÇÛ„€>–Œêâ?¿ PKç-[•¿  r  PK   ‘€•)               de/mud/jta/plugin/Shell.classUkoG=ãØÞxY65BhýÙ”:p1)š‚k{”,Ú¬£Ý5Ã?àC‘€Úo­Ô…zfvqpB-y|ïÌsÎ}ìúßÏÿÄNâv;qÆÄ.Ì8krïü\Àœ‹&²¸dâ2~6pe¿˜È¡¦üyW\3° `…+Òóæ;««Žß(4ž:ÏÛsüe{1
\yN`h-z)p¤Ñ–öj·m?{Íë.»¾}ƒ—<Ü½·Ä°ìE×w£ËÕRè]Zë†sßb—ï¤ç;m)0Òp}y»»Ú”Á=§éI¥¥Ór¼ûNà*?ÙLG+n(pp€˜E•‰’Ûì2bt°”Ë<GB-¸^$ƒÅN7h¸¸It|_Ó*³1ÉWÌ›Â(.Á3¥‡µr]@4Éö°FEŒèrË¼ö¢%×"·ãSbæyàF2‰'‡é´Z2'¦§g”¶LqûF”¿×§Ô‹iµœÈ-¾ô£¹­~ržžßšü»ðf\Q–F*G]šR·PÀ{±EÜ}‚¢À¡¬û¾æ='e¨®\7pÃB¿nsuFÞ4Ð°0Žã{ô´¹»~§WtÕ€;cŒZUü-e¼Tü7c´9º¦¶éÚÀéß;hJ9½\vÃpCÙ,	ŸÂÏÖ—S8óÿæfã‰P—ŠÛõT`_ixã«gÛ5‚ÒØ<@‹]æo–ûl5×QzdøfNTª“ëHU?ah©B+ý™èf—*ÕuÚ}£aös-8M°YBÕ0ßp€;c1â ­P$•²SFŠöMÈg5çj8«ƒi°Ñø°&Œ«PcÄ3±FBE9^yñ2C¯•Q}áKÅWØù	¹¥‚¹Ž_÷8F™3ð˜/Ý'LÄ¡ß$r»/ñç8S;AÆ«ø#~"B‰»iîäø-£’è¨óW©Í+ú¿a%*¬©™:`…@n_zùU>¡Ú F“	Á…©x£RýýÄ_Ul²Òà¿Oi`Š=°µ7ŒiœJàl]G £„³â€,†HaF¯§qNOAJ—ú¦þüPK0¿ÄA  ÿ  PK   ‘€•)            "   de/mud/jta/plugin/HandlerPTY.class}R[nÓ@=“8qê˜$¤”g)´¼Cññ¢)¤D‘€¯‰í¦9v4v(a',‰—ø`,
qÆ©HÀ–æÞ¹¯sÎµýþñeìcßA77`c×x{½[5ÜvpwmÜ³Ñ(…â¹€5ISã¾¨öT¢òGåNwÄÌ“4Œš}•D/³q¤‡r3Òî§ŒGR+s?Zù±ÊvúaäÏ¡?Í¥?•øÏdÆ‘~5|} PÉr©s­N*ßI?–ÉÄäZ%“ƒ.ùT‚8ÍÌ<IòªtÞ>.Â'Zå×ŽT"cõ®óô}Ís•&™.S½ >àÒ…¢Ce˜5×ø¤‹sh¸¨ÃuqÕxÑ xžçKž‹ûx °ý?!­5û—ãiPÒæ:4<ÖéÉj1g
Ë,fõ8•a_µÔËlb„]~¶€ß809ó´!ŒžMÞzÌZÇûá•¿ ô©èjñlð‡0]ÚœQÇyÞÜU5#›€¸€­Âr…½„Ë…½b,;¹"N3H‡ì4½-"•½Ï(}„í}…µÆk³ì°phÛìÚ9ƒÙZa2gærÃÔwý¯Ž½¢¨¶+ßQ53E1Óál]…LùX7þ PKŠdŠØà  í  PK   “€•)                de/mud/jta/plugin/Socket$1.classSKSAþ&l²,¢<}4Æ<€_ ¨¬¤bÅâàmIÆ°vS³Jþ7ÏT´<xäà²ìÙ „‚-MÕÎôãëî¯»'¿~ÿø‰0fðZGwc@FÙ(rQäuLc&†Y˜QÌé˜Ç=¥Ü×ð ŠñHÃcO4<eˆì[”]cH”w­}ËlXNÝ¬Ha;õE†XåÀ‘;\ÚUBÊÛKÍ1L”kÜÜkÕÌ]i™ÍF«n;fÅ­~ä’""K¶cËe3»X*»ÅÐSpkœ!^¶¾ÑÚÛæâµÝàŠš[µ[–°•~bìQtÀ`‡‹BÃò<N–ëuSóDpÐã²à:ìzKXÒvŠ8GuÓé@|^‘ª/3ŒÂQšêê«ÓÀš+ö,¹ú©Ê›ªáôŠÛU¾f«ú:¼fU˜,¸ŠaCHPÙŽ“¡Wð†u aÉÀ3,kX1W€˜oßt…ÔðÜÀ¼40‡Ãä?hP'§¡IÛK:®LZIÇ‡jxe`k´æà1ÒÏJ¼ÙÞåU¢™îÂó}îHóÜ˜Ë¶'9í‰!œQS˜%M¥Îå¦p›\È†RæâkùKö²÷<ÔÃÐ¼èH^WL£MKxœT†áKhd‹´wú†.´BKãB¸" nIú»Æéí"„„Ú7ÉW ~	õNµ}#%}Œ¤uÒÃtÇsßÀrù6B¹é6Â‡>pœÎ"&èLv ¸†›~ªøIb%©‚!’'	ÕIý½>¾”ûŠP>ÑCW8Ñ{„Èû6´c,ü5EÉtŒt7J™¾#Ö†þýëÊ“0ŽÐH™ÓXÂ
úNØPª@í”É³Až·ÄµÒÅ¶tÊ¶„)Ü¢+Ðq)ÊÂ¿Ï4nÐ­“oÀGâPKÑ-þ¦ž    PK   “€•)               de/mud/jta/plugin/Socket.class}VùwÕþFÛÈÊØNäÄ‰ƒ	C›‚,9PÚRBÒ`Á‰Cšš¤ËHz’'Ï¨³Ä˜²¶Ð–µ@´e§¥î’.i±LšsÒß’sú[ù¡NO¿73Q¤XÆçø½ûî½ïÞï.ïŽþý¿^Dûp>‡[PéCU¹Ôä"¶ Ž†ŠÅ28­ÂÊ!‹%)±%åHª)©ïKÊUáå0?‹@îg²X–û#Y¬ÈýÑ~€ÇrÔ|\ÅY<)™Oeñt?ÌâGY<“Å³YüXùI—Ÿªx.‡½x^ÂxAúyQšx)‡—ñ3I½"½šÃkøy¿f_Wñ†Š7UüRÅ¯¤k¢4(Ó
ú§ÛóÛŸ7¬@$Á?Ï©ž¾‚m3§Œ3FÙ~y.díW0m;"é”§ífàÏù®0–(L:¯·¥³ß)N»Â2Vä#Ë°e
M»Aa_(<æ¸´®ë¸Dr—i›þA¥ÂLM”—‚Zù”o”YAÃ´'oÿFCcó
RSNM(œ1mq4Xª÷¸Q±„tìTkÞpMyŽ™)ÑôìîôÐ=\:Y	<XO2)5jÕ±mQ•	(lÄ5[t<ÊSÍ0JE´3jÞûHU4}Ó±i1×>Ðo®fzmãÉ‚´4è	ÿ>Óò…;çn•–F»RÉ"ŒaN2QH
F6U#0Š‘¤'&ÇØJ…¡˜$Á{ée×ôE,œïêÙ.ä Z¦ò–(ƒRUÃÝ˜Ôp 5|·k8„ƒ*~­á-¼Íôo–ý½·*²)µiÆïNY†ç	Ošz‡I¸¦=%{FÃWp‡†wñž†¯âNïãûqërmU&ƒz]¸òÚ36 ®áCü†!‡ÄoIä4|„ß©XÕð{üAÃ·ñC=ÊÆ æ×]×§œÀªé¶ãëqÙî­ý‘îÏõçX`’tÃº0ýEáê±hÚ5ÝÐë¦+–ËÒW§D¿Ÿ~ôãÂb”úÝÍ¦%|yÿ†EÃ£rÅuN[:©›À5$Š‰ÈÃøt]l/pÅ¸Î[†'¤šoTýÐ¬Q[âÓò|Þ¡#¾§ò—EEo1!mVûæ®áOƒ½q}G½ÄaûåYÛâ{›ó?tVÃŸñÅœ†¿áœŠ¿kø>Ö°†–†o`NÅº†oaAÅ'W2ÚÝN
vmÖœN£‚›ô63¶odg†Iì,Û{=n6+R'¶tUO™tE>¹raó‘Ò{p4„ß1QOal“Q;HÕÎñÊTuè^3x3F³)l¾ìñ“il+z¼w]aú3¤Yß‰8Ì]a£5¶^Ëã%âž\ñ3›*ŒÉáÒ…i¶rŠ­öY˜vô
AÎÖÂÃrëã›0jUCÎÙ‰:"<ýÝå!vÊÙVµc+c	»á/†Ãvº;Œ˜Éî3\×X©:M~ÎŠ=˜îÁ
?}^Pñâ\ìè•ÞýO¡³¶÷*.nä×þ$p+nƒŠÝø"nç´ü?ä	|)9I§ä(wÂpçwNâP÷PxÎð.§4×)žžAò7ÁD±4¾¥¨¬!QÜöèú’’N•Šç‘N t™…"5Ôðx.´w×=DZÊÐçzÌã!ìÄ}äæ«oâ^JõÈ¹_—¿>Hq¼Ð¿¤î'¦é0Ãˆ”£D”¢ìÓÒe¤Î?Fâ2†Š](®£o¹U‡g)ã2âIæZØ²-&û×0 u.¡DýÁ…ulÍok!_â~ˆËhÛó;H´0ÜÂÎv­â£mÝÝ”ìká:©—Ï_/—=r¹A.zt)jëßë‡Ö>GÏŸ¿€½©u|á<nJà¡sŒ3Ë‰³w4®¹‚T£Xd­MÖñ3g1'KÔvøQòñ/œÁx’-FjgôSa•:Êj'¨w³8ÆÌ?ö _
ÿ9£,Ó_*Ô/]™lÃ”É»„íQo–] ÉeàjÑ‡	xŒÅ~œ¡<Á?IHO‡Ð´Èl­Óùq¶CÔtQë²ÖWMfÂkÏ†&†#a;:óì*~¦å‡$Æÿß¸oë„™º„I¹µPxwÄTéâ‡èéU¤KD‡ÉRrôŒÉI±°EVpô,Úeô[(%Â{düÀèÛP%kôlç»xÛð<C~/ïEò_"ÖWXƒWðkÌñë8‰7PÃ›Õª·ã©ãaœ`4EÖûdX­“ÈÅTgÂø+$Žö4wí¡ÄÏb€÷­"{D"”­•ÅVñb4:}‹ÜwÈ}»ðAÇciƒ‰Á1¡³øn„¾n°AˆœšáüPKÚV"	ë  >  PK   ”€•)                de/mud/jta/plugin/Status$1.class•VksU~Nšf·Ë¦—@…b… ÒM±(T,ªÁÐB[
7ÉIºe³v7…¢¨(Š¨xWÄËgfüÆŒ„ŽÌ8~ê¿ùüþÆ÷ì&m)H;Ù=ïõ<û¾Ï{vÿºÿû¨ÃVü¬`4`3†ÅåU¯ÉH(8ˆ×$qH\FÄeTÁa‘1 cLÁ8&dÊ8ª`Çd—1%ã„„“
Öà”‚7pZÆoBBJFZÜ32¸È–•S°ÓBÐÅeFˆg%2ò
LX
ÎI°B³šÑ¡g"ÉmV‹š™‹»¶næv34ŒÏ™î4wõ4yºÓºÓÑÇ°>™áñ|1ŸqµxÁ(æt“"4·èPDh@7uwC<¶²ÛÃ[uN2‡¬ghJê&)æSÜžÐRÐ¬´fLj¶.ä²2(à0€AM˜&·‡Íq8iÚWÜ·clv¸;d™Y=W´5W·LŠ¨‚zØñ]<\¡´·fh[Ñ¡ÎÍTÖ2]†zÇY‚ÖYG¿Hëa/ëé·iYü§¶ì¼æ¸æ‹’*ãVÑNóa]­ò¢W„©è…£¢[Ut¢‹0úFB ›Yê¯«¢ˆY	çU\ÀœŠ‹xKÅÛ¸$áïâ=ÙÃCÐ$\Vñ>> ¨CÓM	WT|ˆ(WÊ2ˆ!ÝÕÁ€UBî®Ha¿vÞS&èª„U\Ã'„<kÙ<g[E3#áSŸáºŠÏñYRZú¬oQñ¥ÐÈºér›x¨â+|MZ*ÌÄ´ÍµŒÈýŠoñŠïqCÅ 'Ýø˜ú1¬«$ŽêNÔ´Ü¨5=O	7UüˆŸˆË+s¥
Èhj†§©³›—ùóYnºñ*.%uÇåDFâCLPgí
„¡Zæ¸{Ø¶
ÜvçÆ‰ÿ£é¬5´ëVz&*¾–Ns‡¦¸o;Ãà“Mh­­–òÑ¹Ðûˆ|ŒÞ&¢{-¸–ÔRÜ ØÆj4×{=gæ¹Á`,!Ð²´m‚È­‘šíð„ðj­Q÷ÎDUç}-M?WÔçŸ»;OP¯käJx "‹X‡¬|Á2=€áöN‹H,Y5JÞ¡Ó¸,Æ°ÄAáiï|ì¨…9YíN
{ù+CÈ°:ö ØFxí[È¥–lÙðˆ–$D™ªy¬hšâhöòVòìx¢ùÃ^E•²jy¾' Úb4ÇšM•nyhÉÆm[Ô·&&¥7÷zÉÄ@Dœµ´î†ø‹ˆãwQ
Ð¯q’ûhuˆä:º7uÝëê¾ƒ@WÏÔÝö·Ñ5DŽ WóvºF}Wì@¿—ª©œX¬Ä†ZïÄ‹~êÀŠ•èµ7ÚõÝ‘ Ýê"õ%„æ!ºyÈhôWÁ”ŠÓ*rš:´€k=#uýÁfµ¿¾bQË–†žy„—Ô¤Þj- ÜŠ4•Ð|z}$·ørPÈQ’#¾\/äf’W{r(Ô,c¹‡5S[[ƒ­õwÑZÂS•]Ö–7o)»†u%´UÌëkšŸ®˜ÛÉ¼€ýË‹Ñî#<g¼zÜÃ†)q¿‹óˆ–K´©„go!<"¤HG	Ïßca¶—íÇsåÙh÷:¹#ôù4J­8‚]Ã }¡a‚þâ}¢MãÎã8.a
WIs'q§ð}“ÝÂiüŠ3ø)ü4þÇ¿Èâ>¦Y3¬Û‰<íj±ÚQÐa²ho…´z‰ö%
°µØíÑa Wè×E´y—ñ2ö Hˆ.‘´õ„ç8É¢¬
öbùÈ.¨·/Ð]¡l›=ªá?PKùuÍG  ­
  PK   ”€•)                de/mud/jta/plugin/Status$2.class…U[sÛDþÖ	‘¢¨IpÛ´¤ic ç‚å„¶@BÛ@©‹I¡	å.K[©+e¬UK¹×2<÷ðÌ¸˜ax*3¼‘ÄpŽäØuã¤òèhÏîw¾óí9+ùŸÿ~ÿ=x£˜ëÇxÞÀ)œfsÆÀ^Ðñ";/i8k@ÇœŽgø9ÏfÍËñŠ†s;Ïæ›%¯êx‡u¼nà
:.kxCCQÃ›}ªê…yÑ¢+­‘km(ÛÚ¬EÏ·JÊVQ8/Ð_ºí«ªTžCžï©EãÙ½C&Wz—W
=_.G7Ê²¾b—k4“.Ž][µëûÍÉ^" ³àû²¾T³ÃPÒÌØžY&æHšæw”ÀH¶¸aß´­šíWQ÷üÊ|!b»nÓîZ›t×[L=Y3JATwäEå$)sLab–‰1×°lâ
Þ2ñ6®š(aE`p!ò¯û·?SBµhâÙÈÃ¹/Dëë²nbï²¹fâ=¼¯áâ#á‡ñ&>æ<ŸpeÚøJý6ÍgHÆ„ƒ«´ÑL.—ÓàšX'%ËÊ47%ÝõxïJvd¼RÞˆë0þ ^Þ”¾²Js]ª¢*I=8º#•Ïv†§òD~nŸ³²»-“Ý:Õæ£ÓšÛïìu‹î«I¿¢ªqom²ÓL6ûh²Hy5ë’VŸVæ³77¥ï
Ìt9u»$Ý¦¸cÙÂ>«º
’CÙ®û8ØEmª"©]'”’ô°CJsª½û3Üš'Ï¥ØqfÙ™yt]ì[Ê*ÚeYë`¥ØÁÎe:®¡T+òS’y¸[ÅV‘¡ïÞ(½þÇèNóËEÏà«‡îqZx’F‹HÑ0¦îALMÿ†Ô/ä¥ðÙ>Â ßãi²#	
x6f1šœYL&\"Þ˜}{êW¤¦·Ð³Æƒ-ôÞÇpsÔÀcwq€t_ ýýÚ=ô§Æ08ÐÀà}äx}_Ì_ÚÂðÚÏ8Á°.^Mÿg“Qzwp-eéC-÷0»#dâ,GÚ59‰~²Ÿ‘ýœjø¦ð%.ã+Dø?áÜÅ·øßÅ5Ë$ÕhÕl›ÐÓqM·1CÿP)ç`5;Qˆ}àHKíPSmúh‡„Á˜öjÁjËq*3	m¦J!ÛY’Ë­tâëPK}å}    PK   ”€•)                de/mud/jta/plugin/Status$3.class…TkSQ~(ëz	•ÌK1…†h€y«4+)ËÚ°Biú¸À—p—Y«Ñ·î·ŸPSÚÔL_›éG5½‡EE“‚ÙsÎûîy.ï»g÷×ïo?àÆÜ—À¨½ˆÈÃ¸!™ÒQbˆË˜ÀY‘žÃ”„i2F½˜ó¬Hžóâ¼˜/ˆÌœ#8ïÅE	.I¸Ìà±×õJ(ÎÐ¯æxl£š‹m-V.UºKÙš]­Ì1øRO{Ûz–óº¡ÛCáæÑ4CKÂÌq†NU7x²º‘áÖª–)QÆ¯šY­”Ö,]Äõd‹0Â eÙ0¸•(i•
§Ì`S•Ð$Yó˜F‰Üa!*™ù¼Ë)³jeù’.ØÛD´¨mj
0¬ Ç$\Q°ˆ„„«
®aIÂu7°,á¦‚[PÜFRÁ
•4£@ê–n«ù<·Ú&ùÍÚ<´Í ‚;¸«à’Œ¢” XÅš‚4–:’¦Ìî ¢ÔöæÅ1tíi®dŠanØÏ7¹aÇVjõ; U¯ØÜ®úšñRc´l–W*¡Ù8=öñ=Dµ¦¯=²cª–á%êvÇþõ»ÂíUþ˜œõ†Õƒ-ªƒ=HÂ,™d­µ`qnPuêþ;DïoÈl”Mƒê£“Ä¢–}X°Ìª‘cè
™ªâ¢ªèÿ«j´¹‡žhV.s¡4~XI¥œƒÐ@2%Hv‚xmÓÙËÐ>Ô€Ûâ9éUÐp”.¿8 4÷CüÜt`â!Z-ÀE@ŽlƒEÆ¾Àõ‘"ŽÓè¡=Àkœ 1àì"ÞS5¹ÎÉÂpë)qD:ò®¯pû[¶ÐZ_‚g’xbÚYù¾C~°6¿²…v'ÕA+çnØE«-!¢=_´Òø
ž“‡äè%ÖðªæSqÔ}2Œìº+ZÜ‹ï¸ó7ºënt×Ywçï9D÷i¼%Ýw¤ðž¾‚tãu]N×Æ0NÖzEGºÖ5üPKŸÿ;(ì  ‘  PK   ”€•)               de/mud/jta/plugin/Status.classWxWþgw“†ÂR„B¡uó ›„ò Vb­K@HƒÏÉîM2t3ggyø¬ZŸÕÚâgµUÔÚØÒÒ‚ÒR­úÐÖZë»ZµVkëÛÚú*ž3³›ì&³šïË¹wÎ=ç¿çuÏ½{ÿÇŽ#ˆ¥Rh
^ƒ1ù8“O0¹’É'™|ŠÉUL>­¢WË¸F…Š=2>£BÃµSñ9|^Áu
®gþ|QÁ^_Rðe_‘qƒŠ9Ø£¢_e”e+øšŠù¸IÆÍ*bŸ‚[TÜŠý
n“q»ŠÅÌ: ã Šðu‡dVQ‹=
FxÌ19Âä(ÛtLÆ¨Œ;XøNÍ8®¢	w)ø†Šoân&ßbrŠoã„Š“¸—w¿OÅýx€E¿#ã»
TðŠïáá)$ö}ÈøŒGeüPÆ$T¤Do¶_‚—0­Í23Žn:]z:+‚ $	•Äq²	U‰íú=¦ïtb	½W¤[%„¬ŒÃ"›uS¤KD\‰Èz*e‹é‡½Å´nöÇ¶:¶aö3Âe‚l˜}Ö%[Ãt„½C'4•™¶ÐS¥Ú´+X› g{‹YÇHÇ6è™GïMZ¯\c˜†³VB}4‘±Ál*¶ÝÑc›ÓÙ~Ã\—Í´N6©¶‹Œj³RBÂŒ„aŠŽì`¯°;°’zºK·þÎ3CÎ€A6Ôï0äî@˜:2$ØË¬ö7BBÀ ƒvÖ$e‚Y›0Ý3ÏNŒbCr’óÕµ¹}WR9†er “EÎ¤`Îõ$+¶.Û×'l‘ÚBá6‡;M.QÜ’VÚ²Ç°H2¾©kF¿p<ûºŒL–sQ­Ïm›58d™´‰NÝ(Ì¬„™Å‚Ì"UO&©–45µH¸(Z>P>éð+šÀ®&&Í¦lÝm:Â1’Å»ÐjãivñÅ,h7³vÃ‹kƒ‚nû·ð4ºñÚø¸ô²³ˆF¾âkýÁ8ÞYø=IûB¶fü£iüc94¿8î¤ÓW XQ½¢z¥û±ÕÊÚI±ÞàÃ4ÕÃldD	lÔ°[4¼=^Ï³.tk¸q¼ÚÉ¼mx£„Y>Vð¡Ö”³}	Õ$hqÓv[ZÏdD†u~,ã'~ŠŸQµõÁLf@ÃÏñ/£Æâˆ4KþZN§*3èÑq-m~t¼Æë,›`BßmeÆÿ…†MØ\¬âÖ1:,'B'ÙIG¤Yö—§³¿…%'ƒÚ÷M¿Òðkü†ÚÕ×çöòÊäH¨]ç®7†|¢ÏÒ>C`âÙñz-ä[xÄÈDLr‚Z¸‘ZÑð[<Éäw~§4ü±«ý;”„ycÉÊ:´ƒÐ½5Oã6íLþDÍp±Œ?køþªáoø;“ÈxVÃ?ñœŒç5üÿÖð<!ã¿þ‡4œÂS¿J{ž„s…m[vdç •a$mé)r-Â.E%œç-Û‚|;ÆÖò=wuD¦Òe)4) %,8­8µèr9¡:éŽ0§ˆçuäÂJx<[²¦éÝH±³k±tßœãw1QšlÑod¨®<^‚ç&§i¡Ï}ZXuƒ”=	«¢EÛmêÝNEÝ:™S;™%a~´¸Ïò¹Ù¨›z¾::Ù8/,8]Ÿê*ÄË»ÄLG7\o‚ôF‘°ÆÓïÎ+sÎöQç+õ¡!a¦ÜKå®7ï@´N÷‰ÔqÅ±<%3ê{ÃU¸5IýÖ"{¼“E•U-=r$>7ê»À.Í_Ê¿,˜[5qOÚŠÞŽô@ë6œ2ÚFwx&Û›É+TGãq_ãgGýùÓ‹rá>i*S"é¾Þ–”÷˜xkiAä“IšŒpÖ[Tü¶•åÔÍŠNTd‡e’ê»œ×ïÕŠLZºBÑ‹YVanÂíÇ³J„­Þ™1DRõä¥¶žü©’'µ·3Ñ¯v°¯¥&5Ø€8]aÓk=€×Ñ?]šî¼#?ÒEãŽt{ºãÖüØ™é.uGºXÝ‘®Z«“®U¢o¢r*À¿öÕÕ7ä0¥njOS#X?
­§Ž˜ÓŽbz u‡ÏW`f·;‡gÍÏ	Ïvç£¨îÅB˜›Ã¼Ã¨!Îüžð¹Á†L{êr8¯€XŽ•G°¨Û“|YÈ•”Hr1K.—<Ÿ¨Ä’\gÞLt5¦Ý€J
ÛL
Q;Ñ€]X…ÝÊw’ãïF
ï…«p®Æ•ØƒëpnÆxiF<×ñV¼pg:z)0<KR4OAäCõ8…ª‚Öž—£¸ ‡ÌQrxyb‹6’ñµät]¸~#X:‚ÆÄê¤ÃPãÎQ4Q\š{h¹%‡e9\¸q›–†—`Åµh^ª¢¬\ZZ¥Œ`UÇ¤€H"óBDò^1‚Õ¼J´ÖuW©4¯¸üÖÐò+{:NžÚ?µ£.ü*Þ½»*5¶>ŒUãV^Tb%Í^Í˜±.ncx×øúàM*NžZ{€¢ ˆÏD”â}=öb-Zp9úöòÑ‡yDo¢¯}$u+ýÜÝFÜ†º’í8BÙ:J{ŒJp”¢}eç8®À]¸†ÖöânãB<‡ègï#¸á><I?|ŸÆx†pžÃƒnî¶@á\äsÀ³´{?ej&ý>€AœvXØŽKi¦cÒ¤¤]ÏÇ ÍB´—Lr&ñrXž×HcÈË6Ù,¹•PÁÅwûXÉUºÌ‡]4O o‚„·S¡yÊyå€4QóÑ"Í@^SA}±f«d@®«ßFñŸ¨¾ÒU¯öDÍ×­Œä“DÕnÕ`’eÀ
^x`ˆwÐñ™!ŸÄ»èôMtj>9UyË;/rê=T*~1ª8óuÁ]†÷ù8XÌßÁ÷—ÉZè¥eí¾Y+æoÑq¹Dðl >TÆ©ÀKsê
_§Ê€ù[ôaßRœt²ÊCð—~Ÿ¥±†ÜÒàý-Ì‹½áÿPKEØ‹Ö  b  PK   •€•)                de/mud/jta/plugin/Telnet$1.classu•kOA†ßi+íZñoUKQVÅ;ŠÊMÐ"h«Fý´ÝŽeÈ2‹»S•&¢&ÆÏþ(ã™éZÚ6éÎí=Ï¼g.»þþø…$.c9,&ûp×õã†…›i¤0™Á-Ü¶pÇÂÝ4`ÒÂ”…{idpßÂtý:èfð3f-Ì1X[®Ÿ«Ô#†‘b•;õª³®\gÕ¯×„œ©GS}¥©Ö¸C¯ZQî
Ã±Võ¦Q;eîK®(¢÷žBM3Læ»Ë:O7öŠ!5T9Ã`QHþ¬¾QáaÙ­øÔ“-žë¿rC¡ÛqgJ[b ƒ½$%g}7Š8õœè:wî*™¬qUæá†®_ÞÙ$Òp~¬¸în¹ŽïÊšSR¡5ö“ðµÕ`»$>‘lä¿ÌÝVÎœØà2$¡qeÎ{kË¿5ÙpÓboÉ@‰÷;ó²ºòþ÷‚°ÊÌkQÏv(±{òïft›UïfÒó=¾©h‚ÈÂ<µKA=ôø‚Ð©géLh76FQ°1‚#6†0ÌkÉžoq©œÖl_ðu)6c‘áàþÌÎ¶ö–!Ž§=i_
†3m‘Íu‰µÝçÚ„-‹Óô¸dã	žZ(ÚÇ%:|Ý7v©LO<°*ðÑ•UŸ‡CÆ¶œ¥•æ
Ó	èt&éTÂÀ­z®Îw"ß~p—y¹5>Õz|V*ëÜÓ—a´›Yº'‘ÙL†£­LÚ[ÅÃ™âtÂiºüY 	zÒŽÓ8ýËêCÐlõÒG©}ŒjË¤NR9XØ+ŒC¢pé’_æ¸‘ÓUB	'èyº!ÅIªÁÔ`]Ó&¨~gcô4©õØpá+’?‘z³‹žïèMà7¬Ïûøs†o7ô1Ÿv¹Î¬Äê‹Yéý¬ÅŽ¬ó¸³žÒ»1AåPƒ•ys|¶½ÞK;m$EZ»eƒi„4SÂEä	È0†B~›Ì6Àýdr 3w•vêy‹ÍlÓ&gRhÚ•Z;@´ÄWŽÇÁö“ÊôÙâp ép€¾Dt¨ž¢ò
_5Ñ×pÊÄÓûÇ(ñPKZU&×(  J  PK   •€•)                de/mud/jta/plugin/Telnet$2.classSíNA=³-]Ú®‚TAŠ–ò±~ý!ÁHR,‚Q£Ét;Ð%Ë.îÎ¢>‘¿I@¢&>€e¼³]MlÒÛ;wÎœsîéï??~!<ÉÀÀxY”T˜HãngPÆ¤
S:¦3èÆL³0uÌé¸£cžAßçN©…ZS˜»aÓÜ‘Ü\sÂmÛ}U†ôúW¶„´-†”lÙAiŽaø,z/B›Âq…¤©EÛµåS†…rgØår“›É%¯)r5Û/ÃÝ†ð7xÃ¡J¾æYÜÙä¾­Öq1©,1€ÁXq]á/9<UF:j—æ•IÏuH€!QV¢Œ²Úßç¦í™+õåÏ–Ø“¶çT÷¶¶ÚØÌºú–xn+ål›mV2Ð‡¢«ÈèANÇ‚»¸§ã¾jç!Š}—ð3Œñ)ö…+Í¨Ïe«å½CHÅþHÇcU,Òð;7ÆÐi8ÜÝ6ëaI†‰õ¨÷uÉeÔì@
ÃP'^A‹»MG&NÆ*£­±æ{Ò³<çEFCÿC—/‚ˆ?Ü—áÝgù­ºþËž=Æ†ïñ¦Å:3[¾ø†VEðmQ¬ý;†*Fé¯aÐ;¹yuK”÷B}òêâNW	úö¡ŸÖ”­ZUr•c°ÊÔ´ÊôTÒP ˜" `aâhŠ!\‹¨r1±Ê” FùŠ1õ'$©LU¡"ù]§Yê+’5Z%~¢ûMòéïÈhx}@G3ämz,_@ÅwT}OÕ$ÍQA#²ShÓÇvéìuÜ ÈÈè‰‰:™P‹çL\=é¶'ê°Ir‚:ÙŠdŒ6A,£a,Š71L¿ÚËF³À_PK×¾:3Œ  ¯  PK   •€•)                de/mud/jta/plugin/Telnet$3.classu’kKÃ0†ßlsµuÞçý~AtC+øQd CÅïYgfM¥M–àüàðG‰'Yñò¡…¤''çyóö¤Ÿ_ï(bkú0ã¢„Ys˜w°à`ÑÁCYßÈd}—a¶Ùþ]Úö»šû÷aÚ‘Ê¿¡zŸÁ½xTúFhq •Ô‡›ùÈÖC©µÃpS*qšÞµD|É[!eÆšQÀÃ+K³Î’%c„•¥DÜy’ÊÌçž²¾GÖF¡‘º–4æZFŠˆÆÎ-Ò+±¾ÊfrË¼‹(q,·Þy;]þÀ+ð°\ƒ~+¬¢J½ËwHå‡\uü³VWšaãO½xJûÿ¾ )-¨ÅMcx:Ož.&È@eºÞ>j_™Æ˜ñGoæ)Ðð0`ZKÑ!­m¦öV«¿ ðdki6,ÐÅÍ“7Lj°QO“aÕLë(ÓrkÏ(Ô_Qü•òìÆ-!á9÷GÎÅåe§,3QKÑŸ`÷ñPK@®·§†  ¾  PK   •€•)                de/mud/jta/plugin/Telnet$4.classR[OAþ¦-¬ÝŽ‚\¹JÁRÀõÁ7T$”ð>ÝÐi¦3uwJðg™ &>ðøQÆ3Û‚hÒÄIær¾s¾ï\27¿~^£ˆ]ì„˜ÄrX)ã9VC¬áE€—ÖT&]GeÕ7‹ÍDF½AuˆúzpªLt,µ‘îC¹õÍ¸Žt*&Æ{e”ÛcX©§l0”6‘SMeä—A¯-ÓcÑÖ„Ì4m,ô‰H•·G`ÉÂ ~`ŒLZd™$dyl–ê[*íq&M2´¶×&!­Ú¾/ ˆo¶Ï~<eß)k² d·ì å'å³W†
¯»âLpT°Éñ å ¯8jØ
PçØÆ<Mi|-ÓžiaN£ÃvWÆŽaó^¼<“ÆE•ÚT™“Ô,ÃlÎU6:8¼«“¡Xó},ŒKJ-vHE{Û1¹Ü5Š8J­³±ÕŸ‡a4¯õÿûgªÆ¥VÓ¿™ ¯D)iÏøéÐÂ¯í
8ÙéµG¶GÂú°úö%
ßó˜Gtz>`1Eç“a¦1›«„#M†9Ì“Ïk}iñú
(.]¡ôG-Ì}}Êýõž"¿Sä„<%½z—è~FþÅœ½Dx>£žòõPKB¿fÍ  0  PK   •€•)               de/mud/jta/plugin/Telnet.classU[SEþzo³;Á@7‘\…]ÈˆW
¸’Á€(âmv·Y‡YjvÖÄËƒ¾-µâýÅè[^|±Ê@ÅTùèƒUþÿñëÙa¹-Tæ¡»Ï¥Ï÷õ9§{þþï?F?VttbTÃ˜Ž²	Á„†—tD‘mÂELj¸¤#ŽËr:t\ŽãJ‚;¦âÐqÓ:^Æµ8Õ<£¶ÏªÕ+MèÂœZ½ª†×4Ìkx]Ã‚@¬R®º)Ð™+ÊÌJµ˜YöÌÌ„e{Ò¶«%ËÐ–L§hKWàô†—'mGz™YšvË^¹P¶/ÖÜ¸#Z”ùjI@L
4—Šg:ÞœiWeüˆ{Ár,oD Ý³¸9V­å–Í÷ÌŒm:¥ÌŒçZNi¨wN 2^.’lKÎräTu%/ÝY3oSÓš+L{Ît-%Êˆ·dUº¶"¬úq2ç«tioLB dUð]d…²³h•ª.’1î›}ÖáÂbiG†·ùiÁµ‰V`Ž[*Ò«`&¨ÍöðÛŠã'Å•&YF{Æz™o‘g …1.={£ W=‹%Ðð®»–'gîÕkŒIeS-+gÕiœÄ)æn¯Ô:'TIÇ‘î¸mV*²¢ö¼ià(Ží·q@Ã[ÞÆ;û9ªXæ~çÙDµ¥>ôkÈ( ¨AXDÉÀ’EÒ€…§<¥†e¼kÀûîÈ^îª“@Çhó{Ã*g&¯Ös-0Ø³wÓ5î5UC,ìNW–¬J3§ÖŽºŽÇôÝ†ÕxtÊÞ±GK²Jþ½^•®÷¾À¥žÝWàa4½nÎÉ‡xCøèðŒ_ËMn ®ÈG}ÞDG–Êžeª¾NXÎjÕ[”’"ÆŸTŽ	Ï5Êj¹"qœob'û¶‹ÏmDu_£ˆêXÎ]xÝ´ç:„|t…ºOSs‹²z¼žO¥ûÖ!R÷šO¥×¾‹Hú>¢¾»-ŠñùÔ:’®¤&_úÍ~Æ‡‹qá8Š6ÌÐÂp¨ñð8-Ý58ô W½™\¥&µbÃ3ŠÀYdzŸóÎƒéV#õ;š[¬¡åJß_h¢é[Ã#†ƒ4Lõ†þ5´nRjçëhÆféê>Ä >òé¤jáëtIöÁ›	?àÓ9ƒÚ~Ò8'b#´„8ÇRé»hÛÄÒ}íÇDüÄß^óªÇùÕá+¦n.m*³í'%«¨§×ph8yÑä¯ÛÒ÷p8„áäO"’N®¡=<|áÞÉÐ/þ½óàŸ:•çp€ã§Hà&óZð«ó%›â+Vá	}ÍÌÃlK*ßaßc?`?n©T¶N=‹gð,‰'p±»‰2ä·™ ,¸s$8ÎhšD@°cgvnó_ÿó–ì$ê‰ b3pˆm¡v¿€9Ÿ 6„Úæx0ëµéPK¦bîF  u  PK   —€•)            "   de/mud/jta/plugin/Terminal$1.class}T[OAþ¦`—®åæ¹©XK–‹wÄF¢I£$Þ§Û±Ù%»SŒÂËO1Áj|0>û£Œg¦å…n²3gÏœóï\v~ÿùñ]˜EÙ…‡É.âF7qË¥eÊÅm\ÜAÑÁ´‹fÌÙ]#Í:˜sà;˜gÈê]™N‘0Z©	?jÔü=Íýý°Q—ÊßI$—r[ï•ÞZä³"•Ô«ÅNNÓ;Ýå¸&ò©ÄëFTÉ6¯†¤¬Äwx"Íw[ÙmÈ0€Á{¥”HÊ!OSAšñq¦ˆ^žZÆjS$oã$5ËmpŸ¿Ó¾8JûëÖä…‘-7&LÖŒÜ­¸‘bCv½GçŒ‡,xèCÞÁ¢‡%Üóp<ôð<ñ°Œ†¾ãå8ŒO=¬bÍÃ3¬{xŽbÑ);†~‹rU÷ßT÷D ÆÎ¤]‘©T7†®¢Épä|\†},^9*ï‘Ê?ÐK‹ó¦ <DJ2O#²Ô¹Ý­R6´ý—<ÝÕ¦§1r~…)µºÐ-E9Ž"®¨qÃÅ6’MxK'RÕ	fètÊ“ü
ÅÊ¿%Zžþ_ESwªÑ~¬,‡ÞTè8õ$nC§&Ç¶ÌNKVor%¨Xý'§VC°N"ö¹T“ôz4¾½ôšÙ ½æÉÐ;@:‚'i•¾Æ-}+Í|Eæ‹µ¦5K6À\¢õrËŠökÅmcRUq½U¥;ÀXJ‡È¢ËlßÑ=ÓÄ…&²¿à4ÑÓ:Ê5ážÄé#?à#á|¢«âó©x…ãxŒbŒâd0ný&pÕ²`”§}þPK^–N8l  „  PK   —€•)            "   de/mud/jta/plugin/Terminal$2.class}TYoÓ@þ6-qcÜ»\¥PBšÒºwK @ EP©Uß7Î’n±×•½)âpü¤ˆg~bv“‚6–¼;žùæ›ÃûûÏŸèÂÊ.<Låp×r¸Ž.-Ó.n"ïâ
f\1kÎniÎÁ¼ßÁCVïÈtš„±JMøQ£æïjîï…ºTþ–H"©x¸ÂÛ|¯ôŽÐ2 ŸU©¤.1L:9Íl3t—ãš`è¯H%^5¢ªH¶x5$ÍP%x¸Íi¾ÛÊnC†ÞK¥DRyš
ÒLtˆ3½Dôúy e¬6Dò&N"Q³Üvù>÷ù;í‹}¡´¿fMžÙrcÂdÝÁˆÁÝŒI žKÃ®÷0â¼ññ0ˆE}èw°äaw<ÜÅ=÷=<ÀC<¬`•¡ï(B9ãÄÁc%<ñðkÖ±H,:eÇ0`B®êþëê®4Ãø©´+2Õ‚êÆÐU0ŽžËÐ£ÄK‡å=TùûzyiÁ€Hi@hD–;·»UÊ†–¡ÿ‚§;Úô” FÏ®0¥Vº¥(ÇQÄ5n¤ÐF²	oêDª:ÁŸ‚Ny’?C¾Pù·D+3ÿ«hêNô"Ú‹•åÐ›
½Îƒ·õ$nÃ'&Ç¶ÌNKVop%¨XÇ§VC°N"ö¸TSôz4¾½ô™Ù } æÉÐ;H:‚'©DßFã¿g¿"óÅÚŒÐš%à.Ðz±eEû‹â¶1©ª¸ÚÆªÒ`¬òÅdÐe¶ïèžmâ\Ù_pšèiåšpãô‘ð‘p>ÑUñùD¼üQ¼<Æ0Nq2˜°~“¸lY0ÊÓ>PK÷o\€l  „  PK   —€•)            "   de/mud/jta/plugin/Terminal$3.class}T[OQþJ—.‹@Aªˆàµ”Ë"(¨ Jhµ\´¢1æÐ`¡Ý%ÛSþ€¯ÑK¢‰Ñ|õÿçl[ÊEÙäÌž™ùfæ›Ùsö×Ÿ/ßPŽ.<ÖàGÈ‡:tøÐ‰.Ý0Tôh¨ÀE)z¥è“â’†Ëè—¨‰º¢âª†kÔ0„ëR«¸¡â¦Š^±lfÚz4Ç’ÜHg“ÆŠ`ÆZ*»dZÆwÒ¦ÅRƒ
|ñMK,sa&(fÈ´L1¬ 5xXPû¬OÄNr51Óâ“ÙôwfØBŠ,þ˜`©Yæ˜R/=’Œ(Ð£–ÅHŠe2œ,-‡Ôië#z5,!LÛšæÎ¢í¤yÒå¶ÂÖ™Á6„Á×¹%Œ2&÷.7…Ë®¡EÛ’þjÜvÞ5æpéj(¹"vzÍ¶òZÜÎ:	>nÊ¶ª‹T»%VG a8ª"¢cc*ÆuÜÂmBî©£#Š;:î"¦cBŠ &ULé˜Æ=÷×1ƒ
Ž”¢–æ*fuÌ!¬â¡ŽyYëÂÔêa#TPë&I1kÉ˜ZXá	êíä?g33‚ÓÇQP”clú^•bg(~Ã¢ÉX}½=4,ÿÁ*P—¸w§_l?0é¤^é½.õ¸pLk‰ •ˆ‹M9~¢ÍGÄÍg¤‚¢QÙJý~†³£4^5Sdâî#"ƒ¼bšYœ¬-9]‹¼5TtºpRw·¡hFwÂ‘gwÇ:gZI{ƒŽÝK¬îKN%íÛ´³”±r¥Ì$§è¿à§kSOË/½!Ÿ2Z#ý8í†I—-´%ÔñeŸ\LI/a€8A²1B3ZÝ,Z!§B•Nrý†
½WC[(ÛByž‰Âö+*æ;sðÒRiUz’Ûðå¨ªë®ÊAÿ‰þ’2ÙõÕÏ¡u}GuGJŽjv+µ%²çá#ùUx…^c oÆ[º0ïèv¼Ç|À
>ºÍ„ò4wšYÅœ¥&ªðm8GÃRÆô£-£¬ÑŽ·m:}nþPKN&ø  ‰  PK   —€•)            "   de/mud/jta/plugin/Terminal$4.class}TÛRA=!K–E  QDð‚ÂeT%h4\4¢eé°ìR›	þ‰Ÿa¯/>øêÿXö,	á¢lÕôNwŸî>Ý;³¿þì~E9ºðJƒ!êÐáC'º4tÃPÑ£¡7¥è•¢OŠ~·0 Qƒu[Åw1¤a÷¤Qq_Å£
¼bÙÌ¶õ(hŽ§¸‘É¥ŒÁŒµtnÉ´ŒîdL‹¥‡ø›–XæÂLRÌ°i™bDAkð´ öYžˆâ
jâ¦Å's™îÌ°…4Yüq;ÉÒ³Ì1¥^0z$P Ç,‹;‘4Ëf9YZN©ÓÖOôjXR˜¶5ÍEÛÉð”Ëm…­3ƒmƒ¯sK£.d\î]n
—]Ÿ"B‹¶%$ýTÔvÞ5æpéj(¹"vfÍ¶öµ„s’<jÊ¶ª‹T»%VG a8«"¢cã*¢:â!ÔÑÃcO×1!E “*¦tLã©ŽgHè˜ÁsgJQËp³:æVñBÇ¼¬õajõ´*¨u“¤™µdL-¬ð$õvñŸ³‰›YÁéã((Ê16ý?¯‚Jq°¿aÑd¬‹¾Þ–ÿä¨K\DÝé×ÛOÌ_z'©Wú E¯K=!ÓZ"@%bSŽŸhÆö#æ;ÒÁ“±˜l¥þ8ÃÙ1¯š-2ñ‘A^1Í,NÖ–œ®EÞ*:]8)‡ÛˆP4£;áÈ³{`3­”½AÇn%WÎ¥ §ÆRvœmÚ9ÊX¹ÎÒfŠ	ŽKô_ðÓµ©§å—G‹ÞO­ Î‘~žv#¤K‹ÚêØFÙÓDÒK`H6î£ÐŒV7‹VÈ©P¥Ë…\¿¡ÂCïÕÐÊ¶Pž‡g¢°ÝCÅ|g^Z*­JÏÛøòTÕuWå¡ÿÄ@I™ìúê÷Ðº¾£:3%G5‡•ÚÙëð‘ÜFòá#ñ	aìÒ…Ù£Ûñ¯ñ+øæ6Ú§yÐÌ*®à*5Q…7hÃ5ÊF2Þ mídv´¸mÓéscðPKH/}
  ‰  PK   —€•)            "   de/mud/jta/plugin/Terminal$5.class}R]oA=È–u+ØZ‹µŸŠ
Ôv›Ÿ4M´jBB´	-ÏË@‡,³fw–Fÿ•I­‰¾¨/þ(ã)Ô(›Ì×¹çž{fö~ÿñé3²ØÂ¶7Èc¹€¬ºXÃº™6ÜrpÛA…!¯eRÙaXnv…?L»þ@sÿM˜ö¥òE<”Š‡
­·J-Êy,•Ô{kÕiIµ6Cn?ê
†bS*ñ2vD|È;!!sÍ(àa›ÇÒœÇ`Î˜a ƒ×PJÄû!OAÈê”:•‡d¯È-#u â^E×zð÷ù‰öÅH(í?±”çfo½1an=…Äà¶¢4ÄiÜÍN*n›îx(Àup×Ã=TÔ<Ô±éá>¶Hzše†’-rÕ÷_u"Ð+ÿôÒ”‰ôÙª±½ô]†}±]œ¼ÙòGúÁîÝjþï@ûÙ]¯/ôÓ´×qK¾¶ZƒÐäO4WmÔÚX§¦rè7ÍÐ˜3o@ëe˜/CÃÃ,¯ÐnÎqëÁê›yo9EšóÄ¾ Dóõs®âšUqÇš;×: ¦6¬rý™SdÇËr¥Ý×g¸ôKÙµ¼¯XÄ·ßÔËêeŠ”I5ƒ6g	ó6‹:ÛÆñPKJ¥²KÚ  C  PK   —€•)            "   de/mud/jta/plugin/Terminal$6.class}R]oA=È–u+ØªÅÚ/¨í65ñEÓD«&$¤6¡ò>ìtÈ2kvg1ú¯LjM|ðÝúŸŒw¦P?¢l2_çž{î™Ù{öãËWä±…mn•PÄJ	«Xs±Ž3ÝvpÇÁ]5†¢>–im‡a¥
”…þPsÿm”¤òD2’ŠGOJ÷J-Êy*•Ô{ëõYI.Ca?C¹-•8ÈF=‘ñ^DÈB;xÔå‰4ç	X0fÀàµ”É~ÄÓT²6£Ní1Ù+ó@ËXŠ¤'#ZoC>æ>§}1JûÏ,å¥Ù[oL˜[Ï 1¸8KñJwóÓŠÛ&Çƒ‡{JpÜ÷ð uMlzxˆ-’že™¡bG\ü×½¡4Ãê?½´eª=C¾nl/ÿ_—aN_l—¦o6…ü±~´»C·Zü;Ð}ñ†®7úyÖï‹¤#?[­Ehú'Z¨·]lPS9ô›æh,˜7 õ2Ì—£áažÎWh·Ggƒ¸ÍÏ`ÍÍOÈ}´œ2ÍEâ ßP¡ùÆ9WqÍª¸M†ë;×:¤¦6¬jó¹ä'Ë)
•Ýð—~)»–w†%|ÿM½z¡^¥H•Ts¸is–±h³¨³m?PK{™Ù  C  PK   —€•)            "   de/mud/jta/plugin/Terminal$7.class}RßOAþ¶-=z=,E~S Ôè}ðACbML5ð¾½°ÍuÏÜmkü³LPøxBÿ ãìÚ¢ØKvgæ›™o¾ÙÜÕ¯‹Kñ{!ÊXª`
+XÆJˆU¬X°`S lÏt^ßXnwIö]Ù³J~L§ÚÈ#ÊúÚ¨ä…@åð³±gduÌ=/µÑö@`­1©iïX ÔJ»$PkkCïýeGª“02×Nc•«L»x–œDo¡¬•¨<'FV'Ì©?gy5[š”¤YŸº^[O•TŸ¬¤!+_ù’×Î÷Ú¹­'	„‡é ‹évêfÆŸ¸žUlE˜F%@=Â6vìFh`‹Y'©˜õ3eNåûNb+°r«Œ¶Î-ñ;NñÒÿy¦í»8~®1$‡öÙÓ}^háÖ„ÀTF9Y¬óRæçøÌ¹ÝØ†p_OÇ3ìpì°ù¢ùè+
_|Í¾]?pß÷þTaóž%q
ÜÅÂˆ«ÅÖ³7ÏQ8GñJÉBŸúÁöç?„ÕÂ*#‹žà¾ïyÀ²]oäóøPKJæª.³  	  PK   —€•)            "   de/mud/jta/plugin/Terminal$8.class}S[OAþ¦-]Z*jÄ¢¥\–‹(ZÔ¤D´ˆ‘bxšîN`Évw·U‘Ï$ ^}ð/ãƒFýÆ3ËZ!ÔÎÃÌ9gÏù¾sÛO¿ß}@S¸›„Šñ:—×D“˜R0-_-A×Lf1§`>‰®)XPpA©s+[©y™’!´jÍÐv}®=¶jÛ¦]¬y†ÄúKÛß¾©3ÄýÓËÎ0žôÞ¼µ²p«¦Í-Š‰/™¶éßaXÈµrlN9¾Á[vÁ*™¶xT«V„[æ‹,=%GçÖwM©‡Æ˜L‹êŠmwÙâž'È2Ô‚=»H‰¶=wMŸÚr[EÉË*‘­"	dì+íò:×LG[Y»÷B{¾éØ«±ÇÍÉˆnOØFYX¶ð—j•Û9ä°¨^%…ZrÝ©¹º¸oÊl;ÿf0-áUô`TÅ9t«èD—‚*0ÈnB®b7UÜBAÁ’ŠÛ (QÔ…ík§²y"žÕ„çKš,Í­U?¨âð³Ú´º??GãîÿÇu]x^vvfŽ¡ØzàAM··µòŽ+¸Q?k¢•ã5ÃtŠA—‡Kgê£f6ê"ïÞf[D ×á†Î=Ÿa:wvÕV)g¾-Ne°VÙº_ÀýB*€u†B‹•‚<=rN-XÒ¤÷’´JÞQzSù#°üÄ!"ùÉCD÷˜>ºãäü@†î‘cWœG •
¥$	#$Ó„ÐFÉ 2ñ±Wè\•2{ƒøæ~×N)·…L]÷g²|!ýë	ÆLƒ1ƒ‹¢È$1L_%ã%Œ†Œ”,P>¢—¤h¨½E{›ÿ*KÒ|£Œ¿\êqlÈÅpÙ÷!5Mú¦%Ú{$ž!Ùî'õöW —9i¤žÆ®`Wƒ˜.Q²˜àüPK~ŽwÃ¼    PK   —€•)            "   de/mud/jta/plugin/Terminal$9.class}’]OA†ßÙ~,Ý.i•" V-ZZ`‰^ƒá¦DC²°÷C;i‡lg›í,ÊÏ2AM¼ðøk4ê­ñÌ²-†H7ÙÝ9çÌyÎ{ÎÌ·?_¾"ƒ-l;°q·€<ÖÜCµ€ûxàà!j6Öm<bÈë¾ÕvVý®ðq×;ÕÜqO*ïXD©x°ËP8:Wº/´ìPÎ©¤ÞcxVŸ–äŸò3îñwÚóùyë×\ñžˆv7ÚÙVØó¾TâM<8Ñ1?	ÈSòÃÚ<’ÆNY#’îR"j|4äY›R¿öœd[ï©µ¥›”P+ñ°Ë5•X¬_mzña_vF‰RÖc(ÿ'ÆFRiç(Œ£Žx)ÔÙqùm“â¢ˆÇ.fP°Qw±Š†‹&6ml¹XF…?­†¹IéC®DÀ°RŸ6ØÒ$Ö
•æ4ÞÈ(å‰Òå›K1ÌèÉ²2ëØåé§Ov¨çòõ@{ÿ-ªt¿l˜ã)™VéïÀ<z‹pÉž¥Õ¬KOcó3X£ùÖ2-ÌÑ7O›€Ÿ˜§o5M\@9ÁS¨YÝÂmÊ ãB%Åî‘mB£ù	™+¢“x¿#‡	uñr×„šÇîƒ™SHYû)Ëm\Àº@–ˆ¹ëÄ_¤â÷?DwBtS¢…•$g•Æa²è–%qüPKµi¸ò  —  PK   —€•)            #   de/mud/jta/plugin/Terminal$10.classSkOA=Ó×Òv¡Ø"ÞÊ¢¥<–‡ø*¢RÄ%`üæ´Ê’í.ÙG?Ë5ñøŸDï,mi«›ìÌ³÷Þsî»?Î¿~G³XO@ÅDIhr™Œã.î%ÅT9L+˜I@ÁlsÐ%<¯`AÁ¢‚%¥ÎM­ä»ýÅŠÐk~E?ô¸¾múUÃZóÝ<C|ç£åÏ(3Ä¼ÃÕæ†Û½o}W85Ãâ&ÅÄVËðV–³¯§œÚcˆìŠ`HK¼ök%áìò’IHºh—¹¹ÇCž`DÊb ƒºiYÂ)˜Üu!cØµ…yRšÜ·Ë¾ûŠO…a4[<äu®óž.êÂòôùù¥4]aQ÷†:xQÃ‚”EÛ%ÏÄŽí;e±aH™ÝMê9®"ƒû*n ­¢)Ë*à¡‚G*ã‰‚¼Š<¥^·ÕÐF·ãqÏwe–UÏT<Çk(0Œt,š¡7Por«ª¿)Š2é¾® ¢áz‚ÚIegeñƒÏËÐåµÌf×›^÷–e·S-š‚ï¸6eÎT…·íˆŠØ—7ÐDû²›SÅ?|)<}	Ùµ#Û"¥ÔnWx—qW¢¤ð…ìÕIËÿã¦û®›Mb+96¯”¹¼Ü¹kÒn	×åU‘oÈok2éï¥b×Å>÷Í–âLöj¡§ßX¥iîFi9d÷B>i9/­S˜Þúè|“¬-ò–H*w
–›>A(7s‚ð'‚Bè§5†àÁ Ùã®¸…¡ Uª‘XZ’0Dö0F©9¢„ “¹c„Ž‰ž!ú1:…¿Ay'ÑéSt}A<„·—„=ÉOÚÏ¡áW@Ü‘¨E<‰QŒ#IMº÷:­Aw†Äÿ²±0ºY,ÚÆ¦µØ´[·ƒ¸;¤=AH2øŽßPK>o½b¥  V  PK   —€•)            #   de/mud/jta/plugin/Terminal$11.class}RïoA}”“ó HiÅZ•ZJµ~ÕôƒMš˜›©ñ‹ÉrlË‘ã0w{Mü³LÔ6šøQÿ(ãìq
þb/·;3»ï½™Ùýöýãg¤ñ û&rØÊá
ª&n¡f n"ƒÛÚ¹£­»¶Ü#dÕÈmÂVw(íI4´ÇJØ¯½èÌõí¾&®/¼G„\ï¯FR¹c»¾«µæ2Ðî	!s8JÂj×õå³h2A_<Ž”ºSGx'"pµŸ3:ÖSß—Á¡'ÂPr¤¶D§Ñép~Ù©ï±!ÝÔºÆôôtæ›½i8òÈÕùŸ ý±8
¨X¸
ËÀŽ…&v	E½a{Â?³û£@Š¡>Ô²°‡û÷¶B¨.Må7†ãÁX:Š°½ ‘çÒWöqœmO	…]7T’«%lþŸšŽ#Ã°Ñiómµ—w¾ûgÜ¡ëÍ…èóÈ÷uÏãKš3?$<YÊü7ñ?µVB%…:¿Áß¦ÉI÷™×<ôHó_À*ûE¶â0[ ÖÞ{¤Þ²—Â5ž³Ð¢Äx`cv
kl!¶fœ\*	×+~àŒ@³õ©K¤¿¢®­OÈ¼ÔëV.‘}‘l~€1W*1dÁ¤<ªTÀcUkÆ—¨nüÒ:b¤Þ+'t_`i‹´Âœ· «¥2ó®c68Ë	g
›ñ|ëqUÄ}‹ÇPKî¼U  Ô  PK   —€•)            #   de/mud/jta/plugin/Terminal$12.class}RÛN1=de]Å¨xÁ^P£ë%>i|Ñ˜˜lôÂ{K–b–Bâ_iâ%ñÁð£ŒÓ”¥IÛ™Ó™3gf÷ýãõQì`ÓF³	a.4æm,`ÑÂ’…Œ…e†¸¾‘­ìÃ‚Wn£]uëš»·~»&•[AC*î3$
wJß-+”s"•Ô§™Ü ¤­Cì¬YIO*qÕn”EPäeŸ	¯Yá~‰Òø]0fÄ0€Á¹TJg>oµ!™u²û¤/Yº‡ïn‰l*·åÕy‡»>W5· ©jhší ".¤)8ÚKÙ5‘F°â`	«Öµ°î`)†ÅÆJ]—ë¢¢ÖûRDG(íöôdKê‘!š3“Jÿ_€aX›3½Qô ·£ö¨³ÔŸÔdßh.Ï±LÿBœFlÑž0ÍÒmÃ¬í8ä’uJ¾AìüX~û	‘‡0fŒN“–F’ìé¯(Œc2d±»œôêr…>±çyDô±û_dó!™óÖ%‹¹9gH¨!f$=\ŸPK–7Päž  ß  PK   —€•)            #   de/mud/jta/plugin/Terminal$13.class}’QOAÇÿÓÖ=®B@@l¢¥F%>ix˜˜\ô¡XŸ·×MÙæºgî¶%ò©0AM|ðø¡Œ³×V‰Ýd÷fæf~óßÉþüõýŠx‚G>Ê¸[Á-Ü«`÷}laÛÃ5uBÙžë¬qHØ
{JG=1°R|ŒG}mÄ™J‡ÚÈø%¡Òþdì¹²:âšWÚh{L¨5çt¥“¤§K¡6êíhØUé™ìÆY	“HÆ™jçOƒ%'† BðÆ•žÄ2ËGjsú4ž±¾j_ÙÚô’‹¶¾dÔzó È±òÂŠS=T&Ó‰áD¿ŒÒH½Ö®auyêr,b'À*vì¡áa?ÀC¬¶ç
 ,çÍbiúâ]w "KØû§D•±â¯ÀPgVñ	Å¦›Óæÿñ„ûÇÜ˜bc{ôüïµzóGçôýd,í(UÊ¸®¨ó;(óx=Þ+î¢üõáV÷"ö«l³ï"~ë¨õø
ŸóœÛ|ºzPKl¯O²°ŒÕœâO™„;X›²^ä>Ó[×(\£ø¥«°LÒ¦°ÃÝ¹ÁB˜Xz¾~PK$ŽÝ²  Û  PK   —€•)            #   de/mud/jta/plugin/Terminal$14.class…’Ín1Çÿ“„,YÜ´²…~(¡Ý¤À†ÂÔKRR[õÐ›³±Gí:‘xÞ©|ˆÀC!ÆKz€°’½3ã™ßŒÇóãç·ï(âúð°QA›>¶p§Â[ÝÇ]Üó°íá¾‡¡lû:k´	›žŠ†ã^4°2z—ŒÏµ‰NT:ÔF&Ï	•ã÷Æö•Õ1Ç¼ÐFÛB=\Ô<%”G=EXîh£ÞŒ‡]•žÈnÂ–ÕÎ(–É©LµÓ§Æ’+† ‚xmŒJ™eŠ-õyOžq}"S6G¾Œû#&…gyz•ktFðGã4V¯´K´4~<) ð@ ßÃŽÀ.B&Zöj[³V%J¤9Þv*¶„íK!j¢ŒæÕutfßŽP]‘ëÿ¦sÙ2ŽU–5öÛíÿö›oyÕÎ#×f¾3S4±O÷ÛÜ«Ú_x0Ê<0ÌàµêºÁÿkp_—ÀëU–Xw¿õÔÚû„ÂÇÜg™÷2Üóí`…åà·®ãfNñ§LrM²Ž¦¬ uÂW? ê¤”6>ãÊn•'´ŸBÔ¨y‰ÌùÖp‹¹ÜÎãÖq#ÏÊ›ŸãPKM/ë$Ä    PK   —€•)            #   de/mud/jta/plugin/Terminal$15.class}R]KA=7‰Ywµµõ[µ¡Øˆ®R
‚E(B!¨ ø>ÙŒqÂf¶ìÎ
ýY…Å€?J¼3Æ¯wavîœ¹çÜ3sçæöêel `s>*˜°€EK>z¨ªæLe-Âb»+ÃAÞûF„¿ã¼§tx,ÓÒ"Þ%øG´9“FEÌù®´2{„úZéË	¡ÒJº’0ÑVZîçƒŽLE'fd²D">©²ë!X±f Ô~i-ÓV,²L2R/¨ÓØþÆþÞfÒ´}ªzy*ŒJ4Ÿè…»CÇºOqÖª‘‹	s¯¦‚£$O#ùSY{ã%7ûâ\Ô`¹£VjXÅ'ÂR¡Mvi‰a,t/<èôedŸŸQä¹Ô&|qŒ¶ÊŒä« ”×¬ëù×+°[E2Ë_·¸¡;…Í)¸,óCá&TyLÚòìÃ~%Ælƒ8ÚãµCš æú”þºœqþ[.ho8žò&X.º×$¼Ç‡¡Ö¡–ßü‡Òú%ÊORÝ MŒRøLÎ”ó1Å1:ã8³xçXüžÜ>î PK˜û4OŸ    PK   —€•)            #   de/mud/jta/plugin/Terminal$16.class}‘ßNAÆ¿Ó–.Ý.BªE  Õ`M„›&$$&B¸Ÿn'0Ívwgk|,ÐÄ€‡"žYZáÆN2³sN¾óûÎ™½½ûýE|À[e<¯`
/*XÄKKXö°â¡áa•P¶—:mn–:=%YOô­WQv¡8SÉ@í*§ß½TV‡\s ¶‡„Æú¤¢wç„R;î)ÂlGu’º*9“Ýˆ3µNÊè\&ÚÅ£dÉ5C !86F%íH¦©âLc‚Osó÷WM”Ís‡ë‹ëÎÜ?³$TGÚ±gÆú}9”ª¨˜FÅÃZ€Wxí¡àê„å‰^„9‘4âs·¯BKh>*QCe¬øòÐNG§Vñ4„Åÿ“	Óößua<î8%†v{kƒÇ¬åÞò›íxp¶âÇJÔ×L¥6wÃ*ÿë2?¡Ç»æ&ä¯·
¼«8žáÛ!Ç.ã·~ZïoPø‘kžðéêAÛ˜åûü½
sxšSü“ðõk/™ÞºFáÅŸ(=À| ø´›ƒ{éX`w.p³NKÜ~¾þPK|k’o©  Ã  PK   —€•)                de/mud/jta/plugin/Terminal.class•:	|”Õñ3o¿ÝïËæãH @d¹ts‘pE‡’ $€„Ã€6»_’…ÍnÜ¢(ˆŠ­Ö¤Z«5Ô›(‹k­¶`[µUkK­­ÚÃÛjíßª=ä?ó¾ïÛl’MBóß{ófÞÌ¼y3óæ½ðó¯Ÿ|P"ntÃË¸,‹>ðg9jÝð
®Ðp%«ø³ZÅÝ…u®É‚+p-i¸Žoh¸žÛú¸­×ÐÏm@CƒÛ¹mÒ0ÈíF7qÒ°™Û°†[4¼Øc1ÊòbÆ5L°”Í*nqƒ·©x‰
q[6nÇKU¼LÅn˜„Qžt9÷®`ÌNw©x¥¦á6w«x•ÎâîÕ*^ã†
î^«âun˜ƒÛxê¯Wñ7Ìc{ÝP…7²
ßTñ[*Þä†s±Îñfü¶†·¸ñV¼MÅÛÝPƒ7ºqîWñ7,cÍàwT¼ÓµÌë.7¬äö»nXÍíÝn¨ãö{nX‹Û²ÈÆ÷hx¯¿÷¹Émn<ˆ?Ðð~nÐðA7>„óç–ò¨Š‡TlwCwá1nçÏaÞ¬¤†Y*qC)‹OàQ7>‰>¥âÝ`3%ði¤á3<íÇ>ËlŸÓþ	ÿ”~LÅã¬ÏóþŒ)~®á/4|µz‘?/ñà/5ü•†/køŠ_Å_óÐkþÆ¿Å×ðwn(Á×5ü½†o¨ø7ÜÊšíÃ?jðS½©á†ßÒp(“¾ÍŸ?ñçÏüùãþªá;¾«á{Žâ÷5ü@Ã5£áG~¬áß4üDÅOÝðþ)>ÓÐ£á?XÂÿiø9·ÿÔPJüRú•ŠÿrCþ[Åÿhø_öþ¯YàI"@ë¨
A{-Ùð*~M¡gáT…ËÏ“!…*4þde	·ÈÎº@Ä@âe’RÅ`Uä¨"WCT1Tyz‹EÂ¾Ð"ßf®AP	Çâ¾p|•/”0@?Î€QŸh$‚j-nD›ƒ4aøâ€QÚœ”ÚC¥›ãS§”Í""#ì‚aš“»x#1/ùÂ¥µñ(>Ë—#•†Ñ‚0Ææ²1î+56áxim$,7.N±8Q»âË|aƒ6yù¶ÄKåá”f#œ@Ô‰©¡ž5|#ÚUM<ÊX$‰ÆòLl"•žç‹5Å}õ!ƒ††"~_Èð7EÖG6Ñh00Â4/IDýB~ºÖƒ!2Á²P¢1fæ³ƒá`|.B‘7ÊÄW&b³zš¤`-¥*0x)Á°±$Ñ\oDW°2¼Öe•/dØTâMAÒTº„)¡t…µ¤Š£>ADÃ2« ‚âŒÍCºš°š™ACc3³á¯BF‹ñ¶wšlA8ÑlD}ñ`$l‡xCSŒÌíœçgüâ`,n„¨ÔŠéœrÈü‘pC°1¥UÊ`±*‰–&rø»Ù¾QÄ›É§ÐHí¬´ò‚­~£ÅRR“bk8Û¥s%Ë¢Š†xÐvIGŒirÖv.§Šgƒ¬ÊÂsù[I_ÁZîI'êi\‰·ì¾`Ì sg‚QCZ„ú14
UúÈC;ç×ÊÑzŸ´U0°•lµ%ˆ7—&#ØØDj)‘05ÎX¼•½ÁÙ`JÉâáZsLÛd´²KÑ–yLÞaƒöÖjˆD›ÀÊå‹ÓÍâˆ&H!‡—ÍŒõ¤ûÚJê„SvFJ«—¦ODæ1¿ÖŠ‰®›×%(¤sì‘ªÞµ•”HÜ)f1^_”¼ÐBí F#nN]Œ%8Ùó¤¸¹%&ß"=¤Hkd*ÈI'´’ynK+Âo'&à‹ûâQ_8Ö`DK«BÁ–úˆ/Šfùmal¿3ˆ;cx3½±gö2Í÷Z›&;[|1^9ÒnNèeÖ
«cå&W}¢¡SÛ€P$_º…‚*Ö$·?¯ÿõŠ¶EI˜Â5N{ãöùýF,6¡¬¬aª·¯„SÐK6[ijVmk8ÞdÄƒþNž“Ë¦ TöÉ³gú.È”ÑÅÖÉélI^Ù©¨Ú•‰=
ÏÓ÷ü5äS™|Fß«è+­¹Í¢ˆ!G`Ï™Ä
ê(Ð¡Ã‡pB‡wá=Þ‡tø|Bn¢¼ž¬Ã›ð–oÃŸ(‡g0?Qãxò³úÏ¿I§3>WÃÄpŽx# ã:Ì%dcÔ0Â:®gÀÕj„B‘-:úRê©ÐÑÏ}µÙ×H>AJ’0B^ÓHÈFIØÿ ìû[}Än“ä½¥‰B[Çf‰hŒú(t	Pò6{Í¤¬¡Ã_á²ÊÂHÔhŒr-@@%ioºÈ§Q¶éÝÚÈ¨lÑ«ÃU!_,fÄ˜óÈ¾gMQÅ(]Œ§S2ï~BS^éq<êbŒðèb¬§‹ñb	¬mö…BFÔ³P&ç¾dMEÈ^ì‹6žñ4^¿ŒyOÑô²¾i§wÒ–ôG[®‹‰ì—”Ì=+R•]_“Îê=ƒ}†€?öM8“Ž–”I+#Q*ÖûZ#‰838S‡?Ã_ÈÅªÈßŒ¨*¼lì„Ñ}íz™*
uQ$Šû¡›¬Š]L¥ýÐMé?µü´~ðÓûÁ—ëð¼EÚŠU”éb²˜¢‹©bš*¦ë¢\ÐŽ¸ëÓÂcd·ÛÆ'ÉbG3uQ!féb¶˜ ‹9b®*ºVGtÊv÷ûJë¨™‘ÊJ’ã$É½ÂÓœˆÅ=õ†ÇRfzâÑ„á‰D=¾PÌ(ö„#qŠ³Å9º˜'*uQ%FP“©æRÅ|],Uq®.ÎÕºX$Î§€J•-T­èb±¨!ý¾03n†»–«ð Œˆfuî1Ó2iA	5P!UXB+&=QKÅ2Æ_ÀV]®‹Z±‚â¡k%§‹•‚·2ØŽ°M<‰ð¦pdKØ”Nß€ÁœV‰Õ”%ü	ºRE'5¤å.{,}.uºXÃŸµâ":ù{ò–sºˆà“_Æ	Æì,—5¥*Öéâb½.6®CRWUÔëÂÏ»­„©\ÒE@ðÍaUÔ¬6¸ÉíYuê¢A4ê¢‰2±ŠºØ$Bºha]Dx[ÄÅºˆ
¾XPýJ‡‡‹OO0æÙ„YQ•®L‘¨T™v…°ºˆ‹|’(ãËBUÖ¬Î–/æ“&"k¹‚q_ˆk„l†‹l¨óÈà|É9"¡‹ÍbK7‡°k^Þ­‚ŽÇªšZ]lc#8ª+ktq‰´G½¼{ŽîóêÉB¶#œÞwíLAºíF¹¨÷°‹‰GÞo=t"’5t,Ä"æu©..c›îàœ;$CU­ÃGð±Ž%8I—ª¿'žR©Š+t±SìÒÅ•b·*®ÒÅÕâU\«‹ëÄ]\/nÐÅ^–yZïÉ†¼´G…BW½^êy*ŽÒ0f‰n—6Å„~JQY·Úþ'3ÎòD8l^n-‰¸¬¨:‘Kë7Òjgõ)è9D'‹·—;6ùùm¾· ×Kl?eß*ûØê>•6ll/ÍèC½5søää^o†ÛvAÆxMèzƒFçíçŽ-ïPM¾X¥!K£˜¼ÝQÕªÃZ£ÅGjóõ{úÿX·òË³?ëªvÖÏ<Ôk|aªMÅrÓÒ+U“A¹¤Ùv,Ó…¯—[àîOQ«æ¯¤2Ž–º0âOÄ:M7¶‡éºH‡fZ4%JéLf¹x'ÏÓ3¼Zta8¼—êŸ|†o¯æ1HÉjQ¯Fè{¤ ç%Ò€á—/J2CÏ×ŠÜž†¥´Ë·ü´³lˆ·ûD^Suèv­,åUF"!ÃGÑ¡næÅ¥t9î]Ÿô)³ä1'»ò1’¶“ÄH¡Ë¸úU¹â]Ã
¸|--K.î‡wzUÃAñˆ]ßw×”ò$ër#0c™&ÓÞÉÛ›%}²ä'’nCDGS–[eÊ¼	1|Í½+ÍD˜²¡IÊ¡¿¢ŒðfÄËÛ$ySØf=ÜÛ£âÙµK±£V¥^Îh½ÞÅFz«ûàpÆ)m§ÈFqF?ú¥2ªfkFJÆÒ•êí¡£tÖÆ®ÎšëÍL”î÷üÚU%K²*ëåx|HÈ$,-ªé&ÓÈéB£Ü3ª9¼2žSÕò-)^iÕzNoµôñ¼Œ¯í$D+_ˆPÉG¡@Å‹ßió2pIŸªõØC2=<ÚQm'ôêùV”ËÝ47…¶›ÈTª»Œ­Ø< •OÔÇ¬¨æ­ÎàìÇÔiæG#ÜÈ/›t6U›"je‰hÕ†<Í“qCcÄÀGvlíT<¯I­Ê¤ÅöÍM[Èu±—œŸzÍ÷f~–i…(©~4õ¢ê±ª‰wŽ_…½/ªTóIâ|ïÚÊêêÌuG–yÒ$j”ß k§““Õv>Žé§b²ýÛ~˜«éí¹¯Ëk^O‚²3íÒ˜Î=SõUp*<™©æ°0äÛÌ‘ª›bƒãzaÜ9…ØŽë_¸ùrlÌ—ï²å½™)y¯‰¥²5ÎN¢P¾£z| ŸN£hjË`,¼¯€¯Â¯á5ødÃið[8¿ ¯ü{x#Vøa„ú
¿ÚÉömø“lÿ‘í_áIû.¼'Û÷áÙ~H|OWjÏ¿Á'ôýÀñp›ˆvga®ë0¨…x4þ8
; «î¸ƒRè8¢ðqPr³ÛAOÂ€ÕØƒRÀàvÈI¹í0$m‡¼0¬†§€íŸNk‡‘)`T;ŒN§·Ã˜à±[—;îŒ?d"õ+Ù=ƒ»N¦OÂ™®ðÖ‚
µ
¹WT¡µÁœ|×Q(FxJ*²òiâ¤ºü¬#PZ·$	e«KòÕ$LÎwöÖx˜fNAØòG$cB¾ÂÙsÚ=ž–;µsZLcÁÓir
]žŽ>‹Ñ3ÒÑ3ÓÑŒž•ŽžŽžÃè¹:	g§¨ÎI§šÇT•LÕUu…EG`þaX@ÀÂ:úœK»}Þ¨>‹hú¢Üóé» 	‹y=: FN VK‹:`sºà(,@P-C+lh%C«lh5CÚPCklh-CIèt×¿Ó÷u(§ïrN?è`@4Ã0ˆPØ\g@+L…mp\5°ÖÀ¥Ð—AvÀp9ì¥ï°Â.8WÃ³p¼{(®§¹ÂáføöÁ—°¸óà Ž„ï`1Ü‰S`Î†ïâB¸—Á=è‡{1í¸Ã½ðc¼žÅ‡à8>Ïãð"¾
/á;ðKüNàIøXäÂÂ_‰2Ìs1_,Æ1bNMX,6ãq%žŸÑÊÌ ƒÀÿñÊ©÷9ü“B’{_PxÌ!]¿„¯ÀAR&Â¿(´’qü›zNx›ðÿÿ’}>D¾†“ ‡ÿƒ“ Ñª&!—,â#Ða†ºöQg8åŽ£Ý\—û$¬¯«9yo‹Ÿ€IðÙ¸úž8¿X¸bg$¡!	m0r	yP<hcî¦$„Šé_š“¶gFÌ™˜Û-Dvñ’’Â$D‰.–„xÔW(ä ‰:ÊD›“°EŽ-¡¶™níÂ45ÜJC~Ûº_ÂãÎÔ8.)9·›þ¼½Bq”;Û µÄ&¾”ˆóˆø2I¼ƒ×WÇ¹ƒä]~†å+yN|®¨mƒY´òÇ`c¸KCºÕß@ýQ®”"»ºè}¥óœƒµ»O^Åº°âWÚöÙMöYbW@9Z¾r¢Ô`*uä•HánnÚ@¥fC…3_I‘\Ó#òI“-Û6æÂT.)Ô™ïJÂµ¬e§u¯Ë¸e{¬Íž\\át”»ìáë­aÝÚÿr‹ïpC±ÞkÓÝhÑëâ+ß,Tè0±i¾eÑ,$ùÎÜ›’pó~˜I½oË^õn‘=5÷Û”‹o%uo“Yd.ÄÌNÜ»Ýæ¹Ïâ™-å&a¿¸£›cß„6î;.R<˜¦ÜYî,VØ%îJÂw‰°ÜUœçT6æn%Ð9ª2£<Wßkƒii½'³»ÞÛÕ-máß·„Ï,Î½V»3ãÂÕDÙÖã‹s¦*rt€	8°ÙÜg±¹ÆÜ¯Áz¹j£~`¡²Š¥ÞöðýìgZ¾väk¹H)Y4µÊ~Ð„†=?dÂN†ü°„].Ó:à‘º|'[ã<š„C¶ŒvKô+ðy£»„~ ÂÅÇl×Ø_Z¡¦¬öX±ïê%öÕÎØgä­¦“&áq[±Ã–b9]ü3i£dD?a£Zh­°˜Ê&{ôIkt*iÓQg/ê<EUUŒNó§»º{´â”nQ¶®†Õt¾5Ñéuì§ö < Cž‹~l 6)²„MŽqŽ5ŽuÐ¤ìVnRn¡ö6¥M¹šœAçvçø¡yªâý°‘¾³ ‡Î¸Q8Jp.ÌÀyPU°@Ïƒ]X{p1Kè\\
ãtÞ-‡7±¾Àð^HçLºpê¸ð"œ†ëH£õ¸7Ðh=6` wPïZêÝ„ñ.Ü„a“Æx1~q¡ãf1[E9n3ñ1·‹¼T¬ÂËD ¯	Ü)vá.q^%öá5â ^+îÃëÄ“¸G<×‹ãxƒx÷Š7ð&ñ1Þ,>Ç[.¼Õ‘ƒ·;Æá>G!îwÌÄ;Kñ€cÞéØŒw9öâ÷wá=Žƒx¯ã0~ßñ4Þçøt¼†8ÞÁïãCŽOñañEÅG•<<¤LÀv¥S¦áãJVæcRY„G”ø„²*›ð)e;þPÙÏ(·à³Êmøœr?þTy)¿ÇãÊ?ðyåŸø¢òo|É©àËÎ<|Å9_uNÃ_;+ñ5g-þÆy!žpñuç|Ã¹ßt¶á[\%àÃçµ]%8¢‚N:Í•‹«ò¨¢FUÂj³ÐM½ý°^Ž)ä)çc6õœD}=íÖ P0®Åt±p’ÿäK:Þ¥h8ˆø9hýÿÂÁÔSðLÆÌ%º¯!‡PÏEžfÎpŠ™P„C‰Î)fƒ—*¨„= çà09vòp8Ž —£Ê0Ÿ¥9fÂXª^Þ ±¥Äo$õTòØÉ&?Çû°Gñ\ÇG°GKºOá<é”<X…c«)»	ë¡U:ÉË}¦öäç‹å*UòôÓhl,ÕGˆãp¼Y÷ÀªœÔVå <¥Õ8æ¶Ay!¥’Í}'Œ0³VI]±c4u)m=“„s &áYJ°Š¼Ñ;úÀÉËl˜Óà9«P-äBŽJ@¾K…×{´´÷)¼>‚Bü¦á'0?…¹4^I%âg’^aU¬-uÁlœ@å *ðZ¬ƒx»ig¢¬EÌ%Á3
‹ÃO:e7â—´M_IþÃL*Ûe¨Ç·>$^…XD8æu¶Å‹ÏÆŸ…Ÿ
x0ÅÐÅU(þ'YvŠY¶T©Ræë$’ÿäd±­êÆöXzA/õ¤_·ÀSf]ŠeÖêKy¼1vÕU(’¡nX'S-ßsò„î“µŒ“§â4kr‚v„wl´™—×åP<Ï9ýgKŠ¸€ýyç2‡±§Qœhb ƒ`˜£DNÚÖN-y4NÇr£ÁPºp4#7š3I$bEJ…ÇÃþ[ZÄ¢‹Hà/jŠÛá…£ð¢à{k^ZRHß_¶;å®Ê’C4m$x`<Ù2›„—Ðña*y:ˆ¡¨yM×•‘b<Œ¡DÀ$Q$•KöaÓÙÊ–ZÊfÃxœEÇó„shÏ$Aµ<¶„7Óâ\<ÛZÀ"jùÿk¦ÕÝ+&*J¥TI—’ªYR¹wŽ”ªá<¬´.}c•nµéKç1ÄùÓt¿3YÌ"ìˆjaÑ²[f&¦¯ª&Ù;Þ£ÚìÎ£#³§F½0Ë¬Ñ"<?ñàÿÀb1ÖX,*:sÅÀCyXy"µ&àÎÔšþü]Š­Ôî„Áàó§Ðj§YíYV[aµs¬vžÕVYíB«­±ÚeV[kµ+­vµÕÖYíZ³ùPKÍy%¨  â1  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$1.class}’ßnÓ0Æ?·]C3³Nƒñg[Y²¥Fà4	•MBŠ QèÛ›šÖUâ Äí´ÇB‚!qÁðPˆã¬Ú&mÄ’Ÿ“ó}çg'þþú2vÑqQÅZXw±†‹ØtÐtðÐÁ#†ª«¬õŒ¡¥O‡þÄÿk4)íú¨ÈÈôC­w¢ÍX’è¥ÒÊì14½BU»ÏPé&CÉP”–o§ñ@¦Å ¢ÌJ„"ê‹TÙxž¬X0ð7ZË´‰,“”Ù,jÔzN€u•è÷2ý’¤±’Æ&b&|ql|9“Úø¯ò’}»ÏáÊrf6ŠÊÜ^2MCI­pé¼éS+âXÄcŽ¨9hq<Á–ƒmmºÑBb†å¼k$ôÈ7˜ÈH×‚*3’.ƒx=K½ö\rIs–è&q,4ÝÃm¯\ôê™Ték½€ÁÉÆÉ1Å«ÞUu»&ýSUúPÍ{ôtaG‰æ"8Å7i·G±Í¸Ÿ`(}Ëk–hµzà3ê´Þ9«Â2nå.îÜ“ø±:÷z=÷âï(íœ¢|ŠÊ…››¿;¤ÞG—ù¹#§Ì]r*á^®¹OÜVÅè$ùøPK¾ö€&È  6  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$2.class…SÛnÓ@=›„˜çÒŠpkCK M¡Nû
ªTUEB²¸ò¾q†v£ìuŸ…T
âà£³n.BÆÒ®gÏÎœ=ž³þþãë7”ñ{..cµ·±æbwjm¸ØD×Á]÷Ü¨šS•v`Lþ4û#ýw:;Q‘ÿæUðDiCÉ#Úñ‡Èœ’Q!=V‘2ûë½Âª­¡@å0“@3P=Ë¦#J^Ë‘fd9ˆC©‡2Qv=+VŽ ¼§QDÉ¡–iJŒ¬ÔÝcMG/(y'SsM/˜È™ôå{ãÓŒ"ãä)G6ÎÅ•ifV‹ÒÜã8KBâ£X`cqèŽ-òPGÏƒ‹+¶<ô±íàÇ0¸ßÁÀÃ.zÜÞBù­\‚–Ñ‰ÿ|4¡euþ©*P©!î‹ïÙOX) fí2)eƒlñîÜºhCf”ö‡¬ ¶¶·þÆ–šÆ3:ÐúHÓ”•±=N–h«Ì½m¦¨ÿðMZÔó­tø¢2ÄcÙvÑû”xÔÑàu“£}^[Äí†èoBécžÓâ¹Ê9ÀK<_»Èb®vÎâÎ9ï\Ÿs½ä·Íj÷ÏPú‚ò9*6:Ã¥sTÑ6øGB&ã*è7úö‚¾¸™ÓÝÊëV8ÓÊýÈ÷ñPK"@‚ó  ‘  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$3.class…SÛnÓ@=›¤1qÝ$Z ih€@.Më”r/ª„ªVªd."$ÞgI7øR9ë >©Ä<ðQˆY'JETK¶gÆgÎœ™ÿþóã'’ØÀ¬ep¥nà¦Ž[(ëdÝÖqåV5Ô4Ô5¬3¤å‘”›E«ËM/êš}i›ÇnÔ¾ùöµu \ÉÃ†Lë³/¸%=¾»¥êÌ¬Z›!µt9CÎ>y¾±;.E­À±Ý¶
åƒ)%‡Æ¡ïópÏµN‘µY…ÊÛ$0g;Rþ+~Bw)§jõí¡mÚŸ¤É‡Ü—æ³²¯ìX\’%Ãê,i’{JoŒrm¿g¶d(ü}Ó[A:œdøìDÐ¦‚È¢a`††›054lá®mÜÓpßÀ<4ðiþ3ûcÈŸUÙés‡tÏ•m‰ä4:ê®ªz,Ì fÐ¢ÐUê„&t*@Í-ü DËw©6ïÆ3¹\­;Ûqø€ÖªI‹µõŸDR¸f›¨µlùé‰	¹ù¾Ë=ê•a©jMOd§öžvs„›Œ¥ÕÚ(ÑŸ‘¡ýÒé^T‡Cï¨+Aw9òódí’¯"zýX}ý+_bÌEz¦	ô)X¡p‰,ÄÖˆ“á
®Ž¹"Â$é]©Ÿ q‚ä)RÏ¿°¢Üï˜kœ"ýnü‰lí¬Ð2æèù‘(]æ¡ Ÿ~âã¸piD9)\Á5¬PÁyB°Ë/ÆL×±cÔz|ýPK¿SØC  -  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$4.class}SMoÓ@}›„˜¸nRJ@Ú NšÖ=pUBH•Ì‡ÈÉ±—d#gœu?©‰Gü(Äì¦J…¨li½;3oÞ¼™µÿùñEìãÐ†…FeÜ¯`M°cÓi×BËÂCÊj$¦­C††qo’EÞXÞ§8
é½?õ_ŠXñô)C¥÷EªW"¤¤gB
uÄÐts³Ú}†Òqq†š/$M<}bò¬ûIÄý Ú¾p–´08'Ròô8¦SNží¼B­'$°„J$ò-O?&é„G”ãúã`xÁ\y|Æ¥òžÈ}6âŠ|¦¶ò`¤I(>Ñz*äÐë©TÈ!Åì^’¥!'$¾ºt ¡<vPmÁuÐFÇÂžƒ.öÀ£‘ç¶Ä°vYðÍ`ÌC’Ú¸R©/¦ŠÓ´¨!W·µ™CÌ`ei¬3ô¥,é´ƒúYýÇAˆ!W=Sm˜1l¸í«aMGÉœŠ0Ürÿ·ûhÒwhÑ½^§µ®‡Bû
ôS å`•ì*ŽÈÖ»ó¬³÷…¯S£w™0@†5zß^ p†Å¾à$[p} L‘özç…3ÏQzÕý…mvÏqí’¹jp3R4Ç|6š‹Üe…:EêFµƒ»¸gtn†-Ü4
èÏ0HüPK²*„öö  „  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$5.class}R]oÓ0=n»†ff›:Ø]i…¥ ¼ð´iê4iR4${wS«s•ºUâVð²ñ—Øxàð£×Y:&1Å’Üã{Î=×öï??¡ˆWè¸(ãI¨¹ØB½‚§h8h:ØvðŒ¡lÎUÒzÃPúÒMûþÐMJûŸ>G*22Þc¨œ~Ñæ\i_ieš^.«}ÆPêŽû’a9PZžLG=½ˆj0Et&beã,Y;`àÇZË¸‰$‘„4ò
µÞZƒ‰4ï&“H†u/Š™ðEû7pj§,²”G÷e0¸§ãiJÒ%7K·^ÛdŽE<çx€ŠƒÇ¼t°Ãá¡MÇ—ka%­	=ðß÷†2$;9“zî"P‰‘Ô;CÑ³–«ÿ%½Á¼ÛîXù™ º×¾§§l›Z«åXdpÂ¹N-GMzIeº‡fÕ}]ØQ ¹NñCú; Ø"nçXg÷
…oiÎ­–\`™Öµ›,¬`5Uq3Mº <Î´3-ÞùŽÂî5ŠW(ýSsÓ½KªýõŽ"¿Uä„¬“R)g“|[£NÒñPKãa!T¶  ,  PK   ™€•)            #   de/mud/jta/plugin/URLFilter$6.classUßsUþn²ÍnÂJË–K[	Z0M#‹P+V¥€¦¦´R(EÙ$7ÉÖÍnfs·CßÅñ×8¢ãƒO¾ðæŒ¤38ãÃòÿ çnÚ¶iÇvz÷œsÏ=ç;ß¹çöñÓ#ŠWà&pqâ5¹Ljx]Ã©ÞÀéÎàlobJÅ[	Ä1¡ámù}GîœÓ0-•ó	\ÀÅ8ÞÅ{	ä0#÷Þ—K^Ã¬†Kæ4Ì«ø@Åe±ËµKF~ÙZ±LÇr+æ‚ðm·r†!¾°êŠ*v‘<EÕnŒgÉ—¸YJæ²°ÌºTl×¼z9Ñv÷éPì¬íÚbŠáDzWÏí	Ç”i¯Äzó¶Ë/µ÷¯X‡K€^Ñr-ß–úºQ‘ À ç\—ûÓŽÕhp²Ú-õè$Áìkp1í¹e»ø–°=—axàùðTË%„+†2ÃàŽnŒ’G=‡e9’ìÒ-†Ä‚øENÉ	òÞ6Œc’ ‡qEÇ!¤tc„8oï“\÷=á=§¡âªŽE\Sñ¡Ž%\Wñ‘Žqƒa`+ç‚rYn:²J%ÚIm„K½¬ã|ªã&,JZE%e§PUaëXÆg2Ÿ#]kÄwUˆ:•U–k¬âÕ«2“R+Ù•rbüÒ¹Â2/
†£Gø
w…¹©%y»!¸+SDÓ²vàaO…‹yß«s_¬2Ì¤·_®ÿcë6}[mªí–ø­¹2•žÎå6û¬æš¼˜lE´=sžŽ

À­š«^ç.Ý’l¨Ûa´z*'²ë(Ò¹\WÄšð6îOwõèï‚ŠÊªKÍ¡IHvCEÚ¥Åí7$¶c.R=¿M_‡æ®ã‡×¨ß[RµîE˜ªGV—“ûÝŠDŠÞÇƒ4÷CˆÀ“Cò?†¦¶¡¿Ãx‘ô—Hš%=JßÞÌXfü>"™ì}DÿGi‘#ð9ŽÐšj¹â(ÆÂP½ë¥$FHÎ`¼šÝ@ýOÆ%sQ£§‰ØÒì#Ü‰Leû²M¨“Ê]Ìü	í/Ä—Ö0ö4¡gG”›I¥‰çH6öÒÒDo} rû:v¤"Ã¡‰þI%©üúïZ—XMìß1R¸gÜÅÉu›‘$uCètÈÏ“üŒž)*øûð%1›8þ
çñ5®á\Ç·ô|Ü¦'ã{|‡ð~Äï¸ƒø	ð3þÁ/!­-šÚ´>A–þõÑÃˆ‡8ÒÚOÑL'ú‡¨¯’¤õDˆâ$ÒôMÿ`xÿPKBðÙ±Ì  =  PK   ™€•)            !   de/mud/jta/plugin/URLFilter.class•X	|Õÿ¿ì&³™$,‡„X	â&, "&!$Á`[ìÉâf6ÝÄZ{ö.µÖƒÚVlk­ ÙˆiñªâQmñè¥Õ¶¶­¥¶Õ¶Öƒþ¿™Íf’Øæ÷ÛoÞ¼ï>Þ÷¾ÉCoßqÌQëKaá:¶áVûuîÛ4ÔQ‚yÉjèÕp»t”âlÞ¡¡OÇX²;}¸KÇÝ¸GÃ½:ÆãÇîóá~qDÃ:&ÝDÜ)Dúð†‡uLÅa~¢áY>ªá§:jp¸?ÃQé˜…Ç5<¡#èšõ¤†Ÿë¹/¿Õ/5üª¿ÆSžÖ1|ø<Ÿð¬€ßêø~¯á9‹ñÔð¼†4¼¨c)^Ò±ÒÑà‚?xYÀ_ð×R‚Wtü—ýCö^õá5ÿOþ%˜x]À„æ	Ë›Þð¶ØxÜ§àSÊ§Šh¾òø”WSÅ:¶âˆO•”)Mù4UêSº`ËÊÐ¡z¨ÆÈj¬ì•kªBSã4å×ÔxMMP(ŽZí™Õ¢0¦9a§Ò¦ÞlÆ3–üS(íN&Ò‰H"žRð·n7w˜áL:o¶"éD²AAË$ã­±TZ¡ÜE›;ÓaÙ ÎGÜzÓ¶â
Hg'Ç¹Æ²3ƒ8eƒ8OwÌV˜âîÇáõ±n+ÚbwgÒÓIËì"‰·;‘¡ÖªÁ4ë2éB"-’°ÓÖ¥tfwwÜJ‡—;f™³´ÙŒtZ
%©D&á¢²5j…»2Ñðö´^‹§­äúx¦#f“¾dIÌŽ¥BÁB*ß”I5¸Úâ¦Ý¦11»£¡v3mnND-ñ7f[k3]íVr“Ù·$´‰ˆßl&còžÛô¦;cûÔBÝŽ†ðùZ]‹$VíRMÞ…¢X4ŸºB{˜ônþÚÆ„¿)“N'ÄAEýó¡mY·òÒˆÕŽ98=iEvì2+9Xò¦N†=*&%3LŸ'(>ImTæE¹©Ù”¸Är¸8-/twg"IS=L—êLì¤—´"8|,'lZWž²Ònl6æY1“"¨Ä)ëiOðÂ¦Zž‡¢›îëyñŒsñÎd,må¨È]Þa¥]a›c©ŒIÓ'kÚœèêNØ–-E6&Oê–ý¸BÂ\áëf$b¥R3çÍ›§0?8jêk‡;E—’±tã.;Ýi¥cJtÃ@Z=6Ï=Wx\Ž„àƒ<¡C…Éþn64}ÐÑ&FM4Ð÷RâàsÍ¼ói%[Í]<¨Â2É@RÐ£85s¾’¶c´Ø¶•lŽ›©”•Þ“5YU2YÍŒ¥•ÔÔCU©j…ñyug'cÑeS™š!eÍX4Ç-3Èù€=ï`ËÑ1l¬®Ä+àÔã¨§±•ldåþ¤Yp+M9£’®©é†
¨“ßn‘8=CaòH-ÓÀìäI±]¸»U£föGuðÉ×Ô)†š¥Ne…=M™mÛ¤óöÔ¬d2‘ÄäJ‰ÇIèõCU­€:C…ÔlMÍ1Ô\ÉGÅÐn"n…5»N¡‰ô[DŒk‰Ý@VAäÝ-ˆ„‹Áó0Ë§©…†:]À"g¨©†Z¬Î4T=®ÔTƒ¡–¨Ù†Zªu–ZÆCVã—³?Ì5T“j6Ô
µÌP+Õ*C­V³n°Çà¥Ê½sDÎ¹6At¶%2v4À|IÎˆ\”$à³=‘L[Q†—á}
5tv"ÀF9gGÌÚi%t2—[CçÙq\¶yË9EXšgÒT«¡Ö¨µýéÜ:Ù'ÄGLÛN¤ñ„=bÂûq…ëp½oªuø–4ØÇªF©Kv¹î%&r„~<ã6Ô~ŒÀæÛv¯Èâ`ËVéÂUÁ‚áÃékLÛì&Ilàú(IÆ™ÑèòˆÄAšƒe‹å3
„Z;ØwÂƒ)FA«·ÓfÌáôPšÂ’an®án†®úÖ"ê‚ÿÓ„á¦ ž¤Õ!Vçâ<àã´aæ—Aþ-=vÃßÍ2vÙ¼DØ³‚#ÏpBYpÞ7î¢Ú.£pøXO±]	'8Ëftg7œ°åöƒ†!äëÚ·ÓºÑÈ}é„»ÃO¤k(h‘öÑóny‹K%*ì¯XÇçb¶Ä$c3y 6CÃ2~ åv+7XV"Þ’ÚcØã	¥oÐ©ŠWeçF¬†.Ö“>ÎÝ¤²½ò_RÝfÄjî4“Ü1xKÇl3¹KÞE StÞÔ™e*†:®P–N´&ØsšÍ /âV}jÈ Öá­l@6gìMîŒÇ‘°ENkóh¡gzS[béÎf?Š,‰[v‡”¦2í©œa“ä¼—)§qeÜ’Œ`%68œµ°þšÙ˜IVÖe^b±Åœ6ãq>5*Gü‚ »Ì«+‘Œ«¥&§%×…G:&œ!åŒãd~nãG_:ãWòlÇ%ƒâü+B¼2…qí•™ËyrržlÀÎ“w»óäî<y_8¼—çøØ¼ù,¥L{„"r¿+K8m5Ö…f÷¢¨®ž¶^x{PÌeI›æé…ÖßÀ¾â²´­:_Ëzaô`LÝAøú0¶­®åYTðuŒœlfáßâRo+ñöbé×öab›R/Nª÷Vzû0YØ*³˜2§Ò›EÕ]GOô´!èéyt@Ð' Ý3æˆâPj;óN)ßfµÕÑÅSW:¤µ=¨ã2ÄåìÌ!·üê²˜»Óë‹`^æ¹ÀZ+‹³8=‹EYœÑ‡Å"ûÌúbÙ¬ß¥¼ª\ùf¼?Ì(Û¨"ÜÌØ®Â8¬Æ4|µ¸€ßüm8ïáê"fùbæÎd:ðIfýKÜÙË¬îc^s'3x?sx”™{Á1\ƒ×q­òb/5ÝÀaéFµûÔRÜD,¨E“Lâ£ø˜óáÞˆãPÎê“¸’–Åð>EéJŸÆgà¥¤j|ŸC1eãóø¡Â±;W!«(µ˜2¶÷¡™\ÂßÒ6‰R/{qV/–µ†ûå!OMšCžŠéY¬UÌÈbe¨b‰v`=á>¼Z]ñÖ^Äª,Î^K‘ÅLÜê=x*”EKEý^<æ,Â{ñ`.Ä/ôŸCÀ,Ô{÷¡Þ1-‡•XèŠë'¨,DUïÎâ\!rÛ–V¼uýñ»«+Â×ï«ôú[³X³þJ¯Gˆ×z£Y¬«÷Ò*%ï«¯ÆŠþõz©mYœ'·Ð7ýÆØÔ_0çKÁˆVÿf×V«¶hïqß>~ÑT×1<_\ûœµªuùjºÓ	oaO¸•«ý˜Éú¨Åm˜‡ƒX„,c^VÀíX‹>œ‡b~Ä»‹]äv€{™ÑûpŽàj<@Ž‡ð0këi<‚çñ(^ÃQ¥ð˜Òñ¸'TžTMè£O«žqª«ÑéÛsÕ5E-`½^EK²B¿ÌNUDmÏá+¬3uíÇW¹òRÂ§ºx›àkØãÖ¾Î7ùçÒrï‚#0
›x.ï}ØÚêÅ…þwÂ»=<S×„ê"†jö PU ³x¤ÜPM3ñ‹öE”ã%b_&ö–áÇ€«¸ÿp%†*Òˆ¡WSŠ¢y×ämä{Ÿ%u¡\¼ßi§¢EwvßàÁxÓ‘:É¥ÊK-ÁµL'{–‰YfÎé*:yqèÌ",­¾ÎiŸsBžê,Ú«oÎ++¤ªeª•J+0½*¯¤Š'x/U”ÑÉo8¸ÁéóŠu£d6Ï)nÎ9Q–S)ÂOTtexR–WR–SR(úÛ¸1Ÿ°ã#x[°ñÞšZâTp¹#Ðp	róyÓ0ÌÑ¡Ìã‡aöá;l£E'0«!Ì8kó÷æ›wŠð}ÞÂÓ, ýX¸“sÏ©¹g ÷¬É=g¹ÿPK£e©Ÿ  õ  PK   ›€•)               de/mud/jta/plugin/SSH$1.classu”ûOÓPÇ¿·{”m…á6†HTÄ©c<
¾uŠ:²8Ä0¢¦Ûn¶’­Å¶ñ¯ÒBÐÄø³”ñÜnŽ¹%ë}œïùÜsî9íï?ßÂƒidƒ„@³â1'ãn^¨!ÜÃ}d<¢ªŒG2Â“ ž"Â3<—1/ãƒ| U…ºÍÏ•¸Z«—Ô=GSßUëeÝÈÔí4C d8îèE¿SÑíÄ,Ãp»zßU«ùü
ÉýÏtCwæf“hz4±Éà]0Kœ!œÓþ¶^+pkC+Ti'’3‹ZuS³t±nnzE0`P²†Á­…ªfÛœvFzœ˜£ðÂeîlp«¦ZuãhŸ0±äDnO;ÐÔªf”Õ¼céF™„ý$ÜÒ’y˜×¿,þO¦:ê¢^ã†­›	›;nxKÅŠIQ%wÜT¸»b;¾CKwˆàKîf„‰¤ÝCpés‘ï;„±e¼¤uÞ¬[E¾¬‹ìú(âq ‚8^)ˆaHÁ%DmÙñn8j{BëüSÛŽŒŒ‚,2v&Ç0ÞE8Ï´éOwÞ-Ã.ÏVêMGnBÆ’‚e¼–±¢à’Ô0”„âkZl»¢æíJv!ê­›jv­uEž¤¸½X¯î¡.-X¦V*j"ò™dw‹­rÛÖÊ<Ý^ëµÂ/:TÂ¡žÁQ/ÛnA::Šêãp«MÿŸY»	côV…£>Bü"¢–­•þqÓú2ÍVIí¡1œ:KMž@JMÀóÍÅŒÐÓOBà=®Ðs¬!Å(®¹¨p,fâ@‰æ×IÕ@Ï“ZØb©cx~À»}
ßü~AþÚÁ_wùJCßäSñ1Þ›ÕG¬@“ìdmödÝD¢ÉzC-‰ÆhƒÚ=…âÂ¶ÎÓº’Jj×ÅÅ.­Ô£¸…Ûd¢ÛÈ&ÀË4
Õ ¥côOža@B'óúñ±9Ðb`)"NÒÜKãÙ§]ï\uýésâ*ñPKÀ:FÓé  •  PK   ›€•)               de/mud/jta/plugin/SSH$2.classS]oÓ@œsÒØqMSmT( m>[—O ^"!@¡T
ê»ã\Ó‹\;²ÏAýYH$øü(ÄÞ%jšHøánwo¼3³>ÿþóó2ØÃK«xœ‡'jyj¡baÇÆ.ªyÔP·ÐP{ÓDËÄž‰}†ÜØ*¢ÏPì½±ç^8p»2áàC¾{Ê3.…OHy&’ÊC©ÓçîyÚw‡ÒsGA:¡Ûí¾#xîµ…|ÃÐª-ÁÜ$©Ÿ0dÛQŸ3:"äGéyÇŸ½^À•¨È÷‚/*Ÿ³Jœ÷aÈãvà%	§ÊÖbÒÊ!I[O¸lGá©¤±'E2lÏ‰<Öø)D‹Êù:þ§íŒÁîFiìó·B	³ˆl_tP„ë`·ÜÂC†NHxšðØÄƒg84ñÜÁŽ:´F¤ÿK÷¼Pyi‰2q5½O½!÷%Ãî50óPºs.;"‘œfDjÊTi‰†Õ—Çq4â±¼`øP»ù¥þ§R_t‹6¢y(ã(CÝZú˜0hl4.ŠPOQMð23tååw)úHy†öBãX£9ÑhMùª´æøØ¤µ<…¢„{ºUaÖXEŠÐ ø>¶g­}¬h²jãŒf1K[¦¸ò¹	Ìë%K—òW”kš¦O9ýr§šzsÚê’ºŠxHDé÷ÊØ¢Ý¦Š­ÏñPK†-=  Í  PK   ›€•)               de/mud/jta/plugin/SSH$4.class}RÝnÓ0=NÚ¦éÂØll°2ºòÐ¸!PERHvï&fs•&%qÚí±H\ð <âsZu7+–ìïGç;çXöŸ¿¿~ÃÄìÛ¨a«*îêcÛÆîY¸oa×B‹¡1áqkÌó|Ê°ù„û|ªü#q¦zRÄÑK‚ôÏu*”jêTæ­ç0€Áù$"ëÆ4/r† þ¨ˆü¡âþ8.Ndâ÷ûï[ÄR{%©^3<k/E]¥¿ÌPé¦‘`p™ˆÃb4ÙÄÔñ‚4äñ1Ï¤®çÍŠö¸ÜÌ2ãòPÉ4ù,²/i6ÃvûR\LD¢ü·%äÎK¦˜(†ÍÿÁì~Zd¡èIm¤NrO5ÜA{®ÁuPGÃÂCmì1¬/±ÈÐ,ebžœøŸC’ôÖ•ÊÌ• GXJv@ÖÛúÞb¾›ŽÆiBô‚™øZˆ\õÒ°ÈéoTé»0X0ài«”ÛÐËÓî•A»‰ª=Ê>RmRt;?Á:.`t_ÀüVoÐ©))VéÜ™Aqk%•;'Ö™4(_Ç­9õŠZ¬Þùó*—œvÙ?#«ç%ïÚ·à­c·Ëé;åÌ&®—×0à`¶ª³ðPKÉ9ÀªÑ  +  PK   ›€•)               de/mud/jta/plugin/SSH$5.class}TYSÓPþÒBC°X¡›¸TmË’²¹QQ¬Ð*Ì”ÞBsiÃ¤I'I‹¾9ãúwœ¡ÈøàðG9ž›V
Ú’™œœí»ç;÷Ü›_¿üDÓx-ã
â!ô!ÁE’‹I.¦da:„¨2R˜•1‡y.d,â¾LJx$á±€PM3c¦]4,¹C­¦©Ú‘§n³·^Ö`¦¾D)ùw–WbžQh¦W4×=jêŽVfú[Ð,÷¬Û+nlVé lXs2&a™+`8§3µ\ÕÕCOS+f•¨ùüzlž#Ó†exË¶ã³ÚQ½Ü×à•Ø fl8‡s†ÅÞTËûÌÙÖöMòDrvA3w4ÇàvÓ)ò>:^$Âa­à¶µÅœÛ)3]ÀD¼U˜Õ˜å©+~Ê*×}AVóŒ]–&@ÎÛU§À²'ÒCåfxº‚Q¤D1¢ W\ãb ƒ
ž`YÂSÏ°"á¹‚^HXUÅš‚u¬IØPð’£_!'`¨CO4PŸ—©YEusÿˆëx[ª9ÃõM¶ãbóÔkœw,k…sÝX*•0×y´‰öÚŽÁ¶RI³t“sˆüÅºnIÍ»¥M‚E/œ‹Œ]®Ø5@¸"ó¸‹Ž~<‘kuœ÷Ã*²ÿßÕh
.órû2ÿÃí¥”-~Gl‡ŽBø¬ú®aé6]I7ÜŠí²Ö–Ì¦æŒvØ’¥½ÄnÐÕ¾B×(>uÒ#àO„ÿœEçàœE‡äÌ
Ð;Š1²ÇI3Éî¢ïHò;„ädäTÁätbrX¬£ë›¹N²›0ÀL\h ˆÑMÕ‘f®q^_ãœ‚¾Æùˆ¿…ÛÍÊï)‡g¥“Çœ¢ûiÁôœ tÁ'ú>™´®ô6Câ)”Ý·¨Ïç#Õù„8>CÅ,á«Ï5Ú¨sÆ5î‹ îúø{öw)@ÿÌÆÓ×øüPKWß—ÌÔ  h  PK   ›€•)               de/mud/jta/plugin/SSH$6.class}RÝjA=³›d“uqcÔÖjk«ÆšÆÖE
Þ(¢‹Âú‘z=Ù¶6³ew’Ò‡h}Á*xáøPâ7“‚v¾Ÿ=ß9g˜ùõûÇO¸ØÂ†V¨â¶ÙV}¬áŽ‡»îyh34Æ<kï|(šñ€yÄu´k:OéwïDéC¡eÂPÓ‡²l?öpŸÁ¥D±“ñ²%ÃRœŠh8J£æÑQ6:*êõ^··‰¥öL*©Ÿ3lvæ¢þÖÞØc¨ìä)ù
c©Ä»Ñ°/Š¼ŸQ§ç	Ïöx!M=mVŒ¿ùFž‘'Zæêƒ(öób(R†ÕÎ…°¥£—òÊäÖ„+Æšaù0¿—ŠDìJc¤Nr<@ë.!PGÃÃƒ ¬3,Î±Hw`e2®¢÷ýHHzåŸÊ±,µ ˜K¶MÖ;æ álþ“Ti~Ìà¥²<ÊKAo¡JÏƒpÐ2)÷aVË¸žU}M\¡ºEÙ[ª]Ša÷;X÷á9œîæ9Ü/x•vC	œâík(®cÁR…Sb“A‡òEÜ˜R¿ hÄêÝ¯p¿¡rÁéÛþYýly&¸oK¸i§oÙ™e\¶Çp`²ª“ðPK|Ý®{Ë    PK   ›€•)               de/mud/jta/plugin/SSH$3.class•WùWÿ>[Ò®7ÛŠ“ ˆš«ŠlGNÒ–ÆIÓ:j”Ä 7®B¬µkkyWÙ]ÅvzŸÐšÒ–Bh’R
”¶Jiáìn~†Ÿá/à7ø0³+Er,•­y3óæzs¼]]ü÷;Ð‰>ü¹;ñ%7àH4ŒIÈËÐ„`H—0¡@FASÂ¤Œ£
ÁPPÄ”K†-£ÄÔ1	p,‡Ç ,á¸‚U˜fb†Á¬Œ2îq'Û;"á.w+XCÆ=îU°÷1=#á~ñ€Œ<„‡|™ÁW<‚G»ðWðždì«Œ}MÂS
¶àƒ“2žæõë
žÁ³Ös
¾ç|S!ò[Œ½ áE	§$|[ âLw}¿ÀªŒn¤¦ÊzjÒÓR¥byÂ´RÙì§wteg-¯`xfžÄwš–éíXX@~Ó!PÚÖ%Ó2”§ÆgD+'š±óZñæ˜L×™!A êeNº¨¹®AœX{ë·QPÛ*’uÎ{;ÚQK3“Úq-¥M{©=Ì!ÉpI³Œâœ­aæðVÑ&›ÝÍ­cÆÛcE=ÐtÝiò•×¬<›XÖ”Û]ö<Û"¡û(I–g8kšÆqâ¥óži[Óõ:‰Köøx¸¢åó†K¹ï§ìo] tÖM¦c†4•¬]vòÆ“S)ÓÆfAÅ¸IÅnd$|GÅK8-°xnj¨ä$¿Õ5œø`™
lQ…5—õÎ´Ê\~‰±×1õŒ6k—=–=ËàåV…Œ6Æ
«ÙÛ¶ó„o:îÇÊ¦cè¾«â|O ÁBæT©hLQÔ–íÛ¯ÍÆÓ†î˜ùø^:¢iôêZÉ3tÞß÷ì8Eß72È¢û5úHsã™Íñ}å	v>`;^Ý¼J­7¿Ä*¾ÓûüÒ¾×ðök*~„×U¼7i$ü¬Y~åaîÛÑ©QÒõ>XrYŸðV½‡Â™ çðu-ûúñ‚Û×ñöOÈ
UÝ+H8§â-dTTTq^ÂÛ*ÞAMÂOUü$ü\Å/PSñK\Pñ+œXéWÔ¬‰TÖsLkbwy|ÜpTü¿*ÞÅ{ÞWñÎ¨ø%üVÅï˜ø=ƒ?à*þ„Ì‚Qn£ik:986iä=-ÂÁtôg8KE/»XÑÖ(Ý<Ž|‡\?ÂŠÄ|®/$††x½2‘iiNnÜýš¥MÐHòn³7Ò6µ é‡Ñ©éTÒd‹bÚž*ÙN3Ù†)°³MA=TvÙñÊ6VüC„þÒ¿ð]Ñîc•et–¹W‘ÀÚÄÿ¸¬Xq‘kx·ävº 9@š™#-€ÿÎ®i6Ûûÿ˜mŠ7glÔ´t{Úo<]Æ!·À”2ax#¶]<jRïu'Zr^çîhtiOà
RËæÃ°²æ	ƒ«Ñ¢y³Iw”kút>—úmÚÔ½MÑÐÜ®ª™î6ïŽs¢à9æç¢ç[ˆh¥’aé~:æ·ô<V0»ŽìÙ§å°sgdYKv‡ýìòƒËqlª¬TÐ,½ÈmmÁu©¬[:ÈyºœGþü¨}#|€æ%Øx®méßêÏ]û§×áM‡IT7Ý¼MÏü¼‡8½ŽÝ@ï »èå§­ƒàOˆ¾»‘&úfÂv¡ƒþ %YEG²ç-ˆ7‰êÀ-#$œÆ‚+)ìÅ>ßŠR·)ðd[¯’†L/o'ÏAœCçûâöB¹h¸ŠH¦)Wƒœ‹„ªèªBÙß[Ã¢\T­âŠ
Ô’9ÔÒ:Õ]Ö[At´a"®›¨ay.ðÕ½T©bÅf0¶r ÔWÃª\2FÞ>VA,Zš¬`u`÷Ê†—¾¦¯7x±Pàò—\VñIò´&WqÕ@ØG×2©a].ÙõT±~@ŠEbRb!^b1Ü˜KÒÖÕÄì…ë‘ÀzÂ·ÞSÁ&ú&{Ðï9ô…‹„löý7Õà¢WÐÿ
nãc×°…‚ÛZÏ@Û¢×¨'Ÿ°
®­àº€þÔ%©ëç0Hn;c¡óm–þa\E°HežB7,l€m(QÃA8…‹<Ì¢Œq'qžÇxwÑSñn\Ä=øîÅßpþûñO<Šá1Âã"Š§D'EO‹ž½xVôã9‘Çâ	¼(Ná”x^¦ÏÓ{·Þç‚¦ª·^·È`?PËm;(–aŠxÇgI®“bù+²„…ÈóÁ­“ÿ",BQLRä·Ñ\£mÉG‡ßèÝõÄT°ƒ±Î¹YLÖ3”‘³ôäe?25Ð«G&ã0>OÒl3åfKo´¨@9ŒÛ}å`6;ð~C´®¥cìDðYU_×Õ×ÁòPK#B  €  PK   ›€•)               de/mud/jta/plugin/SSH.class}VÛseÿm6Í¶éV(´ÚX«¦IK
H½”¢¶€ER«-^Ø$ÛfKº‰ÙPïñAÿ gÔÆÛLè3–eú #Ž<x›qÆû8Î8Êƒ8>è£øû¾%@j2ÙïrÎwÎïœó;ßæÂ¿g¡¢Ó5X‡ š±WÃ¾ ÷;4$‚`¨bXÃcAÔàq!©‚ü¨¿1ŠƒžâI<%DO‹Ç¡ $kÑ‚Ti˜Æ‚hÂ¸Xd4X&4VprÅBÊT°n mÆ&‹éØ„kÄvYY×,ìÏÇ-»G–1ìtÖ,(XuEËq2±„“‰Rì/:žlÂ8bÄ²†=K¸Ë²¼á8
ªÒf²8®@‰+¨ëÏÙŽkØî°‘-šªˆ‚zFÑÍP>JHÉâØ˜0è;Ø§@Íçx>°Í²-w»‚h¸§‡°¯èôÜè»}˜VûsiÆ¶bÀ²Í}ÅÉ¤Y2’YS`Í¥Œì°Q°Äº´éw3}­)÷—b‰Än£&‹”7UF@¼Vš¾ÓõÒ—(e6^6µcÁ4x®*|°¯ÙQ’üñÔú²ˆâ6Šy×Lï<–2ó®•e	“¹¢íRß&6w2¯ ¸$w4diõhÁrÍ’u:S,ê©”é8m›º6+h	/íh;Ká;Ö%›Ô$¦l7cºVŠ¼È	-WSy£€ªãN„ut “)¬h³vXj=nÛf¡?Kb˜Ž80©£·,{j³Ð±5ätäñÌ²j[„ZAG7k ]E­ÿŸDGtÅ1íˆèˆ¢MÃ”ŽgñœŽ{p¯†çu¼€¬¼ž^ÂY¿Ž—ð²‚ÆŠ€ÔßÀ“kÁ—SAÁjéÂÊÅâƒKøt-WŸÊ$5îXöHÅi¨dˆ,/˜ã–³„o@ÌmÑ•­:ðŠTl^Î¿–%r(Sb¾“5Mr×Þ#4V_£‘;êõæŠ<»	×H*¢­ÔðuöS1Iª…‚1•Êå§DÂeA&'Ì”Û¯°—¶®¿ÛhË»ùd9¢‡Ä•Tí˜vz‡á,}¸RRq+oàfR½ÕðFòŽó’Ëq=åbÜ ÇfÜ†6êÞÎ¹wðÇ>’srRŽ¤%Ç*ê°¹øÜÈÕ«\‹«³;í˜‡/¢ÎA‰,@‰DçáŸCUt‘eÚTÓÆjF"óÊÕIi7&½øàsj1ˆµHÒÿ¶b]”¬÷¼`6Ë÷M7¶à.b³­Äïã¼w—PmçÚÇ1‰Î¡öª— Ü=AÌ³Òj“§µd5 sÄëIte´¥ÌS[¼ä.Î ¾úiÜ4ƒê½§°2ò”7/_âPÄ°ÈÇªttñ=),-g˜„Å^±Ë¨:Õb:$uÞ¥îˆ\ÎaMG”9Ô‡f)«žAƒ½¡ã˜«ÞU;½Ã”UužBãœ4IçÒÒqì£ð_+gÒu·_ÌÕ¨Úè‡ý#½ôÔ(wßFt(
GïUêlh–á«|¿ëXQJÛi°ª8ÇÝEÔs¾’F1Õ³lçùòÿãøY\€Ï0…Ïye}i|‰×ð^Ç×xßà,¾¥öwÔøž«ð#¿¿âgü†_dIvCÉ^*ÉEÜGúñ¶fz°ˆ¶S¯—TôÑGž+1›&Æû©§Ò~XJýx@’[Áƒüõ¡ß+'Þàž RŸ¨Þ[ðŸT{g°!ÚrÂû#³NþT¢¡•uC¯ø”PtñË?‰´/ i„Ì^s
k¯ÒªUbþƒMv	uø“ÞÿbÓ\bÓû?eî[Š«¯W¤Ý!c¸Š·;ÙÞž$Õ"-£ì­Ù%§	³·ŒÇ*×˜Æ0åq¹òa|>Œý²ÓT	Åã»÷©ñ†ÿ PKbˆ†  
  PK   œ€•)            !   de/mud/jta/plugin/Timeout$1.classTmSI~&ì²."ŠŠJî¤0	‘€ïï"Qî‚áEA=OïtI†8T2w'¨¿ÈÏVI´´Ê~¸pÆ²g7	u©JOwÏ3ÝOwÏì?ß>}A§áZ8Œ©áŒgMœ3qÞÂ\´p	—{pW\3pÝ‚…)7ôzS‹i·LÌh5oá6î˜˜ÕøßLü®×‚9wnuT”œâº»áæª®¬ä–•/då*CÏò©^p%J„T/D0:É0\,ó\­QÎ­+7W¯6*BæVD{EG×„êÃdjÜîdé‡]y¯ÌúŠBò…Fm•û+îj•kr^É­>t}¡í–³Kb ƒ]’ûùªœ<Ç;'"Š®òž\•†ï*áI†c?‘]
ÏDX¢êG:ÂâÊ£äŒ˜ÜQÞ×%^×Ia-{¿Äg…¦o·(Mh¬ÌÛ8Ž6Žb˜Áhí’pÊ^,ØXÄ’{6îcÙÀŠ vm²1úo‹gkkÜ§¡ª(t2eãþÐâ1C,d8)‚¤ôTÒ•I!¯p?›ÜB—E û^¶ñ'žxjã/üMôJ^­æJr?y¿r}IÉl<×æð“ AlS\\]ç%ªvlÇ¾Á¥Êý4©¢—ºŠxJf¨Ã8öU¸Zò½:÷Õ†¹Ôî÷<év¯¢ÛWˆºÄ`Ö]?àdÒôÛäJèîtìµMmiŒ	·^ç’e¶]¨]®h°Dl8UØc×T^äaLµ/lW7º¹ï{~‡ªhû[ÌóÑ5Øv<Š.’ôù:Lôbpôå&ýôÏÑ÷ý‡£ÿ¡~!mžì8­}™`™ñMÄ2ÙMÄß…À_I&Lã$ÉdÅ(N…¡úZµ¦ÆHO!Ý
ý/ºÑEëËq§+óq§»‰Ä|ö+VÉŠe?ÂØ„ùÚüëñìsì&zµýfû>2$šèoÂÑ;[Ñ(Ú&wº†®Cïˆ@?U;‚žV'`¼…^ÌÐÎmÚ™Å
ô²î¢Ž…°¸LDöGq/É3N‘zQB6,n„ìÓ˜ &Ä4‰1Z-B…gðPKnrB  X  PK   œ€•)            !   de/mud/jta/plugin/Timeout$2.class}SmoA~('×«-[QÑR ¶¾ÓôƒMM0ø’¶iãÇåØ”CØÃ»=b€¿ÅÏMjŠšøü%þ
ãÜAS¢–MvvvvfžgggþþöQ¬bC‡lÓ¸¥ã6î$ÃÝ@»§“¶¬!¯CCv+(h(j(iXÕPfˆ«–íå*™zS˜]¿i¶7{ÿÐ–æžÝŽ¯ª‰Ý#©ZBÙ…lØÒV›Kù	1+û±-§)fë¶¯ýnC¸{¼Ñ!KªîX¼³Ï];ØŒ±€
Œš”ÂÝêpÏdY¼&·Fä¢®/IæHF‰²õ6ïs³Ãå¡Y“J¸®ßS¢¹ýÑ=e;’Bô]Çw-ñÂ€Q²rf ‰ŒË˜Õ`¨à¾†5ëx`à!xŒ'tõ1F¢/¤2wë½P;âƒ/<¥á©g  ¥ÉT¨îîÆ0wþ¦Ñ–¢Ú›v|)‡µóÛk¹‚7f,ßu‰ÙÙ>_©ÿíE.ÄgÐÔ™ÆjS^Gˆ½SþePi[–ð¨w*Ô=ë[aüìmxöÜ÷;ý?;5[ÃuxÓâ—óÿ¿"X~(ªã÷V§Š,ýƒZh†f*xEZçŒÍ$ÙæIÛ¤}`Ñ§`…âDŽCŸ4É8ù .®¼:ô¢u!Ì¢r2\Gf”KÑ¼JD’Ñ_…DNk}`*Ðˆ‡öî—¾"ÁÁgÄêÇ!Æ2
”qˆšB,Ì5Ÿ¬}q4Æ 4bP ¸X$ÁRÈø&®…¼Ý< PKì¶*–N    PK   œ€•)               de/mud/jta/plugin/Timeout.class}VmWe¾fwÙ…eT@XÅEXËv‘Å—¬Í -|ƒ@Ô´a÷q\fpfV1­¬Ô¬|ÉêÔ9ÖñT_øÒ‡<G!ãœ>Ú9ý’~Eu=3Ã²òÆ9ûÌ3÷ÜÏuÝ×ý2Ãßÿþñ'‚Ø‚o*ÀÉ(6á”Ü½+—Ór9#—÷*¡a$‚Lå8ÅZä"-‡.Œ•ã\yŒGéiD`–c"‚óXQÔÂ–ÞŽ\
t¾ÁÅ(ê1)/Ióû’àr%žÃ¹àƒ>Œà£®Fð±‚²¬)ä(=
Vu›†íh†3¨å"@Qqôqa«ý]·9>®Y5½cÚ-×Œ\ºß±t#·{ÞkH³ZˆêF-¡-8åÙxªb"_ÈéFWÁVëÍŠôx!›s´ô‘9;Â¶Y°2BA}©Ç=ïËó“Nº¡;{¤Z–ÆYtë ‚P·™%òš^Ý‡
ã#ÂÐFòB†kf´ü féòÞ7†œQ‘ÆK<éO-#	ŽH5šƒVÁàÚ"™æ9¦ûJ”DÓcP‡U˜pDvÿdFL8º)Õy.º™î9\j/ËYšLF$c†È°@±–ÅÚz\q£¦Íç¡	Óâ%ZDaxÑ¬n‚Îøs`ÇKj¿Ÿï†–e.áÃžtx.k9ÙÕÊ~RF¨öd7|VvÑÒá?ä¡¨–ÉÛÞÜÑÑ¡`{Ë
™l]®“<ZÑÉpF…£gˆéÌ I¤úçÛeNT¤Ñ¡b;v¨hE³Š$R*Úä²í|¢âS\cE—cóV…ó µ‡¹²ºóšm[^WqŸ)h\¹
š³š£%ü\Ó’ðç¢-a‡ÅJdÍ‹†Š›ø\Á&[Yis«|¶OˆIÝáqwöííú_â–Š~(X»D—POÆ,ä³	ÃtðU'qÅl“roËåŽŠ»Ø£bX€Æ’â‚0œt¿™9'œcâ|AØŽô§ëW¸§âk¹Û
ÂaŽñ²\
ªÕ\ÁºešPAÓ21ôê¶#X/Žñ¼ÔcÃðÆ¸v©ÆâY"'úðó K¼Ræžº“Ð±R/ýâ)³óBpêB-Ý[vŽIªº%fY>¯ZhUPžN×%GØ¤UÎ[ãŠãD”u¥èsùðÃq4ù’¨±L-›Ñä{£}	Ù}œ]-Ç3%@‡GÆØÚòm®ÏM ?J	þ‚üö<Íˆ`^@3çèE~]hAHŽ#÷!9‘îµÍ¿r.].äû†k9ÏrŠ¹¾Ä»oQùÚ™LµÍ >F0©<FH.er	§’O	 5‹òá$*ÜÛdê1”‡.þN®Í¨àºa²U’¯ŠluäÛ€=Œþ5ZŽï(^¦WÂcÄ+xÕk§Æ#w»{€ûNžs#Tý¯;§`;“CÕÁ’½þ;¢S÷…:ã÷q<Y£Nc„žbW²fµ¼‘wÓX3ª)Dû’55Ò(5Íbíð,j‡“3¨›A¬¯më¦PKÿõ³¨žÁ†'ˆ0DCø¯ÿn?dLeÔ³žÚ¶1²}¨öuàæÝ)zœf}ÎÐKCM8ËZé¬ÇOåyÊÀ›˜@/ÎÓû22ø Ž»»êæe¨ÓÏK —°—™SˆäÙ×iÙGü}èrÙBèf}e®ÞÀ~^e5­2Wq™Ÿˆ%¥NjŒQ²”B•ó%«¡3p×ùÎ–êfIyâÅòÄ)2å–'Îð›yú-·½øŠá¯‡éðÈOðà5&™ž¢Z^z½šFÃ<oÌ•y‹¼·¡âQî2µ÷\î˜‡às«lªƒ©<Ãø6è5ï^Ÿ1,›qã<CÔµ~GžïKPÃEEaô± üªÊ·h1uWwÃÞ˜z‚Æ ö4<ðT<EÔË^CÃ¯E’Õ®û}vÄØˆKR×T$jb×%M%ÿÓ<¶(uüêøäïøBê}ò&Î×3¼ÐþD?³1~)ÑW_¤­÷içÉÊI1è“¥]åàt?‚ò[8ì“. ê9`È<î‚Øår=ÁTÉæ	Ôû«õ.ÿPKtò¦  ­  PK    €•)            0   de/mud/jta/plugin/MudConnector$ProgressBar.classVÛseÿm›dÓté^„‚	ii¼r©Ò h ´Xhe›|M¶l6awÓTT„  ˆ¼=øäŒ¯0Ó†˜ñQf|ò?ðQÿÏÙÝ6!‰@gú]Îùû9ßæ÷ïþŠFlÃ!lÆÑ&lÂ˜ŒñÑŽñåM^&B´çÓ	FM6wŠ—·øú6sO†ðÞeÈ©TLó)É´CŸfø”æSF†BŽ1Ëûi^ô ²¼ŒÈ16ÏË™LX|"6
2ædÌKhÌª¤¸9Y0MaØ|¶X ­cdVS£ºj¤£ã¶©é]Ä³´sBB§ËSçíè>-+KËÄU¦ÕäiŽÛ9“PmeT<«¦!vF³6=+¡o$%¢ÙB*:k«Ñ¼^HkF4QHÅr†!’$NØ¦ñ³†¶–$¹Ýš¡ÙC6†%¸u‚ÜŒåRä@ëˆfˆÃ…ì´0©Óºà rIUŸPMïÑÇNIh5siSXÖ°jR,qRhÆtÕ²1avS…0Çi	;Á©õ…ãìP O©6Ùê—“rÀTó-i9.Ki	«ëð$øóªÆu	˜"eª\´0øçµ”!²šš-X6«Ž×–ÌAÎ©zã4Ô,m2ù6î”ÑŽ»Þe„–ÎŠ¶´°GM1#¨R.¦;¼µ~±[› ªdYÏÌ¤Ø¯qNÛ+“3È
lGLATýŽZÌ>¨ 
žÁ{1¤ÐD*X@BÁ>¦âå,Î)FLÆ{
ÞÇ
¶""ã¼‚ñ‘‚0c>ÆŸà¢‚K(*¸Ì§OQ¤pª34\˜¡p%@Ág¸ÂËU*ÆfŸãš‚ëøBÁ|©à+|-ã7ñ­Œï|-"ß•AÇrÙ|Îp†MN/£9i
jgRhÂ¸4µóÓ^Ó 4'ÜžØŽpµL<^¦hLqéG¦-aÎ	—)*åƒ2äyU6ÐUÙšÑt}Ç¾1ŠUBŽÇ§¸V‘ô0½i3W0Rx¥|,§;Ó¤.tÎÔöájö²–ýôŽ,k	‘À‰#c	g²j>/˜:®Óó5$·Èdµ77hç\
ç¿Ç!s®—1=ul»%;¾s}Û+cg’79|L’áo	Waªd< ‰vÖ£S½,Çúq÷Eèª—zâŸ|x·òën‹<úè£³@€þiÁao§IsvSg§ù¤µƒ§žshMô¿;èþ<&àGík#w Eú—Ð¹‡ÆÉvüÓÖy¾%øo·/ÐÚBCà$i8…5´¿H·nW/a§£}­gKÂ.ìölì$£‘Þ%ÊúÄ’z+zNl¬g†jôô— Wëÿ£çU¼æèÙ»¢ÇôbŒ,"xë#‘H	M‹¹[s	Ê‚”UýŒhl$zËñ²½n’2 <Öc S¦³öWìzöøItíKcägòoÖþ™]Dë}ønóµDŸeÚÛ‹´Š†çXqöêž~Ç
7Kèè§óê:‰¹Î#û<r“]vwÿ=ôLÞÁkJTiRß–Ê°Ÿã_àóé%ôv¬#v‰âÚñëm­)O«ŸøOr:ZW˜œµ§Jècb	üzÛ¦œ"8ž~ RÛéòhÅúdRÖ,Ê‹ƒ(`sô›jžrº€[8‡?qÑ7ƒ³ÚçæËËjþð²ºwùËCÚ%¼Žý^}ošñC‘Þ©%´s„?£9Â;_–(/Å‹ØHY^tP|Ñ‹7„Ìµ/{½Ö™µXEŸ¬.\¤û%¼‚"uæå
ï†Vj>„NïòéšHö.N1ºÞR÷0¾Å´ÞuÕSr:è
Y»Z¡½eE{‹±äœy± ái:½ø)ÿ­ª¹æ(T\€§PÂáÇ¾^G¸Gœu”òÁžKô6ÙxøPK}8Bq¸  r  PK    €•)            &   de/mud/jta/plugin/MudConnector$1.classU[SEþš]˜an“qk\®Ôxa‘˜ Qâ+^¢Ãn³.=ëL/oùyÒJ¥L•JYe©±Âbi•>ðà‹ùE–§g ,·àVíéîï\úësN÷üýïï"†|iài¤ëac@‰Wuê¸hà5\ÒpÙ€†¡z¼ŽaW4¼a i½j|S‰%®xe6ªcÌÀ8²:ÞÖ1¡ I%¦t\30wt\70ƒwøžŽ÷u| á††5|ÄP·änžÁÊ,8KNªèˆBjRú®(¤ê'W…œçÒÍ‘¥œwƒÄy;“ç©År>µ T©X.¸"5ZÎyBðœô|ò«p…+.$2Þ¿mÇ4C|ÈËs†æŒ+øXyq–ûSÎl‘+š^Î)N;¾«Ö[`\Qc ƒ9Bqý¡¢œ³Gìžè#²-—„Ì¹…²ïH×§wÑÎ†Ž‘IÈ®.ÎNjÆ+ûEFôÚªÎ8¼’ã%µ	YÔä%cÒ+û9~ÅUgi­æ×«M$Aâž5ÑŽ²Ú„A+º¼6‘Ñ0k"ª¥î'¸L¬Ü¹†9A”À…áÄÞ*\.ÏÍqßÄ<\%L|Œ¢†EÜ„â­û¾ç÷Û>1áƒÈž½ÅÆJ<çÎ¹œø´ŒºA@ACr
 M”±DYž˜ŸÐ°lb«TL•ŸšøŸ›¸Ž/¨—_P€~›‚Ùn`OÚŽ-ÂÎ Ž<ªÊäµsÀñÙ‚ÎUyñ%.djWdˆ+*|,©Š~òR34¸Ìú^‰û’ø_MîoéÿƒttÛ¦Èœyô‰š2Õ= ®¤S*qAÅè>(ä>(ªzy”ºG™ëÒ‹j†äGjÝ—Gê®:‰nB8fœYNW§%òv–e*DÈ·i7B-HwwŠ¯P5õ¢³ê•¥ªWÛŽããç3¡‚¼MÚVU5ëˆ=ñC$½}9v;ªŽœ÷–:’Uq=!z›{¿ZwÐ!yAÑÒKŽpZRÖz-Fèƒ`Óçž.ÔÀR÷æÏ@ý,õ<\ÕÐ?‰ZwÒl”Ö1›;7À:»ÖQÓÙ½ŽØ½Ð°‹d_¡›¤™Ò§è|ªy+°š©khÞ‡ç¢Ð¬„8jI÷ ËŠwÞGÌª­ n´{YZÕüm¦{ú:ê×‹ †™˜VcM=4WÐRA«ÒÜ‡µ­<V­<¾†.¥·Úv­„Gó“Ñð˜uª‚Ç·Y<A,Âíz~Ãéu<¹†¾þxÏ&ÎVS8íÒd=Eb‡G‹A÷èœ­”‹v¸…;¸Kc”«~4‘ü¸MwÈâ’þ¾EßÑÛõ=nâòú‘ÐŸ°†Ÿ±‰_ð~ó;HÙ¦|=Ìï<(›øÂü¶ãe¼ˆ—¨·0@óÍî¢7Äâ¤%¬[?R4äi‡qðPK;å6ÓE  C  PK    €•)            &   de/mud/jta/plugin/MudConnector$2.class…‘ÝnÓ@…Ï8i¸†Ò
´iPG½-êM¤J‘\õ~c¯’îº²×•x,$ ˆ€‡BÌ®£R ¶öovÏ7G3?~~ûŽ^ài€<n£‰ »èøØó±ïã€°jfªì8•ÑY•Fs#¢ó¬š*½®Òa®µLL^ÚãÚÌ¤Q	ë^)­Ì1á ·Løì”Ðæ©$¬ÇJË7ÕÙDïÄ$ãÈfœ'";…²çE°iM@GL)†™(KÉ‘ý%¹º‡lÓOê#a«ÏÅ…ˆ2¡§ÑØJOFÎÎ,/Mþ×5ßçßÑˆ¤ª¼‚5zVŒóªHä‰²>7®ç~iY!l‡ðÑòÑñk\Ùež	·~ûx;™»t»×TòBjóä½4±*äšvþÏe¯"IdÉÝÐáæ¯pAWylZ¼¶a¿ k¶Ø¼;†Ç?Gú— þóÏð>òÉÃž­¸ÄMž·êWXgÜ®fnãÎ‚uÂ«¥·úŸà}EãOÒGêÔo®H-Üe:¹Ý=Ügá¶ÌC—ãßÌÚ]¸Ð×LÝüÎ)÷ØeÂ/PKõÉ+²  !  PK    €•)            &   de/mud/jta/plugin/MudConnector$3.class…RÉNÃ0}î’Ò4leßËr(-$ŽE\*Bq7‰Õº
I•:@?‹ âø(Ä8T…PK¶gyóæy’÷ç7¤±uYÌç‘Á‚‰E,å°œÃ
ƒ¡š²³±ËPr<a_ÇžÝRÜnûqCöIìÕÃ ®
£Cþ¼¨¦PÒ¥º}HuÀP+*tZü†ÛüVÙï†±:áoˆ¨¶yÉ©‡ž`ud Nãë+]ð+Ÿ"E't¹É#©ý^0£Å2€Á:&ö¨îóNGPdm€†=’Ÿº£gÎþ¥†ž·=®¨ÍtùtñvSºD-k0Lü’c0ÏÃ8rÅ¡Ô2Ç¶ÞÑpy”,Èå°jaS4ðA’Fú­Îx |†…òÃ,ösÄ¢84bÈ¶ÉP(Ñ—ÏB®¨eÐ=½R´ó0É/uL~šîBeë	¬R}@ê>Ytž1Lgé†Œ'4…©¶Š˜ 
†ILõhÈ×ŒJõéoF3‰¾°×„uúÕg5(2C)Ì&5sKªèOHòøPK	wƒ —  ß  PK   ¡€•)            !   de/mud/jta/plugin/ButtonBar.class­W	xTÕþÏ{3óÞL$&!„eHf² uÀA–(!HXËËÌK2dò&Î¼	ÁREkÕ¶Z-nuG±¤­KÅJ©KkÅV»Øª]µ‹­­µ‹m­ÖÚj{î›%“d’òõë|ß»ï¾sÏýïÙî9gžýàÑÇ!£–ª<XÛÝ<Ü!†;Å°ÏƒVÜ¥àn\Ø/(÷(øœn|¾ _À=¸÷¹y¸_Å”àKn<ˆƒ*ï/‹å‡=8„!ãGTPð¨Ó±_GÅž¯ˆÙcbö¸Š'T<©â«*¾&O©øºáiÇT<£â*¾©àYÏ©ø–ßÆw<à»‚÷y73~OÁ÷=¨ÇB¼U¼äÁðC?RñcqÌOTüTÅË‚ÿ~†Ÿ+ø…ËðK¯ªø•¿Æk*~#HûUüVÅë*~§â±á÷Â@PðG¦x³ ðg10ñ/
þªà-Sð6ÁÙ§›F”P´n‡Þ¯×é;­º‚²” t$-+f&ÞÔbÒŠDëÖê‰nKïˆÌáêŒÑ03„¢†_þ¢­¼”ˆ%ã!ƒP¶.lÔõ&Ãu;,½nu$jñÑdWÄû—EÌˆÕH¨öçr¥Ö›’‰¥©s£ºÙU×fÅ#f×ÒÀf‚ce,ÌÈ…ë"¦±>ÙÛaÄ7	Åëb!=ºYGÄwšè°º#,Ô¬Üúìêšl›ô8Ë"w$™«$¿)øcäº³¬¸1-8Ç?lÈ5ñH¸IïZ9¼žV(Û½wS¬Ç0#ñ¥	·±MCB…‰yœ	ÃJö	“w
Á³j dôYÛ¯…zHÌ6ñÎX¼×`çäˆoô¦U·ÂfY%æ¶ñe£ß"Ìœˆ™¬^–Cõ2¤Ú™4íE&DÂ¬J3{>Û’a™z/{ŠxÚ0ð&cÀ²CJ¨od£Ð¶~V§z87¬£/·²Œ¬sk.ca—a¥|º9’Hêõ%þ»¯ŒõöÅÌ”“²¬-†™$LÉe$ÇæNt[:ÖgúÇv;nÙl§[S€m@¬þ¶&&ìŒG,#½À|=b}æ××/&ÌõO¸[|Ù¤z1,"¸Ûv™V·aEBÃ0‹LóÄ0y/x`œkŸ^,€‡?X†'>å¿.ñã‘ôÿ}½¤Å¹c1<)§²Ù3“³ç/8ºÐ­álÖ°Eç¢]ÃyøsŽL£‚úŽ†6lâë;ZóÙw hÍ¦iÄWFõDÂHˆ½Wð®†à=ÿÔð/¼¯átr¨t°~=þÍáO¤‘„~ž±B†êÖH&‡FN¼£K#…T…Üy¨€óüèÆ—`4©)ÙÙiÄ5†¤Ñd*Ô¨ˆ¦hTLS9hU~ÊùñðÃËÓÈËq¿jãÆÖAßêôMúz#‰#ù*ý••P)k?.OêòO€¨$Ô¤—›Í¾¤å³ÓBÐW¹¼²v•öµèñ#î3c–¯3–4ùŽÝŒÙgù}F(Â¥Kdô±ÙfœÍqã‚¤‘°Œ°/b“+Ø–¾pÌHØç‘„¥ÐtÊ„­fP©FåÂ]!Ä×§òå&#j§œ^ÝoLa³Ãi¦F³h6ç
d¼9^"ajžÔÇY*¤›éÃ­ O8l.G×#Óq¤áŸ
…æi4ŸXàÙcÄh‹…z+çüø¬4€m°ln’¦úA_§Î·"¬Ð*ñß•p$‘=Õ6,=ÔM˜‘šØæ‰ôöE^>‘í·Ë`®Š´3Åa4WP˜*4òS@Ã§pUÆ#³ºh4“¹5lÅ6WàJBùSá	¥ã¤í‘+©ª‘Y™•·®ã00øs±ó‹\¾øx²ÙègZ¾&„/jÜèðiá†š§}Ê¬Ú€¥ãäE.&Ç½ýmKÌeÉ‘è¥ÑÅ1¡GEóçÏ²µc;y©(:ådTÆíbâÎHØâ@Pv‘®nK”þ3¸èK&º›ôPC—»sH¡‹Í†•©©Ó2•7÷üL0Œ¬$¬A—ˆ­ù$ÎâÒûú‘.jüy1†”Ê‹¼ÏHv$2ÙÓßÜ<–•™T+–É°#uÈr¸BÝz|ìð7V²"fØhé]€²/œF<‹òAN ”ŒH_Ù†¡Ø‚$ŠBfæŠf—ð‡Ão·îŽxL‡ô¯-ÌA-|ïõ.#¿érëÈ.Ž´Þ”›GÙ2õGÙ2¯j¬ú”aj3'„.¬jŸOÍBÁ’<Ûìãs2å¦îxlg*0
û˜Ãjã|Ô³)®‹¸RÙBM»,C´þÀ¶&ÌåJ­üsÎÆF8áU€$ê¼ýÞ’~sµ‡øqÆáq2×m.ý<žÏ_—óN™ßõUÕ5‡á¬:
Wûa(‡ VÑ!Hb«‡à¨>
w{óxŽ @ÂAùÃ<Î†ÂãEü?öLÅÿç’(Ç |¸uxÛyÕ—:::lIêE™a	ÄÌ@'#I¢EáQÈôYæü5CÐŠÞß‡Å5cRñä!ÞŒ‚jùŠQaÓ¦¤i…‡P<ˆÉ¼aê ñª~0+aTnV$¸I†—˜Å­F€\XD
N!ËÈ#ecVÊFD°Ã–²=ˆ2Z/ÏLiæÇD,eCçlC ß_õ0¤ê!L‚÷I”´·“o+.]OA‡Üà”\ƒôÆQLgó–ÕaF×åu:ÂC(ç!Ì\_ãuaÖ½öÑt.~æÛö –3MH'$[ÆÁO?&?;ø‰ósIzñì4ê ™¹ä9Yò–\²/K^žKž›%jŠü,îö!T4(^Åë¼ZUñ¼!Ì¤I^å2'yûéAÂ{¬ŒWaÝ‚¯âØÞà¬)
õr7/°9ŸÏp¶Èí®ç ž®)Z>ö¨J›ûîÜ£ü6éšìQªWip²äcðŠW™j;"Ðt?ƒyUiÅŠ«X)±4£¸:¥ž³6Gï2÷jÒª3ãfT•¹‹K‡P;ß:mi†}h6¸jŠÎóºXþöç­(´‰Œ·ðž$¯KLöcÎÈHÄa”2Ç1j(s¤#¾”E¨;Šúö¢·cÑ,æ›}W—Ø«óåGpâ f•¬‚B¶ÈÉ)Ý˜õ›õz
*RƒZ[|ê‚¶hók…¡kS‡?‚¥ê Ô [0É¶ZëÅÚpÕ•2åNõªÒ(O	´¬½Lñª‡qZJ¤AÌ¦•æÐÝUÅ¶‹‚<=]ˆÄ^>ˆ³Y´¹:.cù›2Û–ðêJ{•}}†àËê¸JèèN\uâÁ”°þ*~¯ÂÚ‘V9s¤UÂ!%¥]Ònœ$=$=%ã÷y¶<'ÉWÈ×È{ù’Ûéƒâ,1•ŠÀÍ2æP1*hÉ‹=T‚›¨Ðt<Mex™›è×i&Þ¤Yx›fã]n†%îrUng¸©õrÃZNx¬¤îS€N¢jjä¯3¨–ÖP=µÑ"ÚÊ+Ûi	…xµ—(A'S?J{(H—Ñ2ºN£GétzŒVÐ‹ÔD¯Ñ*I¢5’›¦JóèLi-­“Z¨EÚBë¥Ô*õÐÙR’Ú¤ÝtŽt#+í£vi?m•ÐyÒCt¾tŒ¶KÏQ‡ô…¥WÈ^¥NÔ%O§ny.íÔ#/"S^J1¹•.Û).wPR¾˜úå=´K¾‚.”÷Ònù>ºØN¥÷q)à„˜I¥<ëãòÀeX¾S•Hø%òHðLF™|—NN¬3åk¹xôs:#_<sáuöÁ ÏjÃÞôl§¿]¼C¥[Ø7â#p³g`7>
EÚÏí÷E¼ªHp%.æ*{×i¯ºÙ¿“Ò³½öŽ=\¾ˆKÕ¥é‚XÇo‘òE"Q‡kˆKéR[9-ÅVŽð1\–Þ\“Þ,Ñè—çì”²;?Îõ7µ³Ñ®Ì]U}gWW ÒUpÒÕ6BIŠ+[£\vU§ò_‰tý<=UÀ*œU}ë$öÇHq®Í+È‚àø$¯ç–9þ+“†]9
¶%·HÉy=<tÃqB«¸ŸNC/å0üJUùVî5FIË›†!\“†Tp-76„ÏØ_*GÇucàªN~ð¸á6çÀ]?œô¿ÁÝ€Óp¹6X&ÂR`ˆ›ìÎH@¬JwHŠÝµ¶4Hª)QªQpó¨v&sÄ-y¥Ç‚ù¤”p«=Þ†A;*¸m·éøPK:œ;b    PK    €•)            &   de/mud/jta/plugin/MudConnector$4.class…TËRA=“D†Ã+<å¡!!">A#H$<4ˆWC¦+L&Ö¤ºvéBþÂ…+«0V¹°XûZ>K­ò7,oÏDdª¦ç>NŸ>÷v÷¼ûýæ-¼ˆàž‚ B~4"¬`?F )Åa)8‹qaSpd
ç¢ŒKâ{YÆ„‚:LV£[ÆS2®J¨âi3ß?*¡'n0-[0´u®k3…”ii#š³,–ä9{B‚?ñØâiÆÍ$Í›4-“OIè5qhU‚/š3˜„ú¸i±ÅBvÙ+úZ†"x.©gVuÛ~)è¢$@‚#;šÑóyF‘Þ#Öê'™&gÙ×9‹¦u+Å	ÝÁøº¾¡kú&×Ø³¸#ÌŒ°y^¶Á%t"M‚Uèu0"ÖÜ6­å¼$IBÓý²ÜÒÚ:)¢œ’Èì$›5EaåbGZE®©hF‹Œi×•qCÅfeÜT1‡˜Š[˜—W±€EKX–q[Å$T¬`žêýW‘Š»"Þ¸Yœ¥˜­b1Úê£š¸Ó­DBg…æÄÍ<g´AÔ‚ ècûa”P—b¼lSœ¤åÄÿµÐ‘¡¬X&Á2#{Û$ÔãÚ}Bˆµ<3bÎ¶5‡*mœLä‹z–Ô4ï‘®°G|Ödƒ ƒQš•g\¸Z‚YEä’hB¸€73ÚœžOsqÂ‰¸©B˜zBÂ%¤¡JgK,3m¶k-çlš\Ís®ôÐ"@w¨‰Þ€8aôm…x<ô¶¡üãdM‘/"Jè5¤Pø</LU„Þ£“ÆV….œtX”'(œr¹ì…r[á"¼/ž–VL]%;Ú†g¾"Ž-¸fÕp²kV“éß²èº5ïØÔÝtmÄG~]õzŽÁÒü@Ã.¢¦Ì®uì½ŠFPCãÒüa|¢?ågºm_èÊ|Eßð ß±‰x‚Ÿx†_Nå!·¦ÝÊ·Ð‹>ª'ý8MÌ3tI0HÕ{tÖÂ	§GtÝ6üPK‰ñu"  Ç  PK    €•)            $   de/mud/jta/plugin/MudConnector.class•X{`\e•ÿyäÞÜÜ4é´I;-¥C4Móè›vRJÛ4¥)I’Ð2€ÊMæ&™v23¹Ó "VAZT¬"Û™Bä%XŸ«ë®ûtºRÝÙ]Aöœ{g&“vÒ¸ùãû¾û÷ùÎkòÚ{Ï>7éYwà—îÄ¯Êùôo²üZÁë¼8-¿Qð[*þ£oàM¿ÓP·ü§‚ÿÒ0ÅAúo•ø½œþGÅÛ
þ âÓñ®\ýQÃŸð¿
ÞSð¾†Y8­ÁOP‰Tr©äVÈ£!€·•¼*•©¤¨¤*T®áBÒªÐPGº@+™MÑ¨Šªåsª,>…¦©4]C³-ŒjøDµ¬=Õ*4CÃ*¼%3YUò+4K¥ÙÖ:¸ç)4GÃÅt¾,s
hØ€Ó
] Ð<æÓ­´PÃ&ºP–EªSh±Bõ¶á´JKx§Yeib?Rs9-¥e*-—›*­Ôh­fé"…ÖhØ)ÜvÒZY‚²´È²®œ—‹å´^¥KTÚ ÐF‘§«´‰w¼«R«J›jc%i‹Øt©ðÜªQ;mÓp3]&ò:Tü» t²‘Ô¥Ðv{ð./T«R·@.W©G¡^•úTº‚ßˆvh´“®Ô(DW)ø¹È¼Z¸_#ËÄ÷;ú \7‰ç?TÎ&^«¡áœæ˜ ~> R˜oÈThP¡!…†Š(´‹PÑŒ%ÍTj“‘$èí±˜™l©”™"xÃfzˆÀ6 ²5KYFÌÚaDÓ¦üGP¢‘”uEOaJÇ.c¯Ñ3­fþn!xR–™`Œ‘t¸ƒ‘5FÚŠD›·©aËèšŒX•Ãè5£æ€g-ªLcŸÕ,€‡K—1b¦ÁúÌýÖ–ˆç6†ÃIçÔO²@e ÎÖðiêÑ¦´eÅcL¡çÄv13J¨C±oCâiËLth«‘wØ AIä¼Ghè›ÍÌ³y—e4'¢é¡H¬¹3nutˆ'9š)53™Œ';Œþ3„Û7/ëlí4céqÎ­‹Ä"ÖzÂ’ºb™Ý¶ÌMéT‹C5bCÍ½V2jY¼ƒ¤56…_$fv¥GúÍdŸ¼ Á×0¢;ŒdD¾s—k8ÂV&±ŠÕq÷§±¶´*W$,"ÎR‰£+á¸¾ÌÈ¼)ÓJsÌ¸ëD_w2c°ÑN ?ÄL‡Q$Î98h&Ípi„MÑÃeÃ„@ÔKÇ˜Àä‹Šd;vo‰'G«mÿ€™°"v0¸,6Á_àÍ*šÆH_|·‹\ç0ÙÑçŽ‹&ž„`ÓŠ8·Ç,sÈFõZBg‡k!ÑãŽ„÷ów*Ýï<©'b™#òüË¶ó%““Y7›q±šUÆ€œºÍä ›`²cçÖ11÷š1«y£Ò&gûÙÝæ^Võ¼s¡1;ººHîöþ]üÂbºaçUÕi9ïº#’Jü\µu‹‹Ò">’ˆÇn•TÇÞ©Åˆ¹ ÖŒN†K—.%Ì¯›,ÌÄ×~F-ï=³†M+2À<zãéä€¹%";µ¿IÄéÅ7u<‰§tÜÏéxŸgåÆÕ3ÎðÇú$	¼Œ Æ§Ý
Eu¡Øä$Ë…ÿ/&Ç[ÁÎ/Qat|GDd\Ç—ñ(ÇV[OÏö®¶ãë—ñŽ¸æ´
455	ABÇcøºB{tÎšT1A®ÞÕŒUÄx’(/ðIâhñvq|Köç¸²î)õÂ>ˆšFÊì3"ŒZÖj:A^ÿç—?_Å×8S»{¶_ÚÓÖÛË¹ÑyÅæŽöÞ>Ž¶6C2lÌ—&#á1å8š|g7 ìÕñ0‰¹ûÚ¯ÓºNÇa¾Á#8Äá{F`™9Ýt|_ÒézºaòwZ©Ó‡éF>B7G’æz1ªŽÇñWö±„êæ¢b«úQnÆ7óFŽoˆœV¥+×§< =–H[Nr`
}L§ƒôqa~‹,·êô	ºM§OÒí\#&©y‘EÕÙÍêÇl‚@|PB ètÝ)Ë§tºK$|š
Ý­Ógè®ÎÅÌý	>IüÅ½ì!;8`’3¥Ðguº#•î§½„_>ÇJPZ§eù¼,_ÀI¢‡Yf0Ž9’LáeV0£!0I¥D©ÛƒNåžzVáæ» ¿þ ‘ŽZ6R`9'e¹}âbàòŒ{O§@êtˆKÔ±ÐâPú²(ü(}E¬>¢ÓWék‚ðX^lqÁçf¼Ï¹i„Ù__ÛÔ¼¯ò±2¾#pÛS„(¦´9'—yB§'é)…ŽêtLžéizX§op’Ðqqvõ™®Ó	FÃ	dç%Ó,zã»M«ÇÜ“6¹dR†²:]ËWH¸=3ž¨Dæ°ígÍü@EwNWÉC|c
ö¤c1'3æ”ìaRÆÍ˜¼àªIÛHéÉhz©Ñ…³"i	ï¤s7&çüsWj3lù3q
¸Ô¶N#få¨kêJ«é+j¶1ËˆØº¸¹;Ö• )Õ›'hØ³ëÎ¥·®½Ý ëì­¾îÿÁ¹v\±.@¸añ¬×Žäjž§î*a=•9óQçM0áŒsxJ:‘Î"+†;qj8¾°xœ=9ÇN)3ŠýœLÇIüÛH*‹^ü3ˆG”xÂŒ9M¨w”¨áì¦™u%ÂxÚ(7êÊ­*½¤Ã®rÓó\ÇO×jÂH¦ÌvñuÉ€j·oÖŽÃ§¡ÂYWNSh9=7'ž]µâÎ{É®WãëÏ”]Ýu…É—ífŠ1ÍæØ›XÂ´D\òåjRÆÁÖið^ÁˆiÉ)_Uû†yO%Œ³u˜½Å-g¡HÌHÈ}—ïã‹ÜÙ“Ú+So97«Ïñù‡
»ÑÍ×”pÊ¹ÝT˜°ËŒð®´L=µuí“§~!…”¤™à`•!l€UÜh9)Ú*Þj=‡·Ü<ž.œäÚÕåGáwÊâwâ"îØòKÇ´$ÝóS¦=áØ?5¦ìDVÁÞÏŒß‚ØYÿ`áøazç‚ý1bH«‘Ü¿&ìçŽÚb*FŒÝ&7–ˆ]d”¡¼ZåýIlìI³©D1ïä9•Ëß¯5cC2×–È®¸ wàN¸ñ)Ü…Oc
fáÜÂg¸p<òk„Ï<À÷²ó{çŸ!öÎƒ¬½ÎíävTíØ;ÿ:°w§íG~{çÑ“w…eò^²àTx:T¿¤!W=€[Oý(¼¡,ÊN@Y2
5TÏàòg ¹ÀŸ¡ú,tû‹ñ*Cõ¼Naìª«N :‹©'à«?ŸoßOùj²¨eÈŒfî…?4ŠYŒ<;‹óº}sl”óEÀ¾¹Lþ0É<¹³YÍo,I=—JiA£Ãc¡ƒwa¨Ì“Å"ÆuÙ f]ªžžÅbæ]ŸÁ!«wgÐ0žqÐã÷ØŠŒa7æ„4
6C:Ð2Ú”ƒ6	´ÑïÖ"­9ä[šÅ2ÆXž“¶œÅ®¥y_)û(V‰µ«3¸ˆ?«c3XÃÔkC¾`-'°î˜$²Þˆ¹¼Þ‡2t¢ÛQnÌæÀ©ç)mžá¯0Œ±/áV|‹CèeˆWúm¾=…ïáUüßÁÛø.ÞÇkT…ïÑB|ŸñjÅé2üˆzðc2ñÁO)ŸÑA¼Nwã7ô0~‹§YúJ'dð·ÿáwH&D(9eq’5ÝG‹X—GáfþwáY>yø–x;a‡NÆÇ,6×ó*jxsŸÂ”Q\,¾XŸÁ%cOü[ñÞß„¿³5Ðêœ„çòœ=×p@OaÒçG±_scG}îÀ1=ŠMüÈ­!‘–Áæ,Ú²ØÒÙÁ¥]îÕžÆ“ØºÚss‚^¦ÙÆ4—ù:2èô{3àðÙžA÷Ó¸<éaH¿s¯¯O6ø
æ;OîvŒbgˆóåÊ WˆC~¯»º<ƒ«üÞêÀT¼ŸÁÕ…Ó5îÕš{uÅºÛï=ŽË„àƒ¡Õå®C´§¦¼Z;Œ@^Kò}H–kó2»2Ž"#T=#‹þ :Æ;³Çs(•Í ‹pP=‚EA½`º)¦ÛøƒrÒN'ó—•=‡¡Û¯ô†<~µ7äV5+ˆuèÍ`Xb]úˆxå F5š|í’øÎ`÷’‚FüÑF|±¼Vñ±6¨ûõWÑ))0"'k{ëDµÄÎ	
x˜ÇžŸ“5¬ôWrê¥üº¿RèŽ@³¶º¼F<¦Ù{ÿÍ‚¿)zu‹yŠý¤åé÷žþ6u\·Ÿ¯—ûkFr r]!ß§I¾ç?ðÇ1Žùe¸A´“—–Ó*´sLÇ\{8¯¬ø–òú{Žö·1ÀbüMøS½‡ 'G¹"7n /n¡2ÜN
î!Q9ŽP%žàÌ<JÕÈ’/Ó4®ÓñkªÅ4ïÐL–ê'fÑšM«h…hÝDóé6¾¹ŸòÏ¼EôÕÑ+´˜~Eõô&-qM¡F—Ÿš\s©™;Ér×2ZæZOU®m´Òµ‡V»n£‹\_¢5®£t=G-v&?Ž©’­¹LV]ƒxžkÏß®6®d/²µM®\ËNŠG\³Ý÷r-	rî¿ÌUMl{+Û)>e9ô^e¼2¶á&®p'¹Õ½Ãõë»x½ô=Åµï^”ã1zßç“Æ>x	?àSûwÍO'©ž?äF©»ü\G~„£’½~	þ?a­?Å_:•†v²L®ƒ8ÆzýKØó ®åÓv|4ØaüaïòadpãzI†9|$·ß$m‡q>Z„ôHwñ{ÜLs³jò{<‡9Ü„
n7»NÙAóñQÜÂ±uë3ø„;OAc¬ÛB™ï“]ypƒÔ¶,nwpÆJëq>­‡F— Š6`>mÄÚ„Ü
Zh3¶RvÐQ;â´Ëúe¸ž:puâ~êÂƒ´ƒèrû!·²»Ùù¦À§Ÿá¯ØUU¸’Ý(Ma>6Ûîv3î\ü5~ÎÇFüÓ2°–Ÿê¤Ýþ—kÍ¶Ó¯¤ÆÑ‚âev·é+êÞB/ø{üC	âug_Y‚XÅ?âŒ5ž8:6ž˜WLüO6ñ?Ûf»ð/öú¯øïõðàw·ÍÜù«Èí•¹}•³ýPKéXLù5  Ý  PK   ¡€•)            #   de/mud/jta/plugin/ButtonBar$1.classWxÕþïl²3;™„<©†@¥¸±i	ˆFÂû‘ÛÒÉî$ØÌ†ÝYÚÖ¢¶VhÑj<,>ªV,baR ßÏÖª­Z+Jm±•jÏ™Éî&äQ¿æûrçÞsÏó?çž{÷à§÷ì…¢HÅ"¬÷a!.åá2—+hVñ=|_Æ
~ BÆ•<lP±?Tð#›p‹]­âÇ¸FÆµ2~¢¢€Ù
ðS?SQŒõ
~ÎßÍ<l‘±U…Ûd\'ã*Fc»ŠQØ®àz70Ë¼¾‰‡_Ê¸YÅ¬gƒ·ðð+*J±^Æ­*ÊØß¸MÅ¯q»–;x¸ƒ‡ßð°ÓGJîT°KÅ]ø-kÜ-cŠiìàF$Yw'/»xy7+¾‡uu+¸WÁ}
ö²‚ß)X¡à~°†e<¤b6öñàÈíWð°‚¼ùûÿ{<ÊŠ“ñ¸Œ'd<)à]£G&˜aÂº•ú½2¢[Í•‹í˜i5W	ø¯³ìÃ6CÄi·˜ñ	“ÆÔ…ÊÖD¸r¥­W¶EÍ¦UY“°í¨U£ÇHÈ{Ži™vµÀÔÒ!9ûœ¸L kf4l«3-c^¢µÑˆ-Ñ#;é‘ezÌäu1‹€€VkYFlfDÇ¢ŒÊô„)äf~Ü°gF­&³9Óm3j	ŒîãðGÊeq\ó„ššüƒò;M&{•MªmÌê„hF9@Co]]eXæE£$±ß%i†Z«-a»\´)ŒôžƒÏ¹í!£}dÁ„ÁÒ1QI/2ô°c@DFºúZ»ò¼˜®Ñ›ëôuÑ„ÍÛ!Îä‰ÛIÜŽé¦eÇ‰'Ûf‡‰·–æa#"£¢Q  #çbÊ¡Ç)0úpîäP´µU·¨®­Š3üKŒv{¶iDÂU}¢Ÿß;Buq4³,óÒY;¹54à)õøª†%XJ%šÞ—ñ´†gð,ù—A®&:Å¢oÌ1g%Ïix/Èøƒ†?âE\+pÒàÊø“†—˜ée¼"ãÏþ‚WŠH	•žCµ»ré¢:¯áuá'wM¢©É üòCÑD$°¢6²ÂÁ€†¿âoâ-*˜AÊ.1HA¥ÒŽkÈgäÞ&CºÅ&#Q= òqÍþMÃ;8¬á]NÅ–°ÍHåùz¼Åæ¦á=ÑðwIèWJT†C‘†÷ñÿÔphøþÍÃ‡8¦á?<|ÄYô6:Y”ñ±†ÿâŸâ85ÊL£rš„GY"[^!kB>M¨"‡Ê=h5ãqB;àê¤ËpxÂ2ÚÛŒm„†D›=gÕd¨5¡á•-ùmØ¡"7¾«4‘‹§¨õô/_ÂUäib˜TÞ³M¼pBIœš§Þ0b±h, øÔÒšÈÇq_¤ ï[ÿ§övÕ‘]ÛB®È¡0Ûpª”(
Ù·1Cö9ª·L!Îo\IZÉ@/caÙ•}ú`·‹kÊSÊmoÄ ýŽÎT³a/ˆEÛŒ˜½Nà‚ÒþýóP&tó” ŒÑÝ½Lp$—Sµ=2âtuMž*0nè;i9«+è0Õƒ“	…Bv.Ê^ioÏbUªf3$â#‘EFÜéi3âîÁ˜8P€ƒ\*Al¥G”ÆæÕÛˆŠ½|pÝý:É)vÔ¥P)—˜‘¥šä„e¶z®¦öñÀ­»¡<ÈásJ…8³…–UZË:|«QÛpI©NáÖ~žwEßF–2~5£x*+ÎnÓ-ƒ®ÍüÌ}µ€)U½[ ¿M½Ï‡Žbº–f„\Ú\ÝÒ›{ðà‡)ö5S‡\k†mê0òZÃln±Û©§ÍJ¯ÖñEJO²>ç6•¯±:¡Gâ'ŽºT¸>jö÷Î¦“QÛ;<z¸94nƒAäiãø¦`sè÷è<éáðŒPßÖ2¾\nêËá –òþö>öy²>ÈSfÐwØÄÿñÊs‰)Šƒa¯Jhm‹ZäûÐÆ§#A P6 ðÄˆT–SJ["ÞR£‡VÑ6À±®íÓÆÉË×ŒåŠ¬êÐ“v3¬Ûô»j½ CB!?ªh¾üWÈï¬ôJ¢ÿ,§õ…4›Kk}‡•uB”MÚ©¬|<»Æ¯Ñè%FàR|Æ€ËŠo@wTëQÌ36(Ñ¼!WuöÕôk.ðØ“
³ÊvÃS˜„w.Í¤nÈ)¢BÄNø’P»S_~ ¹ÌQ¨%‘»KÌÁ¬²$òÊ“Ìê@v0ÛŸu “»QÐPÞ‰Â$Š˜f»j‹:QR8<‰$1"‰‘¬¥þV'N
fwcTC7F7ø³;1¦'Ïë@Y_Ù±=²…üäñ¸-ù§$1¾"|§¸Hà]8µ¾Ïò´ún”ÒtbÐÛ2šL
ÊÌ°å~o~9kNï&•(·»ùðÑ Ž?þ	}‹íJ¿œ·“qJÅnL-<#‰3·àªŠ$Îj˜¦H×£ÉA_†PÛi~_'¾TÙ^¦ûUfJâìz¿CJ"è÷ºS¿\Ñ…ª$ÎI¹¦&ñ¥úœÜ¿q¨NÙ!Ö:©ù²3_åøõöK¬H»!&õñ+ÿÓð1Qflš¦Ösè_ã­iJ:ª­8-­i+F9ó™Î|˜3ŸåD®’Ô¹ð9Úÿ?y¬Â¯sRjrº1»ÁŸS¢vâ¼`®?Ç¯¹ò)ôr™@ØåºØïÒký>®C÷º;ý ÌÊ2P¢<%½p1‘§uIÌuySØÞðÉS\é¾ÞÌó¹H}é"íñ ‰»…jœ9È§¦°‚Ne>.Á6lG¾(òÔzê0Ï=ßâ$Ì¦º»¹¸“p%*±Ó±gcªpi¹†´\Kb3iÚBš¶á;¸Ž´ÝHœ7‘Æ›±·`?nÅ£¸Oc^Åôcc'ŽáNzWï¢×÷]¢]b8îå¸WLÅ}b:öŠjÜ/.Àb)â!Ñ„}b5ö‹Kñ°Øˆâ:<"và 8ˆÇÄx\¼Ž'Ä{xR¥óq<#yñ¬”‡ç¤b</ÍÂ‹Ò¼$-ÄËR=^‘®ÀkÒF¼.]ƒ7¤ÍxSºoI;qHÚ‹·¥xGz‡¥CxWúG<%xß3xªÑEÈó˜øÈÇÇNÏ;ˆbîa©žG³0êp¹ž&49=¯Ê3Íh¡ÞXí9&Vösˆ¾
d^cÐêÌ6  ¢4ÛŽÓzvI£«áBŠ!†8d±P	(„IkÈ†P™Žµh‡*ŽŠ±.¢?‚uÄ§J*ýþ»ˆh9„Æ[¸˜fÅ;ßÂ·ÉÏ:ò`åÌG>]âôõïâ›ôU)Š…NÂgPKd’Þú	  ¨  PK   q€•)               de/mud/jta/PluginListener.class;õo×>f]vvVv6F®àüÒ¢äT·ÌœTFá€œÒôÌ<ŸÌâ’Ô¼Ô"½¬Ä²DFÉ”TýÜÒý¬’D}TŒ %ú9‰yéúþIY©É%@#˜ €hÇ PKâÉ+e   x   PK   q€•)               de/mud/jta/PluginConfig.classRïkÓP=/IÓ,íÜggµÎÍi×ßQW`ÇP‚’É`2ÐoÙúZßÌ’’&‚‘ßD¿t à×”x“Æn¸MÉ{çwï=çÞô×ïï?!£‰¶ŽY¬j¸•ÅšNÌmw¢½¬a=Ú+:ò¨j¨Eqõ,Y4ÔMáŠ`‹¡X±Žì¶Â1w}oÀý@ða§ºÏ l{]Î0g	—¿¸ÿÆ>pˆ1,ïÐvöm_Dç„T‚÷bH­.7Ã®yØæ®ö…»í¹=Ñï0d$@1…tM†\Ÿ	ñ‰áUâÍ±Ý¾¹øÂíw¦aª)êx{‰Ì§ÜJ¢Ë à¤ªú|:Ãã©äSÅô=/ôùfáüZQt—0Ç šÄ¿ÉÏÃ^ûQ@‹Uò0q—@5{¸ŸÇ–éÔŠÀÃÒFÍ°˜6`ê°}WÕ¸K7R:¼ØÏØu¥Þ˜¡ú•Ô¾ËSì`•þ“³ˆ™†@Ã užN[è¨µú	Ø7BhÕc¶ŒÖa*Œ£p‹qWˆ£ÉÐ\®&µ¾PííVã3†´ó¥ßž@12#¨z,-#h;µä¦ž\×aæ‰RTN‘«Õÿ¾NâÚXC›x€gxˆ—x»ku'î,q\Eè:!)F%B2åÎã!%ö¾œxG72í¥óÆýÌÝ¹3/j\ûi¬½2Î›h—&Ú¥XQ"|3Î\ùPK¥Z¥®%  C  PK   r€•)               de/mud/jta/PluginMessage.class;õo×>f]NvvvFÁ´Ì¢Ô€œÒôÌ<ßÔââÄôTF}Ÿ”TýÜÒý¬’D}ˆ¤OfqIj^j‘µ¦OVbY¢~Nb^º¾RVjr‰5#Wp~iQrª[fP»Šqz åŒ&Â­@7‘‘‰Yîe±X$ PKMÇaæŠ   Ä   PK   €•)               de/mud/jta/PluginBus.classmO;‚PœEÁÄXKk)ä€ÎÂ
£‰‰ý6‚¼‡³ð Ê!6ê6³™™ýÌóu`„-f|ÁOU+óLjCˆ6IÎâjsQ)Nµ-ÊæÀZË‚ã0©äMŠZ6…8¦g&&¬¥6¬oÒ÷+ÂúÏ¦‡Bpn­Êx_ÖL˜†ÕQ„°üî4Ââû…	à /Ç¥.˜t8Æ¤c^ÏcúPK”Gìùª   õ   PK   €•)               de/mud/jta/Common.class¥Wùgÿ¾ÉìÎd3„°°Ðåê B6KØ$),$4 i0=™ì¾ÙîÎlwg!Ô£Z¢¨­¶P¤bÑxsØn¸¤Ô´µx_õÖzÕÁOõyg6›M˜ªýaßóy¾Ïý¼³/¼vñ
ª±W`PÀ¾ 6` 1\ƒxPÁÛx;Þ¡à
Rð® Þ‡ÅpPÆ{d¼7€:Rð>1¿¿Sð±ú ŒGü–q$€[p¨†à?"†Šác
Ú…ÀG<À|¼ŸÀã2žPp4€…8¦àI1Ã'œPð”‚O‰ÝIŸVð´Ðô”‚ÏðÏÊ©E+>'†Ï¨/Èø¢Œ/Ð†/°_ä§œ‘qVÈ;$Î‰ÕWÅê1<+£(c”AÎ¦)ÃÌ3„ºöêûôæ‚m¤›·èù![Hó5„•ÉZ&7m"òe¸Y YÝÔ±yÃ]½÷÷lèÝÂtyÓº™jÞeç3EŒSÚ-3oë¦Ý§§œÁ¿Ö0{C8R!ª'geyÎ6x~McƒÔn%‰vj—aòm…Ì Ïõ
=„+¡§ûôœ!ö¥CÉ2H›é]IÞœ)$›÷Úzs»•ÉX&É÷',sÐH1ÌôGÖŒt’aF%Ïå€ñ²WË:†<k»w>SÏð|Ùr»'l+G—³*;ÌB†çô›$Øª’Zm$‡IH'iêa’!=Î¡Ð#!Tt õý¶0Ð‡Àñî*ßvÓˆZŠÛ=c¡i|àN!²öŠø*´ïvC<¥ŒÐ£ÛCK"7¹ÑËz)ëÐûòÙ´a34xðµ{22’Z“çYÜeåhßN¿}ä(K)°Ë*ä|³!_ëF9&Pè*[ÖSÆypQÅ[qIÆe_Ã†…Ñ¨Ö;Äµ­Ä±3Z/O›ÜÖ6dIÓ„"Ï©¸Šç"D\Jmy¬E´r£Ökkº™t·Ën'Òv+{ g¤†l-’hÔZW¯n[¶¼¥¥EëÖmÊQ=¯uÅ´­…O7ÑQ.QÈkÝÜÈçMNvÖ'yŒ‚£ Ç6ŠŒ”ñußÀ7U|×(ÇnÎNJêÉNÝXä9aòuò©ä@Å5ßÆwT¼€U|/R’yd4…wœƒâ—âI,Îóô`FOò&Í´´¤ns/áŠpÑ1 ‰9¥¢›Ttˆa³ÞŠ4Ã"R=. JÝ†¼Y0“4}À¢Z4SZ,Sñ=|_ÆTüP]?Ù>Ê…ˆŠáÇ´h‹Ÿ¨ø)~Æ0ÏÏ7RCcƒ+W’Ö@Ôô94iKO
š±;?Ç/¨6i›â‚*^Æ/…s¹‘2­ÜDú_á×TN•ñ0ò=íÖ‰Šßà·*~‡ß«øþÈ°¸‚ï£
£Ú-©àöƒüÏÛ](—Nó1¼¢âOø3Ã´ŠLëõ“+Iøæ/*þŠbõ7á¥WÖI-ÒKnyH¤ä¯ŽIe'z‚»?ðo;ÂÄ— ¹¹ÜE³¯Œñ¼Í3¢Öv¹ëI7L›€¸žY3–qÅ&vis\ÐHÐÔñÓö´ž'KdÊ‘mN/^ü¬pHv­É÷w:Z‚¸fD*i¶ì%«ˆ¨:"Äùõl–›Ô³šþ+¹•KÜ2¹wÙdø²#Û+†jžËM2¸¤…Ð@áižq[zxBóŸø…</[‡í‚Ô2Ì$Þ>ø:þ¥l¦Çy§¸¨Éò%gF:;=­ò§¹™OyOðèÉdO)¹W{ {¹ÔëÙ¬ÎŠTZåá!Ÿysjùt«\˜Ðèý?–ÝÎƒ<­’°ô$OÒóÝVŽw”CCöÞÅ07r³úný;¡¬ÈQQ&tÑ(b¤Ý<Ÿ×SÜÛ)â„!@.-‡Ó'âÐ)‚é, OÕ $T‰^N«*ÑÎy³3‡ñflC§s‡ŸÖÔ¨hìª¯Ò>@‡£Kƒ¬ˆªó¨…t¾ ¿YÌJi®¡98Ú"Ô«˜ÒMg—P×?Š©Áú"¦5]@EL'ÊLÁÃ=³©ˆYÑK¸…ÈÃÏböørÎørîÒà<Ò ¾é<æw7]‡J|Á[‰ÿ,qkÛFØKË.`£×la\bq_X
.*âým~évÐnqˆt^òŸÂì°òK{ÊgE4Ä}#XHˆc:GHÕ°DC°±¬tXªäq©Â¸èÂ°ïÂ¾"–žÀ­c$MÎEÖY¾¬Kâ6—ÃòuìªP¢ùÿÆÁhôaoX.¢ewX~­GñtX¾ŠÖ Ï¸V®a#Í)A:…¬²ŒEe‹o’V\\ï„W®qñæþox5"¹‚áØk-þ•ý—ÐÖ¿t·bU«wŸ¥Ü\ŒíØ‰”±Ý”·Ç°„Æ•ôWî6„°
ó°š(ÖÒªuDµwSP¶g(÷‡)ïRÆ¡Œ”2ýIÊõãØ†“„x
=88G\W±7ÐKOu“°›Õ¡ŸÝ{Ç½l/îc£ÐÙE$Ø5$Ùpö2«æ#UÅP•‰íUû‘®z„$n#Í¤Oª!’Ð8«$‘~óIJ/Y±õ¸}´:ÂþÝx­N²Wé¬ŸþìžfÏá.ÒYÂ9v™¬Ù.³s¸÷ÂOljpî‡L:<†=Ð¡›ÈâjHJÜ­f4ÓLßEð‰œ8ã¼pŸß9Ì:ªª.AIU†AOæ9“™mOæ”'óÜÉÌÃÌñÉ_b^OÔâ®.zþ`üŽh}œzÀ8J¹x˜Üs2W Õa/9K Ñ—k	í2ÑùhÞLh>væÖPR®í®ZSÄímÒæ5EçI{B”·E¬ItCû"ÞÔ&…¤ãÿ|Å¹.b=]6k’þÁûñ8É}³p³)5(Å¢”b+h¿'(0O9®pµ Š•	‹t¬£Î:	P6<@!®&¬f'ØÝç‰ùPKŠ˜Ð    PK   €•)               de/mud/jta/PluginLoader.classW[Ç=#$VˆÅÄpDœXÆ²§-²ëØÆ8¡B¥%i›.Ò
d/’²ZÙ8M›—›Ôu“6:6¯Ö®úH[âÄ`ÇMâôåïëïè×ŸÑöÌî"„í°³ó¸3÷ÞsÏ½;ú×?þ5èÅ?Øã
dp:@ f{yV uÎ  ›~œ”3‹²9UÇñ=OÈ]ß—ƒÔáI<¥àé Z`úñŒ|?ëÇiùþa Ïáy?’{ÏÈæÇõØ†³~üDÁòôýø©<ëgrð’/K_Qðj ?Ç9¯)xÝ7¤¹o*øE=~‰·¼­àÏÈa¦ÑcÚ	-fh™¹Ø¤e¦3s{†²™¼¥e¬iÍ(è~¼+àKê³…91Rþ	x'NÝ_Ú_°ÒFlZOXY“ûkSiÃÒM¿‘Î[zFvÛ†–Ï‡“zx¡³´ð„Q˜Kgò›Ë¬’r<¤nòTÆš×­tB ÕÙ,…ÂR(ì˜JMûÒ™´µ_ ¦³kšFe“º@ãh:£fusJ›5tif6¡Óš™–cwÒkÍ§©<8šÔc4*F£bŽQ£Y-©KOZ:7úg+ÊiÖ<mÔ’Ig‡À`çF(7ÎtmTF5ÞŒ¶@ƒ<é$]Ê¹n©*ºµÌ áLaA75+•+ƒV¯ZóÀ²æ‹Ú×*†˜qÛPÁ˜xl¶—`ê)ƒÅlò˜—žåÛ+ã;žµŽd™äðbBÏ¹ö
¶”	–¯µšúœ¤’éÆ§D«»:«DÏ]µ#%;n"Ã Îš.¡å-h•ãÆô|^›Ó	ÍšmÎ£«Ü¬,8«$øw’ž¦ž_Ÿl¥jnìª²®*‰áYì“ÍÝŒød¶`&ô#iÉæÍåÔÊm*ÞCJ t+ì‰âšÈxÖ:¬§!ÓÌš
~¥â×8¯â .Èæ~ÙR1ˆ¸Àm•¢b/â*öÉÅÍI=JP¢%ê[ÅoPTñ[üNÁïUüï¯Qæ¸Š‡pTÅñ'V±„ÈJ¡C…TJr`«spÈ°]‡Üa‡Š‹ø‡w„NjùP&k…RÒ¥*>Ây—T,ã·—Åíˆ]¸&\CWpYÅ¼¯âc\%•¢,-`ªø*X~šËÜ,Õ5:R*HÛÃ¨Ü]õð/ødç#|ªâ3\³¡«àkB•ô`zU Ð2–=r±ˆ‡T|ŽC¬u7LUñ7ü}=åœ²½¬X±«w<<’Œ‡6Ð¯çD¨?Úêïëë‹õõÇúC}ƒñø={B†ž/æBd½’ÊšNQ)ómjÞÌžtŠt`N·ÆVs¬¹³«Ú÷ª¥Zæ0÷,ÏÃ†¾ g¬
!7û¤_w$ä—`õø*Õµ¥ê‚@}F_´JJÖXÊñÆy-?–5õá’*~¯^ÏûSŒÃtÓ,ÕÁt66Ao,ú¤k²Xh¹œžáW¢çÅ¢<C¸ÏoeW?™[ªœÌ0ääÈ CÞ|úqÝ6p„Þ‘ãkÞ5æuËÉ§ðl[W/Ë³ÇÆvƒWö9è|dCEëºå7äÎ›
Ø189bßX¤Mët¬FºjXrZâø”©É½·ß¨†3SiS¯˜‹Ýôë³Q%/g}¼*
ÜAôc€ý=¼OypÚð%|¹4þ
ÿY^íþ^÷½Ï~ûeÉ¡Ü½ò"ÆÑ²‘Â+3Û!Žöpà»6"VPû}Æa¶¾Am>êfOu¤p÷Ùw;x÷„WyÅ•²"+P"âü‘«¨›YAàê×ºj÷u´­ý‘àojXÆ¦"ûÝœXÓ½›·XÐ/oÔòÒÚŒ§°ì¤Qú§õ÷R·´«ÕÑíÚ%{#\g!Æ×ð€c¡háI>®ãRë2ãÞ"š#AïÜ&p›»{VÐ4Þ{rn‹À›ÿû7GõQZÙyÍWÑBë[›¶.ãönþ7Ù,£mwˆ¥ÞÏ±ítRCý2î|­½×°ÍÝÅÞl÷@{ésïRÉÙýhd;ÎÑC¨ÇQlÂ$=J×§Io0ÀŠGø|ßÆw‘„Æ›ú,žfïælö8î•@8‹Q›6²7Æž‡Ïêx¡ª'˜#˜ $RãQ¢GZ?å‹"îe ”ž"Ú\omGClzgã¾ ï2D¼6Xëû;fj.¢ý:›v^FxæC´QË™ÉïEì’ó»ù]öü®ÉetÄ• Â­35Šõrªë"qoÐ»¯-"WÊ°–Zƒ¾ÎAe½b‰Æ‡ù«èI÷}Ý.œ28NG®ä8ÿRÈã	X”;AÉSx—?ª.pFB—²å‹%èŠÇ®hƒè±{Ä>çm½<ùY†i€°wcŠÏ~Â—b¶~AS¨g7÷MÎf6Ï0€2çd Œ9h¨#TÂ»©2ížc,ž/£w]É¼:rà;6½%œãÞ¢Œ—ïÁî" ¼ŸX’2}LŒ±¥»Çezô
bH>«=.ÑÿSFÆv›/“$¯ ™ÝÂŸˆ[qŽuç5"{ŽµàuÛ¬ˆ£°dÖ I9KsZˆÌÉåá®v$HÑžÈ+g†lš;µ¢)B-^EÍý÷®À÷™¹Çµ¥ÖžÙ]Cé>`K5`žø®V4´íÁ±ÿPKì@Ó  ˆ  PK   €•)               de/mud/jta/FilterPlugin.class;õo×>f]!v>v~FþâÔ·Ìœ’Ô¢àüÒ¢äTFŸ”TýÜÒý¬’D}ˆ\@Nizfžµf#—kErjAIf~^1;ƒ #KQjb
#«F´“¦';ƒ Y^”Y’
é€˜4	((ˆl ^VbY"#ƒ8û@
ôsóÒõý“²R“K”Bž99©é‰9ŽEé¥¹©y%p‡12ƒeæë{úÃEÙ˜@€™…
,@>+¢Ù€"ìH"œ@.nd æ²™xPK%Ô»Þ   H  PK   €•)               de/mud/jta/Version.class;õo×>f]NvvvFöôÔ—Ä’TFMŸ¬Ä²DýœÄ¼týà’¢Ì¼tkF®àüÒ¢äT·Ì ž°Ô¢âÌü<=BF¡”TýÜÒý¬’D}¨#ƒ Âÿ¤¬Ôä6FF&`daZÏb1°I&6 PKJ!Ñ~   “   PK   €•)               de/mud/jta/VisualPlugin.classMŽA
Â0EÿÔÚjEÔ^Aš¸\)
‚ûØ¥%ME½›à¡ÄÄ‚8›÷ß|æõ~<ÑÂ½Ý	a³Ù+›úX\­T„ñt¶)åM
y7bUWçZ³6KBÿ§nY[Âè_ôÈ9É¡¶—”×…b'4•ÍÍÂ«„IÆ¢²™(ÿ1aøíRRçbw*95ÀO’{;Ün#r„{ŽÎPK¾MÛ    Ó   PK   Ž€•)               de/mud/jta/Main$1.classmRëNAþ¦-ÝíºrYÊÍ+
H)—PAŠ¨ &U~”hü3´SX²ìâvZãx{ŸÀß&RM| ÊxfwBiÒ3sÎùæû¾=3ÿýúƒ$¦±f ãt#§Â„
y“:0®cJ­Ó:fØ¸«ã¦ŽYUš30{:îkx aAÃ"C¦ÁÝÑjÀ÷Cwq7¸ÍßK{]U
Ô.}ðä®N™AWÐ]¿&¬éroÇ.ÉÀñv
qÿÀ¨Ÿ^v<G®0,äÎs¶Ÿl¯Ll1¤Öü
yê*:žxUßßÁ&ßv…ÒöËÜÝâ£ò¸˜’»NæÏÁšËk5A•ÞbEØûõŠ½'¹ý’;Þè,YMûžK¼ÉœÒÒüj5Ê’_ÊbÝQ¤…ŸQîLaÄD/²&ú1`býç¯Ö«U0tØÒ°‰‡XbHÌÍk(˜XÆ#FÕ<ÖðÄÄS¬’Ýz¢ßÓæ–®åTfc{O”i¾c-0Ñž´7Â*I.ëµ¢S“ÂSFÒüà@x†©ÜSn+Eþg$£Q‰wuîÒDûZ©"C…‰7týÒ?ÆfsíÜÄÚyö)Ð‘š›ŽT³î»Èà†ée÷Ð­Zôî-5Ú÷Aý,u-Ù`K–¤ÿ®P~•vo‘@ŠÖlþ,?yˆD~êÉüô!R?¨žÀ5ŠiBŸqb>Âãn…|ÙXYí”j"Ü)Å$Uoc$VjÐ9…zžÿ‰Äot¼>BÚÒšÐ)OFKÊÊ4a|ƒn]úŽ¡cŒ7iiâòqì<ug„šñŸB‡f¤;d=ñ°HHÕ3”«ë–/Èàk‹³$0Æ;4uU¥g~½þPKîÐ:;}  x  PK   Ž€•)               de/mud/jta/Main$2.classm‘ËNÂ@†ÿáV­¨€Š÷Ë‚j´ÆÄ•†	Æ¤^®‡2Á!µ5tê“¨ßÂ•Æ…àCÏtÓ9çô;ÿùÏÌ×÷Ç'ÒØÃ¦Ê6±daÙÂŠ…U†Ü‰¤ª1¤«Û-†L=ì†YWâ"¾k‹þ5oûT)¹¡ÇýïK'ÅŒº•ògA úuŸG‘ ÊœÛÎ]ÜqzŠ;ç\•Ãc†â½wepJ¹è4B/&²\E¯p¬äð˜VÃÁo7ŒT¢d7Ã¸ï‰†ÔÎ&õÐýàyä`YXËcäá1†‚æŸ]ç²Ýžb¨Œ`âAÊ1SšŠ«8re¤­K.ÆÔÈ÷<E•ƒ®þ»Ü?5lÑeè³ EÐž)› È¡“®Ù7°W
R˜4€.>Ã¦o~ `
3Ð1‹BÒ\£3¥éÝw¤n~»mS}¤ž'£PP‰‚ŽŠ(™ÁsC­#Ó¿&^F$ØP‚%)Ì~Óf03û?PK²Š®}  ™  PK   Ž€•)               de/mud/jta/Main$3.class}RkOA=Ó–®‹…ªà¡b)ÐUñ­11$$E5%úmÚËàv·îL‹ü'_$F€?Êx§Û”‡ÄMvæÞ;çÞsîÜùýçÇ/$±„6N!—†+f™¶0c#…œY\µ1‡k6ò˜·QÀ‚…EKé÷g•ÐíÃ™²'ÜfÛs75wKa³	QÙô†Ð²ÞC¿xS0Œ”7y‡»|K»+&BÐÁG2ú1Ã\þ„RÇñóU†T)ô¨V¦,ñ¬Ý¬‰è¯ùÉ–Ã:÷«<’ÆïSzC*08«A ¢’Ï•ê˜ò5.ƒÙe’3¼%/Ü*ù¡’Aƒa* AtD Ýõ.à©±»r’¢£&þc°+a;ª‹i$¥[ÑàŒ¢èÀÁ°ƒF&iŠëTÂú;¡_Š÷m¡´×ÁuÜ°pÓÁ2nY¸íàŠî:¸‡û£ÿ4EÚN”öÄã--"j oÚ?”øÂo7dP¹gÎÓµˆ¬:WÔfñÈbÜšPŠ7h6ñø<h¸Ïk›¢nÏö¹i¢­0 ~ºz<U©d< üÃŸécy–'U+TæÙ®l+-š”%>Hm’Wç«ÈÁ¼b ¬¹Kšõi˜/k.µï%è¥ž¬5ò“´g
û`……]$
‹»Hîtgi$ ðçhÍÅPŒáB·T¦Gc,C‘ û".õJ7mÈf
ßø‰Ôë}ìapÜdr–Ù÷0”üŽôÝhýDå>c_0‰¯˜ÆN—~,.×§ŸÁ.Y‚P&
çi·)bwÏ‡þPK
íáV  ß  PK   Ž€•)               de/mud/jta/Main$4.class}SÛnÓ@=›¤ub¹ô&è¸MÍ¥ð@ª@Šä–Š "$^6Î’¸$ë`o‚ø,$J>€BÌ:	m„%¯çrfÎÌìø×ïo?‘DL˜¸šA×ôq]E7LÜÄ-3(™(Ã6°i`Ë@…!3àb$T¿Ç0ç6…Óí7#ÅÝ Ûd•õRµ…ò=†´F·ƒH1Ü#>àN‡Ë–SW¡/[Õ‘¿„äŸ}äK_=fxXš’ö|ðyKù!µ4CÖõ¥Øïw"|É¡éwyèk}dL©¶1€ÁªI)ÂÝ"élû²¸CÕf¹§ü@ˆðmvE“a½4,ƒPŽ©œ'1ä©–ã‚’b@Í­üÆ`Öƒ~è‰g¾.*£ù¶5ÞBÛ,\´EÎB9†µ‰Ò†Éê÷N¨â}_DÊ€cá6îèà»îYØÁ}†ü¹†rã>o	
]Z§ëGJÐ|¨’n*?¬I%ZÚ“îñ0¤2,”¦\NaqŠ½¦ó-MwÐé·|é¼©³f!I×´ýÏbq{"ŠxKTËîÙ^ªØ e6én/ÐªôI¾ýô8'´ü„–ˆ-s¤Ï“ô†ô}çí0{ó	{ëI»rŒÔ§½@ç,¡S,ÒiñXÂ•8ßüˆYKš5Kš1IÖe¬Œ˜êô·iß²ý‰SÌ¼¦o’ÞÔWÌžÀø‚ô«1¡C¿Å˜tqú—t«X£Ä	¬Ç1¸GÑ@cúPK}q¨C    PK   Ž€•)               de/mud/jta/Main$5.class}R]oÓ0=nK³„@»6`Ÿ@®ˆå‰§¢I¨”ÁDÑnré\R§ˆŸ…L		xãG!®Ó	Ê˜°dû~Ÿ{lß??}A·pÃƒƒu¬:Xó8¶âa6\vpEÀÈ¤•“)^	,†1ã"FF½t<Nu—ý·ÚQ‘@ýŽÒÊì,µOÀníÔziLPizTŒ”=•ƒ„#aÉd_fÊúGÁš9P¹ ü‡ZSÖKdžS~LÊ®Tºu›¥4ddTª÷({‘fcŠ6ÚáHNd ß˜€&¤Mp·„Ü³v)¨J#°ú?˜€×O‹,¢ûÊŠrm½m‹÷áãªžÀúŒ )E?^’yB¯Êƒ–k¸.0ÿrfY=‘z<Œ(bEk'

Unˆ‚u·­úå²½¤*¦2¶yw±Éœ¹¶ÿú)n—ò\©»¯ÝÅ&w„Ã>ÇsÁ^÷Ó°£ÂÓÇöÏ²µÃ¾xCˆÎÍ¨¼+1^ëŒ¾¢ÉëÒ…yœ+Y¼#Nóœ›r=àî³¨fç=*ŸQ}~ˆÚGœzö‡Ñ+óßØþ>ÃÚüÍÚÄ2.0[Ë3—°Xžâ¶,ós¿ PKnûW®Ð  ø  PK   Ž€•)               de/mud/jta/Main$6.class}S[OAþ¶-lYJËMQ±-•õ‚x)"µrµ…&4ø¼m:Øî6Û)Äßá/!‘šø`|òB¢1þ ã™m)4n²3çœùæœï\æôï§Ïðâ.¶5p§ýË%¢!ŠY?bÍi0pÏûà¡Šy° AÃc)=QñTÅ3q=‡fiºÊD­¢`0U`F¹V0„i$írÙ¶$bç%ŠLð|½ç˜e¦` u`š†y$ŒUi!h÷"·¸XR0îàê">²«À—´ä+âÛª•sÌÉš¹YB);o–vM‡K½iô‰"¯*€}Ã²˜“,™Õ*«^`ž6¹5½@tf^pÛÊ0gÏvÊ¬ `"|N‚2K	²"e——
×ÿSà¯8Ü›vNFn!3M#´»æäÙ*—¬{$¡9	Ó1‚EA„taXÅsKxA³Ì)sË,©XÖ‘ÀKI¯°B™nf“çÇ«:Ö°Nõi…¥êVl‹ˆ©ØÐ±‰×:RHëØÂ¢‚à¥ºPãÜ«%ÓÚ7¶s,OùŽwL7Å«‚Q™©*aY›à¥ž*èÛg¢Å€:1Ž4*R¼d¬›Õ¢½£šv0“gºïÎËERñÈeµ´Eô·
ö•šdm»ô–“Ÿ¡³èÑ´ÆÏ2n³)è¥k™VÓá‹ÃÙ|Gn?Þ–VÆ±+ÌœUã‘Žý^26"®9f¥ÈóT§áv¦gfºÙåŽ–‚‘p‡ãÆ€ZLÒ‹Ð3€!9O$B~!9X-ÍCÿFI¿BRšt/íèG(ÑÙx¢±x]àUZ»	|Ç­“(®á†ë*Ð#%ÂCò¡®ßÃçâÑðÔáuÕÑýó¤zëPåò+uz±oð·£¾@‹ÕÑ[‡N[ß9™1¢ü p§˜ÂOÌàñËøÓF0Ñ"˜ ÔM¢3E´naš¼xpÛõ6ƒqÚ5:ëw‘þPKEg´Þ  E  PK   Ž€•)               de/mud/jta/Main$7.class}RÛnÓ@=›„¸q—¦m¸ÓÒBÓ’Q?ò ª„***™‹”*<oì)ÝÈ^Wö&¥Ÿ…ñÀð\>1k¢R.b¥½Ìñ™3ggýéû‡¨â.º>ê¸ÖÀ9\÷±„e7°âaÕÃM·•´÷s•’À|8R¨#ì8ä>î{@VGõÚh»%ÐêüIìjÛYÌ"ÍPz:N‡”ï©aÂÈb˜E*¨\»x
Öì.  w¡|;QEAŒ´Â˜‚t#«‚'J›ö=öÑT‘Õ™yNù~–§¬œ1A26xXR¹si¨J+°ô?š€ßÏÆyD;Ú™j¸z›Ž/1‹5‰4<´%Ö±æaCâ6:äÖ•Ee^Ï†#Š¸ðò?ë†º°Ä÷e{g²yÊz¡Mœ	x±.³‚~ísZÊm£WšµkÝî «üªuî ÇsÑyåÝ‡ž³ŸçÓÇñ{'½;oQy]ræxuùÀg4y½ô“…y´Jª)p§Zyw,Ù{ƒÊ;T«ïQû¥6Çÿð…}åúßÎ¨ÊSUÉÈåRåJ™w•½»Z‚oãÆÌPK~ê¼  ¼  PK   Ž€•)               de/mud/jta/Main$8.class…RMo1}Î¦Ù6]JÓZ ¥…¦eƒ7¤ $„´@%¢Ü]·8Úx+¯7ˆŸÒŸÁ‰ÂÁ•ŸôoTŒ7­ ÁÁžñÌ›7Ïc=ûø	î"¬ÃÇzWqÍÇug7æ)±éã†-Ûµ‡J+ûˆÁ[}†j7K$ÃåHiù¢¤é‰AJ‘¥(‹EÚF¹ó4Xµ¯UÎ †à™ÖÒtS‘ç’"ËQ"ù¨HøÐ
þ\(Ý|Ð!V[•é}i23’	ÃVÅXpñÆr9–ÚòÇ%ä‰ó;N'Ç–aã_0†ú«¬0±|ªœ¨9×ïžÃ˜CÝÇÍ ·°CÍ.hê«¼iÏH³Ÿ‡Jhb7Àn34þÐÏ°XjH…>ä/C“®Í¿ÊŠTn%ƒnüIq,ó¼Ùn·VÃÖÅAMdtÎA÷h‡@¿Ú$Â
;UÍ»©:dÂ$TR³£·Íð¿ØVÛ¨ÑÇ`˜P¡Ec¢Ó<yœ,=(fî¼{W¦Úkeð.ÑL X@îé—°<-îÚÑ­Ÿ òÞ1ä|†w‚êÌTpÎ·@¿øN`§%ï•Ií”×y+X%æ
e\ÝÉ:¡µ2?ûPK›^ý|Ë  ç  PK   Ž€•)               de/mud/jta/Main$9.class…RÛn1=Î&Ù6]Ú¦Z ¥…ØT‡G”
	E !-P‰(ïÎ®[m¼•×¾…Ïà‰Â‚Wþ„Ë7 Ž7­ Áƒ=ã™3gŽÇþòóÃGx¸‹°›\ÁU×œÝZ Ä¶ë>v|ì2Ô”Vö!ƒ¶Õ^–H†¥Hiù¼¥é‹aJ‘•(‹E:F¹ó,Xµ¯TÎ †à©ÖÒôR‘ç’"«Q"ù¸HøÈ
þL(ÝzÐ%V[•éCiŽ23–	ÃNÄDpñÚr9‘ÚòG%ä±ó»N''–aë_0†ÆË¬0±|¢œ¨y×ïžÃ˜GÃÇ 7±GÍ.h¨¼ißIs˜ÇJháV€Û¸ÃÐüC?Ãr©!ú˜¿ŽdLº¶ÿ*+R¹•4ºño4$UÄ±ÌóV§ÓaXÛ5•Ñ=Ýw =ýj“+ìL5ï¥êd˜	“PIíDPS†Vø_p{€]Ôég0Ì¨Ð¢9Ñi<N–^µýw`oËt@{½~Å%Úƒ) ‹hÂ½ý
VgÅ}B;ºÍST>Ã{ƒ&9Ÿà¢úµ
Îùéß¨ñwlàGÉ{yZ;ãuÞÖ‰¹BW·e²Nh½ÌÏPK9VÊ  è  PK   Ž€•)               de/mud/jta/Main$11.class}RÝnÓ0=NÚ¦Í"Òu?üml@·e–î4HHLÚ½›x›«ÔA‰Û‰ÇBbLâ‚à¡Ÿ½j“XE”Øçûr|Î±“ß~þ‚‹ØöÑÀju<2Ãšu<öðÄÃS]†ú„çÝŒa>ò	ù¹ŽßJž§/ZG_•>Z¦}&«nßÃ‚J‰r?çU%*†Å$ñhœÅCÍã.Uw·OWRI½ÇE³·,·jûE&ÂD*ñq<ˆò3äÔé$EÊóc^JSO›5k¦ÿ.ù‡<Õ²P‡¢<)Ê‘ m®E7¦b"”ŽßXÊ;ƒ­¿+&šaå4ÿ¨—©x/M†–1Ü1ü ml˜C ‰–‡­ 6)ûíxmk‘suEJ¶«3]YiAÇ=K§O‰#“;üç0¼LV_ŠJÐ¯ÓO@8è˜`„}˜«c²^W=mÌSÝ!t@µKsØ»ë=»€Ó{~÷›%.Ðh$Í½HxýŠŠ%,[©p*l1tßÅ½©ôkšY³÷îÔn4}Óg•9VwùŠw­ÛÄ}<°«Ú5+¸c·á ˜¾¯ÛPK†‚2¼    PK   Ž€•)               de/mud/jta/Main$10.class}T]OA=Ó¶]+•Uñ´QÔRZZü@D¡ˆŠ[T |›n‡vq»Kv§ý3þ¥‰$¾øæOR£ÞYª“ÌìÌ™sïž{çÎ|ýùé3¢ÈcQG†8‚†bÃ:Á7â¸©áV·uhÑqw5ŒÆqOÇ1ŒhÓÑ…qµ¸Ç„Žx¨ì&Õ0¥¡¤aZÃ#†ÄwúW}Þ'Ì5¾Á|Sf2FÛo\YÒ¶:Çm×–'3‡‰K±’W%')ÓvÅ\³Qþ"¯8„¦gqg‰û¶Zï‚1Y·0$Ÿº®ðKAÈ)³*
fµ°&y¡Ìm·¸HBRÜ’¶ç¾þªç7D•áÒbC¸²0R©y¨(*6$CïÿhŒ\uïS¦mîx5Â;,ÇÄ_{SM)=—öô¯é[bÆV‘$”È!EJâf’8‹s¤÷GâMV¼¦LÏ.N*ÞcÊg‰Ÿ¡kkòŠpFKÞúß®Õe:c¤‡GGGò7ŠÅbºÌ%åi3=Û¬	'Gˆo5ƒtYØ_ÞQ•ë'ž&1‹gUìh§°J;aG²<¬lÍ$Ê˜#E(ëž'ñBÅôóI,`¦a‘*'üÃÝZáyeMX”ö¾¶Y7í@
WÍ¨#ºv¤”Ì}WÒ·ÝÚØ+E<9º¡pcÏ¼ä¹’ô„¾y•Nu¼‰y€ÞX÷Ü°TÚ™L»J<R)JD7ýïp|—ÿQž¡áþù,ÛnÕÛ¤{±Î­×t)!çE`¿Ý½-™0	± îm"MOA]œ3ÔUmô=Õ"Ô/ —Ö}4› µBôl,;ø‘÷!ç"Ä¾á=;,ò{%ô¢ïúdèÇÕ]_Ð}ÍmDW²1b±:Ê9£sÚŠo!±}yÇVŒdÇçòÛèZÉæZHmáDÎèÎ«íÜŒ\t'irj_Í5$hüŽ~¢ŸÀ/Œ°&X¦X']ª9ªÍîèØSk’õuR™Â82d¡~™XƒôÐEÿ‘'”«eNµ8½aûPKÝQ>  e  PK   Ž€•)               de/mud/jta/Main.classX	|åuÿ¿=4£ÑÈ²W–ÌÛ¬lKÖ±¶|¯ð‰e$Û±ä‹ÑîHZ{5#ïÎÚá† 9œ„4˜„Ëc’•A)ÐPL“6¡M“´@B“6¤´)W“¸-¤ïûfWÚ•Vôó|³ïúÞýÞðýŸy^4Òc¥¸?ÔðcüDÁOü“†ÆÏ4øñŠ†Ûñª‚Ÿk(Å«‚ì5¯k|þBÅ/Çó/
~UŠ_ã_Uü›†ßàMAñ[ÿ®1ð-ÿ!ˆþSÁï4L2§â¿¼­a:^QðŽ‚w5„ðªŠ÷Äù¾xü·Šß«øƒ‚?ª8§â4¬Æÿªø?h˜+d|ˆ?i"•<*yòihfqä×°ˆJR4,¡R4*SH×°¯
L¹F¨¢Œ&Ò$…âG¥B“UªR©Z¥)*] Q¦
‚š¦á2šÎ—Ñ….Ò°™A!•fjh—ÍÒ°•.Ö°jš­Ò~ÊµÒ\…j5ì¢:œ§R½B:¨Q¥&•Â
Í×°Ÿ¦«´@¡f-dé´H¥Å*-Qh©†.ö-Sh¹†¸«{D¥*­Th•ËeXÍÞ K„‚—ŠÇ…Öj´ŽÖkphƒ0~£B—i8&dmb'R‹0y³J—«ÔªR›J[TÚªÒ6v:}B¥í*íPi§JW¨´K¡Ý
]IðÇÌÎt7;»…P¾Î¶RŽa9»ŒDÚô‚ÿ#è}f2e[Fb³qÄ`ºÂ„.;šN¥ÌØ¶Dº;n*[cf¸7tŒ°\A(&â}¶‘Œf¶dö°qÔ	ÇÇp’†•ê2“áu9¦¯Š&ŒTª&fÖ°¨UÓfé“\Þ„au3=“Ù;ú-§ÇtâQBÉÊ¸wV¼µu»¾uvÌ$T´Æ-sKº·ÓLî4:	´ÚQ#±ËHÆÅï,ÐçôÄSâŽ<Äµ|‡¯W^_]»'ON2nu¯Énf­,‚&(vŸgw2¿‹N;ñDx[Òfw:qSØ@|}•‹ŒÛá–­ŽEMÉÄ8¿™LÚI¡sÙÞhGÌÓ5Â/ñùü¾;åðÑg'ùðw%^¦ž8…".J™NºoT×Ù½½RLyÔîí³-ÓrZãB^Už-›ŒT#œ(¤X,m’‡ß`¥{Í¤‘SÈ’Çkòˆërâ™ÂÓÛ9l¯Àµ™Vz­‘¼]ñ„ŒhN8Âé•ªÀ[³W0™±8k¬ö2ÈUÞ×c&úDBÉ”¹5žUµÅãS,èÅ‚Aœ"%næf×~4W.}=Çæ‹ÇÂ¬ÑØ-¶³ÑN[±ühjF4jòóç7jk‹T[]Ñ
áãëªj?šh º¸¶îcTª¶ÃN'£æF–RQ.M‚IÇ—q§Ž/âK
µëÔ³„ÐùÌ#Ì!ÙbK¢õf—K$Š@¡=:í¥}:î¢ýüÀ	N¡b!Óñü§IÌlb#›ØÈ&¡šŽ…"„óŒ™]F:á4Em«K§t•NqúU©F…¢:ÅD±NgÖH(jX–í„¶åËQˆEu¿‹v:et›‘Ð(mB{û¤çS!÷Lpnîc¨‹¹€,\À„Øxw(L°“D¨c&{Cñ¿Š"í5¾oŸN='”Éh¸Œ:¤CœðÒ(ËtÂWloÕ)A½\¨9CE[¬¾´ÃÙj½96nb£Ózmº‹³‚çŸè\¶N}´µÙaG™N“Ûr¿Ü¦4¡°q‘¢¸.šêt˜X8
)”ÒÉ¡´BGt:Š—9I%aª?Å•2!7ÙáVÜä‘3ÛÕÌîëÍ	õL²­Dèhœ[¾âéÚ¼sá¢óä;Û8¦5Š\<Vˆ~¯á‚Ö[,ËLÊ4)yõ+tµNŸ¤kŠÐ7ët-]§Ðõ:Ý@7*t“N7Ó-Ü¨G»[§OÑ­ÜÇvN5	£ßN;M<e¥É–r!¡>·6úCÜäC]v24—Êÿü\¿NBŸÖé3t›N·ÓE”[(´ÿ¬NŸ£Ïç4ÊëË<
@Ü_Ý~PU ÞÑÃÁŽ¦!ë:§/ŠœÝ¯ÙÞ=,3ê¾TD™EBÀ—uº“¾Âýg}<ué‹.¤Ü¨‘-ÝÆÞ+F´„õÝp,^µTðU(r— ’c„—Š¾þ"´ËÄ"·Šà–ët‚®cÞMrîø×t²×9†c’f¾NwÓ×tú:Ý£Ó½8¡Ó}¢ÉÍÈ#4p¨Ãnýl7§Í”£Ðý:=@'…¶êô}ƒ+cËvïIk£XØ²|ìëÆ\x˜tz„åÞÖO¥8Ñ¸RD5r‘	“¥ä9šk[Ì>ü6c¦am¤­q<Dkø&Ï„qØòhý²ËqËØÉGœ·Ï¦8â…ã0º´•iëeµò°så8(pwAqmí<(s¨bÔ”b#YðÙ–òâÎž¤}ÔÝµnÓiãvÃ=žÇQmÑÕ ªØ6À‹ce·bJÎÐ5©\ã­wi¤G‹åFtZžiµEñâŽü"%oK¼Sæoœ²4†EV‹X‹_	KìS²Z|µ-B|›¼\sÎ³ö{Dc+'{Jíxæ•}LÇ6|,Áî,b>Õ±]‹àd7©QApã½¢®#rÑ„vÇ­˜}ÔéNÛNvNÎ_„²Ðùmp˜2Àl®‹óFFpœ­Røniíè5|¬‘ÅgÊ˜ý­•ó@Œáê¤ÙÍ‹„™Ì‚Å»%3Šl‹9¬”YÎê“T^TÆ,ù•EÀœ‡Ìþ”0¸nÜÝ¿ª(‚“È29f¯c…E”g-ë7*ÃrQ,Fž?!-‡ë]8ÁË…°²H2û©+ä„é1RmvÒÌ*œ’ß›Rµ±ŸN£#,<=‰µpsm$<³òrÁmØ…’Ñ_ÛÒ!‹ŽÇxnž¦æ±æOZÉR;
)?ŠêŠÀ‘ñõ?F
›ÖDE8?Ê¦B
ÉX]ìVÙÇT‡€†FÙ3ÚQü²#[é”ë(1tÝ½$0†—j)—Zn2U£(Äg§üÂï3¢¼@ûR=¢?Lñ@‹å˜ÝÂVU~L¶ˆü-Úí[¤¥cà²‡–v&¹z£†ÉMEÊ4;^Šç¹–rŒ¤“ÚÍËì8WsjzûD¢,+R;³šÎSvý3qnàÇTÜÏòöþ9þåÁçù÷p<ï·&>ù]_Œ|ªâÓñ_ÿÏ	
¿ñg?ïæ_añ ¤Î„ú¤ð5~–H`¾ÎOÝ%À=¸—ÏRÜ‡û]fÿûL7ðžBiû ´ÖúÓ({	ýÊÛŸBÙ J˜AE ·F P™ÁäúygPÕÖpÕi`€@Tóé=ƒ)õ2ni<‹5õC˜ÚÞ8ˆ3˜&E„#>†M°0#âgÞ!„Xƒ™Y\ÜÈÿ2¨·f³ æÌ§sÛs”µLô‰‡?P—Á¼Põ˜’Ã7HTN”x¢1R,É )ƒðS ÌŒ(BïùYýð9„æö€>ˆ…L0„EíõƒXQ‚Ê–´K‚¾ K3X& Ëù¢ˆ|Ï`EDª¬Œ”à¦`éÓXEx«#ZPj\ò<.”Õç”[#”ÓrÊ_B8ÏksÈÀºaOKëƒelØ=ÀÈ’ñ¹$âúâ?],ÂeíA%X2ˆM´a3³]Ñ†ÐÚhÄ–HY°l[Û'nòb[Ÿ?··vbg{DÏàŠÝA}»„iüî®ÌÒ´Òt0Í öŒà÷2^"ÝŸû
É÷gõ:0.ÃU…F» ïäš04º[ZV”Ë­(—ÌB	]¬q·àw±=…Ø8cºÒË…tÖC‘	Á	Ù°^”Ö
&š¬m•Ä9Ÿ¿&•J¥*‚òžÞÂ{,i‡íÞÄ"ú8¯8„‡Ej&Å#%’Ëiþ>ƒô Ždpt·€cûÅ'áã¶0u˜„Ä‘àÓÂÕ¸á-üçø”€faW}SïeêýhÆUX+Ñ‰uˆârtc+b1U‚ÿ,þ³YÒan3iîGðŽ±ÔkXêuäÅõT†h
n¡™¸•â8]‚{h#î¥6ÜGÛp?íÅÔƒ“t3¤“xˆžÀÃô2ã~†Çè·ø6½‹}€AŽ§=3ðŒg>žó¬ÅóžmxÑs g=‡ñ’çFüØs?ñœÄO=§ðsÏ¼îy¿ðü¿ôüoxÞÆo¼¼é€ßy«ñ¶w:ÞñÖà]ï\¼ç]ˆ÷½ëø½ð^‰?zâœ÷i^ÖÜ{+Uxï ‰Þãð>D“½OR•ì’obŠè„x 'EËõ>Šñ÷É:î˜ßÀÃìÍeÞ~°/<ØåÝƒGùÍËÞjXûëB|qŸ½ß;	3Ö‡G¼¥øs~óã-ÏYüžà~{3˜ã1(4“í;…'ùm£çNã)¨Ôæ‰á[ø6JÙ‡)d˜WcOvcgPFïÒxÏ0ìºCøÊ<S)¿Ä³ÐÙ;/à9†•³/âœ¤Oa{b¢”RÁ~hÂ_1¶‚ÇÊw™RN úëæçsw•wµw‰o€fÖWùšWË†:›ß}W5öfðÉ»1y^à‚ú[|Äø®á>ô^àÚS’úºâÔ×P¿¸Á¥¾QR_Z@fêlKfº8p?ÁE–ÁÍ²Á	A×nq}ªøµ·\»%ðéSÓîFå¼€ ”@ßª,vS¦Køœaøj®ñ\cýß]ŸÕ#Û†OI¹õÏ>ðáëtjxÔv!È¬fs`æ šæ¢†j±˜æaÕc=5`;5"JatÑ|$i—O3§Ex‚cˆ–à{´¯Ðr¼F¼A+ð­Ä9ZE¥t	Íæ¿0­‘IºÈ–LMÈ7‘®Ë~œwkÑÈ)wœSSáûÿš÷Ñ(^ÄYÆ‰}ac<|x~{OµÁß^Ÿ·#å¹ìšàgŽ±KDµË…—8™U9þßÞIT|›½a>Ÿ‚¯dožS±’”°4±çädü~•1MâßiWHÈÑÿ/¥§ñè=ø{ùüRùÜÎe°$+gyö¼,{îÊžÙsö4²gWöŒgOË=ÿPKP|Y.	  [  PK   Ž€•)            %   de/mud/jta/VisualTransferPlugin.classmN½ÁP=Ÿ¶Jlb²¸`”˜$$¤û×öjÚ\mÓÞ¯fð JÜbcøròœ¿Çóv‡…9ú.º.<=‚æÅ•0™nR>³à‹kÖ%gÕQ–b¥’"È¹Œ–3Ÿà\iIðöy]†r(óŒü¤ªY¾–ªã$[4q„q$Å©ŽDªYü“ï^ÅY,¶A*CMþ˜>â6Ð2ghÙf<À`»AÃ»ÎPKÐœh­   é   PK   £€•)               de/mud/jta/Applet.class:	`åÕïÍ3™,ç
(¹Hj VÎ‚’ˆ€@ðœl&ÉÂfgÙ‚ZëYŠÅ£ëYàEa#Æû ï³Þõ¨µZµžµÖZÿ½of7³É ò™o¾÷½ë{×÷¾	}wç=àƒ‰Ò´"èÆ}ø1–ãø1žûòc?~LàG?ÊùQ¡‚Ž•2VÉ8QÅj¬Q¡ÖªpN’q²
q£íÏ)ü˜ªà4•Æ<ibœ:§Ë8CÆŸ©0
'1ùÁüösáq&?f©0’YÄÙE8ç*8OÅ_à|(x¨‚‡1ÙBëUlÀÃ‹q!ãbf¿„!Kr¤‚ËXúrW¨0\ÉRðh‘ñXSaË™Ç+¨+Ø¤`TÁf[T¨ÅVÛŒ©0ke\¥Â¡¤2®Æ8slgY	M“\£`JÁ´‚–ŒŽÄu*®Ç7¨°OàÉ‰
ž¤à/e<Y…cp’‚¿RðOes¦àél¦3d<SÁ_«xž­ÂáxŽŠçâo<OÁ
ž/ãoUhÇMì‚¼PÆ‹¼X…5X«àïü=£_Â„›U¼ÿÀËd¼\…,ð
|¥‚WÉxµ
'ãy~‚×Êx
§±/¯W°S…3xÇ[T8oPá\¼QÆ›x¬å•›e¼E…´A‚\#ãV6á:ÿ¤à­2Þ¦ÂÅ<Û&ãí*\‚Û™ï³
vÉx‡
—óêNïTá*æ1»¼‹|·Œ÷¨p‘Ö÷*xŸ‚÷Ëø€
7âvTáf\'ãC*leº»ðaw)¸»ÁGe|LÅÇñ	¶ã“ü˜Ä±ó”‚O+øŒŒÏÊøB ÙhÊ´"à„~³ÍDÚÒÖ2=ž1|@Ô–”Þn,Yq!´p•¾V¯‰ë‰Öš%V*–hŽP¬'“qÃšÇxƒm}UCì,=–0R„$›I+Fì†Ø+¯Y”2“FÊŠiBÑ’ñLk,±ÐÔ›Â …ÍFM{¦¹f•¥«öv3AHþ63mÑ4S4¨Í±tÔL$Œ(Mp%‰ÉÏJ{–fÇÍ´±<–h6×!”´˜ÑL:m4/ÒzÉ±$§(%›L=ÕŒ°OÏ–šuK·Rz"Ýb¤jfçP?h&â´U„¡Ñ¸žNo6ÆÏñÄsüLa„.ãÍf$³¤#aµV,J†±)i<#·-L¼gÄ1ë`_Yù2Úûl³™õ_Hò2íMFj©Þd{ÇŒêñez*Æsè·Úbé^»´5bk2c²á•º´›»>jwŠ/“Š“ÕìÕ„aÕ¹x!%cÏZòœ‹t
’%E	æÓ“l—³ç&2íFJÏñ]mtPÈEÍö¤™0ÖÂûµÔ…?_O·Y¼	Â$(¸ˆµ?!‚£½ÍaÂ¥NYKõÄMI[fÒ~D9òN`ªYËªH¦bkcq£Õ¨×z+_ÐHØæî2KÊh‰S8ÕÔV›ÉN—¤GÄ…Ñ`
ÇÎ1Zæ™™DóÜTÊäà—Ú›ò¹Ã’ëDf–Î+þ–X\ø²`Ícµ'Ùkð–ÑÎDF3{Mi'm¶€Ø4­ð†i“Iö„a©Ã×©TŒÃ%\æwQA;òö-ë›àåa+­¯å…ÀØÞ«¦eïÝCª$ ¶–ÈÊË<B±Ü»jä'1a™7¡W•ÈÑMfº	? °°’åÈög²ÜdŠ{2•'•?À°oYË‘Nûi{ÈW ÝL7íGŒ¶Çº”ãr`ídÊF/.+ËWö ÄÂ†x
[éÞ
1›î…å±“=ìn‰™IEy"ü‹mêjÞŽOÁ<Ïgá9ž†g4xvið< Á£ü¸Ÿ»á„‡4|eÊÃD„Ñ?œ©2þYÃðE^Æ—è¯P•ñòª³zOòãÏð%\³QM[¬¦-VÛ{Ñ0ÈJ«qm¾ÙhÑ3q«šŽ¥_ÆW4|_£,÷¨¼TTÝ—œÒ;^geZÈÙþ_×ð|“(
¼oiøWÚ¾“ñÿŽï"Œ"Uê"Q=‘0­HœÛˆ›LÆ÷4ü¾D¡*ð¬TG„
hJZ$3³"-)³=BgÙ;±ËWX ë“TfŒ´)£.Âµ…¸ÆZ5|? £ÔnfâÍ–ßB§rÄÆdu?ÔðŸø‘Œkø	~Jå¹÷Î5ü?Ððsü—†_à¿ûr»*àª¡ÂO½ŠûšŠ—˜ÑÕÜ]hø%¾Ø²;iòþDÞ£É,ÓŒ:¹©Ä‰]§×Ðð?¬Ñ@êîOFõUGÝÉ ÜºaéÑ¶jËn¹ú@I^>ç†+ 6¯áWø_ä†Éè¥=‡œ™¢nj¡Þaf¨ÿZÃÿá7~‹ßiø½DØ¡¾‡(uQq_­I(I9ó&ÌˆŽ$íDèˆ¤ò ™ŠL ©ôÓ_àÅZ&{‰¡ƒúTˆñtfhh÷)‘œK/K>YòkR@
RŠº(Œµ¤C·ØX“1È7„-k’"Q5+´—ëÜÒ{%×ôïuøÓùE	–ŽR¯R6¢™TÌê¨^Ô§èowù…£žb£ÁK\D¨V3¸Ú	UI•ŠBøð¦U"ÂŽŽ9ùù&D–4Mê'•hRi€,Ô¤4aœMPÑ£k2±åYº#MA$ß©rºErXK©í‹Ð?Î‡œŒHuu5%v¥7}Ä.ïT1Cp«ìÛü,H¬¥.“KÔR=ÕjXùŠ¥Iƒ¥RMÂU3/"j&;"ûE’:IŠP‹ÜY£†4!
È¡Kg"Œù‘3Œlí*®õ:·ìáBÿÆÚÛ©#Ò-#Nå°Âµ–L<žŽ¦ƒô*Ó¤°4\–FhÒHxE“F±²ãú„ÜbÃÊ¤óø¢àÄXsòi«I£¹@Ê³s™íæ“9RÇhRDÚ‡jàlâÊ4 wHù] ¢Î>KÀKÚ¨E3"üÇjÒ8i|®¹[CN×}=µÙß:…Òv"Šë„÷.¦’>s×Ç¼§±6û±Ð	Œ&zRº›$;<±`Až«jR~GÛ.ô^»m%M*—*<éÒ¤J©
¡º'àr‡ §L2bW×ˆpl$NÝ²‘`Oä#”*Åd<.hšŒ'zÄ2#¢4GxOƒ=ŠX­7x’7x²&M”(óä¥©®Œd'NEYªÑ¤Z¥¾UÏ>|œè“¥Iš4YÚŸ>E“¦ò1>2·Ónñ™¯¸ŽEÌ>vE¢E
¼ÜMÔ)úb–ÊTÉÄ‰âêG–¶¥ÌuöMH¥d¯§ò sý\æÙ@—zÝè‚1¨•÷’-ßÌ4-z»¸	ìé¶3©Ð$3–Êw>Ó)»Ë<×YF1Éà›ñ,ïyr
ö\Yƒ´a#ALªÜrízìq°û«é½Ð=.E½ÐËÌ]ÜU:'¹Ý-ÛÓÞÜŽ(Étý#ŸæoÃD R4O0ÈLLò,Î­c«s7DÕÙï'm Ï·ðòM¦§›zš/å{¼Ì—z.OtìÎí¢­(Çð¶ãœÞšJ‡,ƒp ‡‹~ØiyvýÛôt½™2±iñÙ„?‘˜ùâã‘Öd7oËì¯AJ2=žî½9+{$çnÊßËn«F”õÜÄl˜Ó:ˆÀì'Ói®Ò®@èó•Ã×Ê‰¸ß„g~§>½™¢y†‡w½>”{÷tÙ#µ‡ö¹¶å¾ÌI­\HS8_TG—õ½ëåVmž9C¹KX)jJ÷¨Îþ©ö`ãToC‰ÒÄeñ0ÇQ}>a¸Ùôù¬3lOk+1jVSÐäá¤£~¢ß¸’.¥\s';ÆNww
yÌ‘ÙõÁÕ+û)_˜´W»æŠÃÂJÏ)”´ëŠ]½”n~†ÃKDµ$¶Áà¨q‰£DKÛ•@¦´°Q†–ya°¯{ºðÜÕÇŸ$QüùªgŠH­&#Žp˜çG†ÞŸðö” ½¡”03£¼ûž˜ëRÓ¹p`Â@Ù‚•âŒáÝ9½Âp©»K$e½Å·»r˜ˆ¥ÿ×&YL¤—˜Þ"ø@Ù‘ÈPéQÓö«è<K{‘òÉœ•lÇü•
1á dkÏuR\¸FåãÄñÎòtþr°§EV–¢‚ÐbÍ]Wï´.®eJRO¥|´x6Duë_Àºú¨HÃ>Ðw@wÃ=t¾—fÜG?÷ÃâýAxHŒÃ.1î†GÄø¨³þ˜3>OˆñIg|ÊŸ†gÄø,<'Æç\áïF$ïEþ%Í^rÍÒÛËð
=_¥™	>z(¯è‚¸”ŠnØØ¡¨ðï€A¾0˜ßß¤Û„˜×è9–4€C,ƒÁp„A‡Ñ…qÐ
e´öÂÐlð:¼!~åófN¸:dè|­b;í¾HC`”î†þ¡!wÀÐÆÛ¡´‚	ËB8Ã;¡ia7Œlì†Q¤âèŠ,ŒÉB$´OÆfa\Œ¯gUYØW O­ßû…&d¡ŒÇr{thCD<¶B¨Uf¡ªqá.¸Í±C=6°ÈJâÞÐ	3ëü}¨ÌË'Œ1u—”‰´ŽÍ~â.h¬šhëGjV×ù‰ ìß	5HaQ[`ýÃ*&™”…ÉËy®W—~ÿ:sö»8OaÎþ<ç
¦ì‚©ä¾iöû; H€C· Ó»¼J*lµbˆX®ËAzî&’ÐtštÃÁ&ô3Zì‚ƒ³ðóÍƒóK‡ä—.¥%ŠŽAù¥™½—Ð5KˆRòx³]ÜWDÙGÐæä,šËn"½í!šž…y¤HèÎáÌws^´±`¨0\pcÎ9ˆRQA#AÔn8”èËÂBÀ,Ô×³OÈ‡gLÌ{Ä_ÅFn¸·““¹È1¿-qGÌ@æYÉ®;b9EŠËW‹sÈ¡%ùHs-/õXžèø}=«ÖG6R‚.ËÂr{º‚§YXÉsµâ:ß¹ÂšG‘&u~ñz4¿’¶Ç„cë‚¡ãî€â:9,‡Ž÷ßz£o4qžEí<kyÖDâ›ë”°–	Éhô	N-Ä‰Z—³Õ,´e!¶|.ýWÙö÷åƒq¬è„LÌi·ZÌçw‚Q§¸hâ¼gå~hß%aå>hÏB¢“b_É3áWs”tBe]Ñ†‹î­c·ùvÃ0fœä¨ï†5¡T¤I£Ô|XY®°jÍC3.èpÞÌ}0'¿§µYX×	ýpÖçß:l›o ½O`“‡ƒaÿ.PÂÒ7tbNê„Á9˜Ÿa¿$X˜2èäÆ
†‡)•…S*\ñ:5ä8é†ÓtzÜg4†Îì‚_³ý»á¬Æóý]pvÎáé¹¡_vÁoë(JÏ[&m6rœŸ…ß:Ë'.oâåz–/¤e±fO/*Ä¾˜±·Gìßb_bo«63…Ì~ºt¹Ðÿ¬¿VõW“Ë
™\Î"¯`öò•…ËWñòÕ6•ùÛúÇºâp±££{rT#¤â°&ÒôFÎ%Ï›y×_ãr}Ç³a**×:ïÝp]nW×g¡³Jë4²-Îáq›ƒsx7å³ñfVöšvBÈ†leÈŸr2…•0ªàHXAã•°n¢ñ:ÝŸ¤ñ#`„¯É÷ŒïEè'Æwyîø#t<žÜ¼ˆðÄ±‹¯ÂZqnË°†¸ZÄ5‡l¬§Ã·b°ÎSáb8.‡ÓIÚ™$í,’v6I;Þ‡óá#Øÿ†àp!|!ÿ’áp!iq	Î†+ð0¸WÂµØ
×a®ÇèÄ3až7à…pÞ ·àVØŠÁ­ø(lÃ7a;¾YüîdØ)•ÀÒÑp—”€{¤4Ü'HgÃƒÒFxHÚK—Á.©vKÔíH/ÀcÒð¸o<ä	Oû*áßtxÑ7^ò5ÀË¾FxÅ×oøbð–o#¼í»Þõm‡÷ÈRï“•>ô—ÂÇd¥Oý“à3ÿAð¹>|é?¾ò[ðµÿ\øÖ1|ï¿’šÿ­ˆþÐçþwqŒÿ3Œø¿ÆqŽ”à¾Q8!PƒeXhÀšÀQ8%°
§NÄi³qV€,¸çºñ°ÀƒXx
¯ãáOpQà\,ÁÆàÔƒã0¬Âæàd4‚S±%x¶Ñ{#®šØ<×/ÂŽà¸!x=žÜ‰çÇ+‚¯âMÜ.a55PÔ9íR%5UoÁ_©a:ŠámøEÁ
˜ïL‚‚óáïÔ!"yšìB=¤Dþ¾VàùÈëZ?ù}$¼Goòx9üƒbÀO> m€¼>ÒÆ“ÎöÂ?A’6úR”¼>òÕ:ø˜ðüä±8|ŸBÀ×àÛ Ÿ1Ì×è3ásæBQÛÿ‚/ Hžj¥èzdò×,øþ
y+_Á	ö.4	i
Yþaøš4’ÉþwÂ7ð-Á*ñrŠÈï¡(ð|M}ã· «à2DÒª8xéÌºh”!Á…šK”òÝì´Cn6“”…Ò¥°Ú>Åa?x3M}Ï­¹óç¶ž¾ÂÝ?„¶Ù'ðN¸];—·sáÞ)xìè‚¬sêºO„ž¦xi xÁÛan‡ã©¥6±ËÕ's0úòz/rºðÑ¬÷fÓ0hs®–l')]…RJðn(Á{aÞïâ>Úá.ño$î÷6iK¨O­®ï„9U¹ÊÙPA½hUŸÏ®êmpGÎ8;ÉÜ¹†î,èrÊ*'òdòò*§¾îìu bÀÇ@ÁÇ!ŒOÀh|fâÓ°€`‹ñ9¡æ[GM~ã«Ý¡žú>qÁ"0}t›¨áí'ŽA”iíUqãðÑy¨¥¹•îýic%]Ðÿ^a‚ ýÕ­‚bßC†ØT¨ˆ+U úa%Aþ’„Å¨9jø÷œŒÃñsk~‹nf¶µÄŒ·‘cÑK<Xí‹þ8Àƒ…²7,z²÷†EÈ“EpoXÂÁ,{Ã¢‡x°ðï‹¡8Ìƒ…ooX„éh´YLw"O®±’®Â7{2±ÃLv˜ð[ÝÉ{ÂlŽôÐ½™yk4
G÷Ñ¨’4Úƒe¼4z&¯‘„cÄ3‚ÜW4‘È#Áþs²3ntÆMÎx±3^âŒ—;ãUÎx3ÞèŒ7;ãV{ø?PKÞ7”K7  -  PK   £€•)               de/mud/jta/Applet$1.classm‘]KA†ß“¤Ùf³®66Ö¶ÖÏ´ÆˆÝöZ$ …ª¹Ÿd°NB2üY…~ þ€^µþ é™q­Úf`fwÎyÏs>æçÍåòØÀš"^•ð¯}ÌáMóXð°èaÉÃ2¡hNÔ°ö0'2:%Q×ˆh§ßO¥Ù$”Îµ9‘FuXº¥´2Û„™úíZ‹PhöI˜Œ•–{£Ó¶ŠvÊ–JÜëˆ´%ÊÞ3cÁ¦&€|ÒZš©%[ªÿãkm1ýTœôF:!<«Ç]q&"-Mtô9véKb”¨^3U}BøØMð9pÐ‘»Ê¦.ßRß[M€2V<EÉC-À[¼ó° ŽÊ˜BS
}í·»²có„òLj¹:c54’[#äë¶ÂŠ‹Ž”¹ûcivî+_ý·³øQÐ[ªŽuð`íœ°Èo^äáz¼+¶=þú°+Ç»Œ€ïü·Íwkñ?@õoÈ}qšOüÂ$Ÿ3·*LaÚQüŒIxŽjÆÚÍXaã+rëß‘¿@pÏó÷7k¯0Ã¿Ì-/˜•Ã¬‹yÉ•Û(â^ÜúPKïüH1°  Ø  PK   £€•)               de/mud/jta/Applet$2.classVùSGþfGAˆQ¢ê.‚&*j"(	‚J\‚ÑœÃl³3ëÌ,Š94‡¹ïÄrß$æ4‘Å£*•ªT%Uù+ò$ÿ@~HåõÌ.»°+TmÏ{¯_¿÷õ×ïuóû?WB)6ášŒ6ôV`3úÄp@ÅpHF?î”pXFB¹KÂ ½2Žàna>Ä1÷à^1}Ÿ„ûeT£7ˆÄ÷AaTÅ0„&#DgÃbrD†„Q	º˜b\†„Œ•0Å`‰èIÇaÉ‘á"%†	'p2ˆÉ N-ÂCxXÆ#xT :-áŒŒˆHÿ˜„Ç%<!áI†Š	ÕhÒËáÕ}cê„UO¸ÑÎ”ëZfÍÇ&Mw”»ºÆ°Xø:®j»ü¤ËòýÕ‰Æ\[7Ghâ;YIß§ÜÕ¦V†¥}qM¤âÑ1WîI&î’wùNÝÔÝÝ½á"óx
Zš]Vœ6TÙ§›ü`*1ÄíuÈà²¥©Æ jëBÏ#|ir»ËP‡“eY!¦¦6B]©j®n™ýÜ¶ì3¬ç°ò	nºÑ=žË>!{JùÑ±âznrÌJÙïÖ¬E~ÆˆX¡`'Î*Ø[°UÁ-Ø¦`;¶IxJÁÓx†aÉ\än[Mp	Ï*xÏ+x/2¬ÊÛ‰Ÿ9fiãÜ=Ì§¸ãJxIÁËxEÁ«xAê²ˆÌ¯+xç¼‰óµÉîLs›¡ŒÂîhTð¦¼ó
Þþ%míÞUðÞg`4ÿ>TðÎQ­åBuZ–ÁUSÁÇø„ayf×qîªÚhd8eŽfsnJøTÁgø\PA€¦ÅÖ¾À—.(ø
_+øßJøNÁ÷‚©‹8+á?âmgÀž$´tÔ‘HDÂŒ‚4ÎI˜UpWDÄ«k(:ÌÝ”mv[ZÊÉðDG´Ww4Ÿ*ê"õÁP•ÛÛ¡¡1ÏqeÑcïÓ—›‚ÀÒ°¨‘ê‚p”OÕ4îPµR5ë’æ\MÑ±¹*Õ¼MµÊ³&’–Ii©ugPwt¯ì)ç±\üÍ"~¸xü<ÅJxC]ž±ßHèfŸ¥ÆÅ^*†l’4U°™Ð÷;@éÔžÅÇ“è ‡»sác‚–Ê× C¼úÔ!nP†‹_Ù}µ‰}­¿oó¯¯r5™ä&uôÆbqL~täÒµ‹tYe‹Pª®¡$TLªá, Ÿá@JÐµ²¾5á¢8º+XÊfÛ*²m¸ÎNS®nDûm+ÉmWçE©)f§›g„»}’aÝÿbB\ýC~'ªFJà¢(d×Ý¼mˆcÌX;²ääÙè•¡e1¯ãcú)
S›¿r¯žà¦£{(¾K]¸˜ÇüÒ9¢›qëÕTRÕÆéãŒ
-Ó$Ms-WE|Yô“÷Œ­œ‘ïš™&,õÿ9)JšRÅ\ÕM9óî½šLª¶Ã{D­æAB¡½§yôŸH=\í $^’o†ø‰'"OÛ>O£‡dN+¡ßNì"}7Iéeômh™kÙ0ƒ’–3(mÙ4ƒ@K}`e½5·ÒXñj–ã6’·ø«°{½¨™B¸J<I`*õ$'@óûÐígfRòbgZ.¡ä2Ê†”Fp
»|½âä£³X”†r$çQšÆbÒJéø²øL£,´$Êi¶Í÷«úGs+®¡šÂ„BKÓ¨ñ­Ëæ¤ÚP]Ë§ÕOcEÖ³!7OR7dGòX™‰¼*´:ÆYÜ˜Æš)4æÒe¤4Ö¦Ñ”ÆMÓ¨Êßßº|e½PÒg7Ïƒ¸ G¨Å‡qJGQfAÆñ26ÎbSŽ3r‰PìhÆ"x+óy+¼µo¹óÝJ:	U,ˆ5¬­LÆ~¦`€-ÆV‰_X5þ`5ø‹-Ãß¬–µ³:6ÈêÙ(k`§Ù
¯.jý3ÍÖI·ã:ñôxyö£‹¾2Y6{uƒPKê‰	„Ô  {  PK   £€•)               de/mud/jta/Applet$3.class}SýoÒ@~Ø:º*0ÜæÇ¾tÕ¶Q&ó“eÉBfBRu3câ/G9Y±´Øÿ,u‹&þþQÆ»–Ä&×»{û<Ïû¼÷^ÿùñIìâ@Å<ÖÓP±¡â6î(Ø”³._wUÜÃ–Šl+ØQ°K0ËÏœP/ä­3»ý–ÙáÔ<êõ\Æ«éÆgŸ1îØzàx?$X2¦`§©šßbËñØ‹~·É‚×´éŠÈ‚åÛÔ=¥#÷Ã`J¦& V÷<Ô\†LD'åõŠ0“¡6w|ï„ïý ËZë†Õ¡jÒOÜdæqó(‚Ëud)Éœ`å0µá÷›=s¤­ù8cI24dQÒpW˜ÊØ#X3‹5|ûã¯ØÇ>¹†û¨hØGEÁñHŠ<VðDÃSˆdù)Åd#ƒ.õÚæËf‡ÙÂôêTÏ–r&NK”fÈsr¢jÛ,õ½²h¬1µ[ã±šßíú^uÄ«HÞÖtÞÈgƒŽ×£íKZn¨{œµ¥Ó¹B&¶¢·Æ¤B¡Ý©‰x]Ö·<fâÄí·ÏòiKª¦›XÙ4²¥KfcÜsá‰¶Ù%ÏñÙV±ù»ˆ›'Æ‚ì¯˜3OBŒ,rQ8{Q‹ç ÅíoH|‰0yñž…¼¼\ë¥…E\TÔ¡&ÁÜj½ÃL„Ò‹_‘¸@ò'RoãåL<Í^@9ÇÜw¤ßŒ²¨’CŠØ$;c™ô™tÜÂŠÈÀjÄYÃrÄm‰¾ã/PKN1‡B  "  PK   £€•)               de/mud/jta/Applet$4.class}’ënÓ@…Ï&!nÜ”´	m¹¤ €›Ò:Eü+ªTE !L©*âçÆR_Š½â±h‹@âx(Ä¬A –ÖšýæÌîüøùõ;òØÂ–‰ÔK0°bbkÖMP7q·Ü6Ð0pG ¨Ž½¤Ñ¨9=²ƒ´g”´÷ON|R»¥ÎÇP“ò\–>òBOí	,YS´G…vÔ#Šã…t]Š_É®Ï™ª¹Ò?’±§÷ãdA—€@ùiRÜöe’g/âÙLEºÊ‹ÂCŠßFq@=5ËÈ¡´åeÓBeïg’Ç:Î,åi¨êÿ“	˜(]zâi[³£ŠÛúDs¸[†‰Y÷Ê°°!°:anëDî;R/é}J‰2Ð,c÷ùF§t!0Ÿ9ñeØ·_tä²»•©æ/QÄ×Â=Xº“…86.]—’¤±Óâ´¦>Ëd®ArÃËÉC?í{¡Éž®UêÆ¹2aúö_À‘î9—“}bî¿}ìb§m†Ÿ³Ä«ª/M?-ô—ã5‡Ë¼¯p´Ç{1›çÍÍSä>ešyþ¡'¢…Ž—F*f-fsÌä	Äò˜õŒ§]«jÍÏÈ}Aþ
oÎqéÅ× ¦–ˆTÅƒ	pí7¸†«¸ÆÀ®ggnàJvJpCÙ÷PKlïaó  W  PK   £€•)               de/mud/jta/Applet$5.class}TmSQ~®¢«ëš‚Š½YVdàÛbejI$*¢R’ß¸Áì2ËÅ¦ŸÒÏh¦¨éCã§>ô£šÎ]·`Ú™Ý½÷ÙçœóÜó²¿~ÿ~,á
?caÌ«XÀâ–T,C—HT…†‡ðHÅc¬*x¢bëß«§
b
6<ce³Š2LdŠ\¯6Šú©0ôD­Vá"Æ0|üÁe.ÌQ7MËq†`¸7rÂàKÚEÎ0–1-~Ø¨æ¹“3òB»`TNÇ”û6è“¡À íYw’£^ç„Lu»­’˜1£ LÛÊrç­íTy‘áv8sjœºñ^èüŒ[BO¸”m¹v%õó3Ápó4†¡šcZ"mçe:Ìl$‚zl7œO™R÷HKÒ²$j"®a“
žkØBBÁI¼$¯9îTMË¨(ØÖÂŽ†]ìiHcŸáJ'LÊ1ªäUKç³—8¤ÌuxI»Z³-¬àHC¯4¼Æ±†¨$=2Æ0îW«¤åOy21Ó3³.8•€ò–Yów¹£…¯×C+Qê–pÏðb$·j[±¿}µ@†ÑóPÅ§Ã‘VÞÂ¬è»F½,dõD˜T–¤¢¹võ=ŒEº¡KéQ)=Ò[º'Ï–0¨iHqr¶]ygR¸É°‡ÕFcIö`Ô!d–í´Ô§IÝbÇ<ñJ1Ïé³Ž]ãŽ0yÝ«ÊÓŒþ.°qÇ1je³ È«ô&Ë·ÏÝîþÜš«ˆYú·øi*îM­Mï)È«î ¦i•VqÚKDÿ
6¿ð}Ÿ\Î5zBö®».7pËõ¢¶}ÒøR¬–¯ðÑßØŸÿŒ¾oèoÂhbð'b-Dib¨½:Çp@eMŒüC>‡¶ØÄhWè5v)&ˆ³Ž ÛÀÛDŠÅ‘f[®¸ÙVØŽ¸}ÜÁ]µ„ÜCÈ=â}×Ó!R<UÜeâPK€kFë  “  PK   £€•)               de/mud/jta/Applet$6.class}S[OAþ¦-,]
åª‚ ¢´åRðÂE…Ê-©J,Áh|™nÇ²¸ÝÅÝ)â/òÙDÀhb|òÁe<³Ë¥ÚÆMvæÜæ|ß9sæ×ï¯ßÅ6u$0G;RjI«%£cã&tL"«”)Ó:âÕqwZpWÇ=Ìh˜Õ0§až!~ÀíÓv}ÁÐ™ßã<ËßËìJUJ×Y áƒ#w…´L†6ëKîÉmq(’a¼Ír¶ =Ë)Óf¹kù#S]ù’ÈVª¥ìžäÙåý}[Hå^´K.1Ì§øëÔ#¤wb9·D|yËO«•¢ð¶yÑŠ‘kr{‡{–ÒO1ÅˆÆ¦ã/gsßdé©g02CÜ”–ël	ïëUD‰a(uÁLGf—ƒU%”¢â€:2ð¿0½àV=S¬YŠVkˆ8©NèÇ}½è3Ð‰¤nôhX0°ˆíçI×<^–<Ä#ËXa¸ZSDZpÍ·B>ïªÂ—rc•AË¹T¾I–5ëØ +jP?CÇEÏŸ÷è Ã`Ã²ò–/5”ªO©tÖ¥£’¹i
ŸbŠF"ÝèÎÓ=#‚’ÓzÔ«dµ²ï:KÙ|!w,ß
ï5õJ¡ž!L+„Tc„e«“ÝWcÜ²«eËÉ»¼¤ª‰=’Lîâä_	Ã¸'ÇËâŒyM§Ôðü3Â-D:Ï‹Â¦‰K5hÓÛMÐ|vÐËNª ¹êKªI¨ÑhBÎµýý¸Dúe’^“£½;s–;B$3~„hfâ±OAôZ›¡Â*HÎ„ñ$|R˜]IŠC$~”¬×pýétå›Ë|Fäš~ 9z-ÔZ¾!þòú1Z_%Jì'tµ}DSÒ8FÛ›¤bÀÖÐÎÖ1Ì60Ë6f½aþsfs¸Bàfpö†h×ÉÒøñPKÿ”fOË    PK   £€•)               de/mud/jta/Applet$7.class…S]OA=Ó®]ºÝR@AQ„E·EXžàCBMLÅPûìtw€i¶»Íî´†ŸâÏ0Ñøñ`ôÕe¼³Ý@dvï½9÷ÜsçÎüþóýŠØÁ®…¬”abÕÂC¬™X×ÿGØ0±iÂ1±ÅPR2uön·áõ‡×SÜ;B¡Ê§—‘ºJú}&#©Ž–Ü)Øz‡ÁhÆ`¨µd$^û]‘´y7¤ÈB+öyØá‰Ô~4ti0Ø/£H$Í§© ÈâMzç€ÄÔ¸¯dˆä,Nú"`Xs[=>â¯<1‘òŽ3Èsmg’Šb¤Vþc°Nãaâ‹RËªŒ+îêU<¶a¡bâ‰uª9!®#Ó!Û	Ò3‘œ„ÃsÙh`ÛÆSìÐ¡Ni„a.òèÜ{Ýí	Ÿ®NÕ×’©t2Ô†«›™¿AGÚ¹ï‹4uö÷hˆîÔÉLÆÆ¯ótÞþô¼+QW\å]zÍPº1Ob1üxpÉà¸ÿÅÖ;X§Û8Cã.Ó^Ð‡ªG½
´«˜%¿FÖù:b5¾€5¶?£ð1ÃÌÑ·}cÞ`žì¥1Š¸3+ç¤Š»9×»œËi|Bá+Š¿`|Àrîü„1¶n}C©€ë*³ô†ÀÚ¨²·Ød‰jÎU5÷°LU
¸Ÿå=ÀL£.³õPK‘„ ¾ÿ  Œ  PK   £€•)               de/mud/jta/Applet$8.class…S]OA=Ó–.Ýn)  (Ê¢Û",Oh‚!!&&’@ú`¢2Ý`šín³;[ãOñg˜hüx0úê2ÞÙn 	N2»÷Þœ{î¹sg~ÿùþElaÛÄ4–+0°bâV¬éÿÝ*J¸g`Ý€m`ƒ¡¬Îebï0\kûÂí§¾ÛSÜ=¡ö*GïCu.”ôúD†Rí3,:°C©ù‚¡Þ–¡x‘ö»">æÝ€"óíÈãA‡ÇRûy°¤K3€Áz†"n<IE®ÒÛIL{JFá¡ˆO£¸/|†U§ÝãCîòwÊC*÷ ƒ<Õv&©(†Šaù_0ó(JcO<“ZVuTq[gX¨á¾U,8hPÍ1q™¤<8Žy˜œŠø0HÏdh¡‰M±E‡:¡†ÙLLÀÃ3÷e·'<¸2Q_[&JÐÉPŽnfî
içž'’ÄÞÝ¡!:'3iÜ»Ì{¤óv'ç]ˆò¹â*ïÒmrÐxìËÔ€“DÛù/¸ÑÁ]Çišw…ö¼>U={èU ]Ãùu²öÉ×³ù¬¹ù…f–¾eè+ó
sd/ŽPÄµ±˜9']QÜÈ¹Nr.»ù	…¯(þBé–rç'J#kêÊ\V™¡Gö5öëìíX5û¢š›X¢*ÜÊònãz¦Q—ÙúPK±Ôœ    PK   £€•)               de/mud/jta/Applet$9.class}TkOÓP~Î6(+…É¸y!ˆ:q—¯ ˆÂc2/q¢ñËYw2Š];Û³¿ÈÏ&Fã'?ø£ŒïiÉ6Ýb“žóÞßç½´¿~ýŽ(ðDG³qã†:ÒêÈèÈbNÃ¼Ž~Ìêdµ¨$9yK¸9€[:nãŽ†»î1Ä›ÜN™¶ë†‘âoò?”¹Í†”®³JúÒGîi™CÊÖ—Ü“;âH2$C{›;Õ\Iz–S%‡~¹où©<Ãh±"rµF%w yn£^·…Tê5Ë±ä:ÃJº‡¾@w†Ì.C¬àVo¢h9ây£VÞ/ÛB!rMnïrÏRü™0¦1€Áxê8Â+ØÜ÷IÆ»¤VãÐ¡åTÜÃu…22\N·q‰¦pdn/0ØRt (*šÔ©ÿ™1è%·á™bÛR Ã|‹ÊÃÀ$–ŒcÂÀ9ŒÅ˜†÷AnÓ Ã°%×|'ä+ñ¾!|©aÍÀ¬xˆGÃ-Û¯	6Q`Ð
.o’ýc[Ø¦õ¨žŠèYÃF…×¥ð¨Ò´ªw¤Ë•Êã¦)|?µ”§á§{M7Ó)+¸µZ°a“Â—v£j9E—WT®xÙ#Êä>E_ü+`h÷ŒÒñª ¸í-yQ> "WÛpò
N¦7œV©ÔÉi™<rLvHku×¡&P4_È]Ë·Â…J¿QMHü³¬dUäeaÓn¥{­.fèM ôù&Õ¨i'“PORÍ¼ƒ£]hqz'qžøD½%>F÷Xö,;wŒHvþÑìÂ1bŸë‹töC-¼‡KDgC{Lároì,º¢†H@©üQ’ÎàÊY¦#â•n9û‘/èû†þ×§ÐN0°Jâ? GO0H\”ÞØOèêúˆ¾¤q‚¡6š¤BÀ|$™ÄkÐ§ ›ã·-ã*®QöRïuLÓ­“d8ÐãPK¸ñš¿  û  PK   ¤€•)               de/mud/jta/Build.class}OMOƒ@œ-*¶¶bõî­5A>N&j<=Ôp_`ƒK($téïÒ“‰€?Êø@¢Æƒ—yûæÍÌ{ûþñúŽ,èØÁ6q`bnâÁ¸¥T—Úb1è×U*¦¡,Å]³ŽEýÀã‚;¬^D¼–mß“ºz”›v–
wÝ¤n®¸{ÕÈ"=g03¡n¸"Õ|±s¾ånÁËÌ]©Z–	¬UÕÔ‰¸•m’ÕÙN[ÙL†Iàyž¾ã{ÁÃìï¢~Rïã\$ŠNù¥ŠD½‘U‰cú¼†!€UŠ'QçReT‡'/`ÏÝx‡ÐèH:Špü%À.½Zn‚½ÞìôfÍ<ýcÕ¾­ÓN5ûPKx'Šc    PK   £€•)               de/mud/jta/Applet$10.classmS[OAþ¦»°tYn¥Q£ EÚrÙ‚7ªˆB•Ä¤‘‡Lˆ1™––lwIwŠúæ-^â/Ð?à³‰ ñÁøäƒ?Êx¦­mc»Éž=çÌ™ïûÎœÙß¾ÿ€†Y¬™èÇd}¸¤Ì”2	I¤”™60cRÕœ2¶Ê¤{0ob—\1pÕÀ5†ð!wãE×ÃPnŸr›?‘öjEJß»IëùgžÜÒ)2ô©Ú@ò²ÜO%C¤Vïro×ÎË²ãíÒ†n¹çñ4Ãpn[Ø¥Ê¶½/¹½rpà
©–—Ï‘Ë™D‡õ6íÉM=ëo“Þœã‰•RA”7xÁJ‘_äî&/;*®'u¥ˆÖ}Ïå¬Ëƒ@P&Ö® >ŸV"}Ï%h-¡èg§›y¿R.Š5GáöÖ¶Ì)‰F1aa1ƒ²0Œ¨ë‘±pÚßèm­ÌKÂÀ’…[X¶pw,¬`•ˆ²>	,JYwq!ÚI!Ã`óXÖû´ƒa²¥R
OÚëÕ&ò’ËJs)¨wr"µÅ‹EñÅôÃh§Ál%·šeé4IHv*K6H­HNüej=Ò’-ø©£›å›NàTGDç¬ð!)=±¥ÎþgFqÆ:rÒÎÿîCaåxA¸#‰N·ãô·ôÓ¥ )¢†F~ê‰¨éµD4ÕF¤Ñ;ŠS‘÷!èô¦¾¥¦JÍAKÍAÿBùN“í†º}¯q†üT­gq¾Š­£+OiU=Å¯Qvu¦Ç´¢ª©¯é'èz¨œtÿ„qŒžOjÆú1ÂMöˆbdÏf/0Æ^bŠ½ª*±jxu%\A+£ µ&—ù±F_cÑˆ…"^ýLõùŒ®Hï1¬&y]„ý†Èßb˜½Ã{Eö¡E@¦. „‹UÇ9úš´ÖW= üPK[ÀÝåÄ  ï  PK   £€•)               de/mud/jta/Applet$11.classu’ßNÔ@Æ¿Ó]¶nYÅåÏ‚ÿAk‚-˜À†DI0&š¬ëÙîfSÚÍÎ”„çP/|ÄÀ‡2ži›•,µÍ´3g¾ó›oÎÌï??¡†çxêa
w›¨ãž‡ûxàâ¡‹G.–	s¬´¿A˜û28ÉúÁÀˆàõpK³ChvÏs,ŠXúJ%Êì:«Úg„ú^Ú—„™P%ò}vÒ“£O¢sd6L#ˆ‘²ã2X·K@h½K9Ú‹…Ö’#ëxs“Ý´‡qv¤’·‚ùýý4Êô¤™¹ 7Ó(Ä;+l²˜SmJ’×M³Q$÷•57]¬ûb NEVZpqÃÅãžÀ'ÌWY$Ü¶ú ÉQð¡7‘!øW”òT&&È×ëa2*m$ïP[µ¦Û×°ìKD‘ÔÚßÞxIØ©ª}U*bXæ0Åõnp›µûáö©qó0mÏ‚{»pøåÈÚhmýœs9¸É_›úŠ[Üï*Ì0y¯`rÍ1_²ÞŒYßá¬_¢vøåÙúŒ&}ùoc–·8æmåÙœ6iéÛT",åú;hç`¾~ù<þPK:š[W¹  %  PK   £€•)               de/mud/jta/Applet$12.classm’ÛjÛ@†ÿ‘T«V”ƒ×izÈ¡8à¤¤r{eh1C¡`êr·–×µŒ,kÈã$¡¹´´ô¢Ð‡
™•X»šþùö×îþ»ûó&NðÊÁ#<-ÂÂŽƒgxnã…—6v	5
’j°ÕHo2xc%¼Ói(Õ{B±{©‘TÏÒA¨&¡RËÑõV+HÂz;ˆä—ù¤/g§¢re³û"ì‰Y óEÑÒK@p?G‘œµB‘$’+•e|õí;vSˆ£Ñ³¦—³ãá0Ën<ŸùòS ¹+YË›±8.”]ØxlcÏÅ>å<:aCë½PDß¼N,}E8| ”ç2R^'5ÐUBÍ“v(É¾	¥%"[¾/“¤Ú¨3{;oÇÎŽÎØÅGÃÆcSÛäoú1y8XÑ»ÃQ¿\9þ:~ýÆ-gVyÖ½ k¬q\ÉTXgÒ(còù¢¼`5XC)ëë7Ì¯ÿYŽî§Ké*å¹™rÁ#<É§˜y”ïL¹É¡ìRÏÛ(¥U¾	©WÜPKÍ»ÞF™  °  PK   ¥€•)               de/mud/jta/SmallApplet$1.classTëNAþ¦….]V@.A´JÕ¶\–‹WŠ\Š $U0EÃ¯év€%ÛÝfw
òDþÆh1šø >”ñÌÒ[ã&=gç\¿óéþúýý'¢˜Â+½HÅÑƒû:à¡Ž42²qL`RÃ”©.L+m*1£Ä¬Ž9Ìkx¤á1CLÚAj†a¸Pf¥V6$7‹î8«Õª#dŽ!^<uå¡¶Eñ‹¶kË%†Ñt»„Ì.CÇšW½Ûok•’ðwxÉ!KÁ³¸³Ë}[Æ‚Æ¦ë
ÍáA È2Ò¦Gj–`užø¶¤ìÎô^^õd%†È^ž^È8T8âÇÜ´=sský£%ªÒö\JÒ‹^Í·Ä†­úö5•œVñðÄ@®kxjàžkX0ÃÃ@‹‚¼ Ñ‘½wÌ¢ôm÷ _Ûß>ÃM‚¾¾ïùÉ@¸er%Ë\Ù,cE‰Uy¬ixi`´ŠvCÓX—~Åv¹cËù9Ú^4­H´N¤©¹e‰€ö<C±Ëí7W¸,ï¸Bš;¡Úö=éYžóš»eGøDâø„Ñµ‘>wƒª(¦›è9¤¨dâ¤yOÛÄš$î¯P‹¯V‰-†Étá*µ„³5Û¹+á[¥#aÉ…wIïÂÂ0˜þ;.×´ö&|ZU—h…oIúWöB]é~uB­žý0Hç!z[¢³²èÙs°ìÄWDÎÂ˜ÉÅ [¸A2q…aŒ†UôFM†[kÔ:¡oB”t&û‘oˆNÔÑñ	co>#öÚ‡stõÇëÐ'ëè®Ã¨ãÚYØ ›€v6Zö„Þ‘.Ò§ä}Ø:yQô²u·q‡2{0B¾»á ÷BÐãdQÐ”/|þ PK¥áÂo  ©  PK   ¥€•)               de/mud/jta/SmallApplet$2.class}TkOA=S
+Ëò~ˆ€ŠRµeˆ/¥#I#ÆVHÊ§e;ÀílÝNAüUš(?øüQÆ»»m!Mk›íÌ½sî™sÛ?ýF!«CG¢½HêHá¡N¾y&Ò¾¹àÿ,êXÂcËž0ô¨#Q¥&s%n–k%óXYf¾l9Îz¥âpµÂÐ›?“êˆ+a~UH¡Ö¦ã;Ñ·ÄsBòwµò>÷
Ö¾Cž‘œk[ÎŽå	ß®;£¾0[RroÃ±ªUNž©wÄIÖà!Wî•…´œÂY…xÆâ‰Ü±ub™Ž%Í¼ò„<$`?w…,¹§yñ…`˜uªÌ¬(sY®$ Qå*Ð·i¹$+^ráÅŠÃÒUâàlS–¶>pÛõJ]qÔ}ê	EÜÝñ½Œo³}†È^†AßülóŠ¢ªž’wkžÍß?ñ¡+9Íû’`Ö@Ï<Ç+V1©á¥5Lx…×Ö‘Ñ°aàîRï:U‰a®~¤¸#¹2ÁòÞs•k»Î[K–î1Œå®¹µÝ”KujOK9X¶Í«ÕØBšg¡ó äš—‡]2OÔÒbš
=Þö ìT£¥[YÒÕŠÛÉ~QyÛã\†ýlÈYLSÂ3åÅKì’/=ýéŠl×T¥¦h–¸U&åcíü˜¥N‡?À#~ïhí‡ÿé¡g ƒdÑnúzò'X2õ‘odE0 iþQ¡x`"Da”vv!'ÃuLÖ¹–èK~Gä]çˆ~m!³2#„ÕÉn`ª#Ew+oK1™:E¦™QD/Ð³{™‘œªÌq‡¬nâV á6Õ/äKüô´F^ÂšBhø	åfëBŒ0-uŽk­R>Q
Þ)FSŠ9Äˆïí£´Þ§óAtãA<ý	HüPKÓç©lÁ  j  PK   §€•)               de/mud/jta/MacWrapper.classVëSWÿ-	lˆ«h_@l`lµ¶U«"¢Ò|„b_K²@0ÙM7Ú—U[íûý~}ókéÔèÔÑé—êLÿŸ~íôw÷. 3-™½÷î¹÷œó;¿sîYþúç÷ð¡?Ñ€D-º0$†—Ø&$ÃœóËµÁ© Fƒ83*Î±‰ Îá¼
=ˆUH0&æ¤RAÃ„ŠIa ­b*€AdÀÀÊ9±õŠl1äpÄ\à¢˜‹*¦UÌp)€ËBðªŠ#A"y-ˆ×ñ†Š7U\QÔs¹ŒáêYCA(>¥_ÔcÝœˆ%;mNìVP#O(¨—»ò5ÖãNbOÚL;{ø"Ã
ü½VŠ¦êâiÓ,dÇ{HË¸Æ­¤žÖí´x÷„~g2W°>ž2bÙB*6åè±=yÒ¦Ã¦u¿0® :ïè6g…:e(û¦“FÎI[¦8šw¬œM<aäÓ—xº:Òß/pUÓ)g’ú	yÒHOLÒÜÊ	Ã‘ô›ãCŒtT¢€ Äîjž>¦Û¤Ê1l©°.Ò1:ZI¥¾²X-ÊÈÈ–“%XÕ6ò“zŽ8Uâ”H•i>3|Š|ˆ8˜°
vÒ8”„Õ-°³UØ×ð¶kØŠ˜†mxRÃ[¸ª`ÇÂ©]ál:Ÿ§÷°ä%œ›‹ +lZ¤Ÿ;KO)×p]ÅÛÞÁmÿÇ†Š›ÞÅufEGÑ‰°ì”aÇõ«à¨xOÃûø€L-eã@a|\ÑZîG qý$‚žñÜí
køiøU|¢áS|¦ás|Á¢Z^’¾ÄW
ÖV(åÎ’V!“$¸nÃ*¾Öð¶+h)?å…¬glCOÍx\±†z“høßixN$a—ž6-7 ë1Ò¡á{ìS°¦üD[ª-¨¡‰»bÝ¬^*#€¹Å"g’ƒ°c¹@5Âa?àG?ixq&ªâU›KÐ"*NaŒª¼ìl‰,XñÖó“V1áèN7¼¡’ÖðâÀfòŽ‘åÍ0l{þ–§­Ø1&ÒŸÝ=—×ÅbÞžœxË˜óÁ:ìµLGg¢±Ú¼áÈ‚d	xHÄ)ÐM}‚ÝFàÝÎ0™ß®ÿ¦,bÂ
8Ö\>êõfô<ƒWÇ-[vØöÿ°ê*ÐÜ
Ó(ö›lzfÒXÚ–ŽŽMIÑyÕü\ŠæcZš=7¦²«04i[EÙzër’@=yaÈÖ…Ÿžbà{*@Œ—‘šÍY&Köb!	´½Æ[«Û¶>“´rleÑÈrüýDnÿ-·‹~W ðc[ˆnñÇ†Ç1@9› Ç|ëã	…s]ô”¨rUbðÍRT…§9†àçØÊ±µØÂ/n+vR¢I5<ƒg9+âJ{&'ø•{ÑhÈ_Bõ)}„P4TS‚ú+¡Ú‚³Ñ{X1rZ	+œmB‹s‘Öe6Ó]„nœvÌ;Ý5ïôo:±ÞŒþß#ŒÑÏ=¬¢ƒºÐêÖPZÅ©„}{¸îbm	õ ñ
­h	ën¡=^¦ºa©jg	goAalrÃ5
ÝšNÊ¹YNÍ˜Š½èÁz/¸XÉq/¥ûÈá~¾÷ð×‹³8ˆ1&b‡aâ,6žKˆã
pƒnàëdp^à=ØŒÝØCŠh =î»H%<d˜.ÇØ]EŽ€ãpBüU1{	Nš;ÇÓâüFk¸$í=„&¦Æ¦Z–eiÆœq‡¥²gX¬ö»Åê W¢ìØÁ=gßE„í¡Íqé§ÉËA§L#i•Yˆwþ²¤8Ste H[Y|tµ{Î}¤«w@ÐÃï¹¼M„öqÿ}´øjî£}Äò'Fü¡-‰‘êÐ‰Ä€„Ò"ýG»øÏ×ü‰Žªx·¯Óßýà.¢·ôKQ—¯Óç§¤Þf2äÐˆ<×¢(ÐõE21M38ŠË.Ü¨âÁÝÁ’ïc°Oq·Ÿ«*žX‹¸7‹Ÿ%/„"ªùƒ¬¹‡2ñMÍ¬îÎ¨»¸ƒÎ¥iºJS×x³®»®wHóijfÑÉ45³ôz\›	´ÇÕmÆ1®üÜ?îZ=ñ/PKn´CÂ  Õ  PK   ¥€•)               de/mud/jta/SmallApplet.class•V{U~'›ìl¦Ó–$mŠmS·”Í6eÓTD“4µ	ÐFZI&Up²;M¶LfÖÙÙÚ¨ˆEA@ü¡U@J+´v7µ…‚¨õ7øGÄ÷ÜÙl6aÃ÷yöÞ;çžûž÷|Ü3óÎ¯^G{ñïF|®ž9¾hàvø1ôÈœIÃ™:NXƒY_6°¾¯à«1<$ó×t<l ³¢ùuƒÃø¾i Êð˜ì}KVëxÂÀV<)’oËê)ßiÄwñ=ß7°Cü@æÊð#~làiüDN?ÃOåÌÏâg:ž3èËóÎâœŸã"~AÇ‹Âë%¿Ôñ+¿ÖÐ±'S´Ak<7Xn0f9;þ4ÔO{ù@CóÐIë”•r,w*5øYwª‡{9Ïç^4ï¥´¹h
•\;H(uê²yÃ¬—ts…€ ¶5#›7[+›GAõn”sÆö—)wcíÏd]ËÑ°i(c§f
™Ô‚(u*ØßÕ)í¸Bí–E¤FÕtÌ÷/í9G,7ãØ>4:^Úrìô´Ç˜L 7ëfƒ>‘Dû=ð2¶†õCY×¾§03iû£Ö¤cE97fùYy.ëƒiñþæÛ'+52c9Î¡\ÎQÑ©tfa—Hjv%VÊÙ»N§í\õ\QÍ^Ž<ü‚KÅIïx?î’è­>-ä2V@ÈÖD¨a})Hö­Üt6ïw4f¾¥ÆžÃJ§í|~Wgg§†ƒ‰•<h_eXëN¦qdÖ¦í ›^Äß'øûVƒ¿,³ ]]¶®0Ñ>!Ö÷-Ø/;?Àâ
ÕhŒx?mß•ÌÞTuä69`¢&>‰O™¸‡MÁ ‰!›˜ÃoLô ×Äô²jÞEŠ¼næ ëÚþ€cåóv^ ~ËüVÔïù¼CÖ¬WtüÎÄË8Ï<Ø.ãcâ~¿2~—‰>4q†YÀË.ªŽWL¼Š‹bñ’‰?à²‰Oà‰"Jôvùõµywâ.£‚×R£fu\1ñG\eý-ïý…'äbo"Éî¸íûžO{ô<p·;nâ^“áu×ñ†Ž7Mü	o™ø³Û©N¥½‚“‰»^O;¶å:³ñL6_éŽëø‹‰¿âÆò¡q!ÿ7o›ø;ÞÒñŽ‰à†‰wñÏ?–Þ$ÿÂýt¢v\yõÃô¨§ÔR¡²zoÁuÃ~`NñnX¾5câýîÄû›j{­>»eåj«Øgy°;±óvÖ‰:^Q	eÃ–kMñbÊñˆ•Éhè­Áe¨
x&ç¹¬²~K…ìü‹‡Y‹SB!–³ü¼ÍGVp-OSµ|PH­c¤ª^¬”Dû
ïõT­¾ª¼‰/ñ¦jƒ‰Qa¨.“Ù|`'ÂÂ¬î®ÇÈ¯êíÄŒÛ.C×±ª4†%ß³LýèäI–ë©Ç/”hØ¨Y-5øiÐsòä¸+Ÿ7¤/ÏªÜ¹ŠÎ‚rí)/Èª÷ICâx¿¤Oç<¨òµ±f›æ©0øŠ~Küñµ&ý„ŠYž°m®£«æXÍ¶óƒèvöÆÂÀfÜqýq~œÔ¡›vVµ>PžÙäÔÌö¥föe5³Y©™ÝYÍlÐjfËæl“Ýšã=|ê¥\irÉHu•îQŽë _FIÔÓR#çc|2Cm|÷ª¦‘
Ò£Ô“½d²9Z‚^DŒ«Fµ2’×°fœ&Ì""\¯ŸÇºÖ'›oJ^F¤„¦û(m–"ê)lƒÎñ0ÁšŠc{0Á ÝOwƒ*JJ£Jo£8€C#n@O–°‘vZÇùãß¸‚Mó¸¹ˆIÑ(áCEl./·¡Qw«pj+b¥ÛJøð¶]ÂökØAv6ï*á–=%ì.áÖ‚‘¶×0ÔÂ5ôa7ƒ<Dé&øtð³ø†k Që	LáI<ˆ§”/­!ß²/Ãôÿ3#¢&/³²W/3-¢u(ôª7äÛ>‡¶jfÉ¥Ì4qR¹°gõCò¼í"atf¹‰T;I©»BybŸæî3Ü}–!Žg©qŽUø+î%E7®*äP™nk6¤ÛÍÿñÏVˆ¿‹(kÒðZl8Ò7Çb¹ŒúŽ:úÚÎ)‚‘kØ;Þi›Çm%¤ÚÎ¾÷
7S£³O©¶•°ofw½ÄzzÛóï½†ü ¢«Ì¿‹E!Šâ<=¹ÀÝWX>—ÐÎ÷ý^\fù©=Ï¢ºÂ;qg®*¤ÖÉ¯ìO”÷fœÅVGŒÃ8ÎÛá©Fzö9UëŸg†žõQGRM2äûË×PÒ×éõõªôFËø²z _ F&¹'X)5ð6ÒßW+PQ%¬¾„H+˜Œ‚ŠÁÆ‰‘ÿb
Óeˆžr‘éÉ-l
çk‚„îèeYeN­w’uý~FÚêÕñ*È8ƒÓœ›¹Zƒð×NÿPKU|éZL  Í  PK   •€•)            )   de/mud/telnet/TelnetProtocolHandler.class­X{|TÕµ^kŸsæ•!LB^	ÏÂ$!! ¼MH€@$@F…“Ì	3q2á¡¨X©ÖV­hmµBµ7V­@±h+ÕZŸõ]k[k¥R+}^/$á~{Ÿ“ä¡·Üð;k­o}Ö^kíµöÞÃ=O"
éÏ>
ÓÃ^šLHò¨$I²Ç²WJKiŸ”:%Ù/ÉI~$Éòí“’ôÐS>:DOKõ}t˜žñ‚<ë¡Ÿøè§ôœsD’ŸIò¼—^ ŸKò¢ÿ7½ä£Qô°‡^–üI^õÐk’¿.?ø¥ö†$oJò–$o»é7½Ë$jª˜²k×E7F‹Z¢‰µEõéT<±v&Ó 9ÉD[:šH/‹¶´›zÉˆ™ík™¸F#ü1¹Óæ†Ö†ö&Ø¹¤’IoLµH¹1Å¤%&“7a®]+iÈŒ¾úHE¤zuUE¤/-PS1Gšc¦Œ>E}¥T	xÑ§Z^S[+•šs\UTéÆÕ-ŠH¥áTVÙJS¦c{j7Ó`‡Vz'Õdæ4µý‘4¶§Rf"½º­ÁJý)üA¬®[*ÅÏå2ä“R–@îB~à5¤nh«lm´ˆÒ	)UKé8T×Ö-Ž¬®ž3¿SÚ¨~^E?ÓÁ£PÿàEËë¥*—Éo«"‘‹«¥nÖÌÎ¥-Á,¬J‘¥©êÓÔWÚ¼ÚšnÉ…µ«kê-³
ÔW/BùøRf£ßhÆª.r€å ®6d¨ªWPšYñD<}>ò4iò2$`N2†Ò\O˜‹Ú74˜©H´¡Å”%™lŒ¶,‹¦âÛJ=ÝocšP3‹6´ÇŠÒfKÂLE[œJ¦“É–ùÑD¬ÅL¡‚¯5Ó3µ!žˆ¶D¶´Â@Î¤Ég,u\OÄ’›êã—aØÐÞaÑMé¢ªø3ÑO&0Ðßf¦•cÕÍIø3ébDV"™Ž7m©NÄêš–šÉTyÛ”ŠË¢7&]R)Çøª77š­i˜isÓ¯ä§JÍ(#eÂ,Ì G1+´^:•l‘¥òãmVA©ZsOª¼¤²F%/­‚rµ5Ä¢é(Þ´54&Û0e¤­Wn´^*ÝÞ*%WêM§¢‰¶ÖdÞkJÃqØJ(Qß¬˜[¢Ö4Ú˜×©oÓs–ÖÎe
Núbú¤'Æf«ó5v7Ë-@6?2íËCÑ f0z=M™­-[0GC²©I¥Áè“bÉ†”]/.†kmjmrÎ¼2b3Rã'ZÛÓM¦‰pM²³¤µ˜	&Ï¬Æ»ò|õÉöT£97.Kjø‹gŠœÃO—RÊO%Tê§i’L—dë§¯Êe^EÛü´AJII’´J·Þ^ã§Í„øôªÛMïûé×ôŸÖQ©›~ã§ßÒïüô!ý¥…FÎëí7}ä§?Ðí~ºRÎ´•®ðÓet¹›>öÓQ*öÓ%©¥sQ«§/He{S“™’	hˆÆ&çùé:&ÉŸF Oi‹Ÿ¾F×ûÉ”6I²V’f*e÷otS Îº†uf#ÖjÞøšXyÞÙ“Y°1¯dÊÔâ¼’âââ¢©%EÅ¥ySg”—N-/9/oC4ÕØÞ–W½¹5o<Óe<ž,ª©ëë™SZabIÑµ•[Òf›ì¦ÉòüqÚÒ†³	%M¥¢[“­Xƒ°³z-ÇgÖœAe•™B¤ÁÚ^ocÒ4¦6£f:œt¨Q°­µÀÝì/©Üâ±t3V¦ÙŒ¯mFÒ\ÑÖV´%SÁ™úê*ke1ûˆI5ÿâ­'´4úœôaìúùÂS€»Pžª4…†S÷á©xPæJžfóéŠûd•+ŒºNç÷7œÊx&ð,ž|¾ÿð—¸¸Òç W9p5ð\ž<ßk€8ðB<µ¶Ÿ8ô‹€ëx1ð^
\ïÀàxðr¾x…_|‰¯^uZ^þó´<¬và5ÀQn ntà°©Öa¸lXÅ×Ú¼Ùæq›¯³ùúÓÖ©e€?BîYJNØ<ióVÅ³0»hÐ¸ñ2xex?qX;èÙG"lH¦YLkûÈw’+ü8iZ`PDr=à“\·±®k‘ÇÔiÐ‰ä-#u™jÌ†—!ÚD£QicQe%¨¬
xÚŽQ~kvÚˆ÷0#wTÅ±%*ŽýQql–ŠcSÆWË›!øW0#6bPËÄ"À3÷[	ƒu’§ß¯L’÷¤ra!órþ¡ÖÖüJÚ®²Ù?Ë#ÁÎV3FKÃVR²˜dŠ¼½‚¯WÈèüý³Ç¼„µ3°^™X£s°>yX›ÉX—þL„mO˜®í‹kü–žgcA.(ÐD¤@Gtb
»DOÁç§ÉC?†µÃXég”å<ëë¾³é:£Ž,lGMˆùÄbÏû4¸´ºdÄƒê»:ånšx†Œú.Í,ÐJõ]4‰gÂaû)3¬IÒIƒËõ~„ÜÙr=Ò;)KÙCÙÜg‰^¦z•ré5Ê›(’·°•¼-à´óû*„i–#}!,¡¯«¤ô‚”nÀÆ§áûÝˆÒÓ,âMXD+¬õv™äºzjó‘Î|=ÐÉ7\‘p¾ôñqò¹ èwr4¹A?‚©áîQdíÈí'Èù1¼û“£Žrmu¬ö7áÖÀ:ºµ«\àc³¦•ù‡ŒæƒžEÚìz7d©JõùcHþèP)’{5a×&ÌLteaÐØn°ˆôòº§ƒ†*3åz¡Òµ q€†„ôE…‡‚FLöë¡Ý§~«•¹:(ÇúJê‚®ÒÈv]ö€£´ìÿ2¤[†ÜNCzÐCnºí04Èz‹x"ÛÌ‡vbÐhVU…£®Dúˆþ«ó9>Aƒé$Ö½ÇÎ)ÂOšÇ-`-e7­d­na¥8ƒ¶ßÈ~º™Ó­ ;9‹¾ÏÙt?ð>Î¡'9HÏƒ¿ÉCéá^v·¦QôWM]œË‚óÔ2.µ–¥·Î íPËè§Ò-¨.Ï>§[¡Ó0öQú$ò)ºo´sš¾ÉEp,KÉ= ¾C·Û[ÉlØ’%ã•E—…í¶?.YØ<ÖQWÞ¾Â÷Òê´gÚyVSúé¦ÆÅÔ¶©»èn«0=ïã™q–RÂv£øù’–ëè—rC+óhe^­Ì§•eŒÚiÌ…ô w»—KË\AWmÛM~p¦ØŽ2YYÆ˜ÊNdÏ)Â‘LúÅà=p…Íw Þ¯ƒnžëñìºÄ.ì#:¶Y½,£C/?èÛîC±F:ô—ƒ.it·ü)n7ÉW$þ7Ÿoã‰â‰ã¹Ï¥rïPº5:Jo	»€;ôXØ£øÊpÀRÔ‡ÝŠ/ÜC9ÙÁNŠ­îõq‡>#l€#Az­t©†ž%ÚÞ>ÇÚò<!ÙØî2wXë¤a”reZÌè)s«¶ò©Ô®)ÝEC'3l|MØÂBºÔ@‚Â!ÃÞÆ¬AxÑÿEàdÄrM»ÞvåÓïÛ8[.²}+£G‡I7¤o=–o=g÷­ëÿÅ7ñi¯oS½cù–oû6Ã>‚ÎW.Quà$ò§«ü=+å:h±}XœP¹3xƒrKùÐø°T KÑ\Ð@W™UèÂfºM™³ðÉHoJ4¹½XFNô	‡üÓð€ç²} ‹N]Ù‡F8_è{e™9*3ÚegÔl]VF»¥÷6þ—õ;3êµ3Úmg”ï´2:Ó±Öcl¹ÐÎã4•ˆÞ:ì²ÖºËZë>ÏkÝÓ?<›bÅt+ê’ô,>õôúäVMDÃàƒ}42PÍFŸ¡·ž¤Q+öÓèìÜNÊº:iLöXH4N¶œúœ~fÉ½d‡ª?éAË¤´m[½£·¦F:Æ	¼êíåAÏvÚ_(i\eÂÇÁKäß/°¿cYµ>’GðÌ0"	¼¦É`,'Ç9õ†RìWÅƒ;‘ï¨Ý'žôÆ°ÅÊzAoÈ¯I…:(ý¸•}õnëâ{t?b(&O¥L.¡.¥O§‘\FcyMàóh2—S>Ï¦é\A³¹’æò<“5t-/ oðBÚÁÐN^Dwób:ÎõôŽP7_ˆóà"6x{x%âUà5<”£âf“Çp3Oæ8ò:.áõ<\ÎIžÍ­üenãjNó|ÞÌ-|94[¹¯ Úéj¾Š·ó5üU¾–¿Æ_çø¾‘á›x“Ÿä›ù0ïà—ø~¿Å¿áÛøCþŽððN1ˆïY|—Èá{Ä0Þ%Fð½"—ïc¹CLäÄ\~P,ä‡Äþ¡XÎ‹UüˆXÇŠM¼Glå½â*Þ'ââQþ‘ØÇOˆü”8È‡ÄÓ|X<ËÏˆçø§âE~N¼ÁGÄ»ü¼ø€_ñÏÅ1~Q|Æ¿ŸóKâ$¿"Nñ«š‡_ÓñëÚþ¥â7´\~S+æ·´Ùü¶¶ßÑ.âwµ&~O»”¥¥ùm3ÿN»?Ôîæßk÷òGÚøÚ#ü±vjÏó'ÚK|L{•?ÕþÎÇµÏù/Z7ÿ·…è:ÿSwóÿè|BÏän=[^"XŸ#„¾Xhú*aèÂ¥›Â«¯>=!2ô´ðëWˆLý.1Xß-²ôûDŽ~@Õ‰sôÃ÷q1\AŒÐ_#õ×Åý¨§ÿYŒ×ÿ"&ê'Ä—ônQ`ä‰)ÆDQdLÅÆTQbÌ¥F…˜fÌÓ1Ãˆˆsâ<c¥˜iDÅ,#&*8Ï2Òbž±UÌ7n5Æ-bºrÜ„_:¸Lô^9 Ýª®SãFú®º¶g×Ñ=êÚžc\­.[:…Œ­êölÐtcú=æâV}í‚ä¦‘ÆuÑ÷P®±z1.c6ú$M0Zé^º2Ä‹ânú>ýùa-D°çp»Ÿ~`ßŸ®ÁLòÉW—‘kp—’V¨):0_+´ÞÉn,D3žöÃK,"ŸXL!±„&ˆ¥õ*ü°e¶ïÆ•¯~nYgÙöm2O¹¦!œû~fÞ¦¾Ã-E?èÙKnÜ›W`×_!¡½ˆ°vNì‡Ý€_ê‡=€“úá	ÀAýð8`öcê(èÿ!¶×¿{)ˆüGîJ‘½J¸·¹ZƒLÖôÃÿPK\sf"(  *  PK   ¨€•)            !   de/mud/telnet/TelnetWrapper.classVûWg~†]ö2N€l.$aÑ´±	,PÒKª’‚-4m£	`A`¬Ãî “ìÎ¬;³¡ÔKo^Zo½¤±‰ÆzoZË¢¡6=ÇsªÇsüÅãâïÆçýv3°§GÎá›ïûÞÛó^¿ýÇ¯¿zpCÇ=ðâðu4ÀKân”e9Ç‚ŽXõæ	YãxR‡Ž¯Ëá²û¦ì¾%»§d÷´hz&Žg“xßŽã;:¶ÃKà»òýž,ÏËò‚Žïã:~ÇDúÇ	¼(ç—dy9W8«£¯ÊùœàúI¯Éá|„òS¹ü™Ø»¨ãç8/»×uüçøe¿Òq¿Žã7qüVCcÎš)ÏiÐŽjØ2ä:žo:þ„™/[ð—^¶dýGM'—·JÚå¬ÞB9×ë[yÇò{ÇÂäÃb%ËÌ	cêØ)óŒÙ›7¹Þñy¹%µÁv4ì¨Rl·÷¨S,ûc>‰#nÙ×°3 Ž”ý09æ¹ÙÓ9¶V9”uuEbtÞõüõF)h;sB+º%_äÔ€©ìÛùÞ	+ë»
w±ä„»ßvl€p::'(<äæ,ÍÇlÇ.f¬Ò¸9“·D‹›5ófÉ–sí2êÏÛÞæ «ÏdÉ,UâY×qh™ÞvlF|TìjV(E;òDÖ*ú¶ëP\´¥çl/P·Õq}{vñˆ“™}ÌÊº¥Sœwç$ìê˜Ú|£|.{’ÁHqâIÏòGk±ÙQG…ð,‡¬ûë‘ëe$’-=¾`Úþ¬KKÓÏÎÓé–Èô 7Ä)I²£R9äè˜ìd6.”lßªi¹yÎòÇ­RÁvÌüøb‘”íuMn!ã¤íäÜ…1ûIK_c3üÞ‡ì‚åxÕàôW¥öHvÞ¥ýŽÊCK´ø˜[.e­‡mUëR{§h4ð(ˆ´í#úÄÀ§ñá†–Åhà6ð†èÞ†JÝ£Àƒ~‡7Ü~—ð¦|ÖÀ[by[ª‰ã÷ÞÆe:¾18ƒåÙYIwó:WúöøÞ‘åŠ%œŠãªk˜60¾fDzx$0bàBŠ©‚ë3ð8Nø2N²ˆFMÏ[`9ö1†ºw±l`ó*˜Ö foÅ"„Mü]1ðUüÉÀŸ1Çu«x/Ž¿0%9¶#3°9‹"õþ¦¬sOÃ¾zTºïfÝ|0îšX6¡)¥¡õVÝl_RŠá‘¥aWˆwÃ0k,Yž”wØãEÏ·(±J¥ðe BSPàK³uÿ_ÍVMîáì#3§XjÅžðÝêM(Ó! lÞ¢œòìÓÆlÞõØ
	ú?¸è[ž4M§tq#],ÉËf=ª¦ZLvl¢¤cÍqT™ÒËÛêÄ“¶œf-+wKŒòÛë…S¦¨Çm|ïá«¥cîÅ!¾^÷ñÔ€O!*§ö}8ÌoTG}Ù6êË–RßA©/{S}Ù‹Jîu¿…:ÙÝ\?ÇSŽ?X¼ØŸY–YEÃÔ
"ËˆfZZ—ÑÈ‹/âËHd´e$¯*=Ÿçº‡¿@$QÚn¦þÔ¾îàÝ1H7(­8Žaõ`”’bñ:)S¹>Õ•^ÁÇ–ad2ïÂ¨`Ë2šjÛæe´d*Øz	û‡¯aÛ*¶ÉŽÔÎ
Z{*ØUÁî
ö¡­ç¤o\Uö ƒTáíHp=N‡±‹ö÷A1*côœ”	…4SESC*;‰Ÿ¦vÁrìÃ(¡¤ÄSCšÿ!5äIø›ø‡Ð«øÛ×‚Õù%28'IN†Ô\3VüÅ 9]*tü_SSfH…Äx“5D6¿b²-“úxŸ˜ÌtU°w2“ºMºå°¦r'œ"ºÓVž?á
L¯£Lì­ª	‚Ó†/Õ‚Ó†)îÖ!?A«ÈHi¸™®ue£«Û2-žQúwV¹ý1U¤NÎÜš3yb®îL­èLkêv.ªöUðIF<ùaµˆ’tqI[
,¦TzŸ¦GÏ°¹že2ŸYî,wã+ÊrØŸÇÿ"2‰Ò8-DiÿŽ­ÞK¤ö÷E/¡Obz` ýu¬aÜ%¾UtLuGÚWÐYÛñîö
2Û]j¿xóï!¬w3¥À‹,Ü—X'/£¯0gÑŠWÑŽsÄÿÛí<y/õY–äEåË½Ul/ã|mÄ—&6¦‰joa)gYÌê{€M?DÃžòéªyz…<’ó~©™®þ4]J_öéËé7ÿC7šxÕÝŸ¾(W™®t=·˜nþ;}9p© €7¾7™ü· q
ï0üWØ•K4~•3ã:ùîvñM½ËœuosÂ­„
°?p­_9ÄqJ®¬êÎ°|Žƒž¬`’P[ìÎ5xƒQþ T	ÉÀD²f"¬ØfT+»§Öì‘TïZâª]ù×PWF‚®<Í®ŠÞ§Ô‘c§ZF[v­à®:þÒa:
lÇªŽCŠ¿ÎHøgÈ-ðEƒ‹¢Bü5Å_úPK©³uU    PK   ¨€•)            !   de/mud/telnet/ScriptHandler.class}‘ÏkAÇ¿“ÝütÛÔhcµÔd£F­â¡iÁJ‹©
‘€7ÉnÙnÊv"x÷ŸÐ“=yÉ¥`<ô¨à¥~wªEpaÞ{ófæû>ûÞŸ_`àn¦G>‰®¤p×Âèzhã¸GA Ú•íAO@lLÕúþ¾r|Õt¼4ÀO ±ë¨Îö³þ>ïêP Òª
˜Ý¾/ùnK Vq}W­
…b“'µ~—'éºëË'ƒÝ¶ž;m™L½ßq¼¦¸á~’4Õ¶Kí\½+Ë»ƒnYIÏ—ªÜèîžZwü®'ƒeÖÞ—j°'0[¨ï8¯²çø½rC®ß[‹fþM¬ÐªnI(X!æI¿§ˆ/\T£?:rÍÕ\'ŠÝ…,œFÆB3q-Ø(Y˜Â´Iùÿ°
Ìü!yÚÞ‘u"5†c_{RUß(I2³PlU‘çXâl¹‰H ÉÖ§¸‹à«ê˜Ú“‹ÞàbÒžá®Â¼ OÙ_ ls„È¡¾{–vá4óÔ.P)Yî¬ñmdqNzç'J/ù*B?WúóÐ.}†1‚iÓDCó—nQÚ2í²Ý%Ë=ª-iýìXc¢FSü3¶Ÿ~~RiD.“~Óþ„È;DÍ¡±ú÷K¹%&L®èÒäìÌW[a}¦Öÿg5Ó[C„Ïß#‘[8øõÍã-ê¶UhWØ‚Uäðˆ U<@±Æ“<ÆºÆµÇ Ç¸›Xà¡£ÂATq‘QØöKºÆåßPKüS“Ò:  i  PK   —€•)               de/mud/terminal/vt320.classÕ¼w\TWó<çÜÊ²À½–"¨kY…UA‰KQ‰4ØVEiR¬‰¦˜“˜®&ödSL3‚IÔÄôò¤WÓLïý‰IžTß™sï.«B~Ïóyß^ó9ó9gN›{ÊÌ½KžýûÁ‡@‚~R?ôeoG±(öŽ‹¹Ø»$¾çBñå½OyùÈG”÷1‘Otö)ágD>'ò‘/‰|Eäk"ßù–ÈwD¾'ò‘‰ü›ÈODŽù™zý…È¯DþCþFäw"ÊŸ:û‹ðoCä sFÈu.ÊWU"H‘h"n"1Dbu§sCç¦Î-Çë<Aç'ê<‰Ê“užBØIç©„i:ïLØ…HW{uÞMçÝuÞCç=uîÓy/÷ÖyºÎ3tî×y÷Õy?gRþD²ˆÐy¶Îsˆ¨óA„¹:?…p°Î‡Õù©„Ãt>\ç#t>Rç§é<Oç£tž¯óÑ:/Ðù%­q:/$<]çã	'è|"á$´Ÿ¬ñ",çSI(Öx‰ÎK]°ŠO#;¤óé:Ã™ž¡ñ2œÃgè|&á,"³‰Ìqñ¹|*órÏ×y…Î+uÐù/Ôù"Wé|±Î—è¼Zç5:¯ÕyÎëu¾Tç¸¢x#Un"ÒLdå-×ù
¯Ôù*¯¦±žéâgñ5ÔáZ*?›È9.~.?È:"ç»øüB"Q;ëü_ªóËt¾žr/§Ü+t~eßÀ¯ÒùÕ.~¿Vç×Qû×Óôo ²‘È&ÊÛLÜÄÝDd‹Î·RÎ6"Û‰ì wRÙ.o&î"A*¸•Èm$ÞNä"»‰ÜIä.ß­ó{t~¯Î÷èü>ïÕy‹Î[u¾Oç÷ëüªþ Î÷ëü€ÎRyXç‡tþˆÎÕùc:œòžÐù“:JçOëü?«óéü9?¯ótþ¢Î_ÒùË:Eç¯êü5¿®ó7tþ¦Îëü-¿MmÐçïR§ïw„mqþÎ?Ô9.…u–¤óOtþ©Æ?Óøçÿ‚/ÍÀš°¸|YyÿêòÚ…ý‹›ªjžÊ &¿®¶±©¼¶iZyu3.ˆ/(•ùÍ°B	ðƒ¨êºŠòê@Å¢:ÌœÁÀUßhlTŽ¬D¡)ÐPSU[^M]°©˜ò±¿â
"DÊQ§¼	û›ßÜhD¡ª¶1ÐÐTSW@ûnjn´}YÓ l›u×Ö5Ô”WW474Öa+VMÝ²@]sScUe ¦¼a!6êÚÊŠ†êÈV”×7â(—0Ðj›klN¯©kÆžê›B, ‡7
'BÕüšŠEå&š`ycÓòòFjŠU1
Šóiî©ÈNMì:d'L ö|œÕTa›õ˜9®¤˜Ø‹/Ø+‘Í/
›‘l·uƒè’â’¼’‚¹£óJòpêŽäôÅÚrœÊ¼-ÇiYŠh#¿`
eÉŒ¶†Š§”æM- |¥­²3 ­êä”ŒÍ¢<íø¼”§Ÿ—MyQÇçåPž‹Ù6à¹£'O˜7•
¢ÑÀgP¦¶p’™´<ÒÊXXc]_\T_˜7:©¹¦¾¼’AüÌö–jô˜æÚŠ¦ªºZ±îŒ©xQÕ|ŒqYùMØ|lDN^5ª¨%åóEuii=.ÄÑuËkmnB€ÚÑ‘›ZµpQeM¬ªmn\~]MM9ªê*EfA-n |ÌEcš-hŽ ÈãÕØ{GSU‹•Ôâ n¦&»Çqu5¸ÜUä
DY¡ØÈLÐšG¥¢†À²â
à¤ÀŠ&Á©¸à±0jTyÅ’âúò
ä¥ºFÜtReE£³)çÒÞ¢‚e5˜%ãÌÉþ¸þ5\=Ëpí“XˆÍÙ"2ÍµU5å8\eyCUUÒgŽÊ˜†•ç˜-¥!_lÑ¸	Uµ|bóØtu€:'¦•7T‘ìdÊM‹ª°£¤	•þ5Í•ýCÇEÿeM9ÙYøX£ê››ìgÌÀ“~òƒ§.¶ Upê&mú’@um I<2šœ.)UÔ‡UÕV5`^Xh·V¾¼©ÿ˜ºÚ&Ñ”²¼ª²iê-
ØX^€E4ãuÑ6µËÉ……TÍJo§-7žbÎâl”ÓgûØ'¥Š…Ó&ãf@¦pÔÄüÐi#áÑƒ«yZ§hKœ\ŠÓ|sSUuÿ¢†ºz\UF{Ä¶Nbû*Ø`ëx*/¨ZA,õXq,Ç,<^NHÏhoƒ%¶cýxà«•uöœÚ}>¨ 7×†–d¯öTÚëMjª¡%UU‰§‚ZW])}I`eÉÊú >È´‹–j›úÓ&!FXE
,C[¦t¨ƒ«¼ŸSCJ£}@HåthKl³;Ü"ZùÑÈMÅmYÞH]»P*²ï8ZbKÈ+Äæu-Â%W˜ko3G;ÏDµ¹õƒeÍÅmT!:Óó3ð¼c83×Üb\²Î}&5Ô-§Kƒ“kÊWÐqØ„‹BÃ½`HIÏ‹‰aËîÊºÆEuËC—¡ÜXµ
ÛNh›úèªš@m#s8k›n“¯n®¡k’ÓjÓ+ëjªËqÉµåØ([ŒTWÕT¡Eœ+­L}XEµ³{\ÅuÍ1U´‡]b¯fRnþÿÚÍ’˜éæß°nþ-ÿÎÍžaÏºY2å}Oy?°óÝì*vµ›Å³7ó0ûm¸Y"‹q³4Te‰t!Ò•ˆ—H7ÒïN¤‘žD|TÐ‹õv³tW‘¸š¸5l­›ma7ºÙV"Av™›ÿÈÿíæ?ñ£nþ3óLvÚ9ur‘›-b1‚âÆ+Þf§ºÑ
6[ìfKˆ5N\©nÖÀf¸ñ BROd)‘f"MD–YNd.ùFrêÌì5rldCîêfæ8AÇ ùÑ·`º(°ÆÍj©oä"_G¼‚íF¡:$A¡†l7“º‘9€'<ÅÁÁ±1;ËÁæ88ÐA§~v®9Ž^N¶ƒŽ~kÍq‘Ù4<pÀ“‹¢ÜlÉ8­<7+wØQn\¸6›ïfóv´›•ÙìäzA—
Ú h£ M‚6ºLÐå‚®t¥ 5nVé<¶j78l­›-pØ‰n¶MÅá¿âÍÓîÅÓokwamm !¿Æ@#.Xþ7ÿÿŽçåqG=®ÿ‰uµutÍV’Ú8{<×:q‰'.—QÍhõŸOMéÄ¢¼Ñnþ'ÿ‹Èßn~ŒÝ¦Ià–»ËÍîdwa3cÈK&’O$‰\4¶´«=yú$òG'&WbòÄr&L-!¡`âäi˜ÃIY¶Uå	c°L™Z8vé S˜WT@žB^þøâ¢¼|ä¥’¼Qn‰K’›ËÎs³Kqã w»[’%ô1V2$CGŽYnæg¦&©nI“tœ„å–\R4éº5)Æ-ÅJqnÉ bJqšd¹¥xÜyR‚ä¡Fwãðb°A~èll-ÓZ·”ˆÚì
†Ž2S4)É-%K)8fôr‡z5©“[Je—¡ŒŽëP¯›ÃJÝRµÙ™HÚ×+ðñJ]%,]I{"ƒN˜^c0fTz333½xb6WWz—¼x¬7x›¼õå#ÝR7©;YH¤®xZ±utZMgÉ(â¹ÁJ°;v‘GØ£nvˆŒ3KÙÙtð¤éD$•úô }½ÍµKjÑ…ôVšp‘õ¦ã¼2lÛ{Ó½x3õŽÍòR´áÅcv¤—Dar’â2¼CÇhSÁÓËýCÇfŸP²û›Ó^k=°µ8om]“·±¹¾¾®¡)P™éf“)u*ŸéIƒñ6zÉÍ«¯à¥:Ýhn©‡ÔÓ-ùØFôu¼}OÒÁm•'è(Aóí–z±ñÔô.¢mýRVõ‰YjêÌ‘rjíáÎTKJµ'*á= ±'fúJÓ´Ë+ÐÊ^j¢[„\Õˆ;å¡·¿,à-Q¥wtUc}uùJ´Ér,ô8¹ä·z)ÌtòÓJ'Ÿ„›çÄZt…c±«¯wyUÓ"oQíp¼Vi
§fãý™€×ynxoþÔ	c¼MuÞ’©¥¸·â#>Ôk›¼ÈyH$YÞª“íë9±½1yŠH¹údeî­tK½ñª“Ò‘°ÇqK$ú¥>n©/=D¼L²ÐÂ<u&Ú”}oMh¡âöpVîÌ×.æ·{\âÄNÌŸ6º~²û5¡ª±)PK1Ñ)=Ñm¾CßeÞìÌƒ¼ÙYYYýd÷ÏÎòfç5tP–£ú
´}ÁŠzoO4úúÉKÇˆ£Â÷ò†%ôØ°„žx¹íé…äZa<àxUEuUê¡NC ²¡|¹íÛr±p™¨úTQ”]×P~V¡ð³\) p\¦ØòÊÊãfÒµ=_4T,ÜÑNé8Th`{éD[‹ÝNjñ8Q-©WÚŽFÔòúú ¹£}ÿ+oÛ¶.‚T4@Ç¥zS](Kh/Ô@7­äÈxë(Z)^êÈéXF56ÏotšH¤È©=ÇßlË+Äõ¼Ì¡×SpTH—m»1F!=ÿÆ®¡wX1y±R;íwŸr‚ÝkÑé1.˜ªÆ|;h°ß	àòCw%ºªQ¼a°ó¢ªóª>©ƒèÃ^OãCqFHž=¶™/ÚÌ‹x™1Î•¸j(œ§·U{Uuøªj)N”×à$âÛÉ¦ð¤jzW€=N€›b¿ºú‰â­^ôÌêššêjB9Îû8g{¡ñìý`çÚCÖ07_,<j×ÞK‰¡òÄ „6]qEC Pk+º(v	>q'vO1tÄø\•…5ìÑ8BÎÎ„½úl›ÜýP0Ó!…¹Yò±âåYtb3Ã²…	ÃÁcD"ƒñŠ3IÈäŸØ˜â`'SLs°³ƒ]ìê ×Án¢ HF`{:èsô0ªãHù.òcúvb}Xrxü}Qî!g¢Ü?BÎBy@„œrN„<åAr.Ê§DÈƒQ!EùÔãì×‰‹‡£<"B‰òirÊ£"ä|”GGÈ(‰Ç¢<.B.Dùôy<Ê"ä‰(OŠ'£\!OAyj„\ŒvEßNØý9Ó<CäsŠNÎtp–ƒ³œãà\ç9Xîà|+¬ë‹SŒ"pƒ\ä`•ƒ‹\â`µƒ5Ö:Xç`½ÓÏRlt°ÉÁf—9¸ÜÁN;+\åì‹ÕÎ>ÁðY FÚÏvÖå9Â^©²L„xN4Zúäûˆo˜îU.¤WÏ"ãTv½¶ÙÅì|8w€2âÐ>­ÀFtÞ9~ÿ^àr+HÒð þ>i­ Kû@YÇYZçíÇ~¤r•tZAó·‚ÞÖc/ˆBš
ŒAn,X0’àtè†˜`L„!0YŒÈo÷êŒˆ¸õtŒ@øÄFäØÊ@v9r8>
[œñ¢ÞÚ›èÑl¢]n–±¸ÛÑ£7#vj)¸@Cóõð§¦õÛQ~©\~ÃÛÑ~ËÝ1”K$ŽˆAÄ$bùåˆ'’@¢‡H"‘$"ÉDRˆt"’ê7\\-æ—Z¡3‘.Øz+tõ•­àõ+˜Óí×=WöÈ&¬Û:Ò\Ùï‘è-ÐCÊU‚8Š½ÐÃ£È%ëÝ£xd2¿Õ³|~«Wôö[é-á·ü-ÐÇ¯„¾-ÐÏÁLû;˜åà ³Ìqp ƒƒ°Ç~™ˆBDµrgÓÅ(eRa&fRa¦jÒV˜M…ÙT˜M…Ùª5¸­p  ÂT8@µ†´ö§ÂþTØŸ
û«ÖÐ¶Â,*Ì¢Â,*ÌR­SÛ
s¨0‡
s¨0Gµ†µ¤ÂT8
ªÖðP¡5¢Fú­ÓZ Ïoj|¿5º
ü†Gbª‘¬±ÔÊjÀ'8j¥·àhdNCÒGpº5N ¡Z…6£Y§ÛŒn·™(k‚Í¸¬‰6mM²·5Ùfb¬"›‰µ¦ØLÒ|›5Ø¬iMµË*¶™x«Äf¬ÒâÐ\¦…˜é!æ)WâúÛÓ<ª=Éé!æÁ¬S™G5¶;BJ¢ÿ‘Å‚¥þóˆ$Yeek†@2Î ¬Læµ—ÓLÌ™)Y³Bòl”gKÖœ<å¹’5/$—£\.Yóqè.‘Q’UIíWÈV@ b-¨ZjÖ"ºU%Í¿Øf4k‰ÍèVµÍDY5øìk[ ÎoÕ·ÀR¿ÕÐ~«©šý¸—ù÷Ãò2ÿ>XÑ
+Ã‡{šŸó›Ý ÛÉltfÛ¡;Û½ÙNèËvÁ v3ä²[ðÜÂiìV(`·Áéìv<õvC	wC…9Ü‚0–Àl¨‡9°æÂ™0Î…ùpTÀµP	7A v¢Öˆ-°ö£ö#POA<µ^‡¥ð4À§ÐßâØ~†fø–1–ã9º‚y`%:#«ð‚^ÍªáLv1œ…£ZÃƒµì8›ýçq	Öñ(8ŸÇÁÜñ.p1ï—ð,¸”…ËøhXÏ'Á|\ÉçÂ¾®âKáj¾
®áçÁµü2¸Ž_×ó-pÂF¾6ñƒ°™?	7òá&~¶ðaÿ
¶óŸ`ÿvIn–¢á)‚Rg”{ÃmR6Ü.‡;¥¸KšwK³à^©öHÕpŸÔ{¥3¡EZ­Òe°Oºî—n„¤›áAéNØíé ”ž€‡¤çáaéu8$G¤ÏáQéxLú—ŽÁ²OÊÑðž´ÿ’á¹;s‰cœ}„.ä®!÷Ep×Š{ˆ¸ëØõx]$mb7`žÛ¤sÅ-¥ðcèf§Š+f£sK•‚ô6¯˜ý°ªÌZ-®}pæ>8«íÞrQãèáYè!ÓP¼v•ðÝ
röP¨‹MN£pt×áÍUd$÷i§åN…>tÛ­è
·ì²oÅ‘C¦¾<¢½ÿcÐÝ Ýì6ÏÂö,6³‡¢&u«úSñ~=áºF'»m`jx`*»	 Ø–p;#"ÛI=q$9 °´µÚikkûm¥œØÖ0lkxmmsÚÚŽ{]´%À  H9tr•ÑMQ&[kŠËkmq™j]<IÊ•ƒÙg?œS¶ÎµÎk…ut¬Îo…ZáÂ‰}Ÿ÷{…Gî{?\T¼NfÙpm?ö²Lõn	×»¸ýzcœza½KÚ×›v¢Þ¥íëq¢ÞeíëM?n¼xA”Ñ<yz¨^?œ5­õHŽ¯™}B!ÍËOÒÐæ'ifu yåIšý;ÐÜp’f¿4¯:I3³Í«OÒœÙæ5'iÎî@óÚ“4Ë;Ð¼î$Í¹h^’fNš7œ¤9°Í'iŠ\1Úö¿·m¼=Ð7ÞhHÁH´+ƒ1‹üŒ<§³	PçZ6	nÀ‹,ÈŠàF˜/²©ðF–¿²ñŒ±R¦adÙ£ÊQNÀh’¾Õ-Cz>F’Û0Š¼#Èg1z|#Ç£¬œKl>ïÂ*x?VÉÇ± ŸÎð¶ŸÃñY¿ƒ-æO²%üuVÍ`5xÄ×JX”ÁJ¥lŒöè€hoýÐÜN¼üæ¿³›ñæ"¥°[0â“ MJW„ŒG0xµE}0ä8ñ(Z‰GÑªŽ¢D(1v+ºv[ýIF$ÿ+æžNÚs"ÎiÅi†Ó—'§òlìÀ¾«0ÜÔ
›Ó6‚NüòîpS…kìRÐqün¶LÍÚ¿³ì0Ž¸;ðÈä¢«Ýá9KÎÕGŠwËM»Oì†î+»U>ÞÙmñ[ñ	ÈJÃ¤áÖØIAöHh!âô§¥Êfm±×â¤TtìÐYSúÝãOÅpövìIÅvË1-Ãô=¦€'òÏlã;Jpõ	r¨ÍG<1k¸3Ž KŠÌÎ†Èì­¡lø22{[8û•Èì²pöþÈìíáì]‘Ù;ÂÙë…)Œ¬í°Èæ†ì„9©÷ÁÎ ôòïNaÏ?d`ÈàAIž‡ZˆdÔíÇÞˆ4{ªPÞr?ìÂÃòfêˆô+‡¡ËqjëKm{<$÷³ÒZá–²a›!–2¨õ]g¦î„NÇ=ÜV:Uûµ-÷‚lÈ¼+hÜ.ÞzòÉ{¢ƒêƒ»Ñ¹}’÷†÷x:å,šûYwÞ‡Á“`"Ïd%¼?îø,V‡ü9| ÛÊ³Ù­| {Œç²§y7ö>ÌþæCÚ^_ Cv·óçovðÕdö'»WøjûWs®xÆö°ûìUËÖb=t8áÜ_·GrÛ$·çÊHïÈUîÎU1îJÝ
.}È÷"FmƒÓ;oË/¢­l	wÎô ä¦…²”PVÊSCyqB”lñ^RèîÝñcéŽWM8ûlçyíƒ;§S1ö \Û@Ã^ÒN¨¡6ÿ4ð {úÄyhúQ``üÈ …>|2dó"ÈåS €O…B^gð˜ÍK¡šO‡¼Vò™°†ÏÂØa6ÆsñqÍƒ§yy›—Ï„„gØ^ÖB?Ç€ÇX«8f\ðÛ‡œÜÏîGNÆcd{€¼tHƒÝìA–,¼ôý¡‡Ñá»$¾¨ƒwIv§Œ5¡×`7QXmî?>OÅp…Í™–¶	’ýÖVñ4èÜQ~ë.<nQHÝ$Ô²mmï6ˆEã»üÖÝdj*ßÈÓìe1 —ƒ‰MÅ`STd‡QÕì,rî±sžô[÷ÚÜ¬´vôÆ
=¨¢_¼åÉ¶·úÅkGÚ¶‘­÷¨·ÛS¾HÜH C_lËÿŸ¦iÿƒîLó"êMÀDAùK˜ÞÅô¦£ÎkP7}W wþ˜²1ô‹÷bŽ÷
^Žà•^àµ^àH%#RË8N-ªMhsuani˜ks½Ã\†àðieÐRØÑ¶ié]”Ø…Æió"w­”«SX0TÃ:nrü‡jr®žfgÕ”\6?IÓ‡jj®Ž«sÏFxÕ£ØûLh_¨Ât
¦1@,@%¦FLçbÚ€i;&Ú186uŽ™K³:â™Že±Æ1®#Îqìëˆ“;âi!+;rVÈÐŽìÙÚ‘¹…ìQî éð—‘¤bÒ‘§/>ñ˜>Æ”€òCvOBì†ëãsÄîˆo"öÀü3{"æ"ÒÚôz0jÀ¶ØSˆéˆAÄz{ÝÁRñ{r€ÄXÛfŒúÇ5ÊPšÙËG\Ž8qâ\Ä•ˆ5ˆ«W#bb#®ÅqÐñw%"–ÁfÌÿ7:ÌìK¿ñS+ÜdøS´íÙ«(„,§@Š²${ …ÙnB6ÄS E[œm )¬xIaÍf’¢BÒB’\!©Œ¤è4ž$wHîqP¸~~í„åÎ~Ó„å¿ˆ\ÂOù/¿ˆÃò·~S†å÷Ä©Ö&?/Îµ6ù _Ä7aùN¿ˆbì„-â|Å€Åî(\æa£Þ¶¤C{œÅ~‚†5fØ¸é|ÈF{”­è÷(ôi¶­£emÀÓ8ƒ²ñYbÄ/Óç„ êc–§-Ë©í=ä&ts€×ã-»oÙ¼e›ð–mÆ[ölttÎÁö\Èç—À,~)Tðõ°˜_Kùx»^	çñp)¿
®å×ÀV~-ÜÎ¯ƒ»øõp€o„gù&xofÛ0ÚÍob÷ó-ìq¾•½Ä·±wùvößÁ~æ;9ç»x¿™§ñ[x/~+Ïâ·ñ¡üv>šßÁ'ñÝü~¯àwósù=ü<¾_Àïç—ñøFþ ÖØÏ÷òƒü(H’øÃ’ÅIÝø#RTÉ“&ñÇ¥9ü	©–?)­áOI—ògåzþœ¼‚?/ŸÃ_”/ç/É›ùËò­ü¹…¿*?Ê_“_â¯ËGøò7üMùw~XÑù[J"[éÉßQòw•Ñü=¥„Q*ùûJÿ@YÇ?T®á)»øÇÊ^þ©rˆ¦<Æ¿Pžå_*¯ó¯•ø7Ê§ü;åþ½ò+ÿQ•ù¿UU-þ³šÊQ»ñ_ÕLþ»:ÿ¡æªãù1u¦êI—å,Û9È9žŠZòTÔ’§¢N
y*ê¸§¢Ž²=~™ô
;ˆ¤Æ/³‡°TÇ5ðp8€œêSö@KÈ;kÅ{¡O(þÞwBP)EaPêŠpm:…]›Nâc$CíCÿØþýÿØ¾Ûé ýNÐú{Ôi¼ Ç¥šï%u÷x u`[DK±¥ìÃÐ¢äÞÇ…ŽcÑ×s¬ñxøå+ý…&Fç0#‡G ÙŸ+ûSoMÂ•ÚÜŸæi-âKfü&ðøËöbêÎkx`ðÎ»0îŒ9'|ä”û€"÷…h9’åþà“@_9†È90BãåÜ¶·0!<Ú	ì	çîö¤ó‘s{J|äŒ†ÓØÓâ-§_vÛséž…©	ROsÁiÐ÷BELI¥Aæjá¯µ©&Ûô¹«“}'ö?ô…`4>¼ÛbÇëð0@TWD¼§$¼›´Y˜nÁôæ@¼ïcÓ±”M,NÎJ¥Ûô/á¬Ã´Óù˜va¢Y~„i=“.î(MßD>£ßÛ‚§®¡¶@'ŒNi¤uÞÖdk¹Í„›í	à
Â¶Š\¹’«m/¸G–+·Ù×<—%¡[m·2O´2÷¨ÓV‘¾Ó:ŸÁz`Rå’ $ˆQ?ì·­J¹Qž¨¨•´MàFÇ'Æ;™Í±ýaúø½Ã.c‰ŽÝÉ7ˆqüL,@k±ÚñM*íûfù5ê/éTúºÜIº“úãÆ³Á}æ÷K3p´4Ö¤N4z•ŒG+W½×'MBÔHü³âämME¹®ð—zÃ‹4¶]çb—GÙF Ë®œÇÞÂ ¿htÙä8ýÇ¨RY+¼n÷µÁ6^âÅvØ’´m„¤ºbvC*jô(¶ÛÁ(-ØÇƒ‰“"ab®ç'‚‰CåûàÉ`bŽ$ /õ•JÞ¯+ucb—`bª=¢íxq:Mî­'{%¸Eûø¤ŸãÛOï'YÛ %Õ˜»âS5;iœÏ¤^mÌ­8Œ:…`©­ðì0Ç~IaË¥:†£uqBÞcö“ ›=ç‰Ab8ûxÒ<¸þ%~ô,L5fmÚQ)µ£WS²‘ºí$Õa>>*®KµÝ{ÜEAWè¤ŠÍ-Í±ýTX#Þ)ù¸„~­äÅ”)»òHüCL¶“ÿ¦#Ô	Ø>vX>ØŽÎ–>å¿ûÐ©ãê üÂÿa~£0ýoöi:¦BL§úuzPñWãÂ’ŒQ¥²‘E yª1¬”Ö..ãçÄiÇGÛ¯;¢üž(ç×®Ð¯;\rÉ:—ŽÛ2jû±ƒñCè1?%i’4™@¶A±AEPÄŒãŽ×xynY?ý¿9­–ÿ¾¶uqÄî³Î´+n·íj;­Åç»5;´{£Ñ'a¡“×´†­!bŸµÀ¢b¼HÛ/­.Ä¾@µ_¤á"¾Ô±AKòâ 5÷â	™?ú(Á|á7\‚yŸžIÐ<¬ÐÑb¾¬éYUH©B:áë¼lï¿ó­WÂOÐÜœjdm…!©FÞVÈI5Fm…~U^u¶¬õZ;u!ŠÖLj©½ÕÍ)ÿØÒë¡–Þµôæ	-Éá–4ÑR–hÉ/ZêÑÒáŽ†¢„0žüÇÞê¨5ÜÀùâj	öË—Á˜L)7/V)×Óï‰ö¸\/­s3›~ÇôÝºh†ÙÊöcGP/¢»·C3'ÜÓK×ð9ú0¥“ÎÑ‡÷Á»¶jÜÑˆsôáÈsôá`ÜáˆsT~I–«wýïÕay6þÿ)ñåx~-h“¥þÜãõè·…Œvj¦çC˜i¸¥Î3²*'ÛžJìÚ÷ÏÓ¾ëH¡²æˆçù½°§Ó,“ÖÐ‘¶5;¹C­÷ÃZ’øAŽDÚØ™)<°Kÿ‹¾<Ñ/*é‡„‹1‘¯]ãø©õŽ?¶ÚñÃV ú¶,}éàW~Mˆgõ“üF}ðþ0c‚Oï¡èA„AþÐZ )½:ûGá±G~)Aëì:6,3ÓžÐ‘È	ÝêŒUüŠÑ™W“3_¹SŠíg‹yltæ±Ñ™ÇFgýâ÷VÓofKÖ'„s%ëSÂrÉú¬˜ÞQˆ©šöÇ}œk!mœežåÏé'ÿÃt¿èxº]‚îj[ÑH2œ9*Žï’á¤^„ArÄ¥ {¨m ·Ž{â ;#lTâØh¹c£²ÍŽ®pl´Ù±ÑfÇF›mö‡~“ú-Zè7hÎoÏ‚0õ„å0ÊYCéwœŽ‰2Å/?ÿÉ6_vl›Áè"[Ñž`/gnàaf}%^‘ÿÿ5m•èžöñMÛ†rýÝ¡Ö·¡Cõ»õíƒP “Ó?Å$âg®‚®»#šûÞ¹Bu¯Ž¨‹gŠˆÊÏrÚAŸ
"êþ9çD·å0‚®qª?ž¬tõŽPøwh"?µ£õWÄÑQƒx·+Þ»ÖØ2%VÙÆÿ7‰b÷ÿ&	ÝÝ'Ô]†Kô	\w™˜.±×£\ÒV®àóVÒl^Å½ Â„öTÖ·é¨ßýoãýÇ¹<ý÷túÎAù|t«òem:üEm`êQïU¬‡±¾v-kÛýF4-ý¿áÌ9Çù­âÐkþáN¬>¾Ý[Ä.ëï·ŽÚ/LõžA½[ävß'¸ÍB?ç<HþvŒß#\ì ä’7)•µ«?Ð©OwÚŸ¾	@OZ÷qAmí»Ÿi•Ò/½ƒZ0býýrÜ¶úµm7iç×~hLô¯§ÓOoçìó5Ï” 6)¢áÿ×ðo§G6œ1îTgÜ=ÄOÕƒê1÷ïŽ¿”T¿ï°ù?ÚšWŸ±=õ]àöhò¼ÜXzm;ñô’dUÊµën:þÝe¿4E”#êÅîP—ù=±¤ ÖØ-íÀ¶1˜ ¶Rœ¸ ÛÖHŽ¢ˆâ¤æçÔü¼pó»Ô¤PóÇWsBq»š®¦Ú1‡\¹K9Š:‚Ê«áˆwh¥?Û¬¤ì<¡«Ê“º
¿‘Q–ÛQ”RG«y‹s•Ê™rÈD7b,EÓ“ìj‡UÛé3A(/:Ä†k¶½Úql±RÑG4)^ñp~+üí—póÊ_„§ªåwÂ¡¦…ÎãÇ5Ø6ÞãÞ1‰Žä¢£ ¼!d‘ð§‚²øèçS„|òâZ¬(je”§IôèÃëb™Çy”Û}”O‰pæ9{ˆ;wË0ºÿCOtŒ¿”ñÐoŸÔJ¹•± ô&~xý’3ÕÎ³3°.‰Òm]Ñù³0]ŠxwÐŸuˆIÎ£?Â ®MÌXÛ@¦´?¡”³…þzDù<\mt9qt1BËc-[ÊBr;¯ðâ˜'.d­ƒRTÈÀ.ÁÈ“¥\#hÿÄþ+Æ×Ìc„ª|äo´(³œ9+Î¼ÉŸòùã™d¼üŽP Ïd{s psÄ3ÅUGTíÍâTk
ò¥Æñ|Z‡q<?•öÌ&4˜3)±òb…OÈ>
ù„ÎonsžÙ L‡Áþö›“ÿ¹ýÎUÈ¬-ÿNYÒ·aÓá"ÊGüé6Ûß`ÿG"½Möyñ“˜r¾¦Ã%V9[G„ ÛÂËBÐláñ <„‡D–ñÇ‘w-ýeK;léo[ºÆ–.$I°!«]*åyê
»ÕÚ­ Ì’ùŸµ'WJÇJ†æÔ©„ŒvŽVª$ŒÖ¡süw§ ä´UgúI/C"_EèöŸ\‰­¸¢Ä×V{'ÊB”í3òøcÌ9/Ó6ÚÇWøïÙœ£¬íƒ«v„ýŠ×íP\è§‚[–<’å<è&‚t¹êåI°\ž«ä"Ø+O…åb8„>Þcò4xNžoÉeð±<>“ç0EžË,¹œ¥ÉóYWy!/dãå*V*/f3ä%l¶\ÇÊõl±ÜÄêåfÖ,/c+älµ¼š'ŸÅ>×²Oå³Ùò¹ì[ù<ö£¼Ž•/dÊqU¾˜GÉ—òxù2ÞI^Ï»Ê—óò¼—¼gÊ×ðòu|Œ|=/”oà³åÍ|™|#¿TÞÂ¯·ò«äíüzyß$ßÂ·Ë·ò»äÛø½òí¼E¾›?#ßÃ_—÷ð÷åûøGrÿLnå_ÊðoåùòA~T~ˆÿ*âÈHL~TRäÇ$]~J2å§¥4ù)Cþ—”-?'"¿$åË/K“å×¤2ùSižü™´@þJª•¿–Î•¿•®–ÿ#Ý$ÿ&m“ÿ’vËK{åcÒ
HIzS‘¥÷EúDQ¥Ï]%J–”hYWÜÊEJ¬²^‰S®Tâ•ë•e‹âQnV•ÝJ’r’¬ìU:)*©ÊSJšò¢ÒYy]é¢¼‡ø¹ÒMùJé¡|¯ôT~Q|Ê_J/UVz«ÑJºj(j¼ÒGMQúª]•~jw¥¿š®d©ý”j–’£NVª³”\urŠºD¬Ö*ÃÔõÊpu“2RÝ¥œ†wÿhõ¥@}R™¤¾¨LVßTŠÔ•)ê'J‰ú¹r†ú•2Ký·2[ý]™£qe®¦(ZŒR©y”€ÖYY y•ÅZ/e‰–¡Ôhý•Z-[©×+KµS•F-OiÒF+Ë´qÊrm¼²R›¬¬Ò¦*gjÓ”³´2e­6[9[›§œ«U*çi•óµó•´‹”K´MÊ¥ÚãÊåÚ³Ê•Ú‹Êíåjíå=V¹^OP6ê)Ê&=M¹QÏTnÒ'+ÛôRe‡>CÙ©ÏVnÖë”[ô+•Ûôë”;ôÍÊn}‹r—~rÞªÜ«PöèO!¾Œò;Ê}ú¥EÿS¹?Š)DÉÊþ¨®Ê¨ÞÊÁ¨¾ÊCQý•CQã”G¢Æ+G)O¸ê•—\—(/»®P^q]¥¼æºQyÝu‹ò†ëåM×]ÊÛ®×”#®_•\+FÏS>Ž(ŸD×(ŸF×+ŸG7*_F/S¾Ž^­|½Fù.úåhôzåçè+•_£ïS>ˆ~Bù=úiåXô‹*¸ÓUîÎR%÷`UvŸ¦*îqªê¯êî"5Ê]¦ºÜ³T·»\qWªqî*Õp×¨¦»^MrŸ©&»×ªÝÝ;”cî½j/÷>µ¯û5Óý±šíþLêþRéþA=-f‚:*¦DÍ™¥ŽŽ©TbªÕ11uê¸˜&µ0æLõô˜µê„˜uêÄ˜ÕÉ1—©E1WªSb®VçÄÜ ÎÙ¬–Ç<¤ŽŒyIÄ¼ªVÅ|£VÇUkbþTkcŽ©õ±ÝÕ¥±>µ9vŠº,¶D][¦®Ž­VÏŠ]ª®‰mRÏŽ]¯ž{¥z~ìµê±÷¨Å¾ ^{X½$öuCìoêU±ª×ÄõP¯ë¥nŒë£n2®To4®So26ª[­ê6c‡ºÃª;»Ô]Æ}êÍF«zñ’z¯ñººÇ8¬î5>R[ŒoÔVãGuŸqT}ÐøSÝoS6¹ú¸ÙS}Òô«O™ÙêÓæ õYs¤ú¼9J}Ù¬T_5«Ô×Ìjõ³I}Ó\©6ÏTß6·ªï˜;ÔÏÍçÔ/ÍÕoÍWÔÍ×ÕŸÍÿ¨¿š¨¿YiêV7õO«§ú·ÕW=fÐÀ¨qkº&Y34—U¡E[ÕšÛjÖb¬3µ8k­fXi¦u­oíÒ¬;5Õªu±ÖºZOk^ëe­›uXëaÑzZŸk>ë¨Ö;^ÒÒãÝZF¼GË‰ï¢Œï£åÆÕN‰/ÐÇiÃãgh#âÏÒFÆŸ­åÅ_¬Š¿N³V¿W;=~¿6!þ)mbüÚ¤ø·´ÉñiEñßjÅñ?k%	L+MˆÕ¦'tÒÎHè¦•%ôÒf&dk³k³NÕÊ
´ù	ã´	³´…	sµÚ„%Z]Âr­>á<miÂUÚò„ÍÚ
Œ5W%´j«ÐÎIxT;7áym]Â«Úù	ï ~©]ðv©Ç­­÷$i—{2µžAÚUž1Úµž©ÚžRm³§I»É³VÛâ¹VÛêÙ¦móìÓvzÒvyžÓnö¼ªÝâùD»Íó¶Ûó£¶Çó«v_b”¶'1IÛ›ØI»?Ñ¯=˜¥=˜8ñtmâDí`bµöpb³v(q…öDâníÉÄ»µg÷h/%>¨½œø¨öJâ³Ú«‰Ïko&¾®N|O{+ñSííÄ/´ÿ£}˜ø—öQ’¬}œô‰öiÒ×ÚgI?i_&ý¥}•Ú7É.íÛäíûä$í‡äNÚ¿“;kG“½Ú/É}´_“3µß’‡h¿'ÓþL«ý•|º®&—êZr®'×ë®äÕztò=!ùÝ“¼SOL¾EONÞ£§$·èÞäw´’¿Õ{%ÿ ûS’õ>)©zÿ¯žÒ_ÏI¡L9]”2MÏM™¡Ÿ’²@œR§Û¿æ~–âè”úÐï4û—øU	qÏÑv¢±.ö<{cz5¥Š½(~§áN©`/‰íX)³Åo7THN™Î^FNƒU,Š½‚u£ø@èÅ^Å<—ò`|‹øÂ(å•ø›Äß„¸ôûŒ‚‹Ö0ZÙkÈ¹M¿^ ôb¬*˜È^G.ÖzŠl.á%y«¨ë9*­\\b?i”àtwßÿMßS8^zQúß~­–*¾UjH‡ùSí/•Ã)irÉ:®§¥n?vTx\m?‰J?mÐ‡ƒ¦€X}$xôÓ MÏ¯>
zê£!C/€ú8U§éã`,âd}<”è"þˆ¤Ô1ô“g0’œÿ€ÎÞMJÏ/?@çôÛ í€RF3+£y•Ñ¬ÊhN÷áDqJ45Ã+TNC³×Ô1}W¡’Ù3ª´L3{ºKËt³gLi™Y.œûƒº	÷"D™={"¸ÌžÑÑ¦/Ámú„Ó‡µXÓ—€gú†!¦ïÓô`™>@ˆ7}»Œ¹H=¦/!ÑôQËI¦o B²éë‹bú8B'³{%BªÙ=€fB+Bg³û<„.&ìDèjÂ>œæ3&šŸ„Ó“qr
NMÅ‰i8-&e¨4'C£)”eDÑ„šk´A³r4ƒŒkÄÒ\Œ8šŠA³4“&bX4#^Lƒæë1<4#‘&a$Ñ2NŠ‘B30:ÑŒT¿Aóílt¦Ñ]hðFW¤^Ã‹´›Ñiw£;ÒF¤=2ŒÏð!íeôBÚÛè4ÝHGšad õ~¤}Œ>Hûdº~F?¤™F&ÒþF¤Y´$ŒÆ ¤ÙF6Ò#é@ƒ,>È„4×ÈEzŠq
ÒÁÆ`¤CŒ!H‡C‘žjœŠt˜Av¸1écÒ‘ÆH¤§Ñ¢2òhÍ£hùF>ÒÑÆh¤FÒ1Æ¤c±HÇã…HO7NG:Þt‚1éDc"ÒIÆ$¤“ÉH‹Œ"¤SŒ)H§S‘ÅHKŒ¤¥F)ÒiÆ4¤ÓéHÏ0Î@Šÿ!aÌ@:Ó˜‰t–1élc6Ò9Æ¤sÅBœgÐz*7Ê‘Î7æ#­0*V´ø­½nc¡±é"cÒ*£
ébc1Ò%Æ¤ÕF5Ò£i­Q‹´Î¨CZoÔ#]j,EÚ`4 m4‘6MH›f¤ËŒeH—Ë‘®0V ]i¬DºÊX…tµ±é™Æ™HÏ2ÎBºÆXƒt­±¶´Ì„³MxŠðþ$<×„/	Ï3á#Âu&|Bx¾	^`Â§„šð9áE&|Ex±	_^bÂ„—šð=áe&|G¸Þ„o/7áqÂ+Lx‚ðJž!Ü`Âg„W™ð$áÕ&%¼Æ„_¯5áß„×™ðáõ&üFxƒ	Ç7šðá&Þ%ÜlÂÂÅV7á&n&Übzƒ„[Mvá6>$ÜnÂ·„;Lø‰p§	¿î2áGÂ›Mx™ðn'Š#Î„[Mx˜ð6³‡Ax»	»	ï0á ánÞ‰]Þ…E„w›°ŸðÓ·ð^q¤š°Çô]MxŸ8ÅLØ+Ž8ZL_9a«é›O¸ÏôM#¼ßô•>`ú*4}S÷›¾é„LßlÂƒ¦oáC¦o&áÃâü5á8yMxDœ¡&<*Q',>,qúâÃG3>Ó7‡ð)Ó7—ðiÓ7ƒðÓWBø¬é«"ü—é[@øœé›Gø¼é+"|ÁôU¾hú¾dú¾lú*	_1}ÂWM_ák¦ïÂ×MßTÂ7L_1á›¦o	áaÓ·˜ð-q­˜ð¶¸PLxÇô]Dø®é[Gøžé»Œðˆé»’ð}q¹à¢6¥{	?Ä,ÂLIØÿcS:Dø‰)‰õó©)=Fø>
ÂÏMI¬ã/LéÂ/MéÂ¯Lé6Â¯Mi/á7f÷.„ßš’X×ß™’¨ÿ½Ù=ƒð³»x®?Š»¹¸¯pŠë7ÙÃKø³Ù£á/&üJø«Ù}áp	þfvO!üî4Ä?Ìîÿ4½bŸÿ…K‹ðoÓ·ð.}¼û „	¤‹ø1æ] ³ç¡{º³×Ðé:Ì)Ng˜ÏÙaá­¼Åé»}‹åö»ÃÿPK&28Óž6  Ñe  PK   —€•)               de/mud/terminal/vt320$1.class}•MlEÇÿcïzíÍ¦ÝB0I[Ó°“P§-¤R·Iš»Òæ@.ÙØC³`ïšõÚm/!â‚¯\{Ê­GT)M%„z¥âÔŠïøßwPÅ›ÉÆv“´¶<;ïÍ›ÿ¼÷{»ÞOï}ta<‹×tt"ƒACŽ‘ï°Ž4FÄìˆŽ£8¦ã9<Ã(Ž‹á^Ô0¦á%†ˆ¿lWFzsEž.×ŠiŸ{eÛ±Jéºìè…Äæ®8þ2÷í…ÛŽígžH> >5Ï L¹EÎ°7g;ü\­¼Ä½óÖR‰<Ý9·`•æ-ÏvàTD
`0²ŽÃ½©’U­ròÄw?bà%e”ÝZ•O;´Ä‹û“¹·¬º•¶.ùi^çŽŸÎËu1•)…yÝgè{HÔ–æ¬ÇéxÒTÊn‘²`YB W
²ªpÅ%¯ÙRšum¹-1„&:eôë¼Ä-)¤Ï¹5¯ÀglQ­.k8,vèÂ¸=Ø«á„Æ5œ4p
	&1eà4¦5Ì8ƒ—5dœÅ+ròH8'†W1KÝ{ )*y·Š'ŠV…B©˜¤€ÓÝŒ™rË×¡8¢áñwj¼êÏ¸…Ü³ë	QY¬W¡ñmGeJÍ—pIí"÷ónÑ~Óæ^Už›ÝÚ»T£u6¹s«9Jû%hÊ6™Ú	ÿ‘íéÍŸ¾ÀÐ!8#¶Ò¡“Û÷í"´ç~ev™~WÔKžíSÕäÂdj	zä:!îÚnÑAºš…~]ä£”h–Aˆ¾€>xlpèB×É
áQ#üÛŒ¢k\ªè&=hè´NÑUDE×Ú@¸¥¤Kÿh¸Û¦mªEÑ}Rmÿ–[¦L#´v[¨­C¹
åúÐÔÂŽÜ@¤ß4WLsÂ–ŽèŠŠph+Z`ªdBfl]fbÓŠ¬f®¡'˜›‰Õ~S[Q/¯f„‡NÓ6SÌÈÇÑ15®†Í¾óqU1hTÍ<‘}Ð¨™‰¸²ŽØ¢²(Ìè¦©KSÅÕt´hœ%úÀgDåstàêË—x_!…¯1†oÅ·¸€ïPÀ÷¨á¼‡ÑÀO¸ŠŸ±†_ð!~Å-ü†Oð»¤™ÙäÔ¤y; iâ&Ð}Â".âIš…IkqˆØ6px
*E>Ý¤ÞPo´Qoc‘È´ìn‚\U®A3>Wð¾×ðZ[=mQËÐýüIÔþ"j£ÿPÿ"‰ÿp÷Ä»ŒaŽ…ðc™)¨3ï²ÞgZ©F“T# Õ‹Š¤"ûmÉ,L¯¤9ÉLÁfR!<#óIR¿Ä]MRÿPKvÀðEè  ï  PK   —€•)               de/mud/terminal/VDU$1.class…RÛnÓ@=‡¸q¶´jé…[IÛ´uRÃ3¨¤ E²à¡`ž7ñ¨ÙÈq${
	úOHP$ø >
1ëF…‡ +íefÏœsv´?~~ûGèx¨áN7p×Ã=Ü÷°….š.¶]ìÔÌPç­GkaLÁ¸ˆCÙX§*	¢“·Oê§ïS3$£~ªSmŽ6ý¹èv$PíNbX
uJ¯ŠqŸ²7ªŸpf%œT©LÛx–¬ZyÈ^šRÖMTžg6æ	´³¡uŠÜŒ)5‘J
êUzF±À®ŽÔTêÜ4åëàÙ5ò…KM@óPïtRdz©­ÏVhK$Ø•X@ÝEKbû.$|´¹…s-,—Z	Û^÷G4`ýí¿Ê‡:7Ä`§¾õ»õo£líŒ®QVôVçØXÌÉ¼Ói<9®rÛy¿×ŽÐäQãî»<Wì«x÷`G…g’ãE>sl3^ç+Dçð*ŸJÌM^m=œXâóú
ËX-Y¼§À-¬Í¸Nf\²ó•ÃK8—¨þfóìóçâFyÍ(9³ÁLl–5·Ù·­ü’rüPK] N¼  û  PK   ˜€•)               de/mud/terminal/VDU.class<|”UòóÊ·-„„Â&$lB Ò“P„$€²É.!’dãfC°Ë)žÂ¡T/(6Ðä¬`ï½wÏÞËy§ùÏ¼ïÛo¿lÑ¿¿Ë{3¯Ì›7oÞ”÷-÷øï÷E–}âÆþmÿù0õŸ‹}Ê>£¦Ï©ø‚Š/]ð4ûÊ	O±¯íì$éÈ·T|GÅ÷Nõƒ¡	ú‰ŠŸ©ø…ŠÿPñ+ÿ¥â4ã7*~§¢Uý¿C¸
$Âœ
Am’
ÇrvêpPá¤ÂEmIvîvð.ðñŽÔØÉÅ“ygêI!4•Š.„zœà]	íFPwjK£¢^êH§"ƒŠž.¸‘÷¢"“ÐÞ4ä*úØá=;|@`_*úQq¢÷wâ²Y>ÀÅ}<ÛÁs\| äàƒí|ˆŠÙW>kžKÅ0NõÏsð‘>ÊÁG;x¾ƒŸäàc|¬ƒsðñ>ÁÁ'Ò“\¼€TDÅd;ŸâÂ=L%dÉˆQq2¡Ó]|/&h&A%Í"è‚fSQJÅ;Ÿë‚0ŸGÈ©v>ß|!­sš‹ŸÎÑ¶Õr*ü4ªÂ	WóJ‚.Ô×\BEµ-E}áÕxÌü‚–¡²ðWKE¡!‚ê©8“H…	j "âDN	ZNôV´ÒÎW¹pÔTjYMÎ¢bké¸×Qq¶ƒŸãàç·~?ŸOÐzßÀ/ âBš|µ]ìàev~	é¥TltðËˆíË]ü
~eT“	ûµ_EÐÕTlrñkøß“à~-×Q±™Š-TüƒVØšÏò‹©¸žÐˆÀ6š»=JØAØŽ$¾“ï¢b77ºø?y“‹ïá7ë7ÓÔ½4õ|+·%ñÛùTì£Þýv~§ßeçÍvÞÂ€O+d2ãÿrÿà]ÕàÒH¸º®ê$
Bu]dž¿¦1èàh`Ec6MC\ó
ç..šW4sN)¶žÌ@6T¯2è¢ô¯ˆ.¬®Ö5T‡ê¤­º®!i`Ð9Ö?M5QgØ_Ý œ•Kýá‰á°±paƒŽª%‚ÜU4F‚ªy{Eã’Rµ¦«Ö¿r’‰¬¨®„VLò7ÒPëtÄ	ÕûÃUÕuÜ¡H$TE]u¡p­¿fr¨.Â SŒEj@ù’Z]Û6‘¡Jb_q|ju ²	<5X]µ	%Rl¨ÙŽá ‰¥ì«pwöÊÆpC(<ß„Êˆá¥¡:†ó‚5ÁÊÈ¤ â19¶þ¬PµâË©(ª˜0Š›àÊp¨¦f’?Üæ@JUk…?L[jXÂ ÇŒ@ppmc`p$®­®ó×.-‰›¶5ÖSº¥Ce¨&ž…A%!ú+—!T	…ƒm˜›Vë¯
â|MÍÀ_ë+ &ì³”Ì(™½xˆ	%µb&šK(7Ña„
N¨4Ñ„j&šG¨ÍDGjG†utò”Å¥s
IÇ£è¤’…f÷$£[S(NµÿÂÀK¤Všø$ÂíçlÔ©ÍMžÒFÑ[‡LÂ!ÎÒ‚Ù%3f,ž;Ù€KN‰Øì¢ÒiŠÏ,™Y„ó‡Yz'—ÌœƒG4³dvñÄxùôM8çÎ,,š=cÍ´M›9¯h6êPjlÎ¨nˆë‚x=cÜ—£f.¶ö#¯©jBqˆt)6­oÂimGáä¤eÁU±Iéñ“¦ÇzI*KB•ÀÚdk?NpT„éjQÇOÈŠ—ò€öb—¡@ntu]pfcmE0<Ç_Q$»ªô×Ìó‡«	7edi5šO»[¶‰‰ÊäÑ6¦º®:2/VÖ´iq–bÀ<Ôœº%°-5¬€\¢¬Š†Ã©?%+Á$‘E%Þ÷ˆâ¼4!úí.r¨kÕ@#’ª¬ãS³$ºiõ‘‚¥dlÈ@Q`•øWƒ÷ºÙdh`íÔ£˜sù-fÖNäÕTÅ;ì€-VC¬ÚÑ»Èº‡Á® ¢HPGœ¸¼îWt3fu7Š#¤Õ=a¯âŠU›KÐA¢H³ôö:ÅÂÅ¹nò
C+êô­ªVY‰N+¿ªl¡%K”àì¡š€îúìÐ½RÄ&Ÿ…å‡¦Õ‚+K#%K&…ëE++ƒõÝ¯›ÕÙ2‰á _ª~âlþ-%;Z@Ê«3´2³BÕºÍV–¿À°ü2K±o„¨'TµŸÐ5k@b_ëFês,®®ªŠª†tÂ1“Ú¸ÀNUñ-hLã’%Á°îYm~4¤ÊÎÊPýªÒˆ?…ôvRë„dÄ‹•k6›ˆæ©-k”äh¦µÙŽÃtgLJ•×	hzœA3¬í$ÒÙqÖÑóµ8|vhê™K¿4µuÊiâ¦Ã2>N¼ý•Ëê‚ºMoIš›È‰ªÛXë/ÓOßÂþt0±ÑSÂþú¥&(EÀKš Ù[iªæª(ÔIwèJÎú
Lw¯ã|	äU¤à@˜lCcXEJ(§†þúJ%“Š¾m“2Ò‰¶hõþj’vrÔÅ½+æøiœ^;Uc©yl2Þ&Ä€'X¹L¿%ú-TæA[Nq$Ö5¡$i­±¾žê$åh¦#¨ÔmºàhñhÁå‘úÉ¦ÖÓ¼NæeRœcKŸv®!‘!ÕÏ^g•¡Wg¤&++m°¯2¡Hm½®‹²ä3ýµKXYEnƒt+¦ð³ÂAÔvÔ½É‰MÓŒØ7ÕzcÍè·ceMÐ&ÜŒÞèÂZÐ.ÑYmƒô$´Á‘P]IÜ°Ä=×†ÕKªƒ$YëoXFÑ±î¨—S„Ý3+¡/"P÷D(`Þ?…*Š…aUÑ”xþ+õjU´³ ïuêhQúRBõ#/ZY‰u¢ÄTø¯G*³që~…kºA
p“QÇ‹Û†2½ïÆÔ­1‡§†ƒµ(†8"]£tã#žþ‰©Ç…<´Fš…p<•ÎõáP%n0&A´'Ö6}‚ÑÓ™™n zµcÂBÑâõÅÛÌêd,€áôDtbÇžvÌ^]ð“Ûjíß6R#’†´ãfFÅ¡šÞÚ+e¬W‘j§Ž–~<á1•5FLæ*5†+ƒ“«é^:0lDQ¬mï¿›ßÍíü7¿—Íróƒ¬ÑÍaÁFñû°`ãÝð¼ƒ1É±Ò#7üþç†VxÇ†ƒ¹ùa–áfCØP7ÿBü~* âA*¢âa*¡qœ	7K'¨'µáGÝì\6ÎÍ6°27;uóGùcnþ8,^v3÷"_ìö¬›½À^tÃ/ð<^™6±$
 8Tj¨÷W´›'h7£íüI7Š?í†ßàw7»œè±énxÞp³|¢½‹ív³“‚wá=7|BÐûð›]†ÜààÉnVÊæ¹ù3üY7ŽD5Ÿî†Ó¸O©øŠ¨ø^fõgc(7ž¿À Ãçóe…Ã¡pæŠ¥xz™z8‡¦.³±>ßÎ_tó—8ÒM8p`æ¤¢)Óff–Î™X0=sÎì‰E™Øjç¯¸ù«l<Þ.S4³0~^õx;ª‡&äÃôç”üküu*Þ@ÙædÆ°çMvˆr„PýX´³9™zÌˆ0¯ÃBædÖŒ¥Þ|p«(Ä^#wq§ˆD©\±Ž9™
×slpSÄ:¨&XWí¯lÓpÉ+ªfkëILê&³ºn	½d(ÉÂàW;ËÍßfKÝð=Íwt6)í£FR“±nø>wówø»nø¾´sT„¯øûXàTþ:|MÐ‡}Cä¾¥âMxNœ_#‚¸èÛt‹<	Ò©¾C½"¹§Õ¡U(¨ñ£ 9ü#7ÿ˜bçÿvóOùg¤«W¸ùç¤°-,ì†á'7»ƒVý~²ó/ÜüKþ•›ëB¼}Ã¿uóïèV}O?ðÝü'ºK?#;üþ7ÿ• ÿòÿ¹Ùí4ã7êýV¨ ´U€[0ÁÝBi5*q³Ûp¶Ðp¤°Ñ½©$ÈÎ¹…ƒ5bä[ËÏ*=4’†eê¯>9T#zHÕ[
T7`ÚIC(–¬+Ž1Ü.œná¢kv;lIn4nÑŠŽÄë#ìA4ÌñêŒÜ"YtF«är³,6À.RÜ"UtqÌÇ²	íJhW»èæÝi•GÙƒnöSñORñ2Pñ
9l MO£éivÑÃ-¼ìM·H§"ƒ½i=Ý¢šV‘é½Å	nÑ‡˜}»Ù 6˜¦ö¥©}í¢Ÿ[œÈÞw‹þX°÷Øûè/¨‰UYBµõ¨ðÊ™ý‘×ÇËq|·Í ·ï´@~fÔEä,ÏÌ4lxfî!C=8wTæÑùÃ†ç’Ye­¬Ïì‹!-¥štŒ‰¾ØOé¾@Sû§Ð9êQá$öêq0=TÔø)X*Òªô¶UÁšJòd…n§÷³ºˆŸ²×U~
ÎÑ"Ò;œ;XGïÊíQx—u2í R¥p°*L†•‚ÌDÁ®Êåpñè¨hFÓ&×VLZ•j
³b§ŸL8%z˜['–TœQêIÓ4)Z6ýåVOØ1ùµéö‹"ºp˜ZÔ¼êÐ`•^ A-=@%h¦—ÂjP žÌ«ˆ#Ö:gi8´BÕéT¯SÁÝÏ	£c¤Dó’BN"Bíšt'|yqÇîuDBÑ—Ž˜ÒZ’HÊ7Ôƒ:ž]Ç*=¿5‘ÛÆšú«Ð±^›»$j'	PªEéFôù™2]óõ¹{VÂW-›ã»‰3"è"±rb»°¬ý(E f$ÕÛ¯þ0Íné¸$NzÃA#íìÜ®[Oð­z’•à}O½8XÔÚ<³Ñ_Ó§"†NR~$«Ô‡…è;bX=,E£:]ŠèáÀHƒ)ç«®©™Ó¤ô^Öò&Jñ¢>j ž¢;£sè±!k¡9Ä…+Ì/™]¬ž'éµaIBG]4gX¡±¨zFR¯AIè!ü‘ !cz~´¦“Æ«»ZÐ2,+¾ßúbYM-z{IEC0¼œN“DT\B©~X×"²czÎKÆÍHyÓâcZ]}cÄˆæ)}-Že¡ñC­yÄ¡óõª'†ñô‚ÜSJ»°@ÏÓ+Œ‹Õ5¶é¶ÙpÌ#L<uŽ¢^ÜX©®ô7¨C¨âN;Nºxœdòxïæ6=áaP÷§Ç?•\þ¹G÷ÎívOî%¡/|óþ0üÃäòï{»uxYp•™×Ó7XVï@lÎªz»#éÔmbúó½GkŒT×VÝú}ÖžðÅ¿’7ž¾¬…êI{Û~Û”õ8	íñ¾LÄ‡$qio’úÒ1/9íÛ©÷5D 7<O‡gàYið<qñôù^Dü%xÙÄ_ð*¼fâéø‡)œ‚1
W5FÜªÆ4NÕ˜Ä©ó3UdÔõ'Fýo£þÔ¨1P5&ªþÊhÿÚ¨¿1êoú;£þÞ¨0øÀˆ]Õ?5f­ªÆÜDÕ˜G«3SU·êó(«V5æÊX§1ÙFiL‹áÌ†¸Ý‚;wZpâIÜxÞñN<ñÎ<\”†#ì¢,CÕU÷`]-ãº!ÞÝ‚§!ÞÃ‚{ñÓ~÷Tuë…ûµî+3†«}õŽÛ÷	qûî·ï¾qãûÅ?1n|ÿ6rá”2(UcÄ¯>øcøŽU1¶aCñpr[\ ÷ °²ìàv±ìrq7hˆÙÚ`öv w(ÚÃèC-Ð9ŸÃ†cÙU§ÆF°<õ³‡\6¥Dª0ŠÖ×d58Cbß‹¾àôÉfpùBRÙp7CŸh†Ž>Ö|ÉŽû)áÛÉ si™D(EAB©
²!ÔEAv„<
r ÔUAÉÔÝM©¿;ÍFô{PáõuôèéØ½|Zdú¼ˆ÷¦±-˜¡ãÒ-ÐÇç»ÒöCß\š¥ÃýrirœèÃ¢?YDoÀ>S*óÀƒåƒ¸ÓZpBº@#Ú‚Ð.€U°ÖÁ.8†Kà(\Á&x¶ %Ù¶dZ’»ÐŽÜ§ú0ÚÇð„ŸF»ñ¼¦¤ìÓågJùEzR§ð"½ ©3x‘Áû/”äÇ§=O›îb*îò øÊR²ErÒÈ9 cŒ»Ôô÷ ÞW‹eêSÌÅRÍÅRÅh‰qÆ“5šïò%ÏJîž€ò§(ŽÏ,Êâ2)»Ëº²Œ7è Ë´–GÑ;Óß ”¿U¤Ýú$ƒ4cØDƒà|ÐÔØîÙ‚ŽR$;î†ArãÍ%å€Þ,RÑöuƒŸ-lw7ÙîÎ&¡…#¶X¡±Ê`Âé7´FüUùÕÂ¢f²XÄ&›Ç¤©¥xL¢†Æí-£ƒ¹,šà4yq²)Æá8ÙTCœl;YiB›n,q3.A?M*ôyI¹wÁ08 ÃÇøÒ|„ÂÇ"’‡#ÓËs½sÅ<²Ä—.[`tŒ»¸A`=!mb&ÚÁAhûÆ¢½+`}·Ãõ5MnMnMnn	šm9.f3¾#Húý¾‡ßbrØ‘f³äp r8È¢àƒL®™\2¸b¬„Íúp`ÊjP<£ƒÑÈAþŸæàóìÞE)“WÿXaYnLód@×þQ–q£Ž9ÕÑ#Ûè£~â3q7%¸›Y0•Í†z6V±¹–_mîlµ¹³Õæ‰¯6O|µyâ³M›õ®@}—o·^³w'”¶Û®UÇØº7êãLâéx!ócè	v@
 €,sY¬egÀF¶Ìr¼—™B¸ÌÂeæñ–¢ÐÚßþ¸ØIñ·-ÞþuáöÏÅxM¨%æKlÁ%ðÜ WäiMÐÍçõhåé=èÿÆ¨ó]¯1†.qìNèL}Ææw´¾gÙU`cWC7¬‡²MŠ§q:eKå)×ä)×à‰ ýÄjú©iÈá|Vfð9Áp&ŸW¢$ÆÅKbØÙv‹Mv˜«:ÔZLQ‹jÒÉjE-=µ½HíËµ§FÐãÀæ³…íéÊôtïEºK÷4Œ9ô¦2:][-ªV€¼ÇÔ|]ÓÇ°|Éò5‘g#]Í³“ªŽß	vÑÃ	ž°ƒ¬¢×wÄNpëxzþ(¡&°Ó¼<‡1¥“¥§A²U7¨Ùã©=Iè³&ä936CSºÇéqvƒSÕc=No ]†¶<y¾l×8‰ç“SÌóØ½åiRDû»¨Z5k+Ž‰O/·¶k":¡M;Î—Ô•¯5ñÏteùnH2 2‹øW¸6˜Nb*Ü#Ò©¦–@ EKH34I4h
ša$µŒl†¢&Ë”± F„Š*"¨€ c˜,Ú4š %]¢É±Ç~ôSûµ‘pì›)ÉÅhð8¢Ãìi4s¤Ça
0M3ˆZ¶>Ìã@i«ééæHjÓ¬mú¸ôò(Ír/J¬ÍéèÝZûn¯©>;aJôÀ¤A‰ ³ßk=kik?¢‰Êwí‡))S[`Õ'cæjé„ÌÐB1æ3SJZ`I·NI™­Ã…·@iÛqs°Ïã Qs	r&3{ÒiÈ©x˜¯¯0’•épQ¢qh{¢ž…ú,Ò"rš‰ŽH4útìNÓÓÈEÊÃÖQ)‹±y®&(ŒJ/§Ãƒ6+5Þ‡´Ò¨¨v»J×cJìJßÑzÈ—†IYž/Mk†Q8¶3ú¼_²c½&´‡W]$DqrùLŠ°"!{úQø÷¡!Ãä¿ÀdÝ b*=ËÇÑ[>‰ÙÃSÐ•=	ì3Ð‹=‹Ø‹°‰½×±7 ‰½	‡Ø[ð{>aïÂoì}æa²ìc6Œ}ÂÆ°O1$ûŒ-`Ÿ³*ö‹°/Ùö»œ}Í6³oÙ.ö»•}Ï°Ù£ì'ö&û…½ÃþÃ>b¿âŒßÙ7¬•3Îy
wðnÜÉ³¸›FlOå³yW¾„§ó¼ßÍûò}¼GüÂ‡
Îs…‹øpÑãyž¨ä#Å>JÜÊG‹£<_üÈO’^>Föáãå >ANåeÂõ¼P.çErŸ"ÏáSååüd¹…Ï;x±¼›ÏTb5fhð£!ÃA ¤;‚ÈUH•7²E˜§Iè*w²Å(i&·±rgƒ^r3ó#d‡Er}Å<j“ìK_;ÁÉaÙ,€‘ŠKžW)ÇKÿØgIÔñ2ÍºöÆ»žÎ¢»á,\T5aØ¢\|7Û€Óãâ.£wT»^#^“˜úÆ¢³X««¹7Ð&9·
|>$óÏOƒù|,çå°‘ûa'¯€›y¥Åï5½ñ^CØùÁV^¾Š-5D’ŒâEº°æxqhÆ!-_Ë8äÊ·‰<{äêŽÊØÇNy¹/›ˆíÇl]oghc%†]éØfÝÑú/_º§m¦åÃÆ=6@&o„~|9øøJÂWÃd~œ†p„¯…³¸)ÎÖy7÷ºÆŒÊÖ˜QÙVPÐ**ëóØ"¶wîƒSØbõr3f*…±£\jÍØê^#+
7'A¬‚öâ‹FØ¹x›”öÖ•¾t3n±§›=#š¡">ßTÁ7¿ ¥p!Já"À/†~	œÎ/…J¾ÑrÊsçsç3ø®c!c§âh’E7âÎµCŸ¿ÍàŠùààWBgþ7èÊ¯²¢ÝÌåº±zõÈØ™,l,’O)ÖÉ!P†ô+iŒ{'à›-ïÉæ;Aƒ_m0;Å¸•©Äì„fO¼Nh¢€”¼–[:<Á<ŽÝì3œ/×]¸9Ão„î|dð›P¾7£víµltŠ¹Ñ)fÄa	^AÆß·»}	_A–'ÞÚµ»ñÈ§Ú•±»	ÿïÝÄÝÂÝÝ‡»»w÷ îîAÜÝCÇÙÝŠ„»›¿»Çîn¥ia+Œì°×Tö$RF£Ók¢7„¢Çâ2‰Ï$ëlU1¿SGòd´‘.LAHož
´  (“9Â£¦Woå‘¶røÑßû<šõD£^KÌK"§h¸ýcÙLHEð9HåÏƒ—¿ YüEÁ_‚“ùËx_ Îä¯ÁJþ:làoÀ%üM¸‚¿×ð·áFþÜÊßƒýü¸‡÷ñ,©äaó³Uê²`ƒò|FÀJåù&a•lµ2Z§Ã,v–‘J®IxXñ‡õEÂÃZ›praüäN^gêqÈÐãþt‚#w«c9ÏÍ»41†DZ”P¤êm…ÿŽ:Ú
]Ñˆyƒ‡…°èhS<ýÙÙ†Žž“ó¢8Î…+!ççšo¹»ô{–Ï—½ –€*„Z`i3T#½ê#ôüuò„8£–)¤jš¡Ö ëš!D{;¢”²ýO'ò‘.‘
©¢ôè/ºB®ècEL= Dx-Ûenw–ùZ|^Ô±}¸3¼Üð=ržæ•;À‘ŽîTîSÉÝn4é¨Á„ì†B
ÈtŒ¤¢H] ºl3h’ž´áª×oM5&ÝMúë’Ç–+R‘Ø™Y[®À¼ë†­·1Í£a’î¡T°`Gë.º‰y*
å#áMGïÐ¹º•KWö«òC8b°!Ø˜PA7ê‰`YÐY„41zŠ!¨7C![äÂ1cô</FÂÉb4Ìù°HœëÅXØ‹ða1á11	^ð†(„÷E|.&ÃwbŠ:Œ©º˜ÍÃøÞü(ð½ñQ`<Ü©.)]Í=ê’J<œ/Øùêj.„kUŠÈÖ›ŽÑª­¹qÞP'ÔÖæ=‡‹’†ØèFÕÇ=Âˆ2¼k,zd3Y·±Œks¡ymrF†Œ¿9‹-¼8L^.:Öüañó	ç_l>)5jx· ½`ÍpffY!\æ•åæÿ@öGâQnQ}D²D½%`n{ »Ä8±ê‹3ÅA—²k‘QÓèì£xy|ÙÍ*Ák—äE]&{Ô}Ë|`y¬ˆ1Ô•ž€ÅJ”ÿ*¼ç«a€8F	ëçÂÑ&S£ÕGe:‹ËÌÐòrã=4/>ãš07Eí÷f`!ç¬,#}'$#jFÎÄóq1$‹KÀ#.…L¬Gˆ–‡Ô<“<óa.ÏÈ»R RXzH½Üü:ULbÃšÊ:AƒBu¬lUhèVÇŸÊÕè°7AŠ¸íùµˆ†‹}éÇ²ÆëßR¼a0ÝÛŽ=UÈÐ$¬–-h5cõæÆN±ª¥æq¬¹ÖÒAé!Á:Sß¢è3f¾Íg|ÄÌ·ÓóÐ’8[ä9šÄeK†mÁ àqÈr„mM"'ŠŠ9"ÏÙÄ/y.#{)ò8Ês=ÎAyI¸ásrœ›o÷$Éu›¡§')yåº-ÐÕ“ÔÙ~ôuÏCT×fõ™¦`ÛjPí4t3xôB’íªË Ú'Í¦¾Êž¿:#©Í´Öç£Uv¥ÙZ`Q°ã°Niö|wš-ßžæVÛí`ä`¿Ã[à‚ÍðRvš½.Ìö8•X1s(A*ZF`\”Mt/$Ùq4Òy‰¦]ìIÒÖa
n¥­RÝÚ¥X„´š@F¹ÑEEy¢þ¸¤‰õj»¨ÇU><9SšmÛœœ9—^p4]M^ÛSÂ®Až¤íÐ«½@ˆ.É¤õêcÊÄãŠ²Kv<•ÄÛU›¹T‰Šþ„HŒ¥Ž%ZHÊóœëLÍP_'~«ñ8<èñ×a¥í‚„mWûÄ±bÔZêÚ½õ®dýzlô¸MÐÅ@b¾9/	·“´)‰\–m0e•HR‰´ÀåëÌu;þw'B®Í°‚">ü«PösFQVÜ]¾JHš=©ziIŸžÒ¢4žæ©9jŠ«gGo¸®°gÓ³éB"ºž·®­Ôx\!x‹aL6*p ÿ2´é¥Ï@[ªdnpfiŠ´À•ë­çÖÖG”­±¸ƒu„´q[¡›¸‰m0FlÇøb'Ì»0¾¸–`²R#ö`œq\.n†Mb/\+n=â6¸MÜw‰ýð$F8/‹ð¶¸¾÷ÀÏâ^æ‡X²¸õ‡Ù q?"fâ;MeâQvŽxœ] ž`ÄSì°xšƒxw¯ólñ$^áõâ¾\¼Ë¯ðëÅÇüqñN|.RÅ7"]Ü,²Åb´øI‹ŸÅYâ¿â<Ñ*.’ n’RÜ*šÄ!™$>—Ä÷2YüWv–ýe™-=r¤L“ãd9Yzå™.Èy%Ö×Éä6©ñFwD6Ü|ÐÛÎ®dC›ßM^Ä®RŽe<“]­ËYÉ6©æd9—]£â¤9r:û;Ë@o¼HNd×"d‡j©»'üM¤«×'\Ë7°ëÔ3Þa›JÂ8ÌÁ¶à·(†röêE×›Ë¶R¯<&*‡Fÿ¿<×G½\b¼ã'Gvú—)öùrP3rÔëôßšÕã_4”'ë$‚W—aËa`—ÃÁ-G@ºÌƒ>r$ô—ca˜g‰G†›.w¸!7xÕ/â(¹Á|—iÜuŒîä,Ðä)Çî¶Ï/Û£{då¸GŠ^÷‹±MÊ<NÇà³è³ÓîÖ¯ØLë7¶Ž[`	y·™Ê¹IýWA'è¿êƒ>(Ï&î„óèîåkÑ_-á˜Ò2©JM•6UÚUéPe²Þ”ŒmÝÕ¯’²)lPË¥©Ç÷4è¤ÅÒ$®—nË¹ÐCÎƒð,ûÉ2È‘`¨\#åi0NžErjÒb˜)ËQüxík`“¬ƒÈìõðOy&ì•aØ'#–˜~¿)»ýÆ‰p¸]i
ýZñ¥zÁUJ%œ W°L LûÁF¶SÅôœþ1šqrå8‚«d/ÆfZú-ÞŒÝ eÜâûE„\Ú²:ÊU–€,Ùä%™ÝhdÉìŸÆ{e2k2²=ì&ãl{â<úÅÁžƒpu™@C²©8qü4.qü”'s²Ñ	d(“ˆ‰ìFÔú[Á‘#8êl 9Ç}ç¤.œµÖ£Þ¥kqÚZºÖ˜¦à¨K0§©G©µ9±$G½èÊà’BoyŒ–—ÀTy)žÜFÉËály\*¯ÄS»ÊòËŠ=¦„ö°›á'úõØ^„8ô†•V‡”¡_VÜÂn5NæBì¡;8cüëoÜèm#þ9±võ{7jÏÑ÷¶:î™Bn…Ty=t—7@¶ÜCÐ»—;,}„Éè¥BLA¤BtÑo‹>³cêé¢o ¼‹þc“pÈ3®!º³Áºû»^][^–§Æy¤á×ôê:lµéÁïŒÿÐwoÎwPµ%Ïéóéñnì	Ã{Ì'Œ» þfb˜­ý?nÀ^üéËP*B§©Ö¯­YÐL²w›¦èkò\†šÔ`„ìóÑØÒ*f©= 9ôªc×õ¸v¨œFgÈ“´}Ë¬2œ&ËqÖ±&·¾h™¼£õˆÙ³«ÙÝ0µÙ@"²µr7dÄˆ´>i!²«õ°±zÒgÈ´À4_šg¶•0ÔþzCà½ÚHþX"÷™¯FM ô_Fs¾6ÿ[àDÔ¹½à”·B'y;t•w ÞíƒI¨0SåÝP"ïyò^¨Ñ]‚åò>8WÞÛåƒp|ÉGàQy^Â×òIæ”O³ù,›,_`åò%v¾|…Ý(ß`·Ê7Y³|‹”o³‡ä;ìQù>{V~ÀÞ”²OåGìù1k•Ÿp.¿çvùO•?Æ¾ãñ.QGèvÝ|!t‡n¾2>· ¤nqs;Û§Ü~'.Ù~eJ§²'Øð9šæö0»žG·?Ý‡¢!×ý(›®ž[\ð› ž`’ðµ˜*×î¼DŒcõ+Ô'î‰»;c¦±ôF³ie#ÓËÛ|¨PIµü¤ücŠVð"š­qËÅ/1„À¡XmŽáF§«ÍÑÅ?àí§®{ûÑ:$|û¹›Ý“àáèÌøÉž„“ï5“øyôTLüúL§Ñk¬Èº¸ßöªl^KƒZè¡y¡—–nY#Ó\ã ;”€ÁñöJÀ §6jLžŽ¢"Qvð¦¯KßŽ~’r™¸'%­EæLcÛýËð›Øý†Ì`„GèFÞMÛË²SÌ$ÆØCìaL=%Á"¸ }Z|’¢—’“À¶-à"xÜû×ž.pÒötÝñæIDvdèî”žrõzAù™rô¨‘gWf–r»]Ð×£éðÚ]Ð lVÎz}ÏXÛ¤ÞÖE×©F’@—ÇîÑ¶AG_¢÷éqÐ	¥‘]´A¨Öƒa’6J´¡à×r¡A—j#`“–ÛµQp“6ökcà~m,Õ&ÂZ¡åÓë“¦Ÿ4¤˜Û`\l¤ %°FY
	~8CY
Î ?;¢lAÌgGO¯ÿ§ç;>‰Ç!ñøñIÌ:‰'L_¢ (êÛ€g°ó/¾z™Ê·=žºE—=ˆW¨f”­34ÈÐC‡°/î…6¤¶ ÍÛBÈÕÁxm1œ¢•ÃRÍËµ
X¯,aës›Œmz¡Ú8ë\˜mœ5£ž­oOÑ¿[°‹-aëþºvÛ1îÊv´iæ{ Ý™ím’·}¾”Ýh×ŒÁ[Õ—©u¢9:}m¬%:«¼Ãz„²NÁ*Š5PƒÈÅîÔh7b*:6˜ÈCÃu}ôÒ®Õß_ˆÛ2úªÄ8Ï#M>£o3eôÁE½Uy$QË³¿Šò-@KÚ³ÂeF÷ø§GóØZ 	Û[ sªê“Š1u;dÄÍMÙc\/™¹úîÖÓã¾¦hËÐÖ×@_­NÒê`‚VZªµ¨Õ"P§-‡ˆ¶.ÐVÁuÚjhÒÎ‚fmÑÖÂËÚÙð¾v.ü®Çúhç³YÚz¶XÛÀVig³‹´‹b™»8ª6éjÓ—µ9‰jóÜ¤²	¿À¹ì)2¬ÙÓÆ×”gØ³Æ}še|xìBaÕMÙwÃÍÍp“¯ìmž±ý©ìKÛníHÕþn¹­fø‚Ðsl€º­Ï›Ô‹ê¢ÔoEêq‰¹v’Ýf!iuLQ’/°1|’¼½n;Ã7!å›‘á½Çd8[QÉ¤Þ†a¢~RgøN$Û|L†u’/›ëQãU"B"8gàÜG)C%žáø÷„ûáßü+ÓÛæW"»öshRO-„ÜIH¹‹ÒLHiáàË> âÔa°kÿ‚!Ú0V{NÖSµ£ÐCí|Õ“–]EÌ]EL;üŠ¹«‹]M$9‘´«½ˆÑM<ûY­	Œþõ_š’å=pw”EBîÑY¼7.GÔ^B_ÆKô*Õ^Ç‹ô&^¤·,lM4Ùšh²õ*{-‘vÄó;ÔQ;îK ÿÆcüµã³cjÇ@Eýu“zí êÿBêñÚñ’ýþ˜Ú¡“|ƒ½i<`È‘^pÂ¨vŒEÙ]©~;@´ÓHžjÕ{àþè¹ò@T¨„<È	<”ìDŽÀÃ¾‚ëGHÒGâ•áW”ôQÒ¿¡¤[aœÁT›„2›§ÛlPa³[6Qin¢¥þ–ÚÄÛìDr9Šry´ŽÆÉÅæ·­Ã1å¢b_öî±I>–€d2’ì|’ï±÷¨ìÑö*+¾ÐÅ,¾4D}úxTº„<¡«ì“q*këv›úÚºÁP[œdóÂ[ú1UödËÁ>43‹\y£R&ÛïD"wÂyâNèGk0Ë¿0£ñ<¶­ÐaÎ>R<|Ì(a0hT4àÿ PKDy;ÜÉ+  ¹]  PK   ˜€•)               de/mud/terminal/SoftFont.class•˜]p×ÇÏzWŸ^Y+Û226‰-d°ÄÆÇ	ÆàÀ
Nb,ËD/ú°B6¶BL2a™´M_š¾´<d<¥}!m™¦É0ÃLÚéä©}hÊ4“™–×Ì´Íä¥¸çž{¯$³+h4£Ý»wÿ÷wÿ÷Üsï®ô§û¿ûTxÞðBÆ]pÂU0î-0á‚;OzÁqV=Å'=ð"$\pÊÕ0î†Óìü;¼ì†WØùU/LƒÉZñBR*À7à‚´2.˜QÀ;úêPtò¹Áq”a|ÃsùÅ‚™/L™¹¥4ª¨FÑÑèØØÄ‘áIV¥(àÂªáÑÁ	ÜX:™å°Ñ#Ñc£¤ªâªÉÄøv©òË‘ÁÉAv©) eæò‚cgÍ×ÌÎ¥B6×9j.ÎÌ3¹ô³Û)³`* ž>ÞœýÙ|¶0€—íSØ|x.•VÀ?–Í§Ÿ_:&½0ÉZ*P;6—4sSæB–]‹J­0›]T`ëX*Ýy~)ÕYH/œÏæÍ\gl.S8Š=aJ¿Q¼Ù¼¬Å†íÃ§°>Iõ‹XÏm+XéN-˜ËÃ³æ‚Mí|ær¡óØ‚9?›M.Žâ‡yU0Ôu6¼³‚ß‹
T%—Ùa),)#¬€WÎh:_X¸ÈFEÍsf~¦ó…3gÓIrÌ¤¨r‘‡y[Î¦
XçeåÙtvfÝV­0ü
V»û“9Golni!™>šeòÉ!?ÉúÑa7ìAÏ6S£ÃNhW P²ÍÒ3é:`k8«CÎêpr.8¯Cæh(éc……l~fh)“Icä¼,€f'¤E‡y¸ÀXm´äç
-Ù|‹¹‹PpÁ’¯Á²+pÑ—tx.ãÈX~„*M-ÂŒ›Wšu~	/úÚ­ÑµÖtØM:“FÀ€­¼ÌIìâb!}	sK¥eëÇè0Fió<6pšóóé|J=å]ðnê¢<ªXBFr×]˜ã5
Ô·[uäÔo¶ƒKxž]åòè×ÎÔ›­Ó¨L”ò´gk;›ËMÐ<¸Úù"VÜßB¸3x`+4â‡ÀvhÆò¶²ëÇ°üø÷[¸ßZvÆòö²ë–ÛÊ®wà3^–ÀloÂ{˜þx|¯ÞÁÍ³
Ï»>e×'P•øÔß‚¦ö¯Ad×o@û‰ÀÙÔ­ö|.vÕ„çupŸ¼ª(Mxç³½E}=‰Ç­àÄÝð_ø7øÕÿ@½ú-tãù útâýÞtÁ^<ÐG7ìC/
ôÀ~áé=ôÄvÑEà]z>—¶†èƒÍ?…ö¦€7 õ#ð~ÕèZ¯õ­CMÓ:øk,¬C`j›UtV‹#õ¿Ð¨Þ‡ˆºC¸I3G-¼/áˆ•z)~¥§ [+ð4<Ã½UÝÂ¬Ç‡Ä’´ÖÌ­=SÝXýÐn5VßÇ:ÔõÖ`h‚5ÝZO¯ÁKŽžÞ@ÐqÍ.h\›{Út²b ‹~ßÙóKä¶’_þi¤çÀ»j¯o2j¯¾S*W}®éÍpõÔÊêÏ ÷¶ ~-ä:÷ÞtPú®…<¬¤kÓT'n¥‚>V·„"µõWu%¨¿¸êS‚¾`àÆÆkðW¯Þ}ù{jƒ«†~©W/Vü°j¸/õúJ5ðÍªëRom±Âð¯öÖÙû
Ö>h,XguæW‚~NÃ[^µ”fy–Þšš´jØ¢éÐªù`·Vû5k8®ÕANÂ‚Ö +Z~ 5Â±üg¬û›†¿køZkƒhíð­Ö¡¸µ]J£¶[Ù©íQÎhÝJZkS.h=JAë£DÁtb/K ŸM–XÊTQé ¦³J¥,iT:„%•cÉ	‡•„!|U9®tÀ0–p$JSï¾Õ,ÁEŽÃ’Z•Œb©¾†÷iÉøa·…(–Ø¯‚g±PaŽc©VÙ‰ýa©Üðœ\îõIì?õÇSŸBCB5ôß;ªOh†;žp°ƒS'\Æj<áÀ[ñ„áÀ‡xrñ+¬üOž |€'/¯¬FysT‚mpØ—¶Áaw8ì‡masZa9‚Ýç°ûÆNnã2c}eŒ¤"ÈÉA.+%nR;©åÃ1.Žq[1}s™0}e~Â¡ý¥BAÅD2l†VÁ‘@Q]9ÉcìÈXXøu«D
1’ÑOCë'«ñªrd†šaÑ÷€ÈQYD³Zšþ{|`w*N?;ÅXè±uE&œF†l‘­!²•¡õ}yÆ[Ñ×îëîëS»¿Sæ«Z «­ÓçgÆ\dÌOÆÞà°/8ìû‚æo…±tÁÒ­¬~ÆÊ”2ó`ìÙªBPˆ|ä³‚1Ð>"Pº4Ï-}ÃÇ÷CÕTu…¡’„ºB¨$¡’„šá¨rÔm†ò”ßŠ
Qè¿$V?ü=¬{Dëç´/KC4Ì°™È7‰öŸÈï6­œïxì¿â¼7‹y¸€ç`£¬!gåÛÂ c7¼Ž"¦V`jí‡(Òt•¢"Lˆ0«¥4åÃ« :+(cŸ
ìèQ‰“)ú©˜zûÙ!›°ñ:šÈQ‘šŠ¤  ­¤fÈ,Í]¹!9sïÐÐ.3Rƒ 5TÞ_Ø]!eµ,>«E7[cËÿçÕ’ª‘ë7$H¡ï9c¡‰5
NcN¨lß¬àˆ8[g«ý>Ç1zy"êvûo“À4Ùcº3]Ž™&L×fL³À4Wž+¶¸	s›¯°Û|…ÝßÚ&@ÛìýDJé,^DúD6c˜Çž„«ÜÎ·³±™ó¸à<nË)>œ6J$ûÇ\‹à\±÷cÄ‹¯ì=…ùùœûùœ/‹ûER«xv·ýÈš@aòt`a£ëä)Ìa×)‡Â<«¯3ZXÒÞ·ÒâD»I´8§Ý$ZœÓn-Îi7m»¤ýØJ[&Ú]¢-sÚ]¢-sÚ]¢-sÚ]F‹ZØšâøLð„–K…?.÷¶RèÛa¶·lÂhì	px/sµw'Í¢fòRÞj•wídrG˜ä[ö2ùN7ñÏ­êð´A•®	:'WDlØ¡F=íÆÚÌJºª½dŒËwKù«¼…äãí\ÞÊä{¤|Ê*×.0yÛv’Ç·3ùR·Ê»wXÌ<ix¸<ic†²¶ªUša©‰Ð"§ uÊ xÈHP×eˆPŸ´êªh±6ÞÉ uÒF#Ù+[½\ÑÚ µo£VÚ	Öª[Žÿ%›Vòá}]`ò}R~ÚfîÚ,áê‘#6l&ã“ï'ïû¥®¾v’x½R×c£#·Ú[L÷”Ôí±é÷­R¿}R×\)y¿O‹Ð‚-ÏHPÅÜ'Ý¿W*é&xüx¿ýRþê#r¿`òƒ2NÙÈ)Œã<÷”#ƒ¬Õ€l5i³ôMÖj;O·Éµâ}’+!û¨tã8K†á°lœ±Épš7¦µêbÑ`ù’”§+…olÔe±ñ5’5^±gr8,Ÿ ¹ï7¼Azm/ï¹ZØ‘s9c3õœÈÿmàŽHùì£&ÉJyê!ãbržøÇ¤<]ilÚ%G¥<ñ3“É£Rþb¥å¼)ËŸ•ò‰J{ð&ùq)YåÓâ}LÊÏ=êùA|NÊÏV|:•OÓó2ŸB•†ÊwÂ¤N·êzÊvÂq±¯[eüEç„\µ™¸«L0!ïZÆ(»÷hóA‚I!xÓÆõ!
Û<À[(yóMSˆ¦äëý;¬Zú½Á–‰iâ7Péýç¤è¶åŠµ[cuàI8aòE·ð‘õ­kž½u5—½«NÓ[×ŠÍ[W‚G#Ühít¾gýœ·è_jö§¬“þ­îÂãóôGíÿPKê(‹  ô  PK   ›€•)               de/mud/ssh/SshIO.classY	x[Õ±ž¹÷j±|mËräX±
pä0ÄaK'1±cÇ²³Ž,Ë‰Ûr%9‰Ùºö–BSÊR–„¥)”Ò°Ø	$M)KXKÓBû
¥}¥íëB¼.t{]xÿœ{%ËŽá{äóÜsÎœ3gÎœ™æˆ—ÿýÔaÒ©†ßóÐõ\ïâÓ<¤q}]ÇóÝ|º|Ïpsƒ|Ïr–›È·QÈB!g9GÈ¹BÎr¾EBi²DH³¥B–	Y.¤EÈBViÒ&d¥v!BV	éÒ%¤[Èj!k„¬²NÈz!„\(ä"!{@z„l”n$Ú¹WHÔÃ}“V¿d“Í2/.d‹LÞš‡).ôÐ9\ïæ!ù&Ü<,ßOx8É)™›vóˆŒlsóvùî2êáKøR_Æ—Ëœ+DÞ'eO¹øÓòýŒ›¯öNa_%­«¥u¬»Vîã:7_ï¦Ÿºù7ÖÍŸsóÂû¼›oróÍ"ï²`—/ºù7ÉÍ·Jï67ßîæ;¤ùe7ßéæ»¤y·›ïqón9Ó7ß+êß'Š\êæûÝü€›¿âæ½nþª›tóCþ?ìâ¯{è2®òˆœê¢Ø>QöQ!yè*~\„?áâ1éŒ»y¿ô¸øI?Å¤öÁämí‹ÕŽôÕ¥R›ëÚ–œ±Éï‹¥ãýñh$Oõ¤ÒÉøÐ&&_ë–È¶HÝ@dhS]Xaò¬i'÷¤0Èäè‹õŽ`%·0ybCÑäè°LÂÀz&§ê&˜JsU§67©qÈöDRéŽHtk,Ý‹ÆâÛb}ÇÎ¶ø˜oŽ%{Ò£Ã1l=ØÇNîáH*µ=‘ÄJO_$éJ„cCèäoŽ¤6/O¤Ò+b£“v;Ý¥DðbˆÆ<´=Ë…›{ZV¶t14%†RéÈPzud`$¦þc*³f„ÃË{:››š[V7÷t,jZÑÜ%|ÆÂi/ëYÒnj_¹²¹	’Jd0,£Ý‹[[šzV4¯“ùÓa5	+Ü·´¯Ìðt(åu‡›;eÐ€a²ƒ‹º»–cópxM{çáæåŠël^ÕÝîêéèRâ<¶Š×¼¶¹©'¼¼¹µUX&Ü#«`¸»©	ŠÈxaîøÒE-­ÝÍ2^”+*Üµ¤eeÏ’E]‹„åµ5Û¬öî®,¯x
¯¹³3ËóåÚ¨ymKW¸kQW·Òbœ/Gñ–®˜uiKgÛ¢.XKfÌ±-¥¬Þ¼¸{™ÎŸH¤â–#)	-Ë›;{V¶¯lž<Ò²¤ySaÎÈ’æðä)óÕHî”®ð”Î¦Ó3†±·¶¯YÚ^nKR×Õ¹¼=Ü……æÄH{g»™û´Eå,²fæG#Cˆº>qrwb^«m€;ÏŽÅÓçb¬rÞj&£)ÑVQk|(¶rd°7–ìŠôÄ$¼ÑÈÀêH2.}{ÐHoŽ§„79èZÚpîT,ÝjE™¿òXlP›¤bIè†™Ù8ÌÛêˆ…Å ÎÊ‹ç‰–Ü‹N2– n½#ýý>YRºÇGO#›wDc
FR.>ˆþ°
Û%êÀ³*§Gµ…Óš	¹Û“ñ´`„l-‹6ÅÒ]±ä`|(2`…þŒÊyÓQ©æ{úâ©hbh(M++õ-±ŒðSÈ"Ç[<šŽÁrØ£¥eÞG–3ÑßŸR:E#™®ÞÌˆaÝd¾¥µkf4‹¤cöIÊ+ã%Ü5ÛnGZ–Ž¦¥]F€K	ëØv´ægŒª–Ì ÒÅ{RÃ‰D¿@{4‘ØÂÕnÞnöôÆÓ8ë¬œ‘á‘Þx´'¶c#ËLôŒ`aÁf qŽ ²lÿ13§²²B
‡“‰t"šèéˆlÂ@ijdx8‘LÇúz¬ÔêŒ¤¶27ÁˆŒ¤7Kþ²²WfÇq™I±O~[ß=›3i¢0'i,–¸Ð7Çv`ú6	5ä8Þ‚‹Ü&I&¿È˜9ðQ~	o
HBê™í³ðž‰êžÌœ4—R¡•JIâÝ*
ezñ¾žÞQñq·¨Ü£R½™ÄÕ'•ë'wOÃV9‚Ö&’’jývÊ†&íâˆmJo–œ6IuIF$JÏòÉ¼)V6™;‘wŽaMäÜèt0#›M±aNŠƒÒmË­õdb;(|ž¿¶#¾#6 ºÖeZiÚ€‘è?UË)IÂÏŽØðê	'F’ÑØÒ¸à¦Gd­hkÒ÷èûðÉu–I7Ðg9–>G72mÄ&5õµgÔ\€A,Ö×Ö+ëêN]P·`Á¼à@,q>–×öÅªƒ‰d|“hì6Åú’ñhpöŽ'‚•²!v8¿—ÕFâµÑÄà<IŸ§MúíÂI^3é6¸]ÈB¾,äN!÷ÐÍ&írŸ„|EÈW…<$äa!Ù'ä1!Or@ÈSB	9,äi!ÏyVÈsBžrDÈB^ò’—…¼"äU!ßòí2é»tÔ¤?ÐMúýÚ¤/Ñ­&Â“nvña“¿ÅO›ümLågøY“Ÿã9&ý“þeÒoé]“n‚ ~žÀ•¦:Òb¤•«¬›“è­4ù~a=Ïä—è¿]ü²É¯Ð›&Ïå“¤R7ÅìÂQÍ~³«¥ñ!¯¹ø»&å9.þžÉßç“LúýÝ¤/Ò-&¿Îo [§ƒxÿ N]´`8˜N-Ø®JØMþ!ÿ‡IïÓ÷MþC!?—šüÿØä·é'P¨ÍQü!ˆY*Ù~“Â?ezË³pTLô~AA· â:8”H£‰di-XàQõsðä`¦~†ÛbÁÞXl(ˆt“)5ÁXÕ±’rJ4ž‚EÉÈ`Ñ„a/Ox*ãé`<DQÐìO$ƒ‘‘Í‡¡Mj¦•&‚8np8Û~p41ìO&ƒvÒ•©%24L`Qr^ÊØ¦ÖªÁJ)ë3FÜIMº‹î69¯à“õa™§yp8=:qJuìZWdY 5ÆRý#€Œ
OëT£D¢RŒÄú
<&Ÿ(½ý9Úa}PŠ£à±ËÄÔ¹KO¥îædFi2Í±|+7Wc<§6†ÔÈšj"xÍ;`[ÔKé‘ÖWL»>¨Š`,ýO‰€Ð´sì†àepdhëPbûP#VüŒÞ„‚‹Ûûã) ¿²w>Ó*%£1˜Hgï®/K©#fólP¸	K!¡:ÃFG%%ñŠo “ÖÂø+ÒXÌhìHD·Z©±:@'ÉøKÂºÑ[ÛnÅ$ç®ªõ¸ø“Î¿ CÃH:>P‡(fò/ù¿$ž…øBó¯ù7&ÿVÈ»ü;“KxÆ1‘l=b%’ÿ[*öcòd¥I¿#°¼SkM@S{ïUd–¨¡x¢®¥=[þbâÈ*2œ>Ö—A¯Y™§MËP÷1ÌÁáÑT:6ˆZ<’LFF£‰a¤õPnvµv^Ø2ÍP‹T-f:±¹ÎÚ 9tS¦tÄ+c±Õ·‹âÄàoÍœ `›äÆ"ƒRÿF†‡Õ{¼zºÔ~Ìuy{¤aûg‰’i$CaéM‘lŸác$—W¶|,·éc¸Þ©(
CØOßä«nÃ#"[Ðg¦û²éD Ï^8_½!ÖOÿ3ÉGVÿ³¥´ÿ¨E¸Á<l•Ùvfe‹¼#¦yòˆþmÃ-êi¢&I¹•‡’ëJ|ÄÓµ°!	‹T®iï—‰Ó;è±dR~h‘ûÊ„žšÑ‘Ói•©Ê±–ØŽ´í¹%s!E‘¾¾Eâáíý¶-Ý•ÙJºhm{çdf¶àÅ‹ºck4Ußµ=ÅV…•SŠð™ÓZÞ’ÆºŽ®'¢Ò¤À“Ÿr¤ÀSßÏ«¯GŠÕG-¦¾¨ä'$)fÔ÷6{þíö÷õe)ÐÔ÷Nõ%IeŠ’ç“ŠÜ=jì^ôïËéßþSú_ÉéïEÿ«9ýÑ(§ÿ5ôÎéýGrúß@_NÿQôËé?Žþ9ý1ôÇsúûÑ?Óý§rúÑ?”Óÿ&ú‡súßBÿéœþ·ñ÷Œmçgíïsö÷yû{Äþ¾`_´¿/Ùö|yŠ½^™b¯W§Øë;“ì¥IÁªî	5+h)xx€¾ŽK|†t´ˆ~ÚO:HÚºý¤‘ò9ÆÈò¹ÆÈÂ@^Èç£|5l*Zâ1*R$¼BŠC*¤$„)3BÎ1ò‡ £4äÍ£™!/„”…¼æBÞÂ1šòQyÈë£Š·xŒf‡¼¾1:.ä1FÇ‡¼sÆ(òÎ£9"ÿ!'Šü¹"ÿ$‘²È?%ä£ÊýyÂ	»JØÕÂ®‘uµ!ãfÕ©ã<ª¬óè#T:J,SDåä§
ÐS(ˆñ“©–N£z:“æÓÙÔH‹h!-Ek-£ZNÝÔBëéêÁHŒZi+µÑ'h%m§vº3®¤UˆÃND\±Õ…ÈéÆ½¬…Ç_Œ›é§n„Fàa½ðœ>xF?n{75Ýô&ÓO)M¿€_¾K—ÐÿÐ¥ôùAÔº3ú!ý‡ŠÄa¦ºOè£áQAÕäô9ZCU¸¯‰Ã’üôx¹è“ò)%¬ÔZ`“Ö[lëôã[0Uì•»b¯ú±w(±sOðÄûÊÈ5D—„BUzÕáýtê~ªoÛKëCOÐiOÐü•Ö÷ô£æ5‡B5~£ÆžÕè8ŽP}õ
‡«o<äntVë§^}ø p Y},é8!Óp´‰¸#ð\%µáŽ¿\½/{†sqû€‹^DPpq0ñ$ÜÜéÀÄ@Ås€‰Ë€‡«p–‹q›}À¾M˜¿7*g^n&{æKp{GqæÜé¢¥Aj;ý-²—Ò;ØÇ€ôùôsŒ9 {îú(9é—ò[:VþÖà…iÙ‹¶`X:ˆkpð>¹…ÓBršq:ÓúœµŸ´åœÊ)_s5ó–Ç!EÓ %'«i~ƒó1øš­iVÃ7+Z#,5£Úã·ôž­[+$Ê{¡H^Þ%zÕSãT/y6z
¶>˜ã%Þ¬^XìîÜ½ð÷~­kšòüŠI8”AŸ<£Ó&ö›…SâÊ	D6ÄÅ@âR p9âl"Š*ì½ç ºÞ´Ïòû,ÑÇh¡q?ÍyŒÎ>Hç Ïõ7NçWáÏ·dœSZø°·Q¸—*ì™¡õ¶'cž`åT{;0Ræï§%k€N¨{œržáp/Á%^”¼Èx•. ÷&ÌÍš+
¸q’¹4ùUÂ¯qt78G­c„rŽÑli¶Ô·Ùã´<ç<Ž½tk•ß±ÓÁó¨ëýšÚí¥«õ_¹¢Áœã:!Âo|aœZÔ~ÃëÙMm¡u`l”[‚,÷8] ·°àkÐŠF§·¸Áò»ÎýÔºO<»}³ÑÊÃ_Û8­ltœûüŽÙ{>Œó„{_ '´\°N-`°˜u: æ@Ì…ªí§+`ka™]¤ÛJ{àêÀqë>çzk^£?)û^Hyb¯¬}ª`eÕú‚US­ÐÒ±Ç.å¬v½‡þŒ1dÐ_T ? I×…=t„Ô­S‚úoôwÛÙ:ÀQÿ‹é µ¯+¯Îœy?uLœÓ©tøWNèú²:úèUÈHë“Cíb•ÚÇu#t™Æszƒ‡¸›*rüa®®n`y@9îÛ¸RÜö-·Ø7¿A…1iÇp©	ßb|¿£v'ý-|g`m	¾sñûêÔÙèS8àÀÕïóº©] .!!B
…é^Ô4§ß[í7v<¿k§—ý^¯ëþßÓŠ…çògyÅì/vÞÿáûjŸ®F·ß¸;6nl0ì‘<ŒäY#zƒO–{ü¾ìrû}9Ëó19Òr#ffy‰,/ð—d——°¿ÄµçÃ÷õ†Â*ôÏÈ²f°†Åò«ÈïÏ²üì÷+pòf 0àäï§îÆÒ@éä©R‰€¢#z…||0ÚêÛuAUh2NkgúezC`/× 5ËqÈÓX(×3ýùÅôû+\—´ÊÕõ]Ñ®7Tì¥_Êýµ)ù&Iñ¯îeÑùø[‡¿$þnÀßý¶Of	Ì­µ`¡qÖ^ºscÝãÊIŒõŒ-“&«&1.œ`œ5‰qÑãø\†:Íº8ÃÞYÁþ
cÏ‡ì”É¤Y6»lg€ýÀÌÃ{þý½@™ULŠêùc=2‰¯G\s/?¨cnN`l„,‰L†Hqîæï§Þ5{9)}×n@ü~Š®ñõ‰0òæí¦RóÅdâõgy€Æ“¤V­•|pdj^ÀìM\¦¦š»¹h/›‘~¹YD"ª|ñŒD—¥Ð–5{éÌ?ÚK?Ð­´Â/s®­8‹bØFräœy@¬çÈÖZX­Ï÷–í¨6æ{½;6V;æ{Ýø8çol˜‰=×ä,’403&¢ä^j·µP>1gvbºÍ|Š>FÃ™YŸÈÅ§äD@Ž‹‚ºHç|Êc“Nà"àbJ³vp	]Á¥´“gÒu<‹näÙ´‹£Ûøxº‹çÐ“|½Á'ÑÛ|2ýŠ+é}žGã*.á.çZ>‰OEë4>“çs'ŸÎƒ|_Ë|ŸÇ÷ðù|//á1^ÆOór~Ž[øe¾€_ãü:·òÏ¹ßç•ü·kAîÐð*­“;µ­Övr—vwkã¼Zû>¯Ô~Ìkµ?p‹öOÞ »ùB½„/Ò+x³~Çõ&Þ¢¯à½ƒõ0ë8©oä”ÞÏÛôïÐ·ó¥úe|™þþ¤~Z¿‰?£ßÊWê»y§þ _­?Ä×è_çëô'ù&ý¾Y™¿ ¿Æ»ô7øým¾M‡o×Éwêïñ]úïù^ý¯|Ÿþ/Þk”òWSùa£5:øq£›Ÿ0<f¤xÜØÆO—óSÆ•|Ð¸‹÷ñ‹ÆƒüŠñ«*…çZy&“¡Ðú·•¡ÐúPe(Ýø¶Ê˜¥UÃ8h§q>“Ê×™ÑrÑÛúoXCËMïë?d­<º:hy¸\håsÎìDË¤]F=¼á(òðmF5»Ñ*¤»ŒS8­"ÚmÌeöõÒ!Ã­ZÅôý%Õòq£~½j•p7l+­°x—jùù=;J¥¸ïuð´£4·ÞÍÐ¾Œ_€‡È¼ <àD.ÄØ,øÁq\Ä^*ç?à9UnN+žy3ÍÌÍÒòË­]´Ù/­âÊ³”Jøž‰Gâ”:š_'7¿A^þANaXœ-
Šíz>w?—Z›Ç# nM¼œªÔã)¿Fäë5ò^Â3*_8hVÙMLBO%¡|IBfÀpÎ—ÒpÞŽ›¯¸Ï}´nnÈùÒc”àÏ°çî°¹s×£¸­îÉîÉŠ;¢¸µ9a¿MÀ“}·O ¯ÀÞ!²82ju¾äK²S½^)/•úÛÈÌÀ9@—¤ËÐ½|œ®¸€øIµæSë¬É9Ð,°603²?(8@Ÿcü&Ú“ªÝèAÃ<@Ÿi,
Y#ÒpTœ5èÊF¯”CÅb=PlŠb§¾¡Kþu¸°€Å‡76øü>Ì+ÑÜ¿{§›ýy]v9bõ«ü3ìrÄëÞ#5ê‘›ðúývA{>üÞPšÃ-ö—‚[ÊþR”+ï9ôþ™”èe¡@Ù~Ú:HW­£<ûéê1”úÈgy9õùaªƒ«þ™Lþ+âæï4‡ÿAuü/jÔœÔ¢¹¨CsÓ:ÍC›´|ÒLÚ®ÒUZ}VóÒ-šÆµzJ›AOkeôŽv"½§Uò,­š—iµœÖÎàËµ³øj`ëçµ³ùNm	ïÑšyLkágµv~IëàWµUüC-Ìok]ü|ÿ¨­æ¿ik4‡¶Zójë´Rm½v"¾ÕÚEZv±¶@ëÑÎÓ"Z‡Ö«ukQZÄ£¡’	-mB)V-]¡™´œêQ/-ÁCµ4õ¨—– ”“_E}%¨çÆ¹]ÈIwÃV—Ó[\&hF¦¶‚‚f°Îld+A³_ó0—+4{·p… _MßCšñtÙì(@`+Ô+ægé‹Èn‚f/ƒä-RÂo"ZhögêµÐv]¢Z¥ZUª—ÊLmÞ e“`#ˆLiaÓ—qBù9á¼L•”Ók&Ü}r•_Ñê:'TQ·YªÓä¸‡z¡k[ém€ê´Aª×†è,-AçhÃÊô!k;Ûôu€í¿(Ó×EeÎB’•õI*ŸUù¶Ê‰IÑÅ›÷QÊ”ª»ÚAnm”òµKÈ§]
›\–£HÀVÄxµÉÏ*â›V‘³Š¤mEÊ¸ÕkNR!Tt?Æ(W“¦]CíZøÅuT¬]›º!G—2[z[º8¨ÄÖÅÄ¿cu™‹JÇÒåp"£
iózÏÍ®–¨6Bc:›ì‚_„]n!¯ö%èq«ÒãtKF6å”Ù¿EˆQqáÆ…‰F:¾n¥‘1I£“3ÖÑŽÃÞ‘ôO@ûµÊe¹ÛªÞ².4VÖ8½Òh4„8y@œºÞUuØëÝpªüåêyÖÑ¾< W ±ê°>Ï¯ÚïÏÃ~õFËŸ`ÕøóÁÊg¾Å2-VÀð›à™ì7]JbAÏá/ ¯€ý¯0‡çô‚WÈþB(˜õzŠBþ¢€K¬î¼“­~1ªÒî…ÅïÃíßÛ ûš¥á¤=Dsµ¯Ó<íªÕöÑBíQ:W{ŒÖkÓˆöÝ¤ÑÃÚ8½¨í§×´ôc|¥=Eïj‡èí›ô¿Úau{[öÎzô|Šò"“~JXnÏô™§Píxú	‡ªÍ¥q•Bµyô:W«jm!}[Ý·‹ÎÞÿIáÛ" “ K]D÷¨–‡vàŒÒÊ§]W-“¾AmªU@¯P½jÒ»ˆ%ñš"úÀöï$¯©ÉÆÔûçÐbïœ³Cåc¶…ª'›Rýþ©=Cºö,y´ç¨H{>çG”L½¤ÛaÌPÓ
ãÜQÜ\›ýr¶ú9„È¡?NU¿ŽLü>s1×ÉÖ|êÿPK™)ãó  A1  PK   ›€•)               de/mud/ssh/MD5.class­—ytUÆ¿êWKwÓ$•&M û:ÒA–È"Á@$10l¦“tB $t0 Ä€AVÐ 
¢Q‘A£GÔô8gŽŽ#.£rt2÷¾n’N5güÇœÓ_ÝwóÞ¯î»÷½ªW¯^xæ$†â¸sqŸƒä~–]âÌ¢}ìÛ->{ù©Yb@Ÿ¥ˆçŸ{ýkñýªØ#bÊú—¼âÀ°œnâ×œŠ¨lÚùžØ<ù‡#¢­mîQ±qÞ™“bñqýÄ¯;—m¯È¾Mä>iï+Î÷XÂÐÄ©¬'²Ä sfŠÏ[_~D¼›nÎ¶Éñâ½–³kÄ§oýüŠèûÑé³âÅ+ŒwÅwït]/®šÿ•8øñçšøåÜÞEEí}q«7o“hûiÌ$†>(Ö/;¿F,Ùå§û~2Ú%öüb²˜ö7ŠóÏN+'ÿtb©H½¯ñ%ñEËàŸÄÛç†­ê†M¼ÿö›cÄÙîùDôÞ³êGñçÃ³â»!ý&3´Ed{Ûî‡¶÷ß/~Ùöà˜[ô¢¸ÝõÚ¢íÜw«Åºæù5óÅ…ËÎ~(ö*Ùñb†=®EüPÐ¸V<7öÛQÂ{æoÏŠßòÖV'æagw/“÷9ñææ~–¢âªþŠ8wúÐF±ó™¿_æðÂåÜï Ë#Bvî{ˆ]‡Yuâ8ÂÖcŽx\Ò À67WVZS_$ÇÕ
ÔÚ@›äVúë*ÐKêËËµÜw’c©¿¬¬²ºB³¶&èòåÔ_KÍÍÂc²kÊ
bó*«3ê—”jý%UäqçÕ”ú«fùk+¹v*ÕDÍÉ!—ÌPüô+¡_)ýÊèWG½üÔ°M™B2u*I.õskýÕuå5µK(ÈÔ¹“r‡Ì¢ ‚+©¿™WH_R_–^W·0}úäQãè?eþ ‘õšòòº O±’ã+«+ƒ™
D*î–jÆ^RÂôú¥„ °¾™¼›^¨®R’Ô*™½¬²BæOMÂÙ”;š]È›[¬¹)§ªLö4ø’_NÝtJ-ñ¨¿¬Ç¤Á@]¨˜¤f÷Ô¼Eþåþô*uEzA°–J1.ôïº`-§9ê¿”¨’ªšÒÅ•+r¢to;—6ä°/­
'ÁYPS_[È©äÚØiú>†¹P….”bóY– Ú…z–å,7°Ü„&Êpa-š<áÂ“8æÂõ(vÁ°Â…MØìB9÷ºÍ.¬Ç­.<…Ì¿CALçôS;¦“_²(Pìä*XQPõþÚZÿŠÒš¥+x#3.÷.Y?Óš-šwE ”z\N›eí$6ž8Y6ž¼Òœä.+•~ðÔyÏñäè''
*©5* º$&5$š}’ÊV5–E®ÄbÒî¡nt³¼ªÈ¢ºpÊÃ°›é!lÐµgbrÊÚ¤Æ”µÅµØ£KôhÇ¡$w 7&¼?545a|O,•x¶–‘e“V-YBZ†*­:²4iÉÒ‰\‰€’’×¦4&ÿf@>
(ýwhy{@kÂ%È€~3œˆÁÈˆpÚÃIh'¡=œ„öpÚÃIh'¡=œ"ò£],XRŠmmÓo4šò3æwÎxÿ…2^ ªÞ ï“°	_&_T_†ÊWÍ—¡ñU÷eè"ÃØ+©%<FZr³M‡¶ÆË´74E´ÌN­MùÍ†â1L³¥ídŠGõhYÂgnõ8´L.ÝìT}¦Ë­“3Cç~äg¯æ3ãÜ{µÐøöê>³»ÛÎ^5k0ÖaÁÚë´bM¹]¬\Ó`°Ë
6íLîj!›FÇD¡ŒŽBwa´…v1:ÎŠîÊhw:†ÑÝ¢Ð±ŒŽ·¢UŸÝí9ŽîÀ4o‡;¼Á\Œ»»#ÁT§xwOöFríÄM´rÌMŠâÆ27ÙÊ5˜›båR>íî^Vpƒ{[Á:sûX¹\§xwß(pW÷³€5æö
Ø`ð€(°‹Á£3a¸ÇàNS]Ü©äÊ°éÂîN`š^‚ÛËîÎ¥3Üi°ÁÜË¢¸s‡FqÌõY¹”	Ãn³‚uæ^ÅÕ™;<Šë îk&\q,“GYÉƒ3¬`ŠMw_q£;iÎN÷òFíŽX÷XvG‚©÷8öZ÷îo!ëžv28Ó
V<1
lgp–5äX&_EÖ™<ÉJæíïqg[Ñ“'[É]˜|••¬18'
ì`ð	–Oþy¾”â|ùðŸç£W’452µ©“©ç½øvR†#ì	ôöÈD,j…ÞÈ¦³Ëd:eSŸ<:NÇÌÀ!äãy\ƒw1_âZE @ID¡2P¦`–² ³•z\§lF‘²s”§1Wy”ázågÛÜðÛRQbR[Êl‹°5¡Ü¶¶ÃXh{•¶÷±Èö5U"	KÄp,9X&æ£VQ'6#(@½8†åâ5Ü >Fƒø+Ô¬TàFuV©×`µZFµ7©Û±V=ˆ›ÕShVÏ`únÑÖk=±A†Z6ió°Y«ÃmnÕZp›ÖŠÛµÓ¸Cû[µŸ°MW±]Å=wéq·|‹_zÛb%nä—8Y«è¨Hkµ|‹z/ùŽˆÕ»Ëw¼Š=F¾ã5ôÖuùŽ×ÑOh$Ë Ñtà0Ï}¼Oaª×Ì:a?†\¯qÂy6¯iòUx[qu{%‘(O÷Ð]î…÷¡îGvQ5wËˆ]!^8bÝkMø^»(>uäþŸ{¥ñâ’+ŒÞÝÓ¨•Ë­\aÒÆ˜æ¥vÞ1äñuú1Lïj¤RP-À
j/µÎ¯Ñ‘èaZlûé@t â œ{1¥d-#‹>éøë#êJ'O#M†âžZêîüÐ:w_Zäî™ù^Ç#:ÓKž¼QåÓiìQô ç>8Bký1:LÈRZ8…?iB·Vì”%>}­4³è&ÓËhÃÑ´SÖùùNäÙ‰´W[0&-™SÃ.ÊÙ‘‰jÅµÉ´!'P—²LØ~ÄzÓ’ÉßlËj§RÌ‰{Û¾IÙ¤Žñ)<¼ˆâN3™Dñƒ>ÆhE<Ž£/žÆ0<C'ÌgiŸ }û¦Ñ^‰Pˆ1§èù}à¼Lkò:5¾*g;24£ö”¯¼¸ŠÉZ>‹®Ä:¹Š´†o‘«Xáo¼pA®¦ÿp¯Z'vZ 4Ï‚ÙiµG#O±§é>¯Snßˆ(tLø®‘7Ê»*ü)ÎöVZÍ´ž~$N7GïAWs´Lû~8ÍieÊüÇ£°’
`ÚOØ‹xIæmØZXÄÏBr­f[“¶)m]Ú=¤mH»´íÒN•¶ê46ÔõÍ±ª÷qÌ)­˜íí©Ò{‘¡íÇlyDæ•çÑ||PÞZé1í«.á4/åìv6kŠG3ZÚò7ÍŽ‰t%}‹öÐ;Lâ-øˆÍÿ¤-þ	íª³´>Å_ð>Äçøž|ð¥bÃW2í™¡„^,6Y[BÅ&ëVYì$|Ûd±·Ð¹þËû¶L>ž4êI_óá²OýÆq€Tõ´“œ•V\g­ü7Ôñ[ªü"*×¾Þâ°5\ùRÜFO >ÜËáMkEQ+æt CŸÕç#PŽv”Û°]¢và®0j¨lƒ^“YÖoóÿFìvÑ¾Ûï¾ÄPÓ:ô×KµcçÅg”2W~®AÉæ'i‘0›h=
Z‡ôÓégÐÏ.x±pË”M‹“¥‹‹¥+KK,‹ÉÇâféÆÏâaéÎ’ÀÒƒ¥'K"KK2K
K/–Þ,}Xú²ôcéÏ2€e Ë –Á,©,CX¼,i,—±eñ±¤³c¹œe8Ë–‘,£X2X®`Í2†e,Ë8–ñ,X2Y&ŠÂ'0ë¨¬JGê{‘Þ#Ëqïÿ PKHÆ¸  »  PK   ›€•)               de/mud/ssh/SshCrypto.classV]lUþNgfÿ:Ývÿ
ƒˆ¨ ýƒŠè"-Ý¶h¥”Ÿ®U~’2Ýv·Ýiv¦Ô‚¢&%*Qƒ/ƒ/ñE£‚fôÍJâƒ‰11&(è³¾XÏYZ„•˜ÉÞóÝsîùî9÷œ{³_ü}¹	ë‘!Œd›ñhØ"†.1íÃV1la;vø±3„ zÄC¯}~ô‚¶™í-Læ2!6˜5:KSÙNÛÎwzÊn^QÎ¿±Â·µ`œí„e-ƒãúq½³¨›¹Îa§\0sÝ‡S­#¹×Ê„ÆÁ‚iM•ÆŒrZ+²&:heôâˆ^.ˆyU);ù‚Mh¾yça;ß[ž™t¬naŸ™t}oÛ M3„ºÃ)‚ß03Â…#lá0„J+Z™	6eª)Q]dîÙ7‘±7¦§&³ËÏufŠ†^îÓ°Â6ÊÇò(ï5:95V,dFg&-Ó0™Q»ÝX²²SÅ)NiyÞ²ÚnËn5-:5ö{!,3å…ï³Ž³v¢þøWÇåGIwò©BnÀtŒœ[+âtü%Ã¶õ£ú*JÍ8¢"7ÍÒFi’rXì­ò/žNvÔæ…Á¨{¾¡akªœ1vD¹Â‹µÙ "PÅ.?Sñ8T4¢IEDO`·Š»±JÅj¬òcPÅâµÂ${UìÃ~0Ì«jõ¡i©öŽŽYj¹­k9õœá˜¶£›¢ÂëjtkkÍf÷ñYìi+-^;GÿÌž‚á™}Èreë€nf­’wÂNJtà€çêã²î³¦	}-µëU[Ûú_Å­w,±OO¹¬s€r÷*o?@|ü.Š¸RqžM³^b¹¶í"¨­ýê>†T•rÛG:æ¡°”…üÀ¥Ið¸>LÖË˜ê.¬äo·™-«=R¶,\¤±¹H¬¬cÌmPb›&¶ÏÃ÷þâF>×é—´Ù[´HdýJ¶“h¦T2Sùo¥Z}Gª îÅ}•ôgÇ~t]Jú:*ŸºM‘¤´¦ÈJZIú”¤MIøf}t	ô¬Ÿ~M©´U²röÂÂÕªIJKÉÀ¢Õi["°)= D ­raá÷O<(w\D¨+èÂvC.Ôëµz-¤çQ/à<Ô®7UJ†çà›“Öo:¿ð§¦V´†J6>šlœCLSÂÄ+xÃFâ™Ê;^ÓÔÝœ&×Ê¨é–Œš(ÑT;£ÈÍExƒ%"KiòRJëÿGJ^8wÌ)êå]Ê)J<ór’+ÊQ&ˆi1¹)À³|§ÞHk1É›6Nx)‘Çqå(³Å™&N‰8¯¹°p]‹-uËoèâq+÷ñ6îŠí|™vð¥ÙÉÓÃ’Â:–›ÑËš>ìB?¿P}8‚AäøE+c§°¯`gñ$ÎaçñÞÂÓx›åb‡ñ9á+èø®à~`ïŸÇ/ÇULàñ&(ˆEaÒrX´†åØÔ‡ú1Eû1MG0Cœ¤q<K%<G“8E6Ë“xžÎàEz/Ð;˜¥÷ð2]Æú¯Ò·x~dù+^woÄ¯×q?g­qo„@kÝ+ÐŒ$­c$#H?£…‘‰™ZÑÆ·L£ïÐÎÈ^z×Eäè4:øIe:ŒB£‰NFõ8G#xYTœå\62jÀyÆCìÆ‡´ÅeiÄ5"q[â{Eè%>;¢œ]6±oŒ¾æ·EèâÿÃnEùPKè§>?  	  PK   ›€•)               de/mud/ssh/SshPacket.class…V}pTWÿÝ¼·ï½Ý,$„, 
´a„–OI€64|&@!µÉfw“,IvÓÝM›Ð–Ú6-µõªÖ’Ö©8ÕL§¨I¡LÎT«Î¨uÆ?¤ê?Å±ƒ3:£8Î€¿sßËæ:&³çžsî½ç{Îïýîûå#0°ß
à´û1""‰èÑ%¢[DRDJDˆ‡E¤EdDdEôðÑçƒûw3@ ‡ñ˜ø—eOˆ8"¾'eö"žòãi<ã` €gñœG<oã‹6^PðÅâ­½í
ê Â”ÚT2“$³û"]½qC¢0½'íŒg›»âÉölGs$Žô+ä5Õpý„)Æ¨S°{"±X"ÉˆùÞl¶¿'Î9®/ìŠd²ÍÝ
f,’(ø£éèhx_kW*Ú©05žŒ¦û{²ñXçˆÅ':‚ÙTM|k"™ÈtÄc|Do²Í3jzÛÚâi…Ù=©L"›H%ë’{o™tF'©§#’‰{éñÜ»îÛÔ°¥yÒó]¯NO
¤¬uŒ™Ý PZ^ÓTs°>¯ìîUf2•™ŽZÉ6µvÑ>ž³6ã‘êÉøŽÞîÖxº1ÒÚEOQ}*éÚI'Äöœf¶#‘Q˜1)Þ.ÏZ:´Q×P´Íº„¯\ú<–VS·†ðRbñ,@6ÞÝSÓŸe+ÕÖ–‘£ìg·1à–¾h\ÇËØx‘«9ïÞ(—3åëJìô6:íœf,æm–/ˆØô¸¹‰ææËœ)¢í¦-êövU•7ÕÔÕ}Z?­f+»IÐDS½Ifa·ŽDµ2C·u^ÖN´#í¬•ó1b~juµ2#+ÒQO“Mq+SÜ<	yS=¤ç°hHõ¦££´oj.Á¥‡"D‚XÝAÜ…ò !D…hËD,±BD•ˆ•"VaAwËº{D¬±VÄb,±ñ¥ ¾ŒýA|_bvÛ8Äq¼Ä×ðõ ª%ÂjYýñEåÁÍh±ñrßÄ+
3s¹­)c)Ê¶¤Ó©tÙ¼y6N1ˆWƒxM–7nT(¾]Ñù¢É©*»"ÉöÊ­‡âQyc´+‘ª¬Û™ƒû<qÿöD†µ/fów¤²ãéÔžH2æö_:˜ŽV­ ‹¶ÝòðZÑ¶‡sw¥Z›±IÚ¸³ÍÃ’Ã)oÒöXcBÚýbŸÇŒ§I¡úÑìw¥ÉlC6t¯w¨qna9±ºx¼Pyý¸YºÛõËn¤z³(#ýÞA–(ÂlÌÇ²éBZy¸“?BAëDƒ+<›ÖãRTêq™ç_î+¼±ÊWêQ	dôXíÙ«½¸w{ã=z,,Ë£H`•³×Á¡¾¨oŒé°d°KásPaû=gyacFXÃás½–è¶G„_Dä‹Š˜6‡15¼XöÌFAø,|ïcZXÆ§…A‡¸Ù‘àg‘gQÓpóÈñF1}b:‡Ç<¦öŽóÚ3kÔSè¸{zb’ Y:ˆyFµoˆ)œ…ò>’¸æÈÉ›×†PfT[C(Ô³Öy6X*dyóŸH,­·ØŒ·Æ2ªm£ÚB¨Ä
Ù¶ÒÛœªÆG…oÓÇcs’¡á¼…FµÂ._ÈÏ]~òëBp—u Ä*±FÎcÚê –5#PŒ¢'Ÿ×Ç´|3…Îcã&…ã³rŽs(.=éá©˜ýBìÑû"Õ·uã?Gù=B„€I@äŽ…„bˆ œMÎ#üî$ô*»e„Ø*HÏ$Ïa3Ž¢ŽÙA«5è@-ºé}[ÈP[ñmÜ‹3Ø†‹¸—QÏs·š†=ªªª{Uö«Pý8 Žâ zMêM<¨. Y E]DD}ˆ¨ú#bØÄ,»°äÓjõWÊ%>o	¡+Ú¾ yZÛÊWÂÐÚ½¸çú€Ï­ãé|ø˜§Í¢çæVN­ï3Ã0l5?Ó³ŽÚN¢ÍÏì:Qíðœ`,…|
É×}UÇ„|™½ƒŠ Ï6ÖëÙq)÷œ¥2—ÏSs=˜\7•ÃÉ|cÃÄM¾Rn2T©‡’«Fµ9„ãX!“+L’>[\re¬µk0•²ƒ-MðïÄLt±lh7“O±<=<ÜÃhâØŽ½Y<Áñôêr¯tæ•»}Ø£Y£˜ßRž<ÊMZ3pˆ¬'š9®PŠÀhtEðäI£H
|gùsÎcÆé\¦–žëÓOºë¼§Ž¶7­’–¬’Ù79ÌãÂønföß&LÁ©Iažú?aÀ7LžœÚO0¬œK.Q*BI¤ªÚfÔà[ôëÈî_‰fi&éÕ!?d7†p4[’7í“¸ÖLX%„¦IPk…N_‹&@×*t-Ãµfõ	‘ºÄËXA“fpƒ%£œØe¶tT;á£* º5ñŽœDsiÈzƒ@3…Ð+†13²†1K¸z"Ç‡LÍ2>—eJx	Œ±ŒŸ,4›¿9ƒ˜rs‹JßÁgÔéðéUzòÆG:kÞÓDøâ8ÆG^"òF{•¯ôk8‚“xßáì›üžyßÅ)|?Àyü¿Âiüoã¤œKø	gÅ9\ãì?ñ.®ã‚rðž*ÄÙ5?QóñSµÕ]8¦–àçj~¡;þ ÛËÉ¬ÄA…ÒÚýõ¢5iÔ‹&tcjMèÆC-g’
ÿó$(›¹:xH¨eðëŒš ñ2W3ŽðZ­gñäVðØ1^›*¬2Ô+|ecw@…Y6ÆÿFÙ÷WXUúþ¨z>ãT…O[>Ï2µez–¡-ÃµÌ±7`)¯à×Ìé7˜Žß¢”ÕãCöâ÷¤ÜKä˜ûŸÄŸIøÑu+“z°KnÝL’uD×m:§•šÇÿhŽ8òˆó‚±nìÊ^ž«om}z!J£åuäŸÁg‹ÊQn4…ýÂ9nt	5çv¿3„PWi^vôÇ€/Gž>Í–£!<ò~½2ä~ÉŒ-µn·tÏîà+´®b
qWŒ¿ñûïVì)æï¼$¯ñ²ùiç_ìù¿YëdÝÿa®çÿÅË¸A|ß$žoà]Mª¹ˆ`u¼jæË.÷Náª˜Fábï’2Ø…Qî=q[ŽëmÿPK‡
@üH	  ¡  PK   ›€•)               de/mud/ssh/Cipher.classRYSÓPþnš6”²©¸ ÒB7÷\he,ø ƒãðšKlÓN’Êð¯ð¥8ê0>û£ÏMÊÚÎ`šžssÎwÎw–ûçï#H˜Ç{qäÌ«!AAh]ˆ»*îá¾<TðHE…x¢â)ž‰ÓsáEË¶¼—R:³É —š&gˆ—-›¯µÛÜÙ0¶ëd.7+F}Óp,ñÝ5Ê^ÍrFÊ&×mSwÝš^²Z5îPæX•{+¶ëv… séò®ñÕÐë†]Õ×=Ç²«™¾qQ£^m:–WkÖž VaHœq”ê†ë
»Ç0vÆ¾Qsš{¢Pò)Ü®8û-B„Ó[ÅÌV‘vJGÙä.¹Tr­Ð»"&¡˜ü8ÂåÞ¾Ï0 BÉ5Ö¯²K_J]o¶
_¶Ä„bA[×0„ÃøÅØb{g‡;„5y¦Q i4,â…†—x¥àµ†%5”ð†ïÍ¿OÏ&‘ÔBRÁ[Ëx§asC§àÛ»¼"4Z-n›ù¾Kê_/5â5ÃhºGˆø…-ÑXwšÎšÑ Ñ¤.!;^kÌæ{§÷è<QÐÁÂ¹®ŽKŠÐý+î{œHå4m\ž¦K‡x"`b$‡éK'ÍHdÁ¾Ñ!„’aßx£$µ €1Œ“Ž’õZ7¸Eh‰ôŸ}>„4,w(ý;‡RÎuùèÁ*;ðsLÒOí2ú‘7)Û-ß.˜¦‚l¸Ž	Ÿ=†„`ä•u›"ÅyªËþ‰ªøDîèWd5›“òRî¨ƒXþà¤€d†ŠOR÷©3$‰n;â4M”tÁ©Ñ:…dA’$­é22­‡lŽ¥‰,óßd)AFšn¨O:Kñée‰™gi’W:<]ê;
´MÝ'€'DQ*`ÂßmÖÉýPKÏèöì²  9  PK   ›€•)               de/mud/ssh/SshMisc.class}—	\”U×ÀÏ½³22è7 wDAQ\\Q7@“dQÉ¥¬ÔÜJ32µR33-ÓTdQK-³MÅ7Jm13Ël±ïÜ3£¯~õ¾úû=ÿÿsŸçÞ{Î½çÎ0ý½§4,g™dK9F# è–®F9Ö Ç™@'Ç¨Ëxu™ .I™l“j6É“œ('™ä#r²›l!SMÐBÚLdiª-]]2Ô»œÿ2S½4†J¡/²|ßÄÄ²ÚmÔCÞ¡V,Ssn/c¹–¾±'ËÚŒXšœ_ØeÆ…ê×Y>?uí!–•uõYÜ*cYß1{Ë×ÕÁ–çöû.gñ­²d°älo{‹å§ÝÓ†±Ì«ºÄÒúÜÉÇXò.^½ÎrûdÅ(–¹'æfi–»jKÆ”Íï²ü•vg&Ëbû‘ïXPLŒgI×çÖ³üî™Îò¬Ñãg–ˆü¶²Ä:,°œJºÊòZÖ´B–~š«ÇYFhOe©ó˜ÿËFSÅ–ž›g‰Þ¹*—å|Í‘Ó,oï½ó0K÷³¹WX7L,a¹pÚã(Ë–ã‘I,~õ¡o³Œº}Y><3ê	–ýÇlÍYÚíº]Á2®üP–£{V¬f©Þ·Ñ“Å_V¯e™¬[hdùÀ\¿“e‡ûµŽ,!³°LÈŽõbyÏæ»…¥238’eú…¨çXÄùiz–Uum÷²Ü<e	`™¶cþ"}eE–uû¯ndù¦údË£†#¯±xÂ,/ºm^ÊòE“U-YæäxÔ°ó"ƒY–gä®dù*}¢`™2eÔmŸ\[Ë|{èY–[i0’%W¿â‹·Ø8‹å)ãí÷X~ö<4žÅ¾½þ–¦U×X–ÔVËòçî…³YÒ.ú6°XÏÇ°<sböO,œŒuž³¸¶	,}+F}Æ²a/³œ¬	½Ì2¼acKäÙgX^?~(åÄéÛ°t\Ëaé‘_ÿ'ËÖ¬…CXÎ¥Vc¤.b	Óø~Éò–)v2ËEÙGXtÓú±t–Qo±Ôº[,,GÌmŸfŸ]Ñ‰¥mÁür–Ý™'ÝX>³]]ÇòÈ¥;MXºÔYÅ²ýØªö,‡ÏlÞÅ’TÙ‚¥ë.'YªöMŒ`ywOîV–ÕsÛ²¼´¿¼’ESyÙÌR¼£î%–oOíÃ²¦®ôíy?+KÑ…æsY®¤»7ey!#b‹G^N–™9É›Y®69êÎRæÖ¸†ÅÛ:³<fX»ƒåÏ²A,ŒêX·²Yú³üš6~Ëö¬YZå†OcÉŸ¢ÿšåï“ÞÓYüœÅrnf2KÖÅáŸ°ÜÙÝPÀ²´öæ–UµYR·/=Årúô†oXÖ/{œ¥÷Ù‡Xânf9^“õ#Ë{Çg±¨Ð_d¶3|ËYÀs,ï˜¼cYÂ5Ãa‰ÒÎLeiH½yesVÃX–nùKo²qÔÎ`ùØVþËÞÌ¹­Y:Ô½Ê2:ûr8Ë'æÒ,5îC5,íeóÝ,cu~!,ïï‰¨eÙ¹ÏÝŸ%pWòó,Ës´,Î4nb©8v´KPýÚ%,)—¶ù²¼œq`;Ëwé·üXJr6¼Â"óÊL,¯¸éßd¹Þ$| K¡!k>‹Æ7cY±øS,—«g"Ë¬ÛXÌ•Þ½Yž¯[ú2Ë—§j=Xf_¸YÅâ~¾¡ËÓ'êN²üxòr4KöÅòßXÚœ››ÏòdmóOY~Ùí—ÂR°½ô––UCKY“¿biôÌ™Ê’©øˆÅK¸OdYf_ÛÈò[Ú6‹mJã	–æ¹G³¼jºü(ËºïYFjç:¿ñûhÊ°lÊò³±Kmþ+KŒchKÿüÒó,ÛŽçg©?|åá÷L–^g#~`ysï¶D–K5kßgºóè–ÐŠÆk,ûöÝòaùhÏÅ,‰åe¡,wmxƒeÏ±pË§gôe,c.ïÂÒ¡>k?KyæÌ®,‡lÃ«Y&e{K–€‚ÀXv¹×öb9h^ºž%Y×àÍ,o>kY™-@“—ÑS€%6Ã’W’RT”7¨g„ ·ôÂô°î“‹midÊpú~Ž|Gqêâßeœ íÀ‚» ÏXG¾}dI^š½pŒ--—ZšÆ¤ÛrÇÙ
êÞÕ¨-Îv	ÀûçI,ÊŽs¥«¹²ìÅ‰Å…Žü,-ücR¢»ÄæØ¦ÛBrmùY!Îô–¾ 3³È^,@ÄP—´Åö¨ÂBÛ^4]2BéI¢’nêÒ]]Â¨W®=?«XeZT\¨¢û—‘…C€ið£éö©ÅŽ‚ü"ƒ¤{¤˜F'ÛFÛò3
ò¢iBNž&ÓfØÔÅ9XI±#7dµÐPæB~ùn6î…÷úRú‚ÖRPwO[FÇŸézbôO‰¦´U"Â¦–Ëž7•Þ›?úÁ÷ô…ö¢’\Z#…75&ŸÔÀ+¦ºê\-&µ8±®¼Íé…vŠínDÍýÿ¹ÎÎÓm¹%””ÖÉ™«ŽK€&¥àbºP	Š@CëIÓó#êAôÀØ/=×U¦Ä‚’Âtû‡Úv³k»ª)ÍÒW>DÑSÿ?‚è’ÌL{¡YæÈ)ê’k–y’fiòàòšeœjÓÌ²PÒ&›e‰œn–­dk³,•ÃÌ²§7Ëù¨YÎ3ÍÒ[úÐV6UÀ?Kvò?Å§åØÓi›q“£ $&þ^iÐZØ¦Nµçgú·uüG“31ªoÿÿã©±¸àîþ ÿ¿¿ö{Œ#ÏYÃï.¿gSÛ¬wV?ô@BwG6ðÇg
°úú×I´Ù¶¢l!ÆYa®ªÓúS…@[úýÔR}µÐo2Zs2“Zb¢5ÒÞ‚mè.„vXý|ÓTØ¡:È¶tÕsc+ÙN}«8_íeÕ]v”è-ê,f€V[ÏVébÃµwEçó
˜¼ø¤–Eú:Õ7µ¬¿Uû
˜É­ÚTzÙªsÝéRU¦2Û·©&;Õª¥6‚.5\ßTÛ× 	7n‚˜ÀÖak¡]è’ª@ßÊP	ç\ÏW‚±Üú6AûûŸÒÎRï½1Ï(¬F«~}ce+Ãö{©Gƒ…®À~d¡øC{€`„ÞCÈÆÐº9 ò AO˜á°’žVÒý»Ð——m¢si¤ŸìüÑ.ýeZJ#ÔÈ H;crD¦¡9Þ’ÁdZši½ìJ¦£ñ“éxt¦­Èƒq2TvL…DÙÚŒ2ŒFÔÒö ¡“äÚÍýÔ¦¾5×€‰2wP	æÅÕà1¥šÄîÏÀJ°ÄiúoM¸Ö7¨ö50ù†ÑÒkWƒÞª}{žFøZp}ãÕjðzûÞ’twº Ð+D/-RHÁ¢…¡´(½a(DP[Äpú=(#DÊ^²7ÝY!Tö¡hÛé]_ZI#øq2£¹ŒýT5ÉHÙß•Ì–»É]àö@ºl¨¬MÝkäÌA¾¾acTÌµëoSJ›À+Èª¨M´jé‰VXµôèû ÿìokZQúµC×‘TÚñ€@;<ŠB}/pšT  -‚÷¡›|˜o!®À¡5›
<ê^àkh-1J.8pÁ¯sŠ+|_ßtâ)uYÎùQÐWþôxºN  “h=“©-…öd"àœð^ÐQ® [Ó¯§hÚ:¹‚v“å ç	†‹ÔÏ@LùÇÉý¯§ÔWFR‹!ÕbÌ×Yu*Ÿpý&°YõÎþcæé…UoÕ­o¼y_í© €ªÙùàEµìÓ(ðbè%”ÈtJ«”“æéÞÉIqœà#s2F:|r¼`8Ÿ!-ÒN¡:*ÎVœªþS2Ts%ý‘«°&ÐéhÚÏà­ê)Hïí\ý ·Å8ÓåZo‹å®k¼--]Nýšäj£”µ†Ôà{Åæ½¾ñ‡û2öãÏ€y4Û|:B¨†B[XDŸ"‹éÀ<‘°ÆÁ²ûênŸtõç~"Ÿ~ú«âdg	Þr8™†ŽaKgÝ=áëªÀÇ©¿ÍÏ-Z¹	¼w¶ð	›?Á:gaH;‹qÖÜèyRøP¼_µÛz/ÞæÜë:ÍõíÁÚ¡ï #üp_‰ùÉ8W‰ùÉ‘}fq,’þw”ñ2â3ÊQw¿a[xL0,©ô™Ô²<©‚öº'iÜ’´­’tÞ	Izß„$B›„$#B»„$5u P['5v&¸!t!˜	îÁ3BÁƒN)¡	BÁ¡'Á‚Ð‹à…Ð‡Ð!‚Ð!’€V„(Bs„„ƒ	-†Z!ÄZ#Œ x#Ä|â	¾£!$Ú Œ%´EOh‡DhBè€0‰Ða2¡‚à‡NèŒ`'ø#dº 8Sy„ „B0Â4BW„"BB	!¡”Ða¡;Â,BÂc„s=ž$„#Ì%ôB˜Oè°€Ða¡/ÂBÂ³„~Ë‘Ë	ýÊVFXIˆBXMˆFx™0aaÂ:Â`„õ„!C6†!l"Ä ¼IŽ°…0a+!áBÂÂH„rB<B!¡Š0
a7a4B!aaÂ~ÂX„÷ãÆ#¼O˜€p˜„p„Œð1!áSÂD„£„IÇ	 œ LF8EHE8C°!ÔÒÎÒ.2v„/™WY_²¾&8®r®¦ Ü ä"Ü$ä!üHÈGø‰P€ð3a*Â¯„iw…Šþ"#4JPÂtB)
áQÂt’,3Q¸f¡ð ÌFáIx…áqÍsPX’¼à	-ŸDÑJñ)ÞŠsQø*ÎCÑFq>ŠvŠO£è ¸ E'Å…(:+.BÑEq1Š@Å%(‚ŸA¢ø,ŠnŠKQ„).CÑSñ9½—£è£ø<ŠÅ2‘Š/  ¸E”â‹(*®D1XqŠ¡Š«QÄ(¾„b„âË(â_A¯¸Å(Åµ(×¡«ø*ŠñŠëQ$)¾†"EqŠIŠ¯£˜¬¸…MñéŠ›PØ7£ÈR|…Cñ-S· ÈS|EâVÓ·¡(R|E‰âv¥Š;PÌPÜ‰b–b9ŠÇw¡˜£XâIÅJs«PÌW¬F±@q7ŠEŠ{P,Q¬Añ¬â^Ë÷¡X®X‹¢Lq?ŠŠï¢X©øŠÕŠP¼¬xÅÅC(Ö)¾b½â(6(F±QñC› xSñ#[?F±Uñï(~Šb‡âg(Ê¢¨P<†¢Jñ8ŠÝŠu(jO Ø§xÅ~ÅS(ÞS<â âï+žEqX±ÅÅs(>V<âSÅ(Ž*^Dq\ñŠŠ(N)~ŽâŒâ(ê/£8¯xÅEÅ«(¿Dñ…âW(®(~âKÅoP|­xÅ5ÅoQ\W¼Žâ†âw(n*Þ@ñ£â÷(~R¼‰âgÅPüªø#Š;Š·Pü¡øŠ¿o£hTü¥Pü¥FñW”:ÅßPï tSü¥»â(=ÿDé©øJ/Å¿Q6SlDiM(T¿óá7¡/kõ×¥	Ö…Í$þPKaðR¬  ã  PK   ©€•)               de/mud/ssh/Blowfish.class­ÛtWÛ6àÙÏ=qŸ‡àÁ% H ¸K°à…$„’@îRÜ]‚www‡Bq/ÅŠ×?Òöýßõ­õ­Õrß3sÎÌì3gŸ¹ÎiG?oÝiÀ(l&:š¹Í–f.³•Dk‰6m%Ú9š!f¨£^
“ÕpG3ÂŒ”¥ö²­ƒ,EIDËjòTˆ†ÁóíÏ3ýätN¬Š¥s¡Àœb§aïû~*×ŽjÞ9ï¡ôiNÆÎ&íO¡ÄçXì^^`Žôjpß€52`|úó—0<åCœ)æô3¦ÞØ°E>%\ÁéÌ76aó­U &_ŸÉØÚkl5</Ôwò¤N«uãbßÀ^½¸Á£?¦GxtŽ‹èÒ¬~44ÿ</'”ï—IIc0zcstq¢9xÖ~‚žMxaoË0³èù2ðyÂ8pfunx‡~†£•R2bó•ÒO1:åêj„”ÍèŠØÙ®#°:ÛOøÕ3yv«“ÝW¹ŒàÖ!¸œ÷O,^6ÍjNCøýt|´L|–¹oÄúã­KÀ£Òý“Hm2dz%<˜€uOÒy <~»
.9ÐI‹½ÆÉÖé1cè„lXuakqÄæ9Õ=ü÷‡÷¤!ÉSs*:ÖÙ²
ûwÝÏ‚öÞ9' ô¢Ãq|È¹djöZ‚6ûùáé 6mð`p×5¸š/7áQd–aÈ=<°?ÎM^~ nâÿÄÀ—•ËÀ×©ê ,”ÃDôágµ1;ûŒ¶Èy0ª2^?ˆŽÎ3C±ìÜ°gˆi8÷,.6)…Én‹¼±¬añùˆ{êîp[ž5@Ÿ>S‘ú<ÒeV©nh´E Tq†‘O†dBµø9ëÑ{ÐÂ}Ñv'nÆw½ˆÁ{r$¢bæªsÐtOÌÏ¨niü+$Û"Ëç	¨<ƒÊ£Ôé_óà´£UWÜžC­ç»gÀ®qÂô›–¥'òþ’r¯ï_ƒ;ŸdÆÆ”º˜{sÌÝ¶[±gIÐFTœ²m[ÏÞ‹L1yÂõ!~co —YûÇ£ÓÇ†Ù1£è¤B8Þ¿ZU¬j»Ã;ïœ6q½xíOhïæm‡L¾uÖa÷±ÅÍPíp’Î:µ+ƒ-ç>\ApÊîÈâçˆ©ÆAT,”‚sò~Æ‡ìócôÂoqÅ/×[”ëšþ>…vôD‘Ùc…M£eð+¿á=>å‚ÆÅzÖD qc f·n¶GãGÎEæ¡M}q#Côœ¯¼ø5¼û|Ù‡åübdPp"¢[å_mG›Æ­/óÛ`ó3¹p_~*>å¸µ?nˆEá3çZazã»)Øø¶Z$ÎŽ®µu>L‹[×^\Æ‚c}Š#ìWÂÉ»ïãiŽ£—áŸ\WátŸÙŸQðyöõ˜tår=¬;n*®Ý'œŸ‹Ó£ÏœÆªCyobt¹VE0ºëÄMóúö¼°
F`Ø°ÍÆº<ËŠ mç"jÌ¾¬8sêù8¬[¼gŠÉ•;]3$ãa×ÂŸ1‚²§â·¹ÇÝ°!>é>2.ÿóN¿=ëÝÄ'¾¹	½öôÇÙ‹/!}»yíÑoR²&OL‡œ™Ó%ãÞŠ‘HÞð~5©ü
f•<…G'V9£gàð¹¸P)Ë9¬ÌÖ§Œ¼®…‘£Ëº¶ÈelC³Í7W!O„ÿ<sØ’Ááã¼ÐâÆÏKÑ}O•á¸Ô²q_äèÝjè·-00º!lÒ©%ð8œ)
õkWÂº…¢gº%µ‘¥¡ÑH_âž¸àÖ¬¶Ï8xCtCÿ{Iì·Æo@³,²ãÅäÇáãrÉÃ#sâ÷-ï6âK	_Ü4Wnƒ%sÆ¤ê=jLCÜ`»ÔéÑù6¬+PWº:øb¦|¹±"îçÕ¨µèFoÌ|²cþXÛ—Žì‚èé¾ iD£Xì]3û2ùÓBtu¨[ s[pEÜÍX6šLŽV•gE¢ã˜»0íM…H=;ÓOï}…z…KßÃ³¼mö îµC0¨ó£|ðà (Ûñ¶pˆêX[ŸA¹)Ó¡cLçTDõ-9æÞ‚M3Û`i»R´”}¯¯lÑ½«>F³ô/6cuÙË¥ð¬³žeÍn‚Œu_°ÒùUf”Û´yöhŽ«9wàÌ8~‡^KŠ¼ÆD¿‰Èõª†BÙß~ëR{/_ÅáÝJ`úŸ×aIÕÐêp;W<>|(ºf«„Û¥OLCÀC×"ðë·-×Cý&#J#¨Ó{ÄWv^;š»Ph³5y¦ôJAÓ”Õ	Ø¾jø*\Ÿžœ—&Ø»cÝˆ•®žªà‹`+!;|;vÉƒ™¯ÝÃœA'†¢Gó‘d9¶Ï™¾êô‰Ç=—Å•Á^ïîP¥=öGì;‹§Y3Ö€Ÿç%{\«P
yönM+µ^øDîoˆ—½{]n¼÷bõƒÑyò´óÈ4fÉ¦ÏñëüCQÎ#c ZäYè€cîý)Ï?¼Çì­»
!›g¹8¹S­3>ˆ_ƒ!®mÑ2Ðg’³ÿžõËÛ¾GÈ«[0íw/7ô~ÚÎßºGºc¦ûºôtÝŠ‰·vÇÂå#›cá—xñ¦þ"ø{,Leò¹!ÓÞ”4Ê½ÈoØÚˆG+>Çáá¾ìíqg{µIø¹çáXÓ·Ô¨‘_¼±ÏïÚSìŒm¹‘ÍsFÔ²©„''ºáJ‘IðyÚ{ZÅÏœ½QÀ.´3_«Ñ¡s<ÝÁÇÅ£Ð“Ÿ³a)ÂOaCbë±¨Ûy^œŸ=Û	Ç–^O‡'Ç‡lGHX¡E˜¹¬õ2¬ýsP"Fd[…L;žÅÜÜÑ[Ùr[TŒjé‡r>ë×¡Øìç±;çæ7˜ÑÄ)†¶›;“ÞLëƒ°ò½ãm©aÓ1åNádxü1¡ÒGYýáZrXº—ý&_¿‘ŠîÍ·NC³Wƒ"K®„pÌ¸ï2ï­>'Ö9>Bcß¢M0æRÍ»è´½˜7š?zñ%~yˆÏÞ„âI¯r‰hS;Ý%ÜØt•ÝÛ¤CŽ@¾‰jOnoÄü¥ËâJl'Þ:C•_VÆÓ˜mà…J'rÚàb¶”Ù2¸Þ!Ü­S#åû‡5À©°Ôh5*_u|6p.öÚ8}=óìCô±¤ñ¨1è''4¿v0Zí2°"SÍYH¶&	¹¸h^y”œƒ_=„×Š—È]¡s(Š'<QúTÂ…vŸ#6WÀôº^ªŽ=I
AÅÁ/ád²_~¶ë7™Þ6˜ûO/#ôÒ”’X½h)8ÛîEKsÙGôs:z³«öðÅ¾j%áÓù6pÍ6û®$^9÷àa'Ð¡ÝåÜéP¥"ì/‰.¥/¢¼·þ<ïô%<sþŽ1«Ë×Æ½;s
âÊÀoð |Ë(Lì_ñ^×Í—£”@%ÏoÐ~yƒí/;úâ—yF~±ÏÓÅs¼ŒA•M¿lB#t²•yí‹)yªUGºœAIØ5bXEÔ›ôÑ“7Œ[…Î/¯Cû¹Eªa×v‡ÇÀŽ)ƒÑwy§Ó(vl°‰Éò¯Cð§2•p9o{XvÔq:¼tÏ‹Æf—p,4ä2lìôQWÓ…á×šÑ¢\w/@þÔQOTáó<Üºb$6Œ¼i‹//lÄÒ“Ùzá\©vq²ûüi¨ØÑ§2r|ž]—þ¼OÊüºVýð:òþêtÊØùæ·/†‡w¦¬EÙ¸÷I¸ÖªŠ¢*ýþG»çø€Ž¯êãâçuSP­bÓåØZsR~7.[9ŽŠÏ—lÂéÉ“ê xq‡íHõœÞÇ—Ç´[WŠãgŸÚMQ¡XÞwhû²OVŒ-P¬>½½O0óéŒ~Û<[ÃÆ»ÐLÚãYwvÊ…š{¸¹¹
»wGž ’™Ýk¤,@›aqà×®á#œŸ±û^lß3•<JF oÏî%â337ÞÞŸìá±Yàj­ßºå7«ÚÁÑ3ý=Ñ1÷¤›(8þò8…áÉÎ-¹0xí<WÜÛê2×œG¢ð¼7Þ8mu¯†I›&~BDoû0ü~üÕ34©5?C{×|}³>åÇŸ£²Á±Fx%Lóý’„²ñqËðòí§RXl]Aê£ko1-Ë­º¸×Ñ{»£S‡B¥?ò— \=}ßÄó.‡pÜø2Ê¸G´ÛNhßsÎœ¼Ò{&æŽ;å„Kžmçc††­VäAÏ‰)»Ð-àÂ#”*ã»Ç=Z¤ _¾ÛSðÒ·XaDU^±c
ÀêZ÷8ºû>ÏŠ«r)lßðwØ¦n»§¿‡…7@æŽîáqô÷(ŸwÇEÜ¾µïªVNßŽÁ%çÇq8¿ì¡"Vu¨ËC·ÃÎ]†!âî¾Ï˜µ½_3<{³{Bº÷|‹„ÔÃ™O«ãuéì«‘\m¥‰_ý?ÇÀÊ‹ãY¶e]°º_¥¡(g´m‡ä¹ÍvbÇý•y\½ò4ìjîŠúÍ_ŽÁ‹kŸæáeÒÓÒ:|Ç^4nÿn¯„õ]_£úÇK[ÐãQ¾PŒðº1ƒb\S0®Ý¤Û¨×b4r¬oÖ#ÏÃº^[œ–ßÂ¶6§á±8¬&º&-™M}3mÄÍ%WÐ¾°C*öûU/Žû-³ží‰ÚÓææ…WÜgwdÞRÞNÜ@ênðŽz«›.D³2¶Ÿ‘zûäèÛ<Ú*,²øsiÃ~¸Ü;ÓßŽÌä
C*a_H][„.¶Ý€gzxc÷«!7a„4_Š¢W{‡ÁãÞì_‘»ôÃp4Þ{m"öîM_ÛŽ=iŠ±Û7^Ç£½Sq²…W7ÄÛÜu@^jÊ$8–G¯ñ½òhÚ!¡Þ¬-È¼§Õzœ›½ù#þhÜönÀÅò½Î¡Þ
·ýÈÖài[¬	½÷ókbr9ÄŸ?ô;šÞª¿þ>»NâÚÁÃ¥ðët¿>ÀB×÷£Q1Ä¸‰²eN–Â¹÷¯NaÙÞäRhy p´^Ýa6‚æ—ªŒsòWÄ´í3vâ¼ÇèYØå–¨¿ÎÚ‡Œý=±id–ŽÈ™ª"¯[³1þqëõ/ÒeE°}b\
Îïv‘µöFc··OP}ÔõÞ8Ÿèè…º§ëD2Û®`ÉÖê°|R¾ûØÙöŽ‰Ô÷çõÀÂ§#üéÈÛ˜>äI.ì¾w3ªäñ}…"÷Ì§`àîÐ­˜ñ ¦ÆüæÙ [#Z]€w¾yï°¨lÙ[¨³dÒ<{€CEžžÃ›Fo.£‚ä÷Ž-ÐïîO]=Da†Ã½ümŒýÔ³Kü:…žmº*8¢!&Ÿ_^ª÷Ï½õïŠÀèÕ»°7²ÏÉ{
+^lž–Ö' å°Wuq³Àò.¸™iá=ÔX½üþ˜ð~îŸÛ?
ÞÍŽãíùöÂ¾ÞèÞNÃ]C‚ñf²kUÜ9×v$<m:ý‚a/;mRCóÂ&âÙì{4ÛåÆ6›‡)ù3?Æ’²v>ÈR¡ÓdÏù
¯f¶ÿ€|WÿÌ„®Å/ycMð§W@ÓðÓÖrÛàÝ0Ù{/½Å²ã;àøŠñíPï~††(]ôêh”šÕ<r¼‡‡=ÆîÅ‡Àž'Ñ0çÉ$íôÃâwú`_òÕQózãhDð½~˜·R]½ÖimD.ü	v9ÛcÝôêŽˆ¨¶ûšÇ^?…¬9¯D«o®!KóQqü¬ê‹ŽëïlÃµy1}P¶Å—j,éXÛ×Ÿ8„‡'ã}Ä mÕÞZ‰]åâkàìŒ»áhR¤Íl¬Ü›œ¯ë‡wF’«Ë(üÞŠ›ámBú.XÕ¸wT¬xÌõ×ß>Žg«Ç@y®„[«MoLšZÖ¶›õþ“qsk"¾BÀ ”Ì±l Tf¯:ÈŸÿ-B=CÖà÷	®b[Ù”‚(Q-ïÌVæžL©ƒ"~G6anö­Gp3ëá>Ø~èÌkœRûzé!d;´~	Ú1§/_?†óŽ—Keöùàà8ÿõNÓvsMÁ ¼™Ýbª¼ÚV/Îgú‚ü—ªÍÄ®)¹
ÁóÞG¸ûØ3&zæÅûß&„âäÆ™°wqDX[ŸÁÆ=vmqÇ&ÆîgDâTÆÍÇq®H?õJ êN»~ÝD`NöI~¸ynüœ›[¢ †wy‘Y“*¡Îü#q`g—Ø×Íï"n”œ3
3¦ñÅ='}‰Ýî<÷Âou/7A¶ËÇádXÊ)œìô×´Ç§B^64æì¼þk^åþ³~öë–—,†¦ÇO–?ë†–]m@\zÿ)v6ñ8®Oþ[jFÝc³ ËÁ¦épïà¡ðë‘ÎÕn¶Å¾=§ãÈÒÆŸ¶ØÍÀ¶¼»n£äŽ³¯ÑÅŠ¶ÁZ“raã±S½p¢ÛÌ‚hì¸é+Þ9‡ÒËv„ oÏ°µtŽ™xSýd7$¯J=€]CB0øØçúøéþ¨‹è±ôÝjÔ}·´2ÕÜÛôá§‘PûbîâÂ£[ï0ö—·Ñø¹õõ¹¨à·0öÚß›ƒMõCýô·ÍÛ­ÐlÌ;(»/ážÙÑÎŒU5.ª£U-Y*&á'Q\ª2P«©~TÕJ[Òº„ÅÆ'·NŒj×9,¾û?×ÓÖmËEÇE'ê§{hª³J|D¤2ÜêFÇEÖïÚ),2¡IhX¬ÞbÕmš-ëß6šIQÑ‰Êð¬Y¤S×ˆ"‰‰QE*;~€>vbdRÈýïº1¡ÝB‹Ä†Æu(Ò8)!:®C@ÚÙ;ÊÃÖÿÿ¨OÚCÔª²2l¼[U–§«hý'F?''ìÔYo¨«ÿ4Ò'‹ïšÔ¹k’2ì"ãÂR:ë%G½_-ýo-Ù‰	á2¤„ð öíõÞ‘‰òd©´ˆ—Ý­hZêK‡È¸=‚D}VŠÐaç]«V«´cQ÷ºÒöÿv2Šw%BïgÿõyòÙ—ýv}ÇwM¬-Îå¯«ä+¯ÜÙ,bu6ó˜yÍ|ù%¼%
˜yíÌNÎfœïlú›åœÍÂ²¥³³ÙÅLp6}å9UÍÎ¦YÐÙ,$ÑØÔ#äÿòŽ(Ãã[«DwŽŠLP†û^{=ê‘I•S’"õ[kzwàŸOJIÔ^¡		¡)áñõ»äóÏ÷7(,&2<) ÖÙ¤/žQÌÌeæ6ÃÁ0åë%S^tZçÿÖÞßº@Z“¼¸´.”Öå¤µoZÛJ. Îbz-Ñ Cé.æ³ÉP>ÊØî¸Á ¿ð×‚ù×‚»%m»&í~:³v:¦‘Ëp1ré<Fv#¯ámä3ŠÍâúQç¯'1K˜%u+ýÞ”ú6€†z ÐíTp£aWÏ§ÐFÃþïC»¦=TÔ°1ŠŽ†_Ú¡r|}ú·CÉRi³Œ>¼ac–5äõÈ[ÿõðÈ©·;ê3^)¸ÓßÆf»cY‡µ†|Ö¶p·6Žk'Y#è×÷uU/èøÇ’æ?6@6Ø|Û€@”_dô*îa|éãž±{A/3ÄÓ¦ó×U÷îý
zÙü½n/ë¶ß×ûùÛÊX²¦…¯§í€ /;y0p©¬îVê—eð·ƒ¿½œÂ×ÇÓÎÓ>“ÃFÃ9“|ýí29˜¾þöi»zÚ¥µ>³}Ð ¢´}Ï"ðÚ‹¼¾îE^_÷yéW”úåÌÿ¼¾í†ÿÝnæ·ÝÌÿÝn6ßv³ùÏÝ|°Áp‘pý{ºœ5Jè,­gb€þÀ”72zV0JšF%£…QÍ1ªÓŒÚÆb£Ž±J¯o6êÛŒ c§ž‰ûŒFÆ	£±qÎhb\2‚[FSã‘ÞþRïùÎh©`´RFkåf´QŒ¶*§ÑB4BTQ#T•5ÂTE#\U7"T}#R5×ÛÃŒªƒ¥ºÑ*ÙˆQ½Žj°«ÆèíÓŒ85ÛˆW‹Îj¥ÑE­7Ôv#QÔÛOÝÔy#Y]6RÒ¦|kýjôþkÊë%™èJ¢·Y^ÈI«¯¨—`˜ê‚YA/ÙÓT%³¢^²5¶©ìf%½dgìTYÍÊzÉÞpPgÌ*ú†à`äÔ·Äj_?.T@ïç¬ÏP^>*25]üítºúÛgõ´	ñwÈêïèiú;-RNžv=Óæ°n3äïÙíéhò÷Ü÷t´ùëƒÑo€¿~—õ&»¿v´ÿ×Žî¶ÿÚÓÝîŸ»Ú#¶2GlÓæˆ­Ì‘Âžz(ò¬qMô¢ž$vîö½¾¯ÛÈºûßë¶²žñïuýa³ÿ¾b¯Wþ¹³ŽÞð½Ýåéßwäh?ÈÉÞÓÑÓ!õóK=8™žöÿš-õÍÐ0zé‹ÚÛp2úF_=)û9Fsc1ÁbÌ2†óaÆc¸±ÞøÉØoŒ0~1FwQÆsc´RÆecUn£¿žhã•¿1A•3&¦MŒ_ß¬ï£¼Y=mbÈR´‰!K5õ6¤-Õ2å6-K_§ˆ*eÖÖ“ÀÖpRÅÌ:iSÄC4ë¦M‘*¯YO/9™U.³¾^r4²©lf^rÒFKúuÚØä×Ç²Õ%fñ7³úÛxši7Xßþ¦§Üa<ÍoWÍWnzíëEõ‘‚^ýzÑ}ÈÝÓüþ~ƒøv8ò´ù×1lþ}›ÃæïcØÈ1þã°ýã°ûã°ÿãp·ýq·û#±ÿ#qø#qü#qú#qþ#qù#qý#qû#qÿ{$¶îú¶bSXïTXŸ9èï›m[}k5´í0¦ë›ÑL}³¥Ÿ£·¤×ŒùZë…*ÒX¤–KÔSc•0VPŠ±Švk cj0ÊØ„³Æ3ƒ±Ílmì0£Œ]f'c·™`ìI»á~½ÍýuÃÕKõÍP¥-5úzÃÕKrK…3>M]SßÇbÓÔµÑÖ6þnm}ýˆ«¾WÿïÖ:eõwÖÖº,Ré
z:Óù_Ò:ÿKZçHëï ×¿3ëü/fÿÍ¬ó?™õwôñtðteÝšyÚeJ»‰§±«oÅ‚­ËßØºü¶.ÿ­Ë`ëòOl]þ[—ÿÄÖåßØz:èa8úÛr¶äbïéìé”úùÑG7ÌÈ¨s¿¾Ú4Sõ<8¢gÆ1îq=NjVOS3zVœ5–êïz4·ŒóúŸÆoÆ¯Æã¢"ã’bã²Êc\QÞÆUUÈ8¦Ê×Uã†ªfÜL›£¿¾{ßñ­þßêßñ­þßêßñ­þßŠßñ-ûßßð6ž™MÒðel6ƒÓðÍ |Ó@vÒ LÙYƒœ?d=«ôoÙo {9éŸ §}tþ¯h÷ñvû·×1—1ç1§1Ç1‡1’òUåG|grÿ_Þ~Ä7•ñ•éG|w³ùã0ÿ!2þráÕÿ!òoúþwOßî–ñÀh¦QÏ4þÐ¿­Ÿª|ÆsÕÑøS­6^©WÆ*k¼£¾ÆÚo|‚ƒñõ”Â8œW6f&eg¶Qf”r2;)g3A¹þCä¤ï"'}9é»ÈIßEîò]ä¸o"Û›ÍþúaÙýäþ¬Û’ÿÆÕ–{PÓòjacYA-l-jag¥jaoyµp·µÒë´³2è´·2êt°2ét´2ët²²èt¶²êt±¼tºZÙtºYÙuº[9tzX9ƒÖ¦‘v¶\r¶Ür¶<r¶¼r¶|r¶üigóN;[´³ù¤­`ÚÙ
¥­pÚÙ|ÓÎV$ílEÓÎV,íl~ig+®Ó²Jèd«¤Ît–¿NO«”ÎôVi¬2:3Zeuf²tf¶ÊéÌb•×™Õ
ÔéeUÐ™Íª¨3»UIg«²ÎœV¹¬ª:s[Õtæ±ªëÌkÕÐ™Ïª©3¿UK§·U[g«ŽN«®Î‚V=…¬ú:[A:}­:‹Xuµé,f5Öég5ÑYÜ
ÖYÂjª³¤ÕL§¿Õ\g)«…ÎÒVKe¬V:ËZ­uXmt–³Úê,oµÓh…è¬`…ê¬h…é¬d…ë¬lEè¬bEê¬jµ×YÍê ³º¥³†­³¦£³–ÕQgm+Vg«“ÎºVœÎzV¼ÎúVgAV¬­D¬$­®:›XÝt[É:›ZÝu6³Rt6·zèlaõÔÙÒê¥³•Õ[gk«Î6V_m­~:ÛYýu†Xt†Zu†Yƒt†[ƒuFXCtFZCu¶·†éì`×eý¤3Ú¡3Æ©³£5Jg¬5Zg'kŒÎ8k¬ÎxkœÎÎÖx]¬	:¬‰:­I:“¬É:»ZStv³¦êL¶¦éìnM×™bÍÐÙÃš©³§5Kg/k¶ÎÞÖ}¬¹:ûZ©A-<Œ~Ö<©þÖ|©Ö©ÖB©AÖÏRƒ­ERC¬ÅRC­%RÃ¬¥RÃ­eR?YË¥FX+¤FZ+¥FY«¤F[«¥ÆXk¤ÆZk¥ÆYë¤Æ[ë¥&X¤&Z¥&Y›¤&[›¥¦X[¤¦Z[¥¦YÛ¤¦[Û¥fX;¤fZ;¥fY»¤f[»¥æX{¤æZ{¥R­}Ró¬ýRó­R¬ƒR­CR?[‡¥YG¤[G¥–XÇ¤–ZÇ¥–Y'¤–['¥VX§¤VZ§¥VYg¤V[g¥ÖXç¤ÖZ¿H­³ÎK­·.Hm°~•Úh]”Úd]’Úl]–Úb]‘Új]•Úf]“Ún]—ÚaÝÚiÝ”ÚeÝ’ÚmÝ–ÚcÝ‘ÚkÝ•Úgý&µßº'uÀú]ê u_êõ@ê°õPêˆõHê¨õXê˜õ‡Ôqë‰Ô	ë©ÔIë™Ô)ë¹Ôië…ÔëO©³ÖK©sÖ+©_¬×Rç­7R¬·R¿Zï¤.Zï¥.Y¤.[¥®XŸ¤®ZŸ¥®Y_¤®³2¤o°RÒ7Y‘ô-V¾ÍÊ”¾ÃÊFú.+[éßXÙIßce/ý;+éû¬¥°r’~ÈÊYú+éÇ¬\¥ÿ`å&ý„•»ôSVÒÏXYÒÏY±ôVé¤ÿdå)ý’UzéW¬2H¿f•Qú«LÒoYe–~Ç*‹ô{VY¥?°ò’þÈ*›ô'VÙ¥?³Ê!ý…UNÝÊ`•KZ±Ê-M¬òHƒU^i“U>iVù¥mYyKÛ±* mÏÊGÚUAiGV…¤X–vfå+íÂªˆ´+«¢Òn¬ŠI»³ò“ö`U\ÚbUBšY•”NÇÊ_Ú“U)éô¬JKg`UF:#«²Ò™XHgfUN:«òÒYYJ{±ª UEéì¬*Iç`UY:'«*Ò¹XU•ÎÍªštVÕ¥ó²ª!UMéü¬jI{³ª-]€UiVu¥²ª']ˆU}éÂ¬‚¤}Y5.Âª¡tQV¤‹±j,íÇª‰tqVÁÒ%X5•.Éª™´?«æÒ¥Xµ.Íª¥tV­¤Ë²j-Àªt9Vm¥Ë³j'È*Dº«PéŠ¬Â¤+±
—®Ì*Bº
«Héª¬ÚKWcÕAº:«(é¬¢¥k²Š‘®Åª£tmV±ÒuXu’®Ë*Nº«xéú¬:K±ê"Ý€U‚tCV‰ÒX%I7fÕUº	«nÒÁ¬’¥›²ê.ÝŒUŠtsV=¤[°ê)Ý’U/éV¬zK·fÕGº«¾ÒmYõ“nÇª¿t«Ò¡¬J‡±$Îj°t«!Ò‘¬†J·g5Lº«áÒQ¬~’Žf5B:†ÕHéŽ¬FIÇ²-Ý‰Õé8Vc¥ãY“îÌj¼tV¤XM”Nd5I:‰Õdé®¬¦Hwc5U:™Õ4éî¬¦K§°š!ÝƒÕLéž¬fI÷b5[º7«9Ò}XÍ•îËJ„VýX	Ñª?+1Z`%H«¬Di5ˆ•0­³§ÕVµÊJ¤VÃX	Õj8+±ZýÄJ°V#X‰Öj$+áZb%^«Ñ¬l5†•ˆ­Æ²²Õ8Vb¶ÏJÐVX‰Új"+a[Mb%n«É¬n5…•È­¦²ºÕ4Vb·šÎJðV3X‰Þj&+á[Íb%~«Ù¬p5‡•®æ²ÂU*+1\Íc%ˆ«ù¬Dqµ€•0®²ÇÕÏ¬rµˆ•H®³ÊÕVb¹ZÊJ0WËX‰æj9+á\­`%ž«•¬tµŠ•ˆ®V³ÒÕVbºZËJPWëX‰êj=+a]m`%®«¬vµ‰•È®6³ÚÕVb»ÚÊJpWÛX‰îj;+á]í`%¾«¬xµ‹•¯v³âÕVb¼ÚËJWûX‰òj?+a^`%Î«ƒ¬zuˆ•H¯³êÕVb½:ÊJ°WÇX‰öê8+á^`%Þ«“¬|uŠ•ˆ¯N³òÕVb¾:ËJÐWçX‰úêVÂ¾:ÏJÜWX	üêWV"¿ºÈJèW—X‰ýê2+Á_]a%ú««¬„u•ø¯®3‰ÿê“ø¯n2‰ÿê“ø¯n3‰ÿê“ø¯î2‰ÿê7&ñ_ÝcÿÕïLâ¿ºÏ$þ«Lâ¿zÈ$þ«GLâ¿zÌ$þ«?˜Äõ„IüWO™ÄõŒIüWÏ™Äõ‚IüW2‰ÿê%“ø¯^1‰ÿê5“ø¯Þ0‰ÿê-“ø¯Þ1‰ÿê=“ø¯>0‰ÿê#“ø¯>1‰ÿê3“ø¯¾0‰ÿd0‰ÿ¤˜Ä"&ñŸÀ$þ“É$þ““øO¶Lâ?Ù1‰ÿdÏ$þ““øOŽLâ?91‰ÿäÌ$þ““øO®Lâ?¹1‰ÿäÎ$þ““øO“øOÌ$þS:&ñŸ<™ÄJÏ$þS&ñŸ22‰ÿ”‰Iü§ÌLâ?eaÿ)+“øO^Lâ?ecÿ);“øO9˜ÄÊÉ$þS.&ñŸr3‰ÿ”‡Iü§¼Lâ?åcÿ)?“øOÞLâ?`ÿÉ‡Iü§‚Lâ?bÿ©0“øO¾Lâ?aÿ©(“øOÅ˜Äòcÿ©8“øO%˜Ä*É$þ“?“øO¥˜Ä*Í$þS&ñŸÊ2‰ÿÀ$þS9&ñŸÊ3‰ÿÈ$þS&ñŸ*2‰ÿT‰Iü§ÊLâ?Uaÿ©*“øOÕ˜ÄªÎ$þS&ñŸj2‰ÿT‹Iü§ÚLâ?Õaÿ©.“øOõ˜ÄªÏ$þS“øO˜ÄjÈ$þS#&ñŸ3‰ÿÔ„Iü§`&ñŸš2‰ÿÔŒIü§æLâ?µ`ÿ©%“øO­˜ÄjÍ$þS&ñŸÚ2‰ÿÔŽIü§&ñŸB™Ä
cÿ)œIü§&ñŸ"™ÄjÏ$þS&ñŸ¢˜ÄŠfÿ)†Iü§ŽLâ?Å2‰ÿÔ‰Iü§8&ñŸâ™ÄêÌ$þS&ñŸ˜ÄJdÿ)‰Iü§®Lâ?ucÿ)™Iü§îLâ?¥0‰ÿÔƒIü§žLâ?õbÿ©7“øO}˜ÄêË$þS?&ñŸú3‰ÿ4€Iü§Lâ?bÿi0“øOC˜ÄÊ$þÓ0&ñŸ†3‰ÿô“øO#˜ÄÉ$þÓ(&ñŸF3‰ÿ4†Iü§±Lâ?cÿi<“øO˜ÄšÈ$þÓ$&ñŸ&3‰ÿ4…Iü§©Lâ?Mcÿi:“øO3˜ÄšÉ$þÓ,&ñŸf3‰ÿ4‡Iü§¹Lâ?¥2‰ÿ4Iü§ùLâ?-`ÿi!“øO?3‰ÿ´ˆIü§ÅLâ?-aÿi)“øOË˜ÄZÎ$þÓ
&ñŸV2‰ÿ´ŠIü§ÕLâ?­aÿi-“øOë˜ÄZÏ$þÓ&ñŸ62‰ÿ´‰Iü§ÍLâ?maÿi+“øOÛ˜ÄÚÎ$þÓ&ñŸv2‰ÿ´‹Iü§ÝLâ?íaÿi/“øOû˜ÄÚÏ$þÓ&ñŸ2‰ÿtˆIü§ÃLâ?aÿé(“øOÇ˜Ä:Î$þÓ	&ñŸN2‰ÿtŠIü§ÓLâ?aÿé,“øOç˜Äú…Iü§óLâ?]`ÿéW&ñŸ.2‰ÿt‰Iü§ËLâ?]aÿé*“øO×˜ÄºÎÿéCü§›ñŸn1ÄºÍÿéCü§»ñŸ~cˆÿt!þÓïñŸî3ÄzÀÿé!Cü§GñŸ3Äúƒ!þÓ†øOOâ?=cˆÿôœ!þÓ†øO2ÄzÉÿéCü§×ñŸÞ0ÄzËÿéCü§÷ñŸ>0ÄúÈÿéCü§ÏñŸ¾0ÄñŠ!þƒâ?Àÿa2ÄØ0ÄØ2ÄØ1ÄØ3Ä80Ä82Ä81Ä83Ä¸0Ä¸2Ä¸1Ä¸3Äx0ÄXñÌÿ‘Ž!þÃ“!þ#=CüG†øŒñ™â?23ÄdaˆÿÈÊÿáÅÿ‘!þ#;CüG†øœñ¹â?r3ÄäaˆÿÈËÿ‘!þ#?Cü‡7CüG†ø†ø‚ñ…â?
3Äø2Äaˆÿ(ÊÿQŒ!þÃ!þ£8CüG	†ø’ñþñ¥â?J3Ä”aˆÿ(ËÿÀÿQŽ!þ£<CüG CüG†øŠñ•â?*3ÄTaˆÿ¨ÊÿQ!þ£:CüG†øšñµâ?j3ÄÔaˆÿ¨ËÿQ!þ£>CüGCüG†ø†ñâ?3Ä4aˆÿfˆÿhÊÿÑŒ!þ£9CüG†ø–ñ­â?Z3Ä´aˆÿhËÿÑŽ!þ#„!þ#”!þ#Œ!þ#œ!þ#‚!þ#’!þ£=CüG†ø(†øh†ø†øŽñ±ñâ?ââ?ââ?:3ÄtaˆÿH`ˆÿHdˆÿHbˆÿèÊÿÑ!þ#™!þ£;CüG
CüG†øžñ½â?z3ÄôaˆÿèËÿÑ!þ£?CüÇ †øñƒâ?3ÄaˆÿÊÿ1Œ!þc8CüÇOñ#â?F2ÄŒbˆÿÍÿ1†!þc,CüÇ8†øññâ?&2ÄLbˆÿ˜Ìÿ1…!þc*CüÇ4†øéñ3â?f2ÄÌbˆÿ˜Íÿ1‡!þc.CüG*CüÇ<†øùñâ?2ÄüÌÿ±ˆ!þc1CüÇ†ø¥ñËâ?–3Ä¬`ˆÿXÉÿ±Š!þc5CüÇ†øµñëâ?Ö3Äl`ˆÿØÈÿ±‰!þc3CüÇ†ø­ñÛâ?¶3Äì`ˆÿØÉÿ±‹!þc7CüÇ†ø½ñûâ?ö3Ä`ˆÿ8Èÿqˆ!þã0CüÇ†ø£ñÇâ?Ž3Äœ`ˆÿ8ÉÿqŠ!þã4CüÇ†ø³ñçâ?~aˆÿ8Ïÿq!þãW†ø‹ñ—â?.3Ä\aˆÿ¸Êÿq!þã:›â?n°)þã&›â?n±)þã6›â?î°)þã.›â?~cSüÇ=6ÅüÎ¦øûlŠÿxÀ¦ø‡lŠÿxÄ¦øÇlŠÿøƒMñOØÿñ”MñÏØÿñœMñ/Øÿñ'›â?^²)þã›â?^³)þã›â?Þ²)þã›â?Þ³)þã›â?>²)þã›â?>³)þã›òÿ¨Ö¤ý­ï%C¥3:)¯ìº•Ù<íÿ÷·øPKh6íÕú-  J  PK   «€•)               de/mud/ssh/IDEA.classµVmpœU~î¾ßï¾›n*—6É¡´5lHš6ñié–¡•C§ê”M²ÛÉÒ4	»YL Æ‚ÊŒ uG€N,v”BujUføþñ3ðGúÇ9Äç¼»Ù«ãt3yÏžsÞ{Î=÷Þç¹ç}û£_œƒnÜäÃÇ2"öŠ¸Î§Ø'âzX]í7:RŽæçî,çså‰¼Bì0}ÆÐ¡^UÑv(Ø»“…™AšWR0÷Nå8tÝÂdþæò±Ñ|ñàÈ¨¯?0562qh¤X»ê4gÆ%…Ö¹üöcåÜöRi|ûÐuûöìRpò“cÅ¹é¿ópfˆÿC’ß(Ç¤’g¦:|ä³äò%Žsä'rùIÊ©2½FážÞH²V#?™cp©@‘+DÕ9ìé‰‘Âdïš"ë*ågöçç,NÍ|T,%±G)Ô]Œï:•¥&øùjf‡ˆ³¢ÍFZŸˆ~¦*N•¥ëXybjZRsQÜI5Âg”ƒFDLLQŒs
ÿÖ©rq,}A¶Ê“}é¹käž‘ I´ˆ#@K€u"6 'ÀVWã3<€ÛQnrƒgoaz<_Ä¶¦¤£fJÆèw]ôë@Él”ëiÝ‚5`Cú¨t²ÿ¬±´q†óE¾Šá”Ã¢ÜÆ4L{¤éÛ†‹è*) é.£¶±’>öF±õWë¬~	FèPš¡›ÒV6ôR¡¯Í0¾¢^JkG»möË°Úl£'tÚl³'tµÓ¥};Û×ŠÕyjVEKº³´Ìª•Œ¬Š¾qva1d&:’N-.i7ºMÕa•PWÇ“nV{Ïb¡[Çí¬väÝ‰ƒ4,I÷xÍ6ÅNÖmZëg×nÝb&·1Ø»!XF×ÂWð”öt<÷äï»|TtpÀC|æøøÜÆç ŸÝ|º.xŽ±º%ß]Š»Ú×ÞòGûyní6¡eŸ¤ìæé÷†Û‰–^¢b'±Ñ‡.ô¦ŸÆU1IhŸÄ.üŒ«ø5ð[âC|Ãµø'ö¨2jöª^ìSYÜ îæv?ö«øœzÃêyÜ¢ÎáVõ.vª?àóê|Aý_ŒPyoyUTŠÖ†vÙIj¤B,ÒRô‘¶‰>3Ò.¡fÁRrlÄÕq)}ZÕï¹†¸Ø ÞÇfjÚÕ;¸œšKÔØB-Î1[×8`øÌÚòß9O…9hä€Ý¥ƒêƒ&ÔM¨jÐÉ” ù òAäƒÈ‡®ðM;‹¡'”Óî")™Ä#$ˆo	¢Äk@IÂ»Ž’­:ÀÂ¿n1“ßìŠÝ,£›8×‰ãÀÎñ1V·¸K	W:þ?8p‘t;q9%F‰1r ‡;q„ëÇÓ\ÉI%&ÈcäÀ$90EL“w“Er D”É/‘säÀ}äÀ—É¯÷“£äÀ×È¯“Ex¤‚¼ÿžVûØ„'Õn|*âÀ/â5^5^$8s'{GÄ%§)=å«Æ šÆÀ
¶±T—•_ƒ®èUÀ//ÅT*é.¯þ9é0b7.™JB6i3K¬UÕ¤3ŸíIz³US^‰Ã9¾°Þ™–î|v0šQÎþåÕ3õs“øk{˜ëy„?Ìûê[¸'xC}›'ô”ñ(ŽÓ÷ OPö¹¿²’µ}¦–ŽöÙ!
º¢}Žá\IÍàÈÞŒ²Ï­Òâ«òæj§ÌÈ^„–ú„^hw°èÐI‰î¦D÷öK¼ m²Dí/ùªçÜÐÖNÝ‘•.ØhºÚ;/ÂÓ¶Þä½ã-†–6ÏajS.)K[ç½²*¯Læ°9¹§M^"t:’Ñ’Ä/6ö
%MuyuX;úOu›Íu[¦,¹±ôJÝÝ†¶y—i‡þ…ánSÝl4ja¸~’÷ÅÀãÄçüøù>OçI¢þ)¢w™h}†}çYÜ„°_ü§º‚ü÷‘‹ßÄsx?¦<…ñ<Îà'ø^Àë´ÞÃOñ;Æÿ	§ñ^ÆßñŠŠáŒº?W[qVõá—jÎ5t L}vÂ–ˆ}öÃ
û2¿j(TØj;¥°oÚÉ~ÙBöiu%1&ìëPÛØ;…}—©KÙA…}žº:Â–-¼)®ŠØ×*_ŽÕ¼ƒÌJVÃMw¤ºù…Uß!_jÀo˜÷Õ¨âte\ÇîZÅÔªS«TÜ&Ÿ¥Õ–#\}íã©ïa³@uPP+çg’t9>ÏÀ!kM#{ªýqª¹Sf{îT­˜ÍL¼Æ^§ö¯‹7YÆ[<ªwH¢wYÊ{dë#![¢"ûxR¤É»£"$ß@D¶‹¹ƒÑ¶*~VÈL×þPKÏ«/ð  =  PK   |¤))               de/mud/jta/default.confµWKs"7>›_ÑY_’*<;›x³µLì]RæQ¬Ë•¤Rb¦´ÖHIK~}º5à×æÌÅFÝêÇ§î¯›c˜,¤ƒL*ú[ëÁdðf²@øM,LPiôÐ)
%á¥Ño¢Æqã¸ºÇW-"8“ù•°øÖ¦„Dh°˜Jç­œ•ž,{:m¹Ie¶¦ëtTê-xòäÑæŽýò—ƒ)|DV(•3r72AíEÈ'n)ÌØ_¸æâMpmÈnô= $¹…%ZGßá¬	Â÷Âs”LÁZ?¡× „ß©V)~Î}—b
R‡`¦ |äƒ2\I¥`†@¶J‡Y©š@ÊpÛ›|N'ÐÜÁmg<î&wïIÙ/Iq‰•)™“7²LiY¡ýš "Cý«q÷Ýè\önz“;Îèº7\Å1\ÇÐQg<éu§71Œ¦ãÑ0¾Š bä¨îÞ,<a˜¢R9BC¿£'ušJa!–HO› \R`S¬ÿûÝaeô<¤Hº„Ü®`\YU‚Ýáè®7øH÷2ÐÆ7ae%7›è_zë&ôt5áí;z+Âa¤D‚pqÉÎÏO›týÒ8ÏÊýœžµÛí“öùéÏM˜Æ¨Aâ“èõGÃñ„ð…Á`¼¢3t9O¿í”Õ‚ž(±H®)«ª˜Vtbt&ç¥qÅƒy¨~*ú-jÏ¦˜‰RùˆÕ¹Š¨4¸š
5.á-¤–^š}YDüû~ÈR.ÖŒhä× Z«€D•R ŒMU•uØ\{F+ödè¹¹UWTXÜF’…ÐsŒ^F$ó!K‰ÉsÂ¨°fnE^Câè£På\jwDŸG±¾tÍØ$÷è›U7Ó›K-ÔFu$ü"(§åe}ñ"ª$%+_™º4–hë&œlQm)(té™ÑÖ¢Ês}_F&$â¥W€¯²1$,™PÔÊÎ#¢4å¨P¿  óœQ«Z¿ ‘£./…eÞ–¥ÎÓDšàW5ZcâŸ¨˜¢ÖøUºG:Ò%ÕÉ[I”(j‡[©S³ª•BKäâa€Þ%‚H}†ýæÆ%BTò>°S9CÝ^X¹¤f›£«=Õ¢­ˆ¼LµäY#TWÉbf„M;I‚Î¶>ª‚úØ- ÄN~&Xf-åÅtVÓÜ6ŒˆX‡›èCcó½06|?:;'%f¼8þÄtŒ±”@WfÕ8~ráì°8MdŽ<{)¦ôCµ19¤rK+&øét{ÌDH“"ãWéÿÐÎlCM¯Qµíˆžç–§qœ…ÏN<Éýžø4|vâ¤´ÎØ}#/+í™zÆ5˜fH•±;ÆÚ…˜»ªŸÇ§c!i
ï.Ñ‚š…YVƒ²¼aŠò‰ f¾5ü]
%3^Ò¦ã›ïö¢åb¤ÓJ±Eó¤å7ÂV-Àîñ¨QjC…·èx.k³
½@«†‚ÚÀÃ=cg@VU´ôçg{ÀÍJ^=‚¤½¨“ÿ`8ýýâ´yöãŸ;‰Å­,3´ì=³®Ú¯o´qíWéCaì×
Y¡PBêG²`“‚hÿ_pïqÝ5)ºgÁ­…ÀýÜž)‰ÞeÿhÿÑÃ
Vq@E=õâKK|b,m¾¾Záy§3èÂöµ2ö¾q¼µ‰:¡9zÎv{ñðââí»¿Úl‡•lÐþ33ÊUêù`ZfA¸±iÛjúHÂªñ¬#Å«h{/ŠbR[x_üÒj­V«°Õ^[´Û´.‡ÓA÷*ºí|>,ãôËt3¨_ƒsvÖ‰è— §Úx’e²Õ zm}¡_p­jçÿó­(5ÿPKÄ~!`  ý  PK   Yû(               de/mud/terminal/keyCodes.confEŠ=… €wOÑ„ÙÁ8‚³	'Àg	Mú
±]¼ýs ¾ñûq`•
1BÍ
¢ ‰¡5ÉÌ70üv»'79Ø–u[æ~¡*žÇü×¨ŸÜñá4DªTl~u:4±«ñ?ø<¿÷PKxæÉh   •   PK   Ù6p(               de/mud/terminal/colorSet.conf-ËK
€0 Ñu{ÿ®<LŒ¡Š±…P)½½Ñ¸|ƒ‰“4nq+ž_¶J¡ÍÐ)‚Ec¯¬ÄœŠyøÖ›L£ê‚@1ƒ…IVøçYUö#“ PKÅUy§O   w   PK    ¸€•)           	                META-INF/þÊ  PK    ¸€•)Ä-p   t                =   META-INF/MANIFEST.MFPK
 
     ¸€•)                         ï   Created-20001221-1605PK    ’¦u)ïÖ+{R  ˆ	               "  READMEPK    ‘p-'W¨XX,  7E               ¨  license/COPYINGPK    ‘p-'_³*ž¿"  la                  license/COPYING.LIBPK    Õn5'ñ<-o  „               C  de/mud/ssh/license.txtPK    q€•)wQ”¥    ç   ,             tD  de/mud/jta/event/ConfigurationListener.classPK    r€•):,¨Fˆ  Þ  +             nE  de/mud/jta/event/ConfigurationRequest.classPK    t€•)ß«ÿ
˜   Ã   (             OG  de/mud/jta/event/LocalEchoListener.classPK    u€•)êª‹  ©  '             =H  de/mud/jta/event/LocalEchoRequest.classPK    w€•)oì-’  ­  #             J  de/mud/jta/event/OnlineStatus.classPK    w€•)Ö ø%   Ô   +              L  de/mud/jta/event/OnlineStatusListener.classPK    x€•)2l|çá   D  %             öL  de/mud/jta/event/SocketListener.classPK    y€•)LÀzí=  â  $             *N  de/mud/jta/event/SocketRequest.classPK    z€•)ÂÄE:¡   Ü   +             ¹P  de/mud/jta/event/TerminalTypeListener.classPK    |€•)Éë  ¯  *             ³Q  de/mud/jta/event/TerminalTypeRequest.classPK    }€•)Ì-¤   Ø   )             ŒS  de/mud/jta/event/WindowSizeListener.classPK    €€•)þžõŠ  §  (             ‡T  de/mud/jta/event/WindowSizeRequest.classPK    €•)®¹AW  ¹  "             gV  de/mud/jta/event/FocusStatus.classPK    €•)Zþ˜­   ø   *             ÉX  de/mud/jta/event/FocusStatusListener.classPK    ‚€•)@–†ž   Í   %             ÎY  de/mud/jta/event/AppletListener.classPK    ƒ€•)iæÌ3€  ±  $             ¿Z  de/mud/jta/event/AppletRequest.classPK    …€•)Qã	z“   Å   *             ‘\  de/mud/jta/event/EndOfRecordListener.classPK    †€•)KG[  `  )             |]  de/mud/jta/event/EndOfRecordRequest.classPK    ‡€•)|c¸“   Å   *             ._  de/mud/jta/event/ReturnFocusListener.classPK    ˆ€•)Z§[  `  )             `  de/mud/jta/event/ReturnFocusRequest.classPK    ‰€•)Ú×œŠ  ¤  #             Ëa  de/mud/jta/event/SoundRequest.classPK    ‰€•)ø¡Màœ   Å   $             ¦c  de/mud/jta/event/SoundListener.classPK    Š€•)Ñ!5"¶      ,             ”d  de/mud/jta/event/TelnetCommandListener.classPK    ‹€•)Þ“ŸY’  ¹  +             ¤e  de/mud/jta/event/TelnetCommandRequest.classPK    €•)zeÚ8r  ^               h  de/mud/jta/Plugin.classPK    €•)¥|ÉU~                 Fk  de/mud/jta/plugin/Script.classPK    €•),I³¶  )                q  de/mud/jta/plugin/Script$1.classPK    €•)C»Ý?  Ï                s  de/mud/jta/plugin/Script$2.classPK    ‘€•)ƒõK&!  ë               |w  de/mud/jta/plugin/Shell$1.classPK    ‘€•)ç-[•¿  r               êy  de/mud/jta/plugin/Shell$2.classPK    ‘€•)0¿ÄA  ÿ               ö|  de/mud/jta/plugin/Shell.classPK    ‘€•)ŠdŠØà  í  "             ‚€  de/mud/jta/plugin/HandlerPTY.classPK    “€•)Ñ-þ¦ž                  ²‚  de/mud/jta/plugin/Socket$1.classPK    “€•)ÚV"	ë  >               ž…  de/mud/jta/plugin/Socket.classPK    ”€•)ùuÍG  ­
                ÕŒ  de/mud/jta/plugin/Status$1.classPK    ”€•)}å}                  j’  de/mud/jta/plugin/Status$2.classPK    ”€•)Ÿÿ;(ì  ‘                5–  de/mud/jta/plugin/Status$3.classPK    ”€•)EØ‹Ö  b               o™  de/mud/jta/plugin/Status.classPK    •€•)ZU&×(  J                ‘¢  de/mud/jta/plugin/Telnet$1.classPK    •€•)×¾:3Œ  ¯                ¦  de/mud/jta/plugin/Telnet$2.classPK    •€•)@®·§†  ¾                á¨  de/mud/jta/plugin/Telnet$3.classPK    •€•)B¿fÍ  0                µª  de/mud/jta/plugin/Telnet$4.classPK    •€•)¦bîF  u               Ð¬  de/mud/jta/plugin/Telnet.classPK    —€•)^–N8l  „  "             b±  de/mud/jta/plugin/Terminal$1.classPK    —€•)÷o\€l  „  "             ´  de/mud/jta/plugin/Terminal$2.classPK    —€•)N&ø  ‰  "             Ú¶  de/mud/jta/plugin/Terminal$3.classPK    —€•)H/}
  ‰  "             :º  de/mud/jta/plugin/Terminal$4.classPK    —€•)J¥²KÚ  C  "             ”½  de/mud/jta/plugin/Terminal$5.classPK    —€•){™Ù  C  "             ¾¿  de/mud/jta/plugin/Terminal$6.classPK    —€•)Jæª.³  	  "             çÁ  de/mud/jta/plugin/Terminal$7.classPK    —€•)~ŽwÃ¼    "             êÃ  de/mud/jta/plugin/Terminal$8.classPK    —€•)µi¸ò  —  "             öÆ  de/mud/jta/plugin/Terminal$9.classPK    —€•)>o½b¥  V  #             8É  de/mud/jta/plugin/Terminal$10.classPK    —€•)î¼U  Ô  #             .Ì  de/mud/jta/plugin/Terminal$11.classPK    —€•)–7Päž  ß  #             …Î  de/mud/jta/plugin/Terminal$12.classPK    —€•)$ŽÝ²  Û  #             tÐ  de/mud/jta/plugin/Terminal$13.classPK    —€•)M/ë$Ä    #             wÒ  de/mud/jta/plugin/Terminal$14.classPK    —€•)˜û4OŸ    #             ŒÔ  de/mud/jta/plugin/Terminal$15.classPK    —€•)|k’o©  Ã  #             |Ö  de/mud/jta/plugin/Terminal$16.classPK    —€•)Íy%¨  â1                vØ  de/mud/jta/plugin/Terminal.classPK    ™€•)¾ö€&È  6  #             lð  de/mud/jta/plugin/URLFilter$1.classPK    ™€•)"@‚ó  ‘  #             …ò  de/mud/jta/plugin/URLFilter$2.classPK    ™€•)¿SØC  -  #             Éô  de/mud/jta/plugin/URLFilter$3.classPK    ™€•)²*„öö  „  #             ]÷  de/mud/jta/plugin/URLFilter$4.classPK    ™€•)ãa!T¶  ,  #             ¤ù  de/mud/jta/plugin/URLFilter$5.classPK    ™€•)BðÙ±Ì  =  #             «û  de/mud/jta/plugin/URLFilter$6.classPK    ™€•)£e©Ÿ  õ  !             Èÿ  de/mud/jta/plugin/URLFilter.classPK    ›€•)À:FÓé  •               ¶ de/mud/jta/plugin/SSH$1.classPK    ›€•)†-=  Í               ê de/mud/jta/plugin/SSH$2.classPK    ›€•)É9ÀªÑ  +               = de/mud/jta/plugin/SSH$4.classPK    ›€•)Wß—ÌÔ  h               Y de/mud/jta/plugin/SSH$5.classPK    ›€•)|Ý®{Ë                 x de/mud/jta/plugin/SSH$6.classPK    ›€•)#B  €               Ž de/mud/jta/plugin/SSH$3.classPK    ›€•)bˆ†  
               è de/mud/jta/plugin/SSH.classPK    œ€•)nrB  X  !             ·% de/mud/jta/plugin/Timeout$1.classPK    œ€•)ì¶*–N    !             H) de/mud/jta/plugin/Timeout$2.classPK    œ€•)tò¦  ­               å+ de/mud/jta/plugin/Timeout.classPK     €•)}8Bq¸  r  0             82 de/mud/jta/plugin/MudConnector$ProgressBar.classPK     €•);å6ÓE  C  &             N8 de/mud/jta/plugin/MudConnector$1.classPK     €•)õÉ+²  !  &             ç< de/mud/jta/plugin/MudConnector$2.classPK     €•)	wƒ —  ß  &             í> de/mud/jta/plugin/MudConnector$3.classPK    ¡€•):œ;b    !             Ø@ de/mud/jta/plugin/ButtonBar.classPK     €•)‰ñu"  Ç  &             ‰M de/mud/jta/plugin/MudConnector$4.classPK     €•)éXLù5  Ý  $             êP de/mud/jta/plugin/MudConnector.classPK    ¡€•)d’Þú	  ¨  #             q` de/mud/jta/plugin/ButtonBar$1.classPK    q€•)âÉ+e   x                ¼j de/mud/jta/PluginListener.classPK    q€•)¥Z¥®%  C               nk de/mud/jta/PluginConfig.classPK    r€•)MÇaæŠ   Ä                Þm de/mud/jta/PluginMessage.classPK    €•)”Gìùª   õ                ´n de/mud/jta/PluginBus.classPK    €•)Š˜Ð                 ¦o de/mud/jta/Common.classPK    €•)ì@Ó  ˆ               »x de/mud/jta/PluginLoader.classPK    €•)%Ô»Þ   H               Ù€ de/mud/jta/FilterPlugin.classPK    €•)J!Ñ~   “                ‚ de/mud/jta/Version.classPK    €•)¾MÛ    Ó                Æ‚ de/mud/jta/VisualPlugin.classPK    Ž€•)îÐ:;}  x               ±ƒ de/mud/jta/Main$1.classPK    Ž€•)²Š®}  ™               s† de/mud/jta/Main$2.classPK    Ž€•)
íáV  ß               5ˆ de/mud/jta/Main$3.classPK    Ž€•)}q¨C                 ÐŠ de/mud/jta/Main$4.classPK    Ž€•)nûW®Ð  ø               X de/mud/jta/Main$5.classPK    Ž€•)Eg´Þ  E               m de/mud/jta/Main$6.classPK    Ž€•)~ê¼  ¼               ’ de/mud/jta/Main$7.classPK    Ž€•)›^ý|Ë  ç               ‘” de/mud/jta/Main$8.classPK    Ž€•)9VÊ  è               ¡– de/mud/jta/Main$9.classPK    Ž€•)†‚2¼                 °˜ de/mud/jta/Main$11.classPK    Ž€•)ÝQ>  e               ²š de/mud/jta/Main$10.classPK    Ž€•)P|Y.	  [               ž de/mud/jta/Main.classPK    Ž€•)Ðœh­   é   %             _­ de/mud/jta/VisualTransferPlugin.classPK    £€•)Þ7”K7  -               _® de/mud/jta/Applet.classPK    £€•)ïüH1°  Ø               ÛÃ de/mud/jta/Applet$1.classPK    £€•)ê‰	„Ô  {               ÒÅ de/mud/jta/Applet$2.classPK    £€•)N1‡B  "               íË de/mud/jta/Applet$3.classPK    £€•)lïaó  W               vÎ de/mud/jta/Applet$4.classPK    £€•)€kFë  “               °Ð de/mud/jta/Applet$5.classPK    £€•)ÿ”fOË                 âÓ de/mud/jta/Applet$6.classPK    £€•)‘„ ¾ÿ  Œ               ôÖ de/mud/jta/Applet$7.classPK    £€•)±Ôœ                 :Ù de/mud/jta/Applet$8.classPK    £€•)¸ñš¿  û               ƒÛ de/mud/jta/Applet$9.classPK    ¤€•)x'Šc                 ‰Þ de/mud/jta/Build.classPK    £€•)[ÀÝåÄ  ï               Øß de/mud/jta/Applet$10.classPK    £€•):š[W¹  %               äâ de/mud/jta/Applet$11.classPK    £€•)Í»ÞF™  °               åä de/mud/jta/Applet$12.classPK    ¥€•)¥áÂo  ©               Ææ de/mud/jta/SmallApplet$1.classPK    ¥€•)Óç©lÁ  j               Ÿé de/mud/jta/SmallApplet$2.classPK    §€•)n´CÂ  Õ               ¬ì de/mud/jta/MacWrapper.classPK    ¥€•)U|éZL  Í               ó de/mud/jta/SmallApplet.classPK    •€•)\sf"(  *  )             ¦ú de/mud/telnet/TelnetProtocolHandler.classPK    ¨€•)©³uU    !             %
 de/mud/telnet/TelnetWrapper.classPK    ¨€•)üS“Ò:  i  !             É de/mud/telnet/ScriptHandler.classPK    —€•)&28Óž6  Ñe               R de/mud/terminal/vt320.classPK    —€•)vÀðEè  ï               9K de/mud/terminal/vt320$1.classPK    —€•)] N¼  û               lO de/mud/terminal/VDU$1.classPK    ˜€•)Dy;ÜÉ+  ¹]               qQ de/mud/terminal/VDU.classPK    ˜€•)ê(‹  ô               } de/mud/terminal/SoftFont.classPK    ›€•)™)ãó  A1               X‰ de/mud/ssh/SshIO.classPK    ›€•)HÆ¸  »               ¤ de/mud/ssh/MD5.classPK    ›€•)è§>?  	               ‰° de/mud/ssh/SshCrypto.classPK    ›€•)‡
@üH	  ¡               ¶ de/mud/ssh/SshPacket.classPK    ›€•)Ïèöì²  9                ¿ de/mud/ssh/Cipher.classPK    ›€•)aðR¬  ã               —Â de/mud/ssh/SshMisc.classPK    ©€•)h6íÕú-  J               ‰Ó de/mud/ssh/Blowfish.classPK    «€•)Ï«/ð  =               Ê de/mud/ssh/IDEA.classPK    |¤))Ä~!`  ý               	 de/mud/jta/default.confPK    Yû(xæÉh   •                ¹ de/mud/terminal/keyCodes.confPK    Ù6p(ÅUy§O   w                l de/mud/terminal/colorSet.confPK    — — 5-        0707010006ee64000041ed0000000000000001000000023d1ffb7600000000000000200000000000000000000000000000001200000003reloc/telnet/lang 0707010006ee65000081a40000000000000002000000013d1fe2d8000001eb000000200000000000000000000000000000001500000003reloc/telnet/lang/ca  index_title=Connexió Telnet/SSH
index_warn=Atenció! Aquesta sessió telnet <b>no</b> està xifrada.
index_nojava=Aquest mòdul necessita java per funcionar, però el teu fullejador no suporta java
index_credits=Applet desenvolupat sota GPL per <a href='$1' target=_top>Matthias L. Jugel &amp; Marcus Meißner</a>.
index_sshcredits=Inclou programari desenvolupat pel Cryptix Development Team (<a href=$1 target=_top>$1</a>).
index_esocket=No hi ha cap servidor telnet en execució a $1 port $2.



 0707010006ee66000081a40000000000000002000000013d1fe2d800000156000000200000000000000000000000000000001500000003reloc/telnet/lang/cz  index_title=Prihlaseni Telentem
index_warn=Pozor! Spojeni telentem <b>neni</b> kryptovane.
index_nojava=Tento modul vyzaduje fungovani javy, ale vas prohlizec javu nepodporuje :-((
index_credits=Applet je pod GPL - <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
index_esocket=Nenalezen zadny telnetovy server bezici na $1 portu $2.
  0707010006ee67000081a40000000000000002000000013d1fe2d800000400000000200000000000000000000000000000001500000003reloc/telnet/lang/de  #        webmin-0.97     telnet/lang/de
#
#        created: ?????                      by: ???
#        last modified: ?????                Rev.: 29-05-2002
#        modified/translated by: ???
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ?????                          durch: ???
# letzte &Auml;nderung: ?????             Rev.: 29.05.2002
# modifiziert/&uuml;bersetzt durch: ???
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=SSH-/Telnet-Anmeldung

index_warn=Warnung! Diese Telnet-Sitzung ist <B>nicht</B> verschl&uuml;sselt!
index_nojava=Dieses Modul ben&ouml;tigt Java, aber Ihr Browser unterst&uuml;tzt kein Java
index_credits=Applet entwickelt unter GPL von <a href='$1' target=_top>Matthias L. Jugel &amp; Marcus Mei&szlig;ner</a>
index_sshcredits=Enth&auml;lt Software, die vom 'Cryptix Development Team' (<a href=$1 target=_top>$1</a>) entwickelt wurde.
index_esocket=Es l&auml;uft kein Telnet-Server auf $1 (Anschluss $2)0707010006ee68000081a40000000000000002000000013d1fe2d800000214000000200000000000000000000000000000001500000003reloc/telnet/lang/en  index_title=SSH/Telnet Login
index_warn=Warning! This telnet session is <b>not</b> encrypted.
index_nojava=This module requires java to function, but your browser does not support java
index_credits=Applet developed under GPL by <a href='$1' target=_top>Matthias L. Jugel &amp; Marcus Meißner</a>.
index_sshcredits=Includes software developed by the Cryptix Development Team (<a href=$1 target=_top>$1</a>).
index_esocket=There is no telnet server running on $1 port $2.
index_esocket2=There is no SSH server running on $1 port $2.
0707010006ee69000081a40000000000000002000000013d1fe2d8000001cb000000200000000000000000000000000000001500000003reloc/telnet/lang/es  index_title=Login desde Telnet
index_warn=¡Aviso! Esta sesión telnet <b>no</b> está encriptada.
index_nojava=Este módulo requiere de java para que funcione pero tu navegador no lo soporta
index_credits=Applet desarrollada bajo GPL por <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
index_sshcredits=Incluye software desarrollado por el Cryptix Development Team (<a href=$1>$1</a>).
index_esocket=No hay servidor Telnet ejecutándose en $1 puerto $2.
 0707010006ee6a000081a40000000000000002000000013d1fe2d800000133000000200000000000000000000000000000001500000003reloc/telnet/lang/fr  index_title=Ouverture de Session SSH/Telnet
index_warn=Attention!  Cette session Telnet <b>n'est pas</b> encrypté.
index_nojava=Ce module nécessite java, mais votre fureteur ne le supporte pas
index_credits=Applet Java développé sous licence GPL par <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
 0707010006ee6b000081a40000000000000002000000013d1fe2d800000120000000200000000000000000000000000000001500000003reloc/telnet/lang/it  index_title=SSH/Telnet Login
index_warn=Attenzione! Questa sessione telnet <b>non e'</b> criptata.
index_nojava=Questo modulo richiede java per funzionare, ma il tuo browser
non supporta java
index_credits=Applet GPL sviluppata da <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
0707010006ee6c000081a40000000000000002000000013d1fe2d80000020b000000200000000000000000000000000000001c00000003reloc/telnet/lang/ja_JP.euc   index_title=SSH/Telnet ¥í¥°¥¤¥ó
index_warn=·Ù¹ð¤³¤Î telnet ¥»¥Ã¥·¥ç¥ó¤Ï<b>°Å¹æ²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó</b>¡£
index_nojava=¤³¤Î¥â¥¸¥å¡¼¥ë¤ÏÆ°ºî¤¹¤ë¤Î¤Ë Java ¤òÉ¬Í×¤È¤·¤Þ¤¹¤¬¡¢¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï Java ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
index_credits=¥¢¥×¥ì¥Ã¥È¤Ï GPL ¤Î¤â¤È¤Ç<a href='$1' target=_top>Matthias L. Jugel &amp; Marcus Meisner</a>¤Ë¤è¤Ã¤Æ³«È¯¤µ¤ì¤Þ¤·¤¿¡£
index_sshcredits=¥½¥Õ¥È¥¦¥§¥¢¤ÏCryptix Development Team (<a href=$1 target=_top>$1</a>) ¤Ë¤è¤ê³«È¯¤µ¤ì¤Þ¤·¤¿¡£
index_esocket=$1 ¥Ý¡¼¥È $2 ¾å¤Ç¼Â¹ÔÃæ¤Î telnet ¥µ¡¼¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó¡£
 0707010006ee6d000081a40000000000000002000000013d1fe2d8000001cf000000200000000000000000000000000000001c00000003reloc/telnet/lang/ko_KR.euc   index_title=SSH/ÅÚ³Ý ·Î±×ÀÎ
index_warn=°æ°í! ÅÚ³Ý ¼¼¼ÇÀÌ ¾ÏÈ£È­µÇÁö <b>¾Ê¾Ò½À´Ï´Ù</b>.
index_nojava=ÀÌ ¸ðµâÀº ÀÚ¹Ù¿Í ÇÔ²² »ç¿ëÇØ¾ß ÇÏ´Âµ¥, ÇöÀç ºê¶ó¿ìÀú´ÂÀÚ¹Ù¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
index_credits=<a href='$1' target=_top>Matthias L. Jugel ¹× Marcus Mei©¬ner</a>°¡ GPL¿¡ µû¶ó °øµ¿À¸·Î °³¹ßÇÑ ¾ÖÇÃ¸´ÀÔ´Ï´Ù.
index_sshcredits=Cryptix °³¹ß ÆÀ(<a href=$1 target=_top>$1</a>)¿¡¼­ °³¹ßÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ Æ÷ÇÔÇÕ´Ï´Ù.
index_esocket=$1 Æ÷Æ® $2¿¡¼­ ½ÇÇà ÁßÀÎ ÅÚ³Ý ¼­¹ö°¡ ¾ø½À´Ï´Ù.
 0707010006ee6e000081a40000000000000002000000013d1fe2d8000001f3000000200000000000000000000000000000001500000003reloc/telnet/lang/pl  index_title=Logowanie przez SSH/telnet
index_warn=Uwaga! To po³±czenie telnetowe <b>nie</b> jest szyfrowane.
index_nojava=Ten modu³ wymaga javy aby dzia³aæ, za¶ Twoja przegl±darka javy nie obs³uguje
index_credits=Aplet na licencji GPL napisany przez <a href='$1' target=_top>Matthiasa L. Jugela &amp; Marcusa Meißnera</a>.
index_sshcredits=Zawiera oprogramowanie napisane przez Cryptix Development Team (<a href=$1 target=_top>$1</a>).
index_esocket=Na porcie $2 hosta $1 nie dzia³a serwer telnetu.
 0707010006ee6f000081a40000000000000002000000013d1fe2d80000012b000000200000000000000000000000000000001500000003reloc/telnet/lang/pt  index_title=Login via SSH/Telnet
index_warn=Aviso! Esta sessão de telnet <b>não</b> está encriptada.
index_nojava=Este módulo necessita de java para funcionar, mas o seu navegador não o suporta
index_credits=Applet desenvolvido sobre GPL por <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
 0707010006ee70000081a40000000000000002000000013d1fe2d800000148000000200000000000000000000000000000001800000003reloc/telnet/lang/ru_RU   index_credits=Àïïëåò ðàçðàáîòàí <a href='$1'>Matthias L. Jugel &amp; Marcus Meiúner</a> è ðàñïðîñòðàíÿåòñÿ ïîä ëèöåíçèåé GPL.
index_warn=Âíèìàíèå! Ýòà ñåññèÿ telnet <b>íå</b> øèôðóåòñÿ.
index_nojava=Äàííûé ìîäóëü òðåáóåò ïîääåðæêè java äëÿ ðàáîòû, íî âàø áðàóçåð íå ïîääåðæèâàåò java
index_title=Âõîä â Ñèñòåìó ÷åðåç SSH/Telnet
0707010006ee71000081a40000000000000002000000013d1fe2d800000148000000200000000000000000000000000000001800000003reloc/telnet/lang/ru_SU   index_title=÷ÈÏÄ × óÉÓÔÅÍÕ ÞÅÒÅÚ SSH/Telnet
index_warn=÷ÎÉÍÁÎÉÅ! üÔÁ ÓÅÓÓÉÑ telnet <b>ÎÅ</b> ÛÉÆÒÕÅÔÓÑ.
index_nojava=äÁÎÎÙÊ ÍÏÄÕÌØ ÔÒÅÂÕÅÔ ÐÏÄÄÅÒÖËÉ java ÄÌÑ ÒÁÂÏÔÙ, ÎÏ ×ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ java
index_credits=áÐÐÌÅÔ ÒÁÚÒÁÂÏÔÁÎ <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a> É ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÐÏÄ ÌÉÃÅÎÚÉÅÊ GPL.
0707010006ee72000081a40000000000000002000000013d1fe2d8000001d6000000200000000000000000000000000000001500000003reloc/telnet/lang/sv  index_title=SSH/Telnet-inloggning
index_warn=Varning! Denna telnet-session krypteras <b>inte</b>.
index_nojava=Denna modul fungerar inte utan java, men din browser stödjer inte java
index_credits=Applet utvecklad under GPL av <a href='$1' target=_top>Matthias L. Jugel &amp; Marcus Meißner</a>.
index_sshcredits=Innehåller programvara som utvecklats av Cryptix Development Team (<a href=$1 target=_top>$1</a>).
index_esocket=Det körs ingen telnet-server på $1 port $2.

  0707010006ee73000081a40000000000000002000000013d1fe2d8000001ec000000200000000000000000000000000000001500000003reloc/telnet/lang/tr  index_title=SSH/Telnet Giriþi
index_warn=UYARI! Bu telnet iþlemi <b>þifrelenmemiþtir</b> 
index_nojava=Bu modül java'yý kullamaktadýr, fakat tarayýcýnýz javayý desteklememektedir
index_credits=Applet, GPL lisansý ile <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a> tarafýndan geliþtirilmiþtir.
index_sshcredits=Programýn içeriðindeki yazýlým Cryptix Development Team (<a href=$1>$1</a>) tarafýndan geliþtirilmiþtir.
index_esocket=$1'in $2 portunda çalýþan bir telnet sunucusu yoktur.
0707010006ee74000081a40000000000000002000000013d1fe2d80000017b000000200000000000000000000000000000001800000003reloc/telnet/lang/zh_CN   index_title=SSH/TelnetµÇÂ¼
index_warn=¾¯¸æ£¡Õâ¸ötelnet»á»°<b>Ã»ÓÐ</b>±»¼ÓÃÜ¡£
index_nojava=Õâ¸öÄ£¿éÒªÓÐjava²ÅÄÜÔËÐÐ£¬µ«ÄúµÄä¯ÀÀÆ÷²»Ö§³Öjava
index_credits=Õâ¸öAppletÊÇÔÚ×ñÕÕGPL¾«ÉñÏÂÓÉ<a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>¿ª·¢µÄ.
index_sshcredits=°üº¬ Cryptix Development Team (<a href=$1>$1</a>)¿ª·¢µÄÈí¼þ¡£
index_esocket=$1 ¶Ë¿Ú $2 ÉÏÃ»ÓÐ telnet ·þÎñÆ÷ÔÚÔËÐÐ¡£
 0707010006ee75000081a40000000000000002000000013d1fe2d8000000fa000000200000000000000000000000000000001d00000003reloc/telnet/lang/zh_TW.Big5  index_title=Telnet µn¤J
index_warn=Äµ§i! ³o­Ó telnet ¤u§@¶¥¬q<b>¨S¦³</b>¸g¹L½s½X.
index_nojava=³o­Ó¼Ò²Õ»Ý­n Java ¤~¯à¹B§@, ¦ý¬O±zªºÂsÄý¾¹¤£¤ä´© Java
index_credits=Applet developed under GPL by <a href='$1'>Matthias L. Jugel &amp; Marcus Meißner</a>.
  0707010006a952000081a40000000000000002000000013d1fe2ea0000020c000000200000000000000000000000000000001900000003reloc/telnet/module.info  desc_ru_SU=÷ÈÏÄ ÐÏ SSH/Telnet
risk=high
desc_ko_KR.euc=SSH/ÅÚ³Ý ·Î±×ÀÎ
desc_zh_TW.Big5=Telnet µn¤J
desc_pl=Logowanie przez SSH/Telnet
desc_de=SSH/Telnet Login
name=Telnet
desc_zh_CN=SSH/Telnet µÇÂ¼
desc_pt=Login via SSH/Telnet
desc_tr=SSH/Telnet Giriþi
desc=SSH/Telnet Login
desc_es=Login mediante Telnet
desc_sv=SSH/Telnet-inloggning
desc_fr=Ouverture de Session SSH/Telnet
desc_cz=Prihlaseni Telnetem
desc_ja_JP.euc=SSH/Telnet ¥í¥°¥¤¥ó
depends=0.990
version=0.990
desc_ca=Connexió Telnet/SSH
desc_ru_RU=Âõîä ïî SSH/Telnet
0707010006a953000081a40000000000000002000000013d1fe2d8000006b4000000200000000000000000000000000000001600000003reloc/telnet/ssh.conf # This file is part of "The Java Telnet Application".
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# "The Java Telnet Application" is distributed in the hope that it will be 
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this software; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

# This is an example file how to configure the applet. It may contain
# any property defined in de/mud/jta/defaults.opt or by a plugin.
#

# common definitions
plugins			=	Status,Socket,SSH,Terminal,Script
layout.Status		=	South
layout.Terminal		=	Center

Applet.disconnect	= 	false

#SSH.user		=	leo
# commented out so the login window pops up
#SSH.password		=

# Socket
Socket.port		=	22

# Terminal configuration
Terminal.foreground	=	#ffffff
Terminal.background	=	#000000
#Terminal.keyCodes	=	http://www.mud.de/~leo/keys.test
Terminal.id		=	vt320

# =======================================================================
# Applet defaults
# =======================================================================
Applet.detach		=	false
Applet.detach.immediately =	false
Applet.detach.menuBar	=	true
Applet.detach.startText	=	Connect
Applet.detach.stopText	=	Disonnect
Applet.disconnect	=	true
Applet.disconnect.closeWindow	=	true

0707010006a954000081a40000000000000002000000013d1fe2d800000b3c000000200000000000000000000000000000001900000003reloc/telnet/telnet.conf  # This file is part of "The Java Telnet Application".
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# "The Java Telnet Application" is distributed in the hope that it will be 
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this software; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

# =======================================================================
# common program defaults
# =======================================================================
plugins			=	Status,Socket,Telnet,Terminal,Script
pluginPath		=	de.mud.jta.plugin
layout			=	BorderLayout
layout.Terminal		=	Center
layout.Status		=	South
layout.MudConnect	=	North


# =======================================================================
# Applet defaults
# =======================================================================
Applet.detach		=	false
Applet.detach.immediately =	false
Applet.detach.menuBar	=	true
Applet.detach.startText	=	Connect
Applet.detach.stopText	=	Disonnect
Applet.disconnect	=	true
Applet.disconnect.closeWindow	=	true

# =======================================================================
# Socket defaults
# =======================================================================
#Socket.host		=	www-server
Socket.port		=	23

# =======================================================================
# Timeout settings
# =======================================================================
Timeout.seconds		=	60
Timeout.command		=	exit\n

# =======================================================================
# Terminal defaults
# =======================================================================
Terminal.foreground	=	#ffffff
Terminal.background	=	#000000
Terminal.print.color	=	false
Terminal.border		=	2
Terminal.borderRaised	=	false
Terminal.colorSet	=	/de/mud/terminal/colorSet.conf
Terminal.scrollBar	=	West
# now the real configuration
Terminal.id		=	vt320
Terminal.buffer		=	100
Terminal.size		=	[80, 24]
Terminal.resize		=	none
Terminal.font		=	Monospaced
Terminal.fontStyle	=	plain
Terminal.fontSize	=	11
Terminal.keyCodes	=	/de/mud/terminal/keyCodes.conf
Terminal.VMS		=	false
Terminal.IBM		=	false

# =======================================================================
# MudConnect defaults
# =======================================================================
MudConnector.listURL	=	http://www.mudconnector.com/java/Telnet/javalist.db

0707010003e28a000081a40000000000000002000000013d1fe2b7000006ea000000200000000000000000000000000000001400000003reloc/thirdparty.pl   # thirdparty.pl
# Checks for modules available in an old install of webmin that are
# not included in this new install, and offers to copy them across.
# Also re-creates clones of existing modules in the new install

($newdir, $olddir, $copythird) = @ARGV;

# find missing modules
opendir(DIR, $olddir);
while($m = readdir(DIR)) {
	next if ($m =~ /^\./);
	if (-r "$olddir/$m/module.info" && !-r "$newdir/$m/module.info") {
		if (-l "$olddir/$m") {
			# Found a clone - recreate it
			$clone = readlink("$olddir/$m");
			symlink($clone, "$newdir/$m");
			}
		else {
			# Found a candidate for copying
			local %minfo;
			&read_file("$olddir/$m/module.info", \%minfo);
			push(@missing, $m);
			push(@missdesc, $minfo{'desc'});
			}
		}
	elsif (-r "$olddir/$m/theme.info" && !-r "$newdir/$m/theme.info") {
		# Found a theme for copying
		local %tinfo;
		&read_file("$olddir/$m/theme.info", \%tinfo);
		push(@missing, $m);
		push(@missdesc, $tinfo{'desc'});
		}
	}
closedir(DIR);

if (@missing) {
	# Tell the user, and ask whether to copy
	if (!$copythird) {
		print "The following third party modules were found in your old Webmin\n";
		print "installation in $olddir :\n";
		for($i=0; $i<@missing; $i++) {
			printf "  %-12.12s %s\n", $missing[$i], $missdesc[$i];
			}
		print "Copy to new Webmin installation (y/n): ";
		chop($resp = <STDIN>);
		$copythird = $resp =~ /^y/i;
		}
	if ($copythird) {
		foreach $m (@missing) {
			system("cp -rp $olddir/$m $newdir");
			}
		}
	}

# read_file(file, array)
# Fill an associative array with name=value pairs from a file
sub read_file
{
local($arr);
$arr = $_[1];
open(ARFILE, $_[0]) || return 0;
while(<ARFILE>) {
        chop;
        if (!/^#/ && /^([^=]+)=(.*)$/) { $$arr{$1} = $2; }
        }
close(ARFILE);
return 1;
}
 
  070701000703f3000041ed0000000000000001000000053d1ffb7d00000000000000200000000000000000000000000000000b00000003reloc/time    070701000703f4000081a40000000000000002000000013d1fe2da0000030f000000200000000000000000000000000000001b00000003reloc/time/acl_security.pl    
require 'time-lib.pl';

sub acl_security_form
{
    print(
	"<tr>",
	    "<td><b>", $text{ 'acl_sys' }, "</b></td>",
	    "<td><input type=radio name=sysdate value=0 ", $_[0] -> { 'sysdate' } == 0 ? "checked" : "", ">", $text{ 'acl_yes' }, " <input type=radio name=sysdate value=1 ", $_[0] -> { 'sysdate' } == 1 ? "checked" : "", ">", $text{ 'acl_no' },
	"</tr><tr>",
	    "<td><b>", $text{ 'acl_hw' }, "</b></td>",
	    "<td><input type=radio name=hwdate value=0 ", $_[0] -> { 'hwdate' } == 0 ? "checked" : "", ">", $text{ 'acl_yes' }, " <input type=radio name=hwdate value=1 ", $_[0] -> { 'hwdate' } == 1 ? "checked" : "", ">", $text{ 'acl_no' },
	"</tr>" );
}

sub acl_security_save
{
    $_[0] -> { 'sysdate' } = $in{ 'sysdate' };
    $_[0] -> { 'hwdate' } = $in{ 'hwdate' };
}
 070701000703f5000081e40000000000000002000000013d1fe2d900000ec3000000200000000000000000000000000000001500000003reloc/time/apply.cgi  #!/usr/local/bin/perl

local $format;
local $out;

require "./time-lib.pl";
require 'timelocal.pl';

&ReadParse();

$in{ 'year' } = substr( $in{ 'year' }, 2, length( $in{ 'year' } ) );

if (!$in{'action'}) {
	# user probably hit return in the time server field
	$in{'action'} = $text{ 'action_timeserver_sys' };
	}

if( $in{ 'action' } eq $text{ 'action_apply' } )
{
  &error( $text{ 'acl_nosys' } ) if( $access{ 'sysdate' } );
  $in{ 'date' } = "0". $in{ 'date' } if( $in{ 'date' } <= 9 );
  if ($config{'seconds'} == 2) {
	$format = $in{'year'}.$in{'month'}.$in{'date'}.$in{'hour'}.$in{'minute'}.".".$in{'second'};
	}
  elsif ($config{'seconds'} == 1) {
	  $format = $in{ 'month' }. $in{ 'date' }. $in{ 'hour' }. $in{ 'minute' }. $in{ 'year' }. ".". $in{ 'second' };
	  }
  else {
	  $format = $in{ 'month' }. $in{ 'date' }. $in{ 'hour' }. $in{ 'minute' }. substr($in{ 'year' }, -2);
	}
  &backquote_logged("echo yes | date $format");
  &webmin_log("set", "date", time(), \%in);

} elsif ( $in{ 'action' } eq $text{ 'action_save' } ) {
  &error( $text{ 'acl_nohw' } ) if( $access{ 'hwdate' } );
  $format = "--set --date=\"". $in{ 'month' }. "/". $in{ 'date' }. "/". $in{ 'year' }. " ". $in{ 'hour' }. ":". $in{ 'minute' }. ":". $in{ 'second' }. "\"";
  $out = &backquote_logged("hwclock $format");
  &error( &text( 'error_hw', $out ) ) if( $out ne "" );
  local $hwtime = timelocal($in{'second'}, $in{'minute'}, $in{'hour'},
			    $in{'date'}, $in{'month'}-1, $in{'year'} < 200 ?
			    $in{'year'} : $in{'year'}-1900);
  &webmin_log("set", "hwclock", $hwtime, \%in);

} elsif( $in{ 'action' } eq $text{ 'action_sync' } ) {
  &error( $text{ 'acl_nosys' } ) if( $access{ 'sysdate' } );
  $out = &backquote_logged("hwclock --hctosys");
  &error( &text( 'error_sync', $out ) ) if( $out ne "" );
  &webmin_log("sync");

} elsif( $in{ 'action' } eq $text{ 'action_sync_s' } ) {
  &error( $text{ 'acl_nohw' } ) if( $access{ 'hwdate' } );
  $out = &backquote_logged("hwclock --systohc");
  &error( &text( 'error_sync', $out ) ) if( $out ne "" );
  &webmin_log("sync_s");

} elsif( $in{ 'action' } eq $text{ 'action_timeserver_sys' } ||
	 $in{ 'action' } eq "$text{ 'action_timeserver_sys' } / $text{ 'action_timeserver_hw' }" ) {
#
#	First try ntp. If ntp fails use timeserver on port 37
#
  $out = &backquote_logged("ntpdate -u  $in{ 'timeserver' } > /dev/null 2>&1");
  if ($?) {
#	error using ntp. use timeservice
  	&open_socket( $in{ 'timeserver' }, 37, SOCK);
  	read(SOCK, $rawtime, 4);
  	close(SOCK);
  	$rawtime = unpack("N", $rawtime);
  	$rawtime -= (17 * 366 + 53 * 365) * 24 * 60 * 60;
  	@tm = localtime($rawtime);
	if ($config{'seconds'} == 2) {
		$format = sprintf "%4.4d%2.2d%2.2d%2.2d%2.2d.%2.2d",
			$tm[5]+1900, $tm[4]+1, $tm[3], $tm[2], $tm[1], $tm[0];
		}
	elsif ($config{'seconds'} == 1) {
		$format = sprintf "%2.2d%2.2d%2.2d%2.2d%4.4d.%2.2d",
			$tm[4]+1, $tm[3], $tm[2], $tm[1], $tm[5]+1900, $tm[0];
		}
	else {
		$format = sprintf "%2.2d%2.2d%2.2d%2.2d%2.2d",
			$tm[4]+1, $tm[3], $tm[2], $tm[1], $tm[5]%100;
		}
	&system_logged("echo yes | date $format >/dev/null 2>&1");
  } # endif
  else {
	$rawtime = time();
  } # endelse

  @tm = localtime($rawtime);

  if ($in{ 'action' } ne $text{ 'action_timeserver_sys' } ) {
	# Set hardware clock time
	$format = sprintf "%d/%d/%d %d:%d:%d",
			$tm[4]+1, $tm[3], $tm[5]+1900, $tm[2], $tm[1], $tm[0];
	&system_logged("hwclock --set \"--date=$format\" >/dev/null 2>&1");
	}
  &lock_file("$module_config_directory/config");
  $config{'timeserver'} = $in{'timeserver'};
  &write_file("$module_config_directory/config", \%config);
  &unlock_file("$module_config_directory/config");
  &webmin_log("remote", $in{'action'} eq $text{'action_timeserver_sys'} ?  "date" : "hwclock", $rawtime, \%in);
}

&redirect("");

 070701000703f6000081a40000000000000002000000013d1fe2da00000074000000200000000000000000000000000000001200000003reloc/time/config lease=5
zonelink=/etc/localtime
zonedir=/usr/share/zoneinfo
zonetab=/usr/share/zoneinfo/zone.tab
hwtime=1
seconds=1
070701000703f7000081a40000000000000002000000013d1fe2da0000001b000000200000000000000000000000000000001a00000003reloc/time/config-freebsd lease=5
hwtime=0
seconds=2
 07070100070512000081a40000000000000002000000013d1fe2da0000001b000000200000000000000000000000000000001700000003reloc/time/config-hpux    lease=5
hwtime=0
seconds=0
 07070100070513000081a40000000000000002000000013d1fe2da00000074000000200000000000000000000000000000001800000003reloc/time/config-macos   lease=5
zonelink=/etc/localtime
zonedir=/usr/share/zoneinfo
zonetab=/usr/share/zoneinfo/zone.tab
hwtime=0
seconds=2
07070100070514000081a40000000000000002000000013d1fe2da0000001b000000200000000000000000000000000000001900000003reloc/time/config-netbsd  lease=5
hwtime=0
seconds=2
 07070100070515000081a40000000000000002000000013d1fe2da0000001b000000200000000000000000000000000000001d00000003reloc/time/config-openserver  lease=5
hwtime=0
seconds=0
 07070100070516000081a40000000000000002000000013d1fe2da00000074000000200000000000000000000000000000001a00000003reloc/time/config-solaris lease=5
zonelink=/etc/localtime
zonedir=/usr/share/zoneinfo
zonetab=/usr/share/zoneinfo/zone.tab
hwtime=0
seconds=1
07070100070517000081a40000000000000002000000013d1fe2da00000168000000200000000000000000000000000000001700000003reloc/time/config.info    lease=Acceptable number seconds of delay between system time and hardware time,0
timeserver=Default time server,3,None
hwtime=System supports hardware time,1,1-Yes,0-No
seconds=System time setting format,1,1-MMDDHHMMYYYY.SS,0-MMDDHHMMYY,2-YYYYMMDDHHMM.SS
zonelink=Timezone file,0
zonetab=File listing possible timezones,0
zonedir=Directory of timezone files,0
07070100070518000081a40000000000000002000000013d1fe2da000001ab000000200000000000000000000000000000001a00000003reloc/time/config.info.ca lease=Nombre de segons de retard acceptables entre l'hora del sistema i l'hora del maquinari,0
timeserver=Servidor horari per defecte,3,Cap
hwtime=El sistema suporta hora del maquinari,1,1-Sí,0-No
seconds=Format de l'hora del sistema,1,1-MMDDHHMMAAAA.SS,0-MMDDHHMMAA,2-AAAAMMDDHHMM.SS
zonelink=Fitxer de zona horària,0
zonetab=Fitxer que llista les possibles zones horàries,0
zonedir=Directori de fitxers de zones horàries,0


 07070100070519000081a40000000000000002000000013d1fe2da00000052000000200000000000000000000000000000001a00000003reloc/time/config.info.cz lease=Akceptovatelná prodleva (v sekundách) mezi systémovým a harwarovým èasem,0

  0707010007051a000081a40000000000000002000000013d1fe2d90000018d000000200000000000000000000000000000001a00000003reloc/time/config.info.de lease=Akzeptabler Unterschied in Sekunden zwischen System- und Hardware-Zeit
timeserver=Standard Zeit-Server,3,Keiner
hwtime=System unterst&uuml;tzt Hardware-Zeit,1,1-Ja,0-Nein
seconds=Format der Systemzeit Einstellung,1,1-MMDDHHMMYYYY.SS,0-MMDDHHMMYY,2-YYYYMMDDHHMM.SS
zonelink=Zeitzonen Datei,0
zonetab=Anzeige m&ouml;glicher Zeitzonen Dateien,0
zonedir=Verzeichnis der Zeitzonen Dateien,0   0707010007051b000081a40000000000000002000000013d1fe2da000001a7000000200000000000000000000000000000001a00000003reloc/time/config.info.es lease=Número de segundos aceptables de retraso entre la hora del sistema y la del hardware,0
timeserver=Servidor de tiempo por defecto,3,Ninguno
hwtime=El sistema soporta hora por hardware,1,1-Sí,0-No
seconds=Formato de ajuste de hora de sistema,1,1-MMDDHHMMYYYY.SS,0-MMDDHHMMYY
zonelink=Archivo de Husos horarios,0
zonetab=Archivo de listado de posibles husos horarios,0
zonedir=Directorio de archivos de husos horarios,0
 0707010007051c000081a40000000000000002000000013d1fe2da00000052000000200000000000000000000000000000001a00000003reloc/time/config.info.fr lease=Nombre de secondes acceptable entre le temps système et le temps matériel,0
  0707010007051d000081a40000000000000002000000013d1fe2da0000014e000000200000000000000000000000000000002100000003reloc/time/config.info.ja_JP.euc  lease=¥·¥¹¥Æ¥à»þ·×¤È¥Ï¡¼¥É¥¦¥§¥¢»þ·×¤È¤ÎµöÍÆ¸íº¹,0
timeserver=¥Ç¥Õ¥©¥ë¥È¤Î¥¿¥¤¥à¥µ¡¼¥Ð¡¼,3,¤Ê¤·
hwtime=¥Ï¡¼¥É¥¦¥§¥¢»þ·×¥µ¥Ý¡¼¥È,1,1-¤¹¤ë,0-¤·¤Ê¤¤
seconds=¥·¥¹¥Æ¥à¥¿¥¤¥à¤ÎÀßÄê·Á¼°,1,1-MMDDHHMMYYYY.SS,0-MMDDHHMMYY
zonelink=¥¿¥¤¥à¥¾¡¼¥ó¥Õ¥¡¥¤¥ë,0
zonetab=ÀßÄê²ÄÇ½¤Ê¥¿¥¤¥à¥¾¡¼¥ó¤Î¥ê¥¹¥È,0
zonedir=¥¿¥¤¥à¥¾¡¼¥ó¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê,0
  0707010007051e000081a40000000000000002000000013d1fe2da0000019e000000200000000000000000000000000000001a00000003reloc/time/config.info.pl lease=Dozwolona liczba sekund ró¿nicy pomiêdzy czasem systemowym i&nbsp;sprzêtowym,0
timeserver=Domy¶lny serwer czasu,3,Brak
hwtime=System obs³uguje czas sprzêtowy,1,1-Tak,0-Nie
seconds=Format dla ustawiania czasu systemowego,1,1-MMDDGGMMRRRR.SS,0-MMDDGGMMRR,2-RRRRMMDDGGMM.SS
zonelink=Plik opisu strefy czasowej,0
zonetab=Plik z&nbsp;list± stref czasowych,0
zonedir=Katalog z&nbsp;plikami opisu stref czasowych,0
  0707010007051f000081a40000000000000002000000013d1fe2da00000057000000200000000000000000000000000000001d00000003reloc/time/config.info.ru_RU  lease=Ïðèåìëåìîå êîëè÷åñòâî ñåêóíä ðàññîãëàñîâàíèÿ ìåæäó ñèñòåìíûì âðåìåíåì è ÷àñàìè,0
 07070100070520000081a40000000000000002000000013d1fe2d900000057000000200000000000000000000000000000001d00000003reloc/time/config.info.ru_SU  lease=ðÒÉÅÍÌÅÍÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÅËÕÎÄ ÒÁÓÓÏÇÌÁÓÏ×ÁÎÉÑ ÍÅÖÄÕ ÓÉÓÔÅÍÎÙÍ ×ÒÅÍÅÎÅÍ É ÞÁÓÁÍÉ,0
 07070100070521000081a40000000000000002000000013d1fe2d90000012f000000200000000000000000000000000000001a00000003reloc/time/config.info.sv lease=Accepterad fördröjning mellan systemtid och hårdvarutid (sekunder),0
timeserver=Standardtidserver,3,Ingen
hwtime=Systemet stöder hårdvarutid,1,1-Ja,0-Nej
seconds=Systemtidsformat,1,1-MMDDTTMMÅÅÅÅ.SS,0-MMDDTTMMÅÅ
zonelink=Tidszonfil,0
zonetab=Fil med tidszoner,0
zonedir=Katalog för tidszonfiler,0
 07070100070522000081a40000000000000002000000013d1fe2da0000007a000000200000000000000000000000000000001a00000003reloc/time/config.info.tr lease=Sistem ve donaným saatleri arasýndaki kabul edilebilir fark(saniye),0
timeserver=Öntanýmlý zaman sunucusu,3,Hiçbiri
  07070100070523000081a40000000000000002000000013d1fe2d900000090000000200000000000000000000000000000001d00000003reloc/time/config.info.zh_CN  lease=ÔÊÐíÏµÍ³Ê±¼äºÍÓ²¼þÊ±¼äÑÓ³ÙÃëÊý,0
timeserver=Ä¬ÈÏµÄÊ±¼ä·þÎñÆ÷,3,ÎÞ
zonelink=Ê±ÇøÎÄ¼þ,0
zonetab=ÁÐ³ö¿ÉÄÜÊ±ÇøµÄÎÄ¼þ,0
zonedir=Ê±ÇøÎÄ¼þÄ¿Â¼,0
07070100070524000081a40000000000000002000000013d1fe2da0000002d000000200000000000000000000000000000002200000003reloc/time/config.info.zh_TW.Big5 lease=©Ò¯à±µ¨üªº¨t²Î®É¶¡»PµwÅé®É¶¡©µ¿ð¬í¼Æ,0
   07070100070525000081a40000000000000002000000013d1fe2da0000001e000000200000000000000000000000000000001600000003reloc/time/defaultacl noconfig=0
sysdate=0
hwdate=0
  07070100071c3f000041ed0000000000000001000000023d1ffb7b00000000000000200000000000000000000000000000001000000003reloc/time/help   07070100071c40000081a40000000000000002000000013d1fe2d900000040000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.ca.html <header>Hora del Maquinari</header>
Rellotge de Temps Real
<hr>
07070100071c41000081a40000000000000002000000013d1fe2d900000043000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.de.html <header>Hardware-Zeit</header>
eingebaute Echtzeit-Uhr (RTC)
<hr> 07070100071c42000081a40000000000000002000000013d1fe2d90000003c000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.es.html <header>Hora de Hardware</header>
Reloj de Tiempo Real
<hr>
07070100071c43000081a40000000000000002000000013d1fe2d90000004a000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.fr.html <header>Temps matériel</header>
Horloge à temps réel de la carte-mère
<hr>  07070100071c44000081a40000000000000002000000013d1fe2d900000033000000200000000000000000000000000000002300000003reloc/time/help/hardware_time.html    <header>Hardware Time</header>
Real Time Clock
<hr> 07070100071c45000081a40000000000000002000000013d1fe2d900000033000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.hu.html <header>Hardware idõ</header>
Valós idejû óra
<hr>
 07070100071c46000081a40000000000000002000000013d1fe2d900000040000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.pl.html <header>Czas sprzêtowy</header>
Zegar czasu rzeczywistego
<hr>

07070100071c47000081a40000000000000002000000013d1fe2d900000050000000200000000000000000000000000000002900000003reloc/time/help/hardware_time.ru_RU.html  <header>Âðåìÿ ×àñîâ</header>
Âðåìÿ àïïàðàòíûõ ÷àñîâ âñòðîåííûõ â êîìïúþòåð
<hr>
07070100071c48000081a40000000000000002000000013d1fe2d900000050000000200000000000000000000000000000002900000003reloc/time/help/hardware_time.ru_SU.html  <header>÷ÒÅÍÑ þÁÓÏ×</header>
÷ÒÅÍÑ ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÏ× ×ÓÔÒÏÅÎÎÙÈ × ËÏÍÐßÀÔÅÒ
<hr>
07070100071c49000081a40000000000000002000000013d1fe2d900000036000000200000000000000000000000000000002600000003reloc/time/help/hardware_time.sv.html <header>Hårdvarutid</header>
Klocka med reell tid
<hr>  07070100071c4a000081a40000000000000002000000013d1fe2d90000002e000000200000000000000000000000000000002e00000003reloc/time/help/hardware_time.zh_TW.Big5.html <header>µwÅé®É¶¡</header>
Real Time Clock
<hr>  07070100071c50000081a40000000000000002000000013d1fe2d9000000f6000000200000000000000000000000000000001e00000003reloc/time/help/index.ca.html <header>Hora</header>
Eina de configuració per establir l'<b>hora del sistema</b> i l'<b>hora
del maquinari</b> del rellotge de temps real<p>

També és pot fer servir per sincronitzar el rellotge del sistema amb el
rellotge del maquinari.
<hr>


  07070100071c51000081a40000000000000002000000013d1fe2d9000000ea000000200000000000000000000000000000001e00000003reloc/time/help/index.de.html <header>Systemzeit</header>
Konfigurations-Werkzeug zum Setzen der <b>Systemzeit</b> und der <b>Hardware-Zeit</b> (eingebaute Echtzeit-Uhr).<p>

Es kann auch benutzt werden, um Systemzeit und Hardware-Zeit zu synchronisieren.
<hr>  07070100071c52000081a40000000000000002000000013d1fe2d9000000f6000000200000000000000000000000000000001e00000003reloc/time/help/index.es.html <header>Hora</header>
Herramienta de Configuración para poner la <b>hora del sistema</b> y la
<b>hora de hardware</b> que hay en el reloj de tiempo real<p>

También se puede utilizar para sincronizar el reloj del sistema con el de
hardware.
<hr>
  07070100071c53000081a40000000000000002000000013d1fe2d9000000ca000000200000000000000000000000000000001e00000003reloc/time/help/index.fr.html <header>Temps</header>
Outil qui configure l'<b>heure système</b> et l'<b>heure matériel</b> de l'horloge à temps réel de la carte-mère<p>

Peut aussi être utilisé pour synchroniser les deux temps.
<hr>  07070100071c54000081a40000000000000002000000013d1fe2d9000000d5000000200000000000000000000000000000001b00000003reloc/time/help/index.html    <header>Time</header>
Configuration Tool to set the <b>system time</b> and the <b>hardware time</b> built in the real time clock<p>

Also, it can be used to synchronize the system clock to the hardware clock.
<hr>   07070100071c55000081a40000000000000002000000013d1fe2d9000000f0000000200000000000000000000000000000001e00000003reloc/time/help/index.hu.html <header>Idõ</header>
Egy konfigurációs segédeszköz, mellyel beállítható a <b>rendszeridõ</b> és a <b>hardware idõ</b>, mely a valós idejû órába van beépítvek<p>

A modul a rendszeróra és a hardware óra szinkronizálására is használható.
<hr>07070100071c56000081a40000000000000002000000013d1fe2d900000109000000200000000000000000000000000000001e00000003reloc/time/help/index.pl.html <header>Czas</header>

Narzêdzie konfiguracyjne do ustawiania <b>czasu systemowego</b> oraz
<b>czasu sprzêtowego</b> na wbudowanym zegarze czasu rzeczywistego. <p>

Mo¿e byæ równie¿ wykorzystane do synchronicacji zegara systemowego
z&nbsp;zegarem sprzêtowym.

<hr>
   07070100071c57000081a40000000000000002000000013d1fe2d900000134000000200000000000000000000000000000002100000003reloc/time/help/index.ru_RU.html  <header>Âðåìÿ</header>
Êîíôèãóðàöèîííîå ñðåäñòâî äëÿ óñòàíîâêè <b>ñèñòåìíîãî âðåìåíè</b> è <b>âðåìåíè âñòðîåííûõ àïïàðàòíûõ ÷àñîâ</b>.

Ìîæåò èñïîëüçîâàòüñÿ äëÿ ñèíõðîíèçàöèè ñèñòåìíîãî âðåìåíè è âðåìåíè ÷àñîâ, à òàêæå äëÿ äëÿ ñèíõðîíèçàöèè ñèñòåìíîãî âðåìåíè èëè âðåìåíè ÷àñîâ ñ ñåðâåðîì âðåìåíè.
<p>

<hr>
07070100071c58000081a40000000000000002000000013d1fe2d900000134000000200000000000000000000000000000002100000003reloc/time/help/index.ru_SU.html  <header>÷ÒÅÍÑ</header>
ëÏÎÆÉÇÕÒÁÃÉÏÎÎÏÅ ÓÒÅÄÓÔ×Ï ÄÌÑ ÕÓÔÁÎÏ×ËÉ <b>ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ</b> É <b>×ÒÅÍÅÎÉ ×ÓÔÒÏÅÎÎÙÈ ÁÐÐÁÒÁÔÎÙÈ ÞÁÓÏ×</b>.

íÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ É ×ÒÅÍÅÎÉ ÞÁÓÏ×, Á ÔÁËÖÅ ÄÌÑ ÄÌÑ ÓÉÎÈÒÏÎÉÚÁÃÉÉ ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ ÉÌÉ ×ÒÅÍÅÎÉ ÞÁÓÏ× Ó ÓÅÒ×ÅÒÏÍ ×ÒÅÍÅÎÉ.
<p>

<hr>
07070100071c59000081a40000000000000002000000013d1fe2d9000000e3000000200000000000000000000000000000001e00000003reloc/time/help/index.sv.html <header>Tid</header>
Inställningsverktyg för att ställa <b>systemtiden</b> och <b>hårdvarutiden</b> som är inbyggd i klockan med reell tid.

<p>Det kan också användas för att synkronisera systemklockan och hårdvaruklockan.
<hr> 07070100071c5a000081a40000000000000002000000013d1fe2d900000075000000200000000000000000000000000000002600000003reloc/time/help/index.zh_TW.Big5.html <header>®É¶¡</header>
³]©w<b>¨t²Î®É¶¡</b>»P<b>µwÅé®É¶¡</b>ªº¤u¨ã<p>

¦¹¥~, ³o¤]¥i¥H¥Î©ó±N¨t²Î®É¶¡»PµwÅé®É¶¡¦P¨B.
<hr>   07070100071c5b000081a40000000000000002000000013d1fe2d90000003a000000200000000000000000000000000000002400000003reloc/time/help/system_time.ca.html   <header>Hora del Sistema</header>
L'hora de l'entorn
<hr>
  07070100071c5c000081a40000000000000002000000013d1fe2d900000039000000200000000000000000000000000000002400000003reloc/time/help/system_time.de.html   <header>System-Zeit</header>
Die Zeit der Umgebung
<hr>   07070100071c5d000081a40000000000000002000000013d1fe2d90000003b000000200000000000000000000000000000002400000003reloc/time/help/system_time.es.html   <header>Hora del Sistema</header>
La hora del entorno
<hr>
 07070100071c5e000081a40000000000000002000000013d1fe2d900000054000000200000000000000000000000000000002400000003reloc/time/help/system_time.fr.html   <header>Temps système</header>
L'heure du système Unix, indépendant du matériel
<hr>07070100071c5f000081a40000000000000002000000013d1fe2d90000003e000000200000000000000000000000000000002100000003reloc/time/help/system_time.html  <header>System Time</header>
The time of the environement
<hr>  07070100071c60000081a40000000000000002000000013d1fe2d90000003c000000200000000000000000000000000000002400000003reloc/time/help/system_time.hu.html   <header>Rendszeridõ</header>
A rendszerkörnyezet ideje.
<hr>07070100071c61000081a40000000000000002000000013d1fe2d900000053000000200000000000000000000000000000002400000003reloc/time/help/system_time.pl.html   <header>Czas systemowy</header>
Czas ¶rodowiska w&nbsp;systemie operacyjnym.
<hr>

 07070100071c62000081a40000000000000002000000013d1fe2d900000040000000200000000000000000000000000000002700000003reloc/time/help/system_time.ru_RU.html    <header>Âðåìÿ Ñèñòåìû</header>
Âðåìÿ ñèñòåìíîãî îêðóæåíèÿ

<hr>
07070100071c63000081a40000000000000002000000013d1fe2d900000040000000200000000000000000000000000000002700000003reloc/time/help/system_time.ru_SU.html    <header>÷ÒÅÍÑ óÉÓÔÅÍÙ</header>
÷ÒÅÍÑ ÓÉÓÔÅÍÎÏÇÏ ÏËÒÕÖÅÎÉÑ

<hr>
07070100071c64000081a40000000000000002000000013d1fe2d90000003c000000200000000000000000000000000000002400000003reloc/time/help/system_time.sv.html   <header>Systemtid</header>
Den tid som omgivningen har.
<hr>07070100071c65000081a40000000000000002000000013d1fe2d900000029000000200000000000000000000000000000002c00000003reloc/time/help/system_time.zh_TW.Big5.html   <header>¨t²Î®É¶¡</header>
Àô¹Òªº®É¶¡
<hr>   07070100071c66000081a40000000000000002000000013d1fe2d900000111000000200000000000000000000000000000002300000003reloc/time/help/timeserver.ca.html    <header>Servidor Horari</header>

Un servidor horari pot oferir el servei 'daytime', que retorna l'hora
actual del sistema.<br>
Aquest servei es pot oferir internament amb <tt>inetd</tt><p>

Aquest resultat es pot aplicar al sistema o al rellotge del maquinari.<p>

<hr>


   07070100071c67000081a40000000000000002000000013d1fe2d900000114000000200000000000000000000000000000002300000003reloc/time/help/timeserver.de.html    <header>Zeit-Server</header>

Ein Server kann den Service 'daytime' anbieten, der die aktuelle Systemzeit zur&uuml;ckgibt.<br>
Dieser Service kann intern angeboten werden mit inetd.<p>

Dieses Ergebnis kann auf die System- oder Hardware-Zeit angewendet werden.<p>

<hr>07070100071c68000081a40000000000000002000000013d1fe2d900000118000000200000000000000000000000000000002300000003reloc/time/help/timeserver.es.html    <header>Servidor de Hora</header>

Un servidor puede ofrecer el servicio 'hora del día', el cual devuele la hora
en curso del sistema.<br>
Se puede ofrecer este servicio intérnamente con inetd.<p>

Este resultado puede aplicarse a la hora del sistema o a la de hardware.<p>

<hr>
07070100071c69000081a40000000000000002000000013d1fe2d9000000fb000000200000000000000000000000000000002300000003reloc/time/help/timeserver.fr.html    <header>Serveurs de Temps</header>

Un serveur peut offrir le service 'daytime' qui renvoie l'heure courante du système.<br>
Ce service peut être offert à l'interne par inetd.<p>

Ce résultat peut être appliqué à l'heure système ou matériel.<p>

<hr>
 07070100071c6a000081a40000000000000002000000013d1fe2d9000000ec000000200000000000000000000000000000002000000003reloc/time/help/timeserver.html   <header>Time Server</header>

A server can offer the service 'daytime' which return the current system time.<br>
This service can be offered internaly with inetd.<p>

This result can ben applied to the system or hardware time.<p>

<hr>
07070100071c6b000081a40000000000000002000000013d1fe2d900000103000000200000000000000000000000000000002300000003reloc/time/help/timeserver.hu.html    <header>Idõkiszolgáló</header>

Egy kiszolgáló, ami rendelkezik a 'daytime' szolgáltatással, amely a jelenlegi rendszeridõt adja válaszul.<br>
Ez a szolgáltatás az inetd-be van beépítve.<p>

Ez az érték érvényesíthetõ rendszer- vagy hardwareidõként.<p>

<hr>
 07070100071c6c000081a40000000000000002000000013d1fe2d90000011e000000200000000000000000000000000000002300000003reloc/time/help/timeserver.pl.html    <header>Serwer czasu</header>

Jest to serwer, który udostêpnia us³ugê 'daytime' zwracaj±c± bie¿±cy czas
systemowy.<br> 

Us³uga ta mo¿e byæ obs³ugiwana przez inetd jako jego wewnêtrzna funkcja. <p>

Wynik mo¿e byæ zastosowany do ustawienia czasu systemowego lub sprzêtowego.
<p>

<hr>
  07070100071c6d000081a40000000000000002000000013d1fe2d900000122000000200000000000000000000000000000002600000003reloc/time/help/timeserver.ru_RU.html <header>Ñåðâåð Âðåìåíè</header>

Ñåðâåð ìîæåò ïðåäîñòàâëÿòü ñåðâèñ 'daytime', êîòîðûé îáåñïå÷èâàåò èíôîðìàöèåé î òåêóùåì âðåìåíè.<br>
Äàííûé ñåðâèñ ìîæåò ðàáîòàòü ïîä óïðàâëåíèåì inetd.<p>

Èíôîðìàöèÿ äàííîãî ñåðâèñà ìîæåò áûòü ïðèìåíåíà ê ñèñòåìíîìó âðåìåíè èëè êî âðåìåíè ÷àñîâ.<p>

<hr>
  07070100071c6e000081a40000000000000002000000013d1fe2d900000122000000200000000000000000000000000000002600000003reloc/time/help/timeserver.ru_SU.html <header>óÅÒ×ÅÒ ÷ÒÅÍÅÎÉ</header>

óÅÒ×ÅÒ ÍÏÖÅÔ ÐÒÅÄÏÓÔÁ×ÌÑÔØ ÓÅÒ×ÉÓ 'daytime', ËÏÔÏÒÙÊ ÏÂÅÓÐÅÞÉ×ÁÅÔ ÉÎÆÏÒÍÁÃÉÅÊ Ï ÔÅËÕÝÅÍ ×ÒÅÍÅÎÉ.<br>
äÁÎÎÙÊ ÓÅÒ×ÉÓ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ÐÏÄ ÕÐÒÁ×ÌÅÎÉÅÍ inetd.<p>

éÎÆÏÒÍÁÃÉÑ ÄÁÎÎÏÇÏ ÓÅÒ×ÉÓÁ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÍÅÎÅÎÁ Ë ÓÉÓÔÅÍÎÏÍÕ ×ÒÅÍÅÎÉ ÉÌÉ ËÏ ×ÒÅÍÅÎÉ ÞÁÓÏ×.<p>

<hr>
  07070100071c6f000081a40000000000000002000000013d1fe2d9000000d3000000200000000000000000000000000000002300000003reloc/time/help/timeserver.sv.html    <header>Tidsserver</header>

Server som erbjuder tjänsten 'daytime', som returnerar systemtiden.
<br>Denna tjänst kan internt skötas med inetd.

<p>Resultatet kan användas till system- eller hårdvarutiden.
<hr>
 07070100071c70000081a40000000000000002000000013d1fe2d9000000b2000000200000000000000000000000000000002b00000003reloc/time/help/timeserver.zh_TW.Big5.html    <header>®É¶¡¦øªA¾¹</header>

¤@­Ó´£¨Ñ 'daytime' ªA°Èªº¦øªA¾¹, ¥¦¥i¥H¼u¦^¥Ø«eªº¨t²Î®É¶¡.<br>
³o­ÓªA°È¥i¥H³Q indet ¤º³¡©Ò´£¨Ñ.<p>

³o­Óµ²ªG¥i¥H®M¥Î¦b¨t²Î®É¶¡©ÎµwÅé®É¶¡¤W.<p>

<hr>
  07070100073410000041ed0000000000000001000000023d1ffb7c00000000000000200000000000000000000000000000001200000003reloc/time/images 07070100073411000081a40000000000000002000000013d1fe2da00000211000000200000000000000000000000000000001b00000003reloc/time/images/icon.gif    GIF89a0 0 ã  ÿÿÿÌÌÌ   ÌÌÿH£ÿ²Mz™™™®²Ãfffÿ  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þðÉI«½8ëÍ»ÿ`(ŽäthZ‚Áá¾i¬ÙùÞq è:MÝ†`!„ñv3Úkˆh¢á„ÚVË¨¶xzs×‘‹)v›ÞtN4º§LxÜÜjÚè)º{ÈýS6xeoi†\Acy…ri€^]ŽZ|p•‘ˆˆœŽDšœˆO[^-o¦ž^P¥5gRP°’· ¬R•e¥¸‡fB´[šÄ[¨ÀÇKŠÃžN»Ì£Ð6QÊ¸M×ã×h¶S¬–Þç°â»ðådMTŒ(g}·ˆäåØOœÔCq¯BŠTÄäíšM¾‚.“t.O» *]8¨(–­!HÄÁ‰ºæ8ûöP>’!?&’	eÔŽ(RpW-JM-GžÌÙòÖJ7Å¸âËtÅdú\	Eâ†6#Ðç–›N7Ýªu*H);4^Ò™Í¢RžN¨4uyUP"oƒÊbK—ß8?î±¢öN–¶ò¼JÉ–P–RíÐ ÜøCš˜OL¶’ÎÇ'¹:&ó€êcÂg0mú–~`  ÊÕ<ÁžM»¶í  ;   07070100070526000081e40000000000000002000000013d1fe2da000017ba000000200000000000000000000000000000001500000003reloc/time/index.cgi  #!/usr/local/bin/perl

require "./time-lib.pl";

local ($rawdate, $rawhwdate, %system_date, $rawtime, %hw_date, $txt);
$txt = "";

&error( $text{ 'acl_error' } ) if( $access{ 'sysdate' } && $access{ 'hwdate' } );

&header( $text{ 'index_title' }, "", "index", 1, 1, undef,
	&help_search_link("date hwclock", "man"),
	qq(<script src="time.js"></script>\n),
	q(onLoad="F=new Array(0,1);timeInit(F); setTimeout('timeUpdate(F)', 5000);"));
print( "<hr>" );

if (!$access{'sysdate'} && !&has_command("date")) {
	print "<p>",&text( 'error_cnf', "<tt>date</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
if (!$access{'hwdate'} && $config{'hwtime'} && !&has_command("hwclock")) {
	print "<p>",&text( 'error_cnf', "<tt>hwclock</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

if( !$access{'sysdate'} )
{
  $rawdate = `date`;
  chop( $rawdate );
  $rawdate =~ s/ {1,}/ /g;

  ( $system_date{ 'day' }, $system_date{ 'month' }, $system_date{ 'date' }, $rawtime, $_, $system_date{ 'year' } ) = split( / /, $rawdate );
  ( $system_date{ 'hour' }, $system_date{ 'minute' }, $system_date{ 'second' } ) = split( /:/, $rawtime );

  print( 
"<p><form action=apply.cgi>",
  &tabletime( &hlink( $text{ 'sys_title' }, "system_time" ), %system_date ),
  "<input type=submit name=action value=\"", $text{ 'action_apply' }, "\">",
  $config{'hwtime'} ? " <input type=submit name=action value=\"".$text{ 'action_sync_s' }."\">" : "", "</form>" );
}

if( !$access{'hwdate'} && $config{'hwtime'} )
{
  $rawhwdate = `hwclock`;
  if ($rawhwdate =~ /^(\S+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+):(\d+)\s+(\d+)\s+/) {
	$hw_date{ 'day' } = $1;
	$hw_date{ 'month' } = $2;
	$hw_date{ 'date' } = $3;
	$hw_date{ 'hour' } = $4;
	$hw_date{ 'minute' } = $5;
	$hw_date{ 'second' } = $6;
	$hw_date{ 'year' } = $7;
  } elsif ($rawhwdate =~ /^(\S+)\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+):(\d+):(\d+)\s+(am|pm)\s+/i) {
	$hw_date{ 'day' } = $1;
	$hw_date{ 'month' } = $3;
	$hw_date{ 'date' } = $2;
	$hw_date{ 'hour' } = $5;
	$hw_date{ 'minute' } = $6;
	$hw_date{ 'second' } = $7;
	$hw_date{ 'year' } = $4;
	$hw_date{ 'hour' } += 12 if ($8 eq 'pm');
  } else {
	&error($text{'index_eformat'});
  }

  if( !$access{ 'sysdate' } )
  {
    $hw_date{ 'second' } = $system_date{ 'second' } if( $hw_date{ 'second' } - $system_date{ 'second' } <= $config{ 'lease' } );
  }
    
print( 
"<p><form action=apply.cgi>",
  &tabletime( &hlink( $text{ 'hw_title' }, "hardware_time" ), %hw_date ),
  "<input type=submit name=action value=\"", $text{ 'action_save' }, "\">",
  " <input type=submit name=action value=\"", $text{ 'action_sync' }, "\">",
"</form><p>" );
}

if( ( !$access{ 'sysdate' } && &has_command( "date" ) ) || ( !$access{ 'hwdate' } && &has_command( "hwclock" ) ) )
{
  print(
"<form action=apply.cgi>",
  "<table nosave border width=\"100%\">",
	"<tr ", $tb, ">",
	  "<td><b>", &hlink( $text{ 'index_timeserver' }, "timeserver" ), "</b></td>",
	"</tr><tr ", $cb, ">",
	  "<td>",
		$text{ 'index_address' }, " ",
  		&p_entry( "timeserver", $config{'timeserver'}, 30 ),
		" <input type=submit name=action value=\"", $text{ 'action_timeserver_sys' }, "\">",
		$config{'hwtime'} ? "<input type=submit name=action value=\"$text{ 'action_timeserver_sys' } / $text{ 'action_timeserver_hw' }\">" : "",
	  "</td>",
	"</tr>",
  "</table>",
"</form>" );
}

#if ($zonelink = readlink($config{'zonelink'})) {
#	print "<form action=savezone.cgi>\n";
#	print "<table border width=100%>\n";
#	print "<tr $tb> <td><b>$text{'index_zone'}</b></td> </tr>\n";
#	print "<tr $cb> <td valign=top>$text{'index_tz'}\n";
#	print "<select name=zone size=5>\n";
#	open(TAB, $config{'zonetab'});
#	while(<TAB>) {
#		s/\r|\n//g;
#		s/#.*$//;
#		if (/^(\S+)\s+(\S+)\s+(\S+)\s*(.*)/) {
#			printf "<option %s>%s\n",
#				"$config{'zonedir'}/$3" eq $zonelink
#					? "selected" : "", $3;
#			}
#		}
#	close(TAB);
#	print "</select></td> </tr>\n";
#	print "</table>\n";
#	print "<input type=submit value='$text{'action_savezone'}'>\n";
#	print "</form>\n";
#	}

print "<hr>\n";
&footer( "/", $text{ 'index' } );

sub tabletime
{
  my ( $label, %src ) = @_,
  %assoc_day = ( "Mon", $text{ 'day_1' }, "Tue", $text{ 'day_2' }, "Wed", $text{ 'day_3' }, "Thu", $text{ 'day_4' }, "Fri", $text{ 'day_5' }, "Sat", $text{ 'day_6' }, "Sun", $text{ 'day_0' } ),
  %assoc_month = ( "Jan", $text{ 'month_1' }, "Feb", $text{ 'month_2' }, "Mar", $text{ 'month_3' }, "Apr", $text{ 'month_4' }, "May", $text{ 'month_5' }, "Jun", $text{ 'month_6' }, "Jul", $text{ 'month_7' }, "Aug", $text{ 'month_8' }, "Sep", $text{ 'month_9' }, "Oct", $text{ 'month_10' }, "Nov", $text{ 'month_11' }, "Dec", $text{ 'month_12' } );

  return
"<table nosave border width=\"100%\"><tr ". $tb. "><td>". $label. "</td></tr></table>\n".
"<table nosave border width=\"100%\">".
  "<tr ". $cb. ">".
	"<td nosave><b>". $text{ 'day' }. "</b></td>\n".
	"<td nosave><b>". $text{ 'date' }. "</b></td>\n".
	"<td nosave><b>". $text{ 'month' }. "</b></td>\n".
	"<td nosave><b>". $text{ 'year' }. "</b></td>\n".
	"<td><b>". $text{ 'hour' }. "</b></td>\n".
  "</tr>\n<tr ". $cb. ">".
	"<td>". $assoc_day{ $src{ 'day' } }."</td>\n".
	"<td>". &p_select( "date", $src{ 'date' }, ( 1..31 ) ). "</td>\n".
	"<td>". &p_select_wdl( "month", $assoc_month{ $src{ 'month' } }, "01",( $text{ 'month_1' }, "02", $text{ 'month_2' }, "03", $text{ 'month_3' }, "04", $text{ 'month_4' }, "05", $text{ 'month_5' }, "06", $text{ 'month_6' }, "07", $text{ 'month_7' }, "08", $text{ 'month_8' }, "09", $text{ 'month_9' }, "10", $text{ 'month_10' }, "11", $text{ 'month_11' }, "12", $text{ 'month_12' } ) ). "</td>\n".
	"<td>". &p_select( "year", $src{ 'year' }, ( 1969..2037 ) ). "</td>\n".
	"<td>". &p_select( "hour", $src{ 'hour' }, ( "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", 10..23 ) ). "\n:". &p_select( "minute", $src{ 'minute' }, ( "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", 10..59) ). ":". &p_select( "second", $src{ 'second' }, ( "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", 10..59 ) ). "</td>\n".
  "</tr>\n".
"</table>";
}
  07070100074a83000041ed0000000000000001000000023d1ffb7d00000000000000200000000000000000000000000000001000000003reloc/time/lang   07070100074a84000081a40000000000000002000000013d1fe2d900000642000000200000000000000000000000000000001300000003reloc/time/lang/ca    index_title=Hora del Sistema
index_timeserver=Servidor Horari
index_address=Host/Adreça
index_zone=Zona horària
index_tz=Ubicació actual
index_eformat=Format de sortida de <tt>hwclock</tt> no reconegut

action_save=Desa
action_apply=Aplica
action_sync=Sincronitza l'hora del sistema amb l'hora del maquinari
action_sync_s=Sincronitza l'hora del maquinari amb l'hora del sistema
action_timeserver_sys=Sincronitza l'hora del sistema
action_timeserver_hw=Sincronitza l'hora del maquinari
action_savezone=Canvia la zona horària

acl_sys=L'usuari pot editar l'hora del sistema
acl_hw=L'usuari pot editar l'hora del maquinari
acl_yes=Sí
acl_no=No
acl_error=Tens accés al mòdul de l'hora del sistema, però no pots editar no l'hora del sistema no l'hora del maquinari
acl_nosys=No tens permís per editar l'hora del sistema
acl_nohw=No tens permís per editar l'hora del maquinari

sys_title=Hora del Sistema
hw_title=Hora del Maquinari

day=Dia
month=Mes
date=Data
hour=Hora
year=Any

error_cnf=Error: no s'ha trobat l'ordre $1
error_hw=No puc establir l'hora del maquinari: $1
error_sync=No puc sincronitzar amb l'hora del sistema: $1

log_set_date=Estableix l'hora del sistema a $1
log_set_hwclock=Estableix l'hora del maquinari a $1
log_remote_date=He obtingut l'hora del sistema de $2
log_remote_hwclock=He obtingut l'hora del maquinari de $2
log_remote_date_l=He obtingut l'hora del sistema $1 de $2
log_remote_hwclock_l=He obtingut l'hora del maquinari $1 de $2
log_sync=He sincronitzat l'hora del sistema amb l'hora del maquinari
log_sync_s=He sincronitzat l'hora del maquinari amb l'hora del sistema



  07070100074a85000081a40000000000000002000000013d1fe2d90000046e000000200000000000000000000000000000001300000003reloc/time/lang/cz    index_title=Systémový èas
index_timeserver=Èasový server
index_address=Host/Adresa

action_save=Zapsat
action_apply=Pou¾ít
action_sync=Sjednotit systémový èas s hardwarovým èasem
action_sync_s=Sjednotit hardwarový èas se systémovým èasem
action_timeserver_sys=Sjednotit systémový èas
action_timeserver_hw=Sjednotit hardwarový èas

acl_sys=U¾ivatel mù¾e editovat systémový èas
acl_hw=U¾ivatel mù¾e editovat hardwarový èas
acl_yes=Ano
acl_no=Ne
acl_error=Máte pøístup k modulu systémového èasu, ale nemù¾ete editovat ani systémový ani hardwarový èas
acl_nosys=Nemù¾ete editovat systémový èas
acl_nohw=Nemù¾ete editovat hardwarový èas

sys_title=Systémový èas
hw_title=Hardwarový èas

day=Den
month=Mìsíc
date=Datum
hour=Hodina
year=Rok
month_1=Leden
month_2=Únor
month_3=Bøezen
month_4=Duben
month_5=Kvìten
month_6=Èerven
month_7=Èervenec
month_8=Srpen
month_9=Záøí
month_10=Øíjen
month_11=Listopad
month_12=Prosinec
day_1=Pondìlí
day_2=Úterý
day_3=Støeda
day_4=Ètvrtek
day_5=Pátek
day_6=Sobota
day_7=Nedìle

error_cnf=Chyba : $1 pøíkaz nenalezen
error_hw=Nemohu nastavit hardwarová èas: $1
error_sync=Nemù¾u nastavit systémový èas: $1
  07070100074a86000081a40000000000000002000000013d1fe2d9000007e7000000200000000000000000000000000000001300000003reloc/time/lang/de    #        webmin-0.97     time/lang/de
#
#        created: ??.??.????                 by:???
#        last modified: 05-may-2002          Rev.: 29-05-2002
#        modified/translated by: Dieter H&uuml;rten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 05.05.2001        Rev.: 29.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#


index_title=Systemzeit

index_timeserver=Zeit-Server
index_address=Host/Adresse:
index_zone=Zeitzone
index_tz=Aktuelle Zone
index_eformat=<tt>Hardware-Uhr</tt> Ausgabeformat nicht erkannt

action_save=Speichern
action_apply=Anwenden
action_sync=Synchronisiere Systemzeit mit Hardware-Zeit
action_sync_s=Synchronisiere Hardware-Zeit mit Systemzeit
action_timeserver_sys=Synchronisiere Systemzeit
action_timeserver_hw=Synchronisiere Hardware-Zeit
action_savezone=&Auml;ndere Zeitzone

acl_sys=Benutzer darf Systemzeit bearbeiten
acl_hw=Benutzer darf Hardware-Zeit bearbeiten
acl_yes=Ja
acl_no=Nein
acl_error=Sie haben Zugriff auf das Modul Systemzeit, aber Sie haben keine Berechtigung zum &Auml;ndern der Systemzeit oder der Hardware-Zeit
acl_nosys=Sie haben keine Berechtigung, die Systemzeit zu bearbeiten
acl_nohw=Sie haben keine Berechtigung, die Hardware-Zeit zu bearbeiten

sys_title=Systemzeit
hw_title=Hardware-Zeit

day=Tag
month=Monat
date=Datum
hour=Stunde
year=Jahr

error_cnf=Fehler: $1 Befehl nicht gefunden
error_hw=Kann Hardware-Zeit nicht einstellen: $1
error_sync=Kann Systemzeit nicht setzen: $1

log_set_date=Setze Systemzeit auf $1
log_set_hwclock=Setze Hardware-Zeit auf $1
log_remote_date=Geholte Systemzeit von $2
log_remote_hwclock=Geholte Hardware-Zeit von $2
log_remote_date_l=Geholte Systemzeit $1 von $2
log_remote_hwclock_l=Geholte Hardware-Zeit $1 von $2
log_sync=Systemzeit mit Hardware-Zeit synchronisiert
log_sync_s=Hardware-Zeit mit Systemzeit synchronisiert 07070100074a87000081a40000000000000002000000013d1fe2d900000539000000200000000000000000000000000000001300000003reloc/time/lang/en    index_title=System Time
index_timeserver=Time Server
index_address=Host/Address
index_zone=Timezone
index_tz=Current location
index_eformat=Unrecognized <tt>hwclock</tt> output format

action_save=Save
action_apply=Apply
action_sync=Sync system time with hardware time
action_sync_s=Sync hardware time with system time
action_timeserver_sys=Sync system time
action_timeserver_hw=Sync hardware time
action_savezone=Change timezone

acl_sys=User can edit system time
acl_hw=User can edit hardware time
acl_yes=Yes
acl_no=No
acl_error=You have access to the system time module, but you can't edit neither system time or hardware time
acl_nosys=You are not allowed to edit system time
acl_nohw=You are not allowed to edit hardware time

sys_title=System Time
hw_title=Hardware Time

day=Day
month=Month
date=Date
hour=Hour
year=Year

error_cnf=Error : $1 command not found
error_hw=Can't set the hardware time : $1
error_sync=Can't sync with system time : $1

log_set_date=Set system time to $1
log_set_hwclock=Set hardware clock to $1
log_remote_date=Fetched system time from $2
log_remote_hwclock=Fetched hardware time from $2
log_remote_date_l=Fetched system time $1 from $2
log_remote_hwclock_l=Fetched hardware time $1 from $2
log_sync=Synchronised system time with hardware time
log_sync_s=Synchronised hardware time with system time

   07070100074a88000081a40000000000000002000000013d1fe2d9000005ca000000200000000000000000000000000000001300000003reloc/time/lang/es    index_title=Hora del Sistema
index_timeserver=Servidor de Hora
index_address=Máquina/Dirección
index_zone=Zona horaria
index_tz=localización actual

action_save=Salvar
action_apply=Aplicar
action_sync=Sicronizar hora del sistema con la hora de hardware
action_sync_s=Sincronizar hora de hardware con la hora del sistema
action_timeserver_sys=Sincronizar hora del sistema
action_timeserver_hw=Sincronizar hora de hardware
action_savezone=Cambiar zona horaria

acl_sys=Los usuarios pueden editar la hora del sistema
acl_hw=Los usuarios pueden editar la hora de hardware
acl_yes=Sí
acl_no=No
acl_error=Tienes acceso al módulo de hora del sistema pero no puedes editar ni la hora del sistema ni la de hardware
acl_nosys=No estás autorizado a editar la hora del sistema
acl_nohw=No estás autorizado a editar la hora de hardware

sys_title=Hora del Sistema
hw_title=Hora de Hardware

day=Día
month=Mes
date=Fecha
hour=Hora
year=Año

error_cnf=Error : comando $1 no hallado
error_hw=No puedo poner la hora de hardware : $1
error_sync=No puedo sincronizar con la hora del sistema: $1

log_set_date=Puesta hora de sistema a $1
log_set_hwclock=Puesto reloj de hardware a $1
log_remote_date=Cojida hora de sistema de $2
log_remote_hwclock=Cojida hora de hardware de $2
log_remote_date_l=Cojida hora de sistema $1 de $2
log_remote_hwclock_l=Cojida hora de hardware $1 de $2
log_sync=Hora de sistema sicronizada con hora de hardware
log_sync_s=Hora de hardware sincronizada con hora de sistema

  07070100074a89000081a40000000000000002000000013d1fe2d900000605000000200000000000000000000000000000001300000003reloc/time/lang/fr    index_title=Heure Système
index_timeserver=Serveur de temps
index_address=Nom/Adresse
index_zone=Timezone
index_tz=Emplacement actuel

action_save=Enregistrer
action_apply=Appliquer
action_sync=Synchroniser l'horloge système avec l'horloge matérielle
action_sync_s=Synchroniser l'horloge matérielle avec l'horloge système
action_timeserver_sys=Synchroniser à l'horloge système
action_timeserver_hw=Synchroniser à l'horloge matérielle
action_savezone=Changer la timezone

acl_sys=L'utilisateur peut éditer l'horloge système
acl_hw=L'utilisateur peut éditer l'horloge matériel
acl_yes=Oui
acl_no=Non
acl_error=Vous avez accès au module de l'heure, mais vous n'êtes pas autorisé à éditer l'horloge système ni matérielle
acl_nosys=Vous n'êtes pas autorisé à éditer l'horloge système
acl_nohw=Vous n'êtes pas autorisé à éditer l'horloge matérielle

sys_title=Horloge Système
hw_title=Horloge Matériel

day=Journée
month=Mois
date=Date
hour=Heure
year=Année

error_cnf=Erreur : $1 commande introuvable
error_hw=Impossible d'enregistrer l'horloge système : $1
error_sync=Impossible de synchroniser avec l'horloge système : $1

log_set_date=Horloge système réglée à $1
log_set_hwclock=Horloge matérielle réglée à $1
log_remote_date=Heure système récupérée de $2
log_remote_hwclock=Heure matérielle récupérée de $2
log_remote_date_l=Heure système $1 récupérée de $2
log_remote_hwclock_l=Heure matérielle $1 récupérée de $2
log_sync=Horloge système synchronisée avec horloge matérielle
log_sync_s=Horloge matérielle synchronisée avec horloge système

   07070100074a8a000081a40000000000000002000000013d1fe2d9000003d6000000200000000000000000000000000000001300000003reloc/time/lang/hu    index_title=Rendszeridõ
index_timeserver=Idõkiszolgáló
index_address=Host/Cím

action_save=Mentés
action_apply=Érvényesítés
action_sync=A rendszeridõ szinkronizációja a hardwareórával
action_sync_s=A hardwareóra szinkronizációja a rendszeridõvel
action_timeserver_sys=Rendszeridõ szinkronizálása
action_timeserver_hw=Hardwareóra szinkronizálása

acl_sys=A felhasználó át tudja állítani a rendszeridõt
acl_hw=A felhasználó át tudja állítani a hardwareórát
acl_yes=Igen
acl_no=Nem
acl_error=Önnek van hozzáférése a rendszeridõ modulhoz, de sem a rendszeridõt, sem a hardwareidõt nem tudja átállítani
acl_nosys=Önnek nincs jogosultásga a rendszeridõ átállításához
acl_nohw=Önnek nincs jogosultsága a hardwareóra átállításához

sys_title=Rendszeridõ
hw_title=Hardwareidõ

day=Nap
month=Hónap
date=Hanyadika
hour=Óra
year=Év

error_cnf=Hiba : $1 parancs nem létezik
error_hw=A hardwareóra beállítása nem sikerült : $1
error_sync=A rendszeridõvel történõ szinkronizáció nem sikerült : $1
  07070100074a8b000081a40000000000000002000000013d1fe2d90000053f000000200000000000000000000000000000001a00000003reloc/time/lang/ja_JP.euc index_title=¥·¥¹¥Æ¥à»þ´Ö
index_timeserver=¥¿¥¤¥à ¥µ¡¼¥Ð
index_address=¥Û¥¹¥È/¥¢¥É¥ì¥¹
index_zone=¥¿¥¤¥à¥¾¡¼¥ó
index_tz=¸½ºß¤Î¾ì½ê

action_save=ÊÝÂ¸
action_apply=Å¬ÍÑ
action_sync=¥·¥¹¥Æ¥à»þ´Ö¤ò¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ÈÆ±´ü
action_sync_s=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ò¥·¥¹¥Æ¥à»þ´Ö¤ÈÆ±´ü
action_timeserver_sys=¥·¥¹¥Æ¥à»þ´Ö¤òÆ±´ü
action_timeserver_hw=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤òÆ±´ü
action_savezone=¥¿¥¤¥à¥¾¡¼¥ó¤òÊÑ¹¹

acl_sys=¥æ¡¼¥¶¤¬¥·¥¹¥Æ¥à»þ´Ö¤òÊÔ½¸²ÄÇ½
acl_hw=¥æ¡¼¥¶¤¬¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤òÊÔ½¸²ÄÇ½
acl_yes=¤Ï¤¤
acl_no=¤¤¤¤¤¨
acl_error=¥·¥¹¥Æ¥à»þ´Ö¤Î¥â¥¸¥å¡¼¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à»þ´Ö¤Þ¤¿¤Ï¥Ï¡¼¥É
¥¦¥§¥¢»þ´Ö¤ÎÊÔ½¸¤Ï¤Ç¤­¤Þ¤»¤ó
acl_nosys=¥·¥¹¥Æ¥à»þ´Ö¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó
acl_nohw=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ÏÊÔ½¸¤Ç¤­¤Þ¤»¤ó

sys_title=¥·¥¹¥Æ¥à»þ´Ö
hw_title=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö

day=ÍËÆü
month=·î
date=ÆüÉÕ
hour=»þ´Ö
year=Ç¯

error_cnf=¥¨¥é¡¼:$1 ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
error_hw=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤òÀßÄê¤Ç¤­¤Þ¤»¤ó: $1
error_sync=¥·¥¹¥Æ¥à»þ´Ö¤ÈÆ±´ü¤Ç¤­¤Þ¤»¤ó: $1

log_set_date=$1 ¤Ë¥·¥¹¥Æ¥à»þ´Ö¤òÀßÄê
log_set_hwclock=$1 ¤Ë¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤òÀßÄê
log_remote_date=$2 ¤«¤é¥·¥¹¥Æ¥à»þ´Ö¤ò¼è¤ê½Ð¤·¤Þ¤·¤¿
log_remote_hwclock=$2 ¤«¤é¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ò¼è¤ê½Ð¤·¤Þ¤·¤¿
log_remote_date_l=¥·¥¹¥Æ¥à»þ´Ö $1¤ò $2 ¤«¤é¼è¤ê½Ð¤·¤Þ¤·¤¿
log_remote_hwclock_l=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö $1 ¤ò $2 ¤«¤é¼è¤ê½Ð¤·¤Þ¤·¤¿
log_sync=¥·¥¹¥Æ¥à»þ´Ö¤ò¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ÈÆ±´ü¤·¤Þ¤·¤¿
log_sync_s=¥Ï¡¼¥É¥¦¥§¥¢»þ´Ö¤ò¥·¥¹¥Æ¥à»þ´Ö¤ÈÆ±´ü¤·¤Þ¤·¤¿

 07070100074a8c000081a40000000000000002000000013d1fe2d90000053f000000200000000000000000000000000000001a00000003reloc/time/lang/ja_JP.jis index_title=ƒVƒXƒeƒ€ŽžŠÔ
index_timeserver=ƒ^ƒCƒ€ ƒT[ƒo
index_address=ƒzƒXƒg/ƒAƒhƒŒƒX
index_zone=ƒ^ƒCƒ€ƒ][ƒ“
index_tz=Œ»Ý‚ÌêŠ

action_save=•Û‘¶
action_apply=“K—p
action_sync=ƒVƒXƒeƒ€ŽžŠÔ‚ðƒn[ƒhƒEƒFƒAŽžŠÔ‚Æ“¯Šú
action_sync_s=ƒn[ƒhƒEƒFƒAŽžŠÔ‚ðƒVƒXƒeƒ€ŽžŠÔ‚Æ“¯Šú
action_timeserver_sys=ƒVƒXƒeƒ€ŽžŠÔ‚ð“¯Šú
action_timeserver_hw=ƒn[ƒhƒEƒFƒAŽžŠÔ‚ð“¯Šú
action_savezone=ƒ^ƒCƒ€ƒ][ƒ“‚ð•ÏX

acl_sys=ƒ†[ƒU‚ªƒVƒXƒeƒ€ŽžŠÔ‚ð•ÒW‰Â”\
acl_hw=ƒ†[ƒU‚ªƒn[ƒhƒEƒFƒAŽžŠÔ‚ð•ÒW‰Â”\
acl_yes=‚Í‚¢
acl_no=‚¢‚¢‚¦
acl_error=ƒVƒXƒeƒ€ŽžŠÔ‚Ìƒ‚ƒWƒ…[ƒ‹‚ÉƒAƒNƒZƒX‚Å‚«‚Ü‚·‚ªAƒVƒXƒeƒ€ŽžŠÔ‚Ü‚½‚Íƒn[ƒh
ƒEƒFƒAŽžŠÔ‚Ì•ÒW‚Í‚Å‚«‚Ü‚¹‚ñ
acl_nosys=ƒVƒXƒeƒ€ŽžŠÔ‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ
acl_nohw=ƒn[ƒhƒEƒFƒAŽžŠÔ‚Í•ÒW‚Å‚«‚Ü‚¹‚ñ

sys_title=ƒVƒXƒeƒ€ŽžŠÔ
hw_title=ƒn[ƒhƒEƒFƒAŽžŠÔ

day=—j“ú
month=ŒŽ
date=“ú•t
hour=ŽžŠÔ
year=”N

error_cnf=ƒGƒ‰[:$1 ƒRƒ}ƒ“ƒh‚ª‚ ‚è‚Ü‚¹‚ñ
error_hw=ƒn[ƒhƒEƒFƒAŽžŠÔ‚ðÝ’è‚Å‚«‚Ü‚¹‚ñ: $1
error_sync=ƒVƒXƒeƒ€ŽžŠÔ‚Æ“¯Šú‚Å‚«‚Ü‚¹‚ñ: $1

log_set_date=$1 ‚ÉƒVƒXƒeƒ€ŽžŠÔ‚ðÝ’è
log_set_hwclock=$1 ‚Éƒn[ƒhƒEƒFƒAŽžŠÔ‚ðÝ’è
log_remote_date=$2 ‚©‚çƒVƒXƒeƒ€ŽžŠÔ‚ðŽæ‚èo‚µ‚Ü‚µ‚½
log_remote_hwclock=$2 ‚©‚çƒn[ƒhƒEƒFƒAŽžŠÔ‚ðŽæ‚èo‚µ‚Ü‚µ‚½
log_remote_date_l=ƒVƒXƒeƒ€ŽžŠÔ $1‚ð $2 ‚©‚çŽæ‚èo‚µ‚Ü‚µ‚½
log_remote_hwclock_l=ƒn[ƒhƒEƒFƒAŽžŠÔ $1 ‚ð $2 ‚©‚çŽæ‚èo‚µ‚Ü‚µ‚½
log_sync=ƒVƒXƒeƒ€ŽžŠÔ‚ðƒn[ƒhƒEƒFƒAŽžŠÔ‚Æ“¯Šú‚µ‚Ü‚µ‚½
log_sync_s=ƒn[ƒhƒEƒFƒAŽžŠÔ‚ðƒVƒXƒeƒ€ŽžŠÔ‚Æ“¯Šú‚µ‚Ü‚µ‚½

 07070100074a8d000081a40000000000000002000000013d1fe2d900000519000000200000000000000000000000000000001a00000003reloc/time/lang/ko_KR.euc index_title=½Ã½ºÅÛ ½Ã°£
index_timeserver=½Ã°£ ¼­¹ö
index_address=È£½ºÆ®/ÁÖ¼Ò
index_zone=Ç¥ÁØ ½Ã°£´ë
index_tz=ÇöÀç À§Ä¡

action_save=ÀúÀå
action_apply=Àû¿ë
action_sync=ÇÏµå¿þ¾î ½Ã°£¿¡ ¸ÂÃç ½Ã½ºÅÛ ½Ã°£ µ¿±âÈ­
action_sync_s=½Ã½ºÅÛ ½Ã°£¿¡ ¸ÂÃç ÇÏµå¿þ¾î ½Ã°£ µ¿±âÈ­
action_timeserver_sys=½Ã½ºÅÛ ½Ã°£ µ¿±âÈ­
action_timeserver_hw=ÇÏµå¿þ¾î ½Ã°£ µ¿±âÈ­
action_savezone=Ç¥ÁØ ½Ã°£´ë º¯°æ

acl_sys=»ç¿ëÀÚ°¡ ½Ã½ºÅÛ ½Ã°£À» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù
acl_hw=»ç¿ëÀÚ°¡ ÇÏµå¿þ¾î ½Ã°£À» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù
acl_yes=¿¹
acl_no=¾Æ´Ï¿À
acl_error=½Ã½ºÅÛ ½Ã°£ ¸ðµâ¿¡ ´ëÇÑ ¾×¼¼½º ±ÇÇÑÀÌ ÀÖÁö¸¸ ½Ã½ºÅÛ ½Ã°£ÀÌ³ª ÇÏµå¿þ¾î ½Ã°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acl_nosys=½Ã½ºÅÛ ½Ã°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
acl_nohw=ÇÏµå¿þ¾î ½Ã°£À» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

sys_title=½Ã½ºÅÛ ½Ã°£
hw_title=ÇÏµå¿þ¾î ½Ã°£

day=ÀÏ
month=¿ù
date=³¯Â¥
hour=½Ã
year=³â

error_cnf=¿À·ù: $1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
error_hw=ÇÏµå¿þ¾î ½Ã°£À» ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù: $1
error_sync=½Ã½ºÅÛ ½Ã°£¿¡ µ¿±âÈ­ÇÒ ¼ö ¾ø½À´Ï´Ù: $1

log_set_date=$1(À¸)·Î ½Ã½ºÅÛ ½Ã°£ ¼³Á¤µÊ
log_set_hwclock=$1(À¸)·Î ÇÏµå¿þ¾î ½Ã°è ¼³Á¤µÊ
log_remote_date=$2¿¡¼­ ½Ã½ºÅÛ ½Ã°£ ¹ÝÀÔµÊ
log_remote_hwclock=$2¿¡¼­ ÇÏµå¿þ¾î ½Ã°£ ¹ÝÀÔµÊ
log_remote_date_l=$2¿¡¼­ ½Ã½ºÅÛ ½Ã°£ $1 ¹ÝÀÔµÊ
log_remote_hwclock_l=$2¿¡¼­ ÇÏµå¿þ¾î ½Ã°£ $1 ¹ÝÀÔµÊ
log_sync=½Ã½ºÅÛ ½Ã°£ÀÌ ÇÏµå¿þ¾î ½Ã°£¿¡ ¸ÂÃç µ¿±âÈ­µÊ
log_sync_s=ÇÏµå¿þ¾î ½Ã°£ÀÌ ½Ã½ºÅÛ ½Ã°£¿¡ ¸ÂÃç µ¿±âÈ­µÊ

   07070100074a8e000081a40000000000000002000000013d1fe2d9000005e1000000200000000000000000000000000000001300000003reloc/time/lang/pl    index_title=Czas systemowy
index_timeserver=Serwer czasu
index_address=Nazwa/Adres
index_zone=Strefa czasowa
index_tz=Bie¿±ca lokalizacja

action_save=Zachowaj
action_apply=Zastosuj
action_sync=Synchronizuj czas systemowy z czasem sprzêtowym
action_sync_s=Synchronizuj czas sprzêtowy z czasem systemowym
action_timeserver_sys=Synchronizuj czas systemowy
action_timeserver_hw=Synchronizuj czas sprzêtowy
action_savezone=Zmieñ strefê czasow±

acl_sys=U¿ytkownik mo¿e zmieniaæ czas systemowy
acl_hw=U¿ytkownik mo¿e zmieniaæ czas sprzêtowy
acl_yes=Tak
acl_no=Nie
acl_error=Masz dostêp do modu³u czasu systemowego, ale nie mo¿esz zmieniaæ ani czasu systemowego ani sprzêtowego
acl_nosys=Nie masz uprawnieñ do zmiany czasu systemowego
acl_nohw==Nie masz uprawnieñ do zmiany czasu sprzêtowego

sys_title=Czas systemowy
hw_title=Czas sprzêtowy

day=Dzieñ tygodnia
month=Miesi±c
date=Dzieñ
hour=Godzina
year=Rok

error_cnf=B³±d&nbsp;: $1 nie ma takiego polecenia
error_hw=Nie mogê ustawiæ czasu sprzêtowego&nbsp;: $1
error_sync=Nie mogê ustawiæ czasu systemowego&nbsp;: $1

log_set_date=Ustawiono czas systemowy na $1
log_set_hwclock=Ustawiono zagar sprzêtowy na $1
log_remote_date=Pobrano czas systemowy z&nbsp;$2
log_remote_hwclock=Pobrano czas sprzêtowy z&nbsp;$2
log_remote_date_l=Pobrano czas systemowy $1 z&nbsp;$2
log_remote_hwclock_l=Pobrano czas sprzêtowy $1 z&nbsp;$2
log_sync=Zsynchronizowano czas systemowy z&nbsp;zegarem sprzêtowym
log_sync_s=Zsynchronizowano zegar sprzêtowy z&nbsp;czasem systemowym
   07070100074a8f000081a40000000000000002000000013d1fe2d900000391000000200000000000000000000000000000001600000003reloc/time/lang/ru_RU month=Ìåñÿö
acl_nosys=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü ñèñòåìíîå âðåìÿ
action_apply=Ïðèìåíèòü
error_sync=Íå ìîãó ñèíõðîíèçèðîâàòüñÿ ñ ñèñòåìíûì âðåìåíåì : $1
acl_hw=Ïîëüçîâàòåëü ìîæåò ðåäàêòèðîâàòü âðåìÿ ÷àñîâ
date=Äàòà
action_timeserver_hw=Ñèíõð-òü ÷àñû
acl_yes=Äà
sys_title=Âðåìÿ Ñèñòåìû
error_cnf=Îøèáêà : $1 êîìàíäà íå íàéäåíà
acl_no=Íåò
action_save=Ñîõðàíèòü
action_sync_s=Ñèíõð-òü ÷àñû ñ ñèñòåìíûì âðåìåíåì
acl_sys=Ïîëüçîâàòåëü ìîæåò ðåäàêòèðîâàòü ñèñòåìíîå âðåìÿ
acl_error=Âû èìååòå äîñòóï ê ìîäóëþ ñèñòåìíîãî âðåìåíè, íî âû íå ìîæåòå ðåäàêòèðîâàòü íè ñèñòåìíîå âðåìÿ, íè âðåìÿ ÷àñîâ.
acl_nohw=Âàì íå ðàçðåøåíî ðåäàêòèðîâàòü âðåìÿ ÷àñîâ
index_address=Õîñò/Àäðåñ
year=Ãîä
index_title=Ñèñòåìíîå Âðåìÿ
action_timeserver_sys=Ñèíõð-òü ñèñòåìíîå âðåìÿ
day=Äåíü
hw_title=Âðåìÿ ×àñîâ
hour=×àñ
error_hw=Íå ìîãó óñòàíîâèòü âðåìÿ ÷àñîâ : $1
action_sync=Ñèíõð-òü ñèñòåìíîå âðåìÿ ñ ÷àñàìè
index_timeserver=Ñåðâåð Âðåìåíè
   07070100074a90000081a40000000000000002000000013d1fe2d900000396000000200000000000000000000000000000001600000003reloc/time/lang/ru_SU index_title=óÉÓÔÅÍÎÏÅ ÷ÒÅÍÑ
index_timeserver=óÅÒ×ÅÒ ÷ÒÅÍÅÎÉ
index_address=èÏÓÔ/áÄÒÅÓ

action_save=óÏÈÒÁÎÉÔØ
action_apply=ðÒÉÍÅÎÉÔØ
action_sync=óÉÎÈÒ-ÔØ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ Ó ÞÁÓÁÍÉ
action_sync_s=óÉÎÈÒ-ÔØ ÞÁÓÙ Ó ÓÉÓÔÅÍÎÙÍ ×ÒÅÍÅÎÅÍ
action_timeserver_sys=óÉÎÈÒ-ÔØ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ
action_timeserver_hw=óÉÎÈÒ-ÔØ ÞÁÓÙ

acl_sys=ðÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ
acl_hw=ðÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ×ÒÅÍÑ ÞÁÓÏ×
acl_yes=äÁ
acl_no=îÅÔ
acl_error=÷Ù ÉÍÅÅÔÅ ÄÏÓÔÕÐ Ë ÍÏÄÕÌÀ ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ, ÎÏ ×Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÎÉ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ, ÎÉ ×ÒÅÍÑ ÞÁÓÏ×.
acl_nosys=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÓÉÓÔÅÍÎÏÅ ×ÒÅÍÑ
acl_nohw=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÔØ ×ÒÅÍÑ ÞÁÓÏ×

sys_title=÷ÒÅÍÑ óÉÓÔÅÍÙ
hw_title=÷ÒÅÍÑ þÁÓÏ×

day=äÅÎØ
month=íÅÓÑÃ
date=äÁÔÁ
hour=þÁÓ
year=çÏÄ

error_cnf=ïÛÉÂËÁ : $1 ËÏÍÁÎÄÁ ÎÅ ÎÁÊÄÅÎÁ
error_hw=îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ×ÒÅÍÑ ÞÁÓÏ× : $1
error_sync=îÅ ÍÏÇÕ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØÓÑ Ó ÓÉÓÔÅÍÎÙÍ ×ÒÅÍÅÎÅÍ : $1
  07070100074a91000081a40000000000000002000000013d1fe2d90000051c000000200000000000000000000000000000001300000003reloc/time/lang/sv    index_title=Systemtid
index_timeserver=Tidsserver
index_address=Dator/adress
index_zone=Tidszon
index_tz=Plats

action_save=Spara
action_apply=Ta i drift
action_sync=Synkronisera systemtiden med hårdvarutid
action_sync_s=Synkronisera hårdvarutiden med systemtid
action_timeserver_sys=Synkronisera systemtiden
action_timeserver_hw=Synkronisera hårdvarutiden
action_savezone=Ändra tidszon

acl_sys=Användaren får ändra systemtiden
acl_hw=Användaren får ändra hårdvarutiden
acl_yes=Ja
acl_no=Nej
acl_error=Du får komma åt systemtidmodulen, men du får varken ändra systemtiden eller hårdvarutiden
acl_nosys=Du får inte ändra systemtiden
acl_nohw=Du får inte ändra hårdvarutiden

sys_title=Systemtid
hw_title=Hårdvarutid

day=Dag
month=Månad
date=Datum
hour=Timme
year=År

error_cnf=Fel: kommando $1 finns inte
error_hw=Det går inte att ställa hårdvarutiden: $1
error_sync=Det går inte att synkronisera med systemtiden: $1

log_set_date=Satte systemtiden till $1
log_set_hwclock=Satte hårdvarutiden till $1
log_remote_date=Hämtade systemtiden från $2
log_remote_hwclock=Hämtade hårdvarutiden från $2
log_remote_date_l=Hämtade systemtiden $1 från $2
log_remote_hwclock_l=Hämtade hårdvarutiden $1 från $2
log_sync=Synkroniserade systemtiden med hårdvarutiden
log_sync_s=Synkroniserade hårdvarutiden med systemtiden
07070100074a92000081a40000000000000002000000013d1fe2d900000596000000200000000000000000000000000000001300000003reloc/time/lang/tr    index_title=Sistem Zamaný
index_timeserver=Zaman Sunucusu
index_address=Makine/Adres
index_zone=Zaman Bölgesi
index_tz=Yer

action_save=Kaydet
action_apply=Uygula
action_sync=Sistem saatini donaným saati ile eþzamanlý hale getir.
action_sync_s=Donaným saatini sistem saati ile eþzamanlý hale getir
action_timeserver_sys=Sistem saatini ayarla
action_timeserver_hw=Donaným saatini ayarla
action_savezone=Zaman bölgesini deðiþtir

acl_sys=Kullanýcý sistem saatini deðiþtirebilsin
acl_hw=Kullanýcý donaným saatini deðiþtirebilsin
acl_yes=Evet
acl_no=Hayýr
acl_error=Sistem zamaný modülüne giriþinize izin verildi, fakat sistem ya da donaným saatini deðiþtirmek için izininiz yoktur
acl_nosys=Sistem saatini deðiþtirmek için izininiz yoktur
acl_nohw=Donaným saatini deðiþtirmek için izininiz yoktur

sys_title=Sistem Saati
hw_title=Donaným Saati

day=Gün
month=Ay
date=Tarih
hour=Saat
year=Yýl

error_cnf=Hata : $1 komutu bulunamadý
error_hw=Donaným saati bu þekilde ayarlanamaz : $1
error_sync=Sistem zamaný ile eþzamanlý hale getirilemedi : $1

log_set_date=Sistem zamaný $1 yapýldý
log_set_hwclock=Donaným saati $1 yapýldý
log_remote_date=Sistem zamaný $2'den alýndý
log_remote_hwclock=Donaným saati $2'den alýndý
log_remote_date_l=Sistem zamaný $1, $2'den alýndý
log_remote_hwclock_l=Donaným saati $1, $2'den alýndý
log_sync=Sistem zamaný donaným saati ile eþ zamanlandý
log_sync_s=Donaným saati sistem zamaný ile eþ zamaanlandý


  07070100074a93000081a40000000000000002000000013d1fe2d9000003ce000000200000000000000000000000000000001600000003reloc/time/lang/zh_CN index_title=ÏµÍ³Ê±¼ä
index_timeserver=Ê±¼ä·þÎñÆ÷
index_address=Ö÷»ú/µØÖ·
index_zone=Ê±Çø
index_tz=µ±Ç°Î»ÖÃ
action_save=±£´æ
action_apply=Ó¦ÓÃ
action_sync=°´ÕÕÓ²¼þÊ±¼äÍ¬²½ÏµÍ³Ê±¼ä
action_sync_s=°´ÕÕÏµÍ³Ê±¼äÍ¬²½Ó²¼þÊ±¼ä
action_timeserver_sys=Í¬²½ÏµÍ³Ê±¼ä
action_timeserver_hw=Í¬²½Ó²¼þÊ±¼ä
action_savezone=¸Ä±äÊ±Çø
acl_sys=ÓÃ»§¿ÉÒÔ±à¼­ÏµÍ³Ê±¼ä
acl_hw=ÓÃ»§¿ÉÒÔ±à¼­Ó²¼þÊ±¼ä
acl_yes=ÊÇ
acl_no=·ñ
acl_error=Äã¿ÉÒÔ·ÃÎÊÏµÍ³Ê±¼äÄ£¿é£¬µ«²»ÄÜÐÞ¸ÄÏµÍ³Ê±¼äºÍÓ²¼þÊ±¼ä
acl_nosys=ÄãÎÞÈ¨ÐÞ¸ÄÏµÍ³Ê±¼ä
acl_nohw=ÄãÎÞÈ¨ÐÞ¸ÄÓ²¼þÊ±¼ä
sys_title=ÏµÍ³Ê±¼ä
hw_title=Ó²¼þÊ±¼ä
day=ÐÇÆÚ
month=ÔÂ
date=ÈÕÆÚ
hour=Ê±¼ä
year=Äê
error_cnf=´íÎó£º$1 ÃüÁîÃ»ÓÐÕÒµ½
error_hw=ÎÞ·¨ÉèÖÃÓ²¼þÊ±¼ä£º$1
error_sync=ÎÞ·¨Í¬²½ÏµÍ³Ê±¼ä£º$1
log_set_date=ÉèÖÃÏµÍ³Ê±¼äµ½ $1
log_set_hwclock=ÉèÖÃÓ²¼þÊ±ÖÓµ½ $1
log_remote_date=´Ó $2 È¡µÃÏµÍ³Ê±¼ä
log_remote_hwclock=´Ó $2 È¡µÃÓ²¼þÊ±¼ä
log_remote_date_l=´Ó $2 È¡µÃÏµÍ³Ê±¼ä $1
log_remote_hwclock_l=´Ó $2 È¡µÃÓ²¼þÊ±¼ä $1
log_sync=ÓÃÓ²¼þÊ±¼äÍ¬²½ÏµÍ³Ê±¼ä
log_sync_s=ÓÃÏµÍ³Ê±¼äÍ¬²½Ó²¼þÊ±¼ä
  07070100074a94000081a40000000000000002000000013d1fe2d900000382000000200000000000000000000000000000001b00000003reloc/time/lang/zh_TW.Big5    index_title=¨t²Î®É¶¡
index_timeserver=®É¶¡¦øªA¾¹
index_address=¥D¾÷/¦ì§}

action_save=Àx¦s
action_apply=®M¥Î
action_sync=¥HµwÅé®É¶¡¦P¨B¨t²Î®É¶¡
action_sync_s=¥H¨t²Î®É¶¡¦P¨BµwÅé®É¶¡
action_timeserver_sys=¦P¨B¨t²Î®É¶¡
action_timeserver_hw=¦P¨BµwÅé®É¶¡

acl_sys=¨Ï¥ÎªÌ¥i¥H½s¿è¨t²Î®É¶¡
acl_hw=¨Ï¥ÎªÌ¥i¥H½s¿èµwÅé®É¶¡
acl_yes=¬O
acl_no=§_
acl_error=±z¤w¸g¦s¨ú¨ì¨t²Î®É¶¡¼Ò²Õ, ¦ý±z¤£¯à½s¿è¨t²Î®É¶¡©ÎµwÅé®É¶¡
acl_nosys=±z¤£³Q¤¹³\½s¿è¨t²Î®É¶¡
acl_nohw=±z¤£³Q¤¹³\½s¿èµwÅé®É¶¡

sys_title=¨t²Î®É¶¡
hw_title=µwÅé®É¶¡

day=¤é¾ä¤Ñ
month=¤ë
date=¤é
hour=®É
year=¦~
month_1=¤@¤ë
month_2=¤G¤ë
month_3=¤T¤ë
month_4=¥|¤ë
month_5=¤­¤ë
month_6=¤»¤ë
month_7=¤C¤ë
month_8=¤K¤ë
month_9=¤E¤ë
month_10=¤Q¤ë
month_11=¤Q¤@¤ë
month_12=¤Q¤G¤ë
day_1=¬P´Á¤@
day_2=¬P´Á¤G
day_3=¬P´Á¤T
day_4=¬P´Á¥|
day_5=¬P´Á¤­
day_6=¬P´Á¤»
day_7=¬P´Á¤é

error_cnf=¿ù»~: §ä¤£¨ì $1 ©R¥O
error_hw=µLªk³]©wµwÅé®É¶¡: $1
error_sync=µLªk»P¨t²Î®É¶¡¦P¨B: $1
  07070100070527000081a40000000000000002000000013d1fe2da000002fc000000200000000000000000000000000000001900000003reloc/time/log_parser.pl  # log_parser.pl
# Functions for parsing this module's logs

do 'time-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($action eq 'remote') {
	local $tm = localtime($object);
	return &text($long ? "log_remote_${type}_l" : "log_remote_${type}",
	     "<i>$tm</i>", "<tt>".&html_escape($p->{'timeserver'})."</tt>");
	}
elsif ($action eq 'set') {
	local $tm = localtime($object);
	return &text("log_set_${type}", "<i>$tm</i>");
	}
elsif ($action eq 'sync') {
	return $text{'log_sync'};
	}
elsif ($action eq 'sync_s') {
	return $text{'log_sync_s'};
	}
else {
	return undef;
	}
}

07070100070528000081a40000000000000002000000013d1fe2ea0000029a000000200000000000000000000000000000001700000003reloc/time/module.info    desc_ru_SU=óÉÓÔÅÍÎÏÅ ÷ÒÅÍÑ
risk=low medium high
desc_ko_KR.euc=½Ã½ºÅÛ ½Ã°£
desc_zh_TW.Big5=¨t²Î®É¶¡
desc_pl=Czas systemowy
desc_de=Systemzeit
name=Time
desc_zh_CN=ÏµÍ³Ê±¼ä
desc_pt=Tempo do Sistema
category=hardware
desc_tr=Sistem Zamaný
os_support=redhat-linux mandrake-linux slackware-linux suse-linux debian-linux open-linux turbo-linux cobalt-linux solaris hpux macos freebsd netbsd msc-linux generic-linux openserver gentoo-linux
desc=System Time
desc_es=Hora del Sistema
desc_sv=Systemtid
desc_fr=Temps Système
desc_cz=Systémový èas
desc_ja_JP.euc=¥·¥¹¥Æ¥à»þ´Ö
depends=0.990
version=0.990
desc_hu=Rendszeridõ
desc_ca=Hora del Sistema
desc_ru_RU=Ñèñòåìíîå Âðåìÿ
  07070100070529000081e40000000000000002000000013d1fe2da000004c2000000200000000000000000000000000000001700000003reloc/time/time-lib.pl    #!/usr/local/bin/perl

do "../web-lib.pl";

&init_config();
%access = &get_module_acl();
$| = 1;

sub p_link
{
    my ( $dest, $text ) = @_;
    return "<a href=\"". $dest. "\">". $text. "</a>";
}

sub p_radio
{
    my ( $name, $checked, @list ) = @_;
    local ($out, $size, $i);
    $size = @list; $i = 0;

    do
    {
	$out .= " <input type=radio name=".$name." value=".$list[$i];
	$out .= " checked" if( $checked eq $list[$i++] );
	$out .="> ".$list[$i++];
    } while( $i < $size );

    return $out;
}

sub p_entry
{
    my ( $name, $value, $size ) = @_;

    $size ? return "<input name=". $name. " size=". $size." value=\"". $value."\">" : return "<input name=". $name. " value=\"". $value."\">";
}

sub p_select_wdl
{
  my ( $name, $selected, @list ) = @_;
  local $out = "<select name=$name>";
  local $i = 0;
  local $size = @list;

  do
  {
	$out .= "<option value=$list[$i++]";
	$out .= " selected" if( $selected eq $list[$i] );
	$out .= ">$list[$i++]";
  } while( $i < $size );
  $out .= "</select>";

}

sub p_select
{
  my ( $name, $selected, @list ) = @_;
  local (@newlist, $item);

  foreach $item ( @list )
  {
	push( @newlist, $item, $item );
  }

  p_select_wdl( $name, $selected, @newlist );
}
  0707010007052a000081a40000000000000002000000013d1fe2da00000311000000200000000000000000000000000000001300000003reloc/time/time.js    function timeInit(F) {
	secs = new Array();
	mins = new Array();
	hours = new Array();
	for(i=0; i<F.length; i++){
		secs[i]  = document.forms[F[i]].second;
		mins[i]  = document.forms[F[i]].minute;
		hours[i] = document.forms[F[i]].hour; }
}
function timeUpdate(F) {
	for(i=0; i<F.length; i++){
		s = parseInt(secs[i].selectedIndex);
		s = s ? s : 0;
		s = s+5;
		if( s>59 ){
			s -= 60;
			m = parseInt(mins[i].selectedIndex);
			m= m ? m : 0;
			m+=1;
			if( m>59 ){
				m -= 60;
				h = parseInt(hours[i].selectedIndex);
				h = h ? h : 0;
				h+=1;
				if( h>23 ){
					h -= 24;
				}
				hours[i].selectedIndex  = h;
			}
			mins[i].selectedIndex  = m;
		}
	secs[i].selectedIndex = s; }
	setTimeout('timeUpdate(F)', 5000);
}
function packNum(t) {
	return (t < 10 ? '0'+t : t);
}
   0707010007052b000081e40000000000000002000000013d1fe2d9000000b9000000200000000000000000000000000000001300000003reloc/time/try.cgi    #!/usr/local/bin/perl

require "./time-lib.pl";

&open_socket( "lempire.qc.ca", "13", "SOCK" );

&header( "", "" );

#foreach ( <SOCK> )
#{
  print( <SOCK>, "<br>" );
#}
close( SOCK );
   0707010003e28b000081e40000000000000002000000013d1fe2b700001148000000200000000000000000000000000000001700000003reloc/user_chooser.cgi    #!/usr/local/bin/perl
# user_chooser.cgi
# This CGI generated the HTML for choosing a user or list of users.

require './web-lib.pl';
&init_config();
&ReadParse();
%access = &get_module_acl();

if ($in{'multi'}) {
	# selecting multiple users.
	if ($in{'frame'} == 0) {
		# base frame
		&PrintHeader();
		print "<script>\n";
		@ul = split(/\s+/, $in{'user'});
		$len = @ul;
		print "sel = new Array($len);\n";
		print "selr = new Array($len);\n";
		for($i=0; $i<$len; $i++) {
			print "sel[$i] = \"$ul[$i]\";\n";
			@uinfo = getpwnam($ul[$i]);
			if (@uinfo) { print "selr[$i] = \"$uinfo[6]\";\n"; }
			else { print "selr[$i] = \"???\";\n"; }
			}
		print "</script>\n";
		print "<title>$text{'users_title1'}</title>\n";
		print "<frameset cols='50%,50%'>\n";
		print "<frame src=\"/user_chooser.cgi?frame=1&multi=1\">\n";
		print "<frameset rows='*,50' frameborder=no>\n";
		print " <frame src=\"/user_chooser.cgi?frame=2&multi=1\">\n";
		print " <frame src=\"/user_chooser.cgi?frame=3&multi=1\" scrolling=no>\n";
		print "</frameset>\n";
		print "</frameset>\n";
		}
	elsif ($in{'frame'} == 1) {
		# list of all users to choose from
		&header();
		print "<script>\n";
		print "function adduser(u, r)\n";
		print "{\n";
		print "top.sel[top.sel.length] = u\n";
		print "top.selr[top.selr.length] = r\n";
		print "top.frames[1].location = top.frames[1].location\n";
		print "return false;\n";
		print "}\n";
		print "</script>\n";
		print "<font size=+1>$text{'users_all'}</font>\n";
		print "<table width=100%>\n";
		foreach $u (&get_users_list()) {
			if ($in{'user'} eq $u->[0]) { print "<tr $cb>\n"; }
			else { print "<tr>\n"; }
			$u->[6] =~ s/'/&#39;/g;
			print "<td width=20%><a href=\"\" onClick='return adduser(\"$u->[0]\", \"$u->[6]\")'>$u->[0]</a></td>\n";
			print "<td>$u->[6]</td> </tr>\n";
			}
		print "</table>\n";
		}
	elsif ($in{'frame'} == 2) {
		# show chosen users
		&header();
		print "<font size=+1>$text{'users_sel'}</font>\n";
		print <<'EOF';
<table width=100%>
<script>
function sub(j)
{
sel2 = new Array(); selr2 = new Array();
for(k=0,l=0; k<top.sel.length; k++) {
	if (k != j) {
		sel2[l] = top.sel[k];
		selr2[l] = top.selr[k];
		l++;
		}
	}
top.sel = sel2; top.selr = selr2;
top.frames[1].location = top.frames[1].location;
return false;
}
for(i=0; i<top.sel.length; i++) {
	document.write("<tr>\n");
	document.write("<td><a href=\"\" onClick='return sub("+i+")'>"+top.sel[i]+"</a></td>\n");
	document.write("<td>"+top.selr[i]+"</td>\n");
	}
</script>
</table>
EOF
		}
	elsif ($in{'frame'} == 3) {
		# output OK and Cancel buttons
		&header();
		print "<form>\n";
		print "<input type=button value=\"$text{'users_ok'}\" ",
		      "onClick='top.ifield.value = top.sel.join(\" \"); ",
		      "top.close()'>\n";
		print "<input type=button value=\"$text{'users_cancel'}\" ",
		      "onClick='top.close()'>\n";
		print "&nbsp;&nbsp;<input type=button value=\"$text{'users_clear'}\" onClick='top.sel = new Array(); top.selr = new Array(); top.frames[1].location = top.frames[1].location'>\n";
		print "</form>\n";
		}
	}
else {
	# selecting just one user .. display a list of all users to choose from
	&header();
	print "<script>\n";
	print "function select(f)\n";
	print "{\n";
	print "ifield.value = f;\n";
	print "top.close();\n";
	print "return false;\n";
	print "}\n";
	print "</script>\n";
	print "<title>$text{'users_title2'}</title>\n";
	print "<table width=100%>\n";
	foreach $u (&get_users_list()) {
		if ($in{'user'} eq $u->[0]) { print "<tr $cb>\n"; }
		else { print "<tr>\n"; }
		print "<td width=20%><a href=\"\" onClick='return select(\"$u->[0]\")'>$u->[0]</a></td>\n";
		print "<td>$u->[6]</td> </tr>\n";
		}
	print "</table>\n";
	}

sub get_users_list
{
local(@uinfo, @users, %ucan, %found);
if ($access{'uedit_mode'} == 2 || $access{'uedit_mode'} == 3) {
	map { $ucan{$_}++ } split(/\s+/, $access{'uedit'});
	}
setpwent();
while(@uinfo = getpwent()) {
	if ($access{'uedit_mode'} == 0 ||
	    $access{'uedit_mode'} == 2 && $ucan{$uinfo[0]} ||
	    $access{'uedit_mode'} == 3 && !$ucan{$uinfo[0]} ||
	    $access{'uedit_mode'} == 4 &&
		(!$access{'uedit'} || $uinfo[2] >= $access{'uedit'}) &&
		(!$access{'uedit2'} || $uinfo[2] <= $access{'uedit2'}) ||
	    $access{'uedit_mode'} == 5 && $uinfo[3] == $access{'uedit'}) {
		push(@users, [ @uinfo ]) if (!$found{$uinfo[0]}++);
		}
	}
endpwent() if ($gconfig{'os_type'} ne 'hpux');
return sort { $a->[0] cmp $b->[0] } @users;
}

070701000762b9000041ed0000000000000001000000053d1ffb9d00000000000000200000000000000000000000000000001000000003reloc/useradmin   070701000762ba000081a40000000000000002000000013d1fe2bf0000242e000000200000000000000000000000000000002000000003reloc/useradmin/acl_security.pl   
require 'user-lib.pl';

# acl_security_form(&options)
# Output HTML for editing security options for the useradmin module
sub acl_security_form
{
local $o = $_[0];

print "<tr> <td valign=top><b>$text{'acl_uedit'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=uedit_mode value=0 %s> $text{'acl_uedit_all'}&nbsp;&nbsp;\n",
	$o->{'uedit_mode'} == 0 ? "checked" : "";
printf "<input type=radio name=uedit_mode value=1 %s> $text{'acl_uedit_none'}&nbsp;\n",
	$o->{'uedit_mode'} == 1 ? "checked" : "";
printf "<input type=radio name=uedit_mode value=6 %s> $text{'acl_uedit_this'}<br>\n",
	$o->{'uedit_mode'} == 6 ? "checked" : "";
printf "<input type=radio name=uedit_mode value=2 %s> $text{'acl_uedit_only'}\n",
	$o->{'uedit_mode'} == 2 ? "checked" : "";
printf "<input name=uedit_can size=40 value='%s'> %s<br>\n",
	$o->{'uedit_mode'} == 2 ? $o->{'uedit'} : "",
	&user_chooser_button("uedit_can", 1);
printf "<input type=radio name=uedit_mode value=3 %s> $text{'acl_uedit_except'}\n",
	$o->{'uedit_mode'} == 3 ? "checked" : "";
printf "<input name=uedit_cannot size=40 value='%s'> %s<br>\n",
	$o->{'uedit_mode'} == 3 ? $o->{'uedit'} : "",
	&user_chooser_button("uedit_cannot", 1);
printf "<input type=radio name=uedit_mode value=4 %s> $text{'acl_uedit_uid'}\n",
	$o->{'uedit_mode'} == 4 ? "checked" : "";
printf "<input name=uedit_uid size=6 value='%s'> - \n",
	$o->{'uedit_mode'} == 4 ? $o->{'uedit'} : "";
printf "<input name=uedit_uid2 size=6 value='%s'><br>\n",
	$o->{'uedit_mode'} == 4 ? $o->{'uedit2'} : "";
printf "<input type=radio name=uedit_mode value=5 %s> $text{'acl_uedit_group'}\n",
	$o->{'uedit_mode'} == 5 ? "checked" : "";
printf "<input name=uedit_group size=40 value='%s'> %s<br>\n",
	$o->{'uedit_mode'} == 5 ?
	 join(" ", map { "".&my_getgrgid($_) } split(/\s+/, $o->{'uedit'})) :"",
	&group_chooser_button("uedit_group", 1);
printf "%s <input type=checkbox name=uedit_sec value=1 %s> %s</td></tr>\n",
	"&nbsp;" x 5, $o->{'uedit_sec'} ? 'checked' : '',$text{'acl_uedit_sec'};

print "<tr> <td><b>$text{'acl_ucreate'}</b></td> <td>\n";
printf "<input type=radio name=ucreate value=1 %s> $text{'yes'}\n",
	$o->{'ucreate'} ? "checked" : "";
printf "<input type=radio name=ucreate value=0 %s> $text{'no'}</td>\n",
	$o->{'ucreate'} ? "" : "checked";

print "<td><b>$text{'acl_batch'}</b></td> <td>\n";
printf "<input type=radio name=batch value=1 %s> $text{'yes'}\n",
	$o->{'batch'} ? "checked" : "";
printf "<input type=radio name=batch value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'batch'} ? "" : "checked";

print "<tr> <td><b>$text{'acl_uid'}</b></td>\n";
print "<td><input name=lowuid size=6 value='$o->{'lowuid'}'> -\n";
print "<input name=hiuid size=6 value='$o->{'hiuid'}'></td> <td>\n";
printf "<input type=checkbox name=umultiple value=1 %s> %s<br>\n",
	$o->{'umultiple'} ? "checked" : "", $text{'acl_umultiple'};
printf "<input type=checkbox name=uuid value=1 %s> %s</td> </tr>\n",
	$o->{'uuid'} ? "checked" : "", $text{'acl_uuid'};

print "<tr> <td><b>$text{'acl_ugroups'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=ugroups_def value=1 %s> $text{'acl_all'}\n",
	$o->{'ugroups'} eq "*" ? "checked" : "";
printf "<input type=radio name=ugroups_def value=0 %s>\n",
	$o->{'ugroups'} eq "*" ? "" : "checked";
printf "<input name=ugroups size=40 value='%s'> %s</td> </tr>\n",
	$o->{'ugroups'} eq "*" ? "" : $o->{'ugroups'},
	&group_chooser_button("ugroups", 1);

print "<tr> <td valign=top><b>$text{'acl_shells'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=shells_def value=1 %s> $text{'acl_any'}\n",
	$o->{'shells'} eq "*" ? "checked" : "";
printf "<input type=radio name=shells_def value=0 %s> $text{'acl_listed'}<br>\n",
	$o->{'shells'} eq "*" ? "" : "checked";
print "<textarea name=shells rows=3 cols=40>",
	$o->{'shells'} eq "*" ? "" : join("\n", split(/\s+/, $o->{'shells'})),
	"</textarea></td> </tr>\n";

print "<tr> <td><b>$text{'acl_epeopt'}</b></td> <td>\n";
printf "<input type=radio name=peopt value=1 %s> $text{'yes'}\n",
	$o->{'peopt'} ? "checked" : "";
printf "<input type=radio name=peopt value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'peopt'} ? "" : "checked";

print "<tr> <td valign=top><b>$text{'acl_home'}</b></td>\n";
printf "<td colspan=3><input name=home size=40 value='%s'> %s<br>\n",
	$o->{'home'}, &file_chooser_button("home", 1);
printf "<input type=checkbox name=autohome value=1 %s> %s</td> </tr>\n",
	$o->{'autohome'} ? "checked" : "",
	$text{'acl_autohome'};

print "<tr> <td valign=top><b>$text{'acl_saveopts'}</b></td> <td colspan=3>\n";
foreach $opt ('chuid', 'chgid', 'movehome', 'mothers',
	      'makehome', 'copy', 'cothers') {
	printf "<input type=checkbox name=%s value=1 %s> %s<br>\n",
		$opt, $o->{$opt} ? 'checked' : '', $text{"uedit_$opt"};
	}
print "</td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'acl_gedit'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=gedit_mode value=0 %s> $text{'acl_gedit_all'}&nbsp;&nbsp;\n",
	$o->{'gedit_mode'} == 0 ? "checked" : "";
printf "<input type=radio name=gedit_mode value=1 %s> $text{'acl_gedit_none'}<br>\n",
	$o->{'gedit_mode'} == 1 ? "checked" : "";
printf "<input type=radio name=gedit_mode value=2 %s> $text{'acl_gedit_only'}\n",
	$o->{'gedit_mode'} == 2 ? "checked" : "";
printf "<input name=gedit_can size=40 value='%s'> %s<br>\n",
	$o->{'gedit_mode'} == 2 ? $o->{'gedit'} : "",
	&group_chooser_button("gedit_can", 1);
printf "<input type=radio name=gedit_mode value=3 %s> $text{'acl_gedit_except'}\n",
	$o->{'gedit_mode'} == 3 ? "checked" : "";
printf "<input name=gedit_cannot size=40 value='%s'> %s<br>\n",
	$o->{'gedit_mode'} == 3 ? $o->{'gedit'} : "",
	&group_chooser_button("gedit_cannot", 1);
printf "<input type=radio name=gedit_mode value=4 %s> $text{'acl_gedit_gid'}\n",
	$o->{'gedit_mode'} == 4 ? "checked" : "";
printf "<input name=gedit_gid size=6 value='%s'> -\n",
	$o->{'gedit_mode'} == 4 ? $o->{'gedit'} : "";
printf "<input name=gedit_gid2 size=6 value='%s'></td> </tr>\n",
	$o->{'gedit_mode'} == 4 ? $o->{'gedit2'} : "";

print "<tr> <td><b>$text{'acl_gcreate'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=gcreate value=1 %s> $text{'yes'}\n",
	$o->{'gcreate'}==1 ? "checked" : "";
printf "<input type=radio name=gcreate value=2 %s> $text{'acl_gnew'}\n",
	$o->{'gcreate'}==2 ? "checked" : "";
printf "<input type=radio name=gcreate value=0 %s> $text{'no'}</td> </tr>\n",
	$o->{'gcreate'}==0 ? "checked" : "";

print "<tr> <td><b>$text{'acl_gid'}</b></td>\n";
print "<td><input name=lowgid size=6 value='$o->{'lowgid'}'> -\n";
print "<input name=higid size=6 value='$o->{'higid'}'></td> <td>\n";
printf "<input type=checkbox name=gmultiple value=1 %s> %s<br>\n",
	$o->{'gmultiple'} ? "checked" : "", $text{'acl_gmultiple'};
printf "<input type=checkbox name=ggid value=1 %s> %s</td> </tr>\n",
	$o->{'ggid'} ? "checked" : "", $text{'acl_ggid'};

print "<tr> <td colspan=4><hr></td> </tr>\n";

print "<tr><td valign=top><b>$text{'acl_logins'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=logins_mode value=0 %s> $text{'acl_lnone'}<br>\n",
	$o->{'logins'} ? "" : "checked";
printf "<input type=radio name=logins_mode value=1 %s> $text{'acl_lall'}<br>\n",
	$o->{'logins'} eq "*" ? "checked" : "";
printf "<input type=radio name=logins_mode value=2 %s>\n",
	$o->{'logins'} =~ /[^\*]/ ? "checked" : "";
printf "<input name=logins size=40 value='%s'> %s</td> </tr>\n",
	$o->{'logins'} =~ /[^\*]/ ? $o->{'logins'} : "",
	&user_chooser_button("logins", 1);
}

# acl_security_save(&options)
# Parse the form for security options for the useradmin module
sub acl_security_save
{
$_[0]->{'lowuid'} = $in{'lowuid'};
$_[0]->{'hiuid'} = $in{'hiuid'};
$_[0]->{'lowgid'} = $in{'lowgid'};
$_[0]->{'higid'} = $in{'higid'};
$_[0]->{'uedit_mode'} = $in{'uedit_mode'};
$_[0]->{'uedit'} = $in{'uedit_mode'} == 2 ? $in{'uedit_can'} :
		   $in{'uedit_mode'} == 3 ? $in{'uedit_cannot'} :
		   $in{'uedit_mode'} == 4 ? $in{'uedit_uid'} :
		   $in{'uedit_mode'} == 5 ?
			join(" ", map { "".&my_getgrnam($_) }
			     split(/\s+/, $in{'uedit_group'})) : "";
$_[0]->{'uedit2'} = $in{'uedit_mode'} == 4 ? $in{'uedit_uid2'} : undef;
$_[0]->{'uedit_sec'} = $in{'uedit_mode'} == 5 ? $in{'uedit_sec'} : undef;
$_[0]->{'gedit_mode'} = $in{'gedit_mode'};
$_[0]->{'gedit'} = $in{'gedit_mode'} == 2 ? $in{'gedit_can'} :
		   $in{'gedit_mode'} == 3 ? $in{'gedit_cannot'} :
		   $in{'gedit_mode'} == 4 ? $in{'gedit_gid'} : "";
$_[0]->{'gedit2'} = $in{'gedit_mode'} == 4 ? $in{'gedit_gid2'} : undef;
$_[0]->{'ucreate'} = $in{'ucreate'};
$_[0]->{'gcreate'} = $in{'gcreate'};
$_[0]->{'ugroups'} = $in{'ugroups_def'} ? "*" : $in{'ugroups'};
$_[0]->{'logins'} = $in{'logins_mode'} == 0 ? "" :
		    $in{'logins_mode'} == 1 ? "*" : $in{'logins'};
$_[0]->{'shells'} = $in{'shells_def'} ? "*"
				      : join(" ", split(/\s+/, $in{'shells'}));
$_[0]->{'peopt'} = $in{'peopt'};
$_[0]->{'batch'} = $in{'batch'};
$_[0]->{'home'} = $in{'home'};
$_[0]->{'autohome'} = $in{'autohome'};
$_[0]->{'umultiple'} = $in{'umultiple'};
$_[0]->{'uuid'} = $in{'uuid'};
$_[0]->{'gmultiple'} = $in{'gmultiple'};
$_[0]->{'ggid'} = $in{'ggid'};
foreach $o ('chuid', 'chgid', 'movehome', 'mothers',
	    'makehome', 'copy', 'cothers') {
	$_[0]->{$o} = $in{$o};
	}
}

  070701000762bb000081a40000000000000002000000013d1fe2c10000053b000000200000000000000000000000000000001b00000003reloc/useradmin/aix-lib.pl    # aix-lib.pl
# Functions for aix password file format

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd), 2 for SysV (/etc/passwd & /etc/shadow), 3 for
# /etc/passwd with update via useradd and 4 for AIX (/etc/passwd &
# /etc/security/passwd)
sub passfiles_type
{
return 4;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only), 2 for shadowed
# (/etc/group and /etc/gshadow), and 4 for AIX (/etc/group &
# /etc/security/group)
sub groupfiles_type
{
return 4;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
local $fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

 070701000762bc000081e40000000000000002000000013d1fe2c100003fa6000000200000000000000000000000000000001f00000003reloc/useradmin/batch_exec.cgi    #!/usr/local/bin/perl
# batch_exec.cgi
# Execute create/modify/delete commands in a batch file

require './user-lib.pl';
%access = &get_module_acl();
$access{'batch'} || &error($text{'batch_ecannot'});
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
	&ReadParse();
	}
else {
	&ReadParseMime();
	}
if ($in{'file'}) {
	$data = $in{'file'};
	}
elsif ($in{'local'}) {
	open(LOCAL, $in{'local'}) || &error($text{'batch_elocal'});
	while(<LOCAL>) {
		$data .= $_;
		}
	close(LOCAL);
	}
else {
	&error($text{'batch_efile'});
	}

&header($text{'batch_title'}, "");
print "<hr>\n";
$| = 1;

# Force defaults for save options
$in{'makehome'} = 1 if (!$access{'makehome'});
$in{'copy'} = 1 if (!$access{'copy'} && $config{'user_files'} =~ /\S/);
$in{'others'} = 1 if (!$access{'cothers'} && !$access{'mothers'});
$in{'movehome'} = 1 if (!$access{'movehome'});
$in{'chuid'} = 1 if (!$access{'chuid'});
$in{'chgid'} = 1 if (!$access{'chgid'});

# Work out a good base UID for new users
&my_setpwent();
while(@tmp = &my_getpwent()) {
	$used{$tmp[2]}++;
	$taken{$tmp[0]}++;
	}
&my_endpwent();
$newuid = int($config{'base_uid'} > $access{'lowuid'} ?
	      $config{'base_uid'} : $access{'lowuid'});

# Work out a good base GID for new groups
&my_setgrent();
while(@tmp = &my_getgrent()) {
	$gused{$tmp[2]}++;
	$gtaken{$tmp[0]}++;
	}
&my_endgrent();
$newgid = int($config{'base_gid'} > $access{'lowgid'} ?
	      $config{'base_gid'} : $access{'lowgid'});
@glist = &list_groups();

# Process the file
$lnum = $created = $modified = $deleted = 0;
print "<pre>\n";
$pft = &passfiles_type();
foreach $line (split(/[\r\n]+/, $data)) {
	&unlock_user_files();
	&lock_user_files();
	$lnum++;
	$line =~ s/#.*$//;
	next if ($line !~ /\S/);
	local @line = split(/:/, $line, -1);
	local %user;
	if ($line[0] eq 'create') {
		# Creating a new user
		if ($pft == 5) {
			# Openserver passwd and short shadow information
			if (@line != 10) {
				print &text('batch_elen', $lnum, 10),"\n";
				next;
				}
			$user{'min'} = $line[8];
			$user{'max'} = $line[9];
			}
		elsif ($pft == 4) {
			# AIX passwd and security information
			if (@line != 12) {
				print &text('batch_elen', $lnum, 12),"\n";
				next;
				}
			$user{'min'} = $line[8];
			$user{'max'} = $line[9];
			$user{'expire'} = $line[10];
			map { $user{$_}++ } split(/\s+/, $line[11]);
			}
		elsif ($pft == 2) {
			# SYSV-style passwd and shadow information
			if (@line != 13) {
				print &text('batch_elen', $lnum, 13),"\n";
				next;
				}
			$user{'min'} = $line[8];
			$user{'max'} = $line[9];
			$user{'warn'} = $line[10];
			$user{'inactive'} = $line[11];
			$user{'expire'} = $line[12];
			$user{'change'} = int(time() / (60*60*24));
			}
		elsif ($pft == 1 || $pft == 6) {
			# BSD master.passwd information
			if (@line != 11) {
				print &text('batch_elen', $lnum, 11),"\n";
				next;
				}
			$user{'class'} = $line[8];
			$user{'change'} = $line[9];
			$user{'expire'} = $line[10];
			}
		else {
			# Classic passwd file information
			if (@line != 8) {
				print &text('batch_elen', $lnum, 8),"\n";
				next;
				}
			}

		# Parse common fields
		if (!$line[1]) {
			print &text('batch_eline', $lnum),"\n";
			next;
			}
		$user{'user'} = $line[1];
		if ($config{'max_length'} &&
		    length($in{'user'}) > $config{'max_length'}) {
			print &text('batch_elength', $lnum, $user{'user'}),"\n";
			next;
			}
		if ($taken{$user{'user'}}) {
			print &text('batch_euser', $lnum, $user{'user'}),"\n";
			next;
			}
		if ($line[3] !~ /^\d+$/) {
			# make up a UID
			while($used{$newuid}) {
				$newuid++;
				}
			$user{'uid'} = $newuid;
			}
		else {
			# use the given UID
			if ($used{$line[3]} && !$access{'umultiple'}) {
				print &text('batch_ecaccess', $lnum,
					    $text{'usave_euidused2'}),"\n";
				next;
				}
			$user{'uid'} = $line[3];
			}
		$used{$user{'uid'}}++;
		if ($access{'autohome'}) {
			# Assign home dir automatically
			$user{'home'} = &auto_home_dir($access{'home'},
						       $user{'user'});
			}
		else {
			# Use given home dir
			if ($line[6] !~ /^\//) {
				print &text('batch_ehome', $lnum,$line[6]),"\n";
				next;
				}
			$user{'home'} = $line[6];
			}
		if (!-r $line[7]) {
			print &text('batch_eshell', $lnum, $line[7]),"\n";
			next;
			}
		$user{'shell'} = $line[7];
		$user{'real'} = $line[5];
		$user{'gid'} = $line[4];

		# Check access control restrictions
		if (!$access{'ucreate'}) {
			print &text('batch_ecaccess', $lnum,
				    $text{'usave_ecreate'});
			next;
			}
		local $ch = &check_user(\%user);
		if ($ch) {
			print &text('batch_ecaccess', $lnum, $ch),"\n";
			next;
			}

		# Run the before command
		$ENV{'USERADMIN_USER'} = $user{'user'};
		$ENV{'USERADMIN_UID'} = $user{'uid'};
		$ENV{'USERADMIN_REAL'} = $user{'real'};
		$ENV{'USERADMIN_SHELL'} = $user{'shell'};
		$ENV{'USERADMIN_HOME'} = $user{'home'};
		$ENV{'USERADMIN_GID'} = $user{'gid'};
		$ENV{'USERADMIN_PASS'} = $user{'plainpass'};
		$ENV{'USERADMIN_ACTION'} = 'CREATE_USER';
		$ENV{'USERADMIN_SECONDARY'} = '';	# not added to any
		$merr = &making_changes();
		&error(&text('usave_emaking', "<tt>$merr</tt>"))
			if (defined($merr));

		if ($line[4] !~ /^\d+$/) {
			# Need to create a new group for the user
			if (!$access{'gcreate'}) {
				print &text('batch_ecaccess', $lnum,
					    $text{'usave_egcreate'}),"\n";
				next;
				}
			if ($gtaken{$user{'user'}}) {
				print &text('batch_egtaken', $lnum,
					    $user{'user'}),"\n";
				next;
				}

			while($gused{$newgid}) {
				$newgid++;
				}
			local %group;
			$group{'group'} = $user{'user'};
			$user{'gid'} = $group{'gid'} = $newgid;
			&create_group(\%group);
			$gused{$group{'gid'}}++;
			}

		# Create the user!
		if ($in{'makehome'} && !-d $user{'home'}) {
			&lock_file($user{'home'});
			if (!mkdir($user{'home'}, oct($config{'homedir_perms'}))) {
				print &text('batch_emkdir', $user{'home'}, $!),"\n";
				}
			chmod(oct($config{'homedir_perms'}), $user{'home'});
			chown($user{'uid'}, $user{'gid'}, $user{'home'});
			&unlock_file($user{'home'});
			}
		if ($in{'crypt'}) {
			$user{'pass'} = $line[2];
			$user{'passmode'} = 2;
			}
		elsif ($line[2] eq 'x') {
			# No login allowed
			$user{'pass'} = $config{'lock_string'};
			$user{'passmode'} = 1;
			}
		elsif ($line[2] eq '') {
			# No password needed
			$user{'pass'} = '';
			$user{'passmode'} = 0;
			}
		else {
			# Normal password
			#$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
			#$user{'pass'} = crypt($line[2], $salt);
			$user{'pass'} = &encrypt_password($line[2]);
			$user{'passmode'} = 3;
			$user{'plainpass'} = $line[2];
			}


		# Actually create the user
		&create_user(\%user);
		&made_changes();
		&other_modules("useradmin_create_user", \%user)
			if ($in{'others'});

		if ($in{'copy'} && $in{'makehome'}) {
			# Copy files to user's home directory
			local $uf = $config{'user_files'};
			local $shell = $user{'shell'}; $shell =~ s/^(.*)\///g;
			if ($group = &my_getgrgid($user{'gid'})) {
				$uf =~ s/\$group/$group/g;
				}
			$uf =~ s/\$gid/$user{'gid'}/g;
			$uf =~ s/\$shell/$shell/g;
			&copy_skel_files($uf, $user{'home'},
					 $user{'uid'}, $user{'gid'});
			}

		print "<b>",&text('batch_created',$user{'user'}),"</b>\n";
		$created++;
		}
	elsif ($line[0] eq 'delete') {
		# Deleting an existing user
		if (@line != 2) {
			print &text('batch_elen', $lnum, 2),"\n";
			next;
			}
		local @ulist = &list_users();
		local ($user) = grep { $_->{'user'} eq $line[1] } @ulist;
		if (!$user) {
			print &text('batch_enouser', $lnum, $line[1]),"\n";
			next;
			}
		%user = %$user;
		if (!&can_edit_user(\%access, \%user)) {
			print &text('batch_edaccess', $lnum,
				    $text{'udel_euser'}),"\n";
			next;
			}

		# Run the before command
		$ENV{'USERADMIN_USER'} = $user{'user'};
		$ENV{'USERADMIN_UID'} = $user{'uid'};
		$ENV{'USERADMIN_REAL'} = $user{'real'};
		$ENV{'USERADMIN_SHELL'} = $user{'shell'};
		$ENV{'USERADMIN_HOME'} = $user{'home'};
		$ENV{'USERADMIN_GID'} = $user{'gid'};
		$ENV{'USERADMIN_SECONDARY'} = join(",", &secondary_groups(
							 $user{'user'}));
		$ENV{'USERADMIN_ACTION'} = 'DELETE_USER';
		$merr = &making_changes();
		&error(&text('usave_emaking', "<tt>$merr</tt>"))
			if (defined($merr));

		# Delete the user entry
		&other_modules("useradmin_delete_user", \%user)
			if ($in{'others'});
		&delete_user(\%user);
		&made_changes();

		# Delete his home directory
		if ($in{'delhome'} && $user{'home'} !~ /^\/+$/) {
			if ($config{'delete_only'}) {
				&lock_file($user{'home'});
				&system_logged("find \"$user{'home'}\" ! -type d -user $user{'uid'} | xargs rm -f >/dev/null 2>&1");
				&system_logged("find \"$user{'home'}\" -type d -user $user{'uid'} | xargs rmdir >/dev/null 2>&1");
				rmdir($user{'home'});
				&unlock_file($user{'home'});
				}
			else {
				&system_logged("rm -rf \"$user{'home'}\" >/dev/null 2>&1");
				}
			}

		# Delete the user from groups
		foreach $g (@glist) {
			@mems = split(/,/, $g->{'members'});
			$idx = &indexof($user{'user'}, @mems);
			if ($idx >= 0) {
				splice(@mems, $idx, 1);
				%newg = %$g;
				$newg{'members'} = join(',', @mems);
				&modify_group($g, \%newg);
				}
			$mygroup = $g if ($g->{'group'} eq $user{'user'});
			}

		# Delete the user's group
		if ($mygroup && !$mygroup->{'members'}) {
			local $another;
			foreach $ou (&list_users()) {
				$another++
					if ($ou->{'gid'} == $mygroup->{'gid'});
				}
			if (!$another) {
				&delete_group($mygroup);
				}
			}


		print "<b>",&text('batch_deleted',$user{'user'}),"</b>\n";
		$deleted++;
		}
	elsif ($line[0] eq 'modify') {
		# Modifying an existing user
		local $wlen = $pft == 5 ? 11 :
			      $pft == 4 ? 13 :
			      $pft == 2 ? 14 :
			      $pft == 1 || $pft == 6 ? 12 : 9;
		if (@line != $wlen) {
			print &text('batch_elen', $lnum, $wlen),"\n";
			next;
			}
		local @ulist = &list_users();
		local ($user) = grep { $_->{'user'} eq $line[1] } @ulist;
		if (!$user) {
			print &text('batch_enouser', $lnum, $line[1]),"\n";
			next;
			}
		%olduser = %user = %$user;
		$user{'olduser'} = $user->{'user'};
		if (!&can_edit_user(\%access, \%user)) {
			print &text('batch_emaccess', $lnum,
				    $text{'usave_eedit'}),"\n";
			next;
			}

		# Update supplied fields
		$user{'user'} = $line[2] if ($line[2] ne '');
		if ($in{'crypt'} && $line[3] ne '') {
			# Changing to pre-encrypted password
			$user{'pass'} = $line[3];
			$user{'passmode'} = 2;
			}
		elsif ($line[3] eq 'x') {
			# No login allowed
			$user{'pass'} = $config{'lock_string'};
			$user{'passmode'} = 1;
			}
		elsif ($line[3] ne '') {
			# Normal password
			$user{'pass'} = &encrypt_password($line[3]);
			$user{'passmode'} = 3;
			$user{'plainpass'} = $line[3];
			}
		else {
			# No change
			$user{'passmode'} = 4;
			}
		$user{'uid'} = $line[4] if ($line[4] ne '');
		$user{'gid'} = $line[5] if ($line[5] ne '');
		$user{'real'} = $line[6] if ($line[6] ne '');
		$user{'home'} = $line[7] if ($line[7] ne '');
		$user{'shell'} = $line[8] if ($line[8] ne '');
		if ($access{'peopt'}) {
			if ($pft == 5) {
				# Openserver password and short shadow
				$user{'min'}=$line[9] if ($line[9] ne '');
				$user{'max'}=$line[10] if ($line[10] ne '');
				$user{'change'}=int(time() / (60*60*24))
					if ($line[3] ne '');
				}
			elsif ($pft == 4) {
				# AIX password and security information
				$user{'min'}=$line[9] if ($line[9] ne '');
				$user{'max'}=$line[10] if ($line[10] ne '');
				$user{'expire'}=$line[11] if ($line[11] ne '');
				if ($line[12] ne '') {
					delete($user{'admin'});
					delete($user{'admchg'});
					delete($user{'nocheck'});
					map { $user{$_}++ }
					    split(/\s+/, $line[12]);
					}
				$user{'change'}=time() if ($line[3] ne '');
				}
			elsif ($pft == 2) {
				# SYSV-style passwd and shadow information
				$user{'min'}=$line[9] if ($line[9] ne '');
				$user{'max'}=$line[10] if ($line[10] ne '');
				$user{'warn'}=$line[11] if ($line[11] ne '');
				$user{'inactive'}=$line[12]
					if ($line[12] ne '');
				$user{'expire'}=$line[13] if ($line[13] ne '');
				$user{'change'}=int(time() / (60*60*24))
					if ($line[3] ne '');
				}
			elsif ($pft == 1 || $pft == 6) {
				# BSD master.passwd information
				$user{'class'}=$line[9] if ($line[9] ne '');
				$user{'change'}=$line[10] if ($line[10] ne '');
				$user{'expire'}=$line[11] if ($line[11] ne '');
				}
			}

		# Check access control restrictions
		local $ch = &check_user(\%user, \%olduser);
		if ($ch) {
			print &text('batch_emaccess', $lnum, $ch),"\n";
			next;
			}

		# Run the before command
		$ENV{'USERADMIN_USER'} = $user{'user'};
		$ENV{'USERADMIN_UID'} = $user{'uid'};
		$ENV{'USERADMIN_REAL'} = $user{'real'};
		$ENV{'USERADMIN_SHELL'} = $user{'shell'};
		$ENV{'USERADMIN_HOME'} = $user{'home'};
		$ENV{'USERADMIN_GID'} = $user{'gid'};
		$ENV{'USERADMIN_PASS'} = $user{'plainpass'};
		$ENV{'USERADMIN_SECONDARY'} = join(",", &secondary_groups(
							 $user{'user'}));
		$ENV{'USERADMIN_ACTION'} = 'MODIFY_USER';
		$merr = &making_changes();
		&error(&text('usave_emaking', "<tt>$merr</tt>"))
			if (defined($merr));

		# Move home directory if needed
		if ($olduser{'home'} ne $user{'home'} && $in{'movehome'} &&
		    $user{'home'} ne '/' && $olduser{'home'} ne '/') {
			if (-d $olduser{'home'} && !-e $user{'home'}) {
				local $out = &backquote_logged(
					"mv \"$olduser{'home'}\" ".
					"\"$user{'home'}\" 2>&1");
				if ($?) { &error(&text('batch_emove',
						 $lnum, $out)); }
				}
			}

		# Change UIDs and GIDs?
		if ($olduser{'gid'} != $user{'gid'} && $in{'chgid'}) {
			if ($in{'chgid'} == 1) {
				&recursive_change($user{'home'},$olduser{'uid'},
					  $olduser{'gid'}, -1, $user{'gid'});
				}
			else {
				&recursive_change("/", $olduser{'uid'},
					  $olduser{'gid'}, -1, $user{'gid'});
				}
			}
		if ($olduser{'uid'} != $user{'uid'} && $in{'chuid'}) {
			if ($in{'chuid'} == 1) {
				&recursive_change($user{'home'},$olduser{'uid'},
						  -1, $user{'uid'}, -1);
				}
			else {
				&recursive_change("/", $olduser{'uid'},
						  -1, $user{'uid'}, -1);
				}
			}

		# Actually modify the user
		&modify_user(\%olduser, \%user);
		&made_changes();
		&other_modules("useradmin_modify_user", \%user, \%olduser)
			if ($in{'others'});

		print "<b>",&text('batch_modified',$olduser{'user'}),"</b>\n";
		$modified++;
		}
	else {
		print &text('batch_eaction', $lnum, $line[0]),"\n";
		next;
		}
	}
print "</pre>\n";
&unlock_user_files();
&webmin_log("batch", undef, $in{'local'} ? $in{'local'} : undef,
	    { 'created' => $created, 'modified' => $modified,
	      'deleted' => $deleted, 'lnum' => $lnum } );

print "<hr>\n";
&footer("", $text{'index_return'});

# check_user(\%user, [\%olduser])
# Check access control restrictions for a user
sub check_user
{
# check if uid is within range
if ($access{'lowuid'} && $_[0]->{'uid'} < $access{'lowuid'}) {
	return &text('usave_elowuid', $access{'lowuid'});
	}
if ($access{'hiuid'} && $_[0]->{'uid'} > $access{'hiuid'}) {
	return &text('usave_ehiuid', $access{'hiuid'});
	}
if ($_[1] && !$access{'uuid'} && $_[1]->{'uid'} != $_[0]->{'uid'}) {
	return $text{'usave_euuid'};
	}

# make sure home dir is under the allowed root
if (!$access{'autohome'}) {
	$al = length($access{'home'});
	if (length($_[0]->{'home'}) < $al ||
	    substr($_[0]->{'home'}, 0, $al) ne $access{'home'}) {
		return &text('usave_ehomepath', $_[0]->{'home'});
		}
	}

# check for invalid shell
if ($access{'shells'} ne '*' &&
    &indexof($_[0]->{'shell'}, split(/\s+/, $access{'shells'})) < 0) {
	return &text('usave_eshell', $_[0]->{'shell'});
	}

# check for invalid primary group (unless one is dynamically assigned)
if ($access{'ugroups'} ne '*' && $user{'gid'} ne '') {
	local $ng = &my_getgrgid($_[0]->{'gid'});
	local $ni = (&indexof($ng, split(/\s+/, $access{'ugroups'})) >= 0);
	if ($_[1]) {
		if ($_[1]->{'gid'} != $_[0]->{'gid'}) {
			local $og = &my_getgrgid($_[1]->{'gid'});
			local $oi = (&indexof($og, split(/\s+/,
					      $access{'ugroups'})) >= 0);
			if (!$ni) { return &text('usave_eprimary', $ng); }
			if (!$oi) { return &text('usave_eprimaryr', $og); }
			}
		}
	else {
		return &text('usave_eprimary', $ng) if (!$ni);
		}
	}
return undef;
}

sub secondary_groups
{
local @secs;
foreach $g (@glist) {
	@mems = split(/,/, $g->{'members'});
	if (&indexof($_[0], @mems) >= 0) {
		push(@secs, $g->{'gid'});
		}
	}
return @secs;
}

  070701000762bd000081e40000000000000002000000013d1fe2c100000bd2000000200000000000000000000000000000001f00000003reloc/useradmin/batch_form.cgi    #!/usr/local/bin/perl
# batch_form.cgi
# Display a form for doing batch creation, updates or deletion from a text file

require './user-lib.pl';
%access = &get_module_acl();
$access{'batch'} || &error($text{'batch_ecannot'});
&header($text{'batch_title'}, "");
print "<hr>\n";

print "<br>$text{'batch_desc'}\n";
$pft = &passfiles_type();
print "<p><tt>",$text{'batch_desc'.$pft},"</tt><p>\n";
print "$text{'batch_descafter'}<br>\n";
print "$text{'batch_descafter2'}\n";

print "<form action=batch_exec.cgi method=post enctype=multipart/form-data>\n";
print "<table>\n";
print "<tr> <td><b>$text{'batch_file'}</b></td>\n";
print "<td><input type=file name=file></td> </tr>\n";

print "<tr> <td><b>$text{'batch_local'}</b></td>\n";
print "<td><input name=local size=30> ",&file_chooser_button("local"),
      "</td> </tr>\n";

if ($access{'cothers'} || $access{'mothers'}) {
	print "<tr> <td><b>$text{'batch_others'}</b></td>\n";
	print "<td><input name=others type=radio value=1 checked> $text{'yes'}\n";
	print "<input name=others type=radio value=0> $text{'no'}</td> </tr>\n";
	}

if ($access{'makehome'}) {
	print "<tr> <td><b>$text{'batch_makehome'}</b></td>\n";
	print "<td><input name=makehome type=radio value=1 checked> $text{'yes'}\n";
	print "<input name=makehome type=radio value=0> $text{'no'}</td> </tr>\n";
	}

if ($access{'copy'} && $config{'user_files'} =~ /\S/) {
	print "<tr> <td><b>$text{'batch_copy'}</b></td>\n";
	print "<td><input name=copy type=radio value=1 checked> $text{'yes'}\n";
	print "<input name=copy type=radio value=0> $text{'no'}</td> </tr>\n";
	}

if ($access{'movehome'}) {
	print "<tr> <td><b>$text{'batch_movehome'}</b></td>\n";
	print "<td><input name=movehome type=radio value=1 checked> $text{'yes'}\n";
	print "<input name=movehome type=radio value=0> $text{'no'}</td> </tr>\n";
	}

if ($access{'chuid'}) {
	print "<tr> <td><b>$text{'batch_chuid'}</b></td>\n";
	print "<td><input type=radio name=chuid value=0> $text{'no'}\n";
	print "<input type=radio name=chuid value=1 checked> $text{'home'}\n";
	print "<input type=radio name=chuid value=2> ",
	      "$text{'uedit_allfiles'}</td></tr>\n";
	}

if ($access{'chgid'}) {
	print "<tr> <td><b>$text{'batch_chgid'}</b></td>\n";
	print "<td><input type=radio name=chgid value=0> $text{'no'}\n";
	print "<input type=radio name=chgid value=1 checked> $text{'home'}\n";
	print "<input type=radio name=chgid value=2> ",
	      "$text{'uedit_allfiles'}</td></tr>\n";
	}

print "<tr> <td><b>$text{'batch_delhome'}</b></td>\n";
print "<td><input name=delhome type=radio value=1 checked> $text{'yes'}\n";
print "<input name=delhome type=radio value=0> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'batch_crypt'}</b></td>\n";
print "<td><input name=crypt type=radio value=1> $text{'yes'}\n";
print "<input name=crypt type=radio value=0 checked> $text{'no'}</td> </tr>\n";

print "<tr> <td><input type=submit value=\"$text{'batch_upload'}\"></td> </tr>\n";
print "</table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000762be000081a40000000000000002000000013d1fe2bf000013a9000000200000000000000000000000000000002400000003reloc/useradmin/cobalt-linux-lib.pl   # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762bf000081a40000000000000002000000013d1fe2c1000001eb000000200000000000000000000000000000001b00000003reloc/useradmin/config-aix    homedir_perms=0755
display_max=400
files_remove=local
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
shadow_file=/etc/security/passwd
aix_user_file=/etc/security/user
group_file=/etc/group
gshadow_file=/etc/security/group
base_uid=200
base_gid=200
lock_string=*LK*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
from_files=0
alias_check=0
home_style=0
random_password=0
default_group=staff
default_shell=/usr/bin/ksh
extra_real=0
max_length=8
 070701000762c0000081a40000000000000002000000013d1fe2c100000197000000200000000000000000000000000000002400000003reloc/useradmin/config-cobalt-linux   homedir_perms=0755
display_max=400
user_files=/etc/skel/user/en_US /etc/skel/user/common
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=110
base_gid=110
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
 070701000762c1000081a40000000000000002000000013d1fe2bf0000016a000000200000000000000000000000000000002300000003reloc/useradmin/config-corel-linux    homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=1000
base_gid=1000
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762c2000081a40000000000000002000000013d1fe2c00000016a000000200000000000000000000000000000002400000003reloc/useradmin/config-debian-linux   homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=1000
base_gid=1000
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762c3000081a40000000000000002000000013d1fe2bf00000199000000200000000000000000000000000000001f00000003reloc/useradmin/config-freebsd    homedir_perms=0755
display_max=400
files_remove=dot
user_files=/usr/share/skel
passwd_file=
master_file=/etc/master.passwd
post_command=/usr/sbin/pwd_mkdb -p /etc/master.passwd
shadow_file=
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
   070701000762c4000081a40000000000000002000000013d1fe2c100000176000000200000000000000000000000000000002500000003reloc/useradmin/config-generic-linux  homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762c5000081a40000000000000002000000013d1fe2c10000014e000000200000000000000000000000000000002400000003reloc/useradmin/config-gentoo-linux   homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
group_file=/etc/group
shadow_file=/etc/shadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762c6000081a40000000000000002000000013d1fe2bf00000164000000200000000000000000000000000000001c00000003reloc/useradmin/config-hpux   homedir_perms=0755
display_max=400
files_remove=local
passwd_file=/etc/passwd
user_files=/etc/skel
post_command=
shadow_file=
base_uid=100
group_file=/etc/group
base_gid=100
lock_string=*
empty_mode=1
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=1
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762c7000081a40000000000000002000000013d1fe2c100000203000000200000000000000000000000000000001c00000003reloc/useradmin/config-irix   files_remove=default
post_command=
shadow_file=/etc/shadow
pre_command=
master_file=
gshadow_file=
sort_mode=0
group_file=/etc/group
base_gid=1000
homedir_perms=0755
default_group=
passwd_file=/etc/passwd
user_files=/var/sysadm/config/default.cshrc /var/sysadm/config/default.login /var/sysadm/config/default.profile
empty_mode=1
new_user_group=0
display_mode=1
display_max=400
skip_md5=0
base_uid=1000
last_count=
passwd_stars=0
lock_string=*
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
 070701000762c8000081a40000000000000002000000013d1fe2c100000155000000200000000000000000000000000000001d00000003reloc/useradmin/config-macos  homedir_perms=0755
display_max=400
files_remove=dot
user_files=/usr/share/skel
passwd_file=
master_file=
post_command=
shadow_file=
group_file=
base_uid=1000
base_gid=1000
lock_string=*
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
   070701000762c9000081a40000000000000002000000013d1fe2c10000017b000000200000000000000000000000000000002600000003reloc/useradmin/config-mandrake-linux homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=1
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
random_password=0
extra_real=0
default_min=0
default_max=99999
 070701000762ca000081a40000000000000002000000013d1fe2c100000176000000200000000000000000000000000000002100000003reloc/useradmin/config-msc-linux  homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=1
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762cb000081a40000000000000002000000013d1fe2c100000182000000200000000000000000000000000000001e00000003reloc/useradmin/config-netbsd homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=
master_file=/etc/master.passwd
post_command=/usr/sbin/pwd_mkdb -p /etc/master.passwd
shadow_file=
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762cc000081a40000000000000002000000013d1fe2bf00000180000000200000000000000000000000000000002200000003reloc/useradmin/config-open-linux homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
last_command=last
last_format=linux
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
sort_mode=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762cd000081a40000000000000002000000013d1fe2bf0000018f000000200000000000000000000000000000001f00000003reloc/useradmin/config-openbsd    homedir_perms=0755
display_max=400
files_remove=dot
user_files=/usr/share/skel
passwd_file=
master_file=/etc/master.passwd
post_command=pwd_mkdb -p /etc/master.passwd
shadow_file=
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
 070701000762ce000081a40000000000000002000000013d1fe2c10000026a000000200000000000000000000000000000002200000003reloc/useradmin/config-openserver homedir_perms=0755
display_max=400
files_remove=local
user_files=/usr/lib/mkuser/$shell
passwd_file=/etc/passwd
post_command=
shadow_file=/etc/shadow
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*LK*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
home_base=/usr
copy_symlinks=1
files_remap_profile=.profile
files_remap_login=.login
files_remap_cshrc=.cshrc
files_remap_bashrc=.bashrc
files_remap_kshrc=.kshrc
files_remap_appllist2=.appllist2
files_remap_desked_pref=.desked_pref

  070701000762cf000081a40000000000000002000000013d1fe2c100000164000000200000000000000000000000000000001c00000003reloc/useradmin/config-osf1   homedir_perms=0755
display_max=400
files_remove=local
passwd_file=/etc/passwd
user_files=/etc/skel
post_command=
shadow_file=
base_uid=100
group_file=/etc/group
base_gid=100
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762d0000081a40000000000000002000000013d1fe2c100000176000000200000000000000000000000000000002400000003reloc/useradmin/config-redhat-linux   homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=1
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762d1000081a40000000000000002000000013d1fe2c100000168000000200000000000000000000000000000002700000003reloc/useradmin/config-slackware-linux    homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762d2000081a40000000000000002000000013d1fe2bf00000174000000200000000000000000000000000000001f00000003reloc/useradmin/config-solaris    homedir_perms=0755
display_max=400
files_remove=local
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
shadow_file=/etc/shadow
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*LK*
empty_mode=1
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762d3000081a40000000000000002000000013d1fe2bf00000176000000200000000000000000000000000000002200000003reloc/useradmin/config-suse-linux homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762d4000081a40000000000000002000000013d1fe2bf00000176000000200000000000000000000000000000002300000003reloc/useradmin/config-turbo-linux    homedir_perms=0755
display_max=400
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
group_file=/etc/group
shadow_file=/etc/shadow
gshadow_file=/etc/gshadow
base_uid=500
base_gid=500
lock_string=*
empty_mode=0
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
  070701000762d5000081a40000000000000002000000013d1fe2c100000174000000200000000000000000000000000000002000000003reloc/useradmin/config-unixware   homedir_perms=0755
display_max=400
files_remove=local
user_files=/etc/skel
passwd_file=/etc/passwd
post_command=
shadow_file=/etc/shadow
group_file=/etc/group
base_uid=1000
base_gid=1000
lock_string=*LK*
empty_mode=1
sort_mode=0
new_user_group=0
skip_md5=0
display_mode=1
passwd_stars=0
delete_only=0
from_files=0
alias_check=0
home_style=0
random_password=0
extra_real=0
070701000762d6000081a40000000000000002000000013d1fe2c1000007bc000000200000000000000000000000000000001c00000003reloc/useradmin/config.info   line0=User and group files,11
passwd_file=Password file,3,Generated
group_file=Group file,0
shadow_file=Shadow password file,3
master_file=BSD master password file,3
gshadow_file=Shadow group file,3
pre_command=Command to run before making changes,0
post_command=Command to run after making changes,0

line1=Home directory options,11
homedir_perms=Permissions on new home directories,0
user_files=Copy files into new home directories from,9,40,3
home_base=Automatic home directory base,3,Not set
home_style=Automatic home directory style,4,0-home/username,1-home/u/username,2-home/u/us/username,3-home/u/s/username

line2=New user options,11
base_uid=Lowest UID for new users,0,5
base_gid=Lowest GID for new groups,0,5
new_user_group=Create new group for new users,1,1-Yes,0-No
skip_md5=Don't use MD5 passwords if missing perl MD5 module,1,1-Yes,0-No
alias_check=Check for sendmail alias clashes,1,1-Yes,0-No
delete_only=Only delete files owned by user?,1,1-Yes,0-No
max_length=Maximum user and group name length,3,Unlimited

line3=New user defaults,11
default_group=Default group for new users,6,Default
default_shell=Default shell for new users,3,First in list
default_min=Default minimum days for new users,3,None
default_max=Default maximum days for new users,3,None
default_warn=Default warning days for new users,3,None
default_inactive=Default inactive days for new users,3,None

line4=Display options,11
display_max=Maximum number of users to display,0
sort_mode=Sort users and groups by,4,0-Order in file,1-Username,2-Real name,3-Surname,4-Shell,5-UID or GID,6-Home directory
last_count=Number of previous logins to display,3,Unlimited
display_mode=Display users and groups by,1,2-Primary group categorised,1-Full details,0-Name only
passwd_stars=Conceal plain-text password?,1,1-Yes,0-No
from_files=Get user and group info from,1,1-Files,0-System calls
random_password=Generate password for new users?,1,1-Yes,0-No
extra_real=Show office and phone details?,1,1-Yes,0-No
070701000762d7000081a40000000000000002000000013d1fe2c1000008a3000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.ca    line0=Fitxers d'usuaris i grups,11
passwd_file=Fitxer de contrasenyes,3,Generat
group_file=Fitxer de grup,0
shadow_file=Fitxer de contrasenyes ocultes,3
master_file=Fitxer mestre de contrasenyes BSD,3
gshadow_file=Fitxer de grups ocults,3
pre_command=Ordre a executar abans de fer canvis,0
post_command=Ordre a executar després de fer canvis,0

line1=Opcions del directori arrel,11
homedir_perms=Permisos dels nous directoris arrel,0
user_files=Copia els fitxers als nous directoris arrel a partir de,9,40,3
home_base=Base automàtica del directori arrel,3,No establerta
home_style=Estil automàtic del directori arrel,4,0-home/usuari,1-home/u/usuari,2-home/u/us/usuari,3-home/u/s/usuari
 
line2=Opcions d'usuari nou,11
base_uid=UID més baix per a nous usuaris,0,5
base_gid=GID més baix per a nous grups,0,5
new_user_group=Crea un grup nou per als usuaris nous,1,1-Sí,0-No
skip_md5=No facis servir contrasenyes MD5 si no hi ha el mòdul MD5 de perl,1,1-Sí,0-No
alias_check=Comprova duplicats amb els àlies de sendmail,1,1-Sí,0-No
delete_only=Esborra només els fitxers propietat de l'usuari,1,1-Sí,0-No

line3=Valors per defecte d'usuari nou,11
default_group=Grup per defecte dels nous usuaris,6,Omissió
default_shell=Shell per defecte dels nous usuaris,3,La primera de la llista
default_min=Dies mínims per defecte dels usuaris nous,3,Cap
default_max=Dies màxims per defecte dels usuaris nous,3,Cap
default_warn=Dies d'avís per defecte dels usuaris nous,3,Cap
default_inactive=Dies d'inactivitat per defecte dels usuaris nous,3,Cap

line4=Opcions de mostra,11
display_max=Màxim nombre d'usuaris a mostrar,0
sort_mode=Ordena els usuaris i grups per,1,0-L'ordre del fitxer,1-Nom d'usuari,2-Nom real,3-Nom de fonts,4-Shell,5-UID o GID,6-Directori arrel
last_count=Nombre d'entrades prèvies a mostrar,3,Il·limitat
display_mode=Mostra els usuaris i grups,1,2-Categoritzats per grup primari,1-Amb tots els detalls,0-Només amb el nom
passwd_stars=Oculta les contrasenyes en text planer,1,1-Sí,0-No
from_files=Pren la informació de l'Usuari i el Grup de,1,1-Fitxers,0-Crides de sistema
random_password=Genera contrasenya per als nous usuaris,1,1-Sí,0-No
extra_real=Mostra els detalls del despatx i el telèfon,1,1-Sí,0-No

 070701000762d8000081a40000000000000002000000013d1fe2c00000046f000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.de    passwd_file=Passwort Datei,3,Generiert
group_file=Gruppen Datei,0
shadow_file=Shadow Passwort Datei,3
master_file=BSD master Passwort Datei,3
gshadow_file=Shadow Gruppen Datei,3
pre_command=Auszuf&uuml;hrendes Kommand vor &Auml;nderungen,0
post_command=Auszuf&uuml;hrendes Kommand nach &Auml;nderungen,0
homedir_perms=Rechte eines neues Heimatverzeichnisses,0
base_uid=Niedrigste UID f&uuml;r neue Benutzer,0,5
base_gid=Niedrigste GID f&uuml;r neue Gruppen,0,5
default_group=Standard Gruppe f&uuml;r neue Benutzer,6,Standard
display_max=Maximale Anzahl angezeigter Benutzer,0
sort_mode=Soertiere Benutzer und Gruppen nach,1,0-Reihenfolge in Datei,1-Benutzername,2-Wirklicher Name,3-Nachname,4-Shell
last_count=Anzahl anzuzeigender vorheriger Logins,3,Unendlich
new_user_group=Erstelle neue Gruppe f&uuml;r neue Benutzer,1,1-Ja,0-Nein
skip_md5=Benutze keine MD5 Passw&ouml;rter wenn Perl MD5 Modul fehlt,1,1-Ja,0-Nein
user_files=Kopiere Dateien in neues Heimatverzeichnis aus,9,40,3
display_mode=Zeige Benutz und Gruppen an,1,2-Primary group categorised,1-Volle Detail,0-Nur Namen
passwd_stars=Verberge Klartext Passwort?,1,1-Ja,0-Nein
 070701000762d9000081a40000000000000002000000013d1fe2bf00000660000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.es    passwd_file=Archivo de claves de acceso,3,Generado
group_file=Archivo de grupo,0
shadow_file=Archivo de claves de acceso ocultas,3
master_file=Archivo maestro de claves de acceso BSD,3
gshadow_file=Archivo de claves ocultas de grupo,3
pre_command=Comando a ejecutar antes de realizar los cambios,0
post_command=Comando a ejectar tras realizar los cambios,0
homedir_perms=Permisos de los nuevos directorios de inicio,0
base_uid=UID menor para nuevos usuarios,0
base_gid=GID menor para nuevos grupos,0
default_group=Grupo por defecto para nuevos usuarios,6,Por defecto
display_max=Máximo número de usuarios a mostrar,0
sort_mode=Clasificar Usuarios y Grupos por,1,0-Orden en archivo,1-Nombre de usuario,2-Nombre real,3-Apellido,4-Shell
last_count=Número de logins previos a mostrar,3,Ilimitados
new_user_group=Crear nuevo grupo para nuevos usuarios,1,1-Sí,0-No
skip_md5=No usar claves de acceso MD5 si no hay módulo MD5 de perl,1,1-Sí,0-No
user_files=Copiar archivos a nuevos directorios de inicio desde,9,40,3
display_mode=Mostrar usuarios y grupo con,1,2-Primary group categorised,1-Todos los detalles,0-Sólo el nombre
passwd_stars=¿Ocultar clave de acceso de sólo-texto?,1,1-Sí,0-No
delete_only=¿Sólo borrar archivos propiedad del usuario?,1,1-Sí,0-No
from_files=Obtener grupos primarios de,1,1-Archivos,0-Llamadas al sistema
alias_check=Revisar por choques de alias de sendmail,1,1-Sí,0-No
home_style=Estilo automático de directorio inicial,4,0-home/nombre-de-usuario,1-home/u/nombre-de-usuario,2-home/u/us/nombre-de-usuario,3-home/u/s/nombre-de-usuario
random_password=¿Genero claves de acceso para nuevos usuarios?,1,1-Sí,0-No

070701000762da000081a40000000000000002000000013d1fe2c100000485000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.fr    passwd_file=Fichier de mot de passe,3,Genéré
group_file=Fichier de groupe,0
shadow_file=Fichier de mot de passe 'shadow',3
master_file=Fichier de mot de passe principal BSD,3
gshadow_file=Fichier de groupe 'shadow',3
pre_command=Commande à exécuter avant de faire un changement,0
post_command=Commande à exécuter après avoir fait un changement,0
homedir_perms=Permissions d'un nouveau répertoire personnel,0
base_uid=Numéro d'usager minimum d'un nouvel usagers,0
base_gid=Numéro de groupe minimum d'un nouveau groupe,0
default_group=Groupe par défaut d'un nouvel usager,6,Défaut
display_max=Nombre maximum d'usager à afficher à la fois,0
last_count=Nombre d'ouverture de session à afficher à la fois,3,Illimité
new_user_group=Créer un nouveau groupe pour chaque nouveau usager,1,1-Oui,0-Non
skip_md5=Ne pas utiliser les mots de passe MD5 si le module perl MD5 est manquant,1,1-Oui,0-Non
user_files=Copier des fichiers dans un nouveau répertoire personnel à partir de,9,40,3
display_mode=Afficher les usagers et les groupes par,1,2-Primary group categorised,1-Détails completss,0-Nom seulement
passwd_stars=Dissimuler les mots de passe texte?,1,1-Oui,0-Non

   070701000762db000081a40000000000000002000000013d1fe2c100000526000000200000000000000000000000000000002600000003reloc/useradmin/config.info.ja_JP.euc passwd_file=¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë,3,À¸À®
group_file=¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë,0
shadow_file=¥·¥ã¥É¥¦¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë,3
master_file=BSD¥Þ¥¹¥¿¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë,3
gshadow_file=¥·¥ã¥É¥¦¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë,3
pre_command=ÊÑ¹¹¤òÅ¬ÍÑ¤¹¤ëÁ°¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É,0
post_command=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤¿¸å¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É,0
homedir_perms=¿·¤·¤¤¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó,0
base_uid=¿·¤·¤¤¥æ¡¼¥¶¤Ë³ä¤êÅö¤Æ¤ëºÇ¾¯UID,0,5
base_gid=¿·¤·¤¤¥°¥ë¡¼¥×¤Ë³ä¤êÅö¤Æ¤ëºÇ¾¯GID,0,5
default_group=¿·¤·¤¤¥æ¡¼¥¶¤Î¥Ç¥Õ¥©¥ë¥È¥°¥ë¡¼¥×,6,¥Ç¥Õ¥©¥ë¥È
display_max=É½¼¨²ÄÇ½¤ÊºÇÂç¥æ¡¼¥¶¿ô,0
sort_mode=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤ÎÊÂ¤ÙÂØ¤¨½ç,1,0-¥Õ¥¡¥¤¥ëÃæ¤Î½ç½øÄÌ¤ê,1-¥æ¡¼¥¶Ì¾,2-¼ÂÌ¾,3-Ì¾»ú,4-¥·¥§¥ë
last_count=¥í¥°¥¤¥óµ­Ï¿¤ÎÉ½¼¨¸Ä¿ô,3,ÌµÀ©¸Â
new_user_group=¿·¤·¤¤¥æ¡¼¥¶ÍÑ¤Ë¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤·¤Þ¤¹¤«?,1,1-¤Ï¤¤,0-¤¤¤¤¤¨
skip_md5=Perl¤ÎMD£µ¥â¥¸¥å¡¼¥ë¤¬¤Ê¤¤¾ì¹ç¤ÏMD5¥Ñ¥¹¥ï¡¼¥É¤ò»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¤«?,1,1-¤Ï¤¤,0-¤¤¤¤¤¨
user_files=¿·¤·¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤¹¤ë¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¾ì½ê,9,40,3
display_mode=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤ÎÉ½¼¨ÊýË¡,1,2-¼ç¥°¥ë¡¼¥×¤ÇÊ¬Îà,1-¾ÜºÙ¤â¤¹¤Ù¤ÆÉ½¼¨,0-Ì¾Á°¤Î¤ß
passwd_stars=Ê¿Ê¸¥Æ¥­¥¹¥È¤Î¥Ñ¥¹¥ï¡¼¥É¤ò±£¤·¤Þ¤¹¤«?,1,1-¤Ï¤¤,0-¤¤¤¤¤¨
delete_only=¥æ¡¼¥¶¤¬½êÍ­¤¹¤ë¥Õ¥¡¥¤¥ë¤À¤±¤òºï½ü¤·¤Þ¤¹¤«?,1,1-¤Ï¤¤,0-¤¤¤¤¤¨
from_files=¼ç¥°¥ë¡¼¥×¤Î¼èÆÀÊýË¡,1,1-¥Õ¥¡¥¤¥ë¤«¤é,0-¥·¥¹¥Æ¥à¥³¡¼¥ë
alias_check=sendmail¤Î¥¨¥¤¥ê¥¢¥¹¤È½ÅÊ£¤¹¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤¹¤«?,1,1-¤Ï¤¤,0-¤¤¤¤¤¨

  070701000762dc000081a40000000000000002000000013d1fe2c1000006a8000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.nl    passwd_file=Wachtwoord bestand,3,Gegenereerd
group_file=Groepen bestand,0
shadow_file=Schaduw wachtwoord bestand,3
master_file=BSD hoofd wachtwoord bestand,3
gshadow_file=Schaduw groepen bestand,3
pre_command=Vóór het opslaan uitvoeren:,0
post_command=Ná het opslaan uitvoeren:,0
homedir_perms=Toegangsrechten nieuwe thuismap,0
base_uid=Laagste UID gebruikers,0,5
base_gid=Laagste GID groepen,0,5
default_group=Standaard groep nieuwe gebruikers,6,Standaard
default_shell=Standaard shell nieuwe gebruikers,3,Eerste van de lijst
display_max=Maximum aantal gebruiker tonen,0
sort_mode=Sorteer gebruikers en groepen per,4,0-Volgorde in bestand,1-Gebruikersnaam,2-Volledige naam,3-Achternaam,4-Shell,5-UID resp. GID,6-Thuismap
last_count=Aantal aanmeldingen tonen,3,Onbeperkt
new_user_group=Maak nieuwe groep voor nieuwe gebruikers,1,1-Ja,0-Nee
skip_md5=Geen MD5 wachtwoord als perl MD5 module ontbreekt,1,1-Ja,0-Nee
user_files=Kopieër bestanden naar nieuwe thuismap vanaf,9,40,3
display_mode=Toon gebruikers en groepen per,4,2-Primaire groep,1-Volledige details,0-Alleen op naam
passwd_stars=Verbergen wachtwoord in klare tekst?,1,1-Ja,0-Nee
delete_only=Alleen bestanden verwijderen die van de gebruiker zijn?,1,1-Ja,0-Nee
from_files=Verkrijg primaire groep van,1,1-Bestanden,0-System calls
alias_check=Controleer op conflict met sendmail alias,1,1-Ja,0-Nee
home_base=Basisstructuur voor automatische thuismap,3,Niet ingesteld
home_style=Stijl van automatische thuismap,4,0-home/gebruikersnaam,1-home/u/gebruikersnaam,2-home/u/us/gebruikersnaam,3-home/u/s/gebruikersnaam
random_password=Genereer wachtwoord voor nieuwe gebruikers?,1,1-Ja,0-Nee
extra_real=Kantoor en telefoon details laten zien?,1,1-Ja,0-Nee
070701000762dd000081a40000000000000002000000013d1fe2c10000073c000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.pl    passwd_file=Plik hase³,3,Wygenerowany
group_file=Plik grup,0
shadow_file=Plik hase³ "shadow",3
master_file=Nadrzêdny plik hase³ BSD,3
gshadow_file=Plik grup "shadow",3
pre_command=Polecenie uruchamiane przed dokonaniem zmian,0
post_command=Polecenie uruchamiane po dokonaniu zmian,0
homedir_perms=Prawa dostêpu do nowych katalogów domowych,0
base_uid=Najni¿szy UID dla nowych u¿ytkowników,0,5
base_gid=Najni¿szy GID dla nowych grup,0,5
default_group=Domy¶lna grupa dla nowych u¿ytkowników,6,Domy¶lne
default_shell=Domy¶lna pow³oka dla nowych u¿ytkowników,3,Pierwsza na li¶cie
display_max=Maksymalna liczba wy¶wietlanych u¿ytkowników,0
sort_mode=Wy¶wietlaj u¿ytkowników i&nbsp;grupy wg,1,0-Porz±dku w zbiorze,1-Nazwy u¿ytkownika,2-Rzeczywistej nazwy,3-Nazwiska,4-Pow³oki,5-Nru UID lub GID,6-Katalogu domowego
last_count=Wy¶wietlana liczba poprzednich logowañ,3,Nieograniczona
new_user_group=Tworzyæ now± grupê dla nowych u¿ytkowników,1,1-Tak,0-Nie
skip_md5=Nie uzywaj kodowania hase³ MD5, je¿eli modu³ perla MD5 nie jest zainstalowag,1,1-Tak,0-Nie
user_files=Kopiowaæ pliki do nowego katalogu domowego z,9,40,3
display_mode=Wy¶wietlanie u¿ytkowników i&nbsp;grup wg,1,2-Grupy podstawowej,1-Pe³nej informacji,0-Tylko nazwy
passwd_stars=Ukrywaæ tre¶æ has³a?,1,1-Tak,0-Nie
delete_only=Kasowaæ tylko pliki bêd±ce w³asno¶ci± u¿ytkownika?,1,1-Tak,0-Nie
from_files=Pobieraæ grupy podstawowe z,1,1-Plików,0-Odwo³añ do systemu
alias_check=Sprawdzaæ kolizje z&nbsp;aliasami Sendmaila,1,1-Tak,0-Nie
home_base=Lokalizacja automatycznie tworzonych katalogów domowych,3,Nie ustawona
home_style=Postaæ automatycznie tworzonych katalogów domowych,4,0-home/u¿ytkownik,1-home/u/u¿ytkownik,2-home/u/u¿/u¿ytkownik,3-home/u/¿/u¿ytkownik
random_password=Generowaæ has³a dla nowych u¿ytkowników?,1,1-Tak,0-Nie
extra_real=Pokazywaæ dane o pracy i&nbsp;telefonach?,1,1-Tak,0-Nie
070701000762de000081a40000000000000002000000013d1fe2c1000006b5000000200000000000000000000000000000002200000003reloc/useradmin/config.info.pt_BR passwd_file=Arquivo de senhas,3,Gerado
group_file=Arquivo de grupos,0
shadow_file=Arquivo shadow,3
master_file=Arquivo de senhas mestre do BSD,3
gshadow_file=Arquivo shadow de grupo,3
pre_command=Comando a rodar antes de aplicar mudanças,0
post_command=Comando a rodar depois de aplicar mudanças,0
homedir_perms=Permissões de novos diretórios iniciais,0
base_uid=Menor UID para novos usuários,0,5
base_gid=Menor GID para novos grupos,0,5
default_group=Grupo padrão para novos usuários,6,Padrão
default_shell=Shell padrão para novos usuários,3,Primeira da lista
display_max=Número máximo de usuários a mostrar,0
sort_mode=Ordenar usuários e grupos por,1,0-Ordem no arquivo,1-Nome,2-Nome real,3-Prenome,4-Shell,5-UID ou GID,6-Diretório Inicial
last_count=Número de logins prévios a mostrar,3,Ilimitado
new_user_group=Criar novo grupo para novos usuários,1,1-Sim,0-Não
skip_md5=Não use senhas MD5 se o módulo perl MD5 estiver faltando,1,1-Sim,0-Não
user_files=Copie arquivos para novos diretórios iniciais de,9,40,3
display_mode=Mostrar usuários e grupos por,1,2-Grupo primário categorizado,1-Detalhes completos,0-Somente nome
passwd_stars=Esconder senha textual?,1,1-Sim,0-Não
delete_only=Remover apenas arquivos pertencentes ao usuário?,1,1-Sim,0-Não
from_files=Obter grupos primários de,1,1-Arquivos,0-Chamadas de sistema
alias_check=Verificar conflitos com aliases do sendmail,1,1-Sim,0-Não
home_base=Base automática dos diretórios iniciais,3,Indefinida
home_style=Estilo automático dos diretórios iniciais,4,0-home/username,1-home/u/username,2-home/u/us/username,3-home/u/s/username
random_password=Gerar senha para novos usuários?,1,1-Sim,0-Não
extra_real=Mostrar detalhes de localização e telefone?,1,1-Sim,0-Não
   070701000762df000081a40000000000000002000000013d1fe2c100000402000000200000000000000000000000000000002200000003reloc/useradmin/config.info.ru_RU post_command=Êîìàíäà èñïîëíÿåìàÿ ïîñëå âíåñåíèÿ èçìåíåíèé,0
pre_command=Êîìàíäà èñïîëíÿåìàÿ ïåðåä âíåñåíèåì èçìåíåíèé,0
shadow_file=Òåíåâîé ôàéë ïàðîëåé,3
master_file=BSD ãëàâíûé ôàéë ïàðîëåé,3
group_file=Ôàéë ñ ãðóïïàìè,0
gshadow_file=Òåíåâîé ôàéë ãðóïï,3
base_gid=Áàçîâûé GID äëÿ íîâûõ ãðóïï,0
homedir_perms=Ïðàâà íà íîâûå äîìàøíèå êàòàëîãè,0
passwd_file=Ôàéë ñ ïàðîëÿìè,3,Ñãåíåðèðîâàí
default_group=Ãðóïïà ïî óìîë÷àíèþ äëÿ íîâûõ ïîëüçîâàòåëåé,6,Ïî óìîë÷àíèþ
user_files=Êîïèðîâàòü ôàéëû â íîâûå äîìàøíèå êàòàëîãè èç,9,40,3
new_user_group=Ñîçäàâàòü íîâóþ ãðóïïó äëÿ íîâîãî ïîëüçîâàòåëÿ,1,1-Äà,0-Íåò
display_mode=Ïîêàçûâàòü ïîëüçîâàòåëåé è ãðóïïû,1,2-Primary group categorised,1-Âî âñåõ äåòàëÿõ,0-Òîëüêî èìåíà
display_max=Ìàêñèìàëüíîå ÷èñëî ïîêàçûâàåìûõ ïîëüçîâàòåëåé,0
base_uid=Áàçîâûé UID äëÿ íîâûõ ïîëüçîâàòåëåé,0
last_count=Êîë-âî ïîêàçûâàåìûõ ïðåäûäóùèõ ðåãèñòðàöèé,3,Íå îãðàíè÷åíî
skip_md5=Íå èñïîëüçîâàòü MD5 ïàðîëè åñëè îòñóòñòâóåò MD5 ìîäóëü äëÿ perl,1,1-Äà,0-Íåò
passwd_stars=Ñêðûâàòü òåêñòîâûé ïàðîëü?,1,1-Äà,0-Íåò
  070701000762e1000081a40000000000000002000000013d1fe2c0000004a5000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.sv    passwd_file=Lösenordsfil,3,Genererad
group_file=Gruppfil,0
shadow_file=Skugglösenordsfil,3
master_file=BSD-huvudlösenordsfil,3
gshadow_file=Skuggruppfil,3
pre_command=Kommando som ska köras innan ändringar görs,0
post_command=Kommando som ska köras när ändringar har gjorts,0
homedir_perms=Rättigheter för nya hemkataloger,0
base_uid=Lägsta UID för nya användare,0
base_gid=Lägsta GID för nya grupper,0
default_group=Standardgrupp för nya användare,6,Standard
display_max=Maximalt antal användare som ska visas,0
sort_mode=Sortera användare och grupper efter namn,1,1-Ja,0-Nej
last_count=Antal tidigare inloggningar som ska visas,3,Obegränsat
new_user_group=Skapa ny grupp för nya användare,1,1-Ja,0-Nej
skip_md5=Använd inte MD5-lösenord om perl-MD5-modul fattas,1,1-Ja,0-Nej
user_files=Kopiera filer till nya hemkataloger från,0
display_mode=Lista med användare och grupper innehåller,1,2-Primary group categorised,1-Alla uppgifter,0-Endast namn
passwd_stars=Dölja lösenord i klartext?,1,1-Ja,0-Nej
delete_only=Endast ta bort filer som ägs av användaren?,1,1-Ja,0-Nej
from_files=Hämta primära grupper från,1,1-Fil,0-Systemanrop
alias_check=Kontrollera sendmail-alias-krockar,1,1-Ja,0-Nej
   070701000762e0000081a40000000000000002000000013d1fe2bf00000403000000200000000000000000000000000000002200000003reloc/useradmin/config.info.ru_SU passwd_file=æÁÊÌ Ó ÐÁÒÏÌÑÍÉ,3,óÇÅÎÅÒÉÒÏ×ÁÎ
group_file=æÁÊÌ Ó ÇÒÕÐÐÁÍÉ,0
shadow_file=ôÅÎÅ×ÏÊ ÆÁÊÌ ÐÁÒÏÌÅÊ,3
master_file=BSD ÇÌÁ×ÎÙÊ ÆÁÊÌ ÐÁÒÏÌÅÊ,3
gshadow_file=ôÅÎÅ×ÏÊ ÆÁÊÌ ÇÒÕÐÐ,3
pre_command=ëÏÍÁÎÄÁ ÉÓÐÏÌÎÑÅÍÁÑ ÐÅÒÅÄ ×ÎÅÓÅÎÉÅÍ ÉÚÍÅÎÅÎÉÊ,0
post_command=ëÏÍÁÎÄÁ ÉÓÐÏÌÎÑÅÍÁÑ ÐÏÓÌÅ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ,0
homedir_perms=ðÒÁ×Á ÎÁ ÎÏ×ÙÅ ÄÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ,0
base_uid=âÁÚÏ×ÙÊ UID ÄÌÑ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,0
base_gid=âÁÚÏ×ÙÊ GID ÄÌÑ ÎÏ×ÙÈ ÇÒÕÐÐ,0
default_group=çÒÕÐÐÁ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,6,ðÏ ÕÍÏÌÞÁÎÉÀ
display_max=íÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÐÏËÁÚÙ×ÁÅÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ,0
last_count=ëÏÌ-×Ï ÐÏËÁÚÙ×ÁÅÍÙÈ ÐÒÅÄÙÄÕÝÉÈ ÒÅÇÉÓÔÒÁÃÉÊ,3,îÅ ÏÇÒÁÎÉÞÅÎÏ
new_user_group=óÏÚÄÁ×ÁÔØ ÎÏ×ÕÀ ÇÒÕÐÐÕ ÄÌÑ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ,1,1-äÁ,0-îÅÔ
skip_md5=îÅ ÉÓÐÏÌØÚÏ×ÁÔØ MD5 ÐÁÒÏÌÉ ÅÓÌÉ ÏÔÓÕÔÓÔ×ÕÅÔ MD5 ÍÏÄÕÌØ ÄÌÑ perl,1,1-äÁ,0-îÅÔ
user_files=ëÏÐÉÒÏ×ÁÔØ ÆÁÊÌÙ × ÎÏ×ÙÅ ÄÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ ÉÚ,9,40,3
display_mode=ðÏËÁÚÙ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÇÒÕÐÐÙ,1,2-Primary group categorised,1-÷Ï ×ÓÅÈ ÄÅÔÁÌÑÈ,0-ôÏÌØËÏ ÉÍÅÎÁ
passwd_stars=óËÒÙ×ÁÔØ ÔÅËÓÔÏ×ÙÊ ÐÁÒÏÌØ?,1,1-äÁ,0-îÅÔ

 070701000762e2000081a40000000000000002000000013d1fe2c100000438000000200000000000000000000000000000001f00000003reloc/useradmin/config.info.tr    passwd_file=Þifre dosyasý,3,Oluþturuldu
group_file=Grup dosyasý,0
shadow_file=Shadow parola dosyasý,3
master_file=BSD ana parola dosyasý,3
gshadow_file=Shadow grup dosyasý,3
pre_command=Deðiþiklikleri uygulamadan önceki komut,0
post_command=Deðiþiklikleri uyguladýktan sonraki komut,0
homedir_perms=Yeni ev dizinleri izinleri,0
base_uid=Yeni kullanýcýlar için en düþük UID,0,5
base_gid=Yeni gruplar için en düþük GID,0,5
default_group=Yeni kullanýcýlar için öntanýmlý grup,6,Öntanýmlý
display_max=Görüntülenecek en çok kullanýcý sayýsý,0
sort_mode=Kullanýcý ve gruplarý sýralam düzeni,1,0-Dosyadaki sýrayla,1-Kullanýcý adý,2-Gerçek ismi,3-Soyadý,4-Kabuk
last_count=Görüntülecek daha önceki giriþler,3,Limitsiz
new_user_group=Yeni kullanýcýlar için yeni grup oluþturulsun mu?,1,1-Evet,0-Hayýr
skip_md5=Perl MD5 modülü bulunmazsa MD5 þifrelemesini kullanma,1,1-Evet,0-Hayýr
user_files=Yeni ev dizinlerine kopyalacak dosyalarýn yeri,9,40,3
display_mode=Kullanýcý ve gruplarý görüntüle þekli,1,1-Ayrýntýlý,0-Sadece isim
passwd_stars=Düz metin þifreleri saklansýn mý?,1,1-Evet,0-hayýr
070701000762e3000081a40000000000000002000000013d1fe2bf00000334000000200000000000000000000000000000002200000003reloc/useradmin/config.info.zh_CN passwd_file=¿ÚÁîÎÄ¼þ,3,ÒÑ¾­²úÉú
group_file=ÓÃ»§×éÎÄ¼þ,0
shadow_file=Ó°×Ó¿ÚÁîÎÄ¼þ,3
master_file=BSD Ö÷¿ÚÁîÎÄ¼þ,3
gshadow_file=Ó°×Ó×éÎÄ¼þ,3
pre_command=×÷¸Ä¶¯Ö®Ç°ÔËÐÐµÄÃüÁî,0
post_command=×÷¸Ä¶¯Ö®ºóÔËÐÐµÄÃüÁî,0
homedir_perms=ÐÂÓÃ»§¸ùÄ¿Â¼µÄÐí¿É,0
base_uid=ÐÂÓÃ»§µÄ×îµÍ UID  Öµ,0
base_gid=ÐÂÓÃ»§×éµÄ×îµÍ GID Öµ,0
default_group=ÐÂÓÃ»§È±Ê¡×é,6,È±Ê¡
display_max=×î´ó¿ÉÏÔÊ¾µÄÓÃ»§ÊýÄ¿,0
sort_mode=ÒÔÃû³ÆÅÅÐòÓÃ»§ºÍ×é,1,1-ÊÇ,0-·ñ
last_count=×î´ó¿ÉÏÔÊ¾ÒÔÇ°µÇÂ¼ÓÃ»§µÄÊýÄ¿,3,ÎÞÏÞ
new_user_group=ÎªÐÂÓÃ»§½¨Á¢ÐÂ×é,1,1-ÊÇ,0-·ñ
skip_md5=Èç¹ûÃ»ÓÐperl MD5Ä£¿é¾Í²»Ê¹ÓÃ MD5 ¿ÚÁî,1,1-ÊÇ,0-·ñ
user_files=¿½±´ÎÄ¼þµ½ÐÂÓÃ»§¸ùÄ¿Â¼µÄÔ´Ä¿Â¼,0
display_mode=ÏÔÊ¾ÓÃ»§ºÍ×éµÄÅÅÐòÐÎÊ½,1,2-Ö÷ÓÃ»§×é·ÖÀà,1-ÏêÏ¸,0-Ö»ÓÐÃû³Æ
passwd_stars=Òþ²ØÃ÷ÎÄÃÜÂë?,1,1-ÊÇ,0-·ñ
delete_only=½öÉ¾³ýÓÃ»§ËùÓÐµÄÎÄ¼þ?,1,1-ÊÇ,0-·ñ
from_files=µÃµ½Ö÷ÓÃ»§×éµÄÀ´Ô´,1,1-ÎÄ¼þ,0-ÏµÍ³µ÷ÓÃ

070701000762e4000081a40000000000000002000000013d1fe2bf0000030a000000200000000000000000000000000000002700000003reloc/useradmin/config.info.zh_TW.Big5    passwd_file=±K½XÀÉ®×,3,²£¥Íªº
group_file=¸s²ÕÀÉ®×,0
shadow_file=Shadow ±K½XÀÉ,3
master_file=BSD ¥D±±±K½XÀÉ,3
gshadow_file=Shadow ¸s²ÕÀÉ®×,3
pre_command=¦b²£¥ÍÅÜ§ó«e­n°õ¦æªº«ü¥O,0
post_command=¦b²£¥ÍÅÜ§ó«á­n°õ¦æ«ü¥O,0
homedir_perms=·s¨Ï¥ÎªÌ®a¥Ø¿ýªºÅv­­,0
base_uid=·s¨Ï¥ÎªÌªº³Ì¤p UID ­È,0
base_gid=·s¸s²Õªº³Ì¤p GID ­È,0
default_group=·s¨Ï¥ÎªÌªº¹w³]¸s²Õ,6,¹w³]ªº
display_max=Åã¥Üªº³Ì¤j¨Ï¥ÎªÌ¼Æ¥Ø,0
sort_mode=¨Ï¥ÎªÌ»P¸s²Õªº±Æ¦C¤è¦¡,1,0-ÀÉ®×¤ºªº¶¶§Ç,1-¨Ï¥ÎªÌ¦WºÙ,2-¯u¹ê©m¦W,3-©m¤ó
last_count=Åã¥Üªº³Ìªñµn¤J¼Æ¥Ø,3,µL­­¨î
new_user_group=¨Ï§_¦ì·s¨Ï¥ÎªÌ«Ø¥ß·s¸s²Õ?,1,1-¬O,0-§_
skip_md5=¦pªG¨S¦³ Perl MD5 ¼Ò²Õ®É¤£­n¨Ï¥Î MD5 ±K½X,1,1-¬O,0-§_
user_files=«þ¨©ÀÉ®×¨ì·sªº¥Ø¿ý¤¤, ±q,0
display_mode=¨Ï¥ÎªÌ»P¸s²ÕªºÅã¥Ü¤è¦¡,1,1-§¹¾ã¸Ô²Ó¸ê®Æ,0-¥u¦³¦WºÙ
passwd_stars=¬O§_ÁôÂÃ¯Â¤å¦r±K½X?,1,1-¬O,0-§_
  070701000762e5000081a40000000000000002000000013d1fe2bf000013a9000000200000000000000000000000000000002300000003reloc/useradmin/corel-linux-lib.pl    # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762e6000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002400000003reloc/useradmin/debian-linux-lib.pl   # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762e7000081a40000000000000002000000013d1fe2bf000000e6000000200000000000000000000000000000001b00000003reloc/useradmin/defaultacl    noconfig=0
uedit_mode=0
gedit_mode=0
lowuid=0
lowgid=0
ucreate=1
gcreate=1
ugroups=*
logins=*
shells=*
home=/
umultiple=1
uuid=1
gmultiple=1
ggid=1
peopt=1
batch=1

chuid=1
chgid=1
movehome=1
mothers=1
makehome=1
copy=1
cothers=1
  070701000762e8000081e40000000000000002000000013d1fe2bf00000721000000200000000000000000000000000000002100000003reloc/useradmin/delete_group.cgi  #!/usr/local/bin/perl
# delete_group.cgi
# Delete a group, after asking for confirmation

require './user-lib.pl';
&ReadParse();
@glist = &list_groups();
%group = %{$glist[$in{'num'}]};
$| = 1;
&error_setup($text{'gdel_err'});
%access = &get_module_acl();
&can_edit_group(\%access, \%group) || &error($text{'gdel_egroup'});

&header($text{'gdel_title'}, "");
print "<hr>\n";
if ($in{'confirmed'}) {
	# Check for repeat click
	if ($group{'group'} ne $in{'group'}) {
		print "<b>$text{'gdel_ealready'}</b>. <p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}

	# Go ahead and do it!
	&lock_user_files();
	print "$text{'gdel_group'}<br>\n";
	$ENV{'USERADMIN_GROUP'} = $group{'group'};
	$ENV{'USERADMIN_ACTION'} = 'DELETE_GROUP';
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	&delete_group(\%group);
	&made_changes();
	&unlock_user_files();
	&webmin_log("delete", "group", $group{'group'}, \%group);
	print "$text{'gdel_done'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# check if this is anyone's primary group
	foreach $u (&list_users()) {
		if ($u->{'gid'} == $group{'gid'}) {
			print "<b>",&text('gdel_eprimary', $u->{'user'}),
			      "</b> <p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}

	# Ask if the user is sure
	print "<form action=delete_group.cgi>\n";
	print "<input type=hidden name=num value=\"$in{'num'}\">\n";
	print "<input type=hidden name=group value=\"$group{'group'}\">\n";
	print "<input type=hidden name=confirmed value=1>\n";
	print "<center><h3>",&text('gdel_sure', $group{'group'}),"</h3>\n";
	print "<input type=submit value=\"$text{'gdel_del'}\">\n";
	print "</center><p>\n";
	print "</form>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

   070701000762e9000081e40000000000000002000000013d1fe2c10000113b000000200000000000000000000000000000002000000003reloc/useradmin/delete_user.cgi   #!/usr/local/bin/perl
# delete_user.cgi
# Delete a user, after asking for confirmation

require './user-lib.pl';
&ReadParse();
&lock_user_files();
@ulist = &list_users();
%user = %{$ulist[$in{'num'}]};
&error_setup($text{'udel_err'});
%access = &get_module_acl();
&can_edit_user(\%access, \%user) || &error($text{'udel_euser'});

$| = 1;
&header($text{'udel_title'}, "");
print "<hr>\n";
if ($in{'confirmed'}) {
	# Check for repeat click
	if ($user{'user'} ne $in{'user'}) {
		print "<b>$text{'udel_ealready'}</b>. <p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}

	# Run the before command
	$ENV{'USERADMIN_USER'} = $user{'user'};
	$ENV{'USERADMIN_UID'} = $user{'uid'};
	$ENV{'USERADMIN_REAL'} = $user{'real'};
	$ENV{'USERADMIN_SHELL'} = $user{'shell'};
	$ENV{'USERADMIN_HOME'} = $user{'home'};
	$ENV{'USERADMIN_GID'} = $user{'gid'};
	$ENV{'USERADMIN_ACTION'} = 'DELETE_USER';
	local @secs;
	foreach $g (&list_groups()) {
		@mems = split(/,/, $g->{'members'});
		if (&indexof($user{'user'}, @mems) >= 0) {
			push(@secs, $g->{'gid'});
			}
		}
	$ENV{'USERADMIN_SECONDARY'} = join(",", @secs);
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	# Go ahead and do it!
	if ($in{'others'}) {
		print "$text{'udel_other'}<br>\n";
		&other_modules("useradmin_delete_user", \%user);
		print "$text{'udel_done'}<p>\n";
		}
	
	print "$text{'udel_pass'}<br>\n";
	&delete_user(\%user);
	print "$text{'udel_done'}<p>\n";

	print "$text{'udel_groups'}<br>\n";
	foreach $g (&list_groups()) {
		@mems = split(/,/, $g->{'members'});
		$idx = &indexof($user{'user'}, @mems);
		if ($idx >= 0) {
			splice(@mems, $idx, 1);
			%newg = %$g;
			$newg{'members'} = join(',', @mems);
			&modify_group($g, \%newg);
			}
		$mygroup = $g if ($g->{'group'} eq $user{'user'});
		}
	print "$text{'udel_done'}<p>\n";

	if ($mygroup && !$mygroup->{'members'}) {
		local $another;
		foreach $ou (&list_users()) {
			$another++ if ($ou->{'gid'} == $mygroup->{'gid'});
			}
		if (!$another) {
			print "$text{'udel_ugroup'}<br>\n";
			&delete_group($mygroup);
			print "$text{'udel_done'}<p>\n";
			}
		}
	&made_changes();

	if ($in{'delhome'} && $user{'home'} !~ /^\/+$/) {
		print "$text{'udel_home'}<br>\n";
		if ($config{'delete_only'}) {
			&lock_file($user{'home'});
			&system_logged("find \"$user{'home'}\" ! -type d -user $user{'uid'} | xargs rm -f >/dev/null 2>&1");
			&system_logged("find \"$user{'home'}\" -type d -user $user{'uid'} | xargs rmdir >/dev/null 2>&1");
			rmdir($user{'home'});
			&unlock_file($user{'home'});
			}
		else {
			&system_logged("rm -rf \"$user{'home'}\" >/dev/null 2>&1");
			}
		print "$text{'udel_done'}<p>\n";
		}
	%p = ( %in, %user );
	&unlock_user_files();
	delete($p{'pass'});
	&webmin_log("delete", "user", $user{'user'}, \%p);

	print "<hr>\n";
	&footer("", $text{'index_return'});
	}
else {
	# Check if something has changed
	if ($user{'user'} ne $in{'user'}) {
		print "<b>$text{'udel_echanged'}</b> <p>\n";
		print "<hr>\n";
		&footer("", $text{'index_return'});
		exit;
		}

	# Ask if the user is sure
	print "<form action=delete_user.cgi>\n";
	print "<input type=hidden name=num value=\"$in{'num'}\">\n";
	print "<input type=hidden name=user value=\"$user{'user'}\">\n";
	print "<input type=hidden name=confirmed value=1>\n";

	if ($user{'home'} ne "/" && -d $user{'home'}) {
		$size = &disk_usage_kb($user{'home'});
		print "<center><h3>",&text('udel_sure', $user{'user'},
					   $user{'home'}, $size),"</h3>\n";
		print "<input type=submit value=\"$text{'udel_del1'}\">\n";
		print "<input name=delhome type=submit ",
		      "value=\"$text{'udel_del2'}\">\n";

		# check for files owned by other users
		@others = `find \"$user{'home'}\" ! -user $user{'uid'} 2>/dev/null`;
		if (@others) {
			print "<h3><font color=#ff0000>",
			      &text('udel_others', "<tt>$user{'home'}</tt>", scalar(@others)),
			      "</font></h3>\n";
			}
		}
	else {
		print "<center><h3>",&text('udel_sure2',
					   $user{'user'}),"</h3>\n";
		print "<input type=submit value=\"$text{'udel_del1'}\">\n";
		}
	print "<br><input type=checkbox name=others value=1 checked> ",
	      "$text{'udel_dothers'}<br>\n";
	if ($user{'user'} eq 'root') {
		print "<center><h3><font color=#ff0000>$text{'udel_root'}",
		      "</font></h3></center>\n";
		}
	print "</form></center>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

 070701000762ea000081e40000000000000002000000013d1fe2c100000e78000000200000000000000000000000000000001f00000003reloc/useradmin/edit_group.cgi    #!/usr/local/bin/perl
# edit_group.cgi
# Display a form for editing or creating a group

require './user-lib.pl';
&ReadParse();
$n = $in{'num'};
%access = &get_module_acl();
if ($n eq "") {
	$access{'gcreate'}==1 || &error($text{'gedit_ecreate'});
	&header($text{'gedit_title2'}, "", "create_group");
	}
else {
	@glist = &list_groups();
	%group = %{$glist[$n]};
	&can_edit_group(\%access, \%group) ||
		&error($text{'gedit_eedit'});
	&header($text{'gedit_title'}, "", "edit_group");
	}

print "<hr><form action=\"save_group.cgi\" method=post>\n";
if ($n ne "") {
	print "<input type=hidden name=num value=\"$n\">\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'gedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top>",&hlink("<b>$text{'gedit_group'}</b>","ggroup"),
      "</td>\n";
if ($n eq "") {
	print "<td valign=top><input name=group size=10></td>\n";
	}
else {
	print "<td valign=top><font size=+1><i>$group{'group'}",
	      "</i></font></td>\n";
	}

print "<td valign=top>",&hlink("<b>$text{'gedit_gid'}</b>","ggid"),"</td>\n";
if ($n eq "") {
	# Find the first free GID above the base
	&my_setgrent();
	while(@tmp = &my_getgrent()) {
		$used{$tmp[2]}++;
		}
	&my_endgrent();
	$newgid = int($config{'base_gid'} > $access{'lowgid'} ?
			$config{'base_gid'} : $access{'lowgid'});
	while($used{$newgid}) {
		$newgid++;
		}
	print "<td valign=top><input name=gid size=10 value='$newgid'></td>\n";
	}
else {
	print "<td valign=top><input name=gid size=10 ",
	      "value=\"$group{'gid'}\"></td>\n";
	}
print "</tr>\n";

print "<tr> <td valign=top>",&hlink("<b>$text{'pass'}</b>","gpasswd"),"</td>\n";
printf "<td><input type=radio name=passmode value=0 %s> $text{'none2'}<br>\n",
	$group{'pass'} eq "" ? "checked" : "";
printf "<input type=radio name=passmode value=1 %s> $text{'encrypted'}\n",
	$group{'pass'} eq "" ? "" : "checked";
print "<input name=encpass size=13 value=\"$group{'pass'}\"><br>\n";
print "<input type=radio name=passmode value=2 %s> $text{'clear'}\n";
print "<input name=pass size=15></td>\n";

print "<td valign=top>",&hlink("<b>$text{'gedit_members'}</b>","gmembers"),
      "</td>\n";
print "<td><table><tr><td><textarea wrap=auto name=members rows=5 cols=10>",
	join("\n", split(/,/ , $group{'members'})),"</textarea></td>\n";
print "<td valign=top><input type=button onClick='ifield = document.forms[0].members; chooser = window.open(\"my_user_chooser.cgi?multi=1&user=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=500,height=200\"); chooser.ifield = ifield' value=\"...\"></td></tr></table></td> </tr>\n";
print "</table></td></tr></table><p>\n";

if ($n ne "") {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'onsave'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";
        print "<tr> <td>",&hlink($text{'chgid'},"gchgid"),"</td>\n";
        print "<td><input type=radio name=chgid value=0 checked> $text{'no'}</td>\n";
        print "<td><input type=radio name=chgid value=1> $text{'gedit_homedirs'}</td>\n";
        print "<td><input type=radio name=chgid value=2> $text{'gedit_allfiles'}</td> </tr>\n";
	print "</table></td> </tr></table><p>\n";
	}
if ($n ne "") {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";
	print "</form><form action=\"delete_group.cgi\">\n";
	print "<input type=hidden name=num value=\"$n\">\n";
	print "<td align=right><input type=submit value=\"$text{'delete'}\"></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\"></form><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

070701000762eb000081e40000000000000002000000013d1fe2bf000045e5000000200000000000000000000000000000001e00000003reloc/useradmin/edit_user.cgi #!/usr/local/bin/perl
# edit_user.cgi
# Display a form for editing a user, or creating a new user

require './user-lib.pl';
require 'timelocal.pl';
&ReadParse();
$n = $in{'num'};
%access = &get_module_acl();
if ($n eq "") {
	$access{'ucreate'} || &error($text{'uedit_ecreate'});
	&header($text{'uedit_title2'}, "", "create_user");
	}
else {
	@ulist = &list_users();
	%uinfo = %{$ulist[$n]};
	&can_edit_user(\%access, \%uinfo) || &error($text{'uedit_eedit'});
	&header($text{'uedit_title'}, "", "edit_user");
	}

# build list of used shells and uids
&my_setpwent();
@shlist = ($config{'default_shell'} ? ( $config{'default_shell'} ) : ( ),
	   "/bin/sh", "/bin/csh", "/bin/false");
while(@tmp = &my_getpwent()) {
	$used{$tmp[2]}++;
	push(@shlist, $tmp[8]) if ($tmp[8] ne "");
	}
&my_endpwent();
open(SHELLS, "/etc/shells");
while(<SHELLS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@shlist, $_) if (/\S/);
	}
close(SHELLS);

print "<hr><form action=save_user.cgi method=post>\n";
if ($n ne "") {
	print "<input type=hidden name=num value=\"$n\">\n";
	}
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td>",&hlink("<b>$text{'user'}</b>","user"),"</td>\n";
if ($n eq "" && $config{'new_user_group'} && $access{'gcreate'}) {
	$onch = "newgid.value = user.value";
	}
print "<td><input name=user size=10 value=\"$uinfo{'user'}\" onChange='$onch'></td>\n";

print "<td>",&hlink("<b>$text{'uid'}</b>","uid"),"</td>\n";
if ($n eq "") {
	# Find the first free UID above the base
	$newuid = int($config{'base_uid'} > $access{'lowuid'} ?
			$config{'base_uid'} : $access{'lowuid'});
	while($used{$newuid}) {
		$newuid++;
		}
	$newuid = $access{'hiuid'}
		if ($access{'hiuid'} && $newuid > $access{'hiuid'});
	print "<td><input name=uid size=10 value='$newuid'></td> </tr>\n";
	}
else {
	print "<td><input name=uid size=10 value='$uinfo{'uid'}'></td> </tr>\n";
	}

if ($config{'extra_real'}) {
	local @real = split(/,/, $uinfo{'real'}, 5);
	print "<tr> <td>",&hlink("<b>$text{'real'}</b>","real"),"</td>\n";
	print "<td><input name=real size=20 value=\"$real[0]\"></td>\n";

	print "<td>",&hlink("<b>$text{'office'}</b>","office"),"</td>\n";
	print "<td><input name=office size=20 value=\"$real[1]\"></td> </tr>\n";

	print "<tr> <td>",&hlink("<b>$text{'workph'}</b>","workph"),"</td>\n";
	print "<td><input name=workph size=20 value=\"$real[2]\"></td>\n";

	print "<td>",&hlink("<b>$text{'homeph'}</b>","homeph"),"</td>\n";
	print "<td><input name=homeph size=20 value=\"$real[3]\"></td> </tr>\n";

	print "<tr> <td>",&hlink("<b>$text{'extra'}</b>","extra"),"</td>\n";
	print "<td><input name=extra size=20 value=\"$real[4]\"></td>\n";
	}
else {
	print "<tr> <td>",&hlink("<b>$text{'real'}</b>","real"),"</td>\n";
	print "<td><input name=real size=20 value=\"$uinfo{'real'}\"></td>\n";
	}

print "<td>",&hlink("<b>$text{'home'}</b>","home"),"</td>\n";
if ($access{'autohome'}) {
	print "<td>$text{'uedit_auto'} ",
	      $n eq "" ? "" : "( <tt>$uinfo{'home'}</tt> )",
	      "</td>\n";
	}
else {
	print "<td>\n";
	if ($config{'home_base'}) {
		local $hb = $n eq "" || &auto_home_dir($config{'home_base'},
			    $uinfo{'user'}) eq $uinfo{'home'};
		printf "<input type=radio name=home_base value=1 %s> %s\n",
			$hb ? "checked" : "", $text{'uedit_auto'};
		printf "<input type=radio name=home_base value=0 %s>\n",
			$hb ? "" : "checked";
		printf "<input name=home size=25 value=\"%s\"> %s\n",
			$hb ? "" : $uinfo{'home'},
			&file_chooser_button("home", 1);
		}
	else {
		print "<input name=home size=25 value=\"$uinfo{'home'}\">\n",
		      &file_chooser_button("home", 1);
		}
	}
print "</td> </tr>\n";

print "<tr> <td valign=top>",&hlink("<b>$text{'shell'}</b>","shell"),"</td>\n";
print "<td valign=top><select name=shell>\n";
if ($access{'shells'} ne "*") {
	@shlist = %uinfo ? ($uinfo{'shell'}) : ();
	push(@shlist, split(/\s+/, $access{'shells'}));
	$shells = 1;
	}
$shells = 1 if ($access{'noother'});
@shlist = &unique(@shlist);
foreach $s (@shlist) {
	printf "<option value='%s' %s>%s\n", $s,
		$s eq $uinfo{'shell'} ? "selected" : "",
		$s eq "" ? "&lt;None&gt;" : $s;
	}
print "<option value=*>$text{'uedit_other'}\n" if (!$shells);
print "</select></td>\n";

$pass = %uinfo ? $uinfo{'pass'} : $config{'lock_string'};
&seed_random();
foreach (1 .. 15) {
	$random_password .= $random_password_chars[
				rand(scalar(@random_password_chars))];
	}
print "<td valign=top rowspan=4>",&hlink("<b>$text{'pass'}</b>","pass"),
      "</td> <td rowspan=4 valign=top>\n";
printf"<input type=radio name=passmode value=0 %s> %s<br>\n",
	$pass eq "" ? "checked" : "",
	$config{'empty_mode'} ? $text{'none1'} : $text{'none2'};
printf"<input type=radio name=passmode value=1 %s> $text{'nologin'}<br>\n",
	$pass eq $config{'lock_string'} ? "checked" : "";
print "<input type=radio name=passmode value=3> $text{'clear'}\n";
printf "<input %s name=pass size=15 value='%s'><br>\n",
	$config{'passwd_stars'} ? "type=password" : "",
	$config{'random_password'} && $n eq "" ? $random_password : "";
if ($access{'nocrypt'}) {
	printf
	  "<input type=radio name=passmode value=2 %s> $text{'nochange'}\n",
	  $pass && $pass ne $config{'lock_string'} ? "checked" : "";
	print "<input type=hidden name=encpass size=13 value=\"$pass\">\n";
	}
else {
	printf
	  "<input type=radio name=passmode value=2 %s> $text{'encrypted'}\n",
	  $pass && $pass ne $config{'lock_string'} ? "checked" : "";
	printf "<input name=encpass size=13 value=\"%s\">\n",
		$pass && $pass ne $config{'lock_string'} ? $pass : "";
	}
print "</td> </tr>\n";

if (!$shells) {
	print "<tr> <td valign=top>$text{'uedit_other'}</td>\n";
	print "<td valign=top><input size=25 name=othersh>\n";
	print &file_chooser_button("othersh", 0),"</td> </tr>\n";
	print "<tr> <td colspan=2><br></td> </tr>\n";
	}
print "</table></td></tr></table><p>\n";

$pft = &passfiles_type();
if (($pft == 1 || $pft == 6) && $access{'peopt'}) {
	# This is a BSD system.. a few extra password options are supported
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td>",&hlink("<b>$text{'change2'}</b>",
				 "change2"),"</td>\n";
	if ($uinfo{'change'}) {
		@tm = localtime($uinfo{'change'});
		$cday = $tm[3];
		$cmon = $tm[4]+1;
		$cyear = $tm[5]+1900;
		$chour = sprintf "%2.2d", $tm[2];
		$cmin = sprintf "%2.2d", $tm[1];
		}
	print "<td>";
	&date_input($cday, $cmon, $cyear, 'change');
	print " &nbsp; <input name=changeh size=3 value=\"$chour\">";
	print ":<input name=changemi size=3 value=\"$cmin\"></td>\n";

	print "<td>",&hlink("<b>$text{'expire2'}</b>","expire2"),"</td>\n";
	if ($uinfo{'expire'}) {
		@tm = localtime($uinfo{'expire'});
		$eday = $tm[3];
		$emon = $tm[4]+1;
		$eyear = $tm[5]+1900;
		$ehour = sprintf "%2.2d", $tm[2];
		$emin = sprintf "%2.2d", $tm[1];
		}
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print " &nbsp; <input name=expireh size=3 value=\"$ehour\">";
	print ":<input name=expiremi size=3 value=\"$emin\"></td> </tr>\n";

	print "<tr> <td>",&hlink("<b>$text{'class'}</b>","class"),"</td>\n";
	print "<td><input name=class size=10 value=\"$uinfo{'class'}\"></td>\n";
	print "</tr>\n";
	print "</table></td></tr></table><p>\n";
	}
elsif (($pft == 2 || $pft == 5) && $access{'peopt'}) {
	# System has a shadow password file as well.. which means it supports
	# password expiry and so on
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	print "<tr> <td>",&hlink("<b>$text{'change'}</b>","change"),"</td>\n";
	if ($uinfo{'change'}) {
		@tm = localtime(timelocal(gmtime($uinfo{'change'} * 60*60*24)));
		printf "<td>%s/%s/%s</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		}
	elsif ($n eq "") { print "<td>$text{'uedit_never'}</td>\n"; }
	else { print "<td>$text{'uedit_unknown'}</td>\n"; }

	if ($pft == 2) {
		print "<td>",&hlink("<b>$text{'expire'}</b>","expire"),
		      "</td>\n";
		if ($uinfo{'expire'}) {
			@tm = localtime($uinfo{'expire'} * 60*60*24);
			$eday = $tm[3];
			$emon = $tm[4]+1;
			$eyear = $tm[5]+1900;
			}
		print "<td>";
		&date_input($eday, $emon, $eyear, 'expire');
		print "</td>\n";
		}
	else {
		print "<td>",&hlink("<b>$text{'ask'}</b>","ask"),"</td>\n";
		printf "<td><input type=radio name=ask value=1 %s> %s\n",
			$uinfo{'change'} eq '0' ? 'checked' : '', $text{'yes'};
		printf "<input type=radio name=ask value=0 %s> %s</td>\n",
			$uinfo{'change'} eq '0' ? '' : 'checked', $text{'no'};
		}
	print "</tr>\n";

	print "<tr> <td>",&hlink("<b>$text{'min'}</b>","min"),"</td>\n";
	printf "<td><input size=5 name=min value=\"%s\"></td>\n",
		$n eq "" ? $config{'default_min'} : $uinfo{'min'};

	print "<td>",&hlink("<b>$text{'max'}</b>","max"),"</td>\n";
	printf "<td><input size=5 name=max value=\"%s\"></td></tr>\n",
		$n eq "" ? $config{'default_max'} : $uinfo{'max'};

	if ($pft == 2) {
		# SCO does not have these password file options
		print "<tr> <td>",&hlink("<b>$text{'warn'}</b>","warn"),"</td>\n";
		printf "<td><input size=5 name=warn value=\"%s\"></td>\n",
			$n eq "" ? $config{'default_warn'} : $uinfo{'warn'};

		print "<td>",&hlink("<b>$text{'inactive'}</b>","inactive"),"</td>\n";
		printf "<td><input size=5 name=inactive value=\"%s\"></td></tr>\n",
			$n eq "" ? $config{'default_inactive'} : $uinfo{'inactive'};
		}

	print "</table></td></tr></table><p>\n";
	}
elsif ($pft == 4 && $access{'peopt'}) {
	# System has extra AIX password information
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";

	print "<tr> <td>",&hlink("<b>$text{'change'}</b>","change"),
	      "</td>\n";
	if ($uinfo{'change'}) {
		@tm = localtime($uinfo{'change'});
		printf "<td>%s/%s/%s %2.2d:%2.2d:%2.2d</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900,
			$tm[2], $tm[1], $tm[0];
		}
	elsif ($n eq "") { print "<td>$text{'uedit_never'}</td>\n"; }
	else { print "<td>$text{'uedit_unknown'}</td>\n"; }

	print "<td>",&hlink("<b>$text{'expire'}</b>","expire"),"</td>\n";
	if ($uinfo{'expire'}) {
		$uinfo{'expire'} =~ /^(\d\d)(\d\d)(\d\d)(\d\d)(\d\d)/;
		$emon = $1;
		$eday = $2;
		$ehour = $3;
		$emin = $4;
		$eyear = $5;
		if ($eyear > 38) {
			$eyear += 1900;
			}
		else {
			$eyear += 2000;
			}
		}
	$emon =~ s/0(\d)/$1/;	# strip leading 0 
	print "<td>";
	&date_input($eday, $emon, $eyear, 'expire');
	print " &nbsp; <input name=expireh size=3 value=\"$ehour\">";
	print "<b>:</b><input name=expiremi size=3 value=\"$emin\"></td> </tr>\n";

	print "<tr> <td>",&hlink("<b>$text{'min_weeks'}</b>","min_weeks"),"</td>\n";
	print "<td><input size=5 name=min value=\"$uinfo{'min'}\"></td>\n";

	print "<td>",&hlink("<b>$text{'max_weeks'}</b>","max_weeks"),"</td>\n";
	print "<td><input size=5 name=max value=\"$uinfo{'max'}\"></td></tr>\n";

	print "<tr> <td valign=top>",&hlink("<b>$text{'warn'}</b>","warn"),"</td>\n";
	print "<td valign=top><input size=5 name=warn value=\"$uinfo{'warn'}\"></td>\n";

	print "<td valign=top>",&hlink("<b>$text{'flags'}</b>","flags"),
	      "</td> <td>\n";
	printf "<input type=checkbox name=flags value=admin %s> %s<br>\n",
		$uinfo{'admin'} ? 'checked' : '', $text{'uedit_admin'};
	printf "<input type=checkbox name=flags value=admchg %s> %s<br>\n",
		$uinfo{'admchg'} ? 'checked' : '', $text{'uedit_admchg'};
	printf "<input type=checkbox name=flags value=nocheck %s> %s\n",
		$uinfo{'nocheck'} ? 'checked' : '', $text{'uedit_nocheck'};
	print "</td> </tr>\n";

	print "</table></td></tr></table><p>\n";
	}

# Output group memberships
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_gmem'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top>",&hlink("<b>$text{'group'}</b>","group"),
      "</td> <td valign=top>\n";
if ($n eq "" && $access{'gcreate'}) {
	printf "<input type=radio name=gidmode value=1 %s> %s\n",
		$config{'new_user_group'} ? 'checked' : '', $text{'uedit_newg'};
	print "<input name=newgid size=8><br>\n";
	printf "<input type=radio name=gidmode value=0 %s> %s\n",
		$config{'new_user_group'} ? '' : 'checked', $text{'uedit_oldg'};
	}
if ($access{'ugroups'} eq "*") {
	printf "<input name=gid size=8 value=\"%s\">\n",
		$n eq "" ? $config{'default_group'}
			 : &my_getgrgid($uinfo{'gid'});
	print "<input type=button onClick='ifield = document.forms[0].gid; chooser = window.open(\"my_group_chooser.cgi?multi=0&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=300,height=200\"); chooser.ifield = ifield' value=\"...\"></td>\n";
	}
else {
	print "<select name=gid>\n";
	local $cg = %uinfo ? &my_getgrgid($uinfo{'gid'}) : undef;
	@gl = &unique($cg ? ($cg) : (), split(/\s+/, $access{'ugroups'}));
	foreach $g (@gl) {
		printf "<option %s>%s\n",
			$cg eq $g ? "selected" : "", $g;
		}
	print "</select></td>\n";
	}

print "<td valign=top>",&hlink("<b>$text{'uedit_2nd'}</b>","2nd"),"</td>\n";
print "<td><select name=sgid multiple size=5>\n";
map { $gcan{$_}++ } split(/\s+/, $access{'ugroups'});
@glist = &list_groups();
@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist
	if ($config{'sort_mode'});
foreach $g (@glist) {
	@mems = split(/,/ , $g->{'members'});
	local $ismem = &indexof($uinfo{'user'}, @mems) >= 0;
	next if (!$gcan{'*'} && !$gcan{$g->{'group'}} && !$ismem);
	printf "<option value=\"$g->{'gid'}\" %s>$g->{'group'} ($g->{'gid'})\n",
		$ismem ? "selected" : "";
	}
print "</select></td> </tr>\n";
print "</table></td></tr></table><p>\n";

if ($n ne "") {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'onsave'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";

	if ($access{'movehome'}) {
		print "<tr> <td>",&hlink($text{'uedit_movehome'}, "movehome"),"</td>\n";
		print "<td><input type=radio name=movehome value=1 checked> $text{'yes'}</td>\n";
		print "<td><input type=radio name=movehome value=0> $text{'no'}</td> </tr>\n";
		}

	if ($access{'chuid'}) {
		print "<tr> <td>",&hlink($text{'uedit_chuid'},"chuid"),"</td>\n";
		print "<td><input type=radio name=chuid value=0> $text{'no'}</td>\n";
		print "<td><input type=radio name=chuid value=1 checked> ",
		      "$text{'home'}</td>\n";
		print "<td><input type=radio name=chuid value=2> ",
		      "$text{'uedit_allfiles'}</td></tr>\n";
		}

	if ($access{'chgid'}) {
		print "<tr> <td>",&hlink($text{'chgid'},"chgid"),"</td>\n";
		print "<td><input type=radio name=chgid value=0> $text{'no'}</td>\n";
		print "<td><input type=radio name=chgid value=1 checked> ".
		      "$text{'home'}</td>\n";
		print "<td><input type=radio name=chgid value=2> ",
		      "$text{'uedit_allfiles'}</td></tr>\n";
		}

	if ($access{'mothers'}) {
		print "<tr> <td>",&hlink($text{'uedit_mothers'},"others"),"</td>\n";
		print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
		print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
		}

	print "</table></td> </tr></table><p>\n";
	}
else {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'uedit_oncreate'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";

	if ($access{'makehome'}) {
		print "<tr> <td>",&hlink($text{'uedit_makehome'},"makehome"),"</td>\n";
		print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}</td>\n";
		print "<td><input type=radio name=makehome value=0> $text{'no'}</td> </tr>\n";
		}

	if ($config{'user_files'} =~ /\S/ && $access{'copy'}) {
		print "<tr> <td>",&hlink($text{'uedit_copy'},
					 "copy_files"),"</td>\n";
		print "<td><input type=radio name=copy_files ",
		      "value=1 checked> $text{'yes'}</td>\n";
		print "<td><input type=radio name=copy_files ",
		      "value=0> $text{'no'}</td> </tr>\n";
		}

	if ($access{'cothers'}) {
		print "<tr> <td>",&hlink($text{'uedit_cothers'},"others"),"</td>\n";
		print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
		print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
		}

	print "</table></td> </tr></table><p>\n";
	}
if ($n ne "") {
	print "<table width=100%>\n";
	print "<tr> <td><input type=submit value=\"$text{'save'}\"></td>\n";

	print "</form><form action=\"list_logins.cgi\">\n";
	print "<input type=hidden name=username value=\"$uinfo{'user'}\">\n";
	print "<td align=center>\n";
	print "<input type=submit value=\"$text{'uedit_logins'}\"></td>\n";

	if (&foreign_check("sendmail")) {
		&foreign_require("sendmail", "sendmail-lib.pl");
		local %sconfig = &foreign_config("sendmail");
		if (-r $sconfig{'sendmail_cf'} && -x $sconfig{'sendmail_path'} &&
		    &foreign_call("sendmail", "check_sendmail_version",
			&foreign_call("sendmail", "get_sendmailcf"))) {
			print "</form><form action=/sendmail/list_mail.cgi>\n";
			print "<input type=hidden name=user value='$uinfo{'user'}'>\n";
			print "<td align=center>\n";
			print "<input type=submit value='$text{'uedit_mail'}'></td>\n";
			}
		}

	print "</form><form action=\"delete_user.cgi\">\n";
	print "<input type=hidden name=num value=\"$n\">\n";
	print "<input type=hidden name=user value=\"$uinfo{'user'}\">\n";
	print "<td align=right><input type=submit value=\"$text{'delete'}\"></td> </tr>\n";
	print "</form></table><p>\n";
	}
else {
	print "<input type=submit value=\"$text{'create'}\"></form><p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

# date_input(day, month, year, prefix)
sub date_input
{
print "<input name=$_[3]d size=3 value='$_[0]'>";
print "/<select name=$_[3]m>\n";
local $m;
foreach $m (1..12) {
	printf "<option value=%d %s>%s\n",
		$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
	}
print "</select>";
print "/<input name=$_[3]y size=5 value='$_[2]'>";
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
}

   070701000762ec000081a40000000000000002000000013d1fe2c1000004ed000000200000000000000000000000000000001f00000003reloc/useradmin/freebsd-lib.pl    # freebsd-lib.pl
# Functions for freebsd format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 1;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /^(reboot|shutdown)/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "shutdown" ? "Shutdown" :
					$5 eq "crash" ? "Crash" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

   070701000762ed000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002500000003reloc/useradmin/generic-linux-lib.pl  # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762ee000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002400000003reloc/useradmin/gentoo-linux-lib.pl   # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762ef000081a40000000000000002000000013d1fe2bf00001b25000000200000000000000000000000000000001a00000003reloc/useradmin/help.html <body bgcolor=#ffffff>
<title>Users and Groups</title>
<center><img src="images/useradmin.gif"></center><br>
<h2><i>This help page is incomplete</i></h2>
<hr>
<h3>Introduction</h3>
This module allows you to create, edit and delete Unix users and groups.
Typically, there is one Unix user account for each person who wants to
login to your system. In addition, various system programs will have
their own accounts, such as <tt>uucp</tt> or <tt>www</tt>. Every user
belongs to one or more groups, one of which is the primary group for
the user. <p>

The main <tt>Users and Groups</tt> page shows all the local users and
groups on your system. NIS and NIS+ users and groups will not be shown
in the list, because they are not stored locally and cannot be edited.
However, groups can contain NIS users and users can have an NIS group
as their primary group. <p>

If your machine is an NIS or NIS+ server and the table sources
are not <tt>/etc/passwd</tt> and <tt>/etc/group</tt>, you can change the
<a href="../config.cgi?useradmin">module configuration</a> to edit the
appropriate files. The <tt>Command to run after change</tt> parameter can
be set to something like <tt>cd /var/yp ; make</tt> to update NIS maps
after every change to the password and group files. <p>

<hr>
<h3>Editing an Existing User</h3>
To edit a user, just click on the user's name from the list on the
main page. This will display a form in which you can edit the following
user details :<p>
	<ul>
	<li><b>Username</b><br>
	    The name that the user uses to login to the system. Each user
	    must have a unique login name. <p>
	<li><b>Real name</b><br>
	    The user's real name. This is stored in the comment field in
	    the password file. <p>
	<li><b>Encrypted password</b> and <b>Plain text password</b><br>
	    The Unix password file stores passwords in one-way encrypted
	    form only. This means that the form cannot display the user's
	    plain-text password, only the encrypted form. To set a new
	    password for a user you can either enter the password into
	    the <tt>Plain text password</tt> field, or copy and paste an
	    encrypted string into the <tt>Encrypted password</tt> field. <p>
	<li><b>Password type</b><br>
	    If you choose <tt>No password</tt> here, then no password is
	    needed to login to the account. If you choose <tt>Locked</tt>,
	    then no login is allowed. Only if <tt>Normal password</tt> is
	    chosen will the passwords described above be used. <p>
	<li><b>Unix UID</b><br>
	    The UID is the number that the system <b>really</b> uses for
	    controlling access to files. Every user should have a unique
	    UID. If you change the Unix UID, then the <tt>Change UID</tt>
	    option at the bottom of the page determines what happens to
	    files owned by that user. <p>
	<li><b>Home directory</b><br>
	    Every user should have a home directory to store personal files.
	    Typically, user home directories are all located under one
	    parent directory, such as <tt>/home</tt>. <p>
	<li><b>Shell program</b><br>
	    When a user logs into the system, their shell program is run to
	    process whatever commands the user types. If a user has a shell
	    like <tt>/bin/false</tt>, then they will not be able to login.
	    This is useful for users who should only have FTP or email
	    access. <p>
	<li><b>Primary group</b><br>
	    A user's primary group is the group which will usually be
	    assigned to any new files the user creates. If you change the
	    primary group, the <tt>Change GID</tt> option at the bottom
	    of the page controls what happens to files owned by that user
	    and group. <p>
	<li><b>Other groups</b><br>
	    This is a list of all the other groups a user belongs to. Only
	    local groups will be shown, not NIS or NIS+ groups. <p>
	</ul><p>
Some other user properties are only available if your system has a
shadow password file and the module configuration knows about it. They
are :<p>
	<ul>
	<li><b>foo</b><br>
	    foo. <p>
	</ul><p>

<hr>
<h3>Creating a New User</h3>
To create a new user, click on the <tt>Create New User</tt> link below
the list of existing users on the main page. This will display the same
form as is used for editing a user, but with almost all the fields empty.
The only field that will be automatically filled in for you is the UID,
which Webmin will compute by picking a free UID at the end of a sequence
of existing UIDs. <p>

When a new user is created, the user's home directory can be created as
well. To have webmin create and set the permissions on the directory you
specify, choose <tt>Create home directory</tt> at the bottom of the page.
You should do this for all normal users you add. <p>

The <tt>Files to copy</tt> option in the module preferences can be used
to copy various files (such as <tt>.cshrc</tt> or <tt>.profile</tt>) into
the home directory of a newly created user. You should change this
parameter to a space-separated list of files to copy. <p>

<hr>
<h3>Deleting a User</h3>
To delete an existing user, click on the <tt>Delete</tt> button in the
user details form. This will take you to a page asking if you want to
delete the user's home directory as well. Be very careful when choosing
to do this, as some system users have the root directory as their 
home directory. <p>

In general, you should never change the UID, username or shell of system
users such as <tt>root</tt>, <tt>bin</tt> or <tt>nobody</tt>. Doing so
could make your system unusable or unbootable. Do not try to delete any
of these users either, <b>especially</b> <tt>root</tt>. <p>

<hr>
<h3>Editing an Existing Group</h3>
To edit a group, click on the group name from the list of groups on the
main page. This will bring you to a form in which you can edit the
following group properties :
	<ul>
	<li><b>Group name</b><br>
	    The unique name for this group. <p>
	<li><b>Group GID</b><br>
	    Like this UID for a Unix user, this is a number that the system
	    uses to identify the group. Each group should have a unique
	    GID. <p>
	<li><b>Members</b><br>
	    The list of all users in this group. This can include NIS or
	    NIS+ users as well, if they are in use on your system. <p>
	<li><b>Password</b><br>
	    Not used? <p>
	</ul><p>

<hr>
<h3>Creating a New Group</h3>
To create a new group, click on the <tt>Create new group</tt> link 
beneath the list of existing groups. This links to the same form as is
used for editing an existing group, but with all the fields blank except
for the GID. This is automatically filled by finding a free GID for the
new group. <p>

<hr>
<h3>Deleting a Group</h3>
To delete an existing group, click on the <tt>Delete Group</tt> button
on the group details page. This will immediately delete the group without
asking. No files or directories will be deleted though. <p>

<hr>
<a href="/"><img alt="<-" align=middle border=0 src=/images/left.gif></a>
&nbsp;&nbsp;<a href="">Return to module</a><p>
 

   0707010001e82f000041ed0000000000000001000000023d1ffb9700000000000000200000000000000000000000000000001500000003reloc/useradmin/help  0707010001e830000081a40000000000000002000000013d1fe2c000000104000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.ca.html  <header>Grups secundaris</header>

Una llista de zero o més grups addicionals als quals pertany l'usuari.
Si aquest usuari intenta accedir un fitxer i el grup d'aquest fitxer és
un dels grups secundaris, llavors s'aplicaran els permisos d'aquest grup.

<hr>


0707010001e831000081a40000000000000002000000013d1fe2c00000011d000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.es.html  <header>Grupos secundarios</header>
Una lista de cero o más grupos a los cuales pertenece este usuario. Si este
usuario intenta acceder a un archivo y el grupo de ese archivo es uno de
los grupos secundarios, entonces serán aplicados los permisos de grupo que
tenga ese archivo.
<hr>

   0707010001e834000081a40000000000000002000000013d1fe2c000000132000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.fr.html  <header>Groupes secondaires </header>
Une liste de zero ou plusieurs autres groupes auxquels un utilisateur
peut appartenir. Si cet utilisateur tente d'accéder à un fichier et que
le groupe de ce fichier est un des groupes secondaires, les permissions
qu'ont le groupe sur le fichier s'appliqueront.
<hr>

  0707010001e836000081a40000000000000002000000013d1fe2c0000000ff000000200000000000000000000000000000001e00000003reloc/useradmin/help/2nd.html <header>Secondary groups</header>
A list of zero or more other groups to which this user belongs. If this
user attempts to access a file and the group of that file is one of the
secondary groups, then the group permissions for that file will apply.
<hr>

 0707010001e837000081a40000000000000002000000013d1fe2c000000112000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.nl.html  <header>Secundaire groepen</header>
Een lijst van andere groepen waar een gebruiker lid van is. Als
deze gebruiker een bestand wil openenen en de groep van dat bestand is één van de
 secundaire groepen, dan zijn de groepsrechten voor dat bestand van toepassing.
<hr>

  0707010001e83a000081a40000000000000002000000013d1fe2c000000129000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.pl.html  <header>Grupy dodatkowe</header>

Lista zero lub wiêcej innych grup, do których nale¿y ten u¿ytkownik. Je¶li
ten u¿ytkownik bêdzie próbowa³ uzyskaæ dostêp do pliku i&nbsp;grupa tego
pliku bêdzie jedn± z&nbsp;grup dodatkowych, to prawa dostêpu do tego pliku
dla grupy bêd± mia³y zastosowanie.
<hr>
   0707010001e83e000081a40000000000000002000000013d1fe2c000000136000000200000000000000000000000000000002400000003reloc/useradmin/help/2nd.ru_RU.html   <header>Âòîðè÷íûå ãðóïïû</header>
Ñïèñîê 0 èëè áîëüøå äðóãèõ ãðóïï ê êîòîðûì ïðèíàäëåæèò ïîëüçîâàòåëü. Åñëè
ýòîò ïîëüçîâàòåëü ïðåäïðèìåò ïîïûòêó ïîëó÷èòü äîñòóï ê ôàéëó èìåþùåìó
ãðóïïó ñîâïàäàþùóþ ñ îäíîé èç âòîðè÷íûõ ãðóïï ïîëüçîâàòåëÿ, òî âñòóïàþò â 
ñèëó ïðàâà ãðóïïû ê êîòîðîé ýòîò ôàéë ïðèíàäëåæèò.
<hr>

  0707010001e849000081a40000000000000002000000013d1fe2c000000136000000200000000000000000000000000000002400000003reloc/useradmin/help/2nd.ru_SU.html   <header>÷ÔÏÒÉÞÎÙÅ ÇÒÕÐÐÙ</header>
óÐÉÓÏË 0 ÉÌÉ ÂÏÌØÛÅ ÄÒÕÇÉÈ ÇÒÕÐÐ Ë ËÏÔÏÒÙÍ ÐÒÉÎÁÄÌÅÖÉÔ ÐÏÌØÚÏ×ÁÔÅÌØ. åÓÌÉ
ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÐÒÅÄÐÒÉÍÅÔ ÐÏÐÙÔËÕ ÐÏÌÕÞÉÔØ ÄÏÓÔÕÐ Ë ÆÁÊÌÕ ÉÍÅÀÝÅÍÕ
ÇÒÕÐÐÕ ÓÏ×ÐÁÄÁÀÝÕÀ Ó ÏÄÎÏÊ ÉÚ ×ÔÏÒÉÞÎÙÈ ÇÒÕÐÐ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÔÏ ×ÓÔÕÐÁÀÔ × 
ÓÉÌÕ ÐÒÁ×Á ÇÒÕÐÐÙ Ë ËÏÔÏÒÏÊ ÜÔÏÔ ÆÁÊÌ ÐÒÉÎÁÄÌÅÖÉÔ.
<hr>

  0707010001e853000081a40000000000000002000000013d1fe2c0000000fa000000200000000000000000000000000000002100000003reloc/useradmin/help/2nd.sv.html  <header>Sekundära grupper</header>
En lista över grupper (noll eller flera) som denna användare är medlem i.
Om användaren försöker komma åt en fil vars filgrupp är någon av de
sekundära grupperna kommer grupprättigheterna för filen att gälla.
<hr>

  0707010001e854000081a40000000000000002000000013d1fe2c000000085000000200000000000000000000000000000002900000003reloc/useradmin/help/2nd.zh_TW.Big5.html  <header>¦¸¸s²Õ</header>
³o­Ó¨Ï¥Î§ä©ÒÄÝªºªº¨S¦³©Î¦h­Ó¸s²Õ¦WºÙ¡C¦pªG³o­Ó¨Ï¥ÎªÌ¸ÕµÛ­n¦s¨úÄÝ©ó¦¸¸s²ÕªºÀÉ®×¡A¨ä¸s²ÕÅv­­±N·|³QÀ³¥Î¡C
<hr>

   0707010001e855000081a40000000000000002000000013d1fe2c1000000d7000000200000000000000000000000000000002100000003reloc/useradmin/help/ask.ca.html  <header>Demana una nova contrasenya a la pròxima entrada</header>

Si actives aquesta opció, quan l'usuari entri al sistema el proper cop,
se li demanarà que triï una contrasenya nova per substituir l'actual.
<hr>

 0707010001e856000081a40000000000000002000000013d1fe2c0000000b5000000200000000000000000000000000000001e00000003reloc/useradmin/help/ask.html <header>Ask for new password at next login?</header>

If this option is set, when the user next logs in he will be asked to
select a new password to replace the current one. 
<hr>

   0707010001e857000081a40000000000000002000000013d1fe2c0000000b3000000200000000000000000000000000000002400000003reloc/useradmin/help/change.ca.html   <header>Contrasenya canviada</header>

La data en què es va canviar per darrer cop la contrasenya de l'usuari,
ja sigui a través de Webmin o del programa <tt>passwd</tt>.

<hr>


 0707010001e858000081a40000000000000002000000013d1fe2c0000000b3000000200000000000000000000000000000002400000003reloc/useradmin/help/change.es.html   <header>Clave de Acceso cambiada</header>
La última fecha en que la clave de acceso de este usuario fue cambiada, ya
haya sido con Webmin o con el programa <tt>passwd</tt>.
<hr>

 0707010001e859000081a40000000000000002000000013d1fe2c0000000ac000000200000000000000000000000000000002400000003reloc/useradmin/help/change.fr.html   <header>Mot de passe changé</header>
La dernière date à laquelle l'utilisateur a changé son mot de passe,
que ce soit par Webmin ou par le programme <tt>passwd</tt>.
<hr>

0707010001e85a000081a40000000000000002000000013d1fe2c000000098000000200000000000000000000000000000002100000003reloc/useradmin/help/change.html  <header>Password changed</header>
The last date on which this user's password was changed, either through
Webmin or the <tt>passwd</tt> program. 
<hr>

0707010001e85c000081a40000000000000002000000013d1fe2c0000000c1000000200000000000000000000000000000002400000003reloc/useradmin/help/change.nl.html   <header>Wijzigingsdatum wachtwoord</header>

De datum waarop de gebruiker de laatste keer het wachtwoord heeft gewijzigd, 
hetzij door Webmin of door het programma <tt>passwd</tt>.
<hr>

   0707010001e85d000081a40000000000000002000000013d1fe2c000000082000000200000000000000000000000000000002400000003reloc/useradmin/help/change.pl.html   <header>Has³o zmieniono</header>

Data ostatniej zmiany has³a tego u¿ytkownika przez Webmina lub programem
<tt>passwd</tt>. 
<hr>
  0707010001e861000081a40000000000000002000000013d1fe2c00000008f000000200000000000000000000000000000002700000003reloc/useradmin/help/change.ru_RU.html    <header>Ïàðîëü èçìåíÿëñÿ</header>
Ïîñëåäíÿÿ äàòà ñìåíû ïàðîëÿ ïîëüçîâàòåëÿ, ëèáî ÷åðåç Webmin, ëèáî ñ ïîìîùüþ ïðîãðàììû <tt>passwd</tt>.
<hr>

 0707010001e863000081a40000000000000002000000013d1fe2c00000008f000000200000000000000000000000000000002700000003reloc/useradmin/help/change.ru_SU.html    <header>ðÁÒÏÌØ ÉÚÍÅÎÑÌÓÑ</header>
ðÏÓÌÅÄÎÑÑ ÄÁÔÁ ÓÍÅÎÙ ÐÁÒÏÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÌÉÂÏ ÞÅÒÅÚ Webmin, ÌÉÂÏ Ó ÐÏÍÏÝØÀ ÐÒÏÇÒÁÍÍÙ <tt>passwd</tt>.
<hr>

 0707010001e871000081a40000000000000002000000013d1fe2c000000085000000200000000000000000000000000000002400000003reloc/useradmin/help/change.sv.html   <header>Lösenordet ändrat</header>
Datum då användarens lösenord senast ändrades, via Webmin eller programmet
<tt>passwd</tt>.
<hr>

   0707010001e872000081a40000000000000002000000013d1fe2c00000006c000000200000000000000000000000000000002c00000003reloc/useradmin/help/change.zh_TW.Big5.html   <header>±K½X§ïÅÜ©ó</header>
¨Ï¥ÎªÌ³Ìªñ¤@¦¸ÅÜ§ó±K½Xªº®É¶¡¡A¤£½×¬O¸g¥Ñ Webmin ©Î <tt>passwd</tt> µ{¦¡¡C
<hr>

0707010001e873000081a40000000000000002000000013d1fe2c0000000fa000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.ca.html  <header>Interval de canvi de la contrasenya</header>

La data en què aquest usuari ha de canviar la seva contrasenya. Si passat
aquest dia no s'ha canviat la contrasenya, es forçarà l'usuari a canviar-la
la propera vegada que entri al sistema.

<hr>
  0707010001e874000081a40000000000000002000000013d1fe2c0000000f1000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.es.html  <header>Fecha de cambio de clave de acceso</header>

La fecha en que este usuario debe de cambiar su clave de acceso. Si la
clave de acceso no ha sido cambiada por entonces, este usuario será
forzado a cambiarla en su siguiente login.
<hr>

   0707010001e875000081a40000000000000002000000013d1fe2c000000112000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.fr.html  <header>Date de changement de mot de passe</header>

La date avant laquelle cet utilisateur doit changer son mot de passe.
Si le mot de passe n'est pas changé avant la date spécifiée, l'utilisateur
sera forcé de le changer la prochaine fois qu'il ouvrira une session.
<hr>

  0707010001e880000081a40000000000000002000000013d1fe2c0000000d2000000200000000000000000000000000000002200000003reloc/useradmin/help/change2.html <header>Password change date</header>

The date by which this user must change his password. If password has not
been changed by this date, then the user will be forced to change it
when he next logs in.
<hr>

  0707010001e881000081a40000000000000002000000013d1fe2c0000000f8000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.nl.html  <header>Wijzigingsdatum wachtwoord</header>

De datum waarop de gebruiker het wachtwoord moet wijzigen. Als het wachtwoord 
op die datum niet is gewijzigd, dan wordt de gebruiker verplicht het te 
veranderen bij de eerste aanmelding. 
<hr>

0707010001e882000081a40000000000000002000000013d1fe2c0000000dd000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.pl.html  <header>Has³o zmieniæ do dnia</header>

Data, do której u¿ytkownik musi zmieniæ swoje has³o. Je¶li has³o nie
zostanie zmienione do tego dnia, u¿ytkownik zostanie zmuszony do jego zmiany
podczas nastêpnego logowania.
<hr>
   0707010001e883000081a40000000000000002000000013d1fe2c0000000ce000000200000000000000000000000000000002800000003reloc/useradmin/help/change2.ru_RU.html   <header>Äàòà ñìåíû ïàðîëÿ</header>

Äàòà, êîãäà ïîëüçîâàòåëü äîëæåí ñìåíèòü ñâîé ïàðîëü. Åñëè ïàðîëü íå èçìåíÿëñÿ íà äàííóþ äàòó, òî ñèñòåìà ïîòðåáóåò îò ïîëüçîâàòåëÿ ñìåíèòü åãî ïðè ñëåäóþùåì âõîäå.
<hr>

  0707010001e884000081a40000000000000002000000013d1fe2c0000000ce000000200000000000000000000000000000002800000003reloc/useradmin/help/change2.ru_SU.html   <header>äÁÔÁ ÓÍÅÎÙ ÐÁÒÏÌÑ</header>

äÁÔÁ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ÄÏÌÖÅÎ ÓÍÅÎÉÔØ Ó×ÏÊ ÐÁÒÏÌØ. åÓÌÉ ÐÁÒÏÌØ ÎÅ ÉÚÍÅÎÑÌÓÑ ÎÁ ÄÁÎÎÕÀ ÄÁÔÕ, ÔÏ ÓÉÓÔÅÍÁ ÐÏÔÒÅÂÕÅÔ ÏÔ ÐÏÌØÚÏ×ÁÔÅÌÑ ÓÍÅÎÉÔØ ÅÇÏ ÐÒÉ ÓÌÅÄÕÀÝÅÍ ×ÈÏÄÅ.
<hr>

  0707010001e885000081a40000000000000002000000013d1fe2c0000000c9000000200000000000000000000000000000002500000003reloc/useradmin/help/change2.sv.html  <header>Datum för ändring av lösenord</header>

Datum då användaren senast måste ändra sitt lösenord. Om det inte har ändrats
då kommer användaren att tvingas ändra det nästa gång den loggar in.
<hr>

   0707010001e886000081a40000000000000002000000013d1fe2c000000088000000200000000000000000000000000000002d00000003reloc/useradmin/help/change2.zh_TW.Big5.html  <header>±K½X§ïÅÜ®É¶¡</header>

¨Ï¥ÎªÌ¥²¶·§ïÅÜ±K½Xªº¤é´Á¡C¦pªG¦b³o¤é´Á¤§«e¨Ï¥ÎªÌ¨S¦³§ïÅÜ±K½X¡A¨Ï¥ÎªÌ¦b¤U¦¸µn¤J®É·|³Q±j¨îÅÜ§ó±K½X¡C
<hr>

0707010001e887000081a40000000000000002000000013d1fe2c0000001f9000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.ca.html    <header>Canvia l'ID de grup dels fitxers</header>

En editar un usuari existent, si el <a href=group>Grup Primari</a> de l'usuari
es canvia, llavors els fitxers propietat d'aquest grup romandran amb el GID
antic. Aquesta opció es pot fer servir per actualitzar la propietat dels
fitxers al GID nou buscant, bé el directori arrel de l'usuari, bé tot el
sistema de fitxers (Tots els fitxers). L'opció Tots els fitxers pot trigar
molt, sobretot si tens molts sistemes de fitxers grans o NFS muntats.

<hr>


   0707010001e888000081a40000000000000002000000013d1fe2c000000254000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.es.html    <header>¿Cambio ID de usuario en los archivos?</header>

Cuando se edita un usuario ya existente, si se cambia el
<a href=group.es>Grupo Primario</a> del usuario entonces los archivos
pertenecientes a ese grupo seguirán perteneciendo a la vieja GID.
Se puede utilizar esta opción para actualizar la propiedad de los archivos
a la nueva GID mediante la búsqueda en el directorio inicial (Directorio de
Inicio) del usuario o en todo el sistema de archivos (Todos los Archivos).
Esta última opción puede tardar bastante, especialmente si tienes montados
sistemas de archivo o NFS muy grandes.
<hr>

0707010001e889000081a40000000000000002000000013d1fe2c000000236000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.fr.html    <header>Changer de groupe sur les fichiers?</header>

Quand un groupe existant est édité et que le <a href=gid>Numéro de groupe</a>
est changé, les fichiers appartenant à ce groupe garderont l'ancien numéro.
Cette option peut être utilisée pour mettre à jour le numéro de groupe des
fichiers avec le nouveau numéro soit en cherchant dans le répertoire de
l'utilisateur (Répertoire personnel) ou le système de fichiers entier (Tous
les fichiers). L'option pour tous les fichiers peut prendre longtemps à
s'exécuter, surtout si vous avez de gros disques ou NFS.
<hr>

  0707010001e88a000081a40000000000000002000000013d1fe2c0000001dc000000200000000000000000000000000000002000000003reloc/useradmin/help/chgid.html   <header>Change group ID on files?</header>

When editing an existing user, if the user's <a href=group>Primary Group</a> is
changed then files owned by that group will remain owned by the old GID.
This option can be used to update the ownership on files to the new GID
by searching either the user's home directory (Home Dir), or the entire
filesystem (All Files). The All Files option may take a long time,
especially if you have many large or NFS mounted filesystems.
<hr>

0707010001e88b000081a40000000000000002000000013d1fe2c00000022b000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.nl.html    <header>Change group ID on files?</header>

Als een bestaande gebruiker wordt gewijzigd en 
de <a href=group>Primaire Groep</a> wordt veranderd dan blijven bestanden die
van die groep zijn, eigendom van de oude GID.
Met deze optie kan het eigendom van de bestanden toch worden overgezet naar de
nieuwe GID door te zoeken in hetzij de thuismap 
van de gebruiker danwel in het gehele bestandssysteem (Alle bestanden!). 
De optie 'Alle bestanden' kan lang duren, in het bijzonder als u een groot of 
via NFS gemount bestandssysteem heeft. 
<hr>

 0707010001e88c000081a40000000000000002000000013d1fe2c00000023b000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.pl.html    <header>Zmieniæ ID grupy na plikach?</header>

Je¶li przy zmianie u¿ytkownika zostanie zmieniony numer jego
<a href=group>Grupy podstawowej</a>, wówczas pliki nale¿±ce do tej grupy
pozostan± w³asno¶ci± poprzedniego numeru GID. Opcja ta mo¿e byæ u¿yta do
aktualizacji praw w³asno¶ci na plikach na nowy numer GID poprzez
przeszukanie katalogu domowego u¿ytkownika (Katalog domowy) lub ca³ego
systemu plików (Wszystkie pliki). Opcja &quot;Wszystkie pliki&quot; mo¿e
zaj±æ du¿o czasu, zw³aszcza je¶li posiadasz wiele du¿ych lub podmontowanych
przez NFS systemów plików.
<hr>
 0707010001e88d000081a40000000000000002000000013d1fe2c000000218000000200000000000000000000000000000002600000003reloc/useradmin/help/chgid.ru_RU.html <header>Èçìåíåíèå ID ãðóïïû íà ôàéëû?</header>

Åñëè Âû ïîìåíÿëè <a href=group>Ïåðâè÷íóþ Ãðóïïó</a> ïîëüçîâàòåëÿ ïðè åãî 
ðåäàêòèðîâàíèè, òî ôàéëû, êîòîðûìè âëàäåëà ãðóïïà äàííîãî ïîëüçîâàòåëÿ
ìîãóò îêàçàòüñÿ íåäîñòóïíûìè. Äàííàÿ îïöèÿ ìîæåò áûòü èñïîëüçîâàíà äëÿ 
îáíîâëåíèÿ ïðàâ íà ôàéëû. Ôàéëû ìîãóò èñêàòüñÿ êàê â äîìàøíåì êàòàëîãå, òàê è
âî âñåé ôàéëîâîé ñèñòåìå (Âñå ôàéëû). Îïöèÿ Âñå ôàéëû ìîæåò ïðèâåñòè ê áîëüøîìó
 âðåìåíè âûïîëíåíèÿ çàïðîñà, îñîáåííî åñëè ó âàñ ìíîãî áîëüøèõ èëè 
ñìîíòèðîâàííûõ ïî NFS ôàéëîâûõ ñèñòåì.
<hr>

0707010001e88e000081a40000000000000002000000013d1fe2c000000218000000200000000000000000000000000000002600000003reloc/useradmin/help/chgid.ru_SU.html <header>éÚÍÅÎÅÎÉÅ ID ÇÒÕÐÐÙ ÎÁ ÆÁÊÌÙ?</header>

åÓÌÉ ÷Ù ÐÏÍÅÎÑÌÉ <a href=group>ðÅÒ×ÉÞÎÕÀ çÒÕÐÐÕ</a> ÐÏÌØÚÏ×ÁÔÅÌÑ ÐÒÉ ÅÇÏ 
ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ, ÔÏ ÆÁÊÌÙ, ËÏÔÏÒÙÍÉ ×ÌÁÄÅÌÁ ÇÒÕÐÐÁ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
ÍÏÇÕÔ ÏËÁÚÁÔØÓÑ ÎÅÄÏÓÔÕÐÎÙÍÉ. äÁÎÎÁÑ ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ 
ÏÂÎÏ×ÌÅÎÉÑ ÐÒÁ× ÎÁ ÆÁÊÌÙ. æÁÊÌÙ ÍÏÇÕÔ ÉÓËÁÔØÓÑ ËÁË × ÄÏÍÁÛÎÅÍ ËÁÔÁÌÏÇÅ, ÔÁË É
×Ï ×ÓÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ (÷ÓÅ ÆÁÊÌÙ). ïÐÃÉÑ ÷ÓÅ ÆÁÊÌÙ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÂÏÌØÛÏÍÕ
 ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ Õ ×ÁÓ ÍÎÏÇÏ ÂÏÌØÛÉÈ ÉÌÉ 
ÓÍÏÎÔÉÒÏ×ÁÎÎÙÈ ÐÏ NFS ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ.
<hr>

0707010001e88f000081a40000000000000002000000013d1fe2c0000001aa000000200000000000000000000000000000002300000003reloc/useradmin/help/chgid.sv.html    <header>Byta grupp-ID för filer?</header>

Om man byter en användares <a href=group>primära grupp</a> kommer filerna
som ägdes av denna grupp fortfarande ägas av dess gamla grupp-ID. Här kan man
ändra filägandet till ett nytt GID genom att söka igenom användarens
hemkatalog eller hela filsystemet (Alla filer). Alternativet Alla filer
tar ett tag att genomföra, särskilt om man har stora eller NFS-monterade
filsystem.
<hr>

  0707010001e890000081a40000000000000002000000013d1fe2c000000145000000200000000000000000000000000000002b00000003reloc/useradmin/help/chgid.zh_TW.Big5.html    <header>¬O§_§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H</header>

·í½s¿è¤@­Ó²{¦sªº¨Ï¥ÎªÌ®É¡A¦pªG¨Ï¥ÎªÌªº<a href=group>¥D¸s²Õ</a>³Q§ïÅÜ, «h©Ò¾Ö¦³ªºÀÉ®×¤´·|ÄÝ©óÂÂªº GID¡C³o­Ó¿ï¶µ¥i¥H·j´M¨Ï¥ÎªÌªº®a¥Ø¿ý©Î¾ã­ÓÀÉ®×¨t²Î¡A¨Ã§ó·s¨ä©Ò¾Ö¦³ªºÀÉ®×¾Ö¦³Åv¨ì·sªº GID¡C¨Ï¥Î¡u¥þ³¡ªºÀÉ®×¡v¿ï¶µ¥i¯à·|ªá¶O¬Û·íªøªº®É¶¡¡A¤×¨ä¬O±z¦³«Ü¦h¤jªº©Î¨Ó¦Û NFS ªºÀÉ®×¨t²Î®É¡C
<hr>

   0707010001e891000081a40000000000000002000000013d1fe2c0000001ee000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.ca.html    <header>Canvia l'ID d'usuari dels fitxers</header>

En editar un usuari existent, si es canvia <a href=uid>l'ID de l'usuari</a>,
llavors els fitxers propietat d'aquest usuari romandran amb l'UID antic.
Aquesta opció es pot fer servir per actualitzar la propietat dels
fitxers al UID nou buscant, bé el directori arrel de l'usuari, bé tot el
sistema de fitxers (Tots els fitxers). L'opció Tots els fitxers pot trigar
molt, sobretot si tens molts sistemes de fitxers grans o NFS muntats.

<hr>


  0707010001e896000081a40000000000000002000000013d1fe2c000000254000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.es.html    <header>¿Cambiar ID de usuario en los archivos?</header>

Cuando se edita un usuario ya existente, si se cambia la
<a href=group.es>ID de Usuario</a> del usuario entonces los archivos
pertenecientes a ese grupo seguirán perteneciendo a la vieja UID.
Se puede utilizar esta opción para actualizar la propiedad de los archivos
a la nueva UID mediante la búsqueda en el directorio inicial (Directorio de
Inicio) del usuario o en todo el sistema de archivos (Todos los Archivos).
Esta última opción puede tardar bastante, especialmente si tienes montados
sistemas de archivo o NFS muy grandes.
<hr>

0707010001e897000081a40000000000000002000000013d1fe2c00000025a000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.fr.html    <header>Changer de propriétaire sur les fichiers?</header>

Quand un utilisateur existant est édité et que le <a href=uid>Numéro d'utilisateur</a>
est changé, les fichiers appartenant à cet utilisateur garderont l'ancien numéro.
Cette option peut être utilisée pour mettre à jour le numéro d'utilisateur des
fichiers avec le nouveau numéro soit en cherchant dans le répertoire de
l'utilisateur (Répertoire personnel) ou le système de fichiers entier (Tous
les fichiers). L'option pour tous les fichiers peut prendre longtemps à
s'exécuter, surtout si vous avez de gros disques ou NFS.
<hr>

  0707010001e898000081a40000000000000002000000013d1fe2c0000001d1000000200000000000000000000000000000002000000003reloc/useradmin/help/chuid.html   <header>Change user ID on files?</header>

When editing an existing user, if the user's <a href=uid>User ID</a> is
changed then files owned by that user will remain owned by the old UID.
This option can be used to update the ownership on files to the new UID
by searching either the users home directory (Home Dir), or the entire
filesystem (All Files). The All Files option may take a long time,
especially if you have many large or NFS mounted filesystems.
<hr>

   0707010001e899000081a40000000000000002000000013d1fe2c00000024e000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.nl.html    <header>Gebruikers ID van bestanden veranderen?</header>

Als u een bestaande gebruiker gewijzigt en daarbij de <a href=uid>Gebruikers ID</a> 
verandert, dan blijven bestanden die eigendom zijn van die gebruiker het bezit 
van de oude UID. Deze optie kan worden gebruikt om het eigendom van de 
bestanden toch te wijzigen naar de nieuwe UID door te zoeken in hetzij de thuismap 
van de gebruiker danwel in het gehele bestandssysteem 
(Alle bestanden!). De optie 'Alle bestanden' kan lang duren, in het bijzonder 
als u een groot of via NFS gemount bestandssysteem
heeft. 
<hr>

  0707010001e89a000081a40000000000000002000000013d1fe2c000000238000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.pl.html    <header>Zmieniæ ID u¿ytkownika na plikach?</header>

Je¶li przy zmianie u¿ytkownika zostanie zmieniony jego 
<a href=uid>Numer ID</a>, wówczas pliki nale¿±ce do tego u¿ytkownika
pozostan± w³asno¶ci± poprzedniego numeru UID. Opcja ta mo¿e byæ u¿yta do
aktualizacji praw w³asno¶ci na plikach na nowy numer UID poprzez
przeszukanie katalogu domowego u¿ytkownika (Katalog domowy) lub ca³ego
systemu plików (Wszystkie pliki). Opcja &quot;Wszystkie pliki&quot; mo¿e
zaj±æ du¿o czasu, zw³aszcza je¶li posiadasz wiele du¿ych lub podmontowanych
przez NFS systemów plików.
<hr>
0707010001e89b000081a40000000000000002000000013d1fe2c0000001ff000000200000000000000000000000000000002600000003reloc/useradmin/help/chuid.ru_RU.html <header>Èçìåíåíèå ID ïîëüçîâàòåëÿ íà ôàéëû?</header>

Åñëè ïðè ðåäàêòèðîâàíèè ñóùåñòâóþùåãî ïîëüçîâàòåëÿ <a href=uid> ID ïîëüçîâàòåëÿ
</a> èçìåíèëñÿ, òî ôàéëû ïðèíàäëåæàâøèå ýòîìó ïîëüçîâàòåëþ áóäóò èìåòü èõ
ñòàðûé UID. Ýòà îïöèÿ ìîæåò áûòü èñïîëüçîâàíà äëÿ îáíîâëåíèÿ UID íà ôàéëû
ïóòåì ïîèñêà â äîìàøíåì êàòàëîãå èëè âî âñåé ôàéëîâîé ñèñòåìå (Âñå ôàéëû).
Îïöèÿ Âñå ôàéëû ìîæåò ïðèâåñòè ê áîëüøîìó âðåìåíè âûïîëíåíèÿ çàïðîñà,
îñîáåííî åñëè ó âàñ ìíîãî áîëüøèõ èëè ñìîíòèðîâàííûõ ïî NFS ôàéëîâûõ ñèñòåì. 
<hr>

 0707010001e89c000081a40000000000000002000000013d1fe2c0000001ff000000200000000000000000000000000000002600000003reloc/useradmin/help/chuid.ru_SU.html <header>éÚÍÅÎÅÎÉÅ ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ÆÁÊÌÙ?</header>

åÓÌÉ ÐÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ <a href=uid> ID ÐÏÌØÚÏ×ÁÔÅÌÑ
</a> ÉÚÍÅÎÉÌÓÑ, ÔÏ ÆÁÊÌÙ ÐÒÉÎÁÄÌÅÖÁ×ÛÉÅ ÜÔÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÂÕÄÕÔ ÉÍÅÔØ ÉÈ
ÓÔÁÒÙÊ UID. üÔÁ ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ UID ÎÁ ÆÁÊÌÙ
ÐÕÔÅÍ ÐÏÉÓËÁ × ÄÏÍÁÛÎÅÍ ËÁÔÁÌÏÇÅ ÉÌÉ ×Ï ×ÓÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ (÷ÓÅ ÆÁÊÌÙ).
ïÐÃÉÑ ÷ÓÅ ÆÁÊÌÙ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ Ë ÂÏÌØÛÏÍÕ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÅÎÉÑ ÚÁÐÒÏÓÁ,
ÏÓÏÂÅÎÎÏ ÅÓÌÉ Õ ×ÁÓ ÍÎÏÇÏ ÂÏÌØÛÉÈ ÉÌÉ ÓÍÏÎÔÉÒÏ×ÁÎÎÙÈ ÐÏ NFS ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ. 
<hr>

 0707010001e89d000081a40000000000000002000000013d1fe2c0000001ab000000200000000000000000000000000000002300000003reloc/useradmin/help/chuid.sv.html    <header>Byta användar-ID för filer?</header>

Om man byter en användares <a href=uid>användar-ID</a> kommer filerna
som ägdes av användaren fortfarande ägas av dess gamla användar-ID. Här
kan man ändra filägandet till ett nytt UID genom att söka igenom
användarens hemkatalog eller hela filsystemet (Alla filer). Alternativet
Alla filer tar ett tag att genomföra, särskilt om man har stora eller
NFS-monterade filsystem.
<hr>

 0707010001e89e000081a40000000000000002000000013d1fe2c000000149000000200000000000000000000000000000002b00000003reloc/useradmin/help/chuid.zh_TW.Big5.html    <header>¬O§_§ïÅÜÀÉ®×ªº¨Ï¥ÎªÌ½s¸¹¡H</header>

·í½s¿è¤@­Ó²{¦sªº¨Ï¥ÎªÌ®É¡A¦pªG¨Ï¥ÎªÌªº<a href=uid>¨Ï¥ÎªÌ½s¸¹</a>³Q§ïÅÜ¡A«h©Ò¾Ö¦³ªºÀÉ®×¤´·|ÄÝ©óÂÂªº UID¡C³o­Ó¿ï¶µ¥i¥H·j´M¨Ï¥ÎªÌªº®a¥Ø¿ý©Î¾ã­ÓÀÉ®×¨t²Î¡A¨Ã§ó·s¨ä©Ò¾Ö¦³ªºÀÉ®×¾Ö¦³Åv¨ì·sªº UID¡C¨Ï¥Î¡u¥þ³¡ªºÀÉ®×¡v¿ï¶µ¥i¯à·|ªá¶O¬Û·íªøªº®É¶¡¡A¤×¨ä¬O±z¦³«Ü¦h¤jªº©Î¨Ó¦Û NFS ªºÀÉ®×¨t²Î®É¡C
<hr>

   0707010001e89f000081a40000000000000002000000013d1fe2c0000000ed000000200000000000000000000000000000002300000003reloc/useradmin/help/class.ca.html    <header>Classe d'entrada</header>

Aquest camp ha de contenir el nom d'una classe d'entrada, definida al fitxer
<tt>login.conf</tt>. Mira la pàgina man <tt>login.conf</tt> de FreeBSD per
a més informació sobre classes d'entrada.

<hr>


   0707010001e8a0000081a40000000000000002000000013d1fe2c0000000fa000000200000000000000000000000000000002300000003reloc/useradmin/help/class.es.html    <header>Clase del Login</header>

Este campo debe de contener un nombre de clase de login, definido en el
archivo <tt>login.conf</tt>. Mira la página del manual de FreeBSD
<tt>login.conf</tt> para más información acerca de las clases de login.
<hr>

  0707010001e8a1000081a40000000000000002000000013d1fe2c000000122000000200000000000000000000000000000002300000003reloc/useradmin/help/class.fr.html    <header>Classe d'ouverture de session</header>

Ce champ doit contenir le nom d'une classe d'ouverture de session
définie dans le fichier <tt>login.conf</tt>. Regardez la page de manuel
de <tt>login.conf</tt> de FreeBSD pour plus d'information sur les
classes d'ouverture de session.
<hr>

  0707010001e8a2000081a40000000000000002000000013d1fe2c0000000da000000200000000000000000000000000000002000000003reloc/useradmin/help/class.html   <header>Login class</header>

This field must contain the name of a login class, defined in the file
<tt>login.conf</tt>. See the FreeBSD man page on <tt>login.conf</tt>
for more information about login classes.
<hr>

  0707010001e8a3000081a40000000000000002000000013d1fe2c0000000fd000000200000000000000000000000000000002300000003reloc/useradmin/help/class.nl.html    <header>Aanmeldklasse</header>

Dit veld moet de naam van een aanmeldklasse bevatten, zoals dat is gedefinieërd
in het bestand <tt>login.conf</tt>. Zie de FreeBSD man pagina op 
<tt>login.conf</tt> voor meer informatie over aanmeldklassen.
<hr>

   0707010001e8a4000081a40000000000000002000000013d1fe2c000000101000000200000000000000000000000000000002300000003reloc/useradmin/help/class.pl.html    <header>Kategoria logowania</header>

To pole musi zawierac nazwê kategorii logowania okre¶lonej w&nbsp;pliku
<tt>login.conf</tt>. Wiêcej informacji o&nbsp;kategoriach logowania
znajdziesz na stronie podrêcznika FreeBSD dotycz±cej <tt>login.conf</tt>.
<hr>
   0707010001e8a5000081a40000000000000002000000013d1fe2c0000000fa000000200000000000000000000000000000002600000003reloc/useradmin/help/class.ru_RU.html <header>Êëàññ ðåãèñòðàöèè</header>

Äàííîå ïîëå äîëæíî ñîäåðæàòü èìÿ êëàññà ðåãèñòðàöèè, îïðåäåëåííîå â ôàéëå <tt>login.conf</tt>. Ñì. man ñòðàíèöó <tt>login.conf</tt> äëÿ FreeBSD, äëÿ ïîëó÷åíèÿ äîïîëíèòåëüíîé èíôîðìàöèè î êëàññàõ ðåãèñòðàöèè.
<hr>

  0707010001e8a6000081a40000000000000002000000013d1fe2c0000000fa000000200000000000000000000000000000002600000003reloc/useradmin/help/class.ru_SU.html <header>ëÌÁÓÓ ÒÅÇÉÓÔÒÁÃÉÉ</header>

äÁÎÎÏÅ ÐÏÌÅ ÄÏÌÖÎÏ ÓÏÄÅÒÖÁÔØ ÉÍÑ ËÌÁÓÓÁ ÒÅÇÉÓÔÒÁÃÉÉ, ÏÐÒÅÄÅÌÅÎÎÏÅ × ÆÁÊÌÅ <tt>login.conf</tt>. óÍ. man ÓÔÒÁÎÉÃÕ <tt>login.conf</tt> ÄÌÑ FreeBSD, ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ Ï ËÌÁÓÓÁÈ ÒÅÇÉÓÔÒÁÃÉÉ.
<hr>

  0707010001e8a7000081a40000000000000002000000013d1fe2c0000000ea000000200000000000000000000000000000002300000003reloc/useradmin/help/class.sv.html    <header>Inloggningsklass</header>

Fältet måste innehålla namnet på en inloggningsklass som definierats i
filen <tt>login.conf</tt>. Titta på FreeBSD-manualsidan om <tt>login.conf</tt>
för mer information om inloggningsklasser.
<hr>

  0707010001e8a8000081a40000000000000002000000013d1fe2c0000000a7000000200000000000000000000000000000002b00000003reloc/useradmin/help/class.zh_TW.Big5.html    <header>µn¤J¼h¯Å</header>

³o­ÓÄæ¦ì¥²¶·¥]§t¤@­Óµn¤J¼h¯Åªº¦WºÙ¡A©w¸q©óÀÉ®× <tt>login.conf</tt> ¤§¤¤¡C½Ð°Ñ·Ó FreeBSD ªº <tt>login.conf</tt> »¡©ú­¶¥H¨ú±o§ó¦h¸ê°T¡C
<hr>

 0707010001e8a9000081a40000000000000002000000013d1fe2c0000001cc000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.ca.html   <header>Copia els fitxers al directori arrel</header>

Quan es crea un usuari nou i aquesta opció està activada, els fitxers
estàndard com <tt>.cshrc</tt> i <tt>.profile</tt> es copien de
<tt><exec $config{'user_files'}></tt> al directori arrel de l'usuari.
<p>

Seleccionar aquesta opció no tindrà cap efecte si no s'activa també l'opció
<a href=makehome>Crea el directori arrel</a>, donat que no hi haurà cap
directori arrel per a copiar-hi res.
<p>

<hr>


0707010001e8aa000081a40000000000000002000000013d1fe2c0000001d8000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.es.html   <header>¿Copio los archivos al directorio de inicio?</header>

Cuando se crea un nuevo usuario y se pone esta opción, se copian los archivos
estándar como <tt>.cshrc</tt> y <tt>.profile</tt> desde
<tt><exec $config{'user_files'}></tt> al directorio inicial del usuario. <p>

Aunque se seleccione esta opción no tendrá efecto si la opción de 
<a href=makehome.es>Crear directorio inicial no es activada también ya que
no habrá directorio inicial en donde copiar. <p>
<hr>

0707010001e8ab000081a40000000000000002000000013d1fe2c0000001bc000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.fr.html   <header>Copier les fichiers dans le répertoire personnel? </header>

Quand un nouvel utilisateur est créé et que cette option est choisie,
les fichiers standards comme <tt>.cshrc</tt> et <tt>profile</tt> seront
copiés depuis <tt><exec $config{'user_files'}></tt> vers le répertoire
personnel de l'utilisateur. <p>

Choisir cette option n'a aucun effet si l'option <a href=makehome>Créer
le répertoire personnel</a> n'est pas choisie. <p>
<hr>

0707010001e8ac000081a40000000000000002000000013d1fe2c0000001a7000000200000000000000000000000000000002500000003reloc/useradmin/help/copy_files.html  <header>Copy files to home directory?</header>

When a new user is created and this option is set, standard files like
<tt>.cshrc</tt> and <tt>.profile</tt> are copied from
<tt><exec $config{'user_files'}></tt> to the user's home directory. <p>

Selected this option will have no effect if the <a href=makehome>Create
home directory</a> option is not set as well, as there will be no home
directory to copy into. <p>
<hr>

 0707010001e8ad000081a40000000000000002000000013d1fe2c0000001f7000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.nl.html   <header>Bestanden naar thuismap kopiëren?</header>

Wanneer een nieuwe gebruiker wordt aangemaakt en deze optie is 'Ja', dan 
worden standaardbestanden zoals <tt>.cshrc</tt> en <tt>.profile</tt> 
gekopieerd van <tt><exec $config{'user_files'}></tt> naar de thuismap
van de gebruiker. <p>

Het selecteren van deze optie heeft geen effect als de optie 
<a href=makehome> Thuismap aanmaken?</a> niet ook op 'Ja' staat
omdat er dan geen thuismap wordt gemaakt om naartoe te kopieëren. <p>
<hr>

 0707010001e8b9000081a40000000000000002000000013d1fe2c0000001f6000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.pl.html   <header>Skopiowaæ pliki do katalogu domowego?</header>

Je¿eli opcja ta jest w³±czona podczas tworzenia nowego u¿ytkownika, do
katalogu domowego u¿ytkownika s± kopiowane
z&nbsp;<tt><exec $config{'user_files'}></tt> standardowe pliki takie, jak
<tt>.cshrc</tt> i&nbsp;<tt>.profile</tt>. <p>

Zaznaczenie tej opcji nie spowoduje ¿adnego efektu, o&nbsp;&nbsp;ile nie
bedzie równie¿ zaznaczona opcja <a href=makehome>Utworzyæ katalog domowy</a>,
jako ¿e inaczej nie by³oby gdzie skopiowaæ plików. <p>
<hr>
  0707010001e8ba000081a40000000000000002000000013d1fe2c0000001c3000000200000000000000000000000000000002b00000003reloc/useradmin/help/copy_files.ru_RU.html    <header>Êîïèðîâàòü ôàéëû â äîìàøíèé êàòàëîã?</header>

Ïðè óñòàíîâêå äàííîé îïöèè, ñòàíäàðòíûå ôàéëû èíèöèàëèçàöèè, òàêèå êàê 
<tt>.cshrc</tt> è <tt>.profile</tt> êîïèðóþòñÿ èç <tt>/etc/skel/</tt>
â äîìàøíèé êàòàëîã ïîëüçîâàòåëÿ
<p>

Âûáîð äàííîé îïöèè íå èìååò ýôôåêòà åñëè íå óñòàíîâëåíà îïöèÿ <a href=makehome>
Ñîçäàâàòü äîìàøíèé êàòàëîã</a>, ïîñêîëüêó â äàííîì ñëó÷àå, äîìàøíèé êàòàëîã
â êîòîðûé êîïèðóþòñÿ ôàéëû, íå áóäåò ñóùåñòâîâàòü.
<p>
<hr>

 0707010001e8bb000081a40000000000000002000000013d1fe2c0000001c3000000200000000000000000000000000000002b00000003reloc/useradmin/help/copy_files.ru_SU.html    <header>ëÏÐÉÒÏ×ÁÔØ ÆÁÊÌÙ × ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ?</header>

ðÒÉ ÕÓÔÁÎÏ×ËÅ ÄÁÎÎÏÊ ÏÐÃÉÉ, ÓÔÁÎÄÁÒÔÎÙÅ ÆÁÊÌÙ ÉÎÉÃÉÁÌÉÚÁÃÉÉ, ÔÁËÉÅ ËÁË 
<tt>.cshrc</tt> É <tt>.profile</tt> ËÏÐÉÒÕÀÔÓÑ ÉÚ <tt>/etc/skel/</tt>
× ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌÑ
<p>

÷ÙÂÏÒ ÄÁÎÎÏÊ ÏÐÃÉÉ ÎÅ ÉÍÅÅÔ ÜÆÆÅËÔÁ ÅÓÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ ÏÐÃÉÑ <a href=makehome>
óÏÚÄÁ×ÁÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ</a>, ÐÏÓËÏÌØËÕ × ÄÁÎÎÏÍ ÓÌÕÞÁÅ, ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ
× ËÏÔÏÒÙÊ ËÏÐÉÒÕÀÔÓÑ ÆÁÊÌÙ, ÎÅ ÂÕÄÅÔ ÓÕÝÅÓÔ×Ï×ÁÔØ.
<p>
<hr>

 0707010001e8bc000081a40000000000000002000000013d1fe2c00000018e000000200000000000000000000000000000002800000003reloc/useradmin/help/copy_files.sv.html   <header>Kopiera filer till hemkatalog?</header>

När denna inställning är satt kommer standardfiler som <tt>.cshrc</tt>
och <tt>.profile</tt> kopieras från <tt><exec $config{'user_files'}></tt>
till hemkatalogen för en ny användare.

<p>Detta kräver dock att inställningen <a href=makehome>Skapa hemkatalog</a>
också är satt, eftersom det annars inte finns någon hemkatalog att kopiera
till.
<hr>

  0707010001e8bd000081a40000000000000002000000013d1fe2c000000137000000200000000000000000000000000000003000000003reloc/useradmin/help/copy_files.zh_TW.Big5.html   <header>¬O§_«þ¨©ÀÉ®×¨ì®a¥Ø¿ý?</header>

·í«Ø¥ß·sªº¨Ï¥ÎªÌ¥B³]©w³o­Ó¿ï¶µ®É¡A¼Ð·ÇªºÀÉ®×¨Ò¦p <tt>.cshrc</tt> »P <tt>.profile</tt> ·|±q <tt><exec $config{'user_files'}></tt> ½Æ»s¨ì¨Ï¥ÎªÌªº®a¥Ø¿ý¤¤¡C<p>

·í<a href=makehome>«Ø¥ß®a¥Ø¿ý</a>¿ï¶µ¥¼³Q³]©w®É¡A¿ï¾Ü³o­Ó¿ï¶µ±N·|¨S¦³§@¥Î¡F¦]¬°¨S¦³¥i¥H«þ¨©¨ìªº®a¥Ø¿ý¡C<p>
<hr>

 0707010001e8be000081a40000000000000002000000013d1fe2c0000000b1000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.ca.html <header>Creació de Grup</header>

Aquest formulari permet introduir els detalls d'un nou grup Unix. Tria
acuradament el grup Unix perquè no es pot canviar un cop creat.

<hr>


   0707010001e8bf000081a40000000000000002000000013d1fe2c0000000d7000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.es.html <header>Crear Grupo</header>

Este formulario te permite digitar los detalles de un nuevo grupo de Unix.
Selecciona el nombre de grupo cuidadósamente ya que no puede ser cambiado
una vez que haya sido creado.
<hr>

 0707010001e8c0000081a40000000000000002000000013d1fe2c0000000c8000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.fr.html <header>Créer un groupe</header>

Cette page vous permet d'entrer les informations d'un nouveau groupe Unix.
Choisissez le nom du groupe avec soin car une fois créé il ne peut plus
être changé.
<hr>

0707010001e8c1000081a40000000000000002000000013d1fe2c0000000b8000000200000000000000000000000000000002700000003reloc/useradmin/help/create_group.html    <header>Create Group</header>

This form allows you to enter the details of a new Unix group. Choose the
group name carefully, as it cannot be changed once the group is created.
<hr>

0707010001e8c2000081a40000000000000002000000013d1fe2c0000000d1000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.nl.html <header>Groep Aanmaken</header>

Hier kunt u de details van een nieuwe Unix groep invoeren. 
Kies de naam van de groep zorgvuldig: hij kan niet meer worden gewijzigd 
als de groep eenmaal is aangemaakt!
<hr>

   0707010001e8c3000081a40000000000000002000000013d1fe2c0000000a5000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.pl.html <header>Utwórz grupê</header>

Ten formularz pozwala ci wprowadziæ dane nowej grupy Uniksa. Ostro¿nie
wybieraj nazwê grupy, gdy¿ nie mo¿na jej pó¼niej zmieniæ.
<hr>
   0707010001e8c4000081a40000000000000002000000013d1fe2c0000000be000000200000000000000000000000000000002d00000003reloc/useradmin/help/create_group.ru_RU.html  <header>Ñîçäàíèå Ãðóïïû</header>

Äàííàÿ ôîðìà ïîçâîëÿåò âàì ââåñòè ïàðàìåòðû íîâîé Unix ãðóïïû. Âûáèðàéòå èìÿ ãðóïïû âíèìàòåëüíî, ïîñêîëüêó åãî íåëüçÿ èçìåíèòü ïîñëå ñîçäàíèÿ ãðóïïû.
<hr>

  0707010001e8c5000081a40000000000000002000000013d1fe2c0000000be000000200000000000000000000000000000002d00000003reloc/useradmin/help/create_group.ru_SU.html  <header>óÏÚÄÁÎÉÅ çÒÕÐÐÙ</header>

äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ××ÅÓÔÉ ÐÁÒÁÍÅÔÒÙ ÎÏ×ÏÊ Unix ÇÒÕÐÐÙ. ÷ÙÂÉÒÁÊÔÅ ÉÍÑ ÇÒÕÐÐÙ ×ÎÉÍÁÔÅÌØÎÏ, ÐÏÓËÏÌØËÕ ÅÇÏ ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÐÏÓÌÅ ÓÏÚÄÁÎÉÑ ÇÒÕÐÐÙ.
<hr>

  0707010001e8c6000081a40000000000000002000000013d1fe2c0000000be000000200000000000000000000000000000002a00000003reloc/useradmin/help/create_group.sv.html <header>Lägg till grupp</header>

I detta formulär kan man skriva in uppgifter för en ny Unix-grupp. Välj
gruppnamn med omsorg, eftersom det inte kan ändras när gruppen väl är
skapad.
<hr>

  0707010001e8c7000081a40000000000000002000000013d1fe2c000000084000000200000000000000000000000000000003200000003reloc/useradmin/help/create_group.zh_TW.Big5.html <header>«Ø¥ß·s¸s²Õ</header>

³o­Óªí³æ¥i¥HÅý±z¿é¤J·s Unix ¸s²Õªº¸Ô²Ó¸ê®Æ¡C½Ð¤p¤ß¦a¿ï¾Ü¸s²Õ¦WºÙ¡A¦]¬°·í¸s²Õ«Ø¥ß«á±NµLªk³Q§ïÅÜ¡C
<hr>

0707010001e8c8000081a40000000000000002000000013d1fe2c00000006f000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.ca.html  <header>Creació d'Usuari</header>

Aquest formulari permet introduir els detalls d'un nou usuari Unix.

<hr>


 0707010001e8c9000081a40000000000000002000000013d1fe2c000000070000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.es.html  <header>Crear Usuario</header>

Este formulario te permite digitar los detalles de un nuevo usuario Unix.
<hr>

0707010001e8ca000081a40000000000000002000000013d1fe2c00000007c000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.fr.html  <header>Créer un utilisateur</header>

Cette page vous permet d'entrer les informations d'un nouvel utilisateur
Unix.
<hr>

0707010001e8cb000081a40000000000000002000000013d1fe2c000000062000000200000000000000000000000000000002600000003reloc/useradmin/help/create_user.html <header>Create User</header>

This form allows you to enter the details of a new Unix user.
<hr>

  0707010001e8cc000081a40000000000000002000000013d1fe2c00000006b000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.nl.html  <header>Gebruiker Aanmaken</header>

Hier kunt u de details van een nieuwe Unix 
gebruiker invoeren.
<hr>

 0707010001e8cd000081a40000000000000002000000013d1fe2c00000006e000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.pl.html  <header>Utwórz u¿ytkownika</header>

Ten formularz pozwala ci wprowadziæ dane nowego u¿ytkownika Uniksa.
<hr>
  0707010001e8ce000081a40000000000000002000000013d1fe2c00000006a000000200000000000000000000000000000002c00000003reloc/useradmin/help/create_user.ru_RU.html   <header>Ñîçäàíèå Ïîëüçîâàòåëÿ</header>

Ýòà ôîðìà ïîçâîëÿåò âàì ââåñòè äàííûå î íîâîì ïîëüçîâàòåëå.
<hr>

  0707010001e8cf000081a40000000000000002000000013d1fe2c00000006a000000200000000000000000000000000000002c00000003reloc/useradmin/help/create_user.ru_SU.html   <header>óÏÚÄÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ</header>

üÔÁ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ××ÅÓÔÉ ÄÁÎÎÙÅ Ï ÎÏ×ÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅ.
<hr>

  0707010001e8d0000081a40000000000000002000000013d1fe2c000000073000000200000000000000000000000000000002900000003reloc/useradmin/help/create_user.sv.html  <header>Lägg till användare</header>

I detta formulär kan man skriva in uppgifter för en ny Unix-användare.
<hr>

 0707010001e8d1000081a40000000000000002000000013d1fe2c00000008e000000200000000000000000000000000000003100000003reloc/useradmin/help/create_user.zh_TW.Big5.html  <header>«Ø¥ß·sªº¨Ï¥ÎªÌ</header>

³o­Óªí³æ¥i¥HÅý±z¿é¤J·s Unix ¨Ï¥ÎªÌªº¸Ô²Ó¸ê®Æ¡C½Ð¤p¤ß¦a¿ï¾Ü¨Ï¥ÎªÌ¦WºÙ¡A¦]¬°·í¨Ï¥ÎªÌ«Ø¥ß«á±NµLªk³Q§ïÅÜ¡C
<hr>

  0707010001e8d2000081a40000000000000002000000013d1fe2c0000000a0000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.ca.html   <header>Edició de Grup</header>

Aquest formulari permet editar els detalls d'un grup Unix existent.
Se'n poden canviar tots els detalls, excepte el nom.

<hr>
0707010001e8d3000081a40000000000000002000000013d1fe2c0000000c5000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.es.html   <header>Editar Grupo</header>

Este formulario te permite editar los detalles de un grupo ya existente de
Unix. Todos los detalles del grupo pueden ser cambiados con la excepción
del nombre.
<hr>

   0707010001e8d5000081a40000000000000002000000013d1fe2c0000000af000000200000000000000000000000000000002500000003reloc/useradmin/help/edit_group.html  <header>Edit Group</header>

This form allows you to edit the detail of an existing Unix group. All details
of the group may be changed, with the exception of the name.
<hr>

 0707010001e8d4000081a40000000000000002000000013d1fe2c0000000c9000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.fr.html   <header>Éditer un groupe</header>

Cette page vous permet d'éditer les informations d'un groupe Unix existant.
Tous les détails de ce groupe peuvent être changés, à l'exception de son nom.
<hr>

   0707010001e8d6000081a40000000000000002000000013d1fe2c0000000b9000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.nl.html   <header>groep Wijzigen</header>

Hier kunt u de gegevens van een bestaande Unix groep wijzigen. 
Alle gegevens van de groep kunnen worden veranderd, met uitzondering van de naam.
<hr>

   0707010001e8d7000081a40000000000000002000000013d1fe2c0000000a8000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.pl.html   <header>Zmieñ grupê</header>

Ten formularz pozwala ci zmieniæ dane istniej±cej grupy systemu Unix.
Mo¿na zmieniæ wszystkie dane tej grupy za wyj±tkiem jej nazwy.
<hr>
0707010001e8d8000081a40000000000000002000000013d1fe2c0000000ad000000200000000000000000000000000000002b00000003reloc/useradmin/help/edit_group.ru_RU.html    <header>Ðåäàêòèðîâàíèå Ãðóïïû</header>

Äàííàÿ ôîðìà ïîçâîëÿåò âàì ðåäàêòèðîâàòü ïàðàìåòðû ñóùåñòâóþùåé Unix ãðóïïû. Âñå ïàðàìåòðû ãðóïïû ìîæíî èçìåíèòü, êðîìå èìåíè.
<hr>

   0707010001e8d9000081a40000000000000002000000013d1fe2c0000000ad000000200000000000000000000000000000002b00000003reloc/useradmin/help/edit_group.ru_SU.html    <header>òÅÄÁËÔÉÒÏ×ÁÎÉÅ çÒÕÐÐÙ</header>

äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÓÕÝÅÓÔ×ÕÀÝÅÊ Unix ÇÒÕÐÐÙ. ÷ÓÅ ÐÁÒÁÍÅÔÒÙ ÇÒÕÐÐÙ ÍÏÖÎÏ ÉÚÍÅÎÉÔØ, ËÒÏÍÅ ÉÍÅÎÉ.
<hr>

   0707010001e8da000081a40000000000000002000000013d1fe2c000000090000000200000000000000000000000000000002800000003reloc/useradmin/help/edit_group.sv.html   <header>Ändra grupp</header>

I detta formulär kan man ändra uppgifter om en befintlig Unix-grupp.
Alla uppgifter utom namnet kan ändras.
<hr>

0707010001e8db000081a40000000000000002000000013d1fe2c00000007c000000200000000000000000000000000000003000000003reloc/useradmin/help/edit_group.zh_TW.Big5.html   <header>½s¿è¸s²Õ</header>

³o­Óªí³æ¥i¥HÅý±z½s¿è¤@­Ó²{¦s Unix ¸s²Õªº¸Ô²Ó¸ê®Æ¡C°£¤F¸s²Õ¦WºÙ¤§¥~¡A©Ò¦³ªº²Ó¸`³£¥i¥HÅÜ§ó¡C
<hr>

0707010001e8dc000081a40000000000000002000000013d1fe2c0000000a3000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.ca.html    <header>Edició d'Usuari</header>

Aquest formulari permet editar els detalls d'un usuari Unix existent.
Se'n poden canviar tots els detalls, excepte el nom.

<hr>
 0707010001e8dd000081a40000000000000002000000013d1fe2c0000000cb000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.es.html    <header>Editar Usuario</header>

Este formulario te permite editar los detalles de un usuario ya existente de
Unix. Todos los detalles del usuario pueden ser cambiados con la excepción
del nombre.
<hr>

 0707010001e8de000081a40000000000000002000000013d1fe2c0000000d1000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.fr.html    <header>Éditer un utilisateur</header>

Cette page vous permet d'éditer les informations d'un utilisateur Unix
existant. Tous les détails de l'utilisateur peuvent être changés,
à l'exception de son nom.
<hr>

   0707010001e8df000081a40000000000000002000000013d1fe2c0000000b1000000200000000000000000000000000000002400000003reloc/useradmin/help/edit_user.html   <header>Edit User</header>

This form allows you to edit the details of an existing Unix user. All details
of the user may be changed, with the exception of the username.
<hr>

   0707010001e8e0000081a40000000000000002000000013d1fe2c0000000c5000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.nl.html    <header>gebruiker Wijzigen</header>

Hier kunt u de gegevens van een bestaande Unix gebruiker wijzigen. 
Alle gegevens van de gebruiker kunnen worden veranderd, met uitzondering van de naam.
<hr>

   0707010001e8e1000081a40000000000000002000000013d1fe2c0000000bd000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.pl.html    <header>Zmieñ U¿ytkownika</header>

Ten formularz pozwala ci zmieniæ dane istniej±cego u¿ytkownika systemu Unix.
Mo¿na zmieniæ wszystkie dane tego u¿ytkownika za wyj±tkiem jego nazwy.
<hr>
   0707010001e8e2000081a40000000000000002000000013d1fe2c0000000dc000000200000000000000000000000000000002a00000003reloc/useradmin/help/edit_user.ru_RU.html <header>Ðåäàêòèðîâàíèå Ïîëüçîâàòåëÿ</header>

Äàííàÿ ôîðìà ïîçâîëÿåò âàì ðåäàêòèðîâàòü ïàðàìåòðû ïîëüçîâàòåëåé ñèñòåìû.
Âñå ðàçðåøåííûå ê èçìåíåíèþ ïàðàìåòðû çà èñêëþ÷åíèåì èìåíè ïîëüçîâàòåëÿ 
ìîãóò áûòü èçìåíåíû.
<hr>

0707010001e8e3000081a40000000000000002000000013d1fe2c0000000dc000000200000000000000000000000000000002a00000003reloc/useradmin/help/edit_user.ru_SU.html <header>òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ</header>

äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÓÉÓÔÅÍÙ.
÷ÓÅ ÒÁÚÒÅÛÅÎÎÙÅ Ë ÉÚÍÅÎÅÎÉÀ ÐÁÒÁÍÅÔÒÙ ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ 
ÍÏÇÕÔ ÂÙÔØ ÉÚÍÅÎÅÎÙ.
<hr>

0707010001e8e4000081a40000000000000002000000013d1fe2c0000000a0000000200000000000000000000000000000002700000003reloc/useradmin/help/edit_user.sv.html    <header>Ändra användare</header>

I detta formulär kan man ändra uppgifter om en befintlig Unix-användare.
Alla uppgifter utom användarnamnet kan ändras.
<hr>

0707010001e8e5000081a40000000000000002000000013d1fe2c000000082000000200000000000000000000000000000002f00000003reloc/useradmin/help/edit_user.zh_TW.Big5.html    <header>½s¿è¨Ï¥ÎªÌ</header>

³o­Óªí³æ¥i¥HÅý±z½s¿è¤@­Ó²{¦s Unix ¨Ï¥ÎªÌªº¸Ô²Ó¸ê®Æ¡C°£¤F¨Ï¥ÎªÌ¦WºÙ¤§¥~¡A©Ò¦³ªº²Ó¸`³£¥i¥HÅÜ§ó¡C
<hr>

  0707010001e8e6000081a40000000000000002000000013d1fe2c000000086000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.ca.html   <header>Data d'expiració</header>

La data que expira el compte. Després d'aquesta data, l'usuari no podrà
entrar al sistema.

<hr>


  0707010001e8e7000081a40000000000000002000000013d1fe2c000000092000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.es.html   <header>Fecha de Expiración</header>

La fecha en que esta cuenta expira. Tras esta fecha el usuario ya no podrá
hacer login en el sistema.
<hr>

  0707010001e8e8000081a40000000000000002000000013d1fe2c000000094000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.fr.html   <header>Date d'expiration</header>
La date à laquelle le compte va expirer. Après cette date,
l'utilisateur ne pourra plus ouvrir de session.
<hr>

0707010001e8e9000081a40000000000000002000000013d1fe2c000000098000000200000000000000000000000000000002100000003reloc/useradmin/help/expire.html  <header>Expiry date</header>
The date on which this account will expire. After this date the user will
no longer be able to login to the system. 
<hr>

0707010001e8ea000081a40000000000000002000000013d1fe2c0000000b1000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.nl.html   <header>Vervaldatum</header>

De datum waarop de geldigheid van deze gebruiker vervalt. Na deze datum 
zal de gebruiker zich niet langer kunnen aanmelden bij het systeem.
<hr>

   0707010001e8eb000081a40000000000000002000000013d1fe2c00000008e000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.pl.html   <header>Konto wa¿ne do dnia</header>

Data up³ywu wa¿no¶ci tego konta. Po tej dacie u¿ytkownik nie bêdzie móg³
siê zalogowaæ do systemu.
<hr>
  0707010001e8ec000081a40000000000000002000000013d1fe2c0000000b5000000200000000000000000000000000000002700000003reloc/useradmin/help/expire.ru_RU.html    <header>Äàòà óñòàðåâàíèÿ</header>
Äàòà íà êîòîðóþ äàííûé áþäæåò ïîëüçîâàòåëÿ óñòàðååò. Ïîñëå íàñòóïëåíèÿ äàííîé äàòû ïîëüçîâàòåëü áîëüøå íå ñìîæåò ðåãèñòðèðîâàòüñÿ â ñèñòåìå.
<hr>

   0707010001e8ed000081a40000000000000002000000013d1fe2c0000000b5000000200000000000000000000000000000002700000003reloc/useradmin/help/expire.ru_SU.html    <header>äÁÔÁ ÕÓÔÁÒÅ×ÁÎÉÑ</header>
äÁÔÁ ÎÁ ËÏÔÏÒÕÀ ÄÁÎÎÙÊ ÂÀÄÖÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑ ÕÓÔÁÒÅÅÔ. ðÏÓÌÅ ÎÁÓÔÕÐÌÅÎÉÑ ÄÁÎÎÏÊ ÄÁÔÙ ÐÏÌØÚÏ×ÁÔÅÌØ ÂÏÌØÛÅ ÎÅ ÓÍÏÖÅÔ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ × ÓÉÓÔÅÍÅ.
<hr>

   0707010001e8ee000081a40000000000000002000000013d1fe2c00000008f000000200000000000000000000000000000002400000003reloc/useradmin/help/expire.sv.html   <header>Upphör</header>
Datum då detta konto upphör. När detta datum passerats kommer användaren
inte längre kunna logga in på systemet.
<hr>

 0707010001e8ef000081a40000000000000002000000013d1fe2c000000065000000200000000000000000000000000000002c00000003reloc/useradmin/help/expire.zh_TW.Big5.html   <header>¹L´Á¤é´Á</header>
³o­Ó±b¸¹±N·|¹L´Áªº¤é´Á¡C¦b³o­Ó¤é´Á¤§«á¡A¨Ï¥ÎªÌ±N¤£¯à¦Aµn¤J³o­Ó¨t²Î¡C
<hr>

   0707010001e8f0000081a40000000000000002000000013d1fe2c0000000bb000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.ca.html  <header>Data d'expiració del compte</header>

La data que expira el compte. Després d'aquesta data, l'usuari no podrà
entrar al sistema a través de telnet, ni FTP, ni la consola.

<hr>


 0707010001e8f1000081a40000000000000002000000013d1fe2c0000000b4000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.es.html  <header>Fecha de expiración de la Cuenta</header>

La fecha en que esta cuenta expira. Tras esta fecha el usuario ya no podrá
hacer login vía telnet, FTP o desde la consola.
<hr>

0707010001e8f2000081a40000000000000002000000013d1fe2c0000000c4000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.fr.html  <header>Date d'expiration du compte</header>

La date a laquelle le compte va expirer. Après cette date, l'utilisateur
ne pourra plus ouvrir de session par telnet, FTP ou même à la console.
<hr>

0707010001e8f3000081a40000000000000002000000013d1fe2c0000000bc000000200000000000000000000000000000002200000003reloc/useradmin/help/expire2.html <header>Account expiry date</header>

The date on which this account expires. After this date has passed, the
user will no longer be able to login via telnet, FTP or at the console.
<hr>

0707010001e8f4000081a40000000000000002000000013d1fe2c0000000cf000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.nl.html  <header>Vervaldatum gebruiker</header>

De datum waarop de geldigheid van deze gebruiker vervalt. Na deze datum 
zal de gebruiker zich niet langer kunnen aanmelden via telnet, FTP 
of aan een console.
<hr>

 0707010001e8f5000081a40000000000000002000000013d1fe2c00000008e000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.pl.html  <header>Konto wa¿ne do dnia</header>

Data up³ywu wa¿no¶ci tego konta. Po tej dacie u¿ytkownik nie bêdzie móg³
siê zalogowaæ do systemu.
<hr>
  0707010001e8f6000081a40000000000000002000000013d1fe2c0000000a8000000200000000000000000000000000000002800000003reloc/useradmin/help/expire2.ru_RU.html   <header>Äàòà óñòàðåâàíèÿ áþäæåòà</header>

Ïî ïðîøåñòâèè äàííîé äàòû ïîëüçîâàòåëü íå ñìîæåò ðåãèñòðèðîâàòüñÿ â ñèñòåìå ÷åðåç telnet, FTP èëè ñ ñèñòåìíîé êîíñîëè.
<hr>

0707010001e8f7000081a40000000000000002000000013d1fe2c0000000a8000000200000000000000000000000000000002800000003reloc/useradmin/help/expire2.ru_SU.html   <header>äÁÔÁ ÕÓÔÁÒÅ×ÁÎÉÑ ÂÀÄÖÅÔÁ</header>

ðÏ ÐÒÏÛÅÓÔ×ÉÉ ÄÁÎÎÏÊ ÄÁÔÙ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ × ÓÉÓÔÅÍÅ ÞÅÒÅÚ telnet, FTP ÉÌÉ Ó ÓÉÓÔÅÍÎÏÊ ËÏÎÓÏÌÉ.
<hr>

0707010001e8f8000081a40000000000000002000000013d1fe2c0000000bb000000200000000000000000000000000000002500000003reloc/useradmin/help/expire2.sv.html  <header>Livslängd för konto</header>

Datum då kontot upphör. När detta datum passerats kommer användaren inte
längre kunna logga in på systemet via telnet, FTP eller på en konsol.
<hr>

 0707010001e8f9000081a40000000000000002000000013d1fe2c000000085000000200000000000000000000000000000002d00000003reloc/useradmin/help/expire2.zh_TW.Big5.html  <header>±b¸¹¹L´Á¤é´Á</header>

³o­Ó±b¸¹±N·|¹L´Áªº®É¶¡¡C¦b³o­Ó¤é´Á¤§«á¡A¨Ï¥ÎªÌ±N¤£¯à¦A³z¹L telnet¡BFTP ©Î¦b²×ºÝ¾÷µn¤J³o­Ó¨t²Î¡C
<hr>

   0707010001e8fa000081a40000000000000002000000013d1fe2c00000013e000000200000000000000000000000000000002300000003reloc/useradmin/help/extra.ca.html    <header>Opcions extres</header>

Informació extra que s'emmagatzema al camp de la contrasenya darrere de
nom real de l'usuari, el despatx, el telèfon de la feina i el telèfon
particular. En alguns sistemes, això es pot fer servir per establir 
l'<i>umask</i>, prioritat de procés i <i>ulimit</i> inicials.
<p>

<hr>


  0707010001e8fb000081a40000000000000002000000013d1fe2c0000000f8000000200000000000000000000000000000002000000003reloc/useradmin/help/extra.html   <header>Extra options</header>
Extra information that gets stored in the password field after the user's
realname, office, work phone and home phone. On some systems this can be used
to set the initial umask, process priority and ulimit. <p>
<hr>

0707010001e8fc000081a40000000000000002000000013d1fe2c000000126000000200000000000000000000000000000002300000003reloc/useradmin/help/extra.nl.html    <header>Extra opties</header>

Extra informatie die wordt opgeslagen in het wachtwoordveld na de volledige 
naam, kantoor, telefoon werk en telefoon thuis. Op sommige systemen kan dit 
worden gebruikt om een initieel <tt>umask</tt, proces prioriteit en <tt>ulimit</tt in 
te stellen. <p>
<hr>

  0707010001e8fd000081a40000000000000002000000013d1fe2c000000120000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.ca.html <header>Busca usuaris</header>

Si el sistema té massa usuaris, se't mostrarà aquest formulari per que
busquis els usuaris que vols modificar. La recerca es pot fer per una
coincidència exacta o una expressió regular sobre el nom d'usuari,
nom real, shell, directori arrel o UID.

<hr>


0707010001e8fe000081a40000000000000002000000013d1fe2c000000129000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.es.html <header>Buscar Usuario</header>

Si tu sistema tiene demasiados usuarios, este formulario te permitirá
buscar los usuarios que desees modificar. La búsqueda puede ser con
una coincidencia exacta o por expresión sobre el nombre de login, el nombre
real, shell, directorio de inicio o la UID.

<hr>
   0707010001e8ff000081a40000000000000002000000013d1fe2c000000164000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.fr.html <header>Chercher un utilisateur</header>

Si votre système a trop d'utilisateurs, cette page vous sera affichée
pour que vous recherchiez l'utilisateur à modifier. La recherche peut
s'éffectuer par une correspondance exacte ou d'une expression régulière
sur le nom, le vrai nom, le shell, le répertoire personnel ou le
numero d'utilisateur.
<hr>

0707010001e900000081a40000000000000002000000013d1fe2c000000109000000200000000000000000000000000000002300000003reloc/useradmin/help/findform.html    <header>User Search</header>

If your system has too many users, this form will be displayed for
you to search for the user(s) you want to modify. Searching can be by
an exact or regexp match on the user's login name, real name, shell,
home directory or UID.

<hr>
   0707010001e901000081a40000000000000002000000013d1fe2c00000015e000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.nl.html <header>Gebruiker Opzoeken</header>

Als uw systeem teveel gebruikers heeft, wordt dit formulier getoond. 
Hiermee kunt u zoeken naar één of meer gebruikers die u wilt wijzigen. 
Het zoeken kan verlopen via een exacte overeenkomst of een 
expressie. Gezocht kan worden op de gebruikersnaam, de volledige naam, 
de shell, de thuismap of de UID.

<hr>
  0707010001e902000081a40000000000000002000000013d1fe2c000000174000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.pl.html <header>Znajd¼ u¿ytkownika</header>

Je¶li w twoim systemie jest zbyt wielu u¿ytkowników, pojawi siê ten
formularz pozwalaj±cy ci na znalezienie u¿ytkownika(-ów), którego(-ych) dane
chcesz zmieniæ. Mo¿esz poszukiwaæ u¿ytkowników, których nazwa logowania,
nazwa rzeczywista, pow³oka, katalog domowy lub numer UID pasuj± do
dok³adnego wzorca lub wyra¿enia regularnego.
<hr>
0707010001e903000081a40000000000000002000000013d1fe2c000000160000000200000000000000000000000000000002900000003reloc/useradmin/help/findform.ru_RU.html  <header>Ïîèñê Ïîëüçîâàòåëåé</header>

Åñëè â âàøåé ñèñòåìå ñëèøêîì ìíîãî ïîëüçîâàòåëåé, âû óâèäèòå äàííàóþ ÿ ôîðìó , êîòîðàÿ ïîçâîëèò âàì âûáðàòü èíòåðåñóþùèõ âàñ ïîëüçîâàòåëåé. Ïîèñê ìîæåò îñóùåñòâëÿòüñÿ ïî òî÷íîìó ðàâåíñòâó èëè ñîâïàäåíèþ ñ ðåãóëÿðíûì âûðàæåíèåì ïî ðåãèñòðàöèîííîìó èìåíè, ðåàëüíîìó èìåíè, shelló, äîìàøíåìó êàòàëîãó, èëè UID.

<hr>
0707010001e904000081a40000000000000002000000013d1fe2c000000160000000200000000000000000000000000000002900000003reloc/useradmin/help/findform.ru_SU.html  <header>ðÏÉÓË ðÏÌØÚÏ×ÁÔÅÌÅÊ</header>

åÓÌÉ × ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ×Ù Õ×ÉÄÉÔÅ ÄÁÎÎÁÕÀ Ñ ÆÏÒÍÕ , ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÉÔ ×ÁÍ ×ÙÂÒÁÔØ ÉÎÔÅÒÅÓÕÀÝÉÈ ×ÁÓ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ðÏÉÓË ÍÏÖÅÔ ÏÓÕÝÅÓÔ×ÌÑÔØÓÑ ÐÏ ÔÏÞÎÏÍÕ ÒÁ×ÅÎÓÔ×Õ ÉÌÉ ÓÏ×ÐÁÄÅÎÉÀ Ó ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ ÐÏ ÒÅÇÉÓÔÒÁÃÉÏÎÎÏÍÕ ÉÍÅÎÉ, ÒÅÁÌØÎÏÍÕ ÉÍÅÎÉ, shellÕ, ÄÏÍÁÛÎÅÍÕ ËÁÔÁÌÏÇÕ, ÉÌÉ UID.

<hr>
0707010001e905000081a40000000000000002000000013d1fe2c000000151000000200000000000000000000000000000002600000003reloc/useradmin/help/findform.sv.html <header>Sök efter användare</header>

Om det finns många användare i systemet kommer detta formulär att visas,
så att man kan söka efter den/de användare man vill ändra uppgifter för.
Söksträngen anges som ett exakt eller reguljärt uttryck som ska matchas mot
användarens inloggningsnamn, riktiga namn, skal, hemkatalog eller UID.

<hr>
   0707010001e906000081a40000000000000002000000013d1fe2c0000000d1000000200000000000000000000000000000002e00000003reloc/useradmin/help/findform.zh_TW.Big5.html <header>§ä´M¨Ï¥ÎªÌ</header>

¦pªG±zªº¨t²Î¦³¤Ó¦hªº¨Ï¥ÎªÌ¡A³o­Óªí³æ±N·|Åã¥Ü¡A¦Ó¥B¥i¥HÅý±z·j´M±z·Q­nÅÜ§óªº¨Ï¥ÎªÌ¡C±z¥i¥H¨Ï¥Î§¹¥þ²Å¦Xªº©Î¥¿³Wªí¥Ü¦¡ªº¤è¦¡§ä´M¨Ï¥ÎªÌªºµn¤J¦WºÙ¡B¯u¹ê¦WºÙ¡BShell¡B®a¥Ø¿ý©Î UID¡C

<hr>
   0707010001e907000081a40000000000000002000000013d1fe2c0000002f1000000200000000000000000000000000000002300000003reloc/useradmin/help/flags.ca.html    <header>Característiques del compte</header>

Hi ha tres característiques diferents que es poden establir per alterar
el comportament de la contrasenya:

<ul>
   <li><b>Només root pot canviar la contrasenya</b><br>
      Si aquest valor està establert, llavors només l'usuari root pot
      canviar la informació de les contrasenyes.
      <p>
   <li><b>L'usuari ha de triar la nova contrasenya</b><br>
      Si aquest valor està establert, es forçarà l'usuari a canviar la
      seva contrasenya la propera vegada que entri al sistema.
      <p>
   <li><b>No comprovis les restriccions de les contrasenyes</b><br>
      Si aquest valor està establert, llavors les noves contrasenyes 
      no cal que segueixin les indicacions.
      <p>
</ul>

<hr>


   0707010001e908000081a40000000000000002000000013d1fe2c000000255000000200000000000000000000000000000002000000003reloc/useradmin/help/flags.html   <header>Account flags</header>

There are three different flags that can be set to alter password behavior:
<ul>
<li><b>Only root can change password</b><br>
    If this flag is set then only the root user can change password information. <p>
<li><b>User must choose new password</b><br>
    If this flag is set then the user is forced to change their password the
    next time a login command or an su command is given for the user.  <p>
<li><b>Don't check password restrictions</b><br>
    If this flag is set then new passwords choosen need not follow the password guidelines. <p>
</ul>
<hr>

   0707010001e909000081a40000000000000002000000013d1fe2c0000002df000000200000000000000000000000000000002300000003reloc/useradmin/help/flags.nl.html    <header>Gebruikers flags</header>

Er zijn drie verschillende flags die kunnen worden gezet om het wachtwoord gedrag 
te beïnvloeden:
<ul>
<li><b>Alleen root kan het wachtwoord verandereb</b><br>
    Als deze flag is gezet, kan de wachtwoordinformatie uitsluitend door de root
    worden gewijzigd. <p>
<li><b>De gebruiker moet een nieuw wachtwoord kiezen</b><br>
    Als deze flag is gezet, wordt de gebruiker gedwongen het wachtwoord te wijzigen 
    als de volgende aanmelding plaatsvindt of de gebruiker een su opdracht geeft. <p>
<li><b>Controleer geen restricties van het wachtwoord</b><br>
    Als deze flag is gezet, dan behoeven nieuwe wachtwoorden niet aan de regels 
    voor nieuwe wachtwoorden te voldoen. <p>
</ul>
<hr>

 0707010001e90a000081a40000000000000002000000013d1fe2c000000259000000200000000000000000000000000000002300000003reloc/useradmin/help/flags.pl.html    <header>Znaczniki kont</header>

S± trzy ró¿ne znaczniki dotycz±ce hase³:
<ul>
<li><b>Tylko root mo¿e zmieniaæ has³o</b><br>
    Je¶li jest ustawiony ten znacznik, to jedynie u¿ytkownik root mo¿e
    zmieniaæ dane has³a. <p>
<li><b>U¿ytkownik musi wybraæ nowe has³o</b><br>
    Ustawienie tego znacznika zmusza u¿ytkownika do zmiany has³a przy
    nastêpnym jego logowaniu poprzez wywo³aniu polecenia login lub su. <p>
<li><b>Nie sprawdzaæ ograniczeñ dla hase³</b><br>
    W&nbsp;przypadku ustawienia tego znacznika, nowo wybrane has³o nie musi
    spe³niaæ zasad obowi±zuj±cych dla hase³.
</ul>
<hr>
   0707010001e90b000081a40000000000000002000000013d1fe2c0000001f6000000200000000000000000000000000000002400000003reloc/useradmin/help/gchgid.ca.html   <header>Canvia l'ID de grup dels fitxers</header>

En editar un grup, si es canvia <a href=uid>l'ID de l'usuari</a>,
llavors els fitxers propietat d'aquest grup romandran amb el GID antic.
Aquesta opció es pot fer servir per actualitzar la propietat dels
fitxers al UID nou buscant, bé els directori arrel dels usuaris
(Directoris arrel), bé tot el sistema de fitxers (Tots els fitxers).
L'opció Tots els fitxers pot trigar molt, sobretot si tens molts sistemes
de fitxers grans o NFS muntats.

<hr>


  0707010001e90c000081a40000000000000002000000013d1fe2c000000243000000200000000000000000000000000000002400000003reloc/useradmin/help/gchgid.es.html   <header>¿Cambio GID de usuario en los archivos?</header>

Cuando se edita un grupo ya existente, si se cambia la
<a href=ggid.es>ID de Grupo</a> entonces los archivos
pertenecientes a ese grupo seguirán perteneciendo a la vieja GID.
Se puede utilizar esta opción para actualizar la propiedad de los archivos
a la nueva GID mediante la búsqueda en el directorio inicial (Directorio de
Inicio) del usuario o en todo el sistema de archivos (Todos los Archivos).
Esta última opción puede tardar bastante, especiálmente si tienes montados
sistemas de archivo o NFS muy grandes.
<hr>

 0707010001e90e000081a40000000000000002000000013d1fe2c0000001ee000000200000000000000000000000000000002100000003reloc/useradmin/help/gchgid.html  <header>Change GID on files?</header>

When editing a group, if the <a href=ggid>group ID</a> is changed then
files owned by that group will remain owned by the old GID. This option
can be used to update the ownership on files to the new GID by searching
either the home directories of all users who are members of this group
(Home Directories) or the entire filesystem (All Files). The All Files
option may take a long time, especially if you have many large or NFS
mounted filesystems.
<hr>

  0707010001e90d000081a40000000000000002000000013d1fe2c00000021e000000200000000000000000000000000000002400000003reloc/useradmin/help/gchgid.fr.html   <header>Changer de groupe sur les fichiers?</header>

Quand un groupe est édité et que son <a href=gid>Numéro de groupe</a>
est changé, les fichiers qui appartenaient à ce groupe garderont
l'ancien numéro. Cette option permet de mettre à jour le numéro de
groupe des fichiers avec le nouveau numéro en cherchant soit dans le
répertoire des utilisateurs (Répertoire personnel) soit dans tout
le système de fichiers (Tous les fichiers). L'option pour tous les
fichiers peut prendre longtemps, surtout si vous avez de gros
disques ou NFS.
<hr>

  0707010001e90f000081a40000000000000002000000013d1fe2c00000024b000000200000000000000000000000000000002400000003reloc/useradmin/help/gchgid.pl.html   <header>Zmieniæ GID na plikach?</header>

Je¶li przy zmianie grupy numer <a href=ggid>ID grupy</a> zostanie zmieniony
wówczas pliki nale¿±ce do tej grupy pozostan± w³asno¶ci± poprzedniego numeru
GID. Opcja ta mo¿e byæ u¿yta do aktualizacji praw w³asno¶ci na plikach na
nowy numer GID poprzez przeszukanie katalogów domowych wszystkich
u¿ytkowników bêd±cych cz³onkami tej grupy (Katalogi domowe) lub ca³ego
systemu plików (Wszystkie pliki). Opcja &quot;Wszystkie pliki&quot; mo¿e
zaj±æ du¿o czasu, zw³aszcza je¶li posiadasz wiele du¿ych lub podmontowanych
przez NFS systemów plików.
<hr>
 0707010001e910000081a40000000000000002000000013d1fe2c000000255000000200000000000000000000000000000002700000003reloc/useradmin/help/gchgid.ru_RU.html    <header>Èçìåíÿòü GID íà ôàéëû?</header>

Åñëè ïðè ðåäàêòèðîâàíèè ãðóïïû èçìåíèëñÿ <a href=ggid>group ID ãðóïïû</a>, òî ôàéëû îáëàäàåìûå äàííîé ãðóïïîé îñòàíóòñÿ âî âëàäåíèè ñòàðîãî GID. Äàííàÿ îïöèÿ ìîæåò áûòü èñïîëüçîâàíà äëÿ îáíîâëåíèÿ ïðàâ íà ôàéëû äëÿ íîâîãî GID ïóòåì ïîèñêà êàê â äîìàøíèõ êàòàëîãàõ âñåõ ïîëüçîâàòåëåé ÿâëÿþùèõñÿ ÷ëåíàìè äàííîé ãðóïïû (ïàðàìåòð - Äîìàøíèå Êàòàëîãè), òàê è âî âñåé ôàéëîâîé ñèñòåìå (ïàðàìåòð - Âñå Ôàéëû). Èñïîëüçîâàíèå ïàðàìåòðà - Âñå Ôàéëû ìîæåò çàíÿòü ìíîãî âðåìåíè, îñîáåííî, åñëè âû èìååòå ìíîãî áîëüøèõ èëè ñìîíòèðîâàííûõ ïî NFS ôàéëîâûõ ñèñòåì. 
<hr>

   0707010001e911000081a40000000000000002000000013d1fe2c000000255000000200000000000000000000000000000002700000003reloc/useradmin/help/gchgid.ru_SU.html    <header>éÚÍÅÎÑÔØ GID ÎÁ ÆÁÊÌÙ?</header>

åÓÌÉ ÐÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÇÒÕÐÐÙ ÉÚÍÅÎÉÌÓÑ <a href=ggid>group ID ÇÒÕÐÐÙ</a>, ÔÏ ÆÁÊÌÙ ÏÂÌÁÄÁÅÍÙÅ ÄÁÎÎÏÊ ÇÒÕÐÐÏÊ ÏÓÔÁÎÕÔÓÑ ×Ï ×ÌÁÄÅÎÉÉ ÓÔÁÒÏÇÏ GID. äÁÎÎÁÑ ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÐÒÁ× ÎÁ ÆÁÊÌÙ ÄÌÑ ÎÏ×ÏÇÏ GID ÐÕÔÅÍ ÐÏÉÓËÁ ËÁË × ÄÏÍÁÛÎÉÈ ËÁÔÁÌÏÇÁÈ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ñ×ÌÑÀÝÉÈÓÑ ÞÌÅÎÁÍÉ ÄÁÎÎÏÊ ÇÒÕÐÐÙ (ÐÁÒÁÍÅÔÒ - äÏÍÁÛÎÉÅ ëÁÔÁÌÏÇÉ), ÔÁË É ×Ï ×ÓÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ (ÐÁÒÁÍÅÔÒ - ÷ÓÅ æÁÊÌÙ). éÓÐÏÌØÚÏ×ÁÎÉÅ ÐÁÒÁÍÅÔÒÁ - ÷ÓÅ æÁÊÌÙ ÍÏÖÅÔ ÚÁÎÑÔØ ÍÎÏÇÏ ×ÒÅÍÅÎÉ, ÏÓÏÂÅÎÎÏ, ÅÓÌÉ ×Ù ÉÍÅÅÔÅ ÍÎÏÇÏ ÂÏÌØÛÉÈ ÉÌÉ ÓÍÏÎÔÉÒÏ×ÁÎÎÙÈ ÐÏ NFS ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ. 
<hr>

   0707010001e912000081a40000000000000002000000013d1fe2c0000001d6000000200000000000000000000000000000002400000003reloc/useradmin/help/gchgid.sv.html   <header>Byta grupp-ID på filer?</header>

Om man ändrar en grupps <a href=ggid>grupp-ID</a> kommer filerna
som ägdes av denna grupp fortfarande ägas av dess gamla grupp-ID. Här kan man
ändra filägandet till ett nytt GID genom att söka igenom hemkatalogerna för 
alla användare som är medlemmar i gruppen (Hemkataloger) eller hela
filsystemet (Alla filer).
Alternativet Alla filer tar ett tag att genomföra, särskilt om man har
stora eller NFS-monterade filsystem.
<hr>

  0707010001e913000081a40000000000000002000000013d1fe2c000000148000000200000000000000000000000000000002c00000003reloc/useradmin/help/gchgid.zh_TW.Big5.html   <header>¬O§_§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H</header>

·í½s¿è¤@­Ó¸s²Õ®É¡A¦pªG<a href=ggid>¸s²Õ½s¸¹</a>³Q§ïÅÜ¡A«h©Ò¾Ö¦³ªºÀÉ®×¤´·|ÄÝ©óÂÂªº GID¡C³o­Ó¿ï¶µ¥i¥H·j´M©Ò¦³ÄÝ©ó³o­Ó¸s²Õªº¨Ï¥ÎªÌ¤§®a¥Ø¿ý©Î¾ã­ÓÀÉ®×¨t²Î¡A¨Ã§ó·s¨ä©Ò¾Ö¦³ªºÀÉ®×¾Ö¦³Åv¨ì·sªº GID¡C¨Ï¥Î¡u¥þ³¡ªºÀÉ®×¡v¿ï¶µ¥i¯à·|ªá¶O¬Û·íªøªº®É¶¡¡A¤×¨ä¬O±z¦³«Ü¦h¤jªº©Î¨Ó¦Û NFS ªºÀÉ®×¨t²Î®É¡C
<hr>

0707010001e914000081a40000000000000002000000013d1fe2c00000018d000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.ca.html <header>ID del Grup</header>

Igual que <a href=uid>l'ID de l'usuari</a>, l'ID o GID del grup és allò
que el sistema fa servir realment per aplicar els permisos sobre els
fitxers i processos. Si dos grups tenen el mateix GID, llavors es consideraran
equivalents en qüestió de permisos. En crear un grup nou, Webmin emplenarà
aquest camp amb un GID que no estigui en ús per cap altre grup.

<hr>


   0707010001e915000081a40000000000000002000000013d1fe2c000000191000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.es.html <header>ID de Grupo</header>

Al igual que la <a href=uid.es>ID de usuario</a>, la ID de grupo o GID es la
que el sistema realmente utiliza para forzar los permisos sobre los archivos y
procesos, Si dos grupo tienen la misma GID son considerados equivalentes a
la hora de chequear los permisos. Al crear un nuevo grupo, Webmin rellena
este campo con una GID que no esté en uso por otro grupo.

<hr>


   0707010001e916000081a40000000000000002000000013d1fe2c0000001cc000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.fr.html <header>Numéro de groupe</header>

Tout comme le <a href=uid>numéro d'utilisateur</a, le numéro de groupe (ou GID)
est ce que le système utilise vraiment pour attribuer les permissions aux
fichiers et processus. Si deux groupes ont le même numéro ils seront considérés
comme équivalents lors d'une vérification de permissions. Quand un nouveau
groupe est créé, Webmin remplira ce champ avec un numéro qui n'est pas utilisé
par un autre groupe.
<hr>

0707010001e917000081a40000000000000002000000013d1fe2c000000179000000200000000000000000000000000000001f00000003reloc/useradmin/help/ggid.html    <header>Group ID</header>

Like the <a href=uid>user ID</a>, the group ID or GID is what the system really
uses to enforce permissions on files and processes. If two groups have the
same GID they will be considered equivalent when it comes to checking
permissions. When creating a new group, Webmin will fill this field with 
a GID that is not in use by another group.

<hr>


   0707010001e918000081a40000000000000002000000013d1fe2c0000001bb000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.nl.html <header>Groeps ID</header>

Evenals de <a href=uid>gebruikers ID</a>, is het de Groeps ID of GID die 
het systeem werkelijk gebruikt om rechten op bestanden en processen af te 
dwingen. Als twee groepen dezelfde GID hebben, worden ze als identiek gezien 
als het gaat om de controle op toegangsrechten. Bij het aanmaken van een 
nieuwe groep zal Webmin dit veld invullen met een GID die nog niet door een 
andere groep wordt gebruikt.

<hr>


 0707010001e919000081a40000000000000002000000013d1fe2c00000018d000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.pl.html <header>Numer ID grupy</header>

Podobnie do <a href=uid>numeru ID u¿ytkownika</a>, numer ID dla grupy lub
numer GID jest tym, czego system w rzeczywisto¶ci u¿ywa dla wymuszenia praw
do plików i procesów. Je¶li dwie grupy maja ten sam numer GID, s± one
równowa¿ne podczas sprawdzania uprawnieñ. Tworz±c now± grupê Webmin wype³ni
to pole numerem GID, który nie jest u¿ywany przez inna grupê.

<hr>
   0707010001e91a000081a40000000000000002000000013d1fe2c000000171000000200000000000000000000000000000002500000003reloc/useradmin/help/ggid.ru_RU.html  <header>ID Ãðóïïû</header>

Êàê è <a href=uid> ID ïîëüçîâàòåëÿ</a>, ID ãðóïïû èëè GID - 
ýòî èäåíòèôèêàòîð, êîòîðûé ñèñòåìà ðåàëüíî èñïîëüçóåò äëÿ îïðåäåëåíèÿ ïðàâ íà
ôàéëû è ïðîöåññû. Åñëè äâå ãðóïïû èìåþò îäèíàêîâûé GID îíè áóäóò ýêâèâàëåíòíû
äëÿ ñèñòåìû ïðè ïðîâåðêå ïðàâ. Ïðè ñîçäàíèè íîâîé ãðóïïû ýòî ïîëå áóäåò 
àâòîìàòè÷åñêè çàïîëíåíî íåèñïîëüçóåìûì GID.
<hr>


   0707010001e91b000081a40000000000000002000000013d1fe2c000000171000000200000000000000000000000000000002500000003reloc/useradmin/help/ggid.ru_SU.html  <header>ID çÒÕÐÐÙ</header>

ëÁË É <a href=uid> ID ÐÏÌØÚÏ×ÁÔÅÌÑ</a>, ID ÇÒÕÐÐÙ ÉÌÉ GID - 
ÜÔÏ ÉÄÅÎÔÉÆÉËÁÔÏÒ, ËÏÔÏÒÙÊ ÓÉÓÔÅÍÁ ÒÅÁÌØÎÏ ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ÏÐÒÅÄÅÌÅÎÉÑ ÐÒÁ× ÎÁ
ÆÁÊÌÙ É ÐÒÏÃÅÓÓÙ. åÓÌÉ Ä×Å ÇÒÕÐÐÙ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÙÊ GID ÏÎÉ ÂÕÄÕÔ ÜË×É×ÁÌÅÎÔÎÙ
ÄÌÑ ÓÉÓÔÅÍÙ ÐÒÉ ÐÒÏ×ÅÒËÅ ÐÒÁ×. ðÒÉ ÓÏÚÄÁÎÉÉ ÎÏ×ÏÊ ÇÒÕÐÐÙ ÜÔÏ ÐÏÌÅ ÂÕÄÅÔ 
Á×ÔÏÍÁÔÉÞÅÓËÉ ÚÁÐÏÌÎÅÎÏ ÎÅÉÓÐÏÌØÚÕÅÍÙÍ GID.
<hr>


   0707010001e91c000081a40000000000000002000000013d1fe2c000000191000000200000000000000000000000000000002200000003reloc/useradmin/help/ggid.sv.html <header>Grupp-ID</header>

Precis som för <a href=uid>användar-ID</a> är grupp-ID eller GID det som
systemet egentligen använder sig av för att kontrollera rättigheter för
filer och processer. Om två grupper har samma GID kommer de att behandlas
som likvärdiga ifråga om rättigheter. När en ny grupp skapas kommer Webmin
att i detta fält fylla i ett GID som inte används av någon annan grupp.

<hr>


   0707010001e91d000081a40000000000000002000000013d1fe2c000000111000000200000000000000000000000000000002a00000003reloc/useradmin/help/ggid.zh_TW.Big5.html <header>¸s²Õ½s¸¹</header>

´N¹³¬O<a href=uid>¨Ï¥ÎªÌ½s¸¹</a>¤@¼Ë¡A¸s²Õ½s¸¹©Î GID ¬O¨t²Î¹ê»Ú¤W¥Î¥HÃÑ§OÀÉ®×»Pµ{§ÇÅv­­ªº¼Æ¦r¡C¦pªG¨â­Ó¸s²Õ¦³¬Û¦Pªº GID¡A«h¦bÀË¬dÅv­­®É¡A³o¨â­Ó¸s²Õ¬O³Qµø¬°¬Û¦Pªº¡C·í«Ø¥ß·sªº¸s²Õ®É¡AWebmin ·|¦Û°Ê¥H¤@­Ó¥¼³Q¨ä¥L¸s²Õ¨Ï¥Îªº GID ¶ñ¤J³o­ÓÄæ¦ì¡C

<hr>


   0707010001e91e000081a40000000000000002000000013d1fe2c00000008f000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.ca.html   <header>Nom del Grup</header>

Cada grup ha de tenir un nom únic que l'identifiqui. Aquest nom no es pot
canviar un cop creat el grup.

<hr>


 0707010001e91f000081a40000000000000002000000013d1fe2c0000000a5000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.es.html   <header>Nombre de Grupo</header>

Cada grupo debe de tener un nombre único que lo identifique. Este nombre
no puede ser cambiado una vez que se cree el grupo.
<hr>

   0707010001e920000081a40000000000000002000000013d1fe2c000000094000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.fr.html   <header>Nom de groupe</header>

Chaque groupe doit avoir un nom unique. Ce nom ne peut pas être
changé une fois que le groupe est créé.
<hr>

0707010001e921000081a40000000000000002000000013d1fe2c000000092000000200000000000000000000000000000002100000003reloc/useradmin/help/ggroup.html  <header>Group name</header>

Every group must have a unique name that identifies it. This name cannot
be changed once the group is created.
<hr>

  0707010001e922000081a40000000000000002000000013d1fe2c0000000b0000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.nl.html   <header>Groepsnaam</header>

Iedere groep moet een unieke naam hebben om die groep aan te duiden. 
Deze naam kan niet worden veranderd als de groep eenmal is aangemaakt.
<hr>

0707010001e923000081a40000000000000002000000013d1fe2c000000091000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.pl.html   <header>Nazwa grupy</header>

Ka¿da grupa musi mieæ unikaln± nazwê, która j± identyfikuje. Po utworzeniu
grupy tej nazwy nie mo¿na zmieniæ.
<hr>
   0707010001e924000081a40000000000000002000000013d1fe2c00000008c000000200000000000000000000000000000002700000003reloc/useradmin/help/ggroup.ru_RU.html    <header>Èìÿ ãðóïïû</header>

Êàæäàÿ ãðóïïà äîëæíà èìåòüóíèêàëüíîå èìÿ èäåíòèôèöèðóþùåå å£. Ýòî èìÿ
íå ìåíÿåòñÿ ïîñëå ñîçäàíèÿ ãðóïïû.
<hr>

0707010001e925000081a40000000000000002000000013d1fe2c00000008c000000200000000000000000000000000000002700000003reloc/useradmin/help/ggroup.ru_SU.html    <header>éÍÑ ÇÒÕÐÐÙ</header>

ëÁÖÄÁÑ ÇÒÕÐÐÁ ÄÏÌÖÎÁ ÉÍÅÔØÕÎÉËÁÌØÎÏÅ ÉÍÑ ÉÄÅÎÔÉÆÉÃÉÒÕÀÝÅÅ Å£. üÔÏ ÉÍÑ
ÎÅ ÍÅÎÑÅÔÓÑ ÐÏÓÌÅ ÓÏÚÄÁÎÉÑ ÇÒÕÐÐÙ.
<hr>

0707010001e926000081a40000000000000002000000013d1fe2c000000091000000200000000000000000000000000000002400000003reloc/useradmin/help/ggroup.sv.html   <header>Gruppnamn</header>

Varje grupp måste ha ett unikt namn som identifierare. Detta namn kan
inte ändras när gruppen väl har skapats.
<hr>

   0707010001e927000081a40000000000000002000000013d1fe2c00000006e000000200000000000000000000000000000002c00000003reloc/useradmin/help/ggroup.zh_TW.Big5.html   <header>¸s²Õ¦WºÙ</header>

¨C¤@­Ó¸s²Õ³£¥²¶·¦³¤@­Ó°ß¤@ªº¦WºÙ¥HÃÑ§O¤§¡C³o­Ó¦WºÙ¦b¸s²Õ«Ø¥ß«á«K¤£¯à³Q§ïÅÜ¡C
<hr>

  0707010001e928000081a40000000000000002000000013d1fe2c0000001a1000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.ca.html <header>Membres</header>

La part més important d'un grup és la llista d'usuaris que té per membres.
Si un usuari intenta accedir un fitxer i l'usuari és membre del grup
propietari, llavors s'hi aplicaran els permisos del grup.

Aquesta llista no inclou els usuaris que tenen aquest grup com a 
<a href=group>grup primari</a>, només els usuaris que el tenen com un
dels seus <a href=2nd>grups secundaris</a>.

<hr>


   0707010001e929000081a40000000000000002000000013d1fe2c0000001d9000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.es.html <header>Miembros</header>

La parte más importante de un grupo es la lista de usuarios considerados
como miembros. Si un usuario intenta acceder a un archivo y el usuario es
miembro del grupo propietario del archivo, entonces se aplican los permisos
de grupo para ese archivo. <p>

Esta lista no incluye a los usuario que tienen este grupo como su
<a href=group.es>grupo primario</a>, sólo a los usuario que tiene a este
como su <a href=2nd.es>grupo secundario</a>. 
<hr>

   0707010001e92a000081a40000000000000002000000013d1fe2c0000001db000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.fr.html <header>Membres</header>

La partie la plus importante d'un groupe est la liste des utilisateurs qui
en font partie. Si un utilisateur tente d'accéder un fichier et qu'il est
membre du groupe qui possède le fichier, les permissions que le groupe
a pour ce fichier s'appliqueront. <p>

Cette liste n'inclut pas les utilisateurs qui ont ce groupe comme
<a href=group>groupe primaire</a>, mais seulement ceux qui l'ont comme
<a href=2nd>groupe secondaire</a>.
<hr>

 0707010001e92b000081a40000000000000002000000013d1fe2c0000001b0000000200000000000000000000000000000002300000003reloc/useradmin/help/gmembers.html    <header>Members</header>

The most important part of a group is the list of users who are its members.
If a user attempts to access a file and the user is a member of the group
that owns the file, then the group permissions for that file will apply. <p>

This list does not include users who have this group as their
<a href=group>primary group</a>, only users who have this as one of
their <a href=2nd>secondary groups</a>. 
<hr>

0707010001e92c000081a40000000000000002000000013d1fe2c0000001dd000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.nl.html <header>Leden</header>

Het belangrijkste onderdeel van een groep is de lijst met gebruikers die 
er lid van zijn. Als een gebruiker toegang zoekt tot een bestand en lid 
is van de groep die het bestand in bezit heeft, dan zijn de groepsrechten 
van dat bestand voor die gebruiker van toepassing. <p>

Deze lijst bevat geen gebruikers die deze groep als hun
<a href=group>primaire groep</a> hebben, alleen gebruikers voor wie
dit de <a href=2nd>secundaire groep</a> is. 
<hr>

   0707010001e92d000081a40000000000000002000000013d1fe2c0000001e4000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.pl.html <header>Cz³onkowie</header>

Najwa¿niejsz± czê¶ci± grupy jest lista jej u¿ytkowników, którzy s± jej
cz³onkami. Je¶li u¿ytkownik próbuje uzyskaæ dostêp do pliku i&nbsp;jest
cz³onkiem grupy, do której ten plik nale¿y, to maj± zastosowanie prawa
dostêpu do tego pliku dla grupy. <p>

Ta lista nie zawiera u¿ytkowników, dla których ta grupa jest 
<a href=group>grup± podstawow±</a>, a&nbsp;tylko u¿ytkowników, dla których
jest ona jedn± z&nbsp;ich <a href=2nd>grup dodatkowych</a>.

<hr>
0707010001e92f000081a40000000000000002000000013d1fe2c0000001f7000000200000000000000000000000000000002900000003reloc/useradmin/help/gmembers.ru_RU.html  <header>×ëåíû</header>

Íàèáîëåå âàæíîé õàðàêòåðèñòèêîé ÿâëÿåòñÿ ñïèñîê ïîëüçîâàòåëåé, êîòîðûå ÿâëÿþòñÿ å£ ÷ëåíàìè. Åñëè ïîëüçîâàòåëü ïûòàåòñÿ îáðàòèòüñÿ ê ôàéëó è äàííûé ïîëüçîâàòåëü ÿâëÿåòñÿ ÷ëåíîì ãðóïïû îáëàäàþùåé äàííûì ôàéëîì, òî áóäóò èñïîëüçîâàòüñÿ ïðàâà äîñòóïà äàííîé ãðóïïû ê ýòîìö ôàéëó.
<p>

Äàííûé ñïèñîê íå âêëþ÷àåò ïîëüçîâàòåëåé èìåþùèõ äàííóþ ãðóïïó â êà÷åñòâå <a href=group>ïåðâè÷íîé ãðóïïû</a>, òîëêî ïîëüçîâàòåëåé, êîòîðûå èìåþò å£ â êà÷åñòâå <a href=2nd>âòîðè÷íîé ãðóïïû</a>.
<hr>

 0707010001e935000081a40000000000000002000000013d1fe2c0000001f7000000200000000000000000000000000000002900000003reloc/useradmin/help/gmembers.ru_SU.html  <header>þÌÅÎÙ</header>

îÁÉÂÏÌÅÅ ×ÁÖÎÏÊ ÈÁÒÁËÔÅÒÉÓÔÉËÏÊ Ñ×ÌÑÅÔÓÑ ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ Ñ×ÌÑÀÔÓÑ Å£ ÞÌÅÎÁÍÉ. åÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÐÙÔÁÅÔÓÑ ÏÂÒÁÔÉÔØÓÑ Ë ÆÁÊÌÕ É ÄÁÎÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ Ñ×ÌÑÅÔÓÑ ÞÌÅÎÏÍ ÇÒÕÐÐÙ ÏÂÌÁÄÁÀÝÅÊ ÄÁÎÎÙÍ ÆÁÊÌÏÍ, ÔÏ ÂÕÄÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÁÎÎÏÊ ÇÒÕÐÐÙ Ë ÜÔÏÍÃ ÆÁÊÌÕ.
<p>

äÁÎÎÙÊ ÓÐÉÓÏË ÎÅ ×ËÌÀÞÁÅÔ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÉÍÅÀÝÉÈ ÄÁÎÎÕÀ ÇÒÕÐÐÕ × ËÁÞÅÓÔ×Å <a href=group>ÐÅÒ×ÉÞÎÏÊ ÇÒÕÐÐÙ</a>, ÔÏÌËÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÉÍÅÀÔ Å£ × ËÁÞÅÓÔ×Å <a href=2nd>×ÔÏÒÉÞÎÏÊ ÇÒÕÐÐÙ</a>.
<hr>

 0707010001e937000081a40000000000000002000000013d1fe2c0000001c0000000200000000000000000000000000000002600000003reloc/useradmin/help/gmembers.sv.html <header>Medlemmar</header>

Den viktigaste delen av en grupp är listan över de användare som är
medlemmar i gruppen. Om en användare försöker komma åt en fil och denna
användare är medlem i den grupp som äger filen, kommer grupprättigheterna
för filen att gälla.

Listan innehåller inte användare som har denna grupp som sin
<a href=group>primära grupp</a>, utan endast användare som har den som en
av sina <a href=2nd>sekundära grupper</a>. 
<hr>
0707010001e93c000081a40000000000000002000000013d1fe2c000000111000000200000000000000000000000000000002e00000003reloc/useradmin/help/gmembers.zh_TW.Big5.html <header>¦¨­û</header>

¹ï¸s²Õ¦Ó¨¥¡A³Ì­«­nªº³¡¤À«K¬O¨ä¦¨­ûªº¦Cªí¡C¦pªG¨Ï¥ÎªÌ¸ÕµÛ¦s¨ú¤@­ÓÀÉ®×¡A¥B¨Ï¥ÎªÌ¬O¾Ö¦³¸ÓÀÉ®×¸s²Õªº¦¨­û¡A«h¸s²ÕÅv­­±N·|³Q®M¥Î¡C<p>

³o­Ó¦Cªí¨Ã¤£¥]§t¥H³o­Ó¸s²Õ¬°<a href=group>¥D¸s²Õ</a>ªº¨Ï¥ÎªÌ¡A³o¥u·|¦C¥X¥H¦¹¸s²Õ¬°<a href=2nd>¦¸¸s²Õ</a>ªº¨Ï¥ÎªÌ¡C
<hr>

   0707010001e942000081a40000000000000002000000013d1fe2c000000097000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.ca.html  <header>Contrasenya</header>

Les contrasenyes de grup ja no es fan servir o no s'apliquen a la majoria
de sistemes. Pots ignorar aquest camp.

<hr>


 0707010001e943000081a40000000000000002000000013d1fe2c00000008e000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.es.html  <header>Clave de Acceso</header>

Las claves de acceso de grupo ya no se utilizan en la mayoría de sistemas.
Puedes ignorar este campo.
<hr>

  0707010001e950000081a40000000000000002000000013d1fe2c0000001fa000000200000000000000000000000000000002000000003reloc/useradmin/help/group.html   <header>Primary group</header>
This is the group that by default will own any files or processes
created by this user. If this user attempts to access a file and the group
of that file is the user's primary group then the group permissions for that
file will apply (unless the user is the owner of the file). <p>

If you are editing an existing user and the primary group is changed,
the <a href=chgid>Change group ID on files?</a> option determines what
files (if any) have their group changed. <p>
<hr>

  0707010001e945000081a40000000000000002000000013d1fe2c0000000ae000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.fr.html  <header>Mot de passe de groupe</header>

Les mots de passe de groupes ne sont plus utilisés ni vérifiés sur la
plupart des systèmes. Vous pouvez donc ignorer ce champ.
<hr>

  0707010001e946000081a40000000000000002000000013d1fe2c00000007c000000200000000000000000000000000000002200000003reloc/useradmin/help/gpasswd.html <header>Password</header>

Group passwords are no longer used or enforced on most systems. You can
ignore this field.
<hr>

0707010001e947000081a40000000000000002000000013d1fe2c10000008e000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.nl.html  <header>Wachtwoord</header>

Groeps wachtwoorden worden niet meer gebruikt of verplicht op de
meeste systemen. U kunt dit veld negeren.
<hr>

  0707010001e948000081a40000000000000002000000013d1fe2c00000007f000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.pl.html  <header>Has³o</header>

W wiêkszo¶ci systemów has³a dla grup nie s± ju¿ u¿ywane ani wymuszane.
Mo¿esz zignorowaæ to pole.
<hr>
 0707010001e949000081a40000000000000002000000013d1fe2c000000091000000200000000000000000000000000000002800000003reloc/useradmin/help/gpasswd.ru_RU.html   <header>Ïàðîëü</header>

Ïàðîëè ãðóïï áîëøå íå èñïîëüçóþòñÿ èëè íåàêòèâíû íà áîëüøèíñòâå ñèñòåì. Âû ìîæåòå ñìåëî èãíîðèðîâàòü äàííîå ïîëå.
<hr>

   0707010001e94a000081a40000000000000002000000013d1fe2c000000091000000200000000000000000000000000000002800000003reloc/useradmin/help/gpasswd.ru_SU.html   <header>ðÁÒÏÌØ</header>

ðÁÒÏÌÉ ÇÒÕÐÐ ÂÏÌÛÅ ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÉÌÉ ÎÅÁËÔÉ×ÎÙ ÎÁ ÂÏÌØÛÉÎÓÔ×Å ÓÉÓÔÅÍ. ÷Ù ÍÏÖÅÔÅ ÓÍÅÌÏ ÉÇÎÏÒÉÒÏ×ÁÔØ ÄÁÎÎÏÅ ÐÏÌÅ.
<hr>

   0707010001e94b000081a40000000000000002000000013d1fe2c00000006a000000200000000000000000000000000000002500000003reloc/useradmin/help/gpasswd.sv.html  <header>Lösenord</header>

Grupplösenord används nästan inte alls nuförtiden. Strunta i detta fält.
<hr>

  0707010001e94c000081a40000000000000002000000013d1fe2c00000005c000000200000000000000000000000000000002d00000003reloc/useradmin/help/gpasswd.zh_TW.Big5.html  <header>¸s²Õ±K½X</header>

¸s²Õ±K½X¤w¸g¤£¦b³Q¤j¦h¼Æªº¨t²Î©Ò¨Ï¥Î¡C±z¥i¥H©¿²¤³o­ÓÄæ¦ì¡C
<hr>

0707010001e94d000081a40000000000000002000000013d1fe2c000000227000000200000000000000000000000000000002300000003reloc/useradmin/help/group.ca.html    <header>Grup primari</header>

Aquest és el grup que, per defecte, posseeix tots els fitxers i processos
creats per aquest usuari. Si aquest usuari intenta accedir a un fitxer i
el grup d'aquest fitxer és el grup primari de l'usuari, llavors s'aplicaran
els permisos del grup per aquest fitxer (a menys que l'usuari sigui el 
propietari del fitxer).
<p>

Si estàs editant un usuari existent i en canvies el grup primari, l'opció
<a href=chgid>Canvia l'ID de grup dels fitxers</a> determina quins fitxers
es canviaran de grup (si n'hi ha).
<p>

<hr>


 0707010001e94e000081a40000000000000002000000013d1fe2c000000259000000200000000000000000000000000000002300000003reloc/useradmin/help/group.es.html    <header>Grupo Primario</header>

Este es el grupo que por defecto será el propietario de cualquier archivo
o proceso creado por el usuario. Si este usuario intenta acceder a un
archivo y el grupo de ese archivo es del grupo primario del usuario, entonces
los permisos de grupo para ese archivo son aplicados (a menos que el usuario
sea el propietario del archivo). <p>

Si estás editando un usuario ya existente y el grupo primario es cambiado,
la opción de <a href=chgid_es>¿Cambio ID de grupo en los archivos?</a>
determina a qué archivos (si hay alguno) se les cambiará tambien su grupo. <p>
<hr>

   0707010001e94f000081a40000000000000002000000013d1fe2c000000222000000200000000000000000000000000000002300000003reloc/useradmin/help/group.fr.html    <header>Groupe primaire</header>
Ceci est le groupe qui possèdera par défaut tous les fichiers créés par cet
utilisateur. Si un utilisateur tente d'accéder à un fichier qui appartient à
son groupe principal, les permissions du groupe pour ce fichier s'appliqueront
(sauf si l'utilisateur est aussi le propriétaire du fichier). <p>

Si vous éditez un utilisateur existant et que son groupe primaire est changé,
l'option <a href=chgid>Changer le groupe des fichiers</a> déterminera quels
fichiers doivent avoir leur groupe changé.
<hr>

  0707010001e951000081a40000000000000002000000013d1fe2c10000028e000000200000000000000000000000000000002300000003reloc/useradmin/help/group.nl.html    <header>Primaire groep</header>

Deze groep zal standaard alle bestanden en processen die door
deze gebruiker worden aangemaakt in eigendom hebben. Als de 
gebruiker probeert toegang te verkrijgen tot een bestand en de 
groep van dat bestand is de primaire groep van die gebruiker, 
dan zijn de groepsrechten van dat bestand voor die gebruiker 
van toepassing (uiteraard tenzij de gebruiker zelf eigenaar 
van het bestand is). <p>

Als u een bestaande gebruiker wijzigt en de primaire groep wordt 
veranderd, dan bepaald de optie:  
<a href=chgid>Groeps ID van bestanden veranderen?</a> van welke 
categorie bestanden de groep wordt aangepast. <p>
<hr>

  0707010001e952000081a40000000000000002000000013d1fe2c000000259000000200000000000000000000000000000002300000003reloc/useradmin/help/group.pl.html    <header>Grupa podstawowa</header>

Jest to domy¶lna grupa, do której bêd± nale¿a³y wszystkie pliki
i&nbsp;procesy utworzone przez tego u¿ytkownika. Je¶li ten u¿ytkownik bêdzie
próbowa³ uzyskaæ dostêp do pliku i&nbsp;grupa tego pliku bêdzie jego grup±
podstawow±, to prawa dostêpu do tego pliku dla grupy bêd± mia³y zastosowanie
(o&nbsp;ile u¿ytkownik nie jest w³a¶cicielem tego pliku). <p>

Je¶li zmieniasz istniej±cego u¿ytkownika i&nbsp;zmieni³a siê jego grupa
podstawowa, to opcja <a href=chgid>Zmieniæ ID grupy na plikach?</a> okre¶la,
którym plikom (je¶li w ogóle) nale¿y zmieniæ grupê. <p>
<hr>
   0707010001e953000081a40000000000000002000000013d1fe2c00000027e000000200000000000000000000000000000002600000003reloc/useradmin/help/group.ru_RU.html <header>Ïåðâè÷íàÿ Ãðóïïà</header>
Ýòî ãðóïïà, êîòîðàÿ ïî óìîë÷àíèþ áóäåò ãðóïïîé - âëàäåëüöåì ëþáîãî ôàéëà èëè
ïðîöåññà ñîçäàííîãî ýòèì ïîëüçîâàòåëåì. Åñëè ïîëüçîâàòåëü îáðàùàåòñÿ ê ôàéëó
è èäåíòèôèêàòîð ãðóïïû äàííîãî ôàéëà ÿâëÿåòñÿ èäåíòèôèêàòîðîì ïåðâè÷íîé ãðóïïû
äàííîãî ïîëüçîâàòåëÿ, òî âñòóïàþò â ñèëó ïðàâà ãðóïïû íà äàííûé ôàéë (åñëè òîëüêî 
ïîëüçîâàòåëü íå ÿâëÿåòñÿ âëàäåëüöåì äàííîãî ôàéëà).
<p>

Åñëè ïðè ðåäàêòèðîâàíèè ñóùåñòâóþùåãî ïîëüçîâàòåëÿ âû èçìåíèëè ïåðâè÷íóþ ãðóïïó
(åñëè âàì ýòî ðàçðåøåíî), îïöèÿ <a href=chgid>Èçìåíèòü ID ãðóïïû íà ôàéëû?
</a> îïðåäåëÿåò êàêèå ôàéëû (åñëè îíè åñòü) ïîìåíÿþò ñâîþ ãðóïïó.
<p>
<hr>

  0707010001e954000081a40000000000000002000000013d1fe2c00000027e000000200000000000000000000000000000002600000003reloc/useradmin/help/group.ru_SU.html <header>ðÅÒ×ÉÞÎÁÑ çÒÕÐÐÁ</header>
üÔÏ ÇÒÕÐÐÁ, ËÏÔÏÒÁÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ÇÒÕÐÐÏÊ - ×ÌÁÄÅÌØÃÅÍ ÌÀÂÏÇÏ ÆÁÊÌÁ ÉÌÉ
ÐÒÏÃÅÓÓÁ ÓÏÚÄÁÎÎÏÇÏ ÜÔÉÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. åÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÏÂÒÁÝÁÅÔÓÑ Ë ÆÁÊÌÕ
É ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÄÁÎÎÏÇÏ ÆÁÊÌÁ Ñ×ÌÑÅÔÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ ÐÅÒ×ÉÞÎÏÊ ÇÒÕÐÐÙ
ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÔÏ ×ÓÔÕÐÁÀÔ × ÓÉÌÕ ÐÒÁ×Á ÇÒÕÐÐÙ ÎÁ ÄÁÎÎÙÊ ÆÁÊÌ (ÅÓÌÉ ÔÏÌØËÏ 
ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ Ñ×ÌÑÅÔÓÑ ×ÌÁÄÅÌØÃÅÍ ÄÁÎÎÏÇÏ ÆÁÊÌÁ).
<p>

åÓÌÉ ÐÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ×Ù ÉÚÍÅÎÉÌÉ ÐÅÒ×ÉÞÎÕÀ ÇÒÕÐÐÕ
(ÅÓÌÉ ×ÁÍ ÜÔÏ ÒÁÚÒÅÛÅÎÏ), ÏÐÃÉÑ <a href=chgid>éÚÍÅÎÉÔØ ID ÇÒÕÐÐÙ ÎÁ ÆÁÊÌÙ?
</a> ÏÐÒÅÄÅÌÑÅÔ ËÁËÉÅ ÆÁÊÌÙ (ÅÓÌÉ ÏÎÉ ÅÓÔØ) ÐÏÍÅÎÑÀÔ Ó×ÏÀ ÇÒÕÐÐÕ.
<p>
<hr>

  0707010001e955000081a40000000000000002000000013d1fe2c0000001c1000000200000000000000000000000000000002300000003reloc/useradmin/help/group.sv.html    <header>Primär grupp</header>
Detta är den grupp som kommer att äga de filer och processer som användaren
skapar. Om användaren försöker att komma åt en fil vars grupp är användarens
primära grupp kommer grupprättigheterna för filen att gälla (om inte
användaren äger filen).

<p>Om man ändrar primär grupp för någon användare kommer inställningen
<a href=chgid>Byta grupp-ID för filer?</a> att bestämma vilka filer som
gruppen ska ändras på.
<hr>

   0707010001e956000081a40000000000000002000000013d1fe2c000000123000000200000000000000000000000000000002b00000003reloc/useradmin/help/group.zh_TW.Big5.html    <header>¥D¸s²Õ</header>
³o¬O«Ø¥ß¥ô¦óÀÉ®×©Îµ{§Ç®É¹w³]ªº¸s²Õ½s¸¹¡C¦pªG¨Ï¥ÎªÌ¸ÕµÛ¦s¨ú¤@­ÓÄÝ©ó¨ä¥D¸s²ÕªºÀÉ®×¡A¸s²ÕªºÅv­­±N·|³Q®M¥Î¡]°£«D¨Ï¥ÎªÌ¾Ö¦³³o­ÓÀÉ®×¡C¡^<p>

¦pªG±z¥¿½s¿è¤@­Ó¦s¦bªº¨Ï¥ÎªÌ¡A¦Ó¥B¨ä¥D¸s²Õ³Q§ïÅÜ¡A<a href=chgid>¬O§_§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H</a>¿ï¶µ±N·|¨M©w¬O§_­n§ïÅÜ¨ä¸s²Õ¡C<p>
<hr>

 0707010001e957000081a40000000000000002000000013d1fe2c000000233000000200000000000000000000000000000002200000003reloc/useradmin/help/home.ca.html <header>Directori Arrel</header>

El directori arrel d'un usuari normalment conté tots els fitxers propietat
d'aquest usuari. Quan un usuari entra al sistema, se l'emplaça dins del
seu directori arrel, i s'executen scripts com ara <tt>.cshrc</tt> o
<tt>.profile</tt>.
<p>

En crear un usuari nou, Webmin crearà el directori arrel que introdueixis
en aquest camp. Si canvies el directori arrel d'un usuari quan el
modifiquis, Webmin intentarà canviar el directori si està activada l'opció 
<a href=movehome>Desplaça el directori arrel si s'ha canviat</a>.

<hr>


 0707010001e958000081a40000000000000002000000013d1fe2c00000024e000000200000000000000000000000000000002200000003reloc/useradmin/help/home.es.html <header>Directorio Inicial</header>

Un directorio inicial de usuario típicamente contiene todos los archivos
que son propiedad de ese usuario. Cuando un usuario hace login es puesto
en su directorio inicial y guiones como <tt>.cshrc</tt> o <tt>.profile</tt>
son ejectutados. <p>

Cuando se crea un nuevo usuario, Webmin creará el directorio inicial que
digites en este campo. Si cambias el directorio inicial al modificar un
usuario ya existente, Webmin intentará renombrar el directorio si la opción
<a href=movehome.es>¿Muevo el directorio inicial si ha cambiado?</a> está
activa.
<hr>

  0707010001e959000081a40000000000000002000000013d1fe2c000000269000000200000000000000000000000000000002200000003reloc/useradmin/help/home.fr.html <header>Répertoire personnel</header>

Le répertoire personnel d'un utilisateur contient tous les fichiers qui
lui appartiennent. Quand un usager ouvre une session, il sera placé dans ce
répertoire et des scripts comme <tt>.cshrc</tt> ou <tt>.profile</tt> seront
exécutés. <p>

Quand un nouvel utilisateur est créé, Webmin créera son répertoire personnel
que vous entrez dans ce champ. Si vous changez le répertoire personnel en
modifiant un utilisateur existant, Webmin tentera de le renommer si l'option
<a href=movehome>Déplacer le répertoire personnel s'il a été changé?</a>
est séléctionnée.
<hr>

   0707010001e95a000081a40000000000000002000000013d1fe2c000000212000000200000000000000000000000000000001f00000003reloc/useradmin/help/home.html    <header>Home Directory</header>

A user's home directory typically contains all the files owned by that user.
When a user logs in, he will be placed in his home directory and scripts
like <tt>.cshrc</tt> or <tt>.profile</tt> will be run. <p>

When creating a new user, Webmin will create the home directory that you
enter into this field. If you change the home directory when modifying an
existing user, Webmin will attempt to rename the directory if the
<a href=movehome>Move home directory if changed?</a> option is set.
<hr>

  0707010001e95b000081a40000000000000002000000013d1fe2c1000002a3000000200000000000000000000000000000002200000003reloc/useradmin/help/home.nl.html <header>Thuismap</header>

De thuismap van een gebruiker bevat normaliter alle 'eigen' bestanden 
van die gebruiker. D.w.z. bestanden die in principe niet met een ander
worden gedeeld.
Als een gebruiker zich aanmeldt, zal hij worden gepositioneerd in de 
thuismap en scripts zoals <tt>.cshrc</tt> of <tt>.profile</tt> worden
daar uitgevoerd. <p>

Als een nieuwe gebruiker wordt aangemaakt, creëert Webmin de thuismap die 
u in dit veld opgeeft. Als u de thuismap verandert tijdens het wijzigen 
van een gebruiker, zal Webmin proberen de naam van de bestaande 
thuismap te veranderen als de optie 
<a href=movehome>Thuismap verplaatsen indien veranderd?</a> is gekozen.
<hr>

 0707010001e95c000081a40000000000000002000000013d1fe2c000000259000000200000000000000000000000000000002200000003reloc/useradmin/help/home.pl.html <header>Katalog domowy</header>

Katalog domowy u¿ytkownika zazwyczaj zawiera wszystkie pliki, które ten
u¿ytkownik posiada. Podczas logowania katalog bie¿±cy u¿ytkownika jest
ustawiany na jego katalog domowy oraz s± wykonywane skrypty takie jak
<tt>.cshrc</tt> czy <tt>.profile</tt>. <p>

Podczas tworzenia nowego u¿ytkownika Webmin utworzy katalog domowy, którego
nazwê wprowadzisz. Je¶li zmienisz katalog domowy podczas zmiany danych
u¿ytkownika, Webmin bêdzie próbowa³ przenie¶æ jego katalog domowy o&nbsp;ile
zaznaczysz opcjê <a href=movehome>Przenie¶æ katalog domowy, je¶li
zmieniony?</a>.
<hr>
   0707010001e95d000081a40000000000000002000000013d1fe2c0000002da000000200000000000000000000000000000002500000003reloc/useradmin/help/home.ru_RU.html  <header>Äîìàøíèé Êàòàëîã</header>

Äîìàøíèé êàòàëîã ïîëüçîâàòåëÿ îáû÷íî ñîäåðæèò âñå ôàéëû äàííîãî ïîëüçîâàòåëÿ.
Êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ñ òåðìèíàëà, îí ñðàçó ïîïàäàåò â ñâîé 
äîìàøíèé êàòàëîã. Â äîìàøíåì êàòàëîãå ðàñïîëîãàþòñÿ âñå ôàéëû íà÷àëüíîé 
èíèöèàëèçàöèè ïðîãðàìì çàïóñêàåìûõ ïîëüçîâàòåëåì è ñòàðòîâûõ ñêðèïòîâ 
ïîëüçîâàòåëÿ <tt>.cshrc</tt> èëè <tt>.profile</tt>.
<p>

Ïðè ñîçäàíèè íîâîãî ïîëüçîâàòåëÿ áóäåò àâòîìàòè÷åñêè ñîçäàí äîìàøíèé êàòàëîã
óêàçàííûå â ýòîì ïîëå. Ïðè ñìåíå äîìàøíåãî êàòàëîãà (åñëè âàì ýòî äîñòóïíî)
âî âðåìÿ ðåäàêòèðîâàíèÿ ïîëüçîâàòåëÿ, áóäåò ïðåäïðèíÿòà ïîïûòêà ïåðåèìåíîâàíèÿ
êàòàëîãà, â ñëó÷àå óñòàíîâêè îïöèè <a href=movehome>Ïåðåìåùåíèå äîìàøíåãî êàòàëîãà ïðè èçìåíåíèè?</a>.
<hr>

  0707010001e95e000081a40000000000000002000000013d1fe2c0000002da000000200000000000000000000000000000002500000003reloc/useradmin/help/home.ru_SU.html  <header>äÏÍÁÛÎÉÊ ëÁÔÁÌÏÇ</header>

äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌÑ ÏÂÙÞÎÏ ÓÏÄÅÒÖÉÔ ×ÓÅ ÆÁÊÌÙ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ.
ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ Ó ÔÅÒÍÉÎÁÌÁ, ÏÎ ÓÒÁÚÕ ÐÏÐÁÄÁÅÔ × Ó×ÏÊ 
ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ. ÷ ÄÏÍÁÛÎÅÍ ËÁÔÁÌÏÇÅ ÒÁÓÐÏÌÏÇÁÀÔÓÑ ×ÓÅ ÆÁÊÌÙ ÎÁÞÁÌØÎÏÊ 
ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÐÒÏÇÒÁÍÍ ÚÁÐÕÓËÁÅÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ É ÓÔÁÒÔÏ×ÙÈ ÓËÒÉÐÔÏ× 
ÐÏÌØÚÏ×ÁÔÅÌÑ <tt>.cshrc</tt> ÉÌÉ <tt>.profile</tt>.
<p>

ðÒÉ ÓÏÚÄÁÎÉÉ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÂÕÄÅÔ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÏÚÄÁÎ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ
ÕËÁÚÁÎÎÙÅ × ÜÔÏÍ ÐÏÌÅ. ðÒÉ ÓÍÅÎÅ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ (ÅÓÌÉ ×ÁÍ ÜÔÏ ÄÏÓÔÕÐÎÏ)
×Ï ×ÒÅÍÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÂÕÄÅÔ ÐÒÅÄÐÒÉÎÑÔÁ ÐÏÐÙÔËÁ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ
ËÁÔÁÌÏÇÁ, × ÓÌÕÞÁÅ ÕÓÔÁÎÏ×ËÉ ÏÐÃÉÉ <a href=movehome>ðÅÒÅÍÅÝÅÎÉÅ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ ÐÒÉ ÉÚÍÅÎÅÎÉÉ?</a>.
<hr>

  0707010001e95f000081a40000000000000002000000013d1fe2c000000216000000200000000000000000000000000000002200000003reloc/useradmin/help/home.sv.html <header>Hemkatalog</header>

En användares hemkatalog innehåller vantligen alla filer som användaren äger.
När en användare loggar in kommer den att placeras i sin hemkatalog, och
script som <tt>.cshrc</tt> och <tt>.profile</tt> kommer att utföras.

<p>När en ny användare skapas kommer Webmin att skapa den hemkatalog som
man skrivit in i fältet. Om man ändrar hemkatalog för en befintlig användare
kommer Webmin att försöka byta namn på katalogen om inställningen
<a href=movehome>Flytta hemkatalog vid ändring?</a> är satt.

<hr>

  0707010001e960000081a40000000000000002000000013d1fe2c000000194000000200000000000000000000000000000002a00000003reloc/useradmin/help/home.zh_TW.Big5.html <header>®a¥Ø¿ý</header>

¨Ï¥ÎªÌªº®a¥Ø¿ý¤@¯ë¥]§t¤F©Ò¦³¸Ó¨Ï¥ÎªÌ©Ò¾Ö¦³ªºÀÉ®×¡C·í¨Ï¥ÎªÌµn¤J®É¡A¥L­Ì±N·|³Q©ñ¦b¨ä®a¥Ø¿ý¤¤¡A¦Ó¥B«ü¥O½Z¨Ò¦p <tt>.cshrc</tt> ©Î <tt>.profile</tt> ·|³Q°õ¦æ¡C<p>

·í«Ø¥ß·sªº¨Ï¥ÎªÌ®É¡AWebmin ±N·|«Ø¥ß±z¦b³o­ÓÄæ¦ì©Ò«ü©wªº®a¥Ø¿ý¡C¦pªG±z¦b½s¿è²{¦sªº¨Ï¥ÎªÌ®ÉÅÜ§ó¤F®a¥Ø¿ý¡AWebmin ·|¹Á¸Õ²¾°Ê¸Ó®a¥Ø¿ý¨ì·sªº³]©w¡A¦pªG<a href=movehome>¦pªG§ïÅÜªº¸Ü¡A¬O§_·h²¾®a¥Ø¿ý¡H</a>¿ï¶µ¦³³Q³]©wªº¸Ü¡C
<hr>

0707010001e961000081a40000000000000002000000013d1fe2c000000091000000200000000000000000000000000000002400000003reloc/useradmin/help/homeph.ca.html   <header>Telèfon particular</header>

El telèfon particular de l'usuari, que es mostra quan es fa un <tt>finger</tt>
d'aquest usuari.
<p>

<hr>


   0707010001e962000081a40000000000000002000000013d1fe2c000000082000000200000000000000000000000000000002100000003reloc/useradmin/help/homeph.html  <header>Home phone</header>
The user's home phone number, which will be shown when
<tt>finger</tt> is used on this user. <p>
<hr>
  0707010001e963000081a40000000000000002000000013d1fe2c1000000a6000000200000000000000000000000000000002400000003reloc/useradmin/help/homeph.nl.html   <header>Telefoon thuis</header>

Het telefoonummer van de gebruiker thuis. Wordt 
getoond als de <tt>finger</tt> opdracht wordt gebruikt 
op deze gebruiker. <p>
<hr>
  0707010001e964000081a40000000000000002000000013d1fe2c0000000a9000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.ca.html <header>Dies d'inactivitat</header>

El nombre de dies d'inactivitat passat el <a href=max>Nombre màxim de dies</a>
abans que es desactivi el compte del client.

<hr>


   0707010001e965000081a40000000000000002000000013d1fe2c000000066000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.es.html <header>Días Inactivo</header>

El número de días de inactividad permitidos para este usuario.
<hr>


  0707010001e966000081a40000000000000002000000013d1fe2c00000006e000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.fr.html <header>Jours d'inactivité</header>
Le nombre de jours d'inactivité autorisés pour cet utilisateur.
<hr>

  0707010001e967000081a40000000000000002000000013d1fe2c000000092000000200000000000000000000000000000002300000003reloc/useradmin/help/inactive.html    <header>Inactive days</header>

The number of inactivity days over the <a href=max>maximum days</a> before
the user's account is disabled.
<hr>


  0707010001e968000081a40000000000000002000000013d1fe2c1000000b0000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.nl.html <header>Aantal dagen inactief</header>

Het aantal inactieve dagen bovenop het  
<a href=max>maximum aantal geldige dagen</a> voordat 
de gebruiker wordt uitgeschakeld.
<hr>


0707010001e969000081a40000000000000002000000013d1fe2c0000000bc000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.pl.html <header>Blokada konta po dniach</header>

Ilo¶æ dni braku aktywni¶ci ponad <a href=max>maksymalny okres wa¿no¶ci
has³a</a>, po up³ywie których konto u¿ytkownika zostanie zablokowane.
<hr>
0707010001e96a000081a40000000000000002000000013d1fe2c0000000ba000000200000000000000000000000000000002900000003reloc/useradmin/help/inactive.ru_RU.html  <header>Íåàêòèâíî äíåé</header>
Êîëè÷åñòâî äíåé íåàêòèâíîñòè (îòñóòñâèÿ ðåãèñðàöèé) ðàçðåøåííûõ äàííîìó ïîëüçîâàòåëþ (ïî îêîí÷àíèè ýòîãî ïåðèîäà áþäæåò ïîëüçîâàòåëÿ áëîêèðóåòñÿ).
<hr>


  0707010001e96b000081a40000000000000002000000013d1fe2c0000000ba000000200000000000000000000000000000002900000003reloc/useradmin/help/inactive.ru_SU.html  <header>îÅÁËÔÉ×ÎÏ ÄÎÅÊ</header>
ëÏÌÉÞÅÓÔ×Ï ÄÎÅÊ ÎÅÁËÔÉ×ÎÏÓÔÉ (ÏÔÓÕÔÓ×ÉÑ ÒÅÇÉÓÒÁÃÉÊ) ÒÁÚÒÅÛÅÎÎÙÈ ÄÁÎÎÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ (ÐÏ ÏËÏÎÞÁÎÉÉ ÜÔÏÇÏ ÐÅÒÉÏÄÁ ÂÀÄÖÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑ ÂÌÏËÉÒÕÅÔÓÑ).
<hr>


  0707010001e96c000081a40000000000000002000000013d1fe2c000000086000000200000000000000000000000000000002600000003reloc/useradmin/help/inactive.sv.html <header>Inaktiv (dagar)</header>
Antalet dagar efter <a href=max>Maximalt antal dagar</a> som användarens konto
görs inaktivt.
<hr>


  0707010001e96e000081a40000000000000002000000013d1fe2c0000009c1000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.ca.html    <header>Usuaris i Grups</header>

<h3>Introducció als Usuaris</h3>
Un usuari Unix és algú que pot entrar al sistema, ja sigui remotament amb
telnet o bé a la consola. Tots els fitxers són propietat d'algun usuari,
i tots els processos s'executen amb els drets d'algun usuari. L'accés als
fitxers i processos es determina segons l'usuari amb què t'hagis identificat.
<p>

En realitat, en un sistema Unix clàssic hi ha tres tipus d'usuaris:
<ul>
   <li><b>Usuaris Administradors</b><br>
      Els comptes com <tt>bin</tt>, <tt>lp</tt> i <tt>uccp</tt> tenen
      fitxers en propietat, com ara les ordres estàndard de <tt>/bin</tt>
      els fitxers de <i>spool</i> d'impressió i les dades d'UUCP.
      No obstant, no està permès entrar al sistema com un d'aquests
      usuaris - només són emprats per diversos processos del sistema.
      Aquests usuaris es creen quan s'instal·la el sistema operatiu
      per primer cop.
      <p>
   <li><b>Gent Real</b><br>
      Aquests comptes són propietat d'usuaris reals, creats per
      l'administrador del sistema. Pots deixar que aquests usuaris
      entrin al sistema remotament, o potser només deixar-los rebre
      i enviar correu a través de POP3 i SMTP.
      <p>
   <li><b>L'usuari <tt>root</tt></b><br>
      L'usuari <tt>root</tt> té poder per llegir i modificar qualsevol
      fitxer o directori, i controlar qualsevol procés. Aquest compte
      es fa servir típicament per propòsits d'administració, i és el
      compte sota el qual s'executa Webmin.
      <p>
</ul>

A la part de dalt de la pàgina principal d'aquest mòdul, hi ha una taula
d'usuaris presents al sistema. Pots fer clic sobre un usuari per editar-lo,
o bé fes clic sota l'enllaç de sota per crear-ne un de nou.
<p>

<h3>Introducció als Grups</h3>
Un grup és simplement una llista d'usuaris Unix. Cada usuari pertany almenys
a un grup (el seu grup primari) i, opcionalment, a més grups. Tots els
fitxers són propietat d'algun grup, i cada procés s'executa amb els 
permisos d'un grup.
<p>

Sota la llista d'usuaris hi ha una taula amb els grups existents.
Pots fer clic sobre el nom d'un grup per editar-lo, o bé fes clic sota
l'enllaç de sota per crear-ne un de nou.
<p>

<h3>Entrades Registrades</h3>
Sempre que un usuari entra al sistema per telnet, FTP o la consola, el
sistema enregistra aquesta entrada i la subsegüent sortida. Al peu de
la pàgina principal hi ha un petit formulari que permet mostrar les
entrades de tothom, o d'un usuari seleccionat.
<p>

<hr>


   0707010001e96d000081a40000000000000002000000013d1fe2c000000048000000200000000000000000000000000000002e00000003reloc/useradmin/help/inactive.zh_TW.Big5.html <header>¥¼¨Ï¥Î¤é´Á</header>
³o­Ó¨Ï¥ÎªÌ©Ò³Q¤¹³\ªº³Ì¤j¥¼¨Ï¥Î¤é¼Æ¡C
<hr>


0707010001e96f000081a40000000000000002000000013d1fe2c0000009ff000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.es.html    <header>Usuarios y Grupos</header>

<h3>Introducción a Usuarios</h3>
Un usuario Unix es típicamentes alguien que puede hacer login en el sistema
ya sea remótamente vía telnet o desde la consola. Cada archivo pertenece
al algún usuario y cada proceso se ejecuta con los derechos de algún usuario.
El acceso a los archivos y procesos es determinado por el usuario con el que
realizas el login. <p>

Hay realmente tres tipos de usuario en un sistema Unix típico:
<ul>
<li><b>Usuarios Administrativos</b><br>
    Cuentas como <tt>bin</tt>, <tt>lp</tt> y <tt>uccp</tt> son propietarias
    de archivos como los comandos estándar de <tt>/bin</tt>, archivos de spool
    de impresora y datos UUCP. Actualmente hacer login con una de estas cuentas
    no está normalmente permitido - sólo son utilizadas por varios procesos
    de sistema. Estos usuarios serán creados cuando el sistema operativo
    se instale por primera vez.<p>
<li><b>Gente Real</b><br>
    Estas son cuentas propiedad de usuarios reales, creados por el 
    administrador del sistema. Puedes hacer que estos usuarios hagan login
    remoto o quizá sólo dejarles enviar y recibir correo vía SMTP y POP3. <p>
<li><b>El Usuario <tt>root</tt></b><br>
    El usuario <tt>root</tt> tiene la potestad de leer y escribir en cualquier
    archivo o directorio y de controlar cualquier proceso. Esta cuenta es
    típicamente utilizada con propósitos de administración del sistema y es
    la cuenta bajo la que se ejecuta Webmin. <p>
</ul>

En la parte superior de la página principal de este módulo hay una tabla de
usuarios ya existentes en tu sistema. Puedes hacer click en uno de ellos para
editarlo o hacer click en el enlace bajo la tabla para crear un nuevo
usuario. <p>

<h3>Introducción a los Grupos</h3>
Un grupo es símplemente una lista de usuarios de Unix. Cada usuario pertenece
por lo menos a un grupo (su grupo primario) y opcionalmente a varios otros.
Todos los archivos son propiedad de algún grupo y cada proceso se ejecuta
con los permisos de un grupo. <p>

Bajo la lista de usuarios hay una tabla de grupos que ya existen. Puedes
hacer click en un nombre de grupo para editarlo o hacer click en el enlace
bajo la tabla para crear un nuevo grupo. <p>

<h3>Logins Registrados</h3>
Cada vez que un usuario hace login ya sea por medio de telnet, FTP o desde
la consola, el sistema registra ese login y la consecuente salida del mismo.
En la parte inferior de la página principal hay un pequeño formulario que
te permite mostrar los logins de cada uno o de un usuario concreto. <p>

<hr>

 0707010001e970000081a40000000000000002000000013d1fe2c000000a21000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.fr.html    <header>Utilisateurs et groupes</header>

<h3>Introduction aux utilisateurs</h3>
Un utilisateur Unix est généralement quelqu'un qui peut ouvrir une
session sur le système, à distance par telnet ou sur la console.
Chaque fichier appartient à un utilisateur, et chaque processus
s'exécute avec les droits d'un utilisateur. L'accès aux fichiers
et aux processus est défini par l'utilisateur avec lequel la
session est ouverte. <p>

En général il y a trois types d'utilisateurs sur un système Unix :
<ul>
<li><b>Les utilisateurs système</b><br>
    Des comptes comme <tt>bin</tt>, <tt>lp</tt> et <tt>uucp</tt> possèdent
    des fichiers comme des commandes dans <tt>/bin</tt>, des files d'attente
    d'impression ou encore des données UCCP. L'ouverture de session avec
    ces comptes n'est pas normalement possible, ils ne sont utilisés que
    par divers processus système. Ces utilisateurs sont crées à
    l'installation du système. <p>
<li><b>Les véritable personnes</b><br>
    Ce sont des comptes appartenant à de vrais utilisateurs, crées par
    l'administrateur système. Vous pouvez permettre à ces utilisateurs
    d'ouvrir des sessions, ou peut-être seulement d'envoyer et recevoir du
    courrier par SMTP et POP3. <p>
<li><b>L'utilisateur <tt>root</tt></b><br>
    L'utilisateur <tt>root</tt> a le pouvoir de lire et d'écrire n'importe
    quel fichier ou répertoire et contrôler tous les processus. Ce compte
    est utilisé pour la maintenance, et c'est avec ce que compte que Webmin
    s'exécute. <p>
</ul>

En haut de la page de ce module se trouve un tableau des utilisateurs
existants sur votre système. Vous pouvez cliquer sur un utilisateur pour
l'éditer ou cliquer sur le lien en dessous du tableau pour en créer un
nouveau. <p>

<h3>Introduction aux groupes</h3>
Un groupe est simplement une liste d'utilisateurs Unix. Chaque utilisateur
appartient à au moins un groupe (primaire) et optionnellement à d'autres.
Tous les fichiers appartiennent à un groupe et tout processus d'exécute avec
les permissions d'un groupe. <p>

En dessous de la liste des utilisateurs se trouve un tableau des groupes
xistants. Vous pouvez cliquer sur un groupe pour l'éditer ou cliquer sur le
lien en dessous du tableau pour en créer un nouveau. <p>

<h3>Journal d'ouvertures de sessions</h3>
Chaque fois qu'un utilisateur se connecte par telnet, FTP ou depuis la console
le système enregistre le début et la fin de la connexion. Au bas de cette page
se trouve un petit formulaire qui permet d'afficher le journal des sessions
de tous les utilisateurs ou d'un seul en particulier. <p>

<hr>

   0707010001e971000081a40000000000000002000000013d1fe2c0000008ac000000200000000000000000000000000000002000000003reloc/useradmin/help/intro.html   <header>Users and Groups</header>

<h3>Introduction to Users</h3>
A Unix user is typically someone who can login to the system, either
remotely via telnet or at the console. Every file is owned by some user,
and every process runs with the rights of some user. Access to files and
processes is determined by the user you are logged in as. <p>

There are really three types of users on a typical Unix system :
<ul>
<li><b>Administrative Users</b><br>
    Accounts like <tt>bin</tt>, <tt>lp</tt> and <tt>uccp</tt> own files
    such as the standard commands in <tt>/bin</tt>, print spool files and
    UUCP data. Actually logging in with one of these accounts is not
    normally allowed - they are used only by various system processes.
    These users will be created when the operating system is first installed.<p>
<li><b>Real People</b><br>
    These are accounts owned by real users, created by the system
    administrator. You may allow these users to login remotely, or maybe
    let them only to send and receive mail via SMTP and POP3. <p>
<li><b>The <tt>root</tt> User</b><br>
    The <tt>root</tt> user has the power to read and write any file
    or directory and control any process. This account is typically used
    for system administration purposes, and is the account under which
    Webmin runs. <p>
</ul>

At the top of the main page of this module is a table of existing users
on your system. You may click on a user to edit it, or click on the link
below the table to create a new user. <p>

<h3>Introduction to Groups</h3>
A group is simply a list of Unix users. Every user has belongs to at least
one group (their primary group), and optionally several others. All files
are owned by some group, and every process runs with the permissions of
a group. <p>

Below the list of users is a table of existing groups. You may click on
a group name to edit it, or click on the link below the table to create
a new group. <p>

<h3>Recorded Logins</h3>
Every time a user logs in by telnet, FTP or at the console the system records
that login and the subsequent logout. At the bottom of the main page is
a small form that allows you to display logins either by everyone, or by
a selected user. <p>

<hr>

0707010001e972000081a40000000000000002000000013d1fe2c100000a53000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.nl.html    <header>Gebruikers en Groepen</header>

<h3>Gebruikers</h3>

Een Unix gebruiker is in het algemeen iemand die zich bij het systeem 
kan aanmelden, hetzij op afstand via telnet of aan de console. Ieder 
bestand is eigendom van een gebruiker en ieder proces draait onder de 
rechten van een gebruiker. Toegang tot bestanden en processen wordt 
bepaald door de gebruiker waaronder u bent aangemeld. <p>

Er zijn feitelijk drie soorten gebruiker op een typisch Unix systeem:
<ul>
<li><b>Administratieve Gebruikers</b><br>
    Gebruikers zoals <tt>bin</tt>, <tt>lp</tt> en <tt>uccp</tt> beheren 
    bestanden zoals standaard opdrachten in <tt>/bin</tt>, print spool 
    bestanden en UUCP gegevens. Eigenlijk is het aanmelden met zo'n
    gebruiker normaal niet toegestaan: ze worden gebruikt door verschillende 
    systeem processen.
    Deze gebruikers worden aangemaakt als het besturingssysteem voor de
    eerste keer wordt geïnstalleerd.<p>
<li><bEchte Personen</b><br>
    Deze gebruikers stellen echte personen voor en worden aangemaakt
    door de system administrator. U kunt deze mensen toestaan zich 
    op afstand aan te melden of misschien alleen mail de verzenden of 
    ontvangen via SMTP en POP3. <p>
<li><b>De <tt>root</tt> Gebruiker</b><br>
    De <tt>root</tt> gebruiker heeft de macht om elk bestand of map te lezen 
    en te schrijven en elk proces te besturen. Deze gebruiker wordt 
    normaliter alleen gebruikt voor het beheren van het systeem en is
    ook de gebruiker waar Webmin onder werkt. <p>
</ul>

Aan het begin de hoofdpagina van dit module vindt u een lijst met bestaande 
gebruikers op uw systeem. Door te klikken op een gebruiker kunt u die wijzigen. 
Door te klikken op de link onderaan de lijst kan een nieuwe gebruiker worden 
aangemaakt. <p>

<h3>Groepen</h3>
Eenvoudig gezegd is een groep een lijst met Unix gebruikers. Iedere gebruiker 
is lid van tenminste tot één groep (de primaire groep) en mogelijk van andere 
groepen (de secundaire groepen). Alle bestanden behoren altijd aan een groep 
en elk proces draait met de rechten van een groep. <p>

Onder de lijst met gebruikers vindt u een lijst met de bestaande groepen. 
U kunt op een groepsnaam klikken om die te wijzigen. Als u op de link 
onderaan de lijst klikt kunt u een groep toevoegen. <p>

<h3>Toon aanmeldingen van</h3>
Elke keer als een gebruiker zich meldt via telnet, FTP of aan het console, 
legt het systeem dit feit vast en ook het afmelden wordt geregistreerd. 
Aan het einde van deze pagina is een klein formulier, waarmee u de aan- en 
afmeldingen van iedereen of van een bepaalde gebruiker zichtbaar kunt 
maken. <p>

<hr>

 0707010001e973000081a40000000000000002000000013d1fe2c0000009f7000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.pl.html    <header>U¿ytkownicy i&nbsp;grupy</header>

<h3>Wprowadzenie do u¿ytkowników</h3>
U¿ytkownikiem Uniksa jest zazwyczaj kto¶, kto mo¿e siê zalogowaæ do systemu
zdalnie poprzez telnet lub przy konsoli. Ka¿dy plik ma pewnego u¿ytkownika
za w³a¶ciciela, jak te¿ ka¿dy process dzia³a z&nbsp;prawami pewnego
u¿ytkownika. Dostêp do plików i procesów jest okre¶lony przez u¿ytkownika,
jako który siê zalogowa³e¶. <p>

W&nbsp;typowym systemie uniksowym s± zazwyczaj trzy rodzaje
u¿ytkowników&nbsp;:
<ul>
<li><b>U¿ytkownicy specjalni</b><br>
    Konta takie jak <tt>bin</tt>, <tt>lp</tt> i&nbsp;<tt>uccp</tt> s±
    w³a¶cicielami plików takich jak standardowe polecenia
    w&nbsp;<tt>/bin</tt>, pliki spool-a drukarki czy dane UUCP.  Zazwyczaj
    zalogowanie siê na którekolwiek z&nbsp;tych kont nie jest mo¿liwe - s±
    one wykorzystywane wy³±cznie przez ró¿ne procesy systemowe. U¿ytkownicy
    ci s± tworzeni podczas instalacji systemu operacyjnego. <p>
<li><b>Zwykli ludzie</b><br>
    S± to konta posiadane przez zwyk³ych u¿ytkowników, utworzone przez
    administratora systemu. Mo¿esz pozwoliæ tym u¿ytkownikom logowaæ siê
    zdalnie, lub te¿ pozwoliæ im tylko wysy³aæ i&nbsp;odbieraæ pocztê
    poprzez SMTP i&nbsp;POP3. <p>
<li><b>U¿ytkownik <tt>root</tt></b><br>
    U¿ytkownik <tt>root</tt> mo¿e czytaæ i zapisywaæ w dowolnym pliku
    i&nbsp;katalogu oraz zarz±dzaæ dowolnym procesem. To konto jest
    zazwyczaj wykorzystywane do celów administracyjnych i&nbsp;jest 
    to konto, z&nbsp;prawami którego dzia³a Webmin. <p>
</ul>

Na górze g³ównej strony tego modu³u znajduje siê tabela istniej±cych
w&nbsp;twoim systemie u¿ytkowników. Mo¿esz nacisn±æ nazwê u¿ytkownika, aby
zmieniæ jego dane lub nacisn±æ na dowi±zanie pod tabel±, aby utworzyæ nowego
u¿ytkownika. <p>

<h3>Wprowadzenie do grup</h3>
Grupa jest po prostu list± u¿ytkowników Uniksa. Ka¿dy u¿ytkownik nale¿y do
co najmniej jednej grupy (jego grupy g³ównej), oraz ewentualnie do kilku
innych. Ka¿dy plik jest w&nbsp;posiadaniu pewnej grupy, jak te¿ ka¿dy proces
dzia³a z prawami pewnej grupy. <p>

Poni¿ej listy u¿ytkowników znajduje siê tabela istniej±cych grup. Mo¿esz
nacisn±æ nazwê grupy, aby zmieniæ jej dane, lub nacisn±æ na dowi±zanie pod
tabel±, aby utworzyæ now± grupê. <p>

<h3>Zapamiêtane logowania</h3>
Za ka¿dym razem, gdy u¿ytkownik siê loguje przez telnet, SSH, FTP lub przy
konsoli, system zapamiêtuje to logowanie i&nbsp;pó¼niejsze wylogowanie. Na
dole g³ównej strony jest formularzyk pozwalaj±cy na obejrzenie logowañ
wszystkich lub wybranego u¿ytkownika. <p>

<hr>
 0707010001e974000081a40000000000000002000000013d1fe2c0000009f8000000200000000000000000000000000000002600000003reloc/useradmin/help/intro.ru_RU.html <header>Ïîëüçîâàòåëè è Ãðóïïû</header>

<h3>Î ïîëüçîâàòåëÿõ</h3>
Ïîëüçîâàòåëü Unix - ýòî îáû÷íî íåêòî, êòî ìîæåò ðåãèñòðèðîâàòüñÿ â ñèñòåìå, êàê
óäàëåííî, òàê è ñ êîíñîëè. Êàæäûé ôàéë ïðèíàäëåæèò êàêîìó-ëèáî ïîëüçîâàòåëþ,
è êàæäûé ïðîöåññ ðàáîòàåò ñ ïðàâàìè êàêîãî-ëèáî ïîëüçîâàòåëÿ. Äîñòóï ê ôàéëàì è 
ïðîöåññàì  îïðåäåëÿåòñÿ òåì ïîëüçîâàòåëåì ïîä êîòîðûì âû çàðåãèñòðèðîâàíû.
<p>

Ðåàëüíî íà òèïè÷íîé Unix ñèñòåìå ñóùåñòâóåò òðè òèïà ïîëüçîâàòåëåé :
<ul>
<li><b>Àäìèíèñòðàòèâíûå ïîëüçîâàòåëè</b><br>
	Èìåíà òèïà <tt>bin</tt>, <tt>lp</tt> è <tt>uucp</tt> âëàäåþò ôàéëàìè,
	òàêèìè êàê, ñòàíäàðòíûå êîìàíäû â êàòàëîãå <tt>/bin</tt>, ôàéëàìè ñïóëåðîâ ïå÷àòè è
	äàííûìè ñèñòåìû UUCP. Â íîðìå âõîä â ñèñòåìó ïîä êàêèì-ëèáî èç ýòèõ èìåí íå ðàçðåøåí -
	îíè èñïîëüçóþòñÿ òîëüêî ðàçëè÷íûìè ñèñòåìíûìè ïðîöåññàìè.
	Ýòè ïîëüçîâàòåëè ñîçäàþòñÿ âî âðåìÿ ïåðâîíà÷àëüíîé èíñòàëëÿöèè ñèñòåìû.
    <p>
<li><b>Ðåàëüíûå ëþäè</b><br>
	Ýòè ó÷åòíûå çàïèñè èìåþò ðåàëüíûå ïîëüçîâàòåëè ñîçäàííûå ñèñòåìíûì 
	àäìèíèñòðàòîðîì. Âû ìîæåòå ðàçðåøèòü ýòèì ïîëüçîâàòåëÿì ðåãèñòðèðîâàòüñÿ
	óäàëåííî, èëè òîëüêî ïîñûëàòü è ïðèíèìàòü ïî÷òó ïî ïðîòîêîëàì SMTP è POP3.
    <p>
<li><b>Ïîëüçîâàòåëü <tt>root</tt></b><br>
    Ïîëüçîâàòåëü <tt>root</tt> èìååò íåîãðàíè÷åííóþ âîçìîæíîñòü ÷èòàòü è 
	çàïèñûâàòü ëþáîé ôàéë èëè êàòàëîã, è êîíòðîëëèðîâàòü ëþáîé ïðîöåññ.
	Ýòà ó÷åòíàÿ çàïèñü îáû÷íî èñïîëüçóåòñÿ äëÿ çàäà÷ àäìèíèñòðèðîâàíèÿ,
	â ÷àñòíîñòè ïîä ýòîé ó÷åòíîé çàïèñüþ ðàáîòàåò äàííàÿ ñèñòåìà.  
    <p>
</ul>

Â âåðõíåé ÷àñòè îñíîâíîé ñòðàíèöû äàííîãî ìîäóëÿ íàõîäèòñÿ òàáëèöà 
ïîëüçîâàòåëåé âàøåé ñèñòåìû. Âû ìîæåòå "êëèêíóòü" íà ïîëüçîâàòåëå äëÿ åãî
ðåäàêòèðîâàíèÿ, èëè "êëèêíóòü" íà ññûëêå ïîä òàáëèöåé äëÿ ñîçäàíèÿ íîâîãî 
ïîëüçîâàòåëÿ.
<p>

<h3>Î ãðóïïàõ</h3>
Ãðóïïà - ýòî ïðîñòî ñïèñîê ïîëüçîâàòåëåé â ñèñòåìå. Êàæäûé ïîëüçîâàòåëü
ïðèíàäëåæèò ïî êðàéíåé ìåðå ê îäíîé ãðóïïå (åãî ïåðâè÷íàÿ ãðóïïà), è 
âîçìîæíî ê íåñêîëüêèì äðóãèì. Ëþáîé ôàéë èìååò â êà÷åñòâå îáëàäàòåëÿ 
íåêóþ ãðóïïó, è ëþáîé ïðîöåññ âûïîëíÿåòñÿ ñ ïðàâàìè íåêîòîðîé ãðóïïû.
<p>

Ïîä ñïèñêîì ïîëüçîâàòåëåé íàõîäèòñÿ òàáëèöà ñóùåñòâóþùèõ ãðóïï. Âû ìîæåòå
"êëèêíóòü" íà èìåíè ãðóïïû äëÿ å£ ðåäàêòèðîâàíèÿ, èëè "êëèêíóòü" íà ññûëêå 
ïîä òàáëèöåé äëÿ ñîçäàíèÿ íîâîé ãðóïïû.
<p>

<h3>Çàïèñè î ðåãèñòðàöèÿõ</h3>
Êàæäûé ðàç, êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ïî telnet, FTP èëè ñ êîíñîëè
ñèñòåìà ôèêñèðóåò äàííûé âõîä è ïîñëåäóþùèé âûõîä. Â íèæíåé ÷àñòè ãëàâíîé 
ñòðàíèöû ýòîãî ìîäóëÿ íàõîäèòñÿ íåáîëüøàÿ ôîðìà, êîòîðàÿ ïîçâîëÿåò âàì 
ïîñìîòðåòü âõîäû (ðåãèñòðàöèè), êàê âñåõ, òàê è âûáðàííîãî ïîëüçîâàòåëÿ.
<p>

<hr>

0707010001e975000081a40000000000000002000000013d1fe2c0000009f8000000200000000000000000000000000000002600000003reloc/useradmin/help/intro.ru_SU.html <header>ðÏÌØÚÏ×ÁÔÅÌÉ É çÒÕÐÐÙ</header>

<h3>ï ÐÏÌØÚÏ×ÁÔÅÌÑÈ</h3>
ðÏÌØÚÏ×ÁÔÅÌØ Unix - ÜÔÏ ÏÂÙÞÎÏ ÎÅËÔÏ, ËÔÏ ÍÏÖÅÔ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ × ÓÉÓÔÅÍÅ, ËÁË
ÕÄÁÌÅÎÎÏ, ÔÁË É Ó ËÏÎÓÏÌÉ. ëÁÖÄÙÊ ÆÁÊÌ ÐÒÉÎÁÄÌÅÖÉÔ ËÁËÏÍÕ-ÌÉÂÏ ÐÏÌØÚÏ×ÁÔÅÌÀ,
É ËÁÖÄÙÊ ÐÒÏÃÅÓÓ ÒÁÂÏÔÁÅÔ Ó ÐÒÁ×ÁÍÉ ËÁËÏÇÏ-ÌÉÂÏ ÐÏÌØÚÏ×ÁÔÅÌÑ. äÏÓÔÕÐ Ë ÆÁÊÌÁÍ É 
ÐÒÏÃÅÓÓÁÍ  ÏÐÒÅÄÅÌÑÅÔÓÑ ÔÅÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÐÏÄ ËÏÔÏÒÙÍ ×Ù ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎÙ.
<p>

òÅÁÌØÎÏ ÎÁ ÔÉÐÉÞÎÏÊ Unix ÓÉÓÔÅÍÅ ÓÕÝÅÓÔ×ÕÅÔ ÔÒÉ ÔÉÐÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ :
<ul>
<li><b>áÄÍÉÎÉÓÔÒÁÔÉ×ÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ</b><br>
	éÍÅÎÁ ÔÉÐÁ <tt>bin</tt>, <tt>lp</tt> É <tt>uucp</tt> ×ÌÁÄÅÀÔ ÆÁÊÌÁÍÉ,
	ÔÁËÉÍÉ ËÁË, ÓÔÁÎÄÁÒÔÎÙÅ ËÏÍÁÎÄÙ × ËÁÔÁÌÏÇÅ <tt>/bin</tt>, ÆÁÊÌÁÍÉ ÓÐÕÌÅÒÏ× ÐÅÞÁÔÉ É
	ÄÁÎÎÙÍÉ ÓÉÓÔÅÍÙ UUCP. ÷ ÎÏÒÍÅ ×ÈÏÄ × ÓÉÓÔÅÍÕ ÐÏÄ ËÁËÉÍ-ÌÉÂÏ ÉÚ ÜÔÉÈ ÉÍÅÎ ÎÅ ÒÁÚÒÅÛÅÎ -
	ÏÎÉ ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ ÒÁÚÌÉÞÎÙÍÉ ÓÉÓÔÅÍÎÙÍÉ ÐÒÏÃÅÓÓÁÍÉ.
	üÔÉ ÐÏÌØÚÏ×ÁÔÅÌÉ ÓÏÚÄÁÀÔÓÑ ×Ï ×ÒÅÍÑ ÐÅÒ×ÏÎÁÞÁÌØÎÏÊ ÉÎÓÔÁÌÌÑÃÉÉ ÓÉÓÔÅÍÙ.
    <p>
<li><b>òÅÁÌØÎÙÅ ÌÀÄÉ</b><br>
	üÔÉ ÕÞÅÔÎÙÅ ÚÁÐÉÓÉ ÉÍÅÀÔ ÒÅÁÌØÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÓÏÚÄÁÎÎÙÅ ÓÉÓÔÅÍÎÙÍ 
	ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ. ÷Ù ÍÏÖÅÔÅ ÒÁÚÒÅÛÉÔØ ÜÔÉÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ
	ÕÄÁÌÅÎÎÏ, ÉÌÉ ÔÏÌØËÏ ÐÏÓÙÌÁÔØ É ÐÒÉÎÉÍÁÔØ ÐÏÞÔÕ ÐÏ ÐÒÏÔÏËÏÌÁÍ SMTP É POP3.
    <p>
<li><b>ðÏÌØÚÏ×ÁÔÅÌØ <tt>root</tt></b><br>
    ðÏÌØÚÏ×ÁÔÅÌØ <tt>root</tt> ÉÍÅÅÔ ÎÅÏÇÒÁÎÉÞÅÎÎÕÀ ×ÏÚÍÏÖÎÏÓÔØ ÞÉÔÁÔØ É 
	ÚÁÐÉÓÙ×ÁÔØ ÌÀÂÏÊ ÆÁÊÌ ÉÌÉ ËÁÔÁÌÏÇ, É ËÏÎÔÒÏÌÌÉÒÏ×ÁÔØ ÌÀÂÏÊ ÐÒÏÃÅÓÓ.
	üÔÁ ÕÞÅÔÎÁÑ ÚÁÐÉÓØ ÏÂÙÞÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÚÁÄÁÞ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ,
	× ÞÁÓÔÎÏÓÔÉ ÐÏÄ ÜÔÏÊ ÕÞÅÔÎÏÊ ÚÁÐÉÓØÀ ÒÁÂÏÔÁÅÔ ÄÁÎÎÁÑ ÓÉÓÔÅÍÁ.  
    <p>
</ul>

÷ ×ÅÒÈÎÅÊ ÞÁÓÔÉ ÏÓÎÏ×ÎÏÊ ÓÔÒÁÎÉÃÙ ÄÁÎÎÏÇÏ ÍÏÄÕÌÑ ÎÁÈÏÄÉÔÓÑ ÔÁÂÌÉÃÁ 
ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. ÷Ù ÍÏÖÅÔÅ "ËÌÉËÎÕÔØ" ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÅ ÄÌÑ ÅÇÏ
ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, ÉÌÉ "ËÌÉËÎÕÔØ" ÎÁ ÓÓÙÌËÅ ÐÏÄ ÔÁÂÌÉÃÅÊ ÄÌÑ ÓÏÚÄÁÎÉÑ ÎÏ×ÏÇÏ 
ÐÏÌØÚÏ×ÁÔÅÌÑ.
<p>

<h3>ï ÇÒÕÐÐÁÈ</h3>
çÒÕÐÐÁ - ÜÔÏ ÐÒÏÓÔÏ ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ × ÓÉÓÔÅÍÅ. ëÁÖÄÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ
ÐÒÉÎÁÄÌÅÖÉÔ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ Ë ÏÄÎÏÊ ÇÒÕÐÐÅ (ÅÇÏ ÐÅÒ×ÉÞÎÁÑ ÇÒÕÐÐÁ), É 
×ÏÚÍÏÖÎÏ Ë ÎÅÓËÏÌØËÉÍ ÄÒÕÇÉÍ. ìÀÂÏÊ ÆÁÊÌ ÉÍÅÅÔ × ËÁÞÅÓÔ×Å ÏÂÌÁÄÁÔÅÌÑ 
ÎÅËÕÀ ÇÒÕÐÐÕ, É ÌÀÂÏÊ ÐÒÏÃÅÓÓ ×ÙÐÏÌÎÑÅÔÓÑ Ó ÐÒÁ×ÁÍÉ ÎÅËÏÔÏÒÏÊ ÇÒÕÐÐÙ.
<p>

ðÏÄ ÓÐÉÓËÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÎÁÈÏÄÉÔÓÑ ÔÁÂÌÉÃÁ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÇÒÕÐÐ. ÷Ù ÍÏÖÅÔÅ
"ËÌÉËÎÕÔØ" ÎÁ ÉÍÅÎÉ ÇÒÕÐÐÙ ÄÌÑ Å£ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ, ÉÌÉ "ËÌÉËÎÕÔØ" ÎÁ ÓÓÙÌËÅ 
ÐÏÄ ÔÁÂÌÉÃÅÊ ÄÌÑ ÓÏÚÄÁÎÉÑ ÎÏ×ÏÊ ÇÒÕÐÐÙ.
<p>

<h3>úÁÐÉÓÉ Ï ÒÅÇÉÓÔÒÁÃÉÑÈ</h3>
ëÁÖÄÙÊ ÒÁÚ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ ÐÏ telnet, FTP ÉÌÉ Ó ËÏÎÓÏÌÉ
ÓÉÓÔÅÍÁ ÆÉËÓÉÒÕÅÔ ÄÁÎÎÙÊ ×ÈÏÄ É ÐÏÓÌÅÄÕÀÝÉÊ ×ÙÈÏÄ. ÷ ÎÉÖÎÅÊ ÞÁÓÔÉ ÇÌÁ×ÎÏÊ 
ÓÔÒÁÎÉÃÙ ÜÔÏÇÏ ÍÏÄÕÌÑ ÎÁÈÏÄÉÔÓÑ ÎÅÂÏÌØÛÁÑ ÆÏÒÍÁ, ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ 
ÐÏÓÍÏÔÒÅÔØ ×ÈÏÄÙ (ÒÅÇÉÓÔÒÁÃÉÉ), ËÁË ×ÓÅÈ, ÔÁË É ×ÙÂÒÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ.
<p>

<hr>

0707010001e976000081a40000000000000002000000013d1fe2c0000008c4000000200000000000000000000000000000002300000003reloc/useradmin/help/intro.sv.html    <header>Användare och grupper</header>

<h3>Introduktion till användare</h3>
En Unix-användare är oftast någon som kan logga in på systemet via
telnet eller från konsolen. Varje fil ägs av någon användare och varje
process körs med någon användares rättigheter. Åtkomst av filer och
processer regleras av vilken användare man är inloggad som.

<p>Det finns tre typer av användare på ett typiskt Unix-system:
<ul>
<li><b>Administrativa användare</b>
    <br>Konton som <tt>bin</tt>, <tt>lp</tt> och <tt>uccp</tt> äger filer,
    t ex standardkommandona i <tt>/bin</tt>, skrivar-spoolfiler och
    UUCP-data. Vanligtvis går det inte att logga in som någon av dessa
    användare, utan de används endast av olika systemprocesser. Dessa
    användare skapas när operativsystemet installeras.

<li><b>Vanligt folk</b>
    <br>Dessa konton ägs av riktiga användare och skapas av
    systemadministratören. De kan tillåtas att logga in från andra system
    eller begränsas till att endast skicka och ta emot e-post via SMTP och
    POP3.
<li><b>Användaren <tt>root</tt></b>
    <br>Användaren <tt>root</tt> får läsa och skriva i alla filer och kataloger
    och styra alla processer. Detta konto används vanligen till
    systemadministration och är det konto som Webmin körs under.
</ul>

Högst upp på modulens startsidan finns en tabell över befintliga användare
i systemet. Klicka på en användare för att ändra uppgifter om den eller
klicka på länken nedanför tabellen för att lägga till en användare.

<h3>Introduktion till grupper</h3>
En grupp är helt enkelt en lista över Unix-användare. Varje användare hör
till minst en grupp (dess primära grupp) och möjligen flera andra. Alla filer
ägs av någon grupp och alla processer körs med någon grupps rättigheter.

<p>Nedanför användarlistan finns en tabell över befintliga grupper. Klicka
på ett gruppnamn för att ändra uppgifter om den eller klicka på länken
nedanför tabellen för att lägga till en grupp.

<h3>Registrerade inloggningar</h3>
Varje gång en användare loggar in via nätverk eller konsolen registrerar
systemet inloggningen och den påföljande utloggningen. Längst ned på
startsidan finns ett litet formulär där man kan studera inloggningar för
alla eller för någon användare.

<hr>

0707010001e977000081a40000000000000002000000013d1fe2c0000005e0000000200000000000000000000000000000002b00000003reloc/useradmin/help/intro.zh_TW.Big5.html    <header>¨Ï¥ÎªÌ»P¸s²Õ</header>

<h3>¨Ï¥ÎªÌÂ²¤¶</h3>
Unix ¨Ï¥ÎªÌ¤@¯ë¬O¥i¥Hµn¤J¨ì¨t²Îªº¤H¡A¤£½×¬O¸g¥Ñ telnet ©ÎªÌ¬O¨Ï¥Î²×ºÝ¾÷¡C¨C¤@­ÓÀÉ®×³£·|³Q¬Y­Ó¨Ï¥ÎªÌ©Ò¾Ö¦³¡A¦Ó¥B¨C­Óµ{§Ç¤]³£¨ã¦³¬Y­Ó¨Ï¥ÎªÌªºÅv­­¡C¬O§_¤¹³\¦s¨úÀÉ®×©Îµ{§Ç¬O³Qµn¤J®É©Ò¨Ï¥Îªº¨Ï¥ÎªÌ¦WºÙ©Ò¨M©wªº¡C<p>

¦b¤@¯ëªº Unix ¨t²Î¤W¦³¤TÃþªº¨Ï¥ÎªÌ:
<ul>
<li><b>ºÞ²z¨Ï¥ÎªÌ</b><br>
    ¨Ò¦p <tt>bin</tt>¡B<tt>lp</tt> »P <tt>uucp</tt> µ¥¨Ï¥ÎªÌ¾Ö¦³ <tt>/bin</tt> ¤¤¼Ð·Ç«ü¥OªºÀÉ®×¡B¦Lªí¾÷¦î¦CÀÉ®×»P UUCP ¸ê®ÆÀÉ¡C¤@¯ë¬O¤£¤¹³\¹ê»Ú¥H³o¨Ç±b¸¹µn¤J¨t²Îªº¢w¢w¥¦­Ì¥u³Q¨t²Îµ{§Ç©Ò¨Ï¥Î¡C³o¨Ç±b¸¹³q±`¦b¨t²Î¦w¸Ë®É«K¤w¸g³Q«Ø¥ß¡C<p>
<li><b>¹ê»Ú¨Ï¥ÎªÌ</b><br>
    ³o¨Ç¬O³Q¹ê»Ú¨Ï¥ÎªÌ©Ò¾Ö¦³ªº±b¸¹¡A³Q¨t²ÎºÞ²z­û©Ò«Ø¥ß¡C±z¥i¥H¤¹³\³o¨Ç¨Ï¥ÎªÌ±q»·ºÝµn¤J©Î¥uÅý¥L­Ì¨Ï¥Î SMTP »P POP3 ¦¬µo¶l¥ó¡C<p>
<li><b><tt>root</tt> ¨Ï¥ÎªÌ</b><br>
    <tt>root</tt> ¨Ï¥ÎªÌ¦³Åv¤O¥i¥HÅª¨ú©Î¼g¤J¥ô¦óªºÀÉ®×©Î¥Ø¿ý¡A¨Ã±±¨î¥ô¦óªºµ{§Ç¡C³o­Ó±b¸¹³q±`¥Î©ó¶i¦æ¨t²ÎºÞ²z¡A¨Ã¥B¤]¬O Webmin ¹ê¦æªº±b¸¹¡C<p>
</ul>

¦b³o­Ó¼Ò²Õ¥D­¶­±ªº³»ºÝ¬O±z¨t²Î¤W²{¦s¨Ï¥ÎªÌªº¦Cªí¡C±z¥i¥H«ö¤U¨Ï¥ÎªÌ¦WºÙ¥H½s¿è¤§¡A©Î«ö¤Uªí®æ©³¤Uªº³sµ²¥H«Ø¥ß·sªº¨Ï¥ÎªÌ¡C<p>

<h3>¸s²ÕÂ²¤¶</h3>
¸s²Õ¬O Unix ¨Ï¥ÎªÌªº¦Cªí¡C¨C¤@­Ó¨Ï¥ÎªÌ¥²¶·ÄÝ©ó¦Ü¤Ö¤@­Ó¸s²Õ (¥L­Ìªº¥D¸s²Õ)¡A¨Ã¿ï¾Ü©ÊªºÄÝ©ó¨ä¥L¸s²Õ¡C©Ò¦³ªºÀÉ®×³£³Q¬Y­Ó¸s²Õ©Ò¾Ö¦³¡A¦Ó¥B¨C­Óµ{§Ç¤]³£¨ã¦³¬Y­Ó¸s²ÕªºÅv­­¡C<p>

¦b¨Ï¥ÎªÌ¦Cªí¤U­±ªºªí®æ«K¨Ï²{¦sªº¸s²Õ¡C±z¥i¥H«ö¤U¤@­Ó¸s²Õªº¦WºÙ¥H½s¿è¤§¡A©Î«ö¤Uªí®æ©³¤Uªº³sµ²¥H«Ø¥ß·sªº¸s²Õ¡C<p>

<h3>¬ö¿ýªºµn¤J</h3>
¨C·í¨Ï¥ÎªÌ³z¹L telnet¡BFTP ©Î¦b²×ºÝ¾÷µn¤J¨t²Î®É¡A¨t²Î³£·|¬ö¿ý¨äµn¤J»Pµn¥Xªº®É¶¡¡C¦b¥Dµe­±©³ºÝªº¤pªí³æ¥i¥HÅý±zÅã¥Ü©Ò¿ï¾Ü¨Ï¥ÎªÌ©Î¥þ³¡¨Ï¥ÎªÌªºµn¤J¬ö¿ý¡C<p>

<hr>

0707010001e978000081a40000000000000002000000013d1fe2c000000107000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.ca.html  <header>Entrades Registrades</header>

Sempre que un usuari entra al sistema per telnet, FTP o la consola, el
sistema enregistra aquesta entrada i la subsegüent sortida. Aquesta
pàgina mostra les entrades registrades de tothom, o d'un usuari seleccionat.

<hr>


 0707010001e979000081a40000000000000002000000013d1fe2c000000123000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.es.html  <header>Logins Registrados</header>

Cada vez que un usuario hace login ya sea por medio de telnet, FTP o desde
la consola, el sistema registra ese login y su posterior salida. Esta página
te muestra los logins registrados en tu sistema de un usuario concreto o
de todos los usuarios.
<hr>

 0707010001e97a000081a40000000000000002000000013d1fe2c00000011d000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.fr.html  <header>Journal d'ouverture de sessions</header>

Chaque fois qu'un utilisateur ouvre une session par telnet, FTP ou sur
la console le système enregistre le début et la fin. Cette page affiche
le journal des sessions de tous les utilisateurs ou d'un seul en
particulier.
<hr>

   0707010001e97b000081a40000000000000002000000013d1fe2c0000000f9000000200000000000000000000000000000002600000003reloc/useradmin/help/list_logins.html <header>Recorded Logins</header>

Every time a user logs in by telnet, FTP or at the console the system records that login and the subsequent logout.  This page shows the recorded logins to your system by either a selected user, or all users.
<hr>

   0707010001e97c000081a40000000000000002000000013d1fe2c100000149000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.nl.html  <header>Toon aanmeldingen van</header>

Elke keer als een gebruiker zich meldt via telnet, FTP of aan het console, 
legt het systeem dit feit vast en ook het afmelden wordt geregistreerd. 
Deze pagina geeft een verslag van de geregistreerde aan- en afmeldingen
op uw systeem van iedereen of van een bepaalde gebruiker. <p>
<hr>

   0707010001e97d000081a40000000000000002000000013d1fe2c000000127000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.pl.html  <header>Zapamiêtane logowania</header>

Za ka¿dym razem, gdy u¿ytkownik siê loguje przez telnet, SSH, FTP lub przy
konsoli, system zapamiêtuje to logowanie i&nbsp;pó¼niejsze wylogowanie. Ta
strona pokazuje zapamiêtane logowania do twojego systemu dla wybranego lub
wszystkich u¿ytkowników.
<hr>
 0707010001e97e000081a40000000000000002000000013d1fe2c00000011e000000200000000000000000000000000000002c00000003reloc/useradmin/help/list_logins.ru_RU.html   <header>Çàôèêñèðîâàííûå Ðåãèñòðàöèè</header>

Êàæäûé ðàç, êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ïî telnet, FTP èëè ñ êîíñîëè, ñèñòåìà ðåãèñòðèðóåò äàííûé âõîä è ïîñëåäóþùèé âûõîä. Äàííàÿ ñòðàíèöà ïîêàçûâàåò ðåãèñòðàöèè êàê äëÿ âûáðàííîãî ïîëüçîâàòåëÿ, òàê è äëÿ âñåõ ïîëüçîâàòåëåé.
<hr>

  0707010001e97f000081a40000000000000002000000013d1fe2c00000011e000000200000000000000000000000000000002c00000003reloc/useradmin/help/list_logins.ru_SU.html   <header>úÁÆÉËÓÉÒÏ×ÁÎÎÙÅ òÅÇÉÓÔÒÁÃÉÉ</header>

ëÁÖÄÙÊ ÒÁÚ, ËÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ ÐÏ telnet, FTP ÉÌÉ Ó ËÏÎÓÏÌÉ, ÓÉÓÔÅÍÁ ÒÅÇÉÓÔÒÉÒÕÅÔ ÄÁÎÎÙÊ ×ÈÏÄ É ÐÏÓÌÅÄÕÀÝÉÊ ×ÙÈÏÄ. äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÐÏËÁÚÙ×ÁÅÔ ÒÅÇÉÓÔÒÁÃÉÉ ËÁË ÄÌÑ ×ÙÂÒÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÔÁË É ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
<hr>

  0707010001e980000081a40000000000000002000000013d1fe2c000000105000000200000000000000000000000000000002900000003reloc/useradmin/help/list_logins.sv.html  <header>Registrerade inloggningar</header>

Varje gång en användare loggar in via nätverk eller konsolen registrerar
systemet inloggningen och den påföljande utloggningen. På denna sida visas
registrerade inloggningar för en angiven eller alla användare.
<hr>

   0707010001e981000081a40000000000000002000000013d1fe2c0000000a2000000200000000000000000000000000000003100000003reloc/useradmin/help/list_logins.zh_TW.Big5.html  <header>µn¤J¬ö¿ý</header>

¨C·í¨Ï¥ÎªÌ³z¹L telnet¡BFTP ©Î¦b²×ºÝ¾÷µn¤J¨t²Î®É¡A¨t²Î³£·|¬ö¿ý¨äµn¤J»Pµn¥Xªº®É¶¡¡C³o¤@­¶Åã¥Ü©Ò¿ï¾Ü¨Ï¥ÎªÌ©Î¥þ³¡¨Ï¥ÎªÌªºµn¤J¬ö¿ý¡C

<hr>

  0707010001e982000081a40000000000000002000000013d1fe2c0000000ba000000200000000000000000000000000000002600000003reloc/useradmin/help/makehome.ca.html <header>Crea els directoris arrel</header>

Si s'activa aquesta opció, es crearà el <a href=home>directori arrel</a>
introduït i se n0assignarà la propietat al nou usuari creat.

<hr>


  0707010001e983000081a40000000000000002000000013d1fe2c0000000c0000000200000000000000000000000000000002600000003reloc/useradmin/help/makehome.es.html <header>¿Creo directorio de inicio?</header>

Si se pone esta opción, el <a href=home.es>directorio de inicio</a> digitado es
creado y su propiedad es asignada al recién creado usuario.
<hr>

0707010001e984000081a40000000000000002000000013d1fe2c0000000b4000000200000000000000000000000000000002600000003reloc/useradmin/help/makehome.fr.html <header>Créer le répertoire personnel?</header>

Si cette option est choisie, le <a href=home>répertoire personnel</a>
entré sera créé et appartiendra au nouvel utilisateur.
<hr>

0707010001e985000081a40000000000000002000000013d1fe2c0000000b8000000200000000000000000000000000000002300000003reloc/useradmin/help/makehome.html    <header>Create home directory?</header>

If this option is set, the <a href=home>home directory</a> entered will be
created and its ownership assigned to the newly created user.
<hr>

0707010001e986000081a40000000000000002000000013d1fe2c0000000e2000000200000000000000000000000000000002600000003reloc/useradmin/help/makehome.pl.html <header>Utworzyæ katalog domowy?</header>

Je¶li ta opcja jest w³±czona, zostanie utworzony
<a href=home>katalog domowy</a>, którego nazwê podano i&nbsp;zostan±
ustawione dla niego prawa w³asno¶ci dla nowego u¿ytkownika.
<hr>
  0707010001e987000081a40000000000000002000000013d1fe2c0000000b4000000200000000000000000000000000000002900000003reloc/useradmin/help/makehome.ru_RU.html  <header>Ñîçäàòü äîìàøíèé êàòàëîã?</header>

Ïðè óñòàíîâêå ýòîé îïöèè áóäåò ñîçäàí <a href=home>äîìàøíèé êàòàëîã</a>
è ñîçäàâàåìîìó ïîëüçîâàòåëþ áóäóò äàíû âñå ïðàâà íà íåãî.
<hr>

0707010001e988000081a40000000000000002000000013d1fe2c0000000b4000000200000000000000000000000000000002900000003reloc/useradmin/help/makehome.ru_SU.html  <header>óÏÚÄÁÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ?</header>

ðÒÉ ÕÓÔÁÎÏ×ËÅ ÜÔÏÊ ÏÐÃÉÉ ÂÕÄÅÔ ÓÏÚÄÁÎ <a href=home>ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ</a>
É ÓÏÚÄÁ×ÁÅÍÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÀ ÂÕÄÕÔ ÄÁÎÙ ×ÓÅ ÐÒÁ×Á ÎÁ ÎÅÇÏ.
<hr>

0707010001e989000081a40000000000000002000000013d1fe2c0000000b4000000200000000000000000000000000000002600000003reloc/useradmin/help/makehome.sv.html <header>Skapa hemkatalog?</header>

Om denna inställning är satt kommer den angivna <a href=home>hemkatalogen</a>
att skapas. Den nyss skapade användaren kommer att äga den.
<hr>

0707010001e98a000081a40000000000000002000000013d1fe2c00000008d000000200000000000000000000000000000002e00000003reloc/useradmin/help/makehome.zh_TW.Big5.html <header>¬O§_«Ø¥ß®a¥Ø¿ý¡H</header>

¦pªG³]©w¤F³o­Ó¿ï¶µ¡A±N·|«Ø¥ß<a href=home>®a¥Ø¿ý</a>©Ò«ü©wªº¥Ø¿ý¡A¨Ã±N¨ä¾Ö¦³Åv«ü©w­Ó·s«Ø¥ßªº¨Ï¥ÎªÌ¡C
<hr>

   0707010001e98b000081a40000000000000002000000013d1fe2c0000000ee000000200000000000000000000000000000002100000003reloc/useradmin/help/max.ca.html  <header>Nombre màxim de dies</header>

Aquest és el nombre màxim de dies permesos entre canvis de contrasenya.
Després que hagi passat aquest temps, en entrar al sistema, s'exigirà a
l'usuari que introdueixi una contrasenya nova.

<hr>


  0707010001e98c000081a40000000000000002000000013d1fe2c000000100000000200000000000000000000000000000002100000003reloc/useradmin/help/max.es.html  <header>Días máximo</header>

Estos son el máximo número de días que se autoriza a un usuario a hacer
login antes de que tenga que cambiar su clave de acceso. Una vez transcurrido
este tiempo, se pide al usuario que digite una nueva clave de acceso.
<hr>

0707010001e98d000081a40000000000000002000000013d1fe2c0000000e1000000200000000000000000000000000000002100000003reloc/useradmin/help/max.fr.html  <header>Jours maximums</header>
C'est le nombre maximum de jours entre les changements de mots de passe.
Après ce laps de temps, un nouveau mot de passe sera demandé à l'utilisateur
à la prochaine ouverture de session.
<hr>

   0707010001e98e000081a40000000000000002000000013d1fe2c0000000c4000000200000000000000000000000000000001e00000003reloc/useradmin/help/max.html <header>Maxmimum days</header>
This is the maxmimum number of days allowed between password changes.
After this time has elapsed, the user will be propted to enter a new 
password at login.
<hr>

0707010001e98f000081a40000000000000002000000013d1fe2c1000000fe000000200000000000000000000000000000002100000003reloc/useradmin/help/max.nl.html  <header>Maximaal dagen geldig</header>

Dit is het maximum aantal dagen dat mag verlopen vóórdat het 
wachtwoord wordt veranderd. Als deze tijd is verstreken zal de 
gebruiker bij het aanmelden worden gevraagd om een nieuw 
wachtwoord op te geven.
<hr>

  0707010001e990000081a40000000000000002000000013d1fe2c0000000eb000000200000000000000000000000000000002100000003reloc/useradmin/help/max.pl.html  <header>Maksymalny czas u¿ywania has³a</header>

Jest to maksymalna liczba dni, jakie mog± up³yn±æ pomiêdzy zmianami has³a.
Po up³ywie tego czasu, u¿ytkownik zostanie poproszony o&nbsp;wprowadzenie
nowego has³a podczas logowania.
<hr>
 0707010001e991000081a40000000000000002000000013d1fe2c0000000de000000200000000000000000000000000000002400000003reloc/useradmin/help/max.ru_RU.html   <header>Ìàêñèìàëüíî äíåé</header>
Ìàêñèìàëüíîå êîëè÷åñòâî äíåé äîïóñòèìîå ìåæäó ñìåíàìè ïàðîëÿ. Ïîñëå èñòå÷åíèÿ äàííîãî ñðîêà, ïðè âõîäå â ñèñòåìó ïî telnet èëè ñ êîíñîëè, ó ïîëüçîâàòåëÿ áóäåò çàïðîøåí íîâûé ïàðîëü.
<hr>

  0707010001e992000081a40000000000000002000000013d1fe2c0000000de000000200000000000000000000000000000002400000003reloc/useradmin/help/max.ru_SU.html   <header>íÁËÓÉÍÁÌØÎÏ ÄÎÅÊ</header>
íÁËÓÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÄÎÅÊ ÄÏÐÕÓÔÉÍÏÅ ÍÅÖÄÕ ÓÍÅÎÁÍÉ ÐÁÒÏÌÑ. ðÏÓÌÅ ÉÓÔÅÞÅÎÉÑ ÄÁÎÎÏÇÏ ÓÒÏËÁ, ÐÒÉ ×ÈÏÄÅ × ÓÉÓÔÅÍÕ ÐÏ telnet ÉÌÉ Ó ËÏÎÓÏÌÉ, Õ ÐÏÌØÚÏ×ÁÔÅÌÑ ÂÕÄÅÔ ÚÁÐÒÏÛÅÎ ÎÏ×ÙÊ ÐÁÒÏÌØ.
<hr>

  0707010001e993000081a40000000000000002000000013d1fe2c0000000e4000000200000000000000000000000000000002100000003reloc/useradmin/help/max.sv.html  <header>Maximalt antal dagar</header>
Detta är det högsta antalet dagar som får gå mellan lösenordsbyten.
När tiden för lösenordsbyte har överskridits kommer användaren att bli
uppmanad att byta lösenord vid inloggningen.
<hr>

0707010001e994000081a40000000000000002000000013d1fe2c00000007d000000200000000000000000000000000000002900000003reloc/useradmin/help/max.zh_TW.Big5.html  <header>³Ì¤j¤é´Á</header>
³o¬O¦b¨â¦¸±K½XÅÜ§ó¤§¶¡©Ò¤¹³\ªº³Ì¤j¤é´Á¡C¦pªG¶W¹L¤F³o­Ó¤é´Á¡A¦bµn¤J®É±N·|­n¨D¨Ï¥ÎªÌÅÜ§ó±K½X¡C
<hr>

   0707010001e995000081a40000000000000002000000013d1fe2c0000000f4000000200000000000000000000000000000002700000003reloc/useradmin/help/max_weeks.ca.html    <header>Nombre màxim de setmanes</header>

Aquest és el nombre màxim de setmanes permès entre canvis de contrasenya.
Després que hagi passat aquest temps, en entrar al sistema, s'exigirà a
l'usuari que introdueixi una contrasenya nova.

<hr>


0707010001e996000081a40000000000000002000000013d1fe2c0000000c7000000200000000000000000000000000000002400000003reloc/useradmin/help/max_weeks.html   <header>Maxmimum weeks</header>
This is the maxmimum number of weeks allowed between password changes.
After this time has elapsed, the user will be prompted to enter a new 
password at login.
<hr>

 0707010001e997000081a40000000000000002000000013d1fe2c0000000dd000000200000000000000000000000000000002700000003reloc/useradmin/help/max_weeks.pl.html    <header>Maksymalna liczba tygodni</header>
Jest to maksymalna dopuszczalna liczba tygodni pomiedzy zmianami has³a.
Gdy ten okres up³ynie, u¿ytkownik zostanie poproszony o&nbsp;podanie
nowego has³a podczas logowania.
<hr>
   0707010001e998000081a40000000000000002000000013d1fe2c000000075000000200000000000000000000000000000002100000003reloc/useradmin/help/min.ca.html  <header>Nombre mínim de dies</header>

Aquest és el nombre mínim de dies exigit entre canvis de contrasenya.

<hr>


   0707010001e999000081a40000000000000002000000013d1fe2c000000075000000200000000000000000000000000000002100000003reloc/useradmin/help/min.es.html  <header>Días mínimos</header>

Estos son el mínimo número de días requeridos entre cambio de claves de
acceso.
<hr>

   0707010001e99a000081a40000000000000002000000013d1fe2c000000078000000200000000000000000000000000000002100000003reloc/useradmin/help/min.fr.html  <header>Jours minimums</header>
C'est le mombre minimum de jours requis entre chaque changements
de mot de passe.
<hr>

0707010001e99b000081a40000000000000002000000013d1fe2c00000006a000000200000000000000000000000000000001e00000003reloc/useradmin/help/min.html <header>Minimum days</header>
This is the minimum number of days required between password changes.
<hr>

  0707010001e99c000081a40000000000000002000000013d1fe2c100000081000000200000000000000000000000000000002100000003reloc/useradmin/help/min.nl.html  <header>Minimaal dagen geldig</header>

Dit is het minimaal aantal vereiste dagen vóórdat het wachtwoord 
wordt veranderd.
<hr>

   0707010001e99d000081a40000000000000002000000013d1fe2c000000080000000200000000000000000000000000000002100000003reloc/useradmin/help/min.pl.html  <header>Minimalny czas u¿ywania has³a</header>

Jest to minimalna liczba dni, jakie musz± up³yn±æ pomiêdzy zmianami has³a.
<hr>
0707010001e99e000081a40000000000000002000000013d1fe2c000000063000000200000000000000000000000000000002400000003reloc/useradmin/help/min.ru_RU.html   <header>Ìèíèìàëüíî äíåé</header>
Ìèíèìàëüíîå êîëè÷åñòâî äíåé òðåáóåìîå ìåæäó ñìåíàìè ïàðîëÿ.
<hr>

 0707010001e99f000081a40000000000000002000000013d1fe2c000000063000000200000000000000000000000000000002400000003reloc/useradmin/help/min.ru_SU.html   <header>íÉÎÉÍÁÌØÎÏ ÄÎÅÊ</header>
íÉÎÉÍÁÌØÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÄÎÅÊ ÔÒÅÂÕÅÍÏÅ ÍÅÖÄÕ ÓÍÅÎÁÍÉ ÐÁÒÏÌÑ.
<hr>

 0707010001e9a0000081a40000000000000002000000013d1fe2c000000075000000200000000000000000000000000000002100000003reloc/useradmin/help/min.sv.html  <header>Minimalt antal dagar</header>
Detta är det minsta antalet dagar som får förlöpa mellan lösenordsbyten.
<hr>

   0707010001e9a1000081a40000000000000002000000013d1fe2c00000003d000000200000000000000000000000000000002900000003reloc/useradmin/help/min.zh_TW.Big5.html  <header>³Ì¤p¤é´Á</header>
­n¨D§ïÅÜ±K½X¤§¶¡ªº³Ì¤p¤é´Á¡C
<hr>

   0707010001e9a2000081a40000000000000002000000013d1fe2c00000007d000000200000000000000000000000000000002700000003reloc/useradmin/help/min_weeks.ca.html    <header>Nombre mínim de setmanes</header>

Aquest és el nombre mínim de setmanes exigit entre canvis de contrasenya.

<hr>


   0707010001e9a3000081a40000000000000002000000013d1fe2c00000006c000000200000000000000000000000000000002400000003reloc/useradmin/help/min_weeks.html   <header>Minimum weeks</header>
This is the minimum number of weeks required between password changes.
<hr>

0707010001e9a4000081a40000000000000002000000013d1fe2c100000081000000200000000000000000000000000000002700000003reloc/useradmin/help/min_weeks.nl.html    <header>Minimaal weken geldig</header>

Dit is het minimaal aantal vereiste weken vóórdat het wachtwoord 
wordt veranderd.
<hr>

   0707010001e9a5000081a40000000000000002000000013d1fe2c000000073000000200000000000000000000000000000002700000003reloc/useradmin/help/min_weeks.pl.html    <header>Minimalna liczba tygodni</header>
Jest to minimalna wymagana liczba tygodni pomiêdzy zmianami has³a.
<hr>

 0707010001e9a6000081a40000000000000002000000013d1fe2c000000149000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.ca.html <header>Desplaça el directori arrel si s'ha canviat</header>

En editar un usuari existent, si es canvia el <a href=home>directori arrel</a>,
aquesta opció determina si Webmin ha d'intentar desplaçar el directori arrel
actual al nou camí. Això fallarà si el directori nou està en un sistema
de fitxers diferent del vell.

<hr>


   0707010001e9a7000081a40000000000000002000000013d1fe2c000000178000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.es.html <header>¿Muevo directorio inicial si ha cambiado?</header>

Al editar un usuario ya existente, si el <a href=home.es>Directorio inicial</a>
del usuario cambia, esta opción determina si Webmin intentará renombrar
el directorio de inicio actual a la nueva trayectoria. Eso falla si el nuevo
directorio se encuentra dentro de un sistema de archivos diferente del
anterior.
<hr>

0707010001e9a9000081a40000000000000002000000013d1fe2c000000147000000200000000000000000000000000000002300000003reloc/useradmin/help/movehome.html    <header>Move home directory if changed?</header>

When editing an existing user, if the user's <a href=home>Home directory</a>
is changed this option determines whether Webmin will try to rename
the actual home directory to the new path. This will fail if the new
directory is on a different filesystem from the old one.
<hr>

 0707010001e9a8000081a40000000000000002000000013d1fe2c00000016a000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.fr.html <header>Déplacer le répertoire personnel s'il a été changé?</header>

Lorsque vous modifiez un utilisateur, si son <a href=home>répertoire
personnel</a> est changé, cette option détermine si Webmin essaye de
renommer le répertoire actuel vers le nouveau chemin d'accès. Ceci échouera
si le nouveau répertoire se trouve sur un disque différent de l'ancien.
<hr>

  0707010001e9aa000081a40000000000000002000000013d1fe2c100000136000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.nl.html <header>Thuismap verplaatsen indien veranderd?</header>

Als tijdens het wijzigen van een gebruiker diens 
<a href=home>Thuismap</a> wordt veranderd, zal Webmin 
proberen de bestaande thuismap van naam te veranderen. 
Dit  zal mislukken als de nieuwe thuismap zich in een ander 
bestandssysteem bevindt.
<hr>

  0707010001e9ab000081a40000000000000002000000013d1fe2c000000168000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.pl.html <header>Przenie¶æ katalog domowy, je¶li zmieniony?</header>

Je¶li podczas zmiany danych istniej±cego u¿ytkownika jego 
<a href=home>Katalog domowy</a> zosta³ zmieniony, ta opcja okre¶la, czy
Webmin bêdzie próbowa³ przenie¶æ bie¿±cy katalog domowy w nowe miejsce.
To siê nie uda, je¶li nowy katalog domowy znajduje siê na innym systemie
plików ni¿ stary.
<hr>
0707010001e9ac000081a40000000000000002000000013d1fe2c00000016b000000200000000000000000000000000000002900000003reloc/useradmin/help/movehome.ru_RU.html  <header>Ïåðåìåñòèòü äîìàøíèé êàòàëîã ïðè èçìåíåíèè?</header>

Ïðè ðåäàêòèðîâàíèè ñóùåñòâóþùåãî ïîëüçîâàòåëÿ, åñëè ïîëüçîâàòåëüñêèé <a href=home>Äîìàøíèé êàòàëîã</a>
èçìåíèëñÿ, ýòà îïöèÿ îïðåäåëÿåò àâòîìàòè÷åñêîå ïåðåèìåíîâàíèå òåêóùåãî 
äîìàøíåãî êàòàëîãà â íîâûé. Âû ïîëó÷èòå îøèáêó, åñëè íîâûé äîìàøíèé êàòàëîã
áóäåò íàõîäèòñÿ íà äðóãîé ôàéëîâîé ñèñòåìå.
<hr>

 0707010001e9ad000081a40000000000000002000000013d1fe2c00000016b000000200000000000000000000000000000002900000003reloc/useradmin/help/movehome.ru_SU.html  <header>ðÅÒÅÍÅÓÔÉÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÒÉ ÉÚÍÅÎÅÎÉÉ?</header>

ðÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÅÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÊ <a href=home>äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ</a>
ÉÚÍÅÎÉÌÓÑ, ÜÔÁ ÏÐÃÉÑ ÏÐÒÅÄÅÌÑÅÔ Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÅ ÔÅËÕÝÅÇÏ 
ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ × ÎÏ×ÙÊ. ÷Ù ÐÏÌÕÞÉÔÅ ÏÛÉÂËÕ, ÅÓÌÉ ÎÏ×ÙÊ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ
ÂÕÄÅÔ ÎÁÈÏÄÉÔÓÑ ÎÁ ÄÒÕÇÏÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ.
<hr>

 0707010001e9ae000081a40000000000000002000000013d1fe2c000000127000000200000000000000000000000000000002600000003reloc/useradmin/help/movehome.sv.html <header>Flytta hemkatalog vid ändring?</header>

Om en befintlig användares <a href=home>hemkatalog</a> ändras bestäms
här om Webmin ska försöka att flytta befintlig hemkatalog till den nya
sökvägen. Om den nya katalogen finns på ett annat filsystem än den gamla
kommer detta inte att gå.
<hr>

 0707010001e9af000081a40000000000000002000000013d1fe2c0000000e5000000200000000000000000000000000000002e00000003reloc/useradmin/help/movehome.zh_TW.Big5.html <header>¦pªG§ïÅÜªº¸Ü¡A¬O§_·h²¾®a¥Ø¿ý¡H</header>

·í½s¿è¤@­Ó²{¦sªº¨Ï¥ÎªÌ®É¡A¦pªG¨Ï¥ÎªÌªº<a href=home>®a¥Ø¿ý</a>¦³³Q§ïÅÜ¡A³o­Ó¿ï¶µ¨M©w Webmin ¬O§_­n¸ÕµÛ±N®a¥Ø¿ý²¾°Ê¨ì·sªº¸ô®|¤U¡C¦pªG·sÂÂ³]©w¦b¤£¦PªºÀÉ®×¨t²Î¤W®É¡A³o±N·|¥¢±Ñ¡C
<hr>

   0707010001e9b0000081a40000000000000002000000013d1fe2c000000090000000200000000000000000000000000000002400000003reloc/useradmin/help/office.ca.html   <header>Despatx</header>

L'adreça o número de despatx de l'usuari , que es mostrarà en fer un
<tt>finger</tt> sobre aquest usuari.
<p>

<hr>


0707010001e9b1000081a40000000000000002000000013d1fe2c000000086000000200000000000000000000000000000002100000003reloc/useradmin/help/office.html  <header>Office</header>
The user's office number or address, which will be shown when
<tt>finger</tt> is used on this user. <p>
<hr>

  0707010001e9b2000081a40000000000000002000000013d1fe2c1000000ae000000200000000000000000000000000000002400000003reloc/useradmin/help/office.nl.html   <header>Kantoor</header>

Het nummer of adres van het kantoor van de gebruiker. Wordt 
getoond als de <tt>finger</tt> opdracht wordt gebruikt 
op deze gebruiker. <p>. 
<hr>

  0707010001e9b3000081a40000000000000002000000013d1fe2c00000016d000000200000000000000000000000000000002400000003reloc/useradmin/help/others.ca.html   <header>Crea / modifica els usuaris d'altres mòduls</header>

Si poses aquesta opció a Sí, els usuaris nous o modificats s'actualitzaran
en els altres mòduls de Webmin. Això permet (per exemple), sincronitzar la
llista d'usuaris de Samba amb la llista d'usuaris Unix, i que les 
contrasenyes dels usuaris Webmin vagin d'acord amb les dels usuaris Unix.
<p>

<hr>


   0707010001e9b4000081a40000000000000002000000013d1fe2c00000014f000000200000000000000000000000000000002100000003reloc/useradmin/help/others.html  <header>Create / modify user in other modules?</header>

If this option is set to Yes, newly created or modified users will
be updated in other Webmin modules. This allows (for example) the
Samba user list to be synchronised with the Unix user list, and for
the passwords of Webmin users to be kept in sync with Unix users. <p>

<hr>

 0707010001e9b5000081a40000000000000002000000013d1fe2c000000578000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.ca.html <header>Contrasenya</header>

Quan un usuari entra al sistema via telnet o a la consola, normalment ha de
donar una contrasenya. Hi ha quatre opcions diferents per la contrasenya:

<ul>
   <if $config{'empty_mode'} == 1>
   <li><b>Demana-la en entrar per primer cop</b><br>
      Quan l'usuari entra al sistema per primer cop via telnet o a la consola,
      el sistema li demanarà que introdueixi la nova contrasenya.
      <p>
   </if>
   <if $config{'empty_mode'} == 0>
   <li><b>No cal contrasenya</b><br>
      L'usuari pot entrar al sistema sense donar una contrasenya. Cal fer
      servir aquesta opció amb compte.
      <p>
   </if>
   <li><b>Entrada no permesa</b><br>
      Si tries aquesta opció, l'usuari no podrà entrar al sistema en absolut,
      ni tan sols per llegir el correu d'un servidor POP3.
      <p>
   <li><b>Contrasenya prexifrada</b><br>
      Les contrasenyes Unix s'emmagatzemen amb una forma de xifratge
      unidireccional. Aquesta opció permet introduir la contrasenya d'un
      usuari com una cadena xifrada (potser presa d'un fitxer de contrasenyes
      d'un altre sistema).
      <p>
   <li><b>Contrasenya normal</b><br>
      Per establir la contrasenya d'un usuari, selecciona aquesta opció i
      introdueix-la al camp de text. Webmin prendrà la contrasenya introduïda,
      la xifrarà i l'emmagatzemarà al fitxer de contrasenyes.
      <p>
</ul>

<hr>


0707010001e9b6000081a40000000000000002000000013d1fe2c0000005a9000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.es.html <header>Clave de Acceso</header>

Cuando un usuario hace login vía telnet o desde la consola, normalmente
debe de suministrar una clave de acceso. Hay cuatro opciones diferentes para
la clave de acceso:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Preguntar en su primer login</b><br>
    Cuando el usuario hace login por primera vez vía telnet o desde la consola
    en modo texto, el sistema le pide que introduzca su nueva clave de
    aceso. <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>No se necesita clave de acceso</b><br>
    El usuario puede hacer login en el sistema sin digitar clave de acceso.
    Esta opción debe de utilizarse con mucho cuidado. <p>
</if>
<li><b>No puede hacer login</b><br>
    Si se selecciona esta opción, el usurio no puede hacer login en el
    sistema de ningún modo incluso ni para leer su correo del servidor POP3.<p>
<li><b>Clave de acceo encriptada</b><br>
    Las claves de acceso de Unix son almacenadas en un formulario encriptado
    de una vía. Esta opción te permite digitar la clave de acceso para un
    usuario como una cadena encriptada (quizá tomada del archivo de claves
    de acceso de otro sistema). <p>
<li><b>Limpiar texto de clave de acceso</b><br>
    Para activar la clave de acceso para un usuario, selecciona esta opción
    y digítala en el campo de texto. Webmin coge la clave de acceso que
    digitas, la encripta y la almacena en el archivo de claves de acceso. <p>
</ul>
<hr>

   0707010001e9b7000081a40000000000000002000000013d1fe2c00000059d000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.fr.html <header>Mot de passe</header>

Quand un utilisateur ouvre une session par telnet ou sur la console, il
doit normalement fournir un mot de passe. Il y a quatre options différentes
pour le mot de passe :

<ul>
<if $config{'empty_mode'} == 1>
<li><b>Demander le mot de passe à la première ouverture de session</b><br>
    Quand l'utilisateur ouvre une session pour la première fois par telnet
    ou sur la console, le système va lui demander sont mot de passe. <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>Aucun mot de passe requis</b><br>
    Cet utilisateur peut ouvrir une session sans fournir de mot de passe.
    Cette option doit être utilisée avec précautions. <p>
</if>
<li><b>Aucune ouverture de session permise</b><br>
    Si cette option est choisie, l'utilisateur ne pourra pas du tout ouvrir
    de session sur le système, même pour consulter ses mails sur un serveur
    POP3. <p>
<li><b>Mot de passe crypté</b><br>
    Les mots de passe Unix sont enregistrés sous une forme cryptée. Cette
    option permet d'entrer le mot de passe pour un utilisateur sous sa forme
    déjà crypté (en le prenant du fichier de mots de passe d'un autre
    système par exemple). <p>
<li><b>Mot de passe en texte clair</b><br>
    Pour définir le mot de passe d'un utilisateur, seléctionnez cette option
    et entrez-le dans le champ de texte. Webmin l'encryptera et
    l'enregistrera dans le fichier des mots de passe. <p>
</ul>
<hr>

   0707010001e9b8000081a40000000000000002000000013d1fe2c0000004be000000200000000000000000000000000000001f00000003reloc/useradmin/help/pass.html    <header>Password</header>

When a user logs in via telnet or at the console, he must normally provide a
password. There are four different options for the password :
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Ask at first login</b><br>
    When the user logs in for the first time via telnet or at the console in
    text mode, the system will prompt the user for his password. <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>No password required</b><br>
    The user can login to the system without providing a password. This option
    should be used with care. <p>
</if>
<li><b>No login allowed</b><br>
    If this option is chosen the user will not be able to login to the system
    at all, even to read mail using POP3 server. <p>
<li><b>Encrypted password</b><br>
    Unix passwords are stored in a one-way encrypted form. This option allows
    you to enter the password for a user as an encrypted string (maybe taken
    from the password file on another system). <p>
<li><b>Clear text password</b><br>
    To set the password for a user, select this option and enter it into the
    text field. Webmin will take the password you enter, encrypt it and store
    it in the password file. <p>
</ul>
<hr>

  0707010001e9b9000081a40000000000000002000000013d1fe2c1000005e8000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.nl.html <header>Wachtwoord</header>

Wanneer een gebruiker zich aanmeldt via telnet of aan het console, moet 
normaliter een wachtwoord worden opgegeven. Er zijn vier mogelijkheden voor 
het wachtwoord:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Vragen bij eerste aanmelding</b><br>
    Wanneer de gebruiker zich voor de eerste maal aanmeldt via telnet of aan 
    het console in tekst modus, zal het systeem vragen om een wachtwoord. <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>Geen wachtwoord nodig</b><br>
    De gebruiker kan zich aanmelden aan het systeem zonder een wachtwoord op 
    te geven. Deze optie biedt geen bescherming en dient zoveel mogelijk te 
    worden vermeden. <p>
</if>
<li><b>Aanmelden niet toegestaan</b><br>
    Als deze optie wordt gekozen kan de gebruiker zich helemaal niet 
    aanmelden, ook niet om mail te lezen via de POP3 server. <p>
<li><b>Voorversleuteld wachtwoord</b><br>
    Unix wachtwoorden worden door een onomkeerbaar algoritme versleuteld en 
    in die vorm opgeslagen. Deze optie maakt het mogelijk om het wachtwoord voor de 
    gebruiker in dit versleutelde formaat in te brengen (wellicht overgenomen 
    uit een bestaand wachtwoordbestand van een ander systeem). <p>
<li><b>Normaal wachtwoord</b><br>
    Om het wachtwoord van een gebruiker in te stellen, kunt u het beste deze 
    optie gebruiken. U tikt dan het wachtwoord in klare tekst in het veld. 
    Webmin zal dit wachtwoord dan versleutelen en opslaan in het 
    wachtwoordbestand. <p>
</ul>
<hr>

0707010001e9ba000081a40000000000000002000000013d1fe2c00000050d000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.pl.html <header>Has³o</header>

Gdy u¿ytkownik loguje siê przez telnet lub na konsoli, zazwyczaj musi podaæ
has³o. S± cztery ró¿ne mo¿liwo¶ci ustawienia has³a&nbsp;:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Zapytaj przy pierwszym logowaniu</b><br>
    Gdy u¿ytkownik bêdzie siê logowa³ po raz pierwszy przez telnet lub przy
    konsoli w&nbsp;trybie tekstowym, system poprosi go o&nbsp;jego has³o. <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>Has³o nie wymagane</b><br>
    U¿ytkownik mo¿e siê zalogowaæ do systemu bez podawanie has³a. Mo¿liwo¶æ
    ta powinna byc u¿ywana ze szczególn± ostro¿no¶ci±. <p>
</if>
<li><b>Nie mo¿na siê zalogowaæ</b><br>
    Wybranie tej mo¿liwo¶ci spowoduje, ¿e u¿ytkownik nie bêdzie siê móg³ 
    w&nbsp;ogóle zalogowaæ do systemu, nawet aby przeczytaæ poczte u¿ywaj±c
    serwera POP3. <p>
<li><b>Has³o zaszyfrowane</b><br>
    Has³a uniksowe s± przechowywane w&nbsp;postaci zaszyfrowanej
    jednokierunkowo. Ta opcja pozwala na wprowadzenie zaszyfrowanej postaci
    has³a (byæ mo¿e pobranej z&nbsp;pliku hase³ innego systemu). <p>
<li><b>Has³o otwartym tekstem</b><br>
    Aby ustawiæ has³o dla u¿ytkownika, wybierz tê opcjê i&nbsp;wprowad¼ je
    w&nbsp;polu tekstowym. Webmin we¼mie to has³o, zaszyfruje je
    i&nbsp;zapisze do pliku hase³. <p>
</ul>
<hr>
   0707010001e9bb000081a40000000000000002000000013d1fe2c0000005a0000000200000000000000000000000000000002500000003reloc/useradmin/help/pass.ru_RU.html  <header>Ïàðîëü</header>

Êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ïî telnet èëè ñ êîíñîëè, îí â íîðìàëüíîì 
ñëó÷àå äîëæåí ââåñòè ïàðîëü. Äëÿ ïàðîëÿ ñóùåñòâóþò ÷åòûðå ðàçëè÷íûå îïöèè:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Ñïðîñèòü ïðè ïåðâîì âõîäå</b><br>
    Êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ïåðâûé ðàç ïî telnet èëè ñ êîíñîëè
    â òåêñòîâîì ðåæèìå, ñèñòåìà ñàìà ñïðîñèò ïîëüçîâàòåëÿ ââåñòè íîâûé ïàðîëü.
    Íå ðåêîìåíäóåì ïîëüçîâàòüñÿ äàííîé îïöèåé ïîñêîëüêó îíà íå ðàáîòàåò äëÿ 
    ìíîãèõ äðóãèõ ñåðâèñîâ (â ÷àñòíîñòè ôàéëîâîãî ñåðâåðà).
    <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>Íå òðåáóåòñÿ ïàðîëÿ</b><br>
    Ïîëüçîâàòåëÿ ìîæåò âõîäèòü â ñèñòåìó áåç ïàðîëÿ. Áóäüòå îñòîðîæíû ñ ýòîé
    îïöèåé, îïàñàéòåñü íàðóøåíèé áåçîïàñíîñòè.
    <p>
</if>
<li><b>Âõîä â ñèñòåìó íå ðàçðåøåí</b><br>
    Ïðè âûáîðå äàííîé îïöèè ïîëüçîâàòåëü íå ñìîæåò âõîäèòü â ñèñòåìó âîâñå,
    â òîì ÷èñëå è äëÿ ÷òåíèÿ ïî÷òû ïî ïðîòîêîëó POP3
    <p>
<li><b>Çàøèôðîâàííûé ïàðîëü</b><br>
    Ïàðîëè ñèñòåìû õðàíÿòñÿ â îäíîñòîðîííå çàøèôðîâàííîé ôîðìå. Ýòà îïöèÿ
    ïîçâîëÿåò Âàì ââåñòè ïàðîëü ïîëüçîâàòåëÿ íàïðÿìóþ â çàøèôðîâàííîì âèäå.
    Äàííàÿ îïöèÿ ìîæåò áûòü ïîëåçíà â ñëó÷àå êîïèðîâàíèÿ ïàðîëåé äðóãèõ 
    ïîëüçîâàòåëåé.
    <p>
<li><b>Òåêñòîâûé ïàðîëü</b><br>
    Äëÿ óñòàíîâêè ïàðîëÿ ïîëüçîâàòåëÿ <b>âûáåðèòå ýòîò ïóíêò</b> è ââåäèòå ïàðîëü â
    òåêñòîâîå ïîëå. Äàííûé ïàðîëü áóäåò çàøèôðîâàí è ñîõðàíåí â ñèñòåìå.
    <p>
</ul>
<hr>

0707010001e9bc000081a40000000000000002000000013d1fe2c0000005a0000000200000000000000000000000000000002500000003reloc/useradmin/help/pass.ru_SU.html  <header>ðÁÒÏÌØ</header>

ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ ÐÏ telnet ÉÌÉ Ó ËÏÎÓÏÌÉ, ÏÎ × ÎÏÒÍÁÌØÎÏÍ 
ÓÌÕÞÁÅ ÄÏÌÖÅÎ ××ÅÓÔÉ ÐÁÒÏÌØ. äÌÑ ÐÁÒÏÌÑ ÓÕÝÅÓÔ×ÕÀÔ ÞÅÔÙÒÅ ÒÁÚÌÉÞÎÙÅ ÏÐÃÉÉ:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>óÐÒÏÓÉÔØ ÐÒÉ ÐÅÒ×ÏÍ ×ÈÏÄÅ</b><br>
    ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ ÐÅÒ×ÙÊ ÒÁÚ ÐÏ telnet ÉÌÉ Ó ËÏÎÓÏÌÉ
    × ÔÅËÓÔÏ×ÏÍ ÒÅÖÉÍÅ, ÓÉÓÔÅÍÁ ÓÁÍÁ ÓÐÒÏÓÉÔ ÐÏÌØÚÏ×ÁÔÅÌÑ ××ÅÓÔÉ ÎÏ×ÙÊ ÐÁÒÏÌØ.
    îÅ ÒÅËÏÍÅÎÄÕÅÍ ÐÏÌØÚÏ×ÁÔØÓÑ ÄÁÎÎÏÊ ÏÐÃÉÅÊ ÐÏÓËÏÌØËÕ ÏÎÁ ÎÅ ÒÁÂÏÔÁÅÔ ÄÌÑ 
    ÍÎÏÇÉÈ ÄÒÕÇÉÈ ÓÅÒ×ÉÓÏ× (× ÞÁÓÔÎÏÓÔÉ ÆÁÊÌÏ×ÏÇÏ ÓÅÒ×ÅÒÁ).
    <p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>îÅ ÔÒÅÂÕÅÔÓÑ ÐÁÒÏÌÑ</b><br>
    ðÏÌØÚÏ×ÁÔÅÌÑ ÍÏÖÅÔ ×ÈÏÄÉÔØ × ÓÉÓÔÅÍÕ ÂÅÚ ÐÁÒÏÌÑ. âÕÄØÔÅ ÏÓÔÏÒÏÖÎÙ Ó ÜÔÏÊ
    ÏÐÃÉÅÊ, ÏÐÁÓÁÊÔÅÓØ ÎÁÒÕÛÅÎÉÊ ÂÅÚÏÐÁÓÎÏÓÔÉ.
    <p>
</if>
<li><b>÷ÈÏÄ × ÓÉÓÔÅÍÕ ÎÅ ÒÁÚÒÅÛÅÎ</b><br>
    ðÒÉ ×ÙÂÏÒÅ ÄÁÎÎÏÊ ÏÐÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ×ÈÏÄÉÔØ × ÓÉÓÔÅÍÕ ×Ï×ÓÅ,
    × ÔÏÍ ÞÉÓÌÅ É ÄÌÑ ÞÔÅÎÉÑ ÐÏÞÔÙ ÐÏ ÐÒÏÔÏËÏÌÕ POP3
    <p>
<li><b>úÁÛÉÆÒÏ×ÁÎÎÙÊ ÐÁÒÏÌØ</b><br>
    ðÁÒÏÌÉ ÓÉÓÔÅÍÙ ÈÒÁÎÑÔÓÑ × ÏÄÎÏÓÔÏÒÏÎÎÅ ÚÁÛÉÆÒÏ×ÁÎÎÏÊ ÆÏÒÍÅ. üÔÁ ÏÐÃÉÑ
    ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ××ÅÓÔÉ ÐÁÒÏÌØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁÐÒÑÍÕÀ × ÚÁÛÉÆÒÏ×ÁÎÎÏÍ ×ÉÄÅ.
    äÁÎÎÁÑ ÏÐÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÁ × ÓÌÕÞÁÅ ËÏÐÉÒÏ×ÁÎÉÑ ÐÁÒÏÌÅÊ ÄÒÕÇÉÈ 
    ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
    <p>
<li><b>ôÅËÓÔÏ×ÙÊ ÐÁÒÏÌØ</b><br>
    äÌÑ ÕÓÔÁÎÏ×ËÉ ÐÁÒÏÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ <b>×ÙÂÅÒÉÔÅ ÜÔÏÔ ÐÕÎËÔ</b> É ××ÅÄÉÔÅ ÐÁÒÏÌØ ×
    ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ. äÁÎÎÙÊ ÐÁÒÏÌØ ÂÕÄÅÔ ÚÁÛÉÆÒÏ×ÁÎ É ÓÏÈÒÁÎÅÎ × ÓÉÓÔÅÍÅ.
    <p>
</ul>
<hr>

0707010001e9bd000081a40000000000000002000000013d1fe2c0000004a6000000200000000000000000000000000000002200000003reloc/useradmin/help/pass.sv.html <header>Lösenord</header>

När en användare loggar in via nätverk eller konsol behöver den vanligen
ange ett lösenord. Det finns fyra alternativ för lösenordet:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>Ange vid första inloggning</b>
    <br>När användaren loggar in första gången via nätverk eller konsol
    i textläge, kommer systemet att fråga användaren om ett lösenord.
</if>
<if $config{'empty_mode'} == 0>
<li><b>Inget lösenord</b>
    <br>Användaren kan logga in på systemet utan lösenord. Det här alternativet
    ska man vara mycket försiktig med.
</if>
<li><b>Får ej logga in</b>
    <br>Om man väljer detta alternativ får användaren inte logga in på
    systemet, inte ens för att läsa e-post via en POP3-server.
<li><b>Krypterat lösenord</b>
    <br>Unix-lösenord lagras på envägskrypterad form. Med detta alternativ
    kan man ange lösenord för en användare som en krypterad sträng, som kan
    hämtas från en lösenordsfil på ett annat system.
<li><b>Lösenord i klartext</b>
    <br>Välj detta alternativ för att ange lösenordet i klartext. Skriv in
    lösenordet i fältet. Webmin krypterar lösenordet och lagrar den
    krypterade strängen i lösenordsfilen.
</ul>
<hr>

  0707010001e9be000081a40000000000000002000000013d1fe2c00000033b000000200000000000000000000000000000002a00000003reloc/useradmin/help/pass.zh_TW.Big5.html <header>±K½X</header>

·í¨Ï¥ÎªÌ³z¹L telnet ©Î¦b²×ºÝ¾÷µn¤J®É¡A³q±`¥L¥²¶·´£¨Ñ¤@­Ó±K½X¡C¹ï©ó±K½X¦³¤T­Ó¥i¥H¨Ï¥Îªº¿ï¶µ:
<ul>
<if $config{'empty_mode'} == 1>
<li><b>¦b²Ä¤@¦¸µn¤J®É¸ß°Ý</b><br>
    ·í¨Ï¥ÎªÌ²Ä¤@¦¸³z¹L telnet ©Î¦b²×ºÝ¾÷µn¤J®É¡A¨t²Î·|´£¥Ü¨Ï¥ÎªÌÅÜ§ó±K½X¡C<p>
</if>
<if $config{'empty_mode'} == 0>
<li><b>¤£»Ý­n±K½X</b><br>
    ¨Ï¥ÎªÌ¥i¥Hµn¤J¨t²Î¦Ó¤£»Ý­n¨Ï¥Î±K½X¡C³o­Ó¿ï¶µÀ³¸Ó­n¤p¤ß¨Ï¥Î¡C<p>
</if>
<li><b>¤£¤¹³\µn¤J</b><br>
    ¦pªG¿ï¾Ü¤F³o­Ó¿ï¶µ¡A¨Ï¥ÎªÌ±N¤£³Q¤¹³\µn¤J³o­Ó¨t²Î¡A§Y¨Ï¬O¨Ï¥Î POP3 ¦øªA¾¹Åª¨ú«H¥ó¡C<p>
<li><b>¤w½s½Xªº±K½X</b><br>
    Unix ªº±K½X¬O³Q¥H³æ¦V½s½Xªº¤è¦¡Àx¦s¡C³o­Ó¿ï¶µ¤¹³\±z¥H½s½X¹L¦r¦êªº§Î¦¡¿é¤J¤@­Ó±K½X (¥i¯à±q¨ä¥L¨t²Îªº±K½X¨ú±o)¡C<p>
<li><b>¯Â¤å¦r±K½X</b><br>
    ­n¬°¨Ï¥ÎªÌ³]©w¤@±K½X¡A¿ï¾Ü³o­Ó¿ï¶µ¨Ã¿é¤J±K½X¨ì¤å¦r°Ï°ì¤¤¡CWebmin ±N·|¨Ï¥Î±z©Ò¿é¤Jªº±K½X¡A¨Ã¦b½s½X«áÀx¦s©ó±K½XÀÉ¤§¤¤¡C<p>
</ul>
<hr>

 0707010001e9bf000081a40000000000000002000000013d1fe2c0000000af000000200000000000000000000000000000002200000003reloc/useradmin/help/real.ca.html <header>Nom real</header>

El nom real humanament llegible d'aquest usuari. Això es mostra amb ordres
com ara <tt>finger</tt>, i es fa servir en el correu de sortida.

<hr>


 0707010001e9c0000081a40000000000000002000000013d1fe2c0000000b7000000200000000000000000000000000000002200000003reloc/useradmin/help/real.es.html <header>Nombre Real</header>

El nombre real humánamente legible de este usuario. Éste es mostrado por
comandos tales como <tt>finger</tt> y es utilizado en el correo saliente.
<hr>

 0707010001e9c1000081a40000000000000002000000013d1fe2c0000000c1000000200000000000000000000000000000002200000003reloc/useradmin/help/real.fr.html <header>Nom complet</header>
C'est le vrai nom lisible-par-un-humain de l'utilisateur. Il est affiché
par des commandes telles que <tt>finger</tt> et est utilisé pour les mails
sortants.
<hr>

   0707010001e9c2000081a40000000000000002000000013d1fe2c00000009e000000200000000000000000000000000000001f00000003reloc/useradmin/help/real.html    <header>Real Name</header>
The real human-readable name of this user. This is displayed by commands
like <tt>finger</tt> and is used in outgoing email.
<hr>

  0707010001e9c3000081a40000000000000002000000013d1fe2c1000000e4000000200000000000000000000000000000002200000003reloc/useradmin/help/real.nl.html <header>Volledige naam</header>
De volledige naam van deze gebruiker. Wordt 
getoond als de <tt>finger</tt> opdracht wordt gebruikt 
op deze gebruiker en opgenomen in uitgaande electronische 
post van deze gebruiker. <p>.
<hr>

0707010001e9c4000081a40000000000000002000000013d1fe2c0000000c9000000200000000000000000000000000000002200000003reloc/useradmin/help/real.pl.html <header>Rzeczywista nazwa</header>

Rzeczywista, zrozumia³a dla ludzi, nazwa tego u¿ytkownika. Jest ona
wy¶wietlana przez polecenia typu <tt>finger</tt> i&nbsp;u¿ywana
w&nbsp;wychodz±cej poczcie.
<hr>
   0707010001e9c5000081a40000000000000002000000013d1fe2c0000000d0000000200000000000000000000000000000002500000003reloc/useradmin/help/real.ru_RU.html  <header>Íàñòîÿùåå èìÿ</header>
Íàñòîÿùåå (÷èòàáåëüíîå) èìÿ ïîëüçîâàòåëÿ èëè êîììåíòàðèé. Ýòî èìÿ ïîêàçûâàþò
íåêîòîðûå êîìàíäû (íàïðèìåð <tt>finger</tt>), à òàêæå ýòî èìÿ èñïîëüçóåòñÿ â
èñõîäÿùåé ïî÷òå.
<hr>

0707010001e9c6000081a40000000000000002000000013d1fe2c0000000d0000000200000000000000000000000000000002500000003reloc/useradmin/help/real.ru_SU.html  <header>îÁÓÔÏÑÝÅÅ ÉÍÑ</header>
îÁÓÔÏÑÝÅÅ (ÞÉÔÁÂÅÌØÎÏÅ) ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ ËÏÍÍÅÎÔÁÒÉÊ. üÔÏ ÉÍÑ ÐÏËÁÚÙ×ÁÀÔ
ÎÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ (ÎÁÐÒÉÍÅÒ <tt>finger</tt>), Á ÔÁËÖÅ ÜÔÏ ÉÍÑ ÉÓÐÏÌØÚÕÅÔÓÑ ×
ÉÓÈÏÄÑÝÅÊ ÐÏÞÔÅ.
<hr>

0707010001e9c7000081a40000000000000002000000013d1fe2c000000088000000200000000000000000000000000000002200000003reloc/useradmin/help/real.sv.html <header>Personens namn</header>
Användarens verkliga namn. Detta används t ex av kommandot <tt>finger</tt>
och i utgående e-post.
<hr>

0707010001e9c8000081a40000000000000002000000013d1fe2c000000086000000200000000000000000000000000000002a00000003reloc/useradmin/help/real.zh_TW.Big5.html <header>¯u¹ê©m¦W</header>
³o­Ó¨Ï¥ÎªÌ¦b¯u¹ê¥@¬É¤¤ªº¦WºÙ¡C³o·|Åã¥Ü¦b <tt>finger</tt> µ¥µ¥«ü¥Oªºµù¸ÑÄæ¦ì¤¤¡A¨Ã¥Î©ó¥~°eªº¹q¤l¶l¥ó¡C
<hr>

  0707010001e9c9000081a40000000000000002000000013d1fe2c000000364000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.ca.html    <header>Shell</header>

Quan un usuari entra al sistema via telnet o a la consola, o bé obre una
finestra <tt>xterm</tt> en X, el programa <i>shell</i> de l'usuari 
s'executarà per interpretar les ordres introduïdes. Si un usuari no té 
un programa <i>shell</i> vàlid o en té un que no fa res (com
<tt>/bin/false</tt>), llavors aquest usuari no podrà entrar al sistema.
Això és útil per crear usuaris que només poden llegir i enviar correu.
<p>

En aquest camp hi ha la llista de totes les shells utilitzades pels
usuaris del sistema. Pots seleccionar-ne un, o bé triar <i>Altres...</i>
i introduir el camí complet de la shell en el camp de text de sota.
<p>

Tots els sistemes Unix porten la Bourne Shell (<tt>/bin/sh</tt>) i la 
C shell (<tt>/bin/csh</tt>). <tt>tcsh</tt>, <tt>zsh</tt> i <tt>bash</tt>
són altres shells corrents i més agradables a l'usuari.

<hr>


0707010001e9ca000081a40000000000000002000000013d1fe2c000000371000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.es.html    <header>Shell</header>

Cuando un usuario hace login vía telnet o desde la consola o abre una
ventana <tt>xterm</tt> en X, el programa de shell del usuario se ejecuta
para que pueda interpretar los comandos que se digiten. Si un usuario no
tiene un programa de shell válido o si tiene uno que no hace nada (como
<tt>/bin/false</tt>), encontes ese usuario no podrá hacer login. Esto puede
se útil al crear usuarios que sólo pueden leer y escribir correo. <p>

Listados en este campo están todos los shells usados por los usuarios de
tu sistema. Puedes seleccionar uno o escoger <i>Otro...</i> y digitar la
trayectoria completa del programa shell en el campo de texto inferior.<p>

Todos los sistemas Unix vienen con el shell Bourne (<tt>/bin/sh</tt>) y el
shell C (<tt>/bin/csh</tt>). Otros shells muy comunes y más amigables
son <tt>tcsh</tt>, <tt>zsh</tt> y <tt>bash</tt>. 
<hr>

   0707010001e9cb000081a40000000000000002000000013d1fe2c00000037f000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.fr.html    <header>Interpréteur de commandes (shell)</header>

Quand un utilisateur ouvre une session par telnet ou sur la console, ou
ouvre un <tt>xterm</tt> sous X l'interpréteur de commandes sera lancé.
Si un utilisateur n'a pas un interpréteur de commandes valide ou en a un
qui ne fait rien (comme <tt>/bin/false</tt>), il ne sera pas capable
d'ouvrir une session. Ceci peut s'avérer utile si vous créez des
utilisateurs qui ne pourront que recevoir et envoyer des mails. <p>

Dans ce champ, tous les shells utilisés sur votre système sont listés.
Vous pouvez en séléctionner un ou choisir <i>Autre..</i> et entrer le
chemin de commande complet du shell à utiliser.

Tout les systèmes Unix possèdent le Bourne shell (<tt>/bin/sh</tt>) et
le C shell (<tt>/bin/csh</tt>). Il existe d'autres interpréteurs de
commandes répandus comme <tt>tcsh</tt>, <tt>zsh</tt> et <tt>bash</tt>.
<hr>

 0707010001e9cc000081a40000000000000002000000013d1fe2c000000312000000200000000000000000000000000000002000000003reloc/useradmin/help/shell.html   <header>Shell</header>

When a user logs in via telnet or at the console, or opens an <tt>xterm</tt>
window in X the users shell program will be run to interpret commands
entered. If a user does not have a valid shell program or has one that
does nothing (like <tt>/bin/false</tt>), then that user will not be able to
login. This can be useful when creating users who can only read and send
email. <p>

Listed in this field are all the shells used by users on your system. You
may select one, or choose <i>Other..</i> and enter the full path of the
shell in the text field below. <p>

All Unix systems come with the Bourne shell (<tt>/bin/sh</tt>) and the
C Shell (<tt>/bin/csh</tt>). Other common and more user-friendly shells
are <tt>tcsh</tt>, <tt>zsh</tt> and <tt>bash</tt>. 
<hr>

  0707010001e9cd000081a40000000000000002000000013d1fe2c10000038e000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.nl.html    <header>Shell</header>

Wanneer een gebruiker zich aanmeldt via telnet of aan het console of 
een <tt>xterm</tt> venster opent in X, wordt het shell programma van 
de gebruiker gestart om ingetikte opdrachten te interpreteren. Als de 
gebruiker geen geldig shell programma heeft of een shell programma 
dat niets doet (zoals <tt>/bin/false</tt>), dan zal die gebruiker zich 
niet kunnen aanmelden. Dit kan handig zijn voor een gebruiker die 
alleen electronische post mag lezen en versturen. <p>

In dit veld zijn alle shells opgesomd, die op uw systeem voorhanden zijn. 
U kunt er één selecteren of <i>Overige..</i> kiezen en het volledige 
pad van de shell in het eronder staande veld intikken. <p>

Alle Unix systemen hebben de Bourne shell (<tt>/bin/sh</tt>) en de
C Shell (<tt>/bin/csh</tt>). Andere algemene en meer gebruiksvriendelijke 
shells zijn <tt>tcsh</tt>, <tt>zsh</tt> and <tt>bash</tt>. 
<hr>

  0707010001e9ce000081a40000000000000002000000013d1fe2c0000003b0000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.pl.html    <header>Pow³oka</header>

Gdy u¿ytkownik siê loguje poprzez telnet, SSH, na konsoli lub otwiera
okienko <tt>xterm</tt> w&nbsp;X-ach zostaje uruchomiony program pow³oki
u¿ytkownika, aby interpretowa³ wpisane polecenia. Je¶li u¿ytkownik nie
posiada poprawnego programu pow³oki lub posiada taki, który nic nie robi
(np. <tt>/bin/false</tt>), wówczas nie mo¿e siê on zalogowaæ. Jest to
wykorzystywane do tworzenia u¿ytkowników, którzy mog± wy³±cznie czytaæ
i&nbsp;wysy³aæ pocztê. <p>

W&nbsp;tym polu s± wymienione wszystkie pow³oki u¿ywane przez u¿ytkowników
twojego systemu. Mo¿esz wybraæ jedn± z&nbsp;nich lub wybraæ <i>Inna..</i>
oraz wpisaæ pe³n± ¶cie¿kê do programu pow³oki w&nbsp;polu tekstowym poni¿ej.
<p>

Wszystkie systemy uniksowe posiadaj± pow³okê Bourne'a (<tt>/bin/sh</tt>)
oraz pow³okê C (<tt>/bin/csh</tt>). Innymi czêsto spotykanymi przyjaznymi
dla u¿ytkowników pow³okami s± <tt>tcsh</tt>, <tt>zsh</tt>
i&nbsp;<tt>bash</tt>.
<hr>
0707010001e9cf000081a40000000000000002000000013d1fe2c0000003a8000000200000000000000000000000000000002600000003reloc/useradmin/help/shell.ru_RU.html <header>Shell</header>

Êîãäà ïîëüçîâàòåëü âõîäèò â ñèñòåìó ïî telnet èëè ñ êîíñîëè, èëè îòêðûâàåò îêíî <tt>xterm</tt> â îêîííîé ñèñòåìå X, òî ïðîãðàììà íàçûâàåìàÿ shell ïîëüçîâàòåëÿ çàïóñêàåòñÿ äëÿ èíòåðïðåòàöèè ââîäèìûõ ïîëüçîâàòåëåì êîìàíä. Åñëè ïîëüçîâàòåëü íå èìååò äîïóñòèìîãî shell èëè èìååò òàêîé, êîòîðûé íè÷åãî íå äåëàåò (íàïðèìåð <tt>/bin/false</tt>), òàêîé ïîëüçîâàòåëü íå ñìîæåò ðåãèñòðèðîâàòüñÿ â ñèñòåìå. Ýòî ìîæåò áûòü ïîëåçíûì, åñëè âû õîòèòå ñîçäàòü ïîëüçîâàòåëÿ èìåþùåãî âîçìîæíîñòü òîëüêî îòïðàâëÿòü è ïðèíèìàòü ïî÷òó.
<p>

Â äàííîì ïîëå ïåðå÷èñëåííû âñå shellû èñïîëüçóåìûå ïîëüçîâàòåëÿìè âàøåé ñèñòåìû. Âû ìîæåòå âûáðàòü îäèí èç íèõ, èëè âûáðàòü <i>Äðóãîé..</i> è ââåñòè ïîëíûé ïóòü ê shell â òåêñòîâîì ïîëå íèæå.
<p>

Âñå Unix ñèñòåìû ïîñòàâëÿþòñÿ ñ Bourne shell (<tt>/bin/sh</tt>) è C Shell (<tt>/bin/csh</tt>). Äðóãèå èçâåñòíûå è ëåãêèå â èñïîëüçîâàíèè shellû <tt>tcsh</tt>, <tt>zsh</tt> è <tt>bash</tt>.
<hr>

0707010001e9d0000081a40000000000000002000000013d1fe2c0000003a8000000200000000000000000000000000000002600000003reloc/useradmin/help/shell.ru_SU.html <header>Shell</header>

ëÏÇÄÁ ÐÏÌØÚÏ×ÁÔÅÌØ ×ÈÏÄÉÔ × ÓÉÓÔÅÍÕ ÐÏ telnet ÉÌÉ Ó ËÏÎÓÏÌÉ, ÉÌÉ ÏÔËÒÙ×ÁÅÔ ÏËÎÏ <tt>xterm</tt> × ÏËÏÎÎÏÊ ÓÉÓÔÅÍÅ X, ÔÏ ÐÒÏÇÒÁÍÍÁ ÎÁÚÙ×ÁÅÍÁÑ shell ÐÏÌØÚÏ×ÁÔÅÌÑ ÚÁÐÕÓËÁÅÔÓÑ ÄÌÑ ÉÎÔÅÒÐÒÅÔÁÃÉÉ ××ÏÄÉÍÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÏÍÁÎÄ. åÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÉÍÅÅÔ ÄÏÐÕÓÔÉÍÏÇÏ shell ÉÌÉ ÉÍÅÅÔ ÔÁËÏÊ, ËÏÔÏÒÙÊ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ (ÎÁÐÒÉÍÅÒ <tt>/bin/false</tt>), ÔÁËÏÊ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÓÍÏÖÅÔ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ × ÓÉÓÔÅÍÅ. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÙÍ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ ÓÏÚÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÍÅÀÝÅÇÏ ×ÏÚÍÏÖÎÏÓÔØ ÔÏÌØËÏ ÏÔÐÒÁ×ÌÑÔØ É ÐÒÉÎÉÍÁÔØ ÐÏÞÔÕ.
<p>

÷ ÄÁÎÎÏÍ ÐÏÌÅ ÐÅÒÅÞÉÓÌÅÎÎÙ ×ÓÅ shellÙ ÉÓÐÏÌØÚÕÅÍÙÅ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. ÷Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ÏÄÉÎ ÉÚ ÎÉÈ, ÉÌÉ ×ÙÂÒÁÔØ <i>äÒÕÇÏÊ..</i> É ××ÅÓÔÉ ÐÏÌÎÙÊ ÐÕÔØ Ë shell × ÔÅËÓÔÏ×ÏÍ ÐÏÌÅ ÎÉÖÅ.
<p>

÷ÓÅ Unix ÓÉÓÔÅÍÙ ÐÏÓÔÁ×ÌÑÀÔÓÑ Ó Bourne shell (<tt>/bin/sh</tt>) É C Shell (<tt>/bin/csh</tt>). äÒÕÇÉÅ ÉÚ×ÅÓÔÎÙÅ É ÌÅÇËÉÅ × ÉÓÐÏÌØÚÏ×ÁÎÉÉ shellÙ <tt>tcsh</tt>, <tt>zsh</tt> É <tt>bash</tt>.
<hr>

0707010001e9d1000081a40000000000000002000000013d1fe2c00000034f000000200000000000000000000000000000002300000003reloc/useradmin/help/shell.sv.html    <header>Skal</header>

När en användare loggar in via nätverk eller konsol, eller öppnar ett
<tt>xterm</tt>-fönster i X, kommer användarens skalprogram att köras för
att tolka de kommandon som skrivs in. Om en användare inte har något giltigt
skalprogram eller har ett skal som inte kan göra något (t ex
<tt>/bin/false</tt>), kommer denna användare inte att kunna logga in.
Detta kan användas för att skapa användare som endast ska kunna läsa och
skicka e-post.

<p>I detta fält listas alla skal som används av någon användare i systemet.
Välj ett av dessa eller <i>Övriga ...</i> och fyll i fullständig sökväg till
skalet i textfältet nedanför.

<p>Alla Unix-system har skalen Bourne shell (<tt>/bin/sh</tt>) och C Shell
(<tt>/bin/csh</tt>). Andra vanliga - och mer användarvänliga - skal är
<tt>tcsh</tt>, <tt>zsh</tt> och <tt>bash</tt>. 
<hr>

 0707010001e9d2000081a40000000000000002000000013d1fe2c000000295000000200000000000000000000000000000002b00000003reloc/useradmin/help/shell.zh_TW.Big5.html    <header>Shell (©R¥O´ß)</header>

·í¨Ï¥ÎªÌ³z¹L telnet¡A¦b²×ºÝ¾÷µn¤J©Î¦b X µøµ¡¤¤¶}±Ò <tt>xterm</tt> µ¥µ{¦¡®É¡Ashell (©R¥O´ß) ±N·|³Q°õ¦æ¨Ã³B²z¨Ï¥ÎªÌ¿é¤Jªº©R¥O¡C¦pªG¨Ï¥ÎªÌ¨S¦³¤@­Ó¦³®Äªº shell ©Î³Q³]©w¦¨¤£§@¥ô¦ó¨Æªºµ{¦¡ (¨Ò¦p <tt>/bin/false</tt>)¡A«h¨Ï¥ÎªÌ±NµLªkµn¤J¡C·í«Ø¥ß¤@­Ó¥u¤¹³\³z¹L SMTP/POP3 ¦¬µo«H¥óªº¨Ï¥ÎªÌ®É¡A³o¬Û·í¦³¥Î¡C<p>

¦C¦b³o­ÓÄæ¦ì¤¤ªº¬O¨t²Î¤W©Ò¦³¥i¥Hµ¹¨Ï¥ÎªÌ¨Ï¥Îªº shell¡C±z¥i¥H±q¤¤¶¡¿ï¾Ü¤@­Ó©Î¿ï¾Ü<i>¨ä¥L...</i> ¨Ã¦b¤U­±ªº¤å¦r°Ï°ì¤¤¿é¤J¤@­Ó shell ªº§¹¾ã¸ô®|¡C<p>

©Ò¦³ªº Unix ¨t²Î³£·|¦³¤@­Ó Bourne Shell (<tt>/bin/sh</tt>) »P C Shell (<tt>/bin/csh</tt>)¡C¨ä¥L±`¥Î¦Ó¥B§ó¥[¨Ï¥ÎªÌ¤Íµ½ªº shell ¬° <tt>tcsh</tt>¡B<tt>zsh</tt> »P <tt>bash</tt>¡C
<hr>

   0707010001e9d3000081a40000000000000002000000013d1fe2c0000002d5000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.ca.html  <header>ID de l'usuari</header>

L'ID de l'usuari o UID és allò que el sistema fa servir realment per
aplicar els permisos sobre els fitxers i els processos. Si dos usuaris
tenen el mateix UID, llavors poden accedir els fitxers de l'altre -per
tant, cada usuari ha de tenir un UID únic. En crear un usuari nou, 
Webmin emplena aquest camp amb un UID que no està en ús per part de cap
altre usuari.
<p>

L'usuari <tt>root</tt> sempre té l'UID 0. Si crees un altre usuari amb
UID 0, aquest usuari tindrà el mateix poder que <tt>root</tt>.
<p>

Si estàs editant un usuari existent i li canvies el UID, l'opció
<a href=chuid>Canvia l'ID d'usuari dels fitxers</a> determina a quins 
fitxers se'ls canvia la propietat.
<p>

<hr>


   0707010001e9d4000081a40000000000000002000000013d1fe2c0000002f4000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.es.html  <header>ID de Usuario</header>

La ID de usuario o UID es lo que utiliza realmente el sistema para llevar
a cabo los permisos de los archivos y procesos. Si dos usuarios tienen la
misma UID podrán acceder a los archivos de cada uno - por ello cada usuario
debería de tener una UID única. Al crear un nuevo usuario, Webmin rellena
este campo con una UID que no esté en uso por ningún otro usuario. <p>

El usuario <tt>root</tt> siempre tiene una UID de 0. Si creas otro usuario con
UID 0, ese usuario tendrá el mismo poder que <tt>root</tt>. <p>

Si estás editando un usuario ya existente y cambias su UID, la opción
<a href=chuid.es>¿Cambio ID de usuario en los archivos?</a> determina qué
archivos (si hay alguno) han de cambiar su pertenencia. <p>
<hr>

0707010001e9d5000081a40000000000000002000000013d1fe2c000000314000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.fr.html  <header>Numéro d'utilisateur</header>
Le numéro d'utilisateur (UID) est ce que le système utilise vraiment pour
attribuer les permissions aux fichiers et processus. Si deux utilisateurs
ont le même numéro ils seront considérés comme équivalents lors d'une
vérification de permissions. Quand un nouvel utilisateur est créé, Webmin
remplira ce champ avec un numéro qui n'est pas utilisé par un autre
utilisateur. <p>

L'utilisateur <tt>root</tt> a toujours l'UID 0. Si vous créez un autre
utilisateur avec le numéro 0, il aura les mêmes pouvoirs que le
<tt>root</tt>. <p>

Si vous éditez un utilisateur existant et que vous changez son numéro,
l'option <a href=chuid>Changer de propriétaire sur les fichiers?</a>
déterminera quels fichiers devront avoir leur propriétaire changé. <p>
<hr>

0707010001e9d6000081a40000000000000002000000013d1fe2c0000002a4000000200000000000000000000000000000001e00000003reloc/useradmin/help/uid.html <header>User ID</header>
The user ID or UID is what the system really uses to enforce permissions
on files and processes. If two users have the same UID, they will be able
to access each others files - so every user should have a unique UID.
When creating a new user, Webmin will fill this field with a UID that is
not in use by any other user. <p>

The <tt>root</tt> user always has a UID of 0. If you create another user
with UID 0, that user will have the same powers as <tt>root</tt>. <p>

If you are editing an existing user and change the UID, the
<a href=chuid>Change user ID on files?</a> option determines which files
(if any) have their ownership changed. <p>
<hr>

0707010001e9d7000081a40000000000000002000000013d1fe2c100000396000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.nl.html  <header>Gebruikers ID</header>
De gebruikers ID of UID is het gegeven dat het systeem werkelijk gebruikt om
de toegang tot bestanden en processen te beheren. Twee gebruikers met
dezelfde UID hebben toegang tot elkaars bestanden en processen -
daarom behoort iedere gebruiker een unieke UID te hebben.
Als u een nieuwe gebruiker aanmaakt, zal Webmin dit veld invullen met een UID 
die nog niet door een andere gebruiker wordt benut. 
<strong>U kunt dit veld dus beter niet zelf invullen
</strong> <p>
De <tt>root</tt> gebruiker heeft altijd een UID=0 (nul). Als u een andere 
gebruiker aanmaakt met UID=0, dan heeft die gebruiker dezelfde rechten
als <tt>root</tt>. <p>

Als u een bestaande gebruiker wijzigt en de UID verandert, wordt door de
<a href=chuid>Gebruikers ID van bestanden veranderen?</a> optie bepaald van 
welke bestanden (voorzover aanwezig) het eigendom meeveranderd wordt. <p>
<hr>

  0707010001e9d8000081a40000000000000002000000013d1fe2c00000034e000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.pl.html  <header>Numer ID u¿ytkownika</header>

Numer ID u¿ytkownika lub UID jest tym, czego system w&nbsp;rzeczywisto¶ci
u¿ywa dla wymuszenia praw do plików i&nbsp;procesów. Je¶li dwóch
u¿ytkowników ma ten sam numer UID, ka¿dy z&nbsp;nich mo¿e uzyskaæ dostêp do
plików drugiego - zatem ka¿dy u¿ytkownik powinien mieæ unikalny numer UID.
Podczas tworzenia u¿ytkownika Webmin nada mu taki numer UID, jakiego nie
u¿ywa ¿aden inny u¿ytkownik. <p>

U¿ytkownik <tt>root</tt> zawsze posiada UID równu 0. Je¶li utworzysz innego
u¿ytkownika z&nbsp;UID równym 0, ten u¿ytkownik bêdzie równie potê¿ny jak
<tt>root</tt>. <p>

Je¶li zmieniaj±c istniej±cego u¿ytkownika zmienisz jego UID, opcja 

<a href=chuid>Zmieniæ ID u¿ytkownika na plikach?</a> pozwala ci okre¶liæ
które pliki (je¶li jakiekolwiek) bêd± nadal nale¿a³y do tego u¿ytkownika po
zmianie UID. <p>
<hr>
  0707010001e9d9000081a40000000000000002000000013d1fe2c00000032e000000200000000000000000000000000000002400000003reloc/useradmin/help/uid.ru_RU.html   <header>ID ïîëüçîâàòåëÿ</header>
ID ïîëüçîâàòåëÿ èëè UID - ýòî ÷èñëîâîé èäåíòèôèêàòîð, êîòîðûé ñèñòåìà 
èñïîëüçóåò äëÿ ïðîâåðêè ïðàâ íà ôàéëû è ïðîöåññû. Åñëè äâà ïîëüçîâàòåëÿ
èìåþò îäèíàêîâûé UID, òî îíè èìåþò îäèíàêîâûé äîñòóï ê ôàéëàì äðóã äðóãà -
òàêèì îáðàçîì êàæäûé ïîëüçîâàòåëü äîëæåí èìåòü óíèêàëüíûé UID.
Ïðè ñîçäàíèè íîâîãî ïîëüçîâàòåëÿ äàííîå ïîëå  çàïîëíÿåòñÿ àâòîìàòè÷åñêè
UIDîì íå èñïîëüçóåìûì äðóãèìè ïîëüçîâàòåëÿìè.
<p>

Ïîëüçîâàòåëü <tt>root</tt> âñåãäà èìååò UID = 0. Åñëè âû ñîçäàäèòå äðóãîãî
ïîëüçîâàòåëÿ ñ UID 0, òî ýòîò ïîëüçîâàòåëü áóäåò èìåòü òó æå ñèëó, ÷òî è 
ïîëüçîâàòåëü <tt>root</tt>.
<p>

Åñëè ïðè ðåäàêòèðîâàíèè ïîëüçîâàòåëÿ âû ñìåíèëè UID, òî îïöèÿ  
<a href=chuid>Èçìåíåíèå ID ïîëüçîâàòåëÿ íà ôàéëû?</a> îïðåäåëÿåò êàêèå ôàéëû 
(åñëè ñóùåñòâóþò) ìåíÿþò ñâîåãî âëàäåëüöà.
<p>
<hr>

  0707010001e9da000081a40000000000000002000000013d1fe2c00000032e000000200000000000000000000000000000002400000003reloc/useradmin/help/uid.ru_SU.html   <header>ID ÐÏÌØÚÏ×ÁÔÅÌÑ</header>
ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÌÉ UID - ÜÔÏ ÞÉÓÌÏ×ÏÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ, ËÏÔÏÒÙÊ ÓÉÓÔÅÍÁ 
ÉÓÐÏÌØÚÕÅÔ ÄÌÑ ÐÒÏ×ÅÒËÉ ÐÒÁ× ÎÁ ÆÁÊÌÙ É ÐÒÏÃÅÓÓÙ. åÓÌÉ Ä×Á ÐÏÌØÚÏ×ÁÔÅÌÑ
ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÙÊ UID, ÔÏ ÏÎÉ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÙÊ ÄÏÓÔÕÐ Ë ÆÁÊÌÁÍ ÄÒÕÇ ÄÒÕÇÁ -
ÔÁËÉÍ ÏÂÒÁÚÏÍ ËÁÖÄÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ ÄÏÌÖÅÎ ÉÍÅÔØ ÕÎÉËÁÌØÎÙÊ UID.
ðÒÉ ÓÏÚÄÁÎÉÉ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÁÎÎÏÅ ÐÏÌÅ  ÚÁÐÏÌÎÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ
UIDÏÍ ÎÅ ÉÓÐÏÌØÚÕÅÍÙÍ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.
<p>

ðÏÌØÚÏ×ÁÔÅÌØ <tt>root</tt> ×ÓÅÇÄÁ ÉÍÅÅÔ UID = 0. åÓÌÉ ×Ù ÓÏÚÄÁÄÉÔÅ ÄÒÕÇÏÇÏ
ÐÏÌØÚÏ×ÁÔÅÌÑ Ó UID 0, ÔÏ ÜÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÂÕÄÅÔ ÉÍÅÔØ ÔÕ ÖÅ ÓÉÌÕ, ÞÔÏ É 
ÐÏÌØÚÏ×ÁÔÅÌØ <tt>root</tt>.
<p>

åÓÌÉ ÐÒÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ ×Ù ÓÍÅÎÉÌÉ UID, ÔÏ ÏÐÃÉÑ  
<a href=chuid>éÚÍÅÎÅÎÉÅ ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ÆÁÊÌÙ?</a> ÏÐÒÅÄÅÌÑÅÔ ËÁËÉÅ ÆÁÊÌÙ 
(ÅÓÌÉ ÓÕÝÅÓÔ×ÕÀÔ) ÍÅÎÑÀÔ Ó×ÏÅÇÏ ×ÌÁÄÅÌØÃÁ.
<p>
<hr>

  0707010001e9db000081a40000000000000002000000013d1fe2c0000002c6000000200000000000000000000000000000002100000003reloc/useradmin/help/uid.sv.html  <header>Användar-ID</header>
Användar-ID eller UID är det som systemet egentligen använder sig av för
att kontrollera rättigheter för filer och processer. Om två användare har
samma UID kommer de att kunna komma åt varandras filer; därför bör varje
användare ha ett unikt UID. När en ny användare skapas kommer Webmin att
i detta fält fylla i ett UID som inte används av någon annan användare.

<p><tt>root</tt>-användaren har alltid UID 0. Om man skapar en användare till
med UID 0 kommer denna användare att ha samma rättigheter som <tt>root</tt>.

<p>Om man ändrar UID för någon användare kommer inställningen
<a href=chuid>Byta användar-ID för filer?</a> att bestämma vilka filer som
ska byta ägare.
<hr>

  0707010001e9dc000081a40000000000000002000000013d1fe2c000000201000000200000000000000000000000000000002900000003reloc/useradmin/help/uid.zh_TW.Big5.html  <header>¨Ï¥ÎªÌ½s¸¹</header>
¨Ï¥ÎªÌ½s¸¹©Î UID ¬O¨t²Î¹ê»Ú¤W¥Î¥HÃÑ§OÀÉ®×»Pµ{§ÇÅv­­ªº¼Æ¦r¡C¦pªG¨â­Ó¨Ï¥ÎªÌ¦³¬Û¦Pªº UID¡A¥L­Ì±N¥i¥H¤¬¬Û¦s¨ú¹ï¤èªºÀÉ®×¢w¢w©Ò¥H¨C­Ó¨Ï¥ÎªÌ³£À³¸Ó¦³°ß¤@ªº UID¡C·í«Ø¥ß·sªº¨Ï¥ÎªÌ®É¡AWebmin ·|¦Û°Ê¥H¤@­Ó¥¼³Q¨ä¥L¨Ï¥ÎªÌ¨Ï¥Îªº UID ¶ñ¤J³o­ÓÄæ¦ì¡C<p>

<tt>root</tt> ¨Ï¥ÎªÌ¥Ã»·³£¨Ï¥Î UID 0¡C¦pªG±z¨Ï¥Î UID 0 «Ø¥ß¥t¤@­Ó¨Ï¥ÎªÌ¡A¥L±N¾Ö¦³»P <tt>root</tt> ¬Û¦PªºÅv¤O¡C<p>

¦pªG±z½s¿è¤@­Ó¤w¸g¦s¦bªº¨Ï¥ÎªÌ¨ÃÅÜ§ó¤F¥Lªº UID¡A<a href=chuid>¬O§_ÅÜ§óÀÉ®×ªº¨Ï¥ÎªÌ½s¸¹¡H</a>±N·|¨M©w¬O§_­nÅÜ§óÀÉ®×ªº¾Ö¦³Åv¡C<p>
<hr>

   0707010001e9dd000081a40000000000000002000000013d1fe2c000000052000000200000000000000000000000000000002200000003reloc/useradmin/help/user.ca.html <header>Usuari</header>

El nom d'usuari d'aquest usuari. Ha de ser únic.

<hr>


  0707010001e9de000081a40000000000000002000000013d1fe2c000000061000000200000000000000000000000000000002200000003reloc/useradmin/help/user.es.html <header>Nombre de usuario</header>

El nombre de login de este usuario. Debe de ser único.
<hr>

   0707010001e9df000081a40000000000000002000000013d1fe2c000000078000000200000000000000000000000000000002200000003reloc/useradmin/help/user.fr.html <header>Nom d'utilisateur</header>
C'est le nom d'ouverture de session de l'utilisateur. Il doit être unique. <p>
<hr>

0707010001e9e0000081a40000000000000002000000013d1fe2c000000052000000200000000000000000000000000000001f00000003reloc/useradmin/help/user.html    <header>Username</header>
The login name of this user. This must be unique.
<hr>

  0707010001e9e1000081a40000000000000002000000013d1fe2c100000063000000200000000000000000000000000000002200000003reloc/useradmin/help/user.nl.html <header>Gebruikersnaam</header>
De naam waarmee de gebruiker zich aanmeldt. Moet uniek zijn.
<hr>

 0707010001e9e2000081a40000000000000002000000013d1fe2c00000005e000000200000000000000000000000000000002200000003reloc/useradmin/help/user.pl.html <header>Nazwa u¿ytkownika</header>

Nazwa logowania tego u¿ytkownika. Musi byæ unikalna.
<hr>
  0707010001e9e3000081a40000000000000002000000013d1fe2c000000061000000200000000000000000000000000000002500000003reloc/useradmin/help/user.ru_RU.html  <header>Èìÿ ïîëüçîâàòåëÿ</header>
Ðåãèñòðàöèîííîå èìÿ ïîëçîâàòåëÿ. Äîëæíî áûòü óíèêàëüíûì.
<hr>

   0707010001e9e4000081a40000000000000002000000013d1fe2c000000061000000200000000000000000000000000000002500000003reloc/useradmin/help/user.ru_SU.html  <header>éÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ</header>
òÅÇÉÓÔÒÁÃÉÏÎÎÏÅ ÉÍÑ ÐÏÌÚÏ×ÁÔÅÌÑ. äÏÌÖÎÏ ÂÙÔØ ÕÎÉËÁÌØÎÙÍ.
<hr>

   0707010001e9e5000081a40000000000000002000000013d1fe2c00000005a000000200000000000000000000000000000002200000003reloc/useradmin/help/user.sv.html <header>Användarnamn</header>
Användarens inloggningsnamn. Namnet måste vara unikt.
<hr>

  0707010001e9e7000081a40000000000000002000000013d1fe2c0000000aa000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.ca.html <header>Dies d'avís</header>

El nombre de dies abans que es forci l'usuari a canviar la seva contrasenya
durant els quals s'avisa l'usuari en entrar al sistema.

<hr>


  0707010001e9e6000081a40000000000000002000000013d1fe2c000000049000000200000000000000000000000000000002a00000003reloc/useradmin/help/user.zh_TW.Big5.html <header>¨Ï¥ÎªÌ¦WºÙ</header>
¨Ï¥ÎªÌªºµn¤J¦WºÙ¡C³o¥²¶·¬O¿W¤@µL¤Gªº¡C
<hr>

   0707010001e9e8000081a40000000000000002000000013d1fe2c0000000ac000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.es.html <header>Días de Aviso</header>

El número de días antes de que el usuario sea forzado a cambiar su
clave de acceso que el usuario verá avisos de ello al hacer login.
<hr>

0707010001e9e9000081a40000000000000002000000013d1fe2c0000000d0000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.fr.html <header>Jours d'avertissement</header>
C'est le nombre de jours précédant le changement obligatoire de
mot de passe durant lesquels des avertissements seront affichés à
chaque ouverture de session. <p>
<hr>

0707010001e9ea000081a40000000000000002000000013d1fe2c00000008e000000200000000000000000000000000000001f00000003reloc/useradmin/help/warn.html    <header>Warning days</header>
The number of days before the user is forced to change his password
that warnings are displayed at login.
<hr>

  0707010001e9eb000081a40000000000000002000000013d1fe2c1000000ad000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.nl.html <header>Dagen vooraf waarschuwen</header>
Het aantal dagen voorafgaand aan de vervaldatum van het wachtwoord, 
dat er waarschuwingen worden gegeven bij het aanmelden.
<hr>

   0707010001e9ec000081a40000000000000002000000013d1fe2c000000099000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.pl.html <header>Ostrze¿enie na dni</header>

Liczba dni przed zmuszeniem u¿ytkownika do zmiany has³a, kiedy bêd±
wy¶wietlane ostrze¿enia podczas logowania.
<hr>
   0707010001e9ed000081a40000000000000002000000013d1fe2c0000000ed000000200000000000000000000000000000002500000003reloc/useradmin/help/warn.ru_RU.html  <header>Ïðåäóïðåæäåíèå äíåé</header>
Êîëè÷åñòâî äíåé, çà ñêîëüêî ïîëüçîâàòåëü íà÷èíàåò ïîëó÷àòü ïðåäóïðåæäåíèÿ ïåðåä òåì, êàê áóäåò àêòèâèçèðîâàíà ñìåíà ïàðîëÿ (ïðåäóïðåæäåíèÿ âûäàþòñÿ ïðè âõîäå â ñèñòåìó ïî telnet èëè ñ êîíñîëè).
<hr>

   0707010001e9ee000081a40000000000000002000000013d1fe2c0000000ed000000200000000000000000000000000000002500000003reloc/useradmin/help/warn.ru_SU.html  <header>ðÒÅÄÕÐÒÅÖÄÅÎÉÅ ÄÎÅÊ</header>
ëÏÌÉÞÅÓÔ×Ï ÄÎÅÊ, ÚÁ ÓËÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÁÞÉÎÁÅÔ ÐÏÌÕÞÁÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ ÐÅÒÅÄ ÔÅÍ, ËÁË ÂÕÄÅÔ ÁËÔÉ×ÉÚÉÒÏ×ÁÎÁ ÓÍÅÎÁ ÐÁÒÏÌÑ (ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ ×ÙÄÁÀÔÓÑ ÐÒÉ ×ÈÏÄÅ × ÓÉÓÔÅÍÕ ÐÏ telnet ÉÌÉ Ó ËÏÎÓÏÌÉ).
<hr>

   0707010001e9ef000081a40000000000000002000000013d1fe2c000000095000000200000000000000000000000000000002200000003reloc/useradmin/help/warn.sv.html <header>Varning (dagar)</header>
Det antal dagar före påtvingad lösenordsändring som användaren får upp
ett varningsmeddelande vid inloggning.
<hr>

   0707010001e9f0000081a40000000000000002000000013d1fe2c000000059000000200000000000000000000000000000002a00000003reloc/useradmin/help/warn.zh_TW.Big5.html <header>Äµ§i¤é´Á</header>
¦b¨Ï¥ÎªÌ³Q±j¨îÅÜ§ó±K½X¤§«e¡A¨C·íµn¤J®É«KÅã¥ÜÄµ§iªº®É¶¡¡C
<hr>

   0707010001e9f1000081a40000000000000002000000013d1fe2c000000099000000200000000000000000000000000000002400000003reloc/useradmin/help/workph.ca.html   <header>Telèfon de la feina</header>

El número de telèfon de la feina, que es mostrarà quan es faci un
<tt>finger</tt> sobre aquest usuari.
<p>

<hr>


   0707010001e9f2000081a40000000000000002000000013d1fe2c000000084000000200000000000000000000000000000002100000003reloc/useradmin/help/workph.html  <header>Work phone</header>
The user's office phone number, which will be shown when
<tt>finger</tt> is used on this user. <p>
<hr>
0707010001e9f3000081a40000000000000002000000013d1fe2c1000000aa000000200000000000000000000000000000002400000003reloc/useradmin/help/workph.nl.html   <header>Telefoon werk</header>
Het telefoonummer van de gebruiker op het werk. Wordt 
getoond als de <tt>finger</tt> opdracht wordt gebruikt 
op deze gebruiker. <p>
<hr>
  070701000762f0000081a40000000000000002000000013d1fe2c1000004a8000000200000000000000000000000000000001c00000003reloc/useradmin/hpux-lib.pl   # hpux-lib.pl
# Functions for hpux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last -R $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

07070100077826000041ed0000000000000001000000023d1ffb9700000000000000200000000000000000000000000000001700000003reloc/useradmin/images    07070100077827000081a40000000000000002000000013d1fe2bf000001f2000000200000000000000000000000000000002100000003reloc/useradmin/images/group.gif  GIF89a0 0 Â  øüø`d`   ‚222¥§¥nnnÿÿÿ!þMade with GIMP ,    0 0  þºÜþ0ª#+Ada©ý &jB)y 3KˆãÆ=hª¬xKì0FÎš¤P0¸¤Ž+Âqj4X“9Woãˆ2¦`bõŠÝ½š\h$Ì.±+æÈ¤†´ÙVdYÛ|¼ wwdJriR‚xoeg}u‹my{†N‘_“xzŽ=t‰’›acŽ2™
£”9§ˆ«¤„q— ±¢³T­¶1¸Q»¼½f©Âb­Ks~ÁÉ•…¿Î²Â¥®g?]Š»µÌÚÛÕ³Ñ,.¨áº£×K?¸Çªëo-./˜€È‹¥K<ï4k9b Ÿé¸‘"¨gGˆ9,,$Wl	| ÀX9p®@Ú–òé"gé£Ÿ"5)ƒSÆ$À!ƒŠ°dá2¡¸}3í}²©N`Î ƒ\§Œ‰&Bí¬B²$ÇÑ (•Ša¤Q‹’H£r³2q`‘bWd5Ò€>^42Q²`¬^h!Q{†­X¨ÏŽüá´B­»}] 7®F2~1 Î*„×Ÿ´´ph„±dce!“L…rŽ¶–UZy¬-g1žã€öQ£0G¹I&°Ûä@ ;  07070100077828000081a40000000000000002000000013d1fe2bf00000186000000200000000000000000000000000000002000000003reloc/useradmin/images/icon.gif   GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100077829000081a40000000000000002000000013d1fe2bf000000df000000200000000000000000000000000000002000000003reloc/useradmin/images/user.gif   GIF87a0 0 ¡  øüø`d`      ,    0 0  ¸„©Ëí£œ´Ú‹O‚‹|mb'” $¦iž
sžËÄpùÑ‰m·:À‹±~ÀàÍG3
sI¥jØt>™'é”
²NuÚ2Û]a3aÏ†F­ßªG|ÏâN5=h¿Ågî×§'GôÒV¸à˜¨áÕXÓÃéhÄèRGÉ¹™xxóä)öä1RøxT´rgr¥:é7—úz9ñøjfpå3K‹)VÉ'\k,|¬kJ–ŒK¨¼ŠÖŒ;GìP  ; 070701000762f1000081e40000000000000002000000013d1fe2c100002a5b000000200000000000000000000000000000001a00000003reloc/useradmin/index.cgi #!/usr/local/bin/perl

require './user-lib.pl';
&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("passwd group shadow gshadow", "man"));
$formno = 0;
%access = &get_module_acl();

@ulist = @allulist = &list_users();
@glist = @allglist = &list_groups();
foreach $g (@allglist) {
	$usedgid{$g->{'gid'}} = $g;
	}

# List all local users
if ($access{'uedit_mode'} == 1) {
	@ulist = ();
	}
elsif ($access{'uedit_mode'} == 2) {
	map { $canu{$_}++ } split(/\s+/, $access{'uedit'});
	@ulist = grep { $canu{$_->{'user'}} } @ulist;
	}
elsif ($access{'uedit_mode'} == 3) {
	map { $cannotu{$_}++ } split(/\s+/, $access{'uedit'});
	@ulist = grep { !$cannotu{$_->{'user'}} } @ulist;
	}
elsif ($access{'uedit_mode'} == 4) {
	@ulist = grep {
		(!$access{'uedit'} || $_->{'uid'} >= $access{'uedit'}) &&
		(!$access{'uedit2'} || $_->{'uid'} <= $access{'uedit2'})
			} @ulist;
	}
elsif ($access{'uedit_mode'} == 5) {
	map { $cangid{$_}++ } split(/\s+/, $access{'uedit'});
	if ($access{'uedit_sec'}) {
		# Match secondary groups too
		local @ucan;
		foreach $g (@glist) {
			push(@ucan, split(/,/, $g->{'members'}))
				if ($cangid{$g->{'gid'}});
			}
		@ulist = grep { $cangid{$_->{'gid'}} ||
				&indexof($_->{'user'}, @ucan) >= 0 } @ulist;
		}
	else {
		@ulist = grep { $cangid{$_->{'gid'}} } @ulist;
		}
	}
elsif ($access{'uedit_mode'} == 6) {
	@ulist = grep { $_->{'user'} eq $remote_user } @ulist;
	}
if (@ulist > $config{'display_max'}) {
	# Display user search form
	print "<hr>\n";
	print "<b>$text{'index_toomany'}</b><br>\n";
	print "<form action=search_user.cgi>\n";
	print &hlink("<b>$text{'index_find'}</b>","findform"),
	      " <select name=field>\n";
	print "<option value=user checked>$text{'user'}\n";
	print "<option value=real>$text{'real'}\n";
	print "<option value=shell>$text{'shell'}\n";
	print "<option value=home>$text{'home'}\n";
	print "<option value=uid>$text{'uid'}\n";
	print "</select> <select name=match>\n";
	print "<option value=0 checked>$text{'index_equals'}\n";
	print "<option value=4>$text{'index_contains'}\n";
	print "<option value=1>$text{'index_matches'}\n";
	print "<option value=2>$text{'index_nequals'}\n";
	print "<option value=5>$text{'index_ncontains'}\n";
	print "<option value=3>$text{'index_nmatches'}\n";
	print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'find'}\"></form>\n";
	$formno++;
	}
elsif (@ulist) {
	# Display a table of all users
	print "<hr>\n";
	if ($config{'sort_mode'} == 1) {
		@ulist = sort { $a->{'user'} cmp $b->{'user'} } @ulist;
		}
	elsif ($config{'sort_mode'} == 2) {
		@ulist = sort { lc($a->{'real'}) cmp lc($b->{'real'}) } @ulist;
		}
	elsif ($config{'sort_mode'} == 3) {
		@ulist = sort { @wa = split(/\s+/, $a->{'real'});
				@wb = split(/\s+/, $b->{'real'});
				lc($wa[@wa-1]) cmp lc($wb[@wb-1]) } @ulist;
		}
	elsif ($config{'sort_mode'} == 4) {
		@ulist = sort { $a->{'shell'} cmp $b->{'shell'} } @ulist;
		}
	elsif ($config{'sort_mode'} == 5) {
		@ulist = sort { $a->{'uid'} <=> $b->{'uid'} } @ulist;
		}
	elsif ($config{'sort_mode'} == 6) {
		@ulist = sort { $a->{'home'} cmp $b->{'home'} } @ulist;
		}
	if ($access{'icons'}) {
		# Show an icon for each user
		print "<h3>$text{'index_users'}</h3>\n";
		&show_user_buttons();
		local @icons = map { "images/user.gif" } @ulist;
		local @links = map { "edit_user.cgi?num=$_->{'num'}" } @ulist;
		local @titles = map { $_->{'user'} } @ulist;
		&icons_table(\@links, \@titles, \@icons, 5);
		}
	elsif ($config{'display_mode'} == 2) {
		# Show usernames under groups
		foreach $u (@ulist) {
			push(@{$ug{$u->{'gid'}}}, $u);
			}
		&show_user_buttons();
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'index_ugroup'}</b></td> ",
		      "<td><b>$text{'index_users'}</b></td> </tr>\n";
		foreach $g (keys %ug) {
			print "<tr $cb> <td width=20%><b>",
			      &html_escape($usedgid{$g}->{'group'}),
			      "</b></td>\n";
			print "<td width=80%><table width=100% ",
			      "cellpadding=0 cellspacing=0>\n";
			$i = 0;
			foreach $u (@{$ug{$g}}) {
				if ($i%4 == 0) { print "<tr>\n"; }
				print "<td width=25%><a href=\"edit_user.cgi?",
				      "num=$u->{'num'}\">",
				      &html_escape($u->{'user'}),"</a></td>\n";
				if ($i%4 == 3) { print "</tr>\n"; }
				$i++;
				}
			print "</table></td> </tr>\n";
			}
		print "</table>\n";
		}
	elsif ($config{'display_mode'} == 1) {
		# Show names, real names, home dirs and shells
		print "<h3>$text{'index_users'}</h3>\n";
		&show_user_buttons();
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'user'}</b></td> ",
		      "<td><b>$text{'uid'}</b></td> ",
		      "<td><b>$text{'real'}</b></td> ",
		      "<td><b>$text{'home'}</b></td> ",
		      "<td><b>$text{'shell'}</b></td> </tr>\n";
		foreach $u (@ulist) {
			$u->{'real'} =~ s/,.*$//;
			print "<tr $cb> <td><a href='edit_user.cgi?",
			      "num=$u->{'num'}'>",&html_escape($u->{'user'}),
			      "</a></td> <td>$u->{'uid'}</td> ",
			      "<td>",&ifblank($u->{'real'}),"</td> ",
			      "<td>",&ifblank($u->{'home'}),"</td> ",
			      "<td>",&ifblank($u->{'shell'}),"</td> </tr>\n";
			}
		print "</table>\n";
		}
	else {
		# Just show names
		&show_user_buttons();
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'index_users'}</b></td> </tr>\n";
		print "<tr $cb> <td><table width=100%>\n";
		for($i=0; $i<@ulist; $i++) {
			if ($i%4 == 0) { print "<tr>\n"; }
			print "<td><a href=\"edit_user.cgi?",
			      "num=$ulist[$i]->{'num'}\">",
			      &html_escape($ulist[$i]->{'user'}),"</a></td>\n";
			if ($i%4 == 3) { print "</tr>\n"; }
			}
		print "</table></td> </tr></table>\n";
		}
	}
elsif ($access{'ucreate'}) {
	print "<hr>\n";
	print "<b>$text{'index_notusers'}</b>. <p>\n";
	}
&show_user_buttons();
print "<p>\n";

# List all local groups
if ($access{'gedit_mode'} == 1) {
	@glist = ();
	}
elsif ($access{'gedit_mode'} == 2) {
	map { $cang{$_}++ } split(/\s+/, $access{'gedit'});
	@glist = grep { $cang{$_->{'group'}} } @glist;
	}
elsif ($access{'gedit_mode'} == 3) {
	map { $cannotg{$_}++ } split(/\s+/, $access{'gedit'});
	@glist = grep { !$cannotg{$_->{'group'}} } @glist;
	}
elsif ($access{'gedit_mode'} == 4) {
	@glist = grep {
		(!$access{'gedit'} || $_->{'gid'} >= $access{'gedit'}) &&
		(!$access{'gedit2'} || $_->{'gid'} <= $access{'gedit2'})
			} @glist;
	}
if (@glist > $config{'display_max'}) {
	# Display group search form
	print "<hr>\n";
	print "<b>$text{'index_gtoomany'}</b><br>\n";
	print "<form action=search_group.cgi>\n";
	print &hlink("<b>$text{'index_gfind'}</b>","gfindform"),
	      " <select name=field>\n";
	print "<option value=group checked>$text{'gedit_group'}\n";
	print "<option value=members>$text{'gedit_members'}\n";
	print "<option value=gid>$text{'gedit_gid'}\n";
	print "</select> <select name=match>\n";
	print "<option value=0 checked>$text{'index_equals'}\n";
	print "<option value=4>$text{'index_contains'}\n";
	print "<option value=1>$text{'index_matches'}\n";
	print "<option value=2>$text{'index_nequals'}\n";
	print "<option value=5>$text{'index_ncontains'}\n";
	print "<option value=3>$text{'index_nmatches'}\n";
	print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
	print "<input type=submit value=\"$text{'find'}\"></form>\n";
	$formno++;
	}
elsif (@glist) {
	print "<hr>\n";
	if ($config{'sort_mode'} == 5) {
		@glist = sort { $a->{'gid'} <=> $b->{'gid'} } @glist;
		}
	elsif ($config{'sort_mode'} == 1) {
		@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist;
		}
	if ($access{'icons'}) {
		# Show an icon for each group
		print "<h3>$text{'index_groups'}</h3>\n";
		&show_group_buttons();
		local @icons = map { "images/group.gif" } @glist;
		local @links = map { "edit_group.cgi?num=$_->{'num'}" } @glist;
		local @titles = map { $_->{'group'} } @glist;
		&icons_table(\@links, \@titles, \@icons, 5);
		}
	elsif ($config{'display_mode'} == 1) {
		# Display group name, ID and members
		print "<h3>$text{'index_groups'}</h3>\n";
		&show_group_buttons();
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'gedit_group'}</b></td> ",
		      "<td><b>$text{'gedit_gid'}</b></td> ",
		      "<td><b>$text{'gedit_members'}</b></td> </tr>\n";
		foreach $g (@glist) {
			local $members = join(" ", split(/,/, $g->{'members'}));
			print "<tr $cb> <td><a href='edit_group.cgi?",
			      "num=$g->{'num'}'>",&html_escape($g->{'group'}),
			      "</a></td> <td>$g->{'gid'}</td> ",
			      "<td>",&ifblank($members),"</td> </tr>\n";
			}
		print "</table>\n";
		}
	else {
		# Just display group names
		&show_group_buttons();
		print "<table width=100% border>\n";
		print "<tr $tb> <td><b>$text{'index_groups'}</b></td> </tr>\n";
		print "<tr $cb> <td><table width=100%>\n";
		for($i=0; $i<@glist; $i++) {
			if ($i%4 == 0) { print "<tr>\n"; }
			print "<td><a href=\"edit_group.cgi?",
			      "num=$glist[$i]->{'num'}\">",
			      &html_escape($glist[$i]->{'group'}),"</a></td>\n";
			if ($i%4 == 3) { print "</tr>\n"; }
			}
		print "</table></td> </tr></table>\n";
		}
	}
elsif ($access{'gcreate'} == 1) {
	print "<hr>\n";
	print "<b>$text{'index_notgroups'}</b>. <p>\n";
	}
&show_group_buttons();

if ($access{'logins'}) {
	print "<hr>\n";
	print "<table width=100%><tr>\n";
	print "<form action=list_logins.cgi>\n";
	print "<td><input type=submit value=\"$text{'index_logins'}\">\n";
	print "<input name=username size=8> ",
	      &user_chooser_button("username",0,$formno),"</td></form>\n";

	if (defined(&logged_in_users)) {
		print "<form action=list_who.cgi>\n";
		print "<td align=right><input type=submit ",
		      "value=\"$text{'index_who'}\"></td></form>\n";
		}
	print "</tr></table>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});
 
sub ifblank
{
return $_[0] ? &html_escape($_[0]) : "&nbsp;";
}

sub show_user_buttons
{
if ($access{'ucreate'}) {
	local $cancreate;
	if ($access{'hiuid'} && !$access{'umultiple'}) {
		foreach $u (@allulist) {
			$useduid{$u->{'uid'}}++;
			}
		for($i=int($access{'lowuid'}); $i<=$access{'hiuid'}; $i++) {
			if (!$useduid{$i}) {
				$cancreate = 1;
				last;
				}
			}
		}
	else { $cancreate = 1; }
	if ($cancreate) {
		print "<a href=\"edit_user.cgi\">",
		      "$text{'index_createuser'}</a>&nbsp;&nbsp;\n";
		}
	else {
		print "$text{'index_nomoreusers'}&nbsp;&nbsp;\n";
		}
	}
print "<a href=\"batch_form.cgi\">$text{'index_batch'}</a><br>\n"
	if ($access{'batch'});
}

sub show_group_buttons
{
if ($access{'gcreate'} == 1) {
	local $cancreate;
	if ($access{'higid'} && !$access{'gmultiple'}) {
		for($i=int($access{'lowgid'}); $i<=$access{'higid'}; $i++) {
			if (!$usedgid{$i}) {
				$cancreate = 1;
				last;
				}
			}
		}
	else { $cancreate = 1; }
	if ($cancreate) {
		print "<a href=\"edit_group.cgi\">$text{'index_creategroup'}</a> <br>\n";
		}
	else {
		print "$text{'index_nomoregroups'}<br>\n";
		}
	}
}

 070701000762f2000081a40000000000000002000000013d1fe2c1000004ef000000200000000000000000000000000000001c00000003reloc/useradmin/irix-lib.pl   # irix-lib.pl
# Functions for irix password file format

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
local $fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/ || $line =~ /^tcp\s/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

 07070100078f0c000041ed0000000000000001000000023d1ffb9a00000000000000200000000000000000000000000000001500000003reloc/useradmin/lang  07070100078f0d000081a40000000000000002000000013d1fe2c000003d5b000000200000000000000000000000000000001800000003reloc/useradmin/lang/ca   index_title=Usuaris i Grups
index_toomany=Hi ha massa usuaris al sistema com per mostrar-los en una sola pàgina
index_find=Busca usuaris tals que
index_gtoomany=Hi ha massa grups al sistema com per mostrar-los en una sola pàgina
index_gfind=Busca grups tals que
index_ugroup=Grup Primari
index_users=Usuaris Locals
index_notusers=No tens permís per editar usuaris en aquest sistema
index_createuser=Crea un nou usuari
index_batch=Crea, modifica i suprimeix usuaris des d'un fitxer batch
index_nomoreusers=No tens permís per crear més usuaris
index_groups=Grups Locals
index_notgroups=No tens permís per editar cap grup d'aquest sistema
index_creategroup=Crea un nou grup
index_nomoregroups=No tens permís per crear més grups
index_logins=Mostra les connexions de
index_return=a la llista d'usuaris i grups
index_equals=sigui igual que
index_matches=coincideixi amb
index_nequals=no sigui igual que
index_nmatches=no coincideixi amb
index_who=Usuaris Connectats

search_title=Resultats de la Recerca
search_notfound=No s'ha trobat cap usuari que coincideixi
search_gnotfound=No s'ha trobat cap grup que coincideixi

uedit_title=Edició d'Usuari
uedit_title2=Creació d'Usuari
uedit_details=Detalls de l'usuari
user=Usuari
uid=ID de l'usuari
real=Nom real
office=Despatx
workph=Telèfon de la feina
homeph=Telèfon particular
extra=Opcions extres
pass=Contrasenya
none1=Demana-la en connectar per primer cop
none2=No cal contrasenya
nologin=Connexió no permesa
encrypted=Contrasenya prexifrada
nochange=Deixa-ho tal com està
clear=Contrasenya normal
home=Directori arrel
uedit_auto=Automàtic
shell=Shell
uedit_other=Altres...
uedit_passopts=Opcions de la Contrasenya
change2=Interval de canvi de la contrasenya
expire2=Data d'expiració del compte
class=Classe de Connexió
change=Contrasenya canviada el
flags=Característiques del compte
uedit_never=Mai
uedit_unknown=Desconegut
expire=Data d'expiració
min=Nombre mínim de dies
max=Nombre màxim de dies
min_weeks=Nombre mínim de setmanes
max_weeks=Nombre màxim de setmanes
warn=Dies d'avís
ask=Demana la nova contrasenya a la pròxima connexió
inactive=Dies d'inactivitat
uedit_gmem=Pertinença a grups
group=Grup primari
uedit_newg=Grup nou
uedit_oldg=Grups existents
uedit_2nd=Grups secundaris
onsave=En Desar...
uedit_movehome=Desplaça el directori arrel si s'ha canviat
uedit_chuid=Canvia l'ID d'usuari dels fitxers
uedit_chgid=Canvia l'ID de grup dels fitxers
uedit_allfiles=Tots els fitxers
chgid=Canvia l'ID de grup dels fitxers
uedit_oncreate=En Crear...
uedit_makehome=Crea el directori arrel
uedit_copy=Copia els fitxers al directori arrel
uedit_logins=Mostra les Connexions
uedit_mail=Llegeix Correu
uedit_ecreate=No pots crear nous usuaris
uedit_eedit=No pots editar aquest usuari
uedit_admin=Només root pot canviar la contrasenya
uedit_admchg=L'usuari ha de triar la nova contrasenya
uedit_nocheck=No comprovis les restriccions de les contrasenyes
uedit_cothers=Crea l'usuari en els altres mòduls
uedit_mothers=Modifica l'usuari en els altres mòduls

usave_err=No he pogut desar l'usuari
usave_eedit=No pots editar aquest usuari
usave_ecreate=No pots crear nous usuaris
usave_ebadname='$1' no és un nom d'usuari vàlid
usave_einuse=el nom d'usuari '$1' ja existeix
usave_einuse_a=el nom d'usuari '$1' ja existeix com a àlies de correu
usave_einuseg=el nom de grup '$1' ja existeix
usave_erename=No tens permís per renomenar usuaris
usave_euid='$1' no és un UID vàlid
usave_euuid=No tens permís per canviar l'UID dels usuaris
usave_elowuid=L'UID ha de ser major o igual que $1
usave_ehiuid=L'UID ha de ser menor o igual que $1
usave_euidused=L'usuari $1 ja està utilitzant l'UID $2
usave_euidused2=L'UID ja està en ús
usave_ereal='$1' no és un nom real vàlid
usave_ehome='$1' no és un directori arrel vàlid
usave_ehomepath=No tens permís per crear el directori arrel $1
usave_eshell='$1' no és una shell permesa
usave_egid='$1' no és un grup vàlid
usave_egcreate=No tens permís per crear nous grups per als nous usuaris
usave_eprimary=No tens permís per afegir aquest usuari al grup primari $1
usave_esecondary=No tens permís per afegir aquest usuari al grup secundari $1
usave_eprimaryr=No tens permís per treure aquest usuari del grup primari $1
usave_esecondaryr=No tens permís per treure aquest usuari del grup secundari $1
usave_emin='$1' no és un període mínim de canvi vàlid
usave_emax='$1' no és un període màxim de canvi vàlid
usave_ewarn='$1' no és un període d'avís vàlid
usave_einactive='$1' no és un període d'inactivació vàlid
usave_eexpire=data d'expiració invàlida
usave_echange=data de canvi invàlida
usave_eclass='$1' no és una classe de connexió vàlida
usave_emove=no he pogut desplaçar el directori arrel: $1
usave_emkdir=no he pogut crear el directori arrel: $1
usave_echown=no he pogut canviar el propietari del directori arrel: $1
usave_echmod=no he pogut canviar els permisos del directori arrel: $1
usave_eoffice=El despatx no pot contenir un caràcter ':'
usave_eworkph=El telèfon de la feina no pot contenir un caràcter ':'
usave_ehomeph=El telèfon particular no pot contenir un caràcter ':'
usave_edigestmd5=El teu sistema té contrasenyes MD5 activades, però no hi ha instal·lat l'MD5 de perl MD5 ni el mòdul Digest::MD5.<p> Per forçar l'us de contrasenyes xifrades normalment, ajusta la <a href='$1'>configuració del mòdul</a>.<p>Si no, fes que Webmin <a href='$2'>descarregui i instal·li el mòdul</a> Digest::MD5 per tu.  
gedit_title=Edició de Grup
gedit_title2=Creació Grup
gedit_details=Detalls del Grup
gedit_group=Nom del grup
gedit_gid=ID del grup
gedit_members=Membres
gedit_homedirs=Directoris arrel
gedit_allfiles=Tots els fitxers
gedit_ecreate=No pots crear nous grups
gedit_eedit=No pots editar aquest grup

gsave_err=No he pogut desar el grup
gsave_eedit=No pots editar aquest grup
gsave_ecreate=No pots crear nous grups
gsave_ebadname='$1' no és un nom de grup vàlid
gsave_einuse=el nom de grup '$1' ja existeix
gsave_egid='$1' no és un GID vàlid
gsave_eggid=No tens permís per canviar el GID dels grups
usave_elowgid=El GID ha de ser major o igual que $1
usave_ehigid=El GID ha de ser menor o igual que $1
usave_egidused=El grup $1 ja està utilitzant el GID $2
usave_efromroot=No pots desplaçar el directori arrel de /
usave_etoroot=No pots desplaçar el directori arrel a /

logins_title=Connexions Registrades
logins_head=Connexions registrades de $1
logins_from=Connectat des de
logins_tty=TTY
logins_in=Connexió
logins_out=Desconnexió
logins_for=Connectat durant
logins_still=Actualment connectat
logins_none=No hi ha cap connexió registrada
logins_elist=No tens permís per llistar connexions
logins_elistu=No tens permís per llistar les connexions de '$1'
logins_local=Local

udel_title=Supressió d'Usuari
udel_err=No he pogut suprimir l'usuari
udel_euser=No pots suprimir aquest usuari
udel_ealready=Aquest usuari ja ha estat suprimit!
udel_echanged=El fitxer de contrasenyes ha canviat. Torna a la llista d'usuaris i torna a seleccionar aquest usuari, si et plau.
udel_other=Suprimint als altres mòduls...
udel_pass=Suprimint l'entrada del fitxer de contrasenyes...
udel_groups=Traient dels grups...
udel_ugroup=Suprimint el grup d'aquests usuari...
udel_home=Suprimint el directori arrel...
udel_done=...Fet
udel_sure=Segur que vols suprimir l'usuari $1? El directori arrel $2 conté $3 Kb de fitxers
udel_sure2=Segur que vols suprimir l'usuari $1?
udel_del1=Suprimeix l'Usuari
udel_del2=Suprimeix l'Usuari i el Directori Arrel
udel_others=AVÍS! El directori arrel $1 conté $2 fitxers propietat d'altres usuaris.
udel_dothers=Suprimeix l'usuari els altres mòduls
udel_root=Atenció! Si esborres l'usuari root, no podràs administrar el sistema més endavant.

gdel_title=Supressió de Grup
gdel_err=No he pogut suprimir el grup
gdel_egroup=No pots suprimir aquest grup
gdel_ealready=Aquest grup ja ha estat suprimit!
gdel_group=Suprimint l'entrada del fitxers de grups...
gdel_done=...Fet
gdel_eprimary=Aquest és el grup primari de l'usuari $1
gdel_sure=Segur que vols suprimir el grup $1?
gdel_del=Suprimeix el Grup

many_title=Creació de Múltiples Usuaris
many_desc=Aquest formulari permet crear molts usuaris a la vegada, bé des d'un fitxer de text local, bé des d'un fitxer pujat. Cada línia del fitxer especifica un usuari amb el format següent:
many_desc2=usuari:contrasenya:uid:gid:nomreal:dirarrel:shell:min:max:avis:inactiu:expiracio
many_desc1=usuari:contrasenya:uid:gid:nomreal:dirarrel:shell:classe:canvi:expiracio
many_desc0=usuari:contrasenya:uid:gid:nomreal:dirarrel:shell
many_descafter=Si es deixa buit el camp <tt>uid</tt>, Webmin assignarà un UID automàticament. Si es deixa buit el camp <tt>gid</tt>, Webmin crearà un nou grup amb el mateix nom que l'usuari. Els camps <tt>usuari</tt>, <tt>dirarrel</tt> i <tt>shell</tt> s'han de subministrar per a tots els usuaris - els altres es poden deixar en blanc. 
many_descpass=Si es deixa buit el camp <tt>contrasenya</tt>, no s'assignarà cap contrasenya a l'usuari. SI conté només la lletra <tt>x</tt>, el compte quedarà bloquejat. Altrament, el text del camp es prendrà com a contrasenya i serà xifrat en conseqüència.
many_file=Fitxer de nous usuaris pujat
many_local=Fitxer de nous usuaris local
many_makehome=Crea els directoris arrel
many_copy=Copia els fitxers als directoris arrel
many_upload=Crea els usuaris
many_elocal=No he trobat el fitxer local
many_efile=No has triat cap fitxer per pujar
many_elen=La línia $1 no conté $2 camps
many_eline=Falta el nom d'usuari a la línia $1
many_euser=Nom d'usuari duplicat a la línia $1: $2
many_egid=GID invàlid a la línia $1: $2
many_ehome=Directori arrel invàlid a la línia $1: $2
many_eshell=Shell invàlida a la línia $1: $2
many_emkdir=No he pogut crear el directori arrel $1: $2
many_egtaken=El nom del grup ja es fa servir a la línia $1: $2
many_ok=He creat l'usuari $1

acl_uedit=Usuaris Unix que es poden editar
acl_uedit_all=Tots els usuaris
acl_uedit_none=Cap usuari
acl_uedit_only=Només els usuaris
acl_uedit_except=Tots excepte els usuaris
acl_uedit_uid=Usuaris amb UIDs en el rang
acl_uedit_group=Usuaris amb grup
acl_uedit_sec=Inclou-hi els grups secundaris
acl_uedit_this=Només aquest usuari
acl_ucreate=Pot crear nous usuaris
acl_uid=UIDs per als usuaris nous o modificats
acl_umultiple=Més d'un usuari pot tenir el mateix UID
acl_uuid=Els UIDs dels usuaris existents es poden canviar
acl_ugroups=Grups permesos per usuaris nous o modificats
acl_all=Tots
acl_shells=Shells permeses per usuaris nous o modificats
acl_any=Qualsevol
acl_listed=Llista...
acl_home=Els directoris arrel han d'estar sota
acl_autohome=El directori arrel és sempre igual que l'usuari
acl_gedit=Grups Unix que es poden editar
acl_gedit_all=Tots els grups
acl_gedit_none=Cap grup
acl_gedit_only=Només els grups
acl_gedit_except=Tots excepte els grups
acl_gedit_gid=Grups amb GIDs en el rang
acl_gcreate=Pot crear nous grups
acl_gnew=Només per a usuaris nous
acl_gid=GIDs per a grups nous o modificats
acl_gmultiple=Més d'un grup pot tenir el mateix GID
acl_ggid=Els GIDs dels grups existents es poden canviar
acl_logins=Pot mostrar connexions de
acl_lnone=Cap usuari
acl_lall=Tots els usuaris
acl_epeopt=Pot editar les opcions d'expiració de contrasenyes
acl_batch=Pot veure el formulari de fitxer <i>batch</i>
acl_egp=Pot editar les contrasenyes de grup
acl_saveopts=Permès en desar les opcions

log_urename=He renomenat l'usuari $1 a $2
log_umodify=He modificat l'usuari $1
log_ucreate=He creat l'usuari $1
log_udelete=He suprimit l'usuari $1
log_udeletehome=He suprimit l'usuari $1 i el directori $2
log_gmodify=He modificat el grup $1
log_gcreate=He creat el grup $1
log_gdelete=He suprimit el grup $1
log_batch=He executat el fitxer batch $1
log_batch_l=He executat el fitxer batch $1 ($2 creats, $3 modificats, $4 suprimits)
log_ubatch=He executat el fitxer batch pujat
log_ubatch_l=He executat el fitxer batch pujat ($1 creats, $2 modificats, $3 suprimits)

batch_title=Execució de Fitxer Batch
batch_ecannot=No pots utilitzar el formulari de fitxer <i>batch</i>
batch_desc=Aquest formulari permet crear, modificar o suprimir més d'un usuari a la vegada, des d'un fitxer de text local o pujat. Cada línia del fitxer especifica una acció a prendre, depenent del seu primer camp. Els formats de línia són:
batch_desc5=<b>create</b>:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max<p><b>modify</b>:usuarivell:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max<p><b>delete</b>:usuari
batch_desc4=<b>create</b>:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max:expira:flags<p><b>modify</b>:usuarivell:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max:expira:flags<p><b>delete</b>:usuari
batch_desc3=$batch_desc0
batch_desc2=<b>create</b>:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max:avis:inactiu:expira<p><b>modify</b>:vellusuari:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:min:max:avis:inactiu:expira<p><b>delete</b>:usuari
batch_desc1=<b>create</b>:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:classe<p><b>modify</b>:vellusuari:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell:classe<p><b>delete</b>:usuari
batch_desc0=<b>create</b>:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell<p><b>modify</b>:vellusuari:usuari:ctsenya:uid:gid:nomreal:dirarrel:shell<p><b>delete</b>:usuari
batch_descafter=A les línies <b>create</b>, si es deixa buit el camp <tt>uid</tt>, Webmin hi assignarà un UID automàticament. Si es deixa buit el camp <tt>gid</tt>, Webmin crearà un nou grup amb el mateix nom de l'usuari. Els camps <tt>usuari</tt>, <tt>dirarrel</tt> i <tt>shell</tt> s'han de subministrar per a cada usuri - tots els altres camps es poden deixar en blanc. Si el camp <tt>ctsenya</tt> està en blanc, no s'assignarà cap contrasenya a l'usuari. Si conté exclusivament la lletra <tt>x</tt>, el compte quedarà bloquejat. Altrament, el text del camp es prendrà com a text de la contrasenya i es xifrarà en conseqüència.
batch_descafter2=A les línies <b>modify</b>, un camp buit s'entendrà com que l'atribut corresponent de l'usuari no s'ha de modificar.
batch_file=Fitxer pujat
batch_local=Fitxer local
batch_others=Crea, modifica o suprimeix els usuaris d'altres mòduls
batch_makehome=Crea els directoris arrel dels usuaris creats
batch_copy=Copia els fitxers als directoris arrel dels usuaris creats
batch_movehome=Renomena els directoris arrel dels usuaris modificats
batch_chuid=Canvia l'UID dels fitxers dels usuaris modificats
batch_chgid=Canvia el GID dels fitxers dels usuaris modificats
batch_delhome=Esborra el directori arrel dels usuaris suprimits
batch_upload=Executa batch
batch_elocal=No s'ha trobat el fitxer local
batch_efile=No has triat cap fitxer per pujar
batch_elen=La línia $1 no conté $2 camps
batch_eline=Falta el nom d'usuari a la línia $1
batch_euser=Nom d'usuari duplicat a la línia $1: $2
batch_egid=GID invàlid a la línia $1: $2
batch_ehome=Directori arrel invàlid a la línia $1: $2
batch_eshell=Shell invàlida a la línia $1: $2
batch_emkdir=No he pogut crear el directori arrel $1: $2
batch_egtaken=El nom de grup ja existeix a la línia $1: $2
batch_eaction=Acció invàlida a la línia $1: $2
batch_enouser=L'usuari no existeix a la línia $1: $2
batch_emove=No he pogut desplaçar el directori arrel a la línia $1: $2
batch_created=He creat l'usuari $1
batch_deleted=He suprimit l'usuari $1
batch_modified=He modificat l'usuari $1
batch_ecaccess=No tens permís per crear l'usuari a la línia $1: $2
batch_emaccess=No tens permís per modificar l'usuari a la línia $1: $2
batch_edaccess=No tens permís per suprimir l'usuari a la línia $1: $2
batch_crypt=Les contrasenyes ja estan xifrades

> who_title=Usuaris Connectats
> who_user=Usuari Unix
> who_tty=TTY
> who_when=Connectat a
> who_from=Connectat des de
> who_none=Actualment no hi ha cap usuari connectat.




 07070100078f0e000081a40000000000000002000000013d1fe2c0000020b3000000200000000000000000000000000000001800000003reloc/useradmin/lang/cz   index_title=Uzivatele a skupiny
index_toomany=V systemu je prilis mnoho uzivatelu, vsechny nelze zobrazit na jednu stranu
index_find=Najit uzivatele
index_users=Lokalni uzivatele
index_notusers=Nejste opravnen editovat uzivatele
index_createuser=Vytvorit noveho uzivatele
index_createmany=Vytvorit mnohonasobneho uzivatele
index_nomoreusers=Nejsi opravnen vytvaret nove uzivatel
index_groups=Lokalni skupiny
index_notgroups=Nejsi opravnen menit skupiny
index_creategroup=Vytvorit novou skupinu
index_nomoregroups=Nejsi opravnen vytvaret skupiny
index_logins=Zobrazit pristupy
index_return=Seznam uzivatelu a skupin
index_equals=equals
index_matches=matches
index_nequals=not equals
index_nmatches=not matches

search_title=Vysledek hledani

uedit_title=Editovat uzivatele
uedit_title2=Vytvorit uzivatele
uedit_details=Detaily uzivatele
user=Uzivatelske jmeno
uid=ID
real=Cele jmeno
pass=Heslo
none1=Dotaz pri prvnim prihlaseni
none2=Heslo neni vyzadovano
nologin=Neni nutne prihlaseni
encrypted=Kryptovane heslo
clear=Smazat heslo
home=Domovsky adresar
uedit_auto=Automat
shell=Shell
uedit_other=Dalsi..
uedit_passopts=Moznosti hesla
change2=Je cas zmenit heslo
expire2=Konec platnosti uctu
class=Login class
change=Heslo zmeneno
uedit_never=Nikdy
uedit_unknown=Neznamy
expire=Datum expirace
min=Minimalne dni
max=Maximalne dni
warn=Varovne dny
inactive=Neaktivni dny
uedit_gmem=Clenstvi ve skupine
group=Primarni skupina
uedit_newg=Nova skupina
uedit_oldg=Existujici skupina
uedit_2nd=Sekundarni skupiny
onsave=Na ulozeni..
uedit_movehome=Presunout domovsky adresar pri zmene?
uedit_chuid=Zmenit uzivatelovo ID na soubory?
uedit_allfiles=Vsechny soubory
chgid=Zmenit ID skupiny pro soubory?
uedit_oncreate=Na vytvoreni..
uedit_makehome=Vytvorit domovsky adresar?
uedit_copy=Zkopirovat soubory do domovskeho adresare?
uedit_logins=Ukazat loginy
uedit_mail=Precist e-mail
uedit_ecreate=Nemuzete vytvorit nove uzivatele
uedit_eedit=Nemuzete editovat tohoto uzivatele

usave_err=Chyba pri ukladani uzivatele
usave_eedit=Nemuzete editovat tohoto uzivatele
usave_ecreate=Nemuzete vytvorit nove uzivatele
usave_ebadname='$1' neni platnym uzivatelskym jmenem
usave_einuse=Uzivatelske jmeno '$1' je jiz obsazeno
usave_einuseg=Jmeno skupiny '$1' jiz bylo pouzito
usave_erename=Nemate opravneni prejmenovat uzivatele
usave_euid='$1' neni platne UID
usave_elowuid=UID musi byt vetsi nebo rovno $1
usave_ehiuid=UID musi byt mensi nebo rovno $1
usave_euidused=Uzivatel $1 jiz pouziva UID $2
usave_ereal='$1' neni platne jmeno
usave_ehome='$1' neni platnym domovskym adresarem
usave_ehomepath=Nemate opravneni k vytvoreni domovskeho adresare $1
usave_eshell='$1' neni pripustny prikaz
usave_egid='$1' neni platna skupina
usave_egcreate=Nemate opravneni k vytvareni novych skupin pro nove uzivatele
usave_eprimary=Nemate opravneni k zarazeni tohoto uzivatele do primarni skupiny $1
usave_esecondary=Nemate opravneni k zarazeni tohoto uzivatele do sekundarni skupiny $1
usave_eprimaryr=Nemate opravneni k vyrazeni tohoto uzivatele z primarni skupiny $1
usave_esecondaryr=Nemate opravneni k vyrazeni tohoto uzivatele ze sekundarni skupiny $1
usave_emin='$1' is not a valid minimum change period
usave_emax='$1' is not a valid maximum change period
usave_ewarn='$1' is not a valid warning period
usave_einactive='$1' is not a valid inactive period
usave_eexpire=invalid expiry date
usave_echange=invalid change date
usave_eclass='$1' is not a valid login class
usave_emove=Nepodarilo se presunout domovsky adresar : $1
usave_emkdir=Nelze vytvorit domovsky adresar : $1
usave_echown=couldn't chown home directory : $1
usave_echmod=couldn't chmod home directory : $1

gedit_title=Editovat skupinu
gedit_title2=Vytvorit skupinu
gedit_details=Detaily skupiny
gedit_group=Jmeno skupiny
gedit_gid=ID skupiny
gedit_members=Clenove
gedit_homedirs=Domovske adresare
gedit_allfiles=Vsechny soubory

gsave_err=Nepodarilo se ulozit skupinu
gsave_eedit=Nemuzete editovat tuto skupinu
gsave_ecreate=Nemuzete vytvorit nove skupiny
gsave_ebadname='$1' neni platne jmeno skupny
gsave_einuse=Jmeno skupiny '$1' jiz existuje
gsave_egid='$1' neni platne GID
usave_elowgid=GID musi byt vetsi nebo rovno $1
usave_ehigid=GID musi byt mensi nebo rovno $1
usave_egidused=Skupina $1 jiz pouziva GID $2
usave_efromroot=Nemuzete presunout domovsky adresar z /
usave_etoroot=Nemuzete presunout domovsky adresar do /

logins_title=Zaznamenane loginy
logins_head=Loginy zaznamenane od $1
logins_from=Loginy od
logins_tty=TTY
logins_in=Prihlaseni na
logins_out=Odhlaseni na
logins_for=On For
logins_still=Stale zalogovani
logins_none=Nejsou zaznamenani zadni prihlaseni

udel_title=Smazat uzivatele
udel_err=Chyba pri mazani uzivatele
udel_euser=Nemuzete smazat tohoto uzivatele
udel_ealready=Tento uzivatel byl jiz smazan!
udel_echanged=Heslo souboru bylo zmeneno. Vratte se prosim do seznamu uzivatelu a vyberte tohoto uzivatele znovu
udel_other=Mazani z ostatnich modulu ..
udel_pass=Mazani hesla souboru ..
udel_groups=Odstraneni ze skupin ..
udel_ugroup=Smazani teto uzivatelske skupiny ..
udel_home=Mazani domovskeho adresare ..
udel_done=.. Hotovo
udel_sure=Opravdu chcete smazat uzivatele $1 ? Domovsky adresar $2 obsahuje $3 Kb souboru
udel_sure2=Opravdu chcete smazat uzivatele $1 ?
udel_del1=Smazat uzivatele
udel_del2=Smazat uzivatele a jeho domovsky adresar

gdel_title=Smazat skupinu
gdel_err=Chyba pri mazani skupiny
gdel_egroup=Nemuzete smazat tuto skupinu
gdel_ealready=Tato skupina jiz byla smazana!
gdel_group=Mazani skupiny ..
gdel_done=.. Hotovo
gdel_eprimary=Toto je primarni skupina uzivatelu $1
gdel_sure=Opravdu chcete smazat skupnu uzivatelu $1 ?
gdel_del=Smazat skupinu

many_title=Vytvorit mnohonasobneho uzivatele
many_desc=Tento formular umoznuje vytvoreni vice uzivatelu najednou, bud uploadem nebo textovym souborem. Kazdy radek souboru specifikuje jednoho uzivatale. Format je nasledujici:
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=Jestlize pole <tt>uid</tt> zustane prazdne, Webmin priradi UID automaticky. Pole <tt>username</tt>, <tt>gid</tt>, <tt>homedir</tt> a <tt>shell</tt> musi byt vyplnena pro kazdeho uzivatele - vsechny ostatni pole mohou zustat prazdne. 
many_file=Sobour novych uzivatelu byl nahran
many_local=Local new users file
many_makehome=Vytvorit domovske adresare?
many_copy=Zkopirovat soubory do domovskych adresaru?
many_upload=Vytvorit uzivetele
many_elocal=Lokalni soubor nebyl nalezen
many_efile=Nebyl vybran zadny soubor k uploadu
many_elen=Radek $1 neobsahuje $2 pole
many_euser=Duplikace uzivatelskeho jmena na radku $1 : $2
many_egid=Chybne GID na radku $1 : $2
many_ehome=Chybny domovsky adresar na radku $1 : $2
many_eshell=Chybny shell na radku $1 : $2
many_emkdir=Chyba pri vytvareni domovskeho adresare $1 : $2
many_ok=Vytvoren uzivatel $1

acl_uedit=Uzivatele, ktere lze editovat
acl_uedit_all=Vsichni uzivatele
acl_uedit_none=Nikdo
acl_uedit_only=Pouze uzivatele
acl_uedit_except=Vsichni, krome uzivatelu
acl_uedit_uid=Uzivatele s UID v rozsahu
acl_uedit_group=Uzivatele se skupinou
acl_ucreate=Mohu vytvorit noveho uzivatele?
acl_uid=UID pro noveho nebo modifikovaneho uzivatele
acl_umultiple=Vice nez jeden uzivatel muze mit stejne UID
acl_ugroups=Povolene skupiny pro nove nebo modifikovane uzivatele
acl_all=Vsichni
acl_shells=Povolene shelly pro nove nebo modifikovane uzivatele
acl_any=Ruzni
acl_listed=Prochazet..
acl_home=Home directories must be under
acl_autohome=Domovsky adresar je vzdy stejny jako uzivatelske jmeno
acl_gedit=Unixove skupiny, ktere lze editovat
acl_gedit_all=Vsechny skupiny
acl_gedit_none=Zadne skupiny
acl_gedit_only=Pouze skupiny
acl_gedit_except=Vsechny, krome skupin
acl_gedit_gid=Skupiny s GID v rozmezi
acl_gcreate=Vytvorit novou skupinu?
acl_gnew=Pouze pro nove uzivatele
acl_gid=GID pro nove nebo modifikovane skupiny
acl_gmultiple=Vice nez jedna skupina muze mit stejne GID
acl_logins=Zobrazit loginy
acl_lnone=Zadny uzivatel
acl_lall=Vsichni uzivatele
acl_epeopt=Editovat moznosti expirace hesla?
acl_egp=Editovat skupinova hesla?

month_1=Leden
month_2=Unor
month_3=Brezen
month_4=Duben
month_5=Kveten
month_6=Cerven
month_7=Cervenec
month_8=Srpen
month_9=Zari
month_10=Rijen
month_11=Listopad
month_12=Prosinec


 07070100078f0f000081a40000000000000002000000013d1fe2bf000033f2000000200000000000000000000000000000001800000003reloc/useradmin/lang/de   index_title=Benutzer und Gruppen
index_toomany=Es gibt zu viele Benutzer auf diesem System, um sie alle auf einer Seite anzuzeigen
index_find=Finde Benutze deren
index_users=Lokale Benutzer
index_notusers=Sie haben keine Berechtigung, Benutzer auf diesem System zu bearbeiten
index_createuser=Neuen Benutzer erstellen
index_nomoreusers=Sie haben keine Berechtigung, weitere Benutzer anzulegen
index_groups=Lokale Gruppen
index_notgroups=Sie haben keine Berechtigung, Gruppen auf diesem System zu bearbeiten
index_creategroup=Neue Gruppe erstellen
index_nomoregroups=Sie haben keine Berechtigung, weitere Gruppen zu erstellen
index_logins=Zeige Anmeldungen f&uuml;r
index_return=Benutzer- und Gruppenliste
index_equals=gleich
index_matches=stimmt &uuml;berein mit
index_nequals=nicht gleich
index_nmatches=stimmt nicht &uuml;berein mit
index_batch=Benutzerverwaltung &uuml;ber Skript
search_title=Suchergebnis
uedit_title=Benutzer bearbeiten
uedit_title2=Benutzer anlegen
uedit_details=Benutzerdetails
user=Benutzername
uid=Benutzer-ID
real=Wirklicher Name
pass=Kennwort
none1=Frage bei erster Anmeldung
none2=Kein Kennwort ben&ouml;tigt
nologin=Keine Anmeldung erlaubt
encrypted=Vorverschl&uuml;sseltes Kennwort
clear=Klartextkennwort
home=Stammverzeichnis
uedit_auto=Automatisch
shell=Shell
uedit_other=Andere..
uedit_passopts=Kennworteinstellungen
change2=Kennwort&auml;nderungszeit
expire2=Ablaufzeit des Kontos
class=Anmeldeklasse
change=Kennwort ge&auml;ndert
uedit_never=Niemals
uedit_unknown=Unbekannt
expire=Ablaufdatum
min=Minimale Anzahl von Tagen
max=Maximale Anzahl von Tagen
warn=Warnung nach Tagen
inactive=Inaktive Tage
uedit_gmem=Gruppenzugeh&ouml;rigkeit
group=Prim&auml;re Gruppe
uedit_newg=Neue Gruppe
uedit_oldg=Existierende Gruppe
uedit_2nd=Sekund&auml;re Gruppe
onsave=Beim Speichern..
uedit_movehome=Stammverzeichnis verschieben, wenn ge&auml;ndert?
uedit_chuid=&Auml;ndere Benutzer-ID f&uuml;r Dateien?
uedit_allfiles=Alle Dateien
chgid=&Auml;ndere Gruppen-ID f&uuml;r Dateien?
uedit_oncreate=Beim Erstellen..
uedit_makehome=Erstelle Stammverzeichnis?
uedit_copy=Kopiere Dateien zu Stammverzeichnis?
uedit_logins=Zeige Anmeldungen
uedit_mail=E-Mail lesen
uedit_ecreate=Sie haben keine Berechtigung, einen neuen Benutzer anzulegen
uedit_eedit=Sie haben keine Berechtigung, diesen Benutzer zu bearbeiten
usave_err=Fehler beim Speichern des Benutzers
usave_eedit=Sie haben keine Berechtigung, diesen Benutzer zu bearbeiten
usave_ecreate=Sie haben keine Berechtigung, einen neuen Benutzer anzulegen
usave_ebadname='$1' ist kein g&uuml;ltiger Benutzername
usave_einuse=Der Benutzername '$1' wird bereits benutzt
usave_einuseg=Der Gruppenname '$1' wird bereits benutzt
usave_erename=Sie haben keine Berechtigung, Benutzer umzubennen
usave_euid='$1' ist keine g&uuml;ltige UID
usave_elowuid=UID muss gr&ouml;&szlig;er oder gleich $1 sein
usave_ehiuid=UID muss kleiner oder gleich $1 sein
usave_euidused=Benutzer $1 benutzt bereits UID $2
usave_ereal='$1' ist kein g&uuml;ltiger wirklicher Name
usave_ehome='$1' ist kein g&uuml;ltiges Stammverzeichnis
usave_ehomepath=Sie haben keine Berechtigung, das Stammverzeichnis $1 zu erstellen
usave_eshell='$1' ist keine g&uuml;ltige Shell
usave_egid='$1' ist keine g&uuml;ltige Gruppe
usave_egcreate=Sie haben keine Berechtigung, eine neue Gruppe f&uuml;r neue Benutzer anzulegen
usave_eprimary=Sie haben keine Berechtigung, diesen Benutzer zur prim&auml;ren Gruppe $1 hinzuzuf&uuml;gen
usave_esecondary=Sie haben keine Berechtigung, diesen Benutzer zur sekund&auml;ren Gruppe $1 hinzuzuf&uuml;gen
usave_eprimaryr=Sie haben keine Berechtigung, diesen Benutzer aus der prim&auml;ren Gruppe $1 zu l&ouml;schen
usave_esecondaryr=Sie haben keine Berechtigung, diesen Benutzer aus der sekund&auml;ren Gruppe $1 zu l&ouml;schen
usave_emin='$1' ist kein g&uuml;ltiger minimaler &Auml;nderungszeitraum
usave_emax='$1' ist kein g&uuml;ltiger maximaler &Auml;nderungszeitraum
usave_ewarn='$1' ist kein g&uuml;ltiger Warnungszeitraum
usave_einactive='$1' ist kein g&uuml;ltiger Inaktivit&auml;tszeitraum
usave_eexpire=Ung&uuml;ltiges Ablaufdatum
usave_echange=Ung&uuml;ltiges &Auml;nderungsdatum
usave_eclass='$1' ist keine g&uuml;ltige Anmeldungsklasse
usave_emove=Fehler beim Verschieben des Stammverzeichnisses: $1
usave_emkdir=Fehler beim Erstellen des Stammverzeichnisses: $1
usave_echown=Fehler beim Chown des Stammverzeichnisses: $1
usave_echmod=Fehler beim Chmod des Stammverzeichnisses: $1
gedit_title=Bearbeite Gruppe
gedit_title2=Gruppe anlegen
gedit_details=Gruppendetails
gedit_group=Gruppenname
gedit_gid=Gruppen-ID
gedit_members=Mitglieder
gedit_homedirs=Stammverzeichnisse
gedit_allfiles=Alle Dateien
gsave_err=Fehler beim Speichern der Gruppe
gsave_eedit=Sie haben keine Berechtigung, diese Gruppe zu bearbeiten
gsave_ecreate=Sie haben keine Berechtigung, neue Gruppen zu erstellen
gsave_ebadname='$1' ist kein g&uuml;ltiger Gruppenname
gsave_einuse=Der Gruppenname '$1' wird bereits benutzt
gsave_egid='$1' ist keine g&uuml;ltige GID
usave_elowgid=GID muss gr&ouml;&szlig;er oder gleich $1 sein
usave_ehigid=GID muss kleiner oder gleich $1 sein
usave_egidused=Gruppe $1 benutzt bereits GID $2
usave_efromroot=Sie k&ouml;nnen das Stammverzeichnis nicht von / verschieben
usave_etoroot=Sie k&ouml;nnen das Stammverzeichnis nicht nach / verschieben
logins_title=Aufgezeichnete Anmeldungen
logins_head=Aufgezeichnete Anmeldungen f&uuml;r $1
logins_from=Anmeldung von
logins_tty=TTY
logins_in=Anmeldung am
logins_out=Abmelden am
logins_for=Angemeldet seit
logins_still=Immer noch angemeldet
logins_none=Keine Anmeldungen aufgezeichnet
udel_title=Benutzer l&ouml;schen
udel_err=Fehler beim L&ouml;schen des Benutzers
udel_euser=Sie haben keine Berechtigung, diesen Benutzer zu l&ouml;schen
udel_ealready=Dieser Benutzer wurde bereits gel&ouml;scht
udel_echanged=Kennwortdatei wurde ver&auml;ndert. Bitte kehren Sie zur Benutzerliste zur&uuml;ck und w&auml;hlen Sie diesen Benutzer erneut.
udel_other=L&ouml;sche aus anderen Modulen ..
udel_pass=L&ouml;sche Eintrag in Kennwortdatei ..
udel_groups=Entferne aus Gruppen .
udel_ugroup=L&ouml;sche die Gruppe dieses Benutzers ..
udel_home=L&ouml;sche Stammverzeichnis ..
udel_done=.. Fertig
udel_sure=Sind Sie sicher, dass Sie den Benutzer $1 l&ouml;schen wollen? Das Stammverzeichnis $2 enth&auml;lt $3 kB an Daten.
udel_sure2=Sind Sie sicher, dass Sie den Benutzer $1 l&ouml;schen wollen? 
udel_del1=Benutzer l&ouml;schen
udel_del2=Benutzer und Stammverzeichnis l&ouml;schen
gdel_title=Gruppe l&ouml;schen
gdel_err=Das L&ouml;schen der Gruppe schlug fehl
gdel_egroup=Sie haben keine Berechtigung, diese Gruppe zu l&ouml;schen
gdel_ealready=Diese Gruppe wurde bereits gel&ouml;scht
gdel_group=L&ouml;sche Eintrag in Gruppendatei ..
gdel_done=.. Fertig
gdel_eprimary=Dies ist die prim&auml;re Gruppe des Benutzers $1
gdel_sure=Sind Sie sicher, dass Sie die Gruppe $1 l&ouml;schen wollen?
gdel_del=Gruppe l&ouml;schen
many_title=Mehrere Benutzer erstellen
many_desc=Dieses Formular gestattet es Ihnen, mehrere Benutzer auf einmal zu erstellen, entweder mit einer hochgeladenen oder mit einer lokalen Datei. Jede Zeile in der Datei spezifiziert einen Benutzer im folgenden Format. 
many_desc2=Benutzername:Kennwort:UID:GID:Echter Name:Stammverzeichnis:Shell:Min:Max:Warnung:Inaktiv:G&uuml;ltigkeit
many_desc1=Benutzername:Kennwort:UID:GID:Echter Name:Stammverzeichnis:Shell:Klasse:&Auml;ndern:G&uuml;ltigkeit
many_desc0=Benutzername:Kennwort:UID:GID:Echter Name:Stammverzeichnis:Shell
many_descafter=Wenn das <tt>UID</tt> Feld leer ist, wird Webmin automatisch eine UID zuweisen. Die Felder <tt>Benutzername</tt>, <tt>GID</tt>, <tt>Stammverzeichnis</tt> und <tt>Shell</tt> m&uuml;ssen f&uuml;r jeden Benutzer angegeben werden - alle anderen Felder d&uuml;rfen leer sein. 
many_file=Hochgeladene Datei mit neuen Benutzern
many_local=Lokale Datei mit neuen Benutzern
many_makehome=Erstelle Stammverzeichnisse?
many_copy=Kopiere Dateien in Stammverzeichnisse?
many_upload=Erstelle Benutzer
many_elocal=Lokale Datei nicht gefunden
many_efile=Keine Datei f&uuml;r Upload ausgew&auml;hlt
many_elen=Zeile $1 enth&auml;lt kein $2 Feld
many_euser=Doppelter Benutzername in Zeile $1 : $2
many_egid=Ung&uuml;ltige GID in Zeile $1 : $2
many_ehome=Ung&uuml;ltiges Stammverzeichnis in Zeile $1 : $2
many_eshell=Ung&uuml;ltige Shell in Zeile $1 : $2
many_emkdir=Fehler beim Anlegen des Stammverzeichnisses $1: $2
many_ok=Erstellter Benutzer $1
acl_uedit=Unix-Benutzer, die bearbeitet werden k&ouml;nnen
acl_uedit_all=Alle Benutzer
acl_uedit_none=Keine Benutzer
acl_uedit_only=Nur Benutzer
acl_uedit_except=Alle, au&szlig;er Benutzer
acl_uedit_uid=Benutzer mit UIDs im Bereich
acl_uedit_group=Benutzer mit Gruppe
acl_ucreate=Darf neue Benutzer erstellen?
acl_uid=UIDs f&uuml;r neue oder modifizierte Benutzer
acl_umultiple=Mehrere Benutzer k&ouml;nnen die gleiche UID haben
acl_ugroups=Erlaubte Gruppen f&uuml;r neue oder modifizierte Benutzer
acl_all=Alle
acl_shells=Erlaubte Shells f&uuml;r neue oder modifizierte Benutzer
acl_any=Beliebig
acl_listed=Aufgelistete..
acl_home=Stammverzeichnisse m&uuml;ssen Unterverzeichnis sein von
acl_autohome=Stammverzeichnis ist immer das gleiche wie der Benutzername
acl_gedit=Unix-Gruppen, die bearbeitet werden d&uuml;rfen
acl_gedit_all=Alle Gruppen
acl_gedit_none=keine Gruppen
acl_gedit_only=Nur Gruppen
acl_gedit_except=Alle, au&szlig;er Gruppen
acl_gedit_gid=Gruppen mit GID im Bereich
acl_gcreate=Darf neue Gruppen erstellen?
acl_gnew=Nur f&uuml;r neue Benutzer
acl_gid=GIDs f&uuml;r neue oder modifizierte Gruppen
acl_gmultiple=Mehrere Gruppen k&ouml;nnen dieselbe GID haben
acl_logins=Darf Anmeldungen anzeigen von
acl_lnone=Keine Benutzer
acl_lall=Alle Benutzer
acl_epeopt=Darf Ablaufzeiten der Kennw&ouml;rter bearbeiten?
acl_egp=Darf Gruppenkennw&ouml;rter bearbeiten?

batch_title=Benutzerverwaltung &uuml;ber Skript
batch_desc=Auf dieser Seite k&ouml;nnen Sie mehrere Benutzer auf einmal durch in SKript anlegen, &auml;ndern oder l&ouml;schen. Jede Zeile in dieser Datei spezifiziert eine durchzuf&uuml;hrende Aktion. Die m&ouml;glichen Formate sind:

batch_desc2=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>delete</b>:username
batch_desc1=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>delete</b>:username
batch_desc0=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>delete</b>:username
batch_descafter=In den <b>create</b> Zeilen weist Webmin automatisch eine UID zu, falls das <tt>uid</tt>-Feld nicht ausgef&uuml;llt wird. Wenn das <tt>gid</tt>-Feld leer ist, erzeugt Webmin eine neue Gruppe mit dem gleichen Namen wie der angegebene Benutzer. Die Felder <tt>username, homedir</tt> und <tt>shell</tt> m&uuml;ssen f&uuml;r immer ausgef&uuml;llt werden, alle anderen sind optional. Wenn Sie das <tt>passwd</tt>-Feld nicht ausf&uuml;llen, wird dem Benutzer kein Passwort zugewiesen. Wenn Sie in diesem Feld nur ein <tt>x</tt> eintragen, wird das entsprechende Benutzerkonto gesperrt. Ansonsten wird der Inhalt dieses Feldes als Klartextpasswort interpretiert und verschl&uuml;sselt. 
batch_descafter2=In den <b>modify</b>-Zeilen bedeutet ein leerer Eintrag, dass das entsprechende Benutzerattribut nicht ver&auml;ndert werden soll. 
In <b>modify</b> lines, an empty field will be taken to mean that the corresponding
batch_file=Heraufgeladenes Skript
batch_local=Lokales Skript
batch_others=Benutzer in anderen Modulen bearbeiten? 
batch_makehome=Erstelle Stammverzeichnis?
batch_copy=Kopiere Dateien zu Stammverzeichnis?
batch_movehome=Stammverzeichnis von ge&auml;nderten Benutzern umbenennen?
batch_chuid=UID von Dateien ge&auml;nderter Benutzer anpassen?
batch_chgid=GID von Dateien ge&auml;nderter Benutzer anpassen?
batch_delhome=Stammverzeichnis gel&ouml;schter Benutzer l&ouml;schen?
batch_upload=Skript ausf&uuml;hren
batch_elocal=Lokales Skript nicht gefunden
batch_efile=Keine Datei zum Heraufladen ausgew&auml;hlt
batch_elen=Zeile $1 enth&auml;lt keine $2 Felder
batch_eline=Fehlender Benutzername in Zeile $1
batch_euser=Doppelter Benutzername in Zeilen $1 : $2
batch_egid=Ung&uuml;ltige GID in Zeile $1 : $2
batch_ehome=Ung&uuml;ltiges Stammverzeichnis in Zeile $1 : $2
batch_eshell=Ung&uuml;ltige Shell in Zeile $1 : $2
batch_emkdir=Fehler beim Erzeugen des Stammverzeichnisses in Zeile $1 : $2
batch_egtaken=Gruppenname bereits verwendet in Zeile $1 : $2
batch_eaction=Ung&uuml;ltige Aktion in Zeile $1 : $2
batch_enouser=Benutzer nicht vorhanden in Zeile $1 : $2
batch_emove=Fehler beim Verschieben des Stammverzeichnisses in Zeile $1 : $2
batch_created=Benutzer $1 angelegt
batch_deleted=Benutzer $1 gel&ouml;scht
batch_modified=Benutzer $1 ge&auml;ndert
batch_ecaccess=Sie haben keine Berechtigung, den Benutzer in Zeile $1 : $2 zu erstellen
batch_emaccess=Sie haben keine Berechtigung, den Benutzer in Zeile $1 : $2 zu &auml;ndern
batch_edaccess=Sie haben keine Berechtigung, den Benutzer in Zeile $1 : $2 zu l&ouml;schen
batch_crypt=Passw&ouml;rter sind bereits verschl&uuml;sselt?
  07070100078f10000081a40000000000000002000000013d1fe2bf0000395b000000200000000000000000000000000000001800000003reloc/useradmin/lang/en   index_title=Users and Groups
index_toomany=There are too many users on your system to display on one page
index_find=Find users whose
index_gtoomany=There are too many groups on your system to display on one page
index_gfind=Find groups whose
index_ugroup=Primary Group
index_users=Local Users
index_notusers=You are not allowed to edit any users on this system
index_createuser=Create a new user
index_batch=Create, modify and delete users from batch file
index_nomoreusers=You are not allowed to create any more users
index_groups=Local Groups
index_notgroups=You are not allowed to edit any groups on this system
index_creategroup=Create a new group
index_nomoregroups=You are not allowed to create any more groups
index_logins=Display logins by
index_return=users and groups list
index_equals=equals
index_matches=matches RE
index_nequals=not equals
index_nmatches=not matches RE
index_contains=contains
index_ncontains=not contains
index_who=Logged In Users

search_title=Search Results
search_notfound=No matching users found
search_gnotfound=No matching groups found

uedit_title=Edit User
uedit_title2=Create User
uedit_details=User Details
user=Username
uid=User ID
real=Real name
office=Office
workph=Work phone
homeph=Home phone
extra=Extra options
pass=Password
none1=Ask at first login
none2=No password required
nologin=No login allowed
encrypted=Pre-encrypted password
nochange=Leave unchanged
clear=Normal password
home=Home directory
uedit_auto=Automatic
shell=Shell
uedit_other=Other..
uedit_passopts=Password Options
change2=Password change time
expire2=Account expiry time
class=Login class
change=Password changed
flags=Account flags
uedit_never=Never
uedit_unknown=Unknown
expire=Expiry date
min=Minimum days
min_weeks=Minimum weeks
max=Maximum days
max_weeks=Maximim weeks
warn=Warning days
ask=Ask for new password at next login?
inactive=Inactive days
uedit_gmem=Group Membership
group=Primary group
uedit_newg=New group
uedit_oldg=Existing group
uedit_2nd=Secondary groups
onsave=Upon Save..
uedit_movehome=Move home directory if changed?
uedit_chuid=Change user ID on files?
uedit_chgid=Change group ID on files?
uedit_allfiles=All files
chgid=Change group ID on files?
uedit_oncreate=Upon Creation..
uedit_makehome=Create home directory?
uedit_copy=Copy files to home directory?
uedit_logins=Show Logins
uedit_mail=Read Email
uedit_ecreate=You cannot create new users
uedit_eedit=You cannot edit this user
uedit_admin=Only root can change password
uedit_admchg=User must choose new password
uedit_nocheck=Don't check password restrictions
uedit_cothers=Create user in other modules?
uedit_mothers=Modify user in other modules?

usave_err=Failed to save user
usave_eedit=You cannot edit this user
usave_ecreate=You cannot create new users
usave_ebadname='$1' is not a valid username
usave_elength=Username cannot be longer than $1 letters
usave_einuse=the username '$1' is already in use
usave_einuse_a=the username '$1' is already in use by a mail alias
usave_einuseg=the group name '$1' is already in use
usave_erename=You are not allowed to rename users
usave_euid='$1' is not a valid UID
usave_euuid=You are not allowed to change the UID of users
usave_elowuid=UID must be greater than or equal to $1
usave_ehiuid=UID must be less than or equal to $1
usave_euidused=User $1 is already using UID $2
usave_euidused2=UID is already in use
usave_ereal='$1' is not a valid real name
usave_ehome='$1' is not a valid home directory
usave_ehomepath=You are not allowed to create the home directory $1
usave_eshell='$1' is not an allowable shell
usave_egid='$1' is not a valid group
usave_egcreate=You are not allowed to create new groups for new users
usave_eprimary=You are not allowed to add this user to the primary group $1
usave_esecondary=You are not allowed to add this user to the secondard group $1
usave_eprimaryr=You are not allowed to remove this user from the primary group $1
usave_esecondaryr=You are not allowed to remove this user from the secondary group $1
usave_emin='$1' is not a valid minimum change period
usave_emax='$1' is not a valid maximum change period
usave_ewarn='$1' is not a valid warning period
usave_einactive='$1' is not a valid inactive period
usave_eexpire=invalid expiry date
usave_echange=invalid change date
usave_eclass='$1' is not a valid login class
usave_emove=failed to move home directory : $1
usave_emkdir=couldn't create home directory : $1
usave_echown=couldn't chown home directory : $1
usave_echmod=couldn't chmod home directory : $1
usave_eoffice=office cannot contain a : character
usave_eworkph=work phone cannot contain a : character
usave_ehomeph=home phone cannot contain a : character
usave_edigestmd5=Your system has MD5 passwords enabled, but neither the perl MD5 or Digest::MD5 module is not installed.<p>To force the use of normal encrypted passwords, adjust your <a href='$1'>module configuration</a>.<p>Or have Webmin <a href='$2'>download and install</a> the Digest::MD5 module for you.
usave_emaking=Before update command failed : $1

gedit_title=Edit Group
gedit_title2=Create Group
gedit_details=Group Details
gedit_group=Group name
gedit_gid=Group ID
gedit_members=Members
gedit_homedirs=Home directories
gedit_allfiles=All files
gedit_ecreate=You cannot create new groups
gedit_eedit=You cannot edit this group

gsave_err=Failed to save group
gsave_eedit=You cannot edit this group
gsave_ecreate=You cannot create new groups
gsave_ebadname='$1' is not a valid group name
gsave_elength=Group name cannot be longer than $1 letters
gsave_einuse=the group name '$1' is already in use
gsave_egid='$1' is not a valid GID
gsave_eggid=You are not allowed to change the GID of groups
usave_elowgid=GID must be greater than or equal to $1
usave_ehigid=GID must be less than or equal to $1
usave_egidused=Group $1 is already using GID $2
usave_efromroot=You cannot move the home directory from /
usave_etoroot=You cannot move the home directory to /

logins_title=Recorded Logins
logins_head=Recorded logins for $1
logins_from=Login From
logins_tty=TTY
logins_in=Login At
logins_out=Logout At
logins_for=On For
logins_still=Still logged in
logins_none=No Logins Recorded
logins_elist=You are not allowed to list logins
logins_elistu=You are not allowed to list logins for '$1'
logins_local=Local

udel_title=Delete User
udel_err=Failed to delete user
udel_euser=You cannot delete this user
udel_ealready=This user has already been deleted!
udel_echanged=Password file has changed. Please return to the user list and select this user again.
udel_other=Deleting from other modules ..
udel_pass=Deleting password file entry ..
udel_groups=Removing from groups ..
udel_ugroup=Deleting this user's group ..
udel_home=Deleting home directory ..
udel_done=.. Done
udel_sure=Are you sure you want to delete the user $1 ? Home directory $2 contains $3 kB of files
udel_sure2=Are you sure you want to delete the user $1 ?
udel_del1=Delete User
udel_del2=Delete User and Home Directory
udel_others=WARNING! Home directory $1 contains $2 files owned by other users.
udel_dothers=Delete user in other modules?
udel_root=Warning! If the root user is deleted, you may not be able to administer your system in future.

gdel_title=Delete Group
gdel_err=Failed to delete group
gdel_egroup=You cannot delete this group
gdel_ealready=This group has already been deleted!
gdel_group=Deleting group file entry ..
gdel_done=.. Done
gdel_eprimary=This is the primary group of user $1
gdel_sure=Are you sure you want to delete the group $1 ?
gdel_del=Delete Group

many_title=Create Multiple Users
many_desc=This form allows you to create many users at once either from an uploaded or local text file. Each line is the file specifies one user in the following format&nbsp;:
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=If the <tt>uid</tt> field is left empty, Webmin will assign a UID automatically. If the <tt>gid</tt> field is empty, Webmin will create a new group with the same name as the user. The <tt>username</tt>, <tt>homedir</tt> and <tt>shell</tt> fields must be supplied for every user - all other fields are allowed to be empty. 
many_descpass=If the <tt>passwd</tt> field is blank, no password will be assigned for the user. If it contains just the letter <tt>x</tt>, the account will be locked. Otherwise, the text in the field will be taken as the cleartext password and encrypted.
many_file=Uploaded new users file
many_local=Local new users file
many_makehome=Create home directories?
many_copy=Copy files to home directories?
many_upload=Create users
many_elocal=Local file not found
many_efile=No file chosen to upload
many_elen=Line $1 does not contain $2 fields
many_eline=Missing username at line $1
many_euser=Duplicate username at line $1 : $2
many_egid=Invalid GID at line $1 : $2
many_ehome=Invalid home directory at line $1 : $2
many_eshell=Invalid shell at line $1 : $2
many_emkdir=Failed to create home directory $1 : $2
many_egtaken=Group name already in use at line $1 : $2
many_ok=Created user $1

acl_uedit=Unix users who can be edited
acl_uedit_all=All users
acl_uedit_none=No users
acl_uedit_only=Only users
acl_uedit_except=All except users
acl_uedit_uid=Users with UIDs in range
acl_uedit_group=Users with groups
acl_uedit_sec=Include secondary groups?
acl_uedit_this=Only this user
acl_ucreate=Can create new users?
acl_uid=UIDs for new or modified users
acl_umultiple=More than one user can have the same UID
acl_uuid=UIDs of existing users can be changed
acl_ugroups=Allowed groups for new or modifed users
acl_all=All
acl_shells=Allowed shells for new or modifed users
acl_any=Any
acl_listed=Listed..
acl_home=Home directories must be under
acl_autohome=Home directory is always same as username
acl_gedit=Unix groups who can be edited
acl_gedit_all=All groups
acl_gedit_none=No groups
acl_gedit_only=Only groups
acl_gedit_except=All except groups
acl_gedit_gid=Groups with GIDs in range
acl_gcreate=Can create new groups?
acl_gnew=Only for new users
acl_gid=GIDs for new or modified groups
acl_gmultiple=More than one group can have the same GID
acl_ggid=GIDs of existing groups can be changed
acl_logins=Can display logins by
acl_lnone=No users
acl_lall=All users
acl_epeopt=Can edit password expire options?
acl_batch=Can view batch file form?
acl_egp=Can edit group passwords?
acl_saveopts=Allowed upon save options

log_urename=Renamed user $1 to $2
log_umodify=Modified user $1
log_ucreate=Created user $1
log_udelete=Deleted user $1
log_udeletehome=Deleted user $1 and directory $2
log_gmodify=Modified group $1
log_gcreate=Created group $1
log_gdelete=Deleted group $1
log_batch=Executed batch file $1
log_batch_l=Executed batch file $1 ($2 created, $3 modified, $4 deleted)
log_ubatch=Executed uploaded batch file
log_ubatch_l=Executed uploaded batch file ($1 created, $2 modified, $3 deleted)

batch_title=Execute Batch File
batch_ecannot=You cannot use the batch file form
batch_desc=This form allows you to create, modify or delete many users at once from an uploaded or local text file. Each line in the file specifies one action to take, depending on its first field. The line formats are :
batch_desc5=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max<p><b>delete</b>:username
batch_desc4=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:expire:flags<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:expire:flags<p><b>delete</b>:username
batch_desc3=$batch_desc0
batch_desc2=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>delete</b>:username
batch_desc1=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>delete</b>:username
batch_desc0=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>delete</b>:username
batch_descafter=In <b>create</b> lines, if the <tt>uid</tt> field is left empty, Webmin will assign a UID automatically. If the <tt>gid</tt> field is empty, Webmin will create a new group with the same name as the user. The <tt>username</tt>, <tt>homedir</tt> and <tt>shell</tt> fields must be supplied for every user - all other fields are allowed to be empty. If the <tt>passwd</tt> field is blank, no password will be assigned for the user. If it contains just the letter <tt>x</tt>, the account will be locked. Otherwise, the text in the field will be taken as the cleartext password and encrypted.
batch_descafter2=In <b>modify</b> lines, an empty field will be taken to mean that the corresponding user attribute is not to be modified.
batch_file=Upload batch file
batch_local=Local batch file
batch_others=Create, modify or delete users in other modules?
batch_makehome=Create home directories for created users?
batch_copy=Copy files to home directories of created users?
batch_movehome=Rename home directories of modified users?
batch_chuid=Change UID on files of modified users?
batch_chgid=Change GID on files of modified users?
batch_delhome=Delete home directories of deleted users?
batch_upload=Execute batch
batch_elocal=Local file not found
batch_efile=No file chosen to upload
batch_elen=Line $1 does not contain $2 fields
batch_eline=Missing username at line $1
batch_euser=Duplicate username at line $1 : $2
batch_elength=Username is too long at line $1 : $2
batch_egid=Invalid GID at line $1 : $2
batch_ehome=Invalid home directory at line $1 : $2
batch_eshell=Invalid shell at line $1 : $2
batch_emkdir=Failed to create home directory $1 : $2
batch_egtaken=Group name already in use at line $1 : $2
batch_eaction=Invalid action at line $1 : $2
batch_enouser=User does not exist at line $1 : $2
batch_emove=Failed to move home directory at line $1 : $2
batch_created=Created user $1
batch_deleted=Deleted user $1
batch_modified=Modified user $1
batch_ecaccess=You are not allowed to create the user at line $1 : $2
batch_emaccess=You are not allowed to modify the user at line $1 : $2
batch_edaccess=You are not allowed to delete the user at line $1 : $2
batch_crypt=Passwords are already encrypted?

who_title=Logged In Users
who_user=Unix user
who_tty=TTY
who_when=Logged in at
who_from=Logged in from
who_none=No users are currently logged in.

 07070100078f11000081a40000000000000002000000013d1fe2bf00003994000000200000000000000000000000000000001800000003reloc/useradmin/lang/es   index_title=Usuarios y Grupos
index_toomany=Hay demasiados usuarios en tu sistema para que quepan en una sola página
index_find=Buscar usuarios que
index_gtoomany=Hay demasiados grupos en tu sistema para mostrarlos en una sola página
index_gfind=Hallar grupos cuyo
index_ugroup=Grupo Primario
index_users=Usuarios Locales
index_notusers=No estás autorizado a editar usuarios en este sistema
index_createuser=Crear un nuevo usuario
index_batch=Crear, modificar y borrar usuarios desde archivo por lotes
index_nomoreusers=No estás autorizado a crear más usuarios
index_groups=Grupos Locales
index_notgroups=No estás autorizado a editar grupos en este sistema
index_creategroup=Crear un nuevo grupo
index_nomoregroups=No estás autorizado a crear más grupos
index_logins=Mostrar logins por
index_return=lista de usuarios y grupos
index_equals=iguala a
index_matches=coincide con
index_nequals=no iguala a
index_nmatches=no coincide con

search_title=Resultados de la Búsqueda
search_notfound=No se han encontrado usuarios que coincidan
search_gnotfound=No se han hallado grupos que coincidan

uedit_title=Editar Usuario
uedit_title2=Crear Usuario
uedit_details=Detalles de Usuario
user=Nombre de Usuario
uid=ID de Usuario
real=Nombre Real
pass=Clave de Acceso
none1=Preguntar en primer login
none2=No se necesita clave de acceso
nologin=No está permitido el login
encrypted=Clave de acceso encriptada
nochange=Dejado sin cambio
clear=Limpiar texto de clave de acceso
home=Directorio inicial
uedit_auto=Automático
shell=Shell
uedit_other=Otro...
uedit_passopts=Opciones de Clave de Acceso
change2=Cambiar fecha de Clave de Acceso
expire2=Fecha de expiración de Cuenta
class=Clase de Login
change=Clave de Acceso cambiada
flags=Banderas de cuentas
uedit_never=Nunca
uedit_unknown=Desconocido
expire=Fecha de Expiración
min=Días mínimos
max=Días máximos
warn=Días de Aviso
inactive=Días inactivos
uedit_gmem=Afiliación del Grupo
group=Grupo primario
uedit_newg=Nuevo grupo
uedit_oldg=Grupo existente
uedit_2nd=Grupos secundarios
onsave=Al Salvar...
uedit_movehome=¿Muevo el directorio inicial, si ha cambiado?
uedit_chuid=¿Cambio ID de usuario en los archivos?
uedit_chgid=¿Cambio ID de grupo en archivos?
uedit_allfiles=Todos los archivos
chgid=¿Cambio ID de grupo en los archivos?
uedit_oncreate=Al Crear...
uedit_makehome=¿Creo directorio inicial?
uedit_copy=¿Copio archivos a directorio inicial?
uedit_logins=Ver Logins
uedit_mail=Leer Correo
uedit_ecreate=No puedes crear nuevos usuarios
uedit_eedit=No puedes editar este usuario
uedit_admin=Sólo root puede cambiar la clave de acceso
uedit_admchg=El usuario debe de seleccionar nueva clave de acceso
uedit_nocheck=No revisar restricciones de clave de acceso
uedit_cothers=¿Creo usuario en otros módulos?
uedit_mothers=¿Modifico usuario en otros módulos?

usave_err=No pude salvar al usuario
usave_eedit=No puedes editar este usuario
usave_ecreate=No puedes crear nuevos usuarios
usave_ebadname='$1' no es un nombre de usuario válido
usave_einuse=el nombre de usuario '$1' ya está en uso
usave_einuse_a=el nombre de usuario '$1' ya está en uso por un alias de correo
usave_einuseg=el nombre de grupo '$1' ya está en uso
usave_erename=No estás autorizado a renombrar usuarios
usave_euid='$1' no es un UID válido
usave_euuid=No estás autorizado a cambiar la UID de usuarios
usave_elowuid=UID debe de ser mayor que o igual a $1
usave_ehiuid=UID debe de ser menor que o igual a $1
usave_euidused=El Usuario $1 ya está usando el UID $2
usave_euidused2=UID ya está en uso
usave_ereal='$1' no es un Nombre Real válido
usave_ehome='$1' no es un directorio inicial válido
usave_ehomepath=No estás autorizado a crear el directorio inicial $1
usave_eshell='$1' no es un shell permitido
usave_egid='$1' no es un grupo válido
usave_egcreate=Tu sistema está configurado para crear un nuevo grupo para nuevos usuarios, pero tu no estás autorizado a crear grupos
usave_eprimary=Tu no estás autorizado a añadir este usuario al grupo primario $1
usave_esecondary=Tu no estás autorizado a añadir este usuario al grupo secundario $1
usave_eprimaryr=Tu no estás autorizado a quitar este usuario del grupo primario $1
usave_esecondaryr=Tu no estás autorizado a quitar este usuario del grupo secundario $1
usave_emin='$1' no es un período mínimo de cambio válido
usave_emax='$1' no es un período máximo de cambio válido
usave_ewarn='$1' no es un período de aviso válido
usave_einactive='$1' no es un período inactivo válido
usave_eexpire=fecha de expiración inválida
usave_echange=fecha de cambio inválida
usave_eclass='$1' no es una clase de login válida
usave_emove=error al mover directorio inicial: $1
usave_emkdir=no pude crear directorio inicial: $1
usave_echown=no pude cambiar propietario de directorio inicial: $1
usave_echmod=no pude cambiar permisos de directorio inicial: $1

gedit_title=Editar Grupo
gedit_title2=Crear Grupo
gedit_details=Detalles de Grupo
gedit_group=Nombre de Grupo
gedit_gid=ID de Grupo
gedit_members=Miembros
gedit_homedirs=Directorios Iniciales
gedit_allfiles=Todos los archivos
gedit_ecreate=No puedes crear nuevos grupos
gedit_eedit=No puedes editar este grupo

gsave_err=Error al salvar el grupo
gsave_eedit=No puedes editar este grupo
gsave_ecreate=No puedes crear nuevos grupos
gsave_ebadname='$1' no es un nombre de grupo válido
gsave_einuse=el nombre de grupo '$1' ya está en uso
gsave_egid='$1' no es un GID válido
gsave_eggid=No estás autorizado a cambiar la GID de grupos
usave_elowgid=GID debe de ser mayor o igual que $1
usave_ehigid=GID debe de ser menor o igual que $1
usave_egidused=El Grupo $1 ya está usando el GID $2
usave_efromroot=No puedes mover el directorio inicial desde /
usave_etoroot=No puedes mover el directorio inicial a /

logins_title=Registro de Logins
logins_head=Registro de Logins de $1
logins_from=Login Desde
logins_tty=TTY
logins_in=Login a las
logins_out=Logout a las
logins_for=Dentro durante
logins_still=Todavía está dentro
logins_none=No hay Registro de Logins
logins_elist=No estás autorizado a listar logins
logins_elistu=No estás autorizado a listar logins para '$1'
logins_local=Local

udel_title=Borrar Usuario
udel_err=error al borrar usuario
udel_euser=No puedes borrar este usuario
udel_ealready=¡Este usuario ya ha sido borrado!
udel_echanged=El archivo de claves de acceso ha cambiado. Por favor, regresa a la lista de usuarios y selecciona a este usuario otra vez.
udel_other=Borrando desde otros módulos...
udel_pass=Borrando entrada en archivo de claves de acceso...
udel_groups=Quitando desde grupos...
udel_ugroup=Borrando el grupo de este usuario...
udel_home=Borrando directorio inicial...
udel_done=... Hecho
udel_sure=¿Estás seguro de querer borrar al usuario $1? El directorio inicial $2 contiene $3 kB de archivos
udel_sure2=¿Estás seguro de querer borrar al usuario $1?
udel_del1=Borrar Usuario
udel_del2=Borrar Usuario y Directorio Inicial
udel_others=¡AVISO! El directorio inicial $1 contiene $2 archivos propiedad de otros usuarios.
udel_dothers=¿Borro el usuario en otros módulos?

gdel_title=Borrar Grupo
gdel_err=Error en borrado de grupo
gdel_egroup=No puedes borrar este grupo
gdel_ealready=¡Este grupo ya ha sido borrado!
gdel_group=Borrando entrada de archivo de grupo...
gdel_done=... Hecho
gdel_eprimary=Este es el grupo primario del usuario $1
gdel_sure=¿Estás seguro de querer borrar el grupo $1?
gdel_del=Borrar Grupo

many_title=Crear Múltiples Usuarios
many_desc=Este formulario te permite crear muchos usuarios de una vez desde un archivo de texto cargado. Cada línea en el archivo especifica un usuario con el siguiente formato:
many_desc2=nombre de usuario:clave de acceso:uid:gid:nombre real:directorio inicial:shell:mín:máx:aviso:inactivo:expiración
many_desc1=nombre de usuario:clave de acceso:uid:gid:nombre real:directorio inicial:shell:clase:cambio:expiración
many_desc0=nombre de usuario:clave de acceso:uid:gid:nombre real:directorio inicial:shell
many_descafter=Si el campo <tt>uid</tt> se deja vacío, Webmin asignará una UID automáticamente. Si el cmpo <tt>gid</tt> está vacío, Webmin creará un nuevo grupo con el mismo nombre que el del usuario. Los campos de <tt>nombre de usuario</tt>, <tt>directorio inicial</tt> y de <tt>shell</tt> han de ser suministrados para cada usuario - todos los otros campos pueden quedar vacíos.
many_descpass=Si el campo de <tt>clave de acceso</tt> se deja en blanco, no se asigna clave de acceso para el usuario. Si contiene sólo la letra <tt>x</tt>, la cuenta será bloqueada. De otra manera, el texto en el campo será tomado como la clave de acceso en claro y será encriptada.
many_file=Nuevo archivo de usuarios:
many_local=Archivo de nuevos usuarios locales
many_makehome=¿Creo los directorios iniciales?
many_copy=¿Copio los archivos a los directorios iniciales?
many_upload=Crear usuarios
many_elocal=Archivo local no encontrado
many_efile=No se ha seleccionado archivo para cargar
many_elen=La línea $1 no contiene $2 campos
many_eline=Nombre de usuario sin poner en la línea $1
many_euser=Nombre de usuario duplicado en la línea $1 : $2
many_egid=GID inválida en la línea $1 : $2
many_ehome=Directorio inicial inválido en la línea $1 : $2
many_eshell=Shell inválido en la línea $1 : $2
many_emkdir=No puedo crear directorio inicial $1 : $2
many_egtaken=El nombre de grupo ya está en uso en la línea $1 : $2
many_ok=Creado usuario $1

acl_uedit=Usuarios de Unix que pueden ser editados
acl_uedit_all=Todos los usuarios
acl_uedit_none=Ninguno
acl_uedit_only=Sólo usuarios
acl_uedit_except=Todos excepto los usuarios
acl_uedit_uid=Usuarios con UIDs en el rango
acl_uedit_group=Usuarios con grupos
acl_uedit_this=Sólo este usuario
acl_ucreate=¿Puedo crear nuevos usuarios?
acl_uid=UIDs para usuarios nuevos o modificados
acl_umultiple=Más de un usuario puede tener el mismo UID
acl_uuid=UIDs de usuarios existentes pueden ser cambiadas
acl_ugroups=Grupos autorizados para usuarios nuevos o modificados
acl_all=Todos
acl_shells=Shells autorizados para usuarios nuevos o modificados
acl_any=Cualquiera
acl_listed=Listado...
acl_home=Los Directorios iniciales deben de estar bajo
acl_autohome=El Directorio inicial es siempre el mismo que el nombre del usuario
acl_gedit=Grupos Unix que pueden ser editados
acl_gedit_all=Todos los grupos
acl_gedit_none=Nigún grupo
acl_gedit_only=Sólo los grupos
acl_gedit_except=Todos excepto los grupos
acl_gedit_gid=Grupos con GIDs en el rango
acl_gcreate=¿Puedo crear grupos nuevos?
acl_gnew=Sólo para nuevos usuarios
acl_gid=GIDs para grupos nuevos o modificados
acl_gmultiple=Más de un grupo puede tener el mismo GID
acl_ggid=GIDs de grupos existentes pueden ser cambiadas
acl_logins=Puedo mostrar logins por
acl_lnone=Ningún usuario
acl_lall=Todos los usuarios
acl_epeopt=¿Puedo editar las opciones de expiración de claves de acceso?
acl_egp=¿Puedo editar claves de acceso de grupo?
acl_saveopts=Autorizadas opciones de al salvar

log_urename=Renombrado usuario $1 por $2
log_umodify=Modificado usuario $1
log_ucreate=Creado usuario $1
log_udelete=Borrado usuario $1
log_udeletehome=Borrado usuario $1 y directorio $2
log_gmodify=Modificado grupo $1
log_gcreate=Creado grupo $1
log_gdelete=Borrado grupo $1
log_batch=Ejecutado archivo por lotes $1
log_batch_l=Ejecutado archivo por lotes $1 ($2 creado, $3 modificado, $4 borrado)
log_ubatch=Ejecutado archivo por lotes cargado
log_ubatch_l=Ejecutado archivo por lotes cargado ($1 creado, $2 modificado, $4 borrado)

batch_title=Ejecutar Archivo por Lotes
batch_desc=Este formulario te permite crear, modificar o borrar muchos usuarios de inmediato desde una archivo de texto cargado o local. Cada línea del archivo especifica una acción a realizar dependiendo de su primer campo. Los formatos de línea son:
batch_desc2=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>delete</b>:username
batch_desc1=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>delete</b>:username
batch_desc0=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>delete</b>:username
batch_descafter=En <b>create (crear)</b> líneas, si el campo de <tt>uid</tt> se deja vacío, Webmin asignará automáticamente una UID. Si el campo de <tt>gid</tt> se deja vacío, Webmin creará un nuevo grupo con el mismo nombre que el usuario. Los campos <tt>username (nombre de usuario)</tt>, <tt>homedir (directorio inicial)</tt> y <tt>shell</tt> deben de ser suministrados para cada usuario - todos los otros campos se permite que estén vacíos. Si el campo de <tt>passwd (clave de acceso)</tt> se deja em blanco, no se asigna clave de acceso al usuario. Si contiene sólo la letra <tt>x</tt>, la cuenta es bloqueada. En caso contrario, el texto en el campo es tomando como clave de acceso en claro y encriptada.
batch_descafter2=En <b>modify (modificar)</b> líneas, un campo vacío indica que el correspondiente atributo de usuario no ha de ser modificado.
batch_file=Archivo por lotes cargado
batch_local=Archivo por lotes local
batch_others=¿Crear, modificar o borrar usuarios en otros módulos?
batch_makehome=¿Creo directorios iniciales para usuarios creados?
batch_copy=¿Copio archivos a directorios iniciales de usuarios creados?
batch_movehome=¿Renombro directorios iniciales de usuarios modificados?
batch_chuid=¿Cambio UID en archivos de usuarios modificados?
batch_chgid=¿Cambio GID en archivos de usuarios modificados?
batch_delhome=¿Borro directorios iniciales de usuarios borrados?
batch_upload=Ejecutar lote
batch_elocal=Archivo local no hallado
batch_efile=No hay archivo que cargar
batch_elen=La línea $1 no contiene $2 campos
batch_eline=Nombre de usuario falta en la línea $1
batch_euser=Nombre de usuario duplicado en la línea $1: $2
batch_egid=GID inválida en la línea $1: $2
batch_ehome=Directorio inicial inválido en la línea $1: $2
batch_eshell=Shell inválido en la línea $1: $2
batch_emkdir=No pude crear directorio inicial $1: $2
batch_egtaken=Nombre de grupo ya está en uso en la línea $1: $2
batch_eaction=Acción inválida en la línea $1: $2
batch_enouser=El usuario no existe en la línea $1: $2
batch_emove=No pude mover directorio inicial en la línea $1: $2
batch_created=Creado usuario $1
batch_deleted=Borrado usuario $1
batch_modified=Modificado usuario $1
batch_ecaccess=No estás autorizado a crear el usuario en la línea $1: $2
batch_emaccess=No estás autorizado a modificar el usuario en la línea $1: $2
batch_edaccess=No estás autorizado a borrar el usuario en la línea $1: $2
batch_crypt=¿Las claves de acceso ya están encriptadas?
07070100078f12000081a40000000000000002000000013d1fe2bf00003e34000000200000000000000000000000000000001800000003reloc/useradmin/lang/fr   index_title=Utilisateurs et groupes
index_toomany=Il y a trop d'utilisateurs pour tous les afficher sur une page
index_find=Trouver les utilisateurs dont le
index_gtoomany=Il y a trop de groupes sur votre système pour afficher sur une page
index_gfind=Trouver les groupes dont le
index_ugroup=Groupe primaire
index_users=Utilisateurs locaux
index_notusers=Vous n'êtes pas autorisé à éditer les utilisateurs sur ce système
index_createuser=Créer un nouvel utilisateur
index_batch=Créer, modifier et supprimer des utilisateurs d'un fichier batch
index_nomoreusers=Vous n'êtes pas autorisé à créer des utilisateurs supplémentaires
index_groups=Groupes locaux
index_notgroups=Vous n'êtes pas autorisé à éditer les groupes sur ce système
index_creategroup=Créer un nouveau groupe
index_nomoregroups=Vous n'êtes pas autorisé à créer des groupes supplémentaires
index_logins=Afficher les sessions d'ouvertures par
index_return=liste des utilisateurs et des groupes
index_equals=est
index_matches=contient
index_nequals=n'est pas
index_nmatches=ne contient pas

search_title=Résultats de la recherche
search_notfound=Aucun utilisateur correspondant trouvé
search_gnotfound=Aucun groupe correspondant trouvé

uedit_title=Éditer un utilisateur
uedit_title2=Créer un utilisateur
uedit_details=Détails de l'utilisateur
user=Nom d'utilisateur
uid=Numéro d'utilisateur
real=Nom complet
office=Bureau
workph=Téléphone travail
homeph=Téléphone maison
extra=Options supplémentaires
pass=Mot de passe
none1=Demander à la première ouverture de session
none2=Aucun mot de passe requis
nologin=Aucune ouverture de session permise
encrypted=Mot de passe crypté
nochange=Laisser inchangé
clear=Mot de passe en texte clair
home=Répertoire personnel
uedit_auto=Automatique
shell=Interpréteur de commande
uedit_other=Autre
uedit_passopts=Options du mot de passe
change2=Le mot de passe existe depuis
expire2=Expiration du compte
class=Classe d'ouverture de session
change=Mot de passe changé le
flags=Attributs de compte
uedit_never=Jamais
uedit_unknown=Inconnu
expire=Date d'expiration
min=Jours minimums
max=Jours maximums
warn=Jours d'avertissement
inactive=Jours d'inactivité
uedit_gmem=Appartenance aux groupes
group=Groupe primaire
uedit_newg=Nouveau groupe
uedit_oldg=Groupe existant
uedit_2nd=Groupes secondaires
onsave=Après avoir sauvé
uedit_movehome=Déplacer le répertoire personnel s'il a été changé?
uedit_chuid=Changer de propriétaire sur les fichiers ?
uedit_chgid=Changer de groupe sur les fichiers ?
uedit_allfiles=Tous les fichiers
chgid=Changer de groupe sur les fichiers ?
uedit_oncreate=Après la création
uedit_makehome=Créer un répertoire personnel ?
uedit_copy=Copier les fichiers dans le répertoire personnel ?
uedit_logins=Afficher les sessions
uedit_mail=Lire courrier électronique
uedit_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
uedit_eedit=Vous n'êtes pas autorisé à éditer cet utilisateur
uedit_admin=Seul root peut changer le mot de passe
uedit_admchg=L'utilisateur doit choisir un nouveau mot de passe
uedit_nocheck=Ne pas vérifier les restrictions de mot de passe
uedit_cothers=Créer l'utilisateur dans les autres modules ?
uedit_mothers=Modifier l'utilisateur dans les autres modules ?

usave_err=Impossible d'enregistrer l'utilisateur
usave_eedit=Vous n'êtes pas autorisé à éditer cet utilisateur
usave_ecreate=Vous n'êtes pas autorisé à créer des utilisateurs
usave_ebadname='$1' n'est pas un nom d'utilisateur valide
usave_einuse=le nom d'utilisateur '$1' existe déjà
usave_einuse_a=le nom d'utilisateur '$1' est déjà en utilisation par un alias mail
usave_einuseg=le groupe '$1' existe déjà
usave_erename=Vous n'êtes pas autorisé à renommer des utilisateurs
usave_euid='$1' n'est pas un numéro d'utilisateur valide
usave_euuid=Vous n'avez pas le droit de changer les UIDs des utilisateurs
usave_elowuid=Le numéro d'utilisateur doit être supérieur ou égal à $1
usave_ehiuid=Le numéro d'utilisateur doit être inferieur ou égal à $1
usave_euidused=L'utilisateur $1 a déjà l'UID $2
usave_euidused2=L'UID est déjà en utilisation
usave_ereal='$1' n'est pas un nom d'utilisateur valide
usave_ehome='$1' n'est pas un répertoire personnel valide
usave_ehomepath=Vous n'êtes pas autorisé à créer le répertoire personnel
usave_eshell='$1' n'est pas un interpréteur de commandes valide
usave_egid='$1' n'est pas un groupe valide
usave_egcreate=Votre système est configuré pour créer un groupe pour chaque nouvel utilisateur, mais vous n'êtes pas autorisé à créer un groupe
usave_eprimary=Vous n'êtes pas autorisé à ajouter cet utilisateur au groupe primaire $1
usave_esecondary=Vous n'êtes pas autorisé à ajouter cet utilisateur au groupe secondaire $1
usave_eprimaryr=Vous n'êtes pas autorisé à enlever cet utilisateur du groupe primaire $1
usave_esecondaryr=Vous n'êtes pas autorisé à enlever cet utilisateur du groupe secondaire $1
usave_emin='$1' n'est pas une période minimum de changements valide
usave_emax='$1' n'est pas une période maximum de changements valide
usave_ewarn='$1' n'est pas une période d'avertissement valide
usave_einactive='$1' n'est pas une période d'inactivité valide
usave_eexpire=date d'expiration invalide
usave_echange=date de changement invalide
usave_eclass='$1' n'est pas une classe d'ouverture de session valide
usave_emove=impossible de déplacer le répertoire personnel : $1
usave_emkdir=impossible de créer le répertoire personnel : $1
usave_echown=impossible de changer de propriétaire le répertoire personnel : $1
usave_echmod=impossible de changer les permissions du répertoire personnel : $1

gedit_title=Éditer les groupes
gedit_title2=Créer un groupe
gedit_details=Détails du groupe
gedit_group=Nom du groupe
gedit_gid=Numéro du groupe (GID)
gedit_members=Membres
gedit_homedirs=Répertoire personnel
gedit_allfiles=Tous les fichiers
gedit_ecreate=Vous ne pouvez pas créer de nouveaux groupes
gedit_eedit=Vous ne pouvez pas éditer ce groupe

gsave_err=Impossible d'enregistrer le groupe
gsave_eedit=Vous n'êtes pas autorisé à éditer ce groupe
gsave_ecreate=Vous n'êtes pas autorisé à créer des nouveaux groupes
gsave_ebadname='$1' n'est pas un nom de groupe valide
gsave_einuse=Le nom de groupe '$1' est déjà utilisé
gsave_egid='$1' n'est pas un numéro de groupe valide
gsave_eggid=Vous n'avez pas le droit de changer les GIDs des groupes
usave_elowgid=Le numéro de groupe doit être supérieur ou égal à $1
usave_ehigid=Le numéro de groupe doit être inférieur ou égal à $1
usave_egidused=Le groupe $1 utilise déjà le numéro de groupe $2
usave_efromroot=Vous ne pouvez pas changer le répertoire personnel /
usave_etoroot=Vous ne pouvez changer le répertoire personnel en /

logins_title=Sessions enregistrées
logins_head=Sessions pour $1
logins_from=Session ouverte de
logins_tty=TTY
logins_in=Ouverte à
logins_out=Fermée à
logins_for=Durée
logins_still=Encore connecté
logins_none=Pas de sessions enregistrées
logins_elist=Vous n'avez pas le droit de lister les logins
logins_elistu=Vous n'avez pas le droit de lister les logins pour '$1'
logins_local=Local

udel_title=Supprimer un utilisateur
udel_err=Impossible de supprimer cet utilisateur
udel_euser=Vous n'êtes pas autorisé à supprimer cet usager
udel_ealready=Cet utilisateur à déjà été supprimé!
udel_echanged=Le fichier de mots de passe a changé. Veuillez revenir en arrière et choisir l'utilisateur de nouveau. 
udel_other=Suppression dans les autres modules ..
udel_pass=Suppression dans le fichier de mots de passe ..
udel_groups=Suppression dans les groupes ..
udel_ugroup=Suppression du groupe ..
udel_home=Suppression du répertoire personnel ..
udel_done=.. Terminé
udel_sure=Etes-vous sur de vouloir supprimer  $1 dont le répertoire personnel $2 contient $3 Ko de fichiers?
udel_sure2=Etes-vous sur de vouloir supprimer l'utilisateur $1 ?
udel_del1=Supprimer l'utilisateur
udel_del2=Supprimer l'utilisateur et son répertoire personnel
udel_others=ATTENTION ! Le répertoire utilisateur $1 contient $2 fichiers appartenant à d'autres utilisateurs
udel_dothers=Supprimer l'utilisateur dans d'autres modules ?
udel_root=Attention ! Si l'utilisateur root est effacé, vous ne pourrez plus administrer votre système à l'avenir.

gdel_title=Supprimer un groupe
gdel_err=Impossible de supprimer le groupe
gdel_egroup=Vous n'êtes pas autorisé à supprimer ce groupe
gdel_ealready=Ce groupe a déjà été supprimé!
gdel_group=Suppression du groupe ..
gdel_done=.. Terminé
gdel_eprimary=Ceci est le groupe primaire de l'utilisateur $1
gdel_sure=Etes-vous sur de vouloir supprimer l'utilisateur $1 ?
gdel_del=Supprimer le groupe

many_title=Créer plusieurs Utilisateur 
many_desc=Cette page vous permet de créer plusieurs utilisateurs à la fois à partir d'un fichier texte. Chaque ligne du fichier représente un utilisateur dans le format suivant :
many_desc2=nom:pass:uid:gid:vrainom:repertoireperso:shell:min:max:avertissement:inactif:expire
many_desc1=nom:pass:uid:gid:vrainom:repertoireperso:shell:classe:change:expire
many_desc0=nom:pass:uid:gid:vrainom:repertoireperso:shell
many_descafter=Si le champ <tt>uid</tt> est laissé vide, Webmin assignera un numéro d'utilisateur automatiquement. Les champs <tt>nom</tt>, <tt>gid</tt>, <tt>repertoireperso</tt> et <tt>shell</tt> sont obligatoires pour chaque utilisateur, tous les autres champs peuvent être vides.
many_descpass=Si le champ <tt>passwd</tt> est vide, aucun mot de passe ne sera assigné à l'utilisateur. Si il contient juste la lettre <tt>x</tt>, le compte sera bloqué. Autrement, le texte du champ sera pris comme mot de passe en clair et chiffré.
many_file=Fichier de nouveaux utilisateurs envoyé
many_local=Fichier de nouveaux utilisateur local
many_makehome=Créer le répertoire personnel?
many_copy=Copier les fichiers dans le répertoire personnels?
many_upload=Créer les utilisateurs
many_elocal=Fichier introuvable
many_efile=Aucun fichier à envoyer choisi
many_elen=La ligne $1 ne contient pas les champs $2
many_eline=Nom d'utilisateur manquant à la ligne $1
many_euser=Nom d'utilisateur en double à la ligne $1 : $2
many_egid=Numéro de groupe invalide à la ligne $1 : $2
many_ehome=Répertoire personnel invalide à la ligne $1 : $2
many_eshell=Interpréteur de commande invalide à la ligne $1 : $2
many_emkdir=Impossible de créer le répertoire personnel $1 : $2
many_egtaken=Nom de groupe déjà utilisé à la ligne $1 : $2
many_ok=Utilisateur $1 créé

acl_uedit=Utilisateur Unix pouvant être édités
acl_uedit_all=Tous les utilisateurs
acl_uedit_none=Aucun utilisateur
acl_uedit_only=Seulement ces utilisateurs
acl_uedit_except=Tous les utilisateurs sauf
acl_uedit_uid=Les utilisateurs dont le numéro fait partie de
acl_uedit_group=Utilisateurs avec groupe
acl_uedit_sec=Inclure les groupes secondaires ?
acl_uedit_this=Seulement cet utilisateur
acl_ucreate=Peut créer des nouveaux utilisateurs?
acl_uid=Numéros pour les utilisateur crées ou modifiés
acl_umultiple=Plusieurs utilisateurs peuvent avoir le même numéro
acl_uuid=Les UIDs des utilisateurs existants peuvent être modifiées
acl_ugroups=Groupes autorisé pour les utilisateur crées ou modifiés
acl_all=Tous
acl_shells=Interpéteur de commande pour les utilisateur crées ou modifiés
acl_any=N'importe lequel
acl_listed=Listé..
acl_home=Le répertoire personnel doit être dans
acl_autohome=Le répertoire personnel est toujours le même que le nom d'utilisateur
acl_gedit=Groupes Unix qui peuvent être édités
acl_gedit_all=Tous les groupes
acl_gedit_none=Aucun groupe
acl_gedit_only=Seulement ces groupes
acl_gedit_except=Tous les groupes saufs
acl_gedit_gid=Les groupes dont le numéro fait partie de
acl_gcreate=Peut créer des nouveaux groupes?
acl_gnew=Seulement pour les nouveaux utilisateurs
acl_gid=Numéros pour les groupes crées ou modifiés
acl_gmultiple=Plusieurs groupes peuvent avoir le même numéro
acl_ggid=Les GIDs de groupes existants peuvent être changées
acl_logins=Peut afficher les ouvertures de sessions
acl_lnone=Aucun utilisateur
acl_lall=Tous les utilisateurs
acl_epeopt=Peut éditer les options d'expiration de mot de passe?
acl_egp=Peut éditer les mots de passe des groupes?
acl_saveopts=Options permises à la sauvegarde

log_urename=Utilisateur $1 renommé en $2
log_umodify=Utilisateur $1 modifié
log_ucreate=Utilisateur $1 créé
log_udelete=Utilisateur $1 supprimé
log_udeletehome=Utilisateur $1 et répertoire $2 supprimés
log_gmodify=Groupe $1 modifié
log_gcreate=Groupe $1 créé
log_gdelete=Groupe $1 supprimé
log_batch=Fichier batch $1 exécuté
log_batch_l=Fichier batch $1 exécuté ($2 créé, $3 modifié, $4 supprimé)
log_ubatch=Fichier batch téléchargé exécuté
log_ubatch_l=Fichier batch téléchargé exécuté ($1 créé, $2 modifié, $3 supprimé)

batch_title=Exécuter fichier batch
batch_desc=Ce formulaire vous permet de créer, modifer ou supprimer plusieurs utilisateurs à la fois depuis un fichier texte local ou téléchargé. Chaque ligne du fichier spécifie une action à prendre, d'après son premier champ. Les formats de ligne sont:
batch_desc2=<b>créer</b>:nom:motdepasse:uid:gid:vrainom:homedir:shell:min:max:averti:inactif:expire<p><b>modifier</b>:anciennom:nom:motdepasse:uid:gid:vrainom:homedir:shell:min:max:averti:inactif:expire<p><b>supprimer</b>:nom
batch_desc1=<b>créer</b>:nom:motdepasse:uid:gid:vrainom:homedir:shell:classe<p><b>modifier</b>:anciennom:nom:motdepasse:uid:gid:vrainom:homedir:shell:classe<p><b>supprimer</b>:nom
batch_desc0=<b>créer</b>:nom:motdepasse:uid:gid:vrainom:homedir:shell<p><b>modifier</b>:anciennom:nom:motdepasse:uid:gid:vrainom:homedir:shell<p><b>supprimer</b>:nom
batch_descafter=Dans les lignes <b>créer</b>, si le champ <tt>uid</tt> est laissé vide, Webmin assignera une UID automatiquement. Si le champ <tt>gid</tt> est vide, Webmin créera un nouveau groupe avec le même nom que l'utilisateur. Les champs <tt>nom</tt>, <tt>homedir</tt> et <tt>shell</tt> doivent être renseignés pour chaque utilisateur - tous les autres champs peuvent être vides. Si le champ <tt>motdepasse</tt> est vide, aucun mot de passe ne sera assigné à l'utilisateur. Si il contient juste la lettre <tt>x</tt>, le compte sera bloqué. Autrement, le text du champ sera pris comme mot de passe en clair et chiffré.
batch_descafter2=Dans les lignes In <b>modifier</b>, un champ vide sera considéré comme n'étant pas à modifier.
batch_file=Fichier batch téléchargé
batch_local=Fichier batch local
batch_others=Créer, modifier ou supprimer des utilisateurs dans d'autres modules ?
batch_makehome=Créer des répertoires pour les nouveaux utilisateurs ?
batch_copy=Copier les fichiers dans les répertoires des nouveaux utilisateurs ?
batch_movehome=Renommer les répertoires des utilisateurs modifiés ?
batch_chuid=Changer l'UID sur les fichiers des utilisateurs modifiés ?
batch_chgid=Changer la GID sur les fichiers des utilisateurs modifiés ?
batch_delhome=Supprimer les répertoires des utilisateurs supprimés ?
batch_upload=Exécuter le batch
batch_elocal=Fichier local non trouvé
batch_efile=Aucun fichier choisi pour le téléchargement
batch_elen=La ligne $1 ne contient pas les champs $2
batch_eline=Nom manquant à la ligne $1
batch_euser=Nom en double à la ligne $1 : $2
batch_egid=GID invalide à la ligne $1 : $2
batch_ehome=Répertoire utilisateur (homedir) invalide à la ligne $1 : $2
batch_eshell=Shell invalide à la ligne $1 : $2
batch_emkdir=Echec de la création du répertoire utilisateur $1 : $2
batch_egtaken=Nom de groupe déjà utilisé à la ligne $1 : $2
batch_eaction=Action invalide à la ligne $1 : $2
batch_enouser=L'utilisateur n'existe pas à la ligne $1 : $2
batch_emove=Echec du renommage du répertoire utilisateur à la ligne $1 : $2
batch_created=Utilisateur $1 créé
batch_deleted=Utilisateur $1 supprimé
batch_modified=Utilisateur $1 modifié
batch_ecaccess=Vous n'avez pas le droit de créer l'utilisateur à la ligne $1 : $2
batch_emaccess=Vous n'avez pas le droit de modifier l'utilisateur à la ligne $1 : $2
batch_edaccess=Vous n'avez pas le droit de supprimer l'utilisateur à la ligne $1 : $2
batch_crypt=Les mots de passe sont déjà chiffrés ?
07070100078f13000081a40000000000000002000000013d1fe2bf00002086000000200000000000000000000000000000001800000003reloc/useradmin/lang/he   index_title=îùúîùéí å÷áåöåú
index_toomany=éù éåúø îãé àðùéí ôä áùáéì ùàðé àåëì ìäøàåú àú ëåååìí òì ãó àçã
index_find=çôù îùúîùéí àùø ìäí 
index_ugroup=÷áåöä øàùéú
index_users=îùúîùéí î÷åîééí
index_notusers=àñåø ìê ìäâãéø îùúîùéí áîçùá äæä
index_createuser=öåø îùúîù çãù
index_createmany=öåø ëîä åëîä îùúîùéí ááú-àçú
index_nomoreusers=æäå. àñåø ìê ìéöåø òåã îùúîùéí
index_groups=÷áåöåú î÷åîéåú
index_notgroups=You are not allowed to edit any groups on this system
index_creategroup=öåø ÷áåöä çãùä
index_nomoregroups=You are not allowed to create any more groups
index_logins=Display logins by
index_return=users and groups list
index_equals=ùååéí
index_matches=îúàéîéí ì
index_nequals=ìà ùååéí ì
index_nmatches=ìà îúàéîéí ì

search_title=úåöàåú çéôåù
search_notfound=ìà îöàúé îùäå

uedit_title=òøéëú îùúîù
uedit_title2=äåñôú îùúîù
uedit_details=ôøèé îùúîù
user=Username
uid=User ID
real=ùí àîéúé
pass=ñéñîà
none1=Ask at first login
none2=ìà öøéê ñéñîà
nologin=No login allowed
encrypted=ñéñîà îåöôðú
clear=ñéñîà áè÷ñè ìà îåöôï
home=Home directory
uedit_auto=àåèåîèé
shell=Shell
uedit_other=Other..
uedit_passopts=àôùøåéåú ñéñîà
change2=Password change time
expire2=Account expiry time
class=Login class
change=Password changed
uedit_never=Never
uedit_unknown=Unknown
expire=Expiry date
min=Minimum days
max=Maximim days
warn=Warning days
inactive=Inactive days
uedit_gmem=Group Membership
group=Primary group
uedit_newg=New group
uedit_oldg=Existing group
uedit_2nd=Secondary groups
onsave=Upon Save..
uedit_movehome=Move home directory if changed?
uedit_chuid=Change user ID on files?
uedit_allfiles=All files
chgid=Change group ID on files?
uedit_oncreate=Upon Creation..
uedit_makehome=Create home directory?
uedit_copy=Copy files to home directory?
uedit_logins=Show Logins
uedit_mail=Read Email
uedit_ecreate=You cannot create new users
uedit_eedit=You cannot edit this user

usave_err=Failed to save user
usave_eedit=You cannot edit this user
usave_ecreate=You cannot create new users
usave_ebadname='$1' is not a valid username
usave_einuse=the username '$1' is already in use
usave_einuseg=the group name '$1' is already in use
usave_erename=You are not allowed to rename users
usave_euid='$1' is not a valid UID
usave_elowuid=UID must be greater than or equal to $1
usave_ehiuid=UID must be less than or equal to $1
usave_euidused=User $1 is already using UID $2
usave_ereal='$1' is not a valid real name
usave_ehome='$1' is not a valid home directory
usave_ehomepath=You are not allowed to create the home directory $1
usave_eshell='$1' is not an allowable shell
usave_egid='$1' is not a valid group
usave_egcreate=You are not allowed to create new groups for new users
usave_eprimary=You are not allowed to add this user to the primary group $1
usave_esecondary=You are not allowed to add this user to the secondard group $1
usave_eprimaryr=You are not allowed to remove this user from the primary group $1
usave_esecondaryr=You are not allowed to remove this user from the secondary group $1
usave_emin='$1' is not a valid minimum change period
usave_emax='$1' is not a valid maximum change period
usave_ewarn='$1' is not a valid warning period
usave_einactive='$1' is not a valid inactive period
usave_eexpire=invalid expiry date
usave_echange=invalid change date
usave_eclass='$1' is not a valid login class
usave_emove=failed to move home directory : $1
usave_emkdir=couldn't create home directory : $1
usave_echown=couldn't chown home directory : $1
usave_echmod=couldn't chmod home directory : $1

gedit_title=Edit Group
gedit_title2=Create Group
gedit_details=Group Details
gedit_group=Group name
gedit_gid=Group ID
gedit_members=Members
gedit_homedirs=Home directories
gedit_allfiles=All files
gedit_ecreate=You cannot create new groups
gedit_eedit=You cannot edit this group

gsave_err=Failed to save group
gsave_eedit=You cannot edit this group
gsave_ecreate=You cannot create new groups
gsave_ebadname='$1' is not a valid group name
gsave_einuse=the group name '$1' is already in use
gsave_egid='$1' is not a valid GID
usave_elowgid=GID must be greater than or equal to $1
usave_ehigid=GID must be less than or equal to $1
usave_egidused=Group $1 is already using GID $2
usave_efromroot=You cannot move the home directory from /
usave_etoroot=You cannot move the home directory to /

logins_title=ëðéñåú îå÷ìèåú ìîòøëú
logins_head=Recorded logins for $1
logins_from=èåôñ ëðéñä ìîòøëú
logins_tty=TTY
logins_in=äúçáø ì
logins_out=äúðú÷ î
logins_for=On For
logins_still=òãééï îçåáø
logins_none=ìà ðøùîå ëðéñåú ìîòøëú
logins_elist=You are not allowed to list logins
logins_elistu=You are not allowed to list logins for '$1'
logins_local=î÷åîé

udel_title=îç÷ îùúîù
udel_err=Failed to delete user
udel_euser=You cannot delete this user
udel_ealready=This user has already been deleted!
udel_echanged=Password file has changed. Please return to the user list and select this user again.
udel_other=Deleting from other modules ..
udel_pass=Deleting password file entry ..
udel_groups=Removing from groups ..
udel_ugroup=Deleting this user's group ..
udel_home=Deleting home directory ..
udel_done=.. æäå
udel_sure=àúä îîù îîù áèåç ùàúä øåöä ìîçå÷ àú äîùúîù  $1 ? Home directory $2 contains $3 kB of files
udel_sure2=Are you sure you want to delete the user $1 ?
udel_del1=îç÷ îùúîù
udel_del2=îç÷ îùúîù, åâí àú ÷áöé äáéú ùìå
udel_others=æäéøåú! Home directory $1 contains $2 files owned by other users.

gdel_title=Delete Group
gdel_err=Failed to delete group
gdel_egroup=You cannot delete this group
gdel_ealready=This group has already been deleted!
gdel_group=Deleting group file entry ..
gdel_done=.. Done
gdel_eprimary=This is the primary group of user $1
gdel_sure=Are you sure you want to delete the group $1 ?
gdel_del=Delete Group

many_title=Create Multiple Users
many_desc=This form allows you to create many users at once either from an uploaded or local text file. Each line is the file specifies one user in the following format&nbsp;:
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=If the <tt>uid</tt> field is left empty, Webmin will assign a UID automatically. The <tt>username</tt>, <tt>gid</tt>, <tt>homedir</tt> and <tt>shell</tt> fields must be supplied for every user - all other fields are allowed to be empty. 
many_file=Uploaded new users file
many_local=Local new users file
many_makehome=Create home directories?
many_copy=Copy files to home directories?
many_upload=Create users
many_elocal=Local file not found
many_efile=No file chosen to upload
many_elen=Line $1 does not contain $2 fields
many_euser=Duplicate username at line $1 : $2
many_egid=Invalid GID at line $1 : $2
many_ehome=Invalid home directory at line $1 : $2
many_eshell=Invalid shell at line $1 : $2
many_emkdir=Failed to create home directory $1 : $2
many_ok=Created user $1

acl_uedit=Unix users who can be edited
acl_uedit_all=All users
acl_uedit_none=No users
acl_uedit_only=Only users
acl_uedit_except=All except users
acl_uedit_uid=Users with UIDs in range
acl_uedit_group=Users with group
acl_ucreate=Can create new users?
acl_uid=UIDs for new or modified users
acl_umultiple=More than one user can have the same UID
acl_ugroups=Allowed groups for new or modifed users
acl_all=All
acl_shells=Allowed shells for new or modifed users
acl_any=Any
acl_listed=Listed..
acl_home=Home directories must be under
acl_autohome=Home directory is always same as username
acl_gedit=Unix groups who can be edited
acl_gedit_all=All groups
acl_gedit_none=No groups
acl_gedit_only=Only groups
acl_gedit_except=All except groups
acl_gedit_gid=Groups with GIDs in range
acl_gcreate=Can create new groups?
acl_gnew=Only for new users
acl_gid=GIDs for new or modified groups
acl_gmultiple=More than one group can have the same GID
acl_logins=Can display logins by
acl_lnone=No users
acl_lall=All users
acl_epeopt=Can edit password expire options?
acl_egp=Can edit group passwords?

log_urename=Renamed user $1 to $2
log_umodify=Modified user $1
log_ucreate=Created user $1
log_udelete=Deleted user $1
log_udeletehome=Deleted user $1 and directory $2
log_gmodify=Modified group $1
log_gcreate=Created group $1
log_gdelete=Deleted group $1

  07070100078f14000081a40000000000000002000000013d1fe2c0000031ca000000200000000000000000000000000000001f00000003reloc/useradmin/lang/ja_JP.euc    index_title=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×
index_toomany=¥·¥¹¥Æ¥à¤ËÂ¸ºß¤¹¤ë¥æ¡¼¥¶¤¬Â¿¤¹¤®¤Æ1¥Ú¡¼¥¸¤ËÉ½¼¨¤Ç¤­¤Þ¤»¤ó
index_find=¾ò·ï¤Ë°ìÃ×¤¹¤ë¥æ¡¼¥¶¤òÉ½¼¨:
index_gtoomany=¥·¥¹¥Æ¥à¤ËÂ¸ºß¤¹¤ë¥°¥ë¡¼¥×¤¬Â¿¤¹¤®¤Æ1¥Ú¡¼¥¸¤ËÉ½¼¨¤Ç¤­¤Þ¤»¤ó
index_gfind=¾ò·ï¤Ë°ìÃ×¤¹¤ë¥°¥ë¡¼¥×¤òÉ½¼¨:
index_ugroup=¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×
index_users=¥í¡¼¥«¥ë¥æ¡¼¥¶
index_notusers=¤³¤Î¥·¥¹¥Æ¥à¤Î¥æ¡¼¥¶¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
index_createuser=¿·¤·¤¤¥æ¡¼¥¶¤òºîÀ®
index_createmany=Ê£¿ô¤Î¥æ¡¼¥¶¤òºîÀ®
index_nomoreusers=¤³¤ì°Ê¾å¤Î¥æ¡¼¥¶¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
index_groups=¥í¡¼¥«¥ë¥°¥ë¡¼¥×
index_notgroups=¤³¤Î¥·¥¹¥Æ¥à¤Î¥°¥ë¡¼¥×¤òÊÔ½¸¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
index_creategroup=¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®
index_nomoregroups=¤³¤ì°Ê¾å¤Î¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
index_logins=¥í¥°¥¤¥óµ­Ï¿¤ÎÉ½¼¨
index_return=¥æ¡¼¥¶¤È¥°¥ë¡¼¥×¤Î°ìÍ÷
index_equals=Åù¤·¤¤
index_matches=°ìÃ×
index_nequals=Åù¤·¤¯¤Ê¤¤
index_nmatches=°ìÃ×¤·¤Ê¤¤

search_title=¸¡º÷·ë²Ì
search_notfound=°ìÃ×¤¹¤ë¥æ¡¼¥¶¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
search_gnotfound=°ìÃ×¤¹¤ë¥°¥ë¡¼¥×¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿

uedit_title=¥æ¡¼¥¶¤ÎÊÔ½¸
uedit_title2=¥æ¡¼¥¶¤ÎºîÀ®
uedit_details=¥æ¡¼¥¶¤Î¾ÜºÙ
user=¥æ¡¼¥¶Ì¾
uid=¥æ¡¼¥¶ID
real=¼ÂÌ¾
pass=¥Ñ¥¹¥ï¡¼¥É
none1=ºÇ½é¤Î¥í¥°¥¤¥ó¤Î¤È¤­¤Ë¤¿¤º¤Í¤ë
none2=¥Ñ¥¹¥ï¡¼¥É¤ÏÉÔÍ×
nologin=¥í¥°¥¤¥ó¶Ø»ß
encrypted=°Å¹æ²½ºÑ¤ß¥Ñ¥¹¥ï¡¼¥É
nochange=ÊÑ¹¹¤·¤Ê¤¤
clear=ÄÌ¾ï¤Î¥Ñ¥¹¥ï¡¼¥É
home=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
uedit_auto=¼«Æ°
shell=¥·¥§¥ë
uedit_other=¤½¤ÎÂ¾..
uedit_passopts=¥Ñ¥¹¥ï¡¼¥É¤Î¥ª¥×¥·¥ç¥ó
change2=¥Ñ¥¹¥ï¡¼¥É¤ÎÊÑ¹¹»þ´Ö
expire2=¥¢¥«¥¦¥ó¥È¤ÎÍ­¸ú´ü¸Â
class=¥í¥°¥¤¥ó¥¯¥é¥¹
change=¥Ñ¥¹¥ï¡¼¥É¤ÎºÇ½ªÊÑ¹¹Æü
flags=¥¢¥«¥¦¥ó¥È¤Î¥Õ¥é¥°
uedit_never=Ì¤ÊÑ¹¹
uedit_unknown=ÉÔÌÀ
expire=Í­¸ú´ü¸ÂÆü
min=ºÇ¾¯ÌµÊÑ¹¹Æü¿ô
max=ºÇÂçÌµÊÑ¹¹Æü¿ô
warn=·Ù¹ðÆü¿ô
inactive=Ì¤»ÈÍÑÆü¿ô
uedit_gmem=½êÂ°¤¹¤ë¥°¥ë¡¼¥×
group=¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×
uedit_newg=¿·¤·¤¤¥°¥ë¡¼¥×
uedit_oldg=´ûÂ¸¤Î¥°¥ë¡¼¥×
uedit_2nd=¥»¥«¥ó¥À¥ê¥°¥ë¡¼¥×
onsave=ÊÝÂ¸»þ¤Î½èÍý..
uedit_movehome=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òÊÑ¹¹¤·¤¿¾ì¹ç¤Ï°ÜÆ°¤·¤Þ¤¹¤«?
uedit_chuid=¥Õ¥¡¥¤¥ë¤Î¥æ¡¼¥¶ID¤òÊÑ¹¹¤·¤Þ¤¹¤«?
uedit_allfiles=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë
chgid=¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×ID¤òÊÑ¹¹¤·¤Þ¤¹¤«?
uedit_oncreate=ºîÀ®»þ¤Î½èÍý..
uedit_makehome=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¤«?
uedit_copy=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤¹¤«?
uedit_logins=¥í¥°¥¤¥óµ­Ï¿¤ÎÉ½¼¨
uedit_mail=Email¤òÆÉ¤à
uedit_ecreate=¿·¤·¤¤¥æ¡¼¥¶¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
uedit_eedit=¤³¤Î¥æ¡¼¥¶¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
uedit_admin=root¤Î¤ß¤¬¥Ñ¥¹¥ï¡¼¥É¤òÊÑ¹¹¤Ç¤­¤Þ¤¹
uedit_admchg=¥æ¡¼¥¶¤Î¿·¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤òÆþÎÏ¤·¤Æ¤¯¤À¤µ¤¤
uedit_nocheck=¥Ñ¥¹¥ï¡¼¥É¤ÎÀ©¸Â¤ò¥Á¥§¥Ã¥¯¤·¤Þ¤»¤ó

usave_err=¥æ¡¼¥¶¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
usave_eedit=¤³¤Î¥æ¡¼¥¶¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
usave_ecreate=¿·¤·¤¤¥æ¡¼¥¶¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
usave_ebadname='$1'¤ÏÍ­¸ú¤Ê¥æ¡¼¥¶Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_einuse=¥æ¡¼¥¶Ì¾'$1'¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
usave_einuse_a=¥æ¡¼¥¶Ì¾'$1'¤Ï¥á¡¼¥ë¥¨¥¤¥ê¥¢¥¹¤Ç¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
usave_einuseg=¥°¥ë¡¼¥×Ì¾'$1'¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
usave_erename=¥æ¡¼¥¶Ì¾¤òÊÑ¹¹¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_euid='$1'¤ÏÍ­¸ú¤ÊUID¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_elowuid=UID¤Ï$1°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
usave_ehiuid=UID¤Ï$1°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
usave_euidused=¥æ¡¼¥¶$1¤¬¤¹¤Ç¤ËUID $2¤ò»È¤Ã¤Æ¤¤¤Þ¤¹
usave_ereal='$1'¤ÏÍ­¸ú¤Ê¼ÂÌ¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_ehome='$1'¤ÏÍ­¸ú¤Ê¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_ehomepath=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê$1¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_eshell='$1'¤ÏÍøÍÑ²ÄÇ½¤Ê¥·¥§¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_egid='$1'¤ÏÍ­¸ú¤Ê¥°¥ë¡¼¥×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_egcreate=¿·¤·¤¤¥æ¡¼¥¶¤Î¤¿¤á¤Î¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_eprimary=¤³¤Î¥æ¡¼¥¶¤ò¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×$1¤ËÄÉ²Ã¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_esecondary=¤³¤Î¥æ¡¼¥¶¤ò¥»¥«¥ó¥À¥ê¥°¥ë¡¼¥×$1¤ËÄÉ²Ã¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_eprimaryr=¤³¤Î¥æ¡¼¥¶¤ò¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×$1¤«¤éºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_esecondaryr=¤³¤Î¥æ¡¼¥¶¤ò¥»¥«¥ó¥À¥ê¥°¥ë¡¼¥×$1¤«¤éºï½ü¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
usave_emin='$1'¤ÏÍ­¸ú¤ÊºÇ¾¯ÊÑ¹¹´ü´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_emax='$1'¤ÏÍ­¸ú¤ÊºÇÂçÊÑ¹¹´ü´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_ewarn='$1'¤ÏÍ­¸ú¤Ê·Ù¹ð´ü´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_einactive='$1'¤ÏÍ­¸ú¤ÊÌ¤»ÈÍÑ´ü´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_eexpire=Í­¸ú´ü¸Â¤¬Ìµ¸ú¤Ç¤¹
usave_echange=ÊÑ¹¹Æü¤¬Ìµ¸ú¤Ç¤¹
usave_eclass='$1'¤ÏÍ­¸ú¤Ê¥í¥°¥¤¥ó¥¯¥é¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_emove=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ò°ÜÆ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $1
usave_emkdir=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $1
usave_echown=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ­¼Ô¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $1
usave_echmod=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¢¥¯¥»¥¹¸¢¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $1

gedit_title=¥°¥ë¡¼¥×¤ÎÊÔ½¸
gedit_title2=¥°¥ë¡¼¥×¤ÎºîÀ®
gedit_details=¥°¥ë¡¼¥×¤Î¾ÜºÙ
gedit_group=¥°¥ë¡¼¥×Ì¾
gedit_gid=¥°¥ë¡¼¥×ID
gedit_members=¥á¥ó¥Ð¡¼
gedit_homedirs=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê
gedit_allfiles=¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë
gedit_ecreate=¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
gedit_eedit=¤³¤Î¥°¥ë¡¼¥×¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó

gsave_err=¥°¥ë¡¼¥×¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
gsave_eedit=¤³¤Î¥°¥ë¡¼¥×¤òÊÔ½¸¤Ç¤­¤Þ¤»¤ó
gsave_ecreate=¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó
gsave_ebadname='$1'¤ÏÍ­¸ú¤Ê¥°¥ë¡¼¥×Ì¾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
gsave_einuse=¥°¥ë¡¼¥×Ì¾'$1'¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹
gsave_egid='$1'¤ÏÍ­¸ú¤ÊGID¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
usave_elowgid=GID¤Ï$1°Ê¾å¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
usave_ehigid=GID¤Ï$1°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó
usave_egidused=¥°¥ë¡¼¥×$1¤¬¤¹¤Ç¤ËGID $2¤ò»È¤Ã¤Æ¤¤¤Þ¤¹
usave_efromroot=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ò/¤«¤é°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó
usave_etoroot=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ò/¤Ë°ÜÆ°¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó

logins_title=¥í¥°¥¤¥ó¤Îµ­Ï¿
logins_head=$1¤Î¥í¥°¥¤¥óµ­Ï¿
logins_from=¥í¥°¥¤¥ó¸µ
logins_tty=TTY
logins_in=¥í¥°¥¤¥óÆü»þ
logins_out=¥í¥°¥¢¥¦¥ÈÆü»þ
logins_for=¥í¥°¥¤¥ó»þ´Ö
logins_still=¥í¥°¥¤¥óÃæ
logins_none=¥í¥°¥¤¥ó¤Ïµ­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
logins_elist=¥í¥°¥¤¥óµ­Ï¿¤òÉ½¼¨¤¹¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
logins_elistu='$1'¤Î¥í¥°¥¤¥óµ­Ï¿¤ò¸«¤ëµö²Ä¤¬¤¢¤ê¤Þ¤»¤ó
logins_local=¥í¡¼¥«¥ë

udel_title=¥æ¡¼¥¶¤Îºï½ü
udel_err=¥æ¡¼¥¶¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
udel_euser=¤³¤Î¥æ¡¼¥¶¤òºï½ü¤Ç¤­¤Þ¤»¤ó
udel_ealready=¤³¤Î¥æ¡¼¥¶¤Ï¤¹¤Ç¤Ëºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹!
udel_echanged=¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤¬ÊÑ¹¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¥æ¡¼¥¶°ìÍ÷¤ËÌá¤Ã¤Æ¡¢¤â¤¦°ìÅÙ¤³¤Î¥æ¡¼¥¶¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£
udel_other=Â¾¤Î¥â¥¸¥å¡¼¥ë¤«¤éºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
udel_pass=¥Ñ¥¹¥ï¡¼¥É¥Õ¥¡¥¤¥ë¤Î¹àÌÜ¤òºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
udel_groups=¥°¥ë¡¼¥×¤«¤éºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
udel_ugroup=¤³¤Î¥æ¡¼¥¶¤Î¥°¥ë¡¼¥×¤òºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
udel_home=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
udel_done=.. ´°Î»¤·¤Þ¤·¤¿
udel_sure=¥æ¡¼¥¶$1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«? ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê$2¤Ë¤Ï$3 KB¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹
udel_sure2=¥æ¡¼¥¶$1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?
udel_del1=¥æ¡¼¥¶¤òºï½ü
udel_del2=¥æ¡¼¥¶¤È¤½¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü
udel_others=·Ù¹ð! ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê$1¤Ë¤ÏÂ¾¤Î¥æ¡¼¥¶¤¬½êÍ­¤¹¤ë¥Õ¥¡¥¤¥ë¤¬$2¸Ä¤¢¤ê¤Þ¤¹¡£

gdel_title=¥°¥ë¡¼¥×¤Îºï½ü
gdel_err=¥°¥ë¡¼¥×¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
gdel_egroup=¤³¤Î¥°¥ë¡¼¥×¤òºï½ü¤Ç¤­¤Þ¤»¤ó
gdel_ealready=¤³¤Î¥°¥ë¡¼¥×¤Ï¤¹¤Ç¤Ëºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹!
gdel_group=¥°¥ë¡¼¥×¥Õ¥¡¥¤¥ë¤Î¹àÌÜ¤òºï½ü¤·¤Æ¤¤¤Þ¤¹ ..
gdel_done=.. ´°Î»¤·¤Þ¤·¤¿
gdel_eprimary=¤³¤Î¥°¥ë¡¼¥×¤Ï¥æ¡¼¥¶$1¤Î¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×¤Ç¤¹
gdel_sure=¥°¥ë¡¼¥×$1¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?
gdel_del=¥°¥ë¡¼¥×¤òºï½ü

many_title=Ê£¿ô¤Î¥æ¡¼¥¶¤ÎºîÀ®
many_desc=¤³¤Î¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤ä¥í¡¼¥«¥ë¤Ë¤¢¤ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò¸µ¤Ë¤·¤ÆÊ£¿ô¤Î¥æ¡¼¥¶¤ò°ìÅÙ¤ËºîÀ®¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢²¼µ­¤Î·Á¼°¤Ç1¹Ô¤Ë1¥æ¡¼¥¶¤º¤Ä»ØÄê¤·¤Þ¤¹:
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=<tt>uid</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¤Þ¤Þ¤Î¾ì¹ç¡¢Webmin¤¬UID¤ò¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£<tt>gid</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¾ì¹ç¡¢¥æ¡¼¥¶Ì¾¤ÈÆ±¤¸Ì¾Á°¤Î¿·¤·¤¤¥°¥ë¡¼¥×¤òWebmin¤¬ºîÀ®¤·¤Þ¤¹¡£<tt>username</tt>¡¢<tt>homedir</tt>¡¢<tt>shell</tt>¤Î³Æ¥Õ¥£¡¼¥ë¥É¤Ï³Æ¥æ¡¼¥¶¤´¤È¤ËÉ¬¤º»ØÄê¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎÂ¾¤Î¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ë¤Ç¤­¤Þ¤¹¡£
many_descpass=<tt>passwd</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¾ì¹ç¡¢¥æ¡¼¥¶¤Ë¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÏÀßÄê¤µ¤ì¤Þ¤»¤ó¡£<tt>passwd</tt>¥Õ¥£¡¼¥ë¥É¤Ë<tt>x</tt>¤Î¤ß¤¬»ØÄê¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥¢¥«¥¦¥ó¥È¤Ï¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤Î¥Æ¥­¥¹¥È¤¬Ê¿Ê¸¥Ñ¥¹¥ï¡¼¥É¤È¤ß¤Ê¤µ¤ì¡¢°Å¹æ²½¤µ¤ì¤Þ¤¹¡£
many_file=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¿·µ¬¥æ¡¼¥¶¥Õ¥¡¥¤¥ë
many_local=¥í¡¼¥«¥ë¤Ë¤¢¤ë¿·µ¬¥æ¡¼¥¶¥Õ¥¡¥¤¥ë
many_makehome=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¤«?
many_copy=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Þ¤¹¤«?
many_upload=¥æ¡¼¥¶¤òºîÀ®
many_elocal=¥í¡¼¥«¥ë¤Ë¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
many_efile=¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
many_elen=$1¹ÔÌÜ¤Ë$2¤Ä¤Î¥Õ¥£¡¼¥ë¥É¤¬¤¢¤ê¤Þ¤»¤ó
many_eline=$1¹ÔÌÜ¤Ë¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
many_euser=$1¹ÔÌÜ¤Ë½ÅÊ£¤·¤¿¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤¹ : $2
many_egid=$1¹ÔÌÜ¤ËÌµ¸ú¤ÊGID¤¬¤¢¤ê¤Þ¤¹ : $2
many_ehome=$1¹ÔÌÜ¤ËÌµ¸ú¤Ê¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ê¤Þ¤¹ : $2
many_eshell=$1¹ÔÌÜ¤ËÌµ¸ú¤Ê¥·¥§¥ë¤¬¤¢¤ê¤Þ¤¹ : $2
many_emkdir=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê$1¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿ : $2
many_egtaken=$1¹ÔÌÜ¤Î¥°¥ë¡¼¥×Ì¾¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹ : $2
many_ok=¥æ¡¼¥¶$1¤òºîÀ®¤·¤Þ¤·¤¿

acl_uedit=ÊÔ½¸²ÄÇ½¤ÊUnix¥æ¡¼¥¶
acl_uedit_all=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_uedit_none=¤Ê¤·
acl_uedit_only=ÁªÂò¤·¤¿¥æ¡¼¥¶¤Î¤ß
acl_uedit_except=ÁªÂò¤·¤¿¥æ¡¼¥¶°Ê³°¤Î¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_uedit_uid=ÆÃÄê¤ÎUIDÈÏ°ÏÆâ¤Î¥æ¡¼¥¶
acl_uedit_group=ÆÃÄê¤Î¥°¥ë¡¼¥×¤ËÂ°¤¹¤ë¥æ¡¼¥¶
acl_ucreate=¿·¤·¤¤¥æ¡¼¥¶¤ÎºîÀ®¤òµö²Ä¤·¤Þ¤¹¤«?
acl_uid=¿·¤·¤¤¥æ¡¼¥¶¤ä½¤Àµ¤·¤¿¥æ¡¼¥¶¤ÎUID
acl_umultiple=Ê£¿ô¤Î¥æ¡¼¥¶¤¬Æ±¤¸UID¤ò»ý¤Æ¤ë¤è¤¦¤Ë¤¹¤ë
acl_ugroups=¿·¤·¤¤¥æ¡¼¥¶¤ä½¤Àµ¤·¤¿¥æ¡¼¥¶¤ËÀßÄê²ÄÇ½¤Ê¥°¥ë¡¼¥×
acl_all=¤¹¤Ù¤Æ
acl_shells=¿·¤·¤¤¥æ¡¼¥¶¤ä½¤Àµ¤·¤¿¥æ¡¼¥¶¤ËÀßÄê²ÄÇ½¤Ê¥·¥§¥ë
acl_any=¤¹¤Ù¤Æ
acl_listed=°ìÍ÷¤Ç»ØÄê..
acl_home=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òÇÛÃÖ²ÄÇ½¤Ê¾ì½ê
acl_autohome=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾ï¤Ë¥æ¡¼¥¶Ì¾¤ÈÆ±¤¸
acl_gedit=ÊÔ½¸²ÄÇ½¤ÊUnix¥°¥ë¡¼¥×
acl_gedit_all=¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
acl_gedit_none=¤Ê¤·
acl_gedit_only=ÁªÂò¤·¤¿¥°¥ë¡¼¥×¤Î¤ß
acl_gedit_except=ÁªÂò¤·¤¿¥°¥ë¡¼¥×°Ê³°¤Î¤¹¤Ù¤Æ¤Î¥°¥ë¡¼¥×
acl_gedit_gid=ÆÃÄê¤ÎGIDÈÏ°ÏÆâ¤Î¥°¥ë¡¼¥×
acl_gcreate=¿·¤·¤¤¥°¥ë¡¼¥×¤ÎºîÀ®¤òµö²Ä¤·¤Þ¤¹¤«?
acl_gnew=¿·¤·¤¤¥æ¡¼¥¶ÍÑ¤Î¥°¥ë¡¼¥×¤Î¤ß
acl_gid=¿·¤·¤¤¥°¥ë¡¼¥×¤ä½¤Àµ¤·¤¿¥°¥ë¡¼¥×¤ÎGID
acl_gmultiple=Ê£¿ô¤Î¥°¥ë¡¼¥×¤¬Æ±¤¸GID¤ò»ý¤Æ¤ë¤è¤¦¤Ë¤¹¤ë
acl_logins=¥í¥°¥¤¥óµ­Ï¿¤òÉ½¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¥æ¡¼¥¶
acl_lnone=¤Ê¤·
acl_lall=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶
acl_epeopt=¥Ñ¥¹¥ï¡¼¥ÉÍ­¸ú´ü¸Â¤Î¥ª¥×¥·¥ç¥ó¤ÎÊÔ½¸¤òµö²Ä¤·¤Þ¤¹¤«?
acl_egp=¥°¥ë¡¼¥×¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÊÔ½¸¤òµö²Ä¤·¤Þ¤¹¤«?

log_urename=¥æ¡¼¥¶$1¤ÎÌ¾Á°¤ò$2¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_umodify=¥æ¡¼¥¶$1¤ò½¤Àµ¤·¤Þ¤·¤¿
log_ucreate=¥æ¡¼¥¶$1¤òºîÀ®¤·¤Þ¤·¤¿
log_udelete=¥æ¡¼¥¶$1¤òºï½ü¤·¤Þ¤·¤¿
log_udeletehome=¥æ¡¼¥¶$1¤È¥Ç¥£¥ì¥¯¥È¥ê$2¤òºï½ü¤·¤Þ¤·¤¿
log_gmodify=¥°¥ë¡¼¥×$1¤ò½¤Àµ¤·¤Þ¤·¤¿
log_gcreate=¥°¥ë¡¼¥×$1¤òºîÀ®¤·¤Þ¤·¤¿
log_gdelete=¥°¥ë¡¼¥×$1¤òºï½ü¤·¤Þ¤·¤¿

batch_title=¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô
batch_desc=¤³¤Î¥Õ¥©¡¼¥à¤Ç¤Ï¥¢¥Ã¥×¥í¡¼¥ÉºÑ¤ß¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥í¡¼¥«¥ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é°ìÅÙ¤ËÂ¿¿ô¤Î¥æ¡¼¥¶¤òºîÀ®/ÊÑ¹¹/ºï½ü¤Ç¤­¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤Î³Æ¹Ô¤ÏºÇ½é¤Î¥Õ¥£¡¼¥ë¥É¤Ë¤è¤êÆ°ºî¤ò»ØÄê¤·¤Þ¤¹¡£¹Ô¥Õ¥©¡¼¥Þ¥Ã¥È:
batch_desc2=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>delete</b>:username
batch_desc1=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>delete</b>:username
batch_desc0=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>delete</b>:username
batch_descafter=<b>create</b>¹Ô¤Ç<tt>uid</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¤Þ¤Þ¤Î¾ì¹ç¡¢ Webmin¤ÏUID¤ò¼«Æ°Åª¤Ë³ä¤êÅö¤Æ¤Þ¤¹¡£<tt>gid</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¾ì¹ç¡¢ Webmin¤Ï¥æ¡¼¥¶¤ÈÆ±¤¸Ì¾Á°¤Î¿·¤·¤¤¥°¥ë¡¼¥×¤òºîÀ®¤·¤Þ¤¹¡£<tt>username</tt>¡¢ <tt>homedir</tt>¡¢¤ª¤è¤Ó<tt>shell</tt>¥Õ¥£¡¼¥ë¥É¤Ï³Æ¥æ¡¼¥¶¤ËÂÐ¤·Äó¶¡¤µ¤ì¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎÂ¾¤Î¤¹¤Ù¤Æ¤Î¥Õ¥£¡¼¥ë¥É¤Ï¶õ¤Ç¤¢¤ë¤³¤È¤òµö²Ä¤µ¤ì¤Þ¤¹¡£<tt>passwd</tt>¥Õ¥£¡¼¥ë¥É¤¬¶õ¤Î¾ì¹ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Ï¥æ¡¼¥¶¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó¡£Ê¸»ú<tt>x</tt>¤Î¤ß¤ò´Þ¤à¾ì¹ç¤Ï¡¢¥¢¥«¥¦¥ó¥È¤¬¥í¥Ã¥¯¤µ¤ì¤Þ¤¹¡£¤½¤ì°Ê³°¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤ÎÊ¸»úÎó¤Ï¥Õ¥£¡¼¥ë¥É¤Î¥Æ¥­¥¹¥È¤¬Ê¿Ê¸¥Ñ¥¹¥ï¡¼¥É¤È¤ß¤Ê¤µ¤ì¡¢°Å¹æ²½¤µ¤ì¤Þ¤¹¡£
batch_descafter2=<b>modify</b>¹Ô¤Ç¤Ï¶õ¤Î¥Õ¥£¡¼¥ë¥É¤Ï³ºÅö¤Î¥æ¡¼¥¶¤ÎÂ°À­¤¬ÊÑ¹¹¤µ¤ì¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£
batch_file=¥¢¥Ã¥×¥í¡¼¥ÉºÑ¤ß¤Î¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë
batch_local=¥í¡¼¥«¥ë¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë
batch_makehome=ºîÀ®¤·¤¿¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Þ¤¹¤«?
batch_copy=¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤¿¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥³¥Ô¡¼¤·¤Þ¤¹¤«?
batch_movehome=ÊÑ¹¹¤·¤¿¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÌ¾Á°¤òÊÑ¹¹¤·¤Þ¤¹¤«?
batch_chuid=ÊÑ¹¹¤·¤¿¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¤ÎUID¤òÊÑ¹¹¤·¤Þ¤¹¤«?
batch_chgid=ÊÑ¹¹¤·¤¿¥æ¡¼¥¶¤Î¥Õ¥¡¥¤¥ë¤ÎGID¤òÊÑ¹¹¤·¤Þ¤¹¤«?
batch_delhome=ºï½ü¤·¤¿¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤¹¤«?
batch_upload=¥Ð¥Ã¥Á¤ò¼Â¹Ô
batch_elocal=¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤Ï¤¢¤ê¤Þ¤»¤ó
batch_efile=¥¢¥Ã¥×¥í¡¼¥É¤¹¤ë¥Õ¥¡¥¤¥ë¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
batch_elen=¹Ô$1¤Ï$2¥Õ¥£¡¼¥ë¥É¤ò´Þ¤ß¤Þ¤»¤ó
batch_eline=¹Ô$1¤Î¥æ¡¼¥¶Ì¾¤¬¤¢¤ê¤Þ¤»¤ó
batch_euser=¹Ô$1¤Î¥æ¡¼¥¶Ì¾¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹: $2
batch_egid=¹Ô$1¤ÎGID¤¬Ìµ¸ú¤Ç¤¹: $2
batch_ehome=$1¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤¬Ìµ¸ú¤Ç¤¹: $2
batch_eshell=¹Ô$1¤Î¥·¥§¥ë¤¬Ìµ¸ú¤Ç¤¹: $2
batch_emkdir=¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê$1¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
batch_egtaken=¥°¥ë¡¼¥×Ì¾¤Ï¹Ô$1¤Ç¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹: $2
batch_eaction=¹Ô$1¤ÎÆ°ºî¤ÏÌµ¸ú¤Ç¤¹: $2
batch_enouser=¹Ô$1¤Î¥æ¡¼¥¶¤ÏÂ¸ºß¤·¤Þ¤»¤ó: $2
batch_emove=¹Ô$1¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤ò°ÜÆ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2
batch_created=¥æ¡¼¥¶$1¤òºîÀ®¤·¤Þ¤·¤¿
batch_deleted=¥æ¡¼¥¶$1¤òºï½ü¤·¤Þ¤·¤¿
batch_modified=¥æ¡¼¥¶$1¤òÊÑ¹¹¤·¤Þ¤·¤¿
  07070100078f15000081a40000000000000002000000013d1fe2c000002df0000000200000000000000000000000000000001f00000003reloc/useradmin/lang/ko_KR.euc    index_title=»ç¿ëÀÚ ¹× ±×·ì
index_toomany=½Ã½ºÅÛ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹¾Æ¼­ ÇÑ ÆäÀÌÁö¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù
index_find=»ç¿ëÀÚ Ã£±â
index_gtoomany=½Ã½ºÅÛ ±×·ìÀÌ ³Ê¹« ¸¹¾Æ¼­ ÇÑ ÆäÀÌÁö¿¡ Ç¥½ÃÇÒ ¼ö ¾ø½À´Ï´Ù
index_gfind=±×·ì Ã£±â
index_ugroup=ÁÖ ±×·ì
index_users=·ÎÄÃ »ç¿ëÀÚ
index_notusers=ÀÌ ½Ã½ºÅÛ¿¡¼­´Â »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
index_createuser=»õ »ç¿ëÀÚ ÀÛ¼º
index_batch=¹èÄ¡ ÆÄÀÏ¿¡¼­ »ç¿ëÀÚ ÀÛ¼º, ¼öÁ¤ ¹× »èÁ¦
index_nomoreusers=»ç¿ëÀÚ¸¦ ´õ ÀÌ»ó ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
index_groups=·ÎÄÃ ±×·ì
index_notgroups=ÀÌ ½Ã½ºÅÛ¿¡¼­´Â ±×·ìÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
index_creategroup=»õ ±×·ì ÀÛ¼º
index_nomoregroups=±×·ìÀ» ´õ ÀÌ»ó ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
index_logins=·Î±×ÀÎ Ç¥½Ã
index_return=»ç¿ëÀÚ ¹× ±×·ì ¸ñ·Ï
index_equals=°°À½
index_matches=ÀÏÄ¡ÇÔ
index_nequals=°°Áö ¾ÊÀ½
index_nmatches=ÀÏÄ¡ÇÏÁö ¾ÊÀ½

search_title=°Ë»ö °á°ú
search_notfound=ÀÏÄ¡ÇÏ´Â »ç¿ëÀÚ°¡ ¾ø½À´Ï´Ù
search_gnotfound=ÀÏÄ¡ÇÏ´Â ±×·ìÀÌ ¾ø½À´Ï´Ù

uedit_title=»ç¿ëÀÚ ÆíÁý
uedit_title2=»ç¿ëÀÚ ÀÛ¼º
uedit_details=»ç¿ëÀÚ ¼¼ºÎ Á¤º¸
user=»ç¿ëÀÚ ÀÌ¸§
uid=»ç¿ëÀÚ ID
real=½ÇÁ¦ ÀÌ¸§
pass=¾ÏÈ£
none1=Ã³À½ ·Î±×ÀÎÇÒ ¶§ ¹¯±â
none2=¾ÏÈ£ ÇÊ¿ä ¾øÀ½
nologin=Çã¿ëµÈ ·Î±×ÀÎ ¾øÀ½
encrypted=¹Ì¸® ¾ÏÈ£È­µÈ ¾ÏÈ£
nochange=º¯°æÇÏÁö ¾ÊÀº »óÅÂ·Î À¯Áö
clear=ÀÏ¹Ý ¾ÏÈ£
home=È¨ µð·ºÅä¸®
uedit_auto=ÀÚµ¿
shell=½©
uedit_other=±× ¿Ü..
uedit_passopts=¾ÏÈ£ ¿É¼Ç
change2=¾ÏÈ£ º¯°æ ½Ã°£
expire2=°èÁ¤ ¸¸·á ½Ã°£
class=·Î±×ÀÎ Å¬·¡½º
change=º¯°æµÈ ¾ÏÈ£
flags=°èÁ¤ ÇÃ·¡±×
uedit_never=»ç¿ë ¾ÈÇÔ
uedit_unknown=¾Ë ¼ö ¾øÀ½
expire=¸¸·á ³¯Â¥
min=ÃÖ¼Ò ±â°£(ÀÏ)
max=ÃÖ´ë ±â°£(ÀÏ)
warn=°æ°í ±â°£(ÀÏ)
inactive=ºñÈ°¼º ±â°£(ÀÏ)
uedit_gmem=±×·ì ±¸¼º¿ø
group=ÁÖ ±×·ì
uedit_newg=»õ ±×·ì
uedit_oldg=±âÁ¸ ±×·ì
uedit_2nd=º¸Á¶ ±×·ì
onsave=ÀúÀå ½Ã..
uedit_movehome=º¯°æ ½Ã È¨ µð·ºÅä¸®¸¦ ÀÌµ¿ÇÕ´Ï±î?
uedit_chuid=ÆÄÀÏÀÇ »ç¿ëÀÚ ID¸¦ º¯°æÇÕ´Ï±î?
uedit_allfiles=¸ðµç ÆÄÀÏ
chgid=ÆÄÀÏÀÇ ±×·ì ID¸¦ º¯°æÇÕ´Ï±î?
uedit_oncreate=ÀÛ¼º ½Ã..
uedit_makehome=È¨ µð·ºÅä¸®¸¦ ÀÛ¼ºÇÕ´Ï±î?
uedit_copy=È¨ µð·ºÅä¸®¿¡ ÆÄÀÏÀ» º¹»çÇÕ´Ï±î?
uedit_logins=·Î±×ÀÎ Ç¥½Ã
uedit_mail=ÀüÀÚ ¸ÞÀÏ ÀÐ±â
uedit_ecreate=»õ »ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
uedit_eedit=ÀÌ »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
uedit_admin=·çÆ® »ç¿ëÀÚ¸¸ ¾ÏÈ£¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù
uedit_admchg=»ç¿ëÀÚ°¡ »õ ¾ÏÈ£¸¦ ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
uedit_nocheck=¾ÏÈ£ Á¦ÇÑÀ» ¼±ÅÃÇÏÁö ¸¶½Ê½Ã¿À

usave_err=»ç¿ëÀÚ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
usave_eedit=ÀÌ »ç¿ëÀÚ¸¦ ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
usave_ecreate=»õ »ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
usave_ebadname='$1'Àº(´Â) À¯È¿ÇÑ »ç¿ëÀÚ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù 
usave_einuse=»ç¿ëÀÚ ÀÌ¸§ '$1'ÀÌ(°¡) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
usave_einuse_a=»ç¿ëÀÚ ÀÌ¸§ '$1'ÀÌ(°¡) ¸ÞÀÏ º°ÄªÀ¸·Î ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
usave_einuseg=±×·ì ÀÌ¸§ '$1'ÀÌ(°¡) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
usave_erename=»ç¿ëÀÚ ÀÌ¸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù
usave_euid='$1'Àº(´Â) À¯È¿ÇÑ UID°¡ ¾Æ´Õ´Ï´Ù 
usave_elowuid=UID´Â $1º¸´Ù Å©°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
usave_ehiuid=UID´Â $1º¸´Ù ÀÛ°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
usave_euidused=»ç¿ëÀÚ $1ÀÌ(°¡) UID $2À»(¸¦) ÀÌ¹Ì »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù
usave_ereal='$1'Àº(´Â) À¯È¿ÇÑ ½ÇÁ¦ ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
usave_ehome='$1'Àº(´Â) À¯È¿ÇÑ È¨ µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù 
usave_ehomepath=È¨ µð·ºÅä¸® $1À»(¸¦) ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
usave_eshell='$1'Àº(´Â) Çã¿ë °¡´ÉÇÑ ½©ÀÌ ¾Æ´Õ´Ï´Ù
usave_egid='$1'Àº(´Â) À¯È¿ÇÑ ±×·ìÀÌ ¾Æ´Õ´Ï´Ù 
usave_egcreate=»õ »ç¿ëÀÚÀÇ »õ ±×·ìÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
usave_eprimary=ÁÖ ±×·ì $1¿¡ ÀÌ »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù
usave_esecondary=º¸Á¶ ±×·ì $1¿¡ ÀÌ »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ¼ö ¾ø½À´Ï´Ù
usave_eprimaryr=ÁÖ ±×·ì $1¿¡¼­ ÀÌ »ç¿ëÀÚ¸¦ Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù
usave_esecondaryr=º¸Á¶ ±×·ì $1¿¡¼­ ÀÌ »ç¿ëÀÚ¸¦ Á¦°ÅÇÒ ¼ö ¾ø½À´Ï´Ù
usave_emin='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ¼Ò º¯°æ ±â°£ÀÌ ¾Æ´Õ´Ï´Ù
usave_emax='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ´ë º¯°æ ±â°£ÀÌ ¾Æ´Õ´Ï´Ù
usave_ewarn='$1'Àº(´Â) À¯È¿ÇÑ °æ°í ±â°£ÀÌ ¾Æ´Õ´Ï´Ù 
usave_einactive='$1'Àº(´Â) À¯È¿ÇÑ ºñÈ°¼º ±â°£ÀÌ ¾Æ´Õ´Ï´Ù 
usave_eexpire=Àß¸øµÈ ¸¸·á ³¯Â¥
usave_echange=Àß¸øµÈ º¯°æ ³¯Â¥
usave_eclass='$1'Àº(´Â) À¯È¿ÇÑ ·Î±×ÀÎ Å¬·¡½º°¡ ¾Æ´Õ´Ï´Ù 
usave_emove=È¨ µð·ºÅä¸®¸¦ ÀÌµ¿ÇÏÁö ¸øÇß½À´Ï´Ù: $1
usave_emkdir=È¨ µð·ºÅä¸®¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù: $1
usave_echown=È¨ µð·ºÅä¸®¸¦ chownÇÒ ¼ö ¾ø½À´Ï´Ù: $1
usave_echmod=È¨ µð·ºÅä¸®¸¦ chmodÇÒ ¼ö ¾ø½À´Ï´Ù: $1

gedit_title=±×·ì ÆíÁý
gedit_title2=±×·ì ÀÛ¼º
gedit_details=±×·ì ¼¼ºÎ Á¤º¸
gedit_group=±×·ì ÀÌ¸§
gedit_gid=±×·ì ID
gedit_members=±¸¼º¿ø
gedit_homedirs=È¨ µð·ºÅä¸®
gedit_allfiles=¸ðµç ÆÄÀÏ
gedit_ecreate=»õ ±×·ìÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
gedit_eedit=ÀÌ ±×·ìÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù

gsave_err=±×·ìÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
gsave_eedit=ÀÌ ±×·ìÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù
gsave_ecreate=»õ ±×·ìÀ» ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù
gsave_ebadname='$1'Àº(´Â) À¯È¿ÇÑ ±×·ì ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
gsave_einuse=±×·ì ÀÌ¸§ '$1'ÀÌ(°¡) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù
gsave_egid='$1'Àº(´Â) À¯È¿ÇÑ GID°¡ ¾Æ´Õ´Ï´Ù 
usave_elowgid=GID´Â $1º¸´Ù Å©°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
usave_ehigid=GID´Â $1º¸´Ù ÀÛ°Å³ª °°¾Æ¾ß ÇÕ´Ï´Ù
usave_egidused=±×·ì $1ÀÌ(°¡) GID $2À»(¸¦) ÀÌ¹Ì »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù
usave_efromroot=·çÆ®(/)¿¡¼­ È¨ µð·ºÅä¸®¸¦ ÀÌµ¿ÇÒ ¼ö ¾ø½À´Ï´Ù
usave_etoroot=·çÆ®(/)·Î È¨ µð·ºÅä¸®¸¦ ÀÌµ¿ÇÒ ¼ö ¾ø½À´Ï´Ù

logins_title=±â·ÏµÈ ·Î±×ÀÎ
logins_head=$1ÀÇ ±â·ÏµÈ ·Î±×ÀÎ
logins_from=·Î±×ÀÎ ½ÃÀÛ À§Ä¡
logins_tty=TTY
logins_in=·Î±×ÀÎ À§Ä¡
logins_out=·Î±×¾Æ¿ô À§Ä¡
logins_for=On For
logins_still=¿©ÀüÈ÷ ·Î±×ÀÎµÊ
logins_none=±â·ÏµÈ ·Î±×ÀÎ ¾øÀ½
logins_elist=·Î±×ÀÎÀ» ³ª¿­ÇÒ ¼ö ¾ø½À´Ï´Ù
logins_elistu='$1'ÀÇ ·Î±×ÀÎÀ» ³ª¿­ÇÒ ¼ö ¾ø½À´Ï´Ù
logins_local=·ÎÄÃ

udel_title=»ç¿ëÀÚ »èÁ¦
udel_err=»ç¿ëÀÚ¸¦ »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
udel_euser=ÀÌ »ç¿ëÀÚ¸¦ »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
udel_ealready=ÀÌ »ç¿ëÀÚ°¡ ÀÌ¹Ì »èÁ¦µÇ¾ú½À´Ï´Ù!
udel_echanged=¾ÏÈ£ ÆÄÀÏÀÌ º¯°æµÇ¾ú½À´Ï´Ù. »ç¿ëÀÚ ¸ñ·ÏÀ¸·Î µ¹¾Æ°¡¼­ ÀÌ »ç¿ëÀÚ¸¦ ´Ù½Ã ¼±ÅÃÇÏ½Ê½Ã¿À.
udel_other=´Ù¸¥ ¸ðµâ¿¡¼­ »èÁ¦ Áß..
udel_pass=¾ÏÈ£ ÆÄÀÏ Ç×¸ñ »èÁ¦ Áß..
udel_groups=±×·ì¿¡¼­ Á¦°Å Áß..
udel_ugroup=ÀÌ »ç¿ëÀÚÀÇ ±×·ì »èÁ¦ Áß..
udel_home=È¨ µð·ºÅä¸® »èÁ¦ Áß..
udel_done=.. ¿Ï·á
udel_sure=»ç¿ëÀÚ $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? È¨ µð·ºÅä¸® $2¿¡ $3KBÀÇ ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù
udel_sure2=»ç¿ëÀÚ $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
udel_del1=»ç¿ëÀÚ »èÁ¦
udel_del2=»ç¿ëÀÚ ¹× È¨ µð·ºÅä¸® »èÁ¦
udel_others=°æ°í! È¨ µð·ºÅä¸® $1¿¡ ´Ù¸¥ »ç¿ëÀÚ ¼ÒÀ¯ÀÇ ÆÄÀÏÀÌ $2°³ ÀÖ½À´Ï´Ù.

gdel_title=±×·ì »èÁ¦
gdel_err=±×·ìÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
gdel_egroup=ÀÌ ±×·ìÀ» »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
gdel_ealready=ÀÌ ±×·ìÀÌ ÀÌ¹Ì »èÁ¦µÇ¾ú½À´Ï´Ù!
gdel_group=±×·ì ÆÄÀÏ Ç×¸ñ »èÁ¦ Áß..
gdel_done=.. ¿Ï·á
gdel_eprimary=»ç¿ëÀÚ $1ÀÇ ÁÖ ±×·ìÀÔ´Ï´Ù
gdel_sure=±×·ì $1À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î?
gdel_del=±×·ì »èÁ¦

many_title=¿©·¯ »ç¿ëÀÚ ÀÛ¼º
many_desc=ÀÌ ¾ç½ÄÀº ¾÷·ÎµåµÈ ÅØ½ºÆ® ÆÄÀÏÀÌ³ª ·ÎÄÃ ÅØ½ºÆ® ÆÄÀÏ¿¡¼­ ÇÑ ¹ø¿¡ ¿©·¯ ¸íÀÇ »ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇØ ÁÝ´Ï´Ù. ÆÄÀÏÀÇ °¢ Çà¿¡¼­ ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î »ç¿ëÀÚ¸¦ ÇÑ ¸í¾¿ ÁöÁ¤ÇÕ´Ï´Ù.
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=<tt>uid</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é WebminÀÌ UID¸¦ ÀÚµ¿À¸·Î ÁöÁ¤ÇÕ´Ï´Ù. <tt>gid</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é WebminÀÌ »ç¿ëÀÚ¿Í °°Àº ÀÌ¸§ÀÇ »õ ±×·ìÀ» ÀÛ¼ºÇÕ´Ï´Ù. <tt>username</tt>, <tt>homedir</tt> ¹× <tt>shell</tt> ÇÊµå´Â ¸ðµç »ç¿ëÀÚ¿¡ ´ëÇØ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ³ª¸ÓÁö ÇÊµå´Â ºñ¿öµÑ ¼ö ÀÖ½À´Ï´Ù. 
many_descpass=<tt>passwd</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é »ç¿ëÀÚ ¾ÏÈ£°¡ ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. ¹®ÀÚ <tt>x</tt>¸¸ »ç¿ëµÈ °æ¿ì °èÁ¤ÀÌ Àá±é´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÇÊµå¿¡ ÀÔ·ÂµÈ ÅØ½ºÆ®°¡ ÀÏ¹Ý ÅØ½ºÆ® ¾ÏÈ£·Î¼­ ¾ÏÈ£È­µË´Ï´Ù.
many_file=¾÷·ÎµåµÈ »õ »ç¿ëÀÚ ÆÄÀÏ
many_local=·ÎÄÃ »õ »ç¿ëÀÚ ÆÄÀÏ
many_makehome=È¨ µð·ºÅä¸®¸¦ ÀÛ¼ºÇÕ´Ï±î?
many_copy=È¨ µð·ºÅä¸®¿¡ ÆÄÀÏÀ» º¹»çÇÕ´Ï±î?
many_upload=»ç¿ëÀÚ ÀÛ¼º
many_elocal=·ÎÄÃ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
many_efile=¾÷·ÎµåÇÒ ÆÄÀÏÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
many_elen=$1 Çà¿¡ $2°³ ÇÊµå°¡ µé¾î ÀÖÁö ¾Ê½À´Ï´Ù
many_eline=$1 Çà¿¡ »ç¿ëÀÚ ÀÌ¸§ÀÌ ¾ø½À´Ï´Ù
many_euser=$1 Çà¿¡ Áßº¹µÈ »ç¿ëÀÚ ÀÌ¸§ÀÌ ÀÖ½À´Ï´Ù: $2
many_egid=$1 Çà¿¡ Àß¸øµÈ GID°¡ ÀÖ½À´Ï´Ù: $2
many_ehome=$1 Çà¿¡ Àß¸øµÈ È¨ µð·ºÅä¸®°¡ ÀÖ½À´Ï´Ù: $2
many_eshell=$1 Çà¿¡ Àß¸øµÈ ½©ÀÌ ÀÖ½À´Ï´Ù: $2
many_emkdir=È¨ µð·ºÅä¸® $1À»(¸¦) ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù: $2
many_egtaken=±×·ì ÀÌ¸§ÀÌ $1 Çà¿¡¼­ ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù: $2
many_ok=»ç¿ëÀÚ $1 ÀÛ¼ºµÊ

acl_uedit=ÆíÁýÇÒ ¼ö ÀÖ´Â Unix »ç¿ëÀÚ
acl_uedit_all=¸ðµç »ç¿ëÀÚ
acl_uedit_none=»ç¿ëÀÚ ¾øÀ½
acl_uedit_only=»ç¿ëÀÚ¸¸
acl_uedit_except=´ÙÀ½ »ç¿ëÀÚ¸¦ Á¦¿ÜÇÑ ¸ðµÎ
acl_uedit_uid=´ÙÀ½ ¹üÀ§ ³»ÀÇ UID¸¦ °¡Áø »ç¿ëÀÚ
acl_uedit_group=±×·ìÀÌ ÀÖ´Â »ç¿ëÀÚ
acl_ucreate=»õ »ç¿ëÀÚ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_uid=»õ »ç¿ëÀÚ³ª ¼öÁ¤µÈ »ç¿ëÀÚÀÇ UID
acl_umultiple=µÑ ÀÌ»óÀÇ »ç¿ëÀÚ°¡ µ¿ÀÏÇÑ UID¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù
acl_ugroups=»õ »ç¿ëÀÚ³ª ¼öÁ¤µÈ »ç¿ëÀÚÀÇ ±×·ìÀÌ Çã¿ëµË´Ï´Ù
acl_all=¸ðµÎ
acl_shells=»õ »ç¿ëÀÚ³ª ¼öÁ¤µÈ »ç¿ëÀÚÀÇ ½©ÀÌ Çã¿ëµË´Ï´Ù
acl_any=ÀÓÀÇ
acl_listed=³ª¿­µÈ Ç×¸ñ..
acl_home=È¨ µð·ºÅä¸®´Â ´ÙÀ½ÀÇ ¾Æ·¡¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù
acl_autohome=È¨ µð·ºÅä¸® ÀÌ¸§Àº Ç×»ó »ç¿ëÀÚ ÀÌ¸§°ú °°½À´Ï´Ù
acl_gedit=ÆíÁýÇÒ ¼ö ÀÖ´Â À¯´Ð½º ±×·ì
acl_gedit_all=¸ðµç ±×·ì
acl_gedit_none=±×·ì ¾øÀ½
acl_gedit_only=´ÙÀ½ ±×·ì¸¸
acl_gedit_except=´ÙÀ½ ±×·ìÀ» Á¦¿ÜÇÑ ¸ðµÎ
acl_gedit_gid=´ÙÀ½ ¹üÀ§ ³»ÀÇ GID¸¦ °¡Áø ±×·ì
acl_gcreate=»õ ±×·ìÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï±î?
acl_gnew=»õ »ç¿ëÀÚÀÇ °æ¿ì¸¸
acl_gid=»õ ±×·ìÀÌ³ª ¼öÁ¤µÈ ±×·ìÀÇ GID
acl_gmultiple=µÑ ÀÌ»óÀÇ ±×·ìÀÌ µ¿ÀÏÇÑ GID¸¦ °¡Áú ¼ö ÀÖ½À´Ï´Ù
acl_logins=·Î±×ÀÎÀ» Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù
acl_lnone=»ç¿ëÀÚ ¾øÀ½
acl_lall=¸ðµç »ç¿ëÀÚ
acl_epeopt=¾ÏÈ£ ¸¸·á ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?
acl_egp=±×·ì ¾ÏÈ£¸¦ ÆíÁýÇÒ ¼ö ÀÖ½À´Ï±î?

log_urename=»ç¿ëÀÚ ÀÌ¸§ÀÌ $1¿¡¼­ $2(À¸)·Î ¹Ù²ñ
log_umodify=»ç¿ëÀÚ $1 ¼öÁ¤µÊ
log_ucreate=»ç¿ëÀÚ $1 ÀÛ¼ºµÊ
log_udelete=»ç¿ëÀÚ $1 »èÁ¦µÊ
log_udeletehome=»ç¿ëÀÚ $1 ¹× µð·ºÅä¸® $2 »èÁ¦µÊ
log_gmodify=±×·ì $1 ¼öÁ¤µÊ
log_gcreate=±×·ì $1 ÀÛ¼ºµÊ
log_gdelete=±×·ì $1 »èÁ¦µÊ

batch_title=¹èÄ¡ ÆÄÀÏ ½ÇÇà
batch_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ¾÷·ÎµåµÈ ÅØ½ºÆ® ÆÄÀÏÀÌ³ª ·ÎÄÃ ÅØ½ºÆ® ÆÄÀÏ¿¡¼­ ÇÑ ¹ø¿¡ ¿©·¯ ¸íÀÇ »ç¿ëÀÚ¸¦ ÀÛ¼º, ¼öÁ¤ ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏÀÇ °¢ Çà¿¡¼­ Ã¹¹øÂ° ÇÊµå¿¡ µû¶ó ÃëÇÒ Á¶Ä¡¸¦ ÇÏ³ª¾¿ ÁöÁ¤ÇÕ´Ï´Ù. Çà Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
batch_desc2=<b>ÀÛ¼º</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>¼öÁ¤</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>»èÁ¦</b>:username
batch_desc1=<b>ÀÛ¼º</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>¼öÁ¤</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>»èÁ¦</b>:username
batch_desc0=<b>ÀÛ¼º</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>¼öÁ¤</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>»èÁ¦</b>:username
batch_descafter=<b>ÀÛ¼º</b> Çà¿¡¼­ <tt>uid</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é WebminÀÌ UID¸¦ ÀÚµ¿À¸·Î ÁöÁ¤ÇÕ´Ï´Ù. <tt>gid</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é WebminÀÌ »ç¿ëÀÚ¿Í °°Àº ÀÌ¸§ÀÇ »õ ±×·ìÀ» ÀÛ¼ºÇÕ´Ï´Ù. <tt>username</tt>, <tt>homedir</tt> ¹× <tt>shell</tt> ÇÊµå´Â ¸ðµç »ç¿ëÀÚ¿¡ ´ëÇØ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù. ³ª¸ÓÁö ÇÊµå´Â ºñ¿öµÑ ¼ö ÀÖ½À´Ï´Ù. <tt>passwd</tt> ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é »ç¿ëÀÚ ¾ÏÈ£°¡ ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. ¹®ÀÚ <tt>x</tt>¸¸ »ç¿ëµÈ °æ¿ì °èÁ¤ÀÌ Àá±é´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÇÊµå¿¡ ÀÔ·ÂµÈ ÅØ½ºÆ®°¡ ÀÏ¹Ý ÅØ½ºÆ® ¾ÏÈ£·Î¼­ ¾ÏÈ£È­µË´Ï´Ù.
batch_descafter2=<b>¼öÁ¤</b> ÇàÀÇ ÇÊµå°¡ ºñ¾î ÀÖÀ¸¸é ÇØ´ç »ç¿ëÀÚ ¼Ó¼ºÀÌ ¼öÁ¤µÇÁö ¾Ê¾ÒÀ½À» ÀÇ¹ÌÇÕ´Ï´Ù.
batch_file=¾÷·ÎµåµÈ ¹èÄ¡ ÆÄÀÏ
batch_local=·ÎÄÃ ¹èÄ¡ ÆÄÀÏ
batch_makehome=ÀÛ¼ºµÈ »ç¿ëÀÚÀÇ È¨ µð·ºÅä¸®¸¦ ÀÛ¼ºÇÕ´Ï±î?
batch_copy=ÀÛ¼ºµÈ »ç¿ëÀÚÀÇ È¨ µð·ºÅä¸®¿¡ ÆÄÀÏÀ» º¹»çÇÕ´Ï±î?
batch_movehome=¼öÁ¤µÈ »ç¿ëÀÚÀÇ È¨ µð·ºÅä¸® ÀÌ¸§À» ¹Ù²ß´Ï±î?
batch_chuid=¼öÁ¤µÈ »ç¿ëÀÚÀÇ ÆÄÀÏ¿¡¼­ UID¸¦ º¯°æÇÕ´Ï±î?
batch_chgid=¼öÁ¤µÈ »ç¿ëÀÚÀÇ ÆÄÀÏ¿¡¼­ GID¸¦ º¯°æÇÕ´Ï±î?
batch_delhome=»èÁ¦µÈ »ç¿ëÀÚÀÇ È¨ µð·ºÅä¸®¸¦ »èÁ¦ÇÕ´Ï±î?
batch_upload=¹èÄ¡ ½ÇÇà
batch_elocal=·ÎÄÃ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
batch_efile=¾÷·ÎµåÇÒ ÆÄÀÏÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
batch_elen=$1 Çà¿¡ $2°³ ÇÊµå°¡ µé¾î ÀÖÁö ¾Ê½À´Ï´Ù
batch_eline=$1 Çà¿¡ »ç¿ëÀÚ ÀÌ¸§ÀÌ ¾ø½À´Ï´Ù
batch_euser=$1 Çà¿¡ Áßº¹µÈ »ç¿ëÀÚ ÀÌ¸§ÀÌ ÀÖ½À´Ï´Ù: $2
batch_egid=$1 Çà¿¡ Àß¸øµÈ GID°¡ ÀÖ½À´Ï´Ù: $2
batch_ehome=$1 Çà¿¡ Àß¸øµÈ È¨ µð·ºÅä¸®°¡ ÀÖ½À´Ï´Ù: $2
batch_eshell=$1 Çà¿¡ Àß¸øµÈ ½©ÀÌ ÀÖ½À´Ï´Ù: $2
batch_emkdir=È¨ µð·ºÅä¸® $1À»(¸¦) ÀÛ¼ºÇÏÁö ¸øÇß½À´Ï´Ù: $2
batch_egtaken=±×·ì ÀÌ¸§ÀÌ $1 Çà¿¡¼­ ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù: $2
batch_eaction=$1 Çà¿¡ Àß¸øµÈ ÀÛ¾÷ÀÌ ÀÖ½À´Ï´Ù: $2
batch_enouser=$1 Çà¿¡ »ç¿ëÀÚ°¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù: $2
batch_emove=$1 Çà¿¡¼­ È¨ µð·ºÅä¸®¸¦ ÀÌµ¿ÇÏÁö ¸øÇß½À´Ï´Ù: $2
batch_created=»ç¿ëÀÚ $1 ÀÛ¼ºµÊ
batch_deleted=»ç¿ëÀÚ $1 »èÁ¦µÊ
batch_modified=»ç¿ëÀÚ $1 ¼öÁ¤µÊ
07070100078f16000081a40000000000000002000000013d1fe2c000003c0b000000200000000000000000000000000000001800000003reloc/useradmin/lang/nl   index_title=Gebruikers en Groepen
index_toomany=Er zijn teveel gebruikers in uw systeem om in één pagina weer te geven
index_find=Zoek gebruikers waarvan
index_gtoomany=Er zijn teveel groepen in uw systeem om in één pagina weer te geven
index_gfind=Zoek groepen waarvan
index_ugroup=Primaire Groep
index_users=Lokale Gebruikers
index_notusers=U ben niet gerechtigd om gebruikers op dit systeem te onderhouden
index_createuser=Voeg een nieuwe gebruiker toe
index_batch=Toevoegen, veranderen en verwijderen van gebruikers vanuit een batch bestand
index_nomoreusers=U mag geen gebruikers meer toevoegen
index_groups=Lokale Groepen
index_notgroups=U ben niet gerechtigd om groepen op dit systeem te onderhouden
index_creategroup=Voeg een nieuwe groep toe
index_nomoregroups=U mag geen groepen meer toevoegen
index_logins=Toon aanmeldingen van
index_return=lijst van gebruikers en groepen
index_equals=is gelijk aan
index_matches=komt overeen met
index_nequals=is ongelijk aan
index_nmatches=komt niet overeen met

search_title=Zoekreslultaten
search_notfound=Geen overeenkomstige gebruikers gevonden
search_gnotfound=Geen overeenkomstige groepen gevonden

uedit_title=Wijzig gebruiker
uedit_title2=Nieuwe Gebruiker
uedit_details=Details van gebruiker
user=Gebruikersnaam
uid=Gebruikers ID
real=Volledige naam
office=Kantoor
workph=Telefoon werk
homeph=Telefoon thuis
extra=Extra opties
pass=Wachtwoord
none1=Vragen bij eerste aanmelding
none2=Geen wachtwoord vereist
nologin=Aanmelden niet toegestaan
encrypted=Voorversleuteld wachtwoord
nochange=Onveranderd laten
clear=Normaal wachtwoord
home=Thuismap
uedit_auto=Automatisch
shell=Shell
uedit_other=Overige..
uedit_passopts=Wachtwoord Opties
change2=Wachtwoord is veranderd op
expire2=Wachtwoord verloopt op
class=Aanmeld klasse
change=Wachtwoord is veranderd op
flags=Account flags
uedit_never=Nooit
uedit_unknown=Onbekend
expire=Vervaldatum
min=Minimaal dagen geldig
min_weeks=Minimaal weken geldig
max=Maximaal dagen geldig
max_weeks=Maximaal weken geldig
warn=Dagen vooraf waarschuwen
inactive=Aantal dagen inactief
uedit_gmem=Groepslidmaatschap
group=Primaire groep
uedit_newg=Nieuw groep
uedit_oldg=Bestaande groep
uedit_2nd=Secundaire groepen
onsave=Bij het opslaan..
uedit_movehome=Thuismap verplaatsen indien veranderd?
uedit_chuid=Gebruikers ID van bestanden veranderen?
uedit_chgid=Groeps ID van bestanden veranderen?
uedit_allfiles=Alle bestanden
chgid=Groeps ID van bestanden veranderen?
uedit_oncreate=Bij het aanmaken..
uedit_makehome=Thuismap aanmaken?
uedit_copy=Bestanden naar thuismap kopiëren?
uedit_logins=Aanmeldingen tonen
uedit_mail=Lees Email
uedit_ecreate=U kunt geen gebruikers toevoegen
uedit_eedit=U kunt geen gebruikers veranderen
uedit_admin=Alleen root mag wachtwoorden wijzigen
uedit_admchg=Gebruiker moet een nieuw wachtwoord kiezen
uedit_cothers=Gebruiker toevoegen in andere modules?
uedit_mothers=Gebruiker wijzigen in andere modules?

usave_err=Opslaan van gebruikersgegevens mislukt
usave_eedit=U kunt deze gebruiker niet aanpassen
usave_ecreate=U kunt geen gebruikers toevoegen
usave_ebadname='$1' is geen geldige gebruikersnaam
usave_einuse=de gebruikersnaam '$1' bestaat al
usave_einuse_a=de gebruikersnaam '$1' bestaat al als mail alias
usave_einuseg==de groepsnaam '$1' bestaat al
usave_erename=U mag geen gebruikersnamen veranderen
usave_euid='$1' is geen geldige UID
usave_euuid=U mag de UID van gebruikers niet wijzigen
usave_elowuid=UID moet groter of gelijk zijn aan $1
usave_ehiuid=UID moet kleiner of gelijk zijn aan $1
usave_euidused=Gebruiker $1 heeft al UID $2
usave_euidused2=UID wordt al gebruikt
usave_ereal='$1' is geen geldige naam
usave_ehome='$1'is geen geldige thuismap
usave_ehomepath=U mag thuismap $1 niet aanmaken
usave_eshell='$1' is geen toegestane shell
usave_egid='$1' is geen geldige groep
usave_egcreate=U mag geen groepen toevoegen voor nieuwe gebruikers
usave_eprimary=U mag deze gebruiker niet aan primaire groep $1 toevoegen
usave_esecondary=U mag deze gebruiker niet aan secundaire groep $1 toevoegen
usave_eprimaryr=U mag deze gebruiker niet uit primaire groep $1 verwijderen
usave_esecondaryr=U mag deze gebruiker niet uit secundaire groep $1 verwijderen
usave_emin='$1' is geen geldige minimale wijzigingsperiode
usave_emax='$1' is geen geldige naximale wijzigingsperiode
usave_ewarn='$1' is geen geldige minimale waarschuwingsperiode
usave_einactive='$1' is geen geldige minimale inactieve periode
usave_eexpire=ongeldige vervaldatum
usave_echange=ongeldige wijzigingsdatum
usave_eclass='$1' is een ongeldige aanmeldingsklasse
usave_emove=verwijderen van thuismap: $1 mislukt
usave_emkdir=kon thuismap: $1 niet aanmaken
usave_echown=kon thuismap: $1 niet chown'en
usave_echmod=kon thuismap: $1 niet chmod'en
usave_eoffice=kantoor mag geen : teken bevatten
usave_eworkph=telefoon werk mag geen : teken bevatten
usave_ehomeph=telefoon thuis mag geen : teken bevatten
usave_emd5=Uw systeem heeft MD5 wachtwoord ingeschakeld, maar het perl MD5 module is niet geïnstalleerd.<p>Pas uw <a href='$1'>module configuratie</a> aan om het gebruik van versleutelde wachtwoorden af te dwingen.<p>U kunt ook Webmin het MD5 module laten <a href='$2'> downloaden en installeren</a>.

gedit_title=Groep Wijzigen
gedit_title2=Groep Aanmaken
gedit_details=Groep Details
gedit_group=Groepsnaam
gedit_gid=Groeps ID
gedit_members=Leden
gedit_homedirs=Thuismappen
gedit_allfiles=Alle bestanden
gedit_ecreate=U kunt geen nieuwe groep aanmaken
gedit_eedit=U kunt deze groep niet wijzigen

gsave_err=Opslaan van groepsgegevens mislukt
gsave_eedit=U mag deze groep niet bewerken
gsave_ecreate=U mag geen groepen toevoegen
gsave_ebadname='$1' is geen geldige groepsnaam
gsave_einuse=de groepsnaam '$1' wordt al gebruikt
gsave_egid='$1' is geen geldige groeps ID
gsave_eggid=U mag de GID van groepen niet wijzigen
usave_elowgid=GID  moet groter of gelijk zijn aan $1
usave_ehigid=GID moet kleiner of gelijk zijn aan $1
usave_egidused=Groep $1 heeft al GID $2
usave_efromroot=U kunt de thuismap niet verplaatsen van /
usave_etoroot=U kunt de thuismap niet verplaatsen naar /

logins_title=Vastgelegde aanmeldingen
logins_head=Vastgelegde aanmeldingen voor $1
logins_from=Aangemeld vanaf
logins_tty=TTY
logins_in=Aangemeld
logins_out=Afgemeld
logins_for=Aansluitduur
logins_still=Nog aangemeld
logins_none=Geen aanmeldingen vastgelegd
logins_elist=U mag geen aanmeldingen tonen
logins_elistu=U mag geen aanmeldingen tonen voor '$1'
logins_local=Lokaal

udel_title=Gebruiker Verwijderen
udel_err=Verwijderen gebruiker is mislukt
udel_euser=U mag deze gebruiker niet verwijderen
udel_ealready=Deze gebruiker is reeds verwijderd!
udel_echanged=Het wachtwoordbestand is veranderd. Ga terug naar de gebruikerslijst en selecteer deze gebruiker opnieuw.
udel_other=Aan het verwijderen in andere modules ..
udel_pass=De registratie uit het wachtwoordbestand verwijderen ..
udel_groups=Verwijderen uit groepen ..
udel_ugroup=De groep van deze gebruiker verwijderen ..
udel_home=De thuismap verwijderen ..
udel_done=.. Klaar
udel_sure=Weet u zeker dat u gebruiker $1 wilt verwijderen ? Thuismap $2 bevat $3 kB aan bestanden.
udel_sure2=Weet u zeker dat u gebruiker $1 wilt verwijderen ?
udel_del1=Verwijder gebruiker
udel_del2=Verwijder gebruiker en Thuismap
udel_others=LET OP! Thuismap $1 bevat $2 bestanden van andere gebruikers.
udel_dothers=Gebruiker in andere modules verwijderen?
udel_root=LET OP! Als de root-gebruiker is verwijderd is het mogelijk dat u geen administratie meer kunt doen.

gdel_title=Groep Verwijderen
gdel_err=Verwijderen groep is mislukt
gdel_egroup=U mag deze groep niet verwijderen
gdel_ealready=Deze groep is reeds verwijderd!
gdel_group=De groep uit het groepsbestand verwijderen ..
gdel_done=.. Klaar
gdel_eprimary=Dit is de primaire groep van gebruikerr $1
gdel_sure=Weet u zeker dat u groep $1 wilt verwijderen ?
gdel_del=Groep Verwijderen

many_title=Een Aantal Gebruikers Aanmaken
many_desc=Met dit formulier kunt u een aantal gebruikers in één keer aanmaken vanuit een 'upload' of een lokaal tekstbestand. Eén regel in het bestand specificeert één gebruiker in het volgende formaat &nbsp;:
many_desc2=gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:min:max:warn:inactief:vervalt
many_desc1=gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:klasse:wijzigt:vervalt
many_desc0=gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell
many_descafter=Als het <tt>uid</tt> veld niet wordt ingevuld, zal Webmin automatisch een UID toekennen. Als het <tt>gid</tt> veld niet wordt ingevuld, zal Webmin automatisch een nieuwe groep aanmaken met dezelfde naam als de gebruiker. De <tt>gebruikersnaam</tt>, <tt>thuismap</tt> en <tt>shell</tt> rubrieken moeten voor elke gebruiker worden opgegeven - alle andere rubrieken mogen leeg zijn. 
many_descpass=Als het <tt>wachtwoord</tt> veld niet wordt ingevuld, wordt er geen wachtwoord aan de gebruiker toegekend. Als het alleen de letter <tt>x</tt> bevat, wordt de gebruiker geblokkeerd. In alle andere gevallen wordt de tekst in het veld als wachtwoord in klare tekst geïnterpreteerd en versleuteld. 
many_file=Bestand met nieuwe gebruikers opgeladen
many_local=Lokaal bestand met nieuwe gebruikers
many_makehome=Thuismappen aanmaken?
many_copy=Bestanden naar thuismappen kopiëren?
many_upload=Gebruikers aanmaken
many_elocal=Lokaal bestand niet gevonden
many_efile=Er is geen bestand gekozen voor de 'upload'
many_elen=Regel $1 bevat geen $2 rubrieken
many_eline=Gebruikersnaam ontbreekt in regel $1
many_euser=Dubbele gebruikersnaam in regel $1 : $2
many_egid=Ongeldige GID in regel $1 : $2
many_ehome=Ongeldige thuismap in regel $1 : $2
many_eshell=Ongeldige shell in regel $1 : $2
many_emkdir=Aanmaken thuismap mislukt $1 : $2
many_egtaken=De groepsnaam wordt al gebruikt in regel $1 : $2
many_ok=Gebruiker $1 aangemaakt

acl_uedit=Unix gebruikers die kunnen worden gewijzigd
acl_uedit_all=Alle gebruikers
acl_uedit_none=Geen gebruikers
acl_uedit_only=Alleen gebruikers
acl_uedit_except=Alle gebruikers behalve
acl_uedit_uid=Gebruikers met UID's in de reeks
acl_uedit_group=Gebruikers met groepen
acl_uedit_sec=Secundaire groepen meenemen?
acl_uedit_this=Alleen deze gebruiker
acl_ucreate=Kan nieuwe gebruikers aanmaken?
acl_uid=UID's voor nieuwe of veranderde gebruikers
acl_umultiple=Méér dan één gebruiker kan dezelfde UID hebben
acl_uuid=UID van bestaande gebruiker kan worden gewijzigd
acl_ugroups=Toegestane groepen voor nieuwe of veranderde gebruikers
acl_all=Allemaal
acl_shells=Toegestane shells voor nieuwe of veranderde gebruikers
acl_any=Iedere
acl_listed=Vertoond..
acl_home=Thuismappen moeten zich bevinden onder
acl_autohome=Thuismap is altijd gelijk aan de gebruikersnaam
acl_gedit=Unix groepen die kunnen worden gewijzigd
acl_gedit_all=Alle groepen
acl_gedit_none=Geen groepen
acl_gedit_only=Alleen groepen
acl_gedit_except=Alle groepen behalve
acl_gedit_gid=Groepen met GID's in de reeks
acl_gcreate=Kan nieuwe groepen aanmaken?
acl_gnew=Alleen voor nieuwe gebruikers
acl_gid=GID's voor nieuwe of veranderde groepen
acl_gmultiple=Méér dan één groep kan dezelfde GID hebben
acl_ggid=GID van bestaande groep kan worden gewijzigd
acl_logins=Kan aanmeldingen tonen per
acl_lnone=Geen gebruikers
acl_lall=Alle gebruikers
acl_epeopt=Kan vervalopties wachtwoord aanpassen?
acl_egp=Kan wachtwoord van groepen aanpassen?
acl_saveopts=Toegestane opties bij opslaan
log_urename=Gebruikersnaam $1 veranderd in $2
log_umodify=Gebruiker $1 veranderd
log_ucreate=Gebruiker $1 aangemaakt
log_udelete=Gebruiker $1 verwijderd
log_udeletehome=Gebruiker $1 en map $2 verwijderd
log_gmodify=Groep $1 gewijzigd
log_gcreate=Groep $1 veranderd
log_gdelete=Groep $1 verwijderd
log_batch=Batch bestand $1 uitgevoerd
log_batch_l=Batch bestand $1 uitgevoerd ($2 aangemaakt, $3 gewijzigd, $4 verwijderd)
log_ubatch='Uploaded' Batch bestand uitgevoerd
log_ubatch_l='Uploaded' Batch bestand uitgevoerd ($2 aangemaakt, $3 gewijzigd, $4 verwijderd)

batch_title=Batch Bestand Uitvoeren
batch_desc=Met dit formulier kunt u een aantal gebruikers in één keer aanmaken, wijzigen of verwijderen vanuit een 'uploaded' of lokaal tekstbestand. Eén regel in het bestand specificeert één uit te voeren actie, afhankelijk van de eerste rubriek. De formaten zijn:
batch_desc2=<b>create</b>:gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:min:max:warn:inactief:vervalt<p><b>modify</b>:gebruikersnaam:nieuwe_gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:min:max:warn:inactief:vervalt<p><b>delete</b>:gebruikersnaam
batch_desc1=<b>create</b>:gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:klasse<p><b>modify</b>:gebruikersnaam:nieuwe_gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell:klasse<p><b>delete</b>:gebruikersnaam
batch_desc0=<b>create</b>:gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell<p><b>modify</b>:gebruikersnaam:nieuwe_gebruikersnaam:wachtwoord:UID:GID:volledige_naam:thuismap:shell<p><b>delete</b>:gebruikersnaam
batch_descafter=In <b>create</b> regels, als het <tt>uid</tt> veld leeg is, kent Webmin automatisch een UID toe. Als het <tt>gid</tt> veld leeg is,  maakt Webmin een nieuwe groep met dezelfde naam als de gebruiker . De <tt>gebruikersnaam</tt>, <tt>thuismap</tt> en <tt>shell</tt> rubriek moet voor elke gebruiker worden opgegeven - alle overige rubrieken mogen leeg zijn. Als het <tt>wachtwoord</tt> veld niet wordt ingevuld, wordt er geen wachtwoord aan de gebruiker toegekend. Als het alleen de letter <tt>x</tt> bevat, wordt de gebruiker geblokkeerd. In alle andere gevallen wordt de tekst in het veld als wachtwoord in klare tekst geïnterpreteerd en versleuteld. 
batch_descafter2=In <b>modify</b> regels, voor een lege rubriek wordt aangenomen dat de overeenkomstige eigenschap van de gebruiker niet moet worden gewijzigd.
batch_file='Uploaded' batch bestand
batch_local=Lokaal batch bestand

batch_others=Gebruikers aanmaken, wijzigen of verwijderen in andere modules?
batch_makehome=Thuismap maken voor aangemaakte gebruikers?
batch_copy=Bestanden kopiëren naar thuismap van aangemaakte gebruikers?
batch_movehome=Naam van thuismap van gewijzigde gebruikers veranderen?
batch_chuid=UID van bestanden van gewijzigde gebruikers veranderen?
batch_chgid=GID van bestanden van gewijzigde gebruikers veranderen?
batch_delhome=Thuismap maken van verwijderde gebruikers opruimen?
batch_upload=Voer batch uit
batch_elocal=Lokaal bestand onbekend
batch_efile=Geen 'upload' bestand gekozen
batch_elen=Regel $1 bevat geen $2 rubrieken
batch_eline=Gebruikersnaam ontbreekt in regel $1
batch_euser=Dubbele gebruikersnaam in regel $1 : $2
batch_egid=Ongeldige GID in regel $1 : $2
batch_ehome=Ongeldige thuismap in regel $1 : $2
batch_eshell=Ongeldige shell in regel $1 : $2
batch_emkdir=Mislukte aanmaak thuismap $1 : $2
batch_egtaken=Reeds eerder gebruikte groep in regel $1 : $2
batch_eaction=Ongeldige actie in regel $1 : $2
batch_enouser=gebruiker bestaat niet in regel $1 : $2
batch_emove=Mislukte verhuizing thuismap in regel $1 : $2
batch_created=Gebruiker $1 aangemaakt
batch_deleted=Gebruiker $1 verwijderd
batch_modified=Gebruiker $1 gewijzigd
batch_ecaccess=U mag de gebruiker niet aanmaken in regel $1 : $2
batch_emaccess=U mag de gebruiker niet wijzigen in regel $1 : $2
batch_edaccess=U mag de gebruiker niet verwijderen in regel $1 : $2
batch_crypt=Wachtwoorden reeds versleuteld?
 07070100078f17000081a40000000000000002000000013d1fe2c000003c9a000000200000000000000000000000000000001800000003reloc/useradmin/lang/pl   index_title=U¿ytkownicy i grupy
index_toomany=W&nbsp;systemie jest za du¿o u¿ytkowników, ¿eby ich pokazaæ na jednej stronie
index_find=Znajd¼ u¿ytkowników, których
index_gtoomany=W&nbsp;systemie jest za du¿o grup, ¿eby je pokazaæ na jednej stronie
index_gfind=Znajd¼ grupy, które
index_ugroup=Grupa podstawowa
index_users=U¿ytkownicy lokalni
index_notusers=Nie masz uprawnieñ do modyfikowania u¿ytkowników w&nbsp;tym systemie
index_createuser=Utwórz nowego u¿ytkownika
index_batch=Utwórz, zmieñ lub usuñ u¿ytkowników za pomoc± pliku wsadowego
index_nomoreusers=Nie wolno ci utworzyæ wiêcej u¿ytkowników
index_groups=Grupy Lokalne
index_notgroups=Nie masz uprawnieñ do modyfikowania grup w&nbsp;tym systemie
index_creategroup=Utwórz now± grupê
index_nomoregroups=Nie wolno ci utworzyæ wiêcej grup
index_logins=Poka¿ logowania u¿ytkownika
index_return=listy u¿ytkowników i&nbsp;grup
index_equals=jest
index_matches=zawiera
index_nequals=ró¿ni siê od
index_nmatches=nie zawiera

search_title=Wyniki poszukiwania
search_notfound=Nie znaleziono odpowiednich u¿ytkowników
search_gnotfound=Nie znaleziono odpowiednich grup

uedit_title=Zmieñ u¿ytkownika
uedit_title2=Utwórz u¿ytkownika
uedit_details=Dane u¿ytkownika
user=Nazwa u¿ytkownika
uid=Nr ID u¿ytkownika
real=Rzeczywista nazwa
office=Praca
workph=Tel. do pracy
homeph=tel. domowy
extra=Opcje dodatkowe
pass=Has³o
none1=Zapytaj przy pierwszym logowaniu
none2=Has³o nie wymagane
nologin=Nie mo¿e siê logowaæ
encrypted=Has³o uprzednio zaszyfrowane
nochange=Pozostaw niezmienione
clear=Has³o otwartym tekstem
home=Katalog domowy
uedit_auto=Automatycznie
shell=Pow³oka
uedit_other=Inna..
uedit_passopts=Parametry has³a
change2=Has³o zmieniæ do dnia
expire2=Konto wa¿ne do dnia
class=Kategoria logowania
change=Has³o zmieniono
flags=Flagi dla konta
uedit_never=Nigdy
uedit_unknown=Nie wiadomo
expire=Konto wa¿ne do dnia
min=Minimalnie dni
min_weeks=Minimalnie tygodni
max=Maksymalnie dni
max_weeks=Maksymalnie tygodni
warn=Ostrze¿enie na dni
inactive=Blokada konta po dniach
uedit_gmem=Przynale¿no¶æ do grup
group=Grupa podstawowa
uedit_newg=Nowa grupa
uedit_oldg=Obecna grupa
uedit_2nd=Grupy dodatkowe
onsave=Przy zachowywaniu..
uedit_movehome=Przenie¶æ katalog domowy, je¶li zmieniony?
uedit_chuid=Zmieniæ ID u¿ytkownika na plikach?
uedit_chgid=Zmieniæ ID grupy na plikach?
uedit_allfiles=Wszystkie pliki
chgid=Zmieniæ ID grupy na plikach?
uedit_oncreate=Przy tworzeniu..
uedit_makehome=Utworzyæ katalog domowy?
uedit_copy=Skopiowaæ pliki do katalogu domowego?
uedit_logins=Poka¿ logowania
uedit_mail=Czytaj pocztê
uedit_ecreate=Nie masz uprawnieñ do tworzenia nowych u¿ytkowników
uedit_eedit=Nie masz uprawnieñ do modyfikacji tego u¿ytkownika
uedit_admin=Tylko <tt>root</tt> mo¿e zmieniaæ has³o
uedit_admchg=U¿ytkownik musi wybraæ nowe has³o
uedit_nocheck=Nie sprawdzaæ ograniczeñ dla hase³
uedit_cothers=Tworzyæ u¿ytkownika w&nbsp;innych modu³ach?
uedit_mothers=Modyfikowaæ u¿ytkownika w&nbsp;innych modu³ach?

usave_err=Nie uda³o sie zachowaæ u¿ytkownika
usave_eedit=Nie masz uprawnieñ do modyfikacji tego u¿ytkownika
usave_ecreate=Nie masz uprawnieñ do tworzenia nowych u¿ytkowników
usave_ebadname='$1' nie jest poprawn± nazw± u¿ytkownika
usave_einuse=nazwa u¿ytkownika '$1' jest ju¿ u¿ywana
usave_einuse_a=nazwa u¿ytkownika '$1' jest ju¿ u¿ywana jako alias pocztowy
usave_einuseg=nazwa grupy '$1' jest ju¿ u¿ywana
usave_erename=Nie wolno ci przemianowywaæ u¿ytkowników
usave_euid='$1' nie jest poprawnym numerem UID
usave_euuid=Nie masz uprawnieñ do zmiany numerów UID u¿ytkowników
usave_elowuid=UID musi byæ wiêkszy lub równy $1
usave_ehiuid=UID musi byæ mniejszy lub równy $1
usave_euidused=U¿ytkownik $1 ju¿ posiada UID $2
usave_euidused2=Ten UID jest ju¿ u¿ywany
usave_ereal='$1' nie jest poprawn± rzeczywist± nazw±
usave_ehome='$1' nie jest poprawnym katalogiem domowym
usave_ehomepath=Nie masz uprawnieñ utworzenia katalogu domowego $1
usave_eshell='$1' nie jest dozwolon± pow³ok±
usave_egid='$1' nie jest poprawn± grup±
usave_egcreate=Nie masz uprawnieñ do tworzenia nowych grup dla nowych u¿ytkowników
usave_eprimary=Nie masz uprawnieñ aby dopisaæ tego u¿ytkownika do grupy podstawowej $1
usave_esecondary=Nie masz uprawnieñ aby dopisaæ tego u¿ytkownika do grupy dodatkowej $1
usave_eprimaryr=Nie masz uprawnieñ aby usun±æ tego u¿ytkownika z&nbsp;grupy podstawowej $1
usave_esecondaryr=Nie masz uprawnieñ aby usun±æ tego u¿ytkownika z&nbsp;grupy dodatkowej $1
usave_emin='$1' nie jest poprawnym minimalnym okresem zmiany has³a
usave_emax='$1' nie jest poprawnym maksymalnym okresem zmiany has³a
usave_ewarn='$1' nie jest poprawnym okresem ostrze¿enia
usave_einactive='$1' nie jest poprawnym okresem zablokowania konta
usave_eexpire=niepoprawna data wa¿no¶ci
usave_echange=niepoprawna data zmiany
usave_eclass='$1' nie jest poprawn± kategori± logowania
usave_emove=nie uda³o siê przenie¶æ katalogu domowego&nbsp;: $1
usave_emkdir=nie uda³o siê utworzyæ katalogu domowego&nbsp;: $1
usave_echown=nie uda³o siê zmieniæ w³a¶ciciela katalogu domowego&nbsp;: $1
usave_echmod=nie uda³o sie zmienic praw dostêpu do katalogu domowego&nbsp;: $1

gedit_title=Zmieñ grupê
gedit_title2=Utwórz grupê
gedit_details=Dane grupy
gedit_group=Nazwa grupy
gedit_gid=Nr ID grupy
gedit_members=Cz³onkowie
gedit_homedirs=Katalogi domowe
gedit_allfiles=Wszystkie pliki
gedit_ecreate=Nie masz uprawnieñ do tworzenia nowych grup
gedit_eedit=Nie masz uprawnieñ do modyfikacji tej grupy

gsave_err=Nie uda³o siê zachowaæ grupy
gsave_eedit=Nie masz uprawnieñ do modyfikacji tej grupy
gsave_ecreate=Nie masz uprawnieñ do tworzenia nowych grup
gsave_ebadname='$1' nie jest poprawn± nazw± grupy
gsave_einuse=nazwa grupy '$1' jest ju¿ u¿ywana
gsave_egid='$1' nie jest poprawnym GID
gsave_eggid=Nie masz uprawnieñ do zmiany numerów GID grup
usave_elowgid=GID musi byæ wiêkszy lub równy $1
usave_ehigid=GID musi byæ mniejszy lub równy $1
usave_egidused=Grupa $1 ju¿ posiada GID $2
usave_efromroot=Nie masz uprawnieñ do zmiany katalogu domowego z / na inny
usave_etoroot=Nie masz uprawnieñ do zmiany katalogu domowego na /

logins_title=Zapamiêtane logowania
logins_head=Zapamiêtane logowania u¿ytkownika $1
logins_from=Logowanie z
logins_tty=TTY
logins_in=Zalogowany
logins_out=Wylogowany
logins_for=Czas
logins_still=Nadal zalogowany
logins_none=Nie zapamiêtano logowañ
logins_elist=Nie masz uprawnieñ do przegl±dania logowañ
logins_elistu=Nie masz uprawnieñ do przegl±dania logowañ u¿ytkownika '$1'
logins_local=Lokalnie

udel_title=Usuñ u¿ytkownika
udel_err=Nie uda³o siê usun±æ u¿ytkownika
udel_euser=Nie masz uprawnieñ do usuniêcia tego u¿ytkownika
udel_ealready=Ten u¿ytkownik ju¿ zosta³ usuniêty!
udel_echanged=Plik hase³ uleg³ zmianie. Wróæ do listy i&nbsp;wybierz u¿ytkownika ponownie.
udel_other=Usuwanie z&nbsp;innych modu³ów..
udel_pass=Usuwanie wpisu z pliku hase³..
udel_groups=Usuwanie z&nbsp;&nbsp;grup..
udel_ugroup=Kasowanie grup tego u¿ytkownika..
udel_home=Kasowanie katalogu domowego..
udel_done=.. wykonano
udel_sure=Czy na pewno chcesz usun±æ u¿ytkownika $1 ? Katalog domowy $2 zawiera $3 kB plików.
udel_sure2=Czy na pewno chcesz usun±æ u¿ytkownika $1 ?
udel_del1=Usuñ u¿ytkownika
udel_del2=Usuñ u¿ytkownika i&nbsp;katalog domowy
udel_others=UWAGA! Katalog domowy $1 zawiera pliki, których w³a¶cicielami s± inni u¿ytkownicy. Liczba takich plików: $2.
udel_dothers=Usun±æ u¿ytkownika z&nbsp;innych modu³ów?
udel_root=Uwaga! Je¶li zostanie usuniêty u¿ytkownik root, mo¿esz utraciæ mo¿liwo¶æ administrowania systemem w&nbsp;przysz³o¶ci.

gdel_title=Skasuj grupê
gdel_err=Nie uda³o siê skasowaæ grupy
gdel_egroup=Nie masz uprawnieñ do skasowania tej grupy
gdel_ealready=Ta grupa ju¿ zosta³a skasowana!
gdel_group=Kasowanie wpisu w pliku grup
gdel_done=.. Wykonano
gdel_eprimary=Ta grupa jest grup± podstawow± dla u¿ytkownika $1
gdel_sure=Czy na pewno chcesz skasowaæ grupê $1 ?
gdel_del=Skasuj grupê

many_title=Utwórz wielu u¿ytkowników
many_desc=Za pomoc± tego formularza mo¿esz utworzyæ wielu u¿ytkowników jednocze¶nie na podstawie przes³anego lub lokalnego pliku tekstowego. Ka¿da linia pliku okre¶la jednego u¿ytkownika wg nastêpuj±cego formatu:
many_desc2=nazwa:has³o:uid:gid:nazwa_rzecz:kat_domowy:pow³oka:min:max:ostrz:blok:wa¿no¶æ
many_desc1=nazwa:has³o:uid:gid:nazwa_rzecz:kat_domowy:pow³oka:kategoria:zmiana:wa¿no¶æ
many_desc0=nazwa:has³o:uid:gid:nazwa_rzecz:kat_domowy:pow³oka
many_descafter=Je¶li pole <tt>uid</tt> pozostanie puste, Webmin przydzieli nr UID automatycznie. Je¶li pole <tt>gid</tt> pozostanie puste, Webmin przydzieli now± grupê o&nbsp;takiej samej nazwie jak u¿ytkownik. Pola <tt>nazwa</tt>, <tt>kat_domowy</tt> i&nbsp;<tt>pow³oka</tt> musz± byæ wype³nione dla ka¿dego u¿ytkownika - pozosta³e pola mog± pozostaæ puste.
many_descpass=Je¶li pozostawisz pole <tt>has³o</tt> puste, ¿edne has³o nie zostanie przypisane u¿ytkownikowi. Je¶li za¶ bêdzie ono zawiera³o literê <tt>x</tt>, konto zostanie zablokowane. W&nbsp;pozosta³ych przypadkach zawarto¶æ pola tekstowego zostanie potraktowana jako has³o otwartym tekstem i&nbsp;zaszyfrowana.
many_file=Przesy³am plik z&nbsp;nowymi u¿ytkownikami
many_local=Lokalny plik z&nbsp;nowymi u¿ytkownikami
many_makehome=Utworzyæ katalogi domowe?
many_copy=Skopiowaæ pliki do katalogów domowych?
many_upload=Utwórz u¿ytkowników
many_elocal=Nie znaleziono pliku lokalnego
many_efile=Nie wybrano pliku do przes³ania
many_elen=Linia $1 nie zawiera pól $2
many_eline=Brak nazwy u¿ytkownika w&nbsp;linii $1
many_euser=Powtórzona nazwa u¿ytkownika w&nbsp;linii $1&nbsp;: $2
many_egid=Niepoprawny nr GID w&nbsp;linii $1&nbsp;: $2
many_ehome=Niepoprawny katalog domowy w&nbsp;linii $1&nbsp;: $2
many_eshell=Niepoprawna pow³oka w&nbsp;linii $1&nbsp;: $2
many_emkdir=nie uda³o siê utworzyæ katalogu domowego $1&nbsp;: $2
many_egtaken=Nazwa grupy jest ju¿ u¿ywana w&nbsp;linii $1&nbsp;: $2
many_ok=Utworzono u¿ytkownika $1

acl_uedit=U¿ytkownicy uniksowi, których mo¿na modyfikowaæ
acl_uedit_all=Wszyscy
acl_uedit_none=¯aden
acl_uedit_only=Tylko u¿ytkownicy
acl_uedit_except=Oprócz u¿ytkowników
acl_uedit_uid=U¿ytkownicy o&nbsp;UID z&nbsp;zakresu
acl_uedit_group=U¿ytkownicy z&nbsp;grupy
acl_uedit_sec=£±cznie z&grupami dodatkowymi?
acl_uedit_this=Tylko ten u¿ytkownik
acl_ucreate=Mo¿e tworzyæ nowych u¿ytkowników?
acl_uid=Nry UID dla nowych lub zmodyfikowanych u¿ytkowników
acl_umultiple=Wiêcej ni¿ jeden u¿ytkownik mo¿e mieæ ten sam nr UID
acl_uuid=Mo¿na zmieniaæ nry UID istniejacych u¿ytkowników
acl_ugroups=Dozwolone grupy dla nowych lub zmodyfikowanych u¿ytkowników
acl_all=Wszystkie
acl_shells=Dozwolone pow³oki dla nowych lub zmodyfikowanych u¿ytkowników
acl_any=Dowolny
acl_listed=Wymienione..
acl_home=Katalogi domowe musz± siê mie¶ciæ w
acl_autohome=Nazwa katalogu domowego zawsze taka sama jak nazwa u¿ytkownika
acl_gedit=Grupy uniksowe, które mo¿na modyfikowaæ
acl_gedit_all=Wszystkie
acl_gedit_none=¯adna
acl_gedit_only=Tylko grupy
acl_gedit_except=Oprócz grup
acl_gedit_gid=Grupy o&nbsp;GID w&nbsp;zakresie
acl_gcreate=Mo¿e tworzyc nowe grupy
acl_gnew=Tylko dla nowych u¿ytkowników
acl_gid=Nry GID dla nowych lub zmodyfikowanych grup
acl_gmultiple=Wiêcej ni¿ jedna grupa mo¿e mieæ ten sam nr GID
acl_ggid=Mo¿na zmieniaæ nry GID istniej±cych u¿ytkowników
acl_logins=Mo¿e przegl±daæ logowania dla
acl_lnone=¯adnego u¿ytkownika
acl_lall=Wszystkich u¿ytkowników
acl_epeopt=Mo¿e zmieniaæ opcje wa¿no¶ci hase³?
acl_egp=Mo¿e zmieniaæ has³a dla grup?
acl_saveopts=Dozwolone przy zachowywaniu opcji

log_urename=Przemianowano u¿ytkownika $1 na $2
log_umodify=Zmieniono u¿ytkownika $1
log_ucreate=Utworzono u¿ytkownika $1
log_udelete=Skasowano u¿ytkownika $1
log_udeletehome=Skasowano u¿ytkownika $1 i&nbsp;katalog $2
log_gmodify=Zmieniono grupê $1
log_gcreate=Utworzono grupê $1
log_gdelete=Skasowano grupê $1
log_batch=Uruchomiono plik wsadowy $1
log_batch_l=Uruchomiono plik wsadowy $1 ($2 utworzonych, $3 zmienionych, $4 skasowanych)
log_ubatch=Uruchomiono przes³any plik wsadowy
log_ubatch_l=Uruchomiono przes³any plik wsadowy ($1 utworzonych, $2 zmienionych, $3 skasowanych)

batch_title=Uruchom plik wsadowy
batch_desc=Ten formularz pozwoli Ci utworzyæ, zmieniæ lub usun±æ wielu u¿ytkowników jednocze¶nie na podstawie przes³anego lub lokalnego pliku tekstowego. Ka¿da linia tego pliku okre¶la pojedyñcz± operacjê, której rodzaj jest okre¶lany na podstawie pierwszego pola. Linie mog± byæ postaci&nbsp;:
batch_desc2=<b>create</b>:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka:min:max:ostrz:nieakt:wa¿ne<p><b>modify</b>:by³_u¿ytkownik:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka:min:max:ostrz:nieakt:wa¿ne<p><b>delete</b>:u¿ytkownik
batch_desc1=<b>create</b>:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka:klasa<p><b>modify</b>:by³_u¿ytkownik:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka:klasa<p><b>delete</b>:u¿ytkownik
batch_desc0=<b>create</b>:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka<p><b>modify</b>:by³_u¿ytkownik:u¿ytkownik:has³o:uid:gid:rzecz_nazwa:kat_domowy:pow³oka<p><b>delete</b>:u¿ytkownik
batch_descafter=Je¶li w&nbsp;liniach <b>create</b> pole <tt>uid</tt> bêdzie puste, Webmin przypisze numer UID automatycznie. Je¶li puste bêdzie pole <tt>gid</tt>, Webmin utworzy now± grupê o&nbsp;takiej samej nazwie jak u¿ytkownik. Pola <tt>u¿ytkownik</tt>, <tt>kat_domowy</tt> i&nbsp;<tt>pow³oka</tt> musz± byæ wype³nione dla wszystkich u¿ytkowników - pozosta³e pola mog± byæ puste. Je¶li puste bêdzie pole <tt>has³o</tt>, nie zostanie przypisane u¿ytkownikowi ¿adne has³o. Je¶li zawiera ono literê <tt>x</tt>, konto bêdzie zablokowane. W&nbap;przeciwnym przypadku pole tekstowe zostanie potraktowane jako the has³o otwartym tekstem i&nbsp;zakodowane.
batch_descafter2=Puste pole w&nbsp;liniach <b>modify</b> oznacza, ¿e odpowiedni atrybut u¿ytkownika ma pozostaæ niezmieniony.
batch_file=Przes³anego pliku wsadowego
batch_local=Lokalnego pliku wsadowego
batch_others=Tworzyæ, modyfikowaæ i&nbsp;usuwaæ u¿ytkowników z&nbsp;innych modu³ów?
batch_makehome=Tworzyæ katalogi domowe dla nowo utworzonych u¿ytkowników?
batch_copy=Kopiowaæ pliki do katalogów domowych utworzonych u¿ytkowników?
batch_movehome=Zmieniaæ nazwy katalogów domowych zmienionych u¿ytkowników?
batch_chuid=Zmieniaæ UID plików zmienionych u¿ytkowników?
batch_chgid=Zmieniaæ GID plików zmienionych u¿ytkowników?
batch_delhome=Usuwaæ katalogi domowe usuniêtych u¿ytkowników?
batch_upload=Wykonaj wsadowo
batch_elocal=Nie znaleziono pliku lokalnego
batch_efile=Nie wybrano pliku do przes³ania
batch_elen=Linia $1 nie zawiera pól $2
batch_eline=Brak nazwy u¿ytkownika w&nbsp;linii $1
batch_euser=Powtórzona nazwa u¿ytkownika w&nbsp;linii $1&nbsp;: $2
batch_egid=Niepoprawny GID w&nbsp;linii $1&nbsp;: $2
batch_ehome=Niepoprawny katalog domowy w&nbsp;linii $1&nbsp;: $2
batch_eshell=Niepoprawna pow³oka w&nbsp;linii $1&nbsp;: $2
batch_emkdir=Nie uda³o siê utworzyæ katalogu domowego $1&nbsp;: $2
batch_egtaken=Nazwa grupy z&nbsp;linii $1 ju¿ jest u¿ywana&nbsp;: $2
batch_eaction=Niepoprawna operacja w&nbsp;linii $1&nbsp;: $2
batch_enouser=U¿ytkownik z&nbsp;linii $1 nie istnieje&nbsp;: $2
batch_emove=Nie uda³o siê zmieniæ nazwy katalogu domowego z&nbsp;linii $1&nbsp;: $2
batch_created=Utworzono u¿ytkownika $1
batch_deleted=Usuniêto u¿ytkownika $1
batch_modified=Zmieniono u¿ytkownika $1
batch_ecaccess=Nie masz uprawnieñ do utworzenia u¿ytkownika z&nbsp;linii $1&nbsp;: $2
batch_emaccess=Nie masz uprawnieñ do modyfikacji u¿ytkownika z&nbsp;linii $1&nbsp;: $2
batch_edaccess=Nie masz uprawnieñ do usuniêcia u¿ytkownika z&nbsp;linii $1&nbsp;: $2
batch_crypt=Has³a s± ju¿ zaszyfrowane?
  07070100078f18000081a40000000000000002000000013d1fe2bf00001beb000000200000000000000000000000000000001800000003reloc/useradmin/lang/pt   index_title=Utilizadores e Grupos
index_toomany=Existem muitos utilizadores no seu sistema para que possam ser mostrados numa só página.
index_find=Procurar utilizadores que
index_users=Utilizadores Locais
index_notusers=Você não está autorizado para editar quaisquer utilizadores neste sistema
index_createuser=Criar novo utilizador
index_nomoreusers=Você não está autorizado para criar mais utilizadores
index_groups=Grupos Locais
index_notgroups=Você não está autorizado para editar quaisquer grupos neste sistema
index_creategroup=Criar novo grupo
index_nomoregroups=Você não está autorizado para criar mais grupos
index_logins=Mostrar logins por
index_return=lista de utilizadores e grupos
index_equals=igual a
index_matches=coincide com
index_nequals=não igual a
index_nmatches=não coincide com

search_title=Resultados da Procura

uedit_title=Editar Utilizador
uedit_title2=Criar Utilizador
uedit_details=Detalhes do Utilizador
user=Nome do utilizador
uid=ID do utilizador
real=Nome real
pass=Palavra de passe
none1=Perguntar no primeiro login
none2=Não necessita de palavra de passe
nologin=Não é permitido o login
encrypted=Palavra de passe encriptada
clear=Palavra de passe em texto limpo
home=Directório inicial
uedit_auto=Automático
shell=Shell
uedit_other=Outro..
uedit_passopts=Opções da palavra de passe
change2=Tempo de mudança da palavra de passe
expire2=Tempo de expiração da conta
class=Classe do login
change=Palavra de passe alterada
uedit_never=Nunca
uedit_unknown=Desconhecido
expire=Data de expiração
min=Dias mínimos
max=Dias máximos
warn=Dias de aviso
inactive=Dias inactivos
uedit_gmem=Associação do Grupo
group=Grupo primário
uedit_newg=Novo grupo
uedit_2nd=Grupos secundários
onsave=Ao Guardar..
uedit_movehome=Mover o directório inicial se for alterado?
uedit_chuid=Alterar o ID do utilizador nos ficheiros?
uedit_allfiles=Todos os ficheiros
chgid=Alterar o ID do grupo nos ficheiros?
uedit_oncreate=Ao Criar..
uedit_makehome=Criar directório inicial?
uedit_copy=Copiar ficheiros para o directório inicial?
uedit_logins=Mostrar Logins
uedit_ecreate=Você não pode criar novos utilizadores
uedit_eedit=Você não pode editar este utilizador

usave_err=Erro ao guardar utilizador
usave_eedit=Você não pode editar este utilizador
usave_ecreate=Você não pode criar novos utilizadores
usave_ebadname='$1' não um nome de utilizador válido
usave_einuse=o nome de utilizador '$1' já está em uso
usave_einuseg=o nome do grupo '$1' já está em uso
usave_euid='$1' não é um UID válido
usave_elowuid=O UID tem de ser maior ou igual a $1
usave_ehiuid=O UID tem de ser menor ou igual a $1
usave_euidused=O utilizador $1 já está usar o UID $2
usave_ereal='$1' não é um nome real válido
usave_ehome='$1' não é um directório inicial válido
usave_ehomepath=Você não está autorizado para criar o directório inicial $1
usave_eshell='$1' não é uma shell permitida
usave_egid='$1' não é um grupo válido
usave_egcreate=O seu sistema está configurado para criar um novo grupo para novos utilizadores, mas você não está autorizado para criar grupos
usave_eprimary=Você não está autorizado para adicionar este utilizador ao grupo primário $1
usave_esecondary=Você não está autorizado adicionar este utilizador ao grupo secundário $1
usave_eprimaryr=Você não está autorizado para remover este utilizador do grupo primário $1
usave_esecondaryr=Você não está autorizado para remover este utilizador do grupo secundário $1
usave_emin='$1' não é um periodo mínimo de mudança válido
usave_emax='$1' não é um periodo máximo de mudança válido
usave_ewarn='$1' não é um periodo de aviso válido
usave_einactive='$1' não é um periodo inactivo válido
usave_eexpire=data de expiração inválida
usave_echange=data de mudança inválida
usave_eclass='$1' não é uma classe de login válida
usave_emove=erro ao mover directório inicial : $1
usave_emkdir=não se conseguiu criar o directório inicial : $1
usave_echown=não se conseguiu alterar o proprietário do directório inicial : $1
usave_echmod=não se conseguiu alterar as permissões do directório inicial : $1

gedit_title=Editar Grupo
gedit_title2=Criar Grupo
gedit_details=Detalhes do Grupo
gedit_group=Nome do grupo
gedit_gid=ID do grupo
gedit_members=Membros
gedit_homedirs=Directórios iniciais
gedit_allfiles=Todos os ficheiros

gsave_err=Erro ao guardar grupo
gsave_eedit=Você não pode editar este grupo
gsave_ecreate=Você não pode criar novos grupos
gsave_ebadname='$1' não é um nome de grupo válido
gsave_einuse=o nome do grupo '$1' já está em uso
gsave_egid='$1' não é um GID válido
usave_elowgid=O GID tem de ser maior ou igual a $1
usave_ehigid=O GID tem de ser menor ou igual a $1
usave_egidused=O grupo $1 já está a usar o GID $2

logins_title=Logins Gravados
logins_head=Logins gravados de $1
logins_from=Login De
logins_tty=TTY
logins_in=Login Em
logins_out=Logout Às
logins_for=Dentro Durante
logins_still=Ainda está dentro
logins_none=Não há logins gravados

udel_title=Apagar Utilizador
udel_err=Erro ao apagar utilizador
udel_euser=Você não pode apagar este utilizador
udel_ealready=Este utilizador já foi apagado!
udel_other=A apagar de outros módulos ..
udel_pass=A apagar entrada do ficheiro de palavras de passe ..
udel_groups=A remover dos grupos ..
udel_ugroup=A apagar o grupo deste utilizador ..
udel_home=A apagar o directório inicial ..
udel_done=.. Feito
udel_sure=Tem a certeza que quer apagar o utilizador $1 ? O directório inicial $2 tem $3 kB de ficheiros
udel_sure2=Tem a certeza que quer apagar o utilizador $1 ?
udel_del1=Apagar Utilizador
udel_del2=Apagar Utilizador e Directório Inicial

gdel_title=Apagar Grupo
gdel_err=Erro ao apagar grupo
gdel_egroup=Você não pode apagar este grupo
gdel_ealready=Este grupo já foi eliminado!
gdel_group=A apagar entrada do ficheiro de grupos ..
gdel_done=.. Feito
gdel_eprimary=Este é o grupo primário do utilizador $1
gdel_sure=Tem a certeza que quer apagar o grupo $1 ?
gdel_del=Apagar Grupo

acl_uedit=Utilizadores do Unix que podem ser editados
acl_uedit_all=Todos os utilizadores
acl_uedit_none=Nenhuns utilizadores
acl_uedit_only=Apenas utilizadores
acl_uedit_except=Todos excepto os utilizadores
acl_uedit_uid=Utilizadores com UIDs no alcance
acl_uedit_group=Utilizadores com grupo
acl_ucreate=Pode criar novos utilizadores?
acl_uid=UIDs para novos utilizadores ou modificados
acl_umultiple=Mais do que um utilizador pode ter o mesmo UID
acl_ugroups=Grupos autorizados para novos utlizadores ou modificados
acl_all=Todos
acl_shells=Shells autorizadas para novos utlizadores ou modificados
acl_any=Qualquer
acl_listed=Listada..
acl_home=Os directórios iniciais devem estar sobre
acl_autohome=O directório é sempre igual ao nome do utilizador
acl_gedit=Grupos do Unix que podem ser editados
acl_gedit_all=Todos os grupos
acl_gedit_none=Nenhum grupo
acl_gedit_only=Apenas grupos
acl_gedit_except=Todos excepto os grupos
acl_gedit_gid=Grupos com GIDs no alcance
acl_gcreate=Pode criar novos grupos?
acl_gnew=Apenas para novos utilizadores
acl_gid=GIDs para novos grupos ou modificados
acl_gmultiple=Mais do que um grupo pode ter o mesmo GID
acl_logins=Pode mostrar logins por
acl_lnone=Nenhum utilizadores
acl_lall=Todos os utilizadores
 07070100078f19000081a40000000000000002000000013d1fe2c000003a16000000200000000000000000000000000000001b00000003reloc/useradmin/lang/pt_BR    index_title=Usuários e Grupos
index_toomany=Existem muitos usuários no seu sistema para que possam ser mostrados numa só página.
index_find=Procurar usuários que
index_gtoomany=Há muitos grupos no seu sistema para mostrá-los todos numa só página
index_gfind=Procurar grupos cujo
index_ugroup=Grupo Primário
index_users=Usuários Locais
index_notusers=Você não está autorizado a editar quaisquer usuários neste sistema
index_createuser=Criar novo usuário
index_batch=Criar, modificar e remover usuários de arquivo de batch
index_nomoreusers=Você não está autorizado a criar mais usuários
index_groups=Grupos Locais
index_notgroups=Você não está autorizado a editar quaisquer grupos neste sistema
index_creategroup=Criar novo grupo
index_nomoregroups=Você não está autorizado a criar mais grupos
index_logins=Mostrar logins de
index_return=lista de usuários e grupos
index_equals=igual a
index_matches=coincide com
index_nequals=não igual a
index_nmatches=não coincide com

search_title=Resultados da Procura
search_notfound=Nenhum usuário encontrado
search_gnotfound=Nenhum grupo encontrado

uedit_title=Editar Usuário
uedit_title2=Criar Usuário
uedit_details=Detalhes do Usuário
user=Nome do usuário
uid=ID do usuário
real=Nome real
office=Escritório
workph=Telefone de serviço
homeph=Telefone residencial
extra=Opções extras
pass=Senha
none1=Perguntar no primeiro login
none2=Não necessita de senha
nologin=Não é permitido o login
encrypted=senha encriptada
nochange=Deixe intacta
clear=senha em claro
home=Diretório inicial
uedit_auto=Automático
shell=Shell
uedit_other=Outro..
uedit_passopts=Opções da senha
change2=Tempo de mudança da senha
expire2=Tempo de expiração da conta
class=Classe do login
change=senha alterada
flags=Flags de conta
uedit_never=Nunca
uedit_unknown=Desconhecido
expire=Data de expiração
min=Dias mínimos
min_weeks=Semanas mínimas
max=Dias máximos
max_weeks=Semanas máximas
warn=Dias de aviso
inactive=Dias inactivos
uedit_gmem=Associação do Grupo
group=Grupo primário
uedit_newg=Novo grupo
uedit_oldg=Grupo existente
uedit_2nd=Grupos secundários
onsave=Ao Salvar..
uedit_movehome=Mover o diretório inicial se for alterado?
uedit_chuid=Alterar o UID nos arquivos?
uedit_chgid=Alterar o GID nos arquivos?
uedit_allfiles=Todos os arquivos
chgid=Alterar o ID do grupo nos arquivos?
uedit_oncreate=Ao Criar..
uedit_makehome=Criar diretório inicial?
uedit_copy=Copiar arquivos para o diretório inicial?
uedit_logins=Mostrar Logins
uedit_mail=Ler Email
uedit_ecreate=Você não pode criar novos usuários
uedit_eedit=Você não pode editar este usuário
uedit_admin=Somente root pode trocar senha
uedit_admchg=Usuário deve escolher nova senha
uedit_nocheck=Não verifique restrições de senha
uedit_cothers=Criar usuário em outros módulos?
uedit_mothers=Modificar usuário em outros módulos?

usave_err=Erro ao salvar usuário
usave_eedit=Você não pode editar este usuário
usave_ecreate=Você não pode criar novos usuários
usave_ebadname='$1' não é um nome de usuário válido
usave_einuse=o nome de usuário '$1' já está em uso
usave_einuse_a=o usermand '$1' já é usado por um alias de mail
usave_einuseg=o nome do grupo '$1' já está em uso
usave_erename=Você não tem permissão para renomear usuários
usave_euid='$1' não é um UID válido
usave_euuid=Você não tem permissão para trocar o UID de usuários
usave_elowuid=O UID tem de ser maior ou igual a $1
usave_ehiuid=O UID tem de ser menor ou igual a $1
usave_euidused=O usuário $1 já está usando o UID $2
usave_euidused2=UID já está em uso
usave_ereal='$1' não é um nome real válido
usave_ehome='$1' não é um diretório inicial válido
usave_ehomepath=Você não está autorizado a criar o diretório inicial $1
usave_eshell='$1' não é uma shell permitida
usave_egid='$1' não é um grupo válido
usave_egcreate=O seu sistema está configurado para criar um novo grupo para novos usuários, mas você não está autorizado a criar grupos
usave_eprimary=Você não está autorizado a adicionar este usuário ao grupo primário $1
usave_esecondary=Você não está autorizado adicionar este usuário ao grupo secundário $1
usave_eprimaryr=Você não está autorizado a remover este usuário do grupo primário $1
usave_esecondaryr=Você não está autorizado a remover este usuário do grupo secundário $1
usave_emin='$1' não é um período mínimo de mudança válido
usave_emax='$1' não é um período máximo de mudança válido
usave_ewarn='$1' não é um peíiodo de aviso válido
usave_einactive='$1' não é um periodo inativo válido
usave_eexpire=data de expiração inválida
usave_echange=data de mudança inválida
usave_eclass='$1' não é uma classe de login válida
usave_emove=erro ao mover diretório inicial : $1
usave_emkdir=não consegui criar o diretório inicial : $1
usave_echown=não consegui alterar o proprietário do diretório inicial : $1
usave_echmod=não consegui alterar as permissões do diretório inicial : $1
usave_eoffice=escritório não pode conter um caractere :
usave_eworkph=telefone de serviço não pode conter um caractere :
usave_ehomeph=telefone residencial não pode conter um caractere :
usave_emd5=O seu sistema tem senhas MD5 habilitadas mas o módulo Perl MD5 não está instalado.<p>Para forçar o uso de senhas criptografadas normais, ajuste a <a href='$1'>configuração do módulo</a>.<p>Ou deixe o Webmin <a href='$2'>baixar e instalar</a> o módulo MD5 para você.

gedit_title=Editar Grupo
gedit_title2=Criar Grupo
gedit_details=Detalhes do Grupo
gedit_group=Nome do grupo
gedit_gid=ID do grupo
gedit_members=Membros
gedit_homedirs=Diretórios iniciais
gedit_allfiles=Todos os arquivos
gedit_ecreate=Você não pode criar novos grupos
gedit_eedit=Você não pode editar este grupo

gsave_err=Erro ao salvar grupo
gsave_eedit=Você não pode editar este grupo
gsave_ecreate=Você não pode criar novos grupos
gsave_ebadname='$1' não é um nome de grupo válido
gsave_einuse=o nome do grupo '$1' já está em uso
gsave_egid='$1' não é um GID válido
gsave_eggid=Você não tem permissão para trocar o GID de grupos
usave_elowgid=O GID tem de ser maior ou igual a $1
usave_ehigid=O GID tem de ser menor ou igual a $1
usave_egidused=O grupo $1 já está usando o GID $2
usave_efromroot=Você não pode mudar o diretório inicial de /
usave_etoroot=Você não pode mudar o diretório inicial para /

logins_title=Logins Registrados
logins_head=Logins registrados de $1
logins_from=Login De
logins_tty=TTY
logins_in=Login Em
logins_out=Logout Às
logins_for=Dentro Durante
logins_still=Ainda está dentro
logins_none=Não há logins registrados
logins_elist=Você não tem permissão para listar logins
logins_elistu=Você não tem permissão para listar logins para '$1'
logins_local=Local

udel_title=Remover Usuário
udel_err=Erro ao remover usuário
udel_euser=Você não pode remover este usuário
udel_ealready=Este usuário já foi removido!
udel_echanged=O arquivo de senhas mudou.  Por favor, retorne à lista de usuários e selecione este usuário novamente.
udel_other=Removendo de outros módulos ..
udel_pass=Removendo entrada do arquivo de palavras de passe ..
udel_groups=Removendo dos grupos ..
udel_ugroup=Removendo o grupo deste usuário ..
udel_home=Removendo o diretório inicial ..
udel_done=.. Feito
udel_sure=Tem certeza de que quer remover o usuário $1 ? O diretório inicial $2 tem $3 kB de arquivos
udel_sure2=Tem certeza de que quer remover o usuário $1 ?
udel_del1=Remover Usuário
udel_del2=Remover Usuário e Diretório Inicial
udel_others=ATENÇÃO! O diretório inicial $1 contém $2 arquivos pertencentes a outros usuários
udel_dothers=Remover usuário de outros módulos?
udel_root=Atenção! Se o usuário root for removido você pode não conseguir administrar seu sistema no futuro.

gdel_title=Remover Grupo
gdel_err=Erro ao remover grupo
gdel_egroup=Você não pode remover este grupo
gdel_ealready=Este grupo já foi removido!
gdel_group=Removendo entrada do arquivo de grupos ..
gdel_done=.. Feito
gdel_eprimary=Este é o grupo primário do usuário $1
gdel_sure=Tem certeza de que quer remover o grupo $1 ?
gdel_del=Remover Grupo

many_title=Crie Múltiplos Usuários
many_desc=Este formulário permite que você crie vários usuários de uma vez a partir de um arquivo texto enviado ou local.  Cada linha do arquivo especifica um usário no seguinte formato:
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=Se o campo <tt>uid</tt> for vazio, o Webmin atribuirá um UID automaticamente.  Se o campo <tt>gid</tt> for vazio, o Webmin criará um novo grupo com o mesmo nome que o usuário.  Os campos <tt>username</tt>, <tt>homedir</tt> e <tt>shell</tt> devem ser fornecidos para todos os usuários - os demais campos são opcionais.
many_descpass=Se o campo <tt>passwd</tt> for vazio nenhuma senha será atribuída ao usuário.  Se ele contiver apenas a letra <tt>x</tt> a conta será travada.  De outro modo, o texto no campo será tratado como a senha em claro.
many_file=Novo arquivo de usuários enviado
many_local=Novo arquivo de usuários local
many_makehome=Criar diretórios iniciais?
many_copy=Copiar arquivos para diretórios iniciais?
many_upload=Criar usuários
many_elocal=Arquivo local não encontrado
many_efile=Faltou escolher arquivo para ser enviado
many_elen=A linha $1 não contém $2 campos
many_eline=Faltou o username na linha $1
many_euser=Username duplicado na linha $1 : $2
many_egid=GID inválido na linha $1 : $2
many_ehome=Diretório inicial inválido na linha $1 : $2
many_eshell=Shell inválida na linha $1 : $2
many_emkdir=Não consegui criar diretório inicial $1 : $2
many_egtaken=Nome de grupo já em uso na linha $1 : $2
many_ok=Usuário $1 criado

acl_uedit=Usuários do Unix que podem ser editados
acl_uedit_all=Todos os usuários
acl_uedit_none=Nenhum usuário
acl_uedit_only=Apenas usuários
acl_uedit_except=Todos exceto os usuários
acl_uedit_uid=Usuários com UIDs dentro dos limites
acl_uedit_group=Usuários com grupo
acl_uedit_sec=Incluir grupos secundários?
acl_uedit_this=Somente este usuário
acl_ucreate=Pode criar novos usuários?
acl_uid=UIDs para novos usuários ou modificados
acl_umultiple=Mais do que um usuário pode ter o mesmo UID
acl_uuid=UIDs de usuários existentes podem ser modificados
acl_ugroups=Grupos autorizados para usuários novos ou modificados
acl_all=Todos
acl_shells=Shells autorizadas para usuários novos ou modificados
acl_any=Qualquer
acl_listed=Listada..
acl_home=Os diretórios iniciais devem estar sobre
acl_autohome=O diretório é sempre igual ao nome do usuário
acl_gedit=Grupos do Unix que podem ser editados
acl_gedit_all=Todos os grupos
acl_gedit_none=Nenhum grupo
acl_gedit_only=Apenas grupos
acl_gedit_except=Todos exceto os grupos
acl_gedit_gid=Grupos com GIDs dentro dos limites
acl_gcreate=Pode criar novos grupos?
acl_gnew=Apenas para novos usuários
acl_gid=GIDs para novos grupos ou modificados
acl_gmultiple=Mais do que um grupo pode ter o mesmo GID
acl_ggid=GIDs de grupos existentes podem ser modificados
acl_logins=Pode mostrar logins por
acl_lnone=Nenhum usuário
acl_lall=Todos os usuários
acl_epeopt=Pode editar opções de expiração de senha?
acl_egp=Pode editar senhas de grupo?
acl_saveopts=Opções permitidas ao salvar

log_urename=Usuário $1 renomeado para $2
log_umodify=Usuário $1 modificado
log_ucreate=Usuário $1 criado
log_udelete=Usuário $1 removido
log_udeletehome=Removidos usuário $1 e diretório $2
log_gmodify=Grupo $1 modificado
log_gcreate=Grupo $1 criado
log_gdelete=Grupo $1 removido
log_batch=Arquivo batch $1 executado
log_batch_l=Arquivo batch $1 executado (criado $2, modificado $3, removido $4)
log_ubatch=Arquivo batch executado
log_ubatch_l=Arquivo batch executado (criado $1, modificado $2, removido $3)

batch_title=Executar arquivo batch
batch_desc=Este formulário permite que você crie, modifique ou remova vários usuários de uma vez a partir de um arquivo texto local ou um arquivo enviado.  Cada linha do arquivo especifica uma ação, dependendo do seu primeiro campo.  O formato das linhas é o seguinte:
batch_desc2=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>delete</b>:username
batch_desc1=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>delete</b>:username
batch_desc0=<b>create</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>modify</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>delete</b>:username
batch_descafter=Em linhas <b>create</b>, se o campo <tt>uid</tt> for vazio, o Webmin atribuirá um UID automaticamente.  Se o campo <tt>gid</tt> for vazio, o Webmin criará um novo grupo com o mesmo nome que o usuário.  Os campos <tt>username</tt>, <tt>homedir</tt> e <tt>shell</tt> devem ser especificados para todos os usuários - os demais campos podem ficar vazios.  Se o campo <tt>passwd</tt> for vazio, nenhuma senha será atribuída ao usuário.  Se ele contiver somente a letra <tt>x</tt>, a conta será travada.  De outro modo, o texto do campo será tratado como a senha em claro.
batch_descafter2=Em linhas <b>modify</b>, um campo vazio será tratado como se o atributo correspondente não tenha sido modificado.
batch_file=Arquivo batch enviado
batch_local=Arquivo batch local
batch_others=Criar, modificar ou remover usuários em outros módulos?
batch_makehome=Criar diretórios iniciais para novos usuários?
batch_copy=Copiar arquivos para diretórios iniciais de novos usuários?
batch_movehome=Renomear diretórios iniciais de usuários modificados?
batch_chuid=Modificar o UID dos arquivos de usuários modificados?
batch_chgid=Modificar o GID dos arquivos de usuários modificados?
batch_delhome=Remover diretórios iniciais de usuários removidos?
batch_upload=Executar batch
batch_elocal=Aquivo local não encontrado
batch_efile=Faltou especificar o arquivo a ser enviado
batch_elen=Linha $1 não contém campos $2
batch_eline=Falta username na linha $1
batch_euser=Username duplicado na linha $1 : $2
batch_egid=GID inválido na linha $1 : $2
batch_ehome=Diretório inicial inválido na linha $1 : $2
batch_eshell=Shell inválida na linha $1 : $2
batch_emkdir=Não consegui criar o diretório inicial $1 : $2
batch_egtaken=Nome de grupo já usado na linha $1 : $2
batch_eaction=Ação inválida na linha $1 : $2
batch_enouser=Usuário inexistente na linha $1 : $2
batch_emove=Não consegui renomear o diretório inicial na linha $1 : $2
batch_created=Usuário $1 criado
batch_deleted=Usuário $1 removido
batch_modified=Usuário $1 modificado
batch_ecaccess=Você não tem permissão para criar o usuário na linha $1 : $2
batch_emaccess=Você não tem permissão para modificar o usuário na linha $1 : $2
batch_edaccess=Você não tem permissão para remover o usuário na linha $1 : $2
batch_crypt=As senhas já estão criptografadas?
  07070100078f1a000081a40000000000000002000000013d1fe2c0000021d6000000200000000000000000000000000000001b00000003reloc/useradmin/lang/ru_RU    usave_emax='$1' íå ÿâëÿåòñÿ ìàêñèìàëüíûì ïåðèîäîì èçìåíåíèÿ
acl_gedit_all=Âñå ãðóïïû
acl_gnew=Òîëüêî äëÿ íîâûõ ïîëüçîâàòåëåé
gedit_gid=ID ãðóïïû
usave_emkdir=íå ìîãó ñîçäàòü äîìàøíèé êàòàëîã : $1
many_desc=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ñîçäàâàòü ìíîãî ïîëüçîâàòåëåé çà ðàç èç çàãðóæàåìîãî èëè ëîêàëüíîãî òåêñòîâîãî ôàéëà. Êàæäàÿ ëèíèÿ ôàéëà îïèñûâàåò îäíîãî èç ïîëüçîâàòåëåé â ñëåäóþùåì ôîðìàòå :
gsave_eedit=Âû íå ìîæåòå ðåäàêòèðîâàòü ýòó ãðóïïó
gedit_members=×ëåíû ãðóïïû
many_elocal=Ëîêàëüíûé ôàéë íå íàéäåí
acl_uedit_none=Íèêòî
uedit_oncreate=Ïðè Ñîçäàíèè..
acl_gedit_none=Íèêàêèå
usave_emin='$1' íå ÿâëÿåòñÿ ìèíèìàëüíûì ïåðèîäîì èçìåíåíèÿ
onsave=Ïðè Ñîõðàíåíèè..
nologin=Âõîä â ñèñòåìó çàïðåùåí
gdel_group=Óäàëåíèå çàïèñåé ôàéëà ãðóïï ..
logins_head=Çàôèêñèðîâàííûå ðåãèñòðàöèè äëÿ $1
usave_eprimary=Âàì íå ðàçðåøåíî äîáàâëÿòü ýòîãî ïîëüçîâàòåëÿ â ïåðâè÷íóþ ãðóïïó $1
gsave_einuse=èìÿ ãðóïïû '$1' óæå èñïîëüçóåòñÿ
udel_sure=Âû óâåðåíû, ÷òî âû õîòèòå óäàëèòü äëÿ ïîëüçîâàòåëÿ $1 ? Äîìàøíèé êàòàëîã $2 ñîäåðæàùèé $3 Êáàéò èíôîðìàöèè
acl_home=Äîìàøíèå êàòàëîãè äîëæíû íàõîäèòñÿ ïîä
gedit_homedirs=Äîìàøíèå êàòàëîãè
logins_from=Âõîä Ñ
logins_out=Âðåìÿ Âûõîäà
expire2=Èñòå÷åíèå ñðîêà ó÷åòíîé çàïèñè
gedit_allfiles=Âñå ôàéëû
uedit_details=Ïàðàìåòðû Ïîëüçîâàòåëÿ
index_users=Ëîêàëüíûå Ïîëüçîâàòåëè
uedit_title=Ðåäàêòèðîâàíèå Ïîëüçîâàòåëÿ
index_toomany=Ñëèøêîì ìíîãî ïîëüçîâàòåëåé â ñèñòåìå, ÷òîáû ïîêàçàòü èõ íà îäíîé ñòðàíèöå
usave_eshell='$1' íå ÿâëÿåòñÿ äîïóñòèìûì
acl_uedit_uid=Ïîëüçîâàòåëè ñ UIDàìè â äèàïàçîíå 
udel_del1=Óäàëåíèå Ïîëüçîâàòåëÿ
udel_del2=Óäàëåíèå Ïîëüçîâàòåëÿ è Äîìàøíåãî Êàòàëîãà
usave_euid='$1' íå ÿâëâåòñÿ äîïóñòèìûì UID
gsave_ecreate=Âû íå ìîæåòå ñîçäàâàòü íîâûå ãðóïïû
usave_elowgid=GID äîëæåí áûòü áîëüøå èëè ðàâåí $1
acl_umultiple=Áîëåå îäíîãî ïîëüçîâàòåëÿ èìåþò îäèíàêîâûé UID
usave_eprimaryr=Âàì íå ðàçðåøåíî óäàëÿòü ýòîãî ïîëüçîâàòåëÿ èç ïåðâè÷íîé ãðóïïû $1
index_nmatches=íå ñîâïàäàåò
gdel_sure=Âû óâåðåíû, ÷òî âû õîòèòå óäàëèòü ãðóïïó $1 ?
index_nequals=íå ðàâåínot 
many_egid=Íåâåðíûé GID â ñòðîêå $1 : $2
index_find=Ïîèñê ïîëüçîâàòåëåé, ÷åé
gdel_ealready=Äàííàÿ ãðóïïà óæå óäàëåíà!
udel_euser=Âû íå ìîæåòå óäàëèòü ýòîãî ïîëüçîâàòåëÿ
inactive=Íåàêòèâíî äíåé
search_title=Ðåçóëüòàòû Ïîèñêà
udel_title=Óäàëåíèå Ïîëüçîâàòåëÿ
usave_egidused=Ãðóïïà $1 óæå èñïîëüçóåò GID $2
index_notusers=Âàì íå ðàçðåøåíî ðåäàêòèðîâàíòü ïîëüçîâàòåëåé äàííîé ñèñòåìû
index_createuser=Ñîçäàíèå íîâîãî ïîëüçîâàòåëÿ
gdel_title=Óäàëåíèå Ãðóïïû
gdel_err=Îøèáêà ïðè óäàëåíèè ãðóïïû
many_makehome=Ñîçäàâàòü äîìàøíèå êàòàëîãè?
acl_epeopt=Ìîæåò ðåäàêòèðîâàòü ïàðàìåòðû óñòàðåâàíèÿ?
acl_all=Âñå
acl_any=Ëþáûå
acl_egp=Ìîæåò ðåäàêòèðîâàòü ãðóïïîâûå ïàðîëè?
usave_ehiuid=UID äîëæåí áûòü ìåíüøå èëè ðàâåí $1
shell=Shell
usave_ehomepath=Âàì íå ðàçðåøåíî ñîçäàâàòü äîìàøíèé êàòàëîã $1
chgid=Èçìåíèòü ID ãðóïïû íà ôàéëû?
acl_gmultiple=Áîëåå îäíîé ãðóïïû ìîãóò èìåòü îäèíàêîâûé GID
uedit_gmem=Ïðèíàäëåæíîñòü ê Ãðóïïàì
usave_err=Îøèáêà ïðè ñîõðàíåíèè ïîëüçîâàòåëÿ
uedit_never=Íèêîãäà
gedit_group=Èìÿ ãðóïïû
index_equals=ðàâåí
index_nomoregroups=Âàì íå ðàçðåøåíî ñîçäàâàòü ãðóïïû
index_createmany=Îäíîâðåìåííîå ñîçäàíèå ïîëüçîâàòåëåé
acl_uedit=Ïîëüçîâàòåëè Unix, êîòîðûå ìîãóò áûòü îòðåäàêòèðîâàíû 
index_logins=Ïîêàçàòü ðåãèñòðàöèè
uedit_title2=Ñîçäàíèå Ïîëüçîâàòåëÿ
pass=Ïàðîëü
usave_eexpire=íåâåðíàÿ äàòà èñòå÷åíèÿ
many_efile=Íå âûáðàí ôàéë äëÿ çàãðóçêè
many_local=Ëîêàëüíûé ôàéë ñ íîâûìè ïîëüçîâàòåëÿìè
none1=Ñïðîñèòü ïðè ïåðâîì âõîäå
gsave_ebadname='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ãðóïïû
none2=Íå òðåáóåò ïàðîëÿ
usave_echown=íå ìîãó ñìåíèòü âëàäåëüöà äîìàøíåãî êàòàëîãà : $1
acl_listed=Èç ñïèñêà..
group=Ïåðâè÷íàÿ ãðóïïà
udel_sure2=Âû óâåðåíû, ÷òî âû õîòèòå óäàëèòü ïîëüçîâàòåëÿ $1 ?
usave_euidused=Ïîëüçîâàòåëü $1 óæå èñïîëüçóåò UID $2
usave_egcreate=Âàøà ñèñòåìà íàñòðîåíà íà ñîçäàíèå íîâûõ ãðóïï äëÿ íîâûõ ïîëüçîâàòåëåé, íî âàì íå ðàçðåøåíî ñîçäàâàòü íîâûå ãðóïïû
logins_tty=TTY
usave_esecondary=Âàì íå ðàçðåøåíî äîáàâëÿòü ýòîãî ïîëüçîâàòåëÿ âî âòîðè÷íóþ ãðóïïó $1
many_ok=Ñîçäàí ïîëüçîâàòåëü $1
usave_echange=íåâåðíàÿ äàòà èçìåíåíèÿ
usave_egid='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ãðóïïîé
gsave_err=Îøèáêà ïðè ñîõðàíåíèè ãðóïïû
uedit_makehome=Ñîçäàâàòü äîìàøíèé êàòàëîã?
acl_autohome=Äîìàøíèå êàòàëîãè ñîâïàäàþò ñ èìåíàìè ïîëüçîâàòåëåé
acl_lall=Âñåõ ïîëüçîâàòåëåé
acl_logins=Ìîæåò ïðîñìàòðèâàòü ðåãèñòðàöèè
udel_pass=Óäàëåíèå ðåãèñòðàöèîííîé çàïèñè èç ôàéëà ïîëüçîâàòåëåé ..
gsave_egid='$1' íå ÿâëÿåòñÿ äîïóñòèìûì GID
logins_none=Íåò Çàïèñåé î Ðåãèñòðàöèè
uedit_logins=Ïîêàçûâàòü Ðåãèñòðàöèè
uedit_unknown=Íåèçâåñòíî
acl_uedit_group=Ïîëüçîâàòåëè ñ ãðóïïîé
usave_ecreate=Âû íå ìîæåòå ñîçäàâàòü íîâûõ ïîëüçîâàòåëåé
udel_groups=Óäàëåíèå èç ãðóïï ..
acl_lnone=Íèêîãî
acl_uedit_except=Âñå êðîìå ïîëüçîâàòåëåé
acl_uedit_only=Òîëüêî ïîëüçîâàòåëè
many_elen=Ñòðîêà $1 íå ñîäåðæèò ïîëåé $2
usave_einactive='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïåðèîäîì íåàêòèâíîñòè
acl_gedit_only=Òîëüêî ãðóïïû
acl_gcreate=Ìîæåò ñîçäàâàòü íîâûå ãðóïïû?
udel_err=Îøèáêà ïðè óäàëåíèè ïîëüçîâàòåëÿ
uedit_movehome=Ïåðåìåñòèòü äîìàøíèé êàòàëîã, åñëè èçìåíèëñÿ?
many_ehome=Íåäîïóñòèìûé äîìàøíèé êàòàëîã â ñòðîêå $1 : $2
uedit_allfiles=Âñå ôàéëû
gedit_title=Ðåäàêòèðîâàíèå Ãðóïïû
acl_gedit_gid=Ãðóïïû ñ GIDàìè â äèàïàçîíå
many_file=Çàãðóæàåìûé ôàéë ñ íîâûìè ïîëüçîâàòåëÿìè
udel_ealready=Ýòîò ïîëüçîâàòåëü óæå óäàëåí!
acl_uid=UIDû äëÿ íîâûõ èëè ìîäèôèöèðîâààííûõ ïîëüçîâàòåëåé
index_return=ñïèñîê ïîëüçîâàòåëåé è ãðóïï
uedit_chuid=Èçìåíèòü ID ïîëüçîâàòåëÿ íà ôàéëû?
usave_ehigid=GID äîëæåí áûòü ìåíüøå èëè ðàâåí $1
many_euser=Ïîâòîðÿþùååñÿ èìÿ ïîëüçîâàòåëÿ â ñòðîêå $1 : $2
usave_eedit=Âû íå ìîæåòå ðåäàêòèðîâàòü ýòîãî ïîëüçîâàòåëÿ
many_title=Îäíîâðåìåííîå Ñîçäàíèå Ïîëüçîâàòåëåé
many_upload=Ñîçäàòü ïîëüçîâàòåëåé
logins_for=Íà Ëèíèè
usave_einuseg=èìÿ ãðóïïûthe '$1' óæå èñïîëüçóåòñÿ
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
logins_title=Çàôèêñèðîâàííûå Ðåãèñòðàöèè
index_groups=Ëîêàëüíûå Ãðóïïû
gedit_title2=Ñîçäàíèå Ãðóïïû
index_notgroups=Âàì íå ðàçðåøåíî ðåäàêòèðîâàíòü ãðóïïû íà äàííîé ñèñòåìå
acl_ucreate=Ìîæåò ñîçäàâàòü íîâîãî ïîëüçîâàòåëÿ?
logins_still=Âñå åùå çàðåãèñòðèðîâàí â ñèñòåìå
index_matches=ñîâïàäàåò
usave_eclass='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êëàññîì ðåãèñòðàöèè
expire=Äàòà èñòå÷åíèÿ ñðîêà
acl_shells=Ðàçðåøåííûå shellû äëÿ íîâûõ èëè èçìåíåííûõ ïîëüçîâàòåëåé
gdel_egroup=Âû íå ìîæåòå óäàëèòü ýòó ãðóïïó
uedit_other=Äðóãîé..
uedit_newg=Íîâàÿ ãðóïïà
max=Ìàêñèìàëüíî äíåé
warn=Ïðåäóïðåæäåíèå äíåé
usave_einuse=èìÿ ïîëüçîâàòåëÿ '$1' óæå èñïîëüçóåòñÿ
many_emkdir=Îøèáêà ïðè ñîçäàíèè äîìàøíåãî êàòàëîãà $1 : $2
change=Ñìåíà ïàðîëÿ
usave_echmod=íå ìîãó èçìåíèòü ïðàâà äîñòóïà íà äîìàøíèé êàòàëîã : $1
uedit_eedit=Âû íå ìîæåòå ðåäàêòèðîâàòü ýòîãî ïîëüçîâàòåëÿ
gedit_details=Ïàðàìåòðû Ãðóïïû
uedit_ecreate=Âû íå ìîæåòå ñîçäàòü íîâîãî ïîëüçîâàòåëÿ
index_title=Ïîëüçîâàòåëè è Ãðóïïû
usave_ewarn='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïåðèîäîì ïðåäóïðåæäåíèÿ
acl_gedit_except=Âñå êðîìå ãðóïï
uedit_2nd=Âòîðè÷íûå ãðóïïû
clear=Òåêñòîâûé ïàðîëü
usave_ebadname='$1' íå ÿâëâåòñÿ äîïóñòèìûì èìåíåì ïîëüçîâàòåëÿ
usave_emove=îøèáêà ïðè ïåðåìåùåíèè äîìàøíåãî êàòàëîãà : $1
usave_esecondaryr=Âàì íå ðàçðåøåíî óäàëÿòü ýòîãî ïîëüçîâàòåëÿ èç âòîðè÷íîé ãðóïïû $1
min=Ìèíèìàëüíî äíåé
index_creategroup=Ñîçäàíèå íîâîé ãðóïïû
real=Íàñòîÿùåå èìÿ/Êîììåíòàðèé
acl_gid=GIDû äëÿ íîâûõ èëè èçìåíåííûõ ãðóïï
udel_done=.. Âûïîëíåíî
uedit_copy=Êîïèðîâàòü ôàéëû â äîìàøíèé êàòàëîã?
change2=Âðåìÿ ñìåíû ïàðîëÿ
home=Äîìàøíèé êàòàëîã
uedit_passopts=Ïàðàìåòðû Ïàðîëÿ
acl_uedit_all=Âñå ïîëüçîâàòåëè
udel_other=Óäàëåíèå èç äðóãèõ ìîäóëåé ..
usave_ereal='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðåàëüíûì èìåíåì
many_copy=Êîïèðîâàòü ôàéëû â äîìàøíèå êàòàëîãè?
acl_ugroups=Ðàçðåøåííûå ãðóïïû äëÿ íîâûõ èëè èçìåíåííûõ ïîëüçîâàòåëåé
usave_ehome='$1' íå ÿâëÿåòñÿ äîïóñòèìûì äîìàøíèì êàòàëîãîì
many_descafter=Åñëè ïîëå <tt>uid</tt> îñòàâèòü ïóñòûì, Webmin àâòîìàòè÷åñêè ïðèñâîèò UID. Ïîëÿ <tt>username</tt>, <tt>gid</tt>, <tt>homedir</tt> è <tt>shell</tt> äîëæíû áûòü â íàëè÷èè äëÿ êàæäîãî ïîëüçîâàòåëÿ - âñå îñòàëüíûå ïîëÿ ìîãóò áûòü ïóñòûìè.
encrypted=Øèôðîâàííûé ïàðîëü
gdel_del=Óäàëåíèå Ãðóïïû
class=Êëàññ ðåãèñòðàöèè
logins_in=Âðåìÿ Âõîäà
usave_elowuid=UID äîëæåí áûòü áîëüøå èëè ðàâåí $1
user=Èìÿ
acl_gedit=Ãðóïïû Unix, êîòîðûå ìîãóò áûòü îòðåäàêòèðîâàííû
uedit_auto=Àâòîìàòè÷åñêè
udel_home=Óäàëåíèå äîìàøíåãî êàòàëîãà ..
many_eshell=Íåäîïóñòèìûé shell â ñòðîêå at line $1 : $2
index_nomoreusers=Âàì íå ðàçðåøåíî ñîçäàâàòü ïîëüçîâàòåëåé
uid=ID Ïîëüçîâàòåëÿ
gdel_eprimary=Ýòî ïåðâè÷íàÿ ãðóïïà äëÿ ïîëüçîâàòåëÿ $1
gdel_done=.. Âûïîëíåíî
udel_ugroup=Óäàëåíèå ãðóïïû äàííîãî ïîëüçîâàòåëÿ ..
  07070100078f1b000081a40000000000000002000000013d1fe2bf000021e0000000200000000000000000000000000000001b00000003reloc/useradmin/lang/ru_SU    index_title=ðÏÌØÚÏ×ÁÔÅÌÉ É çÒÕÐÐÙ
index_toomany=óÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × ÓÉÓÔÅÍÅ, ÞÔÏÂÙ ÐÏËÁÚÁÔØ ÉÈ ÎÁ ÏÄÎÏÊ ÓÔÒÁÎÉÃÅ
index_find=ðÏÉÓË ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÞÅÊ
index_users=ìÏËÁÌØÎÙÅ ðÏÌØÚÏ×ÁÔÅÌÉ
index_notusers=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÎÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÄÁÎÎÏÊ ÓÉÓÔÅÍÙ
index_createuser=óÏÚÄÁÎÉÅ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
index_createmany=ïÄÎÏ×ÒÅÍÅÎÎÏÅ ÓÏÚÄÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_nomoreusers=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
index_groups=ìÏËÁÌØÎÙÅ çÒÕÐÐÙ
index_notgroups=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÒÅÄÁËÔÉÒÏ×ÁÎÔØ ÇÒÕÐÐÙ ÎÁ ÄÁÎÎÏÊ ÓÉÓÔÅÍÅ
index_creategroup=óÏÚÄÁÎÉÅ ÎÏ×ÏÊ ÇÒÕÐÐÙ
index_nomoregroups=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÇÒÕÐÐÙ
index_logins=ðÏËÁÚÁÔØ ÒÅÇÉÓÔÒÁÃÉÉ
index_return=ÓÐÉÓÏË ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÇÒÕÐÐ
index_equals=ÒÁ×ÅÎ
index_matches=ÓÏ×ÐÁÄÁÅÔ
index_nequals=ÎÅ ÒÁ×ÅÎnot 
index_nmatches=ÎÅ ÓÏ×ÐÁÄÁÅÔ

search_title=òÅÚÕÌØÔÁÔÙ ðÏÉÓËÁ

uedit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
uedit_title2=óÏÚÄÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
uedit_details=ðÁÒÁÍÅÔÒÙ ðÏÌØÚÏ×ÁÔÅÌÑ
user=éÍÑ
uid=ID ðÏÌØÚÏ×ÁÔÅÌÑ
real=îÁÓÔÏÑÝÅÅ ÉÍÑ/ëÏÍÍÅÎÔÁÒÉÊ
pass=ðÁÒÏÌØ
none1=óÐÒÏÓÉÔØ ÐÒÉ ÐÅÒ×ÏÍ ×ÈÏÄÅ
none2=îÅ ÔÒÅÂÕÅÔ ÐÁÒÏÌÑ
nologin=÷ÈÏÄ × ÓÉÓÔÅÍÕ ÚÁÐÒÅÝÅÎ
encrypted=ûÉÆÒÏ×ÁÎÎÙÊ ÐÁÒÏÌØ
clear=ôÅËÓÔÏ×ÙÊ ÐÁÒÏÌØ
home=äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ
uedit_auto=á×ÔÏÍÁÔÉÞÅÓËÉ
shell=Shell
uedit_other=äÒÕÇÏÊ..
uedit_passopts=ðÁÒÁÍÅÔÒÙ ðÁÒÏÌÑ
change2=÷ÒÅÍÑ ÓÍÅÎÙ ÐÁÒÏÌÑ
expire2=éÓÔÅÞÅÎÉÅ ÓÒÏËÁ ÕÞÅÔÎÏÊ ÚÁÐÉÓÉ
class=ëÌÁÓÓ ÒÅÇÉÓÔÒÁÃÉÉ
change=óÍÅÎÁ ÐÁÒÏÌÑ
uedit_never=îÉËÏÇÄÁ
uedit_unknown=îÅÉÚ×ÅÓÔÎÏ
expire=äÁÔÁ ÉÓÔÅÞÅÎÉÑ ÓÒÏËÁ
min=íÉÎÉÍÁÌØÎÏ ÄÎÅÊ
max=íÁËÓÉÍÁÌØÎÏ ÄÎÅÊ
warn=ðÒÅÄÕÐÒÅÖÄÅÎÉÅ ÄÎÅÊ
inactive=îÅÁËÔÉ×ÎÏ ÄÎÅÊ
uedit_gmem=ðÒÉÎÁÄÌÅÖÎÏÓÔØ Ë çÒÕÐÐÁÍ
group=ðÅÒ×ÉÞÎÁÑ ÇÒÕÐÐÁ
uedit_newg=îÏ×ÁÑ ÇÒÕÐÐÁ
uedit_2nd=÷ÔÏÒÉÞÎÙÅ ÇÒÕÐÐÙ
onsave=ðÒÉ óÏÈÒÁÎÅÎÉÉ..
uedit_movehome=ðÅÒÅÍÅÓÔÉÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ, ÅÓÌÉ ÉÚÍÅÎÉÌÓÑ?
uedit_chuid=éÚÍÅÎÉÔØ ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÁ ÆÁÊÌÙ?
uedit_allfiles=÷ÓÅ ÆÁÊÌÙ
chgid=éÚÍÅÎÉÔØ ID ÇÒÕÐÐÙ ÎÁ ÆÁÊÌÙ?
uedit_oncreate=ðÒÉ óÏÚÄÁÎÉÉ..
uedit_makehome=óÏÚÄÁ×ÁÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ?
uedit_copy=ëÏÐÉÒÏ×ÁÔØ ÆÁÊÌÙ × ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ?
uedit_logins=ðÏËÁÚÙ×ÁÔØ òÅÇÉÓÔÒÁÃÉÉ
uedit_ecreate=÷Ù ÎÅ ÍÏÖÅÔÅ ÓÏÚÄÁÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
uedit_eedit=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ

usave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
usave_eedit=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
usave_ecreate=÷Ù ÎÅ ÍÏÖÅÔÅ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
usave_ebadname='$1' ÎÅ Ñ×Ì×ÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÏÌØÚÏ×ÁÔÅÌÑ
usave_einuse=ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ '$1' ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ
usave_einuseg=ÉÍÑ ÇÒÕÐÐÙthe '$1' ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ
usave_euid='$1' ÎÅ Ñ×Ì×ÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ UID
usave_elowuid=UID ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÅÎ $1
usave_ehiuid=UID ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ÉÌÉ ÒÁ×ÅÎ $1
usave_euidused=ðÏÌØÚÏ×ÁÔÅÌØ $1 ÕÖÅ ÉÓÐÏÌØÚÕÅÔ UID $2
usave_ereal='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÅÁÌØÎÙÍ ÉÍÅÎÅÍ
usave_ehome='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÄÏÍÁÛÎÉÍ ËÁÔÁÌÏÇÏÍ
usave_ehomepath=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ $1
usave_eshell='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ
usave_egid='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÇÒÕÐÐÏÊ
usave_egcreate=÷ÁÛÁ ÓÉÓÔÅÍÁ ÎÁÓÔÒÏÅÎÁ ÎÁ ÓÏÚÄÁÎÉÅ ÎÏ×ÙÈ ÇÒÕÐÐ ÄÌÑ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÎÏ ×ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ ÇÒÕÐÐÙ
usave_eprimary=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÄÏÂÁ×ÌÑÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ × ÐÅÒ×ÉÞÎÕÀ ÇÒÕÐÐÕ $1
usave_esecondary=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÄÏÂÁ×ÌÑÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ×Ï ×ÔÏÒÉÞÎÕÀ ÇÒÕÐÐÕ $1
usave_eprimaryr=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÚ ÐÅÒ×ÉÞÎÏÊ ÇÒÕÐÐÙ $1
usave_esecondaryr=÷ÁÍ ÎÅ ÒÁÚÒÅÛÅÎÏ ÕÄÁÌÑÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÚ ×ÔÏÒÉÞÎÏÊ ÇÒÕÐÐÙ $1
usave_emin='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÍÉÎÉÍÁÌØÎÙÍ ÐÅÒÉÏÄÏÍ ÉÚÍÅÎÅÎÉÑ
usave_emax='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÍÁËÓÉÍÁÌØÎÙÍ ÐÅÒÉÏÄÏÍ ÉÚÍÅÎÅÎÉÑ
usave_ewarn='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÅÒÉÏÄÏÍ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ
usave_einactive='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÅÒÉÏÄÏÍ ÎÅÁËÔÉ×ÎÏÓÔÉ
usave_eexpire=ÎÅ×ÅÒÎÁÑ ÄÁÔÁ ÉÓÔÅÞÅÎÉÑ
usave_echange=ÎÅ×ÅÒÎÁÑ ÄÁÔÁ ÉÚÍÅÎÅÎÉÑ
usave_eclass='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÌÁÓÓÏÍ ÒÅÇÉÓÔÒÁÃÉÉ
usave_emove=ÏÛÉÂËÁ ÐÒÉ ÐÅÒÅÍÅÝÅÎÉÉ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ : $1
usave_emkdir=ÎÅ ÍÏÇÕ ÓÏÚÄÁÔØ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ : $1
usave_echown=ÎÅ ÍÏÇÕ ÓÍÅÎÉÔØ ×ÌÁÄÅÌØÃÁ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ : $1
usave_echmod=ÎÅ ÍÏÇÕ ÉÚÍÅÎÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÎÁ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ : $1

gedit_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ çÒÕÐÐÙ
gedit_title2=óÏÚÄÁÎÉÅ çÒÕÐÐÙ
gedit_details=ðÁÒÁÍÅÔÒÙ çÒÕÐÐÙ
gedit_group=éÍÑ ÇÒÕÐÐÙ
gedit_gid=ID ÇÒÕÐÐÙ
gedit_members=þÌÅÎÙ ÇÒÕÐÐÙ
gedit_homedirs=äÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ
gedit_allfiles=÷ÓÅ ÆÁÊÌÙ

gsave_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÇÒÕÐÐÙ
gsave_eedit=÷Ù ÎÅ ÍÏÖÅÔÅ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÜÔÕ ÇÒÕÐÐÕ
gsave_ecreate=÷Ù ÎÅ ÍÏÖÅÔÅ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ ÇÒÕÐÐÙ
gsave_ebadname='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÇÒÕÐÐÙ
gsave_einuse=ÉÍÑ ÇÒÕÐÐÙ '$1' ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ
gsave_egid='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ GID
usave_elowgid=GID ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÅÎ $1
usave_ehigid=GID ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎØÛÅ ÉÌÉ ÒÁ×ÅÎ $1
usave_egidused=çÒÕÐÐÁ $1 ÕÖÅ ÉÓÐÏÌØÚÕÅÔ GID $2

logins_title=úÁÆÉËÓÉÒÏ×ÁÎÎÙÅ òÅÇÉÓÔÒÁÃÉÉ
logins_head=úÁÆÉËÓÉÒÏ×ÁÎÎÙÅ ÒÅÇÉÓÔÒÁÃÉÉ ÄÌÑ $1
logins_from=÷ÈÏÄ ó
logins_tty=TTY
logins_in=÷ÒÅÍÑ ÷ÈÏÄÁ
logins_out=÷ÒÅÍÑ ÷ÙÈÏÄÁ
logins_for=îÁ ìÉÎÉÉ
logins_still=÷ÓÅ ÅÝÅ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎ × ÓÉÓÔÅÍÅ
logins_none=îÅÔ úÁÐÉÓÅÊ Ï òÅÇÉÓÔÒÁÃÉÉ

udel_title=õÄÁÌÅÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
udel_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ
udel_euser=÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÜÔÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ
udel_ealready=üÔÏÔ ÐÏÌØÚÏ×ÁÔÅÌØ ÕÖÅ ÕÄÁÌÅÎ!
udel_other=õÄÁÌÅÎÉÅ ÉÚ ÄÒÕÇÉÈ ÍÏÄÕÌÅÊ ..
udel_pass=õÄÁÌÅÎÉÅ ÒÅÇÉÓÔÒÁÃÉÏÎÎÏÊ ÚÁÐÉÓÉ ÉÚ ÆÁÊÌÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ..
udel_groups=õÄÁÌÅÎÉÅ ÉÚ ÇÒÕÐÐ ..
udel_ugroup=õÄÁÌÅÎÉÅ ÇÒÕÐÐÙ ÄÁÎÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ..
udel_home=õÄÁÌÅÎÉÅ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ ..
udel_done=.. ÷ÙÐÏÌÎÅÎÏ
udel_sure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ $1 ? äÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ $2 ÓÏÄÅÒÖÁÝÉÊ $3 ëÂÁÊÔ ÉÎÆÏÒÍÁÃÉÉ
udel_sure2=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÐÏÌØÚÏ×ÁÔÅÌÑ $1 ?
udel_del1=õÄÁÌÅÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ
udel_del2=õÄÁÌÅÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÑ É äÏÍÁÛÎÅÇÏ ëÁÔÁÌÏÇÁ

gdel_title=õÄÁÌÅÎÉÅ çÒÕÐÐÙ
gdel_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÇÒÕÐÐÙ
gdel_egroup=÷Ù ÎÅ ÍÏÖÅÔÅ ÕÄÁÌÉÔØ ÜÔÕ ÇÒÕÐÐÕ
gdel_ealready=äÁÎÎÁÑ ÇÒÕÐÐÁ ÕÖÅ ÕÄÁÌÅÎÁ!
gdel_group=õÄÁÌÅÎÉÅ ÚÁÐÉÓÅÊ ÆÁÊÌÁ ÇÒÕÐÐ ..
gdel_done=.. ÷ÙÐÏÌÎÅÎÏ
gdel_eprimary=üÔÏ ÐÅÒ×ÉÞÎÁÑ ÇÒÕÐÐÁ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ $1
gdel_sure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ×Ù ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ÇÒÕÐÐÕ $1 ?
gdel_del=õÄÁÌÅÎÉÅ çÒÕÐÐÙ

many_title=ïÄÎÏ×ÒÅÍÅÎÎÏÅ óÏÚÄÁÎÉÅ ðÏÌØÚÏ×ÁÔÅÌÅÊ
many_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÓÏÚÄÁ×ÁÔØ ÍÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÚÁ ÒÁÚ ÉÚ ÚÁÇÒÕÖÁÅÍÏÇÏ ÉÌÉ ÌÏËÁÌØÎÏÇÏ ÔÅËÓÔÏ×ÏÇÏ ÆÁÊÌÁ. ëÁÖÄÁÑ ÌÉÎÉÑ ÆÁÊÌÁ ÏÐÉÓÙ×ÁÅÔ ÏÄÎÏÇÏ ÉÚ ÐÏÌØÚÏ×ÁÔÅÌÅÊ × ÓÌÅÄÕÀÝÅÍ ÆÏÒÍÁÔÅ :
many_desc2=username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire
many_desc1=username:passwd:uid:gid:realname:homedir:shell:class:change:expire
many_desc0=username:passwd:uid:gid:realname:homedir:shell
many_descafter=åÓÌÉ ÐÏÌÅ <tt>uid</tt> ÏÓÔÁ×ÉÔØ ÐÕÓÔÙÍ, Webmin Á×ÔÏÍÁÔÉÞÅÓËÉ ÐÒÉÓ×ÏÉÔ UID. ðÏÌÑ <tt>username</tt>, <tt>gid</tt>, <tt>homedir</tt> É <tt>shell</tt> ÄÏÌÖÎÙ ÂÙÔØ × ÎÁÌÉÞÉÉ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ - ×ÓÅ ÏÓÔÁÌØÎÙÅ ÐÏÌÑ ÍÏÇÕÔ ÂÙÔØ ÐÕÓÔÙÍÉ.
many_file=úÁÇÒÕÖÁÅÍÙÊ ÆÁÊÌ Ó ÎÏ×ÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ
many_local=ìÏËÁÌØÎÙÊ ÆÁÊÌ Ó ÎÏ×ÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ
many_makehome=óÏÚÄÁ×ÁÔØ ÄÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ?
many_copy=ëÏÐÉÒÏ×ÁÔØ ÆÁÊÌÙ × ÄÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ?
many_upload=óÏÚÄÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
many_elocal=ìÏËÁÌØÎÙÊ ÆÁÊÌ ÎÅ ÎÁÊÄÅÎ
many_efile=îÅ ×ÙÂÒÁÎ ÆÁÊÌ ÄÌÑ ÚÁÇÒÕÚËÉ
many_elen=óÔÒÏËÁ $1 ÎÅ ÓÏÄÅÒÖÉÔ ÐÏÌÅÊ $2
many_euser=ðÏ×ÔÏÒÑÀÝÅÅÓÑ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ × ÓÔÒÏËÅ $1 : $2
many_egid=îÅ×ÅÒÎÙÊ GID × ÓÔÒÏËÅ $1 : $2
many_ehome=îÅÄÏÐÕÓÔÉÍÙÊ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ × ÓÔÒÏËÅ $1 : $2
many_eshell=îÅÄÏÐÕÓÔÉÍÙÊ shell × ÓÔÒÏËÅ at line $1 : $2
many_emkdir=ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÄÏÍÁÛÎÅÇÏ ËÁÔÁÌÏÇÁ $1 : $2
many_ok=óÏÚÄÁÎ ÐÏÌØÚÏ×ÁÔÅÌØ $1

acl_uedit=ðÏÌØÚÏ×ÁÔÅÌÉ Unix, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÔÒÅÄÁËÔÉÒÏ×ÁÎÙ 
acl_uedit_all=÷ÓÅ ÐÏÌØÚÏ×ÁÔÅÌÉ
acl_uedit_none=îÉËÔÏ
acl_uedit_only=ôÏÌØËÏ ÐÏÌØÚÏ×ÁÔÅÌÉ
acl_uedit_except=÷ÓÅ ËÒÏÍÅ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_uedit_uid=ðÏÌØÚÏ×ÁÔÅÌÉ Ó UIDÁÍÉ × ÄÉÁÐÁÚÏÎÅ 
acl_uedit_group=ðÏÌØÚÏ×ÁÔÅÌÉ Ó ÇÒÕÐÐÏÊ
acl_ucreate=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ?
acl_uid=UIDÙ ÄÌÑ ÎÏ×ÙÈ ÉÌÉ ÍÏÄÉÆÉÃÉÒÏ×ÁÁÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_umultiple=âÏÌÅÅ ÏÄÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÙÊ UID
acl_ugroups=òÁÚÒÅÛÅÎÎÙÅ ÇÒÕÐÐÙ ÄÌÑ ÎÏ×ÙÈ ÉÌÉ ÉÚÍÅÎÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_all=÷ÓÅ
acl_shells=òÁÚÒÅÛÅÎÎÙÅ shellÙ ÄÌÑ ÎÏ×ÙÈ ÉÌÉ ÉÚÍÅÎÅÎÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_any=ìÀÂÙÅ
acl_listed=éÚ ÓÐÉÓËÁ..
acl_home=äÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ ÄÏÌÖÎÙ ÎÁÈÏÄÉÔÓÑ ÐÏÄ
acl_autohome=äÏÍÁÛÎÉÅ ËÁÔÁÌÏÇÉ ÓÏ×ÐÁÄÁÀÔ Ó ÉÍÅÎÁÍÉ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_gedit=çÒÕÐÐÙ Unix, ËÏÔÏÒÙÅ ÍÏÇÕÔ ÂÙÔØ ÏÔÒÅÄÁËÔÉÒÏ×ÁÎÎÙ
acl_gedit_all=÷ÓÅ ÇÒÕÐÐÙ
acl_gedit_none=îÉËÁËÉÅ
acl_gedit_only=ôÏÌØËÏ ÇÒÕÐÐÙ
acl_gedit_except=÷ÓÅ ËÒÏÍÅ ÇÒÕÐÐ
acl_gedit_gid=çÒÕÐÐÙ Ó GIDÁÍÉ × ÄÉÁÐÁÚÏÎÅ
acl_gcreate=íÏÖÅÔ ÓÏÚÄÁ×ÁÔØ ÎÏ×ÙÅ ÇÒÕÐÐÙ?
acl_gnew=ôÏÌØËÏ ÄÌÑ ÎÏ×ÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_gid=GIDÙ ÄÌÑ ÎÏ×ÙÈ ÉÌÉ ÉÚÍÅÎÅÎÎÙÈ ÇÒÕÐÐ
acl_gmultiple=âÏÌÅÅ ÏÄÎÏÊ ÇÒÕÐÐÙ ÍÏÇÕÔ ÉÍÅÔØ ÏÄÉÎÁËÏ×ÙÊ GID
acl_logins=íÏÖÅÔ ÐÒÏÓÍÁÔÒÉ×ÁÔØ ÒÅÇÉÓÔÒÁÃÉÉ
acl_lnone=îÉËÏÇÏ
acl_lall=÷ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_epeopt=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÕÓÔÁÒÅ×ÁÎÉÑ?
acl_egp=íÏÖÅÔ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÇÒÕÐÐÏ×ÙÅ ÐÁÒÏÌÉ?
07070100078f1c000081a40000000000000002000000013d1fe2bf000030f8000000200000000000000000000000000000001800000003reloc/useradmin/lang/sv   index_title=Användare och grupper
index_toomany=Alla användare i systemet får inte plats på en sida
index_find=Sök användare vars
index_gtoomany=Alla grupper i systemet får inte plats på en sida
index_gfind=Sök grupper vars
index_ugroup=Primära grupp
index_users=Lokala användare
index_notusers=Du får inte ändra någon användare i detta system
index_createuser=Lägg till användare
index_batch=Skapa, ändra och ta bort användare från batchfil
index_nomoreusers=Du får inte lägga till fler användare
index_groups=Lokala grupper
index_notgroups=Du får inte ändra någon grupp i detta system
index_creategroup=Lägg till grupp
index_nomoregroups=Du får inte lägga till fler grupper
index_logins=Visa inloggningar som
index_return=användar- och grupplista
index_equals=är samma som
index_matches=matchar
index_nequals=inte är samma som
index_nmatches=inte matchar

search_title=Sökresultat
search_notfound=Inga användare matchade sökvillkoret
search_gnotfound=Inga grupper matchade sökvillkoret

uedit_title=Ändra användare
uedit_title2=Lägg till användare
uedit_details=Uppgifter om användare
user=Användarnamn
uid=Användar-ID (UID)
real=Personens namn
pass=Lösenord
none1=Ange vid första inloggning
none2=Inget lösenord
nologin=Får ej logga in
encrypted=Förkrypterat lösenord
nochange=Ändra inte
clear=Normalt lösenord
home=Hemkatalog
uedit_auto=Automatisk
shell=Skal
uedit_other=Övriga ...
uedit_passopts=Inställningar för lösenord
change2=Datum för ändring av lösenord
expire2=Livslängd för konto
class=Inloggningsklass
change=Lösenordet ändrat
flags=Kontoflaggor
uedit_never=Aldrig
uedit_unknown=Okänd
expire=Upphör
min=Minimalt antal dagar
max=Maximalt antal dagar
warn=Varning (dagar)
inactive=Inaktiv (dagar)
uedit_gmem=Gruppmedlemskap
group=Primär grupp
uedit_newg=Ny grupp
uedit_oldg=Befintlig grupp
uedit_2nd=Sekundära grupper
onsave=När du sparar ...
uedit_movehome=Flytta hemkatalog vid ändring?
uedit_chuid=Byta användar-ID för filer?
uedit_allfiles=Alla filer
chgid=Byta grupp-ID för filer?
uedit_oncreate=När du lägger upp ny ...
uedit_makehome=Skapa hemkatalog?
uedit_copy=Kopiera filer till hemkatalog?
uedit_logins=Visa inloggningar
uedit_mail=Läsa e-post
uedit_ecreate=Du får inte lägga till användare
uedit_eedit=Du får inte ändra denna användare
uedit_admin=Det är bara root som får ändra lösenord
uedit_admchg=Användaren måste ange ett nytt lösenord
uedit_nocheck=Kontrollera inte begränsningar för lösenord

usave_err=Det gick inte att spara användare
usave_eedit=Du får inte ändra denna användare
usave_ecreate=Du får inte lägga till användare
usave_ebadname='$1' är inte ett giltigt användarnamn
usave_einuse=användarnamnet '$1' används redan
usave_einuse_a=användarnamnet '$1' används redan som e-postalias
usave_einuseg=gruppnamnet '$1' används redan
usave_erename=Du får inte byta namn på användare
usave_euid='$1' är inte ett giltigt UID
usave_elowuid=UID måste vara större än eller lika med $1
usave_ehiuid=UID måste vara mindre än eller lika med $1
usave_euidused=Användare $1 har redan UID $2
usave_ereal='$1' är inte ett giltigt personnamn
usave_ehome='$1' är inte en giltig hemkatalog
usave_ehomepath=Du får inte skapa hemkatalog $1
usave_eshell='$1' är inte ett tillåtet skal
usave_egid='$1' är inte en giltig grupp
usage_egcreate=Du får inte lägga till nya grupper för nya användare
usave_eprimary=Du får inte lägga denna användare till den primära gruppen $1
usave_esecondary=Du får inte lägga denna användare till den sekundära gruppen $1
usave_eprimaryr=Du får inte ta bort denna användare från den primära gruppen $1
usave_esecondaryr=Du får inte ta bort denna användare från den sekundära gruppen $1
usave_emin='$1' är inte ett giltigt minsta ändringsintervall
usave_emax='$1' är inte ett giltigt största ändringsintervall
usave_ewarn='$1' är inte ett giltigt varningsintervall
usave_einactive='$1' är inte en giltig inaktiv period
usave_eexpire=ogiltig livstid
usave_echange=ogiltigt ändringsdatum
usave_eclass='$1' är inte en giltig inloggningsklass
usave_emove=det gick inte att flytta hemkatalogen: $1
usave_emkdir=det gick inte att skapa hemkatalogen: $1
usave_echown=det gick inte att göra chown för hemkatalogen: $1
usave_echmod=det gick inte att göra chmod för hemkatalogen: $1

gedit_title=Ändra grupp
gedit_title2=Lägg till grupp
gedit_details=Uppgifter om grupp
gedit_group=Gruppnamn
gedit_gid=Grupp-ID
gedit_members=Medlemmar
gedit_homedirs=Hemkataloger
gedit_allfiles=Alla filer
gedit_ecreate=Du får inte skapa nya grupper
gedit_eedit=Du får inte ändra den här gruppen

gsave_err=Det gick inte att spara grupp
gsave_eedit=Du får inte ändra denna grupp
gsave_ecreate=Du får inte lägga till grupper
gsave_ebadname='$1' är inte ett giltigt gruppnamn
gsave_einuse=gruppnamn '$1' används redan
gsave_egid='$1' är inte ett giltigt GID
usave_elowgid=GID måste vara större än eller lika med $1
usave_ehigid=GID måste vara mindre än eller lika med $1
usave_egidused=Grupp $1 har redan GID $2
usave_efromroot=Du får inte flytta hemkatalogen från /
usave_etoroot=Du får inte flytta hemkatalogen till /

logins_title=Registrerade inloggningar
logins_head=Registrerade inloggningar för $1
logins_from=Inloggning från
logins_tty=TTY
logins_in=Loggade in
logins_out=Loggade ut
logins_for=Inloggad i
logins_still=Fortfarande inloggad
logins_none=Inga registrerade inloggningar
logins_elist=Du får inte lista inloggningar
logins_elistu=Du får inte lista inloggningar för '$1'
logins_local=Lokal

udel_title=Ta bort användare
udel_err=Det gick inte att ta bort användare
udel_euser=Du får inte ta bort denna användare
udel_ealready=Användaren är redan borttagen!
udel_echanged=Lösenordsfilen har ändrats. Gå tillbaka till användarlistan och välj denna användare igen.
udel_other=Tar bort från övriga moduler ...
udel_pass=Tar bort post i lösenordsfilen ...
udel_groups=Tar bort från grupper ...
udel_ugroup=Tar bort användarens grupp ...
udel_home=Tar bort hemkatalogen ...
udel_done=... användaren borttagen
udel_sure=Vill du verkligen ta bort användare $1? Hemkatalog $2 innehåller filer på totalt $3 kB
udel_sure2=Vill du verkligen ta bort användare $1?
udel_del1=Ta bort användare
udel_del2=Ta bort användare och hemkatalog
udel_others=VARNING! Hemkatalogen $1 innehåller $2 filer som ägs av andra användare.

gdel_title=Ta bort grupp
gdel_err=Det gick inte att ta bort grupp
gdel_egroup=Du får inte ta bort denna grupp
gdel_ealready=Gruppen är redan borttagen!
gdel_group=Tar bort post i gruppfilen ...
gdel_done=... gruppen borttagen
gdel_eprimary=Gruppen är primär grupp för användare $1
gdel_sure=Vill du verkligen ta bort grupp $1?
gdel_del=Ta bort grupp

many_title=Lägg till flera användare
many_desc=I detta formulär kan du lägga till flera användare på en gång från en fil. Varje rad i filen definierar en användare på följande format:
many_desc2=användarnamn:lösenord:uid:gid:personnamn:hemkat:skal:min:max:varn:inaktiv:livstid
many_desc1=användarnamn:lösenord:uid:gid:personnamn:hemkat:skal:klass:ändr:livstid
many_desc0=användarnamn:lösenord:uid:gid:personnamn:hemkat:skal
many_descafter=Om <tt>uid</tt>-fältet lämnas tomt kommer Webmin automatiskt att tilldela användaren ett UID. Om <tt>gid</tt>-fältet lämnas tomt kommer Webmin att skapa en ny grupp med användarens namn. <tt>Användarnamn-</tt>, <tt>gid-</tt>, <tt>hemkat-</tt> och <tt>skal</tt>-fälten måste fyllas i för varje användare; övriga fält får lämnas tomma.
many_descpass=Om <tt>passwd</tt>-fältet lämnas tomt kommer användaren inte tilldelas något lösenord. Om fältet endast innehåller bokstaven <tt>x</tt>, kommer kontot att vara låst. I övriga fall tolkas texten i fältet som lösenordet i klartext, och krypteras.
many_file=Nedladdad fil med nya användare
many_local=Lokal fil med nya användare
many_makehome=Skapa hemkataloger?
many_copy=Kopiera filer till hemkataloger?
many_upload=Lägg till användare
many_elocal=Den lokala filen finns inte
many_efile=Du har inte angivit någon fil som ska laddas ned
many_elen=Rad $1 innehåller inte $2 fält
many_eline=Du har inte angivit något användarnamn på rad $1
many_euser=Återanvänt användarnamn på rad $1: $2
many_egid=Ogiltigt GID på rad $1: $2
many_ehome=Ogiltig hemkatalog på rad $1: $2
many_eshell=Ogiltigt skal på rad $1: $2
many_emkdir=Det gick inte att skapa hemkatalog $1: $2
many_egtaken=Gruppnamnet används redan på rad $1: $2
many_ok=Användare $1 skapad

acl_uedit=Unix-användare som kan ändras
acl_uedit_all=Alla
acl_uedit_none=Inga
acl_uedit_only=Endast
acl_uedit_except=Alla utom
acl_uedit_uid=Användare med UID i intervallet
acl_uedit_group=Användare med grupp
acl_ucreate=Kunna lägga till användare?
acl_uid=UID för nya och ändrade användare
acl_umultiple=Mer än en användare får ha samma UID
acl_ugroups=Tillåtna grupper för nya och ändrade användare
acl_all=Alla
acl_shells=Tillåtna skal för nya och ändrade användare
acl_any=Alla
acl_listed=Följande ...
acl_home=Hemkataloger måste ligga under
acl_autohome=Hemkatalogen har alltid samma namn som användaren
acl_gedit=Unix-grupper som får ändras
acl_gedit_all=Alla
acl_gedit_none=Inga
acl_gedit_only=Endast
acl_gedit_except=Alla utom
acl_gedit_gid=Grupper med GID i intervall
acl_gcreate=Kunna lägga till grupper?
acl_gnew=Endast för nya användare
acl_gid=GID för nya och ändrade grupper
acl_gmultiple=Mer än en grupp får ha samma GID
acl_logins=Kunna studera inloggningar av
acl_lnone=Inga användare
acl_lall=Alla användare
acl_epeopt=Kunna ändra inställningar för lösenordslivslängd?
acl_egp=Kunna ändra grupplösenord?

log_urename=Bytte namn på användaren $1 till $2
log_umodify=Modifierade användaren $1
log_ucreate=Skapade användaren $1
log_udelete=Tog bort användaren $1
log_udeletehome=Tog bort användaren $1 och katalogen $2
log_gmodify=Modifierade gruppen $1
log_gcreate=Skapade gruppen $1
log_gdelete=Tog bort gruppen $1

batch_title=Exekvera batchfil
batch_desc=Med detta formulär kan du skapa, ändra och ta bort många användare på en gång från en nedladdad eller lokal textfil. Varje rad i filen motsvarar en sak som ska göras. Exakt vad som ska göras bestäms av det första fältet på raden. Radformaten är följande:
batch_desc2=<b>skapa</b>:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>ändra</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:min:max:warn:inactive:expire<p><b>ta bort</b>:username
batch_desc1=<b>skapa</b>:username:passwd:uid:gid:realname:homedir:shell:class<p><b>ändra</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell:class<p><b>ta bort</b>:username
batch_desc0=<b>skapa</b>:username:passwd:uid:gid:realname:homedir:shell<p><b>ändra</b>:oldusername:username:passwd:uid:gid:realname:homedir:shell<p><b>ta bort</b>:username
batch_descafter=Om <tt>uid</tt>-fältet lämnas tomt på en <b>skapa</b>-rad kommer Webmin automatiskt att lägga till ett UID. Om <tt>gid</tt>-fältet är tomt kommer Webmin att skapa en ny grupp med samma namn som användaren. <tt>username</tt>-, <tt>homedir</tt>- och <tt>shell</tt>-fälten måste fyllas i för varje användare, men övriga fält kan lämnas tomma. Om <tt>passwd</tt>-fältet är tomt kommer inget lösenord att sättas för användaren. Om det bara innehåller bokstaven <tt>x</tt>, kommer kontot att låsas för inloggning. Annars tolkas texten som lösenordet i klartext, och krypteras.
batch_descafter2=På <b>ändra</b>-rader kommer ett tomt fält att tolkas som att motsvarande användarparameter inte ska ändras.
batch_file=Nedladdad batchfil
batch_local=Lokal batchfil
batch_makehome=Skapa hemkataloger för skapade användare?
batch_copy=Kopiera filer till de skapade användarnas hemkataloger?
batch_movehome=Döpa om ändrade användares hemkataloger?
batch_chuid=Ändra UID för ändrade användares filer?
batch_chgid=Ändra GID för ändrade användares filer?
batch_delhome=Ta bort hemkataloger för borttagna användare?
batch_upload=Exekvera batchjobbet
batch_elocal=Den lokala filen kunde inte hittas
batch_efile=Du har inte angivit någon fil som ska laddas ned
batch_elen=Rad $1 innehåller inte $2 fält
batch_eline=Användarnamn saknas på rad $1
batch_euser=Användarnamnet på rad $1 finns redan: $2
batch_egid=Ogiltigt GID på rad $1: $2
batch_ehome=Ogiltig hemkatalog på rad $1: $2
batch_eshell=Ogiltigt skal på rad $1: $2
batch_emkdir=Det gick inte att skapa hemkatalogen $1: $2
batch_egtaken=Gruppnamnet används redan på rad $1: $2
batch_eaction=Ogiltig åtgärd på rad $1: $2
batch_enouser=Användaren på rad $1 finns inte: $2
batch_emove=Det gick inte att flytta hemkatalogen på rad $1: $2
batch_created=Skapade användaren $1
batch_deleted=Tog bort användaren $1
batch_modified=Ändrade användaren $1
07070100078f1d000081a40000000000000002000000013d1fe2bf0000244c000000200000000000000000000000000000001800000003reloc/useradmin/lang/tr   index_title=Kullanýcý ve Gruplar
index_toomany=Bir sayfada göstermek için çok fazla kullanýcý var
index_find=Kullanýcý Ara
index_ugroup=Birincil Grup
index_users=Yerel Kullanýcýlar
index_notusers=Bu sistemdeki herhangi bir kullanýcý deðiþtirmek için izininiz yoktur
index_createuser=Yeni bir kullanýcý oluþtur
index_createmany=Çoklu kullanýcý oluþtur
index_nomoreusers=Daha fazla kullanýcý oluþturmak için izininiz yoktur
index_groups=Yerel Gruplar
index_notgroups=Bu sistemdeki herhangi bir grubu deðiþtirmek için izininiz yoktur
index_creategroup=Yeni bir grup oluþtur
index_nomoregroups=Daha fazla grup oluþturmak için izininiz yoktur
index_logins=Giriþleri görüntüle
index_return=kullanýcý ve grup listesi
index_equals=eþitler
index_matches=denkler
index_nequals=eþit yok
index_nmatches=denk yok

search_title=Arama Sonuçlarý
search_notfound=Aranan kullanýcý bulunamadý

uedit_title=Kullanýcý Deðiþtir
uedit_title2=Kullanýcý Oluþtur
uedit_details=Kullanýcý Ayrýntýlarý
user=Kullanýcý Adý
uid=Kullanýcý ID
real=Gerçek Ýsmi
pass=Þifre
none1=Ýlk giriþte sor
none2=Þifre gerekli deðildir
nologin=Giriþ izni yok
encrypted=Þifrelenmiþ parola
clear=Düz metin parolasý gir
home=Ev dizini
uedit_auto=Otomatik
shell=Kabuk
uedit_other=Diðer..
uedit_passopts=Þifre Seçenekleri
change2=þifre deðiþtirme zamaný
expire2=Hesap iptal zamaný
class=Giriþ sýnýfý
change=Þifre deðiþtirme zamaný
uedit_never=Asla
uedit_unknown=Bilinmeyen
expire=Ýptal tarihi
min=En az gün
max=En çok gün
warn=Uyarý günleri
inactive=Aktif olmayan günler
uedit_gmem=Grup üyelikleri
group=Birincil grup
uedit_newg=Yeni grup
uedit_oldg=Varolan grup
uedit_2nd=Ýkincil grup
onsave=Yukarý kaydet..
uedit_movehome=Deðiþtirildi ise ev dizini taþýnsýn mý?
uedit_chuid=Dosyadaki kullanýcý ID'leri deðiþtirilsin m,?
uedit_allfiles=Bütün dosyalar
chgid=Dosyalardaki grup ID'leri deðiþtirilsin mi?
uedit_oncreate=Oluþturulacak dizin ve dosyalar..
uedit_makehome=Ev dizini oluþturulsun mu?
uedit_copy=Ev dizinine dosyalar kopyalansýn mý?
uedit_logins=Giriþleri Göster
uedit_mail=E-posta oku
uedit_ecreate=Yeni kullanýcý oluþturamazsýnýz
uedit_eedit=Bu kullanýcýyý deðiþtiremezsiniz

usave_err=Kullanýcýnýn kaydedilmesinde hata oluþtu
usave_eedit=Bu kullanýcýyý deðiþtiremezsiniz
usave_ecreate=Yeni kullanýcý oluþturamazsýnýz
usave_ebadname='$1' geçerli bir kullanýcý adý deðil
usave_einuse='$1' kullanýcý adý her zaman kullanýmda
usave_einuseg='$1' grup adý her zaman kullanýmda
usave_erename=Kullanýcýlarý yeniden isimlendirmek için izininiz yoktur
usave_euid='$1' geçerli bir UID deðil
usave_elowuid=UID $1'e eþit veya daha büyük olmalýdýr
usave_ehiuid=UID $1'e eþit veya daha küçük olmalýdýr
usave_euidused=$1 kullanýcýsý $2 UID'yý her zaman kullanmaktadýr
usave_ereal='$1' geçerli bir gerçek isim deðil
usave_ehome='$1' geçerli ev dizini deðil
usave_ehomepath=Ev dizini $1'i oluþturmak için izininiz yoktur
usave_eshell='$1' geçerli bir kullanýlabilir kabuk deðildir
usave_egid='$1' geçerli grup deðildir
usave_egcreate=Yeni kullanýcýlar için yeni grup oluþturmanýza izininiz yoktur
usave_eprimary=$1 birincil gurubuna bu kullanýcýyý eklemek için izininiz yoktur
usave_esecondary=$1 ikincil gurubuna bu kullanýcýyý eklemek için izininiz yoktur
usave_eprimaryr=$1 birincil gurubundan bu kullanýcýyý silmek için izininiz yoktur
usave_esecondaryr=$1 ikincil gurubundan bu kullanýcýyý silmek için izininiz yoktur
usave_emin='$1' geçerli bir en küçük deðiþtirme periyodu deðildir
usave_emax='$1' geçerli bir en büyük deðiþtirme periyodu deðildir
usave_ewarn='$1' geçerli bir uyarý periyodu deðildir
usave_einactive='$1' geçerli bir aktif olmama periyodu deðildir
usave_eexpire=yanlýþ iptal tarihi
usave_echange=yanlýþ deðiþtirme tarihi
usave_eclass='$1' geçerli bir giriþ sýnýfý deðildir
usave_emove=ev dizinini taþýmada hata : $1
usave_emkdir=ev dizinini oluþturmada hata : $1
usave_echown=ev dizininin sahibinin deðiþtirilmesinde hata : $1
usave_echmod=ev dizinininin haklarýnýn deðiþtirilmesinde hata : $1

gedit_title=Grup Ýçeriðini Deðiþtir
gedit_title2=Grup Oluþtur
gedit_details=Grup Ayrýntýlarý
gedit_group=Grup adý
gedit_gid=Grup ID
gedit_members=Üyeler
gedit_homedirs=Ev dizinleri
gedit_allfiles=Bütün dosyalar
gedit_ecreate=Yeni grup oluþturamazsýnýz.
gedit_eedit=Bu grubu deðiþtiremezsiniz.

gsave_err=Grubun kaydedilmesinde hata oluþtu
gsave_eedit=Bu grubun içeriðini deðiþtiremezsiniz
gsave_ecreate=Yeni grup oluþturamazsýnýz
gsave_ebadname='$1' geçerli bir grup ismi deðil
gsave_einuse='$1'grup ismi her zaman kullanýmda
gsave_egid='$1' geçerli bir GID deðil
usave_elowgid=GID $1'deb büyük veya eþit olmalýdýr
usave_ehigid=GID $1'den küçük veya eþit olmalýdýr
usave_egidused=$1 grubu $2 GID'sini her zaman kullanýyor
usave_efromroot=/'den ev dizininizi taþýyamazsýnýz
usave_etoroot=/'e ev dizininizi taþýyamazsýnýz

logins_title=Kayýtlý Giriþler
logins_head=$1 için kayýtlý giriþli
logins_from=Giriþ
logins_tty=TTY
logins_in=Giriþ
logins_out=Çýkýþ
logins_for=On For
logins_still=Halen Sistemde
logins_none=Giriþ Kayýtlarý Yok
logins_elist=Giriþleri listelemek için izininiz yoktur
logins_elistu='$1' için giriþleri listelemek için izininiz yoktur
logins_local=Yerel

udel_title=Kullanýcý Silme
udel_err=Kullanýcý silinmesinde hata oluþtu
udel_euser=Bu kullanýcýyý silemezsiniz
udel_ealready=Bu kullanýcý her zaman silinmiþ olmalý!
udel_echanged=Þifre dosyasý deðiþtirildi.Kullanýcý listesine geri dönün ve kullanýcýyý tekrar seçin
udel_other=Diðer modüllerden siliniyor ..
udel_pass=Þifre dosyasý giriþleri siliniyor ..
udel_groups=Gruplardan siliniyor ..
udel_ugroup=Bu kullanýcýnýn grubu siliniyor ..
udel_home=Ev dizini siliniyor ..
udel_done=.. Bitti
udel_sure=$1 kullanýcýsýný silmek istediðinizden emin misiniz? Bu kullanýcýnýn ev dizini $2, $3 kb bilgi içeriyor
udel_sure2=$1 kullanýcýsýný silmek istediðinizden emin misiniz?
udel_del1=Kullanýcýyý Sil
udel_del2=Kullanýcý Silme ve Ev Dizini
udel_others=UYARI!$2 dosyalarýný içeren $1 ev dizini diðer kullanýcýlara verildi.

gdel_title=Grup Silme
gdel_err=Grubun silinmesinde hata oluþtu
gdel_egroup=Bu grubu silemezsiniz
gdel_ealready=Bu grup her zaman silinmiþ olmalý!
gdel_group=Grup dosyasý içeriði siliniyor ..
gdel_done=.. Bitti
gdel_eprimary=Bu, $1 kullanýcýsýnýn birincil grubudur
gdel_sure=$1 grubunu silmek istediðinizden emin misiniz?
gdel_del=Grubu Sil

many_title=Çoklu Kullanýcý Oluþtur
many_desc=Bu form yüklenen bir dosyada veya yerel bir dosyadaki kullanýcýlarýn oluþturulmasý için kullanýlýr. Takip eden þekilde olduðu gibi her satýr bir kullanýcýya karþýlýk gelmektedir
many_desc2=kullanýcý_adý:parola:uid:gid:Gerçek_Ýsim:ev_dizini:kabuk:en_az:en_çok:uyarý:aktif_deðil:iptal
many_desc1=kullanýcý_adý:parola:uid:gid:Gerçek_Ýsim:ev_dizini:kabuk:sýnýf:deðiþtirme:iptal
many_desc0=kullanýcý_adý:parola:uid:gid:Gerçek_Ýsim:ev_dizini:kabuk
many_descafter=Eðer <tt>uid</tt> kýsmýný boþ býrakýrsanýz Webmin bunu otomatik olarak atayacaktýr.<tt>Kullanýcý adý</tt>, <tt>gid</tt>, <tt> ev dizini</tt> ve <tt>kabuk</tt> her kullanýcý için girilmelidir. Diðer bütün bölümler boþ kalabilir.
many_file=Yeni kullanýcýlarýn dosyasý aktif hale getirilsin
many_local=Yerel yeni kullanýcý listesi
many_makehome=Ev dizinleri oluþturulsun mu?
many_copy=Dosyalar ev dizinlerine kopyalansýn mý?
many_upload=Kullanýcýlarý oluþtur
many_elocal=Yerel dosya bulunamadý
many_efile=Yükleme için dosya seçilmedi
many_elen=$1 satýrý $2 bilgisini içermiyor
many_euser=$1 satýrýnda çift kullanýcý adý : $2
many_egid=$1 satýrýnda geçersiz GID : $2
many_ehome=$1 satýrýnda geçersiz ev dizini : $2
many_eshell=$1 satýrýnda geçersiz kabuk : $2
many_emkdir=$1 ev dizininin oluþturulmasýnda hata oluþtu : $2
many_ok=$1 kullanýcýsý oluþturuldu

acl_uedit=Deðiþtirebilecek Unix kullanýcýlarý
acl_uedit_all=Bütün kullanýcýlar
acl_uedit_none=Kullanýcý Yok
acl_uedit_only=Sadece kullanýcýlar
acl_uedit_except=Kullanýcýlar hariç hepsi
acl_uedit_uid=Kullanýcýlar UID'leri ile birlikte
acl_uedit_group=Kullanýcýlar gruplarý ile
acl_ucreate=Yeni kullanýcýlar oluþturabilsin mi?
acl_uid=Yeni ya da deðiþtirilmiþ kullanýcý UID'leri
acl_umultiple=Birden fazla kullanýcý ayný UID'i kullanýrlar
acl_ugroups=Yeni ya da deðiþtirilmiþ kullanýcýlarýn izin verilen gruplarý
acl_all=Hepsi
acl_shells=Yeni ya da deðiþtirilmiþ kullanýcýlarýn izin verilen kabuklarý
acl_any=Herhangi biri
acl_listed=Listeli..
acl_home=Ev dizinleri bu dizinin altýnda olmalýdýr
acl_autohome=Ev dizini kullanýcý adý ile ayný
acl_gedit=Deðiþtirilebilen Unix gruplarý
acl_gedit_all=Bütün grup
acl_gedit_none=Hiçbir grup
acl_gedit_only=Sadece gruplat
acl_gedit_except=Gruplar hariç hepsi
acl_gedit_gid=Gruplar GID'leri ile birlikte
acl_gcreate=Yeni grup oluþturabilsin mi?
acl_gnew=Sadece yeni kullanýcýlar için
acl_gid=Yeni ya da deðiþtirilmiþ gruplar için GID'ler
acl_gmultiple=Birden fazla grup ayný GID'yi kullanýyor
acl_logins=Giriþleri görüntüleyebilsin
acl_lnone=Kullanýcý yok
acl_lall=Bütün kullanýcýlar
acl_epeopt=Þifre iptal seçemeklerini deðiþtirebilsin mi?
acl_egp=Grup þifrelerini deðiþtirebilsin mi?

log_urename=$1 kullanýcýsý $2 olarak yeniden adlandýrýldý
log_umodify=$1 kullanýcýsý deðiþtirildi
log_ucreate=$1 kullanýcýsý oluþturuldu
log_udelete=$1 kullanýcýsý silindi
log_udeletehome=$1 kullanýcýsý ve ev dizini $2 silindi
log_gmodify=$1 grubu deðiþtirildi
log_gcreate=$1 grubu oluþturuldu
log_gdelete=$1 grubu silindi

07070100078f1e000081a40000000000000002000000013d1fe2bf00001957000000200000000000000000000000000000001b00000003reloc/useradmin/lang/zh_CN    index_title=ÓÃ»§Óë×é
index_toomany=±¾ÏµÍ³ÉÏµÄÓÃ»§Ì«¶àÎÞ·¨ÔÚÒ»Ò³ÉÏÏÔÊ¾
index_find=²éÕÒÓÃ»§Æä
index_ugroup=Ê×Òª×é
index_users=±¾µØÓÃ»§
index_notusers=ÄúÎÞÈ¨±à¼­±¾ÏµÍ³ÉÏµÄÈÎºÎÓÃ»§
index_createuser=´´½¨ÐÂÓÃ»§
index_createmany=½¨Á¢¶àÓÃ»§
index_nomoreusers=ÄúÎÞÈ¨´´½¨¸ü¶àµÄÓÃ»§
index_groups=±¾µØ×é
index_notgroups=ÄúÎÞÈ¨ÔÚ±¾ÏµÍ³ÉÏ±à¼­ÈÎºÎ×é
index_creategroup=´´½¨ÐÂ×é
index_nomoregroups=ÄúÎÞÈ¨´´½¨¸ü¶àµÄ×é
index_logins=ÏÔÊ¾µÇÂ¼ÔÚ
index_return=ÓÃ»§ºÍ×éÁÐ±í
index_equals=µÈÓÚ
index_matches=Æ¥Åä
index_nequals=²»µÈ
index_nmatches=²»Æ¥Åä
search_title=ËÑË÷½á¹û
search_notfound=Ã»ÓÐÆ¥ÅäµÄÓÃ»§
uedit_title=±à¼­ÓÃ»§
uedit_title2=´´½¨ÓÃ»§
uedit_details=ÓÃ»§ÏêÏ¸
user=ÓÃ»§Ãû
uid=ÓÃ»§ ID
real=ÕæÊµÐÕÃû
pass=ÃÜÂë
none1=µÚÒ»´ÎµÇÂ¼Ê±Ñ¯ÎÊ
none2=²»ÒªÇóÃÜÂë
nologin=²»ÔÊÐíµÇÂ¼
encrypted=ÃÜÎÄÃÜÂë
nochange=²»×ö¸Ä±ä
clear=Ã÷ÎÄÃÜÂë
home=ÓÃ»§¸ùÄ¿Â¼
uedit_auto=×Ô¶¯
shell=Shell
uedit_other=ÆäËü..
uedit_passopts=¿ÚÁîÑ¡Ïî
change2=¿ÚÁî¸Ä±äÊ±¼ä
expire2=ÕÊºÅ¹ýÆÚÊ±¼ä
class=µÇÂ¼Àà
change=¿ÚÁî¸Ä±ä
uedit_never=´ÓÀ´Ã»ÓÐ
uedit_unknown=Î´Öª
expire=¹ýÆÚÊ±¼ä
min=×îÐ¡ÌìÊý
max=×î´óÌìÊý
warn=¾¯¸æÌìÊý
inactive=²»Ê¹ÓÃÌìÊý
uedit_gmem=×é³ÉÔ±
group=Ö÷×é
uedit_newg=ÐÂ×é
uedit_oldg=ÏÖ´æ×é
uedit_2nd=´Î×é
onsave=±£´æÊ±..
uedit_movehome=¼ÙÈô¸ü¸ÄÁËÓÃ»§¸ùÄ¿Â¼,ÒÆ¶¯Ëü£¿
uedit_chuid=¸Ä±äÎÄ¼þµÄÓÃ»§ ID£¿
uedit_allfiles=ËùÓÐÎÄ¼þ
chgid=¸Ä±äÎÄ¼þµÄ×é ID£¿
uedit_oncreate=´´½¨Ê±..
uedit_makehome=´´½¨ÓÃ»§¸ùÄ¿Â¼£¿
uedit_copy=¿½±´ÎÄ¼þµ½ÓÃ»§¸ùÄ¿Â¼£¿
uedit_logins=ÏÔÊ¾µÇÂ¼
uedit_mail=¶Áµç×ÓÓÊ¼þ
uedit_ecreate=ÄúÎÞÈ¨´´½¨ÐÂÓÃ»§
uedit_eedit=ÄúÎÞÈ¨±à¼­¸ÃÓÃ»§
usave_err=±£´æÓÃ»§Ê§°Ü
usave_eedit=ÄúÎÞÈ¨±à¼­¸ÃÓÃ»§
usave_ecreate=ÄúÎÞÈ¨´´½¨ÐÂÓÃ»§
usave_ebadname=´íÎóµÄÎÄ¼þÃû'$1'
usave_einuse=ÓÃ»§Ãû'$1'ÒÑ¾­ÔÚÓÃ
usave_einuseg=×éÃû'$1'ÒÑ¾­´æÔÚ
usave_erename=ÄúÎÞÈ¨¸ü¸ÄÓÃ»§Ãû
usave_euid=´íÎóµÄUID'$1'
usave_elowuid=UID Òª´óÓÚ»òµÈÓÚ$1
usave_ehiuid=UID ÒªÐ¡ÓÚ»òµÈÓÚ$1
usave_euidused=ÓÃ»§ $1 ÒÑ¾­Ê¹ÓÃUID $2
usave_ereal=´íÎóµÄÕæÊµÃû×Ö'$1'
usave_ehome=´íÎóµÄÓÃ»§¸ùÄ¿Â¼'$1'
usave_ehomepath=ÄúÎÞÈ¨´´½¨ÓÃ»§¸ùÄ¿Â¼ $1
usave_eshell=²»ÔÊÐíµÄshell'$1'
usave_egid=´íÎóµÄ×é'$1'
usave_egcreate=µ«ÄúÃ»ÓÐÐÂÓÃ»§´´½¨ÐÂ×éµÄÈ¨Á¦
usave_eprimary=ÄúÎÞÈ¨Ìí¼ÓÕâ¸öÓÃ»§µ½Ö÷×é$1
usave_esecondary=ÄúÎÞÈ¨Ìí¼ÓÕâ¸öÓÃ»§µ½´Î×é$1
usave_eprimaryr=ÄúÎÞÈ¨´ÓÖ÷×é$1ÖÐÉ¾³ý¸ÃÓÃ»§
usave_esecondaryr=ÄúÎÞÈ¨´Ó´Î×é$1ÖÐÉ¾³ý¸ÃÓÃ»§
usave_emin=´íÎóµÄ×îÐ¡¸Ä±äÊ±ÆÚ'$1'
usave_emax=´íÎóµÄ×î´ó¸Ä±äÊ±ÆÚ'$1'
usave_ewarn=´íÎóµÄ¾¯¸æÊ±ÆÚ'$1'
usave_einactive=´íÎóµÄ·ÇÊ¹ÓÃÊ±ÆÚ'$1'
usave_eexpire=´íÎóµÄ¹ýÆÚÈÕÆÚ
usave_echange=´íÎóµÄ¸Ä±äÈÕÆÚ
usave_eclass=´íÎóµÄµÇÂ¼Àà'$1'
usave_emove=ÒÆ¶¯ÓÃ»§¸ùÄ¿Â¼ $1 Ê§°Ü
usave_emkdir=Î´ÄÜ´´½¨ÓÃ»§¸ùÄ¿Â¼:$1
usave_echown=Î´ÄÜ¸Ä±äÄ¿Â¼$1µÄËùÓÐÈ¨
usave_echmod=Î´ÄÜ¸Ä±äÓÃ»§¸ùÄ¿Â¼µÄÓÃ»§ËùÓÐÈ¨:$1
gedit_title=±à¼­×é
gedit_title2=´´½¨×é
gedit_details=×éÃ÷Ï¸
gedit_group=×éÃû
gedit_gid=×éID
gedit_members=³ÉÔ±
gedit_homedirs=ÓÃ»§¸ùÄ¿Â¼
gedit_allfiles=ËùÓÐÎÄ¼þ
gedit_ecreate=ÄúÎÞÈ¨´´½¨ÐÂ×é
gedit_eedit=ÄúÎÞÈ¨±à¼­Õâ¸ö×é
gsave_err=±£´æ×éÊ§°Ü
gsave_eedit=ÄúÎÞÈ¨±à¼­±¾×é
gsave_ecreate=ÄúÎÞÈ¨´´½¨ÐÂ×é
gsave_ebadname=´íÎóµÄ×éÃû'$1'
gsave_einuse=×éÃû'$1'ÒÑ¾­ÔÚÊ¹ÓÃ
gsave_egid='$1' ´íÎóµÄGID
usave_elowgid=GID Ò»¶¨Òª´óÓÚµÈÓÚ $1
usave_ehigid=GID Ò»¶¨ÒªÐ¡ÓÚµÈÓÚ$1
usave_egidused=×é $1 ÒÑ¾­Ê¹ÓÃ GID $2
usave_efromroot=ÄúÎÞÈ¨´Ó / ÒÆ¶¯ÓÃ»§¸ùÄ¿Â¼
usave_etoroot=ÄúÎÞÈ¨°ÑÓÃ»§¸ùÄ¿Â¼ÒÆ¶¯µ½ /
logins_title=ÒÑ¾­¼ÇÂ¼µÄµÇÂ¼
logins_head=$1 µÄÒÑ¾­¼ÇÂ¼µÄµÇÂ¼
logins_from=µÇÂ¼×Ô
logins_tty=TTY
logins_in=µÇÂ¼ÔÚ
logins_out=×¢ÏúÓÚ
logins_for=ÔÚ
logins_still=ÈÔÔÚµÇÂ¼ÖÐ
logins_none=Ã»ÓÐµÇÂ¼¼ÇÂ¼
logins_elist=ÄúÎÞÈ¨ÁÐ³öµÇÂ¼
logins_elistu=ÄúÎÞÈ¨Îª '$1' ÁÐ³öµÇÂ¼
logins_local=±¾µØ
udel_title=É¾³ýÓÃ»§
udel_err=É¾³ýÓÃ»§Ê§°Ü
udel_euser=ÄúÎÞÈ¨É¾³ý±¾ÓÃ»§
udel_ealready=Õâ¸öÓÃ»§ÒÑ¾­É¾³ý£¡
udel_echanged=ÃÜÂëÒÑ¾­¸Ä±ä.Çë·µ»ØÓÃ»§ÁÐ±íÖØÐÂÑ¡Ôñ¸ÃÓÃ»§¡£
udel_other=´ÓÆäËüÄ£¿éÖÐÉ¾³ý..
udel_pass=É¾³ýÃÜÂëÎÄ¼þÌõÄ¿..
udel_groups=´Ó×éÖÐÉ¾³ý ..
udel_ugroup=É¾³ý´ËÓÃ»§×é..
udel_home=É¾³ýÓÃ»§¸ùÄ¿Â¼..
udel_done=.. Íê³É
udel_sure=È·ÊµÒªÉ¾³ýÓÃ»§$1? ÓÃ»§¸ùÄ¿Â¼$2 °üº¬ $3 kB µÄÎÄ¼þ
udel_sure2=È·ÈÏÉ¾³ýÓÃ»§ $1 £¿
udel_del1=É¾³ýÓÃ»§
udel_del2=É¾³ýÓÃ»§ºÍÓÃ»§¸ùÄ¿Â¼
udel_others=¾¯¸æ! ÓÃ»§¸ùÄ¿Â¼ $1°üº¬ $2 ¸öÊôÓÚÆäËûÓÃ»§µÄÎÄ¼þ¡£
gdel_title=É¾³ý×é
gdel_err=É¾³ý×éÊ§°Ü
gdel_egroup=ÄúÎÞÈ¨É¾³ý¸Ã×é
gdel_ealready=Õâ¸ö×éÒÑ¾­É¾³ý!
gdel_group=É¾³ý×éÎÄ¼þÌõÄ¿..
gdel_done=.. Íê³É
gdel_eprimary=ÕâÊÇÓÃ»§ $1 µÄÖ÷×é
gdel_sure=È·ÈÏÉ¾³ý×é $1£¿
gdel_del=É¾³ý×é
many_title=´´½¨¶àÓÃ»§
many_desc=¿ÉÒÔÀûÓÃÕâ¸ö±í¸ñ´ÓÉÏÔØµÄ»ò±¾µØµÄÎÄ±¾ÎÄ¼þÒ»´Î´´½¨¶à¸öÓÃ»§¡£ÎÄ¼þÖÐÃ¿Ò»ÐÐÒÔÏÂÁÐ¸ñÊ½Ö¸¶¨Ò»¸öÓÃ»§£º
many_desc2=ÓÃ»§Ãû:¿ÚÁî:ÓÃ»§id:×éid:ÕæÊµÃû³Æ:ÓÃ»§¸ùÄ¿Â¼:shell:·Ö:×î´ó:¾¯¸æ:·ÇÊ¹ÓÃ:¹ýÆÚ
many_desc1=ÓÃ»§Ãû:¿ÚÁî:ÓÃ»§id:×éid:ÕæÊµÃû³Æ:ÓÃ»§¸ùÄ¿Â¼:shell:Àà:±ä¸ü:¹ýÆÚ
many_desc0=ÓÃ»§Ãû:¿ÚÁî:ÓÃ»§id:×éid:ÕæÊµÃû³Æ:ÓÃ»§¸ùÄ¿Â¼:shell
many_descafter=Èç¹û<tt>ÓÃ»§id</tt>×Ö¶ÎÊÇ¿ÕµÄ£¬Webmin »á×Ô¶¯Ö¸¶¨ÓÃ»§ID¡£Èç¹û<tt>×éid</tt>×Ö¶ÎÊÇ¿ÕµÄ£¬Webmin »á´´½¨Ò»¸öÓëÓÃ»§Í¬ÃûµÄÐÂ×é¡£±ØÐëÎªÃ¿¸öÓÃ»§ÌîÈë<tt>ÓÃ»§Ãû</tt>¡¢<tt>×éid</tt>¡¢<tt>ÓÃ»§¸ùÄ¿Â¼</tt> ºÍ <tt>shell</tt> ×Ö¶Î - ÆäËü×Ö¶Î¿ÉÒÔÎª¿Õ¡£
many_descpass=Èç¹û<tt>¿ÚÁî</tt>×Ö¶ÎÊÇ¿ÕµÄ£¬¾ÍÃ»ÓÐÎª¸ÃÓÃ»§Ö¸¶¨¿ÚÁî¡£Èç¹ûËüÖ»°üº¬×ÖÄ¸<tt>x</tt>£¬¸ÃÕÊºÅ½«±»Ëø¶¨¡£·ñÕß£¬´Ë´¦µÄÎÄ±¾½«±»ÓÃ×÷Ã÷ÎÄÃÜÂë²¢¼ÓÃÜ¡£
many_file=ÉÏÔØµÄÐÂÓÃ»§ÎÄ¼þ
many_local=±¾µØÐÂÓÃ»§ÎÄ¼þ
many_makehome=´´½¨ÓÃ»§¸ùÄ¿Â¼£¿
many_copy=¿½±´ÎÄ¼þµ½ÓÃ»§¸ùÄ¿Â¼£¿
many_upload=´´½¨ÓÃ»§
many_elocal=Ã»ÓÐÕÒµ½±¾µØÎÄ¼þ
many_efile=Ã»ÓÐÑ¡ÔñÉÏÔØµÄÎÄ¼þ
many_elen=ÐÐ $1 Ã»ÓÐ°üº¬ $2 ×Ö¶Î
many_eline=ÔÚÐÐ $1 ¶ªÊ§ÓÃ»§Ãû
many_euser=ÖØ¸´µÄÓÃ»§ÃûÔÚÐÐ $1 : $2
many_egid=´íÎóµÄ×éID ÔÚÐÐ $1 : $2
many_ehome=´íÎóµÄÓÃ»§¸ùÄ¿Â¼ÔÚÐÐ $1 : $2
many_eshell=´íÎóµÄshellÔÚÐÐ $1 : $2
many_emkdir=´´½¨ÓÃ»§Ä¿Â¼ $1 : $2 Ê±Ê§°Ü
many_ok=´´½¨ÓÃ»§ $1
acl_uedit=¿É±à¼­µÄ Unix ÓÃ»§
acl_uedit_all=ËùÓÐÓÃ»§
acl_uedit_none=Ã»ÓÐÓÃ»§
acl_uedit_only=½öÓÃ»§
acl_uedit_except=ËùÓÐÓÃ»§³ýÁË
acl_uedit_uid=ÓÃ»§ID ÔÚ·¶Î§ÄÚ
acl_uedit_group=×éÓÃ»§
acl_ucreate=ÊÇ·ñ¿ÉÒÔ´´½¨ÐÂÓÃ»§£¿
acl_uid=ÐÂ½¨ºÍ±»ÐÞ¸ÄÓÃ»§µÄUID
acl_umultiple=Ò»¸öÒÔÉÏµÄÓÃ»§¿ÉÓµÓÐÏàÍ¬µÄÓÃ»§ID
acl_ugroups=ÐÂ½¨ºÍÐÞ¸ÄµÄÓÃ»§ËùÔÊÐíµÄ×é
acl_all=ËùÓÐµÄ
acl_shells=ÐÂ½¨ºÍÐÞ¸ÄµÄÓÃ»§ËùÔÊÐíshell
acl_any=ÈÎºÎ
acl_listed=ÁÐ±í..
acl_home=ÓÃ»§¸ùÄ¿Â¼±ØÐëÔÚÆäÏÂ
acl_autohome=ÓÃ»§¸ùÄ¿Â¼×ÜÊÇÓëÓÃ»§Í¬Ãû
acl_gedit=¿É±à¼­µÄUnix ×é
acl_gedit_all=ËùÓÐ×é
acl_gedit_none=Ã»ÓÐ×é
acl_gedit_only=Ö»ÓÐ×é
acl_gedit_except=ËùÓÐ×é³ýÁË
acl_gedit_gid=×éIDºÅÔÚ·¶Î§ÄÚ
acl_gcreate=¿ÉÒÔ´´½¨ÐÂ×é£¿
acl_gnew=½öÕë¶ÔÐÂÓÃ»§
acl_gid=ÐÂ½¨ºÍ±»ÐÞ¸Ä×éµÄ×éºÅ
acl_gmultiple=Ò»¸öÒÔÉÏµÄ×é¿ÉÓµÓÐÏàÍ¬µÄ×éºÅ
acl_logins=Ö»ÄÜÏÔÊ¾µÇÂ¼±»
acl_lnone=Ã»ÓÐÓÃ»§
acl_lall=ËùÓÐÓÃ»§
acl_epeopt=ÊÇ·ñ¿ÉÒÔ±à¼­¿ÚÁî¹ýÆÚÑ¡Ïî£¿
acl_egp=ÊÇ·ñ¿ÉÒÔ±à¼­×é¿ÚÁî£¿
log_urename=½«ÓÃ»§ $1 ¸ÄÃûÎª $2
log_umodify=ÒÑ¸üÐÂÓÃ»§ $1
log_ucreate=ÒÑ´´½¨ÓÃ»§ $1
log_udelete=ÒÑÉ¾³ýÓÃ»§ $1
log_udeletehome=ÒÑÉ¾³ýÓÃ»§ $1 ºÍÄ¿Â¼ $2
log_gmodify=ÒÑ¸ü¸Ä×é $1
log_gcreate=ÒÑ´´½¨×é $1
log_gdelete=ÒÑÉ¾³ý×é $1
 07070100078f1f000081a40000000000000002000000013d1fe2bf00002cde000000200000000000000000000000000000002000000003reloc/useradmin/lang/zh_TW.Big5   index_title=¨Ï¥ÎªÌ»P¸s²Õ
index_toomany=¦b±zªº¨t²Î¤W¦³¤Ó¦hªº¨Ï¥ÎªÌ¡A©Ò¥HµLªk¦P®ÉÅã¥Ü¦b¤@­¶¤W
index_find=§ä´M¨Ï¥ÎªÌ¡A¥Lªº
index_gtoomany=¦b±zªº¨t²Î¤W¦³¤Ó¦hªº¸s²Õ¡A©Ò¥HµLªk¦P®ÉÅã¥Ü¦b¤@­¶¤W
index_gfind=§ä´M¸s²Õ¡A¥Lªº
index_ugroup=¥D¸s²Õ
index_users=¥»¦aºÝ¨Ï¥ÎªÌ
index_notusers=±z¤£³Q¤¹³\½s¿è¥ô¦ó¦b³o­Ó¨t²Î¤Wªº¨Ï¥ÎªÌ
index_createuser=«Ø¥ß¤@­Ó·s¨Ï¥ÎªÌ
index_batch=¨Ï¥Î§å¦¸ÀÉ¤@¦¸¹L«Ø¥ß/­×§ï/§R°£¨Ï¥ÎªÌ
index_nomoreusers=±z¤£³Q¤¹³\«Ø¥ß§ó¦hªº¨Ï¥ÎªÌ
index_groups=¥»¦aºÝ¸s²Õ
index_notgroups=±z¤£³Q¤¹³\½s¿è¥ô¦ó¦b³o­Ó¨t²Î¤Wªº¸s²Õ
index_creategroup=«Ø¥ß¤@­Ó·s¸s²Õ
index_nomoregroups=±z¤£³Q¤¹³\«Ø¥ß§ó¦hªº¸s²Õ
index_logins=Åã¥Üµn¤J¡A¨Ì¾Ú
index_return=¨Ï¥ÎªÌ»P¸s²Õ¦Cªí
index_equals=µ¥©ó
index_matches=²Å¦X
index_nequals=¤£µ¥©ó
index_nmatches=¤£²Å¦X
index_contains=¥]§t
index_ncontains=¤£¥]§t
index_who=¥Ø«eµn¤Jªº¨Ï¥ÎªÌ

search_title=·j´Mµ²ªG
search_notfound=§ä¤£¨ì¬Û²Åªº¨Ï¥ÎªÌ
search_gnotfound=§ä¤£¨ì¬Û²Åªº¸s²Õ

uedit_title=½s¿è¨Ï¥ÎªÌ
uedit_title2=«Ø¥ß¨Ï¥ÎªÌ
uedit_details=¨Ï¥ÎªÌ¸Ô²Ó¸ê®Æ
user=¨Ï¥ÎªÌ¦WºÙ
uid=¨Ï¥ÎªÌ½s¸¹
real=¯u¹ê©m¦W
office=¿ì¤½«Ç
workph=¤u§@¹q¸Ü
homeph=¦í¦v¹q¸Ü
extra=ÃB¥~¿ï¶µ
pass=±K½X
none1=¦b²Ä¤@¦¸µn¤J®É¸ß°Ý
none2=¤£»Ý­n±K½X
nologin=¤£¤¹³\µn¤J
encrypted=¤w½s½Xªº±K½X
nochange=«O«ù¤£ÅÜ
clear=¯Â¤å¦r±K½X
home=®a¥Ø¿ý
uedit_auto=¦Û°Ê
shell=Shell
uedit_other=¨ä¥L...
uedit_passopts=±K½X¿ï¶µ
change2=±K½XÅÜ§ó®É¶¡
expire2=±b¸¹¹L´Á¤é´Á
class=µn¤J¼h¯Å
change=±K½X§ïÅÜ©ó
flags=Account flags
uedit_never=±q¨Ó¨S¦³
uedit_unknown=¥¼ª¾
expire=¹L´Á¤é´Á
min=³Ì¤p¤Ñ¼Æ
min_weeks=³Ì¤p¶g¼Æ
max=³Ì¤j¤Ñ¼Æ
max_weeks=³Ì¤j¶g¼Æ
warn=Äµ§i¤Ñ¼Æ
ask=¤U¦¸µn¤J®É¸ß°Ý·s±K½X¡H
inactive=¥¼¨Ï¥Î¤Ñ¼Æ
uedit_gmem=¸s²Õ¦¨­û
group=¥D¸s²Õ
uedit_newg=·s¸s²Õ
uedit_oldg=²{¦s¸s²Õ
uedit_2nd=¦¸¸s²Õ
onsave=¦bÀx¦s®É...
uedit_movehome=¦pªG§ïÅÜªº¸Ü¡A¬O§_·h²¾®a¥Ø¿ý¡H
uedit_chuid=¬O§_§ïÅÜÀÉ®×ªº¨Ï¥ÎªÌ½s¸¹¡H
uedit_chgid=¬O§_§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H
uedit_allfiles=¥þ³¡ªºÀÉ®×
chgid=¬O§_§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H
uedit_oncreate=¦b«Ø¥ß®É...
uedit_makehome=¬O§_«Ø¥ß®a¥Ø¿ý¡H
uedit_copy=¬O§_«þ¨©ÀÉ®×¨ì®a¥Ø¿ý¡H
uedit_logins=Åã¥Üµn¤J
uedit_mail=Åª¨ú¹q¤l¶l¥ó
uedit_ecreate=±z¤£¯à«Ø¥ß·s¨Ï¥ÎªÌ
uedit_eedit=±z¤£¯à½s¿è³o­Ó¨Ï¥ÎªÌ
uedit_admin=¥u¦³ root ¥i¥HÅÜ§ó±K½X
uedit_admchg=¨Ï¥ÎªÌ¥²¶·¿ï¾Ü·s±K½X
uedit_nocheck=¤£ÀË¬d±K½X­­¨î
uedit_cothers=¬O§_¦b¨ä¥L¼Ò²Õ«Ø¥ß¨Ï¥ÎªÌ¡H
uedit_mothers=¬O§_¦b¨ä¥L¼Ò²Õ­×§ï¨Ï¥ÎªÌ¡H

usave_err=µLªkÀx¦s¨Ï¥ÎªÌ
usave_eedit=±z¤£¯à½s¿è³o­Ó¨Ï¥ÎªÌ
usave_ecreate=±z¤£¯à«Ø¥ß·s¨Ï¥ÎªÌ
usave_ebadname='$1' ¤£¬O¤@­Ó¦³®Äªº¨Ï¥ÎªÌ¦WºÙ
usave_einuse=¨Ï¥ÎªÌ¦WºÙ '$1' ¤w¸g³Q¨Ï¥Î
usave_einuse_a=¨Ï¥ÎªÌ¦WºÙ '$1' ¤w¸g³Q¤@­Ó¶l¥ó§O¦W¨Ï¥Î¤F
usave_einuseg=¸s²Õ¦WºÙ '$1' ¤w¸g³Q¨Ï¥Î
usave_erename=±z¨S¦³Åv­­ÅÜ§ó¨Ï¥ÎªÌ¦WºÙ
usave_euid='$1' ¤£¬O¤@­Ó¦³®Äªº UID
usave_euuid=±z¨S¦³Åv­­ÅÜ§ó¨Ï¥ÎªÌªº UID
usave_elowuid=UID ¥²¶·¤j©ó©Îµ¥©ó $1
usave_ehiuid=UID ¥²¶·¤p©ó©Îµ¥©ó $1
usave_euidused=¨Ï¥ÎªÌ $1 ¤w¸g¨Ï¥Î UID $2
usave_euidused2=³o­Ó UID ¤w¸g³Q¨Ï¥Î¤F
usave_ereal='$1' ¤£¬O¤@­Ó¦³®Äªº¯u¹ê©m¦W
usave_ehome='$1' ¤£¬O¤@­Ó¦³®Äªº®a¥Ø¿ý
usave_ehomepath=±z¨S¦³Åv­­«Ø¥ß®a¥Ø¿ý $1
usave_eshell='$1' ¤£¬O¤@­Ó¥i¥H±µ¨üªº shell
usave_egid='$1' ¤£¬O¤@­Ó¦³®Äªº¸s²Õ
usave_egcreate=±z¨S¦³Åv­­¬°·s¨Ï¥ÎªÌ«Ø¥ß·s¸s²Õ
usave_eprimary=±z¨S¦³Åv­­¼W¥[¨Ï¥ÎªÌ¨ì¥D¸s²Õ $1
usave_esecondary=±z¨S¦³Åv­­¼W¥[¨Ï¥ÎªÌ¨ì¦¸¸s²Õ $1
usave_eprimaryr=±z¨S¦³Åv­­±N¨Ï¥ÎªÌ±q¥D¸s²Õ $1 ¤¤²¾°£
usave_esecondaryr=±z¨S¦³Åv­­±N¨Ï¥ÎªÌ±q¦¸¸s²Õ $1 ¤¤²¾°£
usave_emin='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤pÅÜ§ó®É¶¡
usave_emax='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤jÅÜ§ó®É¶¡
usave_ewarn='$1' ¤£¬O¤@­Ó¦³®ÄªºÄµ§i®É¶¡
usave_einactive='$1' ¤£¬O¤@­Ó¦³®ÄªºÃö³¬®É¶¡
usave_eexpire=µL®Äªº¹L´Á¤é´Á
usave_echange=µL®ÄªºÅÜ§ó¤é´Á
usave_eclass='$1' ¤£¬O¤@­Ó¦³®Äªºµn¤J¼h¯Å
usave_emove=µLªk²¾°Ê®a¥Ø¿ý: $1
usave_emkdir=µLªk«Ø¥ß®a¥Ø¿ý: $1
usave_echown=µLªkÅÜ§ó®a¥Ø¿ý¾Ö¦³Åv: $1
usave_echmod=µLªkÅÜ§ó®a¥Ø¿ýÅv­­: $1
usave_eoffice=¿ì¤½«Ç¤£¥i¥H¥]§t : ¦r¤¸
usave_eworkph=¤u§@¹q¸Ü¤£¥i¥H¥]§t : ¦r¤¸
usave_ehomeph=¦í¦v¹q¸Ü¤£¥i¥H¥]§t : ¦r¤¸
usave_edigestmd5=±zªº¨t²Î±Ò¥Î¤F MD5 ±K½X¡A¥i¬O¨Ã¥¼¦w¸Ë Perl ªº MD5 ©Î Digest::MD5 ¼Ò²Õ¡C<p>­Y­n±j¦æ¨Ï¥Î¥¿±`½s½Xªº±K½X¡A½Ð½Õ¾ã±zªº<a href='$1'>¼Ò²Õ²ÕºA</a>¡C¤]¥i¥H¥s Webmin ¬°±z<a  href='$2'>¤U¸ü¤Î¦w¸Ë</a> Digest::MD5 ¼Ò²Õ¡C
usave_emaking=§ó·s«e«ü¥O¥¢±Ñ¡G$1

gedit_title=½s¿è¸s²Õ
gedit_title2=«Ø¥ß¸s²Õ
gedit_details=¸s²Õ¸Ô²Ó¸ê®Æ
gedit_group=¸s²Õ¦WºÙ
gedit_gid=¸s²Õ½s¸¹
gedit_members=¦¨­û
gedit_homedirs=®a¥Ø¿ý
gedit_allfiles=¥þ³¡ÀÉ®×
gedit_ecreate=±z¨S¦³Åv­­«Ø¥ß·s¸s²Õ
gedit_eedit=±z¨S¦³Åv­­½s¿è³o­Ó¸s²Õ

gsave_err=µLªkÀx¦s¸s²Õ
gsave_eedit=±z¤£¯à½s¿è³o­Ó¸s²Õ
gsave_ecreate=±z¤£¯à«Ø¥ß·s¸s²Õ
gsave_ebadname='$1' ¤£¬O¤@­Ó¦³®Äªº¸s²Õ¦WºÙ
gsave_einuse=¸s²Õ¦WºÙ '$1' ¤w¸g³Q¨Ï¥Î
gsave_egid='$1' ¤£¬O¤@­Ó¦³®Äªº GID
gsave_eggid=±z¨S¦³Åv­­ÅÜ§ó¸s²Õªº GID
usave_elowgid=GID ¥²¶·¤j©ó©Îµ¥©ó $1
usave_ehigid=GID ¥²¶·¤p©ó©Îµ¥©ó $1
usave_egidused=¸s²Õ $1 ¤w¸g¨Ï¥Î GID $2
usave_efromroot=±z¤£¯à±q / ·h²¾³o­Ó®a¥Ø¿ý
usave_etoroot=±z¤£¯à±N®a¥Ø¿ý¯ë²¾¨ì /

logins_title=µn¤J¬ö¿ý
logins_head=$1 ªºµn¤J¬ö¿ý
logins_from=µn¤J¨Ó·½
logins_tty=²×ºÝ¾÷
logins_in=µn¤J©ó
logins_out=µn¥X©ó
logins_for=¨Ï¥Î®É¶¡
logins_still=¤´¦bµn¤J¤¤
logins_none=¨S¦³µn¤J¬ö¿ý
logins_elist=±z¨S¦³Åv­­¦Cªíµn¤J¬ö¿ý
logins_elistu=±z¨S¦³Åv­­¦Cªí '$1' ªºµn¤J¬ö¿ý
logins_local=¥»¦aºÝ

udel_title=§R°£¨Ï¥ÎªÌ
udel_err=µLªk§R°£¨Ï¥ÎªÌ
udel_euser=±z¤£¯à§R°£³o­Ó¨Ï¥ÎªÌ
udel_ealready=³o­Ó¨Ï¥ÎªÌ¤w¸g³Q§R°£¤F¡I
udel_echanged=±K½XÀÉ¤w¸g³Q§ïÅÜ¤F¡C½Ð¦^¨ì¨Ï¥ÎªÌ¦Cªí¨Ã­«·s¿ï¾Ü³o­Ó¨Ï¥ÎªÌ¡C
udel_other=±q¨ä¥Lªº¼Ò²Õ§R°£¤¤...
udel_pass=§R°£±K½XÀÉ¶µ¥Ø¤¤...
udel_groups=±q¸s²Õ§R°£¤¤...
udel_ugroup=§R°£³o­Ó¨Ï¥ÎªÌªº¸s²Õ¤¤...
udel_home=§R°£®a¥Ø¿ý¤¤...
udel_done=... §¹¦¨
udel_sure=±z½T©w­n§R°£¨Ï¥ÎªÌ $1 ¶Ü¡H¥Lªº®a¥Ø¿ý $2 ¥]§t¤F $3 Kb ªºÀÉ®×
udel_sure2=±z½T©w­n§R°£¨Ï¥ÎªÌ $1 ¶Ü¡H
udel_del1=§R°£¨Ï¥ÎªÌ
udel_del2=§R°£¨Ï¥ÎªÌ»P®a¥Ø¿ý
udel_others=Äµ§i¡I®a¥Ø¿ý $1 ¥]§t $2 ­ÓÄÝ©ó¨ä¥L¨Ï¥ÎªÌªºÀÉ®×¡C
udel_dothers=¬O§_¦b¨ä¥L¼Ò²Õ§R°£¨Ï¥ÎªÌ¡H
udel_root=Äµ§i¡I¦pªG root ¨Ï¥ÎªÌ³Q§R°£¤F¡A±z±N¨Ó´N¥i¯àµLªk¦AºÞ²z³o­Ó¨t²Î¡C

gdel_title=§R°£¸s²Õ
gdel_err=µLªk§R°£¸s²Õ
gdel_egroup=±z¤£¯à§R°£³o­Ó¸s²Õ
gdel_ealready=³o­Ó¸s²Õ¤w¸g³Q§R°£¤F!
gdel_group=§R°£¸s²ÕÀÉ®×¶µ¥Ø¤¤...
gdel_done=...§¹¦¨
gdel_eprimary=³o¬O¨Ï¥ÎªÌ $1 ªº¥D¸s²Õ
gdel_sure=±z½T©w­n§R°£¸s²Õ $1 ¶Ü¡H
gdel_del=§R°£¸s²Õ

many_title=«Ø¥ß¦h­Ó¨Ï¥ÎªÌ
many_desc=³o­Óªí³æ¤¹³\±z¨Ï¥Î¤@­Ó¤W¶Çªº©Î¥»¦aºÝªºÀÉ®×¨Ó¦P®É«Ø¥ß¦h­Ó¨Ï¥ÎªÌ¡C³o­ÓÀÉ®×ªº¨C¤@¦æ¥²¶·¬O¤U­±ªº®æ¦¡:
many_desc2=¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j:Äµ§i:Ãö³¬:¹L´Á
many_desc1=¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:¼h¯Å:ÅÜ§ó:¹L´Á
many_desc0=¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell
many_descafter=¦pªG <tt>uid</tt> Äæ¦ì«O¯dªÅ¥Õ¡AWebmin ±N·|¦Û°Ê½á¤©¤@­Ó¨Ï¥ÎªÌ½s¸¹¡C<tt>¨Ï¥ÎªÌ¦WºÙ</tt>¡B<tt>gid</tt>¡B<tt>®a¥Ø¿ý</tt> »P <tt>Shell</tt> Äæ¦ì¥²¶·§¹¾ã«ü©w¢w¢w¨ä¥LªºÄæ¦ì«h¥i¥H¬OªÅ¥Õªº
many_descpass=¦pªG <tt>±K½X</tt> Äæ¦ìªÅ¥Õ¡A¸Ó¨Ï¥ÎªÌ±N¤£·|Àòµo±K½X¡C¦pªG¦¹Äæ¦ì¥u¥]§t <tt>x</tt> ³o­Ó­^¤å¦r¥À¡A¸Ó±b¸¹±N·|³QÂê¦í¡C§_«h¡AÄæ¦ìùØªº¤å¦r±N³Q·í§@¯Â¤å¦r±K½X¡A¨t²Î·|¦Û°Ê¥[±K½s½X¡C
many_file=¤W¶Çªº·s¨Ï¥ÎªÌÀÉ®×
many_local=¥»¦aºÝªº·s¨Ï¥ÎªÌÀÉ®×
many_makehome=¬O§_«Ø¥ß®a¥Ø¿ý¡H
many_copy=¬O§_«þ¨©ÀÉ®×¨ì®a¥Ø¿ý¤¤¡H
many_upload=«Ø¥ß¨Ï¥ÎªÌ
many_elocal=§ä¤£¨ì¥»¦aºÝªºÀÉ®×
many_efile=¨S¦³¿ï¾Ü­n¤W¶ÇªºÀÉ®×
many_elen=²Ä $1 ¦æ¨S¦³¥]§t $2 ­ÓÄæ¦ì
many_eline=¿ò¥¢ªº¨Ï¥ÎªÌ¦WºÙ¦b¦æ $1
many_euser=­«½Æªº¨Ï¥ÎªÌ¦b¦æ $1: $2
many_egid=µL®Äªº GID ¦b¦æ $1: $2
many_ehome=µL®Äªº®a¥Ø¿ý¦b¦æ $1: $2
many_eshell=µL®Äªº shell ¦b¦æ $1: $2
many_emkdir=µLªk«Ø¥ß®a¥Ø¿ý $1: $2
many_egtaken=¤w³Q¨Ï¥Îªº¸s²Õ¦WºÙ¦b¦æ $1: $2
many_ok=¨Ï¥ÎªÌ $1 «Ø¥ß¦¨¥\

acl_uedit=¥i¥H½s¿èªº Unix ¨Ï¥ÎªÌ
acl_uedit_all=¥þ³¡¨Ï¥ÎªÌ
acl_uedit_none=¨S¦³¨Ï¥ÎªÌ
acl_uedit_only=¥u¦³¨Ï¥ÎªÌ
acl_uedit_except=¥þ³¡¡A°£¤F
acl_uedit_uid=¨Ï¥ÎªÌªº UID ¦b...½d³ò¤¤
acl_uedit_group=¨Ï¥ÎªÌªº¸s²Õ¬°
acl_uedit_sec=¬O§_¥]¬A¦¸¸s²Õ¡H
acl_uedit_this=¥u½s¿è³o­Ó¨Ï¥ÎªÌ
acl_ucreate=¬O§_¥i¥H«Ø¥ß·s¨Ï¥ÎªÌ¡H
acl_uid=µ¹·sªº©Î­×§ïªº¨Ï¥ÎªÌªº½s¸¹
acl_umultiple=¦h©ó¤@­Ó¨Ï¥ÎªÌ¥i¥H¨Ï¥Î¬Û¦Pªº½s¸¹
acl_ugroups=¤¹³\µ¹·sªº©ÎÅÜ§óªº¨Ï¥ÎªÌ¸s²Õ
acl_all=¥þ³¡
acl_shells=¤¹³\µ¹·sªº©ÎÅÜ§óªº¨Ï¥ÎªÌ¨t²Î´ß
acl_any=¥ô·N
acl_listed=¦C¥Xªº...
acl_home=®a¥Ø¿ý¥²¶·¦b...¤§¤U
acl_autohome=®a¥Ø¿ý¦WºÙ¥²¶·»P¨Ï¥ÎªÌ¦WºÙ¬Û¦P
acl_gedit=¨Ï¥ÎªÌ¥i¥H½s¿èªº Unix ¸s²Õ
acl_gedit_all=¥þ³¡¸s²Õ
acl_gedit_none=¨S¦³¸s²Õ
acl_gedit_only=¥u¦³¸s²Õ
acl_gedit_except=¥þ³¡¡A°£¤F
acl_gedit_gid=¸s²Õªº GID ¦b...½d³ò¤¤
acl_gcreate=¬O§_¥i¥H«Ø¥ß·s¸s²Õ¡H
acl_gnew=¥u¦³µ¹·s¨Ï¥ÎªÌ
acl_gid=µ¹·s¼W©Î­×§ïªº¸s²Õªº½s¸¹
acl_gmultiple=¦h©ó¤@­Ó¸s²Õ¥i¥H¨Ï¥Î¬Û¦Pªº½s¸¹
acl_logins=¥i¥HÅã¥Üªºµn¤J
acl_lnone=¨S¦³¨Ï¥ÎªÌ
acl_lall=¥þ³¡¨Ï¥ÎªÌ
acl_epeopt=¬O§_¥i¥H½s¿è±K½X¹L´Á¿ï¶µ¡H
acl_egp=¬O§_¥i¥H½s¿è¸s²Õ±K½X¡H

batch_title=°õ¦æ§å¦¸ÀÉ
batch_ecannot=±z¨S¦³Åv­­¨Ï¥Î§å¦¸ÀÉªí³æ
batch_desc=³o­Óªí³æ¤¹³\±z¨Ï¥Î¤@­Ó¤W¶Çªº©Î¥»¦aºÝªºÀÉ®×¨Ó¦P®É«Ø¥ß¦h­Ó¨Ï¥ÎªÌ¡CÀÉ®×ùØªº¨C¤@¦æ«ü©w­n¶i¦æªº°Ê§@¡Aµø¥G²Ä¤@Äæ¦ì¦Ó©w¡C¨C¦æªº®æ¦¡¬°¡G
batch_desc5=<b>create</b>:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j<p><b>modify</b>:ÂÂ¨Ï¥ÎªÌ¦WºÙ:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j<p><b>delete</b>:¨Ï¥ÎªÌ¦WºÙ
batch_desc4=<b>create</b>:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j:¹L´Á:ºX¼Ð<p><b>modify</b>:ÂÂ¨Ï¥ÎªÌ¦WºÙ:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j:¹L´Á:ºX¼Ð<p><b>delete</b>:¨Ï¥ÎªÌ¦WºÙ
batch_desc3=$batch_desc0
batch_desc2=<b>create</b>:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j:Äµ§i:«D¨Ï¥Î:¹L´Á<p><b>modify</b>:ÂÂ¨Ï¥ÎªÌ¦WºÙ:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:³Ì¤p:³Ì¤j:Äµ§i:«D¨Ï¥Î:¹L´Á<p><b>delete</b>:¨Ï¥ÎªÌ¦WºÙ
batch_desc1=<b>create</b>:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:¼h¯Å<p><b>modify</b>:ÂÂ¨Ï¥ÎªÌ¦WºÙ:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell:¼h¯Å<p><b>delete</b>:¨Ï¥ÎªÌ¦WºÙ
batch_desc0=<b>create</b>:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell<p><b>modify</b>:ÂÂ¨Ï¥ÎªÌ¦WºÙ:¨Ï¥ÎªÌ¦WºÙ:±K½X:uid:gid:¯u¹ê©m¦W:®a¥Ø¿ý:shell<p><b>delete</b>:¨Ï¥ÎªÌ¦WºÙ
batch_descafter=¦b <b>create</b> ¦æ¡A¦pªG <tt>uid</tt> Äæ¦ì«O¯dªÅ¥Õ¡AWebmin ±N·|¦Û°Ê½á¤©¤@­Ó¨Ï¥ÎªÌ½s¸¹¡C¦pªG <tt>gid</tt> Äæ¦ì¬OªÅ¥Õªº¡AWebmin ±N¥H¨Ï¥ÎªÌ¬Û¦Pªº¦WºÙ¡A«Ø¥ß¤@­Ó·s¸s²Õ¡C¨C¤@¦ì¨Ï¥ÎªÌªº<tt>¨Ï¥ÎªÌ¦WºÙ</tt>¡B<tt>®a¥Ø¿ý</tt> »P <tt>shell</tt> Äæ¦ì¥²¶·§¹¾ã«ü©w¢w¢w¨ä¥LªºÄæ¦ì«h¥i¥H¬OªÅ¥Õªº¡C¦pªG <tt>±K½X</tt> Äæ¦ìªÅ¥Õ¡A¸Ó¨Ï¥ÎªÌ±N¤£·|Àòµo±K½X¡C¦pªG¦¹Äæ¦ì¥u¥]§t <tt>x</tt> ³o­Ó­^¤å¦r¥À¡A¸Ó±b¸¹±N·|³QÂê¦í¡C§_«h¡AÄæ¦ìùØªº¤å¦r±N³Q·í§@¯Â¤å¦r±K½X¡A¨t²Î·|¦Û°Ê¥[±K½s½X¡C
batch_descafter2=¦b <b>modify</b> ¦æ¡A¦pªGÄæ¦ì¯dªÅ¡A´Nªí¥Ü±z¤£·Q­×§ï¨º¤@¶µ¨Ï¥ÎªÌÄÝ©Ê¡C
batch_file=¤w¤W¶Çªº§å¦¸ÀÉ
batch_local=¥»¦aºÝªº§å¦¸ÀÉ
batch_others=¬O§_¦b¨ä¥L¼Ò²Õ«Ø¥ß¡B­×§ï©Î§R°£¨Ï¥ÎªÌ¡H
batch_makehome=¬O§_¬°·s«Øªº¨Ï¥ÎªÌ«Ø¥ß®a¥Ø¿ý¡H
batch_copy=¬O§_«þ¨©ÀÉ®×¨ì·s«Ø¨Ï¥ÎªÌªº®a¥Ø¿ý¤¤¡H
batch_movehome=¬O§_¬°­×§ï¤Fªº¨Ï¥ÎªÌ­«·s©R¦W®a¥Ø¿ý¡H
batch_chuid=¬O§_¬°­×§ï¤Fªº¨Ï¥ÎªÌ§ïÅÜÀÉ®×ªº¨Ï¥ÎªÌ½s¸¹¡H
batch_chgid=¬O§_­×§ï¤Fªº¨Ï¥ÎªÌ§ïÅÜÀÉ®×ªº¸s²Õ½s¸¹¡H
batch_delhome=¬O§_¬°§R°£¤Fªº¨Ï¥ÎªÌ§R°£®a¥Ø¿ý¡H
batch_upload=°õ¦æ§å¦¸ÀÉ
batch_elocal=§ä¤£¨ì¥»¦aºÝªºÀÉ®×
batch_efile=¨S¦³¿ï¾Ü­n¤W¶ÇªºÀÉ®×
batch_elen=²Ä $1 ¦æ¨S¦³¥]§t $2 ­ÓÄæ¦ì
batch_eline=²Ä $1 ¦æªº¨Ï¥ÎªÌ¦WºÙ¿ò¥¢¤F
batch_euser=²Ä $1 ¦æªº¨Ï¥ÎªÌ¦WºÙ­«½Æ¤F: $2
batch_egid=²Ä $1 ¦æªº GID µL®Ä: $2
batch_ehome=²Ä $1 ¦æªº®a¥Ø¿ýµL®Ä: $2
batch_eshell=²Ä $1 ¦æªº shell µL®Ä: $2
batch_emkdir=µLªk«Ø¥ß®a¥Ø¿ý $1: $2
batch_egtaken=²Ä $1 ¦æªº¸s²Õ¦WºÙ¤w³Q¨Ï¥Î: $2
batch_eaction=²Ä $1 ¦æªº°Ê§@µL®Ä: $2
batch_enouser=²Ä $1 ¦æªº¨Ï¥ÎªÌ¤£¦s¦b: $2
batch_emove=²Ä $1 ¦æ·h²¾®a¥Ø¿ý¥¢±Ñ: $2
batch_created=«Ø¥ß¨Ï¥ÎªÌ $1 ¦¨¥\
batch_deleted=§R°£¨Ï¥ÎªÌ $1 ¦¨¥\
batch_modified=­×§ï¨Ï¥ÎªÌ $1 ¦¨¥\
batch_ecaccess=±z¨S¦³Åv­­«Ø¥ß²Ä $1 ¦æªº¨Ï¥ÎªÌ: $2
batch_emaccess=±z¨S¦³Åv­­­×§ï²Ä $1 ¦æªº¨Ï¥ÎªÌ: $2
batch_edaccess=±z¨S¦³Åv­­§R°£²Ä $1 ¦æªº¨Ï¥ÎªÌ: $2
batch_crypt=±K½X¬O§_¤w¸g¥[±K½s½X¡H

month_1=¤@¤ë
month_2=¤G¤ë
month_3=¤T¤ë
month_4=¥|¤ë
month_5=¤­¤ë
month_6=¤»¤ë
month_7=¤C¤ë
month_8=¤K¤ë
month_9=¤E¤ë
month_10=¤Q¤ë
month_11=¤Q¤@¤ë
month_12=¤Q¤G¤ë

who_title=¥Ø«eµn¤Jªº¨Ï¥ÎªÌ
who_user=Unix ¨Ï¥ÎªÌ
who_tty=²×ºÝ¾÷
who_when=µn¤J®É¶¡
who_from=µn¤J¨Ó·½
who_none=¥Ø«e¨S¦³¨Ï¥ÎªÌµn¤J¡C
  070701000762f3000081a40000000000000002000000013d1fe2bf000013a9000000200000000000000000000000000000001d00000003reloc/useradmin/linux-lib.pl  # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762f4000081e40000000000000002000000013d1fe2c000000727000000200000000000000000000000000000002000000003reloc/useradmin/list_logins.cgi   #!/usr/local/bin/perl
# list_logins.cgi
# Display the last login locations, tty, login time and duration

require './user-lib.pl';
&ReadParse();
$u = $in{'username'};
%access = &get_module_acl();
if (!$access{'logins'}) {
	&error($text{'logins_elist'});
	}
elsif ($access{'logins'} ne "*") {
	$u || &error($text{'logins_elist'});
	local @ul = split(/\s+/, $access{'logins'});
	&indexof($u,@ul) >= 0 ||
		&error(&text('logins_elistu', $u));
	}

&header($text{'logins_title'}, "", "list_logins");
print "<hr>\n";

if ($u) { print "<h3>",&text('logins_head', $u),"</h3>\n"; }
print "<table border width=100%> <tr $tb>\n";
if (!$u) { print "<td><b>$text{'user'}</b></td>\n"; }
print "<td><b>$text{'logins_from'}</b></td>\n";
print "<td><b>$text{'logins_tty'}</b></td>\n";
print "<td><b>$text{'logins_in'}</b></td>\n";
print "<td><b>$text{'logins_out'}</b></td>\n";
print "<td><b>$text{'logins_for'}</b></td> </tr>\n";
&open_last_command(LAST, $u);
while(@last = &read_last_line(LAST)) {
	print "<tr $cb>", $u ? ""
			     : "<td><tt>".&html_escape($last[0])."</tt></td>";
	print "<td><tt>", $last[2] ? &html_escape($last[2])
				   : $text{'logins_local'},
	      "</tt></td> <td><tt>",&html_escape($last[1]),"</tt></td> ",
	      "<td><tt>",&html_escape($last[3]),"</tt></td>\n";
	if ($last[4]) {
		print "<td><tt>",&html_escape($last[4]),"</tt></td> ",
		      "<td><tt>",&html_escape($last[5]),"</tt></td> </tr>\n";
		}
	else {
		print "<td colspan=2><tt>$text{'logins_still'}",
		      "</tt></td> </tr>\n";
		}
	$foundany++;
	if ($config{'last_count'} && ++$count >= $config{'last_count'}) {
		# Displayed maximum number
		last;
		}
	}
close(LAST);
if (!$foundany) {
	printf "<tr $cb> <td colspan=%d>$text{'logins_none'}</td> </tr>\n",
		$u ? 5 : 6;
	}
print "</table><p>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000762f5000081e40000000000000002000000013d1fe2c10000040b000000200000000000000000000000000000001d00000003reloc/useradmin/list_who.cgi  #!/usr/local/bin/perl
# list_who.cgi
# Display logged-in users

require './user-lib.pl';
%access = &get_module_acl();
$access{'logins'} || &error($text{'who_ecannot'});

&header($text{'who_title'}, "");
print "<hr>\n";

@whos = &logged_in_users();
if (@whos) {
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'who_user'}</b></td> ",
	      "<td><b>$text{'who_tty'}</b></td> ",
	      "<td><b>$text{'who_when'}</b></td> ",
	      "<td><b>$text{'who_from'}</b></td> </tr>\n";
	foreach $w (@whos) {
		print "<tr $cb>\n";
		print "<td><tt><a href='list_logins.cgi?username=$w->{'user'}'>",&html_escape($w->{'user'}),"</a></tt></td>\n";
		print "<td><tt>",&html_escape($w->{'tty'}),"</tt></td>\n";
		print "<td><tt>",&html_escape($w->{'when'}),"</tt></td>\n";
		print "<td><tt>",$w->{'from'} ? &html_escape($w->{'from'}) :
			$text{'logins_local'},"</tt></td>\n";
		print "</tr>\n";
		}
	print "</table><br>\n";
	}
else {
	print "<b>$text{'who_none'}</b> <p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000762f6000081a40000000000000002000000013d1fe2c100000628000000200000000000000000000000000000001e00000003reloc/useradmin/log_parser.pl # log_parser.pl
# Functions for parsing this module's logs

do 'user-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
$object = &html_escape($object);
if ($type eq 'user') {
	if ($action eq 'modify' && $p->{'old'} ne $object) {
		return &text('log_urename',
			     "<tt>".&html_escape($p->{'old'})."</tt>",
			     "<tt>$object</tt>");
		}
	elsif ($action eq 'modify') {
		return &text('log_umodify', "<tt>$object</tt>");
		}
	elsif ($action eq 'create') {
		return &text('log_ucreate', "<tt>$object</tt>");
		}
	elsif ($action eq 'delete' && $p->{'delhome'}) {
		return &text('log_udeletehome', "<tt>$object</tt>",
			     "<tt>".&html_escape($p->{'home'})."</tt>");
		}
	elsif ($action eq 'delete') {
		return &text('log_udelete', "<tt>$object</tt>");
		}
	}
elsif ($type eq 'group') {
	if ($action eq 'modify') {
		return &text('log_gmodify', "<tt>$object</tt>");
		}
	elsif ($action eq 'create') {
		return &text('log_gcreate', "<tt>$object</tt>");
		}
	elsif ($action eq 'delete') {
		return &text('log_gdelete', "<tt>$object</tt>");
		}
	}
elsif ($action eq 'batch') {
	if ($object =~ /^\//) {
		return &text($long ? 'log_batch_l' : 'log_batch',
			     "<tt>$object</tt>", $p->{'created'},
			     $p->{'modified'}, $p->{'deleted'});
		}
	else {
		return &text($long ? 'log_ubatch_l' : 'log_ubatch',
			     $p->{'created'}, $p->{'modified'},$p->{'deleted'});
		}
	}
return undef;
}
070701000762f7000081a40000000000000002000000013d1fe2c10000012e000000200000000000000000000000000000001900000003reloc/useradmin/low.risk  noconfig=1
uedit_mode=4
uedit=100
gedit_mode=3
gedit=adm bin daemon database dip disk ftp games gopher kmem lp mail man mem mysql news nobody operator root sys tty utmp uucp noaccess nofiles nuucp other
lowuid=100
lowgid=0
ucreate=1
gcreate=1
ugroups=*
logins=*
shells=*
home=/
umultiple=1
gmultiple=1
  070701000762f8000081a40000000000000002000000013d1fe2c100000032000000200000000000000000000000000000001a00000003reloc/useradmin/low.skill icons=1
peopt=0
nocrypt=1
suggesthome=1
noother=1
  070701000762f9000081a40000000000000002000000013d1fe2c100000468000000200000000000000000000000000000001d00000003reloc/useradmin/macos-lib.pl  # freebsd-lib.pl
# Functions for freebsd format last output

$netinfo_domain = ".";

# passfiles_type()
# Returns 6 for macos netinfo user storage
sub passfiles_type
{
return 6;
}

# groupfiles_type()
# Returns 5 for  macos netinfo group storage
sub groupfiles_type
{
return 5;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /^(reboot|shutdown)/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "shutdown" ? "Shutdown" :
					$5 eq "crash" ? "Crash" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

070701000762fa000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002600000003reloc/useradmin/mandrake-linux-lib.pl # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   070701000762fb000081e40000000000000002000000013d1fe2bf00000f5d000000200000000000000000000000000000002000000003reloc/useradmin/many_create.cgi   #!/usr/local/bin/perl
# many_create.cgi
# Create multiple users from an uploaded text file

require './user-lib.pl';
&ReadParseMime();
if ($in{'file'}) {
	$data = $in{'file'};
	}
elsif ($in{'local'}) {
	open(LOCAL, $in{'local'}) || &error($text{'many_elocal'});
	while(<LOCAL>) {
		$data .= $_;
		}
	close(LOCAL);
	}
else {
	&error($text{'many_efile'});
	}

&header($text{'many_title'}, "");
print "<hr>\n";
$| = 1;

# Work out a good base UID
&lock_user_files();
&my_setpwent();
while(@tmp = &my_getpwent()) {
	$used{$tmp[2]}++;
	$taken{$tmp[0]}++;
	}
&my_endpwent();
$newuid = int($config{'base_uid'});

# Work out a good base GID
&my_setgrent();
while(@tmp = &my_getgrent()) {
	$gused{$tmp[2]}++;
	$gtaken{$tmp[0]}++;
	}
&my_endgrent();
$newgid = int($config{'base_gid'});

print "<pre>\n";
$lnum = 0;
foreach $line (split(/[\r\n]+/, $data)) {
	$lnum++;
	local @line = split(/:/, $line, -1);
	local %user;
	if (&passfiles_type() == 2) {
		# SYSV-style passwd and shadow information
		if (@line != 12) {
			print &text('many_elen', $lnum, 12),"\n";
			next;
			}
		$user{'min'} = $line[7];
		$user{'max'} = $line[8];
		$user{'warn'} = $line[9];
		$user{'inactive'} = $line[10];
		$user{'expire'} = $line[11];
		$user{'change'} = int(time() / (60*60*24));
		}
	elsif (&passfiles_type() == 1) {
		# BSD master.passwd information
		if (@line != 10) {
			print &text('many_elen', $lnum, 10),"\n";
			next;
			}
		$user{'class'} = $line[7];
		$user{'change'} = $line[8];
		$user{'expire'} = $line[9];
		}
	else {
		# Classic passwd file information
		if (@line != 7) {
			print &text('many_elen', $lnum, 7),"\n";
			next;
			}
		}

	# Parse common fields
	if (!$line[0]) {
		print &text('many_eline', $lnum),"\n";
		next;
		}
	$user{'user'} = $line[0];
	if ($taken{$user{'user'}}) {
		print &text('many_euser', $lnum, $user{'user'}),"\n";
		next;
		}
	if ($line[2] !~ /^\d+$/) {
		# make up a UID
		while($used{$newuid}) {
			$newuid++;
			}
		$user{'uid'} = $newuid;
		}
	else {
		# use the given UID!!
		$user{'uid'} = $line[2];
		}
	$used{$user{'uid'}}++;
	if ($line[5] !~ /^\//) {
		print &text('many_ehome', $lnum, $line[5]),"\n";
		next;
		}
	$user{'home'} = $line[5];
	if (!-r $line[6]) {
		print &text('many_eshell', $lnum, $line[6]),"\n";
		next;
		}
	$user{'shell'} = $line[6];
	$user{'real'} = $line[4];
	if ($line[3] !~ /^\d+$/) {
		# Need to create a new group for the user
		if ($gtaken{$user{'user'}}) {
			print &text('many_egtaken', $lnum, $user{'user'}),"\n";
			next;
			}
		while($gused{$newgid}) {
			$newgid++;
			}
		local %group;
		$group{'group'} = $user{'user'};
		$user{'gid'} = $group{'gid'} = $newgid;
		&create_group(\%group);
		}
	else {
		$user{'gid'} = $line[3];
		}

	# Create the user!
	if ($in{'makehome'} && !-d $user{'home'}) {
		if (!mkdir($user{'home'}, oct($config{'homedir_perms'}))) {
			print &text('many_emkdir', $user{'home'}, $!),"\n";
			}
		chmod(oct($config{'homedir_perms'}), $user{'home'});
		chown($user{'uid'}, $user{'gid'}, $user{'home'});
		}
	if ($line[1] eq 'x') {
		# No login allowed
		$user{'pass'} = $config{'lock_string'};
		$user{'passmode'} = 1;
		}
	elsif ($line[1] eq '') {
		# No password needed
		$user{'pass'} = '';
		$user{'passmode'} = 0;
		}
	else {
		# Normal password
		$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
		$user{'pass'} = crypt($line[1], $salt);
		$user{'passmode'} = 3;
		$user{'plainpass'} = $line[1];
		}
	&create_user(\%user);
	&other_modules("useradmin_create_user", \%user);

	if ($in{'copy'} && $in{'makehome'}) {
		# Copy files to user's home directory
		local $uf = $config{'user_files'};
		if ($group = &my_getgrgid($user{'gid'})) {
			$uf =~ s/\$group/$group/g;
			}
		$uf =~ s/\$gid/$user{'gid'}/g;
		&copy_skel_files($uf, $user{'home'},
				 $user{'uid'}, $user{'gid'});
		}

	print "<b>",&text('many_ok',$user{'user'}),"</b>\n";
	}
print "</pre>\n";
&unlock_user_files();

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000762fc000081e40000000000000002000000013d1fe2bf0000058b000000200000000000000000000000000000001e00000003reloc/useradmin/many_form.cgi #!/usr/local/bin/perl
# many_form.cgi
# Display a form for creating many users from a text file

require './user-lib.pl';
&header($text{'many_title'}, "");
print "<hr>\n";

print "<p>$text{'many_desc'}\n";
if (&passfiles_type() == 1) {
	print "<p><tt>$text{'many_desc1'}</tt><p>\n";
	}
elsif (&passfiles_type() == 2) {
	print "<p><tt>$text{'many_desc2'}</tt><p>\n";
	}
else {
	print "<p><tt>$text{'many_desc0'}</tt><p>\n";
	}
print "$text{'many_descafter'}\n";
print "$text{'many_descpass'}<p>\n";

print "<form action=many_create.cgi method=post enctype=multipart/form-data>\n";
print "<table>\n";
print "<tr> <td><b>$text{'many_file'}</b></td>\n";
print "<td><input type=file name=file></td> </tr>\n";

print "<tr> <td><b>$text{'many_local'}</b></td>\n";
print "<td><input name=local size=30> ",&file_chooser_button("local"),
      "</td> </tr>\n";

print "<tr> <td><b>$text{'many_makehome'}</b></td>\n";
print "<td><input name=makehome type=radio value=1 checked> $text{'yes'}\n";
print "<input name=makehome type=radio value=0> $text{'no'}</td> </tr>\n";

print "<tr> <td><b>$text{'many_copy'}</b></td>\n";
print "<td><input name=copy type=radio value=1 checked> $text{'yes'}\n";
print "<input name=copy type=radio value=0> $text{'no'}</td> </tr>\n";

print "<tr> <td><input type=submit value=\"$text{'many_upload'}\"></td> </tr>\n";
print "</table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000762fd000081a40000000000000002000000013d1fe2c10000008e000000200000000000000000000000000000001c00000003reloc/useradmin/medium.risk   noconfig=1
uedit_mode=4
uedit=1
gedit_mode=0
lowuid=1
lowgid=0
ucreate=1
gcreate=1
ugroups=*
logins=*
shells=*
home=/
umultiple=1
gmultiple=1
  070701000762fe000081a40000000000000002000000013d1fe2c100000008000000200000000000000000000000000000001d00000003reloc/useradmin/medium.skill  peopt=1
070701000762ff000081a40000000000000002000000013d1fe2ea00000350000000200000000000000000000000000000001c00000003reloc/useradmin/module.info   desc_nl=Gebruikers en Groepen
desc_ru_SU=ðÏÌØÚÏ×ÁÔÅÌÉ É çÒÕÐÐÙ
risk=low medium high
desc_ko_KR.euc=»ç¿ëÀÚ ¹× ±×·ì
desc_zh_TW.Big5=¨Ï¥ÎªÌ»P¸s²Õ
desc_pl=U¿ytkownicy i&nbsp;grupy
desc_de=Benutzer und Gruppen
name=User Manager
desc_zh_CN=ÓÃ»§ÓëÈº×é
desc_pt=Utilizadores e Grupos
desc_pt_BR=Usuários e Grupos
category=system
desc_tr=Kullanýcý ve Gruplar
os_support=slackware-linux redhat-linux mandrake-linux solaris debian-linux suse-linux hpux freebsd osf1 open-linux unixware turbo-linux openbsd corel-linux cobalt-linux irix aix netbsd msc-linux openserver generic-linux macos gentoo-linux
desc=Users and Groups
desc_es=Usuarios y Grupos
desc_sv=Användare och grupper
desc_fr=Utilisateurs et groupes
desc_cz=Uzivatele a skupiny
desc_ja_JP.euc=¥æ¡¼¥¶¤ª¤è¤Ó¥°¥ë¡¼¥×
depends=0.990
version=0.990
desc_ca=Usuaris i Grups
desc_ru_RU=Ïîëüçîâàòåëè è Ãðóïïû
07070100076300000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002100000003reloc/useradmin/msc-linux-lib.pl  # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   07070100076301000081e40000000000000002000000013d1fe2c100001280000000200000000000000000000000000000002500000003reloc/useradmin/my_group_chooser.cgi  #!/usr/local/bin/perl
# my_group_chooser.cgi
# A modified version of group_chooser.cgi that uses the my_ functions

require './user-lib.pl';
&init_config();
&ReadParse();
%access = &get_module_acl(undef, "");

# Build list of primary groups
&my_setpwent();
while(@uinfo = &my_getpwent()) {
	push(@{$members{$uinfo[3]}}, $uinfo[0]);
	}
&my_endpwent();

if ($in{'multi'}) {
	# selecting multiple groups.
	if ($in{'frame'} == 0) {
		# base frame
		&PrintHeader();
		print "<script>\n";
		@ul = split(/\s+/, $in{'group'});
		$len = @ul;
		print "sel = new Array($len);\n";
		print "selr = new Array($len);\n";
		for($i=0; $i<$len; $i++) {
			print "sel[$i] = \"$ul[$i]\";\n";
			@ginfo = &my_getgrnam($ul[$i]);
			if (@ginfo) {
				@mems = &unique( split(/ /, $ginfo[3]),
						 @{$members{$ginfo[2]}} );
				if (@mems > 3) { @mems = (@mems[0..1], "..."); }
				print "selr[$i] = \"",join(' ', @mems),"\";\n";
				}
			else { print "selr[$i] = \"???\";\n"; }
			}
		print "</script>\n";
		print "<title>$text{'groups_title1'}</title>\n";
		print "<frameset cols='50%,50%'>\n";
		print "<frame src=\"my_group_chooser.cgi?frame=1&multi=1\">\n";
		print "<frameset rows='*,50' frameborder=no>\n";
		print " <frame src=\"my_group_chooser.cgi?frame=2&multi=1\">\n";
		print " <frame src=\"my_group_chooser.cgi?frame=3&multi=1\" scrolling=no>\n";
		print "</frameset>\n";
		print "</frameset>\n";
		}
	elsif ($in{'frame'} == 1) {
		# list of all groups to choose from
		&header();
		print "<script>\n";
		print "function addgroup(u, r)\n";
		print "{\n";
		print "top.sel[top.sel.length] = u\n";
		print "top.selr[top.selr.length] = r\n";
		print "top.frames[1].location = top.frames[1].location\n";
		print "return false;\n";
		print "}\n";
		print "</script>\n";
		print "<font size=+1>$text{'groups_all'}</font>\n";
		print "<table width=100%>\n";
		foreach $u (&get_groups_list()) {
			if ($in{'group'} eq $u->[0]) { print "<tr $cb>\n"; }
			else { print "<tr>\n"; }
			print "<td width=20%><a href=\"\" onClick='return addgroup(\"$u->[0]\", \"$u->[3]\")'>$u->[0]</a></td>\n";
			print "<td>$u->[3]</td> </tr>\n";
			}
		print "</table>\n";
		}
	elsif ($in{'frame'} == 2) {
		# show chosen groups
		&header();
		print "<font size=+1>$text{'groups_sel'}</font>\n";
		print <<'EOF';
<table width=100%>
<script>
function sub(j)
{
sel2 = new Array(); selr2 = new Array();
for(k=0,l=0; k<top.sel.length; k++) {
	if (k != j) {
		sel2[l] = top.sel[k];
		selr2[l] = top.selr[k];
		l++;
		}
	}
top.sel = sel2; top.selr = selr2;
location = location;
return false;
}
for(i=0; i<top.sel.length; i++) {
	document.write("<tr>\n");
	document.write("<td><a href=\"\" onClick='return sub("+i+")'>"+top.sel[i]+"</a></td>\n");
	document.write("<td>"+top.selr[i]+"</td>\n");
	}
</script>
</table>
EOF
		}
	elsif ($in{'frame'} == 3) {
		# output OK and Cancel buttons
		&header();
		print "<form>\n";
		print "<input type=button value=\"$text{'groups_ok'}\" ",
		      " onClick='top.ifield.value = top.sel.join(\" \"); ",
		      "top.close()'>\n";
		print "<input type=button value=\"$text{'groups_cancel'}\" ",
		      "onClick='top.close()'>\n";
		print "&nbsp;&nbsp;<input type=button value=\"$text{'groups_clear'}\" onClick='top.sel = new Array(); top.selr = new Array(); top.frames[1].location = top.frames[1].location'>\n";
		print "</form>\n";
		}
	}
else {
	# selecting just one group .. display a list of all groups to choose from
	&header();
	print "<script>\n";
	print "function select(f)\n";
	print "{\n";
	print "ifield.value = f;\n";
	print "top.close();\n";
	print "return false;\n";
	print "}\n";
	print "</script>\n";
	print "<title>$text{'groups_title2'}</title>\n";
	print "<table width=100%>\n";
	foreach $u (&get_groups_list()) {
		if ($in{'group'} eq $u->[0]) { print "<tr $cb>\n"; }
		else { print "<tr>\n"; }
		print "<td width=20%><a href=\"\" onClick='return select(\"$u->[0]\")'>$u->[0]</a></td>\n";
		print "<td>$u->[3]</td> </tr>\n";
		}
	print "</table>\n";
	}

sub get_groups_list
{
local(@ginfo, @groups, %gcan);
if ($access{'gedit_mode'} == 2 || $access{'gedit_mode'} == 3) {
	map { $gcan{$_}++ } split(/\s+/, $access{'gedit'});
	}
&my_setgrent();
while(@ginfo = &my_getgrent()) {
	@mems = &unique( split(/ /, $ginfo[3]), @{$members{$ginfo[2]}} );
	if (@mems > 3) { @mems = (@mems[0..1], "..."); }
	$ginfo[3] = join(' ', @mems);
	if ($access{'gedit_mode'} == 0 ||
	    $access{'gedit_mode'} == 2 && $gcan{$ginfo[0]} ||
	    $access{'gedit_mode'} == 3 && !$gcan{$ginfo[0]} ||
	    $access{'gedit_mode'} == 4 &&
		(!$access{'gedit'} || $ginfo[2] >= $access{'gedit'}) &&
		(!$access{'gedit2'} || $ginfo[2] <= $access{'gedit2'})) {
		push(@groups, [ @ginfo ]);
		}
	}
&my_endgrent();
return sort { $a->[0] cmp $b->[0] } @groups;
}

07070100076302000081e40000000000000002000000013d1fe2c100001122000000200000000000000000000000000000002400000003reloc/useradmin/my_user_chooser.cgi   #!/usr/local/bin/perl
# my_user_chooser.cgi
# A modified version of chooser.cgi that uses the my_ functions

require './user-lib.pl';
&init_config();
&ReadParse();
%access = &get_module_acl(undef, "");

if ($in{'multi'}) {
	# selecting multiple users.
	if ($in{'frame'} == 0) {
		# base frame
		&PrintHeader();
		print "<script>\n";
		@ul = split(/\s+/, $in{'user'});
		$len = @ul;
		print "sel = new Array($len);\n";
		print "selr = new Array($len);\n";
		for($i=0; $i<$len; $i++) {
			print "sel[$i] = \"$ul[$i]\";\n";
			@uinfo = &my_getpwnam($ul[$i]);
			if (@uinfo) { print "selr[$i] = \"$uinfo[6]\";\n"; }
			else { print "selr[$i] = \"???\";\n"; }
			}
		print "</script>\n";
		print "<title>$text{'users_title1'}</title>\n";
		print "<frameset cols='50%,50%'>\n";
		print "<frame src=\"my_user_chooser.cgi?frame=1&multi=1\">\n";
		print "<frameset rows='*,50' frameborder=no>\n";
		print " <frame src=\"my_user_chooser.cgi?frame=2&multi=1\">\n";
		print " <frame src=\"my_user_chooser.cgi?frame=3&multi=1\" scrolling=no>\n";
		print "</frameset>\n";
		print "</frameset>\n";
		}
	elsif ($in{'frame'} == 1) {
		# list of all users to choose from
		&header();
		print "<script>\n";
		print "function adduser(u, r)\n";
		print "{\n";
		print "top.sel[top.sel.length] = u\n";
		print "top.selr[top.selr.length] = r\n";
		print "top.frames[1].location = top.frames[1].location\n";
		print "return false;\n";
		print "}\n";
		print "</script>\n";
		print "<font size=+1>$text{'users_all'}</font>\n";
		print "<table width=100%>\n";
		foreach $u (&get_users_list()) {
			if ($in{'user'} eq $u->[0]) { print "<tr $cb>\n"; }
			else { print "<tr>\n"; }
			$u->[6] =~ s/'/&#39;/g;
			print "<td width=20%><a href=\"\" onClick='return adduser(\"$u->[0]\", \"$u->[6]\")'>$u->[0]</a></td>\n";
			print "<td>$u->[6]</td> </tr>\n";
			}
		print "</table>\n";
		}
	elsif ($in{'frame'} == 2) {
		# show chosen users
		&header();
		print "<font size=+1>$text{'users_sel'}</font>\n";
		print <<'EOF';
<table width=100%>
<script>
function sub(j)
{
sel2 = new Array(); selr2 = new Array();
for(k=0,l=0; k<top.sel.length; k++) {
	if (k != j) {
		sel2[l] = top.sel[k];
		selr2[l] = top.selr[k];
		l++;
		}
	}
top.sel = sel2; top.selr = selr2;
top.frames[1].location = top.frames[1].location;
return false;
}
for(i=0; i<top.sel.length; i++) {
	document.write("<tr>\n");
	document.write("<td><a href=\"\" onClick='return sub("+i+")'>"+top.sel[i]+"</a></td>\n");
	document.write("<td>"+top.selr[i]+"</td>\n");
	}
</script>
</table>
EOF
		}
	elsif ($in{'frame'} == 3) {
		# output OK and Cancel buttons
		&header();
		print "<form>\n";
		print "<input type=button value=\"$text{'users_ok'}\" ",
		      "onClick='top.ifield.value = top.sel.join(\" \"); ",
		      "top.close()'>\n";
		print "<input type=button value=\"$text{'users_cancel'}\" ",
		      "onClick='top.close()'>\n";
		print "&nbsp;&nbsp;<input type=button value=\"$text{'users_clear'}\" onClick='top.sel = new Array(); top.selr = new Array(); top.frames[1].location = top.frames[1].location'>\n";
		print "</form>\n";
		}
	}
else {
	# selecting just one user .. display a list of all users to choose from
	&header();
	print "<script>\n";
	print "function select(f)\n";
	print "{\n";
	print "ifield.value = f;\n";
	print "top.close();\n";
	print "return false;\n";
	print "}\n";
	print "</script>\n";
	print "<title>$text{'users_title2'}</title>\n";
	print "<table width=100%>\n";
	foreach $u (&get_users_list()) {
		if ($in{'user'} eq $u->[0]) { print "<tr $cb>\n"; }
		else { print "<tr>\n"; }
		print "<td width=20%><a href=\"\" onClick='return select(\"$u->[0]\")'>$u->[0]</a></td>\n";
		print "<td>$u->[6]</td> </tr>\n";
		}
	print "</table>\n";
	}

sub get_users_list
{
local(@uinfo, @users, %ucan);
if ($access{'uedit_mode'} == 2 || $access{'uedit_mode'} == 3) {
	map { $ucan{$_}++ } split(/\s+/, $access{'uedit'});
	}
&my_setpwent();
while(@uinfo = &my_getpwent()) {
	if ($access{'uedit_mode'} == 0 ||
	    $access{'uedit_mode'} == 2 && $ucan{$uinfo[0]} ||
	    $access{'uedit_mode'} == 3 && !$ucan{$uinfo[0]} ||
	    $access{'uedit_mode'} == 4 &&
		(!$access{'uedit'} || $uinfo[2] >= $access{'uedit'}) &&
		(!$access{'uedit2'} || $uinfo[2] <= $access{'uedit2'}) ||
	    $access{'uedit_mode'} == 5 && $uinfo[3] == $access{'uedit'}) {
		push(@users, [ @uinfo ]);
		}
	}
&my_endpwent();
return sort { $a->[0] cmp $b->[0] } @users;
}

  07070100076303000081a40000000000000002000000013d1fe2c1000004ed000000200000000000000000000000000000001e00000003reloc/useradmin/netbsd-lib.pl # freebsd-lib.pl
# Functions for freebsd format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 1;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /^(reboot|shutdown)/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "shutdown" ? "Shutdown" :
					$5 eq "crash" ? "Crash" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

   07070100076304000081a40000000000000002000000013d1fe2c1000013a9000000200000000000000000000000000000002200000003reloc/useradmin/open-linux-lib.pl # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   07070100076305000081a40000000000000002000000013d1fe2bf000004ed000000200000000000000000000000000000001f00000003reloc/useradmin/openbsd-lib.pl    # freebsd-lib.pl
# Functions for freebsd format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 1;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /^(reboot|shutdown)/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "shutdown" ? "Shutdown" :
					$5 eq "crash" ? "Crash" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

   07070100076306000081a40000000000000002000000013d1fe2c10000054c000000200000000000000000000000000000002200000003reloc/useradmin/openserver-lib.pl # openserver-lib.pl
# Functions for SCO openserver password file format

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd), 2 for SysV (/etc/passwd & /etc/shadow), 3 for
# /etc/passwd with update via useradd, 4 for AIX (/etc/passwd &
# /etc/security/passwd), and 5 for SCO (/etc/passwd and short /etc/shadow)
sub passfiles_type
{
return 5;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
local $fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

07070100076307000081a40000000000000002000000013d1fe2c00000049d000000200000000000000000000000000000001c00000003reloc/useradmin/osf1-lib.pl   # osf1-lib.pl
# Functions for osf1 user files

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

   07070100076308000081a40000000000000002000000013d1fe2c0000013a9000000200000000000000000000000000000002400000003reloc/useradmin/redhat-linux-lib.pl   # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   07070100076309000081e40000000000000002000000013d1fe2bf00000ca7000000200000000000000000000000000000001f00000003reloc/useradmin/save_group.cgi    #!/usr/local/bin/perl
# save_group.cgi
# Saves or creates a new group

require './user-lib.pl';
require 'timelocal.pl';
&error_setup($text{'gsave_err'});
&ReadParse();
%access = &get_module_acl();

# Strip out \n characters in inputs
$in{'group'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;

&lock_user_files();
@glist = &list_groups();
if ($in{'num'} ne "") {
	# get old group
	%ogroup = %{$glist[$in{'num'}]};
	$group{'group'} = $ogroup{'group'};
	&can_edit_group(\%access, \%ogroup) || &error($text{'gsave_eedit'});
	}
else {
	# check group name
	$access{'gcreate'}==1 || &error($text{'gsave_ecreate'});
	$in{'group'} =~ /^[^:\t]+$/ ||
		&error(&text('gsave_ebadname', $in{'group'}));
	$config{'max_length'} && length($in{'group'}) > $config{'max_length'} &&
		&error(&text('gsave_elength', $config{'max_length'}));
	&my_getgrnam($in{'group'}) &&
		&error(&text('gsave_einuse', $in{'group'}));
	$group{'group'} = $in{'group'};
	}

# Validate and save inputs
$in{'gid'} =~ /^[0-9]+$/ || &error(&text('gsave_egid', $in{'gid'}));
!$access{'lowgid'} || $in{'gid'} >= $access{'lowgid'} ||
	&error(&text('usave_elowgid', $access{'lowgid'}));
!$access{'higid'} || $in{'gid'} <= $access{'higid'} ||
	&error(&text('usave_ehigid', $access{'higid'}));
if (!$access{'ggid'} && %ogroup && $ogroup{'gid'} != $in{'gid'}) {
	&error($text{'gsave_eggid'});
	}
if (!$access{'gmultiple'}) {
	foreach $og (@glist) {
		if ($og->{'gid'} == $in{'gid'} &&
		    $og->{'group'} ne $ogroup{'group'}) {
			&error(&text('usave_egidused',
				     $og->{'group'}, $in{'gid'}));
			}
		}
	}
@mems = split(/\s+/, $in{members});
$group{'members'} = join(',', @mems);
$group{'gid'} = $in{'gid'};

$salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
if ($in{'passmode'} == 0) { $group{'pass'} = ""; }
elsif ($in{'passmode'} == 1) { $group{'pass'} = $in{'encpass'}; }
elsif ($in{'passmode'} == 2) { $group{'pass'} = crypt($in{'pass'}, $salt); }

if (%ogroup) {
	# Run the pre-change command
	$ENV{'USERADMIN_GROUP'} = $group{'group'};
	$ENV{'USERADMIN_ACTION'} = 'MODIFY_GROUP';
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	if ($group{'gid'} != $ogroup{'gid'} && $in{'chgid'}) {
		# Change GID on files if needed
		if ($in{'chgid'} == 1) {
			# Do all the home directories of users in this group
			&my_setpwent();
			while(@tmp = &my_getpwent()) {
				if ($tmp[3] == $ogroup{'gid'} ||
				    &indexof($tmp[0], @mems) >= 0) {
					&recursive_change(
						$tmp[7], -1, $ogroup{'gid'},
							 -1, $group{'gid'});
					}
				}
			&my_endpwent();
			}
		else {
			# Do all files in this group from the root dir
			&recursive_change("/", -1, $ogroup{'gid'},
					       -1, $group{'gid'});
			}
		}

	# Save the group
	&modify_group(\%ogroup, \%group);
	}
else {
	# Creating a new group
	$ENV{'USERADMIN_GROUP'} = $group{'group'};
	$ENV{'USERADMIN_ACTION'} = 'CREATE_GROUP';
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	&create_group(\%group);
	}
&made_changes();
&unlock_user_files();
&webmin_log(%ogroup ? 'modify' : 'create', 'group', $group{'group'}, \%in);

# Bounce back to the list
&redirect("");

 0707010007630a000081e40000000000000002000000013d1fe2bf00003e7e000000200000000000000000000000000000001e00000003reloc/useradmin/save_user.cgi #!/usr/local/bin/perl
# save_user.cgi
# Saves or creates a new user. If the changes require moving of the user's
# home directory or changing file ownerships, do that as well

require './user-lib.pl';
require 'timelocal.pl';
&error_setup($text{'usave_err'});
&ReadParse();
%access = &get_module_acl();

# Strip out \n characters in inputs
$in{'real'} =~ s/\r|\n//g;
$in{'user'} =~ s/\r|\n//g;
$in{'pass'} =~ s/\r|\n//g;
$in{'encpass'} =~ s/\r|\n//g;
$in{'home'} =~ s/\r|\n//g;
$in{'gid'} =~ s/\r|\n//g;
$in{'uid'} =~ s/\r|\n//g;
$in{'uid'} = int($in{'uid'});
$in{'othersh'} =~ s/\r|\n//g;

# Validate username
$user{'user'} = $in{'user'};
$in{'user'} =~ /^[^:\t]+$/ ||
	&error(&text('usave_ebadname', $in{'user'}));
$config{'max_length'} && length($in{'user'}) > $config{'max_length'} &&
	&error(&text('usave_elength', $config{'max_length'}));

&lock_user_files();
@ulist = &list_users();
@glist = &list_groups();
if ($in{'num'} ne "") {
	# Get old user info
	%ouser = %{$ulist[$in{'num'}]};
	$user{'olduser'} = $ouser{'user'};
	if ($user{'user'} ne $ouser{'user'}) {
		foreach $ou (@ulist) {
			&error(&text('usave_einuse', $in{'user'}))
				if ($ou->{'user'} eq $in{'user'});
			}
		$access{'uedit_mode'} == 2 && &error($text{'usave_erename'});
		$renaming = 1;
		}
	&can_edit_user(\%access, \%ouser) || &error($text{'usave_eedit'});
	}
else {
	# check new user details
	$access{'ucreate'} || &error($text{'usave_ecreate'});
	foreach $ou (@ulist) {
		&error(&text('usave_einuse', $in{'user'}))
			if ($ou->{'user'} eq $in{'user'});
		}
	}
if (($in{'num'} eq '' || $user{'user'} ne $ouser{'user'}) &&
    $config{'alias_check'} && &foreign_check("sendmail")) {
	# Check if the new username conflicts with a sendmail alias
	&foreign_require("sendmail", "sendmail-lib.pl");
	&foreign_require("sendmail", "aliases-lib.pl");
	local $conf = &foreign_call("sendmail", "get_sendmailcf");
	local $afiles = &foreign_call("sendmail", "aliases_file", $conf);
	foreach $a (&foreign_call("sendmail", "list_aliases", $afiles)) {
		&error(&text('usave_einuse_a', $in{'user'}))
			if ($a->{'name'} eq $in{'user'});
		}
	}

# Validate and store basic inputs
$in{'uid'} =~ /^\-?[0-9]+$/ || &error(&text('usave_euid', $in{'uid'}));
if (!%ouser || $ouser{'uid'} != $in{'uid'}) {
	!$access{'lowuid'} || $in{'uid'} >= $access{'lowuid'} ||
		&error(&text('usave_elowuid', $access{'lowuid'}));
	!$access{'hiuid'} || $in{'uid'} <= $access{'hiuid'} ||
		&error(&text('usave_ehiuid', $access{'hiuid'}));
	}
if (!$access{'uuid'} && %ouser && $ouser{'uid'} != $in{'uid'}) {
	&error($text{'usave_euuid'});
	}
if (!$access{'umultiple'}) {
	foreach $ou (@ulist) {
		if ($ou->{'uid'} == $in{'uid'} &&
		    $ou->{'user'} ne $ouser{'user'}) {
			&error(&text('usave_euidused',
				     $ou->{'user'}, $in{'uid'}));
			}
		}
	}
$in{'real'} =~ /^[^:]*$/ || &error(&text('usave_ereal', $in{'real'}));
if ($in{'shell'} eq "*") { $in{'shell'} = $in{'othersh'}; }
if ($access{'shells'} ne "*") {
	if (&indexof($in{'shell'}, split(/\s+/, $access{'shells'})) < 0 &&
	    (!%ouser || $in{'shell'} ne $ouser{'shell'})) {
		&error(&text('usave_eshell', $in{'shell'}));
		}
	}
$user{'uid'} = $in{'uid'};
if ($in{'num'} ne "" || !$in{'gidmode'}) {
	# Selecting existing group
	$user{'gid'} = &my_getgrnam($in{'gid'});
	if ($user{'gid'} eq "") { &error(&text('usave_egid', $in{'gid'})); }
	}
else {
	# Creating a new group
	$access{'gcreate'} || &error($text{'usave_egcreate'});
	$in{'newgid'} =~ /^[^: \t]+$/ ||
		&error(&text('gsave_ebadname', $in{'newgid'}));
	foreach $og (@glist) {
		&error(&text('usave_einuseg', $in{'newgid'}))
			if ($og->{'group'} eq $in{'newgid'});
		}
	}
if ($config{'extra_real'}) {
	$in{'real'} =~ /^[^:,]*$/ || &error(&text('usave_ereal', $in{'real'}));
	$in{'office'} =~ /^[^:,]*$/ || &error($text{'usave_eoffice'});
	$in{'workph'} =~ /^[^:,]*$/ || &error($text{'usave_eworkph'});
	$in{'homeph'} =~ /^[^:,]*$/ || &error($text{'usave_ehomeph'});
	$user{'real'} = join(",", $in{'real'}, $in{'office'}, $in{'workph'},
				  $in{'homeph'});
	$user{'real'} .= ",$in{'extra'}" if ($in{'extra'});
	}
else {
	$user{'real'} = $in{'real'};
	}
if ($access{'autohome'}) {
	$user{'home'} = &auto_home_dir($access{'home'}, $in{'user'});
	}
elsif ($config{'home_base'} && $in{'home_base'}) {
	$user{'home'} = &auto_home_dir($config{'home_base'}, $in{'user'});
	}
else {
	$user{'home'} = $in{'home'};
	}
if (!$access{'autohome'}) {
	$user{'home'} =~ /^\// || &error(&text('usave_ehome', $in{'home'}));
	$al = length($access{'home'});
	if (length($user{'home'}) < $al ||
	    substr($user{'home'}, 0, $al) ne $access{'home'}) {
		&error(&text('usave_ehomepath', $user{'home'}));
		}
	}
$user{'shell'} = $in{'shell'};
foreach $gid (split(/\0/, $in{'sgid'})) {
	$ingroup{$gid}++;
	}

if ($access{'ugroups'} ne "*") {
	local %g;
	map { $g{$_}++ } split(/\s+/, $access{'ugroups'});
	if ($in{'num'} ne "") {
		# existing users can only be added to or removed from
		# allowed groups
		if ($ouser{'gid'} != $user{'gid'}) {
			$g{$in{'gid'}} ||
				&error(&text('usave_eprimary', $in{'gid'}));
			local $og = &my_getgrgid($ouser{'gid'});
			$g{$og} ||
				&error(&text('usave_eprimaryr', $og));
			}
		foreach $g (@glist) {
			local @mems = split(/,/ , $g->{'members'});
			local $idx = &indexof($ouser{'user'}, @mems);
			if ($ingroup{$g->{'gid'}} && $idx<0 &&
			    !$g{$g->{'group'}}) {
				&error(&text('usave_esecondary',
					     $g->{'group'}));
				}
			elsif (!$ingroup{$g->{'gid'}} && $idx>=0 &&
			       !$g{$g->{'group'}}) {
				&error(&text('usave_esecondaryr',
					     $g->{'group'}));
				}
			}
		}
	elsif (!$in{'gidmode'}) {
		# new users can only be added to allowed groups
		# This is skipped if we are creating a new group for
		# new users
		$g{$in{'gid'}} ||
			&error(&text('usave_eprimary', $in{'gid'}));
		foreach $gid (split(/\0/, $in{'sgid'})) {
			local $group = &my_getgrgid($gid);
			$g{$group} ||
				&error(&text('usave_esecondary', $group));
			}
		}
	}

# Store password input
if ($in{'passmode'} == 0) { $user{'pass'} = ""; }
elsif ($in{'passmode'} == 1) { $user{'pass'} = $config{'lock_string'}; }
elsif ($in{'passmode'} == 2) { $user{'pass'} = $in{'encpass'}; }
elsif ($in{'passmode'} == 3) { $user{'pass'} = &encrypt_password($in{'pass'}); }

$pft = &passfiles_type();
if ($pft == 2 || $pft == 5) {
	if ($access{'peopt'}) {
		# Validate shadow-password inputs
		$in{'min'} =~ /^[0-9]*$/ ||
			&error(&text('usave_emin', $in{'min'}));
		$in{'max'} =~ /^[0-9]*$/ ||
			&error(&text('usave_emax', $in{'max'}));
		$user{'min'} = $in{'min'};
		$user{'max'} = $in{'max'};
		if ($pft == 2) {
			if ($in{'expired'} ne "" && $in{'expirem'} ne ""
			    && $in{'expirey'} ne "") {
				eval { $expire = timelocal(0, 0, 12,
							$in{'expired'},
						   	$in{'expirem'}-1,
							$in{'expirey'}-1900); };
				if ($@) { &error($text{'usave_eexpire'}); }
				$expire = int($expire / (60*60*24));
				}
			else { $expire = ""; }
			$user{'expire'} = $expire;
			$in{'warn'} =~ /^[0-9]*$/ ||
			    &error(&text('usave_ewarn', $in{'warn'}));
			$in{'inactive'} =~ /^[0-9]*$/ ||
			    &error(&text('usave_einactive', $in{'inactive'}));
			$user{'warn'} = $in{'warn'};
			$user{'inactive'} = $in{'inactive'};
			}
		}
	else {
		$user{'expire'} = $ouser{'expire'};
		$user{'min'} = $ouser{'min'};
		$user{'max'} = $ouser{'max'};
		if ($pft == 2) {
			$user{'warn'} = $ouser{'warn'};
			$user{'inactive'} = $ouser{'inactive'};
			}
		}
	$daynow = int(time() / (60*60*24));
	$user{'change'} = $pft == 5 && $in{'ask'} ? 0 :
			  !%ouser ? $daynow :
			  $in{'passmode'} == 3 ? $daynow :
			  $in{'passmode'} == 2 &&
			  $user{'pass'} ne $ouser{'pass'} ? $daynow :
							    $ouser{'change'};
	}
elsif ($pft == 1 || $pft == 6) {
	if ($access{'peopt'}) {
		# Validate BSD-password inputs
		if ($in{'expired'} ne "" && $in{'expirem'} ne ""
		    && $in{'expirey'} ne "") {
			eval { $expire = timelocal(59, $in{'expiremi'},
						   $in{'expireh'},
						   $in{'expired'},
						   $in{'expirem'}-1,
						   $in{'expirey'}-1900); };
			if ($@) { &error($text{'usave_eexpire'}); }
			}
		else { $expire = ""; }
		if ($in{'changed'} ne "" && $in{'changem'} ne ""
		    && $in{'changey'} ne "") {
			eval { $change = timelocal(59, $in{'changemi'},
						   $in{'changeh'},
						   $in{'changed'},
						   $in{'changem'}-1,
						   $in{'changey'}-1900); };
			if ($@) { &error($text{'usave_echange'}); }
			}
		else { $change = ""; }
		$in{'class'} =~ /^([^: ]*)$/ ||
			&error(&text('usave_eclass', $in{'class'}));
		$user{'expire'} = $expire;
		$user{'change'} = $change;
		$user{'class'} = $in{'class'};
		}
	else {
		$user{'expire'} = $ouser{'expire'};
		$user{'change'} = $ouser{'change'};
		$user{'class'} = $ouser{'class'};
		}
	}
elsif ($pft == 4) {
	# Validate AIX-style password inputs
	if ($in{'expired'} ne "" && $in{'expirem'} ne ""	
		&& $in{'expirey'} ne "" ) {
		# Add a leading zero if only 1 digit long
		$in{'expirem'} =~ s/^(\d)$/0$1/;
		$in{'expired'} =~ s/^(\d)$/0$1/;
		$in{'expireh'} =~ s/^(\d)$/0$1/;
		$in{'expiremi'} =~ s/^(\d)$/0$1/;
		
		# Only use the last two digits of the year
		$in{'expirey'} =~ s/^\d\d(\d\d)$/$1/;
		
		# If the user didn't choose the hour and min make them 01
		$in{'expireh'} = "01" if $in{'expireh'} eq "";
		$in{'expiremi'} = "01" if $in{'expiremi'} eq "";
		$expire="$in{'expirem'}$in{'expired'}$in{'expireh'}$in{'expiremi'}$in{'expirey'}";
		}
	else { $expire = ""; }
	if ($access{'peopt'}) {
		$user{'admin'} = $in{'flags'} =~ /admin/;
		$user{'admchg'} = $in{'flags'} =~ /admchg/;
		$user{'nocheck'} = $in{'flags'} =~ /nocheck/;
		$user{'expire'} = $expire;
		$user{'min'} = $in{'min'};
		$user{'max'} = $in{'max'};
		$user{'warn'} = $in{'warn'};
		}
	else {
		$user{'admin'} = $ouser{'admin'};
		$user{'admchg'} = $ouser{'admchg'};
		$user{'nocheck'} = $ouser{'nocheck'};
		$user{'expire'} = $ouser{'expire'};
		$user{'min'} = $ouser{'min'};
		$user{'max'} = $ouser{'max'};
		$user{'warn'} = $ouser{'warn'};
		}
	$user{'change'} = !%ouser ? time() :
			  $in{'passmode'} == 3 ? time() :
			  $user{'pass'} ne $ouser{'pass'} ? time() :
							    $ouser{'change'};
	}

if (%ouser) {
	# We are changing an existing user
	if ($ouser{'uid'} != $user{'uid'}) {
		$changing_uid = 1;
		}
	if ($ouser{'gid'} != $user{'gid'}) {
		$changing_gid = 1;
		}
	if ($ouser{'home'} ne $user{'home'}) {
		$changing_homedir = 1;
		}
	$in{'old'} = $ouser{'user'};

	# Force defaults for save options if necessary
	$in{'movehome'} = 1 if (!$access{'movehome'});
	$in{'chuid'} = 1 if (!$access{'chuid'});
	$in{'chgid'} = 1 if (!$access{'chgid'});
	$in{'others'} = 1 if (!$access{'mothers'});

	# Run the pre-change command
	$ENV{'USERADMIN_USER'} = $user{'user'};
	$ENV{'USERADMIN_UID'} = $user{'uid'};
	$ENV{'USERADMIN_REAL'} = $user{'real'};
	$ENV{'USERADMIN_SHELL'} = $user{'shell'};
	$ENV{'USERADMIN_HOME'} = $user{'home'};
	$ENV{'USERADMIN_GID'} = $user{'gid'};
	$ENV{'USERADMIN_PASS'} = $in{'passmode'} == 3 ? $in{'pass'} : undef;
	$ENV{'USERADMIN_SECONDARY'} = join(",", split(/\0/, $in{'sgid'}));
	$ENV{'USERADMIN_ACTION'} = 'MODIFY_USER';
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	# Move the home directory if needed
	if ($changing_homedir && $in{'movehome'}) {
		&error($text{'usave_efromroot'}) if ($ouser{'home'} eq "/");
		&error($text{'usave_etoroot'}) if ($user{'home'} eq "/");
		if (-d $ouser{'home'} && !-e $user{'home'}) {
			# Move home directory if the old one exists and
			# the new one does not.
			$out = &backquote_logged(
				"mv \"$ouser{'home'}\" \"$user{'home'}\" 2>&1");
			if ($?) { &error(&text('usave_emove', $out)); }
			}
		}

	# Change GID on files if needed
	if ($changing_gid && $in{'chgid'}) {
		if ($in{'chgid'} == 1) {
			&recursive_change($user{'home'}, $ouser{'uid'},
					  $ouser{'gid'}, -1, $user{'gid'});
			}
		else {
			&recursive_change("/", $ouser{'uid'},
					  $ouser{'gid'}, -1, $user{'gid'});
			}
		}

	# Change UID on files if needed
	if ($changing_uid && $in{'chuid'}) {
		if ($in{'chuid'} == 1) {
			&recursive_change($user{'home'}, $ouser{'uid'},
					  -1, $user{'uid'}, -1);
			}
		else {
			&recursive_change("/", $ouser{'uid'},
					  -1, $user{'uid'}, -1);
			}
		}

	# Update user details
	&modify_user(\%ouser, \%user);
	$user{'passmode'} = $in{'passmode'};
	if ($in{'passmode'} == 2 && $user{'pass'} eq $ouser{'pass'}) {
		# not changing password
		$user{'passmode'} = 4;
		}
	$user{'plainpass'} = $in{'pass'} if ($in{'passmode'} == 3);
	if ($in{'others'}) {
		&other_modules("useradmin_modify_user", \%user, \%ouser);
		}
	}
else {
	# Force defaults for save options if necessary
	$in{'makehome'} = 1 if (!$access{'makehome'});
	$in{'copy_files'} = 1 if (!$access{'copy'} &&
				  $config{'user_files'} =~ /\S/);
	$in{'others'} = 1 if (!$access{'cothers'});

	# Run the pre-change command
	$ENV{'USERADMIN_USER'} = $user{'user'};
	$ENV{'USERADMIN_UID'} = $user{'uid'};
	$ENV{'USERADMIN_REAL'} = $user{'real'};
	$ENV{'USERADMIN_SHELL'} = $user{'shell'};
	$ENV{'USERADMIN_HOME'} = $user{'home'};
	$ENV{'USERADMIN_GID'} = $user{'gid'};
	$ENV{'USERADMIN_SECONDARY'} = join(",", split(/\0/, $in{'sgid'}));
	$ENV{'USERADMIN_PASS'} = $in{'passmode'} == 3 ? $in{'pass'} : undef;
	$ENV{'USERADMIN_ACTION'} = 'CREATE_USER';
	$merr = &making_changes();
	&error(&text('usave_emaking', "<tt>$merr</tt>")) if (defined($merr));

	# Create the home directory
	if ($in{'makehome'}) {
		&lock_file($user{'home'});
		mkdir($user{'home'}, oct($config{'homedir_perms'})) ||
			&error(&text('usave_emkdir', $!));
		chmod(oct($config{'homedir_perms'}), $user{'home'}) ||
			&error(&text('usave_echmod', $!));
		&unlock_file($user{'home'});
		$made_home = 1;
		}

	if ($in{'gidmode'}) {
		# New group for the new user ..
		# find the first free GID above the base
		&my_setgrent();
		while(@tmp = &my_getgrent()) {
			$used{$tmp[2]}++;
			}
		&my_endgrent();
		$newgid = int($config{'base_gid'} > $access{'lowgid'} ?
				$config{'base_gid'} : $access{'lowgid'});
		while($used{$newgid}) {
			$newgid++;
			}

		# create a new group for this user
		$created_group = $group{'group'} = $in{'newgid'};
		$user{'gid'} = $group{'gid'} = $newgid;
		&create_group(\%group);
		}

	if ($made_home) {
		chown($user{'uid'}, $user{'gid'}, $user{'home'}) ||
			&error(&text('usave_echown', $!));
		}

	# Save user details
	&create_user(\%user);
	$user{'passmode'} = $in{'passmode'};
	$user{'plainpass'} = $in{'pass'} if ($in{'passmode'} == 3);
	if ($in{'others'}) {
		&other_modules("useradmin_create_user", \%user);
		}

	# Copy files into user's directory
	if ($in{'copy_files'} && $in{'makehome'}) {
		local $uf = $config{'user_files'};
		local $shell = $user{'shell'}; $shell =~ s/^(.*)\///g;
		$uf =~ s/\$group/$in{'gid'}/g;
		$uf =~ s/\$gid/$user{'gid'}/g;
		$uf =~ s/\$shell/$shell/g;
		&copy_skel_files($uf, $user{'home'},
				 $user{'uid'}, $user{'gid'});
		}
	}

# Update groups
foreach $g (@glist) {
	@mems = split(/,/ , $g->{'members'});
	if ($renaming) {
		$idx = &indexof($ouser{'user'}, @mems);
		if ($ingroup{$g->{'gid'}} && $idx<0) {
			# Need to add to the group
			push(@mems, $user{'user'});
			}
		elsif (!$ingroup{$g->{'gid'}} && $idx>=0) {
			# Need to remove from the group
			splice(@mems, $idx, 1);
			}
		elsif ($idx >= 0) {
			# Need to rename in group
			$mems[$idx] = $user{'user'};
			}
		else { next; }
		}
	else {
		$idx = &indexof($user{'user'}, @mems);
		if ($ingroup{$g->{'gid'}} && $idx<0) {
			# Need to add to the group
			push(@mems, $user{'user'});
			}
		elsif (!$ingroup{$g->{'gid'}} && $idx>=0) {
			# Need to remove from the group
			splice(@mems, $idx, 1);
			}
		else { next; }
		}
	%newg = %$g;
	$newg{'members'} = join(',', @mems);
	&modify_group($g, \%newg);
	}
&made_changes();
&unlock_user_files();
delete($in{'pass'});
delete($in{'encpass'});
&webmin_log('create', 'group', $created_group, \%in) if ($created_group);
&webmin_log(%ouser ? 'modify' : 'create', 'user', $in{'user'}, \%in);

# Bounce back to the list
&redirect("");


  0707010007630b000081e40000000000000002000000013d1fe2c100000558000000200000000000000000000000000000002100000003reloc/useradmin/search_group.cgi  #!/usr/local/bin/perl
# search_group.cgi
# Search the group file, and display a list of results

require './user-lib.pl';
&ReadParse();
@glist = &list_groups();
$m = $in{'match'};
$w = $in{'what'};
for($i=0; $i<@glist; $i++) {
	$g = $glist[$i];
	$f = $g->{$in{'field'}};
	if ($m == 0 && $f eq $w ||
	    $m == 1 && eval { $f =~ /$w/i } ||
	    $m == 4 && index($f, $w) >= 0 ||
	    $m == 2 && $f ne $w ||
	    $m == 3 && eval { $f !~ /$w/i } ||
	    $m == 5 && index($f, $w) < 0) {
		push(@match, $g);
		}
	}
if (@match == 1) {
	&redirect("edit_group.cgi?num=".$match[0]->{'num'});
	}
else {
	&header($text{'search_title'}, "");
	print "<hr>\n";
	if (@match == 0) {
		print "<p><b>$text{'search_gnotfound'}</b>. <p>\n";
		}
	else {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'gedit_group'}</b></td>\n";
		print "<td><b>$text{'gedit_gid'}</b></td>\n";
		print "<td><b>$text{'gedit_members'}</b></td> </tr>\n";
		foreach $m (@match) {
			local $members = join(" ", split(/,/, $m->{'members'}));
			print "<tr $cb>\n";
			print "<td><a href=\"edit_group.cgi?num=$m->{'num'}\">",
			      &html_escape($m->{'group'}),"</a></td>\n";
			print "<td>$m->{'gid'}</td>\n";
			print "<td>",&html_escape($members),
			      "&nbsp;</td>\n";
			print "</tr>\n";
			}
		print "</table><p>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

0707010007630c000081e40000000000000002000000013d1fe2c1000005ba000000200000000000000000000000000000002000000003reloc/useradmin/search_user.cgi   #!/usr/local/bin/perl
# search_user.cgi
# Search the password file, and display a list of results

require './user-lib.pl';
&ReadParse();
%access = &get_module_acl();
@ulist = &list_users();
$m = $in{'match'};
$w = $in{'what'};
for($i=0; $i<@ulist; $i++) {
	$u = $ulist[$i];
	$f = $u->{$in{'field'}};
	if ($m == 0 && $f eq $w ||
	    $m == 1 && eval { $f =~ /$w/i } ||
	    $m == 4 && index($f, $w) >= 0 ||
	    $m == 2 && $f ne $w ||
	    $m == 3 && eval { $f !~ /$w/i } ||
	    $m == 5 && index($f, $w) < 0) {
		push(@match, $u) if (&can_edit_user(\%access, $u));
		}
	}
if (@match == 1) {
	&redirect("edit_user.cgi?num=".$match[0]->{'num'});
	}
else {
	&header($text{'search_title'}, "");
	print "<hr>\n";
	if (@match == 0) {
		print "<p><b>$text{'search_notfound'}</b>. <p>\n";
		}
	else {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>$text{'user'}</b></td>\n";
		print "<td><b>$text{'uid'}</b></td>\n";
		print "<td><b>$text{'real'}</b></td>\n";
		print "<td><b>$text{'home'}</b></td> </tr>\n";
		foreach $m (@match) {
			$m->{'real'} =~ s/,.*$//;
			print "<tr $cb>\n";
			print "<td><a href=\"edit_user.cgi?num=$m->{'num'}\">",
			      &html_escape($m->{'user'}),"</a></td>\n";
			print "<td>$m->{'uid'}</td>\n";
			print "<td>",&html_escape($m->{'real'}),"&nbsp;</td>\n";
			print "<td>",&html_escape($m->{'home'}),"</td>\n";
			print "</tr>\n";
			}
		print "</table><p>\n";
		}
	print "<hr>\n";
	&footer("", $text{'index_return'});
	}

  0707010007630d000081a40000000000000002000000013d1fe2c0000013a9000000200000000000000000000000000000002700000003reloc/useradmin/slackware-linux-lib.pl    # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   0707010007630e000081a40000000000000002000000013d1fe2c1000005fd000000200000000000000000000000000000001f00000003reloc/useradmin/solaris-lib.pl    # solaris-lib.pl
# Functions for solaris password file format

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return 2;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
local $fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
return crypt($_[0], $salt);
}

1;

   0707010007630f000081a40000000000000002000000013d1fe2bf000013a9000000200000000000000000000000000000002200000003reloc/useradmin/suse-linux-lib.pl # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   07070100076310000081a40000000000000002000000013d1fe2bf000013a9000000200000000000000000000000000000002300000003reloc/useradmin/turbo-linux-lib.pl    # linux-lib.pl
# Functions for reading linux format last output

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow)
sub passfiles_type
{
return &password_file($config{'shadow_file'}) ? 2 : 0;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return &password_file($config{'gshadow_file'}) ? 2 : 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
$fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\S+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5 eq "down" ? "Shutdown" : $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# logged_in_users()
# Returns a list of hashes containing details of logged-in users
sub logged_in_users
{
local @rv;
open(WHO, "who |");
while(<WHO>) {
	if (/^(\S+)\s+(\S+)\s+(\S+\s+\d+\s+\d+:\d+)\s+(\((\S+)\))?/) {
		push(@rv, { 'user' => $1, 'tty' => $2,
			    'when' => $3, 'from' => $5 });
		}
	}
close(WHO);
return @rv;
}

# encrypt_password(password)
sub encrypt_password
{
local $md5 = 0;
if (&foreign_check("pam")) {
	# Use the PAM module if we can
	&foreign_require("pam", "pam-lib.pl");
	local @conf = &foreign_call("pam", "get_pam_config");
	local ($svc) = grep { $_->{'name'} eq 'passwd' } @conf;
	LOOP: foreach $m (@{$svc->{'mods'}}) {
		if ($m->{'type'} eq 'password') {
			if ($m->{'args'} =~ /md5/) { $md5++; }
			elsif ($m->{'module'} =~ /pam_stack\.so/ &&
			       $m->{'args'} =~ /service=(\S+)/) {
				# Referred to another service!
				($svc) = grep { $_->{'name'} eq $1 } @conf;
				if ($svc) { goto LOOP }
				else { last; }
				}
			}
		}
	}
elsif (open(PAM, "/etc/pam.d/passwd")) {
	# Otherwise try to check the PAM file directly
	while(<PAM>) {
		s/#.*$//g;
		$md5++ if (/^password.*md5/);
		}
	close(PAM);
	}
if (open(DEFS, "/etc/login.defs")) {
	# The login.defs file is used on debian sometimes
	while(<DEFS>) {
		s/#.*$//g;
		$md5++ if (/MD5_CRYPT_ENAB\s+yes/i);
		}
	close(DEFS);
	}
if ($md5 && !$config{'skip_md5'}) {
	# MD5 encrypt the password, using the same algorithm as PAM
	local $mode = 1;
	eval "use MD5";
	if ($@) {
		$mode = 2;
		eval "use Digest::MD5";
		if ($@) {
			&header($text{'error'}, "");
			print "<hr><p>\n";
			print &text('usave_edigestmd5',
			    "/config.cgi?$module_name",
			    "/cpan/download.cgi?source=3&cpan=Digest::MD5"),
			    "<p>\n";
			print "<hr>\n";
			&footer("", $text{'index_return'});
			exit;
			}
		}
	local $passwd = $_[0];
	local $magic = '$1$';
	local $salt = substr(time(), -8);

	# Add the password, magic and salt
	local $ctx = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx->add($passwd);
	$ctx->add($magic);
	$ctx->add($salt);

	# Add some more stuff from the hash of the password and salt
	local $ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
	$ctx1->add($passwd);
	$ctx1->add($salt);
	$ctx1->add($passwd);
	local $final = $ctx1->digest();
	for($pl=length($passwd); $pl>0; $pl-=16) {
		$ctx->add($pl > 16 ? $final : substr($final, 0, $pl));
		}

	# This piece of code seems rather pointless, but it's in the C code that
	# does MD5 in PAM so it has to go in!
	local $j = 0;
	local ($i, $l);
	for($i=length($passwd); $i; $i >>= 1) {
		if ($i & 1) {
			$ctx->add("\0");
			}
		else {
			$ctx->add(substr($passwd, $j, 1));
			}
		}
	$final = $ctx->digest();

	# This loop exists only to waste time
	for($i=0; $i<1000; $i++) {
		$ctx1 = ($mode == 1 ? new MD5 : new Digest::MD5);
		$ctx1->add($i & 1 ? $passwd : $final);
		$ctx1->add($salt) if ($i % 3);
		$ctx1->add($passwd) if ($i % 7);
		$ctx1->add($i & 1 ? $final : $passwd);
		$final = $ctx1->digest();
		}

	# Convert the 16-byte final string into a readable form
	local $rv = $magic.$salt.'$';
	local @final = map { ord($_) } split(//, $final);
	$l = ($final[ 0]<<16) + ($final[ 6]<<8) + $final[12];
	$rv .= &to64($l, 4);
	$l = ($final[ 1]<<16) + ($final[ 7]<<8) + $final[13];
	$rv .= &to64($l, 4);
	$l = ($final[ 2]<<16) + ($final[ 8]<<8) + $final[14];
	$rv .= &to64($l, 4);
	$l = ($final[ 3]<<16) + ($final[ 9]<<8) + $final[15];
	$rv .= &to64($l, 4);
	$l = ($final[ 4]<<16) + ($final[10]<<8) + $final[ 5];
	$rv .= &to64($l, 4);
	$l = $final[11];
	$rv .= &to64($l, 2);

	return $rv;
	}
else {
	local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
	return crypt($_[0], $salt);
	}
}

@itoa64 = split(//, "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
sub to64
{
local ($v, $n) = @_;
local $r;
while(--$n >= 0) {
        $r .= $itoa64[$v & 0x3f];
        $v >>= 6;
        }
return $r;
}

1;
   07070100076311000081a40000000000000002000000013d1fe2bf00000511000000200000000000000000000000000000002000000003reloc/useradmin/unixware-lib.pl   # unixware-lib.pl
# Functions for UnixWare password file format

# passfiles_type()
# Returns 0 for old-style passwords (/etc/passwd only), 1 for FreeBSD-style
# (/etc/master.passwd) and 2 for SysV (/etc/passwd & /etc/shadow),3 for Unixware
sub passfiles_type
{
return 3;
}

# groupfiles_type()
# Returns 0 for normal group file (/etc/group only) and 2 for shadowed
# (/etc/group and /etc/gshadow)
sub groupfiles_type
{
return 0;
}

# open_last_command(handle, user)
sub open_last_command
{
local ($fh, $user) = @_;
open($fh, "last $user |");
}

# read_last_line(handle)
# Parses a line of output from last into an array of
#  user, tty, host, login, logout, period
sub read_last_line
{
local $fh = $_[0];
while(1) {
	chop($line = <$fh>);
	if (!$line) { return (); }
	if ($line =~ /system boot/) { next; }
	if ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+\-\s+(\d+:\d+)\s+\((\d+:\d+)\)/) {
		return ($1, $2, $3, $4, $5, $6);
		}
	elsif ($line =~ /^(\S+)\s+(\S+)\s+(\S+)?\s+(\S+\s+\S+\s+\d+\s+\d+:\d+)\s+still/) {
		return ($1, $2, $3, $4);
		}
	}
}

# encrypt_password(password)
sub encrypt_password
{
# We let the passwd programa to do encryption on Unixware.
# local $salt = chr(int(rand(26))+65) . chr(int(rand(26))+65);
# return crypt($_[0], $salt);
return $_[0];
}

1;

   07070100076312000081a40000000000000002000000013d1fe2bf0000611a000000200000000000000000000000000000001c00000003reloc/useradmin/user-lib.pl   # user-lib.pl
# Common functions for Unix user management

do '../web-lib.pl';
&init_config();
do "$gconfig{'os_type'}-lib.pl";

@random_password_chars = ( 'a' .. 'z', 'A' .. 'Z', '0' .. '9' );

# password_file(file)
# Returns true if some file looks like a valid Unix password file
sub password_file
{
if (!$_[0]) { return 0; }
elsif (open(SHTEST, $_[0])) {
	local($line);
	$line = <SHTEST>;
	close(SHTEST);
	return $line =~ /^\S+:\S*:/;
	}
else { return 0; }
}

# list_users()
# Returns an array of hashtable, each containing info about one user. Each hash
# will always contain the keys
#  user, pass, uid, gid, real, home, shell
# In addition, if the system supports shadow passwords it may also have:
#  change, min, max, warn, inactive, expire
# Or if it supports FreeBSD master.passwd info, it will also have
#  class, change, expire
sub list_users
{
return @list_users_cache if (defined(@list_users_cache));

# read the password file
local (@rv, $_, %idx, $lnum, @pw, $p, $i, $j);
local $pft = &passfiles_type();
if ($pft == 1) {
	# read the master.passwd file only
	$lnum = 0;
	open(PASSWD, $config{'master_file'});
	while(<PASSWD>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@pw = split(/:/, $_, -1);
			push(@rv, { 'user' => $pw[0],	'pass' => $pw[1],
				    'uid' => $pw[2],	'gid' => $pw[3],
				    'class' => $pw[4],	'change' => $pw[5],
				    'expire' => $pw[6],	'real' => $pw[7],
				    'home' => $pw[8],	'shell' => $pw[9],
				    'line' => $lnum,	'num' => scalar(@rv) });
			}
		$lnum++;
		}
	close(PASSWD);
	}
elsif ($pft == 6) {
	# Read netinfo dump
	open(PASSWD, "nidump passwd '$netinfo_domain' |");
	while(<PASSWD>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@pw = split(/:/, $_, -1);
			push(@rv, { 'user' => $pw[0],	'pass' => $pw[1],
				    'uid' => $pw[2],	'gid' => $pw[3],
				    'class' => $pw[4],	'change' => $pw[5],
				    'expire' => $pw[6],	'real' => $pw[7],
				    'home' => $pw[8],	'shell' => $pw[9],
				    'num' => scalar(@rv) });
			}
		}
	close(PASSWD);
	}
else {
	# start by reading /etc/passwd
	$lnum = 0;
	open(PASSWD, $config{'passwd_file'});
	while(<PASSWD>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@pw = split(/:/, $_, -1);
			push(@rv, { 'user' => $pw[0],	'pass' => $pw[1],
				    'uid' => $pw[2],	'gid' => $pw[3],
				    'real' => $pw[4],	'home' => $pw[5],
				    'shell' => $pw[6],	'line' => $lnum,
				    'num' => scalar(@rv) });
			$idx{$pw[0]} = $rv[$#rv];
			}
		$lnum++;
		}
	close(PASSWD);
	if ($pft == 2 || $pft == 5) {
		# read the shadow file data
		$lnum = 0;
		open(SHADOW, $config{'shadow_file'});
		while(<SHADOW>) {
			s/\r|\n//g;
			if (/\S/ && !/^[#\+\-]/) {
				@pw = split(/:/, $_, -1);
				$p = $idx{$pw[0]};
				$p->{'pass'} = $pw[1];
				$p->{'change'} = $pw[2] < 0 ? "" : $pw[2];
				$p->{'min'} = $pw[3] < 0 ? "" : $pw[3];
				$p->{'max'} = $pw[4] < 0 ? "" : $pw[4];
				$p->{'warn'} = $pw[5] < 0 ? "" : $pw[5];
				$p->{'inactive'} = $pw[6] < 0 ? "" : $pw[6];
				$p->{'expire'} = $pw[7] < 0 ? "" : $pw[7];
				$p->{'sline'} = $lnum;
				}
			$lnum++;
			}
		close(SHADOW);
		for($i=0; $i<@rv; $i++) {
			if (!defined($rv[$i]->{'sline'})) {
				# not in shadow!
				for($j=$i; $j<@rv; $j++) { $rv[$j]->{'num'}--; }
				splice(@rv, $i--, 1);
				}
			}
		}
	elsif ($pft == 4) {
		# read the AIX security passwd file
		local $lastuser;
		local $lnum = 0;
		open(SECURITY, $config{'shadow_file'});
		while(<SECURITY>) {
			s/\s*$//;
			if (/^\s*(\S+):/) {
				$lastuser = $idx{$1};
				$lastuser->{'sline'} = $lnum;
				}
			elsif (/^\s*([^=\s]+)\s*=\s*(.*)/) {
				if ($1 eq 'password') {
					$lastuser->{'pass'} = $2;
					}
				elsif ($1 eq 'lastupdate') {
					$lastuser->{'change'} = $2;
					}
				elsif ($1 eq 'flags') {
					map { $lastuser->{lc($_)}++ }
					    split(/[,\s]+/, $2);
					}
				$lastuser->{'seline'} = $lnum;
				}
			$lnum++;
			}
		close(SECURITY);

		# read the AIX security user file
		open(USER, $config{'aix_user_file'});
		while(<USER>) {
			s/\s*$//;
			if (/^\s*(\S+):/) {
				$lastuser = $idx{$1};
				}
			elsif (/^\s*([^=\s]+)\s*=\s*(.*)/) {
				if ($1 eq 'expires') {
					$lastuser->{'expire'} = $2;
					$lastuser->{'expire'} =~ s/^0$//;
					}
				elsif ($1 eq 'minage') {
					$lastuser->{'min'} = $2;
					$lastuser->{'min'} =~ s/^0$//;
					}
				elsif ($1 eq 'maxage') {
					$lastuser->{'max'} = $2;
					$lastuser->{'max'} =~ s/^0$//;
					}
				elsif ($1 eq 'pwdwarntime') {
					$lastuser->{'warn'} = $2;
					$lastuser->{'warn'} =~ s/^0$//; 
					}
				}
			}
		close(USER);
		}
	}
@list_users_cache = @rv;
return @rv;
}

# create_user(&details)
# Creates a new user with the given details
sub create_user
{
local(%u) = %{$_[0]};
local $lref;
local $pft = &passfiles_type();
if ($pft == 1) {
	# just need to add to master.passwd
	$lref = &read_file_lines($config{'master_file'});
	splice(@$lref, &nis_index($lref), 0,
	       "$u{'user'}:$u{'pass'}:$u{'uid'}:$u{'gid'}:$u{'class'}:".
	       "$u{'change'}:$u{'expire'}:$u{'real'}:$u{'home'}:$u{'shell'}");
	}
elsif ($pft == 3) {
	# Just invoke the useradd command
	&system_logged("useradd -u $u{'uid'} -g $u{'gid'} -c \"$u{'real'}\" -d $u{'home'} -s $u{'shell'} $u{'user'}");
	# And set the password
	&system_logged("echo $u{'pass'} | /usr/lib/scoadmin/account/password.tcl $u{'user'} >/dev/null 2>&1");
	}
elsif ($pft == 6) {
	# Use the niutil command
	&system_logged("niutil -create '$netinfo_domain' '/users/$u{'user'}'");
	&set_netinfo(\%u);
	}
else {
	# add to /etc/passwd
	$lref = &read_file_lines($config{'passwd_file'});
	splice(@$lref, &nis_index($lref), 0,
	       "$u{'user'}:".
	       ($pft == 2 || $pft == 5 ? "x" : $pft == 4 ? "!" : $u{'pass'}).
	       ":$u{'uid'}:$u{'gid'}:$u{'real'}:$u{'home'}:$u{'shell'}");
	if ($pft == 2) {
		# add to shadow as well..
		$lref = &read_file_lines($config{'shadow_file'});
		splice(@$lref, &nis_index($lref), 0,
		       "$u{'user'}:$u{'pass'}:$u{'change'}:$u{'min'}:".
		       "$u{'max'}:$u{'warn'}:$u{'inactive'}:$u{'expire'}:");
		}
	elsif ($pft == 5) {
		# add to SCO shadow file
		$lref = &read_file_lines($config{'shadow_file'});
		splice(@$lref, &nis_index($lref), 0,
	       	    "$u{'user'}:$u{'pass'}:$u{'change'}:$u{'min'}:$u{'max'}");
		}
	elsif ($pft == 4) {
		# add to AIX security passwd file as well..
		local @flags;
		push(@flags, 'ADMIN') if ($u{'admin'});
		push(@flags, 'ADMCHG') if ($u{'admchg'});
		push(@flags, 'NOCHECK') if ($u{'nocheck'});
		$lref = &read_file_lines($config{'shadow_file'});
		push(@$lref, "", "$u{'user'}:", "\tpassword = $u{'pass'}",
			     "\tlastupdate = $u{'change'}",
			     "\tflags = ".join(",", @flags));
		&flush_file_lines();
		
		# add to AIX security user file as well..
		$lref = &read_file_lines($config{'aix_user_file'});
		if ( $u{'expire'} || $u{'min'} || $u{'max'} || $u{'warn'} ) {
			push(@$lref, "$u{'user'}:");
			push(@$lref, "\texpires = $u{'expire'}") if ($u{'expire'});
			push(@$lref, "\tminage = $u{'min'}") if ($u{'min'});
			push(@$lref, "\tmaxage = $u{'max'}") if ($u{'max'});
			push(@$lref, "\tpwdwarntime = $u{'warn'}") if ($u{'warn'});
			push(@$lref, "");
			}
		}
	}
&flush_file_lines();
}

# modify_user(&old, &details)
sub modify_user
{
local(%u) = %{$_[1]};
local(@passwd, @shadow);
local $pft = &passfiles_type();
if ($pft == 1) {
	# just need to update master.passwd
	&replace_file_line($config{'master_file'}, $_[0]->{'line'},
	      "$u{'user'}:$u{'pass'}:$u{'uid'}:$u{'gid'}:$u{'class'}:".
	      "$u{'change'}:$u{'expire'}:$u{'real'}:$u{'home'}:$u{'shell'}\n");
	}
elsif ($pft == 3) {
	# Just use the usermod command
	&system_logged("usermod -u $u{'uid'} -g $u{'gid'} -c \"$u{'real'}\" -d $u{'home'} -s $u{'shell'} $u{'user'}");
	&system_logged("echo $u{'pass'} | /usr/lib/scoadmin/account/password.tcl $u{'user'}");
	}
elsif ($pft == 6) {
	# Just use the niutil command to update
	if ($_[0]->{'user'} && $_[0]->{'user'} ne $_[1]->{'user'}) {
		# Need to delete and re-create!
		&system_logged("niutil -destroy '$netinfo_domain' '/users/$_[0]->{'user'}'");
		&system_logged("niutil -create '$netinfo_domain' '/users/$_[1]->{'user'}'");
		}
	&set_netinfo($_[1]);
	}
else {
	# update /etc/passwd
	&replace_file_line($config{'passwd_file'}, $_[0]->{'line'},
		"$u{'user'}:".
		($pft == 2 || $pft == 5 ? "x" : $pft == 4 ? "!" : $u{'pass'}).
		":$u{'uid'}:$u{'gid'}:$u{'real'}:$u{'home'}:$u{'shell'}\n");
	if ($pft == 2) {
		# update shadow file as well..
		&replace_file_line($config{'shadow_file'}, $_[0]->{'sline'},
			"$u{'user'}:$u{'pass'}:$u{'change'}:$u{'min'}:".
			"$u{'max'}:$u{'warn'}:$u{'inactive'}:$u{'expire'}:\n");
		}
	elsif ($pft == 5) {
		# update SCO shadow
		&replace_file_line($config{'shadow_file'}, $_[0]->{'sline'},
		   "$u{'user'}:$u{'pass'}:$u{'change'}:$u{'min'}:$u{'max'}\n");
		}
	elsif ($pft == 4) {
		# update AIX shadow passwd file as well..
		local @flags;
		push(@flags, 'ADMIN') if ($u{'admin'});
		push(@flags, 'ADMCHG') if ($u{'admchg'});
		push(@flags, 'NOCHECK') if ($u{'nocheck'});
		local $lref = &read_file_lines($config{'shadow_file'});
		splice(@$lref, $_[0]->{'sline'},
		       $_[0]->{'seline'} - $_[0]->{'sline'} + 1,
		       "$u{'user'}:", "\tpassword = $u{'pass'}",
		       "\tlastupdate = $u{'change'}",
		       "\tflags = ".join(",", @flags));
		&flush_file_lines();

		# update AIX security user file as well..
		# use chuser command because it's easier than working with the complexity issues of the file.
		$u{'expire'} = 0 if (! $u{'expire'}); 
		$u{'min'} = 0 if (! $u{'min'}); 
		$u{'max'} = 0 if (! $u{'max'}); 
		$u{'warn'} = 0 if (! $u{'warn'}); 
		&system_logged("chuser expires=$u{'expire'} minage=$u{'min'} maxage=$u{'max'} pwdwarntime=$u{'warn'} $u{'user'}");
		}
	}
}

# delete_user(&details)
sub delete_user
{
local $pft = &passfiles_type();
if ($pft == 1) {
	&replace_file_line($config{'master_file'}, $_[0]->{'line'});
	}
elsif ($pft == 3) {
	# Just invoke the userdel command
	&system_logged("userdel -n0 $_[0]->{'user'}");
	}
elsif ($pft == 4) {
	# Just invoke the rmuser command
	&system_logged("rmuser -p $_[0]->{'user'}");
	}
elsif ($pft == 6) {
	# Just delete with the niutil command
	&system_logged("niutil -destroy '$netinfo_domain' '/users/$_[0]->{'user'}'");
	}
else {
	&replace_file_line($config{'passwd_file'}, $_[0]->{'line'});
	if ($pft == 2 || $pft == 5) {
		&replace_file_line($config{'shadow_file'}, $_[0]->{'sline'});
		}
	}
}

# list_groups()
# Returns a list of all the local groups as an array of hashtables. Each
# will contain group, pass, gid, members
sub list_groups
{
return @list_groups_cache if (defined(@list_groups_cache));

local(@rv, $lnum, $_, %idx, $g, $i, $j, @gr);
$lnum = 0;
local $gft = &groupfiles_type();
if ($gft == 5) {
	# Get groups from netinfo
	open(GROUP, "nidump group '$netinfo_domain' |");
	while(<GROUP>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@gr = split(/:/, $_, -1);
			push(@rv, { 'group' => $gr[0],	'pass' => $gr[1],
				    'gid' => $gr[2],
				    'members' => join(",", split(/\s+/,$gr[3])),
				    'num' => scalar(@rv) });
			}
		}
	close(GROUP);
	}
else {
	# Read the standard group file
	open(GROUP, $config{'group_file'});
	while(<GROUP>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@gr = split(/:/, $_, -1);
			push(@rv, { 'group' => $gr[0],	'pass' => $gr[1],
				    'gid' => $gr[2],	'members' => $gr[3],
				    'line' => $lnum,	'num' => scalar(@rv) });
			$idx{$gr[0]} = $rv[$#rv];
			}
		$lnum++;
		}
	close(GROUP);
	}
if ($gft == 2) {
	# read the gshadow file data
	$lnum = 0;
	open(SHADOW, $config{'gshadow_file'});
	while(<SHADOW>) {
		s/\r|\n//g;
		if (/\S/ && !/^[#\+\-]/) {
			@gr = split(/:/, $_, -1);
			$g = $idx{$gr[0]};
			$g->{'pass'} = $gr[1];
			$g->{'sline'} = $lnum;
			}
		$lnum++;
		}
	close(SHADOW);
	for($i=0; $i<@rv; $i++) {
		if (!defined($rv[$i]->{'sline'})) {
			# not in shadow!
			for($j=$i; $j<@rv; $j++) { $rv[$j]->{'num'}--; }
			splice(@rv, $i--, 1);
			}
		}
	}
elsif ($gft == 4) {
	# read the AIX group data
	local $lastgroup;
	local $lnum = 0;
	open(SECURITY, $config{'gshadow_file'});
	while(<SECURITY>) {
		s/\s*$//;
		if (/^\s*(\S+):/) {
			$lastgroup = $idx{$1};
			$lastgroup->{'sline'} = $lnum;
			$lastgroup->{'seline'} = $lnum;
			}
		elsif (/^\s*([^=\s]+)\s*=\s*(.*)/) {
			$lastgroup->{'seline'} = $lnum;
			}
		$lnum++;
		}
	close(SECURITY);
	}
@list_groups_cache = @rv;
return @rv;
}

# create_group(&details)
sub create_group
{
local(%g) = %{$_[0]};
local $gft = &groupfiles_type();
if ($gft == 5) {
	# Use niutil command
	&system_logged("niutil -create '$netinfo_domain' '/groups/$g{'group'}'");
	&set_group_netinfo(\%g);
	}
else {
	# Update group file(s)
	local $lref;
	$lref = &read_file_lines($config{'group_file'});
	splice(@$lref, &nis_index($lref), 0,
	       "$g{'group'}:".(&groupfiles_type() == 2 ? "x" : $g{'pass'}).
	       ":$g{'gid'}:$g{'members'}");
	close(GROUP);
	if ($gft == 2) {
		$lref = &read_file_lines($config{'gshadow_file'});
		splice(@$lref, &nis_index($lref), 0,
		       "$g{'group'}:$g{'pass'}::$g{'members'}");
		}
	elsif ($gft == 4) {
		$lref = &read_file_lines($config{'gshadow_file'});
		push(@$lref, "", "$g{'group'}:", "\tadmin = false");
		}
	&flush_file_lines();
	}
}

# modify_group(&old, &details)
sub modify_group
{
local(%g) = %{$_[1]};
local $gft = &groupfiles_type();
if ($gft == 5) {
	# Call niutil to update the group
	if ($_[0]->{'group'} && $_[0]->{'group'} ne $_[1]->{'group'}) {
		# Need to delete and re-create!
		&system_logged("niutil -destroy '$netinfo_domain' '/groups/$_[0]->{'group'}'");
		&system_logged("niutil -create '$netinfo_domain' '/groups/$_[1]->{'group'}'");
		}
	&set_group_netinfo($_[1]);
	}
else {
	# Update in files
	&replace_file_line($config{'group_file'}, $_[0]->{'line'},
		   "$g{'group'}:".(&groupfiles_type() == 2 ? "x" : $g{'pass'}).
		   ":$g{'gid'}:$g{'members'}\n");
	if (&groupfiles_type() == 2) {
		&replace_file_line($config{'gshadow_file'}, $_[0]->{'sline'},
				   "$g{'group'}:$g{'pass'}::$g{'members'}\n");
		}
	elsif (&groupfiles_type() == 4) {
		$lref = &read_file_lines($config{'gshadow_file'});
		splice(@$lref, $_[0]->{'sline'}, 1, "$g{'group'}:");
		&flush_file_lines();
		}
	}
}

# delete_group(&details)
sub delete_group
{
local $gft = &groupfiles_type();
if ($gft == 5) {
	# Call niutil to delete
	&system_logged("niutil -destroy '$netinfo_domain' '/groups/$_[0]->{'group'}'");
	}
else {
	# Remove from group file(s)
	&replace_file_line($config{'group_file'}, $_[0]->{'line'});
	if ($gft == 2) {
		&replace_file_line($config{'gshadow_file'}, $_[0]->{'sline'});
		}
	elsif ($gft == 4) {
		local $lref = &read_file_lines($config{'gshadow_file'});
		splice(@$lref, $_[0]->{'sline'},
		       $_[0]->{'seline'} - $_[0]->{'sline'} + 1);
		&flush_file_lines();
		}
	}
}


############################################################################
# Misc functions
############################################################################
# recursive_change(dir, olduid, oldgid, newuid, newgid)
# Change the UID or GID of a directory and all files in it, if they match the
# given UID/GID
sub recursive_change
{
local(@list, $f, @stbuf);
(@stbuf = stat($_[0])) || return;
(-l $_[0]) && return;
if (($_[1] < 0 || $_[1] == $stbuf[4]) &&
    ($_[2] < 0 || $_[2] == $stbuf[5])) {
	# Found match..
	chown($_[3] < 0 ? $stbuf[4] : $_[3],
	      $_[4] < 0 ? $stbuf[5] : $_[4], $_[0]);
	}
if (-d $_[0]) {
	opendir(DIR, $_[0]);
	@list = readdir(DIR);
	closedir(DIR);
	foreach $f (@list) {
		if ($f eq "." || $f eq "..") { next; }
		&recursive_change("$_[0]/$f", $_[1], $_[2], $_[3], $_[4]);
		}
	}
}

# making_changes()
# Called before changes are made to the password or group file
sub making_changes
{
if ($config{'pre_command'} =~ /\S/) {
	local $out = &backquote_logged("($config{'pre_command'}) 2>&1 </dev/null");
	return $? ? $out : undef;
	}
return undef;
}

# made_changes()
# Called after the password or group file has been changed, to run the
# post-changes command.
sub made_changes
{
if ($config{'post_command'} =~ /\S/) {
	local $out = &backquote_logged("($config{'post_command'}) 2>&1 </dev/null");
	return $? ? $out : undef;
	}
return undef;
}

# other_modules(function, arg, ...)
# Call some function in the useradmin_update.pl file in other modules
sub other_modules
{
local($m, %minfo);
local $func = shift(@_);
foreach $m (&get_all_module_infos()) {
	if (&check_os_support($m) &&
	    -r "$root_directory/$m->{'dir'}/useradmin_update.pl") {
		&foreign_require($m->{'dir'}, "useradmin_update.pl");
		&foreign_call($m->{'dir'}, $func, @_);
		}
	}
}

# can_edit_user(&acl, &user)
sub can_edit_user
{
local $m = $_[0]->{'uedit_mode'};
local %u;
if ($m == 0) { return 1; }
elsif ($m == 1) { return 0; }
elsif ($m == 2 || $m == 3 || $m == 5) {
	map { $u{$_}++ } split(/\s+/, $_[0]->{'uedit'});
	if ($m == 5 && $_[0]->{'uedit_sec'}) {
		# Check secondary groups too
		return 1 if ($u{$_[1]->{'gid'}});
		foreach $g (&list_groups()) {
			local @m = split(/,/, $g->{'members'});
			return 1 if ($u{$g->{'gid'}} &&
				     &indexof($_[1]->{'user'}, @m) >= 0);
			}
		return 0;
		}
	else {
		return $m == 2 ? $u{$_[1]->{'user'}} :
		       $m == 3 ? !$u{$_[1]->{'user'}} :
				 $u{$_[1]->{'gid'}};
		}
	}
elsif ($m == 4) {
	return (!$_[0]->{'uedit'} || $_[1]->{'uid'} >= $_[0]->{'uedit'}) &&
	       (!$_[0]->{'uedit2'} || $_[1]->{'uid'} <= $_[0]->{'uedit2'});
	}
elsif ($m == 6) {
	return $_[1]->{'user'} eq $remote_user;
	}
return 0;
}

# can_edit_group(&acl, &group)
sub can_edit_group
{
local $m = $_[0]->{'gedit_mode'};
local %g;
if ($m == 0) { return 1; }
elsif ($m == 1) { return 0; }
elsif ($m == 2 || $m == 3) {
	map { $g{$_}++ } split(/\s+/, $_[0]->{'gedit'});
	return $m == 2 ? $g{$_[1]->{'group'}}
		       : !$g{$_[1]->{'group'}};
	}
else { return (!$_[0]->{'gedit'} || $_[1]->{'gid'} >= $_[0]->{'gedit'}) &&
	      (!$_[0]->{'gedit2'} || $_[1]->{'gid'} <= $_[0]->{'gedit2'}); }
}

# nis_index(&lines)
sub nis_index
{
local $i;
for($i=0; $i<@{$_[0]}; $i++) {
	last if ($_[0]->[$i] =~ /^[\+\-]/);
	}
return $i;
}

# copy_skel_files(source, dest, uid, gid)
sub copy_skel_files
{
local ($f, $df);
foreach $f (split(/\s+/, $_[0])) {
	if (-d $f) {
		# copy all files in a directory
		opendir(DIR, $f);
		foreach $df (readdir(DIR)) {
			if ($df eq "." || $df eq "..") { next; }
			&copy_file("$f/$df", $_[1], $_[2], $_[3]);
			}
		closedir(DIR);
		}
	elsif (-r $f) {
		# copy just one file
		&copy_file($f, $_[1], $_[2], $_[3]);
		}
	}
}

# copy_file(file, destdir, uid, gid)
# Copy a file or directory and chown it
sub copy_file
{
local($base, $subs);
$_[0] =~ /\/([^\/]+)$/; $base = $1;
if ($config{"files_remap_$base"}) {
	$base = $config{"files_remap_$base"};
	}
$subs = $config{'files_remove'};
$base =~ s/$subs//g if ($subs);
local $opts;
if (-b $_[0] || -c $_[0]) {
	# Looks like a device file .. re-create it
	local @st = stat($_[0]);
	local $maj = int($st[6] / 256);
	local $min = $st[6] % 256;
	local $typ = ($st[2] & 00170000) == 0020000 ? 'c' : 'b';
	&system_logged("mknod \"$_[1]/$base\" $typ $maj $min");
	}
elsif (-l $_[0] && !$config{'copy_symlinks'}) {
	# A symlink .. re-create it
	local $l = readlink($_[0]);
	&system_logged("ln -s \"$l\" \"$_[1]/$base\" >/dev/null 2>/dev/null");
	$opts = "-h";
	}
elsif (-d $_[0]) {
	# A directory .. copy it recursively
	&system_logged("cp -R \"$_[0]\" \"$_[1]/$base\" >/dev/null 2>/dev/null");
	}
else {
	# Just a normal file .. copy it
	&system_logged("cp \"$_[0]\" \"$_[1]/$base\" >/dev/null 2>/dev/null");
	}
&system_logged("chown $opts -R $_[2]:$_[3] \"$_[1]/$base\" >/dev/null 2>/dev/null");
}

# lock_user_files()
# Lock all password, shadow and group files
sub lock_user_files
{
&lock_file($config{'passwd_file'});
&lock_file($config{'group_file'});
&lock_file($config{'shadow_file'});
&lock_file($config{'gshadow_file'});
&lock_file($config{'master_file'});
}

# unlock_user_files()
# Unlock all password, shadow and group files
sub unlock_user_files
{
&unlock_file($config{'passwd_file'});
&unlock_file($config{'group_file'});
&unlock_file($config{'shadow_file'});
&unlock_file($config{'gshadow_file'});
&unlock_file($config{'master_file'});
}

# Functions similar to the standard password file ones, but which may
# use webmin's reading of the user/group files instead.

sub my_setpwent
{
if ($config{'from_files'}) {
	@setpwent_cache = &list_users();
	$setpwent_pos = 0;
	}
else { return setpwent(); }
}

sub my_getpwent
{
if ($config{'from_files'}) {
	my_setpwent() if (!@setpwent_cache);
	if ($setpwent_pos >= @setpwent_cache) {
		return wantarray ? () : undef;
		}
	else {
		return &pw_user_rv($setpwent_cache[$setpwent_pos++],
				   wantarray, 'user');
		}
	}
else { return getpwent(); }
}

sub my_endpwent
{
if ($config{'from_files'}) {
	undef(@setpwent_cache);
	}
elsif ($gconfig{'os_type'} eq 'hpux') {
	# On hpux, endpwent() can crash perl!
	return 0;
	}
else { return endpwent(); }
}

sub my_getpwnam
{
if ($config{'from_files'}) {
	foreach $u (&list_users()) {
		return &pw_user_rv($u, wantarray, 'uid')
			if ($u->{'user'} eq $_[0]);
		}
	return wantarray ? () : undef;
	}
else { return getpwnam($_[0]); }
}

sub my_getpwuid
{
if ($config{'from_files'}) {
	foreach $u (&list_users()) {
		return &pw_user_rv($u, wantarray, 'user')
			if ($u->{'uid'} eq $_[0]);
		}
	return wantarray ? () : undef;
	}
else { return getpwuid($_[0]); }
}

sub pw_user_rv
{
return $_[0] ? ( $_[0]->{'user'}, $_[0]->{'pass'}, $_[0]->{'uid'},
		 $_[0]->{'gid'}, undef, undef, $_[0]->{'real'},
		 $_[0]->{'home'}, $_[0]->{'shell'}, undef ) : $_[0]->{$_[2]};
}

sub my_setgrent
{
if ($config{'from_files'}) {
	@setgrent_cache = &list_groups();
	$setgrent_pos = 0;
	}
else { return setgrent(); }
}

sub my_getgrent
{
if ($config{'from_files'}) {
	my_setgrent() if (!@setgrent_cache);
	if ($setgrent_pos >= @setgrent_cache) {
		return ();
		}
	else {
		return &gr_group_rv($setgrent_cache[$setgrent_pos++],
				    wantarray, 'group');
		}
	}
else { return getgrent(); }
}

sub my_endgrent
{
if ($config{'from_files'}) {
	undef(@setgrent_cache);
	}
elsif ($gconfig{'os_type'} eq 'hpux') {
	# On hpux, endpwent() can crash perl!
	return 0;
	}
else { return endgrent(); }
}

sub my_getgrnam
{
if ($config{'from_files'}) {
	foreach $g (&list_groups()) {
		return &gr_group_rv($g, wantarray, 'gid')
			if ($g->{'group'} eq $_[0]);
		}
	return wantarray ? () : undef;
	}
else { return getgrnam($_[0]); }
}

sub my_getgrgid
{
if ($config{'from_files'}) {
	foreach $g (&list_groups()) {
		return &gr_group_rv($g, wantarray, 'group')
			if ($g->{'gid'} eq $_[0]);
		}
	return wantarray ? () : undef;
	}
else { return getgrgid($_[0]); }
}

sub gr_group_rv
{
return $_[1] ? ( $_[0]->{'group'}, $_[0]->{'pass'}, $_[0]->{'gid'},
		 $_[0]->{'members'} ) : $_[0]->{$_[2]};
}

# auto_home_dir(base, username)
# Returns an automatically generated home directory, and creates needed
# parent dirs
sub auto_home_dir
{
if ($config{'home_style'} == 0) {
	return $_[0]."/".$_[1];
	}
elsif ($config{'home_style'} == 1) {
	&mkdir_if_needed($_[0]."/".substr($_[1], 0, 1));
	return $_[0]."/".substr($_[1], 0, 1)."/".$_[1];
	}
elsif ($config{'home_style'} == 2) {
	&mkdir_if_needed($_[0]."/".substr($_[1], 0, 1));
	&mkdir_if_needed($_[0]."/".substr($_[1], 0, 1)."/".
			 substr($_[1], 0, 2));
	return $_[0]."/".substr($_[1], 0, 1)."/".
	       substr($_[1], 0, 2)."/".$_[1];
	}
elsif ($config{'home_style'} == 3) {
	&mkdir_if_needed($_[0]."/".substr($_[1], 0, 1));
	&mkdir_if_needed($_[0]."/".substr($_[1], 0, 1)."/".
			 substr($_[1], 1, 1));
	return $_[0]."/".substr($_[1], 0, 1)."/".
	       substr($_[1], 1, 1)."/".$_[1];
	}
}

sub mkdir_if_needed
{
-d $_[0] || mkdir($_[0], 0755);
}

sub set_netinfo
{
local %u = %{$_[0]};
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' passwd '$u{'pass'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' uid '$u{'uid'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' gid '$u{'gid'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' class '$u{'class'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' change '$u{'change'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' expire '$u{'expire'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' realname '$u{'real'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' home '$u{'home'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/users/$u{'user'}' shell '$u{'shell'}'");
}

sub set_group_netinfo
{
local %g = %{$_[0]};
local $mems = join(" ", map { "'$_'" } split(/,/, $g{'members'}));
&system_logged("niutil -createprop '$netinfo_domain' '/groups/$g{'group'}' gid '$g{'gid'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/groups/$g{'group'}' passwd '$g{'pass'}'");
&system_logged("niutil -createprop '$netinfo_domain' '/groups/$g{'group'}' users $mems");
}

1;
  07070100000399000041ed0000000000000001000000043d1ffba200000000000000200000000000000000000000000000000e00000003reloc/usermin 0707010000039a000081e40000000000000002000000013d1fe2e900001047000000200000000000000000000000000000001900000003reloc/usermin/bootup.cgi  #!/usr/local/bin/perl
# bootup.cgi
# Create, enable or disable usermin startup at boot time
# XXX caldera daemons file

require './usermin-lib.pl';
&foreign_require("init", "init-lib.pl");
&ReadParse();

if ($in{'boot'} == $in{'starting'}) {
	# Nothing to do!
	&redirect("");
	exit;
	}

($initrl) = &init::get_inittab_runlevel();
%iconfig = &foreign_config("init");
if ($iconfig{'daemons_dir'} &&
    &read_env_file("$iconfig{'daemons_dir'}/usermin", \%daemon)) {
	$daemon++;
	}
if ($in{'boot'}) {
	# Enable starting at boot
	$start_order = "9" x $iconfig{'order_digits'};
	$stop_order = "9" x $iconfig{'order_digits'};
	if ($in{'exists'} && $daemon) {
		# Just update daemons file
		$daemon{'ONBOOT'} = 'yes';
		&write_env_file("$iconfig{'daemons_dir'}/usermin", \%daemon);
		}
	elsif ($in{'exists'}) {
		# Just link up the init script
		&init::add_rl_action("usermin", $initrl, "S", $start_order);
		&init::add_rl_action("usermin", $initrl, "K", $stop_order);
		}
	else {
		# Need to create the init script
		$fn = &init::action_filename("usermin");
		open(ACTION, ">$fn");
		$desc = "Start/stop Usermin";
		print ACTION "#!/bin/sh\n";
		if ($iconfig{'chkconfig'}) {
			# Redhat-style description: and chkconfig: lines
			print ACTION "# description: $desc\n";
			print ACTION "# chkconfig: $iconfig{'chkconfig'} ",
				     "$start_order $stop_order\n";
			}
		elsif ($iconfig{'init_info'}) {
			# Suse-style init info section
			print ACTION "### BEGIN INIT INFO\n",
				     "# Provides: usermin\n",
				     "# Default-Start: $initrl\n",
				     "# Description: $desc\n",
				     "### END INIT INFO\n";
			}
		else {
			# Just description in a comment
			print ACTION "# $desc\n";
			}
		print ACTION "\n";
		print ACTION "case \"\$1\" in\n";

		print ACTION "'start')\n";
		print ACTION "\t$config{'usermin_dir'}/start\n";
		print ACTION "\tRETVAL=\$?\n";
		if ($iconfig{'subsys'}) {
			print ACTION "\tif [ \"\$RETVAL\" = \"0\" ]; then\n";
			print ACTION "\t\ttouch $iconfig{'subsys'}/usermin\n";
			print ACTION "\tfi\n";
			}
		print ACTION "\t;;\n";

		print ACTION "'stop')\n";
		print ACTION "\t$config{'usermin_dir'}/stop\n";
		print ACTION "\tRETVAL=\$?\n";
		if ($iconfig{'subsys'}) {
			print ACTION "\tif [ \"\$RETVAL\" = \"0\" ]; then\n";
			print ACTION "\t\trm -f $iconfig{'subsys'}/usermin\n";
			print ACTION "\tfi\n";
			}
		print ACTION "\t;;\n";

		print ACTION "'status')\n";
		print ACTION "\tpidfile=`grep \"^pidfile=\" $config{'usermin_dir'}/miniserv.conf | sed -e 's/pidfile=//g'`\n";
		print ACTION "\tif [ -s \$pidfile ]; then\n";
		print ACTION "\t\tpid=`cat \$pidfile`\n";
		print ACTION "\t\tkill -0 \$pid >/dev/null 2>&1\n";
		print ACTION "\t\tif [ \"\$?\" = \"0\" ]; then\n";
		print ACTION "\t\t\techo \"usermin (pid \$pid) is running\"\n";
		print ACTION "\t\t\tRETVAL=0\n";
		print ACTION "\t\telse\n";
		print ACTION "\t\t\techo \"usermin is stopped\"\n";
		print ACTION "\t\t\tRETVAL=1\n";
		print ACTION "\t\tfi\n";
		print ACTION "\telse\n";
		print ACTION "\t\techo \"usermin is stopped\"\n";
		print ACTION "\t\tRETVAL=1\n";
		print ACTION "\tfi\n";
		print ACTION "\t;;\n";

		print ACTION "'restart')\n";
		print ACTION "\t$config{'usermin_dir'}/stop && $config{'usermin_dir'}/start\n";
		print ACTION "\tRETVAL=\$?\n";
		print ACTION "\t;;\n";

		print ACTION "*)\n";
		print ACTION "\techo \"Usage: \$0 { start | stop }\"\n";
		print ACTION "\tRETVAL=1\n";
		print ACTION "\t;;\n";
		print ACTION "esac\n";
		print ACTION "exit \$RETVAL\n";
		close(ACTION);
		chmod(0755, $fn);
		&init::add_rl_action("usermin", $initrl, "S", $start_order);
		&init::add_rl_action("usermin", $initrl, "K", $stop_order);
		}
	}
else {
	# Disable starting at boot
	if ($daemon) {
		# Update daemons file
		$daemon{'ONBOOT'} = 'no';
		&write_env_file("$iconfig{'daemons_dir'}/usermin", \%daemon);
		}
	else {
		# Just unlink the init script
		foreach (&init::action_levels('S', "usermin")) {
			/^(\S+)\s+(\S+)\s+(\S+)$/;
			&init::delete_rl_action("usermin", $1, 'S');
			}
		foreach (&init::action_levels('K', "usermin")) {
			/^(\S+)\s+(\S+)\s+(\S+)$/;
			&init::delete_rl_action("usermin", $1, 'K');
			}
		}
	}
&redirect("");

 0707010000039b000081e40000000000000002000000013d1fe2e9000002e2000000200000000000000000000000000000002000000003reloc/usermin/change_access.cgi   #!/usr/local/bin/perl
# change_access.cgi
# Update IP allow and deny parameters

require './usermin-lib.pl';
use Socket;
&ReadParse();
&error_setup($text{'access_err'});

@hosts = split(/\s+/, $in{"ip"});
&lock_file($usermin_miniserv_config);
&get_usermin_miniserv_config(\%miniserv);
delete($miniserv{"allow"});
delete($miniserv{"deny"});
if ($in{"access"} == 1) { $miniserv{"allow"} = join(' ', @hosts); }
elsif ($in{"access"} == 2) { $miniserv{"deny"} = join(' ', @hosts); }
$miniserv{'libwrap'} = $in{'libwrap'};
$miniserv{'alwaysresolve'} = $in{'alwaysresolve'};
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);
&restart_usermin_miniserv();
&webmin_log("access", undef, undef, \%in);
&redirect("");

  0707010000039c000081e40000000000000002000000013d1fe2e9000005e8000000200000000000000000000000000000001e00000003reloc/usermin/change_bind.cgi #!/usr/local/bin/perl
# change_bind.cgi
# Update the binding IP address and port for miniserv

require './usermin-lib.pl';
use Socket;
&ReadParse();
&get_usermin_miniserv_config(\%miniserv);
&error_setup($text{'bind_err'});

# check inputs
if ($in{'port'} !~ /^\d+$/ || $in{'port'} > 65535) {
	&error("'$in{'port'}' is not a valid port number");
	}
$baddr = $in{'bind_def'} ? INADDR_ANY : inet_aton($in{'bind'});
if (!$baddr) { &error(&text('bind_eip', $in{'bind'})); }
if ($baddr ne INADDR_ANY) {
	# check if address can be used
	local ($i, $ok);
	for($i=0; $i<10; $i++) {
		local $p = int(rand() * 1024)+1;
		socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
		setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
		if (bind(TEST, sockaddr_in($p, $baddr))) {
			$ok++;
			}
		close(TEST);
		}
	$ok || &error(&text('bind_eassign', $in{'bind'}));
	}
if ($in{'port'} != $miniserv{'port'}) {
	# port has changed.. check if it is in use
	socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
	setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
	bind(TEST, sockaddr_in($in{'port'}, $baddr)) ||
		&error(&text('bind_eport', $in{'port'}));
	close(TEST);
	}

&lock_file($usermin_miniserv_config);
$miniserv{'port'} = $in{'port'};
if ($in{'bind_def'}) { delete($miniserv{'bind'}); }
else { $miniserv{'bind'} = $in{'bind'}; }
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);
&restart_usermin_miniserv();
&webmin_log("bind", undef, undef, \%in);

&redirect("");

0707010000039d000081e40000000000000002000000013d1fe2e900000142000000200000000000000000000000000000001e00000003reloc/usermin/change_lang.cgi #!/usr/local/bin/perl
# change_lang.cgi
# Change language setting

require './usermin-lib.pl';
&ReadParse();
&lock_file($usermin_config);
&get_usermin_config(\%uconfig);
$uconfig{'lang'} = $in{'lang'};
&put_usermin_config(\%uconfig);
&unlock_file($usermin_config);
&webmin_log("lang", undef, undef, \%in);
&redirect("");

  0707010000039e000081e40000000000000002000000013d1fe2e900000204000000200000000000000000000000000000001c00000003reloc/usermin/change_os.cgi   #!/usr/local/bin/perl
# change_os.cgi
# Change OS settings

require './usermin-lib.pl';
&ReadParse();

&lock_file($usermin_config);
&get_usermin_config(\%uconfig);
@os = split(/,/, $in{'os'});
$uconfig{'real_os_type'} = $os[0];
$uconfig{'real_os_version'} = $os[1];
$uconfig{'os_type'} = $os[2];
$uconfig{'os_version'} = $os[3];
$uconfig{'path'} = $in{'path'};
$uconfig{'ld_path'} = $in{'ld_path'};
&put_usermin_config(\%uconfig);
&unlock_file($usermin_config);
&webmin_log("os", undef, undef, \%in);
&redirect("");
0707010000039f000081e40000000000000002000000013d1fe2e900000ae6000000200000000000000000000000000000002100000003reloc/usermin/change_session.cgi  #!/usr/local/bin/perl
# change_session.cgi
# Enable or disable session authentication

require './usermin-lib.pl';
&ReadParse();
&error_setup($text{'session_err'});

&lock_file($usermin_miniserv_config);
&get_usermin_miniserv_config(\%miniserv);
$miniserv{'passdelay'} = $in{'passdelay'};
if ($in{'blockhost_on'}) {
	$in{'blockhost_time'} =~ /^\d+$/ && $in{'blockhost_time'} > 0 ||
		&error($text{'session_eblockhost_time'});
	$in{'blockhost_failures'} =~ /^\d+$/ && $in{'blockhost_failures'} > 0 ||
		&error($text{'session_eblockhost_failures'});
	$miniserv{'blockhost_time'} = $in{'blockhost_time'};
	$miniserv{'blockhost_failures'} = $in{'blockhost_failures'};
	}
else {
	$miniserv{'blockhost_time'} = $miniserv{'blockhost_failures'} = undef;
	}
$miniserv{'syslog'} = $in{'syslog'};
if ($in{'session'} && $ENV{'HTTP_COOKIE'} !~ /sessiontest=1/i) {
	&error($text{'session_ecookie'});
	}
$miniserv{'session'} = $in{'session'};
if ($in{'logouttime_on'}) {
	$in{'logouttime'} =~ /^\d+$/ && $in{'logouttime'} > 0 ||
		&error($text{'session_elogouttime'});
	}
$miniserv{'logouttime'} = $in{'logouttime_on'} ? $in{'logouttime'} : undef;
if ($in{'localauth'}) {
	$lsof = &has_command("lsof");
	&error($text{'session_elsof'}) if (!$lsof);
	$miniserv{'localauth'} = $lsof;
	}
else {
	delete($miniserv{'localauth'});
	}
$miniserv{'no_pam'} = $in{'no_pam'};
if ($in{'passwd_file'}) {
	$in{'passwd_file'} =~ /\|$/ || -r $in{'passwd_file'} ||
		&error($text{'session_epasswd_file'});
	$in{'passwd_uindex'} =~ /^\d+$/ ||
		&error($text{'session_epasswd_uindex'});
	$in{'passwd_pindex'} =~ /^\d+$/ ||
		&error($text{'session_epasswd_pindex'});
	$miniserv{'passwd_file'} = $in{'passwd_file'};
	$miniserv{'passwd_uindex'} = $in{'passwd_uindex'};
	$miniserv{'passwd_pindex'} = $in{'passwd_pindex'};
	}
else {
	delete($miniserv{'passwd_file'});
	delete($miniserv{'passwd_uindex'});
	delete($miniserv{'passwd_pindex'});
	}
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);

&lock_file($usermin_config);
&get_usermin_config(\%uconfig);
#$uconfig{'locking'} = $in{'locking'};
$uconfig{'noremember'} = !$in{'remember'};
$uconfig{'nohostname'} = !$in{'hostname'};
if ($in{'passwd_file'}) {
	$uconfig{'passwd_file'} = $in{'passwd_file'};
	$uconfig{'passwd_uindex'} = $in{'passwd_uindex'};
	$uconfig{'passwd_pindex'} = $in{'passwd_pindex'};
	}
else {
	delete($uconfig{'passwd_file'});
	delete($uconfig{'passwd_uindex'});
	delete($uconfig{'passwd_pindex'});
	}
if ($in{'banner_def'}) {
	delete($uconfig{'loginbanner'});
	}
else {
	-r $in{'banner'} || &error($text{'session_ebanner'});
	$uconfig{'loginbanner'} = $in{'banner'};
	}
&put_usermin_config(\%uconfig);
&unlock_file($usermin_config);

&restart_usermin_miniserv();
&webmin_log("session", undef, undef, \%in);
&redirect("");

  070701000003a0000081e40000000000000002000000013d1fe2e90000018b000000200000000000000000000000000000001d00000003reloc/usermin/change_ssl.cgi  #!/usr/local/bin/perl
# change_ssl.cgi
# Enable or disable SSL support

require './usermin-lib.pl';
&ReadParse();

&lock_file($usermin_miniserv_config);
&get_usermin_miniserv_config(\%miniserv);
$miniserv{'ssl'} = $in{'ssl'};
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);

&restart_usermin_miniserv();
&webmin_log("ssl", undef, undef, \%in);

&redirect("");

 070701000003a1000081e40000000000000002000000013d1fe2e900000276000000200000000000000000000000000000001f00000003reloc/usermin/change_theme.cgi    #!/usr/local/bin/perl
# change_theme.cgi
# Change the current webmin theme

require './usermin-lib.pl';
&ReadParse();

&lock_file($usermin_config);
&get_usermin_config(\%uconfig);
$uconfig{'theme'} = $in{'theme'};
&put_usermin_config(\%uconfig);
&unlock_file($usermin_config);

&lock_file($usermin_miniserv_config);
&get_usermin_miniserv_config(\%miniserv);
if ($in{'theme'}) {
	$miniserv{'preroot'} = $in{'theme'};
	}
else {
	delete($miniserv{'preroot'});
	}
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);
&restart_usermin_miniserv();
&webmin_log('theme', undef, undef, \%in);

&redirect("");

  070701000003a2000081e40000000000000002000000013d1fe2e9000001df000000200000000000000000000000000000001c00000003reloc/usermin/change_ui.cgi   #!/usr/local/bin/perl
# change_ui.cgi
# Change colour scheme

require './usermin-lib.pl';
&error_setup($text{'ui_err'});
&ReadParse();

&lock_file($usermin_config);
&get_usermin_config(\%uconfig);
$uconfig{'texttitles'} = $in{'texttitles'};
$uconfig{'sysinfo'} = $in{'sysinfo'};
$uconfig{'feedback_to'} = $in{'feedback_def'} ? undef : $in{'feedback'};
&write_file($usermin_config, \%uconfig);
&unlock_file($usermin_config);
&webmin_log('ui', undef, undef, \%in);
&redirect("");

 070701000003a3000081e40000000000000002000000013d1fe2e900000386000000200000000000000000000000000000001f00000003reloc/usermin/change_users.cgi    #!/usr/local/bin/perl
# change_users.cgi
# Update user allow and deny parameters

require './usermin-lib.pl';
use Socket;
&ReadParse();
&error_setup($text{'users_err'});

@users = split(/\s+/, $in{"user"});
if ($in{"access"}) {
	foreach $u (@users) {
		if ($u =~ /^\@(\S+)$/) {
			defined(getgrnam($1)) ||
				&error(&text('users_egroup', "$1"));
			}
		else {
			defined(getpwnam($u)) ||
				&error(&text('users_euser', $u));
			}
		}
	}

&lock_file($usermin_miniserv_config);
&get_usermin_miniserv_config(\%miniserv);
delete($miniserv{"allowusers"});
delete($miniserv{"denyusers"});
if ($in{"access"} == 1) { $miniserv{"allowusers"} = join(' ', @users); }
elsif ($in{"access"} == 2) { $miniserv{"denyusers"} = join(' ', @users); }
&put_usermin_miniserv_config(\%miniserv);
&unlock_file($usermin_miniserv_config);
&restart_usermin_miniserv();
&webmin_log("users", undef, undef, \%in);
&redirect("");

  070701000003a4000081a40000000000000002000000013d1fe2e900000019000000200000000000000000000000000000001500000003reloc/usermin/config  usermin_dir=/etc/usermin
   070701000003a5000081a40000000000000002000000013d1fe2e90000002e000000200000000000000000000000000000001a00000003reloc/usermin/config.info usermin_dir=Usermin configuration directory,0
  070701000003a6000081a40000000000000002000000013d1fe2e900000032000000200000000000000000000000000000001d00000003reloc/usermin/config.info.ca  usermin_dir=Directori de configuració d'Usermin,0
  070701000003a7000081a40000000000000002000000013d1fe2e90000001e000000200000000000000000000000000000002500000003reloc/usermin/config.info.zh_TW.Big5  usermin_dir=Usermin²ÕºA¥Ø¿ý,0
  070701000003a8000081e40000000000000002000000013d1fe2e900000d0d000000200000000000000000000000000000001d00000003reloc/usermin/delete_mod.cgi  #!/usr/local/bin/perl
# delete_mod.cgi
# Delete selected modules from usermin

require './usermin-lib.pl';
&ReadParse();
&error_setup($text{'delete_err'});
@mods = split(/\0/, $in{'mod'});

local %miniserv;
&get_usermin_miniserv_config(\%miniserv);

# check if any other module depends on those to be deleted
foreach $minfo (&list_modules()) {
	if (&check_usermin_os_support($minfo)) {
		foreach $d (split(/\s+/, $minfo->{'depends'})) {
			$depends{$d} = $minfo->{'desc'};
			}
		}
	}
foreach $m (@mods) {
	%minfo = &get_usermin_module_info($m);
	%minfo = &get_usermin_theme_info($m) if (!%minfo);
	if (!-l "$miniserv{'root'}/$m" && $depends{$m}) {
		&error(&text('delete_edep', "<tt>$minfo{'desc'}</tt>",
			     "<tt>$depends{$m}</tt>"));
		}
	}

# ask the user if he is sure
if (!$in{'confirm'}) {
	&header($text{'delete_title'}, "");
	print "<hr>\n";
	print "<p><form action=delete_mod.cgi>\n";
	foreach $m (@mods) {
		local %minfo = &get_usermin_module_info($m);
		if (!%minfo) {
			$theme++;
			%minfo = &get_usermin_theme_info($m);
			}
		print "<input type=hidden name=mod value=$m>\n";
		$total += &disk_usage_kb("$miniserv{'root'}/$m")
			if (!-l "$miniserv{'root'}/$m");
		$descs .= " , " if ($descs);
		$descs .= "<b>$minfo{'desc'}</b>";
		}
	print "<center>",&text($theme ? 'delete_rusure2' : 'delete_rusure',
			       int($total), $descs),"<p>",
	      "<input type=submit name=confirm value='$text{'delete'}'>",
	      "</form></center><hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# delete the selected modules or themes
foreach $m (split(/\0/, $in{'mod'})) {
	next if (!$m || !-d "$miniserv{'root'}/$m");
	local (%minfo, %cinfo);
	%minfo = &get_usermin_module_info($m);
	%minfo = &get_usermin_theme_info($m) if (!%minfo);
	if ($minfo{'clone'}) {
		# Deleting a clone
		&read_file("$config{'usermin_dir'}/$m/clone", \%cinfo);
		unlink("$miniserv{'root'}/$m");
		system("rm -rf $config{'usermin_dir'}/$m");
		if ($gconfig{'theme'}) {
			unlink("$miniserv{'root'}/$gconfig{'theme'}/$m");
			}
		push(@mdesc, &text('delete_desc1', $minfo{'desc'},
				   $minfo{'clone'}));
		}
	else {
		# Delete any clones of this module
		local @mst = stat("$miniserv{'root'}/$m");
		opendir(DIR, $miniserv{'root'});
		foreach $l (readdir(DIR)) {
			@lst = stat("$miniserv{'root'}/$l");
			if (-l "$miniserv{'root'}/$l" && $lst[1] == $mst[1]) {
				unlink("$miniserv{'root'}/$l");
				system("rm -rf $config{'usermin_dir'}/$l");
				}
			}
		closedir(DIR);

		open(TYPE, "$miniserv{'root'}/$m/install-type");
		chop($type = <TYPE>);
		close(TYPE);

		# Deleting the real module
		$pwd = "$miniserv{'root'}/$m";
		local $size = &disk_usage_kb($pwd);
		push(@mdesc, &text('delete_desc2', "<b>$minfo{'desc'}</b>",
				   "<tt>$pwd</tt>", $size));
		if ($type eq 'rpm') {
			# This module was installed from an RPM .. rpm -e it
			system("rpm -e wbm-$m");
			}
		else {
			# Module was installed from a .wbm file .. just rm it
			system("rm -rf $miniserv{'root'}/$m");
			}
		}
	&webmin_log("delete", undef, $m, { 'desc' => $minfo{'desc'} });
	}
unlink("$config{'usermin_dir'}/module.infos.cache");

&header($text{'delete_title'}, "");
print "<hr>\n";
print $text{'delete_msg'},"<p>\n";
print "<ul>\n";
for($i=0; $i<@mdesc; $i++) {
	print $mdesc[$i],"<p>\n";
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   070701000003a9000081e40000000000000002000000013d1fe2e900000684000000200000000000000000000000000000001e00000003reloc/usermin/edit_access.cgi #!/usr/local/bin/perl
# edit_access.cgi
# Display IP access control form

require './usermin-lib.pl';
&header($text{'access_title'}, "");
print "<hr>\n";
&get_usermin_miniserv_config(\%miniserv);

print $text{'access_desc'},"<p>\n";

print "<form action=change_access.cgi method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table><tr><td valign=top nowrap>\n";
printf "<input type=radio name=access value=0 %s>\n",
	$miniserv{"allow"} || $miniserv{"deny"} ? "" : "checked";
print "$text{'access_all'}<br>\n";
printf "<input type=radio name=access value=1 %s>\n",
	$miniserv{"allow"} ? "checked" : "";
print "$text{'access_allow'}<br>\n";
printf "<input type=radio name=access value=2 %s>\n",
	$miniserv{"deny"} ? "checked" : "";
print "$text{'access_deny'}<br>\n";
print "</td> <td valign=top>\n";
printf "<textarea name=ip rows=6 cols=30>%s</textarea></td> </tr>\n",
	$miniserv{"allow"} ? join("\n", split(/\s+/, $miniserv{"allow"})) :
	$miniserv{"deny"} ? join("\n", split(/\s+/, $miniserv{"deny"})) : "";

print "<tr> <td colspan=2>\n";
printf "<input type=checkbox name=alwaysresolve value=1 %s> %s</td> </tr>\n",
	$miniserv{'alwaysresolve'} ? 'checked' : '', $text{'access_always'};

eval "use Authen::Libwrap qw(hosts_ctl STRING_UNKNOWN)";
if (!$@) {
	print "<tr> <td colspan=2>\n";
	printf "<input type=checkbox name=libwrap value=1 %s> %s</td> </tr>\n",
		$miniserv{'libwrap'} ? 'checked' : '', $text{'access_libwrap'};
	}

print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

070701000003aa000081e40000000000000002000000013d1fe2e9000002ae000000200000000000000000000000000000001b00000003reloc/usermin/edit_acl.cgi    #!/usr/local/bin/perl
# edit_acl.cgi
# Choose visible usermin modules

require './usermin-lib.pl';
&header($text{'acl_title'}, "");
print "<hr>\n";

&read_usermin_acl(\%acl);
print "$text{'acl_desc'}<p>\n";
print "<form action=save_acl.cgi>\n";
print "<table width=100%>\n";
@mods = &list_modules();
foreach $m (@mods) {
	print "<tr>\n" if ($i % 3 == 0);
	printf "<td width=33%><input type=checkbox name=mod value=%s %s> %s</td>\n",
		$m->{'dir'}, $acl{'user',$m->{'dir'}} ? 'checked' : '',
		$m->{'desc'};
	print "</tr>\n" if ($i % 3 == 2);
	$i++;
	}
print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000003ab000081e40000000000000002000000013d1fe2e9000004dd000000200000000000000000000000000000002200000003reloc/usermin/edit_assignment.cgi #!/usr/local/bin/perl

require './usermin-lib.pl';

@modules = &list_modules();
&read_file("$config{'usermin_dir'}/webmin.catnames", \%catnames);
&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/lang/en", \%utext);
&read_file("$miniserv{'root'}/ulang/en", \%utext);

&header($text{'assignment_title'}, undef);
print qq(
<hr>
$text{'assignment_desc'}<p>
<form action="save_assignment.cgi">
<table border><tr $tb>
<td><b>$text{'assignment_header'}</b></td></tr>
<tr $cb><td><table>
);
foreach ( @modules ){
    $a++;
    print "<tr></tr>" if $a%2;
    print qq(<td>$_->{desc}</td><td>), &cats($_->{dir}, $_->{'category'}), "</td>\n";
}

print qq(
</td></tr></table>
</td></tr></table>
<input type=submit value="$text{'assignment_ok'}">
</form><hr>
);
&footer("/", $text{'index'});

sub cats {
    my $cats;
    my %cats;
    foreach (keys %utext) {
	next unless /^category_/;
	my $desc = $utext{$_};
	s/^category_//;
	$cats{$_} = $desc;
	}
    foreach (keys %catnames) {
	$cats{$_} = $catnames{$_};
	}
    foreach $c (sort { $cats{$a} cmp $cats{$b} } keys %cats) {
	$cats .= sprintf "<option value='%s' %s>%s\n",
			$c, $_[1] eq $c ? 'selected' : '', $cats{$c};
	}
    $cats = qq(<select name="$_[0]">$cats\n</select>\n);
}
   070701000003ac000081e40000000000000002000000013d1fe2e90000040f000000200000000000000000000000000000001c00000003reloc/usermin/edit_bind.cgi   #!/usr/local/bin/perl
# edit_bind.cgi
# Display port / address form

require './usermin-lib.pl';
&header($text{'bind_title'}, "");
print "<hr>\n";
&get_usermin_miniserv_config(\%miniserv);

print $text{'bind_desc'},"<p>\n";

print "<form action=change_bind.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'bind_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td nowrap><b>$text{'bind_ip'}</b></td>\n";
printf "<td nowrap><input type=radio name=bind_def value=1 %s>%s &nbsp;\n",
	$miniserv{"bind"} ? "" : "checked", $text{'bind_all'};
printf "<input type=radio name=bind_def value=0 %s>\n",
	$miniserv{"bind"} ? "checked" : "";
print "<input name=bind size=20 value=\"$miniserv{bind}\"></td> </tr>\n";
print "<tr> <td><b>$text{'bind_port'}</b></td>\n";
print "<td><input name=port size=6 value=\"$miniserv{port}\"></td> </tr>\n";
print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000003b2000081e40000000000000002000000013d1fe2e90000073b000000200000000000000000000000000000001a00000003reloc/usermin/edit_os.cgi #!/usr/local/bin/perl
# edit_os.cgi
# Operating system config form

require './usermin-lib.pl';
&header($text{'os_title'}, "");
print "<hr>\n";

print $text{'os_desc'},"<br>\n";
print $text{'os_desc2'},"<br>\n";

&get_usermin_config(\%uconfig);
&get_usermin_miniserv_config(\%miniserv);
open(OSLIST, "$miniserv{'root'}/os_list.txt");
while(<OSLIST>) {
	chop;
	if (/^([^\t]+)\t+([^\t]+)\t+(\S+)\t+(\S+)\t*(.*)$/) {
		push(@list, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(OSLIST);
if (!$uconfig{'real_os_type'}) {
	foreach $o (@list) {
		if ($o->[2] eq $uconfig{'os_type'} &&
		    $o->[3] eq $uconfig{'os_version'}) {
			$uconfig{'real_os_type'} = $o->[0];
			$uconfig{'real_os_version'} = $o->[1];
			last;
			}
		}
	}

print "<form action=change_os.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'os_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'os_curros'}</b></td>\n";
print "<td>$uconfig{'real_os_type'}</td> </tr>\n";

print "<tr> <td><b>$text{'os_currver'}</b></td>\n";
print "<td>$uconfig{'real_os_version'}</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'os_new'}</b></td>\n";
print "<td><select name=os size=7>\n";
foreach $o (@list) {
	printf "<option value='%s' %s>%s %s\n",
		join(",", @$o),
		$uconfig{'real_os_type'} eq $o->[0] &&
		$uconfig{'real_os_version'} eq $o->[1] ? "selected" : "",
		$o->[0], $o->[1];
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'os_path'}</b></td>\n";
print "<td><input name=path size=30 value='$uconfig{'path'}'></td> </tr>\n";

print "<tr> <td><b>$text{'os_ld_path'}</b></td>\n";
print "<td><input name=ld_path size=30 ",
      "value='$uconfig{'ld_path'}'></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000003ad000081e40000000000000002000000013d1fe2e9000005d2000000200000000000000000000000000000002200000003reloc/usermin/edit_categories.cgi #!/usr/local/bin/perl
require './usermin-lib.pl';
&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/lang/en", \%utext);
&read_file("$miniserv{'root'}/ulang/en", \%utext);

&header($text{'categories_title'}, undef);
print qq(
<hr>
$text{'categories_desc'}<p>
<form action="save_categories.cgi">
<table border><tr $tb>
<td><b>$text{'categories_header'}</b></td></tr>
<tr $cb><td><table>
);

# Show the existing categories
&read_file("$config{'usermin_dir'}/webmin.catnames", \%catnames);
foreach $t (keys %utext) {
	$t =~ s/^category_// || next;
	print "<tr> <td><b>",$t ? $t : "<i>other</i>","</b></td>\n";
	printf "<td><input type=radio name=def_$t value=1 %s> %s\n",
		$catnames{$t} ? '' : 'checked', $text{'default'};
	printf "<input type=radio name=def_$t value=0 %s> %s\n",
		$catnames{$t} ? 'checked' : '';
	printf "<input name=desc_$t size=30 value='%s'></td> </tr>\n",
		$catnames{$t};
	$realcat{$t}++;
	}
print "<tr> <td colspan=2><hr></td> </tr>\n";

# Show new categories
$i = 0;
foreach $c (keys %catnames) {
	if (!$realcat{$c}) {
		print "<tr> <td><input name=cat_$i size=10 value='$c'></td>\n";
		print "<td><input name=desc_$i size=30 ",
		      "value='$catnames{$c}'></td> </tr>\n";
		$i++;
		}
	}
print "<tr> <td><input name=cat_$i size=10></td>\n";
print "<td><input name=desc_$i size=30></td> </tr>\n";

print qq(
</td></tr></table>
</td></tr></table>
<input type=submit value="$text{'categories_ok'}">
</form><hr>
);
&footer("/", $text{'index'});

  070701000003ae000081e40000000000000002000000013d1fe2e9000024b8000000200000000000000000000000000000001f00000003reloc/usermin/edit_configs.cgi    #!/usr/local/bin/perl
# edit_configs.cgi
# Display all usermin modules and the config for one

require './usermin-lib.pl';
&ReadParse();
&header($text{'configs_title'}, "");
print "<hr>\n";

@mods = &list_modules();
&get_usermin_miniserv_config(\%miniserv);
print "<form action=edit_configs.cgi>\n";
print "<input type=submit value='$text{'configs_mod'}'>\n";
print "<select name=mod>\n";
print "<option selected>&nbsp;\n" if (!$in{'mod'});
foreach $m (@mods) {
	if (-r "$miniserv{'root'}/$m->{'dir'}/config.info" ||
	    -r "$miniserv{'root'}/$m->{'dir'}/uconfig.info") {
		printf "<option value=%s %s>%s\n",
			$m->{'dir'}, $in{'mod'} eq $m->{'dir'} ? 'selected' : '',
			$m->{'desc'};
		}
	}
print "</select></form>\n";

if ($in{'mod'} && -r "$miniserv{'root'}/$in{'mod'}/config.info") {
	# Display config form for the module
	%minfo = &get_usermin_module_info($in{'mod'});
	print "<hr>\n";
	print "<form action=\"save_configs.cgi\">\n";
	print "<input type=hidden name=mod value=\"$in{'mod'}\">\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>",&text('config_header', $minfo{'desc'}),
	      "</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	&read_file("$config{'usermin_dir'}/$in{'mod'}/config", \%config);

	# Use config.info to create config inputs
	&read_file("$miniserv{'root'}/$in{'mod'}/config.info",
		   \%info, \@info_order);
	%einfo = %info;
	foreach $o (@lang_order_list) {
		&read_file("$miniserv{'root'}/$in{'mod'}/config.info.$o",
			   \%info, \@info_order);
		}
	@info_order = &unique(@info_order);

	foreach $c (@info_order) {
		@p = split(/,/, $info{$c});
		@ep = split(/,/, $einfo{$c});
		if (scalar(@ep) > scalar(@p)) {
			push(@p, @ep[scalar(@p) .. @ep-1]);
			}
		if ($p[1] == 11) {
			print "<tr><td colspan=3 $tb>\n" ;
			print "\t<b>" . $p[0] . "</b>\n</td></tr>\n" ;
			next;
			}
		print "<tr> <td valign=top><b>$p[0]</b></td>\n";
		print "<td nowrap>\n";
		$qw = $config{$c} =~ /'/ ? '"' : "'";
		if ($p[1] == 0) {
			$size = $p[2] ? "size=$p[2]" : "size=40";
			$max = $p[3] ? "maxlength=$p[3]" : "";
			print "<input name=\"$c\" $size $max value=$qw$config{$c}$qw>\n";
			}
		elsif ($p[1] == 1) {
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S*)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value='$1' %s>\n",
					$config{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				}
			}
		elsif ($p[1] == 2) {
			local %sel;
			map { $sel{$_}++ } split(/,/, $config{$c});
			print "<select name=\"$c\" size=4 multiple>\n";
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<option value=\"$1\" %s>$2\n",
					$sel{$1} ? "selected" : "";
				}
			print "</select>\n";
			}
		elsif ($p[1] == 3) {
			$none = $p[2] ? $p[2] : $text{'config_none'};
			printf "<input type=radio name=\"%s_none\" value=1 %s> $none\n",
				$c, $config{$c} eq "" ? "checked" : "";
			print "&nbsp;&nbsp;\n";
			printf "<input type=radio name=\"%s_none\" value=0 %s>\n",
				$c, $config{$c} eq "" ? "" : "checked";
			print "<input name=\"$c\" size=20 value=$qw$config{$c}$qw>\n";
			}
		elsif ($p[1] == 4) {
			print "<select name=\"$c\">\n";
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<option value=\"$1\" %s>$2\n",
					$config{$c} eq $1 ? "selected" : "";
				}
			print "</select>\n";
			}
		elsif ($p[1] == 5) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $config{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $config{$c} eq "" ? "" : "checked";
				}
			print &unix_user_input($c, $config{$c});
			}
		elsif ($p[1] == 6) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $config{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $config{$c} eq "" ? "" : "checked";
				}
			print &unix_group_input($c, $config{$c});
			}
		elsif ($p[1] == 7) {
			print "<input name=\"$c\" size=40 value=$qw$config{$c}$qw> ",
			      &file_chooser_button($c, 1);
			}
		elsif ($p[1] == 8) {
			print "<input name=\"$c\" size=40 value=$qw$config{$c}$qw> ",
			      &file_chooser_button($c, 0);
			}
		elsif ($p[1] == 9) {
			local $cols = $p[2] ? $p[2] : 40;
			local $rows = $p[3] ? $p[3] : 5;
			local $sp = $p[4] ? eval "\"$p[4]\"" : " ";
			print "<textarea name=\"$c\" rows=$rows cols=$cols>",
				join("\n", split(/$sp/, $config{$c})),
				"</textarea>\n";
			}
		elsif ($p[1] == 10) {
			local $fv = $config{$c};
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value=$1 %s>\n",
					$config{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				$fv = undef if ($config{$c} eq $1);
				}
			printf "<input type=radio name=\"$c\" value=free %s>\n",
				$fv ? "checked" : "";
			print "<input name=\"${c}_free\" value='$fv'>\n";
			}
		print "</td> </tr>\n";
		}
	print "</table></td></tr></table>\n";
	print "<input type=submit value=\"$text{'save'}\"></form>\n";
	}

if ($in{'mod'} && -r "$miniserv{'root'}/$in{'mod'}/uconfig.info") {
	# Display default user config form for the module
	%minfo = &get_usermin_module_info($in{'mod'});
	print "<hr>\n";
	print "<form action=\"save_uconfigs.cgi\">\n";
	print "<input type=hidden name=mod value=\"$in{'mod'}\">\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>",&text('configs_uheader', $minfo{'desc'}),
	      "</b></td> </tr>\n";
	print "<tr $cb> <td><table width=100%>\n";
	&read_file("$miniserv{'root'}/$in{'mod'}/defaultuconfig", \%uconfig);
	&read_file("$config{'usermin_dir'}/$in{'mod'}/uconfig", \%uconfig);

	# Use config.info to create config inputs
	&read_file("$miniserv{'root'}/$in{'mod'}/uconfig.info",
		   \%uinfo, \@uinfo_order);
	%einfo = %uinfo;
	&read_file("$miniserv{'root'}/$in{'mod'}/uconfig.info.$current_lang",
		   \%uinfo, \@uinfo_order);
	@uinfo_order = &unique(@uinfo_order);

	foreach $c (@uinfo_order) {
		@p = split(/,/, $uinfo{$c});
		@ep = split(/,/, $einfo{$c});
		if (scalar(@ep) > scalar(@p)) {
			push(@p, @ep[scalar(@p) .. @ep-1]);
			}
		if ($p[1] == 11) {
			print "<tr><td colspan=3 $tb>\n" ;
			print "\t<b>" . $p[0] . "</b>\n</td></tr>\n" ;
			next;
			}
		print "<tr> <td valign=top><b>$p[0]</b></td>\n";
		print "<td nowrap>\n";
		$qw = $uconfig{$c} =~ /'/ ? '"' : "'";
		if ($p[1] == 0) {
			$size = $p[2] ? "size=$p[2]" : "size=40";
			$max = $p[3] ? "maxlength=$p[3]" : "";
			print "<input name=\"$c\" $size $max value=$qw$uconfig{$c}$qw>\n";
			}
		elsif ($p[1] == 1) {
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S*)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value='$1' %s>\n",
					$uconfig{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				}
			}
		elsif ($p[1] == 2) {
			local %sel;
			map { $sel{$_}++ } split(/,/, $uconfig{$c});
			print "<select name=\"$c\" size=4 multiple>\n";
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<option value=\"$1\" %s>$2\n",
					$sel{$1} ? "selected" : "";
				}
			print "</select>\n";
			}
		elsif ($p[1] == 3) {
			$none = $p[2] ? $p[2] : $text{'config_none'};
			printf "<input type=radio name=\"%s_none\" value=1 %s> $none\n",
				$c, $uconfig{$c} eq "" ? "checked" : "";
			print "&nbsp;&nbsp;\n";
			printf "<input type=radio name=\"%s_none\" value=0 %s>\n",
				$c, $uconfig{$c} eq "" ? "" : "checked";
			print "<input name=\"$c\" size=20 value=$qw$uconfig{$c}$qw>\n";
			}
		elsif ($p[1] == 4) {
			print "<select name=\"$c\">\n";
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<option value=\"$1\" %s>$2\n",
					$uconfig{$c} eq $1 ? "selected" : "";
				}
			print "</select>\n";
			}
		elsif ($p[1] == 5) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $uconfig{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $uconfig{$c} eq "" ? "" : "checked";
				}
			print &unix_user_input($c, $uconfig{$c});
			}
		elsif ($p[1] == 6) {
			if ($p[2]) {
				printf
				   "<input type=radio name=${c}_def value=1 %s>$p[2]\n",
				   $uconfig{$c} eq "" ? "checked" : "";
				printf "<input type=radio name=${c}_def value=0 %s>\n",
				   $uconfig{$c} eq "" ? "" : "checked";
				}
			print &unix_group_input($c, $uconfig{$c});
			}
		elsif ($p[1] == 7) {
			print "<input name=\"$c\" size=40 value=$qw$uconfig{$c}$qw> ",
			      &file_chooser_button($c, 1);
			}
		elsif ($p[1] == 8) {
			print "<input name=\"$c\" size=40 value=$qw$uconfig{$c}$qw> ",
			      &file_chooser_button($c, 0);
			}
		elsif ($p[1] == 9) {
			local $cols = $p[2] ? $p[2] : 40;
			local $rows = $p[3] ? $p[3] : 5;
			print "<textarea name=\"$c\" rows=$rows cols=$cols>",
				join("\n", split(/\s+/, $uconfig{$c})),
				"</textarea>\n";
			}
		elsif ($p[1] == 10) {
			local $fv = $uconfig{$c};
			for($i=2; $i<@p; $i++) {
				$p[$i] =~ /^(\S+)\-(.*)$/;
				printf "<input type=radio name=\"$c\" value=$1 %s>\n",
					$uconfig{$c} eq $1 ? "checked" : "";
				print "$2 &nbsp;&nbsp;\n";
				$fv = undef if ($uconfig{$c} eq $1);
				}
			printf "<input type=radio name=\"$c\" value=free %s>\n",
				$fv ? "checked" : "";
			print "<input name=\"${c}_free\" value='$fv'>\n";
			}
		print "</td> </tr>\n";
		}
	print "</table></td></tr></table>\n";
	print "<input type=submit value=\"$text{'save'}\"></form>\n";
	}


print "<hr>\n";
&footer("", $text{'index_return'});

070701000003af000081e40000000000000002000000013d1fe2e90000038d000000200000000000000000000000000000001e00000003reloc/usermin/edit_defacl.cgi #!/usr/local/bin/perl
# edit_defacl.cgi
# Display global ACL options for usermin

require './usermin-lib.pl';
&header($text{'defacl_title'}, "");
print "<hr>\n";

if (&get_usermin_version() < 0.76) {
	print "<p>$text{'defacl_eversion'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "$text{'defacl_desc'}<p>\n";
print "<form action=save_defacl.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'defacl_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

&get_usermin_miniserv_config(\%miniserv);
do "$miniserv{'root'}/acl_security.pl";
&read_file("$miniserv{'root'}/defaultacl", \%acl);
&read_file("$config{'usermin_dir'}/user.acl", \%acl);
&acl_security_form(\%acl);

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000003b0000081e40000000000000002000000013d1fe2e900000373000000200000000000000000000000000000001c00000003reloc/usermin/edit_lang.cgi   #!/usr/local/bin/perl
# edit_lang.cgi
# Language config form

require './usermin-lib.pl';
&header($text{'lang_title'}, "");
print "<hr>\n";

&get_usermin_config(\%uconfig);
print $text{'lang_intro'},"<p>\n";

print "<form action=change_lang.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'lang_title2'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$clang = $uconfig{'lang'} ? $uconfig{'lang'} : $default_lang;
print "<tr> <td><b>$text{'lang_lang'}</b></td>\n";
print "<td><select name=lang>\n";
foreach $l (&list_languages()) {
	printf "<option value=%s %s>%s (%s)\n",
		$l->{'lang'},
		$clang eq $l->{'lang'} ? 'selected' : '',
		$l->{'desc'}, uc($l->{'lang'});
	}
print "</select></td> </tr>\n";
print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'lang_ok'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000003b1000081e40000000000000002000000013d1fe2e9000008c0000000200000000000000000000000000000001c00000003reloc/usermin/edit_mods.cgi   #!/usr/local/bin/perl
# edit_mods.cgi
# Form for installing and removing usermin modules

require './usermin-lib.pl';
&header($text{'mods_title'}, "");
print "<hr>\n";

# Display installation form
print "<table width=100%><tr><td valign=top>\n";
print "$text{'mods_desc1'}</td><td valign=top>";

print "<form action=install_mod.cgi enctype=multipart/form-data method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'mods_install'}</b></td> </tr>\n";
print "<tr $cb> <td>\n";
print "<input type=radio name=source value=0 checked> $text{'mods_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0),"<br>\n";
print "<input type=radio name=source value=1> $text{'mods_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
print "<input type=radio name=source value=2> $text{'mods_ftp'}\n";
print "<input name=url size=40><br>\n";
print "&nbsp;" x 5;
print "<input type=checkbox name=nodeps value=1> $text{'mods_nodeps'}<br>\n";
print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'mods_installok'}\">\n";
print "</form></td></tr></table> <hr>\n";

# Display deletion form
print "<table width=100%><tr>\n";
print "<td valign=top>$text{'mods_desc3'}</td> <td>\n";
print "<form action=delete_mod.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td valign=top><b>$text{'mods_delete'}</b></td> </tr>\n";
print "<tr> <td $cb><select multiple width=300 name=mod size=10>\n";
$version = &get_usermin_version();
&get_usermin_miniserv_config(\%miniserv);
$home = $miniserv{'root'} eq '/usr/local/useradmin';
@mlist = &list_modules();
foreach $m (@mlist) {
	if (&check_usermin_os_support($m)) {
		local @st = stat("$miniserv{'root'}/$m->{'dir'}");
		local @tm = localtime($st[9]);
		local $vstr = $m->{'version'} == $version ? "" :
			      $m->{'version'} ? "(v. $m->{'version'})" :
			      $home ? "" :
			      sprintf "(%d/%d/%d)",
				      $tm[3], $tm[4]+1, $tm[5]+1900;
		printf "<option value='%s'>%s %s\n",
			$m->{'dir'}, $m->{'desc'}, $vstr;
		}
	}
print "</select></td> </tr></table>\n";
print "<input type=submit value=\"$text{'mods_deleteok'}\">\n";
print "</form></td></tr></table>\n";
print "<hr>\n";

&footer("", $text{'index_return'});

070701000003b3000081e40000000000000002000000013d1fe2e900000ea4000000200000000000000000000000000000001f00000003reloc/usermin/edit_session.cgi    #!/usr/local/bin/perl
# edit_session.cgi
# Edit session login options

require './usermin-lib.pl';
print "Set-Cookie: sessiontest=1; path=/\n";
&header($text{'session_title'}, "");
print "<hr>\n";
&get_usermin_miniserv_config(\%miniserv);

&get_usermin_config(\%uconfig);
print "$text{'session_desc1'}<p>\n";
print "$text{'session_desc2'}<p>\n";

print "<form action=change_session.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'session_header'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";

printf "<input type=radio name=passdelay value=0 %s> %s<br>\n",
	$miniserv{'passdelay'} ? '' : 'checked', $text{'session_pdisable'};
printf "<input type=radio name=passdelay value=1 %s> %s<br>\n",
	$miniserv{'passdelay'} ? 'checked' : '', $text{'session_penable'};
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=blockhost_on value=1 %s>\n",
	$miniserv{'blockhost_failures'} ? "checked" : "";
print &text('session_blockhost',
	    "<input name=blockhost_failures size=4 value='$miniserv{'blockhost_failures'}'>",
	    "<input name=blockhost_time size=4 value='$miniserv{'blockhost_time'}'>"),"<br>\n";
eval "use Sys::Syslog qw(:DEFAULT setlogsock)";
if (!$@) {
	printf "<input type=checkbox name=syslog value=1 %s> %s\n",
		$miniserv{'syslog'} ? "checked" : "", $text{'session_syslog2'};
	}
else {
	print "<input type=hidden name=syslog value='$miniserv{'syslog'}'>\n";
	}
print "<p>\n";

printf "<input type=radio name=session value=0 %s> %s<br>\n",
	!$miniserv{'session'} ? "checked" : "", $text{'session_disable'};
printf "<input type=radio name=session value=1 %s> %s<br>\n",
	$miniserv{'session'} ? "checked" : "", $text{'session_enable'};
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=logouttime_on value=1 %s>\n",
	$miniserv{'logouttime'} ? "checked" : "";
print &text('session_logout',
	"<input name=logouttime value='$miniserv{'logouttime'}' size=10>"),"<br>\n";
#printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=locking value=1 %s>\n",
#	$gconfig{'locking'} ? "checked" : "";
#print "$text{'session_locking'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=remember value=1 %s>\n",
	$uconfig{'noremember'} ? "" : "checked";
print "$text{'session_remember'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=hostname value=1 %s>\n",
	$uconfig{'nohostname'} ? "" : "checked";
print "$text{'session_hostname'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=banner_def value=1 %s> %s\n",
	$uconfig{'loginbanner'} ? "" : "checked", $text{'session_banner1'};
printf "<input type=radio name=banner_def value=0 %s> %s\n",
	$uconfig{'loginbanner'} ? "checked" : "", $text{'session_banner0'};
printf "<input name=banner size=30 value='%s'> %s<br>\n",
	$uconfig{'loginbanner'}, &file_chooser_button("banner");
print "<p>\n";

printf "<input type=radio name=localauth value=0 %s> %s<br>\n",
	!$miniserv{'localauth'} ? "checked" : "", $text{'session_localoff'};
printf "<input type=radio name=localauth value=1 %s> %s<br>\n",
	$miniserv{'localauth'} ? "checked" : "", $text{'session_localon'};
print "<p>\n";

printf "<input type=radio name=no_pam value=0 %s> %s<br>\n",
	!$miniserv{'no_pam'} ? "checked" : "", $text{'session_pamon'};
printf "<input type=radio name=no_pam value=1 %s> %s<br>\n",
	$miniserv{'no_pam'} ? "checked" : "", $text{'session_pamoff'};
print "&nbsp;&nbsp;&nbsp;",&text('session_pfile',
	"<input name=passwd_file size=20 value='$miniserv{'passwd_file'}'>",
	"<input name=passwd_uindex size=2 value='$miniserv{'passwd_uindex'}'>",
	"<input name=passwd_pindex size=2 value='$miniserv{'passwd_pindex'}'>"),
	"<br>\n";

print "</td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

070701000003b4000081e40000000000000002000000013d1fe2e9000003b7000000200000000000000000000000000000001b00000003reloc/usermin/edit_ssl.cgi    #!/usr/local/bin/perl
# edit_ssl.cgi
# Configure whether Usermin uses SSL or not

require './usermin-lib.pl';
&header($text{'ssl_title'}, "");
print "<hr>\n";
&get_usermin_miniserv_config(\%miniserv);

eval "use Net::SSLeay";
if ($@) {
	print &text('ssl_essl', "http://www.webmin.com/ssl.html"),"\n";
	}
else {
	print $text{'ssl_desc1'},"<p>\n";
	print $text{'ssl_desc2'},"<br>\n";

	print "<form action=change_ssl.cgi>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'ssl_header'}</b></td> </tr>\n";
	print "<tr $cb> <td nowrap>\n";
	printf "<input type=radio name=ssl value=1 %s>\n",
		$miniserv{'ssl'} ? "checked" : "";
	print "$text{'ssl_enable'}<p>\n";
	printf "<input type=radio name=ssl value=0 %s>\n",
		$miniserv{'ssl'} ? "" : "checked";
	print "$text{'ssl_disable'}<p>\n";
	print "</td></tr></table><br>\n";
	print "<input type=submit value=\"$text{'save'}\"></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000003b5000081e40000000000000002000000013d1fe2e90000071a000000200000000000000000000000000000001e00000003reloc/usermin/edit_themes.cgi #!/usr/local/bin/perl
# edit_themes.cgi
# Display all themes, and allow installation of a new one

require './usermin-lib.pl';
&ReadParse();
&header($text{'themes_title'}, "");
print "<hr>\n";

@themes = &list_themes();
&get_usermin_config(\%uconfig);
if (@themes) {
	print "$text{'themes_desc'}<br>\n";
	print "<form action=change_theme.cgi>\n";
	print "<b>$text{'themes_sel'}</b> <select name=theme>\n";
	foreach $t ( { 'desc' => $text{'themes_default'} }, @themes) {
		printf "<option value='%s' %s>%s\n",
			$t->{'dir'},
			$uconfig{'theme'} eq $t->{'dir'} ? 'selected' : '',
			$t->{'desc'};
		}
	print "</select>\n";
	print "<input type=submit value='$text{'themes_change'}'></form>\n";
	print "<hr>\n";
	}

# Display install form
print "$text{'themes_installdesc'}<br>\n";
print "<form action=install_theme.cgi enctype=multipart/form-data>\n";
print "<input type=radio name=source value=0 checked> $text{'mods_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0, 1),"<br>\n";
print "<input type=radio name=source value=1> $text{'mods_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
print "<input type=radio name=source value=2> $text{'mods_ftp'}\n";
print "<input name=url size=40><br>\n";
print "<input type=submit value=\"$text{'themes_installok'}\"></form>\n";

# Display deletion form
if (@themes) {
	print "<hr>\n";
	print "$text{'themes_delete'}<br>\n";
	print "<form action=delete_mod.cgi>\n";
	print "<b>$text{'themes_delok'}</b>\n";
	print "<select name=mod>\n";
	foreach $t (@themes) {
		if ($gconfig{'theme'} ne $t->{'dir'}) {
			printf "<option value=%s>%s\n",
				$t->{'dir'}, $t->{'desc'};
			}
		}
	print "</select>\n";
	print "<input type=submit value='$text{'delete'}'></form>\n";
	}



print "<hr>\n";
&footer("", $text{'index_return'});

  070701000003b6000081e40000000000000002000000013d1fe2e9000006ce000000200000000000000000000000000000001a00000003reloc/usermin/edit_ui.cgi #!/usr/local/bin/perl
# edit_ui.cgi
# Edit user interface options

require './usermin-lib.pl';
&header($text{'ui_title'}, "");
print "<hr>\n";

&get_usermin_config(\%uconfig);
print $text{'ui_desc'},"<p>\n";
print "<form action=change_ui.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'ui_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'ui_texttitles'}</b></td>\n";
printf "<td><input type=radio name=texttitles value=1 %s> %s\n",
	$uconfig{'texttitles'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=texttitles value=0 %s> %s</td> </tr>\n",
	$uconfig{'texttitles'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'ui_sysinfo'}</b></td>\n";
print "<td><select name=sysinfo>\n";
printf "<option value=0 %s> %s\n",
	$uconfig{'sysinfo'} == 0 ? 'selected' : '', $text{'ui_sysinfo0'};
printf "<option value=1 %s> %s\n",
	$uconfig{'sysinfo'} == 1 ? 'selected' : '', $text{'ui_sysinfo1'};
printf "<option value=2 %s> %s\n",
	$uconfig{'sysinfo'} == 2 ? 'selected' : '', $text{'ui_sysinfo2'};
printf "<option value=3 %s> %s\n",
	$uconfig{'sysinfo'} == 3 ? 'selected' : '', $text{'ui_sysinfo3'};
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'ui_feedback'}</b></td>\n";
printf "<td><input type=radio name=feedback_def value=1 %s> %s\n",
	$uconfig{'feedback_to'} ? "" : "checked", $webmin_feedback_address;
printf "<input type=radio name=feedback_def value=0 %s>\n",
	$uconfig{'feedback_to'} ? "checked" : "";
printf "<input name=feedback size=20 value='%s'></td> </tr>\n",
	$uconfig{'feedback_to'};

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  070701000003b7000081e40000000000000002000000013d1fe2e9000005cf000000200000000000000000000000000000001f00000003reloc/usermin/edit_upgrade.cgi    #!/usr/local/bin/perl
# edit_upgrade.cgi
# Display a form for upgrading all of usermin from a tarfile

require './usermin-lib.pl';
&header($text{'upgrade_title'}, "");
print "<hr>\n";

# what kind of install was this?
&get_usermin_miniserv_config(\%miniserv);
if (open(MODE, "$miniserv{'root'}/install-type")) {
	chop($mode = <MODE>);
	close(MODE);
	}
else {
	if ($miniserv{'root'} eq "/usr/libexec/usermin") {
		$mode = "rpm";
		}
	else {
		$mode = undef;
		}
	}

print "<table width=100%><tr><td valign=top>\n";
print $text{"upgrade_desc$mode"},"</td><td valign=top>";

print "<form action=upgrade.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=mode value='$mode'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'upgrade_title'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";
print "<input type=radio name=source value=0 checked> $text{'upgrade_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0),"<br>\n";
print "<input type=radio name=source value=1> $text{'upgrade_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
print "<input type=radio name=source value=2> $text{'upgrade_ftp'}\n";
if (!$mode) {
	print "<p><input type=checkbox name=delete value=1> ",
		"$text{'upgrade_delete'}<br>\n";
	}
print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'upgrade_ok'}\">\n";
print "</form></td></tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 070701000003b8000081e40000000000000002000000013d1fe2e900000591000000200000000000000000000000000000001d00000003reloc/usermin/edit_users.cgi  #!/usr/local/bin/perl
# edit_users.cgi
# Display user access control form

require './usermin-lib.pl';
&header($text{'users_title'}, "");
print "<hr>\n";
&get_usermin_miniserv_config(\%miniserv);

if (&get_usermin_version() < 0.76) {
	print "<p>$text{'users_eversion'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print $text{'users_desc'},"<p>\n";

print "<form action=change_users.cgi method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'users_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table><tr><td valign=top nowrap>\n";
printf "<input type=radio name=access value=0 %s>\n",
	$miniserv{"allowusers"} || $miniserv{"denyusers"} ? "" : "checked";
print "$text{'users_all'}<br>\n";
printf "<input type=radio name=access value=1 %s>\n",
	$miniserv{"allowusers"} ? "checked" : "";
print "$text{'users_allow'}<br>\n";
printf "<input type=radio name=access value=2 %s>\n",
	$miniserv{"denyusers"} ? "checked" : "";
print "$text{'users_deny'}<br>\n";
print "</td> <td valign=top>\n";
printf "<textarea name=user rows=6 cols=30>%s</textarea></td> </tr>\n",
 $miniserv{"allowusers"} ? join("\n", split(/\s+/, $miniserv{"allowusers"})) :
 $miniserv{"denyusers"} ? join("\n", split(/\s+/, $miniserv{"denyusers"})) : "";

print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   070701000003b9000081a40000000000000002000000013d1fe2e900000089000000200000000000000000000000000000002000000003reloc/usermin/feedback_files.pl   
do 'usermin-lib.pl';

sub feedback_files
{
return ( "$config{'usermin_dir'}/miniserv.conf",
	 "$config{'usermin_dir'}/config" );
}

1;

   0707010000197f000041ed0000000000000001000000023d1ffba000000000000000200000000000000000000000000000001500000003reloc/usermin/images  07070100001980000081a40000000000000002000000013d1fe2e800000113000000200000000000000000000000000000002000000003reloc/usermin/images/access.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100001981000081a40000000000000002000000013d1fe2e9000008f7000000200000000000000000000000000000001d00000003reloc/usermin/images/acl.gif  GIF89a0 0 ç  ŠŠ,>ÆT¢¢4¢Î|ÆæÌ¦¢¤ÆÂŒ®²¬FBLÖÒ¤¶†¬†VtæâÔŠŠŒff’’”Â²´ÎÒÌ¶º´¾¢¼êòä¦ª¤ÖÚÔÆÂÌnj|¶²lêêÌrr|ššœº¶Ä‚‚¼ZZÜ¢Ò¼ÞöÜ®²ÔNRL†ŠÜ"",ªª<ââÄÚÒÔ¶ºÔªªÔæêä²¦¬ÊÊ”ÞÚÜnrÜž¢ÄÆÊÄîêìvzÜ¦¦d¾Â¼Ž’ÄÎÒìúúü®ª¬šž¼>>$ÞêÜ¶¶´JJLbbÜ¾ºd~‚ÜÞâäÂÆÄŽ’Ô––DâÞ¼¢ž¤¾jlææäÖÒÔ¾¾¼òòì¶¶ÄZZ\ŽŽÔ**¾¾ÌæîäÊÊ¬ÞÞÔ¦¦ÔÎÎì–šÔfjÜÆÂ¼®²¼ÖÖ¼º¾¼ªª¼ÚÚì¦Ú´ŠŽÔº¾ÌvvÜ¢¦ÔÎÎÌ~~Ü¦¦l¾ÂÌºº|††Üââä––ÔòöôžžÔ$–Âœ¦¦<ÒêÔ¢¢¼ÆÆ¤FFDºŽ¬¦V”Ò¾ÌÒÒÜºº¼Æ¢¼ÚÚÜÆÆÄ²¶ÔŠŠÔ®®l²v¤Âš´jjdªfœ–’,žž4¶ÞÄ>>T.*<’Ž¤Î²ÄÒÎ”RN\^ZtÂ¾tnnÜ®®ÄÎÎ¤®®¼ææÄ&&$ÚÖÜÊÎÌ²Š¬žžœrvÜz~ÜþþüffÜ‚†ÜÚæä’–Ô^^\..šžÔ¦¦¼¶²„žžLîæìîîäÖÖÔª®¼âæäž¢ÔªÚÄêêÜââÔ¶¶ÔÞÞä–Â¬®®Ô²²´ÒÒÔªª¬ÚÚÌ¾¶ÌRRTÞÒÜººÌêêäÊÊÌª¦\ÂÂÄ’’¼NJTêîìÚÖÄ¾ºt²®t²®´ÊæÌÂ¢¼²²ÔâÚÜrrÜzzÜÒÒì‚‚Ü’’ÔššÔjjÜ²²¼ÂÂÌööôÊÆ¤¢¢Ô¢¢<¶º¼‚‚Ä¶¶¼ÂÆÌææìòòôÊÊ´ÞÞÜÖÖÄFFLÆÆÌŠŠÜîîìººÔêêìª¦dÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ Ë´E° A[2*\È°a™ƒ%(Ä$\•!¬ÀËNL CŠIRGVCÀ­Yî#¦2¾|µéÔ©AÞh*a³§ÏŸ@}õ¡ÙI	£dDÇ-”‘3Ç²=„(Ð\ÃÄ¡U‡Dweº³„f0}å,§ÅN T9•Ø¸ÊV /š3",`à`\'_Åâšä&–º±rI²ðH˜Þˆ¹Ð`¤]çú€-ÓÜ‘€âôÕà  }‚”€Eš_x0q”
ïD%L¡Ãö ƒ¢ETÛZÅÛ'U¥35Eydbš¯—˜bÎP  Ò‰(ÂÞ$RL·CÞp5
 ‡ðþ¾D¼†Jšoçœ$À°¦‹á÷ãæÀE1QŽ~È:îS› ¨J5T…r1¨ €}”aNH¢G-”ìP‹[”²M)ZWÆ8±ð"/NL£‡¥”B‰”Pr!&npÔ˜áÑ<óÇ3¼ÈÈF(n@Á[NHs4Ï\ãÆ
fXaEcDl¨P” É'ÊpÂ4”°Â3P<³P@sœa´4aü…„R˜nÑ
j(‹ŸÊ8¡Œ~üé‡‡Æ¢h,~„†	5Œ2zh :Q)¡NLôL›N´f|V½“@~%ªx >ÔVr»q–/þI¤Aùb‹/ª%R¶ŒC„O¦’äjª¶¨ò±¹ô•/MtÒE!ÐŠRN'¹‘z ©ØâuŽ-çœ3E9ÐäZXÕtâ èê2-u“]u*©–£R5Þ¸Â‚¸`%W®è n'ƒ-Ûªk=‰:Ìxã-`„;.e9Ñ…zøG-O¨
ë¨/•ÃŠ-à”3C tÒ©¾”óÅÎt.uË…ÜÌ®Ú¥8|(Ü"Õ(µ©/å®á8ä.+k±õîÏxuâ(Aï,,œ,C5ç¬„+ÈÓÀnÅ*M‚ñÑmlÓ„µÔbÀ-m×¢ÊZ†»PHvÕÔþ8e¨¢¢6KÔà;]›¯¨n	DÔ9å”Ãø÷LL}P“D¸¼£bÌ8”ƒÞÇ8˜ø€É
ÐÐâ-’°î5Ü(ŠgúyM,b˜£Ô”!ä˜CËˆÊD³º*”q2¼¸!XÁ'ÐØ©F4œ|âD3%0Å5gA†'Ð„3´$7Æ3E˜À3ó3Ÿ¬@
äDÃ3Ð¸M+ÐˆÆ5¢Á†Z€X)ZA@*M)©+5ë	0Xøžþ0ã	áÆFäj2¬
a»RØŸ`ËZ‰»ÁîÆ©‚%ŽU®úÙ8d ”˜È@þ˜hHÖ¤©OÕp B‘Ì8$#ƒÊÅåðF5¦ØzUc6	Å¶‡}¥åXÃÀq	YLÑÚUNG”jMä‰ã:LÎÁ‡\UDbº1)NQ©XÝÂ†¸"¾
&J(Vô0-qýç Ç0' tã#Däœñ2.¡xƒ	L¨Å-G:·ôá¾@À-JQ†ZÀA;Ù\	»ÈPéÇH‚-òx·süÍ¶ÂPÂX•zê.‰.a‹>ä Àã]Æsœƒ¬hÀ5Ã¨Bæðg‡KøÐ‹¢h¢v‰œ7Ô	Qe…0ÙdIÈF%t ½ÏÈ$ÐØØÆ¯Í2œšRÈ[ØX¥/JhœB
Žê¬0Ž"	VrÚ¸T4N2˜0e˜Œlcz`Â¼ ú‚RxâzBZà’È†|@10aÐC ÐŒgDÃÏð“ 1(˜À#‡Â@T"rR!+h…Oÿ0†q¸
aâ„ÒôH£f`†'Z15Œ!Ì@«4žÖMŒÊ ¡§Ê‚fD"|†˜1†f`ÏÃ	9	ªÎön%q˜k ; 07070100001995000081a40000000000000002000000013d1fe2e9000008f7000000200000000000000000000000000000002400000003reloc/usermin/images/assignment.gif   GIF89a0 0 ç  ŠŠ,>ÆT¢¢4¢Î|ÆæÌ¦¢¤ÆÂŒ®²¬FBLÖÒ¤¶†¬†VtæâÔŠŠŒff’’”Â²´ÎÒÌ¶º´¾¢¼êòä¦ª¤ÖÚÔÆÂÌnj|¶²lêêÌrr|ššœº¶Ä‚‚¼ZZÜ¢Ò¼ÞöÜ®²ÔNRL†ŠÜ"",ªª<ââÄÚÒÔ¶ºÔªªÔæêä²¦¬ÊÊ”ÞÚÜnrÜž¢ÄÆÊÄîêìvzÜ¦¦d¾Â¼Ž’ÄÎÒìúúü®ª¬šž¼>>$ÞêÜ¶¶´JJLbbÜ¾ºd~‚ÜÞâäÂÆÄŽ’Ô––DâÞ¼¢ž¤¾jlææäÖÒÔ¾¾¼òòì¶¶ÄZZ\ŽŽÔ**¾¾ÌæîäÊÊ¬ÞÞÔ¦¦ÔÎÎì–šÔfjÜÆÂ¼®²¼ÖÖ¼º¾¼ªª¼ÚÚì¦Ú´ŠŽÔº¾ÌvvÜ¢¦ÔÎÎÌ~~Ü¦¦l¾ÂÌºº|††Üââä––ÔòöôžžÔ$–Âœ¦¦<ÒêÔ¢¢¼ÆÆ¤FFDºŽ¬¦V”Ò¾ÌÒÒÜºº¼Æ¢¼ÚÚÜÆÆÄ²¶ÔŠŠÔ®®l²v¤Âš´jjdªfœ–’,žž4¶ÞÄ>>T.*<’Ž¤Î²ÄÒÎ”RN\^ZtÂ¾tnnÜ®®ÄÎÎ¤®®¼ææÄ&&$ÚÖÜÊÎÌ²Š¬žžœrvÜz~ÜþþüffÜ‚†ÜÚæä’–Ô^^\..šžÔ¦¦¼¶²„žžLîæìîîäÖÖÔª®¼âæäž¢ÔªÚÄêêÜââÔ¶¶ÔÞÞä–Â¬®®Ô²²´ÒÒÔªª¬ÚÚÌ¾¶ÌRRTÞÒÜººÌêêäÊÊÌª¦\ÂÂÄ’’¼NJTêîìÚÖÄ¾ºt²®t²®´ÊæÌÂ¢¼²²ÔâÚÜrrÜzzÜÒÒì‚‚Ü’’ÔššÔjjÜ²²¼ÂÂÌööôÊÆ¤¢¢Ô¢¢<¶º¼‚‚Ä¶¶¼ÂÆÌææìòòôÊÊ´ÞÞÜÖÖÄFFLÆÆÌŠŠÜîîìººÔêêìª¦dÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ Ë´E° A[2*\È°a™ƒ%(Ä$\•!¬ÀËNL CŠIRGVCÀ­Yî#¦2¾|µéÔ©AÞh*a³§ÏŸ@}õ¡ÙI	£dDÇ-”‘3Ç²=„(Ð\ÃÄ¡U‡Dweº³„f0}å,§ÅN T9•Ø¸ÊV /š3",`à`\'_Åâšä&–º±rI²ðH˜Þˆ¹Ð`¤]çú€-ÓÜ‘€âôÕà  }‚”€Eš_x0q”
ïD%L¡Ãö ƒ¢ETÛZÅÛ'U¥35Eydbš¯—˜bÎP  Ò‰(ÂÞ$RL·CÞp5
 ‡ðþ¾D¼†Jšoçœ$À°¦‹á÷ãæÀE1QŽ~È:îS› ¨J5T…r1¨ €}”aNH¢G-”ìP‹[”²M)ZWÆ8±ð"/NL£‡¥”B‰”Pr!&npÔ˜áÑ<óÇ3¼ÈÈF(n@Á[NHs4Ï\ãÆ
fXaEcDl¨P” É'ÊpÂ4”°Â3P<³P@sœa´4aü…„R˜nÑ
j(‹ŸÊ8¡Œ~üé‡‡Æ¢h,~„†	5Œ2zh :Q)¡NLôL›N´f|V½“@~%ªx >ÔVr»q–/þI¤Aùb‹/ª%R¶ŒC„O¦’äjª¶¨ò±¹ô•/MtÒE!ÐŠRN'¹‘z ©ØâuŽ-çœ3E9ÐäZXÕtâ èê2-u“]u*©–£R5Þ¸Â‚¸`%W®è n'ƒ-Ûªk=‰:Ìxã-`„;.e9Ñ…zøG-O¨
ë¨/•ÃŠ-à”3C tÒ©¾”óÅÎt.uË…ÜÌ®Ú¥8|(Ü"Õ(µ©/å®á8ä.+k±õîÏxuâ(Aï,,œ,C5ç¬„+ÈÓÀnÅ*M‚ñÑmlÓ„µÔbÀ-m×¢ÊZ†»PHvÕÔþ8e¨¢¢6KÔà;]›¯¨n	DÔ9å”Ãø÷LL}P“D¸¼£bÌ8”ƒÞÇ8˜ø€É
ÐÐâ-’°î5Ü(ŠgúyM,b˜£Ô”!ä˜CËˆÊD³º*”q2¼¸!XÁ'ÐØ©F4œ|âD3%0Å5gA†'Ð„3´$7Æ3E˜À3ó3Ÿ¬@
äDÃ3Ð¸M+ÐˆÆ5¢Á†Z€X)ZA@*M)©+5ë	0Xøžþ0ã	áÆFäj2¬
a»RØŸ`ËZ‰»ÁîÆ©‚%ŽU®úÙ8d ”˜È@þ˜hHÖ¤©OÕp B‘Ì8$#ƒÊÅåðF5¦ØzUc6	Å¶‡}¥åXÃÀq	YLÑÚUNG”jMä‰ã:LÎÁ‡\UDbº1)NQ©XÝÂ†¸"¾
&J(Vô0-qýç Ç0' tã#Däœñ2.¡xƒ	L¨Å-G:·ôá¾@À-JQ†ZÀA;Ù\	»ÈPéÇH‚-òx·süÍ¶ÂPÂX•zê.‰.a‹>ä Àã]Æsœƒ¬hÀ5Ã¨Bæðg‡KøÐ‹¢h¢v‰œ7Ô	Qe…0ÙdIÈF%t ½ÏÈ$ÐØØÆ¯Í2œšRÈ[ØX¥/JhœB
Žê¬0Ž"	VrÚ¸T4N2˜0e˜Œlcz`Â¼ ú‚RxâzBZà’È†|@10aÐC ÐŒgDÃÏð“ 1(˜À#‡Â@T"rR!+h…Oÿ0†q¸
aâ„ÒôH£f`†'Z15Œ!Ì@«4žÖMŒÊ ¡§Ê‚fD"|†˜1†f`ÏÃ	9	ªÎön%q˜k ; 07070100001996000081a40000000000000002000000013d1fe2e8000001de000000200000000000000000000000000000001e00000003reloc/usermin/images/bind.gif GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100001997000081a40000000000000002000000013d1fe2e90000071c000000200000000000000000000000000000002400000003reloc/usermin/images/categories.gif   GIF89a0 0 ç  ‚‚„¾Â¼>B<¦¢¤^b\ââä^bÜÒÒÔŽ’Œ®²¬&&$òòôBBôrrÜÎÆÄÚÚÜŽ’Ô‚‚Ürrtêêì¶²üRRô¢¢Ô22ô¾º¼vzÜ†ŠÜÊÆüZZÜÊÊÌââüjjÜššœúúüÚÚô

ÆÂÄRRT¦ª¤ÚÒÔºº¼664ššÔvztjjlêâäÎÎüâÚÜ~~Ü––”²²ÔúöôÎÎÌ‚‚üòîìªªÔ::ô’ŽüZZôNNLâæäffÜÒÖÔ¶²¬JJôrrü––ü¾¾ÌŽŽÔ>><~zt†Š„ÂÆÄª¢¤’–”ööôÞÞÜîîìZVôª¦ôÆ¾¼ŠŽÔjjü
ÆÆÄ®®¬rjd~züÂÂÌJJD¢¦¤ffdæâÜÖÒÌ’’Œ²¶´..,FFôÎÊÌÞÚÔ––Ô‚†ÜzvtîêäVVô:6ô¾¾¼z~ÜŠŠÔZ^Üšžœþþü^^\ÚÖÔ>:4žšünnlâÞÜÖÎÌŠ†ü>>ô^^üffüzvüººôŽŽŒ
NNäÞÞü::<††„vvÜvvt¦¦Ô66ôææünnÜVVTžžÔ®®Ônnü~~üººÔ¶¶´~~|VNLêæä.2,ÂÂÄbbd²²´Âº´ªª¬zz|bbÜöòôFBô’’ÔVRôzzÜþúüÊÂÄnjlš–”ÒÎÌ†‚ü>:ôææäÖÖÔvrüš–üB><²®¬¦¦¤ÒÊÌ††Ü^^ÜžžœÞÖÔjfü‚~ü

úöüòîôZZü~z|ööüª¦ü
ÆÆÌJJLæâäÖÒÔ’’”ÞÚÜîêìŠŠÜâÞäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡FiE±¢Å‹ƒÑ¡£Ç ;4Å†‘PÌQ`C
0aÎŠiÁ`xð™”³§ÏŸ Æ,&ÂR #‚4­ø‚L„-`œˆ`ó‡ÀB9'™ùó‡‘?W|Ý˜$‰È>9+…é¢…Aê òáÌ„	ÅŠ¹Èc	f««9‹üÁà‹‡…ü0Ò1¤Mi×ÚPG
DyÈÔS@‘¢¼àVK!QEtaÅ¥#If¤´éSÚ4sëÞý÷‰œ«®ä’}¥¸ñâ¹®ì°-y·sšP0 1¥ºõëØ¯b€û¹÷ç¼þ#_fwÝ>ØPÿ}{ò6ÎÇdÿ!¼úûÎƒ Ð¿?ˆ®ô·ßxT™SzôÁTß|ðå Âœ0ñÆaáLaƒ‡¸à|º}€_LûÑ¡"Ê¬èâŠ°d ~ìíVcƒ6aŒ‹)$óÄ‹+¡BLòµ§àz4…ç¢/è&À¼ˆ€DÙ^P¬˜Œ2T£Œ2z|@*
Y¥•%Æ*2€3[$±†)üâE?>x&šÎ¨b
½ !È0+¤ÐÉƒ ð1îÉ§‚éåh€)[Ó‹	U`!„,Â, @ t˜â£I*xŒ*ªìq
.—ìò‹%þHÌP‚!Léè£&ÂäŠèJÊ`ÒÄ0w$±@2e ¡‰¨ñ‘ZjM®ÐŠ1QàÃeô0ˆ­ä!Ì,€Ø¬³ë±‡ ›,â Ga¬1HM@¡Å "„{«³ûe©¢¼<€‹ªd°Ç½@` ³E’;ÞŠOè‘&ÇÄÐ‹”TŽJ.LXº˜Œ*;ê“Ê^Ñ®ˆI—)ã¸0O<2ÇsÍÀ|x/Ÿì½ñ…Z P	œhá	_pâ‰'œÌÂ	È,·i¨AU¹-%H@Ójh­[ÂÎm@I\ †Dà€#Ô’ˆ6l`Ã"„°Lê"G8‚6VXÁp½›„8UÓ G$ËÄq„GÔÍD A\`E£Ô¢Æ26È`¸n9l †Úlp ‰8b‹@ qX‡là-!€B"@xp§çFÃò‘DÂ¼óËG=ôÌÓ 9ÍGŸ|n5¶<¶÷àÿÃ@Ò‘?~ùèK§þúç³?¾ùé³Ñüô×oÿýøç¯ÿþû¿Ï þ`È'@þo€ ,àÿÈÀþïA À¢` 
´â0@0˜A
R ƒ­ø`+<ØÁ
ZÐƒáÀ¿º! ;07070100001998000081a40000000000000002000000013d1fe2e90000014c000000200000000000000000000000000000002100000003reloc/usermin/images/configs.gif  GIF87a0 0 Â  ÿÿÿ   fff™™™ÌÌÌ         ,    0 0  þºÜþ0²0UÞ%ºÿ`ø-™eng#lë¾0KØ¹i¦²Æ|<c\É"\ŽÈ¤r™”8ŸÐ¨tJ­ZÄ\Êá™]m[â¸21'}Ó^Ê4ÔzàëØ©vÖœm4áFHDEW…†‡ˆ‰N_d"4nO;=—ic7g–˜=?{“rL¦§¡Šª«¬­¢¤:‘´£5±žŸ>$gB² »¼/¡eEŒ¥¨Ë‚®ÎÏÐSprÓao“Â^œ9¤(;u”wtjšvØálÈ%âÞ¾y·CÈ&õçÑúûÏAðNµB,ÂeØ¥T°åSA,S„7Ý 0[Â¯¢Å}Çú4âÖ({É„5äa,¡nGkôKÌDf#$  ;07070100001999000081a40000000000000002000000013d1fe2e9000000c8000000200000000000000000000000000000002000000003reloc/usermin/images/defacl.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌfff   !ù    ,    0 0  ™„©Ëí£”Ê©Ø\àŸ[Â ØŒæ…2êšyŽ0ÀñCÛO›ÖzÃsù~‹à"GtÉŽÃ¤âõl:IP@gšêlƒ–Á¼_	¹9£gÕµréÎÂãÇ6¡¾ãíz+_Ÿ×ç7'8XHE(Ø·øG'ò¸&Ò%ùEiYèiyÉQy¸e¸™ÙèÖ)u—zÈZè*Šth :kQ  ;0707010000199a000081a40000000000000002000000013d1fe2e800000799000000200000000000000000000000000000001e00000003reloc/usermin/images/icon.gif GIF89a0 0 ç  þþþúúúîîîÚÖÖîêêòîî¾ººUUU999úúöÒÎÊÊ¾ºæææòòò   ÞÞÚº®¬¾¶²ÒÊÊêêêÎÊÊ¶²®ÎÆÂÆÂ¾âââææâÂº¶ÖÎÊöööæÞÞÊÂ¾Âº²ÒÒÒêââúööâÞÞÆ¾ºÚÖÒÒÎÎÞÚÚÖÒÒúúþööúÂ¶²º¶²ÆÂÂÖÖÖÞÞÞÂºº¶®ªÆÂºâÚÚÚÒÎÆ¾¶º²®Â¾ºÂ¾¾ÎÊÆÆÆÂ²¦¢¾º¶òîêÊÆÂ²ª¦ÊÊÆÚÚÚâÞÚÊÆÆââÞööòþúú²²®’’’ÚÒÒÖÎÎÂ¶¶¾¶®ÖÒÎÆ¾¾öòòæââ‚zxÿÿÿÚÚÖ¾²®úþþÂÂÂ¦žšÒÎÆÎÎÎ¾²²òòîŠ‚~Ê¾¾nfbÎÆÆÎÎÊÆººîîêÞÖÖžššÞÚÖ¾¶¶ÊÊÊ²®ªº²²‚{x···º²ª¢––rrrnnnêææ¤¤¤Š†‚—”‘êæâæâÞ‚{{©©©UQPþþúÒÊÆêêæÖÖÒÎÂÂªªªÆÆÆîêæ777MKJpljÛÛ×²²²ŠŠŠº¶®ÊÂÂææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ,    0 0  þ H°`€‚*\È€€Jœ¸°€hÔˆ áFŽ&P°€Aƒƒ 8X¹Ò#Ë–!x !‚„	'U¾t¹3æ
,\ˆ@ƒN–<‘†!‚†:xøpæÂªb
 ¡!„ DŒÀÚ€ÃÕ—Y)rA¢Db5qƒ€“9`) E)@U‘í
$Z€pñƒöNLðFbÈ˜1k 4,Ô°Æ$Kœ£X:vØ¨ÀCu =NøØñˆj†‚h"óÅ7ˆ~Y$ÀA#Ž aÀàÆï…txH àç!D’þcEñ‚Á„ìÔ$±Žvµ’%dŽø ü¬6˜ÀÀ#¾Àõ×!ÔÀ<4!ÐC8ñ„@ÇaõMDC H¡{=a7Ä60ÊÕV"PÂ
?Ä …… ¶·Ð ° …L8áC UaV.XAW¬(ÅzI8Âaq`Z @.$GVTP1Â\I¤‘ pðÂ]€eIwaÅƒ“'xQá7é¢A|¡AD`€ƒFtG.Ç’ ¤`@™+n9'A€q 0 Db<	Bc4%Z9DJ†pÊ™¡@ÀÁ ÎM eTQ 
þfø Bž`¥A¤1”ùßV¨Æ/œñÃELDh@5,¤(P°éKj<–ÄµØÞ°s66@@‚„?üÀF•³AÀ„7pCX¹Ã¼ôÎ{Âh@t A	bˆQ <ÀA"L± "$ Âq å€Øb;Ç‘PaD$T
@4qP9Ü!±à@xä±òË		±pŸ Œá zèñ„üº¯l4K/¤„dÄ_˜ 50ÐÇO¸ÕÑ,éËP9ä u~P FHàA>4ð np–=ÑªÕñþÈh 1/ Ür  !R8‡f–
P¡ñxhÄ’ ƒRHL•qAÓ2‘pB œ8w\;¯®IÄ`È#xhLFXÐ„ÔP Æ_(¡GŸÅž„ÿÕðEe|€.ÐaØqvXä¿faÈtÙ¬`‡ó	q“ @‚	Tpj]$Ä	Aágœ02D J ƒ\	úd„&0á&˜\Š 0`  hÂ@  Œ	j €‘ÁÁð@p¦‡0ÀYÀX &dà$ð@óœ—‚¥AvÀÁp ¼À‚Nà|0ô$ƒ {	¥0p' ÆÒ‘ˆlgä[H
¦°‡@€PÀx 	ð;Y¬Û
p!€<XŒ˜Æ‰T¡XA|Ü®Ž1‚ ¨3H€Ž€¤ | ƒ$’|U˜ :ðHHŠ¡m•Ì¢Ô2)€  ;   0707010000199b000081a40000000000000002000000013d1fe2e800000195000000200000000000000000000000000000001e00000003reloc/usermin/images/lang.gif GIF89a0 0 Â  øüø   ø@øü ò) WQ«ÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊIk8gÛ´¿^p¢•b…nÏšž.Ç4=×xyç<ëô@_#(À£¦l
pÎ#3z¤QÓ«v‹m¸`m6L–zËèîï;h»Ý`^¨Ô·þPïzosqr wrJ‚o~~€v…‡qˆF“m•s£Š™}œž‘“¥†¯¤¥©vž«¡¯¹º‡ˆ©£ª ‚¼¤¹¿³}½Ÿ’^Ê—®™ÇÈÀ#^–Ñ¥ÐÓÉu‘0‰Ñv™˜†Ü‰tßÍ‡~Š…±ç‰Þ2^r³öwtñË0ÊÓîžüÕ¢·f:{Éôu›W­ ÁpRçKžÄ‡êúRøIŸµ;2¤¸QÞ>‰‡ÌBt™´‘E®ØP¥Lƒ)TŠ Ó
8úzNÁ!qº´é„£N£"•JUgÍªR¡b}  ;   0707010000199c000081a40000000000000002000000013d1fe2e800000119000000200000000000000000000000000000001e00000003reloc/usermin/images/mods.gif GIF89a0 0 ¡  ÿÿÿÈ  —  ÿ  !ù    ,    0 0  ê„©Ëí£œ´Ú‹³Þ<øÀ]Ÿ'„Ôð	ê`BÃ›®o«Œ/,Ü÷ØŽA®úJIÜ‰™€ñ‡L¢–3Ì'¼ê~I‘-›’‚AŸgK?Ieóy
ªc@ˆûËU+ã:ÇÝ'öµ#·G†ðg6–77Âd€è¶§B(EÇr y7©·‰ô˜‰B	ç´EHŠ˜4$6	ªú‡Æ4©‚»ê‰j{{˜+;ªÓk» üBÜÛp|§LüÐ<ô\l'Gíè'ý:ÑÜíK®ý­Z®š®ÙÝóGMƒk¦<_3í}oL·omî/ À4P  ;   0707010000199d000081a40000000000000002000000013d1fe2e800000189000000200000000000000000000000000000001c00000003reloc/usermin/images/os.gif   GIF89a0 0 Â  ÿÿÿÌÌÌããã™™™   fff      !ù    ,    0 0  þºÜþ0ÊI«½8ëƒç âdZešžŽêºç+ÏÝlß’ Üü<<ºà®G~¡rXt@a©l’ŽhRJ¥6±ÏèT7î
oàAVœÞæj
›-d‘r›+-Çƒiwk[en{}:Fƒjwbc‡zmpfFŽj`Qdp†Jn‘U™™vZyTžB~“S—¥w¦]©ˆª|Œia…«µ“Ÿc®°º§œ¼œ|Ÿ€£°„Ä½Ko«’ÁO[¶Å¨žÀ£¹¾‘•Ð{—tOx²”´|G³;Õç±ã¾ÈO^‚çlàØí:ç”5Úw­S/?x‡IØ¦c’&ýSxfY¼‡ôê%¬ØOpÆ_¡î-‚o‘EXµ!œÈñÁ”fJæ«ã‚"!2•YDW!NNQAøüI'‡?%qÉcq³œQó,ƒ!ßSª*bÕ°c«×¯'  ;   0707010000199e000081a40000000000000002000000013d1fe2e9000006a9000000200000000000000000000000000000002100000003reloc/usermin/images/session.gif  GIF89a0 0 ç  ÿÿÿþþþßÞî¡ Ø®¬í¯­î¦¤à¯­ï­«ì¦¤ß›Ñ¢¡Ú¬ªê­¬ì­«ë®­î®¬îääêÖÖîlj²][˜YW‘[Y•ig­ki¯ZY”‰†àON‚`^^]›VTVU›˜þœ™ÿááë×Öë‹Ï“Ùts©ŠˆÊ–”á›ê•“Ý©¦ÿš˜å›™é—•á”’Ü’ÙŒŠÎ‘Ž×§¥ûª§þª§ÿ©§ÿ¨¦ÿ©¦þ¨¦þ©§þååíäääÉÊÉÉÉÉÈÈÈÊËÊÇÈÇÈÉÈÊÊÊèéèâââÌÍÌ½¾½ÍÎÍÄÅÄÁÂÁÆÇÆÅÆÅæææßàß¨©¨ŸŸŸŠ‹ŠžŸž‰‰‰ŽŽŽ~~¤¥¤‘’‘………Ž°±°ŒŒŒ˜˜˜ˆˆˆ…†…ŒŒˆ‰ˆ†††¥¥¥‰Š‰’“’‘‘‘ŽŽ€£££‚ƒ‚|||„…„ª«ªƒ„ƒ©ª©êêêÌÎÌÃÄÃÂÃÂ»»»¾¾¾»¼»µµµ¹º¹¦§¦¾¿¾·¸·ÀÀÀµ¶µ¼½¼º»º¸¹¸¿À¿­®­áááÍÍÍÀÁÀ‹Œ‹“”“•–•›››´µ´›œ›§¨§¡¢¡™š™£¤£±±±èèèàáà³³³±²±°°°¶·¶éééâãâ»½»ËÌËÃÅÃßßßìììçççtutooolmlttt_`_hhhWWWaaaÛÛÛàààãããÎÏÎÁÃÁõõõåæåmmmsss€€€nonefez{zrsrîîîëëëÇÉÇÓÔÓÑÒÑÌÌÌ¹¶¹±¯±²°²ÈÇÈéêé»¹»±°±ÍËÍ²³²³´³}~}jkjqqq¨§¨®¯®„„„´´´áâá¯¯¯”””¨¦¨¯°¯ÄÃÄÌÊÌÍÌÍÕÖÕÔÕÔÓÓÓÖ×ÖÒÒÒÕÕÕÒÓÒÔÔÔÖÖÖÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈQ£€
8€€@0Y€@ƒZ"€ù€ÀL8€I@'O;K>ˆ a…
.`È aÃR<| "„Õ«X³^¥Êµ+U#H”0qE
+X´pñF3h¬¨±ÂFtíâ­{—.9hèøxð=|ü ¤GÅ{òÃñä>$âcÈd!B<oÂxèÒ>„)bÄÈ‘#FÈ6Ò£uíÖ±eëÖÝ#ÉnÝJzYb„	mÜMœ´~%Š”)TªX¹2K-[¸tñòL1cÈþ”)cæÌx*hÒxQ³æ	›6eÜ¼Ó:N9ræ0¡£¤Ž;Là‘GzìÁGJøñÇ€"HuÔáG{ÑÃJ$!è1ˆtgD„èVÈnFF€¬q"h€qÝf$2†"z,ÂH#R8‚Ç#D"	nDâ6	%¿éÖ#•,!Œøa‰^²Ä€È˜`âÇ]2ÂG‘Ef¢‰øµ¦$™j&é&Šl"§‘'"Af›ä©çž|ò¹GœõÁ‰ÆÁId'ž À¢Œ6ê(£Ÿ j(„Š(£RŠ)§ òÈ¡©(úè¨F
è$ªÈ‘ÄK$ÁÄþt$q[kˆŠJ*©¦Æ™É*hâ¶&‘B°"ì°Ä[¬€&§›pÊÑš³Î¾)-²€Úg"Š…àVH†tëí·à‚ÛŠ¤”râˆ¯²ýQ$“¸âî»ðÆï+’¢Š,±È2-³ÔbK‘Übë­æÊæ®œæJ rÇ˜‡â20Á¥JÚ„*oQˆ³hæ¢ËÇ ‡,²È»Hj~H <[œÓfLn¥…d«ñÊlòbóÍ¹I+©öºg/¾ô/ÀÐa´ÑKü¶s0¼öšsœÂX'L11ÅÀq'@£´Å©â§2²i>+ŒZƒL2ÊcÅ2¤0#K3_WëŒ'æLmw‘Â<SÉ%ÐT1Ò4cx3ÏÔ'(Î)vœÓP#ùäÕ´¼3(ªÄœí‰y³Ür’;ÇÁƒ5×`“6Û\ÃM6Ül³ÍêÜ\³6Ù`s5´cÓîÙèÒ7Úxó1ðÞt£ËéÖtƒM5ïüóÐG/ýôÔWoýõ ;   0707010000199f000081a40000000000000002000000013d1fe2e90000016c000000200000000000000000000000000000001d00000003reloc/usermin/images/ssl.gif  GIF89a0 0 €  ÿÿÿ™™™!þMade with GIMP !ù    ,    0 0  þD€g¸çœ`‹,¼Y©T[s^)×fuæ’a£W‚)ôI¨ÏâëÎÆ]ë¨Õ–v \$V¤)—>¦ó¹4B§Tï˜(JCÛ¤ÆÚo{a­èƒ¢^ öç]/±ì[§8¼Ì¡#7âçôç¶b£¶Öò5ö†¸ÒWUyi©Bô¥	i’Iæ§úéY7Ù‘4DdÈ7Öµ‚ç#”zRK’âR—Ó(F¦wr¥sHBg+ÄåHè)sû$Å›x,Š[ª|
ÙØ¼=ºg­œlÜÀšÑšúÐÎ)ìX9þÝ»»Ù9<¼îXÍ‡‘‹*ž"%¾òš‡KÌºR,Äµ"øÍ”4p÷$¤xiO¤2?¥ýŠ‚#ŒH~Ïò`ÇQGhóêüŽZ'vFœ…Ìâëãrmè[¶ÌŒJ 	  ;070701000019a0000081a40000000000000002000000013d1fe2e90000079a000000200000000000000000000000000000002000000003reloc/usermin/images/themes.gif   GIF89a0 0 ç  FrvòÆ*ÎÊÎ¾šRæ¾.¢¢¢êN~‚žžžÒÖÖVŽ’ššš**ÞâÞ22ö&>Bnnþîêî.NNŽ’Žæ¾2¶²þæª¦ö>>>BBö~~þžšþ&&âº6>fj––þÒ¶¶¶bRšFFöêÒz’––êîêNNNº¾º~~~ŽŽŽîòîVVöVVVjnjF:²¦ª¦jV’’ŽþZZö^ššòöòš–þ‚j‚¾Â¾ÒÒÖj®²ÊÆþ¶²®666ÞÞþz¶º^^^NNæººö®²®^^þv^ŠÂÆÂúþúv²¶ÞÖÖÎÎþ
^b^ÚÚönrnrjfââþ

:^^ÆÆÆ†Š†r²¶"66ÚÞÚffþjjj...~zþ>B>²¶²âæâ¾¾Îvzv66öRRöfjfÊÊÎªªª†††ÞÚÞÊ¦FjjþÚÒÖŠ†þ¶º¶úúþÆ¾¾JJNª¢¦vvv26þþþêâæ*FF>>öÚÖÖ²²²¢¦¢
ÆÂÆn®²fffÖÚÖšžšÊÎÊ¦¦¦‚‚þöúöÆÊÆòòöVNNæâæ>:ö>:6rrþ‚‚‚ööö::öÞÞÞ®®®¾¾¾
âÖÒÎ~z~ÎÎÎN‚†ž¢žbfbææænZŽnnnFvz..v¶¶n²¶ª¦þjfþZVö>jjJJö:::ª®ªêææÂÂÆ²¶¶ºº¾rrvššž

ÖÖÖîîîZZþÖÞâööþêÂ.ææþ’’’zvv‚~þÂÆÆÖÒÖ¦¢¦FBöŠŠŠººº†‚þâÞÞ
âÚÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡ÊâD±¢Å‹|Ä¤‡Ç Cöà40¦IzÉT0˜bÆ$S¥73tèÐˆÃÎŸ@ƒJ(3NƒŽ&±Ðñc®©$m:Ñ IL0ìäPB‹–.´¬©Qˆƒ„F…Úì¼@4æ1)X¸‚&EŠ?®\Å‰³ÅÓŠ˜$ÿiíB„5ÈlÐbd¤S.\@ZÛ“!sd ñôEÈ&'¹rí}!÷ªÀHpèâ+¤F‹ºl#¡D)xBt`û/¦ A5ûNxà';ƒ­!u{óçÎI­¡±[ pß5³kÇ$¬¢4Âþ‹O~<D½·«Ï~Óo›ïãT©’{û˜Òk¯4 Sÿõ2‡ßvÂ¨ŸLü6@%‚ôç {1ÅR‰„•,…yL(á•ì`ULéñ×_ƒîÂ`‰f·À:èàÆ!> ¡ƒ
‡|Ä$* ñ&;‚è}&^wHpþ=è[…u$YÇJ6©d%-ùØßCª7"}×	²€"MVBÌ#N*¹ 02ýÓ^M~ð æšl¶Ùæ•Ø!Ìª€)Àxây`Mnöé§šYÀQÉ˜p§-ˆ"* ¢{ÆÄ& T  ‚jÀ ›Ÿ|âfä²„-w@	‹ê©Ý!lNñ	!ðpÇþ¦`Á€TÜAwÌº&|üPI©GÌ@@'Ì`l£´y ð@HŸ0@  €’	 À&	ðáž€|€{€*¥j¶ZéŸÜ) ÐAG¶l.‘¹ KBâ
@B
òçÁlRªŠ|0Rj"ˆ0nÄ" »&»ó€ñšÄÀ¥‚ò{þææÆ·™2iÜ[{U¸)ÊÊ+÷™rÊkœ±š5k,ÊÅ~–ŒêŸ='¼3»%´ÎKÍfË*»)4Ó÷œ¦
€´P‰€ÔˆÜÅ$GÍsÓ£à4PÁ	pÃ-ÉeS}ôÙ,óÐBþ› ÁUè0È {¨P2&'£MiÍi¢à„eü’Ë/z 3ø †ŸZuÆoòä'¡C*:¬BvpÀÙŒpÍœxþÙ&ÀèÑ€|¡@Áì6ÓWèý¸ŸÒ@’(0BÎGôÁ§Ù^ ¿‰E¤²ÇP%¸Ù·ÐÀ	,<Þ€' D'$ïžÝNïNµ÷ß°*
œáÆn ÏžÒì3ß¦<@à!	$°`ßk@ôCÕ¹ÏMc$1|!#€Â&` ¿ào~ÂXÍÔ–ÀáéFNDø£åílMøÂ!Šp‚^AvƒØ„í’·ƒCè.„ix 
Fpª|AÃ“ÊQ²€eTSãdH¾^H¢(Bvˆº¾„l"!àÆw=8¡*ÚÉÀ(Bª	›˜à,(‰/<à0øBòáÅÕý	€†0ÄPIB`J ;  070701000019a1000081a40000000000000002000000013d1fe2e900000616000000200000000000000000000000000000001c00000003reloc/usermin/images/ui.gif   GIF89a0 0 ç  „‚„ÄÂ¼DBDœ¢´Üâädbdœ¢Ü¬²¼ÌÒÜ„†Ì$"$tv´”’”DFälrt¤¢¼ÄÂô´ºÄTRTôòôÔÒô424ÄÊÌŒŽ¼¤ª´”š¤ŒŠ„ìêì¬²Ä|~¬ÜÚÜ|z|¼ÂÌdf¬TVŒ<:<DFt¤¢¤ljl´²ôÔÒÌœžÔ,*,”’´\Z\„Š”
LJLäâü´²´trÜ”–¤trt¤ª¼¼º¼ÜÚä¤¦´ÔÒÜäâä¬ªüŒŠä$"<”–”üúü42TÌÊÌ¬ª¬œšœìîì´²ÄÄÂÌ¤¦¤´¶´tv„¬ª¼¼¾ÌÜÚô„†”ÄÆÄdfd¤¦Ô$&$|~´\ZÜÌÎäTVT464ŒŽŒ|~|<><lnlÔÖÔ\^\ŒŽ”LNLtvt¼¾¼ÜÞääæäÌÎÌ¬®¬œž¬´¶ÄÄÆÌ¬ªÌ„†„ÄÂÄDFDdblŒŠÔtvÄ”’œÄÆüôöôŒŠŒìêôÜÞÜ<:D¤¢¬¼¾ÜÔÒÔœšüTVôtrôŒŽô,.,ÔÖÜüþüœžœ¬®¼´²¼ÜÚì”–œìîô¤¦¬´¶¼¤¦Ü$&,TV\46<|~„lnt\^dŒŽœLNTtv|¼¾ÄäæìÌÎÔ¬®´´¶Ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	Hp   
äò ˜„)(œHÑà	#\2]úÇ€›.þý	`Œ—% ²aTÈ›—Å(hPEoþYMCˆý[ ° "º @1ÐhÁH>|Ìˆt³êD V³jÝÊµ«×¯`oöh:6,X)ÿ
H)"EJ[¶˜K—+…;xóêÝË·¯ß¿y‡h A€‘¸±ãÇ€*Œ aøpcÄ€ Aç°‰;FB‡^bd	i#Œ¤YÍºukCF¥Ncº4é%P—}çÄ	Dh‚GSäD&8 âpðáh:=‡>\Ã›áˆ(/BpîÁ9þß^¤|ùæ¹§7ÿ¨¼ð"Àwo~|÷èä×›× ŸøíÁÕ‡Æ	jä‘Ü	oä‘Ç}gÜ à7xáEzháE€hDqGXèWE`Ð!ˆv¨_šÈ¡‡w( @
üà^yäH‚EäQÄÑÃˆ RD5Bg¡}yl¨^~=ª·¤{¬ÇdüQxG5üPƒØG_2ÁD“å0æ˜Å! BšÇ+€RD €à—Ü©1&yï×ˆ, …lÈÄÐC'=ôpFtrÆŽž!i“Búè¥`é¥›öP€! Nzå}hxqC.Ô'%xã=¼1aÃáÂpÜI¼öêkOü*l¯=ä Á°½" ,?PGr. ÇA7ˆ7(wä¡†Ð¹‡Æ#Óš÷†’×:kß¹Ã¡' |ÜAk‹úuk×ÖwÆ}ò¹ ðšK"r¤Žý•yÀy8hm€FL+\®€ÝAÁ]ó5ñÄ×5—IxàAÇT1^t‰E04Iÿl1Vh-ÿSÚFŠ'ç¬óÎÁ!‚>ýsÐDm´ÐHôÑAËÌ3WFe1CTTûðôÕXg­õÖ\wíõ×`‡-6× ;  070701000019a2000081a40000000000000002000000013d1fe2e9000000b8000000200000000000000000000000000000002100000003reloc/usermin/images/upgrade.gif  GIF89a0 0 ¡  øüø   ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,    0 0  w„©Ëí£”!ÌK«Å|iÝ…Æ÷‰IšŠªËºË
MÛŽë</ûýTB¡¨Xì ‘˜årå|¾¢Î•:»boÚëq¨ó€Ã	#¹<>Òj³z|Ã{r€û}o³ÏyþžÜøH8èshSˆ'·¨˜YG)W  ;070701000019a3000081a40000000000000002000000013d1fe2e900000186000000200000000000000000000000000000001f00000003reloc/usermin/images/users.gif    GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  070701000003ba000081e40000000000000002000000013d1fe2e900000b0a000000200000000000000000000000000000001800000003reloc/usermin/index.cgi   #!/usr/local/bin/perl
# index.cgi
# Display usermin configuration categories

require './usermin-lib.pl';

if (!-r "$config{'usermin_dir'}/miniserv.conf") {
	&header($text{'index_title'}, "", undef, 1, 1);
	print "<hr>\n";
	print "<p>",&text('index_econfig', "<tt>$config{'usermin_dir'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("usermin", "google"), undef, undef,
	&text('index_version', &get_usermin_version()));
print "<hr>\n";

@links = ( "edit_access.cgi", "edit_bind.cgi", "edit_ui.cgi", "edit_mods.cgi",
	   "edit_os.cgi", "edit_lang.cgi", "edit_upgrade.cgi",
	   "edit_session.cgi", "edit_assignment.cgi", "edit_categories.cgi",
	   "edit_themes.cgi", "edit_ssl.cgi", "edit_configs.cgi",
	   "edit_acl.cgi", "edit_users.cgi", "edit_defacl.cgi" );
@titles = map { /_(\S+).cgi/; $text{"${1}_title"} } @links;
@icons = map { /_(\S+).cgi/; "images/$1.gif" } @links;
&icons_table(\@links, \@titles, \@icons);

print "<hr>\n";
print "<table width=100%><tr>\n";
&get_usermin_miniserv_config(\%miniserv);
if (open(PID, $miniserv{'pidfile'}) && ($pid = int(<PID>)) && kill(0, $pid)) {
	close(PID);
	print "<form action=stop.cgi>\n";
	print "<td><input type=submit value='$text{'index_stop'}'></td>\n";
	print "<td>$text{'index_stopmsg'}</td></form>\n";
	}
else {
	print "<form action=start.cgi>\n";
	print "<td><input type=submit value='$text{'index_start'}'></td>\n";
	print "<td>$text{'index_startmsg'}</td></form>\n";
	}
print "</tr></table>\n";

if (&foreign_check("init") && (%iconfig = &foreign_config("init")) &&
    $iconfig{'init_dir'}) {
	print "<table width=100%><tr>\n";
	&foreign_require("init", "init-lib.pl");
	foreach $a (&init::list_actions()) {
		local @a = split(/\s+/, $a);
		if ($a[0] eq "usermin") {
			$exists++;
			local @boot = &init::get_inittab_runlevel();
			foreach $s (&init::action_levels("S", $a[0])) {
				local ($l, $p) = split(/\s+/, $s);
				$starting++ if (&indexof($l, @boot) >= 0);
				}
			}
		}
	if ($starting && $iconfig{'daemons_dir'} &&
	    &read_env_file("$iconfig{'daemons_dir'}/usermin", \%daemon)) {
		$starting = lc($daemon{'ONBOOT'}) eq 'yes' ? 1 : 0;
		}

	print "<form action=bootup.cgi>\n";
	print "<input type=hidden name=exists value='$exists'>\n";
	print "<input type=hidden name=starting value='$starting'>\n";
	print "<td nowrap><input type=submit value='$text{'index_boot'}'>\n";
	printf "<input type=radio name=boot value=1 %s> %s\n",
		$starting ? "checked" : "", $text{'yes'};
	printf "<input type=radio name=boot value=0 %s> %s</td>\n",
		$starting ? "" : "checked", $text{'no'};
	print "<td>$text{'index_bootmsg'}</td>\n";
	print "</form></tr></table>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});
  070701000003bb000081e40000000000000002000000013d1fe2e90000098c000000200000000000000000000000000000001e00000003reloc/usermin/install_mod.cgi #!/usr/local/bin/perl
# install_mod.cgi
# Download and install a usermin module

require './usermin-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }

$| = 1;
$theme_no_table = 1 if ($in{'source'} == 2);
&header($text{'install_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('install_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'install_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'install_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'install_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# from ftp or http url
	&error_setup(&text('install_err3', $in{'url'}));
	$file = &tempname();
	$need_unlink = 1;
	local $error;
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $file, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?\/(.*)$/) {
		$host = $1; $ffile = $3;
		&ftp_download($host, $ffile, $file, \$error, \&progress_callback);
		}
	else { &inst_error($text{'install_eurl'}); }
	&inst_error($error) if ($error);
	}

# Install the module(s)
&install_usermin_module($file, $need_unlink, \@mdescs, \@mdirs,
		        \@msizes, $in{'nodeps'});

# Display something nice for the user
print "$text{'install_desc'} <p>\n";
print "<ul>\n";
for($i=0; $i<@mdescs; $i++) {
	$mdirs[$i] =~ /\/([^\/]+)$/;
	if (%minfo = &get_usermin_module_info($1)) {
		# Installed a module
		local $cat = $text{"category_".$minfo{'category'}};
		$cat = $text{"category_"} if (!$cat);
		print &text('install_line2', "<b>$mdescs[$i]</b>",
			    "<tt>$mdirs[$i]</tt>", $msizes[$i], $cat),
			    "<br>\n";
		}
	elsif (%tinfo = &get_usermin_theme_info($1)) {
		# Installed a theme
		print &text('themes_line', "<b>$mdescs[$i]</b>",
			    "<tt>$mdirs[$i]</tt>", $msizes[$i]),
			    "<br>\n";
		}
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
if ($need_unlink) { unlink($file); }
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

070701000003bc000081e40000000000000002000000013d1fe2e9000007d4000000200000000000000000000000000000002000000003reloc/usermin/install_theme.cgi   #!/usr/local/bin/perl
# install_theme.cgi
# Download and install a usermin theme

require './usermin-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }

$| = 1;
$theme_no_table = 1 if ($in{'source'} == 2);
&header($text{'install_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('themes_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'themes_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'themes_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'themes_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# from ftp or http url
	&error_setup(&text('themes_err3', $in{'url'}));
	$file = &tempname();
	$need_unlink = 1;
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $file, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?\/(.*)$/) {
		$host = $1; $ffile = $3;
		&ftp_download($host, $ffile, $file, \$error,
			      \&progress_callback);
		}
	else { &inst_error($text{'themes_eurl'}); }
	&inst_error($error) if ($error);
	}

# Install the theme(s)
&install_usermin_module($file, $need_unlink, \@mdescs, \@mdirs, \@msizes);

# Display something nice for the user
print "$text{'themes_done'} <p>\n";
print "<ul>\n";
for($i=0; $i<@mdescs; $i++) {
	print &text('themes_line', "<b>$mdescs[$i]</b>",
		    "<tt>$mdirs[$i]</tt>", $msizes[$i]),"<p>\n";
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
if ($need_unlink) { unlink($file); }
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

070701000031b3000041ed0000000000000001000000023d1ffba100000000000000200000000000000000000000000000001300000003reloc/usermin/lang    070701000031b4000081a40000000000000002000000013d1fe2e800003e63000000200000000000000000000000000000001600000003reloc/usermin/lang/ca index_title=Configuració d'Usermin
index_econfig=No s'ha trobat al sistema el directori de configuració $1 d'Usermin. Pot ser que Usermin no estigui instal·lat, o bé que la <a href='$2'>configuració del mòdul</a> sigui incorrecta.
index_return=a la configuració d'Usermin
index_stop=Atura Usermin
index_stopmsg=Fes clic sobre aquest botó per aturar el servidor Usermin en execució al sistema. Un cop aturat, no s'hi podrà connectar cap usuari.
index_start=Inicia Usermin
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor Usermin al sistema. Fins que no estigui engegat, els usuaris no s'hi podran connectar.
index_version=Versió Usermin $1
index_boot=Inicia en engegar el sistema
index_bootmsg=Canvia aquesta opció per controlar si Usermin s'inicia en engegar el sistema o no. Si actualemnt no s'inicia en engegar el sistema i tries Sí, es crearà un nou script init

access_title=Control d'Accés IP
access_desc=Amb aquest formulari, el servidor Usermin pot configurar-se per a permetre o denegar l'accés només des de certes adreces IP. Es poden introduir també noms de host (com ara foo.bar.com) i xarxes IP (com 10.254.3.0 o 10.254.1.0/255.255.255.128). Hauries de limitar l'accés al servidor a les adreces fiables, sobretot si és accessible des d'Internet. Altrament, algú que endevini la teva contrasenya tindrà el control complet del sistema.
access_header=Control d'Accés
access_all=Permet des de totes les adreces
access_allow=Permet només des de les adreces llistades
access_deny=Denega des de les adreces llistades
access_libwrap=Comprova també els fitxers d'embolcall TCP <tt>hosts.allow</tt> i <tt>hosts.deny</tt>
access_err=No he pogut actualitzar la llista d'accés
access_enone=No has introduït cap adreça
access_enet='$1' no és una adreça de xarxa vàlida
access_emask='$1' no és una màscara de subxarxa vàlida
access_eip='$1' no és una adreça completa IP ni de xarxa
access_ehost=No he pogut trobar l'adreça IP de '$1'
access_eself=La teva adreça IP actual ($1) quedaria denegada

bind_title=Port i Adreça
bind_desc=Si el host on s'està executant Usermin té múltiples adreces IP, amb aquest formulari es pot configurar el servidor per escoltar-ne només una. També s'hi pot configurar el port escoltat per Usermin. Nota - pot ser que el teu navegador web et torni a demanar altre cop la contrasenya després de canviar el port o l'adreça.
bind_header=Adreça IP i Port
bind_ip=Escolta l'Adreça IP
bind_all=Totes
bind_port=Escolta el Port
bind_err=No he pogut canviar l'adreça
bind_eip=No he pogut trobar l'adreça IP de '$1'
bind_eassign=L'adreça '$1' no està assignada a aquest sistema
bind_eport=El port $1 ja està en ús

mods_title=Mòduls Usermin
mods_desc1=Es poden afegir mòduls Usermin després de la instal·lació utilitzant el formulari de la dreta. Els mòduls es distribueixen típicament en fitxers <tt>.wbm</tt>, cadascun dels quals pot contenir un o més mòduls. Els mòduls també es poden instal·lar des de fixers RPM, si estan suportats pel sistema operatiu.
mods_install=Instal·la un Mòdul
mods_local=Des d'un fitxer local
mods_uploaded=Des d'un fitxer pujat
mods_ftp=Des d'un URL FTP o HTTP
mods_nodeps=Ignora les dependències del mòdul en instal·lar-lo
mods_installok=Instal·la el Mòdul des de Fitxer
mods_desc3=Es poden suprimir els mòduls existents utilitzant el formulari de sota. Un cop s'ha suprimit un mòdul, s'ha de reinstal·lar per poder-lo tornar a fer servir. No es pot suprimir un mòdul si altres mòduls en depenen.
mods_delete=Suprimeix Mòduls
mods_deleteok=Suprimeix els Mòduls Seleccionats

os_title=Sistema Operatiu
os_desc=Aquest formulari permet canviar el sistema operatiu com Usermin tracta el teu sistema. Això pot ser útil si has actualitzat la versió del sistema operatiu de la teva màquina. Tingues en compte que no es canviarà la configuració dels mòduls instal·lats, fins i tot si hi ha diferències entre el sistema nou i el vell.
os_desc2=També pots canviar el camí de recerca que fa servir Webmin quan executa programes, i la llibreria compartida que es passa a tots els programes.
os_header=Sistema Operatiu Hoste
os_curros=Sistema operatiu actual
os_currver=Versió actual del SO
os_new=Nou sistema operatiu
os_path=Camí de recerca de programes
os_ld_path=Camí de recerca de llibreries

lang_title=Idioma
lang_title2=Idioma d'Usermin
lang_lang=Mostra en l'idioma
lang_intro=Aquesta pàgina permet canviar amb quin idioma Usermin mostrarà els títols, prompts i missatges
lang_ok=Canvia l'Idioma

session_title=Autenticació
session_desc1=Quan està activat, el límit de temps de contrasenya protegeix el servidor Usermin dels atacs de saqueig de contrasenyes per la força bruta afegint un interval creixent entre cada intent fallit de connexió per al mateix usuari.
session_desc2=Quan l'autenticació de sessió està activada, la sessió de cada usuari serà monitoritzada per Usermin, de manera que sigui possible d'expulsar usuaris inactius automàticament. Tingues en compte que activar o desactivar l'autenticació de sessió pot forçar tots els usuaris a tornar-se a connectar.
session_header=Opcions d'autenticació i sessió
session_pdisable=Desactiva el temps límit de contrasenya
session_penable=Activa el temps límit de contrasenya
session_blockhost=Bloqueja els hosts amb més de $1 connexions fallides durant $2 segons.
session_syslog2=Enregistra els hosts bloquejats, connexions fallides i autenticacions fallides a <tt>syslog</tt>
session_disable=Desactiva l'autenticació de sessió
session_enable=Activa l'autenticació de sessió
session_localoff=Demana sempre nom d'usuari i contrasenya
session_localon=Permet l'entrada sense contrasenya dels usuaris que coincideixin amb els dels host local
session_logout=Expulsa automàticament després de $1 minuts d'inactivitat
session_locking=Activa el bloqueig d'Usermin
session_err=No he pogut desar l'autenticació
session_elogouttime=Hi falta el temps d'expulsió o bé és invàlid
session_eblockhost_time=Hi falta el temps de bloqueig o bé és invàlid
session_eblockhost_failures=Hi falten les connexions a bloquejar o bé són incorrectes
session_ecookie=El teu navegador no suporta galetes, que són necessàries per a l'autenticació de sessió
session_elsof=L'autenticació local necessita el programa <tt>lsof</tt>
session_remember=Ofereix-te a recordar la contrasenya de forma permanent
session_hostname=Mostra el nom de host a la pantalla de connexió
session_pamon=Fes servir PAM per a autenticació Unix, si està disponible
session_pamoff=No facis servir mai PAM per a autenticació Unix
session_pfile=Si PAM no està disponible o està desactivat, llegeix els usuaris i les contrasenyes del fitxer $1 columnes $2 i $3
session_epasswd_file=Fitxer d'usuaris Unix invàlid
session_epasswd_uindex=Hi falta l'índex de l'usuari Unix o bé és invàlid
session_epasswd_pindex=Hi falta l'índex de la contrasenya Unix o bé és invàlida

themes_title=Temes d'Usermin
themes_desc=Els temes controlen l'apariència de la interfície d'usuari d'Usermin, incloent-hi les icones, colors, fons, i possiblement la disposició de les pàgines. Es pot fer servir la caixa de selecció de sota per triar un dels temes instal·lats al sistema que sigui el tema per defecte dels usuaris d'Usermin.
themes_sel=Tema actual:
themes_default=Tema d'Usermin per defecte
themes_change=Canvia'l
themes_installdesc=Fes servir el formulari de sota per instal·lar un nou tema d'Usermin al sistema. Els temes es distribueixen típicament amb fitxers <tt>.wbt</tt>, però també es poden instal·lar des de fitxers RPM si estan suportats pel sistema.
themes_installok=Instal·la un Tema
themes_err1=No he pogut instal·lar el tema de $1
themes_efile=El fitxer no existeix
themes_err2=No he pogut instal·lar el tema pujat
themes_ebrowser=El teu navegador no suporta pujes de fitxers
themes_err3=No he pogut instal·lar el tema de $1
themes_eurl=URL invàlid
themes_etar=No és un fitxer de tema vàlid: $1
themes_einfo=Al tema $1 li falta un fitxer theme.info
themes_enone=No sembla que el fitxer contingui cap tema
themes_eextract=L'extracció ha fallat: $1
themes_done=S'han instal·lat amb èxit els següents temes:
themes_line=$1 a $2 ($3 Kb)
themes_ecomp=El fitxer està comprimit, però no s'ha trobat l'ordre $1 al sistema
themes_ecomp2=No he pogut descomprimir el fitxer: $1
themes_egzip=El fitxer està comprimit amb gzip, però no s'ha trobat l'ordre $1 al sistema
themes_egzip2=No he pogut descomprimir el fitxer amb gzip: $1
themes_erpm=No és un RPM de tema Webmin
themes_eirpm=La instal·lació RPM ha fallat: $1
themes_ok=El tema s'ha canviat amb èxit... redireccionant a la pàgina d'índex de Webmin.
themes_delete=Pots fer servir aquest formulari per suprimir un dels temes instal·lats al sistema que actualment no s'utilitzi.
themes_delok=Tema a suprimir:



configs_title=Configuració del Mòdul Usermin
configs_mod=Edita la configuració del mòdul:
configs_uheader=COnfiguració d'usuari per defecte de $1

acl_title=Mòduls Disponibles
acl_desc=Fes servir aquesta pàgina per seleccionar quins mòduls instal·lats d'Usermin poden veure els usuaris.

ssl_title=Xifratge SSL
ssl_essl=Sembla que el mòdul perl Net::SSLeay no està instal·lat al sistema. Per instal·lar la llibreria OpenSSL i Net::SSLeay, segueix <a href='$1'>aquestes instruccions</a> del lloc Web de Webmin.
ssl_desc1=No sembla que el host on s'està executant Usermin tingui instal·lat el mòdul perl SSLeay. Amb això, Usermin suporta comunicació xifrada SSL entre el navegador i el servidor. Si els usuaris accedeixen al servidor Usermin a través d'Internet, llavors has de considerar seriosament fer servir SSL per evitar que un atacant els prengui les contrasenyes.
ssl_header=Suport de SSL
ssl_enable=Activa el suport de SSL, si està disponible
ssl_disable=Desactiva el suport de SSL, encara que estigui disponible

stop_err=No he pogut aturar Usermin
stop_ekill=No he pogut matar el procés: $1
stop_efile=Ja està aturat

start_err=No he pogut iniciar Usermin

users_title=Usuaris i Grups Permesos
users_desc=Amb aquest formulari es pot configurar Usermin per limitar quins usuaris i grups Unix tenen l'entrada permesa. Per especificar tots els membres primaris d'un grup Unix, introdueix <tt>@nomdelgrup</tt> a la llista.
users_header=Control d'accés Usermin
users_all=Permet tots els usuaris
users_allow=Permet només els usuaris llistats
users_deny=Denega els usuaris llistats
users_err=No he pogut actualitzar la llista d'usuaris
users_none=No has introduït cap usuari
users_euser='$1' no és un nom d'usuari vàlid
users_egroup='$1' no és un nom de grup vàlid
users_eversion=El control d'accés d'usuaris i grups només està suportat per les versions 0.76 de Usermin i superiors.

defacl_title=Opcions de Control d'Accés
defacl_desc=Aquesta pàgina permet configurar diverses opcions de control d'accés que s'apliquen als mòduls i usuaris de Usermin. Aquestes opcions són semblants a les de'ACL globals per a cada usuari del mòdul d'usuaris de Webmin.
defacl_header=Opcions de control d'accés del usuaris Usermin
defacl_eversion=L'edició d'opcions de control d'accés només està suportada per les version 0.76 de Usermin i superiors.
defacl_err=NO he pogut desar les opcions de control d'accés
 
install_err1=No he pogut instal·lar el mòdul de $1
install_efile=El fitxer no existeix
install_err2=No he pogut instal·lar el mòdul pujat
install_ebrowser=El teu navegador no suporta puges de fitxers
install_err3=iNo he pogut instal·lar el mòdul de $1
install_eurl=URL invàlid
install_etar=No és un fitxer de mòdul vàlid: $1
install_einfo=Al mòdul $1 li falta un fitxer a module.info
install_enone=No sembla que el fitxer contingui cap mòdul
install_eos=El mòdul $1 no suporta aquest sistema operatiu ($2 $3)
install_eusermin=El mòdul $1 és de Webmin, no de Usermin
install_ever=El mòdul $1 requereix la versió $2 de Usermin o superior
install_edep=El mòdul $1 requereix el mòdul $2
install_eperldep=El mòdul $1 requereix el mòodul Perl $2.<br>No obstant, pots fer que Webmin <a href='$3'>el descarregui i l'instal·li</a> per tu.
install_eextract=L'extracció ha fallat: $1
install_title=Mòdul d'Instal·lació
install_desc=S'han instal·lat i afegit amb èxit a la llista de control d'accés de tots els usuaris els mòduls següents:
install_line2=$1 a $2 ($3 Kb) de la categoria $4
install_ecomp=El fitxer està comprimit, però no s'ha trobat al sistema l'ordre $1
install_ecomp2=No he pogut descomprimir el fitxer: $1
install_egzip=El fitxer està comprimit amb gzip, però no s'ha trobat al sistema l'ordre $1
install_egzip2=No he pogut descomprimir el fitxer amb gunzip: $1
install_erpm=No és cap RPM de mòdul ni tema Usermin
install_eirpm=La instal·lació RPM ha fallat: $1
install_cat=De la categoria $1.
install_eneither=El RPM no conté cap mòdul ni cap tema Usermin
 
delete_err=No he pogut suprimir els mòduls
delete_edep=El mòdul $1 no es pot suprimir perquè el mòdul $2 en depèn
delete_desc1=$1 (Clon de $2)
delete_desc2=$1 a $2 ($3 kB)
delete_title=Suprimeix Mòduls
delete_msg=S'han suprimit amb èxit de la isntal·lació Usermin els mòduls següents:
delete_rusure=Segur que vols suprimir el(s) mòdul(s) $2? S'esborraran per sempre $1 Kb de fitxers.
delete_rusure2=Segur que vols suprimir el tema $2? S'esborraran per sempre $1 Kb de fitxers.

ui_title=Interfície d'Usuari
ui_desc=Aquest formulari permet editar les opcions de la interfície d'usuari utilitzades per tots els mòduls d'Usermin.
ui_header=Opcions d'Interfície d'Usuari
ui_default=Defecte
cs_page=Fons de la pàgina
cs_text=Text normal
cs_table=Fons de les taules
cs_header=Capçalera de les taules
cs_link=Text dels enllaços
ui_texttitles=Mostra els títol com a text
ui_sysinfo=Mostra el nom del host i l'usuari
ui_sysinfo0=Al peu del navegador
ui_sysinfo1=Al títol del navegador
ui_sysinfo2=Sobre la capçalera de la pàgina
ui_sysinfo3=Enlloc
ui_err=No he pogut desar els colors
ui_ered=Valor de vermell de '$1' invàlid
ui_egreen=Valor de verd de '$1' invàlid
ui_eblue=Valor de blau de '$1' invàlid
ui_feedback=Envia opinions a

upgrade_title=Actualització d'Usermin
upgrade_desc=Aquest formulari permet actualitzar tota la instal·lació Usermin a una versió nova. Pots instal·lar-la des d'un fitxer local, un fitxer pujat o des de la versió més actual a <a href=http://www.usermin.com/>www.usermin.com</a>. Igual que amb una actualització manual, es conservaran totes les configuracions i mòduls de tercers.
upgrade_descrpm=Aquest formulari permet actualitzar tota la instal·lació Usermin a una versió nova utilitzant l'opció d'actualització RPM. Pots instal·lar-la des d'un fitxer local, un fitxer pujat o des de la versió més actual a <a href=http://www.usermin.com/>www.usermin.com</a>. Igual que amb una actualització manual, es conservaran totes les configuracions i mòduls de tercers.
upgrade_local=Des d'un fitxer local
upgrade_uploaded=Des d'un fitxer pujat
upgrade_ftp=Versió més actual de www.usermin.com
upgrade_delete=Esborra el directori de la versió antiga abans d'actualitzar
upgrade_ok=Actualitza Usermin
upgrade_err1=No he pogut actualitzar des de $1
upgrade_err2=No he pogut actualitzar des del fitxer pujat
upgrade_err3=No he pogut actualitzar des de www.usermin.com
upgrade_efile=El fitxer no existeix
upgrade_ebrowser=El teu navegador no suporta puges de fitxers
upgrade_eversion=No puc desactualitzar a la versió $1
upgrade_elatest=Ja estàs executant la versió més actual d'Usermin
upgrade_erpm=No és un fitxer RPM de Webmin vàlid
upgrade_egunzip=El sistema no té l'ordre <tt>gunzip</tt>
upgrade_egzip=No he pogut descomprimir el fitxer amb <tt>gunzip</tt>: $1
upgrade_etar=No és un fitxer tar d'Usermin vàlid
upgrade_euntar=No he pogut desempaquetar el fitxer amb <tt>tar</tt>: $1
upgrade_emod=El fitxer és un mòdul d'Usermin, no una actualització completa d'Usermin. Per instal·lar-lo, convé que facis servir la pàgina <a href='$1'>Mòduls d'Usermin</a>.
upgrade_ewebmin=El fitxer és la versó $1 de Webmin, no una actualització d'Usermin.
upgrade_setup=Actualitzant Usermin amb l'ordre $1...
upgrade_done=...actualització completa.
upgrade_failed=...l'actualització ha fallat!
 070701000031b5000081a40000000000000002000000013d1fe2e800004044000000200000000000000000000000000000001600000003reloc/usermin/lang/en index_title=Usermin Configuration
index_econfig=The Usermin config directory $1 was not found on your system. Maybe Usermin is not installed, or your <a href='$2'>module configuration</a> is incorrect.
index_return=Usermin configuration
index_stop=Stop Usermin
index_stopmsg=Click this button to stop the Usermin server running on your system. Once stopped, no users will be able to login to it.
index_start=Start Usermin
index_startmsg=Click this button to start the Usermin server on your system. Until it is started, users will not be able to login.
index_version=Usermin version $1
index_boot=Start at boot time
index_bootmsg=Change this option to control whether Usermin is started at boot time or not. If it is not currently started at boot and Yes is chosen, a new init script will be created.

access_title=IP Access Control
access_desc=The Usermin server can be configured to deny or allow access only from certain IP addresses using this form. Hostnames (like foo.bar.com) and IP networks (like 10.254.3.0 or 10.254.1.0/255.255.255.128) can also be entered. You should limit access to your server to trusted addresses, especially if it is accessible from the Internet. Otherwise, anyone who guesses your password will have complete control of your system.
access_header=Access Control
access_all=Allow from all addresses
access_allow=Only allow from listed addresses
access_deny=Deny from listed addresses
access_libwrap=Also check TCP-wrappers <tt>hosts.allow</tt> and <tt>hosts.deny</tt> files?
access_err=Failed to update access list
access_enone=No addresses entered
access_enet='$1' is not a valid network address
access_emask='$1' is not a valid netmask
access_eip='$1' is not a complete IP or network address
access_ehost=Failed to find IP address for '$1'
access_eself=Your current IP address ($1) would be denied
access_always=Resolve hostnames on every request

bind_title=Port and Address
bind_desc=If the host on which Usermin is running has multiple IP addresses, the server can be configured to listen on only one address using this form. The TCP port on which Usermin listens can also be configured here. Note - your web browser may prompt you to log in again after changing the port or binding address.
bind_header=IP Address and Port
bind_ip=Listen on IP Address
bind_all=All
bind_port=Listen on Port
bind_err=Failed to change address
bind_eip=Failed to get IP address for '$1'
bind_eassign=The address '$1' is not assigned to this system
bind_eport=Port $1 is already in use

mods_title=Usermin Modules
mods_desc1=Usermin modules can be added after installation by using the form to the right. Modules are typically distributed in <tt>.wbm</tt> files, each of which can contain one or more modules. Modules can also be installed from RPM files if supported by your operating system.
mods_install=Install Module
mods_local=From local file
mods_uploaded=From uploaded file
mods_ftp=From ftp or http URL
mods_nodeps=Ignore module dependencies when installing
mods_installok=Install Module From File
mods_desc3=Existing modules can be deleted using the form below. Once a module has been deleted it must be reinstalled before you can use it again. A module cannot be deleted if other modules depend on it.
mods_delete=Delete Modules
mods_deleteok=Delete Selected Modules

os_title=Operating System
os_desc=This form allows you to change the operating system Usermin treats your system as. This can be useful if you have upgraded your machine to a new version of your operating system distribution. Note that the configuration of installed modules will not be changed, even if there are differences between the old and new systems.
os_desc2=You can also change the search path used by Usermin when running programs, and the shared library path passed to any programs.
os_header=Host Operating System
os_curros=Current operating system
os_currver=Current OS version
os_new=New operating system
os_path=Program search path
os_ld_path=Library search path

lang_title=Language
lang_title2=Usermin Language
lang_lang=Display in language
lang_intro=This page allows you to choose which language Usermin will use for displaying titles, prompts and messages
lang_ok=Change Language

session_title=Authentication
session_desc1=When enabled, password timeouts protect your Usermin server from brute-force password cracking attacks by adding a continuously expanding delay between each failed login attempt for the same user.
session_desc2=When session authentication is enabled, each logged in users' session will be tracked by Usermin, making it possible for idle users to be automatically logged out. Be aware that enabling or disabling session authentication may force all users to re-login.
session_header=Authentication and session options
session_pdisable=Disable password timeouts
session_penable=Enable password timeouts
session_blockhost=Block hosts with more than $1 failed logins for $2 seconds.
session_syslog2=Log blocked hosts, logins and authentication failures to <tt>syslog</tt>
session_disable=Disable session authentication
session_enable=Enable session authentication
session_localoff=Always require username and password
session_localon=Allow login without password for matching users from localhost
session_logout=Auto-logout after $1 minutes of inactivity
session_locking=Enable locking in Usermin
session_err=Failed to save authentication
session_elogouttime=Missing or invalid logout time
session_eblockhost_time=Missing or invalid blocking time
session_eblockhost_failures=Missing or invalid blocking logins
session_ecookie=Your browser does not support cookies, which are required for session authentication
session_elsof=Local authentication requires the <tt>lsof</tt> program
session_remember=Offer to remember login permanently?
session_hostname=Show hostname on login screen?
session_pamon=Use PAM for Unix authentication, if available
session_pamoff=Never use PAM for Unix authentication
session_pfile=If PAM is unavailable or disabled, read users and passwords from file $1 columns $2 and $3
session_epasswd_file=Invalid unix users file
session_epasswd_uindex=Missing or invalid unix username index
session_epasswd_pindex=Missing or invalid unix password index
session_banner1=No pre-login page
session_banner0=Show pre-login file
session_ebanner=Missing or invalid pre-login file

themes_title=Usermin Themes
themes_desc=Themes control the appearance of the Usermin user interface, including icons, colours, backgrounds and possibly the layout of pages. The selection box below can be used to choose one of the themes installed on your system that will be the default for Usermin users.
themes_sel=Current theme :
themes_default=Default Usermin theme
themes_change=Change
themes_installdesc=Use the form below to install a new Usermin theme on your system. Themes are typically distributed in <tt>.wbt</tt> files, but can also be installed from RPM files if supported by your operating system.
themes_installok=Install Theme
themes_err1=Failed to install theme from $1
themes_efile=File does not exist
themes_err2=Failed to install uploaded theme
themes_ebrowser=Your browser does not support file uploads
themes_err3=Failed to install theme from $1
themes_eurl=Invalid URL
themes_etar=Not a valid theme file : $1
themes_einfo=Theme $1 is missing a theme.info file
themes_enone=File does not appear to contain any themes
themes_eextract=Extract failed : $1
themes_done=The following themes have been successfully installed on your system :
themes_line=$1 in $2 ($3 kB)
themes_ecomp=File is compressed, but the $1 command was not found on your system
themes_ecomp2=Failed to uncompress file : $1
themes_egzip=File is gzipped, but the $1 command was not found on your system
themes_egzip2=Failed to gunzip file : $1
themes_erpm=Not a Webmin theme RPM
themes_eirpm=RPM install failed : $1
themes_ok=Theme changed successfully .. redirecting to the Webmin index page.
themes_delete=This form can be used to delete one of the themes installed on your system that is not currently in use.
themes_delok=Theme to delete :



configs_title=Usermin Module Configuration
configs_mod=Edit config for module:
configs_uheader=Default user configuration for $1

acl_title=Available Modules
acl_desc=Use this page to select which installed Usermin modules are visible to users.

ssl_title=SSL Encryption
ssl_essl=The Net::SSLeay perl module does not appear to be installed on your system. To install the OpenSSL library and Net::SSLeay, follow <a href='$1'>these instructions</a> from the Webmin website.
ssl_desc1=The host on which Usermin is running appears to have the SSLeay Perl module installed. Using this, Usermin supports SSL encrypted communication between your browser and the server. If users are accessing your Usermin server over the Internet, then you should definately consider using SSL to prevent an attacker capturing their passwords.
ssl_header=SSL Support
ssl_enable=Enable SSL support, if available
ssl_disable=Disable SSL support, even if available

stop_err=Failed to stop Usermin
stop_ekill=Failed to kill process : $1
stop_efile=Already stopped

start_err=Failed to start Usermin

users_title=Allowed Users and Groups
users_desc=Usermin can be configured to limit which unix users and groups are allowed to login, using this form. To specify all primary members of a unix group, enter <tt>@groupname</tt> into the list.
users_header=Usermin login access control
users_all=Allow all users
users_allow=Only allow listed users
users_deny=Deny listed users
users_err=Failed to update users list
users_none=No users entered
users_euser='$1' is not a valid username
users_egroup='$1' is not a valid group name
users_eversion=User and group access control is only supported in Usermin versions 0.76 and above.

defacl_title=Access Control Options
defacl_desc=This page allows you to configure various access control option that apply to Usermin modules and users. These options are similar to those in the Global ACL for each user in the Webmin Users module.
defacl_header=Access control options for Usermin users
defacl_eversion=Editing the Usermin access control options is only supported in Usermin versions 0.76 and above.
defacl_err=Failed to save access control options

install_err1=Failed to install module from $1
install_efile=File does not exist
install_err2=Failed to install uploaded module
install_ebrowser=Your browser does not support file uploads
install_err3=Failed to install module from $1
install_eurl=Invalid URL
install_etar=Not a valid module file : $1
install_einfo=Module $1 is missing a module.info file
install_enone=File does not appear to contain any modules
install_eos=Module $1 does not support this operating system ($2 $3)
install_eusermin=Module $1 is for Webmin, not Usermin
install_ever=Module $1 requires Usermin version $2 or above
install_edep=Module $1 requires module $2
install_eperldep=Module $1 requires Perl module $2.<br>However, you can have Webmin <a href='$3'>download and install</a> the Perl module for you.
install_eextract=Extract failed : $1
install_title=Install Module
install_desc=The following modules have been successfully installed and added to all users' access control list :
install_line2=$1 in $2 ($3 kB) under category $4
install_ecomp=File is compressed, but the $1 command was not found on your system
install_ecomp2=Failed to uncompress file : $1
install_egzip=File is gzipped, but the $1 command was not found on your system
install_egzip2=Failed to gunzip file : $1
install_erpm=Not a Usermin module or theme RPM
install_eirpm=RPM install failed : $1
install_cat=Under category $1.
install_eneither=RPM does not contain a usermin module or theme

delete_err=Failed to delete modules
delete_edep=Module $1 cannot be deleted, as the module $2 depends on it
delete_desc1=$1 (Clone of $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Delete Modules
delete_msg=The following modules have been successfully deleted from your Usermin installation :
delete_rusure=Are you sure you want to delete the module(s) $2 ? $1 kB of files will be deleted forever.
delete_rusure2=Are you sure you want to delete the theme $2 ? $1 kB of files will be deleted forever.

ui_title=User Interface
ui_desc=This form allows you to edit user interface options used by all Usermin modules.
ui_header=User Interface Options
ui_default=Default
cs_page=Page background
cs_text=Normal text
cs_table=Table background
cs_header=Table header
cs_link=Link text
ui_texttitles=Display titles as text?
ui_sysinfo=Display login and hostname
ui_sysinfo0=At bottom of browser
ui_sysinfo1=In browser title
ui_sysinfo2=Above page heading
ui_sysinfo3=Nowhere
ui_err=Failed to save colours
ui_ered=Invalid red value for '$1'
ui_egreen=Invalid green value for '$1'
ui_eblue=Invalid blue value for '$1'
ui_feedback=Send feedback to

upgrade_title=Upgrade Usermin
upgrade_desc=This form allows you to upgrade your entire Usermin installation to a new version. You can install from a local file, an uploaded file or from the latest version at <a href=http://www.usermin.com/>www.usermin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_descrpm=This form allows you to upgrade your entire Usermin installation to a new version using RPM's upgrade option. You can install from a local RPM file, an uploaded file or from the latest version at <a href=http://www.usermin.com/>www.usermin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_local=From local file
upgrade_uploaded=From uploaded file
upgrade_ftp=Latest version from www.usermin.com
upgrade_delete=Delete old version's directory after upgrade?
upgrade_ok=Upgrade Usermin
upgrade_err1=Failed to upgrade from $1
upgrade_err2=Failed to upgrade from uploaded file
upgrade_err3=Failed to upgrade from www.usermin.com
upgrade_efile=File does not exist
upgrade_ebrowser=Your browser does not support file uploads
upgrade_eversion=Cannot downgrade to version $1
upgrade_elatest=You are already running the latest version of Usermin
upgrade_erpm=Not a valid webmin RPM file
upgrade_egunzip=Your system does not have the <tt>gunzip</tt> command
upgrade_egzip=Failed to gunzip file : $1
upgrade_etar=Not a valid Usermin tar file
upgrade_euntar=Failed to untar file : $1
upgrade_emod=File is a Usermin module, not a complete Usermin upgrade. You may want to use the <a href='$1'>Usermin Modules</a> page to install it.
upgrade_ewebmin=File is Webmin version $1, not a Usermin update.
upgrade_setup=Upgrading Usermin with command $1 ..
upgrade_done=.. upgrade complete.
upgrade_failed=.. upgrade failed!

assignment_title=Reassign Modules
assignment_header=Module category assignments
assignment_ok=Change Categories
assignment_desc=This form allows you to configure which category each module is displayed under on the Usermin index page.

categories_title=Edit Categories
categories_header=Category ID and descriptions
categories_desc=This form allows you to rename the existing Usermin categories and create new ones to assign modules to. The top part of the table is for changing the descriptions of the built-in categories, while the bottom part is for adding new category IDs and descriptions.
categories_ok=Save Categories
categories_err=Failed to save categories
categories_edesc=Missing description for $1
categories_ecat=Category ID $1 is already taken

log_access=Changed IP access control
log_bind=Changed port and address
log_log=Changed logging options
log_proxy=Changed proxy servers
log_ui=Changed user interface options
log_install=Installed module $1
log_tinstall=Installed theme $1
log_clone=Cloned module $1 to $2
log_delete=Deleted module $1
log_os=Changed operating system
log_lang=Changed global language
log_startpage=Changed index page options
log_upgrade=Upgraded Usermin to version $1
log_session=Changed authentication options
log_ssl=Changed SSL encryption mode
log_setupca=Set up certificate authority
log_changeca=Changed certificate authority
log_stopca=Shut down certificate authority
log_assignment=Changed module categories
log_categories=Changed category names
log_theme=Change theme to $1
log_theme_def=Changed theme to Usermin default
log_referers=Changed trusted referers
log_config=Change configuration for $1
log_uconfig=Change user configuration for $1
log_defacl=Changed access control options
log_users=Changed allowed users and groups
log_acl=Changed available users

0707010000321b000081a40000000000000002000000013d1fe2e800002e7a000000200000000000000000000000000000001e00000003reloc/usermin/lang/zh_TW.Big5 index_title=Usermin³]©w
index_econfig=¦b±zªº¨t²Î¤W§ä¤£¨ìUserminªº²ÕºA¥Ø¿ý $1 ¡A¤]³\ Usermin ÁÙ¨S¦w¸Ë¡A©Î±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¤£¥¿½T¡C
index_return=Usermin³]©w
index_stop=°±¤îUsermin
index_stopmsg=«ö¤U¦¹«ö¶s¨Ó°±¤î¦b±z¨t²Î¤W¥¿°õ¦æªºUsermin¦øªA¾¹¡A·í°±¤î«á´N¨S¦³¨Ï¥ÎªÌ¥i¥Hµn¤Jusermin
index_start=±Ò°Ê Usermin
index_startmsg=«ö¤U¦¹«ö¶s¨Ó±Ò°Ê¦b±z¨t²ÎªºUsermin¦øªA¾¹¡A¦b±Ò°Ê«e¨S¦³¨Ï¥ÎªÌ¥i¥Hµn¤Jusermin
index_version=Usermin ª©¥» $1
index_boot=¶}¾÷«á±Ò°Ê
index_bootmsg=§ïÅÜ¦¹¿ï¶µ¨Ó³]©w¬O§_¦b¶}¾÷®É±Ò°Ê Usermin¡A¦pªG¥Ø«e¨S¦³¦b¶}¾÷®É±Ò°Ê¦Ó¥B¿ï¾Ü¬O"¬O"ªº¸Ü¡A±N·|²£¥Í¤@­Ó·sªº init script¡C

access_title=IP ¦s¨ú±±¨î
access_desc=Usermin ¦øªA¾¹¥i¥H³]©w©Úµ´©Î¤¹³\¨Ï¥Î¦¹®æ¦¡¤§¯S©w IP ¦ì§}ªº¦s¨ú¡C¥D¾÷¦WºÙ¡]¨Ò¦p foo.bar.com¡^»P IP ºô¸ô¡]¨Ò¦p 10.254.3.0 ©Î 10.254.1.0/255.255.255.128¡^³£¥i¥H³Q¿é¤J¡C±zÀ³¸Ó¶È¤¹³\Åý¥i«H¥ôªº¦ì§}¦s¨ú¦øªA¾¹¡A¯S§O¬O¦b¥i±q Internet ¦s¨úªº±¡ªp¤U¡C§_«h¡A¥u­n¦³¤H²q¹ï¤F±zªº±K½X¡A¥L´N¥i¥H§¹¥þ±±¨î±zªº¨t²Î¡C
access_header=¦s¨ú±±¨î
access_all=¤¹³\©Ò¦³ªº¦ì§}
access_allow=¶È¤¹³\¦C¥Xªº¦ì§}
access_deny=©Úµ´¦C¥Xªº¦ì§}
access_libwrap=¤]ÀË¬d TCP-wrappers <tt>hosts.allow</tt> ©M <tt>hosts.deny</tt>ÀÉ®×?
access_err=µLªk§ó·s¦s¨ú²M³æ
access_enone=¨S¦³¿é¤J¦ì§}
access_enet='$1' ¤£¬O¦³®Äªººô¸ô¦ì§}
access_emask='$1' ¤£¬O¦³®Äªººô¸ô¾B¸n
access_eip='$1' ¤£¬O§¹¾ãªº IP ©Îºô¸ô¦ì§}
access_ehost=§ä¤£¨ì '$1' ªº IP ¦ì§}
access_eself=±z¥Ø«eªº IP ¦ì§} ($1) ·|³Q©Úµ´

bind_title=³s±µ°ð»P¦ì§}
bind_desc=¦pªG°õ¦æ Usermin ªº¥D¾÷¤W¦³¦h­Ó IP ¦ì§}¡A±z¥i¥H¨Ï¥Î¦¹®æ¦¡±N¦øªA¾¹³]©w¦¨¥u±µÅ¥¤@­Ó¦ì§}¡CWebmin ±µÅ¥ªº³s±µ°ð¤]¬O¦b¦¹³]©w¡Cª`·N¡G±zªº web ÂsÄý¾¹¥i¯à·|¦bÅÜ§ó³s±µ°ð©Î³sµ²¦ì§}«á´£¥Ü±z­«·sµn¤J¡C
bind_header=IP ¦ì§}»P³s±µ°ð
bind_ip=±µÅ¥ IP ¦ì§}
bind_all=¥þ³¡
bind_port=±µÅ¥³s±µ°ð
bind_err=µLªkÅÜ§ó¦ì§}
bind_eip=µLªk¨ú±o IP ¦ì§}µ¹ '$1'
bind_eassign=¦ì§} '$1' ¤£¬O«ü¬£µ¹³o­Ó¨t²Î
bind_eport=³s±µ°ð $1 ¤w¸g³Q¨Ï¥Î

mods_title=Usermin ¼Ò²Õ
mods_desc1=Usermin ¼Ò²Õ¥i¥H¦b¦w¸Ë¥Dµ{¦¡«á§Q¥Î¥kÃäªº®æ¦¡¼W¥[¡C¼Ò²Õ³q±`¨Ï¥Î <tt>.wbm</tt> °ÆÀÉ¦W´²§G¡A¨C­ÓÀÉ®×³£·|¥]¬A¦Ü¤Ö¤@­Ó©ÎªÌ¦h­Ó¼Ò²Õ¡C¦pªG¨ü¨ì§@·~¨t²Î¤ä´©¡A±z¤]¥i¥H±q RPM ÀÉ®×¦w¸Ë¼Ò²Õ¡C
mods_install=¦w¸Ë¼Ò²Õ
mods_local=±q¥»¾÷ÀÉ®×
mods_uploaded=±q¤W¶ÇªºÀÉ®×
mods_ftp=±q FTP ©Î HTTP URL
mods_nodeps=¦w¸Ë®É©¿²¤¼Ò²Õ¬Û¨Ì©Ê
mods_installok=±qÀÉ®×¦w¸Ë¼Ò²Õ
mods_desc3=²{¦sªº¼Ò²Õ»P½Æ»sªº¼Ò²Õ¥i¥H¨Ï¥Î¤U­±ªº®æ¦¡§R°£. ¦pªG±z§R°£¤F³Q½Æ»sªº¼Ò²Õ¡A«h½Æ»s¥X¨Óªº¼Ò²Õ¤]·|³Q§R°£¡C¼Ò²Õ³Q§R°£«á¤@©w­n­«·s¦w¸Ë¤~¯à¦A¨Ï¥Î¡C¦pªG¦³¨ä¥¦¼Ò²Õ¨Ì¿à¬Y­Ó¼Ò²Õªº¸Ü¡A¸Ó¼Ò²Õ´N¤£¯à³Q§R°£ªº¡C
mods_delete=§R°£¼Ò²Õ
mods_deleteok=§R°£¿ï¨úªº¼Ò²Õ

os_title=§@·~¨t²Î
os_desc=³o­Ó®æ¦¡¤¹³\±zÅÜ§ó Usermin »{©wªº§@·~¨t²Î¡C·í±z±N¹q¸£¤É¯Å¦¨·sªº§@·~¨t²Îª©¥»¡A³o­Ó¥\¯à·|«Ü¦³¥Î¡Cª`·N¡A§Y¨Ï·sÂÂ¨t²Î¤§¶¡¦³®t²§¡A¤w¸g¦w¸Ëªº¼Ò²Õ³]©w¤@¼Ë¤£·|ÅÜ§ó¡C
os_desc2=°õ¦æµ{¦¡¡B¥H¤Î±N¦@¥Îµ{¦¡®w¶Çµ¹¥ô¦óµ{¦¡®É¡A±z¤]¥i¥HÅÜ§ó Webmin ¨Ï¥Îªº·j´M¸ô®|¡C
os_header=¥D¾÷§@·~¨t²Î
os_curros=¥Ø«eªº§@·~¨t²Î
os_currver=¥Ø«e OS ª©¥»
os_new=·sªº§@·~¨t²Î
os_path=µ{¦¡·j´M¸ô®|
os_ld_path=µ{¦¡®w·j´M¸ô®|

lang_title=»y¨¥
lang_title2=Usermin »y¨¥
lang_lang=Åã¥Üªº»y¨¥
lang_intro=³o­Óºô­¶¥i¥HÅý±z¿ï¾Ü Usermin Åã¥Ü¼ÐÃD¡B´£¥Ü¦r¤¸©M°T®§¨Ï¥Îªº»y¨¥¡C
lang_ok=ÅÜ§ó»y¨¥

session_title=»{ÃÒ
session_desc1=·í±Ò¥Î±K½X¹O®É«OÅ@®É¡A¨Ï±zªº Usermin ¦øªA¾¹§K©ó¦P¤@¨Ï¥ÎªÌ³sÄòªýÂ_ªA°È§ðÀ»¦Ó¨Ï¼É¤O¯}¸Ñ±K½Xªº§ðÀ»ªÌªº¤J«I¡C
session_desc2=·í session »{ÃÒ±Ò¥Î®É,Usermin¥i¥H®Ú¾Ú¨Ï¥ÎªÌªºsession¨Ó§PÂ_¬O§_¶¢¸m¦Ó¦Û°Êµn¥X¨Ï¥ÎªÌ¡Aª`·N·í±Ò¥Î©Î°±¥Î session »{ÃÒ®É¡A·|­¢¨Ï©Ò¦³¨Ï¥ÎªÌ­n­«·sµn¤J¡C
session_header=»{ÃÒ©M session¿ï¶µ
session_pdisable=°±¥Î±K½X¹O®É
session_penable=±Ò¥Î±K½X¹O®É
session_blockhost=¸T¤îµn¤J¥¢±Ñ¦¸¼Æ¶W¹L $1 ¦¸ªº¥D¾÷¦b $2 ¬í¤º¦A¦¸µn¤J¡C
session_syslog2=¦b<tt>syslog</tt>¬ö¿ý³Q¸T¤îªº¥D¾÷, µn¤J©M»{ÃÒ¥¢±Ñªº¸ê®Æ¡C
session_disable=°±¥Î session »{ÃÒ
session_enable=±Ò¥Î session »{ÃÒ
session_localoff=¨C¦¸§¡»Ý­n¿é¤J±b¸¹©M±K½X
session_localon=¤¹³\¥»¦aºÝ¤£¥ÎÅçÃÒ¨Ï¥ÎªÌ±K½X
session_logout=¦b¶¢¸m$1¤ÀÄÁ«á¦Û°Êµn¥X
session_locking=±Ò¥ÎUsermin¤¤Âê©w
session_err=Àx¦s»{ÃÒ¥¢±Ñ
session_elogouttime=¨S¦³¿é¤J©ÎµL®Äªºµn¥X®É¶¡
session_eblockhost_time=¨S¦³¿é¤J©ÎµL®Äªº¸T¤î®É¶¡
session_eblockhost_failures=¨S¦³¿é¤J©ÎµL®Äªº¸T¤îµn¤J
session_ecookie=±zªºÂsÄý¾¹¤£¤ä´©cookies,³o¬Osession»{ÃÒ©Ò»Ý­nªº
session_elsof=¥»¦aºÝ»{ÃÒ»Ý·N <tt>lsof</tt> µ{¦¡
session_remember=Åã¥Ü°O±o¤W¦¸µn¤J?
session_hostname=Åã¥Ü¥D¾÷¦WºÙ¦bµn¤Jµe­±?
session_pamon=¦pªG¥i¥Hªº¸Ü¡A¨Ï¥ÎUnixªºPAM»{ÃÒ
session_pamoff=µ´¤£¨Ï¥ÎUnixªºPAM»{ÃÒ
session_pfile=¦pªGPAMµL®Ä©Î¬O°±¥Îªº¡A±qÀÉ®× $1 ²Ä $2 ¨ì $3 ¦CÅª¨ú¨Ï¥ÎªÌ©M±K½X
session_epasswd_file=µL®Äªºunix ¨Ï¥ÎªÌÀÉ®×
session_epasswd_uindex=¨S¦³¿é¤J©ÎµL®Äªºunix ±b¸¹¯Á¤Þ
session_epasswd_pindex=¨S¦³¿é¤J©ÎµL®Äªºunix ±K½X¯Á¤Þ

themes_title=Usermin§G´º¥DÃD
themes_desc=§G´º¥DÃD¬O¥Î¨Ó±±¨îUsermin¨Ï¥ÎªÌ¤¶­±¥~Æ[, ¥]§t¹Ï¥Ü,ÃC¦â,­I´º©M¦³¨Ç­¶­±ªºª©­±°t¸m¡A ¤U¤èªº¿ï³æ¥i¥H¥Î¨Ó¿ï¤@­Ó§G´º¥DÃD¦b±zªº¨t²Î¤W¡C
themes_sel=¥Ø«e§G´º¥DÃD:
themes_default=¹w³]Usermin§G´º¥DÃD
themes_change=ÅÜ§ó
themes_installdesc=¨Ï¥Î¤U¤èªºªí³æ¨Ó¦w¸Ë¤@­Ó·sªºUsermin§G´º¥DÃD¦b±zªº¨t²Î¤W¡A§G´º¥DÃD®M¥ó«¬ºA¥i¯à¬O <tt>.wbt</tt>ÀÉ®×¡A¦ý¦pªG±zªº§@·~¨t²Î¤ä´©ªº¸Ü¡A¤]¥i¥H¦w¸ËRPMÀÉ®×¡C
themes_installok=¦w¸Ë§G´º¥DÃD
themes_err1=±q$1¦w¸Ë§G´º¥DÃD¥¢±Ñ
themes_efile=ÀÉ®×¤£¦s¦b
themes_err2= ¦w¸Ë¤W¶Ç§G´º¥DÃD¥¢±Ñ
themes_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
themes_err3=±q$1¦w¸Ë§G´º¥DÃD¥¢±Ñ
themes_eurl=µL®Äªº URL
themes_etar=¤£¬O¤@­Ó¦³®Äªº§G´º¥DÃDÀÉ®× : $1
themes_einfo=§G´º¥DÃD$1¯Ê¤Ö¤Ftheme.infoÀÉ®×
themes_enone=ÀÉ®×¦ü¥G¨S¦³¥]§t¥ô¦ó§G´º¥DÃD
themes_eextract=¸Ñ¶}¥¢±Ñ : $1
themes_done=©Ò¿ï¨úªº§G´º¥DÃD¦¨¥\ªº¦w¸Ë¦b±zªº¨t²Î¤W :
themes_line=$1 ¦b $2 ($3 kB)
themes_ecomp=ÀÉ®×¬OÀ£ÁYÀÉ¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
themes_ecomp2=¸ÑÀ£ÁYÀÉ®×¥¢±Ñ : $1
themes_egzip=ÀÉ®×¬Ogzip«¬ºAªº¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
themes_egzip2=gunzipÀÉ®×¥¢±Ñ : $1
themes_erpm=¤£¬O¤@­ÓUsermin§G´º¥DÃDªºRPM
themes_eirpm=¦w¸ËRPM¥¢±Ñ : $1
themes_ok=§G´º¥DÃDÅÜ§ó¦¨¥\.. ­«·s¾É¦VUsermin­º­¶
themes_delete=¦¹ªí³æ¨Ó¥i¥H¥Î¨Ó§R°£¤@­Ó¦w¸Ë¦b±zªº¨t²Î¤Wªº¥Ø«e¨S¦³¨Ï¥Î§G´º¥DÃD¡C
themes_delok=§R°£§G´º¥DÃD :



configs_title=Usermin¼Ò²Õ²ÕºA
configs_mod=½s¿è¦¹¼Ò²Õ²ÕºA:
configs_uheader=¹w³]¨Ï¥ÎªÌ$1²ÕºA

acl_title=¥i¥Î¼Ò²Õ
acl_desc=¨Ï¥Î¦¹­¶­±¨Ó¿ï¾Ü¨º¨Ç¤w¸g¦w¸Ëªº Usermin ¼Ò²Õ¬O­nÅý¨Ï¥ÎªÌ¥Îªº

ssl_title=SSL ¥[±K
ssl_essl=Net::SSLeay perl ¼Ò²Õ¦ü¥G¨S¦³¦w¸Ë¦b±zªº¨t²Î¤W¡A­n¦w¸ËOpenSSL¨ç¼Æ®w©MNet::SSLeay¡A¿í´`<a href='$1'>¦¹¸ê°T</a> ­¶­± ¦bUserminºô¯¸
ssl_desc1=³o­Ó Usermin ©Ò¨Ï¥Îªº¥D¾÷¦ü¥G¦³¦w¸Ë SSLeay Perl ¼Ò²Õ¡C¨Ï¥Î³o­Óªº¸Ü¡AUsermin ±N¤ä´©¦bÂsÄý¾¹©M¦øªA¾¹¶¡ªº SSL ¥[±K³q°T¡C¦pªG±z³z¹L Internet ¦s¨ú±zªº Usermin ¥D¾÷¡AÀ³¸Ó­n¨Ï¥Î SSL ¥H¨¾¤îÀb«ÈÂ^¨ú¨ì±zªº Usermin ±K½X¡C
ssl_header=SSL¤ä´©
ssl_enable=¦pªG¥i¦æªº¸Ü¡A±Ò°Ê SSL ¤ä´©
ssl_disable=´Nºâ¥i¥H¡A¤]¤£­n±Ò°Ê SSL ¤ä´©

stop_err=°±¤îUsermin¥¢±Ñ
stop_ekill=±þ±¼µ{§Ç¥¢±Ñ : $1
stop_efile=¤w¸g°±¤î

start_err=±Ò°Ê Usermin ¥¢±Ñ

users_title=¤¹³\ªº¨Ï¥ÎªÌ©M¸s²Õ
users_desc=¨Ï¥Î¦¹ªí³æ¡AUsermin ¥i¥H³]©w­­¨îunix¤Wªº¨Ï¥ÎªÌ©M¸s²Õ¨º¨Ç¬O¤¹³\µn¤Jªº. ­n¤F¸Ñ©Ò¦³unix¤Wªº¸s²Õ¥D­nªº¦¨­û,«ö¦¹r <tt>@¸s²Õ¦WºÙ</tt> ¨ì²M³æ¤¤
users_header=Userminµn¤J±±¨î
users_all=¤¹³\©Ò¦³¨Ï¥ÎªÌ
users_allow=¥u¤¹³\²M³æ¤¤ªº¨Ï¥ÎªÌ
users_deny=©Úµ´²M³æ¤¤ªº¨Ï¥ÎªÌ
users_err=¤É¯Å¨Ï¥ÎªÌ²M³æ¥¢±Ñ
users_none=¨S¦³¿é¤J¨Ï¥ÎªÌ
users_euser='$1' ¤£¬O­Ó¦³®Äªº¨Ï¥ÎªÌ¦WºÙ
users_egroup='$1' ¤£¬O­Ó¦³®Äªº¸s²Õ¦WºÙ
users_eversion=¨Ï¥ÎªÌ©M¸s²Õ¶i¤J±±¨î¥u¤ä´© Usermin ª©¥» 0.76 ©Î§ó°ª

defacl_title=¶i¤J±±¨î¿ï¶µ
defacl_desc=¦¹­¶¥iÅý§A³]©w¤£¦Pªº¶i¤J±±¨î¨Ó®M¥Î¨ìUsermin ¼Ò²Õ©M¨Ï¥ÎªÌ¡A¦¹¿ï¶µ¹ï¨Ï¥ÎªÌªºÅv­­¤p©ó¦b Webmin ¨Ï¥ÎªÌ¼Ò²Õ¤¤ªºGlobal ACL ¡C
defacl_header=Usermin¨Ï¥ÎªÌ¶i¤J±±¨î¿ï¶µ
defacl_eversion=½s¿è Usermin ¶i¤J±±¨î¿ï¶µ¥u¤ä´© Usermin ª©¥» 0.76 ©Î§ó°ª
defacl_err=Àx¦s¶i¤J±±¨î¿ï¶µ¥¢±Ñ

install_err1=µLªk±q $1 ¦w¸Ë¼Ò²Õ
install_efile=ÀÉ®×¤£¦s¦b
install_err2=µLªk¦w¸Ë¤W¶Çªº¼Ò²Õ
install_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
install_err3=µLªk±q $1 ¦w¸Ë¼Ò²Õ
install_eurl=µL®Äªº URL
install_etar=¤£¬O¦³®Äªº¼Ò²ÕÀÉ®×: $1
install_einfo=¼Ò²Õ $1 ¯Ê¤Ö¤F module.info ÀÉ®×
install_enone=ÀÉ®×¦ü¥G¨S¦³¥]§t¥ô¦ó¼Ò²Õ
install_eos=¼Ò²Õ $1 ¤£¤ä´©³o­Ó§@·~¨t²Î ($2 $3)
install_eusermin=¼Ò²Õ$1 ¬Oµ¹Webmin¥Îªº¡A¤£¬OUsermin
install_ever=¼Ò²Õ $1 »Ý­n Usermin ª©¥» $2 ©Î¥H¤W
install_edep=¼Ò²Õ $1 »Ý­n¦w¸Ë¼Ò²Õ $2
install_eperldep=¼Ò²Õ$1»Ý­n Perl ¼Ò²Õ$2.<br>©ÎµÛ¡A±z¥i¥H¥ÎUsermin <a href='$3'>¤U¸ü»P¦w¸Ë</a>ªº Perl ¼Ò²Õ
install_eextract=¸ÑÀ£ÁY¥¢±Ñ: $1
install_title=¦w¸Ë¼Ò²Õ
install_desc=¤U¦Cªº¼Ò²Õ¤w¸g¦¨¥\ªº¦w¸Ë¨Ã¼W¥[¨ì±zªº¦s¨ú±±¨î²M³æ¤¤:
install_line2=$1 ¦b $2 ($3 kB)¦b¤ÀÃþ$4
install_ecomp=ÀÉ®×¬OÀ£ÁYÀÉ¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
install_ecomp2=¸ÑÀ£ÁYÀÉ®×¥¢±Ñ : $1
install_egzip=ÀÉ®×¬Ogzip«¬ºAªº¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
install_egzip2=gunzipÀÉ®×¥¢±Ñ : $1
install_erpm==¤£¬O¤@­ÓUsermin¼Ò²Õ©Î§G´º¥DÃDªºRPM
install_eirpm=RPM¦w¸Ë¥¢±Ñ : $1
install_cat=Under ¤ÀÃþ$1.
install_eneither=RPM¸Ì­±¤£¥]§twebmin¼Ò²Õ©Î§G´º¥DÃD

delete_err=µLªk§R°£¼Ò²Õ
delete_edep=¼Ò²Õ $1 µLªk³Q§R°£¡A¦]¬°¼Ò²Õ $2 ¨Ì¿à¥¦
delete_desc1=$1 (½Æ»s¦Û $2)
delete_desc2=$1 ¦b $2 ($3 kB)
delete_title=§R°£¼Ò²Õ
delete_msg=¤U¦Cªº¼Ò²Õ¤w¸g¦¨¥\ªº±q±zªº Usermin ¦w¸Ëµ{¦¡§R°£¤F:
delete_rusure=±z½T©w­n§R°£¼Ò²Õ $2 ? $1 kB ªºÀÉ®×±N·|§R°£
delete_rusure2=±z½T©w­n§R°£§G´º¥DÃD$2 ? $1 kB ªºÀÉ®×±N·|§R°£

ui_title=¨Ï¥ÎªÌ¤¶­±
ui_desc=³o­Ó®æ¦¡¥i¥H¥ô±z½s¿è©Ò¦³¼Ò²Õ¨Ï¥Îªº¨Ï¥ÎªÌ¤¶­±¿ï¶µ¡C¿é¤JÃC¦â®É¡A±z¥²¶·¨Ï¥Î¼Ð·Ç RGB ¨t²Î«ü©w¨C­ÓÃC¦â¡A¤]´N¬O½d³ò¦b 00 ¨ì ff ªº¤Q¤»¶i¦ì¼Æ¦r¡C
ui_header=¨Ï¥ÎªÌ¤¶­±¿ï¶µ
ui_default=¹w³]­È
cs_page=ºô­¶­I´º
cs_text=¤@¯ë¤å¦r
cs_table=ªí®æ­I´º
cs_header=ªí®æ¼ÐÃD
cs_link=³sµ²¤å¦r
ui_texttitles=¬O§_±N¼ÐÃDÅã¥Ü¦¨¤å¦r?
ui_sysinfo=Åã¥Üµn¤J©M¥D¾÷¦WºÙ
ui_sysinfo0=¦bÂsÄý¾¹¤U¤è
ui_sysinfo1=¦bÂsÄý¾¹¼ÐÃD
ui_sysinfo2=¦b­¶­±¼ÐÃD¤W¤è
ui_sysinfo3=¨S¦³¦a¤è
ui_err=µLªkÀx¦sÃC¦â
ui_ered='$1' ªº¬õ¦â­È¿ù»~
ui_egreen='$1' ªººñ¦â­È¿ù»~
ui_eblue='$1' ªºÂÅ¦â­È¿ù»~
ui_feedback=¶Ç°e¦^õX¨ì

upgrade_title=¤É¯Å Usermin
upgrade_desc=³o­Óªí³æ¥i¥HÅý±z±N¾ã­Ó¦w¸Ëªº Usermin ¤É¯Å¨ì·sªºª©¥»¡C±z¥i¥H±q¥»¾÷ÀÉ®×¡B¤W¶ÇÀÉ®×©Î±q <a href=http://www.webmin.com/>www.webmin.com</a> ©Ò´£¨Ñªº³Ì·sª©¥»¦w¸Ë¡C´N¦p¦P¤â°Ê¤É¯Å¤@¼Ë¡A©Ò¦³ªº³]©w»P¨ó¤O¼t°Ó¼Ò²Õ³£·|³Q«O¯d¡C
upgrade_descrpm=³o­Óªí³æ¥i¥HÅý±z¦w¸Ë¤É¯Å©Ò¿é¤Jªº·swebmin RPM¤É¯ÅÀÉ®×¡A±z¥i¥H±q¥»¦aºÝ¦w¸ËRPMÀÉ®×,¤W¶Ç¤@­ÓÀÉ®×©Î¬O±q <a href=http://www.webmin.com/>www.webmin.com</a>¤U¸ü³Ì·sª©¥»¡A¥u­n«ö·Ó»¡©ú¤É¯Å¡A©Ò¦³±zªº³]©w©MÃB¥~(third-party)ªº¼Ò²Õ³£·|«O¯d¡C
upgrade_local=±q¥»¾÷ÀÉ®×
upgrade_uploaded=±q¤W¶ÇªºÀÉ®×
upgrade_ftp=±q www.usermin.com ªº³Ì·sª©¥»
upgrade_delete=¤É¯Å«á§R°£ÂÂª©¥»¥Ø¿ý?
upgrade_ok=¤É¯Å Usermin
upgrade_err1=µLªk±q $1 ¤É¯Å
upgrade_err2=µLªk±q¤W¶ÇªºÀÉ®×¤É¯Å
upgrade_err3=µLªk±q www.usermin.com ¤É¯Å
upgrade_efile=ÀÉ®×¤£¦s¦b
upgrade_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©¤W¶ÇÀÉ®×
upgrade_eversion=µLªk­°¯Å¬°ª©¥» $1
upgrade_elatest=±z¤w¸g¬O³Ì·sªºUserminª©¥»¤F
upgrade_erpm=¤£¬O¤@­Ó¦³®ÄªºUsermin RPMÀÉ®×
upgrade_egunzip=±zªº¨t²Î¨S¦³ <tt>gunzip</tt> «ü¥O
upgrade_egzip=gunzipÀÉ®×¥¢±Ñ : $1
upgrade_etar=¤£¬O¦³®Äªº Usermin tar ÀÉ®×
upgrade_euntar=¸Ñ¶}tarÀÉ¥¢±Ñ : $1
upgrade_emod=ÀÉ®×¬O­ÓUsermin¼Ò²Õ¡A¤£¬O¤@­ÓUsermin¤É¯ÅÀÉ®×¡A±z¥²¶·­n¨Ï¥Î <a href='$1'>Usermin¼Ò²Õ</a> ­¶¨Ó¦w¸Ë¡C
upgrade_ewebmin=ÀÉ®×¬OWebmin ª© $1,¤£¬OUserminªº¤É¯Å
upgrade_setup=¥H«ü¥O $1¤É¯ÅUsermin¤¤..
upgrade_done=.. ¤É¯Å¦¨¥\
upgrade_failed=.. ¤É¯Å¥¢±Ñ!

assignment_title=¼Ò²Õ°t¸m
assignment_header=°t¸m¼Ò²Õ¤ÀÃþ
assignment_ok=ÅÜ§ó¤ÀÃþ
assignment_desc=³oªí³æ¥i¥HÅý±z°t¸m­þ­Ó¼Ò²Õªº¤ÀÃþÀ³Åã¥Ü¦bUsermin­º­¶¤W

categories_title=½s¿è¤ÀÃþ
categories_header=¤ÀÃþID©M´y­z
categories_desc=³oªí³æ¥i¥HÅý±z§ó¦WÀ³¦s¦bªº Usermin ¤ÀÃþ©M·s¼W¤@­Ó¤À°t¼Ò²Õ¡A ¤W¤èªºªí®æ¥i¥H§ïÅÜ¤º«Ø¤ÀÃþªº´y­z¡A¦Ó¤U¤èªºªí®æ¥i¥H·s¼W¤@­Ó¤ÀÃþID©M´y­z¡C
categories_ok=Àx¦s¤ÀÃþ
categories_err=Àx¦s¤ÀÃþ¥¢±Ñ
categories_edesc=¨S¦³¿é¤Jªº$1®M¥ó
categories_ecat=¤ÀÃþID $1 ¤w¸g¨Ï¥Î

log_access=§ó§ïIP¶i¤J±±¨î
log_bind=ÅÜ§ó³s±µ°ð©M¦ì¸m
log_log=ÅÜ§ó¬ö¿ý¿ï¶µ
log_proxy=ÅÜ§óproxy ¦øªA¾¹
log_ui=ÅÜ§ó¨Ï¥ÎªÌ¤¶­±¿ï¶µ
log_install=¦w¸Ë¼Ò²Õ$1
log_tinstall=¦w¸Ë§G´º¥DÃD$1
log_clone=Cloned ¼Ò²Õ$1 to $2
log_delete=§R°£¼Ò²Õ$1
log_os=ÅÜ§ó§@·~¨t²Î
log_lang=ÅÜ§ó¥þ°ì»y¨¥
log_startpage=ÅÜ§ó­º­¶¿ï¶µ
log_upgrade=¤É¯Å Usermin ª©¥» $1
log_session=ÅÜ§ó»{ÃÒ¿ï¶µ
log_ssl=ÅÜ§óSSL½s½X¤è¦¡
log_setupca=³]©w¾ÌÃÒÅv­­
log_changeca=ÅÜ§ó¾ÌÃÒÅv­­
log_stopca=Ãö³¬¾ÌÃÒÅv­­
log_assignment=ÅÜ§ó¼Ò²Õ¤ÀÃþ
log_categories=ÅÜ§ó¤ÀÃþ¦WºÙ
log_theme=ÅÜ§ó$1§G´º¥DÃD
log_theme_def=ÅÜ§óUsermin¹w³]§G´º¥DÃD
log_referers=ÅÜ§ó«H¥ôµ{¯Å
log_config=ÅÜ§ó $1 ³]©w
log_uconfig=ÅÜ§ó¨Ï¥ÎªÌ $1 ³]©w
log_defacl=ÅÜ§ó¶i¤J±±¨î¿ï¶µ
log_users=ÅÜ§ó¤¹³\ªº¨Ï¥ÎªÌ©M¸s²Õ
log_acl=ÅÜ§ó¥i¯àªº¨Ï¥ÎªÌ

  070701000003bd000081a40000000000000002000000013d1fe2e900000482000000200000000000000000000000000000001c00000003reloc/usermin/log_parser.pl   # log_parser.pl
# Functions for parsing this module's logs

do 'usermin-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'install') {
	return &text('log_install', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'tinstall') {
	return &text('log_tinstall', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'clone') {
	return &text('log_clone', "<i>$p->{'desc'}</i>",
				  "<i>$p->{'dstdesc'}</i>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'upgrade') {
	return &text('log_upgrade', $p->{'version'});
	}
elsif ($action eq 'theme') {
	return $p->{'theme'} ? &text('log_theme', "<tt>$p->{'theme'}</tt>")
			     : $text{'log_theme_def'};
	}
elsif ($action eq "config") {
	return &text('log_config', "<tt>$p->{'mod'}</tt>");
	}
elsif ($action eq "uconfig") {
	return &text('log_uconfig', "<tt>$p->{'mod'}</tt>");
	}
elsif ($text{"log_$action"}) {
	return $text{"log_$action"};
	}
else {
	return undef;
	}
}

  070701000003be000081a40000000000000002000000013d1fe2ea0000008d000000200000000000000000000000000000001a00000003reloc/usermin/module.info category=webmin
depends=0.990
desc_zh_TW.Big5=Usermin³]©w
desc=Usermin Configuration
version=0.990
desc_ca=Configuració Usermin
name=Usermin
   070701000003bf000081e40000000000000002000000013d1fe2e900000139000000200000000000000000000000000000001b00000003reloc/usermin/save_acl.cgi    #!/usr/local/bin/perl
# save_acl.cgi
# Change visible usermin modules

require './usermin-lib.pl';
&ReadParse();
&lock_file(&usermin_acl_filename());
@mods = split(/\0/, $in{'mod'});
&save_usermin_acl("user", \@mods);
&unlock_file(&usermin_acl_filename());
&webmin_log("acl", undef, undef, \%in);
&redirect("");

   070701000003c0000081e40000000000000002000000013d1fe2e900000237000000200000000000000000000000000000002200000003reloc/usermin/save_assignment.cgi #!/usr/local/bin/perl
require './usermin-lib.pl';
&ReadParse();

&lock_file("$config{'usermin_dir'}/webmin.cats");
@modules = &list_modules();
foreach $module (keys %in){
	local ($minfo) = grep { $_->{'dir'} eq $module } @modules;
	next if (!$minfo);
	if ($minfo->{'realcategory'} ne $in{$module}) {
		$cats{$module} = $in{$module};
		}
	}
&write_file("$config{'usermin_dir'}/webmin.cats", \%cats);
&unlock_file("$config{'usermin_dir'}/webmin.cats");
&webmin_log("assignment", undef, undef, \%in);
unlink("$config{'usermin_dir'}/module.infos.cache");

&redirect("");
 070701000003c1000081e40000000000000002000000013d1fe2e900000406000000200000000000000000000000000000002200000003reloc/usermin/save_categories.cgi #!/usr/local/bin/perl
# save_categories.cgi

require './usermin-lib.pl';
&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/lang/en", \%utext);
&read_file("$miniserv{'root'}/ulang/en", \%utext);
&ReadParse();
&error_setup($text{'categories_err'});

# Save built-in categories
foreach $t (keys %utext) {
	$t =~ s/^category_// || next;
	if (!$in{"def_$t"}) {
		$in{"desc_$t"} ||
			&error(&text('categories_edesc', $t ? $t : 'other'));
		$catnames{$t} = $in{"desc_$t"};
		}
	}

# Save custom categories
for($i=0; defined($in{"cat_$i"}); $i++) {
	if ($in{"cat_$i"} && $in{"desc_$i"}) {
		$realcat{$in{"cat_$i"}} &&
			&error(&text('categories_ecat', $in{"cat_$i"}));
		$catnames{$in{"cat_$i"}} = $in{"desc_$i"};
		}
	}

&lock_file("$config{'usermin_dir'}/webmin.catnames");
&write_file("$config{'usermin_dir'}/webmin.catnames", \%catnames);
&unlock_file("$config{'usermin_dir'}/webmin.catnames");
&webmin_log("categories", undef, undef, \%in);
unlink("$config{'usermin_dir'}/module.infos.cache");
&redirect("");
  070701000003c2000081e40000000000000002000000013d1fe2e9000006cd000000200000000000000000000000000000001f00000003reloc/usermin/save_configs.cgi    #!/usr/local/bin/perl
# config_save.cgi
# Save inputs from edit_configs.cgi

require './usermin-lib.pl';
&ReadParse();
$m = $in{'mod'};
&error_setup($text{'config_err'});

&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/$m/config.info", \%info, \@info_order) ||
	&error($text{'config_ecannot'});
&read_file("$miniserv{'root'}/$m/config.info.$gconfig{'lang'}", \%info, \@info_order);
@info_order = &unique(@info_order);

mkdir("$config{'usermin_dir'}/$m", 0700);
&lock_file("$config{'usermin_dir'}/$m/config");
&read_file("$config{'usermin_dir'}/$m/config", \%mconfig);

# Use config.info to parse config inputs
foreach $c (@info_order) {
	@p = split(/,/, $info{$c});
	if ($p[1] == 0 || $p[1] == 7 || $p[1] == 8) {
		# Free text input
		$mconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 1 || $p[1] == 4) {
		# One of many
		$mconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 5 || $p[1] == 6) {
		# User or group
		$mconfig{$c} = ($p[2] && $in{$c."_def"} ? "" : $in{$c});
		}
	elsif ($p[1] == 2) {
		# Many of many
		$in{$c} =~ s/\0/,/g;
		$mconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 3) {
		# Optional free text
		if ($in{$c."_none"}) { $mconfig{$c} = ""; }
		else { $mconfig{$c} = $in{$c}; }
		}
	elsif ($p[1] == 9) {
		# Multilines of free text
		local $sp = $p[4] ? eval "\"$p[4]\"" : " ";
		$in{$c} =~ s/\r//g;
		$in{$c} =~ s/\n/$sp/g;
		$in{$c} =~ s/\s+$//;
		$mconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 10) {
		# One of many or free text
		if ($in{$c} eq 'free') {
			$mconfig{$c} = $in{$c.'_free'};
			}
		else {
			$mconfig{$c} = $in{$c};
			}
		}
	}
&write_file("$config{'usermin_dir'}/$m/config", \%mconfig);
&unlock_file("$config{'usermin_dir'}/$m/config");
&webmin_log("config", undef, undef, \%in);
&redirect("");

   070701000003cb000081e40000000000000002000000013d1fe2e900000245000000200000000000000000000000000000001e00000003reloc/usermin/save_defacl.cgi #!/usr/local/bin/perl
# save_defacl.cgi
# Save global ACL options for usermin

require './usermin-lib.pl';
&ReadParse();
&error_setup($text{'defacl_err'});

&get_usermin_miniserv_config(\%miniserv);
do "$miniserv{'root'}/acl_security.pl";
&lock_file("$config{'usermin_dir'}/user.acl");
&read_file("$miniserv{'root'}/defaultacl", \%acl);
&read_file("$config{'usermin_dir'}/user.acl", \%acl);
&acl_security_save(\%acl);
&write_file("$config{'usermin_dir'}/user.acl", \%acl);
&unlock_file("$config{'usermin_dir'}/user.acl");
&webmin_log("defacl", undef, undef, \%in);
&redirect("");

   070701000003cc000081e40000000000000002000000013d1fe2e9000006a5000000200000000000000000000000000000002000000003reloc/usermin/save_uconfigs.cgi   #!/usr/local/bin/perl
# save_uconfigs.cgi
# Save default user inputs from edit_configs.cgi

require './usermin-lib.pl';
&ReadParse();
$m = $in{'mod'};
&error_setup($text{'config_err'});

&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/$m/uconfig.info", \%uinfo, \@uinfo_order) ||
	&error($text{'config_ecannot'});
&read_file("$miniserv{'root'}/$m/uconfig.info.$gconfig{'lang'}", \%uinfo, \@uinfo_order);
@uinfo_order = &unique(@uinfo_order);

mkdir("$config{'usermin_dir'}/$m", 0700);
&lock_file("$config{'usermin_dir'}/$m/uconfig");
&read_file("$config{'usermin_dir'}/$m/uconfig", \%uconfig);

# Use config.info to parse config inputs
foreach $c (@uinfo_order) {
	@p = split(/,/, $uinfo{$c});
	if ($p[1] == 0 || $p[1] == 7 || $p[1] == 8) {
		# Free text input
		$uconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 1 || $p[1] == 4) {
		# One of many
		$uconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 5 || $p[1] == 6) {
		# User or group
		$uconfig{$c} = ($p[2] && $in{$c."_def"} ? "" : $in{$c});
		}
	elsif ($p[1] == 2) {
		# Many of many
		$in{$c} =~ s/\0/,/g;
		$uconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 3) {
		# Optional free text
		if ($in{$c."_none"}) { $uconfig{$c} = ""; }
		else { $uconfig{$c} = $in{$c}; }
		}
	elsif ($p[1] == 9) {
		# Multilines of free text
		$in{$c} =~ s/\n/ /g;
		$in{$c} =~ s/\s+$//;
		$uconfig{$c} = $in{$c};
		}
	elsif ($p[1] == 10) {
		# One of many or free text
		if ($in{$c} eq 'free') {
			$uconfig{$c} = $in{$c.'_free'};
			}
		else {
			$uconfig{$c} = $in{$c};
			}
		}
	}
&write_file("$config{'usermin_dir'}/$m/uconfig", \%uconfig);
&unlock_file("$config{'usermin_dir'}/$m/uconfig");
&webmin_log("uconfig", undef, undef, \%in);
&redirect("");

   070701000003cd000081e40000000000000002000000013d1fe2e9000000b5000000200000000000000000000000000000001800000003reloc/usermin/start.cgi   #!/usr/local/bin/perl
# start.cgi
# Start the usermin server

require './usermin-lib.pl';
&system_logged("$config{'usermin_dir'}/start >/dev/null 2>&1 </dev/null");
&redirect("");

   070701000003ce000081e40000000000000002000000013d1fe2e90000014f000000200000000000000000000000000000001700000003reloc/usermin/stop.cgi    #!/usr/local/bin/perl
# stop.cgi

require './usermin-lib.pl';
&error_setup($text{'stop_err'});
&get_usermin_miniserv_config(\%miniserv);
if (open(PID, $miniserv{'pidfile'}) && ($pid = int(<PID>))) {
	&kill_logged('TERM', $pid) || &error(&text('stop_ekill', $!));
	close(PID);
	}
else {
	&error($text{'stop_efile'});
	}
&redirect("");

 070701000003cf000081e40000000000000002000000013d1fe2e9000011f1000000200000000000000000000000000000001a00000003reloc/usermin/upgrade.cgi #!/usr/local/bin/perl
# upgrade.cgi
# Upgrade usermin if possible

require './usermin-lib.pl';
&foreign_require("proc", "proc-lib.pl");
&ReadParseMime();
&get_usermin_miniserv_config(\%miniserv);

$| = 1;
$theme_no_table = 1;
&header($text{'upgrade_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('upgrade_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'upgrade_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'upgrade_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'upgrade_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# find latest version at www.usermin.com by looking at index page
	&error_setup(&text('upgrade_err3', $in{'url'}));
	$file = &tempname();
	&http_download('www.usermin.com', 80, '/', $file, \$error);
	$error && &inst_error($error);
	open(FILE, $file);
	while(<FILE>) {
		if (/usermin-([0-9\.]+)\.tar\.gz/) {
			$version = $1;
			last;
			}
		}
	close(FILE);
	unlink($file);
	if ($version == &get_usermin_version()) {
		&inst_error(&text('upgrade_elatest', $version));
		}
	elsif ($version <= &get_usermin_version()) {
		&inst_error(&text('upgrade_eversion', $version));
		}
	if ($in{'mode'} eq 'rpm') {
		$progress_callback_url = "http://www.usermin.com/download/rpm/usermin-$version-1.noarch.rpm";
		&http_download('www.usermin.com', 80,
		  "/download/rpm/usermin-$version-1.noarch.rpm", $file,
		  \$error, \&progress_callback);
		}
	else {
		$progress_callback_url = "http://www.usermin.com/download/usermin-$version.tar.gz";
		&http_download('www.usermin.com', 80,
		  "/download/usermin-$version.tar.gz", $file,
		  \$error, \&progress_callback);
		}
	$error && &inst_error($error);
	$need_unlink = 1;
	}

# gunzip the file if needed
open(FILE, $file);
read(FILE, $two, 2);
close(FILE);
if ($two eq "\037\213") {
	if (!&has_command("gunzip")) {
		unlink($file) if ($need_unlink);
		&inst_error($text{'upgrade_egunzip'});
		}
	$newfile = &tempname();
	$out = `gunzip -c $file 2>&1 >$newfile`;
	if ($?) {
		unlink($file) if ($need_unlink);
		unlink($newfile);
		&inst_error(&text('upgrade_egzip', "<tt>$out</tt>"));
		}
	unlink($file) if ($need_unlink);
	$need_unlink = 1;
	$file = $newfile;
	}

if ($in{'mode'} eq 'rpm') {
	# Check if it is an RPM package
	$out = `rpm -qp $file`;
	$out =~ /^usermin-(\d+\.\d+)/ ||
		&inst_error($text{'upgrade_erpm'});
	if ($1 <= &get_usermin_version()) {
		&inst_error(&text('upgrade_eversion', "$1"));
		}

	# Install the RPM
	$cmd = "rpm -U --ignoreos --ignorearch --nodeps $file";
	print "<p>",&text('upgrade_setup', "<tt>$cmd</tt>"),"<br>\n";
	print "<pre>";
	&proc::safe_process_exec($cmd, 0, 0, STDOUT, undef, 1);
	print "</pre>";
	unlink($file) if ($need_unlink);
	}
else {
	# Check if it is a usermin tarfile
	open(TAR, "tar tf $file 2>&1 |");
	while(<TAR>) {
		if (/^usermin-([0-9\.]+)\//) {
			$version = $1;
			}
		if (/^webmin-([0-9\.]+)\//) {
			$webmin_version = $1;
			}
		if (/^[^\/]+\/(\S+)$/) {
			$hasfile{$1}++;
			}
		}
	close(TAR);
	if ($webmin_version) {
		&inst_error(&text('upgrade_ewebmin', $webmin_version));
		}
	if (!$version) {
		unlink($file) if ($need_unlink);
		if ($hasfile{'module.info'}) {
			&inst_error(&text('upgrade_emod', 'edit_mods.cgi'));
			}
		else {
			&inst_error($text{'upgrade_etar'});
			}
		}
	if ($version <= &get_usermin_version()) {
		&inst_error(&text('upgrade_eversion', $version));
		}

	# Extract it next to the current directory and run setup.sh
	$| = 1;
	$out = `cd $miniserv{'root'}/.. ; tar xf $file 2>&1 >/dev/null`;
	if ($?) {
		unlink($file) if ($need_unlink);
		&inst_error(&text('upgrade_euntar', "<tt>$out</tt>"));
		}
	unlink($file) if ($need_unlink);
	$ENV{'config_dir'} = $config{'usermin_dir'};
	$ENV{'webmin_upgrade'} = 1;
	$ENV{'autothird'} = 1;
	local $cmd;
	if ($in{'delete'}) {
		$cmd = "(cd $miniserv{'root'}/../usermin-$version ; ./setup.sh && rm -rf \"$miniserv{'root'}\")";
		}
	else {
		$cmd = "(cd $miniserv{'root'}/../usermin-$version ; ./setup.sh)";
		}
	print "<p>",&text('upgrade_setup', "<tt>setup.sh</tt>"),"<br>\n";
	print "<pre>";
	&proc::safe_process_exec($cmd, 0, 0, STDOUT, undef, 1);
	print "</pre>";
	}
&webmin_log("upgrade", undef, undef, { 'version' => $version,
				       'mode' => $in{'mode'} });

print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

   070701000003d0000081a40000000000000002000000013d1fe2e900002f0f000000200000000000000000000000000000001d00000003reloc/usermin/usermin-lib.pl  # usermin-lib.pl
# Common functions for configuring usermin

do '../web-lib.pl';
&init_config();

$usermin_miniserv_config = "$config{'usermin_dir'}/miniserv.conf";
$usermin_config = "$config{'usermin_dir'}/config";

# get_usermin_miniserv_config(&array)
sub get_usermin_miniserv_config
{
&read_file($usermin_miniserv_config, \%usermin_miniserv_config_cache)
	if (!%usermin_miniserv_config_cache);
%{$_[0]} = %usermin_miniserv_config_cache;
}

# put_usermin_miniserv_config(&array)
sub put_usermin_miniserv_config
{
%usermin_miniserv_config_cache = %{$_[0]};
&write_file($usermin_miniserv_config, \%usermin_miniserv_config_cache);
}

# get_usermin_version()
sub get_usermin_version
{
local %miniserv;
&get_usermin_miniserv_config(\%miniserv);
open(VERSION, "$miniserv{'root'}/version");
local $version = <VERSION>;
close(VERSION);
$version =~ s/\r|\n//g;
return $version;
}

# restart_usermin_miniserv()
# Send a HUP signal to miniserv
sub restart_usermin_miniserv
{
local($pid, %miniserv, $addr, $i);
&get_usermin_miniserv_config(\%miniserv) || return;
$miniserv{'inetd'} && return;
open(PID, $miniserv{'pidfile'}) || &error("Failed to open pid file");
chop($pid = <PID>);
close(PID);
if (!$pid) { &error("Invalid pid file"); }
&kill_logged('HUP', $pid);
}

# get_usermin_config(&array)
sub get_usermin_config
{
&read_file($usermin_config, \%usermin_config_cache)
	if (!%usermin_config_cache);
%{$_[0]} = %usermin_config_cache;
}

# put_usermin_config(&array)
sub put_usermin_config
{
%usermin_config_cache = %{$_[0]};
&write_file($usermin_config, \%usermin_config_cache);
}

# list_themes()
# Returns an array of all usermin themes
sub list_themes
{
local @rv;
local %miniserv;
&get_usermin_miniserv_config(\%miniserv);
opendir(DIR, $miniserv{'root'});
foreach $m (readdir(DIR)) {
	next if ($m =~ /^\./);
	local %tinfo = &get_usermin_theme_info($m);
	next if (!%tinfo);
	next if (!&check_usermin_os_support(\%tinfo));
	push(@rv, \%tinfo);
	}
closedir(DIR);
return @rv;
}

# list_modules()
# Returns a list of all usermin modules
sub list_modules
{
local @mlist;
local %miniserv;
&get_usermin_miniserv_config(\%miniserv);
local %cats;
&read_file_cached("$config{'usermin_dir'}/webmin.cats", \%cats);
opendir(DIR, $miniserv{'root'});
foreach $m (readdir(DIR)) {
	local %minfo;
	if ((%minfo = &get_usermin_module_info($m)) &&
	    &check_usermin_os_support(\%minfo)) {
		$minfo{'realcategory'} = $minfo{'category'};
		$minfo{'category'} = $cats{$m} if (defined($cats{$m}));
		push(@mlist, \%minfo);
		}
	}
closedir(DIR);
@mlist = sort { $a->{'desc'} cmp $b->{'desc'} } @mlist;
return @mlist;
}

# get_usermin_module_info(module, [noclone])
# Returns a hash containg a module name, desc and os_support
sub get_usermin_module_info
{
return () if ($_[0] =~ /^\./);
local (%rv, $clone, %miniserv, $o);
&get_usermin_miniserv_config(\%miniserv);
&read_file("$miniserv{'root'}/$_[0]/module.info", \%rv) || return ();
$clone = -l "$miniserv{'root'}/$_[0]";
foreach $o (@lang_order_list) {
	$rv{"desc"} = $rv{"desc_$o"} if ($rv{"desc_$o"});
	}
if ($clone && !$_[1] && $config_directory) {
	$rv{'clone'} = $rv{'desc'};
	&read_file("$config{'usermin_dir'}/$_[0]/clone", \%rv);
	}
$rv{'dir'} = $_[0];
$rv{'realcategory'} = $rv{'category'};
return %rv;
}

# get_usermin_theme_info(theme)
sub get_usermin_theme_info
{
local (%tinfo, $o);
&read_file("$miniserv{'root'}/$_[0]/theme.info", \%tinfo) || return ();
foreach $o (@lang_order_list) {
	$tinfo{"desc"} = $rv{"desc_$o"} if ($tinfo{"desc_$o"});
	}
$tinfo{'dir'} = $_[0];
return %tinfo;
}

# check_usermin_os_support(&minfo)
sub check_usermin_os_support
{
local $oss = $_[0]->{'os_support'};
return 1 if (!$oss || $oss eq '*');
local %uconfig;
&get_usermin_config(\%uconfig);
while(1) {
	local ($os, $ver, $codes);
	if ($oss =~ /^([^\/\s]+)\/([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
		$os = $1; $ver = $2; $codes = $3; $oss = $4;
		}
	elsif ($oss =~ /^([^\/\s]+)\/([^\/\s]+)\s*(.*)$/) {
		$os = $1; $ver = $2; $oss = $3;
		}
	elsif ($oss =~ /^([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
		$os = $1; $codes = $2; $oss = $3;
		}
	elsif ($oss =~ /^\{([^\}]*)\}\s*(.*)$/) {
		$codes = $1; $oss = $2;
		}
	elsif ($oss =~ /^(\S+)\s*(.*)$/) {
		$os = $1; $oss = $2;
		}
	else { last; }
	next if ($os && $os ne $uconfig{'os_type'});
	next if ($ver && $ver ne $uconfig{'os_version'});
	next if ($codes && !eval $codes);
	return 1;
	}
return 0;
}

# read_usermin_acl(&array, &array)
# Reads the acl file into the given associative arrays
sub read_usermin_acl
{
local($user, $_, @mods);
if (!defined(%usermin_acl_hash_cache)) {
	open(ACL, &usermin_acl_filename());
	while(<ACL>) {
		if (/^(\S+):\s*(.*)/) {
			local(@mods);
			$user = $1;
			@mods = split(/\s+/, $2);
			foreach $m (@mods) {
				$usermin_acl_hash_cache{$user,$m}++;
				}
			$usermin_acl_array_cache{$user} = \@mods;
			}
		}
	close(ACL);
	}
if ($_[0]) { %{$_[0]} = %usermin_acl_hash_cache; }
if ($_[1]) { %{$_[1]} = %usermin_acl_array_cache; }
}

# usermin_acl_filename()
# Returns the file containing the webmin ACL
sub usermin_acl_filename
{
return "$config{'usermin_dir'}/webmin.acl";
}

# save_usermin_acl(user, &modules)
sub save_usermin_acl
{
open(ACL, ">".&usermin_acl_filename());
print ACL $_[0],": ",join(" ", @{$_[1]}),"\n";
close(ACL);
}

# install_usermin_module(file, unlink, &descs, &dirs, &sizes, nodeps)
# Installs a usermin module or theme, or calls &error()
sub install_usermin_module
{
local ($file, $need_unlink, $mdescs, $mdirs, $msizes) = @_;

# Uncompress the module file if needed
open(MFILE, $file);
read(MFILE, $two, 2);
close(MFILE);
if ($two eq "\037\235") {
	if (!&has_command("uncompress")) {
		unlink($file) if ($need_unlink);
		&error(&text('install_ecomp', "<tt>uncompress</tt>"));
		}
	local $temp = $file =~ /\/([^\/]+)\.Z/i ? &tempname("$1")
						: &tempname();
	local $out = `uncompress -c "$file" 2>&1 >$temp`;
	unlink($file) if ($need_unlink);
	if ($?) {
		unlink($temp);
		&error(&text('install_ecomp2', $out));
		}
	$file = $temp;
	$need_unlink = 1;
	}
elsif ($two eq "\037\213") {
	if (!&has_command("gunzip")) {
		unlink($file) if ($need_unlink);
		&error(&text('install_egzip', "<tt>gunzip</tt>"));
		}
	local $temp = $file =~ /\/([^\/]+)\.gz/i ? &tempname("$1")
						 : &tempname();
	local $out = `gunzip -c "$file" 2>&1 >$temp`;
	unlink($file) if ($need_unlink);
	if ($?) {
		unlink($temp);
		&error(&text('install_egzip2', $out));
		}
	$file = $temp;
	$need_unlink = 1;
	}

local %miniserv;
&get_usermin_miniserv_config(\%miniserv);

# Check if this is an RPM usermin module or theme
local ($type, $redirect_to);
open(TYPE, "../install-type");
chop($type = <TYPE>);
close(TYPE);
if ($type eq 'rpm' && $file =~ /\.rpm$/i &&
    ($out = `rpm -qp $file 2>/dev/null`)) {
	# Looks like an RPM of some kind, hopefully an RPM usermin module
	# or theme
	local ($out, %minfo, %tinfo);
	$out =~ /^(wbm|wbt)-([^\s\-]+)/ || &inst_error($text{'install_erpm'});
	$redirect_to = $name = $2;
	$out = &backquote_logged("rpm -U \"$file\" 2>&1");
	if ($?) {
		&inst_error(&text('install_eirpm', "<tt>$out</tt>"));
		}

	$mdirs->[0] = "$miniserv{'root'}/$name";
	if (%minfo = &get_usermin_module_info($name)) {
		# Get the new module info
		$mdescs->[0] = $minfo{'desc'};
		$msizes->[0] = &disk_usage_kb($mdirs->[0]);

		# Update the ACL for the usermin user
		local %acl;
		&read_usermin_acl(undef, \%acl);
		open(ACL, "> ".&usermin_acl_filename());
		foreach $u (keys %acl) {
			local @mods = @{$acl{$u}};
			if ($u eq 'user') {
				push(@mods, $name);
				@mods = &unique(@mods);
				}
			print ACL "$u: ",join(' ', @mods),"\n";
			}
		close(ACL);
		&webmin_log("install", undef, $name,
			    { 'desc' => $mdescs->[0] });
		}
	elsif (%tinfo = &get_usermin_theme_info($name)) {
		# Get the theme info
		$mdescs->[0] = $tinfo{'desc'};
		$msizes->[0] = &disk_usage_kb($mdirs->[0]);
		&webmin_log("tinstall", undef, $name,
			    { 'desc' => $mdescs->[0] });
		}
	else {
		&error($text{'install_eneither'});
		}
	}
else {
	# Check if this is a valid module (a tar file of multiple module or
	# theme directories)
	local (%mods, %hasfile);
	local $tar = `tar tf "$file" 2>&1`;
	if ($?) { &inst_error(&text('install_etar', $tar)); }
	foreach $f (split(/\n/, $tar)) {
		if ($f =~ /^\.\/([^\/]+)\/(.*)$/ || $f =~ /^([^\/]+)\/(.*)$/) {
			$redirect_to = $1 if (!$redirect_to);
			$mods{$1}++;
			$hasfile{$1,$2}++;
			}
		}
	foreach $m (keys %mods) {
		$hasfile{$m,"module.info"} || $hasfile{$m,"theme.info"} ||
			&inst_error(&text('install_einfo', "<tt>$m</tt>"));
		}
	if (!%mods) {
		&inst_error($text{'install_enone'});
		}

	# Get the module.info files to check dependancies
	local $ver = &get_usermin_version();
	local $tmpdir = &tempname();
	mkdir($tmpdir, 0700);
	local $err;
	local @realmods;
	foreach $m (keys %mods) {
		next if (!$hasfile{$m,"module.info"});
		push(@realmods, $m);
		local %minfo;
		system("cd $tmpdir ; tar xf \"$file\" $m/module.info ./$m/module.info >/dev/null 2>&1");
		if (!&read_file("$tmpdir/$m/module.info", \%minfo)) {
			$err = &text('install_einfo', "<tt>$m</tt>");
			}
		elsif (!&check_usermin_os_support(\%minfo)) {
			$err = &text('install_eos', "<tt>$m</tt>",
				     $gconfig{'real_os_type'},
				     $gconfig{'real_os_version'});
			}
		elsif (!$minfo{'usermin'}) {
			$err = &text('install_eusermin', "<tt>$m</tt>");
			}
		elsif (!$_[5]) {
			foreach $dep (split(/\s+/, $minfo{'depends'})) {
				if ($dep =~ /^[0-9\.]+$/) {
					if ($dep > $ver) {
						$err = &text('install_ever',
							"<tt>$m</tt>",
							"<tt>$dep</tt>");
						}
					}
				elsif (!-r "$miniserv{'root'}/$dep/module.info"
				       && !$mods{$dep}) {
					$err = &text('install_edep',
					        "<tt>$m</tt>", "<tt>$dep</tt>");
					}
				}
			foreach $dep (split(/\s+/, $minfo{'perldepends'})) {
				eval "use $dep";
				if ($@) {
					$err = &text('install_eperldep',
					     "<tt>$m</tt>", "<tt>$dep</tt>",
					     "/cpan/download.cgi?source=3&cpan=$dep");
					}
				}
			}
		last if ($err);
		}
	system("rm -rf $tmpdir >/dev/null 2>&1");
	&inst_error($err) if ($err);

	# Delete modules or themes being replaced
	foreach $m (@realmods) {
		system("rm -rf '$miniserv{'root'}/$m' 2>&1 >/dev/null") if ($m ne 'webmin');
		}

	# Extract all the modules and update perl path and ownership
	local $out = `cd $miniserv{'root'} ; tar xf "$file" 2>&1 >/dev/null`;
	if ($?) { &inst_error(&text('install_eextract', $out)); }
	if ($need_unlink) { unlink($file); }
	local $perl;
	open(PERL, "$miniserv{'root'}/miniserv.pl");
	<PERL> =~ /^#!(\S+)/; $perl = $1;
	close(PERL);
	local @st = stat($0);
	foreach $moddir (keys %mods) {
		local $pwd = "$miniserv{'root'}/$moddir";
		if ($hasfile{$moddir,"module.info"}) {
			local %minfo = &get_usermin_module_info($moddir);
			push(@$mdescs, $minfo{'desc'});
			push(@$mdirs, $pwd);
			push(@$msizes, &disk_usage_kb($pwd));
			&webmin_log("install", undef, $moddir,
				    { 'desc' => $minfo{'desc'} });
			}
		else {
			local %tinfo = &get_usermin_theme_info($moddir);
			&read_file("theme.info", \%tinfo);
			push(@$mdescs, $tinfo{'desc'});
			push(@$mdirs, $pwd);
			push(@$msizes, &disk_usage_kb($pwd));
			&webmin_log("tinstall", undef, $moddir,
				    { 'desc' => $tinfo{'desc'} });
			}
		system("(find $pwd -name '*.cgi' ; find $pwd -name '*.pl') 2>/dev/null | xargs $perl $miniserv{'root'}/perlpath.pl $perl");
		system("chown -R $st[4]:$st[5] $pwd");
		}

	# Copy appropriate config file from modules to /etc/webmin
	local %ugconfig;
	&get_usermin_config(\%ugconfig);
	system("$perl $miniserv{'root'}/copyconfig.pl $ugconfig{'os_type'} $ugconfig{'os_version'} $miniserv{'root'} $config{'usermin_dir'} ".join(' ', @realmods));

	# Update ACL for this user so they can access the new modules
	local %acl;
	&read_usermin_acl(undef, \%acl);
	open(ACL, "> ".&usermin_acl_filename());
	foreach $u (keys %acl) {
		local @mods = @{$acl{$u}};
		if ($u eq 'user') {
			push(@mods, @realmods);
			@mods = &unique(@mods);
			}
		print ACL "$u: ",join(' ', @mods),"\n";
		}
	close(ACL);
	}
unlink("$config{'usermin_dir'}/module.infos.cache");
return $redirect_to;
}



1;

 0707010003e28c000081a40000000000000002000000013d1fe2b800000006000000200000000000000000000000000000000e00000003reloc/version 0.990
  0707010003e28d000081e40000000000000002000000013d1fe2b70001344d000000200000000000000000000000000000001100000003reloc/web-lib.pl  # web-lib.pl
# Common functions and definitions for web admin programs

# Vital libraries
use Socket;
#use SelfLoader;

# Configuration and spool directories
if (!defined($ENV{'WEBMIN_CONFIG'})) { die "WEBMIN_CONFIG not set"; }
$config_directory = $ENV{'WEBMIN_CONFIG'};
if (!defined($ENV{'WEBMIN_VAR'})) { die "WEBMIN_VAR not set"; }
$var_directory = $ENV{'WEBMIN_VAR'};

if ($ENV{'SESSION_ID'}) {
	# Hide this variable from servers, but keep it for internal use
	$main::session_id = $ENV{'SESSION_ID'};
	delete($ENV{'SESSION_ID'});
	}

$remote_error_handler = "error";
@INC = &unique(@INC, ".");

use vars qw($user_risk_level $loaded_theme_library $wait_for_input
	    $done_webmin_header $trust_unknown_referers
	    %done_foreign_require $webmin_feedback_address
	    $user_skill_level $pragma_no_cache $foreign_args);

#__DATA__

# read_file(file, &assoc, [&order], [lowercase])
# Fill an associative array with name=value pairs from a file
sub read_file
{
open(ARFILE, $_[0]) || return 0;
while(<ARFILE>) {
	s/\r|\n//g;
        if (!/^#/ && /^([^=]*)=(.*)$/) {
		$_[1]->{$_[3] ? lc($1) : $1} = $2;
		push(@{$_[2]}, $1) if ($_[2]);
        	}
        }
close(ARFILE);
return 1;
}

# read_file_cached(file, &assoc)
# Like read_file, but reads from a cache if the file has already been read
sub read_file_cached
{
if (defined($main::read_file_cache{$_[0]})) {
	%{$_[1]} = ( %{$_[1]}, %{$main::read_file_cache{$_[0]}} );
	}
else {
	local %d;
	&read_file($_[0], \%d);
	%{$main::read_file_cache{$_[0]}} = %d;
	%{$_[1]} = ( %{$_[1]}, %d );
	}
}
 
# write_file(file, array)
# Write out the contents of an associative array as name=value lines
sub write_file
{
local(%old, @order);
&read_file($_[0], \%old, \@order);
open(ARFILE, ">$_[0]") || &error(&text("efilewrite", $!));
foreach $k (@order) {
	if (exists($_[1]->{$k})) {
		(print ARFILE $k,"=",$_[1]->{$k},"\n") ||
			&error(&text("efilewrite", $!));
		}
	}
foreach $k (keys %{$_[1]}) {
	if (!exists($old{$k})) {
		(print ARFILE $k,"=",$_[1]->{$k},"\n") ||
			&error(&text("efilewrite", $!));
		}
        }
close(ARFILE);
if (defined($main::read_file_cache{$_[0]})) {
	%{$main::read_file_cache{$_[0]}} = %{$_[1]};
	}
}

# html_escape
# Convert &, < and > codes in text to HTML entities
sub html_escape
{
local($tmp);
$tmp = $_[0];
$tmp =~ s/&/&amp;/g;
$tmp =~ s/</&lt;/g;
$tmp =~ s/>/&gt;/g;
$tmp =~ s/\"/&quot;/g;
$tmp =~ s/\'/&#39;/g;
return $tmp;
}

# tempname([filename])
# Returns a mostly random temporary file name
sub tempname
{
local $tmp_dir = -d $remote_user_info[7] ? "$remote_user_info[7]/.tmp" :
		 @remote_user_info ? "/tmp/.webmin-$remote_user" :
				     "/tmp/.webmin";
while(1) {
	local @st = lstat($tmp_dir);
	last if ($st[4] == $< && $st[5] == $( && $st[2] & 0x4000 &&
		 ($st[2] & 0777) == 0755);
	if (@st) {
		unlink($tmp_dir) || rmdir($tmp_dir) ||
			system("/bin/rm -rf \"$tmp_dir\"");
		}
	mkdir($tmp_dir, 0755) || next;
	chown($<, $(, $tmp_dir);
	chmod(0755, $tmp_dir);
	}
if (defined($_[0]) && $_[0] !~ /\.\./) {
	return "$tmp_dir/$_[0]";
	}
else {
	$main::tempfilecount++;
	&seed_random();
	return $tmp_dir."/".int(rand(1000000))."_".
	       $main::tempfilecount."_".$scriptname;
	}
}

# trunc
# Truncation a string to the shortest whole word less than or equal to
# the given width
sub trunc {
  local($str,$c);
  if (length($_[0]) <= $_[1])
    { return $_[0]; }
  $str = substr($_[0],0,$_[1]);
  do {
    $c = chop($str);
    } while($c !~ /\S/);
  $str =~ s/\s+$//;
  return $str;
}

# indexof
# Returns the index of some value in an array, or -1
sub indexof {
  local($i);
  for($i=1; $i <= $#_; $i++) {
    if ($_[$i] eq $_[0]) { return $i - 1; }
    }
  return -1;
  }

# unique
# Returns the unique elements of some array
sub unique
{
local(%found, @rv, $e);
foreach $e (@_) {
	if (!$found{$e}++) { push(@rv, $e); }
	}
return @rv;
}

# sysprint(handle, [string]+)
sub sysprint
{
local($str, $fh);
$str = join('', @_[1..$#_]);
$fh = $_[0];
syswrite $fh, $str, length($str);
}

# check_ipaddress(ip)
# Check if some IP address is properly formatted
sub check_ipaddress
{
return $_[0] =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/ &&
	$1 >= 0 && $1 <= 255 &&
	$2 >= 0 && $2 <= 255 &&
	$3 >= 0 && $3 <= 255 &&
	$4 >= 0 && $4 <= 255;
}

# generate_icon(image, title, link, [href])
sub generate_icon
{
if ($tconfig{'noicons'}) {
	if ($_[2]) {
		print "<a href=\"$_[2]\">$_[1]</a>\n";
		}
	else {
		print "$_[1]\n";
		}
	}
elsif ($_[2]) {
	print "<table border><tr><td>\n",
	      "<a href=\"$_[2]\" $_[3]><img src=\"$_[0]\" alt=\"\" border=0 ",
	      "width=48 height=48></a></td></tr></table>\n";
	print "<a href=\"$_[2]\">$_[1]</a>\n";
	}
else {
	print "<table border><tr><td>\n",
	      "<img src=\"$_[0]\" alt=\"\" border=0 width=48 height=48>",
	      "</td></tr></table>\n$_[1]\n";
	}
}

# urlize
# Convert a string to a form ok for putting in a URL
sub urlize {
  local $rv = $_[0];
  $rv =~ s/([^A-Za-z0-9])/sprintf("%%%2.2X", ord($1))/ge;
  return $rv;

#  local($tmp, $tmp2, $c);
#  $tmp = $_[0];
#  $tmp2 = "";
#  while(($c = chop($tmp)) ne "") {
#	if ($c !~ /[A-z0-9]/) {
#		$c = sprintf("%%%2.2X", ord($c));
#		}
#	$tmp2 = $c . $tmp2;
#	}
#  return $tmp2;
}

# un_urlize(string)
# Converts a URL-encoded string to the original
sub un_urlize
{
local $rv = $_[0];
$rv =~ s/\+/ /g;
$rv =~ s/%(..)/pack("c",hex($1))/ge;
return $rv;
}

# include
# Read and output the named file
sub include
{
open(INCLUDE, $_[0]) || return 0;
while(<INCLUDE>) {
	print;
	}
close(INCLUDE);
return 1;
}

# copydata
# Read from one file handle and write to another
sub copydata
{
local($line, $out, $in);
$out = $_[1];
$in = $_[0];
while($line = <$in>) {
	print $out $line;
	}
}

# ReadParseMime
# Read data submitted via a POST request using the multipart/form-data coding
sub ReadParseMime
{
local ($boundary, $line, $foo, $name);
$ENV{CONTENT_TYPE} =~ /boundary=(.*)$/;
$boundary = $1;
<STDIN>;	# skip first boundary
while(1) {
	$name = "";
	# Read section headers
	local $lastheader;
	while(1) {
		$line = <STDIN>;
		$line =~ s/\r|\n//g;
		last if (!$line);
		if ($line =~ /^(\S+):\s*(.*)$/) {
			$header{$lastheader = lc($1)} = $2;
			}
		elsif ($line =~ /^\s+(.*)$/) {
			$header{$lastheader} .= $line;
			}
		}

	# Parse out filename and type
	if ($header{'content-disposition'} =~ /^form-data(.*)/) {
		$rest = $1;
		while ($rest =~ /([a-zA-Z]*)=\"([^\"]*)\"(.*)/) {
			if ($1 eq 'name') {
				$name = $2;
				}
			else {
				$foo = $name . "_$1";
				$in{$foo} = $2;
				}
			$rest = $3;
			}
		}
	else {
		&error("Missing Content-Disposition header");
		}
	if ($header{'content-type'} =~ /^([^\s;]+)/) {
		$foo = $name . "_content_type";
		$in{$foo} = $1;
		}

	# Read data
	$in{$name} .= "\0" if (defined($in{$name}));
	while(1) {
		$line = <STDIN>;
		if (!$line) { return; }
		if (index($line, $boundary) != -1) { last; }
		$in{$name} .= $line;
		}
	chop($in{$name}); chop($in{$name});
	if (index($line,"$boundary--") != -1) { last; }
	}
}

# ReadParse([&assoc], [method])
# Fills the given associative array with CGI parameters, or uses the global
# %in if none is given. Also sets the global variables $in and @in
sub ReadParse
{
local $a = $_[0] ? $_[0] : \%in;
local $i;
local $meth = $_[1] ? $_[1] : $ENV{'REQUEST_METHOD'};
undef($in);
if ($meth eq 'POST') {
	read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
	}
if ($ENV{'QUERY_STRING'}) {
	if ($in) { $in .= "&".$ENV{'QUERY_STRING'}; }
	else { $in = $ENV{'QUERY_STRING'}; }
	}
@in = split(/\&/, $in);
foreach $i (@in) {
	local ($k, $v) = split(/=/, $i, 2);
	$k =~ s/\+/ /g; $k =~ s/%(..)/pack("c",hex($1))/ge;
	$v =~ s/\+/ /g; $v =~ s/%(..)/pack("c",hex($1))/ge;
	$a->{$k} = defined($a->{$k}) ? $a->{$k}."\0".$v : $v;
	}
}

# PrintHeader
# Outputs the HTTP header for HTML
sub PrintHeader
{
print "pragma: no-cache\n" if ($pragma_no_cache || $config{'pragma_no_cache'});
if (defined($_[0])) {
	print "Content-type: text/html; Charset=$_[0]\n\n";
	}
else {
	print "Content-type: text/html\n\n";
	}
}

# header(title, image, [help], [config], [nomodule], [nowebmin], [rightside],
#	 [header], [body], [below])
# Output a page header with some title and image. The header may also
# include a link to help, and a link to the config page.
# The header will also have a link to to webmin index, and a link to the
# module menu if there is no config link
sub header
{
return if ($main::done_webmin_header++);
local($ll, %access);
local $charset = defined($force_charset) ? $force_charset :
		 $current_lang_info->{'charset'} ?
		 $current_lang_info->{'charset'} : "iso-8859-1";
&PrintHeader($charset);
&load_theme_library();
if (defined(&theme_header)) {
	&theme_header(@_);
	return;
	}
print "<!doctype html public \"-//W3C//DTD HTML 3.2 Final//EN\">\n";
print "<html>\n";
local $os_type = $gconfig{'real_os_type'} ? $gconfig{'real_os_type'}
					  : $gconfig{'os_type'};
local $os_version = $gconfig{'real_os_version'} ? $gconfig{'real_os_version'}
					        : $gconfig{'os_version'};
print "<head>\n";
if ($charset) {
	print "<meta http-equiv=\"Content-Type\" ",
	      "content=\"text/html; Charset=$charset\">\n";
	}
if (@_ > 0) {
	if ($gconfig{'sysinfo'} == 1) {
		printf "<title>%s : %s on %s (%s %s)</title>\n",
			$_[0], $remote_user, &get_system_hostname(),
			$os_type, $os_version;
		}
	else {
		print "<title>$_[0]</title>\n";
		}
	print $_[7] if ($_[7]);
	if ($gconfig{'sysinfo'} == 0 && $remote_user) {
		print "<script language=JavaScript type=text/javascript>\n";
		printf
		"defaultStatus=\"%s%s logged into %s %s on %s (%s%s)\";\n",
			$ENV{'ANONYMOUS_USER'} ? "Anonymous user" :$remote_user,
			$ENV{'SSL_USER'} ? " (SSL certified)" :
			$ENV{'LOCAL_USER'} ? " (Local user)" : "",
			$text{'programname'},
			&get_webmin_version(), &get_system_hostname(),
			$os_type, $os_version eq "*" ? "" : " $os_version";
		print "</SCRIPT>\n";
		}
	}
print "$tconfig{'headhtml'}\n" if ($tconfig{'headhtml'});
if ($tconfig{'headinclude'}) {
	open(INC, "$root_directory/$current_theme/$tconfig{'headinclude'}");
	while(<INC>) {
		print;
		}
	close(INC);
	}
print "</head>\n";
local $bgcolor = defined($tconfig{'cs_page'}) ? $tconfig{'cs_page'} :
		 defined($gconfig{'cs_page'}) ? $gconfig{'cs_page'} : "ffffff";
local $link = defined($tconfig{'cs_link'}) ? $tconfig{'cs_link'} :
	      defined($gconfig{'cs_link'}) ? $gconfig{'cs_link'} : "0000ee";
local $text = defined($tconfig{'cs_text'}) ? $tconfig{'cs_text'} : 
	      defined($gconfig{'cs_text'}) ? $gconfig{'cs_text'} : "000000";
local $bgimage = defined($tconfig{'bgimage'}) ? "background=$tconfig{'bgimage'}"
					      : "";
print "<body bgcolor=#$bgcolor link=#$link vlink=#$link text=#$text ",
      "$bgimage $tconfig{'inbody'} $_[8]>\n";
local $hostname = &get_system_hostname();
local $version = &get_webmin_version();
local $prebody = $tconfig{'prebody'};
if ($prebody) {
	$prebody =~ s/%HOSTNAME%/$hostname/g;
	$prebody =~ s/%VERSION%/$version/g;
	$prebody =~ s/%USER%/$remote_user/g;
	$prebody =~ s/%OS%/$os_type $os_version/g;
	print "$prebody\n";
	}
if ($tconfig{'prebodyinclude'}) {
	open(INC, "$root_directory/$current_theme/$tconfig{'prebodyinclude'}");
	while(<INC>) {
		print;
		}
	close(INC);
	}
if (defined(&theme_prebody)) {
	&theme_prebody(@_);
	}
if (@_ > 1) {
	print "<table width=100%><tr>\n";
	if ($gconfig{'sysinfo'} == 2 && $remote_user) {
		print "<td colspan=3 align=center>\n";
		printf "%s%s logged into %s %s on %s (%s%s)</td>\n",
			$ENV{'ANONYMOUS_USER'} ? "Anonymous user" : "<tt>$remote_user</tt>",
			$ENV{'SSL_USER'} ? " (SSL certified)" :
			$ENV{'LOCAL_USER'} ? " (Local user)" : "",
			$text{'programname'},
			$version, "<tt>$hostname</tt>",
			$os_type, $os_version eq "*" ? "" : " $os_version";
		print "</tr> <tr>\n";
		}
	print "<td width=15% valign=top align=left>";
	if ($ENV{'HTTP_WEBMIN_SERVERS'}) {
		print "<a href='$ENV{'HTTP_WEBMIN_SERVERS'}'>",
		      "$text{'header_servers'}</a><br>\n";
		}
	if (!$_[5] && !$tconfig{'noindex'}) {
		local %acl;
		&read_acl(undef, \%acl);
		local $mc = @{$acl{$base_remote_user}} == 1;
		if ($gconfig{'gotoone'} && $main::session_id && $mc == 1 &&
		    !$ENV{'ANONYMOUS_USER'}) {
			print "<a href='$gconfig{'webprefix'}/session_login.cgi?logout=1'>",
			      "$text{'main_logout'}</a><br>";
			}
		elsif ($gconfig{'gotoone'} && $mc == 1 &&
		       !$ENV{'ANONYMOUS_USER'}) {
			print "<a href=$gconfig{'webprefix'}/switch_user.cgi>",
			      "$text{'main_switch'}</a><br>";
			}
		else {
			print "<a href='$gconfig{'webprefix'}/?cat=$module_info{'category'}'>",
			      "$text{'header_webmin'}</a><br>\n";
			}
		}
	if (!$_[4]) { print "<a href=\"$gconfig{'webprefix'}/$module_name/\">",
			    "$text{'header_module'}</a><br>\n"; }
	if (ref($_[2]) eq "ARRAY" && !$ENV{'ANONYMOUS_USER'}) {
		print &hlink($text{'header_help'}, $_[2]->[0], $_[2]->[1]),
		      "<br>\n";
		}
	elsif (defined($_[2]) && !$ENV{'ANONYMOUS_USER'}) {
		print &hlink($text{'header_help'}, $_[2]),"<br>\n";
		}
	if ($_[3]) {
		local %access = &get_module_acl();
		if (!$access{'noconfig'}) {
			local $cprog = $user_module_config_directory ?
					"uconfig.cgi" : "config.cgi";
			print "<a href=\"$gconfig{'webprefix'}/$cprog?$module_name\">",
			      $text{'header_config'},"</a><br>\n";
			}
		}
	print "</td>\n";
	local $title = $_[0];
	$title =~ s/&auml;/ä/g;
	$title =~ s/&ouml;/ö/g;
	$title =~ s/&uuml;/ü/g;
	$title =~ s/&nbsp;/ /g;
	if ($_[1]) {
		print "<td align=center width=70%>",
		      "<img alt=\"$_[0]\" src=\"$_[1]\"></td>\n";
		}
	elsif ($current_lang_info->{'titles'} && !$gconfig{'texttitles'} &&
	       !$tconfig{'texttitles'}) {
		print "<td align=center width=70%>";
		foreach $l (split(//, $title)) {
			$ll = ord($l);
			if ($ll > 127 && $current_lang_info->{'charset'}) {
				print "<img src=$gconfig{'webprefix'}/images/letters/$ll.$current_lang_info->{'charset'}.gif alt=\"$l\" align=bottom>";
				}
			elsif ($l eq " ") {
				print "<img src=$gconfig{'webprefix'}/images/letters/$ll.gif alt=\"\&nbsp;\" align=bottom>";
				}
			else {
				print "<img src=$gconfig{'webprefix'}/images/letters/$ll.gif alt=\"$l\" align=bottom>";
				}
			}
		if ($_[9]) {
			print "<br>$_[9]\n";
			}
		print "</td>\n";
		}
	else {
		print "<td align=center width=70%><h1>$_[0]</h1></td>\n";
		}
	print "<td width=15% valign=top align=right>";
	print $_[6];
	print "</td></tr></table>\n";
	}
}

# footer([page, name]+, [noendbody])
# Output a footer for returning to some page
sub footer
{
&load_theme_library();
if (defined(&theme_footer)) {
	&theme_footer(@_);
	return;
	}
local $i;
for($i=0; $i+1<@_; $i+=2) {
	local $url = $_[$i];
	if ($url ne '/' || !$tconfig{'noindex'}) {
		if ($url eq '/') {
			$url = "/?cat=$module_info{'category'}";
			}
		elsif ($url eq '' && $module_name) {
			$url = "/$module_name/";
			}
		elsif ($url =~ /^\?/ && $module_name) {
			$url = "/$module_name/$url";
			}
		$url = "$gconfig{'webprefix'}$url" if ($url =~ /^\//);
		if ($i == 0) {
			print "<a href=\"$url\"><img alt=\"<-\" align=middle border=0 src=$gconfig{'webprefix'}/images/left.gif></a>\n";
			}
		else {
			print "&nbsp;|\n";
			}
		print "&nbsp;<a href=\"$url\">",&text('main_return', $_[$i+1]),"</a>\n";
		}
	}
print "<br>\n";
if (!$_[$i]) {
	local $postbody = $tconfig{'postbody'};
	if ($postbody) {
		local $hostname = &get_system_hostname();
		local $version = &get_webmin_version();
		local $os_type = $gconfig{'real_os_type'} ?
				$gconfig{'real_os_type'} : $gconfig{'os_type'};
		local $os_version = $gconfig{'real_os_version'} ?
				$gconfig{'real_os_version'} : $gconfig{'os_version'};
		$postbody =~ s/%HOSTNAME%/$hostname/g;
		$postbody =~ s/%VERSION%/$version/g;
		$postbody =~ s/%USER%/$remote_user/g;
		$postbody =~ s/%OS%/$os_type $os_version/g;
		print "$postbody\n";
		}
	if ($tconfig{'postbodyinclude'}) {
		open(INC,
		 "$root_directory/$current_theme/$tconfig{'postbodyinclude'}");
		while(<INC>) {
			print;
			}
		close(INC);
		}
	if (defined(&theme_postbody)) {
		&theme_postbody(@_);
		}
	print "</body></html>\n";
	}
}

# load_theme_library()
# For internal use only
sub load_theme_library
{
return if (!$current_theme || !$tconfig{'functions'} ||
	   $loaded_theme_library++);
do "$root_directory/$current_theme/$tconfig{'functions'}";
}

# redirect
# Output headers to redirect the browser to some page
sub redirect
{
local($port, $prot, $url);
$port = $ENV{'SERVER_PORT'} == 443 && uc($ENV{'HTTPS'}) eq "ON" ? "" :
	$ENV{'SERVER_PORT'} == 80 && uc($ENV{'HTTPS'}) ne "ON" ? "" :
		":$ENV{'SERVER_PORT'}";
$prot = uc($ENV{'HTTPS'}) eq "ON" ? "https" : "http";
if ($_[0] =~ /^(http|https|ftp|gopher):/) {
	$url = $_[0];
	}
elsif ($_[0] =~ /^\//) {
	$url = "$prot://$ENV{'SERVER_NAME'}$port$gconfig{'webprefix'}$_[0]";
	}
elsif ($ENV{'SCRIPT_NAME'} =~ /^(.*)\/[^\/]*$/) {
	$url = "$prot://$ENV{'SERVER_NAME'}$port$1/$gconfig{'webprefix'}$_[0]";
	}
else {
	$url = "$prot://$ENV{'SERVER_NAME'}$port/$gconfig{'webprefix'}$_[0]";
	}
print "Location: $url\n\n";
}

# kill_byname(name, signal)
# Use the command defined in the global config to find and send a signal
# to a process matching some name
sub kill_byname
{
local(@pids);
@pids = &find_byname($_[0]);
if (@pids) { kill($_[1], @pids); return scalar(@pids); }
else { return 0; }
}

# kill_byname_logged(name, signal)
# Like kill_byname, but also logs the killing
sub kill_byname_logged
{
local(@pids);
@pids = &find_byname($_[0]);
if (@pids) { &kill_logged($_[1], @pids); return scalar(@pids); }
else { return 0; }
}

# find_byname(name)
# Finds a process by name, and returns a list of matching PIDs
sub find_byname
{
local($cmd, @pids);
$cmd = $gconfig{'find_pid_command'};
$cmd =~ s/NAME/"$_[0]"/g;
@pids = split(/\n/, `($cmd) </dev/null 2>/dev/null`);
@pids = grep { $_ != $$ } @pids;
return @pids;
}

# error([message]+)
# Display an error message and exit. The variable $whatfailed must be set
# to the name of the operation that failed.
sub error
{
&load_theme_library();
if (!$ENV{'REQUEST_METHOD'}) {
	# Show text-only error
	print STDERR "$text{'error'}\n";
	print STDERR "-----\n";
	print STDERR ($main::whatfailed ? "$main::whatfailed : " : ""),@_,"\n";
	print STDERR "-----\n";
	}
elsif (defined(&theme_error)) {
	&theme_error(@_);
	}
else {
	&header($text{'error'}, "");
	print "<hr>\n";
	print "<h3>",($main::whatfailed ? "$main::whatfailed : " : ""),@_,"</h3>\n";
	print "<hr>\n";
	&footer();
	}
exit;
}

# error_setup(message)
# Register a message to be prepended to all error strings
sub error_setup
{
$main::whatfailed = $_[0];
}

# wait_for(handle, regexp, regexp, ...)
# Read from the input stream until one of the regexps matches..
sub wait_for
{
local ($c, $i, $sw, $rv, $ha); undef($wait_for_input);
#print STDERR "wait_for(",join(",", @_),")\n";
$ha = $_[0];
$codes =
"local \$hit;\n".
"while(1) {\n".
" if ((\$c = getc($ha)) eq \"\") { return -1; }\n".
" \$wait_for_input .= \$c;\n";
#" \$wait_for_input .= \$c;\nprint STDERR \$wait_for_input,\"\\n\";";
for($i=1; $i<@_; $i++) {
        $sw = $i>1 ? "elsif" : "if";
        $codes .= " $sw (\$wait_for_input =~ /$_[$i]/i) { \$hit = $i-1; }\n";
        }
$codes .=
" if (defined(\$hit)) {\n".
"  \@matches = (-1, \$1, \$2, \$3, \$4, \$5, \$6, \$7, \$8, \$9);\n".
"  return \$hit;\n".
"  }\n".
" }\n";
$rv = eval $codes;
if ($@) { &error("wait_for error : $@\n"); }
return $rv;
}

# fast_wait_for(handle, string, string, ...)
sub fast_wait_for
{
local($inp, $maxlen, $ha, $i, $c, $inpl);
for($i=1; $i<@_; $i++) {
	$maxlen = length($_[$i]) > $maxlen ? length($_[$i]) : $maxlen;
	}
$ha = $_[0];
while(1) {
	if (($c = getc($ha)) eq "") {
		&error("fast_wait_for read error : $!");
		}
	$inp .= $c;
	if (length($inp) > $maxlen) {
		$inp = substr($inp, length($inp)-$maxlen);
		}
	$inpl = length($inp);
	for($i=1; $i<@_; $i++) {
		if ($_[$i] eq substr($inp, $inpl-length($_[$i]))) {
			return $i-1;
			}
		}
	}
}

# has_command(command)
# Returns the full path if some command is in the path, undef if not
sub has_command
{
local($d);
if (!$_[0]) { return undef; }
if (exists($main::has_command_cache{$_[0]})) {
	return $main::has_command_cache{$_[0]};
	}
local $rv = undef;
if ($_[0] =~ /^\//) {
	$rv = (-x $_[0]) ? $_[0] : undef;
	}
else {
	foreach $d (split(/:/ , $ENV{PATH})) {
		if (-x "$d/$_[0]") { $rv = "$d/$_[0]"; last; }
		}
	}
$main::has_command_cache{$_[0]} = $rv;
return $rv;
}

# make_date(seconds)
# Converts a Unix date/time in seconds to a human-readable form
sub make_date
{
local(@tm);
@tm = localtime($_[0]);
return sprintf "%d/%s/%d %2.2d:%2.2d",
		$tm[3], $text{"smonth_".($tm[4]+1)},
		$tm[5]+1900, $tm[2], $tm[1];
}

# file_chooser_button(input, type, [form], [chroot])
# Return HTML for a file chooser button, if the browser supports Javascript.
# Type values are 0 for file or directory, or 1 for directory only
sub file_chooser_button
{
local $form = @_ > 2 ? $_[2] : 0;
local $chroot = @_ > 3 ? $_[3] : "/";
return "<input type=button onClick='ifield = document.forms[$form].$_[0]; chooser = window.open(\"$gconfig{'webprefix'}/chooser.cgi?type=$_[1]&chroot=$chroot&file=\"+ifield.value, \"chooser\", \"toolbar=no,menubar=no,scrollbar=no,width=400,height=300\"); chooser.ifield = ifield' value=\"...\">\n";
}

# read_acl(&array, &array)
# Reads the acl file into the given associative arrays
sub read_acl
{
local($user, $_, @mods);
if (!defined(%main::acl_hash_cache)) {
	open(ACL, &acl_filename());
	while(<ACL>) {
		if (/^([^:]+):\s*(.*)/) {
			local(@mods);
			$user = $1;
			@mods = split(/\s+/, $2);
			foreach $m (@mods) {
				$main::acl_hash_cache{$user,$m}++;
				}
			$main::acl_array_cache{$user} = \@mods;
			}
		}
	close(ACL);
	}
if ($_[0]) { %{$_[0]} = %main::acl_hash_cache; }
if ($_[1]) { %{$_[1]} = %main::acl_array_cache; }
}

# acl_filename()
# Returns the file containing the webmin ACL
sub acl_filename
{
return "$config_directory/webmin.acl";
}

# acl_check()
# Does nothing, but kept around for compatability
sub acl_check
{
}

# get_miniserv_config(&array)
# Store miniserv configuration into the given array
sub get_miniserv_config
{
return &read_file($ENV{'MINISERV_CONFIG'} ? $ENV{'MINISERV_CONFIG'} :
		  "$config_directory/miniserv.conf", $_[0]);
}

# put_miniserv_config(&array)
# Store miniserv configuration from the given array
sub put_miniserv_config
{
&write_file($ENV{'MINISERV_CONFIG'} ? $ENV{'MINISERV_CONFIG'} :
	    "$config_directory/miniserv.conf", $_[0]);
}

# restart_miniserv()
# Send a HUP signal to miniserv
sub restart_miniserv
{
local($pid, %miniserv, $addr, $i);
&get_miniserv_config(\%miniserv) || return;
$miniserv{'inetd'} && return;
open(PID, $miniserv{'pidfile'}) || &error("Failed to open pid file");
chop($pid = <PID>);
close(PID);
if (!$pid) { &error("Invalid pid file"); }
&kill_logged('HUP', $pid);

# wait for miniserv to come back up
$addr = inet_aton($miniserv{'bind'} ? $miniserv{'bind'} : "127.0.0.1");
for($i=0; $i<20; $i++) {
	sleep(1);
	socket(STEST, PF_INET, SOCK_STREAM, getprotobyname("tcp"));
	$rv = connect(STEST, sockaddr_in($miniserv{'port'}, $addr));
	close(STEST);
	if ($rv) { last; }
	}
if ($i == 20) { &error("Failed to restart Webmin server!"); }
}

# check_os_support(&minfo)
sub check_os_support
{
local $oss = $_[0]->{'os_support'};
return 1 if (!$oss || $oss eq '*');
while(1) {
	local ($os, $ver, $codes);
	if ($oss =~ /^([^\/\s]+)\/([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
		$os = $1; $ver = $2; $codes = $3; $oss = $4;
		}
	elsif ($oss =~ /^([^\/\s]+)\/([^\/\s]+)\s*(.*)$/) {
		$os = $1; $ver = $2; $oss = $3;
		}
	elsif ($oss =~ /^([^\{\s]+)\{([^\}]*)\}\s*(.*)$/) {
		$os = $1; $codes = $2; $oss = $3;
		}
	elsif ($oss =~ /^\{([^\}]*)\}\s*(.*)$/) {
		$codes = $1; $oss = $2;
		}
	elsif ($oss =~ /^(\S+)\s*(.*)$/) {
		$os = $1; $oss = $2;
		}
	else { last; }
	next if ($os && $os ne $gconfig{'os_type'});
	next if ($ver && $ver ne $gconfig{'os_version'});
	next if ($codes && !eval $codes);
	return 1;
	}
return 0;
}

# http_download(host, port, page, destfile, [&error], [&callback])
# Download data from a HTTP url to a local file
sub http_download
{
$SIG{ALRM} = "download_timeout";
alarm(60);
local $h = &make_http_connection($_[0], $_[1], 0, "GET", $_[2]);
if (!ref($h)) {
	if ($_[4]) { ${$_[4]} = $h; return; }
	else { &error($h); }
	}
alarm(0);
&write_http_connection($h, "Host: $_[0]\r\n");
&write_http_connection($h, "User-agent: Webmin\r\n");
&write_http_connection($h, "\r\n");
&complete_http_download($h, $_[3], $_[4], $_[5]);
}

# complete_http_download(handle, destfile, [&error], [&callback])
# Do a HTTP download, after the headers have been sent
sub complete_http_download
{
local($line, %header, $s);
local $cbfunc = $_[3];

# read headers
alarm(60);
($line = &read_http_connection($_[0])) =~ s/\r|\n//g;
if ($line !~ /^HTTP\/1\..\s+(200|302|301)\s+/) {
	if ($_[2]) { ${$_[2]} = $line; return; }
	else { &error("Download failed : $line"); }
	}
local $rcode = $1;
&$cbfunc(1, $rcode == 302 || $rcode == 301 ? 1 : 0) if ($cbfunc);
while(($line = &read_http_connection($_[0])) =~ /^(\S+):\s+(.*)$/) {
	$header{lc($1)} = $2;
	}
alarm(0);
&$cbfunc(2, $header{'content-length'}) if ($cbfunc);
if ($rcode == 302 || $rcode == 301) {
	# follow the redirect
	&$cbfunc(5, $header{'location'}) if ($cbfunc);
	local ($host, $port, $page);
	if ($header{'location'} =~ /^http:\/\/([^:]+):(\d+)(\/.*)$/) {
		$host = $1; $port = $2; $page = $3;
		}
	elsif ($header{'location'} =~ /^http:\/\/([^:\/]+)(\/.*)$/) {
		$host = $1; $port = 80; $page = $2;
		}
	else {
		if ($_[2]) { ${$_[2]} = "Missing Location header"; return; }
		else { &error("Missing Location header"); }
		}
	&http_download($host, $port, $page, $_[1], $_[2], $cbfunc);
	}
else {
	# read data
	if (ref($_[1])) {
		# Append to a variable
		while(defined($buf = &read_http_connection($_[0], 1024))) {
			${$_[1]} .= $buf;
			&$cbfunc(3, length(${$_[1]})) if ($cbfunc);
			}
		}
	else {
		# Write to a file
		local $got = 0;
		open(PFILE, "> $_[1]");
		while(defined($buf = &read_http_connection($_[0], 1024))) {
			print PFILE $buf;
			$got += length($buf);
			&$cbfunc(3, $got) if ($cbfunc);
			}
		close(PFILE);
		if ($header{'content-length'} &&
		    $got != $header{'content-length'}) {
			if ($_[2]) { ${$_[2]} = "Download incomplete"; return; }
			else { &error("Download incomplete"); }
			}
		}
	&$cbfunc(4) if ($cbfunc);
	}
&close_http_connection($_[0]);
}


# ftp_download(host, file, destfile, [&error], [&callback])
# Download data from an FTP site to a local file
sub ftp_download
{
local($buf, @n);
local $cbfunc = $_[4];

$SIG{ALRM} = "download_timeout";
alarm(60);
if ($gconfig{'ftp_proxy'} =~ /^http:\/\/(\S+):(\d+)/ && !&no_proxy($_[0])) {
	# download through http-style proxy
	&open_socket($1, $2, "SOCK", $_[3]) || return 0;
	print SOCK "GET ftp://$_[0]$_[1] HTTP/1.0\r\n";
	print SOCK "User-agent: Webmin\r\n";
	print SOCK "\r\n";
	&complete_http_download({ 'fh' => "SOCK" }, $_[2], $_[3], $_[4]);
	}
else {
	# connect to host and login
	&open_socket($_[0], 21, "SOCK", $_[3]) || return 0;
	alarm(0);
	&ftp_command("", 2, $_[3]) || return 0;
	&ftp_command("user anonymous", 3, $_[3]) || return 0;
	&ftp_command("pass root\@".&get_system_hostname(), 2, $_[3]) || return 0;
	&$cbfunc(1, 0) if ($cbfunc);

	# get the file size and tell the callback
	local $size = &ftp_command("size $_[1]", 2, $_[3]);
	defined($size) || return 0;
	if ($cbfunc) {
		&$cbfunc(2, int($size));
		}

	# request the file
	&ftp_command("type i", 2, $_[3]) || return 0;
	local $pasv = &ftp_command("pasv", 2, $_[3]);
	defined($pasv) || return 0;
	$pasv =~ /\(([0-9,]+)\)/;
	@n = split(/,/ , $1);
	&open_socket("$n[0].$n[1].$n[2].$n[3]", $n[4]*256 + $n[5], "CON", $_[3]) || return 0;
	&ftp_command("retr $_[1]", 1, $_[3]) || return 0;

	# transfer data
	local $got = 0;
	open(PFILE, "> $_[2]");
	while(read(CON, $buf, 1024) > 0) {
		print PFILE $buf;
		$got += length($buf);
		&$cbfunc(3, $got) if ($cbfunc);
		}
	close(PFILE);
	close(CON);
	if ($got != $size) {
		if ($_[3]) { ${$_[3]} = "Download incomplete"; return 0; }
		else { &error("Download incomplete"); }
		}
	&$cbfunc(4) if ($cbfunc);

	# finish off..
	&ftp_command("", 2, $_[3]) || return 0;
	&ftp_command("quit", 2, $_[3]) || return 0;
	close(SOCK);
	}
return 1;
}

# no_proxy(host)
# Checks if some host is on the no proxy list
sub no_proxy
{
foreach $n (split(/\s+/, $gconfig{'noproxy'})) {
	if ($_[0] =~ /$n/) { return 1; }
	}
return 0;
}

# open_socket(host, port, handle, [&error])
sub open_socket
{
local($addr, $h); $h = $_[2];
if (!socket($h, PF_INET, SOCK_STREAM, getprotobyname("tcp"))) {
	if ($_[3]) { ${$_[3]} = "Failed to create socket : $!"; return 0; }
	else { &error("Failed to create socket : $!"); }
	}
if (!($addr = inet_aton($_[0]))) {
	if ($_[3]) { ${$_[3]} = "Failed to lookup IP address for $_[0]"; return 0; }
	else { &error("Failed to lookup IP address for $_[0]"); }
	}
if (!connect($h, sockaddr_in($_[1], $addr))) {
	if ($_[3]) { ${$_[3]} = "Failed to connect to $_[0]:$_[1] : $!"; return 0; }
	else { &error("Failed to connect to $_[0]:$_[1] : $!"); }
	}
select($h); $| =1; select(STDOUT);
return 1;
}


# download_timeout()
# Called when a download times out
sub download_timeout
{
&error("Timeout downloading $in{url}");
}


# ftp_command(command, expected, [&error])
# Send an FTP command, and die if the reply is not what was expected
sub ftp_command
{
local($line, $rcode, $reply);
$what = $_[0] ne "" ? "<i>$_[0]</i>" : "initial connection";
if ($_[0] ne "") {
        print SOCK "$_[0]\r\n";
        }
alarm(60);
if (!($line = <SOCK>)) {
	if ($_[2]) { ${$_[2]} = "Failed to read reply to $what"; return undef; }
	else { &error("Failed to read reply to $what"); }
        }
$line =~ /^(...)(.)(.*)$/;
if (int($1/100) != $_[1]) {
	if ($_[2]) { ${$_[2]} = "$what failed : $3"; return undef; }
	else { &error("$what failed : $3"); }
        }
$rcode = $1; $reply = $3;
if ($2 eq "-") {
        # Need to skip extra stuff..
        while(1) {
                if (!($line = <SOCK>)) {
			if ($_[2]) { ${$_[2]} = "Failed to read reply to $what";
				     return undef; }
			else { &error("Failed to read reply to $what"); }
                        }
                $line =~ /^(....)(.*)$/; $reply .= $2;
		if ($1 eq "$rcode ") { last; }
                }
        }
alarm(0);
return $reply;
}

# to_ipaddress(hostname)
# Converts a hostname to an a.b.c.d format IP address
sub to_ipaddress
{
if (&check_ipaddress($_[0])) {
	return $_[0];
	}
else {
	local(@ip);
	@ip = unpack("CCCC", gethostbyname($_[0]));
	if (@ip) { return join("." , @ip); }
	else { return undef; }
	}
}

# icons_table(&links, &titles, &icons, [columns], [href])
# Renders a 4-column table of icons
sub icons_table
{
local ($i, $need_tr);
local $cols = $_[3] ? $_[3] : 4;
local $per = int(100.0 / $cols);
print "<table width=100% cellpadding=5>\n";
for($i=0; $i<@{$_[0]}; $i++) {
	if ($i%$cols == 0) { print "<tr>\n"; }
	print "<td width=$per% align=center valign=top>\n";
	&generate_icon($_[2]->[$i], $_[1]->[$i], $_[0]->[$i], $_[4]);
	print "</td>\n";
        if ($i%$cols == $cols-1) { print "</tr>\n"; }
        }
while($i++%$cols) { print "<td width=$per%></td>\n"; $need_tr++; }
print "</tr>\n" if ($need_tr);
print "</table><p>\n";
}

# replace_file_line(file, line, [newline]*)
# Replaces one line in some file with 0 or more new lines
sub replace_file_line
{
local(@lines);
open(FILE, $_[0]);
@lines = <FILE>;
close(FILE);
if (@_ > 2) { splice(@lines, $_[1], 1, @_[2..$#_]); }
else { splice(@lines, $_[1], 1); }
open(FILE, "> $_[0]");
print FILE @lines;
close(FILE);
}

# read_file_lines(file)
# Returns a reference to an array containing the lines from some file. This
# array can be modified, and will be written out when flush_file_lines()
# is called.
sub read_file_lines
{
if (!$file_cache{$_[0]}) {
        local(@lines, $_);
        open(READFILE, $_[0]);
        while(<READFILE>) {
                s/\r|\n//g;
                push(@lines, $_);
                }
        close(READFILE);
        $file_cache{$_[0]} = \@lines;
        }
return $file_cache{$_[0]};
}

# flush_file_lines()
sub flush_file_lines
{
foreach $f (keys %file_cache) {
        open(FLUSHFILE, "> $f");
        foreach $line (@{$file_cache{$f}}) {
                print FLUSHFILE $line,"\n";
                }
        close(FLUSHFILE);               
        }                               
undef(%file_cache);
}                                       

# unix_user_input(fieldname, user)
# Returns HTML for an input to select a Unix user
sub unix_user_input
{
return "<input name=$_[0] size=8 value=\"$_[1]\"> ".
       &user_chooser_button($_[0], 0)."\n";
}

# unix_group_input(fieldname, user)
# Returns HTML for an input to select a Unix group
sub unix_group_input
{
return "<input name=$_[0] size=8 value=\"$_[1]\"> ".
       &group_chooser_button($_[0], 0)."\n";
}

# hlink(text, page, [module])
sub hlink
{
local $mod = $_[2] ? $_[2] : $module_name;
return "<a onClick='window.open(\"$gconfig{'webprefix'}/help.cgi/$mod/$_[1]\", \"help\", \"toolbar=no,menubar=no,scrollbars=yes,width=400,height=300,resizable=yes\"); return false' href=\"$gconfig{'webprefix'}/help.cgi/$mod/$_[1]\">$_[0]</a>";
}

# user_chooser_button(field, multiple, [form])
# Returns HTML for a javascript button for choosing a Unix user or users
sub user_chooser_button
{
local $form = @_ > 2 ? $_[2] : 0;
local $w = $_[1] ? 500 : 300;
return "<input type=button onClick='ifield = document.forms[$form].$_[0]; chooser = window.open(\"$gconfig{'webprefix'}/user_chooser.cgi?multi=$_[1]&user=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=$w,height=200\"); chooser.ifield = ifield' value=\"...\">\n";
}

# group_chooser_button(field, multiple, [form])
# Returns HTML for a javascript button for choosing a Unix group or groups
sub group_chooser_button
{
local $form = @_ > 2 ? $_[2] : 0;
local $w = $_[1] ? 500 : 300;
return "<input type=button onClick='ifield = document.forms[$form].$_[0]; chooser = window.open(\"$gconfig{'webprefix'}/group_chooser.cgi?multi=$_[1]&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=$w,height=200\"); chooser.ifield = ifield' value=\"...\">\n";
}

# foreign_check(module)
# Checks if some other module exists and is supported on this OS
sub foreign_check
{
local %minfo;
&read_file_cached("$root_directory/$_[0]/module.info", \%minfo) || return 0;
return &check_os_support(\%minfo);
}

# foreign_require(module, file)
# Brings in functions from another module
sub foreign_require
{
return 1 if ($main::done_foreign_require{$_[0],$_[1]}++);
local $pkg = $_[0] ? $_[0] : "global";
local @OLDINC = @INC;
@INC = &unique("$root_directory/$_[0]", @INC);
chdir("$root_directory/$_[0]") if (!$module_name && $_[0]);
eval <<EOF;
package $pkg;
\$ENV{'FOREIGN_MODULE_NAME'} = '$_[0]';
\$ENV{'FOREIGN_ROOT_DIRECTORY'} = '$root_directory';
do "$root_directory/$_[0]/$_[1]";
EOF
@OLDINC = @INC;
if ($@) { &error("require $_[0]/$_[1] failed : $@"); }
return 1;
}

# foreign_call(module, function, [arg]*)
# Call a function in another module
sub foreign_call
{
local $pkg = $_[0] ? $_[0] : "global";
local @args = @_[2 .. @_-1];
$main::foreign_args = \@args;
local @rv = eval <<EOF;
package $pkg;
&$_[1](\@{\$main::foreign_args});
EOF
if ($@) { &error("$_[0]::$_[1] failed : $@"); }
return wantarray ? @rv : $rv[0];
}

# foreign_config(module)
# Get the configuration from another module
sub foreign_config
{
local %fconfig;
&read_file_cached("$config_directory/$_[0]/config", \%fconfig);
return %fconfig;
}

# get_system_hostname()
# Returns the hostname of this system
sub get_system_hostname
{
if (!$get_system_hostname) {
	chop($get_system_hostname = `hostname 2>/dev/null`);
	if ($?) {
		use Sys::Hostname;
		$get_system_hostname = eval "hostname()";
		if ($@) { $get_system_hostname = "UNKNOWN"; }
		}
	}
return $get_system_hostname;
}

# get_webmin_version()
# Returns the version of Webmin currently being run
sub get_webmin_version
{
if (!$get_webmin_version) {
	open(VERSION, "$root_directory/version") || return 0;
	($get_webmin_version = <VERSION>) =~ s/\r|\n//g;
	close(VERSION);
	}
return $get_webmin_version;
}

# get_module_acl([user], [module])
# Returns an array containing access control options for the given user
sub get_module_acl
{
local %rv;
local $u = defined($_[0]) ? $_[0] : $base_remote_user;
local $m = defined($_[1]) ? $_[1] : $module_name;
&read_file_cached("$root_directory/$m/defaultacl", \%rv);
if ($gconfig{"risk_$u"} && $m) {
	local $rf = $gconfig{"risk_$u"}.'.risk';
	&read_file_cached("$root_directory/$m/$rf", \%rv);

	local $sf = $gconfig{"skill_$u"}.'.skill';
	&read_file_cached("$root_directory/$m/$sf", \%rv);
	}
else {
	&read_file_cached("$config_directory/$m/$u.acl", \%rv);
	if ($remote_user ne $base_remote_user && !defined($_[0])) {
		&read_file_cached("$config_directory/$m/$remote_user.acl",\%rv);
		}
	}
return %rv;
}

# save_module_acl(&acl, [user], [module])
# Updates the acl hash for some user and module (or the current one)
sub save_module_acl
{
local $u = $_[1] ? $_[1] : $base_remote_user;
local $m = $_[2] ? $_[2] : $module_name;
&write_file("$config_directory/$m/$u.acl", $_[0]);
}

# init_config()
# Sets the following variables
#  %config - Per-module configuration
#  %gconfig - Global configuration
#  $tb - Background for table headers
#  $cb - Background for table bodies
#  $scriptname - Base name of the current perl script
#  $module_name - The name of the current module
#  $module_config_directory - The config directory for this module
#  $webmin_logfile - The detailed logfile for webmin
#  $remote_user - The actual username used to login to webmin
#  $base_remote_user - The username whose permissions are in effect
#  $current_theme - The theme currently in use
#  $root_directory - The root directory of this webmin install
sub init_config
{
# Read the webmin global config file. This contains the OS type and version,
# OS specific configuration and global options such as proxy servers
&read_file_cached("$config_directory/config", \%gconfig);

# Set PATH and LD_LIBRARY_PATH
$ENV{'PATH'} = $gconfig{'path'} if ($gconfig{'path'});
$ENV{$gconfig{'ld_env'}} = $gconfig{'ld_path'} if ($gconfig{'ld_env'});

# Work out which module we are in, and read the per-module config file
if (defined($ENV{'FOREIGN_MODULE_NAME'})) {
	# In a foreign call - use the module name given
	$root_directory = $ENV{'FOREIGN_ROOT_DIRECTORY'};
	$module_name = $ENV{'FOREIGN_MODULE_NAME'};
	}
elsif ($ENV{'SCRIPT_NAME'}) {
	local $sn = $ENV{'SCRIPT_NAME'};
	$sn =~ s/^$gconfig{'webprefix'}//;
	if ($sn =~ /^\/([^\/]+)\//) {
		# Get module name from CGI path
		$module_name = $1;
		}
	if ($ENV{'SERVER_ROOT'}) {
		$root_directory = $ENV{'SERVER_ROOT'};
		}
	elsif ($ENV{'SCRIPT_FILENAME'}) {
		$root_directory = $ENV{'SCRIPT_FILENAME'};
		$root_directory =~ s/$sn$//;
		}
	}
else {
	# Get root directory from miniserv.conf, and deduce module name from $0
	local %miniserv;
	&get_miniserv_config(\%miniserv);
	$root_directory = $miniserv{'root'};
	if ($0 =~ /^$root_directory\/([^\/]+)\/[^\/]+$/) {
		$module_name = $1;
		}
	elsif ($0 !~ /^$root_directory\/[^\/]+$/) {
		&error("Script was not run with full path");
		}
	}
if ($module_name) {
	$module_config_directory = "$config_directory/$module_name";
	&read_file_cached("$module_config_directory/config", \%config);
	%module_info = &get_module_info($module_name);
	$module_root_directory = "$root_directory/$module_name";
	}

# Get the username
local $u = $ENV{'BASE_REMOTE_USER'} ? $ENV{'BASE_REMOTE_USER'}
				    : $ENV{'REMOTE_USER'};
$base_remote_user = $u;
$remote_user = $ENV{'REMOTE_USER'};

# Set some useful variables
$current_theme = defined($gconfig{'theme_'.$remote_user}) ?
		    $gconfig{'theme_'.$remote_user} :
		 defined($gconfig{'theme_'.$base_remote_user}) ?
		    $gconfig{'theme_'.$base_remote_user} :
		    $gconfig{'theme'};
if ($current_theme) {
	&read_file_cached("$root_directory/$current_theme/config", \%tconfig);
	}
$tb = defined($tconfig{'cs_header'}) ? "bgcolor=#$tconfig{'cs_header'}" :
      defined($gconfig{'cs_header'}) ? "bgcolor=#$gconfig{'cs_header'}" :
				       "bgcolor=#9999ff";
$cb = defined($tconfig{'cs_table'}) ? "bgcolor=#$tconfig{'cs_table'}" :
      defined($gconfig{'cs_table'}) ? "bgcolor=#$gconfig{'cs_table'}" :
				      "bgcolor=#cccccc";
$tb .= ' '.$tconfig{'tb'} if ($tconfig{'tb'});
$cb .= ' '.$tconfig{'cb'} if ($tconfig{'cb'});
$0 =~ /([^\/]+)$/;
$scriptname = $1;
$webmin_logfile = $gconfig{'webmin_log'} ? $gconfig{'webmin_log'}
					 : "$var_directory/webmin.log";

# Load language strings into %text
$current_lang = $force_lang ? $force_lang :
    $gconfig{"lang_$remote_user"} ? $gconfig{"lang_$remote_user"} :
    $gconfig{"lang_$base_remote_user"} ? $gconfig{"lang_$base_remote_user"} :
    $gconfig{"lang"} ? $gconfig{"lang"} : $default_lang;
local $l;
foreach $l (&list_languages()) {
	$current_lang_info = $l if ($l->{'lang'} eq $current_lang);
	}
@lang_order_list = &unique($default_lang,
		     	   split(/:/, $current_lang_info->{'fallback'}),
			   $current_lang);
%text = &load_language($module_name);
%text || &error("Failed to determine Webmin root from SERVER_ROOT or SCRIPT_FILENAME");

# Check if the HTTP user can access this module
if ($module_name && !$main::no_acl_check &&
    !defined($ENV{'FOREIGN_MODULE_NAME'})) {
	local(%acl, %minfo);
	&read_acl(\%acl, undef);
	local $risk = $gconfig{'risk_'.$u};
	if ($risk) {
		$risk eq 'high' || !$module_info{'risk'} ||
		    $module_info{'risk'} =~ /$risk/ ||
			&error(&text('emodule', "<i>$u</i>",
				     "<i>$module_info{'desc'}</i>"));
		$user_risk_level = $risk;
		$user_skill_level = $gconfig{'skill_'.$u};
		}
	else {
		$acl{$u,$module_name} || $acl{$u,'*'} ||
			&error(&text('emodule', "<i>$u</i>",
				     "<i>$module_info{'desc'}</i>"));
		}
	$main::no_acl_check++;
	}

# Check the Referer: header for nasty redirects
local @referers = split(/\s+/, $gconfig{'referers'});
local $referer_site;
if ($ENV{'HTTP_REFERER'} =~/^(http|https|ftp):\/\/([^:\/]+:[^@\/]+@)?([^\/:@]+)/) {
	$referer_site = $3;
	}
local $http_host = $ENV{'HTTP_HOST'};
$http_host =~ s/:\d+$//;
if ($0 && $ENV{'SCRIPT_NAME'} !~ /^\/(index.cgi)?$/ && $0 !~ /referer_save\.cgi$/ &&
    $0 !~ /session_login\.cgi$/ && !$gconfig{'referer'} &&
    $ENV{'MINISERV_CONFIG'} && !$main::no_referers_check &&
    $ENV{'HTTP_USER_AGENT'} !~ /^Webmin/i &&
    ($referer_site && $referer_site ne $http_host &&
     &indexof($referer_site, @referers) < 0 ||
    !$referer_site && $gconfig{'referers_none'} && !$trust_unknown_referers)) {
	# Looks like a link from elsewhere ..
	&header($text{'referer_title'}, "", undef, 0, 1, 1);
	print "<hr><center>\n";
	print "<form action=/referer_save.cgi>\n";
	&ReadParse();
	foreach $k (keys %in) {
		foreach $kk (split(/\0/, $in{$k})) {
			print "<input type=hidden name=$k value='$kk'>\n";
			}
		}
	print "<input type=hidden name=referer_original ",
	      "value='$ENV{'REQUEST_URI'}'>\n";

	$prot = lc($ENV{'HTTPS'}) eq 'on' ? "https" : "http";
	local $url = "<tt>$prot://$ENV{'HTTP_HOST'}$ENV{'REQUEST_URI'}</tt>";
	if ($referer_site) {
		print "<p>",&text('referer_warn',
		      "<tt>$ENV{'HTTP_REFERER'}</tt>", $url),"<p>\n";
		}
	else {
		print "<p>",&text('referer_warn_unknown', $url),"<p>\n";
		}
	print "<input type=submit value='$text{'referer_ok'}'><br>\n";
	print "<input type=checkbox name=referer_again value=1> ",
	      "$text{'referer_again'}<p>\n";
	print "</form></center><hr>\n";
	&footer("/", $text{'index'});
	exit;
	}
$main::no_referers_check++;

return 1;
}

$default_lang = "en";

# load_language(module)
# Returns a hashtable mapping text codes to strings in the appropriate language
sub load_language
{
local %text;
local $root = $root_directory;
local $ol = $gconfig{'overlang'};
local $o;

# Read global lang files
foreach $o (@lang_order_list) {
	local $ok = &read_file_cached("$root/lang/$o", \%text);
	return () if (!$ok && $o eq $default_lang);
	}
if ($ol) {
	foreach $o (@lang_order_list) {
		&read_file_cached("$root/$ol/$o", \%text);
		}
	}
&read_file_cached("$config_directory/custom-lang", \%text);

if ($_[0]) {
	# Read module's lang files
	foreach $o (@lang_order_list) {
		&read_file_cached("$root/$_[0]/lang/$o", \%text);
		}
	if ($ol) {
		foreach $o (@lang_order_list) {
			&read_file_cached("$root/$_[0]/$ol/$o", \%text);
			}
		}
	&read_file_cached("$config_directory/$_[0]/custom-lang", \%text);
	}
foreach $k (keys %text) {
	$text{$k} =~ s/\$([A-Za-z0-9\.\-\_]+)/text_subs($1,\%text)/ge;
	}
return %text;
}

sub text_subs
{
local $t = $_[1]->{$_[0]};
return defined($t) ? $t : '$'.$_[0];
}

# text(message, [substitute]+)
sub text
{
local $rv = $text{$_[0]};
local $i;
for($i=1; $i<@_; $i++) {
	$rv =~ s/\$$i/$_[$i]/g;
	}
return $rv;
}

# terror(text params)
sub terror
{
&error(&text(@_));
}

# encode_base64(string)
# Encodes a string into base64 format
sub encode_base64
{
    local $res;
    pos($_[0]) = 0;                          # ensure start at the beginning
    while ($_[0] =~ /(.{1,57})/gs) {
        $res .= substr(pack('u57', $1), 1)."\n";
        chop($res);
    }
    $res =~ tr|\` -_|AA-Za-z0-9+/|;
    local $padding = (3 - length($_[0]) % 3) % 3;
    $res =~ s/.{$padding}$/'=' x $padding/e if ($padding);
    return $res;
}

# decode_base64(string)
# Converts a base64 string into plain text
sub decode_base64
{
    local $str = $_[0];
    local $res;
 
    $str =~ tr|A-Za-z0-9+=/||cd;            # remove non-base64 chars
    if (length($str) % 4) {
	return undef;
    }
    $str =~ s/=+$//;                        # remove padding
    $str =~ tr|A-Za-z0-9+/| -_|;            # convert to uuencoded format
    while ($str =~ /(.{1,60})/gs) {
        my $len = chr(32 + length($1)*3/4); # compute length byte
        $res .= unpack("u", $len . $1 );    # uudecode
    }
    return $res;
}

# get_module_info(module, [noclone])
# Returns a hash containg a module name, desc and os_support
sub get_module_info
{
return () if ($_[0] =~ /^\./);
local (%rv, $clone, $o);
&read_file_cached("$root_directory/$_[0]/module.info", \%rv) || return ();
$clone = -l "$root_directory/$_[0]";
foreach $o (@lang_order_list) {
	$rv{"desc"} = $rv{"desc_$o"} if ($rv{"desc_$o"});
	}
if ($clone && !$_[1] && $config_directory) {
	$rv{'clone'} = $rv{'desc'};
	&read_file("$config_directory/$_[0]/clone", \%rv);
	}
$rv{'dir'} = $_[0];
if (!defined(%module_categories) && $config_directory) {
	%module_categories = ( );
	&read_file_cached("$config_directory/webmin.cats",
			  \%module_categories);
	}
$rv{'realcategory'} = $rv{'category'};
$rv{'category'} = $module_categories{$_[0]}
	if (defined($module_categories{$_[0]}));
return %rv;
}

# get_all_module_infos([nocache])
# Returns a vector contains the information on all modules in this webmin
# install, including clones
sub get_all_module_infos
{
local (%cache, $k, $m, @rv);
local $cache_file = "$config_directory/module.infos.cache";
local @st = stat($root_directory);
if (!$_[0] && &read_file_cached($cache_file, \%cache) &&
    $cache{'lang'} eq $current_lang &&
    $cache{'mtime'} == $st[9]) {
	# Can use existing module.info cache
	local %mods;
	foreach $k (keys %cache) {
		if ($k =~ /^(\S+) (\S+)$/) {
			$mods{$1}->{$2} = $cache{$k};
			}
		}
	return map { $mods{$_} } (keys %mods) if (%mods);
	}

# Need to rebuild cache
%cache = ( );
opendir(DIR, $root_directory);
foreach $m (readdir(DIR)) {
	next if ($m =~ /^(config-|\.)/ || $m =~ /\.(cgi|pl)$/);
	local %minfo = &get_module_info($m);
	next if (!%minfo);
	push(@rv, \%minfo);
	foreach $k (keys %minfo) {
		$cache{"${m} ${k}"} = $minfo{$k};
		}
	}
closedir(DIR);
$cache{'lang'} = $current_lang;
$cache{'mtime'} = $st[9];
&write_file($cache_file, \%cache) if (!$_[0]);
return @rv;
}

# get_theme_info(theme)
# Returns a hash containing a theme's details
sub get_theme_info
{
return () if ($_[0] =~ /^\./);
local (%rv, $o);
&read_file("$root_directory/$_[0]/theme.info", \%rv) || return ();
foreach $o (@lang_order_list) {
	$rv{"desc"} = $rv{"desc_$o"} if ($rv{"desc_$o"});
	}
$rv{"dir"} = $_[0];
return %rv;
}

# list_languages()
# Returns an array of supported languages
sub list_languages
{
if (!@main::list_languages_cache) {
	local ($o, $_);
	open(LANG, "$root_directory/lang_list.txt");
	while(<LANG>) {
		if (/^(\S+)\s+(.*)/) {
			local $l = { 'desc' => $2 };
			foreach $o (split(/,/, $1)) {
				if ($o =~ /^([^=]+)=(.*)$/) {
					$l->{$1} = $2;
					}
				}
			$l->{'index'} = scalar(@rv);
			push(@list_languages_cache, $l);
			}
		}
	close(LANG);
	@main::list_languages_cache = sort { $a->{'desc'} cmp $b->{'desc'} }
				     @main::list_languages_cache;
	}
return @main::list_languages_cache;
}

# read_env_file(file, &array)
sub read_env_file
{
open(FILE, $_[0]) || return 0;
while(<FILE>) {
	s/#.*$//g;
	if (/([A-z0-9_\.]+)\s*=\s*"(.*)"/ ||
	    /([A-z0-9_\.]+)\s*=\s*'(.*)'/ ||
	    /([A-z0-9_\.]+)\s*=\s*(.*)/) {
		$_[1]->{$1} = $2;
		}
	}
close(FILE);
return 1;
}

# write_env_file(file, &array, export)
sub write_env_file
{
local $k;
local $exp = $_[2] ? "export " : "";
open(FILE, ">$_[0]");
foreach $k (keys %{$_[1]}) {
	local $v = $_[1]->{$k};
	if ($v =~ /^\S+$/) {
		print FILE "$exp$k=$v\n";
		}
	else {
		print FILE "$exp$k=\"$v\"\n";
		}
	}
close(FILE);
}

# lock_file(filename, [readonly], [forcefile])
# Lock a file for exclusive access. If the file is already locked, spin
# until it is freed. This version uses a .lock file, which is not very reliable.
sub lock_file
{
return if (!$_[0] || defined($main::locked_file_list{$_[0]}));
local $lock_tries_count = 0;
while(1) {
	local $pid;
	if (open(LOCKING, "$_[0].lock")) {
		chop($pid = <LOCKING>);
		close(LOCKING);
		}
	if (!$pid || !kill(0, $pid) || $pid == $$) {
		# got the lock!
		open(LOCKING, ">$_[0].lock");
		print LOCKING $$,"\n";
		close(LOCKING);
		$main::locked_file_list{$_[0]} = int($_[1]);
		if ($gconfig{'logfiles'} && !$_[1]) {
			# Grab a copy of this file for later diffing
			local $lnk;
			$main::locked_file_data{$_[0]} = undef;
			if (-d $_[0]) {
				$main::locked_file_type{$_[0]} = 1;
				$main::locked_file_data{$_[0]} = '';
				}
			elsif (!$_[2] && ($lnk = readlink($_[0]))) {
				$main::locked_file_type{$_[0]} = 2;
				$main::locked_file_data{$_[0]} = $lnk;
				}
			elsif (open(ORIGFILE, $_[0])) {
				$main::locked_file_type{$_[0]} = 0;
				$main::locked_file_data{$_[0]} = '';
				while(<ORIGFILE>) {
					$main::locked_file_data{$_[0]} .= $_;
					}
				close(ORIGFILE);
				}
			}
		last;
		}
	sleep(1);
	if ($lock_tries_count++ > 5*60) {
		# Give up after 5 minutes
		&error(&text('elock_tries', "<tt>$_[0]</tt>", 5));
		}
	}
}

# unlock_file(filename)
# Release a lock on a file. When unlocking a file that was locked in
# read mode, optionally save the update in RCS
sub unlock_file
{
return if (!$_[0] || !defined($main::locked_file_list{$_[0]}));
unlink("$_[0].lock");
delete($main::locked_file_list{$_[0]});
if (exists($main::locked_file_data{$_[0]})) {
	# Diff the new file with the old
	stat($_[0]);
	local $lnk = readlink($_[0]);
	local $type = -d _ ? 1 : $lnk ? 2 : 0;
	local $oldtype = $main::locked_file_type{$_[0]};
	local $new = !defined($main::locked_file_data{$_[0]});
	if ($new && !-e _) {
		# file doesn't exist, and never did! do nothing ..
		}
	elsif ($new && $type == 1 || !$new && $oldtype == 1) {
		# is (or was) a directory ..
		if (-d _ && !defined($main::locked_file_data{$_[0]})) {
			push(@main::locked_file_diff,
			     { 'type' => 'mkdir', 'object' => $_[0] });
			}
		elsif (!-d _ && defined($main::locked_file_data{$_[0]})) {
			push(@main::locked_file_diff,
			     { 'type' => 'rmdir', 'object' => $_[0] });
			}
		}
	elsif ($new && $type == 2 || !$new && $oldtype == 2) {
		# is (or was) a symlink ..
		if ($lnk && !defined($main::locked_file_data{$_[0]})) {
			push(@main::locked_file_diff,
			     { 'type' => 'symlink', 'object' => $_[0],
			       'data' => $lnk });
			}
		elsif (!$lnk && defined($main::locked_file_data{$_[0]})) {
			push(@main::locked_file_diff,
			     { 'type' => 'unsymlink', 'object' => $_[0],
			       'data' => $main::locked_file_data{$_[0]} });
			}
		elsif ($lnk ne $main::locked_file_data{$_[0]}) {
			push(@main::locked_file_diff,
			     { 'type' => 'resymlink', 'object' => $_[0],
			       'data' => $lnk });
			}
		}
	else {
		# is a file, or has changed type?!
		local ($diff, $delete_file);
		local $type = "modify";
		if (!-r _) {
			open(NEWFILE, ">$_[0]");
			close(NEWFILE);
			$delete_file++;
			$type = "delete";
			}
		if (!defined($main::locked_file_data{$_[0]})) {
			$type = "create";
			}
		open(ORIGFILE, ">$_[0].webminorig");
		print ORIGFILE $main::locked_file_data{$_[0]};
		close(ORIGFILE);
		$diff = `diff "$_[0].webminorig" "$_[0]"`;
		push(@main::locked_file_diff,
		     { 'type' => $type, 'object' => $_[0],
		       'data' => $diff } ) if ($diff);
		unlink("$_[0].webminorig");
		unlink($_[0]) if ($delete_file);
		}
	delete($main::locked_file_data{$_[0]});
	delete($main::locked_file_type{$_[0]});
	}
}

# unlock_all_files()
# Unlocks all files locked by this program
sub unlock_all_files
{
foreach $f (keys %main::locked_file_list) {
	&unlock_file($f);
	}
}

# webmin_log(action, type, object, &params, [module])
# Log some action taken by a user
sub webmin_log
{
return if (!$gconfig{'log'});
local $m = $_[4] ? $_[4] : $module_name;

if ($gconfig{'logclear'}) {
	# check if it is time to clear the log
	local @st = stat("$webmin_logfile.time");
	local $write_logtime = 0;
	if (@st) {
		if ($st[9]+$gconfig{'logtime'}*60*60 < time()) {
			# clear logfile and all diff files
			system("rm -f $ENV{'WEBMIN_VAR'}/diffs/* 2>/dev/null");
			unlink($webmin_logfile);
			$write_logtime = 1;
			}
		}
	else { $write_logtime = 1; }
	if ($write_logtime) {
		open(LOGTIME, ">$webmin_logfile.time");
		print LOGTIME time(),"\n";
		close(LOGTIME);
		}
	}

# should logging be done at all?
return if ($gconfig{'logusers'} && &indexof($base_remote_user,
	   split(/\s+/, $gconfig{'logusers'})) < 0);
return if ($gconfig{'logmodules'} && &indexof($m,
	   split(/\s+/, $gconfig{'logmodules'})) < 0);

# log the action
local $now = time();
local @tm = localtime($now);
local $script_name = $0 =~ /([^\/]+)$/ ? $1 : '-';
local $id = sprintf "%d.%d.%d",
		$now, $$, $main::action_id_count;
$main::action_id_count++;
local $line = sprintf "%s [%2.2d/%s/%4.4d %2.2d:%2.2d:%2.2d] %s %s %s %s %s \"%s\" \"%s\" \"%s\"",
	$id, $tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900,
	$tm[2], $tm[1], $tm[0],
	$remote_user, $main::session_id ? $main::session_id : '-',
	$ENV{'REMOTE_HOST'},
	$m, $script_name,
	$_[0], $_[1] ne '' ? $_[1] : '-', $_[2] ne '' ? $_[2] : '-';
foreach $k (sort { $a cmp $b } keys %{$_[3]}) {
	local $v = $_[3]->{$k};
	if ($v eq '') {
		$line .= " $k=''";
		}
	elsif (ref($v) eq 'ARRAY') {
		foreach $vv (@$v) {
			next if (ref($vv));
			$vv =~ s/(['"\\\r\n\t\%])/sprintf("%%%2.2X",ord($1))/ge;
			$line .= " $k='$vv'";
			}
		}
	elsif (!ref($v)) {
		foreach $vv (split(/\0/, $v)) {
			$vv =~ s/(['"\\\r\n\t\%])/sprintf("%%%2.2X",ord($1))/ge;
			$line .= " $k='$vv'";
			}
		}
	}
open(WEBMINLOG, ">>$webmin_logfile");
print WEBMINLOG $line,"\n";
close(WEBMINLOG);

if ($gconfig{'logfiles'}) {
	# Find and record the changes made to any locked files
	local $i = 0;
	mkdir("$ENV{'WEBMIN_VAR'}/diffs", 0700);
	foreach $d (@main::locked_file_diff) {
		open(DIFFLOG, ">$ENV{'WEBMIN_VAR'}/diffs/$id.$i");
		print DIFFLOG "$d->{'type'} $d->{'object'}\n";
		print DIFFLOG $d->{'data'};
		close(DIFFLOG);
		$i++;
		}
	@main::locked_file_diff = undef;
	}
}

# additional_log(type, object, data)
# Records additional log data for an upcoming call to webmin_log, such
# as command that was run or SQL that was executed.
sub additional_log
{
if ($gconfig{'logfiles'}) {
	push(@main::locked_file_diff,
	     { 'type' => $_[0], 'object' => $_[1], 'data' => $_[2] } );
	}
}

# system_logged(command)
# Just calls the system() function, but also logs the command
sub system_logged
{
local $cmd = join(" ", @_);
local $and;
if ($cmd =~ s/(\s*&\s*)$//) {
	$and = $1;
	}
while($cmd =~ s/(\d*)(<|>)((\/\S+)|&\d+)\s*$//) { }
$cmd =~ s/^\((.*)\)\s*$/$1/;
$cmd .= $and;
&additional_log('exec', undef, $cmd);
return system(@_);
}

# backquote_logged(command)
# Executes a command and returns the output (like `cmd`), but also logs it
sub backquote_logged
{
local $cmd = $_[0];
local $and;
if ($cmd =~ s/(\s*&\s*)$//) {
	$and = $1;
	}
while($cmd =~ s/(\d*)(<|>)((\/\S+)|&\d+)\s*$//) { }
$cmd =~ s/^\((.*)\)\s*$/$1/;
$cmd .= $and;
&additional_log('exec', undef, $cmd);
return `$_[0]`;
}

# kill_logged(signal, pid, ...)
sub kill_logged
{
&additional_log('kill', $_[0], join(" ", @_[1..@_-1])) if (@_ > 1);
return kill(@_);
}

# rename_logged(old, new)
sub rename_logged
{
&additional_log('rename', $_[0], $_[1]) if ($_[0] ne $_[1]);
return rename($_[0], $_[1]);
}

# remote_foreign_require(server, module, file)
# Connect to rpc.cgi on a remote webmin server and have it open a session
# to a process that will actually do the require and run functions.
sub remote_foreign_require
{
local $call = { 'action' => 'require',
		'module' => $_[1],
		'file' => $_[2] };
if ($remote_session{$_[0]}) {
	$call->{'session'} = $remote_session{$_[0]};
	}
else {
	$call->{'newsession'} = 1;
	}
local $rv = &remote_rpc_call($_[0], $call);
$remote_session{$_[0]} = $rv->{'session'} if ($rv->{'session'});
}

# remote_foreign_call(server, module, function, [arg]*)
# Call a function on a remote server. Must have been setup first with
# remote_foreign_require for the same server and module
sub remote_foreign_call
{
return &remote_rpc_call($_[0], { 'action' => 'call',
				 'module' => $_[1],
				 'func' => $_[2],
				 'session' => $remote_session{$_[0]},
				 'args' => [ @_[3 .. $#_] ] } );
}

# remote_foreign_check(server, module)
# Checks if some module is installed and supported on a remote server
sub remote_foreign_check
{
return &remote_rpc_call($_[0], { 'action' => 'check',
				 'module' => $_[1] });
}

# remote_foreign_config(server, module)
# Gets the configuration for some module from a remote server
sub remote_foreign_config
{
return &remote_rpc_call($_[0], { 'action' => 'config',
				 'module' => $_[1] });
}

# remote_eval(server, module, code)
# Eval some perl code in the context of a module on a remote webmin server
sub remote_eval
{
return &remote_rpc_call($_[0], { 'action' => 'eval',
				 'module' => $_[1],
				 'code' => $_[2],
				 'session' => $remote_session{$_[0]} });
}

# remote_write(server, localfile, [remotefile])
sub remote_write
{
local ($data, $got);
if ($remote_server_version{$_[0]} >= 0.966) {
	# Copy data over TCP connection
	local $rv = &remote_rpc_call($_[0],
			{ 'action' => 'tcpwrite', 'file' => $_[2] } );
	local $error;
	&open_socket($_[0], $rv->[1], TWRITE, \$error);
	return &$remote_error_handler("Failed to transfer file : $error")
		if ($error);
	open(FILE, $_[1]);
	while(read(FILE, $got, 1024) > 0) {
		print TWRITE $got;
		}
	close(FILE);
	close(TWRITE);
	return $rv->[0];
	}
else {
	# Just pass file contents as parameters
	open(FILE, $_[1]);
	while(read(FILE, $got, 1024) > 0) {
		$data .= $got;
		}
	close(FILE);
	return &remote_rpc_call($_[0], { 'action' => 'write',
					 'data' => $data,
					 'file' => $_[2],
					 'session' => $remote_session{$_[0]} });
	}
}

# remote_read(server, localfile, remotefile)
sub remote_read
{
if ($remote_server_version{$_[0]} >= 0.966) {
	# Copy data over TCP connection
	local $rv = &remote_rpc_call($_[0],
			{ 'action' => 'tcpread', 'file' => $_[2] } );
	local $error;
	&open_socket($_[0], $rv->[1], TREAD, \$error);
	return &$remote_error_handler("Failed to transfer file : $error")
		if ($error);
	local $got;
	open(FILE, ">$_[1]");
	while(read(TREAD, $got, 1024) > 0) {
		print FILE $got;
		}
	close(FILE);
	close(TREAD);
	}
else {
	# Just get data as return value
	local $d = &remote_rpc_call($_[0], { 'action' => 'read',
				     'file' => $_[2],
				     'session' => $remote_session{$_[0]} });
	open(FILE, ">$_[1]");
	print FILE $d;
	close(FILE);
	}
}

# remote_finished()
# Close all remote sessions. This happens automatically after a while
# anyway, but this function should be called to clean things up faster.
sub remote_finished
{
foreach $h (keys %remote_session) {
	&remote_rpc_call($h, { 'action' => 'quit',
			       'session' => $remote_session{$h} } );
	}
foreach $fh (keys %fast_fh_cache) {
	close($fh);
	}
}

# remote_error_setup(&function)
# Sets a function to be called instead of &error when a remote RPC fails
sub remote_error_setup
{
$remote_error_handler = $_[0];
}

# remote_rpc_call(server, structure)
# Calls rpc.cgi on some server and passes it a perl structure (hash,array,etc)
# and then reads back a reply structure
sub remote_rpc_call
{
local $serv;
if ($_[0]) {
	# lookup the server in the webmin servers module if needed
	if (!defined(%remote_servers_cache)) {
		&foreign_require("servers", "servers-lib.pl");
		foreach $s (&foreign_call("servers", "list_servers")) {
			$remote_servers_cache{$s->{'host'}} = $s;
			}
		}
	$serv = $remote_servers_cache{$_[0]};
	$serv || return &$remote_error_handler("No Webmin Servers entry for $_[0]");
	}
if ($serv->{'fast'} || !$_[0]) {
	# Make TCP connection call to fastrpc.cgi
	if (!$fast_fh_cache{$_[0]} && $_[0]) {
		# Need to open the connection
		local $con = &make_http_connection(
			$serv->{'host'}, $serv->{'port'}, $serv->{'ssl'},
			"POST", "/fastrpc.cgi");
		return &$remote_error_handler(
		    "Failed to connect to $serv->{'host'} : $con")
			if (!ref($con));
		&write_http_connection($con, "Host: $serv->{'host'}\r\n");
		&write_http_connection($con, "User-agent: Webmin\r\n");
		local $auth = &encode_base64("$serv->{'user'}:$serv->{'pass'}");
		$auth =~ s/\n//g;
		&write_http_connection($con, "Authorization: basic $auth\r\n");
		&write_http_connection($con, "Content-length: ",
					     length($tostr),"\r\n");
		&write_http_connection($con, "\r\n");
		&write_http_connection($con, $tostr);

		# read back the response
		local $line = &read_http_connection($con);
		$line =~ s/\r|\n//g;
		if ($line =~ /^HTTP\/1\..\s+401\s+/) {
			return &$remote_error_handler("Login to RPC server as $serv->{'user'} rejected");
			}
		$line =~ /^HTTP\/1\..\s+200\s+/ || return &$remote_error_handler("HTTP error : $line");
		do {
			$line = &read_http_connection($con);
			$line =~ s/\r|\n//g;
			} while($line);
		$line = &read_http_connection($con);
		if ($line =~ /^0\s+(.*)/) {
			return &$remote_error_handler("RPC error : $1");
			}
		elsif ($line =~ /^1\s+(\S+)\s+(\S+)\s+(\S+)/ ||
		       $line =~ /^1\s+(\S+)\s+(\S+)/) {
			# Started ok .. connect and save SID
			&close_http_connection($con);
			local ($port, $sid, $version, $error) = ($1, $2, $3);
			&open_socket($serv->{'host'}, $port, $sid, \$error);
			return &$remote_error_handler("Failed to connect to fastrpc.cgi : $error")
				if ($error);
			$fast_fh_cache{$_[0]} = $sid;
			$remote_server_version{$_[0]} = $version;
			}
		else {
			while($stuff = &read_http_connection($con)) {
				$line .= $stuff;
				}
			return &$remote_error_handler("Bad response from fastrpc.cgi : $line");
			}
		}
	elsif (!$fast_fh_cache{$_[0]}) {
		# Open the connection by running fastrpc.cgi locally
		pipe(RPCOUTr, RPCOUTw);
		if (!fork()) {
			untie(*STDIN);
			untie(*STDOUT);
			open(STDOUT, ">&RPCOUTw");
			close(STDIN);
			close(RPCOUTr);
			$| = 1;
			$ENV{'REQUEST_METHOD'} = 'GET';
			$ENV{'SCRIPT_NAME'} = '/fastrpc.cgi';
			local %acl;
			if ($base_remote_user ne 'root' &&
			    $base_remote_user ne 'admin') {
				# Need to fake up a login for the CGI!
				&read_acl(undef, \%acl);
				$ENV{'BASE_REMOTE_USER'} =
					$ENV{'REMOTE_USER'} =
						$acl{'root'} ? 'root' : 'admin';
				}
			delete($ENV{'FOREIGN_MODULE_NAME'});
			delete($ENV{'FOREIGN_ROOT_DIRECTORY'});
			chdir($root_directory);
			if (!exec("./fastrpc.cgi")) {
				print "exec failed : $!\n";
				exit 1;
				}
			}
		close(RPCOUTw);
		local $line;
		do {
			($line = <RPCOUTr>) =~ s/\r|\n//g;
			} while($line);
		$line = <RPCOUTr>;
		#close(RPCOUTr);
		if ($line =~ /^0\s+(.*)/) {
			return &$remote_error_handler("RPC error : $2");
			}
		elsif ($line =~ /^1\s+(\S+)\s+(\S+)/) {
			# Started ok .. connect and save SID
			close(SOCK);
			local ($port = $1, $sid = $2, $error);
			&open_socket("localhost", $port, $sid, \$error);
			return &$remote_error_handler("Failed to connect to fastrpc.cgi : $error") if ($error);
			$fast_fh_cache{$_[0]} = $sid;
			}
		else {
			&error("Bad line from fastrpc.cgi : $line");
			}
		}
	# Got a connection .. send off the request
	local $fh = $fast_fh_cache{$_[0]};
	local $tostr = &serialise_variable($_[1]);
	print $fh length($tostr)," $fh\n";
	print $fh $tostr;
	local $rlen = int(<$fh>);
	local ($fromstr, $got);
	while(length($fromstr) < $rlen) {
		return &$remote_error_handler("Failed to read from fastrpc.cgi")
			if (read($fh, $got, $rlen - length($fromstr)) <= 0);
		$fromstr .= $got;
		}
	local $from = &unserialise_variable($fromstr);
	if (defined($from->{'arv'})) {
		return @{$from->{'arv'}};
		}
	else {
		return $from->{'rv'};
		}
	}
else {
	# Call rpc.cgi on remote server
	local $tostr = &serialise_variable($_[1]);
	local $error = 0;
	local $con = &make_http_connection($serv->{'host'}, $serv->{'port'},
					   $serv->{'ssl'}, "POST", "/rpc.cgi");
	return &$remote_error_handler("Failed to connect to $serv->{'host'} : $con") if (!ref($con));

	&write_http_connection($con, "Host: $serv->{'host'}\r\n");
	&write_http_connection($con, "User-agent: Webmin\r\n");
	local $auth = &encode_base64("$serv->{'user'}:$serv->{'pass'}");
	$auth =~ s/\n//g;
	&write_http_connection($con, "Authorization: basic $auth\r\n");
	&write_http_connection($con, "Content-length: ",length($tostr),"\r\n");
	&write_http_connection($con, "\r\n");
	&write_http_connection($con, $tostr);

	# read back the response
	local $line = &read_http_connection($con);
	$line =~ s/\r|\n//g;
	if ($line =~ /^HTTP\/1\..\s+401\s+/) {
		return &$remote_error_handler("Login to RPC server as $serv->{'user'} rejected");
		}
	$line =~ /^HTTP\/1\..\s+200\s+/ || return &$remote_error_handler("RPC HTTP error : $line");
	do {
		$line = &read_http_connection($con);
		$line =~ s/\r|\n//g;
		} while($line);
	local $fromstr;
	while($line = &read_http_connection($con)) {
		$fromstr .= $line;
		}
	close(SOCK);
	local $from = &unserialise_variable($fromstr);
	return &$remote_error_handler("Invalid RPC login to $_[0]") if (!$from->{'status'});
	if (defined($from->{'arv'})) {
		return @{$from->{'arv'}};
		}
	else {
		return $from->{'rv'};
		}
	}
}

# serialise_variable(variable)
# Converts some variable (maybe a scalar, hash ref, array ref or scalar ref)
# into a url-encoded string
sub serialise_variable
{
if (!defined($_[0])) {
	return 'UNDEF';
	}
local $r = ref($_[0]);
local $rv;
if (!$r) {
	$rv = &urlize($_[0]);
	}
elsif ($r eq 'SCALAR') {
	$rv = &urlize(${$_[0]});
	}
elsif ($r eq 'ARRAY') {
	$rv = join(",", map { &urlize(&serialise_variable($_)) } @{$_[0]});
	}
elsif ($r eq 'HASH') {
	$rv = join(",", map { &urlize(&serialise_variable($_)).",".
			      &urlize(&serialise_variable($_[0]->{$_})) }
		            keys %{$_[0]});
	}
elsif ($r eq 'REF') {
	$rv = &serialise_variable(${$_[0]});
	}
return ($r ? $r : 'VAL').",".$rv;
}

# unserialise_variable(string)
# Converts a string created by serialise_variable() back into the original
# scalar, hash ref, array ref or scalar ref.
sub unserialise_variable
{
local @v = split(/,/, $_[0]);
local ($rv, $i);
if ($v[0] eq 'VAL') {
	@v = split(/,/, $_[0], -1);
	$rv = &un_urlize($v[1]);
	}
elsif ($v[0] eq 'SCALAR') {
	local $r = &un_urlize($v[1]);
	$rv = \$r;
	}
elsif ($v[0] eq 'ARRAY') {
	$rv = [ ];
	for($i=1; $i<@v; $i++) {
		push(@$rv, &unserialise_variable(&un_urlize($v[$i])));
		}
	}
elsif ($v[0] eq 'HASH') {
	$rv = { };
	for($i=1; $i<@v; $i+=2) {
		$rv->{&unserialise_variable(&un_urlize($v[$i]))} =
			&unserialise_variable(&un_urlize($v[$i+1]));
		}
	}
elsif ($v[0] eq 'REF') {
	local $r = &unserialise_variable($v[1]);
	$rv = \$r;
	}
elsif ($v[0] eq 'UNDEF') {
	$rv = undef;
	}
return $rv;
}

# other_groups(user)
# Returns a list of secondary groups a user is a member of
sub other_groups
{
local (@rv, @g);
setgrent();
while(@g = getgrent()) {
	local @m = split(/\s+/, $g[3]);
	push(@rv, $g[2]) if (&indexof($_[0], @m) >= 0);
	}
endgrent() if ($gconfig{'os_type'} ne 'hpux');
return @rv;
}

# date_chooser_button(dayfield, monthfield, yearfield, [form])
# Returns HTML for a date-chooser button
sub date_chooser_button
{
local $form = @_ > 3 ? $_[3] : 0;
return "<input type=button onClick='window.dfield = document.forms[$form].$_[0]; window.mfield = document.forms[$form].$_[1]; window.yfield = document.forms[$form].$_[2]; window.open(\"$gconfig{'webprefix'}/date_chooser.cgi?day=\"+escape(dfield.value)+\"&month=\"+escape(mfield.selectedIndex)+\"&year=\"+yfield.value, \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=250,height=225\")' value=\"...\">\n";
}

# help_file(module, file)
# Returns the path to a module's help file
sub help_file
{
local $dir = "$root_directory/$_[0]/help";
foreach $o (@lang_order_list) {
	local $lang = "$dir/$_[1].$current_lang.html";
	return $lang if (-r $lang);
	}
return "$dir/$_[1].html";
}

# seed_random()
# Seeds the random number generator, if needed
sub seed_random
{
if (!$main::done_seed_random) {
	if (open(RANDOM, "/dev/urandom")) {
		local $buf;
		read(RANDOM, $buf, 4);
		close(RANDOM);
		srand(time() ^ $$ ^ $buf);
		}
	else {
		srand(time() ^ $$);
		}
	$main::done_seed_random = 1;
	}
}

# disk_usage_kb(directory)
# Returns the number of kb used by some directory and all subdirs
sub disk_usage_kb
{
local $out = `du -sk \"$_[0]\"`;
if ($?) {
	$out = `du -s \"$_[0]\"`;
	}
return $out =~ /^([0-9]+)/ ? $1 : "???";
}

# help_search_link(term, [ section, ... ] )
# Returns HTML for a link to the man module for searching local and online
# docs for various search terms
sub help_search_link
{
local %acl;
&read_acl(\%acl, undef);
if ($acl{$base_remote_user,'man'} || $acl{$base_remote_user,'*'}) {
	local $for = &urlize(shift(@_));
	return "<a href='$gconfig{'webprefix'}/man/search.cgi?".
	       join("&", map { "section=$_" } @_)."&".
	       "for=$for&exact=1&check=$module_name'>".
	       $text{'helpsearch'}."</a>\n";
	}
else {
	return "";
	}
}

# make_http_connection(host, port, ssl, method, page)
# Opens a connection to some HTTP server, maybe through a proxy, and returns
# a handle object. The handle can then be used to send additional headers
# and read back a response. If anything goes wrong, returns an error string.
sub make_http_connection
{
local $rv = { 'fh' => time().$$ };
local $error;
if ($_[2]) {
	# Connect using SSL
	eval "use Net::SSLeay";
	$@ && &error($text{'link_essl'});
	eval "Net::SSLeay::SSLeay_add_ssl_algorithms()";
	eval "Net::SSLeay::load_error_strings()";
	$rv->{'ssl_ctx'} = Net::SSLeay::CTX_new() ||
		return "Failed to create SSL context";
	$rv->{'ssl_con'} = Net::SSLeay::new($rv->{'ssl_ctx'}) ||
		return "Failed to create SSL connection";
	if ($gconfig{'http_proxy'} =~ /^http:\/\/(\S+):(\d+)/ &&
	    !&no_proxy($_[0])) {
		&open_socket($1, $2, $rv->{'fh'}, \$error);
		return $error if ($error);
		local $fh = $rv->{'fh'};
		print $fh "CONNECT $_[0]:$_[1] HTTP/1.0\r\n";
		if ($gconfig{'proxy_user'}) {
			local $auth = &encode_base64(
			   "$gconfig{'proxy_user'}:$gconfig{'proxy_pass'}");
			$auth =~ s/\r|\n//g;
			print $fh "Proxy-Authorization: Basic $auth\r\n";
			}
		print $fh "\r\n";
		local $line = <$fh>;
		if ($line =~ /^HTTP(\S+)\s+(\d+)\s+(.*)/) {
			return "Proxy error : $3" if ($2 != 200);
			}
		else {
			return "Proxy error : $line";
			}
		$line = <$fh>;
		}
	else {
		&open_socket($_[0], $_[1], $rv->{'fh'}, \$error);
		return $error if ($error);
		}
	Net::SSLeay::set_fd($rv->{'ssl_con'}, fileno($rv->{'fh'}));
	Net::SSLeay::connect($rv->{'ssl_con'}) ||
		return "SSL connect() failed";
	Net::SSLeay::write($rv->{'ssl_con'}, "$_[3] $_[4] HTTP/1.0\r\n");
	}
else {
	# Plain HTTP request
	local $error;
	if ($gconfig{'http_proxy'} =~ /^http:\/\/(\S+):(\d+)/ &&
	    !&no_proxy($_[0])) {
		&open_socket($1, $2, $rv->{'fh'}, \$error);
		return $error if ($error);
		local $fh = $rv->{'fh'};
		print $fh "$_[3] http://$_[0]:$_[1]$_[4] HTTP/1.0\r\n";
		if ($gconfig{'proxy_user'}) {
			local $auth = &encode_base64(
			   "$gconfig{'proxy_user'}:$gconfig{'proxy_pass'}");
			$auth =~ s/\r|\n//g;
			print $fh "Proxy-Authorization: Basic $auth\r\n";
			}
		}
	else {
		&open_socket($_[0], $_[1], $rv->{'fh'}, \$error);
		return $error if ($error);
		local $fh = $rv->{'fh'};
		print $fh "$_[3] $_[4] HTTP/1.0\r\n";
		}
	}
return $rv;
}

# read_http_connection(handle, [amount])
# Reads either one line or up to the specified amount of data from the handle
sub read_http_connection
{
local $h = $_[0];
local $rv;
if ($h->{'ssl_con'}) {
	if (!$_[1]) {
		local ($idx, $more);
		while(($idx = index($h->{'buffer'}, "\n")) < 0) {
			# need to read more..
			if (!($more = Net::SSLeay::read($h->{'ssl_con'}))) {
				# end of the data
				$rv = $h->{'buffer'};
				delete($h->{'buffer'});
				return $rv;
				}
			$h->{'buffer'} .= $more;
			}
		$rv = substr($h->{'buffer'}, 0, $idx+1);
		$h->{'buffer'} = substr($h->{'buffer'}, $idx+1);
		}
	else {
		if (length($h->{'buffer'})) {
			$rv = $h->{'buffer'};
			delete($h->{'buffer'});
			}
		else {
			$rv = Net::SSLeay::read($h->{'ssl_con'}, $_[1]);
			}
		}
	}
else {
	if ($_[1]) {
		read($h->{'fh'}, $rv, $_[1]) > 0 || return undef;
		}
	else {
		local $fh = $h->{'fh'};
		$rv = <$fh>;
		}
	}
return $rv;
}

# write_http_connection(handle, [data+])
# Writes the given data to the handle
sub write_http_connection
{
local $h = shift(@_);
local $fh = $h->{'fh'};
if ($h->{'ssl_ctx'}) {
	foreach (@_) {
		Net::SSLeay::write($h->{'ssl_con'}, $_);
		}
	}
else {
	print $fh @_;
	}
}

# close_http_connection(handle)
sub close_http_connection
{
close($h->{'fh'});
}

# clean_environment()
# Deletes any environment variables inherited from miniserv so that they
# won't be passed to programs started by webmin.
sub clean_environment
{
%UNCLEAN_ENV = %ENV;
foreach $k (keys %ENV) {
	if ($k =~ /^HTTP_/) {
		delete($ENV{$k});
		}
	}
foreach $e ('WEBMIN_CONFIG', 'SERVER_NAME', 'CONTENT_TYPE', 'REQUEST_URI',
	    'PATH_INFO', 'WEBMIN_VAR', 'REQUEST_METHOD', 'GATEWAY_INTERFACE',
	    'QUERY_STRING', 'REMOTE_USER', 'SERVER_SOFTWARE', 'SERVER_PROTOCOL',
	    'REMOTE_HOST', 'SERVER_PORT', 'DOCUMENT_ROOT', 'SERVER_ROOT',
	    'MINISERV_CONFIG', 'SCRIPT_NAME', 'SERVER_ADMIN', 'CONTENT_LENGTH',
	    'HTTPS') {
	delete($ENV{$e});
	}
}

# reset_environment()
# Puts the environment back how it was before &clean_environment
sub reset_environment
{
%ENV = %UNCLEAN_ENV;
}

$webmin_feedback_address = "feedback\@webmin.com";

# progress_callback()
# Never called directly, but useful for passing to &http_download
sub progress_callback
{
if ($_[0] == 2) {
	# Got size
	print $progress_callback_prefix;
	if ($_[1]) {
		$progress_size = $_[1];
		$progress_step = int($_[1] / 10);
		print &text('progress_size', $progress_callback_url,
			    $progress_size),"<br>\n";
		}
	else {
		print &text('progress_nosize', $progress_callback_url),"<br>\n";
		}
	}
elsif ($_[0] == 3) {
	# Got data update
	local $sp = $progress_callback_prefix.("&nbsp;" x 5);
	if ($progress_size) {
		local $st = int(($_[1] * 10) / $progress_size);
		print $sp,&text('progress_data', $_[1], int($_[1]*100/$progress_size)),"<br>\n" if ($st != $progress_step);
		$progress_step = $st;
		}
	else {
		print $sp,&text('progress_data2', $_[1]),"<br>\n";
		}
	}
elsif ($_[0] == 4) {
	# All done downloading
	print $progress_callback_prefix,&text('progress_done'),"<br>\n";
	}
elsif ($_[0] == 5) {
	# Got new location after redirect
	$progress_callback_url = $_[1];
	}
}

# switch_to_remote_user()
# Changes the user and group of the current process to that of the unix user
# with the same name as the current webmin login, or fails if there is none.
sub switch_to_remote_user
{
@remote_user_info = getpwnam($remote_user);
@remote_user_info || &error(&text('switch_remote_euser', $remote_user));
if ($< == 0) {
	$( = $remote_user_info[3];
	$) = "$remote_user_info[3] ".join(" ", $remote_user_info[3],
				       &other_groups($remote_user_info[0]));
	($>, $<) = ($remote_user_info[2], $remote_user_info[2]);
	$ENV{'USER'} = $remote_user;
	$ENV{'HOME'} = $remote_user_info[7];
	}
}

# create_user_config_dirs()
# Creates per-user config directories and sets $user_config_directory and
# $user_module_config_directory to them. Also reads per-user module configs
# into %userconfig
sub create_user_config_dirs
{
return if (!$gconfig{'userconfig'});
local @uinfo = @remote_user_info ? @remote_user_info : getpwnam($remote_user);
return if (!@uinfo || !$uinfo[7]);
$user_config_directory = "$uinfo[7]/$gconfig{'userconfig'}";
mkdir($user_config_directory, 0755) if (!-d $user_config_directory);
if ($module_name) {
	$user_module_config_directory = "$user_config_directory/$module_name";
	mkdir($user_module_config_directory, 0755)
		if (!-d $user_module_config_directory);
	undef(%userconfig);
	&read_file_cached("$module_root_directory/defaultuconfig",
			  \%userconfig);
	&read_file_cached("$module_config_directory/uconfig", \%userconfig);
	&read_file_cached("$user_module_config_directory/config",
			  \%userconfig);
	}
}

# filter_javascript(text)
# Disables all javascript <script>, onClick= and so on tags in the given HTML
sub filter_javascript
{
local $rv = $_[0];
$rv =~ s/<\s*script[^>]*>([\000-\377]*?)<\s*\/script\s*>//g;
$rv =~ s/(on(Abort|Blur|Change|Click|DblClick|DragDrop|Error|Focus|KeyDown|KeyPress|KeyUp|Load|MouseDown|MouseMove|MouseOut|MouseOver|MouseUp|Move|Reset|Resize|Select|Submit|Unload)=)/x$1/g;
return $rv;
}

# resolve_links(path)
# Given a path that may contain symbolic links, returns the real path
sub resolve_links
{
local $path = $_[0];
$path =~ s/\/+/\//g;
$path =~ s/\/$// if ($path ne "/");
local @p = split(/\/+/, $path);
shift(@p);
for($i=0; $i<@p; $i++) {
	local $sofar = "/".join("/", @p[0..$i]);
	local $lnk = readlink($sofar);
	if ($lnk =~ /^\//) {
		# Link is absolute..
		return &resolve_links($lnk."/".join("/", @p[$i+1 .. $#p]));
		}
	elsif ($lnk) {
		# Link is relative
		return &resolve_links("/".join("/", @p[0..$i-1])."/".$lnk."/".join("/", @p[$i+1 .. $#p]));
		}
	}
return $path;
}

# same_file(file1, file2)
# Returns 1 if two files are actually the same
sub same_file
{
return 1 if ($_[0] eq $_[1]);
return 0 if ($_[0] !~ /^\// || $_[1] !~ /^\//);
local @stat1 = $stat_cache{$_[0]} ? @{$stat_cache{$_[0]}}
			          : (@{$stat_cache{$_[0]}} = stat($_[0]));
local @stat2 = $stat_cache{$_[1]} ? @{$stat_cache{$_[1]}}
			          : (@{$stat_cache{$_[1]}} = stat($_[1]));
return 0 if (!@stat1 || !@stat2);
return $stat1[0] == $stat2[0] && $stat1[1] == $stat2[1];
}

# flush_webmin_caches()
# Clears all in-memory and on-disk caches used by webmin
sub flush_webmin_caches
{
undef(%{$main::read_file_cache{$_[0]}});
undef(%main::acl_hash_cache);
undef(%main::acl_array_cache);
undef(%main::has_command_cache);
undef(@main::list_languages_cache);
unlink("$config_directory/module.infos.cache");
&get_all_module_infos();
}

1;  # return true?

   0707010003e28e000081e40000000000000002000000013d1fe2b7000003de000000200000000000000000000000000000001a00000003reloc/webmin-caldera-init #!/bin/sh
# webmin	This shell script takes care of starting and stopping
#		webmin
#

# Source function library.
. /etc/rc.d/init.d/functions

NAME=miniserv
DAEMON=/usr/libexec/webmin/miniserv.pl

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# check if the webmin conf file is present
[ -f /etc/webmin/miniserv.conf ] || exit 0

case "$1" in
start)
    [ ! -e $SVIlock ] || exit 1
    if [ -f /etc/webmin/miniserv.conf ]; then
	echo -n "Starting $IDENT: "
	ssd -S -n $NAME -x $DAEMON -- /etc/webmin/miniserv.conf 2>&1 >/dev/null
        touch $SVIlock
        echo "."
    else
	echo "$NAME not configured (in /etc/webmin/miniserv.conf): Skipped!"
    fi
    ;;

stop)
    [ -e $SVIlock ] || exit 0
    echo -n "Stopping $IDENT: "
    ssd -K -p /var/run/miniserv.pid >/dev/null 2>&1 && echo -n "miniserv"
    rm -f $SVIlock
    echo "."
    ;;

*)
    echo "Usage: $0 {start|stop}"
    exit 1
esac

exit 0

  0707010003e28f000081a40000000000000002000000013d1fe2b700000050000000200000000000000000000000000000001400000003reloc/webmin-daemon   IDENT=webmin
DESCRIPTIVE="Webmin administration server"
OPTIONS=""
ONBOOT="yes"
0707010003e290000081e40000000000000002000000013d1fe2b7000003b0000000200000000000000000000000000000001200000003reloc/webmin-init #!/bin/sh
# chkconfig: 235 99 00
# description: Start or stop the Webmin server

start=/etc/webmin/start
stop=/etc/webmin/stop
lockfile=/var/lock/subsys/webmin
confFile=/etc/webmin/miniserv.conf
pidFile=/var/webmin/miniserv.pid
name='Webmin'

case "$1" in
'start')
	$start
	RETVAL=$?
	if [ "$RETVAL" = "0" ]; then
		touch $lockfile >/dev/null 2>&1
	fi
	;;
'stop')
	$stop
	RETVAL=$?
	if [ "$RETVAL" = "0" ]; then
		rm -f $lockfile
	fi
	;;
'status')
	pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
	if [ "$pidfile" = "" ]; then
		pidfile=$pidFile
	fi
	if [ -s $pidfile ]; then
		pid=`cat $pidfile`
		kill -0 $pid >/dev/null 2>&1
		if [ "$?" = "0" ]; then
			echo "$name (pid $pid) is running"
			RETVAL=0
		else
			echo "$name is stopped"
			RETVAL=1
		fi
	else
		echo "$name is stopped"
		RETVAL=1
	fi
	;;
'restart')
	$stop && $start
	RETVAL=$?
	;;
*)
	echo "Usage: $0 { start | stop | restart }"
	RETVAL=1
	;;
esac
exit $RETVAL

0707010003e291000081a40000000000000002000000013d1fe2b8000000a4000000200000000000000000000000000000001100000003reloc/webmin-pam  #%PAM-1.0
auth	required	pam_unix.so	shadow nullok
account	required	pam_unix.so
password	required	pam_unix.so	shadow nullok use_authtok
session	required	pam_unix.so
07070100004954000041ed0000000000000001000000043d1ffba800000000000000200000000000000000000000000000000d00000003reloc/webmin  07070100004955000081e40000000000000002000000013d1fe2cb00000aab000000200000000000000000000000000000001f00000003reloc/webmin/change_access.cgi    #!/usr/local/bin/perl
# change_access.cgi
# Update IP allow and deny parameters

require './webmin-lib.pl';
use Socket;
&ReadParse();
&error_setup($text{'access_err'});

$raddr = $ENV{'REMOTE_ADDR'};
if ($in{"access"}) {
	@hosts = split(/\s+/, $in{"ip"});
	if (!@hosts) { &error($text{'access_enone'}); }
	foreach $h (@hosts) {
		if ($h =~ /^([0-9\.]+)\/([0-9\.]+)$/) {
			&check_ipaddress($1) ||
				&error(&text('access_enet', "$1"));
			&check_ipaddress($2) ||
				&error(&text('access_emask', "$2"));
			$i = $h;
			}
		elsif ($h =~ /^[0-9\.]+$/) {
			&check_ipaddress($h) ||
				&error(&text('access_eip', $h));
			$i = $h;
			}
		elsif ($h =~ /^\*\.(\S+)$/) {
			$i = $h;
			}
		elsif ($h eq 'LOCAL') {
			$i = 'LOCAL';
			}
		elsif (!($i = join('.', unpack("CCCC", inet_aton($h))))) {
			&error(&text('access_ehost', $h));
			}
		push(@ip, $i);
		}
	if ($in{"access"} == 1 && !&ip_match($raddr, @ip) ||
	    $in{"access"} == 2 && &ip_match($raddr, @ip)) {
		&error(&text('access_eself', $raddr));
		}
	}

eval "use Authen::Libwrap qw(hosts_ctl STRING_UNKNOWN)";
if (!$@ && $in{'libwrap'}) {
	# Check if the current address would be denied
	if (!hosts_ctl("webmin", STRING_UNKNOWN, $raddr, STRING_UNKNOWN)) {
		&error(&text('access_eself', $raddr));
		}
	}

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
delete($miniserv{"allow"});
delete($miniserv{"deny"});
if ($in{"access"} == 1) { $miniserv{"allow"} = join(' ', @hosts); }
elsif ($in{"access"} == 2) { $miniserv{"deny"} = join(' ', @hosts); }
$miniserv{'libwrap'} = $in{'libwrap'};
$miniserv{'alwaysresolve'} = $in{'alwaysresolve'};
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&restart_miniserv();
&webmin_log("access", undef, undef, \%in);
&redirect("");

# ip_match(ip, [match]+)
# Checks an IP address against a list of IPs, networks and networks/masks
sub ip_match
{
local(@io, @mo, @ms, $i, $j);
@io = split(/\./, $_[0]);
local $hn = gethostbyaddr(inet_aton($_[0]), AF_INET);
undef($hn) if ((&to_ipaddress($hn))[0] ne $_[0]);
for($i=1; $i<@_; $i++) {
	local $mismatch = 0;
	if ($_[$i] =~ /^(\S+)\/(\S+)$/) {
		# Compare with network/mask
		@mo = split(/\./, $1); @ms = split(/\./, $2);
		for($j=0; $j<4; $j++) {
			if ((int($io[$j]) & int($ms[$j])) != int($mo[$j])) {
				$mismatch = 1;
				}
			}
		}
	elsif ($_[$i] =~ /^\*(\.\S+)$/) {
		# Compare with hostname regexp
		$mismatch = 1 if ($hn !~ /$1$/);
		}
	elsif ($_[$i] eq 'LOCAL') {
		# Just assume OK for now
		}
	else {
		# Compare with IP or network
		@mo = split(/\./, $_[$i]);
		while(@mo && !$mo[$#mo]) { pop(@mo); }
		for($j=0; $j<@mo; $j++) {
			if ($mo[$j] != $io[$j]) {
				$mismatch = 1;
				}
			}
		}
	return 1 if (!$mismatch);
	}
return 0;
}

 07070100004956000081e40000000000000002000000013d1fe2cb000002dd000000200000000000000000000000000000001d00000003reloc/webmin/change_anon.cgi  #!/usr/local/bin/perl
# change_anon.cgi
# Update list of anonymously accessible modules

require './webmin-lib.pl';
&ReadParse();
&get_miniserv_config(\%miniserv);
&error_setup($text{'anon_err'});

# Check inputs
&read_acl(undef, \%acl);
for($i=0; defined($in{"url_$i"}); $i++) {
	next if (!$in{"url_$i"});
	$in{"url_$i"} =~ /^\/\S+$/ || &error(&text('anon_eurl', $in{"url_$i"}));
	$acl{$in{"user_$i"}} || &error(&text('anon_euser', $in{"url_$i"}));
	push(@anon, $in{"url_$i"}."=".$in{"user_$i"});
	}

&lock_file($ENV{'MINISERV_CONFIG'});
$miniserv{'anonymous'} = join(" ", @anon);
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&restart_miniserv();
&webmin_log("anon", undef, undef, \%in);
&redirect("");

   07070100004957000081e40000000000000002000000013d1fe2ca0000069b000000200000000000000000000000000000001d00000003reloc/webmin/change_bind.cgi  #!/usr/local/bin/perl
# change_bind.cgi
# Update the binding IP address and port for miniserv

require './webmin-lib.pl';
use Socket;
&ReadParse();
&get_miniserv_config(\%miniserv);
&error_setup($text{'bind_err'});

# check inputs
if ($in{'port'} !~ /^\d+$/ || $in{'port'} > 65535) {
	&error("'$in{'port'}' is not a valid port number");
	}
$baddr = $in{'bind_def'} ? INADDR_ANY : inet_aton($in{'bind'});
if (!$baddr) { &error(&text('bind_eip', $in{'bind'})); }
if ($baddr ne INADDR_ANY) {
	# check if address can be used
	local ($i, $ok);
	for($i=0; $i<10; $i++) {
		local $p = int(rand() * 1024)+1;
		socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
		setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
		if (bind(TEST, sockaddr_in($p, $baddr))) {
			$ok++;
			}
		close(TEST);
		}
	$ok || &error(&text('bind_eassign', $in{'bind'}));
	}
if ($in{'port'} != $miniserv{'port'}) {
	# port has changed.. check if it is in use
	socket(TEST, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
	setsockopt(TEST, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
	bind(TEST, sockaddr_in($in{'port'}, $baddr)) ||
		&error(&text('bind_eport', $in{'port'}));
	close(TEST);
	}

&lock_file($ENV{'MINISERV_CONFIG'});
$miniserv{'port'} = $in{'port'};
if ($in{'bind_def'}) { delete($miniserv{'bind'}); }
else { $miniserv{'bind'} = $in{'bind'}; }
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&restart_miniserv();
&webmin_log("bind", undef, undef, \%in);

if ($miniserv{'bind'}) { $url = $miniserv{'bind'}; }
else { $url = $ENV{'SERVER_NAME'}; }
$url .= ":$miniserv{'port'}/webmin/";
if ($ENV{'HTTPS'} eq "ON") { &redirect("https://$url"); }
else { &redirect("http://$url"); }

 07070100004958000081e40000000000000002000000013d1fe2ca0000022f000000200000000000000000000000000000001b00000003reloc/webmin/change_ca.cgi    #!/usr/local/bin/perl
# change_ca.cgi
# Update the CA cert manually

require './webmin-lib.pl';
&ReadParseMime();
&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
&setup_ca() if (!$miniserv{'ca'});
&lock_file($miniserv{'ca'});
open(CA, ">$miniserv{'ca'}");
$in{'cert'} =~ s/\r//g;
$in{'cert'} =~ s/\n*$/\n/;
print CA $in{'cert'};
close(CA);
&unlock_file($miniserv{'ca'});
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&redirect("");
sleep(1);
&restart_miniserv();
&webmin_log("changeca", undef, undef, \%in);

 07070100004959000081e40000000000000002000000013d1fe2ca0000014b000000200000000000000000000000000000001d00000003reloc/webmin/change_lang.cgi  #!/usr/local/bin/perl
# change_lang.cgi
# Change language setting

require './webmin-lib.pl';
&ReadParse();
&lock_file("$config_directory/config");
$gconfig{'lang'} = $in{'lang'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log("lang", undef, undef, \%in);
&redirect("");

 0707010000495a000081e40000000000000002000000013d1fe2cb0000047b000000200000000000000000000000000000001c00000003reloc/webmin/change_log.cgi   #!/usr/local/bin/perl
# change_log.cgi
# Enable or disable logging

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'log_err'});

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
$miniserv{'log'} = $in{'log'};
$miniserv{'loghost'} = $in{'loghost'};
$miniserv{'logclear'} = $in{'logclear'};
!$in{'logclear'} || $in{'logtime'} =~ /^[1-9][0-9]*$/ ||
	&error(&text('log_ehours', $in{'logtime'}));
$miniserv{'logtime'} = $in{'logtime'};
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

$gconfig{'log'} = $in{'log'};
$gconfig{'logtime'} = $in{'logtime'};
$gconfig{'logclear'} = $in{'logclear'};
$gconfig{'logusers'} =
	$in{'uall'} ? '' : join(" ", split(/\0/, $in{'users'}));
$gconfig{'logmodules'} =
	$in{'mall'} ? '' : join(" ", split(/\0/, $in{'modules'}));
$gconfig{'logfiles'} = $in{'logfiles'};
!$in{'logfiles'} || &has_command("diff") ||
	&error(&text('log_ediff', "diff"));
&lock_file("$config_directory/config");
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");

&restart_miniserv();
&webmin_log("log", undef, undef, \%in);
&redirect("");

 0707010000495b000081e40000000000000002000000013d1fe2cb0000020d000000200000000000000000000000000000001b00000003reloc/webmin/change_os.cgi    #!/usr/local/bin/perl
# change_os.cgi
# Change OS settings

require './webmin-lib.pl';
&ReadParse();

&lock_file("$config_directory/config");
@os = split(/,/, $in{'os'});
$gconfig{'real_os_type'} = $os[0];
$gconfig{'real_os_version'} = $os[1];
$gconfig{'os_type'} = $os[2];
$gconfig{'os_version'} = $os[3];
$gconfig{'path'} = $in{'path'};
$gconfig{'ld_path'} = $in{'ld_path'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log("os", undef, undef, \%in);
&redirect("");
   0707010000495c000081e40000000000000002000000013d1fe2ca00000333000000200000000000000000000000000000001e00000003reloc/webmin/change_proxy.cgi #!/usr/local/bin/perl
# change_proxy.cgi
# Change proxy settings

require './webmin-lib.pl';
&error_setup($text{'proxy_err'});
&ReadParse();

&lock_file("$config_directory/config");
if ($in{'http_def'}) { delete($gconfig{'http_proxy'}); }
elsif ($in{'http'} !~ /^http:\/\/(\S+):(\d+)/) {
	&error($text{'proxy_ehttp'});
	}
else { $gconfig{'http_proxy'} = $in{'http'}; }

if ($in{'ftp_def'}) { delete($gconfig{'ftp_proxy'}); }
elsif ($in{'ftp'} !~ /^http:\/\/(\S+):(\d+)/) {
	&error($text{'proxy_eftp'});
	}
else { $gconfig{'ftp_proxy'} = $in{'ftp'}; }

$gconfig{'proxy_user'} = $in{'user'};
$gconfig{'proxy_pass'} = $in{'pass'};
$gconfig{'noproxy'} = $in{'noproxy'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log('proxy', undef, undef, \%in);

&redirect("");

 0707010000495d000081e40000000000000002000000013d1fe2cb000001d8000000200000000000000000000000000000002100000003reloc/webmin/change_referers.cgi  #!/usr/local/bin/perl
# change_referers.cgi
# Change referer checking settings

require './webmin-lib.pl';
&ReadParse();

&lock_file("$config_directory/config");
$gconfig{'referer'} = $in{'referer'};
$gconfig{'referers'} = join(" ", split(/\s+/, $in{'referers'}));
$gconfig{'referers_none'} = !$in{'referers_none'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log('referers', undef, undef, \%in);

&redirect("");

0707010000495e000081e40000000000000002000000013d1fe2cb00000ad5000000200000000000000000000000000000002000000003reloc/webmin/change_session.cgi   #!/usr/local/bin/perl
# change_session.cgi
# Enable or disable session authentication

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'session_err'});

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
$miniserv{'passdelay'} = $in{'passdelay'};
if ($in{'blockhost_on'}) {
	$in{'blockhost_time'} =~ /^\d+$/ && $in{'blockhost_time'} > 0 ||
		&error($text{'session_eblockhost_time'});
	$in{'blockhost_failures'} =~ /^\d+$/ && $in{'blockhost_failures'} > 0 ||
		&error($text{'session_eblockhost_failures'});
	$miniserv{'blockhost_time'} = $in{'blockhost_time'};
	$miniserv{'blockhost_failures'} = $in{'blockhost_failures'};
	}
else {
	$miniserv{'blockhost_time'} = $miniserv{'blockhost_failures'} = undef;
	}
$miniserv{'syslog'} = $in{'syslog'};
if ($in{'session'} && $ENV{'HTTP_COOKIE'} !~ /sessiontest=1/i) {
	&error($text{'session_ecookie'});
	}
$miniserv{'session'} = $in{'session'};
if ($in{'logouttime_on'}) {
	$in{'logouttime'} =~ /^\d+$/ && $in{'logouttime'} > 0 ||
		&error($text{'session_elogouttime'});
	}
$miniserv{'logouttime'} = $in{'logouttime_on'} ? $in{'logouttime'} : undef;
if ($in{'localauth'}) {
	$lsof = &has_command("lsof");
	&error($text{'session_elsof'}) if (!$lsof);
	$miniserv{'localauth'} = $lsof;
	}
else {
	delete($miniserv{'localauth'});
	}
$miniserv{'no_pam'} = $in{'no_pam'};
if ($in{'passwd_file'}) {
	$in{'passwd_file'} =~ /\|$/ || -r $in{'passwd_file'} ||
		&error($text{'session_epasswd_file'});
	$in{'passwd_uindex'} =~ /^\d+$/ ||
		&error($text{'session_epasswd_uindex'});
	$in{'passwd_pindex'} =~ /^\d+$/ ||
		&error($text{'session_epasswd_pindex'});
	$miniserv{'passwd_file'} = $in{'passwd_file'};
	$miniserv{'passwd_uindex'} = $in{'passwd_uindex'};
	$miniserv{'passwd_pindex'} = $in{'passwd_pindex'};
	}
else {
	delete($miniserv{'passwd_file'});
	delete($miniserv{'passwd_uindex'});
	delete($miniserv{'passwd_pindex'});
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

&lock_file("$config_directory/config");
#$gconfig{'locking'} = $in{'locking'};
$gconfig{'noremember'} = !$in{'remember'};
$gconfig{'nohostname'} = !$in{'hostname'};
if ($in{'passwd_file'}) {
	$gconfig{'passwd_file'} = $in{'passwd_file'};
	$gconfig{'passwd_uindex'} = $in{'passwd_uindex'};
	$gconfig{'passwd_pindex'} = $in{'passwd_pindex'};
	}
else {
	delete($gconfig{'passwd_file'});
	delete($gconfig{'passwd_uindex'});
	delete($gconfig{'passwd_pindex'});
	}
if ($in{'banner_def'}) {
	delete($gconfig{'loginbanner'});
	}
else {
	-r $in{'banner'} || &error($text{'session_ebanner'});
	$gconfig{'loginbanner'} = $in{'banner'};
	}
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");

&restart_miniserv();
&webmin_log("session", undef, undef, \%in);
&redirect("");

   0707010000495f000081e40000000000000002000000013d1fe2cb00000230000000200000000000000000000000000000001c00000003reloc/webmin/change_ssl.cgi   #!/usr/local/bin/perl
# change_ssl.cgi
# Enable or disable SSL support

require './webmin-lib.pl';
&ReadParse();

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
$miniserv{'ssl'} = $in{'ssl'};
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

$SIG{'TERM'} = 'IGNORE';	# stop process from being killed by restart
&restart_miniserv();
&webmin_log("ssl", undef, undef, \%in);

$url = "$ENV{'SERVER_NAME'}:$miniserv{'port'}/webmin/";
if ($in{'ssl'}) { &redirect("https://$url"); }
else { &redirect("http://$url"); }

07070100004960000081e40000000000000002000000013d1fe2cb000002bb000000200000000000000000000000000000002200000003reloc/webmin/change_startpage.cgi #!/usr/local/bin/perl
# change_startpage.cgi
# Change startpage settings

require './webmin-lib.pl';
&ReadParse();
&lock_file("$config_directory/config");
if ($in{'nocols_def'}) {
	delete($gconfig{'nocols'});
	}
else {
	$in{'nocols'} =~ /^\d+$/ ||
		&error(&text('startpage_ecols', $in{'nocols'}));
	$gconfig{'nocols'} = $in{'nocols'};
	}
$gconfig{'alt_startpage'} = $in{'alt_startpage'};
$gconfig{'notabs'} = $in{'notabs'};
$gconfig{'gotoone'} = $in{'gotoone'};
$gconfig{'deftab'} = $in{'deftab'};
$gconfig{'nohostname'} = $in{'nohostname'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log("startpage", undef, undef, \%in);
&redirect("");

 07070100004961000081e40000000000000002000000013d1fe2cb00000394000000200000000000000000000000000000001f00000003reloc/webmin/change_syslet.cgi    #!/usr/local/bin/perl
# change_syslet.cgi
# Save syslet auto-download options

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'syslet_err'});

&lock_file("$config_directory/config");
@base = split(/\s+/, $in{'syslet_base'});
foreach $b (@base) {
	$b =~ /^http:\/\/([A-Za-z0-9\.\-]+)(:\d+)?\/(\S*)/ ||
		&error($text{'syslet_ebase'});
	}
$gconfig{'syslet_base'} = join(" ", @base);
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
if ($in{'auto'}) {
	$miniserv{'error_handler_404'} = '/eazel_download_module.cgi';
	}
elsif ($miniserv{'error_handler_404'} eq '/eazel_download_module.cgi') {
	$miniserv{'error_handler_404'} = '';
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});


&restart_miniserv();
&webmin_log("syslet", undef, undef, \%in);
&redirect("");


07070100004962000081e40000000000000002000000013d1fe2cb0000032c000000200000000000000000000000000000001e00000003reloc/webmin/change_theme.cgi #!/usr/local/bin/perl
# change_theme.cgi
# Change the current webmin theme

require './webmin-lib.pl';
&ReadParse();

&lock_file("$config_directory/config");
$gconfig{'theme'} = $in{'theme'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
if ($in{'theme'}) {
	$miniserv{'preroot'} = $in{'theme'};
	}
else {
	delete($miniserv{'preroot'});
	}
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&restart_miniserv();

&webmin_log('theme', undef, undef, \%in);
&header($text{'themes_title'}, "");
print "<script>\n";
print "top.location = \"/\";\n";
print "</script>\n";
print "<hr>\n";
print "<p>$text{'themes_ok'}<p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

07070100004963000081e40000000000000002000000013d1fe2cb000003d3000000200000000000000000000000000000001b00000003reloc/webmin/change_ui.cgi    #!/usr/local/bin/perl
# change_ui.cgi
# Change colour scheme

require './webmin-lib.pl';
&error_setup($text{'ui_err'});
&ReadParse();

&lock_file("$config_directory/config");
for($i=0; $i<@cs_names; $i++) {
	$cd = $cs_codes[$i];
	if ($in{"${cd}_def"}) { delete($gconfig{$cd}); }
	elsif ($in{"${cd}_red"} !~ /^[0-9a-fA-F]{2}$/) {
		&error(&text('ui_ered', $cs_names[$i]));
		}
	elsif ($in{"${cd}_green"} !~ /^[0-9a-fA-F]{2}$/) {
		&error(&text('ui_egreen', $cs_names[$i]));
		}
	elsif ($in{"${cd}_blue"} !~ /^[0-9a-fA-F]{2}$/) {
		&error(&text('ui_eblue', $cs_names[$i]));
		}
	else { $gconfig{$cd} = $in{"${cd}_red"} . $in{"${cd}_green"} .
			       $in{"${cd}_blue"}; }
	}

$gconfig{'texttitles'} = $in{'texttitles'};
$gconfig{'sysinfo'} = $in{'sysinfo'};
$gconfig{'feedback_to'} = $in{'feedback_def'} ? undef : $in{'feedback'};
&write_file("$config_directory/config", \%gconfig);
&unlock_file("$config_directory/config");
&webmin_log('ui', undef, undef, \%in);
&redirect("");

 07070100004964000081e40000000000000002000000013d1fe2cb00000543000000200000000000000000000000000000001b00000003reloc/webmin/clone_mod.cgi    #!/usr/local/bin/perl
# clone_mod.cgi
# Clone an existing module under a new name

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'clone_err'});

# Symlink the code directory
$src = $in{'mod'};
%minfo = &get_module_info($src);
$count = 2;
do {
	$dst = $src.$count;
	$count++;
	} while(-d "../$dst");
symlink($src, "../$dst") || &error(&text('clone_elink', $!));

# Symlink in the theme directory
if ($gconfig{'theme'}) {
	unlink("../$gconfig{'theme'}/$dst");
	symlink($src, "../$gconfig{'theme'}/$dst");
	}

# Copy the config directory
mkdir("$config_directory/$dst", 0700);
$out = `( (cd $config_directory/$src ; tar cf - .) | (cd $config_directory/$dst ; tar xpf -) ) 2>&1`;
if ($?) {
	&error(&text('clone_ecopy', $out));
	}
$in{'desc'} = &text('clone_desc', $minfo{'desc'}) if (!$in{'desc'});
open(CLONE, ">$config_directory/$dst/clone");
print CLONE "desc=$in{'desc'}\n";
close(CLONE);

# Grant access to the clone to this user
&read_acl(undef, \%acl);
open(ACL, "> ".&acl_filename());
foreach $u (keys %acl) {
	local @mods = @{$acl{$u}};
	if ($u eq $base_remote_user) {
		@mods = &unique(@mods, $dst);
		}
	print ACL "$u: ",join(' ', @mods),"\n";
	}
close(ACL);

&webmin_log("clone", undef, $in{'mod'}, { 'desc' => $minfo{'desc'},
					  'dst' => $dst,
					  'dstdesc' => $in{'desc'} });
&flush_webmin_caches();
&redirect("");

 07070100004965000081a40000000000000002000000013d1fe2cb00000030000000200000000000000000000000000000001400000003reloc/webmin/config   update=0
upmissing=0
upshow=1
updays=1
uphour=3
07070100004966000081e40000000000000002000000013d1fe2ca000007e5000000200000000000000000000000000000001c00000003reloc/webmin/delete_mod.cgi   #!/usr/local/bin/perl
# delete_mod.cgi
# Delete selected modules from webmin, without asking

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'delete_err'});
@mods = split(/\0/, $in{'mod'});

# check if any other module depends on those to be deleted
foreach $minfo (&get_all_module_infos()) {
	if (&check_os_support($minfo) && &indexof($minfo->{'dir'}, @mods) < 0) {
		foreach $d (split(/\s+/, $minfo->{'depends'})) {
			$depends{$d} = $minfo->{'desc'};
			}
		}
	}
foreach $m (@mods) {
	%minfo = &get_module_info($m);
	%minfo = &get_theme_info($m) if (!%minfo);
	if (!-l "$root_directory/$m" && $depends{$m}) {
		&error(&text('delete_edep', "<tt>$minfo{'desc'}</tt>",
			     "<tt>$depends{$m}</tt>"));
		}
	}

# ask the user if he is sure
if (!$in{'confirm'}) {
	&header($text{'delete_title'}, "");
	print "<hr>\n";
	print "<p><form action=delete_mod.cgi>\n";
	foreach $m (@mods) {
		local %minfo = &get_module_info($m);
		if (!%minfo) {
			$theme++;
			%minfo = &get_theme_info($m);
			}
		print "<input type=hidden name=mod value=$m>\n";
		$total += &disk_usage_kb("$root_directory/$m")
			if (!-l "$root_directory/$m");
		$descs .= " , " if ($descs);
		$descs .= "<b>$minfo{'desc'}</b>";
		}
	print "<center>",&text($theme ? 'delete_rusure2' :
			       $total ? 'delete_rusure' : 'delete_rusure3',
			       int($total), $descs),"<p>",
	      "<input type=submit name=confirm value='$text{'delete'}'><br>",
	      "<input type=checkbox name=acls value=1> $text{'delete_acls'}\n",
	      "</form></center><hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

# delete the selected modules or themes
foreach $m (split(/\0/, $in{'mod'})) {
	next if (!$m || !-d "$root_directory/$m");
	push(@mdesc, &delete_webmin_module($m, $in{'acls'}));
	}
&flush_webmin_caches();

&header($text{'delete_title'}, "");
print "<hr>\n";
print $text{'delete_msg'},"<p>\n";
print "<ul>\n";
for($i=0; $i<@mdesc; $i++) {
	print $mdesc[$i],"<p>\n";
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

   07070100004967000081e40000000000000002000000013d1fe2ca0000067b000000200000000000000000000000000000001d00000003reloc/webmin/edit_access.cgi  #!/usr/local/bin/perl
# edit_access.cgi
# Display IP access control form

require './webmin-lib.pl';
&header($text{'access_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

print $text{'access_desc'},"<p>\n";

print "<form action=change_access.cgi method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'access_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table><tr><td valign=top nowrap>\n";
printf "<input type=radio name=access value=0 %s>\n",
	$miniserv{"allow"} || $miniserv{"deny"} ? "" : "checked";
print "$text{'access_all'}<br>\n";
printf "<input type=radio name=access value=1 %s>\n",
	$miniserv{"allow"} ? "checked" : "";
print "$text{'access_allow'}<br>\n";
printf "<input type=radio name=access value=2 %s>\n",
	$miniserv{"deny"} ? "checked" : "";
print "$text{'access_deny'}<br>\n";
print "</td> <td valign=top>\n";
printf "<textarea name=ip rows=6 cols=30>%s</textarea></td> </tr>\n",
	$miniserv{"allow"} ? join("\n", split(/\s+/, $miniserv{"allow"})) :
	$miniserv{"deny"} ? join("\n", split(/\s+/, $miniserv{"deny"})) : "";

print "<tr> <td colspan=2>\n";
printf "<input type=checkbox name=alwaysresolve value=1 %s> %s</td> </tr>\n",
	$miniserv{'alwaysresolve'} ? 'checked' : '', $text{'access_always'};

eval "use Authen::Libwrap qw(hosts_ctl STRING_UNKNOWN)";
if (!$@) {
	print "<tr> <td colspan=2>\n";
	printf "<input type=checkbox name=libwrap value=1 %s> %s</td> </tr>\n",
		$miniserv{'libwrap'} ? 'checked' : '', $text{'access_libwrap'};
	}

print "</table></td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004968000081e40000000000000002000000013d1fe2cb00000437000000200000000000000000000000000000001b00000003reloc/webmin/edit_anon.cgi    #!/usr/local/bin/perl
# edit_anon.cgi
# Display anonymous access form

require './webmin-lib.pl';
&header($text{'anon_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

print $text{'anon_desc'},"<br>\n";
print "<b>",$text{'anon_desc2'},"</b><p>\n";
foreach $a (split(/\s+/, $miniserv{'anonymous'})) {
	if ($a =~ /^([^=]+)=(\S+)$/) {
		push(@anon, [ $1, $2 ]);
		}
	}

print "<form action=change_anon.cgi>\n";
print "<table border width=100%> <tr $tb>\n";
print "<td><b>$text{'anon_url'}</b></td> <td><b>$text{'anon_user'}</b></td>\n";
print "<td><b>$text{'anon_url'}</b></td> <td><b>$text{'anon_user'}</b></td>\n";
print "</tr>\n";
push(@anon, scalar(@anon)%2 == 0 ? ( [ ], [ ] ) : ( [ ] ));
$i = 0;
foreach $a (@anon) {
	print "<tr $cb>\n" if ($i%2 == 0);
	print "<td><input name=url_$i size=25 value='$a->[0]'></td>\n";
	print "<td><input name=user_$i size=15 value='$a->[1]'></td>\n";
	print "</tr>\n" if ($i%2 == 1);
	$i++;
	}
print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004969000081e40000000000000002000000013d1fe2cb000004a7000000200000000000000000000000000000002100000003reloc/webmin/edit_assignment.cgi  #!/usr/local/bin/perl

require './webmin-lib.pl';

@modules = grep { &check_os_support($_) } &get_all_module_infos();
@modules = sort { $a->{'desc'} cmp $b->{'desc'} } @modules;
&read_file("$config_directory/webmin.catnames", \%catnames);

&header($text{'assignment_title'}, undef);
print qq(
<hr>
$text{'assignment_desc'}<p>
<form action="save_assignment.cgi">
<table border><tr $tb>
<td><b>$text{'assignment_header'}</b></td></tr>
<tr $cb><td><table>
);
foreach ( @modules ){
    $a++;
    print "<tr></tr>" if $a%2;
    print qq(<td>$_->{desc}</td><td>), &cats($_->{dir}, $_->{category}), "</td>\n";
}

print qq(
</td></tr></table>
</td></tr></table>
<input type=submit value="$text{'assignment_ok'}">
</form><hr>
);
&footer("/", $text{'index'});

sub cats {
    my $cats;
    my %cats;
    foreach (keys %text) {
	next unless /^category_/;
	my $desc = $text{$_};
	s/^category_//;
	$cats{$_} = $desc;
	}
    foreach (keys %catnames) {
	$cats{$_} = $catnames{$_};
	}
    foreach $c (sort { $cats{$a} cmp $cats{$b} } keys %cats) {
	$cats .= sprintf "<option value='%s' %s>%s\n",
			$c, $_[1] eq $c ? 'selected' : '', $cats{$c};
	}
    $cats = qq(<select name="$_[0]">$cats\n</select>\n);
}
 0707010000496a000081e40000000000000002000000013d1fe2cb00000406000000200000000000000000000000000000001b00000003reloc/webmin/edit_bind.cgi    #!/usr/local/bin/perl
# edit_bind.cgi
# Display port / address form

require './webmin-lib.pl';
&header($text{'bind_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

print $text{'bind_desc'},"<p>\n";

print "<form action=change_bind.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'bind_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td nowrap><b>$text{'bind_ip'}</b></td>\n";
printf "<td nowrap><input type=radio name=bind_def value=1 %s>%s &nbsp;\n",
	$miniserv{"bind"} ? "" : "checked", $text{'bind_all'};
printf "<input type=radio name=bind_def value=0 %s>\n",
	$miniserv{"bind"} ? "checked" : "";
print "<input name=bind size=20 value=\"$miniserv{bind}\"></td> </tr>\n";
print "<tr> <td><b>$text{'bind_port'}</b></td>\n";
print "<td><input name=port size=6 value=\"$miniserv{port}\"></td> </tr>\n";
print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000496b000081e40000000000000002000000013d1fe2cb00000ac0000000200000000000000000000000000000001900000003reloc/webmin/edit_ca.cgi  #!/usr/local/bin/perl
# edit_ca.cgi
# Display the current CA or a form for creating one

require './webmin-lib.pl';
&header($text{'ca_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

%aclconfig = &foreign_config("acl");
if (!$ENV{"MINISERV_CONFIG"}) {
	print "<p>$text{'ca_eminiserv'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
elsif (uc($ENV{'HTTPS'}) ne 'ON') {
	print "<p>$text{'ca_essl'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
elsif (!defined(&Net::SSLeay::X509_STORE_CTX_get_current_cert) ||
       !defined(&Net::SSLeay::CTX_load_verify_locations) ||
       !defined(&Net::SSLeay::CTX_set_verify)) {
	print "<p>$text{'ca_eversion'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}
elsif (!-x $aclconfig{'ssleay'}) {
	print "<p>",&text('ca_essleay',
			  "<tt>$aclconfig{'ssleay'}</tt>"),"<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print $miniserv{'ca'} ? $text{'ca_newmsg1'} : $text{'ca_newmsg1'},"<p>\n";
print "<form action=setup_ca.cgi><table border>\n";
print "<tr $tb> <td><b>$text{'ca_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print "<tr> <td><b>$text{'ca_cn'}</b></td>\n";
print "<td><input name=commonName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'ca_email'}</b></td>\n";
print "<td><input name=emailAddress size=30></td> </tr>\n";

print "<tr> <td><b>$text{'ca_ou'}</b></td>\n";
print "<td><input name=organizationalUnitName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'ca_o'}</b></td>\n";
print "<td><input name=organizationName size=30></td> </tr>\n";

print "<tr> <td><b>$text{'ca_sp'}</b></td>\n";
print "<td><input name=stateOrProvinceName size=15></td> </tr>\n";

print "<tr> <td><b>$text{'ca_c'}</b></td>\n";
print "<td><input name=countryName size=2></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'ca_create'}'></form>\n";

print "<hr>\n";
print $miniserv{'ca'} ? $text{'ca_oldmsg1'} : $text{'ca_oldmsg1'},"<p>\n";
print "<form action=change_ca.cgi method=post enctype=multipart/form-data>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'ca_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><textarea rows=20 cols=70 name=cert>";
if ($miniserv{'ca'}) {
	open(CA, $miniserv{'ca'});
	while(<CA>) { print; }
	close(CA);
	}
print "</textarea></td> </tr>\n";
print "</table><input type=submit value='$text{'save'}'></form>\n";

if ($miniserv{'ca'}) {
	print "<hr>\n";
	print "<form action=stop_ca.cgi><table><tr>\n";
	print "<td><input type=submit value='$text{'ca_stop'}'></td>\n";
	print "<td>$text{'ca_stopmsg'}</td>\n";
	print "</tr></table></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000496c000081e40000000000000002000000013d1fe2cb000005f2000000200000000000000000000000000000002100000003reloc/webmin/edit_categories.cgi  #!/usr/local/bin/perl
require './webmin-lib.pl';

&header($text{'categories_title'}, undef);
print qq(
<hr>
$text{'categories_desc'}<p>
<form action="save_categories.cgi">
<table border><tr $tb>
<td><b>$text{'categories_header'}</b></td></tr>
<tr $cb><td><table>
);

# Show the existing categories
&read_file("$config_directory/webmin.catnames", \%catnames);
foreach $t (keys %text) {
	$t =~ s/^category_// || next;
	print "<tr> <td><b>",$t ? $t : "<i>other</i>","</b></td>\n";
	printf "<td><input type=radio name=def_$t value=1 %s> %s (%s)</td>\n",
		$catnames{$t} ? '' : 'checked', $text{'default'},
		$text{"category_$t"};
	printf "<td><input type=radio name=def_$t value=0 %s> %s\n",
		$catnames{$t} ? 'checked' : '';
	printf "<input name=desc_$t size=30 value='%s'></td> </tr>\n",
		$catnames{$t};
	$realcat{$t}++;
	}
print "<tr> <td colspan=3><hr></td> </tr>\n";

# Show new categories
print "<tr> <td><b>$text{'categories_code'}</b></td> ",
      "<td colspan=2><b>$text{'categories_name'}</b></td> </tr>\n";
$i = 0;
foreach $c (keys %catnames) {
	if (!$realcat{$c}) {
		print "<tr> <td><input name=cat_$i size=10 value='$c'></td>\n";
		print "<td colspan=2><input name=desc_$i size=30 ",
		      "value='$catnames{$c}'></td> </tr>\n";
		$i++;
		}
	}
print "<tr> <td><input name=cat_$i size=10></td>\n";
print "<td colspan=2><input name=desc_$i size=30></td> </tr>\n";

print qq(
</td></tr></table>
</td></tr></table>
<input type=submit value="$text{'categories_ok'}">
</form><hr>
);
&footer("/", $text{'index'});

  0707010000496d000081e40000000000000002000000013d1fe2cb00000352000000200000000000000000000000000000001b00000003reloc/webmin/edit_lang.cgi    #!/usr/local/bin/perl
# edit_lang.cgi
# Language config form

require './webmin-lib.pl';
&header($text{'lang_title'}, "");
print "<hr>\n";

print $text{'lang_intro'},"<p>\n";

print "<form action=change_lang.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'lang_title2'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

$clang = $gconfig{'lang'} ? $gconfig{'lang'} : $default_lang;
print "<tr> <td><b>$text{'lang_lang'}</b></td>\n";
print "<td><select name=lang>\n";
foreach $l (&list_languages()) {
	printf "<option value=%s %s>%s (%s)\n",
		$l->{'lang'},
		$clang eq $l->{'lang'} ? 'selected' : '',
		$l->{'desc'}, uc($l->{'lang'});
	}
print "</select></td> </tr>\n";
print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'lang_ok'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  0707010000496e000081e40000000000000002000000013d1fe2ca00000ab8000000200000000000000000000000000000001a00000003reloc/webmin/edit_log.cgi #!/usr/local/bin/perl
# edit_log.cgi
# Logging config form

require './webmin-lib.pl';
&header($text{'log_title'}, "");
print "<hr>\n";
&foreign_require("acl", "acl-lib.pl");
&get_miniserv_config(\%miniserv);

print &text('log_desc', "<tt>$miniserv{'logfile'}</tt>"),"<p>\n";
print &text('log_desc2', "<tt>$webmin_logfile</tt>"),"<p>\n";

print "<form action=change_log.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'log_header'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";
printf "<input type=radio name=log value=0 %s> $text{'log_disable'}<p>\n",
	!$miniserv{'log'} ? "checked" : "";
printf "<input type=radio name=log value=1 %s> $text{'log_enable'}<br>\n",
	$miniserv{'log'} ? "checked" : "";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=loghost value=1 %s>\n",
	$miniserv{'loghost'} ? "checked" : "";
print "$text{'log_resolv'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=logclear value=1 %s>\n",
	$miniserv{'logclear'} ? "checked" : "";
print &text('log_clear',
	"<input name=logtime value='$miniserv{'logtime'}' size=10>"),"<br>\n";

print "<table cellpadding=0 cellspacing=0><tr> <td valign=top>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=uall value=1 %s> %s<br>\n",
	$gconfig{'logusers'} ? '' : 'checked', $text{'log_uall'};
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=uall value=0 %s> %s</td>\n",
	$gconfig{'logusers'} ? 'checked' : '', $text{'log_users'};
map { $users{$_}++ } split(/\s+/, $gconfig{'logusers'});
print "<td valign=top><select multiple size=3 name=users>\n";
foreach $u (&foreign_call("acl", "list_users")) {
	printf "<option %s>%s\n", $users{$u->{'name'}} ? 'selected' : '',
				  $u->{'name'};
	}
print "</select></td></tr></table>\n";

print "<table cellpadding=0 cellspacing=0><tr> <td valign=top>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=mall value=1 %s> %s<br>\n",
	$gconfig{'logmodules'} ? '' : 'checked', $text{'log_mall'};
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=mall value=0 %s> %s</td>\n",
	$gconfig{'logmodules'} ? 'checked' : '', $text{'log_modules'};
map { $mods{$_}++ } split(/\s+/, $gconfig{'logmodules'});
print "<td valign=top><select multiple size=5 name=modules>\n";
foreach $m (&foreign_call("acl", "list_modules")) {
	%minfo = &get_module_info($m);
	if (-r "../$m/log_parser.pl") {
		printf "<option value=%s %s>%s\n",
			$m, $mods{$m} ? 'selected' : '', $minfo{'desc'};
		}
	}
print "</select></td></tr></table>\n";

printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=logfiles value=1 %s> %s\n",
	$gconfig{'logfiles'} ? 'checked' : '',
	$text{'log_files'};

print "</td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000496f000081e40000000000000002000000013d1fe2ca00000d6d000000200000000000000000000000000000001b00000003reloc/webmin/edit_mods.cgi    #!/usr/local/bin/perl
# edit_mods.cgi
# Form for installing and removing modules

require './webmin-lib.pl';
&header($text{'mods_title'}, "");
print "<hr>\n";
%access = &get_module_acl();
@mlist = sort { $a->{'desc'} cmp $b->{'desc'} }
	      grep { &check_os_support($_) } &get_all_module_infos();

# Display installation form
print "<table width=100%><tr><td valign=top>\n";
print "$text{'mods_desc1'}</td><td valign=top>";

print "<form action=install_mod.cgi enctype=multipart/form-data method=post>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'mods_install'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";
print "<input type=radio name=source value=0 checked> $text{'mods_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0),"<br>\n";
print "<input type=radio name=source value=1> $text{'mods_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
print "<input type=radio name=source value=2> $text{'mods_ftp'}\n";
print "<input name=url size=40><br>\n";
print "&nbsp;" x 5;
print "<input type=checkbox name=nodeps value=1> $text{'mods_nodeps'}<p>\n";
print "<input type=radio name=grant value=0 checked> $text{'mods_grant2'}\n";
print "<input name=grantto size=30 value='$base_remote_user'><br>\n";
print "<input type=radio name=grant value=1> $text{'mods_grant1'}\n";
print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'mods_installok'}\">\n";
print "</form></td></tr></table> <hr>\n";

if (!$access{'install'}) {
	# Display cloning form
	print "<table width=100%><tr><td valign=top>\n";
	print "$text{'mods_desc2'}</td> <td valign=top>";

	print "<form action=clone_mod.cgi>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'mods_clone'}</b></td> </tr>\n";
	print "<tr $cb> <td><table>\n";
	print "<tr> <td nowrap><b>$text{'mods_cname'}</b></td>\n";
	print "<td><select name=mod>\n";
	foreach $m (@mlist) {
		if ($m->{'dir'} ne 'webmin' && !$m->{'clone'}) {
			printf "<option value='%s'>%s\n",
				$m->{'dir'}, $m->{'desc'};
			}
		}
	closedir(DIR);
	print "</select></td> </tr>\n";
	print "<tr> <td nowrap><b>$text{'mods_cnew'}</b></td>\n";
	print "<td><input name=desc size=30></td> </tr>\n";
	print "</table></td></tr> </table><br>\n";
	print "<input type=submit value=\"$text{'mods_cloneok'}\">\n";
	print "</form></td></tr></table> <hr>\n";


	# Display deletion form
	print "<table width=100%><tr>\n";
	print "<td valign=top>$text{'mods_desc3'}</td> <td>\n";
	print "<form action=delete_mod.cgi>\n";
	print "<table border width=100%>\n";
	print "<tr $tb> <td valign=top><b>$text{'mods_delete'}</b></td> </tr>\n";
	print "<tr> <td $cb><select multiple width=300 name=mod size=10>\n";
	$version = &get_webmin_version();
	local $home = $root_directory eq '/usr/local/webadmin';
	foreach $m (@mlist) {
		if ($m->{'dir'} ne 'webmin' && &check_os_support($m)) {
			local @st = stat("../$m->{'dir'}");
			local @tm = localtime($st[9]);
			local $vstr = $m->{'version'} == $version ? "" :
				      $m->{'version'} ? "(v. $m->{'version'})" :
				      $home ? "" :
				      sprintf "(%d/%d/%d)",
					      $tm[3], $tm[4]+1, $tm[5]+1900;
			printf "<option value='%s'>%s %s\n",
				$m->{'dir'}, $m->{'desc'}, $vstr;
			}
		}
	print "</select></td> </tr></table>\n";
	print "<input type=submit value=\"$text{'mods_deleteok'}\">\n";
	print "</form></td></tr></table>\n";
	print "<hr>\n";
	}

&footer("", $text{'index_return'});

   07070100004970000081e40000000000000002000000013d1fe2ca000006ee000000200000000000000000000000000000001900000003reloc/webmin/edit_os.cgi  #!/usr/local/bin/perl
# edit_os.cgi
# Operating system config form

require './webmin-lib.pl';
&header($text{'os_title'}, "");
print "<hr>\n";

print $text{'os_desc'},"<br>\n";
print $text{'os_desc2'},"<br>\n";

open(OSLIST, "$root_directory/os_list.txt");
while(<OSLIST>) {
	chop;
	if (/^([^\t]+)\t+([^\t]+)\t+(\S+)\t+(\S+)\t*(.*)$/) {
		push(@list, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(OSLIST);
if (!$gconfig{'real_os_type'}) {
	foreach $o (@list) {
		if ($o->[2] eq $gconfig{'os_type'} &&
		    $o->[3] eq $gconfig{'os_version'}) {
			$gconfig{'real_os_type'} = $o->[0];
			$gconfig{'real_os_version'} = $o->[1];
			last;
			}
		}
	}

print "<form action=change_os.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'os_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'os_curros'}</b></td>\n";
print "<td>$gconfig{'real_os_type'}</td> </tr>\n";

print "<tr> <td><b>$text{'os_currver'}</b></td>\n";
print "<td>$gconfig{'real_os_version'}</td> </tr>\n";

print "<tr> <td valign=top><b>$text{'os_new'}</b></td>\n";
print "<td><select name=os size=7>\n";
foreach $o (@list) {
	printf "<option value='%s' %s>%s %s\n",
		join(",", @$o),
		$gconfig{'real_os_type'} eq $o->[0] &&
		$gconfig{'real_os_version'} eq $o->[1] ? "selected" : "",
		$o->[0], $o->[1];
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'os_path'}</b></td>\n";
print "<td><input name=path size=30 value='$gconfig{'path'}'></td> </tr>\n";

print "<tr> <td><b>$text{'os_ld_path'}</b></td>\n";
print "<td><input name=ld_path size=30 ",
      "value='$gconfig{'ld_path'}'></td> </tr>\n";

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

  07070100004971000081e40000000000000002000000013d1fe2cb000006bc000000200000000000000000000000000000001c00000003reloc/webmin/edit_proxy.cgi   #!/usr/local/bin/perl
# edit_proxy.cgi
# Proxy servers config form

require './webmin-lib.pl';
&header($text{'proxy_title'}, "");
print "<hr>\n";

print $text{'proxy_desc'},"\n";

print "<form action=change_proxy.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'proxy_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td nowrap><b>$text{'proxy_http'}</b></td>\n";
printf "<td nowrap><input type=radio name=http_def value=1 %s> %s\n",
	$gconfig{'http_proxy'} ? "" : "checked", $text{'proxy_none'};
printf "<input type=radio name=http_def value=0 %s> \n",
	$gconfig{'http_proxy'} ? "checked" : "";
printf "<input name=http size=35 value=\"%s\"></td> </tr>\n",
	$gconfig{'http_proxy'};

print "<tr> <td nowrap><b>$text{'proxy_ftp'}</b></td>\n";
printf "<td nowrap><input type=radio name=ftp_def value=1 %s> %s\n",
	$gconfig{'ftp_proxy'} ? "" : "checked", $text{'proxy_none'};
printf "<input type=radio name=ftp_def value=0 %s> \n",
	$gconfig{'ftp_proxy'} ? "checked" : "";
printf "<input name=ftp size=35 value=\"%s\"></td> </tr>\n",
	$gconfig{'ftp_proxy'};

print "<tr> <td nowrap><b>$text{'proxy_nofor'}</b></td>\n";
printf "<td nowrap><input name=noproxy size=40 value=\"%s\"></td> </tr>\n",
	$gconfig{'noproxy'};

print "<tr> <td nowrap><b>$text{'proxy_user'}</b></td>\n";
printf "<td><input name=user size=20 value='%s'></td> </tr>\n",
	$gconfig{'proxy_user'};
print "<tr> <td nowrap><b>$text{'proxy_pass'}</b></td>\n";
printf "<td><input type=password name=pass size=20 value='%s'></td> </tr>\n",
	$gconfig{'proxy_pass'};

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

07070100004972000081e40000000000000002000000013d1fe2cb0000040b000000200000000000000000000000000000001f00000003reloc/webmin/edit_referers.cgi    #!/usr/local/bin/perl
# edit_referers.cgi
# Display a list of trusted referers

require './webmin-lib.pl';
&header($text{'referers_title'}, "");
print "<hr>\n";

print $text{'referers_desc'},"<br>\n";
print "<form action=change_referers.cgi>\n";
print "<table>\n";

print "<tr> <td><b>$text{'referers_referer'}</b></td>\n";
printf "<td><input type=radio name=referer value=0 %s> %s\n",
	$gconfig{'referer'} ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=referer value=1 %s> %s</td> </tr>\n",
	$gconfig{'referer'} ? 'checked' : '', $text{'no'};

print "<tr> <td valign=top><b>$text{'referers_list'}</b></td>\n";
print "<td><textarea name=referers rows=5 cols=30>",
      join("\n", split(/\s+/, $gconfig{'referers'})),"</textarea><br>\n";
printf "<input type=checkbox name=referers_none value=1 %s> %s</td> </tr>\n",
	$gconfig{'referers_none'} ? '' : 'checked', $text{'referers_none'};

print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004973000081e40000000000000002000000013d1fe2cb00000e7b000000200000000000000000000000000000001e00000003reloc/webmin/edit_session.cgi #!/usr/local/bin/perl
# edit_session.cgi
# Edit session login options

require './webmin-lib.pl';
print "Set-Cookie: sessiontest=1; path=/\n";
&header($text{'session_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

print "$text{'session_desc1'}<p>\n";
print "$text{'session_desc2'}<p>\n";

print "<form action=change_session.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'session_header'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";

printf "<input type=radio name=passdelay value=0 %s> %s<br>\n",
	$miniserv{'passdelay'} ? '' : 'checked', $text{'session_pdisable'};
printf "<input type=radio name=passdelay value=1 %s> %s<br>\n",
	$miniserv{'passdelay'} ? 'checked' : '', $text{'session_penable'};
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=blockhost_on value=1 %s>\n",
	$miniserv{'blockhost_failures'} ? "checked" : "";
print &text('session_blockhost',
	    "<input name=blockhost_failures size=4 value='$miniserv{'blockhost_failures'}'>",
	    "<input name=blockhost_time size=4 value='$miniserv{'blockhost_time'}'>"),"<br>\n";
eval "use Sys::Syslog qw(:DEFAULT setlogsock)";
if (!$@) {
	printf "<input type=checkbox name=syslog value=1 %s> %s\n",
		$miniserv{'syslog'} ? "checked" : "", $text{'session_syslog2'};
	}
else {
	print "<input type=hidden name=syslog value='$miniserv{'syslog'}'>\n";
	}
print "<p>\n";

printf "<input type=radio name=session value=0 %s> %s<br>\n",
	!$miniserv{'session'} ? "checked" : "", $text{'session_disable'};
printf "<input type=radio name=session value=1 %s> %s<br>\n",
	$miniserv{'session'} ? "checked" : "", $text{'session_enable'};
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=logouttime_on value=1 %s>\n",
	$miniserv{'logouttime'} ? "checked" : "";
print &text('session_logout',
	"<input name=logouttime value='$miniserv{'logouttime'}' size=10>"),"<br>\n";
#printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=locking value=1 %s>\n",
#	$gconfig{'locking'} ? "checked" : "";
#print "$text{'session_locking'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=remember value=1 %s>\n",
	$gconfig{'noremember'} ? "" : "checked";
print "$text{'session_remember'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=checkbox name=hostname value=1 %s>\n",
	$gconfig{'nohostname'} ? "" : "checked";
print "$text{'session_hostname'}<br>\n";
printf "&nbsp;&nbsp;&nbsp;<input type=radio name=banner_def value=1 %s> %s\n",
	$gconfig{'loginbanner'} ? "" : "checked", $text{'session_banner1'};
printf "<input type=radio name=banner_def value=0 %s> %s\n",
	$gconfig{'loginbanner'} ? "checked" : "", $text{'session_banner0'};
printf "<input name=banner size=30 value='%s'> %s<br>\n",
	$gconfig{'loginbanner'}, &file_chooser_button("banner");
print "<p>\n";

printf "<input type=radio name=localauth value=0 %s> %s<br>\n",
	!$miniserv{'localauth'} ? "checked" : "", $text{'session_localoff'};
printf "<input type=radio name=localauth value=1 %s> %s<br>\n",
	$miniserv{'localauth'} ? "checked" : "", $text{'session_localon'};
print "<p>\n";

printf "<input type=radio name=no_pam value=0 %s> %s<br>\n",
	!$miniserv{'no_pam'} ? "checked" : "", $text{'session_pamon'};
printf "<input type=radio name=no_pam value=1 %s> %s<br>\n",
	$miniserv{'no_pam'} ? "checked" : "", $text{'session_pamoff'};
print "&nbsp;&nbsp;&nbsp;",&text('session_pfile',
	"<input name=passwd_file size=20 value='$miniserv{'passwd_file'}'>",
	"<input name=passwd_uindex size=2 value='$miniserv{'passwd_uindex'}'>",
	"<input name=passwd_pindex size=2 value='$miniserv{'passwd_pindex'}'>"),
	"<br>\n";

print "</td> </tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004974000081e40000000000000002000000013d1fe2ca00000397000000200000000000000000000000000000001a00000003reloc/webmin/edit_ssl.cgi #!/usr/local/bin/perl
# edit_ssl.cgi
# Webserver SSL form

require './webmin-lib.pl';
&header($text{'ssl_title'}, "");
print "<hr>\n";
&get_miniserv_config(\%miniserv);

eval "use Net::SSLeay";
if ($@) {
	print &text('ssl_essl', "http://www.webmin.com/ssl.html"),"\n";
	}
else {
	print $text{'ssl_desc1'},"<p>\n";
	print $text{'ssl_desc2'},"<br>\n";

	print "<form action=change_ssl.cgi>\n";
	print "<table border>\n";
	print "<tr $tb> <td><b>$text{'ssl_header'}</b></td> </tr>\n";
	print "<tr $cb> <td nowrap>\n";
	printf "<input type=radio name=ssl value=1 %s>\n",
		$miniserv{'ssl'} ? "checked" : "";
	print "$text{'ssl_enable'}<p>\n";
	printf "<input type=radio name=ssl value=0 %s>\n",
		$miniserv{'ssl'} ? "" : "checked";
	print "$text{'ssl_disable'}<p>\n";
	print "</td></tr></table><br>\n";
	print "<input type=submit value=\"$text{'save'}\"></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004975000081e40000000000000002000000013d1fe2ca00000a53000000200000000000000000000000000000002000000003reloc/webmin/edit_startpage.cgi   #!/usr/local/bin/perl
# edit_startpage.cgi
# Startpage config form

require './webmin-lib.pl';
&header($text{'startpage_title'}, "");
print "<hr>\n";

print $text{'startpage_intro'},"<p>\n";

print "<form action=change_startpage.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'startpage_title'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

print "<tr> <td><b>$text{'startpage_nocol'}</b></td> <td>\n";
printf "<input name=nocols_def type=radio value=1 %s> %s\n",
	$gconfig{'nocols'} ? '' : 'checked', $text{'default'};
printf "<input name=nocols_def type=radio value=0 %s>\n",
	$gconfig{'nocols'} ? 'checked' : '';
printf "<input name=nocols size=5 value='%s'></td> </tr>\n",
	$gconfig{'nocols'};

print "<tr> <td><b>$text{'startpage_tabs'}</b></td> <td>\n";
printf "<input name=notabs type=radio value=0 %s> %s\n",
	$gconfig{'notabs'} ? '' : 'checked', $text{'yes'};
printf "<input name=notabs type=radio value=1 %s> %s</td> </tr>\n",
	$gconfig{'notabs'} ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'startpage_deftab'}</b></td> <td>\n";
$cat = defined($gconfig{'deftab'}) ? $gconfig{'deftab'} : 'webmin';
print "<select name=deftab>\n";
foreach $t (keys %text) {
	next if ($t !~ /^category_(\S*)$/);
	$cats{$1} = $text{$t};
	}
&read_file("$config_directory/webmin.catnames", \%catnames);
foreach $c (keys %catnames) {
	$cats{$c} = $catnames{$c};
	}
foreach $c (sort { $cats{$a} cmp $cats{$b} } keys %cats) {
	printf "<option value='%s' %s>%s\n",
		$c, $cat eq $c ? 'selected' : '', $cats{$c};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'startpage_alt'}</b></td> <td>\n";
printf "<input name=alt_startpage type=radio value=1 %s> %s\n",
	$gconfig{'alt_startpage'} ? 'checked' : '', $text{'yes'};
printf "<input name=alt_startpage type=radio value=0 %s> %s</td> </tr>\n",
	$gconfig{'alt_startpage'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'startpage_nohost'}</b></td> <td>\n";
printf "<input name=nohostname type=radio value=0 %s> %s\n",
	$gconfig{'nohostname'} ? '' : 'checked', $text{'yes'};
printf "<input name=nohostname type=radio value=1 %s> %s</td> </tr>\n",
	$gconfig{'nohostname'} ? 'checked' : '', $text{'no'};

print "<tr> <td><b>$text{'startpage_gotoone'}</b></td> <td>\n";
printf "<input name=gotoone type=radio value=1 %s> %s\n",
	$gconfig{'gotoone'} ? 'checked' : '', $text{'yes'};
printf "<input name=gotoone type=radio value=0 %s> %s</td> </tr>\n",
	$gconfig{'gotoone'} ? '' : 'checked', $text{'no'};

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004976000081e40000000000000002000000013d1fe2cb000003e6000000200000000000000000000000000000001d00000003reloc/webmin/edit_syslet.cgi  #!/usr/local/bin/perl
# edit_syslet.cgi
# Configure the automatic download and install of Eazel syslets

require './webmin-lib.pl';
&ReadParse();
&header($text{'syslet_title'}, "");
print "<hr>\n";

print $text{'syslet_desc'},"<br>\n";
print "<form action=change_syslet.cgi>\n";
print "<table>\n";

&get_miniserv_config(\%miniserv);
$auto = ($miniserv{'error_handler_404'} eq '/eazel_download_module.cgi');
print "<tr> <td><b>$text{'syslet_auto'}</b></td>\n";
printf "<td><input type=radio name=auto value=1 %s> %s\n",
	$auto ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=auto value=0 %s> %s</td> </tr>\n",
	$auto ? '' : 'checked', $text{'no'};

print "<tr> <td valign=top><b>$text{'syslet_base'}</b></td>\n";
print "<td><textarea name=syslet_base rows=4 cols=40>",
	join("\n", split(/\s+/, $gconfig{'syslet_base'})),
	"</textarea></td> </tr>\n";

print "</table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

  07070100004977000081e40000000000000002000000013d1fe2cb00000700000000200000000000000000000000000000001d00000003reloc/webmin/edit_themes.cgi  #!/usr/local/bin/perl
# edit_themes.cgi
# Display all themes, and allow installation of a new one

require './webmin-lib.pl';
&ReadParse();
&header($text{'themes_title'}, "");
print "<hr>\n";

# Display change form
@themes = &list_themes();
if (@themes) {
	print "$text{'themes_desc'}<br>\n";
	print "<form action=change_theme.cgi>\n";
	print "<b>$text{'themes_sel'}</b> <select name=theme>\n";
	foreach $t ( { 'desc' => $text{'themes_default'} }, @themes) {
		printf "<option value='%s' %s>%s\n",
			$t->{'dir'},
			$gconfig{'theme'} eq $t->{'dir'} ? 'selected' : '',
			$t->{'desc'};
		}
	print "</select>\n";
	print "<input type=submit value='$text{'themes_change'}'></form><hr>\n";
	}

# Display install form
print "$text{'themes_installdesc'}<br>\n";
print "<form action=install_theme.cgi enctype=multipart/form-data>\n";
print "<input type=radio name=source value=0 checked> $text{'mods_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0, 1),"<br>\n";
print "<input type=radio name=source value=1> $text{'mods_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
print "<input type=radio name=source value=2> $text{'mods_ftp'}\n";
print "<input name=url size=40><br>\n";
print "<input type=submit value=\"$text{'themes_installok'}\"></form>\n";

# Display deletion form
if (@themes) {
	print "<hr>\n";
	print "$text{'themes_delete'}<br>\n";
	print "<form action=delete_mod.cgi>\n";
	print "<b>$text{'themes_delok'}</b>\n";
	print "<select name=mod>\n";
	foreach $t (@themes) {
		if ($gconfig{'theme'} ne $t->{'dir'}) {
			printf "<option value=%s>%s\n",
				$t->{'dir'}, $t->{'desc'};
			}
		}
	print "</select>\n";
	print "<input type=submit value='$text{'delete'}'></form>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

07070100004978000081e40000000000000002000000013d1fe2ca000009b3000000200000000000000000000000000000001900000003reloc/webmin/edit_ui.cgi  #!/usr/local/bin/perl
# edit_ui.cgi
# Edit user interface options

require './webmin-lib.pl';
&header($text{'ui_title'}, "");
print "<hr>\n";

print $text{'ui_desc'},"<p>\n";
print "<form action=change_ui.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'ui_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";

for($i=0; $i<@cs_names; $i++) {
	$cd = $cs_codes[$i];
	print "<tr> <td><b>$cs_names[$i]</b></td>\n";
	printf "<td><input type=radio name=${cd}_def value=1 %s> %s\n",
		defined($gconfig{$cd}) ? "" : "checked",
		$text{'ui_default'};
	printf "&nbsp;&nbsp;<input type=radio name=${cd}_def value=0 %s>\n",
		defined($gconfig{$cd}) ? "checked" : "";
	if ($gconfig{$cd} =~ /(..)(..)(..)/) {
		($r, $g, $b) = ($1, $2, $3);
		}
	else {
		$r = $g = $b = undef;
		}
	print "<font color=#ff0000>R</font>\n";
	print "<input name=${cd}_red size=3 value=\"$r\">\n";
	print "<font color=#00ff00>G</font>\n";
	print "<input name=${cd}_green size=3 value=\"$g\">\n";
	print "<font color=#0000ff>B</font>\n";
	print "<input name=${cd}_blue size=3 value=\"$b\">\n";
	print "</td> </tr>\n";
	}
print "<tr> <td><b>$text{'ui_texttitles'}</b></td>\n";
printf "<td><input type=radio name=texttitles value=1 %s> %s\n",
	$gconfig{'texttitles'} ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=texttitles value=0 %s> %s</td> </tr>\n",
	$gconfig{'texttitles'} ? '' : 'checked', $text{'no'};

print "<tr> <td><b>$text{'ui_sysinfo'}</b></td>\n";
print "<td><select name=sysinfo>\n";
printf "<option value=0 %s> %s\n",
	$gconfig{'sysinfo'} == 0 ? 'selected' : '', $text{'ui_sysinfo0'};
printf "<option value=1 %s> %s\n",
	$gconfig{'sysinfo'} == 1 ? 'selected' : '', $text{'ui_sysinfo1'};
printf "<option value=2 %s> %s\n",
	$gconfig{'sysinfo'} == 2 ? 'selected' : '', $text{'ui_sysinfo2'};
printf "<option value=3 %s> %s\n",
	$gconfig{'sysinfo'} == 3 ? 'selected' : '', $text{'ui_sysinfo3'};
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'ui_feedback'}</b></td>\n";
printf "<td><input type=radio name=feedback_def value=1 %s> %s\n",
	$gconfig{'feedback_to'} ? "" : "checked", $webmin_feedback_address;
printf "<input type=radio name=feedback_def value=0 %s>\n",
	$gconfig{'feedback_to'} ? "checked" : "";
printf "<input name=feedback size=20 value='%s'></td> </tr>\n",
	$gconfig{'feedback_to'};

print "</table></td></tr></table><br>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 07070100004979000081e40000000000000002000000013d1fe2ca0000108d000000200000000000000000000000000000001e00000003reloc/webmin/edit_upgrade.cgi #!/usr/local/bin/perl
# edit_upgrade.cgi
# Display a form for upgrading all of webmin from a tarfile

require './webmin-lib.pl';
&header($text{'upgrade_title'}, "");
print "<hr>\n";

# what kind of install was this?
if (open(MODE, "../install-type")) {
	chop($mode = <MODE>);
	close(MODE);
	}
else {
	if ($root_directory eq "/usr/libexec/webmin") {
		$mode = "rpm";
		}
	elsif ($root_directory eq "/opt/webmin") {
		$mode = "solaris-pkg";
		}
	else {
		$mode = undef;
		}
	}

if ($mode eq "solaris-pkg") {
	print "<p>$text{'upgrade_esolaris'}<p>\n";
	print "<hr>\n";
	&footer("", $text{'index_return'});
	exit;
	}

print "<table width=100%><tr><td valign=top>\n";
print $text{"upgrade_desc$mode"},"</td><td valign=top>";

print "<form action=upgrade.cgi method=post enctype=multipart/form-data>\n";
print "<input type=hidden name=mode value='$mode'>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'upgrade_title'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";
print "<input type=radio name=source value=0> $text{'upgrade_local'}\n";
print "<input name=file size=40>\n";
print &file_chooser_button("file", 0),"<br>\n";
print "<input type=radio name=source value=1> $text{'upgrade_uploaded'}\n";
print "<input name=upload type=file size=30><br>\n";
if ($mode eq 'caldera') {
	print "<input type=radio name=source value=3 checked> $text{'upgrade_cup'}\n";
	}
else {
	print "<input type=radio name=source value=2 checked> $text{'upgrade_ftp'}\n";
	}
if (!$mode) {
	print "<p><input type=checkbox name=delete value=1> ",
		"$text{'upgrade_delete'}<br>\n";
	}
print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'upgrade_ok'}\">\n";
print "</form></td></tr></table>\n";

print "<hr>\n";

print "<table width=100%>\n";
print "<tr> <td valign=top>$text{'update_desc1'}</td>\n";
print "<td><form action=update.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'update_header1'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";

printf "<input type=radio name=source value=0 %s> %s<br>\n",
	$config{'upsource'} ? "" : "checked", $text{'update_webmin'};
printf "<input type=radio name=source value=1 %s> %s\n",
	$config{'upsource'} ? "checked" : "", $text{'update_other'};
printf "<input name=other size=30 value='%s'><br>\n",
	$config{'upsource'};

printf "<input type=checkbox name=show value=1 %s> %s<br>\n",
	$config{'upshow'} ? "checked" : "", $text{'update_show'};
printf "<input type=checkbox name=missing value=1 %s> %s<br>\n",
	$config{'upmissing'} ? "checked" : "", $text{'update_missing'};
print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'update_ok'}\">\n";
print "</form></td></tr></table>\n";

print "<hr>\n";

print "<table width=100%>\n";
print "<tr> <td valign=top>$text{'update_desc2'}</td>\n";
print "<td><form action=update_sched.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'update_header2'}</b></td> </tr>\n";
print "<tr $cb> <td nowrap>\n";
printf "<input type=checkbox name=enabled value=1 %s> %s<p>\n",
	$config{'update'} ? 'checked' : '', $text{'update_enabled'};
	
printf "<input type=radio name=source value=0 %s> %s<br>\n",
	$config{'upsource'} ? "" : "checked", $text{'update_webmin'};
printf "<input type=radio name=source value=1 %s> %s\n",
	$config{'upsource'} ? "checked" : "", $text{'update_other'};
printf "<input name=other size=30 value='%s'><br>\n",
	$config{'upsource'};

print &text('update_sched',
	    "<input name=hour size=2 value='$config{'uphour'}'>",
	    "<input name=days size=3 value='$config{'updays'}'>"),"<br>\n";

printf "<input type=checkbox name=show value=1 %s> %s<br>\n",
      $config{'upshow'} ? 'checked' : '', $text{'update_show'};
printf "<input type=checkbox name=missing value=1 %s> %s<br>\n",
      $config{'upmissing'} ? 'checked' : '', $text{'update_missing'};
printf "<input type=checkbox name=quiet value=1 %s> %s<br>\n",
      $config{'upquiet'} ? 'checked' : '', $text{'update_quiet'};
printf "%s <input name=email size=30 value='%s'><br>\n",
	$text{'update_email'}, $config{'upemail'};

print "</td></tr></table><br>\n";
print "<input type=submit value=\"$text{'update_apply'}\">\n";
print "</form></td></tr></table>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000497a000081a40000000000000002000000013d1fe2cb0000007e000000200000000000000000000000000000001f00000003reloc/webmin/feedback_files.pl    
do 'webmin-lib.pl';

sub feedback_files
{
return ( "$config_directory/miniserv.conf",
	 "$config_directory/config" );
}

1;

  0707010000606d000041ed0000000000000001000000023d1ffba500000000000000200000000000000000000000000000001400000003reloc/webmin/images   0707010000606e000081a40000000000000002000000013d1fe2ca00000113000000200000000000000000000000000000001f00000003reloc/webmin/images/access.gif    GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 0707010000606f000081a40000000000000002000000013d1fe2ca000000ed000000200000000000000000000000000000001d00000003reloc/webmin/images/anon.gif  GIF89a0 0 ¡  øüø`d`ÈÌÈÿÿÿ!þMade with GIMP !ù
  ,    0 0  ¬œ©Ëí£œ´Ú‹OØ<_v^–âÈ˜j€¦¡ Ãa«”rÏ´aß¸¿ÙzN$4@mÅl:QÐŸt:ªKÏÕ–Û‚^OYïRÕ­®ÒjÓÎ¼~+¿H9ñ¬³¿ðuá°äÇˆå(X‡¸ ¶èÒç˜ùEyèˆ‰HX¨§¶ÉÙIjˆ„–fê†Z&‚V8êê+j‘÷Z+›Ëz™«›ì;Á,ÌP  ;   07070100006070000081a40000000000000002000000013d1fe2ca000008f7000000200000000000000000000000000000002300000003reloc/webmin/images/assignment.gif    GIF89a0 0 ç  ŠŠ,>ÆT¢¢4¢Î|ÆæÌ¦¢¤ÆÂŒ®²¬FBLÖÒ¤¶†¬†VtæâÔŠŠŒff’’”Â²´ÎÒÌ¶º´¾¢¼êòä¦ª¤ÖÚÔÆÂÌnj|¶²lêêÌrr|ššœº¶Ä‚‚¼ZZÜ¢Ò¼ÞöÜ®²ÔNRL†ŠÜ"",ªª<ââÄÚÒÔ¶ºÔªªÔæêä²¦¬ÊÊ”ÞÚÜnrÜž¢ÄÆÊÄîêìvzÜ¦¦d¾Â¼Ž’ÄÎÒìúúü®ª¬šž¼>>$ÞêÜ¶¶´JJLbbÜ¾ºd~‚ÜÞâäÂÆÄŽ’Ô––DâÞ¼¢ž¤¾jlææäÖÒÔ¾¾¼òòì¶¶ÄZZ\ŽŽÔ**¾¾ÌæîäÊÊ¬ÞÞÔ¦¦ÔÎÎì–šÔfjÜÆÂ¼®²¼ÖÖ¼º¾¼ªª¼ÚÚì¦Ú´ŠŽÔº¾ÌvvÜ¢¦ÔÎÎÌ~~Ü¦¦l¾ÂÌºº|††Üââä––ÔòöôžžÔ$–Âœ¦¦<ÒêÔ¢¢¼ÆÆ¤FFDºŽ¬¦V”Ò¾ÌÒÒÜºº¼Æ¢¼ÚÚÜÆÆÄ²¶ÔŠŠÔ®®l²v¤Âš´jjdªfœ–’,žž4¶ÞÄ>>T.*<’Ž¤Î²ÄÒÎ”RN\^ZtÂ¾tnnÜ®®ÄÎÎ¤®®¼ææÄ&&$ÚÖÜÊÎÌ²Š¬žžœrvÜz~ÜþþüffÜ‚†ÜÚæä’–Ô^^\..šžÔ¦¦¼¶²„žžLîæìîîäÖÖÔª®¼âæäž¢ÔªÚÄêêÜââÔ¶¶ÔÞÞä–Â¬®®Ô²²´ÒÒÔªª¬ÚÚÌ¾¶ÌRRTÞÒÜººÌêêäÊÊÌª¦\ÂÂÄ’’¼NJTêîìÚÖÄ¾ºt²®t²®´ÊæÌÂ¢¼²²ÔâÚÜrrÜzzÜÒÒì‚‚Ü’’ÔššÔjjÜ²²¼ÂÂÌööôÊÆ¤¢¢Ô¢¢<¶º¼‚‚Ä¶¶¼ÂÆÌææìòòôÊÊ´ÞÞÜÖÖÄFFLÆÆÌŠŠÜîîìººÔêêìª¦dÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ Ë´E° A[2*\È°a™ƒ%(Ä$\•!¬ÀËNL CŠIRGVCÀ­Yî#¦2¾|µéÔ©AÞh*a³§ÏŸ@}õ¡ÙI	£dDÇ-”‘3Ç²=„(Ð\ÃÄ¡U‡Dweº³„f0}å,§ÅN T9•Ø¸ÊV /š3",`à`\'_Åâšä&–º±rI²ðH˜Þˆ¹Ð`¤]çú€-ÓÜ‘€âôÕà  }‚”€Eš_x0q”
ïD%L¡Ãö ƒ¢ETÛZÅÛ'U¥35Eydbš¯—˜bÎP  Ò‰(ÂÞ$RL·CÞp5
 ‡ðþ¾D¼†Jšoçœ$À°¦‹á÷ãæÀE1QŽ~È:îS› ¨J5T…r1¨ €}”aNH¢G-”ìP‹[”²M)ZWÆ8±ð"/NL£‡¥”B‰”Pr!&npÔ˜áÑ<óÇ3¼ÈÈF(n@Á[NHs4Ï\ãÆ
fXaEcDl¨P” É'ÊpÂ4”°Â3P<³P@sœa´4aü…„R˜nÑ
j(‹ŸÊ8¡Œ~üé‡‡Æ¢h,~„†	5Œ2zh :Q)¡NLôL›N´f|V½“@~%ªx >ÔVr»q–/þI¤Aùb‹/ª%R¶ŒC„O¦’äjª¶¨ò±¹ô•/MtÒE!ÐŠRN'¹‘z ©ØâuŽ-çœ3E9ÐäZXÕtâ èê2-u“]u*©–£R5Þ¸Â‚¸`%W®è n'ƒ-Ûªk=‰:Ìxã-`„;.e9Ñ…zøG-O¨
ë¨/•ÃŠ-à”3C tÒ©¾”óÅÎt.uË…ÜÌ®Ú¥8|(Ü"Õ(µ©/å®á8ä.+k±õîÏxuâ(Aï,,œ,C5ç¬„+ÈÓÀnÅ*M‚ñÑmlÓ„µÔbÀ-m×¢ÊZ†»PHvÕÔþ8e¨¢¢6KÔà;]›¯¨n	DÔ9å”Ãø÷LL}P“D¸¼£bÌ8”ƒÞÇ8˜ø€É
ÐÐâ-’°î5Ü(ŠgúyM,b˜£Ô”!ä˜CËˆÊD³º*”q2¼¸!XÁ'ÐØ©F4œ|âD3%0Å5gA†'Ð„3´$7Æ3E˜À3ó3Ÿ¬@
äDÃ3Ð¸M+ÐˆÆ5¢Á†Z€X)ZA@*M)©+5ë	0Xøžþ0ã	áÆFäj2¬
a»RØŸ`ËZ‰»ÁîÆ©‚%ŽU®úÙ8d ”˜È@þ˜hHÖ¤©OÕp B‘Ì8$#ƒÊÅåðF5¦ØzUc6	Å¶‡}¥åXÃÀq	YLÑÚUNG”jMä‰ã:LÎÁ‡\UDbº1)NQ©XÝÂ†¸"¾
&J(Vô0-qýç Ç0' tã#Däœñ2.¡xƒ	L¨Å-G:·ôá¾@À-JQ†ZÀA;Ù\	»ÈPéÇH‚-òx·süÍ¶ÂPÂX•zê.‰.a‹>ä Àã]Æsœƒ¬hÀ5Ã¨Bæðg‡KøÐ‹¢h¢v‰œ7Ô	Qe…0ÙdIÈF%t ½ÏÈ$ÐØØÆ¯Í2œšRÈ[ØX¥/JhœB
Žê¬0Ž"	VrÚ¸T4N2˜0e˜Œlcz`Â¼ ú‚RxâzBZà’È†|@10aÐC ÐŒgDÃÏð“ 1(˜À#‡Â@T"rR!+h…Oÿ0†q¸
aâ„ÒôH£f`†'Z15Œ!Ì@«4žÖMŒÊ ¡§Ê‚fD"|†˜1†f`ÏÃ	9	ªÎön%q˜k ; 07070100006071000081a40000000000000002000000013d1fe2ca000001de000000200000000000000000000000000000001d00000003reloc/webmin/images/bind.gif  GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100006072000081a40000000000000002000000013d1fe2ca0000058c000000200000000000000000000000000000001b00000003reloc/webmin/images/ca.gif    GIF89a0 0 Æ  ÿÿÿ’’ŒÂÂ´þþìæÎÄÞº¬þúìúöìîÚÌêÖÌöêÜæÊ¼Þ¾´Â~tÒ¢”Îš”Â†|¾~tÎž”ÆŠ„âÆ¼Ê’„Ú¶¬ÖªœÒ¦œúòä¾ztêÒÄÂ‚|Ê’ŒæÒÄ¶fdÒªœÆŽ„Ê–ŒòæÜúúìêÚÌºrlºvl¶jdîÞÔöîäÚ²¤æÆ¼Ö®¤öòäÊŽ„ââÔææÜÖÖÌÚÚÌ¶¶¬ªª¤žž”ÆÆ¼òêÜÆ†|Êš”¾vlºndâÂ´ÞÞÔšš”‚‚|ŠŠ„îîäÞÚÌÒž”ööìº¶¬²®¤ÊÊ¼žš”ŽŽ„ÎÎÄòòä––ŒæâÔzzt¾¾´¦¦œrnlÒÒÄ~~t††|®ª¤–’Œ¢¢œ®®¤Š†|âÞÔ¾º´êêÜÞÞÌVVTŽŠ„²²¤rrlîîÜææÔÎÎ¼ÆÆ´ÆÂ´ÊÆ¼ÒÎÄÎÊ¼ÖÖÄööäîêÜºº¬ššŒ¶²¬²²¬Â¾´’Ž„¦¢œòîä®ªœ¢¢”ªªœêæÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
  ,    0 0  þ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“‚—˜™š›œž–¢£¤¥¦¤§¯—¯¦	
«²±¯ !"¼#$ÉË§%&'()*æ£+,£¸&"-°”:  Ù (Zx —l &8pXÁp:V˜˜ðbÀ¦è€CF2)&Lèð :
!&ˆ€@¡á€4jØ¸Ñ‡:v€…nÀ=J(hHÂÇ A„ièa‘ŽŽ*âÁ¦¨"0ŒØ8BbF2Èp*ê•’$þ@”,)Òv 2eZëŽ2À¤I <õf\ŠD&„'^lŠ-ãÅŽ…ø`˜²(ÄbbBw âÎ¤ŠprÊ1’'P¢ü ˆŒ¸S¨T©ñÃÊ•X²Ø°D‹  M~ÔPbC	”ÆyEÝµ¹\VóRP’€AÃF”,GjXù±$Pª@Y¢úÈŒ'Nrc‚eK“(´ipùáRºa&18)Ò¥ýBÆ„œ1AÂ1¸ 	þ·ÐIGŠ9^` 	!Êvx „¢!VQ}–b@ D Xq	1|ÆOüEbDAÅAüÐ…,Ž‘"DþCÿ‘þActLÀ %1	šeçœ…Y8
=`ŠÂe—!AÅˆ¥DQeÈ`3 aÅH@ƒSÐÅ‰g &)a)fÌ0i¨q3„ÑÅPtqÃPŒ˜®1ƒY‚¶%>8’LÑ… 3´Q„^hÒ„AžâÆa¸ÑÅpÜà6ø Z–
p†W±>¦W±mÑ‰æ«û­%†£Ã‚žAKÊ‘S‚ePðÄÄ6L¨bvGVDF§]¡ÄP4HÊAÔ ‡4Ì‘×ÅQ]¸ š³Dq‘…Ô‡™QÐ ƒ[ø0ƒ“Úrn@QƒrDÁÅ2„,²?*f
[t‘…«²¸aŽ—–ÕQ‡]2,»ŒfÞ@BaÐ@Ç>,K
jÌ†4€¤±miZ¹Ç×eD­vÜ!>p-åµJD¡+qøŒ…XÄÅ[‹—(VÒÍË²ìÇeÜv³qÀÀÈéåÃ€LÑÙøpèn”¸MÈ
ƒv5DAr¸ÅF€G »	M¢WPÐ°+4ÜpqAÃT’‘ÞçXòÉí¸ã %¼÷îûïÀ' ;07070100006079000081a40000000000000002000000013d1fe2ca0000071c000000200000000000000000000000000000002300000003reloc/webmin/images/categories.gif    GIF89a0 0 ç  ‚‚„¾Â¼>B<¦¢¤^b\ââä^bÜÒÒÔŽ’Œ®²¬&&$òòôBBôrrÜÎÆÄÚÚÜŽ’Ô‚‚Ürrtêêì¶²üRRô¢¢Ô22ô¾º¼vzÜ†ŠÜÊÆüZZÜÊÊÌââüjjÜššœúúüÚÚô

ÆÂÄRRT¦ª¤ÚÒÔºº¼664ššÔvztjjlêâäÎÎüâÚÜ~~Ü––”²²ÔúöôÎÎÌ‚‚üòîìªªÔ::ô’ŽüZZôNNLâæäffÜÒÖÔ¶²¬JJôrrü––ü¾¾ÌŽŽÔ>><~zt†Š„ÂÆÄª¢¤’–”ööôÞÞÜîîìZVôª¦ôÆ¾¼ŠŽÔjjü
ÆÆÄ®®¬rjd~züÂÂÌJJD¢¦¤ffdæâÜÖÒÌ’’Œ²¶´..,FFôÎÊÌÞÚÔ––Ô‚†ÜzvtîêäVVô:6ô¾¾¼z~ÜŠŠÔZ^Üšžœþþü^^\ÚÖÔ>:4žšünnlâÞÜÖÎÌŠ†ü>>ô^^üffüzvüººôŽŽŒ
NNäÞÞü::<††„vvÜvvt¦¦Ô66ôææünnÜVVTžžÔ®®Ônnü~~üººÔ¶¶´~~|VNLêæä.2,ÂÂÄbbd²²´Âº´ªª¬zz|bbÜöòôFBô’’ÔVRôzzÜþúüÊÂÄnjlš–”ÒÎÌ†‚ü>:ôææäÖÖÔvrüš–üB><²®¬¦¦¤ÒÊÌ††Ü^^ÜžžœÞÖÔjfü‚~ü

úöüòîôZZü~z|ööüª¦ü
ÆÆÌJJLæâäÖÒÔ’’”ÞÚÜîêìŠŠÜâÞäÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡FiE±¢Å‹ƒÑ¡£Ç ;4Å†‘PÌQ`C
0aÎŠiÁ`xð™”³§ÏŸ Æ,&ÂR #‚4­ø‚L„-`œˆ`ó‡ÀB9'™ùó‡‘?W|Ý˜$‰È>9+…é¢…Aê òáÌ„	ÅŠ¹Èc	f««9‹üÁà‹‡…ü0Ò1¤Mi×ÚPG
DyÈÔS@‘¢¼àVK!QEtaÅ¥#If¤´éSÚ4sëÞý÷‰œ«®ä’}¥¸ñâ¹®ì°-y·sšP0 1¥ºõëØ¯b€û¹÷ç¼þ#_fwÝ>ØPÿ}{ò6ÎÇdÿ!¼úûÎƒ Ð¿?ˆ®ô·ßxT™SzôÁTß|ðå Âœ0ñÆaáLaƒ‡¸à|º}€_LûÑ¡"Ê¬èâŠ°d ~ìíVcƒ6aŒ‹)$óÄ‹+¡BLòµ§àz4…ç¢/è&À¼ˆ€DÙ^P¬˜Œ2T£Œ2z|@*
Y¥•%Æ*2€3[$±†)üâE?>x&šÎ¨b
½ !È0+¤ÐÉƒ ð1îÉ§‚éåh€)[Ó‹	U`!„,Â, @ t˜â£I*xŒ*ªìq
.—ìò‹%þHÌP‚!Léè£&ÂäŠèJÊ`ÒÄ0w$±@2e ¡‰¨ñ‘ZjM®ÐŠ1QàÃeô0ˆ­ä!Ì,€Ø¬³ë±‡ ›,â Ga¬1HM@¡Å "„{«³ûe©¢¼<€‹ªd°Ç½@` ³E’;ÞŠOè‘&ÇÄÐ‹”TŽJ.LXº˜Œ*;ê“Ê^Ñ®ˆI—)ã¸0O<2ÇsÍÀ|x/Ÿì½ñ…Z P	œhá	_pâ‰'œÌÂ	È,·i¨AU¹-%H@Ójh­[ÂÎm@I\ †Dà€#Ô’ˆ6l`Ã"„°Lê"G8‚6VXÁp½›„8UÓ G$ËÄq„GÔÍD A\`E£Ô¢Æ26È`¸n9l †Úlp ‰8b‹@ qX‡là-!€B"@xp§çFÃò‘DÂ¼óËG=ôÌÓ 9ÍGŸ|n5¶<¶÷àÿÃ@Ò‘?~ùèK§þúç³?¾ùé³Ñüô×oÿýøç¯ÿþû¿Ï þ`È'@þo€ ,àÿÈÀþïA À¢` 
´â0@0˜A
R ƒ­ø`+<ØÁ
ZÐƒáÀ¿º! ;0707010000607a000081a40000000000000002000000013d1fe2ca000008f0000000200000000000000000000000000000001d00000003reloc/webmin/images/icon.gif  GIF89a0 0 ç  ÿÿÿðððùøøóððÚÖÖôññúúö¾ººòòòúúúÒÎÊÊ¾ºæææøøøÞÞÚº®¬¾¶²ÒÊÊñññöööÎÊÊ¶²®ÎÆÂÆÂ¾âââýýýææâÂº¶ÖÎÊæÞÞÊÂ¾Âº²ÎÊÆÒÒÒêââúööþþþâÞÞÆ¾ºÒÎÎÞÞÞÚÖÒêææÒÊÆ¾¶®Æ¾¾ÞÚÚÖÒÒúúþööúâÞÚÂ¶²º¶²ÆÂÂÖÖÖÂºº¶®ªÆÂºâÚÚêêêúþþþúúÚÒÎÆ¾¶º²®Â¾ºÂ¾¾êééîîîÆÆÂ²¦¢¾º¶ÊÊÆþþúòîêÊÆÂ²ª¦ÚÚÚ’Š†~vr–ŽŠš––‚zxrjbVNNrnnæââîêêööò²²®’’’žšššššrrrbbb¢––^VRbZTvvv^ZX2.+&¾²®rfff^^666


¾¾¾ÖÎÎÂ¶¶ÊÆÆRNN*.**&&&"""f^Zb^^6.*.*&222zzzÖÒÎöòò‚‚‚
22.


ÚÚÖââÞÎÎÎ***^^\
ÊÊÊF>;
¢¢¢ÂÂÂ¦žšJJJ
–––ÒÎÆ¾²²òîî
"
ZRN¶®®òòîŠ‚~fffNNNÊ¾¾ÚÒÒ

*&&ª¦žnfbZZZ

ÎÆÆ>>>®®®ÎÎÊÆººîîêÞÖÖ¶¶²
ZNNBBB‚~|~~~ÞÚÖ¾¶¶*""NFDÏÏÏ²®ªº²².&!º²ª":2.ŠŠŠVRRŠ†‚žžž²²²æâÞ’ŠŠnnn

"VVVêêæÖÖÒÎÂÂªªªFFF†††êæâ&"ŽŽŽRRPíìè"B>>ÍÍÍjjjÙÒÏìèçëçæëéåîêæº¶®ìççëëê÷÷÷ððïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!ù
 ÿ ,    0 0  þ H`  
*\È°¡Ã
8œH‘¢  HP±£Ç
0 Ð`£Ç“8x !‚& œ)0
,\€@C’&iv Â:xø ‚ÀK 2…6œ!ÄFQÂÃ'P< ¨À	i(a"…HÈM b-N¸À u¡/ L€¡ i¹rGÈ 1ƒ†‰!l ÀÀ Œ3 ¸A`+9tì@Àq|XøÂ B 	pÐ#	 ~h%RÄ
GœÀ0!Ié¹”¸Xb„	¡M6È ‘ …“'P¢H™B¥Š+W°þ$H@¢Ç„,Z¤HÙÂ¥‹—‘0(âÁ ‰¾€	#¦Ë2e˜q/ ÀÀóUqa¸—†kTtm0@]	A¸ñqÈ1udñÂ@°pƒB@aÇxä¡Ç{ðÑ¡p„ríàF ˆ |¹G	ôð‡~@€ƒUBH!†É‡ÉçÆ€À!f BB"O*²HŒìÀW¤0}4âˆ"¨!e84!Ð`u´°D< ‰$“P"æ"•4aƒ%øqI˜Ð‘	!rJ©ÉT D·IŽ‰pÒ‰–6<áÉ' „"Ê#£b†%”bÊ)þiì‘‰(•‰Jq„Â©h…€¨BÝ®¬%!†°ÒŠ+G|êÂ+°ÈÁG,²ÔÊGc$ß,\Á§ôpüqŠ I‹ N,AŒñ|d’F-Rò±‡-MÐ€·@0	 K.Z† .$ìÂ+‹,"I/h€@‚[øò!|(L0úJy
LQá	ãíÂðÐÉÃ,1BÄAL …€BG1€EÆ¤'ÃG­s„ (@ÂÄ,XìÐÈ U4$#/P0…$Ê€²+²\B
¯ü#Ì¤0A3†Äd ð'@<`‚þ’L0áÌª¿=ÀÂA˜ÄÏ@Sé"w$±ÆÑH$.  ‹!µNÓ€%mB.¹t¢ÂL€Å‡,pÅŒà€1Žä"xLÀ5ÌÐc52 `QÚ*Á5áâ­\Øx€0	<pày€6¼²H,Ì¬±Í/ŸpÃG7” !q©$•(¤º¸$èâI$ñ‡L€Á·<ÈŠ ”á&q†öà%ø@ ŒÀœ¾ä0-(Ä @€\z°‚YL@.ßøÀ±€?t´XÄ#ž±ŒfÐAr²FaÒà‘i€XÈ@pAŸ…ƒ ¥éA< ‚% @þx/Æñ‰IÈbŠ¨^`Ø¢å#G9úÀT L.æøÀò®À‰l"Èˆ„6ÎÑŒUˆB±P+P1‚&,q„»Œ.4ä*`Ÿj.˜aKèÀVQ5Ð"HŠ1Ð1äýA ¨À\3¦ÑŸ†ôà¤Ž	\ ¨Iö!B­®§O<ã;èÊ@Ê±‡=¤£•lˆ:üPC+˜ ;˜ŒƒLð‰Ê˜Ä:ºÁŽÌb3ßH;È×1¸ÃÁ6JÃƒM€ A°‚ýa	S¼#%ÔFè0,„c3ÀFZ!‡Sƒ¿˜H.ð)\,fÒè„b“
U4ÁMPT á‚ "` Ò‚x¤@\=ð>p@j ˆ1 @€Ôà¸ØH<^ ü€ÌSÁ0 às°/	`€!„#ÈC!É,Ðƒ`Cº`_ˆ€‚´àóèA_ÐãW¸°O¤V„aÔÃ KÈV@[¸k€Äì‘ÕŠð`‚ˆ@#<²¬éÁ= 0a,á¦píH`#¯'á>–À67 ‘aO•Å:ö$ ;0707010000607c000081a40000000000000002000000013d1fe2ca00000195000000200000000000000000000000000000001d00000003reloc/webmin/images/lang.gif  GIF89a0 0 Â  øüø   ø@øü ò) WQ«ÿÿÿÿÿÿ!þMade with GIMP !ù   ,    0 0  þxºÜþ0ÊIk8gÛ´¿^p¢•b…nÏšž.Ç4=×xyç<ëô@_#(À£¦l
pÎ#3z¤QÓ«v‹m¸`m6L–zËèîï;h»Ý`^¨Ô·þPïzosqr wrJ‚o~~€v…‡qˆF“m•s£Š™}œž‘“¥†¯¤¥©vž«¡¯¹º‡ˆ©£ª ‚¼¤¹¿³}½Ÿ’^Ê—®™ÇÈÀ#^–Ñ¥ÐÓÉu‘0‰Ñv™˜†Ü‰tßÍ‡~Š…±ç‰Þ2^r³öwtñË0ÊÓîžüÕ¢·f:{Éôu›W­ ÁpRçKžÄ‡êúRøIŸµ;2¤¸QÞ>‰‡ÌBt™´‘E®ØP¥Lƒ)TŠ Ó
8úzNÁ!qº´é„£N£"•JUgÍªR¡b}  ;   0707010000607d000081a40000000000000002000000013d1fe2ca000001d6000000200000000000000000000000000000001c00000003reloc/webmin/images/log.gif   GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  0707010000607e000081a40000000000000002000000013d1fe2ca00000119000000200000000000000000000000000000001d00000003reloc/webmin/images/mods.gif  GIF89a0 0 ¡  ÿÿÿÈ  —  ÿ  !ù    ,    0 0  ê„©Ëí£œ´Ú‹³Þ<øÀ]Ÿ'„Ôð	ê`BÃ›®o«Œ/,Ü÷ØŽA®úJIÜ‰™€ñ‡L¢–3Ì'¼ê~I‘-›’‚AŸgK?Ieóy
ªc@ˆûËU+ã:ÇÝ'öµ#·G†ðg6–77Âd€è¶§B(EÇr y7©·‰ô˜‰B	ç´EHŠ˜4$6	ªú‡Æ4©‚»ê‰j{{˜+;ªÓk» üBÜÛp|§LüÐ<ô\l'Gíè'ý:ÑÜíK®ý­Z®š®ÙÝóGMƒk¦<_3í}oL·omî/ À4P  ;   0707010000607f000081a40000000000000002000000013d1fe2ca00000189000000200000000000000000000000000000001b00000003reloc/webmin/images/os.gif    GIF89a0 0 Â  ÿÿÿÌÌÌããã™™™   fff      !ù    ,    0 0  þºÜþ0ÊI«½8ëƒç âdZešžŽêºç+ÏÝlß’ Üü<<ºà®G~¡rXt@a©l’ŽhRJ¥6±ÏèT7î
oàAVœÞæj
›-d‘r›+-Çƒiwk[en{}:Fƒjwbc‡zmpfFŽj`Qdp†Jn‘U™™vZyTžB~“S—¥w¦]©ˆª|Œia…«µ“Ÿc®°º§œ¼œ|Ÿ€£°„Ä½Ko«’ÁO[¶Å¨žÀ£¹¾‘•Ð{—tOx²”´|G³;Õç±ã¾ÈO^‚çlàØí:ç”5Úw­S/?x‡IØ¦c’&ýSxfY¼‡ôê%¬ØOpÆ_¡î-‚o‘EXµ!œÈñÁ”fJæ«ã‚"!2•YDW!NNQAøüI'‡?%qÉcq³œQó,ƒ!ßSª*bÕ°c«×¯'  ;   07070100006080000081a40000000000000002000000013d1fe2ca000000d6000000200000000000000000000000000000001e00000003reloc/webmin/images/proxy.gif GIF89a0 0 Â  ÿÿÿÿ  ÌÌÌ™™™fff         !ù    ,    0 0  ›ºÜþ0ÊÙ½ÚÌ»ÿÑŽŒHžèi¦ÞÊ¾p·sm+î­éü'üÀ`ppŽÈ$’PT:L›ÉPFkÓ#€š¼²‹,‘»¼€3gñVÛÅœÂ8ž¬¶åx·Býx%oo|Ohu}†/„NŒ_}VM’e6~™š›š=ž9Ÿ8¢¤¡¢§¥ª©ž­«¥¯<²°Ÿ´7·µº	 ;  07070100006081000081a40000000000000002000000013d1fe2ca0000033b000000200000000000000000000000000000002100000003reloc/webmin/images/referers.gif  GIF89a0 0 „  ÿÿÿUUó  îªªùÇÇûããýþþþTTó©©øŽŽ÷88ñrrõqqõïââüïöÆÆú99ñ¨¨øÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þ  ŽdižhJ‚ 1p¡Þkk¤í±ƒâ‡S±DSï‹)ÙÑ@6 ­¥@‹aƒÉVÙm82Z­†ïêNCOQ?Œš$mp
\Tw|†zp‘"M>".G>p;•©B©•y«œ?	 -?‹?K›¬"‰?ˆ."­?·H?SÀ²L¿ ½"Ì&ŸÉDÔÒMOÑÎ#Ô%M„Hß:ÍtyÍ
DŒIå~àÙ¨¾êÝ÷UWÍÆa3—O@‚tŒdÔQ€¬¥t>šì˜Gðˆ³ÃòôÈ(€A*ˆÂôCÀ ’DþH"xè@e®%0 ô£ IJøÑŠDÏÆŠëhÏŸPnHKÊT©·¦PQX	/ªU H“ÂØ·©†fÌxÚú'ì€,`cŒUÛ+®GÀ¹G¬›[õ¦µ”î Þƒr[°± ¡0-d4ÁÒB‚w³8P“¼Ù Þgqb›µxy„»A,À+#³Ý¼È$ÒÖÚàq„š82bo7ÚÝø6QE‚áZˆC¨œ¾zÖ7³¢ÏõºZpœZù¼a6=™d[¶ç%ÑP ›Ë²d‡#Žãïp$×9H±¾ùÛ• 1xDB`ëµ°'ßWs‰v›ˆ	GŸ€Þ#Y80ŒÖ‚ZˆÕWzÕ¡ZW•hâ‰(¦¨âŠ,ª(N	U´ð 1#Œ6Òˆoâ±žI>ò$B’0@íQhÐ ©ÙqM’¶dhJàÑ£{ž6ä`¶m™ås?Z •÷¨€;Ž5a&šé¬	f‘zaÇcœ¸9W§^Í•0ç¸íÉ›ŸØ™ ¨œ£Ê'FG§†š(¡Z¨¢„„  ; 07070100006082000081a40000000000000002000000013d1fe2ca000006a9000000200000000000000000000000000000002000000003reloc/webmin/images/session.gif   GIF89a0 0 ç  ÿÿÿþþþßÞî¡ Ø®¬í¯­î¦¤à¯­ï­«ì¦¤ß›Ñ¢¡Ú¬ªê­¬ì­«ë®­î®¬îääêÖÖîlj²][˜YW‘[Y•ig­ki¯ZY”‰†àON‚`^^]›VTVU›˜þœ™ÿááë×Öë‹Ï“Ùts©ŠˆÊ–”á›ê•“Ý©¦ÿš˜å›™é—•á”’Ü’ÙŒŠÎ‘Ž×§¥ûª§þª§ÿ©§ÿ¨¦ÿ©¦þ¨¦þ©§þååíäääÉÊÉÉÉÉÈÈÈÊËÊÇÈÇÈÉÈÊÊÊèéèâââÌÍÌ½¾½ÍÎÍÄÅÄÁÂÁÆÇÆÅÆÅæææßàß¨©¨ŸŸŸŠ‹ŠžŸž‰‰‰ŽŽŽ~~¤¥¤‘’‘………Ž°±°ŒŒŒ˜˜˜ˆˆˆ…†…ŒŒˆ‰ˆ†††¥¥¥‰Š‰’“’‘‘‘ŽŽ€£££‚ƒ‚|||„…„ª«ªƒ„ƒ©ª©êêêÌÎÌÃÄÃÂÃÂ»»»¾¾¾»¼»µµµ¹º¹¦§¦¾¿¾·¸·ÀÀÀµ¶µ¼½¼º»º¸¹¸¿À¿­®­áááÍÍÍÀÁÀ‹Œ‹“”“•–•›››´µ´›œ›§¨§¡¢¡™š™£¤£±±±èèèàáà³³³±²±°°°¶·¶éééâãâ»½»ËÌËÃÅÃßßßìììçççtutooolmlttt_`_hhhWWWaaaÛÛÛàààãããÎÏÎÁÃÁõõõåæåmmmsss€€€nonefez{zrsrîîîëëëÇÉÇÓÔÓÑÒÑÌÌÌ¹¶¹±¯±²°²ÈÇÈéêé»¹»±°±ÍËÍ²³²³´³}~}jkjqqq¨§¨®¯®„„„´´´áâá¯¯¯”””¨¦¨¯°¯ÄÃÄÌÊÌÍÌÍÕÖÕÔÕÔÓÓÓÖ×ÖÒÒÒÕÕÕÒÓÒÔÔÔÖÖÖÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡#JœH±¢Å‹3jÜÈQ£€
8€€@0Y€@ƒZ"€ù€ÀL8€I@'O;K>ˆ a…
.`È aÃR<| "„Õ«X³^¥Êµ+U#H”0qE
+X´pñF3h¬¨±ÂFtíâ­{—.9hèøxð=|ü ¤GÅ{òÃñä>$âcÈd!B<oÂxèÒ>„)bÄÈ‘#FÈ6Ò£uíÖ±eëÖÝ#ÉnÝJzYb„	mÜMœ´~%Š”)TªX¹2K-[¸tñòL1cÈþ”)cæÌx*hÒxQ³æ	›6eÜ¼Ó:N9ræ0¡£¤Ž;Là‘GzìÁGJøñÇ€"HuÔáG{ÑÃJ$!è1ˆtgD„èVÈnFF€¬q"h€qÝf$2†"z,ÂH#R8‚Ç#D"	nDâ6	%¿éÖ#•,!Œøa‰^²Ä€È˜`âÇ]2ÂG‘Ef¢‰øµ¦$™j&é&Šl"§‘'"Af›ä©çž|ò¹GœõÁ‰ÆÁId'ž À¢Œ6ê(£Ÿ j(„Š(£RŠ)§ òÈ¡©(úè¨F
è$ªÈ‘ÄK$ÁÄþt$q[kˆŠJ*©¦Æ™É*hâ¶&‘B°"ì°Ä[¬€&§›pÊÑš³Î¾)-²€Úg"Š…àVH†tëí·à‚ÛŠ¤”râˆ¯²ýQ$“¸âî»ðÆï+’¢Š,±È2-³ÔbK‘Übë­æÊæ®œæJ rÇ˜‡â20Á¥JÚ„*oQˆ³hæ¢ËÇ ‡,²È»Hj~H <[œÓfLn¥…d«ñÊlòbóÍ¹I+©öºg/¾ô/ÀÐa´ÑKü¶s0¼öšsœÂX'L11ÅÀq'@£´Å©â§2²i>+ŒZƒL2ÊcÅ2¤0#K3_WëŒ'æLmw‘Â<SÉ%ÐT1Ò4cx3ÏÔ'(Î)vœÓP#ùäÕ´¼3(ªÄœí‰y³Ür’;ÇÁƒ5×`“6Û\ÃM6Ül³ÍêÜ\³6Ù`s5´cÓîÙèÒ7Úxó1ðÞt£ËéÖtƒM5ïüóÐG/ýôÔWoýõ ;   07070100006083000081a40000000000000002000000013d1fe2ca0000016c000000200000000000000000000000000000001c00000003reloc/webmin/images/ssl.gif   GIF89a0 0 €  ÿÿÿ™™™!þMade with GIMP !ù    ,    0 0  þD€g¸çœ`‹,¼Y©T[s^)×fuæ’a£W‚)ôI¨ÏâëÎÆ]ë¨Õ–v \$V¤)—>¦ó¹4B§Tï˜(JCÛ¤ÆÚo{a­èƒ¢^ öç]/±ì[§8¼Ì¡#7âçôç¶b£¶Öò5ö†¸ÒWUyi©Bô¥	i’Iæ§úéY7Ù‘4DdÈ7Öµ‚ç#”zRK’âR—Ó(F¦wr¥sHBg+ÄåHè)sû$Å›x,Š[ª|
ÙØ¼=ºg­œlÜÀšÑšúÐÎ)ìX9þÝ»»Ù9<¼îXÍ‡‘‹*ž"%¾òš‡KÌºR,Äµ"øÍ”4p÷$¤xiO¤2?¥ýŠ‚#ŒH~Ïò`ÇQGhóêüŽZ'vFœ…Ìâëãrmè[¶ÌŒJ 	  ;07070100006084000081a40000000000000002000000013d1fe2ca000005e7000000200000000000000000000000000000002200000003reloc/webmin/images/startpage.gif GIF89a0 0 ç        =S&(&'('(((121787PQPWYW`b`aaajnjmnïssswxïx Ÿxzxy}yz|z~‚~€ƒðƒ„†„‰‹‰Šð‹Ž‹ŒŠ¤ŒŒ‘‘‘”—””—ñ˜˜˜šœšž¡žž¡òŸ¡Ÿ ¡  ¢ £¥££Î·¦Œ4§ª§¨«¨¨«×¨«à¨«ò¨¬¨©¬©«­««®«­­m¯±¯¯³¯²®Æ²µ²²µ×²µóµ¸µµ¹µ¶¸¶¶¹¶·¹·¸»¸¹¹pºaaº½ºº¾º»¿»¼¿¼¼¿Ø¼¿á¼¿ô¾Á¾¿Â¿ÀÃÀÁÅÁÃÆÃÄÇÄÅÉÅÆÉÆÆÉØÆÉâÆÉôÇÉÇÈÊÈÈÌÈÈÌàÍÑÍÎÑÎÐÓÐÐÓÙÐÓõÐÔÐÑÕÑÑÕ×ÑÕèÒÕÒÒÖ´Ó×ÓÔØÔÕØÕÕÙÙÖÙÖÖÚÖ×Ú×ØÛØÙÜÙÙÝÙÚÝÚÚÝãÚÝìÚÝöÛÞÛÜßÜÜàÜÝàÝàãààäàãçääçääçöäèäåéåæéææêæèìèéíéêîêëïëìðìíñíîñîîñ÷îòîîòôïñïðôðñÛèñõñòöòóõóóöôôøôöúö÷ú÷øÉÆøÝÚøûøøüøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù
 ÿ ,    0 0  þ ÿ	H° Áƒ*LÈà '«<²p`XfT,Hƒ  ‘¦Ø `ˆ%ž ¨ˆ		p¸RJ$’mþàà0¦ÏŸ@}&:ƒÇ%0”œàQ”)DJaœP¢$¨Õ«X³ú„q£bŸƒr†5ø5RÅÿð ŒS!ÎØ‚}ptøjPN	1‘(|D·à›";ÞìSbÂÂ:VÀ,Ahe‰•Dëô‰aeŽA?täô¬µ3Â/wúÂíÓ‡³À/¤E”C¥d…n´HA8æ Õb1ý¯Oˆ--„R”¼ûØ±ƒûŸ¦F˜º9êÒ«'ÄÂ½;–‚u¼þäŽâ;AïâÊY¯~}óÒrš'r¿—C1)¸Ô\ É5ðZEø„	—$WýU‚g½e'–„Œ,4ƒ(x AM\èƒ ˆ@$ ÐÄKX`¨Á†u  	0z@‚VT£U.($HÉÒB&ü±Ñ$
E°Ai,’œkl”%wÈý‰!Æv3øàC>”§‘@Š ðO–$øÀ¡KbAÂ—M4‚m*2Ã‰Ö9Ð!Oh!Dhy’Ü
ST4ÈŽD™%~$Ç+TäH%?(”Asf²Grv¨•%‚êyÿ´éƒp^„Â—ÿœÆ´)Ô¦Øië@ˆxV&Îe·EÐ"4 Á’4Ò_À-Tƒ5HÖ„dýƒ@B’€EjbhQ–a¼‰Bj"w„‘3ÐÄ­vÂÅB$'P:|PF$¤B4—…$‡Æ1‰€Ð”õ¤ÇT‚•„	5^ûa
Št|ÆÿjÈ Ãk2u';âÀ PE¼Õù‚®·’Kÿh\W¸Vg@ ; 07070100006085000081a40000000000000002000000013d1fe2ca0000039a000000200000000000000000000000000000001f00000003reloc/webmin/images/syslet.gif    GIF89a0 0 ¥  ÿÿÿþþþöööÇÇÅLžª#‡•
zŠ¬¿½6‘b«´ÖÄnþÖ,üÙ_ÜÝÝÜÊaúÝyj®·þæ~þâ{úÞ‚üâ‚þæ‚Š{*bb`–ŽrâââŠ»¿á¶&VVVøÏB}~~srn®Ž764FFE+*'¤…i¹ 1õÇ)p\r‚VFÖ®"l{Aˆ“Áfs`l¼¼»PYr|M‰ŽŽZ†‹JZèèç¨ª©ðññ¬®¬ÿÿÿ!þMade with GIMP !ù  ? ,    0 0  þÀŸpH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz·Ba<6”Ïs­nŸ•Y^@Øëò»>ÏÇûíI	v
ˆ‰Š‹ŒŠG		–——™œ›ž˜ŸF‘	š—¬¯«°³²µ±·E»¾¾½À¿¾ÄËÁÇÊÁÁE	­®ÛªšÜÛ­«ãÜD“Š—ñòñæò žóñDâ 8Ä ¢!Dˆ¸Ð¡…"2’ Ñ‚#ˆjØ‘ˆ Ö9‚DÇƒ7ÉÑ`‡DÆ˜hÙaÁ	'Fpd€¢gþš-ôD1¨P"¤è¢éÒPO”˜ªâÄŠœK2ej*ŽZGœ@Ê¢iÐh­¢½Š¶…YCp±áÔ©´DX”­»tíŠ€[¨¹`„ßÃ+Hð]°6ïÞºÖ*æ[ñáÉNU4¢×eÉ”+·uJ´h¼C^°€±¡uŠ)Ö¶p]×õÚ®c¬ÑºµÚ.ˆÀx!£wïk_ï;­òkƒð»È 3L¸Ø¾}ŠµÜ[sw1]6µÂ†‰tÆŒðã»hay{üÒˆ-ÄQÞo‘6ØpÃ~ûYÐÂ!ŒPðY
!èÇ`‚$Z Â†ü§mèá‡v"ˆ"~HJ–@	®ÈâŠ#nè"‹2‚8#	G€¢:Üèã@‰ã;ð ƒr B	ø4i	N>é$”MR¥IìÐ@Gvé%<~éå‘a"`™:,‘Á >ä C™gˆ$™`Â9ç]6¡å |*PC~*0€ 
è¡‡ú‰¨¢Qìàè£F*é¤~aé¥˜fªé¦œvêé§š ;  07070100006086000081a40000000000000002000000013d1fe2ca0000079a000000200000000000000000000000000000001f00000003reloc/webmin/images/themes.gif    GIF89a0 0 ç  FrvòÆ*ÎÊÎ¾šRæ¾.¢¢¢êN~‚žžžÒÖÖVŽ’ššš**ÞâÞ22ö&>Bnnþîêî.NNŽ’Žæ¾2¶²þæª¦ö>>>BBö~~þžšþ&&âº6>fj––þÒ¶¶¶bRšFFöêÒz’––êîêNNNº¾º~~~ŽŽŽîòîVVöVVVjnjF:²¦ª¦jV’’ŽþZZö^ššòöòš–þ‚j‚¾Â¾ÒÒÖj®²ÊÆþ¶²®666ÞÞþz¶º^^^NNæººö®²®^^þv^ŠÂÆÂúþúv²¶ÞÖÖÎÎþ
^b^ÚÚönrnrjfââþ

:^^ÆÆÆ†Š†r²¶"66ÚÞÚffþjjj...~zþ>B>²¶²âæâ¾¾Îvzv66öRRöfjfÊÊÎªªª†††ÞÚÞÊ¦FjjþÚÒÖŠ†þ¶º¶úúþÆ¾¾JJNª¢¦vvv26þþþêâæ*FF>>öÚÖÖ²²²¢¦¢
ÆÂÆn®²fffÖÚÖšžšÊÎÊ¦¦¦‚‚þöúöÆÊÆòòöVNNæâæ>:ö>:6rrþ‚‚‚ööö::öÞÞÞ®®®¾¾¾
âÖÒÎ~z~ÎÎÎN‚†ž¢žbfbææænZŽnnnFvz..v¶¶n²¶ª¦þjfþZVö>jjJJö:::ª®ªêææÂÂÆ²¶¶ºº¾rrvššž

ÖÖÖîîîZZþÖÞâööþêÂ.ææþ’’’zvv‚~þÂÆÆÖÒÖ¦¢¦FBöŠŠŠººº†‚þâÞÞ
âÚÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	H° Áƒ*\È°¡Ã‡ÊâD±¢Å‹|Ä¤‡Ç Cöà40¦IzÉT0˜bÆ$S¥73tèÐˆÃÎŸ@ƒJ(3NƒŽ&±Ðñc®©$m:Ñ IL0ìäPB‹–.´¬©Qˆƒ„F…Úì¼@4æ1)X¸‚&EŠ?®\Å‰³ÅÓŠ˜$ÿiíB„5ÈlÐbd¤S.\@ZÛ“!sd ñôEÈ&'¹rí}!÷ªÀHpèâ+¤F‹ºl#¡D)xBt`û/¦ A5ûNxà';ƒ­!u{óçÎI­¡±[ pß5³kÇ$¬¢4Âþ‹O~<D½·«Ï~Óo›ïãT©’{û˜Òk¯4 Sÿõ2‡ßvÂ¨ŸLü6@%‚ôç {1ÅR‰„•,…yL(á•ì`ULéñ×_ƒîÂ`‰f·À:èàÆ!> ¡ƒ
‡|Ä$* ñ&;‚è}&^wHpþ=è[…u$YÇJ6©d%-ùØßCª7"}×	²€"MVBÌ#N*¹ 02ýÓ^M~ð æšl¶Ùæ•Ø!Ìª€)Àxây`Mnöé§šYÀQÉ˜p§-ˆ"* ¢{ÆÄ& T  ‚jÀ ›Ÿ|âfä²„-w@	‹ê©Ý!lNñ	!ðpÇþ¦`Á€TÜAwÌº&|üPI©GÌ@@'Ì`l£´y ð@HŸ0@  €’	 À&	ðáž€|€{€*¥j¶ZéŸÜ) ÐAG¶l.‘¹ KBâ
@B
òçÁlRªŠ|0Rj"ˆ0nÄ" »&»ó€ñšÄÀ¥‚ò{þææÆ·™2iÜ[{U¸)ÊÊ+÷™rÊkœ±š5k,ÊÅ~–ŒêŸ='¼3»%´ÎKÍfË*»)4Ó÷œ¦
€´P‰€ÔˆÜÅ$GÍsÓ£à4PÁ	pÃ-ÉeS}ôÙ,óÐBþ› ÁUè0È {¨P2&'£MiÍi¢à„eü’Ë/z 3ø †ŸZuÆoòä'¡C*:¬BvpÀÙŒpÍœxþÙ&ÀèÑ€|¡@Áì6ÓWèý¸ŸÒ@’(0BÎGôÁ§Ù^ ¿‰E¤²ÇP%¸Ù·ÐÀ	,<Þ€' D'$ïžÝNïNµ÷ß°*
œáÆn ÏžÒì3ß¦<@à!	$°`ßk@ôCÕ¹ÏMc$1|!#€Â&` ¿ào~ÂXÍÔ–ÀáéFNDø£åílMøÂ!Šp‚^AvƒØ„í’·ƒCè.„ix 
Fpª|AÃ“ÊQ²€eTSãdH¾^H¢(Bvˆº¾„l"!àÆw=8¡*ÚÉÀ(Bª	›˜à,(‰/<à0øBòáÅÕý	€†0ÄPIB`J ;  07070100006087000081a40000000000000002000000013d1fe2ca00000616000000200000000000000000000000000000001b00000003reloc/webmin/images/ui.gif    GIF89a0 0 ç  „‚„ÄÂ¼DBDœ¢´Üâädbdœ¢Ü¬²¼ÌÒÜ„†Ì$"$tv´”’”DFälrt¤¢¼ÄÂô´ºÄTRTôòôÔÒô424ÄÊÌŒŽ¼¤ª´”š¤ŒŠ„ìêì¬²Ä|~¬ÜÚÜ|z|¼ÂÌdf¬TVŒ<:<DFt¤¢¤ljl´²ôÔÒÌœžÔ,*,”’´\Z\„Š”
LJLäâü´²´trÜ”–¤trt¤ª¼¼º¼ÜÚä¤¦´ÔÒÜäâä¬ªüŒŠä$"<”–”üúü42TÌÊÌ¬ª¬œšœìîì´²ÄÄÂÌ¤¦¤´¶´tv„¬ª¼¼¾ÌÜÚô„†”ÄÆÄdfd¤¦Ô$&$|~´\ZÜÌÎäTVT464ŒŽŒ|~|<><lnlÔÖÔ\^\ŒŽ”LNLtvt¼¾¼ÜÞääæäÌÎÌ¬®¬œž¬´¶ÄÄÆÌ¬ªÌ„†„ÄÂÄDFDdblŒŠÔtvÄ”’œÄÆüôöôŒŠŒìêôÜÞÜ<:D¤¢¬¼¾ÜÔÒÔœšüTVôtrôŒŽô,.,ÔÖÜüþüœžœ¬®¼´²¼ÜÚì”–œìîô¤¦¬´¶¼¤¦Ü$&,TV\46<|~„lnt\^dŒŽœLNTtv|¼¾ÄäæìÌÎÔ¬®´´¶Ìÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP !ù  ÿ ,    0 0  þ ÿ	Hp   
äò ˜„)(œHÑà	#\2]úÇ€›.þý	`Œ—% ²aTÈ›—Å(hPEoþYMCˆý[ ° "º @1ÐhÁH>|Ìˆt³êD V³jÝÊµ«×¯`oöh:6,X)ÿ
H)"EJ[¶˜K—+…;xóêÝË·¯ß¿y‡h A€‘¸±ãÇ€*Œ aøpcÄ€ Aç°‰;FB‡^bd	i#Œ¤YÍºukCF¥Ncº4é%P—}çÄ	Dh‚GSäD&8 âpðáh:=‡>\Ã›áˆ(/BpîÁ9þß^¤|ùæ¹§7ÿ¨¼ð"Àwo~|÷èä×›× ŸøíÁÕ‡Æ	jä‘Ü	oä‘Ç}gÜ à7xáEzháE€hDqGXèWE`Ð!ˆv¨_šÈ¡‡w( @
üà^yäH‚EäQÄÑÃˆ RD5Bg¡}yl¨^~=ª·¤{¬ÇdüQxG5üPƒØG_2ÁD“å0æ˜Å! BšÇ+€RD €à—Ü©1&yï×ˆ, …lÈÄÐC'=ôpFtrÆŽž!i“Búè¥`é¥›öP€! Nzå}hxqC.Ô'%xã=¼1aÃáÂpÜI¼öêkOü*l¯=ä Á°½" ,?PGr. ÇA7ˆ7(wä¡†Ð¹‡Æ#Óš÷†’×:kß¹Ã¡' |ÜAk‹úuk×ÖwÆ}ò¹ ðšK"r¤Žý•yÀy8hm€FL+\®€ÝAÁ]ó5ñÄ×5—IxàAÇT1^t‰E04Iÿl1Vh-ÿSÚFŠ'ç¬óÎÁ!‚>ýsÐDm´ÐHôÑAËÌ3WFe1CTTûðôÕXg­õÖ\wíõ×`‡-6× ;  07070100006088000081a40000000000000002000000013d1fe2ca000000b8000000200000000000000000000000000000002000000003reloc/webmin/images/upgrade.gif   GIF89a0 0 ¡  øüø   ÿÿÿÿÿÿ!þMade with GIMP !ù
   ,    0 0  w„©Ëí£”!ÌK«Å|iÝ…Æ÷‰IšŠªËºË
MÛŽë</ûýTB¡¨Xì ‘˜årå|¾¢Î•:»boÚëq¨ó€Ã	#¹<>Òj³z|Ã{r€û}o³ÏyþžÜøH8èshSˆ'·¨˜YG)W  ;0707010000497b000081e40000000000000002000000013d1fe2cb000007e5000000200000000000000000000000000000001700000003reloc/webmin/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display a table of icons for different types of webmin configuration

require './webmin-lib.pl';
&header($text{'index_title'}, "", undef, 0, 1);
print "<hr>\n";
%access = &get_module_acl();

@wlinks = ( "edit_access.cgi", "edit_bind.cgi", "edit_log.cgi",
	    "edit_proxy.cgi", "edit_ui.cgi", "edit_mods.cgi",
	    "edit_os.cgi", "edit_lang.cgi", "edit_startpage.cgi",
	    "edit_upgrade.cgi", "edit_session.cgi", "edit_assignment.cgi",
	    "edit_categories.cgi", "edit_themes.cgi", "edit_referers.cgi",		    "edit_anon.cgi" );
@wtitles = ( $text{'access_title'}, $text{'bind_title'},
	     $text{'log_title'}, $text{'proxy_title'},
	     $text{'ui_title'}, $text{'mods_title'},
	     $text{'os_title'}, $text{'lang_title'},
	     $text{'startpage_title'}, $text{'upgrade_title'},
	     $text{'session_title'}, $text{'assignment_title'},
	     $text{'categories_title'}, $text{'themes_title'},
	     $text{'referers_title'}, $text{'anon_title'} );
@wicons = ( "images/access.gif", "images/bind.gif", "images/log.gif",
	    "images/proxy.gif", "images/ui.gif", "images/mods.gif",
	    "images/os.gif", "images/lang.gif", "images/startpage.gif",
            "images/upgrade.gif", "images/session.gif",
	    "images/assignment.gif", "images/categories.gif",
	    "images/themes.gif", "images/referers.gif",
	    "images/anon.gif" );
if ($gconfig{'eazel'}) {
	push(@wlinks, "edit_syslet.cgi");
	push(@wtitles, $text{'syslet_title'});
	push(@wicons, "images/syslet.gif");
	}
push(@wlinks, "edit_ssl.cgi", "edit_ca.cgi");
push(@wtitles, $text{'ssl_title'}, $text{'ca_title'});
push(@wicons, "images/ssl.gif", "images/ca.gif");

if ($access{'allow'}) {
	map { $allow{$_}++ } split(/\s+/, $access{'allow'});
	for($i=0; $i<@wlinks; $i++) {
		$wlinks[$i] =~ /edit_(\S+)\.cgi/;
		if (!$allow{$1}) {
			splice(@wlinks, $i, 1);
			splice(@wtitles, $i, 1);
			splice(@wicons, $i, 1);
			$i--;
			}
		}
	}
&icons_table(\@wlinks, \@wtitles, \@wicons);

print "<hr>\n";
&footer("/", $text{'index'});

   0707010000497c000081e40000000000000002000000013d1fe2ca00000a5c000000200000000000000000000000000000001d00000003reloc/webmin/install_mod.cgi  #!/usr/local/bin/perl
# install_mod.cgi
# Download and install a webmin module

require './webmin-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }

$| = 1;
$theme_no_table = 1 if ($in{'source'} == 2);
&header($text{'install_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('install_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'install_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'install_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'install_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# from ftp or http url
	&error_setup(&text('install_err3', $in{'url'}));
	$file = &tempname();
	$need_unlink = 1;
	local $error;
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $file, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?\/(.*)$/) {
		$host = $1; $ffile = $3;
		&ftp_download($host, $ffile, $file, \$error, \&progress_callback);
		}
	else { &inst_error($text{'install_eurl'}); }
	&inst_error($error) if ($error);
	}

# Install the module(s)
$rv = &install_webmin_module($file, $need_unlink, $in{'nodeps'},
		       $in{'grant'} ? undef : [ split(/\s+/, $in{'grantto'}) ]);
if (ref($rv)) {
	@mdescs = @{$rv->[0]};
	@mdirs = @{$rv->[1]};
	@msizes = @{$rv->[2]};
	}
else {
	&inst_error($rv);
	}

# Display something nice for the user
&read_file("$config_directory/webmin.catnames", \%catnames);
print "$text{'install_desc'} <p>\n";
print "<ul>\n";
for($i=0; $i<@mdescs; $i++) {
	$mdirs[$i] =~ /\/([^\/]+)$/;
	if (%minfo = &get_module_info($1)) {
		# Installed a module
		local $cat = $catnames{$minfo{'category'}};
		$cat = $text{"category_".$minfo{'category'}} if (!$cat);
		$cat = $text{"category_"} if (!$cat);
		print &text('install_line2', "<b>$mdescs[$i]</b>",
			    "<tt>$mdirs[$i]</tt>", $msizes[$i], $cat),
			    "<br>\n";
		}
	elsif (%tinfo = &get_theme_info($1)) {
		# Installed a theme
		print &text('themes_line', "<b>$mdescs[$i]</b>",
			    "<tt>$mdirs[$i]</tt>", $msizes[$i]),
			    "<br>\n";
		}
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

0707010000497d000081e40000000000000002000000013d1fe2cb0000083a000000200000000000000000000000000000001f00000003reloc/webmin/install_theme.cgi    #!/usr/local/bin/perl
# themes_theme.cgi
# Download and install a webmin theme

require './webmin-lib.pl';
if ($ENV{REQUEST_METHOD} eq "POST") { &ReadParseMime(); }
else { &ReadParse(); $no_upload = 1; }

$| = 1;
$theme_no_table = 1 if ($in{'source'} == 2);
&header($text{'install_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('themes_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'themes_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'themes_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'themes_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# from ftp or http url
	&error_setup(&text('themes_err3', $in{'url'}));
	$file = &tempname();
	$need_unlink = 1;
	$progress_callback_url = $in{'url'};
	if ($in{'url'} =~ /^http:\/\/([^\/]+)(\/.*)$/) {
		$host = $1; $page = $2; $port = 80;
		if ($host =~ /^(.*):(\d+)$/) { $host = $1; $port = $2; }
		&http_download($host, $port, $page, $file, \$error,
			       \&progress_callback);
		}
	elsif ($in{'url'} =~ /^ftp:\/\/([^\/]+)(:21)?\/(.*)$/) {
		$host = $1; $ffile = $3;
		&ftp_download($host, $ffile, $file, \$error,
			      \&progress_callback);
		}
	else { &inst_error($text{'themes_eurl'}); }
	&inst_error($error) if ($error);
	}

# Install the theme(s)
$rv = &install_webmin_module($file, $need_unlink, 0, undef);
if (ref($rv)) {
	@mdescs = @{$rv->[0]};
	@mdirs = @{$rv->[1]};
	@msizes = @{$rv->[2]};
	}
else {
	&inst_error($rv);
	}

# Display something nice for the user
print "$text{'themes_done'} <p>\n";
print "<ul>\n";
for($i=0; $i<@mdescs; $i++) {
	print &text('themes_line', "<b>$mdescs[$i]</b>",
		    "<tt>$mdirs[$i]</tt>", $msizes[$i]),"<p>\n";
	}
print "</ul><p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
if ($need_unlink) { unlink($file); }
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

  070701000077bf000041ed0000000000000001000000023d1ffba700000000000000200000000000000000000000000000001200000003reloc/webmin/lang 070701000077c0000081a40000000000000002000000013d1fe2cb00006623000000200000000000000000000000000000001500000003reloc/webmin/lang/ca  index_title=Configuració de Webmin
index_return=a la Configuració de Webmin

access_title=Control d'Accés IP
access_desc=Amb aquest formulari, es pot configurar el servidor Webmin per a denegar o permetre l'accés només des de certes adreces. També s'hi poden introduir noms de hosts (com ara foo.bar.com) i xarxes IP (com ara  10.254.3.0 o 10.254.1.0/255.255.255.128). Hauries de limitar l'accés al servidor a adreces fiables, sobretot si és accessible des d'Internet. Altrament, qualsevol que endevini la teva contrasenya tindrà el control absolut del sistema.
access_header=Control d'Accés
access_all=Permet l'accés des de totes les adreces
access_allow=Permet l'accés només des de les adreces llistades
access_deny=Denega l'accés des de les adreces llistades
access_libwrap=Comprova també els embolcalls TCP i els fitxers <tt>hosts.allow</tt> i <tt>hosts.deny</tt>
access_err=No he pogut actualitzar la llista d'adreces
access_enone=No s'ha introduït cap adreça
access_enet='$1' no és una adreça de xarxa vàlida
access_emask='$1' no és una màscara de subxarxa vàlida
access_eip='$1' no és una adreça IP completa
access_ehost=No he pogut trobar cap adreça per a '$1'
access_eself=La teva adreça IP actual ($1) serà rebutjada

bind_title=Port i Adreça
bind_desc=Utilitzant aquest formulari, si el host on s'executa Webmin té múltiples adreces IP, el servidor es pot configurar per escoltar només en una adreça. També s'hi pot configurar el port TCP que Webmin ha d'escoltar. Nota - Pot ser que el teu fullejador Web et demani d'entrar un altre cop després de canviar el port o l'adreça.
bind_header=Adreça IP i Port
bind_ip=Escolta l'Adreça IP
bind_all=Totes
bind_port=Escolta el Port
bind_err=No he pogut canviar l'adreça
bind_eip=No he pogut obtenir l'adreça IP de '$1'
bind_eassign=L'adreça '$1' no està assignada a aquest sistema
bind_eport=El port $1 ja està en ús

log_title=Registres
log_desc=Webmin es pot configurar per escriure un registre d'impactes del servidor web, en el format estàndard CLF de fitxres de registre. Si el registre està activat, també pots triar si s'enregistren els noms de host o les adreces IP, i amb quina freqüència es neteja el fitxer de registre. Quan està activat, els registres s'escriuen al fitxer $1.
log_desc2=Quan el registre està activat, Webmin també escriu un registre més detallat de les accions dels usuaris al fitxer $1. Aquest registre es pot visualitzar i analitzar amb el mòdul de Registre d'Accions per veure exactament què ha estat fent cada usuari de Webmin.
log_header=Registres del Servidor Web
log_disable=Desactiva el registres
log_enable=Activa els registres
log_resolv=Registra els noms de hosts resolts
log_clear=Neteja els fitxers de registre cada $1 hores
log_uall=Registra les accions de tots els usuaris
log_users=Només les accions de ...
log_mall=Registra les accions de tots els mòduls
log_modules=Registra només les accions de ...
log_files=Registra els canvis de cada acció fets a fitxers
log_err=No he pogut desar les opcions de registre
log_ehours='$1' no és un nombre vàlid d'hores
log_ediff=El sistema no té l'ordre $1 necessària per a registrar els canvis de fitxers

proxy_title=Servidors Proxy
proxy_desc=Si el host on s'està executant el Webmin està darrere d'alguna mena de tallafocs, pot ser necessari configurar l'ús del servidor proxy per accedir a llocs Web i FTP. Alguns mòduls, com ara els <tt>Paquets de Programari</tt>, faran servir aquestes proxys per descarregar fitxers o programes.
proxy_header=Servidors Proxy
proxy_http=Proxy HTTP
proxy_ftp=Proxy FTP
proxy_none=Cap
proxy_nofor=Sense proxy per a
proxy_user=Usuari de la proxy
proxy_pass=Contrasenya de la proxy
proxy_err=No he pogut desar les proxys
proxy_ehttp=El servidor proxy HTTP s'ha d'introduir com un URL
proxy_eftp=El servidor proxy FTP s'ha d'introduir com un URL

ui_title=Interfície d'Usuari
ui_desc=Aquest formulari permet editar les opcions de la interfície d'usuari utilitzada per tots els mòduls. En introduir els colors, s'ha d'especificar cadascun amb el sistema estàndard RGB, on cada valor és un número hexadecimal entre 00 i ff.
ui_header=Opcions d'interfície d'usuari
ui_default=Defecte
cs_page=Fons de la pàgina
cs_text=Text normal
cs_table=Fons de la taula
cs_header=Capçalera de la taula
cs_link=Text d'enllaç
ui_texttitles=Mostra els títols com a text
ui_sysinfo=Mostra usuari i nom de host
ui_sysinfo0=Al peu del fullejador
ui_sysinfo1=Al títol del fullejador
ui_sysinfo2=Sobre la capçalera de la pàgina
ui_sysinfo3=Enlloc
ui_err=No he pogut desar els colors
ui_ered=Valor de vermell incorrecte per a '$1'
ui_egreen=Valor de verd incorrecte per a '$1'
ui_eblue=Valor de blau incorrecte per a '$1'
ui_feedback=Envia les opinions a

mods_title=Mòduls Webmin
mods_desc1=Es poden afegir mòduls de Webmin després de la instal·lació fent servir el formulari de la dreta. Els mòduls es distribueixen típicament en fitxers <tt>.wbm</tt>, cadascun dels quals pot contenir un o més mòduls. Els mòduls es poden instal·lar també a partir de fitxers RPM, si el sistema operatiu ho suporta.
mods_desc2=Si vols tenir més d'una còpia del mateix mòdul amb configuracions diferents, el formulari de la dreta permet clonar qualsevol mòdul existent. El clon tindrà un nom nou, una configuració del mòdul nova, opcions de control d'accés noves, i pot posar-se a disposició d'usuaris diferents.
mods_desc3=Els mòduls i clons de mòduls existents es poden suprimir fent servir el formulari inferior. Si s'esborra un mòdul amb clons, aquests també seran eliminats. Quan s'ha esborrat un mòdul, s'ha de reinstal·lar per poder-lo tornar a utilitzar. No es pot esborrar un mòdul si n'hi ha d'altres que en depenen.
mods_install=Instal·lació de Mòdul
mods_local=Des d'un fitxer local
mods_nodeps=Ignora les dependències de mòduls en instal·lar
mods_uploaded=Des d'un fitxer pujat
mods_ftp=Des de FTP o URL HTTP
mods_installok=Instal·la el Mòdul des de Fitxer
mods_clone=Clonació de Mòdul
mods_cname=Mòdul a clonar
mods_cnew=Nom del mòdul clonat
mods_cloneok=Clona el Mòdul
mods_delete=Supressió de Mòduls
mods_deleteok=Suprimeix els Mòduls Seleccionats

install_err1=No he pogut instal·lar el mòdul des de $1
install_efile=El fitxer no existeix
install_err2=No he pogut instal·lar el mòdul pujat
install_ebrowser=El teu fullejador no suporta la puja de fitxers
install_err3=No he pogut instal·lar el mòdul des de $1
install_eurl=URL invàlid
install_etar=No és un fitxer de mòdul vàlid: $1
install_einfo=Al mòdul $1 hi falta un fitxer module.info
install_enone=No sembla que el fitxer contingui cap mòdul
install_eos=El mòdul $1 no suporta aquest sistema operatiu ($2 $3)
install_eusermin=EL mòdul $1 ñés de Usermin, no de Webmin
install_ever=El mòdul $1 necessita Webmin versió $2 o superior
install_edep=El mòdul $1 requereix el mòdul $2
install_eperldep=El mòdul $1 necessita el mòdul Perl $2.<br>No obstant, pots fer que Webmin <a href='$3'>el descarregui i l'instal·li</a> per tu.
install_eextract=L'extracció ha fallat: $1
install_title=Instal·lació de Mòduls
install_desc=Els mòduls següents han estat instal·lats amb èxit i afegits a la llista de control d'accés:
install_line=$1 en $2 ($3 Kb) sota la categoria $4
install_ecomp=El fitxer està comprimit, però no s'ha trobat l'ordre $1 al sistema
install_ecomp2=No he pogut descomprimir el fitxer: $1
install_egzip=El fitxer està comprimit amb gzip, però no s'ha trobat l'ordre $1 al sistema
install_egzip2=No he pogut descomprimir (gunzip) el fitxer: $1
install_erpm=No és un RPM de mòdul ini tema Webmin

install_eirpm=L'instal·lació del RPM ha fallat: $1
install_cat=Sota la categoria $1.
install_eneither=El RPM no conté cap mòdul ni tema Webmin

clone_err=No he pogut clonar el mòdul
clone_elink=Ha fallat l'enllaç simbòlic: $1
clone_ecopy=No he pogut copiar la configuració: $1
clone_desc=Clon de $1

delete_err=No he pogut suprimir els mòduls
delete_edep=No es pot suprimir el mòdul $1, ja que el mòdul $2 en depèn
delete_desc1=$1 (Clon de $2)
delete_desc2=$1 en $2 ($3 Kb)
delete_title=Supressió de Mòduls
delete_msg=Els mòduls següents han estat suprimits amb èxit de la instal·lació Webmin:
delete_rsure=Segur que vols suprimir el(s) mòdul(s) $2? S'esborraran $1 Kb de fitxers per sempre més.
delete_rusure2=Segur que vols suprimir el tema $2? S'esborraran $1 Kb de fitxers per sempre més.

os_title=Sistema Operatiu
os_desc=Aquest formulari permet canviar el sistema operatiu que Webmin creu que és el de la teva màquina. Això és útil si has actualitzat la teva màquina a una versió nova del sistema operatiu. Tingues en compte que la configuració dels mòduls instal·lats no es canviarà, fins i tot si hi ha diferències entre els sistemes nou i vell.
os_desc2=També pots canviar el camí de recerca utilitzat per Webmin en executar programes, i el camí de les llibreries compartides que es passa a qualsevol programa.
os_header=Sistema Operatiu del Host
os_curros=Sistema operatiu actual
os_currver=Versió actual del SO
os_new=Nou sistema operatiu
os_path=Camí de recerca de programes
os_ld_path=Camí de recerca de llibreries

lang_title=Idioma
lang_title2=Idioma de Webmin
lang_lang=Mostra-ho en l'idioma
lang_intro=Aquesta pàgina permet triar l'idioma que utilitzarà Webmin per mostrar els títols, textos i missatges
lang_ok=Canvia l'Idioma

ssl_title=Criptografia SSL
ssl_essl=Sembla que el mòdul Net::SSLeay de Perl no està instal·lat al sistema. Per instal·lar la llibreria OPenSSL i Net::SSLeay, segueix <a href='$1'>aquestes instruccions</a> del lloc web de Webmin.
ssl_desc1=Sembla que el host on s'està executant Webmin té instal·lat el mòdul Perl SSLeay. Fent-lo servir, Webmin suporta comunicació xifrada SSL entre el teu navegador i el servidor. Si estàs accedint el servidor Webmin a través d'Internet, llavors hauries de pensar seriosament en fer servir SSL per evitar que algun atacant capturi la teva contrasenya de Webmin.
ssl_desc2=Atenció - activa el suport SSL només si tens un navegador que suporti SSL (com ara Netscape o IE), i no hi ha cap tallafocs que bloquegi peticions <b>https</b> entre el teu navegador i el host Webmin.
ssl_header=Suport SSL
ssl_enable=Activa el suport de SSL, si està disponible
ssl_disable=Desactiva el suport de SSL, encara que estigui disponible

startpage_title=Opcions d'Indexació de Pàgina
startpage_intro=Aquesta pàgina permet definir quantes icones vols tenir per línia a la pàgina índex
startpage_tabs=Categoritza els mòduls
startpage_nocol=Nombre de Columnes
startpage_alt=Utilitza una capçalera alternativa
startpage_ecols='$1' no és un nombre vàlid de columnes
startpage_gotoone=Ves directament al mòdul<br>si l'usuari en té un
startpage_deftab=Categoria per defecte
startpage_nohost=Mostra la versió, el nom de host i SO

upgrade_title=Actualització de Webmin
upgrade_desc=Aquest formulari permet actualitzar tota la instal·lació Webmin a una nova versió. Pots instal·lar-la des d'un fitxer local, un fitxer pujat, o des de la versió més recent de <a href=http://www.webmin.com/>www.webmin.com</a>. Igual que amb una actualització manual, es conservaran tots els valors de configuració i tots els mòduls de terceres parts.
upgrade_descrpm=Aquest formulari permet actualitzar tota la instal·lació Webmin a una nova versió utilitzant l'opció d'actualització RPM. Pots instal·lar-la des d'un fitxer RPM local, un fitxer pujat, o des de la versió més recent de <a href=http://www.webmin.com/>www.webmin.com</a>. Igual que amb una actualització manual, es conservaran tots els valors de configuració i tots els mòduls de terceres parts.
upgrade_desccaldera=Aquest formulari permet actualitzar tota la instal·lació Webmin a una nova versió utilitzant l'opció d'actualització RPM. Pots instal·lar-la des d'un fitxer RPM local, un fitxer pujat, o des de la versió més recent de Caldera. Igual que amb una actualització manual, es conservaran tots els valors de configuració i tots els mòduls de terceres parts.
upgrade_desccaldera=This form allows you to upgrade your entire webmin installation to a new version using RPM's upgrade option. You can install from a local RPM file, an uploaded file or from the latest version from Caldera.
upgrade_descsolaris=Aquest formulari permet actualitzar tota la instal·lació Webmin a una nova versió traient el paquet de Solaris actual i instal·lant-ne un de nou. Pots instal·lar-la des d'un paquet local de Solaris, un fitxer pujat, o des de la versió més recent de <a href=http://www.webmin.com/>www.webmin.com</a>. Igual que amb una actualització manual, es conservaran tots els valors de configuració i tots els mòduls de terceres parts.
upgrade_local=Des d'un fitxer local
upgrade_uploaded=Des d'un fitxer pujat
upgrade_delete=Suprimeix el directori de la versió anterior després de l'actualització
upgrade_ftp=Versió més recent de www.webmin.com
upgrade_cup=Versió més recent amb l'eina <tt>cupdate</tt> de Caldera
upgrade_ok=Actualitza Webmin
upgrade_err1=No he pogut actualitzar a partir de $1
upgrade_err2=No he pogut actualitzar des del fitxer pujat
upgrade_err3=No he pogut actualitzar des de www.webmin.com
upgrade_efile=El fitxer no existeix
upgrade_ebrowser=El teu fullejador no suporta la puja de fitxers
upgrade_elatest=Ja estàs executant la darrera versió de Webmin
upgrade_eversion=No puc desactualitzar a la versió $1
upgrade_erpm=No és un fitxer RPM de Webmin vàlid
upgrade_egunzip=El sistema no té l'ordre <tt>gunzip</tt>
upgrade_egzip=No he pogut descomprimir amb <tt>gunzip</tt> el fitxer: $1
upgrade_etar=No és un fitxer tar de Webmin vàlid
upgrade_euntar=No he pogut descomprimir amb <tt>tar</tt> el fitxer: $1
upgrade_emod=EL fitxer és un mòdul de Webmin, no una actualització completa de Webmin. Hauries de fer servir la pàgina de <a href='$1'>Mòduls Webmin</a> per instal·lar-lo.
upgrade_setup=Executant el script setup.sh per actualitzar Webmin... Espera un minutet que acabi abans de continuar, si et plau
upgrade_setuprpm=Executant RPM per actualitzar Webmin... Espera un minutet que acabi abans de continuar, si et plau
upgrade_setuppackage=Executant pkgadd per actualitzar Webmin... Espera un minutet que acabi abans de continuar, si et plau
upgrade_eusermin=El fitxer és la versió $1 d'Usermin, no una actualització de Webmin.
upgrade_esolaris=L'actualització de Webmin no funciona quan s'ha instal·lat a partir d'un paquet Solaris. Fes l'actualització a mà, si et plau.
> upgrade_updates=Hi ha $1 actualitzacins per a aquestes noves versions de Webmin. <a href='$2'>Fes clic aquí</a> per descarregar-les i instal·lar-les automàticament.
upgrade_ecaldera=No sembla que el fitxer RPM sigui la versió Caldera de Webmin.
update_desc1=This form allows you to upgrade Webmin modules that have been found to contain bugs or security holes from the <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> page or from another source. This will compare the currently installed modules with those available for update, and optionally automatically download and install any modules that are out of date.
update_header1=Actualitza ara els mòduls
update_header2=Actualitza els mòduls de forma planificada
update_webmin=Actualitza des de www.webmin.com
update_other=Actualitza des d'una altra font
update_show=Mostra només quins mòduls s'actualitzarien
update_missing=Instal·la els mòduls que no estan actualment instal·lats
update_quiet=Només informa de les actualitzacions
update_ok=Actualitza els mòduls
update_email=Envia l'informe d'actualització a l'adreça
update_enabled=Actualització planificada actualment activada
update_apply=Desa i Aplica
update_none=No hi ha actualitzacions Webmin per a aquesta versió.
update_sched=Actualitza els moduls a les $1:00 cada $2 dies
update_desc2=Aquest fromulari és per planificar l'actualització automàtica dels mòduls Webmin que tenen errors o problemes de seguretat des de la pàgina <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> o des d'una altra font. Tot i qie aquest servei és útil, has d'anar amb compte en fer-lo servir, ja que pot permetre que algun atacant prengui control del teu sistema si el servidor d'actualitzacions ha quedat compromès.

ca_title=Autoritat Certificadora
ca_old=Certificats existents
ca_header1=Creació de nou certificat CA
ca_header2=Edició de certificat CA
ca_newmsg1=El servidor Webmin ja està configurat com una autoritat certificadora. Pots fer servir aquest formulari per configurar-lo un altre cop, però tots els certificats que ja s'hagin emès deixaran de funcionar.
ca_newmsg2=Aquest formulari és per configurar el servidor Webmin com a autoritat certificadora (CA), de manera que els usuaris puguin demanar certificats  Usuaris Webmin per poder-se identificar sense necessitat de registrar-se.
ca_cn=Nom de l'autoritat
ca_email=Adreça de correu
ca_ou=Departament
ca_o=Organització
ca_sp=Província
ca_c=Codi de país
ca_create=Configura l'autoritat certificadora
ca_oldmsg1=El certifica CA que està utilitzant el servidor es mostra a sota. El pots canviar copiant i enganxant el certificat d'una altra CA, però tots els certificats que ja estiguin emesos deixaran de funcionar.
ca_oldmsg2=Si ja has configurat una CA un un altre servidor Webmin, pots copiar-ne i enganxar-ne el certificat aquñi sota, en lloc de configurar-lo de nou. Això permetrà els usuaris de l'altre servidor de ser reconeguts també per aquest.
ca_err=No he pogut configurar l'autoritat certificadora
ca_setupok=L'autoritat certificadora s'ha configurat amb èxit. Ara, els usuaris poden fer servir el mòdul d'Usuaris Webmin per demanar certificats.
ca_stop=Tanca l'autoritat certificadora
ca_stopmsg=Fes clic sobre aquest botó per impedir que Webmin segueixi acceptant certificats emesos o emetent-ne de nous. Això forçarà els usuaris a utilitzar en lloc seu l'autenticació amb nom d'usuari i contrasenya.
ca_stopok=L'autoritat certificadora s'ha tancat amb èxit.
ca_eminiserv=Els certificats client SSL estan suportats només amb miniserv.
ca_eversion=La versió del mòdul Perl Net::SSLeay instal·lada al sistema no suporta certificats client SSL.
ca_essleay=No s'ha trobat al sistema l'ordre d'administració SSL $1. Pot ser que hagis de canviar el camí a la configuració del mòdul d'Usuaris Webmin.
ca_essl=La certificació SSL només es pot configurar quan el servidor web s'està executant en mode SSL.

session_title=Autenticació
session_desc1=Quan està activat, el temps límit de contrasenya protegeix el servidor webmin d'atacs d'endevinació sistemàtica de contrasenyes, bo i afegint un retard entre intents fallits de connexió del mateix usuari, que augmenta progressivament.
session_desc2=Quan s'activa l'autenticació de sessió, cada sessió de cada usuari serà registrada per Webmin, fent posssible l'expulsió d'usuaris inactius. Tingues en compte que l'activació o desactivació de l'autenticació de sessió forçarà tots els usuaris a connectar-se un altre cop.
session_header=Opcions d'autenticació i sessió
session_pdisable=Desactiva el temps límit de contrasenya
session_penable=Activa el temps límit de contrasenya
session_blockhost=Bloqueja els hosts amb més de $1 intents fallits de connexió durant $2 segons.
session_syslog=Registra els hosts bloquejats, connexions i autenticacions fallides amb <tt>syslog</tt>
session_disable=Desactiva l'autenticació de sessió
session_enable=Activa l'autenticació de sessió
session_localoff=Demana sempre usuari i contrasenya
session_localon=Permet la connexió sense contrasenya als usuaris del host local
session_logout=Expulsa automàticament després de $1 minuts d'inactivitat
session_locking=Activa bloqueigs a Webmin
session_err=No he pogut desar l'autenticació
session_elogouttime=Hi falta el temps d'expulsió o bé no és correcte
session_eblockhost_time=Hi falta el temps de bloqueig o bé no és correcte
session_eblockhost_failures=Hi falta el bloqueig de connexió o bé no és correcte
session_ecookie=El teu navegador no suporta galetes, que són necessàries per a l'autenticació de la sessió
session_remember=Ofereix-te a recordar la contrasenya de forma permanent
session_hostname=Mostra el nom de host a la pantalla de connexió
session_elsof=L'autenticació local requereix el programa <tt>lsof</tt>
session_pamon=Fes servir PAM per a autenticació Unix, si està disponible
session_pamoff=No facis servir mai PAM per a autenticació Unix
session_pfile=Si PAM no està disponible o està desactivat, llegeix els usuaris i les contrasenyes del fitxer $1 columnes $2 i $3
session_epasswd_file=Fitxer d'usuaris Unix invàlid
session_epasswd_uindex=Hi falta l'índex d'usuaris o bé és invàlid
session_epasswd_pindex=Hi falta l'índex de contrasenyes o bé és invàlid

assignment_title=Reassignació de Mòduls
assignment_header=Assignacions de categories de mòduls
assignment_ok=Canvia les Categories
assignment_desc=Aquest formulari permet configurar sota quina categoria es mostra cada mòdul a la pàgina índex de Webmin.

categories_title=Edició de Categories
categories_header=ID de categoria i descripcions
categories_desc=Aquest formulari permet renomenar les categories Webmin actuals i crear-ne de noves per assignar-hi mòduls. La part de dalt de la taula és per canviar les descripcions de les categories integrades, mentre que la part de baix és per afegir nous IDs i descripcions de categories.
categories_ok=Desa les Categories
categories_err=No he pogut desar les categories
categories_edesc=Falta la descripció de $1
categories_ecat=L'ID de categoria $1 ja està en ús

log_access=He canviat el control d'accés IP
log_bind=He canviat el port i l'adreça
log_log=He canviat les opcions de registre
log_proxy=He canviat els servidors proxy
log_ui=He canviat les opcions d'interfície d'usuari
log_install=He instal·lat el mòdul $1
log_tinstall=He instal·lat el tema $1
log_clone=He clonat el mòdul $1 a $2
log_delete=He suprimit el mòdul $1
log_os=He canviat el sistema operatiu
log_lang=He canviat l'idioma global
log_startpage=He canviat les opcions de la pàgina índex
log_upgrade=He actualitzat Webmin a la versió $1
log_session=He canviat les opcions d'autenticació
log_ssl=He canviat el mode d'encriptació SSL
log_setupca=He configurat l'autoritat certificadora
log_changeca=He canviat l'autoritat certificadora
log_stopca=He tancat l'autoritat certificadora
log_assignment=He canviat les categories dels mòduls
log_categories=He canviat els noms de les categories
log_theme=He canviat el tema a $1
log_theme_def=He canviat el tema al tema per defecte de Webmin
log_referers=He canviat els referenciadors fiables

themes_title=Temes Webmin
themes_desc=Temes controla l'aparença de la interfície d'usuari de Webmin, incloent-hi les icones, els colors, els fons i possiblement la disposició de les pàgines. La caixa de selecció de sota es pot utilitzar per triar un dels temes isntal·lats al sistema.
themes_sel=Tema actual:
themes_default=Tema de Webmin per defecte
themes_change=Canvia'l
themes_installdesc=Fes servir el formulari de sota per instal·lar un tema Webmin nou al sistema. Els temes es distribueixen típicament com a fitxers <tt>.wbt</tt>, però també es poden instal·lar a partir de fitxers RPM si estan suportats pel sistema operatiu.
themes_installok=Instal·la un Tema

themes_err1=No he pogut instal·lar el tema de $1
themes_efile=El fitxer no existeix
themes_err2=No he pogut instal·lar el tema pujat
themes_ebrowser=El teu navegador no suporta la puja de fitxers
themes_err3=No he pogut instal·lar el tema de $1
themes_eurl=URL invàlid
themes_etar=No és un fitxer de tema vàlid: $1
themes_einfo=Al tema $1 li falta un fitxer theme.info
themes_enone=No sembla que el fitxer contingui cap tema
themes_eextract=L'extracció ha fallat: $1
themes_done=S'han instal·lat amb èxit els temes següents:
themes_line=$1 de $2 ($3 Kb)
themes_ecomp=El fitxer està comprimit, però no s'ha trobat l'ordre $1 al sistema
themes_ecomp2=No he pogut descomprimir el fitxer: $1
themes_egzip=El fitxer està comprimit amb gzip, però no s'ha trobat l'ordre $1 al sistema
themes_egzip2=No he pogut descomprimir (gunzip): $1
themes_erpm=No és un RPM de temes Webmin
themes_eirpm=L'instal·lació del RPM ha fallat: $1
themes_ok=Tema canviat amb èxit... redireccionant a la pàgina índex de Webmin.
themes_delete=Aquest formulari es pot utilitzar per suprimir un dels temes instal·lats al sistema que no es faci servir.
themes_delok=Tema per suprimir:

referers_title=Referenciadors Fiables
referers_desc=Aquesta pàgina permet configurar el suport de verificació de referenciadors de Webmin, que es fa servir per evitar enllaços malintencionats d'altres llocs web que indueixin el teu navegador a fer coses perilloses amb Webmin. No obstant, si tens enllaços a Webmin des dels teus propis llocs Web i no vols que t'avisi, hauries d'afegir aquests llocs la la llista de sota.
referers_list=Llocs Web fiables
referers_none=Confia en els enllaços de referenciadors desconeguts
referers_referer=Activa la verificació del referenciador

syslet_title=Autodescàrrega de Syslets
syslet_desc=Aquesta pàgina és per configurar la descàrrega i instal·lació automàtica de Syslets Eazel al servidor Webmin.
syslet_auto=Descarrega els syslets automàticament
syslet_base=URLs de base per a RPMs de syslets
syslet_err=No he pogut desar les opcions dels syslets
syslet_ebase=URL de base invàlid

update_err=No he pogut actualitzar els mòduls
update_eurl=Hi falta l'URL d'actualització o bé no és vàlid
update_title=Actualització de Mòduls
update_info=Actualitzant mòduls de Webmin...
update_mmissing=El mòdul $1 no està instal·lat.
update_malready=El mòdul $1 ja està actualitzat.
update_mshow=Cal actualitzar el mòdul $1 a la versió $2.
update_mok=Actualitzant el mòdul $1 a la versió $2.
update_mdesc=Mòdul instal·lat $1 ($2 Kb)
update_mos=El mòdul $1 no està suportat per aquest SO.
update_efile=Fitxer font d'actualització de mòdul invàlid
update_ehour=Hi falta l'hora d'actualització
update_edays=Hi falta el nombre de dies o bé és invàlid
update_rv=Comprovant els mòduls Webmin actualitzats des de $1
update_eemail=Has d'introduir una adreça de correu si només vols veure que quedaria actualitzat.
update_subject=Informe d'actualització de mòduls Webmin
update_version=Hi ha disponible una nova versió de Webmin (la $1) per a descarregar. Les actualitzacions futures només apareixeran per a la darrera versió.
 070701000077c1000081a40000000000000002000000013d1fe2cb000027d7000000200000000000000000000000000000001500000003reloc/webmin/lang/cz  index_title=Konfigurace Webminu
index_return=Konfigurace Webminu

access_title=IP Pøístup 
access_desc=Webmin server mù¾e být pomocí tohoto formuláøe nakofigurován jako povolený nebo zakázaný pouze z urèitých IP adres. Mù¾ou být pou¾ity jména poèítaèù (napø. foo.bar.com) a sítí (napø 10.254.3.0 nebo 10.254.1.0/255.255.255.128). Takto lze limitovat pøístup na vá¹ server z "pøátelských" adres, zvlá¹tì, je-li pøístupný z Internetu. V opaèném pøípadì ka¾dý, kdo zná heslo má pak kompletní pøístup na vá¹ systém. 
access_header=Nastavení pøístupu
access_all=Povolit ze v¹ech adres
access_allow=Povolit pouze z adres v seznamu
access_deny=Zakázat adresám v seznamu
access_err=Chyba pøi nastavování seznamu
access_enone=Nebyla zadána ¾ádná adresa
access_enet='$1' není platnou IP adresou
access_emask='$1' není platnou sí»ovou maskou
access_eip='$1' není kompletní IP adresou nebo sí»ovou maskou
access_ehost=Nelze najít IP pro '$1'
access_eself=Va¹e aktuální IP adresa ($1) bude zakázána

bind_title=Porty a adresy
bind_desc=Pokud má host s Webminem více IP adres, server zde mù¾e být konfigurován tak, aby vyu¾íval pouze jednu z adres. Zde se také nastavuje TCP port Webminu. Pozor, vá¹ browser mù¾e po zmìnì portu nebo povolených adres po¾adovat nové pøihlá¹ení
bind_header=IP Adresy a Port
bind_ip=Pou¾ité IP adresy
bind_all=V¹echny
bind_port=Pou¾itý port
bind_err=Chyba pøi zmìnì adresy
bind_eip=Chyba IP aresy pro '$1'
bind_eassign=Adresa '$1' nepatøí tomuto systému
bind_eport=Port $1 je ji¾ vyu¾íván

log_title=Zapisování událostí
log_desc=Webmin mù¾e být nastaven tak, aby zapisoval do logu pøístupy, ve standartním CLF log formátu. Pokud je logování zapnuto, mù¾ete nastavit zapisování buï IP adresy a jména poèítaèù a jak èasto se mají logy èistit. Pokud je logování zapnuto, jsou logy zapisovány do souboru $1.
log_header=Zapisování událostí Webminu
log_disable=Vypnuto
log_enable=Zapnuto
log_resolv=Rozli¹ovat jména poèítaèù
log_clear=Èistit log v¾dy po $1 hodinách
log_err=Chyba pøi ukládání nastavení
log_ehours='$1' není platnou hodinovou èasovou jednotkou

proxy_title=Proxy Servery
proxy_desc=Pokud je Webmin za firewallem, butete potøebovat nastavit proxy server pro pøístup na web a FTP. Urèité moduly (jako napø. <tt>Software pro správu balíèkù</tt>, pou¾ívají proxy pro downloading souborù nebo programù
proxy_header=Proxy Servery
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=Nic
proxy_nofor=Nevyu¾ívat proxy pro
proxy_err=Chyba pøi ukládání nastavení
proxy_ehttp=HTTP proxy server musí být zaprán ve formátu URL
proxy_eftp=FTP proxy server musí být zaprán ve formátu URL

ui_title=U¾ivatelské rozhraní
ui_desc=Zde mù¾ete nastavit vzhled pro v¹echny moduly. Pøi nastavení barvy musíte specifikovat RGB èíslo v rozmezí hexa èísla od 00 do ff. 
ui_header=Nastavení u¾ivatelského rozhraní
ui_default=Výchozí
cs_page=Pozadí stránky
cs_text=Normální text
cs_table=Pozadí tabulky
cs_header=Hlavièka tabulky
cs_link=Odkaz
ui_texttitles=Zobrazovat titulky jako text?
ui_err=Chyba pøi ukládání barev
ui_ered=Neplatná hodnota èervené pro '$1'
ui_egreen=Neplatná hodnota zelené pro '$1'
ui_eblue=Neplatná hodnota modré pro '$1'

mods_title=Moduly Webminu
mods_desc1=Moduly Webminu mohou být po instalaci pøidávány pou¾itím formuláøe napravo. Moduly jsou vìt¹inou distribuovány v <tt>.wbm</tt> souborech, obsahujících jeden nebo více modulù. Je-li modul licencován pouze pro pou¾ití na urèitém serveru, nemusí vám jít nainstalovat.
mods_install=Instalování modulù
mods_local=Z lokálního souboru
mods_uploaded=Ze stahovaného souboru
mods_ftp=Z FTP nebo HTTP
mods_installok=Instalovat modul ze souboru
mods_desc2=Chcete-li mít více ne¾ jednu kopii stejného modulu s rozdílnou konfigurací, pomocí formuláøe vpravo mù¾ete naklonovat existující modul. Klon mù¾e mít jiné jméno, jiná pøístupová práva a mù¾e být pøístupný jiným u¾ivatelùm.
mods_clone=Klonování modulu
mods_cname=Modul ke klonování
mods_cnew=Jméno klonu
mods_cloneok=Klonovat
mods_desc3=Existující klon modulu mù¾e být vymazán tímto formuláøem. Pokud jsou modul i klony vymazány, budou odstranìny a bude potøeba je reinstalovat pøed novým pou¾itím. Modul nemù¾e být odebrán, jsou-li na nìm závislé jiné moduly.
mods_delete=Vymazat moduly
mods_deleteok=Vymazat vybrané moduly

install_err1=Chyba pøi instalaci modulu z $1
install_efile=Soubor neexistuje
install_err2=Chyba poøi instalaci stahovaného modulu
install_ebrowser=Vá¹ browser nepodporuje stahování souborù
install_err3=Chyba pøi instalaci modulu z $1
install_eurl=Neplatná URL
install_etar=Neplatný soubor modulu : $1
install_einfo=Modulu $1 chybí soubor module.info
install_enone=File does not appear to contain any modules
install_eos=Modul $1 nepodporuje tento operaèní sytém ($2 $3)
install_ever=Modul $1 vy¾aduje Webmin verze $2 nebo vy¹¹í
install_edep=Modul $1 vy¾aduje modul $2
install_eextract=Chyba rozbalování : $1
install_title=Instalovat modul
install_desc=Následující moduly byly úspì¹nì nainstalovány a pøidány na vá¹ list kontroly pøístupu:
install_line=$1 v $2 ($3 Kb)

clone_err=Chyba pøi klonování modulu
clone_elink=chyba symlinku : $1
clone_ecopy=chyba kopírování konfigurace : $1
clone_desc=Klon z $1

delete_err=Chyba pøi vymazávání modulu
delete_edep=Modul $1 nemù¾e být odstranìn, závislost s modulem $2
delete_desc1=$1 (Klon z $2)
delete_desc2=$1 v $2 ($3 Kb)
delete_title=Odstranìné moduly
delete_msg=Následující moduly byly úspì¹nì odstranìny z va¹í Webmin instalace:

os_title=Operaèní systém
os_desc=Zde mù¾ete zmìnit jméno typu operaèního systému, který pou¾íváte, to je dùle¾ité pro správný bìh Webminu. Je to nutné napø. po upgradu va¹í distribuce. Note that the configuration of installed modules will not be changed, even if there are differences between the old and new systems.
os_desc2=Mù¾ete zde také zmìnit vyhledávací cestu pou¾itou Webminem pro bìh programù a ke sdíleným knihovnám.
os_header=Operaèní systém
os_curros=Aktuální operaèní systém
os_currver=Aktuální verze OS
os_new=Nový operaèní systém
os_path=Cesta k programùm
os_ld_path=Cesta ke sdíleným knihovnám

lang_title=Jazyk
lang_title2=Jazyk Webminu
lang_lang=Zobrazovat v jazyce
lang_intro=Zde mù¾ete zvolit, v jakém jazyce k vám má Webmin promlouvat
lang_ok=Zmìnit jazyk

ssl_title=SSL Kódování
ssl_desc1=The host on which Webmin is running appears to have the 
SSLeay Perl module installed. Using this, Webmin supports SSL 
encrypted communication between your browser and the server. If you 
are accessing your Webmin server over the Internet, then you should 
definately consider using SSL to prevent an attacker capturing your 
Webmin password.
ssl_desc2=Warning - only turn on SSL support if you have a browser 
that supports SSL (such as Netscape or IE), and there is no firewall 
blocking <b>https</b> requests between your browser and the Webmin host
ssl_header=SSL Support
ssl_enable=Enable SSL support, if available
ssl_disable=Disable SSL support, even if available

startpage_title=Nastavení úvodní strany
startpage_intro=Zde mù¾ete definovat kolik ikon chcete mít na øádku úvodní stránky
startpage_tabs=Kategorizovat moduly?
startpage_nocol=Poèet sloupcù
startpage_alt=Pou¾ít alternativní hlavièku
startpage_ecols='$1' není platný poèet sloupcù
startpage_gotoone=Jít pøímo k modulu<br>kdy¾ má u¾ivatel pouze jeden?

upgrade_title=Aktualizace Webminu
upgrade_desc=Zde mù¾ete provést aktualizaci Webminu na novou verzi. Mù¾et instalovat z lokálního souboru, nebo stáhnout soubor nejnovìj¹í verze z <a href=http://www.webmin.com/>www.webmin.com</a>. Pøi manuální aktualizaci budou v¹echny va¹e nastavení zachovány. 
upgrade_local=Z lokálního souboru
upgrade_uploaded=Ze stahovaného souboru
upgrade_ftp=Poslední verze z www.webmin.com
upgrade_ok=Aktualizace Webminu
upgrade_err1=Chyba pøi aktualizaci z $1
upgrade_err2=Chyba pøi aktualizaci ze stahovaného souboru
upgrade_err3=Chyba aktualizace z www.webmin.com
upgrade_efile=Soubor neexistuje
upgrade_ebrowser=Vá¹ browser nepodporuje stahování souborù
upgrade_eversion=Nemohu pøejít na verzi $1
upgrade_egunzip=Vá¹ systém neobsahuje pøíkaz<tt>gunzip</tt>
upgrade_etar=Neplatný webmin tar soubor
upgrade_setup=Spou¹tím script setup.sh pro aktualizaci Webminu .. Prosím èekejte

ca_title=Certificate Authority
ca_old=Existing certificate
ca_header1=Create new CA certificate
ca_header2=Edit CA certificate
ca_newmsg1=Your Webmin server is already setup as a certificate 
authority. You can use this form to set it up again, but any 
certificates already issued to uses will no longer work.
ca_newmsg2=This form should be used to setup your Webmin server as a 
certificate authority (CA) so that users can request certificates in 
the Webmin Users to identify themselves to the server without having 
to login.
ca_cn=Authority name
ca_email=Email address
ca_ou=Department
ca_o=Organisation
ca_sp=State
ca_c=Country code
ca_create=Setup certificate authority
ca_oldmsg1=The CA certificate this server is using is displayed below. 
You may change it by pasting in the certificate from another CA, but 
any certificates already issued to users will no longer work.
ca_oldmsg2=If you have already setup a CA on another Webmin server, 
you can paste its certificate below instead of setting up a new CA. 
This will allow users from the other server to be recognised by this 
server as well.
ca_err=Failed to setup certificate authority
ca_setupok=Your certificate authority has been setup successfully. 
Users can now use the Webmin Users module to request certificates for 
themselves.
ca_stop=Shutdown certificate authority
ca_stopmsg=Click this button to stop Webmin from accepting existing 
certificates or issuing new ones. This will force users to use 
username and password authentication instead.
ca_stopok=Your certificate authority has been successfully shut down.
ca_eminiserv=SSL client certificates are only supported under miniserv.
ca_eversion=The version of the Perl Net::SSLeay module installed on 
your system does not support SSL client certificates.
ca_essleay=The SSL administration command $1 was not found on your 
system. You may need to change the path in the Webmin Users module 
configuration.
ca_essl=SSL certification can only be setup when the webserver is 
running in SSL mode.

 070701000077c2000081a40000000000000002000000013d1fe2ca00004b19000000200000000000000000000000000000001500000003reloc/webmin/lang/de  index_title=Webmin-Konfiguration
index_return=Webmin-Konfiguration
access_title=IP-Zugriffskontrolle
access_desc=Der Webmin-Server kann mit diesem Formular konfiguriert werden, um Anfragen von bestimmten IPs abzuweisen oder nur bestimmte IPs zuzulassen. Host-Namen (wie foo.bar.de) und IP-Netzwerke (wie 10.254.3.0 oder 10.254.1.0/255.255.255.128) k&ouml;nnen auch angegeben werden. Sie sollten den Zugriff auf Ihren Server auf vertraute Adressen beschr&auml;nken, besonders, wenn der Server im Internet verf&uuml;gbar ist. Anderenfalls hat jeder, der Ihr Passwort err&auml;t, vollst&auml;ndige Kontrolle &uuml;ber Ihr System. 
access_header=Zugriffskontrolle
access_all=Zugriff von allen Adressen erlauben
access_allow=Zugriff nur von aufgelisteten Adressen erlauben
access_deny=Zugriff von aufgelisteten Adressen verweigern
access_err=Fehler beim Aktualisieren der Zugangsliste
access_enone=Keine Adresse angegeben
access_enet='$1' ist keine g&uuml;ltige Netzwerkadresse
access_emask='$1' ist keine g&uuml;ltige Netzmaske
access_eip='$1' ist keine vollst&auml;ndige IP- oder Netzwerkadresse
access_ehost=Konnte IP-Adresse f&uuml;r '$1' nicht finden
access_eself=Ihrer aktuellen IP-Adresse ($1) w&uuml;rde der Zugriff verweigert

assignment_title=Module kategorisieren
assignment_header=Modul-Kategorie-Zuweisungen
assignment_ok=Kategorien &auml;ndern
assignment_desc=Dieses Formular erm&ouml;glicht es, jedem Modul eine Kategorie zuzuweisen, innerhalb der es auf der Webmin-Indexseite erscheint.

bind_title=Anschluss und Adresse
bind_desc=Wenn der Host, auf dem Webmin l&auml;uft, mehrere IP-Adressen hat, kann der Webmin-Server so konfiguriert werden, dass er nur eine von diesen beobachtet. Der TCP-Anschluss (Port), den Webmin beobachtet, kann hier auch konfiguriert werden. <b>Hinweis:</b> Ihr Webbrowser kann Sie erneut auffordern, sich anzumelden, wenn Sie Anschluss oder Adresse ge&auml;ndert haben. 
bind_header=IP-Adresse und -Anschluss
bind_ip=Zu beobachtende IP-Adresse
bind_all=Alle
bind_port=Zu beobachtender Anschluss (Port)
bind_err=Fehler beim &Auml;ndern der Adresse
bind_eip=Fehler beim Ermitteln der IP-Adresse f&uuml;r '$1'
bind_eassign=Die Adresse '$1' ist diesem System nicht zugewiesen
bind_eport=Der Anschluss $1 wird bereits benutzt

categories_title=Kategorien bearbeiten
categories_header=Kategorie-ID und Beschreibung
categories_desc=In diesem Dialog k&ouml;nnen Sie vorhandene Webmin-Kategorien bearbeiten und neue hinzuf&uuml;gen, denen Sie dann einzelne Module zuweisen k&ouml;nnen. Im oberen Teil der Maske sehen Sie die vorhandenen Kategorien, deren Beschreibungen Sie hier &auml;ndern k&ouml;nnen. In der untersten Zeile k&ouml;nnen Sie eine neue Kategorie erzeugen.
categories_ok=Kategorien speichern
categories_err=Fehler beim Speichern der Kategorien
categories_edesc=Fehlende Beschreibung f&uuml;r $1
categories_ecat=Kategorie-ID $1 ist bereits verwendet.

log_title=Protokollierung
log_desc=Webmin kann so konfiguriert werden, dass er eine Protokolldatei f&uuml;r Seitenanfragen im Standard-CLF-Protokolldateiformat schreibt. Wenn Protokollierung aktiviert ist, k&ouml;nnen Sie w&auml;hlen, ob IP-Adressen oder Host-Namen aufgezeichnet werden sollen und wie oft die Protokolldatei gel&ouml;scht werden soll. Wenn Protokollierung aktiviert ist, schreibt Webmin das Protokoll in $1.
log_desc2=Bei aktiver Protokollierung kann Webmin auch ein detailierteres Protokoll in der Datei $1 speichern. Dieses Protokoll kann mit der Webmin-Ereignisanzeige betrachtet und analysiert werden, um jede Aktivit&auml;t aller Webmin-Benutzer zu beobachten.
log_header=Webmin-Ereignisse protokollieren
log_disable=Protokollierung deaktivieren
log_enable=Protokollierung aktivieren
log_resolv=Aufgel&ouml;ste Host-Namen protokollieren
log_clear=Protokolldatei alle $1 Stunden l&ouml;schen
log_uall=Ereignisse aller Benutzer protokollieren
log_users=Nur Ereignisse dieses Benutzers:
log_mall=Ereignisse aller Module protokollieren
log_modules=Nur Ereignisse dieses Moduls:
log_files=Datei&auml;nderungen jedes Ereignisses protokollieren
log_err=Fehler beim Speichern der Protokollierungseinstellungen
log_ehours='$1' ist keine g&uuml;ltige Anzahl von Stunden
proxy_title=Proxyserver
proxy_desc=Wenn der Host, auf dem Webmin l&auml;uft, sich hinter einer Firewall befindet, kann es sein, dass Sie Proxyserver zum Zugriff auf Web- und FTP-Seiten verwenden m&uuml;ssen. Einige Module, wie z. B. das Modul <tt>Software Pakete</tt>, werden diese Proxies benutzen, wenn Sie Dateien oder Programme herunterladen. 
proxy_header=Proxy-Server
proxy_http=HTTP-Proxy
proxy_ftp=FTP-Proxy
proxy_none=Keiner
proxy_nofor=Kein Proxy f&uuml;r
proxy_err=Fehler beim Speichern der Proxies
proxy_user=Benutzername f&uuml;r Proxy
proxy_pass=Passwort f&uuml;r Proxy
proxy_ehttp=Der HTTP-Proxy muss als eine URL angegeben werden
proxy_eftp=Der FTP-Proxy muss als eine URL angegeben werden
ui_title=Benutzerschnittstelle
ui_desc=In diesem Formular k&ouml;nnen Sie die Optionen f&uuml;r die Benutzerschnittstelle bearbeiten, die von allen Modulen verwendet werden sollen. Jede Farbe wird mit dem RGB-System definiert, wobei jeder Wert eine hexadezimale Zahl zwischen 00 und ff ist. 
ui_header=Erscheinungsbild der Benutzerschnittstelle
ui_default=Standard
cs_page=Seitenhintergrund
cs_text=Normaler Text
cs_table=Tabellenhintergrund
cs_header=Tabellen&uuml;berschrift
cs_link=Link-Text
ui_texttitles=Titel als Text anzeigen?
ui_sysinfo=Login-Informationen anzeigen:
ui_sysinfo0=In Browser-Statuszeile
ui_sysinfo1=In Browser-Titelzeile
ui_sysinfo2=&Uuml;ber der Kopfzeile
ui_err=Fehler beim Speichern der Farben
ui_ered=Ung&uuml;ltiger Rotwert f&uuml;r '$1'
ui_egreen=Ung&uuml;ltiger Gr&uuml;nwert f&uuml;r '$1'
ui_eblue=Ung&uuml;ltiger Blauwert f&uuml;r '$1'
mods_title=Webmin-Module
mods_desc1=Webmin-Module k&ouml;nnen nach der Installation durch Benutzen des Formulars rechts hinzugef&uuml;gt werden. Module werden typischerweise als <tt>.wbm</tt>-Dateien vertrieben. Jede dieser Dateien kann ein oder mehrere Module enthalten. Module k&ouml;nnen auch von RPM-Dateien installiert werden, wenn dies von Ihrem Betriebssystem unterst&uuml;tzt wird.
mods_install=Modul installieren
mods_local=Von lokaler Datei
mods_uploaded=Von heraufgeladener Datei
mods_ftp=Von FTP- oder HTTP-URL
mods_installok=Modul von Datei installieren
mods_desc2=Wenn sie mehr als eine Kopie desselben Moduls mit unterschiedlichen Konfigurationen benutzen wollen, dann k&ouml;nnen Sie mit dem Formular rechts ein existierendes Modul klonen. Der Klon wird einen neuen Namen, eine neue Modulkonfiguration und neue Zugriffskontrollen haben und kann f&uuml;r andere Benutzern verf&uuml;gbar gemacht werden.
mods_clone=Modul klonen
mods_cname=Zu klonendes Modul
mods_cnew=Name des geklonten Moduls
mods_cloneok=Modul klonen
mods_desc3=Existierende Module und Klone k&ouml;nnen mit dem Formular unten gel&ouml;scht werden. Wenn ein Modul mit Klonen gel&ouml;scht wird, werden die Klone ebenfalls entfernt. Wenn ein Modul entfernt wurde, muss es erst neu installiert werden, bevor Sie es wieder benutzt k&ouml;nnen. Ein Modul kann nicht gel&ouml;scht werden, wenn andere Module davon abh&auml;ngen. 
mods_delete=Module l&ouml;schen
mods_deleteok=Gew&auml;hlte Module l&ouml;schen
mods_nodeps=Modulabh&auml;ngigkeiten ignorieren
install_err1=Fehler beim Installieren des Moduls von $1
install_efile=Datei existiert nicht
install_err2=Fehler beim Installieren des heraufgeladenen Moduls
install_ebrowser=Ihr Browser unterst&uuml;tzt keine Datei-Uploads
install_err3=Fehler beim Installieren des Moduls von $1
install_eurl=Ung&uuml;ltige URL
install_etar=Keine g&uuml;ltige Moduldatei: $1 
install_einfo=Modul $1 hat keine module.info-Datei
install_enone=Datei scheint keine Module zu enthalten
install_eos=Modul $1 unterst&uuml;tzt dieses Betriebssystem nicht ($2 $3)
install_ever=Modul $1 ben&ouml;tigt Webmin, Version $2 oder h&ouml;her
install_edep=Modul $1 ben&ouml;tigt Modul $2
install_eextract=Extrahieren schlug fehl: $1 
install_title=Modul installieren
install_desc=Die folgenden Module wurden erfolgreich installiert und zu Ihrer Zugriffskontrollliste hinzugef&uuml;gt:
install_line=$1 in $2 ($3 kB)
clone_err=Fehler beim Klonen des Moduls
clone_elink=Symlink schlug fehl: $1
clone_ecopy=Fehler beim Kopieren der Konfiguration: $1 
clone_desc=Klon von $1
delete_err=Fehler beim L&ouml;schen von Modulen
delete_edep=Modul $1 kann nicht gel&ouml;scht werden, da es von Modul $2 ben&ouml;tigt wird
delete_desc1=$1 (Klon von $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Module l&ouml;schen
delete_msg=Die folgenden Module wurden erfolgreich aus Ihrer Webmin-Installation gel&ouml;scht:
os_title=Betriebssystem
os_desc=In diesem Formular k&ouml;nnen Sie das Betriebssystem &auml;ndern, als das Webmin Ihr System behandelt. Dies kann n&uuml;tzlich sein, wenn Sie Ihr Betriebssystem zu einer neueren Version aktualisiert haben. Beachten Sie, dass die Konfiguration bereits installierter Module nicht ge&auml;ndert wird, selbst wenn es Unterschiede zwischen dem alten und dem neuen System gibt. 
os_desc2=Sie k&ouml;nnen ebenso den Suchpfad, der von Webmin beim Ausf&uuml;hren von Programmen benutzt wird, und den Pfad der freigegebenen Bibliotheken, der an Programme gegeben wird, &auml;ndern.
os_header=Host-Betriebssystem
os_curros=Aktuelles Betriebssystem
os_currver=Aktuelle Betriebssystemsversion
os_new=Neues Betriebssystem
os_path=Programmsuchpfad
os_ld_path=Bibliotheksuchpfad
lang_title=Sprache
lang_title2=Webmin-Sprache
lang_lang=Zeige an in Sprache
lang_intro=Auf dieser Seite k&ouml;nnen Sie die Sprache w&auml;hlen, in der Webmin Titel, Eingabeaufforderungen und Nachrichten anzeigen wird.
lang_ok=Sprache &auml;ndern

session_title=Authentisierung
session_desc1=Hier k&ouml;nnen Sie Authentisierung und Passwort-Timeouts einstellen. Passwort-Timeouts k&ouml;nnen den Webmin-Server vor sog. Brute-Force-Attacken sch&uuml;tzen, indem eine sich fortlaufend verl&auml;ngdernde Verz&ouml;gerung nach einem fehlgeschlagenen Anmeldungsversuch eines Benutzers stattfindet.
session_desc2=Bei aktiver Authentisierung wird alle Sitzungen aller Benutzer von Webmin aufgezeichnet, so dass inaktive Benutzer automatisch abgemeldet werden k&ouml;nnen. <b>Hinweis:</b> Das Aktivieren oder Deaktivieren der Authentisierung kann dazu f&uuml;hren, dass sich alle Benutzer neu anmelden m&uuml;ssen. 
session_header=Authentisierungs- und Sitzungsoptionen
session_pdisable=Passwort-Timeouts deaktivieren
session_penable=Passwort-Timeouts aktivieren
session_blockhost=Rechner mit $1 fehlgeschlagenen Anmeldeversuchen f&uuml;r $2 Sekunden blockieren.
session_syslog=Blockierte Rechner im <tt>syslog</tt> protokollieren
session_disable=Authentisierung deaktivieren
session_enable=Authentisierung aktivieren
session_localoff=Benutzernamen und Passwort immer erfragen
session_localon=Anmeldung ohne Passwort f&uuml;r passende Benutzer von <tt>localhost</tt>
session_logout=Automatische Abmeldung nach $1 Minuten Inaktivit&auml;t
session_locking=Session Locking in Webmin aktivieren
session_err=Fehler beim Speichern der Authentisierungsdaten
session_elogouttime=Fehlende oder ung&uml;ltige Logout-Zeit
session_eblockhost_time=Fehlende oder ung&uml;ltige Blockierungszeit
session_eblockhost_failures=Zu blockierende Logins sind fehlerhaft oder ung&uml;ltig
session_ecookie=Der von Ihnen verwendete Browser unterst&uml;tzt keine Cookies, oder die Cookie-Unterst&uuml;tzung ist deaktiviert. Diese wird f&uuml;r die Anmeldung bei Webmin ben&ouml;tigt.
session_elsof=F&uuml;r die lokale Anmeldung wird das Programm <tt>lsof</tt> ben&ouml;tigt.
session_remember="Kennung speichern" anbieten?

ssl_title=SSL-Verschl&uuml;sselung
ssl_desc1=Auf dem Host, auf dem Webmin l&auml;uft, scheint das Modul SSLeay Perl installiert zu sein. Damit unterst&uuml;tzt Webmin SSL-verschl&uuml;sselte Kommunikationen zwischen Ihrem Browser und dem Server. Wenn Sie auf Ihren Webmin-Server &uuml;ber das Internet zugreifen, dann sollten Sie auf jeden Fall in Betracht ziehen, SSL zu benutzen, um zu verhindern, um zu verhindern, dass ein Eindringling Ihr Webmin-Kennwort abf&auml;ngt.
ssl_desc2=Warnung - aktivieren Sie die SSL-Unterst&uuml;tzung nur, wenn Sie einen Browser benutzen, der SSL unterst&uuml;tzt (wie z. B. Netscape oder IE) und wenn es keine Firewall zwischen Ihnen und dem Webmin-Server gibt, die <b>https</b> Anfragen blockiert.
ssl_header=SSL-Unterst&uuml;tzung
ssl_enable=SSL aktivieren, wenn verf&uuml;gbar
ssl_disable=SSL deaktivieren, selbst wenn verf&uuml;gbar
startpage_title=Indexseitenoptionen
startpage_intro=Auf dieser Seite k&ouml;nnen Sie definieren, wie viele Symbole pro Reihe auf der Indexseite angezeigt werden sollen.
startpage_tabs=Module in Kategorien aufteilen?
startpage_nocol=Anzahl der Spalten
startpage_alt=Alternative &Uuml;berschrift verwenden
startpage_ecols='$1' ist keine g&uuml;ltige Anzahl von Spalten
startpage_gotoone=Direkt zu Modul gehen,<br>wenn Benutzer nur eines hat?
startpage_deftab=Default-Kategorie

upgrade_title=Webmin aktualisieren
upgrade_desc=Dieses Formular erlaubt Ihnen, Ihre gesamte Webmin-Installation zu einer neuen Version zu aktualisieren. Sie k&ouml;nnen einfach aus einer lokalen Datei, aus einer hochgeladenen Datei oder einfach von der letzten Version von <a href=http://www.webmin.com/>www.webmin.com</a> installieren. Wie bei einer manuellen Aktualisierung werden alle Einstellungen und Module Dritter behalten werden. 
upgrade_local=Von lokaler Datei
upgrade_uploaded=Von heraufgeladener Datei
upgrade_ftp=Letzte Version von www.webmin.com
upgrade_ok=Webmin aktualisieren
upgrade_err1=Fehler bei der Aktualisierung von $1
upgrade_err2=Aktualisierung von hochgeladener Datei schlug fehl
upgrade_err3=Aktualisierung von www.webmin.com schlug fehl
upgrade_efile=Datei existiert nicht
upgrade_ebrowser=Ihr Browser unterst&uuml;tzt keine Datei-Uploads
upgrade_eversion=Downgrade zu Version $1 kann nicht durchgef&uuml;hrt werden
upgrade_egunzip=Ihr System verf&uuml;gt nicht &uuml;ber den Befehl <tt>gunzip</tt>
upgrade_etar=Keine g&uuml;ltige Webmin-TAR-Datei
upgrade_setup=Das Skript setup.sh wird ausgef&uuml;hrt, um Webmin zu aktualisieren. Bitte warten Sie eine Minute, bis dies geschehen ist, bevor Sie weitermachen.
ca_title=Zertifikatsautorit&auml;t
ca_old=Existierendes Zertifikat
ca_header1=Neues CA-Zertifikat erstellen (CA = Certificate Authority) 
ca_header2=CA-Zertifikat bearbeiten
ca_newmsg1=Ihr Webmin Server ist bereits als Zertifikatsautorit&auml;t eingerichtet. Sie k&ouml;nnen dieses Formular benutzen, um es erneut einzurichten, aber alle an Benutzer ausgestellte Zertifikate werden dann nicht mehr funktionieren. 
ca_newmsg2=Dieses Formular sollte dazu benutzt werden, Ihren Webmin-Server als Zertifikatsautorit&auml;t (CA) einzurichten, so dass Benutzer ein Zertifikat im Modul Webmin-Benutzer anfordern k&ouml;nnen, um sich selbst gegen&uuml;ber dem Server zu authentifizieren, ohne sich anmelden zu m&uuml;ssen.
ca_cn=Autorit&auml;tsname
ca_email=E-Mail-Adresse
ca_ou=Abteilung
ca_o=Organisation
ca_sp=Bundesland
ca_c=L&auml;ndercode
ca_create=Zertifikatsautorit&auml;t einrichten
ca_oldmsg1=Das CA-Zertifikat, das dieser Server benutzt, wird unten angezeigt. Sie k&ouml;nnen es &auml;ndern, indem Sie ein Zertifikat von einer anderen CA einf&uuml;gen. Jedoch werden bereits ausgestellten Benutzerzertifikate danach nicht mehr arbeiten. 
ca_oldmsg2=Wenn Sie bereits eine CA auf einem anderen Webmin-Server eingerichtet haben, k&ouml;nnen Sie dieses Zertifikat unten einf&uuml;gen anstatt ein neues auszustellen. Dies wird es Benutzern des anderen Server gestatten, auch von diesem Server erkannt zu werden. 
ca_err=Das Erstellen der Zertifikatsautorit&auml;t schlug fehl
ca_setupok=Ihre Zertifikatsautorit&auml;t wurde erfolgreich eingerichtet. Benutzer k&ouml;nnen nun das Modul Webmin-Benutzer benutzen, um ein Zertifikat f&uuml;r sich zu beantragen.
ca_stop=Zertifikatsautorit&auml;t herunterfahren
ca_stopmsg=Klicken Sie auf diesen Schaltfl&auml;che, damit Webmin keine existierenden Zertifikate mehr akzeptiert oder neue ausstellt. Dies Benutzer zwingen, sich stattdessen mit Benutzernamen und Kennwort anzumelden. 
ca_stopok=Ihre Zertifikatsautorit&auml;t wurde erfolgreich heruntergefahren.
ca_eminiserv=SSL-Client-Zertifikate werden nur mit Miniserver unterst&uuml;tzt. 
ca_eversion=Die installierte Version des Perl Moduls Net::SSLeay unterst&uuml;tzt keine SSL-Client-Zertifikate.
ca_essleay=Der SSL-Administrationsbefehl $1 wurde auf Ihrem System nicht gefunden. Es ist u. U. notwendig, den Pfad in der Konfiguration des Moduls Webmin-Benutzer anzupassen. 
ca_essl=SSL-Zertifizierung kann nur eingerichtet werden, wenn der Webserver im SSL-Modus l&auml;uft.

themes_title=Webmin-Themes
themes_desc=Die sog. "Themes" bestimmen das Erscheinungsbild der Webmin-Benutzerschnittstelle, darunter Symbole, Farben, Hintergrundbilder und das Seitenlayout. Die untenstehende Auswahlbox kann zur Auswahl eines Themes benutzt werden.
themes_sel=Aktuelles Theme:
themes_default=Standard Webmin-Theme
themes_change=&Auml;ndern
themes_installdesc=Benutzen Sie das folgende Formular, um ein neues Webmin-Theme auf Ihrem Computer zu installieren. Themes werden normalerweise in Dateien mit der Endung <tt>.wbt</tt> ausgeliefert. Sie k&ouml;nnen aber auch aus <tt>.rpm</tt>-Dateien installiert werden, wenn das verwendetet Betriebssystem dies unterst&uuml;tzt.
themes_installok=Theme installieren
themes_err1=Fehler beim Installieren des Themes von $1
themes_efile=Datei wurde nicht gefunden
themes_err2=Fehler beim Installieren eines heraufgeledenen Themes
themes_ebrowser=Der von Ihnen verwendete Browser unterst&uuml;tzt keine Datei-Uploads
themes_err3=Fehler beim Installieren des Themes von $1
themes_eurl=Ung&uuml;ltige URL
themes_etar=$1 ist keine g&uuml;ltige Theme-Datei
themes_einfo=Im Theme $1 fehlt die theme.info Datei
themes_enone=Die gew&auml;hlte Datei enth&auml;lt offenbar keine Themes
themes_eextract=Entpacken der Datei $1 fehlgeschlagen
themes_done=Die folgenden Themes wurden erfolgreich auf Ihrem System installiert:
themes_line=$1 in $2 ($3 kB)
themes_ecomp=Die Datei ist komprimiert, aber der notwendige Befehl $1 wurde nicht auf Ihrem System gefunden.
themes_ecomp2=Fehler beim Entpacken der Datei: $1
themes_egzip=Die Datei ist "gzipped", aber der notwendige Befehl $1 wurde nicht auf Ihrem System gefunden.
themes_egzip2=Fehler beim Entpacken der Datei: $1
themes_erpm=Dies ist kein Webmin Theme-RPM
themes_eirpm=Installation des RPM fehlgeschlagen: $1
themes_ok=Theme erfolgreich ge&auml;ndert .. Kehre zur Webmin-Indexseite zur&uuml;ck.

referers_title=Vertraute Referierer
referers_desc=Auf dieser Seite k&ouml;nnen Sie die Referierenden von Webmin &uuml;berpr&uuml;fen lassen. Dies dient dazu, b&ouml;sartige Links anderer Websites abzuwehren, die Ihren Browser dazu veranlassen k&ouml;nnten, unkontrollierte Aktionen mit Webmin durchzuf&uuml;hren. Wenn Sie jedoch Links auf Webmin auf ihren eigenen Websites haben, k&ouml;nnen diese als ungef&auml;hrlich (vertraut) in die untenstehende Liste aufgenommen werden.
referers_list=Vertraute Websites
referers_none=Links von unbekannten Websites trauen
referers_referer=&Uuml;berpr&uuml;fung des Referierenden aktivieren


   070701000077c3000081a40000000000000002000000013d1fe2ca00005f74000000200000000000000000000000000000001500000003reloc/webmin/lang/en  index_title=Webmin Configuration
index_return=webmin configuration

access_title=IP Access Control
access_desc=The Webmin server can be configured to deny or allow access only from certain IP addresses using this form. Hostnames (like foo.bar.com) and IP networks (like 10.254.3.0 or 10.254.1.0/255.255.255.128) can also be entered. You should limit access to your server to trusted addresses, especially if it is accessible from the Internet. Otherwise, anyone who guesses your password will have complete control of your system.
access_header=Access Control
access_all=Allow from all addresses
access_allow=Only allow from listed addresses
access_deny=Deny from listed addresses
access_libwrap=Also check TCP-wrappers <tt>hosts.allow</tt> and <tt>hosts.deny</tt> files?
access_err=Failed to update access list
access_enone=No addresses entered
access_enet='$1' is not a valid network address
access_emask='$1' is not a valid netmask
access_eip='$1' is not a complete IP or network address
access_ehost=Failed to find IP address for '$1'
access_eself=Your current IP address ($1) would be denied
access_always=Resolve hostnames on every request

bind_title=Port and Address
bind_desc=If the host on which Webmin is running has multiple IP addresses, the server can be configured to listen on only one address using this form. The TCP port on which Webmin listens can also be configured here. Note - your web browser may prompt you to log in again after changing the port or binding address.
bind_header=IP Address and Port
bind_ip=Listen on IP Address
bind_all=All
bind_port=Listen on Port
bind_err=Failed to change address
bind_eip=Failed to get IP address for '$1'
bind_eassign=The address '$1' is not assigned to this system
bind_eport=Port $1 is already in use

log_title=Logging
log_desc=Webmin can be configured to write a log of web server hits, in the standard CLF log file format. If logging is enabled, you can also choose whether IP addresses or hostnames are recorded, and how often the log file is cleared. When enabled, logs are written to the file $1.
log_desc2=When logging is enabled, Webmin will also write a more detailed log of user actions to the file $1. This log can be viewed and analysed with the Webmin Actions Log module to see exactly what each Webmin user has been doing.
log_header=Web Server Logging
log_disable=Disable logging
log_enable=Enable logging
log_resolv=Log resolved hostnames
log_clear=Clear logfiles every $1 hours
log_uall=Log actions by all users
log_users=Only log actions by ..
log_mall=Log actions in all modules
log_modules=Only log actions in ..
log_files=Log changes made to files by each action
log_err=Failed to save logging options
log_ehours='$1' is not a valid number of hours
log_ediff=Your system does not have the command $1 needed for logging file changes

proxy_title=Proxy Servers
proxy_desc=If the host on which Webmin is running is behind a firewall of some kind, you may need to set the proxy server to use for accessing web and FTP sites. Certain modules, such as <tt>Software Packages</tt>, will use these proxies when downloading files or programs.
proxy_header=Proxy Servers
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=None
proxy_nofor=No proxy for
proxy_user=Username for proxy
proxy_pass=Password for proxy
proxy_err=Failed to save proxies
proxy_ehttp=The HTTP proxy server must be entered as a URL
proxy_eftp=The FTP proxy server must be entered as a URL

ui_title=User Interface
ui_desc=This form allows you to edit user interface options used by all modules. When entering colours, each must be specified using the standard RGB system, where each value is a hex number from 00 to ff. 
ui_header=User Interface Options
ui_default=Default
cs_page=Page background
cs_text=Normal text
cs_table=Table background
cs_header=Table header
cs_link=Link text
ui_texttitles=Display titles as text?
ui_sysinfo=Display login and hostname
ui_sysinfo0=At bottom of browser
ui_sysinfo1=In browser title
ui_sysinfo2=Above page heading
ui_sysinfo3=Nowhere
ui_err=Failed to save colours
ui_ered=Invalid red value for '$1'
ui_egreen=Invalid green value for '$1'
ui_eblue=Invalid blue value for '$1'
ui_feedback=Send feedback to

mods_title=Webmin Modules
mods_desc1=Webmin modules can be added after installation by using the form to the right. Modules are typically distributed in <tt>.wbm</tt> files, each of which can contain one or more modules. Modules can also be installed from RPM files if supported by your operating system.
mods_install=Install Module
mods_local=From local file
mods_uploaded=From uploaded file
mods_ftp=From ftp or http URL
mods_nodeps=Ignore module dependencies when installing
mods_grant2=Grant access only to users and groups :
mods_grant1=Grant access to all Webmin users
mods_installok=Install Module From File
mods_desc2=If you wish to have more than one copy of the same module with different configurations, the form to the right allows you to clone any existing module. The clone will have a new name, a new module configuration, new access control options and may be made available to different users.
mods_clone=Clone Module
mods_cname=Module to clone
mods_cnew=Cloned module name
mods_cloneok=Clone Module
mods_desc3=Existing modules and clones of modules can be deleted using the form below. If a module with clones is deleted, they will also be removed. Once a module has been deleted it must be reinstalled before you can use it again. A module cannot be deleted if other modules depend on it.
mods_delete=Delete Modules
mods_deleteok=Delete Selected Modules

install_err1=Failed to install module from $1
install_efile=File does not exist
install_err2=Failed to install uploaded module
install_ebrowser=Your browser does not support file uploads
install_err3=Failed to install module from $1
install_eurl=Invalid URL
install_etar=Not a valid module file : $1
install_einfo=Module $1 is missing a module.info file
install_enone=File does not appear to contain any modules
install_eos=Module $1 does not support this operating system ($2 $3)
install_eusermin=Module $1 is for Usermin, not Webmin
install_ever=Module $1 requires Webmin version $2 or above
install_edep=Module $1 requires module $2
install_eperldep=Module $1 requires Perl module $2.<br>However, you can have Webmin <a href='$3'>download and install</a> the Perl module for you.
install_eextract=Extract failed : $1
install_title=Install Module
install_desc=The following modules have been successfully installed and added to your access control list :
install_line2=$1 in $2 ($3 kB) under category $4
install_ecomp=File is compressed, but the $1 command was not found on your system
install_ecomp2=Failed to uncompress file : $1
install_egzip=File is gzipped, but the $1 command was not found on your system
install_egzip2=Failed to gunzip file : $1
install_erpm=Not a Webmin module or theme RPM
install_eirpm=RPM install failed : $1
install_cat=Under category $1.
install_eneither=RPM does not contain a webmin module or theme

clone_err=Failed to clone module
clone_elink=symlink failed : $1
clone_ecopy=failed to copy config : $1
clone_desc=Clone of $1

delete_err=Failed to delete modules
delete_edep=Module $1 cannot be deleted, as the module $2 depends on it
delete_desc1=$1 (Clone of $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Delete Modules
delete_msg=The following modules have been successfully deleted from your Webmin installation :
delete_rusure=Are you sure you want to delete the module(s) $2 ? $1 kB of files will be deleted forever.
delete_rusure2=Are you sure you want to delete the theme $2 ? $1 kB of files will be deleted forever.
delete_rusure3=Are you sure you want to delete the module clones(s) $2 ?
delete_acls=Remove from users and reset access control settings?

os_title=Operating System
os_desc=This form allows you to change the operating system Webmin treats your system as. This can be useful if you have upgraded your machine to a new version of your operating system distribution. Note that the configuration of installed modules will not be changed, even if there are differences between the old and new systems.
os_desc2=You can also change the search path used by Webmin when running programs, and the shared library path passed to any programs.
os_header=Host Operating System
os_curros=Current operating system
os_currver=Current OS version
os_new=New operating system
os_path=Program search path
os_ld_path=Library search path

lang_title=Language
lang_title2=Webmin Language
lang_lang=Display in language
lang_intro=This page allows you to choose which language Webmin will use for displaying titles, prompts and messages
lang_ok=Change Language

ssl_title=SSL Encryption
ssl_essl=The Net::SSLeay perl module does not appear to be installed on your system. To install the OpenSSL library and Net::SSLeay, follow <a href='$1'>these instructions</a> from the Webmin website.
ssl_desc1=The host on which Webmin is running appears to have the SSLeay Perl module installed. Using this, Webmin supports SSL encrypted communication between your browser and the server. If you are accessing your Webmin server over the Internet, then you should definately consider using SSL to prevent an attacker capturing your Webmin password.
ssl_desc2=Warning - only turn on SSL support if you have a browser that supports SSL (such as Netscape or IE), and there is no firewall blocking <b>https</b> requests between your browser and the Webmin host
ssl_header=SSL Support
ssl_enable=Enable SSL support, if available
ssl_disable=Disable SSL support, even if available

startpage_title=Index Page Options
startpage_intro=This page allows you to define how many icons you want to have per row on the index page
startpage_tabs=Categorise modules?
startpage_nocol=Number of Columns
startpage_alt=Use alternative header
startpage_ecols='$1' is not a valid number of columns
startpage_gotoone=Go direct to module<br>if user only has one?
startpage_deftab=Default category
startpage_nohost=Show version, hostname and OS?

upgrade_title=Upgrade Webmin
upgrade_desc=This form allows you to upgrade your entire webmin installation to a new version. You can install from a local file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_descrpm=This form allows you to upgrade your entire webmin installation to a new version using RPM's upgrade option. You can install from a local RPM file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_desccaldera=This form allows you to upgrade your entire webmin installation to a new version using RPM's upgrade option. You can install from a local RPM file, an uploaded file or from the latest version from Caldera.
upgrade_descsolaris-pkg=This form allows you to upgrade your entire webmin installation to a new version by removing the current solaris package and installing a new one. You can install from a local solaris package file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_local=From local file
upgrade_uploaded=From uploaded file
upgrade_ftp=Latest version from www.webmin.com
upgrade_cup=Latest version from Caldera's <tt>cupdate</tt> tool
upgrade_delete=Delete old version's directory after upgrade?
upgrade_ok=Upgrade Webmin
upgrade_err1=Failed to upgrade from $1
upgrade_err2=Failed to upgrade from uploaded file
upgrade_err3=Failed to upgrade from www.webmin.com
upgrade_efile=File does not exist
upgrade_ebrowser=Your browser does not support file uploads
upgrade_eversion=Cannot downgrade to version $1
upgrade_elatest=You are already running the latest version of Webmin
upgrade_erpm=Not a valid webmin RPM file
upgrade_egunzip=Your system does not have the <tt>gunzip</tt> command
upgrade_egzip=Failed to gunzip file : $1
upgrade_etar=Not a valid Webmin tar file
upgrade_euntar=Failed to untar file : $1
upgrade_emod=File is a Webmin module, not a complete Webmin upgrade. You may want to use the <a href='$1'>Webmin Modules</a> page to install it.
upgrade_setup=Running setup.sh script to upgrade Webmin .. Please wait a minute until it is complete before continuing.
upgrade_setuprpm=Running RPM to upgrade Webmin .. Please wait a minute until it is complete before continuing.
upgrade_setuppackage=Running pkgadd to upgrade Webmin .. Please wait a minute until it is complete before continuing.
upgrade_esolaris=Webmin's upgrade feature does not currently work when you have installed from a Solaris package. Please upgrade manually instead.
upgrade_ecaldera=RPM file does not appear to be the Caldera version of Webmin.
upgrade_eusermin=File is Usermin version $1, not a Webmin update.
upgrade_updates=There are $1 updates for this new versions of Webmin. <a href='$2'>Click here</a> to automatically download and install them now.

update_desc1=This form allows you to upgrade Webmin modules that have been found to contain bugs or security holes from the <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> page or from another source. This will compare the currently installed modules with those available for update, and optionally automatically download and install any modules that are out of date.
update_header1=Update modules now
update_header2=Update modules on schedule
update_webmin=Update from www.webmin.com
update_other=Update from another source
update_show=Only show which modules would be updated
update_missing=Install modules that are not currently installed
update_quiet=Only report updates
update_ok=Update Modules
update_email=Email update report to
update_enabled=Scheduled updating currently enabled
update_apply=Save and Apply
update_sched=Update modules at $1:00 every $2 days
update_none=No Webmin updates for this version.
update_failed=Failed to install module : $1

update_desc2=This form is for scheduling the automatic update of Webmin modules containing bugs or security holes from the <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> page or from another source. While this service is useful, you should be careful using it as it may allow attackers to take over your system if the update server was ever compromised.

ca_title=Certificate Authority
ca_old=Existing certificate
ca_header1=Create new CA certificate
ca_header2=Edit CA certificate
ca_newmsg1=Your Webmin server is already setup as a certificate authority. You can use this form to set it up again, but any certificates already issued to users will no longer work.
ca_newmsg2=This form should be used to setup your Webmin server as a certificate authority (CA) so that users can request certificates in the Webmin Users to identify themselves to the server without having to login.
ca_cn=Authority name
ca_email=Email address
ca_ou=Department
ca_o=Organisation
ca_sp=State
ca_c=Country code
ca_create=Setup certificate authority
ca_oldmsg1=The CA certificate this server is using is displayed below. You may change it by pasting in the certificate from another CA, but any certificates already issued to users will no longer work.
ca_oldmsg2=If you have already setup a CA on another Webmin server, you can paste its certificate below instead of setting up a new CA. This will allow users from the other server to be recognised by this server as well.
ca_err=Failed to setup certificate authority
ca_setupok=Your certificate authority has been setup successfully. Users can now use the Webmin Users module to request certificates for themselves.
ca_stop=Shutdown certificate authority
ca_stopmsg=Click this button to stop Webmin from accepting existing certificates or issuing new ones. This will force users to use username and password authentication instead.
ca_stopok=Your certificate authority has been successfully shut down.
ca_eminiserv=SSL client certificates are only supported under miniserv.
ca_eversion=The version of the Perl Net::SSLeay module installed on your system does not support SSL client certificates.
ca_essleay=The SSL administration command $1 was not found on your system. You may need to change the path in the Webmin Users module configuration.
ca_essl=SSL certification can only be setup when the webserver is running in SSL mode.

session_title=Authentication
session_desc1=When enabled, password timeouts protect your Webmin server from brute-force password cracking attacks by adding a continuously expanding delay between each failed login attempt for the same user.
session_desc2=When session authentication is enabled, each logged in users' session will be tracked by Webmin, making it possible for idle users to be automatically logged out. Be aware that enabling or disabling session authentication may force all users to re-login.
session_header=Authentication and session options
session_pdisable=Disable password timeouts
session_penable=Enable password timeouts
session_blockhost=Block hosts with more than $1 failed logins for $2 seconds.
session_syslog2=Log blocked hosts, logins and authentication failures to <tt>syslog</tt>
session_disable=Disable session authentication
session_enable=Enable session authentication
session_localoff=Always require username and password
session_localon=Allow login without password for matching users from localhost
session_logout=Auto-logout after $1 minutes of inactivity
session_locking=Enable locking in Webmin
session_err=Failed to save authentication
session_elogouttime=Missing or invalid logout time
session_eblockhost_time=Missing or invalid blocking time
session_eblockhost_failures=Missing or invalid blocking logins
session_ecookie=Your browser does not support cookies, which are required for session authentication
session_elsof=Local authentication requires the <tt>lsof</tt> program
session_remember=Offer to remember login permanently?
session_hostname=Show hostname on login screen?
session_pamon=Use PAM for Unix authentication, if available
session_pamoff=Never use PAM for Unix authentication
session_pfile=If PAM is unavailable or disabled, read users and passwords from file $1 columns $2 and $3
session_epasswd_file=Invalid unix users file
session_epasswd_uindex=Missing or invalid unix username index
session_epasswd_pindex=Missing or invalid unix password index
session_banner1=No pre-login page
session_banner0=Show pre-login file
session_ebanner=Missing or invalid pre-login file

assignment_title=Reassign Modules
assignment_header=Module category assignments
assignment_ok=Change Categories
assignment_desc=This form allows you to configure which category each module is displayed under on the Webmin index page.

categories_title=Edit Categories
categories_header=Category ID and descriptions
categories_desc=This form allows you to rename the existing Webmin categories and create new ones to assign modules to. The top part of the table is for changing the descriptions of the built-in categories, while the bottom part is for adding new category IDs and descriptions.
categories_ok=Save Categories
categories_err=Failed to save categories
categories_edesc=Missing description for $1
categories_ecat=Category ID $1 is already taken
categories_code=ID
categories_name=Displayed description

log_access=Changed IP access control
log_bind=Changed port and address
log_log=Changed logging options
log_proxy=Changed proxy servers
log_ui=Changed user interface options
log_install=Installed module $1
log_tinstall=Installed theme $1
log_clone=Cloned module $1 to $2
log_delete=Deleted module $1
log_os=Changed operating system
log_lang=Changed global language
log_startpage=Changed index page options
log_upgrade=Upgraded Webmin to version $1
log_session=Changed authentication options
log_ssl=Changed SSL encryption mode
log_setupca=Set up certificate authority
log_changeca=Changed certificate authority
log_stopca=Shut down certificate authority
log_assignment=Changed module categories
log_categories=Changed category names
log_theme=Change theme to $1
log_theme_def=Changed theme to Webmin default
log_referers=Changed trusted referers

themes_title=Webmin Themes
themes_desc=Themes control the appearance of the Webmin user interface, including icons, colours, backgrounds and possibly the layout of pages. The selection box below can be used to choose one of the themes installed on your system.
themes_sel=Current theme :
themes_default=Default Webmin theme
themes_change=Change
themes_installdesc=Use the form below to install a new Webmin theme on your system. Themes are typically distributed in <tt>.wbt</tt> files, but can also be installed from RPM files if supported by your operating system.
themes_installok=Install Theme

themes_err1=Failed to install theme from $1
themes_efile=File does not exist
themes_err2=Failed to install uploaded theme
themes_ebrowser=Your browser does not support file uploads
themes_err3=Failed to install theme from $1
themes_eurl=Invalid URL
themes_etar=Not a valid theme file : $1
themes_einfo=Theme $1 is missing a theme.info file
themes_enone=File does not appear to contain any themes
themes_eextract=Extract failed : $1
themes_done=The following themes have been successfully installed on your system :
themes_line=$1 in $2 ($3 kB)
themes_ecomp=File is compressed, but the $1 command was not found on your system
themes_ecomp2=Failed to uncompress file : $1
themes_egzip=File is gzipped, but the $1 command was not found on your system
themes_egzip2=Failed to gunzip file : $1
themes_erpm=Not a Webmin theme RPM
themes_eirpm=RPM install failed : $1
themes_ok=Theme changed successfully .. redirecting to the Webmin index page.
themes_delete=This form can be used to delete one of the themes installed on your system that is not currently in use.
themes_delok=Theme to delete :

referers_title=Trusted Referers
referers_desc=This page allows you to configure Webmin's referer checking support, which is used to prevent malicious links from other websites tricking your browser into doing dangerous things with Webmin. However, if you have links to Webmin from your own websites that you don't want to be warned about you should add those sites to the list below.
referers_list=Trusted websites
referers_none=Trust links from unknown referers
referers_referer=Referer checking enabled?

syslet_title=Syslet Auto-Download
syslet_desc=This page is for configuring the automatic download and install of missing Eazel Syslets to your Webmin server.
syslet_auto=Automatically download syslets?
syslet_base=Base URLs for syslet RPMs
syslet_err=Failed to save syslet options
syslet_ebase=Invalid base URL

update_err=Failed to update modules
update_eurl=Missing or invalid update URL
update_title=Update Modules
update_info=Updating Webmin modules ..
update_mmissing=Module $1 is not installed on this system.
update_malready=Module $1 is already up to date.
update_mshow=Update needed for module $1 to version $2.
update_mok=Updating module $1 to version $2.
update_mdesc=Installed module $1 ($2 Kb)
update_mos=Module $1 is not supported by this OS.
update_efile=Invalid module updates source file
update_ehour=Missing or invalid hour to update on
update_edays=Missing or invalid number of days
update_rv=Checking for updated Webmin modules from $1
update_eemail=You must enter an email address if only showing what would be updated.
update_subject=Webmin modules update report
update_version=A new release of Webmin (version $1) is now available for download. Future updates will be released only for the latest version.

anon_title=Anonymous Module Access
anon_desc=This page allows you to grant access to selected Webmin modules and paths without clients needing to login. For each module path that you enter below (such as <tt>/custom</tt> or <tt>/passwd</tt>) you must also enter the name of a Webmin user whose permissions will be used for access to the module.
anon_desc2=You should be VERY careful when granting anonymous access, as insufficient IP access controls or granting access to the wrong module may allow attackers to take over your system.
anon_url=URL path
anon_user=Webmin user
anon_err=Failed to save anonymous access
anon_eurl='$1' is not a valid URL path
anon_euser=Missing or invalid Webmin user for URL path '$1'

070701000077c4000081a40000000000000002000000013d1fe2ca00005513000000200000000000000000000000000000001500000003reloc/webmin/lang/es  index_title=Configuración de Webmin
index_return=configuración de webmin

access_title=Control de Acceso a IP
access_desc=El servidor Webmin puede ser configurado para denegar o permitir el acceso desde sólo ciertas direcciones IP, mediante este formulario. Se pueden introducir tanto nombres de máquinas (p.ej. foo.bar.com) como de redes IP (p.ej. 10.254.3.0 o 10.254.1.0/255.255.255.128). Debes de limitar el acceso a tu servidor a direcciones de confianza, especialmente si es accesible desde Internet. De otra manera, cualquiera que adivine tu clave de acceso tendrá control completo de tu sistema.
access_header=Control de Acceso
access_all=Permitir desde todas las direcciones
access_allow=Sólo permitir desde las direcciones listadas
access_deny=Denegar las direcciones listadas
access_err=Error al actualizar lista de acceso
access_enone=No se ha entrado dirección
access_enet='$1' no es una dirección de red válida
access_emask='$1' no es una máscara de red válida
access_eip='$1' no es una IP completa o una dirección de red
access_ehost=Error al buscar dirección IP para '$1'
access_eself=Tu dirección IP actual ($1) debería tener denegado el acceso

bind_title=Puerto y Direcciones
bind_desc=Si la máquina en que Webmin se está ejecutando tiene direcciones IP múltiples, el servidor puede ser configurado para que escuche sólo en una única dirección, mediante este formulario. El puerto TCP en el que escucha Webmin puede también ser configurado aquí. Nota - tu navgador puede pedirte que vuelvas a hacer login si cambias el puerto o la dirección de escucha.
bind_header=Dirección IP y Puerto
bind_ip=Escuchar en Dirección IP
bind_all=Todas
bind_port=Escuchar en Puerto
bind_err=Error al cambiar dirección
bind_eip=Error al obtener dirección IP para '$1'
bind_eassign=La dirección '$1' no está asignada a este sistema
bind_eport=El puerto $1 ya está siendo usado

log_title=Historial
log_desc=Webmin puede ser configurado para escribir una relación de aciertos en el servidor web mediante el formato de archivo CLF estándar. Si se activa el historial, puedes seleccionar si deseas grabar direcciones IP o nombres de máquina y cada cuánto deseas limpiar el archivo de historial. Cuando se activa, los historiales se graban en el archivo $1.
log_desc2=Cuando está activado el login, Webmin escribirá un historial más detallado de las acciones de usuarios en el archivo $1. Este historial puede ser visto y analizado con el módulo de Historial de Acciones de Webmin para ver exáctamente lo que cada usuario de Webmin ha estado haciendo.
log_header=Historial de Servidor Web
log_disable=Desactivar historial
log_enable=Activar historial
log_resolv=Llevar historial de nombres de máquinas resueltas
log_clear=Limpiar historial cada $1 horas
log_uall=Acciones de historial de todos los usuarios
log_users=Sólo las acciones de historial de...
log_mall=Acciones de historial en todos los mósulos
log_modules=Sólo las acciones de historial en...
log_files=Llevar historial de los cambios hechos en archivos por cada acción
log_err=Error al salvar opciones de historial
log_ehours='$1' no es un número válido de horas
log_ediff=Tu sistema no tiene el comand $1 necesario para llevar historial de los cambios de archivos

proxy_title=Servidores Proxy
proxy_desc=Si la máquina en que se ejecuta Webmin está tras un Cortafuegos de cualquier clase, puedes necesitar activar el servidor proxy para ser usado para acceder a sitios web y FTP. Ciertos módulos como <tt>Paquetes de Software</tt>, usarán estos proxies al descargar archivos o programas.
proxy_header=Servidores Proxy
proxy_http=Proxy HTTP
proxy_ftp=Proxy FTP
proxy_none=Ninguno
proxy_nofor=Sin proxy para
proxy_user=Nombre de usuario para proxy
proxy_pass=Clave de acceso para proxy
proxy_err=Error al salvar proxies
proxy_ehttp=El servidor proxy HTTP debe ser digitado como una dirección URL
proxy_eftp=El servidor proxy FTP debe ser digitado como una dirección URL

ui_title=Interfaz de Usuario
ui_desc=Este formulario te permite editar las opciones de interfaz de usuario utilizadas por todos los módulos. Al digitar colores, cada uno debe de ser especificado usando el sistema RGB estándar, dentro del cual cada valor es un número hexadecimal desde el 00 al ff.
ui_header=Opciones de Interfaz de Usuario
ui_default=Por defecto
cs_page=Fondo de página
cs_text=Texto normal
cs_table=Fondo de tabla
cs_header=Cabecera de tabla
cs_link=Texto de enlace
ui_texttitles=¿Muestro los títulos como texto?
ui_sysinfo=Mostrar login y nombre de máquina
ui_sysinfo0=En la parte inferior del navegador
ui_sysinfo1=En el título del navegador
ui_sysinfo2=Por encima de la cabecera de página
ui_err=No pude salvar los colores
ui_ered=Valor rojo inválido para '$1'
ui_egreen=Valor verde inválido para '$1'
ui_eblue=Valor azul inválido para '$1'

mods_title=Módulos de Webmin
mods_desc1=Los módulos de Webmin pueden ser añadidos tras las instalación mediante el formulario de la derecha. Los Módulos se distribuyen típicamente en archivos <tt>.wbm</tt>, cada uno de los cuales puede contener uno o más módulos. Los módulos pueden también ser instalados desde archivos RPM si tu sistema operativo los soporta.
mods_install=Instalar Módulo
mods_local=Desde archivo local
mods_uploaded=Desde archivo a cargar
mods_ftp=Desde dirección URL ftp o http
mods_installok=Instalar Módulo desde Archivo
mods_desc2=Si deseas tener más de una copia del mismo módulo con configuraciones diferentes, el formulario de la derecha te permite clonar cualquier módulo existente. El clon tendrá un nuevo nombre, una nueva configuración de módulo, unas opciones nuevas de control de acceso y se puede hacer que esté disponible para diferentes usuarios.
mods_clone=Clonar Módulo
mods_cname=Módulo a clonar
mods_cnew=Nombre del módulo clonado
mods_cloneok=Clonar Módulo
mods_desc3=Los módulos existentes y los clones de módulos pueden ser borrados mediante el formulario inferior. Si un módulo con clon es borrado, estos, a su vez, serán también borrados. Una vez que un módulo ha sido borrado, debe de ser reinstalado antes de que se pueda volver a utilizar de nuevo. Un módulo no puede ser borrado si otro módulo depende de él.
mods_delete=Borrar Módulos
mods_deleteok=Borrar Módulos Seleccionados

install_err1=Error al instalar módulo desde $1
install_efile=El archivo no existe
install_err2=Error al instalar módulo de carga
install_ebrowser=Tu navegador no soporta carga de archivos
install_err3=Error al instalar módulo desde $1
install_eurl=Dirección URL inválida
install_etar=No es un archivo de módulo válido: $1
install_einfo=El Módulo $1 no tiene un archivo 'module.info'
install_enone=El archivo no parece que contenga módulo alguno
install_eos=El Módulo $1 no soporta este sistema operativo ($2 $3)
install_ever=El Módulo $1 requiere la versión $2 o superior de Webmin
install_edep=El Módulo $1 requiere el módulo $2
install_eextract=Extracción fallida: $1
install_title=Instalar Módulo
install_desc=Los siguientes módulos han sido instalados correctamente y añadidos a tu lista de control de acceso:
install_line=$1 en $2 ($3 kB)
install_ecomp=El archivo está comprimido, pero el comando $1 no se ha encontrado en tu sistema
install_ecomp2=No pude descomprimir el archivo: $1
install_egzip=El archivo está comprimido por gzip, pero el comando $1 no ha sido encontrado en tu sistema
install_egzip2=No pude hacer gunzip del archivo: $1
install_erpm=No es un módulo RPM de Webmin
install_eirpm=La instalación RPM falló: $1

clone_err=Error al clonar módulo
clone_elink=enlace simbólico fallido: $1
clone_ecopy=Error al copiar config: $1
clone_desc=Clon de $1

delete_err=Error al borrar módulos
delete_edep=El Módulo $1 no puede ser borrado pues el módulo $2 depende de él
delete_desc1=$1 (Clon de $2)
delete_desc2=$1 en $2 ($3 kB)
delete_title=Borrar Módulos
delete_msg=Los siguientes módulos han sido borrados correctamente de tu instalación de  Webmin:
delete_rusure=¿Estás seguro de querer borrar los módulos seleccionados?. $1 KB de archivos serán borrados para siempre.

os_title=Sistema Operativo
os_desc=Este formulario te permite cambiar el sistema operativo utilizado por Webmin. Esto es muy útil si acabas de actualizar tu máquina a una nueva versión de tu distribución de sistema operativo. Ten en cuenta que la configuración de los módulos instalados no cambia, incluso si hay diferencias entre el sistema viejo y el nuevo.
os_desc2=También puedes cambia la trayectoria de búsqueda utilizada por Webmin al ejecutar programas y la trayectoria compartida de bibliotecas que se pasa a los programas.
os_header=Sistema Operativo de la Máquina
os_curros=Sistema operativo en uso
os_currver=Versión de SO en uso
os_new=Nuevo sistema operativo
os_path=Trayectoria de búsqueda de programas
os_ld_path=Trayectoria de búsqueda de bibliotecas

lang_title=Lenguaje
lang_title2=Lenguaje de Webmin
lang_lang=Mostrar en lenguaje
lang_intro=Esta página te permite seleccionar qué lenguaje utilizará Webmin para mostrar los títulos, las peticiones de datos y los mensajes.
lang_ok=Cambiar Lenguaje

ssl_title=Encriptación SSL
ssl_desc1=La máquina en que Webmin se está ejecutando parece tener el módulo SSLeay de Perl instalado. Usando éste, Webmin soporta comunicaciones SSL encriptadas entre el navegador y el servidor. Si estás accediendo a tu servidor Webmin a través de Internet, debes de considerar de manera definitiva el utilizar SSL para prevenir que cualquiera capture tu clave de acceso a Webmin.
ssl_desc2=Aviso - sólo activa el soporte SSL si tienes un navegador que lo soporte a su vez (como p.ej. Netscape o IE), y no tienes un cortafuegos bloqueando requerimientos <b>https</b> entre tu navegador y la máquina de Webmin
ssl_header=Soporte SSL
ssl_enable=Activar soporte SSL, si se puede
ssl_disable=Desactivar soporte SSL, incluso si está disponible

startpage_title=Opciones de Página Índice
startpage_intro=Esta página te permite definir cuántos iconos quieres tener por cada fila dentro de la página índice
startpage_tabs=¿Pongo los módulos por Categorías?
startpage_nocol=Número de Columnas
startpage_alt=Usar cabecera alternativa
startpage_ecols='$1' no es un número válido de columnas
startpage_gotoone=¿Ir directo al módulo<br>si el usuario sólo tiene uno?
startpage_deftab=Categoría por defecto

upgrade_title=Actualizar Webmin
upgrade_desc=Este formulario te permite actualizar tu instalación completa de Webmin a una nueva versión. Puedes instalar desde un archivo local, un archivo cargado o desde la última versión en <a href=http://www.webmin.com/>www.webmin.com</a>. Al igual que con una actualización manual, todos los valores de tu configuración y los módulos de terceros serán mantenidos.
upgrade_descrpm=Este formulario te permite actualizar tu completa instalación de Webmin a una nueva versión mediante la opción de actualización de RPM. Pudes instalar de un archivo RPM local, de un archivo cargado o desde la última versión en <a href=http://www.webmin.com/>www.webmin.com</a>. Igual que con una actualización manual, todos tus valores de configuración y módulos de terceros serán mantenidos.
upgrade_desccaldera=Este formulario te permite mejorar toda tu instalación de webmin a una nueva versión mediante la opción de mejora de RPM. Puedes instalar desde un archivo RPM local, un carchivo cargado o desde la última versión de Caldera.
upgrade_descsolaris-pkg=Este formulario te permite actualizar tu instalación completa de Webmin a una nueva versión mediante el borrado del paquete solaris actual e instalando uno nuevo. Puedes instalar de un archivo de paquete solaris local, de un archivo cargado desde la última versión en <a href=http://www.webmin.com/>www.webmin.com</a>. Igual que con una actualización manual, todos tus valores de configuración y módulos de terceros serán mantenidos.
upgrade_local=Desde archivo local
upgrade_uploaded=Desde archivo cargado
upgrade_ftp=Última versión desde www.webmin.com
upgrade_cup=Última versión desde la herramienta <tt>cupdate</tt> de Caldera 
upgrade_ok=Actualizar Webmin
upgrade_err1=No pude actualizar desde $1
upgrade_err2=No pude actualizar desde archivo cargado
upgrade_err3=No pude actualizar desde www.webmin.com
upgrade_efile=El archivo no existe
upgrade_ebrowser=Tu navegador no soporta carga de archivos
upgrade_eversion=No puedo desactualizar a versión $1
upgrade_erpm=No es un archivo válido RPM para Webmin
upgrade_egunzip=Tu sistema no tiene el comando <tt>gunzip</tt>
upgrade_etar=No es un archivo tar válido de Webmin
upgrade_emod=El archivo es un módulo de Webmin y no una completa actualización de Webmin. Quizá quieras usar la página de los <a href='$1'>Módulos de Webmin</a> para instalarlo.
upgrade_setup=Ejecutando el guión setup.sh para actualizar Webmin... Por favor, espera un minuto hasta que se complete antes de continuar.
upgrade_setuprpm=Ejecutando RPM para actualizar Webmin... Por favor, espera un minuto hasta que termine antes de continuar.
upgrade_setuppackage=Ejecutando pkgadd para actualizar Webmin... Por favor, espera un minuto hasta que termine antes de continuar.
upgrade_esolaris=La característica de actualización de Webmin no funciona en este momento si has instalado de un paquete Solaris. Por favor actualiza de forma manual.
upgrade_ecaldera=Archivo RPM no parace ser la versión de Webmin de Caldera.

ca_title=Autoridad de Certificado
ca_old=Certificado existente
ca_header1=Crear nuevo certificado CA
ca_header2=Editar certificado CA
ca_newmsg1=Tu servidor Webmin ya está configurado como una autoridad de certificado. Puedes utilizar este formulario para configurarlo de nuevo, pero cualquier certificado ya dado no funcionará.
ca_newmsg2=Este formulario debería de ser usado para configurar tu servidor Webmin como una autoridad de certificado (CA) de tal manera que los usuarios puedan requerir certificados a los Usuarios de Webmin para identificarlos en el servidor sin tener que hacer login.
ca_cn=Nombre de autoridad
ca_email=Dirección de correo
ca_ou=Departamento
ca_o=Organización
ca_sp=Estado
ca_c=Código de País
ca_create=Configurar autoridad de certificado
ca_oldmsg1=El certificado CA que está usando este servidor se muestra debajo. Puedes cambiarlo pegando el certificado desde otro CA, pero cualquier certificado ya dado a los usuarios ya no funcionará.
ca_oldmsg2=Si ya has configurado un CA en otro servidor Webmin, puedes pegar su certificado debajo en vez de configurar un nuevo CA. Esto permitirá a los usuarios de otro servidor el ser reconocidos por este servidor también.
ca_err=No pude configurar autoridad de certificado
ca_setupok=Tu autoridad de certificado ha sido configurada con éxito. Los usuarios pueden ahora usar el módulo de Usuarios de Webmin para requerir certificados.
ca_stop=Parar autoridad de certificados
ca_stopmsg=Haz click en este botón para hacer que Webmin pare de aceptar certificados ya existentes o de dar nuevos. Esto forzará a los usuarios a utilizar autentificación de nombres de usuario y claves de acceso en su lugar.
ca_stopok=Tu autoridad de certificado ha sido cerrada con éxito.
ca_eminiserv=Los certificados de cliente SSL son sólo soportados bajo miniserv.
ca_eversion=La versión del módulo Net::SSLeay de Perl instalada en tu sistema no soporta certificados SSL de cliente.
ca_essleay=El comando $1 de administración SSL no fue encontrado en tu sistema. Puedes necesitar cambiar la trayectoria en la configuración del módulo de Usuarios de Webmin.
ca_essl=La certificación SSL sólo puede ser configurada cuando el servidor web se esté ejecutando en modo SSL.

session_title=Autenticación
session_desc1=Cuando está activada, el tiempo máximo de clave de acceso protege tu servidor Webmin de los ataques de desencriptación de clave de acceso por fuerza bruta mediante la adición de un retardo de expansión contínua entre cada intento de fallo de login para el mismo usuario.
session_desc2=Cuando la autenticación de sesión está activada, cada sesión de los usuarios que han hecho login será seguida por Webmin, haciendo posible que los usuarios que no hacen nada en ese monento sean echados fuera del sistema. Ten en cuenta que el activar o desactivar la autenticación de sesión puede forzar a todos los usuarios a que tengan que volver a hacer login.
session_header=Opciones de Autenticación y sesión
session_pdisable=Desactivar tiempos máximos de clave de acceso
session_penable=Activar tiempo máximo de clave de acceso
session_blockhost=Bloquear máquinas con más de $1 logins fallidos durante $2 segundos.
session_syslog=Llevar historial de mñaquinas bloqueadas en <tt>syslog</tt>
session_disable=Desactivar autenticación de sesión
session_enable=Activar autenticación de sesión
session_localoff=Siempre requerir nombre de usuario y clave de acceso
session_localon=Permitir login sin clave de acceso para los usuarios que coindidan de la máquina local
session_logout=Auto logout tras $1 minutos de inactividad
session_locking=Activar bloqueo en Webmin
session_err=No pude salvar autenticación
session_elogouttime=Tiempo máximo para logout sin poner o inválido
session_eblockhost_time=Tiempo de bloqueo sin poner o inválido
session_eblockhost_failures=Logins de bloqueo sin poner o inválidos
session_ecookie=Tu navegador no soporta cookies, los cuales son requeridos para autenticación de sesión
session_elsof=La autenticación local requiere el programa <tt>lsof</tt>
session_remember=¿Ofrezco recordar el login permanéntemente?

assignment_title=Reasignando Módulos
assignment_header=Asignación de categoría de módulo
assignment_ok=Cambiar Categorías
assignment_desc=Este formulario te permite configurar en qué categoría es mostrado cada módulo dentro de la página índice de Webmin.

categories_title=Editar Categorías
categories_header=ID de categoría y descripciones
categories_desc=Este formulario te permite renombrar las categorías existentes de Webmin y crear nuevas para asignarles módulos. La parte superior de la tabla es para cambiar las descripciones de las categorías internas, mientras que la parte inferior es para añadir nuevas IDs de categorías y descripciones.
categories_ok=Salvar Categorías
categories_err=No pude salvar categorías
categories_edesc=Falta escripción para $1
categories_ecat=La ID de categoría $1 ya está cogida

log_access=Cambiado control de acceso a IP
log_bind=Cambiado puerto y dirección
log_log=Cambiadas opciones de historial
log_proxy=Cambiados servidores proxy
log_ui=Cambiadas opciones de interfaz de usuario
log_install=Módulo $1 instalado
log_tinstall=Instalado tema $1
log_clone=Clonado módulo $1 en $2
log_delete=Borrado módulo $1
log_os=Cambiado sistema operativo
log_lang=Cambiado lenguaje global
log_startpage=Cambiadas opciones de página índice
log_upgrade=Actualizado Webmin a versión $1
log_session=Cambiadas opciones de autenticación
log_ssl=Cambiado modo de encriptación SSL
log_setupca=Configurada autoridad de certificado
log_changeca=Cambiada autoridad de certificado
log_stopca=Cerrada autoridad de certificado
log_assignment=Cambiadas categorías de módulo
log_categories=Cambiados nombres de categorías
log_theme=Cambiar tema a $1
log_theme_def=Cambiado tema al de por defecto de Webmin
log_referers=Cambiado referenciadores fiables

themes_title=Temas de Webmin
themes_desc=Los temas controlan la apariencia del interfaz de usuario de Webmin, incluyendo iconos, colores, fondos y posíblemente las páginas de distribución. La caja de selección inferior puede usarse para seleccionar uno de los temas instalados en tu sistema.
themes_sel=Tema en curso:
themes_default=Tema por defecto de Webmin
themes_change=Cambiar
themes_installdesc=Usa el formulario inferior para instalar un nuevo tema de Webmin en tu sistema. Los temas son típicamente distribuídos en archivos <tt>.wbt</tt>, pero también pueden ser instalados desde archivos RPM si son soportados por tu sistema operativo.
themes_installok=Instalar Tema

themes_err1=No pude instalar tema desde $1
themes_efile=El archivo no existe
themes_err2=No pude instalar teme cargado
themes_ebrowser=Tu navegador no soporta carga de archivos
themes_err3=No pude instalar el tema para $1
themes_eurl=URL inválida
themes_etar=No es un archivo de tema válido: $1
themes_einfo=El tema $1 no contiene un archivo theme.info
themes_enone=El archivo no parece contener ningún tema
themes_eextract=Falló la extracción: $1
themes_done=Los siguientes temas han sido instalado corréctamente en tu sistema:
themes_line=$1 en $2 ($3 kB)
themes_ecomp=El archivo está comprimido, pero el comando $1 no se encontró en tu sistema
themes_ecomp2=No pude descomprimir arhivo: $1
themes_egzip=El archivo está comprimido por gzip, pero el comando $1 no se encuentra en tu sistema
themes_egzip2=No pude hacer gunzip del archivo: $1
themes_erpm=No es un tema RPM de Webmin
themes_eirpm=Falló la instalación RPM: $1
themes_ok=Tema cambiado con éxito... redireccionando a la página de índice de Webmin.

referers_title=Referenciadores de Confianza
referers_desc=Esta página te permite configurar el soporte de revisión referenciadora de Webmin, el cual se usa para prevenir enlaces maliciosos desde otros sitios web engañando a tu navegador para que haga cosas peligrosas con Webmin. Sin embargo, si tienes enlaces a Webmin desde tus propios sitios web de los que no deseas ser avisado, deberías añadir esos sitios a la lista inferior.
referers_list=Sitios web de confianza
referers_none=Enlaces de confianza desde referenciadores desconocidos
referers_referer=¿Revisión de referenciador activada?

syslet_title=Auto-Descarga de Syslet
syslet_desc=Esta página es para la configuración de la descarga e instalación automática de Syslets de Eazel inexistentes a tu servidor de Webmin.
syslet_auto=¿Descargo syslets automáticamente?
syslet_base=Dirección (URL) base para RMPs de syslet
syslet_err=No pude salvar las opciones de syslet
syslet_ebase=Dirección (URL) inválida
 070701000077c5000081a40000000000000002000000013d1fe2ca00006163000000200000000000000000000000000000001500000003reloc/webmin/lang/fr  index_title=Configuration de Webmin
index_return=la configuration de Webmin

access_title=Contrôle d'accès par adresses IP
access_desc=Le serveur Webmin peut être configuré pour ignorer ou allouer l'accès seulement à certaines adresses IP grâce à cette page.  Les noms d'hôte (comme foo.bar.com) et adresses IP d'hôtes ou de réseaux (comme 10.254.3.0 ou 10.254.1.0/255.255.255.128) peuvent aussi être entrés.  Vous pouvez limiter l'accès à votre serveur depuis des adresses en lesquelles vous avez confiance, surtout si ce serveur est accessible depuis l'Internet.  Sinon, quiconque devinera votre mot de passe pourra avoir un accès complet à votre système.
access_header=Contrôle de l'Accès
access_all=Autoriser depuis partout
access_allow=Autoriser uniquement depuis les adresses listées
access_deny=Refuser uniquement depuis les adresses listées
access_libwrap=Vérifier aussi les fichiers de tcpwrapper tt>hosts.allow</tt> et <tt>hosts.deny</tt> ?
access_err=Impossible de mettre à jour la liste d'accès
access_enone=Aucune adresse saisie
access_enet='$1' n'est pas une adresse réseau valide
access_emask='$1' n'est pas un masque de réseau valide
access_eip='$1' n'est pas une adresse IP ou un masque de réseau complet
access_ehost=Impossible de trouver l'adresse IP de '$1'
access_eself=Votre adresse IP courante ($1) serait refusée

bind_title=Port et Adresse
bind_desc=Si l'hôte sur lequel Webmin fonctionne a plusieurs adresses IP, le serveur peut être configuré pour n'écouter que sur une seule adresse.  Le port TCP sur lequel Webmin écoute les requêtes peut aussi être configuré ici.  Note : Votre navigateur web peut vous demander de vous authentifier de nouveau après avoir changé une de ces propriétés.
bind_header=Adresse IP et Port
bind_ip=Adresse IP d'écoute
bind_all=Toutes
bind_port=Port d'écoute
bind_err=Impossible de changer l'adresse
bind_eip=Impossible de trouver l'adresse IP de '$1'
bind_eassign=L'adresse '$1' n'est pas assignée sur cet hôte
bind_eport=Le port $1 est déjà occupé sur cette adresse

log_title=Audit
log_desc=Webmin peut être configuré pour écrire un fichier d'audit des accès au serveur web en format standard CLF. Si l'audit est en route, vous pouvez aussi choisir si ce sont les adresses IP ou les noms d'hôte qui sont sauvegardés et le rythme avec lequel le fichier de journal '$1' est effacé.
log_desc2=Si vous activez l'audit, Webmin détaillera davantage les actions effectuées par les utilisateurs dans le fichier '$1'. Le fichier log peut être consulté grâce au module Webmin "Contrôle des logs" pour analyser les actions effectuées par les utilisateurs.
log_header=Audit du serveur Web
log_disable=Aucun audit
log_enable=Activer l'audit
log_resolv=Écrire les noms d'hôtes
log_clear=Effacer le fichier toutes les $1 heure(s)
log_uall=Enregistrer les actions de tous les utilisateurs
log_users=Enregistrer seulement les actions de ...
log_mall=Enregistrer les actions sur tous les modules
log_modules=Enregistrer les actions sur les modules ..
log_files=Enregistrer les modifications faites sur tous les fichiers de chaque module
log_err=Impossible d'écrire les options d'audit
log_ehours='$1' n'est pas une valeur d'heure(s) valide
log_ediff=Vous ne possédez pas la commande $1. Celle-ci permet d'enregistrer les modifications effectuées par les utilisateurs dans les fichiers de log.

proxy_title=Proxy
proxy_desc=Si l'hôte sur lequel Webmin est exécuté est derrière un pare-feu de n'importe quelle sorte, vous devriez configurer le proxy pour accéder au Web et aux sites FTP.  Certains modules comme <tt>Logiciels Installés</tt>, utilisent ces serveurs proxy pour télécharger des fichiers.
proxy_header=Serveurs Proxy
proxy_http=Proxy Web (HTTP)
proxy_ftp=Proxy FTP
proxy_none=Aucun
proxy_nofor=Aucun proxy pour
proxy_user=Nom d'utilisateur pour proxy
proxy_pass=Mot de passe pour proxy
proxy_err=Impossible de sauvegarder les configurations proxy
proxy_ehttp=Le proxy Web (HTTP) doit être entré comme une adresse Web (URL)
proxy_eftp=Le proxy FTP doit être entré comme une adresse Web (URL)

ui_title=Interface utilisateur
ui_desc=Ce formulaire vous permet de modifier les options de l'interface utilisée par tous les modules. Si vous définissez des couleurs, vous devez les définir en utilisant le système RGB standard pour lequel une couleur est définie par un nombre hexadécimal compris entre 00 et ff.
ui_header=Options de l'interface utilisateur
ui_default=Défaut
cs_page=arrière plan
cs_text=texte standard
cs_table=Table d'arrière plan
cs_header=en-tête de tableau
cs_link=Lien
ui_texttitles=Afficher les titres comme du texte ?
ui_sysinfo=Afficher le nom de login et le nom de machine
ui_sysinfo0=En bas de la page
ui_sysinfo1=en titre du navigateur
ui_sysinfo2=au dessus du titre de la page courante
ui_err=erreur de sauvegarde des couleurs
ui_ered=valeur '$1' invalide comme couleur rouge
ui_egreen=valeur '$1' invalide comme couleur verte
ui_eblue=valeur '$1' invalide comme couleur bleue

mods_title=Modules Webmin
mods_desc1=Les modules Webmin peuvent être ajoutés après l'installation en utilisant cette page.  Les modules sont généralement distribués avec l'extension <tt>.wbm</tt>, chacun des fichiers peut contenir un ou plusieurs modules parfois spécifiques qui pourront donc ne pas fonctionner pour vous.
mods_install=Installer un Module
mods_local=Fichier
mods_uploaded=Fichier téléchargé
mods_ftp=Adresse FTP ou Web
mods_nodeps=Ignorer les dépendances de module lors de l'installation
mods_installok=Installer un Module
mods_desc2=Si vous voulez avoir plus d'une copie du même module avec des configurations différentes, vous pouvez utiliser la section de droite pour dupliquer un module existant. La copie aura un nouveau nom, un nouveau module de configuration, de nouvelles options de contrôle d'accès et pourra être utilisée par différents utilisateurs.
mods_clone=Dupliquer un Module
mods_cname=Module à dupliquer
mods_cnew=Nom du module dupliqué
mods_cloneok=Dupliquer un Module
mods_desc3=Les modules existants et les copies de module peuvent être supprimés avec cette page.  Quand un module est supprimé, il doit être réinstallé avant de pouvoir être utilisé à nouveau.  Un module ne peut pas être supprimé si d'autre(s) module(s) en dépendent.
mods_delete=Supprimer le(s) Module(s)
mods_deleteok=Supprimer le(s) Module(s) Sélectionné(s)

install_err1=Impossible d'installer le module à partir de $1
install_efile=Le fichier n'existe pas
install_err2=Impossible d'installer le module téléchargé
install_ebrowser=Votre navigateur ne supporte pas l'envoi de fichier
install_err3=Impossible d'installer le module à partir de $1
install_eurl=Adresse web invalide
install_etar=N'est pas un fichier de module valide : $1
install_einfo=Le module $1 n'a pas de fichier module.info
install_enone=Le fichier ne semble contenir aucun module
install_eos=Le module $1 ne supporte pas ce système d'exploitation ($2 $3)
install_ever=Le module $1 nécessite Webmin version $2 ou mieux
install_edep=Le module $1 nécessite le module $2
install_eextract=Impossible d'extraire $1
install_title=Installation d'un Module
install_desc=Le(s) module(s) suivant(s) ont été installé(s) et ajouté(s) à votre liste de contrôle d'accès :
install_line=$1 dans $2 ($3 Ko)
install_ecomp=Fichier compressé, mais la commande $1 n'a pas été trouvé sur votre système
install_ecomp2=Echec de la décompression du fichier : $1
install_egzip=Fichier compressé avec gzip, mais la commande $1 n'a pas été trouvée sur votre système
install_egzip2=Echec de la décompression (gunzip) du fichier : $1
install_erpm=N'est pas un module Webmin en RPM
install_eirpm=Echec de l'installation du RPM : $1

clone_err=Impossible de cloner le module
clone_elink=Impossible de faire le lien symbolique : $1
clone_ecopy=impossible de copier la configuration : $1
clone_desc=Clone de $1

delete_err=Impossible de supprimer le(s) module(s)
delete_edep=Le module $1 ne peut être supprimé, car le module $2 en dépend
delete_desc1=$1 (Clone de $2)
delete_desc2=$1 dans $2 ($3 Ko)
delete_title=Supprimer Modules
delete_msg=Le(s) module(s) suivant(s) a(ont) été(s) supprimé(s) de votre installation de Webmin :
delete_rusure=Etes-vous sur de vouloir effacer le(s) module(s) $2 ? $1 Ko de fichiers ont été supprimés.

os_title=Système d'Exploitation
os_desc=Cette page vous permet de changer le système d'exploitation que Webmin traite comme étant celui du serveur.  Ceci peut être utile lorsque vous mettez à jour le système et qu'une nouvelle version de la distribution du système d'exploitation est installée.  Notez que la configuration des modules installés ne sera pas changée, même s'il y a une différence entre l'ancien choix du système et le nouveau.
os_desc2=Vous pouvez également modifier le chemin d'accès (PATH) utilisé par Webmin pour exécuter les programmes, ainsi que le chemin des bibliothèques partagées.
os_header=Système d'Exploitation Hôte
os_curros=Système d'exploitation actuel
os_currver=Version actuelle du système d'exploitation
os_new=Nouveau système d'exploitation
os_path=Chemin d'accès des programmes
os_ld_path=Chemin d'accès des bibliothèques

lang_title=Langue
lang_title2=Langue Webmin
lang_lang=Afficher dans la langue suivante
lang_intro=Cette page vous permet de choisir la langue que Webmin utilisera pour afficher les titres, les indices et les messages
lang_ok=Changer de Langue

ssl_title=Chiffrage SSL
ssl_desc1=L'hôte sur lequel Webmin s'exécute semble avoir le module Perl SSLeay d'installé.  En utilisant ceci, Webmin supporte la communication chiffrée par SSL avec votre navigateur.  Si vous accédez au serveur Webmin par Internet, vous devriez vraiment utiliser SSL pour prévenir les attaquants qui pourraient capturer votre mot de passe Webmin car sans SSL, il circule en clair.
ssl_desc2=Attention - ne seulement activer SSL que si votre navigateur le supporte (comme Netscape ou Internet Explorer), et qu'il n'y a aucun pare-feu qui bloque les requêtes <b>https</b> entre votre navigateur et l'hôte Webmin
ssl_header=Support SSL
ssl_enable=Supporter SSL, si disponible (FORTEMENT CONSEILLE !)
ssl_disable=Ne pas utiliser le support SSL, même s'il est disponible

startpage_title=Options de la page d'accueil
startpage_intro=Cette page vous permet de définir combien d'îcones vous voulez avoir par ligne sur la page d'accueil
startpage_tabs=Modules catégorisés ?
startpage_nocol=Nombre de Colonnes
startpage_alt=Utiliser des entête alternatives
startpage_ecols=$1 n'est pas un nombre de colonnes valide
startpage_gotoone=Aller directement au module<br>si l'utilisateur n'en a qu'un seul ?
startpage_deftab=Catégorie par défaut

upgrade_title=Mise à Jour de Webmin
upgrade_desc=Cette page vous permet de mettre à jour votre installation complète de Webmin avec une autre version. Vous pouvez installer à partir d'un fichier local, d'un fichier téléchargé ou de la dernière version sur <href=http://www.webmin.com/>www.webmin.com</a>. Tout comme pour une mise à jour manuelle, toute votre configuration et les modules rajoutés seront conservés.
upgrade_descrpm=Cette page vous permet de mettre à jour votre installation complète de Webmin vers une nouvelle version en utilisant l'option de mise à jour de RPM. Vous pouvez installer depuis un fichier RPM local, un fichier téléchargé, ou la dernière version sur <a href=http://www.webmin.com/>www.webmin.com</a>. Tout comme pour une mise à jour manuelle, toute votre configuration et les modules rajoutés seront conservés.
upgrade_desccaldera=Cette page vous permet de mettre à jour votre installation complète de Webmin vers une nouvelle version en utilisant l'option de mise à jour de RPM. Vous pouvez installer depuis un fichier RPM local, un fichier téléchargé, ou la dernière version de Caldera.
upgrade_descsolaris-pkg=Cette page vous permet de mettre à jour votre installation complète de Webmin vers une nouvelle version en enlevant le paquetage Solaris actuel et en installant un nouveau. Vous pouvez installer depuis un paquetage Solaris local, un fichier téléchargé ou la dernière version sur <href=http://www.webmin.com/>www.webmin.com</a>. Tout comme pour une mise à jour manuelle, toute votre configuration et les modules rajoutés seront conservés.
upgrade_local=D'un fichier local
upgrade_uploaded=D'un fichier téléchargé
upgrade_ftp=Dernière version sur www.webmin.com
upgrade_cup=Dernière version de l'outil de Caldera <tt>cupdate</tt>
upgrade_ok=Mettre à jour Webmin
upgrade_err1=Impossible de mettre à jour de $1
upgrade_err2=Impossible de mettre à jour à partir d'un fichier téléchargé
upgrade_err3=Impossible de mettre à jour à partir de www.webmin.com
upgrade_efile=Le fichier n'existe pas
upgrade_ebrowser=Votre navigateur ne supporte pas l'envoi de fichier
upgrade_eversion=Vous ne pouvez pas mettre à jour vers la version $1
upgrade_erpm=Pas un fichier RPM Webmin valide
upgrade_egunzip=Votre système ne semble pas avoir la commande <tt>gunzip</tt>
upgrade_etar=Ceci n'est pas un fichier tar valide
upgrade_emod=Le fichier est un module Webmin, pas une mise à jour complète de Webmin. Vous pouvez utiliser la page <a href='$1'>Modules Webmin</a> pour l'installer.
upgrade_setup=En train d'éxecuter le script setup.sh pour mettre à jour Webmin .. Veuillez attendre que cette opération soit finie avant de continuer.
upgrade_setuprpm=En train d'éxecuter RPM pour mettre à jour Webmin ... Veuillez attendre que cette opération soit finie avant de continuer.
upgrade_setuppackage=En train d'éxecuter pkgadd pour mettre à jour Webmin ... Veuillez attendre que cette opération soit finie avant de continuer.
upgrade_esolaris=La fonction de mise à jour de Webmin ne fonctionne pas actuellement si vous avez installé un paquetage Solaris. Veuillez faire la mise à jour manuellement.
upgrade_ecaldera=Le fichier RPM ne semble pas être la version Caldera de Webmin.

update_desc1=Ce formulaire vous permet de mettre à jour les modules Webmin qui contiennent des bugs ou des trous de sécurité depuis la page <a href=http://www.webmin.com/webmin/updates.html>mises à jour Webmin</a> ou depuis une autre source. Ceci comparera les modules actuellement installés avec ceux disponibles en mise à jour, et optionnellement téléchargera automatiquement et installera les modules obsolètes.
update_header1=Mettre à jour les modules maintenant
update_header2=Mettre à jour les modules régulièrement
update_webmin=Mettre à jour depuis www.webmin.com
update_other=Mettre à jour depuis une autre source
update_show=Montrer seulement quels modules seraient mis à jour
update_missing=Installer les modules qui ne sont pas actuellement installés
update_quiet=Informer des mises à jour seulement
update_ok=Mettre à jour les modules
update_email=Envoyer les informations de mise à jour à
update_enabled=Mise à jour programmée actuellement activée
update_apply=Sauver et appliquer
update_sched=Mettre à jour les modules à $1:00 tous les $2 jours

update_desc2=Ce formulaire est pour programmer la mise à jour automatique des modules Webmin contenant des bugs ou des trous de sécurité depuis la page <a href=http://www.webmin.com/webmin/updates.html>mises à jour Webmin</a> ou depuis une autre source. Bien que ce service soit utile, vous devriez faire attention en l'utilisant car il peut permettre à des attaquants de pénetrer votre systèmesi le serveur de mises à jour était compromis.

ca_title=Autorité de Certification
ca_old=Certificat actuel
ca_header1=Créer un nouveau certificat pour l'AC
ca_header2=Editer le certificat de l'AC
ca_newmsg1=Votre serveur Webmin est déjà configuré comme Autorité de Certification. Vous pouvez utiliser ce formulaire pour la réinstaller, mais les certificats fournis aux utilisateurs ne seront plus valides.
ca_newmsg2=Ce formulaire doit être utilisé pour configurer votre serveur Webmin comme une Autorité de Certification de manière à ce que les utilisateurs puissent obtenir un certificat dans Utilisateurs Webmin pour s'identifier sans la procédure de login.
ca_cn=Nom de l'Autorité
ca_email=Adresse électronique
ca_ou=Département
ca_o=Organisation
ca_sp=Etat ou région
ca_c=Code de pays
ca_create=Installer l'Autorité de Certification
ca_oldmsg1=Le certificat d'AC utilisé par ce serveur est présenté ci-dessous. Vous pouvez le modifier en recopiant le certificat d'une autre AC mais tout certificat déjà fourni aux utilisateurs ne sera plus valide.
ca_oldmsg2=Si vous avez déjà installé une AC sur un autre serveur, vous pouvez recopier son certificat ci-dessous plutôt que de créer une nouvelle AC. Ceci permettra aux utilisateurs de l'autre serveur de s'identifier également sur celui-ci.
ca_err=Erreur de création de l'Autorité de Certification
ca_setupok=Votre Autorité de Certification a été créé. Les utilisateurs peuvent maintenant utiliser le module "Utilisateurs Webmin" pour demander des certificats pour eux-mêmes.
ca_stop=Stopper l'Autorité de Certification
ca_stopmsg=Cliquer ce bouton pour stopper l'acceptation des certificats existants ou la création de nouveaux. Ceci forcera les utilisateurs à utiliser l'authentification avec nom et mot de passe à la place.
ca_stopok=Votre Autorité de Certification a été arrêtée avec succès.
ca_eminiserv=Les certificats client SSL ne sont supportés sue sous miniserv.
ca_eversion=La version du module Perl Net::SSLeay installée sur votre système ne supporte pas les certificats client SSL.
ca_essleay=La commande d'administration SSL $1 n'a pas été trouvée sur votre système. Vous pouvez changer le chemin dans la configuration du module Utilisateurs Webmin.
ca_essl=La certification SSL ne peut être mise en place que si le serveur web tourne en mode SSL.

session_title=Authentification
session_desc1=Le contrôle des mots de passe permet de protéger votre serveur Webmin des utilisateurs tentant de forcer le système avec de faux mots de passe. Un délai de plus en plus important est imposé entre chaque connexion de l'utilisateur non reconnu.
session_desc2=Lorsque le contrôle des mots de passe est activé, chaque utilisateur connecté sera suivi par le système de sorte qu'il pourra être automatiquement déconnecté après un certain temps d'inactivité. Ceci forcera alors les utilisateurs à se reconnecter.
session_header=Options d'authentification
session_pdisable=Désactiver le contrôle des mots de passe
session_penable=Activer le contrôle des mots de passe
session_blockhost=Interdire les accès aux postes ayant plus de $1 erreurs de mot de passe en $2 secondes.
session_syslog=Enregistrer les postes bloqués dans le fichier avec <tt>syslog</tt>
session_disable=Désactiver la session d'authentification
session_enable=Activer la session d'authentification
session_localoff=Toujours demander le nom d'utilisateur et le mot de passe
session_localon=Permettre le login sans mot de passe pour les utilisateurs correspondants de la machine locale
session_logout=Déconnection automatique après $1 minutes d'inactivité
session_locking=Activer le verrouillage dans Webmin
session_err=Impossible de sauver l'authentification
session_elogouttime=Date de sortie manquante ou invalide
session_eblockhost_time=Date de blocage manquante ou invalide
session_eblockhost_failures=Logins bloquants manquants ou invalides
session_ecookie=Votre navigateur ne supporte pas les cookies, qui sont requis pour l'authentification de session
session_elsof=L'authentification locale requiert le programme <tt>lsof</tt>
session_remember=Proposer de se rappeler du login de manière permanente ?

assignment_title=Réaffectation des modules
assignment_header=Affectation des modules par catégorie
assignment_ok=Changer les catégories
assignment_desc=Ce formulaire vous permet de configurer dans quelle catégorie chaque module est affiché sur la page d'index de Webmin.

categories_title=Editer les catégories
categories_header=Nom de la catégorie et description
categories_desc=Ce formulaire vous permet de renommer les catégories Webmin existantes et d'en créer de nouvelles pour y assigner les modules. La partie supérieure du tableau permet de changer la description des catégories fournies, alors que la partie inférieure permet d'ajouter de nouveaux noms et descriptions de catégories.
categories_ok=Sauver les catégories
categories_err=Echec de la sauvegarde des catégories
categories_edesc=Description manquante pour $1
categories_ecat=Le nom de catégorie $1 est déjà utilisé

log_access=Contrôle d'accès IP modifié
log_bind=Port et adresse modifiés
log_log=Options de journalisation modifiées
log_proxy=Serveurs proxy modifiés
log_ui=Options d'interface utilisateur modifiées
log_install=Module $1 installé
log_tinstall=Thème $1 installé
log_clone=Cloné module $1 en $2
log_delete=Module $1 effacé
log_os=Système d'exploitation modifié
log_lang=Langage global modifié
log_startpage=Options de la page d'index modifiées
log_upgrade=Webmin mis à jour en version $1
log_session=Options d'authentification modifiées
log_ssl=Mode de chiffrage SSL modifié
log_setupca=Autorité de Certification installée
log_changeca=Autorité de Certification modifiée
log_stopca=Autorité de Certification arrêtée
log_assignment=Catégories de module modifiées
log_categories=Noms de catégorie modifiés
log_theme=Thème changé en $1
log_theme_def=Thème changé en défaut Webmin
log_referers=Référents de confiance modifiés

themes_title=Les thèmes de Webmin
themes_desc=Les thèmes permettent de modifier l'apparence de l'interface graphique. Vous pouvez changer les icônes, le fond d'écran ou la disposition des pages. Utilisez le menu ci-dessous pour changer de thème.
themes_sel=Thème actuel :
themes_default=Thème Webmin
themes_change=Changer
themes_installdesc=Utilisez le formulaire ci-après pour changer de thème. Les thèmes sont généralement des fichiers au format <tt>.wbt</tt> mais les formats RPM peuvent également être utilisés si votre système le supporte.
themes_installok=Installer le thème

themes_err1=Ne peut installer le thème: $1
themes_efile=Le fichier n'existe pas
themes_err2=Ne peut installer le thème téléchargé
themes_ebrowser=Votre navigateur ne supporte pas le fichier téléchargé
themes_err3=Ne peut installer le thème: $1
themes_eurl=URL invalide
themes_etar=Ce fichier n'est pas un thème valide : $1
themes_einfo=Le thème $1 ne comporte pas de fichier theme.info
themes_enone=Ce fichier ne semble pas correspondre à un thème
themes_eextract=Erreur de décompression : $1
themes_done=Le thème suivant a été installé sur votre système :
themes_line=$1 dans $2 ($3 Ko)
themes_ecomp=Fe fichier est compressé, mais le commande $1 n'a pas été trouvée sur votre système
themes_ecomp2=Erreur à la décompression du fichier : $1
themes_egzip=Le fichier est compressé avec gzip, mais la commande $1 n'a pas été trouvée sur votre système
themes_egzip2=Erreur à la décompression gzip du fichier : $1
themes_erpm=Ceci n'est pas un thème RPM pour Webmin
themes_eirpm=Erreur lors de l'installation du fichier RPM : $1
themes_ok=Le thème a été mis à jour ... Vous allez être redirigé vers la page principale de Webmin.

referers_title=Référents de confiance
referers_desc=Cette page vous permet de configurer l'assistant contrôlant les référents de Webmin. Par référents, on entend les sites à partir desquels Webmin est accessible. Cet assistant est utilisé afin d'éviter que des opérations dangereuses puissent être effectuées à partir de liens provenant d'autres sites. Si vous accédez à Webmin depuis vos propres sites web et que vous ne souhaitez pas en être prévenus, ajouter ces sites dans la liste ci-dessous.                                                                                           
referers_list=Sites web de confiance
referers_none=Autoriser les liens depuis des sites inconnus
referers_referer=Activer l'assistant de contrôle des référents ?

syslet_title=Téléchargement automatique des Syslets
syslet_desc=Cette page est pour configurer le téléchargement et l'installation automatique de Syslets Eazel manquants sur votre serveur Webmin.
syslet_auto=Télécharger automatiquement les syslets ?
syslet_base=URLs de base pour RPMs des syslets
syslet_err=Echec de sauvegarde des options des syslets
syslet_ebase=URL de base invalide

update_err=Echec de la mise à jour des modules
update_eurl=URL de mise à jour manquant ou invalide
update_title=Mettre à jour les modules
update_info=Mise à jour des modules ...
update_mmissing=Le module $1 n'est pas installé sur ce système.
update_malready=Le module $1 est déjà à jour.
update_mshow=Mise à jour nécessaire pour le module $1 à la version $2.
update_mok=Mise à jour du module $1 à la version $2.
update_mdesc=Module $1 installé ($2 Ko)
update_mos=Le module $1 n'est pas supporté par cet OS.
update_efile=Fichier source de mise à jour de module invalide
update_ehour=Heure de mise à jour manquante ou invalide
update_edays=Nombre de jour manquant ou invalide
update_rv=Vérification des modules mis à jour depuis $1
update_eemail=Vous devez entrer une adresse électronique si uniquement ce qui doit être mis à jour est montré.
update_subject=Rapport de mise à jour des modules Webmin
 070701000077c6000081a40000000000000002000000013d1fe2cb000037de000000200000000000000000000000000000001500000003reloc/webmin/lang/he  index_title=Webmin úöåøä ùì 
index_return=webmin úöåøä ùì 

access_title=IP á÷øú âéùä ì
access_desc=ðéúï ìäâãéø àú ùøú webmin ëãé ùéàôùø àå éîðò âéùä ø÷ ìëúåáåú IP îñåéîåú áòîöòåú èåôñ æä.  ðéúï ìä÷ìéã àú ùí äàúø (www.momo.co.il) àå àú ëúåáú äIP ùìå (123.321.123.321). ëãàé ìê ìäâáéì àú äâéùä ìëúåáåú îåøùåú áìáã, áîéåçã àí äùøåú ôúåç ìâéùä îäàéðèøðè. àçøú, ëì àçã ùîðçù àú äñéñîà ùìê, î÷áì ùìéèä îìàä òì äîçùá.
access_header=á÷øú âéùä
access_all=àôùø îëì äëúåáåú
access_allow=Only allow from listed addresses
access_deny=Deny from listed addresses
access_err=Failed to update access list
access_enone=ìà ðéúðä ëúåáú
access_enet='$1' is not a valid network address
access_emask='$1' is not a valid netmask
access_eip='$1' is not a complete IP or network address
access_ehost=Failed to find IP address for '$1'
access_eself=Your current IP address ($1) would be denied

bind_title=Port and Address
bind_desc=If the host on which Webmin is running has multiple IP addresses, the server can be configured to listen on only one address using this form. The TCP port on which Webmin listens can also be configured here. Note - your web browser may prompt you to log in again after changing the port or binding address.
bind_header=IP Address and Port
bind_ip=Listen on IP Address
bind_all=All
bind_port=Listen on Port
bind_err=Failed to change address
bind_eip=Failed to get IP address for '$1'
bind_eassign=The address '$1' is not assigned to this system
bind_eport=Port $1 is already in use

log_title=Logging
log_desc=Webmin can be configured to write a log of web server hits, in the standard CLF log file format. If logging is enabled, you can also choose whether IP addresses or hostnames are recorded, and how often the log file is cleared. When enabled, logs are written to the file $1.
log_desc2=When logging is enabled, Webmin will also write a more detailed log of user actions to the file $1. This log can be viewed and analysed with the Webmin Actions Log module to see exactly what each Webmin user has been doing.
log_header=Web Server Logging
log_disable=Disable logging
log_enable=Enable logging
log_resolv=Log resolved hostnames
log_clear=Clear logfiles every $1 hours
log_uall=Log actions by all users
log_users=Only log actions by ..
log_mall=Log actions in all modules
log_modules=Only log actions in ..
log_files=Log changes made to files by each action
log_err=Failed to save logging options
log_ehours='$1' is not a valid number of hours
log_ediff=Your system does not have the command $1 needed for logging file changes

proxy_title=ùøúé ôøå÷ñé
proxy_desc=If the host on which Webmin is running is behind a firewall of some kind, you may need to set the proxy server to use for accessing web and FTP sites. Certain modules, such as <tt>Software Packages</tt>, will use these proxies when downloading files or programs.
proxy_header=ùøúé ôøå÷ñé
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=àó àçã
proxy_nofor=No proxy for
proxy_err=Failed to save proxies
proxy_ehttp=The HTTP proxy server must be entered as a URL
proxy_eftp=The FTP proxy server must be entered as a URL

ui_title=îîù÷ îùúîù
ui_desc=èåôñ æä îàôùø ìê ì÷áåò àú öáòé îîù÷ äîùúîù ìëì äîåãåìéí. When entering colours, each must be specified using the standard RGB system, where each value is a hex number from 00 to ff. 
ui_header=àôùøåéåú îîù÷ îùúîù
ui_default=áøéøú îçãì
cs_page=ø÷ò äòîåã
cs_text=è÷ñè øâéì
cs_table=ø÷ò ùì èáìä
cs_header=ëåúøú ùì èáìä
cs_link=öáò ùì äéôø-÷éùåø
ui_texttitles=äàí ìäöéâ àú äëåúøåú ëè÷ñè ?
ui_err=ìà äöìçúé ìùîåø àú äöáòéí
ui_ered=Invalid red value for '$1'
ui_egreen=Invalid green value for '$1'
ui_eblue=Invalid blue value for '$1'

mods_title=Webmin Modules
mods_desc1=Webmin modules can be added after installation by using the form to the right. Modules are typically distributed in <tt>.wbm</tt> files, each of which can contain one or more modules. If a module is licenced to run only on a certain host, you may not be able to install it.
mods_install=Install Module
mods_local=From local file
mods_uploaded=From uploaded file
mods_ftp=From ftp or http URL
mods_installok=Install Module From File
mods_desc2=If you wish to have more than one copy of the same module with different configurations, the form to the right allows you to clone any existing module. The clone will have a new name, a new module configuration, new access control options and may be made available to different users.
mods_clone=Clone Module
mods_cname=Module to clone
mods_cnew=Cloned module name
mods_cloneok=Clone Module
mods_desc3=Existing modules and clones of modules can be deleted using the form below. If a module with clones is deleted, they will also be removed. Once a module has been deleted it must be reinstalled before you can use it again. A module cannot be deleted if other modules depend on it.
mods_delete=Delete Modules
mods_deleteok=Delete Selected Modules

install_err1=Failed to install module from $1
install_efile=File does not exist
install_err2=Failed to install uploaded module
install_ebrowser=Your browser does not support file uploads
install_err3=Failed to install module from $1
install_eurl=Invalid URL
install_etar=Not a valid module file : $1
install_einfo=Module $1 is missing a module.info file
install_enone=File does not appear to contain any modules
install_eos=Module $1 does not support this operating system ($2 $3)
install_ever=Module $1 requires Webmin version $2 or above
install_edep=Module $1 requires module $2
install_eextract=Extract failed : $1
install_title=Install Module
install_desc=The following modules have been successfully installed and added to your access control list :
install_line=$1 in $2 ($3 kB)
install_ecomp=File is compressed, but the $1 command was not found on your system
install_ecomp2=Failed to uncompress file : $1
install_egzip=File is gzipped, but the $1 command was not found on your system
install_egzip2=Failed to gunzip file : $1

clone_err=Failed to clone module
clone_elink=symlink failed : $1
clone_ecopy=failed to copy config : $1
clone_desc=Clone of $1

delete_err=Failed to delete modules
delete_edep=Module $1 cannot be deleted, as the module $2 depends on it
delete_desc1=$1 (Clone of $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Delete Modules
delete_msg=The following modules have been successfully deleted from your Webmin installation :

os_title=îòøëú äôòìä
os_desc=This form allows you to change the operating system Webmin treats your system as. This can be useful if you have upgraded your machine to a new version of your operating system distribution. Note that the configuration of installed modules will not be changed, even if there are differences between the old and new systems.
os_desc2=You can also change the search path used by Webmin when running programs, and the shared library path passed to any programs.
os_header=Host Operating System
os_curros=îòøëú äôòìä ðåëçéú
os_currver=âéøñú îòøëú äôòìä äðåëçéú
os_new=îòøëú äôòìä çãùä
os_path=Program search path
os_ld_path=Library search path

lang_title=ùôä
lang_title2=Webmin ùôú
lang_lang=úöåâä áùôä
lang_intro=èåôñ æä îàôùø ìùðåú àú äôä áä àúä øåàä àú ääåãòåú, äãôéí, åëì äîñáéá
lang_ok=ùðä ùôä

ssl_title=SSL äöôðú
ssl_desc1=The host on which Webmin is running appears to have the SSLeay Perl module installed. Using this, Webmin supports SSL encrypted communication between your browser and the server. If you are accessing your Webmin server over the Internet, then you should definately consider using SSL to prevent an attacker capturing your Webmin password.
ssl_desc2=Warning - only turn on SSL support if you have a browser that supports SSL (such as Netscape or IE), and there is no firewall blocking <b>https</b> requests between your browser and the Webmin host
ssl_header=SSL Support
ssl_enable=Enable SSL support, if available
ssl_disable=Disable SSL support, even if available

startpage_title=àôùøåéåú ãó äàéðã÷ñ
startpage_intro=This page allows you to define how many icons you want to have per row on the index page
startpage_tabs=Categorise modules?
startpage_nocol=Number of Columns
startpage_alt=Use alternative header
startpage_ecols='$1' is not a valid number of columns
startpage_gotoone=Go direct to module<br>if user only has one?

upgrade_title=òãëåï Webmin
upgrade_desc=This form allows you to upgrade your entire webmin installation to a new version. You can install from a local file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_descrpm=This form allows you to upgrade your entire webmin installation to a new version using RPM's upgrade option. You can install from a local RPM file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_descsolaris-pkg=This form allows you to upgrade your entire webmin installation to a new version by removing the current solaris package and installing a new one. You can install from a local solaris package file, an uploaded file or from the latest version at <a href=http://www.webmin.com/>www.webmin.com</a>. Just as with a manual upgrade, all your config settings and third-party modules will be kept.
upgrade_local=neuc. neunh
upgrade_uploaded=neuc. avugkv knjac
upgrade_ftp=Latest version from www.webmin.com
upgrade_ok=òãëåï Webmin
upgrade_err1=Failed to upgrade from $1
upgrade_err2=Failed to upgrade from uploaded file
upgrade_err3=Failed to upgrade from www.webmin.com
upgrade_efile=÷åáõ ìà ÷ééí
upgrade_ebrowser=Your browser does not support file uploads
upgrade_eversion=ìà éëåì ìøãú áøîä, ìâéøñà  $1
upgrade_erpm=÷åáõ RPM ìà ú÷éï
upgrade_egunzip=àéï ìê áîòøëú àú ä÷åáõ  <tt>gunzip</tt> 
upgrade_etar=æä ìà ÷åáõ TAR ú÷éï
upgrade_setup=îøéõ àú äô÷åãä  setup.sh ëãé ìòãëï àú äúåëðä... çëä ùðéä. îä áåòø.
upgrade_setuprpm=îú÷éï çáéìú äú÷ðä.... æä ìå÷ç çúéëú æîï îëåáãú. îðñéåï
upgrade_setuppackage=Running pkgadd to upgrade Webmin .. Please wait a minute until it is complete before continuing.
upgrade_esolaris=Webmin's upgrade feature does not currently work when you have installed from a Solaris package. Please upgrade manually instead. àðé ìà çåùá ùéù îùúîùé ñåìøéñ áòáøéú

ca_title=Certificate Authority
ca_old=Existing certificate
ca_header1=Create new CA certificate
ca_header2=Edit CA certificate
ca_newmsg1=Your Webmin server is already setup as a certificate authority. You can use this form to set it up again, but any certificates already issued to uses will no longer work.
ca_newmsg2=This form should be used to setup your Webmin server as a certificate authority (CA) so that users can request certificates in the Webmin Users to identify themselves to the server without having to login.
ca_cn=Authority name
ca_email=Email address
ca_ou=Department
ca_o=Organisation
ca_sp=State
ca_c=Country code
ca_create=Setup certificate authority
ca_oldmsg1=The CA certificate this server is using is displayed below. You may change it by pasting in the certificate from another CA, but any certificates already issued to users will no longer work.
ca_oldmsg2=If you have already setup a CA on another Webmin server, you can paste its certificate below instead of setting up a new CA. This will allow users from the other server to be recognised by this server as well.
ca_err=Failed to setup certificate authority
ca_setupok=Your certificate authority has been setup successfully. Users can now use the Webmin Users module to request certificates for themselves.
ca_stop=Shutdown certificate authority
ca_stopmsg=Click this button to stop Webmin from accepting existing certificates or issuing new ones. This will force users to use username and password authentication instead.
ca_stopok=Your certificate authority has been successfully shut down.
ca_eminiserv=SSL client certificates are only supported under miniserv.
ca_eversion=The version of the Perl Net::SSLeay module installed on your system does not support SSL client certificates.
ca_essleay=The SSL administration command $1 was not found on your system. You may need to change the path in the Webmin Users module configuration.
ca_essl=SSL certification can only be setup when the webserver is running in SSL mode.

session_title=àéîåú
session_desc1=îðâðåï æä, ëùäå îåôòì, îâãéì àú äæîï  ùì äîòðä ìä÷ìãú ñéñîà, ëãé ìîðåò çéôåù  àìéí
session_desc2=When session authentication is enabled, each logged in users' session will be tracked by Webmin, making it possible for idle users to be automatically logged out. Be aware that enabling or disabling session authentication may force all users to re-login.
session_header=Authentication and session options
session_pdisable=Disable password timeouts
session_penable=Enable password timeouts
session_blockhost=Block hosts with more than $1 failed logins for $2 seconds.
session_syslog=Log blocked hosts to <tt>syslog</tt>
session_disable=Disable session authentication
session_enable=Enable session authentication
session_logout=Auto-logout after $1 minutes of inactivity
session_locking=Enable locking in Webmin
session_err=Failed to save session locking
session_elogouttime=Missing or invalid logout time
session_eblockhost_time=Missing or invalid blocking time
session_eblockhost_failures=Missing or invalid blocking logins

assignment_title=Reassign Modules
assignment_header=Module category assignments

categories_title=òøéëú ä÷èâåøéåú
categories_header=îñôø æäåé ä÷èâåøéä, åúàåøä
categories_new=÷èâåøéä çãùä
categories_add=äåñó

log_access=Changed IP access control
log_bind=Changed port and address
log_log=Changed logging options
log_proxy=Changed proxy servers
log_ui=Changed user interface options
log_install=Installed module $1
log_clone=Cloned module $1 to $2
log_delete=Deleted module $1
log_os=Changed operating system
log_lang=Changed global language
log_startpage=Changed index page options
log_upgrade=Upgraded Webmin to version $1
log_session=Changed authentication options
log_ssl=Changed SSL encryption mode
log_setupca=Set up certificate authority
log_changeca=Changed certificate authority
log_stopca=Shut down certificate authority
log_assignment=Changed module categories
log_categories=Changed category names
  070701000077c7000081a40000000000000002000000013d1fe2cb00001fa4000000200000000000000000000000000000001500000003reloc/webmin/lang/hu  index_title=Webmin beállítása
index_return=a Webmin beállításához

access_title=IP hozzáférés-vezérlés
access_desc=A Webmin kiszolgáló beállítható úgy, hogy egyes IP címekrõl tiltja vagy engedélyezi a hozzáférést az alábbi ûrlap használatával. Hostnevek (pl. foo.bar.com) és IP hálózatok (pl. 10.254.3.0 vagy 10.254.1.0/255.255.255.128) egyaránt megadhatók. Ajánlott korlátozni a gépéhez történõ hozzáférést megbízható címekre, különösen ha az elérhetõ az Internet-en keresztül, különben bárki, aki megsejti az Ön jelszavát, szabad kezet kap a rendszer irányítása felett.
access_header=Hozzáférés-vezérlés
access_all=Engedélyezés minden címrõl
access_allow=Csak a listában szereplõ címekrõl engedélyezett
access_deny=Tiltás a listában szereplõ címekrõl
access_err=A hozzáférési lista frissítése nem sikerült
access_enone=Nem lett cím megadva
access_enet='$1' egy érvénytelen hálózati cím
access_emask='$1' egy érvénytelen netmaszk
access_eip=A(z) '$1' nem teljes IP vagy hálózati cím
access_ehost=Nem sikerült IP címet találni a(z) '$1' hosthoz.
access_eself=Az Ön jelenlegi IP címe ($1) vélhetõleg le van tiltva.

bind_title=Port és Cím
bind_desc=Abban az esetben, Ha a host, amelyen a Webmin fut, több IP címmel rendelkezik, akkor ezzel az ûrlappal a kiszolgáló beállítható úgy, hogy csak az egyik címet használja. A TCP port, amelyen a Webmin figyel, szintén itt állítható be. Megjegyzés: miután portot vagy címet változtatott, a böngészõje újra felkérheti, hogy lépjen be.
bind_header=IP cím és port
bind_ip=Figyelendõ IP cím
bind_all=Összesen
bind_port=Figyelendõ port
bind_err=A cím megváltoztatása nem sikerült.
bind_eip=A(z) '$1' IP címének lekérése nem sikerült.
bind_eassign=A(z) '$1' cím nem tartozik ehhez a rendszerhez.
bind_eport=A(z) $1-es port már használatban van.

log_title=Naplózás
log_desc=A Webmin beállítható úgy, hogy lejegyezze a web kiszolgáló találatait a szabványos CLF naplófájl-formátumban. Ha a naplózást bekapcsolja, akkor kiválaszthatja, hogy mely IP címeket vagy hostneveket kíván regisztrálni, illetve, hogy milyen gyakorisággal törlõdjön a naplófájl. Ha él a lehetõséggel, akkor a bejegyzések a $1 fájlban fognak tárolódni.
log_header=Web kiszolgáló naplózás
log_disable=Naplózás kikapcsolása
log_enable=Naplózás bekapcsolása
log_resolv=Megfejtett hostnevek regisztrálása
log_clear=A naplófájl törlése minden $1 . órában
log_err=A naplózásra vonatkozó opciók elmentése nem sikerült.
log_ehours='$1' nem megfelõ szám óraszám

proxy_title=Proxy kiszolgálók
proxy_desc=Ha a hoszt, amelyen a Webmin fut, tûzfal mögött van, akkor lehet, hogy szükséges egy proxy kiszolgáló a web és FTP helyek hozzáféréséhez. Egyes modulok, mint például a <tt>Szoftver csomagok</tt>, használni fogják ezeket a proxy-kat fájlok vagy programok letöltéséhez.
proxy_header=Proxy kiszolgálók
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=Nincs
proxy_nofor=Nincs proxy-használat az alábbiakra:
proxy_err=A proxy-beállítás mentése nem sikerült.
proxy_ehttp=A HTTP proxy kiszolgálót URL-ként kell megadni.
proxy_eftp=Az FTP proxy kiszolgálót URL-ként kell megadni.

colours_title=Színek
colours_desc=Ezzel az ûrlappal átszerkesztheti az összes modul által használt színeket. Minden szín a szabvány RGB-rendszerben adható meg, ahol az értékek hexadecimális számok 00-tól FF-ig.
colours_header=Színösszeállítás
colours_default=Alapértelmezett
cs_page=Oldal háttér
cs_text=Normal szöveg
cs_table=Tábla háttér
cs_header=Tábla fejléc
cs_link=Link szöveg
colours_err=A színek elmentése nem sikerült
colours_ered=A(z) '$1' vörös összetevõjének értéke nem megfelelõ.
colours_egreen=A(z) '$1' zöld összetevõjének értéke nem megfelelõ.
colours_eblue=A(z) '$1' kék összetevõjének értéke nem megfelõ.

mods_title=Webmin modulok
mods_desc1=Telepítés után a Webminhez további modulok adhatók a jobboldali ûrlappal. Az összetevõk jellemzõen <tt>.wbm</tt> fájlokban terjednek, amelyegy vagy több modult is tartalmazhat. Ha egy modul licensze olyan, hogy csakegy adott hosztról futhat, akkor azt nem telepítheti. 
mods_install=Modul telepítése
mods_local=Helyi fájlból
mods_uploaded=Feltöltött fájlból
mods_ftp=FTP vagy HTTP URL-rõl
mods_installok=Modul telepítése fájlból
mods_desc2=Ha ugyanarról a modulról szeretne egynél több másolatot készíteni, de különbözõ beállításokkal, akkor a jobboldali ûrlappal létrehozhatja bármely meglévõ modul klónját. A klónnak új neve, új beállításai, új hozzáférést vezérlõ kapcsolói által különbözõ felhasználók számára elérhetõ lehet.
mods_clone=Klón modul
mods_cname=Klónozandó modul
mods_cnew=Klónozott modul neve
mods_cloneok=Modul klónozása
mods_desc3=Létezõ modulok és ezek klónjai törölhetõk az alábbi ûrlappal. Ha egy modul a klónjaival együtt törlõdik, akkor teljesen eltünik a rendszerrõl. Ha egy modul egyszer letörlõdött, akkor újra kell telepíteni ahhoz, hogy újra használni lehessen. Egy modul nem törölhetõ ha egy másik rá épül.
mods_delete=Modulok törlése
mods_deleteok=Kiválasztott modulok törlése
install_err1=A(z) $1 fájból modul telepítés nem sikerült
install_efile=A fájl nem létezik
install_err2=A feltöltött modul telepítése nem sikerült
install_ebrowser=Az Ön böngészõje nem támogatja a fájlok feltöltését
install_err3=A(z) $1 címrõl a modultelepítés nem sikerült
install_eurl=érvénytelen URL
install_etar=Érvénytelen modul fájl : $1
install_einfo=A(z) $1 modulhoz nincs module.info fájl
install_enone=A file nem tartalmaz modulokat
install_eos=A(z) $1 modul nem támogatja ezt az operációs rendszert ($2 $3)
install_ever=A(z) $1 modulhoz $2 vagy nagyobb verziószámú Webmin szükséges
install_edep=A(z) $1 igényli a(z) $2 modult
install_eextract=A kicsomagolás nem sikerült : $1
install_title=Modul telepítése
install_desc=Az alábbi modulok telepítése sikeresen befejezõdött és hozzáadódtak  a hozzáférés-vezérlési listához :
install_line=$1 a $2 fájlban ($3 kB)

clone_err=A modul klónozása nem sikerült
clone_elink=sikertelen symlink : $1
clone_ecopy=a beálítás másolása nem sikerült : $1
clone_desc=$1 klónja

delete_err=A modulok törlése nem sikerült
delete_edep=A(z) $1 modul nem törölhetõ, mert a(z) $2 igényli
delete_desc1=$1 ($2 klónja)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Modulok törlése
delete_msg=Az alábbi modulok a telepített Webminbõl sikeresen törlõdtek :

os_title=Operációs rendszer
os_desc=Ezzel az ûrlappal megváltoztathatja a Webmin által felügyelt gép operációs rendszerét. Ez hasznos lehet, ha a gépe operációs rendszerét egy újabbra frissítette. Megjegyzésként, a telepített modulok beállításai nem fognak megváltozni, kivéve ha a régi és az új rendszer között különbségek vannak.
os_header=A Hoszt Operációs Rendszere
os_curros=Jelenlegi operációs rendszer
os_currver=Jelenlegi OS verziószám
os_new=Új operációs rendszer

lang_title=Nyelvezet
lang_title2=Webmin nyelvezete
lang_lang=Használandó nyelv
lang_intro=Ezzel az oldallal beállíthtaja, hogy a Webmin milyen nyelvet használjon a szövegcímek, parancssorok és üzenetek megjelenítéséhez.
lang_ok=Nyelvezet változtatása

ssl_title=SSL titkosítás
ssl_desc1=A hoszton, amelyen a Webmin fut, fellelhetõ az SSLeay Perl modul telepített változata. Ennek használatával a Webmin támogatni fogja a titkosított kommunikációt a böngészõ és a kiszolgáló között. Ha Ön a Webmin kiszolgálóját az Internet-en keresztül haszálja, akkor különösen ajánlott az SSL használata, mellyel megakadályozható egy esetleges támadó abban, hogy elcsípje az Ön Webmin jelszavát.
ssl_desc2=Figyelem! Csak akkor kapcsolja be az SSL támogatást, ha van olyan böngészõje, amely támogatja az SSL-t (mint például a Netscape vagy az Internet Explorer), és nincs olyan tûzfal, amely blokkolja a <b>https</b> kéréseket az Ön böngészõje és a Webmin hosztja között.
ssl_header=SSL támogatás
ssl_enable=SSL támogatás engedélyezése, ha lehetséges
ssl_disable=SSL támogatás kikapcsolása, ha lehetséges

startpage_title=Index oldali opciók
startpage_intro=Ezzel az oldallal megadhatja, hogy az index oldalon mennyi ikont szeretne soronkent.
startpage_tabs=Kategorizálja a modulokat?
startpage_nocol=Oszlopok száma
startpage_alt=Alternatív fejléc használata
startpage_ecols='$1' egy érvénytelen oszlopszám
070701000077c8000081a40000000000000002000000013d1fe2cb00002fc2000000200000000000000000000000000000001500000003reloc/webmin/lang/it  index_title=Configurazione Webmin 
index_return=configurazione webmin

access_title=Accesso IP controllato  
access_desc=Il server Webmin pu&ograve; essere configurato in modo da impedire o consentire l'accesso ad indirizzi IP predefiniti utilizzando questa maschera. Possono essere inseriti anche nomi di host (come foo.bar.com) e reti IP (come 10.254.3.0 o 10.254.1.0/255.255.255.128). Dovresti limitare l'accesso al tuo server ad indirizzi sicuri, specialmente se accessibile tramite internet. In caso contrario, chiunque scopra la tua password potr&agrave; avere controllo completo del tuo sistema. 
access_header=Controllo Accesso
access_all=Accetta qualsiasi indirizzo
access_allow=Accetta solo gli indirizzi immessi
access_deny=Rifiuta solo gli indirizzi immessi
access_err=Errore nell'aggiornamento della lista di accesso
access_enone=Nessun indirizzo immesso
access_enet='$1' non &egrave; un indirizzo di rete valido
access_emask='$1' non &egrave; una netmask valida
access_eip='$1' non &egrave; un indirizzo IP o di rete valido
access_ehost=Non riesco a trovare l'indirizzo IP per '$1'
access_eself=Il tuo indirizzo IP corrente ($1) verrebbe respinto.

bind_title=Porte e Indirizzi
bind_desc=Se l'host su cui Webmin sta girando ha pi&ugrave; di un indirizzo IP,il server pu&ograve; essere configurato in modo da accettare connessioni solo su di un indirizzo utilizzando questa maschera. Inoltre puoi configurare la porta TCP su cui Webmin accetta connessioni. Nota - il tuo web browser puo' richiederti di registrarti nuovamente dopo aver cambiato la porta o l'indirizzo.
bind_header=Indirizzo IP e Porta
bind_ip=Ascolta sull'indirizzo IP
bind_all=Tutti
bind_port=Ascolta sulla porta
bind_err=Errore nel cambio di indirizzo
bind_eip=Impossibile leggere l'indirizzo IP per '$1'
bind_eassign=L'indirizzo '$1' non &egrave; assegnato a questo sistema
bind_eport=La porta $1 &egrave; gi&agrave; in uso

log_title=Logging
log_desc=Webmin pu&ograve; essere configurato in modo da scrivere un log degli hit del webserver, nel formato standard CLF. Se il logging &egrave; abilitato, puoi scegliere se registrare indirizzi IP o nomi degli host, e quanto spesso il file di log e' ripulito. Se abilitati, i log vengono salvati sul file $1.
log_header=Logging del Web Server
log_disable=Disabilita logging
log_enable=Abilita logging
log_resolv=Scrivi sul log nomi host simbolici 
log_clear=Svuota il log ogni $1 ora
log_err=Errore nel salvataggio opzioni di log
log_ehours='$1' non &egrave; un numero valido di ore

proxy_title=Proxy Servers
proxy_desc=Se l'host sul quale Webmin sta girando si trova dietro ad un firewall, potrebbe essere necessario impostare il server proxy da utilizzare per accedere a siti web e FTP. Alcuni moduli, come ad esempio i <tt>Pacchetti Software</tt>, utilizzeranno questi indirizzi per scaricare files o programmi.
proxy_header=Servers Proxy
proxy_http=Proxy HTTP
proxy_ftp=Proxy FTP
proxy_none=Nessuno
proxy_nofor=Nessun proxy per
proxy_err=Impossibile salvare i proxies
proxy_ehttp=Il server proxy HTTP deve essere immesso come URL
proxy_eftp=Il server proxy FTP deve essere immesso come URL

ui_title=Interfaccia Utente
ui_desc=Questa maschera permette di modificare le impostazioni dell'interfaccia utente utilizzate da tutti i moduli. Quando inserisci i colori, ciascuno va specificato utilizzando il sistema RGB, in cui ciascun valore &egrave; un numero esadecimale da 00 a ff. 
ui_header=Opzioni Interfaccia Utente
ui_default=Predefinito
cs_page=Sfondo delle pagine
cs_text=Testo normale
cs_table=Sfondo tabelle
cs_header=Intestazione tabelle
cs_link=Testo collegamento
ui_texttitles=Visualizza titoli come testo
ui_err=Impossibile salvare i colori
ui_ered=Valore del rosso non valido '$1'
ui_egreen=Valore del verde non valido '$1'
ui_eblue=Valore del blu non valido '$1'

mods_title=Moduli Webmin
mods_desc1=I moduli di Webmin possono essere aggiunti dopo l'installazione utilizzando la maschera qui a destra. I moduli vengono normalmente distribuiti in file con estenzione<tt>.wbm</tt>, ciascuno dei quali contenente uno o pi&ugrave; moduli. Se un modulo &egrave; distribuito in modo da girare solo su di un particolare host, potrebbe risultare impossibile installarlo.
mods_install=Installa Modulo
mods_local=Dal filesystem locale
mods_uploaded=Tramite un file-upload
mods_ftp=Da un indirizzo URL ftp o http 
mods_installok=Installa Module da File
mods_desc2=Se vuoi avere pi&ugrave; di una copia dello stesso modulo in configurazioni differenti, il modulo qui a destra permette di clonare qualunque modulo presente. Il clone avr&agrave; un modulo differente, una nuova configurazione, nuove opzioni per il controllo d'accesso e potr&agrave; essere utilizzato da utenti differenti.
mods_clone=Clona Module
mods_cname=Modulo da clonare
mods_cnew=Nome del modulo clonato
mods_cloneok=Clona Modulo
mods_desc3=I moduli presenti e cloni di moduli possono essere cancellati utilizzando la maschera qui sotto. Se un modulo con cloni &egrave; cancellato anche i rispettivi cloni verranno cancellati. Una volta cancellato, &egrave; necessario ristallare un modulo prima di poterlo utilizzare nuovamente. Un modulo non pu&ograve; essere rimosso se altri moduli dipendono su di esso.
mods_delete=Rimuovi Moduli
mods_deleteok=Rimuovi Moduli Selezionati

install_err1=Impossibile installare il modulo da $1
install_efile=Impossibile trovare il file
install_err2=Impossibile installare il file inviato
install_ebrowser=Il tuo browser non consente il file-upload
install_err3=Impossibile installare il modulo da $1
install_eurl=URL non valido
install_etar=Archivio modulo non valido : $1
install_einfo=Nel modulo $1 non &egrave; presente il file module.info 
install_enone=Il file non sembra contenere alcun modulo
install_eos=Il Modulo $1 non supporta questo sistema operativo ($2 $3)
install_ever=Il Modulo $1 richiede Webmin versione $2 o superiori
install_edep=Il Modulo $1 dipende dal modulo $2
install_eextract=Estrazione fallita : $1
install_title=Installa Modulo
install_desc=I seguenti moduli sono stati installati con successo e aggiunti alla tua lista di controllo accessi :
install_line=$1 in $2 ($3 kB)

clone_err=Impossibile clonare il modulo
clone_elink=symlink fallito : $1
clone_ecopy=impossibile copiare la configurazione : $1
clone_desc=Clone di $1

delete_err=Impossibile rimuovere i moduli
delete_edep=Il Modulo $1 non pu&ograve; essere rimosso, visto che il modulo $2 dipende da esso
delete_desc1=$1 (Clone di $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Rimuovi Moduli
delete_msg=I seguenti moduli sono stati rimossi con successo dalla vostra installazione di Webmin :

os_title=Sistema Operativo
os_desc=Questa maschera ti permette di modificare il sistema operativo che Webmin crede che il tuo sistema utilizzi. Questo pu&ograve; essere utile per chi ha fatto un upgrade ad una nuova versione del sistema operativo. Nota - La configurazione dei moduli installati non verr&agrave; modificata, anche se ci sono differenze tra il nuovo sistema ed il vecchio.
os_desc2=Puoi inoltre modificare il percorso di ricerca utilizzato da webmin quando esegue i programmi, e il percorso delle librerie dinamiche passato ai programmi stessi.
os_header=Sistema Operativo
os_curros=Sistema Operativo attuale
os_currver=Versione corrente del sistema operativo
os_new=Nuovo sistema operativo
os_path=Percorso di ricerca dei programmi
os_ld_path=Percorso di ricerca delle librerie

lang_title=Lingua
lang_title2=Lingua di Webmin
lang_lang=Utilizza la lingua
lang_intro=Questa pagina permette di scegliere quale linguaggio verr&agrave; utilizzato da Webmin per visualizzare titoli, richieste e messaggi.
lang_ok=Modifica Lingua

ssl_title=Crittografia SSL 
ssl_desc1=Sull'host su cui Webmin sta girando sembra essere installato il modulo Perl SSLeay. Utilizzandolo, Webmin supporta la comunicazione crittata tra il tuo browser ed il server. Se stai utilizzando il tuo server Webmin su Internet, dovresti decisamente considerare questa opzione per impedire ad un malintenzionatodi scoprire la tua password per accedere a Webmin. 
ssl_desc2=Attenzione - abilita il supporto SSL solo se il tuo browser lo prevede ( come ad esempio Netscape o IE), e se non &egrave; presente un firewall che impedisce le richieste <b>https</b> tra il tuo browser e l'host Webmin.
ssl_header=Supporto SSL
ssl_enable=Abilita il supporto SSL, se disponibile
ssl_disable=Disabilita il supporto SSL, anche se disponibile

startpage_title=Opzioni Pagina Principale 
startpage_intro=Questa pagina permette di impostare quante icone vuoi visualizzare per ciascuna riga nella pagina principale
startpage_tabs=Categorizza i moduli?
startpage_nocol=Numero di colonne
startpage_alt=Use intestazione alternativa
startpage_ecols='$1' non &egrave; un numero valido di colonne
startpage_gotoone=Vai direttamente al modulo<br>se l'utente ne ha uno solo?

upgrade_title=Aggiorna Webmin
upgrade_desc=Questa maschera ti permette di aggiornare la tua installazione di Webmin con una nuova versione. Puoi installare da un file locale, tramite un file-upload o dall'ultima versione disponibile su <a href="http://www.webmin.com/">www.webmin.com</a>. In modo analogo ad un aggiornamento manuale, tutti i file di configurazione verranno mantenuti intatti.
upgrade_local=Da un file locale
upgrade_uploaded=Tramite un file-upload
upgrade_ftp=Ultima versione da www.webmin.com
upgrade_ok=Aggiorna Webmin
upgrade_err1=Impossibile aggiornare da $1
upgrade_err2=Impossibile aggiornare dal file immesso 
upgrade_err3=Impossibile aggiornare da www.webmin.com
upgrade_efile=Impossibile trovare il file
upgrade_ebrowser=Il tuo browser non supporta i file uploads
upgrade_eversion=Impossibile aggiornare con una versione meno recente $1
upgrade_egunzip=Il programma <tt>gunzip</tt> non &egrave; presente su questo sistema
upgrade_etar=Archivio tar di webmin non valido
upgrade_setup=Eseguo lo script setup.sh per aggiornare Webmin .. Attendere un minuto sino a quando non termina prima di procedere.

ca_title=Certificate Authority
ca_old=Certificato esistente
ca_header1=Crea un nuovo certificato CA 
ca_header2=Modifica certificato CA 
ca_newmsg1=Il tuo server Webmin &egrave; gi&a; predisposto come CA. Puoi utilizzare questa maschera per impostarlo nuovamente, ma i certificati gi&agrave; emessi cesseranno di funzionare.
ca_newmsg2=Questa maschera dovrebbe essere utilizzata per impostare il tuo server Webmin come una certificate authority (CA) in modo da consentire agli utenti di richiedere certificati in <tt>Utenti Webmin</tt> per essere identificati dal server senza doversi registrare.
ca_cn=Nome Authority
ca_email=Indirizzo Email
ca_ou=Divisione
ca_o=Organizzazione
ca_sp=Stato
ca_c=Codice Paese
ca_create=Imposta certificate authority
ca_oldmsg1=Il certificato CA che questo server sta utilizzando &egrave; visualizzato qui sotto. Lo puoi modificare incollando un certificato emesso da un'altra CA,ma ogni certificato gi&agrave; emesso agli utenti cesser&agrave; di funzionare.
ca_oldmsg2=Se hai gi&agrave; impostato una CA su un altro server Webmin, puoi incollare il certificato qui sotto, senza dover reimpostare una nuova CA. In questo modo consentirai agli utenti riconosciuti dall'altro server di essere riconosciuti anche da questo.
ca_err=Impossibile impostare la certificate authority
ca_setupok=La tua certificate authority &egrave; stata configurata con successo. Gli utenti potranno utilizzare il modulo <tt>Utenti Webmin</tt> per richiedere un certificato.
ca_stop=Ferma certificate authority
ca_stopmsg=Clicca questo pulsante per impedire a Webmin di accettare certificati esistenti o crearne di nuovi. Ci&ograve; forzer&agrave; gli utenti ad utilizzare il metodo di autenticazione basato su nome e password.
ca_stopok=La tua certificate authority &egrave; stata fermata.
ca_eminiserv=SSL client certificates sono supportati solo con miniserv.
ca_eversion=La versione di Perl Net::SSLeay installata non supporta gli SSL client certificates.
ca_essleay=Il comando di amministrazione SSL  $1 non &egrave; stato trovato sul tuo sistema. Potresti dover modificare il percorso nella configurazione Utenti Webmin.
ca_essl=La certificazione SSL pu&ograve; essere impostata solo quando il webserver gira in modalit&agrave; SSL.

  070701000077c9000081a40000000000000002000000013d1fe2cb00004cec000000200000000000000000000000000000001c00000003reloc/webmin/lang/ja_JP.euc   index_title=Webmin ÀßÄê
index_return=Webmin ÀßÄê

access_title=IP ¥¢¥É¥ì¥¹¤Î¥¢¥¯¥»¥¹À©¸æ
access_desc=ÆÃÄê¤Î IP ¥¢¥É¥ì¥¹¤«¤é¤Î¤ß¥¢¥¯¥»¥¹¤òµñÈÝ¤Þ¤¿¤Ïµö²Ä¤¹¤ë¤è¤¦¤Ë Webmin ¥µ¡¼¥Ð¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¥Û¥¹¥ÈÌ¾ (Îã:foo.bar.com) ¤È IP ¥Í¥Ã¥È¥ï¡¼¥¯ (Îã:10.254.3.0 ¤Þ¤¿¤Ï 10.254.1.0/255.255.255.128) ¤âÆþÎÏ¤Ç¤­¤Þ¤¹¡£¤´»ÈÍÑ¤Î¥µ¡¼¥Ð¤Ø¤Î¥¢¥¯¥»¥¹¤Ï¿®Ç¤ ¥¢¥É¥ì¥¹¤Ë¸ÂÄê¤·¤Æ¤¯¤À¤µ¤¤¡£ÆÃ¤Ë¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤«¤é¥¢¥¯¥»¥¹¤Ç¤­¤ë¾ì¹ç¤Ë¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤ëÁê¼ê¤ò¸ÂÄê¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤·¤Ê¤¤¤È¡¢¤´»ÈÍÑ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÂ¾¿Í¤¬¿äÂ¬¤·¤Æ»ÈÍÑ¤·¡¢¥·¥¹¥Æ¥à¤ò¥³¥ó¥È¥í¡¼¥ë¤µ¤ì¤Æ¤·¤Þ¤¦´í¸±¤¬¤¢¤ê¤Þ¤¹¡£
access_header=¥¢¥¯¥»¥¹À©¸æ
access_all=¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¤«¤é¤Î¥¢¥¯¥»¥¹¤òµö²Ä
access_allow=¥ê¥¹¥È¤µ¤ì¤¿¥¢¥É¥ì¥¹¤«¤é¤Î¤ßµö²Ä
access_deny=¥ê¥¹¥È¤µ¤ì¤¿¥¢¥É¥ì¥¹¤«¤é¤Î¥¢¥¯¥»¥¹¤òµñÈÝ
access_err=¥¢¥¯¥»¥¹ ¥ê¥¹¥È¤ò¹¹¿·¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
access_enone=¥¢¥É¥ì¥¹¤¬ÆþÎÏ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
access_enet='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¹
access_emask='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥Þ¥¹¥¯¤Ç¤¹
access_eip='$1' ¤ÏÉÔ´°Á´¤Ê IP ¤Þ¤¿¤Ï¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¹
access_ehost='$1' ¤Î IP ¥¢¥É¥ì¥¹¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿
access_eself=¸½ºß¤Î IP ¥¢¥É¥ì¥¹ ($1) ¤ÏµñÈÝ¤µ¤ì¤Þ¤¹

bind_title=¥Ý¡¼¥È¤È¥¢¥É¥ì¥¹
bind_desc=Webmin ¤ò¼Â¹ÔÃæ¤Î¥Û¥¹¥È¤¬Ê£¿ô¤Î¥¢¥É¥ì¥¹¤ò»ý¤Ä¾ì¹ç¤Ï¡¢¥µ¡¼¥Ð¤Ï¤³¤³¤ÇÀßÄê¤·¤¿¥¢¥É¥ì¥¹ 1 ¤Ä¤Î¤ß¤ò¥ê¥Ã¥¹¥ó¤¹¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£¤³¤³¤Ç¤Ï Webmin ¤¬¥ê¥Ã¥¹¥ó¤¹¤ë TCP ¥Ý¡¼¥È¤Î¤ß¤òÀßÄê¤Ç¤­¤Þ¤¹¡£Ãí°Õ - ¥Ý¡¼¥È¤Þ¤¿¤Ï¥Ð¥¤¥ó¥É¤¹¤ë¥¢¥É¥ì¥¹¤òÊÑ¹¹¸å¤Ë¡¢¤´»ÈÍÑ¤Î Web ¥Ö¥é¥¦¥¶¤¬ºÆÅÙ¥í¥°¥¤¥ó¤òµá¤á¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
bind_header=IP ¥¢¥É¥ì¥¹¤È¥Ý¡¼¥È
bind_ip=¥ê¥Ã¥¹¥óÂÐ¾Ý¤Î IP ¥¢¥É¥ì¥¹
bind_all=¤¹¤Ù¤Æ
bind_port=¥ê¥Ã¥¹¥óÂÐ¾Ý¤Î¥Ý¡¼¥È
bind_err=¥¢¥É¥ì¥¹¤òÊÑ¹¹¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
bind_eip='$1' ¤Î IP ¥¢¥É¥ì¥¹¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
bind_eassign=¥¢¥É¥ì¥¹ '$1' ¤Ï¤³¤Î¥·¥¹¥Æ¥à¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó
bind_eport=¥Ý¡¼¥È $1 ¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹

log_title=¥í¥°
log_desc=Web ¥µ¡¼¥Ð¤¬¥Ò¥Ã¥È¤¹¤ë¥í¥°¤òÉ¸½à CLF ¥í¥° ¥Õ¥¡¥¤¥ë·Á¼°¤Ç½ñ¤­¹þ¤à¤è¤¦¤Ë Webmin ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£¥í¥°¤¬Í­¸ú¤Ê¾ì¹ç¤Ï¡¢IP ¥¢¥É¥ì¥¹¤Þ¤¿¤Ï¥Û¥¹¥ÈÌ¾¤Î¤É¤Á¤é¤«¤òµ­Ï¿¤¹¤ë¤«¤È¤¤¤¦¤³¤È¤È¡¢¥í¥° ¥Õ¥¡¥¤¥ë¤¬¥¯¥ê¥¢¤µ¤ì¤ëÉÑÅÙ¤òÁªÂò¤Ç¤­¤Þ¤¹¡£Í­¸ú¤Ê¾ì¹ç¤Ë¡¢¥í¥°¤Ï¥Õ¥¡¥¤¥ë $1 ¤Ë½ñ¤­¹þ¤Þ¤ì¤Þ¤¹¡£
log_desc2=¥í¥°¤¬Í­¸ú¤Ê¾ì¹ç¡¢Webmin ¤Ï¤è¤ê¾ÜºÙ¤Ê¥æ¡¼¥¶ ¥¢¥¯¥·¥ç¥ó¤Î¥í¥°¤ò¥Õ¥¡¥¤¥ë $1 ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£¤³¤Î¥í¥°¤Ï¡¢Webmin ¥¢¥¯¥·¥ç¥ó¥í¥°¥â¥¸¥å¡¼¥ë¤ÇÉ½¼¨¤Ç¤­¡¢³Æ Webmin ¥æ¡¼¥¶¤¬¹Ô¤Ã¤¿Áàºî¤ò¸«¤ÆÊ¬ÀÏ¤Ç¤­¤Þ¤¹¡£
log_header=Web ¥µ¡¼¥Ð ¥í¥°
log_disable=¥í¥°¤ÎÌµ¸ú
log_enable=¥í¥°¤ÎÍ­¸ú
log_resolv=²ò·è¤·¤¿¥Û¥¹¥ÈÌ¾¤Î¥í¥°
log_clear=¥í¥° ¥Õ¥¡¥¤¥ë¤ò $1 »þ´Ö¤´¤È¤Ë¥¯¥ê¥¢
log_uall=¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥·¥ç¥ó¤ò¥í¥°
log_users=¼¡¤Î¥æ¡¼¥¶¤Î¥¢¥¯¥·¥ç¥ó¤Î¤ß¤ò¥í¥° ..
log_mall=¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò¥í¥°
log_modules=¼¡¤Î¥â¥¸¥å¡¼¥ë¤Î¥¢¥¯¥·¥ç¥ó¤Î¤ß¤ò¥í¥° ..
log_files=³Æ¥¢¥¯¥·¥ç¥ó¤Ç¤Î¥Õ¥¡¥¤¥ë¤Ø¤ÎÊÑ¹¹¤ò¥í¥°
log_err=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
log_ehours='$1'¤ÏÌµ¸ú¤Ê»þ´Ö¤Ç¤¹
log_ediff=¥í¥° ¥Õ¥¡¥¤¥ë¤ÎÊÑ¹¹¤ËÉ¬Í×¤Ê¥³¥Þ¥ó¥É $1 ¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó

proxy_title=¥×¥í¥­¥· ¥µ¡¼¥Ð
proxy_desc=Webmin ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¥Û¥¹¥È¤¬¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤Î¸å¤íÂ¦¤Ë¤¢¤ë¾ì¹ç¤Ï¡¢Web ¤È FTP ¥µ¥¤¥È¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë»ÈÍÑ¤¹¤ë¥×¥í¥­¥· ¥µ¡¼¥Ð¤òÀßÄê¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£ÆÃÄê¤Î¥â¥¸¥å¡¼¥ë¡¢¤¿¤È¤¨¤Ð<tt>¥½¥Õ¥È¥¦¥§¥¢ ¥Ñ¥Ã¥±¡¼¥¸</tt>¤Ï¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥×¥í¥°¥é¥à¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤È¤­¤Ë¤³¤ì¤é¤Î¥×¥í¥­¥· ¥µ¡¼¥Ð¤ò»ÈÍÑ¤·¤Þ¤¹¡£
proxy_header=¥×¥í¥­¥· ¥µ¡¼¥Ð
proxy_http=HTTP ¥×¥í¥­¥·
proxy_ftp=FTP ¥×¥í¥­¥·
proxy_none=¤Ê¤·
proxy_nofor=¥×¥í¥­¥·¤Ê¤·
proxy_user=¥×¥í¥­¥·¤Î¥æ¡¼¥¶Ì¾
proxy_pass=¥×¥í¥­¥·¤Î¥Ñ¥¹¥ï¡¼¥É
proxy_err=¥×¥í¥­¥· ¥µ¡¼¥Ð¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
proxy_ehttp=HTTP ¥×¥í¥­¥· ¥µ¡¼¥Ð¤Ï URL ¤È¤·¤ÆÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
proxy_eftp=FTP ¥×¥í¥­¥· ¥µ¡¼¥Ð¤Ï URL ¤È¤·¤ÆÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹

ui_title=¥æ¡¼¥¶ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹
ui_desc=¤³¤³¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î¥â¥¸¥å¡¼¥ë¤Ç»ÈÍÑ¤¹¤ë¥æ¡¼¥¶ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤Ç¤­¤Þ¤¹¡£¥«¥é¡¼¤òÆþÎÏ¤¹¤ë¾ì¹ç¤Ï¡¢³ÆÃÍ¤¬00 ¤«¤é ff ¤Î 16 ¿Ê¿ô¤Ç¤¢¤ëÉ¸½à RGB ¥·¥¹¥Æ¥à¤ò»ÈÍÑ¤·¤Æ»ØÄê¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£ 
ui_header=¥æ¡¼¥¶ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥ª¥×¥·¥ç¥ó
ui_default=¥Ç¥Õ¥©¥ë¥È
cs_page=¥Ú¡¼¥¸¤ÎÇØ·Ê
cs_text=É¸½à¥Æ¥­¥¹¥È
cs_table=¥Æ¡¼¥Ö¥ë¤ÎÇØ·Ê
cs_header=¥Æ¡¼¥Ö¥ë¤Î¥Ø¥Ã¥À
cs_link=¥ê¥ó¥¯ ¥Æ¥­¥¹¥È
ui_texttitles=¥¿¥¤¥È¥ë¤ò¥Æ¥­¥¹¥È¤È¤·¤ÆÉ½¼¨¤·¤Þ¤¹¤«¡©
ui_sysinfo=¥í¥°¥¤¥ó¤È¥Û¥¹¥ÈÌ¾¤òÉ½¼¨
ui_sysinfo0=¥Ö¥é¥¦¥¶¤Î²¼Éô¤ËÉ½¼¨
ui_sysinfo1=¥Ö¥é¥¦¥¶¤Î¥¿¥¤¥È¥ë¤ËÉ½¼¨
ui_sysinfo2=¥Ú¡¼¥¸ ¥Ø¥Ã¥À¤Î¾å
ui_err=¥«¥é¡¼¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ui_ered='$1' ¤ÎÀÖ¤ÎÃÍ¤¬Ìµ¸ú¤Ç¤¹
ui_egreen='$1' ¤ÎÎÐ¤ÎÃÍ¤¬Ìµ¸ú¤Ç¤¹
ui_eblue='$1' ¤ÎÀÄ¤ÎÃÍ¤¬Ìµ¸ú¤Ç¤¹

mods_title=Webmin ¥â¥¸¥å¡¼¥ë
mods_desc1=±¦¤Î¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤¹¤ë¤È¡¢¥¤¥ó¥¹¥È¡¼¥ë¸å¤Ë Webmin ¥â¥¸¥å¡¼¥ë¤òÄÉ²Ã¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ÄÌ¾ï¡¢¥â¥¸¥å¡¼¥ë¤Ï<tt>.wbm</tt> ¥Õ¥¡¥¤¥ë¤ÇÇÛÉÛ¤µ¤ì¡¢³Æ¥Õ¥¡¥¤¥ë¤Ë 1 ¤Ä°Ê¾å¤Î¥â¥¸¥å¡¼¥ë¤ò´Þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤´»ÈÍÑ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤¬ RPM ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢RPM ¥Õ¥¡¥¤¥ë¤«¤é¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
mods_install=¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë
mods_local=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤«¤é
mods_uploaded=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é
mods_ftp=FTP ¤Þ¤¿¤Ïhttp URL ¤«¤é
mods_installok=¥Õ¥¡¥¤¥ë¤«¤é¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë
mods_desc2=Æ±°ì¤Î¥â¥¸¥å¡¼¥ë¤Î1 ¤Ä°Ê¾å¤Î¥³¥Ô¡¼¤òÊÌ¤ÎÀßÄê¤ÇºîÀ®¤·¤¿¤¤¾ì¹ç¤Ï¡¢±¦Â¦¤Î¥Ü¥Ã¥¯¥¹¤Ç´ûÂ¸¤Î¥â¥¸¥å¡¼¥ë¤ò¥¯¥í¡¼¥ó¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥¯¥í¡¼¥ó¤Ï¿·µ¬¤ÎÌ¾Á°¡¢¿·µ¬¤Î¥â¥¸¥å¡¼¥ëÀßÄê¡¢¿·µ¬¤Î¥¢¥¯¥»¥¹À©¸æ¥ª¥×¥·¥ç¥ó¤ò»ý¤Á¡¢ÊÌ¤Î¥æ¡¼¥¶ÍÑ¤ËºîÀ®¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
mods_clone=¥â¥¸¥å¡¼¥ë¤Î¥¯¥í¡¼¥ó
mods_cname=¥¯¥í¡¼¥ó¤¹¤ë¥â¥¸¥å¡¼¥ë
mods_cnew=¥¯¥í¡¼¥ó¤µ¤ì¤¿¥â¥¸¥å¡¼¥ëÌ¾
mods_cloneok=¥â¥¸¥å¡¼¥ë¤ò¥¯¥í¡¼¥ó
mods_desc3=²¼¤Î¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ´ûÂ¸¤Î¥â¥¸¥å¡¼¥ë¤ª¤è¤Ó¥â¥¸¥å¡¼¥ë¤Î¥¯¥í¡¼¥ó¤òºï½ü¤Ç¤­¤Þ¤¹¡£¥¯¥í¡¼¥ó¤¬¤¢¤ë¥â¥¸¥å¡¼¥ë¤¬ºï½ü¤µ¤ì¤¿¾ì¹ç¤Ï¡¢¤½¤ì¤é¤Î¥¯¥í¡¼¥ó¤â½üµî¤µ¤ì¤Þ¤¹¡£¥â¥¸¥å¡¼¥ë¤òºï½ü¤·¤¿¤é¡¢¤½¤ì¤òºÆÅÙ»ÈÍÑ¤¹¤ëÁ°¤ËºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£Â¾¤Î¥â¥¸¥å¡¼¥ë¤¬°ÍÂ¸¤·¤Æ¤¤¤ë¥â¥¸¥å¡¼¥ë¤Ïºï½ü¤Ç¤­¤Þ¤»¤ó¡£
mods_delete=¥â¥¸¥å¡¼¥ë¤Îºï½ü
mods_deleteok=ÁªÂò¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤òºï½ü

install_err1=$1 ¤«¤é¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
install_efile=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
install_err2=¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
install_ebrowser=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
install_err3=$1 ¤«¤é¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
install_eurl=Ìµ¸ú¤Ê URL
install_etar=¥â¥¸¥å¡¼¥ë ¥Õ¥¡¥¤¥ë¤ÏÌµ¸ú¤Ç¤¹: $1
install_einfo=¥â¥¸¥å¡¼¥ë $1 ¤Ë¤Ï¥â¥¸¥å¡¼¥ë¾ðÊó¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
install_enone=¥Õ¥¡¥¤¥ë¤Ï¥â¥¸¥å¡¼¥ë¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹
install_eos=¥â¥¸¥å¡¼¥ë $1 ¤Ï¤³¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à($2 $3) ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
install_ever=¥â¥¸¥å¡¼¥ë $1 ¤Ï Webmin ¥Ð¡¼¥¸¥ç¥ó $2 °Ê¹ß¤òÉ¬Í×¤È¤·¤Þ¤¹
install_edep=¥â¥¸¥å¡¼¥ë $1 ¤Ï¥â¥¸¥å¡¼¥ë $2 ¤òÉ¬Í×¤È¤·¤Þ¤¹
install_eextract=Ãê½Ð¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
install_title=¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë
install_desc=¼¡¤Î¥â¥¸¥å¡¼¥ë¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò´°Î»¤·¥¢¥¯¥»¥¹À©¸æ¥ê¥¹¥È¤ËÄÉ²Ã¤·¤Þ¤·¤¿:
install_line=$1 ($2 Æâ) ($3 KB)
install_ecomp=¥Õ¥¡¥¤¥ë¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à¤Ë $1 ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
install_ecomp2=¥Õ¥¡¥¤¥ë¤ò²òÅà¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
install_egzip=¥Õ¥¡¥¤¥ë¤Ï gzip ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à¤Ë $1 ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
install_egzip2=¥Õ¥¡¥¤¥ë¤ò gunzip ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
install_erpm=Webmin ¥â¥¸¥å¡¼¥ë RPM ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
install_eirpm=RPM ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: $1

clone_err=¥â¥¸¥å¡¼¥ë¤ò¥¯¥í¡¼¥ó¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
clone_elink=symlink ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $1
clone_ecopy=config ¤ò¥³¥Ô¡¼¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
clone_desc=$1 ¤Î¥¯¥í¡¼¥ó

delete_err=¥â¥¸¥å¡¼¥ë¤òºï½ü¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
delete_edep=¥â¥¸¥å¡¼¥ë $1 ¤Ï $2 ¤¬°ÍÂ¸¤·¤Æ¤¤¤ë¤¿¤áºï½ü¤Ç¤­¤Þ¤»¤ó¡£
delete_desc1=$1 ($2 ¤Î¥¯¥í¡¼¥ó)
delete_desc2=$1 ($2 Æâ) ($3 KB)
delete_title=¥â¥¸¥å¡¼¥ë¤Îºï½ü
delete_msg=¼¡¤Î¥â¥¸¥å¡¼¥ë¤ò Webmin ¥¤¥ó¥¹¥È¡¼¥ë¤«¤éºï½ü¤·¤Þ¤·¤¿:
delete_rusure=¥â¥¸¥å¡¼¥ë $2 ¤òºï½ü¤·¤Æ¤â¤è¤í¤·¤¤¤Ç¤¹¤«?$1 KB¤Î¥Õ¥¡¥¤¥ë ¤¬±Êµ×¤Ëºï½ü¤µ¤ì¤Þ¤¹¡£

os_title=¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
os_desc=¤³¤³¤Ç¤Ï Webmin ¤¬¥·¥¹¥Æ¥à¤ò½èÍý¤¹¤ë¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤òÊÑ¹¹¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ï¡¢¤´»ÈÍÑ¤Î¥Þ¥·¥ó¤ò¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤Î¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤¿¤È¤­¤ËÊØÍø¤Ç¤¹¡£Á°¤Î¥·¥¹¥Æ¥à¤È¿·¤·¤¤¥·¥¹¥Æ¥à¤¬°ã¤Ã¤Æ¤¤¤Æ¤â¡¢¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥â¥¸¥å¡¼¥ë¤ÎÀßÄê¤ÏÊÑ¹¹¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
os_desc2=¥×¥í¥°¥é¥à¤ò¼Â¹ÔÃæ¤Ï Webmin ¤¬»ÈÍÑ¤¹¤ë¸¡º÷¥Ñ¥¹¤ÈÇ¤°Õ¤Î¥×¥í¥°¥é¥à¤Ø¤Î¶¦Í­¥é¥¤¥Ö¥é¥ê ¥Ñ¥¹¤òÊÑ¹¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
os_header=¥Û¥¹¥È¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
os_curros=¸½ºß¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
os_currver=¸½ºß¤Î OS ¥Ð¡¼¥¸¥ç¥ó
os_new=¿·µ¬¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à
os_path=¥×¥í¥°¥é¥à¤Î¸¡º÷¥Ñ¥¹
os_ld_path=¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹

lang_title=¸À¸ì
lang_title2=Webmin ¸À¸ì
lang_lang=¸À¸ì¤ÇÉ½¼¨
lang_intro=¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢¥¿¥¤¥È¥ë¡¢¥×¥í¥ó¥×¥È¡¢¤ª¤è¤Ó¥á¥Ã¥»¡¼¥¸¤òÉ½¼¨¤¹¤ë¤Î¤Ë Webmin ¤¬»ÈÍÑ¤¹¤ë¸À¸ì¤òÁªÂò¤Ç¤­¤Þ¤¹¡£
lang_ok=¸À¸ì¤ÎÊÑ¹¹

ssl_title=SSL °Å¹æ²½
ssl_desc1=Webmin ¤ò¼Â¹ÔÃæ¤Î¥Û¥¹¥È¤Ë¤Ï SSLeay Perl ¥â¥¸¥å¡¼¥ë¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤È»×¤ï¤ì¤Þ¤¹¡£¤³¤ì¤ò»ÈÍÑ¤·¤Æ¡¢Webmin ¤Ï¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤È¥µ¡¼¥Ð´Ö¤Ç¤Î SSL °Å¹æ²½¤µ¤ì¤¿¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥È¾å¤Ç Webmin ¥µ¡¼¥Ð¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤´»ÈÍÑ¤Î Webmin ¥Ñ¥¹¥ï¡¼¥É¤¬²¿¼Ô¤«¤Ë»ÈÍÑ¤µ¤ì¤ë¤³¤È¤òËÉ¤°¤¿¤á¤Ë SSL ¤ò»ÈÍÑ¤¹¤ë¤³¤È¤ò¹ÍÎ¸¤¹¤Ù¤­¤Ç¤¹¡£
ssl_desc2=·Ù¹ð - SSL ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥Ö¥é¥¦¥¶ (Netscape ¤Þ¤¿¤Ï IE ¤Ê¤É) ¤ò»ý¤Á¡¢¥Ö¥é¥¦¥¶¤È Webmin ¥Û¥¹¥È¤Î´Ö¤Ë¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ò¥Ö¥í¥Ã¥¯¤¹¤ë<b>https</b> Í×ÀÁ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Î¤ß SSL ¤ò¥ª¥ó¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
ssl_header=SSL ¥µ¥Ý¡¼¥È
ssl_enable=SSL ¥µ¥Ý¡¼¥È¤¬¤¢¤ë¾ì¹ç¤Ï¤½¤ì¤òÍ­¸ú¤Ë¤¹¤ë
ssl_disable=SSL ¥µ¥Ý¡¼¥È¤¬¤¢¤ë¾ì¹ç¤â¤½¤ì¤òÌµ¸ú¤Ë¤¹¤ë

startpage_title=¥¤¥ó¥Ç¥Ã¥¯¥¹ ¥Ú¡¼¥¸ ¥ª¥×¥·¥ç¥ó
startpage_intro=¤³¤Î¥Ú¡¼¥¸¤Ï¡¢¥¤¥ó¥Ç¥Ã¥¯¥¹ ¥Ú¡¼¥¸¤Î³Æ¹Ô¤¬»ý¤Ä¥¢¥¤¥³¥ó¤Î¿ô¤òÄêµÁ¤·¤Þ¤¹
startpage_tabs=¥â¥¸¥å¡¼¥ë¤òÊ¬Îà¤·¤Þ¤¹¤«¡©
startpage_nocol=Îó¿ô
startpage_alt=ÂåÂØ¥Ø¥Ã¥À¤ò»ÈÍÑ
startpage_ecols='$1'¤ÏÌµ¸ú¤ÊÎó¿ô¤Ç¤¹
startpage_gotoone=¥æ¡¼¥¶¤¬1¤Ä¤À¤±»ý¤Ä¾ì¹ç<br>¥â¥¸¥å¡¼¥ë¤ËÄ¾ÀÜ¥¸¥ã¥ó¥×¤·¤Þ¤¹¤«¡©
startpage_deftab=¥Ç¥Õ¥©¥ë¥È¤Î¥«¥Æ¥´¥ê¡¼

upgrade_title=Webmin ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
upgrade_desc=¤³¤Î²èÌÌ¤Ç¤Ï¡¢¤´»ÈÍÑ¤Î Webmin ¥¤¥ó¥¹¥È¡¼¥ëÁ´ÂÎ¤ò¿·µ¬¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤¹¡£¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¡¢¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¡¢¤Þ¤¿¤ÏºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ò <a href=http://www.webmin.com/>www.webmin.com</a>¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£¼êÆ°¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î config ÀßÄê¤ÈÂè»°¼Ô¥â¥¸¥å¡¼¥ë¤¬ÊÝÂ¸¤µ¤ì¤Þ¤¹¡£
upgrade_descrpm=¤³¤ì¤Ï¡¢¤´»ÈÍÑ¤Î Webmin ¥¤¥ó¥¹¥È¡¼¥ëÁ´ÂÎ¤ò RPM ¥¢¥Ã¥×¥°¥ì¡¼¥É ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ¤·¤¿¿·µ¬¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¡¢¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¡¢¤Þ¤¿¤ÏºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ò <a href=http://www.webmin.com/>www.webmin.com</a>. ¼êÆ°¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î config ÀßÄê¤ÈÂè»°¼Ô¥â¥¸¥å¡¼¥ë¤¬ÊÝÂ¸¤µ¤ì¤Þ¤¹¡£
upgrade_desccaldera=¤³¤ì¤Ï¡¢¤´»ÈÍÑ¤Î Webmin ¥¤¥ó¥¹¥È¡¼¥ëÁ´ÂÎ¤ò RPM ¥¢¥Ã¥×¥°¥ì¡¼¥É ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ¤·¤¿¿·µ¬¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¡¢¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤ÏºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ò Caldera ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
upgrade_descsolaris-pkg=¤³¤Î²èÌÌ¤Ç¤Ï¡¢¸½ºß¤Î Solaris ¥Ñ¥Ã¥±¡¼¥¸¤òºï½ü¤·¤Æ¿·¤·¤¤¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¡¢¤´»ÈÍÑ¤Î Webmin ¥¤¥ó¥¹¥È¡¼¥ëÁ´ÂÎ¤ò¿·µ¬¥Ð¡¼¥¸¥ç¥ó¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¥í¡¼¥«¥ë Solaris ¥Ñ¥Ã¥±¡¼¥¸ ¥Õ¥¡¥¤¥ë¡¢¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤ÏºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤ò <a href=http://www.webmin.com/>www.webmin.com</a>¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£¼êÆ°¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤Ï¡¢¤¹¤Ù¤Æ¤Î config ÀßÄê¤ÈÂè»°¼Ô¥â¥¸¥å¡¼¥ë¤¬ÊÝÂ¸¤µ¤ì¤Þ¤¹¡£
upgrade_local=¥í¡¼¥«¥ë ¥Õ¥¡¥¤¥ë¤«¤é
upgrade_uploaded=¥¢¥Ã¥×¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤«¤é
upgrade_ftp=www.webmin.com ¤«¤é¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó
upgrade_cup=Caldera ¤Î<tt>cupdate</tt> ¥Ä¡¼¥ë¤«¤é¤ÎºÇ¿·¥Ð¡¼¥¸¥ç¥ó
upgrade_ok=Webmin ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É
upgrade_err1=$1 ¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
upgrade_err2=¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
upgrade_err3=www.webmin.com ¤«¤é¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
upgrade_efile=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
upgrade_ebrowser=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
upgrade_eversion=¥Ð¡¼¥¸¥ç¥ó $1 ¤Ë¥À¥¦¥ó¥°¥ì¡¼¥É¤Ç¤­¤Þ¤»¤ó
upgrade_erpm=Ìµ¸ú¤Ê Webmin RPM ¥Õ¥¡¥¤¥ë¤Ç¤¹
upgrade_egunzip=¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¤Ï<tt>gunzip</tt> ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
upgrade_etar=Ìµ¸ú¤Ê Webmin tar ¥Õ¥¡¥¤¥ë¤Ç¤¹
upgrade_emod=¥Õ¥¡¥¤¥ë¤Ï Webmin ¥â¥¸¥å¡¼¥ë¤Ç¡¢´°Á´¤Ê Webmin ¥¢¥Ã¥×¥°¥ì¡¼¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï<a href='$1'>Webmin ¥â¥¸¥å¡¼¥ë</a> ¥Ú¡¼¥¸¤ò»ÈÍÑ¤Ç¤­¤Þ¤¹¡£
upgrade_setup=setup.sh ¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤·¤Æ Webmin ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥ÉÃæ..Â³¹Ô¤¹¤ë¤Ë¤Ï¤³¤Îºî¶È¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£
upgrade_setuprpm=RPM ¤ò¼Â¹Ô¤·¤Æ Webmin ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥ÉÃæ..Â³¹Ô¤¹¤ë¤Ë¤Ï¤³¤Îºî¶È¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£
upgrade_setuppackage=pkgadd ¤ò¼Â¹Ô¤·¤Æ Webmin ¤ò¥¢¥Ã¥×¥°¥ì¡¼¥ÉÃæ..Â³¹Ô¤¹¤ë¤Ë¤Ï¤³¤Îºî¶È¤¬½ªÎ»¤¹¤ë¤Þ¤Ç¤ªÂÔ¤Á¤¯¤À¤µ¤¤¡£
upgrade_esolaris=Webmin ¤Î¥¢¥Ã¥×¥°¥ì¡¼¥Éµ¡Ç½¤Ï¡¢ Solaris ¥Ñ¥Ã¥±¡¼¥¸¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï¸½ºßÆ°ºî¤·¤Þ¤»¤ó¡£Âå¤ï¤ê¤Ë¼êÆ°¤Ç¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
upgrade_ecaldera=RPM ¥Õ¥¡¥¤¥ë¤Ï Webmin ¤Î Caldera ¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹¡£.

ca_title=Ç§¾Ú¶É
ca_old=´ûÂ¸¤ÎÇ§¾Ú
ca_header1=¿·µ¬¤Î CA Ç§¾Ú
ca_header2=CA Ç§¾Ú¤ÎÊÔ½¸
ca_newmsg1=¤´»ÈÍÑ¤Î Webmin ¥µ¡¼¥Ð¤Ï¤¹¤Ç¤Ë CA Ç§¾Ú¤È¤·¤ÆÀßÄê¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤ÇºÆÅÙÀßÄê¤Ç¤­¤Þ¤¹¤¬¡¢¥æ¡¼¥¶¤Ë¤¹¤Ç¤ËÈ¯¹Ô¤µ¤ì¤¿Ç§¾Ú¤Ï»ÈÍÑ¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
ca_newmsg2=¤³¤³¤Ç¤´»ÈÍÑ¤Î Webmin ¥µ¡¼¥Ð¤òÇ§¾Ú¶É (CA) ¤È¤·¤ÆÀßÄê¤¹¤ë¤È¡¢¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤»¤º¤Ë¥µ¡¼¥Ð¤¬¥æ¡¼¥¶¤ò¼±ÊÌ¤Ç¤­¤ë¤è¤¦¤ËWebmin ¥æ¡¼¥¶¤ÇÇ§¾Ú¤òÍ×ÀÁ¤Ç¤­¤Þ¤¹¡£
ca_cn=Ç§¾Ú¶ÉÌ¾
ca_email=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
ca_ou=ÉôÌç
ca_o=ÁÈ¿¥
ca_sp=½£
ca_c=¹ñ¥³¡¼¥É
ca_create=Ç§¾Ú¶É¤Î¥»¥Ã¥È¥¢¥Ã¥×
ca_oldmsg1=¤³¤Î¥µ¡¼¥Ð¤¬»ÈÍÑ¤·¤Æ¤¤¤ë CA Ç§¾Ú¤Ï²¼¤ËÉ½¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ÊÌ¤Î CA ¤«¤éÇ§¾Ú¤ò¥Ú¡¼¥¹¥È¤·¤ÆÊÑ¹¹¤Ç¤­¤Þ¤¹¤¬¡¢¥æ¡¼¥¶¤Ë¤¹¤Ç¤ËÈ¯¹Ô¤µ¤ì¤¿Ç§¾Ú¤Ï»ÈÍÑ¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
ca_oldmsg2=ÊÌ¤Î Webmin ¥µ¡¼¥Ð¤Ë¤¹¤Ç¤Ë CA ¤¬ÀßÄê¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¿·µ¬¤Î CA ¤òÀßÄê¤¹¤ëÂå¤ï¤ê¤Ë²¼¤Ë¤½¤ÎÇ§¾Ú¤ò¥Ú¡¼¥¹¥È¤Ç¤­¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¤³¤Î¥µ¡¼¥Ð¤¬Â¾¤Î¥µ¡¼¥Ð¤«¤é¤Î¥æ¡¼¥¶¤ò¼±ÊÌ¤Ç¤­¤Þ¤¹¡£
ca_err=Ç§¾Ú¶É¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
ca_setupok=Ç§¾Ú¶É¤ÎÀßÄê¤ò´°Î»¤·¤Þ¤·¤¿¡£¥æ¡¼¥¶¤Ï Webmin ¥æ¡¼¥¶ ¥â¥¸¥å¡¼¥ë¤ò»ÈÍÑ¤·¤Æ¼«Ê¬ÍÑ¤ÎÇ§¾Ú¤òÍ×ÀÁ¤Ç¤­¤Þ¤¹¡£
ca_stop=Ç§¾Ú¶É¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó
ca_stopmsg=Webmin ¤¬´ûÂ¸¤ÎÇ§¾Ú¤ò¼õ¤±Æþ¤ì¤¿¤ê¿·µ¬¤ÎÇ§¾Ú¤òÈ¯¹Ô¤¹¤ë¤Î¤òÄä»ß¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢Âå¤ï¤ê¤Ë¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥ÉÇ§¾Ú¤ò»ÈÍÑ¤¹¤ë¤³¤È¤ò¥æ¡¼¥¶¤Ë¶¯À©¤·¤Þ¤¹¡£
ca_stopok=Ç§¾Ú¶É¤Î¥·¥ã¥Ã¥È¥À¥¦¥ó¤ò´°Î»¤·¤Þ¤·¤¿¡£
ca_eminiserv=SSL ¥¯¥é¥¤¥¢¥ó¥ÈÇ§¾Ú¤Ï miniserv ¤Î¸µ¤Ç¤Î¤ß¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹¡£
ca_eversion=¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë Perl Net::SSLeay ¥â¥¸¥å¡¼¥ë¤Ï SSL ¥¯¥é¥¤¥¢¥ó¥ÈÇ§¾Ú¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó¡£
ca_essleay=SSL ´ÉÍý¥³¥Þ¥ó¥É $1¤¬¥·¥¹¥Æ¥à¤Ë¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£Webmin ¥æ¡¼¥¶ ¥â¥¸¥å¡¼¥ëÀßÄê¤Ç¥Ñ¥¹¤òÊÑ¹¹¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡£
ca_essl=Web ¥µ¡¼¥Ð¤¬ SSL ¥â¡¼¥É¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß SSL Ç§¾Ú¤òÀßÄê¤Ç¤­¤Þ¤¹¡£

session_title=Ç§¾Ú
session_desc1=Í­¸ú¤Ë¤¹¤ë¤È¡¢Æ±°ì¥æ¡¼¥¶¤¬¼ºÇÔ¤·¤¿¥í¥°¥¤¥ó¤òºÆ»î¹Ô¤¹¤ë´Ö³Ö¤ËÏ¢Â³¤·¤Æ³ÈÄ¥¤·¤¿ÃÙ±ä¤òÄÉ²Ã¤·¤Æ¥Ñ¥¹¥ï¡¼¥É¤ò¥¿¥¤¥à¥¢¥¦¥È¤µ¤»¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢¥Ñ¥¹¥ï¡¼¥É¤¬Â¾¿Í¤Ë²òÆÉ¤µ¤ì¤Æ Webmin ¥µ¡¼¥Ð¤¬ÉÔÀµ¤Ë»ÈÍÑ¤µ¤ì¤ë¤Î¤òËÉ¤®¤Þ¤¹¡£
session_desc2=¥»¥Ã¥·¥ç¥óÇ§¾Ú¤¬Í­¸ú¤Ê¾ì¹ç¤Ï¡¢Webmin ¤Ï¥í¥°¥¤¥ó¤·¤¿¥æ¡¼¥¶¤Î³Æ¥»¥Ã¥·¥ç¥ó¤òµ­Ï¿¤·¤Æ¡¢Æ°ºî¤¬¤Ê¤¤¥æ¡¼¥¶¤¬¼«Æ°Åª¤Ë¥í¥°¥¢¥¦¥È¤µ¤ì¤ë¤³¤È¤ò²ÄÇ½¤Ë¤·¤Þ¤¹¡£¥»¥Ã¥·¥ç¥óÇ§¾Ú¤òÍ­¸ú¤Þ¤¿¤ÏÌµ¸ú¤Ë¤¹¤ë¤È¡¢¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤ËºÆÅÙ¥í¥°¥¤¥ó¤ò¶¯À©¤¹¤ë²ÄÇ½À­¤¬¤¢¤ë¤³¤È¤ËÎ±°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
session_header=Ç§¾Ú¤È¥»¥Ã¥·¥ç¥ó ¥ª¥×¥·¥ç¥ó
session_pdisable=¥Ñ¥¹¥ï¡¼¥É¤Î¥¿¥¤¥à¥¢¥¦¥È¤òÌµ¸ú
session_penable=¥Ñ¥¹¥ï¡¼¥É¤Î¥¿¥¤¥à¥¢¥¦¥È¤òÍ­¸ú
session_blockhost=$1 ²ó°Ê¾å $2 ÉÃ´Ö¤Î´Ö¤Ë¥í¥°¥¤¥ó¤Ë¼ºÇÔ¤·¤¿¥Û¥¹¥È¤ò¥Ö¥í¥Ã¥¯¤·¤Þ¤¹¡£
session_syslog=¥Ö¥í¥Ã¥¯¤µ¤ì¤¿¥Û¥¹¥È¤ò<tt>syslog</tt> ¤Ë¥í¥°
session_disable=¥»¥Ã¥·¥ç¥óÇ§¾Ú¤òÌµ¸ú
session_enable=¥»¥Ã¥·¥ç¥óÇ§¾Ú¤òÍ­¸ú
session_localoff=¾ï¤Ë¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤¬É¬Í×
session_localon=°ìÃ×¤·¤¿¥í¡¼¥«¥ë ¥Û¥¹¥È¤«¤é¤Î¥æ¡¼¥¶¤ËÂÐ¤·¥Ñ¥¹¥ï¡¼¥É¤Ê¤·¤Ç¥í¥°¥¤¥ó¤òµö²Ä
session_logout=$1 Ê¬´ÖÆ°ºî¤¬¤Ê¤¤¾ì¹ç¤Ë¼«Æ°Åª¤Ë¥í¥°¥¢¥¦¥È
session_locking=Webmin ¤Ë¥í¥Ã¥¯ ¥¤¥ó¤òÍ­¸ú
session_err=Ç§¾Ú¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
session_elogouttime=¥í¥°¥¢¥¦¥È»þ´Ö¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
session_eblockhost_time=¥Ö¥í¥Ã¥¯»þ´Ö¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
session_eblockhost_failures=¥í¥°¥¤¥ó¤Î¥Ö¥í¥Ã¥¯¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
session_ecookie=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥»¥Ã¥·¥ç¥óÇ§¾Ú¤ËÉ¬Í×¤Ê¥¯¥Ã¥­¡¼¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
session_elsof=¥í¡¼¥«¥ëÇ§¾Ú¤Ï<tt>lsof</tt> ¥×¥í¥°¥é¥à¤òÉ¬Í×¤È¤·¤Þ¤¹
session_remember=¥í¥°¥¤¥ó¤ò¹±µ×¤Ëµ­²±¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¤«¡©

assignment_title=¥â¥¸¥å¡¼¥ë¤ÎºÆ³ä¤êÅö¤Æ
assignment_header=¥â¥¸¥å¡¼¥ë ¥«¥Æ¥´¥ê¡¼¤Î³äÅö¤Æ
assignment_ok=¥«¥Æ¥´¥ê¡¼¤ÎÊÑ¹¹
assignment_desc=¤³¤Î²èÌÌ¤Ç¤Ï Webmin ¥¤¥ó¥Ç¥Ã¥¯¥¹ ¥Ú¡¼¥¸¤ËÉ½¼¨¤¹¤ë³Æ¥â¥¸¥å¡¼¥ë¤Î¥«¥Æ¥´¥ê¡¼¤òÀßÄê¤Ç¤­¤Þ¤¹¡£

categories_title=¥«¥Æ¥´¥ê¡¼¤ÎÊÔ½¸
categories_header=¥«¥Æ¥´¥ê¡¼ ID ¤ÈÀâÌÀ
categories_desc=¤³¤Î²èÌÌ¤Ç¤Ï´ûÂ¸¤Î Webmin ¥«¥Æ¥´¥ê¡¼Ì¾¤ÎÊÑ¹¹¤È¥â¥¸¥å¡¼¥ë¤Ë³ä¤êÅö¤Æ¤ë¿·µ¬¤Î¥«¥Æ¥´¥ê¡¼¤òºîÀ®¤Ç¤­¤Þ¤¹¡£É½¤Î¾å¤ÎÉôÊ¬¤ÏÁÈ¹þ¤ß¥«¥Æ¥´¥ê¡¼¤ÎÀâÌÀ¤òÊÑ¹¹¤¹¤ë¤¿¤á¤Ë¡¢²¼¤ÎÉôÊ¬¤Ï¿·µ¬¤Î¥«¥Æ¥´¥ê¡¼ ID ¤ÈÀâÌÀ¤òÄÉ²Ã¤¹¤ë¤¿¤á¤Ë»ÈÍÑ¤·¤Þ¤¹¡£
categories_ok=¥«¥Æ¥´¥ê¡¼¤ÎÊÝÂ¸
categories_err=¥«¥Æ¥´¥ê¡¼¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
categories_edesc=$1 ¤ÎÀâÌÀ¤¬¤¢¤ê¤Þ¤»¤ó
categories_ecat=¥«¥Æ¥´¥ê¡¼ ID $1 ¤Ï¤¹¤Ç¤Ë»ÈÍÑ¤µ¤ì¤Æ¤¤¤Þ¤¹

log_access=IP ¥¢¥¯¥»¥¹À©¸æ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_bind=¥Ý¡¼¥È¤È¥¢¥É¥ì¥¹¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_log=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_proxy=¥×¥í¥­¥· ¥µ¡¼¥Ð¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_ui=¥æ¡¼¥¶ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_install=¥â¥¸¥å¡¼¥ë $1 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿
log_tinstall=¥Æ¡¼¥Þ $1 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤¿
log_clone=¥â¥¸¥å¡¼¥ë $1 ¤ò $2 ¤Ë¥¯¥í¡¼¥ó¤·¤Þ¤·¤¿
log_delete=¥â¥¸¥å¡¼¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_os=¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_lang=¥°¥í¡¼¥Ð¥ë¸À¸ì¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_startpage=¥¤¥ó¥Ç¥Ã¥¯¥¹ ¥Ú¡¼¥¸ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_upgrade=Webmin ¤ò¥Ð¡¼¥¸¥ç¥ó $1 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤·¤Þ¤·¤¿
log_session=Ç§¾Ú¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_ssl=SSL °Å¹æ²½¥â¡¼¥É¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_setupca=Ç§¾Ú¶É¤ÎÀßÄê
log_changeca=Ç§¾Ú¶É¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_stopca=Ç§¾Ú¶É¤ò¥·¥ã¥Ã¥È¥À¥¦¥ó¤·¤Þ¤·¤¿
log_assignment=¥â¥¸¥å¡¼¥ë ¥«¥Æ¥´¥ê¡¼¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_categories=¥«¥Æ¥´¥ê¡¼Ì¾¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_theme=¥Æ¡¼¥Þ¤ò $1 ¤ËÊÑ¹¹
log_theme_def=¥Æ¡¼¥Þ¤ò Webmin ¥Ç¥Õ¥©¥ë¥È¤ËÊÑ¹¹¤·¤Þ¤·¤¿
log_referers=¿®Ç¤¾È²ñ¤òÊÑ¹¹¤·¤Þ¤·¤¿

themes_title=Webmin ¥Æ¡¼¥Þ
themes_desc=¥Æ¡¼¥Þ¤Ï¥¢¥¤¥³¥ó¡¢¿§¡¢ÇØ·Ê¡¢¤µ¤é¤Ë¥Ú¡¼¥¸ ¥ì¥¤¥¢¥¦¥È¤ò´Þ¤à Webmin ¥æ¡¼¥¶ ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Î³°´Ñ¤òÀ©¸æ¤·¤Þ¤¹¡£²¼¤ÎÁªÂò¥Ü¥Ã¥¯¥¹¤Ï¡¢¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Æ¡¼¥Þ¤Î 1 ¤Ä¤òÁªÂò¤¹¤ë¤Î¤Ë»ÈÍÑ¤Ç¤­¤Þ¤¹¡£
themes_sel=¸½ºß¤Î¥Æ¡¼¥Þ:
themes_default=¥Ç¥Õ¥©¥ë¥È¤Î Webmin ¥Æ¡¼¥Þ
themes_change=ÊÑ¹¹
themes_installdesc=¿·µ¬¤Î Webmin ¥Æ¡¼¥Þ¤ò¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Ë¤Ï²¼¤Î¥Ü¥Ã¥¯¥¹¤ò»ÈÍÑ¤·¤Æ¤¯¤À¤µ¤¤¡£ÄÌ¾ï¡¢¥Æ¡¼¥Þ¤Ï<tt>.wbt</tt> ¥Õ¥¡¥¤¥ë¤ÇÇÛÉÛ¤µ¤ì¤Þ¤¹¤¬¡¢¤´»ÈÍÑ¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢RPM ¥Õ¥¡¥¤¥ë¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
themes_installok=¥Æ¡¼¥Þ¤Î¥¤¥ó¥¹¥È¡¼¥ë

themes_err1=$1 ¤«¤é¥Æ¡¼¥Þ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
themes_efile=¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
themes_err2=¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Æ¡¼¥Þ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
themes_ebrowser=¤´»ÈÍÑ¤Î¥Ö¥é¥¦¥¶¤Ï¥Õ¥¡¥¤¥ë¤Î¥¢¥Ã¥×¥í¡¼¥É¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó
themes_err3=$1 ¤«¤é¥Æ¡¼¥Þ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
themes_eurl=Ìµ¸ú¤Ê URL
themes_etar=¥Æ¡¼¥Þ ¥Õ¥¡¥¤¥ë¤ÏÌµ¸ú¤Ç¤¹: $1
themes_einfo=¥Æ¡¼¥Þ $1 ¤Ë¤Ïtheme.info ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
themes_enone=¥Õ¥¡¥¤¥ë¤Ï¥Æ¡¼¥Þ¤ò´Þ¤ó¤Ç¤¤¤Ê¤¤¤è¤¦¤Ç¤¹
themes_eextract=Ãê½Ð¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
themes_done=¼¡¤Î¥Æ¡¼¥Þ¤ò¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤ò´°Î»¤·¤Þ¤·¤¿:
themes_line=$1 ($2 Æâ) ($3 KB)
themes_ecomp=¥Õ¥¡¥¤¥ë¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à¤Ë $1 ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
themes_ecomp2=¥Õ¥¡¥¤¥ë¤ò²òÅà¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
themes_egzip=¥Õ¥¡¥¤¥ë¤Ï gzip ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥·¥¹¥Æ¥à¤Ë $1 ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿
themes_egzip2=¥Õ¥¡¥¤¥ë¤ò gunzip ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $1
themes_erpm=Webmin ¥Æ¡¼¥Þ RPM ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
themes_eirpm=RPM ¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Þ¤·¤¿: $1
themes_ok=¥Æ¡¼¥Þ¤ÎÊÑ¹¹¤ò´°Î»¤·¤Þ¤·¤¿.. Webmin ¥¤¥ó¥Ç¥Ã¥¯¥¹ ¥Ú¡¼¥¸¤Ë¥ê¥À¥¤¥ì¥¯¥È¤·¤Æ¤¤¤Þ¤¹¡£

referers_title=¿®Ç¤¾È²ñ
referers_desc=¤³¤Î¥Ú¡¼¥¸¤Ï¡¢Â¾¤Î Web ¥µ¥¤¥È¤«¤é¤Î°­°Õ¤ò»ý¤Ã¤¿¥ê¥ó¥¯¤ò¤¿¤É¤Ã¤Æ Webmin ¤Ë´í¸±¤òÍ¿¤¨¤ë¤Î¤òËÉ¤°¤¿¤á¤Ë Webmin ¤Î¾È²ñ¸¡ºº¥µ¥Ý¡¼¥È¤òÀßÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£¤¿¤À¤·¡¢¼«Ê¬¼«¿È¤Î Web ¥µ¥¤¥È¤«¤é Webmin ¤Ë¥ê¥ó¥¯¤¬¤¢¤ê·Ù¹ð¤µ¤ì¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤ì¤é¤Î¥µ¥¤¥È¤ò²¼¤Î¥ê¥¹¥È¤ËÄÉ²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£
referers_list=¿®Ç¤ Web ¥µ¥¤¥È
referers_none=ÉÔÌÀ¤Ê¾È²ñ¤«¤é¤Î¥ê¥ó¥¯¤ò¿®ÍÑ
referers_referer=¾È²ñ¸¡ºº¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©

syslet_title=Syslet ¼«Æ°¥À¥¦¥ó¥í¡¼¥É
syslet_desc=¤³¤Î¥Ú¡¼¥¸¤Ç¼«Æ°¥À¥¦¥ó¥í¡¼¥É¤òÀßÄê¤·¡¢·çÍî¤·¤Æ¤¤¤ë Eazel Syslets ¤ò Webmin ¥µ¡¼¥Ð¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤Þ¤¹¡£
syslet_auto=syslets ¤ò¼«Æ°Åª¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¤«¡©
syslet_base=syslet RPM ¤Î¥Ù¡¼¥¹ URL
syslet_err=syslet ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
syslet_ebase=¥Ù¡¼¥¹ URL ¤¬Ìµ¸ú¤Ç¤¹
070701000077ca000081a40000000000000002000000013d1fe2cb00004426000000200000000000000000000000000000001c00000003reloc/webmin/lang/ko_KR.euc   index_title=Webmin ±¸¼º
index_return=Webmin ±¸¼º

access_title=IP Á¢±Ù Á¦¾î
access_desc=ÀÌ ¾ç½Ä¿¡¼­´Â Æ¯Á¤ IP ÁÖ¼ÒÀÇ Webmin ¼­¹ö Á¢±Ù¸¦ °ÅºÎÇÏ°Å³ª Çã¿ëÇÏµµ·Ï Webmin ¼­¹ö¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. È£½ºÆ® ÀÌ¸§(¿¹: foo.bar.com)°ú IP ³×Æ®¿öÅ©(¿¹: 10.254.3.0 ¶Ç´Â 10.254.1.0/255.255.255.128)µµ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ½Å·ÚÇÒ ¼ö ÀÖ´Â ¼­¹ö ÁÖ¼Ò(Æ¯È÷ ÀÎÅÍ³Ý¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ´Â ¼­¹öÀÎ °æ¿ì)¿¡¸¸ Á¢±ÙÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÆÐ½º¿öµå¸¦ À¯ÃßÇØ¼­ Ä§ÀÔÇÑ »ç¶÷ÀÌ ½Ã½ºÅÛÀ» ¿ÏÀüÈ÷ Á¦¾îÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
access_header=Á¢±Ù Á¦¾î
access_all=¸ðµç ÁÖ¼Ò¿¡ ´ëÇØ Çã¿ë
access_allow=³ª¿­µÈ ÁÖ¼Ò¿¡ ´ëÇØ¼­¸¸ Çã¿ë
access_deny=³ª¿­µÈ ÁÖ¼Ò¿¡ ´ëÇØ °ÅºÎ
access_err=Á¢±Ù ¸ñ·ÏÀ» ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù
access_enone=ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù
access_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ© ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
access_emask='$1'Àº(´Â) À¯È¿ÇÑ ³Ý¸¶½ºÅ©°¡ ¾Æ´Õ´Ï´Ù
access_eip='$1'Àº(´Â) ¿ÏÀüÇÑ IP ¶Ç´Â ³×Æ®¿öÅ© ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
access_ehost='$1'ÀÇ IP ÁÖ¼Ò¸¦ Ã£Áö ¸øÇß½À´Ï´Ù
access_eself=ÇöÀç IP ÁÖ¼Ò($1)°¡ °ÅºÎµË´Ï´Ù

bind_title=Æ÷Æ® ¹× ÁÖ¼Ò
bind_desc=WebminÀ» ½ÇÇà ÁßÀÎ È£½ºÆ®¿¡ ¿©·¯ °³ÀÇ IP ÁÖ¼Ò°¡ ÀÖ´Â °æ¿ì, ÀÌ ¾ç½ÄÀ» »ç¿ëÇÏ¸é ±× Áß ÇÑ °³ÀÇ ÁÖ¼Ò¸¸ ¼ö½Å ´ë±âÇÏµµ·Ï ¼­¹ö¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼­´Â WebminÀÌ ¼ö½Å ´ë±âÇÏ´Â TCP Æ÷Æ®µµ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Âü°í - Æ÷Æ®¸¦ º¯°æÇÏ°Å³ª ÁÖ¼Ò¸¦ ¹ÙÀÎµùÇÑ ÈÄ ´Ù½Ã ·Î±×ÀÎÇÏ¶ó´Â ¸Þ½ÃÁö°¡ À¥ ºê¶ó¿ìÀú¿¡ Ç¥½ÃµÉ ¼ö ÀÖ½À´Ï´Ù.
bind_header=IP ÁÖ¼Ò ¹× Æ÷Æ®
bind_ip=¼ö½Å ´ë±â IP ÁÖ¼Ò
bind_all=¸ðµÎ
bind_port=¼ö½Å ´ë±â Æ÷Æ®
bind_err=ÁÖ¼Ò¸¦ º¯°æÇÏÁö ¸øÇß½À´Ï´Ù
bind_eip='$1'ÀÇ IP ÁÖ¼Ò¸¦ °¡Á®¿ÀÁö ¸øÇß½À´Ï´Ù
bind_eassign=ÁÖ¼Ò '$1'ÀÌ(°¡) ÀÌ ½Ã½ºÅÛ¿¡ ÁöÁ¤µÇÁö ¾Ê¾Ò½À´Ï´Ù
bind_eport=Æ÷Æ® $1ÀÌ(°¡) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù

log_title=·Î±×
log_desc= À¥ ¼­¹ö ¹æ¹® È½¼ö¿¡ ´ëÇÑ ·Î±×¸¦ Ç¥ÁØ CLF ·Î±× ÆÄÀÏ Çü½ÄÀ¸·Î ±â·ÏÇÏµµ·Ï WebminÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ·Î±× ±â´ÉÀ» ¼³Á¤ÇÑ °æ¿ì¿¡´Â ±â·ÏµÉ IP ÁÖ¼Ò³ª È£½ºÆ® ÀÌ¸§ÀÇ ±â·Ï ¿©ºÎ¿Í ·Î±× ÆÄÀÏÀÇ Áö¿ì±â ºóµµµµ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì ·Î±×´Â $1 ÆÄÀÏ¿¡ ±â·ÏµË´Ï´Ù.
log_desc2=·Î±× ±â´ÉÀ» ¼³Á¤ÇÑ °æ¿ì, WebminÀº º¸´Ù ÀÚ¼¼ÇÑ »ç¿ëÀÚ µ¿ÀÛ ·Î±×¸¦ $1 ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù. Webmin µ¿ÀÛ ·Î±× ¸ðµâÀ» »ç¿ëÇÏ¿© ÀÌ ·Î±×¸¦ º¸°Å³ª ºÐ¼®ÇÏ¸é °¢°¢ÀÇ Webmin »ç¿ëÀÚ°¡ ¼öÇàÇÑ µ¿ÀÛÀ» Á¤È®È÷ ¾Ë ¼ö ÀÖ½À´Ï´Ù.
log_header=À¥ ¼­¹ö ·Î±×
log_disable=·Î±× ±â´É ÇØÁ¦
log_enable=·Î±× ±â´É ¼³Á¤
log_resolv=È®ÀÎµÈ È£½ºÆ® ÀÌ¸§ ·Î±×
log_clear=$1½Ã°£¸¶´Ù ·Î±× ÆÄÀÏ Áö¿ì±â
log_uall=¸ðµç »ç¿ëÀÚÀÇ µ¿ÀÛ ·Î±×
log_users=´ÙÀ½ »ç¿ëÀÚÀÇ µ¿ÀÛ¸¸ ·Î±×..
log_mall=¸ðµç ¸ðµâ¿¡¼­ ¹ß»ýÇÏ´Â µ¿ÀÛ ·Î±×
log_modules=´ÙÀ½ À§Ä¡¿¡¼­ ¹ß»ýÇÏ´Â µ¿ÀÛ¸¸ ·Î±×..
log_files=µ¿ÀÛº° ÆÄÀÏ º¯°æ ³»¿ë ·Î±×
log_err=·Î±× ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
log_ehours='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£(½Ã)ÀÌ ¾Æ´Õ´Ï´Ù
log_ediff=½Ã½ºÅÛ¿¡ ÆÄÀÏ º¯°æ ³»¿ëÀ» ·Î±×ÇÏ´Â µ¥ ÇÊ¿äÇÑ ¸í·É $1ÀÌ(°¡) ¾ø½À´Ï´Ù

proxy_title=ÇÁ·Ï½Ã ¼­¹ö
proxy_desc=WebminÀ» ½ÇÇà ÁßÀÎ È£½ºÆ®¿¡ Æ¯Á¤ ¹æÈ­º®ÀÌ »ç¿ëµÈ °æ¿ì¿¡´Â À¥ »çÀÌÆ®¿Í FTP »çÀÌÆ®¿¡ Á¢±ÙÇÏ´Â µ¥ »ç¿ëÇÒ ÇÁ·Ï½Ã ¼­¹ö¸¦ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. Æ¯Á¤ ¸ðµâ(¿¹:<tt>¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö</tt>)¿¡¼­´Â ÆÄÀÏÀÌ³ª ÇÁ·Î±×·¥À» ´Ù¿î·ÎµåÇÒ ¶§ ÀÌ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÕ´Ï´Ù.
proxy_header=ÇÁ·Ï½Ã ¼­¹ö
proxy_http=HTTP ÇÁ·Ï½Ã
proxy_ftp=FTP ÇÁ·Ï½Ã
proxy_none=¾øÀ½
proxy_nofor=´ÙÀ½¿¡ ´ëÇØ ÇÁ·Ï½Ã ¾øÀ½
proxy_user=ÇÁ·Ï½Ã »ç¿ëÀÚ ÀÌ¸§
proxy_pass=ÇÁ·Ï½Ã ÆÐ½º¿öµå
proxy_err=ÇÁ·Ï½Ã¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
proxy_ehttp=HTTP ÇÁ·Ï½Ã ¼­¹ö¸¦ ÀÔ·ÂÇÒ ¶§´Â URLÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù
proxy_eftp=FTP ÇÁ·Ï½Ã ¼­¹ö¸¦ ÀÔ·ÂÇÒ ¶§´Â URLÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù

ui_title=»ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º
ui_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ¸ðµç ¸ðµâ¿¡ »ç¿ëµÇ´Â »ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º ¿É¼ÇÀ» ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. »ö»óÀ» ÀÔ·ÂÇÒ ¶§´Â Ç¥ÁØ RGB ½Ã½ºÅÛÀ» »ç¿ëÇÏ¿© °¢°¢ÀÇ »ö»óÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù(0x00°ú 0xff »çÀÌÀÇ 16Áø¼ö °ª). 
ui_header=»ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º ¿É¼Ç
ui_default=±âº»°ª
cs_page=ÆäÀÌÁö ¹è°æ
cs_text=ÀÏ¹Ý ÅØ½ºÆ®
cs_table=Å×ÀÌºí ¹è°æ
cs_header=Å×ÀÌºí Çì´õ
cs_link=¸µÅ© ÅØ½ºÆ®
ui_texttitles=Á¦¸ñÀ» ÅØ½ºÆ®·Î Ç¥½ÃÇÕ´Ï±î?
ui_sysinfo=·Î±×¿Â ¹× È£½ºÆ® ÀÌ¸§ Ç¥½Ã
ui_sysinfo0=ºê¶ó¿ìÀú ¸Ç ¾Æ·¡¿¡
ui_sysinfo1=ºê¶ó¿ìÀú Á¦¸ñ¿¡
ui_sysinfo2=ÆäÀÌÁö Á¦¸ñ À§¿¡
ui_err=»ö»óÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
ui_ered=»¡°£»ö °ªÀº '$1'¿¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù
ui_egreen=³ì»ö °ªÀº '$1'¿¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù
ui_eblue=ÆÄ¶õ»ö °ªÀº '$1'¿¡ À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù

mods_title=Webmin ¸ðµâ
mods_desc1=¼³Ä¡ÇÑ ÈÄ¿¡´Â ¿À¸¥ÂÊ ¾ç½ÄÀ» »ç¿ëÇÏ¿© Webmin ¸ðµâÀ» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ðµâÀº ÀÏ¹ÝÀûÀ¸·Î <tt>.wbm</tt> ÆÄÀÏ·Î ¹èÆ÷µË´Ï´Ù. °¢ ÆÄÀÏ¿¡´Â ÇÏ³ª ÀÌ»óÀÇ ¸ðµâÀÌ Æ÷ÇÔµÉ ¼ö ÀÖ½À´Ï´Ù. ¿î¿µ Ã¼Á¦¿¡¼­ Áö¿øÇÏ´Â °æ¿ì¿¡´Â RPM ÆÄÀÏ·ÎºÎÅÍ ¸ðµâÀ» ¼³Ä¡ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
mods_install=¸ðµâ ¼³Ä¡
mods_local=·ÎÄÃ ÆÄÀÏ¿¡¼­
mods_uploaded=¾÷·ÎµåÇÑ ÆÄÀÏ¿¡¼­
mods_ftp=FTP ¶Ç´Â HTTP URL¿¡¼­
mods_installok=ÆÄÀÏ¿¡¼­ ¸ðµâ ¼³Ä¡
mods_desc2=ÇÑ °³ÀÇ ¸ðµâ¿¡ ´ëÇØ °¢±â ´Ù¸£°Ô ±¸¼ºµÈ µÑ ÀÌ»óÀÇ »çº»ÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â ¿À¸¥ÂÊ¿¡ ÀÖ´Â ¾ç½ÄÀ» »ç¿ëÇÏ¿© ±âÁ¸ ¸ðµâÀ» º¹Á¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¹Á¦µÈ ¸ðµâ¿¡´Â »õ ÀÌ¸§, »õ ¸ðµâ ±¸¼º, »õ Á¢±Ù Á¦¾î ¿É¼ÇÀÌ »ç¿ëµÇ¸ç ¿©·¯ »ç¿ëÀÚ°¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
mods_clone=¸ðµâ º¹Á¦
mods_cname=º¹Á¦ÇÒ ¸ðµâ
mods_cnew=º¹Á¦µÈ ¸ðµâ ÀÌ¸§
mods_cloneok=¸ðµâ º¹Á¦
mods_desc3=±âÁ¸ ¸ðµâ°ú ÇØ´ç º¹Á¦ ¸ðµâÀº ¾Æ·¡ÀÇ ¾ç½ÄÀ» »ç¿ëÇÏ¿© »èÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¹Á¦ ¸ðµâÀÌ ÀÖ´Â ¸ðµâÀ» »èÁ¦ÇÏ¸é º¹Á¦ ¸ðµâµµ ¸ðµÎ Á¦°ÅµË´Ï´Ù. ÀÌ¹Ì »èÁ¦ÇÑ ¸ðµâÀ» ´Ù½Ã »ç¿ëÇÏ·Á¸é ¸ðµâÀ» Àç¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù. ´Ù¸¥ ¸ðµâÀÌ Á¾¼ÓµÇ¾î ÀÖ´Â ¸ðµâÀº »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù.
mods_delete=¸ðµâ »èÁ¦
mods_deleteok=¼±ÅÃÇÑ ¸ðµâ »èÁ¦

install_err1=$1¿¡¼­ ¸ðµâÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
install_efile=ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
install_err2=¾÷·ÎµåÇÑ ¸ðµâÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
install_ebrowser=ºê¶ó¿ìÀú¿¡¼­ ÆÄÀÏ ¾÷·Îµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
install_err3=$1¿¡¼­ ¸ðµâÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
install_eurl=Àß¸øµÈ URL
install_etar=À¯È¿ÇÏÁö ¾ÊÀº ¸ðµâ ÆÄÀÏÀÔ´Ï´Ù: $1
install_einfo=¸ðµâ $1¿¡ module.info ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
install_enone=ÆÄÀÏ¿¡ Æ÷ÇÔµÈ ¸ðµâÀÌ ¾ø½À´Ï´Ù
install_eos=¸ðµâ $1ÀÌ(°¡) ÇöÀç ¿î¿µ Ã¼Á¦($2 $3)¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
install_ever=¸ðµâ $1Àº Webmin ¹öÀü $2 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù
install_edep=¸ðµâ $1Àº ¸ðµâ $2¸¦(À») ÇÊ¿äÇÕ´Ï´Ù
install_eextract=¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
install_title=¸ðµâ ¼³Ä¡
install_desc=´ÙÀ½ ¸ðµâÀÌ ¼º°øÀûÀ¸·Î ¼³Ä¡µÇ¾î Á¢±Ù Á¦¾î ¸ñ·Ï¿¡ Ãß°¡µÇ¾ú½À´Ï´Ù.
install_line=$2ÀÇ $1($3KB)
install_ecomp=ÆÄÀÏÀÌ ¾ÐÃàµÇ¾î ÀÖÁö¸¸, ½Ã½ºÅÛ¿¡ $1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
install_ecomp2=ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
install_egzip=ÆÄÀÏÀÌ gzipÀ¸·Î ¾ÐÃàµÇ¾î ÀÖÁö¸¸, ½Ã½ºÅÛ¿¡ $1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
install_egzip2=ÆÄÀÏÀ» gunzipÇÒ ¼ö ¾ø½À´Ï´Ù.: $1
install_erpm=Webmin ¸ðµâ RPMÀÌ ¾Æ´Õ´Ï´Ù
install_eirpm=RPMÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù: $1

clone_err=¸ðµâÀ» º¹Á¦ÇÏÁö ¸øÇß½À´Ï´Ù
clone_elink=½Éº¼¸¯ ¸µÅ© ½ÇÆÐ: $1
clone_ecopy=±¸¼ºÀ» º¹»çÇÏÁö ¸øÇß½À´Ï´Ù: $1
clone_desc=$1ÀÇ º¹Á¦

delete_err=¸ðµâÀ» »èÁ¦ÇÏÁö ¸øÇß½À´Ï´Ù
delete_edep=¸ðµâ $2ÀÌ(°¡) Á¾¼ÓµÇ¾î ÀÖÀ¸¹Ç·Î ¸ðµâ $1À»(¸¦) »èÁ¦ÇÒ ¼ö ¾ø½À´Ï´Ù
delete_desc1=$1($2ÀÇ º¹Á¦)
delete_desc2=$2ÀÇ $1($3KB)
delete_title=¸ðµâ »èÁ¦
delete_msg=Webmin ¼³Ä¡¿¡¼­ ´ÙÀ½ ¸ðµâÀÌ »èÁ¦µÇ¾ú½À´Ï´Ù.
delete_rusure=¸ðµâ $2À»(¸¦) »èÁ¦ÇÏ½Ã°Ú½À´Ï±î? $1KB ÆÄÀÏÀÌ ¿µ±¸ÀûÀ¸·Î »èÁ¦µË´Ï´Ù.

os_title=¿î¿µ Ã¼Á¦
os_desc=ÀÌ ¾ç½Ä¿¡¼­´Â WebminÀÌ »ç¿ëÀÚ ½Ã½ºÅÛÀ¸·Î Ãë±ÞÇÏ´Â ¿î¿µ Ã¼Á¦¸¦ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¾ç½ÄÀº »ç¿ëÀÚ ÄÄÇ»ÅÍÀÇ ¿î¿µ Ã¼Á¦ ¹èÆ÷ ¹öÀüÀ» »õ·Î ¾÷±×·¹ÀÌµåÇÑ °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù. ±âÁ¸ ½Ã½ºÅÛ°ú »õ ½Ã½ºÅÛ »çÀÌ¿¡ Â÷ÀÌ°¡ ÀÖ¾îµµ ¼³Ä¡µÈ ¸ðµâÀÇ ±¸¼ºÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù.
os_desc2=¶ÇÇÑ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§ Webmin¿¡ »ç¿ëµÇ´Â °Ë»ö °æ·Î¿Í ¸ðµç ÇÁ·Î±×·¥¿¡ Àü´ÞµÇ´Â °øÀ¯ ¶óÀÌºê·¯¸® °æ·Îµµ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.
os_header=È£½ºÆ® ¿î¿µ Ã¼Á¦
os_curros=ÇöÀç ¿î¿µ Ã¼Á¦
os_currver=ÇöÀç ¿î¿µ Ã¼Á¦ ¹öÀü
os_new=»õ ¿î¿µ Ã¼Á¦
os_path=ÇÁ·Î±×·¥ °Ë»ö °æ·Î
os_ld_path=¶óÀÌºê·¯¸® °Ë»ö °æ·Î

lang_title=¾ð¾î
lang_title2=Webmin ¾ð¾î
lang_lang=Ç¥½Ã ¾ð¾î
lang_intro=ÀÌ ÆäÀÌÁö¿¡¼­´Â WebminÀÌ Á¦¸ñ, ÇÁ·ÒÇÁÆ® ¹× ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ´Â µ¥ »ç¿ëÇÒ ¾ð¾î¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù
lang_ok=¾ð¾î º¯°æ

ssl_title=SSL ¾ÏÈ£È­
ssl_desc1=WebminÀ» ½ÇÇà ÁßÀÎ È£½ºÆ®¿¡ SSLeay Perl ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇÏ·Á¸é WebminÀÌ ºê¶ó¿ìÀú¿Í ¼­¹ö »çÀÌÀÇ SSL ¾ÏÈ£È­ Åë½ÅÀ» Áö¿øÇØ¾ß ÇÕ´Ï´Ù. ÀÎÅÍ³ÝÀ» ÅëÇØ Webmin ¼­¹ö¿¡ Á¢±ÙÇÒ °æ¿ì¿¡´Â Ä§ÀÔÀÚ°¡ Webmin ÆÐ½º¿öµå¸¦ ¾Ë¾Æ³»Áö ¸øÇÏ°Ô SSLÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
ssl_desc2=°æ°í - ºê¶ó¿ìÀú°¡ SSL(¿¹: Netscape ¶Ç´Â IE)À» Áö¿øÇÏ°í ºê¶ó¿ìÀú¿Í Webmin È£½ºÆ® »çÀÌ¿¡ <b>https</b> ¿äÃ»À» Â÷´ÜÇÏ´Â ¹æÈ­º®ÀÌ ¾ø´Â °æ¿ì¿¡¸¸ SSL Áö¿ø ±â´ÉÀ» »ç¿ëÇÏ½Ê½Ã¿À
ssl_header=SSL Áö¿ø
ssl_enable=°¡´ÉÇÒ °æ¿ì SSL Áö¿ø »ç¿ë
ssl_disable=°¡´ÉÇØµµ SSL Áö¿ø »ç¿ë ¾ÈÇÔ

startpage_title=ÀÎµ¦½º ÆäÀÌÁö ¿É¼Ç
startpage_intro=ÀÌ ÆäÀÌÁö¿¡¼­´Â ÀÎµ¦½º ÆäÀÌÁöÀÇ Çà ´ç Ç¥½ÃÇÒ ¾ÆÀÌÄÜ ¼ö¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù
startpage_tabs=¸ðµâ ¹üÁÖ¸¦ ÁöÁ¤ÇÕ´Ï±î?
startpage_nocol=¿­ ¼ö
startpage_alt=´ëÃ¼ Çì´õ »ç¿ë
startpage_ecols='$1'Àº(´Â) À¯È¿ÇÑ ¿­ ¼ö°¡ ¾Æ´Õ´Ï´Ù
startpage_gotoone=»ç¿ëÀÚ¿¡°Ô ¸ðµâÀÌ ÇÏ³ª »ÓÀÌ¸é <br>¸ðµâ·Î Á÷Á¢ ÀÌµ¿ÇÕ´Ï±î?
startpage_deftab=±âº» ¹üÁÖ

upgrade_title=Webmin ¾÷±×·¹ÀÌµå
upgrade_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ÀüÃ¼ Webmin ¼³Ä¡¸¦ »õ ¹öÀüÀ¸·Î ¾÷±×·¹ÀÌµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ·ÎÄÃ ÆÄÀÏ, ¾÷·ÎµåÇÑ ÆÄÀÏ ¶Ç´Â ÃÖ½Å ¹öÀüÀÇ ÆÄÀÏ(<a href=http://www.webmin.com/>www.webmin.com</a>)·ÎºÎÅÍ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼öµ¿ ¾÷±×·¹ÀÌµåÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î, ¸ðµç ±¸¼º ¼³Á¤°ú Å¸»ç ¸ðµâÀÌ ±×´ë·Î À¯ÁöµË´Ï´Ù.
upgrade_descrpm=ÀÌ ¾ç½Ä¿¡¼­´Â RPMÀÇ ¾÷±×·¹ÀÌµå ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÀüÃ¼ Webmin ¼³Ä¡¸¦ »õ ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ·ÎÄÃ RPM ÆÄÀÏ, ¾÷·ÎµåÇÑ ÆÄÀÏ ¶Ç´Â ÃÖ½Å ¹öÀüÀÇ ÆÄÀÏ(<a href=http://www.webmin.com/>www.webmin.com</a>)·ÎºÎÅÍ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼öµ¿ ¾÷±×·¹ÀÌµåÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î, ¸ðµç ±¸¼º ¼³Á¤°ú Å¸»ç ¸ðµâÀÌ ±×´ë·Î À¯ÁöµË´Ï´Ù.
upgrade_desccaldera=ÀÌ ¾ç½Ä¿¡¼­´Â RPMÀÇ ¾÷±×·¹ÀÌµå ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÀüÃ¼ Webmin ¼³Ä¡¸¦ »õ ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ·ÎÄÃ RPM ÆÄÀÏ, ¾÷·ÎµåÇÑ ÆÄÀÏ ¶Ç´Â Ä®µ¥¶óÀÇ ÃÖ½Å ¹öÀüÀ¸·ÎºÎÅÍ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
upgrade_descsolaris-pkg=ÀÌ ¾ç½Ä¿¡¼­´Â ÇöÀç ¼Ö¶ó¸®½º ÆÐÅ°Áö¸¦ Á¦°ÅÇÏ°í »õ ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÔÀ¸·Î½á ÀüÃ¼ Webmin ¼³Ä¡¸¦ »õ ¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ·ÎÄÃ ¼Ö¶ó¸®½º ÆÄÀÏ, ¾÷·ÎµåÇÑ ÆÄÀÏ ¶Ç´Â ÃÖ½Å ¹öÀüÀÇ ÆÄÀÏ(<a href=http://www.webmin.com/>www.webmin.com</a>)·ÎºÎÅÍ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼öµ¿ ¾÷±×·¹ÀÌµåÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î, ¸ðµç ±¸¼º ¼³Á¤°ú Å¸»ç ¸ðµâÀÌ ±×´ë·Î À¯ÁöµË´Ï´Ù.
upgrade_local=·ÎÄÃ ÆÄÀÏ¿¡¼­
upgrade_uploaded=¾÷·ÎµåÇÑ ÆÄÀÏ¿¡¼­
upgrade_ftp=www.webmin.comÀÇ ÃÖ½Å ¹öÀü
upgrade_cup=Caldera<tt>cupdate</tt> µµ±¸ÀÇ ÃÖ½Å ¹öÀü
upgrade_ok=Webmin ¾÷±×·¹ÀÌµå
upgrade_err1=$1(À¸)·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù
upgrade_err2=¾÷·ÎµåÇÑ ÆÄÀÏ·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù
upgrade_err3=www.webmin.comÀ¸·ÎºÎÅÍ ¾÷µ¥ÀÌÆ®ÇÏÁö ¸øÇß½À´Ï´Ù
upgrade_efile=ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
upgrade_ebrowser=ºê¶ó¿ìÀú¿¡¼­ ÆÄÀÏ ¾÷·Îµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
upgrade_eversion=¹öÀü $1(À¸)·Î ´Ù¿î±×·¹ÀÌµåÇÒ ¼ö ¾ø½À´Ï´Ù
upgrade_erpm=À¯È¿ÇÑ Webmin RPM ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
upgrade_egunzip=½Ã½ºÅÛ¿¡ <tt>gunzip</tt> ¸í·ÉÀÌ ¾ø½À´Ï´Ù
upgrade_etar=À¯È¿ÇÑ Webmin tar ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
upgrade_emod=ÆÄÀÏÀº Webmin ¸ðµâÀÌÁö¸¸, ¿ÏÀüÇÑ Webmin ¾÷±×·¹ÀÌµå°¡ ¾Æ´Õ´Ï´Ù. <a href='$1'>Webmin ¸ðµâ</a> ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.
upgrade_setup=Webmin ¾÷±×·¹ÀÌµå¸¦ À§ÇØ setup.sh ½ÇÇà Áß.. ¿Ï·áµÉ ¶§±îÁö Àá½Ã ±â´Ù¸®½Ê½Ã¿À.
upgrade_setuprpm=Webmin ¾÷±×·¹ÀÌµå¸¦ À§ÇØ RPM ½ÇÇà Áß.. ¿Ï·áµÉ ¶§±îÁö Àá½Ã ±â´Ù¸®½Ê½Ã¿À.
upgrade_setuppackage=Webmin ¾÷±×·¹ÀÌµå¸¦ À§ÇØ pkgadd ½ÇÇà Áß.. ¿Ï·áµÉ ¶§±îÁö Àá½Ã ±â´Ù¸®½Ê½Ã¿À.
upgrade_esolaris=¼Ö¶ó¸®½º ÆÐÅ°Áö·ÎºÎÅÍ ¼³Ä¡ÇÒ ¶§ WebminÀÇ ¾÷±×·¹ÀÌµå ±â´ÉÀÌ ÀÛµ¿ÇÏÁö ¾Ê½À´Ï´Ù. ¼öµ¿À¸·Î ¾÷±×·¹ÀÌµåÇÏ½Ê½Ã¿À.
upgrade_ecaldera=RPM ÆÄÀÏÀÌ Ä®µ¥¶ó ¹öÀüÀÇ WebminÀÌ ¾Æ´Õ´Ï´Ù.

ca_title=ÀÎÁõ ±â°ü
ca_old=±âÁ¸ ÀÎÁõ¼­
ca_header1=»õ CA ÀÎÁõ¼­ ÀÛ¼º
ca_header2=CA ÀÎÁõ¼­ ÆíÁý
ca_newmsg1=Webmin ¼­¹ö°¡ ÀÌ¹Ì ÀÎÁõ ±â°üÀ¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ¾ç½Ä¿¡¼­ ´Ù½Ã ¼³Á¤ÇÒ ¼öµµ ÀÖÁö¸¸, ±×·² °æ¿ì »ç¿ëÀÚ¿¡°Ô ÀÌ¹Ì ¹ß±ÞµÈ ÀÎÁõ¼­°¡ ´õ ÀÌ»ó ÀÛµ¿ÇÏÁö ¾Ê°Ô µË´Ï´Ù.
ca_newmsg2=Webmin ¼­¹ö¸¦ ÀÎÁõ ±â°ü(CA)À¸·Î ¼³Á¤ÇÏ¿© Webmin »ç¿ëÀÚ ÀÎÁõ¼­¸¦ ¿äÃ»ÇÒ ¼ö ÀÖ°Ô ÇÏ·Á¸é ¹Ýµå½Ã ÀÌ ¾ç½ÄÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. ±×·¯¸é Webmin »ç¿ëÀÚ ÀÎÁõ¼­¸¦ ÅëÇØ ·Î±×ÀÎÇÏÁö ¾Ê°íµµ ¼­¹ö°¡ »ç¿ëÀÚ¸¦ ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ca_cn=±â°ü ÀÌ¸§
ca_email=ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
ca_ou=ºÎ¼­
ca_o=Á¶Á÷
ca_sp=½Ã/µµ
ca_c=±¹°¡ ÄÚµå
ca_create=ÀÎÁõ ±â°ü ¼³Á¤
ca_oldmsg1=ÀÌ ¼­¹ö¿¡ »ç¿ë ÁßÀÎ CA ÀÎÁõ¼­°¡ ¾Æ·¡¿¡ Ç¥½ÃµË´Ï´Ù. ´Ù¸¥ CAÀÇ ÀÎÁõ¼­¿¡ ºÙ¿©³Ö¾î¼­ ÀÎÁõ¼­¸¦ º¯°æÇÒ ¼öµµ ÀÖÁö¸¸, ±×·² °æ¿ì »ç¿ëÀÚ¿¡°Ô ÀÌ¹Ì ¹ß±ÞµÈ ¸ðµç ÀÎÁõ¼­°¡ ÀÛµ¿ÇÏÁö ¾Ê°Ô µË´Ï´Ù. 
ca_oldmsg2=´Ù¸¥ Webmin ¼­¹ö¿¡¼­ CA¸¦ ÀÌ¹Ì ¼³Á¤ÇÑ °æ¿ì¿¡´Â »õ CA¸¦ ¼³Á¤ÇÏ´Â ´ë½Å ¾Æ·¡ÀÇ ÀÎÁõ¼­¸¦ ºÙ¿©³ÖÀ» ¼ö ÀÖ½À´Ï´Ù. ±×·¯¸é ´Ù¸¥ ¼­¹öÀÇ »ç¿ëÀÚ°¡ ÀÌ ¼­¹ö¿¡¼­µµ ÀÎ½ÄµÉ ¼ö ÀÖ½À´Ï´Ù.
ca_err=ÀÎÁõ ±â°üÀ» ¼³Á¤ÇÏÁö ¸øÇß½À´Ï´Ù
ca_setupok=ÀÎÁõ ±â°üÀÌ ¼º°øÀûÀ¸·Î ¼³Á¤µÇ¾ú½À´Ï´Ù. ÀÌÁ¦ »ç¿ëÀÚ°¡ Webmin »ç¿ëÀÚ ¸ðµâÀ» »ç¿ëÇÏ¿© ÀÎÁõ¼­¸¦ ¿äÃ»ÇÒ ¼ö ÀÖ½À´Ï´Ù. 
ca_stop=ÀÎÁõ ±â°ü Á¾·á
ca_stopmsg=WebminÀÇ ±âÁ¸ ÀÎÁõ¼­ ¼ö¶ô ¶Ç´Â »õ ÀÎÁõ¼­ ¹ß±ÞÀ» ÁßÁöÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ÀÌ °æ¿ì »ç¿ëÀÚ´Â ´ë½Å »ç¿ëÀÚ ÀÌ¸§ ¹× ÆÐ½º¿öµå ÀÎÁõÀ» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.
ca_stopok=ÀÎÁõ ±â°üÀÌ ¼º°øÀûÀ¸·Î Á¾·áµÇ¾ú½À´Ï´Ù.
ca_eminiserv=SSL Å¬¶óÀÌ¾ðÆ® ÀÎÁõ¼­´Â miniserv ¾Æ·¡¼­¸¸ Áö¿øµË´Ï´Ù.
ca_eversion=½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ Perl Net::SSLeay ¸ðµâ ¹öÀüÀº SSL Å¬¶óÀÌ¾ðÆ® ÀÎÁõ¼­¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.
ca_essleay=½Ã½ºÅÛ¿¡ SSL °ü¸® ¸í·É $1ÀÌ(°¡) ¾ø½À´Ï´Ù. Webmin »ç¿ëÀÚ ¸ðµâ ±¸¼º¿¡¼­ ÇØ´ç °æ·Î¸¦ º¯°æÇØ¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ca_essl=SSL ÀÎÁõÀº À¥ ¼­¹ö°¡ SSL ¸ðµå·Î ½ÇÇà ÁßÀÏ ¶§¸¸ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

session_title=ÀÎÁõ
session_desc1=ÀÎÁõ ±â´ÉÀ» ¼³Á¤ÇÑ °æ¿ì¿¡´Â ÆÐ½º¿öµå ½Ã°£ ÃÊ°ú¸¦ ÅëÇØ °°Àº »ç¿ëÀÚÀÇ ·Î±×ÀÎ ½Ãµµ ½ÇÆÐ »çÀÌÀÇ Áö¿¬ ½Ã°£ÀÌ Áö¼ÓÀûÀ¸·Î Áõ°¡µÇ¹Ç·Î Webmin ¼­¹ö¿¡ ´ëÇÑ ÆÐ½º¿öµå Å©·¡Å· °ø°ÝÀ» ¸·À» ¼ö ÀÖ½À´Ï´Ù.
session_desc2=¼¼¼Ç ÀÎÁõ ±â´ÉÀ» ¼³Á¤ÇÑ °æ¿ì¿¡´Â ·Î±×ÀÎÇÑ °¢ »ç¿ëÀÚÀÇ ¼¼¼ÇÀÌ Webmin¿¡ ÀÇÇØ ÃßÀûµÇ¹Ç·Î À¯ÈÞ »ç¿ëÀÚ¸¦ ÀÚµ¿À¸·Î ·Î±×¾Æ¿ôÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼¼¼Ç ÀÎÁõ ±â´ÉÀ» ¼³Á¤/ÇØÁ¦ÇÏ¸é ¸ðµç »ç¿ëÀÚ°¡ ´Ù½Ã ·Î±×ÀÎÇØ¾ß ÇÑ´Ù´Â Á¡¿¡ À¯ÀÇÇÏ½Ê½Ã¿À.
session_header=ÀÎÁõ ¹× ¼¼¼Ç ¿É¼Ç
session_pdisable=ÆÐ½º¿öµå ½Ã°£ ÃÊ°ú ±â´É ÇØÁ¦
session_penable=ÆÐ½º¿öµå ½Ã°£ ÃÊ°ú ±â´É ¼³Á¤
session_blockhost=$1È¸ ÀÌ»ó ·Î±×ÀÎ¿¡ ½ÇÆÐÇÑ È£½ºÆ®¸¦ $2ÃÊ µ¿¾È Â÷´Ü
session_syslog=Â÷´ÜµÈ È£½ºÆ®¸¦ <tt>syslog</tt>¿¡ ·Î±×
session_disable=¼¼¼Ç ÀÎÁõ ±â´É ÇØÁ¦
session_enable=¼¼¼Ç ÀÎÁõ ±â´É ¼³Á¤
session_localoff=Ç×»ó »ç¿ëÀÚ ÀÌ¸§°ú ÆÐ½º¿öµå ¿ä±¸
session_localon=·ÎÄÃ È£½ºÆ® »ç¿ëÀÚÀÇ ÆÐ½º¿öµå°¡ ÀÏÄ¡ÇÏ´ÂÁö È®ÀÎÇÏÁö ¾Ê°í ·Î±×ÀÎ Çã¿ë
session_logout=ºñÈ°¼º »óÅÂ $1ºÐ ÈÄ ÀÚµ¿ ·Î±×¾Æ¿ô
session_locking=WebminÀÇ Àá±Ý ±â´É ÇØÁ¦
session_err=ÀÎÁõÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
session_elogouttime=¾ø°Å³ª Àß¸øµÈ ·Î±×¾Æ¿ô ½Ã°£
session_eblockhost_time=¾ø°Å³ª Àß¸øµÈ Â÷´Ü ½Ã°£
session_eblockhost_failures=¾ø°Å³ª Àß¸øµÈ Â÷´Ü ·Î±×ÀÎ
session_ecookie=ºê¶ó¿ìÀú¿¡¼­ ¼¼¼Ç ÀÎÁõ¿¡ ÇÊ¿äÇÑ ÄíÅ°¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
session_elsof=·ÎÄÃ ÀÎÁõ¿¡ <tt>lsof</tt> ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÕ´Ï´Ù
session_remember=·Î±×ÀÎÀ» ¿µ±¸ÀûÀ¸·Î ÀúÀåÇÕ´Ï±î?

assignment_title=¸ðµâ ÀçÇÒ´ç
assignment_header=¸ðµâ ¹üÁÖ ÇÒ´ç
assignment_ok=¹üÁÖ º¯°æ
assignment_desc=ÀÌ ¾ç½Ä¿¡¼­´Â °¢ ¸ðµâÀÌ Webmin ÀÎµ¦½º ÆäÀÌÁö¿¡ Ç¥½ÃµÇ´Â ¹üÁÖ¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

categories_title=¹üÁÖ ÆíÁý
categories_header=¹üÁÖ ID ¹× ¼³¸í
categories_desc=ÀÌ ¾ç½Ä¿¡¼­´Â ±âÁ¸ Webmin ¹üÁÖÀÇ ÀÌ¸§À» ¹Ù²Ù°Å³ª ¸ðµâÀ» ÇÒ´çÇÒ »õ ¹üÁÖ¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×ÀÌºíÀÇ À­ºÎºÐÀº ±âº» Á¦°ø ¹üÁÖ¿¡ ´ëÇÑ ¼³¸íÀ» º¯°æÇÏ´Â µ¥ »ç¿ëµÇ¸ç, ¾Æ·¡ ºÎºÐÀº »õ ¹üÁÖ ID¿Í ¼³¸íÀ» Ãß°¡ÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
categories_ok=¹üÁÖ ÀúÀå
categories_err=¹üÁÖ¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
categories_edesc=$1¿¡ ´ëÇÑ ¼³¸íÀÌ ¾ø½À´Ï´Ù
categories_ecat=¹üÁÖ ID $1Àº(´Â) ÀÌ¹Ì »ç¿ëµÇ°í ÀÖ½À´Ï´Ù

log_access=IP Á¢±Ù Á¦¾î º¯°æµÊ
log_bind=Æ÷Æ® ¹× ÁÖ¼Ò º¯°æµÊ
log_log=·Î±× ¿É¼Ç º¯°æµÊ
log_proxy=ÇÁ·Ï½Ã ¼­¹ö º¯°æµÊ
log_ui=»ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º ¿É¼Ç º¯°æµÊ
log_install=¸ðµâ $1 ¼³Ä¡µÊ
log_tinstall=Å×¸¶ $1 ¼³Ä¡µÊ
log_clone=$2¿¡ ¸ðµâ $1 º¹Á¦µÊ
log_delete=¸ðµâ $1 »èÁ¦µÊ
log_os=¿î¿µ Ã¼Á¦ º¯°æµÊ
log_lang=±Û·Î¹ú ¾ð¾î º¯°æµÊ
log_startpage=ÀÎµ¦½º ÆäÀÌÁö ¿É¼Ç º¯°æµÊ
log_upgrade=¹öÀü $1(À¸)·Î Webmin ¾÷±×·¹ÀÌµåµÊ
log_session=ÀÎÁõ ¿É¼Ç º¯°æµÊ
log_ssl=SSL ¾ÏÈ£È­ ¸ðµå º¯°æµÊ
log_setupca=ÀÎÁõ ±â°ü ¼³Á¤µÊ
log_changeca=ÀÎÁõ ±â°ü º¯°æµÊ
log_stopca=ÀÎÁõ ±â°ü Á¾·áµÊ
log_assignment=¸ðµâ ¹üÁÖ º¯°æµÊ
log_categories=¹üÁÖ ÀÌ¸§ º¯°æµÊ
log_theme=$1(À¸)·Î Å×¸¶ º¯°æ
log_theme_def=Webmin ±âº» Å×¸¶·Î º¯°æµÊ
log_referers=½Å·ÚÇÒ ¼ö ÀÖ´Â ÁßÀçÀÚ º¯°æµÊ

themes_title=Webmin Å×¸¶
themes_desc=Å×¸¶´Â Webmin »ç¿ëÀÚ ÀÎÅÍÆäÀÌ½º(¾ÆÀÌÄÜ, »ö»ó, ¹è°æ ¹× ·¹ÀÌ¾Æ¿ô ÆäÀÌÁö µî)ÀÇ ¸ð¾çÀ» Á¦¾îÇÕ´Ï´Ù. ¾Æ·¡ÀÇ ¼±ÅÃ¶õÀ» »ç¿ëÇÏ¿© ½Ã½ºÅÛ¿¡ ¼³Ä¡µÈ Å×¸¶ Áß ÇÏ³ª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
themes_sel=ÇöÀç Å×¸¶:
themes_default=Webmin ±âº» Å×¸¶
themes_change=º¯°æ
themes_installdesc=¾Æ·¡ÀÇ ¾ç½Ä¿¡¼­´Â ½Ã½ºÅÛ¿¡ »õ Webmin Å×¸¶¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×¸¶´Â ÀÏ¹ÝÀûÀ¸·Î <tt>.wbt</tt> ÆÄÀÏ·Î ¹èÆ÷µÇÁö¸¸, ¿î¿µ Ã¼Á¦¿¡¼­ Áö¿øÇÒ °æ¿ì¿¡´Â RPM ÆÄÀÏ·ÎºÎÅÍ ¼³Ä¡ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
themes_installok=Å×¸¶ ¼³Ä¡

themes_err1=$1¿¡¼­ Å×¸¶¸¦ ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
themes_efile=ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù
themes_err2=¾÷·ÎµåÇÑ Å×¸¶¸¦ ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
themes_ebrowser=ºê¶ó¿ìÀú¿¡¼­ ÆÄÀÏ ¾÷·Îµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù
themes_err3=$1¿¡¼­ Å×¸¶¸¦ ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù
themes_eurl=Àß¸øµÈ URL
themes_etar=Àß¸øµÈ Å×¸¶ ÆÄÀÏÀÔ´Ï´Ù: $1
themes_einfo=Å×¸¶ $1¿¡ theme.info ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
themes_enone=ÆÄÀÏ¿¡ Æ÷ÇÔµÈ Å×¸¶°¡ ¾ø½À´Ï´Ù
themes_eextract=¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
themes_done=´ÙÀ½ Å×¸¶°¡ ½Ã½ºÅÛ¿¡ ¼º°øÀûÀ¸·Î ¼³Ä¡µÇ¾ú½À´Ï´Ù.
themes_line=$2ÀÇ $1($3KB)
themes_ecomp=ÆÄÀÏÀÌ ¾ÐÃàµÇ¾î ÀÖÁö¸¸, ½Ã½ºÅÛ¿¡ $1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
themes_ecomp2=ÆÄÀÏÀÇ ¾ÐÃàÀ» Ç®Áö ¸øÇß½À´Ï´Ù: $1
themes_egzip=ÆÄÀÏÀÌ gzipÀ¸·Î ¾ÐÃàµÇ¾î ÀÖÁö¸¸, ½Ã½ºÅÛ¿¡ $1 ¸í·ÉÀÌ ¾ø½À´Ï´Ù
themes_egzip2=ÆÄÀÏÀ» gunzip ÇÏÁö ¸øÇß½À´Ï´Ù: $1
themes_erpm=Webmin Å×¸¶ RPMÀÌ ¾Æ´Õ´Ï´Ù
themes_eirpm=RPMÀ» ¼³Ä¡ÇÏÁö ¸øÇß½À´Ï´Ù: $1
themes_ok=Å×¸¶°¡ ¼º°øÀûÀ¸·Î º¯°æµÇ¾úÀ¸¸ç Webmin ÀÎµ¦½º ÆäÀÌÁö·Î ¸®µð·º¼Ç ÁßÀÔ´Ï´Ù.

referers_title=½Å·ÚÇÒ ¼ö ÀÖ´Â ÁßÀçÀÚ
referers_desc=ÀÌ ÆäÀÌÁö¿¡¼­´Â ºê¶ó¿ìÀú¸¦ ¼Ó¿©¼­ Webmin¿¡ À¯ÇØÇÑ ÀÛ¾÷À» ¼öÇàÇÏ·Á´Â ´Ù¸¥ À¥»çÀÌÆ®ÀÇ ¾ÇÀÇÀû ¸µÅ©¸¦ ¸·´Â µ¥ »ç¿ëµÇ´Â Webmin ÁßÀçÀÚ °Ë»ç Áö¿øÀ» ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª °æ°í¸¦ Ç¥½ÃÇÏÁö ¾ÊÀ» °³ÀÎ À¥ »çÀÌÆ®ÀÇ Webmin ¸µÅ©ÀÎ °æ¿ì¿¡´Â ¾Æ·¡ÀÇ ¸ñ·Ï¿¡ ÇØ´ç »çÀÌÆ®¸¦ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.
referers_list=½Å·ÚÇÒ ¼ö ÀÖ´Â À¥»çÀÌÆ®
referers_none=¾Ë ¼ö ¾ø´Â ÁßÀçÀÚÀÇ ¸µÅ© ½Å·Ú
referers_referer=ÁßÀçÀÚ °Ë»ç ±â´ÉÀÌ ¼³Á¤µÇ¾î ÀÖ½À´Ï±î?

syslet_title=Syslet ÀÚµ¿ ´Ù¿î·Îµå
syslet_desc=ÀÌ ÆäÀÌÁö¿¡¼­´Â Webmin ¼­¹ö¿¡ ¾ø´Â Eazel Syslet¸¦ ÀÚµ¿À¸·Î ´Ù¿î·Îµå ¹× ¼³Ä¡ÇÏµµ·Ï ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
syslet_auto=syslet¸¦ ÀÚµ¿À¸·Î ´Ù¿î·ÎµåÇÕ´Ï±î?
syslet_base=syslet RPMÀÇ ±âº» URL
syslet_err=syslet ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
syslet_ebase=Àß¸øµÈ ±âÃÊ URL
  070701000077cb000081a40000000000000002000000013d1fe2cb000054cc000000200000000000000000000000000000001500000003reloc/webmin/lang/nl  index_title=Webmin Configuratie
index_return=webmin configuratie

access_title=IP Toegangs Controle
access_desc=De Webmin server kan via deze functier worden geconfigureerd om alleen toegang te verlenen of te weigeren vanaf bepaalde IP adressen. Hostnamen (zoals foo.bar.com) en IP netwerken (zoals 10.254.3.0 of 10.254.1.0/255.255.255.128) kunnen ook ingevuld worden. U zou de toegang tot uw server moeten beperken tot vertrouwde adressen, zeker wanneer het systeem vanaf het Internet bereikbaar is. Anders heeft iedereen die uw wachtwoord raadt volledige toegang tot uw systeem.
access_header=Toegangs Controle
access_all=Toestaan vanaf alle adressen
access_allow=Alleen toestaan vanaf adressen in de lijst
access_deny=Weigeren vanaf adressen in de lijst
access_err=Fout bij het opslaan van toegangslijst
access_enone=Geen adress ingevoerd
access_enet='$1' is geen geldig netwerkadres
access_emask='$1' is geen geldig netmasker
access_eip='$1' is geen compleet IP of netwerk adres
access_ehost=Fout bij het vinden van het IP adres voor '$1'
access_eself=Uw huidige IP adres ($1) zou worden geweigerd

bind_title=Poort en Adres
bind_desc=Al de host waarop Webmin draait meerdere IP adressen heeft, kan de server met dit formulier worden geconfigureerd om op slechts een adres te luisteren. De TCP poort waarop Webmin luisterd kan hier ook worden geconfigureerd. Opmerking - uw web browser kan u opnieuw om uw gebruikersnaam en wachtwoord vragen als u de poort of het verbindings adres weizigd.
bind_header=IP Adres and Poort
bind_ip=Luister op IP Adres
bind_all=Alle
bind_port=Luister op Poort
bind_err=Fout bij het wijzigen van adres
bind_eip=Fout bij het ophalen van het IP adres voor '$1'
bind_eassign=Het adres '$1' is niet toegewezen aan dit systeem
bind_eport=Poort $1 is al in gebruik

log_title=Rapportage
log_desc=Webmin kan worden geconfigureerd om een rapportage te schrijven van de web server verbindingen, in het standaard CLF log bestand formaat. Als de rapportage is ingeschakeld, kunt u ook kiezen of het IP adres of de hostnaam worden opgeslagen, en hoe vaak het rapportage bestand wordt leeg gemaakt. Wanneer ingeschakeld, wordt de rapportage weggeschreven in het bestand $1.
log_desc2=Wanneer de rapportage is ingeschakeld, zal Webmin ook een meer gedetailleerde rapportage maken van gebruikersacties in bestand $1. Deze rapportage kan worden bekeken en worden geannaliseerd met de Webmin Actie Rapportage module om precies te kunnen zien wat iedere webmingebruiker heeft gedaan.
log_header=Web Server Rapportage
log_disable=Uitschakelen rapportage
log_enable=Inschakelen rapportage
log_resolv=Sla opgezochte hostnamen op
log_clear=Leeg apportage bestanden iedere $1 uur
log_uall=Rapporteer acties van alle gebruikers
log_users=Rapporteer alleen de acties van ..
log_mall=Rapporteer acties in alle modules
log_modules=Rapporteer aleen acties in ..
log_files=Rapporteer wijzigingen in bestanden gemaakt door alle acties
log_err=Fout bij het opslaan van de Rapportage opties
log_ehours='$1' is geen geldig aantal uren
log_ediff=Uw systeem bevat niet het commando $1 wat nodig is voor het rapoorteren van weizigingen in bestanden

proxy_title=Proxy Servers
proxy_desc=Als de host waarop Webmin draait zich achter een of andere firewall bevind, zult u mogelijk de proxy server invullen die nodig is voor het maken van een verbinding met het web and FTP sites. Bepaalde modules, zoals <tt>Software Paketten</tt>, zullen dan deze proxies gebruiken voor het downloaden van bestanden of programma's.
proxy_header=Proxy Servers
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=Geen
proxy_nofor=Geen proxy voor
proxy_err=Fout bij het opslaan van de proxies
proxy_ehttp=De HTTP proxy server moet ingevoerd worden als een URL
proxy_eftp=De FTP proxy server moet ingevoerd worden als een URL

ui_title=Gebruikers Interface
ui_desc=Met deze functie kunt u de gebruikersinterface opties voor alle modules te bewerken. Wanneer u kleuren definieerd, moeten deze worden opgegeven in het standaard RGB systeem, waar iedere waarde een hexadecimaal nummer is tussen 00 en FF.
ui_header=Gebruikers Interface Opties
ui_default=Standaard
cs_page=Pagina achtergrond
cs_text=Normale tekst
cs_table=Tabel achtergrond
cs_header=Tabel kop
cs_link=Link tekst
ui_texttitles=Toon titels als tekst?
ui_sysinfo=Toon login en hostnaam
ui_sysinfo0=Aan de onderzijde van de browser
ui_sysinfo1=In de browser titel
ui_sysinfo2=Boven de pagina kop
ui_err=Fout bij het opslaan van de kleuren
ui_ered=Ongeldige rood waarde voor '$1'
ui_egreen=Ongeldige groen waarde voor '$1'
ui_eblue=Ongeldige blauw waarde voor '$1'

mods_title=Webmin Modules
mods_desc1=Webmin modules kunnen na installatie via het formulier rechts worden toegevoegd. Modules worden standaard gedistribueerd als  <tt>.wbm</tt> bestanden, welke een of meerdere modules kunnen bevatten. Als een module is gelicenceerd om alleen op een bepaalde host te draaien, kunt u het mogelijk niet installeren.
mods_install=Installeer Module
mods_local=Vanuit een lokaal bestand
mods_uploaded=Vanuit een geupload bestand
mods_ftp=Vanaf een ftp of http URL
mods_installok=Installeer Module uit een bestand
mods_desc2=Wanneer u meer dan een kopie van dezelfde module met verschillende configuraties wilt gebruiken, dan kunt u me het formulier rechts iedere bestaande module klonen. De kloon zal een nieuwe naam hebben, een nieuwe configuratie, nieuwe toegang en kan toegankelijk gemaakt worden voor andere gebruikers.
mods_clone=Kloon Module
mods_cname=Module om te klonen
mods_cnew=Gekloonde module naam
mods_cloneok=Kloon Module
mods_desc3=bestaan de modules en hun klonen kunnen met behulp van het onderstaande formulier worden verwijderd. Wanneer een module waarvan u klonen heeft gemaakt verwijderd, worden ook de klonen verwijderd. Wanneer een module is verwijderd moet het opnieuw worden geinstalleerd, voordat u het opnieuw kunt gebruiken. Een module kan niet worden verwijderd ale een anderemodule ervan afhankelijk is.
mods_delete=Verwijder Modules
mods_deleteok=Verwijden Geselecteerde Modules

install_err1=Fout bij het installeren van module uit $1
install_efile=Bestand bestaat niet
install_err2=Fout bij het installeren van een geuploade module
install_ebrowser=Uw brouwser ondersteund geen bestands uploads
install_err3=Fout bij het installeren van module uit $1
install_eurl=Ongeldige URL
install_etar=Geen geldig module bestand : $1
install_einfo=Module $1 mist een module.info bestand
install_enone=Bestand lijkt geen modules te bevatten
install_eos=Module $1 ondersteund dit besturingssysteem niet ($2 $3)
install_ever=Module $1 afhankelijk van Webmin versie $2 of hoger
install_edep=Module $1 afhankelijk van module $2
install_eextract=Uitpakken mislukt : $1
install_title=Installeer Module
install_desc=De volgende modules zijn succesvol geinstalleerd en toegevoegd aan uw toegangscontrolelijst :
install_line=$1 in $2 ($3 kB)
install_ecomp=Bestand is gecomprimeerd, maar het $1 commando is niet gevonden op uw systeem
install_ecomp2=Fout bij decomprimeren van bestand : $1
install_egzip=Bestand is met gzip gecomprimeerd, maar het $1 commando is niet gevonden op uw systeem
install_egzip2=Fout bij get gunzippen van bestand : $1
install_erpm=Geen Webmin module RPM
install_eirpm=RPM installatie mislukt : $1

clone_err=Fout bij het klonen van module
clone_elink=symlink mislukt : $1
clone_ecopy=fout bij het kopieren van configuratie : $1
clone_desc=Kloon van $1

delete_err=Fout bij het verwijderen van modules
delete_edep=Module $1 kan niet worden verwijderd, omdat de module $2 ervan afhankelijk is
delete_desc1=$1 (Kloon van $2)
delete_desc2=$1 in $2 ($3 kB)
delete_title=Verwijder Modules
delete_msg=De volgende modules zijn succesvol verwijderd uit uw Webmin installation :
delete_sure=Weet u zeker dat u de geselecteerde modules wilt verwijderen? $1 kB aan bestanden val permanent worden verwijderd.

os_title=Besturingssysteem
os_desc=Met deze functie kunt u het besturingssysteem wijzigen volgens welke Webmin uw systeem beschouwt. Dit kan handig zijn als u uw systeem heeft opgewaardeerd naar een nieuwere versie. Merk op dat de configuratie van de modules niet zal worden veranderd, ook niet wanneer er verschillen zijn tussen het oude en het nieuwe systeem.
os_desc2=U kunt ook het zoekpad wijzigen dat Webmin gebruikt bij het uitvoeren van programma's, en het gedeelde bibliotheken pad wat wordt doorgegeven aan programma's.
os_header=Host Besturingssysteem
os_curros=Huidig besturingssysteem
os_currver=Huidige OS versie
os_new=Nieuw besturingssysteem
os_path=Programma zoekpad
os_ld_path=Gedeelde bibliotheken zoekpad

lang_title=Taal
lang_title2=Webmin Taal
lang_lang=Geef weer in de taal
lang_intro=Met deze functie kunt u de taal te wijzigen die Webmin zal gebruiken voor het weergeven van titels, vragen en berichten.
lang_ok=Wijzig de Taal

ssl_title=SSL Encryptie
ssl_desc1=De host waarop Webmin wordt uitgevoerd blijkt de SSLeay Perl module geinstalleerd te hebben. Hier gebruik van makend, ondersteunt Webmin SSL gecodeerde communicatie tussen uw browser en de server. Als u uw Webmin server via het Internet benaderd, dan zou u zeker het gebruik van SSL moeten overwegen om het bemachtigen van uw Webmin wachtwoord door een aanvaller te voorkomen.
ssl_desc2=Waarschuwing - zet de SSL ondersteuning alleen aan als u een browser met SSL ondersteuning gebruikt (zoals Netscape of IE), en er zich geen firewall tussen uw browser en uw Webmin host bevind die <b>https</b> vezoeken blokkeerd
ssl_header=SSL Ondersteuning
ssl_enable=Schakel SSL ondersteuning in, wanneer beschikbaar
ssl_disable=Schakel SSL ondersteuning uit, wanneer beschikbaar

startpage_title=Index Pagina Opties
startpage_intro=Met deze functie kunt u definieëren hoeveel iconen er zich per rij naast elkaar op uw scherm bevinden op de index pagina.
startpage_tabs=Categoriseer modules?
startpage_nocol=Aantal Kolommen
startpage_alt=Gebruik alternatieve kop
startpage_ecols='$1' is geen geldig aantal kolommen
startpage_gotoone=Ga rechtstreeks naar de module<br> als de gebruiker slechts toegang heeft tot één module?
startpage_deftab=Standaard categorie

upgrade_title=Webmin opwaarderen
upgrade_desc=Met deze functie kunt u uw gehele webmin installatie opwaarderen naar een nieuwere versie. U kun installeren vanuit een lokaal bestand, of vanaf de laatste versie op <a href=http://www.webmin.com/>www.webmin.com</a>. Evenals bij een handmatige upgrade, zullen alle configuratie instellingen en third-party modules worden behouden.
upgrade_descrpm=Met deze functie kunt u uw gehele webmin installatie opwaarderen naar een nieuwere versie. U kun installeren vanuit een lokaal bestand, of vanaf de laatste versie op <a href=http://www.webmin.com/>www.webmin.com</a>. Evenals bij een handmatige upgrade, zullen alle configuratie instellingen en third-party modules worden behouden.
upgrade_descsolaris-pkg=Met deze functie kunt u uw gehele webmin installatie opwaarderen naar een nieuwere versie. U kun installeren vanuit een lokaal bestand, of vanaf de laatste versie op <a href=http://www.webmin.com/>www.webmin.com</a>. Evenals bij een handmatige upgrade, zullen alle configuratie instellingen en third-party modules worden behouden.
upgrade_local=Vanaf een lokaal bestand
upgrade_uploaded=Vanaf een geupload bestand
upgrade_ftp=Laatste versie op www.webmin.com
upgrade_ok=Webmin opwaarderen
upgrade_err1=Fout bij het opwaarderen vanaf $1
upgrade_err2=Fout bij het opwaarderen vanaf geupload bestand
upgrade_err3=Fout bij het opwaarderen vanaf www.webmin.com
upgrade_efile=Bestand bestaat niet
upgrade_ebrowser=Uw browser ondersteunt geen uploads van bestanden
upgrade_eversion=U kun uw versie niet vervangen door een oudere $1
upgrade_erpm=Geen geldig Webmin RPM bestand
upgrade_egunzip=U systeem bevat niet het <tt>gunzip</tt> commando
upgrade_etar=Geen geldig Webmin tar bestand
upgrade_emod=Bestand is een Webmin module, geen compleete Webmin upgrade. U kunt de <a href='$1'>Webmin Modules</a> pagina gebruiken om het te installeren.
upgrade_setup=Voert setup.sh script uit om Webmin op te waarderen.. Een ogenbik geduld a.u.b. totodat het script is voltooid voordat u verder gaat.
upgrade_setuprpm=Voert RPM uit om Webmin op te waarderen.. Een ogenbik geduld a.u.b. totodat het script is voltooid voordat u verder gaat.
upgrade_setuppackage=Voert pkgadd uit om Webmin op te waarderen.. Een ogenbik geduld a.u.b. totodat het script is voltooid voordat u verder gaat.
upgrade_esolaris=Webmin's opwaarderings functie werkt op het moment nog niet wanneer u het heeft geinstalleerd vanuit een Solaris paket. Voer de opwaardering a.u.b. handmatig uit.

update_desc1=Met deze functie kunt u Webmin modules opwaarderen, waarin fouten of beveiligingslekken zijn gevonden vanaf de <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> pagina of een andere plek. De nu geïnstalleerde modules worden vergeleken met de voorhanden zijnde nieuwe versies en desgewenst worden ze opgehaald en geïnstalleerd.
update_header1=Installeer nu de nieuwe modules
update_header2=Installeer de nieuwe modules op tijdschema
update_webmin=Opwaarderen vanaf www.webmin.com
update_other=Opwaarderen vanaf alternatief:
update_show=Laat alleen de modules zien die zouden worden opgewaardeerd
update_missing=Installeer modules die nu niet zijn geïnstalleerd
update_quiet=Laat alleen de wijzigingen zien
update_ok=Modules Opwaarderen
update_email=Email een verslag naar:
update_enabled=Opwaardering op tijdschema is ingeschakeld
update_apply=Bewaren en Toepassen
update_sched=Modules om de $2 dagen om $1:00 uur opwaarderen

update_desc2=Met deze functie kunt u automatisch volgens een tijdschema Webmin modules opwaarderen, waarin fouten of beveiligingslekken zijn gevonden vanaf de <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> pagina of een andere plek. Alhoewel dit een handige service is, dient hij met overleg te worden gebruikt: als de Webmin site wordt gekraakt door hackers, bestaat zo de mogelijkheid dat uw server door die hackers wordt overgenomen. 

ca_title=Certificaat Authoriteit
ca_old=Bestaand certificaat
ca_header1=Maak een nieuw CA certificaat aan
ca_header2=Bewerk CA certificaat
ca_newmsg1=Uw Webmin server is reeds ingesteld als een certificate authoriteit. U kunt dit formulier gebruiken om die opnieuw te doen, maar alle reeds uitgegeven certificaten zullen niet meer werken.
ca_newmsg2=Dit formulier moet gebruikt worden om uw Webmin server in te stellen als een certificaat authoriteit (CA) zodat gebruikers een certificaat kunnen aanvragen in de Webmin Users Module zodat ze zich kunnen identificeren zonder dat een gebruikersnaam of wachtwoord vereist is.
ca_cn=Authoreit naam
ca_email=Email adres
ca_ou=Afdeling
ca_o=Organisatie
ca_sp=Staat/Provincie
ca_c=Land code
ca_create=Stel certificaat authoriteit in
ca_oldmsg1=Het CA certificaat dat deze server gebruikt kunt u hieronder zien. U kunt dit wijzigen door er het certificaat van een andere CA in het plakken, maar alle reeds uitgegeven certificaten zullen niet meer werken.
ca_oldmsg2=Als u reeds op een andere webmin server een CA heeft ingesteld dan kunt u het hier simpelweg in plakken, in plaats van een nieuwe in te stellen. Dit zorgt ervoor dat uw gebruikers ook door de andere server zullen worden herkend.
ca_err=Fout bij het instellen van de certificaat authoriteit
ca_setupok=Uw certificaat authoriteit is succesvol ingesteld. Gebruikers kunne nu via de Webmin Gebruikersmodule een certificaat aanvragen.
ca_stop=Sluit de certificaat authoriteit af
ca_stopmsg=Klik op deze knop om het accepteren van bestaande en het uitgeven van nieuwe certificaten uit te schakelen. Hierdoor moeten gebruikers aanmelden met hun wachtwoord en gebruikersnaam.
ca_stopok=Uw certificaat autoriteit is met succes afgesloten.
ca_eminiserv=SSL client certificaten worden alleen ondersteund door.
ca_eversion=De versie van de Perl Net::SSLeay module die op uw systeem is geinstalleerd ondersteund geen SSL client certificaten.
ca_essleay=Het SSL administratie programma $1 is niet gevonden op uw systeem. U moet mogelijk het pad wijzigen in de Webmin Gebruikers module configuratie.
ca_essl=SSL certificatie kan alleen worden ingesteld als de webserver in SSL modus draait.

session_title=Verificatie
session_desc1=Wanneer ingeschakeld beschermen wachtwoord timeouts uw Webmin server van brute-kracht wachtwoord kraak aanvallen door de steeds groter wordende vertraging tussen iedere mislukte inlog poging van dezelfde gebruiker.
session_desc2=Wanneer sessie verificatie is ingeschakeld, wordt iedere ingelogde gebruiker door webmin gevolgd, zodat inactivieve gebruikers automatisch kunnen worden uitgelogd. Wees erop bedacht dat inschakelink of uitschakeling van sessie verificatie mogelijk tot gevolg heeft dat alle gebruiker opnieuw moeten inloggen.
session_header=Verificatie en sessie opties
session_pdisable=Schakel wachtwoord timeouts uit
session_penable=Schakel wachtwoord timeouts in
session_blockhost=Blokkeer hosts met meer dan $1 mislukte logins voor $2 seconden.
session_syslog=Rapporteer geblokte hosts naar  <tt>syslog</tt>
session_disable=Schakel sessie authenticatie uit
session_enable=Schakel sessie authenticatie in
session_localoff=Vereis altijd een gebruikersnaam en wachtwoord
session_localon=Sta inloggen zonder wachtwoord toe vanaf de localhost
session_logout=Automatisch uitloggen an $1 minuten van geen activiteit
session_locking=Schakel vergrendelingn in Webmin in
session_err=Fout bij het opslaan van verificatie
session_elogouttime=Ontbrekende of ongeldige loguit tijd
session_eblockhost_time=Ontbrekende of ongeldige blokkeer tijd
session_eblockhost_failures=Ontbrekende of ongeldige blokkeer logins
session_ecookie=Uw browser ondersteunt geen cookies, deze zijn vereist voor sessie verificatie.
session_elsof=Locale verificatie vereist het <tt>lsof</tt> programma

assignment_title=Toewijzen Modules
assignment_header=Module categorie toewijzingen

categories_title=Bewerk Categorieën
categories_header=Categorie ID en omschrijving
categories_new=Niewe categorie
categories_add=Voeg Toe

log_access=Wijzig IP toegangs controle
log_bind=poort and adres gewijzigd
log_log=Rapportage opties gewijzigd
log_proxy=Proxy servers gewijzigd
log_ui=Gebruikers interface opties gewijzigd
log_install= Module $1 geinstalleerd
log_tinstall=Thema $1 geinstalleerd
log_clone= Module $1 naar $2 gekloond
log_delete=Module $1 verwijderd
log_os=Besturingssystem gewijzigd
log_lang=Globale taal gewijzigd
log_startpage=Index pagina opties gewijzigd
log_upgrade=Webmin opgewaardeerd naar versie $1
log_session=authenticatie opties gewijzigd
log_ssl=SSL encryptie modus gewijzigd
log_setupca=Certificate authoriteit ingesteld
log_changeca=Certificate authoriteit gewijzigd
log_stopca=Shut down certificate authoriteit afgesloten
log_assignment=Module categorien gewijzigd
log_categories=Categorie namen gewijzigd
log_theme=Thema gewijzigd in $1
log_theme_def=Thema gewijzigd in Webmin standaard
log_referers=Vertwouwde verwijzers gewijzigd

themes_title=Webmin Thema's
themes_desc=Thema's bepalen het uiterlijk van de webmin gebruikersinterface, inclusief de iconen, kleuren, achtergronden en mogelijk de layout van de pagina's. Het onderstaand selectievakje kan worden gebruikt om een van de geinstalleerde thema's te kiezen.
themes_sel=Huidig thema :
themes_default=Standaard Webmin thema
themes_change=Wijzig
themes_installdesc=Gebruik het onderstaande formulier om een nieuw Webmin thema op uw systeem te installeren. Thema's worden meestal verspreid als <tt>.wbt</tt> bestanden, maar kunnen ook vanuit RPM bestanden worden geinstalleerd wanneer dit door uw besturingssysteem wordt ondersteund.
themes_installok=Installeer Thema

themes_err1=Fout bij het installeren van thema vanuit $1
themes_efile=Bestand bestaat niet
themes_err2=Fout bij het installeren van thema vanuit een geupload bestand
themes_ebrowser=Uw brouwser ondersteund geen bestand uploads
themes_err3=Fout bij het installeren van thema vanuit $1
themes_eurl=Ongeldige URL
themes_etar=Geen geldig thema bestand : $1
themes_einfo=Thema $1 is bevat geen theme.info bestand
themes_enone=Het bastand lijkt geen thema's te bevatten
themes_eextract=Uitpakken mislukt : $1
themes_done=De volgende thema's zijn succesvol op uw systeem geinstalleerd :
themes_line=$1 in $2 ($3 kB)
themes_ecomp=Het bestand is gecomprimeerd, maar het $1 commando werd niet op uw systeem gevonden
themes_ecomp2=Fout bij het uitpakken van bestand : $1
themes_egzip=Het bestand is gegzipt, maar het $1 commando werd niet op uw systeem gevonden
themes_egzip2=Fout bij het gunzippen van bestand : $1
themes_erpm=Geen Webmin thema RPM
themes_eirpm=RPM installatie mislukt : $1
themes_ok=Thema wijzigen gelukt .. terugkeren naar de Webmin index pagina.

referers_title=Vertrouwde verwijzers
referers_desc=Deze pagina stelt u in staat om Webmin's verwijzers controle ondersteuning te configureren, welke wordt gebruikt om te voorkomen dat kwaadaardige links van andere websites welke uw browser om de tuin leiden om gevaarlijk dingen te doen met Webmin te voorkomen. Echter wanneer u links naar Webmin heeft vanuit uw eigen websites waar u geen waarschuwing voor wilt ontvangen, dan moet u deze sies toevoegen aan de onderstaande lijst.
referers_list=Vertrouwde websites
referers_none=Vertrouw links van onbekende verwijzers
referers_referer=Verwijzer controle ingeschakeld?

syslet_title=Syslet Automatische-Download
syslet_desc=Deze pagina is voor het configureren van de automatische download en installatie van ontbrekende Eazel Syslets op uw Webmin server.
syslet_auto=Automatisch syslets downloaden ?
syslet_base=Basis URLs voor syslet RPMs
syslet_err=Fout bij het opslaan van de syslet opties
syslet_ebase=Ongeldige basis URL
070701000077cc000081a40000000000000002000000013d1fe2cb00005c9a000000200000000000000000000000000000001500000003reloc/webmin/lang/pl  index_title=Konfiguracja Webmina
index_return=konfiguracji Webmina

access_title=Kontrola dostêpu IP
access_desc=Za pomoc± tej strony Webmin mo¿e byæ skonfigurowany tak, by zakazaæ lub zezwoliæ na dostêp spod okre¶lonych adresów IP. Mo¿na wprowadzaæ nazwy komputerów (jak foo.bar.com) i&nbsp;sieci IP (jak 10.254.3.0 czy 10.254.1.0/255.255.255.128). Powiniene¶ ograniczyæ dostêp jedynie do "zaufanych" adresów, szczególnie je¿eli sieæ jest dostêpna z&nbsp;Internetu. W&nbsp;przeciwnym wypadku kto¶ kto zgadnie lub pods³ucha has³o bêdzie w&nbsp;stanie przej±æ kontrolê nad komputerem.
access_header=Kontrola dostêpu
access_all=Pozwól ze wszystkich adresów
access_allow=Pozwól adresom z&nbsp;listy
access_deny=Zabroñ adresom z&nbsp;listy
access_libwrap=Sprawdzaæ równie¿ pliki TCP-wrappers <tt>hosts.allow</tt> i&nbsp;<tt>hosts.deny</tt>?
access_err=Nie uda³o siê zmieniæ listy dostêpu
access_enone=Nie wprowadzono adresy
access_enet='$1' nie jest prawid³owym adresem
access_emask='$1' nie jest prawid³ow± mask± sieci
access_eip='$1' nie jest kompletnym adresem IP
access_ehost=Nie uda³o sie znale¼æ addresu IP '$1'
access_eself=Twój aktualny adres IP ($1) zosta³by zabroniony

bind_title=Porty i&nbsp;adresy
bind_desc=Je¿eli komputer ma wiele adresów IP, Webmin mo¿e byæ skonfigurowany tak, by by³ dostêpny tylko na jednym adresie. Mo¿na zdefiniowaæ tak¿e port TCP, na którym Webmin s³ucha zleceñ. Uwaga - po zmianie adresu i&nbsp;portu Twoja przegladarka mo¿e powtórnie przeprowadziæ autoryzacjê.
bind_header=Adres i&nbsp;port TCP/IP
bind_ip=S³uchaj na adresach IP
bind_all=Wszystkich
bind_port=S³uchaj na porcie
bind_err=Nie moge zmieniæ adresu
bind_eip=Nie uda³o sie znale¼æ adresu IP '$1'
bind_eassign=Adres '$1' nie jest przypisany do tego komputera
bind_eport=Port $1 jest ju¿ zajêty

log_title=Logowanie
log_desc=Webmin mo¿e zapisywaæ informacje do logu w&nbsp;standartowym formacie CLF. Je¿eli w³±czysz logowanie, mo¿esz zadecydowaæ czy logowaæ adresy IP, czy nazwy, a&nbsp;tak¿e jak czêsto czy¶ciæ log. W³±czone logi s± zapisywane do zbioru $1.
log_desc2=Gdy zostanie w³±czone logowanie, Webmin bedzie równie¿ tworzy³ bardziej szczegó³owy log dzia³añ u¿ytkownika w&nbsp;pliku $1. Log ten mo¿na przegl±daæ i&nbsp;analizowaæ przy pomocy modu³u <tt>Log pracy Webmina</tt>, aby zobaczyæ dok³adnie, co zrobili poszczególni u¿ytkownicy Webmina.
log_header=Logowanie
log_disable=Wy³±cz logowanie
log_enable=W³±cz logowanie
log_resolv=Zapisuj do logu nazwy
log_clear=Czy¶æ logi co $1 godzin
log_uall=Loguj dzia³alno¶æ wszystkich u¿ytkowników
log_users=Loguj jedynie dzia³alno¶æ ..
log_mall=Loguj dzia³alno¶æ we wszystkich modu³ach
log_modules=Loguj jedynie dzia³alno¶æ w ..
log_files=Loguj wszystkie zmiany w&nbsp;plikach
log_err=Nie uda³o siê zmieniæ ustawieñ logowania
log_ehours='$1' nie jest prawid³ow± liczb± godzin
log_ediff=W&nbsp;Twoim systemie brak polecenia $1 potrzebnego do logowania zmian plików

proxy_title=Serwer proxy
proxy_desc=Je¿eli komputer, na którym u¿ywasz Webmina jest umieszczony za firewallem, niektóre modu³y Webmina dla dostêpu do WWW i&nbsp;FTP mog± wymagaæ zdefiniowania proxy serwera.
proxy_header=Serwery proxy
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=Brak
proxy_nofor=Nie u¿ywaj proxy do
proxy_user=Nazwa u¿ytkownika proxy
proxy_pass=Has³o dla proxy
proxy_err=Nie uda³o siê zapisaæ konfiguracji proxy
proxy_ehttp=Proxy HTTP musi byæ podany jako URL
proxy_eftp=Proxy FTP musi byæ podany jako URL

ui_title=Interfejs u¿ytkownika
ui_desc=Za pomoc± tego formularza mo¿esz zmieniæ opcje interfejsu u¿ytkownika u¿ywanego przez modu³y. Ka¿dy z&nbsp;wprowadzonych kolorów musi byæ okre¶lony przy u¿yciu standardowego systemu RGB, gdzie ka¿da z&nbsp;warto¶ci jest liczb± szesnastkow± z&nbsp;zakresu od 00 do ff.
ui_header=Opcje interfejsu u¿ytkownika
ui_default=Domy¶lne
cs_page=T³o strony
cs_text=Zwyk³y tekst
cs_table=T³o tabeli
cs_header=Nag³ówek tabeli
cs_link=Tekst przekierowania
ui_texttitles=Wy¶wietlaæ tytu³y jako tekst?
ui_sysinfo=Pokazaæ nazwê logowania i&nbsp;host
ui_sysinfo0=W&nbsp;dolnej czêsci okna przegl±darki
ui_sysinfo1=W&nbsp;tytule okna przegl±darki
ui_sysinfo2=Ponad nag³ówkiem strony
ui_err=Nie uda³o siê zapisaæ kolorów
ui_ered=Niepoprawna warto¶æ dla koloru czerwonego dla '$1'
ui_egreen=Niepoprawna warto¶æ dla koloru zielonego dla '$1'
ui_eblue=Niepoprawna warto¶æ dla koloru niebieskiego dla '$1'

mods_title=Modu³y Webmina
mods_desc1=Modu³y Webmina mog± byc dodane po instalacji przy u¿yciu formularza po prawej. Modu³y s± zazwyczaj rozprowadzane jako pliki <tt>.wbm</tt>, z&nbsp;kyórych ka¿dy zawiera jeden lub wiêcej modu³ów. Modu³y mo¿na równie¿ zainstalowaæ z&nbsp;plików RPM, je¶li system operacyjny je obs³uguje.
mods_install=Zainstaluj modu³
mods_local=Z&nbsp;pliku lokalnego
mods_uploaded=Z&nbsp;pliku do³±czonego
mods_ftp=Z&nbsp;serwera ftp lub http, URL
mods_nodeps=Pomiñ zale¿no¶ci pomiêdzy modu³ami podczas instalacji
mods_installok=Zainstaluj modu³ z&nbsp;pliku
mods_desc2=Je¶li chcesz mieæ wiêcej ni¿ jedn± kopiê tego samego modu³u z&nbsp;ró¿nymi konfiguracjami, formularz po prawej pozwoli ci sklonowaæ istniej±cy modu³, Sklonowany bêdzie mia³ now± nazwê, now± konfiguracjê, nowe opcje kontroli dostêpu i&nbsp;mo¿e byæ dostêpny dla innych u¿ytkowników. 
mods_clone=Klonuj modu³
mods_cname=Modu³ do sklonowania
mods_cnew=Nowa nazwa modu³u
mods_cloneok=Klonuj modu³
mods_desc3=Istniej±ce modu³y i&nbsp;ich klony mog± byæ usuniête przy u¿yciu poni¿szego formularza. Je¶li usuniesz sklonowany modu³, jego klony równie¿ zostan± usuniête. Je¶li usuniesz modu³, musi on byæ zainstalowany od nowa, ¿eby¶ móg³ go ponownie u¿yæ. Modu³u nie mo¿na usun±æ, je¶li inne modu³y s± od niego zale¿ne.
mods_delete=Usuñ modu³y
mods_deleteok=Usuñ zaznaczone modu³y

install_err1=Nie uda³o siê zainstalowaæ modu³u z&nbsp;$1
install_efile=Plik nie istnieje
install_err2=Nie uda³o siê zainstalowaæ do³±czonego modu³u
install_ebrowser=Twoja przegl±darka nie obs³uguje file uploads
install_err3=Nie uda³o siê zainstalowaæ modu³u z&nbsp;$1
install_eurl=Nieprawid³owy URL
install_etar=Niepoprawny plik modu³u&nbsp;: $1
install_einfo=Modu³ $1 nie zawiera pliku module.info
install_enone=Plik wydaje siê nie zawieraæ ¿adnego modu³u
install_eos=Modu³ $1 nie obs³uguje tego systemu operacyjnego ($2 $3)
install_ever=Modu³ $1 wymaga wersji $2 Webmina lub wy¿szej
install_edep=Modu³ $1 wymaga modu³u $2
install_eextract=Rozpakowanie siê nie powiod³o&nbsp;: $1
install_title=Instalacja modu³u
install_desc=Nastêpuj±ce modu³y zosta³y zainstalowane i&nbsp;dodane do Twojej listy praw dostêpu&nbsp;:
install_line=$1 w&nbsp;$2 ($3 kB)
install_ecomp=Plik jest spakowany, a&nbsp;nie znaleziono polecenia $1 w&nbsp;Twoim systemie
install_ecomp2=Nie uda³o siê rozpakowaæ pliku&nbsp;: $1
install_egzip=Plik jest spakowany programem <tt>gzip</tt>, a&nbsp;nie znaleziono polecenia $1 w&nbsp;Twoim systemie
install_egzip2=Nie uda³o siê rozpakowaæ pliku programem <tt>gunzip</tt>&nbsp;: $1
install_erpm=To nie jest RPM modu³u Webmina
install_eirpm=Instalacja RPM-a nie powiod³a siê&nbsp;: $1

clone_err=Nie uda³o siê skopiowaæ modu³u
clone_elink=dowi±zanie siê nie powiod³o&nbsp;: $1
clone_ecopy=nie uda³o siê skopiowaæ konfiguracji&nbsp;: $1
clone_desc=Kopia $1

delete_err=Nie uda³o siê usun±æ modu³ów
delete_edep=Modu³ $1 nie mo¿e byæ skasowany, bo modu³ $2 jest od niego zale¿ny.
delete_desc1=$1 (Kopia $2)
delete_desc2=$1 w&nbsp;$2 ($3 kB)
delete_title=Usuñ modu³y
delete_msg=Nastêpuj±ce modu³y zosta³y z&nbsp;powodzeniem usuniête z&nbsp;Twojej instalacji Webmina&nbsp;:
delete_rusure=Czy jeste¶ pewien, ¿e chcesz usun±æ modu³(-y) $2&nbsp;?  $1 kB plików zostanie nieodwracalnie skasowanych.

os_title=System operacyjny
os_desc=Ten formularz umo¿liwia Ci zmianê systemu operacyjnego, jako który Webmin traktuje Twój system. Mo¿e to byæ u¿yteczne po aktualizacji systemu operacyjnego na Twojej maszynie do nowszej wersji. Zwróæ uwagê, ¿e konfiguracja zainstalowanych modu³ów nie ulegnie zmianie nawet, je¶li s± ró¿nice pomiêdzy starym i&nbsp;nowym systemem. 
os_desc2=Mo¿esz równie¿ zmieniæ ¶cie¿kê przeszukiwania u¿ywan± przez Webmina przy uruchamianiu programów oraz ¶cie¿kê do bibliotek wspó³dzielonych przekazywan± do ka¿dego programu.
os_header=System operacyjny komputera
os_curros=Bie¿±cy system operacyjny
os_currver=Bie¿±ca wersja OS
os_new=Nowy system operacyjny
os_path=¦cie¿ka poszukiwania programów
os_ld_path=¦cie¿ka poszukiwania bibliotek

lang_title=Jêzyk
lang_title2=Jêzyk Webmina
lang_lang=Wy¶wietlaj w&nbsp;jêzyku
lang_intro=Ta strona umo¿liwia Ci wybór jêzyka w&nbsp;którym Webmin bêdzie wypisywa³ komunikaty
lang_ok=Zmieñ jêzyk

ssl_title=Szyfrowanie SSL
ssl_desc1=Komputer, na którym dzia³a Webmin posiada zainstalowany modu³ SSLeay Perl-a. Webmin potrafi przy jego pomocy ustanowiæ zaszyfrowane SSL po³±czenia pomiêdzy Twoj± przegl±dark± a&nbsp;serwerem. Je¶li ³±czysz siê z&nbsp;serwerem Webmina poprzez Internet, zdecydowanie powiniene¶ rozwa¿yæ u¿ycie SSL, aby zapobiec przechwyceniu przez napastnika Twojego has³a do Webmina.
ssl_desc2=Uwaga - w³±cz obs³ugê SSL tylko je¶li Twoja przegl±darka ma obs³ugê SSL (jak np. Netscape czy IE) i&nbsp;nie ma pomiêdzy Twoj± przegl±dark± a&nbsp;komputerem z&nbsp;Webminem firewalla blokuj±cego zapytania <b>https</b>
ssl_header=Obs³uga SSL
ssl_enable=W³±cz obs³ugê SSL, o&nbsp;ile dostêpna
ssl_disable=Wy³±cz obs³ugê SSL, nawet je¶li dostêpna

startpage_title=Opcje strony indeksowej
startpage_intro=Ta strona umo¿liwia ci okre¶lenie, ile ikon ma byæ wy¶wietlanych w&nbsp;ka¿dym rzêdzie na stronie indeksowej
startpage_tabs=Klasyfikowaæ modu³y?
startpage_nocol=Liczba kolumn
startpage_alt=U¿yj alternatywnego nag³ówka
startpage_ecols='$1' nie jest poprawn± liczb± kolumn
startpage_gotoone=Przej¶æ bezpo¶rednio do modu³u<br>je¶li u¿ytkownik ma tylko jeden?
startpage_deftab=Domy¶lna kategoria

upgrade_title=Aktualizuj Webmina
upgrade_desc=Nie uda³o siê zaktualizowaæ ca³ej instalacji Webmina do nowej wersji. Mo¿esz zainstalowaæ z&nbsp;pliku lokalnego, z&nbsp;pliku do³±czonego lub najnowsz± wersjê z&nbsp;<a href=http://www.webmin.com/>www.webmin.com</a>. Podobnie jak przy rêcznej aktualizacji, wszystkie Twoje ustawienia i&nbsp;obce modu³y zostan± zachowane.
upgrade_descrpm=Za pomoc± tego formularza mo¿esz wykonaæ aktualizacjê ca³ej Twojej instalacji Webmina do nowej wersji z&nbsp;wykorzystaniem opcji &quot;upgrade&quot; RPM-a. Mo¿esz zainstalowaæ z&nbsp;lokalnego pliku RPM, z&nbsp;pliku do³±czonego lub najnowsz± wersjê z&nbsp;<a href=http://www.webmin.com/>www.webmin.com</a>. Podobnie jak przy rêcznej aktualizacji, wszystkie Twoje ustawienia i&nbsp;obce modu³y zostan± zachowane.
upgrade_desccaldera=Za pomoc± tego formularza mo¿esz wykonaæ aktualizacjê ca³ej Twojej instalacji Webmina do nowej wersji z&nbsp;wykorzystaniem z&nbsp;opcji &quot;upgrade&quot; RPM-a. Mo¿esz zainstalowaæ z&nbsp;lokalnego pliku RPM, z&nbsp;pliku do³±czonego lub najnowsz± wersjê z&nbsp;Caldery.
upgrade_descsolaris-pkg=Za pomoc± tego formularza mo¿esz wykonaæ aktualizacjê ca³ej Twojej instalacji Webmina do nowej wersji poprzez usuniêcie bie¿±cego pakietu Solarisa i&nbsp;instalacjê nowego. Mo¿esz zainstalowaæ z&nbsp;pliku lokalnego, z&nbsp;pliku do³±czonego lub najnowsz± wersjê z&nbsp;<a href=http://www.webmin.com/>www.webmin.com</a>. Podobnie jak przy rêcznej aktualizacji, wszystkie Twoje ustawienia i&nbsp;obce modu³y zostan± zachowane.
upgrade_local=Z&nbsp;pliku lokalnego
upgrade_uploaded=Z&nbsp;pliku do³±czonego
upgrade_ftp=Najnowsz± wersjê z&nbsp;www.webmin.com
upgrade_cup=Najnowsz± wersjê z&nbsp;serwisu <tt>cupdate</tt> Caldery
upgrade_ok=Aktualizuj Webmina
upgrade_err1=Nie uda³o siê wykonaæ aktualizacji z&nbsp;$1
upgrade_err2=Nie uda³o siê wykonaæ aktualizacji z&nbsp;do³±czonego pliku
upgrade_err3=Nie uda³o siê wykonaæ aktualizacji z&nbsp;www.webmin.com
upgrade_efile=Plik nie istnieje
upgrade_ebrowser=Twoja przegl±darka nie obs³uguje file uploads
upgrade_eversion=Nie mo¿na cofn±æ do wersji $1
upgrade_erpm=Nie jest to poprawny plik RPM Webmina
upgrade_egunzip=Nie ma polecenia <tt>gunzip</tt> w&nbsp;Twoim systemie
upgrade_egzip=Nie uda³o siê rozpakowaæ pliku poleceniem gunzip : $1
upgrade_etar=Nie jest to poprawny plik tar Webmina
upgrade_euntar=Nie uda³o siê rozpakowaæ pliku poleceniem tar : $1
upgrade_emod=Plik jest modu³em Webmina, a nie jego pe³n± aktualizacj±. Byæ mo¿e chcesz skorzystaæ ze strony <a href='$1'>Modu³y Webmina</a> aby go zainstalowaæ.
upgrade_setup=Uruchamiany jest skrypt setup.sh w&nbsp;celu aktualizacji Webmina .. Poczekaj chwilê na jego zakoñczenie przed kontynuacj±.
upgrade_setuprpm=Uruchamianie RPM w&nbsp;celu aktualizacji Webmina .. Proszê chwilê poczekaæ na jego zakoñczenie przed kontynuacj±.
upgrade_setuppackage=Uruchamianie pkgadd w&nbsp;celu aktualizacji Webmina .. Proszê chwilê poczekaæ na jego zakoñczenie przed kontynuacj±.
upgrade_esolaris=Funkcja aktualizacji Webmina aktualnie nie dzia³a, je¶li Webmin zosta³ zainstalowany z&nbsp;pakietu Solarisa. Proszê wykonaæ aktualizacjê rêcznie.
upgrade_ecaldera=Plik RPM nie jest wersj± Webmina z&nbsp;Caldery.

update_desc1=Za pomoc± tego formularza mo¿esz zaktualizowaæ ze strony <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> lub z&nbsp;innego ¼ród³a te modu³y Webmina, o&nbsp;których wiadomo, ¿e zawieraj± b³êdy lub dziury zwi±zane z&nbsp;bezpieczeñstwem. Wykonane zostanie porównanie obecnie zainstalowanych modu³ów z&nbsp;dostêpnymi dla aktualizacji oraz, opcjonalnie, automatyczne pobranie i&nbsp;instalacja wszelkich nieaktualnych modu³ów.
update_header1=Aktualizuj modu³y teraz
update_header2=Aktualizuj modu³y regularnie
update_webmin=Aktualizuj z&nbsp;www.webmin.com
update_other=Aktualizuj z&nbsp;innego ¼ród³a
update_show=Tylko wska¿ modu³y, które zosta³yby zaktualizowane
update_missing=Zainstaluj modu³y obecnie niezainstalowane
update_quiet=Zawiadamiaj tylko o&nbsp;aktualizacjach
update_ok=Aktualizuj modu³y
update_email=Wysy³aj zawiadomienie o&nbsp;aktualizacji do
update_enabled=W³±czona aktualizacja regularna
update_apply=Zachowaj i zastosuj
update_sched=Aktualizuj modu³y o&nbsp;godzinie $1:00 co $2 dni

update_desc2=Ten formularz s³u¿y do konfiguracji regularnej, automatycznej aktualizacji modu³ów Webmina zawieraj±cych b³êdy lub dziury zwi±zane z&nbsp;bezpieczeñstwem ze strony <a href=http://www.webmin.com/webmin/updates.html>Webmin Updates</a> lub z&nbsp;innego ¼ród³a. O&nbsp;ile ta us³uga jest wygodna, nale¿y zachowaæ ostro¿no¶æ, gdy¿ mo¿e ona umo¿liwiæ napastnikom przejêcie Twojego systemu, je¶li serwer aktualizacji zostanie kiedykolwiek nara¿ony na szwank.

ca_title=Centrum autoryzacji
ca_old=Istniej±cy certyfikat
ca_header1=Utworz nowy certyfikat tego CA
ca_header2=Zmieñ certyfikat tego CA
ca_newmsg1=Twój serwer Webmina jest ju¿ ustawiony jako centrum autoryzacji. Za pomoc± tego formularza mo¿esz ustawiæ go ponownie, ale wówczas wszystkie certyfikaty ju¿ wydane u¿ytkownikom przestan± dzia³aæ.
ca_newmsg2=Za pomoc± tego formularza powiniene¶ ustawiæ Twój serwer Webmina jako centrum autoryzacji (CA) tak, aby u¿ytkownicy mogli poprosiæ w&nbsp;module U¿ytkownicy Webmina o&nbsp;certyfikat identyfikuj±cy ich wobec serwera bez konieczno¶ci logowania.
ca_cn=Nazwa centrum autoryzacji
ca_email=Adres e-mail
ca_ou=Wydzia³
ca_o=Organizacja
ca_sp=Kraj
ca_c=Kod kraju
ca_create=Ustaw centrum autoryzacji
ca_oldmsg1=Certyfikat CA u¿ywany przez ten serwer jest wy¶wietlony poni¿ej. Mo¿esz zmieniæ go wklejaj±c certyfikat z&nbsp;innego CA, ale wówczas wszystkie certyfikaty ju¿ wydane u¿ytkownikom przestan± dzia³aæ.
ca_oldmsg2=Je¿eli ju¿ ustawi³e¶ centrum autoryzacji na innym serwerze Webmina, mo¿esz wkleiæ jego certyfikat poni¿ej zamiast ustawiaæ nowe CA. Pozwoli to na rozpoznawanie równie¿ przez ten serwer u¿ytkowników serwera z&nbsp;CA.
ca_err=Nie udalo siê ustawiæ centrum autoryzacji
ca_setupok=Twoje centrum autoryzacji zosta³o pomy¶lnie ustawione. U¿ytkownicy mog± obecnie prosiæ o&nbsp;swoje certyfikaty przy pomocy modu³u U¿ytkownicy Webmina.
ca_stop=Wy³±cz centrum autoryzacji
ca_stopmsg=Naci¶nij ten przycisk, aby Webmin przesta³ akceptowaæ istniej±ce certyfikaty i&nbsp;wydawaæ niwe. Zmusi to u¿ytkowników do u¿ywania autoryzacji za pomoc± nazwy logowania oraz has³a.
ca_stopok=Twoje centrum autoryzacji zosta³o pomy¶lnie wy³±czone
ca_eminiserv=Certyfikaty klienta SSL s± obs³ugiwane wy³±cznie przez miniserv.
ca_eversion=Zainstalowana w&nbsp;Twoim systemie wersja modu³u Net::SSLeay Perla nie obs³uguje cetryfikatów SSL po stronie klienta.
ca_essleay=Program administracyjn SSL $1 nie zosta³ znaleziony w&nbsp;Twoim systemie. Byæ mo¿e musisz zmieniæ ¶cie¿kê w&nbsp;konfiguracji modu³u U¿ytkownicy Webmina.
ca_essl=Autoryzacjê SSL mo¿na w³±czyæ jedynie, gdy serwer WWW dzia³a w&nbsp;trybie SSL.

session_title=Autoryzacja
session_desc1=W³±czenie chroni przed atakami metod± &quot;prób i&nbsp;b³êdów&quot; poprzez zwiêkszanie odstêpu czasu pomiêdzy kolejnymi nieudanymi próbami zalogowania tego samego u¿ytkownika.
session_desc2=W³±czenie spowoduje automatyczne wylogowywanie nieaktywnych u¿ytkowników po up³ywie dozwolonego czasu. B±d¼ przygotowany na to, ¿e w³±czenie lub wy³±czenia autoryzacji sesji mo¿e zmusiæ wszystkich u¿ytkowników do ponownego zalogowania.
session_header=Opcje autoryzacji i&nbsp;sesji
session_pdisable=Nie ograniczaæ czasu na wprowadzenie has³a
session_penable=Ograniczyæ czas na wprowadzenie has³a
session_blockhost=Blokowaæ dostêp z&nbsp;hostów, z&nbsp;których wyst±pi³o wiêcej ni¿ $1 nieudanych logowañ na $2 sekund.
session_syslog=Logowaæ próby dostêpu z&nbsp;zablokowanych hostów poprzez <tt>sysloga</tt>
session_disable=Wy³±czyæ autoryzacjê sesji
session_enable=W³±czyæ autoryzacjê sesji
session_localoff=Zawsze wymagaæ nazwy u¿ytkownika i&nbsp;has³a
session_localon=Pozwoliæ na logowanie bez has³a dla odpowiednich u¿ytkowników z&nbsp;localhosta
session_logout=Automatycznie wylogowywaæ po $1 minutach braku aktywno¶ci
session_locking=W³±czyæ blokowanie przez Webmina
session_err=Nie uda³o siê zachowaæ ustawieñ autoryzacji
session_elogouttime=Niepoprawny czas wylogowywania
session_eblockhost_time=Niepoprawny czas blokowania
session_eblockhost_failures=Brak lub niepoprawna ilo¶æ nieudanych logowañ
session_ecookie=Twoja przegl±darka nie obs³uguje <tt>cookies</tt>, które s± niezbêdne dla autoryzacji sesji
session_elsof=Autoryzacja lokalna wymaga programu <tt>lsof</tt>
session_remember=Proponowaæ trwa³e zapamiêtanie has³a?

assignment_title=Przeklasyfikowanie modu³ów
assignment_header=Kategoryzacja modu³ów
assignment_ok=Zmieñ kategorie
assignment_desc=Za pomoc± tego formularza mo¿esz okre¶liæ, w¶ród modu³ów jakiej kategorii bêdzie dany modu³ wy¶wietlany na stronie indeksowej Webmina.

categories_title=Zmieñ kategorie
categories_header=Identyfikator i&nbsp;opis kategorii
categories_desc=Za pomoc± tego formularza mo¿esz zmieniæ nazwy istniej±cych kategorii Webmina oraz utworzyæ nowe, aby przypisaæ do nich modu³y. Górna czê¶æ tabeli s³u¿y do zmiany opisu wbudowanych kategorii, podczas gdy dolna s³u¿y do dodawania nowych identyfikatorów i&nbsp;opisów kategorii.
categories_ok=Zachowaj kategorie
categories_err=Nie uda³o siê zachowaæ kategorii
categories_edesc=Brak opisu dla $1
categories_ecat=Ten identyfikator kategorii $1 ju¿ jest u¿ywany

log_access=Zmieniono kontrolê dostêpu wg IP
log_bind=Zmieniono port i&nbsp;adres
log_log=Zmieniono opcje logowania
log_proxy=Zmieniono serwery proxy
log_ui=Zmieniono opcje interfejsu u¿ytkownika
log_install=Zainstalowano modu³ $1
log_tinstall=Zainstalowano motyw $1
log_clone=Skopiowano modu³ $1 jako $2
log_delete=Usuniêto modu³ $1
log_os=Zmieniono system operacyjny
log_lang=Zmieniono jêzyk
log_startpage=Zmieniono opcje strony indeksowej
log_upgrade=Zaktualizowano Webmina do wersji $1
log_session=Zmieniono opcje autoryzacji
log_ssl=Zmieniono tryb szyfrowania SSL
log_setupca=Ustawiono certifikat autoryzacji
log_changeca=Zmieniono certifikat autoryzacji
log_stopca=Wy³±czono certifikat autoryzacji
log_assignment=Zmieniono kategorie modu³ów
log_categories=Zmieniono nazwy kategorii
log_theme=Zmieniono motyw na $1
log_theme_def=Zmieniono motyw na standardowy motyw Webmina
log_referers=Zmieniono zaufane odsy³acze

themes_title=Motywy Webmina
themes_desc=Motywy okre¶laj± wygl±d interfejsu u¿ytkownika Webmina w³±czaj±c w&nbsp;to ikony, kolory, t³a i&nbsp;byæ mo¿e strony opcji. Za pomoc± poni¿szego pola wyboru mo¿na wybraæ jeden z&nbsp;zainstalowanych w&nbsp;systenie motywów.
themes_sel=Bie¿±cy motyw :
themes_default=Domy¶lny motyw Webmina
themes_change=Zmieñ
themes_installdesc=Za pomoc± poni¿szego formularza zainstaluj nowy motyw Webmina w&nbsp;swoim systemie. Motywy s± zazwyczaj rozpowszechniane w&nbsp;postaci plików <tt>.wbt</tt> ale mo¿na je równie¿ zainstalowaæ z&nbsp;plików RPM, o&nbsp;ile Twój system takie pliki obs³uguje.
themes_installok=Zainstaluj motyw
themes_err1=Nie uda³o siê zainstalowaæ motywu z&nbsp;$1
themes_efile=Plik nie istnieje
themes_err2=Nie uda³o siê zainstalowaæ przes³anego motywu
themes_ebrowser=Twoja przegl±darka nie obs³uguje przesy³ania plików
themes_err3=Nie uda³o siê zainstalowaæ motywu z&nbsp;$1
themes_eurl=Niepoprawny URL
themes_etar=Niepoprawny plik motywu&nbsp;: $1
themes_einfo=Brak pliku theme.info w&nbsp;motywie $1
themes_enone=Plik nie zawiera ¿adnego motywu
themes_eextract=Wydzielenie nie powiod³o siê&nbsp;: $1
themes_done=W&nbsp;Twoim systemie pomy¶lnie zainstalowano nastêpuj±ce motywy&nbsp;:
themes_line=$1 w&nbsp;$2 ($3 kB)
themes_ecomp=Plik jest spakowany lecz nie znaleziono w&nbsp;systemie polecenia $1
themes_ecomp2=Nie uda³o siê rozpakowaæ pliku&nbsp;: $1
themes_egzip=Plik jest spakowany gzipem lecz nie znaleziono w&nbsp;systemie polecenia $1
themes_egzip2=Nie uda³o siê rozpakowaæ pliku gzip&nbsp;: $1
themes_erpm=To nie jest RPM z&nbsp;motywem Webmina
themes_eirpm=Instalacja RPM nie powiod³a siê&nbsp;: $1
themes_ok=Motyw pomy¶lnie zmieniony .. przekierowujê na g³ówn± stronê indeksow± Webmina.

referers_title=Zaufane odsy³acze
referers_desc=Za pomoc± tej strony mo¿esz skonfigurowaæ sprawdzanie odsy³aczy do Webmina w&nbsp;celu unikniêcia z³o¶liwych odwo³añ z&nbsp;innych witryn oszukuj±cych Twoj± przegl±darkê i&nbsp;wykorzystuj±cych Webmina do niebezpiecznych dzia³añ. Jednak¿e, je¶li posiadasz odwo³ania do Webmina na swoich w³asnych witrynach, o&nbsp;których nie chcesz byæ ostrzegany, powiniene¶ dodaæ te witryny do poni¿szej listy.
referers_list=Zaufane witryny
referers_none=Ufaæ odwo³aniom z&nbsp;nieznanych odsy³aczy
referers_referer=W³±czone sprawdzanie odsy³aczy?

syslet_title=Automatyczne pobieranie sysletów
syslet_desc=Ta strona s³u¿y do konfiguracji automatyccznego pobierania i&nbsp;instalacji brakuj±cych Sysletów Eazela do Twojego serwera Webmina.
syslet_auto=Pobieraæ syslety automatycznie?
syslet_base=Podstawowe URL-e do RPM-ów sysletów
syslet_err=Nie uda³o siê zachowaæ opcji sysletów
syslet_ebase=Niepoprawny podstawowy URL

update_err=Nie uda³o siê zaktualizowaæ modu³ów
update_eurl=Nie podany lub niepoprawny URL aktualizacji
update_title=Aktualizacja modu³ów
update_info=Aktualizacja modu³ów Webmina ..
update_mmissing=W&nbsp;systemie nie zainstalowano modu³u $1.
update_malready=Modu³ $1 nie wymaga aktualizacji.
update_mshow=Nale¿y zaktualizowaæ modu³ $1 do wersji $2.
update_mok=Aktualizacja modu³u $1 do wersji $2.
update_mdesc=Zainstalowano modu³ $1 ($2 KB)
update_mos=Ten system operacyjny nie obs³uguje modu³u $1.
update_efile=Niepoprawny plik ¼ród³owy aktualizacji modu³u
update_ehour=Nie podana lub niepoprawna godzina aktualizacji
update_edays=Nie podana lub niepoprawna liczba dni
update_rv=Sprawdzanie, czy pod $1 nie ma zaktualizowanych modu³ów Webmina
update_eemail=Je¶li chcesz jedynie zobaczyæ co powinno byæ zaktualizowane, musisz podaæ adres e-mail.
update_subject=Zawiadomienie o&nbsp;aktualizacji modu³ów Webmina
  070701000077cd000081a40000000000000002000000013d1fe2ca00001e7c000000200000000000000000000000000000001500000003reloc/webmin/lang/pt  index_title=Configuração do Webmin
index_return=configuração do Webmin

access_title=Controlo de Acesso do IP
access_desc=O servidor Webmin pode ser configurado para negar ou permitir apenas o acesso de certos endereços IP usando este formulário. Nomes dos anfitriões (como foo.bar.com) e redes IP (como 10.254.3.0/255.255.255.128) podem também ser introduzidos.Você deve restringir o acesso ao servidor apenas para usuários de confiança, especialmente se estiver acessivel pela Internet. De outra forma, qualquer pessoa que adivinhe a sua password, terá acesso total ao sistema.
access_header=Controlo de Acesso
access_all=Permissão de todos os endereços
access_allow=Apenas permitir acesso dos endereços listados
access_deny=Negar o acesso dos endereços listados
access_err=Falha ao actualizar a lista de acessos
access_enone=No addresses entered - Sem introdução de endereços
access_enet='$1' não é um endereço correcto
access_emask='$1' não é uma máscara correcta
access_eip='$1' não é um endereço IP ou endereço de rede completo
access_ehost=Falha em encontrar o endereço IP '$1'
access_eself=O seu actual endereço IP ($1) será negado

bind_title=Porta e Endereço
bind_desc=Se o anfitrião onde corre o Webmin possuir vários endereços IP, o servidor pode ser configurado apenas para um IP usando este formulário. A porta TCP onde corre o Webmin pode, também, ser configurada aqui. Nota - o seu navegador WWW pode pedir que faça o login novamente depois de alterar a porta ou endereço de ligação.
bind_header=Endereço IP e Porta
bind_ip=Ligação no endereço IP
bind_all=Tudo
bind_port=Ligação na porta
bind_err=Falha na mudança de endereço
bind_eip=Falha ao obter o endereço IP para '$1'
bind_eassign=O endereço '$1' não está disponível para este sistema
bind_eport=A porta $1 já está a ser utilizada

log_title=Criação de historial
log_desc=O Webmin pode ser configurado para escrever um ficheiro de historial de acessos web, no formato padrão CLF. Se a criação de historial estiver activada, voçê pode também escolher quais os endereços ou anfitriões a gravar no historial, e quando é que que deve ser apagado. Quando activado, os ficheiros de historial são escritos para o ficheiro $1.
log_header=Criação de ficheiros de historial do servidor Web
log_disable=Desactivar a criação de ficheiros de historial
log_enable=Activar a criação de ficheiros de historial
log_resolv=Criar historial de nomes de anfitriões definidos
log_clear=Limpar o ficheiro de historial todas as $1 horas.
log_err=Falha ao guardar as opções de criação de ficheiros de historial
log_ehours='$1' não é um número válido de horas

proxy_title=Servidores Proxy
proxy_desc=Se o anfitrião onde o Webmin está a correr estiver por trás de uma firewall de qualquer tipo, você deve configurar o servidor proxy para aceder à Web e FTP. Certos módulos, como por exemplo <tt>Pacotes de Software</tt>, irão usar estes proxies para o download de ficheiros ou programas.
proxy_header=Servidores Proxy
proxy_http=Proxy HTTP
proxy_ftp=Proxy FTP
proxy_none=Nenhum
proxy_nofor=Não utilizar proxy para
proxy_err=Falha ao guardar as configurações de proxies
proxy_ehttp=O servidor proxy HTTP deve ser introduzido como um URL
proxy_eftp=O servidor proxy FTP deve ser introduzido como um URL

colours_title=Esquemas de cor
colours_desc=Este formulário permite que possa editar o esquema de cores usado por todos os módulos. Cada cor é definida pelo sistema padrão RGB, onde cada valor é um número hexadécimal de 00 até ff.
colours_header=Esquemas de cor
colours_default=Por defeito
cs_page=Fundo da página
cs_text=Texto normal
cs_table=Fundo da tabela
cs_header=Cabeçalho da tabela
cs_link=Link do texto
colours_err=Falha ao guardar o esquema de cores.
colours_ered=Valor inválido para o vermelho '$1'
colours_egreen=Valor inválido para o verde '$1'
colours_eblue=Valor inválido para o azul '$1'

mods_title=Módulos do Webmin
mods_desc1=Os módulos do Webmin podem ser adicionados depois da instalação usando o formulário à direita. Os módulos são tipicamente distribuidos no formato <tt>.wbm</tt>, os quais podem conter um ou mais módulos. Se um módulo for licenciado para correr apenas num determinado anfitrião, você poderá não conseguir instalá-lo.
mods_install=Instalar Módulo
mods_local=De um ficheiro local
mods_uploaded=De um ficheiro remoto
mods_ftp=De um URL por ftp ou http
mods_installok=Instalar Módulo do Ficheiro
mods_desc2=Se desejar ter mais do que uma cópia do mesmo módulo com diferentes configurações, o formulário da direita permite-lhe clonar qualquer módulo exestente. O clone irá ter um novo nome, nova configuração, novas opções de controlo de acesso e poderá estar disponível para diferentes utilizadores.
mods_clone=Clonar Módulo
mods_cname=Módulo a clonar
mods_cnew=Nome do módulo clonado
mods_cloneok=Clonar Módulo
mods_desc3=Os módulos e clones de módulos existentes podem ser apagados usando o formulário abaixo indicado. Se um módulo com clones for apagado, eles serão igualmente apagados. Uma vez que um módulo for apagado, ele terá de ser reinstalado para que possa ser usado de novo. Um módulo não pode ser apagado se outros módulos dependerem dele.
mods_delete=Apagar Módulos
mods_deleteok=Apagar Módulos Seleccionados

install_err1=Falha ao instalar o módulo de $1
install_efile=O ficheiro não existe
install_err2=Falha ao instalar o módulo remoto.
install_ebrowser=O seu navegador Web não suporta upload de ficheiros
install_err3=$1 Falha ao instalar módulo de $1
install_eurl=URL Inválido
install_etar=O ficheiro $1 não é um módulo válido
install_einfo=Falta o ficheiro module.info no módulo $1
install_enone=O ficheiro aparenta não conter nenhum módulo
install_eos=O módulo $1 não é suportado por o actual sistema operativo ($2 $3)
install_ever=O módulo $1 requer a versão $2 do Webmin ou posterior
install_edep=O módulo $1 requer o módulo $2
install_eextract=Falha na extracção : $1
install_title=Módulo Instalado
install_desc=Os seguintes módulos foram instalados com sucesso e adicionados à lista de controlo de acesso :
install_line=$1 em $2 ($3 kB)

clone_err=Falha ao clonar o módulo
clone_elink=falha no atalho simbólico : $1
clone_ecopy=falha ao copiar a configuração : $1
clone_desc=Clone de $1

delete_err=Falha ao apagar os módulos
delete_edep=O módulo $1 não pode ser apagado porque o módulo $2 está dependente dele.
delete_desc1=$1 (Clone de $2)
delete_desc2=$1 em $2 ($3 kB)
delete_title=Apagar módulos
delete_msg=Os seguintes foram apagados com sucesso da instalação do Webmin :

os_title=Sistema Operativo
os_desc=Este formulário permite-lhe alterar o sistema operativo considerado pelo Webmin. Isto pode ser útil se efectuou um upgrade para uma nova versão do seu sistema operativo.
os_header=Sistema Operativo do Anfitrião
os_curros=Sistema operativo actual
os_currver=Versão actual do SO
os_new=Novo sistema operativo

lang_title=Linguagem
lang_title2=Linguagem do Webmin
lang_lang=Mostrar em
lang_intro=Esta página permite-lhe escolher a linguagem a usar pelo Webmin na apresentação de titulos, comandos e mensagens
lang_ok=Alterar Linguagem

ssl_title=Encriptação SSL
ssl_desc1=O anfitrião onde corre o Webmin, parece possuir o módulo de Perl SSLeay instalado. Usando isto, O webmin suporta a comunicação encriptada SSL entre o seu navegador Web e o servidor. Se está a aceder ao Webmin via Internet, então deve definitivamente considerar o uso do SSL para prevenir a captura da password do Webmin por um atacante.
ssl_desc2=Atenção - apenas deve activar o suporte de SSL se o seu navegador Web o suportar (como por exemplo o Netscape ou IE), e não existe nenhuma firewall a bloquear pedidos <b>https</b> entre o seu navegador e o anfitrião do Webmin
ssl_header=Suporte de SSL
ssl_enable=Activar o suporte de SSL, se disponível
ssl_disable=Desactivar o suporte de SSL, mesmo se disponível
070701000077ce000081a40000000000000002000000013d1fe2cb00004c2a000000200000000000000000000000000000001800000003reloc/webmin/lang/ru_RU   os_header=Îïåðàöèîííàÿ Ñèñòåìà Õîñòà
proxy_ehttp=HTTP ïðîêñè ñåðâåð äîëæåí áûòü ââåäåí êàê URL
cs_text=Íîðìàëüíûé òåêñò
os_currver=Òåêóùàÿ âåðñèÿ ÎÑ
install_efile=Ôàéë íå ñóùåñòâóåò
upgrade_ftp=Ïîñëåäíÿÿ âåðñèÿ ñ www.webmin.com
install_eos=Ìîäóëü $1 íå ïîääåðæèâàåò äàííóþ îïåðàöèîííóþ ñèñòåìó ($2 $3)
install_ever=Ìîäóëü $1 òðåáóåò Webmin âåðñèè $2 èëè âûøå
upgrade_etar=Íå ÿâëÿåòñÿ äîïóñòèìûì tar ôàéëîì webmin
ssl_disable=Âûëþ÷èòü ïîääåðæêó SSL, äàæå åñëè åñòü
access_all=Ðàçðåøèòü ñî âñåõ àäðåñîâ
clone_ecopy=îøèáêà ïðè êîïèðîâàíèè êîíôèãóðàöèè : $1
install_err1=Îøèáêà ïðè èíñòàëëÿöèè ìîäóëÿ èç $1
install_err2=Îøèáêà ïðè èíñòàëëÿöèè çàãðóæåííîãî ìîäóëÿ
install_err3=Îøèáêà ïðè èíñòàëëÿöèè ìîäóëÿ èç $1
install_line=$1 â $2 ($3 Êá)
bind_eassign=Àäðåñ '$1' íå ïðèñâîåí äàííîé ñèñòåìå
access_enone=Àäðåñà íå óêàçàíû
access_eip='$1' íå ÿâëÿåòñÿ ïîëíûì àäðåñîì IP èëè ñåòè
mods_uploaded=Çàãðóæåííîãî ôàéëà
os_desc=Äàííàÿ ôîðìà ïîçâîëÿåò âàì èçìåíèòü îïåðàöèîííóþ ñèñòåìó ïîä êîòîðóþ íàñòðîåí Webmin. Ýòî ìîæåò áûòü ïîëåçíûì, åñëè âû îáíîâèëè âàøó ìàøèíó íà íîâóþ âåðñèþ äèñòðèáóòèâà îïåðàöèîííîé ñèñòåìû. Êîíôèãóðàöèÿ óñòàíîâëåííûõ ìîäóëåé íå èçìåíèòñÿ äàæå ïðè ñóùåñòâóþùèõ îòëè÷èÿõ ìåæäó ñòàðîé è íîâîé ñèñòåìàìè.
access_deny=Çàïðåòèòü ñ ïåðå÷èñëåííûõ àäðåñîâ
log_disable=Îòêëþ÷èòü æóðíàëèçàöèþ
access_err=Îøèáêà ïðè îáíîâëåíèè ñïèñêà äîñòóïà
access_desc=Ñåðâåð Webmin ìîæåò áûòü íàñòðîåí òàê, ÷òîáû çàïðåùàòü èëè ðàçðåøàòü äîñòóï òîëüêî ñ íåêîòîðûõ IP àäðåñîâ èñïîëüçóÿ äàííûé äèàëîã. Äîïóñòèìî óêàçûâàòü êàê èìåíà õîñòîâ (íàïðèìåð foo.bar.com), òàê è IP ñåòè (íàïðèìåð 10.254.3.0 èëè 10.254.1.0/255.255.255.128). Âû äîëæíû ïðåäîñòàâèòü äîñòóï ê âàøåìó ñåðâåðó òîëüêî äîâåðåííûì àäðåñàì, îñîáåííî åñëè îí äîñòóïåí èç Internet. Èíà÷å ëþáîé, êòî óãàäàåò âàø ïàðîëü áóäåò èìåòü ïîëíûé êîíòðîëü íàä âàøåé ñèñòåìîé.
lang_title=ßçûê
ssl_title=SSL øèôðîâàíèå
ssl_header=Ïîääåðæêà SSL
bind_all=Âñå
cs_header=Çàãîëîâîê òàáëèö
access_enet='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ñåòåâûì àäðåñîì
install_title=Èíñòàëëÿöèÿ ìîäóëÿ
log_resolv=Çàïèñûâàòü ðàçèìåíîâàííûå õîñòû
bind_eip=Îøèáêà ïðè ïîïûòêå ïîëó÷èòü IP àäðåñ äëÿ '$1'
install_ebrowser=Âàø áðàóçåð íå ïîääåðæèâàåò ïîäãðóçêó ôàéëîâ
ssl_desc1=Äàííûé õîñò èìååò óñòàíîâëåííûé ìîäóëü SSLeay äëÿ Perl. Ïðè åãî èñïîëüçîâàíèè Webmin ïîääåðæèâàåò øèôðîâàííûå ïî ïðîòîêîëó SSL ñîåäèíåíèÿ ìåæäó âàøèì áðàóçåðîì è ñåðâåðîì. Åñëè âû ðàáîòàåòå ñ âàøèì Webmin ñåðâåðîì ÷åðåç Internet, òî âû îáÿçàòåëüíî äîëæíû èñïîëüçîâàòü SSL äëÿ ïðåäîòâðàùåíèÿ ïåðåõâàòà âàøèõ ïàðîëåé çëîóìûøëåííèêàìè.
ssl_desc2=Ïðåäóïðåæäåíèå - âêëþ÷àéòå ïîääåðæêó SSL òîëüêî åñëè âàø áðàóçåð ïîääåðæèâàåò SSL (íàïðèìåð Netscape èëè IE), à òàêæå åñëè ìåæäó âàøèì áðàóçåðîì è ñåðâåðîì Webmin íåò ìåæñåòåâîãî ýêðàíà áëîêèðóþùåãî <b>https</b> çàïðîñû.
lang_intro=Äàííàÿ ñòðàíèöà ïîçâîëÿåò âàì âûáðàòü, êàêîé ÿçûê áóäåò èñïîëüçîâàòüñÿ â Webmin äëÿ çàãîëîâêîâ, ïðèãëàøåíèé, ñîîáùåíèè è ïîìîùè.
install_edep=Ìîäóëü $1 òðåáóåò íàëè÷èÿ ìîäóëÿ $2
access_header=Êîíòðîëü Äîñòóïà
access_eself=Âàø ñîáñòâåííûé IP àäðåñ ($1) áóäåò çàïðåùåí
proxy_header=Ïðîêñè Ñåðâåðû
lang_lang=Èñïîëüçîâàòü ÿçûê
upgrade_ok=Îáíîâèòü Webmin
mods_ftp=ftp èëè http URL
bind_err=Îøèáêà ïðè ñìåíå àäðåñà
upgrade_egunzip=Íà âàøåé ñèñòåìå îòñóòñòâóåò êîìàíäà <tt>gunzip</tt>
startpage_alt=Èñïîëüçîâàòü àëüòåðíàòèâíûé çàãîëîâîê
delete_err=Îøèáêà ïðè óäàëåíèè ìîäóëåé
os_title=Îïåðàöèîííàÿ ñèñòåìà
bind_port=Ïðîñëóøèâàòü Ïîðò
log_ehours='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîëè÷åñòâîì ÷àñîâ
mods_install=Óñòàíîâêà Ìîäóëÿ èç..
upgrade_setup=Âûïîëíÿþ ñöåíàðèé setup.sh äëÿ îáíîâëåíèÿ Webmin .. Ïîäîæäèòå ìèíóòêó, ïîêà îí íå çàâåðøèò ñâîþ ðàáîòó.
startpage_nocol=Êîë-âî Êîëîíîê
clone_desc=Êëîí $1
bind_desc=Åñëè õîñò íà êîòîðîì ðàáîòàåò Webmin èìååò íåñêîëüêî IP àäðåñîâ, òî ñåðâåð ìîæåò áûòü íàñòðîåí íà ïðîñëóøèâàíèå çàïðîñîâ òîëüêî ñ îäíîãî èç íèõ èñïîëüçóÿ äàííóþ ôîðìó. Ïîðò TCP, êîòîðûé ïðîñëóøèâàåò Webmin òàêæå ìîæíî íàñòðîèòü çäåñü. Âîçìîæíî Âàø âåá áðàóçåð ìîæåò ïîïðîñèòü âàñ ïåðåðåãèñòðèðîâàòüñÿ ïîñëå èçìåíåíèÿ ïîðòà èëè àäðåñà ïðèâÿçêè.
clone_elink=îøèáêà ñîçäàíèÿ ñèìâîëè÷åñêîé ññûëêè : $1
proxy_nofor=Íåò ïðîêñè äëÿ
upgrade_desc=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì îáíîâèòü Âàøó èíñòàëëÿöèþ webmin íà íîâóþ âåðñèþ. Âû ìîæåòå ïðîâåñòè èíñòàëëÿöèþ èç ëîêàëüíîãî ôàéëà, çàãðóæåííîãî ôàéëà èëè ïîñëåäíþþ âåðñèþ íà <a href=http://www.webmin.com/>www.webmin.com</a>. Òàêæå êàê è ïðè ðó÷íîì îáíîâëåíèè, âñå Âàøè íàñòðîéêè è ìîäóëè òðåòüèõ ðàçðàáîò÷èêîâ ñîõðàíÿòñÿ. 
mods_local=Ëîêàëüíîãî ôàéëà
startpage_title=Ïàðàìåòðû ãëàâíîãî ìåíþ
mods_cname=Ìîäóëü äëÿ êëîíèðîâàíèÿ
proxy_desc=Åñëè õîñò íà êîòîðîì çàïóùåí Webmin íàõîäèòñÿ çà ñåòåâûì ýêðàíîì íåêîãî òèïà, âàì ìîæåò ïîòðåáîâàòüñÿ óñòàíîâêà ïàðàìåòðîâ ïðîêñè ñåðâåðîâ äëÿ äîñòóïà ê Web è FTP óçëàì. Íåêîòîðûå ìîäóëè, òàêèå êàê <tt>Ïðîãðàììíûå Ïàêåòû</tt>, áóäóò èñïîëüçîâàòü äàííûå ïðîêñè ïðè âûãðóçêå ôàéëîâ è ïðîãðàìì.
delete_title=Óäàëåíèå Ìîäóëåé
delete_msg=Ñëåäóþùèå ìîäóëè áûëè óñïåøíî óäàëåíû èç èíñòàëëÿöèè :
install_etar=Íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ìîäóëÿ : $1
access_ehost=Îøèáêà ïðè ïîèñêå IP àäðåñà äëÿ '$1'
startpage_ecols='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì êîëîíîê
proxy_eftp=FTP ïðîêñè ñåðâåð äîëæåí áûòü ââåäåí êàê URL
delete_desc1=$1 (Êëîí $2)
delete_desc2=$1 â $2 ($3 Êá)
delete_edep=Ìîäóëü $1 íå ìîæåò áûòü óäàëåí, ïîñêîëüêó ìîäóëü $2 çàâèñèò îò íåãî
access_title=Óïðàâëåíèå äîñòóïîì ïî IP
startpage_intro=Äàííàÿ ñòðàíèöà ïîçâîëÿåò Âàì îïðåäåëèòü êîë-âî ïèêòîãðàìì íà êîëîíêó, íà ñòðàíèöå ãëàâíîãî ìåíþ
proxy_http=HTTP ïðîêñè
os_new=Íîâàÿ îïåðàöèîííàÿ ñèñòåìà
log_title=Æóðíàëèçàöèÿ ñîáûòèé
index_return=êîíôèãóðàöèþ webmin
mods_cnew=Èìÿ êëîíèðîâàííîãî ìîäóëÿ
proxy_err=Îøèáêà ïðè ñîõðàíåíèè ïðîêñè
bind_title=Ïîðò è àäðåñ
log_desc=Webmin ìîæåò áûòü íàñòðîåí äëÿ çàïèñè æóðíàëà ñîáûòèé âåá ñåðâåðà â ñòàíäàðòíîì ôîðìàòå æóðíàëüíûõ ôàéëîâ CLF. Åñëè æóðíàëèçàöèÿ âêëþ÷åíà, âû ìîæåòå âûáðàòü êîãäà IP àäðåñà èëè èìåíà õîñòîâ çàïèñûâàþòñÿ â æóðíàë è êàê ÷àñòî æóðíàëüíûé ôàéë î÷èùàåòñÿ. Ïðè àêòèâèçàöèè, æóðíàëû ïèøóòñÿ â ôàéë $1.
mods_clone=Êëîíèðîâàíèå Ìîäóëÿ
install_einfo=Ìîäóëü $1 íå èìååò ôàéëà module.info
log_enable=Âêëþ÷èòü æóðíàëèçàöèþ
access_allow=Ðàçðåøèòü òîëüêî ñ ïåðå÷èñëåííûõ àäðåñîâ
upgrade_err1=Îøèáêà ïðè îáíîâëåíèè èç $1
upgrade_err2=Îøèáêà ïðè îáíîâëåíèè èç çàãðóæåííîãî ôàéëà
access_emask='$1' íå ÿâëÿåòñÿ äîïóñòèìûìîé ñåòåâîé ìàñêîé
upgrade_err3=Îøèáêà ïðè îáíîâëåíèè ñ www.webmin.com
upgrade_uploaded=Èç çàãðóæåííîãî ôàéëà
mods_delete=Óäàëåíèå Ìîäóëåé
mods_title=Ìîäóëè Webmin
proxy_title=Ïðîêñè ñåðâåðû
bind_ip=Ïðîñëóøèâàòü IP Àäðåñ
mods_installok=Óñòàíîâèòü Ìîäóëü
cs_page=Ôîí ñòðàíèö
mods_desc1=Ìîäóëè äëÿ Webmin ìîæíî äîáàâëÿòü èñïîëüçóÿ ôîðìó ñïðàâà. Îáû÷íî ìîäóëè ïîñòàâëÿþòñÿ â ôàéëàõ <tt>.wbm</tt>, êàæäûé èç êîòîðûõ ìîæåò ñîäåðæàòü îäèí èëè áîëåå ìîäóëåé. Åñëè ìîäóëü ëèöåíçèðîâàí äëÿ óñòàíîâêè òîëüêî íà íåñêîüêî õîñòîâ, âû âîçìîæíî íå ñìîæåòå åãî óñòàíîâèòü.
mods_desc2=Åñëè âû õîòèòå èìåòü áîëåå îäíîé êîïèè îäíîãî è òîãî-æå ìîäóëÿ ñ ðàçíûìè íàñòðîéêàìè, òî ôîðìà ñïðàâà ïîçâîëÿåò âàì êëîíèðîâàòü ëþáîé èç ñóùåñòâóþùèõ ìîäóëåé. Êëîí áóäåò èìåòü íîâîå èìÿ, íîâóþ êîíôèãóðàöèþ, íîâûå ïàðàìåòðû óïðàâëåíèÿ äîñòóïîì è ìîæåò áûòü äîñòóïåí ðàçëè÷íûì ïîëüçîâàòåëÿì.
mods_desc3=Ñóùåñòâóþùèå ìîäóëè è èõ êëîíû ìîãóò áûòü óäàëåíû èñïîëüçóÿ ôîðìó íèæå. Åñëè ìîäóëü èìåþùèé êëîíû óäàëÿåòñÿ, êëîíû òàêæå áóäóò óäàëåíû. Åñëè ìîäóëü áûë óäàëåí, âû äîëæíû ïåðåèíñòàëëèðîâàòü åãî äëÿ èñïîëüçîâàíèÿ âíîâü. Ìîäóëü íå ìîæåò áûòü óäàëåí, åñëè äðóãèå ìîäóëè çàâèñÿò îò íåãî.
upgrade_eversion=Íå ìîãó âåðíóòüñÿ ê âåðñèè $1
lang_ok=Ñìåíèòü ßçûê
cs_table=Ôîí òàáëèö
upgrade_efile=Ôàéë íå ñóùåñòâóåò
upgrade_local=Èç ëîêàëüíîãî ôàéëà
os_curros=Òåêóùàÿ îïåðàöèîííàÿ ñèñòåìà
bind_eport=Ïîðò $1 óæå èñïîëüçóåòñÿ
log_clear=Î÷èùàòü æóðíàë êàæäûå $1 ÷àñîâ
cs_link=Òåêñò ññûëîê
index_title=Êîíôèãóðàöèÿ Webmin
proxy_none=Íåò
install_enone=Ïîõîæå, ÷òî ôàéë íå ñîäåðæèò íè îäíîãî ìîäóëÿ
startpage_tabs=Ðàçáèòü ìîäóëè íà êàòåãîðèè?
mods_cloneok=Êëîíèðîâàòü Ìîäóëü
proxy_ftp=FTP ïðîêñè
upgrade_ebrowser=Âàø áðàóçåð íå ïîääåðæèâàåò ïîäãðóçêó ôàéëîâ
install_desc=Ñëåäóþùèå ìîäóëè áûëè óñïåøíî èíñòàëëèðîâàíû è äîáàâëåíû â âàø ñïèñîê äîñòóïà :
install_eextract=Îøèáêà ïðè ðàñïàêîâêå : $1
install_eurl=Íåâåðíûé URL
startpage_gotoone=Åñëè äîñòóïåí òîëüêî îäèí ìîäóëü,<br>çàãðóæàòü ñðàçó åãî?
ssl_enable=Âêëþ÷èòü ïîääåðæêó SSL, åñëè åñòü
mods_deleteok=Óäàëèòü Âûáðàííûå Ìîäóëè
clone_err=Îøèáêà ïðè êëîíèðîâàíèè ìîäóëÿ
bind_header=IP Àäðåñ è Ïîðò
upgrade_title=Îáíîâëåíèÿ  Webmin
log_header=Æóðíàëèçàöèÿ ñîáûòèé Âåá Ñåðâåðà
log_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ æóðíàëèçàöèè
lang_title2=ßçûê Webmin
ca_sp=Øòàò
categories_header=ID è îïèñàíèå êàòåãîðèè
themes_ecomp=Ôàéë â ôîðìàòå compress, íî êîìàíäà $1 íå íàéäåíà íà Âàøåé ñèñòåìå
ui_default=Ïî óìîë÷àíèþ
session_ecookie=Âàø áðàóçåð íå ïîääåðæèâàåò "êëþ÷èêè", êîòîðûå íåîáõîäèìû äëÿ àóòåíòèôèêàöèè ñåññèé
log_theme_def=Èçìåíåíà òåìà íà òåìó Webmin ïî óìîë÷àíèþ
session_header=Ïàðàìåòðû àóòåíòèôèêàöèè è ñåññèé
categories_add=Äîáàâèòü
log_desc2=Ïðè âêëþ÷åíèè æóðíàëèðîâàíèÿ, Webmin áóäåò çàïèñûâàòü áîëåå äåòàëèçèðîâàííûé æóðíàë äåéñòâèé ïîëüçîâàòåëÿ â ôàéë $1. Äàííûé æóðíàë ìîæåò áûòü ïðîñìîòðåí è ïðîàíàëèçèðîâàí ìîäóëåì "Æóðíàë äåéñòâèé Webmin" íà ïðåäìåò äåéñòâèé êàæäîãî ïîëüçîâàòåëÿ Webmin.
ca_eminiserv=SSL ñåðòèôèêàòû êëèåíòîâ ïîääåðæèàþòñÿ òîëüêî ïîä miniserv.
log_setupca=Óñòàíîâëåíà àâòîðèçàöèÿ ïî ñåðòèôèêàòàì
ca_create=Óñòàíîâêà àâòîðèçàöèè ïî ñåðòèôèêàòàì
ui_sysinfo0=Âíèçó áðàóçåðà
ui_sysinfo1=Â çàãîëîâêå áðàóçåðà
ui_sysinfo2=Íàä çàãîëîâêîì ñòðàíèöû
ca_essl=SSL ñåðòèôèêàöèÿ ìîæåò áûòü óñòàíîâëåíà òîëüêî ïðè ðàáîòå âåá ñåðâåðà â ðåæèìå SSL.
themes_installdesc=Èñïîëüçóéòå ôîðìó íèæå äëÿ óñòàíîâêè íîâîé òåìû Webmin íà Âàøåé ñèñòåìå. Òåìû îáû÷íî ïîñòàâëÿþòñÿ â <tt>.wbt</tt> ôàéëàõ, íî ìîãóò òàêæå óñòàíàâëèâàòüñÿ èç RPM ôàéëîâ â ñëó÷àå ïîääåðæêè òàêîâûõ Âàøåé îïåðàöèîííîé ñèñòåìîé.
ca_stopok=Àâòîðèçàöèÿ ïî ñåðòèôèêàòàì áûëà óñïåøíî ïðåêðàùåíà.
session_eblockhost_failures=Îòñóòñòâóåò èëè íåâåðíî êîë-âî ðåãèñòðàöèé äî áëîêèðîâàíèÿ
os_path=Ïóòü ïîèñêà ïðîãðàìì
upgrade_descsolaris-pkg=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ïîëíîñòüþ îáíîâèòü èíñòàëëÿöèþ Webmin ñåðâåðà íà íîâóþ âåðñèþ ïóòåì óäàëåíèÿ òåêóùåãî solaris ïàêåòà è èíñòàëëÿöèè íîâîãî. Âû ìîæåòå ïðîâåñòè îáíîâëåíèå èñïîëüçóÿ ëîêàëüíûé solaris ïàêåò, ïîäãðóæåííûé ïî ñåòè ôàéë èëè ïîñëåäíþþ âåðñèþ ñ <a href=http://www.webmin.com/>www.webmin.com</a>. Òàêæå êàê è ïðè ðó÷íîì îáíîâëåíèè, âñå Âàøè íàñòðîéêè è ìîäóëè ñòîðîííèõ ðàçðàáîò÷èêîâ áóäóò ñîõðàíåíû.
themes_enone=Ïîõîæå, ÷òî ôàéë íå ñîäåðæèò íè îäíîé òåìû
log_ediff=Â Âàøåé ñèñòåìå îòñóòñòâóåò êîììàíäà $1 íåîáõîäèìàÿ äëÿ æóðíàëèçàöèè èçìåíåíèé â ôàéëàõ
assignment_header=Ñîîòâåòñòâèå ìîäóëåé êàòåãîðèÿì
syslet_ebase=Íåâåðíûé áàçîâûé URL
referers_referer=Ïðîâåðêà ññûëîê âêëþ÷åíà?
themes_sel=Òåêóùàÿ òåìà :
referers_none=Äîâåðÿòü ññûëêàì îò íåçíàêîìöåâ
themes_erpm=Íå ÿâëÿåòñÿ RPM ñ òåìîé äëÿ Webmin
themes_err1=Îøèáêà óñòàíîâêè òåìû èç $1
log_ui=Èçìåíåíû ïàðàìåòðû èíòåðôåéñà ïîëüçîâàòåëÿ
themes_err2=Îøèáêà óñòàíîâêè ïîäãðóæåííîé òåìû
themes_err3=Îøèáêà óñòàíîâêè òåìû èç $1
syslet_title=Àâòîçàãðóçêà ñèñëåòîâ
syslet_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ ñèñëåòîâ
themes_line=$1 â $2 ($3 Êá)
log_uall=Ôèêñèðîâàòü äåéñòâèÿ âñåõ ïîëüçîâàòåëåé
themes_egzip2=Íå ìîãó ñäåëàòü gunzip ôàéëà : $1
ca_essleay=Êîìàíäà óïðàâëåíèÿ SSL  $1 íå íàéäåíà. Âîçìîæíî Âàì íóæíî èçìåíèòü ïóòü ê íåé â êîíôèãóðàöèè ìîäóëÿ "Ïîëüçîâàòåëè Webmin".
ca_oldmsg1=Ñåðòèôèêàò CA èñïîëüçóåìûé äàííûì ñåðâåðîì ïîêàçàí íèæå. Âû ìîæåòå èçìåíèòü åãî ïóòåì âñòàâêè ñþäà ñåðòèôèêàòà ñ äðóãîãî CA, íî ëþáûå ñåðòèôèêàòû óæå âûäàííûå ïîëüçîâàòåëÿì ïåðåñòàíóò ðàáîòàòü.
upgrade_erpm=Íå ÿâëÿåòñÿ äîïóñòèìûì webmin RPM ôàéëîì.
ca_oldmsg2=Åñëè Âû óæå íàñòðîèëè CA íà äðóãîì Webmin ñåðâåðå, Âû ìîæåòå âñòàâèòü ñþäà åãî ñåðòèôèêàò âìåñòî íàñòðîéêè íîâîãî CA. Ýòî ïîçâîëèò ïîëüçîâàòåëÿì äðóãîãî ñåðâåðà òàêæå ðàñïîçíîâàòüñÿ íà äàííîì ñåðâåðå.
ui_eblue=Íåâåðíîå çíà÷åíèå ñèíåãî äëÿ '$1'
themes_change=Èçìåíèòü
session_localon=Ðàçðåøèòü âõîä áåç ïàðîëÿ äëÿ ñîâïàäàþùèõ ïîëüçîâàòåëåé ñ localhost
ca_email=Àäðåñ e-mail
ca_eversion=Âåðñèÿ Perl ìîäóëÿ Net::SSLeay óñòàíîâëåííàÿ íà Âàøåé ñèñòåìå íå ïîääåðæèâàåò SSL ñåðòèôèêàòû êëèåíòîâ.
session_desc1=Åñëè âêëþ÷åíî, òî òàéìàóòû ïàðîëÿ çàùèòÿò Âàø Webmin ñåðâåð îò ëîáîâûõ àòàê ïî âçëîìó ïàðîëåé ïóòåì äîáàâëåíèÿ ïîñòîÿííî âîçðàñòàþùåé çàäåðæêè ìåæäó êàæäîé íåâåðíîé ïîïûòêîé ðåãèñòðàöèè äëÿ îäíîãî è òîãî-æå ïîëüçîâàòåëÿ.
log_users=Ôèêñèðîâàòü äåéñòâèÿ òîëüêî ..
install_eirpm=Îøèáêà ïðè èíñòàëëÿöèè RPM : $1
session_desc2=Ïðè âêëþ÷åíèè àóòåíòèôèêàöèè ñåññèé, êàæäàÿ çàðåãèñòðèðîâàííàÿ ïîëüçîâàòåëüñêàÿ ñåññèÿ áóäåò îòñëåæèâàòüñÿ Webmin-îì. Ýòî äàåò âîçìîæíîñòü àâòîìàòè÷åñêè îòêëþ÷àòü áåçäåéñòâóþùèõ ïîëüçîâàòåëåé. Îáðàòèòå âíèìàíèå, ÷òî âêëþ÷åíèå èëè îòêëþ÷åíèå àóòåíòèôèêàöèè ñåññèé ìîæåò ïîòðåáîâàòü ïåðåðåãèñðàöèè âñåõ ðàáîòàþùèõ ïîëüçîâàòåëåé.
referers_desc=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì íàñòðîèòü ïîääåðæêó ïðîâåðêè ññûëîê íà ñåðâåð Webmin, êîòîðàÿ èñïîëüçóåòñÿ äëÿ ïðåäîòâðàùåíèÿ îïàñíûõ ññûëîê ñ äðóãèõ âåá ñàéòîâ çàñòàâëÿþùèõ Âàø âåá áðàóçåð âûïîëíÿòü îïàñíûå äåéñòâèÿ. Îäíàêî åñëè ó Âàñ åñòü ññûëêè íà ñåðâåð Webmin èç íàäåæíûõ ìåñò, êîòîðûå íå äîëæíû âûçûâàòü òðåâîãó, Âû ìîæåòå äîáàâèòü äàííûå ñàéòû â ñïèñîê íèæå.
install_ecomp2=Îøèáêà ïðè ïîïûòêå âûïîëíèòü uncompress äëÿ ôàéëà : $1
ui_ered=Íåâåðíîå çíà÷åíèå êðàñíîãî äëÿ '$1'
themes_eextract=Îøèáêà ïðè ðàçæàòèè : $1
log_session=Èçìåíåíû ïàðàìåòðû àóòåíòèôèêàöèè
ca_c=Êîä ñòðàíû
session_pdisable=Îòêëþ÷èòü òàéìàóòû äëÿ ïàðîëåé
ca_setupok=Àâòîðèçàöèÿ ïî ñåðòèôèêàòàì áûëà óñïåøíî íàñòðîåíà. Ñåé÷àñ ïîëüçîâàòåëè ìîãóò èñïîëüçîâàòü ìîäóëü "Ïîëüçîâàòåëè Webmin" äëÿ çàïðîñà ñâîèõ ñåðòèôèêàòîâ.
os_desc2=Âû òàêæå ìîæåòå èçìåíèòü ïóòü ïîèñêà èñïîëüçóåìûé Webmin äëÿ çàïóñêà ïðîãðàìì, è ïóòü ê ðàçäåëÿåìûì áèáëèîòåêàì ïåðåäàâàåìûé êàæäîé çàïóñêàåìîé ïðîãðàììå.
ca_o=Îðãàíèçàöèÿ
log_access=Èçìåíåíî óïðàâëåíèå äîñòóïîì ïî IP
log_install=Èíñòàëëèðîâàí ìîäóëü $1
referers_list=Äîâåðåííûå âåá ñàéòû
ui_desc=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ðåäàêòèðîâàòü ïàðàìåòðû èíòåðôåéñà ïîëüçîâàòåëÿ èñïîëüçóåìûå âñåìè ìîäóëÿìè. Ïðè ââîäå öâåòîâîé ñõåìû êàæäûé öâåò äîëæåí áûòü óêàçàí èñïîëüçóÿ ñòàíäàðòíóþ ñèñòåìó RGB, ãäå êàæäîå çíà÷åíèå ïðåäñòàâëÿåò øåñòíàäöàòåðè÷íûé íîìåð îò 00 äî ff. 
session_logout=Àâòîîòêëþ÷åíèå ïîñëå $1 ìèíóò áåçäåéñòâèÿ
os_ld_path=Ïóòü ïîèñêà áèáëèîòåê
syslet_desc=Äàííàÿ ôîðìà ïðåäíàçíà÷åíà äëÿ íàñòðîéêè àâòîìàè÷åñêîé çàãðóçêè è èíñòàëëÿöèè îòñóòñòâóþùèõ "Eazel Ñèñëåòîâ" íà Âàø Webmin ñåðâåð.
log_tinstall=Èíñòàëëèðîâàíà òåìà $1
themes_ebrowser=Âàø áðàóçåð íå ïîääåðæèâàåò ïîäãðóçêó ôàéëîâ
log_clone=Êëîíèðîâàí ìîäóëü $1 â $2
log_assignment=Èçìåíåíû êàòåãîðèè ìîäóëåé
ca_newmsg1=Âàø Webmin ñåðâåð óæå íàñòðîåí äëÿ àâòîðèçàöèè ïî ñåðòèôèêàòàì. Âû ìîæåòå èñïîëüçîâàòü ýòó ôîðìó äëÿ èõ óñòàíîâêè ñíîâà, íî ëþáûå ñåðòèôèêàòû óæå âûäàííûå ïîëüçîâàòåëÿì ïåðåñòàíóò ðàáîòàòü.
ca_newmsg2=Äàííàÿ ôîðìà ìîæåò èñïîëüçîâàòüñÿ äëÿ íàñòðîéêè Âàøåãî Webmin ñåðâåðà êàê ñåðâåðà àâòîðèçàöèè ïî ñåðòèôèêàòàì (CA) òàê, ÷òî ïîëüçîâàòåëè ìîãóò çàïðîñèòü ñåáå ñåðòèôèêàò â ìîäóëå "Ïîëüçîâàòåëè Webmin" äëÿ èõ èäåíòèôèêàöèè íà ñåðâåðå áåç ïðåäâàðèòåëüíîé ðåãèñòðàöèè.
themes_title=Òåìû Webmin
ui_sysinfo=Ïîêàçûâàòü èìÿ ïîëüçîâàòåëÿ è ìàøèíû
themes_done=Ñëåäóþùèå òåìû áûëè óñïåøíî èíñòàëëèðîâàíû íà Âàøó ñèñòåìó:
themes_etar=Íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì òåìû : $1
ui_egreen=Íåâåðíîå çíà÷åíèå çåëåíîãî äëÿ '$1'
install_egzip=Ôàéë â ôîðìàòå gzip, íî êîìàíäà $1 íå íàéäåíà â ñèñòåìå
syslet_base=Áàçîâûå URL äëÿ RPM ñèñëåòîâ
log_referers=Èçìåíåíû äîâåðåííûå ññûëüíûå
log_proxy=Èçìåíåíû ïðîêñè ñåðâåðû
themes_desc=Òåìû óïðàâëÿþò âíåøíèì âèäîì èíòåðôåéñà ïîëüçîâàòåëÿ Webmin, âêëþ÷àÿ ïèêòîãðàììû, öâåòà, ôîí è âîçìîæíîå ðàñïîëîæåíèå ñòðàíèö. Âûáåðèòå îäíó  èç óñòàíîâëåííûõ íà Âàøåé ñèñòåìå òåì â ðàìêå ñåëåêòîðà â ñëåäóþùåé ôîðìå.
session_enable=Âêëþ÷èòü àóòåíòèôèêàöèþ ñåññèé
upgrade_emod=Ôàéë ÿâëÿåòñÿ ìîäóëåì Webmin, à íå ïîëíûì îáíîâëåíèåì. Âàì íàäî èñïîëüçîâàòü ñòðàíèöó <a href='$1'>Ìîäóëè Webmin</a> äëÿ åãî èíñòàëëÿöèè.
log_delete=Óäàëåí ìîäóëü $1
themes_einfo=Äëÿ òåìû $1 îòñóòñòâóåò theme.info ôàéë
themes_installok=Èíñòàëëèðîâàòü Òåìó
log_modules=Ôèêñèðîâàòü èçìåíåíèÿ òîëüêî â ..
log_log=Èçìåíåíû ïàðàìåòðû æóðíàëèðîâàíÿ
session_syslog=Ôèêñèðîâàòü áëîêèðîâàííûå õîñòû â ïîäñèñòåìå <tt>syslog</tt>
ui_header=Ïàðàìåòðû èíòåðôåéñà ïîëüçîâàòåëÿ
ui_err=Îøèáêà ïðè ñîõðàíåíèè öâåòîâîé ñõåìû
log_categories=Èçìåíåíû èìåíà êàòåãîðèé
ca_stop=Ïðåêðàòèòü àâòîðèçàöèþ ïî ñåðòèôèêàòàì Shutdown certificate authority
log_upgrade=Îáíîâëåí Webmin äî âåðñèè $1
install_ecomp=Ôàéë â ôîðìàòå compress, íî êîìàíäà $1 íå íàéäåíà â ñèñòåìå
log_startpage=Èçìåíåíû ïàðàìåòðû ãëàâíîãî ìåíþ
log_theme=Èçìåíåíà òåìà íà $1
upgrade_descrpm=Äàííàÿ ôîðìà ïîçâîëÿåò Âàì ïîëíîñòüþ îáíîâèòü èíñòàëëÿöèþ Webmin ñåðâåðà íà íîâóþ âåðñèþ èñïîëüçóÿ RPM. Âû ìîæåòå ïðîâåñòè îáíîâëåíèå èñïîëüçóÿ ëîêàëüíûé RPM ôàéë, ïîäãðóæåííûé ïî ñåòè ôàéë èëè ïîñëåäíþþ âåðñèþ ñ <a href=http://www.webmin.com/>www.webmin.com</a>. Òàêæå êàê è ïðè ðó÷íîì îáíîâëåíèè, âñå Âàøè íàñòðîéêè è ìîäóëè ñòîðîííèõ ðàçðàáîò÷èêîâ áóäóò ñîõðàíåíû.
session_eblockhost_time=Îòñóòñòâóåò èëè íåâåðíî âðåìÿ áëîêèðîâàíèÿ
log_lang=Èçìåíåí ÿçûê, ãëîáàëüíî
upgrade_setuprpm=Îáíîâëÿþ Webmin ïðè ïîìîùè RPM .. Ïîäîæäèòå ìèíóòêó ïîêà ïðîöåññ íå çàâåðøèòñÿ.
upgrade_esolaris=Ôóíêöèÿ îáíîâëåíèÿ Webmin â íàñòîÿùèé ìîìåíò íå ðàáîòàåò, åñëè  Âû èíñòàëëèðîâàëè Webmin èç Solaris ïàêåòà. Ïîæàëóéñòà îáíîâèòå Webmin âðó÷íóþ.
session_localoff=Âñåãäà òðåáóåòñÿ èìÿ ïîëüçîâàòåëÿ è ïàðîëü
themes_default=Òåìà Webmin ïî óìîë÷àíèþ
log_changeca=Èçìåíåíà àâòîðèçàöèÿ ïî ñåðòèôèêàòàì
themes_ecomp2=Íå ìîãó ñäåëàòü uncompress ôàéëà : $1
session_blockhost=Áëîêèðîâàòü ïîñëå áîëåå $1 íåâåðíûõ ïîïûòîê ðåãèñòðàöèè íà $2 ñåêóíä.
startpage_deftab=Êàòåãîðèÿ ïî óìîë÷àíèþ
session_elogouttime=Îòñóòñòâóåò èëè íåâåðíî âðåìÿ áåçäåéñòâèÿ äî àâòîìàòè÷åñêîãî îòêëþ÷åíèÿ
log_files=Ôèêñèðîâàòü èçìåíåíèÿ â ôàéëàõ ñäåëàíûõ ëþáûìè äåéñòâèÿìè
assignment_title=Ïåðåíàçíà÷èòü ìîäóëè
themes_eurl=Íåâåðíûé URL
themes_eirpm=Îøèáêà ïðè óñòàíîâêå RPM : $1
ca_ou=Îòäåë
categories_title=Ðåäàêòèðîâàíèå êàòåãîðèé
log_mall=Ôèêñèðîâàòü èçìåíåíèÿ âî âñåõ ìîäóëÿõ
install_erpm=Íå ÿâëÿåòñÿ RPM Webmin ìîäóëÿ
session_locking=Âêëþ÷èòü áëîêèðîâàíèå â Webmin
themes_efile=Ôàéë íå ñóùåñòâóåò
ca_stopmsg=Íàæìèòå íà äàííóþ êíîïêó äëÿ ïðåêðàùåíèÿ ïðèåìà ñóùåñòâóþùèõ è âûäà÷è íîâûõ ñåðòèôèêàòîâ. Ýòî çàñòàâèò ïîëüçîâàòåëåé èñïîëüçîâàòü èìÿ è ïàðîëü äëÿ èõ àóòåíòèôèêàöèè.
log_ssl=Èçìåíåí ðåæèì øèôðîâàíèÿ SSL
session_elsof=Ëîêàëüíàÿ àóòåíòèôèêàöèÿ òðåáóåò íàëè÷èÿ ïðîãðàììû <tt>lsof</tt>
log_bind=Èçìåíåí ïîðò è àäðåñ
referers_title=Äîâåðåííûå ññûëêè
ca_old=Ñóùåñòâóþùèé ñåðòèôèêàò
categories_new=Íîâàÿ êàòåãîðèÿ
ui_title=Èíòåðôåéñ ïîëüçîâàòåëÿ
log_os=Èçìåíåíà îïåðàöèîííàÿ ñèñòåìà
upgrade_setuppackage=Îáíîâëÿþ Webmin ïðè ïîìîùè pkgadd .. Ïîäîæäèòå ìèíóòêó ïîêà ïðîöåññ íå çàâåðøèòñÿ.
delete_sure=Âû óâåðåíû, ÷òî õîòèòå óäàëèòü âûáðàííûå ìîäóëè? $1 Êá ôàéëîâ áóäåò óäàëåíî áåçâîçâðàòíî.
ui_texttitles=Ïîêàçûâàòü çàãîëîâêè êàê òåêñò?
ca_header1=Ñîçäàíèå íîâîãî CA ñåðòèôèêàòà
ca_header2=Ðåäàêòèðîâàíèå CA ñåðòèôèêàòà
themes_ok=Òåìà óñïåøíî èçìåíåíà ... ïåðåõîæó íà ãëàâíîå ìåíþ Webmin.
themes_egzip=Ôàéë â ôîðìàòå gzip, íî êîìàíäà $1 íå íàéäåíà íà Âàøåé ñèñòåìå
ca_title=Àâòîðèçàöèÿ ïî ñåðòèôèêàòàì
session_title=Àóòåíòèôèêàöèÿ
install_egzip2=Îøèáêà ïðè ïîïûòêå âûïîëíèòü gunzip äëÿ ôàéëà : $1
log_stopca=Îòìåíåíà àâòîðèçàöèÿ ïî ñåðòèôèêàòàì
ca_err=Îøèáêà ïðè óñòàíîâêå àâòîðèçàöèè ïî ñåðòèôèêàòàì
session_err=Îøèáêà ïðè ñîõðàíåíèè àóòåíòèôèêàöèè
ca_cn=Êîä àâòîðèçàöèè
session_disable=Îòêëþ÷èòü àóòåíòèôèêàöèþ ñåññèé
session_penable=Âêëþ÷èòü òàéìàóòû äëÿ ïàðîëåé
syslet_auto=Àâòîìàòè÷åñêè çàãðóæàòü ñèñëåòû?
  070701000077cf000081a40000000000000002000000013d1fe2cb00004e4c000000200000000000000000000000000000001800000003reloc/webmin/lang/ru_SU   index_title=ëÏÎÆÉÇÕÒÁÃÉÑ Webmin
index_return=ËÏÎÆÉÇÕÒÁÃÉÀ webmin

access_title=õÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ ÐÏ IP
access_desc=óÅÒ×ÅÒ Webmin ÍÏÖÅÔ ÂÙÔØ ÎÁÓÔÒÏÅÎ ÔÁË, ÞÔÏÂÙ ÚÁÐÒÅÝÁÔØ ÉÌÉ ÒÁÚÒÅÛÁÔØ ÄÏÓÔÕÐ ÔÏÌØËÏ Ó ÎÅËÏÔÏÒÙÈ IP ÁÄÒÅÓÏ× ÉÓÐÏÌØÚÕÑ ÄÁÎÎÙÊ ÄÉÁÌÏÇ. äÏÐÕÓÔÉÍÏ ÕËÁÚÙ×ÁÔØ ËÁË ÉÍÅÎÁ ÈÏÓÔÏ× (ÎÁÐÒÉÍÅÒ foo.bar.com), ÔÁË É IP ÓÅÔÉ (ÎÁÐÒÉÍÅÒ 10.254.3.0 ÉÌÉ 10.254.1.0/255.255.255.128). ÷Ù ÄÏÌÖÎÙ ÐÒÅÄÏÓÔÁ×ÉÔØ ÄÏÓÔÕÐ Ë ×ÁÛÅÍÕ ÓÅÒ×ÅÒÕ ÔÏÌØËÏ ÄÏ×ÅÒÅÎÎÙÍ ÁÄÒÅÓÁÍ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÏÎ ÄÏÓÔÕÐÅÎ ÉÚ Internet. éÎÁÞÅ ÌÀÂÏÊ, ËÔÏ ÕÇÁÄÁÅÔ ×ÁÛ ÐÁÒÏÌØ ÂÕÄÅÔ ÉÍÅÔØ ÐÏÌÎÙÊ ËÏÎÔÒÏÌØ ÎÁÄ ×ÁÛÅÊ ÓÉÓÔÅÍÏÊ.
access_header=ëÏÎÔÒÏÌØ äÏÓÔÕÐÁ
access_all=òÁÚÒÅÛÉÔØ ÓÏ ×ÓÅÈ ÁÄÒÅÓÏ×
access_allow=òÁÚÒÅÛÉÔØ ÔÏÌØËÏ Ó ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÁÄÒÅÓÏ×
access_deny=úÁÐÒÅÔÉÔØ Ó ÐÅÒÅÞÉÓÌÅÎÎÙÈ ÁÄÒÅÓÏ×
access_err=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÓÐÉÓËÁ ÄÏÓÔÕÐÁ
access_enone=áÄÒÅÓÁ ÎÅ ÕËÁÚÁÎÙ
access_enet='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÓÅÔÅ×ÙÍ ÁÄÒÅÓÏÍ
access_emask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍÏÊ ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ
access_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÌÎÙÍ ÁÄÒÅÓÏÍ IP ÉÌÉ ÓÅÔÉ
access_ehost=ïÛÉÂËÁ ÐÒÉ ÐÏÉÓËÅ IP ÁÄÒÅÓÁ ÄÌÑ '$1'
access_eself=÷ÁÛ ÓÏÂÓÔ×ÅÎÎÙÊ IP ÁÄÒÅÓ ($1) ÂÕÄÅÔ ÚÁÐÒÅÝÅÎ

bind_title=ðÏÒÔ É ÁÄÒÅÓ
bind_desc=åÓÌÉ ÈÏÓÔ ÎÁ ËÏÔÏÒÏÍ ÒÁÂÏÔÁÅÔ Webmin ÉÍÅÅÔ ÎÅÓËÏÌØËÏ IP ÁÄÒÅÓÏ×, ÔÏ ÓÅÒ×ÅÒ ÍÏÖÅÔ ÂÙÔØ ÎÁÓÔÒÏÅÎ ÎÁ ÐÒÏÓÌÕÛÉ×ÁÎÉÅ ÚÁÐÒÏÓÏ× ÔÏÌØËÏ Ó ÏÄÎÏÇÏ ÉÚ ÎÉÈ ÉÓÐÏÌØÚÕÑ ÄÁÎÎÕÀ ÆÏÒÍÕ. ðÏÒÔ TCP, ËÏÔÏÒÙÊ ÐÒÏÓÌÕÛÉ×ÁÅÔ Webmin ÔÁËÖÅ ÍÏÖÎÏ ÎÁÓÔÒÏÉÔØ ÚÄÅÓØ. ÷ÏÚÍÏÖÎÏ ÷ÁÛ ×ÅÂ ÂÒÁÕÚÅÒ ÍÏÖÅÔ ÐÏÐÒÏÓÉÔØ ×ÁÓ ÐÅÒÅÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ ÐÏÒÔÁ ÉÌÉ ÁÄÒÅÓÁ ÐÒÉ×ÑÚËÉ.
bind_header=IP áÄÒÅÓ É ðÏÒÔ
bind_ip=ðÒÏÓÌÕÛÉ×ÁÔØ IP áÄÒÅÓ
bind_all=÷ÓÅ
bind_port=ðÒÏÓÌÕÛÉ×ÁÔØ ðÏÒÔ
bind_err=ïÛÉÂËÁ ÐÒÉ ÓÍÅÎÅ ÁÄÒÅÓÁ
bind_eip=ïÛÉÂËÁ ÐÒÉ ÐÏÐÙÔËÅ ÐÏÌÕÞÉÔØ IP ÁÄÒÅÓ ÄÌÑ '$1'
bind_eassign=áÄÒÅÓ '$1' ÎÅ ÐÒÉÓ×ÏÅÎ ÄÁÎÎÏÊ ÓÉÓÔÅÍÅ
bind_eport=ðÏÒÔ $1 ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ

log_title=öÕÒÎÁÌÉÚÁÃÉÑ ÓÏÂÙÔÉÊ
log_desc=Webmin ÍÏÖÅÔ ÂÙÔØ ÎÁÓÔÒÏÅÎ ÄÌÑ ÚÁÐÉÓÉ ÖÕÒÎÁÌÁ ÓÏÂÙÔÉÊ ×ÅÂ ÓÅÒ×ÅÒÁ × ÓÔÁÎÄÁÒÔÎÏÍ ÆÏÒÍÁÔÅ ÖÕÒÎÁÌØÎÙÈ ÆÁÊÌÏ× CLF. åÓÌÉ ÖÕÒÎÁÌÉÚÁÃÉÑ ×ËÌÀÞÅÎÁ, ×Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ ËÏÇÄÁ IP ÁÄÒÅÓÁ ÉÌÉ ÉÍÅÎÁ ÈÏÓÔÏ× ÚÁÐÉÓÙ×ÁÀÔÓÑ × ÖÕÒÎÁÌ É ËÁË ÞÁÓÔÏ ÖÕÒÎÁÌØÎÙÊ ÆÁÊÌ ÏÞÉÝÁÅÔÓÑ. ðÒÉ ÁËÔÉ×ÉÚÁÃÉÉ, ÖÕÒÎÁÌÙ ÐÉÛÕÔÓÑ × ÆÁÊÌ $1.
log_header=öÕÒÎÁÌÉÚÁÃÉÑ ÓÏÂÙÔÉÊ ÷ÅÂ óÅÒ×ÅÒÁ
log_disable=ïÔËÌÀÞÉÔØ ÖÕÒÎÁÌÉÚÁÃÉÀ
log_enable=÷ËÌÀÞÉÔØ ÖÕÒÎÁÌÉÚÁÃÉÀ
log_resolv=úÁÐÉÓÙ×ÁÔØ ÒÁÚÉÍÅÎÏ×ÁÎÎÙÅ ÈÏÓÔÙ
log_clear=ïÞÉÝÁÔØ ÖÕÒÎÁÌ ËÁÖÄÙÅ $1 ÞÁÓÏ×
log_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÖÕÒÎÁÌÉÚÁÃÉÉ
log_ehours='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌÉÞÅÓÔ×ÏÍ ÞÁÓÏ×

proxy_title=ðÒÏËÓÉ ÓÅÒ×ÅÒÙ
proxy_desc=åÓÌÉ ÈÏÓÔ ÎÁ ËÏÔÏÒÏÍ ÚÁÐÕÝÅÎ Webmin ÎÁÈÏÄÉÔÓÑ ÚÁ ÓÅÔÅ×ÙÍ ÜËÒÁÎÏÍ ÎÅËÏÇÏ ÔÉÐÁ, ×ÁÍ ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØÓÑ ÕÓÔÁÎÏ×ËÁ ÐÁÒÁÍÅÔÒÏ× ÐÒÏËÓÉ ÓÅÒ×ÅÒÏ× ÄÌÑ ÄÏÓÔÕÐÁ Ë Web É FTP ÕÚÌÁÍ. îÅËÏÔÏÒÙÅ ÍÏÄÕÌÉ, ÔÁËÉÅ ËÁË <tt>ðÒÏÇÒÁÍÍÎÙÅ ðÁËÅÔÙ</tt>, ÂÕÄÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÄÁÎÎÙÅ ÐÒÏËÓÉ ÐÒÉ ×ÙÇÒÕÚËÅ ÆÁÊÌÏ× É ÐÒÏÇÒÁÍÍ.
proxy_header=ðÒÏËÓÉ óÅÒ×ÅÒÙ
proxy_http=HTTP ÐÒÏËÓÉ
proxy_ftp=FTP ÐÒÏËÓÉ
proxy_none=îÅÔ
proxy_nofor=îÅÔ ÐÒÏËÓÉ ÄÌÑ
proxy_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÏËÓÉ
proxy_ehttp=HTTP ÐÒÏËÓÉ ÓÅÒ×ÅÒ ÄÏÌÖÅÎ ÂÙÔØ ××ÅÄÅÎ ËÁË URL
proxy_eftp=FTP ÐÒÏËÓÉ ÓÅÒ×ÅÒ ÄÏÌÖÅÎ ÂÙÔØ ××ÅÄÅÎ ËÁË URL

#colours_title=ã×ÅÔÏ×ÁÑ ÓÈÅÍÁ
#colours_desc=äÁÎÎÙÊ ÄÉÁÌÏÇ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÒÅÄÁËÔÉÒÏ×ÁÔØ Ã×ÅÔÏ×ÕÀ ÓÈÅÍÕ ÉÓÐÏÌØÚÕÅÍÕÀ ×ÓÅÍÉ ÍÏÄÕÌÑÍÉ. ëÁÖÄÙÊ Ã×ÅÔ ÏÐÒÅÄÅÌÑÅÔÓÑ ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÕÀ ÓÉÓÔÅÍÕ RGB, ÇÄÅ ÚÎÁÞÅÎÉÅ ËÁÖÄÏÊ ÓÏÓÔÁ×ÌÑÀÝÅÊ ÅÓÔØ ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÙÊ ÎÏÍÅÒ ÏÔ 00 ÄÏ ff.
#colours_header=ã×ÅÔÏ×ÁÑ óÈÅÍÁ
#colours_default=ðÏ ÕÍÏÌÞÁÎÉÀ
cs_page=æÏÎ ÓÔÒÁÎÉÃ
cs_text=îÏÒÍÁÌØÎÙÊ ÔÅËÓÔ
cs_table=æÏÎ ÔÁÂÌÉÃ
cs_header=úÁÇÏÌÏ×ÏË ÔÁÂÌÉÃ
cs_link=ôÅËÓÔ ÓÓÙÌÏË
#colours_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ Ã×ÅÔÏ×
#colours_ered=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ËÒÁÓÎÏÇÏ ÄÌÑ '$1'
#colours_egreen=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÚÅÌÅÎÏÇÏ ÄÌÑ '$1'
#colours_eblue=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÓÉÎÅÇÏ ÄÌÑ '$1'

mods_title=íÏÄÕÌÉ Webmin
mods_desc1=íÏÄÕÌÉ ÄÌÑ Webmin ÍÏÖÎÏ ÄÏÂÁ×ÌÑÔØ ÉÓÐÏÌØÚÕÑ ÆÏÒÍÕ ÓÐÒÁ×Á. ïÂÙÞÎÏ ÍÏÄÕÌÉ ÐÏÓÔÁ×ÌÑÀÔÓÑ × ÆÁÊÌÁÈ <tt>.wbm</tt>, ËÁÖÄÙÊ ÉÚ ËÏÔÏÒÙÈ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÏÄÉÎ ÉÌÉ ÂÏÌÅÅ ÍÏÄÕÌÅÊ. åÓÌÉ ÍÏÄÕÌØ ÌÉÃÅÎÚÉÒÏ×ÁÎ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÔÏÌØËÏ ÎÁ ÎÅÓËÏØËÏ ÈÏÓÔÏ×, ×Ù ×ÏÚÍÏÖÎÏ ÎÅ ÓÍÏÖÅÔÅ ÅÇÏ ÕÓÔÁÎÏ×ÉÔØ.
mods_install=õÓÔÁÎÏ×ËÁ íÏÄÕÌÑ ÉÚ..
mods_local=ìÏËÁÌØÎÏÇÏ ÆÁÊÌÁ
mods_uploaded=úÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ
mods_ftp=ftp ÉÌÉ http URL
mods_installok=õÓÔÁÎÏ×ÉÔØ íÏÄÕÌØ
mods_desc2=åÓÌÉ ×Ù ÈÏÔÉÔÅ ÉÍÅÔØ ÂÏÌÅÅ ÏÄÎÏÊ ËÏÐÉÉ ÏÄÎÏÇÏ É ÔÏÇÏ-ÖÅ ÍÏÄÕÌÑ Ó ÒÁÚÎÙÍÉ ÎÁÓÔÒÏÊËÁÍÉ, ÔÏ ÆÏÒÍÁ ÓÐÒÁ×Á ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ËÌÏÎÉÒÏ×ÁÔØ ÌÀÂÏÊ ÉÚ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÍÏÄÕÌÅÊ. ëÌÏÎ ÂÕÄÅÔ ÉÍÅÔØ ÎÏ×ÏÅ ÉÍÑ, ÎÏ×ÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ, ÎÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ ÕÐÒÁ×ÌÅÎÉÑ ÄÏÓÔÕÐÏÍ É ÍÏÖÅÔ ÂÙÔØ ÄÏÓÔÕÐÅÎ ÒÁÚÌÉÞÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ.
mods_clone=ëÌÏÎÉÒÏ×ÁÎÉÅ íÏÄÕÌÑ
mods_cname=íÏÄÕÌØ ÄÌÑ ËÌÏÎÉÒÏ×ÁÎÉÑ
mods_cnew=éÍÑ ËÌÏÎÉÒÏ×ÁÎÎÏÇÏ ÍÏÄÕÌÑ
mods_cloneok=ëÌÏÎÉÒÏ×ÁÔØ íÏÄÕÌØ
mods_desc3=óÕÝÅÓÔ×ÕÀÝÉÅ ÍÏÄÕÌÉ É ÉÈ ËÌÏÎÙ ÍÏÇÕÔ ÂÙÔØ ÕÄÁÌÅÎÙ ÉÓÐÏÌØÚÕÑ ÆÏÒÍÕ ÎÉÖÅ. åÓÌÉ ÍÏÄÕÌØ ÉÍÅÀÝÉÊ ËÌÏÎÙ ÕÄÁÌÑÅÔÓÑ, ËÌÏÎÙ ÔÁËÖÅ ÂÕÄÕÔ ÕÄÁÌÅÎÙ. åÓÌÉ ÍÏÄÕÌØ ÂÙÌ ÕÄÁÌÅÎ, ×Ù ÄÏÌÖÎÙ ÐÅÒÅÉÎÓÔÁÌÌÉÒÏ×ÁÔØ ÅÇÏ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ×ÎÏ×Ø. íÏÄÕÌØ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ, ÅÓÌÉ ÄÒÕÇÉÅ ÍÏÄÕÌÉ ÚÁ×ÉÓÑÔ ÏÔ ÎÅÇÏ.
mods_delete=õÄÁÌÅÎÉÅ íÏÄÕÌÅÊ
mods_deleteok=õÄÁÌÉÔØ ÷ÙÂÒÁÎÎÙÅ íÏÄÕÌÉ

install_err1=ïÛÉÂËÁ ÐÒÉ ÉÎÓÔÁÌÌÑÃÉÉ ÍÏÄÕÌÑ ÉÚ $1
install_efile=æÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
install_err2=ïÛÉÂËÁ ÐÒÉ ÉÎÓÔÁÌÌÑÃÉÉ ÚÁÇÒÕÖÅÎÎÏÇÏ ÍÏÄÕÌÑ
install_ebrowser=÷ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÇÒÕÚËÕ ÆÁÊÌÏ×
install_err3=ïÛÉÂËÁ ÐÒÉ ÉÎÓÔÁÌÌÑÃÉÉ ÍÏÄÕÌÑ ÉÚ $1
install_eurl=îÅ×ÅÒÎÙÊ URL
install_etar=îÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÍÏÄÕÌÑ : $1
install_einfo=íÏÄÕÌØ $1 ÎÅ ÉÍÅÅÔ ÆÁÊÌÁ module.info
install_enone=ðÏÈÏÖÅ, ÞÔÏ ÆÁÊÌ ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ÏÄÎÏÇÏ ÍÏÄÕÌÑ
install_eos=íÏÄÕÌØ $1 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÁÎÎÕÀ ÏÐÅÒÁÃÉÏÎÎÕÀ ÓÉÓÔÅÍÕ ($2 $3)
install_ever=íÏÄÕÌØ $1 ÔÒÅÂÕÅÔ Webmin ×ÅÒÓÉÉ $2 ÉÌÉ ×ÙÛÅ
install_edep=íÏÄÕÌØ $1 ÔÒÅÂÕÅÔ ÎÁÌÉÞÉÑ ÍÏÄÕÌÑ $2
install_eextract=ïÛÉÂËÁ ÐÒÉ ÒÁÓÐÁËÏ×ËÅ : $1
install_title=éÎÓÔÁÌÌÑÃÉÑ ÍÏÄÕÌÑ
install_desc=óÌÅÄÕÀÝÉÅ ÍÏÄÕÌÉ ÂÙÌÉ ÕÓÐÅÛÎÏ ÉÎÓÔÁÌÌÉÒÏ×ÁÎÙ É ÄÏÂÁ×ÌÅÎÙ × ×ÁÛ ÓÐÉÓÏË ÄÏÓÔÕÐÁ :
install_line=$1 × $2 ($3 ëÂ)

clone_err=ïÛÉÂËÁ ÐÒÉ ËÌÏÎÉÒÏ×ÁÎÉÉ ÍÏÄÕÌÑ
clone_elink=ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÓÉÍ×ÏÌÉÞÅÓËÏÊ ÓÓÙÌËÉ : $1
clone_ecopy=ÏÛÉÂËÁ ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ ËÏÎÆÉÇÕÒÁÃÉÉ : $1
clone_desc=ëÌÏÎ $1

delete_err=ïÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ÍÏÄÕÌÅÊ
delete_edep=íÏÄÕÌØ $1 ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌÅÎ, ÐÏÓËÏÌØËÕ ÍÏÄÕÌØ $2 ÚÁ×ÉÓÉÔ ÏÔ ÎÅÇÏ
delete_desc1=$1 (ëÌÏÎ $2)
delete_desc2=$1 × $2 ($3 ëÂ)
delete_title=õÄÁÌÅÎÉÅ íÏÄÕÌÅÊ
delete_msg=óÌÅÄÕÀÝÉÅ ÍÏÄÕÌÉ ÂÙÌÉ ÕÓÐÅÛÎÏ ÕÄÁÌÅÎÙ ÉÚ ÉÎÓÔÁÌÌÑÃÉÉ :

os_title=ïÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ
os_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ÉÚÍÅÎÉÔØ ÏÐÅÒÁÃÉÏÎÎÕÀ ÓÉÓÔÅÍÕ ÐÏÄ ËÏÔÏÒÕÀ ÎÁÓÔÒÏÅÎ Webmin. üÔÏ ÍÏÖÅÔ ÂÙÔØ ÐÏÌÅÚÎÙÍ, ÅÓÌÉ ×Ù ÏÂÎÏ×ÉÌÉ ×ÁÛÕ ÍÁÛÉÎÕ ÎÁ ÎÏ×ÕÀ ×ÅÒÓÉÀ ÄÉÓÔÒÉÂÕÔÉ×Á ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ. ëÏÎÆÉÇÕÒÁÃÉÑ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÍÏÄÕÌÅÊ ÎÅ ÉÚÍÅÎÉÔÓÑ ÄÁÖÅ ÐÒÉ ÓÕÝÅÓÔ×ÕÀÝÉÈ ÏÔÌÉÞÉÑÈ ÍÅÖÄÕ ÓÔÁÒÏÊ É ÎÏ×ÏÊ ÓÉÓÔÅÍÁÍÉ.
os_header=ïÐÅÒÁÃÉÏÎÎÁÑ óÉÓÔÅÍÁ èÏÓÔÁ
os_curros=ôÅËÕÝÁÑ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ
os_currver=ôÅËÕÝÁÑ ×ÅÒÓÉÑ ïó
os_new=îÏ×ÁÑ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ

lang_title=ñÚÙË
lang_title2=ñÚÙË Webmin
lang_lang=éÓÐÏÌØÚÏ×ÁÔØ ÑÚÙË
lang_intro=äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ×ÙÂÒÁÔØ, ËÁËÏÊ ÑÚÙË ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × Webmin ÄÌÑ ÚÁÇÏÌÏ×ËÏ×, ÐÒÉÇÌÁÛÅÎÉÊ, ÓÏÏÂÝÅÎÉÉ É ÐÏÍÏÝÉ.
lang_ok=óÍÅÎÉÔØ ñÚÙË

ssl_title=SSL ÛÉÆÒÏ×ÁÎÉÅ
ssl_desc1=äÁÎÎÙÊ ÈÏÓÔ ÉÍÅÅÔ ÕÓÔÁÎÏ×ÌÅÎÎÙÊ ÍÏÄÕÌØ SSLeay ÄÌÑ Perl. ðÒÉ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÉ Webmin ÐÏÄÄÅÒÖÉ×ÁÅÔ ÛÉÆÒÏ×ÁÎÎÙÅ ÐÏ ÐÒÏÔÏËÏÌÕ SSL ÓÏÅÄÉÎÅÎÉÑ ÍÅÖÄÕ ×ÁÛÉÍ ÂÒÁÕÚÅÒÏÍ É ÓÅÒ×ÅÒÏÍ. åÓÌÉ ×Ù ÒÁÂÏÔÁÅÔÅ Ó ×ÁÛÉÍ Webmin ÓÅÒ×ÅÒÏÍ ÞÅÒÅÚ Internet, ÔÏ ×Ù ÏÂÑÚÁÔÅÌØÎÏ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ SSL ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÐÅÒÅÈ×ÁÔÁ ×ÁÛÉÈ ÐÁÒÏÌÅÊ ÚÌÏÕÍÙÛÌÅÎÎÉËÁÍÉ.
ssl_desc2=ðÒÅÄÕÐÒÅÖÄÅÎÉÅ - ×ËÌÀÞÁÊÔÅ ÐÏÄÄÅÒÖËÕ SSL ÔÏÌØËÏ ÅÓÌÉ ×ÁÛ ÂÒÁÕÚÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL (ÎÁÐÒÉÍÅÒ Netscape ÉÌÉ IE), Á ÔÁËÖÅ ÅÓÌÉ ÍÅÖÄÕ ×ÁÛÉÍ ÂÒÁÕÚÅÒÏÍ É ÓÅÒ×ÅÒÏÍ Webmin ÎÅÔ ÍÅÖÓÅÔÅ×ÏÇÏ ÜËÒÁÎÁ ÂÌÏËÉÒÕÀÝÅÇÏ <b>https</b> ÚÁÐÒÏÓÙ.
ssl_header=ðÏÄÄÅÒÖËÁ SSL
ssl_enable=÷ËÌÀÞÉÔØ ÐÏÄÄÅÒÖËÕ SSL, ÅÓÌÉ ÅÓÔØ
ssl_disable=÷ÙÌÀÞÉÔØ ÐÏÄÄÅÒÖËÕ SSL, ÄÁÖÅ ÅÓÌÉ ÅÓÔØ

startpage_title=ðÁÒÁÍÅÔÒÙ ÇÌÁ×ÎÏÇÏ ÍÅÎÀ
startpage_intro=äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÏÐÒÅÄÅÌÉÔØ ËÏÌ-×Ï ÐÉËÔÏÇÒÁÍÍ ÎÁ ËÏÌÏÎËÕ, ÎÁ ÓÔÒÁÎÉÃÅ ÇÌÁ×ÎÏÇÏ ÍÅÎÀ
startpage_tabs=òÁÚÂÉÔØ ÍÏÄÕÌÉ ÎÁ ËÁÔÅÇÏÒÉÉ?
startpage_nocol=ëÏÌ-×Ï ëÏÌÏÎÏË
startpage_alt=éÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ÚÁÇÏÌÏ×ÏË
startpage_ecols='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ËÏÌÏÎÏË
startpage_gotoone=åÓÌÉ ÄÏÓÔÕÐÅÎ ÔÏÌØËÏ ÏÄÉÎ ÍÏÄÕÌØ,<br>ÚÁÇÒÕÖÁÔØ ÓÒÁÚÕ ÅÇÏ?

upgrade_title=ïÂÎÏ×ÌÅÎÉÑ  Webmin
upgrade_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÏÂÎÏ×ÉÔØ ÷ÁÛÕ ÉÎÓÔÁÌÌÑÃÉÀ webmin ÎÁ ÎÏ×ÕÀ ×ÅÒÓÉÀ. ÷Ù ÍÏÖÅÔÅ ÐÒÏ×ÅÓÔÉ ÉÎÓÔÁÌÌÑÃÉÀ ÉÚ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ, ÚÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ ÉÌÉ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ ÎÁ <a href=http://www.webmin.com/>www.webmin.com</a>. ôÁËÖÅ ËÁË É ÐÒÉ ÒÕÞÎÏÍ ÏÂÎÏ×ÌÅÎÉÉ, ×ÓÅ ÷ÁÛÉ ÎÁÓÔÒÏÊËÉ É ÍÏÄÕÌÉ ÔÒÅÔØÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ× ÓÏÈÒÁÎÑÔÓÑ. 
upgrade_local=éÚ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ
upgrade_uploaded=éÚ ÚÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ
upgrade_ftp=ðÏÓÌÅÄÎÑÑ ×ÅÒÓÉÑ Ó www.webmin.com
upgrade_ok=ïÂÎÏ×ÉÔØ Webmin
upgrade_err1=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÉÚ $1
upgrade_err2=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ ÉÚ ÚÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ
upgrade_err3=ïÛÉÂËÁ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ Ó www.webmin.com
upgrade_efile=æÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
upgrade_ebrowser=÷ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÇÒÕÚËÕ ÆÁÊÌÏ×
upgrade_eversion=îÅ ÍÏÇÕ ×ÅÒÎÕÔØÓÑ Ë ×ÅÒÓÉÉ $1
upgrade_egunzip=îÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÏÔÓÕÔÓÔ×ÕÅÔ ËÏÍÁÎÄÁ <tt>gunzip</tt>
upgrade_etar=îÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ tar ÆÁÊÌÏÍ webmin
upgrade_setup=÷ÙÐÏÌÎÑÀ ÓÃÅÎÁÒÉÊ setup.sh ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ Webmin .. ðÏÄÏÖÄÉÔÅ ÍÉÎÕÔËÕ, ÐÏËÁ ÏÎ ÎÅ ÚÁ×ÅÒÛÉÔ Ó×ÏÀ ÒÁÂÏÔÕ.

assignment_header=óÏÏÔ×ÅÔÓÔ×ÉÅ ÍÏÄÕÌÅÊ ËÁÔÅÇÏÒÉÑÍ
assignment_title=ðÅÒÅÎÁÚÎÁÞÉÔØ ÍÏÄÕÌÉ
ca_c=ëÏÄ ÓÔÒÁÎÙ
ca_cn=ëÏÄ Á×ÔÏÒÉÚÁÃÉÉ
ca_create=õÓÔÁÎÏ×ËÁ Á×ÔÏÒÉÚÁÃÉÉ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ
ca_email=áÄÒÅÓ e-mail
ca_eminiserv=SSL ÓÅÒÔÉÆÉËÁÔÙ ËÌÉÅÎÔÏ× ÐÏÄÄÅÒÖÉÁÀÔÓÑ ÔÏÌØËÏ ÐÏÄ miniserv.
ca_err=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ Á×ÔÏÒÉÚÁÃÉÉ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ
ca_essl=SSL ÓÅÒÔÉÆÉËÁÃÉÑ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÁ ÔÏÌØËÏ ÐÒÉ ÒÁÂÏÔÅ ×ÅÂ ÓÅÒ×ÅÒÁ × ÒÅÖÉÍÅ SSL.
ca_essleay=ëÏÍÁÎÄÁ ÕÐÒÁ×ÌÅÎÉÑ SSL  $1 ÎÅ ÎÁÊÄÅÎÁ. ÷ÏÚÍÏÖÎÏ ÷ÁÍ ÎÕÖÎÏ ÉÚÍÅÎÉÔØ ÐÕÔØ Ë ÎÅÊ × ËÏÎÆÉÇÕÒÁÃÉÉ ÍÏÄÕÌÑ "ðÏÌØÚÏ×ÁÔÅÌÉ Webmin".
ca_eversion=÷ÅÒÓÉÑ Perl ÍÏÄÕÌÑ Net::SSLeay ÕÓÔÁÎÏ×ÌÅÎÎÁÑ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL ÓÅÒÔÉÆÉËÁÔÙ ËÌÉÅÎÔÏ×.
ca_header1=óÏÚÄÁÎÉÅ ÎÏ×ÏÇÏ CA ÓÅÒÔÉÆÉËÁÔÁ
ca_header2=òÅÄÁËÔÉÒÏ×ÁÎÉÅ CA ÓÅÒÔÉÆÉËÁÔÁ
ca_newmsg1=÷ÁÛ Webmin ÓÅÒ×ÅÒ ÕÖÅ ÎÁÓÔÒÏÅÎ ÄÌÑ Á×ÔÏÒÉÚÁÃÉÉ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ. ÷Ù ÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÕ ÆÏÒÍÕ ÄÌÑ ÉÈ ÕÓÔÁÎÏ×ËÉ ÓÎÏ×Á, ÎÏ ÌÀÂÙÅ ÓÅÒÔÉÆÉËÁÔÙ ÕÖÅ ×ÙÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÐÅÒÅÓÔÁÎÕÔ ÒÁÂÏÔÁÔØ.
ca_newmsg2=äÁÎÎÁÑ ÆÏÒÍÁ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÎÁÓÔÒÏÊËÉ ÷ÁÛÅÇÏ Webmin ÓÅÒ×ÅÒÁ ËÁË ÓÅÒ×ÅÒÁ Á×ÔÏÒÉÚÁÃÉÉ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ (CA) ÔÁË, ÞÔÏ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ ÚÁÐÒÏÓÉÔØ ÓÅÂÅ ÓÅÒÔÉÆÉËÁÔ × ÍÏÄÕÌÅ "ðÏÌØÚÏ×ÁÔÅÌÉ Webmin" ÄÌÑ ÉÈ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÎÁ ÓÅÒ×ÅÒÅ ÂÅÚ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÊ ÒÅÇÉÓÔÒÁÃÉÉ.
ca_o=ïÒÇÁÎÉÚÁÃÉÑ
ca_old=óÕÝÅÓÔ×ÕÀÝÉÊ ÓÅÒÔÉÆÉËÁÔ
ca_oldmsg1=óÅÒÔÉÆÉËÁÔ CA ÉÓÐÏÌØÚÕÅÍÙÊ ÄÁÎÎÙÍ ÓÅÒ×ÅÒÏÍ ÐÏËÁÚÁÎ ÎÉÖÅ. ÷Ù ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÅÇÏ ÐÕÔÅÍ ×ÓÔÁ×ËÉ ÓÀÄÁ ÓÅÒÔÉÆÉËÁÔÁ Ó ÄÒÕÇÏÇÏ CA, ÎÏ ÌÀÂÙÅ ÓÅÒÔÉÆÉËÁÔÙ ÕÖÅ ×ÙÄÁÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÐÅÒÅÓÔÁÎÕÔ ÒÁÂÏÔÁÔØ.
ca_oldmsg2=åÓÌÉ ÷Ù ÕÖÅ ÎÁÓÔÒÏÉÌÉ CA ÎÁ ÄÒÕÇÏÍ Webmin ÓÅÒ×ÅÒÅ, ÷Ù ÍÏÖÅÔÅ ×ÓÔÁ×ÉÔØ ÓÀÄÁ ÅÇÏ ÓÅÒÔÉÆÉËÁÔ ×ÍÅÓÔÏ ÎÁÓÔÒÏÊËÉ ÎÏ×ÏÇÏ CA. üÔÏ ÐÏÚ×ÏÌÉÔ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÄÒÕÇÏÇÏ ÓÅÒ×ÅÒÁ ÔÁËÖÅ ÒÁÓÐÏÚÎÏ×ÁÔØÓÑ ÎÁ ÄÁÎÎÏÍ ÓÅÒ×ÅÒÅ.
ca_ou=ïÔÄÅÌ
ca_setupok=á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ ÂÙÌÁ ÕÓÐÅÛÎÏ ÎÁÓÔÒÏÅÎÁ. óÅÊÞÁÓ ÐÏÌØÚÏ×ÁÔÅÌÉ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÍÏÄÕÌØ "ðÏÌØÚÏ×ÁÔÅÌÉ Webmin" ÄÌÑ ÚÁÐÒÏÓÁ Ó×ÏÉÈ ÓÅÒÔÉÆÉËÁÔÏ×.
ca_sp=ûÔÁÔ
ca_stop=ðÒÅËÒÁÔÉÔØ Á×ÔÏÒÉÚÁÃÉÀ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ Shutdown certificate authority
ca_stopmsg=îÁÖÍÉÔÅ ÎÁ ÄÁÎÎÕÀ ËÎÏÐËÕ ÄÌÑ ÐÒÅËÒÁÝÅÎÉÑ ÐÒÉÅÍÁ ÓÕÝÅÓÔ×ÕÀÝÉÈ É ×ÙÄÁÞÉ ÎÏ×ÙÈ ÓÅÒÔÉÆÉËÁÔÏ×. üÔÏ ÚÁÓÔÁ×ÉÔ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÍÑ É ÐÁÒÏÌØ ÄÌÑ ÉÈ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ.
ca_stopok=á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ ÂÙÌÁ ÕÓÐÅÛÎÏ ÐÒÅËÒÁÝÅÎÁ.
ca_title=á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ

categories_add=äÏÂÁ×ÉÔØ
categories_header=ID É ÏÐÉÓÁÎÉÅ ËÁÔÅÇÏÒÉÉ
categories_new=îÏ×ÁÑ ËÁÔÅÇÏÒÉÑ
categories_title=òÅÄÁËÔÉÒÏ×ÁÎÉÅ ËÁÔÅÇÏÒÉÊ

delete_sure=÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÕÄÁÌÉÔØ ×ÙÂÒÁÎÎÙÅ ÍÏÄÕÌÉ? $1 ëÂ ÆÁÊÌÏ× ÂÕÄÅÔ ÕÄÁÌÅÎÏ ÂÅÚ×ÏÚ×ÒÁÔÎÏ.

install_ecomp2=ïÛÉÂËÁ ÐÒÉ ÐÏÐÙÔËÅ ×ÙÐÏÌÎÉÔØ uncompress ÄÌÑ ÆÁÊÌÁ : $1
install_ecomp=æÁÊÌ × ÆÏÒÍÁÔÅ compress, ÎÏ ËÏÍÁÎÄÁ $1 ÎÅ ÎÁÊÄÅÎÁ × ÓÉÓÔÅÍÅ
install_egzip2=ïÛÉÂËÁ ÐÒÉ ÐÏÐÙÔËÅ ×ÙÐÏÌÎÉÔØ gunzip ÄÌÑ ÆÁÊÌÁ : $1
install_egzip=æÁÊÌ × ÆÏÒÍÁÔÅ gzip, ÎÏ ËÏÍÁÎÄÁ $1 ÎÅ ÎÁÊÄÅÎÁ × ÓÉÓÔÅÍÅ
install_eirpm=ïÛÉÂËÁ ÐÒÉ ÉÎÓÔÁÌÌÑÃÉÉ RPM : $1
install_erpm=îÅ Ñ×ÌÑÅÔÓÑ RPM Webmin ÍÏÄÕÌÑ

log_access=éÚÍÅÎÅÎÏ ÕÐÒÁ×ÌÅÎÉÅ ÄÏÓÔÕÐÏÍ ÐÏ IP
log_assignment=éÚÍÅÎÅÎÙ ËÁÔÅÇÏÒÉÉ ÍÏÄÕÌÅÊ
log_bind=éÚÍÅÎÅÎ ÐÏÒÔ É ÁÄÒÅÓ
log_categories=éÚÍÅÎÅÎÙ ÉÍÅÎÁ ËÁÔÅÇÏÒÉÊ
log_changeca=éÚÍÅÎÅÎÁ Á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ
log_clone=ëÌÏÎÉÒÏ×ÁÎ ÍÏÄÕÌØ $1 × $2
log_delete=õÄÁÌÅÎ ÍÏÄÕÌØ $1
log_desc2=ðÒÉ ×ËÌÀÞÅÎÉÉ ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ, Webmin ÂÕÄÅÔ ÚÁÐÉÓÙ×ÁÔØ ÂÏÌÅÅ ÄÅÔÁÌÉÚÉÒÏ×ÁÎÎÙÊ ÖÕÒÎÁÌ ÄÅÊÓÔ×ÉÊ ÐÏÌØÚÏ×ÁÔÅÌÑ × ÆÁÊÌ $1. äÁÎÎÙÊ ÖÕÒÎÁÌ ÍÏÖÅÔ ÂÙÔØ ÐÒÏÓÍÏÔÒÅÎ É ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÎ ÍÏÄÕÌÅÍ "öÕÒÎÁÌ ÄÅÊÓÔ×ÉÊ Webmin" ÎÁ ÐÒÅÄÍÅÔ ÄÅÊÓÔ×ÉÊ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ Webmin.
log_ediff=÷ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ ÏÔÓÕÔÓÔ×ÕÅÔ ËÏÍÍÁÎÄÁ $1 ÎÅÏÂÈÏÄÉÍÁÑ ÄÌÑ ÖÕÒÎÁÌÉÚÁÃÉÉ ÉÚÍÅÎÅÎÉÊ × ÆÁÊÌÁÈ
log_files=æÉËÓÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ × ÆÁÊÌÁÈ ÓÄÅÌÁÎÙÈ ÌÀÂÙÍÉ ÄÅÊÓÔ×ÉÑÍÉ
log_install=éÎÓÔÁÌÌÉÒÏ×ÁÎ ÍÏÄÕÌØ $1
log_lang=éÚÍÅÎÅÎ ÑÚÙË, ÇÌÏÂÁÌØÎÏ
log_log=éÚÍÅÎÅÎÙ ÐÁÒÁÍÅÔÒÙ ÖÕÒÎÁÌÉÒÏ×ÁÎÑ
log_mall=æÉËÓÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ×Ï ×ÓÅÈ ÍÏÄÕÌÑÈ
log_modules=æÉËÓÉÒÏ×ÁÔØ ÉÚÍÅÎÅÎÉÑ ÔÏÌØËÏ × ..
log_os=éÚÍÅÎÅÎÁ ÏÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ
log_proxy=éÚÍÅÎÅÎÙ ÐÒÏËÓÉ ÓÅÒ×ÅÒÙ
log_referers=éÚÍÅÎÅÎÙ ÄÏ×ÅÒÅÎÎÙÅ ÓÓÙÌØÎÙÅ
log_session=éÚÍÅÎÅÎÙ ÐÁÒÁÍÅÔÒÙ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
log_setupca=õÓÔÁÎÏ×ÌÅÎÁ Á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ
log_ssl=éÚÍÅÎÅÎ ÒÅÖÉÍ ÛÉÆÒÏ×ÁÎÉÑ SSL
log_startpage=éÚÍÅÎÅÎÙ ÐÁÒÁÍÅÔÒÙ ÇÌÁ×ÎÏÇÏ ÍÅÎÀ
log_stopca=ïÔÍÅÎÅÎÁ Á×ÔÏÒÉÚÁÃÉÑ ÐÏ ÓÅÒÔÉÆÉËÁÔÁÍ
log_theme=éÚÍÅÎÅÎÁ ÔÅÍÁ ÎÁ $1
log_theme_def=éÚÍÅÎÅÎÁ ÔÅÍÁ ÎÁ ÔÅÍÕ Webmin ÐÏ ÕÍÏÌÞÁÎÉÀ
log_tinstall=éÎÓÔÁÌÌÉÒÏ×ÁÎÁ ÔÅÍÁ $1
log_uall=æÉËÓÉÒÏ×ÁÔØ ÄÅÊÓÔ×ÉÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
log_ui=éÚÍÅÎÅÎÙ ÐÁÒÁÍÅÔÒÙ ÉÎÔÅÒÆÅÊÓÁ ÐÏÌØÚÏ×ÁÔÅÌÑ
log_upgrade=ïÂÎÏ×ÌÅÎ Webmin ÄÏ ×ÅÒÓÉÉ $1
log_users=æÉËÓÉÒÏ×ÁÔØ ÄÅÊÓÔ×ÉÑ ÔÏÌØËÏ ..

os_desc2=÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÉÚÍÅÎÉÔØ ÐÕÔØ ÐÏÉÓËÁ ÉÓÐÏÌØÚÕÅÍÙÊ Webmin ÄÌÑ ÚÁÐÕÓËÁ ÐÒÏÇÒÁÍÍ, É ÐÕÔØ Ë ÒÁÚÄÅÌÑÅÍÙÍ ÂÉÂÌÉÏÔÅËÁÍ ÐÅÒÅÄÁ×ÁÅÍÙÊ ËÁÖÄÏÊ ÚÁÐÕÓËÁÅÍÏÊ ÐÒÏÇÒÁÍÍÅ.
os_ld_path=ðÕÔØ ÐÏÉÓËÁ ÂÉÂÌÉÏÔÅË
os_path=ðÕÔØ ÐÏÉÓËÁ ÐÒÏÇÒÁÍÍ

referers_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÎÁÓÔÒÏÉÔØ ÐÏÄÄÅÒÖËÕ ÐÒÏ×ÅÒËÉ ÓÓÙÌÏË ÎÁ ÓÅÒ×ÅÒ Webmin, ËÏÔÏÒÁÑ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÏÐÁÓÎÙÈ ÓÓÙÌÏË Ó ÄÒÕÇÉÈ ×ÅÂ ÓÁÊÔÏ× ÚÁÓÔÁ×ÌÑÀÝÉÈ ÷ÁÛ ×ÅÂ ÂÒÁÕÚÅÒ ×ÙÐÏÌÎÑÔØ ÏÐÁÓÎÙÅ ÄÅÊÓÔ×ÉÑ. ïÄÎÁËÏ ÅÓÌÉ Õ ÷ÁÓ ÅÓÔØ ÓÓÙÌËÉ ÎÁ ÓÅÒ×ÅÒ Webmin ÉÚ ÎÁÄÅÖÎÙÈ ÍÅÓÔ, ËÏÔÏÒÙÅ ÎÅ ÄÏÌÖÎÙ ×ÙÚÙ×ÁÔØ ÔÒÅ×ÏÇÕ, ÷Ù ÍÏÖÅÔÅ ÄÏÂÁ×ÉÔØ ÄÁÎÎÙÅ ÓÁÊÔÙ × ÓÐÉÓÏË ÎÉÖÅ.
referers_list=äÏ×ÅÒÅÎÎÙÅ ×ÅÂ ÓÁÊÔÙ
referers_none=äÏ×ÅÒÑÔØ ÓÓÙÌËÁÍ ÏÔ ÎÅÚÎÁËÏÍÃÅ×
referers_referer=ðÒÏ×ÅÒËÁ ÓÓÙÌÏË ×ËÌÀÞÅÎÁ?
referers_title=äÏ×ÅÒÅÎÎÙÅ ÓÓÙÌËÉ

session_blockhost=âÌÏËÉÒÏ×ÁÔØ ÐÏÓÌÅ ÂÏÌÅÅ $1 ÎÅ×ÅÒÎÙÈ ÐÏÐÙÔÏË ÒÅÇÉÓÔÒÁÃÉÉ ÎÁ $2 ÓÅËÕÎÄ.
session_desc1=åÓÌÉ ×ËÌÀÞÅÎÏ, ÔÏ ÔÁÊÍÁÕÔÙ ÐÁÒÏÌÑ ÚÁÝÉÔÑÔ ÷ÁÛ Webmin ÓÅÒ×ÅÒ ÏÔ ÌÏÂÏ×ÙÈ ÁÔÁË ÐÏ ×ÚÌÏÍÕ ÐÁÒÏÌÅÊ ÐÕÔÅÍ ÄÏÂÁ×ÌÅÎÉÑ ÐÏÓÔÏÑÎÎÏ ×ÏÚÒÁÓÔÁÀÝÅÊ ÚÁÄÅÒÖËÉ ÍÅÖÄÕ ËÁÖÄÏÊ ÎÅ×ÅÒÎÏÊ ÐÏÐÙÔËÏÊ ÒÅÇÉÓÔÒÁÃÉÉ ÄÌÑ ÏÄÎÏÇÏ É ÔÏÇÏ-ÖÅ ÐÏÌØÚÏ×ÁÔÅÌÑ.
session_desc2=ðÒÉ ×ËÌÀÞÅÎÉÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÓÅÓÓÉÊ, ËÁÖÄÁÑ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎÎÁÑ ÐÏÌØÚÏ×ÁÔÅÌØÓËÁÑ ÓÅÓÓÉÑ ÂÕÄÅÔ ÏÔÓÌÅÖÉ×ÁÔØÓÑ Webmin-ÏÍ. üÔÏ ÄÁÅÔ ×ÏÚÍÏÖÎÏÓÔØ Á×ÔÏÍÁÔÉÞÅÓËÉ ÏÔËÌÀÞÁÔØ ÂÅÚÄÅÊÓÔ×ÕÀÝÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ. ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÞÔÏ ×ËÌÀÞÅÎÉÅ ÉÌÉ ÏÔËÌÀÞÅÎÉÅ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÓÅÓÓÉÊ ÍÏÖÅÔ ÐÏÔÒÅÂÏ×ÁÔØ ÐÅÒÅÒÅÇÉÓÒÁÃÉÉ ×ÓÅÈ ÒÁÂÏÔÁÀÝÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
session_disable=ïÔËÌÀÞÉÔØ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ ÓÅÓÓÉÊ
session_eblockhost_failures=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏ ËÏÌ-×Ï ÒÅÇÉÓÔÒÁÃÉÊ ÄÏ ÂÌÏËÉÒÏ×ÁÎÉÑ
session_eblockhost_time=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏ ×ÒÅÍÑ ÂÌÏËÉÒÏ×ÁÎÉÑ
session_ecookie=÷ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ "ËÌÀÞÉËÉ", ËÏÔÏÒÙÅ ÎÅÏÂÈÏÄÉÍÙ ÄÌÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÓÅÓÓÉÊ
session_elogouttime=ïÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏ ×ÒÅÍÑ ÂÅÚÄÅÊÓÔ×ÉÑ ÄÏ Á×ÔÏÍÁÔÉÞÅÓËÏÇÏ ÏÔËÌÀÞÅÎÉÑ
session_elsof=ìÏËÁÌØÎÁÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÑ ÔÒÅÂÕÅÔ ÎÁÌÉÞÉÑ ÐÒÏÇÒÁÍÍÙ <tt>lsof</tt>
session_enable=÷ËÌÀÞÉÔØ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ ÓÅÓÓÉÊ
session_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ
session_header=ðÁÒÁÍÅÔÒÙ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ É ÓÅÓÓÉÊ
session_localoff=÷ÓÅÇÄÁ ÔÒÅÂÕÅÔÓÑ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÐÁÒÏÌØ
session_localon=òÁÚÒÅÛÉÔØ ×ÈÏÄ ÂÅÚ ÐÁÒÏÌÑ ÄÌÑ ÓÏ×ÐÁÄÁÀÝÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ó localhost
session_locking=÷ËÌÀÞÉÔØ ÂÌÏËÉÒÏ×ÁÎÉÅ × Webmin
session_logout=á×ÔÏÏÔËÌÀÞÅÎÉÅ ÐÏÓÌÅ $1 ÍÉÎÕÔ ÂÅÚÄÅÊÓÔ×ÉÑ
session_pdisable=ïÔËÌÀÞÉÔØ ÔÁÊÍÁÕÔÙ ÄÌÑ ÐÁÒÏÌÅÊ
session_penable=÷ËÌÀÞÉÔØ ÔÁÊÍÁÕÔÙ ÄÌÑ ÐÁÒÏÌÅÊ
session_syslog=æÉËÓÉÒÏ×ÁÔØ ÂÌÏËÉÒÏ×ÁÎÎÙÅ ÈÏÓÔÙ × ÐÏÄÓÉÓÔÅÍÅ <tt>syslog</tt>
session_title=áÕÔÅÎÔÉÆÉËÁÃÉÑ

startpage_deftab=ëÁÔÅÇÏÒÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ

syslet_auto=á×ÔÏÍÁÔÉÞÅÓËÉ ÚÁÇÒÕÖÁÔØ ÓÉÓÌÅÔÙ?
syslet_base=âÁÚÏ×ÙÅ URL ÄÌÑ RPM ÓÉÓÌÅÔÏ×
syslet_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÌÑ ÎÁÓÔÒÏÊËÉ Á×ÔÏÍÁÉÞÅÓËÏÊ ÚÁÇÒÕÚËÉ É ÉÎÓÔÁÌÌÑÃÉÉ ÏÔÓÕÔÓÔ×ÕÀÝÉÈ "Eazel óÉÓÌÅÔÏ×" ÎÁ ÷ÁÛ Webmin ÓÅÒ×ÅÒ.
syslet_ebase=îÅ×ÅÒÎÙÊ ÂÁÚÏ×ÙÊ URL
syslet_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÓÉÓÌÅÔÏ×
syslet_title=á×ÔÏÚÁÇÒÕÚËÁ ÓÉÓÌÅÔÏ×

themes_change=éÚÍÅÎÉÔØ
themes_default=ôÅÍÁ Webmin ÐÏ ÕÍÏÌÞÁÎÉÀ
themes_desc=ôÅÍÙ ÕÐÒÁ×ÌÑÀÔ ×ÎÅÛÎÉÍ ×ÉÄÏÍ ÉÎÔÅÒÆÅÊÓÁ ÐÏÌØÚÏ×ÁÔÅÌÑ Webmin, ×ËÌÀÞÁÑ ÐÉËÔÏÇÒÁÍÍÙ, Ã×ÅÔÁ, ÆÏÎ É ×ÏÚÍÏÖÎÏÅ ÒÁÓÐÏÌÏÖÅÎÉÅ ÓÔÒÁÎÉÃ. ÷ÙÂÅÒÉÔÅ ÏÄÎÕ  ÉÚ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ ÔÅÍ × ÒÁÍËÅ ÓÅÌÅËÔÏÒÁ × ÓÌÅÄÕÀÝÅÊ ÆÏÒÍÅ.
themes_done=óÌÅÄÕÀÝÉÅ ÔÅÍÙ ÂÙÌÉ ÕÓÐÅÛÎÏ ÉÎÓÔÁÌÌÉÒÏ×ÁÎÙ ÎÁ ÷ÁÛÕ ÓÉÓÔÅÍÕ:
themes_ebrowser=÷ÁÛ ÂÒÁÕÚÅÒ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÇÒÕÚËÕ ÆÁÊÌÏ×
themes_ecomp2=îÅ ÍÏÇÕ ÓÄÅÌÁÔØ uncompress ÆÁÊÌÁ : $1
themes_ecomp=æÁÊÌ × ÆÏÒÍÁÔÅ compress, ÎÏ ËÏÍÁÎÄÁ $1 ÎÅ ÎÁÊÄÅÎÁ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ
themes_eextract=ïÛÉÂËÁ ÐÒÉ ÒÁÚÖÁÔÉÉ : $1
themes_efile=æÁÊÌ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
themes_egzip2=îÅ ÍÏÇÕ ÓÄÅÌÁÔØ gunzip ÆÁÊÌÁ : $1
themes_egzip=æÁÊÌ × ÆÏÒÍÁÔÅ gzip, ÎÏ ËÏÍÁÎÄÁ $1 ÎÅ ÎÁÊÄÅÎÁ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ
themes_einfo=äÌÑ ÔÅÍÙ $1 ÏÔÓÕÔÓÔ×ÕÅÔ theme.info ÆÁÊÌ
themes_eirpm=ïÛÉÂËÁ ÐÒÉ ÕÓÔÁÎÏ×ËÅ RPM : $1
themes_enone=ðÏÈÏÖÅ, ÞÔÏ ÆÁÊÌ ÎÅ ÓÏÄÅÒÖÉÔ ÎÉ ÏÄÎÏÊ ÔÅÍÙ
themes_erpm=îÅ Ñ×ÌÑÅÔÓÑ RPM Ó ÔÅÍÏÊ ÄÌÑ Webmin
themes_err1=ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ ÔÅÍÙ ÉÚ $1
themes_err2=ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ ÐÏÄÇÒÕÖÅÎÎÏÊ ÔÅÍÙ
themes_err3=ïÛÉÂËÁ ÕÓÔÁÎÏ×ËÉ ÔÅÍÙ ÉÚ $1
themes_etar=îÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÔÅÍÙ : $1
themes_eurl=îÅ×ÅÒÎÙÊ URL
themes_installdesc=éÓÐÏÌØÚÕÊÔÅ ÆÏÒÍÕ ÎÉÖÅ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÎÏ×ÏÊ ÔÅÍÙ Webmin ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ. ôÅÍÙ ÏÂÙÞÎÏ ÐÏÓÔÁ×ÌÑÀÔÓÑ × <tt>.wbt</tt> ÆÁÊÌÁÈ, ÎÏ ÍÏÇÕÔ ÔÁËÖÅ ÕÓÔÁÎÁ×ÌÉ×ÁÔØÓÑ ÉÚ RPM ÆÁÊÌÏ× × ÓÌÕÞÁÅ ÐÏÄÄÅÒÖËÉ ÔÁËÏ×ÙÈ ÷ÁÛÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÏÊ.
themes_installok=éÎÓÔÁÌÌÉÒÏ×ÁÔØ ôÅÍÕ
themes_line=$1 × $2 ($3 ëÂ)
themes_ok=ôÅÍÁ ÕÓÐÅÛÎÏ ÉÚÍÅÎÅÎÁ ... ÐÅÒÅÈÏÖÕ ÎÁ ÇÌÁ×ÎÏÅ ÍÅÎÀ Webmin.
themes_sel=ôÅËÕÝÁÑ ÔÅÍÁ :
themes_title=ôÅÍÙ Webmin

ui_default=ðÏ ÕÍÏÌÞÁÎÉÀ
ui_desc=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÒÅÄÁËÔÉÒÏ×ÁÔØ ÐÁÒÁÍÅÔÒÙ ÉÎÔÅÒÆÅÊÓÁ ÐÏÌØÚÏ×ÁÔÅÌÑ ÉÓÐÏÌØÚÕÅÍÙÅ ×ÓÅÍÉ ÍÏÄÕÌÑÍÉ. ðÒÉ ××ÏÄÅ Ã×ÅÔÏ×ÏÊ ÓÈÅÍÙ ËÁÖÄÙÊ Ã×ÅÔ ÄÏÌÖÅÎ ÂÙÔØ ÕËÁÚÁÎ ÉÓÐÏÌØÚÕÑ ÓÔÁÎÄÁÒÔÎÕÀ ÓÉÓÔÅÍÕ RGB, ÇÄÅ ËÁÖÄÏÅ ÚÎÁÞÅÎÉÅ ÐÒÅÄÓÔÁ×ÌÑÅÔ ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÙÊ ÎÏÍÅÒ ÏÔ 00 ÄÏ ff. 
ui_eblue=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÓÉÎÅÇÏ ÄÌÑ '$1'
ui_egreen=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÚÅÌÅÎÏÇÏ ÄÌÑ '$1'
ui_ered=îÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ËÒÁÓÎÏÇÏ ÄÌÑ '$1'
ui_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ Ã×ÅÔÏ×ÏÊ ÓÈÅÍÙ
ui_header=ðÁÒÁÍÅÔÒÙ ÉÎÔÅÒÆÅÊÓÁ ÐÏÌØÚÏ×ÁÔÅÌÑ
ui_sysinfo0=÷ÎÉÚÕ ÂÒÁÕÚÅÒÁ
ui_sysinfo1=÷ ÚÁÇÏÌÏ×ËÅ ÂÒÁÕÚÅÒÁ
ui_sysinfo2=îÁÄ ÚÁÇÏÌÏ×ËÏÍ ÓÔÒÁÎÉÃÙ
ui_sysinfo=ðÏËÁÚÙ×ÁÔØ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÍÁÛÉÎÙ
ui_texttitles=ðÏËÁÚÙ×ÁÔØ ÚÁÇÏÌÏ×ËÉ ËÁË ÔÅËÓÔ?
ui_title=éÎÔÅÒÆÅÊÓ ÐÏÌØÚÏ×ÁÔÅÌÑ

upgrade_descrpm=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÐÏÌÎÏÓÔØÀ ÏÂÎÏ×ÉÔØ ÉÎÓÔÁÌÌÑÃÉÀ Webmin ÓÅÒ×ÅÒÁ ÎÁ ÎÏ×ÕÀ ×ÅÒÓÉÀ ÉÓÐÏÌØÚÕÑ RPM. ÷Ù ÍÏÖÅÔÅ ÐÒÏ×ÅÓÔÉ ÏÂÎÏ×ÌÅÎÉÅ ÉÓÐÏÌØÚÕÑ ÌÏËÁÌØÎÙÊ RPM ÆÁÊÌ, ÐÏÄÇÒÕÖÅÎÎÙÊ ÐÏ ÓÅÔÉ ÆÁÊÌ ÉÌÉ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ Ó <a href=http://www.webmin.com/>www.webmin.com</a>. ôÁËÖÅ ËÁË É ÐÒÉ ÒÕÞÎÏÍ ÏÂÎÏ×ÌÅÎÉÉ, ×ÓÅ ÷ÁÛÉ ÎÁÓÔÒÏÊËÉ É ÍÏÄÕÌÉ ÓÔÏÒÏÎÎÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ× ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ.
upgrade_descsolaris-pkg=äÁÎÎÁÑ ÆÏÒÍÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÐÏÌÎÏÓÔØÀ ÏÂÎÏ×ÉÔØ ÉÎÓÔÁÌÌÑÃÉÀ Webmin ÓÅÒ×ÅÒÁ ÎÁ ÎÏ×ÕÀ ×ÅÒÓÉÀ ÐÕÔÅÍ ÕÄÁÌÅÎÉÑ ÔÅËÕÝÅÇÏ solaris ÐÁËÅÔÁ É ÉÎÓÔÁÌÌÑÃÉÉ ÎÏ×ÏÇÏ. ÷Ù ÍÏÖÅÔÅ ÐÒÏ×ÅÓÔÉ ÏÂÎÏ×ÌÅÎÉÅ ÉÓÐÏÌØÚÕÑ ÌÏËÁÌØÎÙÊ solaris ÐÁËÅÔ, ÐÏÄÇÒÕÖÅÎÎÙÊ ÐÏ ÓÅÔÉ ÆÁÊÌ ÉÌÉ ÐÏÓÌÅÄÎÀÀ ×ÅÒÓÉÀ Ó <a href=http://www.webmin.com/>www.webmin.com</a>. ôÁËÖÅ ËÁË É ÐÒÉ ÒÕÞÎÏÍ ÏÂÎÏ×ÌÅÎÉÉ, ×ÓÅ ÷ÁÛÉ ÎÁÓÔÒÏÊËÉ É ÍÏÄÕÌÉ ÓÔÏÒÏÎÎÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ× ÂÕÄÕÔ ÓÏÈÒÁÎÅÎÙ.
upgrade_emod=æÁÊÌ Ñ×ÌÑÅÔÓÑ ÍÏÄÕÌÅÍ Webmin, Á ÎÅ ÐÏÌÎÙÍ ÏÂÎÏ×ÌÅÎÉÅÍ. ÷ÁÍ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÔÒÁÎÉÃÕ <a href='$1'>íÏÄÕÌÉ Webmin</a> ÄÌÑ ÅÇÏ ÉÎÓÔÁÌÌÑÃÉÉ.
upgrade_erpm=îÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ webmin RPM ÆÁÊÌÏÍ.
upgrade_esolaris=æÕÎËÃÉÑ ÏÂÎÏ×ÌÅÎÉÑ Webmin × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÎÅ ÒÁÂÏÔÁÅÔ, ÅÓÌÉ  ÷Ù ÉÎÓÔÁÌÌÉÒÏ×ÁÌÉ Webmin ÉÚ Solaris ÐÁËÅÔÁ. ðÏÖÁÌÕÊÓÔÁ ÏÂÎÏ×ÉÔÅ Webmin ×ÒÕÞÎÕÀ.
upgrade_setuppackage=ïÂÎÏ×ÌÑÀ Webmin ÐÒÉ ÐÏÍÏÝÉ pkgadd .. ðÏÄÏÖÄÉÔÅ ÍÉÎÕÔËÕ ÐÏËÁ ÐÒÏÃÅÓÓ ÎÅ ÚÁ×ÅÒÛÉÔÓÑ.
upgrade_setuprpm=ïÂÎÏ×ÌÑÀ Webmin ÐÒÉ ÐÏÍÏÝÉ RPM .. ðÏÄÏÖÄÉÔÅ ÍÉÎÕÔËÕ ÐÏËÁ ÐÒÏÃÅÓÓ ÎÅ ÚÁ×ÅÒÛÉÔÓÑ.
070701000077d0000081a40000000000000002000000013d1fe2ca00004ab6000000200000000000000000000000000000001500000003reloc/webmin/lang/sv  index_title=Webmin-inställningar
index_return=webmin-inställningar

access_title=IP-åtkomstkontroll
access_desc=Webmin-servern kan ställas in att neka eller tillåta åtkomst från vissa IP-adresser i detta formulär. Datornamn (t ex foo.bar.com) och IP-nätverk (t ex 10.254.3.0 eller 10.254.1.0/255.255.255.128) kan också anges. Tillgängligheten bör begränsas till adresser du litar på, speciellt om servern går att komma åt från Internet. Om du inte gör detta kommer vem som helst som lyckas gissa sig till ditt lösenord att komma åt hela ditt system.
access_header=Åtkomstkontroll
access_all=Tillåt från alla adresser
access_allow=Tillåt endast från följande adresser
access_deny=Neka följande adresser
access_err=Det gick inte att uppdatera åtkomstlistan
access_enone=Du har inte angivit någon adress
access_enet='$1' är inte en giltig nätverksadress
access_emask='$1' är inte en giltig nätmask
access_eip='$1' är inte en fullständig IP- eller nätverksadress
access_ehost=Det gick inte att hitta IP-adressen för '$1'
access_eself=Din nuvarande IP-adress ($1) nekas med dessa inställningar

bind_title=Port och adress
bind_desc=Om datorn som Webmin körs på har flera IP-adresser, kan du i detta formulär ställa in servern att endast lyssna på en av adresserna. TCP-porten som Webmin lyssnar på kan också ställas in här. Observera att din webbrowser kan kräva att du loggar in igen om du ändrar port eller adress.
bind_header=IP-adress och port
bind_ip=Lyssna på IP-adress
bind_all=Alla
bind_port=Lyssna på port
bind_err=Det gick inte att ändra adress
bind_eip=Det gick inte att hitta IP-adressen för '$1'
bind_eassign=Adressen '$1' finns inte på detta system
bind_eport=Port $1 används redan

log_title=Loggning
log_desc=Webmin kan ställas in att logga webserverträffar, i standardloggformatet CLF. Om loggningen är aktiverad kan du också välja att logga IP-adresser eller datornamn och ställa in hur ofta loggfilen ska rensas. Loggarna skrivs till fil $1.
log_desc2=När loggningen är aktiverad kommer Webmin också att logga användarnas aktivitet mer utförligt i filen $1. Denna logg kan man sedan titta på och analysera med modulen Loggning av Webmin-aktivitet för att se exakt vad varje Webmin-användare har gjort.
log_header=Webserverloggning
log_disable=Deaktivera loggning
log_enable=Aktivera loggning
log_resolv=Logga uppslagna datornamn
log_clear=Rensa loggfilerna var $1:e timme
log_uall=Logga alla användares aktivitet
log_users=Logga endast aktivitet från ...
log_mall=Logga aktivitet i alla moduler
log_modules=Logga endast aktivitet i ...
log_files=Logga direkt till fil för varje aktivitet
log_err=Det gick inte att spara logginställningarna
log_ehours='$1' är inte ett giltigt timantal
log_ediff=Ditt system har inte kommandot $1, som behövs för att logga filändringar

proxy_title=Proxyservrar
proxy_desc=Om datorn som Webmin körs på finns bakom en brandvägg kan du behöva definiera en proxyserver så att web- och FTP-areor blir tillgängliga. Vissa moduler, t ex <tt>Programpaket</tt>, kommer att använda dessa proxies när de hämtar filer och program.
proxy_header=Proxyservrar
proxy_http=HTTP-proxy
proxy_ftp=FTP-proxy
proxy_none=Ingen
proxy_nofor=Ingen proxy för
proxy_err=Det gick inte att spara proxies
proxy_ehttp=HTTP-proxyservern måste anges som en URL
proxy_eftp=FTP-proxyservern måste anges som en URL

ui_title=Användarinställningar
ui_desc=I detta formulär kan du göra inställningar som ska gälla för alla moduler. Färger måste anges på vanlig RGB-form, där varje värde är ett hexadecimalt tal mellan 00 och ff.
ui_header=Användarinställningar
ui_default=Standard
cs_page=Bakgrund för sidor
cs_text=Normal text
cs_table=Bakgrund för tabeller
cs_header=Tabellrubrik
cs_link=Länktext
ui_texttitles=Visa rubriker som text?
ui_sysinfo=Visa inloggnings- och datornamn
ui_sysinfo0=Längst ned i webbläsaren
ui_sysinfo1=I läsarens titel
ui_sysinfo2=Ovanför sidhuvudet
ui_err=Det gick inte att spara färger
ui_ered=Ogiltigt rödvärde för '$1'
ui_egreen=Ogiltigt grönvärde för '$1'
ui_eblue=Ogiltigt blåvärde för '$1'

mods_title=Webmin-moduler
mods_desc1=Genom att använda formuläret till höger kan du lägga till Webmin-moduler efter installationen. Moduler kommer vanligen som <tt>.wbm</tt>-filer, där en fil kan innehålla en eller flera moduler. Det går också att installera moduler från RPM-filer om detta stöds av ditt operativsystem.
mods_install=Installera modul
mods_local=Från lokal fil
mods_uploaded=Från nedladdad fil
mods_ftp=Från FTP- eller HTTP-URL
mods_installok=Installera modul från fil
mods_desc2=Om du vill ha mer än en kopia av samma modul, fast med olika inställningar, kan du använda formuläret till höger för att klona befintliga moduler. Klonen får ett nytt namn, nya modulinställningar, nya åtkomstinställningar och kan göras tillgänglig för andra användare.
mods_clone=Klona modul
mods_cname=Modul att klona
mods_cnew=Namn på klonen
mods_cloneok=Klona modul
mods_desc3=Genom att använda formuläret nedan kan du ta bort befintliga moduler och kloner. Om en klonad modul tas bort, kommer också alla dess kloner att raderas. Om en modul har tagits bort måste du installera om den innan den kan användas igen. En modul kan inte tas bort om andra befintliga moduler är beroende av den.
mods_delete=Ta bort moduler
mods_deleteok=Ta bort angivna moduler

install_err1=Det gick inte att installera modulen från $1
install_efile=Filen finns inte
install_err2=Det gick inte att installera den nedladdade modulen
install_ebrowser=Din browser stödjer inte filnedladdning
install_err3=Det gick inte att installera modulen från $1
install_eurl=Ogiltig URL
install_etar=Ogiltig modulfil: $1
install_einfo=Modul $1 saknar module.info-fil
install_enone=Filen verkar inte innehålla någon modul
install_eos=Modul $1 stödjer inte detta operativsystem ($2 $3)
install_ever=Modul $1 går endast att köra i Webmin version $2 eller högre
install_edep=Modul $1 behöver modul $2
install_eextract=Det gick inte att packa upp modulen: $1
install_title=Installera modul
install_desc=Följande moduler har installerats och lagts till din åtkomstkontrollista:
install_line=$1 i $2 ($3 kB)
install_ecomp=Filen är komprimerad, men kommandot $1 finns inte i systemet
install_ecomp2=Det gick inte att packa upp filen: $1
install_egzip=Filen är gzippad, men kommandot $1 finns inte i systemet
install_egzip2=Det gick inte att gunzippa filen: $1
install_erpm=Detta är inte en RPM-modul för Webmin
install_eirpm=RPM-installationen misslyckades :$1

clone_err=Det gick inte att klona modul
clone_elink=symbolisk länkning misslyckades: $1
clone_ecopy=Det gick inte att kopiera inställningar: $1
clone_desc=Klon av $1

delete_err=Det gick inte att ta bort moduler
delete_edep=Modul $1 får inte tas bort eftersom modul $2 är beroende av den
delete_desc1=$1 (Klon av $2)
delete_desc2=$1 i $2 ($3 kB)
delete_title=Ta bort moduler
delete_msg=Följande moduler har tagits bort från din Webmin-installation:
delete_sure=Vill du verkligen ta bort de angivna modulerna? Filer på sammanlagt $1 kB kommer att tas bort.

os_title=Operativsystem
os_desc=I detta formulär kan du tala om för Webmin vilket operativsystem det ska tycka att du har. Detta är användbart om du uppgraderar din maskin till en ny version av operativsystemet. Observera att alla inställningar för redan installerade moduler kommer att vara oförändrade, även om det finns skillnader mellan det nya och det gamla systemet.
os_desc2=Här kan du också ändra de sökvägar som Webmin ska använda sig av vid körning av program och sökvägar till den delade katalog som skickas till varje program.
os_header=Operativsystem
os_curros=Aktuellt operativsystem
os_currver=Aktuell OS-version
os_new=Nytt operativsystem
os_path=Programsökväg
os_ld_path=Katalogsökväg

lang_title=Språkval
lang_title2=Språk i Webmin
lang_lang=Använd språk
lang_intro=På denna sida kan du välja vilket språk Webmin ska använda i sina textmeddelanden
lang_ok=Byt språk

ssl_title=SSL-kryptering
ssl_desc1=Datorn som Webmin körs på verkar ha SSLeay Perl-modulen installerad. Med hjälp av den kan Webmin stödja SSL-krypterad kommunikation mellan din browser och servern. Om du kopplar upp dig mot Webmin-servern via Internet, bör du definitivt använda SSL för att undvika att någon annan kan få tag på ditt Webmin-lösenord.
ssl_desc2=Varning! Slå endast på SSL-stöd om din browser stödjer SSL (t ex Netscape eller IE) och om det inte finns någon brandvägg som spärrar <b>https</b>-förfrågningar mellan din browser och Webmin-datorn.
ssl_header=SSL-stöd
ssl_enable=Aktivera SSL-stöd om det finns
ssl_disable=Deaktivera SSL-stöd även om det finns

startpage_title=Inställningar för indexsida
startpage_intro=På denna sida kan du göra inställningar för indexsidorna
startpage_tabs=Kategorisera moduler?
startpage_nocol=Antal kolumner
startpage_alt=Använd alternativ rubrik
startpage_ecols='$1' är inte ett giltigt antal kolumner
startpage_gotoone=Gå direkt till modul<br>om användaren endast har en?
startpage_deftab=Standardkategori

upgrade_title=Uppgradera Webmin
upgrade_desc=I detta formulär kan du uppgradera hela Webmin-installationen till en ny version. Du kan uppgradera från en lokal fil, nedladdad fil eller den senaste versionen på <a href=http://www.webmin.com/>www.webmin.com</a>. Precis som vid manuell uppgradering kommer alla inställningar och tredjepartsmoduler att vara oförändrade.
upgrade_descrpm=I detta formulär kan du uppgradera hela Webmin-installationen till en ny version genom att använda RPMs uppgraderingsfunktion. Installera från en lokal RPM-fil, en nedladdad fil eller från den senaste versionen på <a href=http://www.webmin.com/>www.webmin.com</a>. Precis som vid manuell uppgradering kommer alla inställningar och tredjepartsmoduler att finnas kvar.
upgrade_desccaldera=I detta formulär kan du uppgradera hela Webmin-installationen till en ny version genom att använda RPMs uppgraderingsfunktion. Installera från en lokal RPM-fil, en nedladdad fil eller från den senaste verisonen från Caldera.
upgrade_descsolaris-pkg=I detta formulär kan du uppgradera hela Webmin-installationen till en ny version genom att ta bort det gamla Solaris-paketet och installera ett nytt. Installera från en lokal Solaris-paketfil, en nedladdad fil eller från den senaste versionen på <a href=http://www.webmin.com/>www.webmin.com</a>. Precis som vid manuell uppgradering kommer alla inställningar och trejdepartsmoduler att finnas kvar.
upgrade_local=Från lokal fil
upgrade_uploaded=Från nedladdad fil
upgrade_ftp=Senaste versionen på www.webmin.com
upgrade_cup=Senaste versionen från Calderas <tt>cupdate</tt>-verktyg
upgrade_ok=Upgpradera Webmin
upgrade_err1=Det gick inte att uppgradera från $1
upgrade_err2=Det gick inte att uppgradera från nedladdad fil
upgrade_err3=Det gick inte att uppgradera från www.webmin.com
upgrade_efile=Filen finns inte
upgrade_ebrowser=Din browser stödjer inte nedladdning av filer
upgrade_eversion=Det går inte att nedgradera till version $1
upgrade_erpm=Det är inte en giltig Webmin-RPM-fil
upgrade_egunzip=Systemet saknar kommandot <tt>gunzip</tt>
upgrade_etar=Det är inte en giltig Webmin-tar-fil
upgrade_emod=Filen är en Webmin-modul, inte en hel Webmin-uppgradering. Du vill förmodligen använda sidan <a href='$1'>Webmin-moduler</a> istället för att installera den.
upgrade_setup=Kör setup.sh-script för att uppgradera Webmin ... Vänta en minut på att det ska bli färdigt innan du fortsätter.
upgrade_setuprpm=Kör RPM för att uppgradera Webmin ... Vänta en minut på att det ska bli färdigt innan du fortsätter.
upgrade_setuppackage=Kör pkgadd för att uppgradera Webmin ... Vänta en minut på att det ska bli färdigt innan du fortsätter.
upgrade_esolaris=Webmins uppgradering fungerar inte nu när du har installerat systemet från ett Solaris-paket. Uppgradera manuellt istället.
upgrade_ecaldera=RPM-filen verkar inte vara en Caldera-version av Webmin.

ca_title=Signerande part
ca_old=Befintligt certifikat
ca_header1=Skapa ett nytt signerat certifikat
ca_header2=Ändra signerat certifikat
ca_newmsg1=Din Webmin-server har redan satts upp som en signerande part. Detta formulär kan användas för att sätta upp den på nytt, men certifikat som redan signerats kommer då att sluta fungera.
ca_newmsg2=I detta formulär kan du sätta upp din Webmin-server att vara signerande part (CA) så att användare under Webmin-användare kan begära certifikat för att identifiera sig för servern utan att behöva logga in.
ca_cn=Namn på signerande part
ca_email=E-postadress
ca_ou=Avdelning
ca_o=Organisation
ca_sp=Land
ca_c=Landskod
ca_create=Sätt upp signerande part
ca_oldmsg1=Det signerade certifikat som denna server använder visas nedan. Det går att ändra genom att klistra in ett certifikat från en annan signerare, men detta medför att certifikat som redan utfärdats inte längre kommer att fungera.
ca_oldmsg2=Om en signerande part redan satts upp på en annan Webmin-server kan du klistra in dess certifikat nedan istället för att sätta upp en ny signerande part. Detta medför att användare på den andra servern också kommer att kunna identifieras av denna server.
ca_err=Det gick inte att sätta upp signerande part
ca_setupok=Din signerande part har satts upp utan problem. Nu kan användare gå till Webmin-modulen för att begära certifikat för sig.
ca_stop=Stäng av signerande part
ca_stopmsg=Tryck på denna knapp för att stänga av Webmins funktioner att godkänna befintliga certifikat och utfärda nya. Detta medför att användarna istället måste autentiseras med användarnamn och lösenord.
ca_stopok=Din signerande part har stängts av utan problem.
ca_eminiserv=SSL-klientcertifikat stöds endast under miniserv.
ca_eversion=Version av den Perl Net::SSLeay-modul som finns på detta system stödjer inte SSL-klientcertifikat.
ca_essleay=Kommandot $1 för att administrera SSL finns inte i systemet. Du kan behöva ändra sökvägen i inställningarna för Webmin-användarmodulen.
ca_essl=SSL-certifiering kan endast sättas upp då webservern körs i SSL-mod.

session_title=Autentisering
session_desc1=När detta är aktiverat kommer Webmin-servern att skyddas av tidsgränser för lösenorden mot en lösenords-crackerattack genom att det för varje misslyckat inloggningsförsök dröjer längre tid innan samma användare får försöka logga in igen.
session_desc2=När sessionsautentiseringen är aktiverad kommer varje inloggad användares session att spåras av Webmin. Detta gör att inaktiva användare automatiskt kan loggas ut. Observera att när man aktiverar eller deaktiverar sessionsautentisering kommer alla användare oftast tvingas att logga in igen.
session_header=Autentiserings- och sessionsinställningar
session_pdisable=Slå av tidsgränser för lösenord
session_penable=Slå på tidsgränser för lösenord
session_blockhost=Spärra datorer med fler än $1 misslyckade inloggningsförsök i $2 sekunder.
session_syslog=Logga spärrade datorer till <tt>syslog</tt>
session_disable=Deaktivera sessionsautentiseringen
session_enable=Aktivera sessionsautentiseringen
session_localoff=Kräv alltid användarnamn och lösenord
session_localon=Tillåt inloggning utan lösenord men med matchning av användare från den lokala datorn.
session_logout=Logga ut automatiskt efter $1 minuter utan aktivitet
session_locking=Aktivera låsning i Webmin
session_err=Det gick inte att spara autentiseringen
session_elogouttime=Utloggningstid saknas eller är ogiltig
session_eblockhost_time=Spärrtid saknas eller är ogiltig
session_eblockhost_failures=Antal inloggningar för spärr saknas eller är ogiltigt
session_ecookie=Din webbläsare stödjer inte kakor, men det behövs för sessionsautentisering.
session_elsof=Lokal autentisering kräver programmet <tt>lsof</tt>

assignment_title=Kategorisera moduler
assignment_header=Ange en kategori för varje modul

categories_title=Ändra kategorier
categories_header=Kategori-ID och beskrivningar
categories_new=Ny kategori
categories_add=Lägg till

log_access=Ändrade IP-åtkomstkontroll
log_bind=Ändrade port och adress
log_log=Ändrade loggningsinställningarna
log_proxy=Ändrade proxy-servrar
log_ui=Ändrade inställningarna för användargränssnitt
log_install=Installerade modul $1
log_tinstall=Installerade tema $1
log_clone=Klonade modul $1 till $2
log_delete=Tog bort modul $1
log_os=Bytte operativsystem
log_lang=Bytte globalt språk
log_startpage=Ändrade inställningarna för indexsidan
log_upgrade=Upgraderade Webmin till version $1
log_session=Ändrade autentiseringsinställningarna
log_ssl=Ändrade SSL-krypteringsmod
log_setupca=Satte upp certifikatsignerare
log_changeca=Ändrade certifikatsignerare
log_stopca=Stängde certifikatsignerare
log_assignment=Ändrade modulkategorier
log_categories=Ändrade kategorinamn
log_theme=Ändrade tema till $1
log_theme_def=Ändrade tema till Webmin-standard
log_referers=Ändrade pålitliga länkar

themes_title=Webmin-teman
themes_desc=Ett tema styr hur Webmins användargränssnitt ser ut, inklusive ikoner, färger, bakgrunder och möjligen också layoutsidorna. I rutan nedan kan du välja ett av de teman som finns på ditt system.
themes_sel=Nuvarande tema:
themes_default=Webmins standardtema
themes_change=Ändra
themes_installdesc=Använd formuläret nedan för att installera ett nytt Webmin-tema på systemet. Teman distribueras vanligtvis i <tt>.wbt</tt>-filer, men kan också installeras från RPM-filer om detta stöds av ditt operativsystem.
themes_installok=Installera tema

themes_err1=Det gick inte att installera temat från $1
themes_efile=Filen finns inte
themes_err2=Det gick inte att installera det nedladdade temat
themes_ebrowser=Din webbläsare stöder inte filnedladdningar
themes_err3=Det gick inte att installera temat från $1
themes_eurl=URL:en var inte giltig
themes_etar=Det var inte en giltig temafil: $1
themes_einfo=Tema $1 saknar en theme.info-fil
themes_enone=Filen verkar inte innehålla något tema
themes_eextract=Det gick inte att ta fram: $1
themes_done=Följande teman har installerats på systemet:
themes_line=$1 i $2 ($3 kB)
themes_ecomp=Filen är komprimerad, men kommandot $1 finns inte i systemet
themes_ecomp2=Det gick inte att packa upp filen: $1
themes_egzip=Filen är gzippad, men kommandot $1 finns inte i systemet
themes_egzip2=Det gick inte att gunzippa filen: $1
themes_erpm=Det är inte en Webmin-tema-RPM
themes_eirpm=Det gick inte att installera denna RPM: $1
themes_ok=Temat har ändrats ... du skickas nu till Webmins indexsida.

referers_title=Pålitliga webbsidor
referers_desc=På denna sida kan du ställa in Webmins stöd för webbsidekontroll, som används för att hindra att ondsinta länkar från andra sajter lurar din webbläsare att göra farliga saker med Webmin. Om du har länkar till Webmin från dina egna sidor och inte vill bli varnad när du använder dessa, måste du skriva in dem i listan nedan.
referers_list=Pålitliga sajter
referers_none=Lita på länkar från okända sidor
referers_referer=Ska webbsidekontrollen vara påslagen?

syslet_title=Syslet automatnedladdning
syslet_desc=På denna sida görs inställningar för automatisk nedladdning och installation av Eazel Syslets som fattas till Webmin-servern.
syslet_auto=Ladda ned syslets automatiskt?
syslet_base=Standard-URL:er för syslet-RPM:er
syslet_err=Det gick inte att spara syslet-inställningarna
syslet_ebase=Standard-URL:en är ogiltig
  070701000077d1000081a40000000000000002000000013d1fe2cb000034de000000200000000000000000000000000000001500000003reloc/webmin/lang/tr  index_title=Webmin Yapýlandýrmasý
index_return=webmin yapýlandýrmasý

access_title=IP Giriþ Kontrolü
access_desc=Webmin Sunucusu bu formu kullanarak sadece belirtilen IP adreslerinden girilmesini saðlayabilir. Buraya bilgiler makine isimleri (gelecek.com.tr gibi) veya IP numarasý/Alt að maskesi (212.45.76.93/255.255.255.0 gibi) þeklinde girilmiþ olmalýdýr.Eðer internetten baðlanmak isterseniz güvenli olmasý açýsýndan sadece belirli IP'lerden girilmesini saðlayabilirsiniz. Aksi takdirde baþka birisi sizin þifrenizi öðrendiðinde sisteminizin kontrolünü ele geçirecektir. 
access_header=Giriþ Kontol
access_all=Bütün adreslerden kabul et
access_allow=Sadece listedeki adreslerden kabul et
access_deny=Listedeki adresleri kabul etme
access_err=Giriþ listesinin güncellenmesinde hata oluþtu
access_enone=Adresler girilmedi
access_enet='$1' geçerli bir að adresi deðil
access_emask='$1' geçerli bir að maskesi deðil
access_eip='$1' tamamlanmýþ bir að ya da IP adresi deðil
access_ehost='$1' için IP adresi aranmasýnda hata oluþtu
access_eself=Mevcut IP adresinizden ($1) giriþleri engellemek istermisiniz?

bind_title=Port ve Adres
bind_desc=Eðer Webmin'in makinesi çoklu IP adreslerinde çalýþýyorsa, sunucunun bu form ile sadece bir IP adresinden dinlenilmesi saðlanabilir.  Eðer birden fazla ethernet kartýna sahipseniz bu seçimi yapýn.
bind_header=IP Adresi ve Port
bind_ip=IP Adresinde Dinle
bind_all=Hepsi
bind_port=Portu dinle
bind_err=Adresin deðiþtirilmesinde hata oluþtu
bind_eip='$1' için IP adresinin alýnmasýnda hata oluþtu
bind_eassign='$1' adresi bu sisteme atanamaz.
bind_eport=Port $1 her zaman kullanýmda.

log_title=Kayýt
log_desc=Webmin, Web sunucusu kayýtlarýnýn standart Apache kayýt dosyasý þeklinde yazmasý için yapýlandýrýlmýþtýr. Kayýt 'Açýk' olduðunda, IP adresi ve makine adlarýnýn kaydedilip kaydedilmeyeceðini ve kayýt dosyasýnýn hangi sýklýkla silineceðini seçebilirsiniz. 
log_desc2=Kayýt tutma aktif hale getirildiðinde, Webmin kullanýcý iþlemleri hakkýnda daha detaylý bilgi tutacaktýr. Bu log Webmin Ýþlem Kaydý modülünde görüntülenebilir ve analiz edilebilir.
log_header=Web Sunucusu Kayýtlarý
log_disable=Kaydý Kapa
log_enable=Kaydý Aç
log_resolv=Ýsmi çözümlenen makineleri kaydet
log_clear=Kayýt dosyasýný her $1 saatte bir temizle
log_uall=Bütün kullanýcýlar için kayýt iþlemleri
log_users=Bu kullanýcýlar için kayýtlar ..
log_mall=Bütü modüllerdeki kayýt iþlemleri
log_modules=Bu modül için kayýtlar
log_files=Her iþlemde dosyalarda kayýt deðiþiklikleri yapýlsýn
log_err=Kayýt seçeneklerinin kaydedilmesinde hata oluþtu
log_ehours='$1' geçerli bir saat sayýsý deðildir
log_ediff=Sisteminiz kayýt dosyasý deðiþiklikleri için kullanýlacak olan $1 komutunu içermiyor.


proxy_title=Proxy Sunucularý
proxy_desc=Webmin bir tür güvenlik duvarý arkasýnda çalýþýyorsa, proxy sunucunuzu web ve ftp sitelerine giriþler için yapýlandýrmanýz gerekmektedir. 
proxy_header=Proxy Sunucularý
proxy_http=HTTP proxy
proxy_ftp=FTP proxy
proxy_none=Hiçbiri
proxy_nofor=Bu adres için proxy kullanma: 
proxy_err=Proxy'lerin kaydedilmesinde hata oluþtu
proxy_ehttp=HTTP proxy sunucusu bir URL olarak girilmelidir
proxy_eftp=FTP proxy sunucusu bir URL olarak girilmelidir

ui_title=Kullanýcý Arayüzü
ui_desc=Bu form bütün modüller için kullanýcý arayüzlerini deðiþtirmek için kullanýlýr. Renkleri girdiðinizde standart RGB renk sistemi olarak girmelisiniz. Girilen deðerler 00 ve FF arasý hex (onaltýlý) deðerleri olmalýdýr.
ui_header=Kullanýcý Arayüzü Seçenekleri
ui_default=Öntanýmlý
cs_page=Sayfa arkasý rengi
cs_text=Normal yazý
cs_table=Tablo arka fonu
cs_header=Tablo baþlýðý
cs_link=Yazý satýrý
ui_texttitles=Baþlýklar yazý olarak görüntülensin mi?
ui_err=Renklerin kaydedilmeinde hata oluþtu
ui_ered='$1' için yanlýþ kýrmýzý deðeri
ui_egreen='$1' için yanlýþ yeþil deðeri
ui_eblue='$1' için yanlýþ mavi deðeri

mods_title=Webmin Modülleri
mods_desc1=Webmin modülleri kurulumdan sisteme eklenmiþlerdir. Modüller tipik olarak <tt>.wb</tt> dosyasý þeklindedir.
mods_install=Modül Kur
mods_local=Yerel dosyadan
mods_uploaded=Yüklenilen dosyadan
mods_ftp=Ftp ya da http adresinden 
mods_installok=Dosyadan Modül Kur
mods_desc2=Eðer bir modülün farklý yapýlandýrmalarý sahip birden çok kopyasýna sahipseniz, form mevcut modülün kopyasýný çýkarmanýza izin verir.
mods_clone=Modül Kopyala
mods_cname=Kopya modülü
mods_cnew=Kopyalanmýþ modül isimi
mods_cloneok=Modül Kopyala
mods_desc3=Varolan modüller ve kopya modüller takip eden form sayesinde silinebilir. Bir modül silindiðinde tekrar kullanýlmadan önce yeniden kurulmalýdýr. Bir modül diðer modüller ona baðlýysa silinemez.
mods_delete=Modülleri Sil
mods_deleteok=Seçilen Modülleri Sil

install_err1=$1'den modül kurulmasýnda hata oluþtu
install_efile=Dosya mevcut deðil
install_err2=Yüklenen dosyadan kurulumda hata oluþtu
install_ebrowser=Tarayýcýnýz dosya yüklemelerini desteklemiyor
install_err3=$1'den modül kurulmasýnd hata oluþtu
install_eurl=Yanlýþ URL adresi
install_etar=Geçerli bir modül dosyasý deðildir : $1
install_einfo=$1 modülü kayýptýr.bilgi dosyasý
install_enone=Dosya herhangi bir modülü içermemektedir
install_eos=$1 modülü bu iþletim sistemini desteklememektedir ($2 $3)
install_ever=$1 modülü Webmin'in $2 veya daha üstü sürümlerine ihtiyaç duymaktadýr
install_edep=$1 modülü $2 modülüne ihtiyaç duymaktadýr
install_eextract=Açýlýmda hata oluþtu : $1
install_title=Modül Kur
install_desc=Takip eden modüller baþarýyla kuruldu ve giriþ kontrol
listesine yerleþtirildi :
install_line=$1, $2'de ($3 Kb)
install_ecomp=Dosya sýkýþmýþ, fakat $1 komutu sisteminizde bulunmuyor.
install_ecomp2=Dosyanýn açýlmasýnda hata oluþtu: $1
install_egzip=Dosya gzip'lenmiþ, fakat sisteminizde $1 komutu bulunmuyor.
install_egzip2=Dosyanýn açýlmasýnda hata oluþtu: $1

clone_err=Modülün kopyalanmasýnda hata oluþtu
clone_elink=Sembolik linkte hata oluþtu : $1
clone_ecopy=Kopyalama yapýlandýrýlmasýnda hata oluþtu : $1
clone_desc=$1'in kopyasý

delete_err=Modüllerin silinmesinde hata oluþtu
delete_edep=$1 modülü silinemiyor.Çünkü $2 modülü ona ihtiya duymaktadýr.
delete_desc1=$1 ($2'nin kopyasý)
delete_desc2=$1, $2'de ($3 Kb)
delete_title=Modülleri Sil
delete_msg=Takip eden modüller Webmin'inizden baþarýyla silinmiþtir:

os_title=Ýþletim Sistemi
os_desc=Eðer makinenizin iþletim sistemini yeni bir sürümüne güncellediyseniz bu modül sayesinde, Webmin'in kullandýðý ayarlarý deðiþtirmesi için aþaðýdaki listeden kullanýlan iþletim sistemini deðiþtirebilirsiniz.
os_desc2=Webmin'in çalýþtýrdýðý programlarýn yollarýný ve paylaþýlmýþ kütüphane yollarýný deðiþtirebilirsiniz.
os_header=Makine Ýþletim Sistemi
os_curros=Mevcut iþletim sistemi
os_currver=Mevcut iþletim sistemi sürümü
os_new=Yeni iþletim sistemi sürümü
os_path=Program arama yolu (PATH)
os_ld_path=Kütüphane arama yolu (lib)

lang_title=Dil
lang_title2=Webmin Dili
lang_lang=Görüntüleme dili
lang_intro=Bu sayfada Webmin'in baþlýklar, komutlar ve mesajlar için kullandýðý dili seçebilirsiniz.
lang_ok=Dili Seçiniz

ssl_title=SSL Þifrelemesi
ssl_desc1=Webmin'in çalýþmasý için SSLeay Perl modülünün kurulu olmasý gerekmektedir.Bunu kullandýðýnýzda Webmin SSL tabanlý tarayýcý ve bilgisayar arasýndaki iletiþimi kurmaktadýr.Eðer Webmin sunucunuza internetten ulaþacaksanýz kesinlikle Webmin þifrenizi ataklara karþý korumak için SSL kullanmalýsýnýz.
ssl_desc2=Uyarý! SSL desteðini sadece tarayýcýnýz destekliyorsa ve tarayýcýnýzla Webmin makineniz arasýnda firewall korumasý yoksa aktif hale getiriniz.
ssl_header=SSL Support
ssl_enable=Enable SSL support, if available
ssl_disable=Disable SSL support, even if available

startpage_title=Indeks Sayfasý Seçenekleri
startpage_intro=Bu sayfa ile indeks sayfasýndaki kolon baþýna kaç tane simge istediðinizi belirleyebilirsiniz.
startpage_tabs=Modüller sýnýflandýrýlsýn mý?
startpage_nocol=Kolon sayýsý
startpage_alt=Alternatif baþlýklar kullanýlsýn mý? 
startpage_ecols='$1' geçerli kolon sayýsý deðildir
startpage_gotoone=Eðer kullanýcý sadece bir tane modüle sahipse, doðrudan modüle gidilsin mi ?

upgrade_title=Webmin Güncelleþtir
upgrade_desc=Bu sayfa varolan Webmin'i daha yeni bir sürümüne güncellemek için kullanýlýr.Yerel dosyadan, yüklenen dosyadan veya <a href="www.webmin.com">www.webmin.com</a> adresinden en son sürümünü kurabilirsiniz. Eðer elle yapacaksanýz bütün yapýlandýrma ayarlarý ve üçüncü parti modüller saklanacaktýr.
upgrade_descrpm=
upgrade_local=Yerel dosyadan
upgrade_uploaded=Yüklenilen dosyadan
upgrade_ftp=En son sürümünü www.webmin.com'dan
upgrade_ok=Webmin'i güncelleþtir
upgrade_err1=$1'den güncellemede hata oluþtu.
upgrade_err2=Yüklenilen dosyadan güncellemede hata oluþtu.
upgrade_err3=www.webmin.com'dan güncellemede hata oluþtu.
upgrade_efile=Dosya mevcut deðil
upgrade_ebrowser=Tarayýcýnýz dosya yüklemeyi destelemiyor
upgrade_eversion=$1 sürümünü indiremezsiniz
upgrade_erpm=Geçerli bir webmin RPM dosyasý deðildir
upgrade_egunzip=Sisteminiz <tt>gunzip</tt> komutunu içermiyor
upgrade_etar=Geçerli bir webmin tar dosyasý deðildir
upgrade_setup=Webmin'in güncellenmesi için install.sh programcýðý çalýþtýrýlýyor. Webmin'in güncellenmesiiçin bir süre beklemelisiniz.
upgrade_setuprpm=RPM, Webmin'i güncelliyor...Devam etemeden önce birkaç dakika iþlemin bitmesini bekleyiniz
upgrade_setuppackage=pkgadd, Webmin'i güncelliyor...Devam etemeden önce birkaç dak iþlemin bitmesini bekleyiniz
upgrade_esolaris=Webmin'in güncelleme özelliði bir Solaris paketinden yapýlamaz. Lütfen Webmin'i elle güncelleyiniz

ca_title=Sertifika Onaylama
ca_old=Mevcut Sertifika 
ca_header1=Yeni bir CA sertifikasý oluþtur
ca_header2=CA sertifikasýný deðiþtir
ca_newmsg1=Webmin sertifika onaylamasýna her zaman sahiptir.Bu formu kullanarak tekrar kurabilirsiniz, ama bazý sertifikalar kullaným için yayýnlandýðý için çalýþmayabilirler.
ca_newmsg2=Bu form Webmin sunucusuna bir sertifika onaylama(CA) kurmak için hazýrlanmýþtýr.Böylece Webmin kullanýcýlarý sunucuya giriþ yapmadan kendilerini tanýtabilirler.
ca_cn=Onay Ýsmi
ca_email=E-posta Adresi
ca_ou=Bölüm
ca_o=Organizasyon
ca_sp=Eyalet
ca_c=Bölge kodu
ca_create=Sertifika onaylamayý kur
ca_oldmsg1=Bu sunucudaki CA sertifikasý aþaðýda gösterildiði gibi kullanýlmaktadýr.Bu sertifikayý baþka biriyle deðiþtirebiliriniz, ama sertifikalardan bazýlarý kullanýcýlara her zaman yayýnlandýðýndan iyi çalýþmayabilir. 
ca_oldmsg2=Baþka bir Webmin sunucusunda bir CA her zaman kurulu ise oradaki sertifikayý aþaðýdakinin yerine onu yeni bir tane olarak yapýþtýrabilirsiniz.Bu diðer sunucudaki kullanýcýlarýn bu sunucu ile iyi bir þekilde çalýþmasýný saðlar.
ca_err=Sertifika onaylamasýnýn kaydedilmesinde hata oluþtu
ca_setupok=Sertifika onaylamanýz baþarý ile kuruldu.Kullanýcýlar 'Webmin Kullanýcýlarý' modülünü kullanarak sertifikalarýný alabilirler
ca_stop=Sertifika onaylamasý kapatýldý
ca_stopmsg=Bu butonu týklayarak mevcut sertifikalarý onaylamak ya da yeni birini daðýtmak için Webmin'i durdurabilirsiniz.
ca_stopok=Sertifika onaylamanýz baþarýla kapatýldý
ca_eminiserv=SSL istemci sertifikalarý sadece miniserv altýnda desteklenmektedir
ca_eversion=Sisteminizde kurulu olan Perl Net::SSLeay modülünün bu sürümü SSL istemci sertifikalarýný desteklememektedir.
ca_essleay=SSL yönetim komutu $1 sisteminizde bulunmamaktadýr.'Webmin Kullanýcýlarý' modülü yapýlandýrmasýný deðiþtirmeniz gerekmektedir
ca_essl=SSL sertifikasyonu sadece SSL modunda çalýþan web sunucusu olduðu zaman kurulabilir.

session_title=Onaylama
session_desc1=Aktif hale getirildiðinde, Webmin, ayný kullanýcýnýn her baþarýsýz giriþ denemelerinde þifre kýrma ataklarýna karþý korunacaktýr.
session_desc2=Oturum onaylamasý aktif olduðunda, kullanýcý giriþleri Webmin tarafýndan izlenecek, bir gecikme olduðu anlaþýldýðý zaman ise sistemden çýkarýlacaktýr. Oturum onaylamasýný açar veya kapatýrsanýz sistemdeki bütün kullanýcýlar tekrar sisteme giriþ yapmak zorunda kalacaktýr.
session_header=Onaylama ve oturum seçenekleri
session_pdisable=Þifre gecikme süreleri kapalý
session_penable=Þifre gecikme süreleri aktif
session_blockhost=$2 saniyede $1'den çok baþarýsýz giriþten sonra makinenin giriþini engelle.
session_syslog=Engellenen makineleri <tt>syslog</tt>a kayýt tut.
session_disable=Oturum onaylamasýný kapat
session_enable=Oturum onaylamasýný aç
session_logout=Ýnaktif durumda $1 dakikadan sonra otomatik sistemden at.
session_locking=Webmin'de kilitleme açýk
session_err=Oturum kilitlenmesinin kaydedilmesinde hata oluþtu
session_elogouttime=Kayýp ya da yanlýþ gecikme süresi
session_eblockhost_time=Kayýp ya da yanlýþ engelleme süresi
session_eblockhost_failures=Kayýp ya da yanlýþ engelleme giriþi

assignment_title=Modülleri Sýnýflandýr
assignment_header=Modül kategorileri sýnýflandýrmasý

categories_title=Kategorileri Deðiþtir
categories_header=Kategory ID ve Açýklama
categories_new=Yeni Kategori
categories_add=Ekle

log_access=IP Giriþ Kontrolü deðiþtirildi
log_bind=Port ve adres deðiþtirildi
log_log=Kayýt seçenekleri deðiþtirildi
log_proxy=Proxy sunucularý deðiþtirildi
log_ui=Kullanýcý arayüz seçenekleri deðiþtirildi
log_install=$1 modülü kuruldu
log_clone=$1 modülü $2'ye kopyalandý
log_delete=$1 modülü silindi
log_os=Ýþletim sistemi deðiþtirildi
log_lang=Genel dil deðiþtirildi
log_startpage=indek sayfasý seçenekleri deðiþtirildi
log_upgrade=Webmin sürüm $1'e güncellendi
log_session=Onaylama seçenekleri deðiþtirildi
log_ssl=SSL þifreleme modu deðiþtirildi
log_setupca=Sertifika onaylamasýný kur
log_changeca=Sertifika onaylamasý deðiþtirildi
log_stopca=Sertifika onaylamasý deðiþtirildi
log_assignment=Modül kategorileri deðiþtirildi
log_categories=Kategori isimleri deðiþtirildi

  070701000077d2000081a40000000000000002000000013d1fe2ca00002dbb000000200000000000000000000000000000001800000003reloc/webmin/lang/zh_CN   index_title=Webmin ÅäÖÃ
index_return=webmin ÅäÖÃ
access_title=IP·ÃÎÊ¿ØÖÆ
access_desc=¿ÉÊ¹ÓÃ´Ë±í¸ñ½« Webmin ·þÎñÆ÷ÅäÖÃÎª½ûÖ¹»òÖ»ÔÊÐí·ÃÎÊÄ³Ð©IPµØÖ·¡£»¹¿ÉÊäÈëÖ÷»úÃû£¨ÀýÈç foo.bar.com£©»ò IP µØÖ·£¨ÀýÈç 10.254.3.0 »ò 10.254.1.0/255.255.255.128£©¡£ÄãÓ¦ÉèÖÃ³ÉÖ»ÓÐ¿ÉÐÅÈÎµÄµØÖ·²ÅÄÜ·ÃÎÊÄãµÄ·þÎñÆ÷£¬ÌØ±ðÊÇµ±·þÎñÆ÷¿É´ÓÒòÌØÍø·ÃÎÊÊ±¡£·ñÔò£¬ÈÎºÎÈËÖ»Òª²Âµ½ÄãµÄÃÜÂë¾Í¿ÉÒÔÍêÈ«¿ØÖÆÄãµÄÏµÍ³¡£
access_header=·ÃÎÊ¿ØÖÆ
access_all=ÔÊÐí´ÓËùÓÐµØÖ··ÃÎÊ
access_allow=Ö»ÔÊÐí´ÓÁÐ³öµÄµØÖ··ÃÎÊ
access_deny=½ûÖ¹´ÓÁÐ³öµÄµØÖ··ÃÎÊ
access_err=¸üÐÂ·ÃÎÊÁÐ±íÊ§°Ü
access_enone=Î´ÊäÈëµØÖ·
access_enet='$1' ²»ÊÇºÏ·¨µÄÍøÂçµØÖ·
access_emask='$1' ²»ÊÇºÏ·¨µÄÍøÂçµØÖ·ÑÚÂë
access_eip='$1' ²»ÊÇÍêÕûµÄIP»òÍøÂçµØÖ·
access_ehost=ÕÒ²»µ½ '$1'µÄIP µØÖ·
access_eself=Äãµ±Ç°µÄIPµØÖ·£¨$1£©½«»á±»½ûÖ¹·ÃÎÊ
bind_title=¶Ë¿ÚÓëµØÖ·
bind_desc=Èç¹ûÔËÐÐ Webmin µÄÖ÷»úÓÐ¶à¸öIPµØÖ·£¬¿ÉÓÃ´Ë±í¸ñ½« Webmin ·þÎñÆ÷ÅäÖÃÎª½ö¼àÌýÒ»¸öµØÖ·¡£Webmin ¼àÌýµÄ TCP ¶Ë¿Ú¿ÉÍ¬ÑùÅäÖÃ¡£×¢Òâ - ¸ü¸Ä¶Ë¿Ú»ò°ó¶¨µØÖ·ºó£¬ä¯ÀÀÆ÷¿ÉÄÜ»áÌáÊ¾ÄúÖØÐÂµÇÂ¼¡£
bind_header=IPµØÖ·Óë¶Ë¿Ú
bind_ip=¼àÌýµÄIPµØÖ·
bind_all=ËùÓÐ
bind_port=¼àÌýµÄ¶Ë¿Ú
bind_err=ÎÞ·¨¸Ä±äµØÖ·
bind_eip=ÕÒ²»µ½ '$1' µÄ IP µØÖ·
bind_eassign=±¾ÏµÍ³Ã»ÓÐ±»Ö¸ÅÉ '$1' Õâ¸öµØÖ·
bind_eport=¶Ë¿Ú $1 ÒÑÔÚÊ¹ÓÃ
log_title=¼ÇÈëÈÕÖ¾
log_desc=¿É½« Webmin ÅäÖÃÎªÒÔ±ê×¼ CLF ¸ñÊ½½«ÍøÕ¾·þÎñÆ÷µã»÷Êý¼ÇÈëÈÕÖ¾¡£ÈçÒÑÆôÓÃÈÕÖ¾¹¦ÄÜ£¬Äã»¹¿ÉÑ¡ÔñÊÇ·ñ¼ÇÂ¼ IP µØÖ·»òÖ÷»úÃû£¬¶à³¤Ê±¼äÇå³ýÈÕÖ¾¡£ÆôÓÃºó£¬ÈÕÖ¾Ð´ÈëÎÄ¼þ $1¡£
log_desc2=ÆôÓÃÈÕÖ¾¹¦ÄÜÊ±£¬Webmin »¹ÔÚÎÄ¼þ$1 ÖÐ¸üÏêÏ¸µØ¼ÇÏÂÓÃ»§µÄ¶¯×÷¡£´ËÈÕÖ¾¿ÉÓÃ Webmin¡°ÈÕÖ¾¶¯×÷¡±Ä£¿éÀ´²é¿´ºÍ·ÖÎö£¬ÒÔÁË½âÃ¿¸ö Webmin ÓÃ»§µÄÊ¹ÓÃÇé¿ö¡£
log_header=Web ·þÎñÆ÷ÈÕÖ¾
log_disable=½ûÖ¹¼ÇÈëÈÕÖ¾
log_enable=ÆôÓÃ¼ÇÈëÈÕÖ¾
log_resolv=¼ÇÈë½âÎöµÄÖ÷»úÃû
log_clear=Ã¿ $1 Ð¡Ê±Çå³ýÈÕÖ¾
log_uall=¼ÇÂ¼ËùÓÐÓÃ»§µÄ¶¯×÷
log_users=Ö»¼ÇÂ¼ÏÂÁÐÓÃ»§µÄ¶¯×÷ ..
log_mall=¼ÇÂ¼ËùÓÐÄ£¿éµÄ¶¯×÷
log_modules=Ö»¼ÇÂ¼ÏÂÁÐÄ£¿éµÄ¶¯×÷ ..
log_files=¼ÇÂ¼Ã¿Ò»¶¯×÷¶ÔÎÄ¼þËù×÷¸ü¸Ä
log_err=Î´ÄÜ±£´æÈÕÖ¾Ñ¡Ïî
log_ehours='$1' ²»ÊÇÓÐÐ§µÄÐ¡Ê±Êý
log_ediff=ÄúµÄÏµÍ³ÖÐÃ»ÓÐ¼ÇÂ¼ÎÄ¼þ¸ü¸ÄËùÐèµÄÃüÁî $1
proxy_title=´úÀí·þÎñÆ÷
proxy_desc=Èç¹ûÔËÐÐ Webmin µÄÖ÷»úÔÚÄ³ÖÖ·À»ðÇ½ºó£¬ Äã¿ÉÄÜÐèÒªÉèÖÃ´úÀí·þÎñÆ÷ÓÃÀ´·ÃÎÊwebºÍFTPÕ¾µã¡£Ä³Ð©Ä£¿é£¬ÀýÈç<tt>Èí¼þ°ü(Software Packages)</tt>£¬ÔÚÏÂÔØÎÄ¼þ»ò³ÌÐòÊ±½«Ê¹ÓÃÕâÐ©´úÀí¡£
proxy_header=´úÀí·þÎñÆ÷
proxy_http=HTTP´úÀí
proxy_ftp=FTP´úÀí
proxy_none=ÎÞ
proxy_nofor=ÒÔÏÂµØÖ·ÎÞ´úÀí
proxy_err=ÎÞ·¨±£´æ´úÀí
proxy_ehttp=HTTP´úÀí·þÎñÆ÷±ØÐëÒÔURLµÄÐÎÊ½ÊäÈë
proxy_eftp=FTP´úÀí·þÎñÆ÷±ØÐëÒÔURLµÄÐÎÊ½ÊäÈë
ui_title=ÓÃ»§½çÃæ
ui_desc=Äú¿ÉÓÃÏÂ±íÀ´±à¼­ËùÓÐÄ£¿éËùÊ¹ÓÃµÄÓÃ»§½çÃæÑ¡Ïî¡£ÔÚÊäÈëÑÕÉ«Ê±£¬Ã¿¸öÑÕÉ«¶¼±ØÐëÓÃ±ê×¼µÄRGBÏµÍ³À´Ö¸¶¨£¬¼´Ã¿¸öÖµ¶¼±ØÐëÊÇ00-ffÖ®¼äµÄÊ®Áù½øÖÆÊý¡£
ui_header=ÓÃ»§½çÃæÑ¡Ïî
ui_default=È±Ê¡
cs_page=Ò³Ãæ±³¾°
cs_text=Õý³£ÎÄ±¾
cs_table=±í±³¾°
cs_header=±íÍ·
cs_link=Á¬½ÓÎÄ±¾
ui_texttitles=ÒÔÎÄ±¾·½Ê½ÏÔÊ¾±êÌâ£¿
ui_sysinfo=ÏÔÊ¾µÇÂ¼ºÍÖ÷»úÃû
ui_sysinfo0=ÔÚä¯ÀÀÆ÷µÄµ×²¿
ui_sysinfo1=ÔÚä¯ÀÀÆ÷µÄ±êÌâÖÐ
ui_sysinfo2=ÔÚÒ³Ê×
ui_err=±£´æÑÕÉ«Ê§°Ü
ui_ered='$1' µÄºìÑÕÉ«ÖµÎÞÐ§
ui_egreen='$1' µÄÂÌÑÕÉ«ÖµÎÞÐ§
ui_eblue='$1' µÄÀ¶ÑÕÉ«ÖµÎÞÐ§
mods_title=Webmin Ä£¿é
mods_desc1=ÔÚ°²×°Ö®ºó¿ÉÓÃÓÒ·½µÄ±íÀ´ÔöÌí Webmin Ä£¿é¡£ÕâÐ©Ä£¿éÍ¨³£ÒÔ <tt>.wbm</tt> ÎÄ¼þ·Ö·¢£¬Ã¿¸öÎÄ¼þ¿É°üº¬Ò»¸ö»ò¶à¸öÄ£¿é¡£ÕâÐ©Ä£¿éÒ²¿É´Ó RPM ÎÄ¼þ°²×°£¬Èç¹ûÄúµÄ²Ù×÷ÏµÍ³Ö§³ÖµÄ»°¡£
mods_install=°²×°Ä£¿é
mods_local=´Ó±¾µØÎÄ¼þ
mods_uploaded=´ÓÉÏÔØÎÄ¼þ
mods_ftp=´Ó ftp »ò http URL
mods_installok=´ÓÎÄ¼þ°²×°Ä£¿é
mods_desc2=Èç¹ûÄúÏ£ÍûÓµÓÐÍ¬Ò»Ä£¿é²»Í¬ÅäÖÃµÄµÄ¶à·Ý¿½±´£¬¿ÉÊ¹ÓÃÓÒ²àµÄ±íÀ´¿ËÂ¡ÈÎÒâÒ»¸öÏÖÓÐµÄÄ£¿é¡£¿ËÂ¡½á¹û½«ÓÐÒ»¸öÐÂÃû³Æ¡¢ÐÂµÄÄ£¿éÅäÖÃ¡¢ÐÂµÄ·ÃÎÊ¿ØÖÆÑ¡Ïî£¬ÇÒ¿É¹©²»Í¬ÓÃ»§·ÃÎÊ¡£
mods_clone=¿ËÂ¡Ä£¿é
mods_cname=Òª¿ËÂ¡µÄÄ£¿é
mods_cnew=ÒÑ¿ËÂ¡µÄÄ£¿é
mods_cloneok=¿ËÂ¡Ä£¿é
mods_desc3=¿ÉÊ¹ÓÃÏÂ±íÉ¾³ýÏÖÓÐµÄÄ£¿éºÍÄ£¿éµÄ¿ËÂ¡¡£Èç¹ûÒ»¸öÓµÓÐ¿ËÂ¡µÄÄ£¿é±»É¾³ý£¬ËüµÄ¿ËÂ¡Ò²½«Ò»Æð±»É¾³ý¡£Ò»µ©Ò»¸öÄ£¿é±»É¾³ý£¬±ØÐëÖØÐÂ°²×°²ÅÄÜÔÙ´ÎÊ¹ÓÃ¡£Èç¹ûÓÐÆäËüÄ£¿éÒÀÀµ¸ÃÄ£¿é£¬Ôò¸ÃÄ£¿é²»ÄÜ±»É¾³ý¡£
mods_delete=É¾³ýÄ£¿é
mods_deleteok=É¾³ýÑ¡ÔñµÄÄ£¿é
install_err1=´Ó $1 °²×°Ä£¿éÊ§°Ü
install_efile=ÎÄ¼þ²»´æÔÚ
install_err2=°²×°ÉÏÔØÎÄ¼þÊ§°Ü
install_ebrowser=ÄãµÄä¯ÀÀÆ÷²»Ö§³ÖÉÏÔØÎÄ¼þ
install_err3=´Ó $1 °²×°Ä£¿éÊ§°Ü
install_eurl=ÎÞÐ§µÄ URL
install_etar=²»ÊÇÓÐÐ§µÄÄ£¿éÎÄ¼þ : $1
install_einfo=Ä£¿é $1 È±ÉÙ module.info ÎÄ¼þ
install_enone=ÎÄ¼þ²»°üº¬ÈÎºÎÄ£¿é
install_eos=Ä£¿é $1 ²»Ö§³Ö´Ë²Ù×÷ÏµÍ³ ($2 $3)
install_ever=Ä£¿é $1 ÐèÒª Webmin $2 »ò¸ü¸ß°æ±¾
install_edep=Ä£¿é $1 ÐèÒªÄ£¿é $2
install_eextract=ÌáÈ¡Ê§°Ü : $1
install_title=°²×°Ä£¿é
install_desc=ÒÔÏÂÄ£¿éÒÑ¾­³É¹¦°²×°²¢¼ÓÈëÄãµÄ·ÃÎÊ¿ØÖÆÁÐ±í :
install_line=$1 ÔÚ $2 ($3 kB)ÖÐ
install_ecomp=ÎÄ¼þÒÑÑ¹Ëõ£¬µ«ÔÚÄúµÄÏµÍ³ÖÐÎ´ÄÜÕÒµ½ÃüÁî$1
install_ecomp2=½âÑ¹ËõÎÄ¼þÊ§°Ü£º$1
install_egzip=ÎÄ¼þÒÑÓÃgzipÑ¹Ëõ£¬µ«ÔÚÄúµÄÏµÍ³ÖÐÎ´ÄÜÕÒµ½ÃüÁî$1
install_egzip2=ÓÃ gunzip Ñ¹ËõÎÄ¼þ $1 Ê§°Ü
install_erpm=²»ÊÇÒ»¸öWebminÄ£¿éµÄRPM
install_eirpm=RPM°²×°Ê§°Ü: $1
clone_err=¿ËÂ¡Ä£¿éÊ§°Ü
clone_elink=ÏµÍ³Áª½ÓÊ§°Ü: $1
clone_ecopy=¿½±´ÅäÖÃÊ§°Ü: $1
clone_desc=$1 µÄ¿ËÂ¡
delete_err=É¾³ýÄ£¿éÊ§°Ü
delete_edep=ÎÞ·¨É¾³ýÄ£¿é $1£¬ÒòÎªÄ£¿é $2 ÒÀÀµÓÚËü
delete_desc1=$1 ($2 µÄ¿ËÂ¡)
delete_desc2=$1 ÔÚ $2 ($3 kB)ÖÐ
delete_title=É¾³ýÄ£¿é
delete_msg=ÏÂÁÐÄ£¿éÒÑ³É¹¦µØ´ÓÄúµÄWebmin°²×°ÖÐÉ¾³ý:
delete_sure=ÄúÈ·ÐÅÒªÉ¾³ýÒÑÑ¡ÔñµÄÄ£¿é? $1 KBµÄÎÄ¼þ¼´½«±»É¾³ý.
os_title=²Ù×÷ÏµÍ³
os_desc=¿ÉÊ¹ÓÃ´Ë±í¸ü¸ÄWebmin ¶ÔÄúµÄ²Ù×÷ÏµÍ³µÄ´¦Àí·½Ê½¡£Õâ¶ÔÄúµÄ²Ù×÷ÏµÍ³Éý¼¶·Ç³£ÓÐÓÃ¡£×¢Òâ£º¼´Ê¹ÐÂ¾ÉÏµÍ³Ö®¼äÓÐ²îÒì£¬°²×°Ä£¿éµÄÅäÖÃ²»»á¸Ä±ä¡£
os_desc2=»¹¿É¸ü¸ÄWebminÔËÐÐ³ÌÐòÊ±µÄËÑË÷Â·¾¶¼°´«µÝµ½ÈÎºÎ³ÌÐòµÄ¹²Ïí¿âÂ·¾¶¡£
os_header=Ö÷»ú²Ù×÷ÏµÍ³
os_curros=µ±Ç°²Ù×÷ÏµÍ³
os_currver=µ±Ç° OS °æ±¾
os_new=ÐÂ²Ù×÷ÏµÍ³
os_path=³ÌÐòËÑË÷Â·¾¶
os_ld_path=¿âÎÄ¼þËÑË÷Â·¾¶
lang_title=ÓïÑÔ
lang_title2=Webmin ÓïÑÔ
lang_lang=ÏÔÊ¾µÄÓïÑÔ
lang_intro=Äú¿ÉÔÚ¸ÃÒ³ÖÐÑ¡ÔñWebminÏÔÊ¾±êÌâ¡¢ÌáÊ¾ºÍÏûÏ¢Ê±Ê¹ÓÃµÄÓïÑÔ¡£
lang_ok=¸Ä±äÓïÑÔ
ssl_title=SSL ¼ÓÃÜ
ssl_desc1=ÔËÐÐWebminµÄÖ÷»ú¿´À´ÒÑ°²×°ÓÐ SSLeay Perl Ä£¿é¡£Ê¹ÓÃ¸ÃÄ£¿é£¬WebminÖ§³ÖÔÚÄúµÄä¯ÀÀÆ÷ºÍ·þÎñÆ÷Ö®¼äµÄ SSL ¼ÓÃÜÍ¨Ñ¶¡£Èç¹ûÄúÍ¨¹ý Internet ·ÃÎÊÄúµÄ Webmin ·þÎñÆ÷£¬ÄúÓ¦¸ÃÈÏÕæ¿¼ÂÇÊ¹ÓÃ SSL À´Ô¤·ÀÈëÇÖÕßµÃµ½ÄúµÄ Webmin ¿ÚÁî.
ssl_desc2=¾¯¸æ ¨C Ö»ÔÚÄúµÄä¯ÀÀÆ÷Ö§³ÖSSL(ÀýÈçNetscape»òIE)ÇÒÔÚÄúµÄä¯ÀÀÆ÷ºÍWebminÖ÷»úÖ®¼äÃ»ÓÐ·À»ðÇ½¶ÂÈû<b>https</b> ÇëÇóÊ±²Å´ò¿ªSSLÖ§³Ö.
ssl_header=SSL Ö§³Ö
ssl_enable=ÆôÓÃ SSL Ö§³Ö£¨ÈçÓÐ´ËÖ§³Ö£©
ssl_disable=½ûÓÃ SSL Ö§³Ö£¨¼´Ê¹ÓÐ´ËÖ§³Ö£©
startpage_title=Ë÷ÒýÒ³Ñ¡Ïî
startpage_intro=Äú¿ÉÒÔÔÚ´Ë¶¨Òå¼ìË÷Ò³ÖÐÃ¿ÐÐÏÔÊ¾µÄÍ¼±ê¸öÊý
startpage_tabs=Ä£¿é·ÖÀàÂð£¿
startpage_nocol=ÁÐÊý
startpage_alt=Ê¹ÓÃÌæ´úÒ³Ê×
startpage_ecols='$1'²»ÊÇÓÐÐ§ÁÐÊý
startpage_gotoone=ÊÇ·ñÓÃ»§Ö»ÓÐÒ»¸öÄ£¿éÊ±Ö±×ªµ½¸ÃÄ£¿é<br>£¿
startpage_deftab=È±Ê¡Àà±ð
upgrade_title=Éý¼¶ Webmin
upgrade_desc=Ê¹ÓÃ´Ë±íÄú¿É½«Õû¸ö webmin °²×°Éý¼¶µ½Ò»¸öÐÂ°æ±¾¡£¿É´Ó±¾µØÎÄ¼þ¡¢ÉÏÔØÎÄ¼þ»ò´Ó<a href=http://www.webmin.com/>www.webmin.com</a>µÄ×îÐÂµÄ°æ±¾À´°²×°¡£ÓëÊÖ¹¤Éý¼¶Ò»Ñù£¬ÄúµÄËùÓÐÅäÖÃºÍµÚÈý·½Ä£¿é¾ù±»±£Áô¡£
upgrade_descrpm=Ê¹ÓÃ´Ë±íÄú¿ÉÓÃ RPM µÄÉý¼¶Ñ¡Ïî½«Õû¸ö webmin °²×°Éý¼¶µ½Ò»¸öÐÂ°æ±¾¡£¿É´Ó±¾µØÎÄ¼þ¡¢ÉÏÔØÎÄ¼þ»ò´Ó<a href=http://www.webmin.com/>www.webmin.com</a>µÄ×îÐÂµÄ°æ±¾À´°²×°¡£ÓëÊÖ¹¤Éý¼¶Ò»Ñù£¬ÄúµÄËùÓÐÅäÖÃºÍµÚÈý·½Ä£¿é¾ù±»±£Áô¡£
upgrade_descsolaris-pkg=Ê¹ÓÃ´Ë±íÄú¿ÉÍ¨¹ýÉ¾³ýÔ­ÓÐµÄsolaris Èí¼þ°ü²¢ÖØÐÂ°²×°À´½«Õû¸ö webmin °²×°Éý¼¶µ½Ò»¸öÐÂ°æ±¾¡£¿É´Ó±¾µØsolaris Èí¼þ°üÎÄ¼þ¡¢ÉÏÔØÎÄ¼þ»ò´Ó<a href=http://www.webmin.com/>www.webmin.com</a>µÄ×îÐÂµÄ°æ±¾À´°²×°¡£ÓëÊÖ¹¤Éý¼¶Ò»Ñù£¬ÄúµÄËùÓÐÅäÖÃºÍµÚÈý·½Ä£¿é¾ù±»±£Áô¡£
upgrade_local=´Ó±¾µØÎÄ¼þ
upgrade_uploaded=´ÓÉÏÔØÎÄ¼þ
upgrade_ftp=´Ó www.webmin.com ÍøÕ¾µÄ×îÐÂ°æ±¾
upgrade_ok=Éý¼¶ Webmin
upgrade_err1=´Ó $1 Éý¼¶Ê§°Ü
upgrade_err2=´ÓÉÏÔØÎÄ¼þÉý¼¶Ê§°Ü
upgrade_err3=´Ó www.webmin.com Éý¼¶Ê§°Ü
upgrade_efile=ÎÄ¼þ²»´æÔÚ
upgrade_ebrowser=ÄãµÄä¯ÀÀÆ÷²»Ö§³ÖÎÄ¼þÉÏÔØ
upgrade_eversion=ÎÞ·¨½µ¼¶µ½°æ±¾ $1
upgrade_erpm=²»ÊÇÓÐÐ§µÄ webmin RPM ÎÄ¼þ
upgrade_egunzip=ÄãµÄÏµÍ³Ã»ÓÐ <tt>gunzip</tt> ÃüÁî
upgrade_etar=²»ÊÇÓÐÐ§µÄ webmin tar ÎÄ¼þ
upgrade_setup=ÕýÔÚÔËÐÐ setup.sh ½Å±¾³ÌÐòÉý¼¶ Webmin ... ÇëÉÔºò£¬ÔÚ¸Ã²Ù×÷Íê³ÉÖ®ºóÔÙ¼ÌÐøÆäËü¡£
upgrade_setuprpm=ÕýÔÚÔËÐÐ RPM °üÒÔÉý¼¶ Webmin ... ÇëÉÔºò£¬ÔÚ¸Ã²Ù×÷Íê³ÉÖ®ºóÔÙ¼ÌÐøÆäËü¡£
upgrade_setuppackage=ÕýÔÚÔËÐÐ pkgadd Éý¼¶ Webmin ... ÇëÉÔºò£¬ÔÚ¸Ã²Ù×÷Íê³ÉÖ®ºóÔÙ¼ÌÐøÆäËü¡£
upgrade_esolaris=ÔÚÒÑ´Ó Solaris Èí¼þ°ü°²×°Ö®ºó£¬Webmin µÄÉý¼¶¹¦ÄÜ²»ÄÜÕý³£¹¤×÷¡£Çë²ÉÓÃÊÖ¹¤Éý¼¶¡£
ca_title=ÈÏÖ¤»úÖÆ
ca_old=ÏÖÓÐÖ¤Êé
ca_header1=´´½¨ÐÂµÄ CA Ö¤Êé
ca_header2=±à¼­ CA Ö¤Êé
ca_newmsg1=ÄúµÄ Webmin ·þÎñÆ÷ÒÑÉèÖÃ³ÉÎªÒ»¸öÈÏÖ¤»úÖÆ¡£Äú¿ÉÓÃ´Ë±í¸ñÔÙ´ÎÉèÖÃ£¬µ«ÊÇÒÔÇ°°ä·¢¸øÓÃ»§µÄÈÎºÎÖ¤Êé¾ù½«Ê§Ð§¡£
ca_newmsg2=Ó¦Ê¹ÓÃ´Ë±íÀ´½« Webmin ·þÎñÆ÷ÉèÖÃ³ÉÒ»¸öÈÏÖ¤»úÖÆ£¨CA£©£¬ÕâÑùÓÃ»§²»±ØµÇÂ¼¼´¿ÉÔÚ¡°Webmin ÓÃ»§¡±ÖÐ±íÃ÷Éí·ÝÒÔÇëÇóÖ¤Êé¡£
ca_cn=»úÖÆÃû³Æ
ca_email=Email µØÖ·
ca_ou=²¿ÃÅ
ca_o=×éÖ¯
ca_sp=ÖÝ/Ê¡
ca_c=¹ú¼Ò´úÂë
ca_create=ÉèÖÃÈÏÖ¤»úÖÆ
ca_oldmsg1=¸Ã·þÎñÆ÷ÕýÔÚ²ÉÓÃµÄ CA Ö¤ÊéÏÔÊ¾ÈçÏÂ¡£Äú¿ÉÒÔ´ÓÆäËü CA Õ³ÌùÖ¤ÊéÀ´È¡´úËü£¬µ«ÊÇÒÔÇ°°ä·¢¸øÓÃ»§µÄÈÎºÎÖ¤Êé¾ù½«Ê§Ð§¡£
ca_oldmsg2=Èç¹ûÄúÒÑ¾­ÔÚÁíÍâµÄ Webmin ·þÎñÆ÷ÉÏÉèÖÃÁËÒ»¸ö CA£¬Äú¿ÉÒÔ½«ËüµÄÖ¤ÊéÕ³Ìùµ½ÏÂ±í£¬²»±ØÉèÖÃÐÂµÄCA¡£ÕâÑù£¬ÄÇ¸ö·þÎñÆ÷µÄÓÃ»§Ò²ÄÜ±»´Ë·þÎñÆ÷ÈÏ¿É¡£
ca_err=ÉèÖÃÈÏÖ¤»úÖÆÊ§°Ü
ca_setupok=ÄúµÄÈÏÖ¤»úÖÆÒÑ³É¹¦ÉèÖÃ¡£ÏÖÔÚ£¬ÓÃ»§¿ÉÒÔÍ¨¹ý¡°Webmin ÓÃ»§¡±Ä£¿éÀ´ÇëÇóÖ¤Êé¡£
ca_stop=¹Ø±ÕÈÏÖ¤»úÖÆ
ca_stopmsg=µã»÷´Ë°´Å¥À´Ê¹ Webmin ÖÐ¶Ï½ÓÊÜÏÖÓÐµÄÖ¤Êé»òÕßÍ£Ö¹°ä·¢ÐÂÖ¤Êé¡£Õâ½«ÆÈÊ¹ÓÃ»§²ÉÓÃÓÃ»§ÃûºÍ¿ÚÁîÈÏÖ¤¡£
ca_stopok=ÒÑ³É¹¦¹Ø±ÕÄúµÄÈÏÖ¤»úÖÆ¡£
ca_eminiserv=SSL ¿Í»§Ö¤Êé½öÔÚ miniserv ÏÂÊÜÖ§³Ö¡£
ca_eversion=Äú»úÆ÷ÉÏ°²×°µÄPerl Net::SSLeay Ä£¿éµÄ°æ±¾²»Ö§³Ö SSL ¿Í»§Ö¤Êé¡£
ca_essleay=ÄúµÄÏµÍ³ÖÐÃ»ÓÐ·¢ÏÖ SSL ¹ÜÀíÃüÁî $1£¬Äú¿ÉÄÜÐè¸Ä±ä¡°Webmin ÓÃ»§¡±Ä£¿éÅäÖÃÖÐµÄÂ·¾¶¡£
ca_essl=Ö»ÓÐÔÚ Web ·þÎñÆ÷ÒÔ SSL Ä£Ê½ÔËÐÐÊ±²ÅÄÜÉèÖÃSSL¡£
session_title=ÈÏÖ¤
session_desc1=¿ÚÁî³¬Ê±ÆôÓÃÊ±£¬¿ÉÒÔ±£»¤ÄúµÄ Webmin ·þÎñÆ÷ÃâÔâÍ¬Ò»ÓÃ»§ÔÚÃ¿´ÎµÇÂ¼Ê§°ÜÖ®¼äÔöÌí²»¶ÏÑÓ³¤µÄÑÓ³Ù¶øÔì³ÉµÄÇ¿ÖÆÆÆÒëÃÜÂëµÄ¹¥»÷¡£
session_desc2=ÔÚ»á»°ÈÏÖ¤ÆôÓÃÓÃÊ±£¬Webmin¸ú×ÙÃ¿Ò»¸öµÇÂ¼ÓÃ»§µÄ»á»°£¬´Ó¶ø¿É×Ô¶¯×¢ÏúÏÐÖÃµÄÓÃ»§¡£×¢Òâ£ºÆôÓÃ»ò½ûÓÃ»á»°ÈÏÖ¤£¬¿ÉÄÜ»áÆÈÊ¹ËùÓÐÓÃ»§ÖØÐÂµÇÂ¼¡£
session_header=ÈÏÖ¤ºÍ»á»°Ñ¡Ïî
session_pdisable=ÆôÓÃ¿ÚÁî³¬Ê±
session_penable=½ûÓÃ¿ÚÁî³¬Ê±
session_blockhost=¶ÂÈûµÇÂ¼Ê§°Ü $1 ´ÎµÄ¿Í»§ $2 Ãë¡£
session_syslog=ÔÚ <tt>syslog</tt> ÖÐ¼ÇÂ¼±»¶ÂÈûµÄ¿Í»§
session_disable=½ûÓÃ»á»°ÈÏÖ¤
session_enable=ÆôÓÃ»á»°ÈÏÖ¤
session_localoff=×ÜÊÇÒªÇóÊäÈëÓÃ»§ÃûºÍ¿ÚÁî
session_localon=ÔÊÐí±¾µØ¿Í»§»úµÄÆ¥ÅäÓÃ»§²»Ðè¿ÚÁîµÇÂ¼
session_logout=ÔÚÏÐÖÃ $1 ·ÖÖÓºó×Ô¶¯×¢Ïú
session_locking=ÆðÓÃ Webmin ÖÐËø¶¨
session_err=±£´æÈÏÖ¤Ê§°Ü
session_elogouttime=×¢ÏúÊ±¼ä¶ªÊ§»òÎÞÐ§
session_eblockhost_time=¶ÂÈûÊ±¼ä¶ªÊ§»òÎÞÐ§
session_eblockhost_failures=¶ÂÈûµÇÂ¼¶ªÊ§»òÎÞÐ§
session_ecookie=ÄúµÄä¯ÀÀÆ÷²»Ö§³Ö»á»°ÈÏÖ¤ËùÐèµÄ cookies
session_elsof=±¾µØÈÏÖ¤ÐèÒª<tt>lsof</tt>³ÌÐò
assignment_title=ÖØÐÂ·ÖÅäÄ£¿é
assignment_header=Ä£¿éÀà±ðµÄÖØÐÂ·ÖÅä
categories_title=±à¼­Àà±ð
categories_header=Àà±ð ID ºÍÃèÊö
categories_new=ÐÂÖÖÀà
categories_add=Ôö¼ÓAdd
log_access=¸Ä±äµÄ IP ·ÃÎÊ¿ØÖÆ
log_bind=¸Ä±äµÄ¶Ë¿ÚºÍµØÖ·
log_log=¸Ä±äµÄÈÕÖ¾Ñ¡Ïî
log_proxy=¸Ä±äµÄ´úÀí·þÎñÆ÷
log_ui=¸Ä±äµÄÓÃ»§½çÃæÑ¡Ïî
log_install=ÒÑ°²×°µÄÄ£¿é $1
log_tinstall=ÒÑ°²×°µÄÖ÷Ìâ $1
log_clone=Ä£¿é$1 ÒÑ¿ËÂ¡µ½Ä£¿é $2
log_delete=ÒÑÉ¾³ýµÄÄ£¿é $1
log_os=ÒÑ¸Ä±äµÄ²Ù×÷ÏµÍ³
log_lang=ÒÑ¸Ä±äµÄ¹ú¼ÊÓïÑÔ
log_startpage=ÒÑ¸Ä±äµÄ¼ìË÷Ò³Ñ¡Ïî
log_upgrade=ÒÑÉý¼¶ Webmin µ½°æ±¾ $1
log_session=ÒÑ¸Ä±äµÄÈÏÖ¤Ñ¡Ïî
log_ssl=ÒÑ¸Ä±äµÄ SSL ¼ÓÃÜÄ£Ê½
log_setupca=ÉèÖÃÈÏÖ¤»úÖÆ
log_changeca=ÒÑ¸Ä±äµÄÈÏÖ¤»úÖÆ
log_stopca=¹Ø±ÕÈÏÖ¤»úÖÆ
log_assignment=ÒÑ¸Ä±äµÄÄ£¿éÀà±ð
log_categories=ÒÑ¸Ä±äµÄÀà±ðÃû³Æ
themes_title=Webmin Ö÷Ìâ
themes_desc=Ö÷Ìâ¿ØÖÆ Webmin ÓÃ»§½çÃæµÄÍâ¹Û£¬°üÀ¨Í¼±ê¡¢ÑÕÉ«¡¢±³¾°£¬¿ÉÄÜ»¹°üÀ¨²¼¾ÖÒ³Ãæ¡£ÏÂÃæµÄÑ¡Ôñ¿ò¿ÉÓÃÀ´Ñ¡ÔñÒ»¸ö°²×°ÔÚÄúÏµÍ³ÉÏµÄÖ÷Ìâ¡£
themes_sel=µ±Ç°Ö÷Ìâ £º
themes_default=È±Ê¡ Webmin Ö÷Ìâ
themes_change=¸Ä±ä
themes_installdesc=ÀûÓÃÏÂ±íÔÚÄúµÄÏµÍ³ÉÏ°²×°Ò»¸öÐÂµÄ Webmin Ö÷Ìâ¡£Ö÷ÌâÍ¨³£·ÅÔÚ <tt>.wbt</tt> ÖÐ£¬µ«Ò²¿É´Ó RPM ÎÄ¼þ°²×°£¬Ö»ÒªÄúµÄÏµÍ³Ö§³Ö¡£
themes_installok=°²×°Ö÷Ìâ
themes_err1=´Ó$1°²×°Ö÷ÌâÊ§°Ü
themes_efile=ÎÄ¼þ²»´æÔÚ
themes_err2=°²×°ÉÏÔØÖ÷ÌâÊ§°Ü
themes_ebrowser=ÄúµÄä¯ÀÀÆ÷²»Ö§³ÖÎÄ¼þÉÏÔØ
themes_err3=´Ó$1°²×°Ö÷ÌâÊ§°Ü
themes_eurl=ÎÞÐ§µÄ URL
themes_etar=²»ÊÇÒ»¸öÓÐÐ§µÄÖ÷ÌâÎÄ¼þ: $1
themes_einfo=Ö÷Ìâ $1 ¶ªÊ§ theme.info ÎÄ¼þ
themes_enone=ÎÄ¼þºÃÏñ²»°üº¬ÈÎºÎÖ÷Ìâ
themes_eextract=ÌáÈ¡Ê§°Ü£º$1
themes_done=ÏÂÁÐÖ÷ÌâÒÑ³É¹¦µØ°²×°µ½ÄúµÄÏµÍ³ÖÐ£º
themes_line=$1 Î»ÓÚ $2 ($3 kB)
themes_ecomp=ÎÄ¼þÒÑÑ¹Ëõ£¬µ«ÔÚÄúµÄÏµÍ³ÖÐÎ´ÄÜÕÒµ½ÃüÁî$1
themes_ecomp2=½âÑ¹ËõÎÄ¼þÊ§°Ü£º$1
themes_egzip=ÎÄ¼þÒÑÓÃgzipÑ¹Ëõ£¬µ«ÔÚÄúµÄÏµÍ³ÖÐÎ´ÄÜÕÒµ½ÃüÁî$1
themes_egzip2=ÓÃ gunzip Ñ¹ËõÎÄ¼þ $1 Ê§°Ü
themes_erpm=²»ÊÇ Webmin Ö÷Ìâ RPM °ü
themes_eirpm=RPM °²×°Ê§°Ü£º$1
 070701000077d3000081a40000000000000002000000013d1fe2ca00003fff000000200000000000000000000000000000001d00000003reloc/webmin/lang/zh_TW.Big5  index_title=Webmin ³]©w
index_return=Webmin ³]©w

access_title=IP ¦s¨ú±±¨î
access_desc=Webmin ¦øªA¾¹¥i¥H³]©w©Úµ´©Î¤¹³\¨Ï¥Î¦¹®æ¦¡¤§¯S©w IP ¦ì§}ªº¦s¨ú¡C¥D¾÷¦WºÙ¡]¨Ò¦p foo.bar.com¡^»P IP ºô¸ô¡]¨Ò¦p 10.254.3.0 ©Î 10.254.1.0/255.255.255.128¡^³£¥i¥H³Q¿é¤J¡C±zÀ³¸Ó¶È¤¹³\Åý¥i«H¥ôªº¦ì§}¦s¨ú¦øªA¾¹¡A¯S§O¬O¦b¥i±q Internet ¦s¨úªº±¡ªp¤U¡C§_«h¡A¥u­n¦³¤H²q¹ï¤F±zªº±K½X¡A¥L´N¥i¥H§¹¥þ±±¨î±zªº¨t²Î¡C
access_header=¦s¨ú±±¨î
access_all=¤¹³\©Ò¦³ªº¦ì§}
access_allow=¶È¤¹³\¦C¥Xªº¦ì§}
access_deny=©Úµ´¦C¥Xªº¦ì§}
access_libwrap=¤]ÀË¬d TCP-wrappers <tt>hosts.allow</tt> ©M <tt>hosts.deny</tt>ÀÉ®×?
access_err=µLªk§ó·s¦s¨ú²M³æ
access_enone=¨S¦³¿é¤J¦ì§}
access_enet='$1' ¤£¬O¦³®Äªººô¸ô¦ì§}
access_emask='$1' ¤£¬O¦³®Äªººô¸ô¾B¸n
access_eip='$1' ¤£¬O§¹¾ãªº IP ©Îºô¸ô¦ì§}
access_ehost=§ä¤£¨ì '$1' ªº IP ¦ì§}
access_eself=±z¥Ø«eªº IP ¦ì§} ($1) ·|³Q©Úµ´

bind_title=³s±µ°ð»P¦ì§}
bind_desc=¦pªG°õ¦æ Webmin ªº¥D¾÷¤W¦³¦h­Ó IP ¦ì§}¡A±z¥i¥H¨Ï¥Î¦¹®æ¦¡±N¦øªA¾¹³]©w¦¨¥u±µÅ¥¤@­Ó¦ì§}¡CWebmin ±µÅ¥ªº³s±µ°ð¤]¬O¦b¦¹³]©w¡Cª`·N¡G±zªº web ÂsÄý¾¹¥i¯à·|¦bÅÜ§ó³s±µ°ð©Î³sµ²¦ì§}«á´£¥Ü±z­«·sµn¤J¡C
bind_header=IP ¦ì§}»P³s±µ°ð
bind_ip=±µÅ¥ IP ¦ì§}
bind_all=¥þ³¡
bind_port=±µÅ¥³s±µ°ð
bind_err=µLªkÅÜ§ó¦ì§}
bind_eip=µLªk¨ú±o IP ¦ì§}µ¹ '$1'
bind_eassign=¦ì§} '$1' ¤£¬O«ü¬£µ¹³o­Ó¨t²Î
bind_eport=³s±µ°ð $1 ¤w¸g³Q¨Ï¥Î

log_title=°O¿ý
log_desc=Webmin ¥i¥H¼Ð·Ç CLF °O¿ýÀÉ®æ¦¡³]©w¼g¤J web ¦øªA¾¹¨Ï¥Î°O¿ý¡C¦pªG°O¿ý¥\¯à³Q±Ò°Ê¡A±z¤]¥i¥H¿ï¾Ü­n°O¿ý IP ¦ì§}©Î¥D¾÷¦WºÙ¡B¥H¤Î¦h¤[²M°£¤@¦¸°O¿ýÀÉ¡C±Ò°Ê®É¡A°O¿ý·|³Q¼g¤JÀÉ®× $1¡C
log_desc2=·í¬ö¿ý±Ò¥Î®É¡AWebmin±N·|¼g¤J§ó¦hÃö©ó¨Ï¥ÎªÌ°Ê§@ªº¸Ô²Ó¬ö¿ý¨ìÀÉ®× $1¡C³o­Ó¬ö¿ý±N¥i¥H¥Î Webmin°Ê§@¬ö¿ý¼Ò²Õ ¨ÓÂsÄý©M¤ÀªRWebmin¨Ï¥ÎªÌ°µ¹Lªº¨Æ±¡¡C
log_header=Web ¦øªA¾¹°O¿ý
log_disable=Ãö³¬°O¿ý
log_enable=±Ò°Ê°O¿ý
log_resolv=°O¿ý¸ÑªRªº¥D¾÷¦WºÙ
log_clear=¨C $1 ­Ó¤p®É²M°£°O¿ý
log_uall=¬ö¿ý©Ò¦³¨Ï¥ÎªÌ
log_users=¥u¬ö¿ý°Ê§@¨Ì..
log_mall=¬ö¿ý©Ò¦³¼Ò²Õ°Ê§@
log_modules=¥u¬ö¿ý°Ê§@¦b ..
log_files=¨Ì°Ê§@¬ö¿ýÅÜ§ó²£¥ÍÀÉ®×
log_err=µLªkÀx¦s°O¿ý¿ï¶µ
log_ehours='$1' ¤£¬O¤@­Ó¦³®Äªº¤p®É¼Æ¦r
log_ediff=±zªº¨t²Î¨S¦³¬ö¿ýÀÉ®×ÅÜ§ó©Ò»Ý­n«ü¥O $1 ¡C

proxy_title=Proxy ¦øªA¾¹
proxy_desc=¦pªG°õ¦æ Webmin ªº¥D¾÷ÁôÂÃ¦b¨¾¤õÀð©ÎÃþ¦üªºªF¦è¤§«á¡A±z¥i¯à»Ý­n proxy ¦øªA¾¹¥H¦s¨ú web ©Î FTP ¯¸¥x¡C¬Y¨Ç¼Ò²Õ¡A¨Ò¦p<tt>³nÅé«Ê¸Ë</tt>¡A±N·|¨Ï¥Î proxy ¦øªA¾¹¥H¤U¸üÀÉ®×©Îµ{¦¡¡C
proxy_header=proxy ¦øªA¾¹
proxy_http=HTTP proxy ¦øªA¾¹
proxy_ftp=FTP proxy ¦øªA¾¹
proxy_none=µL
proxy_nofor=¨S¦³proxy¦øªA¾¹µ¹
proxy_user=proxy±b¸¹
proxy_pass=proxy±K½X
proxy_err=µLªkÀx¦sproxy
proxy_ehttp=HTTP proxy ¦øªA¾¹¥²¶·¥H URL ªº§Î¦¡¿é¤J
proxy_eftp=FTP proxy ¦øªA¾¹¥²¶·¥H URL ªº§Î¦¡¿é¤J

ui_title=¨Ï¥ÎªÌ¤¶­±
ui_desc=³o­Ó®æ¦¡¥i¥H¥ô±z½s¿è©Ò¦³¼Ò²Õ¨Ï¥Îªº¨Ï¥ÎªÌ¤¶­±¿ï¶µ¡C¿é¤JÃC¦â®É¡A±z¥²¶·¨Ï¥Î¼Ð·Ç RGB ¨t²Î«ü©w¨C­ÓÃC¦â¡A¤]´N¬O½d³ò¦b 00 ¨ì ff ªº¤Q¤»¶i¦ì¼Æ¦r¡C
ui_header=¨Ï¥ÎªÌ¤¶­±¿ï¶µ
ui_default=¹w³]­È
cs_page=ºô­¶­I´º
cs_text=¤@¯ë¤å¦r
cs_table=ªí®æ­I´º
cs_header=ªí®æ¼ÐÃD
cs_link=³sµ²¤å¦r
ui_texttitles=¬O§_±N¼ÐÃDÅã¥Ü¦¨¤å¦r?
ui_sysinfo=Åã¥Üµn¤J©M¥D¾÷¦WºÙ
ui_sysinfo0=¦bÂsÄý¾¹¤U¤è
ui_sysinfo1=¦bÂsÄý¾¹¼ÐÃD
ui_sysinfo2=¦b­¶­±¼ÐÃD¤W¤è
ui_sysinfo3=¨S¦³¦a¤è
ui_err=µLªkÀx¦sÃC¦â
ui_ered='$1' ªº¬õ¦â­È¿ù»~
ui_egreen='$1' ªººñ¦â­È¿ù»~
ui_eblue='$1' ªºÂÅ¦â­È¿ù»~
ui_feedback=¶Ç°e¦^õX¨ì

mods_title=Webmin ¼Ò²Õ
mods_desc1=Webmin ¼Ò²Õ¥i¥H¦b¦w¸Ë¥Dµ{¦¡«á§Q¥Î¥kÃäªº®æ¦¡¼W¥[¡C¼Ò²Õ³q±`¨Ï¥Î <tt>.wbm</tt> °ÆÀÉ¦W´²§G¡A¨C­ÓÀÉ®×³£·|¥]¬A¦Ü¤Ö¤@­Ó©ÎªÌ¦h­Ó¼Ò²Õ¡C¦pªG¨ü¨ì§@·~¨t²Î¤ä´©¡A±z¤]¥i¥H±q RPM ÀÉ®×¦w¸Ë¼Ò²Õ¡C
mods_install=¦w¸Ë¼Ò²Õ
mods_local=±q¥»¾÷ÀÉ®×
mods_uploaded=±q¤W¶ÇªºÀÉ®×
mods_ftp=±q FTP ©Î HTTP URL
mods_nodeps=¦w¸Ë®É©¿²¤¼Ò²Õ¬Û¨Ì©Ê
mods_installok=±qÀÉ®×¦w¸Ë¼Ò²Õ
mods_desc2=¦pªG±z§Æ±æ½Æ»s¦h­Ó¬Û¦Pªº¼Ò²Õ¨Ã¨Ï¥Î¤£¦Pªº³]©w¡A±z¥i¥H¨Ï¥Î¥kÃäªº®æ¦¡½Æ»s¥ô¦ó¤w¸g²{¦sªº¼Ò²Õ¡C½Æ»s«áªº·s¼Ò²Õ±N¦³·sªº¦WºÙ¡B·sªº¼Ò²Õ³]©w¡B·sªº¦s¨ú±±¨î¿ï¶µ¡A¨Ã¥B¥i¯à´£¨Ñ¤£¦Pªº¨Ï¥ÎªÌ¨Ï¥Î¡C
mods_clone=½Æ»s¼Ò²Õ
mods_cname=­n½Æ»sªº¼Ò²Õ
mods_cnew=½Æ»sªº¼Ò²Õ¦WºÙ
mods_cloneok=½Æ»s¼Ò²Õ
mods_desc3=²{¦sªº¼Ò²Õ»P½Æ»sªº¼Ò²Õ¥i¥H¨Ï¥Î¤U­±ªº®æ¦¡§R°£. ¦pªG±z§R°£¤F³Q½Æ»sªº¼Ò²Õ¡A«h½Æ»s¥X¨Óªº¼Ò²Õ¤]·|³Q§R°£¡C¼Ò²Õ³Q§R°£«á¤@©w­n­«·s¦w¸Ë¤~¯à¦A¨Ï¥Î¡C¦pªG¦³¨ä¥¦¼Ò²Õ¨Ì¿à¬Y­Ó¼Ò²Õªº¸Ü¡A¸Ó¼Ò²Õ´N¤£¯à³Q§R°£ªº¡C
mods_delete=§R°£¼Ò²Õ
mods_deleteok=§R°£¿ï¨úªº¼Ò²Õ

install_err1=µLªk±q $1 ¦w¸Ë¼Ò²Õ
install_efile=ÀÉ®×¤£¦s¦b
install_err2=µLªk¦w¸Ë¤W¶Çªº¼Ò²Õ
install_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
install_err3=µLªk±q $1 ¦w¸Ë¼Ò²Õ
install_eurl=µL®Äªº URL
install_etar=¤£¬O¦³®Äªº¼Ò²ÕÀÉ®×: $1
install_einfo=¼Ò²Õ $1 ¯Ê¤Ö¤F module.info ÀÉ®×
install_enone=ÀÉ®×¦ü¥G¨S¦³¥]§t¥ô¦ó¼Ò²Õ
install_eos=¼Ò²Õ $1 ¤£¤ä´©³o­Ó§@·~¨t²Î ($2 $3)
install_eusermin=¼Ò²Õ$1 ¬Oµ¹Usermin¥Îªº¡A¤£¬OWebmin
install_ever=¼Ò²Õ $1 »Ý­n Webmin ª©¥» $2 ©Î¥H¤W
install_edep=¼Ò²Õ $1 »Ý­n¦w¸Ë¼Ò²Õ $2
install_eperldep=¼Ò²Õ$1»Ý­n Perl ¼Ò²Õ$2.<br>©ÎµÛ¡A±z¥i¥H¥ÎWebmin <a href='$3'>¤U¸ü»P¦w¸Ë</a>ªº Perl ¼Ò²Õ
install_eextract=¸ÑÀ£ÁY¥¢±Ñ: $1
install_title=¦w¸Ë¼Ò²Õ
install_desc=¤U¦Cªº¼Ò²Õ¤w¸g¦¨¥\ªº¦w¸Ë¨Ã¼W¥[¨ì±zªº¦s¨ú±±¨î²M³æ¤¤:
install_line2=$1 ¦b $2 ($3 kB)¦b¤ÀÃþ$4
install_ecomp=ÀÉ®×¬OÀ£ÁYÀÉ¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
install_ecomp2=¸ÑÀ£ÁYÀÉ®×¥¢±Ñ : $1
install_egzip=ÀÉ®×¬Ogzip«¬ºAªº¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
install_egzip2=gunzipÀÉ®×¥¢±Ñ : $1
install_erpm==¤£¬O¤@­ÓWebmin¼Ò²Õ©Î§G´º¥DÃDªºRPM
install_eirpm=RPM¦w¸Ë¥¢±Ñ : $1
install_cat=Under ¤ÀÃþ$1.
install_eneither=RPM¸Ì­±¤£¥]§twebmin¼Ò²Õ©Î§G´º¥DÃD

clone_err=µLªk½Æ»s¼Ò²Õ
clone_elink=symlink ¥¢±Ñ: $1
clone_ecopy=µLªk½Æ»s³]©w: $1
clone_desc=½Æ»sªº $1

delete_err=µLªk§R°£¼Ò²Õ
delete_edep=¼Ò²Õ $1 µLªk³Q§R°£¡A¦]¬°¼Ò²Õ $2 ¨Ì¿à¥¦
delete_desc1=$1 (½Æ»s¦Û $2)
delete_desc2=$1 ¦b $2 ($3 kB)
delete_title=§R°£¼Ò²Õ
delete_msg=¤U¦Cªº¼Ò²Õ¤w¸g¦¨¥\ªº±q±zªº Webmin ¦w¸Ëµ{¦¡§R°£¤F:
delete_rusure=±z½T©w­n§R°£¼Ò²Õ $2 ? $1 kB ªºÀÉ®×±N·|§R°£
delete_rusure2=±z½T©w­n§R°£§G´º¥DÃD$2 ? $1 kB ªºÀÉ®×±N·|§R°£

os_title=§@·~¨t²Î
os_desc=³o­Ó®æ¦¡¤¹³\±zÅÜ§ó Webmin »{©wªº§@·~¨t²Î¡C·í±z±N¹q¸£¤É¯Å¦¨·sªº§@·~¨t²Îª©¥»¡A³o­Ó¥\¯à·|«Ü¦³¥Î¡Cª`·N¡A§Y¨Ï·sÂÂ¨t²Î¤§¶¡¦³®t²§¡A¤w¸g¦w¸Ëªº¼Ò²Õ³]©w¤@¼Ë¤£·|ÅÜ§ó¡C
os_desc2=°õ¦æµ{¦¡¡B¥H¤Î±N¦@¥Îµ{¦¡®w¶Çµ¹¥ô¦óµ{¦¡®É¡A±z¤]¥i¥HÅÜ§ó Webmin ¨Ï¥Îªº·j´M¸ô®|¡C
os_header=¥D¾÷§@·~¨t²Î
os_curros=¥Ø«eªº§@·~¨t²Î
os_currver=¥Ø«e OS ª©¥»
os_new=·sªº§@·~¨t²Î
os_path=µ{¦¡·j´M¸ô®|
os_ld_path=µ{¦¡®w·j´M¸ô®|

lang_title=»y¨¥
lang_title2=Webmin »y¨¥
lang_lang=Åã¥Üªº»y¨¥
lang_intro=³o­Óºô­¶¥i¥HÅý±z¿ï¾Ü Webmin Åã¥Ü¼ÐÃD¡B´£¥Ü¦r¤¸©M°T®§¨Ï¥Îªº»y¨¥¡C
lang_ok=ÅÜ§ó»y¨¥

ssl_title=SSL ¥[±K
ssl_essl=Net::SSLeay perl ¼Ò²Õ¦ü¥G¨S¦³¦w¸Ë¦b±zªº¨t²Î¤W¡A­n¦w¸ËOpenSSL¨ç¼Æ®w©MNet::SSLeay¡A¿í´`<a href='$1'>¦¹¸ê°T</a> ­¶­± ¦bWebminºô¯¸
ssl_desc1=³o­Ó Webmin ©Ò¨Ï¥Îªº¥D¾÷¦ü¥G¦³¦w¸Ë SSLeay Perl ¼Ò²Õ¡C¨Ï¥Î³o­Óªº¸Ü¡AWebmin ±N¤ä´©¦bÂsÄý¾¹©M¦øªA¾¹¶¡ªº SSL ¥[±K³q°T¡C¦pªG±z³z¹L Internet ¦s¨ú±zªº Webmin ¥D¾÷¡AÀ³¸Ó­n¨Ï¥Î SSL ¥H¨¾¤îÀb«ÈÂ^¨ú¨ì±zªº Webmin ±K½X¡C
ssl_desc2=Äµ§i¡A¥u¦³¦b±zªºÂsÄý¾¹¤ä´© SSL¡]¨Ò¦p Netscape ©Î IE¡^¡A¦Ó¥B¨S¦³¨¾¤õÀðªýÄdÂsÄý¾¹©M Webmin ¥D¾÷¤§¶¡ªº<b>https</b>­n¨D®É¡A¤~¯à¥´¶} SSL ¤ä´©¡C
ssl_header=SSL¤ä´©
ssl_enable=¦pªG¥i¦æªº¸Ü¡A±Ò°Ê SSL ¤ä´©
ssl_disable=´Nºâ¥i¥H¡A¤]¤£­n±Ò°Ê SSL ¤ä´©

startpage_title=¯Á¤Þ­¶¿ï¶µ
startpage_intro=³o­Ó­¶­±¥i¥HÅý±z©w¸q±z­n¦b¯Á¤Þ­¶ªº¨C¤@¦CÅã¥Ü¦h¤Ö¹Ï¥Ü
startpage_tabs=­n¤ÀÃþ¸s²Õ¶Ü¡H
startpage_nocol=Äæ¼Æ
startpage_alt=¨Ï¥Î¨ä¥¦¼ÐÃD
startpage_ecols='$1' ¤£¬O¦³®ÄªºÄæ¼Æ
startpage_gotoone=<br>¦pªG¨Ï¥ÎªÌ¥u¦³¤@­Ó¼Ò²Õ¥i¨Ï¥Î®É¡A¬O§_ª½±µ¸õ¨ì¸Ó¼Ò²Õ¤¤¡H
startpage_deftab=¹w³]¤ÀÃþ
startpage_nohost=Åã¥Üª©¥»,¥D¾÷¦WºÙ©M§@·~¨t²Î?

upgrade_title=¤É¯Å Webmin
upgrade_desc=³o­Óªí³æ¥i¥HÅý±z±N¾ã­Ó¦w¸Ëªº Webmin ¤É¯Å¨ì·sªºª©¥»¡C±z¥i¥H±q¥»¾÷ÀÉ®×¡B¤W¶ÇÀÉ®×©Î±q <a href=http://www.webmin.com/>www.webmin.com</a> ©Ò´£¨Ñªº³Ì·sª©¥»¦w¸Ë¡C´N¦p¦P¤â°Ê¤É¯Å¤@¼Ë¡A©Ò¦³ªº³]©w»P¨ó¤O¼t°Ó¼Ò²Õ³£·|³Q«O¯d¡C
upgrade_descrpm=³o­Óªí³æ¥i¥HÅý±z¦w¸Ë¤É¯Å©Ò¿é¤Jªº·swebmin RPM¤É¯ÅÀÉ®×¡A±z¥i¥H±q¥»¦aºÝ¦w¸ËRPMÀÉ®×,¤W¶Ç¤@­ÓÀÉ®×©Î¬O±q <a href=http://www.webmin.com/>www.webmin.com</a>¤U¸ü³Ì·sª©¥»¡A¥u­n«ö·Ó»¡©ú¤É¯Å¡A©Ò¦³±zªº³]©w©MÃB¥~(third-party)ªº¼Ò²Õ³£·|«O¯d¡C
upgrade_desccaldera=³o­Óªí³æ¥i¥HÅý±z¦w¸Ë¤É¯Å©Ò¿é¤Jªº·swebmin RPM¤É¯ÅÀÉ®×¡A ¥i¥H±q¥»¾÷ÀÉ®×¡B¤W¶ÇÀÉ®×©Î±qCaldera©Ò´£¨Ñªº³Ì·sª©¥»¦w¸Ë¡C
upgrade_descsolaris-pkg=T³o­Óªí³æ¥i¥HÅý±z²¾°£¥Ø«esolaris®M¥óÀÉ®×©M¦w¸Ë¤É¯Å©Ò¿é¤Jªº·swebmin ¤É¯ÅÀÉ®×¡A±z¥i¥H±q¥»¦aºÝ¦w¸ËRPMÀÉ®×,¤W¶Ç¤@­ÓÀÉ®×©Î¬O±q <a href=http://www.webmin.com/>www.webmin.com</a>¤U¸ü³Ì·sª©¥»¡A¥u­n«ö·Ó»¡©ú¤É¯Å¡A©Ò¦³±zªº³]©w©MÃB¥~(third-party)ªº¼Ò²Õ³£·|«O¯d¡C
upgrade_local=±q¥»¾÷ÀÉ®×
upgrade_uploaded=±q¤W¶ÇªºÀÉ®×
upgrade_ftp=±q www.webmin.com ªº³Ì·sª©¥»
upgrade_cup=±qCalderaªº³Ì·sª©¥» <tt>cupdate</tt> ¤u¨ã
upgrade_delete=¤É¯Å«á§R°£ÂÂª©¥»¥Ø¿ý?
upgrade_ok=¤É¯Å Webmin
upgrade_err1=µLªk±q $1 ¤É¯Å
upgrade_err2=µLªk±q¤W¶ÇªºÀÉ®×¤É¯Å
upgrade_err3=µLªk±q www.webmin.com ¤É¯Å
upgrade_efile=ÀÉ®×¤£¦s¦b
upgrade_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©¤W¶ÇÀÉ®×
upgrade_eversion=µLªk­°¯Å¬°ª©¥» $1
upgrade_elatest=±z¤w¸g¬O³Ì·sªºWebminª©¥»¤F
upgrade_erpm=¤£¬O¤@­Ó¦³®Äªºwebmin RPMÀÉ®×
upgrade_egunzip=±zªº¨t²Î¨S¦³ <tt>gunzip</tt> «ü¥O
upgrade_egzip=gunzipÀÉ®×¥¢±Ñ : $1
upgrade_etar=¤£¬O¦³®Äªº Webmin tar ÀÉ®×
upgrade_euntar=¸Ñ¶}tarÀÉ¥¢±Ñ : $1
upgrade_emod=ÀÉ®×¬O­ÓWebmin¼Ò²Õ¡A¤£¬O¤@­ÓWebmin¤É¯ÅÀÉ®×¡A±z¥²¶·­n¨Ï¥Î <a href='$1'>Webmin¼Ò²Õ</a> ­¶¨Ó¦w¸Ë¡C
upgrade_setup=°õ¦æ setup.sh «ü¥OÀÉ¥H¤É¯Å Webmin ¤¤... ½Ðµy­Ôµ¥¥¦§¹¦¨¦AÄ~Äò¶i¦æ¡C
upgrade_setuprpm=°õ¦æ RPM ¤É¯Å Webmin¤¤ .. ½Ðµy­Ôµ¥¥¦§¹¦¨¦AÄ~Äò¶i¦æ¡C
upgrade_setuppackage=°õ¦æ pkgadd ¤É¯Å Webmin¤¤ .. ½Ðµy­Ôµ¥¥¦§¹¦¨¦AÄ~Äò¶i¦æ¡C
upgrade_esolaris=·í±z±qSolaris¦w¸Ë®M¥ó®É¡AWebminªº¤É¯Å¥\¯àµLªk¨Ï¥Î¡A ½Ð¥Î¤â°Ê¤É¯Åªº¤è¦¡¡C
upgrade_ecaldera=RPMÀÉ®× does not appear to be the Caldera version of Webmin.
upgrade_updates=³o­Ó¦³¤@­ÓWebminªº·sª©¥» $1 ¥i¥H¤É¯Å <a href='$2'>«ö³o¸Ì</a> ²{¦b¦Û°Ê¤U¸ü©M¦w¸Ë¡C

update_desc1=³o­Óªí³æ¥i¥HÅý±z¤É¯ÅWebmin ¼Ò²Õ¥]§t­×¸É¿ù»~©M¦w¥þº|¬}±q<a href=http://www.webmin.com/webmin/updates.html>Webmin¤É¯Å</a>¡A³o­Ó·|¤ñ¹ï¥Ø«e¦w¸Ëªº¼Ò²Õ©M»Ý­n¤É¯Åªº¡A¥i¥H¿ï¾Ü¦Û°Ê¤U¸ü©M¦w¸Ë©Ò¦³¼Ò²Õ¦b±Æ®É¶¡¤§¥~
update_header1=²{¦b¤É¯Å¼Ò²Õ
update_header2=±Æ®É¶¡¨Ó¤É¯Å¼Ò²Õ
update_webmin=±qwww.webmin.com¤É¯Å
update_other=±q¨ä¥L¦a¤è¤É¯Å
update_show=¥uÅã¥Ü·|³Q¤É¯Åªº¼Ò²Õ
update_missing=¦w¸Ë¥Ø«e¨S¦³¦w¸Ëªº¼Ò²Õ
update_quiet=¥u¦^³ø¤É¯Å
update_ok=¤É¯Å¼Ò²Õ
update_email=¥Î¹q¤l¶l¥ó¦^³ø¤É¯Å¹Lµ{
update_enabled=±Ò¥Î±Æ®É¶¡¨Ó¤É¯Å
update_apply=Àx¦s©M®M¥Î
update_sched=¤É¯Å¼Ò²Õ¦b $1:00 ¨C $2 ¤Ñ
update_none=¨S¦³³oª©¥»ªºWebmin¤É¯Å

update_desc2=³o­Óªí³æ¥i¥HÅý±z±Æ®É¶¡¨Ó¦Û°Ê¤É¯Å Webmin ¼Ò²Õ¥]§t­×¸É¿ù»~©M¦w¥þº|¬}±q<a href=http://www.webmin.com/webmin/updates.html>Webmin¤É¯Å</a>­¶­±©Î¨ä¥L¦a¤è¡A³o¹³ªA°È¬O«Ü¦³¥Îªº¡A±zÀ³¸Óª`·N¨Ï¥Î¡A³o¤]¦³¥i¯à·í¤É¯Å¦øªA¾¹³Q¤J«I«á¨Ï§ðÀ»ªÌ¦³¾÷·|¨ú±o±zªº¨t²ÎÅv­­

ca_title=¾ÌÃÒ±ÂÅv
ca_old=²{¦³ªº¾ÌÃÒ
ca_header1=«Ø¥ß·sªº CA ¾ÌÃÒ
ca_header2=½s¿è CA ¾ÌÃÒ
ca_newmsg1=±zªº Webmin ¤w¸g³]©w¦¨¾ÌÃÒ±ÂÅv¡C±z¥i¥H¨Ï¥Î¦¹®æ¦¡¨Ó­«·s³]©w¡A¦ý¬O©Ò¦³¤w¸gµoµ¹¨Ï¥ÎªÌªº¾ÌÃÒ³£·|¥¢®Ä¡C
ca_newmsg2=³o­Óªí³æÀ³¸Ó¥i¥H±N±zªº Webmin ¦øªA¾¹³]©w¦¨¤@­Ó¾ÌÃÒ±ÂÅv (CA)¡A¦p¦¹¨Ï¥ÎªÌ±N¥i¥H¦b Webmin ¨Ï¥ÎªÌ¤¤­n¨D¤@­Ó¾ÌÃÒ¡A¨Ã¥Î¥HÃÑ§O¦Ó¤£»Ý­nµn¤J¡C
ca_cn=±ÂÅv¦WºÙ
ca_email=¹q¤l¶l¥ó¦ì§}
ca_ou=³¡ªù
ca_o=²ÕÂ´
ca_sp=¦{ (¬Ù)
ca_c=°ê®a½X
ca_create=³]©w¾ÌÃÒ±ÂÅv
ca_oldmsg1=¥Ø«e¦øªA¾¹©Ò¨Ï¥Îªº CA ¾ÌÃÒÅã¥Ü¦b¤U­±¡C±z¥i¥H±q¨ä¥¦ CA ±N¥¦¶K¨ì¾ÌÃÒ¤¤¨ÓÅÜ§ó¡A¦ý¬O¤§«eµoµ¹¨Ï¥ÎªÌªº©Ò¦³¾ÌÃÒ³£±N¥¢®Ä¡C
ca_oldmsg2=¦pªG±z¤w¸g¦b¥t¤@­Ó Webmin ¦øªA¾¹¤W­±³]©w¤F CA¡A±z¥i¥H±N¥¦ªº¾ÌÃÒ¶K¤W¦Ó¤£»Ý­n­«·s³]©w¤@­Ó·sªº CA¡C³o¤]±N¨Ï¨ä¥¦¦øªA¾¹ªº¨Ï¥ÎªÌ¤]¯à³Q³o­Ó¦øªA¾¹»{±o¡C
ca_err=µLªk³]©w¾ÌÃÒ±ÂÅv
ca_setupok=±zªº¾ÌÃÒ±ÂÅv¤w¸g¦¨¥\ªº¦w¸Ë¡C¨Ï¥ÎªÌ²{¦b¥i¥H¨Ï¥Î Webmin ¨Ï¥ÎªÌ¼Ò²Õ­n¨D¾ÌÃÒµ¹¦Û¤v¡C
ca_stop=Ãö³¬¾ÌÃÒ±ÂÅv
ca_stopmsg=«ö¤U³o­Ó«ö¶s¥H°±¤î Webmin ±µ¨ü²{¦³ªº¾ÌÃÒ©Îµo¥X·sªº¾ÌÃÒ¡C³o±N·|±j¨î¨Ï¥ÎªÌ±Ä¥Î¨Ï¥ÎªÌ¦WºÙ»P±K½XÅçÃÒ¡C
ca_stopok=±zªº¾ÌÃÒ±ÂÅv¤w¸g¦¨¥\Ãö³¬¤F¡C
ca_eminiserv=SSL ¥Î¤áºÝ¾ÌÃÒ¶È¦b miniserv ¤U¤~¨ü¨ì¤ä´©¡C
ca_eversion=¦w¸Ë¦b¹q¸£¤Wªº Perl Net::SSLeay ¼Ò²Õª©¥»¤£¤ä´© SSL ¥Î¤áºÝ¾ÌÃÒ¡C
ca_essleay=¦b±zªº¨t²Î¤W§ä¤£¨ì SSL ºÞ²z«ü¥O $1¡C±z¥i¯à¥²¶·ÅÜ§ó Webmin ¨Ï¥ÎªÌ¼Ò²Õ³]©w¤¤ªº¸ô®|¡C
ca_essl=SSL ¾ÌÃÒ¶È¯à¦bºô­¶¦øªA¾¹°õ¦æ¤¤®É¤~¯à³]©w¡C

session_title=»{ÃÒ
session_desc1=·í±Ò¥Î±K½X¹O®É«OÅ@®É¡A¨Ï±zªº Webmin ¦øªA¾¹§K©ó¦P¤@¨Ï¥ÎªÌ³sÄòªýÂ_ªA°È§ðÀ»¦Ó¨Ï¼É¤O¯}¸Ñ±K½Xªº§ðÀ»ªÌªº¤J«I¡C
session_desc2=·í session »{ÃÒ±Ò¥Î®É,Webmin¥i¥H®Ú¾Ú¨Ï¥ÎªÌªºsession¨Ó§PÂ_¬O§_¶¢¸m¦Ó¦Û°Êµn¥X¨Ï¥ÎªÌ¡Aª`·N·í±Ò¥Î©Î°±¥Î session »{ÃÒ®É¡A·|­¢¨Ï©Ò¦³¨Ï¥ÎªÌ­n­«·sµn¤J¡C
session_header=»{ÃÒ©M session¿ï¶µ
session_pdisable=°±¥Î±K½X¹O®É
session_penable=±Ò¥Î±K½X¹O®É
session_blockhost=¸T¤îµn¤J¥¢±Ñ¦¸¼Æ¶W¹L $1 ¦¸ªº¥D¾÷¦b $2 ¬í¤º¦A¦¸µn¤J¡C
session_syslog2=¦b<tt>syslog</tt>¬ö¿ý³Q¸T¤îªº¥D¾÷, µn¤J©M»{ÃÒ¥¢±Ñªº¸ê®Æ¡C
session_disable=°±¥Î session »{ÃÒ
session_enable=±Ò¥Î session »{ÃÒ
session_localoff=¨C¦¸§¡»Ý­n¿é¤J±b¸¹©M±K½X
session_localon=¤¹³\¥»¦aºÝ¤£¥ÎÅçÃÒ¨Ï¥ÎªÌ±K½X
session_logout=¦b¶¢¸m$1¤ÀÄÁ«á¦Û°Êµn¥X
session_locking=±Ò¥ÎWebmin¤¤Âê©w
session_err=Àx¦s»{ÃÒ¥¢±Ñ
session_elogouttime=¨S¦³¿é¤J©ÎµL®Äªºµn¥X®É¶¡
session_eblockhost_time=¨S¦³¿é¤J©ÎµL®Äªº¸T¤î®É¶¡
session_eblockhost_failures=¨S¦³¿é¤J©ÎµL®Äªº¸T¤îµn¤J
session_ecookie=±zªºÂsÄý¾¹¤£¤ä´©cookies,³o¬Osession»{ÃÒ©Ò»Ý­nªº
session_elsof=¥»¦aºÝ»{ÃÒ»Ý·N <tt>lsof</tt> µ{¦¡
session_remember=Åã¥Ü°O±o¤W¦¸µn¤J?
session_hostname=Åã¥Ü¥D¾÷¦WºÙ¦bµn¤Jµe­±?
session_pamon=¦pªG¥i¥Hªº¸Ü¡A¨Ï¥ÎUnixªºPAM»{ÃÒ
session_pamoff=µ´¤£¨Ï¥ÎUnixªºPAM»{ÃÒ
session_pfile=¦pªGPAMµL®Ä©Î¬O°±¥Îªº¡A±qÀÉ®× $1 ²Ä $2 ¨ì $3 ¦CÅª¨ú¨Ï¥ÎªÌ©M±K½X
session_epasswd_file=µL®Äªºunix ¨Ï¥ÎªÌÀÉ®×
session_epasswd_uindex=¨S¦³¿é¤J©ÎµL®Äªºunix ±b¸¹¯Á¤Þ
session_epasswd_pindex=¨S¦³¿é¤J©ÎµL®Äªºunix ±K½X¯Á¤Þ

assignment_title=¼Ò²Õ°t¸m
assignment_header=°t¸m¼Ò²Õ¤ÀÃþ
assignment_ok=ÅÜ§ó¤ÀÃþ
assignment_desc=³oªí³æ¥i¥HÅý±z°t¸m­þ­Ó¼Ò²Õªº¤ÀÃþÀ³Åã¥Ü¦bWebmin­º­¶¤W

categories_title=½s¿è¤ÀÃþ
categories_header=¤ÀÃþID©M´y­z
categories_desc=³oªí³æ¥i¥HÅý±z§ó¦WÀ³¦s¦bªº Webmin ¤ÀÃþ©M·s¼W¤@­Ó¤À°t¼Ò²Õ¡A ¤W¤èªºªí®æ¥i¥H§ïÅÜ¤º«Ø¤ÀÃþªº´y­z¡A¦Ó¤U¤èªºªí®æ¥i¥H·s¼W¤@­Ó¤ÀÃþID©M´y­z¡C
categories_ok=Àx¦s¤ÀÃþ
categories_err=Àx¦s¤ÀÃþ¥¢±Ñ
categories_edesc=¨S¦³¿é¤Jªº$1®M¥ó
categories_ecat=¤ÀÃþID $1 ¤w¸g¨Ï¥Î

log_access=§ó§ïIP¶i¤J±±¨î
log_bind=ÅÜ§ó³s±µ°ð©M¦ì¸m
log_log=ÅÜ§ó¬ö¿ý¿ï¶µ
log_proxy=ÅÜ§óproxy ¦øªA¾¹
log_ui=ÅÜ§ó¨Ï¥ÎªÌ¤¶­±¿ï¶µ
log_install=¦w¸Ë¼Ò²Õ$1
log_tinstall=¦w¸Ë§G´º¥DÃD$1
log_clone=Cloned ¼Ò²Õ$1 to $2
log_delete=§R°£¼Ò²Õ$1
log_os=ÅÜ§ó§@·~¨t²Î
log_lang=ÅÜ§ó¥þ°ì»y¨¥
log_startpage=ÅÜ§ó­º­¶¿ï¶µ
log_upgrade=¤É¯Å Webmin ª©¥» $1
log_session=ÅÜ§ó»{ÃÒ¿ï¶µ
log_ssl=ÅÜ§óSSL½s½X¤è¦¡
log_setupca=³]©w¾ÌÃÒÅv­­
log_changeca=ÅÜ§ó¾ÌÃÒÅv­­
log_stopca=Ãö³¬¾ÌÃÒÅv­­
log_assignment=ÅÜ§ó¼Ò²Õ¤ÀÃþ
log_categories=ÅÜ§ó¤ÀÃþ¦WºÙ
log_theme=ÅÜ§ó$1§G´º¥DÃD
log_theme_def=ÅÜ§óWebmin¹w³]§G´º¥DÃD
log_referers=ÅÜ§ó«H¥ôµ{¯Å

themes_title=Webmin§G´º¥DÃD
themes_desc=§G´º¥DÃD¬O¥Î¨Ó±±¨îWebmin¨Ï¥ÎªÌ¤¶­±¥~Æ[, ¥]§t¹Ï¥Ü,ÃC¦â,­I´º©M¦³¨Ç­¶­±ªºª©­±°t¸m¡A ¤U¤èªº¿ï³æ¥i¥H¥Î¨Ó¿ï¤@­Ó§G´º¥DÃD¦b±zªº¨t²Î¤W¡C
themes_sel=¥Ø«e§G´º¥DÃD:
themes_default=¹w³]Webmin§G´º¥DÃD
themes_change=ÅÜ§ó
themes_installdesc=¨Ï¥Î¤U¤èªºªí³æ¨Ó¦w¸Ë¤@­Ó·sªºWebmin§G´º¥DÃD¦b±zªº¨t²Î¤W¡A§G´º¥DÃD®M¥ó«¬ºA¥i¯à¬O <tt>.wbt</tt>ÀÉ®×¡A¦ý¦pªG±zªº§@·~¨t²Î¤ä´©ªº¸Ü¡A¤]¥i¥H¦w¸ËRPMÀÉ®×¡C
themes_installok=¦w¸Ë§G´º¥DÃD

themes_err1=±q$1¦w¸Ë§G´º¥DÃD¥¢±Ñ
themes_efile=ÀÉ®×¤£¦s¦b
themes_err2= ¦w¸Ë¤W¶Ç§G´º¥DÃD¥¢±Ñ
themes_ebrowser=±zªºÂsÄý¾¹¤£¤ä´©ÀÉ®×¤W¶Ç
themes_err3=±q$1¦w¸Ë§G´º¥DÃD¥¢±Ñ
themes_eurl=µL®Äªº URL
themes_etar=¤£¬O¤@­Ó¦³®Äªº§G´º¥DÃDÀÉ®× : $1
themes_einfo=§G´º¥DÃD$1¯Ê¤Ö¤Ftheme.infoÀÉ®×
themes_enone=ÀÉ®×¦ü¥G¨S¦³¥]§t¥ô¦ó§G´º¥DÃD
themes_eextract=¸Ñ¶}¥¢±Ñ : $1
themes_done=©Ò¿ï¨úªº§G´º¥DÃD¦¨¥\ªº¦w¸Ë¦b±zªº¨t²Î¤W :
themes_line=$1 ¦b $2 ($3 kB)
themes_ecomp=ÀÉ®×¬OÀ£ÁYÀÉ¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
themes_ecomp2=¸ÑÀ£ÁYÀÉ®×¥¢±Ñ : $1
themes_egzip=ÀÉ®×¬Ogzip«¬ºAªº¡A¦ý¬O¦b±zªº¨t²Î¤W§ä¤£¨ì«ü¥O $1
themes_egzip2=gunzipÀÉ®×¥¢±Ñ : $1
themes_erpm=¤£¬O¤@­ÓWebmin§G´º¥DÃDªºRPM
themes_eirpm=¦w¸ËRPM¥¢±Ñ : $1
themes_ok=§G´º¥DÃDÅÜ§ó¦¨¥\.. ­«·s¾É¦VWebmin­º­¶
themes_delete=¦¹ªí³æ¨Ó¥i¥H¥Î¨Ó§R°£¤@­Ó¦w¸Ë¦b±zªº¨t²Î¤Wªº¥Ø«e¨S¦³¨Ï¥Î§G´º¥DÃD¡C
themes_delok=§R°£§G´º¥DÃD :

referers_title=«H¥ô¼h¯Å
referers_desc=¦¹­¶¥i¥HÅý±z°t¸mWebmin¤ä´©ªºªº«H¥ô¼h¯Å¡A¥Î¨Ó¹w¨¾´c·Nªº³sµ²±q¨ä¥Lºô¯¸±±¨î±zªºÂsÄý¾¹¦bWebmin¤¤¶i¦æ¦MÀI¦æ¬°¡A¤£¹L¡A¦pªG±z±q±z¦Û¤vªººô¯¸³sµ²¡A±z¤£»Ý­nª`·N±z©Ò»Ý¥[¤J¨ì¤U¤èªº²M³æ¡C
referers_list=«H¥ôºô¯¸
referers_none=«H¥ô¥¼ª¾¨Ó·½³sµ²
referers_referer=±Ò¥Î¨Ó·½ÀË¬d?

syslet_title=Syslet¦Û°Ê¤U¸ü
syslet_desc=¦¹­¶¬O¥Î¨Ó¦b±zªº Webmin ¦øªA¾¹¤W°t¸m¦Û°Ê¤U¸ü©M¦w¸Ë¿ò¥¢©Î¨S¦³ªº Eazel Syslets ¡C
syslet_auto=¦Û°Ê¤U¸üsyslet?
syslet_base=syslet RPM¨Ì¾Úºô§}
syslet_err=Àx¦ssyslet¿ï¶µ¥¢±Ñ
syslet_ebase=¨Ì¾Úªººô§}¿ù»~

update_err=¤É¯Å¼Ò²Õ¥¢±Ñ
update_eurl=¨S¦³¿é¤J©ÎµL®Äªº¤É¯ÅURL
update_title=¤É¯Å¼Ò²Õ
update_info=¥¿¦b¤É¯ÅWebmin ¼Ò²Õ ..
update_mmissing=¼Ò²Õ$1 ¨Ã¨S¦³¦w¸Ë¦b±zªº¨t²Î¤W
update_malready=¼Ò²Õ$1 ¤w¸g¤É¯Å
update_mshow=¤É¯Å»Ý­n $2ª©ªº¼Ò²Õ$1
update_mok=¤É¯Å¼Ò²Õ$1 ¨ìª©¥» $2.
update_mdesc=¦w¸Ë¼Ò²Õ$1 ($2 Kb)
update_mos=¼Ò²Õ$1 ¤£¤ä´©³o­Ó§@·~¨t²Î
update_efile=µL®Äªº¼Ò²Õ¤É¯Å¸ê®ÆÀÉ®×
update_ehour=¨S¦³¿é¤J©ÎµL®Äªº¤p®É
update_edays=¨S¦³¿é¤J©ÎµL®Äªº¤Ñ¼Æ
update_rv=±q $1ÀË¬d¤É¯Å Webmin ¼Ò²Õ
update_eemail=±z¥²¶·¿é¤J¤@­Ó¹q¤l¶l¥ó¦pªG¥uÅã¥Ü¤°»ò·|³Q¤É¯Å
update_subject=Webmin ¼Ò²Õ¤É¯Å¦^³ø
update_version=¤@­Ó·sµo§Gªº Webmin (ª©¥» $1) ¥i¥H¤U¸ü¡A¥¼¨Ó¤É¯Å±N·|¥u°w¹ï³Ì·sª©¥»

 0707010000497e000081a40000000000000002000000013d1fe2cb000003d3000000200000000000000000000000000000001b00000003reloc/webmin/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'webmin-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($action eq 'install') {
	return &text('log_install', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'tinstall') {
	return &text('log_tinstall', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'clone') {
	return &text('log_clone', "<i>$p->{'desc'}</i>",
				  "<i>$p->{'dstdesc'}</i>");
	}
elsif ($action eq 'delete') {
	return &text('log_delete', "<i>$p->{'desc'}</i>");
	}
elsif ($action eq 'upgrade') {
	return &text('log_upgrade', $p->{'version'});
	}
elsif ($action eq 'theme') {
	return $p->{'theme'} ? &text('log_theme', "<tt>$p->{'theme'}</tt>")
			     : $text{'log_theme_def'};
	}
elsif ($text{"log_$action"}) {
	return $text{"log_$action"};
	}
else {
	return undef;
	}
}

 0707010000497f000081a40000000000000002000000013d1fe2cb0000000a000000200000000000000000000000000000001600000003reloc/webmin/low.risk install=1
  07070100004980000081a40000000000000002000000013d1fe2cb00000029000000200000000000000000000000000000001700000003reloc/webmin/low.skill    allow=access proxy mods lang upgrade ssl
   07070100004981000081a40000000000000002000000013d1fe2cb0000000a000000200000000000000000000000000000001900000003reloc/webmin/medium.risk  install=1
  07070100004982000081a40000000000000002000000013d1fe2cb00000047000000200000000000000000000000000000001a00000003reloc/webmin/medium.skill allow=access bind log ui startpage session proxy mods lang upgrade ssl
 07070100004983000081a40000000000000002000000013d1fe2ea00000238000000200000000000000000000000000000001900000003reloc/webmin/module.info  desc_nl=Webmin Configuratie
desc_ru_SU=ëÏÎÆÉÇÕÒÁÃÉÑ Webmin
risk=low medium high
desc_ko_KR.euc=Webmin ±¸¼º
desc_zh_TW.Big5=Webmin ²ÕºA
desc_pl=Konfiguracja Webmina
desc_de=Webmin-Konfiguration
name=Webmin
desc_pt=Configuração do Webmin
desc_zh_CN=Webmin ÅäÖÃ
category=webmin
desc_tr=Webmin Yapýlandýrmasý
desc=Webmin Configuration
desc_es=Configuración de Webmin
desc_sv=Webmin-inställningar
desc_fr=Configuration de Webmin
desc_ja_JP.euc=Webmin ÀßÄê
depends=0.990
version=0.990
desc_hu=Webmin beállítások
desc_ca=Configuració de Webmin
desc_ru_RU=Êîíôèãóðàöèÿ Webmin
07070100004984000081e40000000000000002000000013d1fe2cb000001db000000200000000000000000000000000000002100000003reloc/webmin/save_assignment.cgi  #!/usr/local/bin/perl
require './webmin-lib.pl';
&ReadParse();

&lock_file("$config_directory/webmin.cats");
foreach $module (keys %in){
	local %minfo = &get_module_info($module);
	next if (!%minfo);
	if ($minfo{'realcategory'} ne $in{$module}) {
		$cats{$module} = $in{$module};
		}
	}
&write_file("$config_directory/webmin.cats", \%cats);
&unlock_file("$config_directory/webmin.cats");
&webmin_log("assignment", undef, undef, \%in);
&flush_webmin_caches();

&redirect("");
 07070100004985000081e40000000000000002000000013d1fe2cb00000349000000200000000000000000000000000000002100000003reloc/webmin/save_categories.cgi  #!/usr/local/bin/perl
# save_categories.cgi

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'categories_err'});

# Save built-in categories
foreach $t (keys %text) {
	$t =~ s/^category_// || next;
	if (!$in{"def_$t"}) {
		$in{"desc_$t"} ||
			&error(&text('categories_edesc', $t ? $t : 'other'));
		$catnames{$t} = $in{"desc_$t"};
		}
	}

# Save custom categories
for($i=0; defined($in{"cat_$i"}); $i++) {
	if ($in{"cat_$i"} && $in{"desc_$i"}) {
		$realcat{$in{"cat_$i"}} &&
			&error(&text('categories_ecat', $in{"cat_$i"}));
		$catnames{$in{"cat_$i"}} = $in{"desc_$i"};
		}
	}

&lock_file("$config_directory/webmin.catnames");
&write_file("$config_directory/webmin.catnames", \%catnames);
&unlock_file("$config_directory/webmin.catnames");
&webmin_log("categories", undef, undef, \%in);
&flush_webmin_caches();
&redirect("");
   07070100004986000081e40000000000000002000000013d1fe2ca00000504000000200000000000000000000000000000001a00000003reloc/webmin/setup_ca.cgi #!/usr/local/bin/perl
# setup_ca.cgi
# Setup a new certificate authority

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'ca_err'});

&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
&setup_ca() if (!$miniserv{'ca'});
&lock_file($miniserv{'ca'});
$ctemp = &tempname();
$ktemp = &tempname();
$outtemp = &tempname();
%aclconfig = &foreign_config('acl');
open(CA, "| $aclconfig{'ssleay'} req -newkey rsa:512 -x509 -nodes -out $ctemp -keyout $ktemp -config $config_directory/acl/openssl.cnf >$outtemp 2>&1");
print CA $in{'countryName'},"\n";
print CA $in{'stateOrProvinceName'},"\n";
print CA "\n";
print CA $in{'organizationName'},"\n";
print CA $in{'organizationalUnitName'},"\n";
print CA $in{'commonName'},"\n";
print CA $in{'emailAddress'},"\n";
close(CA);
$out = `cat $outtemp`;
unlink($outtemp);
if (!-r $ctemp && !-r $ktemp) {
	&error("<pre>$out</pre>");
	}
system("cat $ctemp $ktemp >$miniserv{'ca'}");
unlink($ctemp);
unlink($ktemp);
&unlock_file($miniserv{'ca'});

&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});
&header($text{'ca_title'}, "");
print "<hr>\n";
print "<p>$text{'ca_setupok'}<p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
&restart_miniserv();
&webmin_log("setupca", undef, undef, \%in);

07070100004987000081e40000000000000002000000013d1fe2ca00000426000000200000000000000000000000000000001900000003reloc/webmin/stop_ca.cgi  #!/usr/local/bin/perl
# stop_ca.cgi
# Remove all the CA files

require './webmin-lib.pl';
&lock_file($ENV{'MINISERV_CONFIG'});
&get_miniserv_config(\%miniserv);
delete($miniserv{'ca'});
&put_miniserv_config(\%miniserv);
&unlock_file($ENV{'MINISERV_CONFIG'});

$acl = "$config_directory/acl";
&lock_file("$acl/ca.pem");
unlink("$acl/ca.pem");
&unlock_file("$acl/ca.pem");

&lock_file("$acl/index.txt");
unlink("$acl/index.txt");
&unlock_file("$acl/index.txt");

&lock_file("$acl/index.txt.old");
unlink("$acl/index.txt.old");
&unlock_file("$acl/index.txt.old");

&lock_file("$acl/openssl.cnf");
unlink("$acl/openssl.cnf");
&unlock_file("$acl/openssl.cnf");

&lock_file("$acl/serial");
unlink("$acl/serial");
&lock_file("$acl/serial");

&lock_file("$acl/serial.old");
unlink("$acl/serial.old");
&unlock_file("$acl/serial.old");
&system_logged("rm -rf $acl/newcerts");

&header($text{'ca_title'}, "");
print "<hr>\n";
print "<p>$text{'ca_stopok'}<p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
&restart_miniserv();
&webmin_log("stopca", undef, undef);

  07070100004988000081a40000000000000002000000013d1fe2cb0000017b000000200000000000000000000000000000001a00000003reloc/webmin/uninstall.pl # uninstall.pl
# Called when webmin is uninstalled

require 'webmin-lib.pl';

sub module_uninstall
{
if ($config{'update'}) {
	&foreign_require("cron", "cron-lib.pl");
	$cron_cmd = "$module_config_directory/update.pl";
	foreach $j (&cron::list_cron_jobs()) {
		if ($j->{'user'} eq 'root' &&
		    $j->{'command'} eq $cron_cmd) {
			&cron::delete_cron_job($j);
			}
		}
	}
}

1;

 07070100004989000081e40000000000000002000000013d1fe2cb00000d2e000000200000000000000000000000000000001800000003reloc/webmin/update.cgi   #!/usr/local/bin/perl
# update.cgi
# Find and install modules that need updating

require './webmin-lib.pl';
&ReadParse();
&error_setup($text{'update_err'});

# Validate inputs
if ($in{'source'} == 0) {
	$host = $update_host;
	$port = $update_port;
	$page = $update_page;
	}
else {
	$in{'other'} =~ /^http:\/\/([^:\/]+)(:(\d+))?(\/\S+)$/ ||
		&error($text{'update_eurl'});
	$host = $1;
	$port = $2 ? $3 : 80;
	$page = $4;
	}

# Retrieve the updates list (format is  module version url support description )
$temp = &tempname();
&http_download($host, $port, $page, $temp);
open(UPDATES, $temp);
while(<UPDATES>) {
	if (/^([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+(.*)/) {
		push(@updates, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(UPDATES);
unlink($temp);
@updates || &error($text{'update_efile'});

# Display the results and maybe take action
$| = 1;
$theme_no_table = 1;
&header($text{'update_title'}, "");
print "<hr>\n";

print "<b>",&text('update_info'),"</b><p>\n";
foreach $u (@updates) {
	next if ($u->[1] >= &get_webmin_version() + .01 ||
		 $u->[1] < &get_webmin_version());
	$count++;
	local %minfo = &get_module_info($u->[0]);
	local %tinfo = &get_theme_info($u->[0]);
	if (!%minfo && !%tinfo && !$in{'missing'}) {
		print &text('update_mmissing', "<b>$u->[0]</b>"),"<p>\n";
		next;
		}
	if (%minfo && $minfo{'version'} >= $u->[1]) {
		print &text('update_malready', "<b>$u->[0]</b>"),"<p>\n";
		next;
		}
	if (%tinfo && $tinfo{'version'} >= $u->[1]) {
		print &text('update_malready', "<b>$u->[0]</b>"),"<p>\n";
		next;
		}
	local $osinfo = { 'os_support' => $u->[3] };
	if (!&check_os_support($osinfo)) {
		print &text('update_mos', "<b>$u->[0]</b>"),"<p>\n";
		next;
		}
	if ($in{'show'}) {
		# Just tell the user what would be done
		print &text('update_mshow', "<b>$u->[0]</b>", "<b>$u->[1]</b>"),
		      "<br>\n";
		print "&nbsp;" x 10;
		print $u->[4],"<p>\n";
		}
	else {
		# Actually do the update ..
		local (@mdescs, @mdirs, @msizes);
		print &text('update_mok', "<b>$u->[0]</b>", "<b>$u->[1]</b>"),
		      "<br>\n";
		print "&nbsp;" x 10;
		print $u->[4],"<br>\n";
		if ($u->[2] =~ /^http:\/\/([^:\/]+)(:(\d+))?(\/\S+)$/) {
			$mhost = $1;
			$mport = $2 ? $3 : 80;
			$mpage = $4;
			}
		elsif ($u->[2] =~ /^\/\S+$/) {
			$mhost = $host;
			$mport = $port;
			$mpage = $u->[2];
			}
		else {
			$mhost = $host;
			$mport = $port;
			($mpage = $page) =~ s/[^\/]+$//;
			$mpage .= $u->[2];
			}
		$mtemp = &tempname();
		$progress_callback_url = $u->[2];
		$progress_callback_prefix = "&nbsp;" x 10;
		&http_download($mhost, $mport, $mpage, $mtemp, undef,
			       \&progress_callback);
		$irv = &install_webmin_module($mtemp, 1, 0,
					      [ $base_remote_user ]);
		print "&nbsp;" x 10;
		if (!ref($irv)) {
			print &text('update_failed', $irv),"<p>\n";
			}
		else {
			print &text('update_mdesc', "<b>$irv->[0]->[0]</b>",
				    "<b>$irv->[2]->[0]</b>"),"<p>\n";
			}
		}
	}
print &text('update_none'),"<br>\n" if (!$count);

# Check if a new version of webmin itself is available
$file = &tempname();
&http_download('www.webmin.com', 80, '/', $file);
open(FILE, $file);
while(<FILE>) {
	if (/webmin-([0-9\.]+)\.tar\.gz/) {
		$version = $1;
		last;
		}
	}
close(FILE);
unlink($file);
if ($version > &get_webmin_version()) {
	print "<b>",&text('update_version', $version),"</b><p>\n";
	}

print "<p><hr>\n";
&footer("", $text{'index_return'});

  0707010000498a000081e40000000000000002000000013d1fe2cb00000dcf000000200000000000000000000000000000001700000003reloc/webmin/update.pl    #!/usr/local/bin/perl
# update.pl
# Find and install updated modules, and email out the result

$no_acl_check++;
require './webmin-lib.pl';

# Get the update source
if ($config{'upsource'}) {
	$config{'upsource'} =~ /^http:\/\/([^:\/]+)(:(\d+))?(\/\S+)$/ ||
		die "Invalid update source URL!";
	$host = $1;
	$port = $2 ? $3 : 80;
	$page = $4;
	}
else {
	$host = $update_host;
	$port = $update_port;
	$page = $update_page;
	}

# Retrieve the updates list (format is  module version url support description )
$temp = &tempname();
&http_download($host, $port, $page, $temp);
open(UPDATES, $temp);
while(<UPDATES>) {
	if (/^([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+(.*)/) {
		push(@updates, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(UPDATES);
unlink($temp);

# Go through the results
foreach $u (@updates) {
	next if ($u->[1] >= &get_webmin_version() + .01);
	local %minfo = &get_module_info($u->[0]);
	local %tinfo = &get_theme_info($u->[0]);
	if (!%minfo && !%tinfo && !$config{'upmissing'}) {
		$rv .= &text('update_mmissing', $u->[0])."\n"
			if (!$config{'upquiet'});
		next;
		}
	if (%minfo && $minfo{'version'} >= $u->[1]) {
		$rv .= &text('update_malready', $u->[0])."\n"
			if (!$config{'upquiet'});
		next;
		}
	if (%tinfo && $tinfo{'version'} >= $u->[1]) {
		$rv .= &text('update_malready', $u->[0])."\n"
			if (!$config{'upquiet'});
		next;
		}
	local $osinfo = { 'os_support' => $u->[3] };
	if (!&check_os_support($osinfo)) {
		$rv .= &text('update_mos', $u->[0])."\n"
			if (!$config{'upquiet'});
		next;
		}
	if ($config{'upshow'}) {
		# Just tell the user what would be done
		$rv .= &text('update_mshow', $u->[0], $u->[1])."\n$u->[4]\n\n";
		}
	else {
		# Actually do the update ..
		local (@mdescs, @mdirs, @msizes);
		$rv .= &text('update_mok', $u->[0], $u->[1])."\n$u->[4]\n\n";
		if ($u->[2] =~ /^http:\/\/([^:\/]+)(:(\d+))?(\/\S+)$/) {
			$mhost = $1;
			$mport = $2 ? $3 : 80;
			$mpage = $4;
			}
		elsif ($u->[2] =~ /^\/\S+$/) {
			$mhost = $host;
			$mport = $port;
			$mpage = $u->[2];
			}
		else {
			$mhost = $host;
			$mport = $port;
			($mpage = $page) =~ s/[^\/]+$//;
			$mpage .= $u->[2];
			}
		$mtemp = &tempname();
		&http_download($mhost, $mport, $mpage, $mtemp, \$error);
		if ($error) {
			$rv .= "$error\n\n";
			last;
			}
		else {
			$irv = &install_webmin_module($mtemp, 1, 0, [ ]);
			if (!ref($irv)) {
				$irv .= &text('update_failed', $irv)."\n\n";
				}
			else {
				$irv .= &text('update_mdesc', $irv->[0]->[0],
					      $irv->[2]->[0])."\n\n";
				}
			}
		}
	}

# Check if a new version of webmin itself is available
$file = &tempname();
&http_download('www.webmin.com', 80, '/webmin/', $file);
open(FILE, $file);
while(<FILE>) {
	if (/webmin-([0-9\.]+)\.tar\.gz/) {
		$version = $1;
		last;
		}
	}
close(FILE);
unlink($file);
if ($version > &get_webmin_version()) {
	$rv .= &text('update_version', $version)."\n";
	}

# Send off a results email
if ($config{'upemail'} && $rv) {
	local %sconfig = &foreign_config("sendmail");
	open(MAIL, "|$sconfig{'sendmail_path'} -t");
	print MAIL "From: webmin\n";
	print MAIL "To: $config{'upemail'}\n";
	print MAIL "Subject: $text{'update_subject'}\n";
	print MAIL "\n";
	local $os_type = $gconfig{'real_os_type'} ?
		$gconfig{'real_os_type'} : $gconfig{'os_type'};
	local $os_version = $gconfig{'real_os_version'} ?
		$gconfig{'real_os_version'} : $gconfig{'os_version'};
	print MAIL &get_system_hostname," (",$os_type," ",$os_version,")\n\n";
	print MAIL &text('update_rv', "http://$host:$port$page")."\n\n";
	print MAIL $rv;
	close(MAIL);
	}

 0707010000498b000081e40000000000000002000000013d1fe2cb000008f6000000200000000000000000000000000000001e00000003reloc/webmin/update_sched.cgi #!/usr/local/bin/perl
# update_sched.cgi
# Schedule the auto-updating of webmin modules

require './webmin-lib.pl';
&foreign_require("cron", "cron-lib.pl");
&ReadParse();
&error_setup($text{'update_err'});

# Validate inputs
&lock_file("$module_config_directory/config");
if ($in{'source'} == 0) {
	$config{'upsource'} = undef;
	}
else {
	$in{'other'} =~ /^http:\/\/([^:\/]+)(:(\d+))?(\/\S+)$/ ||
		&error($text{'update_eurl'});
	$config{'upsource'} = $in{'other'};
	}
$config{'update'} = $in{'enabled'};
$in{'hour'} =~ /^\d+$/ && $in{'hour'} < 24 ||
	&error($text{'update_ehour'});
$config{'uphour'} = $in{'hour'};
$in{'days'} =~ /^\d+$/ ||
	&error($text{'update_edays'});
$config{'updays'} = $in{'days'};
$config{'upshow'} = $in{'show'};
$config{'upmissing'} = $in{'missing'};
$config{'upquiet'} = $in{'quiet'};
$config{'upemail'} = $in{'email'};
!$in{'show'} || $in{'email'} || &error($text{'update_eemail'});
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");

# Setup the cron job
$cron_cmd = "$module_config_directory/update.pl";
&lock_file($cron_cmd);
foreach $j (&foreign_call("cron", "list_cron_jobs")) {
	$job = $j if ($j->{'user'} eq 'root' && $j->{'command'} eq $cron_cmd);
	}
if ($job) {
	&foreign_call("cron", "delete_cron_job", $job);
	unlink($cron_cmd);
	}
if ($in{'enabled'}) {
	# Create the program that cron calls
	open(PERL, "$config_directory/perl-path");
	chop($perl_path = <PERL>);
	close(PERL);
	open(CMD, ">$cron_cmd");
	print CMD <<EOF;
#!$perl_path
open(CONF, "$config_directory/miniserv.conf");
while(<CONF>) {
        \$root = \$1 if (/^root=(.*)/);
        }
close(CONF);
\$ENV{'WEBMIN_CONFIG'} = "$ENV{'WEBMIN_CONFIG'}";
\$ENV{'WEBMIN_VAR'} = "$ENV{'WEBMIN_VAR'}";
chdir("\$root/$module_name");
exec("\$root/$module_name/update.pl");
EOF
	close(CMD);
	chmod(0755, $cron_cmd);

	# Setup the actual cron job
	if ($in{'days'} == 1) {
		@days = ( "*" );
		}
	else {
		for($i=1; $i<=31; $i+=$in{'days'}) {
			push(@days, $i);
			}
		}
	$njob = { 'user' => 'root', 'active' => 1, 'mins' => 0,
		  'hours' => $in{'hour'}, 'days' => join(",",@days),
		  'months' => '*', 'weekdays' => '*',
		  'command' => $cron_cmd };
	&foreign_call("cron", "create_cron_job", $njob);
	}
&unlock_file($cron_cmd);
&redirect("");


  0707010000498c000081e40000000000000002000000013d1fe2cb00001ad3000000200000000000000000000000000000001900000003reloc/webmin/upgrade.cgi  #!/usr/local/bin/perl
# upgrade.cgi
# Upgrade webmin if possible

require './webmin-lib.pl';
&ReadParseMime();

$| = 1;
$theme_no_table = 1 if ($in{'source'} == 2);
&header($text{'upgrade_title'}, "");
print "<hr>\n";

if ($in{'source'} == 0) {
	# from local file
	&error_setup(&text('upgrade_err1', $in{'file'}));
	$file = $in{'file'};
	if (!(-r $file)) { &inst_error($text{'upgrade_efile'}); }
	}
elsif ($in{'source'} == 1) {
	# from uploaded file
	&error_setup($text{'upgrade_err2'});
	$file = &tempname();
	$need_unlink = 1;
	if ($no_upload) {
                &inst_error($text{'upgrade_ebrowser'});
                }
	open(MOD, "> $file");
	print MOD $in{'upload'};
	close(MOD);
	}
elsif ($in{'source'} == 2) {
	# find latest version at www.webmin.com by looking at index page
	&error_setup(&text('upgrade_err3', $in{'url'}));
	$file = &tempname();
	&http_download('www.webmin.com', 80, '/', $file, \$error);
	$error && &inst_error($error);
	open(FILE, $file);
	while(<FILE>) {
		if (/webmin-([0-9\.]+)\.tar\.gz/) {
			$version = $1;
			last;
			}
		}
	close(FILE);
	unlink($file);
	if ($version == &get_webmin_version()) {
		&inst_error(&text('upgrade_elatest', $version));
		}
	elsif ($version <= &get_webmin_version()) {
		&inst_error(&text('upgrade_eversion', $version));
		}
	if ($in{'mode'} eq 'rpm') {
		$progress_callback_url = "http://www.webmin.com/download/rpm/webmin-$version-1.noarch.rpm";
		&http_download('www.webmin.com', 80,
		  "/download/rpm/webmin-$version-1.noarch.rpm", $file,
		  \$error, \&progress_callback);
		}
	elsif ($in{'mode'} eq 'solaris-pkg') {
		$progress_callback_url = "http://www.webmin.com/download/rpm/webmin-$version.pkg.gz";
		&http_download('www.webmin.com', 80,
		  "/download/solaris-pkg/webmin-$version.pkg.gz", $file,
		  \$error, \&progress_callback);
		}
	else {
		$progress_callback_url = "http://www.webmin.com/download/webmin-$version.tar.gz";
		&http_download('www.webmin.com', 80,
		  "/download/webmin-$version.tar.gz", $file,
		  \$error, \&progress_callback);
		}
	$error && &inst_error($error);
	$need_unlink = 1;
	}
elsif ($in{'source'} == 3) {
	# Get the latest version from Caldera with cupdate
	&redirect("/cupdate/");
	}

# gunzip the file if needed
open(FILE, $file);
read(FILE, $two, 2);
close(FILE);
if ($two eq "\037\213") {
	if (!&has_command("gunzip")) {
		unlink($file) if ($need_unlink);
		&inst_error($text{'upgrade_egunzip'});
		}
	$newfile = &tempname();
	$out = `gunzip -c $file 2>&1 >$newfile`;
	if ($?) {
		unlink($file) if ($need_unlink);
		unlink($newfile);
		&inst_error(&text('upgrade_egzip', "<tt>$out</tt>"));
		}
	unlink($file) if ($need_unlink);
	$need_unlink = 1;
	$file = $newfile;
	}

# Get list of updates
$temp = &tempname();
&http_download("www.webmin.com", 80, "/updates/updates.txt", $temp, \$error);

if ($in{'mode'} eq 'rpm') {
	# Check if it is an RPM package
	$out = `rpm -qp $file`;
	$out =~ /^webmin-(\d+\.\d+)/ ||
		&inst_error($text{'upgrade_erpm'});
	if ($1 <= &get_webmin_version()) {
		&inst_error(&text('upgrade_eversion', "$1"));
		}

	# Install the RPM
	print "<p>",$text{'upgrade_setuprpm'},"<p>\n";
	if ($need_unlink) {
		system("(rpm -U --ignoreos --ignorearch $file ; rm -f $file) >/dev/null 2>/dev/null </dev/null &");
		}
	else {
		system("(rpm -U --ignoreos --ignorearch $file) >/dev/null 2>/dev/null </dev/null &");
		}
	}
elsif ($in{'mode'} eq 'solaris-pkg') {
	# Check if it is a solaris package
	&foreign_require("software", "software-lib.pl");
	&foreign_call("software", "is_package", $file) ||
		&inst_error($text{'upgrade_epackage'});
	local @p = &foreign_call("software", "file_packages", $file);
	$p[0] =~ /^WSwebmin/ || &inst_error($text{'upgrade_epackage'});

	# Install the package
	print "<p>",$text{'upgrade_setuppackage'},"<p>\n";
	$ENV{'KEEP_ETC_WEBMIN'} = 1;
	if (!fork()) {
		chdir("/");
		close(STDIN); close(STDOUT); close(STDERR);
		$rv = &foreign_call("software", "delete_package", "WSwebmin");
		$software::in{'root'} = '/';
		$rv = &foreign_call("software", "install_package", $file, "WSwebmin");
		unlink($file) if ($need_unlink);
		exit;
		}
	}
elsif ($in{'mode'} eq 'caldera') {
	# Check if it is a Caldera RPM of Webmin
	$out = `rpm -qp $file`;
	$out =~ /^webmin-(\d+\.\d+)/ ||
		&inst_error($text{'upgrade_erpm'});
	if ($1 <= &get_webmin_version()) {
		&inst_error(&text('upgrade_eversion', "$1"));
		}
	local $wfound = 0;
	open(OUT, "rpm -qpl $file |");
	while(<OUT>) {
		$wfound++ if (/^\/etc\/webmin/);
		}
	close(OUT);
	$wfound || &inst_error($text{'upgrade_ecaldera'});

	# Install the RPM
	print "<p>",$text{'upgrade_setuprpm'},"<p>\n";
	if ($need_unlink) {
		system("(rpm -U --ignoreos --ignorearch $file ; rm -f $file) >/dev/null 2>/dev/null </dev/null &");
		}
	else {
		system("(rpm -U --ignoreos --ignorearch $file) >/dev/null 2>/dev/null </dev/null &");
		}
	}
else {
	# Check if it is a webmin tarfile
	open(TAR, "tar tf $file 2>&1 |");
	while(<TAR>) {
		if (/^webmin-([0-9\.]+)\//) {
			$version = $1;
			}
		if (/^usermin-([0-9\.]+)\//) {
			$usermin_version = $1;
			}
		if (/^[^\/]+\/(\S+)$/) {
			$hasfile{$1}++;
			}
		}
	close(TAR);
	if ($usermin_version) {
		&inst_error(&text('upgrade_eusermin', $webmin_version));
		}
	if (!$version) {
		unlink($file) if ($need_unlink);
		if ($hasfile{'module.info'}) {
			&inst_error(&text('upgrade_emod', 'edit_mods.cgi'));
			}
		else {
			&inst_error($text{'upgrade_etar'});
			}
		}
	if ($version <= &get_webmin_version()) {
		&inst_error(&text('upgrade_eversion', $version));
		}

	# Extract it next to the current directory and run setup.sh
	$| = 1;
	$out = `cd ../.. ; tar xf $file 2>&1 >/dev/null`;
	if ($?) {
		unlink($file) if ($need_unlink);
		&inst_error(&text('upgrade_euntar', "<tt>$out</tt>"));
		}
	unlink($file) if ($need_unlink);
	$ENV{'config_dir'} = $config_directory;
	$ENV{'webmin_upgrade'} = 1;
	$ENV{'autothird'} = 1;
	print "<p>",$text{'upgrade_setup'},"<p>\n";
	if ($in{'delete'}) {
		system("(cd ../../webmin-$version ; ./setup.sh && rm -rf \"$root_directory\") >/dev/null 2>/dev/null </dev/null &");
		}
	else {
		system("(cd ../../webmin-$version ; ./setup.sh) >/dev/null 2>/dev/null </dev/null &");
		}
	}
&webmin_log("upgrade", undef, undef, { 'version' => $version,
				       'mode' => $in{'mode'} });

# Find out about any updates for this new version.
open(UPDATES, $temp);
while(<UPDATES>) {
	if (/^([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+([^\t]+)\t+(.*)/) {
		push(@updates, [ $1, $2, $3, $4, $5 ]);
		}
	}
close(UPDATES);
unlink($temp);
foreach $u (@updates) {
	next if ($u->[1] >= $version + .01 || $u->[1] < $version);
	$ucount++;
	}
if ($ucount) {
	print "<br>",&text('upgrade_updates', $ucount,
		"update.cgi?source=0&show=0&missing=0"),"<p>\n";
	}

print "<hr>\n";
&footer("", $text{'index_return'});

sub inst_error
{
print "<br><b>$whatfailed : $_[0]</b> <p>\n";
print "<hr>\n";
&footer("", $text{'index_return'});
exit;
}

 0707010000498d000081a40000000000000002000000013d1fe2cb00002f19000000200000000000000000000000000000001b00000003reloc/webmin/webmin-lib.pl    # webmin-lib.pl
# Common functions for configuring miniserv

do '../web-lib.pl';
&init_config("webmin");

@cs_codes = ( 'cs_page', 'cs_text', 'cs_table', 'cs_header', 'cs_link' );
@cs_names = map { $text{$_} } @cs_codes;

$update_host = "www.webmin.com";
$update_port = 80;
$update_page = "/updates/updates.txt";

sub setup_ca
{
local $conf = `cat $root_directory/acl/openssl.cnf`;
local $acl = "$config_directory/acl";
$conf =~ s/DIRECTORY/$acl/g;
&lock_file("$acl/openssl.cnf");
open(CONF, ">$acl/openssl.cnf");
print CONF $conf;
close(CONF);
&unlock_file("$acl/openssl.cnf");
&lock_file("$acl/index.txt");
open(INDEX, ">$acl/index.txt");
close(INDEX);
&unlock_file("$acl/index.txt");
&lock_file("$acl/serial");
open(SERIAL, ">$acl/serial");
print SERIAL "011E\n";
close(SERIAL);
&unlock_file("$acl/serial");
&lock_file("$acl/newcerts");
mkdir("$acl/newcerts", 0755);
&unlock_file("$acl/newcerts");
$miniserv{'ca'} = "$acl/ca.pem";
}

# list_themes()
# Returns an array of all installed themes
sub list_themes
{
local (@rv, $o);
opendir(DIR, $root_directory);
foreach $m (readdir(DIR)) {
	local %tinfo;
	next if ($m =~ /^\./);
	next if (!&read_file_cached("$root_directory/$m/theme.info", \%tinfo));
	next if (!&check_os_support(\%tinfo));
	foreach $o (@lang_order_list) {
		if ($tinfo{'desc_'.$o}) {
			$tinfo{'desc'} = $tinfo{'desc_'.$o};
			}
		}
	$tinfo{'dir'} = $m;
	push(@rv, \%tinfo);
	}
closedir(DIR);
return @rv;
}

# install_webmin_module(file, unlink, nodeps, &users|groups)
# Installs a webmin module or theme, and returns either an error message
# or references to three arrays for descriptions, directories and sizes.
# On success or failure, the file is deleted if the unlink parameter is set.
sub install_webmin_module
{
local ($file, $need_unlink, $nodeps, $grant) = @_;
local (@mdescs, @mdirs, @msizes);
local (@newmods, $m);

# Uncompress the module file if needed
open(MFILE, $file);
read(MFILE, $two, 2);
close(MFILE);
if ($two eq "\037\235") {
	if (!&has_command("uncompress")) {
		unlink($file) if ($need_unlink);
		return &text('install_ecomp', "<tt>uncompress</tt>");
		}
	local $temp = $file =~ /\/([^\/]+)\.Z/i ? &tempname("$1")
						: &tempname();
	local $out = `uncompress -c "$file" 2>&1 >$temp`;
	unlink($file) if ($need_unlink);
	if ($?) {
		unlink($temp);
		return &text('install_ecomp2', $out);
		}
	$file = $temp;
	$need_unlink = 1;
	}
elsif ($two eq "\037\213") {
	if (!&has_command("gunzip")) {
		unlink($file) if ($need_unlink);
		return &text('install_egzip', "<tt>gunzip</tt>");
		}
	local $temp = $file =~ /\/([^\/]+)\.gz/i ? &tempname("$1")
						 : &tempname();
	local $out = `gunzip -c "$file" 2>&1 >$temp`;
	unlink($file) if ($need_unlink);
	if ($?) {
		unlink($temp);
		return &text('install_egzip2', $out);
		}
	$file = $temp;
	$need_unlink = 1;
	}

# Check if this is an RPM webmin module or theme
local ($type, $redirect_to);
open(TYPE, "$root_directory/install-type");
chop($type = <TYPE>);
close(TYPE);
if ($type eq 'rpm' && $file =~ /\.rpm$/i &&
    ($out = `rpm -qp $file 2>/dev/null`)) {
	# Looks like an RPM of some kind, hopefully an RPM webmin module
	# or theme
	local ($out, %minfo, %tinfo);
	if ($out !~ /^(wbm|wbt)-([^\s\-]+)/) {
		unlink($file) if ($need_unlink);
		return $text{'install_erpm'};
		}
	$redirect_to = $name = $2;
	$out = &backquote_logged("rpm -U \"$file\" 2>&1");
	if ($?) {
		unlink($file) if ($need_unlink);
		return &text('install_eirpm', "<tt>$out</tt>");
		}

	$mdirs[0] = "$root_directory/$name";
	if (%minfo = &get_module_info($name)) {
		# Get the new module info
		$mdescs[0] = $minfo{'desc'};
		$msizes[0] = &disk_usage_kb($mdirs[0]);
		@newmods = ( $name );

		# Update the ACL for this user
		&grant_user_module($grant, [ $name ]);
		&webmin_log("install", undef, $name,
			    { 'desc' => $mdescs[0] });
		}
	elsif (%tinfo = &get_theme_info($name)) {
		# Get the theme info
		$mdescs[0] = $tinfo{'desc'};
		$msizes[0] = &disk_usage_kb($mdirs[0]);
		&webmin_log("tinstall", undef, $name,
			    { 'desc' => $mdescs[0] });
		}
	else {
		unlink($file) if ($need_unlink);
		return $text{'install_eneither'};
		}
	}
else {
	# Check if this is a valid module (a tar file of multiple module or
	# theme directories)
	local (%mods, %hasfile);
	local $tar = `tar tf "$file" 2>&1`;
	if ($?) {
		unlink($file) if ($need_unlink);
		return &text('install_etar', $tar);
		}
	foreach $f (split(/\n/, $tar)) {
		if ($f =~ /^\.\/([^\/]+)\/(.*)$/ || $f =~ /^([^\/]+)\/(.*)$/) {
			$redirect_to = $1 if (!$redirect_to);
			$mods{$1}++;
			$hasfile{$1,$2}++;
			}
		}
	foreach $m (keys %mods) {
		if (!$hasfile{$m,"module.info"} && !$hasfile{$m,"theme.info"}) {
			unlink($file) if ($need_unlink);
			return &text('install_einfo', "<tt>$m</tt>");
			}
		}
	if (!%mods) {
		unlink($file) if ($need_unlink);
		return $text{'install_enone'};
		}

	# Get the module.info files to check dependancies
	local $ver = &get_webmin_version();
	local $tmpdir = &tempname();
	mkdir($tmpdir, 0700);
	local $err;
	local @realmods;
	foreach $m (keys %mods) {
		next if (!$hasfile{$m,"module.info"});
		push(@realmods, $m);
		local %minfo;
		system("cd $tmpdir ; tar xf \"$file\" $m/module.info ./$m/module.info >/dev/null 2>&1");
		if (!&read_file("$tmpdir/$m/module.info", \%minfo)) {
			$err = &text('install_einfo', "<tt>$m</tt>");
			}
		elsif (!&check_os_support(\%minfo)) {
			$err = &text('install_eos', "<tt>$m</tt>",
				     $gconfig{'real_os_type'},
				     $gconfig{'real_os_version'});
			}
		elsif ($minfo{'usermin'}) {
			$err = &text('install_eusermin', "<tt>$m</tt>");
			}
		elsif (!$nodeps) {
			foreach $dep (split(/\s+/, $minfo{'depends'})) {
				if ($dep =~ /^[0-9\.]+$/) {
					if ($dep > $ver) {
						$err = &text('install_ever',
							"<tt>$m</tt>",
							"<tt>$dep</tt>");
						}
					}
				elsif (!-r "$root_directory/$dep/module.info" &&
				       !$mods{$dep}) {
					$err = &text('install_edep',
					        "<tt>$m</tt>", "<tt>$dep</tt>");
					}
				}
			foreach $dep (split(/\s+/, $minfo{'perldepends'})) {
				eval "use $dep";
				if ($@) {
					$err = &text('install_eperldep',
					     "<tt>$m</tt>", "<tt>$dep</tt>",
					     "$gconfig{'webprefix'}/cpan/download.cgi?source=3&cpan=$dep");
					}
				}
			}
		last if ($err);
		}
	system("rm -rf $tmpdir >/dev/null 2>&1");
	if ($err) {
		unlink($file) if ($need_unlink);
		return $err;
		}

	# Delete modules or themes being replaced
	foreach $m (@realmods) {
		system("rm -rf '$root_directory/$m' 2>&1 >/dev/null") if ($m ne 'webmin');
		}

	# Extract all the modules and update perl path and ownership
	local $out = `cd $root_directory ; tar xf "$file" 2>&1 >/dev/null`;
	if ($?) {
		unlink($file) if ($need_unlink);
		return &text('install_eextract', $out);
		}
	if ($need_unlink) { unlink($file); }
	local $perl;
	open(PERL, "$module_root_directory/index.cgi");
	<PERL> =~ /^#!(\S+)/; $perl = $1;
	close(PERL);
	local @st = stat("$module_root_directory/index.cgi");
	foreach $moddir (keys %mods) {
		local $pwd = "$root_directory/$moddir";
		if ($hasfile{$moddir,"module.info"}) {
			local %minfo = &get_module_info($moddir);
			push(@mdescs, $minfo{'desc'});
			push(@mdirs, $pwd);
			push(@msizes, &disk_usage_kb($pwd));
			&webmin_log("install", undef, $moddir,
				    { 'desc' => $minfo{'desc'} });
			push(@newmods, $moddir);
			}
		else {
			local %tinfo;
			&read_file("theme.info", \%tinfo);
			push(@mdescs, $tinfo{'desc'});
			push(@mdirs, $pwd);
			push(@msizes, &disk_usage_kb($pwd));
			&webmin_log("tinstall", undef, $moddir,
				    { 'desc' => $tinfo{'desc'} });
			}
		system("(find $pwd -name '*.cgi' ; find $pwd -name '*.pl') 2>/dev/null | xargs $perl $root_directory/perlpath.pl $perl");
		system("chown -R $st[4]:$st[5] $pwd");
		}

	# Copy appropriate config file from modules to /etc/webmin
	system("$perl $root_directory/copyconfig.pl '$gconfig{'os_type'}' '$gconfig{'os_version'}' '$root_directory' '$config_directory' ".join(' ', @realmods));

	# Update ACL for this user so they can access the new modules
	&grant_user_module($grant, \@realmods);
	}
&flush_webmin_caches();

# Run post-install scripts
foreach $m (@newmods) {
	next if (!-r "$root_directory/$m/postinstall.pl");
	eval {
		&foreign_require($m, "postinstall.pl");
		&foreign_call($m, "module_install");
		};
	}

return [ \@mdescs, \@mdirs, \@msizes ];
}

# grant_user_module(&users/groups, &modules)
sub grant_user_module
{
# Grant to appropriate users
local %acl;
&read_acl(undef, \%acl);
open(ACL, ">".&acl_filename()); 
local $u;
foreach $u (keys %acl) {
	local @mods = @{$acl{$u}};
	if (!$_[0] || &indexof($u, @{$_[0]}) >= 0) {
		@mods = &unique(@mods, @{$_[1]});
		}
	print ACL "$u: ",join(' ', @mods),"\n";
	}
close(ACL);

# Grant to appropriate groups
if ($_[1] && &foreign_check("acl")) {
	&foreign_require("acl", "acl-lib.pl");
	local @groups = &acl::list_groups();
	local @users = &acl::list_users();
	local $g;
	foreach $g (@groups) {
		if (&indexof($g->{'name'}, @{$_[0]}) >= 0) {
			$g->{'modules'} = [ &unique(@{$g->{'modules'}},
					    	    @{$_[1]}) ];
			&acl::modify_group($g->{'name'}, $g);
			&acl::update_members(\@users, \@groups, $g->{'modules'},
					     $g->{'members'});
			}
		}
	}
}

# delete_webmin_module(module, [delete-acls])
# Deletes some webmin module, clone or theme, and return a description of
# the thing deleted.
sub delete_webmin_module
{
local $m = $_[0];
return undef if (!$m);
local %minfo = &get_module_info($m);
%minfo = &get_theme_info($m) if (!%minfo);
return undef if (!%minfo);
local ($mdesc, @aclrm);
@aclrm = ( $m ) if ($_[1]);
if ($minfo{'clone'}) {
	# Deleting a clone
	local %cinfo;
	&read_file("$config_directory/$m/clone", \%cinfo);
	unlink("$root_directory/$m");
	system("rm -rf $config_directory/$m");
	if ($gconfig{'theme'}) {
		unlink("$root_directory/$gconfig{'theme'}/$m");
		}
	$mdesc = &text('delete_desc1', $minfo{'desc'}, $minfo{'clone'});
	}
else {
	# Delete any clones of this module
	local @clones;
	local @mst = stat("$root_directory/$m");
	opendir(DIR, $root_directory);
	foreach $l (readdir(DIR)) {
		@lst = stat("$root_directory/$l");
		if (-l "$root_directory/$l" && $lst[1] == $mst[1]) {
			unlink("$root_directory/$l");
			system("rm -rf $config_directory/$l");
			push(@clones, $l);
			}
		}
	closedir(DIR);

	open(TYPE, "$root_directory/$m/install-type");
	chop($type = <TYPE>);
	close(TYPE);

	# Run the module's uninstall script
	if (&check_os_support(\%minfo) &&
	    -r "$root_directory/$m/uninstall.pl") {
		eval {
			&foreign_require($m, "uninstall.pl");
			&foreign_call($m, "module_uninstall");
			};
		}

	# Deleting the real module
	$pwd = "$root_directory/$m";
	local $size = &disk_usage_kb($pwd);
	$mdesc = &text('delete_desc2', "<b>$minfo{'desc'}</b>",
			   "<tt>$pwd</tt>", $size);
	if ($type eq 'rpm') {
		# This module was installed from an RPM .. rpm -e it
		&system_logged("rpm -e wbm-$m");
		}
	else {
		# Module was installed from a .wbm file .. just rm it
		&system_logged("rm -rf $root_directory/$m");
		}

	if ($_[1]) {
		# Delete any .acl files
		&system_logged("rm -f $config_directory/$m/*.acl");
		push(@aclrm, @clones);
		}
	}

# Delete from all users and groups
if (@aclrm) {
	&foreign_require("acl", "acl-lib.pl");
	local ($u, $g, $m);
	foreach $u (&acl::list_users()) {
		local $changed;
		foreach $m (@aclrm) {
			local $mi = &indexof($m, @{$u->{'modules'}});
			local $oi = &indexof($m, @{$u->{'ownmods'}});
			splice(@{$u->{'modules'}}, $mi, 1) if ($mi >= 0);
			splice(@{$u->{'ownmods'}}, $oi, 1) if ($oi >= 0);
			$changed++ if ($mi >= 0 || $oi >= 0);
			}
		&acl::modify_user($u->{'name'}, $u) if ($changed);
		}
	foreach $g (&acl::list_groups()) {
		local $changed;
		foreach $m (@aclrm) {
			local $mi = &indexof($m, @{$g->{'modules'}});
			local $oi = &indexof($m, @{$g->{'ownmods'}});
			splice(@{$g->{'modules'}}, $mi, 1) if ($mi >= 0);
			splice(@{$g->{'ownmods'}}, $oi, 1) if ($oi >= 0);
			$changed++ if ($mi >= 0 || $oi >= 0);
			}
		&acl::modify_group($g->{'name'}, $g) if ($changed);
		}
	}

&webmin_log("delete", undef, $m, { 'desc' => $minfo{'desc'} });
return $mdesc;
}

1;
   07070100008e7e000041ed0000000000000001000000043d1ffba900000000000000200000000000000000000000000000001000000003reloc/webminlog   0707010000a39d000041ed0000000000000001000000023d1ffba800000000000000200000000000000000000000000000001700000003reloc/webminlog/images    0707010000a39e000081a40000000000000002000000013d1fe2dd000001d6000000200000000000000000000000000000002000000003reloc/webminlog/images/icon.gif   GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100008e7f000081e40000000000000002000000013d1fe2dd0000089a000000200000000000000000000000000000001a00000003reloc/webminlog/index.cgi #!/usr/local/bin/perl
# index.cgi
# Display logging search form

require './webminlog-lib.pl';
&foreign_require("acl", "acl-lib.pl");
&header($text{'index_title'}, "", undef, 0, 1);
print "<hr>\n";

if (!$gconfig{'log'}) {
	print &text('index_nolog', '/webmin/edit_log.cgi'),"<p>\n";
	}
elsif (!$gconfig{'logfiles'}) {
	print &text('index_nologfiles', '/webmin/edit_log.cgi'),"<p>\n";
	}

print "<form action=search.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'index_header'}</b></td> </tr>\n";
print "<tr $cb> <td>\n";

@ulist = &foreign_call("acl", "list_users");
print "<input name=uall type=radio value=1 checked> $text{'index_uall'}<br>\n";
print "<input name=uall type=radio value=0> $text{'index_user'}\n";
print "<select name=user>\n";
foreach $u (@ulist) {
	print "<option>$u->{'name'}\n";
	}
print "</select><br>\n";
print "<input name=uall type=radio value=2> $text{'index_nuser'}\n";
print "<select name=nuser>\n";
foreach $u (@ulist) {
	print "<option>$u->{'name'}\n";
	}
print "</select><p>\n";

print "<input name=mall type=radio value=1 checked> $text{'index_mall'}<br>\n";
print "<input name=mall type=radio value=0> $text{'index_module'}\n";
print "<select name=module>\n";
foreach $m (sort { $a->{'desc'} cmp $b->{'desc'} } &get_all_module_infos()) {
	print "<option value=$m->{'dir'}>$m->{'desc'}\n"
		if (-r "$root_directory/$m->{'dir'}/log_parser.pl");
	}
print "</select><p>\n";

print "<input name=tall type=radio value=1 checked> $text{'index_tall'}<br>\n";
print "<input name=tall type=radio value=2> $text{'index_today'}<br>\n";
print "<input name=tall type=radio value=0>\n";
print &text('index_time', &time_input('from'), &time_input('to')),"<p>\n";

print "<div align=right>\n";
print "<input type=submit value='$text{'index_search'}'></div>\n";
print "</td> </tr></table>\n";
print "</form>\n";

print "<hr>\n";
&footer("/", $text{'index'});

sub time_input
{
local $rv = "<input name=$_[0]_d size=2>/";
$rv .= "<select name=$_[0]_m>";
for($i=0; $i<12; $i++) {
	$rv .= "<option value=$i>".$text{"smonth_".($i+1)}."\n";
	}
$rv .= "</select>/<input name=$_[0]_y size=4>";
$rv .= " ".&date_chooser_button("$_[0]_d", "$_[0]_m", "$_[0]_y");
return $rv;
}

  0707010000bbcc000041ed0000000000000001000000023d1ffba900000000000000200000000000000000000000000000001500000003reloc/webminlog/lang  0707010000bbcd000081a40000000000000002000000013d1fe2dd00000957000000200000000000000000000000000000001800000003reloc/webminlog/lang/ca   index_title=Registre d'Accions de Webmin
index_header=Cerca accions al registre de Webmin...
index_uall=Per a qualsevol usuari
index_user=Per a l'usuari
index_nuser=per qualsevol usuari excepte
index_mall=A qualsevol mòdul
index_module=Al mòdul
index_tall=Qualsevol dia
index_today=Només avui
index_time=Entre $1 i $2
index_search=Cerca
index_return=al formulari de recerca
index_nolog=<b>Nota</b> - Actualment, el <a href='$1'>Registre de Webmin</a> està desactivat, així que les recerques al registre d'accions segurament no produiran cap resultat.
index_nologfiles=<b>Nota</b> - Actualment, el <a href='$1'>Registre de canvis de fitxers</a> no està activat, així que els detalls de les operacions enregistrades no inclouran els fitxers canviats ni les ordres executades.

search_title=Resultats de la Recerca
search_date=Data
search_time=Hora
search_user=Usuari
search_host=Adreça del Client
search_module=Mòdul
search_action=Acció
search_none=No hi ha cap acció que coincideixi amb la teva cerca.
search_return=als resultats de la recerca
search_sid=Accions de l'usuari $1 a la sessió $2
search_critall=Totes les accions enregistrades
search_crit=Accions enregistrades
search_critu=de l'usari $1
search_critnu=per qualsevol excepte l'usuari $1
search_critm=al mòdul $1
search_critt=entre $1 i $2
search_critt2=a $1
search_config=S'ha canviat la configuració del mòdul
search_etime=Temps inicial o final invàlid
search_err=La recerca ha fallat

view_title=Detalls de l'Acció
view_header=Detalls de l'acció registrada $1
view_action=Descripció
view_module=Mòdul Webmin
view_script=Generat pel script
view_user=Usuari Webmin
view_ip=IP Client o nom de host
view_sid=ID de Sessió
view_time=Data i hora
view_nofiles=No s'ha enregistrat cap canvi de fitxer de configuració en aquesta acció
view_type_create=S'ha creat el fitxer $1
view_type_modify=S'ha canviat el fitxer $1
view_type_delete=S'ha suprimit el fitxer $1
view_type_exec=S'ha executat l'ordre
view_type_sql=S'ha executat una instrucció SQL a la base de dades $1
view_type_kill=S'ha enviat el senyal $1 al PID $2
view_type_symlink=S'ha creat l'enllaç simbòlic $1 -&gt; $2
view_type_unsymlink=S'ha suprimit l'enllaç simbòlic $1 -&gt; $2
view_type_resymlink=S'ha modificat l'enllaç simbòlic $1 -&gt; $2
view_type_mkdir=S'ha creat el directori $1
view_type_rmdir=S'ha eliminat el directori $1
view_type_rename=S'ha renomenat $1 a $2


 0707010000bbce000081a40000000000000002000000013d1fe2dd00000b2d000000200000000000000000000000000000001800000003reloc/webminlog/lang/de   #        webmin-0.97     webminlog/lang/de
#
#        created: ??-???-????                by: ???
#        last modified: 30-may-2002          Rev.: 30-05-2002
#        modified/translated by: Dieter Huerten
#        for changes, completions, ...  mailto:dieter.huerten@telebel.de
#
# erzeugt: ??.??.????                durch: ???
# letzte &Auml;nderung: 30.Mai.2002        Rev.: 30.05.2002
# modifiziert/&uuml;bersetzt durch: Dieter H&uuml;rten
# f&uuml;r &Auml;nderungen, Erg&auml;nzungen, etc. mailto:dieter.huerten@telebel.de
#

index_title=Webmin-Ereignisanzeige

index_header=Das Webmin-Protokoll nach Ereignissen durchsuchen ...
index_uall=Von jedem Benutzer
index_user=Von Benutzer:
index_nuser=Von jedem Benutzer au&szlig;er:
index_mall=In jedem Modul
index_module=In Modul:
index_tall=Zu jeder Zeit
index_today=Nur heute
index_time=Zwischen $1 und $2
index_search=Suche
index_return=Webmin-Ereignisanzeige
index_nolog=<b>Hinweis</b> - die <a href='$1'>Webmin-Protokollierung</a> ist derzeit nicht aktiviert. Daher ist eine Suche in den Protokollen nicht sinnvoll.
index_nologfiles=<b>Hinweis</b> - die <a href='$1'>Protokollierung von Datei&auml;nderungen</a> ist derzeit nicht aktiviert. Daher werden die Protokolle keine Details &uuml;ber Datei&auml;nderungen oder ausgef&uuml;hrte Befehle enthalten.

search_title=Suchergebnisse
search_date=Datum
search_time=Zeit
search_user=Benutzer
search_host=Client-Adresse
search_module=Modul
search_action=Ereignis
search_none=Keine passenden Ereignisse gefunden.
search_return=Suchergebnisse
search_sid=Ereignisse von Benutzer $1 in Sitzung $2
search_critall=Alle aufgezeichneten Ereignisse
search_crit=Aufgezeichnete Ereignisse
search_critu=von Benutzer $1
search_critnu=von jedem, au&szlig;er Benutzer $1
search_critm=von Modul $1
search_critt=zwischen $1 und $2
search_critt2=am $1
search_config=Ge&auml;nderte Modulkonfiguration
search_etime=Ung&uuml;ltige Start- oder Endzeit
search_err=Suche fehlgeschlagen

view_title=Ereignisdetails
view_header=Details des aufgezeichneten Ereignisses in $1
view_action=Beschreibung
view_module=Webmin-Modul
view_script=Erzeugt von Skript
view_user=Webmin-Benutzer
view_ip=Client-IP oder Hostname
view_sid=Sitzungs-ID
view_time=Datum und Zeit
view_nofiles=Keine Konfigurationsdatei&auml;nderungen wurden f&uuml;r dieses Ereignis aufgezeichnet
view_type_create=Datei $1 angelegt
view_type_modify=Datei $1 ge&auml;ndert
view_type_delete=Datei $1 gel&oml;scht
view_type_exec=Befehl ausgef&uuml;hrt
view_type_sql=SQL-Statement in Datenbank $1 ausgef&uuml;hrt
view_type_kill=Signal $1 an PID $2 gesendet
view_type_symlink=Link erzeugt: $1 -&gt; $2
view_type_unsymlink=Link gel&ouml;scht: $1 -&gt; $2
view_type_resymlink=Link ge&auml;ndert: $1 -&gt; $2
view_type_mkdir=Verzeichnis $1 angelegt
view_type_rmdir=Verzeichnis $1 gel&oml;scht
view_type_rename=$1 in $2 umbenannt   0707010000bbcf000081a40000000000000002000000013d1fe2dd000007f9000000200000000000000000000000000000001800000003reloc/webminlog/lang/en   index_title=Webmin Actions Log
index_header=Search the Webmin log for actions ..
index_uall=By any user
index_user=By user
index_nuser=By any user except
index_mall=In any module
index_module=In module
index_tall=At any time
index_today=For today only
index_time=Between $1 and $2
index_search=Search
index_return=search form
index_nolog=<b>Note</b> - <a href='$1'>Logging in Webmin</a> is not currently enabled, so it is likely that searches in the actions log will not produce any results.
index_nologfiles=<b>Note</b> - <a href='$1'>Logging of file changes</a> is not currently enabled, so the details of logged actions will not include changed files or commands executed.

search_title=Search Results
search_date=Date
search_time=Time
search_user=User
search_host=Client Address
search_module=Module
search_action=Action
search_none=No actions matched your search.
search_return=search results
search_sid=Actions from by user $1 in session $2
search_critall=All logged actions
search_crit=Logged actions
search_critu=by user $1
search_critnu=by anyone except user $1
search_critm=from module $1
search_critt=between $1 and $2
search_critt2=on $1
search_config=Changed module configuration
search_etime=Invalid start or end time
search_err=Search failed

view_title=Action Details
view_header=Details of logged action $1
view_action=Description
view_module=Webmin module
view_script=Generated by script
view_user=Webmin user
view_ip=Client IP or hostname
view_sid=Session ID
view_time=Date and time
view_nofiles=No config file changes were logged for this action
view_type_create=Created file $1
view_type_modify=Changed file $1
view_type_delete=Deleted file $1
view_type_exec=Executed command
view_type_sql=Executed SQL statement in database $1
view_type_kill=Sent signal $1 to PID $2
view_type_symlink=Created symlink $1 -&gt; $2
view_type_unsymlink=Deleted symlink $1 -&gt; $2
view_type_resymlink=Modified symlink $1 -&gt; $2
view_type_mkdir=Created directory $1
view_type_rmdir=Removed directory $1
view_type_rename=Renamed $1 to $2

   0707010000bbd0000081a40000000000000002000000013d1fe2dd0000090f000000200000000000000000000000000000001800000003reloc/webminlog/lang/es   index_title=Historial de Acciones de Webmin
index_header=Buscar el historial de Webmin por acciones...
index_uall=Por cualquier usuario
index_user=Por usuario
index_nuser=Por cualquier usuario excepto
index_mall=En cualquier módulo
index_module=En módulo
index_tall=A cualquier hora
index_today=Sólo para hoy
index_time=Entre $1 y $2
index_search=Buscar
index_return=formulario de búsqueda
index_nolog=<b>Nota</b> - <a href='$1'>El historial en Webmin</a> no está actualmente activado, por ello las búsquedas en los historiales de acción no producirán resultado alguno.
index_nologfiles=<b>Nota</b> - <a href='$1'>El historial de cambio de archivos</a> no está activado en este momento, por ello los detalles de las acciones en los historiales no incluirán los archivos cambiados o los comandos ejecutados.

search_title=Resultados de la Búsqueda
search_date=Fecha
search_time=Hora
search_user=Usuario
search_host=Dirección de Cliente
search_module=Módulo
search_action=Acción
search_none=No hay acciones que concuerden con tu búsqueda.
search_return=resultados de la búsqueda
search_sid=Acciones desde del usuario $1 en sesión $2
search_critall=Todas las acciones con historial
search_crit=Acciones con historial
search_critu=por usuario $1
search_critnu=por cualquiera excepto el usuario $1
search_critm=desde el módulo $1
search_critt=entre $1 y $2
search_critt2=en $1
search_config=Cambiada configuración del módulo

view_title=Detalles de Acción
view_header=Detalles de acción con historial $1
view_action=Descripción
view_module=Módulo de Webmin
view_script=Generado por guión
view_user=Usuario de Webmin
view_ip=IP de cliente o nombre de máquina
view_sid=ID de Sesión
view_time=Fecha y hora
view_nofiles=No se han grabado en historial cambios de archivo de configuración para esta acción
view_type_create=Creado archivo $1
view_type_modify=Cambiado archivo $1
view_type_delete=Borrado archivo $1
view_type_exec=Ejecutado comando
view_type_sql=Ejecutada sentencia SQL en base de datos $1
view_type_kill=Enviada señal $1 a PID $2
view_type_symlink=Creado enlace simbólico $1 -&gt; $2
view_type_unsymlink=Borrado enlace simbólico $1 -&gt; $2
view_type_resymlink=Modificado enlace simólico $1 -&gt; $2
view_type_mkdir=Creado directorio $1
view_type_rmdir=Quitado directorio $1
view_type_rename=Renombrado $1 por $2

 0707010000bbd1000081a40000000000000002000000013d1fe2dd00000956000000200000000000000000000000000000001800000003reloc/webminlog/lang/fr   index_title=Contrôle des logs
index_header=Chercher dans les logs de Webmin pour les actions ...
index_uall=De n'importe quel utilisateur
index_user=De l'utilisateur
index_nuser=De tout utilisateur sauf
index_mall=Dans tous les modules
index_module=Dans le module
index_tall=N'importe quand
index_today=D'aujourd'hui seulement 
index_time=Effectuées entre le $1 et le $2
index_search=Chercher
index_return=formulaire de recherche
index_nolog=<b>Note</b> - <a href='$1'>La journalisation dans Webmin</a> n'est pas activée actuellement, donc il est probable qu'une recherche ne produira aucun résultat.
index_nologfiles=<b>Note</b> - <a href='$1'>La journalisation des modifications de fichier</a> n'est pas activée actuellement, donc le détail des actions journalisées ne mentionnera pas les fichiers modifiés ou les commandes exécutées.

search_title=Résultats de la recherche
search_date=Date
search_time=Heure
search_user=Utilisateur
search_host=Poste de connexion
search_module=Module
search_action=Action
search_none=Aucune action ne correspond à vos critères.
search_return=Résultats de la recherche
search_sid=Actions de l'utilisateur $1 dans la session $2
search_critall=Toutes les actions
search_crit=Actions enregistrées
search_critu=par l'utilisateur $1
search_critnu=par tous sauf l'utilisateur $1
search_critm=du module $1
search_critt=entre $1 et $2
search_critt2=sur $1
search_config=A changé la configuration du module
search_etime=Heure de début ou de fin invalide
search_err=Echec de la recherche

view_title=Détails de l'action
view_header=Détails de l'action enregistrée $1
view_action=Description
view_module=Module Webmin
view_script=Créé par le script
view_user=Utilisateur Webmin
view_ip=Poste de connexion
view_sid=ID Session
view_time=Date et heure
view_nofiles=Aucune modification du fichier de configuration n'a été enregistrée pour cette action
view_type_create=Créé fichier $1
view_type_modify=Modifié fichier $1
view_type_delete=Supprimé fichier $1
view_type_exec=Commande exécutée
view_type_sql=Requête SQL exécutée sur la base de donnée $1
view_type_kill=Signal $1 envoyé au PID $2
view_type_symlink=Créé lien symobolique $1 -&gt; $2
view_type_unsymlink=Supprimé lien symobolique $1 -&gt; $2
view_type_resymlink=Modifié lien symobolique $1 -&gt; $2
view_type_mkdir=Répertoire créé $1
view_type_rmdir=Répertoire supprimé $1
view_type_rename=Renommé $1 en $2

  0707010000bbd2000081a40000000000000002000000013d1fe2dd00000709000000200000000000000000000000000000001800000003reloc/webminlog/lang/hu   # webmin-0.81/webminlog/lang/hu
# Translated by <kissg@sztaki.hu>

index_title=Webmin napló
index_header=Események keresése a naplóállományban
index_uall=Bárkire vonatkozóan
index_user=Erre a felhasználóra vonatkozóan:
index_mall=Bármely modulban
index_module=Ebben a modulban:
index_tall=Bármely idõpontban
index_today=Csak a mai napra vonatkozóan
index_time=$1 és $2 között
index_search=Keresés
index_return=a keresõoldalra

search_title=A keresés eredménye
search_date=Dátum
search_time=Idõ
search_user=Felhasználó
search_host=Kliens címe
search_module=Modul
search_action=Tevékenység
search_none=Nincs találat
search_return=a keresés eredményéhez
search_sid=A(z) $1 felhasználó mûveletei a $2 kapcsolat során
search_critall=Az összes naplóbejegyzés
search_crit=Naplóbejegyzések
search_critu=a(z) $1 felhasználótól
search_critm=a $1 modulból
search_critt=$1 és $2 között
search_critt2=adott napon ($1)
search_config=A modul konfigurációjának változtatása

view_title=Naplóbejegyzés
view_header=A $1 jelû esemény részletes adatai
view_action=Az esemény leírása
view_module=Webmin modul
view_script=Generáló program
view_user=Webmin felhasználó
view_ip=Kliensgép
view_sid=Kapcsolat azonosítója
view_time=Dátum
view_nofiles=Az esemény során egy file sem változott meg
view_type_create=Új file keletkezett: $1
view_type_modify=A $1 file változásai
view_type_delete=A $1 file megszûnt
view_type_exec=Végrehajtott parancs
view_type_sql=A $1 adatbázison végrehajtott SQL parancs
view_type_kill=$1 jelzés ment a $2 processznek
view_type_symlink=Új szimbolikus link: $1 -&gt; $2
view_type_unsymlink=Törölt szimbolikus link: $1 -&gt; $2
view_type_resymlink=Módosított szimbolikus link: $1 -&gt; $2
view_type_mkdir=Új katalógus: $1
view_type_rmdir=Törölt katalógus: $1
view_type_rename=$1 átnevezve $2-ra/re

   0707010000bbd3000081a40000000000000002000000013d1fe2dd000007d3000000200000000000000000000000000000001f00000003reloc/webminlog/lang/ja_JP.euc    index_title=Webmin ¥¢¥¯¥·¥ç¥ó ¥í¥°
index_header=Webmin ¥í¥°¤Ç¥¢¥¯¥·¥ç¥ó¤ò¸¡º÷..
index_uall=Ç¤°Õ¤Î¥æ¡¼¥¶ÊÌ
index_user=¥æ¡¼¥¶ÊÌ
index_mall=Ç¤°Õ¤Î¥â¥¸¥å¡¼¥ëÊÌ
index_module=¥â¥¸¥å¡¼¥ëÊÌ
index_tall=Æü»þ»ØÄê¤Ê¤·
index_today=º£Æü¤Î¤ß
index_time=$1 ¤«¤é $2 ¤Þ¤Ç
index_search=¸¡º÷
index_return=¸¡º÷·Á¼°
index_nolog=<b>Ãí°Õ</b> - <a href='$1'>Webmin ¤Ø¤Î¥í¥°</a> ¤Ï¸½ºßÌµ¸ú¤Ê¤¿¤á¡¢¥¢¥¯¥·¥ç¥ó ¥í¥°¤Ç¤Î¸¡º÷·ë²Ì¤¬É½¼¨¤µ¤ì¤Þ¤»¤ó¡£
index_nologfiles=<b>Ãí°Õ<b> - <a href='$1'>¥Õ¥¡¥¤¥ëÊÑ¹¹¤Î¥í¥°</a> ¤Ï¸½ºßÌµ¸ú¤Ê¤¿¤á¡¢¥í¥°¤Î¥¢¥¯¥·¥ç¥ó¤Î¾ÜºÙ¤ÏÊÑ¹¹¤·¤¿¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¼Â¹Ô¤µ¤ì¤¿¥³¥Þ¥ó¥É¤ò´Þ¤ß¤Þ¤»¤ó¡£

search_title=¸¡º÷·ë²Ì
search_date=Æü»þ
search_time=»þ´Ö
search_user=¥æ¡¼¥¶
search_host=¥¯¥é¥¤¥¢¥ó¥È ¥¢¥É¥ì¥¹
search_module=¥â¥¸¥å¡¼¥ë
search_action=¥¢¥¯¥·¥ç¥ó
search_none=¸¡º÷¤Ë°ìÃ×¤·¤¿¥¢¥¯¥·¥ç¥ó¤Ï¤¢¤ê¤Þ¤»¤ó¡£
search_return=¸¡º÷·ë²Ì
search_sid=¥æ¡¼¥¶ $1, ¥»¥Ã¥·¥ç¥ó $2 ¤Î¥¢¥¯¥·¥ç¥ó
search_critall=¥í¥°¤Ëµ­Ï¿¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥¢¥¯¥·¥ç¥ó
search_crit=¥í¥°¤Ëµ­Ï¿¤µ¤ì¤¿¥¢¥¯¥·¥ç¥ó
search_critu=¥æ¡¼¥¶ $1
search_critm=¥â¥¸¥å¡¼¥ë $1
search_critt=$1 ¤«¤é $2 ¤Þ¤Ç
search_critt2=$1
search_config=¥â¥¸¥å¡¼¥ëÀßÄê¤òÊÑ¹¹¤·¤Þ¤·¤¿

view_title=¥¢¥¯¥·¥ç¥ó¤Î¾ÜºÙ
view_header=¥í¥°¤Ëµ­Ï¿¤µ¤ì¤¿¥¢¥¯¥·¥ç¥ó $1 ¤Î¾ÜºÙ
view_action=ÀâÌÀ
view_module=Webmin ¥â¥¸¥å¡¼¥ë
view_script=¥¹¥¯¥ê¥×¥È¤Ë¤è¤êÀ¸À®
view_user=Webmin ¥æ¡¼¥¶
view_ip=¥¯¥é¥¤¥¢¥ó¥È IP ¤Þ¤¿¤Ï¥Û¥¹¥ÈÌ¾
view_sid=¥»¥Ã¥·¥ç¥ó ID
view_time=Æü»þ
view_nofiles=ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÊÑ¹¹¤Ï¡¢¤³¤Î¥¢¥¯¥·¥ç¥ó¤Î¥í¥°¤Ëµ­Ï¿¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
view_type_create=¥Õ¥¡¥¤¥ë $1 ¤òºîÀ®¤·¤Þ¤·¤¿
view_type_modify=¥Õ¥¡¥¤¥ë $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
view_type_delete=¥Õ¥¡¥¤¥ë $1 ¤òºï½ü¤·¤Þ¤·¤¿
view_type_exec=¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Þ¤·¤¿
view_type_sql=¥Ç¡¼¥¿¥Ù¡¼¥¹ $1 ¤Ç SQL ¹½Ê¸¤ò¼Â¹Ô¤·¤Þ¤·¤¿
view_type_kill=¿®¹æ $1 ¤ò PID $2 ¤ËÁ÷¿®¤·¤Þ¤·¤¿
view_type_symlink=symlink $1 -&gt; $2 ¤òºîÀ®¤·¤Þ¤·¤¿
view_type_unsymlink=symlink $1 -&gt; $2 ¤òºï½ü¤·¤Þ¤·¤¿
view_type_resymlink=symlink $1 -&gt; $2 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
view_type_mkdir=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤òºîÀ®¤·¤Þ¤·¤¿
view_type_rmdir=¥Ç¥£¥ì¥¯¥È¥ê $1 ¤òºï½ü¤·¤Þ¤·¤¿
view_type_rename=$1 ¤ò $2 ¤ËÌ¾¾ÎÊÑ¹¹¤·¤Þ¤·¤¿

 0707010000bbd4000081a40000000000000002000000013d1fe2dd00000712000000200000000000000000000000000000001f00000003reloc/webminlog/lang/ko_KR.euc    index_title=Webmin µ¿ÀÛ ·Î±×
index_header=Webmin ·Î±×¿¡¼­ µ¿ÀÛ °Ë»ö..
index_uall=ÀÓÀÇ »ç¿ëÀÚº°
index_user=»ç¿ëÀÚº°
index_mall=ÀÓÀÇ ¸ðµâ¿¡¼­
index_module=¸ðµâ¿¡¼­
index_tall=¾ðÁ¦µçÁö
index_today=¿À´Ã¸¸
index_time=$1 ¹× $2 »çÀÌ
index_search=°Ë»ö
index_return=°Ë»ö ¾ç½Ä
index_nolog=<b>Âü°í</b> - <a href='$1'>Webmin¿¡ ·Î±ë</a>ÀÌ ÇöÀç »ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î µ¿ÀÛ ·Î±×¸¦ °Ë»öÇØµµ °á°ú°¡ »ý¼ºµÇÁö ¾Ê½À´Ï´Ù.
index_nologfiles=<b>Âü°í</b> - <a href='$1'>ÆÄÀÏ º¯°æ ³»¿ë ·Î±×</a>°¡ ÇöÀç »ç¿ë ºÒ´ÉÀ¸·Î ¼³Á¤µÇ¾î ÀÖÀ¸¹Ç·Î ·Î±×µÈ µ¿ÀÛÀÇ Á¤º¸¿¡´Â º¯°æµÈ ÆÄÀÏÀÌ³ª ½ÇÇàµÈ ¸í·ÉÀÌ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.

search_title=°Ë»ö °á°ú
search_date=³¯Â¥
search_time=½Ã°£
search_user=»ç¿ëÀÚ
search_host=Å¬¶óÀÌ¾ðÆ® ÁÖ¼Ò
search_module=¸ðµâ
search_action=µ¿ÀÛ
search_none=°Ë»ö Á¶°Ç¿¡ ¸Â´Â µ¿ÀÛÀÌ ¾ø½À´Ï´Ù.
search_return=°Ë»ö °á°ú
search_sid=¼¼¼Ç $2¿¡¼­ »ç¿ëÀÚ $1¿¡ ÀÇÇÑ µ¿ÀÛ
search_critall=·Î±×µÈ ¸ðµç µ¿ÀÛ
search_crit=·Î±×µÈ µ¿ÀÛ
search_critu=»ç¿ëÀÚ $1¿¡ ÀÇÇÑ
search_critm=¸ðµâ $1¿¡¼­
search_critt=$1 ¹× $2 »çÀÌ
search_critt2=$1¿¡¼­
search_config=¸ðµâ ±¸¼º º¯°æµÊ

view_title=µ¿ÀÛ Á¤º¸
view_header=·Î±ëµÈ µ¿ÀÛ $1ÀÇ Á¤º¸
view_action=¼³¸í
view_module=Webmin ¸ðµâ
view_script=½ºÅ©¸³Æ®·Î »ý¼ºµÊ
view_user=Webmin »ç¿ëÀÚ
view_ip=Å¬¶óÀÌ¾ðÆ® IP ¶Ç´Â È£½ºÆ® ÀÌ¸§
view_sid=¼¼¼Ç ID
view_time=³¯Â¥ ¹× ½Ã°£
view_nofiles=ÀÌ µ¿ÀÛ¿¡ ´ëÇØ ·Î±×µÈ ±¸¼º ÆÄÀÏ º¯°æ ³»¿ëÀÌ ¾ø½À´Ï´Ù
view_type_create=ÆÄÀÏ $1 ÀÛ¼ºµÊ
view_type_modify=ÆÄÀÏ $1 º¯°æµÊ
view_type_delete=ÆÄÀÏ $1 »èÁ¦µÊ
view_type_exec=¸í·É ½ÇÇàµÊ
view_type_sql=µ¥ÀÌÅÍº£ÀÌ½º $1¿¡¼­ SQL ¹® ½ÇÇàµÊ
view_type_kill=PID $2¿¡ ½ÅÈ£ $1 Àü¼ÛµÊ
view_type_symlink=½Éº¼¸¯ ¸µÅ© $1 -&gt; $2 ÀÛ¼ºµÊ
view_type_unsymlink=½Éº¼¸¯ ¸µÅ© $1 -&gt; $2 »èÁ¦µÊ
view_type_resymlink=½Éº¼¸¯ ¸µÅ© $1 -&gt; $2 ¼öÁ¤µÊ
view_type_mkdir=µð·ºÅä¸® $1 ÀÛ¼ºµÊ
view_type_rmdir=µð·ºÅä¸® $1 Á¦°ÅµÊ
view_type_rename=ÀÌ¸§ÀÌ $1¿¡¼­ $1(À¸)·Î ¹Ù²ñ

  0707010000bbd5000081a40000000000000002000000013d1fe2dd000006b1000000200000000000000000000000000000001800000003reloc/webminlog/lang/nl   index_title=Webmin Actie Log
index_header=Doorzoek het Webmin log voor acties..
index_uall=Door iedereen
index_user=Alleen door gebruiker:
index_nuser=Door iedereen behalve:
index_mall=In elk module
index_module=In module
index_tall=Op elk moment
index_today=Alleen vandaag
index_time=Tussen $1 en $2
index_search=Zoeken
index_return=zoek formulier

search_title=Zoek Resultaten
search_date=Datum
search_time=Tijd
search_user=Gebruiker
search_host=Cliënt Adres
search_module=Module
search_action=Actie
search_none=Er waren geen acties die passen bij uw zoekcriteria.
search_return=zoek resultaten
search_sid=Acties door gebruikers $1 in sessie $2
search_critall=alle gelogde acties
search_crit=Gelogde acties
search_critu=door gebruiker $1
search_critm=uit module $1
search_critt=tussen $1 en $2
search_critt2=op $1
search_config=Module configuratie gewijzigd

view_title=Actie Details
view_header=Details van gelogde actie $1
view_action=Omschrijving
view_module=Webmin module
view_script=Gegenereerd door script
view_user=Webmin gebruiker
view_ip=Cliënt IP of hostnaam
view_sid=Sessie ID
view_time=Datum en tijd
view_nofiles=Geen configuratie bestand wijzigingen werden gelogd voor deze actie
view_type_create=Aangemaakt bestand $1
view_type_modify=Gewijzigd bestand $1
view_type_delete=Verwijderd bestand $1
view_type_exec=Uitgevoerd commando
view_type_sql=SQL expressie uitgevoerd in database $1
view_type_kill=signaal $1 naar PID $2 gestuurd
view_type_symlink=Aangemaakt symlink $1 -&gt; $2
view_type_unsymlink=Verwijderd symlink $1 -&gt; $2
view_type_resymlink=Aangepast symlink $1 -&gt; $2
view_type_mkdir=Aangemaakt directory $1
view_type_rmdir=Verwijderd directory $1
view_type_rename=Hernoemd $1 to $2

   0707010000bbd6000081a40000000000000002000000013d1fe2dd00000945000000200000000000000000000000000000001800000003reloc/webminlog/lang/pl   index_title=Log pracy Webmina
index_header=Szukaj w&nbsp;logu Webmina dzia³alno¶ci ..
index_uall=Dowolnego u¿ytkownika
index_user=U¿ytkownika
index_nuser=Dowolnego u¿ytkownika oprócz
index_mall=W&nbsp;dowolnym module
index_module=W&nbsp;module
index_tall=W&nbsp;dowolnym czasie
index_today=Dzisiaj
index_time=Pomiêdzy $1 a&nbsp;$2
index_search=Szukaj
index_return=formularza szukania
index_nolog=<b>Uwaga</b> - <a href='$1'>Logowanie w&nbsp;Webminie</a> nie jest aktualnie w³±czone, wiêc prawdopodobnie przeszukiwanie logu pracy nie da ¿adnych wyników.
index_nologfiles=<b>Uwaga</b> - <a href='$1'>Logowanie zmian w&nbsp;plikach</a> nie jest aktualnie w³±czone, wiêc informacje o&nbsp;zarejestrowanych operacjach nie bêd± zawieraæ zmian w&nbsp;plikach ani uruchomionych poleceñ.

search_title=Wyniki poszukiwania
search_date=Data
search_time=Czas
search_user=U¿ytkownik
search_host=Adres stacji klienckiej
search_module=Modu³
search_action=Operacja
search_none=¯adne dzia³ania nie spe³niaj± zadanych warunków.
search_return=wyników poszukiwania
search_sid=Dzia³alno¶æ u¿ytkownika $1 podczas sesji $2
search_critall=Wszystkie zarejestrowane operacje
search_crit=Zarejestrowane operacje
search_critu=u¿ytkownika $1
search_critnu=dowolnwgo u¿ytkownika oprócz $1
search_critm=w&nbsp;module $1
search_critt=pomiêdzy $1 a&nbsp;$2
search_critt2=w&nbsp;dniu $1
search_config=Zmieniono konfiguracjê modu³u
search_etime=Niepoprawny czas pocz±tkowy lub koñcowy
search_err=Nie znaleziono

view_title=Dane operacji
view_header=Szczegó³y zarejestrowanej operacji $1
view_action=Opis
view_module=Modu³ Webmina
view_script=U¿yty skrypt
view_user=U¿ytkownik Webmina
view_ip=Nazwa hosta lub IP stacji klienckiej
view_sid=ID sesji
view_time=Data i&nbsp;czas
view_nofiles=Nie zarejestrowano zmian plików konfiguracyjnych podczas tej operacji
view_type_create=Utworzono plik $1
view_type_modify=Zmieniono plik $1
view_type_delete=Skasowano plik $1
view_type_exec=Wykonano polecenie
view_type_sql=Wykonano polecenie SQL w&nbsp;bazie danych $1
view_type_kill=Wys³ano sygna³ $1 do PID $2
view_type_symlink=Utworzono dowi±zanie symboliczne $1 -&gt; $2
view_type_unsymlink=Skasowano dowi±zanie symboliczne $1 -&gt; $2
view_type_resymlink=Zmieniono dowi±zanie symboliczne $1 -&gt; $2
view_type_mkdir=Utworzono katalog $1
view_type_rmdir=Skasowano katalog $1
view_type_rename=Zmieniono nazwê $1 na $2
   0707010000bbd7000081a40000000000000002000000013d1fe2dd000007f3000000200000000000000000000000000000001800000003reloc/webminlog/lang/sv   index_title=Loggning av Webmin-aktivitet
index_header=Sök i Webmin-loggen efter aktivitet ...
index_uall=från alla användare
index_user=från användare
index_mall=i alla moduler
index_module=i modul
index_tall=när som helst
index_today=endast idag
index_time=mellan $1 och $2
index_search=Sök
index_return=sökformulär
index_nolog=<b>Obs</b> - <a href='$1'>Loggning i Webmin</a> är för tillfället inte aktiverat, så sökningar i loggen kommer inte att ge några resultat.
index_nologfiles=<b>Obs</b> - <a href='$1'>Loggning av filändringar</a> är för tillfället inte aktiverat, så ändrade filer och utförda kommandon kommer inte att komma med bland de loggade händelserna.

search_title=Sökresultat
search_date=Datum
search_time=Tid
search_user=Användare
search_host=Klientadress
search_module=Modul
search_action=Aktivitet
search_none=Ingen aktivitet matchade din sökning.
search_return=sökresultat
search_sid=Aktivitet av användare $1 i session $2
search_critall=All loggad aktivitet
search_crit=Loggad aktivitet
search_critu=från användare $1
search_critm=i modul $1
search_critt=mellan $1 och $2
search_critt2=på $1
search_config=Ändrade modulinställningarna

view_title=Uppgifter om aktivitet
view_header=Uppgifter om loggad aktivitet $1
view_action=Beskrivning
view_module=Webmin-modul
view_script=Genererad av script
view_user=Webmin-användare
view_ip=Klient-IP eller datornamn
view_sid=Sessions-ID
view_time=Datum och tid
view_nofiles=Inga ändringar i config-filen loggades för denna aktivitet
view_type_create=Skapade filen $1
view_type_modify=Ändrade filen $1
view_type_delete=Tog bort filen $1
view_type_exec=Utförde kommando
view_type_sql=Utförde SQL-kommando i databasen $1
view_type_kill=Skickade signal $1 till PID $2
view_type_symlink=Skapade den symboliska länken $1 -&gt; $2
view_type_unsymlink=Tog bort den symboliska länken $1 -&gt; $2
view_type_resymlink=Modifierade den symboliska länke $1 -&gt; $2
view_type_mkdir=Skapade katalogen $1
view_type_rmdir=Tog bort katalogen $1
view_type_rename=Bytte namn på $1 till $2

 0707010000bbd8000081a40000000000000002000000013d1fe2dd00000695000000200000000000000000000000000000001800000003reloc/webminlog/lang/tr   index_title=Webmin Kayýtlarý
index_header=Webmin kayýtlarýný iþlemler için ara ..
index_uall=Her kullanýcý için
index_user=Kullanýcý için 
index_mall=Her modül için
index_module=Modül için
index_tall=Herzaman
index_today=Sadece bugün
index_time=$1 ve $2 Arasýnda
index_search=Ara
index_return=arama formu

search_title=Arama Sonuçlarý
search_date=Zaman 
search_time=Saat
search_user=Kullanýcý
search_host=Ýstemci Adresi
search_module=Modül
search_action=Ýþlem
search_none=Arama bir sonuç bulunamadý.
search_return=sonuçlarý ara
search_sid=Oturum $2'de $1 kullanýcýsýnýn iþlemleri
search_critall=Bütün kayýt iþlemleri
search_crit=Kayýt tutulan iþlemler
search_critu=kullanýcý $1 ile
search_critm=modül $1'den
search_critt=$1 ve $2 arasýnda
search_critt2=$1'de
search_config=Modül yapýlandýrmasý deðiþtirildi

view_title=Ýþlem Ayrýntýlarý
view_header=Ýþlem $1'in kayýt detaylarý
view_action=Açýklama
view_module=Webmin modülü
view_script=Betik ile oluþturuldu
view_user=Webmin kullanýcýsý
view_ip=Ýstemci IP'si ya da makinesi
view_sid=Oturum ID
view_time=Tarih ve Saat
view_nofiles=Bu iþlem için kayýt yapýlandýrma dosyasý deðiþikliði yok
view_type_create=$1 dosyasý oluþturuldu
view_type_modify=$1 dosyasý deðiþtirildi
view_type_delete=$1 dosyasý silindi
view_type_exec=Komut çalýþtýrýldu
view_type_sql=Veritabaný $1'de SQL listesi çalýþtýrýldý
view_type_kill=PID $2'ye $1 sinyali gönderildi
view_type_symlink=Sembolik link oluþturuldu $1 -&gt; $2
view_type_unsymlink=Sembolik link silindi $1 -&gt; $2
view_type_resymlink=Sembolik link deðiþtirildi $1 -&gt; $2
view_type_mkdir=$1 dizini oluþturuldu
view_type_rmdir=$1 dizini silindi
view_type_rename=$1, $2 olarak yeniden adlandýrýldý

   0707010000bbd9000081a40000000000000002000000013d1fe2dd0000052d000000200000000000000000000000000000001b00000003reloc/webminlog/lang/zh_CN    index_title=Webmin ÐÐ¶¯ÈÕÖ¾
index_header=ËÑË÷ Webmin ÈÕÖ¾²éÕÒÐÐ¶¯
index_uall=ÓÉÈÎÒ»ÓÃ»§
index_user=ÓÉÓÃ»§
index_mall=ÓÉÈÎºÎÄ£Ê½
index_module=ÒÔÄ£Ê½
index_tall=ËæÊ±
index_today=½ö½ñÈÕ
index_time=ÔÚ $1 ºÍ $2 Ö®¼ä
index_search=ËÑË÷
index_return=ËÑË÷·½Ê½
search_title=ËÑË÷½á¹û
search_date=ÈÕÆÚ
search_time=Ê±¼ä
search_user=ÓÃ»§
search_host=¿Í»§µØÖ·
search_module=Ä£Ê½
search_action=ÐÐ¶¯
search_none=Ã»ÓÐÆ¥ÅäÄúµÄËÑË÷µÄÐÐ¶¯¡£
search_return=ËÑË÷½á¹û
search_sid=ÔÚ»á»° $2 ÖÐÓÃ»§ $1 µÄÐÐ¶¯
search_critall=ËùÓÐ±»¼ÇÂ¼µÄÐÐ¶¯
search_crit=±»¼ÇÂ¼µÄÐÐ¶¯
search_critu=ÓÉÓÃ»§ $1
search_critm=À´×ÔÄ£¿é $1
search_critt=ÔÚ $1 ºÍ $2 Ö®¼ä
search_critt2=ÔÚ $1 ÉÏ
search_config=¸Ä±äÄ£¿éÅäÖÃ
view_title=ÐÐ¶¯ÏêÊö
view_header=±»¼ÇÂ¼µÄÐÐ¶¯ $1 ÏêÊö
view_action=ÃèÊö
view_module=Webmin Ä£¿é
view_script=ÓÉ½Å±¾²úÉú
view_user=Webmin ÓÃ»§
view_ip=¿Í»§ IP »òÖ÷»úÃû
view_sid=»á»° ID 
view_time=ÈÕÆÚºÍÊ±¼ä
view_nofiles=¶Ô´ËÐÐ¶¯Ã»ÓÐ¼ÇÂ¼ÅäÖÃÎÄ¼þµÄ¸Ä¶¯
view_type_create=´´½¨ÎÄ¼þ $1
view_type_modify=¸Ä±äÎÄ¼þ $1
view_type_delete=É¾³ýÎÄ¼þ $1
view_type_exec=Ö´ÐÐÃüÁî
view_type_sql=ÔÚÊý¾Ý¿â $1 ÖÐÖ´ÐÐ SQL Óï¾ä
view_type_kill=·¢ËÍÐÅºÅ $1 µ½ PID $2
view_type_symlink=´´½¨·ûºÅÁ¬½Ó $1 -&gt; $2
view_type_unsymlink=É¾³ý·ûºÅÁ¬½Ó $1 -&gt; $2
view_type_resymlink=¸üÐÂ·ûºÅÁ¬½Ó $1 -&gt; $2
view_type_mkdir=´´½¨Ä¿Â¼ $1
view_type_rmdir=É¾³ýÄ¿Â¼ $1
view_type_rename=½« $1 ¸ÄÃûÎª $2
   0707010000bbda000081a40000000000000002000000013d1fe2dd00000697000000200000000000000000000000000000002000000003reloc/webminlog/lang/zh_TW.Big5   index_title=Webmin °Ê§@¬ö¿ý
index_header=·j´MWebmin°Ê§@¬ö¿ý
index_uall=¥Ñ¥ô¤@¨Ï¥ÎªÌ
index_user=¥Ñ¨Ï¥ÎªÌ
index_nuser=¥Ñ¥ô¦ó¨Ï¥ÎªÌ°£¤F
index_mall=¥Ñ¥ô¦ó¼Ò²Õ
index_module=¥H¼Ò²Õ
index_tall=¥ô¦ó®É¶¡
index_today=¶È¤µ¤é
index_time=¦b $1 ©M $2 ¤§¶¡
index_search=·j´M
index_return=·j´M¤è¦¡
index_nolog=<b>ª`·N</b> - <a href='$1'>¬ö¿ýWebmin</a> ¥Ø«e¨S¦³±Ò¥Î¡A©Ò¥H¦b·j´M°Ê§@¬ö¿ýÀÉ®×¤¤±N¤£·|¦³¥ô¦óµ²ªG
index_nologfiles=<b>ª`·N</b> - <a href='$1'>¬ö¿ýÀÉ®×ÅÜ§ó</a>¥Ø«e¨S¦³±Ò¥Î¡A©Ò¥H¸Ô²Ó¬ö¿ý°Ê§@±N¤£·|¥]§tÀÉ®×ÅÜ§ó©M°õ¦æ©R¥O

search_title=·j´Mµ²ªG
search_date=¤é´Á
search_time=®É¶¡
search_user=¨Ï¥ÎªÌ
search_host=¨Ï¥ÎªÌ¦a§}
search_module=¼Ò²Õ
search_action=°Ê§@
search_none=¨S¦³²Å¦X±zªº·j´Mªº°Ê§@¡C
search_return=·j´Mµ²ªG
search_sid=¦b·|¸Ü $2 ¤¤¨Ï¥ÎªÌ $1 ªº°Ê§@
search_critall=©Ò¦³³Q°O¿ýªº°Ê§@
search_crit=³Q°O¿ýªº°Ê§@
search_critu=¥Ñ¨Ï¥ÎªÌ $1
search_critnu=¥Ñ©Ò¦³¤H°£¤F $1
search_critm=¨Ó¦Û¼Ò²Õ $1
search_critt=¦b $1 ©M $2 ¤§¶¡
search_critt2=¦b $1 ¤W
search_config=§ïÅÜ¼Ò²Õ°t¸m
search_etime=¿ù»~ªº¶}©l©Îµ²§ô®É¶¡
search_err=·j´M¿ù»~

view_title=°Ê§@¤º®e
view_header=³Q°O¿ýªº°Ê§@ $1 ¤º®e
view_action=´y­z
view_module=Webmin ¼Ò²Õ
view_script=¥Ñ¸}¥»²£¥Í
view_user=Webmin ¨Ï¥ÎªÌ
view_ip=¨Ï¥ÎªÌ IP ©Î¥D¾÷¦WºÙ
view_sid=Session ID
view_time=¤é´Á©M®É¶¡
view_nofiles=¹ï¦¹°Ê§@¨S¦³°O¿ý°t¸mÀÉ®×ªº§ó°Ê
view_type_create=·s¼WÀÉ®× $1
view_type_modify=§ïÅÜÀÉ®× $1
view_type_delete=§R°£ÀÉ®× $1
view_type_exec=°õ¦æ©R¥O
view_type_sql=¦b¸ê®Æ®w $1 ¤¤°õ¦æ SQL »yªk
view_type_kill=µo°e«H¸¹ $1 ¨ì PID $2
view_type_symlink=·s¼W²Å¸¹³s±µ $1 -&gt; $2
view_type_unsymlink=§R°£²Å¸¹³s±µ $1 -&gt; $2
view_type_resymlink=§ó·s²Å¸¹³s±µ $1 -&gt; $2
view_type_mkdir=·s¼W¥Ø¿ý $1
view_type_rmdir=§R°£¥Ø¿ý $1
view_type_rename=±N $1 §ï¦W¬° $2

 07070100008e80000081a40000000000000002000000013d1fe2ea000001e7000000200000000000000000000000000000001c00000003reloc/webminlog/module.info   desc_nl=Webmin Actie Log
risk=low medium high
desc_ko_KR.euc=Webmin µ¿ÀÛ ·Î±×
desc_zh_TW.Big5=Webmin°Ê§@¬ö¿ý
desc_pl=Log pracy Webmina
desc_de=Webmin Ereignisanzeige
name=WebminLog
desc_zh_CN=Webmin »î¶¯ÈÕÖ¾
category=webmin
desc_tr=Webmin Kayýtlarý
desc=Webmin Actions Log
desc_es=Historiales de Acción de Webmin
desc_sv=Webmin-loggning
desc_fr=Contrôle des logs
desc_ja_JP.euc=Webmin ¥¢¥¯¥·¥ç¥ó ¥í¥°
depends=0.990
version=0.990
desc_hu=Webmin napló
desc_ca=Registre d'Accions de Webmin
 07070100008e81000081e40000000000000002000000013d1fe2dd00000f5f000000200000000000000000000000000000001b00000003reloc/webminlog/search.cgi    #!/usr/local/bin/perl
# search.cgi
# Find webmin actions

require './webminlog-lib.pl';
require 'timelocal.pl';
&ReadParse();
&error_setup($text{'search_err'});

if ($in{'tall'} == 2) {
	@now = localtime(time());
	$from = timelocal(0, 0, 0, $now[3], $now[4], $now[5]);
	$to = timelocal(59, 59, 23, $now[3], $now[4], $now[5]);
	$in{'tall'} = 0;
	}
elsif ($in{'tall'} == 0) {
	$from = &parse_time('from');
	$to = &parse_time('to');
	$to = $to ? $to + 24*60*60 - 1 : time();
	}

&header($text{'search_title'}, "");
print "<hr>\n";
open(LOG, $webmin_logfile);
while(<LOG>) {
	if (($act = &parse_logline($_)) &&
	    ($in{'uall'} == 1 ||
	     $in{'uall'} == 0 && $in{'user'} eq $act->{'user'} ||
	     $in{'uall'} == 2 && $in{'nuser'} ne $act->{'user'}) &&
	    ($in{'mall'} || $in{'module'} eq $act->{'module'}) &&
	    (!$in{'sid'} || $in{'sid'} eq $act->{'sid'}) &&
	    ($in{'tall'} || $from < $act->{'time'} && $to > $act->{'time'})) {
		push(@match, $act);
		}
	}
close(LOG);

if (@match) {
	if ($in{'sid'}) {
		print "<b>",&text('search_sid', "<tt>$match[0]->{'user'}</tt>",
				  "<tt>$in{'sid'}</tt>")," ..</b><p>\n";
		}
	elsif ($in{'uall'} == 1 && $in{'mall'} && $in{'tall'}) {
		print "<b>$text{'search_critall'} ..</b><p>\n";
		}
	else {
		@from = localtime($from); @to = localtime($to);
		$fromstr = sprintf "%2.2d/%s/%4.4d",
			$from[3], $text{"smonth_".($from[4]+1)}, $from[5]+1900;
		$tostr = sprintf "%2.2d/%s/%4.4d",
			$to[3], $text{"smonth_".($to[4]+1)}, $to[5]+1900;
		%minfo = &get_module_info($in{'module'}) if (!$in{'mall'});
		printf "<b>%s %s %s %s ..</b><p>\n",
			$text{'search_crit'},
			$in{'uall'} == 0 ? &text('search_critu',
						 "<tt>$in{'user'}</tt>") :
			$in{'uall'} == 2 ? &text('search_critnu',
						 "<tt>$in{'nuser'}</tt>") : "",
			$in{'mall'} ? '' : &text('search_critm',
						 "<tt>$minfo{'desc'}</tt>"),
			$in{'tall'} ? '' : 
			  $fromstr eq $tostr ?  &text('search_critt2', $tostr) :
			    &text('search_critt', $fromstr, $tostr);
		}
	print "<table border width=100%>\n";
	print "<tr $tb> <td><b>$text{'search_action'}</b></td>\n",
	      "<td><b>$text{'search_module'}</b></td>\n",
	      "<td><b>$text{'search_user'}</b></td>\n",
	      "<td><b>$text{'search_host'}</b></td>\n",
	      "<td><b>$text{'search_date'}</b></td>\n",
	      "<td><b>$text{'search_time'}</b></td> </tr>\n";
	foreach $act (reverse(@match)) {
		local @tm = localtime($act->{'time'});
		local $m = $act->{'module'};
		local $d;
		$minfo = $minfo_cache{$m};
		if (!$minfo) {
			# first time seeing module ..
			local %minfo = &get_module_info($m);
			$minfo = $minfo_cache{$m} = \%minfo;
			if (-r "../$m/log_parser.pl") {
				&foreign_require($m, "log_parser.pl");
				$parser{$m}++;
				}
			}

		print "<tr $cb>\n";
		print "<td><a href='view.cgi?id=$act->{'id'}'>";
		$d = &foreign_call($m, "parse_webmin_log",
				  $act->{'user'}, $act->{'script'},
				  $act->{'action'}, $act->{'type'},
				  $act->{'object'}, $act->{'param'})
					if ($parser{$m});
		if ($d) {
			print $d;
			}
		elsif ($act->{'action'} eq '_config_') {
			print $text{'search_config'};
			}
		else {
			printf "%s %s %s\n",
				$act->{'action'},
				$act->{'type'} ? $act->{'type'} : '',
				$act->{'object'} ? $act->{'object'} : '';
			}
		print "</a></td>\n";
		print "<td>$minfo->{'desc'}</td>\n";
		print "<td>$act->{'user'}</td>\n";
		print "<td>$act->{'ip'}</td>\n";
		printf "<td>%2.2d/%s/%4.4d</td>\n",
			$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900;
		printf "<td>%2.2d:%2.2d:%2.2d</td>\n",
			$tm[2], $tm[1], $tm[0];
		print "</tr>\n";
		}
	print "</table><p>\n";
	}
else {
	print "<p><b>$text{'search_none'}</b><p>\n";
	}
print "<hr>\n";
&footer("", $text{'index_return'});

sub parse_time
{
local $d = $in{"$_[0]_d"};
local $m = $in{"$_[0]_m"};
local $y = $in{"$_[0]_y"};
return 0 if (!$d && !$y);
local $rv;
eval { $rv = timelocal(0, 0, 0, $d, $m, $y-1900) };
&error($text{'search_etime'}) if ($@);
return $rv;
}
 07070100008e82000081e40000000000000002000000013d1fe2dd00000c22000000200000000000000000000000000000001900000003reloc/webminlog/view.cgi  #!/usr/local/bin/perl
# view.cgi
# Show details of the action, including changed files

require './webminlog-lib.pl';
&ReadParse();
&header($text{'view_title'}, "");
print "<hr>\n";

# find the log record to view
open(LOG, $webmin_logfile);
while(<LOG>) {
	if (($act = &parse_logline($_)) && $act->{'id'} eq $in{'id'}) {
		last;
		}
	}
close(LOG);
if (-r "../$act->{'module'}/log_parser.pl") {
	&foreign_require($act->{'module'}, "log_parser.pl");
	$parser++;
	}

# display info about the action
print "<table border width=100%>\n";
print "<tr $tb> <td><b>",&text('view_header', $act->{'id'}),"</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$d = &foreign_call($act->{'module'}, "parse_webmin_log",
		   $act->{'user'}, $act->{'script'},
		   $act->{'action'}, $act->{'type'},
		   $act->{'object'}, $act->{'param'}, 1) if ($parser);
print "<tr> <td valign=top><b>$text{'view_action'}</b></td>\n";
if ($d) {
	print "<td colspan=3>$d</td> </tr>\n";
	}
elsif ($act->{'action'} eq '_config_') {
	print "<td colspan=3>$text{'search_config'}</td> </tr>";
	}
else {
	printf "<td colspan=3>%s %s %s</td> </tr>\n",
		$act->{'action'}, $act->{'type'} ? $act->{'type'} : '',
		$act->{'object'};
	}

print "<tr> <td><b>$text{'view_module'}</b></td>\n";
%minfo = &get_module_info($act->{'module'});
print "<td>$minfo{'desc'}</td>\n";
print "<td><b>$text{'view_script'}</b></td>\n";
print "<td><tt>$act->{'module'}/$act->{'script'}</tt></td> </tr>\n";

print "<tr> <td><b>$text{'view_user'}</b></td>\n";
print "<td>$act->{'user'}</td>\n";
print "<td><b>$text{'view_ip'}</b></td>\n";
print "<td>$act->{'ip'}</td> </tr>\n";

print "<tr>\n";
if ($act->{'sid'} ne '-') {
	print "<td><b>$text{'view_sid'}</b></td>\n";
	print "<td><a href='search.cgi?sid=$act->{'sid'}&uall=1&mall=1&tall=1'>$act->{'sid'}</a></td>\n";
	}
@tm = localtime($act->{'time'});
print "<td><b>$text{'view_time'}</b></td>\n";
printf "<td>%2.2d/%s/%4.4d %2.2d:%2.2d:%2.2d</td> </tr>\n",
	$tm[3], $text{"smonth_".($tm[4]+1)}, $tm[5]+1900,
	$tm[2], $tm[1], $tm[0];

print "</table></td></tr></table><p>\n";

# display modified files
$i = 0;
while(open(DIFF, "$ENV{'WEBMIN_VAR'}/diffs/$act->{'id'}.$i")) {
	local ($type, $object, $diff);
	local $line = <DIFF>;
	while(<DIFF>) { $diff .= $_; }
	close(DIFF);
	if ($line =~ /^(\/.*)/) {
		$type = 'modify'; $object = $1;
		}
	elsif ($line =~ /^(\S+)\s+(.*)/) {
		$type = $1; $object = $2;
		}
	local $t = $text{"view_type_$type"};
	if ($t =~ /\$2/ || !$diff) {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>",
		      &text("view_type_$type", "<tt>$object</tt>",
			    "<tt>".&html_escape($diff)."</tt>"),"</b></td> </tr>\n";
		print "</table><p>\n";
		}
	else {
		print "<table border width=100%>\n";
		print "<tr $tb> <td><b>",&text("view_type_$type",
		      "<tt>$object</tt>"),"</b></td> </tr>\n";
		print "<tr $cb> <td><pre>";
		print &html_escape($diff);
		print "</pre></td> </tr></table><p>\n";
		}
	$i++;
	}

print "<b>$text{'view_nofiles'}</b><p>\n" if (!$i);

print "<hr>\n";
&footer($ENV{'HTTP_REFERER'}, $text{'search_return'},
	"", $text{'index_return'});


  07070100008e83000081a40000000000000002000000013d1fe2dd0000034e000000200000000000000000000000000000002100000003reloc/webminlog/webminlog-lib.pl  # webminlog-lib.pl

do '../web-lib.pl';
&init_config();

sub parse_logline
{
if ($_[0] =~ /^(\d+)\.(\S+)\s+\[.*\]\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+"([^"]+)"\s+"([^"]+)"\s+"([^"]+)"(.*)/ ||
    $_[0] =~ /^(\d+)\.(\S+)\s+\[.*\]\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)(.*)/) {
	local $rv = { 'time' => $1, 'id' => "$1.$2",
		      'user' => $3, 'sid' => $4,
		      'ip' => $5, 'module' => $6,
		      'script' => $7, 'action' => $8,
		      'type' => $9, 'object' => $10 };
	local %param;
	local $p = $11;
	while($p =~ /^\s*([^=\s]+)='([^']*)'(.*)$/) {
		if (defined($param{$1})) {
			$param{$1} .= "\0".$2;
			}
		else {
			$param{$1} = $2;
			}
		$p = $3;
		}
	foreach $k (keys %param) {
		$param{$k} =~ s/%(..)/pack("c",hex($1))/ge;
		}
	$rv->{'param'} = \%param;
	return $rv;
	}
else {
	return undef;
	}
}

1;

  0707010000d1aa000041ed0000000000000001000000053d1ffbb200000000000000200000000000000000000000000000000d00000003reloc/wuftpd  0707010000d1ab000081a40000000000000002000000013d1fe2da000000bc000000200000000000000000000000000000001800000003reloc/wuftpd/config-aix   ftpd_path=/usr/local/bin/ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
0707010000d1ac000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000002000000003reloc/wuftpd/config-corel-linux   ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1ad000081a40000000000000002000000013d1fe2da000000e7000000200000000000000000000000000000002100000003reloc/wuftpd/config-debian-linux  ftpgroups=/etc/wu-ftpd/ftpgroups
ftpd_path=/usr/sbin/wu-ftpd
ftphosts=/etc/wu-ftpd/ftphosts
ftpconversions=/etc/wu-ftpd/ftpconversions
pid_file=/var/run/ftpd.pids-all
ftpusers=/etc/wu-ftpd/ftpusers
ftpaccess=/etc/wu-ftpd/ftpaccess
 0707010000d1ae000081a40000000000000002000000013d1fe2da000000c0000000200000000000000000000000000000001c00000003reloc/wuftpd/config-freebsd   ftpgroups=/etc/ftpgroups
ftpd_path=/usr/local/libexec/ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
0707010000d1af000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000002200000003reloc/wuftpd/config-generic-linux ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
  0707010000d1b0000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001900000003reloc/wuftpd/config-hpux  ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
  0707010000d1b1000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001e00000003reloc/wuftpd/config-lfs-linux ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
pid_file=/var/run/ftpd.pid
  0707010000d1b2000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001a00000003reloc/wuftpd/config-macos ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
  0707010000d1b3000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000002300000003reloc/wuftpd/config-mandrake-linux    ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b4000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000001e00000003reloc/wuftpd/config-msc-linux ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b5000081a40000000000000002000000013d1fe2db000000be000000200000000000000000000000000000001b00000003reloc/wuftpd/config-netbsd    ftpgroups=/etc/ftpgroups
ftpd_path=/usr/pkg/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b6000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001f00000003reloc/wuftpd/config-open-linux    ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b7000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001c00000003reloc/wuftpd/config-openbsd   ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b8000081a40000000000000002000000013d1fe2db000000ae000000200000000000000000000000000000001f00000003reloc/wuftpd/config-openserver    ftpgroups=/etc/ftpgroups
ftpd_path=/etc/ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/etc/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1b9000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000001900000003reloc/wuftpd/config-osf1  ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
  0707010000d1ba000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000002100000003reloc/wuftpd/config-redhat-linux  ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1bb000081a40000000000000002000000013d1fe2db000000ba000000200000000000000000000000000000002400000003reloc/wuftpd/config-slackware-linux   ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/wu.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1bc000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001c00000003reloc/wuftpd/config-solaris   ftpd_path=/usr/sbin/in.ftpd
ftpgroups=/etc/ftpgroups
ftpconversions=/etc/ftpconversions
ftphosts=/etc/ftphosts
pid_file=/var/run/ftpd.pid
ftpaccess=/etc/ftpaccess
ftpusers=/etc/ftpusers
  0707010001164f000041ed0000000000000001000000023d1ffbb000000000000000200000000000000000000000000000001200000003reloc/wuftpd/help 07070100011650000081a40000000000000002000000013d1fe2db000006f0000000200000000000000000000000000000001e00000003reloc/wuftpd/help/acl.ca.html <header>Límits i Control d'Accés</header>

Aquesta pàgina conté diverses taules per establir les opcions de límits
i control d'accés. La primera taula permet especificar els adreces IP
client que tenen l'accés denegat al servidor FTP, i un missatge d'error
per mostrar al client denegat. Les adreces es poden donar com adreces IP
completes o parcials, xarxes/màscares IP, noms de host o escarrassos 
(com <tt>*.foo.com</tt>), o bé els camins absoluts als fitxers que
contenen adreces addicionals. Totes les adreces es poden precedir amb
un ! per negar-les.
<p>

La segona taula permet limitar el nombre d'entrades concurrents pels clients
de cada classe. Per cada classe, pots introduir el nombre màxim d'entrades
simultànies, els dies i hores en què es força aquest màxim (a l'estil UUCP,
com <tt>MoTuTh0800-1700</tt>), i el missatge d'error que es mostra als
clients quan s'ateny el límit.
<p>

La tercera taula permet establir límits de transferència de fitxers i dades
per sessió. Per cada límit, has de triar si el vols aplicar als fitxers o
bytes transferits, la direcció de transferència a què s'aplica, si el
límit s'aplica només a les transferències de fitxers o a totes les dades,
i la classe d'usuaris per a la qual es posa el límit.
<p>

La quarta taula permet denegar l'accés a certs fitxers. Per cada fitxer,
cal que introdueixis un camí absolut, triar si el camí es relatiu
respecte el directori <tt>chroot</tt> (per usuaris anònims i convidats)
i seleccionar la classe d'usuaris per a la qual es posa el límit.
Si una denegació de fitxer acaba amb /, els servidor FTP denegarà l'accés
a tots els fitxers del directori.<br>
De forma similar, la cinquena taula permet concedir accés als fitxers
que altrament estarien denegats per la taula anterior.
<p>

<hr>


07070100011651000081a40000000000000002000000013d1fe2da000007da000000200000000000000000000000000000001e00000003reloc/wuftpd/help/acl.es.html <header>Límites y Control de Acceso</header>

Esta página contiene varias tablas para poner las opciones de Límites y
control de acceso. <p>

La primera tabla te permite especificar la dirección IP del cliente
al que hay que denegar el acceso al servidor FTP y un archivo de mensajes
de error a mostrar al cliente que no tiene acceso. Las direcciones
pueden ser suministradas como direcciones IP completas o parciales. Las
direcciones IP, las redes/máscaras de red IP, nombres de máquina, comodines
de máquinas (como <tt>*.fpp.com</tt> o trayectorias absolutas a archivos que
contienen direcciones adicionales. Cualquier tipo de dirección puede ir
precedido con un carácter ! para negarla. <p>

La segunda tabla te permite limitar el número de logins simultáneos de los
cliente de cada clase. Para cada clase puedes digitar el máximo número de
logins simultáneos, los días y horas en que se activa el máximo (en estilo
UUCP, como <tt>MoTuTh0800-1700</tt>), y un archivo de mensajes de error a
mostrar a los clientes cuando se alcance el límite. <p>

La tercera tabla te permite poner los límites de archivo por-sesión y de
transferencia de datos. Para cada límite, debes de escoger si se aplica
a los archivos o a los bytes transferidos, la dirección de transferencia
a la que se aplica el límite, si el límite se aplica sólo a las transferencias
de archivos o a todos los datos y las clases de usuarios para las que es
el límite.

La cuarta tabla te permite denegar el acceso a ciertos archivos. Para cada
archivo necesitas digitar una trayectoria absoluta, escoger si la
trayectoria es relativa al directorio <tt>chroot</tt> (para usuarios
invitados o anónimos) y seleccionar las clases de usuarios a los que se
aplica esta restricción. Si un archivo a denegar termina con un carácter /,
el servidor FTP denegará el acceso a todos los archivos de ese directorio.<p>

Similármente, la quinta tabla te permite garantizar el acceso a archivos
que serían normalmente denegados por la tabla de arriba. <p>

<hr>

  07070100011652000081a40000000000000002000000013d1fe2da0000074b000000200000000000000000000000000000001e00000003reloc/wuftpd/help/acl.fr.html <header>Limites et Contrôle d'Accès</header>

Cette page contient plusieurs tables pour définir les limites et les options de contrôle d'accès.  La première table vous permet de spécifier les adresses IP des clients à refuser l'accès au serveur FTP et afficher un message d'erreur à partir d'un fichier texte au client refusé.  Les adresses IP peuvent être donnée complète ou partielle, une adresse réseau/masque de sous-réseau, des noms d'hôtes, des noms d'hôtes incomplets (comme <tt>*.foo.com</tt>) ou des fichiers contenant des adresses additionnelles.  Tout les types d'adresses peuvent être précédé par un ! pour l'annuler.<p>

La seconde table vous permet de limiter le nombre de session ouverte par les clients d'une même classe.  Pour chaque classe vous pouvez entrer le nombre maximum de sessions ouverte, le jour et l'heure à laquel ce maximum est forcé (dans la syntaxe UUCP, comme <tt>MoTuTh0800-1700</tt>), et un fichier de message d'erreur à afficher aux clients quand cette limite est dépassé.<p>

La troisième table vous permet de définir la limite de fichier et de donnée par session.   Pour chaque limite, vous devez choisir s'il s'applie au fichier ou au nombre de bytes transféré, la direction du transfert qui s'applique à cette limite et la classe de la limite à qui elle s'applique.<p>

La quatrième table vous permet de de refuser l'accès à certain fichiers.  Pour chaque fichier vou savez besoin d'entrer le chemin absolu, choisir si le chemin est relatif au répertoire <tt>chroot</tt> (pour les usagers anonyme et "guest") et choisir la classe d'usager qui s'applique à cette restriction.  Noté que si un chemin se termine par un /, le serveur FTP refusera l'accès à tout les fichiers de ce répertoire.<br>
Tout comme, la cinquième table permet de donner un accès à certain fichier dont l'accès est refuser par la quatrième table.<p>

<hr>
 07070100011653000081a40000000000000002000000013d1fe2da00000691000000200000000000000000000000000000001b00000003reloc/wuftpd/help/acl.html    <header>Limits and Access Control</header>

This page contains several tables for setting limits and access control
options. The first table allows you to specify client IP address to be denied
access to the FTP server, an an error message file to display to the denied
client. Addresses may be given as full or partial
IP addresses, IP networks/netmasks, hostnames, host wildcards
(like <tt>*.foo.com</tt>) or the absolute paths to files containing additional
addresses. Any type of address can be preceded with a ! to negate it. <p>

The second table allows you to limit the number of concurrent logins by
clients of each class. For each class you can enter the maximum simultaneous
logins, the days and times at which the maximum is enforced (in UUCP style,
like <tt>MoTuTh0800-1700</tt>), and an error message file to display to
clients when the limit is reached. <p>

The third table allows you to set per-session file and data transfer limits.
For each limit, you must choose whether it applied to files or bytes
transferred, the transfer direction the limit applies to, whether the limit
applies to just file transfers or all data, and the class of users the
limit is for. <p>

The fourth table allows you to deny access to certain files. For each file
you need to enter an absolute path, choose whether the path is relative
to the <tt>chroot</tt> directory (for anonymous and guest users) and select
the user classes this restriction applies to. If a file to deny ends with
a /, the FTP server will deny access to all files in that directory. <br>
Similarly, the fifth table allows you to grant access to files that would
be otherwise denied by the table above. <p>

<hr>

   07070100011654000081a40000000000000002000000013d1fe2da00000779000000200000000000000000000000000000001e00000003reloc/wuftpd/help/acl.pl.html <header>Ograniczenia i&nbsp;kontrola dostêpu</header>

Strona zawiera tabale umo¿liwiaj±ce ustalenie limitów i&nbsp;kontroli
dostêpu do serwera FTP. 
<p>

Pierwsza tabela umo¿liwia wyspecyfikowanie adresów IP, które nie maj± prawa
dostêpu do serwera FTP, oraz zbioru zawieraj±cego komunikat b³êdu
wy¶wietlany klientowi w&nbsp;takiej sytuacji. Adresy mog± byæ podane
w&nbsp;postaci pe³nego lub czê¶ciowego adresu IP, kombibacji podsieæ
IP/maska, nazw komputerów (z&nbsp;rozwijanymi znakami * i&nbsp;?, jak na
przyk³ad<tt>*.foo.com</tt>), oraz absolutnych ¶cie¿ek do plików
zawieraj±cych adresy. W&nbsp;celu zanegowania ka¿dy adres mo¿e byæ poprzedzony
wykrzyknikiem !.
<p>

Druga tabela umo¿liwia ograniczenie liczby jednoczesnych u¿ytkowników
w&nbsp;ka¿dej z&nbsp;klas. Dla ka¿dej klasy mo¿na wporowadziæ maksymalna
liczbê wlogowanych u¿ytkowników, czas w&nbsp;którym ograniczenie jest
obowi±zuj±ce (w&nbsp;stylu UUCP: jak na przyk³ad <tt>MoTuTh0800-1700</tt>),
oraz zbiór z&nbsp;komunikatem b³êdu wy¶wietlanym klientowi gdy limit zostanie
osi±gniêty.
<p>

Trzecia tabela umo¿liwia wprowadzenie ograniczenia liczby plików oraz bajtów
przesy³anych podczas jednej sesji. Dla ka¿dego limitu nale¿y okre¶liæ czy
dotyczy liczby plików, czy bajtów, jakiego dotyczy kierunku, czy braæ pod
uwagê tylko pliki, czy wszystkie dane, oraz klasê u¿ytkowników, której
dany limit dotyczy.
<p>
 
Czwarta tabela pozwala na zakaz dostêpu do okre¶lonych zbiorów. Dla ka¿dego
zbioru nale¿y wprowadziæ absolutn± ¶cie¿kê, okre¶liæ czy jest ona podana
wzglêdem "chroot" (dla u¿ytkowników anonimowych i&nbsp;go¶ci) oraz klasy
u¿ytkowników, których dotyczy ograniczenie. Je¿eli zbiór koñczy siê znakiem
/, serwer FTP nie zezwoli na dostêp do ¿adnego pliku z&nbsp;kartoteki
o&nbsp;tej nazwie. Podobna pi±ta tabela umo¿liwia zezwoliæ na dostêp do
plików, który w&nbsp;przeciwnym wypadku by³by zakazany przez dotychczasowe
regu³y. 
<p>

<hr>
   07070100011655000081a40000000000000002000000013d1fe2db000006cf000000200000000000000000000000000000002100000003reloc/wuftpd/help/acl.ru_RU.html  <header>Îãðàíè÷åíèÿ è Êîíòðîëü Äîñòóïà</header>

Äàííàÿ ñòðàíèöà ñîäåðæèò íåêîòîðûå òàáëèöû äëÿ óñòàíîâêè ïàðàìåòðîâ îãðàíè÷åíèé è êîíòðîëÿ äîñòóïà.
Ïåðâàÿ òàáëèöà ïîçâîëÿåò Âàì óêàçàòü IP àäðåñ êëèåíòà äëÿ ïðåäîòâðàùåíèÿ äîñòóïà ê FTP ñåðâåðó, ôàéë ñ ñîîáùåíèåì îá îøèáêå äëÿ çàïðåùåííîãî êëèåíòà. 
Àäðåñ ìîæåò áûòü êàê ïîëíûì, òàê è ÷àñòè÷íûì àäðåñîì IP, IP àäðåñîì ñåòè/ñåòåâîé ìàñêîé, èìåíåì õîñòà, øàáëîíîì èìåíè õîñòà (òèïà <tt>*.foo.com</tt>) èëè àáñîëþòíûì ïóòåì ê ôàéëó ñîäåðæàùåìó äîïîëíèòåëüíûå àäðåñà.
Àäðåñ ëþáîãî òèïà ìîæåò ïðåäâàðÿòü ! äëÿ åãî îòðèöàíèÿ. <p> 

Âòîðàÿ òàáëèöà ïîçâîëÿåò Âàì îãðàíè÷èòü ÷èñëî îäíîâðåìåííûõ ðåãèñòðàöèé êëèåíòîâ êàæäîãî êëàññà.
Äëÿ êàæäîãî êëàññà Âû ìîæåòå ââåñòè ìàêñèìàëüíîå ÷èñëî îäíîâðåìåííûõ ðåãèñòðàöèé, äíè è âðåìÿ, êîãäà äîñòèãàåòñÿ ìàêñèìóì (â ñòèëå UUCP, íàïðèìåð <tt>MoTuTh0800-1700</tt>), è ôàéë ñ ñîîáùåíèåì îá îøèáêå äëÿ êëèåíòîâ ïðè äîñòèæåíèè ìàêñèìóìà. <p>

Òðåòüÿ òàáëèöà ïîçâîëÿåò Âàì óñòàíîâèòü ïî-ñåññèîííûå îãðàíè÷åíèÿ ïî ïåðåäà÷å ôàéëîâ è äàííûõ. Äëÿ êàæäîãî îãðàíè÷åíèÿ, Âû äîëæíû âûáðàòü, êîãäà îíî ïðèìåíÿåòñÿ ê ïåðåäàííûì ôàéëàì èëè êîë-âó áàéò, íàïðàâëåíèþ ïåðåäà÷è è êëàññàì ïîëüçîâàòåëåé äëÿ êîòîðûõ îíî ïðåäíàçíà÷åíî. <p>

×åòâåðòàÿ òàáëèöà ïîçâîëÿåò Âàì çàïðåòèòü äîñòóï ê íåêîòîðûì ôàéëàì.
Äëÿ êàæäîãî ôàéëà Âû äëîæíû ââåñòè àáñîëþòíûé ïóòü, âûáðàòü ÿâëÿåòñÿ ëè ïóòü îòíîñèòåëüíûì ê <tt>chroot</tt> êàòàëîãó (äëÿ ïîëüçîâàòåëåé anonymous è guest) è âûáðàòü êëàññû ïîëüçîâàòåëåé äëÿ êîòîðûõ ïðèìåíÿþòñÿ äàííûå îãðàíè÷åíèÿ. 
Åñëè çàïðåùåííûé ôàéë (åãî èìÿ) îêàí÷èâàåòñÿ íà /, òî FTP ñåðâåð çàïðåòèò äîñòóï êî âñåì ôàéëàì â äàííîì êàòàëîãå. <br>
Àíàëîãè÷íî ïÿòàÿ òàáëèöà ïîçâîëÿåò Âàì ðàçðåøèòü äîñòóï ê ôàéëàì, êîòîðûå èíà÷å áóäóò çàïðåùåíû â òàáëèöå âûøå. <p>

<hr>

 07070100011656000081a40000000000000002000000013d1fe2da000006cf000000200000000000000000000000000000002100000003reloc/wuftpd/help/acl.ru_SU.html  <header>ïÇÒÁÎÉÞÅÎÉÑ É ëÏÎÔÒÏÌØ äÏÓÔÕÐÁ</header>

äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÓÏÄÅÒÖÉÔ ÎÅËÏÔÏÒÙÅ ÔÁÂÌÉÃÙ ÄÌÑ ÕÓÔÁÎÏ×ËÉ ÐÁÒÁÍÅÔÒÏ× ÏÇÒÁÎÉÞÅÎÉÊ É ËÏÎÔÒÏÌÑ ÄÏÓÔÕÐÁ.
ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕËÁÚÁÔØ IP ÁÄÒÅÓ ËÌÉÅÎÔÁ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÄÏÓÔÕÐÁ Ë FTP ÓÅÒ×ÅÒÕ, ÆÁÊÌ Ó ÓÏÏÂÝÅÎÉÅÍ ÏÂ ÏÛÉÂËÅ ÄÌÑ ÚÁÐÒÅÝÅÎÎÏÇÏ ËÌÉÅÎÔÁ. 
áÄÒÅÓ ÍÏÖÅÔ ÂÙÔØ ËÁË ÐÏÌÎÙÍ, ÔÁË É ÞÁÓÔÉÞÎÙÍ ÁÄÒÅÓÏÍ IP, IP ÁÄÒÅÓÏÍ ÓÅÔÉ/ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ, ÉÍÅÎÅÍ ÈÏÓÔÁ, ÛÁÂÌÏÎÏÍ ÉÍÅÎÉ ÈÏÓÔÁ (ÔÉÐÁ <tt>*.foo.com</tt>) ÉÌÉ ÁÂÓÏÌÀÔÎÙÍ ÐÕÔÅÍ Ë ÆÁÊÌÕ ÓÏÄÅÒÖÁÝÅÍÕ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÁÄÒÅÓÁ.
áÄÒÅÓ ÌÀÂÏÇÏ ÔÉÐÁ ÍÏÖÅÔ ÐÒÅÄ×ÁÒÑÔØ ! ÄÌÑ ÅÇÏ ÏÔÒÉÃÁÎÉÑ. <p> 

÷ÔÏÒÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÏÇÒÁÎÉÞÉÔØ ÞÉÓÌÏ ÏÄÎÏ×ÒÅÍÅÎÎÙÈ ÒÅÇÉÓÔÒÁÃÉÊ ËÌÉÅÎÔÏ× ËÁÖÄÏÇÏ ËÌÁÓÓÁ.
äÌÑ ËÁÖÄÏÇÏ ËÌÁÓÓÁ ÷Ù ÍÏÖÅÔÅ ××ÅÓÔÉ ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÏÄÎÏ×ÒÅÍÅÎÎÙÈ ÒÅÇÉÓÔÒÁÃÉÊ, ÄÎÉ É ×ÒÅÍÑ, ËÏÇÄÁ ÄÏÓÔÉÇÁÅÔÓÑ ÍÁËÓÉÍÕÍ (× ÓÔÉÌÅ UUCP, ÎÁÐÒÉÍÅÒ <tt>MoTuTh0800-1700</tt>), É ÆÁÊÌ Ó ÓÏÏÂÝÅÎÉÅÍ ÏÂ ÏÛÉÂËÅ ÄÌÑ ËÌÉÅÎÔÏ× ÐÒÉ ÄÏÓÔÉÖÅÎÉÉ ÍÁËÓÉÍÕÍÁ. <p>

ôÒÅÔØÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕÓÔÁÎÏ×ÉÔØ ÐÏ-ÓÅÓÓÉÏÎÎÙÅ ÏÇÒÁÎÉÞÅÎÉÑ ÐÏ ÐÅÒÅÄÁÞÅ ÆÁÊÌÏ× É ÄÁÎÎÙÈ. äÌÑ ËÁÖÄÏÇÏ ÏÇÒÁÎÉÞÅÎÉÑ, ÷Ù ÄÏÌÖÎÙ ×ÙÂÒÁÔØ, ËÏÇÄÁ ÏÎÏ ÐÒÉÍÅÎÑÅÔÓÑ Ë ÐÅÒÅÄÁÎÎÙÍ ÆÁÊÌÁÍ ÉÌÉ ËÏÌ-×Õ ÂÁÊÔ, ÎÁÐÒÁ×ÌÅÎÉÀ ÐÅÒÅÄÁÞÉ É ËÌÁÓÓÁÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÄÌÑ ËÏÔÏÒÙÈ ÏÎÏ ÐÒÅÄÎÁÚÎÁÞÅÎÏ. <p>

þÅÔ×ÅÒÔÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÚÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ë ÎÅËÏÔÏÒÙÍ ÆÁÊÌÁÍ.
äÌÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ ÷Ù ÄÌÏÖÎÙ ××ÅÓÔÉ ÁÂÓÏÌÀÔÎÙÊ ÐÕÔØ, ×ÙÂÒÁÔØ Ñ×ÌÑÅÔÓÑ ÌÉ ÐÕÔØ ÏÔÎÏÓÉÔÅÌØÎÙÍ Ë <tt>chroot</tt> ËÁÔÁÌÏÇÕ (ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ anonymous É guest) É ×ÙÂÒÁÔØ ËÌÁÓÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÄÌÑ ËÏÔÏÒÙÈ ÐÒÉÍÅÎÑÀÔÓÑ ÄÁÎÎÙÅ ÏÇÒÁÎÉÞÅÎÉÑ. 
åÓÌÉ ÚÁÐÒÅÝÅÎÎÙÊ ÆÁÊÌ (ÅÇÏ ÉÍÑ) ÏËÁÎÞÉ×ÁÅÔÓÑ ÎÁ /, ÔÏ FTP ÓÅÒ×ÅÒ ÚÁÐÒÅÔÉÔ ÄÏÓÔÕÐ ËÏ ×ÓÅÍ ÆÁÊÌÁÍ × ÄÁÎÎÏÍ ËÁÔÁÌÏÇÅ. <br>
áÎÁÌÏÇÉÞÎÏ ÐÑÔÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÒÁÚÒÅÛÉÔØ ÄÏÓÔÕÐ Ë ÆÁÊÌÁÍ, ËÏÔÏÒÙÅ ÉÎÁÞÅ ÂÕÄÕÔ ÚÁÐÒÅÝÅÎÙ × ÔÁÂÌÉÃÅ ×ÙÛÅ. <p>

<hr>

 07070100011657000081a40000000000000002000000013d1fe2da00000710000000200000000000000000000000000000001e00000003reloc/wuftpd/help/acl.sv.html <header>Begränsningar och åtkomstkontroll</header>

På denna sida finns flera tabeller med inställningar för begränsningar
och åtkomstkontroll. I den första tabellen kan man ange klient-IP-adresser
som ska nekas åtkomst till FTP-server och en felmeddelandefil som ska visas
för klienten som nekas. Adresser kan anges som fullständiga eller partiella
IP-adresser, IP-nätverk/nätmaskar, datornamn, datornamn med jokertecken
(t ex <tt>*.foo.com</tt>) eller absoluta sökvägar till filer som innehåller
adresser. Alla dessa adressangivelser kan anges med ett ! (utropstecken)
först, vilket tolkas som att den angivna adressen tillåts komma åt
FTP-servern.

<p>I den andra tabellen kan man begränsa antalet samtidiga inloggningar
för klienter i en viss klass. För varje klass kan man ange maximalt antal
samtidiga inloggningar, dag(ar) och tidpunkt(er) då denna begränsning gäller
(på UUCP-form, t ex <tt>MoTuTh0800-1700</tt>) och ett felmeddelande som ska
visas då klienter nekas inloggning på grund av denna begränsning.

<p>I den tredje tabellen kan man sätta gränser för fil- och dataöverföring
per session. För varje gräns måste man ange om den gäller antal filer eller
byte som överförs, överföringsriktning, om gränsen endast gäller för
filöverföring eller för all data och den användarklassen som gränsen gäller
för.

<p>I den fjärde tabellen kan man neka åtkomst till vissa filer. För varje
fil måste man ange en absolut sökväg, ange om sökvägen gäller relativt
<tt>chroot</tt>-katalogen (för anonyma och gästanvändare) och ange de
användarklasser som begränsningen gäller för. Om en filangivelse slutar
med ett / kommer FTP-servern att neka åtkomst till alla filer i katalogen.
<br>På liknande sätt kan man i den femte tabellen tillåta åtkomst till
filer som annars skulle spärras i tabellen ovan.

<hr>
07070100011658000081a40000000000000002000000013d1fe2da0000045e000000200000000000000000000000000000002600000003reloc/wuftpd/help/acl.zh_TW.Big5.html <header>­­¨î»P¦s¨ú±±¨î</header>

³o¤@­¶¥]§t¤F¼Æ­Óªí®æ¥H³]©w­­¨î»P¦s¨ú±±¨î¿ï¶µ. ²Ä¤@­Óªí®æ¥i¥HÅý±z«ü©w­n©Úµ´¦s¨ú³o­Ó FTP ¦øªA¾¹ªº«È¤áºÝ IP ¦ì§}, »PÅã¥Üµ¹³Q©Úµ´«È¤áºÝªº¿ù»~°T®§. ¦ì§}¥i¥H¥Î§¹¾ãªº©Î³¡¤Àªº IP ¦ì§}, IP ºô¸ô/¤lºô¸ô¾B¸n, ¥D¾÷¦WºÙ, ¸U¥Î¦r¤¸ (¨Ò¦p <tt>*.foo.com</tt>), ©Î¬O¥]§t¤F¦ì§}ªºÀÉ®×µ´¹ï¸ô®|. ¥ô¦ó¤@Ãþªº¦ì§}³£¥i¥H¥[¤J '!' ²Å¸¹¥H©¿²¤¤§. <p>

²Ä¤G­Óªí®æ¥i¥HÅý±z­­¨î¥Ñ«È¤áºÝ¦P®Éµn¤Jªº¤£¦Pµ¥¯Å¨Ï¥ÎªÌ­Ó¼Æ. ¹ï©ó¨C¤@­Óµ¥¯Å, ±z¥i¥H¿é¤J¤@­Ó³Ì¤jªº¦P®Éµn¤J¼Æ¥Ø, »P¸Ó­­¨îªº¨Ï¥Î®É¶¡ (¥H UUCP §Î¦¡, ¹³¬O <tt>MoTuTh0800-1700</tt>), »P·í¤W­­¨ì¹F®É©Ò­nÅã¥Üªº¿ù»~°T®§ÀÉ®×. <p>

²Ä¤T­Óªí®æ¥i¥HÅý±z¼Æ©w¨C¤@­Ó¤u§@µóºÝ©Ò¯à¶Ç¿éªºÀÉ®×¼Æ¥Ø»P¤j¤p­­¨î. ¹ï¨C¤@­Ó­­¨î, ±z¥²¶·¿ï¾Ü¬O®M¥Î¦bÀÉ®×¼Æ©Î¶Ç¿éªº¦ì¤¸¼Æ, ¶Ç¿éªº¤è¦V»P®M¥Îªº¹ï¶H, ¤£½×³o­Ó­­¨î¥u®M¥Î¦bÀÉ®×¶Ç¿é©Î©Ò¦³ªº¸ê®Æ¤W, »P³o­Ó­­¨î©Ò¹ïÀ³ªº¨Ï¥ÎªÌµ¥¯Å. <p>

²Ä¥|­Óªí®æ¥i¥H¤W±z©Úµ´¹ï¯S©wÀÉ®×ªº¦s¨ú. ¹ï¨C¤@­ÓÀÉ®×±z¥²¶·¿é¤J¨äµ´¹ï¦ì¸m, ¿ï¾Ü³o¬O§_¹ïÀ³¨ì <tt>chroot</tt> ¥Ø¿ý (¹ï°Î¦W»P³X«È¨Ï¥ÎªÌ), ¨Ã¿ï¾Ü³o­Ó­­¨î­n®M¥Îªº¨Ï¥ÎªÌµ¥¯Å. ¦pªG¤@­Ó©Úµ´ªºÀÉ®×¥H "/" µ²§ô, FTP ¦øªA¾¹±N·|©Úµ´¦s¨ú¸Ó¥Ø¿ý¤Uªº©Ò¦³ÀÉ®×. <br>

¬Û¦üªº, ²Ä¤­­Óªí®æ¥i¥HÅý±z±ÂÅv¹ï¥¼³Q¤W­±ªí®æ©Ò©Úµ´ªºÀÉ®×ªº¦s¨ú. <p>

<hr>

  07070100011659000081a40000000000000002000000013d1fe2db0000032f000000200000000000000000000000000000002000000003reloc/wuftpd/help/alias.ca.html   <header>Àlies i Camins</header>

La pàgina permet crear àlies que s'apliquen quan l'usuari client FTP
fa servir l'ordre <tt>cd</tt>. La primera taula permet mapejar els 
àlies de <tt>cd</tt> a camins absoluts de directori. Per exemple, si
crees un àlies <tt>foo</tt> per a <tt>/usr/local/foo</tt>, llavors
introduint <tt>cd foo</tt> en un client FTP portarà l'usuari al
directori <tt>/usr/local/foo</tt>.
<p>

La segona caixa de text és per introduir directoris per buscar quan 
s'introdueix un <tt>cd</tt> relatiu. Per exemple, si el directori
<tt>/usr/local</tt> és al camí de recerca i l'usuari ha introduït
<tt>cd bin</tt>, llavors se'l portaria a <tt>/usr/local/bin</tt>
(assumint que no hi ha cap directori anomenat <tt>bin</tt> sota el
directori actual i que no hi ha cap àlies de <tt>bin</tt>).
<p>

<hr>


 0707010001165a000081a40000000000000002000000013d1fe2da0000037b000000200000000000000000000000000000002000000003reloc/wuftpd/help/alias.es.html   <header>Alias y Trayectorias</header>

Esta página te permite crear alias que se aplican cuando el usuario del
cliente FTP utiliza el comando <tt>cd</tt>. <p>

La primera tabla te permite cambiar los alias <tt>cd</tt> por trayectorias
absolutas de directorio. Por ejemplo, si creas un alias de <tt>foo</tt>
para <tt>/usr/local/foo</tt>, entonces al digitar <tt>cd foo</tt> desde
un cliente FTP llevaría al usuario al directorio <tt>/usr/local/foo</tt>.
<p>

La segunda caja de texto es para digitar directorios que se han de buscar
cuando se digita un <tt>cd</cd> relativo. Por ejemplo, si el directorio
<tt>/usr/local</tt> estuviera en la trayectoria de búsqueda y el usuario
digitara <tt>cd bin</tt>, sería llevado a <tt>/usr/local/bin</tt> (dando por
hecho que no haya ningún directorio llamado <tt>bin</tt> en el directorio
en curso y que no haya un alias para <tt>bin</tt>). <p>

<hr>

 0707010001165b000081a40000000000000002000000013d1fe2da00000367000000200000000000000000000000000000002000000003reloc/wuftpd/help/alias.fr.html   <header>Alias et Chemin</header>

Cette page vous permet de créer des alias qui s'applique quand l'usager du client FTP utilise la commande <tt>cd</tt>.  La première table vous permet de définir les alias de <tt>cd</tt> à des répertoires absolus.  Par exemple, si vous créer un alias pour <tt>foo</tt> pour <tt>/usr/local/foo</tt>, le client en faisant <tt>cd foo</tt> va se retrouver dans le répertoire <tt>/usr/local/foo</tt>.<p>

La deuxième boîte de texte est pour entrer les répertoires dans lesquels chercher quand un relatif <tt>cd</tt> est entré.  Par exemple, si le répertoire <tt>/usr/local</tt> est dans les répertoires de recherches et l'usager fait <tt>cd bin</tt> il pourrait être envoyé dans <tt>/usr/local/bin</tt> (en assumant qu'il n'y a aucun répertoire <tt>bin</tt> dans le répertoire courant et qu'il n'y a aucun alias pour <tt>bin</tt> ).<p>

<hr>

 0707010001165c000081a40000000000000002000000013d1fe2da0000031a000000200000000000000000000000000000001d00000003reloc/wuftpd/help/alias.html  <header>Aliases and Paths</header>

The page allows you to create aliases that apply when the FTP client user
uses the <tt>cd</tt> command. The first table allows you to map <tt>cd</tt>
aliases to absolute directory paths. For example, if you created an alias
for <tt>foo</tt> for <tt>/usr/local/foo</tt>, then typing <tt>cd foo</tt>
into an FTP client would take the user to the directory <tt>/usr/local/foo</tt>.
<p>

The second text box is for enter directories to be searched when a 
relative <tt>cd</tt> is entered. For example, if directory <tt>/usr/local</tt>
was in the search path and the user entered <tt>cd bin</tt>, he would be
taken to <tt>/usr/local/bin</tt> (assuming there was no directory called
<tt>bin</tt> in the current directory and no alias for <tt>bin</tt>). <p>

<hr>

  0707010001165d000081a40000000000000002000000013d1fe2da0000035a000000200000000000000000000000000000002000000003reloc/wuftpd/help/alias.pl.html   <header>Aliasy i&nbsp;¶cie¿ki</header>

Strona umo¿liwia utworzenie aliasów, które s± stosowane gdy u¿ytkownik
klienta FTP wykonuje polecenia <tt>cd</tt>. Pierwsza tabela zezwala na
przyporz±dkowanie aliasów absolutnym ¶cie¿kom kartotek. Na przyk³ad: po
utworzeniu aliasu <tt>foo</tt> dla <tt>/usr/local/foo</tt> wykonanie
komendy klienta FTP <tt>cd foo</tt> ustawi u¿tykownikowi aktualn±
kartotekê <tt>/usr/local/foo</tt>.
<p>

Druga tabela umo¿liwa wprowadzenie kartotek, które maj± byæ przeszukiwane po
wprowadzeniu wzglêdnego polecenia <tt>cd</tt>. Na przyk³ad, je¿eli
wprowadzono kartotekê <tt>/usr/local</tt> i&nbsp;u¿ytkownik wykona³
polecenie <tt>cd bin</tt>, to zostanie ustawiona aktualna kartoteka
<tt>/usr/local/bin</tt> (zak³adaj±c, ¿e nie ma kartoteki <tt>bin</tt>
w&nbsp;kartotece aktualnej, ani aliasu o&nbsp;nazwie <tt>bin</tt>). 
<p>

<hr>
  0707010001165e000081a40000000000000002000000013d1fe2db00000349000000200000000000000000000000000000002300000003reloc/wuftpd/help/alias.ru_RU.html    <header>Ïñåâäîíèìû è Ïóòè</header>

Ñòðàíèöà ïîçâîëÿåò Âàì ñîçäàâàòü ïñåâäîíèìû, êîòîðûå ñðàáàòûâàþò ïðè èñïîëüçîâàíèè ïîëüçîâàòåëåì êîìàíäû <tt>cd</tt>. Ïåðâàÿ òàáëèöà ïîçâîëÿåò âàì ñâÿçàòü <tt>cd</tt> ïñåâäîíèìû ñ àáñîëþòíûìè ïóòÿìè êàòàëîãîâ. Íàïðèìåð, åñëè âû ñîçäàëè ïñåâäîíèì <tt>foo</tt> äëÿ <tt>/usr/local/foo</tt>, òî ââåäÿ êîìàíäó <tt>cd foo</tt> â ïðîãðàììå FTP êëèåíòà ïîëüçîâàòåëü îêàæåòñÿ â êàòàëîãå <tt>/usr/local/foo</tt>. <p>

Ñëåäóþùåå òåêñòîâîå ïîëå ñëóæèò äëÿ ââîäà êàòàëîãîâ, â êîòîðûõ îñóùåñòâëÿåòñÿ ïîèñê ïðè ââîäå ñîîòâåòñòâóþùåé êîìàíäû <tt>cd</tt>.
Íàïðèìåð, åñëè êàòàëîã <tt>/usr/local</tt> íàõîäèòñÿ â ïóòè ïîèñêà, òî ïðè ââîäå ïîëüçîâàòåëåì êîìàíäû <tt>cd bin</tt>, îí ïîïàäåò â <tt>/usr/local/bin</tt> (åñëè êîíå÷íî â òåêóùåì êàòîëîãå íåò ïîäêàòàëîãà <tt>bin</tt> è íåò ïñåâäîíèìà äëÿ <tt>bin</tt>). <p>

<hr>

   0707010001165f000081a40000000000000002000000013d1fe2da00000349000000200000000000000000000000000000002300000003reloc/wuftpd/help/alias.ru_SU.html    <header>ðÓÅ×ÄÏÎÉÍÙ É ðÕÔÉ</header>

óÔÒÁÎÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÓÏÚÄÁ×ÁÔØ ÐÓÅ×ÄÏÎÉÍÙ, ËÏÔÏÒÙÅ ÓÒÁÂÁÔÙ×ÁÀÔ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÏÍÁÎÄÙ <tt>cd</tt>. ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ×ÁÍ Ó×ÑÚÁÔØ <tt>cd</tt> ÐÓÅ×ÄÏÎÉÍÙ Ó ÁÂÓÏÌÀÔÎÙÍÉ ÐÕÔÑÍÉ ËÁÔÁÌÏÇÏ×. îÁÐÒÉÍÅÒ, ÅÓÌÉ ×Ù ÓÏÚÄÁÌÉ ÐÓÅ×ÄÏÎÉÍ <tt>foo</tt> ÄÌÑ <tt>/usr/local/foo</tt>, ÔÏ ××ÅÄÑ ËÏÍÁÎÄÕ <tt>cd foo</tt> × ÐÒÏÇÒÁÍÍÅ FTP ËÌÉÅÎÔÁ ÐÏÌØÚÏ×ÁÔÅÌØ ÏËÁÖÅÔÓÑ × ËÁÔÁÌÏÇÅ <tt>/usr/local/foo</tt>. <p>

óÌÅÄÕÀÝÅÅ ÔÅËÓÔÏ×ÏÅ ÐÏÌÅ ÓÌÕÖÉÔ ÄÌÑ ××ÏÄÁ ËÁÔÁÌÏÇÏ×, × ËÏÔÏÒÙÈ ÏÓÕÝÅÓÔ×ÌÑÅÔÓÑ ÐÏÉÓË ÐÒÉ ××ÏÄÅ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ ËÏÍÁÎÄÙ <tt>cd</tt>.
îÁÐÒÉÍÅÒ, ÅÓÌÉ ËÁÔÁÌÏÇ <tt>/usr/local</tt> ÎÁÈÏÄÉÔÓÑ × ÐÕÔÉ ÐÏÉÓËÁ, ÔÏ ÐÒÉ ××ÏÄÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ËÏÍÁÎÄÙ <tt>cd bin</tt>, ÏÎ ÐÏÐÁÄÅÔ × <tt>/usr/local/bin</tt> (ÅÓÌÉ ËÏÎÅÞÎÏ × ÔÅËÕÝÅÍ ËÁÔÏÌÏÇÅ ÎÅÔ ÐÏÄËÁÔÁÌÏÇÁ <tt>bin</tt> É ÎÅÔ ÐÓÅ×ÄÏÎÉÍÁ ÄÌÑ <tt>bin</tt>). <p>

<hr>

   07070100011660000081a40000000000000002000000013d1fe2da0000032c000000200000000000000000000000000000002000000003reloc/wuftpd/help/alias.sv.html   <header>Alias och sökvägar</header>

På den här sidan kan man skapa alias som fungerar då FTP-klientanvändaren
använder kommandot <tt>cd</tt>. I den första tabellen kan man skriva om
<tt>cd</tt>-alias till absoluta sökvägar. Om man exempelvis skapar ett alias
<tt>foo</tt> för <tt>/usr/local/foo</tt> kommer kommandot <tt>cd foo</tt>
i FTP-klienten att göra så att användaren hamnar i katalogen
<tt>/usr/local/foo</tt>.

<p>I den andra textrutan kan man skriva in kataloger som ska sökas igenom
när en relativ <tt>cd</tt> skrivs in. Om exempelvis katalogen
<tt>/usr/local</tt> finns i sökrutan och användaren skriver in <tt>cd bin</tt>
kommer den att flyttas till <tt>/usr/local/bin</tt> under förutsättning att
det inte finns någon <tt>bin</tt>-katalog i arbetskatalogen och inget alias
för <tt>bin</tt>.

<hr>
07070100011661000081a40000000000000002000000013d1fe2da00000241000000200000000000000000000000000000002800000003reloc/wuftpd/help/alias.zh_TW.Big5.html   <header>§O¦W»P¸ô®|</header>

³o¤@­¶¥i¥H¤W±z«Ø¥ß·í¨Ï¥ÎªÌ¨Ï¥Î <tt>cd</tt> ©R¥O®Éªº§O¦W. ²Ä¤@­Óªí®æ¥i¥HÅý±z¹ïÀ³ <tt>cd</tt> §O¦W¨ì¤@­Óµ´¹ï¸ô®|. Á|¨Ò¨Ó»¡, ¦pªG±z«Ø¥ß¤@­Ó§O¦Wµ¹ <tt>foo</tt> ¨ì <tt>/usr/local/foo</tt>, «h¿é¤J <tt>cd foo</tt> ±N·|§â¨Ï¥ÎªÌ±a¨ì <tt>/usr/local/foo</tt> ¤§¤¤.
<p>

²Ä¤G­Ó¤å¦r¤è¶ô¥i¥H¿é¤J·í¤@­Ó¬Û¹ïªº <tt>cd</tt> ¿é¤J®É­n·j´Mªº¸ô®|. Á|¨Ò¨Ó»¡, ¦pªG <tt>/usr/local</tt> ¦b·j´M¸ô®|¤¤, ·í¨Ï¥ÎªÌ¿é¤J <tt>cd bin</tt>®É, ¥¦¥i¯à·|§â¨Ï¥ÎªÌ±a¨ì <tt>/usr/local/bin</tt> ¤§¤¤ (°²³]¨S¦³¥Ø«eªº¥Ø¿ý¤¤¨S¦³¥s§@ <tt>bin</tt>ªº¥Ø¿ý, ¦Ó¥B¨S¦³§O¦W­Ó <tt>bin</tt>). <p>

<hr>

   07070100011662000081a40000000000000002000000013d1fe2db00000742000000200000000000000000000000000000001f00000003reloc/wuftpd/help/anon.ca.html    <header>FTP Anònim</header>

La primera taula d'aquesta pàgina permet especificar el directori a què
canviarà el servidor amb <tt>chroot</tt> quan entri un usuari FTP anònim.
Es pot triar un directori diferent per classes d'usuaris diferents,
o bé es pot fer servir un únic directori per totes les classes.
Si no s'especifica cap directori, El servidor farà un <tt>chroot</tt>
al directori arrel de l'usuari <tt>ftp</tt>.
<p>

Com que el servidor fa crides externes a programes com <tt>ls</tt> i
<tt>tar</tt>, el directori arrel anònim ha de contenir un directori
<tt>bin</tt> amb aquests programes, un directori <tt>lib</tt> amb totes
les llibreries compartides necessàries, i un directori <tt>etc</tt> que
contingui els fitxers <tt>passwd</tt> i <tt>group</tt>. Quan el servidor
fa servir <tt>chroot</tt> per limitar l'accés al directori arrel anònim,
no pot accedir a cap programa fora d'aquest directori.
<p>

La segona taula controla a quin directori farà <tt>chroot</tt> el servidor
per als usuaris convidats. Per cada directori, pots especificar a quins
usuaris s'aplicarà aquest directori introduint-ne els noms, UIDs 
(com <tt>%3000</tt>) o rangs de UIDs (com <tt>%3000-3006</tt>). Si
no s'introdueix cap usuari, el directori s'aplicarà a tots els usuaris
convidats.
<p>

La tercera taula permet controlar a quin grup Unix es convertiran els
usuaris FTP anònims, en lloc del grup primari de l'usuari <tt>ftp</tt>.
Per a cada grup introduït, pots triar una o més classes d'usuaris,
per exemple, per concedir accés als usuaris anònims a certs fitxers 
des de certes adreces IP.
<p>


Finalment, la secció inferior de la pàgina té entrades per controlar
quines contrasenyes són acceptables per a les entrades FTP anònimes.
Tradicionalment, els usuaris FTP han de donar una adreça de correu vàlida
com la seva contrasenya d'entrada anònima.
<p>

<hr>


  07070100011663000081a40000000000000002000000013d1fe2da000007ad000000200000000000000000000000000000001f00000003reloc/wuftpd/help/anon.es.html    <header>FTP Anónimo</header>

La primera tabla de esta página te permite especificar el directorio al
que el servidor cambiará cuando un usuario anónimo haga login. Se puede
seleccionar un directorio diferente dependiendo de las clases de usuario
o se puede utilizar un solo directorio para todas las clases. Si no se
especifica ningún directorio, el servidor FTP cambiará al directorio
inicial del usuario <tt>ftp</tt>. <p>

A causa de que el servidor llama a programas externos como <tt>ls</tt> y
<tt>tar</tt>, el directorio anónimo raíz debe de contener un directorio
<tt>bin</tt> con esos programas, un directorio <tt>lib</tt> que contenga
cualquier biblioteca compartida que haga falta y un directorio <tt>etc</tt>
que contenga los archivos <tt>passwd</tt> y <tt>group</tt>. Cuando un
servidor utiliza <tt>chroot</tt> para limitar el acceso al directorio
anónimo raíz, no puede acceder a ningún programa fuera de ese directorio.<p>

La segunda tabla controla a qué directorio el servidor hará <tt>chroot</tt>
cuando los usuarios sean invitados. Para cada directorio se puede especificar
a qué usuarios se aplicará; para ello sólo debes de digitar sus nombres,
UIDs (como <tt>%3000</tt>) o rangos de UID (como <tt>%3000-3006</tt>). Si
no se digitan usuarios, el directorio se utiliza para todos los usuarios
invitados. <p>

La tercera tabla te permite controlar como qué grupo de Unix los usuarios
anónimos de FTP serán tratados, en vez del grupo primario del usuario
<tt>ftp</tt>. Para cada grupo digitado puedes seleccionar una o más clases
de usuario; por ejemplo para garantizar el acceso a ciertos archivos por
parte de usuarios anónimos de ciertas direcciones IP. <p>

Finalmente, la sección inferior de la página contiene entradas para controlar
qué claves de acceso son aceptables para los logins anónimos de FTP.
Tradicionalmente, los usuarios FTP deberían de enviar una dirección de
correo válida como su clave de acceso para login anónimo.<p>

<hr>

   07070100011664000081a40000000000000002000000013d1fe2da000007a2000000200000000000000000000000000000001f00000003reloc/wuftpd/help/anon.fr.html    <header>FTP Anonyme</header>

La première table sur cette page vous permet de spécifier le répertoire que le serveur va définir comme répertoire racine quand un usager anonyme ouvrira une session.  Un répertoire différent peut être choisit pour un usager d'une autre classe, ou le même répertoire peut être utilisé pour toute les classes.  Si aucun répertoire est spécifié, le serveur FTP définira comme répertoire racine le répertoire personnel de l'usager <tt>ftp</tt>.<p>

Car le serveur appèle des programmes externe comme <tt>ls</tt> et <tt>tar</tt>, le répertoire racine doit contenir un répertoire <tt>bin</tt> avec ces différents exécutables, un répertoire <tt>lib</tt> contenant toutes les librairies partagées nécessaires et un répertoire <tt>etc</tt> qui contient les fichiers <tt>passwd</tt> et <tt>group</tt>.  QUand le serveur change le répertoire racine pour limiter les accès de l'usager anonyme, il ne peut accèder à aucun programme en dehors de ce répertoire.<p>

La deuxième table contrôle quel répertoire le serveur va définir comme répertoire racine pour les usagers invité.  Pour chaque répertoire vous pouvez spécifier quel usagers ce répertoire s'applique en entrant le nom d'usagers, les numéros d'usager (comme <tt>%3000</tt> ou <tt>%3000-3006</tt>).  Si aucun usager n'est entré, le répertoire va s'appliquer à tout les usagers invité.<p>

La troisième table vous permet de contrôler quel groupe Unix l'usagers anonyme va être considéré par le serveur FTP autre que le groupe <tt>ftp</tt>.  Pour chaque groupe entré vous pouvez choisir un ou plusieurs classes d'usager, par exemple pour donner l'accèss à certain fichier à un usager anonyme d'une certaine adresse IP.<p>

Finalement, la section du bas de cette page vous permet de choisir quel type de mot de passe est acceptable pour usager anonyme qui ouvre une session.  Traditionnelement l'usager FTP doit envoyer une adresse de couriel valide comme mot de passe.<p>

<hr>
  07070100011665000081a40000000000000002000000013d1fe2da000006d3000000200000000000000000000000000000001c00000003reloc/wuftpd/help/anon.html   <header>Anonymous FTP</header>

The first table on this page allows you to specify the directory that
the server will switch to with <tt>chroot</tt> when an anonymous FTP
user logs in. A different directory can be chosen for different user
classes, or the one directory can be used for all classes. If no directory
is specified, the FTP server will <tt>chroot</tt> to the home directory
of the <tt>ftp</tt> user. <p>

Because the server calls external programs like <tt>ls</tt> and <tt>tar</tt>,
the anonymous root directory must contain a <tt>bin</tt> directory with
those programs, a <tt>lib</tt> directory containing any shared libraries
needed, an an <tt>etc</tt> directory containing <tt>passwd</tt> and
<tt>group</tt> files. When the server uses <tt>chroot</tt> to limit
access to the anonymous root directory, it cannot access any programs
outside that directory. <p>

The second table controls which directory the server will <tt>chroot</tt>
to for guest users. For each directory, you can specify which users this
directory will apply to by entering usernames, UIDs (like <tt>%3000</tt>)
or UID ranges (like <tt>%3000-3006</tt>). If no users are entered, the
directory is used for all guest users. <p>

The third table allows you to control which Unix group anonymous FTP
users will be switched to, instead of the primary group for the <tt>ftp</tt>
user. For each group entered you can choose one or more user classes,
for example to grant access to certain files to anonymous users from
certain IP addresses. <p>

Finally, the bottom section of the page has inputs to control what
passwords are acceptable for anonymous FTP logins. Traditionally, FTP
users should send a valid email address as their anonymous login password. <p>

<hr>

 07070100011666000081a40000000000000002000000013d1fe2da00000697000000200000000000000000000000000000001f00000003reloc/wuftpd/help/anon.pl.html    <header>Anonimowe FTP</header>

Pierwsza tabela umo¿liwia zdefiniowanie kartoteki, do której prze³±czy
siê serwer za pomoc± <tt>chroot</tt> gdy loguje siê anonimowy u¿ytkownik.
Dla ró¿nych klas mog± byæ u¿yte inne kartoteki. Je¿eli nie zdefiniowano
¿adnej kartoteki, serwer FTP prze³±czy siê do katroteki home u¿ytkownika
<tt>ftp</tt>.
<p>

Poniewa¿ serwer u¿ywa zewnêtrznych programów, takich jak <tt>ls</tt>
i&nbsp;<tt>tar</tt>, anonimowa kartoteka "root" musi zawieraæ kartotekê
<tt>bin</tt> z&nbsp;tymi programami, kartotekê <tt>lib</tt> zawieraj±c±
wszystkie niezbêdne biblioteki dzielone, oraz kartotekê <tt>etc</tt>
zawieraj±ca zbiory <tt>passwd</tt> i&nbsp;<tt>group</tt>. Kiedy serwer
wykonuje <tt>chroot</tt>, by ograniczyæ dostêp jedynie do anonimowej
kartoteki "root", to nie ma mo¿liwo¶ci dostêpu do ¿adnych programów poza t±
kartotek±. 
<p>

Druga tabela umo¿liwa zdefiniowanie kartotek, do których serwer wykona
<tt>chroot</tt> dla go¶ci. Dla ka¿dej kartoteki mo¿na okre¶liæ, których
u¿ytkowników ona dotyczy poprzez wprowadzenie nazwy, UID (jak <tt>%3000</tt>)
lub zakresu UID (jak <tt>%3000-3006</tt>). Je¿eli nie wprowadzono
u¿ytkowników, to kartoteka bêdzie u¿yta dla wszystkich go¶ci.
<p>

Trzecia tabela umo¿liwia zdefiniowanie grupy Unixa, do której bêd±
prze³±czeni u¿ytkownicy anonimowi (zamiast pierwotnej grupy u¿ytkownika
<tt>ftp</tt>. Dla ka¿dej takie grupy mo¿na wybraæ jedn± lub wiêcej
klas u¿ytkowników, na przyk³ad po to, by umo¿liwiæ dostêp do niektórych
plików tylko spod okre¶lonych adresów IP.
<p>

U&nbsp;do³u strony definiujemy jakie has³a bêd± wymagane od anonimowych
u¿ytkowników FTP. Tradycyjnie powinien to byæ prawid³owy adres email.
<p>

<hr>
 07070100011667000081a40000000000000002000000013d1fe2db00000773000000200000000000000000000000000000002200000003reloc/wuftpd/help/anon.ru_RU.html <header>Àíîíèìíûé FTP</header>

Ïåðâàÿ òàáëèöà íà äàííîé ñòðàíèöå ïîçâîëÿåò Âàì óêàçàòü êàòàëîã â êîòîðûé ñåðâåð ïåðåêëþ÷èòñÿ ñ ïîìîùüþ <tt>chroot</tt> ïðè ðåãèñòðàöèè àíîíèìíîãî FTP ïîëüçîâàòåëÿ.
Ðàçíûå êàòàëîãè ìîæíî âûáðàòü äëÿ ðàçíûõ êëàññîâ ïîëüçîâàòåëåé, èëè îäèí êàòàëîã ìîæíî âûáðàòü äëÿ âñåõ êëàññîâ.
Åñëè êàòàëîã íå óêàçàí, FTP ñåðâåð ñäåëàåò ïåðåêëþ÷åíèå <tt>chroot</tt> êîðíåâîãî êàòàëîãà â äîìàøíèé êàòàëîã ïîëüçîâàòåëÿ <tt>ftp</tt>. <p> 

Ïîñêîëüêó ñåðâåð âûçûâàåò âíåøíèå ïðîãàììû òèïà <tt>ls</tt> è <tt>tar</tt>, òî àíîíèìíûé êîðíåâîé êàòàëîã äîëæåí ñîäåðæàòü ïîäêàòàëîã <tt>bin</tt> ñ ýòèìè ïðîãðàììàìè, ïîäêàòàëîã <tt>lib</tt> ñ íåîáõîäèìûìè ðàçäåëÿåìûìè áèáëèîòåêàìè è ïîäêàòàëîã <tt>etc</tt> ñîäåðæàùèé ôàéëû <tt>passwd</tt> è <tt>group</tt>. Ïðè èñïîëüçîâàíèè ñåðâåðîì <tt>chroot</tt> íåâîçìîæíî ïîëó÷èòü äîñòóï ê êàêèì ëèáî ïðîãðàììàì çà ïðåäåëàìè äàííîãî êàòàëîãà. <p> 

Âòîðàÿ òàáëèöà êîíòðîëëèðóåò, â êàêîé êàòàëîã ñåðâåð ñäåëàåò <tt>chroot</tt> äëÿ ïîëüçîâàòåëåé guest. Äëÿ êàæäîãî êàòàëîãà Âû ìîæåòå óêàçàòü, ê êàêèì ïîëüçîâàòåëÿì îòíîñÿòñÿ äàííûå êàòàëîãè ïóòåì óêàçàíèÿ èìåíè ïîëüçîâàòåëÿ, UID (â âèäå <tt>%3000</tt>) èëè äèàïàçîíà UID (â âèäå <tt>%3000-3006</tt>).
Åñëè ïîëüçîâàòåëè íå ââåäåíû, êàòàëîã èñïîëüçóåòñÿ äëÿ âñåõ ïîëüçîâàòåëåé guest. <p>

Òðåòüÿ òàáëèöà ïîçâîëÿåò Âàì óïðàâëÿòü òåì, íà êàêóþ Unix ãðóïïó áóäóò ïåðåêëþ÷åíû FTP ïîëüçîâàòåëè anonymous, íåçàâèñèìî îò ïåðâè÷íîé ãðóïïû ïîëüçîâàòåëÿ <tt>ftp</tt>.
Äëÿ êàæäîé ââåäåííîé ãðóïïû Âû ìîæåòå óêàçàòü îäèí èëè áîëåå êëàññîâ ïîëüçîâàòåëåé, íàïðèìåð äëÿ ïðåäîñòàâëåíèÿ äîñòóïà ê íåêîòîðûì ôàéëàì äëÿ ïîëüçîâàòåëé anonymous ñ íåêîòîðûõ IP àäðåñîâ. <p>

Íàêîíåö íèæíÿÿ ÷àñòü ñòðàíèöû èìååò ïîëÿ ââîäà äëÿ óïðàâëåíèÿ òåì, êàêèå ïàðîëè ìîãóò èñïîëüçîâàòüñÿ äëÿ ðåãèñòðàöèè FTP ïîëüçîâàòåëåé anonymous. 
Òðàäèöèîííî, ïîëüçîâàòåëè FTP äîëæíû èñïîëüçîâàòü èõ ïî÷òîâûé àäðåñ â êà÷åñòâå ðåãèñòðàöèîííîãî ïàðîëÿ. <p>

<hr>

 07070100011668000081a40000000000000002000000013d1fe2da00000773000000200000000000000000000000000000002200000003reloc/wuftpd/help/anon.ru_SU.html <header>áÎÏÎÉÍÎÙÊ FTP</header>

ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÎÁ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÅ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕËÁÚÁÔØ ËÁÔÁÌÏÇ × ËÏÔÏÒÙÊ ÓÅÒ×ÅÒ ÐÅÒÅËÌÀÞÉÔÓÑ Ó ÐÏÍÏÝØÀ <tt>chroot</tt> ÐÒÉ ÒÅÇÉÓÔÒÁÃÉÉ ÁÎÏÎÉÍÎÏÇÏ FTP ÐÏÌØÚÏ×ÁÔÅÌÑ.
òÁÚÎÙÅ ËÁÔÁÌÏÇÉ ÍÏÖÎÏ ×ÙÂÒÁÔØ ÄÌÑ ÒÁÚÎÙÈ ËÌÁÓÓÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÉÌÉ ÏÄÉÎ ËÁÔÁÌÏÇ ÍÏÖÎÏ ×ÙÂÒÁÔØ ÄÌÑ ×ÓÅÈ ËÌÁÓÓÏ×.
åÓÌÉ ËÁÔÁÌÏÇ ÎÅ ÕËÁÚÁÎ, FTP ÓÅÒ×ÅÒ ÓÄÅÌÁÅÔ ÐÅÒÅËÌÀÞÅÎÉÅ <tt>chroot</tt> ËÏÒÎÅ×ÏÇÏ ËÁÔÁÌÏÇÁ × ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ ÐÏÌØÚÏ×ÁÔÅÌÑ <tt>ftp</tt>. <p> 

ðÏÓËÏÌØËÕ ÓÅÒ×ÅÒ ×ÙÚÙ×ÁÅÔ ×ÎÅÛÎÉÅ ÐÒÏÇÁÍÍÙ ÔÉÐÁ <tt>ls</tt> É <tt>tar</tt>, ÔÏ ÁÎÏÎÉÍÎÙÊ ËÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ ÐÏÄËÁÔÁÌÏÇ <tt>bin</tt> Ó ÜÔÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ, ÐÏÄËÁÔÁÌÏÇ <tt>lib</tt> Ó ÎÅÏÂÈÏÄÉÍÙÍÉ ÒÁÚÄÅÌÑÅÍÙÍÉ ÂÉÂÌÉÏÔÅËÁÍÉ É ÐÏÄËÁÔÁÌÏÇ <tt>etc</tt> ÓÏÄÅÒÖÁÝÉÊ ÆÁÊÌÙ <tt>passwd</tt> É <tt>group</tt>. ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÅÒ×ÅÒÏÍ <tt>chroot</tt> ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÄÏÓÔÕÐ Ë ËÁËÉÍ ÌÉÂÏ ÐÒÏÇÒÁÍÍÁÍ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÁÎÎÏÇÏ ËÁÔÁÌÏÇÁ. <p> 

÷ÔÏÒÁÑ ÔÁÂÌÉÃÁ ËÏÎÔÒÏÌÌÉÒÕÅÔ, × ËÁËÏÊ ËÁÔÁÌÏÇ ÓÅÒ×ÅÒ ÓÄÅÌÁÅÔ <tt>chroot</tt> ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ guest. äÌÑ ËÁÖÄÏÇÏ ËÁÔÁÌÏÇÁ ÷Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ, Ë ËÁËÉÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÏÔÎÏÓÑÔÓÑ ÄÁÎÎÙÅ ËÁÔÁÌÏÇÉ ÐÕÔÅÍ ÕËÁÚÁÎÉÑ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ, UID (× ×ÉÄÅ <tt>%3000</tt>) ÉÌÉ ÄÉÁÐÁÚÏÎÁ UID (× ×ÉÄÅ <tt>%3000-3006</tt>).
åÓÌÉ ÐÏÌØÚÏ×ÁÔÅÌÉ ÎÅ ××ÅÄÅÎÙ, ËÁÔÁÌÏÇ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ guest. <p>

ôÒÅÔØÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕÐÒÁ×ÌÑÔØ ÔÅÍ, ÎÁ ËÁËÕÀ Unix ÇÒÕÐÐÕ ÂÕÄÕÔ ÐÅÒÅËÌÀÞÅÎÙ FTP ÐÏÌØÚÏ×ÁÔÅÌÉ anonymous, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÐÅÒ×ÉÞÎÏÊ ÇÒÕÐÐÙ ÐÏÌØÚÏ×ÁÔÅÌÑ <tt>ftp</tt>.
äÌÑ ËÁÖÄÏÊ ××ÅÄÅÎÎÏÊ ÇÒÕÐÐÙ ÷Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÏÄÉÎ ÉÌÉ ÂÏÌÅÅ ËÌÁÓÓÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ÎÁÐÒÉÍÅÒ ÄÌÑ ÐÒÅÄÏÓÔÁ×ÌÅÎÉÑ ÄÏÓÔÕÐÁ Ë ÎÅËÏÔÏÒÙÍ ÆÁÊÌÁÍ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÊ anonymous Ó ÎÅËÏÔÏÒÙÈ IP ÁÄÒÅÓÏ×. <p>

îÁËÏÎÅÃ ÎÉÖÎÑÑ ÞÁÓÔØ ÓÔÒÁÎÉÃÙ ÉÍÅÅÔ ÐÏÌÑ ××ÏÄÁ ÄÌÑ ÕÐÒÁ×ÌÅÎÉÑ ÔÅÍ, ËÁËÉÅ ÐÁÒÏÌÉ ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÒÅÇÉÓÔÒÁÃÉÉ FTP ÐÏÌØÚÏ×ÁÔÅÌÅÊ anonymous. 
ôÒÁÄÉÃÉÏÎÎÏ, ÐÏÌØÚÏ×ÁÔÅÌÉ FTP ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÈ ÐÏÞÔÏ×ÙÊ ÁÄÒÅÓ × ËÁÞÅÓÔ×Å ÒÅÇÉÓÔÒÁÃÉÏÎÎÏÇÏ ÐÁÒÏÌÑ. <p>

<hr>

 07070100011669000081a40000000000000002000000013d1fe2da000006b6000000200000000000000000000000000000001f00000003reloc/wuftpd/help/anon.sv.html    <header>Anonym FTP</header>

I den första tabellen kan man ange den katalog som servern ska gå till
med <tt>chroot</tt> när en anonym FTP-användare loggar in. Man kan ange
olika kataloger för skilda användarklasser eller låta alla klasser använda
samma katalog. Om ingen katalog anges här kommer FTP-servern att göra
<tt>chroot</tt> till hemkatalogen för <tt>ftp</tt>-användaren.

<p>Eftersom servern anropar externa program som <tt>ls</tt> och <tt>tar</tt>
måste den anonyma rotkatalogen innehålla en <tt>bin</tt>-katalog med dessa
program, en <tt>lib</tt>-katalog med de delade bibliotek som behövs och en
<tt>etc</tt>-katalog som innehåller <tt>passwd</tt>- och
<tt>group</tt>-filerna. När servern använder <tt>chroot</tt> för att
begränsa åtkomsten till den anonyma rotkatalogen kan den inte använda
program utanför denna katalog.

<p>I den andra tabellen anges den katalog som servern ska göra <tt>chroot</tt>
till för gästanvändare. För varje katalog kan man ange de användare som
katalogen ska användas för genom att skriva in användarnamn, UID (t ex
<tt>%3000</tt>) eller UID-intervall (t ex <tt>%3000-3006</tt>). Om inga
användare anges kommer katalogen att används för alla gästanvändare.

<p>I den tredje tabellen kan man ange den Unix-grupp som anonyma
FTP-användare ska höra till om man inte vill använda den primära gruppen
för <tt>ftp</tt>-användaren. För varje grupp kan man ange en eller flera
användarklasser för att exempelvis tillåta åtkomst till vissa filer för
anonyma användare från vissa IP-adresser.

<p>I den nedersta delen av sidan kan man ange de krav man ställer på
lösenord för anonym FTP-inloggning. Normalt bör FTP-användare
skriva in en giltig e-postadress som anonymt lösenord.

<hr>
  0707010001166a000081a40000000000000002000000013d1fe2da00000493000000200000000000000000000000000000002700000003reloc/wuftpd/help/anon.zh_TW.Big5.html    <header>°Î¦WªÌ FTP</header>

³o¤@­¶ªº²Ä¤@­Óªí®æ¥i¥HÅý±z«ü©w·í°Î¦W¨Ï¥ÎªÌµn¤J®É¦øªA¾¹­n <tt>chroot</tt> ªº¥Ø¿ý. ¹ï©ó¤£¦Pµ¥¯Åªº¨Ï¥Î³o¥i¥H«ü©w¤£¦Pªº¥Ø¿ý, ©ÎªÌ¤£½×µ¥¯Å³£¨Ï¥Î¬Û¦Pªº¥Ø¿ý. ¦pªG¨S¦³«ü©w¥Ø¿ý, FTP ±N·| <tt>chroot</tt> ¨ì¨t²Î¤W <tt>ftp</tt> ¨Ï¥ÎªÌªº®a¥Ø¿ý. <p>

¥Ñ©ó¦øªA¾¹·|©I¥s¨Ò¦p <tt>ls</tt> ©Î <tt>tar</tt> µ¥¥~³¡µ{¦¡, °Î¦W¨Ï¥ÎªÌªº®Ú¥Ø¿ý¤¤¥²¶·¥]§t¤@­Ó <tt>bin</tt> ¥Ø¿ý¥H©ñ¸m³o¨Çµ{¦¡, ¦P®É¥²¶·¦³ <tt>lib</tt> ¥Ø¿ý¥H©ñ¸m¦@¨Éªº¨ç¦¡®w, <tt>etc</tt> ¥Ø¿ý¥H©ñ¸m±K½XÀÉ»P¸s²ÕÀÉ. ·í¦øªA¾¹¨Ï¥Î <tt>chroot</tt> ¥H­­¨î¨Ï¥ÎªÌªº®Ú¥Ø¿ý®É, ¥¦±N¤£¯à¦s¨ú¨ì³o­Ó¥Ø¿ý¥H¥~ªºµ{¦¡. <p>

²Ä¤G­Óªí®æ±±¨î¤F¦øªA¾¹­nµ¹Åý³X«È <tt>chroot</tt> ¨ì­þ¨Ç¥Ø¿ý, ±z¥i¥H¥Î¨Ï¥ÎªÌ¦WºÙ, UID (¨Ò¦p <tt>%3000</tt>) ©Î UID ½d³ò (<tt>%3000-3006</tt>) «ü©w­n®M¥Î¦b­þ¨Ç¨Ï¥ÎªÌ¤W. ¦pªG¨S¦³¿é¤J¨Ï¥ÎªÌ, ³o­Ó¥Ø¿ý±N·|¥Î¦b©Ò¦³ªº³X«È¤W. <p>

²Ä¤T­Óªí®æ¥i¥H¤WÅý±z±±¨î­þ¨Ç Unix ¸s²Õªº¨Ï¥ÎªÌ·|³Q¤Á´«¦¨°Î¦W¨Ï¥ÎªÌ, ¦Ó¤£¶È¤î©ó <tt>ftp</tt> ¸s²Õªº¨Ï¥ÎªÌ. ¹ï©ó¨C¤@­Ó¸s²Õ, ±z¥i¥H¿ï¾Ü¤@­Ó©Î§ó¦hªº¨Ï¥ÎªÌµ¥¯Å, Á|¨Ò¦Ó¨¥, ±z¥i¥H±ÂÅvÀÉ®×¦s¨úµ¹¯S©wªº°Î¦W¨Ï¥ÎªÌ¨Ó¦Û¯S©wªº IP ¦ì§}. <p>

³Ì«á, ¦b³o¤@­¶ªº©³ºÝ¬O¥Î¥H±±¨î­þ¨Ç±K½X¬O°Î¦WªÌ FTP ©Ò±µ¨üªºµn¤J±K½X. ¶Ç²Î¦Ó¨¥, FTP ¨Ï¥ÎªÌÀ³¸Ó°e¥X¤@­Ó¦³®Äªº¹q¤l¶l¥ó¦ì§}§@¬°¥L­Ìªºµn¤J±K½X. <p>

<hr>

 0707010001166b000081a40000000000000002000000013d1fe2db000005b7000000200000000000000000000000000000002000000003reloc/wuftpd/help/class.ca.html   <header>Usuaris i Classes</header>

El servidor FTP WU permet classificar els usuaris basant-se en l'adreça
des de la qual es connecten i el seu tipus d'usuari. Els tres tipus
d'usuari són:
<ul>
<li><b>Unix</b> - Usuaris normals del teu sistema.
<li><b>Convidat</b> - Usuaris Unix classificats com a convidats.
<li><b>Anònim</b> - Entrades amb usuari <tt>anonymous</tt> o <tt>ftp</tt>,
si està permès al sistema.
</ul>
<p>

La secció superior d'aquesta pàgina permet definir classes, basant-se en
el tipus d'usuari i l'adreça font. Cada entrada es classifica dins de la
primera classe que coincideixi, així que les classes s'haurien d'ordenar
de la més específica a la més general. Les adreces coincidents de cada
classe poden ser adreces IP completes o parcials, xarxes/màscares IP,
noms de host, escarrassos (com <tt>*.foo.com</tt>), o bé el camí absolut
dels fitxers que contenen les adreces addicionals. Totes les adreces es
poden precedir amb un " per negar-les.
<p>

La secció del mig d'aquesta pàgina permet controlar quins usuaris Unix
s'han de classificar com a convidats. Un usuari convidat té drets
similars a u Usuari Unix corrent, però està restringit a un cert directori
fent servir <tt>chroot</tt>.
<p>

La secció inferior de la pàgina controla quins usuaris Unix i usuaris
convidats tindran l'accés denegat al servidor FTP. Pots especificar els
usuaris per nom, per GID (com  <tt>%3000</tt>) o rang de GIDs (com 
<tt>%3000-3010</tt>).
<p>

<hr>


 0707010001166c000081a40000000000000002000000013d1fe2da00000664000000200000000000000000000000000000002000000003reloc/wuftpd/help/class.es.html   <header>Usuarios y Clases</header>

El servidor WU FTP te permite clasificar a los usuarios en base a la
dirección desde donde hacen login y a su tipo de usuario. Los tres tipos
de usuario son:
<ul>
<li><b>Unix</b> - Los usuarios normales de tu sistema.
<li><b>Invitado</b> - Los usuarios de Unix que han sido clasificados como
                       invitados.
<li><b>Anónimo</b> - Logins mediante el usuario <tt>anónimo</tt> o <tt>ftp</tt>,
		       si tu sistema lo permite.
</ul><p>

La sección superior de esta página te permite definir nombres de clases
partiendo de la base de tipos de usario y direcciones emisoras. Cada login
es clasificado dentro de la primera clase coincidente; por ello las clases
deberían de estar ordenadas desde la más específica hasta la menos. Las
direcciones coincidentes para cada clase pueden ser una dirección IP completa
o parcial, redes/máscaras de red IP, nombres de máquina, comodines de máquina
(como <tt>*.foo.com</tt>) o las trayectorias absolutas a archivos que contengan
direcciones adicionales. Cualquier tipo de dirección puede ir precedido con
un carácter ! para negarlo.<p>

La sección de en medio de la página te permite controlar qué usuarios Unix
han de ser clasificados como invitados. Un usuario invitado tiene derechos
similares a un usuario normal de Unix pero está restringido a un cierto
directorio mediante <tt>chroot</tt>.<p>

La sección inferior de la página controla a qué usuario Unix e invitado se le
denegará el acceso al servidor FTP. Puedes especificar a los usuarios por
nombre, por GID (como <tt>%3000</tt) o por rango de GID (como
<tt>%3000-3010</tt>). <p>

<hr>

0707010001166d000081a40000000000000002000000013d1fe2da00000625000000200000000000000000000000000000002000000003reloc/wuftpd/help/class.fr.html   <header>Usagers et Classes</header>

Le serveur WU FTP vous permet de classifié les usagers basé sur l'adresse sur laquels ils sont quand ils ouvrent une session et sur leurs type d'usagers.  Les trois types sont:
<ul>
	<li><b>Unix</b> - Usagers normal sur votre système.
	<li><b>Invité</b> - Usagers Unix qui sont considérés comme des invités.
	<li><b>Anonyme</b> - Si disponible sur votre système, ce sont ceux qui ouvre une session en utilisant le nom d'usager <tt>ftp</tt> ou <tt>anonymous</tt>.
</ul><p>

La section du haut de cette page vous permet de définir le nom des classes, basé sur les types d'usagers ou l'adresse source.  Chaque ouverture de session est classé dans la première classe correspondante, alors les classes devoient être en ordre du plus au moins spécifique.  Les addresses IP correspondantes pour chaque classes peuvent être complète ou partiel, adresse réseau/masque de sous-réseau, nom d'hôtes complète ou partielle (comme <tt>*.foo.com</tt>) ou des fichiers contenant des adresses aditionnelles.  Tout les types d'adresses peut être précédé d'un ! pour l'inverser.<p>

La section du centre de la page vous permet de contrôler quel usagers Unix sont considéré comme des invité.  Un usager invité a les mêmes droits qu'un usager normal Unix, mais restreint à un certain répertoire utilisant <tt>chroot</tt>.<p>

La section du bas de la page contrôle quel usagers Unix et invité seront refusé d'accès sur le serveur FTP.  Vous pouvez spécifié les usagers par noms ou par numéro de groupe (comme <tt>%3000</tt> ou <tt>%3000-3010</tt>).<p>

<hr>

   0707010001166e000081a40000000000000002000000013d1fe2da00000549000000200000000000000000000000000000001d00000003reloc/wuftpd/help/class.html  <header>Users and Classes</header>

The WU FTP server allows you to classify users based on the address they
login from and their user type. The three user types are :
<ul>
<li><b>Unix</b> - Normal users on your system.
<li><b>Guest</b> - Unix users who have been classified as guests.
<li><b>Anonymous</b> - Logins by the <tt>anonymous</tt> or <tt>ftp</tt> user,
		       if allowed on your system.
</ul><p>

The top section of this page allows you to define named classes, based
on user types and source addresses. Every login is classified into the
first matching class, so classes should be ordered from the most to least
specific. The matching addresses for each class can be full or partial
IP addresses, IP networks/netmasks, hostnames, host wildcards
(like <tt>*.foo.com</tt>) or the absolute paths to files containing additional
addresses. Any type of address can be preceded with a ! to negate it. <p>

The middle section of this page allows you to control which Unix users
to classify as guests. A guest user has similar rights to a normal Unix
user, but is restricted to a certain directory using <tt>chroot</tt>. <p>

The lower section of the page controls which Unix and guest users will
be denied access to the FTP server. You may specify users by name, by
GID (like <tt>%3000</tt>) or by GID range (like <tt>%3000-3010</tt>). <p>

<hr>

   0707010001166f000081a40000000000000002000000013d1fe2da00000605000000200000000000000000000000000000002000000003reloc/wuftpd/help/class.pl.html   <header>U¿ytkownicy i klasy</header>

Serwer WU FTP pozwala na klasyfikacjê u¿ytkowników w&nbsp;oparciu
o&nbsp;adres IP, z&nbsp;którego siê loguj± i&nbsp;typ u¿ytkownika. Istniej±
trzy typy u¿ytkowników:
<ul>
<li><b>Uniksa</b> - Normalni u¿ytkownicy systemu Unix.
<li><b>Go¶cie</b> - U¿ytkownicy Uniksa sklasyfikowani jako go¶cie.
<li><b>Anonimowi</b> - Wlogowani jako u¿ytkownik <tt>anonymous</tt> lub
		      <tt>ftp</tt>, je¿eli system na to pozwala.
</ul>
<p>

Pierwsza sekcja strony umo¿liwia zdefiniowanie nazwanych klas w&nbsp;oparciu
o&nbsp;typ u¿ytkownika i&nbsp;jego adres IP. Ka¿dy login bêdzie
klasyfikowany do pierwszej pasuj±cej klasy, zatem klasy powinny byæ
definiowane poczynaj±c od najbardziej specyficznych. Adresy mog± byæ podane
w&nbsp;postaci pe³nego lub czê¶ciowego adresu IP, kombibacji podsieæ
IP/maska, nazw komputerów (z&nbsp;rozwijanymi znakami * i&nbsp;?, jak na
przyk³ad<tt>*.foo.com</tt>), oraz absolutnych ¶cie¿ek do plików
zawieraj±cych adresy. W&nbsp;celu zanegowania ka¿dy adres mo¿e byæ
poprzedzony wykrzyknikiem !. 
<p>

Nastêpna sekcja umo¿liwia okre¶lenie, którzy u¿ytkownicy Uniksa maj± byæ
klasyfikowani jako go¶cie. Go¶æ ma prawa podobne jak zwyk³y u¿ytkownik
Uniksa, ale poprzez zastosowanie <tt>chroot</tt> jest ograniczony do
okre¶lonej kartoteki.
<p>

Ostatnia sekcja umo¿liwia okre¶lenie, którzy u¿ytkownicy Unixa i&nbsp;go¶cie
nie mog± korzystaæ z&nbsp;serwera FTP. Mo¿na wyspecyfikowaæ u¿ytkowników
poprzez nazwê, GID (jak <tt>%3000</tt>) lub zakres GID (jak
<tt>%3000-3010</tt>). 
<p>

<hr>
   07070100011670000081a40000000000000002000000013d1fe2db00000610000000200000000000000000000000000000002300000003reloc/wuftpd/help/class.ru_RU.html    <header>Ïîëüçîâàòåëè è Êëàññû</header>

WU FTP ñåðâåð ïîçâîëÿåò Âàì êëàññèôèöèðîâàòü ïîëüçîâàòåëåé îñíîâûâàÿñü íà àäðåñå ñ êîòîðîãî îíè ðåãèñòðèðóþòñÿ è òèïå ïîëüçîâàòåëÿ.
Ñóùåñòâóþò òðè òèïà ïîëüçîâàòåëåé: 

<ul>
<li><b>Unix</b> - Íîðìàëüíûå ïîëüçîâàòåëè Âàøåé ñèñòåìû.
<li><b>Guest</b> - Ïîëüçîâàòåëè Unix, êîòîðûå êëàññèôèöèðîâàíû êàê ãîñòè.
<li><b>Anonymous</b> - Ðåãèñòðàöèè ïîä èìåíàìè <tt>anonymous</tt> èëè <tt>ftp</tt>, åñëè òàêîâûå ðàçðåøåíû íà Âàøåé ñèñòåìå.
</ul><p>

Âåðõíÿÿ ÷àñòü äàííîé ñòðàíèöû ïîçâëÿåò Âàì îïðåäåëèòü èìåíîâàííûå êëàññû,
îñíîâûâàÿñü íà òèïàõ ïîëüçîâàòåëåé è èõ àäðåñàõ. Êàæäàÿ ðåãèñòðàöèÿ êëàññèôèöèðóåòñÿ ïî ïåðâîìó ñîâïàäåíèþ ñ êëàññîì, ò.î. êëàññû äîëæíû áûòü óïîðÿäî÷åíû îò áîëåå ê ìåíåå ñïåöèôè÷íûì.
Àäðåñ ñîâïàäåíèÿ äëÿ êàæäîãî êëàññà, ìîæåò áûòü ïîëíûì èëè ÷àñòè÷íûì IP àäðåñîì, IP ñåòüþ/ñåòåâîé ìàñêîé, èìåíåì õîñòà èëè øàáëîíîì õîñòà. (òèïà <tt>*.foo.com</tt>) èëè àáñîëþòíûìè ïóòÿìè ê ôàéëàì ñîäåðæàùèì äîïîëíèòåëüíûå àäðåñà.
Ëþáîé òèï àäðåñà ìîæåò ïðåäâàðÿòü ! äëÿ åãî îòðèöàíèÿ. <p>

Ñðåäíÿÿ ÷àñòü äàííîé ñòðàíèöû ïîçâëÿåò Âàì êîíòðîëëèðîâàòü, êàêèõ ïîëüçîâàòåëåé 
Unix êëàññèôèöèðîâàòü êàê ãîñòåé. Ïîëüçîâàòåëü - ãîñòü èìååò ïðàâà àíàëîãè÷íûå ïðàâàì îáû÷íûõ ïîëüçîâàòåëåé Unix, íî îãðàíè÷åíû íåêèì êàòàëîãîì ïðè ïîìîùè ñèñòåìíîãî âûçîâà <tt>chroot</tt>. <p>

Íèæíÿÿ ÷àñòü äàííîé ñòðàíèöû, óïðàâëÿåò òåì, êàêèì ïîëüçîâàòåëÿì Unix è ãîñòÿì
áóäåò çàïðåùåí äîñòóï ê FTP ñåðâåðó. Âû ìîæåòå óêàçàòü ïîëüçîâàòåëåé ïî èìåíè,
ïî GID (òèïà <tt>%3000</tt>) èëè ïî äèàïàçîíó GID (òèïà <tt>%3000-3010</tt>). <p>

<hr>

07070100011671000081a40000000000000002000000013d1fe2da00000610000000200000000000000000000000000000002300000003reloc/wuftpd/help/class.ru_SU.html    <header>ðÏÌØÚÏ×ÁÔÅÌÉ É ëÌÁÓÓÙ</header>

WU FTP ÓÅÒ×ÅÒ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ËÌÁÓÓÉÆÉÃÉÒÏ×ÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÏÓÎÏ×Ù×ÁÑÓØ ÎÁ ÁÄÒÅÓÅ Ó ËÏÔÏÒÏÇÏ ÏÎÉ ÒÅÇÉÓÔÒÉÒÕÀÔÓÑ É ÔÉÐÅ ÐÏÌØÚÏ×ÁÔÅÌÑ.
óÕÝÅÓÔ×ÕÀÔ ÔÒÉ ÔÉÐÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ: 

<ul>
<li><b>Unix</b> - îÏÒÍÁÌØÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ ÷ÁÛÅÊ ÓÉÓÔÅÍÙ.
<li><b>Guest</b> - ðÏÌØÚÏ×ÁÔÅÌÉ Unix, ËÏÔÏÒÙÅ ËÌÁÓÓÉÆÉÃÉÒÏ×ÁÎÙ ËÁË ÇÏÓÔÉ.
<li><b>Anonymous</b> - òÅÇÉÓÔÒÁÃÉÉ ÐÏÄ ÉÍÅÎÁÍÉ <tt>anonymous</tt> ÉÌÉ <tt>ftp</tt>, ÅÓÌÉ ÔÁËÏ×ÙÅ ÒÁÚÒÅÛÅÎÙ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ.
</ul><p>

÷ÅÒÈÎÑÑ ÞÁÓÔØ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÙ ÐÏÚ×ÌÑÅÔ ÷ÁÍ ÏÐÒÅÄÅÌÉÔØ ÉÍÅÎÏ×ÁÎÎÙÅ ËÌÁÓÓÙ,
ÏÓÎÏ×Ù×ÁÑÓØ ÎÁ ÔÉÐÁÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÉÈ ÁÄÒÅÓÁÈ. ëÁÖÄÁÑ ÒÅÇÉÓÔÒÁÃÉÑ ËÌÁÓÓÉÆÉÃÉÒÕÅÔÓÑ ÐÏ ÐÅÒ×ÏÍÕ ÓÏ×ÐÁÄÅÎÉÀ Ó ËÌÁÓÓÏÍ, Ô.Ï. ËÌÁÓÓÙ ÄÏÌÖÎÙ ÂÙÔØ ÕÐÏÒÑÄÏÞÅÎÙ ÏÔ ÂÏÌÅÅ Ë ÍÅÎÅÅ ÓÐÅÃÉÆÉÞÎÙÍ.
áÄÒÅÓ ÓÏ×ÐÁÄÅÎÉÑ ÄÌÑ ËÁÖÄÏÇÏ ËÌÁÓÓÁ, ÍÏÖÅÔ ÂÙÔØ ÐÏÌÎÙÍ ÉÌÉ ÞÁÓÔÉÞÎÙÍ IP ÁÄÒÅÓÏÍ, IP ÓÅÔØÀ/ÓÅÔÅ×ÏÊ ÍÁÓËÏÊ, ÉÍÅÎÅÍ ÈÏÓÔÁ ÉÌÉ ÛÁÂÌÏÎÏÍ ÈÏÓÔÁ. (ÔÉÐÁ <tt>*.foo.com</tt>) ÉÌÉ ÁÂÓÏÌÀÔÎÙÍÉ ÐÕÔÑÍÉ Ë ÆÁÊÌÁÍ ÓÏÄÅÒÖÁÝÉÍ ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÁÄÒÅÓÁ.
ìÀÂÏÊ ÔÉÐ ÁÄÒÅÓÁ ÍÏÖÅÔ ÐÒÅÄ×ÁÒÑÔØ ! ÄÌÑ ÅÇÏ ÏÔÒÉÃÁÎÉÑ. <p>

óÒÅÄÎÑÑ ÞÁÓÔØ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÙ ÐÏÚ×ÌÑÅÔ ÷ÁÍ ËÏÎÔÒÏÌÌÉÒÏ×ÁÔØ, ËÁËÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ 
Unix ËÌÁÓÓÉÆÉÃÉÒÏ×ÁÔØ ËÁË ÇÏÓÔÅÊ. ðÏÌØÚÏ×ÁÔÅÌØ - ÇÏÓÔØ ÉÍÅÅÔ ÐÒÁ×Á ÁÎÁÌÏÇÉÞÎÙÅ ÐÒÁ×ÁÍ ÏÂÙÞÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix, ÎÏ ÏÇÒÁÎÉÞÅÎÙ ÎÅËÉÍ ËÁÔÁÌÏÇÏÍ ÐÒÉ ÐÏÍÏÝÉ ÓÉÓÔÅÍÎÏÇÏ ×ÙÚÏ×Á <tt>chroot</tt>. <p>

îÉÖÎÑÑ ÞÁÓÔØ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÙ, ÕÐÒÁ×ÌÑÅÔ ÔÅÍ, ËÁËÉÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ Unix É ÇÏÓÔÑÍ
ÂÕÄÅÔ ÚÁÐÒÅÝÅÎ ÄÏÓÔÕÐ Ë FTP ÓÅÒ×ÅÒÕ. ÷Ù ÍÏÖÅÔÅ ÕËÁÚÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ÉÍÅÎÉ,
ÐÏ GID (ÔÉÐÁ <tt>%3000</tt>) ÉÌÉ ÐÏ ÄÉÁÐÁÚÏÎÕ GID (ÔÉÐÁ <tt>%3000-3010</tt>). <p>

<hr>

07070100011672000081a40000000000000002000000013d1fe2da000005aa000000200000000000000000000000000000002000000003reloc/wuftpd/help/class.sv.html   <header>Användare och klasser</header>

WU FTP-servern tillåter klassificering av användare baserat på den adress
de loggar in från och deras användartyp. Det finns tre användaretyper:
<ul>
<li><b>Unix</b> - Vanliga användare i systemet.
<li><b>Gäst</b> - Unix-användare som har klassificerats som gäster.
<li><b>Anonym</b> - Inloggningar av användarna <tt>anonym</tt> eller
<tt>ftp</tt>, om detta tillåts i systemet.
</ul><p>

Högst upp på sidan kan man definiera klasser beroende på användartyp och
uppkopplingsadress. Varje inloggning förs till den första klass som matchar,
vilket betyder att man bör ordna klasserna från mest till minst specifik.
Adresserna för en klass kan vara fullständiga eller partiella IP-adresser,
IP-nätverk/nätmaskar, datornamn, datornamn med jokertecken (t ex
<tt>*.foo.com</tt>) eller absoluta sökvägar till filer som innehåller
adresser. Varje adressangivelse kan också negeras genom att ett !
(utropstecken) skrivs först.

<p>På mitten av sidan kan man ange de Unix-användare och -grupper som ska
behandlas som gäster. En gästanvändare har ungefär samma rättigheter som en
vanlig Unix-användare, men är begränsad till en viss katalog med hjälp av
<tt>chroot</tt>.

<p>Längst ned på sidan kan man ange Unix-användare och -grupper som ska nekas
åtkomst till FTP-servern. Användare kan anges med namn, UID (t ex
<tt>%3000</tt>) eller UID-intervall (t ex <tt>%3000-3006</tt>). Grupper kan
anges på liknande sätt.

<hr>
  07070100011673000081a40000000000000002000000013d1fe2da000003c0000000200000000000000000000000000000002800000003reloc/wuftpd/help/class.zh_TW.Big5.html   <header>¨Ï¥ÎªÌ»Pµ¥¯Å</header>

WU FTP ¦øªA¾¹¤¹³\±z¥Hµn¤Jªº¨Ó·½¦ì¸m»P¨Ï¥ÎªÌÃþ§O±N¨Ï¥ÎªÌ¤À¯Å. ¤U¦C¬°¤TºØ¨Ï¥ÎªÌÃþ§O:
<ul>
<li><b>Unix</b> - ±z¨t²Î¤Wªº¤@¯ë¨Ï¥ÎªÌ.
<li><b>Guest</b> - ³Q·í§@³X«Èªº Unix ¨Ï¥ÎªÌ.
<li><b>Anonymous</b> - ¦pªG±zªº¨t²Î¤¹³\, ±µ¨ü <tt>anonymous</tt> ©Î <tt>ftp</tt> µn¤J±zªº¨t²Î.
</ul><p>

¦b³o¤@­¶ªº³»ºÝ¤¹³\±z©w¸qµ¥¯Åªº¦WºÙ, °ò©ó¨Ï¥ÎªÌÃþ§O»P¨Ó·½¦ì¸m. ¨C­Óµn¤J³£·|³Q¤À¯Å¦¨²Ä¤@­Ó²Å¦Xªºµ¥¯Å, ©Ò¥H³W«hÀ³¸Ó­n¤p¤ßªº±Æ§Ç. ¹ï¨C¤@­Óµ¥¯Åªº¦ì§}²Å¦X¤è¦¡¥i¥H¬O§¹¾ãªº©Î³¡¤Àªº IP ¦ì§}, IP ºô¸ô/¤lºô¸ô¾B¸n, ¥D¾÷¦WºÙ,¸U¥Î¦r¤¸ (¨Ò¦p <tt>*.foo.com</tt>), ©Î¬O¥]§t¤F¦ì§}ªºÀÉ®×µ´¹ï¸ô®|. ¥ô¦ó¤@Ãþªº¦ì§}³£¥i¥H¥[¤J '!' ²Å¸¹¥H©¿²¤¤§. <p>

³o¤@­¶¤¤¶¡ªº°Ï°ì¥i¥HÅý±z±±¨î­þ¨Ç Unix ¨Ï¥ÎªÌ­n³Q¤À¯Å¦¨³X«È. ³X«ÈªºÅv­­»P¤@¯ëªº Unix ¨Ï¥ÎªÌ«D±`±µªñ, ¦ý³Q­­¨î©ó¥u¯à¦s¨ú <tt>chroot</tt> ©Ò«ü©wªº¥Ø¿ý. <p>

³Ì¤U­±ªº°Ï°ì±±¨î¤F­n©Úµ´­þ¨Ç Unix ¨Ï¥ÎªÌ©Î³X«È­n³Q³o­Ó FTP ¦øªA¾¹©Ò©Úµ´. ±z¥i¥H¥Î¨Ï¥ÎªÌ¦WºÙ, UID (¨Ò¦p <tt>%3000</tt>) ©Î UID ½d³ò (<tt>%3000-3006</tt>) «ü©w¤§. <p>

<hr>

07070100011674000081a40000000000000002000000013d1fe2db000003c5000000200000000000000000000000000000002000000003reloc/wuftpd/help/intro.ca.html   <header>Servidor FTP</header>

Aquest mòdul permet configurar el servidor FTP  WU-FTPd instal·lat al teu
sistema. Els usuaris amb comptes al sistema poden entrar al servidor FTP
i accedir els seus fitxers fent servir programes com Netscape, <tt>ncftp</tt>,
el fullejador de fitxers de KDE o un qualsevol dels molts clients FTP de
Windows. També pots configurar un servidor FTP públic on els usuaris anònims
tenen accés només lectura o lectura/escriptura per a un conjunt limitat
de fitxers del sistema.
<p>

La pàgina principal d'aquest mòdul mostra una taula d'icones, una per cada
categoria d'opcions configurables. Si el teu servidor FTP s'està executant
com un procés independent, es mostrarà un botó al peu de la pàgina per
reiniciar el servidor FTP i aplicar la configuració actual. No obstant,
si el teu sistema executa FTPd des d'<tt>inetd</tt> com és el cas de la
majoria, els canvis fets tindran efecte immediatament per cada nova
sessió FTP.
<p>

<hr>


   07070100011675000081a40000000000000002000000013d1fe2da00000418000000200000000000000000000000000000002000000003reloc/wuftpd/help/intro.es.html   <header>Servidor FTP</header>

Este módulo te permite configurar el servidor FTP de WU-FTPd instalado en
tu sistema. Los usuarios que tengan cuentas en tu sistema pueden hacer login
el el servidor FTP y acceder a sus archivo usando programas cliente como
por ejemplo Netscape, <tt>ncftp</tt>, el visor de archivos de KDE o
cualquiera de los muchos clientes de FTP para Windows. Puedes configurar
también un servidor público FTP al que los usuarios anónimos puedan tener
acceso de sólo-lectura o de lectura-escritura a un subconjunto limitado de
archivos de tu sistema.<p>

La página principal de este módulo muestra una tabla de iconos, uno por
cada categoría de opciones configurables. Si tu servidor FTP se está
ejecutando como proceso único, se te mostrará un botón al fondo de la página
para que puedas rearrancar el servidor FTP y aplicar los valores en curso.
Sin embargo, si tu sistema se ejecuta desde <tt>inetd</tt> como hacen la
mayoría, cualquier cambio que hagas tendrá efecto inmediátamente para las
nuevas sesiones de FTP. <p>

<hr>

07070100011688000081a40000000000000002000000013d1fe2da000003b5000000200000000000000000000000000000002000000003reloc/wuftpd/help/intro.fr.html   <header>Serveur FTP</header>

Ce module vous permet de configurer le serveur WU-FTPd installé sur votre système.  Les usagers avec des accomptes sur votre système peut ouvrir une session sur le serveur FTP et accèder à leurs fichier utilisant un client comme Netscape, <tt>ncftpd</tt>, le gestionnaire de fichier de KDE ou un des nombreux client FTP sous Windows.  Vous pouvez aussi configurer un serveur FTP public que les usagers peuvent ouvrir une session anonymement et accéder à certain fichiers en lecture seule ou en lecture et écriture.<p>

La page principale de ce module vous affiches une série d'îcones, un pour chaque catégorie des options configurables.  Si votre serveur FTP est exécuter seule et non par <tt>inetd</tt> comme la majorité font, vous devrez redémarrer votre serveur FTP pour appliquer tout changement, tandis que via <tt>inetd</tt>, les changements seront tenu compte sur toute nouvelle ouverture de sessions.<p>

<hr>

   07070100011689000081a40000000000000002000000013d1fe2da00000381000000200000000000000000000000000000001d00000003reloc/wuftpd/help/intro.html  <header>FTP Server</header>

This module allows you to configure the WU-FTPd FTP server installed on your
system. Users with accounts on your system can login to the FTP server and
access their files using client programs such as Netscape, <tt>ncftp</tt>,
the KDE file browser or one of the many Windows FTP clients. You can also
setup a public FTP server to which anonymous users are allowed read-only or
read-write access to a limited subset of files on your system. <p>

The main page of this module shows a table of icons, one for each category
of configurable options. If your FTP server is running as a standalone
process, a button will be displayed at the bottom of the page for you to
restart the FTP server and apply the current settings. However, if your
system runs FTPd from <tt>inetd</tt> as most do, any changes you make will
take effect immediately for new FTP sessions. <p>

<hr>

   0707010001168f000081a40000000000000002000000013d1fe2db00000352000000200000000000000000000000000000001e00000003reloc/wuftpd/help/log.ca.html <header>Registres</header>

Aquesta pàgina permet configurar què enregistra el servidor FTP, i on ho
enregistra. Les opcions disponibles són:

<dl>
   <dt><b>Registra totes les ordres de</b>
   <dd>S'enregistraran totes les ordres dels usuaris dels tipus seleccionats.
   <dt><b>Registra les transferències de</b>
   <dd>S'enregistraran totes les transferències en la direcció seleccionada
       dels usuaris dels tipus seleccionats.
   <dt><b>Registra les transferències sobre</b>
   <dd>Determina si les transferències s'enregistren sobre <tt>syslog</tt>,
       o sobre el fitxer <tt>xferlog</tt> de WU-FTPd, normalment
       <tt>/var/log/xferlog</tt>.
   <dt><b>Registra les violacions de seguretat de</b>
   <dd>S'enregistraran sobre <tt>syslog</tt> totes les violacions de seguretat
       dels usuaris dels tipus seleccionats.
</dl>

<hr>


  0707010001168a000081a40000000000000002000000013d1fe2db000003a5000000200000000000000000000000000000002000000003reloc/wuftpd/help/intro.pl.html   <header>Serwer FTP</header>

Modu³ umo¿liwia konfiguracjê serwera FTP (WU-FTPd). U¿ytkownicy
z&nbsp;kontami mog± siê wlogowaæ do serwera FTP i&nbsp;uzyskaæ dostêp do
swoich zbiorów za pomoc± programów takich jak Netscape, <tt>ncftp</tt>,
manager zbiorów KDE lub jednym z&nbsp;klientów FTP dzia³aj±cych pod kontrol±
Windows. Mo¿na równie¿ skonfigurowaæ publiczny serwer FTP - w&nbsp;ten
sposób anonimowi u¿ytkownicy mog± uzyskaæ dostêp do ograniczonej czê¶ci
zbiorów. 
<p>

G³ówna strona modu³u zawiera tabelê ikon, za pomoc± których mo¿na wybraæ
kategorie konfigurowalnych opcji. Je¿eli serwer FTP jest uruchomiony jako
samodzielny proces, u&nbsp;do³u strony bêdzie wy¶wietlony przycisk, który
umo¿liwi jego zrestartowanie i&nbsp;zastosowanie wprowadzonych zmian. Je¿eli
serwer FTP jest uruchamiany poprzez demona <tt>inetd</tt> (co najczê¶ciej ma
miejsce), wszystkie zmiany bêd± zastosowane dla nowo uruchamianych
sesji.
<p>

<hr>

   0707010001168b000081a40000000000000002000000013d1fe2db000003da000000200000000000000000000000000000002300000003reloc/wuftpd/help/intro.ru_RU.html    <header>FTP Ñåðâåð</header>

Äàííûé ìîäóëü ïîçâîëÿåò Âàì íàñòðàèâàòü FTP ñåðâåð WU-FTPd óñòàíîâëåííûé íà Âàøåé ñèñòåìå.
Ïîëüçîâàòåëè Âàøåé ñèñòåìû ìîãóò ðåãèñòðèðîâàòüñÿ íà FTP ñåðâåðå è ïîëó÷àòü äîñòóï ê ôàéëàì ñ ïîìîùüþ ïðîãðàìì-êëèåíòîâ, òàêèõ êàê Netscape, <tt>ncftp</tt>,
ôàéëîâûé áðàóçåð KDE èëè îäèí èç ìíîãî÷èñëåííûõ FTP êëèåíòîâ ÎÑ Windows.
Âû òàêæå ìîæåòå íàñòðîèòü îáùåäîñòóïíûé FTP ñåðâåð ê êîòîðîìó ïîëüçîâàòåëè anonymous áóäóò èìåòü äîñòóï íà ÷òåíèå èëè ÷òåíèå-çàïèñü äëÿ îãðàíè÷åííîãî ìíîæåñòâà ôàéëîâ íà Âàøåé ñèñòåìå. <p>

Îñíîâíàÿ ñòðàíèöà äàííîãî ìîäóëÿ ïîêàçûâàåò òàáëèöó ïèêòîãðàìì, ïî îäíîé íà êàæäóþ êàòåãîðèþ ïàðàìåòðîâ êîíôèãóðàöèè.
Åñëè Âàø FTP ñåðâåð ðàáîòàåò êàê íåçàâèñèìûé ïðîöåññ, âíèçó ñòðàíèöû áóäåò ïîêàçàíà êíîïêà äëÿ ðåñòàðòà FTP ñåðâåðà è àêòèâèçàöèè òåêóùåé êîíôèãóðàöèè.
Îäíàêî, åñëè Âàøà ñèñòåìà çàïóñêàåò FTPd ÷åðåç <tt>inetd</tt>, êàê îáû÷íî è ïðîèñõîäèò, òî ëþáûå èçìåíåíèÿ áóäóò àêòèâèçèðîâàííû äëÿ ëþáûõ âíîâü îòêðûâàåìûõ ñåññèé. <p>

<hr>

  0707010001168c000081a40000000000000002000000013d1fe2da000003da000000200000000000000000000000000000002300000003reloc/wuftpd/help/intro.ru_SU.html    <header>FTP óÅÒ×ÅÒ</header>

äÁÎÎÙÊ ÍÏÄÕÌØ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÎÁÓÔÒÁÉ×ÁÔØ FTP ÓÅÒ×ÅÒ WU-FTPd ÕÓÔÁÎÏ×ÌÅÎÎÙÊ ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ.
ðÏÌØÚÏ×ÁÔÅÌÉ ÷ÁÛÅÊ ÓÉÓÔÅÍÙ ÍÏÇÕÔ ÒÅÇÉÓÔÒÉÒÏ×ÁÔØÓÑ ÎÁ FTP ÓÅÒ×ÅÒÅ É ÐÏÌÕÞÁÔØ ÄÏÓÔÕÐ Ë ÆÁÊÌÁÍ Ó ÐÏÍÏÝØÀ ÐÒÏÇÒÁÍÍ-ËÌÉÅÎÔÏ×, ÔÁËÉÈ ËÁË Netscape, <tt>ncftp</tt>,
ÆÁÊÌÏ×ÙÊ ÂÒÁÕÚÅÒ KDE ÉÌÉ ÏÄÉÎ ÉÚ ÍÎÏÇÏÞÉÓÌÅÎÎÙÈ FTP ËÌÉÅÎÔÏ× ïó Windows.
÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÎÁÓÔÒÏÉÔØ ÏÂÝÅÄÏÓÔÕÐÎÙÊ FTP ÓÅÒ×ÅÒ Ë ËÏÔÏÒÏÍÕ ÐÏÌØÚÏ×ÁÔÅÌÉ anonymous ÂÕÄÕÔ ÉÍÅÔØ ÄÏÓÔÕÐ ÎÁ ÞÔÅÎÉÅ ÉÌÉ ÞÔÅÎÉÅ-ÚÁÐÉÓØ ÄÌÑ ÏÇÒÁÎÉÞÅÎÎÏÇÏ ÍÎÏÖÅÓÔ×Á ÆÁÊÌÏ× ÎÁ ÷ÁÛÅÊ ÓÉÓÔÅÍÅ. <p>

ïÓÎÏ×ÎÁÑ ÓÔÒÁÎÉÃÁ ÄÁÎÎÏÇÏ ÍÏÄÕÌÑ ÐÏËÁÚÙ×ÁÅÔ ÔÁÂÌÉÃÕ ÐÉËÔÏÇÒÁÍÍ, ÐÏ ÏÄÎÏÊ ÎÁ ËÁÖÄÕÀ ËÁÔÅÇÏÒÉÀ ÐÁÒÁÍÅÔÒÏ× ËÏÎÆÉÇÕÒÁÃÉÉ.
åÓÌÉ ÷ÁÛ FTP ÓÅÒ×ÅÒ ÒÁÂÏÔÁÅÔ ËÁË ÎÅÚÁ×ÉÓÉÍÙÊ ÐÒÏÃÅÓÓ, ×ÎÉÚÕ ÓÔÒÁÎÉÃÙ ÂÕÄÅÔ ÐÏËÁÚÁÎÁ ËÎÏÐËÁ ÄÌÑ ÒÅÓÔÁÒÔÁ FTP ÓÅÒ×ÅÒÁ É ÁËÔÉ×ÉÚÁÃÉÉ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ.
ïÄÎÁËÏ, ÅÓÌÉ ÷ÁÛÁ ÓÉÓÔÅÍÁ ÚÁÐÕÓËÁÅÔ FTPd ÞÅÒÅÚ <tt>inetd</tt>, ËÁË ÏÂÙÞÎÏ É ÐÒÏÉÓÈÏÄÉÔ, ÔÏ ÌÀÂÙÅ ÉÚÍÅÎÅÎÉÑ ÂÕÄÕÔ ÁËÔÉ×ÉÚÉÒÏ×ÁÎÎÙ ÄÌÑ ÌÀÂÙÈ ×ÎÏ×Ø ÏÔËÒÙ×ÁÅÍÙÈ ÓÅÓÓÉÊ. <p>

<hr>

  0707010001168d000081a40000000000000002000000013d1fe2da0000035e000000200000000000000000000000000000002000000003reloc/wuftpd/help/intro.sv.html   <header>FTP-server</header>

I denna modul görs inställningar för WU-FTPd-FTP-servern i systemet. Användare
som har ett konto på systemet kan logga in på FTP-servern och komma åt sina
filer med hjälp av klientprogram som Netscape, <tt>ncftp</tt>, KDE-filbrowsern
eller någon Windows-FTP-klient. Det går också att sätta upp en publik
FTP-server där anonyma användare kan läsa och kanske även skriva i en
avgränsad del av filerna på systemet.

<p>På startsidan finns en mängd ikoner som var och en representerar en
kategori inställningar. Om FTP-servern körs som standalone-process kommer
det längst ned på sidan att finnas en knapp för att starta om FTP-servern
och genomföra de ändringar man har ställt in. Om däremot systemet kör FTPd
från <tt>inetd</tt>, vilket är vanligast, kommer alla ändringar man gör att
direkt träda i kraft för nya FTP-sessioner.

<hr>
  0707010001168e000081a40000000000000002000000013d1fe2da00000252000000200000000000000000000000000000002800000003reloc/wuftpd/help/intro.zh_TW.Big5.html   <header>FTP ¦øªA¾¹</header>

³o­Ó¼Ò²Õ¥i¥HÅý±z²ÕºA¦w¸Ë¦b±z¨t²Î¤Wªº WU-FTPd ¦øªA¾¹. ¦b±z¨t²Î¤Wªº¨Ï¥ÎªÌ¥i¥Hµn¤J¨ì³o­Ó FTP ¦øªA¾¹¨Ã¨Ï¥Î¨Ò¦p Netscape, <tt>ncftp</tt>, KDE ÀÉ®×ÂsÄý¾¹©Î¨ä¥Lµøµ¡¤Uªº FTP «È¤áºÝµ{¦¡¦s¨ú¥L­ÌªºÀÉ®×. ±z¤]¥i¥H³]©w¤@­Ó¤½¶}©Êªº FTP ¦øªA¾¹¥H¨Ñ°Î¦W¨Ï¥ÎªÌ¨Ì¾Ú±z©Ò§@ªº­­¨î¦³­­«×ªº¦s¨ú±zªº¨t²Î. <p>

³o­Ó¼Ò²Õªº¥D­nµe­±Åã¥Ü¥X¤@¨t¦Cªº¹Ï¥Ü, ¨C¤@­Ó³£¥i¥H¥Î©ó²ÕºA¤@³¡¥÷ªº¥\¯à. ¦pªG±zªº FTP ¦øªA¾¹¨Ï¥H¿W¥ßªºµ{§Ç°õ¦æ, ³o¤@­¶©³ºÝ±N·|¦³¤@­Ó«ö¶s¥i¥H­«·s±Ò°Ê FTP ¦øªA¾¹¨Ã®M¥Î¥Ø«eªº³]©w. µM¦Ó, ¦pªG±zªº FTP ¨Ï¥Ñ <tt>inetd</tt> ©Ò±±¨î, ±z©Ò§@ªºÅÜ§ó·|¥ß§Yªº¹ï¤U¤@­Ó FTP ¤u§@µo¥Í¼vÅT. <p>

<hr>

  07070100011690000081a40000000000000002000000013d1fe2da00000384000000200000000000000000000000000000001e00000003reloc/wuftpd/help/log.es.html <header>Historial</header>

Esta página te permite configurar lo que el servidor FTP guarda como historial
y dónde lo guarda. Las opciones disponibles son:
<dl>
<dt><b>Llevar historial de todos los comandos para</b>
<dd>Se llevará un historial de cada comando de aquellos usuarios que
     pertenezcan a los tipos seleccionados
<dt><b>Historial de transferencias para</b>
<dd>Se llevará historial de las transferencias de los directorios
    seleccionados realizadas por los usuarios de los tipos seleccionados.
<dt><b>Llevar historial de transferencias en</b>
<dd>Determina si las transferencias son grabadas en <tt>syslog</tt> o
    el archivo <tt>xferlog</tt> de WU-FTPd,
    normalmente <tt>/var/log/xferlog</tt>.
<dt><b>Llevar historial de violaciones de seguridad para</b>
<dd>Usarios de tipos seleccionados a los que se grabarán las violacions de
    seguridad en <tt>syslog</tt>
</dl>

<hr>

07070100011691000081a40000000000000002000000013d1fe2da00000310000000200000000000000000000000000000001e00000003reloc/wuftpd/help/log.fr.html <header>Journal</header>

Cette page vous permet de configurer qu'est-ce que le serveur FTP garde dans les journaux et où.  Les options disponibles sont :
<dl>
<dt><b>Enregistrer toutes les commandes de</b>
<dd>Les usagers du type choisit auront toutes leurs commandes enregistrés
<dt><b>Enregistrer les transferts pour</b>
<dd>Les usagers du type choisit auront leurs transfert dans la direction choisit enregistrés.
<dt><b>Enregistrer les transferts à</b>
<dd>Déterminer où les messages seront enregistré, dans <tt>syslog</tt>, ou le fichier <tt>xferlog</tt> de WU-FTPd, généralement <tt>/var/log/xferlog</tt>.
<dt><b>Enregistrer les violations de sécurité pour</b>
<dd>Les usagers du type sélectionné auront les violations de sécurité enregistré dans <tt>syslog</tt>.
</dl>

<hr>

07070100011692000081a40000000000000002000000013d1fe2da000002a2000000200000000000000000000000000000001b00000003reloc/wuftpd/help/log.html    <header>Logging</header>

This page allows you to configure what the FTP server logs, and where it
logs to. The options available are :
<dl>
<dt><b>Log all commands for</b>
<dd>Users of the selected types will have every command logged
<dt><b>Log transfers for</b>
<dd>Users of the selected types will have transfers in the selected directions
    logged.
<dt><b>Log transfers to</b>
<dd>Determines whether transfers are logged to <tt>syslog</tt>, or the WU-FTPd
    <tt>xferlog</tt> file, usually <tt>/var/log/xferlog</tt>.
<dt><b>Log security violations for</b>
<dd>Users of the selected types will have have security violations logged
    to <tt>syslog</tt>
</dl>

<hr>

  07070100011693000081a40000000000000002000000013d1fe2da000002f3000000200000000000000000000000000000001e00000003reloc/wuftpd/help/log.pl.html <header>Logowanie</header>

Strona umo¿liwia skonfigurowanie opcji logowania serwera FTP - co serwer
zapisuje i&nbsp;do jakich zbiorów. Mo¿liwe opcje to:
<dl>
<dt><b>Loguj wszystkie polecenia</b>
<dd>Polecenia wykonane przez u¿ytkowników wybranych typów zostan± zapisane
    w&nbsp;logu
<dt><b>Loguj transfer plików</b>
<dd>Logowany bêdzie transfer plików w&nbsp;wybranym kierunku przez
    u¿ytkowników okre¶lonego typu.
<dt><b>Loguj do</b>
<dd>Decyduje czy transfery s± logowane poprzez <tt>syslog</tt>,
    czy zapisywane przez WU-FTPd do zbioru, zwykle <tt>/var/log/xferlog</tt>.
<dt><b>Loguj z³amanie regu³ bezpieczeñstwa</b>
<dd>Z³amanie regu³ bezpieczeñstwa przez u¿ytkowników okre¶lonego typu bêdzie
    logowane przez <tt>syslog</tt>
</dl>

<hr>
 07070100011695000081a40000000000000002000000013d1fe2db000002c6000000200000000000000000000000000000002100000003reloc/wuftpd/help/log.ru_RU.html  <header>Æóðíàëèçàöèÿ</header>

Äàííàÿ ñòðàíèöà ïîçâîëÿåò Âàì íàñòðîèòü - ÷òî è êóäà ñåðâåð áóäåò æóðíàëèðîâàòü.
Äîñòóïíûå ïàðàìåòðû:
<dl>
<dt><b>Æóðíàëèðîâàòü âñå êîìàíäû äëÿ</b>
<dd>Áóäóò çàïèñàíû âñå êîìàíäû äëÿ âûáðàííûõ òèïîâ ïîëüçîâàòåëåé
<dt><b>Æóðíàëèðîâàòü ïåðåäà÷è äëÿ</b>
<dd>Áóäóò çàïèñàíû âñå ïåðåäà÷è äàííûõ â âûáðàííîì íàïðàâëåíèè äëÿ âûáðàííûõ òèïîâ ïîëüçîâàòåëåé.
<dt><b>Æóðíàëèðîâàòü â</b>
<dd>Îïðåäåëÿåò, êîãäà æóðíàëû áóäóò çàïèñûâàòüñÿ â <tt>syslog</tt>, èëè â WU-FTPd <tt>xferlog</tt> ôàéë (îáû÷íî <tt>/var/log/xferlog</tt>).
<dt><b>Æóðíàëèðîâàòü íàðóøåíèÿ áåçîïàñíîñòè äëÿ</b>
<dd>Äëÿ ïîëüçîâàòåëåé âûáðàííîãî òèïà íàðóøåíèÿ áåçîïàñíîñòè áóäóò çàïèñûâàòüñÿ â <tt>syslog</tt>
</dl>

<hr>

  07070100011696000081a40000000000000002000000013d1fe2da000002c6000000200000000000000000000000000000002100000003reloc/wuftpd/help/log.ru_SU.html  <header>öÕÒÎÁÌÉÚÁÃÉÑ</header>

äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÎÁÓÔÒÏÉÔØ - ÞÔÏ É ËÕÄÁ ÓÅÒ×ÅÒ ÂÕÄÅÔ ÖÕÒÎÁÌÉÒÏ×ÁÔØ.
äÏÓÔÕÐÎÙÅ ÐÁÒÁÍÅÔÒÙ:
<dl>
<dt><b>öÕÒÎÁÌÉÒÏ×ÁÔØ ×ÓÅ ËÏÍÁÎÄÙ ÄÌÑ</b>
<dd>âÕÄÕÔ ÚÁÐÉÓÁÎÙ ×ÓÅ ËÏÍÁÎÄÙ ÄÌÑ ×ÙÂÒÁÎÎÙÈ ÔÉÐÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ
<dt><b>öÕÒÎÁÌÉÒÏ×ÁÔØ ÐÅÒÅÄÁÞÉ ÄÌÑ</b>
<dd>âÕÄÕÔ ÚÁÐÉÓÁÎÙ ×ÓÅ ÐÅÒÅÄÁÞÉ ÄÁÎÎÙÈ × ×ÙÂÒÁÎÎÏÍ ÎÁÐÒÁ×ÌÅÎÉÉ ÄÌÑ ×ÙÂÒÁÎÎÙÈ ÔÉÐÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ.
<dt><b>öÕÒÎÁÌÉÒÏ×ÁÔØ ×</b>
<dd>ïÐÒÅÄÅÌÑÅÔ, ËÏÇÄÁ ÖÕÒÎÁÌÙ ÂÕÄÕÔ ÚÁÐÉÓÙ×ÁÔØÓÑ × <tt>syslog</tt>, ÉÌÉ × WU-FTPd <tt>xferlog</tt> ÆÁÊÌ (ÏÂÙÞÎÏ <tt>/var/log/xferlog</tt>).
<dt><b>öÕÒÎÁÌÉÒÏ×ÁÔØ ÎÁÒÕÛÅÎÉÑ ÂÅÚÏÐÁÓÎÏÓÔÉ ÄÌÑ</b>
<dd>äÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ×ÙÂÒÁÎÎÏÇÏ ÔÉÐÁ ÎÁÒÕÛÅÎÉÑ ÂÅÚÏÐÁÓÎÏÓÔÉ ÂÕÄÕÔ ÚÁÐÉÓÙ×ÁÔØÓÑ × <tt>syslog</tt>
</dl>

<hr>

  07070100011697000081a40000000000000002000000013d1fe2da000002bb000000200000000000000000000000000000001e00000003reloc/wuftpd/help/log.sv.html <header>Loggning</header>

På denna sida ställer man in vad FTP-servern ska logga och var den ska
skriva loggmeddelanden. Det finns följande alternativ:
<dl>
<dt><b>Logga alla kommandon för</b>
<dd>För de angivna användartyperna loggas alla kommandon.
<dt><b>Logga överföringar för</b>
<dd>För de angivna användartyperna loggas överföringar i vald riktning.
<dt><b>Skriv överföringsloggar till</b>
<dd>Här anger man var servern ska skriva överföringsloggarna; <tt>syslog</tt>
    eller WU-FTPd <tt>xferlog</tt>-filen, oftast <tt>/var/log/xferlog</tt>.
<dt><b>Logga säkerhetsöverträdelser för</b>
<dd>För de angivna användartyperna loggas säkerhetsöverträdelser till
    <tt>syslog</tt>.
</dl>

<hr>
 07070100011698000081a40000000000000002000000013d1fe2da00000232000000200000000000000000000000000000002600000003reloc/wuftpd/help/log.zh_TW.Big5.html <header>¬ö¿ý</header>

³o¤@­¶¥i¥HÅý±z²ÕºA FTP ¦øªA¾¹ªº¬ö¿ý, »P­n©ñ¸m¬ö¿ýªº¦ì¸m. ¥i¥Îªº¿ï¶µ¬°:
<dl>
<dt><b>¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº©Ò¦³©R¥O</b>
<dd>¹ï©ó©Ò¿ï¾ÜÃþ§Oªº¨Ï¥ÎªÌ³£·|¦³§¹¾ãªº°õ¦æ©R¥O¬ö¿ý.
<dt><b>¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº¶Ç¿é</b>
<dd>¹ï©ó©Ò¿ï¾ÜÃþ§Oªº¨Ï¥ÎªÌ³£·|¬ö¿ý©Ò«ü©wªº¶Ç¿é¤è¦V.
<dt><b>¬ö¿ý¶Ç°e¨ì</b>
<dd>¨M©w­n¬ö¿ý¨ì <tt>syslog</tt> ¤¤, ©Î WU-FTPd ªº <tt>xferlog</tt> (³q±`©ñ¸m©ó <tt>/var/log/xferlog</tt>) ÀÉ®×¤¤.
<dt><b>¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº¦w¥þ¹H³W</b>
<dd>¹ï©ó©Ò¿ï¾Ü¨Ï¥ÎªÌÃþ§Oªº¨Ï¥ÎªÌ¤§¦w¥þ¹H³W³£·|³Q°e¨ì <tt>syslog</tt> ¤¤.
    to <tt>syslog</tt>
</dl>

<hr>

  07070100011699000081a40000000000000002000000013d1fe2db00000421000000200000000000000000000000000000002200000003reloc/wuftpd/help/message.ca.html <header>Missatges i Banderes</header>

La primera taula d'aquesta pàgina permet configurar els fitxers de missatges
a mostrar a l'usuari en registrar-se o en entrar a un directori concret.
Per cada fitxer de missatge has d'especificar un camí (absolut o relatiu
al directori), triar quan s'ha de mostrar, i seleccionar les classes 
d'usuaris a les quals s'ha de mostrar el missatge (si no s'introdueix cap
classe, el fitxer es mostrarà per a totes).
<p>

La segona taula és per configurar els fitxers README. El servidor FTP
mostrarà la darrera data de modificació de cada fitxer, bé en registrar-se
o en entrar a un directori concret. Per cada fitxer README, has
d'especificar un camí, triar quan s'ha de mostrar, i seleccionar les classes
d'usuaris a les quals s'ha de mostrar la data de darrera modificació.

Al peu de l pàgina hi ha algunes opcions addicionals relacionades amb
els fitxers de missatges. L'opció més útil és la <tt>Bandera de presentació
de sessió</tt>, que permet triar un fitxer per mostrar abans que l'usuari
es registri.
<p>

<hr>


   0707010001169a000081a40000000000000002000000013d1fe2da00000473000000200000000000000000000000000000002200000003reloc/wuftpd/help/message.es.html <header>Mensajes y Titulares</header>

La primera tabla de esta página te permite configurar los archivos de
mensajes que se mostrarán al usuario cada vez que haga login o cuando
entre en un cierto directorio. Para cada archivo de mensaje debes de
especificar una trayectoria (absoluta o relativa al directorio), decidir
cuándo ha de ser mostrado y seleccionar las clases de usuario a las que
mostrar este archivo de mensaje (si no se digitan clases, el archivo
será mostrado para todos). <p>

La segunda tabla es para configurar archivos LEEME. El servidor FTP
mostrará la hora de la última modificación de cada archivo ya sea al
hacer login o cuando se entre en un cierto directorio. Para cada archivo
LEEME debes de especificar una trayectoria, escoger cuándo ha de ser
mostrado y seleccionar las clases de usuario a las que mostrar la hora
de la última modificación. <p>

En la parte inferior de la página hay unas pocas opciones adicionales
que se refieren a los archivos de mensajes. La más útil es la opción de
<tt>Titular de pre-login</tt>, que te permite escoger un archivo a
mostrar antes de que el usuario haga login.<p>

<hr>

 0707010001169b000081a40000000000000002000000013d1fe2da00000474000000200000000000000000000000000000002200000003reloc/wuftpd/help/message.fr.html <header>Messages et Bannières</header>

La première partie de cette page vous permet de configurer les fichiers de message qui sont affiché à l'usager au moment de l'ouverture de session ou quand un certain répertoire est entré.  Pour chaque fichier de message vous devez spécifié le chemin (absolu ou relatif au répertoire), choisir quand il sera affiché et choisir à quelle classe ce message sera affiché (si aucune classe sont spécifiée ce sera toutes les classes).<p>

La deuxième table est pour configurer les fichiers <tt>README</tt>.  Le serveur FTP affichera le temps des dernières modification des fichiers, autant à l'ouverture de session, ou quand un certain répertoire est entré.  Pour chaque fichier <tt>README</tt> vous devez spécifier le chemin, choisir quand il sera affiché et choisir les classe d'usager à qui afficher le moment des dernières modifications.<p>

Au bas de l page se trouve quelques options additonelles relatif au fichiers de messages.  La plus utile est la <tt>Bannière d'avant-ouverture de session</tt> qui vous permet de choisir quel fichier sera affiché avant qu'un usager ouvre une session.<p>

<hr>

0707010001169c000081a40000000000000002000000013d1fe2da000003e5000000200000000000000000000000000000001f00000003reloc/wuftpd/help/message.html    <header>Messages and Banners</header>

The first table on this page allows you to configure message files to be
displayed to the user at login time or when a certain directory is entered.
For each message file you must specify a path (absolute or relative to the
directory), choose when it is to be displayed, and select the user classes
to display this message file for (if no classes are entered, the file will be
displayed for all). <p>

The second table is for configuring README files. The FTP server will display
the last modification time of each file, either at login or when a certain
directory is entered. For each README file you must specify a path, choose
when it is to be displayed, and select the user classes to display the
last modification time for. <p>

At the bottom of the page are a few additional options that relate to
message files. Most useful is the <tt>Pre-login banner</tt> option, which
allows you to choose a file to be displayed before the user logs in. <p>

<hr>

   0707010001169d000081a40000000000000002000000013d1fe2da00000416000000200000000000000000000000000000002200000003reloc/wuftpd/help/message.pl.html <header>Komunikaty</header>

Pierwsza tabela strony umo¿liwia zdefiniowanie zbiorów, których zawarto¶æ ma
byæ wy¶wietlana kiedy u¿ytkownik sie loguje lub wchodzi do okre¶lonej
kartoteki. Dla ka¿dego takiego komunikatu nale¿y zdefiniowaæ ¶cie¿kê dostêpu
(absolutn± lub wzglêdem kartoteki), wybraæ w&nbspjakich okoliczno¶ciach ma
byæ wy¶wietlany i&nbsp;dla jakich klas u¿ytkowników (je¿eli nie wybierzemy
¿adnej klasy, to bêdzie wy¶wietlany dla wszystkich). 
<p>

Druga tabela s³u¿y do konfigurowania zbiorów README. Serwer FTP bêdzie
wy¶wietla³ datê modyfikacji takiego zbioru przy logowaniu siê lub przy
wej¶ciu do okre¶lonej kartoteki. Dla ka¿dego zbioru README nale¿y
okre¶liæ ¶cie¿kê dostêpu, okre¶liæ w jakich okoliczno¶ciach informacja ma
byæ wy¶wietlana i&nbsp;dla jakiej klasy u¿ytkowników.
<p>

Przy koñcu strony mo¿na ustawiæ kilka dodatkowych opcji dotycz±cych
zbiorów komunikatów. Najbardziej u¿yteczna z&nbsp;nich to <tt>Komunikat 
pocz±tkowy</tt>, która pozwala wybraæ zbiór wy¶wietlany przed wlogowaniem
siê u¿ytkownika.
<p>

<hr>

  070701000116b1000081a40000000000000002000000013d1fe2db00000421000000200000000000000000000000000000002500000003reloc/wuftpd/help/message.ru_RU.html  <header>Ñîîáùåíèÿ è Ïðèâåòñòâèÿ</header>

Ïåðâàÿ òàáëèöà íà äàííîé ñòðàíèöå ïîçâîëÿåò Âàì íàñòðîèòü ôàéëû ñîîáùåíèé äëÿ ïîêàçà ïîëüçîâàòåëÿì âî âðåìÿ ðåãèñòðàöèè â ñèñòåìå èëè ïðè ïåðåõîäå â îòäåëüíûå êàòàëîãè.
Äëÿ êàæäîãî ôàéëà ñîîáùåíèé Âû äîëæíû óêàçàòü ïóòü (àáñîëþòíûé èëè îòíîñèòåëüíûé ê êàòàëîãó), âûáðàòü - êîãäà îí ïîêàçûâàåòñÿ è êëàññ ïîëüçîâàòåëåé äëÿ êîòîðûõ ïîêàçûâàòü äàííîå ñîîáùåíèå (åñëè êëàññ íå óêàçàí, ôàéë áóäåò ïîêàçàí âñåì). <p>

Âòîðàÿ òàáëèöà - äëÿ íàñòðîéêè íà ôàéëû README. FTP ñåðâåð áóäåò òàêæå ïîêàçûâàòü âðåìÿ ïîñëåäíåé ìîäèôèêàöèè êàæäîãî ôàéëà, êàê ïðè ðåãèñòðàöèè, òàê è ïðè âõîäå â ñîîòâåòñòâóþùèé êàòàëîã. Äëÿ êàæäîãî ôàéëà README Âû äîëæíû óêàçàòü ïóòü, âûáðàòü - êîãäà îí ïîêàçûâàåòñÿ è êëàññ ïîëüçîâàòåëåé äëÿ êîòîðûõ ïîêàçûâàòü âðåìÿ ïîñëåäíåé ìîäèôèêàöè. <p>

Âíèçó ñòðàíèöû åñòü íåñêîëüêî äîïîëíèòåëüíûõ ïàðàìåòðîâ îòíîñÿùèõñÿ ê ôàéëàì ñîîáùåíèé. Íàèáîëåå ïîëåçíûì ÿâëÿåòñÿ ïàðàìåòð - <tt>Ïðåðåãèñòðàöèîííîå ïðèâåòñòâèå</tt>, êîòîðûé ïîçâîëÿåò Âàì âûáðàòü ôàéë îòîáðàæàåìûé äî ðåãèñòðàöèè ïîëüçîâàòåëÿ. <p> 

<hr>

   070701000116b2000081a40000000000000002000000013d1fe2da00000421000000200000000000000000000000000000002500000003reloc/wuftpd/help/message.ru_SU.html  <header>óÏÏÂÝÅÎÉÑ É ðÒÉ×ÅÔÓÔ×ÉÑ</header>

ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÎÁ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÅ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÎÁÓÔÒÏÉÔØ ÆÁÊÌÙ ÓÏÏÂÝÅÎÉÊ ÄÌÑ ÐÏËÁÚÁ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ×Ï ×ÒÅÍÑ ÒÅÇÉÓÔÒÁÃÉÉ × ÓÉÓÔÅÍÅ ÉÌÉ ÐÒÉ ÐÅÒÅÈÏÄÅ × ÏÔÄÅÌØÎÙÅ ËÁÔÁÌÏÇÉ.
äÌÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ ÓÏÏÂÝÅÎÉÊ ÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÕÔØ (ÁÂÓÏÌÀÔÎÙÊ ÉÌÉ ÏÔÎÏÓÉÔÅÌØÎÙÊ Ë ËÁÔÁÌÏÇÕ), ×ÙÂÒÁÔØ - ËÏÇÄÁ ÏÎ ÐÏËÁÚÙ×ÁÅÔÓÑ É ËÌÁÓÓ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÄÌÑ ËÏÔÏÒÙÈ ÐÏËÁÚÙ×ÁÔØ ÄÁÎÎÏÅ ÓÏÏÂÝÅÎÉÅ (ÅÓÌÉ ËÌÁÓÓ ÎÅ ÕËÁÚÁÎ, ÆÁÊÌ ÂÕÄÅÔ ÐÏËÁÚÁÎ ×ÓÅÍ). <p>

÷ÔÏÒÁÑ ÔÁÂÌÉÃÁ - ÄÌÑ ÎÁÓÔÒÏÊËÉ ÎÁ ÆÁÊÌÙ README. FTP ÓÅÒ×ÅÒ ÂÕÄÅÔ ÔÁËÖÅ ÐÏËÁÚÙ×ÁÔØ ×ÒÅÍÑ ÐÏÓÌÅÄÎÅÊ ÍÏÄÉÆÉËÁÃÉÉ ËÁÖÄÏÇÏ ÆÁÊÌÁ, ËÁË ÐÒÉ ÒÅÇÉÓÔÒÁÃÉÉ, ÔÁË É ÐÒÉ ×ÈÏÄÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ. äÌÑ ËÁÖÄÏÇÏ ÆÁÊÌÁ README ÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÐÕÔØ, ×ÙÂÒÁÔØ - ËÏÇÄÁ ÏÎ ÐÏËÁÚÙ×ÁÅÔÓÑ É ËÌÁÓÓ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÄÌÑ ËÏÔÏÒÙÈ ÐÏËÁÚÙ×ÁÔØ ×ÒÅÍÑ ÐÏÓÌÅÄÎÅÊ ÍÏÄÉÆÉËÁÃÉ. <p>

÷ÎÉÚÕ ÓÔÒÁÎÉÃÙ ÅÓÔØ ÎÅÓËÏÌØËÏ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÐÁÒÁÍÅÔÒÏ× ÏÔÎÏÓÑÝÉÈÓÑ Ë ÆÁÊÌÁÍ ÓÏÏÂÝÅÎÉÊ. îÁÉÂÏÌÅÅ ÐÏÌÅÚÎÙÍ Ñ×ÌÑÅÔÓÑ ÐÁÒÁÍÅÔÒ - <tt>ðÒÅÒÅÇÉÓÔÒÁÃÉÏÎÎÏÅ ÐÒÉ×ÅÔÓÔ×ÉÅ</tt>, ËÏÔÏÒÙÊ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ×ÙÂÒÁÔØ ÆÁÊÌ ÏÔÏÂÒÁÖÁÅÍÙÊ ÄÏ ÒÅÇÉÓÔÒÁÃÉÉ ÐÏÌØÚÏ×ÁÔÅÌÑ. <p> 

<hr>

   070701000116b3000081a40000000000000002000000013d1fe2da000003a5000000200000000000000000000000000000002200000003reloc/wuftpd/help/message.sv.html <header>Meddelanden</header>

I den första tabellen kan man ange de meddelandefiler som ska visas för
användaren vid inloggning eller när användaren byter till någon speciell
katalog. För varje meddelandefil måste man ange en sökväg (absolut eller
relativt katalogen), när filen ska visas och de användarklasser som ska
få se filen. Om inga användarklasser anges kommer texten i filen att visas
för alla.

<p>I den andra tabellen gör man inställningar för README-filer. Vid inloggning
eller när användaren byter till någon speciell katalog talar FTP-servern om
när filerna senast ändrades. För varje README-fil måste man ange en sökväg,
när filen ska visas och de användarklasser som ska få se ändringsdatum.

<p>Längst ned på sidan finns ytterligare några inställningar för meddelanden.
Den mest användbara är <tt>Meddelande före inloggning</tt>, som ger
möjlighet att visa meddelanden för användaren innan den har loggat in.

<hr>
   070701000116b4000081a40000000000000002000000013d1fe2da00000249000000200000000000000000000000000000002a00000003reloc/wuftpd/help/message.zh_TW.Big5.html <header>°T®§»P¼ÐÃD</header>

³o¤@­¶ªº²Ä¤@­Óªí®æ¥i¥HÅý±z²ÕºA­nÅã¥Üªº°T®§ÀÉ®×, ³o¨Ç°T®§¥i¯à¦bµn¤J®É©Î¶i¤J¯S©w¥Ø¿ý®É³QÅã¥Ü. ¹ï©ó¨C¤@­Ó°T®§, ±z¥²¶·«ü©w¤@­Ó¸ô®| (µ´¹ï¸ô®|©Î¬Û¹ï¨ì«ü©wªº¸ô®|), ¿ï¾Ü­nÅã¥Üªº®É¾÷, ­nÅã¥Ü°T®§ªº¨Ï¥ÎªÌÃþ§O (¦pªG¨S¦³«ü©wÃþ§O, ±N·|Åã¥Üµ¹©Ò¦³ªº¨Ï¥ÎªÌ). <p>

²Ä¤G­Óªí®æ«h¬O¥Î¥H²ÕºAÅª§ÚÀÉ®×. ¦bµn¤J©Î¶i¤J¯S©wªº¥Ø¿ý®É, FTP ¦øªA¾¹¥i¥HÅã¥Ü¨C¤@­ÓÀÉ®×³Ìªñ§ó·sªº®É¶¡. ¹ï©ó¨C¤@­ÓÅª§ÚÀÉ®×, ±z¥²¶·«ü©w¨ä¸ô®|, Åã¥Üªº®É¾÷, ¨Ã¿ï¾Ü­nÅã¥Üªº¨Ï¥ÎªÌµ¥¯Å. <p>

¦bµe­±ªº©³ºÝ¦³¤@¨ÇÃö©ó°T®§ÀÉ®×ªºÃB¥~¿ï¶µ. ³Ì¦³¥Îªº¬O<tt>µn¤J«e¼ÐÃD</tt>¿ï¶µ, ³o¥i¥H¦b¨Ï¥ÎªÌµn¤J¤§«e¥ýÅã¥Ü¤@­ÓÀÉ®×. <p>

<hr>

   070701000116b5000081a40000000000000002000000013d1fe2db000002da000000200000000000000000000000000000001f00000003reloc/wuftpd/help/misc.ca.html    <header>Opcions Miscel·lànies</header>

Aquesta pàgina conté opcions que no encaixen a cap altre categoria.
La més útil és la taula de la segona secció que permet establir el nivell
<i>nice</i> (prioritat de procés) de les sessions FTP per classe. Un 
nivell <i>nice</i> negatiu dona a la sessió una prioritat de CPU més alta,
mentre que un valor positiu li dóna una prioritat inferior. En la majoria
de sistemes operatius, les nivells <i>nice</i> permissibles van des des
-20 a 20.
<p>

La taula inferior estableix la màscara de permisos de fitxers per a fitxers
i directoris nous, per classe. Per exemple, una <i>umask</i> de <tt>0700</tt>
donaria als fitxers pujats de nou uns permisos de 077 (<tt>---rw-rw-</tt>).
<p>

<hr>


  070701000116b6000081a40000000000000002000000013d1fe2da000002dc000000200000000000000000000000000000001f00000003reloc/wuftpd/help/misc.es.html    <header>Opciones Varias</header>

Esta página contiene opciones que no se encuadran dentro de cualquier
otra categoría. La más útil es la tabla de la segunda sección, la cual
te permite poner el nivel de 'nice' (prioridad de proceso) de las sesiones
FTP por clase. Un nivel de nice negativo le da a la sesión una prioridad
de UCP mayor, mientras que un nivel de nice positivo le da una prioridad
menor. En la mayoría de sistemas operativos, el rango permitido de nivel
de nice es -20 a 20.<p>

La tabla inferior pone la máscara de permisos de archivo para los nuevos
archivos y directorios, por clases. Por ejemplo, una máscara de <tt>0700</tt>
daría a los nuevos archivos cargados permisos de 077 (<tt>---rw-rw-</tt>). <p>

<hr>


070701000116d0000081a40000000000000002000000013d1fe2da00000310000000200000000000000000000000000000001f00000003reloc/wuftpd/help/misc.fr.html    <header>Autres Options</header>

Cette page content des options qui ne correspondent à aucune autre catégorie.  Les plus utiles se situent dans la seconde section, qui vous permet de définir le niveau de priorité du processus selon la classe.  Une valeur négative donne à la session une plus grande priorité sur l'utilisation du processeur, tandis qu'une valeur positive ne consommera de la puissance processeurs que si elle est diponible.  Sur la majorité des systèmes, les valeurs acceptés sont entre -20 et 20.<p>

Le bas de la table vous permet de définir le masque des permissions des nouveaux fichiers et répertoire créer par une classe.  Par exemple, le masque de <tt>0700</tt> donne au nouveaux fichiers et répertoires créer la permission 077 (<tt>---rw-rw-</tt>).<p>

<hr>


070701000116d1000081a40000000000000002000000013d1fe2da00000289000000200000000000000000000000000000001c00000003reloc/wuftpd/help/misc.html   <header>Miscellaneous Options</header>

This page contains options that don't really fit in any other category.
Most useful is the table in the second section that allows you to set
the nice level (process priority) for FTP sessions by class. A negative
nice level gives the session a higher CPU priority, while a positive
nice level gives a lower priority. On most operating systems, the allowable
nice levels range from -20 to 20. <p>

The bottom table sets the file permissions mask for new files and directories
by class. For example, a umask of <tt>0700</tt> would give newly uploaded
files permissions of 077 (<tt>---rw-rw-</tt>). <p>

<hr>


   070701000116d2000081a40000000000000002000000013d1fe2db00000297000000200000000000000000000000000000001f00000003reloc/wuftpd/help/misc.pl.html    <header>Opcje ró¿ne</header>

Na stronie mo¿na zdefiniowaæ opcje, które trudno zaliczyæ do której¶
z&nbsp;innych kategorii. Naju¿yteczniejsza jest druga tabela, która
umo¿liwia wybór poziomu "nice" (priorytetu procesu) dla sesji FTP okre¶lonej
klasy. Im mniejsza liczba "nice", tym wiêkszy priorytet. Wiêkszo¶æ systemów
zezwala na poziom "nice" zawarty pomiêdzy -20 a&nbsp;20. 
<p>

Ostatnia tabela umo¿liwia zdefiniowanie domy¶lnej maski atrybutów ("umask")
zbiorów i&nbsp;kartotek tworzonych przez u¿ytkowników okre¶lonych klas. Na
przyk³ad maska <tt>0700</tt> nada nowo przetransmitowanym na serwer zbiorom
atrybuty 077, czyli (<tt>---rw-rw-</tt>). 
<p>

<hr>
 070701000116d3000081a40000000000000002000000013d1fe2db00000293000000200000000000000000000000000000002200000003reloc/wuftpd/help/misc.ru_RU.html <header>Ïðî÷èå Ïàðàìåòðû</header>

Äàííàÿ ñòðàíèöà ñîäåðæèò ïàðàìåòðû, êîòîðûå íå îòíîñÿòñÿ íè ê îäíîé èç äðóãèõ êàòåãîðèé.
Íàèáîëåå ïîëåçíà òàáëèöà âî âòîðîé ñåêöèè, êîòîðàÿ ïîçâîëÿåò Âàì óñòàíîâèòü ïðèîðèòåò ïðîöåññà FTP ïî êëàññàì. Îòðèöàòåëüíîå çíà÷åíèå äàåò áîëåå âûñîêèé ïðèîðèòåò ïðîöåññà, à ïîëîæèòåëüíîå çíà÷åíèå äàåò ìåíåå âûñîêèé ïðèîðèòåò.
Íà áîëüøèíñòâå îïåðàöèîííûõ ñèñòåì äîïóñòèìûå óðîâíè ïðèîðèòåòà íàõîäÿòñÿ â äèàïàçîíå îò -20 äî 20. <p>

Íèæíÿÿ òàáëèöà óñòàíàâëèâàåò ìàñêó ïðàâ ôàéëà äëÿ íîâûõ ôàéëîâ è êàòàëîãîâ ïî êëàññàì. Íàïðèìåð, äëÿ umask=<tt>0700</tt> ïðàâà íîâîãî çàãðóæåííîãî ôàéëà ñòàíîâÿòñÿ 077 (<tt>---rw-rw-</tt>). <p>

<hr>


 070701000116d4000081a40000000000000002000000013d1fe2da00000293000000200000000000000000000000000000002200000003reloc/wuftpd/help/misc.ru_SU.html <header>ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ</header>

äÁÎÎÁÑ ÓÔÒÁÎÉÃÁ ÓÏÄÅÒÖÉÔ ÐÁÒÁÍÅÔÒÙ, ËÏÔÏÒÙÅ ÎÅ ÏÔÎÏÓÑÔÓÑ ÎÉ Ë ÏÄÎÏÊ ÉÚ ÄÒÕÇÉÈ ËÁÔÅÇÏÒÉÊ.
îÁÉÂÏÌÅÅ ÐÏÌÅÚÎÁ ÔÁÂÌÉÃÁ ×Ï ×ÔÏÒÏÊ ÓÅËÃÉÉ, ËÏÔÏÒÁÑ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕÓÔÁÎÏ×ÉÔØ ÐÒÉÏÒÉÔÅÔ ÐÒÏÃÅÓÓÁ FTP ÐÏ ËÌÁÓÓÁÍ. ïÔÒÉÃÁÔÅÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÁÅÔ ÂÏÌÅÅ ×ÙÓÏËÉÊ ÐÒÉÏÒÉÔÅÔ ÐÒÏÃÅÓÓÁ, Á ÐÏÌÏÖÉÔÅÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÁÅÔ ÍÅÎÅÅ ×ÙÓÏËÉÊ ÐÒÉÏÒÉÔÅÔ.
îÁ ÂÏÌØÛÉÎÓÔ×Å ÏÐÅÒÁÃÉÏÎÎÙÈ ÓÉÓÔÅÍ ÄÏÐÕÓÔÉÍÙÅ ÕÒÏ×ÎÉ ÐÒÉÏÒÉÔÅÔÁ ÎÁÈÏÄÑÔÓÑ × ÄÉÁÐÁÚÏÎÅ ÏÔ -20 ÄÏ 20. <p>

îÉÖÎÑÑ ÔÁÂÌÉÃÁ ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÁÓËÕ ÐÒÁ× ÆÁÊÌÁ ÄÌÑ ÎÏ×ÙÈ ÆÁÊÌÏ× É ËÁÔÁÌÏÇÏ× ÐÏ ËÌÁÓÓÁÍ. îÁÐÒÉÍÅÒ, ÄÌÑ umask=<tt>0700</tt> ÐÒÁ×Á ÎÏ×ÏÇÏ ÚÁÇÒÕÖÅÎÎÏÇÏ ÆÁÊÌÁ ÓÔÁÎÏ×ÑÔÓÑ 077 (<tt>---rw-rw-</tt>). <p>

<hr>


 070701000116d5000081a40000000000000002000000013d1fe2da00000272000000200000000000000000000000000000001f00000003reloc/wuftpd/help/misc.sv.html    <header>Blandade inställningar</header>

På denna sida finns inställningar som inte riktigt passar in i någon annan
kategori. Den mest användbara är sektion två, där man kan ställa in
nice-nivå (processprioritet) per klass för FTP-sessionerna. En negativ
nice-nivå ger sessionen högre CPU-prioritet och en positiv nice-nivå ger lägre
prioritet. I de flesta operativsystem sträcker sig nice-nivåerna från -20
till 20.

<p>I tabellen längst ned sätts standard-umask för nedladdade filer och
kataloger per klass. Exempelvis gör umasken <tt>0700</tt> att filer
som laddats ned får filrättigheterna 077 (<tt>---rw-rw-</tt>).

<hr>
  070701000116d6000081a40000000000000002000000013d1fe2da000001a5000000200000000000000000000000000000002700000003reloc/wuftpd/help/misc.zh_TW.Big5.html    <header>¨ä¥L¿ï¶µ</header>

³o¤@­¶¥]§t¤F¤£ÄÝ©ó¨ä¥L¤ÀÃþªº¿ï¶µ. ³Ì¦³¥Îªº¬O²Ä¤G­Ó°Ï°ì¤¤ªºªí®æ, ³o¥i¥HÅý±z³]©w¨C­Óµ¥¯Å¨Ï¥ÎªÌªº FTP µ{§ÇÀu¥ý­È. ¤@­Ó­tªºÀu¥ý­È¥i¥H¾Ö¦³¸û¤@¯ëµ{§Ç¬°¦hªº CPU ®É¶¡, ¦Ó¥¿ªº¼Æ­È¸û¤Ö. ¹ï©ó¤j¦h¼Æªº§@·~¨t²Î¦Ó¨¥, ¥i¥ÎªºÀu¥ý­È¬° -20 ¨ì 20 ¶¡ªº¾ã¼Æ. <p>

©³ºÝªºªí®æ¥i¥H³]©w«Ø¥ß·sÀÉ®×©Î¥Ø¿ý®ÉªºÀÉ®×Åv­­¾B¸n (umask). Á|¨Ò¨Ó»¡, ¤@­Ó <tt>0700</tt> ªº¾B¸n·|¨Ï·sÀÉ®×ªºÅv­­¬° 077 (<tt>---rw-rw-</tt>). <p>

<hr>


   070701000116d7000081a40000000000000002000000013d1fe2db000001dd000000200000000000000000000000000000001e00000003reloc/wuftpd/help/net.ca.html <header>Xarxa</header>

La primera taula d'aquesta pàgina permet establir la mida de la finestra
TCP utilitzada pel servidor FTP per a les connexions client. La mida de la
finestra pes pot establir per a totes les classes, o per a classes
seleccionades individualment.
<p>

Les taules segona i tercera són per configurar l'adreça IP de destinació 
i el port utilitzat per a connexions PASV des dels clients que coincideixin 
amb l'adreça IP i els bits de xarxa donats.

<hr>


   070701000116d9000081a40000000000000002000000013d1fe2da000001e2000000200000000000000000000000000000001e00000003reloc/wuftpd/help/net.es.html <header>Trabajando en red</header>

La primera tabla de esta página te permite poner la medida de ventana TCP
que utiliza el servidor FTP para las conexiones de clientes. La medida de
la ventana puede ser puesta para todas las clases o para las clases
seleccionadas individualmente.<p>

La segunda y tercera tablas son para configurar la dirección IP de destino y
el puerto usado para las conexciones PASV desde clientes que coincidan con
la dirección IP dada y bits de red.

<hr>

  070701000116da000081a40000000000000002000000013d1fe2da000001ca000000200000000000000000000000000000001e00000003reloc/wuftpd/help/net.fr.html <header>Réseau</header>

La première table sur cette page vous permet de définir la taille de la fenêtre TCP utilisé par le serveur FTP pour la connexion des clients.  La taille de la fenêtre peut être défini pour toutes les classes, ou pour une classe individuelle.<p>

La deuxième et troisième table sont pour configurer l'adresse IP de destination et le port utilisé pour les connexion PASV des clients dont l'adresse IP correspond au bits réseau.

<hr>

  070701000116db000081a40000000000000002000000013d1fe2da00000199000000200000000000000000000000000000001b00000003reloc/wuftpd/help/net.html    <header>Networking</header>

The first table on this page allows you to set the TCP window size used
by the FTP server for client connections. The window size can be set for all
classes, or for selected classes individually. <p>

The second and third tables are for configuring the destination IP address and
port used for PASV connections from clients matching the given IP address
and network bits. 

<hr>

   070701000116dc000081a40000000000000002000000013d1fe2da000001b6000000200000000000000000000000000000001e00000003reloc/wuftpd/help/net.pl.html <header>Opcje sieci</header>

Pierwsza tabela na stronie pozwala na ustawienie wielko¶ci okna po³±czenia
TCP, którego serwer u¿yje go komunikacji z&nbsp;klientem. Wielko¶æ mo¿e byæ
ustawiona dla wszystkich klas, lub indywidualnie dla poszczególnych klas.
<p>

Druga i&nbsp;trzecia tabela s³u¿± do skonfigurowania adresów IP
i&nbsp;portów u¿ywanych do po³±czeñ typu PASV od klientów z&nbsp;okre¶lonych
numerów IP i&nbsp;sieci. 
<p>

<hr>

  070701000116dd000081a40000000000000002000000013d1fe2db000001af000000200000000000000000000000000000002100000003reloc/wuftpd/help/net.ru_RU.html  <header>Ñåòü</header>

Ïåðâàÿ òàáëèöà íà äàííîé ñòðàíèöå ïîçâîëÿåò Âàì óñòàíîâèòü ðàçìåð îêíà TCP èñïîëüçóåìîãî FTP ñåðâåðîì äëÿ êëèåíòñêèõ ñîåäèíåíèé. Ðàçìåð îêíà ìîæåò áûòü óñòàíîâëåí äëÿ âñåõ êëàññîâ, èëè èíäèâèäóàëüíî äëÿ âûáðàííûõ êëàññîâ. <p>

Âòîðàÿ è òðåòüÿ òàáëèöû - äëÿ íàñòðîéêè IP àäðåñà íàçíà÷åíèÿ è ïîðòà èñïîëüçóåìîãî äëÿ PASV ñîåäèíåíèé îò êëèåíòîâ ñîâïàäàþùèõ ñ îïðåäåëåííûìè IP àäðåñàìè è ñåòåâûìè áèòàìè.

<hr>

 070701000116de000081a40000000000000002000000013d1fe2da000001af000000200000000000000000000000000000002100000003reloc/wuftpd/help/net.ru_SU.html  <header>óÅÔØ</header>

ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÎÁ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÅ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÕÓÔÁÎÏ×ÉÔØ ÒÁÚÍÅÒ ÏËÎÁ TCP ÉÓÐÏÌØÚÕÅÍÏÇÏ FTP ÓÅÒ×ÅÒÏÍ ÄÌÑ ËÌÉÅÎÔÓËÉÈ ÓÏÅÄÉÎÅÎÉÊ. òÁÚÍÅÒ ÏËÎÁ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎ ÄÌÑ ×ÓÅÈ ËÌÁÓÓÏ×, ÉÌÉ ÉÎÄÉ×ÉÄÕÁÌØÎÏ ÄÌÑ ×ÙÂÒÁÎÎÙÈ ËÌÁÓÓÏ×. <p>

÷ÔÏÒÁÑ É ÔÒÅÔØÑ ÔÁÂÌÉÃÙ - ÄÌÑ ÎÁÓÔÒÏÊËÉ IP ÁÄÒÅÓÁ ÎÁÚÎÁÞÅÎÉÑ É ÐÏÒÔÁ ÉÓÐÏÌØÚÕÅÍÏÇÏ ÄÌÑ PASV ÓÏÅÄÉÎÅÎÉÊ ÏÔ ËÌÉÅÎÔÏ× ÓÏ×ÐÁÄÁÀÝÉÈ Ó ÏÐÒÅÄÅÌÅÎÎÙÍÉ IP ÁÄÒÅÓÁÍÉ É ÓÅÔÅ×ÙÍÉ ÂÉÔÁÍÉ.

<hr>

 070701000116df000081a40000000000000002000000013d1fe2da00000183000000200000000000000000000000000000001e00000003reloc/wuftpd/help/net.sv.html <header>Nätverk</header>

I den första tabellen kan man ange storlek på det TCP-fönster som FTP-servern
använder för klientuppkopplingar. Fönsterstorleken kan anges generellt eller
olika för olika klasser.

<p>I den andra och tredje tabellen ställer man in destinations-IP-adress och
port som ska användas för PASV-uppkopplingar från klienter på angivna
IP-adresser och nätmaskar.

<hr>
 070701000116e0000081a40000000000000002000000013d1fe2da000000f9000000200000000000000000000000000000002600000003reloc/wuftpd/help/net.zh_TW.Big5.html <header>ºô¸ô</header>

³o¤@­¶ªº²Ä¤@­Óªí®æ¥i¥HÅý±z³]©w¨Ï¥Î¦b FTP ³s½uªº TCP ªºµ¡¤f¤j¤p. ³o­Óµ¡¤f¤j¤p¥i¥H«ü©wµ¹©Ò¦³µ¥¯Åªº¨Ï¥ÎªÌ©Î¯S©wªºµ¥¯Å. <p>

²Ä¤G­Ó»P²Ä¤T­Óªí®æ³]©w±q²Å¦Xµ¹¤©ªº IP ¦ì§}»Pºô¸ô¦ì¤¸«È¤áºÝ¨Ï¥Î PASV ³s½u®É¥Ø¼Ðªº IP ¦ì§}»P³q°T°ð.

<hr>

   070701000116e1000081a40000000000000002000000013d1fe2db00000434000000200000000000000000000000000000001f00000003reloc/wuftpd/help/perm.ca.html    <header>Permisos</header>

La primera taula d'aquest pàgina es pot fer servir per denegar l'accés a
certes ordres no vitals. Per cada ordre, pots triar si vols permetre o
denegar l'accés, i triar a quins tipus i classes d'usuaris se'ls ha de
permetre o denegar. Per defecte, a menys que es deneguin, totes les ordres
estan disponibles per a tots els usuaris.
<p>

La segona taula permet evitar la puja de fitxers que contenen certs caràcters
o que coincideixen amb certes expressions regulars. Això pot ser molt útil
si el teu servidor FTP anònim té un directori <tt>incoming</tt> i vols
evitar que els usuaris creïn directoris "ocults" per emmagatzemar-hi "warez".
EL primer camp de la taula és una expressió regular com <tt>^[A-z0-9]$</tt>
que defineix els caràcters permissibles, el segon és una sèrie d'expressions
de noms de fitxers que <b>no</b> estan permesos, el tercer són els tipus
d'usuaris a què s'aplica aquesta restricció, i la columna final és el camí
complet del fitxer de missatge d'error que s'ha d'enviar al client FTP si
es puja un fitxer i·legal.

<hr>


070701000116e2000081a40000000000000002000000013d1fe2da00000481000000200000000000000000000000000000001f00000003reloc/wuftpd/help/perm.es.html    <header>Permisos</header>

Los controles de la primera tabla de esta página pueden usarse para denegar
el acceso a ciertos comandos no vitales. Para cada comando puedes escoger
si permitir o denegar el aceso y seleccionar qué tipos de usuario y clases
tendrán y no tendrán acceso. A menos que esté denegado, cualquier comando
está disponible para cualquier usuario, por defecto.<p>

La segunda tabla te permite prevenir la carga de archivos que contengan
ciertos caracteres o que coincidan con ciertas expresiones regulares. Esto
puede ser muy útil si tu servidor anónimo FTP tiene un directorio
<tt>incoming</tt> y quieres prevenir que los usuarios creen directorios
ocultos para almacenar basura. El primer campo de la tabla es una expresión
como <tt>^[A-z0-9]$</tt> que define los caracters autorizados, la segunda
es una serie de expresiones regulares para nombres de archivo que <b>no</b>
están autorizados, la tercera consiste en los tipos de usuario a los que
se aplica esta restricción y la columna final es la trayectoria completa
a un archivo de mensajes de error a ser enviado al cliente FTP si ocurre
una carga de archivo ilegal. <p>

<hr>

   070701000116e3000081a40000000000000002000000013d1fe2da000004ab000000200000000000000000000000000000001f00000003reloc/wuftpd/help/perm.fr.html    <header>Permissions</header>

La première table sur cette page peut être utilisé pour refuser l'accès a certaine commandes non-vitale.  Pour chaque commande, vous pouvez choisir d'allouer ou refuser l'accès et choisir quel types d'usager et de classes devraient être alloué ou refuser.  Jusqu'a ce qu'elle soit refuser, tout les commandes sont disponiable a tout les usagers par défaut.<p>

La deuxième table vous permet de prévenir l'envoie de fichiers qui contient certain caractères ou qui corresponde a certaine expressions régulières.  Ceci peut être très utile si vous avec un serveur FTP anonyme qui contient un répertoire <tt>incoming</tt> et que vous souhaitez empecher les usagers de créer certain répertoire "caché" pour y garder du "warez".  Le premier champs de la table est une expression régulière comme <tt>^[A-z0-9]$</tt> qui définit les caractères alloués, le second est une série d'expression régulière pour les nom de fichiers qui <b>ne sont pas</b> accepté,  le troisième champs est le types d'usagers que cette restriction s'applique, et la dernière colonne le chemin du fichier de message d'erreur qui sera envoyé au client FTP si un fichier illégal est envoyé.<p>

<hr>

 0707010001173f000081a40000000000000002000000013d1fe2da000003f0000000200000000000000000000000000000001c00000003reloc/wuftpd/help/perm.html   <header>Permissions</header>

The first table on this page controls can be used to deny access to certain
non-vital commands. For each command, you can choose whether to allow or
deny access and choose which user types and classes it should be allowed or
denied to. Unless denied, all commands are available to all users by
default. <p>

The second table allow you to prevent the upload of files that contain
certain characters or matching certain regular expressions. This can be
very useful if your anonymous FTP server has an <tt>incoming</tt> directory
and you want to prevent users creating 'hidden' directories to store warez
in. The first field in the table is a regexp like <tt>^[A-z0-9]$</tt> that
defines allowable characters, the second is a series of regexps for filenames
that are <b>not</b> allowed, the third is the user types that this restriction
applies to, and the final column the full path to an error message file
to be sent to the FTP client if an illegal file is uploaded. <p>

<hr>

07070100011740000081a40000000000000002000000013d1fe2da00000435000000200000000000000000000000000000001f00000003reloc/wuftpd/help/perm.pl.html    <header>Uprawnienia</header>

Pierwsza tabela umo¿liwia ograniczenie stosowania pewnych poleceñ. Dla
ka¿dego polecenia mo¿na zabroniæ lub zezwoliæ na jego wykonanie okre¶lonemu
typowi lub klasie u¿ytkowników. Domy¶lnie wszyscy u¿ytkownicy maj± prawo
wykonywaæ wszystkie polecenia. 
<p>

Druga tabela umo¿liwia wprowadzenie zakazu przesy³ania do serwera zbiorów,
których nazwa zawiera okre¶lone znaki lub pasuje do wyra¿enia regularnego.
Taki zakaz mo¿e byæ u¿yteczny na anonimowych serwerach FTP zawieraj±cych
kartotekê dla zbiorów przychodz±cych (na przyk³ad <tt>incoming</tt>),
w&nbsp;celu zapobie¿enia tworzeniu "ukrytych" kartotek z&nbsp;niepo¿±dan±
zawarto¶ci±. Pierwsze pole w&nbsp;tabeli jest wyra¿eniem regularnym (jak
na przyk³ad <tt>^[A-z0-9]$</tt>), które definiuje dozwolone znaki.
Drugie pola zawiera wyra¿enia regularne opisuj±ce niedozwolone nazwy,
trzecie - typy u¿ytkowników, których dotyczy ograniczenie, a&nbsp;ostatnia
kolumna zawiera pe³n± ¶cie¿kê do pliku z&nbsp;komunikatem b³êdu wysy³anym
do klienta FTP usi³uj±cego przys³aæ nielegalny zbiór.
<p>

<hr>
   07070100011741000081a40000000000000002000000013d1fe2db00000476000000200000000000000000000000000000002200000003reloc/wuftpd/help/perm.ru_RU.html <header>Ïðàâà</header>

Ïåðâàÿ òàáëèöà íà äàííîé ñòðàíèöå èñïîëüçóåòñÿ äëÿ ïðåäîòâðàùåíèÿ äîñòóïà ê íåêàòîðûì íåáåçîïàñíûì êîìàíäàì.
Äëÿ êàæäîé êîìàíäû Âû ìîæåòå âûáðàòü - êîãäà ðàçðåøàòü èëè êîãäà çàïðåùàòü äîñòóï è âûáðàòü êàêîìó òèïó è êëàññó ïîëüçîâàòåëÿ ðàçðåøàòü èëè çàïðåùàòü äîñòóï.
Ïîêà íå çàïðåùåíû, âñå êîìàíäû äîñòóïíû äëÿ âñåõ ïîëüçîâàòåëåé ïî óìîë÷àíèþ. <p>

Âòîðàÿ òàáëèöà ïîçâîëÿåò Âàì ïðåäîòâðàòèòü çàãðóçêó ôàéëîâ èìåþùèõ îòðåäåëåííûå  ñèìâîëû â íàçâàíèè èëè ñîâïàäàþùèå ñ îïðåäåëåííûìè ðåãóëÿðíûìè âûðàæåíèÿìè.
Ýòî ìîæåò áûòü î÷åíü ïîëåçíî, åñëè Âàø àíîíèìíûé FTP ñåðâåð èìååò êàòàëîã <tt>incoming</tt> è Âû õîòèòå ïðåäîòâðàòèòü ñîçäàíèå ïîëüçîâàòåëÿìè "ñêðûòûõ" êàòàëîãîâ äëÿ õðàíåíèÿ âñåâîçìîæíîãî ìóñîðà. Ïåðâîå ïîëå â òàáëèöå - ðåãóëÿðíîå âûðàæåíèå òèïà <tt>^[A-z0-9]$</tt>, êîòîðîå îïðåäåëÿåò äîïóñòèìûå ñèìâîëû, âòîðîå - ñåðèÿ ðåãóëÿðíûõ âûðàæåíèé äëÿ èìåí ôàéëîâ, êîòîðûå <b>íå</b>ðàçðåøåíû, òðåòüå - òèïû ïîëüçîâàòåëåé ê êîòîðûì îòíîñÿòñÿ äàííûå îãðàíè÷åíèÿ è ïîñëåäíÿÿ êîëîíêà - ïîëíûé ïóòü ê ôàéëó ñîîáùåíèé îá îøèáêàõ ñîäåðæèìîå êîòîðîãî ïîêàçûâàåòñÿ êëèåíòó ïðè ïîïûòêå çàãðóçêè íåäîïóñòèìîãî ôàéëà. <p>

<hr>

  07070100011742000081a40000000000000002000000013d1fe2da00000476000000200000000000000000000000000000002200000003reloc/wuftpd/help/perm.ru_SU.html <header>ðÒÁ×Á</header>

ðÅÒ×ÁÑ ÔÁÂÌÉÃÁ ÎÁ ÄÁÎÎÏÊ ÓÔÒÁÎÉÃÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÄÏÓÔÕÐÁ Ë ÎÅËÁÔÏÒÙÍ ÎÅÂÅÚÏÐÁÓÎÙÍ ËÏÍÁÎÄÁÍ.
äÌÑ ËÁÖÄÏÊ ËÏÍÁÎÄÙ ÷Ù ÍÏÖÅÔÅ ×ÙÂÒÁÔØ - ËÏÇÄÁ ÒÁÚÒÅÛÁÔØ ÉÌÉ ËÏÇÄÁ ÚÁÐÒÅÝÁÔØ ÄÏÓÔÕÐ É ×ÙÂÒÁÔØ ËÁËÏÍÕ ÔÉÐÕ É ËÌÁÓÓÕ ÐÏÌØÚÏ×ÁÔÅÌÑ ÒÁÚÒÅÛÁÔØ ÉÌÉ ÚÁÐÒÅÝÁÔØ ÄÏÓÔÕÐ.
ðÏËÁ ÎÅ ÚÁÐÒÅÝÅÎÙ, ×ÓÅ ËÏÍÁÎÄÙ ÄÏÓÔÕÐÎÙ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ ÐÏ ÕÍÏÌÞÁÎÉÀ. <p>

÷ÔÏÒÁÑ ÔÁÂÌÉÃÁ ÐÏÚ×ÏÌÑÅÔ ÷ÁÍ ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÚÁÇÒÕÚËÕ ÆÁÊÌÏ× ÉÍÅÀÝÉÈ ÏÔÒÅÄÅÌÅÎÎÙÅ  ÓÉÍ×ÏÌÙ × ÎÁÚ×ÁÎÉÉ ÉÌÉ ÓÏ×ÐÁÄÁÀÝÉÅ Ó ÏÐÒÅÄÅÌÅÎÎÙÍÉ ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ.
üÔÏ ÍÏÖÅÔ ÂÙÔØ ÏÞÅÎØ ÐÏÌÅÚÎÏ, ÅÓÌÉ ÷ÁÛ ÁÎÏÎÉÍÎÙÊ FTP ÓÅÒ×ÅÒ ÉÍÅÅÔ ËÁÔÁÌÏÇ <tt>incoming</tt> É ÷Ù ÈÏÔÉÔÅ ÐÒÅÄÏÔ×ÒÁÔÉÔØ ÓÏÚÄÁÎÉÅ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ "ÓËÒÙÔÙÈ" ËÁÔÁÌÏÇÏ× ÄÌÑ ÈÒÁÎÅÎÉÑ ×ÓÅ×ÏÚÍÏÖÎÏÇÏ ÍÕÓÏÒÁ. ðÅÒ×ÏÅ ÐÏÌÅ × ÔÁÂÌÉÃÅ - ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ÔÉÐÁ <tt>^[A-z0-9]$</tt>, ËÏÔÏÒÏÅ ÏÐÒÅÄÅÌÑÅÔ ÄÏÐÕÓÔÉÍÙÅ ÓÉÍ×ÏÌÙ, ×ÔÏÒÏÅ - ÓÅÒÉÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ ÄÌÑ ÉÍÅÎ ÆÁÊÌÏ×, ËÏÔÏÒÙÅ <b>ÎÅ</b>ÒÁÚÒÅÛÅÎÙ, ÔÒÅÔØÅ - ÔÉÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Ë ËÏÔÏÒÙÍ ÏÔÎÏÓÑÔÓÑ ÄÁÎÎÙÅ ÏÇÒÁÎÉÞÅÎÉÑ É ÐÏÓÌÅÄÎÑÑ ËÏÌÏÎËÁ - ÐÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ ÓÏÄÅÒÖÉÍÏÅ ËÏÔÏÒÏÇÏ ÐÏËÁÚÙ×ÁÅÔÓÑ ËÌÉÅÎÔÕ ÐÒÉ ÐÏÐÙÔËÅ ÚÁÇÒÕÚËÉ ÎÅÄÏÐÕÓÔÉÍÏÇÏ ÆÁÊÌÁ. <p>

<hr>

  07070100011743000081a40000000000000002000000013d1fe2da000003dc000000200000000000000000000000000000001f00000003reloc/wuftpd/help/perm.sv.html    <header>Rättigheter</header>

I den första tabellen kan man begränsa tillgången till vissa kommandon.
För varje kommando kan man ange om det ska tillåtas eller förbjudas samt
för vilka användartyper och -klasser detta gäller. Om kommandot inte
förbjuds kommer det att vara tillåtet för alla användare.

<p>I den andra tabellen kan man spärra nedladdning av filer vars namn
innehåller vissa tecken eller som matchar vissa reguljära uttryck. Detta
är användbart om den anonyma FTP-servern har en katalog för <tt>inkommande</tt>
filer och man vill förhindra att användarna skapar 'dolda' kataloger att
lagra warez i. I det första fältet i tabellen kan man skriva in ett
reguljärt uttryck, t ex <tt>^[A-z0-9]$</tt>, som definierar tillåtna tecken.
I det andra fältet kan man skriva in reguljära uttryck för <b>icke</b>
tillåtna filnamn och i den sista kolumnen skriver man in fullständig sökväg
till den felmeddelandefil som ska skickas till FTP-klienten när en illegal
fil laddas ned.

<hr>
07070100011744000081a40000000000000002000000013d1fe2da00000262000000200000000000000000000000000000002700000003reloc/wuftpd/help/perm.zh_TW.Big5.html    <header>Åv­­</header>

³o¤@­¶ªº²Ä¤@­Óªí®æ¥i¥H¥Î©ó±±¨î¹ï¯S©w«D¥²­n©Ê«ü¥Oªº©Úµ´¦s¨ú. ¹ï¨C¤@­Ó«ü¥O, ±z¥i¥H¿ï¾Ü¤¹³\©Î©Úµ´, ¨Ã¿ï¾Ü­nÀ³¥Îªº¨Ï¥ÎªÌÃþ§O»Pµ¥¯Å. °£«D³Q©Úµ´, §_«h¹w³]ª¬ªp¤U«ü¥O¬O¤¹³\©Ò¦³¨Ï¥ÎªÌ¦s¨úªº. <p>

²Ä¤G­Óªí®æ¥i¥HÅý±z¨¾¤îÀÉ®×ªº¤W¶Ç, ¨Ã¨Ì¾Ú¥]§t¯S©wªº¦r¤¸©Î²Å¦X«ü©wªº¥¿³Wªí¥Ü¦¡¥H§PÂ_. ¹ï©ó¤¹³\¤W¶ÇÀÉ®×ªº°Î¦W FTP ¦øªA¾¹¥i¥HÁ×§K¨Ï¥ÎªÌ«Ø¥ß 'ÁôÂÃ' ªº¥Ø¿ý¥HÀx¦s³nÅé. ²Ä¤@­ÓÄæ¦ì¬O¤@­Ó¥¿³Wªí¥Ü¦¡, ¨Ò¦p <tt>^[A-z0-9]$</tt>, ³o©w¸q¤F¤¹³\ªº¦r¤¸; ²Ä¤G­Ó¬O<b>¤£</b>³Q¤¹³\ÀÉ¦Wªº¥¿³Wªí¥Ü¦¡; ²Ä¤T­ÓÄæ¦ì«h¬O­n®M¥Î¦bªº¨Ï¥ÎªÌÃþ§O; ³Ì«á¤@Äæ¬O¨Ï¥ÎªÌ¤W¶Ç¤£¦XªkÀÉ¦WÀÉ®×®É, °eµ¹ FTP «È¤áºÝ¿ù»~°T®§ÀÉ®×ªº§¹¾ã¸ô®|. <p>

<hr>

  0707010000d1bd000081a40000000000000002000000013d1fe2da000000ba000000200000000000000000000000000000001f00000003reloc/wuftpd/config-suse-linux    ftpgroups=/etc/ftpgroups
ftpd_path=/usr/sbin/wu.ftpd
ftphosts=/etc/ftphosts
ftpconversions=/etc/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpusers
ftpaccess=/etc/ftpaccess
  0707010000d1be000081a40000000000000002000000013d1fe2da000000d3000000200000000000000000000000000000002000000003reloc/wuftpd/config-turbo-linux   ftpgroups=/etc/ftpd/ftpgroups
ftpd_path=/usr/sbin/in.ftpd
ftphosts=/etc/ftpd/ftphosts
ftpconversions=/etc/ftpd/ftpconversions
pid_file=/var/run/ftpd.pid
ftpusers=/etc/ftpd/ftpusers
ftpaccess=/etc/ftpd/ftpaccess
 0707010000d1bf000081a40000000000000002000000013d1fe2db0000010d000000200000000000000000000000000000001900000003reloc/wuftpd/config.info  ftpd_path=Full path to wuftpd,0
ftpaccess=Full path to ftpaccess file,0
ftpconversions=Full path to ftpconversions file,0
ftpgroups=Full path to ftpgroups file,0
ftphosts=Full path to ftphosts file,0
ftpusers=Full path to ftpusers file,0
pid_file=FTP server PID file,0
   0707010000d1c0000081a40000000000000002000000013d1fe2db0000013b000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.ca   ftpd_path=Camí complet de wuftpd,0
ftpaccess=Camí complet del fitxer ftpaccess,0
ftpconversions=Camí complet del fitxer ftpconversions,0
ftpgroups=Camí complet del fitxer ftpgroups,0
ftphosts=Camí complet del fitxer ftphosts,0
ftpusers=Camí complet del fitxer ftpusers,0
pid_file=Fitxer de PID del servidor FTP,0


 0707010000d1c1000081a40000000000000002000000013d1fe2da00000133000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.de   ftpd_path=Absoluter Pfad zu wuftpd,0
ftpaccess=Absoluter Pfad zur ftpaccess Datei,0
ftpconversions=Absoluter Pfad zur ftpconversions Datei,0
ftpgroups=Absoluter Pfad zur ftpgroups Datei,0
ftphosts=Absoluter Pfad zur ftphosts Datei,0
ftpusers=Absoluter Pfad zur ftpusers Datei,0
pid_file=FTP Server PID Datei 0707010000d1c2000081a40000000000000002000000013d1fe2da00000162000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.es   ftpd_path=Trayectoria completa a wuftpd,0
ftpaccess=Trayectoria completa al archivo ftpaccess,0
ftpconversions=Trayectoria completa al archivo ftpconversions,0
ftpgroups=Trayectoria completa al archivo ftpgroups,0
ftphosts=Trayectoria completa al archivo ftphosts,0
ftpusers=Trayectoria completa al archivo ftpusers,0
pid_file=Archivo PID del servidor,0
  0707010000d1c3000081a40000000000000002000000013d1fe2db00000124000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.fr   ftpd_path=Chemin de wuftpd,0
ftpaccess=Chemin du fichier ftpaccess,0
ftpconversions=Chemin du fichier ftpconversions,0
ftpgroups=Chemin du fichier ftpgroups,0
ftphosts=Chemin du fichier ftphosts,0
ftpusers=Chemin du fichier ftpusers,0
pid_file=Fichier de numéro de processus du serveur ftp,0
0707010000d1c4000081a40000000000000002000000013d1fe2db00000134000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.hu   ftpd_path=A wuftpd teljes útvonala,0
ftpaccess=Az ftpaccess file teljes útvonala,0
ftpconversions=Az ftpconversions file teljes útvonala,0
ftpgroups=Az ftpgroups file teljes útvonala,0
ftphosts=Az ftphosts file teljes útvonala,0
ftpusers=Az ftpusers file teljes útvonala,0
pid_file=FTP szerver PID file-ja,0
0707010000d1c5000081a40000000000000002000000013d1fe2db00000170000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.pl   ftpd_path=Pe³na ¶cie¿ka do <tt>wuftpd</tt>,0
ftpaccess=Pe³na ¶cie¿ka do pliku <tt>ftpaccess</tt>,0
ftpconversions=Pe³na ¶cie¿ka do pliku <tt>ftpconversions</tt>,0
ftpgroups=Pe³na ¶cie¿ka do pliku <tt>ftpgroups</tt>,0
ftphosts=Pe³na ¶cie¿ka do pliku <tt>ftphosts</tt>,0
ftpusers=Pe³na ¶cie¿ka do pliku <tt>ftpusers</tt>,0
pid_file=Plik z&nbsp;numerem PID serwera FTP,0
0707010000d1c6000081a40000000000000002000000013d1fe2db00000119000000200000000000000000000000000000001f00000003reloc/wuftpd/config.info.ru_RU    ftpgroups=Ïîëíûé ïóòü ê ôàéëó ftpgroups,0
ftpd_path=Ïîëíûé ïóòü ê wuftpd,0
ftphosts=Ïîëíûé ïóòü ê ôàéëó ftphosts,0
ftpconversions=Ïîëíûé ïóòü ê ôàéëó ftpconversions,0
pid_file=PID ôàéë FTP ñåðâåðà,0
ftpusers=Ïîëíûé ïóòü ê ôàéëó ftpusers,0
ftpaccess=Ïîëíûé ïóòü ê ôàéëó ftpaccess,0
   0707010000d1c7000081a40000000000000002000000013d1fe2da00000119000000200000000000000000000000000000001f00000003reloc/wuftpd/config.info.ru_SU    ftpd_path=ðÏÌÎÙÊ ÐÕÔØ Ë wuftpd,0
ftpaccess=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ftpaccess,0
ftpconversions=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ftpconversions,0
ftpgroups=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ftpgroups,0
ftphosts=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ftphosts,0
ftpusers=ðÏÌÎÙÊ ÐÕÔØ Ë ÆÁÊÌÕ ftpusers,0
pid_file=PID ÆÁÊÌ FTP ÓÅÒ×ÅÒÁ,0
   0707010000d1c8000081a40000000000000002000000013d1fe2da00000149000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.sv   ftpd_path=Fullständig sökväg till wuftpd,0
ftpaccess=Fullständig sökväg till ftpaccess-fil,0
ftpconversions=Fullständig sökväg till ftpconversions-fil,0
ftpgroups=Fullständig sökväg till ftpgroups-fil,0
ftphosts=Fullständig sökväg till ftphosts-fil,0
ftpusers=Fullständig sökväg till ftpusers-fil,0
pid_file=FTP-server-PID-fil,0
   0707010000d1c9000081a40000000000000002000000013d1fe2db0000011c000000200000000000000000000000000000001c00000003reloc/wuftpd/config.info.tr   ftpd_path=wuftpd'nin tam yolu,0
ftpaccess=ftpaccess dosyasýnýn tam yolu,0
ftpconversions=ftpconversions dosyasýnýn tam yolu,0
ftpgroups=ftpgroups dosyasýnýn tam yolu,0
ftphosts=ftphosts dosyasýnýn tam yolu,0
ftpusers=ftpusers dosyasýnýn tam yolu,0
pid_file=FTP sunucusu PID dosyasý,0
0707010000d1ca000081a40000000000000002000000013d1fe2da000000e0000000200000000000000000000000000000001f00000003reloc/wuftpd/config.info.zh_CN    ftpd_path=wuftpd µÄÈ«Â·¾¶,0
ftpaccess=ftp´æÈ¡¿ØÖÆÎÄ¼þµÄÈ«Â·¾¶,0
ftpconversions=ftp ×ª»»ÎÄ¼þµÄÈ«Â·¾¶,0
ftpgroups=ftp ×éÎÄ¼þµÄÈ«Â·¾¶,0
ftphosts=ftpÖ÷»úÎÄ¼þµÄÈ«Â·¾¶,0
ftpusers=ftpÓÃ»§ÎÄ¼þµÄÈ«Â·¾¶,0
pid_file=FTP ·þÎñ PID ÎÄ¼þ,0
0707010000d1cb000081a40000000000000002000000013d1fe2da000000fa000000200000000000000000000000000000002400000003reloc/wuftpd/config.info.zh_TW.Big5   ftpd_path=¨ì weftpd ªº§¹¾ã¸ô®|,0
ftpaccess=¨ì ftpaccess ªº§¹¾ã¸ô®|,0
ftpconversions=¨ì ftpconversions ªº§¹¾ã¸ô®|,0
ftpgroups=¨ì ftpgroups ªº§¹¾ã¸ô®|,0
ftphosts=¨ì ftphosts ªº§¹¾ã¸ô®|,0
ftpusers=¨ì ftpusers ªº§¹¾ã¸ô®|,0
pid_file=FTP ¦øªA¾¹ PID ÀÉ®×,0
  0707010000d1cc000081e40000000000000002000000013d1fe2db00002104000000200000000000000000000000000000001a00000003reloc/wuftpd/edit_acl.cgi #!/usr/local/bin/perl
# edit_acl.cgi
# Display access control options

require './wuftpd-lib.pl';
&header($text{'acl_title'}, "", "acl");
print "<hr>\n";

$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

print "<form action=save_acl.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'acl_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display addresses to deny from
@deny = ( &find_value("deny", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'acl_deny'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'acl_daddrs'}</b></td>\n",
      "<td><b>$text{'acl_dmsg'}</b></td> </tr>\n";
$i = 0;
foreach $d (@deny) {
	print "<tr $cb>\n";
	print "<td><input name=daddrs_$i size=20 value='$d->[0]'></td>\n";
	print "<td><input name=dmsg_$i size=35 value='$d->[1]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display concurrent login limits
@limit = ( &find_value("limit", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'acl_limit'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'acl_class'}</b></td>\n",
      "<td><b>$text{'acl_n'}</b></td>\n",
      "<td><b>$text{'acl_times'}</b></td>\n",
      "<td><b>$text{'acl_lmsg'}</b></td> </tr>\n";
$i = 0;
foreach $l (@limit) {
	print "<tr $cb>\n";
	print "<td><select name=lclass_$i>\n";
	printf "<option value='' %s>&nbsp;\n", $l->[0] ? '' : 'checked';
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$l->[0] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td>\n";

	printf "<td><input type=radio name=ln_def_$i value=1 %s> %s\n",
		$l->[1] =~ /^\d+$/ ? '' : 'checked', $text{'acl_unlimited'};
	printf "<input type=radio name=ln_def_$i value=0 %s>\n",
		$l->[1] =~ /^\d+$/ ? 'checked' : '';
	printf "<input name=ln_$i size=8 value='%s'></td>\n",
		$l->[1] =~ /^\d+$/ ? $l->[1] : '';

	printf "<td><input type=radio name=ltimes_def_$i value=1 %s> %s\n",
		lc($l->[2]) eq 'any' ? 'checked' : '', $text{'acl_any'};
	printf "<input type=radio name=ltimes_def_$i value=0 %s>\n",
		lc($l->[2]) eq 'any' ? '' : 'checked';
	printf "<input name=ltimes_$i size=10 value='%s'></td>\n",
		lc($l->[2]) eq 'any' ? '' : $l->[2];

	print "<td><input name=lmsg_$i size=20 value='$l->[3]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display file and byte limits
@fblimit = sort { $a->{'line'} <=> $b->{'line'} }
		( &find("file-limit", $conf), &find("data-limit", $conf) );
push(@fblimit, { });
print "<tr> <td valign=top><b>$text{'acl_file'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'acl_fblimit'}</b></td>\n",
      "<td><b>$text{'acl_inout'}</b></td>\n",
      "<td><b>$text{'acl_raw'}</b></td>\n",
      "<td><b>$text{'acl_count'}</b></td>\n",
      "<td><b>$text{'acl_class'}</b></td> </tr>\n";
$i = 0;
foreach $l (@fblimit) {
	$f = $l->{'values'};
	splice(@$f, 0, 0, '0') if ($f->[0] ne 'raw');
	print "<tr $cb>\n";
	print "<td><select name=fblimit_$i>\n";
	printf "<option value='' %s>&nbsp;\n",
		$l->{'name'} ? '' : 'selected';
	printf "<option value=file-limit %s>%s\n",
		$l->{'name'} eq 'file-limit' ? 'selected' : '',
		$text{'acl_flimit'};
	printf "<option value=byte-limit %s>%s\n",
		$l->{'name'} eq 'byte-limit' ? 'selected' : '',
		$text{'acl_blimit'};
	print "</select></td>\n";

	print "<td><select name=fbinout_$i>\n";
	printf "<option value=total %s>%s\n",
		$f->[1] eq 'total' ? 'selected' : '', $text{'acl_total'};
	printf "<option value=in %s>%s\n",
		$f->[1] eq 'in' ? 'selected' : '', $text{'acl_in'};
	printf "<option value=out %s>%s\n",
		$f->[1] eq 'out' ? 'selected' : '', $text{'acl_out'};
	print "</select></td>\n";

	printf "<td><input type=radio name=fbraw_$i value=0 %s> %s\n",
		$f->[0] eq 'raw' ? '' : 'checked', $text{'yes'};
	printf "<input type=radio name=fbraw_$i value=1 %s> %s</td>\n",
		$f->[0] eq 'raw' ? 'checked' : '', $text{'no'};

	print "<td><input name=fbcount_$i size=10 value='$f->[2]'></td>\n";

	print "<td><select name=fbclass_$i>\n";
	printf "<option value='' %s> %s\n",
		$f->[3] ? '' : 'selected', $text{'acl_all'};
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$f->[3] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# File access controls
@noret = ( &find_value("noretrieve", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'acl_noret'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'acl_nfiles'}</b></td>\n",
      "<td><b>$text{'acl_nrel'}</b></td>\n",
      "<td><b>$text{'acl_nclass'}</b></td> </tr>\n";
$i = 0;
foreach $n (@noret) {
	local (@f, %c);
	foreach $nn (@$n) {
		if ($nn =~ /^class=(\S+)/) { $c{$1}++; }
		elsif ($nn !~ /^(absolute|relative)$/) { push(@f, $nn); }
		}
	print "<tr $cb>\n";
	printf "<td><input name=nfiles_$i size=30 value='%s'></td>\n",
		join(" ", @f);
	printf "<td><input type=radio name=nrel_$i value=1 %s> %s\n",
		$n->[0] eq 'relative' ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=nrel_$i value=0 %s> %s</td>\n",
		$n->[0] eq 'relative' ? '' : 'checked', $text{'no'};
	print "<td>\n";
	foreach $c (@class) {
		printf "<input type=checkbox name=nclass_$i value=%s %s> %s\n",
			$c->[0], !%c || $c{$c->[0]} ? 'checked' : '', $c->[0];
		}
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

@allowret = ( &find_value("allow-retrieve", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'acl_allowret'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'acl_afiles'}</b></td>\n",
      "<td><b>$text{'acl_arel'}</b></td>\n",
      "<td><b>$text{'acl_aclass'}</b></td> </tr>\n";
$i = 0;
foreach $n (@allowret) {
	local (@f, %c);
	foreach $nn (@$n) {
		if ($nn =~ /^class=(\S+)/) { $c{$1}++; }
		elsif ($nn !~ /^(absolute|relative)$/) { push(@f, $nn); }
		}
	print "<tr $cb>\n";
	printf "<td><input name=afiles_$i size=30 value='%s'></td>\n",
		join(" ", @f);
	printf "<td><input type=radio name=arel_$i value=1 %s> %s\n",
		$n->[0] eq 'relative' ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=arel_$i value=0 %s> %s</td>\n",
		$n->[0] eq 'relative' ? '' : 'checked', $text{'no'};
	print "<td>\n";
	foreach $c (@class) {
		printf "<input type=checkbox name=aclass_$i value=%s %s> %s\n",
			$c->[0], !%c || $c{$c->[0]} ? 'checked' : '', $c->[0];
		}
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display time-limit options
foreach $l (&find_value("limit-time", $conf)) {
	if ($l->[0] eq '*') {
		$limit{'anonymous'} = $limit{'guest'} = $l->[1];
		}
	else {
		$limit{$l->[0]} = $l->[1];
		}
	}
print "<tr> <td><b>$text{'acl_alimit'}</b></td>\n";
printf "<td><input type=radio name=alimit_def value=1 %s> %s\n",
	$limit{'anonymous'} ? '' : 'checked', $text{'acl_unlimited'};
printf "<input type=radio name=alimit_def value=0 %s>\n",
	$limit{'anonymous'} ? 'checked' : '';
printf "<input name=alimit size=6 value='%s'> %s</td>\n",
	$limit{'anonymous'}, $text{'acl_mins'};
print "<td><b>$text{'acl_glimit'}</b></td>\n";
printf "<td><input type=radio name=glimit_def value=1 %s> %s\n",
	$limit{'guest'} ? '' : 'checked', $text{'acl_unlimited'};
printf "<input type=radio name=glimit_def value=0 %s>\n",
	$limit{'guest'} ? 'checked' : '';
printf "<input name=glimit size=6 value='%s'> %s</td> </tr>\n",
	$limit{'guest'}, $text{'acl_mins'};

# Other security options
$lf = &find_value('loginfails', $conf);
print "<tr> <td><b>$text{'acl_fails'}</b></td>\n";
printf "<td><input type=radio name=fails_def value=1 %s> %s\n",
	$lf ? '' : 'checked', $text{'default'};
printf "<input type=radio name=fails_def value=0 %s>\n",
	$lf ? 'checked' : '';
print "<input name=fails size=6 value='$lf->[0]'></td>\n";

$pr = &find_value('private', $conf); 
print "<td><b>$text{'acl_private'}</b></td>\n";
printf "<td><input type=radio name=private value=yes %s> %s\n",
	$pr->[0] eq 'yes' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=private value=no %s> %s</td> </tr>\n",
	$pr->[0] eq 'yes' ? '' : 'checked',  $text{'no'};

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000d1cd000081e40000000000000002000000013d1fe2da000004fd000000200000000000000000000000000000001c00000003reloc/wuftpd/edit_alias.cgi   #!/usr/local/bin/perl
# edit_alias.cgi
# Display alias and cd path options

require './wuftpd-lib.pl';
&header($text{'alias_title'}, "", "alias");
print "<hr>\n";
$conf = &get_ftpaccess();

print "<form action=save_alias.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'alias_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# display alias options
@alias = ( &find_value('alias', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'alias_alias'}</b></td>\n";
print "<td><table border>\n";
print "<tr $tb> <td><b>$text{'alias_from'}</b></td> ",
      "<td><b>$text{'alias_to'}</b></td> </tr>\n";
$i = 0;
foreach $a (@alias) {
	print "<tr $cb>\n";
	print "<td><input name=from_$i size=15 value='$a->[0]'></td>\n";
	print "<td><input name=to_$i size=25 value='$a->[1]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

# display cdpath options
@cdpath = map { $_->[0] } &find_value('cdpath', $conf);
print "<tr> <td valign=top><b>$text{'alias_cdpath'}</b></td>\n";
print "<td><textarea name=cdpath rows=5 cols=40>",
	join("\n", @cdpath),"</textarea></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000d1ce000081e40000000000000002000000013d1fe2db00000ea4000000200000000000000000000000000000001b00000003reloc/wuftpd/edit_anon.cgi    #!/usr/local/bin/perl
# edit_anon.cgi
# Display anonymous FTP options

require './wuftpd-lib.pl';
&header($text{'anon_title'}, "", "anon");
print "<hr>\n";

$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

if (!getpwnam("ftp")) {
	print "<b>$text{'anon_eftp'}</b> <p>\n";
	}

print "<form action=save_anon.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'anon_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display anonymous-root options
@root = ( &find_value('anonymous-root', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'anon_root'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'anon_dir'}</b></td>\n",
      "<td><b>$text{'anon_class'}</b></td> </tr>\n";
$i = 0;
foreach $r (@root) {
	print "<tr $cb>\n";
	printf "<td><input name=dir_$i size=35 value='%s'> %s</td>\n",
		$r->[0], &file_chooser_button("dir_$i", 1);
	print "<td><select name=class_$i>\n";
	printf "<option value='' %s>%s\n",
		$r->[1] ? '' : 'selected', $text{'anon_any'};
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$r->[1] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td> </tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

# Display guest-root options
@root = ( &find_value('guest-root', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'anon_groot'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'anon_dir'}</b></td>\n",
      "<td><b>$text{'anon_uids'}</b></td> </tr>\n";
$i = 0;
foreach $r (@root) {
	print "<tr $cb>\n";
	printf "<td><input name=gdir_$i size=35 value='%s'> %s</td>\n",
		$r->[0], &file_chooser_button("gdir_$i", 1);
	printf "<td><input name=uids_$i size=20 value='%s'> %s</td>\n",
		join(" ", @$r[1..@$r-1]),
		&user_chooser_button("uids_$i", 1);
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display autogroup options
@auto = ( &find_value('autogroup', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'anon_auto'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'anon_group'}</b></td>\n",
      "<td><b>$text{'anon_classes'}</b></td> </tr>\n";
$i = 0;
foreach $a (@auto) {
	local %aclass;
	map { $aclass{$_}++ } @$a[1..@$a-1];
	print "<tr $cb>\n";
	print "<td><input name=agroup_$i size=8 value='$a->[0]'> ",
		&group_chooser_button("agroup_$i"),"</td>\n";
	print "<td>\n";
	foreach $c (@class) {
		printf "<input name=aclass_$i type=checkbox %s value=%s> %s\n",
			$aclass{$c->[0]} ? 'checked' : '', $c->[0], $c->[0];
		}
	print "</td> </tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display passwd-check field
$p = &find_value('passwd-check', $conf);
print "<tr> <td><b>$text{'anon_passwd'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=passwd_def value=1 %s> %s\n",
	$p ? '' : 'checked',  $text{'default'};
printf "<input type=radio name=passwd_def value=0 %s>\n",
	$p ? 'checked' : '';
print "<select name=level>\n";
foreach $l ('none', 'trivial', 'rfc822') {
	printf "<option %s value='%s'>%s\n",
		$p->[0] eq $l ? 'selected' : '', $l, $text{"anon_$l"};
	}
print "</select> <select name=action>\n";
foreach $a ('enforce', 'warn') {
	printf "<option %s value='%s'>%s\n",
		$p->[1] eq $a ? 'selected' : '', $a, $text{"anon_$a"};
	}
print "</select></td> </tr>\n";

print "<tr> <td><b>$text{'anon_email'}</b></td>\n";
printf "<td colspan=3><input name=email size=50 value='%s'></td> </tr>\n",
	join(" ", map { $_->[0] } &find_value('deny-email', $conf));

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

0707010000d1cf000081e40000000000000002000000013d1fe2da00000b1d000000200000000000000000000000000000001c00000003reloc/wuftpd/edit_class.cgi   #!/usr/local/bin/perl
# edit_class.cgi
# Display a list of user classes for editing

require './wuftpd-lib.pl';
&header($text{'class_title'}, "", "class");
print "<hr>\n";
$conf = &get_ftpaccess();

print "<form action=save_class.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'class_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@class = ( &find_value("class", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'class_class'}</b></td>\n";
print "<td colspan=3><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'class_name'}</b></td> ",
      "<td><b>$text{'class_types'}</b></td> ",
      "<td><b>$text{'class_addrs'}</b></td> </tr>\n";
$i = 0;
foreach $c (@class) {
	print "<tr $cb>\n";
	print "<td><input name=class_$i size=10 value='$c->[0]'></td>\n";
	local %types;
	map { $types{$_}++ } split(/,/, $c->[1]);
	printf "<td><input type=checkbox name=types_$i value=real %s> %s\n",
		$types{'real'} ? 'checked' : '', $text{'class_real'};
	printf "<input type=checkbox name=types_$i value=anonymous %s> %s\n",
		$types{'anonymous'} ? 'checked' : '', $text{'class_anonymous'};
	printf "<input type=checkbox name=types_$i value=guest %s> %s</td>\n",
		$types{'guest'} ? 'checked' : '', $text{'class_guest'};
	printf "<td><input name=addrs_$i size=30 value='%s'></td>\n",
		join(" ", @$c[2..@$c-1]);
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";
foreach $g ('guestuser', 'guestgroup', 'realuser', 'realgroup') {
	print "<tr> <td><b>",$text{"class_$g"},"</b></td> <td colspan=3>\n";
	printf "<input name=%s size=50 value='%s'> %s</td> </tr>\n",
		$g, &join_all($g, $conf),
		$g =~ /user$/ ? &user_chooser_button($g, 1)
			      : &group_chooser_button($g, 1);
	}

print "<tr> <td colspan=4><hr></td> </tr>\n";
print "<tr> <td><b>",&text('class_ftpusers', "<tt>$config{'ftpusers'}</tt>"),
      "</b></td> <td colspan=3>\n";
open(FTPUSERS, $config{'ftpusers'});
while(<FTPUSERS>) {
	s/\r|\n//g;
	s/#.*$//;
	push(@ftpusers, $_) if (/\S/);
	}
close(FTPUSERS);
printf "<input name=ftpusers size=40 value='%s'> %s</td> </tr>\n",
	join(" ", @ftpusers), &user_chooser_button('ftpusers', 1);
foreach $g ('deny-uid', 'deny-gid', 'allow-uid', 'allow-gid') {
	($fg = $g) =~ s/-/_/g;
	print "<tr> <td><b>",$text{"class_$fg"},"</b></td> <td colspan=3>\n";
	printf "<input name=%s size=40 value='%s'> %s</td> </tr>\n",
		$fg, &join_all($g, $conf),
		$g =~ /uid$/ ? &user_chooser_button($fg, 1)
			     : &group_chooser_button($fg, 1);
	}

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

# join_all(name, &config)
sub join_all
{
local (@rv, $v);
foreach $v (&find_value($_[0], $_[1])) {
	push(@rv, @$v);
	}
return join(" ", @rv);
}

   0707010000d1d0000081e40000000000000002000000013d1fe2da0000093b000000200000000000000000000000000000001a00000003reloc/wuftpd/edit_log.cgi #!/usr/local/bin/perl
# edit_log.cgi
# Display logging options

require './wuftpd-lib.pl';
&header($text{'log_title'}, "", "log");
print "<hr>\n";

$conf = &get_ftpaccess();
foreach $l (&find_value('log', $conf)) {
	$log{$l->[0]} = $l;
	}

print "<form action=save_log.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'log_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display log commands option
map { $commands{$_}++ } split(/,/, $log{'commands'}->[1]);
print "<tr> <td><b>$text{'log_commands'}</b></td> <td>\n";
foreach $c ('anonymous', 'guest', 'real') {
	printf "<input type=checkbox name=commands value=$c %s> %s\n",
		$commands{$c} ? 'checked' : '', $text{"log_$c"};
	}
print "</td> </tr>\n";

# Display log transfers option
map { $transfers{$_}++ } split(/,/, $log{'transfers'}->[1]);
print "<tr> <td valign=top><b>$text{'log_trans'}</b></td> <td>\n";
foreach $c ('anonymous', 'guest', 'real') {
	printf "<input type=checkbox name=transfers value=$c %s> %s\n",
		$transfers{$c} ? 'checked' : '', $text{"log_$c"};
	}
print "<br><b>$text{'log_dir'}</b>\n";
$d = $log{'transfers'}->[2];
printf "<input type=radio name=direction value=inbound %s> %s\n",
	$d eq 'inbound' ? 'checked' : '', $text{'log_inbound'};
printf "<input type=radio name=direction value=outbound %s> %s\n",
	$d eq 'outbound' ? 'checked' : '', $text{'log_outbound'};
printf "<input type=radio name=direction value=inbound,outbound %s> %s\n",
	$d =~ /inbound/ && $d =~ /outbound/ ? 'checked' : '', $text{'log_both'};
print "</tr> </tr>\n";

# Display log syslog option
print "<tr> <td><b>$text{'log_to'}</b></td> <td>\n";
printf "<input type=radio name=syslog value=1 %s> %s\n",
	$log{'syslog'} ? 'checked' : '', $text{'log_syslog'};
printf "<input type=radio name=syslog value=0 %s> %s</td> </tr>\n",
	$log{'syslog'} ? '' : 'checked', $text{'log_xferlog'};

# Display log security option
map { $security{$_}++ } split(/,/, $log{'security'}->[1]);
print "<tr> <td><b>$text{'log_security'}</b></td> <td>\n";
foreach $c ('anonymous', 'guest', 'real') {
	printf "<input type=checkbox name=security value=$c %s> %s\n",
		$security{$c} ? 'checked' : '', $text{"log_$c"};
	}
print "</td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000d1d1000081e40000000000000002000000013d1fe2db00001167000000200000000000000000000000000000001e00000003reloc/wuftpd/edit_message.cgi #!/usr/local/bin/perl
# edit_message.cgi
# Display messages and readmes

require './wuftpd-lib.pl';
&header($text{'message_title'}, "", "message");
print "<hr>\n";

$conf = &get_ftpaccess();

print "<form action=save_message.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'message_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

@message = ( &find_value("message", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'message_message'}</b></td>\n";
print "<td><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'message_path'}</b></td>\n",
      "<td><b>$text{'message_when'}</b></td>\n",
      "<td><b>$text{'message_classes'}</b></td> </tr>\n";
$i = 0;
foreach $m (@message) {
	print "<tr $cb>\n";
	print "<td><input name=mpath_$i size=15 value='$m->[0]'></td>\n";
	printf "<td nowrap><input name=mwhen_$i type=radio value=0 %s> %s\n",
		$m->[1] =~ /^login$/i ? 'checked' : '',
		$text{'message_login'};
	printf "<input name=mwhen_$i type=radio value=1 %s> %s\n",
		$m->[1] =~ /^cwd=\*$/ ? 'checked' : '',
		$text{'message_alldir'};
	printf "<input name=mwhen_$i type=radio value=2 %s> %s\n",
		$m->[1] =~ /^cwd=([^\*].*)$/ ? 'checked' : '',
		$text{'message_dir'};
	printf "<input name=mcwd_$i size=20 value='%s'></td>\n",
		$m->[1] =~ /^cwd=([^\*].*)$/ ? $1 : '';
	printf "<td><input name=mclasses_$i size=15 value='%s'></td>\n",
		join(" ", @$m[2..@$m-1]);
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=2><hr></td> </tr>\n";

@readme = ( &find_value("readme", $conf), [ ] );
print "<tr> <td valign=top><b>$text{'message_readme'}</b></td>\n";
print "<td><table border width=100%>\n";
print "<tr $tb> <td><b>$text{'message_path'}</b></td>\n",
      "<td><b>$text{'message_update'}</b></td>\n",
      "<td><b>$text{'message_classes'}</b></td> </tr>\n";
$i = 0;
foreach $m (@readme) {
	print "<tr $cb>\n";
	print "<td><input name=rpath_$i size=15 value='$m->[0]'></td>\n";
	printf "<td nowrap><input name=rwhen_$i type=radio value=0 %s> %s\n",
		$m->[1] =~ /^login$/i ? 'checked' : '',
		$text{'message_login'};
	printf "<input name=rwhen_$i type=radio value=1 %s> %s\n",
		$m->[1] =~ /^cwd=\*$/ ? 'checked' : '',
		$text{'message_alldir'};
	printf "<input name=rwhen_$i type=radio value=2 %s> %s\n",
		$m->[1] =~ /^cwd=([^\*].*)$/ ? 'checked' : '',
		$text{'message_dir'};
	printf "<input name=rcwd_$i size=20 value='%s'></td>\n",
		$m->[1] =~ /^cwd=([^\*].*)$/ ? $1 : '';
	printf "<td><input name=rclasses_$i size=15 value='%s'></td>\n",
		join(" ", @$m[2..@$m-1]);
	print "</tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";
print "<tr> <td colspan=2><hr></td> </tr>\n";

$g = &find_value('greeting', $conf);
print "<tr> <td><b>$text{'message_greeting'}</b></td>\n";
printf "<td><input type=radio name=greeting value=full %s> %s\n",
	$g->[0] eq 'full' || !$g->[0] ? 'checked' : '', $text{'message_full'};
printf "<input type=radio name=greeting value=brief %s> %s\n",
	$g->[0] eq 'brief' ? 'checked' : '', $text{'message_brief'};
printf "<input type=radio name=greeting value=terse %s> %s</td> </tr>\n",
	$g->[0] eq 'terse' ? 'checked' : '', $text{'message_terse'};

$b = &find_value('banner', $conf);
print "<tr> <td><b>$text{'message_banner'}</b></td>\n";
printf "<td><input type=radio name=banner_def value=1 %s> %s\n",
	$b ? '' : 'checked', $text{'message_none'};
printf "<input type=radio name=banner_def value=0 %s> %s\n",
	$b ? 'checked' : '', $text{'message_file'};
printf "<input name=banner size=30 value='%s'> %s</td> </tr>\n",
	$b->[0], &file_chooser_button('banner', 0);

$h = &find_value('hostname', $conf);
print "<tr> <td><b>$text{'message_hostname'}</b></td>\n";
printf "<td><input type=radio name=hostname_def value=1 %s> %s\n",
	$h ? '' : 'checked', $text{'message_hostdef'};
printf "<input type=radio name=hostname_def value=0 %s>\n",
	$h ? 'checked' : '';
printf "<input name=hostname size=30 value='%s'> %s</td> </tr>\n",
	$h->[0];

$e = &find_value('email', $conf);
print "<tr> <td><b>$text{'message_email'}</b></td>\n";
printf "<td><input type=radio name=email_def value=1 %s> %s\n",
	$e ? '' : 'checked', $text{'default'};
printf "<input type=radio name=email_def value=0 %s>\n",
	$e ? 'checked' : '';
printf "<input name=email size=30 value='%s'> %s</td> </tr>\n",
	$e->[0];

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

 0707010000d1d2000081e40000000000000002000000013d1fe2db00000b5d000000200000000000000000000000000000001b00000003reloc/wuftpd/edit_misc.cgi    #!/usr/local/bin/perl
# edit_misc.cgi
# Display miscellaneous options

require './wuftpd-lib.pl';
&header($text{'misc_title'}, "", "misc");
print "<hr>\n";

$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

print "<form action=save_misc.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'misc_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display ls* options
foreach $l ('lslong', 'lsshort', 'lsplain') {
	$v = &find_value($l, $conf);
	print "<tr> <td><b>",$text{"misc_$l"},"</b></td> <td colspan=3>\n";
	printf "<input type=radio name=%s_def value=1 %s> %s\n",
		$l, $v ? '' : 'checked', $text{'default'};
	printf "<input type=radio name=%s_def value=0 %s>\n",
		$l, $v ? 'checked' : '';
	printf "<input name=%s size=30 value='%s'></td> </tr>\n",
		$l, join(" ", @$v);
	}

# Display shutdown option
$s = &find_value('shutdown', $conf);
printf "<tr> <td><b>$text{'misc_shutdown'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=shutdown_def value=1 %s> %s\n",
	$s ? '' : 'checked', $text{'misc_none'};
printf "<input type=radio name=shutdown_def value=0 %s>\n",
	$s ? 'checked' : '';
printf "<input name=shutdown size=30 value='%s'> %s</td> </tr>\n",
	$s->[0], &file_chooser_button('shutdown', 0);
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display nice option
@nice = ( &find_value('nice', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'misc_nice'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'misc_ndelta'}</b></td> ",
      "<td><b>$text{'misc_class'}</b></td> </tr>\n";
$i = 0;
foreach $n (@nice) {
	print "<tr $cb>\n";
	print "<td><input name=ndelta_$i size=5 value='$n->[0]'></td>\n";
	print "<td><select name=nclass_$i>\n";
	printf "<option value='' %s>%s\n",
		$n->[1] ? '' : 'checked', $text{'misc_all'};
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$n->[1] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td> </tr>\n";
	$i++;
	}
print "</table></td>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display defumask option
@umask = ( &find_value('defumask', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'misc_defumask'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'misc_umask'}</b></td> ",
      "<td><b>$text{'misc_class'}</b></td> </tr>\n";
$i = 0;
foreach $u (@umask) {
	print "<tr $cb>\n";
	print "<td><input name=umask_$i size=5 value='$u->[0]'></td>\n";
	print "<td><select name=uclass_$i>\n";
	printf "<option value='' %s>%s\n",
		$u->[1] ? '' : 'checked', $text{'misc_all'};
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$u->[1] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td> </tr>\n";
	$i++;
	}
print "</table></td>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000d1d3000081e40000000000000002000000013d1fe2da00000a51000000200000000000000000000000000000001a00000003reloc/wuftpd/edit_net.cgi #!/usr/local/bin/perl
# edit_net.cgi
# Display network-related options

require './wuftpd-lib.pl';
&header($text{'net_title'}, "", "net");
print "<hr>\n";

$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

print "<form action=save_net.cgi>\n";
print "<table border>\n";
print "<tr $tb> <td><b>$text{'net_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display TCP window options
@tcp = ( &find_value('tcpwindow', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'net_tcp'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'net_tsize'}</b></td> ",
      "<td><b>$text{'net_tclass'}</b></td> </tr>\n";
$i = 0;
foreach $t (@tcp) {
	print "<tr $cb>\n";
	print "<td><input name=tsize_$i size=5 value='$t->[0]'></td>\n";
	print "<td><select name=tclass_$i>\n";
	printf "<option value='' %s>%s\n",
		$t->[1] ? '' : 'checked', $text{'net_tall'};
	foreach $c (@class) {
		printf "<option %s>%s\n",
			$t->[1] eq $c->[0] ? 'selected' : '', $c->[0];
		}
	print "</select></td> </tr>\n";
	$i++;
	}
print "</table></td>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# passive address options
@pasv = ( ( grep { $_->[0] eq 'address' } &find_value('passive', $conf) ), [ ]);
print "<tr> <td valign=top><b>$text{'net_pasvaddr'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'net_pip'}</b></td> ",
      "<td><b>$text{'net_pcidr'}</b></td> </tr>\n";
$i = 0;
foreach $p (@pasv) {
	print "<tr $cb>\n";
	print "<td><input name=aip_$i size=15 value='$p->[1]'></td>\n";
	local @ci = split(/\//, $p->[2]);
	print "<td><input name=anet_$i size=15 value='$ci[0]'> /\n";
	print "<input name=acidr_$i size=2 value='$ci[1]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td></tr>\n";

# passive port options
@pasv = ( ( grep { $_->[0] eq 'ports' } &find_value('passive', $conf) ), [ ] );
print "<tr> <td valign=top><b>$text{'net_pasvport'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'net_prange'}</b></td> ",
      "<td><b>$text{'net_pcidr'}</b></td> </tr>\n";
$i = 0;
foreach $p (@pasv) {
	print "<tr $cb>\n";
	print "<td><input name=pmin_$i size=5 value='$p->[2]'> -\n";
	print "<input name=pmax_$i size=5 value='$p->[3]'></td>\n";
	local @ci = split(/\//, $p->[1]);
	print "<td><input name=pnet_$i size=15 value='$ci[0]'> /\n";
	print "<input name=pcidr_$i size=2 value='$ci[1]'></td>\n";
	print "</tr>\n";
	$i++;
	}
print "</table></td></tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   0707010000d1d4000081e40000000000000002000000013d1fe2db00000cb9000000200000000000000000000000000000001b00000003reloc/wuftpd/edit_perm.cgi    #!/usr/local/bin/perl
# edit_perm.cgi
# Display file permission options

require './wuftpd-lib.pl';
&header($text{'perm_title'}, "", "perm");
print "<hr>\n";

$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

print "<form action=save_perm.cgi>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'perm_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

# Display permission options (chmod, delete, etc..)
@permtypes = ( 'chmod', 'delete', 'overwrite', 'rename', 'umask' );
foreach $t (@permtypes) {
	push(@perms, &find($t, $conf));
	}
@perms = ( ( sort { $a->{'line'} <=> $b->{'line'} } @perms ), { } );
print "<tr> <td valign=top><b>$text{'perm_perms'}</b></td>\n";
print "<td colspan=3><table border>\n";
print "<tr $tb> <td><b>$text{'perm_type'}</b></td>\n",
      "<td><b>$text{'perm_can'}</b></td>\n",
      "<td><b>$text{'perm_users'}</b></td>\n",
      "<td><b>$text{'perm_classes'}</b></td> </tr>\n";
$i = 0;
foreach $p (@perms) {
	$v = $p->{'values'};
	print "<tr $cb>\n";

	print "<td><select name=type_$i>\n";
	printf "<option %s>\n", $p->{'name'} ? '' : 'checked';
	foreach $t (@permtypes) {
		printf "<option %s>%s\n",
			$p->{'name'} eq $t ? 'selected' : '', $t;
		}
	print "</select></td>\n";

	printf "<td><input type=radio name=can_$i value=yes %s> %s\n",
		lc($v->[0]) eq 'yes' ? 'checked' : '', $text{'yes'};
	printf "<input type=radio name=can_$i value=no %s> %s</td>\n",
		lc($v->[0]) eq 'yes' ? '' : 'checked', $text{'no'};

	local (%users, $notall);
	map { $users{$_}++; $notall++ if (/class=/) } split(/,/, $v->[1]);
	print "<td>\n";
	foreach $u ('anonymous', 'guest', 'real') {
		printf "<input name=users_%s type=checkbox value=%s %s> %s\n",
			$i, $u, $users{$u} ? 'checked' : '', $text{"perm_$u"};
		}
	print "</td>\n";

	if (!$notall) {
		map { $users{"class=".$_->[0]}++ } @class;
		}
	print "<td>\n";
	foreach $c (@class) {
		printf "<input name=classes_%s type=checkbox value=%s %s> %s\n",
			$i, $c->[0], $users{"class=$c->[0]"} ? 'checked' : '',
			$c->[0];
		}
	print "</td> </tr>\n";
	$i++;
	}
print "</table><br>$text{'perm_note'}</td> </tr>\n";
print "<tr> <td colspan=4><hr></td> </tr>\n";

# Display path-filter options
@filter = ( &find_value('path-filter', $conf), [ ] );
print "<tr> <td valign=top><b>$text{'perm_filter'}</b></td> <td colspan=3>\n";
print "<table border> <tr $tb> <td><b>$text{'perm_char'}</b></td>\n",
      "<td><b>$text{'perm_regexp'}</b></td>\n",
      "<td><b>$text{'perm_types'}</b></td>\n",
      "<td><b>$text{'perm_mesg'}</b></td> </tr>\n";
$i = 0;
foreach $f (@filter) {
	print "<tr $cb>\n";
	print "<td><input name=char_$i size=15 value='$f->[2]'></td>\n";
	printf "<td><input name=regexp_$i size=25 value='%s'></td>\n",
		join(" ", @$f[3..@$f-1]);
	print "<td>\n";
	foreach $u ('anonymous', 'guest', 'real') {
		printf "<input name=types_%s type=checkbox value=%s %s> %s\n",
			$i, $u, $f->[0] =~ /$u/ ? 'checked' : '',
			$text{"perm_$u"};
		}
	print "</td>\n";
	print "<td><input name=mesg_$i size=20 value='$f->[1]'></td> </tr>\n";
	$i++;
	}
print "</table></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value=\"$text{'save'}\"></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100012f66000041ed0000000000000001000000023d1ffbb100000000000000200000000000000000000000000000001400000003reloc/wuftpd/images   07070100012f67000081a40000000000000002000000013d1fe2da00000113000000200000000000000000000000000000001c00000003reloc/wuftpd/images/acl.gif   GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  ØºÜþ0ÊI«½8ËÀ{×™'Ž8yBª®‚gB]z¶ð:œm}÷’‡µžâ‡!öŒ» Ya‚œMåJ¡^¬©	áVµW°Æû gu@ôVU?Ù_w†E¯Û/Á`Ïïûÿ}y€„|‚&z„†Ž†ŒŠ ‘’Žƒ€—•‰š–œž{“¤¥¢£› ~ª«’­®œ¨¦sˆ´µ·µ‰ˆ¶²¡¾Â‹Á¶À¹Ã³°™ÇÁŽÅ¼ÅÉÎ¬Ð¹ÊÏ”ÈÒÑÌ…Ø±Ú*áæÈé ×¯ïBòóôõö÷	 ; 07070100012f68000081a40000000000000002000000013d1fe2da000000d0000000200000000000000000000000000000001e00000003reloc/wuftpd/images/alias.gif GIF89a0 0 ¡  ÿÿÿÌÌÌ™™™fff!ù    ,    0 0  ¡„©Ëí£œô…{EÝ+ˆ/Üxx HŽæ‡¦ÛºÜÊÚ/^ëí› ƒ‘!ñû‹¼¥¥él$5Ñ†±š€Q±‰iÐ‚»É/W<>L·i-¼6W×/]¨L¹’Uj÷”C(Àç€62PxÁàfWhˆ1yGy‰ã²ˆy)G±É§3 CDšª*ÚV–fp5¶âYeB[{úŠp«ÛëËQ  ;07070100012f69000081a40000000000000002000000013d1fe2da000000d0000000200000000000000000000000000000002000000003reloc/wuftpd/images/aliases.gif   GIF89a0 0 ¡  ÿÿÿÌÌÌ™™™fff!ù    ,    0 0  ¡„©Ëí£œô…{EÝ+ˆ/Üxx HŽæ‡¦ÛºÜÊÚ/^ëí› ƒ‘!ñû‹¼¥¥él$5Ñ†±š€Q±‰iÐ‚»É/W<>L·i-¼6W×/]¨L¹’Uj÷”C(Àç€62PxÁàfWhˆ1yGy‰ã²ˆy)G±É§3 CDšª*ÚV–fp5¶âYeB[{úŠp«ÛëËQ  ;07070100012f6a000081a40000000000000002000000013d1fe2da000000ed000000200000000000000000000000000000001d00000003reloc/wuftpd/images/anon.gif  GIF89a0 0 ¡  øüø`d`ÈÌÈÿÿÿ!þMade with GIMP !ù
  ,    0 0  ¬œ©Ëí£œ´Ú‹OØ<_v^–âÈ˜j€¦¡ Ãa«”rÏ´aß¸¿ÙzN$4@mÅl:QÐŸt:ªKÏÕ–Û‚^OYïRÕ­®ÒjÓÎ¼~+¿H9ñ¬³¿ðuá°äÇˆå(X‡¸ ¶èÒç˜ùEyèˆ‰HX¨§¶ÉÙIjˆ„–fê†Z&‚V8êê+j‘÷Z+›Ëz™«›ì;Á,ÌP  ;   07070100012f6c000081a40000000000000002000000013d1fe2da00000186000000200000000000000000000000000000001e00000003reloc/wuftpd/images/class.gif GIF89a0 0 ¡  ÿÿÿ   fffÌÌÌ!ù    ,    0 0  þ„©Ëí£œ&X
…Ž¶ã¦…OG~Jˆ:¤g"¨Ø¬Ü¾›Ú½-`ÕÛé8Aám´–5éµŒb†±U(ŠÏ€•J¶ŠnRfF6¢#â8_³c_ÛWTfJõã§WÁ¦Á7@qˆw g(öw@sôÈw––øptÙ˜yÈ'ÀéÙÈã&h°‘Ä$å· :[vƒ˜ÛY‡ÊðY:à¬›±zÒˆ¶4¬eœðø»!¶¼ûC˜œJ’Re¹¤÷»MÜkÇMÈ¾Ž«Ë-{Žc))þZ~JÿÍZ_m ßMu¶&)óW‰ƒhx,0û‡/ ÂhN`žXŠñ`<–`LLn|tÁK‹TÂ™Œe¾%=Â™Î–‰^‹×­‘'YÆ<†Êˆ¢Æž- ÈT§SPo¦’:•fU˜4> FµèŽ±dËš[  ;  07070100012f6d000081a40000000000000002000000013d1fe2da00000197000000200000000000000000000000000000001d00000003reloc/wuftpd/images/icon.gif  GIF89a0 0 ã  ÿÿÿ   UUUªªª999ŽŽŽrrrãããÇÇÇÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ!þMade with GIMP ,    0 0  þpÈI½€ê»÷[†ÒgŽäG–g›­*ìºâü²v[_Êåº^gwûOB1y41‹FË³9ÄI5˜)Ue­Û/Î{‡Ë¿Šˆx.¢Ýð67ÍÂjÃ¼~Ÿø€z…{~Š|ƒ‘„”z~Kœ*‚{›}Xb  ¢­ œlE«C°R°²ZŸ§!‚¤y,zÆÇˆhº¿¿’\ÌzÈ{ÃÕe×¼ŠÞ†!	b k“}@ìB–æQ±ò9ôu·DjÍð—à.â–*^¤yòÚ1œãÜÀˆõ‚AØBa;úäÄqrçÌ¬†"Q")æ$Å”/Wš‘ãòL›2CÒd9¦Ëš&g¡º‰†É¢©VÌ¼©”gÊ¦HiÔŒ  ; 07070100012f6e000081a40000000000000002000000013d1fe2da000001d6000000200000000000000000000000000000001c00000003reloc/wuftpd/images/log.gif   GIF89a0 0 Â  ™™™fffÌÌÌÿÿÿ            !ù   ,    0 0  þª±þb	1ª½8[ÐÚû h$x¨ã…`YvÜº†0ÕŠ«Å'z7ZDgâ;3IäQ‰•²s4qÚ“(•¥K¥¶i+C»Ýcù
bo]è¸7Lg®Í\y¯G/úo$zhwak†~#:ƒiN…"€ŠpŒ|‰‘Žay”–"˜D”‘cwŽD6¡ƒdVŸ:ªr¬6XˆP²~­™¨ º£–A¶x°º¼½Nl9Èm
²ÄµÆ.,VªÖÒIÐà,¡bÝãáYÖdTðcX>æmßzço)VKAÍúçN„*WšuË7Ç¾_>Ù1ÆÐTAŠ#*=ƒàœ©áFWwh,4ñŽG’ÅBëóçÑJ‹®ú¼4»K5É¼ƒd‘”=Zždö|4"'–.mMª3™Ï™‡j…šé7 …^Êj’ê>D'ë4%#rÅG_e¼8J2ÓHg¥:¾½86c%©üN¥IˆïT” ªÙñ[ö®ÔÁÇŽÂS’âÅ
i0;oÁÊ Éâú åB‹Î C‹MúB ;  07070100012f6f000081a40000000000000002000000013d1fe2da00000179000000200000000000000000000000000000002000000003reloc/wuftpd/images/message.gif   GIF89a0 0 Â  øüøÈÌÈ˜˜˜PPø`d`   ˜˜øÿÿÿ!þMade with GIMP !ù
  ,    0 0  þxºÜþ0ÊI«½8†Í»ÿ`(
J0œhª®lÛåPÌÆl5mì|ïÿ@ØÁ,Fa€Àl:ŸÐ¨4*PDØ¬vYº.½_4Þ¸Ã«W½a—ÅË­ÇÚ»Cv0O·×qMm„€qtvu‡spˆ…{ˆ]_{N„xuzz™“rž[}Ÿ¢x£¦u¥§§‰—ž‘¢‰lŸ¯³“–²~ªh¸n•ˆƒºµiÀÀwe´®¶—j›Â«©»°ÑÒÊÄÕ£¡ØÖÆÛ"k¬ŒÞŽLË¾à¹à…pz¶‘Íºð¸½æõ­ô²¹Å_øì‚	|5o‘»kã@QKH
!C,Ú6|$î¶po*VÃø-ÇQÇê2¶yWI ÇsÇ‚	*!€R¿CŠÂÜ¨ Ê”›8s–ËÀ³§ÏŸ@ƒ2H  ;   07070100012f70000081a40000000000000002000000013d1fe2da000001cc000000200000000000000000000000000000001d00000003reloc/wuftpd/images/misc.gif  GIF89a0 0 ¡  ÿÿÿ™™™ÌÌÌ   !ù    ,    0 0  þ„	¼×ŒòÍ‹T²Vcê}Âh¹œc#é¶á+‚vÎÑÝ¸h%A¨ 9›ô±@žZ
ÁK9ž=éÇZâe/Líž|Ç]È7Œ&‹Ë[´ÛgÖÆµgê…*U{ag&2ø ·Ç%ç'˜ XXSgGG(ÙF¨uÂ²YöÂsÃ)ò’y„ôö–9%33ÀúÁ:`ð
{ð Ë ËòzÑK;;Ûú`{›Pô±œÜª0» mÁÊÛ¬¬­ D-1ÀëÌ,¾í,ÍL:-ÎN.lý-gûÛêînüî6<,†eúÂü#—ºƒ¦ž±Kæ¡ÂˆÀ
Œ5A¢¯ž‰ºðcå±ãhZié5rÖI#+vÜwÃÊBÙØT¢¡HŽÎB‘æìÌ	¦O1=cääY4MO‚|œ*Âé–¦NwšÊ‡RÒ,tF…ÃÇêžN^½ÜÔ
uiY¢\'QZÔ'3qê¾…wJd³~»öªàÁ„ßqô¤†up(EJ±à˜n¬j‰å;˜)kV…ùò!È’1  ;07070100012f71000081a40000000000000002000000013d1fe2da000001de000000200000000000000000000000000000001c00000003reloc/wuftpd/images/net.gif   GIF89a0 0 Â  ÿÿÿfffÌÌÌ   ™™™         !ù    ,    0 0  þºÜþ0¶Àè²tý”*£Ó]˜W¥ßæ’*Ù¾+Ë\=w1}æ"Úd'$nN·¤Éƒí˜=‰t*X‹««Ø^³_*@ö–·gq—Ënw×ðq\m×ëv;ï«á_|{~y\
‹†‡zk{\}Ž’qŠ‹•x]‹  žŒŠR¢•Œyž™©V§ŒS¤¥¥¼©­¤´T¨¨Â­Ë¥À¹’ÇÏÄTÑ Õ»¼ÀÙÕÙÎØÙÖ×Ø×ÇçäèâëìãêæâäôðøéïñóøòúÊåkgíÝ?ýÚí:žA‡†“hnâ¦‹3j|@¤FÔ¤C†"!ò’¤’¶T‰
f¤tl	r@hfÌ¹ÉsBÎB;æòtJQ¬\†R½¢téÕ¯R±Š‚ŠE¦Ù,PcŠQ­ôóS3¥¡ºFEÊ5+U¡´ÒJÃ,²·Ò6JÂåpºˆvñîã†PÑÝ†ÚÛ7p=yˆOIÇqB‚ÝVÜïq@	C¶wÙ®àÍ‰K´È—"Äˆ¥EË•<% ;  07070100012f72000081a40000000000000002000000013d1fe2da0000014c000000200000000000000000000000000000001d00000003reloc/wuftpd/images/perm.gif  GIF89a0 0 Â  ÿÿÿÌÌÌ™™™fff            !ù    ,    0 0  þºÜþ0ÊIë8Ë§ø ØNfžæFRAè¾ÃÊ¾ôËR+DÞ8H«·ó	€ÁRqÇk:Iá’â‘Ñ…Îê"ö°Y€Îø7Æd¨Y›.3PªÑq@¯Ûïßú‚êcât3mj<ƒm`‡\>ŠŒ9SF‘N™M1CŽšM…Ÿ™œ•!V_#“[TUŽ¡«R„—³hd¶¸JµªswÅuÁ{ÈÉ†Â~+¾¬BÑÍ Ç‚Ô$Ò%Ù¹ÖØ&ÛÚbã,êÞ×9 ‡‚ñèìØÍíoÖ£<7ö£ÝÁôàgÁ! ;|ÃÇHÐÁ„Ì°­SvA[sœÒUÜHÑ;ó:²š¨ðžg&4.K  ;0707010000d1d5000081e40000000000000002000000013d1fe2db0000114d000000200000000000000000000000000000001700000003reloc/wuftpd/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display the wuFTPd main menu

require './wuftpd-lib.pl';
use Socket;
$| = 1;

# Check if wuftpd is installed
if (!-x $config{'ftpd_path'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("wu-ftpd", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eftpd', "<tt>$config{'ftpd_path'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

# Check if the ftpaccess file exists
if (!-r $config{'ftpaccess'}) {
	&header($text{'index_title'}, "", "intro", 1, 1, 0,
		&help_search_link("wu-ftpd", "man", "doc", "google"));
	print "<hr>\n";
	print "<p>",&text('index_eftpaccess', "<tt>$config{'ftpaccess'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
	print "<hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

@st = stat($config{'ftpd_path'});
&read_file("$module_config_directory/ftpd", \%ftpd);
if ($ftpd{'size'} != $st[7] || $ftpd{'mtime'} != $st[9]) {
	# Run the ftpd to check if it is really wuftpd, by starting it
	# in a separate TCP server process
	$proto = getprotobyname('tcp');
	socket(MAIN, PF_INET, SOCK_STREAM, $proto) ||
		&error("socket failed : $!");
	setsockopt(MAIN, SOL_SOCKET, SO_REUSEADDR, pack("l", 1));
	$port = 10000;
	while(1) {
		$port++;
		last if (bind(MAIN, sockaddr_in($port, INADDR_ANY)));
		}
	listen(MAIN, SOMAXCONN);
	if (!($pid = fork())) {
		accept(SOCK, MAIN) || exit(1);
		untie(*STDIN);
		untie(*STDOUT);
		untie(*STDERR);
		open(STDIN, "<&SOCK");
		open(STDOUT, ">&SOCK");
		open(STDERR, ">&SOCK");
		exec("$config{'ftpd_path'} -A");
		print "Exec failed : $!\n";
		exit;
		}
	close(MAIN);
	&open_socket("localhost", $port, CONN);
	select(CONN); $| = 1; select(STDOUT);
	print CONN "quit\n";
	while(<CONN>) {
		$version = $1 if (/Version\s+wu-(\d+\.\d+)/i);
		}
	close(CONN);
	waitpid($pid, 0);
	if (!$version) {
		&header($text{'index_title'}, "", "intro", 1, 1, 0,
			&help_search_link("wu-ftpd", "man", "doc", "google"));
		print "<hr>\n";
		print "<p>",&text('index_eversion',
				  "<tt>$config{'ftpd_path'}</tt>",
				  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
		print "<hr>\n";
		&footer("/", $text{'index'});
		exit;
		}

	# Save version information
	$ftpd{'size'} = $st[7];
	$ftpd{'mtime'} = $st[9];
	$ftpd{'version'} = $version;
	&write_file("$module_config_directory/ftpd", \%ftpd);
	}

&header($text{'index_title'}, "", "intro", 1, 1, 0,
	&help_search_link("wu-ftpd", "man", "doc", "google"), undef, undef,
	&text('index_version', $ftpd{'version'}));
print "<hr>\n";

# Display table of icons
@names = ( 'class', 'message', 'acl', 'net', 'log',
	   'alias', 'anon', 'perm', 'misc' );
@links = map { "edit_${_}.cgi" } @names;
@titles = map { $text{"${_}_title"} } @names;
@icons = map { "images/${_}.gif" } @names;
&icons_table(\@links, \@titles, \@icons, 5);

if (&foreign_check('inetd')) {
	# Check if ftpd is in inetd
	&foreign_require('inetd', 'inetd-lib.pl');
	foreach $i (&foreign_call('inetd', 'list_inets')) {
		if ($i->[1] && $i->[3] eq 'ftp') {
			$inet = $i;
			last;
			}
		}
	$inet_mod = 'inetd';
	}
elsif (&foreign_check('xinetd')) {
	# Check if ftpd is in xinetd
	&foreign_require('xinetd', 'xinetd-lib.pl');
	foreach $xi (&foreign_call("xinetd", "get_xinetd_config")) {
		if ($xi->{'quick'}->{'disable'}->[0] ne 'yes' &&
		    $xi->{'value'} eq 'ftp') {
			$inet = $xi;
			last;
			}
		}
	$inet_mod = 'xinetd';
	}
else {
	# Not supported on this OS .. assume so
	$inet = 1;
	}

if (!$inet) {
	# Get the FTP server pid
	if (open(PID, $config{'pid_file'})) {
		chop($pid = <PID>);
		close(PID);
		}
	$pid = undef if (!kill(0, $pid));
	}

if (!$inet && $pid) {
	print "<hr>\n";
	print "<form action=restart.cgi>\n";
	print "<input type=hidden name=pid value='$pid'>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_apply'}\"></td>\n";
	print "<td>$text{'index_applymsg'}</td>\n";
	print "</tr></table></form>\n";
	}
elsif (!$inet && !$pid) {
	print "<hr>\n";
	print "<form action=start.cgi>\n";
	print "<table width=100%><tr>\n";
	print "<td><input type=submit value=\"$text{'index_start'}\"></td>\n";
	if ($inet_mod) {
		print "<td>",&text('index_startmsg', "/$inet_mod/"),"</td>\n";
		}
	else {
		print "<td>$text{'index_startmsg2'}</td>\n";
		}
	print "</tr></table></form>\n";
	}

print "<hr>\n";
&footer("/", $text{'index'});

   0707010006668f000041ed0000000000000001000000023d1ffbb200000000000000200000000000000000000000000000001200000003reloc/wuftpd/lang 07070100066690000081a40000000000000002000000013d1fe2da00002527000000200000000000000000000000000000001500000003reloc/wuftpd/lang/ca  index_title=Servidor FTP
index_eftpd=No puc trobar el servidor FTP $1 al sistema. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del Mòdul Servidor FTP</a> sigui incorrecta.
index_eftpaccess=El fitxer de configuració $1 del servidor FTP no existeix. Pot ser que no estigui instal·lat, o bé que la <a href='$2'>configuració del Mòdul Servidor FTP</a> sigui incorrecta.
index_eversion=No sembla que el servidor FTP $1 sigui WU-FTPd. Pot ser que estiguis fent servir un FTP antic subministrat pel sistema operatiu, o bé que la <a href='$2'>configuració del Mòdul Servidor FTP</a> sigui incorrecta.
index_apply=Aplica els Canvis
index_applymsg=Fes clic sobre aquest botó per aplica la configuració actual. Això aturarà i reiniciarà tots els processos servidors FTP en execució, per tant tots els usuaris connectats seran desconnectats.
index_start=Inicia el Servidor
index_startmsg=Fes clic sobre aquest botó per iniciar el servidor FTP amb la configuració actual. També pots configurar el servidor per que s'engegui automàticament quan calgui, amb el mòdul <a href='$1'>Serveis d'Internet</a>.
index_startmsg2=Fes clic nsobre aquest botó per iniciar el servidor FTP amb la configuració actual. També pots configurar el servidor per que s'engegui automàticament quan calgui ambt inetd o algun altre programa equivalent.
index_return=a les opcions del servidor FTP
index_version=Versió WU-FTPd $1

class_title=Usuaris i Classes
class_header=Classes d'usuaris i opcions d'usuari
class_class=Classes d'usuaris
class_name=Nom de la classe
class_types=Tipus d'usuaris
class_addrs=Adreces coincidents
class_real=Unix
class_guest=Hoste
class_anonymous=Anònim
class_guestuser=Usuaris i UIDs Unix per tractar com a hostes
class_guestgroup=Grups i GIDs Unix per tractar com a hostes
class_realuser=Usuaris i UIDs Unix per <i>no</i> tractar com a hostes
class_realgroup=Grups i GIDs Unix per <i>no</i> tractar com a hostes
class_ftpusers=Usuaris Unix denegats (de $1)
class_deny_uid=Usuaris i UIDs Unix denegats
class_deny_gid=Grups i GIDs Unix denegats
class_allow_uid=Usuaris i UIDs Unix per <i>no</i> denegar
class_allow_gid=Grups i GIDs Unix per <i>no</i> denegar
class_err=No he pogut desar les classes d'usuaris
class_eclass='$1' no és un nom de classe vàlid
class_etypes=No has triat cap tipus per a la classe '$1'
class_eaddrs=No has introduït cap adreça per a la classe '$1'

message_title=Missatges i Banderes
message_header=Missatges, banderes i fitxers README
message_message=Fitxers de missatge
message_path=Camí
message_when=Mostra
message_login=En connectar-se
message_dir=En mostrar el directori
message_alldir=En mostrar qualsevol directori
message_classes=Mostra per a les classes
message_readme=Fitxers README
message_update=Mostra la data de darrera modificació
message_greeting=Nivell de salutació
message_full=Nom de host i versió
message_brief=Nom de host
message_terse=Ni l'un ni l'altre
message_banner=Bandera prèvia a la connexió
message_none=Cap
message_file=Del fitxer
message_hostdef=Nom de host del sistema
message_hostname=Nom de host pels missatges
message_email=Adreça de correu del propietari
message_err=No he pogut desar els missatges i les banderes
message_epath='$1' no és un camí vàlid
message_cwd='$1' no és un directori vàlid
message_eclass=La classe '$1' no existeix
message_ebanner='$1' no és un fitxer de bandera vàlid
message_ehostname=Hi falta el nom de host o bé no és vàlid
message_eemail=Hi falta l'adreça de correu o bé no és vàlida

acl_title=Límits i Control d'Accés
acl_header=Opcions de límits i control d'accés
acl_deny=Denega l'accés des de
acl_daddrs=Les adreces
acl_dmsg=Fitxer de missatge d'error
acl_file=Límits de transferència de fitxers i dades
acl_fblimit=Tipus de límit
acl_flimit=Fitxers per sessió
acl_blimit=Bytes per sessió
acl_raw=Només dades
acl_inout=Direcció
acl_in=Entrada
acl_out=Sortida
acl_total=Ambdues
acl_count=Màxim
acl_class=Aplica-ho a la classe
acl_all=Totes
acl_limit=Límit d'usuaris concorrents
acl_n=Nombre màxim d'usuaris
acl_times=Durant
acl_lmsg=Fitxer de missatge d'error
acl_unlimited=Il·limitat
acl_any=En qualsevol moment<br>
acl_alimit=Límit de sessió anònima
acl_glimit=Límit de sessió hoste
acl_mins=minuts
acl_fails=Nombre màxim de connexions fallides
acl_private=Pot canviar de grup
acl_noret=Denega l'accés a tots els fitxers
acl_nfiles=Fitxers denegats
acl_nrel=Relatiu a chroot
acl_nclass=Denega-ho a les classes
acl_allowret=Permet l'accés als fitxers encara que estigui denegat
acl_afiles=Fitxers permesos
acl_arel=Relatiu a chroot
acl_aclass=Permet-ho a les classes
acl_err=No he pogut desar els límits i el control d'accés
acl_edaddr='$1' no és una adreça vàlida
acl_edfile='$1' no és un fitxer d'adreces vàlid
acl_edmsg='$1' no és un fitxer de missatge vàlid
acl_eln='$1' no és un nombre màxim d'usuaris vàlid
acl_etimes='$1' no és un interval de temps estil UUCP vàlid
acl_elmsg='$1' no és un fitxer de missatge d'error vàlid
acl_efbcount='$1' no és un nombre de fitxers o bytes vàlid
acl_elimit='$1' no és un límit de temps vàlid
acl_efails='$1' no és un nombre vàlid d'intents fallits de connexió

net_title=Xarxa
net_header=Opcions de xarxa
net_tcp=Mides de finestra TCP
net_tsize=Mida
net_tclass=Per a la classe
net_tall=Totes
net_pasvaddr=Adreces de les connexions PASV
net_pip=Adreça IP
net_pcidr=Per als clients de xarxa
net_pasvport=Ports de les connexions PASV
net_prange=Interval de ports
net_err=No he pogut desar les opcions de xarxa
net_etsize='$1' no és una mida de finestra TCP vàlida
net_eip='$1' no és una adreça IP vàlida
net_enet='$1' no és un adreça de xarxa vàlida
net_ecidr='$1' no és un nombre de bits de xarxa vàlid
net_eport='$1' no és número de port vàlid

log_title=Registres
log_header=Opcions de registre
log_commands=Registra totes les ordres de
log_anonymous=Usuaris anònims
log_guest=Usuaris hostes
log_real=Usuaris Unix
log_trans=Registra les transferències de
log_dir=Direcció
log_inbound=Entrada
log_outbound=Sortida
log_both=Ambdues
log_security=Registra les violacions de seguretat de
log_to=Registra les transferències sobre
log_syslog=El registre del sistema
log_xferlog=Fitxer de registre XFER
log_err=No he pogut desar les opcions de registre

alias_title=Àlies i Camins
alias_header=Opcions d'àlies i camins
alias_alias=Àlies de directoris de CD
alias_from=Nom de l'àlies
alias_to=Àlies del directori
alias_cdpath=Camí de recerca de directoris de CD
alias_err=No he pogut desar els àlies i els camins
alias_efrom='$1' no és un nom d'àlies vàlid
alias_eto='$1' no és un directori d'àlies vàlid
alias_ecdpath='$1' no és un directori de recerca de CD vàlid

anon_title=FTP Anònim
anon_eftp=Atenció - el sistema no té cap usuari <tt>ftp</tt>, així que pot ser que el FTP anònim no estigui configurat.
anon_header=Opcions de FTP anònim
anon_auto=Grups Unix per als usuaris anònims
anon_group=Canvia al grup
anon_classes=Per a les classes
anon_root=Directori arrel de FTP anònim
anon_dir=Directori
anon_class=Per a la classe
anon_any=Qualsevol
anon_passwd=Comprovació de contrasenya de FTP anònim
anon_none=Permet qualsevol cosa
anon_trivial=Ha de contenir @
anon_rfc822=Ha de ser una adreça de correu RFC822
anon_enforce=Denega la connexió
anon_warn=Només avisa
anon_email=Contrasenyes de FTP anònim denegades
anon_groot=Directoris arrel hostes
anon_uids=Per als usuaris Unix
anon_err=No he pogut desar les opcions de FTP anònim
anon_edir='$1' no és un directori vàlid
anon_egroup='$1' no és un grup vàlid

perm_title=Permisos
perm_header=Opcions dels permisos
perm_perms=Restriccions d'ordres
perm_type=Ordre
perm_can=Permet
perm_users=Per als tipus d'usuaris
perm_classes=Per a les classes
perm_all=Tots
perm_anonymous=Anònim
perm_guest=Hoste
perm_real=Unix
perm_note=Per defecte, tots els usuaris tenen permeses totes les ordres
perm_filter=Noms de fitxers per pujar no permesos
perm_types=Tipus d'usuaris
perm_mesg=Fitxer de missatge d'error
perm_char=Caràcters permesos
perm_regexp=Expressió regular de fitxers denegats
perm_err=No he pogut desar els permisos
perm_echar='$1' no és una expressió regular de joc de caràcters vàlida
perm_etypes=No has seleccionat cap tipus d'usuari
perm_emesg='$1' no és un fitxer de missatge d'error vàlid

host_title=Control d'Accés al Host

misc_title=Opcions Miscel·lànies
misc_header=Opcions Miscel·lànies
misc_lslong=Ordre de llistat detallat
misc_lsshort=Ordre de llistat curt
misc_lsplain=Ordre de llistat normal
misc_shutdown=Fitxer d'avís de tancament
misc_none=Cap
misc_nice=Nivell <i>nice</i> del procés de servei
misc_ndelta=Nivell <i>nice</i>
misc_class=Per a les classes
misc_all=Totes
misc_defumask=<i>Umask</i> per defecte dels fitxers pujats
misc_umask=<i>Umask</i>
misc_err=No he pogut desar les opcions miscel·lànies
misc_elslong=Hi falta l'ordre de llistat detallat
misc_elsshort=Hi falta l'ordre de llistat curt
misc_elsplain=Hi falta l'ordre de llistat normal
misc_eshutdown=Hi falta el fitxer de notificació de tancament
misc_ence='$1' no és un nivell <i>nice</i> vàlid
misc_eumask='$1' no és una <i>umask</i> vàlida

log_class=He canviat els usuaris i les  classes
log_message=He canviat els missatges i les banderes
log_acl=He canviat els límits i el control d'accés
log_net=He canviat les opcions de xarxa
log_log=He canviat les opcions de registre
log_alias=He canviat els àlies i el camins
log_anon=He canviat el FTP anònim
log_perm=He canviat les opcions dels permisos
log_misc=He canviat les opcions miscel·lànies
log_restart=He aplicat els canvis
log_start=He iniciat el servidor FTP


 07070100066691000081a40000000000000002000000013d1fe2da000025ba000000200000000000000000000000000000001500000003reloc/wuftpd/lang/de  index_title=FTP-Server
index_eftpd=Der FTP-Server $1 konnte nicht auf Ihrem System gefunden werden. Vielleicht ist er nicht installiert, oder Ihre <a href='$2'>FTP-Server-Modulkonfiguration</a> ist fehlerhaft. 
index_eftpaccess=Die FTP-Server-Konfigurationsdatei $1 existiert nicht. Vielleicht ist der Server nicht installiert, oder Ihre <a href='$2'>FTP-Server-Modulkonfiguration</a> ist fehlerhaft.  
index_eversion=Der FTP-Server $1 scheint nicht WU-FTPd zu sein. Vielleicht benutzen Sie einen &auml;lteren FTPd, der mit Ihrem Betriebssystem geliefert wurde, oder Ihre <a href='$2'>FTP-Server-Modulkonfiguration</a> ist fehlerhaft.
index_apply=&Auml;nderungen anwenden
index_applymsg=Klicken Sie auf diese Schaltfl&auml;che, um die aktuelle Konfiguration auf den laufenden DHCP-Server anzuwenden. Dies geschieht durch Stoppen und Neustarten aller laufenden FTP-Server-Prozesse, wodurch alle verbundenen Benutzer abgemeldet werden. 
index_start=Server starten
index_startmsg=Klicken Sie auf diese Schaltfl&auml;che, um den FTP-Server mit der aktuellen Konfiguration zu starten. Sie k&ouml;nnen den Server mit dem Modul <a href='$1'>Internet Dienste</a> auch so konfigurieren, dass er automatisch gestartet wird, wenn er ben&ouml;tigt wird. 
index_return=FTP-Server-Einstellungen
class_title=Benutzer und Klassen
class_header=Benutzerklassen und Benutzereinstellungen
class_class=Benutzerklassen
class_name=Klassenname
class_types=Benutzertypen
class_addrs=&Uuml;bereinstimmende Adressen
class_real=Unix
class_guest=Gast
class_anonymous=Anonym
class_guestuser=Unix-Benutzer und UIDs, die als G&auml;ste behandelt werden sollen
class_guestgroup=Unix-Gruppen und GIDs, die als G&auml;ste behandelt werden sollen
class_realuser=Unix-Benutzer und UIDs, die <I>nicht</I> als G&auml;ste behandelt werden sollen
class_realgroup=Unix-Gruppen und GIDs, die <I>nicht</A> als G&auml;ste behandelt werden sollen
class_ftpusers=Unix-Benutzer, denen der Zugriff verweigert werden sollen (von $1)
class_deny_uid=Unix-Benutzer und UIDs, denen der Zugriff verweigert werden soll
class_deny_gid=Unix-Gruppen und GIDs, denen der Zugriff verweigert werden soll
class_allow_uid=Unix-Benutzer und UIDs, denen der Zugriff <I>nicht</I> verweigert werden soll
class_allow_gid=Unix-Gruppen und GIDs, denen der Zugriff </I>nicht</I> verweigert werden soll
class_err=Fehler beim Speichern der Benutzerklassen
class_eclass='$1' ist kein g&uuml;ltiger Klassenname
class_etypes=Keine Typen ausgew&auml;hlt f&uuml;r Klasse '$1'
class_eaddrs=Keine Adressen angegeben f&uuml;r Klasse '$1'
message_title=Meldungen und Banner
message_header=Meldungen, Banner und LIESMICH-Dateien
message_message=Meldungsdateien
message_path=Pfad
message_when=Wann sollen die Dateien angezeigt werden
message_login=Beim Anmelden
message_dir=Betreten des Verzeichnisses
message_alldir=Betreten eines beliebigen Verzeichnisses
message_classes=Klassen, denen die Meldung gezeigt werden soll
message_readme=LIESMICH-Dateien
message_update=Wann &Auml;nderungsdatum angezeigt werden soll
message_greeting=Gru&szlig;-Level
message_full=Host-Name und Version
message_brief=Host-Name
message_terse=Keines
message_banner=Banner vor Anmeldung
message_none=Keines
message_file=Von Datei
message_hostdef=System-Host-Name
message_hostname=Host-Name f&uuml;r Meldungen
message_email=E-Mail-Adresse des Besitzers
message_err=Fehler beim Speichern von Meldungen und Bannern
message_epath='$1' ist kein g&uuml;ltiger Pfad
message_cwd='$1' ist kein g&uuml;ltiges Verzeichnis
message_eclass=Klasse '$1' existiert nicht
message_ebanner='$1' ist keine g&uuml;ltige Anmelde-Banner-Datei
message_ehostname=Fehlender oder ung&uuml;ltiger Host-Name
message_eemail=Fehlende oder ung&uuml;ltige E-Mail-Adresse
acl_title=Grenzwerte und Zugriffskontrolle
acl_header=Grenzwerte und Zugriffskontrolleinstellungen
acl_deny=Verweigere Zugriff von
acl_daddrs=Verweigere von Adresse
acl_dmsg=Fehlermeldungsdatei
acl_file=Datei- und Datentransfergrenzwerte
acl_fblimit=Grenzwerttyp
acl_flimit=Dateien pro Sitzung
acl_blimit=Bytes pro Sitzung
acl_raw=Nur Daten?
acl_inout=Richtung
acl_in=Eingang
acl_out=Ausgang
acl_total=Beide
acl_count=Maximum
acl_class=Anwenden auf Klasse
acl_all=Alle Klassen
acl_limit=Grenzwert gleichzeitiger Benutzer
acl_n=Maximale Anzahl von Benutzern
acl_times=Zu Zeiten
acl_lmsg=Fehlermeldungsdatei
acl_unlimited=Unbegrenzt
acl_any=Zu jeder Zeit
acl_alimit=Grenzwert f&uuml;r anonyme Sitzungen
acl_glimit=Grenzwert f&uuml;r Gastsitzungen
acl_mins=Minuten
acl_fails=Maximale Anzahl von Anmeldefehlern
acl_private=Kann Gruppe gewechselt werden?
acl_noret=Verweigere Zugriff auf Dateien
acl_nfiles=Zu verweigernde Dateien
acl_nrel=Relativ zu Chroot?
acl_nclass=Verweigere f&uuml;r Klassen
acl_allowret=Gestatte Zugriff auf Dateien, selbst wenn verweigert
acl_afiles=Zu erlaubende Dateien
acl_arel=Relativ zu Chroot?
acl_aclass=Erlaube f&uuml;r Klassen
acl_err=Fehler beim Speichern der Grenzwerte und Zugriffskontrolle
acl_edaddr='$1' ist keine g&uuml;ltige Adresse
acl_edfile='$1' ist keine g&uuml;ltige Adressdatei
acl_edmsg='$1' ist keine g&uuml;ltige Fehlermeldungsdatei
acl_eln='$1' ist keine g&uuml;ltige Maximalzahl von Benutzern
acl_etimes='$1' ist kein g&uuml;ltiger UUCP-Stilzeitraum
acl_elmsg='$1' ist keine g&uuml;ltige Fehlermeldungsdatei
acl_efbcount='$1' ist keine g&uuml;ltige Anzahl von Dateien oder Bytes
acl_elimit='$1' ist keine g&uuml;ltige Zeitgrenze
acl_efails='$1' ist keine g&uuml;ltige Anzahl von Anmeldefehlern
net_title=Netzwerk
net_header=Netzwerkeinstellungen
net_tcp=TCP-Fenstergr&ouml;&szlig;en
net_tsize=Gr&ouml;&szlig;e
net_tclass=F&uuml;r Klasse
net_tall=Alle Klassen
net_pasvaddr=Adressen f&uuml;r PASV-Verbindungen
net_pip=IP-Adressen
net_pcidr=F&uuml;r Clients vom Netzwerk
net_pasvport=Anschl&uuml;sse f&uuml;r PASV-Verbindungen
net_prange=Anschlussbereich
net_err=Fehler beim Speichern der Netzwerkeinstellungen
net_etsize='$1' ist keine g&uuml;ltige TCP-Fenstergr&ouml;&szlig;e
net_eip='$1' ist keine g&uuml;ltige IP-Adresse
net_enet='$1' ist keine g&uuml;ltige Netzwerkadresse
net_ecidr='$1' ist keine g&uuml;ltige Anzahl von Netzwerk-Bits
net_eport='$1' ist keine g&uuml;ltige Anschlussnummer
log_title=Protokollierung
log_header=Protokollierungseinstellungen
log_commands=Alle Befehle protokollieren f&uuml;r
log_anonymous=Anonyme Benutzer
log_guest=Gastbenutzer
log_real=Unix-Benutzer
log_trans=Transfers protokollieren f&uuml;r
log_dir=Richtung
log_inbound=Eingehend
log_outbound=Ausgehend
log_both=Beide
log_security=Sicherheitsverletzungen protokollieren f&uuml;r
log_to=Transfers protokollieren zu
log_syslog=Systemprotokoll
log_xferlog=XFER-Protokolldatei
log_err=Fehler beim Speichern der Protokollierungseinstellungen
alias_title=Aliases und Pfade
alias_header=Alias- und Pfadeinstellungen
alias_alias=CD-Verzeichnis-Aliases
alias_from=Alias-Name
alias_to=Alias zu Verzeichnis
alias_cdpath=CD-Verzeichnissuchpfad
alias_err=Fehler beim Speichern der Aliases und Pfade
alias_efrom='$1' ist kein g&uuml;ltiger Alias-Name
alias_eto='$1' ist kein g&uuml;ltiges Alias-Verzeichnis
alias_ecdpath='$1' ist kein g&uuml;ltiges CD-Suchverzeichnis
anon_title=Anonymes FTP
anon_eftp=Warnung - Ihr System hat keinen <tt>FTP</tt>-Benutzer, daher ist anonymes FTP evtl. nicht konfiguriert.
anon_header=Einstellungen f&uuml;r anonymes FTP
anon_auto=Unix-Gruppen f&uuml;r anonyme Benutzer
anon_group=Wechsle zu Gruppe
anon_classes=F&uuml;r Klassen
anon_root=Root-Verzeichnis f&uuml;r anonymes FTP 
anon_dir=Verzeichnis
anon_class=F&uuml;r Klasse
anon_any=Beliebig
anon_passwd=Kennwort&uuml;berpr&uuml;fung f&uuml;r anonymes FTP 
anon_none=Erlaube alles
anon_trivial=Muss @ enthalten
anon_rfc822=Muss eine E-Mail-Adresse nach RFC822 sein
anon_enforce=Verweigere Anmeldung
anon_warn=Nur warnen
anon_email=Kennw&ouml;rter f&uuml;r anonymes FTP, die verweigert werden sollen
anon_groot=Gast-Root-Verzeichnis
anon_uids=F&uuml;r Unix-Benutzer
anon_err=Fehler beim Speichern der Einstellungen f&uuml;r anonymes FTP 
anon_edir='$1' ist kein g&uuml;ltiges Verzeichnis
anon_egroup='$1' ist keine g&uuml;ltige Gruppe
perm_title=Rechte
perm_header=Einstellungen der Zugriffsrechte
perm_perms=Befehlseinschr&auml;nkungen
perm_type=Befehl
perm_can=Erlauben?
perm_users=F&uuml;r Benutzertyp
perm_classes=F&uuml;r Klassen
perm_all=Alle
perm_anonymous=Anonym
perm_guest=Gast
perm_real=Unix
perm_note=Standardm&auml;&szlig;ig sind alle Befehle f&uuml;r alle Benutzer verf&uuml;gbar
perm_filter=Verbotene Upload-Dateinamen
perm_types=Benutzertypen
perm_mesg=Fehlermeldungsdatei
perm_char=Gestattete Zeichen
perm_regexp=zu verweigernde regul&auml;re Dateiausdr&uuml;cke
perm_err=Fehler beim Speichern der Zugriffsrechte
perm_echar='$1' ist kein g&uuml;ltiger regul&auml;rer Ausdruck f&uuml;r Zeichen
perm_etypes=Kein Benutzertyp gew&auml;hlt
perm_emesg='$1' ist keine g&uuml;ltige Fehlermeldungsdatei
host_title=Host-Zugriffskontrolle
misc_title=Verschiedene Einstellungen
misc_header=Verschiedene Einstellungen
misc_lslong=Langer Listing-Befehl
misc_lsshort=Kurzer Listing-Befehl
misc_lsplain=Normaler Listing-Befehl
misc_shutdown=Shutdown-Benachrichtigungsdatei
misc_none=Keine
misc_nice=Serviceprozess-Nicelevel
misc_ndelta=Nicelevel
misc_class=F&uuml;r Klassen
misc_all=Alle Klassen
misc_defumask=Standard-Umask f&uuml;r hochgeladene Dateien
misc_umask=Umask
misc_err=Fehler beim Speichern der verschiedenen Optionen
misc_elslong=Fehlender langer Listing-Befehl
misc_elsshort=Fehlender kurzer Listing-Befehl
misc_elsplain=Fehlender normaler Listing-Befehl
misc_eshutdown=Fehlende Shutdown-Benachrichtigungsdatei
misc_enice='$1' ist kein g&uuml;ltiger Nicelevel
misc_eumask='$1' ist keine g&uuml;ltige Umask
  07070100066692000081a40000000000000002000000013d1fe2da00002112000000200000000000000000000000000000001500000003reloc/wuftpd/lang/en  index_title=FTP Server
index_eftpd=The FTP server $1 could not be found on your system. Maybe it is not installed, or your <a href='$2'>FTP Server module configuration</a> is incorrect.
index_eftpaccess=The FTP server configuration file $1 does not exist.  Maybe it is not installed, or your <a href='$2'>FTP Server module configuration</a> is incorrect.
index_eversion=The FTP server $1 does not appear to be WU-FTPd. Maybe you are using an older FTPd provided with your operating system, or your <a href='$2'>FTP Server module configuration</a> is in correct.
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration. This will stop and restart all the running FTP server processes, thus disconnecting all connected users.
index_start=Start Server
index_startmsg=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using the <a href='$1'>Internet Services</a> module.
index_startmsg2=Click this button to start the FTP server with the current configuration. You can also configure the server to be started automatically when needed using inetd or some equivalent program.
index_return=FTP server options
index_version=WU-FTPd version $1

class_title=Users and Classes
class_header=User classes and user options
class_class=User classes
class_name=Class name
class_types=User types
class_addrs=Matching addresses
class_real=Unix
class_guest=Guest
class_anonymous=Anonymous
class_guestuser=Unix users and UIDs to treat as guests
class_guestgroup=Unix groups and GIDs to treat as guests
class_realuser=Unix users and UIDs <i>not</i> to treat as guests
class_realgroup=Unix groups and GIDs <i>not</i> to treat as guests
class_ftpusers=Unix users to deny (from $1)
class_deny_uid=Unix users and UIDs to deny
class_deny_gid=Unix groups and GIDs to deny
class_allow_uid=Unix users and UIDs <i>not</i> to deny
class_allow_gid=Unix groups and GIDs <i>not</i> to deny
class_err=Failed to save user classes
class_eclass='$1' is not a valid class name
class_etypes=No types chosen for class '$1'
class_eaddrs=No addresses entered for class '$1'

message_title=Messages and Banners
message_header=Messages, banners and README files
message_message=Message files
message_path=Path
message_when=When to display
message_login=At login
message_dir=Entering dir
message_alldir=Entering any dir
message_classes=Classes to display for
message_readme=README files
message_update=When to display last modifed date
message_greeting=Greeting level
message_full=Hostname and version
message_brief=Hostname
message_terse=Neither
message_banner=Pre-login banner
message_none=None
message_file=From file
message_hostdef=System hostname
message_hostname=Hostname for messages
message_email=Owner's email address
message_err=Failed to save messages and banners
message_epath='$1' is not a valid path
message_cwd='$1' is not a valid directory
message_eclass=Class '$1' does not exist
message_ebanner='$1' is not a valid login banner file
message_ehostname=Missing or invalid hostname
message_eemail=Missing or invalid email address

acl_title=Limits and Access Control
acl_header=Limits and access control options
acl_deny=Deny access from
acl_daddrs=Deny from address
acl_dmsg=Error message file
acl_file=File and data transfer limits
acl_fblimit=Limit type
acl_flimit=Files per session
acl_blimit=Bytes per session
acl_raw=Data only?
acl_inout=Direction
acl_in=In
acl_out=Out
acl_total=Both
acl_count=Maximum
acl_class=Apply to class
acl_all=All classes
acl_limit=Concurrent user limits
acl_n=Maximum users
acl_times=At times
acl_lmsg=Error message file
acl_unlimited=Unlimited
acl_any=Any time
acl_alimit=Anonymous session limit
acl_glimit=Guest session limit
acl_mins=minutes
acl_fails=Maximum login failures
acl_private=Can switch groups?
acl_noret=Deny access to files
acl_nfiles=Files to deny
acl_nrel=Relative to chroot?
acl_nclass=Deny for classes
acl_allowret=Allow access to files even if denied
acl_afiles=Files to allow
acl_arel=Relative to chroot?
acl_aclass=Allow for classes
acl_err=Failed to save limits and access control
acl_edaddr='$1' is not a valid address
acl_edfile='$1' is not a valid address file
acl_edmsg='$1' is not a valid error message file
acl_eln='$1' is not a valid maximum number of users
acl_etimes='$1' is not a valid UUCP-style time range
acl_elmsg='$1' is not a valid error message file
acl_efbcount='$1' is not a valid number of files or bytes
acl_elimit='$1' is not a valid time limit
acl_efails='$1' is not a valid number of login failures

net_title=Networking
net_header=Networking options
net_tcp=TCP window sizes
net_tsize=Size
net_tclass=For class
net_tall=All classes
net_pasvaddr=Addresses for PASV connections
net_pip=IP address
net_pcidr=For clients from network
net_pasvport=Ports for PASV connections
net_prange=Port range
net_err=Failed to save networking options
net_etsize='$1' is not a valid TCP window size
net_eip='$1' is not a valid IP address
net_enet='$1' is not a valid network address
net_ecidr='$1' is not a valid number of network bits
net_eport='$1' is not a valid port number

log_title=Logging
log_header=Logging options
log_commands=Log all commands for
log_anonymous=Anonymous users
log_guest=Guest users
log_real=Unix users
log_trans=Log transfers for
log_dir=In directions
log_inbound=Inbound
log_outbound=Outbound
log_both=Both
log_security=Log security violations for
log_to=Log transfers to
log_syslog=System log
log_xferlog=XFER log file
log_err=Failed to save logging options

alias_title=Aliases and Paths
alias_header=Alias and path options
alias_alias=CD directory aliases
alias_from=Alias name
alias_to=Alias to directory
alias_cdpath=CD directory search path
alias_err=Failed to save aliases and paths
alias_efrom='$1' is not a valid alias name
alias_eto='$1' is not a valid alias directory
alias_ecdpath='$1' is not a valid CD search directory

anon_title=Anonymous FTP
anon_eftp=Warning - your system does not have an <tt>ftp</tt> user, and thus anonymous FTP is probably not configured.
anon_header=Anonymous FTP options
anon_auto=Unix groups for anonymous users
anon_group=Switch to group
anon_classes=For classes
anon_root=Anonymous FTP root directories
anon_dir=Directory
anon_class=For class
anon_any=Any
anon_passwd=Anonymous FTP password check
anon_none=Allow anything
anon_trivial=Must contain @
anon_rfc822=Must be RFC822 email address
anon_enforce=Deny login
anon_warn=Warn only
anon_email=Anonymous FTP passwords to deny
anon_groot=Guest root directories
anon_uids=For Unix users
anon_err=Failed to save anonymous FTP options
anon_edir='$1' is not a valid directory
anon_egroup='$1' is not a valid group

perm_title=Permissions
perm_header=Permission options
perm_perms=Command restrictions
perm_type=Command
perm_can=Allow?
perm_users=For user types
perm_classes=For classes
perm_all=All
perm_anonymous=Anonymous
perm_guest=Guest
perm_real=Unix
perm_note=By default, all commands are allowed for all users
perm_filter=Disallowed upload filenames
perm_types=User types
perm_mesg=Error message file
perm_char=Allowed characters
perm_regexp=File regexps to deny
perm_err=Failed to save permissions
perm_echar='$1' is not a valid character set regular expression
perm_etypes=No user types selected
perm_emesg='$1' is not a valid error message file

host_title=Host Access Control

misc_title=Miscellaneous Options
misc_header=Miscellaneous options
misc_lslong=Long listing command
misc_lsshort=Short listing command
misc_lsplain=Plain listing command
misc_shutdown=Shutdown notification file
misc_none=None
misc_nice=Service process nice level
misc_ndelta=Nice level
misc_class=For classes
misc_all=All classes
misc_defumask=Default umask for uploaded files
misc_umask=Umask
misc_err=Failed to save miscellaneous options
misc_elslong=Missing long listing command
misc_elsshort=Missing short listing command
misc_elsplain=Missing plain listing command
misc_eshutdown=Missing shutdown notification file
misc_enice='$1' is not a valid nice level
misc_eumask='$1' is not a valid umask

log_class=Changed users and classes
log_message=Changed messages and banners
log_acl=Changed limits and access control
log_net=Changed networking options
log_log=Changed logging options
log_alias=Changed aliases and paths
log_anon=Changed anonymous FTP
log_perm=Changed permissions options
log_misc=Changed miscellaneous options
log_restart=Applied changed
log_start=Started FTP server

  07070100066693000081a40000000000000002000000013d1fe2da00002663000000200000000000000000000000000000001500000003reloc/wuftpd/lang/es  index_title=Servidor FTP
index_eftpd=No se ha podido encontrar al servidor FTP $1 en tu sistema. Quizá no está instalado o tu <a href='$2'>configuración del módulo de Servidor FTP</a> es incorrecta.
index_eftpaccess=El archivo de configuración del Servidor FTP $1 no existe. Quizá no está instalado o tu <a href='$2'>configuración del módulo de Servidor FTP</a> es incorrecta.
index_eversion=El servidor FTP $1 no parece ser del tipo WU-FTPd. Quizá estás usando una vieja versión de FTPd suministrada con tu sistema operativo o tu <a href='$2'>configuración del módulo de Servidor FTP</a> es incorrecta.
index_apply=Aplicar Cambios
index_applymsg=Haz click en este botón para aplicar la configuración en curso. Esto parará y rearrancará todos los procesos en ejecución del servidor FTP, desconectando así a todos los usuarios conectados.
index_start=Arrancar Servidor
index_startmsg=Haz click en este botón para arrancar el servidor FTP con la configuración en curso. Puedes también configurar al servidor para ser arrancado automáticamente según sea necesario mediante el módulo de <a href='$1'>Servicios de Internet</a>.
index_startmsg2=Haz click en este botón para arrancar el servidor FTP con la configuración en curso. Puedes también configurar al servidor para ser arrancado automáticamente según sea necesario utilizando inetd o algún programa equivalente.
index_return=Opciones del servidor FTP

class_title=Usuarios y Clases
class_header=Clases de Usuarios y Opciones de usuario
class_class=Clases de Usuarios
class_name=Nombre de clase
class_types=Tipos de Usuario
class_addrs=Direcciones coincidentes
class_real=Unix
class_guest=Invitado
class_anonymous=Anónimo
class_guestuser=Usuarios de Unix y UIDs a ser considerados como invitados
class_guestgroup=Grupos de Unix y GIDs a ser considerados como invitados
class_realuser=Usuarios de Unix y UIDs a <i>no</i> ser considerados como invitados
class_realgroup=Grupos de Unix y GIDs a <i>no</i> ser considerados como invitados
class_ftpusers=Usuarios de Unix a denegar (de $1)
class_deny_uid=Usuarios de Unix y UIDs a denegar
class_deny_gid=Grupos de Unix y GIDs a denegar
class_allow_uid=Usuarios de Unix y UIDs a <i>no</i> denegar
class_allow_gid=Grupos de Unix y GIDs a <i>no</i> denegar
class_err=No puedo salvar clases de usuarios
class_eclass='$1' no es un nombre válido de clase
class_etypes=No se han seleccionado tipos para la clase '$1'
class_eaddrs=No se han digitado direcciones para la clase '$1'

message_title=Mensajes y Titulares
message_header=Mensajes, Titulares y archivos LEEME
message_message=Archivos de Mensajes
message_path=Trayectoria
message_when=Cuándo mostrar
message_login=En el login
message_dir=Al digitar dir
message_alldir=Al digitar cualquier dir
message_classes=Clases a mostrar para
message_readme=Archivos LEEME
message_update=Cuándo mostrar la última fecha modificada
message_greeting=Nivel de saludo
message_full=Nombre de máquina y versión
message_brief=Nombre de máquina
message_terse=Ninguno de los dos
message_banner=Titular en pre-login
message_none=Ninguno
message_file=Desde archivo
message_hostdef=Nombre de máquina del Sistema
message_hostname=Nombre de máquina para los mensajes
message_email=Dirección de correo del propietario
message_err=No puedo salvar los mensajes y titulares
message_epath='$1' no es una trayectoria válida
message_cwd='$1' no es un directorio válido
message_eclass=La clase '$1' no existe
message_ebanner='$1' no es un archivo válido de titular en login
message_ehostname=Nombre de máquina sin poner o inválido
message_eemail=Dirección de correo sin poner o inválida

acl_title=Límites y Control de Acceso
acl_header=Opciones de Límites y Control de Acceso
acl_deny=Denegar acceso desde
acl_daddrs=Denegar desde dirección
acl_dmsg=Archivo de mensajes de error
acl_file=Límites de transferencia de archivos y datos
acl_fblimit=Tipo de límite
acl_flimit=Archivos por sesión
acl_blimit=Bytes por sesión
acl_raw=¿Sólo datos?
acl_inout=Dirección
acl_in=Dentro
acl_out=Fuera
acl_total=Ambas
acl_count=Máximo
acl_class=Aplicar a las clases
acl_all=Todas las clases
acl_limit=Límites de usuarios concurrentes
acl_n=Máximo número de usuarios
acl_times=En la hora
acl_lmsg=Archivo de mensajes de error
acl_unlimited=Ilimitado
acl_any=Cualquier hora
acl_alimit=Límite de sesión anónima
acl_glimit=Límite de sesión invitada
acl_mins=minutos
acl_fails=Máximo número de login erróneos
acl_private=¿Puedo cambiar de grupo?
acl_noret=Denegar acceso a archivos
acl_nfiles=Archivos a denegar
acl_nrel=¿Relativo a chroot?
acl_nclass=Denegar para clases
acl_allowret=Permitir acceso a archivos incluso si está denegado
acl_afiles=Archivos a autorizar
acl_arel=¿Relativo a chroot?
acl_aclass=Permitir a las clases
acl_err=No puedo salvar límites y control de acceso
acl_edaddr='$1' no es una dirección válida
acl_edfile='$1' no es un archivo válido de dirección
acl_edmsg='$1' no es un archivo válido de mensajes de error
acl_eln='$1' no es un número máximo de usuarios válido
acl_etimes='$1' no es un rango de tiempo válido de estilo-UUCP
acl_elmsg='$1' no es un archivo válido de mensajes de error
acl_efbcount='$1' no es un número válido de archivos o bytes
acl_elimit='$1' no es un tiempo límite válido
acl_efails='$1' no es un número vaido de logins erróneos

net_title=Trabajo en Red
net_header=Opciones de Trabajo en Red
net_tcp=Medidas de ventana TCP
net_tsize=Medida
net_tclass=Para la clase
net_tall=Todas las clases
net_pasvaddr=Direcciones para conexiones PASV
net_pip=Direcciones IP
net_pcidr=Para clientes de la red
net_pasvport=Puertos para conexiones PASV
net_prange=Rango de Puertos
net_err=No puedo salvar opciones de Trabajo en Red
net_etsize='$1' no es una medida válida de ventana TCP
net_eip='$1' no es una dirección IP válida
net_enet='$1' no es una dirección de red válida
net_ecidr='$1' no es un número válido de bits de red
net_eport='$1' no es un número de puerto válido

log_title=Historial
log_header=Opciones de Historial
log_commands=Llevar historial de todos los comandos para
log_anonymous=Usuarios anónimos
log_guest=Usuarios invitados
log_real=Usuarios de Unix
log_trans=Llevar historial de transferencias para
log_dir=En las direcciones de
log_inbound=Entrada
log_outbound=Salida
log_both=Ambas
log_security=Llevar historial de violaciones de seguridad para
log_to=Llevar historial de transferencias a
log_syslog=Historial del Sistema
log_xferlog=Archivo de historial de XFER
log_err=No puedo salvar opciones de historial

alias_title=Alias y Trayectorias
alias_header=Opciones de Alias y Trayectorias
alias_alias=Alias de CD a directorio
alias_from=Nombre de Alias
alias_to=Alias a directorio
alias_cdpath=Trayectoria de búsqueda de CD a directorio
alias_err=No puedo salvar alias y trayectorias
alias_efrom='$1' no es un nombre de alias válido
alias_eto='$1' no es un alias de directorio válido
alias_ecdpath='$1' no es un directorio válido de búsqueda de CD

anon_title=FTP Anónimo
anon_eftp=Aviso - tu sistema no tiene un usuario <tt>ftp</tt> y por ello probablemente el FTP anónimo no está configurado.
anon_header=Opciones de FTP anónimo
anon_auto=Grupos de Unix para usuarios anónimos
anon_group=Conmutar a grupo
anon_classes=Para las clases
anon_root=Directorios raiz de FTP anónimo
anon_dir=Directorio
anon_class=Para la clase
anon_any=Cualquiera
anon_passwd=Revisar clave de acceso de FTP anónimo
anon_none=Permitir a cualquiera
anon_trivial=Debe de contener un @
anon_rfc822=Debe de ser una dirección de correo RFC822
anon_enforce=Denegar el login
anon_warn=Avisar sólamente
anon_email=Claves de acceso de FTP anónimo a denegar
anon_groot=Directorios raiz de Invitados
anon_uids=Para usuarios de Unix
anon_err=No puedo salvar opciones de FTP anónimo
anon_edir='$1' no es un directorio válido
anon_egroup='$1' no es un grupo válido

perm_title=Permisos
perm_header=Opciones de Permisos
perm_perms=Restricciones de Comandos
perm_type=Comandos
perm_can=¿Permitir?
perm_users=Para tipos de usuario
perm_classes=Para clases
perm_all=Todos
perm_anonymous=Anónimo
perm_guest=Invitado
perm_real=Unix
perm_note=Por defecto, todos los comandos están autorizados para todos los usuarios
perm_filter=No permitir carga de nombres de archivo
perm_types=Tipos de Usuario
perm_mesg=Archivo de mensaje de error
perm_char=Caracteres autorizados
perm_regexp=Expresiones de registro de archivo a denegar
perm_err=No puedo salvar permisos
perm_echar='$1' no es una expresión regular válida de conjunto de caracteres
perm_etypes=No se han seleccionado tipos de usuario
perm_emesg='$1' no es un archivo de mensajes de error válido

host_title=Control de Acceso a Máquina

misc_title=Opciones Varias
misc_header=Opciones de Opciones Varias
misc_lslong=Comandos de tipo listado largo
misc_lsshort=Comandos de tipo listado corto
misc_lsplain=Comandos de listado normal
misc_shutdown=Archivo de notificación de apagado
misc_none=Ninguno
misc_nice=Nivel 'nice' de proceso de servicio
misc_ndelta=Nivel de 'nice'
misc_class=Para las clases
misc_all=Todas las clases
misc_defumask=Máscara por defecto para los archivo cargados
misc_umask=Máscara
misc_err=No puedo salvar opciones varias
misc_elslong=Comando de listado largo sin poner
misc_elsshort=Comando de listado corto sin poner
misc_elsplain=Comando de listado normal sin poner
misc_eshutdown=Archivo de notificación de apagado sin poner
misc_enice='$1' no es un nivel válido de 'nice'
misc_eumask'$1' no es una máscara válida

log_class=Cambiados usuarios y clases
log_message=Cambiadas banderas y mensajes
log_acl=Cambiados límites y control de acceso
log_net=Cambiadas opciones de red
log_log=Cambiadas opciones de historial
log_alias=Cambiados aliases y trayectorias
log_anon=Cambiado FTP anónimo
log_perm=Cambiadas opciones de permisos
log_misc=Cambiadas opciones varias
log_restart=Aplicados los cambios
log_start=Arrancado servidor FTP

 07070100066694000081a40000000000000002000000013d1fe2da0000254e000000200000000000000000000000000000001500000003reloc/wuftpd/lang/fr  index_title=Serveur FTP
index_eftpd=Le serveur FTP $1 ne peut être trouvé sur votre système.  Peut-être n'est-il pas installé ou votre <a href='$2'>Configuration du module du serveur FTP</a> est incorrecte.
index_eftpaccess=Le fichier de configuration $1 du serveur FTP n'existe pas.  Peut-être n'est-il pas installé ou votre <a href='$2'>Configuration du module du serveur FTP</a> est incorrecte.
index_eversion=Le serveur FTP $1 ne semble pas être WU-FTPd.  Peut-être utilisez-vous une vieille version de FTPd fournit avec votre système d'exploitation ou votre <a href='$2'>Configuration du module du serveur FTP</a> est incorrecte.
index_apply=Appliquer les Changements
index_applymsg=Cliquer sur ce bouton appliquera la configuration courante.  Ceci va arrêter et redémarrer tout les processus du serveur FTP qui sont exécuté, et ainsi déconnecté tout les usagers utilisant actuellement le serveur FTP.
index_start=Démarrer le Serveur
index_startmsg=Cliquer sur ce bouton démarrera le service FTP avec la configuration actuelle.  Vous pouvez aussi configurer le serveur pour qu'il soit démarrer automatiquement en utilisant le module <a href='$1'>Services Internet</a>.
index_return=options du serveur FTP

class_title=Usagers et Classes
class_header=Classes et options d'usager
class_class=Classes d'usager
class_name=Nom de classe
class_types=Types d'usager
class_addrs=Adresses correspondantes
class_real=Unix
class_guest=Invité
class_anonymous=Anonyme
class_guestuser=Usagers Unix et numéro d'usager à traiter comme invité
class_guestgroup=Groupes Unix et numéro de groupe à traiter comme invité
class_realuser=Usager Unix et numréo d'usager <i>qui ne sont pas</i> traité comme invité
class_realgroup=Groupes Unix et numréo de groupe <i>qui ne sont pas</i> traité comme invité
class_ftpusers=Usagers Unix à refuser l'accès (à partir de $1)
class_deny_uid=Usagers Unix et numéro d'usager à refuser l'accès
class_deny_gid=Groupes Unix et numéro de groupe à refuser l'accès
class_allow_uid=Usagers Unix et numéro d'usager dont l'accès <i>n'est pas refusé</i>
class_allow_gid=Groupes Unix et numéro de groupe dont l'accès <i>n'est pas refusé</i>
class_err=Impossible d'enregistrer les classes d'usager
class_eclass=$1 n'est pas un nom de classe valide
class_etypes=Aucun type choisit pour la classe $1
class_eaddrs=Aucune adresses entré pour la classe $1

message_title=Banières et Messages
message_header=Messages, bannières et fichiers README
message_message=Fichiers de message
message_path=Chemin
message_when=Quand afficher
message_login=À l'ouverture de session
message_dir=En entrant dans un répertoire
message_alldir=En entrant n'importe quel répertoire
message_classes=Classes à qui afficher
message_readme=Fichiers README
message_update=Quand afficher la derinère date de modification
message_greeting=Niveau de bienvenue
message_full=Nom d'hôte et version
message_brief=Nom d'hôte
message_terse=Ni un ni l'autre
message_banner=Banière d'avant-ouverture de session
message_none=Aucun
message_file=À partir du fichier
message_hostdef=Nom d'hôte de système
message_hostname=Nom d'hôte pour les messages
message_email=Adresse de couriel du propriétaire
message_err=Impossible d'enregistrer les messages et bannières
message_epath=$1 n'est pas un chemin valide
message_cwd=$1 n'est pas un répertoire valide
message_eclass=La classe $1 n'existe pas
message_ebanner=$1 n'est pas un banière d'ouverture de session valide
message_ehostname=Nom d'hôte manquant ou invalide
message_eemail=Adresse de couriel manquant ou invalide

acl_title=Limites et Contrôle d'Accès
acl_header=Options des limites et contrôle d'accès
acl_deny=Refuser l'accès de
acl_daddrs=Refuser à partir des adresses
acl_dmsg=Fichier de message d'erreur
acl_file=Limites de transfert et de fichier
acl_fblimit=Type de limite
acl_flimit=Fichiers par session
acl_blimit=Bytes par session
acl_raw=Donnée seulement?
acl_inout=Direction
acl_in=Entrée
acl_out=Sortie
acl_total=Les deux
acl_count=Maximum
acl_class=Appliquer à la classe
acl_all=Toutes les classes
acl_limit=Limites d'usagers concurrent
acl_n=Maximum d'usagers
acl_times=Au temps
acl_lmsg=Fichier de message d'erreur
acl_unlimited=Illimité
acl_any=N'importe quel moment
acl_alimit=Limite de sessions anonyme
acl_glimit=Limite de session d'invité
acl_mins=minutes
acl_fails=Nombre maximum d'ouverture de session manquées
acl_private=Peut changer de groupe?
acl_noret=Refuser l'accès aux fichiers
acl_nfiles=Fichiers à refuser l'accès
acl_nrel=Relatif au répertoire racine?
acl_nclass=Refuser l'accès pour les classes
acl_allowret=Autoriser l'accès aux fichiers, même si refusé
acl_afiles=Fichier à autoriser
acl_arel=Relatif au répertoire racine?
acl_aclass=Autoriser pour les classes
acl_err=Impossible d'enregistrer les limites et contrôle d'accès
acl_edaddr=$1 n'est pas une adresse valide
acl_edfile=$1 n'est pas un fichier d'adresse valide
acl_edmsg=$1 n'est pas fichier de message d'erreur valide
acl_eln=$1 n'est pas un nombre maximum d'usager valide
acl_etimes=$1 n'est pas une valeur de temps de style UUCP valide
acl_elmsg=$1 n'est pas un fichier de message is not a valid error message file
acl_efbcount=$1 n'est pas un nombre de fichier ou de bytes valide
acl_elimit=$1 n'est pas une valeur de temps limite valide
acl_efails=$1 n'est pas nombre d'ouverture de session ratés valide

net_title=Réseau
net_header=Options réseau
net_tcp=Taille de la fenêtre TCP
net_tsize=Taille
net_tclass=Pour quel classe
net_tall=Toutes les classes
net_pasvaddr=Adresses pour les connexion PASV
net_pip=Adresse IP
net_pcidr=Pour les clients d'un réseau
net_pasvport=Ports des connexion PASV
net_prange=Étendue des ports
net_err=Impossible d'enregistrer les options réseaux
net_etsize=$1 n'est pas une taille de fenêtre TCP valide
net_eip=$1 n'est pas un adresse IP valide
net_enet=$1 n'est pas une adresse réseau valide
net_ecidr=$1 n'est pas nombre de bits réseau valide
net_eport=$1 n'est pas un nombre de port valide

log_title=Journaux
log_header=Options des journaux
log_commands=Enregistrer toutes les commandes pour
log_anonymous=Usagers anonyme
log_guest=Usagers invité
log_real=Usagers Unix
log_trans=Enregistrer les transferts pour
log_dir=En directions
log_inbound=Entrant
log_outbound=Sortant
log_both=Les deux
log_security=Enregistrer les violations de sécurité pour
log_to=Enregistrer les transfers pour
log_syslog=Journal système
log_xferlog=Fichier journal XFER
log_err=Impossible d'enregistrer les options de journaux

alias_title=Alias et Chemins
alias_header=Options de chemins et d'alias
alias_alias=Alias de répertoire pour CD
alias_from=Nom de l'alias
alias_to=Alias au répertoire
alias_cdpath=Chemin du répertoire de recherche de CD
alias_err=Impossible d'enregistrer à les alias et les chemins
alias_efrom=$1 n'est pas un nom d'alias valide
alias_eto=$1 n'est pas un alias de répertoire valide
alias_ecdpath=$1 n'est pas répertoire de recherche de CD valide

anon_title=FTP Anonyme
anon_eftp=Attention - votre système n'a pas l'usager <tt>ftp</tt>, ainsi les sessions anonyme ne sont pas configuré
anon_header=Options de FTP anonyme
anon_auto=Groupes Unix pour les usagers anonyme
anon_group=Changer pour le groupe
anon_classes=Pour les classes
anon_root=Répertoire racine des sessions anonyme
anon_dir=Répertoire
anon_class=Pour les classes
anon_any=Toutes
anon_passwd=Vérification du mot de passe des sessions anonyme
anon_none=Autoriser n'importe quoi
anon_trivial=Doit contenir le caractère @
anon_rfc822=Doit être une adresse respectant la norme RFC822
anon_enforce=Refuser l'accès
anon_warn=Avertir seulement
anon_email=Mot de passe à refuser pour les sessions anonyme
anon_groot=Répertoire racine des invités
anon_uids=Pour les usagers Unix
anon_err=Impossible d'enregistrer les options du FTP anonyme
anon_edir=$1 n'est pas un répertoire valide
anon_egroup=$1 n'est pas un groupe valide

perm_title=Permissions
perm_header=Options de permissions
perm_perms=Restrictions des commandes
perm_type=Commande
perm_can=Autoriser?
perm_users=Pour le type d'usager
perm_classes=Pour les classes
perm_all=Toutes
perm_anonymous=Anonyme
perm_guest=Invité
perm_real=Unix
perm_note=Par défaut, toutes les commandes sont autorisé à tout les usagers
perm_filter=Nom de fichier qui ne sont pas autorisé
perm_types=Types d'usagers
perm_mesg=Fichier d'erreur de message
perm_char=Charactères autorisé
perm_regexp=Expressions régulière à refuser
perm_err=Impossible d'enregistrer les permissions
perm_echar=$1 n'est pas un caractère valide dans une expression régulière
perm_etypes=Aucun type d'usager sélectionné
perm_emesg=$1 n'est pas un message d'erreur valide

host_title=Contrôle d'Accès des Hôtes

misc_title=Autres Options
misc_header=Autres options
misc_lslong=Commande pour les listes détaillée
misc_lsshort=Commande pour les listes courte
misc_lsplain=Commande pour les listes simple
misc_shutdown=Fichier de notification durant un arrêt du système
misc_none=Aucun
misc_nice=Niveau d'exécution Service process nice level
misc_ndelta=Niveau d'exécution
misc_class=Pour les classes
misc_all=Toute les classes
misc_defumask=Masque de permission des fichiers téléchargé
misc_umask=Masque de permission des fichiers
misc_err=Impossible d'enregistrer les autres options
misc_elslong=Commande de listes détaillée manquante
misc_elsshort=Commande de listes courte manquante
misc_elsplain=Commande de listes simple manquante
misc_eshutdown=Fichier de notification d'arrêt de système manquant
misc_enice=$1 n'est pas niveau d'exécution valide
misc_eumask=$1 n'est pas un masque de permission de fichier valide
  07070100066695000081a40000000000000002000000013d1fe2da000023fe000000200000000000000000000000000000001500000003reloc/wuftpd/lang/hu  # webmin-0.90at/wuftpd/hu
# translated by Gabor Keve <gabor.keve@orientp.hu>
#
index_title=FTP Szerver
index_eftpd=A(z) $1 FTP szervert nem találom az Ön rendszerében. Talán nem lett installálva, vagy az Ön <a href='$2'>FTP szerver modul konfigurációja</a> hibás.
index_eftpaccess=Az FTP szerver konfigurációs file-ja $1 nem létezik. Talán nem lett installálva, vagy az Ön <a href='$2'>FTP szerver modul konfigurációja</a> hibás.
index_eversion=A(z) $1 FTP szerver úgytûnik nem WU-FTPd. Ön talán egy régebbi verziót telepített az operációs rendszerével,  vagy az Ön <a href='$2'>FTP szerver modul konfigurációja</a> hibás.
index_apply=Változások engedélyezése
index_applymsg=Kattintson erre a gombra, hogy elfogadja az aktuális beállításokat. Ekkor leáll, majd újraindul az összes futó FTP szerver procesz, tehát minden csatlakozott felhasználót lecsatlakoztat.
index_start=Szerver indítása
index_startmsg=Kattintson erre a gombra, hogy az FTP szerver az aktuális konfigurációval induljon. You can also configure the szerver to be started automatically when needed using the <a href='$1'>Internet Services</a> module.
index_startmsg2=Kattintson erre a gombra to start the FTP szerver with the current configuration. You can also configure the szerver to be started automatically when needed using inetd or some equivalent program.
index_return=FTP szerver beállítása

class_title=Felhasználók és Osztályok
class_header=Felhasználói osztályok és felhasználói beállítások
class_class=Felhasználói osztályok
class_name=Osztály neve
class_types=Felhasználó típusa
class_addrs=Megfelelõ címek
class_real=Unix
class_guest=Guest
class_anonymous=Névtelen
class_guestuser=Unix felhasználókat és UID-ket vendégként kezel
class_guestgroup=Unix felhasználókat és GID-ket vendégként kezel
class_realuser=Unix felhasználókat és UID-ket <i>nem<i> vendégként kezel
class_realgroup=Unix felhasználókat és GID-ket <i>nem<i> vendégként kezel
class_ftpusers=Unix felhasználók tiltása ($1-ról/rõl)
class_deny_uid=Unix felhasználók és UID -k tiltása
class_deny_gid=Unix felhasználók és GID -k tiltása
class_allow_uid=Unix felhasználók és UID -k <i>nem<i> tiltása
class_allow_gid=Unix felhasználók és GID -k <i>nem<i> tiltása
class_err=Nem lehet menteni a felhasználói osztályt
class_eclass='$1' nem valós osztálynév
class_etypes=Nincs típus kiválasztva a '$1' osztályhoz
class_eaddrs=Nincs cím megadva a '$1' osztályhoz

message_title=Üzenetek és Címfeliratok
message_header=Üzenetek, Címfeliratok és README file-ok
message_message=Üzenet file-ok
message_path=Útvonal
message_when=Mikor jelenjen meg
message_login=Belépéskor
message_dir=Könyvtárba lépéskor
message_alldir=Belépés bármilyen könyvtárba
message_classes=Megjelenõ osztály
message_readme=README file-ok
message_update=Amikor az utolsó módosítás dátuma megjelenik
message_greeting=Üdvözlõ szöveg szint
message_full=Hosztnév és verzió
message_brief=Hosztnév
message_terse=Egyiksem
message_banner=Elõ bejelentkezõ címfelirat
message_none=Nincs
message_file=File-ból
message_hostdef=Rendszer hosztneve
message_hostname=Hosztnév az üzenetekhez
message_email=tulajdonos email címe
message_err=Nem lehet menteni az üzeneteket és címfeliratokat
message_epath='$1' nem valós útvonal
message_cwd='$1' nem valós könyvtár
message_eclass=Class '$1' does not exist
message_ebanner='$1' nem valós belépõ címfelirat file
message_ehostname=Hibás vagy érvénytelen hosztnév
message_eemail=Hibás vagy érvénytelen email cím

acl_title=Limit és hozzáférési szabályozás
acl_header=Limit és hozzáférési szabályozás beállítása
acl_deny=Tiltott hozzáférés
acl_daddrs=Tiltás a címrõl
acl_dmsg=Hibaüzenet file
acl_file=File- és adatmozgatási limit
acl_fblimit=Limit típusa
acl_flimit=File-ok per munkafolyamat
acl_blimit=Byte-ok per munkafolyamat
acl_raw=Csak adat?
acl_inout=Irány
acl_in=Be
acl_out=Ki
acl_total=Mindkettõ
acl_count=Maximum
acl_class=Osztály elfogadása
acl_all=Minden osztály
acl_limit=Konkurens felhasználói limit
acl_n=Maximális felhasználók
acl_times=Egyidõben
acl_lmsg=Hibaüzenet file
acl_unlimited=Végtelen
acl_any=Minden idõben
acl_alimit=Névtelen munkafolyamat limitálása
acl_glimit=Guest munkafolyamat limitálása
acl_mins=percek
acl_fails=Maximális hibás bejelentkezés
acl_private=Csoport közötti váltás engedélyezve?
acl_noret=Hozzáférés tíltása file-okra
acl_nfiles=Tiltott file -ok
acl_nrel=Viszonylagos a chroot-hoz?
acl_nclass=Tiltás osztályokra
acl_allowret=Engedve a filehozzáférés, kivéve ha tiltva
acl_afiles=Engedélyezett file-ok
acl_arel=Viszonylagos a chroot-hoz?
acl_aclass=Engedélyezve az osztályokhoz
acl_err=Nem lehet menteni a limit és hozzáférés szabályozást
acl_edaddr='$1' nem valós cím
acl_edfile='$1' nem valós cím file
acl_edmsg='$1' nem valós hibaüzenet file
acl_eln='$1' nem valós maximális felhasználói szám
acl_etimes='$1' nem valós UUCP stílusú idõszak
acl_elmsg='$1' nem valós hibaüzenet file
acl_efbcount='$1' nem valós száma a file-oknak vagy byte -oknak
acl_elimit='$1' nem valós idõlimit
acl_efails='$1' nem valós érvénytelen belépési szám

net_title=Hálózat
net_header=Hálózati beállítások
net_tcp=TCP ablak mérete
net_tsize=méret
net_tclass=Osztályhoz
net_tall=Minden osztályhoz
net_pasvaddr=Cím a PASV csatlakozáshoz
net_pip=IP cím
net_pcidr=A felhasználóknak a hálózathoz
net_pasvport=Port a PASV csatlakozáshoz
net_prange=Port tartomány
net_err=Nem lehet menteni a hálózati beállításokat
net_etsize='$1' nem valós TCP ablak méret
net_eip='$1' nem valós IP cím
net_enet='$1' nem valós hálózati cím
net_ecidr='$1' nem valós háklózati bit szám
net_eport='$1' nem valós port number

log_title=Naplózás
log_header=Naplózási beállítások
log_commands=Naplózzon minden parancsot errõl
log_anonymous=Névtelen felhasználók
log_guest=Guest felhasználók
log_real=Unix felhasználók
log_trans=Naplózza az átvitelt errõl
log_dir=Befele irányuló
log_inbound=Bemenõ
log_outbound=Kimenõ
log_both=Mindkettõ
log_security=Naplózza a biztonsági vétkeket errõl
log_to=Naplózza az átvitelt errõl
log_syslog=Rendszer naplózás
log_xferlog=XFER naplózás file-ba
log_err=Nem lehet menteni a naplózási beállításokat

alias_title=Álnevek és útvonalak
alias_header=Álnevek és útvonalak beállításai
alias_alias=CD könyvtár álneve
alias_from=Álnév neve
alias_to=A könyvtár álneve
alias_cdpath=CD könyvtár keresési útvonala
alias_err=Nem lehet menteni az álnevek és útvonalakat
alias_efrom='$1' nem valós álnáv név
alias_eto='$1' nem valós álnév könyvtár
alias_ecdpath='$1' nem valós CD keresési könyvtár

anon_title=Névtelen FTP
anon_eftp=Figyelem  - az Ön rendszere nem rendelkezik <tt>ftp</tt> felhasználóval, és ezért lehetséges, hogy nem lehet beállítani névtelen FTP bejelentkezést.
anon_header=Névtelen FTP beállítások
anon_auto=Unix csoport a névtelen felhasználókhoz
anon_group=Váltson csoportot
anon_classes=Osztályhoz
anon_root=Névtelen FTP gyökérkönyvtára
anon_dir=könyvtár
anon_class=Osztályhoz
anon_any=Bármelyik
anon_passwd=Névtelen FTP jelszó ellenõrzés
anon_none=Engedélyezve minden
anon_trivial=Tartalmaznia kell a @ jelet
anon_rfc822=RFC822 kompatibilis email cím legyen
anon_enforce=Tiltva a belépés
anon_warn=Csak figyelmeztessen
anon_email=Névtelen FTP jelszó a tiltáshoz
anon_groot=Guest gyökérkönyvtár
anon_uids=A Unix felhasználóknak
anon_err=Nem lehet menteni a névtelen FTP beállításait
anon_edir='$1' nem valós könyvtár
anon_egroup='$1' nem valós csoport

perm_title=Jogosultság
perm_header=Jogosultság beállítása
perm_perms=Parancs korlátozás
perm_type=Parancs
perm_can=Engedélyezve?
perm_users=Felhasználói típushoz
perm_classes=Osztályhoz
perm_all=Minden
perm_anonymous=Névtelen
perm_guest=Guest
perm_real=Unix
perm_note=alapértelmezésben minden parancshoz joga van minden felhasználók
perm_filter=Nincs elfogadva a feltöltött filenevek
perm_types=Felhasználói típus
perm_mesg=Hibaüzenet file
perm_char=Elfogadott karakterek
perm_regexp=File hasonlóság tíltása
perm_err=Nem lehet menteni a jogosultságot
perm_echar='$1' nem valós karakter a szabályos kiterjesztésben
perm_etypes=Nincs felhasználói típus kiválasztva
perm_emesg='$1' nem valós hibaüzenet file

host_title=Hoszt hozzáférési szabályozás

misc_title=Vegyes beállítások
misc_header=Vegyes beállítások
misc_lslong=Hosszú listázási parancs
misc_lsshort=Rövid listázási parancs
misc_lsplain=Sima listázási parancs
misc_shutdown=Leállítási értesítõ file
misc_none=Nincs
misc_nice=Szervíz processz nice szintje
misc_ndelta=Nice szint
misc_class=Osztályokhoz
misc_all=Minden osztályhoz
misc_defumask=Általános umask a feltöltött file-okhoz
misc_umask=Umask
misc_err=Nem lehet menteni a vegyes beállításokat
misc_elslong=Hibás hosszú listázási parancs
misc_elsshort=Hibás rövid listázási parancs
misc_elsplain=Hibás sima listázási parancs
misc_eshutdown=Hibás leállítási értesítõ file
misc_enice='$1' nem valós nice szint
misc_eumask='$1' nem valós umask

log_class=Módosult felhasználók és osztályok
log_message=Módosult üzenetek és címfelirat
log_acl=Módosult limitálási és hozzáférési vezérlés
log_net=Módosult hálózati beállítások
log_log=Módosult naplózási beállítások
log_alias=Módosult álnév és könyvtárak
log_anon=Módosult névtelen FTP
log_perm=Módosult hozzáférés beállítások
log_misc=Módosult egyéb beállítások
log_restart=Módosulások elfogadása
log_start=FTP szerver indítása

  07070100066696000081a40000000000000002000000013d1fe2da0000219a000000200000000000000000000000000000001c00000003reloc/wuftpd/lang/ja_JP.euc   index_title=FTP ¥µ¡¼¥Ð
index_eftpd=FTP ¥µ¡¼¥Ð $1 ¤Ï¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£FTP ¥µ¡¼¥Ð¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤
¤Ê¤¤¤«¡¢ <a href='$2'>FTP ¥µ¡¼¥Ð ¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eftpaccess=FTP ¥µ¡¼¥ÐÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£FTP ¥µ¡¼¥Ð¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ 
<a href='$2'>FTP ¥µ¡¼¥Ð ¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_eversion=FTP ¥µ¡¼¥Ð $1 ¤Ï WU-FTPd ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥° ¥·¥¹¥Æ¥à¤ÇÄó¶¡¤µ¤ì¤¿¸Å¤¤ 
FTPd ¤ò»ÈÍÑ¤·¤Æ¤¤¤ë¤«¡¢ <a href='$2'>FTP ¥µ¡¼¥Ð ¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£
index_apply=ÊÑ¹¹¤òÅ¬ÍÑ
index_applymsg=¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤³¤ì¤Ï¡¢¤¹¤Ù¤Æ¤Î¼Â¹ÔÃæ¤Î 
FTP ¥µ¡¼¥Ð ¥×¥í¥»¥¹¤òÄä»ß¤·ºÆµ¯Æ°¤¹¤ë¤¿¤á¡¢¤¹¤Ù¤Æ¤ÎÀÜÂ³¤µ¤ì¤¿¥æ¡¼¥¶¤òÀÚÃÇ¤·¤Þ¤¹¡£
index_start=¥µ¡¼¥Ð¤Îµ¯Æ°
index_startmsg=FTP ¥µ¡¼¥Ð¤ò¸½ºß¤ÎÀßÄê¤Çµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢<a 
href='$1'>¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹</a> ¥â¥¸¥å¡¼¥ë¤ò»ÈÍÑ¤·¤ÆÉ¬Í×¤Ê¤È¤­¤Ë¥µ¡¼¥Ð¤¬¼«Æ°Åª¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤Ë
ÀßÄê¤Ç¤­¤Þ¤¹¡£
index_startmsg2=FTP ¥µ¡¼¥Ð¤ò¸½ºß¤ÎÀßÄê¤Çµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£¤Þ¤¿¡¢inetd ¤Þ
¤¿¤ÏÂ¾¤ÎÆ±Åù¤Ê¥×¥í¥°¥é¥à¤ò»ÈÍÑ¤·¤ÆÉ¬Í×¤Ê¤È¤­¤Ë¥µ¡¼¥Ð¤¬¼«Æ°Åª¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤ËÀßÄê¤Ç¤­¤Þ¤¹¡£
index_return=FTP ¥µ¡¼¥Ð ¥ª¥×¥·¥ç¥ó

class_title=¥æ¡¼¥¶¤È¥¯¥é¥¹
class_header=¥æ¡¼¥¶ ¥¯¥é¥¹¤È¥æ¡¼¥¶ ¥ª¥×¥·¥ç¥ó
class_class=¥æ¡¼¥¶ ¥¯¥é¥¹
class_name=¥¯¥é¥¹Ì¾
class_types=¥æ¡¼¥¶¤Î¼ïÎà
class_addrs=°ìÃ×¤¹¤ë¥¢¥É¥ì¥¹
class_real=Unix
class_guest=¥²¥¹¥È
class_anonymous=Æ¿Ì¾
class_guestuser=¥²¥¹¥È¤È¤·¤Æ°·¤¦ Unix ¥æ¡¼¥¶¤È UID
class_guestgroup=¥²¥¹¥È¤È¤·¤Æ°·¤¦ Unix ¥°¥ë¡¼¥×¤ÈGID
class_realuser=¥²¥¹¥È¤È¤·¤Æ<i>°·¤ï¤Ê¤¤</i> Unix ¥æ¡¼¥¶¤È UID
class_realgroup=¥²¥¹¥È¤È¤·¤Æ<i>°·¤ï¤Ê¤¤</i> Unix ¥°¥ë¡¼¥×¤ÈGID
class_ftpusers=µñÈÝ¤¹¤ë Unix ¥æ¡¼¥¶ ($1 ¤«¤é)
class_deny_uid=µñÈÝ¤¹¤ë Unix ¥æ¡¼¥¶¤È UID
class_deny_gid=µñÈÝ¤¹¤ë Unix ¥°¥ë¡¼¥×¤È GID 
class_allow_uid=µñÈÝ<i>¤·¤Ê¤¤</i> Unix ¥æ¡¼¥¶¤È UID
class_allow_gid=µñÈÝ<i>¤·¤Ê¤¤</i> Unix ¥°¥ë¡¼¥×¤È GID 
class_err=¥æ¡¼¥¶¤Î¥¯¥é¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
class_eclass='$1' ¤ÏÌµ¸ú¤Ê¥¯¥é¥¹Ì¾¤Ç¤¹
class_etypes=¥¯¥é¥¹ '$1' ¤Î¼ïÎà¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
class_eaddrs=¥¯¥é¥¹ '$1' ¤Î¥¢¥É¥ì¥¹¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó

message_title=¥á¥Ã¥»¡¼¥¸¤È¥Ð¥Ê¡¼
message_header=¥á¥Ã¥»¡¼¥¸¡¢¥Ð¥Ê¡¼¤ÈREADME ¥Õ¥¡¥¤¥ë
message_message=¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë
message_path=¥Ñ¥¹
message_when=É½¼¨¤¹¤ë¤È¤­
message_login=¥í¥°¥¤¥ó¤·¤¿¤È¤­
message_dir=¼¡¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤ë¤È¤­
message_alldir=Ç¤°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÆþ¤ë¤È¤­
message_classes=É½¼¨¤¹¤ë¥¯¥é¥¹
message_readme=README ¥Õ¥¡¥¤¥ë
message_update=ºÇ¸å¤ËÊÑ¹¹¤·¤¿Æü»þ¤òÉ½¼¨¤¹¤ë¤È¤­
message_greeting=¥°¥ê¡¼¥Æ¥£¥ó¥° ¥ì¥Ù¥ë
message_full=¥Û¥¹¥ÈÌ¾¤È¥Ð¡¼¥¸¥ç¥ó
message_brief=¥Û¥¹¥ÈÌ¾
message_terse=¤Ê¤·
message_banner=¥í¥°¥¤¥óÁ°¤Î¥Ð¥Ê¡¼
message_none=¤Ê¤·
message_file=¥Õ¥¡¥¤¥ë¤«¤é
message_hostdef=¥·¥¹¥Æ¥à ¥Û¥¹¥ÈÌ¾
message_hostname=¥á¥Ã¥»¡¼¥¸¤Î¥Û¥¹¥ÈÌ¾
message_email=½êÍ­¼Ô E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
message_err=¥á¥Ã¥»¡¼¥¸¤È¥Ð¥Ê¡¼¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
message_epath='$1' ¤ÏÌµ¸ú¤Ê¥Ñ¥¹¤Ç¤¹
message_cwd='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹
message_eclass=¥¯¥é¥¹ '$1' ¤ÏÂ¸ºß¤·¤Þ¤»¤ó
message_ebanner='$1' ¤ÏÌµ¸ú¤Ê ¥í¥°¥¤¥ó ¥Ð¥Ê¡¼ ¥Õ¥¡¥¤¥ë¤Ç¤¹
message_ehostname=¥Û¥¹¥ÈÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
message_eemail=E ¥á¡¼¥ë ¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

acl_title=À©¸Â¤È¥¢¥¯¥»¥¹À©¸æ
acl_header=À©¸Â¤È¥¢¥¯¥»¥¹À©¸æ¥ª¥×¥·¥ç¥ó
acl_deny=¥¢¥¯¥»¥¹¤òµñÈÝ
acl_daddrs=¥¢¥É¥ì¥¹¤òµñÈÝ
acl_dmsg=¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë
acl_file=¥Õ¥¡¥¤¥ë¤È¥Ç¡¼¥¿Å¾Á÷À©¸Â
acl_fblimit=À©¸Â¤Î¼ïÎà
acl_flimit=¥»¥Ã¥·¥ç¥ó¤´¤È¤Î¥Õ¥¡¥¤¥ë
acl_blimit=¥»¥Ã¥·¥ç¥ó¤´¤È¤Î¥Ð¥¤¥È
acl_raw=¥Ç¡¼¥¿¤Î¤ß¤Ç¤¹¤«¡©
acl_inout=Êý¸þ
acl_in=ÆþÎÏ
acl_out=½ÐÎÏ
acl_total=Î¾Êý
acl_count=ºÇÂç
acl_class=¥¯¥é¥¹¤ËÅ¬ÍÑ
acl_all=¤¹¤Ù¤Æ¤Î¥¯¥é¥¹
acl_limit=Æ±»þ¥æ¡¼¥¶À©¸Â
acl_n=ºÇÂç¥æ¡¼¥¶¿ô
acl_times=»þ´Ö
acl_lmsg=¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë
acl_unlimited=ÌµÀ©¸Â
acl_any=¾ï»þ
acl_alimit=Æ¿Ì¾¥»¥Ã¥·¥ç¥óÀ©¸Â
acl_glimit=¥²¥¹¥È ¥»¥Ã¥·¥ç¥óÀ©¸Â
acl_mins=Ê¬
acl_fails=¥í¥°¥¤¥ó¤Î¼ºÇÔºÇÂç²ó¿ô
acl_private=¥°¥ë¡¼¥×¤òÀÚÂØ²ÄÇ½¤Ë¤·¤Þ¤¹¤«¡©
acl_noret=¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òµñÈÝ¤·¤Þ¤¹¤«¡©
acl_nfiles=µñÈÝ¤¹¤ë¥Õ¥¡¥¤¥ë
acl_nrel=chroot ¤ÈÁêÂÐ¤Ë¤·¤Þ¤¹¤«¡©
acl_nclass=µñÈÝ¤¹¤ë¥¯¥é¥¹
acl_allowret=µñÈÝ¤µ¤ì¤¿¾ì¹ç¤â¥Õ¥¡¥¤¥ë¤Ø¤Î¥¢¥¯¥»¥¹¤òµö²Ä
acl_afiles=µö²Ä¤¹¤ë¥Õ¥¡¥¤¥ë
acl_arel=chroot ¤ÈÁêÂÐ¤Ë¤·¤Þ¤¹¤«¡©
acl_aclass=µö²Ä¤¹¤ë¥¯¥é¥¹
acl_err=À©¸Â¤È¥¢¥¯¥»¥¹À©¸æ¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
acl_edaddr='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹¤Ç¤¹
acl_edfile='$1' ¤ÏÌµ¸ú¤Ê¥¢¥É¥ì¥¹ ¥Õ¥¡¥¤¥ë¤Ç¤¹
acl_edmsg='$1' ¤ÏÌµ¸ú¤Ê¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë¤Ç¤¹
acl_eln='$1'¤ÏÍ­¸ú¤Ê¥æ¡¼¥¶¤ÎºÇÂç¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
acl_etimes='$1' ¤ÏÌµ¸ú¤Ê UUCP ¥¹¥¿¥¤¥ë¤Î»þ´ÖÈÏ°Ï¤Ç¤¹
acl_elmsg='$1' ¤ÏÌµ¸ú¤Ê¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë¤Ç¤¹
acl_efbcount='$1' ¤ÏÌµ¸ú¤Ê¥Õ¥¡¥¤¥ë¿ô¤Þ¤¿¤Ï¥Ð¥¤¥È¤Ç¤¹
acl_elimit='$1' ¤ÏÌµ¸ú¤Ê»þ´ÖÀ©¸Â¤Ç¤¹
acl_efails='$1'¤ÏÌµ¸ú¤Ê¥í¥°¥¤¥ó¤Î¼ºÇÔ²ó¿ô¤Ç¤¹

net_title=¥Í¥Ã¥È¥ï¡¼¥¯
net_header=¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó
net_tcp=TCP ¥¦¥£¥ó¥É¥¦ ¥µ¥¤¥º
net_tsize=¥µ¥¤¥º
net_tclass=ÂÐ±þ¥¯¥é¥¹
net_tall=¤¹¤Ù¤Æ¤Î¥¯¥é¥¹
net_pasvaddr=PASV ÀÜÂ³¤Î¥¢¥É¥ì¥¹
net_pip=IP ¥¢¥É¥ì¥¹
net_pcidr=¥Í¥Ã¥È¥ï¡¼¥¯¤Î¥¯¥é¥¤¥¢¥ó¥È
net_pasvport=PASV ÀÜÂ³¤Î¥Ý¡¼¥È
net_prange=¥Ý¡¼¥È¤ÎÈÏ°Ï
net_err=¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
net_etsize='$1' ¤ÏÌµ¸ú¤Ê TCP ¥¦¥£¥ó¥É¥¦ ¥µ¥¤¥º¤Ç¤¹
net_eip='$1' ¤ÏÌµ¸ú¤Ê IP ¥¢¥É¥ì¥¹¤Ç¤¹
net_enet='$1' ¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯ ¥¢¥É¥ì¥¹¤Ç¤¹
net_ecidr='$1'¤ÏÌµ¸ú¤Ê¥Í¥Ã¥È¥ï¡¼¥¯ ¥Ó¥Ã¥È¤ÎÈÖ¹æ¤Ç¤¹
net_eport='$1' ¤ÏÌµ¸ú¤Ê¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¹

log_title=¥í¥°
log_header=¥í¥° ¥ª¥×¥·¥ç¥ó
log_commands=¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤ò¥í¥°¤Ëµ­Ï¿
log_anonymous=Æ¿Ì¾¥æ¡¼¥¶
log_guest=¥²¥¹¥È ¥æ¡¼¥¶
log_real=Unix ¥æ¡¼¥¶
log_trans=¥í¥°¤ÎÅ¾Á÷
log_dir=Êý¸þ
log_inbound=¥¤¥ó¥Ð¥¦¥ó¥É
log_outbound=¥¢¥¦¥È¥Ð¥¦¥ó¥É
log_both=Î¾Êý
log_security=¥í¥°¤Î¥»¥­¥å¥ê¥Æ¥£°ãÈ¿
log_to=¥í¥°¤ÎÅ¾Á÷Àè
log_syslog=¥·¥¹¥Æ¥à ¥í¥°
log_xferlog=XFER ¥í¥° ¥Õ¥¡¥¤¥ë
log_err=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿

alias_title=¥¨¥¤¥ê¥¢¥¹¤È¥Ñ¥¹
alias_header=¥¨¥¤¥ê¥¢¥¹¤È¥Ñ¥¹ ¥ª¥×¥·¥ç¥ó
alias_alias=CD ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¨¥¤¥ê¥¢¥¹
alias_from=¥¨¥¤¥ê¥¢¥¹Ì¾
alias_to=¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥¨¥¤¥ê¥¢¥¹
alias_cdpath=CD ¥Ç¥£¥ì¥¯¥È¥ê¤Î¸¡º÷¥Ñ¥¹
alias_err=¥¨¥¤¥ê¥¢¥¹¤È¥Ñ¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
alias_efrom='$1' ¤ÏÌµ¸ú¤Ê¥¨¥¤¥ê¥¢¥¹Ì¾¤Ç¤¹
alias_eto='$1' ¤ÏÌµ¸ú¤Ê¥¨¥¤¥ê¥¢¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹
alias_ecdpath='$1' ¤ÏÌµ¸ú¤Ê CD ¸¡º÷¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹

anon_title=Æ¿Ì¾ FTP
anon_eftp=·Ù¹ð ? ¤´»ÈÍÑ¤Î¥·¥¹¥Æ¥à¤Ï<tt>ftp</tt> ¥æ¡¼¥¶¤ò»ý¤¿¤Ê¤¤¤¿¤á¡¢Æ¿Ì¾ FTP ¤òÀßÄê¤Ç¤­¤Þ¤»¤ó¡£
anon_header=Æ¿Ì¾ FTP ¥ª¥×¥·¥ç¥ó
anon_auto=Æ¿Ì¾¥æ¡¼¥¶¤Î Unix ¥°¥ë¡¼¥×
anon_group=¥°¥ë¡¼¥×¤ËÀÚÂØ
anon_classes=ÂÐ±þ¥¯¥é¥¹
anon_root=Æ¿Ì¾ FTP root ¥Ç¥£¥ì¥¯¥È¥ê
anon_dir=¥Ç¥£¥ì¥¯¥È¥ê
anon_class=ÂÐ±þ¥¯¥é¥¹
anon_any=Ç¤°Õ
anon_passwd=Æ¿Ì¾ FTP ¥Ñ¥¹¥ï¡¼¥É ¥Á¥§¥Ã¥¯
anon_none=¤¹¤Ù¤Æµö²Ä
anon_trivial=É¬¤º¼¡¤ò´Þ¤à @
anon_rfc822=É¬¤º RFC822 E ¥á¡¼¥ë ¥¢¥É¥ì¥¹
anon_enforce=¥í¥°¥¤¥ó¤òµñÈÝ
anon_warn=·Ù¹ð¤Î¤ß
anon_email=µñÈÝ¤¹¤ëÆ¿Ì¾ FTP ¥Ñ¥¹¥ï¡¼¥É
anon_groot=¥²¥¹¥È root ¥Ç¥£¥ì¥¯¥È¥ê
anon_uids=Unix ¥æ¡¼¥¶
anon_err=Æ¿Ì¾ FTP ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
anon_edir='$1' ¤ÏÌµ¸ú¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹
anon_egroup='$1' ¤ÏÌµ¸ú¤Ê¥°¥ë¡¼¥×¤Ç¤¹

perm_title=µö²Ä
perm_header=µö²Ä¤Î¥ª¥×¥·¥ç¥ó
perm_perms=¥³¥Þ¥ó¥É¤ÎÀ©¸Â
perm_type=¥³¥Þ¥ó¥É
perm_can=µö²Ä¤·¤Þ¤¹¤«¡©
perm_users=¥æ¡¼¥¶¤Î¼ïÎà
perm_classes=ÂÐ±þ¥¯¥é¥¹
perm_all=¤¹¤Ù¤Æ
perm_anonymous=Æ¿Ì¾
perm_guest=¥²¥¹¥È
perm_real=Unix
perm_note=¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¤¹¤Ù¤Æ¤Î¥³¥Þ¥ó¥É¤Ï¤¹¤Ù¤Æ¤Î¥æ¡¼¥¶¤ËÂÐ¤·¤Æµö²Ä¤µ¤ì¤Þ¤¹
perm_filter=µö²Ä¤µ¤ì¤Ê¤¤¥¢¥Ã¥×¥í¡¼¥É¤Î¥Õ¥¡¥¤¥ëÌ¾
perm_types=¥æ¡¼¥¶¤Î¼ïÎà
perm_mesg=¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë
perm_char=µö²Ä¤µ¤ì¤ëÊ¸»ú
perm_regexp=µñÈÝ¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÀµµ¬É½¸½
perm_err=µö²Ä¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
perm_echar='$1' ¤ÏÌµ¸ú¤ÊÀµµ¬É½¸½¤ÎÊ¸»ú¤Ç¤¹
perm_etypes=¥æ¡¼¥¶¤Î¼ïÎà¤¬ÁªÂò¤µ¤ì¤Æ¤¤¤Þ¤»¤ó
perm_emesg='$1' ¤ÏÌµ¸ú¤Ê¥¨¥é¡¼ ¥á¥Ã¥»¡¼¥¸ ¥Õ¥¡¥¤¥ë¤Ç¤¹

host_title=¥Û¥¹¥È¤Î¥¢¥¯¥»¥¹À©¸æ

misc_title=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_header=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó
misc_lslong=Ä¹¤¤¥ê¥¹¥È ¥³¥Þ¥ó¥É
misc_lsshort=Ã»¤¤¥ê¥¹¥È ¥³¥Þ¥ó¥É
misc_lsplain=¥×¥ì¥¤¥ó ¥ê¥¹¥È ¥³¥Þ¥ó¥É
misc_shutdown=¥·¥ã¥Ã¥È¥À¥¦¥óÄÌÃÎ¥Õ¥¡¥¤¥ë
misc_none=¤Ê¤·
misc_nice=¥µ¡¼¥Ó¥¹ ¥×¥í¥»¥¹ nice ¥ì¥Ù¥ë
misc_ndelta=Nice ¥ì¥Ù¥ë
misc_class=ÂÐ±þ¥¯¥é¥¹
misc_all=¤¹¤Ù¤Æ¤Î¥¯¥é¥¹
misc_defumask=¥¢¥Ã¥×¥í¡¼¥É ¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¥ë¥È umask
misc_umask=Umask
misc_err=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
misc_elslong=Ä¹¤¤¥ê¥¹¥È ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
misc_elsshort=Ã»¤¤¥ê¥¹¥È ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
misc_elsplain=¥×¥ì¥¤¥ó ¥ê¥¹¥È ¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤»¤ó
misc_eshutdown=¥·¥ã¥Ã¥È¥À¥¦¥óÄÌÃÎ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó
misc_enice='$1' ¤ÏÌµ¸ú¤Ê nice ¥ì¥Ù¥ë¤Ç¤¹
misc_eumask='$1' ¤ÏÌµ¸ú¤Ê umask¤Ç¤¹

log_class=¥æ¡¼¥¶¤È¥¯¥é¥¹¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_message=¥á¥Ã¥»¡¼¥¸¤È¥Ð¥Ê¡¼¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_acl=À©¸Â¤È¥¢¥¯¥»¥¹À©¸æ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_net=¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_log=¥í¥° ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_alias=¥¨¥¤¥ê¥¢¥¹¤È¥Ñ¥¹¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_anon=Æ¿Ì¾ FTP ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_perm=µö²Ä¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_misc=¤½¤ÎÂ¾¤Î¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_restart=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_start=FTP ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿

  07070100066697000081a40000000000000002000000013d1fe2da0000219a000000200000000000000000000000000000001c00000003reloc/wuftpd/lang/ja_JP.jis   index_title=FTP ƒT[ƒo
index_eftpd=FTP ƒT[ƒo $1 ‚Í‚²Žg—p‚ÌƒVƒXƒeƒ€‚ÉŒ©‚Â‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½BFTP ƒT[ƒo‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢
‚È‚¢‚©A <a href='$2'>FTP ƒT[ƒo ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_eftpaccess=FTP ƒT[ƒoÝ’èƒtƒ@ƒCƒ‹ $1 ‚Í‘¶Ý‚µ‚Ü‚¹‚ñBFTP ƒT[ƒo‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚©A 
<a href='$2'>FTP ƒT[ƒo ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_eversion=FTP ƒT[ƒo $1 ‚Í WU-FTPd ‚Å‚Í‚ ‚è‚Ü‚¹‚ñBƒIƒyƒŒ[ƒeƒBƒ“ƒO ƒVƒXƒeƒ€‚Å’ñ‹Ÿ‚³‚ê‚½ŒÃ‚¢ 
FTPd ‚ðŽg—p‚µ‚Ä‚¢‚é‚©A <a href='$2'>FTP ƒT[ƒo ƒ‚ƒWƒ…[ƒ‹Ý’è</a> ‚ª•s³‚È‰Â”\«‚ª‚ ‚è‚Ü‚·B
index_apply=•ÏX‚ð“K—p
index_applymsg=Œ»Ý‚ÌÝ’è‚ð“K—p‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ÍA‚·‚×‚Ä‚ÌŽÀs’†‚Ì 
FTP ƒT[ƒo ƒvƒƒZƒX‚ð’âŽ~‚µÄ‹N“®‚·‚é‚½‚ßA‚·‚×‚Ä‚ÌÚ‘±‚³‚ê‚½ƒ†[ƒU‚ðØ’f‚µ‚Ü‚·B
index_start=ƒT[ƒo‚Ì‹N“®
index_startmsg=FTP ƒT[ƒo‚ðŒ»Ý‚ÌÝ’è‚Å‹N“®‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚Ü‚½A<a 
href='$1'>ƒCƒ“ƒ^[ƒlƒbƒg ƒT[ƒrƒX</a> ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚µ‚Ä•K—v‚È‚Æ‚«‚ÉƒT[ƒo‚ªŽ©“®“I‚É‹N“®‚·‚é‚æ‚¤‚É
Ý’è‚Å‚«‚Ü‚·B
index_startmsg2=FTP ƒT[ƒo‚ðŒ»Ý‚ÌÝ’è‚Å‹N“®‚·‚é‚É‚ÍA‚±‚Ìƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B‚Ü‚½Ainetd ‚Ü
‚½‚Í‘¼‚Ì“¯“™‚ÈƒvƒƒOƒ‰ƒ€‚ðŽg—p‚µ‚Ä•K—v‚È‚Æ‚«‚ÉƒT[ƒo‚ªŽ©“®“I‚É‹N“®‚·‚é‚æ‚¤‚ÉÝ’è‚Å‚«‚Ü‚·B
index_return=FTP ƒT[ƒo ƒIƒvƒVƒ‡ƒ“

class_title=ƒ†[ƒU‚ÆƒNƒ‰ƒX
class_header=ƒ†[ƒU ƒNƒ‰ƒX‚Æƒ†[ƒU ƒIƒvƒVƒ‡ƒ“
class_class=ƒ†[ƒU ƒNƒ‰ƒX
class_name=ƒNƒ‰ƒX–¼
class_types=ƒ†[ƒU‚ÌŽí—Þ
class_addrs=ˆê’v‚·‚éƒAƒhƒŒƒX
class_real=Unix
class_guest=ƒQƒXƒg
class_anonymous=“½–¼
class_guestuser=ƒQƒXƒg‚Æ‚µ‚Äˆµ‚¤ Unix ƒ†[ƒU‚Æ UID
class_guestgroup=ƒQƒXƒg‚Æ‚µ‚Äˆµ‚¤ Unix ƒOƒ‹[ƒv‚ÆGID
class_realuser=ƒQƒXƒg‚Æ‚µ‚Ä<i>ˆµ‚í‚È‚¢</i> Unix ƒ†[ƒU‚Æ UID
class_realgroup=ƒQƒXƒg‚Æ‚µ‚Ä<i>ˆµ‚í‚È‚¢</i> Unix ƒOƒ‹[ƒv‚ÆGID
class_ftpusers=‹‘”Û‚·‚é Unix ƒ†[ƒU ($1 ‚©‚ç)
class_deny_uid=‹‘”Û‚·‚é Unix ƒ†[ƒU‚Æ UID
class_deny_gid=‹‘”Û‚·‚é Unix ƒOƒ‹[ƒv‚Æ GID 
class_allow_uid=‹‘”Û<i>‚µ‚È‚¢</i> Unix ƒ†[ƒU‚Æ UID
class_allow_gid=‹‘”Û<i>‚µ‚È‚¢</i> Unix ƒOƒ‹[ƒv‚Æ GID 
class_err=ƒ†[ƒU‚ÌƒNƒ‰ƒX‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
class_eclass='$1' ‚Í–³Œø‚ÈƒNƒ‰ƒX–¼‚Å‚·
class_etypes=ƒNƒ‰ƒX '$1' ‚ÌŽí—Þ‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
class_eaddrs=ƒNƒ‰ƒX '$1' ‚ÌƒAƒhƒŒƒX‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ

message_title=ƒƒbƒZ[ƒW‚Æƒoƒi[
message_header=ƒƒbƒZ[ƒWAƒoƒi[‚ÆREADME ƒtƒ@ƒCƒ‹
message_message=ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹
message_path=ƒpƒX
message_when=•\Ž¦‚·‚é‚Æ‚«
message_login=ƒƒOƒCƒ“‚µ‚½‚Æ‚«
message_dir=ŽŸ‚ÌƒfƒBƒŒƒNƒgƒŠ‚É“ü‚é‚Æ‚«
message_alldir=”CˆÓ‚ÌƒfƒBƒŒƒNƒgƒŠ‚É“ü‚é‚Æ‚«
message_classes=•\Ž¦‚·‚éƒNƒ‰ƒX
message_readme=README ƒtƒ@ƒCƒ‹
message_update=ÅŒã‚É•ÏX‚µ‚½“úŽž‚ð•\Ž¦‚·‚é‚Æ‚«
message_greeting=ƒOƒŠ[ƒeƒBƒ“ƒO ƒŒƒxƒ‹
message_full=ƒzƒXƒg–¼‚Æƒo[ƒWƒ‡ƒ“
message_brief=ƒzƒXƒg–¼
message_terse=‚È‚µ
message_banner=ƒƒOƒCƒ“‘O‚Ìƒoƒi[
message_none=‚È‚µ
message_file=ƒtƒ@ƒCƒ‹‚©‚ç
message_hostdef=ƒVƒXƒeƒ€ ƒzƒXƒg–¼
message_hostname=ƒƒbƒZ[ƒW‚ÌƒzƒXƒg–¼
message_email=Š—LŽÒ E ƒ[ƒ‹ ƒAƒhƒŒƒX
message_err=ƒƒbƒZ[ƒW‚Æƒoƒi[‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
message_epath='$1' ‚Í–³Œø‚ÈƒpƒX‚Å‚·
message_cwd='$1' ‚Í–³Œø‚ÈƒfƒBƒŒƒNƒgƒŠ‚Å‚·
message_eclass=ƒNƒ‰ƒX '$1' ‚Í‘¶Ý‚µ‚Ü‚¹‚ñ
message_ebanner='$1' ‚Í–³Œø‚È ƒƒOƒCƒ“ ƒoƒi[ ƒtƒ@ƒCƒ‹‚Å‚·
message_ehostname=ƒzƒXƒg–¼‚ª‚È‚¢‚©–³Œø‚Å‚·
message_eemail=E ƒ[ƒ‹ ƒAƒhƒŒƒX‚ª‚È‚¢‚©–³Œø‚Å‚·

acl_title=§ŒÀ‚ÆƒAƒNƒZƒX§Œä
acl_header=§ŒÀ‚ÆƒAƒNƒZƒX§ŒäƒIƒvƒVƒ‡ƒ“
acl_deny=ƒAƒNƒZƒX‚ð‹‘”Û
acl_daddrs=ƒAƒhƒŒƒX‚ð‹‘”Û
acl_dmsg=ƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹
acl_file=ƒtƒ@ƒCƒ‹‚Æƒf[ƒ^“]‘—§ŒÀ
acl_fblimit=§ŒÀ‚ÌŽí—Þ
acl_flimit=ƒZƒbƒVƒ‡ƒ“‚²‚Æ‚Ìƒtƒ@ƒCƒ‹
acl_blimit=ƒZƒbƒVƒ‡ƒ“‚²‚Æ‚ÌƒoƒCƒg
acl_raw=ƒf[ƒ^‚Ì‚Ý‚Å‚·‚©H
acl_inout=•ûŒü
acl_in=“ü—Í
acl_out=o—Í
acl_total=—¼•û
acl_count=Å‘å
acl_class=ƒNƒ‰ƒX‚É“K—p
acl_all=‚·‚×‚Ä‚ÌƒNƒ‰ƒX
acl_limit=“¯Žžƒ†[ƒU§ŒÀ
acl_n=Å‘åƒ†[ƒU”
acl_times=ŽžŠÔ
acl_lmsg=ƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹
acl_unlimited=–³§ŒÀ
acl_any=íŽž
acl_alimit=“½–¼ƒZƒbƒVƒ‡ƒ“§ŒÀ
acl_glimit=ƒQƒXƒg ƒZƒbƒVƒ‡ƒ“§ŒÀ
acl_mins=•ª
acl_fails=ƒƒOƒCƒ“‚ÌŽ¸”sÅ‘å‰ñ”
acl_private=ƒOƒ‹[ƒv‚ðØ‘Ö‰Â”\‚É‚µ‚Ü‚·‚©H
acl_noret=ƒtƒ@ƒCƒ‹‚Ö‚ÌƒAƒNƒZƒX‚ð‹‘”Û‚µ‚Ü‚·‚©H
acl_nfiles=‹‘”Û‚·‚éƒtƒ@ƒCƒ‹
acl_nrel=chroot ‚Æ‘Š‘Î‚É‚µ‚Ü‚·‚©H
acl_nclass=‹‘”Û‚·‚éƒNƒ‰ƒX
acl_allowret=‹‘”Û‚³‚ê‚½ê‡‚àƒtƒ@ƒCƒ‹‚Ö‚ÌƒAƒNƒZƒX‚ð‹–‰Â
acl_afiles=‹–‰Â‚·‚éƒtƒ@ƒCƒ‹
acl_arel=chroot ‚Æ‘Š‘Î‚É‚µ‚Ü‚·‚©H
acl_aclass=‹–‰Â‚·‚éƒNƒ‰ƒX
acl_err=§ŒÀ‚ÆƒAƒNƒZƒX§Œä‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
acl_edaddr='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX‚Å‚·
acl_edfile='$1' ‚Í–³Œø‚ÈƒAƒhƒŒƒX ƒtƒ@ƒCƒ‹‚Å‚·
acl_edmsg='$1' ‚Í–³Œø‚ÈƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹‚Å‚·
acl_eln='$1'‚Í—LŒø‚Èƒ†[ƒU‚ÌÅ‘å”‚Å‚Í‚ ‚è‚Ü‚¹‚ñ
acl_etimes='$1' ‚Í–³Œø‚È UUCP ƒXƒ^ƒCƒ‹‚ÌŽžŠÔ”ÍˆÍ‚Å‚·
acl_elmsg='$1' ‚Í–³Œø‚ÈƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹‚Å‚·
acl_efbcount='$1' ‚Í–³Œø‚Èƒtƒ@ƒCƒ‹”‚Ü‚½‚ÍƒoƒCƒg‚Å‚·
acl_elimit='$1' ‚Í–³Œø‚ÈŽžŠÔ§ŒÀ‚Å‚·
acl_efails='$1'‚Í–³Œø‚ÈƒƒOƒCƒ“‚ÌŽ¸”s‰ñ”‚Å‚·

net_title=ƒlƒbƒgƒ[ƒN
net_header=ƒlƒbƒgƒ[ƒN ƒIƒvƒVƒ‡ƒ“
net_tcp=TCP ƒEƒBƒ“ƒhƒE ƒTƒCƒY
net_tsize=ƒTƒCƒY
net_tclass=‘Î‰žƒNƒ‰ƒX
net_tall=‚·‚×‚Ä‚ÌƒNƒ‰ƒX
net_pasvaddr=PASV Ú‘±‚ÌƒAƒhƒŒƒX
net_pip=IP ƒAƒhƒŒƒX
net_pcidr=ƒlƒbƒgƒ[ƒN‚ÌƒNƒ‰ƒCƒAƒ“ƒg
net_pasvport=PASV Ú‘±‚Ìƒ|[ƒg
net_prange=ƒ|[ƒg‚Ì”ÍˆÍ
net_err=ƒlƒbƒgƒ[ƒN ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
net_etsize='$1' ‚Í–³Œø‚È TCP ƒEƒBƒ“ƒhƒE ƒTƒCƒY‚Å‚·
net_eip='$1' ‚Í–³Œø‚È IP ƒAƒhƒŒƒX‚Å‚·
net_enet='$1' ‚Í–³Œø‚Èƒlƒbƒgƒ[ƒN ƒAƒhƒŒƒX‚Å‚·
net_ecidr='$1'‚Í–³Œø‚Èƒlƒbƒgƒ[ƒN ƒrƒbƒg‚Ì”Ô†‚Å‚·
net_eport='$1' ‚Í–³Œø‚Èƒ|[ƒg”Ô†‚Å‚·

log_title=ƒƒO
log_header=ƒƒO ƒIƒvƒVƒ‡ƒ“
log_commands=‚·‚×‚Ä‚ÌƒRƒ}ƒ“ƒh‚ðƒƒO‚É‹L˜^
log_anonymous=“½–¼ƒ†[ƒU
log_guest=ƒQƒXƒg ƒ†[ƒU
log_real=Unix ƒ†[ƒU
log_trans=ƒƒO‚Ì“]‘—
log_dir=•ûŒü
log_inbound=ƒCƒ“ƒoƒEƒ“ƒh
log_outbound=ƒAƒEƒgƒoƒEƒ“ƒh
log_both=—¼•û
log_security=ƒƒO‚ÌƒZƒLƒ…ƒŠƒeƒBˆá”½
log_to=ƒƒO‚Ì“]‘—æ
log_syslog=ƒVƒXƒeƒ€ ƒƒO
log_xferlog=XFER ƒƒO ƒtƒ@ƒCƒ‹
log_err=ƒƒO ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½

alias_title=ƒGƒCƒŠƒAƒX‚ÆƒpƒX
alias_header=ƒGƒCƒŠƒAƒX‚ÆƒpƒX ƒIƒvƒVƒ‡ƒ“
alias_alias=CD ƒfƒBƒŒƒNƒgƒŠ‚ÌƒGƒCƒŠƒAƒX
alias_from=ƒGƒCƒŠƒAƒX–¼
alias_to=ƒfƒBƒŒƒNƒgƒŠ‚Ö‚ÌƒGƒCƒŠƒAƒX
alias_cdpath=CD ƒfƒBƒŒƒNƒgƒŠ‚ÌŒŸõƒpƒX
alias_err=ƒGƒCƒŠƒAƒX‚ÆƒpƒX‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
alias_efrom='$1' ‚Í–³Œø‚ÈƒGƒCƒŠƒAƒX–¼‚Å‚·
alias_eto='$1' ‚Í–³Œø‚ÈƒGƒCƒŠƒAƒX‚ÌƒfƒBƒŒƒNƒgƒŠ‚Å‚·
alias_ecdpath='$1' ‚Í–³Œø‚È CD ŒŸõƒfƒBƒŒƒNƒgƒŠ‚Å‚·

anon_title=“½–¼ FTP
anon_eftp=Œx ? ‚²Žg—p‚ÌƒVƒXƒeƒ€‚Í<tt>ftp</tt> ƒ†[ƒU‚ðŽ‚½‚È‚¢‚½‚ßA“½–¼ FTP ‚ðÝ’è‚Å‚«‚Ü‚¹‚ñB
anon_header=“½–¼ FTP ƒIƒvƒVƒ‡ƒ“
anon_auto=“½–¼ƒ†[ƒU‚Ì Unix ƒOƒ‹[ƒv
anon_group=ƒOƒ‹[ƒv‚ÉØ‘Ö
anon_classes=‘Î‰žƒNƒ‰ƒX
anon_root=“½–¼ FTP root ƒfƒBƒŒƒNƒgƒŠ
anon_dir=ƒfƒBƒŒƒNƒgƒŠ
anon_class=‘Î‰žƒNƒ‰ƒX
anon_any=”CˆÓ
anon_passwd=“½–¼ FTP ƒpƒXƒ[ƒh ƒ`ƒFƒbƒN
anon_none=‚·‚×‚Ä‹–‰Â
anon_trivial=•K‚¸ŽŸ‚ðŠÜ‚Þ @
anon_rfc822=•K‚¸ RFC822 E ƒ[ƒ‹ ƒAƒhƒŒƒX
anon_enforce=ƒƒOƒCƒ“‚ð‹‘”Û
anon_warn=Œx‚Ì‚Ý
anon_email=‹‘”Û‚·‚é“½–¼ FTP ƒpƒXƒ[ƒh
anon_groot=ƒQƒXƒg root ƒfƒBƒŒƒNƒgƒŠ
anon_uids=Unix ƒ†[ƒU
anon_err=“½–¼ FTP ƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
anon_edir='$1' ‚Í–³Œø‚ÈƒfƒBƒŒƒNƒgƒŠ‚Å‚·
anon_egroup='$1' ‚Í–³Œø‚ÈƒOƒ‹[ƒv‚Å‚·

perm_title=‹–‰Â
perm_header=‹–‰Â‚ÌƒIƒvƒVƒ‡ƒ“
perm_perms=ƒRƒ}ƒ“ƒh‚Ì§ŒÀ
perm_type=ƒRƒ}ƒ“ƒh
perm_can=‹–‰Â‚µ‚Ü‚·‚©H
perm_users=ƒ†[ƒU‚ÌŽí—Þ
perm_classes=‘Î‰žƒNƒ‰ƒX
perm_all=‚·‚×‚Ä
perm_anonymous=“½–¼
perm_guest=ƒQƒXƒg
perm_real=Unix
perm_note=ƒfƒtƒHƒ‹ƒg‚Å‚Í‚·‚×‚Ä‚ÌƒRƒ}ƒ“ƒh‚Í‚·‚×‚Ä‚Ìƒ†[ƒU‚É‘Î‚µ‚Ä‹–‰Â‚³‚ê‚Ü‚·
perm_filter=‹–‰Â‚³‚ê‚È‚¢ƒAƒbƒvƒ[ƒh‚Ìƒtƒ@ƒCƒ‹–¼
perm_types=ƒ†[ƒU‚ÌŽí—Þ
perm_mesg=ƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹
perm_char=‹–‰Â‚³‚ê‚é•¶Žš
perm_regexp=‹‘”Û‚·‚éƒtƒ@ƒCƒ‹‚Ì³‹K•\Œ»
perm_err=‹–‰Â‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
perm_echar='$1' ‚Í–³Œø‚È³‹K•\Œ»‚Ì•¶Žš‚Å‚·
perm_etypes=ƒ†[ƒU‚ÌŽí—Þ‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ
perm_emesg='$1' ‚Í–³Œø‚ÈƒGƒ‰[ ƒƒbƒZ[ƒW ƒtƒ@ƒCƒ‹‚Å‚·

host_title=ƒzƒXƒg‚ÌƒAƒNƒZƒX§Œä

misc_title=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
misc_header=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“
misc_lslong=’·‚¢ƒŠƒXƒg ƒRƒ}ƒ“ƒh
misc_lsshort=’Z‚¢ƒŠƒXƒg ƒRƒ}ƒ“ƒh
misc_lsplain=ƒvƒŒƒCƒ“ ƒŠƒXƒg ƒRƒ}ƒ“ƒh
misc_shutdown=ƒVƒƒƒbƒgƒ_ƒEƒ“’Ê’mƒtƒ@ƒCƒ‹
misc_none=‚È‚µ
misc_nice=ƒT[ƒrƒX ƒvƒƒZƒX nice ƒŒƒxƒ‹
misc_ndelta=Nice ƒŒƒxƒ‹
misc_class=‘Î‰žƒNƒ‰ƒX
misc_all=‚·‚×‚Ä‚ÌƒNƒ‰ƒX
misc_defumask=ƒAƒbƒvƒ[ƒh ƒtƒ@ƒCƒ‹‚ÌƒfƒtƒHƒ‹ƒg umask
misc_umask=Umask
misc_err=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
misc_elslong=’·‚¢ƒŠƒXƒg ƒRƒ}ƒ“ƒh‚ª‚ ‚è‚Ü‚¹‚ñ
misc_elsshort=’Z‚¢ƒŠƒXƒg ƒRƒ}ƒ“ƒh‚ª‚ ‚è‚Ü‚¹‚ñ
misc_elsplain=ƒvƒŒƒCƒ“ ƒŠƒXƒg ƒRƒ}ƒ“ƒh‚ª‚ ‚è‚Ü‚¹‚ñ
misc_eshutdown=ƒVƒƒƒbƒgƒ_ƒEƒ“’Ê’mƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚¹‚ñ
misc_enice='$1' ‚Í–³Œø‚È nice ƒŒƒxƒ‹‚Å‚·
misc_eumask='$1' ‚Í–³Œø‚È umask‚Å‚·

log_class=ƒ†[ƒU‚ÆƒNƒ‰ƒX‚ð•ÏX‚µ‚Ü‚µ‚½
log_message=ƒƒbƒZ[ƒW‚Æƒoƒi[‚ð•ÏX‚µ‚Ü‚µ‚½
log_acl=§ŒÀ‚ÆƒAƒNƒZƒX§Œä‚ð•ÏX‚µ‚Ü‚µ‚½
log_net=ƒlƒbƒgƒ[ƒN ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_log=ƒƒO ƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_alias=ƒGƒCƒŠƒAƒX‚ÆƒpƒX‚ð•ÏX‚µ‚Ü‚µ‚½
log_anon=“½–¼ FTP ‚ð•ÏX‚µ‚Ü‚µ‚½
log_perm=‹–‰Â‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_misc=‚»‚Ì‘¼‚ÌƒIƒvƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ü‚µ‚½
log_restart=•ÏX‚ð“K—p‚µ‚Ü‚µ‚½
log_start=FTP ƒT[ƒo‚ð‹N“®‚µ‚Ü‚µ‚½

  07070100066698000081a40000000000000002000000013d1fe2da00001f7a000000200000000000000000000000000000001c00000003reloc/wuftpd/lang/ko_KR.euc   index_title=FTP ¼­¹ö
index_eftpd=½Ã½ºÅÛ¿¡ FTP ¼­¹ö $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>FTP ¼­¹ö ¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eftpaccess=FTP ¼­¹ö ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>FTP ¼­¹ö ¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_eversion=FTP ¼­¹ö $1ÀÌ(°¡) WU-FTPd°¡ ¾Æ´Õ´Ï´Ù. ¿À·¡µÈ ¿î¿µ Ã¼Á¦¿¡¼­ Á¦°øÇÏ´Â FTPd°¡ »ç¿ëµÇ°í ÀÖ°Å³ª <a href='$2'>FTP ¼­¹ö ¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
index_apply=º¯°æ ³»¿ë Àû¿ë
index_applymsg=ÇöÀç ±¸¼ºÀ» Àû¿ëÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ±×·¯¸é ½ÇÇà ÁßÀÎ ¸ðµç FTP ¼­¹ö ÇÁ·Î¼¼½º°¡ ÁßÁöµÇ¾ú´Ù°¡ ´Ù½Ã ½ÃÀÛµÇ°í ¸ðµç »ç¿ëÀÚÀÇ ¿¬°áÀÌ ²÷±é´Ï´Ù.
index_start=¼­¹ö ½ÃÀÛ
index_startmsg=ÇöÀç ±¸¼ºÀ¸·Î FTP ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. ¶ÇÇÑ <a href='$1'>ÀÎÅÍ³Ý ¼­ºñ½º</a> ¸ðµâÀ» »ç¿ëÇÏ¿© ÇÊ¿äÇÒ ¶§¸¶´Ù ÀÚµ¿À¸·Î ½ÃÀÛµÇµµ·Ï ¼­¹ö¸¦ ±¸¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
index_startmsg2=ÇöÀç ±¸¼ºÀ¸·Î FTP ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À. inetd ¶Ç´Â ºñ½ÁÇÑ ¼º´ÉÀÇ ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ÇÊ¿äÇÒ ¶§¸¶´Ù ÀÚµ¿À¸·Î ½ÃÀÛµÇµµ·Ï ¼­¹ö¸¦ ±¸¼ºÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
index_return=FTP ¼­¹ö ¿É¼Ç

class_title=»ç¿ëÀÚ ¹× Å¬·¡½º
class_header=»ç¿ëÀÚ Å¬·¡½º ¹× »ç¿ëÀÚ ¿É¼Ç
class_class=»ç¿ëÀÚ Å¬·¡½º
class_name=Å¬·¡½º ÀÌ¸§
class_types=»ç¿ëÀÚ À¯Çü
class_addrs=ÀÏÄ¡ÇÏ´Â ÁÖ¼Ò È®ÀÎ
class_real=À¯´Ð½º
class_guest=°Ô½ºÆ®
class_anonymous=ÀÍ¸í
class_guestuser=°Ô½ºÆ®·Î Ãë±ÞÇÒ À¯´Ð½º »ç¿ëÀÚ ¹× UID
class_guestgroup=°Ô½ºÆ®·Î Ãë±ÞÇÒ À¯´Ð½º ±×·ì ¹× GID
class_realuser=°Ô½ºÆ®·Î Ãë±ÞÇÏÁö <i>¾ÊÀ»</i> À¯´Ð½º »ç¿ëÀÚ ¹× UID
class_realgroup=°Ô½ºÆ®·Î Ãë±ÞÇÏÁö <i>¾ÊÀ»</i> À¯´Ð½º ±×·ì ¹× GID
class_ftpusers=°ÅºÎÇÒ À¯´Ð½º »ç¿ëÀÚ($1¿¡ ÀÖ´Â »ç¿ëÀÚ)
class_deny_uid=°ÅºÎÇÒ À¯´Ð½º »ç¿ëÀÚ ¹× UID
class_deny_gid=°ÅºÎÇÒ À¯´Ð½º ±×·ì ¹× GID
class_allow_uid=°ÅºÎÇÏÁö <i>¾ÊÀ»</i> À¯´Ð½º »ç¿ëÀÚ ¹× UID
class_allow_gid=°ÅºÎÇÏÁö <i>¾ÊÀ»</i> À¯´Ð½º ±×·ì ¹× GID
class_err=»ç¿ëÀÚ Å¬·¡½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
class_eclass='$1'Àº(´Â) À¯È¿ÇÑ Å¬·¡½º ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
class_etypes=Å¬·¡½º '$1'¿¡ ´ëÇÑ À¯ÇüÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
class_eaddrs=Å¬·¡½º '$1'ÀÇ ÁÖ¼Ò¸¦ ÀÔ·ÂÇÏÁö ¾Ê¾Ò½À´Ï´Ù

message_title=¸Þ½ÃÁö ¹× ¹è³Ê
message_header=¸Þ½ÃÁö, ¹è³Ê ¹× README ÆÄÀÏ
message_message=¸Þ½ÃÁö ÆÄÀÏ
message_path=°æ·Î
message_when=Ç¥½Ã ½Ã±â
message_login=·Î±×ÀÎÇÒ ¶§
message_dir=µð·ºÅä¸®¿¡ µé¾î°¥ ¶§
message_alldir=ÀÓÀÇÀÇ µð·ºÅä¸®¿¡ µé¾î°¥ ¶§
message_classes=Å¬·¡½º Ç¥½Ã ´ë»ó
message_readme=README ÆÄÀÏ
message_update=¸¶Áö¸·À¸·Î ¼öÁ¤ÇÑ ³¯Â¥ Ç¥½Ã ½Ã±â
message_greeting=ÀÎ»ç¸» ¼öÁØ
message_full=È£½ºÆ® ÀÌ¸§ ¹× ¹öÀü
message_brief=È£½ºÆ® ÀÌ¸§
message_terse=µÑ´Ù ¾ÈÇÔ
message_banner=»çÀü ·Î±×ÀÎ ¹è³Ê
message_none=¾øÀ½
message_file=ÆÄÀÏ¿¡¼­
message_hostdef=½Ã½ºÅÛ È£½ºÆ® ÀÌ¸§
message_hostname=¸Þ½ÃÁöÀÇ È£½ºÆ® ÀÌ¸§
message_email=¼ÒÀ¯ÀÚÀÇ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò
message_err=¸Þ½ÃÁö ¹× ¹è³Ê¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
message_epath='$1'Àº(´Â) À¯È¿ÇÑ °æ·Î°¡ ¾Æ´Õ´Ï´Ù
message_cwd='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
message_eclass=Å¬·¡½º '$1'ÀÌ(°¡) ¾ø½À´Ï´Ù
message_ebanner='$1'Àº(´Â) À¯È¿ÇÑ ·Î±×ÀÎ ¹è³Ê ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
message_ehostname=¾ø°Å³ª Àß¸øµÈ È£½ºÆ® ÀÌ¸§
message_eemail=¾ø°Å³ª Àß¸øµÈ ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò

acl_title=Á¦ÇÑ ¹× Á¢±Ù Á¦¾î
acl_header=Á¦ÇÑ ¹× Á¢±Ù Á¦¾î ¿É¼Ç
acl_deny=Á¢±Ù °ÅºÎ À§Ä¡
acl_daddrs=ÁÖ¼Ò·ÎºÎÅÍ °ÅºÎ
acl_dmsg=¿À·ù ¸Þ½ÃÁö ÆÄÀÏ
acl_file=ÆÄÀÏ ¹× µ¥ÀÌÅÍ Àü¼Û Á¦ÇÑ
acl_fblimit=Á¦ÇÑ À¯Çü
acl_flimit=¼¼¼Ç ´ç ÆÄÀÏ ¼ö
acl_blimit=¼¼¼Ç ´ç ¹ÙÀÌÆ® ¼ö
acl_raw=µ¥ÀÌÅÍ Àü¿ëÀÔ´Ï±î?
acl_inout=¹æÇâ
acl_in=µé¾î¿À´Â ¹æÇâ
acl_out=³ª°¡´Â ¹æÇâ
acl_total=¸ðµÎ
acl_count=ÃÖ´ë
acl_class=Å¬·¡½º¿¡ Àû¿ë
acl_all=¸ðµç Å¬·¡½º
acl_limit=µ¿½Ã »ç¿ëÀÚ Á¦ÇÑ
acl_n=ÃÖ´ë »ç¿ëÀÚ ¼ö
acl_times=°æ¿ì¿¡ µû¶ó
acl_lmsg=¿À·ù ¸Þ½ÃÁö ÆÄÀÏ
acl_unlimited=Á¦ÇÑ ¾øÀ½
acl_any=Ç×»ó
acl_alimit=ÀÍ¸í ¼¼¼Ç Á¦ÇÑ
acl_glimit=°Ô½ºÆ® ¼¼¼Ç Á¦ÇÑ
acl_mins=ºÐ
acl_fails=ÃÖ´ë ·Î±×ÀÎ ½ÇÆÐ ¼ö
acl_private=±×·ìÀ» ÀüÈ¯ÇÒ ¼ö ÀÖ½À´Ï±î?
acl_noret=ÆÄÀÏ Á¢±Ù °ÅºÎ
acl_nfiles=°ÅºÎÇÒ ÆÄÀÏ
acl_nrel=chroot¿¡ »ó´ëÀûÀÔ´Ï±î?
acl_nclass=Å¬·¡½º¿¡ ´ëÇØ °ÅºÎ
acl_allowret=°ÅºÎÇÑ °æ¿ì¿¡µµ ÆÄÀÏ Á¢±Ù Çã¿ë
acl_afiles=Çã¿ëÇÒ ÆÄÀÏ
acl_arel=chroot¿¡ »ó´ëÀûÀÔ´Ï±î?
acl_aclass=Å¬·¡½º¿¡ ´ëÇØ Çã¿ë
acl_err=Á¦ÇÑ ¹× Á¢±Ù Á¦¾î¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù 
acl_edaddr='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
acl_edfile='$1'Àº(´Â) À¯È¿ÇÑ ÁÖ¼Ò ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
acl_edmsg='$1'Àº(´Â) À¯È¿ÇÑ ¿À·ù ¸Þ½ÃÁö ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
acl_eln='$1'Àº(´Â) À¯È¿ÇÑ ÃÖ´ë »ç¿ëÀÚ ¼ö°¡ ¾Æ´Õ´Ï´Ù
acl_etimes='$1'Àº(´Â) À¯È¿ÇÑ UUCP Çü½Ä ½Ã°£ ¹üÀ§°¡ ¾Æ´Õ´Ï´Ù
acl_elmsg='$1'Àº(´Â) À¯È¿ÇÑ ¿À·ù ¸Þ½ÃÁö ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù
acl_efbcount='$1'Àº(´Â) À¯È¿ÇÑ ÆÄÀÏ ¶Ç´Â ¹ÙÀÌÆ® ¼ö°¡ ¾Æ´Õ´Ï´Ù
acl_elimit='$1'Àº(´Â) À¯È¿ÇÑ ½Ã°£ Á¦ÇÑÀÌ ¾Æ´Õ´Ï´Ù 
acl_efails='$1'Àº(´Â) À¯È¿ÇÑ ·Î±×ÀÎ ½ÇÆÐ ¼ö°¡ ¾Æ´Õ´Ï´Ù

net_title=³×Æ®¿öÅ·
net_header=³×Æ®¿öÅ· ¿É¼Ç
net_tcp=TCP Ã¢ Å©±â
net_tsize=Å©±â
net_tclass=Å¬·¡½º
net_tall=¸ðµç Å¬·¡½º
net_pasvaddr=PASV ¿¬°á ÁÖ¼Ò
net_pip=IP ÁÖ¼Ò
net_pcidr=³×Æ®¿öÅ© Å¬¶óÀÌ¾ðÆ®
net_pasvport=PASV ¿¬°á Æ÷Æ®
net_prange=Æ÷Æ® ¹üÀ§
net_err=³×Æ®¿öÅ· ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
net_etsize='$1'Àº(´Â) À¯È¿ÇÑ TCP Ã¢ Å©±â°¡ ¾Æ´Õ´Ï´Ù
net_eip='$1'Àº(´Â) À¯È¿ÇÑ IP ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
net_enet='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ© ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù
net_ecidr='$1'Àº(´Â) À¯È¿ÇÑ ³×Æ®¿öÅ© ºñÆ® ¼ö°¡ ¾Æ´Õ´Ï´Ù
net_eport='$1'Àº(´Â) À¯È¿ÇÑ Æ÷Æ® ¹øÈ£°¡ ¾Æ´Õ´Ï´Ù

log_title=·Î±×
log_header=·Î±× ¿É¼Ç
log_commands=¸ðµç ¸í·É ·Î±× ´ë»ó
log_anonymous=ÀÍ¸í »ç¿ëÀÚ
log_guest=°Ô½ºÆ® »ç¿ëÀÚ
log_real=À¯´Ð½º »ç¿ëÀÚ
log_trans=Àü¼Û ·Î±× ´ë»ó
log_dir=µé¾î¿À´Â ¹æÇâ
log_inbound=ÀÎ¹Ù¿îµå
log_outbound=¾Æ¿ô¹Ù¿îµå
log_both=¸ðµÎ
log_security=º¸¾È À§¹Ý ·Î±× ´ë»ó
log_to=Àü¼Û ·Î±× À§Ä¡
log_syslog=½Ã½ºÅÛ ·Î±×
log_xferlog=XFER ·Î±× ÆÄÀÏ
log_err=·Î±× ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù

alias_title=º°Äª ¹× °æ·Î
alias_header=º°Äª ¹× °æ·Î ¿É¼Ç
alias_alias=CD µð·ºÅä¸® º°Äª
alias_from=º°Äª ÀÌ¸§
alias_to=µð·ºÅä¸® º°Äª
alias_cdpath=CD µð·ºÅä¸® °Ë»ö °æ·Î
alias_err=º°Äª ¹× °æ·Î¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
alias_efrom='$1'Àº(´Â) À¯È¿ÇÑ º°Äª ÀÌ¸§ÀÌ ¾Æ´Õ´Ï´Ù
alias_eto='$1'Àº(´Â) À¯È¿ÇÑ º°Äª µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
alias_ecdpath='$1'Àº(´Â) À¯È¿ÇÑ CD °Ë»ö µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù

anon_title=ÀÍ¸í FTP
anon_eftp=°æ°í - ½Ã½ºÅÛ¿¡ <tt>ftp</tt> »ç¿ëÀÚ°¡ ¾øÀ¸¹Ç·Î ÀÍ¸í FTP°¡ ±¸¼ºµÇÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
anon_header=ÀÍ¸í FTP ¿É¼Ç
anon_auto= ÀÍ¸í »ç¿ëÀÚ¿ë À¯´Ð½º ±×·ì
anon_group=±×·ìÀ¸·Î ÀüÈ¯
anon_classes=Å¬·¡½º
anon_root=ÀÍ¸í FTP ·çÆ® µð·ºÅä¸®
anon_dir=µð·ºÅä¸®
anon_class=Å¬·¡½º
anon_any=ÀÓÀÇ
anon_passwd=ÀÍ¸í FTP ÆÐ½º¿öµå °Ë»ç
anon_none=¸ðµÎ Çã¿ë
anon_trivial=@ÀÌ ÀÖ¾î¾ß ÇÔ
anon_rfc822=RFC822 ÀüÀÚ ¸ÞÀÏ ÁÖ¼Ò¿©¾ß ÇÔ
anon_enforce=·Î±×ÀÎ °ÅºÎ
anon_warn=°æ°í¸¸
anon_email=°ÅºÎÇÒ ÀÍ¸í FTP ÆÐ½º¿öµå
anon_groot=°Ô½ºÆ® ·çÆ® µð·ºÅä¸®
anon_uids=À¯´Ð½º »ç¿ëÀÚ
anon_err=ÀÍ¸í FTP ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
anon_edir='$1'Àº(´Â) À¯È¿ÇÑ µð·ºÅä¸®°¡ ¾Æ´Õ´Ï´Ù
anon_egroup='$1'Àº(´Â) À¯È¿ÇÑ ±×·ìÀÌ ¾Æ´Õ´Ï´Ù

perm_title=»ç¿ë ±ÇÇÑ
perm_header=»ç¿ë ±ÇÇÑ ¿É¼Ç
perm_perms=¸í·É Á¦ÇÑ
perm_type=¸í·É
perm_can=Çã¿ëÇÕ´Ï±î?
perm_users=»ç¿ëÀÚ À¯Çü
perm_classes=Å¬·¡½º
perm_all=¸ðµÎ
perm_anonymous=ÀÍ¸í
perm_guest=°Ô½ºÆ®
perm_real=À¯´Ð½º
perm_note=±âº»ÀûÀ¸·Î ¸ðµç »ç¿ëÀÚÀÇ ¸ðµç ¸í·ÉÀÌ Çã¿ëµË´Ï´Ù
perm_filter=Çã¿ëµÇÁö ¾Ê´Â ¾÷·Îµå ÆÄÀÏ ÀÌ¸§
perm_types=»ç¿ëÀÚ À¯Çü
perm_mesg=¿À·ù ¸Þ½ÃÁö ÆÄÀÏ
perm_char=Çã¿ëÇÒ ¹®ÀÚ
perm_regexp=°ÅºÎÇÒ ÆÄÀÏ Á¤±Ô½Ä
perm_err=»ç¿ë ±ÇÇÑÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
perm_echar='$1'Àº(´Â) À¯È¿ÇÑ ¹®ÀÚ·Î ¼³Á¤µÈ Á¤±Ô½ÄÀÌ ¾Æ´Õ´Ï´Ù
perm_etypes=»ç¿ëÀÚ À¯ÇüÀ» ¼±ÅÃÇÏÁö ¾Ê¾Ò½À´Ï´Ù
perm_emesg='$1'Àº(´Â) À¯È¿ÇÑ ¿À·ù ¸Þ½ÃÁö ÆÄÀÏÀÌ ¾Æ´Õ´Ï´Ù

host_title=È£½ºÆ® Á¢±Ù Á¦¾î

misc_title=±âÅ¸ ¿É¼Ç
misc_header=±âÅ¸ ¿É¼Ç
misc_lslong=±ä ¸ñ·Ï ¸í·É
misc_lsshort=ÂªÀº ¸ñ·Ï ¸í·É
misc_lsplain=ÀÏ¹Ý ¸ñ·Ï ¸í·É
misc_shutdown=Á¾·á ¾Ë¸² ÆÄÀÏ
misc_none=¾øÀ½
misc_nice=¼­ºñ½º ÇÁ·Î¼¼½º ¾çÈ£ ¼öÁØ
misc_ndelta=¾çÈ£ ¼öÁØ
misc_class=Å¬·¡½º
misc_all=¸ðµç Å¬·¡½º
misc_defumask=¾÷·ÎµåÇÑ ÆÄÀÏÀÇ ±âº» umask
misc_umask=Umask
misc_err=±âÅ¸ ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
misc_elslong=±ä ¸ñ·Ï ¸í·ÉÀÌ ¾ø½À´Ï´Ù
misc_elsshort=ÂªÀº ¸ñ·Ï ¸í·ÉÀÌ ¾ø½À´Ï´Ù
misc_elsplain=ÀÏ¹Ý ¸ñ·Ï ¸í·ÉÀÌ ¾ø½À´Ï´Ù
misc_eshutdown=Á¾·á ¾Ë¸² ÆÄÀÏÀÌ ¾ø½À´Ï´Ù
misc_enice='$1'Àº(´Â) À¯È¿ÇÑ ¾çÈ£ ¼öÁØÀÌ ¾Æ´Õ´Ï´Ù
misc_eumask='$1'Àº(´Â) À¯È¿ÇÑ umask°¡ ¾Æ´Õ´Ï´Ù

log_class=»ç¿ëÀÚ ¹× Å¬·¡½º º¯°æµÊ
log_message=¸Þ½ÃÁö ¹× ¹è³Ê º¯°æµÊ
log_acl=Á¦ÇÑ ¹× Á¢±Ù Á¦¾î º¯°æµÊ
log_net=³×Æ®¿öÅ· ¿É¼Ç º¯°æµÊ
log_log=·Î±× ¿É¼Ç º¯°æµÊ
log_alias=º°Äª ¹× °æ·Î º¯°æµÊ
log_anon=ÀÍ¸í FTP º¯°æµÊ
log_perm=»ç¿ë ±ÇÇÑ ¿É¼Ç º¯°æµÊ
log_misc=±âÅ¸ ¿É¼Ç º¯°æµÊ
log_restart=º¯°æ ³»¿ë Àû¿ëµÊ
log_start=FTP ¼­¹ö ½ÃÀÛµÊ

  07070100066699000081a40000000000000002000000013d1fe2da0000233c000000200000000000000000000000000000001500000003reloc/wuftpd/lang/pl  index_title=Serwer FTP
index_eftpd=Serwer FTP $1 nie zosta³ znaleziony na Twoim komputerze. Mo¿e nie zosta³ zainstalowany, albo Twoja <a href='$2'>konfiguracja modu³u serwera FTP</a> jest nieprawid³owa.
index_eftpaccess=Plik konfiguracyjny serwera FTP $1 nie istnieje. Mo¿e nie zosta³ zainstalowany, lub Twoja <a href='$2'>konfiguracja modu³u serwera FTP</a> jest nieprawid³owa.
index_eversion=Serwer FTP $1 to nie WU-FTPd. Mo¿e u¿ywasz starej wersji FTPd, albo <a href='$2'>konfiguracja modu³u serwera FTP</a> jest nieprawid³owa.
index_apply=Zastosuj zmiany
index_applymsg=Wybierz by zachowaæ aktualn± konfiguracjê. To zrestartuje wszystkie procesy serwera FTP, i dlatego roz³±czy wszystkich u¿ytkowników.
index_start=Startuj serwer
index_startmsg=Wybierz by wystartowaæ serwer FTP z&nbsp;aktualn± konfiguracj±. Za pomoc± modu³u <a href='$1'>Us³ugi Internetowe</a> mo¿esz skonfigurowaæ serwer FTP tak, by by³ startowany automatycznie.
index_startmsg2=Naci¶nij ten przycisk aby uruchomiæ serwer FTP z&nbsp;bierz±c± konfiguracj±. Mo¿esz równie¿ skonfigurowaæ serwer tak, aby by³ uruchamiany automatycznie w&nbsp;razie potrzeby poprzez <tt>inetd</tt> lub podobny program.
index_return=Opcje serwera FTP

class_title=U¿ytkownicy i klasy
class_header=Klasy i&nbsp;opcje u¿ytkowników
class_class=Klasy u¿ytkowników
class_name=Nazwa klasy
class_types=Typy u¿ytkowników
class_addrs=Adresy
class_real=Uniksa
class_guest=Go¶æ
class_anonymous=Anonimowy
class_guestuser=U¿ytkownicy Uniksa i&nbsp;numery UID traktowani jako go¶cie
class_guestgroup=Grupy Uniksa i&nbsp;numery GID traktowani jako go¶cie
class_realuser=U¿ytkownicy Uniksa i&nbsp;numery UID <i>nie</i> traktowani jako goscie
class_realgroup=Grupy Uniksa i&nbsp;numery GID <i>nie</i> traktowani jako go¶cie
class_ftpusers=U¿ytkownicy Uniksa bez dostêpu (z&nbsp;pliku $1)
class_deny_uid=U¿ytkownicy Uniksa i&nbsp;numery UID z&nbsp;zakazem
class_deny_gid=Grupy Uniksa i&nbsp;numery GID z&nbsp;zakazem
class_allow_uid=U¿ytkownicy Uniksa i&nbsp;numery UID <i>bez</i> zakazu
class_allow_gid=Grupy Uniksa i&nbsp;numery GIDs <i>bez</i> zakazu
class_err=Nie uda³o siê zachowaæ pliku klas
class_eclass='$1' nie jest poprawn± nazw± klasy
class_etypes=Typy dla klasy '$1' nie zosta³y okre¶lone
class_eaddrs=Nie zosta³y wprowadzone adresy dla klasy '$1'

message_title=Komunikaty
message_header=Komunikaty i&nbsp;zbiory README
message_message=Zbiory komunikatów
message_path=¦cie¿ka
message_when=Kiedy wy¶wietliæ
message_login=Przy logowaniu
message_dir=Przy wej¶ciu do katalogu
message_alldir=Przy wej¶ciu do dowolnego katalogu
message_classes=Klasy, dla których wy¶wietlaæ
message_readme=Zbiory README
message_update=Kiedy wy¶wietlaæ datê ostatniej modyfikacji
message_greeting=Komunikat zg³oszenia
message_full=Nazwa hosta i&nbsp;wersja
message_brief=Nazwa hosta
message_terse=¯aden
message_banner=Komunikat przed autoryzacj±
message_none=¯aden
message_file=Ze zbioru
message_hostdef=Rzeczywista nazwa hosta
message_hostname=Wy¶wietlana nazwa hosta
message_email=Adres w³a¶ciciela
message_err=Nie uda³o siê zachowaæ plików komunikatów
message_epath='$1' nie jest poprawn± ¶cie¿k± dostêpu
message_cwd='$1' nie jest poprawnym katalogiem
message_eclass=Klasa '$1' nie istnieje
message_ebanner='$1' nie jest poprawnym zbiorem
message_ehostname=Niepoprawna nazwa komputera
message_eemail=Niepoprawny adres pocztowy

acl_title=Limity i kontrola dostêpu
acl_header=Limity i&nbsp;kontrola dostêpu
acl_deny=Zabroñ dostêpu
acl_daddrs=Zabroñ dostêpu z&nbsp;adresów
acl_dmsg=Zbiór z&nbsp;komunikatem b³êdu
acl_file=Limity transferu plików i&nbsp;danych
acl_fblimit=Typ limitu
acl_flimit=Zbiory na sesjê
acl_blimit=Bajty na sesjê
acl_raw=Tylko dane?
acl_inout=Kierunek
acl_in=Z
acl_out=Do
acl_total=Obydwa
acl_count=Maksimum
acl_class=Zastosuj do klasy
acl_all=Wszystkie klasy
acl_limit=Limit jednoczesnych u¿ytkowników
acl_n=Maksymalna liczba u¿ytkowników
acl_times=W&nbsp;czasie
acl_lmsg=Zbiór z&nbsp;komunikatem b³êdu
acl_unlimited=Nieograniczony
acl_any=Dowolny
acl_alimit=Limit sesji anonimowych
acl_glimit=Limit sesji go¶cinnych
acl_mins=minut
acl_fails=Maksymalna liczba nieudanych prób logowania
acl_private=Mo¿na zmieniaæ grupy?
acl_noret=Zabroñ dostêpu do zbiorów
acl_nfiles=Zbiory
acl_nrel=Wzglêdem "chroot"?
acl_nclass=Zabroñ dla klas
acl_allowret=Zezwól na dostêp
acl_afiles=Zbiory
acl_arel=Wzglêdem "chroot"?
acl_aclass=Zezwól dla klas
acl_err=Nie uda³o siê zachowaæ limitów i&nbsp;opcji dostêpu
acl_edaddr='$1' nie jest poprawnym adresem
acl_edfile='$1' nie jest poprawnym zbiorem adresów
acl_edmsg='$1' nie jest poprawnym zbiorem komunikatu
acl_eln='$1' nie jest poprawn± liczb± u¿ytkowników
acl_etimes='$1' nie jest poprawnym zakresem czasu UUCP
acl_elmsg='$1' nie jest poprawnym zbiorem komunikatu b³êdu
acl_efbcount='$1' nie jest poprawn± liczb± zbiorów lub bajtów
acl_elimit='$1' nie jest poprawnym limitem czasu
acl_efails='$1' nie jest poprawn± liczb± prób logowania

net_title=Opcje sieci
net_header=Opcje sieci
net_tcp=Rozmiar okna TCP
net_tsize=Rozmiar
net_tclass=Dla klasy
net_tall=Wszystkie klasy
net_pasvaddr=Adres do po³±czeñ PASV
net_pip=Adres IP
net_pcidr=Dla klientów z&nbsp;sieci
net_pasvport=Porty do po³±czeñ PASV
net_prange=Zakres portów
net_err=Nie uda³o siê zachowaæ opcji sieci
net_etsize='$1' nie jest poprawnym rozmiarem okna TCP
net_eip='$1' nie jest poprawnym adresem IP
net_enet='$1' nie jest poprawnym adresem sieci
net_ecidr='$1' nie jest poprawn± liczb± bitów
net_eport='$1' nie jest poprawnym numerem portu

log_title=Logowanie
log_header=Opcje logowania
log_commands=Loguj wszystkie komendy
log_anonymous=U¿ytkownicy anonimowi
log_guest=Go¶cie
log_real=U¿ytkownicy Uniksa
log_trans=Loguj transfery
log_dir=W&nbsp;kierunku
log_inbound=Przychodz±cy
log_outbound=Wychodz±cy
log_both=Obydwa
log_security=Loguj naruszenia bezpieczeñstwa
log_to=Loguj transfery do
log_syslog=Log systemowy
log_xferlog=Log transmisji
log_err=Nie uda³o siê zachowaæ opcji logowania

alias_title=Aliasy i ¶cie¿ki
alias_header=Aliasy i&nbsp;¶cie¿ki
alias_alias=Aliasy katalogów dla CD
alias_from=Nazwa
alias_to=Alias do katalogu
alias_cdpath=¦cie¿ka poszukiwania katalogów CD
alias_err=Nie uda³o siê zachowaæ opcji aliasów
alias_efrom='$1' nie jest poprawn± nazw± aliasu
alias_eto='$1' nie jest poprawnym katalogiem
alias_ecdpath='$1' nie jest poprawnym katalogiem CD

anon_title=Anonimowe FTP
anon_eftp=Uwaga - Twój system nie zawiera u¿ytkownika <tt>ftp</tt>, prawdopodobnie anonimowe FTP nie jest skonfigurowane.
anon_header=Anonimowe FTP
anon_auto=Grupa Uniksa dla u¿ytkowników anonimowych
anon_group=U¿yj grupy
anon_classes=Dla klas
anon_root=Katalog g³ówny anonimowego FTP
anon_dir=Katalog
anon_class=Dla klasy
anon_any=Dowolna
anon_passwd=Sprawdzanie has³a anonimowego FTP
anon_none=Pozwól na cokolwiek
anon_trivial=Musi zawieraæ @
anon_rfc822=Musi byæ adresem zgodnym z&nbsp;RFC822
anon_enforce=Nie zezwól na login
anon_warn=Tylko ostrze¿enie
anon_email=Zabronione has³a anonimowego FTP
anon_groot=Katalog g³ówny go¶ci
anon_uids=Dla u¿ytkowników Uniksa
anon_err=Nie uda³o siê zachowaæ opcji anonimowego FTP
anon_edir='$1' nie jest poprawnym katalogiem
anon_egroup='$1' nie jest poprawn± grup±

perm_title=Uprawnienia
perm_header=Uprawnienia
perm_perms=Ograniczenia komend
perm_type=Komenda
perm_can=Pozwól?
perm_users=Typom u¿ytkowników
perm_classes=Klasom
perm_all=Wszystkim
perm_anonymous=Anonimowym
perm_guest=Go¶ciom
perm_real=U¿ytkownikom Uniksa
perm_note=Domy¶lnie wszyscy u¿ytkownicy mog± wykonywaæ wszystkie komendy
perm_filter=Zabronione nazwy zbiorów (upload)
perm_types=Typy u¿ytkowników
perm_mesg=Zbiór komunikatu b³êdu
perm_char=Dozwolone znaki
perm_regexp=Wyra¿enie regularne
perm_err=Nie uda³o siê zachowaæ uprawnieñ
perm_echar='$1' nie jest poprawnym wyra¿eniem regularnym opisuj±cym zbiór znaków
perm_etypes=Nie wybrano typów w¿ytkowników
perm_emesg='$1' nie jest poprawnym zbiorem b³êdu

host_title=Kontrola dostêpu komputerów

misc_title=Opcje ró¿ne
misc_header=Opcje ró¿ne
misc_lslong=Komenda pe³nego listingu
misc_lsshort=Komenda krótkiego listingu
misc_lsplain=Komenda listingu
misc_shutdown=Zbiór informacji o&nbsp;zamykaniu systemu
misc_none=Brak
misc_nice=Poziom "nice" procesu serwera
misc_ndelta=Poziom "nice"
misc_class=Dla klas
misc_all=Wszystkie klasy
misc_defumask=Zastêpcza umaska (upload)
misc_umask=Umaska
misc_err=Nie uda³o siê zachowaæ opcji
misc_elslong=Brak komendy pe³nego listingu
misc_elsshort=Brak komendy krótkiego listingu
misc_elsplain=Brak komendy listingu
misc_eshutdown=Brak zbioru informacji o&nbsp;zamykaniu systemu
misc_enice='$1' nie jest poprawnym poziomem &quot;nice&quot;
misc_eumask='$1' nie jest poprawn± umask±

log_class=Zmieniono u¿ytkowników i&nbsp;klasy
log_message=Zmieniono komunikaty
log_acl=Zmieniono limity i&nbsp;kontrolê dostêpu
log_net=Zmieniono opcje sieci
log_log=Zmieniono opcje logowania
log_alias=Zmieniono aliasy i&nbsp;¶cie¿ki
log_anon=Zmieniono anonimowe FTP
log_perm=Zmieniono uprawnienia
log_misc=Zmieniono opcje ró¿ne
log_restart=Zastosowano zmiany
log_start=Uruchomino serwer FTP
0707010006669a000081a40000000000000002000000013d1fe2da0000233a000000200000000000000000000000000000001800000003reloc/wuftpd/lang/ru_RU   perm_perms=Îãðàíè÷åíèÿ êîìàíä
message_file=Èç ôàéëà
perm_types=Òèïû ïîëüçîâàòåëåé
acl_unlimited=Íåîãðàíè÷åíî
misc_enice='$1' íå ÿâëÿåòñÿ äîïóñòèìûì óðîâíåì ïðèîðèòåòà
class_eaddrs=Íå ââåäåíû àäðåñà äëÿ êëàññà '$1'
net_title=Ñåòü
perm_char=Ðàçðåøåííûå ñèìâîëû
acl_afiles=Ðàçðåøåííûå ôàéëû
net_eip='$1' íå ÿâëÿåòñÿ äîïóñòèìûì IP àäðåñîì
log_guest=Ïîëüçîâàòåëåé Guest
class_allow_uid=Unix ïîëüçîâàòåëè è UIDû - <i>íå</i> çàïðåùåííûå 
anon_classes=Äëÿ êëàññîâ
anon_auto=Ãðóïïû Unix äëÿ àíîíèìíûõ ïîëüçîâàòåëåé
alias_to=Ïñåâäîíèì äëÿ êàòàëîãà
acl_nfiles=Çàïðåùåííûå ôàéëû
message_readme=Ôàéëû README
log_anonymous=Ïîëüçîâàòåëåé Anonymous
message_err=Îùèáêà ïðè ñîõðàíåíèè ñîîáùåíèé è ïðèâåòñòâèé
acl_blimit=Áàéò íà ñåññèþ
misc_eumask='$1' íå ÿâëÿåòñÿ äîïóñòèìîé umask
acl_edfile='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñíûì ôàéëîì
class_deny_gid=Unix ãðóïïû è GIDû - çàïðåùåííûå
misc_lsshort=Êîìàíäà äëÿ ñîêðàùåííîãî ëèñòèíãà ôàéëîâ
message_hostname=Èìÿ õîñòà äëÿ ñîîáùåíèé
class_types=Òèïû ïîëüçîâàòåëåé
perm_filter=Çàïðåøåííûå èìåíà ôàéëîâ äëÿ çàãðóçêè
message_alldir=Ïðè âõîäå â ëþáîé êàòàëîã
perm_users=Äëÿ òèïîâ ïîëüçîâàòåëåé
index_apply=Ïðèíÿòü Èçìåíåíèÿ
message_update=Êîãäà ïîêàçûâàòü äàòó ïîñëåäíåé ìîäèôèêàöèè
acl_limit=Îãðàíè÷åíèÿ ïàðàëåëëèçìà ïîëüçîâàòåëåé
anon_header=Ïàðàìåòðû àíîíèìíîãî FTP
acl_noret=Çàïðåòèòü äîñòóï ê ôàéëàì
acl_out=Âûõ.
acl_daddrs=Çàïðåòèòü ñ àäðåñà
class_class=Êëàññû ïîëüçîâàòåëåé
net_err=Îøèáêà ïðè ñîõðàíåíèè ñåòåâûõ ïàðàìåòðîâ
alias_header=Ïàðàìåòðû ïñåâäîíèìîâ è ïóòåé
perm_mesg=Ôàéë ñîîáùåíèé îá îøèáêàõ
acl_count=Ìàêñèìàëüíî
misc_title=Ïðî÷èå Ïàðàìåòðû
anon_title=Àíîíèìíûé FTP
anon_eftp=Âíèìàíèå - íà âàøåé ñèñòåìå íåò ïîëüçîâàòåëÿ <tt>ftp</tt>, òàêèì îáðàçîì àíîíèìíûé FTP âîçìîæíî íå ñêîíôèãóðèðîâàí.
log_to=Íàïðàâëÿòü æóðíàëû â
alias_title=Ïñåâäîíèìû è Ïóòè
anon_email=Çàïðåùåííûå àíîíèìíûå FTP ïàðîëè
acl_private=Ìîæíî ïåðåêëþ÷àòü ãðóïïû?
net_eport='$1' íå ÿâëÿåòñÿ äîïóñòèìûì íîìåðîì ïîðòà
perm_guest=Guest
anon_uids=Äëÿ ïîëüçîâàòåëåé Unix
message_full=Èìÿ õîñòà è âåðñèÿ
misc_elsshort=Îòñóòñòâóåò êîìàíäà äëÿ ñîêðàùåííîãî ëèñòèíãà
acl_flimit=Ôàéëîâ íà ñåññèþ
log_security=Æóðíàëèðîâàòü íàðóøåíèÿ áåçîïàñíîñòè äëÿ
net_etsize='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ðàçìåðîì îêíà TCP
acl_title=Îãðàíè÷åíèÿ è Êîíòðîëü Äîñòóïà
acl_fblimit=Òèï îãðàíè÷åíèÿ
misc_nice=Óðîâåíü ïðèîðèòåòà ñåðâèñíîãî ïðîöåññà
class_guest=Guest
acl_efails='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì îøèáîê ðåãèñòðàöèè
misc_eshutdown=Îòñóòñòâóåò ôàéë ñ óâåäîìëåíèåì îá îòêëþ÷åíèè
perm_all=Âñåõ
perm_header=Ïàðàìåòðû ïðàâ
net_pcidr=Äëÿ êëèåíòîâ èç ñåòè
class_realgroup=Unix ãðóïïû è GIDû <i>íå</i> òðàêòóåìûå êàê guest
acl_all=Âñåì êëàññàì
acl_times=Âî âðåìÿ
log_real=Ïîëüçîâàòåëåé Unix
class_allow_gid=Unix ãðóïïû è GIDû - <i>íå</i> çàïðåùåííûå
class_guestgroup=Unix ãðóïïû è GIDû òðàêòóåìûå êàê guest 
class_name=Èìÿ êëàññà
acl_any=Â ëþáîå âðåìÿ
acl_allowret=Ðàçðåøèòü äîñòóï ê ôàéëîì äàæå åñëè îí çàïðåùåí
net_enet='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì ñåòè
anon_passwd=Ïðîâåðêà àíîíèìíîãî FTP ïàðîëÿ
net_prange=Äèàïàçîí ïîðòîâ
class_header=Êëàññû è ïàðàìåòðû ïîëüçîâàòåëåé
message_brief=Èìÿ õîñòà
index_eftpaccess=Ôàéë êîíôèãóðàöèè FTP Ñåðâåðà $1 íå ñóùåñòâóåò.Âîçìîæíî îí íå èíñòàëëèðîâàí, èëè Âàøà <a href='$2'> êîíôèãóðàöèÿ ìîäóëÿ FTP Ñåðâåðà</a> íåêîððåêòíà.
acl_eln='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ìàêñèìàëüíûì êîë-âîì ïîëüçîâàòåëåé
acl_deny=Çàïðåòèòü äîñòóï ñ
alias_efrom='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì ïñåâäîíèìà
message_terse=Íè÷åãî
perm_err=Îøèáêà ïðè ñîõðàíåíèè ïðàâ
perm_etypes=Íå âûáðàíû òèïû ïîëüçîâàòåëåé
alias_alias=Ïñåâäîíèìû êàòàëîãîâ äëÿ êîìàíäû CD
class_real=Unix
acl_mins=ìèíóò
message_epath='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïóòåì
acl_err=Îøèáêà ïðè ñîõðàíåíèè îãðàíè÷åíèé è êîíòðîëÿ äîñòóïà
message_greeting=Óðîâåíü ïðèâåòñòâèÿ
misc_class=Äëÿ êëàññîâ
net_ecidr='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì ñåòåâûõ áèòîâ
acl_arel=Îòíîñèòåëüíî ê chroot?
anon_class=Äëÿ êëàññà
message_hostdef=Ñèñòåìíîå èìÿ õîñòà
anon_rfc822=Äîëæåí áûòü RFC822 ïî÷òîâûì àäðåñîì
message_ehostname=Îòñóñòâóåò èëè íåâåðíîå èìÿ õîñòà
net_header=Ñåòåâûå ïàðàìåòðû
alias_err=Îøèáêà ïðè ñîõðàíåíèè ïñåâäîíèìîâ è ïóòåé
anon_none=Âîçìîæåí ïðîèçâîëüíûé
class_etypes=Íå âûáðàíû òèïû äëÿ êëàññà '$1'
alias_eto='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êàòàëîãîì ïñåâäîíèìà
index_eversion=Ïîõîæå, ÷òî Âàø FTP ñåðâåð $1 íå ÿâëÿåòñÿ WU-FTPd. Âîçìîæíî Âû èñïîëüçóåòå áîëåå ñòàðûé FTPd ïîñòàâëÿåìûé  ñ Âàøåé îïåðàöèîííîé ñèñòåìîé, èëè Âàøà <a href='$2'> êîíôèãóðàöèÿ ìîäóëÿ FTP Ñåðâåðà</a> íåêîððåêòíà. 
message_message=Ôàéëû ñîîáùåíèé
message_classes=Êëàññû äëÿ êîòîðûõ ïîêàçûâàòü
message_ebanner='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ðåãèñòðàöèîííîãî ñîîáùåíèÿ
acl_nrel=Îòíîñèòåëüíî ê chroot?
class_eclass='$1' íå ÿâëÿåòñÿ äîïóñòèìûì èìåíåì êëàññà
message_eemail=Îòñóñòâóåò èëè íåâåðåí ïî÷òîâûé àäðåñ
log_commands=Æóðíàëèðîâàòü âñå êîìàíäû äëÿ
acl_class=Ïðèìåíèòü ê êëàññó
log_trans=Æóðíàëèðîâàòü ïåðåñûëêè äëÿ
acl_alimit=Îãðàíè÷åíèÿ àíîíèìíûõ ñåññèé
misc_defumask=Ìàñêà umask ïî óìîë÷àíèþ äëÿ çàãðóæàåìûõ ôàéëîâ
anon_edir='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êàòàëîãîì
acl_dmsg=Ôàéë ñîîáùåíèé îá îøèáêàõ
net_tall=Âñåõ êëàññîâ
perm_note=Ïî óîë÷àíèþ, âñå êîìàíäû ðàçðåøåíû äëÿ âñåõ ïîëüçîâàòåëåé
anon_dir=Êàòàëîã
message_cwd='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êàòàëîãîì
anon_root=Êîðíåâûå êàòàëîãè àíîíèìíîãî FTP
index_eftpd=FTP ñåðâåð $1 íå íàéäåí íà âàøåé ñèñòåìå. Âîçìîæíî îí íå èíñòàëëèðîâàí, èëè Âàøà <a href='$2'> êîíôèãóðàöèÿ ìîäóëÿ FTP Ñåðâåðà</a> íåêîððåêòíà.
misc_header=Ïðî÷èå ïàðàìåòðû
acl_edmsg='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ñîîáùåíèé îá îøèáêàõ
log_title=Æóðíàëèçàöèÿ
message_header=Ñîîáùåíèÿ, ïðèâåòñòâèÿ è ôàéëû README
index_return=ïàðàìåòðû FTP ñåðâåðà
class_realuser=Unix ïîëüçîâàòåëè è UIDû <i>íå</i> òðàêòóåìûå êàê guest 
class_guestuser=Unix ïîëüçîâàòåëè è UIDû òðàêòóåìûå êàê guest
class_ftpusers=Unix ïîëüçîâàòåëè - çàïðåùåííûå (èç $1)
net_pasvport=Ïîðòû äëÿ PASV ñîåäèíåíèé
alias_from=Èìÿ ïñåâäîíèìà
misc_ndelta=Óðîâåíü ïðèîðèòåòà
acl_in=Âõîä.
log_outbound=Èñõîäÿùåãî
class_addrs=Ñîîòâåòñòâèå àäðåñàì
acl_n=Ìàêñèìàëüíî ïîëüçîâàòåëåé
log_dir=Íàïðàâëåíèé
log_syslog=Ñèñòåìíûé æóðíàë
acl_fails=Ìàêñèìóì îøèáîê ïðè ðåãèñðàöèè
acl_efbcount='$1' íå ÿâëÿåòñÿ äîïóñòèìûì êîë-âîì ôàéëîâ èëè áàéò
net_tclass=Äëÿ êëàññà
acl_elimit='$1' íå ÿâëÿåòñÿ äîïóñòèìûì îãðàíè÷åíèåì âðåìåíè
misc_lslong=Êîìàíäà äëÿ ïîäðîáíîãî ëèñòèíãà ôàéëîâ
message_path=Ïóòü
host_title=Êîíòîðîëü çà Äîñòóïîì Õîñòîâ
perm_can=Ðàçðåøèòü?
anon_trivial=Äîëæåí ñîäåðæàòü @
message_dir=Ïðè âõîäå â êàòàëîã
perm_regexp=Ðåã. âûð. çàïðåùåííûõ èìåí ôàéëîâ
acl_lmsg=Ôàéë ñîîáùåíèé îá îøèáêàõ
anon_warn=Òîëüêî ïðåäóïðåäèòü
log_inbound=Âõîäÿùåãî
acl_raw=Òîëüêî äàííûå?
message_eclass=Êëàññ '$1' íå ñóùåñòâóåò
anon_egroup='$1' íå ÿâëÿåòñÿ äîïóñòèìîé ãðóïïîé
log_both=Îáîèõ
perm_title=Ïðàâà
misc_umask=Umask
acl_glimit=Îãðàíè÷åíèÿ Guest ñåññèé
misc_all=Âñåõ êëàññîâ
acl_elmsg='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ñîîáùåíèé îá îøèáêàõ 
perm_anonymous=Anonymous
misc_lsplain=Êîìàíäà äëÿ ëèíåéíîãî ëèñòèíãà ôàéëîâ
misc_elslong=Îòñóòñòâóåò êîìàíäà äëÿ ïîäðîáíîãî ëèñòèíãà
perm_classes=Äëÿ êëàññîâ
acl_total=Îáà
class_deny_uid=Unix ïîëüçîâàòåëè è UIDû - çàïðåùåííûå
anon_any=Ëþáîãî
acl_edaddr='$1' íå ÿâëÿåòñÿ äîïóñòèìûì àäðåñîì
alias_cdpath=Ïóòü ïîèñêà êàòàëîãîâ äëÿ êîìàíäû CD
index_start=Ñòàðòîâàòü Ñåðâåð
message_none=Íåò
class_title=Ïîëüçîâàòåëè è Êëàññû
perm_type=Êîìàíäà
index_title=FTP Ñåðâåð
perm_real=Unix
misc_shutdown=Ôàéë ñ óâåäîìëåíèåì îá îòêëþ÷åíèè
message_when=Êîãäà ïîêàçûâàòü
message_login=Ïðè ðåãèñòðàöèè
index_startmsg=Íàæìèòå íà ýòó êíîïêó äëÿ ñòàðòà FTP ñåðâåðà èñïîëüçóÿ òåêóùóþ êîíôèãóðàöèþ. Âû òàêæå ìîæåòå íàñòðîèòü ñåðâåð íà àâòîìàòè÷åñêèé ñòàðò ïî çàïðîñó èñïîëüçóÿ ìîäóëü <a href='$1'>Ñåðâèñû Internet</a>.
perm_echar='$1' íå ÿâëÿåòñÿ äîïóñòèìûìè ñèìâîëàìè ðåãóëÿðíîãî âûðàæåíèÿ
misc_err=Îøèáêà ïðè ñîõðàíåíèè ïðî÷èõ ïàðàìåòðîâ
alias_ecdpath='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ïîèñêîâûì êàòàëîãîì êîìàíäû CD
anon_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ àíîíèìíîãî FTP
anon_groot=Êîðíåâûå êàòàëîãè äëÿ Guest
acl_etimes='$1' íå ÿâëÿåòñÿ äîïóñòèìûì âðåìåííûì äèàïàçîíîì â ñòèëå UUCP
class_anonymous=Anonymous
log_xferlog=Æóðíàëíûé XFER ôàéë
class_err=Îøèáêà ïðè ñîõðàíåíèè êëàññîâ ïîëüçîâàòåëåé
misc_elsplain=Îòñóòñòâóåò êîìàíäà äëÿ ëèíåéíîãî ëèñòèíãà
anon_group=Ïåðåêëþ÷èòüñÿ íà ãðóïïó
misc_none=Íåò
perm_emesg='$1' íå ÿâëÿåòñÿ äîïóñòèìûì ôàéëîì ñîîáùåíèé îá îøèáêàõ
message_title=Ñîîáùåíèÿ è Ïðèâåòñòâèÿ
message_banner=Äîðåãèñòðàöèîííîå ñîîáùåíèå
index_applymsg=Íàæìèòå íà ýòó êíîïêó äëÿ àêòèâèçàöèè òåêóùåé êîíôèãóðàöèè. Ïðè ýòîì áóäóò ðåñòàðòîâàíû âñå ðàáîòàþùèå ïðîöåññû FTP ñåðâåðà è ñîîòâåòñòâåííî áóäóò îòêëþ÷åíû âñå ïîäñîåäèíåííûå ïîëüçîâàòåëè.
acl_aclass=Ðàçðåøåíèå äëÿ êëàññîâ
net_tsize=Ðàçìåð
net_pip=IP àäðåñ
acl_file=Îãðàíè÷åíèÿ äëÿ ôàéëîâ è ïåðåäà÷è äàííûõ
acl_nclass=Çàïðåò äëÿ êëàññîâ
acl_header=Îãðàíè÷åíèÿ è ïàðàìåòðû êîíòðîëÿ äîñòóïà
log_header=Ïàðàìåòðû æóðíàëèçàöèè
net_pasvaddr=Àäðåñà äëÿ PASV ñîåäèíåíèé
net_tcp=Ðàçìåð îêíà TCP
message_email=Ïî÷òîâûé àäðåñ âëàäåëüöà
anon_enforce=Çàïðåòèòü ðåãèñòðàöèþ
acl_inout=Íàïðàâëåíèå
log_err=Îøèáêà ïðè ñîõðàíåíèè ïàðàìåòðîâ æóðíàëèðîâàíèÿ
  0707010006669b000081a40000000000000002000000013d1fe2da00002344000000200000000000000000000000000000001800000003reloc/wuftpd/lang/ru_SU   index_title=FTP óÅÒ×ÅÒ
index_eftpd=FTP ÓÅÒ×ÅÒ $1 ÎÅ ÎÁÊÄÅÎ ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ. ÷ÏÚÍÏÖÎÏ ÏÎ ÎÅ ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÉÌÉ ÷ÁÛÁ <a href='$2'> ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ FTP óÅÒ×ÅÒÁ</a> ÎÅËÏÒÒÅËÔÎÁ.
index_eftpaccess=æÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ FTP óÅÒ×ÅÒÁ $1 ÎÅ ÓÕÝÅÓÔ×ÕÅÔ.÷ÏÚÍÏÖÎÏ ÏÎ ÎÅ ÉÎÓÔÁÌÌÉÒÏ×ÁÎ, ÉÌÉ ÷ÁÛÁ <a href='$2'> ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ FTP óÅÒ×ÅÒÁ</a> ÎÅËÏÒÒÅËÔÎÁ.
index_eversion=ðÏÈÏÖÅ, ÞÔÏ ÷ÁÛ FTP ÓÅÒ×ÅÒ $1 ÎÅ Ñ×ÌÑÅÔÓÑ WU-FTPd. ÷ÏÚÍÏÖÎÏ ÷Ù ÉÓÐÏÌØÚÕÅÔÅ ÂÏÌÅÅ ÓÔÁÒÙÊ FTPd ÐÏÓÔÁ×ÌÑÅÍÙÊ  Ó ÷ÁÛÅÊ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÏÊ, ÉÌÉ ÷ÁÛÁ <a href='$2'> ËÏÎÆÉÇÕÒÁÃÉÑ ÍÏÄÕÌÑ FTP óÅÒ×ÅÒÁ</a> ÎÅËÏÒÒÅËÔÎÁ. 
index_apply=ðÒÉÎÑÔØ éÚÍÅÎÅÎÉÑ
index_applymsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÁËÔÉ×ÉÚÁÃÉÉ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ. ðÒÉ ÜÔÏÍ ÂÕÄÕÔ ÒÅÓÔÁÒÔÏ×ÁÎÙ ×ÓÅ ÒÁÂÏÔÁÀÝÉÅ ÐÒÏÃÅÓÓÙ FTP ÓÅÒ×ÅÒÁ É ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ ÂÕÄÕÔ ÏÔËÌÀÞÅÎÙ ×ÓÅ ÐÏÄÓÏÅÄÉÎÅÎÎÙÅ ÐÏÌØÚÏ×ÁÔÅÌÉ.
index_start=óÔÁÒÔÏ×ÁÔØ óÅÒ×ÅÒ
index_startmsg=îÁÖÍÉÔÅ ÎÁ ÜÔÕ ËÎÏÐËÕ ÄÌÑ ÓÔÁÒÔÁ FTP ÓÅÒ×ÅÒÁ ÉÓÐÏÌØÚÕÑ ÔÅËÕÝÕÀ ËÏÎÆÉÇÕÒÁÃÉÀ. ÷Ù ÔÁËÖÅ ÍÏÖÅÔÅ ÎÁÓÔÒÏÉÔØ ÓÅÒ×ÅÒ ÎÁ Á×ÔÏÍÁÔÉÞÅÓËÉÊ ÓÔÁÒÔ ÐÏ ÚÁÐÒÏÓÕ ÉÓÐÏÌØÚÕÑ ÍÏÄÕÌØ <a href='$1'>óÅÒ×ÉÓÙ Internet</a>.
index_return=ÐÁÒÁÍÅÔÒÙ FTP ÓÅÒ×ÅÒÁ

class_title=ðÏÌØÚÏ×ÁÔÅÌÉ É ëÌÁÓÓÙ
class_header=ëÌÁÓÓÙ É ÐÁÒÁÍÅÔÒÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
class_class=ëÌÁÓÓÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
class_name=éÍÑ ËÌÁÓÓÁ
class_types=ôÉÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
class_addrs=óÏÏÔ×ÅÔÓÔ×ÉÅ ÁÄÒÅÓÁÍ
class_real=Unix
class_guest=Guest
class_anonymous=Anonymous
class_guestuser=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ É UIDÙ ÔÒÁËÔÕÅÍÙÅ ËÁË guest
class_guestgroup=Unix ÇÒÕÐÐÙ É GIDÙ ÔÒÁËÔÕÅÍÙÅ ËÁË guest 
class_realuser=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ É UIDÙ <i>ÎÅ</i> ÔÒÁËÔÕÅÍÙÅ ËÁË guest 
class_realgroup=Unix ÇÒÕÐÐÙ É GIDÙ <i>ÎÅ</i> ÔÒÁËÔÕÅÍÙÅ ËÁË guest
class_ftpusers=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ - ÚÁÐÒÅÝÅÎÎÙÅ (ÉÚ $1)
class_deny_uid=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ É UIDÙ - ÚÁÐÒÅÝÅÎÎÙÅ
class_deny_gid=Unix ÇÒÕÐÐÙ É GIDÙ - ÚÁÐÒÅÝÅÎÎÙÅ
class_allow_uid=Unix ÐÏÌØÚÏ×ÁÔÅÌÉ É UIDÙ - <i>ÎÅ</i> ÚÁÐÒÅÝÅÎÎÙÅ 
class_allow_gid=Unix ÇÒÕÐÐÙ É GIDÙ - <i>ÎÅ</i> ÚÁÐÒÅÝÅÎÎÙÅ
class_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ËÌÁÓÓÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ
class_eclass='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ËÌÁÓÓÁ
class_etypes=îÅ ×ÙÂÒÁÎÙ ÔÉÐÙ ÄÌÑ ËÌÁÓÓÁ '$1'
class_eaddrs=îÅ ××ÅÄÅÎÙ ÁÄÒÅÓÁ ÄÌÑ ËÌÁÓÓÁ '$1'

message_title=óÏÏÂÝÅÎÉÑ É ðÒÉ×ÅÔÓÔ×ÉÑ
message_header=óÏÏÂÝÅÎÉÑ, ÐÒÉ×ÅÔÓÔ×ÉÑ É ÆÁÊÌÙ README
message_message=æÁÊÌÙ ÓÏÏÂÝÅÎÉÊ
message_path=ðÕÔØ
message_when=ëÏÇÄÁ ÐÏËÁÚÙ×ÁÔØ
message_login=ðÒÉ ÒÅÇÉÓÔÒÁÃÉÉ
message_dir=ðÒÉ ×ÈÏÄÅ × ËÁÔÁÌÏÇ
message_alldir=ðÒÉ ×ÈÏÄÅ × ÌÀÂÏÊ ËÁÔÁÌÏÇ
message_classes=ëÌÁÓÓÙ ÄÌÑ ËÏÔÏÒÙÈ ÐÏËÁÚÙ×ÁÔØ
message_readme=æÁÊÌÙ README
message_update=ëÏÇÄÁ ÐÏËÁÚÙ×ÁÔØ ÄÁÔÕ ÐÏÓÌÅÄÎÅÊ ÍÏÄÉÆÉËÁÃÉÉ
message_greeting=õÒÏ×ÅÎØ ÐÒÉ×ÅÔÓÔ×ÉÑ
message_full=éÍÑ ÈÏÓÔÁ É ×ÅÒÓÉÑ
message_brief=éÍÑ ÈÏÓÔÁ
message_terse=îÉÞÅÇÏ
message_banner=äÏÒÅÇÉÓÔÒÁÃÉÏÎÎÏÅ ÓÏÏÂÝÅÎÉÅ
message_none=îÅÔ
message_file=éÚ ÆÁÊÌÁ
message_hostdef=óÉÓÔÅÍÎÏÅ ÉÍÑ ÈÏÓÔÁ
message_hostname=éÍÑ ÈÏÓÔÁ ÄÌÑ ÓÏÏÂÝÅÎÉÊ
message_email=ðÏÞÔÏ×ÙÊ ÁÄÒÅÓ ×ÌÁÄÅÌØÃÁ
message_err=ïÝÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÓÏÏÂÝÅÎÉÊ É ÐÒÉ×ÅÔÓÔ×ÉÊ
message_epath='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÕÔÅÍ
message_cwd='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÁÔÁÌÏÇÏÍ
message_eclass=ëÌÁÓÓ '$1' ÎÅ ÓÕÝÅÓÔ×ÕÅÔ
message_ebanner='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÒÅÇÉÓÔÒÁÃÉÏÎÎÏÇÏ ÓÏÏÂÝÅÎÉÑ
message_ehostname=ïÔÓÕÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÎÏÅ ÉÍÑ ÈÏÓÔÁ
message_eemail=ïÔÓÕÓÔ×ÕÅÔ ÉÌÉ ÎÅ×ÅÒÅÎ ÐÏÞÔÏ×ÙÊ ÁÄÒÅÓ

acl_title=ïÇÒÁÎÉÞÅÎÉÑ É ëÏÎÔÒÏÌØ äÏÓÔÕÐÁ
acl_header=ïÇÒÁÎÉÞÅÎÉÑ É ÐÁÒÁÍÅÔÒÙ ËÏÎÔÒÏÌÑ ÄÏÓÔÕÐÁ
acl_deny=úÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ó
acl_daddrs=úÁÐÒÅÔÉÔØ Ó ÁÄÒÅÓÁ
acl_dmsg=æÁÊÌ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ
acl_file=ïÇÒÁÎÉÞÅÎÉÑ ÄÌÑ ÆÁÊÌÏ× É ÐÅÒÅÄÁÞÉ ÄÁÎÎÙÈ
acl_fblimit=ôÉÐ ÏÇÒÁÎÉÞÅÎÉÑ
acl_flimit=æÁÊÌÏ× ÎÁ ÓÅÓÓÉÀ
acl_blimit=âÁÊÔ ÎÁ ÓÅÓÓÉÀ
acl_raw=ôÏÌØËÏ ÄÁÎÎÙÅ?
acl_inout=îÁÐÒÁ×ÌÅÎÉÅ
acl_in=÷ÈÏÄ.
acl_out=÷ÙÈ.
acl_total=ïÂÁ
acl_count=íÁËÓÉÍÁÌØÎÏ
acl_class=ðÒÉÍÅÎÉÔØ Ë ËÌÁÓÓÕ
acl_all=÷ÓÅÍ ËÌÁÓÓÁÍ
acl_limit=ïÇÒÁÎÉÞÅÎÉÑ ÐÁÒÁÌÅÌÌÉÚÍÁ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_n=íÁËÓÉÍÁÌØÎÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_times=÷Ï ×ÒÅÍÑ
acl_lmsg=æÁÊÌ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ
acl_unlimited=îÅÏÇÒÁÎÉÞÅÎÏ
acl_any=÷ ÌÀÂÏÅ ×ÒÅÍÑ
acl_alimit=ïÇÒÁÎÉÞÅÎÉÑ ÁÎÏÎÉÍÎÙÈ ÓÅÓÓÉÊ
acl_glimit=ïÇÒÁÎÉÞÅÎÉÑ Guest ÓÅÓÓÉÊ
acl_mins=ÍÉÎÕÔ
acl_fails=íÁËÓÉÍÕÍ ÏÛÉÂÏË ÐÒÉ ÒÅÇÉÓÒÁÃÉÉ
acl_private=íÏÖÎÏ ÐÅÒÅËÌÀÞÁÔØ ÇÒÕÐÐÙ?
acl_noret=úÁÐÒÅÔÉÔØ ÄÏÓÔÕÐ Ë ÆÁÊÌÁÍ
acl_nfiles=úÁÐÒÅÝÅÎÎÙÅ ÆÁÊÌÙ
acl_nrel=ïÔÎÏÓÉÔÅÌØÎÏ Ë chroot?
acl_nclass=úÁÐÒÅÔ ÄÌÑ ËÌÁÓÓÏ×
acl_allowret=òÁÚÒÅÛÉÔØ ÄÏÓÔÕÐ Ë ÆÁÊÌÏÍ ÄÁÖÅ ÅÓÌÉ ÏÎ ÚÁÐÒÅÝÅÎ
acl_afiles=òÁÚÒÅÛÅÎÎÙÅ ÆÁÊÌÙ
acl_arel=ïÔÎÏÓÉÔÅÌØÎÏ Ë chroot?
acl_aclass=òÁÚÒÅÛÅÎÉÅ ÄÌÑ ËÌÁÓÓÏ×
acl_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÏÇÒÁÎÉÞÅÎÉÊ É ËÏÎÔÒÏÌÑ ÄÏÓÔÕÐÁ
acl_edaddr='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ
acl_edfile='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÎÙÍ ÆÁÊÌÏÍ
acl_edmsg='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ
acl_eln='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÍÁËÓÉÍÁÌØÎÙÍ ËÏÌ-×ÏÍ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
acl_etimes='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ×ÒÅÍÅÎÎÙÍ ÄÉÁÐÁÚÏÎÏÍ × ÓÔÉÌÅ UUCP
acl_elmsg='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ 
acl_efbcount='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ÆÁÊÌÏ× ÉÌÉ ÂÁÊÔ
acl_elimit='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÏÇÒÁÎÉÞÅÎÉÅÍ ×ÒÅÍÅÎÉ
acl_efails='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ÏÛÉÂÏË ÒÅÇÉÓÔÒÁÃÉÉ

net_title=óÅÔØ
net_header=óÅÔÅ×ÙÅ ÐÁÒÁÍÅÔÒÙ
net_tcp=òÁÚÍÅÒ ÏËÎÁ TCP
net_tsize=òÁÚÍÅÒ
net_tclass=äÌÑ ËÌÁÓÓÁ
net_tall=÷ÓÅÈ ËÌÁÓÓÏ×
net_pasvaddr=áÄÒÅÓÁ ÄÌÑ PASV ÓÏÅÄÉÎÅÎÉÊ
net_pip=IP ÁÄÒÅÓ
net_pcidr=äÌÑ ËÌÉÅÎÔÏ× ÉÚ ÓÅÔÉ
net_pasvport=ðÏÒÔÙ ÄÌÑ PASV ÓÏÅÄÉÎÅÎÉÊ
net_prange=äÉÁÐÁÚÏÎ ÐÏÒÔÏ×
net_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÓÅÔÅ×ÙÈ ÐÁÒÁÍÅÔÒÏ×
net_etsize='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÒÁÚÍÅÒÏÍ ÏËÎÁ TCP
net_eip='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ IP ÁÄÒÅÓÏÍ
net_enet='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÁÄÒÅÓÏÍ ÓÅÔÉ
net_ecidr='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÏÌ-×ÏÍ ÓÅÔÅ×ÙÈ ÂÉÔÏ×
net_eport='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÎÏÍÅÒÏÍ ÐÏÒÔÁ

log_title=öÕÒÎÁÌÉÚÁÃÉÑ
log_header=ðÁÒÁÍÅÔÒÙ ÖÕÒÎÁÌÉÚÁÃÉÉ
log_commands=öÕÒÎÁÌÉÒÏ×ÁÔØ ×ÓÅ ËÏÍÁÎÄÙ ÄÌÑ
log_anonymous=ðÏÌØÚÏ×ÁÔÅÌÅÊ Anonymous
log_guest=ðÏÌØÚÏ×ÁÔÅÌÅÊ Guest
log_real=ðÏÌØÚÏ×ÁÔÅÌÅÊ Unix
log_trans=öÕÒÎÁÌÉÒÏ×ÁÔØ ÐÅÒÅÓÙÌËÉ ÄÌÑ
log_dir=îÁÐÒÁ×ÌÅÎÉÊ
log_inbound=÷ÈÏÄÑÝÅÇÏ
log_outbound=éÓÈÏÄÑÝÅÇÏ
log_both=ïÂÏÉÈ
log_security=öÕÒÎÁÌÉÒÏ×ÁÔØ ÎÁÒÕÛÅÎÉÑ ÂÅÚÏÐÁÓÎÏÓÔÉ ÄÌÑ
log_to=îÁÐÒÁ×ÌÑÔØ ÖÕÒÎÁÌÙ ×
log_syslog=óÉÓÔÅÍÎÙÊ ÖÕÒÎÁÌ
log_xferlog=öÕÒÎÁÌÎÙÊ XFER ÆÁÊÌ
log_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÖÕÒÎÁÌÉÒÏ×ÁÎÉÑ

alias_title=ðÓÅ×ÄÏÎÉÍÙ É ðÕÔÉ
alias_header=ðÁÒÁÍÅÔÒÙ ÐÓÅ×ÄÏÎÉÍÏ× É ÐÕÔÅÊ
alias_alias=ðÓÅ×ÄÏÎÉÍÙ ËÁÔÁÌÏÇÏ× ÄÌÑ ËÏÍÁÎÄÙ CD
alias_from=éÍÑ ÐÓÅ×ÄÏÎÉÍÁ
alias_to=ðÓÅ×ÄÏÎÉÍ ÄÌÑ ËÁÔÁÌÏÇÁ
alias_cdpath=ðÕÔØ ÐÏÉÓËÁ ËÁÔÁÌÏÇÏ× ÄÌÑ ËÏÍÁÎÄÙ CD
alias_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÓÅ×ÄÏÎÉÍÏ× É ÐÕÔÅÊ
alias_efrom='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÉÍÅÎÅÍ ÐÓÅ×ÄÏÎÉÍÁ
alias_eto='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÁÔÁÌÏÇÏÍ ÐÓÅ×ÄÏÎÉÍÁ
alias_ecdpath='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÐÏÉÓËÏ×ÙÍ ËÁÔÁÌÏÇÏÍ ËÏÍÁÎÄÙ CD

anon_title=áÎÏÎÉÍÎÙÊ FTP
anon_eftp=÷ÎÉÍÁÎÉÅ - ÎÁ ×ÁÛÅÊ ÓÉÓÔÅÍÅ ÎÅÔ ÐÏÌØÚÏ×ÁÔÅÌÑ <tt>ftp</tt>, ÔÁËÉÍ ÏÂÒÁÚÏÍ ÁÎÏÎÉÍÎÙÊ FTP ×ÏÚÍÏÖÎÏ ÎÅ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÎ.
anon_header=ðÁÒÁÍÅÔÒÙ ÁÎÏÎÉÍÎÏÇÏ FTP
anon_auto=çÒÕÐÐÙ Unix ÄÌÑ ÁÎÏÎÉÍÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
anon_group=ðÅÒÅËÌÀÞÉÔØÓÑ ÎÁ ÇÒÕÐÐÕ
anon_classes=äÌÑ ËÌÁÓÓÏ×
anon_root=ëÏÒÎÅ×ÙÅ ËÁÔÁÌÏÇÉ ÁÎÏÎÉÍÎÏÇÏ FTP
anon_dir=ëÁÔÁÌÏÇ
anon_class=äÌÑ ËÌÁÓÓÁ
anon_any=ìÀÂÏÇÏ
anon_passwd=ðÒÏ×ÅÒËÁ ÁÎÏÎÉÍÎÏÇÏ FTP ÐÁÒÏÌÑ
anon_none=÷ÏÚÍÏÖÅÎ ÐÒÏÉÚ×ÏÌØÎÙÊ
anon_trivial=äÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ @
anon_rfc822=äÏÌÖÅÎ ÂÙÔØ RFC822 ÐÏÞÔÏ×ÙÍ ÁÄÒÅÓÏÍ
anon_enforce=úÁÐÒÅÔÉÔØ ÒÅÇÉÓÔÒÁÃÉÀ
anon_warn=ôÏÌØËÏ ÐÒÅÄÕÐÒÅÄÉÔØ
anon_email=úÁÐÒÅÝÅÎÎÙÅ ÁÎÏÎÉÍÎÙÅ FTP ÐÁÒÏÌÉ
anon_groot=ëÏÒÎÅ×ÙÅ ËÁÔÁÌÏÇÉ ÄÌÑ Guest
anon_uids=äÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ Unix
anon_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÁÒÁÍÅÔÒÏ× ÁÎÏÎÉÍÎÏÇÏ FTP
anon_edir='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ËÁÔÁÌÏÇÏÍ
anon_egroup='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ ÇÒÕÐÐÏÊ

perm_title=ðÒÁ×Á
perm_header=ðÁÒÁÍÅÔÒÙ ÐÒÁ×
perm_perms=ïÇÒÁÎÉÞÅÎÉÑ ËÏÍÁÎÄ
perm_type=ëÏÍÁÎÄÁ
perm_can=òÁÚÒÅÛÉÔØ?
perm_users=äÌÑ ÔÉÐÏ× ÐÏÌØÚÏ×ÁÔÅÌÅÊ
perm_classes=äÌÑ ËÌÁÓÓÏ×
perm_all=÷ÓÅÈ
perm_anonymous=Anonymous
perm_guest=Guest
perm_real=Unix
perm_note=ðÏ ÕÏÌÞÁÎÉÀ, ×ÓÅ ËÏÍÁÎÄÙ ÒÁÚÒÅÛÅÎÙ ÄÌÑ ×ÓÅÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
perm_filter=úÁÐÒÅÛÅÎÎÙÅ ÉÍÅÎÁ ÆÁÊÌÏ× ÄÌÑ ÚÁÇÒÕÚËÉ
perm_types=ôÉÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
perm_mesg=æÁÊÌ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ
perm_char=òÁÚÒÅÛÅÎÎÙÅ ÓÉÍ×ÏÌÙ
perm_regexp=òÅÇ. ×ÙÒ. ÚÁÐÒÅÝÅÎÎÙÈ ÉÍÅÎ ÆÁÊÌÏ×
perm_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÁ×
perm_echar='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍÉ ÓÉÍ×ÏÌÁÍÉ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ
perm_etypes=îÅ ×ÙÂÒÁÎÙ ÔÉÐÙ ÐÏÌØÚÏ×ÁÔÅÌÅÊ
perm_emesg='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÆÁÊÌÏÍ ÓÏÏÂÝÅÎÉÊ ÏÂ ÏÛÉÂËÁÈ

host_title=ëÏÎÔÏÒÏÌØ ÚÁ äÏÓÔÕÐÏÍ èÏÓÔÏ×

misc_title=ðÒÏÞÉÅ ðÁÒÁÍÅÔÒÙ
misc_header=ðÒÏÞÉÅ ÐÁÒÁÍÅÔÒÙ
misc_lslong=ëÏÍÁÎÄÁ ÄÌÑ ÐÏÄÒÏÂÎÏÇÏ ÌÉÓÔÉÎÇÁ ÆÁÊÌÏ×
misc_lsshort=ëÏÍÁÎÄÁ ÄÌÑ ÓÏËÒÁÝÅÎÎÏÇÏ ÌÉÓÔÉÎÇÁ ÆÁÊÌÏ×
misc_lsplain=ëÏÍÁÎÄÁ ÄÌÑ ÌÉÎÅÊÎÏÇÏ ÌÉÓÔÉÎÇÁ ÆÁÊÌÏ×
misc_shutdown=æÁÊÌ Ó Õ×ÅÄÏÍÌÅÎÉÅÍ ÏÂ ÏÔËÌÀÞÅÎÉÉ
misc_none=îÅÔ
misc_nice=õÒÏ×ÅÎØ ÐÒÉÏÒÉÔÅÔÁ ÓÅÒ×ÉÓÎÏÇÏ ÐÒÏÃÅÓÓÁ
misc_ndelta=õÒÏ×ÅÎØ ÐÒÉÏÒÉÔÅÔÁ
misc_class=äÌÑ ËÌÁÓÓÏ×
misc_all=÷ÓÅÈ ËÌÁÓÓÏ×
misc_defumask=íÁÓËÁ umask ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÚÁÇÒÕÖÁÅÍÙÈ ÆÁÊÌÏ×
misc_umask=Umask
misc_err=ïÛÉÂËÁ ÐÒÉ ÓÏÈÒÁÎÅÎÉÉ ÐÒÏÞÉÈ ÐÁÒÁÍÅÔÒÏ×
misc_elslong=ïÔÓÕÔÓÔ×ÕÅÔ ËÏÍÁÎÄÁ ÄÌÑ ÐÏÄÒÏÂÎÏÇÏ ÌÉÓÔÉÎÇÁ
misc_elsshort=ïÔÓÕÔÓÔ×ÕÅÔ ËÏÍÁÎÄÁ ÄÌÑ ÓÏËÒÁÝÅÎÎÏÇÏ ÌÉÓÔÉÎÇÁ
misc_elsplain=ïÔÓÕÔÓÔ×ÕÅÔ ËÏÍÁÎÄÁ ÄÌÑ ÌÉÎÅÊÎÏÇÏ ÌÉÓÔÉÎÇÁ
misc_eshutdown=ïÔÓÕÔÓÔ×ÕÅÔ ÆÁÊÌ Ó Õ×ÅÄÏÍÌÅÎÉÅÍ ÏÂ ÏÔËÌÀÞÅÎÉÉ
misc_enice='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÙÍ ÕÒÏ×ÎÅÍ ÐÒÉÏÒÉÔÅÔÁ
misc_eumask='$1' ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÐÕÓÔÉÍÏÊ umask
0707010006669c000081a40000000000000002000000013d1fe2da00002478000000200000000000000000000000000000001500000003reloc/wuftpd/lang/sv  index_title=FTP-server
index_eftpd=FTP-server $1 finns inte på ditt system. Den kanske inte är installerad, eller också är dina <a href='$2'>inställningar för FTP-servermodulen</a> felaktiga.
index_eftpaccess=Inställningsfilen $1 för FTP-servern finns inte.  Den kanske inte är installerad, eller också är dina <a href='$2'>inställningar för FTP-servermodulen</a> felaktiga.
index_eversion=FTP-server $1 verkar inte vara WU-FTPd. Du kanske kör en äldre FTPd som hör till ditt operativsystem, eller också är dina <a href='$2'>inställningar för FTP-servermodulen</a> felaktiga.
index_apply=Genomför ändringar
index_applymsg=Tryck på denna knapp för att inställningarna ska tas i drift. Alla FTP-serverprocesser kommer att stannas och startas om, vilket kopplar ner alla användare.
index_start=Starta server
index_startmsg=Tryck på denna knapp för att starta FTP-servern med dessa inställningar. Du kan också ställa in servern att starta automatiskt när det behövs genom att använda modulen <a href='$1'>Internettjänster</a>.
index_startmsg2=Tryck på denna knapp för att starta FTP-servern med dessa inställningar. Du kan också ställa in servern att starta automatiskt när det behövs genom att använda inetd eller motsvarande program.
index_return=inställningar för FTP-server

class_title=Användare och klasser
class_header=Användarklasser och -inställningar
class_class=Användarklasser
class_name=Klassnamn
class_types=Användartyper
class_addrs=Stämmer med adress(er)
class_real=Unix
class_guest=Gäst
class_anonymous=Anonym
class_guestuser=Unix-användare och UID som ska behandlas som gäster
class_guestgroup=Unix-grupper och GID som ska behandlas som gäster
class_realuser=Unix-användare och UID som <i>inte</i> ska behandlas som gäster
class_realgroup=Unix-grupper och GID som <i>inte</i> ska behandlas som gäster
class_ftpusers=Unix-användare som ska nekas åtkomst (från $1)
class_deny_uid=Unix-användare och UID som ska nekas åtkomst
class_deny_gid=Unix-grupper och GID som ska nekas åtkomst
class_allow_uid=Unix-användare och UID som <i>inte</i> ska nekas åtkomst
class_allow_gid=Unix-grupper och GID som <i>inte</i> ska nekas åtkomst
class_err=Det gick inte att spara användarklasser
class_eclass='$1' är inte ett giltigt klassnamn
class_etypes=Du har inte angivit någon typ för klass '$1'
class_eaddrs=Du har inte angivit någon adress för klass '$1'

message_title=Meddelanden
message_header=Meddelanden och README-filer
message_message=Meddelandefiler
message_path=Sökväg
message_when=Visas när?
message_login=Vid inloggning
message_dir=När man går till katalog
message_alldir=När man går till en katalog
message_classes=Klasser som ska se meddelandet
message_readme=README-filer
message_update=När ska ändringsdatum visas?
message_greeting=Greeting-nivå
message_full=Datornamn och version
message_brief=Datornamn
message_terse=Ingen
message_banner=Meddelande före inloggning
message_none=Inget
message_file=Från fil
message_hostdef=Systemdatornamn
message_hostname=Dator som meddelanden finns på
message_email=Ägarens e-postadress
message_err=Det gick inte att spara meddelanden
message_epath='$1' är inte en giltig sökväg
message_cwd='$1' är inte en giltig katalog
message_eclass=Klass '$1' finns inte
message_ebanner='$1' är inte en giltig fil med inloggningsmeddelande
message_ehostname=Datornamn saknas eller är felaktigt angivet
message_eemail=E-postadress saknas eller är felaktigt angiven

acl_title=Begränsningar och åtkomstkontroll
acl_header=Inställningar av begränsningar och åtkomstkontroll
acl_deny=Neka åtkomst från
acl_daddrs=Neka från adress
acl_dmsg=Felmeddelandefil
acl_file=Begränsningar för fil- och dataöverföring
acl_fblimit=Begränsningstyp
acl_flimit=Filer per session
acl_blimit=Bytes per session
acl_raw=Endast data?
acl_inout=Riktning
acl_in=In
acl_out=Ut
acl_total=Båda
acl_count=Maximum
acl_class=Gäller för klass
acl_all=Alla
acl_limit=Begränsning av antal samtidiga användare
acl_n=Maximalt antal samtidiga användare
acl_times=Vid tidpunkter
acl_lmsg=Felmeddelandefil
acl_unlimited=Obegränsat
acl_any=När som helst
acl_alimit=Begränsning för anonym session
acl_glimit=Begränsning för gästsession
acl_mins=minuter
acl_fails=Maximalt antal misslyckade inloggningsförsök
acl_private=Kunna byta grupp?
acl_noret=Förbjud åtkomst till filer
acl_nfiles=Filer som spärras
acl_nrel=Relativt chroot?
acl_nclass=Förbjud för klasserna
acl_allowret=Tillåt åtkomst till filer även om nekad
acl_afiles=Tillåtna filer
acl_arel=Relativt chroot?
acl_aclass=Tillåt för klasserna
acl_err=Det gick inte att spara begränsningar och åtkomstkontroll
acl_edaddr='$1' är inte en giltig adress
acl_edfile='$1' är inte en giltig adressfil
acl_edmsg='$1' är inte en giltig felmeddelandefil
acl_eln='$1' är inte ett giltigt antal användare
acl_etimes='$1' är inte ett giltigt UUCP-tidsintervall
acl_elmsg='$1' är inte en giltig felmeddelandefil
acl_efbcount='$1' är inte ett giltigt antal filer eller bytes
acl_elimit='$1' är inte en giltig tidsbegränsning
acl_efails='$1' är inte ett giltigt antal inloggningsförsök

net_title=Nätverk
net_header=Inställningar för nätverk
net_tcp=Storlek på TCP-fönster
net_tsize=Storlek
net_tclass=För klass
net_tall=Alla klasser
net_pasvaddr=Adresser för PASV-uppkopplingar
net_pip=IP-adress
net_pcidr=För klienter från nätverk
net_pasvport=Portar för PASV-uppkopplingar
net_prange=Portintervall
net_err=Det gick inte att spara nätverksinställningarna
net_etsize='$1' är inte en giltig TCP-fönsterstorlek
net_eip='$1' är inte en giltig IP-adress
net_enet='$1' är inte en giltig nätverksadress
net_ecidr='$1' är inte ett giltigt antal nätverksbitar
net_eport='$1' är inte ett giltigt portnummer

log_title=Loggning
log_header=Inställningar för loggning
log_commands=Logga alla kommandon för
log_anonymous=Anonyma användare
log_guest=Gästanvändare
log_real=Unix-användare
log_trans=Logga överföringar för
log_dir=I riktning
log_inbound=Inåt
log_outbound=Utåt
log_both=Båda
log_security=Logga säkerhetsöverträdelser för
log_to=Logga överföringar till
log_syslog=Systemlogg
log_xferlog=XFER-loggfil
log_err=Det gick inte att spara loggningsinställningarna

alias_title=Alias och sökvägar
alias_header=Inställningar för Alias och sökvägar
alias_alias=Alias för cd-katalog
alias_from=Namn på alias
alias_to=Alias för katalog
alias_cdpath=Sökväg för cd-katalog
alias_err=Det gick inte att spara alias och sökvägar
alias_efrom='$1' är inte ett giltigt aliasnamn
alias_eto='$1' är inte en giltig aliaskatalog
alias_ecdpath='$1' är inte en giltig cd-katalog

anon_title=Anonym FTP
anon_eftp=Varning! Systemet har ingen <tt>ftp</tt>-användare, vilket betyder att anonym FTP troligen inte har ställts in.
anon_header=Inställningar för anonym FTP
anon_auto=Unix-grupper för anonyma användare
anon_group=Byt till grupp
anon_classes=För klasserna
anon_root=Rotkataloger för anonym FTP
anon_dir=Katalog
anon_class=För klass
anon_any=Alla
anon_passwd=Lösenord för anonym FTP
anon_none=Tillåt allt
anon_trivial=Måste innehålla ett @
anon_rfc822=Måste vara en RFC822-e-postadress
anon_enforce=Förbjud inloggning
anon_warn=Varna endast
anon_email=Förbjudna lösenord för anonym FTP
anon_groot=Rotkataloger för gäster
anon_uids=För Unix-användare
anon_err=Det gick inte att spara inställningarna för anonym FTP
anon_edir='$1' är inte en giltig katalog
anon_egroup='$1' är inte en giltig grupp

perm_title=Rättigheter
perm_header=Inställningar för rättigheter
perm_perms=Begränsningar av kommandon
perm_type=Kommando
perm_can=Tillåt?
perm_users=För användartyper
perm_classes=För klasser
perm_all=Alla
perm_anonymous=Anonym
perm_guest=Gäst
perm_real=Unix
perm_note=Standardinställningen är att alla kommandon är tillåtna för alla användare
perm_filter=Förbjudna filnamn för nedladdade filer
perm_types=Användartyper
perm_mesg=Felmeddelandefil
perm_char=Tillåtna tecken
perm_regexp=Reguljära uttryck för förbjudna filer
perm_err=Det gick inte att spara rättigheter
perm_echar='$1' är inte en giltig teckenuppsättning
perm_etypes=Du har inte angivit någon användartyp
perm_emesg='$1' är inte en giltig felmeddelandefil

host_title=Åtkomstkontroll för datorer

misc_title=Blandade inställningar
misc_header=Blandade inställningar
misc_lslong=Kommando för lång listning
misc_lsshort=Kommando för kort listning
misc_lsplain=Kommando för normal listning
misc_shutdown=Fil för avstängningsmeddelanden
misc_none=Ingen
misc_nice=Nice-nivå för tjänsteprocess
misc_ndelta=Nice-nivå
misc_class=För klasserna
misc_all=Alla
misc_defumask=Standard-umask för nedladdade filer
misc_umask=Umask
misc_err=Det gick inte att spara blandade inställningar
misc_elslong=Du har inte angivit något kommando för lång listning
misc_elsshort=Du har inte angivit något kommando för kort listning
misc_elsplain=Du har inte angivit något kommando för normal listning
misc_eshutdown=Du har inte angivit någon fil för avstängningsmeddelanden
misc_enice='$1' är inte en giltig nice-nivå
misc_eumask='$1' är inte en giltig umask

log_class=Ändrade användare och klasser
log_message=Ändrade meddelanden
log_acl=Ändrade begränsningar och åtkomstkontroll
log_net=Ändrade nätverksinställningarna
log_log=Ändrade loggningsinställningarna
log_alias=Ändrade alias och sökvägar
log_anon=Ändrade anonym FTP
log_perm=Ändrade inställningarna för rättigheter
log_misc=Ändrade blandade inställningar
log_restart=Tog ändringar i drift
log_start=Startade FTP-server
0707010006669d000081a40000000000000002000000013d1fe2da000023ef000000200000000000000000000000000000001500000003reloc/wuftpd/lang/tr  index_title=FTP Sunucusu
index_eftpd=FTP sunucusu $1 sisteminizde bulunamadý. Kurulmamýþ ya da <a href='$2'>FTP Sunucusu Modül Yapýlandýrmasý</a> yanlýþ olabilir
index_eftpaccess=FTP sunucusu yapýlandýrma dosyasý $1 mevcut deðil.  Kurulmamýþ ya da <a href='$2'>FTP Sunucusu Modül Yapýlandýrmasý</a> yanlýþ olabilir
index_eversion=FTP sunucusu $1 WU-FTPd gibi görünmüyor. Ýþletim sisteminizin sunduðu daha eski bir FTPd kullanýyor olabilirsiniz ya da <a href='$2'>FTP Sunucusu Modül Yapýlandýrmasý</a>  yanlýþ olabilir.
index_apply=Deðiþiklikleri Uygula
index_applymsg=Bu butonu týklayarak mevcut yapýlandýrmayý uygulayabilirsiniz. Bu ftp sunucusunu yeniden durdurup baþlatacaktýr ve bu arada sisteminize baðlý kullanýcýlarýn baðlantýlarý kesilecektir.
index_start=Sunucuyu Baþlat
index_startmsg=Bu butonu týklayarak FTP sunucunu mevcut yapýlandýrma ile baþlatabilirsiniz. FTP sunucunuzun açýlýþta otomatik olarak baþlamasýný istiyorsanýz <a href='$1'>Internet Servisleri</a> modülünü kullanmalýsýnýz.
index_return=FTP sunucusu seçenekleri

class_title=Kullanýcý ve Sýnýflar
class_header=Kullanýcý sýnýflarý ve kullanýcý seçenekleri
class_class=Kullanýcý sýnýflarý
class_name=Sýnýf Ýsmi
class_types=Kullanýcý tipleri
class_addrs=Karþýlaþtýrýlan adresler
class_real=Unix
class_guest=ziyaretçi
class_anonymous=Anonymous
class_guestuser=Unix kullanýcýlarý ve UID'leri ziyaretçi olarak davransýn
class_guestgroup=Unix gruplarý ve GID'leri ziyaretçi olarak davransýn
class_realuser=Unix kullanýcý ve UID'leri ziyaretçi olarak <i>davranmasýn</i>
class_realgroup=Unix gruplarý ve GID'leri ziyaretçi olarak <i>davranmasýn</i>
class_ftpusers=Reddedilecek Unix kullanýcýlarý ($1'den)
class_deny_uid=Reddedilecek Unix kullanýcýlarý ve UID'leri
class_deny_gid=Reddedilecek Unix gruplarý ve GID'leri
class_allow_uid=<i>Reddedilmeyecek</i> Unix kullanýcýlarý ve UID'leri
class_allow_gid=<i>Reddedilmeyecek</i> Unix gruplarý ve GID'leri
class_err=Kullanýcý sýnýflarýnýn kaydedilmesinde hata oluþtu
class_eclass='$1' geçerli bir sýnýf ismi deðil
class_etypes='$1' sýnýfý için tip seçilmedi
class_eaddrs='$1' sýnýfý için adres girilmedi

message_title=Mesajlar ve Giriþ Baþlýðý
message_header=Mesajlar, giriþ baþlýklarý ve README dosyalarý
message_message=Mesaj dosyalarý
message_path=Yolu
message_when=Görüntüleme zamaný
message_login=Giriþte
message_dir=Dizine giriþte
message_alldir=Bütün dizinlere giriþlerde
message_classes=Görüntülenecek sýnýflar
message_readme=README dosyalarý
message_update=Son deðiþtirilme tarihi gösterilme zamaný
message_greeting=Selamlama seviyesi
message_full=Makine adý ve sürümü
message_brief=Makine adý
message_terse=Ýkisi de deðil
message_banner=Ön-giriþ giriþ baþlýðý
message_none=Hiçbiri
message_file=Dosyadan
message_hostdef=Sistem makine adý
message_hostname=Mesajlar için makine adý
message_email=Sahibinin e-posta adresi
message_err=Mesajlarýn ve giriþ baþlýklarýnýn kaydedilmesinde hata oluþtu
message_epath='$1' geçerli bir yol deðildir
message_cwd='$1' geçerli bir dizin deðildir
message_eclass=Sýnýf '$1' mevcut deðildir
message_ebanner='$1' geçerli bir giriþ baþlýðý dosyasý deðildir
message_ehostname=Kayýp ya da yanlýþ makine adý
message_eemail=Kayýp ya da yanlýþ e-posta adresi

acl_title=Limitler ve Giriþ Kontrolü
acl_header=Limiler ve giriþ kontrol seçenekleri
acl_deny=Buradan giriþleri kabul etme
acl_daddrs=Adreslerden giriþleri kabul etme
acl_dmsg=Hata mesaj dosyasý
acl_file=Dosya ve bilgi transfer limitleri
acl_fblimit=Limit tipi
acl_flimit=Oturum baþýna dosya
acl_blimit=Oturum baþýna byte
acl_raw=Sadece bilgi?
acl_inout=Yönlendirme
acl_in=Ýçeri
acl_out=Dýþarý
acl_total=Ýkisi de
acl_count=En çok
acl_class=Sýnýfa Uygula
acl_all=Bütün sýnýflar
acl_limit=Ayný zamandaki kullanýcý limiti
acl_n=Em çok kullanýcý
acl_times=Zaman
acl_lmsg=Hata mesaj dosyasý
acl_unlimited=Limitsiz
acl_any=Her zaman
acl_alimit=Anonymous oturum limiit
acl_glimit=Ziyaretçi oturum limiti
acl_mins=dakika
acl_fails=En çok giriþ baþarýsýzlýðý
acl_private=Gruplarý deðiþtirebilirsin?
acl_noret=Dosyalara giriþleri izin verme
acl_nfiles=Ýzin verilmeyen dosyalar
acl_nrel=chroot'a baðlý mý?
acl_nclass=Ýzin verilmeyen sýnýflar
acl_allowret=Ýzin verilmese bile dosyalara izin ver
acl_afiles=Ýzin verilen dosyalar
acl_arel=chroot'a baðlý mý?
acl_aclass=Ýzin verilen sýnýflar
acl_err=Limitlerin ve giriþ kontrolünün kaydedilmesinde hata oluþtu
acl_edaddr='$1' geçerli bir adres deðildir
acl_edfile='$1' geçerli bir adres dosyasý deðildir
acl_edmsg='$1' geçerli bir hata mesaj dosyasý deðildir
acl_eln='$1' geçerli bir en çok kullanýcý sayýsý deðildir
acl_etimes='$1' geçerli bir UUCP-stili zaman aralýðý deðildir
acl_elmsg='$1' geçerli bir hata mesaj dosyasý deðildir
acl_efbcount='$1' geçerli bir dosya  ya da byte sayýsý deðildir
acl_elimit='$1' geçerli bir zaman limiti deðildir
acl_efails='$1' geçerli bir giriþ baþarsýzlýðý sayýsý deðildir

net_title=Að
net_header=Að Seçenekleri
net_tcp=TCP window boyutu
net_tsize=Boyut
net_tclass=Sýnýflar için
net_tall=Bütün sýnýflar
net_pasvaddr=PASV baðlantýlarý adresleri
net_pip=IP adresi
net_pcidr=Aðdan istemciler için
net_pasvport=PASV istemcileri portlarý
net_prange=Port aralýðý
net_err=Að seçeneklerinin kaydedilmesinde hata oluþtu
net_etsize='$1' geçerli bir TCP windows boyutu deðildir
net_eip='$1' geçerli bir IP adresi deðildir
net_enet='$1' geçerli bir að adresi deðildir
net_ecidr='$1' geçerli bir network bits numarasý deðildir
net_eport='$1' geçerli bir port numarasý deðildir

log_title=Kayýt Tutma
log_header=Kayýt Tutma Seçenekleri
log_commands=Bütün komutlar için kayýt tut
log_anonymous=Anonymous kullanýcýlarý
log_guest=Misafir kullanýcýlar
log_real=Unix kullanýcýlarý
log_trans=Kayýt transferleri
log_dir=Yönlendirmelerde
log_inbound=Giren
log_outbound=Çýkan
log_both=Ýkisi de
log_security=Güvenlik ihlallerini kyýt tut
log_to=Transferleri kayýt tut
log_syslog=Sistem kaydý
log_xferlog=XFER kayýt dosyasý
log_err=Kayýt tutma seçeneklerinin kaydedilmesinde hata oluþtu

alias_title=Takma Ýsimler ve Yollar
alias_header=Takma isim ve yol seçenekleri
alias_alias=CD dizin takma isimleri
alias_from=Takma isim
alias_to=DÝzin takma ismi
alias_cdpath=CD dizin arama yolu
alias_err=Takma isim ve yollarýn kaydedilmesinde hata oluþtu
alias_efrom='$1' geçerli bir takma isim deðildir
alias_eto='$1' geçerli bir takma isim dizini deðildir
alias_ecdpath='$1' geçerli bir CD arama dizini deðildir

anon_title=Anonymous FTP
anon_eftp=Uyarý! - sisteminiz bir <tt>ftp</tt> kullanýcýsýna sahip deðil, ve anonymous FTP büyük olasýlýkla yapýlandýrýlmadý
anon_header=Anonymous FTP seçenekleri
anon_auto=Anonymous kullanýcýlar için Unix gruplarý
anon_group=Gruba deðiþtir
anon_classes=Sýnýflar için
anon_root=Anonymous FTP root dizinleri
anon_dir=Dizin
anon_class=Sýnýf için
anon_any=Herhangi
anon_passwd=Anonymous FTP parola kontrolü
anon_none=Herþeye izin ver
anon_trivial=@ içermerli
anon_rfc822=RFC822 e-posta adresi
anon_enforce=Giriþe izin verme
anon_warn=Sadece uyar
anon_email=Ýzin verilmeyecek olan anonymous FTP parolalarý
anon_groot=Ziyaretçi dizinleri
anon_uids=Unix kullanýcýlarý için
anon_err=Anonymous FTP seçeneklerinin kaydedilmesinde hata oluþtu
anon_edir='$1' geçerli bir dizin deðildir
anon_egroup='$1' geçerli bir grup deðildir

perm_title=Ýzinler
perm_header=Ýzin Seçenekleri
perm_perms=Komut kýsýtlamalarý
perm_type=Komut
perm_can=Ýzin verilsin?
perm_users=Kullanýcý tipleri için
perm_classes=Sýnýflar için
perm_all=Hepsi
perm_anonymous=Anonymous
perm_guest=Ziyaretçi
perm_real=Unix
perm_note=Ön tanýmlý olarak, bütün kullanýcýlara bütün komutlarý izin ver
perm_filter=Reddedilen upload dosya isimleri
perm_types=Kullanýcý tipleri
perm_mesg=Hata mesaj dosyasý
perm_char=Ýzin verilen karakterler
perm_regexp=Ýzin verilmeyen dosya düzenleme ifadeleri
perm_err=Ýzinlerin kaydedilmesinde hata oluþtu
perm_echar='$1' düzenleme ifadelerini oluþturmak için geçerli bir karakter deðildir
perm_etypes=Kullanýcý tipleri seçilmedi
perm_emesg='$1' geçerli bir hata mesajý deðildir

host_title=Makine Giriþ Kontrolü

misc_title=Çeþitli Seçenekler
misc_header=Çerþitli seçenekler
misc_lslong=Uzun listeme komutu
misc_lsshort=Kýsa listeleme komutu
misc_lsplain=Açýk listeleme komutu
misc_shutdown=Kapatma bildirim dosyasý
misc_none=Hiçbiri
misc_nice=Ýyileþtirme seviyesi servis iþlemi
misc_ndelta=Ýyileþtirme seviyesi
misc_class=Sýnýflar için
misc_all=Bütün sýnýflar
misc_defumask=Yüklenen dosyalar için öntanýmlý umask
misc_umask=Umask
misc_err=Çeþitli seçeneklerin kaydedilmesinde hata oluþtu
misc_elslong=Uzun listeleme komutu bulunamadý
misc_elsshort=Kýsa listeleme komutu bulunamadý
misc_elsplain=Açýk listeleme komutu bulunamadý
misc_eshutdown=Kapatma bildirim dosyasý bulunamadý
misc_enice='$1' geçerli bir iyileþtirme seviyesi deðildir
misc_eumask='$1' geçerli bir umask deðildir

log_class=Kullanýcý ve sýnýflarý deðiþtirildi
log_message=Mesaj ve baþlýklar deðiþtirildi
log_acl=Limitler ve giriþ kontrolü deðiþtirildi
log_net=Að seçenekleri deðiþtirildi
log_log=Kayýt seçenekleri deðiþtirildi
log_alias=Takma isim ve yollar deðiþtirildi
log_anon=Anonymous FTP deðiþtirildi
log_perm=Ýzin seçenekleri deðiþtirildi
log_misc=Çeþitli seçenekler deðiþtirildi
log_restart=Deðiþiklikler uygulandý
log_start=FTP sunucusu baþlatýldý

 0707010006669e000081a40000000000000002000000013d1fe2da000017e1000000200000000000000000000000000000001800000003reloc/wuftpd/lang/zh_CN   index_title=FTP ·þÎñÆ÷
index_eftpd=ÏµÍ³ÉÏÃ»ÓÐÕÒµ½FTP·þÎñÆ÷$1¡£¿ÉÄÜÃ»ÓÐ°²×°£¬Ò²¿ÉÄÜ<a href='$2'>FTP ·þÎñÆ÷Ä£¿éÅäÖÃ</a> ´íÎó¡£
index_eftpaccess=FTP·þÎñÆ÷ÅäÖÃÎÄ¼þ$1²»´æÔÚ¡£¿ÉÄÜÃ»ÓÐ°²×°£¬Ò²¿ÉÄÜ<a href='$2'>FTP ·þÎñÄ£¿éÅäÖÃ</a> ´íÎó¡£
index_eversion=FTP·þÎñÆ÷$1ºÃÏñ²»ÊÇWU-FTPd¡£¿ÉÄÜÊÇÔÚÊ¹ÓÃ²Ù×÷ÏµÍ³Ìá¹©µÄ¾ÉµÄFTPd·þÎñ£¬Ò²¿ÉÄÜ<a href='$2'>FTP ·þÎñÄ£¿éÅäÖÃ</a> ´íÎó¡£
index_apply=±ä¸üÉúÐ§
index_applymsg=µ¥»÷°´Å¤Ê¹µÃµ±Ç°ÅäÖÃÉúÐ§.Õâ»áÍ£Ö¹µ±Ç°ËùÓÐµÄFTP·þÎñÆ÷,²¢ÖØÐÂÆô¶¯ËüÃÇ,µ±Ç°µÄÓÃ»§Á¬½Ó»á¶Ïµô¡£
index_start=Æô¶¯·þÎñÆ÷
index_startmsg=µ¥»÷°´Å¤Ê¹ÓÃµ±Ç°µÄÅäÖÃÆô¶¯FTP·þÎñÆ÷.Ò²¿ÉÒÔÅäÖÃ·þÎñÆ÷³ÉÎªÐèÒªÊ±ÓÃ<a href='$1'>Internet ·þÎñ</a>×Ô¶¯Æô¶¯¡£
index_startmsg2=µã»÷´Ë°´Å¥ÒÔµ±Ç°ÅäÖÃÆô¶¯ FTP ·þÎñÆ÷.ÄúÒ²¿ÉÅäÖÃ·þÎñÆ÷,µ±ÐèÒªÔËÐÐ inetd ÒÔ¼°ÀàËÆµÄ³ÌÐòÊ±,Ê¹·þÎñÆ÷×Ô¶¯Æô¶¯¡£
index_return=FTP·þÎñÆ÷Ñ¡Ïî
class_title=ÓÃ»§ºÍÀà
class_header=ÓÃ»§ÀàºÍÓÃ»§Ñ¡Ïî
class_class=ÓÃ»§Àà
class_name=ÀàÐÍÃû³Æ
class_types=ÓÃ»§ÀàÐÍ
class_addrs=Æ¥ÅäµØÖ·
class_real=Unix
class_guest=Guest
class_anonymous=ÄäÃûÓÃ»§
class_guestuser=½« UnixÓÃ»§ºÍ UID ×÷Îª Guest
class_guestgroup=½« Unix ×éºÍ GID ×÷Îª Guest
class_realuser=<i>²»</i>½« UnixÓÃ»§ºÍ UID ×÷Îª Guest
class_realgroup=<i>²»</i>½« Unix ×éºÍ GID ×÷Îª Guest
class_ftpusers=¾Ü¾øµÄ Unix ÓÃ»§(×Ô$1)
class_deny_uid=¾Ü¾øµÄ Unix ÓÃ»§ºÍUID
class_deny_gid=¾Ü¾øµÄ Unix ×éºÍGID
class_allow_uid=<i>²»</i>¾Ü¾øµÄ Unix ÓÃ»§ºÍUID
class_allow_gid=<i>²»</i>¾Ü¾øµÄ Unix ×éºÍGID
class_err=±£´æÓÃ»§ÀàÊ§°Ü
class_eclass=´íÎóµÄÓÃ»§ÀàÃû'$1'
class_etypes=Ã»ÓÐÑ¡ÔñÀà'$1'µÄÀàÐÍ
class_eaddrs=Ã»ÓÐÊäÈëÀà'$1'µÄµØÖ·
message_title=ÏûÏ¢ºÍ±êÌâ
message_header=ÏûÏ¢¡¢±êÌâºÍREADMEÎÄ¼þ
message_message=ÏûÏ¢ÎÄ¼þ
message_path=Â·¾¶
message_when=ºÎÊ±ÏÔÊ¾
message_login=ÔÚµÇÂ¼Ê±
message_dir=ÊäÈëÄ¿Â¼
message_alldir=ÊäÈëÈÎºÎÄ¿Â¼
message_classes=ÏÔÊ¾Àà
message_readme=README ÎÄ¼þ
message_update=ºÎÊ±ÏÖÊµ×îºóµÄÐÞ¸ÄÈÕÆÚ
message_greeting=ÎÊºò¼¶±ð
message_full=Ö÷»úÃûºÍ°æ±¾
message_brief=Ö÷»ú
message_terse=¶¼Ã»ÓÐ
message_banner=µÇÂ¼Ç°±êÌâ
message_none=ÎÞ
message_file=À´×ÔÎÄ¼þ
message_hostdef=ÏµÍ³Ö÷»úÃû
message_hostname=ÏûÏ¢µÄÖ÷»úÃû
message_email=ÓµÓÐÕßµÄÓÊ¼þµØÖ·
message_err=±£´æÏûÏ¢ºÍ±êÌâÊ§°Ü
message_epath=´íÎóµÄÂ·¾¶'$1'
message_cwd=´íÎóµÄÂ·¾¶'$1'
message_eclass=Àà '$1'²»´æÔÚ
message_ebanner=´íÎóµÄµÇÂ¼±êÌâÎÄ¼þ'$1'
message_ehostname=¶ªÊ§»ò´íÎóµÄÖ÷»úÃû
message_eemail=¶ªÊ§»ò´íÎóµÄÓÊ¼þµØÖ·
acl_title=ÏÞÖÆºÍ·ÃÎÊ¿ØÖÆ
acl_header=ÏÞÖÆºÍ·ÃÎÊ¿ØÖÆÑ¡Ïî
acl_deny=½ûÖ¹·ÃÎÊ×Ô
acl_daddrs=½ûÖ¹´ÓµØÖ·
acl_dmsg=´íÎóÏûÏ¢ÎÄ¼þ
acl_file=ÎÄ¼þºÍÊý¾Ý´«ÊäÏÞÖÆ
acl_fblimit=ÏÞÖÆÀàÐÍ
acl_flimit=Ã¿¸ö»á»°µÄÎÄ¼þÊý
acl_blimit=Ã¿¸ö»á»°µÄ×Ö½ÚÊý
acl_raw=½öÊý¾Ý£¿
acl_inout=·½Ïò
acl_in=½øÈë
acl_out=Êä³ö
acl_total=Á½Õß
acl_count=×î´ó
acl_class=Ó¦ÓÃÓÚÀà
acl_all=ËùÓÐÀà
acl_limit=²¢·¢ÓÃ»§ÏÞÖÆ
acl_n=×î´óÓÃ»§
acl_times=ÔÚÊ±¼ä
acl_lmsg=´íÎóÏûÏ¢ÎÄ¼þ
acl_unlimited=ÎÞÏÞ
acl_any=ÈÎºÎÊ±¼ä
acl_alimit=ÄäÃû»á»°ÏÞÖÆ
acl_glimit=Guest ÓÃ»§»á»°ÏÞÖÆ
acl_mins=·Ö
acl_fails=×î´óµÇÂ¼Ê§°Ü
acl_private=ÊÇ·ñ¿ÉÒÔ×ª»»×é£¿
acl_noret=½ûÖ¹·ÃÎÊÎÄ¼þ
acl_nfiles=½ûÖ¹µÄÎÄ¼þ
acl_nrel=ºÍchrootÏà¹Ø£¿
acl_nclass=½ûÖ¹Àà
acl_allowret=ÄÄÅÂ½ûÖ¹ÁËÒ²ÔÊÐí·ÃÎÊ
acl_afiles=ÔÊÐíµÄÎÄ¼þ
acl_arel=ºÍchrootÏà¹Ø£¿
acl_aclass=ÔÊÐíÀà
acl_err=±£´æÏÞÖÆºÍ·ÃÎÊÊ§°Ü
acl_edaddr=´íÎóµÄµØÖ·'$1'
acl_edfile=´íÎóµÄµØÖ·ÎÄ¼þ'$1'
acl_edmsg=´íÎóµÄÏûÏ¢ÎÄ¼þ'$1'
acl_eln=´íÎóµÄ×î´óÓÃ»§Êý'$1'
acl_etimes=´íÎóµÄUUCPÀàÐÍµÄÊ±¼ä·¶Î§'$1'
acl_elmsg=´íÎóÏûÏ¢ÎÄ¼þ'$1'
acl_efbcount=´íÎóµÄÎÄ¼þ»ò×Ö½ÚÊý'$1'
acl_elimit=´íÎóµÄÊ±¼äÏÞÖÆ'$1'
acl_efails=´íÎóµÄµÇÂ¼Ê§°ÜÊý'$1'
net_title=ÁªÍø
net_header=ÁªÍøÑ¡Ïî
net_tcp=TCP ´°¿Ú´óÐ¡
net_tsize=´óÐ¡
net_tclass=Õë¶ÔÀà
net_tall=ËùÓÐÀà
net_pasvaddr=PASV Á¬½ÓµÄµØÖ·
net_pip=IP µØÖ·
net_pcidr=¶ÔÍøÂçÉÏµÄ¿Í»§
net_pasvport=PASV Á¬½ÓµÄ¶Ë¿Ú
net_prange=¶Ë¿Ú·¶Î§
net_err=±£´æÁªÍø²Ù×÷Ê§°Ü
net_etsize=´íÎóµÄTCP´°¿Ú´óÐ¡'$1'
net_eip=´íÎóµÄIPµØÖ·'$1'
net_enet=´íÎóµÄÍøÂçµØÖ·'$1'
net_ecidr=´íÎóµÄÍøÂçÎ»'$1'
net_eport=´íÎóµÄ¶Ë¿ÚÊý'$1'
log_title=µÇÂ¼
log_header=µÇÂ¼Ñ¡Ïî
log_commands=¼ÇÂ¼ËùÓÐµÄÃüÁî
log_anonymous=ÄäÃûÓÃ»§
log_guest=Guest ÓÃ»§
log_real=Unix ÓÃ»§
log_trans=´«ÊäÈÕÖ¾µ½
log_dir=ÔÚ·½Ïò
log_inbound=ÄÚÏò
log_outbound=ÍâÏò
log_both=Ë«Ïò
log_security=µÇÂ¼°²È«Î¥·´
log_to=µÇÂ¼´«Êäµ½
log_syslog=ÏµÍ³ÈÕÖ¾
log_xferlog=XFER ÈÕÖ¾ÎÄ¼þ
log_err=±£´æÈÕÖ¾Ñ¡ÏîÊ§°Ü
alias_title=±ðÃûºÍÂ·¾¶
alias_header=±ðÃûºÍÂ·¾¶Ñ¡Ïî
alias_alias=CD Ä¿Â¼±ðÃû
alias_from=±ðÃû
alias_to=±ðÃûµ½Â·¾¶
alias_cdpath=CD Ä¿Â¼ËÑË÷Â·¾¶
alias_err=±£´æ±ðÃûºÍÂ·¾¶Ê§°Ü
alias_efrom=´íÎóµÄ±ðÃû'$1'
alias_eto=´íÎóµÄ±ðÃûÂ·¾¶'$1'
alias_ecdpath=´íÎóµÄCDËÑË÷Â·¾¶'$1'
anon_title=ÄäÃû FTP
anon_eftp=¾¯¸æ - ÏµÍ³Ã»ÓÐÒ»¸ö<tt>ftp</tt> ÓÃ»§, Òò´Ë¿ÉÄÜÎ´ÅäÖÃÄäÃû FTP ÓÃ»§¡£
anon_header=ÄäÃû FTP Ñ¡Ïî
anon_auto=Unix ×éµÄÄäÃûÓÃ»§
anon_group=×ª»»ÖÁ×é
anon_classes=ÎªÀà
anon_root=ÄäÃû FTP µÄ¸ùÄ¿Â¼
anon_dir=Ä¿Â¼
anon_class=ÎªÀà
anon_any=ÈÎºÎ
anon_passwd=ÄäÃûFTP¿ÚÁî¼ì²é
anon_none=ÔÊÐíËùÓÐ
anon_trivial=±ØÐë°üº¬@
anon_rfc822=±ØÐëÊÇ RFC822 email µØÖ·
anon_enforce=½ûÖ¹µÇÂ¼
anon_warn=½ö¾¯¸æ
anon_email=Òª½ûÖ¹µÄÄäÃûFTP¿ÚÁî
anon_groot=GuestÓÃ»§¸ùÄ¿Â¼
anon_uids=¶Ô Unix ÓÃ»§
anon_err=±£´æÄäÃûFTPÑ¡ÏîÊ§°Ü
anon_edir=´íÎóµÄÂ·¾¶'$1'
anon_egroup=´íÎóµÄ×é'$1'
perm_title=È¨ÏÞ
perm_header=È¨ÏÞÑ¡Ïî
perm_perms=ÃüÁîÔ¼Êø
perm_type=ÃüÁî
perm_can=ÔÊÐí£¿
perm_users=ÓÃ»§ÀàÐÍ
perm_classes=¶ÔÀà
perm_all=ËùÓÐ
perm_anonymous=ÄäÃû
perm_guest=Guest
perm_real=Unix
perm_note=È±Ê¡,È«²¿ÓÃ»§¿ÉÒÔÊ¹ÓÃËùÓÐµÄÃüÁî
perm_filter=½ûÖ¹ÉÏÔØÎÄ¼þÃû
perm_types=ÓÃ»§ÀàÐÍ
perm_mesg=´íÎóÏûÏ¢ÎÄ¼þ
perm_char=ÔÊÐí×Ö·û
perm_regexp=½ûÖ¹ÎÄ¼þÕýÔò±í´ïÊ½
perm_err=±£´æÈ¨ÏÞÊ§°Ü
perm_echar=´íÎóµÄ×Ö·û¼¯ÕýÔò±í´ïÊ½'$1'
perm_etypes=Ã»ÓÐÑ¡ÔñÓÃ»§ÀàÐÍ
perm_emesg=·Ç·¨µÄÏûÏ¢ÎÄ¼þ'$1'
host_title=Ö÷»ú·ÃÎÊ¿ØÖÆ
misc_title=ÔÓÀàÑ¡Ïî
misc_header=ÔÓÀàÑ¡Ïî
misc_lslong=³¤ÁÐ±íÃüÁî
misc_lsshort=¶ÌÁÐ±íÃüÁî
misc_lsplain=ÆÕÍ¨ÁÐ±íÃüÁî
misc_shutdown=¹Ø±ÕÍ¨¸æÎÄ¼þ
misc_none=ÎÞ
misc_nice=·þÎñ½ø³Ìnice¼¶±ð
misc_ndelta=Nice ¼¶±ð
misc_class=¶ÔÀà
misc_all=ËùÓÐÀà
misc_defumask=ÉÏÔØÎÄ¼þÈ±Ê¡ umask
misc_umask=Umask
misc_err=±£´æÔÓÀàÑ¡ÏîÊ§°Ü
misc_elslong=¶ªÊ§³¤ÁÐ±íÎÄ¼þÃüÁî
misc_elsshort=¶ªÊ§¶ÌÁÐ±íÃüÁî
misc_elsplain=¶ªÊ§ÆÕÍ¨ÁÐ±íÃüÁî
misc_eshutdown=¶ªÊ§¹Ø±ÕÍ¨¸æÎÄ¼þ
misc_enice=´íÎóµÄnice¼¶±ð'$1'
misc_eumask=´íÎóµÄunmask'$1'
log_class=¸Ä±äÓÃ»§ºÍÀà
log_message=¸Ä±äÏûÏ¢ºÍ±êÌâ
log_acl=¸Ä±äÏÞÖÆºÍ·ÃÎÊ¿ØÖÆ
log_net=¸Ä±äÁªÍøÑ¡Ïî
log_log=¸Ä±äÈÕÖ¾Ñ¡Ïî
log_alias=¸Ä±ä±ðÃûºÍÂ·¾¶
log_anon=¸Ä±äÄäÃû FTP
log_perm=¸Ä±äÈ¨ÏÞÉèÖÃ
log_misc=¸Ä±äÔÓÀàÑ¡Ïî
log_restart=Ó¦ÓÃ¸Ä±äÖµ
log_start=Æô¶¯ FTP ·þÎñÆ÷
   0707010006669f000081a40000000000000002000000013d1fe2da0000192b000000200000000000000000000000000000001d00000003reloc/wuftpd/lang/zh_TW.Big5  index_title=FTP ¦øªA¾¹
index_eftpd=¦b±zªº¨t²Î¤W§ä¤£¨ì FTP ¦øªA¾¹ $1. ¥i¯à¬O¦]¬°±z©|¥¼¦w¸Ë, ©Î¬O±zªº <a href='$2'>FTP ¦øªA¾¹¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_eftpaccess=§ä¤£¨ì FTP ¦øªA¾¹²ÕºAÀÉ®× $1. ¥i¯à¬O¦]¬°±z©|¥¼¦w¸Ë, ©Î¬O±zªº <a href='$2'>FTP ¦øªA¾¹¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_eversion=FTP ¦øªA¾¹ $1 ¦ü¥G¤£¬O WU-FTPd. ¥i¯à¦]¬°±z¥¿¨Ï¥Î¨t²Î©Ò´£¨Ñ¸ûÂÂªº FTP ¦øªA¾¹, ©Î¬O±zªº <a href='$2'>FTP ¦øªA¾¹¼Ò²Õ²ÕºA</a>¦³¿ù»~.
index_apply=®M¥ÎÅÜ§ó
index_applymsg=«ö¤U³o­Ó«ö¶s¥H®M¥Î¥Ø«eªº²ÕºA. ³o±N°±¤î¨Ã­«·s±Ò°Ê FTP ¦øªA¾¹µ{§Ç, ©Ò¥H¥Ø«e³s½uªº¨Ï¥ÎªÌ¤§³s½u·|¤¤Â_.
index_start=±Ò°Ê¦øªA¾¹
index_startmsg=«ö¤U³o­Ó«ö¶s¥H¥Î¥Ø«eªº²ÕºA±Ò°Ê FTP ¦øªA¾¹. ±z¤]¥i¥H¸g¥Ñ<a href='$1'>ºô»Úºô¸ôªA°È»P¨ó©w</a>±N³o­Ó¦øªA¾¹²ÕºA¬°¦b»Ý­n®É¦Û°Ê±Ò°Ê
index_return=FTP ¦øªA¾¹¿ï¶µ

class_title=¨Ï¥ÎªÌ»Pµ¥¯Å
class_header=¨Ï¥ÎªÌµ¥¯Å»P¨Ï¥ÎªÌ¿ï¶µ
class_class=¨Ï¥ÎªÌµ¥¯Å
class_name=¶¥¯Å¦WºÙ
class_types=¨Ï¥ÎªÌÃþ§O
class_addrs=²Å¦X¦ì§}
class_real=Unix ¨Ï¥ÎªÌ
class_guest=³X«È
class_anonymous=°Î¦WªÌ
class_guestuser=·í§@³X«Èªº Unix ¨Ï¥ÎªÌ»P¨Ï¥ÎªÌ½s¸¹
class_guestgroup=·í§@³X«Èªº Unix ¸s²Õ»P¸s²Õ½s¸¹
class_realuser=<i>¤£</i>·í§@³X«Èªº Unix ¨Ï¥ÎªÌ»P¨Ï¥ÎªÌ½s¸¹
class_realgroup=<i>¤£</i>·í§@³X«Èªº Unix ¸s²Õ»P¸s²Õ½s¸¹
class_ftpusers=©Úµ´ªº Unix ¨Ï¥ÎªÌ (¨Ó¦Û $1)
class_deny_uid=©Úµ´ªº Unix ¨Ï¥ÎªÌ»P¨Ï¥ÎªÌ½s¸¹
class_deny_gid=©Úµ´ªº Unix ¸s²Õ»P¸s²Õ½s¸¹
class_allow_uid=<i>¤£</i>©Úµ´ªº Unix ¨Ï¥ÎªÌ»P¨Ï¥ÎªÌ½s¸¹
class_allow_gid=<i>¤£</i>©Úµ´ªº Unix ¸s²Õ»P¸s²Õ½s¸¹
class_err=µLªkÀx¦s¨Ï¥ÎªÌµ¥¯Å
class_eclass='$1' ¤£¬O¤@­Ó¦³®Äªº¶¥¯Å¦WºÙ
class_etypes=¶¥¯Å '$1' ¨S¦³¿ï¾Ü¨Ï¥ÎªÌÃþ§O
class_eaddrs=¶¥¯Å '$1' ¨S¦³¿é¤J¦ì§}

message_title=°T®§»P¼ÐÃD
message_header=°T®§, ¼ÐÃD»PÅª§ÚÀÉ
message_message=°T®§ÀÉ
message_path=¸ô®|
message_when=Åã¥Ü®É¾÷
message_login=µn¤J®É
message_dir=¶i¤J¥Ø¿ý®É
message_alldir=¶i¤J¥ô¦ó¥Ø¿ý
message_classes=­nÅã¥Üªº¶¥¯Å
message_readme=Åª§ÚÀÉ
message_update=Åã¥Ü³ÌªñÅÜ§ó®É¶¡ªº®É¾÷
message_greeting=Åwªïµ¥¯Å
message_full=¥D¾÷¦WºÙ»Pª©¥»
message_brief=¥D¾÷¦WºÙ
message_terse=³£¤£­n
message_banner=µn¤J«e¼ÐÃD
message_none=µL
message_file=±qÀÉ®×
message_hostdef=¨t²Î¥D¾÷¦WºÙ
message_hostname=µ¹°T®§ªº¥D¾÷¦WºÙ
message_email=¾Ö¦³ªÌªº¹q¤l¶l¥ó¦ì§}
message_err=µLªkÀx¦s°T®§»P¼ÐÃD
message_epath='$1' ¤£¬O¤@­Ó¦³®Äªº¸ô®|
message_cwd='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý
message_eclass=¶¥¯Å '$1' ¤£¦s¦b
message_ebanner='$1' ¤£¬O¤@­Ó¦³®Äªºµn¤J¼ÐÃDÀÉ®×
message_ehostname=¿ò¥¢©Î¿ù»~ªº¥D¾÷¦WºÙ
message_eemail=¿ò¥¢©Î¿ù»~ªº¹q¤l¶l¥ó¦ì§}

acl_title=­­¨î»P¦s¨ú±±¨î
acl_header=­­¨î»P¦s¨ú±±¨î¿ï¶µ
acl_deny=©Úµ´¦s¨ú¨Ó¦Û
acl_daddrs=©Úµ´¨Ó¦Û¦ì§}
acl_dmsg=¿ù»~°T®§ÀÉ®×
acl_file=ÀÉ®×»P¸ê®Æ¶Ç¿é­­¨î
acl_fblimit=­­¨îÃþ§O
acl_flimit=¨C­Ó¤u§@¶¥¬qªºÀÉ®×¼Æ
acl_blimit=¨C­Ó¤u§@¶¥¬qªº¦ì¤¸²Õ¼Æ
acl_raw=¬O§_¥u¦³¸ê®Æ?
acl_inout=¤è¦V
acl_in=¤W¶Ç
acl_out=¤U¸ü
acl_total=¤GªÌ
acl_count=³Ì¤j­È
acl_class=®M¥Î¨ì¶¥¯Å
acl_all=¥þ³¡¶¥¯Å
acl_limit=¦P®É³s½u¨Ï¥ÎªÌ­­¨î
acl_n=³Ì¤j¨Ï¥ÎªÌ¼Æ
acl_times=­­¨î®É¶¡
acl_lmsg=¿ù»~°T®§ÀÉ®×
acl_unlimited=¤£­­¨î
acl_any=¥ô¦ó®É¶¡
acl_alimit=°Î¦WªÌ¤u§@¶¥¬q­­¨î
acl_glimit=³X«È¤u§@¶¥¬q­­¨î
acl_mins=¤ÀÄÁ
acl_fails=³Ì¤jµn¤J¥¢±Ñ¦¸¼Æ
acl_private=¬O§_¥i¥H¤Á´«¸s²Õ?
acl_noret=©Úµ´¦s¨ú¨ìÀÉ®×
acl_nfiles=­n©Úµ´ªºÀÉ®×
acl_nrel=¬O§_¬Û¹ï¨ì chroot?
acl_nclass=©Úµ´ªº¶¥¯Å
acl_allowret=¤¹³\¦s¨ú¨ìÀÉ®×, ´Nºâ³Q©Úµ´
acl_afiles=­n¤¹³\ªºÀÉ®×
acl_arel=¬O§_¬Û¹ï¨ì chroot?
acl_aclass=¤¹³\ªº¶¥¯Å
acl_err=µLªkÀx¦s­­¨î»P¦s¨ú±±¨î
acl_edaddr='$1' ¤£¬O¤@­Ó¦³®Äªº¦ì§}
acl_edfile='$1' ¤£¬O¤@­Ó¦³®Äªº¦ì§}ÀÉ®×
acl_edmsg='$1' ¤£¬O¤@­Ó¦³®Äªº¿ù»~°T®§ÀÉ®×
acl_eln='$1' ¤£¬O¤@­Ó¦³®Äªº³Ì¤j¨Ï¥ÎªÌ¼Æ¶q
acl_etimes='$1' ¤£¬O¤@­Ó¦³®Äªº UUCP §Î¦¡®É¶¡½d³ò
acl_elmsg='$1' ¤£¬O¤@­Ó¦³®Äªº¿ù»~°T®§ÀÉ®×
acl_efbcount='$1' ¤£¬O¤@­Ó¦³®ÄªºÀÉ®×©Î¦ì¤¸²Õ¼Æ¥Ø
acl_elimit='$1' ¤£¬O¤@­Ó¦³®Äªº®É¶¡­­¨î
acl_efails='$1' ¤£¬O¤@­Ó¦³®Äªºµn¤J¿ù»~¦¸¼Æ

net_title=ºô¸ô
net_header=ºô¸ô¿ï¶µ
net_tcp=TCP µ¡¤f¤j¤p
net_tsize=¤j¤p
net_tclass=µ¹¶¥¯Å
net_tall=¥þ³¡¶¥¯Å
net_pasvaddr=PASV ³s±µªº¦ì§}
net_pip=IP ¦ì§}
net_pcidr=µ¹«È¤áºÝ±qºô¸ô
net_pasvport=PASV ³s½uªº³q°T°ð
net_prange=³q°T°ð½d³ò
net_err=µLªkÀx¦sºô¸ô¿ï¶µ
net_etsize='$1' ¤£¬O¤@­Ó¦³®Äªº TCP µ¡¤f¤j¤p
net_eip='$1' ¤£¬O¤@­Ó¦³®Äªº IP ¦ì§}
net_enet='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¦ì§}
net_ecidr='$1' ¤£¬O¤@­Ó¦³®Äªººô¸ô¦ì¤¸¼Æ¦r
net_eport='$1' ¤£¬O¤@­Ó¦³®Äªº³q°T°ð¸¹½X

log_title=¬ö¿ý
log_header=¬ö¿ý¿ï¶µ
log_commands=¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº©Ò¦³©R¥O
log_anonymous=°Î¦WªÌ
log_guest=³X«È
log_real=Unix ¨Ï¥ÎªÌ
log_trans=¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº¶Ç¿é
log_dir=¹ï©ó¤è¦V
log_inbound=¶i¤J¨t²Î
log_outbound=¨t²Î¿é¥X
log_both=¤GªÌ
log_security=¬ö¿ý¨Ï¥ÎªÌÃþ§O...ªº¦w¥þ¹H³W
log_to=¬ö¿ý¶Ç°e¨ì
log_syslog=¨t²Î¬ö¿ý
log_xferlog=XFER ¬ö¿ýÀÉ
log_err=µLªkÀx¦s¬ö¿ý¿ï¶µ

alias_title=§O¦W»P¸ô®|
alias_header=§O¦W»P¸ô®|¿ï¶µ
alias_alias=CD ¥Ø¿ý§O¦W
alias_from=§O¦W¦WºÙ
alias_to=§O¦W¨ì¥Ø¿ý
alias_cdpath=CD ¥Ø¿ý·j´M¸ô®|
alias_err=µLªkÀx¦s§O¦W»P¸ô®|
alias_efrom='$1' ¤£¬O¤@­Ó¦³®Äªº§O¦W¦WºÙ
alias_eto='$1' ¤£¬O¤@­Ó¦³®Äªº§O¦W¥Ø¿ý
alias_ecdpath='$1' ¤£¬O¤@­Ó¦³®Äªº CD ·j´M¥Ø¿ý

anon_title=°Î¦WªÌ FTP
anon_eftp=Äµ§i - ±zªº¨t²Î¨S¦³ <tt>ftp</tt> ¨Ï¥ÎªÌ, ©Ò¥H°Î¦WªÌ FTP µLªk³Q¥¿½Tªº²ÕºA.
anon_header=°Î¦WªÌ FTP ¿ï¶µ
anon_auto=°Î¦W¨Ï¥ÎªÌªº Unix ¸s²Õ
anon_group=¤Á´«¨ì¸s²Õ
anon_classes=µ¹µ¥¯Å
anon_root=°Î¦WªÌ FTP ®Ú¥Ø¿ý
anon_dir=¥Ø¿ý
anon_class=µ¹µ¥¯Å
anon_any=¥ô¦ó
anon_passwd=°Î¦WªÌ FTP ±K½XÀË¬d
anon_none=¤¹³\¥ô¦óªF¦è
anon_trivial=¥²¶·¥]§t
anon_rfc822=¥²¶·¬O RFC822 ¹q¤l¶l¥ó¦ì§}
anon_enforce=©Úµ´µn¤J
anon_warn=¥u­nÄµ§i
anon_email=­n©Úµ´ªº°Î¦WªÌ FTP ±K½X
anon_groot=³X«È®Ú¥Ø¿ý
anon_uids=µ¹ Unix ¨Ï¥ÎªÌ
anon_err=µLªkÀx¦s°Î¦WªÌ FTP ¿ï¶µ
anon_edir='$1' ¤£¬O¤@­Ó¦³®Äªº¥Ø¿ý
anon_egroup='$1' ¤£¬O¤@­Ó¦³®Äªº¸s²Õ

perm_title=Åv­­
perm_header=Åv­­¿ï¶µ
perm_perms=«ü¥Oªº­­¨î
perm_type=«ü¥O
perm_can=¬O§_¤¹³\?
perm_users=µ¹¨Ï¥ÎªÌÃþ§O
perm_classes=µ¹¶¥¯Å
perm_all=¥þ³¡
perm_anonymous=°Î¦WªÌ
perm_guest=³X«È
perm_real=Unix ¨Ï¥ÎªÌ
perm_note=¦b¹w³]ªºª¬ªp¤U, ©Ò¦³ªº¨Ï¥ÎªÌ³£¥i¥H¨Ï¥Î¥þ³¡ªº«ü¥O
perm_filter=¤£¤¹³\ªº¤W¶ÇÀÉ®×¦WºÙ
perm_types=¨Ï¥ÎªÌÃþ§O
perm_mesg=¿ù»~°T®§ÀÉ®×
perm_char=¤¹³\ªº¦r¤¸
perm_regexp=©Úµ´ªºÀÉ®×¥¿³Wªí¥Ü¦¡
perm_err=µLªkÀx¦sÅv­­
perm_echar='$1' ¤£¬O¤@­Ó¦³®Äªº¥¿³Wªí¥Ü¦¡¦r¤¸¶°
perm_etypes=¨S¦³¿ï¾Ü¨Ï¥ÎªÌÃþ§O
perm_emesg='$1' ¤£¬O¤@­Ó¦³®Äªº¿ù»~°T®§ÀÉ®×

host_title=¥D¾÷¦s¨ú±±¨î

misc_title=¨ä¥L¿ï¶µ
misc_header=¨ä¥L¿ï¶µ
misc_lslong=ªø¦Cªí«ü¥O
misc_lsshort=µu¦Cªí«ü¥O
misc_lsplain=¸Ô²Ó¦Cªí«ü¥O
misc_shutdown=Ãö³¬ªA°È³qª¾ÀÉ®×
misc_none=µL
misc_nice=¦øªA¾¹µ{§ÇÀu¥ý­È
misc_ndelta=Àu¥ý­È
misc_class=µ¹µ¥¯Å
misc_all=¥þ³¡µ¥¯Å
misc_defumask=¹w³]¤W¶ÇÀÉ®×ªº umask
misc_umask=umask
misc_err=µLªkÀx¦s¨ä¥L¿ï¶µ
misc_elslong=¿ò¥¢ªø¦Cªí«ü¥O
misc_elsshort=¿ò¥¢µu¦Cªí«ü¥O
misc_elsplain=¿ò¥¢¸Ô²Ó¦Cªí«ü¥O
misc_eshutdown=¿ò¥¢Ãö³¬ªA°È³qª¾ÀÉ®×
misc_enice='$1' ¤£¬O¤@­Ó¦³®ÄªºÀu¥ý­È
misc_eumask='$1' ¤£¬O¤@­Ó¦³®Äªº umask
 0707010000d1d6000081a40000000000000002000000013d1fe2db00000183000000200000000000000000000000000000001b00000003reloc/wuftpd/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'wuftpd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p) = @_;
if ($text{"log_$action"}) {
	return $text{"log_$action"};
	}
else {
	return undef;
	}
}

 0707010000d1d7000081a40000000000000002000000013d1fe2ea0000027c000000200000000000000000000000000000001900000003reloc/wuftpd/module.info  desc_ru_SU=WU-FTP óÅÒ×ÅÒ
risk=low medium high
desc_ko_KR.euc=WU-FTP ¼­¹ö
desc_zh_TW.Big5=FTP ¦øªA¾¹
desc_pl=Serwer WU-FTP
desc_de=WU-FTP Server
name=FTP
desc_zh_CN=WU-FTP ·þÎñÆ÷
desc_pt=Servidor WU-FTP
category=servers
desc_tr=WU-FTP Sunucusu
os_support=open-linux solaris redhat-linux mandrake-linux suse-linux debian-linux slackware-linux turbo-linux freebsd openbsd hpux aix osf1 macos lfs-linux aix netbsd msc-linux generic-linux openserver
desc=WU-FTP Server
desc_es=Servidor WU-FTP
desc_sv=WU-FTP-server
desc_fr=Serveur WU-FTP
desc_ja_JP.euc=WU-FTP ¥µ¡¼¥Ð
depends=0.990
version=0.990
desc_ca=Servidor FTP
desc_ru_RU=WU-FTP Ñåðâåð
0707010000d1d8000081e40000000000000002000000013d1fe2da0000012e000000200000000000000000000000000000001900000003reloc/wuftpd/restart.cgi  #!/usr/local/bin/perl
# restart.cgi
# Kill all ftpd processes, and restart the FTP server with flags -l -a -S

require './wuftpd-lib.pl';
&ReadParse();
&kill_logged('TERM', $in{'pid'});
&system_logged("$config{'ftpd_path'} -l -a -S >/dev/null 2>&1 </dev/null");
&webmin_log("restart");
&redirect("");

  0707010000d1d9000081e40000000000000002000000013d1fe2da00000f83000000200000000000000000000000000000001a00000003reloc/wuftpd/save_acl.cgi #!/usr/local/bin/perl
# save_acl.cgi
# Save access control options

require './wuftpd-lib.pl';
&error_setup($text{'acl_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# Save deny directives
for($i=0; defined($daddrs = $in{"daddrs_$i"}); $i++) {
	$dmsg = $in{"dmsg_$i"};
	next if (!$daddrs);
	$daddrs =~ /^\S+$/ || &error(&text('acl_edaddr', $daddrs));
	$daddrs !~ /^\|(\S+)$/ || -r $1 || &error(&text('acl_edfile', $1));
	$dmsg =~ /^\S+$/ && -r $dmsg || &error(&text('acl_edmsg', $dmsg));
	push(@deny, { 'name' => 'deny',
		      'values' => [ $daddrs, $dmsg ] } );
	}
&save_directive($conf, 'deny', \@deny);

# Save limit directives
for($i=0; defined($lclass = $in{"lclass_$i"}); $i++) {
	next if (!$lclass);
	$in{"ln_def_$i"} || $in{"ln_$i"} =~ /^\d+$/ ||
		&error(&text('acl_eln', $in{"ln_$i"}));
	$in{"ltimes_def_$i"} || $in{"ltimes_$i"} =~ /^\S+$/ ||
		&error(&text('acl_etimes', $in{"ltimes_$i"}));
	-r $in{"lmsg_$i"} || &error(&text('acl_elmsg', $in{"lmsg_$i"}));
	push(@limit,
	     { 'name' => 'limit',
	       'values' => [ $lclass,
			     $in{"ln_def_$i"} ? -1 : $in{"ln_$i"},
			     $in{"ltimes_def_$i"} ? 'Any' : $in{"ltimes_$i"},
			     $in{"lmsg_$i"} ] } );
	}
&save_directive($conf, 'limit', \@limit);

# Save file-limt and data-limit directives
for($i=0; defined($fblimit = $in{"fblimit_$i"}); $i++) {
	next if (!$fblimit);
	$in{"fbcount_$i"} =~ /^\d+$/ ||
		&error(&text('acl_efbcount', $in{"fbcount_$i"}));
	local @v = $in{"fbraw_$i"} ? ('raw') : ();
	push(@v, $in{"fbinout_$i"}, $in{"fbcount_$i"}, $in{"fbclass_$i"});
	if ($fblimit eq 'file-limit') {
		push(@file_limit, { 'name' => 'file-limit',
				    'values' => \@v } );
		}
	else {
		push(@data_limit, { 'name' => 'data-limit',
				    'values' => \@v } );
		}
	}
&save_directive($conf, 'file-limit', \@file_limit);
&save_directive($conf, 'data-limit', \@data_limit);

# Save noretrieve directives
@class = &find_value("class", $conf);
for($i=0; defined($nfiles = $in{"nfiles_$i"}); $i++) {
	next if (!$nfiles);
	local @v = $in{"nrel_$i"} ? ('relative') : ();
	local @c = split(/\0/, $in{"nclass_$i"});
	push(@v, map { "class=$_" } @c) if (@c != @class);
	push(@v, split(/\s+/, $nfiles));
	push(@noretrieve, { 'name' => 'noretrieve',
			    'values' => \@v } );
	}
&save_directive($conf, 'noretrieve', \@noretrieve);

# Save allow-retrieve directives
for($i=0; defined($afiles = $in{"afiles_$i"}); $i++) {
	next if (!$afiles);
	local @v = $in{"arel_$i"} ? ('relative') : ();
	local @c = split(/\0/, $in{"aclass_$i"});
	push(@v, map { "class=$_" } @c) if (@c != @class);
	push(@v, split(/\s+/, $afiles));
	push(@allow_retrieve, { 'name' => 'allow-retrieve',
			        'values' => \@v } );
	}
&save_directive($conf, 'allow-retrieve', \@allow_retrieve);

# Save limit-time directives
if (!$in{'alimit_def'}) {
	$alimit = $in{'alimit'};
	$alimit =~ /^\d+$/ || &error(&text('acl_elimit', $alimit));
	}
if (!$in{'glimit_def'}) {
	$glimit = $in{'glimit'};
	$glimit =~ /^\d+$/ || &error(&text('acl_elimit', $glimit));
	}
if ($alimit && $alimit eq $glimit) {
	@limit_time = ( { 'name' => 'limit-time',
			  'values' => [ '*', $alimit ] } );
	}
else {
	if ($alimit) {
		push(@limit_time, ( { 'name' => 'limit-time',
				  'values' => [ 'anonymous', $alimit ] } ) );
		}
	if ($glimit) {
		push(@limit_time, ( { 'name' => 'limit-time',
				  'values' => [ 'guest', $glimit ] } ));
		}
	}
&save_directive($conf, 'limit-time', \@limit_time);

# Save loginfails and private directives
if ($in{'fails_def'}) {
	&save_directive($conf, 'loginfails', [ ]);
	}
else {
	$in{'fails'} =~ /^\d+$/ || &error(&text('acl_efails', $in{'fails'}));
	&save_directive($conf, 'loginfails',
			[ { 'name' => 'loginfails',
			    'values' => [ $in{'fails'} ] } ] );
	}
&save_directive($conf, 'private', 
			[ { 'name' => 'private',
			    'values' => [ $in{'private'} ] } ] );

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("acl", undef, undef, \%in);
&redirect("");

 0707010000d1da000081e40000000000000002000000013d1fe2db0000036c000000200000000000000000000000000000001c00000003reloc/wuftpd/save_alias.cgi   #!/usr/local/bin/perl
# save_alias.cgi
# Save alias options

require './wuftpd-lib.pl';
&error_setup($text{'alias_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# save alias directives
for($i=0; defined($from = $in{"from_$i"}); $i++) {
	$to = $in{"to_$i"};
	next if (!$from);
	$from =~ /^\S+$/ || &error(&text('alias_efrom', $from));
	-d $to || &error(&text('alias_eto', $to));
	push(@alias, { 'name' => 'alias',
		       'values' => [ $from, $to ] } );
	}
&save_directive($conf, 'alias', \@alias);

# save cdpath directives
foreach $c (split(/\s+/, $in{'cdpath'})) {
	-d $c || &error(&text('alias_ecdpath', $c));
	push(@cdpath, { 'name' => 'cdpath',
			'values' => [ $c ] } );
	}
&save_directive($conf, 'cdpath', \@cdpath);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("alias", undef, undef, \%in);
&redirect("");
0707010000d1db000081e40000000000000002000000013d1fe2db0000064b000000200000000000000000000000000000001b00000003reloc/wuftpd/save_anon.cgi    #!/usr/local/bin/perl
# save_anon.cgi
# Save anonymous FTP

require './wuftpd-lib.pl';
&error_setup($text{'anon_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# save anonymous-root options
for($i=0; defined($dir = $in{"dir_$i"}); $i++) {
	next if (!$dir);
	-d $dir || &error(&text('anon_edir', $dir));
	push(@aroot, { 'name' => 'anonymous-root',
		       'values' => [ $dir, $in{"class_$i"} ] } );
	}
&save_directive($conf, 'anonymous-root', \@aroot);

#save guest-root options
for($i=0; defined($dir = $in{"gdir_$i"}); $i++) {
	next if (!$dir);
	-d $dir || &error(&text('anon_edir', $dir));
	push(@groot, { 'name' => 'guest-root',
		       'values' => [ $dir, $in{"uids_$i"} ] } );
	}
&save_directive($conf, 'guest-root', \@groot);

# save autogroup options
for($i=0; defined($agroup = $in{"agroup_$i"}); $i++) {
	next if (!$agroup);
	defined(getgrnam($agroup)) || &error(&text('anon_egroup', $agroup));
	push(@agroup, { 'name' => 'autogroup',
			'values' => [ $agroup,
				      split(/\0/, $in{"aclass_$i"}) ] } );
	}
&save_directive($conf, 'autogroup', \@agroup);

# save other options
if ($in{'passwd_def'}) {
	&save_directive($conf, 'passwd-check', [ ]);
	}
else {
	&save_directive($conf, 'passwd-check',
			[ { 'name' => 'passwd-check',
			    'values' => [ $in{'level'}, $in{'action'} ] } ] );
	}
foreach $a (split(/\s+/, $in{'email'})) {
	push(@email, { 'name' => 'deny-email', 'values' => [ $a ] } );
	}
&save_directive($conf, 'deny-email', \@email);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("anon", undef, undef, \%in);
&redirect("");
 0707010000d1dc000081e40000000000000002000000013d1fe2da000006b2000000200000000000000000000000000000001c00000003reloc/wuftpd/save_class.cgi   #!/usr/local/bin/perl
# save_class.cgi
# Save user classes

require './wuftpd-lib.pl';
&error_setup($text{'class_err'});
&ReadParse();

&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# save class options
for($i=0; defined($class = $in{"class_$i"}); $i++) {
	next if (!$class);
	$class =~ /^\S+$/ || &error(&text('class_eclass', $class));
	@types = split(/\0/, $in{"types_$i"});
	@types || &error(&text('class_etypes', $class));
	@addrs = split(/\s+/, $in{"addrs_$i"});
	@addrs || &error(&text('class_eaddrs', $class));
	push(@class, { 'name' => 'class',
		       'star' => $addrs[0] eq '*',
		       'values' => [ $class, join(",", @types), @addrs ] });
	}
@class = sort { $a->{'star'} ? 1 : $b->{'star'} ? -1 : 0 } @class;
&save_directive($conf, 'class', \@class);

# save guest/real user/group options
foreach $g ('guestuser', 'guestgroup', 'realuser', 'realgroup') {
	if ($in{$g}) {
		&save_directive($conf, $g, [ { 'name' => $g,
					       'values' => [ $in{$g} ] } ] );
		}
	else {
		&save_directive($conf, $g, [ ]);
		}
	}

# save allow/deny uid/gid options
&lock_file($config{'ftpusers'});
if ($in{'ftpusers'}) {
	open(FTPUSERS, ">$config{'ftpusers'}");
	foreach $u (split(/\s+/, $in{'ftpusers'})) {
		print FTPUSERS $u,"\n";
		}
	close(FTPUSERS);
	}
else {
	unlink($config{'ftpusers'});
	}
&unlock_file($config{'ftpusers'});
foreach $g ('deny-uid', 'deny-gid', 'allow-uid', 'allow-gid') {
	($fg = $g) =~ s/-/_/g;
	if ($in{$fg}) {
		&save_directive($conf, $g, [ { 'name' => $g,
					       'values' => [ $in{$fg} ] } ] );
		}
	else {
		&save_directive($conf, $g, [ ]);
		}
	}

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("class", undef, undef, \%in);
&redirect("");

  0707010000d1dd000081e40000000000000002000000013d1fe2db00000381000000200000000000000000000000000000001a00000003reloc/wuftpd/save_log.cgi #!/usr/local/bin/perl
# save_log.cgi
# Save logging options

require './wuftpd-lib.pl';
&error_setup($text{'log_err'});
&ReadParse();

&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

$in{'commands'} =~ s/\0/,/g;
if ($in{'commands'}) {
	push(@log, { 'name' => 'log',
		     'values' => [ 'commands', $in{'commands'} ] } );
	}

$in{'transfers'} =~ s/\0/,/g;
if ($in{'transfers'}) {
	push(@log, { 'name' => 'log',
		     'values' => [ 'transfers', $in{'transfers'},
				   $in{'direction'} ] } );
	}

$in{'security'} =~ s/\0/,/g;
if ($in{'security'}) {
	push(@log, { 'name' => 'log',
		     'values' => [ 'security', $in{'security'} ] } );
	}

if ($in{'syslog'}) {
	push(@log, { 'name' => 'log',
		     'values' => [ 'syslog' ] } );
	}

&save_directive($conf, 'log', \@log);
&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("log", undef, undef, \%in);
&redirect("");
   0707010000d1de000081e40000000000000002000000013d1fe2da00000a06000000200000000000000000000000000000001e00000003reloc/wuftpd/save_message.cgi #!/usr/local/bin/perl
# save_message.cgi
# Save messages, banners and other options

require './wuftpd-lib.pl';
&error_setup($text{'message_err'});
&ReadParse();

&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();
foreach $c (&find_value('class', $conf)) {
	$hasclass{$c->[0]}++;
	}

# Save messages 
for($i=0; defined($path = $in{"mpath_$i"}); $i++) {
	next if (!$path);
	$path =~ /^\S+$/ || &error(&text('message_epath', $path));
	if ($in{"mwhen_$i"} == 0) {
		$when = "login";
		}
	elsif ($in{"mwhen_$i"} == 1) {
		$when = "cwd=*";
		}
	else {
		$in{"mcwd_$i"} =~ /^\S+$/ ||
			&error(&text('message_ecwd', $path));
		$when = "cwd=".$in{"mcwd_$i"};
		}
	@classes = split(/\s+/, $in{"mclasses_$i"});
	foreach $c (@classes) {
		$hasclass{$c} || &error(&text('message_eclass', $c));
		}
	push(@message, { 'name' => 'message',
			 'values' => [ $path, $when, @classes ] } );
	}
&save_directive($conf, 'message', \@message);

# Save readme's
for($i=0; defined($path = $in{"rpath_$i"}); $i++) {
	next if (!$path);
	$path =~ /^\S+$/ || &error(&text('message_epath', $path));
	if ($in{"rwhen_$i"} == 0) {
		$when = "login";
		}
	elsif ($in{"rwhen_$i"} == 1) {
		$when = "cwd=*";
		}
	else {
		$in{"rcwd_$i"} =~ /^\S+$/ ||
			&error(&text('message_ecwd', $path));
		$when = "cwd=".$in{"rcwd_$i"};
		}
	@classes = split(/\s+/, $in{"rclasses_$i"});
	foreach $c (@classes) {
		$hasclass{$c} || &error(&text('message_eclass', $c));
		}
	push(@readme, { 'name' => 'readme',
			 'values' => [ $path, $when, @classes ] } );
	}
&save_directive($conf, 'readme', \@readme);

# save other options
&save_directive($conf, 'greeting', [ { 'name' => 'greeting',
				       'values' => [ $in{'greeting'} ] } ]);
if ($in{'banner_def'}) {
	&save_directive($conf, 'banner', [ ]);
	}
else {
	-r $in{'banner'} || &error(&text('message_ebanner', $in{'banner'}));
	&save_directive($conf, 'banner', [ { 'name' => 'banner',
					     'values' => [ $in{'banner'} ] } ]);
	}
if ($in{'hostname_def'}) {
	&save_directive($conf, 'hostname', [ ]);
	}
else {
	$in{'hostname'} =~ /^\S+$/ || &error($text{'message_ehostname'});
	&save_directive($conf, 'hostname',
			[ { 'name' => 'hostname',
			    'values' => [ $in{'hostname'} ] } ]);
	}
if ($in{'email_def'}) {
	&save_directive($conf, 'email', [ ]);
	}
else {
	$in{'email'} =~ /^\S+$/ || &error($text{'message_eemail'});
	&save_directive($conf, 'email', [ { 'name' => 'email',
					    'values' => [ $in{'email'} ] } ]);
	}


&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("message", undef, undef, \%in);
&redirect("");

  0707010000d1df000081e40000000000000002000000013d1fe2db000005e1000000200000000000000000000000000000001b00000003reloc/wuftpd/save_misc.cgi    #!/usr/local/bin/perl
# save_log.cgi
# Save miscellaneous options

require './wuftpd-lib.pl';
&error_setup($text{'misc_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# Save ls* commands
foreach $l ('lslong', 'lsshort', 'lsplain') {
	if ($in{$l."_def"}) {
		&save_directive($conf, $l, [ ]);
		}
	elsif ($in{$l} !~ /\S/) {
		&error($text{"misc_e$l"});
		}
	else {
		&save_directive($conf, $l, [ { 'name' => $l,
					       'values' => [ $in{$l} ] } ] );
		}
	}

# Save shutdown command
if ($in{'shutdown_def'}) {
	&save_directive($conf, 'shutdown', [ ]);
	}
elsif ($in{'shutdown'} !~ /\S/) {
	&error($text{'misc_eshutdown'});
	}
else {
	&save_directive($conf, 'shutdown',
			[ { 'name' => 'shutdown',
			    'values' => [ $in{'shutdown'} ] } ] );
	}

# Save nice options
for($i=0; defined($ndelta = $in{"ndelta_$i"}); $i++) {
	next if ($ndelta eq '');
	$ndelta =~ /^[\-0-9]+$/ || &error(&text('misc_edelta', $ndelta));
	push(@nice, { 'name' => 'nice',
		      'values' => [ $ndelta, $in{"nclass_$i"} ] } );
	}
&save_directive($conf, 'nice', \@nice);

# Save defumask options
for($i=0; defined($umask = $in{"umask_$i"}); $i++) {
	next if ($umask eq '');
	$umask =~ /^[0-9]+$/ || &error(&text('misc_eumask', $umask));
	push(@umask, { 'name' => 'defumask',
		       'values' => [ $umask, $in{"uclass_$i"} ] } );
	}
&save_directive($conf, 'defumask', \@umask);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("misc", undef, undef, \%in);
&redirect("");
   0707010000d1e0000081e40000000000000002000000013d1fe2db00000653000000200000000000000000000000000000001a00000003reloc/wuftpd/save_net.cgi #!/usr/local/bin/perl
# save_net.cgi
# Save networking options

require './wuftpd-lib.pl';
&error_setup($text{'net_err'});
&ReadParse();

&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# Save TCP windows
for($i=0; defined($tsize = $in{"tsize_$i"}); $i++) {
	next if (!$tsize);
	$tsize =~ /^\d+$/ || &error(&text('net_etsize', $tsize));
	push(@tcpwindow, { 'name' => 'tcpwindow',
		           'values' => [ $tsize, $in{"tclass_$i"} ] } );
	}
&save_directive($conf, 'tcpwindow', \@tcpwindow);

# Save PASV options
for($i=0; defined($aip = $in{"aip_$i"}); $i++) {
	$anet = $in{"anet_$i"}; $acidr = $in{"acidr_$i"};
	next if (!$aip);
	&check_ipaddress($aip) || &error(&text('net_eip', $aip));
	&check_ipaddress($anet) || &error(&text('net_enet', $anet));
	$acidr =~ /^\d+$/ && $acidr <= 32 || &error(&text('net_ecidr', $acidr));
	push(@passive, { 'name' => 'passive',
			 'values' => [ 'address', $aip, "$anet/$acidr" ] } );
	}
for($i=0; defined($pmin = $in{"pmin_$i"}); $i++) {
	$pmax = $in{"pmax_$i"}; $pnet = $in{"pnet_$i"};
	$pcidr = $in{"pcidr_$i"};
	next if ($pmin eq "" || $pmax eq "");
	$pmin =~ /^\d+$/ || &error(&text('net_eport', $pmin));
	$pmax =~ /^\d+$/ || &error(&text('net_eport', $pmax));
	&check_ipaddress($pnet) || &error(&text('net_enet', $pnet));
	$pcidr =~ /^\d+$/ && $pcidr <= 32 || &error(&text('net_ecidr', $pcidr));
	push(@passive,
		{ 'name' => 'passive',
		  'values' => [ 'ports', "$pnet/$pcidr", $pmin, $pmax ] } );
	}
&save_directive($conf, 'passive', \@passive);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("net", undef, undef, \%in);
&redirect("");

 0707010000d1e1000081e40000000000000002000000013d1fe2da0000056e000000200000000000000000000000000000001b00000003reloc/wuftpd/save_perm.cgi    #!/usr/local/bin/perl
# save_perm.cgi
# Save permission options

require './wuftpd-lib.pl';
&error_setup($text{'perm_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();
@class = &find_value("class", $conf);

# Save chmod, delete, etc .. options
for($i=0; defined($type = $in{"type_$i"}); $i++) {
	next if (!$type);
	local @users = split(/\0/, $in{"users_$i"});
	local @classes = map { "class=$_" } split(/\0/, $in{"classes_$i"});
	@classes = () if (scalar(@classes) == scalar(@class));
	push(@$type, { 'name' => $type,
		       'values' => [ $in{"can_$i"},
				     join(",", @users, @classes) ] } );
	}
@permtypes = ( 'chmod', 'delete', 'overwrite', 'rename', 'umask' );
foreach $t (@permtypes) {
	&save_directive($conf, $t, \@$t);
	}

# Save path-filter options
for($i=0; defined($char = $in{"char_$i"}); $i++) {
	next if (!$char);
	$char =~ /^\S+$/ || &error(&text('perm_echar', $char));
	$in{"types_$i"} || &error($text{'perm_etypes'});
	$in{"types_$i"} =~ s/\0/,/g;
	-r $in{"mesg_$i"} || &error(&text('perm_emesg', $in{"mesg_$i"}));
	push(@filter, { 'name' => 'path-filter',
			'values' => [ $in{"types_$i"}, $in{"mesg_$i"},
				      $char, split(/\s+/, $in{"regexp_$i"})
				    ] } );
	}
&save_directive($conf, 'path-filter', \@filter);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("perm", undef, undef, \%in);
&redirect("");

  0707010000d1e2000081e40000000000000002000000013d1fe2db000000e3000000200000000000000000000000000000001700000003reloc/wuftpd/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the FTP server process with flags -l -a -S

require './wuftpd-lib.pl';
&system_logged("$config{'ftpd_path'} -l -a -S >/dev/null 2>&1 </dev/null");
&webmin_log("start");
&redirect("");

 0707010000d1e3000081a40000000000000002000000013d1fe2da0000088a000000200000000000000000000000000000001b00000003reloc/wuftpd/wuftpd-lib.pl    # wuftpd-lib.pl
# Functions for configuring wuftpd

do '../web-lib.pl';
&init_config();

# get_ftpaccess()
# Returns a list of wuftpd config options
sub get_ftpaccess
{
local @rv;
local $lnum = 0;
open(FTP, $config{'ftpaccess'});
while(<FTP>) {
	s/\r|\n//g;
	s/#.*$//;
	local @v = split(/\s+/, $_);
	if (@v) {
		push(@rv, { 'name' => shift(@v),
			    'values' => \@v,
			    'index' => scalar(@rv),
			    'line' => $lnum });
		}
	$lnum++;
	}
close(FTP);
return \@rv;
}

# find(name, &config)
sub find
{
local (@rv, $c);
foreach $c (@{$_[1]}) {
	push(@rv, $c) if ($c->{'name'} eq $_[0]);
	}
return wantarray ? @rv :
       @rv ? $rv[0] : undef;
}

# find_value(name, &config)
sub find_value
{
local (@rv, $c);
foreach $c (@{$_[1]}) {
	push(@rv, $c->{'values'}) if ($c->{'name'} eq $_[0]);
	}
return wantarray ? @rv :
       @rv ? $rv[0] : undef;
}

# save_directive(&config, name, &new)
sub save_directive
{
local @old = &find($_[1], $_[0]);
local @new = @{$_[2]};
local $lref = &read_file_lines($config{'ftpaccess'});
local ($i, $change);
for($i=0; $i<@old || $i<@new; $i++) {
	if ($i >= @old) {
		if ($change) {
			# Adding a new directive after one of the same
			splice(@$lref, $change->{'line'}+1, 0,
			       &directive_line($new[$i]));
			$new[$i]->{'line'} = $change->{'line'}+1;
			&renumber($_[0], $change->{'line'}, 1);
			push(@{$_[0]}, $new[$i]);
			}
		else {
			# Adding a new directive at the end
			push(@$lref, &directive_line($new[$i]));
			$new[$i]->{'line'} = scalar(@$lref);
			push(@{$_[0]}, $new[$i]);
			}
		$change = $new[$i];
		}
	elsif ($i >= @new) {
		# Removing a directive
		splice(@$lref, $old[$i]->{'line'}, 1);
		splice(@{$_[0]}, &indexof($old[$i], @{$_[0]}), 1);
		&renumber($_[0], $old[$i]->{'line'}, -1);
		}
	else {
		# Changing a directive
		$lref->[$old[$i]->{'line'}] = &directive_line($new[$i]);
		$new[$i]->{'line'} = $old[$i]->{'line'};
		$_[0]->[&indexof($old[$i], @{$_[0]})] = $new[$i];
		$change = $new[$i];
		}
	}
}

# renumber(&config, line, offset)
sub renumber
{
foreach $d (@{$_[0]}) {
	if ($d->{'line'} > $_[1]) { $d->{'line'} += $_[2]; }
	}
}

sub directive_line
{
return join("\t", $_[0]->{'name'}, @{$_[0]->{'values'}});
}

1;

  07070100015def000041ed0000000000000001000000043d1ffbb400000000000000200000000000000000000000000000000d00000003reloc/xinetd  07070100015df0000081a40000000000000002000000013d1fe2de00000094000000200000000000000000000000000000001400000003reloc/xinetd/config   xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/usr/local/sbin/xinetd -pid 2>/var/run/xinetd.pid
07070100015df1000081a40000000000000002000000013d1fe2de0000007a000000200000000000000000000000000000002100000003reloc/xinetd/config-debian-linux  xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/inetd.pid
start_cmd=/etc/init.d/xinetd start
  07070100015df2000081a40000000000000002000000013d1fe2de00000079000000200000000000000000000000000000001c00000003reloc/xinetd/config-freebsd   xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/usr/local/sbin/xinetd
   07070100015df3000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000002100000003reloc/xinetd/config-gentoo-linux  xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015df4000081a40000000000000002000000013d1fe2de00000080000000200000000000000000000000000000002300000003reloc/xinetd/config-mandrake-linux    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/rc.d/init.d/xinetd start
07070100015df5000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000001e00000003reloc/xinetd/config-msc-linux xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015df6000081a40000000000000002000000013d1fe2de00000080000000200000000000000000000000000000002100000003reloc/xinetd/config-redhat-linux  xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/rc.d/init.d/xinetd start
07070100015df7000081a40000000000000002000000013d1fe2de0000007c000000200000000000000000000000000000001f00000003reloc/xinetd/config-suse-linux    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/sbin/init.d/xinetd start
07070100015df8000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000002300000003reloc/xinetd/config-suse-linux-7.1    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015df9000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000002300000003reloc/xinetd/config-suse-linux-7.2    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015dfa000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000002300000003reloc/xinetd/config-suse-linux-7.3    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015dfb000081a40000000000000002000000013d1fe2de0000007b000000200000000000000000000000000000002300000003reloc/xinetd/config-suse-linux-8.0    xinetd_conf=/etc/xinetd.conf
protocols_file=/etc/protocols
pid_file=/var/run/xinetd.pid
start_cmd=/etc/init.d/xinetd start
 07070100015dfc000081a40000000000000002000000013d1fe2de00000097000000200000000000000000000000000000001900000003reloc/xinetd/config.info  xinetd_conf=Xinetd configuration file,0
protocols_file=Network protocols file,0
pid_file=Path to Xinetd PID file,0
start_cmd=Command to start xinetd,0
 07070100015dfd000081a40000000000000002000000013d1fe2de000000b0000000200000000000000000000000000000001c00000003reloc/xinetd/config.info.ca   xinetd_conf=Fitxer de configuració de Xinetd,0
protocols_file=Fitxer de protocols de xarxa,0
pid_file=Camí del fitxer de PID de Xinetd,0
start_cmd=Ordre per iniciar xinetd,0


07070100015dfe000081a40000000000000002000000013d1fe2de000000b7000000200000000000000000000000000000001c00000003reloc/xinetd/config.info.es   xinetd_conf=Archivo de configuración de Xinetd,0
protocols_file=Archivo de protocolos de Red,0
pid_file=Trayectoria a archivo PID de Xinetd,0
start_cmd=Comando para arrancar Xinetd,0
 07070100015dff000081a40000000000000002000000013d1fe2de0000009c000000200000000000000000000000000000001c00000003reloc/xinetd/config.info.hu   xinetd_conf=Xinetd konfigurációs file,0
protocols_file=Hálózati protokol file,0
pid_file=A Xinetd PID file útvonala,0
start_cmd=A xinetd indítása parancs,0
07070100015e00000081a40000000000000002000000013d1fe2de000000af000000200000000000000000000000000000001c00000003reloc/xinetd/config.info.pl   xinetd_conf=Plik konfiguracyjny Xinetd,0
protocols_file=Plik protoko³ów sieciowych,0
pid_file=Scie¿ka do pliku z&nbsp;numerem PID Xinetd,0
start_cmd=Polecenie uruchamiaj±ce,0
 07070100015e01000081a40000000000000002000000013d1fe2de000000a5000000200000000000000000000000000000001c00000003reloc/xinetd/config.info.sv   xinetd_conf=Inställningsfil för Xinetd,0
protocols_file=Nätverksprotokollsfil,0
pid_file=Sökväg till PID-fil för Xinetd,0
start_cmd=Kommando för att starta xinetd,0
   07070100015e02000081a40000000000000002000000013d1fe2de0000007d000000200000000000000000000000000000001f00000003reloc/xinetd/config.info.zh_CN    xinetd_conf=Xinetd ÅäÖÃÎÄ¼þ,0
protocols_file=ÍøÂçÐ­ÒéÎÄ¼þ,0
pid_file=Ö¸Ïò Xinetd PID µÄÎÄ¼þ,0
start_cmd=Æô¶¯ Xinetd µÄÃüÁî,0
   07070100015e03000081a40000000000000002000000013d1fe2de00000075000000200000000000000000000000000000002400000003reloc/xinetd/config.info.zh_TW.Big5   xinetd_conf=Xinetd²ÕºAÀÉ®×,0
protocols_file=ºô¸ô¨ó©wÀÉ®×,0
pid_file=Xinetd PID ÀÉ®×¸ô®|,0
start_cmd=°_°Êxinetd«ü¥O,0
   07070100015e04000081e40000000000000002000000013d1fe2de00000eb9000000200000000000000000000000000000001f00000003reloc/xinetd/edit_defaults.cgi    #!/usr/local/bin/perl
# edit_defaults.cgi
# Display a form for editing default options

require './xinetd-lib.pl';
&header($text{'defs_title'}, "");
print "<hr>\n";

foreach $xi (&get_xinetd_config()) {
	if ($xi->{'name'} eq 'defaults') {
		$defs = $xi;
		}
	}
$q = $defs->{'quick'};

print "<form action=save_defaults.cgi>\n";
print "<input type=hidden name=idx value='$defs->{'index'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'defs_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'serv_from'}</b></td>\n";
printf "<td><input type=radio name=from_def value=1 %s> %s\n",
	$q->{'only_from'} ? '' : 'checked', $text{'serv_from_def'};
printf "<input type=radio name=from_def value=0 %s> %s<br>\n",
	$q->{'only_from'} ? 'checked' : '', $text{'serv_from_sel'};
print "<textarea name=from rows=4 cols=20>",
	join("\n", @{$q->{'only_from'}}),"</textarea></td>\n";

print "<td valign=top><b>$text{'serv_access'}</b></td>\n";
printf "<td><input type=radio name=access_def value=1 %s> %s\n",
	$q->{'no_access'} ? '' : 'checked', $text{'serv_access_def'};
printf "<input type=radio name=access_def value=0 %s> %s<br>\n",
	$q->{'no_access'} ? 'checked' : '', $text{'serv_access_sel'};
print "<textarea name=access rows=4 cols=20>",
	join("\n", @{$q->{'no_access'}}),"</textarea></td> </tr>\n";

print "<tr> <td colspan=4><hr></td> </tr>\n";

$lt = $q->{'log_type'}->[0] eq 'SYSLOG' ? 1 :
      $q->{'log_type'}->[0] eq 'FILE' ? 2 : 0;
print "<tr> <td valign=top><b>$text{'defs_log'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=log_mode value=0 %s> %s<br>\n",
	$lt == 0 ? 'checked' : '', $text{'defs_log_def'};

printf "<input type=radio name=log_mode value=1 %s> %s\n",
	$lt == 1 ? 'checked' : '', $text{'defs_facility'};
%sconfig = &foreign_config("syslog");
&foreign_require("syslog", "syslog-lib.pl");
print "<select name=facility>\n";
foreach $f (split(/\s+/, $sconfig{'facilities'})) {
	printf "<option %s>%s\n",
		$lt == 1 && $q->{'log_type'}->[1] eq $f ? 'selected' : '', $f;
	}
print "</select> $text{'defs_level'}\n";
print "<select name=level>\n";
printf "<option value='' %s>%s\n",
	$lt != 1 || !$q->{'log_type'}->[2] ? 'selected' : '', $text{'default'};
foreach $l (&foreign_call("syslog", "list_priorities")) {
	printf "<option %s>%s\n",
		$lt == 1 && $q->{'log_type'}->[2] eq $l ? 'selected' : '', $l;
	}
print "</select><br>\n";

printf "<input type=radio name=log_mode value=2 %s> %s\n",
	$lt == 2 ? 'checked' : '', $text{'defs_file'};
printf "<input name=file size=35 value='%s'> %s<br>\n",
	$lt == 2 ? $q->{'log_type'}->[1] : '', &file_chooser_button("file");
printf "&nbsp;&nbsp;&nbsp;%s <input name=soft size=6 value='%s'>\n",
	$text{'defs_soft'}, $lt == 2 ? $q->{'log_type'}->[2] : '';
printf "&nbsp;&nbsp;%s <input name=hard size=6 value='%s'></td> </tr>\n",
	$text{'defs_hard'}, $lt == 2 ? $q->{'log_type'}->[3] : '';

print "<tr> <td valign=top><b>$text{'defs_success'}</b></td>\n";
print "<td><select name=success multiple size=5>\n";
foreach $s ('PID', 'HOST', 'USERID', 'EXIT', 'DURATION') {
	printf "<option value=%s %s>%s\n",
		$s, &indexof($s, @{$q->{'log_on_success'}})<0 ? '' : 'selected',
		$text{"defs_success_".lc($s)};
	}
print "</select></td>\n";

print "<td valign=top><b>$text{'defs_failure'}</b></td>\n";
print "<td><select name=failure multiple size=5>\n";
foreach $s ('HOST', 'USERID', 'ATTEMPT', 'RECORD') {
	printf "<option value=%s %s>%s\n",
		$s, &indexof($s, @{$q->{'log_on_failure'}})<0 ? '' : 'selected',
		$text{"defs_failure_".lc($s)};
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table>\n";
print "<input type=submit value='$text{'save'}'></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100015e05000081e40000000000000002000000013d1fe2de00001c09000000200000000000000000000000000000001b00000003reloc/xinetd/edit_serv.cgi    #!/usr/local/bin/perl
# edit_serv.cgi
# Display a form for editing or creating an internet service

require './xinetd-lib.pl';
&ReadParse();
if ($in{'new'}) {
	&header($text{'serv_create'}, "");
	}
else {
	&header($text{'serv_edit'}, "");
	@conf = &get_xinetd_config();
	$xinet = $conf[$in{'idx'}];
	$q = $xinet->{'quick'};
	}
print "<hr>\n";

print "<form action=save_serv.cgi>\n";
print "<input type=hidden name=new value='$in{'new'}'>\n";
print "<input type=hidden name=idx value='$in{'idx'}'>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'serv_header1'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td><b>$text{'serv_id'}</b></td>\n";
printf "<td><input name=id size=10 value='%s'></td>\n",
	$xinet->{'value'};

print "<td><b>$text{'serv_enabled'}</b></td>\n";
printf "<td><input type=radio name=disable value=0 %s> %s\n",
	$q->{'disable'}->[0] eq 'yes' ? '' : 'checked', $text{'yes'};
printf "<input type=radio name=disable value=1 %s> %s</td> </tr>\n",
	$q->{'disable'}->[0] eq 'yes' ? 'checked' : '', $text{'no'};

print "<td><b>$text{'serv_bind'}</b></td>\n";
printf "<td><input type=radio name=bind_def value=1 %s> %s\n",
	$q->{'bind'} ? '' : 'checked', $text{'serv_bind_def'};
printf "<input type=radio name=bind_def value=0 %s>\n",
	$q->{'bind'} ? 'checked' : '';
printf "<input name=bind size=20 value='%s'></td>\n",
	$q->{'bind'}->[0];

print "<td><b>$text{'serv_port'}</b></td>\n";
printf "<td><input type=radio name=port_def value=1 %s> %s\n",
	$q->{'port'} ? '' : 'checked', $text{'serv_port_def'};
printf "<input type=radio name=port_def value=0 %s>\n",
	$q->{'port'} ? 'checked' : '';
printf "<input name=port size=8 value='%s'></td> </tr>\n",
	$q->{'port'}->[0];

print "<tr> <td><b>$text{'serv_sock'}</b></td>\n";
print "<td><select name=sock>\n";
foreach $s ('stream', 'dgram', 'raw', 'seqpacket') {
	printf "<option value=%s %s>%s\n",
		$s, $q->{'socket_type'}->[0] eq $s ? 'selected' : '',
		$text{"sock_$s"};
	}
print "</select></td>\n";

print "<td><b>$text{'serv_proto'}</b></td>\n";
print "<td><select name=proto>\n";
foreach $p ('', &list_protocols()) {
	printf "<option value='%s' %s>%s\n",
		$p, $q->{'protocol'}->[0] eq $p ? 'selected' : '',
		$text{"proto_$p"} ? $text{"proto_$p"} : uc($p);
	}
print "</select></td> </tr>\n";

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'serv_header2'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

$prog = &indexof('INTERNAL', @{$q->{'type'}}) >= 0 ? 0 :
	$q->{'redirect'} ? 2 : 1;
print "<tr> <td valign=top><b>$text{'serv_prog'}</b></td> <td colspan=3>\n";
printf "<input type=radio name=prog value=0 %s> %s<br>\n",
	$prog == 0 ? 'checked' : '', $text{'serv_internal'};
printf "<input type=radio name=prog value=1 %s> %s\n",
	$prog == 1 ? 'checked' : '', $text{'serv_server'};
printf "<input name=server size=50 value='%s'><br>\n",
	join(" ", $q->{'server'}->[0], @{$q->{'server_args'}});
printf "<input type=radio name=prog value=2 %s> %s\n",
	$prog == 2 ? 'checked' : '', $text{'serv_redirect'};
printf "<input name=rhost size=20 value='%s'> %s\n",
	$prog == 2 ? $q->{'redirect'}->[0] : "", $text{'serv_rport'};
printf "<input name=rport size=6 value='%s'></td> </tr>\n",
	$prog == 2 ? $q->{'redirect'}->[1] : "";

print "<tr> <td><b>$text{'serv_user'}</b></td>\n";
printf "<td><input name=user size=10 value='%s'> %s</td>\n",
	$q->{'user'}->[0], &user_chooser_button('user');

print "<td><b>$text{'serv_group'}</b></td>\n";
printf "<td><input type=radio name=group_def value=1 %s> %s\n",
	$q->{'group'} ? '' : 'checked', $text{'serv_group_def'};
printf "<input type=radio name=group_def value=0 %s>\n",
	$q->{'group'} ? 'checked' : '';
printf "<input name=group size=10 value='%s'> %s</td> </tr>\n",
	$q->{'group'}->[0], &group_chooser_button('group');

print "<tr> <td><b>$text{'serv_wait'}</b></td>\n";
printf "<td><input type=radio name=wait value=1 %s> %s\n",
	$q->{'wait'}->[0] eq 'yes' ? 'checked' : '', $text{'yes'};
printf "<input type=radio name=wait value=0 %s> %s</td>\n",
	$q->{'wait'}->[0] eq 'yes' ? '' : 'checked', $text{'no'};

print "<td><b>$text{'serv_inst'}</b></td>\n";
printf "<td><input type=radio name=inst_def value=1 %s> %s\n",
	$q->{'instances'} ? '' : 'checked', $text{'serv_inst_def'};
printf "<input type=radio name=inst_def value=0 %s>\n",
	$q->{'instances'} ? 'checked' : '';
printf "<input name=inst size=5 value='%s'></td> </tr>\n",
	$q->{'instances'}->[0];

print "<tr> <td><b>$text{'serv_nice'}</b></td>\n";
printf "<td><input type=radio name=nice_def value=1 %s> %s\n",
	$q->{'nice'} ? '' : 'checked', $text{'default'};
printf "<input type=radio name=nice_def value=0 %s>\n",
	$q->{'nice'} ? 'checked' : '';
printf "<input name=nice size=5 value='%s'></td>\n",
	$q->{'nice'}->[0];

print "<td><b>$text{'serv_cps0'}</b></td>\n";
printf "<td><input type=radio name=cps_def value=1 %s> %s\n",
	$q->{'cps'} ? '' : 'checked', $text{'serv_cps_def'};
printf "<input type=radio name=cps_def value=0 %s>\n",
	$q->{'cps'} ? 'checked' : '';
printf "<input name=cps0 size=5 value='%s'> %s</td> </tr>\n",
	$q->{'cps'}->[0];

print "<tr> <td colspan=2></td>\n";
print "<td><b>$text{'serv_cps1'}</b></td>\n";
printf "<td><input name=cps1 size=5 value='%s'> $text{'serv_sec'}</td> </tr>\n",
	$q->{'cps'}->[1];

print "</table></td></tr></table><p>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'serv_header3'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";

print "<tr> <td valign=top><b>$text{'serv_from'}</b></td>\n";
printf "<td><input type=radio name=from_def value=1 %s> %s\n",
	$q->{'only_from'} ? '' : 'checked', $text{'serv_from_def'};
printf "<input type=radio name=from_def value=0 %s> %s<br>\n",
	$q->{'only_from'} ? 'checked' : '', $text{'serv_from_sel'};
print "<textarea name=from rows=4 cols=20>",
	join("\n", @{$q->{'only_from'}}),"</textarea></td>\n";

print "<td valign=top><b>$text{'serv_access'}</b></td>\n";
printf "<td><input type=radio name=access_def value=1 %s> %s\n",
	$q->{'no_access'} ? '' : 'checked', $text{'serv_access_def'};
printf "<input type=radio name=access_def value=0 %s> %s<br>\n",
	$q->{'no_access'} ? 'checked' : '', $text{'serv_access_sel'};
print "<textarea name=access rows=4 cols=20>",
	join("\n", @{$q->{'no_access'}}),"</textarea></td> </tr>\n";

print "<tr> <td valign=top><b>$text{'serv_times'}</b></td>\n";
printf "<td colspan=3><input type=radio name=times_def value=1 %s> %s\n",
	$q->{'access_times'} ? '' : 'checked', $text{'serv_times_def'};
printf "<input type=radio name=times_def value=0 %s>\n",
	$q->{'access_times'} ? 'checked' : '';
printf "<input name=times size=40 value='%s'></td> </tr>\n",
	join(" ", @{$q->{'access_times'}});

print "</table></td></tr></table>\n";
print "<table width=100%><tr>\n";
if ($in{'new'}) {
	print "<td><input type=submit value='$text{'create'}'></td>\n";
	}
else {
	print "<td><input type=submit value='$text{'save'}'></td>\n";
	print "<td align=right><input type=submit name=delete ",
	      "value='$text{'delete'}'></td>\n";
	}
print "</tr></table></form>\n";

print "<hr>\n";
&footer("", $text{'index_return'});

   07070100015e06000081a40000000000000002000000013d1fe2de00000083000000200000000000000000000000000000001f00000003reloc/xinetd/feedback_files.pl    
do 'xinetd-lib.pl';

sub feedback_files
{
local $conf = &get_xinetd_config();
return &unique(map { $_->{'file'} } @$conf);
}

1;

 0707010001741f000041ed0000000000000001000000023d1ffbb400000000000000200000000000000000000000000000001400000003reloc/xinetd/images   07070100017420000081a40000000000000002000000013d1fe2de00000123000000200000000000000000000000000000001d00000003reloc/xinetd/images/icon.gif  GIF87a0 0 Â  øüøÈÌÈ   ÈÌø˜˜˜`d`      ,    0 0  ðºþ0ÊÉª­PèÍ{‡Wˆ=^Y‚bš™¬†¦áÚš/lÉ³WÛÍl¿ &¨,v<EFh4
@2¹‚6‰Îè”·l^‡^ðÖŠ2‰Ðß†ËqÖ*’[çKŽsºÃ~ä?u|Jr.‚myp"Ž‹1’”‡|•˜–‚G™š›7{Ÿ<’¥¦¥£|§«©6¬°¨®œ¡®“µ·¹ºžv¾©±±ŒÅ°Ç1ÉÊ«Ì³Ò ÁÁ)ØÙÚÛÜÝÞÓGØà›âäˆçèTÛÃÁÜÕÞòóôõöÞ÷óüýþÿ ù) °`Àu*\È°!Ÿ ; 07070100015e07000081e40000000000000002000000013d1fe2de00000c54000000200000000000000000000000000000001700000003reloc/xinetd/index.cgi    #!/usr/local/bin/perl
# index.cgi
# Display all xinetd services

require './xinetd-lib.pl';
&header($text{'index_title'}, "", undef, 1, 1, 0,
	&help_search_link("xinetd", "man", "doc", "google"));
print "<hr>\n";

# Check for config file
if (!-r $config{'xinetd_conf'}) {
	print "<p>",&text('index_econf', "<tt>$config{'xinetd_conf'}</tt>",
			  "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p><hr>\n";
	&footer("/", $text{'index'});
	exit;
	}

print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'index_name'}</b></td> ",
      "<td><b>$text{'index_type'}</b></td> ",
      "<td><b>$text{'index_port'}</b></td> ",
      "<td><b>$text{'index_proto'}</b></td> ",
      "<td><b>$text{'index_user'}</b></td> ",
      "<td><b>$text{'index_server'}</b></td> ",
      "<td><b>$text{'index_enabled'}</b></td> </tr>\n";
foreach $x (&get_xinetd_config()) {
	next if ($x->{'name'} ne 'service');
	local $q = $x->{'quick'};
	local @s;
	if ($q->{'type'}->[0] eq 'UNLISTED') {
		@s = ( $x->{'name'}, undef, $q->{'port'}->[0],
		       $q->{'protocol'}->[0] );
		}
	elsif ($q->{'protocol'}) {
		@s = getservbyname($x->{'value'}, $q->{'protocol'}->[0]);
		if (!@s) {
			@s = ( $x->{'name'}, undef, $q->{'port'}->[0],
			       $q->{'protocol'}->[0] );
			}
		}
	else {
		foreach $p (&list_protocols()) {
			@s = getservbyname($x->{'value'}, $p);
			last if (@s);
			}
		}
	print "<tr $cb>\n";
	print "<td><a href='edit_serv.cgi?idx=$x->{'index'}'>",
	      &html_escape($x->{'value'}),"</a></td>\n";
	print "<td>",&indexof('RPC', @{$q->{'type'}}) < 0 ?
		     $text{'index_inet'} : $text{'index_rpc'},"</td>\n";
	print "<td>",&html_escape($s[2]),"</td>\n";
	print "<td>",&html_escape(uc($s[3])),"</td>\n";
	print "<td>",$q->{'user'} ? &html_escape($q->{'user'}->[0])
				  : "<br>","</td>\n";
	print "<td>",&indexof('INTERNAL', @{$q->{'type'}}) >= 0 ?
		     $text{'index_internal'} : $q->{'redirect'} ?
		     &text('index_redirect', "<tt>".&html_escape($q->{'redirect'}->[0])."</tt>") :
		     &html_escape($q->{'server'}->[0]),"</td>\n";
	print "<td>",$q->{'disable'}->[0] eq 'yes' ?
	      "<font color=#ff0000>$text{'no'}</font>" : $text{'yes'},"</td>\n";
	print "</tr>\n";
	}
print "</table>\n";
print "<a href='edit_serv.cgi?new=1'>$text{'index_add_inet'}</a><p>\n";

print "<hr>\n";
print "<table>\n";
print "<form action=edit_defaults.cgi>\n";
print "<tr> <td><input type=submit value=\"$text{'index_defaults'}\"></td>\n";
print "<td>$text{'index_defaultsmsg'} \n";
print "</td> </tr>\n";
print "</form>\n";

if (open(PID, $config{'pid_file'})) {
	chop($pid = <PID>);
	close(PID);
	}
if ($pid && kill(0, $pid)) {
	print "<form action=restart.cgi>\n";
	print "<input type=hidden name=pid value=$pid>\n";
	print "<tr> <td><input type=submit value=\"$text{'index_apply'}\"></td>\n";
	print "<td>$text{'index_applymsg'} \n";
	print "</td></tr>\n";
	print "</form>\n";
	}
else {
	print "<form action=start.cgi>\n";
	print "<tr> <td><input type=submit value=\"$text{'index_start'}\"></td>\n";
	print "<td>$text{'index_startmsg'} \n";
	print "</td> </tr>\n";
	print "</form>\n";
	}
print "</table>\n";

print "<hr>\n";
&footer("/", $text{'index'});

0707010001fb45000041ed0000000000000001000000023d1ffbb400000000000000200000000000000000000000000000001200000003reloc/xinetd/lang 0707010001fb46000081a40000000000000002000000013d1fe2de00001943000000200000000000000000000000000000001500000003reloc/xinetd/lang/ca  main_return=Torna $1
main_homepage=Pàgina Arrel
main_feedback=Opinions...
main_switch=Canvia l'Usuari...
main_logout=Surt
main_version=Versió $1 a $2 ($3)
main_title=Webmin $1 a $2 ($3)
main_none=No tens accés a cap mòdul Webmin.
main_skill=Nivell de Coneixements

category_servers=Servidors
category_hardware=Maquinari
category_system=Sistema
category_webmin=Webmin
category_net=Xarxa
category_syslet=Syslets
category_cluster=Cluster
category_info=Informació
category_=Altres

header_webmin=Índex de Webmin
header_module=Índex de Mòduls
header_help=Ajuda...
header_config=Configuració del Mòdul
header_servers=Servidors Webmin

index=a l'índex
yes=Sí
no=No
save=Desa
create=Crea
delete=Suprimeix
find=Busca
error=Error
default=Defecte
modify=Modifica
reset=Reinicia
ok=Bé
cancel=Cancel·la
helpsearch=Busca documents...

chooser_title1=Tria Fitxer...
chooser_title2=Tria Directori...
chooser_dir=Directori de $1
chooser_ok=Bé

users_title1=Selecciona els Usuaris...
users_title2=Selecciona l'Usuari...
users_sel=Usuaris seleccionats
users_all=Tots els Usuaris
users_ok=Bé
users_cancel=Cancel·la
users_clear=Neteja

groups_title1=Selecciona els Grups...
groups_title2=Selecciona el Grup...
groups_all=Tots els Grups
groups_sel=Grups Seleccionats
groups_ok=Bé
groups_cancel=Cancel·la
groups_clear=Neteja

config_ecannot=No tens permís per configurar aquest mòdul
config_title=Configuració
config_dir=$1
config_header=$1: Opcions configurables
config_none=Cap
config_eaccess=No tens permís per accedir a aquest mòdul

help_err=No he pogut mostrar l'ajuda
help_epath=Hi falta el camí de l'ajuda o bé no és vàlid
help_efile=No he pogut llegir el fitxer d'ajuda $1
help_eheader=Hi falta la secció &lt;header&gt;
help_einclude=No he pogut incloure $1
help_eif=$1 ha fallat: $2
help_eexec=$1 ha fallat: $2

referer_title=Avís de Seguretat
referer_warn=<b>Atenció!</b> Webmin ha detectat que el programa $2 és un enllaç a l'URL $1, que sembla ser que queda fora del servidor Webmin. Això pot ser un intent d'enganyar el servidor per tal que executi una ordre perillosa.
referer_warn_unknown=<b>Atenció!</b> Webmin ha detectat que el programa $1 és un enllaç a un URL desconegut, que sembla ser que queda fora del servidor Webmin. Això pot ser un intent d'enganyar el servidor per tal que executi una ordre perillosa.
referer_ok=Continua executant el programa Webmin
referer_again=No tornis a mostrar aquest avís

session_header=Entrada a Webmin
session_mesg=Per entrar al servidor Webmin de $1, has d'introduir un nom d'usuari i una contrasenya.
session_mesg2=Per entrar, has d'introduir un nom d'usuari i una contrasenya.
session_user=Usuari
session_pass=Contrasenya
session_login=Entra
session_clear=Neteja
session_failed=L'entrada ha fallat. Prova-ho un altre cop, si et plau.
session_logout=Has sortit amb èxit. Fes servir el formulari de sota per tornar a entrar.
session_timed_out=La sessió s'ha cancel·lat després de $1 minuts d'inactivitat.
session_save=Recorda la contrasenya

acl_root=Directori arrel del selector de fitxers
acl_uedit=Usuaris visibles en el selector d'usuaris
acl_uedit_all=Tots els usuaris
acl_uedit_none=Cap usuari
acl_uedit_only=Només els usuaris
acl_uedit_except=Tots excepte els usuaris
acl_uedit_uid=Usuaris amb UID en el rang
acl_uedit_group=Usuaris amb grup
acl_gedit=Grups visibles en el selector de grups
acl_gedit_all=Tots els grups
acl_gedit_none=Cap grup
acl_gedit_only=Només els grups
acl_gedit_except=Tots excepte els grups
acl_gedit_gid=Grups amb GIDs en el rang

month_1=Gener
month_2=Febrer
month_3=Març
month_4=Abril
month_5=Maig
month_6=Juny
month_7=Juliol
month_8=Agost
month_9=Setembre
month_10=Octubre
month_11=Novembre
month_12=Desembre

day_0=Diumenge
day_1=Dilluns
day_2=Dimarts
day_3=Dimecres
day_4=Dijous
day_5=Divendres
day_6=Dissabte

smonth_1=Gen
smonth_2=Feb
smonth_3=Mar
smonth_4=Abr
smonth_5=Mai
smonth_6=Jun
smonth_7=Jul
smonth_8=Ago
smonth_9=Set
smonth_10=Oct
smonth_11=Nov
smonth_12=Des

sday_0=Dmg
sday_1=Dll
sday_2=Dmt
sday_3=Dmc
sday_4=Djs
sday_5=Dvs
sday_6=Dss

emodule=Accés denegat : L'usuari $1 no té permís per utilitzar el mòdul $2
elock_tries=No he pogut blocar el fitxer $1 després de $2 minuts

skill_high=Expert
skill_medium=Mitjà
skill_low=Passerell

feedback_title=Informe d'Opinió
feedback_desc=Aquest formulari et permet informar de defectes o fer suggeriments als desenvolupadors de Webmin sobre qulasevol problema o mancança de funcionalitats que hagis trobat. Quan facis clic sobre el botó Envia, s'enviaran a $1 els detalls introduïts al formulari.
feedback_header=Detalls
feedback_name=El teu nom
feedback_email=La teva adreça electrònica
feedback_module=Pel que fa al mòdul
feedback_all=Tots els mòduls
feedback_text=Descripció del problema o suggerència
feedback_os=Inclou els detalls del sistema operatiu amb el correu electrònic
feedback_osdesc=Si selecciones aquesta opció, el correu inclourà el nom i la versió del teu sistema operatiu.
feedback_config=Inclou la configuració del mòdul amb el correu electrònic
feedback_configdesc=Si selecciones aquesta opció, el correu inclourà la configuració del mòdul relacionat i el contingut de qualsevol fitxer de configuració utilitzat pel mateix. Per exemple, si l'informe té a veure amb el mòdul d'<i>Usuaris i Grups</i>, s'enviaran els fitxers <tt>/etc/passwd</tt> i <tt>/etc/shadow</tt>.
feedback_attach=Fitxers addicionals per adjuntar
feedback_send=Envia
feedback_mailserver=Envia a través d'un servidor SMTP
feedback_err=No he pogut enviar l'informe
feedback_emodule=Has triat d'incloure la configuració del mòdul en el correu, però no has seleccionat cap mòdul
feedback_emodule2=El mòdul seleccionat no existeix
feedback_econfig=No tens un accés complet al mòdul seleccionat.
feedback_via=He enviat l'informe a $1 a tarvés del servidor SMTP $2.
feedback_prog=He enviat l'informe a $1 fent servir el programa $2 de sendmail.
feedback_esend=No he pogut enviar l'informe a través del programa sendmail ni del servidor SMTP local.
feedback_cc=Envia també còpia a
feedback_towebmin=Envia només a l'adreça de còpia
feedback_eto=Si no l'envies a d'adreça d'opinió, has d'introduir una adreça de còpia
feedback_ecannot=No tens permís per enviar opinions
feedback_ecannot2=No tens permís per enviar opinions que contenen fitxers de configuració

progress_size=Descarregant $1 ($2 bytes)...
progress_nosize=Descarregant $1...
progress_data=S'han rebut $1 bytes ($2 %)
progress_data2=S'han rebut $1 bytes
progress_done=...descàrrega completa.


 0707010001fb47000081a40000000000000002000000013d1fe2de0000103a000000200000000000000000000000000000001500000003reloc/xinetd/lang/en  index_title=Extended Internet Services
index_name=Service name
index_type=Type
index_port=Port / number
index_rpc=RPC
index_inet=Internet
index_proto=Protocol
index_user=User
index_server=Server program
index_redirect=Redirect to $1
index_enabled=Enabled?
index_internal=Internal to Xinetd
index_add_inet=Create a new internet service
index_add_rpc=Create a new RPC service
index_return=service list
index_defaults=Edit Defaults
index_defaultsmsg=Click this button to edit default options that apply to all internet and RPC services
index_apply=Apply Changes
index_applymsg=Click this button to apply the current configuration by sending a SIGHUP signal to the running <tt>xinetd</tt> process
index_start=Start Xinetd
index_startmsg=Click this button to start the Xinetd server with the current configuration
index_econf=The Xinetd configuration file $1 does not exist. Maybe it is not installed, or your <a href='$2'>module configuration</a> is incorrect.

serv_create=Create Internet Service
serv_edit=Edit Internet Service
serv_header1=Service network options
serv_header2=Service program options
serv_header3=Service access control
serv_id=Service name
serv_port=Port number
serv_port_def=Standard
serv_sock=Socket type
serv_proto=Protocol
serv_enabled=Service enabled?
serv_bind=Bind to address
serv_bind_def=All
serv_user=Run as user
serv_group=Run as group
serv_group_def=From user
serv_prog=Service handled by
serv_internal=Internal to Xinetd
serv_server=Server program
serv_redirect=Redirect to host
serv_rport=port
serv_wait=Wait until complete?
serv_inst=Max concurrent servers
serv_inst_def=Unlimited
serv_nice=Nice level for server
serv_cps0=Maximum connections per second
serv_cps_def=Unlimited
serv_cps1=Delay if maximum is reached
serv_sec=seconds
serv_from=Allow access from
serv_from_def=All hosts
serv_from_sel=Only listed hosts..
serv_access=Deny access from
serv_access_def=No hosts
serv_access_sel=Only listed hosts..
serv_times=Allow access at times
serv_times_def=Any time
serv_err=Failed to save service
serv_eid=Missing or invalid service name
serv_ebind=Missing or invalid address to bind to
serv_eport=Missing or invalid port number
serv_einst=Missing or invalid number of concurrent servers
serv_euser=You must enter a user
serv_egroup=You must enter a group
serv_estd=There is no standard port number for service $1
serv_eproto=You must select a protocol for this service
serv_eserver=Missing or invalid server program
serv_erhost=Missing or invalid redirect host
serv_erport=Missing or invalid redirect port
serv_enice=Missing or invalid nice level
serv_ecps0=Missing or invalid number of connections per second
serv_ecps1=Missing or invalid delay
serv_etimes=Access times must be in the format HH:MM-HH:MM

sock_stream=Stream
sock_dgram=Datagram
sock_raw=Raw
sock_seqpacket=Sequential datagram

proto_=Default
proto_ip=IP (Internet Protocol)
proto_tcp=TCP (Transmission Control Protocol)
proto_udp=UDP (User Datagram Protocol)

restart_err=Failed to apply changes
restart_ekill=Failed to send HUP signal to PID $1 : $2

start_err=Failed to start xinetd
start_estart=$1 failed : $2

defs_title=Default Options
defs_header=Default options for services
defs_log=Xinetd logging mode
defs_log_def=Disable logging
defs_facility=Log to syslog facility
defs_level=at level
defs_file=Log to file
defs_soft=Soft file limit
defs_hard=Hard file limit
defs_success=On successful connection log
defs_success_pid=Server process ID
defs_success_host=Remote host
defs_success_userid=Remote ident user
defs_success_exit=Server exit status
defs_success_duration=Session duration
defs_failure=On failed connection log
defs_failure_host=Remote host
defs_failure_userid=Remote ident user
defs_failure_attempt=Connection attempt
defs_failure_record=Remote information
defs_err=Failed to save default options
defs_efile=Missing or invalid log filename
defs_esoft=Missing or invalid soft limit
defs_ehard=Missing or invalid hard limit

log_create_serv=Created $2 service $1
log_modify_serv=Modified $2 service $1
log_delete_serv=Deleted $2 service $1
log_start=Started Xinetd server
log_apply=Applied changes
log_defaults=Changed default options

  0707010001fb48000081a40000000000000002000000013d1fe2de000012d2000000200000000000000000000000000000001500000003reloc/xinetd/lang/es  index_title=Servicios Extendidos de Internet
index_name=Nombre de Servicio
index_type=Tipo
index_port=Puerto / número
index_rpc=RPC
index_inet=Internet
index_proto=Protocolo
index_user=Usuario
index_server=Programa servidor
index_redirect=Redireccionar a $1
index_enabled=¿Activado?
index_internal=Interno a Xinetd
index_add_inet=Crear un nuevo servicio de internet
index_add_rpc=Crear un nuevo servicio RPC
index_return=lista de servicios
index_defaults=Editar por Defecto
index_defaultsmsg=Haz click en este botón para editar las opciones por defecto que se aplican a todos los servicios de internet y de RPC
index_apply=Aplicar los Cambios
index_applymsg=Haz click en este botón para aplicar la configuración en curso mediante el envío de una señal SIGHUP al proceso <tt>xinetd</tt> en ejecución
index_start=Arrancar Xinetd
index_startmsg=Hac click en este botón para arrancar el servidor Xinetd con la configuración en curso
index_econf=El archivo de configuración de Xinetd $1 no existe. Quizás no está instalado o tu <a href='$2'>configuración del módulo</a> es incorrecta.

serv_create=Crear Servicio de Internet
serv_edit=Editar Servicio de Internet
serv_header1=Opciones de red de servicio
serv_header2=Opciones de programa de servicio
serv_header3=Control de acceso a servicio
serv_id=Nombre de servicio
serv_port=Número de puerto
serv_port_def=Estándar
serv_sock=Tipo de Socket
serv_proto=Protocolo
serv_enabled=¿Servicio activado?
serv_bind=Cambiar a dirección
serv_bind_def=Todas
serv_user=Ejecutar como usuario
serv_group=Ejecutar como grupo
serv_group_def=Desde usuario
serv_prog=Servicio manejado por
serv_internal=Interno a Xinetd
serv_server=Programa de servidor
serv_redirect=Redireccionar a máquina
serv_rport=puerto
serv_wait=¿Espero hasta que se complete?
serv_inst=Máx.núm. de servidores concurrentes
serv_inst_def=Ilimitado
serv_nice=Nivel de prioridad (Nice) para servidor
serv_cps0=Máximas conexiones por segundo
serv_cps_def=Ilimitadas
serv_cps1=Retardo si se alcanza el máximo
serv_sec=segundos
serv_from=Permitir acceso desde
serv_from_def=Todas las máquinas
serv_from_sel=Sólos las máquinas listadas...
serv_access=Denegar acceso desde
serv_access_def=Todas las máquinas
serv_access_sel=Sólo las máquinas listadas...
serv_times=Permitir acceso en períodos
serv_times_def=Cualquier hora
serv_err=No pude salvar servicio
serv_eid=Nombre de servicio inválido o sin poner
serv_ebind=Dirección a cambiar a inválida o sin poner
serv_eport=Número de puerto inválido o sin poner
serv_einst=Número de servidores concurrentes inválido o sin poner
serv_euser=Debes de digitar un usuario
serv_egroup=Debes de digitar un grupo
serv_estd=No hay un número de puerto estándar para el servicio $1
serv_eproto=Debes de seleccionar un protocolo para este servicio
serv_eserver=Programa servidor inválido o sin poner
serv_erhost=Máquina redirigida inválida o sin poner
serv_erport=Puerto redirigido inválido o sin poner
serv_enice=Nivel de prioridad (Nice) inválido o sin poner
serv_ecps0=Número de conexiones por segundo inválido o sin poner
serv_ecps1=Retardo inválido o sin poner
serv_etimes=Los tiempos de acceso deben de tener el formato HH:MM-HH:MM

sock_stream=Flujo
sock_dgram=Datagrama
sock_raw=Sin búfer
sock_seqpacket=Datagrama secuencial

proto_=Por defecto
proto_ip=IP (Protocolo de Internet)
proto_tcp=TCP (Protocolo de Control de Transmisión)
proto_udp=UDP (Protocolo de Datagrama de Usuario)

restart_err=No pude aplicar los cambios
restart_ekill=No pude enviar la señal HUP al PID $1 : $2

start_err=No pude arrancar xinetd
start_estart=$1 falló: $2

defs_title=Opciones por Defecto
defs_header=Opciones por defecto para los servicios
defs_log=Modo de historial de Xinetd
defs_log_def=Desactivar historial
defs_facility=LLevar historial con la facilidad syslog
defs_level=en nivel
defs_file=Historial en archivo
defs_soft=Límite de archivo por soft
defs_hard=Límite de archivo por hard
defs_success=Historial de conexión con éxito
defs_success_pid=ID de proceso servidor
defs_success_host=Máquina remota
defs_success_userid=Identificación de usuario remoto
defs_success_exit=Estado de salida de servidor
defs_success_duration=Duración de sesión
defs_failure=Historial de fallos de conexión
defs_failure_host=Máquina remota
defs_failure_userid=Identificación de usuario remoto
defs_failure_attempt=Intento de conexión
defs_failure_record=Información remota
defs_err=No pude salvar opciones por defecto
defs_efile=Nombre de archivo de historial inválido o sin poner
defs_esoft=Límite de soft inválido o sin poner
defs_ehard=Límite de hard inválido o sin poner

log_create_serv=Creado $2 servicio $1
log_modify_serv=Modificado $2 servicio $1
log_delete_serv=Borrado $2 servicio $1
log_start=Arrancado servidor Xinetd
log_apply=Aplicados los cambios
log_defaults=Cambiadas opciones por defecto

  0707010001fbcd000081a40000000000000002000000013d1fe2de000012ee000000200000000000000000000000000000001500000003reloc/xinetd/lang/fr  index_title=Services Internet étendus
index_name=Nom de service
index_type=Type
index_port=Port / numéro
index_rpc=RPC
index_inet=Internet
index_proto=Protocole
index_user=Utilisateur
index_server=Programme du serveur
index_redirect=Rediriger vers $1
index_enabled=Activé ?
index_internal=Interne à xinetd
index_add_inet=Créer un nouveau service internet
index_add_rpc=Créer un nouveau service RPC
index_return=liste de services
index_defaults=Editer les options par défaut
index_defaultsmsg=Cliquer ce bouton pour éditer les options par défaut qui s'appliquent à tous les services Internet et RPC
index_apply=Appliquer les changements
index_applymsg=Cliquer ce bouton pour appliquer la configuration actuelle en envoyant un signal SIGHUP au processus <tt>xinetd</tt> actuel.
index_start=Démarrer xinetd
index_startmsg=Cliquer ce bouton pour démarrer le serveur xinetd avec la configuration actuelle
index_econf=Le fichier de configuration xinetd actuel $1 n'existe pas. Peut-être qu'il n'est pas installé, ou que votre <a href='$2'>configuration de module</a> est incorrecte.

serv_create=Créer un service Internet
serv_edit=Editer un service Internet
serv_header1=Options réseau du service
serv_header2=Options du programme du service
serv_header3=Contrôle d'accès au service
serv_id=Nom du service
serv_port=Numéro de port
serv_port_def=Standard
serv_sock=Type de socket
serv_proto=Protocole
serv_enabled=Service activé ?
serv_bind=Lier à l'adresse
serv_bind_def=Toutes
serv_user=Tourner en tant qu'utilisateur
serv_group=Tourner en tant que groupe
serv_group_def=De l'utilisateur
serv_prog=Service effectué par
serv_internal=Interne à xinetd
serv_server=Programme du serveur
serv_redirect=Rediriger vers la machine
serv_rport=port
serv_wait=Attendre jusqu'à la fin ?
serv_inst=Serveurs concurrents maxi
serv_inst_def=Illimité
serv_nice=Niveau de nice pour le serveur
serv_cps0=Nombre maximum de connections par seconde
serv_cps_def=Illimité
serv_cps1=Délai si le maximum est atteint
serv_sec=secondes
serv_from=Permettre l'accès depuis
serv_from_def=Toutes les machines
serv_from_sel=Machines listées seulement ...
serv_access=Interdire l'accès depuis
serv_access_def=Aucune machine
serv_access_sel=Seulement les machines listées ...
serv_times=Permettre l'accès aux heures
serv_times_def=N'importe quelle heure
serv_err=Echec de la sauvegarde du service
serv_eid=Nom du service manquant ou invalide
serv_ebind=Adresse sur laquelle se lier manquante ou invalide
serv_eport=Numéro de port manquant ou invalide
serv_einst=Nombre de serveurs concurrents manquant ou invalide
serv_euser=Vous devez entrer un utilisateur
serv_egroup=Vous devez entrer un groupe
serv_estd=Il n'y a pas de numéro de port standard pour le service $1
serv_eproto=Vous devez sélectionner un protocole pour ce service
serv_eserver=Programme du serveur manquant ou invalide
serv_erhost=Machine de redirection manquante ou invalide
serv_erport=Port de redirection manquant ou invalide
serv_enice=Niveau de nice manquant ou invalide
serv_ecps0=Nombre maximum de connections par seconde manquant ou invalide
serv_ecps1=Délai manquant ou invalide
serv_etimes=Les dates d'accès doivent être au format HH:MM-HH:MM

sock_stream=Stream
sock_dgram=Datagramme
sock_raw=Raw
sock_seqpacket=Datagramme séquentiel

proto_=Par défaut
proto_ip=IP (Internet Protocol)
proto_tcp=TCP (Transmission Control Protocol)
proto_udp=UDP (User Datagram Protocol)

restart_err=Echec de l'application des modifications
restart_ekill=Echec de l'envoi du signal HUP au PID $1 : $2

start_err=Echec du démarrage de xinetd
start_estart=$1 échoué : $2

defs_title=Options par défaut
defs_header=Options par défaut pour les services
defs_log=Mode de journalisation pour xinetd
defs_log_def=Désactiver la journalisation
defs_facility=Journaliser vers syslog
defs_level=au niveau
defs_file=Journaliser vers le fichier
defs_soft=Limite de fichier douce
defs_hard=Limite de fichier dure
defs_success=Sur un enregistrement d'une connection réussie
defs_success_pid=ID du processus serveur
defs_success_host=Machine distante
defs_success_userid=Identité de l'utilisateur distant
defs_success_exit=Code de retour du serveur
defs_success_duration=Durée de la session
defs_failure=Sur un enregistrement d'une connection échoué
defs_failure_host=Machine distante
defs_failure_userid=Utilisateur distant
defs_failure_attempt=Tentative de connection
defs_failure_record=Information distante
defs_err=Echec de la sauvegarde des options par défaut
defs_efile=Nom de fichier du journal manquant ou invalide
defs_esoft=Limite douce manquante ou invalide
defs_ehard=Limite dure manquante ou invalide

log_create_serv=$2 créé, service $1
log_modify_serv=$2 modifié, service $1
log_delete_serv=$2 supprimé, service $1
log_start=Serveur xinetd démarré
log_apply=Changements appliqués
log_defaults=Options par défaut modifiées
  0707010001fbce000081a40000000000000002000000013d1fe2de000012c8000000200000000000000000000000000000001500000003reloc/xinetd/lang/hu  # webmin-0.90xinetd/lang/hu
# translated by Gabor Keve <gabor.keve@orientp.hu>
#
index_title=Kiterjesztett Internetes Szolgáltatások
index_name=Szolgáltatás neve
index_type=Típusa
index_port=Port / szám
index_rpc=RPC
index_inet=Internet
index_proto=Protokol
index_user=Felhasználó
index_server=Szerver program
index_redirect=Átirányítás $1 -ra
index_enabled=Engedélyezve?
index_internal=Belsõ a Xinetd -nek
index_add_inet=Új internet szolgáltatás készítése
index_add_rpc=Új RPC szolgáltatás készítése
index_return=szolgáltatási lista
index_defaults=Alapértelmezettek szerkesztése
index_defaultsmsg=Kattinson a gombra ha az összes internet és RPC szolgáltatás alapbeállításait szeretné szerkeszteni
index_apply=Változások engedélyezése
index_applymsg=Kattintson a gombra ha az aktuális beállításokat SIGHUP szingnálal érvényesíteni szeretné a futó <tt>xinetd</tt> processznél
index_start=Xinetd indítása
index_startmsg=Kattintson a gombra, hogy a Xinetd szerver az aktuális konfigurációval induljon.
index_econf=A Xinetd konfigurációs file $1 nem létezik. Talán nincs installálva, vagy az Ön <a href='$2'>modul konfigurációja</a> hibás.

serv_create=Internet Szolgáltatás létrehozása
serv_edit=Internet Szolgátatás szerkesztése
serv_header1=Szolgáltatás hálózati beállításai
serv_header2=Szolgáltatás program beállítások
serv_header3=Szolgáltatás hozzáférési kontroll
serv_id=Szolgáltatás name
serv_port=Port szám
serv_port_def=Általános
serv_sock=Socket típus
serv_proto=protokol
serv_enabled=Szolgáltatás engedélyezve?
serv_bind=Bind a címhez
serv_bind_def=Összes
serv_user=Futás felhasználóként
serv_group=Futás csoportként
serv_group_def=felhasználótól
serv_prog=Szolgáltatást kezelje le
serv_internal=Belsõ a Xinetd-nek
serv_server=Szerver program
serv_redirect=Átirányítás hosztra
serv_rport=port
serv_wait=Befejezés megvárása?
serv_inst=Maximális konkurens szerverek
serv_inst_def=Végtelen
serv_nice=A szerver nice szintje
serv_cps0=Maximális csatlakozások száma másodpercenként
serv_cps_def=Végtelen
serv_cps1=Szüneteltetés ha a maximumot elérte
serv_sec=másodpercek
serv_from=Házzáférés elfogadva
serv_from_def=Minden hosztról
serv_from_sel=Csak a felsorolt hosztokról..
serv_access=Hozzáférés megtagadva
serv_access_def=Sehonnan
serv_access_sel=Csak a felsorolt hosztokról..
serv_times=Hozzáférés egyidõben
serv_times_def=Bármikor
serv_err=Nem sikerült menteni a szolgáltatás
serv_eid=Hibás vagy érvénytelen szolgáltatási név
serv_ebind=Hibás vagy érvénytelen cím a bindhez
serv_eport=Hibás vagy érvénytelen port szám
serv_einst=Hibás vagy érvénytelen szám a konkurens szervereknél
serv_euser=Önnek meg kell adni a felhasználót
serv_egroup=Önnek meg kell adni a csoportot
serv_estd=Nincs standard port szám a $1 szolgáltatáshoz
serv_eproto=Önnek ki kell választania a protokolt ehhez a szolgáltatás
serv_eserver=Hibás vagy érvénytelen server program
serv_erhost=Hibás vagy érvénytelen átirányított hoszt
serv_erport=Hibás vagy érvénytelen átirányított port
serv_enice=Hibás vagy érvénytelen nice szint
serv_ecps0=Hibás vagy érvénytelen szám a csatlakozás per másodpercnél
serv_ecps1=Hibás vagy érvénytelen szünetelés
serv_etimes=Hozzáférési idõ formátuma kötelezõen ÓÓ:PP-ÓÓ:PP

sock_stream=Stream
sock_dgram=Datagram
sock_raw=Raw
sock_seqpacket=Szekvenciális datagram

proto_=Általános
proto_ip=IP (Internet protokol)
proto_tcp=TCP (Transmission Control protokol)
proto_udp=UDP (User Datagram protokol)

restart_err=A változtatás érvénybelépése hibás
restart_ekill=Nem lehet HUP szingált küldeni a PID $1 : $2

start_err=Nem lehet elindítani a Xinetd
start_estart=$1 hibás : $2

defs_title=Általános beállítások
defs_header=Általános beállítások a szolgáltatásokhoz
defs_log=Xinetd naplózási módja
defs_log_def=Letiltva a naplózás
defs_facility=Naplózzon a syslog segítségével
defs_level=szinten
defs_file=Naplózzon file -ba
defs_soft=Egyszerû file limitáció
defs_hard=Kemény file limitáció
defs_success=A sikeres csatlakozásról napló
defs_success_pid=Szerver process ID
defs_success_host=Távoli hoszt
defs_success_userid=Távoli azonosított felhasználó
defs_success_exit=Szerver kilépési státusza
defs_success_duration=Munkafolyamat idõhossza
defs_failure=A sikeres csatlakozásról napló
defs_failure_host=Távoli hoszt
defs_failure_userid=Távoli azonosított felhasználó
defs_failure_attempt=Csatlakozási próba
defs_failure_record=Távoli információ
defs_err=Nem lehet menteni az általános beállítások
defs_efile=Hibás vagy érvénytelen log filenév
defs_esoft=Hibás vagy érvénytelen egyszerû limitáció
defs_ehard=Hibás vagy érvénytelen kemény limitáció

log_create_serv=Létrehozva $2 szolgáltatás $1
log_modify_serv=Módosított $2 szolgáltatás $1
log_delete_serv=Törölt $2 szolgáltatás $1
log_start=Futtatott Xinetd szerver
log_apply=Elfogadott változások
log_defaults=Módosított általános beállítások

0707010001fbcf000081a40000000000000002000000013d1fe2de00001259000000200000000000000000000000000000001500000003reloc/xinetd/lang/it  index_title=Extended Internet Services
index_name=Nome Servizio
index_type=Tipo
index_port=Porta / numero
index_rpc=RPC
index_inet=Internet
index_proto=Protocollo
index_user=Utente
index_server=Programma
index_redirect=Ridirigi a $1
index_enabled=Abilita?
index_internal=Interno a Xinetd
index_add_inet=Aggiungi un servizio internet
index_add_rpc=Aggiungi un servizio RPC
index_return=lista servizi
index_defaults=Modifica le opzioni di Default
index_defaultsmsg=Clicca su questo pulsante per modificare le opzioni di default che saranno applicate a tutti i servizi internet e RPC
index_apply=Applica le modifiche
index_applymsg=Clicca su questo pulsante per applicare la configurazione corrente inviando un segnale SIGHUP al processo <tt>xinetd</tt> in esecuzione
index_start=Esegui Xinetd
index_startmsg=Clicca su questo pulsante per eseguire Xinetd con la configurazione corrente
index_econf=Il file di configurazione $1 per Xinetd non esiste. E' possibile che non sia stato installato, o che il <a href='$2'>modulo di configurazione</a> non sia corretto.

serv_create=Crea servizio Internet
serv_edit=Modifica servizio Internet
serv_header1=Opzioni di rete
serv_header2=Opzioni programma
serv_header3=Accesso controllato
serv_id=Nome servizio
serv_port=Numero porta
serv_port_def=Standard
serv_sock=Tipo di Socket
serv_proto=Protocollo
serv_enabled=Servizio abilitato?
serv_bind=Assegna il servizio all'indirizzo
serv_bind_def=Tutti
serv_user=Esegui come utente
serv_group=Esegui come gruppo
serv_group_def=Come utente
serv_prog=Servizio gestito
serv_internal=Interno a Xinetd
serv_server=Programma
serv_redirect=Ridirigi all'host
serv_rport=porta
serv_wait=Aspetta finche' non ha finito?
serv_inst=Numero massimo di server concorrenti
serv_inst_def=Illimitato
serv_nice=Livello di priorita'
serv_cps0=Connessioni massime per secondo
serv_cps_def=Illimitate
serv_cps1=Ritardo se viene raggiunto il massimo
serv_sec=secondi
serv_from=Permetti accesso da
serv_from_def=Tutti gli host
serv_from_sel=Solamente dagli host elencati..
serv_access=Proibisci accesso da
serv_access_def=Nessun host
serv_access_sel=Solamente dagli host elencati..
serv_times=Orario di accesso
serv_times_def=Qualsiasi ora
serv_err=Fallito il salvataggio del servizio
serv_eid=Il nome del servizio manca o non e' valido
serv_ebind=L'indirizzo a cui collegare il servizio manca o non e' valido
serv_eport=Il numero della porta manca o non e' valido
serv_einst=Il numero di server concorrenti manca o non e' valido
serv_euser=Devi specificare un utente
serv_egroup=Devi specificare un gruppo
serv_estd=Non conosco il numero della porta standard per il servizio $1
serv_eproto=Devi scegliere un protocollo per questo servizio
serv_eserver=Il nome del programma manca o non e' valido
serv_erhost=L'host su cui ridirigere manca o non e' valido
serv_erport=La porta su cui ridirigere manca o non e' valida
serv_enice=Il livello di priorita' manca o non e' valido
serv_ecps0=Il numero di connessioni per secondo manca o non è valido
serv_ecps1=Il ritardo manca o non e' valido
serv_etimes=L'ora di accesso deve essere nel formato: HH:MM-HH:MM

sock_stream=Stream
sock_dgram=Datagram
sock_raw=Raw
sock_seqpacket=Sequential datagram

proto_=Default
proto_ip=IP (Internet Protocol)
proto_tcp=TCP (Transmission Control Protocol)
proto_udp=UDP (User Datagram Protocol)

restart_err=Fallita l'applicazione delle modifiche
restart_ekill=Fallito l'invio del segnale HUP a PID $1 : $2

start_err=Fallito l'avvio di xinetd
start_estart=$1 fallito : $2

defs_title=Opzioni di Default
defs_header=Opzioni di Default per i servizi
defs_log=Modalita' di logging di Xinetd
defs_log_def=Disabilita logging
defs_facility=Log con syslog
defs_level=al livello
defs_file=Log sul file
defs_soft=Limiti file "soft"
defs_hard=Limiti file "hard"
defs_success=Log in caso di connessione riuscita
defs_success_pid=ID Processo server
defs_success_host=Host remoto
defs_success_userid=Identita' utente remoto
defs_success_exit=Stato di uscita del server
defs_success_duration=Durata sessione
defs_failure=Log in caso di connessione non riuscita
defs_failure_host=Host remoto
defs_failure_userid=Identita' utente remoto
defs_failure_attempt=Tentativo di connessione
defs_failure_record=Informazioni client remoto
defs_err=Fallito il salvataggio delle opzioni di defult
defs_efile=Il nome del file di log manca o non e' valido
defs_esoft=Limite "Soft" mancante o non valido
defs_ehard=Limite "Hard" mancante o non valido

log_create_serv=Creato $2 servizio $1
log_modify_serv=Modificato $2 servizio $1
log_delete_serv=Cancellato $2 servizio $1
log_start=Avviato il server Xinetd
log_apply=Applicate le modifiche
log_defaults=Cambiate le opzioni di default


   0707010001fbd0000081a40000000000000002000000013d1fe2de000010fd000000200000000000000000000000000000001c00000003reloc/xinetd/lang/ja_JP.euc   index_title=Extended Internet Services (Xinetd)
index_name=¥µ¡¼¥Ó¥¹Ì¾
index_type=¼ïÎà
index_port=¥Ý¡¼¥È/ÈÖ¹æ
index_rpc=RPC
index_inet=¥¤¥ó¥¿¡¼¥Í¥Ã¥È
index_proto=¥×¥í¥È¥³¥ë
index_user=¥æ¡¼¥¶
index_server=¥µ¡¼¥Ð ¥×¥í¥°¥é¥à
index_redirect=$1 ¤Ë¥ê¥À¥¤¥ì¥¯¥È
index_enabled=Í­¸ú¤Ë¤·¤Þ¤¹¤«¡©
index_internal=Xinetd ¤ËÆâÉôÀÜÂ³
index_add_inet=¿·µ¬¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤ÎºîÀ®
index_add_rpc=¿·µ¬¤Î RPC ¥µ¡¼¥Ó¥¹¤ÎºîÀ®
index_return=¥µ¡¼¥Ó¥¹ ¥ê¥¹¥È
index_defaults=¥Ç¥Õ¥©¥ë¥È¤ÎÊÔ½¸
index_defaultsmsg=¤¹¤Ù¤Æ¤Î¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤È RPC ¥µ¡¼¥Ó¥¹¤ËÅ¬ÍÑ¤¹¤ë¥Ç¥Õ¥©¥ë¥È ¥ª¥×¥·¥ç¥ó¤òÊÔ½¸¤¹¤ë¤Ë¤Ï¤³¤ì¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_apply=ÊÑ¹¹¤òÅ¬ÍÑ
index_applymsg=¼Â¹ÔÃæ¤Î<tt>xinetd</tt> ¥×¥í¥»¥¹¤Ë SIGHUP ¿®¹æ¤òÁ÷¿®¤·¤Æ¸½ºß¤ÎÀßÄê¤òÅ¬ÍÑ¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_start=Xinetd ¤òµ¯Æ°
index_startmsg=Xinetd ¥µ¡¼¥Ð¤ò¸½ºß¤ÎÀßÄê¤Çµ¯Æ°¤¹¤ë¤Ë¤Ï¡¢¤³¤Î¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£
index_econf=Xinetd ÀßÄê¥Õ¥¡¥¤¥ë $1 ¤ÏÂ¸ºß¤·¤Þ¤»¤ó¡£Xinetd ¥µ¡¼¥Ð¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ <a href='$2'>¥â¥¸¥å¡¼¥ëÀßÄê</a> ¤¬ÉÔÀµ¤Ê²ÄÇ½À­¤¬¤¢¤ê¤Þ¤¹¡£

serv_create=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤òºîÀ®
serv_edit=¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹¤òÊÔ½¸
serv_header1=¥µ¡¼¥Ó¥¹ ¥Í¥Ã¥È¥ï¡¼¥¯ ¥ª¥×¥·¥ç¥ó
serv_header2=¥µ¡¼¥Ó¥¹ ¥×¥í¥°¥é¥à ¥ª¥×¥·¥ç¥ó
serv_header3=¥µ¡¼¥Ó¥¹ ¥¢¥¯¥»¥¹À©¸æ
serv_id=¥µ¡¼¥Ó¥¹Ì¾
serv_port=¥Ý¡¼¥ÈÈÖ¹æ
serv_port_def=É¸½à
serv_sock=¥½¥±¥Ã¥È¤Î¼ïÎà
serv_proto=¥×¥í¥È¥³¥ë
serv_enabled=¥µ¡¼¥Ó¥¹¤òÍ­¸ú¤Ë¤·¤Þ¤¹¤«¡©
serv_bind=¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É
serv_bind_def=¤¹¤Ù¤Æ
serv_user=¼¡¤Î¥æ¡¼¥¶¤È¤·¤Æ¼Â¹Ô
serv_group=¼¡¤Î¥°¥ë¡¼¥×¤È¤·¤Æ¼Â¹Ô
serv_group_def=¼¡¤Î¥æ¡¼¥¶¤«¤é
serv_prog=¥µ¡¼¥Ó¥¹¤Î½èÍý
serv_internal=Xinetd ¤ËÆâÉôÀÜÂ³
serv_server=¥µ¡¼¥Ð ¥×¥í¥°¥é¥à
serv_redirect=¥Û¥¹¥È¤Ë¥ê¥À¥¤¥ì¥¯¥È
serv_rport=¥Ý¡¼¥È
serv_wait=½ªÎ»¤Þ¤ÇÂÔµ¡¤·¤Þ¤¹¤«¡©
serv_inst=Æ±»þ¥µ¡¼¥Ð¤ÎºÇÂç¿ô
serv_inst_def=ÌµÀ©¸Â
serv_nice=¥µ¡¼¥Ð¤Î Nice ¥ì¥Ù¥ë
serv_cps0=ÉÃÃ±°Ì¤ÎºÇÂçÀÜÂ³¿ô
serv_cps_def=ÌµÀ©¸Â
serv_cps1=ºÇÂç¿ô¤ËÃ£¤·¤¿¾ì¹ç¤ÏÃÙ±ä
serv_sec=ÉÃ
serv_from=¥¢¥¯¥»¥¹¤òµö²Ä
serv_from_def=¤¹¤Ù¤Æ¤Î¥Û¥¹¥È
serv_from_sel=¥ê¥¹¥È¤µ¤ì¤¿¥Û¥¹¥È¤Î¤ß..
serv_access=¥¢¥¯¥»¥¹¤òµñÈÝ
serv_access_def=¥Û¥¹¥È¤Ê¤·
serv_access_sel=¥ê¥¹¥È¤µ¤ì¤¿¥Û¥¹¥È¤Î¤ß..
serv_times=¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë¤È¤­
serv_times_def=¾ï»þ
serv_err=¥µ¡¼¥Ó¥¹¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
serv_eid=¥µ¡¼¥Ó¥¹Ì¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_ebind=¥Ð¥¤¥ó¥É¤¹¤ë¥¢¥É¥ì¥¹¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_eport=¥Ý¡¼¥ÈÈÖ¹æ¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_einst=Æ±»þ¥µ¡¼¥Ð¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_euser=¥æ¡¼¥¶¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
serv_egroup=¥°¥ë¡¼¥×¤òÆþÎÏ¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
serv_estd=¥µ¡¼¥Ó¥¹ $1 ¤Ë¤ÏÉ¸½à¥Ý¡¼¥ÈÈÖ¹æ¤¬¤¢¤ê¤Þ¤»¤ó
serv_eproto=¤³¤Î¥µ¡¼¥Ó¥¹ÍÑ¤Î¥×¥í¥È¥³¥ë¤òÁªÂò¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹
serv_eserver=¥µ¡¼¥Ð ¥×¥í¥°¥é¥à¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_erhost=¥ê¥À¥¤¥ì¥¯¥È¤Î¥Û¥¹¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_erport=¥ê¥À¥¤¥ì¥¯¥È¤Î¥Ý¡¼¥È¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_enice=nice ¥ì¥Ù¥ë¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_ecps0=ÉÃ¤´¤È¤ÎÀÜÂ³¿ô¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_ecps1=ÃÙ±ä¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
serv_etimes=¥¢¥¯¥»¥¹»þ´Ö¤Ï HH:MM-HH:MM ¤Î·Á¼°¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó

sock_stream=¥¹¥È¥ê¡¼¥à
sock_dgram=¥Ç¡¼¥¿¥°¥é¥à
sock_raw=Raw
sock_seqpacket=½ç¼¡¥Ç¡¼¥¿¥°¥é¥à

proto_=¥Ç¥Õ¥©¥ë¥È
proto_ip=IP (¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥×¥í¥È¥³¥ë)
proto_tcp=TCP (¥È¥é¥ó¥¹¥ß¥Ã¥·¥ç¥ó ¥³¥ó¥È¥í¡¼¥ë ¥×¥í¥È¥³¥ë)
proto_udp=UDP (¥æ¡¼¥¶ ¥Ç¡¼¥¿¥°¥é¥à ¥×¥í¥È¥³¥ë)

restart_err=ÊÑ¹¹¤òÅ¬ÍÑ¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
restart_ekill=HUP ¿®¹æ¤ò PID $1 ¤ËÁ÷¿®¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿: $2

start_err=Xinetd ¤òµ¯Æ°¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
start_estart=$1 ¤¬¼ºÇÔ¤·¤Þ¤·¤¿: $2

defs_title=¥Ç¥Õ¥©¥ë¥È ¥ª¥×¥·¥ç¥ó
defs_header=¥µ¡¼¥Ó¥¹¤Î¥Ç¥Õ¥©¥ë¥È ¥ª¥×¥·¥ç¥ó
defs_log=Xinetd ¥í¥° ¥â¡¼¥É
defs_log_def=¥í¥°¤ÎÌµ¸ú
defs_facility=syslog µ¡Ç½¤Ë¥í¥°
defs_level=¥ì¥Ù¥ë
defs_file=¥Õ¥¡¥¤¥ë¤Ë¥í¥°
defs_soft=¥½¥Õ¥È ¥Õ¥¡¥¤¥ëÀ©¸Â
defs_hard=¥Ï¡¼¥É ¥Õ¥¡¥¤¥ëÀ©¸Â
defs_success=ÀÜÂ³¤ÎÀ®¸ù¤Î¥í¥°
defs_success_pid=¥µ¡¼¥Ð ¥×¥í¥»¥¹ ID
defs_success_host=¥ê¥â¡¼¥È ¥Û¥¹¥È
defs_success_userid=¥ê¥â¡¼¥È¼±ÊÌ¥æ¡¼¥¶
defs_success_exit=¥µ¡¼¥Ð¤Î½ªÎ»¥¹¥Æ¡¼¥¿¥¹
defs_success_duration=¥»¥Ã¥·¥ç¥ó¤Î´ü´Ö
defs_failure=ÀÜÂ³¤Î¼ºÇÔ¤Î¥í¥°
defs_failure_host=¥ê¥â¡¼¥È ¥Û¥¹¥È
defs_failure_userid=¥ê¥â¡¼¥È¼±ÊÌ¥æ¡¼¥¶
defs_failure_attempt=ÀÜÂ³»î¹Ô
defs_failure_record=¥ê¥â¡¼¥È¾ðÊó
defs_err=¥Ç¥Õ¥©¥ë¥È ¥ª¥×¥·¥ç¥ó¤òÊÝÂ¸¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿
defs_efile=¥Õ¥¡¥¤¥ëÌ¾¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
defs_esoft=¥½¥Õ¥ÈÀ©¸Â¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹
defs_ehard=¥Ï¡¼¥ÉÀ©¸Â¤¬¤Ê¤¤¤«Ìµ¸ú¤Ç¤¹

log_create_serv=$2 ¥µ¡¼¥Ó¥¹ $1 ¤òºîÀ®¤·¤Þ¤·¤¿
log_modify_serv=$2 ¥µ¡¼¥Ó¥¹ $1 ¤òÊÑ¹¹¤·¤Þ¤·¤¿
log_delete_serv=$2 ¥µ¡¼¥Ó¥¹ $1 ¤òºï½ü¤·¤Þ¤·¤¿
log_start=Xinetd ¥µ¡¼¥Ð¤òµ¯Æ°¤·¤Þ¤·¤¿
log_apply=ÊÑ¹¹¤òÅ¬ÍÑ¤·¤Þ¤·¤¿
log_defaults=¥Ç¥Õ¥©¥ë¥È ¥ª¥×¥·¥ç¥ó¤òÊÑ¹¹¤·¤Þ¤·¤¿

   0707010001fbd1000081a40000000000000002000000013d1fe2de00000efc000000200000000000000000000000000000001c00000003reloc/xinetd/lang/ko_KR.euc   index_title=°í±Þ ÀÎÅÍ³Ý ¼­ºñ½º
index_name=¼­ºñ½º ÀÌ¸§
index_type=À¯Çü
index_port=Æ÷Æ®/¹øÈ£
index_rpc=RPC
index_inet=ÀÎÅÍ³Ý
index_proto=ÇÁ·ÎÅäÄÝ
index_user=»ç¿ëÀÚ
index_server=¼­¹ö ÇÁ·Î±×·¥
index_redirect=$1(À¸)·Î ¸®µð·º¼Ç
index_enabled=»ç¿ë °¡´ÉÇÕ´Ï±î?
index_internal=Xinetd¿¡ ´ëÇØ ³»ºÎ
index_add_inet=»õ ÀÎÅÍ³Ý ¼­ºñ½º ÀÛ¼º
index_add_rpc=»õ RPC ¼­ºñ½º ÀÛ¼º
index_return=¼­ºñ½º ¸ñ·Ï
index_defaults=±âº»°ª ÆíÁý
index_defaultsmsg=¸ðµç ÀÎÅÍ³Ý/RPC ¼­ºñ½º¿¡ Àû¿ëµÇ´Â ±âº» ¿É¼ÇÀ» ÆíÁýÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À
index_apply=º¯°æ ³»¿ë Àû¿ë
index_applymsg=ÀÌ ¹öÆ°À» ´©¸£¸é SIGHUP ½ÅÈ£°¡ ½ÇÇà ÁßÀÎ <tt>xinetd</tt> ÇÁ·Î¼¼½º¿¡ º¸³»¾îÁ® ÇöÀç ±¸¼ºÀÌ Àû¿ëµË´Ï´Ù
index_start=Xinetd ½ÃÀÛ
index_startmsg=ÇöÀç ±¸¼ºÀ¸·Î Xinetd ¼­¹ö¸¦ ½ÃÀÛÇÏ·Á¸é ÀÌ ¹öÆ°À» ´©¸£½Ê½Ã¿À
index_econf=Xinetd ±¸¼º ÆÄÀÏ $1ÀÌ(°¡) ¾ø½À´Ï´Ù. ¼³Ä¡µÇ¾î ÀÖÁö ¾Ê°Å³ª <a href='$2'>¸ðµâ ±¸¼º</a>ÀÌ Á¤È®ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.

serv_create=ÀÎÅÍ³Ý ¼­ºñ½º ÀÛ¼º
serv_edit=ÀÎÅÍ³Ý ¼­ºñ½º ÆíÁý
serv_header1=¼­ºñ½º ³×Æ®¿öÅ© ¿É¼Ç
serv_header2=¼­ºñ½º ÇÁ·Î±×·¥ ¿É¼Ç
serv_header3=¼­ºñ½º Á¢±Ù Á¦¾î
serv_id=¼­ºñ½º ÀÌ¸§
serv_port=Æ÷Æ® ¹øÈ£
serv_port_def=Ç¥ÁØ
serv_sock=¼ÒÄÏ À¯Çü
serv_proto=ÇÁ·ÎÅäÄÝ
serv_enabled=¼­ºñ½º°¡ »ç¿ë °¡´ÉÇÕ´Ï±î?
serv_bind=ÁÖ¼Ò¿¡ ¹ÙÀÎµå
serv_bind_def=¸ðµÎ
serv_user=»ç¿ëÀÚ·Î¼­ ½ÇÇà
serv_group=±×·ìÀ¸·Î¼­ ½ÇÇà
serv_group_def=»ç¿ëÀÚ·ÎºÎÅÍ
serv_prog=Ã³¸®ÇÑ ¼­ºñ½º
serv_internal=Xinetd¿¡ ´ëÇØ ³»ºÎ
serv_server=¼­¹ö ÇÁ·Î±×·¥
serv_redirect=È£½ºÆ®·Î ¸®µð·º¼Ç
serv_rport=Æ÷Æ®
serv_wait=¿Ï·áµÉ ¶§±îÁö ±â´Ù¸³´Ï±î?
serv_inst=ÃÖ´ë µ¿½Ã ¼­¹ö ¼ö
serv_inst_def=Á¦ÇÑ ¾øÀ½
serv_nice=¼­¹öÀÇ ¾çÈ£ÇÑ ¼öÁØ
serv_cps0=ÃÊ ´ç ÃÖ´ë ¿¬°á ¼ö
serv_cps_def=Á¦ÇÑ ¾øÀ½
serv_cps1=ÃÖ´ë°ª¿¡ µµ´ÞÇÏ¸é Áö¿¬
serv_sec=ÃÊ
serv_from=Á¢±Ù Çã¿ë ´ë»ó
serv_from_def=¸ðµç È£½ºÆ®
serv_from_sel=³ª¿­µÈ È£½ºÆ®¸¸..
serv_access=Á¢±Ù °ÅºÎ ´ë»ó
serv_access_def=È£½ºÆ® ¾øÀ½
serv_access_sel=³ª¿­µÈ È£½ºÆ®¸¸..
serv_times=°æ¿ì¿¡ µû¶ó Á¢±Ù Çã¿ë
serv_times_def=Ç×»ó
serv_err=¼­ºñ½º¸¦ ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
serv_eid=¾ø°Å³ª Àß¸øµÈ ¼­ºñ½º ÀÌ¸§
serv_ebind=¾ø°Å³ª Àß¸øµÈ ¹ÙÀÎµå ´ë»ó ÁÖ¼Ò
serv_eport=¾ø°Å³ª Àß¸øµÈ Æ÷Æ® ¹øÈ£
serv_einst=¾ø°Å³ª Àß¸øµÈ µ¿½Ã ¼­¹ö ¼ö
serv_euser=»ç¿ëÀÚ¸¦ ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù
serv_egroup=±×·ìÀ» ÀÔ·ÂÇØ¾ß ÇÕ´Ï´Ù
serv_estd=¼­ºñ½º $1¿¡ ÇÊ¿äÇÑ Ç¥ÁØ Æ÷Æ® ¹øÈ£°¡ ¾ø½À´Ï´Ù
serv_eproto=ÀÌ ¼­ºñ½º¿¡ ÇÊ¿äÇÑ ÇÁ·ÎÅäÄÝÀ» ¼±ÅÃÇØ¾ß ÇÕ´Ï´Ù
serv_eserver=¾ø°Å³ª Àß¸øµÈ ¼­¹ö ÇÁ·Î±×·¥
serv_erhost=¾ø°Å³ª Àß¸øµÈ ¸®µð·º¼Ç ÀÌ¸§
serv_erport=¾ø°Å³ª Àß¸øµÈ ¸®µð·º¼Ç Æ÷Æ®
serv_enice=¾ø°Å³ª Àß¸øµÈ ¾çÈ£ÇÑ ¼öÁØ
serv_ecps0=¾ø°Å³ª Àß¸øµÈ ÃÊ ´ç ¿¬°á ¼ö
serv_ecps1=¾ø°Å³ª Àß¸øµÈ Áö¿¬
serv_etimes=Á¢±Ù ½Ã°£ÀÇ Çü½ÄÀº HH:MM-HH:MMÀÌ¾î¾ß ÇÕ´Ï´Ù

sock_stream=½ºÆ®¸²
sock_dgram=µ¥ÀÌÅÍ±×·¥
sock_raw=¿ø½Ã
sock_seqpacket=¼øÂ÷ µ¥ÀÌÅÍ±×·¥

proto_=±âº»°ª
proto_ip=IP(Internet Protocol)
proto_tcp=TCP(Transmission Control Protocol)
proto_udp=UDP(User Datagram Protocol)

restart_err=º¯°æ ³»¿ëÀ» Àû¿ëÇÏÁö ¸øÇß½À´Ï´Ù
restart_ekill=PID $1¿¡ HUP ½ÅÈ£¸¦ º¸³»Áö ¸øÇß½À´Ï´Ù: $2

start_err=xinetd¸¦ ½ÃÀÛÇÏÁö ¸øÇß½À´Ï´Ù
start_estart=$1 ½ÇÆÐ: $2

defs_title=±âº» ¿É¼Ç
defs_header=¼­ºñ½ºÀÇ ±âº» ¿É¼Ç
defs_log=Xinetd ·Î±× ¸ðµå
defs_log_def=·Î±× »ç¿ë ºÒ´É
defs_facility=syslog¿¡ ·Î±×
defs_level=¼öÁØ
defs_file=ÆÄÀÏ¿¡ ·Î±×
defs_soft=¼ÒÇÁÆ® ÆÄÀÏ Á¦ÇÑ
defs_hard=ÇÏµå ÆÄÀÏ Á¦ÇÑ
defs_success=¼º°øÇÑ ¿¬°á ·Î±×
defs_success_pid=¼­¹ö ÇÁ·Î¼¼½º ID
defs_success_host=¿ø°Ý È£½ºÆ®
defs_success_userid=¿ø°Ý ident »ç¿ëÀÚ
defs_success_exit=¼­¹ö Á¾·á »óÅÂ
defs_success_duration=¼¼¼Ç Áö¼Ó ±â°£
defs_failure=½ÇÆÐÇÑ ¿¬°á ·Î±×¿¡
defs_failure_host=¿ø°Ý È£½ºÆ®
defs_failure_userid=¿ø°Ý ident »ç¿ëÀÚ
defs_failure_attempt=¿¬°á ½Ãµµ
defs_failure_record=¿ø°Ý Á¤º¸
defs_err=±âº» ¿É¼ÇÀ» ÀúÀåÇÏÁö ¸øÇß½À´Ï´Ù
defs_efile=¾ø°Å³ª Àß¸øµÈ ·Î±× ÆÄÀÏ ÀÌ¸§
defs_esoft=¾ø°Å³ª Àß¸øµÈ ¼ÒÇÁÆ® Á¦ÇÑ
defs_ehard=¾ø°Å³ª Àß¸øµÈ ÇÏµå Á¦ÇÑ

log_create_serv=$2 ¼­ºñ½º $1 º¯°æµÊ
log_modify_serv=$2 ¼­ºñ½º $1 ¼öÁ¤µÊ
log_delete_serv=$2 ¼­ºñ½º $1 »èÁ¦µÊ
log_start=Xinetd ¼­¹ö ½ÃÀÛµÊ
log_apply=º¯°æ ³»¿ë Àû¿ëµÊ
log_defaults=±âº» ¿É¼Ç º¯°æµÊ

0707010001fbd2000081a40000000000000002000000013d1fe2de0000126f000000200000000000000000000000000000001500000003reloc/xinetd/lang/pl  index_title=Rozszerzone us³ugi internetowe
index_name=Nazwa us³ugi
index_type=Rodzaj
index_port=Numer portu
index_rpc=RPC
index_inet=internetowa
index_proto=Protokó³
index_user=U¿ytkownik
index_server=Program serwera
index_redirect=Przekierowaæ do $1
index_enabled=W³±czona?
index_internal=wewnêtrzna Xinetd
index_add_inet=Utwórz now± us³ugê internetow±
index_add_rpc=Utwórz now± us³ugê RPC
index_return=listy us³ug
index_defaults=Zmieñ ustawienia domy¶lne
index_defaultsmsg=Naci¶nij ten przycisk, aby zmieniæ domy¶lne ustawienia, które dotycz± wszystkich us³ug internetowych oraz RPC.
index_apply=Zastosuj zmiany
index_applymsg=Naci¶nij ten przycisk, aby zastosowaæ bie¿±c± konfiguracjê poprzez wys³anie sygna³u SIGHUP do dzia³aj±cego procesu <tt>xinetd</tt>.
index_start=Uruchom Xinetd
index_startmsg=Naci¶nij ten przycisk, aby uruchomiæ serwer Xinetd z&nbsp;bie¿±c± konfiguracj±.
index_econf=Plik konfiguracyjny Xinetd $1 nie istnieje. Byæ mo¿e Xinetd nie jest zainstalowany lub Twoja <a href='$2'>konfiguracja modu³u</a> jest nieprawid³owa.

serv_create=Utwórz us³ugê internetow±
serv_edit=Zmieñ us³ugê internetow±
serv_header1=Ustawienia sieciowe us³ug
serv_header2=Ustawienia serwerów us³ug
serv_header3=Kontrola dostêpu do us³ug
serv_id=Nazwa us³ugi
serv_port=Numer portu
serv_port_def=Standardowy
serv_sock=Rodzaj gniazda
serv_proto=Protokó³
serv_enabled=Us³uga w³±czona?
serv_bind=Nas³uchiwaæ na adresach
serv_bind_def=Wszystkich
serv_user=Uruchom jako u¿ytkownik
serv_group=Uruchom jako grupa
serv_group_def=Grupa u¿ytkownika
serv_prog=Us³uga obs³ugiwana przez
serv_internal=Wewnêtrzna Xinetd
serv_server=Program serwera
serv_redirect=Przekierowaæ do hosta
serv_rport=na port
serv_wait=Czekaæ na zakoñczenie
serv_inst=Maks. liczba konkurencyjnych serwerów
serv_inst_def=Bez ograniczeñ
serv_nice=Poziom <tt>nice</tt> dla serwera
serv_cps0=Maksymalna liczba po³±czeñ na sekundê
serv_cps_def=Bez ograniczeñ
serv_cps1=Opó¼nienie przy osi±gniêciu maksimum
serv_sec=sekund
serv_from=Pozwól na dostêp&nbsp;z
serv_from_def=Wszystkich hostów
serv_from_sel=Tylko wymienionych..
serv_access=Zabroñ dostêpu&nbsp;z
serv_access_def=¯adnego hosta
serv_access_sel=Tylko wymienionych..
serv_times=Pozwól na dostêp w&nbsp;godzinach
serv_times_def=Dowolnych
serv_err=Nie uda³o siê zachowaæ us³ugi
serv_eid=Brakuj±ca lub niepoprawna nazwa us³ugi.
serv_ebind=Missing or invalid address to bind to
serv_eport=Brakuj±cy lub niepoprawny numer portu
serv_einst=Brakuj±ca lub niepoprawna liczba konkurencyjnych serwerów
serv_euser=Musisz podaæ u¿ytkownika
serv_egroup=Musisz podaæ grupê
serv_estd=Brak standardowego portu dla us³ugi $1
serv_eproto=Musisz okre¶liæ protokó³ dla tej us³ugi
serv_eserver=Brakuj±cy lub niepoprawny program serwera
serv_erhost=Brakuj±cy lub niepoprawny host przekierowania
serv_erport=Brakuj±cy lub niepoprawny port przekierowania
serv_enice=Brakuj±cy lub niepoprawny poziom <tt>nice</tt>
serv_ecps0=Brakuj±ca lub niepoprawna liczba po³±czeñ na sekundê
serv_ecps1=Brakuj±ce lub niepoprawne opó¼nienie
serv_etimes=Czas dostêpu musi byæ podany w&nbsp;postaci HH:MM-HH:MM

sock_stream=Stream
sock_dgram=Datagram
sock_raw=Raw
sock_seqpacket=Sequential datagram

proto_=Domy¶lny
proto_ip=IP (Internet Protocol)
proto_tcp=TCP (Transmission Control Protocol)
proto_udp=UDP (User Datagram Protocol)

restart_err=Nie uda³o siê zastosowaæ zmian
restart_ekill=Nie uda³o siê wys³aæ sygna³u HUP do procesu $1&nbsp;: $2

start_err=Nie uda³o siê uruchomiæ <tt>xinetd</tt>
start_estart=NIe uda³o siê $1&nbsp;: $2

defs_title=Ustawienia domy¶lne
defs_header=Ustawienia domy¶lne dla us³ug
defs_log=Tryb logowania Xinetd
defs_log_def=Wy³±czyæ logowanie
defs_facility=Loguj na kanale sysloga
defs_level=na poziomie
defs_file=Logowaæ do pliku
defs_soft=Miêkkie ograniczenie dla pliku
defs_hard=Twarde ograniczenie dla pliku
defs_success=Logowaæ przy udanych po³±czeniach
defs_success_pid=Numer PID procesu serwera
defs_success_host=Host zdalny
defs_success_userid=Zdalnego u¿ytkownika wg identa
defs_success_exit=Kod powrotu serwera
defs_success_duration=Czas trwania sesji
defs_failure=Logowaæ przy nieudanych po³±czeniach
defs_failure_host=Host zdalny
defs_failure_userid=Zdalnego u¿ytkownika wg identa
defs_failure_attempt=Próbê po³±czenia
defs_failure_record=Informacje zdalne
defs_err=Nie uda³o siê zachowaæ domy¶lnych ustawieñ
defs_efile=Brakuj±ca lub niepoprawna nazwa pliku logu
defs_esoft=Brakuj±ce lub niepoprawne ograniczenie miêkkie
defs_ehard=Brakuj±ce lub niepoprawne ograniczenie twarde

log_create_serv=Utworzono us³ugê $2 $1
log_modify_serv=Zmieniono us³ugê $2 $1
log_delete_serv=Usuniêto us³ugê $2 $1
log_start=Uruchomiono serwer Xinetd
log_apply=Zastosowano zmiany
log_defaults=Zmieniono ustawienia domy¶lne

 0707010001fbec000081a40000000000000002000000013d1fe2de000011e7000000200000000000000000000000000000001500000003reloc/xinetd/lang/sv  index_title=Utökade Internettjänster
index_name=Tjänstenamn
index_type=Typ
index_port=Port/nummer
index_rpc=RPC
index_inet=Internet
index_proto=Protokoll
index_user=Användare
index_server=Serverprogram
index_redirect=Peka vidare till $1
index_enabled=Aktiv?
index_internal=Internt till Xinetd
index_add_inet=Lägg till en Internettjänst
index_add_rpc=Lägg till en RPC-tjänst
index_return=tjänstelista
index_defaults=Ändra standardinställningar
index_defaultsmsg=Tryck på denna knapp för att ändra standardinställningarna som gäller alla Internet- och RPC-tjänster.
index_apply=Ta i drift
index_applymsg=Tryck på denna knapp för att ta dessa inställningar i drift genom att skicka en SIGHUP-signal till den aktiva <tt>xinetd</tt>-processen.
index_start=Starta Xinetd
index_startmsg=Tryck på denna knapp för att starta Xinetd-servern med dessa inställningar.
index_econf=Inställningsfilen $1 för Xinetd finns inte. Den kanske inte har installerats, eller också är dina <a href='$2'>modulinställningar</a> felaktiga.

serv_create=Lägg till Internettjänst
serv_edit=Ändra Internettjänst
serv_header1=Nätverksinställningar för tjänsten
serv_header2=Programinställningar för tjänsten
serv_header3=Åtkomstkontroll för tjänsten
serv_id=Tjänstenamn
serv_port=Portnummer
serv_port_def=Standard
serv_sock=Sockettyp
serv_proto=Protokoll
serv_enabled=Tjänsten aktiv?
serv_bind=Bind till adress
serv_bind_def=Alla
serv_user=Kör som användare
serv_group=Kör som grupp
serv_group_def=Från användare
serv_prog=Tjänsten ska skötas av
serv_internal=Internt till Xinetd
serv_server=Serverprogram
serv_redirect=Skicka vidare till dator
serv_rport=port
serv_wait=Vänta tills det är färdigt?
serv_inst=Maximalt antal samtidiga servrar
serv_inst_def=Obegränsat
serv_nice=Nice-nivå för server
serv_cps0=Maximalt antal uppkopplingar per sekund
serv_cps_def=Obegränsat
serv_cps1=Fördröj om maximum uppnåtts
serv_sec=sekunder
serv_from=Tillåt åtkomst från
serv_from_def=Alla datorer
serv_from_sel=Endast angivna datorer ...
serv_access=Neka åtkomst från
serv_access_def=Inga datorer
serv_access_sel=Endast angivna datorer ...
serv_times=Tillåt åtkomst vid följande tidpunkter
serv_times_def=Alltid
serv_err=Det gick inte att spara tjänsten
serv_eid=Tjänstenamn saknas eller är felaktig
serv_ebind=Adress att binda till saknas eller är felaktig
serv_eport=Portnummer saknas eller är felaktigt
serv_einst=Antal samtidiga servrar saknas eller är felaktigt
serv_euser=Du måste ange en användare
serv_egroup=Du måste ange en grupp
serv_estd=Det finns inget standardportnummer för tjänsten $1
serv_eproto=Du måste ange ett protokoll för denna tjänst
serv_eserver=Serverprogram saknas eller är felaktigt
serv_erhost=Vidareskickningsdator saknas eller är felaktig
serv_erport=Vidareskickningsport saknas eller är felaktig
serv_enice=Nice-nivå saknas eller är felaktig
serv_ecps0=Antal uppkopplingar per sekund saknas eller är felaktigt
serv_ecps1=Fördröjningstid saknas eller är felaktig
serv_etimes=Åtkomsttider måste anges på formatet TT:MM-TT:MM

sock_stream=Ström
sock_dgram=Datagram
sock_raw=Rått
sock_seqpacket=Sekventiellt datagram

proto_=Standard
proto_ip=IP (Internet Protocol)
proto_tcp=TCP (Transmission Control Protocol)
proto_udp=UDP (User Datagram Protocol)

restart_err=Det gick inte att ta i drift
restart_ekill=Det gick inte att skicka HUP-signal till PID $1: $2

start_err=Det gick inte att starta xinetd
start_estart=$1 gick inte: $2

defs_title=Standardinställningar
defs_header=Standardinställningar för tjänster
defs_log=Loggningsmod för Xinetd
defs_log_def=Slå av loggning
defs_facility=Logga till syslog-maskin
defs_level=vid nivå
defs_file=Logga till fil
defs_soft=Mjuk filbegränsning
defs_hard=Hård filbegränsning
defs_success=Logga vid lyckad uppkoppling
defs_success_pid=Serverprocess-ID
defs_success_host=Uppkopplad dator
defs_success_userid=Uppkopplad användare
defs_success_exit=Server- exit-status
defs_success_duration=Sessionslängd
defs_failure=Logga vid misslyckad uppkoppling
defs_failure_host=Uppkopplande dator
defs_failure_userid=Uppkopplande användare
defs_failure_attempt=Uppkopplingsförsök
defs_failure_record=Information om klienten
defs_err=Det gick inte att spara inställningarna
defs_efile=Loggfilnamn saknas eller är felaktigt
defs_esoft=Mjuk begränsning saknas eller är felaktig
defs_ehard=Hård begränsning saknas eller är felaktig

log_create_serv=Lade till $2 tjänsten $1
log_modify_serv=Modifierade $2 tjänsten $1
log_delete_serv=Tog bort $2 tjänsten $1
log_start=Startade Xinetd-servern
log_apply=Tog ändringarna i drift
log_defaults=Ändrade standardinställningarna

 0707010001fbed000081a40000000000000002000000013d1fe2de00000ce7000000200000000000000000000000000000001800000003reloc/xinetd/lang/zh_CN   index_title=À©Õ¹µÄ Internet ·þÎñ
index_name=·þÎñÃû³Æ
index_type=ÀàÐÍ
index_port=¶Ë¿Ú/ºÅÂë
index_rpc=RPC
index_inet=Internet
index_proto=Ð­Òé
index_user=ÓÃ»§
index_server=·þÎñÆ÷³ÌÐò
index_redirect=ÖØ¶¨Ïòµ½$1
index_enabled=ÆôÓÃÂð£¿
index_internal=Xinetd Ö®ÄÚ²¿ 
index_add_inet=´´½¨Ò»¸öÐÂµÄ Internet ·þÎñ
index_add_rpc=´´½¨Ò»¸öÐÂµÄ RPC ·þÎñ
index_return=·þÎñÁÐ±í
index_defaults=±à¼­È±Ê¡Öµ
index_defaultsmsg=µã»÷´Ë°´Å¥±à¼­Ó¦ÓÃÓÚËùÓÐ Internet ºÍ RPC ·þÎñµÄÈ±Ê¡Ñ¡Ïî 
index_apply=Ó¦ÓÃ¸Ä±ä
index_applymsg=µã»÷´Ë°´Å¥·¢ËÍÒ»¸öSIGHUPÐÅºÅµ½ÕýÔÚÔËÐÐµÄ<tt>xinetd</tt>½ø³ÌÒÔÓ¦ÓÃµ±Ç°ÅäÖÃ
index_start=Æô¶¯ Xinetd
index_startmsg=µã»÷´Ë°´Å¥À´ÀûÓÃµ±Ç°ÅäÖÃÆô¶¯ Xinetd ·þÎñÆ÷
index_econf=Xinetd ÅäÖÃÎÄ¼þ $1 ²»´æÔÚ.¿ÉÄÜÃ»ÓÐ°²×°,»òÕßÄúµÄ<a href='$2'>Ä£¿éÅäÖÃ</a>²»ÕýÈ·¡£
serv_create=´´½¨ Internet ·þÎñÆ÷
serv_edit=±à¼­ Internet ·þÎñÆ÷
serv_header1=·þÎñÍøÂçÑ¡Ïî
serv_header2=·þÎñ³ÌÐòÑ¡Ïî
serv_header3=·þÎñ·ÃÎÊ¿ØÖÆ
serv_id=·þÎñÃû³Æ
serv_port=¶Ë¿ÚºÅ
serv_port_def=±ê×¼
serv_sock=Socket ÀàÐÍ
serv_proto=Ð­Òé
serv_enabled=ÆôÓÃ·þÎñÂð£¿
serv_bind=À¦°óµ½µØÖ·
serv_bind_def=ËùÓÐ
serv_user=×÷ÎªÓÃ»§ÔËÐÐ
serv_group=×÷Îª×éÔËÐÐ
serv_group_def=À´×ÔÓÃ»§
serv_prog=·þÎñ¿ØÖÆÓÚ
serv_internal=Xinetd Ö®ÄÚ²¿
serv_server=·þÎñÆ÷³ÌÐò
serv_redirect=ÖØ¶¨Ïòµ½Ö÷»ú
serv_rport=¶Ë¿Ú
serv_wait=µÈµ½Íê³É£¿
serv_inst=×î´ó²¢ÐÐ·þÎñÆ÷Êý
serv_inst_def=²»ÏÞ
serv_nice=·þÎñÆ÷µÄÓÅÁ¼³Ì¶È
serv_cps0=Ã¿ÃëÖÓµÄ×î´óÁª½ÓÊý
serv_cps_def=²»ÏÞ
serv_cps1=´ïµ½×î´óÊ±ÑÓ³Ù
serv_sec=Ãë
serv_from=ÔÊÐí·ÃÎÊÀ´×Ô
serv_from_def=ËùÓÐÖ÷»ú
serv_from_sel=Ö»ÓÐÁÐ³öµÄ¿Í»§..
serv_access=½ûÖ¹·ÃÎÊÀ´×Ô
serv_access_def=Ã»ÓÐÖ÷»ú
serv_access_sel=Ö»ÓÐÁÐ³öµÄ¿Í»§.. 
serv_times=ÔÊÐí·ÃÎÊÊ±¼ä
serv_times_def=ËæÊ±
serv_err=±£´æ·þÎñÊ§°Ü
serv_eid=¶ªÊ§»òÎÞÐ§µÄ·þÎñÃû
serv_ebind=¶ªÊ§»òÎÞÐ§µÄÀ¦°óµØÖ·
serv_eport=¶ªÊ§»òÎÞÐ§µÄ¶Ë¿ÚºÅ
serv_einst=¶ªÊ§»òÎÞÐ§µÄ²¢ÐÐ·þÎñÆ÷Êý
serv_euser=Äú±ØÐëÊäÈëÒ»¸öÓÃ»§
serv_egroup=Äú±ØÐëÊäÈëÒ»¸ö×é
serv_estd=·þÎñ $1 Ã»ÓÐ±ê×¼µÄ¶Ë¿ÚºÅ
serv_eproto=Äú±ØÐëÎª¸Ã·þÎñÑ¡ÔñÒ»¸öÐ­Òé
serv_eserver=¶ªÊ§»òÎÞÐ§µÄ·þÎñÆ÷³ÌÐò
serv_erhost=¶ªÊ§»òÎÞÐ§µÄÖØ¶¨ÏòÖ÷»ú
serv_erport=¶ªÊ§»òÎÞÐ§µÄÖØ¶¨Ïò¶Ë¿Ú
serv_enice=¶ªÊ§»òÎÞÐ§µÄÓÅÁ¼µÈ¼¶
serv_ecps0=¶ªÊ§»òÎÞÐ§µÄÃ¿ÃëÁª½ÓÊý
serv_ecps1=¶ªÊ§»òÎÞÐ§µÄÑÓ³Ù
serv_etimes=·ÃÎÊÊ±¼äµÄ¸ñÊ½±ØÐëÊÇ HH:MM-HH:MM 
sock_stream=Á÷
sock_dgram=Êý¾Ý±¨
sock_raw=Ô­Êý¾Ý±¨
sock_seqpacket=Á¬ÐøµÄÊý¾Ý±¨
proto_=È±Ê¡
proto_ip=IP (Internet Ð­Òé)
proto_tcp=TCP (´«Êä¿ØÖÆÐ­Òé)
proto_udp=UDP (ÓÃ»§Êý¾Ý±¨Ð­Òé)
restart_err=Ó¦ÓÃ¸Ä±äÖµÊ§°Ü
restart_ekill=Ïò PID $1 ·¢ËÍ HUP ÐÅºÅÊ§°Ü : $2 
start_err=Æô¶¯ xinetd Ê§°Ü
start_estart=$1 Ê§°Ü : $2
defs_title=È±Ê¡Ñ¡Ïî
defs_header=È±Ê¡·þÎñÑ¡Ïî
defs_log=Xinetd ÈÕÖ¾Ä£Ê½
defs_log_def=½ûÓÃÈÕÖ¾
defs_facility=ÔÚ syslog ÖÐ¼ÇÂ¼ÈÕÖ¾
defs_level=ÔÚµÈ¼¶
defs_file=¼ÇÂ¼µ½ÎÄ¼þ
defs_soft=ÈíÎÄ¼þÏÞÖÆ
defs_hard=Ó²ÎÄ¼þÏÞÖÆ
defs_success=Áª½Ó³É¹¦µÄÈÕÖ¾
defs_success_pid=·þÎñÆ÷½ø³Ì ID
defs_success_host=Ô¶³Ì¿Í»§
defs_success_userid=Ô¶³ÌÈÏÖ¤ÓÃ»§
defs_success_exit=·þÎñÆ÷ÍË³ö×´Ì¬
defs_success_duration=»á»°³ÖÐøÊ±¼ä
defs_failure=Áª½ÓÊ§°ÜµÄÈÕÖ¾
defs_failure_host=Ô¶³Ì¿Í»§
defs_failure_userid=Ô¶³ÌÈÏÖ¤ÓÃ»§
defs_failure_attempt=Áª½Ó³¢ÊÔ
defs_failure_record=Ô¶³ÌÐÅÏ¢
defs_err=±£´æÈ±Ê¡Ñ¡ÏîÊ§°Ü
defs_efile=¶ªÊ§»òÎÞÐ§µÄÈÕÖ¾ÎÄ¼þÃû
defs_esoft=¶ªÊ§»òÎÞÐ§µÄÈíÎÄ¼þÏÞÖÆ
defs_ehard=¶ªÊ§»òÎÞÐ§µÄÓ²ÎÄ¼þÏÞÖÆ
log_create_serv=´´½¨ÁË $2 ·þÎñ $1 
log_modify_serv=¸üÐÂÁË $2 ·þÎñ $1 
log_delete_serv=É¾³ýÁË $2 ·þÎñ $1 
log_start=Æô¶¯ÁË Xinetd ·þÎñÆ÷
log_apply=Ó¦ÓÃÁË¸Ä±äÖµ
log_defaults=¸Ä±äÁËÈ±Ê¡Ñ¡Ïî
 0707010001fbee000081a40000000000000002000000013d1fe2de00000d1f000000200000000000000000000000000000001d00000003reloc/xinetd/lang/zh_TW.Big5  index_title=©µ¦ùºô»Úºô¸ôªA°È
index_name=ªA°È¦WºÙ
index_type=Ãþ«¬
index_port=ºÝ¤f/¸¹½X
index_rpc=RPC
index_inet=ºô»Úºô¸ô
index_proto=¨ó©w
index_user=¨Ï¥ÎªÌ
index_server=¦øªA¾¹µ{¦¡
index_redirect=­«·s¾É¦V¨ì $1
index_enabled=±Ò¥Î?
index_internal=Xinetd¥»¨­
index_add_inet=·s¼W¤@­Óºô»Úºô¸ôªA°È
index_add_rpc=·s¼W¤@­ÓRPC ªA°È
index_return=ªA°È²M³æ
index_defaults=½s¿è¹w³]­È
index_defaultsmsg=«ö¤U«ö¶s¨Ó½s¿è¹w³]¿ï¶µ¨Ó®M¥Î¨ì©Ò¦³ºô»Úºô¸ôªA°È©MRPC¦øªA¾¹
index_apply=®M¥ÎÅÜ§ó
index_applymsg=«ö¤U«ö¶s¨Ó¶Ç°e¤@­ÓSIGHUP°T¸¹¨ì¥¿¦b°õ¦æ<tt>xinetd</tt>µ{¦¡¥H®M¥Î¥Ø«e²ÕºA
index_start=±Ò°ÊXinetd
index_startmsg=«ö¤U«ö¶s¨Ó±Ò°Ê¥Ø«e²ÕºAªºXinetd¦øªA¾¹
index_econf=Xinetd²ÕºAÀÉ®×$1¤£¦s¦b¡A¤]³\ÁÙ¨S¦³¦w¸Ë©Î±zªº<a href='$2'>¼Ò²Õ²ÕºA</a>¤£¥¿½T¡C

serv_create=·s¼Wºô»Úºô¸ôªA°È
serv_edit=½s¿èºô»Úºô¸ôªA°È
serv_header1=¦øªA¾¹ºô¸ô¿ï¶µ
serv_header2=¦øªA¾¹µ{¦¡¿ï¶µ
serv_header3=¦øªA¾¹¶i¤J±±¨î
serv_id=ªA°È¦WºÙ
serv_port=°ð¸¹
serv_port_def=¼Ð·Ç
serv_sock=SocketÃþ«¬
serv_proto=¨ó©w
serv_enabled=±Ò¥Î¦øªA¾¹?
serv_bind=¦ì¸m­­¨î
serv_bind_def=¥þ³¡
serv_user=°õ¦æªº¨Ï¥ÎªÌ
serv_group=°õ¦æªº¸s²Õ
serv_group_def=±q¨Ï¥ÎªÌ
serv_prog=¦øªA¾¹ªº±±¨î¥Ñ
serv_internal=Xinetd¥»¨­
serv_server=¦øªA¾¹µ{¦¡
serv_redirect=­«·s¾É¦V¨ì¥D¾÷
serv_rport=°ð¸¹
serv_wait=µ¥¨ì§¹¦¨?
serv_inst=³Ì¤j°õ¦æªº¦øªA¾¹¼Æ¥Ø
serv_inst_def=¤£­­¨î
serv_nice=¦øªA¾¹ªº³Ì¨Î¼h¯Å(Nice)
serv_cps0=¨C¬í³Ì¤j³s±µ¼Æ
serv_cps_def=¤£­­¨î
serv_cps1=³Ì¤j³s±µ©µ¿ð®É¶¡
serv_sec=¬í
serv_from=¤¹³\¶i¤J±q
serv_from_def=©Ò¦³¥D¾÷
serv_from_sel=¥u¦³²M³æ¤¤¥D¾÷..
serv_access=©Úµ´¶i¤J±q
serv_access_def=µL¥D¾÷
serv_access_sel=¥u¦³²M³æ¤¤¥D¾÷..
serv_times=¤¹³\¶i¤J®É¶¡
serv_times_def=¥ô¦ó®É¶¡
serv_err=Àx¦sªA°È¥¢±Ñ¡I
serv_eid=¨S¦³¿é¤J©Î¿ù»~ªº¦øªA¾¹¦WºÙ
serv_ebind=¨S¦³¿é¤J©Î¿ù»~ªº¦ì¸m­­¨î
serv_eport=¨S¦³¿é¤J©Î¿ù»~ªº°ð¸¹
serv_einst=¨S¦³¿é¤J©Î¿ù»~ªº¦øªA¾¹¼Æ¥Ø
serv_euser=±z¥²¶·¿é¤J¨Ï¥ÎªÌ
serv_egroup=±z¥²¶·¿é¤J¸s²Õ
serv_estd=¦øªA¾¹$1¨S¦³¼Ð·Çªº°ð¸¹
serv_eproto=±z¥²¶·¿ï¨ú¤@­Ó¨ó©w¹ï³oªA°È
serv_eserver=¨S¦³¿é¤J©Î¿ù»~ªº¦øªA¾¹µ{¦¡
serv_erhost=¨S¦³¿é¤J©Î¿ù»~ªº¾É¦V¥D¾÷
serv_erport=¨S¦³¿é¤J©Î¿ù»~ªº¾É¦V°ð¸¹
serv_enice=¨S¦³¿é¤J©Î¿ù»~ªº³Ì¨Î¼h¯Å
serv_ecps0=¨S¦³¿é¤J©Î¿ù»~ªº¨C¬í³Ì¤j³s±µ¼Æ
serv_ecps1=¨S¦³¿é¤J©Î¿ù»~ªº©Úµ´
serv_etimes=¶i¤J®É¶¡®æ¦¡¥²¶·¬O HH:MM-HH:MM

sock_stream=¬y(Stream)
sock_dgram=¸ê®Æ³ø(Datagram)
sock_raw=­ì¸ê®Æ³ø(Raw)
sock_seqpacket=³sÄòªº¸ê®Æ³ø(Sequential datagram)

proto_=¹w³]
proto_ip=IP(ºô»Úºô¸ô¨ó©w)
proto_tcp=TCP (¶Ç¿é±±¨î¨ó©w¨ó©w)
proto_udp=UDP (¥Î¤á¸ê®Æ°T®§¨ó©w)

restart_err=®M¥ÎÅÜ§ó¥¢±Ñ
restart_ekill=¶Ç°eHUP«H¸¹¨ì PID $1¥¢±Ñ : $2

start_err=±Ò°Êxinetd¥¢±Ñ
start_estart=$1 ¥¢±Ñ : $2

defs_title=¹w³]¿ï¶µ
defs_header=ªA°È¹w³]¿ï¶µ
defs_log=Xinetd¤é»x¼Ò¦¡
defs_log_def=°±¥Î¤é»x
defs_facility=¦bsyslog¤¤¬ö¿ý¤é»x
defs_level=¦bµ¥¯Å
defs_file=¬ö¿ý¨ìÀÉ®×
defs_soft=³n©ÊÀÉ®×­­¨î
defs_hard=µw©ÊÀÉ®×­­¨î
defs_success=¬ö¿ý³s±µ¦¨¥\
defs_success_pid=¦øªA¾¹µ{§Ç ID
defs_success_host=»·ºÝ¥D¾÷
defs_success_userid=»·ºÝÅçÃÒ¨Ï¥ÎªÌ
defs_success_exit=¦øªA¾¹°h¥Xª¬ºA
defs_success_duration=Session«ùÄò®É¶¡
defs_failure=¬ö¿ý³s½u¥¢±Ñ
defs_failure_host=»·ºÝ¥D¾÷
defs_failure_userid=»·ºÝÅçÃÒ¨Ï¥ÎªÌ
defs_failure_attempt=¹Á¸Õ³s½u
defs_failure_record=»·ºÝ¸ê°T
defs_err=Àx¦s¹w³]¿ï¶µ¥¢±Ñ
defs_efile=¨S¦³¿é¤J©Î¿ù»~ªº¤é»xÀÉ®×¦WºÙ
defs_esoft=¨S¦³¿é¤J©Î¿ù»~ªº³n©Ê­­¨î
defs_ehard=¨S¦³¿é¤J©Î¿ù»~ªºµw©Ê­­¨î

log_create_serv=·s¼W $2 ¦øªA¾¹$1
log_modify_serv=­×§ï $2 ¦øªA¾¹$1
log_delete_serv=§R°£ $2 ¦øªA¾¹$1
log_start=±Ò°Ê Xinetd ¦øªA¾¹
log_apply=®M¥ÎÅÜ§ó
log_defaults=ÅÜ§ó¹w³]¿ï¶µ

 07070100015e08000081a40000000000000002000000013d1fe2de00000290000000200000000000000000000000000000001b00000003reloc/xinetd/log_parser.pl    # log_parser.pl
# Functions for parsing this module's logs

do 'xinetd-lib.pl';

# parse_webmin_log(user, script, action, type, object, &params)
# Converts logged information from this module into human-readable form
sub parse_webmin_log
{
local ($user, $script, $action, $type, $object, $p, $long) = @_;
if ($type eq 'serv') {
	return &text("log_${action}_serv",
		     "<tt>".&html_escape($object)."</tt>",
		     uc($p->{'protocol'}));
	}
elsif ($action eq 'start') {
	return $text{'log_start'};
	}
elsif ($action eq 'apply') {
	return $text{'log_apply'};
	}
elsif ($action eq 'defaults') {
	return $text{'log_defaults'};
	}
else {
	return undef;
	}
}

07070100015e09000081a40000000000000002000000013d1fe2ea000001e2000000200000000000000000000000000000001900000003reloc/xinetd/module.info  category=servers
risk=low medium high
desc_ko_KR.euc=È®Àå ÀÎÅÍ³Ý ¼­ºñ½º
desc_zh_TW.Big5=Xinetd©µ¦ùºô¸ô¦øªA¾¹ 
os_support={-r "/etc/xinetd.conf" || -x "/usr/sbin/xinetd" || -x "/sbin/xinetd"}
desc=Extended Internet Services
desc_pl=Rozszerzone us³ugi internetowe
desc_sv=Utökade Internettjänster
desc_es=Servicios Extendidos de Internet
name=Xinetd
desc_ja_JP.euc=³ÈÄ¥¥¤¥ó¥¿¡¼¥Í¥Ã¥È ¥µ¡¼¥Ó¥¹
depends=0.990
version=0.990
desc_zh_CN=Xinetd ·þÎñÅäÖÃ
desc_ca=Serveis d'Internet Ampliats
  07070100015e0a000081e40000000000000002000000013d1fe2de0000010a000000200000000000000000000000000000001900000003reloc/xinetd/restart.cgi  #!/usr/local/bin/perl
# restart.cgi
# Restart the running xinetd

require './xinetd-lib.pl';
&ReadParse();
&error_setup($text{'restart_err'});
&kill_logged('USR2', $in{'pid'}) ||
	&error(&text('restart_ekill', $in{'pid'}, $!));
&webmin_log("apply");
&redirect("");

  07070100015e0b000081e40000000000000002000000013d1fe2de000005f9000000200000000000000000000000000000001f00000003reloc/xinetd/save_defaults.cgi    #!/usr/local/bin/perl
# save_defaults.cgi
# Save default options

require './xinetd-lib.pl';
&ReadParse();
&error_setup($text{'defs_err'});
&lock_file($config{'xinetd_conf'});
@conf = &get_xinetd_config();
foreach $c (@conf) {
	if ($c->{'name'} eq 'defaults') {
		$defs = $c;
		$found++;
		}
	}
if (!$found) {
	$defs = { 'name' => 'defaults',
		  'members' => [ ] };
	}

# Parse and save inputs
&set_member_value($defs, 'only_from', $in{'from_def'} ? undef :
		  $in{'from'} ? split(/\s+/, $in{'from'}) : ("") );
&set_member_value($defs, 'no_access', $in{'access_def'} ? undef :
		  $in{'access'} ? split(/\s+/, $in{'access'}) : ("") );
if ($in{'log_mode'} == 0) {
	&set_member_value($defs, 'log_type');
	}
elsif ($in{'log_mode'} == 1) {
	&set_member_value($defs, 'log_type', 'SYSLOG', $in{'facility'},
			  $in{'level'} ? ( $in{'level'} ) : ( ) );
	}
elsif ($in{'log_mode'} == 2) {
	$in{'file'} =~ /^\S+$/ || &error($text{'defs_efile'});
	$in{'soft'} =~ /^\d*$/ || &error($text{'defs_esoft'});
	$in{'hard'} =~ /^\d*$/ || &error($text{'defs_ehard'});
	&set_member_value($defs, 'log_type', 'FILE', $in{'file'},
			  $in{'soft'} ? ( $in{'soft'} ) : ( ),
			  $in{'hard'} ? ( $in{'hard'} ) : ( ) );
	}
&set_member_value($defs, 'log_on_success', split(/\0/, $in{'success'}));
&set_member_value($defs, 'log_on_failure', split(/\0/, $in{'failure'}));
if ($found) {
	&modify_xinet($defs);
	}
else {
	&create_xinet($defs);
	}
&unlock_file($config{'xinetd_conf'});
&webmin_log("defaults", undef, undef, $defs->{'quick'});
&redirect("");

   07070100015e0c000081e40000000000000002000000013d1fe2de0000114b000000200000000000000000000000000000001b00000003reloc/xinetd/save_serv.cgi    #!/usr/local/bin/perl
# save_serv.cgi
# Create, modify or delete an internet service

require './xinetd-lib.pl';
&ReadParse();
@conf = &get_xinetd_config();
if ($in{'new'}) {
	$xinet = { 'name' => 'service',
		   'members' => [ ] };
	}
else {
	$xinet = $conf[$in{'idx'}];
	}

&lock_file($config{'xinetd_conf'});
if ($in{'delete'}) {
	# Delete a service
	&delete_xinet($xinet);
	}
else {
	# Validate inputs
	&error_setup($text{'serv_err'});
	$in{'id'} =~ /^\S+$/ || &error($text{'serv_eid'});
	$in{'bind_def'} || &check_ipaddress($in{'bind'}) ||
		&error($text{'serv_ebind'});
	foreach $p (&list_protocols()) {
		@ps = getservbyname($in{'id'}, $p);
		last if (@ps);
		}
	if ($in{'port_def'}) {
		# make sure the service actually exists
		if ($in{'proto'}) {
			@s = getservbyname($in{'id'}, $in{'proto'});
			}
		else {
			@s = @ps;
			}
		@s || &error(&text('serv_estd', $in{'name'}));
		}
	else {
		$in{'port'} =~ /^\d+$/ || &error($text{'serv_eport'});
		$in{'proto'} || @ps || &error($text{'serv_eproto'});
		}
	$in{'inst_def'} || $in{'inst'} =~ /^\d+$/ ||
		&error($text{'serv_einst'});
	$in{'user'} || $in{'prog'} == 0 || &error($text{'serv_euser'});
	$in{'group_def'} || $in{'group'} || &error($text{'serv_egroup'});
	$in{'nice_def'} || $in{'nice'} =~ /^\d+$/ ||
		&error($text{'serv_enice'});
	if (!$in{'cps_def'}) {
		$in{'cps0'} =~ /^\d+$/ || &error($text{'serv_ecps0'});
		$in{'cps1'} =~ /^\d+$/ || &error($text{'serv_ecps1'});
		}
	if (!$in{'times_def'}) {
		@times = split(/\s+/, $in{'times'});
		map { &error($text{'serv_etimes'}) if (!/^\d+:\d+\-\d+:\d+$/) }
		    @times;
		}

	# Create service structure
	$xinet->{'values'} = [ $in{'id'} ];
	&set_member_value($xinet, 'disable', $in{'disable'} ? 'yes' : undef);
	&set_member_value($xinet, 'port',
			  $in{'port_def'} ? undef : $in{'port'});
	&set_member_value($xinet, 'bind',
			  $in{'bind_def'} ? undef : $in{'bind'});
	&set_member_value($xinet, 'socket_type', $in{'sock'});
	&set_member_value($xinet, 'protocol', $in{'proto'} ? $in{'proto'}
							   : undef);

	&set_member_value($xinet, 'user', $in{'user'}) if ($in{'user'});
	&set_member_value($xinet, 'group',
			  $in{'group_def'} ? undef : $in{'group'});
	@type = @{$q->{'type'}};
	@flags = @{$q->{'flags'}};
	if ($in{'prog'} == 0) {
		@type = &unique(@type, 'INTERNAL');
		&set_member_value($xinet, 'server');
		&set_member_value($xinet, 'server_args');
		&set_member_value($xinet, 'redirect');
		}
	elsif ($in{'prog'} == 1) {
		@type = grep { $_ ne 'INTERNAL' } @type;
		@s = split(/\s+/, $in{'server'});
		@s && -x $s[0] || &error($text{'serv_eserver'});
		&set_member_value($xinet, 'server', shift(@s));
		&set_member_value($xinet, 'server_args', @s);
		&set_member_value($xinet, 'redirect');
		}
	else {
		gethostbyname($in{'rhost'}) || &error($text{'serv_erhost'});
		$in{'rport'} =~ /^\d+$/ || &error($text{'serv_erport'});
		@type = grep { $_ ne 'INTERNAL' } @type;
		&set_member_value($xinet, 'server');
		&set_member_value($xinet, 'server_args');
		&set_member_value($xinet, 'redirect',
				  $in{'rhost'}, $in{'rport'});
		}
	if ($in{'port_def'} || (!$in{'port_def'} && !$in{'proto'} && @ps)) {
		@type = grep { $_ ne 'UNLISTED' } @type;
		}
	else {
		@type = &unique(@type, 'UNLISTED');
		}
	&set_member_value($xinet, 'type', @type);
	&set_member_value($xinet, 'wait', $in{'wait'} ? 'yes' : 'no');
	&set_member_value($xinet, 'instances',
			  $in{'inst_def'} ? undef : $in{'inst'});
	&set_member_value($xinet, 'nice',
			  $in{'nice_def'} ? undef : $in{'nice'});
	&set_member_value($xinet, 'cps',
			  $in{'cps_def'} ? ( ) : ( $in{'cps0'},$in{'cps1'} ) );
	&set_member_value($xinet, 'only_from', $in{'from_def'} ? undef :
			  $in{'from'} ? split(/\s+/, $in{'from'}) : ("") );
	&set_member_value($xinet, 'no_access', $in{'access_def'} ? undef :
			  $in{'access'} ? split(/\s+/, $in{'access'}) : ("") );
	&set_member_value($xinet, 'access_times', $in{'times_def'} ? undef
								   : @times);

	if ($in{'new'}) {
		foreach $xi (@conf) {
			if ($xi->{'name'} eq 'service' &&
			    $xi->{'value'} eq $in{'id'}) {
				# A service with the same name exists!
				&set_member_value(
					$xinet, 'id', "$in{'id'}-$in{'sock'}");
				}
			}
		&create_xinet($xinet);
		}
	else {
		&modify_xinet($xinet);
		}
	}
&unlock_file($config{'xinetd_conf'});
&webmin_log($in{'delete'} ? 'delete' : $in{'new'} ? 'create' : 'modify',
	    'serv', $xinet->{'values'}->[0], $xinet->{'quick'});
&redirect("");

 07070100015e0d000081e40000000000000002000000013d1fe2de00000128000000200000000000000000000000000000001700000003reloc/xinetd/start.cgi    #!/usr/local/bin/perl
# start.cgi
# Start the xinetd server

require './xinetd-lib.pl';
&ReadParse();
&error_setup($text{'start_err'});
$out = &backquote_logged("$config{'start_cmd'} 2>&1");
&error(&text('start_estart', $config{'start_cmd'}, $out)) if ($?);
&webmin_log("start");
&redirect("");

07070100015e0e000081a40000000000000002000000013d1fe2de00000ea3000000200000000000000000000000000000001b00000003reloc/xinetd/xinetd-lib.pl    # xinetd-lib.pl
# Functions for parsing xinetd config files

do '../web-lib.pl';
&init_config();

# get_xinetd_config()
sub get_xinetd_config
{
return &parse_xinetd($config{'xinetd_conf'});
}

# parse_xinetd(file, [offset])
# Parses the xinetd config file into directives
sub parse_xinetd
{
local @rv;
open(INET, $_[0]);
local @lines = <INET>;
close(INET);
local $lnum = 0;
local $section;
foreach (@lines) {
	s/\r|\n//g; s/#.*$//g; s/\s+$//;  # remove newlines, comments and spaces
	if (/^\s*\{/) {
		# put subsequent directives into a section
		$section = $rv[$#rv];
		$section->{'members'} = [ ];
		}
	elsif (/^\s*\}/) {
		# finished the section
		$section->{'eline'} = $lnum;
		$section = undef;
		}
	elsif (/^\s*include\s+(\S+)/) {
		# include directives from a file
		push(@rv, &parse_xinetd($1, scalar(@rv)));
		}
	elsif (/^\s*includedir\s+(\S+)/) {
		# include directives from every file in a directory
		local $d = $1;
		opendir(DIR, $d);
		foreach $f (readdir(DIR)) {
			next if ($f =~ /^\./);
			push(@rv, &parse_xinetd("$d/$f", scalar(@rv)));
			}
		closedir(DIR);
		}
	elsif (/^\s*(\S+)\s*(.*)/) {
		# a directive or start of a section
		local $dir = { 'name' => $1, 'file' => $_[0],
			       'index' => scalar(@rv) + $_[1],
			       'line' => $lnum, 'eline' => $lnum };
		local $v = $2;
		if ($v =~ /^(=|\+=|-=)\s+(.*)/) {
			$dir->{'op'} = $1;
			$dir->{'value'} = $2;
			}
		else {
			$dir->{'op'} = '=' if ($service);
			$dir->{'value'} = $v;
			}
		local @v = split(/\s+/, $dir->{'value'});
		$dir->{'values'} = \@v;
		if ($section) {
			push(@{$section->{'members'}}, $dir);
			local @q = @{$section->{'quick'}->{$dir->{'name'}}};
			if ($dir->{'op'} eq '=') {
				@q = @v;
				}
			elsif ($dir->{'op'} eq '+=') {
				@q = ( @q, @v );
				}
			elsif ($dir->{'op'} eq '-=') {
				@q = grep { &indexof($_, @v) < 0 } @q;
				}
			$section->{'quick'}->{$dir->{'name'}} = \@q;
			}
		else { push(@rv, $dir); }
		}
	$lnum++;
	}
return @rv;
}

# set_member_value(&xinet, name, [value]*)
# Removes all members with the given name and replaces them with one
# like  name = value
sub set_member_value
{
local @m = @{$_[0]->{'members'}};
@m = grep { $_->{'name'} ne $_[1] } @m;
if (defined($_[2])) {
	push(@m, { 'name' => $_[1],
		   'op' => '=',
		   'values' => [ @_[2..@_-1] ] } );
	$_[0]->{'quick'}->{$_[1]} = [ @_[2..@_-1] ];
	}
else {
	delete($_[0]->{'quick'}->{$_[1]});
	}
$_[0]->{'members'} = \@m;
}

# create_xinet(&xinet)
# Add a new xinet record to the end of the config file
sub create_xinet
{
local $lref = &read_file_lines($config{'xinetd_conf'});
push(@$lref, &xinet_lines($_[0]));
&flush_file_lines();
}

# modify_xinet(&xinet)
# Update an existing xinet record
sub modify_xinet
{
local $lref = &read_file_lines($_[0]->{'file'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1,
       &xinet_lines($_[0]));
&flush_file_lines();
}

# delete_xinet(&xinet)
# Delete an existing xinet record
sub delete_xinet
{
local $lref = &read_file_lines($_[0]->{'file'});
splice(@$lref, $_[0]->{'line'}, $_[0]->{'eline'} - $_[0]->{'line'} + 1);
&flush_file_lines();
}

# xinet_lines(&xinet, tabs)
sub xinet_lines
{
local @rv;
$rv[0] = "$_[1]$_[0]->{'name'}";
$rv[0] .= " $_[0]->{'op'}" if ($_[0]->{'op'});
foreach $v (@{$_[0]->{'values'}}) {
	$rv[0] .= " $v";
	}
if ($_[0]->{'members'}) {
	push(@rv, $_[1].'{');
	foreach $m (@{$_[0]->{'members'}}) {
		push(@rv, &xinet_lines($m, "$_[1]\t"));
		}
	push(@rv, $_[1].'}');
	}
return @rv;
}

# list_protocols()
# Returns a list of supported protocols on this system
sub list_protocols
{
local(@rv);
open(PROT, $config{'protocols_file'});
while(<PROT>) {
	chop; s/#.*$//g;
	if (!/\S/) { next; }
	/^(\S+)\s+/;
	push(@rv, $1);
	}
close(PROT);
return &unique(@rv);
}

1;

 0707010003e0ff000041ed0000000000000001000000033d1ff9bb00000000000000200000000000000000000000000000000500000003root  0707010003e100000041ed0000000000000001000000033d1ff9bb00000000000000200000000000000000000000000000000900000003root/etc  0707010003e101000041ed0000000000000001000000023d1ff9bb00000000000000200000000000000000000000000000000f00000003root/etc/rc3.d    0707010003e102000081ed0000000000000002000000013d1fe2b7000003b0000000200000000000000000000000000000001900000003root/etc/rc3.d/S99webmin  #!/bin/sh
# chkconfig: 235 99 00
# description: Start or stop the Webmin server

start=/etc/webmin/start
stop=/etc/webmin/stop
lockfile=/var/lock/subsys/webmin
confFile=/etc/webmin/miniserv.conf
pidFile=/var/webmin/miniserv.pid
name='Webmin'

case "$1" in
'start')
	$start
	RETVAL=$?
	if [ "$RETVAL" = "0" ]; then
		touch $lockfile >/dev/null 2>&1
	fi
	;;
'stop')
	$stop
	RETVAL=$?
	if [ "$RETVAL" = "0" ]; then
		rm -f $lockfile
	fi
	;;
'status')
	pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
	if [ "$pidfile" = "" ]; then
		pidfile=$pidFile
	fi
	if [ -s $pidfile ]; then
		pid=`cat $pidfile`
		kill -0 $pid >/dev/null 2>&1
		if [ "$?" = "0" ]; then
			echo "$name (pid $pid) is running"
			RETVAL=0
		else
			echo "$name is stopped"
			RETVAL=1
		fi
	else
		echo "$name is stopped"
		RETVAL=1
	fi
	;;
'restart')
	$stop && $start
	RETVAL=$?
	;;
*)
	echo "Usage: $0 { start | stop | restart }"
	RETVAL=1
	;;
esac
exit $RETVAL

07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!                                                                                                                                                                                                                                                                                                                            